From xen-devel-bounces@lists.xenproject.org Sun Aug 01 00:12:36 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 01 Aug 2021 00:12:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.162812.298446 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1m9z5V-00023W-BX; Sun, 01 Aug 2021 00:12:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 162812.298446; Sun, 01 Aug 2021 00: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 1m9z5V-00023P-7v; Sun, 01 Aug 2021 00:12:17 +0000
Received: by outflank-mailman (input) for mailman id 162812;
 Sun, 01 Aug 2021 00: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 1m9z5T-00023F-9k; Sun, 01 Aug 2021 00: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 1m9z5T-00027A-36; Sun, 01 Aug 2021 00:12: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 1m9z5S-0001It-QX; Sun, 01 Aug 2021 00:12:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1m9z5S-0004Wr-Q1; Sun, 01 Aug 2021 00: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=vOdZs2yWlcWso5pic36+o1R5OJWWlsbCofxewSUejL4=; b=DH9ZCo4Y3bOv2cC7pwwLI/LnNG
	3/TEGhcx+rUobW4p8IcdL3K3i4oO8Sv8OubAtzYxSMpKOYI6EECzHrZsU8js+vXLKGh8Hv4pdCcQ9
	qCTfsMTRUO6w47tvoZqLlK3M6LBj49Wgi+a2GIBliyzcpYUvTb2C35Sr2ODzSihd8hb8=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164065-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164065: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-pygrub:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-qemuu-freebsd12-amd64:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-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-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=c7d102232649226a69dddd58a4942cf13cff4f7c
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 01 Aug 2021 00:12:14 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      14 guest-start              fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop              fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 20 guest-stop               fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 13 debian-fixup             fail REGR. vs. 152332

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl-xsm      13 debian-fixup     fail in 164060 pass in 164065
 test-amd64-amd64-xl-credit1 22 guest-start/debian.repeat fail in 164060 pass in 164065
 test-amd64-amd64-pygrub 19 guest-localmigrate/x10 fail in 164060 pass in 164065
 test-amd64-amd64-qemuu-freebsd12-amd64 19 guest-localmigrate/x10 fail pass in 164060
 test-armhf-armhf-xl-credit2   8 xen-boot                   fail pass in 164060
 test-armhf-armhf-xl-vhd      17 guest-start/debian.repeat  fail pass in 164060

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

version targeted for testing:
 linux                c7d102232649226a69dddd58a4942cf13cff4f7c
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  365 days
Failing since        152366  2020-08-01 20:49:34 Z  364 days  629 attempts
Testing same since   164060  2021-07-31 03:40:37 Z    0 days    2 attempts

------------------------------------------------------------
6750 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              fail    
 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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-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 1993839 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 01 06:32:13 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 01 Aug 2021 06:32:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.162822.298461 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mA50w-0007JF-Kg; Sun, 01 Aug 2021 06:31:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 162822.298461; Sun, 01 Aug 2021 06: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 1mA50w-0007In-D0; Sun, 01 Aug 2021 06:31:58 +0000
Received: by outflank-mailman (input) for mailman id 162822;
 Sun, 01 Aug 2021 06:31: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 1mA50u-0007Id-WD; Sun, 01 Aug 2021 06:31: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 1mA50u-0002XV-PF; Sun, 01 Aug 2021 06:31: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 1mA50u-0007We-DF; Sun, 01 Aug 2021 06:31:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mA50u-00056U-Ah; Sun, 01 Aug 2021 06:31:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=SL5mh8ktvbWhQZoit2XIdBsfGyHrlnGa0079mBoRbqc=; b=fnuSAmbgXSBiw5atOcJlPIiJPY
	R8tTKji3vCcmwjdsw6N97Ie/PQ8XXuqCV7mTnM5+pFq8PNk5/cDGNCqcNmZ5d/JmqIcW8NLgku/9o
	NYy2kSBfdTeF1NTSbL3z3iu9p4Gc01y9YmlRj6lnztnqVwXhgS6fVm2R7Mtit39XQep0=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164068-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164068: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=f3438b4c4e692b49b7dc2bab864d20381024be16
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 01 Aug 2021 06:31:56 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop              fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 20 guest-stop               fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 13 debian-fixup             fail REGR. vs. 152332

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

version targeted for testing:
 linux                f3438b4c4e692b49b7dc2bab864d20381024be16
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  365 days
Failing since        152366  2020-08-01 20:49:34 Z  364 days  630 attempts
Testing same since   164068  2021-08-01 00:40:45 Z    0 days    1 attempts

------------------------------------------------------------
6750 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Aug 01 08:02:42 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 01 Aug 2021 08:02:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.162837.298476 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mA6QW-0007Y2-L0; Sun, 01 Aug 2021 08:02:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 162837.298476; Sun, 01 Aug 2021 08:02: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 1mA6QW-0007Xv-Hb; Sun, 01 Aug 2021 08:02:28 +0000
Received: by outflank-mailman (input) for mailman id 162837;
 Sun, 01 Aug 2021 08:02:27 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mA6QV-0007Xj-9k; Sun, 01 Aug 2021 08:02:27 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mA6QV-0004QV-4y; Sun, 01 Aug 2021 08:02:27 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mA6QU-0003rw-Ra; Sun, 01 Aug 2021 08:02:26 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mA6QU-0001pp-Qz; Sun, 01 Aug 2021 08:02:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=OCnoQjc07eIiDlTI07Dz6jlWebb/Jxii/gYZ15ckiuo=; b=AvxRUVThE5iKKtlwSPyXfeWNch
	YK1RNfuwsSK6qckCELT5aYnmg1LuX0kupkIU4V1hA0Vpf163hkqUjVjpIChNVGmHxOXkjCrJmOTZt
	6VdjxG1XBFK31Q5vCiDVB7qUah3g5E92fIwTrWCXN5tSJp67M9FjmI45B4nGUqTmDpTw=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164070-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 164070: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=702d6d04cec5402c4b3a816f5a318c04085db73e
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 01 Aug 2021 08:02:26 +0000

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

Regressions :-(

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

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

version targeted for testing:
 libvirt              702d6d04cec5402c4b3a816f5a318c04085db73e
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  387 days
Failing since        151818  2020-07-11 04:18:52 Z  386 days  378 attempts
Testing same since   164063  2021-07-31 04:19:02 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  Cédric Bosdonnat <cbosdonnat@suse.com>
  Côme Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano Fidêncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Ian Wienand <iwienand@redhat.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  John Ferlan <jferlan@redhat.com>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  Ján Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Michał Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  Moshe Levi <moshele@nvidia.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr Drąg <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tomáš Golembiovský <tgolembi@redhat.com>
  Tomáš Janoušek <tomi@nomi.cz>
  Tuguoyi <tu.guoyi@h3c.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  William Douglas <william.douglas@intel.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.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                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Aug 01 10:26:15 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 01 Aug 2021 10:26:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.162847.298491 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mA8fM-00030V-5V; Sun, 01 Aug 2021 10:25:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 162847.298491; Sun, 01 Aug 2021 10: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 1mA8fM-00030O-2O; Sun, 01 Aug 2021 10:25:56 +0000
Received: by outflank-mailman (input) for mailman id 162847;
 Sun, 01 Aug 2021 10:25:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mA8fK-00030E-PX; Sun, 01 Aug 2021 10:25:54 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mA8fK-0006WB-Ic; Sun, 01 Aug 2021 10:25: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 1mA8fK-0003mQ-7q; Sun, 01 Aug 2021 10:25:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mA8fK-0004Kw-75; Sun, 01 Aug 2021 10:25: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=sXvb+uZ03KOz227cJ9DmoOFV1PMNdYxXw2UnCrgb1/s=; b=PeUKERqft5w1kw5+MDS4VmGIms
	4shScZhtJK/7cuVc49zOHWcjiO9eYU6IiFA7ebt7QZJFqQL2zPPIwqYbZeaTUSwWFsiPPUVC8iBkO
	AbqhwNQMuZQ+SAhA82kEEpDSL5Hrc3XThrsE5RFW7czDDptuRvWLsnq+yBHZmkHhyMS0=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164072-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-coverity test] 164072: all pass - PUSHED
X-Osstest-Versions-This:
    xen=e066ca5acc2ee3b5db5c005e1a548b05e753e07d
X-Osstest-Versions-That:
    xen=58ad654ebce7ccb272a3f4f3482c03aaad850d31
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 01 Aug 2021 10:25:54 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 xen                  e066ca5acc2ee3b5db5c005e1a548b05e753e07d
baseline version:
 xen                  58ad654ebce7ccb272a3f4f3482c03aaad850d31

Last test of basis   164021  2021-07-28 09:20:54 Z    4 days
Testing same since   164072  2021-08-01 09:19:40 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jane Malalane <jane.malalane@citrix.com>
  Julien Grall <jgrall@amazon.com>

jobs:
 coverity-amd64                                               pass    


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

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

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

Test harness 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
   58ad654ebc..e066ca5acc  e066ca5acc2ee3b5db5c005e1a548b05e753e07d -> coverity-tested/smoke


From xen-devel-bounces@lists.xenproject.org Sun Aug 01 12:09:19 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 01 Aug 2021 12:09:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.162856.298506 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAAHB-0003jH-Td; Sun, 01 Aug 2021 12:09:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 162856.298506; Sun, 01 Aug 2021 12:09: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 1mAAHB-0003jA-PG; Sun, 01 Aug 2021 12:09:05 +0000
Received: by outflank-mailman (input) for mailman id 162856;
 Sun, 01 Aug 2021 12:09:04 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mAAHA-0003j0-E3; Sun, 01 Aug 2021 12:09:04 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mAAHA-0007xm-6I; Sun, 01 Aug 2021 12:09:04 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mAAH9-00088P-Q7; Sun, 01 Aug 2021 12:09:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mAAH9-0000Fd-PZ; Sun, 01 Aug 2021 12:09:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=7hQm9PGdbAZashyouPLhGxXaBN5KFhWj7VDsbocTCwk=; b=IOZwWPoKtkSVWPcAnR1HIBlPhW
	JcN+dm2gNBByq0AIR8OfjUuFmQzDU0Go6Mnk+rOg2n9TTmeHYVaNy5w32rS9ioRhQIxlCAReXCMow
	8pzuadkCCcNZSqw5S9hzNLyvOFWJFwueq5sLriY/prYTmk7HWBuknIOtY+lJhWFzlQL0=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164069-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 164069: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-examine:memdisk-try-append:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-amd64:guest-start/debianhvm.repeat:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-rtds:guest-localmigrate:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt: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-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=e066ca5acc2ee3b5db5c005e1a548b05e753e07d
X-Osstest-Versions-That:
    xen=e066ca5acc2ee3b5db5c005e1a548b05e753e07d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 01 Aug 2021 12:09:03 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-examine    4 memdisk-try-append fail in 164061 pass in 164069
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 20 guest-start/debianhvm.repeat fail in 164061 pass in 164069
 test-amd64-amd64-xl-rtds     18 guest-localmigrate         fail pass in 164061

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

version targeted for testing:
 xen                  e066ca5acc2ee3b5db5c005e1a548b05e753e07d
baseline version:
 xen                  e066ca5acc2ee3b5db5c005e1a548b05e753e07d

Last test of basis   164069  2021-08-01 01:53:34 Z    0 days
Testing same since                          (not found)         0 attempts

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


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

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

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

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


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Sun Aug 01 14:44:43 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 01 Aug 2021 14:44:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.162865.298521 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAChc-0000b9-5A; Sun, 01 Aug 2021 14:44:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 162865.298521; Sun, 01 Aug 2021 14:44:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAChc-0000b2-0G; Sun, 01 Aug 2021 14:44:32 +0000
Received: by outflank-mailman (input) for mailman id 162865;
 Sun, 01 Aug 2021 14:44:30 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mAChZ-0000as-Vc; Sun, 01 Aug 2021 14:44: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 1mAChZ-0001hE-NY; Sun, 01 Aug 2021 14:44: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 1mAChZ-0004i3-7x; Sun, 01 Aug 2021 14:44:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mAChZ-0001Rg-7S; Sun, 01 Aug 2021 14:44: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=FiIuVG485ASJwd5LjSWyn0r8lEiEVEO/UZyKU9jfMhU=; b=0uZKnbev1eY5QoWo5yjq12u2X7
	sboFbzyqko8Ln/g0Y7f9NR9DzpsN9w1P521KLNyRf9Shilqt9LKqdJ6h/3kxtVeJeaUZZYtRpB9BA
	ard+TCnsyW4/oCSdkS/tSDPNU1sYiVgMPtFFxOSmV7otWwXClGekRvwiBH6Xwtqn+Cfs=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164071-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164071: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-xsm:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-qemuu-freebsd11-amd64:guest-start/freebsd.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=f3438b4c4e692b49b7dc2bab864d20381024be16
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 01 Aug 2021 14:44:29 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  14 guest-start              fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop              fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 20 guest-stop               fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 13 debian-fixup             fail REGR. vs. 152332

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl-credit1  13 debian-fixup     fail in 164068 pass in 164071
 test-amd64-amd64-xl-xsm      22 guest-start/debian.repeat  fail pass in 164068
 test-amd64-amd64-qemuu-freebsd11-amd64 21 guest-start/freebsd.repeat fail pass in 164068

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

version targeted for testing:
 linux                f3438b4c4e692b49b7dc2bab864d20381024be16
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  365 days
Failing since        152366  2020-08-01 20:49:34 Z  364 days  631 attempts
Testing same since   164068  2021-08-01 00:40:45 Z    0 days    2 attempts

------------------------------------------------------------
6750 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              fail    
 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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Aug 01 21:13:52 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 01 Aug 2021 21:13:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.162876.298536 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAIm9-0000FG-Jm; Sun, 01 Aug 2021 21:13:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 162876.298536; Sun, 01 Aug 2021 21:13:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAIm9-0000F9-GW; Sun, 01 Aug 2021 21:13:37 +0000
Received: by outflank-mailman (input) for mailman id 162876;
 Sun, 01 Aug 2021 21:13: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 1mAIm8-0000Ez-KI; Sun, 01 Aug 2021 21:13: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 1mAIm8-0007qJ-Bu; Sun, 01 Aug 2021 21:13: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 1mAIm8-0005B9-19; Sun, 01 Aug 2021 21:13:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mAIm8-0004e2-0b; Sun, 01 Aug 2021 21:13: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=J/EVZicrIE+iiHAnOsEC8e46sx0oGdQALUY9va8HVC4=; b=7Hhp9rfhHKo6t0lvcY1pVriMUb
	FSvFW4bYjkNhLuXiroLYvEVf0LWPZXTX4jso5xYV7Dfh6R7lnfignr4l+0zzj5V3gXRCkSKchE0UA
	rwLA0h7CaL70bpciLTZNbuYxB98ODLOeq9KJKuPgH3vPJio6oSaXqUlvCM6GMisqFuQ8=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164073-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 164073: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:guest-saverestore:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check: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-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-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-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=0c633cf0c221922a0a9f9d0b8866cbb111f5e192
X-Osstest-Versions-That:
    qemuu=dbdc621be937d9efe3e4dff994e54e8eea051f7a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 01 Aug 2021 21:13:36 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 15 guest-saverestore fail pass in 164075-retest

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

version targeted for testing:
 qemuu                0c633cf0c221922a0a9f9d0b8866cbb111f5e192
baseline version:
 qemuu                dbdc621be937d9efe3e4dff994e54e8eea051f7a

Last test of basis   164058  2021-07-30 21:08:03 Z    2 days
Testing same since   164073  2021-08-01 12:37:58 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <f4bug@amsat.org>
  Richard Henderson <richard.henderson@linaro.org>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   dbdc621be9..0c633cf0c2  0c633cf0c221922a0a9f9d0b8866cbb111f5e192 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Sun Aug 01 22:27:44 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 01 Aug 2021 22:27:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.162885.298551 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAJvc-0006e3-7I; Sun, 01 Aug 2021 22:27:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 162885.298551; Sun, 01 Aug 2021 22: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 1mAJvc-0006dw-3z; Sun, 01 Aug 2021 22:27:28 +0000
Received: by outflank-mailman (input) for mailman id 162885;
 Sun, 01 Aug 2021 22:27:26 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mAJva-0006dk-EV; Sun, 01 Aug 2021 22:27:26 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mAJva-0000Q3-13; Sun, 01 Aug 2021 22:27:26 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mAJvZ-0006pG-Kh; Sun, 01 Aug 2021 22:27:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mAJvZ-0004TI-K7; Sun, 01 Aug 2021 22:27:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=pUaFxLKmRooaqRzXx1veQBas3Xizz/TFzrQcOu4w05A=; b=TfnEI0L5kP68lbrsfxnPhZYlGZ
	reOTBW+gC/CqrD5hQjnKhzHuP3rl+1zNQG4jhwx3sfobs/bVLFyapzIsHHghpwo7NqR1iApPOfCoU
	M9S4htE35Ni1vhF1UFRMztuL7f6PxNjJi8+fy7Pz49sofIFNc3ad6flxgFYWG2o/gzuo=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164074-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164074: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-xsm:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-qemuu-freebsd11-amd64:guest-start/freebsd.repeat:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=f3438b4c4e692b49b7dc2bab864d20381024be16
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 01 Aug 2021 22:27:25 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop              fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 20 guest-stop               fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  14 guest-start    fail in 164071 REGR. vs. 152332

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl-credit2  13 debian-fixup     fail in 164071 pass in 164074
 test-amd64-amd64-xl-xsm 22 guest-start/debian.repeat fail in 164071 pass in 164074
 test-amd64-amd64-qemuu-freebsd11-amd64 21 guest-start/freebsd.repeat fail in 164071 pass in 164074
 test-arm64-arm64-xl-credit1  13 debian-fixup               fail pass in 164071

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

version targeted for testing:
 linux                f3438b4c4e692b49b7dc2bab864d20381024be16
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  366 days
Failing since        152366  2020-08-01 20:49:34 Z  365 days  632 attempts
Testing same since   164068  2021-08-01 00:40:45 Z    0 days    3 attempts

------------------------------------------------------------
6750 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Aug 02 03:58:10 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Aug 2021 03:58:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.162895.298566 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAP5L-0002Sc-07; Mon, 02 Aug 2021 03:57:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 162895.298566; Mon, 02 Aug 2021 03:57:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAP5K-0002SV-Rv; Mon, 02 Aug 2021 03:57:50 +0000
Received: by outflank-mailman (input) for mailman id 162895;
 Mon, 02 Aug 2021 03:57:49 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mAP5I-0002SL-Vq; Mon, 02 Aug 2021 03:57: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 1mAP5I-0006jD-JO; Mon, 02 Aug 2021 03:57: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 1mAP5I-0001cp-4E; Mon, 02 Aug 2021 03:57:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mAP5I-0003qT-3d; Mon, 02 Aug 2021 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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=rbRT5A10znOs7PK7tiKq/lC2H0EnCDfV3GaJk8mEM4Y=; b=Tqs80MCs99wjwAKrsMflEL/gAb
	byB2OM/ndKZnjFPhRcHDOvLPDmB4iwZef0EHKHYfvTnb/rsRC9kFKQgR7BtiUcAycYUD1tZO4D3mz
	ee+pqQArfPjSbjvu4SeTxFpko++kJNj4rwwvZpdXxoCbouOnQZ7b07sS/75Ocn3A9FY8=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164076-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164076: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:leak-check/check:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=d4affd6b6e81443ec8d00de0306ca61911e81441
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 02 Aug 2021 03:57:48 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop              fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 20 guest-stop               fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 21 leak-check/check fail REGR. vs. 152332

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

version targeted for testing:
 linux                d4affd6b6e81443ec8d00de0306ca61911e81441
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  366 days
Failing since        152366  2020-08-01 20:49:34 Z  365 days  633 attempts
Testing same since   164076  2021-08-01 22:40:45 Z    0 days    1 attempts

------------------------------------------------------------
6750 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Aug 02 08:36:26 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Aug 2021 08:36:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.162909.298581 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mATQk-0001gm-26; Mon, 02 Aug 2021 08:36:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 162909.298581; Mon, 02 Aug 2021 08: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 1mATQj-0001gf-Tn; Mon, 02 Aug 2021 08:36:13 +0000
Received: by outflank-mailman (input) for mailman id 162909;
 Mon, 02 Aug 2021 08:36: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 1mATQi-0001gV-Na; Mon, 02 Aug 2021 08:36:12 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mATQi-0003M5-Eb; Mon, 02 Aug 2021 08:36:12 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mATQi-0000Yc-5t; Mon, 02 Aug 2021 08:36:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mATQi-0006zL-5L; Mon, 02 Aug 2021 08:36:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=DQlI/1FMSni5uj0nAKCkmhoQrvzWk0Oyyt4mvuDnWAg=; b=r3Utgv1wkfHyNcIjO7QPBI23Ix
	hg1AvgLLn05F/y//q7lvcJWPB86um1jHmHJpRN1xCOt3zGlcQmlgg1cwEZKfBCIlao+R7glZ2hZol
	mU1zuROwRPdhESJbR8xWBQNvS+vpMa7T7sj1e1YrniK3N4Ef695N3TzEWNJth3svG+dQ=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164078-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 164078: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=3445058aea4f64a994e4ec040135258a135d36ce
X-Osstest-Versions-That:
    ovmf=610bcc69ed3d1e8c016332a1862465d41d95dd6c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 02 Aug 2021 08:36:12 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 3445058aea4f64a994e4ec040135258a135d36ce
baseline version:
 ovmf                 610bcc69ed3d1e8c016332a1862465d41d95dd6c

Last test of basis   164047  2021-07-29 23:10:04 Z    3 days
Testing same since   164078  2021-08-02 02:10:07 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Seonghyun Park <shpark.zilla@gmail.com>
  Seonghyun Park <shpark1@protonmail.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
   610bcc69ed..3445058aea  3445058aea4f64a994e4ec040135258a135d36ce -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Aug 02 10:35:00 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Aug 2021 10:35:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.162920.298596 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAVHQ-0003fX-Hy; Mon, 02 Aug 2021 10:34:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 162920.298596; Mon, 02 Aug 2021 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 1mAVHQ-0003fQ-EM; Mon, 02 Aug 2021 10:34:44 +0000
Received: by outflank-mailman (input) for mailman id 162920;
 Mon, 02 Aug 2021 10:34:43 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kyIo=MZ=linux.ibm.com=schnelle@srs-us1.protection.inumbo.net>)
 id 1mAVHO-0003fK-Vc
 for xen-devel@lists.xenproject.org; Mon, 02 Aug 2021 10:34:43 +0000
Received: from mx0b-001b2d01.pphosted.com (unknown [148.163.158.5])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id aa1c640b-b194-40db-8767-3a4a05c0dcb9;
 Mon, 02 Aug 2021 10:34:42 +0000 (UTC)
Received: from pps.filterd (m0127361.ppops.net [127.0.0.1])
 by mx0a-001b2d01.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id
 172A4NG2173500; Mon, 2 Aug 2021 06:34:20 -0400
Received: from ppma04fra.de.ibm.com (6a.4a.5195.ip4.static.sl-reverse.com
 [149.81.74.106])
 by mx0a-001b2d01.pphosted.com with ESMTP id 3a5ks7xgv8-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Mon, 02 Aug 2021 06:34:20 -0400
Received: from pps.filterd (ppma04fra.de.ibm.com [127.0.0.1])
 by ppma04fra.de.ibm.com (8.16.1.2/8.16.1.2) with SMTP id 172AY3xg012514;
 Mon, 2 Aug 2021 10:34:18 GMT
Received: from b06cxnps4074.portsmouth.uk.ibm.com
 (d06relay11.portsmouth.uk.ibm.com [9.149.109.196])
 by ppma04fra.de.ibm.com with ESMTP id 3a4x594481-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Mon, 02 Aug 2021 10:34:18 +0000
Received: from d06av21.portsmouth.uk.ibm.com (d06av21.portsmouth.uk.ibm.com
 [9.149.105.232])
 by b06cxnps4074.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id
 172AYEbo30605618
 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Mon, 2 Aug 2021 10:34:14 GMT
Received: from d06av21.portsmouth.uk.ibm.com (unknown [127.0.0.1])
 by IMSVA (Postfix) with ESMTP id 99BA0520E2;
 Mon,  2 Aug 2021 10:34:14 +0000 (GMT)
Received: from sig-9-145-37-103.uk.ibm.com (unknown [9.145.37.103])
 by d06av21.portsmouth.uk.ibm.com (Postfix) with ESMTP id AED60520D5;
 Mon,  2 Aug 2021 10:34:13 +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: aa1c640b-b194-40db-8767-3a4a05c0dcb9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=message-id : subject :
 from : to : cc : date : in-reply-to : references : content-type :
 content-transfer-encoding : mime-version; s=pp1;
 bh=r00k+UjFn2pP62ZTrfQkfAUimzcY0iIqFp/tRGXpoq0=;
 b=XB+IyIVRuwsaGl5Cf36GJrmEG3pUanAUVbJd0L+oKz2n9pFqA/PMFgwKaU8Fqyy8Lva3
 Kbt8Pm8E3v6Do/WIyQyINblL2EUrwMVz8/MgaVk9CKB/lYzJLp0Z77DY+Z/NLG27Hxbj
 E9qpS5txHaS6nt9qU2jVBdzVhvDQmwEAwKpzUg/IADG8yUZYRc/KRZKQB9m3YaMNAQ/V
 mqocdQdQhDdcY8hBX72GpQ0R0Ltra1dQR25fDeh1xYBUCQnH2894AsakTiIyquwCzLQd
 SFjOXifLtRwVjfMNlR/0nvfzPGZm64KH9KxFjtA2pZJTcvqIwBuMeqWbhKoD7NaDevz8 Aw== 
Message-ID: <a5a46d84866f69df8c9737ecd8b066b61f24960a.camel@linux.ibm.com>
Subject: Re: [PATCH v2 13/21] s390/pci: don't set failed sg dma_address to
 DMA_MAPPING_ERROR
From: Niklas Schnelle <schnelle@linux.ibm.com>
To: Logan Gunthorpe <logang@deltatee.com>, linux-kernel@vger.kernel.org,
        linux-alpha@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
        linux-ia64@vger.kernel.org, linux-mips@vger.kernel.org,
        linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org,
        sparclinux@vger.kernel.org, iommu@lists.linux-foundation.org,
        linux-parisc@vger.kernel.org, xen-devel@lists.xenproject.org
Cc: Christoph Hellwig <hch@lst.de>,
        Marek Szyprowski
 <m.szyprowski@samsung.com>,
        Robin Murphy <robin.murphy@arm.com>,
        Stephen
 Bates <sbates@raithlin.com>,
        Martin Oliveira
 <martin.oliveira@eideticom.com>,
        Gerald Schaefer
 <gerald.schaefer@linux.ibm.com>,
        Heiko Carstens <hca@linux.ibm.com>, Vasily Gorbik <gor@linux.ibm.com>,
        Christian Borntraeger
 <borntraeger@de.ibm.com>
Date: Mon, 02 Aug 2021 12:34:13 +0200
In-Reply-To: <20210723175008.22410-14-logang@deltatee.com>
References: <20210723175008.22410-1-logang@deltatee.com>
	 <20210723175008.22410-14-logang@deltatee.com>
Content-Type: text/plain; charset="UTF-8"
X-Mailer: Evolution 3.28.5 (3.28.5-16.el8) 
X-TM-AS-GCONF: 00
X-Proofpoint-ORIG-GUID: zc7l-lzfyaxYg5Vm8LQLNSA4emMVITXD
X-Proofpoint-GUID: zc7l-lzfyaxYg5Vm8LQLNSA4emMVITXD
Content-Transfer-Encoding: 7bit
X-Proofpoint-UnRewURL: 0 URL was un-rewritten
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.391,18.0.790
 definitions=2021-08-02_01:2021-08-02,2021-08-02 signatures=0
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=999
 malwarescore=0 phishscore=0 suspectscore=0 spamscore=0 adultscore=0
 mlxscore=0 priorityscore=1501 lowpriorityscore=0 clxscore=1015 bulkscore=0
 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2107140000 definitions=main-2108020069

On Fri, 2021-07-23 at 11:50 -0600, Logan Gunthorpe wrote:
> Setting the ->dma_address to DMA_MAPPING_ERROR is not part of
> the ->map_sg calling convention, so remove it.
> 
> Link: https://lore.kernel.org/linux-mips/20210716063241.GC13345@lst.de/
> Suggested-by: Christoph Hellwig <hch@lst.de>
> Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
> Cc: Niklas Schnelle <schnelle@linux.ibm.com>
> Cc: Gerald Schaefer <gerald.schaefer@linux.ibm.com>
> Cc: Heiko Carstens <hca@linux.ibm.com>
> Cc: Vasily Gorbik <gor@linux.ibm.com>
> Cc: Christian Borntraeger <borntraeger@de.ibm.com>
> ---
>  arch/s390/pci/pci_dma.c | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/arch/s390/pci/pci_dma.c b/arch/s390/pci/pci_dma.c
> index c78b02012764..be48e5b5bfcf 100644
> --- a/arch/s390/pci/pci_dma.c
> +++ b/arch/s390/pci/pci_dma.c
> @@ -492,7 +492,6 @@ static int s390_dma_map_sg(struct device *dev, struct scatterlist *sg,
>  	for (i = 1; i < nr_elements; i++) {
>  		s = sg_next(s);
>  
> -		s->dma_address = DMA_MAPPING_ERROR;
>  		s->dma_length = 0;
>  
>  		if (s->offset || (size & ~PAGE_MASK) ||

Acked-by: Niklas Schnelle <schnelle@linux.ibm.com>

Thanks!



From xen-devel-bounces@lists.xenproject.org Mon Aug 02 10:52:07 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Aug 2021 10:52:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.162929.298607 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAVY9-0005x0-4A; Mon, 02 Aug 2021 10:52:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 162929.298607; Mon, 02 Aug 2021 10: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 1mAVY9-0005wt-17; Mon, 02 Aug 2021 10:52:01 +0000
Received: by outflank-mailman (input) for mailman id 162929;
 Mon, 02 Aug 2021 10:51:59 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mAVY7-0005wj-Gi; Mon, 02 Aug 2021 10:51:59 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mAVY7-0005K0-Bl; Mon, 02 Aug 2021 10:51:59 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mAVY7-0006BI-0I; Mon, 02 Aug 2021 10:51:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mAVY6-0000qV-W1; Mon, 02 Aug 2021 10:51:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=MuKmR+q97MAGq9FYBIv5gaBY1S7/wclMUWo9Pk0sIYM=; b=N/9cjZIFWP5HhKTSYYfJC5Xm4e
	isXO/UFUuUlQeeWrD8oidD4+4SAboPgIiUFnmzykNxX+Ftpv1SI2ywoj6h6PaX3vsEaWjvWCLTYc0
	jIq9blG3WihP5qvx+YhXaNYPr2bhBVzTxo2W4rgv21hKGjkNeYtZAS0SMghbVGm+DK+0=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164080-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 164080: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=702d6d04cec5402c4b3a816f5a318c04085db73e
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 02 Aug 2021 10:51:58 +0000

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

Regressions :-(

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

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

version targeted for testing:
 libvirt              702d6d04cec5402c4b3a816f5a318c04085db73e
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  388 days
Failing since        151818  2020-07-11 04:18:52 Z  387 days  379 attempts
Testing same since   164063  2021-07-31 04:19:02 Z    2 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  Cédric Bosdonnat <cbosdonnat@suse.com>
  Côme Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano Fidêncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Ian Wienand <iwienand@redhat.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  John Ferlan <jferlan@redhat.com>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  Ján Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Michał Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  Moshe Levi <moshele@nvidia.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr Drąg <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tomáš Golembiovský <tgolembi@redhat.com>
  Tomáš Janoušek <tomi@nomi.cz>
  Tuguoyi <tu.guoyi@h3c.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  William Douglas <william.douglas@intel.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.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                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Aug 02 11:12:58 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Aug 2021 11:12:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.162938.298623 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAVsI-0008Ly-VP; Mon, 02 Aug 2021 11:12:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 162938.298623; Mon, 02 Aug 2021 11: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 1mAVsI-0008Lr-SN; Mon, 02 Aug 2021 11:12:50 +0000
Received: by outflank-mailman (input) for mailman id 162938;
 Mon, 02 Aug 2021 11: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 1mAVsH-0008Lh-9c; Mon, 02 Aug 2021 11: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 1mAVsH-0005eD-3Y; Mon, 02 Aug 2021 11: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 1mAVsG-0006sJ-Jg; Mon, 02 Aug 2021 11:12:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mAVsG-00015e-J9; Mon, 02 Aug 2021 11:12:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=DSVDvQuWFcQEiD16C1Rh9DOS0rpxliLnMcz1qeCWu9A=; b=LwFWpmPgiwbSHjihoX30c/82J+
	YsLcBcyZzqrcwbyN4PInyU/x11gy0iEAGZxLX5CjIeZn0ja9Serncfaf2VJN4dXNjC3dsAKXtWVKT
	WrLsZOftOYIMFbq5ez/Uqp/dPh1Pd+yfGy0Tlb/Xqp2UtooyHQuTZd02KWid0ZIBh28w=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164077-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 164077: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-examine:memdisk-try-append:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-amd64:guest-start/debianhvm.repeat:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-rtds:guest-localmigrate:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:heisenbug
    xen-unstable:test-arm64-arm64-libvirt-xsm:xen-boot:fail:heisenbug
    xen-unstable:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:heisenbug
    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-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check: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-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check: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-xl-pvshim:guest-start: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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=e066ca5acc2ee3b5db5c005e1a548b05e753e07d
X-Osstest-Versions-That:
    xen=e066ca5acc2ee3b5db5c005e1a548b05e753e07d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 02 Aug 2021 11:12:48 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-examine    4 memdisk-try-append fail in 164061 pass in 164077
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 20 guest-start/debianhvm.repeat fail in 164061 pass in 164077
 test-amd64-amd64-xl-rtds   18 guest-localmigrate fail in 164069 pass in 164077
 test-amd64-amd64-xl-rtds     20 guest-localmigrate/x10     fail pass in 164061
 test-arm64-arm64-libvirt-xsm  8 xen-boot                   fail pass in 164069
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat  fail pass in 164069

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

version targeted for testing:
 xen                  e066ca5acc2ee3b5db5c005e1a548b05e753e07d
baseline version:
 xen                  e066ca5acc2ee3b5db5c005e1a548b05e753e07d

Last test of basis   164077  2021-08-02 01:51:44 Z    0 days
Testing same since                          (not found)         0 attempts

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


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

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

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

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


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Mon Aug 02 11:53:52 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Aug 2021 11:53:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.162948.298638 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAWVm-00041A-9L; Mon, 02 Aug 2021 11:53:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 162948.298638; Mon, 02 Aug 2021 11: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 1mAWVm-000413-4R; Mon, 02 Aug 2021 11:53:38 +0000
Received: by outflank-mailman (input) for mailman id 162948;
 Mon, 02 Aug 2021 11:53:37 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zvSH=MZ=8bytes.org=joro@srs-us1.protection.inumbo.net>)
 id 1mAWVl-00040x-Ad
 for xen-devel@lists.xenproject.org; Mon, 02 Aug 2021 11:53:37 +0000
Received: from theia.8bytes.org (unknown
 [2a01:238:4383:600:38bc:a715:4b6d:a889])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id d2f4394a-b380-496a-85aa-2fe24b1d72ba;
 Mon, 02 Aug 2021 11:53:35 +0000 (UTC)
Received: by theia.8bytes.org (Postfix, from userid 1000)
 id 835EB379; Mon,  2 Aug 2021 13:53: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: d2f4394a-b380-496a-85aa-2fe24b1d72ba
Date: Mon, 2 Aug 2021 13:53:26 +0200
From: Joerg Roedel <joro@8bytes.org>
To: Tianyu Lan <ltykernel@gmail.com>
Cc: kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com,
	wei.liu@kernel.org, decui@microsoft.com, tglx@linutronix.de,
	mingo@redhat.com, bp@alien8.de, x86@kernel.org, hpa@zytor.com,
	dave.hansen@linux.intel.com, luto@kernel.org, peterz@infradead.org,
	konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, jgross@suse.com,
	sstabellini@kernel.org, will@kernel.org, davem@davemloft.net,
	kuba@kernel.org, jejb@linux.ibm.com, martin.petersen@oracle.com,
	arnd@arndb.de, hch@lst.de, m.szyprowski@samsung.com,
	robin.murphy@arm.com, thomas.lendacky@amd.com,
	brijesh.singh@amd.com, ardb@kernel.org, Tianyu.Lan@microsoft.com,
	rientjes@google.com, martin.b.radev@gmail.com,
	akpm@linux-foundation.org, rppt@kernel.org,
	kirill.shutemov@linux.intel.com, aneesh.kumar@linux.ibm.com,
	krish.sadhukhan@oracle.com, saravanand@fb.com,
	xen-devel@lists.xenproject.org, pgonda@google.com, david@redhat.com,
	keescook@chromium.org, hannes@cmpxchg.org, sfr@canb.auug.org.au,
	michael.h.kelley@microsoft.com, iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org, linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org, vkuznets@redhat.com, anparri@microsoft.com
Subject: Re: [PATCH 01/13] x86/HV: Initialize GHCB page in Isolation VM
Message-ID: <YQfctjRm16IP0qZy@8bytes.org>
References: <20210728145232.285861-1-ltykernel@gmail.com>
 <20210728145232.285861-2-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20210728145232.285861-2-ltykernel@gmail.com>

On Wed, Jul 28, 2021 at 10:52:16AM -0400, Tianyu Lan wrote:
> +static int hyperv_init_ghcb(void)
> +{
> +	u64 ghcb_gpa;
> +	void *ghcb_va;
> +	void **ghcb_base;
> +
> +	if (!ms_hyperv.ghcb_base)
> +		return -EINVAL;
> +
> +	rdmsrl(MSR_AMD64_SEV_ES_GHCB, ghcb_gpa);
> +	ghcb_va = memremap(ghcb_gpa, HV_HYP_PAGE_SIZE, MEMREMAP_WB);

This deserves a comment. As I understand it, the GHCB pa is set by
Hyper-V or the paravisor, so the page does not need to be allocated by
Linux.
And it is not mapped unencrypted because the GHCB page is allocated
above the VTOM boundary?

> @@ -167,6 +190,31 @@ static int hv_cpu_die(unsigned int cpu)
>  {
>  	struct hv_reenlightenment_control re_ctrl;
>  	unsigned int new_cpu;
> +	unsigned long flags;
> +	void **input_arg;
> +	void *pg;
> +	void **ghcb_va = NULL;
> +
> +	local_irq_save(flags);
> +	input_arg = (void **)this_cpu_ptr(hyperv_pcpu_input_arg);
> +	pg = *input_arg;

Pg is never used later on, why is it set?



From xen-devel-bounces@lists.xenproject.org Mon Aug 02 12:01:52 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Aug 2021 12:01:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.162957.298649 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAWdh-0005VA-5y; Mon, 02 Aug 2021 12:01:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 162957.298649; Mon, 02 Aug 2021 12: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 1mAWdh-0005V3-33; Mon, 02 Aug 2021 12:01:49 +0000
Received: by outflank-mailman (input) for mailman id 162957;
 Mon, 02 Aug 2021 12:01:48 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zvSH=MZ=8bytes.org=joro@srs-us1.protection.inumbo.net>)
 id 1mAWdf-0005Ux-UR
 for xen-devel@lists.xenproject.org; Mon, 02 Aug 2021 12:01:47 +0000
Received: from theia.8bytes.org (unknown
 [2a01:238:4383:600:38bc:a715:4b6d:a889])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id e47deec2-97ac-4239-ac5d-ca5c9949bb89;
 Mon, 02 Aug 2021 12:01:46 +0000 (UTC)
Received: by theia.8bytes.org (Postfix, from userid 1000)
 id 2A79D379; Mon,  2 Aug 2021 14:01: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: e47deec2-97ac-4239-ac5d-ca5c9949bb89
Date: Mon, 2 Aug 2021 14:01:41 +0200
From: Joerg Roedel <joro@8bytes.org>
To: Dave Hansen <dave.hansen@intel.com>
Cc: Tianyu Lan <ltykernel@gmail.com>, kys@microsoft.com,
	haiyangz@microsoft.com, sthemmin@microsoft.com, wei.liu@kernel.org,
	decui@microsoft.com, tglx@linutronix.de, mingo@redhat.com,
	bp@alien8.de, x86@kernel.org, hpa@zytor.com,
	dave.hansen@linux.intel.com, luto@kernel.org, peterz@infradead.org,
	konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, jgross@suse.com,
	sstabellini@kernel.org, will@kernel.org, davem@davemloft.net,
	kuba@kernel.org, jejb@linux.ibm.com, martin.petersen@oracle.com,
	arnd@arndb.de, hch@lst.de, m.szyprowski@samsung.com,
	robin.murphy@arm.com, thomas.lendacky@amd.com,
	brijesh.singh@amd.com, ardb@kernel.org, Tianyu.Lan@microsoft.com,
	rientjes@google.com, martin.b.radev@gmail.com,
	akpm@linux-foundation.org, rppt@kernel.org,
	kirill.shutemov@linux.intel.com, aneesh.kumar@linux.ibm.com,
	krish.sadhukhan@oracle.com, saravanand@fb.com,
	xen-devel@lists.xenproject.org, pgonda@google.com, david@redhat.com,
	keescook@chromium.org, hannes@cmpxchg.org, sfr@canb.auug.org.au,
	michael.h.kelley@microsoft.com, iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org, linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org, vkuznets@redhat.com, anparri@microsoft.com
Subject: Re: [PATCH 03/13] x86/HV: Add new hvcall guest address host
 visibility support
Message-ID: <YQfepYTC4n6agq9z@8bytes.org>
References: <20210728145232.285861-1-ltykernel@gmail.com>
 <20210728145232.285861-4-ltykernel@gmail.com>
 <c00e269c-da4c-c703-0182-0221c73a76cc@intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <c00e269c-da4c-c703-0182-0221c73a76cc@intel.com>

On Wed, Jul 28, 2021 at 08:29:41AM -0700, Dave Hansen wrote:
> __set_memory_enc_dec() is turning into a real mess.  SEV, TDX and now
> Hyper-V are messing around in here.

I was going to suggest a PV_OPS call where the fitting implementation
for the guest environment can be plugged in at boot. There is TDX and an
SEV(-SNP) case, a Hyper-V case, and likely more coming up from other
cloud/hypervisor vendors. Hiding all these behind feature checks is not
going to make things cleaner.

Regards,

	Joerg


From xen-devel-bounces@lists.xenproject.org Mon Aug 02 12:08:08 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Aug 2021 12:08:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.162965.298661 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAWjk-0006Af-RY; Mon, 02 Aug 2021 12:08:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 162965.298661; Mon, 02 Aug 2021 12: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 1mAWjk-0006AY-Oa; Mon, 02 Aug 2021 12:08:04 +0000
Received: by outflank-mailman (input) for mailman id 162965;
 Mon, 02 Aug 2021 12:08:03 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zvSH=MZ=8bytes.org=joro@srs-us1.protection.inumbo.net>)
 id 1mAWjj-0006AS-Sd
 for xen-devel@lists.xenproject.org; Mon, 02 Aug 2021 12:08:03 +0000
Received: from theia.8bytes.org (unknown [81.169.241.247])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 48aaa2fe-f38a-11eb-9a42-12813bfff9fa;
 Mon, 02 Aug 2021 12:08:02 +0000 (UTC)
Received: by theia.8bytes.org (Postfix, from userid 1000)
 id BBD92379; Mon,  2 Aug 2021 14:08:00 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 48aaa2fe-f38a-11eb-9a42-12813bfff9fa
Date: Mon, 2 Aug 2021 14:07:59 +0200
From: Joerg Roedel <joro@8bytes.org>
To: Tianyu Lan <ltykernel@gmail.com>
Cc: kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com,
	wei.liu@kernel.org, decui@microsoft.com, tglx@linutronix.de,
	mingo@redhat.com, bp@alien8.de, x86@kernel.org, hpa@zytor.com,
	dave.hansen@linux.intel.com, luto@kernel.org, peterz@infradead.org,
	konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, jgross@suse.com,
	sstabellini@kernel.org, will@kernel.org, davem@davemloft.net,
	kuba@kernel.org, jejb@linux.ibm.com, martin.petersen@oracle.com,
	arnd@arndb.de, hch@lst.de, m.szyprowski@samsung.com,
	robin.murphy@arm.com, thomas.lendacky@amd.com,
	brijesh.singh@amd.com, ardb@kernel.org, Tianyu.Lan@microsoft.com,
	rientjes@google.com, martin.b.radev@gmail.com,
	akpm@linux-foundation.org, rppt@kernel.org,
	kirill.shutemov@linux.intel.com, aneesh.kumar@linux.ibm.com,
	krish.sadhukhan@oracle.com, saravanand@fb.com,
	xen-devel@lists.xenproject.org, pgonda@google.com, david@redhat.com,
	keescook@chromium.org, hannes@cmpxchg.org, sfr@canb.auug.org.au,
	michael.h.kelley@microsoft.com, iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org, linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org, vkuznets@redhat.com, anparri@microsoft.com
Subject: Re: [PATCH 04/13] HV: Mark vmbus ring buffer visible to host in
 Isolation VM
Message-ID: <YQfgH04t2SqacnHn@8bytes.org>
References: <20210728145232.285861-1-ltykernel@gmail.com>
 <20210728145232.285861-5-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20210728145232.285861-5-ltykernel@gmail.com>

On Wed, Jul 28, 2021 at 10:52:19AM -0400, Tianyu Lan wrote:
> +	if (type == HV_GPADL_BUFFER)
> +		index = 0;
> +	else
> +		index = channel->gpadl_range[1].gpadlhandle ? 2 : 1;

Hmm... This doesn't look very robust. Can you set fixed indexes for
different buffer types? HV_GPADL_BUFFER already has fixed index 0. But
as it is implemented here you risk that index 2 gets overwritten by
subsequent calls.



From xen-devel-bounces@lists.xenproject.org Mon Aug 02 12:28:54 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Aug 2021 12:28:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.162973.298674 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAX3o-0008QS-Jy; Mon, 02 Aug 2021 12:28:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 162973.298674; Mon, 02 Aug 2021 12:28:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAX3o-0008QL-H1; Mon, 02 Aug 2021 12:28:48 +0000
Received: by outflank-mailman (input) for mailman id 162973;
 Mon, 02 Aug 2021 12:28:46 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zvSH=MZ=8bytes.org=joro@srs-us1.protection.inumbo.net>)
 id 1mAX3m-0008QD-Hu
 for xen-devel@lists.xenproject.org; Mon, 02 Aug 2021 12:28:46 +0000
Received: from theia.8bytes.org (unknown [81.169.241.247])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 2d761722-f38d-11eb-9a43-12813bfff9fa;
 Mon, 02 Aug 2021 12:28:45 +0000 (UTC)
Received: by theia.8bytes.org (Postfix, from userid 1000)
 id 3FDE620C; Mon,  2 Aug 2021 14:28:42 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2d761722-f38d-11eb-9a43-12813bfff9fa
Date: Mon, 2 Aug 2021 14:28:36 +0200
From: Joerg Roedel <joro@8bytes.org>
To: Tianyu Lan <ltykernel@gmail.com>
Cc: kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com,
	wei.liu@kernel.org, decui@microsoft.com, tglx@linutronix.de,
	mingo@redhat.com, bp@alien8.de, x86@kernel.org, hpa@zytor.com,
	dave.hansen@linux.intel.com, luto@kernel.org, peterz@infradead.org,
	konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, jgross@suse.com,
	sstabellini@kernel.org, will@kernel.org, davem@davemloft.net,
	kuba@kernel.org, jejb@linux.ibm.com, martin.petersen@oracle.com,
	arnd@arndb.de, hch@lst.de, m.szyprowski@samsung.com,
	robin.murphy@arm.com, thomas.lendacky@amd.com,
	brijesh.singh@amd.com, ardb@kernel.org, Tianyu.Lan@microsoft.com,
	rientjes@google.com, martin.b.radev@gmail.com,
	akpm@linux-foundation.org, rppt@kernel.org,
	kirill.shutemov@linux.intel.com, aneesh.kumar@linux.ibm.com,
	krish.sadhukhan@oracle.com, saravanand@fb.com,
	xen-devel@lists.xenproject.org, pgonda@google.com, david@redhat.com,
	keescook@chromium.org, hannes@cmpxchg.org, sfr@canb.auug.org.au,
	michael.h.kelley@microsoft.com, iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org, linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org, vkuznets@redhat.com, anparri@microsoft.com
Subject: Re: [PATCH 05/13] HV: Add Write/Read MSR registers via ghcb page
Message-ID: <YQfk9G+k0Tj8ihyu@8bytes.org>
References: <20210728145232.285861-1-ltykernel@gmail.com>
 <20210728145232.285861-6-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20210728145232.285861-6-ltykernel@gmail.com>

On Wed, Jul 28, 2021 at 10:52:20AM -0400, Tianyu Lan wrote:
> +void hv_ghcb_msr_write(u64 msr, u64 value)
> +{
> +	union hv_ghcb *hv_ghcb;
> +	void **ghcb_base;
> +	unsigned long flags;
> +
> +	if (!ms_hyperv.ghcb_base)
> +		return;
> +
> +	WARN_ON(in_nmi());
> +
> +	local_irq_save(flags);
> +	ghcb_base = (void **)this_cpu_ptr(ms_hyperv.ghcb_base);
> +	hv_ghcb = (union hv_ghcb *)*ghcb_base;
> +	if (!hv_ghcb) {
> +		local_irq_restore(flags);
> +		return;
> +	}
> +
> +	memset(hv_ghcb, 0x00, HV_HYP_PAGE_SIZE);

Do you really need to zero out the whole 4k? The validation bitmap
should be enough, there are no secrets on the page anyway.
Same in hv_ghcb_msr_read().

> +enum es_result sev_es_ghcb_hv_call(struct ghcb *ghcb,
> +				   struct es_em_ctxt *ctxt,
> +				   u64 exit_code, u64 exit_info_1,
> +				   u64 exit_info_2)
>  {
>  	enum es_result ret;
>  
> @@ -109,7 +109,16 @@ static enum es_result sev_es_ghcb_hv_call(struct ghcb *ghcb,
>  	ghcb_set_sw_exit_info_1(ghcb, exit_info_1);
>  	ghcb_set_sw_exit_info_2(ghcb, exit_info_2);
>  
> -	sev_es_wr_ghcb_msr(__pa(ghcb));
> +	/*
> +	 * Hyper-V runs paravisor with SEV. Ghcb page is allocated by
> +	 * paravisor and not needs to be updated in the Linux guest.
> +	 * Otherwise, the ghcb page's PA reported by paravisor is above
> +	 * VTOM. Hyper-V use this function with NULL for ctxt point and
> +	 * skip setting ghcb page in such case.
> +	 */
> +	if (ctxt)
> +		sev_es_wr_ghcb_msr(__pa(ghcb));

No, do not make this function work with ctxt==NULL. Instead, factor out
a helper function which contains what Hyper-V needs and use that in
sev_es_ghcb_hv_call() and Hyper-V code.

> +union hv_ghcb {
> +	struct ghcb ghcb;
> +} __packed __aligned(PAGE_SIZE);

I am curious what this will end up being good for.



From xen-devel-bounces@lists.xenproject.org Mon Aug 02 12:35:34 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Aug 2021 12:35:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.162981.298686 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAXAI-0001Mt-Ba; Mon, 02 Aug 2021 12:35:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 162981.298686; Mon, 02 Aug 2021 12: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 1mAXAI-0001Mm-7Z; Mon, 02 Aug 2021 12:35:30 +0000
Received: by outflank-mailman (input) for mailman id 162981;
 Mon, 02 Aug 2021 12:35:29 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SgE8=MZ=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mAXAH-0001Mg-7z
 for xen-devel@lists.xenproject.org; Mon, 02 Aug 2021 12:35:29 +0000
Received: from mail-pl1-x636.google.com (unknown [2607:f8b0:4864:20::636])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id b4c28419-7f4e-48a0-b9c4-0d6296988338;
 Mon, 02 Aug 2021 12:35:28 +0000 (UTC)
Received: by mail-pl1-x636.google.com with SMTP id u2so11149282plg.10
 for <xen-devel@lists.xenproject.org>; Mon, 02 Aug 2021 05:35:28 -0700 (PDT)
Received: from ?IPv6:2404:f801:0:5:8000::4b1? ([2404:f801:9000:1a:efea::4b1])
 by smtp.gmail.com with ESMTPSA id
 g11sm10696958pju.13.2021.08.02.05.35.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Aug 2021 05:35: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: b4c28419-7f4e-48a0-b9c4-0d6296988338
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=P17ATPCGukDO//xkLZQBZuaX2KkafCVoCkJP2PCc12U=;
        b=uSz1V29fGX6wnfKClfnD5P1rh/6G4ybzLhb6KPWPPb6eZ2HEzfmHStIAm2N43ack5x
         ETcWD1FyNZMQBoyjY4aCEFCx2Wfye33oL5jKcyzFy4TChrGqa8j99tNqb7Peud6qur0g
         HSxbyh/S9VvDFpJm7czUM9e5UouUkzwjmLx3vV4iYXQnMQPDEp/wTYllcK7ITNHn68Dp
         MOnWhBnFiANNaMTFuwQk3MvS8R2grVLz4JqJf+n7xVj3C562MTurnsVUTflJysxfQYhE
         z53shCXQsRsAmcyYsm/NSjWT+vMCIAA2FisxRh/yWsZWWPV20EW7K2BRieMbbucA+e61
         TZ8A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=P17ATPCGukDO//xkLZQBZuaX2KkafCVoCkJP2PCc12U=;
        b=HmHDwXSFn04xPKnuDxfjnUUsr2O57fWbg7Vke3h7VFoEqOI/l9Kfx2lfL83zEKYAu5
         kNfxRitcduhW8dCxjXnZC4FXKNQVBlkg9afuL4HYRI/qdAnok3Qs5fSI809O6VLmC3Oe
         jfS34itNdF2xw7DW27pjzQueO8UC85TJuh/HVqUOwBbEa7tHRGe8nA+jhEJLcDuTBken
         ta6HgnWpni8Ph3Njs4nLBXlcjUSIsT8yYNlV2F4UleY41nwyuchFs0G9eOGoMxbHICGq
         bC5hE2fD/f7y7sE5T8nlmtQccUPQAbnB2ujXyGF1JfxqC56IVfamvHUE5Rb0XXunpwd7
         V4Zw==
X-Gm-Message-State: AOAM533JqE9sj1xHlaq5OHVnU52ftczQ6A124nr5VQX4EtzV275S8xVz
	/YNsPyub5b0Ns3UKX/KvKWQ=
X-Google-Smtp-Source: ABdhPJzYaozKahVEd/Y/yLXvnuEsqWmP1RjZTZHrtR9OGLLZiEzcQgoWz5sbNZrtoNXJm1QhUBxNOw==
X-Received: by 2002:a17:90b:4a90:: with SMTP id lp16mr16910701pjb.74.1627907727675;
        Mon, 02 Aug 2021 05:35:27 -0700 (PDT)
Subject: Re: [PATCH 01/13] x86/HV: Initialize GHCB page in Isolation VM
To: Joerg Roedel <joro@8bytes.org>
Cc: kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com,
 wei.liu@kernel.org, decui@microsoft.com, tglx@linutronix.de,
 mingo@redhat.com, bp@alien8.de, x86@kernel.org, hpa@zytor.com,
 dave.hansen@linux.intel.com, luto@kernel.org, peterz@infradead.org,
 konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, jgross@suse.com,
 sstabellini@kernel.org, will@kernel.org, davem@davemloft.net,
 kuba@kernel.org, jejb@linux.ibm.com, martin.petersen@oracle.com,
 arnd@arndb.de, hch@lst.de, m.szyprowski@samsung.com, robin.murphy@arm.com,
 thomas.lendacky@amd.com, brijesh.singh@amd.com, ardb@kernel.org,
 Tianyu.Lan@microsoft.com, rientjes@google.com, martin.b.radev@gmail.com,
 akpm@linux-foundation.org, rppt@kernel.org, kirill.shutemov@linux.intel.com,
 aneesh.kumar@linux.ibm.com, krish.sadhukhan@oracle.com, saravanand@fb.com,
 xen-devel@lists.xenproject.org, pgonda@google.com, david@redhat.com,
 keescook@chromium.org, hannes@cmpxchg.org, sfr@canb.auug.org.au,
 michael.h.kelley@microsoft.com, iommu@lists.linux-foundation.org,
 linux-arch@vger.kernel.org, linux-hyperv@vger.kernel.org,
 linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,
 netdev@vger.kernel.org, vkuznets@redhat.com, anparri@microsoft.com
References: <20210728145232.285861-1-ltykernel@gmail.com>
 <20210728145232.285861-2-ltykernel@gmail.com> <YQfctjRm16IP0qZy@8bytes.org>
From: Tianyu Lan <ltykernel@gmail.com>
Message-ID: <e8918379-5c59-c718-3cec-27da931660e9@gmail.com>
Date: Mon, 2 Aug 2021 20:35:10 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <YQfctjRm16IP0qZy@8bytes.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit

Hi Joerg:
      Thanks for your review.


On 8/2/2021 7:53 PM, Joerg Roedel wrote:
> On Wed, Jul 28, 2021 at 10:52:16AM -0400, Tianyu Lan wrote:
>> +static int hyperv_init_ghcb(void)
>> +{
>> +	u64 ghcb_gpa;
>> +	void *ghcb_va;
>> +	void **ghcb_base;
>> +
>> +	if (!ms_hyperv.ghcb_base)
>> +		return -EINVAL;
>> +
>> +	rdmsrl(MSR_AMD64_SEV_ES_GHCB, ghcb_gpa);
>> +	ghcb_va = memremap(ghcb_gpa, HV_HYP_PAGE_SIZE, MEMREMAP_WB);
> 
> This deserves a comment. As I understand it, the GHCB pa is set by
> Hyper-V or the paravisor, so the page does not need to be allocated by
> Linux.
> And it is not mapped unencrypted because the GHCB page is allocated
> above the VTOM boundary?

You are right. The ghdb page is allocated by paravisor and its physical 
address is above VTOM boundary. Will add a comment to describe this.
Thanks for suggestion.

> 
>> @@ -167,6 +190,31 @@ static int hv_cpu_die(unsigned int cpu)
>>   {
>>   	struct hv_reenlightenment_control re_ctrl;
>>   	unsigned int new_cpu;
>> +	unsigned long flags;
>> +	void **input_arg;
>> +	void *pg;
>> +	void **ghcb_va = NULL;
>> +
>> +	local_irq_save(flags);
>> +	input_arg = (void **)this_cpu_ptr(hyperv_pcpu_input_arg);
>> +	pg = *input_arg;
> 
> Pg is never used later on, why is it set?

Sorry for noise. This should be removed during rebase and will fix in 
the next version.


From xen-devel-bounces@lists.xenproject.org Mon Aug 02 12:40:04 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Aug 2021 12:40:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.162991.298697 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAXEg-0002Er-Tg; Mon, 02 Aug 2021 12:40:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 162991.298697; Mon, 02 Aug 2021 12:40:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAXEg-0002EB-QP; Mon, 02 Aug 2021 12:40:02 +0000
Received: by outflank-mailman (input) for mailman id 162991;
 Mon, 02 Aug 2021 12:40:01 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zvSH=MZ=8bytes.org=joro@srs-us1.protection.inumbo.net>)
 id 1mAXEf-00021y-Fr
 for xen-devel@lists.xenproject.org; Mon, 02 Aug 2021 12:40:01 +0000
Received: from theia.8bytes.org (unknown
 [2a01:238:4383:600:38bc:a715:4b6d:a889])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id a01a0459-9efc-492b-a852-1f11f8c17ca7;
 Mon, 02 Aug 2021 12:40:00 +0000 (UTC)
Received: by theia.8bytes.org (Postfix, from userid 1000)
 id 32B79379; Mon,  2 Aug 2021 14:39:56 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a01a0459-9efc-492b-a852-1f11f8c17ca7
Date: Mon, 2 Aug 2021 14:39:48 +0200
From: Joerg Roedel <joro@8bytes.org>
To: Tianyu Lan <ltykernel@gmail.com>
Cc: kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com,
	wei.liu@kernel.org, decui@microsoft.com, tglx@linutronix.de,
	mingo@redhat.com, bp@alien8.de, x86@kernel.org, hpa@zytor.com,
	dave.hansen@linux.intel.com, luto@kernel.org, peterz@infradead.org,
	konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, jgross@suse.com,
	sstabellini@kernel.org, will@kernel.org, davem@davemloft.net,
	kuba@kernel.org, jejb@linux.ibm.com, martin.petersen@oracle.com,
	arnd@arndb.de, hch@lst.de, m.szyprowski@samsung.com,
	robin.murphy@arm.com, thomas.lendacky@amd.com,
	brijesh.singh@amd.com, ardb@kernel.org, Tianyu.Lan@microsoft.com,
	rientjes@google.com, martin.b.radev@gmail.com,
	akpm@linux-foundation.org, rppt@kernel.org,
	kirill.shutemov@linux.intel.com, aneesh.kumar@linux.ibm.com,
	krish.sadhukhan@oracle.com, saravanand@fb.com,
	xen-devel@lists.xenproject.org, pgonda@google.com, david@redhat.com,
	keescook@chromium.org, hannes@cmpxchg.org, sfr@canb.auug.org.au,
	michael.h.kelley@microsoft.com, iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org, linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org, vkuznets@redhat.com, anparri@microsoft.com
Subject: Re: [PATCH 06/13] HV: Add ghcb hvcall support for SNP VM
Message-ID: <YQfnlBwyZUJyixQX@8bytes.org>
References: <20210728145232.285861-1-ltykernel@gmail.com>
 <20210728145232.285861-7-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20210728145232.285861-7-ltykernel@gmail.com>

On Wed, Jul 28, 2021 at 10:52:21AM -0400, Tianyu Lan wrote:
> +	hv_ghcb->ghcb.protocol_version = 1;
> +	hv_ghcb->ghcb.ghcb_usage = 1;

The values set to ghcb_usage deserve some defines (here and below).

> +
> +	hv_ghcb->hypercall.outputgpa = (u64)output;
> +	hv_ghcb->hypercall.hypercallinput.asuint64 = 0;
> +	hv_ghcb->hypercall.hypercallinput.callcode = control;
> +
> +	if (input_size)
> +		memcpy(hv_ghcb->hypercall.hypercalldata, input, input_size);
> +
> +	VMGEXIT();
> +
> +	hv_ghcb->ghcb.ghcb_usage = 0xffffffff;

...

>  union hv_ghcb {
>  	struct ghcb ghcb;
> +	struct {
> +		u64 hypercalldata[509];
> +		u64 outputgpa;
> +		union {
> +			union {
> +				struct {
> +					u32 callcode        : 16;
> +					u32 isfast          : 1;
> +					u32 reserved1       : 14;
> +					u32 isnested        : 1;
> +					u32 countofelements : 12;
> +					u32 reserved2       : 4;
> +					u32 repstartindex   : 12;
> +					u32 reserved3       : 4;
> +				};
> +				u64 asuint64;
> +			} hypercallinput;
> +			union {
> +				struct {
> +					u16 callstatus;
> +					u16 reserved1;
> +					u32 elementsprocessed : 12;
> +					u32 reserved2         : 20;
> +				};
> +				u64 asunit64;
> +			} hypercalloutput;
> +		};
> +		u64 reserved2;
> +	} hypercall;

Okay, this answers my previous question :)



From xen-devel-bounces@lists.xenproject.org Mon Aug 02 12:57:03 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Aug 2021 12:57:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.162999.298710 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAXUv-0004DO-By; Mon, 02 Aug 2021 12:56:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 162999.298710; Mon, 02 Aug 2021 12:56:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAXUv-0004DH-8x; Mon, 02 Aug 2021 12:56:49 +0000
Received: by outflank-mailman (input) for mailman id 162999;
 Mon, 02 Aug 2021 12:56:47 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SgE8=MZ=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mAXUt-0004DB-Fw
 for xen-devel@lists.xenproject.org; Mon, 02 Aug 2021 12:56:47 +0000
Received: from mail-pl1-x62f.google.com (unknown [2607:f8b0:4864:20::62f])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 2660c22f-67ca-4df8-9c45-da8db79ecf32;
 Mon, 02 Aug 2021 12:56:46 +0000 (UTC)
Received: by mail-pl1-x62f.google.com with SMTP id u16so10955505ple.2
 for <xen-devel@lists.xenproject.org>; Mon, 02 Aug 2021 05:56:46 -0700 (PDT)
Received: from ?IPv6:2404:f801:0:5:8000::4b1? ([2404:f801:9000:1a:efea::4b1])
 by smtp.gmail.com with ESMTPSA id
 g7sm6679837pfv.66.2021.08.02.05.56.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Aug 2021 05:56: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: 2660c22f-67ca-4df8-9c45-da8db79ecf32
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=/GYPS7X+85wR6YC8425aJSok3ZXyi4U2bTyYNUsfO5w=;
        b=pyQkhPeDqOZN1lKQvpgjaZhDuqcfBH++qI9Yz80iquDkO6oGt+tBuSPtyV0nMGVBJ1
         M2E5aA/XAnoteOyDQT8M+x5AliZKopkoGnInKwL3m2QqBiWDu36W26gL/YPC8K/KeYlr
         lKiZUAf6XKEOBg70NsE3K9fU4mOPUUIoCYKqtgQQ2HjvRH1Q+CjUYFOowxeVCbfkbnu7
         GXswmjuYPprsxcXIE4NienyvsAMjibDdMeps+gxmOrpMJQUHeDF7e/9b+DgNRmsrf0dj
         R82WDqtlRqQuveuh5cTGWXuurfZKwGo+CrnXy7KJkYXeft1AWFi82RFU5cJODZER7tHh
         HwOA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=/GYPS7X+85wR6YC8425aJSok3ZXyi4U2bTyYNUsfO5w=;
        b=p/ca/bCbZMrz4lNl56wNthyYBOdGIknb1s/oIJU0bhBceW/UmeKcgCJc8d5XvIDxKS
         z32yunc5niyRz8RDWeM+TRYylEHxCDBTXzI2hZ8ZFAGtXk22DPOJYoBi3LJFsbwtTVyD
         Kgo4fy6xBH+6rFhuPXSDI2PO+DytGxtf1zuILSvlLTNrkGxc2YTLKMQA63eT6ZnXFSjV
         TNirLytnApF+tTI8u2GVvG6+871RdJTbhrn5aDOz/SqgEWtXnispaQ3WkgJ0EFgUbmjR
         TgzGQG19X8C67FUZDGtHZX6w308sDIQ1EfQ8zVwNuRB/+eZ/q95VvcKbBrO3a6GJhMOV
         +T3Q==
X-Gm-Message-State: AOAM530NycTGjZqv07921UWWsUm0K3AMDuvnE7tADLWq4ZE4yW7g+NKv
	U5Oammwc+zZcUIXRsoFrX40=
X-Google-Smtp-Source: ABdhPJyLDEEPYFYa8bCYhczgLUorbl2lwmF46SVfXQIXh/rESGtdQ+84YDRl3Rg46/KGbl2xu2SCOw==
X-Received: by 2002:a17:902:b48b:b029:12c:59b:dc44 with SMTP id y11-20020a170902b48bb029012c059bdc44mr14086944plr.47.1627909005643;
        Mon, 02 Aug 2021 05:56:45 -0700 (PDT)
Subject: Re: [PATCH 04/13] HV: Mark vmbus ring buffer visible to host in
 Isolation VM
To: Joerg Roedel <joro@8bytes.org>
Cc: kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com,
 wei.liu@kernel.org, decui@microsoft.com, tglx@linutronix.de,
 mingo@redhat.com, bp@alien8.de, x86@kernel.org, hpa@zytor.com,
 dave.hansen@linux.intel.com, luto@kernel.org, peterz@infradead.org,
 konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, jgross@suse.com,
 sstabellini@kernel.org, will@kernel.org, davem@davemloft.net,
 kuba@kernel.org, jejb@linux.ibm.com, martin.petersen@oracle.com,
 arnd@arndb.de, hch@lst.de, m.szyprowski@samsung.com, robin.murphy@arm.com,
 thomas.lendacky@amd.com, brijesh.singh@amd.com, ardb@kernel.org,
 Tianyu.Lan@microsoft.com, rientjes@google.com, martin.b.radev@gmail.com,
 akpm@linux-foundation.org, rppt@kernel.org, kirill.shutemov@linux.intel.com,
 aneesh.kumar@linux.ibm.com, krish.sadhukhan@oracle.com, saravanand@fb.com,
 xen-devel@lists.xenproject.org, pgonda@google.com, david@redhat.com,
 keescook@chromium.org, hannes@cmpxchg.org, sfr@canb.auug.org.au,
 michael.h.kelley@microsoft.com, iommu@lists.linux-foundation.org,
 linux-arch@vger.kernel.org, linux-hyperv@vger.kernel.org,
 linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,
 netdev@vger.kernel.org, vkuznets@redhat.com, anparri@microsoft.com
References: <20210728145232.285861-1-ltykernel@gmail.com>
 <20210728145232.285861-5-ltykernel@gmail.com> <YQfgH04t2SqacnHn@8bytes.org>
From: Tianyu Lan <ltykernel@gmail.com>
Message-ID: <173823d1-280c-d34e-be2c-157b55bb6bc3@gmail.com>
Date: Mon, 2 Aug 2021 20:56:29 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <YQfgH04t2SqacnHn@8bytes.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit



On 8/2/2021 8:07 PM, Joerg Roedel wrote:
> On Wed, Jul 28, 2021 at 10:52:19AM -0400, Tianyu Lan wrote:
>> +	if (type == HV_GPADL_BUFFER)
>> +		index = 0;
>> +	else
>> +		index = channel->gpadl_range[1].gpadlhandle ? 2 : 1;
> 
> Hmm... This doesn't look very robust. Can you set fixed indexes for
> different buffer types? HV_GPADL_BUFFER already has fixed index 0. But
> as it is implemented here you risk that index 2 gets overwritten by
> subsequent calls.

Both second and third are HV_GPADL_RING type. One is send ring and the
other is receive ring. The driver keeps the order to allocate rx and
tx buffer. You are right this is not robust and will add a mutex to keep
the order.


From xen-devel-bounces@lists.xenproject.org Mon Aug 02 12:58:36 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Aug 2021 12:58:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163006.298721 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAXWd-0004oy-Nl; Mon, 02 Aug 2021 12:58:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163006.298721; Mon, 02 Aug 2021 12: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 1mAXWd-0004or-Kr; Mon, 02 Aug 2021 12:58:35 +0000
Received: by outflank-mailman (input) for mailman id 163006;
 Mon, 02 Aug 2021 12:58:33 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zvSH=MZ=8bytes.org=joro@srs-us1.protection.inumbo.net>)
 id 1mAXWb-0004oR-Nd
 for xen-devel@lists.xenproject.org; Mon, 02 Aug 2021 12:58:33 +0000
Received: from theia.8bytes.org (unknown [81.169.241.247])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id afa09f6b-0175-4485-bd39-379bdac5b72e;
 Mon, 02 Aug 2021 12:58:32 +0000 (UTC)
Received: by theia.8bytes.org (Postfix, from userid 1000)
 id 9AD29379; Mon,  2 Aug 2021 14:58:30 +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: afa09f6b-0175-4485-bd39-379bdac5b72e
Date: Mon, 2 Aug 2021 14:58:26 +0200
From: Joerg Roedel <joro@8bytes.org>
To: Tianyu Lan <ltykernel@gmail.com>
Cc: kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com,
	wei.liu@kernel.org, decui@microsoft.com, tglx@linutronix.de,
	mingo@redhat.com, bp@alien8.de, x86@kernel.org, hpa@zytor.com,
	dave.hansen@linux.intel.com, luto@kernel.org, peterz@infradead.org,
	konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, jgross@suse.com,
	sstabellini@kernel.org, will@kernel.org, davem@davemloft.net,
	kuba@kernel.org, jejb@linux.ibm.com, martin.petersen@oracle.com,
	arnd@arndb.de, hch@lst.de, m.szyprowski@samsung.com,
	robin.murphy@arm.com, thomas.lendacky@amd.com,
	brijesh.singh@amd.com, ardb@kernel.org, Tianyu.Lan@microsoft.com,
	rientjes@google.com, martin.b.radev@gmail.com,
	akpm@linux-foundation.org, rppt@kernel.org,
	kirill.shutemov@linux.intel.com, aneesh.kumar@linux.ibm.com,
	krish.sadhukhan@oracle.com, saravanand@fb.com,
	xen-devel@lists.xenproject.org, pgonda@google.com, david@redhat.com,
	keescook@chromium.org, hannes@cmpxchg.org, sfr@canb.auug.org.au,
	michael.h.kelley@microsoft.com, iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org, linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org, vkuznets@redhat.com, anparri@microsoft.com
Subject: Re: [PATCH 07/13] HV/Vmbus: Add SNP support for VMbus channel
 initiate message
Message-ID: <YQfr8lsaghth8Zix@8bytes.org>
References: <20210728145232.285861-1-ltykernel@gmail.com>
 <20210728145232.285861-8-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20210728145232.285861-8-ltykernel@gmail.com>

On Wed, Jul 28, 2021 at 10:52:22AM -0400, Tianyu Lan wrote:
> +	if (hv_is_isolation_supported()) {
> +		vmbus_connection.monitor_pages_va[0]
> +			= vmbus_connection.monitor_pages[0];
> +		vmbus_connection.monitor_pages[0]
> +			= memremap(msg->monitor_page1, HV_HYP_PAGE_SIZE,
> +				   MEMREMAP_WB);
> +		if (!vmbus_connection.monitor_pages[0])
> +			return -ENOMEM;
> +
> +		vmbus_connection.monitor_pages_va[1]
> +			= vmbus_connection.monitor_pages[1];
> +		vmbus_connection.monitor_pages[1]
> +			= memremap(msg->monitor_page2, HV_HYP_PAGE_SIZE,
> +				   MEMREMAP_WB);
> +		if (!vmbus_connection.monitor_pages[1]) {
> +			memunmap(vmbus_connection.monitor_pages[0]);
> +			return -ENOMEM;
> +		}
> +
> +		memset(vmbus_connection.monitor_pages[0], 0x00,
> +		       HV_HYP_PAGE_SIZE);
> +		memset(vmbus_connection.monitor_pages[1], 0x00,
> +		       HV_HYP_PAGE_SIZE);
> +	}

Okay, let me see if I got this right. In Hyper-V Isolation VMs, when the
guest wants to make memory shared, it does":

	- Call to the Hypervisor the mark the pages shared. The
	  Hypervisor will do the RMP update and remap the pages at
	  (VTOM + pa)

	- The guest maps the memory again into its page-table, so that
	  the entries point to the correct GPA (which is above VTOM
	  now).

Or in other words, Hyper-V implements a hardware-independent and
configurable c-bit position, as the VTOM value is always power-of-two
aligned. Is that correct?
This would at least explain why there is no separate
allocation/dealloction of memory for the shared range.

Thanks,

	Joerg


From xen-devel-bounces@lists.xenproject.org Mon Aug 02 12:59:48 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Aug 2021 12:59:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163014.298734 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAXXn-0005Vq-6Z; Mon, 02 Aug 2021 12:59:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163014.298734; Mon, 02 Aug 2021 12:59:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAXXn-0005Vj-3e; Mon, 02 Aug 2021 12:59:47 +0000
Received: by outflank-mailman (input) for mailman id 163014;
 Mon, 02 Aug 2021 12:59:46 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zvSH=MZ=8bytes.org=joro@srs-us1.protection.inumbo.net>)
 id 1mAXXl-0005VX-WC
 for xen-devel@lists.xenproject.org; Mon, 02 Aug 2021 12:59:46 +0000
Received: from theia.8bytes.org (unknown
 [2a01:238:4383:600:38bc:a715:4b6d:a889])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 7d912e66-bf16-4365-92e1-89c50c57805c;
 Mon, 02 Aug 2021 12:59:45 +0000 (UTC)
Received: by theia.8bytes.org (Postfix, from userid 1000)
 id D9F01379; Mon,  2 Aug 2021 14:59: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: 7d912e66-bf16-4365-92e1-89c50c57805c
Date: Mon, 2 Aug 2021 14:59:42 +0200
From: Joerg Roedel <joro@8bytes.org>
To: Tianyu Lan <ltykernel@gmail.com>
Cc: kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com,
	wei.liu@kernel.org, decui@microsoft.com, tglx@linutronix.de,
	mingo@redhat.com, bp@alien8.de, x86@kernel.org, hpa@zytor.com,
	dave.hansen@linux.intel.com, luto@kernel.org, peterz@infradead.org,
	konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, jgross@suse.com,
	sstabellini@kernel.org, will@kernel.org, davem@davemloft.net,
	kuba@kernel.org, jejb@linux.ibm.com, martin.petersen@oracle.com,
	arnd@arndb.de, hch@lst.de, m.szyprowski@samsung.com,
	robin.murphy@arm.com, thomas.lendacky@amd.com,
	brijesh.singh@amd.com, ardb@kernel.org, Tianyu.Lan@microsoft.com,
	rientjes@google.com, martin.b.radev@gmail.com,
	akpm@linux-foundation.org, rppt@kernel.org,
	kirill.shutemov@linux.intel.com, aneesh.kumar@linux.ibm.com,
	krish.sadhukhan@oracle.com, saravanand@fb.com,
	xen-devel@lists.xenproject.org, pgonda@google.com, david@redhat.com,
	keescook@chromium.org, hannes@cmpxchg.org, sfr@canb.auug.org.au,
	michael.h.kelley@microsoft.com, iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org, linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org, vkuznets@redhat.com, anparri@microsoft.com
Subject: Re: [PATCH 04/13] HV: Mark vmbus ring buffer visible to host in
 Isolation VM
Message-ID: <YQfsPv1WC7dnHGDu@8bytes.org>
References: <20210728145232.285861-1-ltykernel@gmail.com>
 <20210728145232.285861-5-ltykernel@gmail.com>
 <YQfgH04t2SqacnHn@8bytes.org>
 <173823d1-280c-d34e-be2c-157b55bb6bc3@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <173823d1-280c-d34e-be2c-157b55bb6bc3@gmail.com>

On Mon, Aug 02, 2021 at 08:56:29PM +0800, Tianyu Lan wrote:
> Both second and third are HV_GPADL_RING type. One is send ring and the
> other is receive ring. The driver keeps the order to allocate rx and
> tx buffer. You are right this is not robust and will add a mutex to keep
> the order.

Or you introduce fixed indexes for the RX and TX buffers?


From xen-devel-bounces@lists.xenproject.org Mon Aug 02 13:00:07 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Aug 2021 13:00:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163021.298746 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAXY7-0006m0-FU; Mon, 02 Aug 2021 13:00:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163021.298746; Mon, 02 Aug 2021 13: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 1mAXY7-0006lr-CC; Mon, 02 Aug 2021 13:00:07 +0000
Received: by outflank-mailman (input) for mailman id 163021;
 Mon, 02 Aug 2021 13:00:06 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SgE8=MZ=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mAXY6-0005r0-Ij
 for xen-devel@lists.xenproject.org; Mon, 02 Aug 2021 13:00:06 +0000
Received: from mail-pl1-x636.google.com (unknown [2607:f8b0:4864:20::636])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 56f72e1c-05ae-4824-a716-915ecc398201;
 Mon, 02 Aug 2021 13:00:06 +0000 (UTC)
Received: by mail-pl1-x636.google.com with SMTP id k2so1952173plk.13
 for <xen-devel@lists.xenproject.org>; Mon, 02 Aug 2021 06:00:05 -0700 (PDT)
Received: from ?IPv6:2404:f801:0:5:8000::4b1? ([2404:f801:9000:1a:efea::4b1])
 by smtp.gmail.com with ESMTPSA id
 c16sm12058607pfb.196.2021.08.02.05.59.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Aug 2021 06: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: 56f72e1c-05ae-4824-a716-915ecc398201
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=EeSreHE5hdlnf0oXwm47d4tHu8/yxl93O4VWV6niMlg=;
        b=efFY4vl/l2ivNbm9EOrCQxUa+dPOqt+8w3noLnVCdDetf0McOpBx3fU1tspnDVVuA9
         7Pzv+sfvPIPgVGU0Gqn+pSKd3nKVxLIzug5jkaYAf1sxqB4Sj0UeiEE6tIsKyIsNrbdb
         ZzB+XhOGshwvZxs1k3uAu6PqViC47olBDYUYasFKmXsBP6Tc5r37JShifRbS9KCBLzOo
         ccydI/zYibadoznRJjQWxzc/7VlNTvJt95AEOP6ibHmciLPQPtUqMmcQXmeQ5eZpI1FU
         pyJaLee84JdYVXLzgQtCDJTZdDbbh45idglyEUAoA7BOt7lOK6B0ANXplELatDb4KrR+
         M5sg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=EeSreHE5hdlnf0oXwm47d4tHu8/yxl93O4VWV6niMlg=;
        b=c77vX7OQI79uBJYQBrEhTY0CBcXIAaS2MkiEbLRe9AwL1Dh8xzs8DJA2iJoFmfzN5/
         2EFH6u7FcVcMvIuRWpdne+2SPJlQcN6X2GhzdY3SyOf0TrGtzuSQVheozHNUwr0Q03G4
         5LC7rE51v6SSF2tOlvibBhRWafJ758OL1QIijHbrRv+SLiw6pxq7ZWQvfN0n2OUfkpbG
         aK/Wao0fE2MSoQ0R9XlnnZs8zG1omnODu7v0JtEPxCHAdRapBb6b5URQr4n8PCHiNQFs
         JoAmFVwipF32ne5mmPjyGaMYRNlbnFzY2reMmE43zxfP3yUNKdXp/soI3KJuzGM4Sj/l
         ey+Q==
X-Gm-Message-State: AOAM533hyO0xXEWdYEb6gZ3wbLbLiM4NBNFJEk7M/is0YyNCwlZ6hp9s
	CG5gT4VIPOBpolBfO+QgZpQ=
X-Google-Smtp-Source: ABdhPJwQqurl+5kiEreCzf7V/W8FK4cyMJ1mZbyof3Kxoh8aAKG0BtZ6XERTRpAICjuoFK7OauJ+1Q==
X-Received: by 2002:a17:90b:3556:: with SMTP id lt22mr17715473pjb.174.1627909205346;
        Mon, 02 Aug 2021 06:00:05 -0700 (PDT)
Subject: Re: [PATCH 03/13] x86/HV: Add new hvcall guest address host
 visibility support
To: Joerg Roedel <joro@8bytes.org>, Dave Hansen <dave.hansen@intel.com>
Cc: kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com,
 wei.liu@kernel.org, decui@microsoft.com, tglx@linutronix.de,
 mingo@redhat.com, bp@alien8.de, x86@kernel.org, hpa@zytor.com,
 dave.hansen@linux.intel.com, luto@kernel.org, peterz@infradead.org,
 konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, jgross@suse.com,
 sstabellini@kernel.org, will@kernel.org, davem@davemloft.net,
 kuba@kernel.org, jejb@linux.ibm.com, martin.petersen@oracle.com,
 arnd@arndb.de, hch@lst.de, m.szyprowski@samsung.com, robin.murphy@arm.com,
 thomas.lendacky@amd.com, brijesh.singh@amd.com, ardb@kernel.org,
 Tianyu.Lan@microsoft.com, rientjes@google.com, martin.b.radev@gmail.com,
 akpm@linux-foundation.org, rppt@kernel.org, kirill.shutemov@linux.intel.com,
 aneesh.kumar@linux.ibm.com, krish.sadhukhan@oracle.com, saravanand@fb.com,
 xen-devel@lists.xenproject.org, pgonda@google.com, david@redhat.com,
 keescook@chromium.org, hannes@cmpxchg.org, sfr@canb.auug.org.au,
 michael.h.kelley@microsoft.com, iommu@lists.linux-foundation.org,
 linux-arch@vger.kernel.org, linux-hyperv@vger.kernel.org,
 linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,
 netdev@vger.kernel.org, vkuznets@redhat.com, anparri@microsoft.com
References: <20210728145232.285861-1-ltykernel@gmail.com>
 <20210728145232.285861-4-ltykernel@gmail.com>
 <c00e269c-da4c-c703-0182-0221c73a76cc@intel.com>
 <YQfepYTC4n6agq9z@8bytes.org>
From: Tianyu Lan <ltykernel@gmail.com>
Message-ID: <996e46e1-6776-6c87-d791-0df6f0aa58dc@gmail.com>
Date: Mon, 2 Aug 2021 20:59:48 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <YQfepYTC4n6agq9z@8bytes.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit



On 8/2/2021 8:01 PM, Joerg Roedel wrote:
> On Wed, Jul 28, 2021 at 08:29:41AM -0700, Dave Hansen wrote:
>> __set_memory_enc_dec() is turning into a real mess.  SEV, TDX and now
>> Hyper-V are messing around in here.
> 
> I was going to suggest a PV_OPS call where the fitting implementation
> for the guest environment can be plugged in at boot. There is TDX and an
> SEV(-SNP) case, a Hyper-V case, and likely more coming up from other
> cloud/hypervisor vendors. Hiding all these behind feature checks is not
> going to make things cleaner.
> 

Yes, that makes sense. I will do this in the next version.


From xen-devel-bounces@lists.xenproject.org Mon Aug 02 13:04:53 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Aug 2021 13:04:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163030.298758 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAXcf-0007YB-27; Mon, 02 Aug 2021 13:04:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163030.298758; Mon, 02 Aug 2021 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 1mAXce-0007Y4-VV; Mon, 02 Aug 2021 13:04:48 +0000
Received: by outflank-mailman (input) for mailman id 163030;
 Mon, 02 Aug 2021 13:04: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 1mAXcd-0007Xu-6i; Mon, 02 Aug 2021 13:04: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 1mAXcc-0007ID-UO; Mon, 02 Aug 2021 13:04: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 1mAXcc-0001yJ-Kb; Mon, 02 Aug 2021 13:04:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mAXcc-0005Ha-K5; Mon, 02 Aug 2021 13: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=wAQvF2F+5x5SxM6rxoIXQAeBQD5hKmSvmwDublS04Nc=; b=lDqf00paEHletFcrypD9xFJzNq
	5k1ivgw/DOfciCbfYFgGqFYICUm0TviC6HDbOrK8CSiykbfwgx60kaAnW/67t1Ss5oCOdzSM0vsKW
	xSw5f7hsqkB8JT8/HyhOyaH82cfTP6iecIBuOmaWhSyl7RWpXujLUXuYE32HsN3yD5LI=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164081-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 164081: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=03e77558d4939b9c21e94f03072360e9b00bb559
X-Osstest-Versions-That:
    ovmf=3445058aea4f64a994e4ec040135258a135d36ce
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 02 Aug 2021 13:04:46 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 03e77558d4939b9c21e94f03072360e9b00bb559
baseline version:
 ovmf                 3445058aea4f64a994e4ec040135258a135d36ce

Last test of basis   164078  2021-08-02 02:10:07 Z    0 days
Testing same since   164081  2021-08-02 08:41:13 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Bob Feng <bob.c.feng@intel.com>
  Cole <crobinso@redhat.com>
  Cole Robinson <crobinso@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
   3445058aea..03e77558d4  03e77558d4939b9c21e94f03072360e9b00bb559 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Aug 02 13:08:03 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Aug 2021 13:08:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163038.298773 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAXfl-0008Bz-Ha; Mon, 02 Aug 2021 13:08:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163038.298773; Mon, 02 Aug 2021 13: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 1mAXfl-0008Bs-EW; Mon, 02 Aug 2021 13:08:01 +0000
Received: by outflank-mailman (input) for mailman id 163038;
 Mon, 02 Aug 2021 13:07:59 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QgzF=MZ=oracle.com=boris.ostrovsky@srs-us1.protection.inumbo.net>)
 id 1mAXfj-0008Bm-LI
 for xen-devel@lists.xenproject.org; Mon, 02 Aug 2021 13:07:59 +0000
Received: from mx0a-00069f02.pphosted.com (unknown [205.220.165.32])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id feb1db16-4a9d-4030-be5a-d6738cb03268;
 Mon, 02 Aug 2021 13:07:58 +0000 (UTC)
Received: from pps.filterd (m0246627.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id
 172D1HKh028080; Mon, 2 Aug 2021 13:06:59 GMT
Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70])
 by mx0b-00069f02.pphosted.com with ESMTP id 3a65vd975r-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Mon, 02 Aug 2021 13:06:58 +0000
Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1])
 by aserp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 172D5rHY025118;
 Mon, 2 Aug 2021 13:06:55 GMT
Received: from nam12-bn8-obe.outbound.protection.outlook.com
 (mail-bn8nam12lp2172.outbound.protection.outlook.com [104.47.55.172])
 by aserp3020.oracle.com with ESMTP id 3a4xb4upbf-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Mon, 02 Aug 2021 13:06:55 +0000
Received: from BLAPR10MB5009.namprd10.prod.outlook.com (2603:10b6:208:321::10)
 by MN2PR10MB4400.namprd10.prod.outlook.com (2603:10b6:208:198::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.18; Mon, 2 Aug
 2021 13:06:52 +0000
Received: from BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::f10d:29d2:cb38:ed0]) by BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::f10d:29d2:cb38:ed0%8]) with mapi id 15.20.4373.026; Mon, 2 Aug 2021
 13:06:52 +0000
Received: from [10.74.101.14] (160.34.89.14) by
 SN6PR04CA0087.namprd04.prod.outlook.com (2603:10b6:805:f2::28) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4373.19 via Frontend Transport; Mon, 2 Aug 2021 13: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: feb1db16-4a9d-4030-be5a-d6738cb03268
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=subject : to : cc :
 references : from : message-id : date : in-reply-to : content-type :
 content-transfer-encoding : mime-version; s=corp-2021-07-09;
 bh=Q9ZBUhg1LK0z1heQNXxYh1j73JsSHk6rkbtV9O7kV8c=;
 b=hl439AKrCKssYWt0Gtgdle2UFUF7VfEALhMs3sFn5ihDq3n28v1pCgibpSGLJeWPWGVV
 9S08ujARZz6Pgv31s3kJlqg4i/z4b0RxWLYSbKayvZvl8Jm3jOC+9nhkrNnCncU5OAez
 qy2STLKPXH4uNwPDRjS71P3F4uvofYwOFEx++ywfhGkT1okvxPKkrJCefLMzTjWfX08t
 D16RcJ1NGANqGlHUUUpaHkDpf8qnMNkOpVHnPFla3zNHkTNHbM73i4pUoDn7hlB0KVqn
 MteKf5MiskWZtbyjm+p4j2vTpV+3YyeFzToryznh6eoz1d0thAfdkRPERauOM3fw/RVK AQ== 
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=subject : to : cc :
 references : from : message-id : date : in-reply-to : content-type :
 content-transfer-encoding : mime-version; s=corp-2020-01-29;
 bh=Q9ZBUhg1LK0z1heQNXxYh1j73JsSHk6rkbtV9O7kV8c=;
 b=emVgII1uc1IERxY3o++Kv1eMAqGG5k63VtNk5liUyXSQiNQEt+J4Iiz0AiGprvX33K63
 1jFuTe9v6Q5oHMSCagk6RyiM7xhz87ECTo8lCdNbU2kgWKOr77vWecVlk1YGLwqxeuRa
 vpokEhM4WY5VuZKoisxx2QXJ5zU4XHVU1IO8o4hxb6mqhC6wSQJFsfBFodmUDbC4p4yz
 2VEtmrXvVzGvzLPUkeaDtD+DwIZPlOIo5kymW0AWgtFcFInlyR3qyaKixzMhc2OWJ2Xx
 8n6pM/X0EOKVVpcvwRCzCCxGnuCa/s3s6vETR52Cm2J0PyAuETW4kd1r1c3SSynWfBdE mw== 
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ipqQqAdtkrHrw53rJup/e1rMdPpPbskowkaKasngA0dVFdWvvnDHmuQingns8us1alWzTIk6VJkEYcsTfi04zbk5RZw4DSTuG2RL2RpKRMQC3K+80wpsfAZPGvnXj0nTO0ROaeuwy+Iz8ypMPTzEG3qKv0fcHFTIZciso1p3zvrhog/409CWdsXFwV2bYXtVe6YLXuMLKEfSW0wzRCTVxIsKlrbWDO4x/1odnU8C0WjE5MOv8DkePneaFelHKxjJj6f4Ddx2NB4wwtYEhQJfu+/EJsBw7HaWnT78oZKTlcoYBMj/GyFPUcsIbQdQFGUa6HvsoIr1uKC2i0M9odOQBw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=I5W7Rt23VbQ7Mj8HWXmATUJEbSZASSn2vfTtnLqvcMA=;
 b=luW0cSXxHZrzCcfpPmNxgqfJhmU3/ftf+08o3zEpkdqayBQUDBpZwy6yLd3OBzdx/Oo8tZUp2tB4bSckkSRHrnUXIn2GBi08T5R8Rf8M+yt1UD3x+CrEx7xefhqsGODk0Np+SqkrJkjQIyqZ4FZCl0b8akNUKr+DZ7MO8b6Xn02m2FBIDhS/3ssYYUn+dKWUwxvngPzoIK7iGvqTse4n7iPKiCpyO03AfR35vzAZswtFzbObGYiuzxov0T4EPkDMUDlyNc4ugaLIkj3h1bXYBhCtqLkRRAoIPII4VWbdb/BrFO9awRzI4LbNdVZUjBc7jVkSX6fbDrrJKlX0taF82Q==
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=I5W7Rt23VbQ7Mj8HWXmATUJEbSZASSn2vfTtnLqvcMA=;
 b=pX856HZ+QxlSUKjYYeXuExEdh6++R+B9RlqLJdH1lymUIJQIFrk5ZISPCt5siz3U17t6M/yNyJhXRoJKDYQqnDSBZYTMwl4Snjd9iu4X+ZFppEoZEeun4snm7cga84o3f1Mq+5v44VHEf1FXNi/eCzsyyIK7n+y0qMoy8Z+W6Os=
Authentication-Results: davemloft.net; dkim=none (message not signed)
 header.d=none;davemloft.net; dmarc=none action=none header.from=oracle.com;
Subject: Re: [PATCH v1 4/5] PCI: Adapt all code locations to not use struct
 pci_dev::driver directly
To: =?UTF-8?Q?Uwe_Kleine-K=c3=b6nig?= <u.kleine-koenig@pengutronix.de>
Cc: Bjorn Helgaas <bhelgaas@google.com>, Mark Rutland <mark.rutland@arm.com>,
        Giovanni Cabiddu <giovanni.cabiddu@intel.com>,
        =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= <zajec5@gmail.com>,
        Peter Zijlstra <peterz@infradead.org>, linux-pci@vger.kernel.org,
        Alexander Duyck <alexanderduyck@fb.com>,
        Russell Currey <ruscur@russell.cc>,
        Sathya Prakash <sathya.prakash@broadcom.com>, oss-drivers@corigine.com,
        Oliver O'Halloran <oohall@gmail.com>, "H. Peter Anvin" <hpa@zytor.com>,
        Jiri Olsa <jolsa@redhat.com>, linux-perf-users@vger.kernel.org,
        Stefano Stabellini <sstabellini@kernel.org>,
        Herbert Xu <herbert@gondor.apana.org.au>, linux-scsi@vger.kernel.org,
        Michael Ellerman <mpe@ellerman.id.au>,
        Ido Schimmel <idosch@nvidia.com>, x86@kernel.org, qat-linux@intel.com,
        Alexander Shishkin <alexander.shishkin@linux.intel.com>,
        Ingo Molnar <mingo@redhat.com>,
        Geert Uytterhoeven <geert@linux-m68k.org>,
        Benjamin Herrenschmidt <benh@kernel.crashing.org>,
        linux-wireless@vger.kernel.org, Jakub Kicinski <kuba@kernel.org>,
        Mathias Nyman <mathias.nyman@intel.com>,
        Yisen Zhuang <yisen.zhuang@huawei.com>,
        Fiona Trahe <fiona.trahe@intel.com>,
        Andrew Donnellan <ajd@linux.ibm.com>, Arnd Bergmann <arnd@arndb.de>,
        Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
        Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>,
        Simon Horman <simon.horman@corigine.com>,
        Arnaldo Carvalho de Melo <acme@kernel.org>,
        Borislav Petkov <bp@alien8.de>, Michael Buesch <m@bues.ch>,
        Jiri Pirko <jiri@nvidia.com>, Namhyung Kim <namhyung@kernel.org>,
        Thomas Gleixner <tglx@linutronix.de>,
        Andy Shevchenko <andriy.shevchenko@intel.com>,
        Juergen Gross <jgross@suse.com>, Salil Mehta <salil.mehta@huawei.com>,
        Sreekanth Reddy <sreekanth.reddy@broadcom.com>,
        xen-devel@lists.xenproject.org, Vadym Kochan <vkochan@marvell.com>,
        MPT-FusionLinux.pdl@broadcom.com,
        Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
        linux-usb@vger.kernel.org, Wojciech Ziemba <wojciech.ziemba@intel.com>,
        linux-kernel@vger.kernel.org, Taras Chornyi <tchornyi@marvell.com>,
        Zhou Wang <wangzhou1@hisilicon.com>, linux-crypto@vger.kernel.org,
        kernel@pengutronix.de, netdev@vger.kernel.org,
        Frederic Barrat <fbarrat@linux.ibm.com>,
        Paul Mackerras <paulus@samba.org>, linuxppc-dev@lists.ozlabs.org,
        "David S. Miller" <davem@davemloft.net>
References: <20210729203740.1377045-1-u.kleine-koenig@pengutronix.de>
 <20210729203740.1377045-5-u.kleine-koenig@pengutronix.de>
 <2b5e8cb5-fac2-5da2-f87b-d287d2c5ea81@oracle.com>
 <20210731120836.vegno6voijvlflws@pengutronix.de>
From: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Message-ID: <d9dfe855-a2a5-c48b-b4c4-8109d7289809@oracle.com>
Date: Mon, 2 Aug 2021 09:06:34 -0400
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
In-Reply-To: <20210731120836.vegno6voijvlflws@pengutronix.de>
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: 8bit
Content-Language: en-US
X-ClientProxiedBy: SN6PR04CA0087.namprd04.prod.outlook.com
 (2603:10b6:805:f2::28) To BLAPR10MB5009.namprd10.prod.outlook.com
 (2603:10b6:208:321::10)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5d6de3c4-6f98-4c6f-2e64-08d955b6654d
X-MS-TrafficTypeDiagnostic: MN2PR10MB4400:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: 
	<MN2PR10MB4400A5E9184CD5BC55012BC28AEF9@MN2PR10MB4400.namprd10.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8273;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 
	Mh9lttD8PHCHFtbhor09IMvlqtOLt2k1ZQPqGoJoNP1JHi6njLVTS9AAfNYrhXu0Hj5Al9Y075k61p3h4eiv2JP8oiHMjaMLkrlopRWRtcotv0McNha3QJuYRV/Xl/SkxbobKP+ctDC711ILml1r6Al58ZkDld+0jtTUSkFuWCHZbb3CE63dEffimycsPMEGhUolXOx3vs1cAk1A64Lw/3ll84i7+R2yTl19lmh0LPoUp5ckRBshW8FjlcOGFesTTucGW3O7bNpMI63O7pB8jwQ4P+CYpUJOfksIY4BNmhm1307bicNsUctQ2iBqf6mFhoYoWSgrFfO3rARBPW6gJnVC5pPb1kMEJ+LHqMadVxqsiOHueZTQEwhZMDD6YKzkzGUyBXO8dYTseEZ6odHvUSwJWRC2IuJu2VVRawlgePgy1eAM6UTWi8Mu1UdGQpvWhUibxHYKy6K/Kjc2uOCOVv5zvYgHxYWVLmbyh3DNiHmZOhr5meMXw+DoOj0c/hH6MKnsJIXrlWwMBopeK4+Iurg5aMiKj5O1TNBuFpTrmMFRnv+2gaBwyAIuV4cyNi7X/9LOJ1vwNszRSqQ5amnVJwLmkch/ycOUtsAFjU27tcUa5/DxXN9hYkiiVe0lCA7RYv83AroI8StHfiwVEGLqZ+zb/dvyjqxbs3fn4YG7KNvy66mFKzGU1CeRhrgTQVOXnEus2SMP0dcDB3M/iTy5lE0Amzq2nvdVnMoGBamSlZc=
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:(376002)(346002)(39860400002)(396003)(136003)(366004)(6916009)(186003)(36756003)(54906003)(5660300002)(38100700002)(8676002)(26005)(478600001)(6486002)(83380400001)(4326008)(31686004)(66476007)(6666004)(31696002)(16576012)(66946007)(2616005)(956004)(316002)(7416002)(7366002)(44832011)(53546011)(2906002)(66556008)(8936002)(7406005)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?Windows-1252?Q?rcNtk0kzhjsCG5MAuUYd78NhRJ2btE+WRp7OgQ7GCAVtNOGg2NgNfzeN?=
 =?Windows-1252?Q?3o9rEXpQJNysR/gTElyHvB4f/XxlbI0UO6ccGokQ9vBPDgu4OXbOQnTv?=
 =?Windows-1252?Q?Q0ltA2jZ0Q6KyWVojNvlpKyd6Nku4FZCaS2UHZiDcbMG3Y42PvFRYAZy?=
 =?Windows-1252?Q?fmKufJ7LUBcl8DqV2uOT35yurVRG0/Fsurewhao+oa3ZYAuQ207sH0Vu?=
 =?Windows-1252?Q?gnN8I6T+lojHlav33CiYPqc7gvUlrzTTZALiL7cUYASaJK3Lt3UNvRSz?=
 =?Windows-1252?Q?LAZkkFmjCkjaQXfPN7Rb576WiVi5wpih+017cRK9ToPe5MoSb020X1BO?=
 =?Windows-1252?Q?rUxANcFtPWz546unMNUR2673dZYNGfYEQB5SxKO96OLVmneS4iTpu43j?=
 =?Windows-1252?Q?ti2ZVdj2EAnCMCcdA52f2YdZFX72Njj9PGs30NhTaEoSSEBfIYLhi8w7?=
 =?Windows-1252?Q?XsiPuGBy9mHZtTpRVGGfTCA667C1GgyCGsLHS4KkTZNDHpt2DUZi8PzJ?=
 =?Windows-1252?Q?VmqXdIBUunuL5YBFUibpOFhHHu40BN4w0JdF3ZQyQzeqXOHqEYoX0ho0?=
 =?Windows-1252?Q?jM7YBHqmR42sfiduM+LF2Eu6UHUp/ocMhFbQFsqnvH1sx4nkVVt/R6JQ?=
 =?Windows-1252?Q?So8DR07C6henvOo2xyxEq3yHAkCtOa8zW1KpyqfRGaXsvCtYjIO99yQs?=
 =?Windows-1252?Q?gK6dRhkDtZl0jOHQpkCNsN3Hm1H2hqrsYbjtdhm4VxJrQmSzo3SBn2Fp?=
 =?Windows-1252?Q?7MUeIRHYpg6pdCBSwhf7EEF37JZ6d/1ky4CC022rVR77ZsYnlXyTp/aI?=
 =?Windows-1252?Q?xkZf5YnmZJwRYG2IlRZO6nsTBnJX+aqb6qgfmgAqTcz7CJs+PG2USfdq?=
 =?Windows-1252?Q?5yTkxuBE6n8xnJbiVwkN+qXRL3/YyF6h3buteo710yHwenUkD78L/VrZ?=
 =?Windows-1252?Q?02sb8ezoMfvIgCb76ilv5+/vOkVwYQ5dB4TY4Pd2B4fB40dxg/9C3dIH?=
 =?Windows-1252?Q?uugYyizHKZNGBJOQZaUPrJfFcVhCZiuZ55rLkK7hIjlmk40K0fiad6Dq?=
 =?Windows-1252?Q?+MwBNgyUUeIdzQ+VQJmax9jbvdELms3815Ff2r3wr82P6NzM1INdgoEa?=
 =?Windows-1252?Q?moB2XIAZbWDPsD4NPS1tI6LQkqD5c8EqW6xoqRxH5Qm/D2Rz+jShLrjN?=
 =?Windows-1252?Q?0KTwRjyd7f4T/IIQJNreafs7kUHCjGaJpO6SzCg+1jOq8vz9dXeJjqm0?=
 =?Windows-1252?Q?2snzBrNeBf5u46L7bVblicBEi55ZiaSlCfLWxof4PxNRB+cCz/TpFPVW?=
 =?Windows-1252?Q?HjhUKEgKQ3D5OJHZUJh2c7reJB4vE1NaZQHijtLL7p65dBQEAfXvfrXk?=
 =?Windows-1252?Q?AOdj+7B9yO/iyqEaq8S0jXjniBq3iONcPU0JBRM3rmBfFskO/9WB9Vuk?=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5d6de3c4-6f98-4c6f-2e64-08d955b6654d
X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5009.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2021 13:06:52.5454
 (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: x2OnNT6q3yqdtGadtAo3vZIPgtDyvQxqnxYrttQ11vZL556exA0nVFhGxXF2buUtsq6pyWbMmwCMB3WyE5VMs0uzcq5pVDXEc77LySMJyRo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR10MB4400
X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=10063 signatures=668682
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 phishscore=0 malwarescore=0
 bulkscore=0 spamscore=0 adultscore=0 mlxlogscore=896 suspectscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2107140000
 definitions=main-2108020088
X-Proofpoint-GUID: wAR5ySqhpQ-thK5-cyYz49DWDX4QJIq0
X-Proofpoint-ORIG-GUID: wAR5ySqhpQ-thK5-cyYz49DWDX4QJIq0


On 7/31/21 8:08 AM, Uwe Kleine-Knig wrote:
> Hello Boris,
>
> On Fri, Jul 30, 2021 at 04:37:31PM -0400, Boris Ostrovsky wrote:
>> On 7/29/21 4:37 PM, Uwe Kleine-Knig wrote:
>>> --- a/drivers/pci/xen-pcifront.c
>>> +++ b/drivers/pci/xen-pcifront.c
>>> @@ -599,12 +599,12 @@ static pci_ers_result_t pcifront_common_process(int cmd,
>>>  	result = PCI_ERS_RESULT_NONE;
>>>  
>>>  	pcidev = pci_get_domain_bus_and_slot(domain, bus, devfn);
>>> -	if (!pcidev || !pcidev->driver) {
>>> +	pdrv = pci_driver_of_dev(pcidev);
>>> +	if (!pcidev || !pdrv) {
>> If pcidev is NULL we are dead by the time we reach 'if' statement.
> Oh, you're right. So this needs something like:
>
> 	if (!pcidev || !(pdrv = pci_driver_of_dev(pcidev)))


Sure, that's fine. And while at it please also drop 'if (pdrv)' check below (it's not directly related to your change but is more noticeable now so since you are in that function anyway I'd appreciate if you could do that).


Thanks.

-boris


>
> or repeating the call to pci_driver_of_dev for each previous usage of
> pdev->driver.
>
> If there are no other preferences I'd got with the first approach for
> v2.
>
> Best regards and thanks for catching,
> Uwe
>


From xen-devel-bounces@lists.xenproject.org Mon Aug 02 13:09:12 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Aug 2021 13:09:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163044.298785 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAXgt-0000MM-S4; Mon, 02 Aug 2021 13:09:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163044.298785; Mon, 02 Aug 2021 13:09:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAXgt-0000MF-P3; Mon, 02 Aug 2021 13:09:11 +0000
Received: by outflank-mailman (input) for mailman id 163044;
 Mon, 02 Aug 2021 13:09:10 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SgE8=MZ=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mAXgs-0000M9-NP
 for xen-devel@lists.xenproject.org; Mon, 02 Aug 2021 13:09:10 +0000
Received: from mail-pj1-x1035.google.com (unknown [2607:f8b0:4864:20::1035])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 43c201e9-9ca3-498a-95bc-6485cb84a1e7;
 Mon, 02 Aug 2021 13:09:10 +0000 (UTC)
Received: by mail-pj1-x1035.google.com with SMTP id
 g23-20020a17090a5797b02901765d605e14so24584379pji.5
 for <xen-devel@lists.xenproject.org>; Mon, 02 Aug 2021 06:09:10 -0700 (PDT)
Received: from ?IPv6:2404:f801:0:5:8000::4b1? ([2404:f801:9000:1a:efea::4b1])
 by smtp.gmail.com with ESMTPSA id
 g7sm6715970pfv.66.2021.08.02.06.08.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Aug 2021 06:09: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: 43c201e9-9ca3-498a-95bc-6485cb84a1e7
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=s/dUVvpQRfOjAzBt73Z4sPW5uLvROM0ZUBasKGMCJKg=;
        b=kRMvDASIqRBkh8RnkUbf4UEErYFb5pjTrI6eLr74f8VE9FC14kfOqhTTEmBemGcWD3
         vxF/Oj4Z0mk+mgXZi+CkxzbvUrEg28DPozJRYT1LYoOgvdgCBdrLhlOgqpznXe77ZF+D
         ZRsfi1MTLPkKWKWY6a5qMSDRAgZid5FCeeP8fEMwHWa1vSNeigfHF23aRro1H5sDCITB
         EkTFVr45YxpYj6Y6XQuQIcwcDZu7zU/oMfjlkHdXqZuf7OlMlr3TYL3Nw0k3yZuHftYR
         WAG6jG72nxOzN64BlclBwzp9zH42noiu3RiOVNcjdPpHm0wiyHoYEebWFRLTYg8ibXLV
         BBOw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=s/dUVvpQRfOjAzBt73Z4sPW5uLvROM0ZUBasKGMCJKg=;
        b=JNxMaIc6eiRgusGY2XZ0Z9VEW5k8D1MSPXa1RrpDSa7mDJRzAOJULwe7LUjT9UjlVe
         mM+h46p4I86lBTwl86iGf0bxfbzq+UQVTwiTQ7Yy69jzBA855zyuG7Nkn/aWjTs3mBgN
         dVvl0Mi1VdvtqNkiTwaMk/QefsWv8LSz21Zt7ujLbpmyrcJN0hRWoLbPTOZn58KR08+E
         HcSq7PvVF3ycuo2sdpV1tatdnvlEkN0aUZtdByHWvapSKUH9x7eVJ5GwwiCXtdDNacTe
         jpX2XfSgg2DHVaNTakWOTO8NQeyoECzcuGaBmNnv22ISDhBrDpfF5PuBQiGE950ajxUv
         A4TQ==
X-Gm-Message-State: AOAM533aNlfY8lPqBkYHo1hCH/dyq0P8ZpezrmUy/fahne5dTSKrDBYF
	5CAiuALC/omcDIOPhJYMbCU=
X-Google-Smtp-Source: ABdhPJx2NfTYcUiQrmyHhfgUguAE1fsYh8w8C7CJUbW8FCsL7TTUQHMc87bO07ZeIOQ6KIC3nB5Wog==
X-Received: by 2002:a17:902:a415:b029:129:5342:eab7 with SMTP id p21-20020a170902a415b02901295342eab7mr2273582plq.26.1627909749426;
        Mon, 02 Aug 2021 06:09:09 -0700 (PDT)
Subject: Re: [PATCH 04/13] HV: Mark vmbus ring buffer visible to host in
 Isolation VM
To: Joerg Roedel <joro@8bytes.org>
Cc: kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com,
 wei.liu@kernel.org, decui@microsoft.com, tglx@linutronix.de,
 mingo@redhat.com, bp@alien8.de, x86@kernel.org, hpa@zytor.com,
 dave.hansen@linux.intel.com, luto@kernel.org, peterz@infradead.org,
 konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, jgross@suse.com,
 sstabellini@kernel.org, will@kernel.org, davem@davemloft.net,
 kuba@kernel.org, jejb@linux.ibm.com, martin.petersen@oracle.com,
 arnd@arndb.de, hch@lst.de, m.szyprowski@samsung.com, robin.murphy@arm.com,
 thomas.lendacky@amd.com, brijesh.singh@amd.com, ardb@kernel.org,
 Tianyu.Lan@microsoft.com, rientjes@google.com, martin.b.radev@gmail.com,
 akpm@linux-foundation.org, rppt@kernel.org, kirill.shutemov@linux.intel.com,
 aneesh.kumar@linux.ibm.com, krish.sadhukhan@oracle.com, saravanand@fb.com,
 xen-devel@lists.xenproject.org, pgonda@google.com, david@redhat.com,
 keescook@chromium.org, hannes@cmpxchg.org, sfr@canb.auug.org.au,
 michael.h.kelley@microsoft.com, iommu@lists.linux-foundation.org,
 linux-arch@vger.kernel.org, linux-hyperv@vger.kernel.org,
 linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,
 netdev@vger.kernel.org, vkuznets@redhat.com, anparri@microsoft.com
References: <20210728145232.285861-1-ltykernel@gmail.com>
 <20210728145232.285861-5-ltykernel@gmail.com> <YQfgH04t2SqacnHn@8bytes.org>
 <173823d1-280c-d34e-be2c-157b55bb6bc3@gmail.com>
 <YQfsPv1WC7dnHGDu@8bytes.org>
From: Tianyu Lan <ltykernel@gmail.com>
Message-ID: <b1dcf756-d29c-1e64-f630-ae4c53253656@gmail.com>
Date: Mon, 2 Aug 2021 21:08:52 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <YQfsPv1WC7dnHGDu@8bytes.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit

On 8/2/2021 8:59 PM, Joerg Roedel wrote:
> On Mon, Aug 02, 2021 at 08:56:29PM +0800, Tianyu Lan wrote:
>> Both second and third are HV_GPADL_RING type. One is send ring and the
>> other is receive ring. The driver keeps the order to allocate rx and
>> tx buffer. You are right this is not robust and will add a mutex to keep
>> the order.
> 
> Or you introduce fixed indexes for the RX and TX buffers?
>

The interface just allocates a buffer and driver will continue to 
configure the buffer to be rx or tx after calling.



From xen-devel-bounces@lists.xenproject.org Mon Aug 02 13:11:51 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Aug 2021 13:11:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163056.298796 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAXjP-0001nc-DK; Mon, 02 Aug 2021 13:11:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163056.298796; Mon, 02 Aug 2021 13:11:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAXjP-0001nV-AN; Mon, 02 Aug 2021 13:11:47 +0000
Received: by outflank-mailman (input) for mailman id 163056;
 Mon, 02 Aug 2021 13:11:45 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Mu1f=MZ=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mAXjN-0001nP-LU
 for xen-devel@lists.xenproject.org; Mon, 02 Aug 2021 13:11:45 +0000
Received: from smtp-out2.suse.de (unknown [195.135.220.29])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 2ebac820-f393-11eb-9a4a-12813bfff9fa;
 Mon, 02 Aug 2021 13:11:44 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 0C75D20071;
 Mon,  2 Aug 2021 13:11:43 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id AB1A113983;
 Mon,  2 Aug 2021 13:11:41 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id lsiEKA3vB2EKYQAAGKfGzw
 (envelope-from <jgross@suse.com>); Mon, 02 Aug 2021 13:11: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: 2ebac820-f393-11eb-9a4a-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1627909903; 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=kVvvMCaLfdL2noqwE76KqdfFlSHXOIph1g9v34D8x+s=;
	b=cw9HNxQCps1p9/pLB+uDVVATN7RFCb5I6kTIQzdKJ4CguG6NQOFJd1o5YXN8dRLnwS+jID
	ofBLXI+VwMFePO+2J1bm+YNoxs9+J0PMx4EKeyRBaAYwFz6e4HrybCf3/lI7E51czWMXVO
	zejo4/+kjvj/Zv+LizOLxE7k9ftT0+E=
Subject: Re: [PATCH 03/13] x86/HV: Add new hvcall guest address host
 visibility support
To: Joerg Roedel <joro@8bytes.org>, Dave Hansen <dave.hansen@intel.com>
Cc: Tianyu Lan <ltykernel@gmail.com>, kys@microsoft.com,
 haiyangz@microsoft.com, sthemmin@microsoft.com, wei.liu@kernel.org,
 decui@microsoft.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
 x86@kernel.org, hpa@zytor.com, dave.hansen@linux.intel.com, luto@kernel.org,
 peterz@infradead.org, konrad.wilk@oracle.com, boris.ostrovsky@oracle.com,
 sstabellini@kernel.org, will@kernel.org, davem@davemloft.net,
 kuba@kernel.org, jejb@linux.ibm.com, martin.petersen@oracle.com,
 arnd@arndb.de, hch@lst.de, m.szyprowski@samsung.com, robin.murphy@arm.com,
 thomas.lendacky@amd.com, brijesh.singh@amd.com, ardb@kernel.org,
 Tianyu.Lan@microsoft.com, rientjes@google.com, martin.b.radev@gmail.com,
 akpm@linux-foundation.org, rppt@kernel.org, kirill.shutemov@linux.intel.com,
 aneesh.kumar@linux.ibm.com, krish.sadhukhan@oracle.com, saravanand@fb.com,
 xen-devel@lists.xenproject.org, pgonda@google.com, david@redhat.com,
 keescook@chromium.org, hannes@cmpxchg.org, sfr@canb.auug.org.au,
 michael.h.kelley@microsoft.com, iommu@lists.linux-foundation.org,
 linux-arch@vger.kernel.org, linux-hyperv@vger.kernel.org,
 linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,
 netdev@vger.kernel.org, vkuznets@redhat.com, anparri@microsoft.com
References: <20210728145232.285861-1-ltykernel@gmail.com>
 <20210728145232.285861-4-ltykernel@gmail.com>
 <c00e269c-da4c-c703-0182-0221c73a76cc@intel.com>
 <YQfepYTC4n6agq9z@8bytes.org>
From: Juergen Gross <jgross@suse.com>
Message-ID: <5badc0cb-3038-2eff-a4bf-022ce8fc51d7@suse.com>
Date: Mon, 2 Aug 2021 15:11:40 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <YQfepYTC4n6agq9z@8bytes.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="6QoUicHSwDgMfYyEE95G98YrCRDodiK4T"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--6QoUicHSwDgMfYyEE95G98YrCRDodiK4T
Content-Type: multipart/mixed; boundary="Q8kndzyNPSJWNnMRXKERSCRNX9KvLdc3e";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Joerg Roedel <joro@8bytes.org>, Dave Hansen <dave.hansen@intel.com>
Cc: Tianyu Lan <ltykernel@gmail.com>, kys@microsoft.com,
 haiyangz@microsoft.com, sthemmin@microsoft.com, wei.liu@kernel.org,
 decui@microsoft.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
 x86@kernel.org, hpa@zytor.com, dave.hansen@linux.intel.com, luto@kernel.org,
 peterz@infradead.org, konrad.wilk@oracle.com, boris.ostrovsky@oracle.com,
 sstabellini@kernel.org, will@kernel.org, davem@davemloft.net,
 kuba@kernel.org, jejb@linux.ibm.com, martin.petersen@oracle.com,
 arnd@arndb.de, hch@lst.de, m.szyprowski@samsung.com, robin.murphy@arm.com,
 thomas.lendacky@amd.com, brijesh.singh@amd.com, ardb@kernel.org,
 Tianyu.Lan@microsoft.com, rientjes@google.com, martin.b.radev@gmail.com,
 akpm@linux-foundation.org, rppt@kernel.org, kirill.shutemov@linux.intel.com,
 aneesh.kumar@linux.ibm.com, krish.sadhukhan@oracle.com, saravanand@fb.com,
 xen-devel@lists.xenproject.org, pgonda@google.com, david@redhat.com,
 keescook@chromium.org, hannes@cmpxchg.org, sfr@canb.auug.org.au,
 michael.h.kelley@microsoft.com, iommu@lists.linux-foundation.org,
 linux-arch@vger.kernel.org, linux-hyperv@vger.kernel.org,
 linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,
 netdev@vger.kernel.org, vkuznets@redhat.com, anparri@microsoft.com
Message-ID: <5badc0cb-3038-2eff-a4bf-022ce8fc51d7@suse.com>
Subject: Re: [PATCH 03/13] x86/HV: Add new hvcall guest address host
 visibility support
References: <20210728145232.285861-1-ltykernel@gmail.com>
 <20210728145232.285861-4-ltykernel@gmail.com>
 <c00e269c-da4c-c703-0182-0221c73a76cc@intel.com>
 <YQfepYTC4n6agq9z@8bytes.org>
In-Reply-To: <YQfepYTC4n6agq9z@8bytes.org>

--Q8kndzyNPSJWNnMRXKERSCRNX9KvLdc3e
Content-Type: multipart/mixed;
 boundary="------------39BD9DF23E5C4BB3D3E4101D"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------39BD9DF23E5C4BB3D3E4101D
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 02.08.21 14:01, Joerg Roedel wrote:
> On Wed, Jul 28, 2021 at 08:29:41AM -0700, Dave Hansen wrote:
>> __set_memory_enc_dec() is turning into a real mess.  SEV, TDX and now
>> Hyper-V are messing around in here.
>=20
> I was going to suggest a PV_OPS call where the fitting implementation
> for the guest environment can be plugged in at boot. There is TDX and a=
n
> SEV(-SNP) case, a Hyper-V case, and likely more coming up from other
> cloud/hypervisor vendors. Hiding all these behind feature checks is not=

> going to make things cleaner.

As those cases are all mutually exclusive, wouldn't a static_call() be
the appropriate solution?


Juergen

--------------39BD9DF23E5C4BB3D3E4101D
Content-Type: application/pgp-keys;
 name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Transfer-Encoding: quoted-printable
Content-Description: OpenPGP public key
Content-Disposition: attachment;
 filename="OpenPGP_0xB0DE9DD628BF132F.asc"

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

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOBy=
cWx
w3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJvedYm8O=
f8Z
d621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y=
9bf
IhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xq=
G7/
377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR=
3Jv
c3MgPGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsEFgIDA=
QIe
AQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4FUGNQH2lvWAUy+dnyT=
hpw
dtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3TyevpB0CA3dbBQp0OW0fgCetToGIQrg0=
MbD
1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbv=
oPH
Z8SlM4KWm8rG+lIkGurqqu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v=
5QL
+qHI3EIPtyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVyZ=
2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJCAcDAgEGFQgCC=
QoL
BBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4RF7HoZhPVPogNVbC4YA6lW7Dr=
Wf0
teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz78X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC=
/nu
AFVGy+67q2DH8As3KPu0344TBDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0Lh=
ITT
d9jLzdDad1pQSToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLm=
XBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkMnQfvUewRz=
80h
SnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMBAgAjBQJTjHDXAhsDBwsJC=
AcD
AgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJn=
FOX
gMLdBQgBlVPO3/D9R8LtF9DBAFPNhlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1=
jnD
kfJZr6jrbjgyoZHiw/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0=
N51
N5JfVRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwPOoE+l=
otu
fe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK/1xMI3/+8jbO0tsn1=
tqS
EUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuZGU+wsB5BBMBAgAjBQJTjHDrA=
hsD
BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3=
g3O
ZUEBmDHVVbqMtzwlmNC4k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5=
dM7
wRqzgJpJwK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu5=
D+j
LRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzBTNh30FVKK1Evm=
V2x
AKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37IoN1EblHI//x/e2AaIHpzK5h88N=
Eaw
QsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpW=
nHI
s98ndPUDpnoxWQugJ6MpMncr0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZR=
wgn
BC5mVM6JjQ5xDk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNV=
bVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mmwe0icXKLk=
pEd
IXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0Iv3OOImwTEe4co3c1mwARA=
QAB
wsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMvQ/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEw=
Tbe
8YFsw2V/Buv6Z4Mysln3nQK5ZadD534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1=
vJz
Q1fOU8lYFpZXTXIHb+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8=
VGi
wXvTyJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqcsuylW=
svi
uGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5BjR/i1DG86lem3iBDX=
zXs
ZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------39BD9DF23E5C4BB3D3E4101D--

--Q8kndzyNPSJWNnMRXKERSCRNX9KvLdc3e--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmEH7w0FAwAAAAAACgkQsN6d1ii/Ey8O
cwf/Z28QeGVZIGz31NNRqq7VV5CXkLYX1cUqFxQSudrbhTCktu/VZqlOeXIVEw++Pqj10zm2u/cE
xnC1502TYLBLivHkTuEI7jc1vYpOs9bgzrwCRyVnpnrbnMlLrkUvAXkyssLl1TpA9qYaXPZ86RJ/
C/cQPpcei562xhfYEbZgN1U3VboMDeDUkFShNLRCqV6iTW6IeyK/ScjU8626DPpOA7LBZB9zepaZ
7QzBrjNZ1i+IQYHHU+ff4ervjBuxPOR7GWWPRGG1IWkyIWyDChyd9hduiFcwuhW8AgPf5oXwU5MO
1EIG/xZ8eQYJXqu0bt6qVQk9B4gI4uSltgvNc+VSlA==
=jTBa
-----END PGP SIGNATURE-----

--6QoUicHSwDgMfYyEE95G98YrCRDodiK4T--


From xen-devel-bounces@lists.xenproject.org Mon Aug 02 13:18:43 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Aug 2021 13:18:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163066.298809 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAXq2-0002UV-5B; Mon, 02 Aug 2021 13:18:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163066.298809; Mon, 02 Aug 2021 13:18: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 1mAXq2-0002UO-20; Mon, 02 Aug 2021 13:18:38 +0000
Received: by outflank-mailman (input) for mailman id 163066;
 Mon, 02 Aug 2021 13:18:36 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SgE8=MZ=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mAXq0-0002UI-7e
 for xen-devel@lists.xenproject.org; Mon, 02 Aug 2021 13:18:36 +0000
Received: from mail-pj1-x102e.google.com (unknown [2607:f8b0:4864:20::102e])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 872e56a1-2109-4bbf-9636-a5150033c2fc;
 Mon, 02 Aug 2021 13:18:35 +0000 (UTC)
Received: by mail-pj1-x102e.google.com with SMTP id
 s22-20020a17090a1c16b0290177caeba067so5876797pjs.0
 for <xen-devel@lists.xenproject.org>; Mon, 02 Aug 2021 06:18:35 -0700 (PDT)
Received: from ?IPv6:2404:f801:0:5:8000::4b1? ([2404:f801:9000:1a:efea::4b1])
 by smtp.gmail.com with ESMTPSA id
 e13sm12540053pfd.11.2021.08.02.06.18.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Aug 2021 06:18: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: 872e56a1-2109-4bbf-9636-a5150033c2fc
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=NCI3lHDyDwNRa9nHRAWUMeIv6E94OBk/ArQgKFFM5dk=;
        b=PML2k1Dht8uODKlH3PjAFdc6s/CTDMJQb0vSXp+tWKBkOZKDTm+GB/eR8aVXQ70FAX
         jEcnBX+WXP5rLcq4W5X5HFrW9hJ51Vmvgvy8hGNIdNIWJPbXr/Z0woDD3x3PwhBautYj
         f/s264QOiroQXi9rnewmDedviFD+3T3gC4ei7Z5FsKr/y65Ls/dYfdoaKAM+Ec2wHvVd
         aA36ny4fOTLJxiB1mC/JAk1BfVfacZyAbJGrI98dEdqVsjhB5uZtuVM6yydcCZZA8s9D
         eyWMrETGzJOpt/w2FVnHDuzrREi+J5sEiaxqqYpsUx4zqF5/iQRjwnI3UJJpHaysMi13
         lAfA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=NCI3lHDyDwNRa9nHRAWUMeIv6E94OBk/ArQgKFFM5dk=;
        b=o3KSRQJ9yc1rzg7Z/rGmcIeLJh2MSybYsHE7qNBWlF9+4b2lL/Zj6xMFrmA0n/H7zK
         x+GIASD/WY012WN8t0d+eEpjonM3E7l95+8yPuem3FQeb6P/khjlQxTI0THcj/Zm8q/F
         T8FTBwTxdZvpAbjl/a/ni1qykqtUi3C3dsKtCNHcn1UGHlOtqwJU5z0dJhRyf+nEDphp
         gT5Vz5XyzPhpt0MvWlPYET8C2N6OQxDfPDXomTMKvE/kNSI7QUBZGsM6P1dO7kKFoEI3
         pOzip61ae8acUUBFCJNtGLgT2Bl2x7qFpDQ8gOSCOCjAs/u9ehMphI2p9zCIHRLhm+86
         2jmg==
X-Gm-Message-State: AOAM533jjzuY+n6JfKTWBx7Xsm3/ds7tBVDqxFV3N9xZu1yFcegD/eVM
	EgXgzM3Ct4MBGS7Jdui7kNU=
X-Google-Smtp-Source: ABdhPJzFSB7pHIeqEWjNLoxbHlaMRkkWu5nfzAixwCVuwFPeXy4oAXbwBpyGfDBS8UB6XOVjOVOqpg==
X-Received: by 2002:a62:5587:0:b029:3af:776c:2d02 with SMTP id j129-20020a6255870000b02903af776c2d02mr16019093pfb.11.1627910314492;
        Mon, 02 Aug 2021 06:18:34 -0700 (PDT)
Subject: Re: [PATCH 05/13] HV: Add Write/Read MSR registers via ghcb page
To: Joerg Roedel <joro@8bytes.org>
Cc: kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com,
 wei.liu@kernel.org, decui@microsoft.com, tglx@linutronix.de,
 mingo@redhat.com, bp@alien8.de, x86@kernel.org, hpa@zytor.com,
 dave.hansen@linux.intel.com, luto@kernel.org, peterz@infradead.org,
 konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, jgross@suse.com,
 sstabellini@kernel.org, will@kernel.org, davem@davemloft.net,
 kuba@kernel.org, jejb@linux.ibm.com, martin.petersen@oracle.com,
 arnd@arndb.de, hch@lst.de, m.szyprowski@samsung.com, robin.murphy@arm.com,
 thomas.lendacky@amd.com, brijesh.singh@amd.com, ardb@kernel.org,
 Tianyu.Lan@microsoft.com, rientjes@google.com, martin.b.radev@gmail.com,
 akpm@linux-foundation.org, rppt@kernel.org, kirill.shutemov@linux.intel.com,
 aneesh.kumar@linux.ibm.com, krish.sadhukhan@oracle.com, saravanand@fb.com,
 xen-devel@lists.xenproject.org, pgonda@google.com, david@redhat.com,
 keescook@chromium.org, hannes@cmpxchg.org, sfr@canb.auug.org.au,
 michael.h.kelley@microsoft.com, iommu@lists.linux-foundation.org,
 linux-arch@vger.kernel.org, linux-hyperv@vger.kernel.org,
 linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,
 netdev@vger.kernel.org, vkuznets@redhat.com, anparri@microsoft.com
References: <20210728145232.285861-1-ltykernel@gmail.com>
 <20210728145232.285861-6-ltykernel@gmail.com> <YQfk9G+k0Tj8ihyu@8bytes.org>
From: Tianyu Lan <ltykernel@gmail.com>
Message-ID: <988f20e4-821f-b493-c25d-ca9107a6e891@gmail.com>
Date: Mon, 2 Aug 2021 21:18:15 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <YQfk9G+k0Tj8ihyu@8bytes.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit

On 8/2/2021 8:28 PM, Joerg Roedel wrote:
> On Wed, Jul 28, 2021 at 10:52:20AM -0400, Tianyu Lan wrote:
>> +void hv_ghcb_msr_write(u64 msr, u64 value)
>> +{
>> +	union hv_ghcb *hv_ghcb;
>> +	void **ghcb_base;
>> +	unsigned long flags;
>> +
>> +	if (!ms_hyperv.ghcb_base)
>> +		return;
>> +
>> +	WARN_ON(in_nmi());
>> +
>> +	local_irq_save(flags);
>> +	ghcb_base = (void **)this_cpu_ptr(ms_hyperv.ghcb_base);
>> +	hv_ghcb = (union hv_ghcb *)*ghcb_base;
>> +	if (!hv_ghcb) {
>> +		local_irq_restore(flags);
>> +		return;
>> +	}
>> +
>> +	memset(hv_ghcb, 0x00, HV_HYP_PAGE_SIZE);
> 
> Do you really need to zero out the whole 4k? The validation bitmap
> should be enough, there are no secrets on the page anyway.
> Same in hv_ghcb_msr_read().

OK. Thanks for suggestion. I will have a try.

> 
>> +enum es_result sev_es_ghcb_hv_call(struct ghcb *ghcb,
>> +				   struct es_em_ctxt *ctxt,
>> +				   u64 exit_code, u64 exit_info_1,
>> +				   u64 exit_info_2)
>>   {
>>   	enum es_result ret;
>>   
>> @@ -109,7 +109,16 @@ static enum es_result sev_es_ghcb_hv_call(struct ghcb *ghcb,
>>   	ghcb_set_sw_exit_info_1(ghcb, exit_info_1);
>>   	ghcb_set_sw_exit_info_2(ghcb, exit_info_2);
>>   
>> -	sev_es_wr_ghcb_msr(__pa(ghcb));
>> +	/*
>> +	 * Hyper-V runs paravisor with SEV. Ghcb page is allocated by
>> +	 * paravisor and not needs to be updated in the Linux guest.
>> +	 * Otherwise, the ghcb page's PA reported by paravisor is above
>> +	 * VTOM. Hyper-V use this function with NULL for ctxt point and
>> +	 * skip setting ghcb page in such case.
>> +	 */
>> +	if (ctxt)
>> +		sev_es_wr_ghcb_msr(__pa(ghcb));
> 
> No, do not make this function work with ctxt==NULL. Instead, factor out
> a helper function which contains what Hyper-V needs and use that in
> sev_es_ghcb_hv_call() and Hyper-V code.
> 

OK. Will update.

>> +union hv_ghcb {
>> +	struct ghcb ghcb;
>> +} __packed __aligned(PAGE_SIZE);
> 
> I am curious what this will end up being good for.
> 

Hyper-V introduces a specific hypercall request in GHCB page and use 
same union in the Linux Hyper-V code to read/write MSR and call the new 
hypercall request.


From xen-devel-bounces@lists.xenproject.org Mon Aug 02 13:20:27 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Aug 2021 13:20:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163072.298821 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAXrm-0003nD-HY; Mon, 02 Aug 2021 13:20:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163072.298821; Mon, 02 Aug 2021 13:20: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 1mAXrm-0003n6-Ee; Mon, 02 Aug 2021 13:20:26 +0000
Received: by outflank-mailman (input) for mailman id 163072;
 Mon, 02 Aug 2021 13:20:25 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zvSH=MZ=8bytes.org=joro@srs-us1.protection.inumbo.net>)
 id 1mAXrl-0003n0-Jx
 for xen-devel@lists.xenproject.org; Mon, 02 Aug 2021 13:20:25 +0000
Received: from theia.8bytes.org (unknown [81.169.241.247])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 19bd6510-0d0b-4c84-a60d-6ea293fa0cde;
 Mon, 02 Aug 2021 13:20:24 +0000 (UTC)
Received: by theia.8bytes.org (Postfix, from userid 1000)
 id 69583379; Mon,  2 Aug 2021 15:20:20 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 19bd6510-0d0b-4c84-a60d-6ea293fa0cde
Date: Mon, 2 Aug 2021 15:20:03 +0200
From: Joerg Roedel <joro@8bytes.org>
To: Tianyu Lan <ltykernel@gmail.com>
Cc: kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com,
	wei.liu@kernel.org, decui@microsoft.com, tglx@linutronix.de,
	mingo@redhat.com, bp@alien8.de, x86@kernel.org, hpa@zytor.com,
	dave.hansen@linux.intel.com, luto@kernel.org, peterz@infradead.org,
	konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, jgross@suse.com,
	sstabellini@kernel.org, will@kernel.org, davem@davemloft.net,
	kuba@kernel.org, jejb@linux.ibm.com, martin.petersen@oracle.com,
	arnd@arndb.de, hch@lst.de, m.szyprowski@samsung.com,
	robin.murphy@arm.com, thomas.lendacky@amd.com,
	brijesh.singh@amd.com, ardb@kernel.org, Tianyu.Lan@microsoft.com,
	rientjes@google.com, martin.b.radev@gmail.com,
	akpm@linux-foundation.org, rppt@kernel.org,
	kirill.shutemov@linux.intel.com, aneesh.kumar@linux.ibm.com,
	krish.sadhukhan@oracle.com, saravanand@fb.com,
	xen-devel@lists.xenproject.org, pgonda@google.com, david@redhat.com,
	keescook@chromium.org, hannes@cmpxchg.org, sfr@canb.auug.org.au,
	michael.h.kelley@microsoft.com, iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org, linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org, vkuznets@redhat.com, anparri@microsoft.com
Subject: Re: [PATCH 13/13] HV/Storvsc: Add Isolation VM support for storvsc
 driver
Message-ID: <YQfxA/AYfOqyqNh0@8bytes.org>
References: <20210728145232.285861-1-ltykernel@gmail.com>
 <20210728145232.285861-14-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20210728145232.285861-14-ltykernel@gmail.com>

On Wed, Jul 28, 2021 at 10:52:28AM -0400, Tianyu Lan wrote:
> In Isolation VM, all shared memory with host needs to mark visible
> to host via hvcall. vmbus_establish_gpadl() has already done it for
> storvsc rx/tx ring buffer. The page buffer used by vmbus_sendpacket_
> mpb_desc() still need to handle. Use DMA API to map/umap these
> memory during sending/receiving packet and Hyper-V DMA ops callback
> will use swiotlb function to allocate bounce buffer and copy data
> from/to bounce buffer.

I am wondering why you dont't use DMA-API unconditionally? It provides
enough abstraction to do the right thing for isolated and legacy VMs.

Regards,

	Joerg


From xen-devel-bounces@lists.xenproject.org Mon Aug 02 13:30:35 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Aug 2021 13:30:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163082.298833 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAY1W-0005EC-GF; Mon, 02 Aug 2021 13:30:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163082.298833; Mon, 02 Aug 2021 13: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 1mAY1W-0005E5-DD; Mon, 02 Aug 2021 13:30:30 +0000
Received: by outflank-mailman (input) for mailman id 163082;
 Mon, 02 Aug 2021 13:30:29 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zvSH=MZ=8bytes.org=joro@srs-us1.protection.inumbo.net>)
 id 1mAY1V-0005Dz-LO
 for xen-devel@lists.xenproject.org; Mon, 02 Aug 2021 13:30:29 +0000
Received: from theia.8bytes.org (unknown
 [2a01:238:4383:600:38bc:a715:4b6d:a889])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id a615b2f9-02ff-4c77-b98b-cff12c7fda44;
 Mon, 02 Aug 2021 13:30:28 +0000 (UTC)
Received: by theia.8bytes.org (Postfix, from userid 1000)
 id 0AFF0379; Mon,  2 Aug 2021 15:30:25 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a615b2f9-02ff-4c77-b98b-cff12c7fda44
Date: Mon, 2 Aug 2021 15:30:10 +0200
From: Joerg Roedel <joro@8bytes.org>
To: Juergen Gross <jgross@suse.com>
Cc: Dave Hansen <dave.hansen@intel.com>, Tianyu Lan <ltykernel@gmail.com>,
	kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com,
	wei.liu@kernel.org, decui@microsoft.com, tglx@linutronix.de,
	mingo@redhat.com, bp@alien8.de, x86@kernel.org, hpa@zytor.com,
	dave.hansen@linux.intel.com, luto@kernel.org, peterz@infradead.org,
	konrad.wilk@oracle.com, boris.ostrovsky@oracle.com,
	sstabellini@kernel.org, will@kernel.org, davem@davemloft.net,
	kuba@kernel.org, jejb@linux.ibm.com, martin.petersen@oracle.com,
	arnd@arndb.de, hch@lst.de, m.szyprowski@samsung.com,
	robin.murphy@arm.com, thomas.lendacky@amd.com,
	brijesh.singh@amd.com, ardb@kernel.org, Tianyu.Lan@microsoft.com,
	rientjes@google.com, martin.b.radev@gmail.com,
	akpm@linux-foundation.org, rppt@kernel.org,
	kirill.shutemov@linux.intel.com, aneesh.kumar@linux.ibm.com,
	krish.sadhukhan@oracle.com, saravanand@fb.com,
	xen-devel@lists.xenproject.org, pgonda@google.com, david@redhat.com,
	keescook@chromium.org, hannes@cmpxchg.org, sfr@canb.auug.org.au,
	michael.h.kelley@microsoft.com, iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org, linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org, vkuznets@redhat.com, anparri@microsoft.com
Subject: Re: [PATCH 03/13] x86/HV: Add new hvcall guest address host
 visibility support
Message-ID: <YQfzYl5N5iXv4ZFH@8bytes.org>
References: <20210728145232.285861-1-ltykernel@gmail.com>
 <20210728145232.285861-4-ltykernel@gmail.com>
 <c00e269c-da4c-c703-0182-0221c73a76cc@intel.com>
 <YQfepYTC4n6agq9z@8bytes.org>
 <5badc0cb-3038-2eff-a4bf-022ce8fc51d7@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <5badc0cb-3038-2eff-a4bf-022ce8fc51d7@suse.com>

On Mon, Aug 02, 2021 at 03:11:40PM +0200, Juergen Gross wrote:
> As those cases are all mutually exclusive, wouldn't a static_call() be
> the appropriate solution?

Right, static_call() is even better, thanks.


From xen-devel-bounces@lists.xenproject.org Mon Aug 02 13:32:52 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Aug 2021 13:32:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163089.298844 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAY3n-0005r4-TG; Mon, 02 Aug 2021 13:32:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163089.298844; Mon, 02 Aug 2021 13:32:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAY3n-0005qx-QJ; Mon, 02 Aug 2021 13:32:51 +0000
Received: by outflank-mailman (input) for mailman id 163089;
 Mon, 02 Aug 2021 13:32:51 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SgE8=MZ=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mAY3m-0005qr-UJ
 for xen-devel@lists.xenproject.org; Mon, 02 Aug 2021 13:32:51 +0000
Received: from mail-pj1-x1030.google.com (unknown [2607:f8b0:4864:20::1030])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 86fdc286-2182-4faf-9a10-b251b659e0b4;
 Mon, 02 Aug 2021 13:32:50 +0000 (UTC)
Received: by mail-pj1-x1030.google.com with SMTP id
 m10-20020a17090a34cab0290176b52c60ddso24670145pjf.4
 for <xen-devel@lists.xenproject.org>; Mon, 02 Aug 2021 06:32:50 -0700 (PDT)
Received: from ?IPv6:2404:f801:0:5:8000::4b1? ([2404:f801:9000:1a:efea::4b1])
 by smtp.gmail.com with ESMTPSA id
 f5sm11780560pfn.134.2021.08.02.06.32.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Aug 2021 06:32:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 86fdc286-2182-4faf-9a10-b251b659e0b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=Zaf+5dU3RLSl9eL+MQvIjvf9i9eq7xHute6xnxP/ss8=;
        b=lzLycDZx+VgbDgddV/I+3isOD43Vy0BkIdAf1yHmxOpy7/nQ2h/20I3MZKvLheRAfo
         bQGladbLi22o2mpFkEByG5LNltJK09xhP1gfAPOR8XF9Vgo3NEVD/jyTJznRBYBCRjq7
         mmnAa6JV8TPX7L6HR2Yw9fBKonGL4iSYr9ttnd9k3KcVWf/HnsrrQ0l71AwCJ07/uolw
         qMzfDw7EEeP/xzHEQK5KLJHSpIyFcZ1xwGqJvKS7M/hpYiX31RexDYDQYOH3f8znEAYa
         +gp0X5yO6CkoB7PtXKHyTPRWGAPzTrwFvh3JsjSYhcxB6xBY5Zyqb4DJ96A4xrQjjHm+
         1kNw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=Zaf+5dU3RLSl9eL+MQvIjvf9i9eq7xHute6xnxP/ss8=;
        b=CSlwdJa2fL4n7NY6j7q8NGbsRoXOCIV2DqrlcSgDGQHkx5/yMfK/Z7clNAr98Rl8vg
         p5Fi8N5XlU0tP8kaiwoJ+F3BmHvqbLqkcugR4MF+ZRYwEKI6W7wCyJMSeKHDsI0PhOrz
         kuy3zDOJPnVFFI1lGlhW1W2hmovwzDGKPpTp61s94V5CpA0nudB0BlLVz4+SduqAMhvi
         8+38oiiqfV+YJ5CZzMQE7ZrBJfdhfEsqwA6ICY2XcHR2uh/YEZ9F7lIH6mjMQ/qF+HES
         DFWTwqt+FwxlSM/4qkS6CupBVLxC8lSSmmB9uO0bc9AnOj1xnfi4eg6FWbMYE5MJCOKo
         UZWA==
X-Gm-Message-State: AOAM5315755iDLntzfpJkwBAkvJiBgi2g82ja+cU3E2YdOCWAZnTJBPV
	MBK29cSuMGtp/CUPMu3DO4w=
X-Google-Smtp-Source: ABdhPJw26TcdJx7nJdP8OVOffK3BNROQGPQJnGpjzP8q2wSE+WsIrRM3Kk21HhrucVZR9IjyKRevpw==
X-Received: by 2002:a65:6a01:: with SMTP id m1mr1550797pgu.201.1627911169578;
        Mon, 02 Aug 2021 06:32:49 -0700 (PDT)
Subject: Re: [PATCH 06/13] HV: Add ghcb hvcall support for SNP VM
To: Joerg Roedel <joro@8bytes.org>
Cc: kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com,
 wei.liu@kernel.org, decui@microsoft.com, tglx@linutronix.de,
 mingo@redhat.com, bp@alien8.de, x86@kernel.org, hpa@zytor.com,
 dave.hansen@linux.intel.com, luto@kernel.org, peterz@infradead.org,
 konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, jgross@suse.com,
 sstabellini@kernel.org, will@kernel.org, davem@davemloft.net,
 kuba@kernel.org, jejb@linux.ibm.com, martin.petersen@oracle.com,
 arnd@arndb.de, hch@lst.de, m.szyprowski@samsung.com, robin.murphy@arm.com,
 thomas.lendacky@amd.com, brijesh.singh@amd.com, ardb@kernel.org,
 Tianyu.Lan@microsoft.com, rientjes@google.com, martin.b.radev@gmail.com,
 akpm@linux-foundation.org, rppt@kernel.org, kirill.shutemov@linux.intel.com,
 aneesh.kumar@linux.ibm.com, krish.sadhukhan@oracle.com, saravanand@fb.com,
 xen-devel@lists.xenproject.org, pgonda@google.com, david@redhat.com,
 keescook@chromium.org, hannes@cmpxchg.org, sfr@canb.auug.org.au,
 michael.h.kelley@microsoft.com, iommu@lists.linux-foundation.org,
 linux-arch@vger.kernel.org, linux-hyperv@vger.kernel.org,
 linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,
 netdev@vger.kernel.org, vkuznets@redhat.com, anparri@microsoft.com
References: <20210728145232.285861-1-ltykernel@gmail.com>
 <20210728145232.285861-7-ltykernel@gmail.com> <YQfnlBwyZUJyixQX@8bytes.org>
From: Tianyu Lan <ltykernel@gmail.com>
Message-ID: <436a4eda-bed2-9107-e297-3dee381354ff@gmail.com>
Date: Mon, 2 Aug 2021 21:32:33 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <YQfnlBwyZUJyixQX@8bytes.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit

On 8/2/2021 8:39 PM, Joerg Roedel wrote:
> On Wed, Jul 28, 2021 at 10:52:21AM -0400, Tianyu Lan wrote:
>> +	hv_ghcb->ghcb.protocol_version = 1;
>> +	hv_ghcb->ghcb.ghcb_usage = 1;
> 
> The values set to ghcb_usage deserve some defines (here and below).
> 

OK. Will update in the next version.



From xen-devel-bounces@lists.xenproject.org Mon Aug 02 13:34:00 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Aug 2021 13:34:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163098.298857 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAY4t-0006XT-CD; Mon, 02 Aug 2021 13:33:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163098.298857; Mon, 02 Aug 2021 13: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 1mAY4t-0006XM-8R; Mon, 02 Aug 2021 13:33:59 +0000
Received: by outflank-mailman (input) for mailman id 163098;
 Mon, 02 Aug 2021 13:33: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 1mAY4s-0006X7-6W; Mon, 02 Aug 2021 13:33: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 1mAY4r-0007lf-UB; Mon, 02 Aug 2021 13:33: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 1mAY4r-00040R-JY; Mon, 02 Aug 2021 13:33:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mAY4r-0000bZ-J7; Mon, 02 Aug 2021 13:33: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=0TCWMRFS6ZYm+jqPqVupuuH/aCaIewz3LZCj4VDG6D4=; b=f30eq5U7gVBBGgQUnz5aq9zGry
	XhSprFDoL7m/QVzEsSzBFoBCNNuuSG1DcWJcAlyKlUrZkOM+IIuniFTedwmyb/nAQaq+Ex6b1tQXO
	A9bofaKrTST6jNOvsONn+ZT8VgOTTNSvelG/KFt2nFT9icvDWQI0wOG31PHytl8GcVxE=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164079-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164079: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-stop:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-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-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=c500bee1c5b2f1d59b1081ac879d73268ab0ff17
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 02 Aug 2021 13:33:57 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop              fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 20 guest-stop               fail REGR. vs. 152332
 test-amd64-amd64-libvirt-xsm 20 guest-start/debian.repeat fail REGR. vs. 152332

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

version targeted for testing:
 linux                c500bee1c5b2f1d59b1081ac879d73268ab0ff17
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  366 days
Failing since        152366  2020-08-01 20:49:34 Z  365 days  634 attempts
Testing same since   164079  2021-08-02 04:02:17 Z    0 days    1 attempts

------------------------------------------------------------
6750 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Aug 02 14:06:36 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Aug 2021 14:06:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163108.298872 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAYaE-0001HK-UQ; Mon, 02 Aug 2021 14:06:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163108.298872; Mon, 02 Aug 2021 14: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 1mAYaE-0001HD-RL; Mon, 02 Aug 2021 14:06:22 +0000
Received: by outflank-mailman (input) for mailman id 163108;
 Mon, 02 Aug 2021 14:06:21 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=B8BG=MZ=epam.com=prvs=88488feb0f=oleksandr_andrushchenko@srs-us1.protection.inumbo.net>)
 id 1mAYaD-0001H7-4q
 for xen-devel@lists.xenproject.org; Mon, 02 Aug 2021 14:06:21 +0000
Received: from mx0b-0039f301.pphosted.com (unknown [148.163.137.242])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 6fff8bfe-ef14-434a-a90f-354b6ea2844c;
 Mon, 02 Aug 2021 14:06:19 +0000 (UTC)
Received: from pps.filterd (m0174683.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id
 172E5qr8007102; Mon, 2 Aug 2021 14:06:15 GMT
Received: from eur03-am5-obe.outbound.protection.outlook.com
 (mail-am5eur03lp2050.outbound.protection.outlook.com [104.47.8.50])
 by mx0b-0039f301.pphosted.com with ESMTP id 3a6hp683vn-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Mon, 02 Aug 2021 14:06:14 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com (2603:10a6:20b:153::17)
 by VI1PR0302MB2832.eurprd03.prod.outlook.com (2603:10a6:800:e2::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.21; Mon, 2 Aug
 2021 14:06:07 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d8d3:ecba:8917:1baa]) by AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d8d3:ecba:8917:1baa%9]) with mapi id 15.20.4373.026; Mon, 2 Aug 2021
 14:06:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6fff8bfe-ef14-434a-a90f-354b6ea2844c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kw5KuHtgQPay1jFq137aDdagf2wTe4G3BsAduIADuv2HdguSi8Chl4egyjMvBAhTurkFW6a1eN1MO1SvzE5+lFUXkwdENG3ad0EQtLJOb/9qCL277hyyUyVl2wtzOUJCMExMIC4vx6qFdXaVWRcw1clw7/zKhkmPvgfJ3gxdci3xf+ItHppePWCEIWe8Xe5HN7/STIVFouJmTYf/vGeFEgphTUIZciHeLZ/2EZE/thFhQKt6x0w+tgUPFuQETcWu93i+ONrP1Fa02O++mCL3eQOKemDvcxAoGIy4NmS6WjmV7VWYckJ1Gd5Nc9LrMxM2/lxbTRQWNHJk/IdC0V1wgw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TXcguFnSot8XXc0tG5EG1IN+iJ1WUv7tqRfpX4JufOo=;
 b=UERGr1akvw75tI5rhJt4PgbskDWUNn97kuEjtRVdQGL8woKvwH6SxmkxKOKtMbH8J7GAyJ8/BOTe6IbxO8df/GNwyIsGp0WcD39NwFeiyHLZsngXbvekmsS2ixyYJjqaEWW/QLGHsNlS1wuRc6AdcEmQd652yxW8FngvSaKnZY5GRMeK1G0ttodSBqadjLC/eQ/GXRkQDEZA+w3sh8kxAp7t7K9cTc1VtlqYkgb/s98opcOMrR/phucTA85Mfk6+imr9KQLU0tala54a3DOr8yYQw65K28+N3iEwL8tS+0rcVZ/j+Ot6W3yyJEcJNaFCBH2zvNA0ZPD7OTfXwTi5RA==
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=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TXcguFnSot8XXc0tG5EG1IN+iJ1WUv7tqRfpX4JufOo=;
 b=xBTeJ713gVGu2Q0+TcMmqXTRconfZ0FUYN4KTS8FA00ZMaByDUMLVJWiXTB4XhDoTI0f0Z9rTmbspmUoYmXKIfOj1Y0NROINr7RSDsUUAGW1qpwvivDMXHSGGsoKd/uUyB6fIJRIoqXNkz6QYXPSC0dK1cLpJOxSLR7ZVpGkbav+oXUdp2qLLQA8uLaXZjhyjisdIOqzLu5Dgrt0SHUe5G8DfF1wYhWiE8zKgyWR0gRlD8nVsD/Obq6LSzY5Kzay0eX9Hn2pw9pX24c+TFzVBpf6nRuwhXxHeByxIOO6huoOzx1wzchhAM5DCgxvd9A0ys70bF8ftdEVm7CWYipvwQ==
From: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
To: Juergen Gross <jgross@suse.com>,
        "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>,
        "linux-block@vger.kernel.org"
	<linux-block@vger.kernel.org>,
        "linux-kernel@vger.kernel.org"
	<linux-kernel@vger.kernel.org>
CC: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
        =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>,
        Jens Axboe
	<axboe@kernel.dk>, Jan Beulich <jbeulich@suse.com>
Subject: Re: [PATCH v3 1/3] xen/blkfront: read response from backend only once
Thread-Topic: [PATCH v3 1/3] xen/blkfront: read response from backend only
 once
Thread-Index: AQHXh6eJ91LWa/O//ESEGVadZuHLeQ==
Date: Mon, 2 Aug 2021 14:06:06 +0000
Message-ID: <ce79a0a8-128d-1d50-d160-f612fbd52101@epam.com>
References: <20210730103854.12681-1-jgross@suse.com>
 <20210730103854.12681-2-jgross@suse.com>
In-Reply-To: <20210730103854.12681-2-jgross@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
authentication-results: suse.com; dkim=none (message not signed)
 header.d=none;suse.com; dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 6d5c9b82-f312-450b-9757-08d955beac45
x-ms-traffictypediagnostic: VI1PR0302MB2832:
x-microsoft-antispam-prvs: 
 <VI1PR0302MB283299DFE49E78FFB1CB7A95E7EF9@VI1PR0302MB2832.eurprd03.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:632;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 kY1ReKTGDy4JxAebRDfo2buYwOjE4H8415+x/hOI+mFTTUrpTbh3cApEroFScxRWU3oMLqxhOhAOio4w0zD9qmvi9JrBE0vOcyUPbIBdAOfxBZFEdIBT6r01BgX1ROVSAY/I1IA7Php600QqhLp63FD0U92iabuco4Z9YukQ2fBC4Fm5tkwCrSzq6v6hkkZTrKh7NVbnumxJ2m8WMCEKTblCeH3jUR1GxxgJYUgBjvufD5QlUeqANnHJiRGwKGW2xB3E3l4uLVcIFvXJ+/U4n0BEX2RbLavC+L6ylM/oc40LXqFBwYdr7KXinO3ju4+mE72fqea9qou2vA65BmUlPHWu2yQG3ltESqsSA1aHE0uksIAap7wcQrWAOgrP7KI69hKPIRHZ8DAMFJBxKObQsBWxJSiKVMB8ulRRJAapU0/gq7YZTkfRx711IpWrBoiM+dIA61WxbBDz/EWvVnHcXcuCFZyX2Lcs9TcxPAWHO4D3MOp85TiZhkQNGjnRY4HjqP8znRSRI2oFDvDyehmFGheBr21co8daIBHH+VAfZS8fZZapZxVc2P9JwC7FPaHWaHnnnvzIrOiOHmDTj7aQc2iHFh1ivtjCFYXmsW0Zus8pq7QYAfO1TmEInUhrY/W5EFQRpwLculRnj/L2O3hYXlqHubKNVEuEx+t+6F1G04s5dwGNhxKqax74C0hS4fh7BnOK5EvFs0H6NY2RtmTZAZI2ohtBxrXPqYa2whi70Qv/Xi3CkUMcDr7MaQADM9cn
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR03MB6324.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(2616005)(4326008)(66556008)(66476007)(6506007)(53546011)(2906002)(76116006)(71200400001)(66946007)(66446008)(64756008)(38070700005)(31686004)(38100700002)(122000001)(36756003)(86362001)(508600001)(26005)(7416002)(186003)(31696002)(8676002)(83380400001)(54906003)(6486002)(316002)(5660300002)(110136005)(8936002)(6512007)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?UFBEWXFabks4QXpHNlZiWWRUcDdpYSswcEt1MlUzREVYWnlSKzE3czNVMTR6?=
 =?utf-8?B?TWVzd2JOMUFJWGNjc3JGNjdYa3g4MGlhV1BpN0lDeCtOUXZ1OVBldTJ1dndZ?=
 =?utf-8?B?eWUwdFYvSllXdDNQeFZleXJMeXRuK2ZmWFdCMFYzZFZkSm91VXZUQlhuYWNq?=
 =?utf-8?B?S1A3SU9sNmpSd2VKRExIWjlzblFGbWdyWDlOdlBMQTdnR2p5NnNFclRYTDB1?=
 =?utf-8?B?Qk9FY0ZGZHlNb2orbytJRXREQUdkU2g5R3hRSlRNTWJWUUt1S3BpT3UvTkc4?=
 =?utf-8?B?UWJZMVpaNFFlNWxsaXh1UDE0Qk5pa2w5WmFOQjkvVmthK3g3am1xOW82ajdJ?=
 =?utf-8?B?U2VlNllUTUkvYkJ5Qkw3UGNqNFhlUWNXR1ZkRGN3M2c0T2JWQ3NSQzNYTGJ0?=
 =?utf-8?B?OGdZWklsZFFoVzhpNk9OeUYzQk00T2h4U01FRFJ5U3p6RXdXWE9Ic2RGdGdN?=
 =?utf-8?B?U01ZVk1taU9KRlVSZWpuNFhSUGJ6aVNodmVFc3hpcUR3R2lSbm1MaFpLelY0?=
 =?utf-8?B?U3F0S3lCbjNjNU1wbjNZeGNYRjZ6REU1WFhHZUJmQkhJYmVHSTIvZ2tieXpi?=
 =?utf-8?B?Sno2MkNEdmpQak5GSkpmRVlraXNObjdpTGJlWkpzZitLdm93WkhFWWs2dDM1?=
 =?utf-8?B?dm5RQVplKzBwZVkyeEl2bVdGUmM5TXZRY1FsZzU0OFMvSDdIY2s0cDFkOXdu?=
 =?utf-8?B?R1BFQmEvWXM2ZE5QMVZHTUJWMTVTTEV5a1BMMUZIM2lhY2IveG8rN0w0Yzdi?=
 =?utf-8?B?MXJkS20zRVFJMUFrbmFBNjdzUzBJSm5sUXZhMXpDcUNSVmFyVVBOcU1pWk1v?=
 =?utf-8?B?Qlpudmx2bUdRdFA2eWxtcGVBakZ6Qi9wZUw4Yms2TGlaMlFsR2hBWlZnWUFU?=
 =?utf-8?B?bklWTHNON1c0bWpqejU1YTRBclB6UlIvQ3luTUFlUDZULzdhbVE0dVFzSC9h?=
 =?utf-8?B?MVFDTmhPMkJKMUlWMlkzQXZpOW03cnpEN0tZMExNbzFnZDZDYktWREVxdU5j?=
 =?utf-8?B?SzVvYVRDZEdQWTZpZnBRSUE2b3MrMCtRR2U1M3IyazQ3TVdEakJXeWlGdzVS?=
 =?utf-8?B?dmdRQmRIN2ZpbkJRcWo0ZDUxMlNEem5OK0ZrRi81Vmw3SCtJRmh4UklFUE50?=
 =?utf-8?B?T3FBT2Z4U2R3R0xOOVpPdFl4Mnp5OEFzekZMUDVDTzhOVkhQVHZRb3RTSmcx?=
 =?utf-8?B?TnpQOUl0ckt0TmtObzI1akVCK2tQVkMrME1ONEJmYTd5cWQ1VHZnRVMxVk9O?=
 =?utf-8?B?cU1CUmJuUnVYanJBam1uTDBBNGNrWFR5Z0pjVVZSZkNYMjVzTkhkWjR2VDZi?=
 =?utf-8?B?MDdWN2tYZ1FPK0dCUDd5SU14WmF2bVpyTGtNaWxtNmxzL3o2bE9XQ2I1eTRX?=
 =?utf-8?B?TDlyalFHb3RpTkI4Q3EwRTBWVXNTYkp2WHIySCswQmV4aWJCenBPZUdDMmMv?=
 =?utf-8?B?TTNrTnBrdmhHdmRCcnF0VWV1QkhjMVNRa2JiVWQrOXh2ZVVFam8zVDdsZ0xD?=
 =?utf-8?B?VHBUbkNITElxcUcySE9qUm5KU2FobW5EZTdFYkVRU05zdDl0aGJudDlWQjNR?=
 =?utf-8?B?MkN2bE1iZmF0M1F4dktlYy9xMkY2YzVleFl6M1FXQm9NZ0d4dzFYOEhTU3l0?=
 =?utf-8?B?SnhSWmNIa0VKVmVpMlZ0UTI4RTNPYUtIL2ZtRjI5SkFJUTB1dFg0RG5xeEla?=
 =?utf-8?B?cnl4UVdybkFpR2dWMzlQTXd2L1o4M1NCbEJBeWdvZjhmdmZ2WVN1bjBBRGlp?=
 =?utf-8?Q?cuKYK25g0lYX+JZi5/Mafpd9MJgVJ9MbKxua1bM?=
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-ID: <D0C1D4EE2EF24140BDE911AAD4A60F03@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: AM0PR03MB6324.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6d5c9b82-f312-450b-9757-08d955beac45
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Aug 2021 14:06:07.0302
 (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: vF4tt9JhEsaQrZ5obsuYz7PYaqp2/a1WxUd7VlKnSqHeVDiuLg2yhi5g6JeixUtcJ1piB4GU9OViCkAOosL6dY8rUuOlCVzEXeelapu/BSogA94x0WyV4cnuI+0LXU+s
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0302MB2832
X-Proofpoint-GUID: tW_q82qA-5msBzN8YASYSXUzsFJa3cjW
X-Proofpoint-ORIG-GUID: tW_q82qA-5msBzN8YASYSXUzsFJa3cjW
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.391,18.0.790
 definitions=2021-08-02_05:2021-08-02,2021-08-02 signatures=0
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501
 bulkscore=0 adultscore=0 malwarescore=0 clxscore=1011 suspectscore=0
 phishscore=0 impostorscore=0 lowpriorityscore=0 mlxscore=0 spamscore=0
 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2107140000 definitions=main-2108020093

SGksIEp1ZXJnZW4hDQoNCk9uIDMwLjA3LjIxIDEzOjM4LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0K
PiBJbiBvcmRlciB0byBhdm9pZCBwcm9ibGVtcyBpbiBjYXNlIHRoZSBiYWNrZW5kIGlzIG1vZGlm
eWluZyBhIHJlc3BvbnNlDQo+IG9uIHRoZSByaW5nIHBhZ2Ugd2hpbGUgdGhlIGZyb250ZW5kIGhh
cyBhbHJlYWR5IHNlZW4gaXQsIGp1c3QgcmVhZCB0aGUNCj4gcmVzcG9uc2UgaW50byBhIGxvY2Fs
IGJ1ZmZlciBpbiBvbmUgZ28gYW5kIHRoZW4gb3BlcmF0ZSBvbiB0aGF0IGJ1ZmZlcg0KPiBvbmx5
Lg0KPg0KPiBTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQo+
IFJldmlld2VkLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+IEFja2VkLWJ5
OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4NCj4gLS0tDQo+ICAgZHJp
dmVycy9ibG9jay94ZW4tYmxrZnJvbnQuYyB8IDM1ICsrKysrKysrKysrKysrKysrKy0tLS0tLS0t
LS0tLS0tLS0tDQo+ICAgMSBmaWxlIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDE3IGRlbGV0
aW9ucygtKQ0KPg0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ibG9jay94ZW4tYmxrZnJvbnQuYyBi
L2RyaXZlcnMvYmxvY2sveGVuLWJsa2Zyb250LmMNCj4gaW5kZXggZDgzZmVlMjFmNmM1Li4xNWU4
NDAyODc3MzQgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvYmxvY2sveGVuLWJsa2Zyb250LmMNCj4g
KysrIGIvZHJpdmVycy9ibG9jay94ZW4tYmxrZnJvbnQuYw0KPiBAQCAtMTQ5Niw3ICsxNDk2LDcg
QEAgc3RhdGljIGJvb2wgYmxraWZfY29tcGxldGlvbih1bnNpZ25lZCBsb25nICppZCwNCj4gICBz
dGF0aWMgaXJxcmV0dXJuX3QgYmxraWZfaW50ZXJydXB0KGludCBpcnEsIHZvaWQgKmRldl9pZCkN
Cj4gICB7DQo+ICAgCXN0cnVjdCByZXF1ZXN0ICpyZXE7DQo+IC0Jc3RydWN0IGJsa2lmX3Jlc3Bv
bnNlICpicmV0Ow0KPiArCXN0cnVjdCBibGtpZl9yZXNwb25zZSBicmV0Ow0KPiAgIAlSSU5HX0lE
WCBpLCBycDsNCj4gICAJdW5zaWduZWQgbG9uZyBmbGFnczsNCj4gICAJc3RydWN0IGJsa2Zyb250
X3JpbmdfaW5mbyAqcmluZm8gPSAoc3RydWN0IGJsa2Zyb250X3JpbmdfaW5mbyAqKWRldl9pZDsN
Cj4gQEAgLTE1MTMsOCArMTUxMyw5IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBibGtpZl9pbnRlcnJ1
cHQoaW50IGlycSwgdm9pZCAqZGV2X2lkKQ0KPiAgIAlmb3IgKGkgPSByaW5mby0+cmluZy5yc3Bf
Y29uczsgaSAhPSBycDsgaSsrKSB7DQo+ICAgCQl1bnNpZ25lZCBsb25nIGlkOw0KPiAgIA0KPiAt
CQlicmV0ID0gUklOR19HRVRfUkVTUE9OU0UoJnJpbmZvLT5yaW5nLCBpKTsNCj4gLQkJaWQgICA9
IGJyZXQtPmlkOw0KPiArCQlSSU5HX0NPUFlfUkVTUE9OU0UoJnJpbmZvLT5yaW5nLCBpLCAmYnJl
dCk7DQoNCkFzIHBlciBteSB1bmRlcnN0YW5kaW5nIGNvcHlpbmcgaXMgc3RpbGwgbm90IGFuIGF0
b21pYyBvcGVyYXRpb24gYXMgdGhlIHJlcXVlc3QvcmVzcG9uc2UNCg0KYXJlIG11bHRpLWJ5dGUg
c3RydWN0dXJlcyBpbiBnZW5lcmFsLiBJT1csIHdoYXQgcHJldmVudHMgdGhlIGJhY2tlbmQgZnJv
bSBtb2RpZnlpbmcgdGhlIHJpbmcgd2hpbGUNCg0Kd2UgYXJlIGNvcHlpbmc/DQoNClRoYW5rcywN
Cg0KT2xla3NhbmRyDQoNCj4gKwkJaWQgPSBicmV0LmlkOw0KPiArDQo+ICAgCQkvKg0KPiAgIAkJ
ICogVGhlIGJhY2tlbmQgaGFzIG1lc3NlZCB1cCBhbmQgZ2l2ZW4gdXMgYW4gaWQgdGhhdCB3ZSB3
b3VsZA0KPiAgIAkJICogbmV2ZXIgaGF2ZSBnaXZlbiB0byBpdCAod2Ugc3RhbXAgaXQgdXAgdG8g
QkxLX1JJTkdfU0laRSAtDQo+IEBAIC0xNTIyLDM5ICsxNTIzLDM5IEBAIHN0YXRpYyBpcnFyZXR1
cm5fdCBibGtpZl9pbnRlcnJ1cHQoaW50IGlycSwgdm9pZCAqZGV2X2lkKQ0KPiAgIAkJICovDQo+
ICAgCQlpZiAoaWQgPj0gQkxLX1JJTkdfU0laRShpbmZvKSkgew0KPiAgIAkJCVdBUk4oMSwgIiVz
OiByZXNwb25zZSB0byAlcyBoYXMgaW5jb3JyZWN0IGlkICglbGQpXG4iLA0KPiAtCQkJICAgICBp
bmZvLT5nZC0+ZGlza19uYW1lLCBvcF9uYW1lKGJyZXQtPm9wZXJhdGlvbiksIGlkKTsNCj4gKwkJ
CSAgICAgaW5mby0+Z2QtPmRpc2tfbmFtZSwgb3BfbmFtZShicmV0Lm9wZXJhdGlvbiksIGlkKTsN
Cj4gICAJCQkvKiBXZSBjYW4ndCBzYWZlbHkgZ2V0IHRoZSAnc3RydWN0IHJlcXVlc3QnIGFzDQo+
ICAgCQkJICogdGhlIGlkIGlzIGJ1c3RlZC4gKi8NCj4gICAJCQljb250aW51ZTsNCj4gICAJCX0N
Cj4gICAJCXJlcSAgPSByaW5mby0+c2hhZG93W2lkXS5yZXF1ZXN0Ow0KPiAgIA0KPiAtCQlpZiAo
YnJldC0+b3BlcmF0aW9uICE9IEJMS0lGX09QX0RJU0NBUkQpIHsNCj4gKwkJaWYgKGJyZXQub3Bl
cmF0aW9uICE9IEJMS0lGX09QX0RJU0NBUkQpIHsNCj4gICAJCQkvKg0KPiAgIAkJCSAqIFdlIG1h
eSBuZWVkIHRvIHdhaXQgZm9yIGFuIGV4dHJhIHJlc3BvbnNlIGlmIHRoZQ0KPiAgIAkJCSAqIEkv
TyByZXF1ZXN0IGlzIHNwbGl0IGluIDINCj4gICAJCQkgKi8NCj4gLQkJCWlmICghYmxraWZfY29t
cGxldGlvbigmaWQsIHJpbmZvLCBicmV0KSkNCj4gKwkJCWlmICghYmxraWZfY29tcGxldGlvbigm
aWQsIHJpbmZvLCAmYnJldCkpDQo+ICAgCQkJCWNvbnRpbnVlOw0KPiAgIAkJfQ0KPiAgIA0KPiAg
IAkJaWYgKGFkZF9pZF90b19mcmVlbGlzdChyaW5mbywgaWQpKSB7DQo+ICAgCQkJV0FSTigxLCAi
JXM6IHJlc3BvbnNlIHRvICVzIChpZCAlbGQpIGNvdWxkbid0IGJlIHJlY3ljbGVkIVxuIiwNCj4g
LQkJCSAgICAgaW5mby0+Z2QtPmRpc2tfbmFtZSwgb3BfbmFtZShicmV0LT5vcGVyYXRpb24pLCBp
ZCk7DQo+ICsJCQkgICAgIGluZm8tPmdkLT5kaXNrX25hbWUsIG9wX25hbWUoYnJldC5vcGVyYXRp
b24pLCBpZCk7DQo+ICAgCQkJY29udGludWU7DQo+ICAgCQl9DQo+ICAgDQo+IC0JCWlmIChicmV0
LT5zdGF0dXMgPT0gQkxLSUZfUlNQX09LQVkpDQo+ICsJCWlmIChicmV0LnN0YXR1cyA9PSBCTEtJ
Rl9SU1BfT0tBWSkNCj4gICAJCQlibGtpZl9yZXEocmVxKS0+ZXJyb3IgPSBCTEtfU1RTX09LOw0K
PiAgIAkJZWxzZQ0KPiAgIAkJCWJsa2lmX3JlcShyZXEpLT5lcnJvciA9IEJMS19TVFNfSU9FUlI7
DQo+ICAgDQo+IC0JCXN3aXRjaCAoYnJldC0+b3BlcmF0aW9uKSB7DQo+ICsJCXN3aXRjaCAoYnJl
dC5vcGVyYXRpb24pIHsNCj4gICAJCWNhc2UgQkxLSUZfT1BfRElTQ0FSRDoNCj4gLQkJCWlmICh1
bmxpa2VseShicmV0LT5zdGF0dXMgPT0gQkxLSUZfUlNQX0VPUE5PVFNVUFApKSB7DQo+ICsJCQlp
ZiAodW5saWtlbHkoYnJldC5zdGF0dXMgPT0gQkxLSUZfUlNQX0VPUE5PVFNVUFApKSB7DQo+ICAg
CQkJCXN0cnVjdCByZXF1ZXN0X3F1ZXVlICpycSA9IGluZm8tPnJxOw0KPiAgIAkJCQlwcmludGso
S0VSTl9XQVJOSU5HICJibGtmcm9udDogJXM6ICVzIG9wIGZhaWxlZFxuIiwNCj4gLQkJCQkJICAg
aW5mby0+Z2QtPmRpc2tfbmFtZSwgb3BfbmFtZShicmV0LT5vcGVyYXRpb24pKTsNCj4gKwkJCQkJ
ICAgaW5mby0+Z2QtPmRpc2tfbmFtZSwgb3BfbmFtZShicmV0Lm9wZXJhdGlvbikpOw0KPiAgIAkJ
CQlibGtpZl9yZXEocmVxKS0+ZXJyb3IgPSBCTEtfU1RTX05PVFNVUFA7DQo+ICAgCQkJCWluZm8t
PmZlYXR1cmVfZGlzY2FyZCA9IDA7DQo+ICAgCQkJCWluZm8tPmZlYXR1cmVfc2VjZGlzY2FyZCA9
IDA7DQo+IEBAIC0xNTY0LDE1ICsxNTY1LDE1IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBibGtpZl9p
bnRlcnJ1cHQoaW50IGlycSwgdm9pZCAqZGV2X2lkKQ0KPiAgIAkJCWJyZWFrOw0KPiAgIAkJY2Fz
ZSBCTEtJRl9PUF9GTFVTSF9ESVNLQ0FDSEU6DQo+ICAgCQljYXNlIEJMS0lGX09QX1dSSVRFX0JB
UlJJRVI6DQo+IC0JCQlpZiAodW5saWtlbHkoYnJldC0+c3RhdHVzID09IEJMS0lGX1JTUF9FT1BO
T1RTVVBQKSkgew0KPiArCQkJaWYgKHVubGlrZWx5KGJyZXQuc3RhdHVzID09IEJMS0lGX1JTUF9F
T1BOT1RTVVBQKSkgew0KPiAgIAkJCQlwcmludGsoS0VSTl9XQVJOSU5HICJibGtmcm9udDogJXM6
ICVzIG9wIGZhaWxlZFxuIiwNCj4gLQkJCQkgICAgICAgaW5mby0+Z2QtPmRpc2tfbmFtZSwgb3Bf
bmFtZShicmV0LT5vcGVyYXRpb24pKTsNCj4gKwkJCQkgICAgICAgaW5mby0+Z2QtPmRpc2tfbmFt
ZSwgb3BfbmFtZShicmV0Lm9wZXJhdGlvbikpOw0KPiAgIAkJCQlibGtpZl9yZXEocmVxKS0+ZXJy
b3IgPSBCTEtfU1RTX05PVFNVUFA7DQo+ICAgCQkJfQ0KPiAtCQkJaWYgKHVubGlrZWx5KGJyZXQt
PnN0YXR1cyA9PSBCTEtJRl9SU1BfRVJST1IgJiYNCj4gKwkJCWlmICh1bmxpa2VseShicmV0LnN0
YXR1cyA9PSBCTEtJRl9SU1BfRVJST1IgJiYNCj4gICAJCQkJICAgICByaW5mby0+c2hhZG93W2lk
XS5yZXEudS5ydy5ucl9zZWdtZW50cyA9PSAwKSkgew0KPiAgIAkJCQlwcmludGsoS0VSTl9XQVJO
SU5HICJibGtmcm9udDogJXM6IGVtcHR5ICVzIG9wIGZhaWxlZFxuIiwNCj4gLQkJCQkgICAgICAg
aW5mby0+Z2QtPmRpc2tfbmFtZSwgb3BfbmFtZShicmV0LT5vcGVyYXRpb24pKTsNCj4gKwkJCQkg
ICAgICAgaW5mby0+Z2QtPmRpc2tfbmFtZSwgb3BfbmFtZShicmV0Lm9wZXJhdGlvbikpOw0KPiAg
IAkJCQlibGtpZl9yZXEocmVxKS0+ZXJyb3IgPSBCTEtfU1RTX05PVFNVUFA7DQo+ICAgCQkJfQ0K
PiAgIAkJCWlmICh1bmxpa2VseShibGtpZl9yZXEocmVxKS0+ZXJyb3IpKSB7DQo+IEBAIC0xNTg1
LDkgKzE1ODYsOSBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgYmxraWZfaW50ZXJydXB0KGludCBpcnEs
IHZvaWQgKmRldl9pZCkNCj4gICAJCQlmYWxsdGhyb3VnaDsNCj4gICAJCWNhc2UgQkxLSUZfT1Bf
UkVBRDoNCj4gICAJCWNhc2UgQkxLSUZfT1BfV1JJVEU6DQo+IC0JCQlpZiAodW5saWtlbHkoYnJl
dC0+c3RhdHVzICE9IEJMS0lGX1JTUF9PS0FZKSkNCj4gKwkJCWlmICh1bmxpa2VseShicmV0LnN0
YXR1cyAhPSBCTEtJRl9SU1BfT0tBWSkpDQo+ICAgCQkJCWRldl9kYmcoJmluZm8tPnhiZGV2LT5k
ZXYsICJCYWQgcmV0dXJuIGZyb20gYmxrZGV2IGRhdGEgIg0KPiAtCQkJCQkicmVxdWVzdDogJXhc
biIsIGJyZXQtPnN0YXR1cyk7DQo+ICsJCQkJCSJyZXF1ZXN0OiAleFxuIiwgYnJldC5zdGF0dXMp
Ow0KPiAgIA0KPiAgIAkJCWJyZWFrOw0KPiAgIAkJZGVmYXVsdDo=


From xen-devel-bounces@lists.xenproject.org Mon Aug 02 14:09:03 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Aug 2021 14:09:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163116.298884 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAYco-0001yZ-GG; Mon, 02 Aug 2021 14:09:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163116.298884; Mon, 02 Aug 2021 14:09: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 1mAYco-0001yS-Cr; Mon, 02 Aug 2021 14:09:02 +0000
Received: by outflank-mailman (input) for mailman id 163116;
 Mon, 02 Aug 2021 14:09:01 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SgE8=MZ=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mAYcn-0001yK-7c
 for xen-devel@lists.xenproject.org; Mon, 02 Aug 2021 14:09:01 +0000
Received: from mail-pl1-x629.google.com (unknown [2607:f8b0:4864:20::629])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 2ddd4fca-7292-4dd4-ba46-dc72c5c56ef4;
 Mon, 02 Aug 2021 14:09:00 +0000 (UTC)
Received: by mail-pl1-x629.google.com with SMTP id j3so4635028plx.4
 for <xen-devel@lists.xenproject.org>; Mon, 02 Aug 2021 07:09:00 -0700 (PDT)
Received: from ?IPv6:2404:f801:0:5:8000::4b1? ([2404:f801:9000:18:efec::4b1])
 by smtp.gmail.com with ESMTPSA id
 fz10sm11071046pjb.40.2021.08.02.07.08.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Aug 2021 07:08: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: 2ddd4fca-7292-4dd4-ba46-dc72c5c56ef4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=/cdM8HpdDM3Yh7GGE7exLVKVMbD9iA/9tyiszM+STgg=;
        b=EyGzIbCm/4WfGRl2TIpRtI8exR5hEZdzfziWgkyJF2rPPiSQ75H+98IAopMmYevfFk
         Ov/fJ43JIQnILsE3s/0qzNMc0nrf6uUXE2j26BExy5g7B3BpTmvtolJxygg5zsp4OzjQ
         /7pE2ruUo+gM4LDOxH4S0QCLE3cZn8HjYiXLd7zaPCzN5tcqN75mDO2ycYHk5nf3h82W
         fzBmyU3qV/42PwBr8KexEQmrjqnx6SCVYEPtgGSjDXNVb1Uffuv26Hb9ID8hcdFyzcOI
         2ZeoAyGM+UdW1S66kVSqZMjoR5QEIes/nzm112DtVAisubEuzui0RUvnkB/UUMAP1zyE
         JLjQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=/cdM8HpdDM3Yh7GGE7exLVKVMbD9iA/9tyiszM+STgg=;
        b=d1Zv5lNq7nxY54viwEgJpX5ag+70nsOLVYeI1KxsCodboGEqUX6zDMSVweZAoOhK8m
         AlKeXtPE4E0xkSEGSTt2e8L8Yxbzm4bNfi1SCNtN6vl3+YbiXriDWKF3ZbfgZ0SQXBBG
         CLB252ns4UBiZnRGpJFBtHex0Gg975Q6pY3mQn/E/uEcqENdrWGvX5fYkw/1LaSgR3Rx
         jt6II6x9K+11yLopolMpIGyPBEEwVNLqKUxTUW+ZPJweBepUvLM5rVJDp2dpgtl9Xeap
         k8UnsppNh7KZKVRlA7sgkyFYEdDCzRW3HC8PlkVPFrSPW/AsZOpqW/I3C8hIdkIxf5i/
         1x0Q==
X-Gm-Message-State: AOAM531JJkP3/cPvWf2e487FuOYb2a1ICWGstUbYHzLivhdjQ9XAyOcX
	XXsVBKkKsCWa70rUCgcbSpM=
X-Google-Smtp-Source: ABdhPJz9/oIt1d6cc74gFPmQ4IHl6g1R2CxfQ4Ko9VZ15V7BmdIE77nzkycqmmDE/JgZuYIJykKPEQ==
X-Received: by 2002:aa7:8148:0:b029:31b:10b4:f391 with SMTP id d8-20020aa781480000b029031b10b4f391mr16506898pfn.69.1627913339735;
        Mon, 02 Aug 2021 07:08:59 -0700 (PDT)
Subject: Re: [PATCH 13/13] HV/Storvsc: Add Isolation VM support for storvsc
 driver
To: Joerg Roedel <joro@8bytes.org>
Cc: kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com,
 wei.liu@kernel.org, decui@microsoft.com, tglx@linutronix.de,
 mingo@redhat.com, bp@alien8.de, x86@kernel.org, hpa@zytor.com,
 dave.hansen@linux.intel.com, luto@kernel.org, peterz@infradead.org,
 konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, jgross@suse.com,
 sstabellini@kernel.org, will@kernel.org, davem@davemloft.net,
 kuba@kernel.org, jejb@linux.ibm.com, martin.petersen@oracle.com,
 arnd@arndb.de, hch@lst.de, m.szyprowski@samsung.com, robin.murphy@arm.com,
 thomas.lendacky@amd.com, brijesh.singh@amd.com, ardb@kernel.org,
 Tianyu.Lan@microsoft.com, rientjes@google.com, martin.b.radev@gmail.com,
 akpm@linux-foundation.org, rppt@kernel.org, kirill.shutemov@linux.intel.com,
 aneesh.kumar@linux.ibm.com, krish.sadhukhan@oracle.com, saravanand@fb.com,
 xen-devel@lists.xenproject.org, pgonda@google.com, david@redhat.com,
 keescook@chromium.org, hannes@cmpxchg.org, sfr@canb.auug.org.au,
 michael.h.kelley@microsoft.com, iommu@lists.linux-foundation.org,
 linux-arch@vger.kernel.org, linux-hyperv@vger.kernel.org,
 linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,
 netdev@vger.kernel.org, vkuznets@redhat.com, anparri@microsoft.com
References: <20210728145232.285861-1-ltykernel@gmail.com>
 <20210728145232.285861-14-ltykernel@gmail.com> <YQfxA/AYfOqyqNh0@8bytes.org>
From: Tianyu Lan <ltykernel@gmail.com>
Message-ID: <eaeb75b7-7e98-ad2d-0e2c-0565b9db79dd@gmail.com>
Date: Mon, 2 Aug 2021 22:08:43 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <YQfxA/AYfOqyqNh0@8bytes.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit

On 8/2/2021 9:20 PM, Joerg Roedel wrote:
> On Wed, Jul 28, 2021 at 10:52:28AM -0400, Tianyu Lan wrote:
>> In Isolation VM, all shared memory with host needs to mark visible
>> to host via hvcall. vmbus_establish_gpadl() has already done it for
>> storvsc rx/tx ring buffer. The page buffer used by vmbus_sendpacket_
>> mpb_desc() still need to handle. Use DMA API to map/umap these
>> memory during sending/receiving packet and Hyper-V DMA ops callback
>> will use swiotlb function to allocate bounce buffer and copy data
>> from/to bounce buffer.
> 
> I am wondering why you dont't use DMA-API unconditionally? It provides
> enough abstraction to do the right thing for isolated and legacy VMs.
> 

In VMbus, there is already a similar bounce buffer design and so there 
is no need to call DMA-API for such buffer. Calling DMA-API is to use
swiotlb bounce buffer for those buffer which hasn't been covered. This
is why need to conditionally call DMA API.


From xen-devel-bounces@lists.xenproject.org Mon Aug 02 14:41:00 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Aug 2021 14:41:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163125.298896 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAZ7e-0005iq-QY; Mon, 02 Aug 2021 14:40:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163125.298896; Mon, 02 Aug 2021 14:40:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAZ7e-0005ij-NW; Mon, 02 Aug 2021 14:40:54 +0000
Received: by outflank-mailman (input) for mailman id 163125;
 Mon, 02 Aug 2021 14:40:53 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JWm4=MZ=oracle.com=dan.carpenter@srs-us1.protection.inumbo.net>)
 id 1mAZ7d-0005id-Pw
 for xen-devel@lists.xenproject.org; Mon, 02 Aug 2021 14:40:53 +0000
Received: from mx0b-00069f02.pphosted.com (unknown [205.220.177.32])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id a3210d76-f39f-11eb-9a55-12813bfff9fa;
 Mon, 02 Aug 2021 14:40:52 +0000 (UTC)
Received: from pps.filterd (m0246631.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id
 172EL4Fa026176; Mon, 2 Aug 2021 14:40:51 GMT
Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70])
 by mx0b-00069f02.pphosted.com with ESMTP id 3a6cntgwmc-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Mon, 02 Aug 2021 14:40:51 +0000
Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1])
 by aserp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 172EJvWv102358;
 Mon, 2 Aug 2021 14:40:50 GMT
Received: from nam10-mw2-obe.outbound.protection.outlook.com
 (mail-mw2nam10lp2107.outbound.protection.outlook.com [104.47.55.107])
 by aserp3020.oracle.com with ESMTP id 3a4xb50d1p-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Mon, 02 Aug 2021 14:40:50 +0000
Received: from MWHPR1001MB2365.namprd10.prod.outlook.com
 (2603:10b6:301:2d::28) by CO1PR10MB4754.namprd10.prod.outlook.com
 (2603:10b6:303:91::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.20; Mon, 2 Aug
 2021 14:40:48 +0000
Received: from MWHPR1001MB2365.namprd10.prod.outlook.com
 ([fe80::5820:e42b:73d7:4268]) by MWHPR1001MB2365.namprd10.prod.outlook.com
 ([fe80::5820:e42b:73d7:4268%7]) with mapi id 15.20.4373.026; Mon, 2 Aug 2021
 14:40:48 +0000
Received: from kili (102.222.70.252) by ZR0P278CA0007.CHEP278.PROD.OUTLOOK.COM
 (2603:10a6:910:16::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.18 via Frontend
 Transport; Mon, 2 Aug 2021 14:40:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a3210d76-f39f-11eb-9a55-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=date : from : to : cc
 : subject : message-id : content-type : mime-version; s=corp-2021-07-09;
 bh=Qphtz8A3NoIyavcslI+pslFiaFXGek/XRrvVCEJAXLM=;
 b=BQZkGG7LFjTxOo8mu5Lgb9xLhhSPaRRYHh9uTbUjC9cPx7RHi7k+fdL9pei63nbAWFg1
 gnv78nxkAgFbKJFV7rF8xylOqsCz0IT7tZzXM0YhOYyeG3uivJ0dTc3iFP/eyNXBtGZl
 xHQTpqermyT1tWemDa/RALnW17tuGnkOpUIOHt8awAX3W5OF9RCLiSK1eyWrTopnMo0/
 v7pHpK42COkVfnffewgikff0M698xK4LhNf7go9oS/xdPQUmd5Y4HE4BDCHUuMZALeS0
 lzDzMUMzbkKoBtjDioTzMdAKsAdNp6th6WJ2fNonO+rL9niqAKSjiY87fnMtDxY7BLzU Dg== 
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=date : from : to : cc
 : subject : message-id : content-type : mime-version; s=corp-2020-01-29;
 bh=Qphtz8A3NoIyavcslI+pslFiaFXGek/XRrvVCEJAXLM=;
 b=Uits+t3KLjB8oRQ5T5/+cYL9Hp3e+OKUYdcRyNcO9BGrytGPyV6RpRlnfqb443UF3iev
 Tb0u446hnTeP7nQpw4lf4hx66oVIOoMcEMpRu3NACcEmrjFa+IJrHqBISUjTpAR9bTn/
 EPOpzyNjXVu4qW8mgaqTGB0lZvF86qiLhPIVGvgEznajM8r0OzrYXqFCXa+2fA4VBMm3
 vw9dBhXN6UanES2c4jNMnQNQuJXBYfLPftkFUavRoaWjTP/YmnxVL0esqen2fEEtrvWX
 BbByi8mEL/QYQmC2lnAOtd1NSyfm8aCkq1SPqYMPoGsc4nffcYbdJeN2YSyNK0F5/UuR IQ== 
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=e6mSLuk+FTH374+4REGDDZrKVtJR94qElsfEm/gzRbn+RvxifRsFvhJFv9h9vblN8as/G4hp8XsISZ+EhQqWqHQzE5dJH8o4jn3raa0XSc3oD26JiavwUpgnipwYLOJM4Mxa6ejmiJRCOtoVziLH3mOhthcO8jYbBtiowTb4HU2KPOAg5NDWsaS5sRJLmoJAD2rMjDx23xinPhG5WpnsSvN2+sK3lJ2qegk88GPnoukEW6BMgbMd74v6gzxTTP2V4kqN90SO2DPCDVqkvyxnBhWKTWfy/8fC0MpAQFwRfHMQzZeZHhgP+bGfJ730vPQecnBQQXmdF1oXUoXoiLKMGg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Qphtz8A3NoIyavcslI+pslFiaFXGek/XRrvVCEJAXLM=;
 b=kOFK1f/+GRp0qmF+q1OlY1zVTtFpFFqTcFZbpkfxiWOVC5ULxrLpgMDXMdLZ5fWWaElR66s5HrYUsBLRKYqiYHNI4HNy9V9X+7BcijYVRkhtT8C3wtxxLUfSxOjR0Y5TaL04IbndyqTMPKi8CPKJMZZJWCIg7qfxbH4XZoAbDk1RKzSayqQtcoxvvudivolYq5tQ2RYzCYNFDieN+zdAeretQOk1Kp8wt765/Qq9GJmnWAojW/HKQhSdhKSKrtvxxP4UjwHD77v4ll5uNtVdVUoJQSBiRddSeGr/PLg3N3eNZ0ztSydpAIH7HGs79w++qgESVZHlcfcYiiGzrEpTDQ==
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=Qphtz8A3NoIyavcslI+pslFiaFXGek/XRrvVCEJAXLM=;
 b=HV00jEml0GL3jIsjqgZBTbx//Q+9n126omv52YZ4NXIYJDP5C6MeNBwlwq72Ftr2vPKrX080IcxKHWrb+v3RkaycodcLf2bDdRtgwyv/Zkg7K731k1sLkEWvaO92WnqPahBBAWlWFJFiDSOZ4XloYU+PC7dcpqWJWUo5Zo1hA8Q=
Authentication-Results: xensource.com; dkim=none (message not signed)
 header.d=none;xensource.com; dmarc=none action=none header.from=oracle.com;
Date: Mon, 2 Aug 2021 17:40:37 +0300
From: Dan Carpenter <dan.carpenter@oracle.com>
To: jeremy@xensource.com
Cc: Stefano Stabellini <sstabellini@kernel.org>,
        xen-devel@lists.xenproject.org
Subject: [bug report] xen: add the Xenbus sysfs and virtual device hotplug
 driver
Message-ID: <20210802144037.GA29540@kili>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.10.1 (2018-07-13)
X-ClientProxiedBy: ZR0P278CA0007.CHEP278.PROD.OUTLOOK.COM
 (2603:10a6:910:16::17) To MWHPR1001MB2365.namprd10.prod.outlook.com
 (2603:10b6:301:2d::28)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4c092619-95c6-4403-fe11-08d955c384b3
X-MS-TrafficTypeDiagnostic: CO1PR10MB4754:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: 
	<CO1PR10MB47544F4390CF2C1CD278A6A68EEF9@CO1PR10MB4754.namprd10.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:6430;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 
	gd2wLEimrDPrWdd5clL6t5zWzbrw8rMjNx3CjyHJDdmjB4cTt9EvK8FAnN/wM3iztghDdvsL9zh+HKji/XhIvDNEEFTO1S6cHjgCwPwZDexnVWN7kuoRnidgfSnJu+dxtzXIsa8SHSXOxM7p+396TyqZaz+j8AZuOKGGqeBRmPinGqb2wePqJCU9VZ0v2KbWi9JlfAnLIEBl3Ij8NbJv4QbbqEBr06UR1YkCZubwz0pw9hlt7IwgtFMWmZbgCOk7e5jRnstW7xN+JEOc0fp51c/SSUXoxd8mEZ6xHuvYVNhAvxv1Iq3ICWC+l9dYf7Yii+DYt3Yavr0lZFboqjN+wXx0urMsaCiiDcLPSfxa3yukJp9lCW/pnGpMWkVuRdXxBhEVfZgSQC/zQzp/1EdCXwEPBunb6VZIpJMupHPa9W6uZVCu6ROiVlveX1zb+o+04xXJ4WyzPlUl4dwBudezof1GjOuXzIiVpGo4Y2tNWzv3RHlwPmhVxLm0CO8YUyEFYvaFKjxajvYAMIqHPeCa1nfi6DtKX6tbbO0d4oSvWxYEmHq7UEASLh6H/dj1g5RPZp8tONNPZHJqgs/oTHyOrY2Dcst95swOGUN0zeQ35voKP4xemLGdbK6knD+x/Crkr5qXdpvQ9YKsEktboTYB0Ulq87hIx6fEc6ed141uCGVXzQhwlSqFJwMvz5wuqO8yf1eKu6VMob9qKTqtGUbOEA==
X-Forefront-Antispam-Report: 
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR1001MB2365.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(346002)(136003)(39860400002)(396003)(376002)(956004)(8676002)(5660300002)(1076003)(8936002)(83380400001)(44832011)(38350700002)(55016002)(6916009)(9686003)(478600001)(316002)(2906002)(38100700002)(9576002)(6666004)(26005)(33716001)(4326008)(6496006)(52116002)(66476007)(66556008)(66946007)(186003)(86362001)(33656002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?us-ascii?Q?uJvjeMM3nZeiCeAB4un1y/GTxqHhnuo+iObiowLFx/risAFyidiU1A6cPOdJ?=
 =?us-ascii?Q?sBqZOvFFtNr7A1ZBHwy+KDu2dxHlVuWSa676hfAIMTNlW2BpPtF3lgAn8BEt?=
 =?us-ascii?Q?k2ifzHLDd81y9X037Qc5zcgZ0Sd2Gms1sxC8WjCn8KpEYk9bl5UwnhGFmirI?=
 =?us-ascii?Q?cm072Q9rVZiCwg/zlm+W/lIZPtX7bXFgePP4FoakbbsueA+RoDvnPgY3aYNA?=
 =?us-ascii?Q?z8g8x19hu0xZOUT0Df4wWFomgvbgeXNe8mmxfjWdY9fgSE1r4nJ4w2v1Sj/c?=
 =?us-ascii?Q?O7p0R/bJjEpLt/irbEIeGT7eTCUtaKDM6xw3X2Jgh1eWA+1B99xSX7BEvTx6?=
 =?us-ascii?Q?dvLc6+cv7XyjrV4MATOReVABi3BMC5m+4x8yHmB0my5+qK4Lxbgk73KV1EI9?=
 =?us-ascii?Q?LE2h2OxZj9nKvafONh2+yB+G5YeqcFw9f/QwS9LSaPRQg9TqGnH7R1AAxLRG?=
 =?us-ascii?Q?YGBW0UgJ8Sl/URKJvctYGylCPFzw4L0UyS/t+ruJO+A2bA0wV/JvEa0riBmC?=
 =?us-ascii?Q?FD+mwaTjsZK7/Bdwz4RQ0MMm4RFCNX68VdW+jdkg3x7WW56xPcT+hqscWReo?=
 =?us-ascii?Q?Rhg2Tb4kiCOWzzQBVrnJrlI4wPseQ9yDDdUyUZHa97asvwiFKqCKGqf7jYE9?=
 =?us-ascii?Q?J9fwfDfpiPk2OD67jirL6Wf16Ya5qkYP7jWJsA6XFR8AFrbXXn8ureNMS2fs?=
 =?us-ascii?Q?oJE5wUdMNv3SQt0qfqrDC7Ta9SkFRhGaSCqGoHXs5qerHdWhHSY2BosYeIAN?=
 =?us-ascii?Q?qDboZkFd7gZ5Vmm44hJr++Psc5+Guxa5L2rNfwmWgqGUt/JL1bYvEMGrxTuH?=
 =?us-ascii?Q?OLHaOLbAWZPr1evw31fUL1lQdTbvQPzcm7YNf7LRXRTfmQhSCMy7G/rpdED4?=
 =?us-ascii?Q?StN2sfKi0tBUw1Y8HDym8pUv2AZtP63sGmM2WYDewsmTNhVq/8IwdUWxji/R?=
 =?us-ascii?Q?lEYuabOIu2AkAGg1XVMzNB+yNWfDwsYZJf3m2il5ctxlCSW+d9oRxoX62Nr+?=
 =?us-ascii?Q?mgsmbbNgdu9/rQmxg5VahtWfVLXCkz82rirnfxCRbIIGbjZEm3b+4KP3V+h0?=
 =?us-ascii?Q?EqWzVy8N29TiuYIVNmqyUGCVhH3DuGvycUPo5K4LuEr6aW7GHvIpYBpXlCH+?=
 =?us-ascii?Q?XZPrxDh8hB9Ip5fh0o1AglVwjP1jVY+7twe1bjx8BlJXAAX+/PexL3yAdOfA?=
 =?us-ascii?Q?upJXTn2pViYL6sSFidTc+7bXfMShi92wfDZ6FmKyfN3++rQewT3PYxLAhlhQ?=
 =?us-ascii?Q?28mdANF5O+kTVdhNe6iMqBgv6wjegNgt/QVz6lFUM7PXSWtaOuod7d3agc62?=
 =?us-ascii?Q?x7mMETMfN/4Mm9Yub/PK5f/z?=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4c092619-95c6-4403-fe11-08d955c384b3
X-MS-Exchange-CrossTenant-AuthSource: MWHPR1001MB2365.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2021 14:40:48.4427
 (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: og3B5hoSZ6v+l4HeBKRWTyy4SZtN+cqqMG/zNevpp1is4eTdDxyHRWuvkJczxijpH1/JENC5b6SWa1OJvZ3EUBSkRZEuQkNOlwwZ/EW9tIc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR10MB4754
X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=10064 signatures=668682
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 phishscore=0 malwarescore=0
 bulkscore=0 spamscore=0 adultscore=0 mlxlogscore=999 suspectscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2107140000
 definitions=main-2108020094
X-Proofpoint-ORIG-GUID: DJOhFISnecXy9nzIR2nfdmMJyetyMcGG
X-Proofpoint-GUID: DJOhFISnecXy9nzIR2nfdmMJyetyMcGG

Hello Jeremy Fitzhardinge,

The patch 4bac07c993d0: "xen: add the Xenbus sysfs and virtual device
hotplug driver" from Jul 17, 2007, leads to the following static
checker warning:

	drivers/xen/xenbus/xenbus_xs.c:125 xs_request_enter()
	warn: sleeping in atomic context

drivers/xen/xenbus/xenbus_client.c
   413  /**
   414   * Allocate an event channel for the given xenbus_device, assigning the newly
   415   * created local port to *port.  Return 0 on success, or -errno on error.  On
   416   * error, the device will switch to XenbusStateClosing, and the error will be
   417   * saved in the store.
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The documentation is very clear how it's supposed to handle the error.

   418   */
   419  int xenbus_alloc_evtchn(struct xenbus_device *dev, evtchn_port_t *port)
   420  {
   421          struct evtchn_alloc_unbound alloc_unbound;
   422          int err;
   423  
   424          alloc_unbound.dom = DOMID_SELF;
   425          alloc_unbound.remote_dom = dev->otherend_id;
   426  
   427          err = HYPERVISOR_event_channel_op(EVTCHNOP_alloc_unbound,
   428                                            &alloc_unbound);
   429          if (err)
   430                  xenbus_dev_fatal(dev, err, "allocating event channel");
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The xenbus_dev_fatal() has a bunch of sleeping functions like xenbus_write()
and we could be holding a spinlock here.

pvcalls_front_connect() <-- holds &bedata->socket_lock
 --> create_active()
     --> xenbus_alloc_evtchn()

   431          else
   432                  *port = alloc_unbound.port;
   433  
   434          return err;
   435  }

regards,
dan carpenter


From xen-devel-bounces@lists.xenproject.org Mon Aug 02 15:05:27 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Aug 2021 15:05:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163133.298908 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAZVJ-00081P-OM; Mon, 02 Aug 2021 15:05:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163133.298908; Mon, 02 Aug 2021 15: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 1mAZVJ-00081I-JU; Mon, 02 Aug 2021 15:05:21 +0000
Received: by outflank-mailman (input) for mailman id 163133;
 Mon, 02 Aug 2021 15:05: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 1mAZVI-00081C-4T
 for xen-devel@lists.xenproject.org; Mon, 02 Aug 2021 15:05: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 1mAZVF-0000mT-35; Mon, 02 Aug 2021 15:05:17 +0000
Received: from 54-240-197-239.amazon.com ([54.240.197.239]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mAZVE-00035E-Sl; Mon, 02 Aug 2021 15: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=JTivbjtnl10q1/JwJkOBAffOInXla3TiITWSZ3ND+E8=; b=07FkTglVkyos7bgDhFF9qAvgb0
	RpOcGLOvuWwfCK/OXlUeyu0KzDpn96f8VieO86xp64ZvjZncE7SlYbIxqaODkqj4+eFH+9hcv3c3B
	eTYHhXjkCwOMRlnlQ9SPGVlt1imkhpgAy7w4ihZCzq33v4odxY9tR8hrBGDgiEHeZWf0=;
Subject: Re: [PATCH v5 2/4] xen: do not return -EEXIST if iommu_add_dt_device
 is called twice
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, Bertrand.Marquis@arm.com,
 Volodymyr_Babchuk@epam.com, rahul.singh@arm.com, brian.woods@xilinx.com,
 Stefano Stabellini <stefano.stabellini@xilinx.com>
References: <alpine.DEB.2.21.2107221634130.10122@sstabellini-ThinkPad-T480s>
 <20210722233642.22515-2-sstabellini@kernel.org>
 <acd7e7b6-7c2b-24d5-da80-042396aee5e8@xen.org>
 <alpine.DEB.2.21.2107231043230.10122@sstabellini-ThinkPad-T480s>
 <aa7be3ad-8cbe-a187-3ebc-e1c5d2d11091@xen.org>
 <alpine.DEB.2.21.2107301444100.10122@sstabellini-ThinkPad-T480s>
From: Julien Grall <julien@xen.org>
Message-ID: <427e6a82-7480-2cb6-9e83-f848f9caa218@xen.org>
Date: Mon, 2 Aug 2021 16:05:14 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <alpine.DEB.2.21.2107301444100.10122@sstabellini-ThinkPad-T480s>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 30/07/2021 22:57, Stefano Stabellini wrote:
> On Mon, 26 Jul 2021, Julien Grall wrote:
>> Hi Stefano,
>>
>> On 23/07/2021 21:16, Stefano Stabellini wrote:
>>> On Fri, 23 Jul 2021, Julien Grall wrote:
>>>>> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
>>>>> ---
>>>>> Changes in v5:
>>>>> - new patch
>>>>> ---
>>>>>     xen/drivers/passthrough/device_tree.c | 9 +++++++--
>>>>>     1 file changed, 7 insertions(+), 2 deletions(-)
>>>>>
>>>>> diff --git a/xen/drivers/passthrough/device_tree.c
>>>>> b/xen/drivers/passthrough/device_tree.c
>>>>> index 999b831d90..32526ecabb 100644
>>>>> --- a/xen/drivers/passthrough/device_tree.c
>>>>> +++ b/xen/drivers/passthrough/device_tree.c
>>>>> @@ -140,8 +140,13 @@ int iommu_add_dt_device(struct dt_device_node *np)
>>>>>         if ( !ops )
>>>>>             return -EINVAL;
>>>>>     +    /*
>>>>> +     * Some Device Trees may expose both legacy SMMU and generic
>>>>> +     * IOMMU bindings together. If both are present, the device
>>>>> +     * can be already added.
>>>>
>>>> Wouldn't this also happen when there is just generic bindings? If so,
>>>> shouldn't this patch be first in the series to avoid breaking bisection?
>>>
>>> No, both need to be present; if there is just the generic bindings we
>>> don't need this change. I can still move it to the beginning of the
>>> series anyway if you prefer.
>>
>> Sorry but I am having some trouble to understand why this is not a problem for
>> just the legacy binding.
>>
>> If I look at patch #1, the dev->iommu_fspec will be allocated in
>> register_smmu_master(). If I am not mistaken, this is called when the SMMU is
>> initialized.
>>
>> So the call to iommu_add_dt_device() in handle_device() should return -EEXIST
>> (dev_iommu_fwspec_get() will return a non-NULL pointer).
>>
>> What did I miss?
> 
> I checked. It is true that we need this check with the legacy bindings,
> even when alone.
> 
> Like you said, dev->iommu_fspec is allocated early by
> register_smmu_master. Then, handle_device, or handle_passthrough_prop
> for dom0less guests, calls iommu_add_dt_device a second time.
> 
> On the other hand with only the generic bindings register_smmu_master
> doesn't call iommu_add_dt_device, so iommu_add_dt_device is called only
> once by handle_device or handle_passthrough_prop. >
> 
> The comment I proposed is not correct. What about this one?
> 
>      /*
>       * In case of legacy SMMU bindings, register_smmu_master might have
>       * already initialized struct iommu_fwspec for this device.
>       */
As I may have mentionned in a previous version of the series, this check 
is not specific to the SMMU. We also need it for other cases (e.g. when 
the device is (re-)assigned to a guest).

So I think a specialized comment is unsuitable here. Instead, we should 
provide a generic comment. Something like:

/*
  * The device may already have been registered. As there is no harm in
  * it just return success early.
  */

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 02 16:24:28 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Aug 2021 16:24:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163144.298925 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAajg-0007Kg-1e; Mon, 02 Aug 2021 16:24:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163144.298925; Mon, 02 Aug 2021 16: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 1mAajf-0007KY-Ue; Mon, 02 Aug 2021 16:24:15 +0000
Received: by outflank-mailman (input) for mailman id 163144;
 Mon, 02 Aug 2021 15:41:41 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zUNv=MZ=linuxfoundation.org=aweltz@srs-us1.protection.inumbo.net>)
 id 1mAa4S-0003SY-Vf
 for xen-devel@lists.xenproject.org; Mon, 02 Aug 2021 15:41:41 +0000
Received: from mail-il1-x130.google.com (unknown [2607:f8b0:4864:20::130])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ec724805-c672-4d03-872b-55afeb828942;
 Mon, 02 Aug 2021 15:41:39 +0000 (UTC)
Received: by mail-il1-x130.google.com with SMTP id z3so16785795ile.12
 for <xen-devel@lists.xenproject.org>; Mon, 02 Aug 2021 08:41: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: ec724805-c672-4d03-872b-55afeb828942
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linuxfoundation.org; s=google;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to;
        bh=ww/deEZF+DqN5rvnMvgOS/NUTuq/rb3jGzIu2MnG0Bs=;
        b=blNtv8ZhDrk5MI6Xe9se6qYwcaDqPuOIeeRjEAgJ94wKeFnkhepfwHNY7NluxB5r0h
         tUs9O2qRCyBTFLOuBjVhEQaTF2VANotFCuf9bVsp8wkyt//+3wZ3UPv7XmmLO3y6nh+A
         uy8MFe9kaj1J1FwACvbegMiHxuqYfqBeEG9qo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to;
        bh=ww/deEZF+DqN5rvnMvgOS/NUTuq/rb3jGzIu2MnG0Bs=;
        b=d/2Cmg3WzvgAGZdf+LkJ5BlI73vEaJDao9ciZmavnsZTXnMDVTVb+X581dxReQOdSs
         6kOcqrdI5bCNjLuhBbYgVRN3oq/Cl1/Zn1tFKekF777mZEKFP30CqgniPrEkY57WU/lb
         u8d8ecF1vDqwJVlafsIzfZQjsGWqm8AL92rv5FKU6qFr1bTq4+iEp2z/ZqR7pSmbxkfa
         a0IeokEiaEQgEKEwFJTdNF3qEazlVOgH30w5DZv1244M8Helebu/mXQphurSrOVBJOy5
         gHnD6xWtqNFiEEj/+NH6brUMUSsG8mAc2TKQr4PkFS6cVxCRvMeK23DzBkQkExTu18CD
         4lqw==
X-Gm-Message-State: AOAM533IZJYnOVnPJJVEHoNxZUhFLeldszKlaKf3WpZLDYLp0D+Rr52f
	/FoqcnEzGBQDyGMvEeY/BepYbM5RLEPxBkz4wQ7wUR2SOFA=
X-Google-Smtp-Source: ABdhPJw7zgRcxPboHBJ7WTCMCjazl7vJWjYtFMH5lYmfsrTlspxHSJr9sC8Xg7W4mQHHQ602YylmHzYCVEipvMpGdsM=
X-Received: by 2002:a05:6e02:50c:: with SMTP id d12mr1841756ils.256.1627918899424;
 Mon, 02 Aug 2021 08:41:39 -0700 (PDT)
MIME-Version: 1.0
References: <CADT4064PXyoPQP980=YqPau_Gcfb0ouXdyxEr=JiteMhtBfkQg@mail.gmail.com>
In-Reply-To: <CADT4064PXyoPQP980=YqPau_Gcfb0ouXdyxEr=JiteMhtBfkQg@mail.gmail.com>
From: Ashley Weltz <aweltz@linuxfoundation.org>
Date: Mon, 2 Aug 2021 11:41:28 -0400
Message-ID: <CADT4066LZ2p6AdpTwQPAXn=ho0i+ZMvkf96xBzVfyrDNA8c87Q@mail.gmail.com>
Subject: [ANNOUNCE] Call for agenda items for August 3rd Community Call @ 1500 UTC
To: xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="000000000000b9476205c8956734"

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

Hi all,

For those I have not yet met, I'm Ashley Weltz a Project Coordinator from
The Linux Foundation stepping in to support Xen. I joined last month's
community call, and I will be taking over for George while he is out.
Please let me know if you have any questions. I look forward to working
with you all!

*In our last meeting, we defined a new meeting time for our community call.
The first Tuesday of the month at 1500 UTC. *I have sent a calendar
invitation to you all. If you did not receive it, let me know.

The proposed agenda is in
https://cryptpad.fr/pad/#/2/pad/edit/qDdvquUrWN2viaL94sgjcrJ1/ and you can
edit to add items.  Alternatively, please feel free to email me directly
with agenda items.

Agenda items appreciated a few days before the call: please put your name
besides items if you edit the document.

We will plan to start the meeting 5 minutes past the hour.

* 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+/

Again, please let me know if you have any questions. See you on Tuesday!

Cheers,
Ashley
-- 
Ashley Weltz, Project Coordinator
The Linux Foundation
aweltz@linuxfoundation.org

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

<div dir=3D"ltr"><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail=
_attr">Hi all,<br></div><div dir=3D"ltr"><br>For those I have not yet met, =
I&#39;m Ashley Weltz a Project Coordinator from The Linux Foundation steppi=
ng in to support Xen. I joined last month&#39;s community call, and I will =
be taking over for George while he is out. Please let me know if you have a=
ny questions. I look forward to working with you all!=C2=A0<br><br><b>In ou=
r last meeting, we defined a new meeting time for our community call. The f=
irst Tuesday of the month at 1500 UTC. </b>I have sent a calendar invitatio=
n=C2=A0to you all. If you did not receive it, let me know.=C2=A0<div><b><br=
></b>The proposed agenda is in=C2=A0<a href=3D"https://cryptpad.fr/pad/#/2/=
pad/edit/qDdvquUrWN2viaL94sgjcrJ1/" target=3D"_blank">https://cryptpad.fr/p=
ad/#/2/pad/edit/qDdvquUrWN2viaL94sgjcrJ1/</a> and you can edit to add items=
.=C2=A0 Alternatively, please feel free to email me directly with agenda it=
ems.=C2=A0<br><br>Agenda items appreciated a few days before the=C2=A0<span=
>call</span>: please put your name besides items if you edit the document.<=
br><br>We will plan to start the meeting 5 minutes past the hour.=C2=A0<br>=
<br>* If you want to be CC&#39;ed please add or remove yourself from the si=
gn-up-sheet at=C2=A0<a href=3D"https://cryptpad.fr/pad/#/2/pad/edit/D9vGzih=
PxxAOe6RFPz0sRCf+/" rel=3D"noreferrer" target=3D"_blank">https://cryptpad.f=
r/pad/#/2/pad/edit/D9vGzihPxxAOe6RFPz0sRCf+/</a></div><div><br></div><div>A=
gain, please let me know if you have any questions. See you on Tuesday!</di=
v><div><br></div><div>Cheers,</div><div>Ashley</div></div></div>-- <br><div=
 dir=3D"ltr" class=3D"gmail_signature" data-smartmail=3D"gmail_signature"><=
div dir=3D"ltr">Ashley Weltz, Project Coordinator=C2=A0<div>The Linux Found=
ation</div><div><a href=3D"mailto:aweltz@linuxfoundation.org" target=3D"_bl=
ank">aweltz@linuxfoundation.org</a></div></div></div></div>

--000000000000b9476205c8956734--


From xen-devel-bounces@lists.xenproject.org Mon Aug 02 18:46:25 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Aug 2021 18:46:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163159.298941 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAcx1-0002va-QC; Mon, 02 Aug 2021 18:46:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163159.298941; Mon, 02 Aug 2021 18: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 1mAcx1-0002vT-LG; Mon, 02 Aug 2021 18:46:11 +0000
Received: by outflank-mailman (input) for mailman id 163159;
 Mon, 02 Aug 2021 18:46: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 1mAcwz-0002vJ-TO; Mon, 02 Aug 2021 18:46: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 1mAcwy-0004Yv-Qd; Mon, 02 Aug 2021 18:46:08 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mAcwy-0001dS-DY; Mon, 02 Aug 2021 18:46:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mAcwy-0007CR-Co; Mon, 02 Aug 2021 18:46: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=v6vjGmtCygUp/dutWbSkq5AqsgoZXWpitXDQZqZKs8c=; b=ghmQAudjpB1M8PpU2CXTPRGnOt
	+uIAS/zpJtyJGiLPHjsJUC+oVG/tZk+1hOjICFYjuce+p75nQCm/bb0bgNghewzuqnjkaxvBtXMmf
	EHsEvieZY2FvdSUBXaKKLA/UHSQZIsHcZPw8tQSRRipGT+iYZyda64znef0meqTzgXVE=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164082-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 164082: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check: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-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-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-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=10a3c4a4b3e14208cfed274514d1911e5230935f
X-Osstest-Versions-That:
    qemuu=0c633cf0c221922a0a9f9d0b8866cbb111f5e192
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 02 Aug 2021 18:46:08 +0000

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

Failures :-/ but no regressions.

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

version targeted for testing:
 qemuu                10a3c4a4b3e14208cfed274514d1911e5230935f
baseline version:
 qemuu                0c633cf0c221922a0a9f9d0b8866cbb111f5e192

Last test of basis   164073  2021-08-01 12:37:58 Z    1 days
Testing same since   164082  2021-08-02 11:06:46 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Bin Meng <bin.meng@windriver.com>
  Christina Wang <christina.wang@windriver.com>
  Jason Wang <jasowang@redhat.com>
  Pavel Pisa <pisa@cmp.felk.cvut.cz>
  Peter Maydell <peter.maydell@linaro.org>
  Thomas Huth <thuth@redhat.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   0c633cf0c2..10a3c4a4b3  10a3c4a4b3e14208cfed274514d1911e5230935f -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Mon Aug 02 19:12:49 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Aug 2021 19:12:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163168.298956 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAdMg-0005yq-W1; Mon, 02 Aug 2021 19:12:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163168.298956; Mon, 02 Aug 2021 19: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 1mAdMg-0005yj-S9; Mon, 02 Aug 2021 19:12:42 +0000
Received: by outflank-mailman (input) for mailman id 163168;
 Mon, 02 Aug 2021 19:12:41 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0dAX=MZ=gmail.com=olekstysh@srs-us1.protection.inumbo.net>)
 id 1mAdMf-0005yd-N6
 for xen-devel@lists.xenproject.org; Mon, 02 Aug 2021 19:12:41 +0000
Received: from mail-lj1-x22b.google.com (unknown [2a00:1450:4864:20::22b])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 153b0ae1-fd3c-4dc7-b465-5f28117f3f00;
 Mon, 02 Aug 2021 19:12:40 +0000 (UTC)
Received: by mail-lj1-x22b.google.com with SMTP id h9so25216600ljq.8
 for <xen-devel@lists.xenproject.org>; Mon, 02 Aug 2021 12:12:39 -0700 (PDT)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id b42sm641146lfv.135.2021.08.02.12.12.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Aug 2021 12:12: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: 153b0ae1-fd3c-4dc7-b465-5f28117f3f00
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-transfer-encoding:content-language;
        bh=4dn6Oh88Hfe5a8YSjhOlqz2zbl/Xwz+PPUmrkp5aF+Y=;
        b=g8fzRyv+wFS/DdOzu/cqeIHfoXBMo0Rs/UhKVbICN/HXi7S5O72T8J/roDx/GXAlRH
         /GHV6qHAKKkAlCq/SZIKWR67YCUb/mtyE732TL3CcvXQGnoCeEr/so3psa/vk6AUZ8yp
         9sqtc/LOWvyR5OKg/5GZcPW5pkye3nTclw/YeMjv/lTSAH7gGzTQ1MockAqsjiiNgG5e
         0tFYbbcod6EuD5t8gpjjgtgOFyYJofm5T0a5ryBk+i5BdnT+VZ1f91FYqUTxdzCEaVQ6
         SMU82FphAZRa9bEUsSct6fPa++65laP5pPUNyvexratZjuQLL/abh+cLvkwQ6qHXbDZc
         LYLw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-transfer-encoding
         :content-language;
        bh=4dn6Oh88Hfe5a8YSjhOlqz2zbl/Xwz+PPUmrkp5aF+Y=;
        b=jyNo7Q6Vrnr/6CoI9H1mJzMncOT6a4QjF7LMdOQxd3drjzF5KZJpeq3mh1RQJX6siC
         WSFZkeMSoUOJfGBHkITY/fi740ZQJhBxH5yVg0w8mJRNDXLI/SXgjNt0L/2PLcAvygO+
         1Sh2zxQ9hIsu3hQDLZggbybW3ikPOnmCHXtYmL1XABfPGw3laTsnwwihzT8BLYED9bcY
         0PBkdbD1dvXcmvPVYguVmXhpQNNeasx5PgTDWyDuvWWx2tcdtax+Heru3g63lvk3bZEe
         ZeHstUqQ7c6NCfsJrV+zQLjlPsJpHODylncpUF/uolUwPaI+oDL8gjdPp2v4z86BI8Mc
         ZXtw==
X-Gm-Message-State: AOAM5327M0/CAyIylefJqY4UBP+odbjWfkrubuTCy5RMYqFe59GkGaUV
	7ZVJesKAcXxz5RFdAt1aAOA=
X-Google-Smtp-Source: ABdhPJwQGJuTC4lyrrUMj9xu+tYVql77lGQRGjF+MtAVyvnyXZEMDC8fODh3IcDj3tyW/em/CFVwiQ==
X-Received: by 2002:a2e:a315:: with SMTP id l21mr12088222lje.359.1627931558832;
        Mon, 02 Aug 2021 12:12:38 -0700 (PDT)
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel@lists.xenproject.org,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <80fafc01-f063-d6e5-1c08-7ad64550310c@citrix.com>
 <e8db3021-78a5-e040-a70b-62ca5b500149@xen.org>
 <4de5ed21-379e-b618-44c8-924d88b1a519@citrix.com>
 <bbc7f597-5249-20a0-cac9-13f594268299@xen.org>
 <6a633f4e-13e0-4a2b-cf6e-35ef90ae977c@gmail.com>
 <alpine.DEB.2.21.2107301630510.10122@sstabellini-ThinkPad-T480s>
From: Oleksandr <olekstysh@gmail.com>
Message-ID: <f6b2e6c6-bf58-960f-4a09-f05ebcf1f566@gmail.com>
Date: Mon, 2 Aug 2021 22:12:37 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.10.0
MIME-Version: 1.0
In-Reply-To: <alpine.DEB.2.21.2107301630510.10122@sstabellini-ThinkPad-T480s>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US


Hi Stefano,


Thank you for the comments and ideas.


On 31.07.21 02:57, Stefano Stabellini wrote:
> On Fri, 30 Jul 2021, Oleksandr wrote:
>> Hi Andrew, Julien.
>>
>>
>> @Andrew, I think that arguments you provided in your first answer (why the
>> proposed solution is a potentially racy and not a safe) are valid and
>> reasonable.
>> Thanks for the feedback.
>>
>>
>> On 28.07.21 22:53, Julien Grall wrote:
>>>
>>> On 28/07/2021 20:00, Andrew Cooper wrote:
>>>> On 28/07/2021 18:27, Julien Grall wrote:
>>>>> Hi Andrew,
>>>>>
>>>>> On 28/07/2021 18:19, Andrew Cooper wrote:
>>>>>> On 28/07/2021 17:18, Oleksandr Tyshchenko wrote:
>>>>>>> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>>>>>>
>>>>>>> Add XENMEM_get_unallocated_space hypercall which purpose is to
>>>>>>> query hypervisor to find regions of guest physical address space
>>>>>>> which are unused and can be used to create grant/foreign mappings
>>>>>>> instead of wasting real pages from the domain memory for
>>>>>>> establishing these mappings. The problem with the current Linux
>>>>>>> on Xen on Arm behaviour is if we want to map some guest memory
>>>>>>> regions in advance or to perform cache mappings in the backend
>>>>>>> we might run out of memory in the host (see XSA-300).
>>>>>>> This of course, depends on the both host and guest memory sizes.
>>>>>>>
>>>>>>> The "unallocated space" can't be figured out precisely by
>>>>>>> the domain on Arm without hypervisor involvement:
>>>>>>> - not all device I/O regions are known by the time domain starts
>>>>>>>      creating grant/foreign mappings
>>>>>>> - the Dom0 is not aware of memory regions used for the identity
>>>>>>>      mappings needed for the PV drivers to work
>>>>>>> In both cases we might end up re-using these regions by
>>>>>>> a mistake. So, the hypervisor which maintains the P2M for the domain
>>>>>>> is in the best position to provide "unallocated space".
>>>>>> I'm afraid this does not improve the situation.
>>>>>>
>>>>>> If a guest follows the advice from XENMEM_get_unallocated_space, and
>>>>>> subsequently a new IO or identity region appears, everything will
>>>>>> explode, because the "safe area" wasn't actually safe.
>>>>>>
>>>>>> The safe range *must* be chosen by the toolstack, because nothing else
>>>>>> can do it safely or correctly.
>>>>> The problem is how do you size it? In particular, a backend may map
>>>>> multiple time the same page (for instance if the page is granted twice).
>>>> The number of mapped grants is limited by the size of the maptrack table
>>>> in Xen, which is a toolstack input to the domaincreate hypercall.
>>>> Therefore, the amount of space required is known and bounded.
>>>>
>>>> There are a handful of other frames required in the current ABI (shared
>>>> info, vcpu info, etc).
>>>>
>>>> The areas where things do become fuzzy is things like foreign mappings,
>>>> acquire_resource, etc for the control domain, which are effectively
>>>> unbounded from the domain's point of view.
>>>>
>>>> For those, its entirely fine to say "here 128G of safe mapping space" or
>>>> so.  Even the quantity of mapping dom0 can make is limited by the shadow
>>>> memory pool and the number of pagetables Xen is willing to expend on the
>>>> second stage translation tables.
>>> FWIW, on Arm, we don't have shadow memory pool.
>>>
>>> Anyway, it should be possible to give a 128GB "safe range" and let Xen deal
>>> with it.
>>>
>>>>>> Once a safe range (or ranges) has been chosen, any subsequent action
>>>>>> which overlaps with the ranges must be rejected, as it will violate
>>>>>> the
>>>>>> guarantees provided.
>>>>>>
>>>>>> Furthermore, the ranges should be made available to the guest via
>>>>>> normal
>>>>>> memory map means.  On x86, this is via the E820 table, and on ARM I
>>>>>> presume the DTB.  There is no need for a new hypercall.
>>>>> Device-Tree only works if you have a guest using it. How about ACPI?
>>>> ACPI inherits E820 from x86 (its a trivial format), and UEFI was also
>>>> based on it.
>>>>
>>>> But whichever...  All firmware interfaces have a memory map.
>>> This will be UEFI memory map. However, I am a bit confused how we can tell
>>> the OS the region will be used for grant/foreign mapping. Is it possible to
>>> reserved a new type?
>>>
>>>>> To me the hypercall solution at least:
>>>>>     1) Avoid to have to define the region on every single firmware table
>>>> There is only ever one.
>>> Why? I could forsee an interest to use the host memory map and therefore we
>>> may need to find a few holes for safe regions to use.
>>>
>>>>>     2) Allow to easily extend after the guest run
>>>> The safe ranges can't be changed (safely).  This is the same problem as
>>>> needing to know things like your PCI apertures ahead of time, or where
>>>> the DIMM hotplug regions are.
>>>>
>>>> Having the guest physmap be actually dynamic is the cause of so many
>>>> bugs (inc security) and misfeatures in Xen.  Guests cannot and do no
>>>> cope with things being fully dynamic, because that's not how real
>>>> hardware works.  What you get is layers and layers of breakage on top of
>>>> each other, rather than a working system.
>>> I would not call it "fully dynamic". Xen can easily know whether a region
>>> has ever be allocated before. So long the region has never been allocated,
>>> then it should be fine. In fact...
>>>
>>>> The size of mapping space is a limit, just like maxphysaddr, or the PCI
>>>> apertures, or MMCFG space, etc.  You can make it large by default (as it
>>>> doesn't consume resource when not being used), but any guest OS isn't
>>>> going to tolerate it morphing during runtime.
>>> ... I believe the OS may be not aware of the hotplug region until it is
>>> actually used.
>>>
>>> Anyway, I suggested this approach a few months ago to Oleksandr (see [1])
>>> which BTW you were CCed on ;). My take was that Xen knows about the
>>> unallocated space and therefore can make an informed decision without having
>>> to allocate insanely large region.
>>>
>>> Now if you think that's fine (IIRC Stefano had a preference for that as
>>> well). Then we can use the firmware table (assuming we can solve the ACPI
>>> question).
>>
>> Well, if new hypercall and, what is more, "the querying hypervisor at runtime
>> to find unused space" model itself is not welcome, I am ok, let's try to
>> create a working system,
>> may we please find a common ground to move this forward (at least on Arm for
>> now, the foreign mapping is the most important question).
>>
>> I got the proposed idea in general, but I haven't connected all dots yet, some
>> points need clarification.
>>
>> 1. The safe range must be defined/allocated in advance and must remain const
>> during the runtime. The safe range must be chosen by the toolstack.
>> [For the initial implementation we can start with some large value (128GB) as
>> discussed above]
>>
>> Questions:
>>
>> - Do we need to inform Xen about that range (via domain_create hypercall,
>> etc)?
>> - What will be in charge of guaranteeing the safety of that range at runtime
>> (reject new mapping requests with possible overlaps, etc), Xen, toolstack or
>> both?
>> - Where that range should be located in guest address space, should that range
>> be the same for all domains (how GUEST_GNTTAB_BASE(SIZE) for example)
>> or it should be calculated based on actual guest_ram_base(size) for a
>> particular domain?
>> - What about a safe range the Dom0 can use itself? Xen should choose it for
>> Dom0 the same way how toolstack chooses it for other domains, correct?
> Brainstorming an idea to answer some of these questions.
>
> Xen needs to be able to choose a safe range without the toolstack's help
> at least for dom0 and dom0less guests.

Completely agree.


> Could we just have Xen choose the
> safe range for all domains?

As I understand, the region info (base, size) should be known to whoever 
generates firmware tables (DTB) for the domain in order to insert that 
range.
So, in case if Xen chooses that range, it should be queried by the 
toolstack anyway (either by new domctl or extending existing one which 
context would fit).
This adds some complexity.


>
> Could it be just as simple as choosing a range 1GB-aligned above
> whatever is the highest address previously allocated for memory, MMIO,
> whatever?
Probably, we could choose a range above max mapped gpfn at the domain 
creation time.
Currently, we are dealing with platform devices only on Arm and all IO 
are known in advance, so no new IO are expected at runtime.
But, what to do when hotplug comes into play (and new conflicting IO 
might just appear)? On the other side, we might be faced with the same 
problem,
if we used a predefined static range. With both options (calculated and 
predefined range) we would need to deny any new conflicting mapping.


>
> We could also have the toolstack provide the info but I wonder if we can
> get away without it.

I may not see all pitfalls here, but it seems that having the same 
predefined range for all domains would simplify things.
On Arm we have the following:

#define GUEST_RAM1_BASE   xen_mk_ullong(0x0200000000) /* 1016GB of RAM @ 
8GB */
#define GUEST_RAM1_SIZE   xen_mk_ullong(0xfe00000000)

Now I am wondering, can we limit the GUEST_RAM1_SIZE by 128GB for 
example in order to reserve a range at the end, would this be acceptable?
So, both Xen and toolstack would see that definition and would be able 
to insert a range to the generated DTB, Xen's P2M code would be in 
change of keeping that range in a safe state.

>> 2. The safe range must be provided to domain using the firmware table.
>> [We can start with the DTB and leave ACPI unimplemented for now, assuming we
>> will be able to solve open questions as discussed above]
>>
>> Questions:
>>
>> - Do we need distinguish between foreign and grant mappings at the domain side
>> at all? Can the same safe range be used for all types of mapping?
> This is a good question. I can't think of a reason why we would need to
> distinguish between the two from Xen's point of view. Would it make
> the Linux implementation easier if we distinguished them?
I may mistake, but I don't think it would make the Linux implementation 
easier, both foreign and grants mappings result in same action which is 
xen_alloc_unpopulated_pages (or alloc_xenballooned_pages).
For both mappings the problem with wasting real domain memory on Arm is 
actual at the moment, although with foreign mapping
for the device emulator use case it becomes more evident.



>
>
>> - How will domain recognize what range can be used for foreign/grant mappings?
>> Do we need to introduce new device-tree bindings for describing the range
>> or it is possible to re-use current bindings (expand the "reg" property under
>> "hypervisor" node, currently it contains gnttab region)?
> Do we need a struct page* for the range? We needed it in the past and it
> is the reason why we currenly use ballooned-out pages: they have a
> proper struct page* associated with them. pte_special() caused problems.
> So, continuing with the assumption that we need a struct page*, then the
> range needs to be advertised as "memory" to the DomU (part to of the
> /memory node). But we can reserve the range for foreign/grant-mapping
> use by adding a reserved-memory binding for it. If we go down this
> route, we should add a new binding as I don't think we should reuse
> reserved-memory/xen,shared-memory.txt. It would be very simply to add,
> just follow the model of xen,shared-memory.txt. (Note that just because
> the range is part of the DomU /memory node, it doesn't mean it needs to
> be backed by real memory.)
>
> If we don't need a struct page* then we can do something different using
> bus ranges and/or MMIO regions.

Yes, we need struct page* for the each pfn in the range. But, I think, 
this can be achieved even without describing the range as a part of 
memory/reserved-memory nodes. Fortunately, the Linux ZONE_DEVICE facility
can help with that, actually the "unpopulated-alloc" is based on this 
feature, please see drivers/xen/unpopulated-alloc.c:fill_list()
and 
https://lore.kernel.org/lkml/1627490656-1267-2-git-send-email-olekstysh@gmail.com/ 
for details.


-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Mon Aug 02 19:26:53 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Aug 2021 19:26:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163177.298968 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAdaK-0007W1-Dx; Mon, 02 Aug 2021 19:26:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163177.298968; Mon, 02 Aug 2021 19: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 1mAdaK-0007Vu-9q; Mon, 02 Aug 2021 19:26:48 +0000
Received: by outflank-mailman (input) for mailman id 163177;
 Mon, 02 Aug 2021 19:26:47 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mAdaJ-0007Vo-1d
 for xen-devel@lists.xenproject.org; Mon, 02 Aug 2021 19:26:47 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mAdaG-0005AA-Eq; Mon, 02 Aug 2021 19:26:44 +0000
Received: from 54-240-197-239.amazon.com ([54.240.197.239]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mAdaG-0007ax-7m; Mon, 02 Aug 2021 19:26: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:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=yLymr9H1OCvndWN80GmoyzBo94ja/hRSde4G9P4ta2E=; b=d8jZc1tvzuI0veWjzeUuB7Se0L
	hN+28bgqiVufZsOUo00chLbRSZu32rlK/lvL3+4zo74I6jHJ3ML5yjqva9R4WLZ6f/Rbv1LfLUR/W
	XHZiiqUxO2Lj/fgh3v17fWmrmzI3MfaJ821LgPmLLVTA8oKbwSrVhM0jhw/gBAOFx0zU=;
Subject: Re: [PATCH v3 1/3] xen/blkfront: read response from backend only once
To: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>,
 Juergen Gross <jgross@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Jens Axboe <axboe@kernel.dk>, Jan Beulich <jbeulich@suse.com>
References: <20210730103854.12681-1-jgross@suse.com>
 <20210730103854.12681-2-jgross@suse.com>
 <ce79a0a8-128d-1d50-d160-f612fbd52101@epam.com>
From: Julien Grall <julien@xen.org>
Message-ID: <feabcdc6-4166-86d9-b449-42b4abd7e4ec@xen.org>
Date: Mon, 2 Aug 2021 20:26:41 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <ce79a0a8-128d-1d50-d160-f612fbd52101@epam.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit

Hi,

On 02/08/2021 15:06, Oleksandr Andrushchenko wrote:
> On 30.07.21 13:38, Juergen Gross wrote:
>> In order to avoid problems in case the backend is modifying a response
>> on the ring page while the frontend has already seen it, just read the
>> response into a local buffer in one go and then operate on that buffer
>> only.
>>
>> Signed-off-by: Juergen Gross <jgross@suse.com>
>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>> Acked-by: Roger Pau Monné <roger.pau@citrix.com>
>> ---
>>    drivers/block/xen-blkfront.c | 35 ++++++++++++++++++-----------------
>>    1 file changed, 18 insertions(+), 17 deletions(-)
>>
>> diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
>> index d83fee21f6c5..15e840287734 100644
>> --- a/drivers/block/xen-blkfront.c
>> +++ b/drivers/block/xen-blkfront.c
>> @@ -1496,7 +1496,7 @@ static bool blkif_completion(unsigned long *id,
>>    static irqreturn_t blkif_interrupt(int irq, void *dev_id)
>>    {
>>    	struct request *req;
>> -	struct blkif_response *bret;
>> +	struct blkif_response bret;
>>    	RING_IDX i, rp;
>>    	unsigned long flags;
>>    	struct blkfront_ring_info *rinfo = (struct blkfront_ring_info *)dev_id;
>> @@ -1513,8 +1513,9 @@ static irqreturn_t blkif_interrupt(int irq, void *dev_id)
>>    	for (i = rinfo->ring.rsp_cons; i != rp; i++) {
>>    		unsigned long id;
>>    
>> -		bret = RING_GET_RESPONSE(&rinfo->ring, i);
>> -		id   = bret->id;
>> +		RING_COPY_RESPONSE(&rinfo->ring, i, &bret);
> 
> As per my understanding copying is still not an atomic operation as the request/response
> 
> are multi-byte structures in general. IOW, what prevents the backend from modifying the ring while
> 
> we are copying?

Nothing and, I believe, you are never going to be able to ensure 
atomicity with large structure (at least between entity that doesn't 
trust each other).

However, what you can do is copying the response once, check that it is 
consistent and then use it. If it is not consistent, then you can report 
an error.

This is better than what's currently in tree. IOW we may have multiple 
read so the code is prone to TOCTOU.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 02 21:23:04 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Aug 2021 21:23:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163187.298982 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAfOZ-00012F-Ol; Mon, 02 Aug 2021 21:22:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163187.298982; Mon, 02 Aug 2021 21:22:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAfOZ-000128-Lr; Mon, 02 Aug 2021 21:22:47 +0000
Received: by outflank-mailman (input) for mailman id 163187;
 Mon, 02 Aug 2021 21:22: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 1mAfOY-00011y-N4; Mon, 02 Aug 2021 21:22: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 1mAfOY-0006u7-Fj; Mon, 02 Aug 2021 21:22: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 1mAfOY-0007Lk-5s; Mon, 02 Aug 2021 21:22:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mAfOY-0002Mo-5O; Mon, 02 Aug 2021 21:22:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=c4ZJiHoZnHSGBPj/jc+9Vq9hXo1qtA17jAchwt1sV+0=; b=Z/ptpETNiqRV7222WMUlc//dwG
	C33TcA382Zx0txUcFLXdQC7DH8dMKSqZgiHzf6q9HFHxNaJ6LGrqKG+pXEWaTbz09o0eQQNT4J5op
	aJkXQBZXPEloSx7583GvSiKEi1M7a2Wg1A5B5UdAMQ90v1F3cDmw58yQAiivn8FQAHBY=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164083-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164083: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:heisenbug
    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-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=c500bee1c5b2f1d59b1081ac879d73268ab0ff17
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 02 Aug 2021 21:22:46 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop              fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 20 guest-stop               fail REGR. vs. 152332

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl          13 debian-fixup     fail in 164079 pass in 164083
 test-amd64-amd64-libvirt-xsm 20 guest-start/debian.repeat fail in 164079 pass in 164083
 test-arm64-arm64-xl-credit2  13 debian-fixup               fail pass in 164079

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

version targeted for testing:
 linux                c500bee1c5b2f1d59b1081ac879d73268ab0ff17
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  367 days
Failing since        152366  2020-08-01 20:49:34 Z  366 days  635 attempts
Testing same since   164079  2021-08-02 04:02:17 Z    0 days    2 attempts

------------------------------------------------------------
6750 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 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                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Tue Aug 03 00:18:50 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 00:18:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163196.298998 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAi8X-0007qd-HG; Tue, 03 Aug 2021 00:18:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163196.298998; Tue, 03 Aug 2021 00: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 1mAi8X-0007qW-Dc; Tue, 03 Aug 2021 00:18:25 +0000
Received: by outflank-mailman (input) for mailman id 163196;
 Tue, 03 Aug 2021 00:18:23 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GulG=M2=kernel.org=sstabellini@srs-us1.protection.inumbo.net>)
 id 1mAi8V-0007qQ-MC
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 00:18:23 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 4fa5255a-f3f0-11eb-9a7d-12813bfff9fa;
 Tue, 03 Aug 2021 00:18:22 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id 386686023E;
 Tue,  3 Aug 2021 00:18: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: 4fa5255a-f3f0-11eb-9a7d-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1627949901;
	bh=BY3wL+1bVshmk/ns2Uv3wP3qYZ0vBq5Kz+8TEOVYR1w=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=CrHWlPZsQizUjiodAIMEI9bi3ABljC+Z8kqKn5XHcHK8LOXU1nuhALJUxQteorB0A
	 reBUQqRSYXjbeL9UAvttc/fplPfQg/P1txOgn88XnhUWo0SF3FHxwAhQ7FNUzH8JvZ
	 G/01NN6Kh2YZfrSwT/cKgGKnRTGAbjOzkZl12XHFDCOG6MFic16aLCDwktwwlMKk/F
	 PZbww68M+m7tDwvFPqZZGWJX8e2qVA88vrBYJ3h2PmOZA3oKEb8e7li2W+jFy5RbT2
	 OWHYAPugFJa0tiSybK4EFIXGpVI2ZcOxhSjKKlEglFbPJUDuqYjuUvtiKLzKXyYJuf
	 SYPCoZOadjCpw==
Date: Mon, 2 Aug 2021 17:18:20 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@sstabellini-ThinkPad-T480s
To: Julien Grall <julien@xen.org>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, Bertrand.Marquis@arm.com, 
    Volodymyr_Babchuk@epam.com, rahul.singh@arm.com, brian.woods@xilinx.com, 
    Stefano Stabellini <stefano.stabellini@xilinx.com>
Subject: Re: [PATCH v5 2/4] xen: do not return -EEXIST if iommu_add_dt_device
 is called twice
In-Reply-To: <427e6a82-7480-2cb6-9e83-f848f9caa218@xen.org>
Message-ID: <alpine.DEB.2.21.2108021718100.10122@sstabellini-ThinkPad-T480s>
References: <alpine.DEB.2.21.2107221634130.10122@sstabellini-ThinkPad-T480s> <20210722233642.22515-2-sstabellini@kernel.org> <acd7e7b6-7c2b-24d5-da80-042396aee5e8@xen.org> <alpine.DEB.2.21.2107231043230.10122@sstabellini-ThinkPad-T480s>
 <aa7be3ad-8cbe-a187-3ebc-e1c5d2d11091@xen.org> <alpine.DEB.2.21.2107301444100.10122@sstabellini-ThinkPad-T480s> <427e6a82-7480-2cb6-9e83-f848f9caa218@xen.org>
User-Agent: Alpine 2.21 (DEB 202 2017-01-01)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 2 Aug 2021, Julien Grall wrote:
> Hi Stefano,
> 
> On 30/07/2021 22:57, Stefano Stabellini wrote:
> > On Mon, 26 Jul 2021, Julien Grall wrote:
> > > Hi Stefano,
> > > 
> > > On 23/07/2021 21:16, Stefano Stabellini wrote:
> > > > On Fri, 23 Jul 2021, Julien Grall wrote:
> > > > > > Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
> > > > > > ---
> > > > > > Changes in v5:
> > > > > > - new patch
> > > > > > ---
> > > > > >     xen/drivers/passthrough/device_tree.c | 9 +++++++--
> > > > > >     1 file changed, 7 insertions(+), 2 deletions(-)
> > > > > > 
> > > > > > diff --git a/xen/drivers/passthrough/device_tree.c
> > > > > > b/xen/drivers/passthrough/device_tree.c
> > > > > > index 999b831d90..32526ecabb 100644
> > > > > > --- a/xen/drivers/passthrough/device_tree.c
> > > > > > +++ b/xen/drivers/passthrough/device_tree.c
> > > > > > @@ -140,8 +140,13 @@ int iommu_add_dt_device(struct dt_device_node
> > > > > > *np)
> > > > > >         if ( !ops )
> > > > > >             return -EINVAL;
> > > > > >     +    /*
> > > > > > +     * Some Device Trees may expose both legacy SMMU and generic
> > > > > > +     * IOMMU bindings together. If both are present, the device
> > > > > > +     * can be already added.
> > > > > 
> > > > > Wouldn't this also happen when there is just generic bindings? If so,
> > > > > shouldn't this patch be first in the series to avoid breaking
> > > > > bisection?
> > > > 
> > > > No, both need to be present; if there is just the generic bindings we
> > > > don't need this change. I can still move it to the beginning of the
> > > > series anyway if you prefer.
> > > 
> > > Sorry but I am having some trouble to understand why this is not a problem
> > > for
> > > just the legacy binding.
> > > 
> > > If I look at patch #1, the dev->iommu_fspec will be allocated in
> > > register_smmu_master(). If I am not mistaken, this is called when the SMMU
> > > is
> > > initialized.
> > > 
> > > So the call to iommu_add_dt_device() in handle_device() should return
> > > -EEXIST
> > > (dev_iommu_fwspec_get() will return a non-NULL pointer).
> > > 
> > > What did I miss?
> > 
> > I checked. It is true that we need this check with the legacy bindings,
> > even when alone.
> > 
> > Like you said, dev->iommu_fspec is allocated early by
> > register_smmu_master. Then, handle_device, or handle_passthrough_prop
> > for dom0less guests, calls iommu_add_dt_device a second time.
> > 
> > On the other hand with only the generic bindings register_smmu_master
> > doesn't call iommu_add_dt_device, so iommu_add_dt_device is called only
> > once by handle_device or handle_passthrough_prop. >
> > 
> > The comment I proposed is not correct. What about this one?
> > 
> >      /*
> >       * In case of legacy SMMU bindings, register_smmu_master might have
> >       * already initialized struct iommu_fwspec for this device.
> >       */
> As I may have mentionned in a previous version of the series, this check is
> not specific to the SMMU. We also need it for other cases (e.g. when the
> device is (re-)assigned to a guest).
> 
> So I think a specialized comment is unsuitable here. Instead, we should
> provide a generic comment. Something like:
> 
> /*
>  * The device may already have been registered. As there is no harm in
>  * it just return success early.
>  */

Thanks, I'll use it in the next version


From xen-devel-bounces@lists.xenproject.org Tue Aug 03 00:24:05 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 00:24:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163204.299009 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAiDy-0000te-AT; Tue, 03 Aug 2021 00:24:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163204.299009; Tue, 03 Aug 2021 00:24: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 1mAiDy-0000tX-7T; Tue, 03 Aug 2021 00:24:02 +0000
Received: by outflank-mailman (input) for mailman id 163204;
 Tue, 03 Aug 2021 00:24:00 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GulG=M2=kernel.org=sstabellini@srs-us1.protection.inumbo.net>)
 id 1mAiDw-0000tR-Pu
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 00:24:00 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 18fb132e-f3f1-11eb-9a7d-12813bfff9fa;
 Tue, 03 Aug 2021 00:24:00 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id 1E48860EB5;
 Tue,  3 Aug 2021 00:23: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: 18fb132e-f3f1-11eb-9a7d-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1627950239;
	bh=E6zENBRmB4zx1eVjbhrxX8BIHkVGgXu9tBHnCDzCieM=;
	h=Date:From:To:cc:Subject:From;
	b=hx9BErdNCXDqFcaDghqIFTAs9NcnYODyJROU9pgXqDB9GX+BA96gBnSpU6Dqww1+R
	 vfBoiPxtngnVwwhQpkwb5EsXFIyybyc7T2RQK8VzOiNt0mV3DVdoOXaqv4iKPivpDk
	 mERJ+Xtr9zMCO41p8ESX/daqdJJIPW69CERjJyxHExCCznrV5rlVjhaXM9jJocFSFe
	 JrfBLXTLDL05HORjnGX9yqRT6Fijtlb255M1xoAsIsVzRcuco72dBETexAzxDSpcWi
	 ir06tBL6VO14fAFfcT5bcvgfofTQ/r+ozT2OhTL8yB8pnPyxs1udS8Eeb3uFtK2/eo
	 mdiOEn5hg5KKA==
Date: Mon, 2 Aug 2021 17:23:58 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@sstabellini-ThinkPad-T480s
To: xen-devel@lists.xenproject.org
cc: sstabellini@kernel.org, julien@xen.org, Bertrand.Marquis@arm.com, 
    Volodymyr_Babchuk@epam.com, rahul.singh@arm.com, brian.woods@xilinx.com
Subject: [PATCH v6 0/4] Generic SMMU Bindings
Message-ID: <alpine.DEB.2.21.2108021720560.10122@sstabellini-ThinkPad-T480s>
User-Agent: Alpine 2.21 (DEB 202 2017-01-01)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Hi all,

This series introduces support for the generic SMMU bindings to
xen/drivers/passthrough/arm/smmu.c.

Cheers,

Stefano

Brian Woods (3):
      arm,smmu: switch to using iommu_fwspec functions
      arm,smmu: restructure code in preparation to new bindings support
      arm,smmu: add support for generic DT bindings. Implement add_device and dt_xlate.

Stefano Stabellini (1):
      xen: do not return -EEXIST if iommu_add_dt_device is called twice

 xen/drivers/passthrough/arm/smmu.c    | 141 +++++++++++++++++++++++++---------
 xen/drivers/passthrough/device_tree.c |  30 ++------
 2 files changed, 113 insertions(+), 58 deletions(-)


From xen-devel-bounces@lists.xenproject.org Tue Aug 03 00:24:13 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 00:24:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163206.299021 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAiE9-0001FI-I3; Tue, 03 Aug 2021 00:24:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163206.299021; Tue, 03 Aug 2021 00: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 1mAiE9-0001FB-F1; Tue, 03 Aug 2021 00:24:13 +0000
Received: by outflank-mailman (input) for mailman id 163206;
 Tue, 03 Aug 2021 00:24:12 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GulG=M2=kernel.org=sstabellini@srs-us1.protection.inumbo.net>)
 id 1mAiE8-0001EV-Hw
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 00:24:12 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id fbd2d587-2e74-4be6-b71c-ac81efe59a70;
 Tue, 03 Aug 2021 00:24:11 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id 7ED9B60EB5;
 Tue,  3 Aug 2021 00:24: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: fbd2d587-2e74-4be6-b71c-ac81efe59a70
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1627950250;
	bh=Nq3WENT04Jv2WVQpnaz0jZGl+pYE7uv2I5GgVFteS7M=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=sT4m9OCcgomc3a3DfTaquUZHwPFNtC3Fyw9TCjHOmMGu7keZvtgssi5c41zI1rAIS
	 tCrJOnMlK52KCneFHVvVJgx+L8YFT2y9fZr2mz4wjHZ+OpOBt/wlq2csORiLXuosRP
	 YHzy172L8QRDkyHqoEjr6A/J98YDCXtbjfrHWuzk1oKZDOyHNkuaZQhQfLAt0MJE2B
	 M74kUD7px9PmS4o6WXv5PtwR5tAQXTbKMB0Lr/Yps6a2AoYl8vNCY/wJEr+KI6Y6Xt
	 K6gOc6yE07fW56MGCqJkG71Y3UM+3jmxmf8D07STNUrFym0XYQSEmOjgd1uMAcVqye
	 jrIn8nzc/1DAg==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	julien@xen.org,
	Bertrand.Marquis@arm.com,
	Volodymyr_Babchuk@epam.com,
	rahul.singh@arm.com,
	brian.woods@xilinx.com,
	Stefano Stabellini <stefano.stabellini@xilinx.com>
Subject: [PATCH v6 1/4] arm,smmu: switch to using iommu_fwspec functions
Date: Mon,  2 Aug 2021 17:24:06 -0700
Message-Id: <20210803002409.19406-1-sstabellini@kernel.org>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <alpine.DEB.2.21.2108021720560.10122@sstabellini-ThinkPad-T480s>
References: <alpine.DEB.2.21.2108021720560.10122@sstabellini-ThinkPad-T480s>

From: Brian Woods <brian.woods@xilinx.com>

Modify the smmu driver so that it uses the iommu_fwspec helper
functions.  This means both ARM IOMMU drivers will both use the
iommu_fwspec helper functions, making enabling generic device tree
bindings in the SMMU driver much cleaner.

Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Reviewed-by: Rahul Singh <rahul.singh@arm.com>
---
Changes in v5:
- moved iommu_add_dt_device change to a separate patch
---
 xen/drivers/passthrough/arm/smmu.c | 75 ++++++++++++++++++++----------
 1 file changed, 51 insertions(+), 24 deletions(-)

diff --git a/xen/drivers/passthrough/arm/smmu.c b/xen/drivers/passthrough/arm/smmu.c
index 658c40433c..09773702c3 100644
--- a/xen/drivers/passthrough/arm/smmu.c
+++ b/xen/drivers/passthrough/arm/smmu.c
@@ -32,6 +32,9 @@
  *	- 4k and 64k pages, with contiguous pte hints.
  *	- Up to 48-bit addressing (dependent on VA_BITS)
  *	- Context fault reporting
+ *
+ * Changes compared to Linux driver:
+ *	- support for fwspec
  */
 
 
@@ -49,6 +52,7 @@
 #include <asm/atomic.h>
 #include <asm/device.h>
 #include <asm/io.h>
+#include <asm/iommu_fwspec.h>
 #include <asm/platform.h>
 
 /* Xen: The below defines are redefined within the file. Undef it */
@@ -617,13 +621,11 @@ struct arm_smmu_smr {
 
 struct arm_smmu_master_cfg {
 	struct arm_smmu_device		*smmu;
-	int				num_streamids;
-	u16				streamids[MAX_MASTER_STREAMIDS];
 	s16				smendx[MAX_MASTER_STREAMIDS];
 };
 #define INVALID_SMENDX			-1
-#define for_each_cfg_sme(cfg, i, idx) \
-	for (i = 0; idx = cfg->smendx[i], i < cfg->num_streamids; ++i)
+#define for_each_cfg_sme(cfg, i, idx, num) \
+	for (i = 0; idx = cfg->smendx[i], i < num; ++i)
 
 struct arm_smmu_master {
 	struct device_node		*of_node;
@@ -713,6 +715,14 @@ static struct arm_smmu_option_prop arm_smmu_options[] = {
 	{ 0, NULL},
 };
 
+static inline struct iommu_fwspec *
+arm_smmu_get_fwspec(struct arm_smmu_master_cfg *cfg)
+{
+	struct arm_smmu_master *master = container_of(cfg,
+			                                      struct arm_smmu_master, cfg);
+	return dev_iommu_fwspec_get(&master->of_node->dev);
+}
+
 static void parse_driver_options(struct arm_smmu_device *smmu)
 {
 	int i = 0;
@@ -806,8 +816,9 @@ static int register_smmu_master(struct arm_smmu_device *smmu,
 				struct device *dev,
 				struct of_phandle_args *masterspec)
 {
-	int i;
+	int i, ret = 0;
 	struct arm_smmu_master *master;
+	struct iommu_fwspec *fwspec;
 
 	master = find_smmu_master(smmu, masterspec->np);
 	if (master) {
@@ -817,24 +828,30 @@ static int register_smmu_master(struct arm_smmu_device *smmu,
 		return -EBUSY;
 	}
 
-	if (masterspec->args_count > MAX_MASTER_STREAMIDS) {
-		dev_err(dev,
-			"reached maximum number (%d) of stream IDs for master device %s\n",
-			MAX_MASTER_STREAMIDS, masterspec->np->name);
-		return -ENOSPC;
-	}
-
 	master = devm_kzalloc(dev, sizeof(*master), GFP_KERNEL);
 	if (!master)
 		return -ENOMEM;
+	master->of_node = masterspec->np;
 
-	master->of_node			= masterspec->np;
-	master->cfg.num_streamids	= masterspec->args_count;
+	ret = iommu_fwspec_init(&master->of_node->dev, smmu->dev);
+	if (ret) {
+		kfree(master);
+		return ret;
+	}
+
+	/* adding the ids here */
+	ret = iommu_fwspec_add_ids(&masterspec->np->dev,
+				   masterspec->args,
+				   masterspec->args_count);
+	if (ret)
+		return ret;
+
+	fwspec = dev_iommu_fwspec_get(dev);
 
 	/* Xen: Let Xen know that the device is protected by an SMMU */
 	dt_device_set_protected(masterspec->np);
 
-	for (i = 0; i < master->cfg.num_streamids; ++i) {
+	for (i = 0; i < fwspec->num_ids; ++i) {
 		u16 streamid = masterspec->args[i];
 
 		if (!(smmu->features & ARM_SMMU_FEAT_STREAM_MATCH) &&
@@ -844,7 +861,6 @@ static int register_smmu_master(struct arm_smmu_device *smmu,
 				masterspec->np->name, smmu->num_mapping_groups);
 			return -ERANGE;
 		}
-		master->cfg.streamids[i] = streamid;
 		master->cfg.smendx[i] = INVALID_SMENDX;
 	}
 	return insert_smmu_master(smmu, master);
@@ -1500,22 +1516,23 @@ static int arm_smmu_master_alloc_smes(struct device *dev)
 	struct arm_smmu_device *smmu = cfg->smmu;
 	struct arm_smmu_smr *smrs = smmu->smrs;
 	int i, idx, ret;
+	struct iommu_fwspec *fwspec = arm_smmu_get_fwspec(cfg);
 
 	spin_lock(&smmu->stream_map_lock);
 	/* Figure out a viable stream map entry allocation */
-	for_each_cfg_sme(cfg, i, idx) {
+	for_each_cfg_sme(cfg, i, idx, fwspec->num_ids) {
 		if (idx != INVALID_SMENDX) {
 			ret = -EEXIST;
 			goto out_err;
 		}
 
-		ret = arm_smmu_find_sme(smmu, cfg->streamids[i], 0);
+		ret = arm_smmu_find_sme(smmu, fwspec->ids[i], 0);
 		if (ret < 0)
 			goto out_err;
 
 		idx = ret;
 		if (smrs && smmu->s2crs[idx].count == 0) {
-			smrs[idx].id = cfg->streamids[i];
+			smrs[idx].id = fwspec->ids[i];
 			smrs[idx].mask = 0; /* We don't currently share SMRs */
 			smrs[idx].valid = true;
 		}
@@ -1524,7 +1541,7 @@ static int arm_smmu_master_alloc_smes(struct device *dev)
 	}
 
 	/* It worked! Now, poke the actual hardware */
-	for_each_cfg_sme(cfg, i, idx) {
+	for_each_cfg_sme(cfg, i, idx, fwspec->num_ids) {
 		arm_smmu_write_sme(smmu, idx);
 	}
 
@@ -1544,9 +1561,10 @@ static void arm_smmu_master_free_smes(struct arm_smmu_master_cfg *cfg)
 {
     struct arm_smmu_device *smmu = cfg->smmu;
 	int i, idx;
+	struct iommu_fwspec *fwspec = arm_smmu_get_fwspec(cfg);
 
 	spin_lock(&smmu->stream_map_lock);
-	for_each_cfg_sme(cfg, i, idx) {
+	for_each_cfg_sme(cfg, i, idx, fwspec->num_ids) {
 		if (arm_smmu_free_sme(smmu, idx))
 			arm_smmu_write_sme(smmu, idx);
 		cfg->smendx[i] = INVALID_SMENDX;
@@ -1562,8 +1580,9 @@ static int arm_smmu_domain_add_master(struct arm_smmu_domain *smmu_domain,
 	enum arm_smmu_s2cr_type type = S2CR_TYPE_TRANS;
 	u8 cbndx = smmu_domain->cfg.cbndx;
 	int i, idx;
+	struct iommu_fwspec *fwspec = arm_smmu_get_fwspec(cfg);
 
-	for_each_cfg_sme(cfg, i, idx) {
+	for_each_cfg_sme(cfg, i, idx, fwspec->num_ids) {
 		if (type == s2cr[idx].type && cbndx == s2cr[idx].cbndx)
 			continue;
 
@@ -1962,6 +1981,7 @@ static int arm_smmu_add_device(struct device *dev)
 	struct arm_smmu_master_cfg *cfg;
 	struct iommu_group *group;
 	void (*releasefn)(void *) = NULL;
+	int ret;
 
 	smmu = find_smmu_for_device(dev);
 	if (!smmu)
@@ -1969,19 +1989,26 @@ static int arm_smmu_add_device(struct device *dev)
 
 	if (dev_is_pci(dev)) {
 		struct pci_dev *pdev = to_pci_dev(dev);
+		struct iommu_fwspec *fwspec;
 
 		cfg = kzalloc(sizeof(*cfg), GFP_KERNEL);
 		if (!cfg) {
 			return -ENOMEM;
 		}
 
-		cfg->num_streamids = 1;
+		ret = iommu_fwspec_init(dev, smmu->dev);
+		if (ret) {
+			kfree(cfg);
+			return ret;
+		}
+		fwspec = dev_iommu_fwspec_get(dev);
+
 		/*
 		 * Assume Stream ID == Requester ID for now.
 		 * We need a way to describe the ID mappings in FDT.
 		 */
 		pci_for_each_dma_alias(pdev, __arm_smmu_get_pci_sid,
-				       &cfg->streamids[0]);
+				       &fwspec->ids[0]);
 		releasefn = __arm_smmu_release_pci_iommudata;
 		cfg->smmu = smmu;
 	} else {
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 03 00:24:14 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 00:24:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163207.299033 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAiEA-0001Wr-RY; Tue, 03 Aug 2021 00:24:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163207.299033; Tue, 03 Aug 2021 00: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 1mAiEA-0001Wk-O1; Tue, 03 Aug 2021 00:24:14 +0000
Received: by outflank-mailman (input) for mailman id 163207;
 Tue, 03 Aug 2021 00:24:12 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GulG=M2=kernel.org=sstabellini@srs-us1.protection.inumbo.net>)
 id 1mAiE8-0001CH-NU
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 00:24:12 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 20207176-f3f1-11eb-9a7d-12813bfff9fa;
 Tue, 03 Aug 2021 00:24:12 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id 0B59760EFD;
 Tue,  3 Aug 2021 00:24: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: 20207176-f3f1-11eb-9a7d-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1627950251;
	bh=PDVGbqlEdV9Ni6L4dSAvkSyR5v0MfCHLBfpJr6Xi6wE=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=Z2ptlm2X8O1GUrholYR0NLEX5GRURTRo+o3AYkdqS0pN3tPzVxWNj3vMG5EIZVb4F
	 BQk0mvEwFaNkU4PAmYPjC18ukHXk4Pj86wG7N9xAEk+t3vhhNEVJerfWyaxfMKKDsd
	 geaOSBZvpDiUmIiflGzx2f1DOP6LJNdep/zDy5yjaZsn0jcsL57yzjDywC7yWW/S3p
	 6EdtPGCjVHqRYttM7ZKz8M5Pe+4kdKJvL2wK1ZDCWLZqElhlw/CFBj1cCSQ3WlcvvT
	 +oytpDcA9D09zzGh1q7utVQPYqcIdVeo82IaRt/VG3zCw74XegJRL0k7SDvQ7RQsJ9
	 frY+cfreZ53WA==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	julien@xen.org,
	Bertrand.Marquis@arm.com,
	Volodymyr_Babchuk@epam.com,
	rahul.singh@arm.com,
	brian.woods@xilinx.com,
	Stefano Stabellini <stefano.stabellini@xilinx.com>
Subject: [PATCH v6 2/4] xen: do not return -EEXIST if iommu_add_dt_device is called twice
Date: Mon,  2 Aug 2021 17:24:07 -0700
Message-Id: <20210803002409.19406-2-sstabellini@kernel.org>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <alpine.DEB.2.21.2108021720560.10122@sstabellini-ThinkPad-T480s>
References: <alpine.DEB.2.21.2108021720560.10122@sstabellini-ThinkPad-T480s>

iommu_add_dt_device() returns -EEXIST if the device was already
registered. At the moment, this can only happen if the device was
already assigned to a domain (either dom0 at boot or via
XEN_DOMCTL_assign_device).

In a follow-up patch, we will convert the SMMU driver to use the FW
spec. When the legacy bindings are used, all the devices will be
registered at probe. Therefore, iommu_add_dt_device() will always
returns -EEXIST.

Currently, one caller (XEN_DOMCTL_assign_device) will check the return
and ignore -EEXIST. All the other will fail because it was technically a
programming error.

However, there is no harm to call iommu_add_dt_device() twice, so we can
simply return 0.

With that in place the caller doesn't need to check -EEXIST anymore, so
remove the check.

Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
---
Changes in v6:
- improve in-code comment
- improve commit message
- remove stale in-code comment

Changes in v5:
- new patch
---
 xen/drivers/passthrough/device_tree.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
index 999b831d90..9249f21c01 100644
--- a/xen/drivers/passthrough/device_tree.c
+++ b/xen/drivers/passthrough/device_tree.c
@@ -140,8 +140,12 @@ int iommu_add_dt_device(struct dt_device_node *np)
     if ( !ops )
         return -EINVAL;
 
+    /*
+     * The device may already have been registered. As there is no harm in
+     * it just return success early.
+     */
     if ( dev_iommu_fwspec_get(dev) )
-        return -EEXIST;
+        return 0;
 
     /*
      * According to the Documentation/devicetree/bindings/iommu/iommu.txt
@@ -249,12 +253,7 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
             return -EINVAL;
 
         ret = iommu_add_dt_device(dev);
-        /*
-         * Ignore "-EEXIST" error code as it would mean that the device is
-         * already added to the IOMMU (positive result). Such happens after
-         * re-creating guest domain.
-         */
-        if ( ret < 0 && ret != -EEXIST )
+        if ( ret < 0 )
         {
             printk(XENLOG_G_ERR "Failed to add %s to the IOMMU\n",
                    dt_node_full_name(dev));
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 03 00:24:18 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 00:24:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163209.299046 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAiEE-0001tU-6J; Tue, 03 Aug 2021 00:24:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163209.299046; Tue, 03 Aug 2021 00:24:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAiEE-0001tH-1g; Tue, 03 Aug 2021 00:24:18 +0000
Received: by outflank-mailman (input) for mailman id 163209;
 Tue, 03 Aug 2021 00:24:17 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GulG=M2=kernel.org=sstabellini@srs-us1.protection.inumbo.net>)
 id 1mAiED-0001EV-EV
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 00:24:17 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 9e41c88f-e36e-4799-8268-55a2e5ff27d8;
 Tue, 03 Aug 2021 00:24:12 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id 9F6BA60EEA;
 Tue,  3 Aug 2021 00:24: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: 9e41c88f-e36e-4799-8268-55a2e5ff27d8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1627950252;
	bh=6TReV4Pdjfx3WD5lh4CLVkGlPCvVlrwBPMhSYNdvOVM=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=u6AYJiOemVm2ui/WtPSWgDQ1kaCuzVG1OV4BdwPKy2DD+H+oxqXYdTmbqdIEFvAXK
	 nt3RvwF9mLIrbfR4fEhVncrHvso1jo63kmZv60SErNBLPR5cU67jpMewu87tWWmcg2
	 ECObi5QZdsMhurOif7pmhNg9EF2+am9LQjEZUx6Nw2QnEaHtbJcePawpoYHUIjATpT
	 71EeyHUP8HFoBuMWnfrdjpy7FMirjdgaFjzP4mgjwVE4wgc67JsSEuuArOIzaKF1J+
	 i3gNy5slDgOkDGWhS8hnkUzxE/4eJ9G2EXVisCrA0upGdf7TpNJWPoUoQKv0rR3kE8
	 LMd3JQ2x6sf4Q==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	julien@xen.org,
	Bertrand.Marquis@arm.com,
	Volodymyr_Babchuk@epam.com,
	rahul.singh@arm.com,
	brian.woods@xilinx.com,
	Stefano Stabellini <stefano.stabellini@xilinx.com>
Subject: [PATCH v6 3/4] arm,smmu: restructure code in preparation to new bindings support
Date: Mon,  2 Aug 2021 17:24:08 -0700
Message-Id: <20210803002409.19406-3-sstabellini@kernel.org>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <alpine.DEB.2.21.2108021720560.10122@sstabellini-ThinkPad-T480s>
References: <alpine.DEB.2.21.2108021720560.10122@sstabellini-ThinkPad-T480s>

From: Brian Woods <brian.woods@xilinx.com>

Restructure some of the code and add supporting functions for adding
generic device tree (DT) binding support.  This will allow for using
current Linux device trees with just modifying the chosen field to
enable Xen.

Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Reviewed-by: Rahul Singh <rahul.singh@arm.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
 xen/drivers/passthrough/arm/smmu.c | 62 ++++++++++++++++--------------
 1 file changed, 34 insertions(+), 28 deletions(-)

diff --git a/xen/drivers/passthrough/arm/smmu.c b/xen/drivers/passthrough/arm/smmu.c
index 09773702c3..4aa3ecec57 100644
--- a/xen/drivers/passthrough/arm/smmu.c
+++ b/xen/drivers/passthrough/arm/smmu.c
@@ -812,53 +812,36 @@ static int insert_smmu_master(struct arm_smmu_device *smmu,
 	return 0;
 }
 
-static int register_smmu_master(struct arm_smmu_device *smmu,
-				struct device *dev,
-				struct of_phandle_args *masterspec)
+static int arm_smmu_dt_add_device_legacy(struct arm_smmu_device *smmu,
+					 struct device *dev,
+					 struct iommu_fwspec *fwspec)
 {
-	int i, ret = 0;
+	int i;
 	struct arm_smmu_master *master;
-	struct iommu_fwspec *fwspec;
+	struct device_node *dev_node = dev_get_dev_node(dev);
 
-	master = find_smmu_master(smmu, masterspec->np);
+	master = find_smmu_master(smmu, dev_node);
 	if (master) {
 		dev_err(dev,
 			"rejecting multiple registrations for master device %s\n",
-			masterspec->np->name);
+			dev_node->name);
 		return -EBUSY;
 	}
 
 	master = devm_kzalloc(dev, sizeof(*master), GFP_KERNEL);
 	if (!master)
 		return -ENOMEM;
-	master->of_node = masterspec->np;
-
-	ret = iommu_fwspec_init(&master->of_node->dev, smmu->dev);
-	if (ret) {
-		kfree(master);
-		return ret;
-	}
-
-	/* adding the ids here */
-	ret = iommu_fwspec_add_ids(&masterspec->np->dev,
-				   masterspec->args,
-				   masterspec->args_count);
-	if (ret)
-		return ret;
-
-	fwspec = dev_iommu_fwspec_get(dev);
+	master->of_node = dev_node;
 
 	/* Xen: Let Xen know that the device is protected by an SMMU */
-	dt_device_set_protected(masterspec->np);
+	dt_device_set_protected(dev_node);
 
 	for (i = 0; i < fwspec->num_ids; ++i) {
-		u16 streamid = masterspec->args[i];
-
 		if (!(smmu->features & ARM_SMMU_FEAT_STREAM_MATCH) &&
-		     (streamid >= smmu->num_mapping_groups)) {
+		     (fwspec->ids[i] >= smmu->num_mapping_groups)) {
 			dev_err(dev,
 				"stream ID for master device %s greater than maximum allowed (%d)\n",
-				masterspec->np->name, smmu->num_mapping_groups);
+				dev_node->name, smmu->num_mapping_groups);
 			return -ERANGE;
 		}
 		master->cfg.smendx[i] = INVALID_SMENDX;
@@ -866,6 +849,29 @@ static int register_smmu_master(struct arm_smmu_device *smmu,
 	return insert_smmu_master(smmu, master);
 }
 
+static int register_smmu_master(struct arm_smmu_device *smmu,
+				struct device *dev,
+				struct of_phandle_args *masterspec)
+{
+	int ret = 0;
+	struct iommu_fwspec *fwspec;
+
+	ret = iommu_fwspec_init(&masterspec->np->dev, smmu->dev);
+	if (ret)
+		return ret;
+
+	ret = iommu_fwspec_add_ids(&masterspec->np->dev,
+				   masterspec->args,
+				   masterspec->args_count);
+	if (ret)
+		return ret;
+
+	fwspec = dev_iommu_fwspec_get(&masterspec->np->dev);
+	return arm_smmu_dt_add_device_legacy(smmu,
+					     &masterspec->np->dev,
+					     fwspec);
+}
+
 static struct arm_smmu_device *find_smmu_for_device(struct device *dev)
 {
 	struct arm_smmu_device *smmu;
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 03 00:24:23 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 00:24:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163212.299058 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAiEJ-0002Lk-GM; Tue, 03 Aug 2021 00:24:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163212.299058; Tue, 03 Aug 2021 00:24:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAiEJ-0002LZ-Cp; Tue, 03 Aug 2021 00:24:23 +0000
Received: by outflank-mailman (input) for mailman id 163212;
 Tue, 03 Aug 2021 00:24:22 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GulG=M2=kernel.org=sstabellini@srs-us1.protection.inumbo.net>)
 id 1mAiEI-0001EV-EX
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 00:24:22 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 8821dc9d-bb27-477e-9c4f-5fe612abc26d;
 Tue, 03 Aug 2021 00:24:13 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id 4B14A60F11;
 Tue,  3 Aug 2021 00: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: 8821dc9d-bb27-477e-9c4f-5fe612abc26d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1627950252;
	bh=Fhw/OAINyMd6WdnbOn4NtALR4OovCkQXG7dyHkj549U=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=VtLeXDlUfQUJEvy6/uPiVfdDNL8nQLK46o6juyovE15m9052qQIHeaWgQNBASxm9y
	 u6bdufv1LXTr2W7Djf5MpygylzJjlvbW2594PJEYBxmUS7aDginuVarzZWZ1xfiA/R
	 0TZ+pUKJUDO2vLQr1ALzRoy6NUeLR7TF2PbZDud6RjpSMRou1SOfiBREf/jdIxJzdH
	 aJYRVxEfH7QM5OEOpN8iWmOXWzVFFBVS/Nzd4/0HgTNEPnvaNXMoZqcoeevHh2W2oR
	 yJ4WPc847VBTf+L2mjIVQITlpczJNcRDmTdbTZsJH3ghL9iUcxuLed4T/F70FkZxoj
	 CcGGUKheI1n1w==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	julien@xen.org,
	Bertrand.Marquis@arm.com,
	Volodymyr_Babchuk@epam.com,
	rahul.singh@arm.com,
	brian.woods@xilinx.com,
	Stefano Stabellini <stefano.stabellini@xilinx.com>
Subject: [PATCH v6 4/4] arm,smmu: add support for generic DT bindings. Implement add_device and dt_xlate.
Date: Mon,  2 Aug 2021 17:24:09 -0700
Message-Id: <20210803002409.19406-4-sstabellini@kernel.org>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <alpine.DEB.2.21.2108021720560.10122@sstabellini-ThinkPad-T480s>
References: <alpine.DEB.2.21.2108021720560.10122@sstabellini-ThinkPad-T480s>

From: Brian Woods <brian.woods@xilinx.com>

For the legacy path, arm_smmu_dt_add_device_legacy is called by
register_smmu_master scanning mmu-masters (a fwspec entry is also
created.) For the generic path, arm_smmu_dt_add_device_generic gets
called instead. Then, arm_smmu_dt_add_device_generic calls
arm_smmu_dt_add_device_legacy afterwards, shared with the legacy path.
This way most of the low level implementation is shared between the two
paths.

If both legacy bindings and generic bindings are present in device tree,
the legacy bindings are the ones that are used. That's because
mmu-masters is parsed by
xen/drivers/passthrough/arm/smmu.c:arm_smmu_device_dt_probe which is
called by arm_smmu_dt_init. It happens very early. iommus is parsed by
xen/drivers/passthrough/device_tree.c:iommu_add_dt_device which is
called by xen/arch/arm/domain_build.c:handle_device and happens
afterwards.

arm_smmu_dt_xlate_generic is a verbatim copy from Linux
(drivers/iommu/arm/arm-smmu/arm-smmu.c:arm_smmu_of_xlate, version
v5.10).

A workaround was introduced by cf4af9d6d6c (xen/arm: boot with device
trees with "mmu-masters" and "iommus") because the SMMU driver only
supported the legacy bindings. Remove it now.

Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Reviewed-by: Rahul Singh <rahul.singh@arm.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
Changes in v5:
- add Acked-by
---
 xen/drivers/passthrough/arm/smmu.c    | 40 ++++++++++++++++++++++++++-
 xen/drivers/passthrough/device_tree.c | 17 +-----------
 2 files changed, 40 insertions(+), 17 deletions(-)

diff --git a/xen/drivers/passthrough/arm/smmu.c b/xen/drivers/passthrough/arm/smmu.c
index 4aa3ecec57..c234ad9c7f 100644
--- a/xen/drivers/passthrough/arm/smmu.c
+++ b/xen/drivers/passthrough/arm/smmu.c
@@ -256,6 +256,8 @@ struct iommu_group
 	atomic_t ref;
 };
 
+static struct arm_smmu_device *find_smmu(const struct device *dev);
+
 static struct iommu_group *iommu_group_alloc(void)
 {
 	struct iommu_group *group = xzalloc(struct iommu_group);
@@ -444,6 +446,8 @@ static struct iommu_group *iommu_group_get(struct device *dev)
 #define SMR_VALID			(1U << 31)
 #define SMR_MASK_SHIFT			16
 #define SMR_ID_SHIFT			0
+#define SMR_ID_MASK			0x7fff
+#define SMR_MASK_MASK			0x7fff
 
 #define ARM_SMMU_GR0_S2CR(n)		(0xc00 + ((n) << 2))
 #define S2CR_CBNDX_SHIFT		0
@@ -872,6 +876,38 @@ static int register_smmu_master(struct arm_smmu_device *smmu,
 					     fwspec);
 }
 
+static int arm_smmu_dt_add_device_generic(u8 devfn, struct device *dev)
+{
+	struct arm_smmu_device *smmu;
+	struct iommu_fwspec *fwspec;
+
+	fwspec = dev_iommu_fwspec_get(dev);
+	if (fwspec == NULL)
+		return -ENXIO;
+
+	smmu = find_smmu(fwspec->iommu_dev);
+	if (smmu == NULL)
+		return -ENXIO;
+
+	return arm_smmu_dt_add_device_legacy(smmu, dev, fwspec);
+}
+
+static int arm_smmu_dt_xlate_generic(struct device *dev,
+				    const struct dt_phandle_args *spec)
+{
+	uint32_t mask, fwid = 0;
+
+	if (spec->args_count > 0)
+		fwid |= (SMR_ID_MASK & spec->args[0]) << SMR_ID_SHIFT;
+
+	if (spec->args_count > 1)
+		fwid |= (SMR_MASK_MASK & spec->args[1]) << SMR_MASK_SHIFT;
+	else if (!of_property_read_u32(spec->np, "stream-match-mask", &mask))
+		fwid |= (SMR_MASK_MASK & mask) << SMR_MASK_SHIFT;
+
+	return iommu_fwspec_add_ids(dev, &fwid, 1);
+}
+
 static struct arm_smmu_device *find_smmu_for_device(struct device *dev)
 {
 	struct arm_smmu_device *smmu;
@@ -2837,6 +2873,7 @@ static void arm_smmu_iommu_domain_teardown(struct domain *d)
 static const struct iommu_ops arm_smmu_iommu_ops = {
     .init = arm_smmu_iommu_domain_init,
     .hwdom_init = arm_smmu_iommu_hwdom_init,
+    .add_device = arm_smmu_dt_add_device_generic,
     .teardown = arm_smmu_iommu_domain_teardown,
     .iotlb_flush = arm_smmu_iotlb_flush,
     .iotlb_flush_all = arm_smmu_iotlb_flush_all,
@@ -2844,9 +2881,10 @@ static const struct iommu_ops arm_smmu_iommu_ops = {
     .reassign_device = arm_smmu_reassign_dev,
     .map_page = arm_iommu_map_page,
     .unmap_page = arm_iommu_unmap_page,
+    .dt_xlate = arm_smmu_dt_xlate_generic,
 };
 
-static __init const struct arm_smmu_device *find_smmu(const struct device *dev)
+static struct arm_smmu_device *find_smmu(const struct device *dev)
 {
 	struct arm_smmu_device *smmu;
 	bool found = false;
diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
index 9249f21c01..98f2aa0dad 100644
--- a/xen/drivers/passthrough/device_tree.c
+++ b/xen/drivers/passthrough/device_tree.c
@@ -159,22 +159,7 @@ int iommu_add_dt_device(struct dt_device_node *np)
          * these callback implemented.
          */
         if ( !ops->add_device || !ops->dt_xlate )
-        {
-            /*
-             * Some Device Trees may expose both legacy SMMU and generic
-             * IOMMU bindings together. However, the SMMU driver is only
-             * supporting the former and will protect them during the
-             * initialization. So we need to skip them and not return
-             * error here.
-             *
-             * XXX: This can be dropped when the SMMU is able to deal
-             * with generic bindings.
-             */
-            if ( dt_device_is_protected(np) )
-                return 0;
-            else
-                return -EINVAL;
-        }
+            return -EINVAL;
 
         if ( !dt_device_is_available(iommu_spec.np) )
             break;
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 03 04:38:55 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 04:38:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163248.299070 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAmCJ-0006pz-QZ; Tue, 03 Aug 2021 04:38:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163248.299070; Tue, 03 Aug 2021 04: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 1mAmCJ-0006pr-KW; Tue, 03 Aug 2021 04:38:35 +0000
Received: by outflank-mailman (input) for mailman id 163248;
 Tue, 03 Aug 2021 04:38: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 1mAmCH-0006ph-Qc; Tue, 03 Aug 2021 04:38: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 1mAmCH-0003pA-IP; Tue, 03 Aug 2021 04:38: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 1mAmCH-0002MD-6V; Tue, 03 Aug 2021 04:38:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mAmCH-0008TX-65; Tue, 03 Aug 2021 04:38: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=BPG218BT3Xv5VNcBttTSK9XjgXZgDr/m1XAtU0wcDQQ=; b=cbaw50Xpq2HN2ER+fQUPRsOyoG
	grfNZJjXVNDkTKSq3RGOlOUbgy+1A8lyJ6dla2ldlcuPCzbuqYpCzggwJlnrCqv8TTNdpVd6QF+mW
	dz3UlfGAQQhqhNe5WRl3r8ceSPNeLmBhaYfFE8S0u7tY3/0hevRwCnolWrfCK4wR7lqQ=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164084-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 164084: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-xl-pvshim:debian-install:fail:heisenbug
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check: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-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-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-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-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-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=526f1f3a5c6726e3d3b893d8063d31fda091c7e0
X-Osstest-Versions-That:
    qemuu=10a3c4a4b3e14208cfed274514d1911e5230935f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 03 Aug 2021 04:38:33 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-pvshim    12 debian-install      fail pass in 164087-retest

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

version targeted for testing:
 qemuu                526f1f3a5c6726e3d3b893d8063d31fda091c7e0
baseline version:
 qemuu                10a3c4a4b3e14208cfed274514d1911e5230935f

Last test of basis   164082  2021-08-02 11:06:46 Z    0 days
Testing same since   164084  2021-08-02 19:07:55 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Cornelia Huck <cohuck@redhat.com>
  Dr. David Alan Gilbert <dgilbert@redhat.com>
  Michael S. Tsirkin <mst@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                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-amd64-pvgrub                                pass    
 test-amd64-amd64-i386-pvgrub                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   10a3c4a4b3..526f1f3a5c  526f1f3a5c6726e3d3b893d8063d31fda091c7e0 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Tue Aug 03 06:30:26 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 06:30:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163256.299085 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAnwM-0000fc-JI; Tue, 03 Aug 2021 06:30:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163256.299085; Tue, 03 Aug 2021 06:30: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 1mAnwM-0000fV-FB; Tue, 03 Aug 2021 06:30:14 +0000
Received: by outflank-mailman (input) for mailman id 163256;
 Tue, 03 Aug 2021 06:30: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 1mAnwL-0000fL-Pl; Tue, 03 Aug 2021 06:30: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 1mAnwK-0005kT-Qh; Tue, 03 Aug 2021 06:30: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 1mAnwK-0007xS-G3; Tue, 03 Aug 2021 06:30:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mAnwK-00059P-FY; Tue, 03 Aug 2021 06:30:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=RCcY+WdpQKxrVGUARdIKdSacxf/TGMW60xiA0p4osRU=; b=MFKWDYLiUSF7bdTKeQwxCgcA+R
	GxV/ZxLDhBJMZDqzzvzCVw+sGaNejV4GR8nGQXdHcg8/P6Q/yuaXV+FicOGALFIs3FJOsX1dskQZm
	uDk/y2cotFmCHRu7xXk7sC/DYGwmo5NIVPWXk1qgobS5aFhLxeunlVsQ3qMrPoUicPuI=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164085-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164085: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:heisenbug
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:heisenbug
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-xsm:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    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-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=c500bee1c5b2f1d59b1081ac879d73268ab0ff17
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 03 Aug 2021 06:30:12 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop              fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 20 guest-stop               fail REGR. vs. 152332
 test-arm64-arm64-xl          14 guest-start    fail in 164083 REGR. vs. 152332

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-libvirt-xsm 20 guest-start/debian.repeat fail in 164079 pass in 164085
 test-arm64-arm64-xl-credit2  13 debian-fixup               fail pass in 164079
 test-arm64-arm64-xl          13 debian-fixup               fail pass in 164083
 test-arm64-arm64-libvirt-xsm 14 guest-start                fail pass in 164083
 test-amd64-amd64-xl-xsm      22 guest-start/debian.repeat  fail pass in 164083
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 164083

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

version targeted for testing:
 linux                c500bee1c5b2f1d59b1081ac879d73268ab0ff17
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  367 days
Failing since        152366  2020-08-01 20:49:34 Z  366 days  636 attempts
Testing same since   164079  2021-08-02 04:02:17 Z    1 days    3 attempts

------------------------------------------------------------
6750 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Tue Aug 03 06:37:06 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 06:37:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163265.299100 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAo2x-0001QK-GB; Tue, 03 Aug 2021 06:37:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163265.299100; Tue, 03 Aug 2021 06: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 1mAo2x-0001QD-CZ; Tue, 03 Aug 2021 06:37:03 +0000
Received: by outflank-mailman (input) for mailman id 163265;
 Tue, 03 Aug 2021 06:37:01 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OfYh=M2=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mAo2v-0001Q7-M7
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 06:37:01 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 34954404-f425-11eb-9a88-12813bfff9fa;
 Tue, 03 Aug 2021 06:37:00 +0000 (UTC)
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur02lp2051.outbound.protection.outlook.com [104.47.6.51]) (Using
 TLS) by relay.mimecast.com with ESMTP id de-mta-8-2Zu6JGwvPMi9Acg_4aUYeQ-1;
 Tue, 03 Aug 2021 08:36:58 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0401MB2607.eurprd04.prod.outlook.com (2603:10a6:800:58::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.18; Tue, 3 Aug
 2021 06:36:56 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4373.026; Tue, 3 Aug 2021
 06:36:56 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0281.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1::29) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4394.15 via Frontend Transport; Tue, 3 Aug 2021 06:36: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: 34954404-f425-11eb-9a88-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1627972619;
	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=6gvorB2bAKxSGd+K15aXSjgPZuo8+2gRDaoxoILDIo0=;
	b=Tj2+Pr+hHzrWtFZ3VnEsRqG8ULEYxcMJznaPKxZS753NEpg7xMrGtIjqE3WMKM/2TCbmD/
	KoMPxnqmJcuJ6Jo8U2ZvaMRqssK5kM0cYIQ+qBiV4b9c5uBBagz1oCvTdj7qrODbujPjMW
	QCc+pqlau9bYkiZq+JgycbrhpjBHMBU=
X-MC-Unique: 2Zu6JGwvPMi9Acg_4aUYeQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YT2qaK3LSQdkuDunwxdlPyKeLcLxTbdWOL05U+wdxT4f6Izz0DeBJeS3phV+8Zbzf/v9FTfFN8WjAjL4UmWnGOPvKwXeaCWQFXulorDfsb/jRZXHgKLLgXZ6UqkAoTjYjFC3JZd0BgDfo46E7fdHm9hMm6M8yBw+iNhIWEjoxxZXSydHDJzhgpS5AOwZNdvX3YwS4Cij78jaNH7eoHcmI+W3Hi4d4Qd3mRD8ImoqgI5jqnLZLxcunweJwTwqV7nHt1ZZoM3s+RuEXDtt0yqO15ETVngKNBO4vvLqHB/S9Vzf3d3vNPXD5sFdZngPaqqYndyBqDzIeQs/dERDz54aEQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XTFbWo0LAlQtKrRXwTqchUKLUMRBYNyaswmEe3W2Z9k=;
 b=JsOqPs0qDFTJKabPKCzThLXYuLqPTlrqL0e0LVzztWUwYJg7+IhD1GsC31tBZI8r0MgO9e0ybzSkJVLVvz/SCpvHZc7vSqnAeccEXDDy9uwTnPy6DZe0DtKPhDErnLayKpXYnrltM0YwiLL9iSl12ZvSmcL0kjg42Tn2LG4UuzcJNRW0KzKQlF2eDPYZ+KKIGa+zyoD0uWV7/MggU+eMGKn2Zx6YmO+fSxq2MwQYG5QP8rmEQFTZDYjbGjCd6p1hWNqgzgjnw+bhLztU3VPpQ6fkYfIOHfl7+3GrgdoamERwT4HbGMdaCgvAf/X6Vg5A9P6K1ivK0Ja4/bhhWg/Fmg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH] x86: work around build issue with GNU ld 2.37
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: <2e0beb7e-022f-efb3-3adc-4877c60bfeba@suse.com>
 <69a34c1f-0df8-47c2-4c67-2b22abb9fd21@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <28bc0732-9c20-c670-4485-8b39bc595eff@suse.com>
Date: Tue, 3 Aug 2021 08:37:01 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <69a34c1f-0df8-47c2-4c67-2b22abb9fd21@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: PR0P264CA0281.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1::29) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 45c5718b-e842-48ca-e21e-08d9564916c9
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2607:
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB26078D4D126F613B976AD428B3F09@VI1PR0401MB2607.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:663;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	aFM67gIKy1WN96VcEkeYRjXAn0UDIxOG0KEs5CODMHy93mbVfVky806oMMwJ0simvtmH1KYY9tSZJVK+G+WyAMdEasDFAKtVg5pRn1pU9mwMO+8gAKR5sUEHSIy3CfwFlT3I3M85GnnuLeoYbOeTstl+hco6QEoNvX4Wero+SCvH9/S3yq83ej8eRe0Gseh57vmr2FdWZfNQwuFQPejx5M3NzVDwtM3XpiLuKE2N4DV+omLcJZS72mycujpVQJul66HlFbxdV5e991pJWH9AUYxhRlaZSjffOZpzCwwgShU5oGzvIOyA7U0lJO4aAMyV+UTaQDlt8FgwoduyruuBerm1RvoFKUOb3FSCSqMjUjG3r5kSuo3UL15Gz6wgzNZaoJO8tfDQGPO02/7UA+BQGb1Udgjq06g+q9E4LOWdyIMR9OFgskY3pJqfHlEcsSGHCmAwEvziENlzFLweQcjJQUrXIh2jbggW+Iakg41LMPxEa7Uw456RJ9IewusMjo6WPMjf7yyLRp+VGyme/tBdnGLCP29A4Mp72iJkMtqKsO9DxNJ4f7tC3ODGuPvXH4iV5WtvGlFLOsuBdcTSsPdXozHM6x+T5uKMRdt6aPxsj7Y1laKD2VF/6av9OU/A4lHHbwvWTLSG1t430V3b0RcyRmd7sPlZFCCbPxVcfu8OXKWQDUjjAzoiT/K17FOiWOCZFsWChaHs917tycwmCocibAqmgUkoQx5Db/uNyT5xOYc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(39850400004)(396003)(346002)(376002)(136003)(36756003)(2616005)(26005)(956004)(53546011)(31696002)(8936002)(2906002)(4744005)(8676002)(38100700002)(186003)(478600001)(16576012)(5660300002)(31686004)(66476007)(6916009)(86362001)(316002)(6486002)(66946007)(66556008)(6666004)(54906003)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?YfnLVpq991Tkk/wRyXlyqnULCpp9YELVPMHLyrhJ+Ou6IKwPG7tMQbD4DmAR?=
 =?us-ascii?Q?3gJgxOMKkAf9U1yYaGu6HTpqrvzohTcDsW91XSdDU6NCUh1riP4ozd1D23/h?=
 =?us-ascii?Q?D/pZqyXaHBZH9VN6J+Ph2fEqio9qFRKFL2Tc/iFcb6R3rrBOM3qfTcZPp6kB?=
 =?us-ascii?Q?ROlwpB/0xKCaCznt0eIlk8ia36NWjiQ3Dw+Z1+SELuvVp9ODu9FghQk0H+ua?=
 =?us-ascii?Q?IbN1FNQYox+0tRj5P5e2Yt4/4f5gUj0fHTUW5AIvca2Rg/dZRwHpVQb9wCdJ?=
 =?us-ascii?Q?9cnkz+kOq6a4YJg5n1frrr+QbHu1+LmvhUSoytFu/bDE96IhbsBtG82E3V+R?=
 =?us-ascii?Q?XFpDBUk+PhWZWhS8q452wrG6Mn5BsfCkn4Rux0tCjFIj91YzznXvp9ZJyo8K?=
 =?us-ascii?Q?J9YRvd+LxkVbCYpbYJaetl8JzU+bFXsoAle01j/YFoD7G6TlydeHeyQX+npO?=
 =?us-ascii?Q?S62AhVH3IB1rIvQGZRmx4VLVTH/6Q1+jH3qzjOrihnxd99bN9G2IYK4/XvUu?=
 =?us-ascii?Q?j4z1HhK6dvLG96CP0KxVuP9p8JT0ggzpFjSxQUkj48heSrwr7Ecw6qlh9BWt?=
 =?us-ascii?Q?a9Xk0/JeCOTiAH+j3LtWBPSQAyFzWajRdkJJ6uyeCHikXtXyjSGZj7KJ0o2H?=
 =?us-ascii?Q?U3ngg3wVwO9TwvnMRgGbVmTq7LbjBF6cXFuPK8P8hOBmbOZ5GkkrajP9qGOI?=
 =?us-ascii?Q?TdF35ygQFK7prRQwqb0FmEMal90S5KVsPKO9D+Uky9zv9fv/TrsGCv02RK4W?=
 =?us-ascii?Q?BRfnDhcNnkgxahCvxmxWxxJ9Angsw3BDSv3jmX4YZx6BO4iHPExG+r5yIaFd?=
 =?us-ascii?Q?asEg714fGFMRWEaB27rT+Vgh+y0FNiYXyw3MTPK14U+YxyZxoFZGjqStOE92?=
 =?us-ascii?Q?9jcQ9kPAdBjSYYYJgLSoa16Dz7CZOR8W7LfmAa9ErqwyL5TuAVp/fZKVTgoG?=
 =?us-ascii?Q?X5jgs7TZse8zZ+2+dc8zHuTckQAbGw1YRIAVX09VgpgQ8LlUQZWR0b0C10dw?=
 =?us-ascii?Q?KouyHIqV60VJcJKkbdbqjTNXwbpn3tKIBSKi5xRYLfMeCtI/pFtzRUUgf7m5?=
 =?us-ascii?Q?fhkce5YMSq9eDwSpH2S3AWrB5h3N+jenyhZyScwyqXav9O6Ce4Qg0lwQ31p+?=
 =?us-ascii?Q?rUmmtRCP8Tz/4Lkh/SpO2Lb24GQBbf9YwaqXUaDCrjy1NlxcFUQ1GsX1nM8/?=
 =?us-ascii?Q?rHlQy5kQm09LrOCr64CO8wUiewk4VvbJzB/3d2GAnuJx8R1BtbljE79FSD8v?=
 =?us-ascii?Q?CoHUSV1B5tPXi7ZHlDHZkUm/F5FXM/FinNiH9aP6zZHWX/GczPEm06Z+tJh6?=
 =?us-ascii?Q?s7D1IvGqvm8KOMAHSdCI7JY0?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 45c5718b-e842-48ca-e21e-08d9564916c9
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2021 06:36:56.5965
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: pc9iiWf3eRv9FNH/LseUvJkxCaadCRBvs5ZUTu2DAtlQeNeCJVGOuYnN0kzzDSoB34qyjO+SdI/sCRe1heZc3Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2607

On 27.07.2021 14:33, Andrew Cooper wrote:
> On 22/07/2021 10:20, Jan Beulich wrote:
>> I suspect it is commit 40726f16a8d7 ("ld script expression parsing")
>> which broke the hypervisor build, by no longer accepting section names
>> with a dash in them inside ADDR() (and perhaps other script directives
>> expecting just a section name, not an expression): .note.gnu.build-id
>> is such a section.
>=20
> Are binutils going to fix their testing to reduce the number of serious
> regressions they're releasing?

To be honest - I simply don't know.

>> Quoting all section names passed to ADDR() via DECL_SECTION() works
>> around the regression.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>=20
> I guess we've got no choice.=C2=A0 Acked-by: Andrew Cooper
> <andrew.cooper3@citrix.com>

Thanks. I see you've committed this already.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 03 06:58:07 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 06:58:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163272.299112 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAoNE-0003fw-87; Tue, 03 Aug 2021 06:58:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163272.299112; Tue, 03 Aug 2021 06:58:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAoNE-0003fp-4o; Tue, 03 Aug 2021 06:58:00 +0000
Received: by outflank-mailman (input) for mailman id 163272;
 Tue, 03 Aug 2021 06:57:58 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OfYh=M2=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mAoNC-0003fj-5O
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 06:57:58 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 06903cba-cfe9-42a7-8f9d-70d66faa9736;
 Tue, 03 Aug 2021 06:57:56 +0000 (UTC)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2052.outbound.protection.outlook.com [104.47.12.52]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-25-KKD6tIRUM0C-fOdhJI8jVQ-1; Tue, 03 Aug 2021 08:57:54 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0401MB2333.eurprd04.prod.outlook.com (2603:10a6:800:28::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.18; Tue, 3 Aug
 2021 06:57:53 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4373.026; Tue, 3 Aug 2021
 06:57:53 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3PR09CA0016.eurprd09.prod.outlook.com (2603:10a6:102:b7::21) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4373.21 via Frontend Transport; Tue, 3 Aug 2021 06:57:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 06903cba-cfe9-42a7-8f9d-70d66faa9736
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1627973875;
	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=DDOJD6ysxFaxuiOooFdk4/TKPo2IFXQAkBP5yX8zKi4=;
	b=fuJSwEk+j1l/hQkoMDQqPl32zeusKOKHe5EoqBd18tj7ENv6W6s2+GKRJCLQQeo7CNHb6W
	EOI+2+1SjmkJfgdtPi3VmZ8EMExRAkZZf8Nkdcjr6jN9Gj/ouOXeodm7apOqPAcnP75t4V
	cwIx9G2vbL+Yw3Q8OgTa3/BuydSA8RY=
X-MC-Unique: KKD6tIRUM0C-fOdhJI8jVQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VvBDuFjm7asv52KvGuB8mvrSEpOj4FPNNmj+4NJM5Xkm6HwQChCpodAXyN+EDjHyZplsaA+B8lBhuvXNQlo4jO8jb1Uk9LNJOePAHe37UtEckzG0qKCanAH0NYcfn/1gtra1WPI9qkiwhuDFxRek9VoyDiXhaa4qko5g3xnp698lt8mLSqICONjA6jp9hOdAu5vVShkZgsUmpE70bSpvtowD/KyMTAbXox7eK1VBZkrqbmXJ35GaTiRgZ4Zh0/w0hVxfYXqb7xXQX6heRDxhGC4tCXRSZE87GSyk2dvBXMrAYdQI6mULV/j/3ZXkcttk7IjAV/rRbPa9JSkwKjoYqw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DDOJD6ysxFaxuiOooFdk4/TKPo2IFXQAkBP5yX8zKi4=;
 b=mmeiPx/BHky4+1HsgP+/OVQmlajkNrYDlhEgMbB+llfTUiuZSgH7SKiTTmHK6J86dCAXNsuclft+H8xXtbcFCJY3xv/sZ2XYGm06FLmnD3oTzPS9d0VLh+aR4/w+j7Yut5abmxeHIsZpPiF2O4X5U70P3HZp7Ulda6hJ9Si5+stlk/BXt0reMmmMssJq/ozMF+fXoUBizYTpbNmLG06Cy8BDiJqDqx/5g1EtUnOIxdoGTs+h2ddqKzrDntKHEl4v4ykGaqcsf/GiFr8N3px9BBAL2oPKakTmdTZNtDgP8g5H2+aD6Teh2VChRk+s/xNElR2Z7gRE5HQHpygheGXxcQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: kernel.org; dkim=none (message not signed)
 header.d=none;kernel.org; dmarc=none action=none header.from=suse.com;
Subject: Re: [PATCH v5 2/4] xen: do not return -EEXIST if iommu_add_dt_device
 is called twice
To: Julien Grall <julien@xen.org>
Cc: Bertrand.Marquis@arm.com, Volodymyr_Babchuk@epam.com,
 rahul.singh@arm.com, brian.woods@xilinx.com,
 Stefano Stabellini <stefano.stabellini@xilinx.com>,
 xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>
References: <alpine.DEB.2.21.2107221634130.10122@sstabellini-ThinkPad-T480s>
 <20210722233642.22515-2-sstabellini@kernel.org>
 <97f0713b-f6bb-72cd-f364-f0d42c868171@suse.com>
 <1df74545-d2fa-2d80-5246-a0b0158550b4@xen.org>
 <e262a28a-ced3-3097-4748-fe2b9efe08f5@suse.com>
 <f4bdbeaf-b432-5bda-28fc-c9358b26ab5a@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <165b7bf4-2927-6b22-34aa-cb44bf780200@suse.com>
Date: Tue, 3 Aug 2021 08:57:57 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <f4bdbeaf-b432-5bda-28fc-c9358b26ab5a@xen.org>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3PR09CA0016.eurprd09.prod.outlook.com
 (2603:10a6:102:b7::21) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 48226060-a696-4cfe-4d2e-08d9564c03ae
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2333:
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB2333FE9EB76058DF0CB1063BB3F09@VI1PR0401MB2333.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bPV4dDpK1W0RApV+NJCZcMrF9+CRwmy1Gar+zGZTnCdhv+pAZElIMWW0UooBPwOkwEjqt/e364q7AO9Np6lJhEzPU16Rf2STOkYhaIFnn/oH0mdoE9cztslHoQh5q0LQqvSW/n8Bp4/Cr8oEx/jMjZuFLTKcIeDtnXYgjvtls8L+PTtt0Ma/1ZfeMDwWiCm1dl2wQMj03pVph73tCrg1pDGWI8enhFOrdJXKBTxCDPaOHyPAYurIbA2GNnwKdvIuDIdcREcMaHo84Ri0eDmXGmRJmgMmAE3UMWF0PL+TyJ3YShJdQVPV7Grl9g5hpYPQfq9BgUAbE/yF7IayyZS4D44JWLmQ3TJAKcYgYUvFnCiHejXP+VQMuHmQ/PUsW1nqW7W3wGEJZ+TKEkLUuDzfAcBwHdGMWZ19ksQHzqtOembjaDaTi33TvsS898PDDdpvqzpejZLVm1z71joz0MP/WJwJvJLSNEm8rDgd6lzfAtXdAoueK0E2BYxSVS5jlckjk4SxVsCUpeMeHC9OUZf0fK1jPCuTkHpYHZuk5L1Lv9GZA5UP85/jrteWE/PGums/LD/0F4U/IP3MmZZUCHsGyD24VlmV4G9PzpDHWRJeelX3P6YomXGy/6zvUMvRpcAtAvjsaB4iNQViXVdyqOl4x4L3E+k2YlDExe5cyG26du63JJ4sa2ts7u8QJ7FxHTLTDMtgN5AhIDZJG1Z2716tIV+bo4OxexcMKxD1f0wwmcw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(39850400004)(346002)(396003)(366004)(136003)(376002)(36756003)(2616005)(26005)(956004)(53546011)(31696002)(8936002)(2906002)(8676002)(186003)(38100700002)(478600001)(16576012)(5660300002)(31686004)(66476007)(83380400001)(6916009)(86362001)(6486002)(316002)(66946007)(66556008)(54906003)(4326008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b2ZyN0FsaEtlcHBpK3FRYTJPZEZUdHFud0pEVWlYMjNZV2lMUXNIQ3dOODBZ?=
 =?utf-8?B?RmwwV1Bra3Ryb1pnVm82dkdNRHpJcUZ6b0R1WlN3ZTA5VlBHMGtMNE1YRnJs?=
 =?utf-8?B?bWhWWnBiSDdVQkVTWjlWdWFES2RnYjJ2RUwva0JxWTNCbGhoazdGeGE4RHIv?=
 =?utf-8?B?MnJZd3BNd0ZPQWI5RFBjREhicGV1UGlRU3RGczdpYjU5Z0tyS1ZubndZOVJZ?=
 =?utf-8?B?Uys2bXo0ZHhCYSsvdlpsNmlwcEJjOGh6TEpSd2Rub1d1ZHdoS2FHdmNRTmw2?=
 =?utf-8?B?czFIMVNGOGtjeGgxVXhFRmFuMXFQVkFPNFZkTUVMdzJiRmZNWUtZRkRXMWJz?=
 =?utf-8?B?anBycFd2dFhScnVRRmFHS0VMUm1zcTg0dWlwblM5b2RsTTRydDFQa1ZDKzYv?=
 =?utf-8?B?dWRseG9FVURRNzJKUWJKRXFRZkFRU2htTTJQM3ZHd24vS2kwNUFsaFRGcThs?=
 =?utf-8?B?cGpwbnFxa3Y1bjRaNld6VTVmR1gzQjVrUGY3dC9BODZRSmdnYkRrVVNSRjZ2?=
 =?utf-8?B?TmgrdTVFSHNxNlpnWTZ0ck44Q3RQNkZydXhPV0lBQm00ZWY2SUpTTGRDR0w5?=
 =?utf-8?B?ZGtNSDBSSUh1VDhoL1BVbkZxQUdwdkRTS0tMVy96bm91ZFYycitERnNnSG5T?=
 =?utf-8?B?WDlwMndmT09RbXFuVlY2QkR5Ly9CQ3pXeEovM2htMEZmMVFrRjNCeGRHUHJK?=
 =?utf-8?B?M1Q5dGJySzZmSzlWcFgxRldHQVlaR1pKQmJab3FEd05ZMS8rZDRVZTErQkpi?=
 =?utf-8?B?NUxTM1JRWW52N2RQUHIyL3RJdWdUQXE3cC9LLy9zSU90RkhSWldJTWQ3bzhY?=
 =?utf-8?B?TjFGVTlwTW5GK2E3OERML1dsQ2NuVG9YcWJoRCtNVGNMcmxadHQyQm00L1pj?=
 =?utf-8?B?UlZRWGpGZGk5cHJVOERoL3hqYStFWFV0WHlYZzJxL1U1a240SG4vL2djbkJM?=
 =?utf-8?B?dVdNUk5aYTBUTHJ5MWFwOTl1dk9aMC9jUi9mMzN3N2hhbWJMbSt1YmVzT3Qw?=
 =?utf-8?B?YVNDazJhZ0M3Qm5EUU1jazZydUNRWklxQWdTeEo1NUN1a2oxN1BXOEkwNUxp?=
 =?utf-8?B?QXdNV25kRlFTclRUMVpNQkNOeDBHTDYvZ0RFYk1iUVlvdzNnZkZReVBVTTZr?=
 =?utf-8?B?eHJCbUVwUGgydVZDZEUvSlBEWi96azVRa3RsMjNWSEN3T09sQ016NzA5WklD?=
 =?utf-8?B?R3dIWVRkVUxodjJVZjVnOWpYeFRsWGMwTXZaQTBlVmwzTk1xcnNpWXJNbkhL?=
 =?utf-8?B?ekdZWmxrWTF1M1AzY09MaCtibkhWMXQzd1Z6eUtXdFBZNUxxOVhad1lYcDN3?=
 =?utf-8?B?ME0zNzhnajIvR2FhbTFvenNVRjBUTWxVY01DWEtPZktBVy96bFAzVDkvNUVP?=
 =?utf-8?B?ZnBjeUJTajR0R3B4eWoxbmVuVWtvdmRIQXdsbUgyaUlJSUVmWUV5TzZPakhN?=
 =?utf-8?B?eWVkck0rRWZXcU9EYlFKYUphUytPTUJJb1JHY3dEcEV1UUhpMGNBZ3UwZTJI?=
 =?utf-8?B?bm5US2FIb3FTa3dZcHlLQVdqeUs3NnVXa1Z3ODBmSm11RVJ5RlJsYXJnMkhQ?=
 =?utf-8?B?Q0tvekJadzRGRmNYUXdSclhqamVQUzVHc1N4OGhNZ085YmNDRVViNFoyeU9w?=
 =?utf-8?B?enY0N3FLZkVQcFdQRWVYNHFZWWk3cHlvUmJnZ00yQW43TkdzNzAzRVhEQkZB?=
 =?utf-8?B?VDRwQUhlbHZPMXltTTk3TUZNbXdvRGZoTnBSakd6QkNTZFI1bTUwUHZ2aWNo?=
 =?utf-8?Q?2elI1EvKFzPQ8lSkZQEJzIyfOtgjBxQWYKD0TQf?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 48226060-a696-4cfe-4d2e-08d9564c03ae
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2021 06:57:52.9983
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: WY2Txn6wjxajkir2YOx0UNL4cxXX7kJmKIW4cywvcobnNaDXweSOS6sBwR9qYvA6qgQg8/iaJTGDZT9AjdHtng==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2333

On 26.07.2021 17:45, Julien Grall wrote:
> On 23/07/2021 14:02, Jan Beulich wrote:
>> On 23.07.2021 11:28, Julien Grall wrote:
>>> On 23/07/2021 07:31, Jan Beulich wrote:
>>>> On 23.07.2021 01:36, Stefano Stabellini wrote:
>>>>> --- a/xen/drivers/passthrough/device_tree.c
>>>>> +++ b/xen/drivers/passthrough/device_tree.c
>>>>> @@ -140,8 +140,13 @@ int iommu_add_dt_device(struct dt_device_node *np)
>>>>>        if ( !ops )
>>>>>            return -EINVAL;
>>>>>    
>>>>> +    /*
>>>>> +     * Some Device Trees may expose both legacy SMMU and generic
>>>>> +     * IOMMU bindings together. If both are present, the device
>>>>> +     * can be already added.
>>>>> +     */
>>>>>        if ( dev_iommu_fwspec_get(dev) )
>>>>> -        return -EEXIST;
>>>>> +        return 0;
>>>>
>>>> Since the xen: prefix in the subject made me go look (I wouldn't have
>>>> if it had been e.g. dt: ), I may as well ask: Since previously there
>>>> was concern about bogus duplicate entries, does this concern go away
>>>> no altogether?
>>>
>>> The check wasn't originally added because of legacy vs generic binding.
>>>
>>> It was added because in some circumstances iommu_add_dt_device() could
>>> genuinely be called twice (for instance if the device is re-assigned).
>>> This was returning -EEXIST rather than 0 so the caller can decide
>>> whether it is normal that the device is already added.
>>
>> Okay. If that distinction is of no interest anymore, then I can see
>> this wanting dropping.
>>
>>> Calling iommu_add_dt_device() twice doesn't hurt but after patch #1
>>> (this patch should really be first), dev_iommu_fwspec_get() will return
>>> a non-NULL pointer as the legacy devices are added when the IOMMU is probed.
>>>
>>>> It's one thing for there to be a legacy and a generic
>>>> binding, but another if you found two legacy or two generic ones, I
>>>> would think.
>>>
>>> I am not quite too sure what you mean by "two legacy" and "two generic".
>>> Can you clarify it?
>>
>> Well, I'm having trouble describing it in different terms. I mean
>> two entries of the same kind (both legacy or both generic) referring
>> to the same device, thus leading to the function recognizing the 2nd > time round that the device is already there.
> 
> I think you are misunderstanding the purpose of this function. It is 
> called when we discover a new device rather than discovering a new entry 
> in the IOMMU. The function will then sort out what to do for the device.

I'm struggling with assigning meaning to "discovering a new entry in the
IOMMU". Otoh to "discover a new device" means the device wasn't (supposed
to be) known before, which to me means -EEXIST is appropriate.

> The legacy binding is somewhat specific because it bypass the function 
> as the discovering is done per IOMMU rather than per device.

Well, I then guess I'm lacking too much context here.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 03 07:01:01 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 07:01:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163278.299123 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAoQ7-00053q-Mc; Tue, 03 Aug 2021 07:00:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163278.299123; Tue, 03 Aug 2021 07: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 1mAoQ7-00053j-Jn; Tue, 03 Aug 2021 07:00:59 +0000
Received: by outflank-mailman (input) for mailman id 163278;
 Tue, 03 Aug 2021 07:00:58 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=b51O=M2=epam.com=prvs=884988f061=oleksandr_andrushchenko@srs-us1.protection.inumbo.net>)
 id 1mAoQ6-00053b-IR
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 07:00:58 +0000
Received: from mx0a-0039f301.pphosted.com (unknown [148.163.133.242])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 8d034a02-f428-11eb-9a89-12813bfff9fa;
 Tue, 03 Aug 2021 07:00:57 +0000 (UTC)
Received: from pps.filterd (m0174676.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id
 1736ueM4028064; Tue, 3 Aug 2021 07:00:54 GMT
Received: from eur05-am6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2112.outbound.protection.outlook.com [104.47.18.112])
 by mx0a-0039f301.pphosted.com with ESMTP id 3a6xcbgagh-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 03 Aug 2021 07:00:54 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com (2603:10a6:20b:153::17)
 by AM0PR03MB3874.eurprd03.prod.outlook.com (2603:10a6:208:6c::25)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.15; Tue, 3 Aug
 2021 07:00:50 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d8d3:ecba:8917:1baa]) by AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d8d3:ecba:8917:1baa%9]) with mapi id 15.20.4373.026; Tue, 3 Aug 2021
 07:00:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8d034a02-f428-11eb-9a89-12813bfff9fa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DhkHwAhqhgTR7pV+2V/vbaDjumSk27JhuFdxhl1hz9SU4AGgTbcvFgZfvvCF/xt1E7n217oKhYfO/pxJLC6+gtVJeJO9+xfj0GMy+FEKn+ZqsTr2nCO+4jJDvAn9RJmIF4HRnZ7kyvk5nW/UhLjfGaV7OVux+K8mS8tpBkTcNFlTHGtbRdb+LvPiAS7yOB82zbZ9cBSNlcxVxIKxESllxg/5xg0sp4OJwReL234HsJCoXyGxGTjOSvzco0x4kuz1sOMkJJM/HuiNIzlJ7nB+A9pFc5z95VDgSLvE3tyymFO3xp3jRVc+nvaXqrQGf4WLQi0rnSqo6jaY0mZFP4RTOQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vktSTjSfHzp8jVpY2cqL8gHhom1nvCJYQhzHgeCEtU4=;
 b=WtDFZucKLQMRu6CKCm/ZAWPfYC0YAAt1IoMM2Bz3QMJaP7fl8Xx9CszIabt8vL0qIH7URllwUNpG78GPN7Rz3VbhADQrNRi4aDoR1UbIGxAOZ06DwPNegjQRd97/qb2hUqpLP7DEvHFJbOH3o+0UWGY1vnzkuQixCoMXqBfd+3jT7jqdcfvIo2L/MDP1l7AaccbBx9nQ+AMb8myE7zFWW6sM16+II91Z3YlVTjJ6QjdGyphnnCT0H/Mcnv4YiNjFgUDI8WeMzshJ00MwB6WL9E1AB7+12WxnraQ38v+FqkjmFRWrUaZJxlwRaOosfYWAEMz/6efKArvsX7FNEo17EQ==
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=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vktSTjSfHzp8jVpY2cqL8gHhom1nvCJYQhzHgeCEtU4=;
 b=qjauSJFxPtuaLCkh/cUDdTENhiTQV7Pkt9xNA40BZL8hi6H2PmxLrj+s7vMPwC9sBZnHb4c0zTJ0beSl0FC7/T1eimwgswf3Wx9wMy3wjSNq76SOpYE1Uckc2ruuuzAtgkNT3QIxbxJ0ztDS7A1AQovI0ZMelgcja3tCEbL+Mc2CnFut20RIRUHwEDrmbR4Zi54S5/3J7FHxiboduWDtAroyc5CrGz8uxdTHQwnJKWG3DQBvuTYOPBX9FNR9CjDC4fsl1YPOxJxB/tWfjFShyxPs6x/gVH5oEkisroqF2zyee/50/7/3X2Jo5fozPfFqGVsJdN1RwfBJo38qBxXFzg==
From: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
To: Julien Grall <julien@xen.org>, Juergen Gross <jgross@suse.com>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        "linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
        "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
CC: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
        =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>,
        Jens Axboe
	<axboe@kernel.dk>, Jan Beulich <jbeulich@suse.com>
Subject: Re: [PATCH v3 1/3] xen/blkfront: read response from backend only once
Thread-Topic: [PATCH v3 1/3] xen/blkfront: read response from backend only
 once
Thread-Index: AQHXh6eJ91LWa/O//ESEGVadZuHLeatgmVWAgADB8IA=
Date: Tue, 3 Aug 2021 07:00:50 +0000
Message-ID: <1eae114b-46bc-8e97-0973-1c9aad72fc2e@epam.com>
References: <20210730103854.12681-1-jgross@suse.com>
 <20210730103854.12681-2-jgross@suse.com>
 <ce79a0a8-128d-1d50-d160-f612fbd52101@epam.com>
 <feabcdc6-4166-86d9-b449-42b4abd7e4ec@xen.org>
In-Reply-To: <feabcdc6-4166-86d9-b449-42b4abd7e4ec@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
authentication-results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: c69b93de-5be2-4908-ea3a-08d9564c6d9d
x-ms-traffictypediagnostic: AM0PR03MB3874:
x-microsoft-antispam-prvs: 
 <AM0PR03MB3874F5A68453A0F6359B096BE7F09@AM0PR03MB3874.eurprd03.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:7219;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 feMRULD6KP+GHrkpXL6iEZocn/C8+DCmueOTYV3y/nv26HPvwvEC2JLPQ2mhBfrJ/1BmLVkxoORNjZan+nA1W0oTOEu0NKYqDqWpzr8AR2IZtUnEz402CcA9TA65lqt02Pxb73eER3TeDclC+r2wdDSdKnA30mqQQA9Ji5BgCD2iaUurF4FfJluzPMPOYEMx76k4+qn/delKEhmZp2hptVYs8KfSURnQbBh2OmaXYrF/tAxAwNDRk6XLP1WOsXwD8u8VRj5fz2RR9XQxfp6pkMEa7W8JohIjN+1sy38LZNMLxzc4hxQPpOVGokvNHFvm+T7JPHKqbNeammLsiSFPMRGQTXzZeIFNtZWUFff47Lf6y7YvXfSIRpult2H8ox0JRBDdswEyhPUfGv6NmoTVY1cm7lEVp8XchreGxSdoAW3YVp/VeRKUd9ZByrVTdBGwiDZlxZ7ifRLjrn+v4qeybIv79nIqvCc4GtzpqvvsVQ08lZs0clN7t6Qgv9DnmDD7K3OeMefNUgTxLFctahESjL4iibgVO8LW3hjPz+5fx4zNTVwiuN8zA+ytQEzc04FeaWIfp2pHVPbgFjqHu6GBaLNeQda572WsfFEkCwkuwVVPvrVeg75XeZ1ibILJiKE9GcRHOznuvIKyEKFodRmv5YWI88YPfuU4nYBMfhyRV/RyBjtnwemc1r8YzCO+qN5mbvrmuld1eQ6FIF0BgEwUkr1nc46c9MYqy8V5PxAzGG1dDvPr//XJanWhnNQDTHvI
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR03MB6324.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(376002)(366004)(39860400002)(136003)(396003)(346002)(86362001)(6486002)(8676002)(4326008)(71200400001)(8936002)(36756003)(31686004)(31696002)(478600001)(83380400001)(6512007)(110136005)(5660300002)(2616005)(54906003)(7416002)(122000001)(38100700002)(316002)(2906002)(38070700005)(53546011)(26005)(6506007)(186003)(91956017)(76116006)(66476007)(66556008)(64756008)(66446008)(66946007)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?NVZVelRhcUxOV2hLeFdGT3FLWXhwZk9iS2NjUjFXRnVDYW1JUjQwRmVBditR?=
 =?utf-8?B?ZHJGZGtPYWVTZk1iMG95RC9kVzRjNVdtR2ZLR01DU01BalJ2UGpiejh1b3Iv?=
 =?utf-8?B?eGRiekhEdnIyTVdhTjFDNW9ncW96QUdwYTVFOEl2L3ZiLzhSU21kVzdXZ0tN?=
 =?utf-8?B?UWJXeXBIczBLQmR2aVZla2FCYlNmK1FvbTlJSTkxSlNMaUZPMVdCczU3b0NV?=
 =?utf-8?B?amZlN05wNlBXdE80MWM1YWRUSDFPL1hleStvM0NEelpnNisxY1pmR3kydzNr?=
 =?utf-8?B?Z2ZCUXVIeDJOME5GU3dlVXdtN2FJa1p1cGlQUWRId2hxMTBucXE4cjkyM2ZT?=
 =?utf-8?B?c3dsd1hmdUNtczgrWlJ5aVZrOThtVkFUWjRVbFZHb0hrNWFWN0E3d2Jlcysr?=
 =?utf-8?B?Vm9kdFE4d3BiV1NQbnB2VTdQaWxpZWFnNmVCMFBRZEJWd1MrMnhpUFJFV2oy?=
 =?utf-8?B?SnBlSUl2NzlvanNPR1VnbU5Gc2RTc2paOWwzZ1VWOThDQXZvZWN5ekEwdlhm?=
 =?utf-8?B?czYvaDFaTkF5OXdCTGdUSlJQdW1QSFg0ZXRIRWNaSUgvTFJKSTN0RnFuc2w2?=
 =?utf-8?B?UTdSQzg1eDlvNTRjZTNYNjVXeDQ0WUJVTlJYVFg0MmpQbDNlc01FSVZ4b1U0?=
 =?utf-8?B?Z3YzRm5IK1J3SUMrTVFVWVkwU3lCL1ljbWthMDdIVndobmRLWlpScXdtcmgv?=
 =?utf-8?B?ZkVZNTFaZitOVVdTcmtURi9lc2xZZldhL1hpVEczbHg1TkNNUk1vRWRJeFd6?=
 =?utf-8?B?ODdoUkVINUJ5d1cxTExFVEdSVkJ0VGlnY3NiSUt1ZFJ1SFVudWhBRzF5dG5w?=
 =?utf-8?B?UzBGWlhvS3VaQWlWL0lEY0ZWRW04U2sybHlxT1Q5MDFvQ1ZZS3hKVHIvLzlX?=
 =?utf-8?B?VG4yeVFxTTBEMjNpdGNNdmNha0gzR1NuR3UwOXhPV2QvRXE5dHRCL0lYczQ2?=
 =?utf-8?B?WDh2RXJSV2pTWUtKV1IxNXlTYURVTTJBNjBuRVBtVTRYbTZDY0hWZHRQVHZq?=
 =?utf-8?B?R1U1T0ZwTWFSdHpPbEFWOUtEbURWSm9IKzZpejlCeHV4UFNoMjllbjFTUnds?=
 =?utf-8?B?RUNlbWR2TFhYYW9aRjQ5Y3hPM0E5Rk1nVTlVbEdRNldMREp0SVZtV0xhaFFF?=
 =?utf-8?B?emtxQm9iSFJGWkxYcEtQTEJiYVZaY0ZZUnI4b2dsYks2OTRBaGpBVUxyUE5J?=
 =?utf-8?B?bkF1a24zK1dMbU9WSUFzZEJvRGN0YzhoQzRFQnJEeXJvRmFtbERZb29YRmtL?=
 =?utf-8?B?cXRNSTNVVjRzei9YZHpUUlk4eGhsUVRLZnlESnJhcysydVpxRmt6aGY4MVZ1?=
 =?utf-8?B?bHNXRElURFBHMTVZRW5udkNzQUZ5OGRIWkxGNWRqRTA0MVlCbDVNK0lnWHl4?=
 =?utf-8?B?ZlU3TVNxVXlFc3ZDMC9BK09LeDROTEszaGJSK2lqT095Y0dyNDN6WDFTUkxL?=
 =?utf-8?B?Y0tYeGk5ZnNaSG02Tm0xT0V0ZUpzNWxBMXAyUnhmRnZnZUVqZVN0WjRjRnZp?=
 =?utf-8?B?eEozcHhOSzlkL3B5aUhGVWRBUlp6NVVKM3luMXpSTTVaZzgyRjR2YXpwdFBx?=
 =?utf-8?B?K2pxdUU5SmNwT2Z5VVZ2VUNGZXRBOVBMZ0xhTmUra3BVR0hmbEdESTJqbkJW?=
 =?utf-8?B?KzYwWEo4SnRyNE1xK1ROQUdVRE5ZMGhDSCt0N2FSa1dKVnA1S040TmN0bDl4?=
 =?utf-8?B?ZTBzZjRYeGVZOEwxYnp6ZlQySTltaTN5ZW5CVlZaNmsrSjVJUjYvZzlXeWpJ?=
 =?utf-8?Q?9GlrsdSuxmVey/O5VMlxf71tqcV7P1TGWJ53LIT?=
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-ID: <ABE9D0E51CD43A4EB5B76328157059AB@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: AM0PR03MB6324.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c69b93de-5be2-4908-ea3a-08d9564c6d9d
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Aug 2021 07:00:50.5736
 (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: K2b3iOzMN4mh2YdpeV7Jt5S2ZZMlX4IEAmUQipfkOkpUAQ7pkVxgsVYgJF0eCfp1e6Hmb49vPElk81gOVg+KCkGlyLaXVg4N+o75kk2K2FggLwSgz34PK4BsufY+QGpL
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR03MB3874
X-Proofpoint-GUID: rvfyED4WJCIGa0zAcWKOqfDVlOlTXb9N
X-Proofpoint-ORIG-GUID: rvfyED4WJCIGa0zAcWKOqfDVlOlTXb9N
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.391,18.0.790
 definitions=2021-08-03_02:2021-08-02,2021-08-03 signatures=0
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 impostorscore=0
 lowpriorityscore=0 bulkscore=0 priorityscore=1501 mlxlogscore=999
 spamscore=0 clxscore=1011 suspectscore=0 mlxscore=0 phishscore=0
 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2107140000 definitions=main-2108030046

DQpPbiAwMi4wOC4yMSAyMjoyNiwgSnVsaWVuIEdyYWxsIHdyb3RlOg0KPiBIaSwNCj4NCj4gT24g
MDIvMDgvMjAyMSAxNTowNiwgT2xla3NhbmRyIEFuZHJ1c2hjaGVua28gd3JvdGU6DQo+PiBPbiAz
MC4wNy4yMSAxMzozOCwgSnVlcmdlbiBHcm9zcyB3cm90ZToNCj4+PiBJbiBvcmRlciB0byBhdm9p
ZCBwcm9ibGVtcyBpbiBjYXNlIHRoZSBiYWNrZW5kIGlzIG1vZGlmeWluZyBhIHJlc3BvbnNlDQo+
Pj4gb24gdGhlIHJpbmcgcGFnZSB3aGlsZSB0aGUgZnJvbnRlbmQgaGFzIGFscmVhZHkgc2VlbiBp
dCwganVzdCByZWFkIHRoZQ0KPj4+IHJlc3BvbnNlIGludG8gYSBsb2NhbCBidWZmZXIgaW4gb25l
IGdvIGFuZCB0aGVuIG9wZXJhdGUgb24gdGhhdCBidWZmZXINCj4+PiBvbmx5Lg0KPj4+DQo+Pj4g
U2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KPj4+IFJldmll
d2VkLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+Pj4gQWNrZWQtYnk6IFJv
Z2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPg0KPj4+IC0tLQ0KPj4+IMKgwqAg
ZHJpdmVycy9ibG9jay94ZW4tYmxrZnJvbnQuYyB8IDM1ICsrKysrKysrKysrKysrKysrKy0tLS0t
LS0tLS0tLS0tLS0tDQo+Pj4gwqDCoCAxIGZpbGUgY2hhbmdlZCwgMTggaW5zZXJ0aW9ucygrKSwg
MTcgZGVsZXRpb25zKC0pDQo+Pj4NCj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ibG9jay94ZW4t
YmxrZnJvbnQuYyBiL2RyaXZlcnMvYmxvY2sveGVuLWJsa2Zyb250LmMNCj4+PiBpbmRleCBkODNm
ZWUyMWY2YzUuLjE1ZTg0MDI4NzczNCAxMDA2NDQNCj4+PiAtLS0gYS9kcml2ZXJzL2Jsb2NrL3hl
bi1ibGtmcm9udC5jDQo+Pj4gKysrIGIvZHJpdmVycy9ibG9jay94ZW4tYmxrZnJvbnQuYw0KPj4+
IEBAIC0xNDk2LDcgKzE0OTYsNyBAQCBzdGF0aWMgYm9vbCBibGtpZl9jb21wbGV0aW9uKHVuc2ln
bmVkIGxvbmcgKmlkLA0KPj4+IMKgwqAgc3RhdGljIGlycXJldHVybl90IGJsa2lmX2ludGVycnVw
dChpbnQgaXJxLCB2b2lkICpkZXZfaWQpDQo+Pj4gwqDCoCB7DQo+Pj4gwqDCoMKgwqDCoMKgIHN0
cnVjdCByZXF1ZXN0ICpyZXE7DQo+Pj4gLcKgwqDCoCBzdHJ1Y3QgYmxraWZfcmVzcG9uc2UgKmJy
ZXQ7DQo+Pj4gK8KgwqDCoCBzdHJ1Y3QgYmxraWZfcmVzcG9uc2UgYnJldDsNCj4+PiDCoMKgwqDC
oMKgwqAgUklOR19JRFggaSwgcnA7DQo+Pj4gwqDCoMKgwqDCoMKgIHVuc2lnbmVkIGxvbmcgZmxh
Z3M7DQo+Pj4gwqDCoMKgwqDCoMKgIHN0cnVjdCBibGtmcm9udF9yaW5nX2luZm8gKnJpbmZvID0g
KHN0cnVjdCBibGtmcm9udF9yaW5nX2luZm8gKilkZXZfaWQ7DQo+Pj4gQEAgLTE1MTMsOCArMTUx
Myw5IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBibGtpZl9pbnRlcnJ1cHQoaW50IGlycSwgdm9pZCAq
ZGV2X2lkKQ0KPj4+IMKgwqDCoMKgwqDCoCBmb3IgKGkgPSByaW5mby0+cmluZy5yc3BfY29uczsg
aSAhPSBycDsgaSsrKSB7DQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqAgdW5zaWduZWQgbG9uZyBp
ZDsNCj4+PiDCoMKgIC3CoMKgwqDCoMKgwqDCoCBicmV0ID0gUklOR19HRVRfUkVTUE9OU0UoJnJp
bmZvLT5yaW5nLCBpKTsNCj4+PiAtwqDCoMKgwqDCoMKgwqAgaWTCoMKgID0gYnJldC0+aWQ7DQo+
Pj4gK8KgwqDCoMKgwqDCoMKgIFJJTkdfQ09QWV9SRVNQT05TRSgmcmluZm8tPnJpbmcsIGksICZi
cmV0KTsNCj4+DQo+PiBBcyBwZXIgbXkgdW5kZXJzdGFuZGluZyBjb3B5aW5nIGlzIHN0aWxsIG5v
dCBhbiBhdG9taWMgb3BlcmF0aW9uIGFzIHRoZSByZXF1ZXN0L3Jlc3BvbnNlDQo+Pg0KPj4gYXJl
IG11bHRpLWJ5dGUgc3RydWN0dXJlcyBpbiBnZW5lcmFsLiBJT1csIHdoYXQgcHJldmVudHMgdGhl
IGJhY2tlbmQgZnJvbSBtb2RpZnlpbmcgdGhlIHJpbmcgd2hpbGUNCj4+DQo+PiB3ZSBhcmUgY29w
eWluZz8NCj4NCj4gTm90aGluZyBhbmQsIEkgYmVsaWV2ZSwgeW91IGFyZSBuZXZlciBnb2luZyB0
byBiZSBhYmxlIHRvIGVuc3VyZSBhdG9taWNpdHkgd2l0aCBsYXJnZSBzdHJ1Y3R1cmUgKGF0IGxl
YXN0IGJldHdlZW4gZW50aXR5IHRoYXQgZG9lc24ndCB0cnVzdCBlYWNoIG90aGVyKS4NCj4NCj4g
SG93ZXZlciwgd2hhdCB5b3UgY2FuIGRvIGlzIGNvcHlpbmcgdGhlIHJlc3BvbnNlIG9uY2UsIGNo
ZWNrIHRoYXQgaXQgaXMgY29uc2lzdGVudCBhbmQgdGhlbiB1c2UgaXQuIElmIGl0IGlzIG5vdCBj
b25zaXN0ZW50LCB0aGVuIHlvdSBjYW4gcmVwb3J0IGFuIGVycm9yLg0KPg0KPiBUaGlzIGlzIGJl
dHRlciB0aGFuIHdoYXQncyBjdXJyZW50bHkgaW4gdHJlZS4gSU9XIHdlIG1heSBoYXZlIG11bHRp
cGxlIHJlYWQgc28gdGhlIGNvZGUgaXMgcHJvbmUgdG8gVE9DVE9VLg0KDQpBZ3JlZSwNCg0KVGhh
bmtzDQoNCj4NCj4gQ2hlZXJzLA0KPg==


From xen-devel-bounces@lists.xenproject.org Tue Aug 03 07:08:40 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 07:08:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163287.299136 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAoXT-0005rO-LM; Tue, 03 Aug 2021 07:08:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163287.299136; Tue, 03 Aug 2021 07:08: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 1mAoXT-0005rH-H7; Tue, 03 Aug 2021 07:08:35 +0000
Received: by outflank-mailman (input) for mailman id 163287;
 Tue, 03 Aug 2021 07:08:34 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OfYh=M2=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mAoXS-0005rB-8w
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 07:08:34 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 51180141-c077-4f3b-a9e2-34af0b2d7e3f;
 Tue, 03 Aug 2021 07:08:32 +0000 (UTC)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2055.outbound.protection.outlook.com [104.47.14.55]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-40-KqZHfWmvOKui5XycPEfF0w-1; Tue, 03 Aug 2021 09:08:30 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0402MB3535.eurprd04.prod.outlook.com (2603:10a6:803:11::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.26; Tue, 3 Aug
 2021 07:08:28 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4373.026; Tue, 3 Aug 2021
 07:08:28 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FR0P281CA0074.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1e::20) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4394.14 via Frontend Transport; Tue, 3 Aug 2021 07: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: 51180141-c077-4f3b-a9e2-34af0b2d7e3f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1627974511;
	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=3lv9DbWb5g2knpgXNM8f31+ru7nyNBCiPbQeCA/o0vY=;
	b=OY/yTqN4nHbRZQSGQGSnNLJ3S8YkksBG0wp0PkOMJ6fhiUlEOREtJanAkvKU3a7oWmy94z
	hRTMLRGud7YK26VK+gypnW+LvlaxXWQn6zFfa645rHjOOD1juL0lFTkw7Rnl/px4Pd4gU3
	VusT2xXntPF/JLl/h4yoT7g1K+aXg/s=
X-MC-Unique: KqZHfWmvOKui5XycPEfF0w-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SABVZieULOFaXtNDDbDWGWMtINGeUghhdj6CsdpBYCu0FBm8ig7Dm0nkh4rHe1axj5cL9gHnKi0aWhnz7RLTeXz3w1RbAPcJBosnuX5kKdzFzEuPwir5F7Ibf//VUMWhIhVJwcf7nzno9XQ9SP9GcxYZBioBdySps4DfQRgTqZKxvTDO3dwF8IKr5+omNeU5NZ745RwBxay/wMF72SzB2gjLb8Wdm74N4ip8IRMK4E2954FEMb1yZsrgdD+Z7Sj3JYdJ6Kd88cPL6/H+sPxH1EzqG4yQiF1x28FjRK/e2Mw/VMDYRK78V7D3aIc/6oZW0fYd1zB0+qA1cgLc9NEEOw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3lv9DbWb5g2knpgXNM8f31+ru7nyNBCiPbQeCA/o0vY=;
 b=ECX23CjHcjEEQ/byLLkrnsrt4LkHBWnTOZv0xvYWJeuO7BBsyNgbd3CnWmxxwgWCmpe7j8ajkzbXwvYCvjaVVzT9Bx9Aa2OUilQbfyk4duAdM/EZnjiofeA5qHHeeUgh4ctd6gDPMKtOKOAPw3dcY6TtvzG0Yf7utCklwtazI+NsJVABxeXlqeMNx0MoyIbvHJiCMKIGjMviobepfyBlLbVlYv1G536pdH/BeFsI3TBhaFs5mmxoJEb6QHYP4NY7ed4jkrQo2qNWaH7NX/ur4nMy7DYUdCu5aTQOZ47bdjKQKAJUIxJ3+5ljfPlLLrAsRzS3uSQ4BMCAYCpNMB+oJg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v2 06/10] xsm: enable xsm to always be included
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 xen-devel@lists.xenproject.org
References: <20210712203233.20289-1-dpsmith@apertussolutions.com>
 <20210712203233.20289-7-dpsmith@apertussolutions.com>
 <e4aea947-ae36-7791-dd95-94ce0e60a62a@suse.com>
 <9be23243-3f1d-fd63-944a-fccfa12fc54d@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <efcf68d4-5ef7-209d-4576-eeabe0485bcb@suse.com>
Date: Tue, 3 Aug 2021 09:08:32 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <9be23243-3f1d-fd63-944a-fccfa12fc54d@apertussolutions.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0074.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::20) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 90e69b0e-6df7-455e-0de4-08d9564d7e50
X-MS-TrafficTypeDiagnostic: VI1PR0402MB3535:
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB353542BA300D44C67C906810B3F09@VI1PR0402MB3535.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	UWgOEC+ZBDvd1QlnZWQWGgqquQi1jtvMKlzq9S9SYqcNN6dkfhELgLv4vqxzXK1fSuDig3Mx5bEByXagRg4mdtCITWgrDGO0hQgcsmdm6FxlVRogpd4sI2kgQqvp6W17ZuLzui7Z4VHq7eOEEIBVwlHjK+f2jBV2gstbPKqDH+H4tp6Y69uNvcucj10dat1ZIiopaHtqY+YUu1LqLvDKPSozj1nNFpkgXBdaLJuKZK5tNiTwQKIyc9qaCwzBKf3WNRHuSKpFPjk3XmrU+Q+Nt8FGErxBKIz7M+lvOuZDpFfcGVXc/YXoa6PGgEa2a5kScCEJZI38Ne837/ZMZkfYNijZlQJI4ugcdlD2wJHSRdsD360hRIk/DbUwYgxIEKingrKPmS+eSTt17F88PliuJ1BTD0OfDfXvqu8ci3LKsl7sXqb3y7le2yNIKXP6zGlC0miJ0bwIkmRVkXvR9/ZbIQPMc9UaFDgFQ3yNuFrgzyk5XSjxnidP7ffH+KgQRtw0uiUaUras/8ow44FNCEGUVmCSNKy2nLaX4zv/p9Rs8uKGmxiMm9Pv1SVCKSm2wIHVZKLvzdXabEeJJoFIjUG6en4rWdByqcH18taFUM67m3HU0WwTwMsxIMZMLU5tSN/F+BEJEI8UebnB3YMo2Hx3YfTtdYaW49xQAV/7sAkaAQGs2RimQsvJs+zORh8lYAELquxQMBi2ig7HC9kJkwr9FECH2s2riPxO+IWSRj/RNpU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(39850400004)(376002)(346002)(136003)(396003)(2906002)(38100700002)(478600001)(8676002)(54906003)(83380400001)(186003)(956004)(31696002)(36756003)(6916009)(6486002)(2616005)(5660300002)(6666004)(66946007)(66556008)(26005)(31686004)(53546011)(316002)(8936002)(16576012)(86362001)(4326008)(66476007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SUFPdGZzbnloNDl2dll3MDVNWnVCU2FLRzEyZ09iTEFjMEthOXNrRFVMNFlj?=
 =?utf-8?B?UFdrT0M0OHVvSExWQTlZR1loWGJSYXpCYkxSWXRzNUtXMmk3bTZ1ak51SFdT?=
 =?utf-8?B?T1pZTnpwaUx4Y2VJZnhCR0NaNVZ3NXEvRXgxMncwT080bW9jTlZNZEJadG1h?=
 =?utf-8?B?VHJlK01lM3QrRFl3NVlLaXJFTUpYRXo3QU1ZaGh5MzFLZlA0Z0tXd3llVVJ0?=
 =?utf-8?B?UGZZZGwyczVEZHBYS1ZRMU9Za0E0NGxYRGs1TWVmR2tjbk5yN1ZZSU13YVNT?=
 =?utf-8?B?TURHcDNxMW4yMlFuczJyTGhMRjZ3Qjk0YktId3c1V0IrbHA0WCtBOER5MGpy?=
 =?utf-8?B?b09IcktZNGRIV0hVNStOZ0g2TGU4TURjOERaVkRYUkNpUXJTN3c5Yk5QQmk3?=
 =?utf-8?B?bXMxcW9RM0FCN2daNTFPeFRGLzErMkRuRlZiY2x3VVVuT1dHL1Uwc21Sd2Rv?=
 =?utf-8?B?emVncWxCTm5aWEUwSGR0cmw2enp4c2NkK05NVkUvUjZKM0hQaHdkMmgrMitU?=
 =?utf-8?B?TUNIOS9iQzFjZWJZVFg1REk1QzdxTkRxcUp3L3g2REZxTjRvWUpLQ1lnaDhk?=
 =?utf-8?B?cWpNU0VmcmJiQTRVMXpxUmFGK3V3T2dXWUFoMFliWGFGRlMvOVlCdUdlR1lK?=
 =?utf-8?B?R3FMSW5ma1FvQVY1Nmg5SGgzbDVhMDNQRFF5MVN0VUxQYmhaSEZVR3BlYW1U?=
 =?utf-8?B?YXI4RHVyVnQzdUFwZ0o4aEhaRG5Dd1lqR0QwVkpnQzFMYW1OWlhXQmR1MGtl?=
 =?utf-8?B?bjVVSEN1NEJEcy9BM3kwd3oxcEl2Tm0xNnIwUzBWMnhCSGR2YjJSTXZvMjFR?=
 =?utf-8?B?U0tnYjJoQVQ3TGVSMG51NFBSMGtYVFU0T2w1UnRvdTVyYXVyakJOVDZzYkdp?=
 =?utf-8?B?cWozVktiZEpyREVTUExoZzJBb1dnNFA4SlgyTHJSNnRQM0F3TnJnWkhHM24w?=
 =?utf-8?B?L0lPVEEvenVJaDdWZ2ZFRGt2NXZKNWVOQ0tnYmJkWWR5N25WNURJTVY4N05N?=
 =?utf-8?B?RWJIWlI4SHRuVWZGSFVBZExZL0hQOGlCUUc2MmFETXBZYWs0UkorTFhqUlNV?=
 =?utf-8?B?WWllcTAwQjdPMCtLUkp0VWtKUHdRUllDZXlaa0tWby81cGRReERtbVBvUnBi?=
 =?utf-8?B?ZG1Yd29BY2pOQVpmTEF6U1g3NGZITXdna1YraWVhZ2ZCem9BRVJBaTVtTXpv?=
 =?utf-8?B?c0dLSy9ya0xHNUs3djY1WG5aREZNb1VTam1TNkh1ajdHOEFNSjQ2a3k0NXdz?=
 =?utf-8?B?UXFiVXg5S3VXZ3Z4NnFJYlFqWmFWUVgvaEJRTWlLYUU5MkhvMU9PVEo5bmgz?=
 =?utf-8?B?amExSjlCQ05XSGtSeE05SVJaT1ZNbkw4L2ExRk1nVm9SYUF3UHhnNVJpRm9h?=
 =?utf-8?B?RGdoVjgrdjdwQ0g5NmhSNW9ZREVNUWRsZGQybXFBRC80ZGFRYTAxQkZTbGph?=
 =?utf-8?B?SmZuc3l1VTBmcFliZ29CSmxEUk9Cc0hpbVZpeGs5V2szR0dxMHlLRU1kUU9k?=
 =?utf-8?B?Yld0L3h3UWI0RGd6WVI1REUzdTBQblRMQzBPT3pkYTN0LzhLVys5SHNzd3ZN?=
 =?utf-8?B?dTh1NEs0N3FzYTUyMjdQcDFrSW9Ldm5sdGcrd2NuUWVTSHR1OHRmQXdtYTYv?=
 =?utf-8?B?OTZLdDRCR2paVUZyb09xWnBkaHZtUTk2VnhDckgyYkJHSGg4dHBqSzlrVXhn?=
 =?utf-8?B?aS9NaTlxUnlYUG9CeE9ZWnVMdkVMbWtzSDNZRjZOZmFhWTlWNVUwUGZpK0xz?=
 =?utf-8?Q?/HcAKTVIzagReWzuVNsL5iP3dtqtvA71kjim5BB?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 90e69b0e-6df7-455e-0de4-08d9564d7e50
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2021 07:08:28.2431
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: B38imzEHz8Fe0jhIeq6MEGm3B27bSkh+GRz2rnMPCryLxi81PwZ6UeG+hFDnVhSELiKe3tlPqHqCG+dETR2W7g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3535

On 25.07.2021 22:47, Daniel P. Smith wrote:
> On 7/19/21 6:24 AM, Jan Beulich wrote:
>> On 12.07.2021 22:32, Daniel P. Smith wrote:
>>> --- a/xen/common/Kconfig
>>> +++ b/xen/common/Kconfig
>>> @@ -200,23 +200,20 @@ config XENOPROF
>>>  
>>>  	  If unsure, say Y.
>>>  
>>> -config XSM
>>> -	bool "Xen Security Modules support"
>>> -	default ARM
>>> -	---help---
>>> -	  Enables the security framework known as Xen Security Modules which
>>> -	  allows administrators fine-grained control over a Xen domain and
>>> -	  its capabilities by defining permissible interactions between domains,
>>> -	  the hypervisor itself, and related resources such as memory and
>>> -	  devices.
>>> +menu "Xen Security Modules"
>>
>> I remain unconvinced of the removal of this top level option. I don't
>> view my concern on code size / performance as "unreasonable" (as Andrew
>> did call it) when comparing with the current !XSM configuration, and I
>> also remain to be convinced of people who had to simply answer 'n' to
>> the XSM kconfig prompt being happy to make an informed decision for all
>> the (previously sub-)options that they will now be prompted for. As
>> said before - it is one thing to re-work what exactly !XSM means
>> internally (and the conversion away from inline functions may very well
>> be a win; we simply don't know without you showing e.g. bloat-o-meter
>> like data). It is another to require in-depth knowledge to configure
>> Xen that previously wasn't required.
> 
> For me personally a concern about code size / performance itself is not
> "unreasonable" but I would say it is a bit disingenuous to use it to
> defend a position that the security framework should be special
> conditioned and kept convoluted considering, 1) other subsystems, e.g.
> iommu, do not appear to me to have the same subjugation requiring a
> special case of one hook set over another, 2) the architecture (Arm)
> which IMHO has the greatest concern over code size / performance is also
> the architecture with the only security supported configuration that
> requires an XSM enabled configuration, 3) this approach effectively
> requires the maintaining of two sets of hook handlers which increases
> work and risk for vulnerability introduction, and 4) based on the
> discussions at the Developers Summit, no one seemed to be aware that the
> only logical difference between !XSM and XSM was the invocation
> mechanism, inline vs call-site, let alone that XSM_HOOK represented no
> control check.
> 
> To bring context to the discussion, after applying the clean up patches
> (everything up to the patch dropping !XSM) of the patch set, the
> bloat-o-meter shows a 0.18% increase going from !XSM to XSM (without
> SILO and Flask). IMHO this increase does not justify keeping the
> convoluted gyrations being done to swap in an optimized security hook
> when no other security module is enabled. In fact we should be working
> to make the security framework clear and concise. I am all for
> maximizing performance while doing so but the end goal is for it to be
> clear and concise so that it can be reasoned about by everybody.

Well, I guess if the majority is with you then that's what is going to
happen.

> As to your position that this increases configuration complexity, I
> would have to strongly disagree. I have worked to ensure no new
> configuration steps are necessary.

I'm having a hard time seeing how this could be the case, especially
since ...

> The default config will only have XSM
> and the default/dummy policy enabled unless on Arm which will enable
> SILO and make it the default policy. Prior to this if XSM was enabled,
> the default policy was forced to Flask. While I am an advocate for
> Flask, I do not agree this is a reasonable configuration. It now works
> such that,
>     - if you enable only SILO, it is set as the default
>     - if you enable only Flask, it is set as the default
>     - if you enable both SILO & Flask, it uses SILO as the default
> Which basically works such that if one selects a policy, then it assumes
> that policy is desired to be used, and when more than one is selected it
> will default to the one that functions most like classic Dom0 model.

... I don't see how putting in place suitable defaults would suppress
any respective prompts during e.g. "make syncconfig". (I can see that
what you say may apply to e.g. "make menuconfig", which I think I've
indicated before I don't use myself and hence I don't care all that
much about.)

> IMHO this is much more intuitive. Now one alternative I am thinking
> about that might be a bit of a compromise is to move the default policy
> selection up to the same level as XSM menu. That would make it so one
> could immediately see what the default policy is but must go into the
> XSM menu if they want to alter what policy modules are available.

All of this appears to support my assumption that you're looking at
things from a "make menuconfig"-centric viewpoint.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 03 07:10:48 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 07:10:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163293.299148 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAoZc-0007C9-1V; Tue, 03 Aug 2021 07:10:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163293.299148; Tue, 03 Aug 2021 07: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 1mAoZb-0007C2-To; Tue, 03 Aug 2021 07:10:47 +0000
Received: by outflank-mailman (input) for mailman id 163293;
 Tue, 03 Aug 2021 07:10: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 1mAoZa-0007BX-81; Tue, 03 Aug 2021 07:10: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 1mAoZa-0006V4-01; Tue, 03 Aug 2021 07:10: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 1mAoZZ-0001kA-OU; Tue, 03 Aug 2021 07:10:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mAoZZ-0007yp-Nx; Tue, 03 Aug 2021 07:10:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=r+xo/dmprfdc9cG8Iu6PLQ5mzF+JpBuASGO0OiwzPbU=; b=Cp15HlR05QzlZnnjoEG0AFE02h
	xbv9m74dUiOaSaxFhiJpg18IW0X+ZiQi2PaWbd6B/OCNVsEEGa1Qzo8iFefpKKKNQk2odLY8gJ/vY
	22szK59MPWFx1RpEDxM+Yu+5BGlhdUolPyutidEilVXJTmWlt3TBQPA1nlQhzpO+/+Dw=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164088-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 164088: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=444c7c2725626bee21ff78c8bb269437f760f205
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 03 Aug 2021 07:10:45 +0000

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

Regressions :-(

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

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

version targeted for testing:
 libvirt              444c7c2725626bee21ff78c8bb269437f760f205
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  389 days
Failing since        151818  2020-07-11 04:18:52 Z  388 days  380 attempts
Testing same since   164088  2021-08-03 04:18:55 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  Cédric Bosdonnat <cbosdonnat@suse.com>
  Côme Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano Fidêncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Ian Wienand <iwienand@redhat.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  John Ferlan <jferlan@redhat.com>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  Ján Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Michał Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  Moshe Levi <moshele@nvidia.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr Drąg <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tomáš Golembiovský <tgolembi@redhat.com>
  Tomáš Janoušek <tomi@nomi.cz>
  Tuguoyi <tu.guoyi@h3c.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  William Douglas <william.douglas@intel.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.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                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Tue Aug 03 07:11:50 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 07:11:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163301.299162 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAoac-0007nK-Ba; Tue, 03 Aug 2021 07:11:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163301.299162; Tue, 03 Aug 2021 07:11: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 1mAoac-0007nD-8c; Tue, 03 Aug 2021 07:11:50 +0000
Received: by outflank-mailman (input) for mailman id 163301;
 Tue, 03 Aug 2021 07:11:48 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IREm=M2=arm.com=michal.orzel@srs-us1.protection.inumbo.net>)
 id 1mAoaa-0007n4-P1
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 07:11:48 +0000
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id 10db4cca-f42a-11eb-9a89-12813bfff9fa;
 Tue, 03 Aug 2021 07:11:47 +0000 (UTC)
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 04DF2D6E;
 Tue,  3 Aug 2021 00:11:47 -0700 (PDT)
Received: from [10.57.8.137] (unknown [10.57.8.137])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id ACAF13F70D;
 Tue,  3 Aug 2021 00:11: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: 10db4cca-f42a-11eb-9a89-12813bfff9fa
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Julien Grall <julien@xen.org>, Stefano Stabellini
 <sstabellini@kernel.org>, christopher.w.clark@gmail.com,
 Bertrand Marquis <bertrand.marquis@arm.com>
From: Michal Orzel <michal.orzel@arm.com>
Subject: XTF on arm
Message-ID: <b02d1b59-382b-0d7d-c032-ef485e0fc02e@arm.com>
Date: Tue, 3 Aug 2021 09:11:39 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.10.0
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit

Hello guys,

During the last Xen community call I was talking about my work to port XTF to arm(more specifically arm64).
There was quite a bigh interest in this topic hence I created a pull request for Andrew's XTF on github with the first patch series.
It consists of several patches creating a base for further implementations.

Support for arm64 allows to run a hello-world test(tests/example) with 2 environments:
-64le: arm64, little endian, no MMU
-mmu64le: arm64, little endian, MMU
Support for arm32 allows to run only a startup code.

This series was tested using qemu-system-aarch64 and FVP_Base_RevC-2xAEMvA with XTF running
as dom0 or domU.

Please review, test, comment and feel free to ask questions(please do that on github).

Pull request:
https://github.com/andyhhp/xtf/pull/4

How to download pull request from github:
https://patch-diff.githubusercontent.com/raw/andyhhp/xtf/pull/4.patch

Instructions on how to prepare base setup for testing XTF on arm64 using QEMU:

1. Build XTF:
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- CONFIG_LOAD_ADDRESS=0x80000000
-this will result in 2 binaries inside tests/example:
->test-arm-64le-example - no MMU(uses 0x80000000 as a start address)
->test-arm-mmu64le-example - with MMU

2. Build Xen for arm64
-select early printk for PL011, 0x9000000, 115200

3. Generate device tree:
qemu-system-aarch64 -machine virt,gic_version=3 -machine virtualization=true -cpu cortex-a57 -machine type=virt -m 4096 -smp 4 -display none -machine dumpdtb=virt-gicv3.dtb

4. Add chosen node:
chosen {
xen,xen-bootargs = "noreboot dom0_mem=1024M console=dtuart dtuart=serial0 bootscrub=0 iommu=no";

modules {
#size-cells = <0x1>;
#address-cells = <0x1>;

module@0 {
reg = <0x47000000 0x1000000>;
compatible = "xen,linux-zimage", "multiboot,module";
};

};
};

5. Build u-boot for qemu arm64

6. Run Xen on QEMU with XTF as dom0:
    qemu-system-aarch64
    -machine virt,gic_version=3
    -machine virtualization=true
    -cpu cortex-a57
    -machine type=virt -m 4096 -smp 4
    -bios <u_boot_binary>
    -device loader,file=<xen_binary>,force-raw=on,addr=0x49000000
    -device loader,file=test-arm-mmu64le-example,addr=0x47000000
    -device loader,file=virt-gicv3.dtb,addr=0x44000000
    -nographic -no-reboot
    -chardev socket,id=qemu-monitor,host=localhost,port=7777,server,nowait,telnet
    -mon qemu-monitor,mode=readline


Cheers,
Michal


From xen-devel-bounces@lists.xenproject.org Tue Aug 03 07:23:14 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 07:23:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163310.299175 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAolY-0000uk-Gv; Tue, 03 Aug 2021 07:23:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163310.299175; Tue, 03 Aug 2021 07: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 1mAolY-0000ud-Do; Tue, 03 Aug 2021 07:23:08 +0000
Received: by outflank-mailman (input) for mailman id 163310;
 Tue, 03 Aug 2021 07:23:07 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OfYh=M2=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mAolX-0000uX-Ew
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 07:23:07 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id a50342bc-f42b-11eb-9a8d-12813bfff9fa;
 Tue, 03 Aug 2021 07:23:06 +0000 (UTC)
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur02lp2051.outbound.protection.outlook.com [104.47.4.51]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-27-4Ul4FkfoMnmt4PVCo7ecgA-1; Tue, 03 Aug 2021 09:23:04 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB7039.eurprd04.prod.outlook.com (2603:10a6:800:12b::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.21; Tue, 3 Aug
 2021 07:23:02 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4373.026; Tue, 3 Aug 2021
 07:23:02 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P191CA0008.EURP191.PROD.OUTLOOK.COM (2603:10a6:102:54::13) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4373.26 via Frontend Transport; Tue, 3 Aug 2021 07:23: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: a50342bc-f42b-11eb-9a8d-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1627975385;
	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=Um8OFBst2d/TNNvASZvF2v8hlBGgAC74kNHSdvEV+1I=;
	b=Hgl+8bEUnstxe2HyUwmNXTP4FT7W/h24q6bPKutpwMpq9W8/TwucEr+Xxzaprk4byjhH97
	ekqzgrQI7i/rXhoG265Zr39r1ygO1icQmh/OjOqrBp8c3Qn1Y06W0r/ItbXGEUlyd3GUWj
	0H7o5sFutQDVW8sPwcClUUvf4ZXtxV4=
X-MC-Unique: 4Ul4FkfoMnmt4PVCo7ecgA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=b8wb5S6W0cdRLRH2qJ+xmZAMoXzSl7SLwkayml4/Vbae+YIRVfBVs9dkU1r5tkGWpC8o/5vzFsbzFG4zhimbOVQIyenRShvtyqNPK03HtOHzhuun6Lff7EFxQ4t05ERgXbdgASKl2Q3MBGLLIi0l4GRxpv2R0Yn58kJjuDZsmmugI627PFzZnGGzFoVBMgbmNWy7x0KExfUkiCDWawuT31z0oRCrfN2lh8HC73m+tA/hnzwhsYAg+EV/H4BElyn2uLpaD8W6BVdr0cTSexkIAtWHcVM0aYBuCacDNKExThkDS/Xsgn/aT9ndwDLYvHpSAfty37itRgU4lHfdrqfR2Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Um8OFBst2d/TNNvASZvF2v8hlBGgAC74kNHSdvEV+1I=;
 b=ElA0UJeCzGr63HPLQMiMph7oQ0zb8B6ROIVKWQwPsurVtXx9GLBIdQcVHVj/pPxWK2QvCUxoIXb3Gz/6CxIZfIULhBodzUxkWuf5nSLSTmdozbj1pCVn/9+fx6S7uzFgOYeUg3ZERU0FlBuhWxa2nKK9mYkaJn8Ybc49qD/19gsMvAv2a84o+YKnxN4Km81CUVnPh4MTxUp5Pwm3x+73Ae4WVMI8u/YVuVjyrXte2dcalhI+yywEXDBMxwbD50tF2qsnDncKDL180bH3GH3B5rDkYG9rr/yuiriAQIZVlW6fAM6oKurhAlUpWce/90Dcn1p3v539h6t4GUTZ/JpiOA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v2 09/10] xsm: expand the function related macros in
 dummy.h
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov>, xen-devel@lists.xenproject.org
References: <20210712203233.20289-1-dpsmith@apertussolutions.com>
 <20210712203233.20289-10-dpsmith@apertussolutions.com>
 <34c71bc9-18e8-08cd-d55f-9f5f97bde91e@suse.com>
 <0c944d5f-cc79-4df9-9531-cb918aef8fe8@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <75b2e3a8-4e6e-c73e-9e35-8f1c9f501b9d@suse.com>
Date: Tue, 3 Aug 2021 09:23:07 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <0c944d5f-cc79-4df9-9531-cb918aef8fe8@apertussolutions.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P191CA0008.EURP191.PROD.OUTLOOK.COM
 (2603:10a6:102:54::13) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d11af1b8-9c6b-4886-ba78-08d9564f879d
X-MS-TrafficTypeDiagnostic: VI1PR04MB7039:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB703922FD4E4F5F98417F65D0B3F09@VI1PR04MB7039.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zh4n58cPNQO1gZjKmp3CNH1izXUK/N165OGeAbZmihyvStb1t5WbVBX/styJqRkyfvoo0+QHUzhmrgXWI1h8d4oQmflcJ8oeqY05ULlrGkS3R2WztANVLi3/P9i/fkZquuFao/wHe0awhrVO+FPnii0i/XVcQiEJdlH/wqYytPT3yfuaTVI5OjnqZVbjC1BTufILS4S8HCALRieVb1g50oreDnbeWCSJop9t7ujreaarBUpjFt1pt4lS3XcgJCLTkDyEvzwaunTxA5f0spgIGygHNf9J2tj1LKtABktJvJr/pXxj2D8ciEI+usjMRX/UbVC2plfu4VYX9EtxcfjFGLpLfE82tmFk3yHW3tN//oJmr+D9RNTMHl43N6IUxkq3wuwyXP+tc1cPaTVGAhyNGkwD0sYDXnDpa2KmW1jRIQmLtU+IoSrfs4vu7iuvGUFNS78y80B/cliUW/3GgwfLBui2endel355MMheTZOXHOVjiuKlUcD0ws45ZBOqVpOA97jl340vrpmdoayuIarSzXb9hvvw6lX9NXHvT7EHDdK63ryZfsA/OQhUCyS0yALIyGauGpzW3UYTLMqh0Py9HKRLCv9CiP1QAvcasVQ+vPvmgloA4PKiUKrPWR/o4RYNLXE9+tbQcIC/iVekhuTxmSlwRtrWHApx5QP2jVNBi8tu2S44qAs5H4g7VNbI55jEhQeYlRez2r6DAMuZl1hPMRHOcdMJUi72hOhWkkwsSw+7lrMeQpSSmK4Fdez5DPhcnBLObMCodVCg6x5cGrFdNMj9M6XjZYtG/1WhkJYcB+g3cTIG4WnS1cq5meAWRRKH
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(136003)(376002)(346002)(39850400004)(396003)(66556008)(66476007)(31696002)(36756003)(86362001)(6486002)(966005)(31686004)(6916009)(5660300002)(478600001)(66946007)(4326008)(2616005)(26005)(956004)(2906002)(8676002)(186003)(8936002)(83380400001)(16576012)(38100700002)(53546011)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Vy9NUDY3Y0tnWnRteW00NGZUTm1LblJma3hBdVE5MFJjMkNRRnQ0NmhxdnJP?=
 =?utf-8?B?MUw4WmlkTGExcHUyaUNNVm5HR1dSeVV6bXppRzRNQzhneHJrcU11WUYzTkNT?=
 =?utf-8?B?K0RMVVdhMVVCSmd6dSsrdkY0LzhlU2c4c2wzSWhHVzdOQVc5dmpvdkhROGpu?=
 =?utf-8?B?Q0FWcGIwOCtzcCtlTEFmNy9TeVRzZGtYeExSek01dEdWWnJHcXRvdDlSY0l5?=
 =?utf-8?B?RUswaTBwV20wbldSSnpXZkFMVHhMbnlWemhENnFza0ZQWU5VUitSOXdBaG9q?=
 =?utf-8?B?eUdac3h5YjdBSmIzY3lqT0t4dUptY2s3V2V1eFFQZlZSRURzeDJGN0VobERB?=
 =?utf-8?B?N1VuY0RpYXBPM1N2OW5ycnh5STJBdmlDSExJclE0R1Q0djlScHc3Ni8vcmFV?=
 =?utf-8?B?VzltaHphR2EyR3l6NkM1dFJFVU9qczhTc281UkpUbC9YKzJpQmN1MnM5Zm5X?=
 =?utf-8?B?bkRydEs5dWk3ZmRkWFpIWFJBcjB6NFp2U3lFTGFYY0oycDRJUmliQStUaUxU?=
 =?utf-8?B?b25vekRNMmVUZEVWMW9EckRsSmVZdzdMZVhuU21taFIvWGMyR3dndEZ3alRt?=
 =?utf-8?B?ZzkxL3JBOFFNek1qUVBCVFJZVVpoWDIzZGsvQXhXSVBuN3BaVGR3MnRKQmJr?=
 =?utf-8?B?ZmxHa0w5cmNXZHhGOUIrL04rRGl3TTluSFRveFhEK0xlUmg4VmhablhmVTVW?=
 =?utf-8?B?RCtNWDBWNEpMWDJheUhZb2l2Qk5Dd0N2NmQrenBFWWRCL0hEZG9xWVRWbXlK?=
 =?utf-8?B?elZNbCt1SlN6bmJxZERoWThhZnIvL3hmSVZyUWZydFhpcUhRWS84dU80REtm?=
 =?utf-8?B?TVBXSjF5TXV5U2RKYWFmeDZXdjZidXlrOVNGd1RMLzVkTzZqYW9RMDhydXVS?=
 =?utf-8?B?Qk45aklkcmdlYWlDZDdCc1IrVnJBeDhlZjVhQU5mWWFVZG5YQzNyK0g5OHN3?=
 =?utf-8?B?Mzlsd0VTSUlGaGI3dElyaS8rZHhqVlhCZFU4UGozNWM3NzRsaDZNNURLVjBE?=
 =?utf-8?B?Vkd3ZUREdXdDY3FjQjJRZnVCdHFRNkhjNjZ5dTNDdlpiRC9QZzRCMi9tRUlY?=
 =?utf-8?B?cXFYejZlVStRais4REJabkNjbWFiVlZTbWJiMU0wWUJLN1VnWlNOV0lJaVZ4?=
 =?utf-8?B?R24rQ2ZRNWMwekFpZWIyQ0lSekdHMzlieDVxTlE0bDRXb0w4NjlzNEUwa3Uz?=
 =?utf-8?B?RUJYQW1lV3g1T0JremRVQVBBZkk0M3RhdGxnTlViQUxaUTBxSTU3VUgwKzIw?=
 =?utf-8?B?NkxSOXdEQnB6VWxUQ3hnRWl4anFQbktLc0w1M2FpWlMvU016ZS81V29FeFhI?=
 =?utf-8?B?bnVHN29tYkdnY1diakV0MTlSNnNZR1V6NDhvM0V3eVZnT0IvcmdnelJYeE8v?=
 =?utf-8?B?UmhvQUgzOWhpcW1IUUkyYTdJWSsvdlUvRkZUTXo3Y2R0ekRBTjBKMlluSHJm?=
 =?utf-8?B?Q25taWhXMVc2UUxQamxXanNLcHVyeTQxVXlSWEVTVFYybVJTZnE0TDRwcXR4?=
 =?utf-8?B?VVBBcjlMNmwvVmRkTzAyVVMyaHFtRWRGcWdTVU41SWY3ZzBRbjdrR2lXQWtl?=
 =?utf-8?B?NmYxOVVoWVR5YW9ab2JDR3IyR0FsU3NoMFgyREQ3UXRHaFNibFlWZ0d2dUw2?=
 =?utf-8?B?c2hvcnFzblg3bVpsamN3d0lUNUFPVkVJVS9BVnQ5bkhncjRVMllwWnpFMUFn?=
 =?utf-8?B?T1FHTEJqZFVQeW1CelZyT2ZxOGhxU3krMk5JNzkyLzBVdzZwVjJzc0R5bmdZ?=
 =?utf-8?Q?nawUoOXp+D9VeKTQjGGcdFR+aLsm/r2weKqw1Ii?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d11af1b8-9c6b-4886-ba78-08d9564f879d
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2021 07:23:02.8651
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: g2Vre20bswUIFHcM46HbUfDgTxhbTsK8b6A5HzqahfdUxEEJRVIjNKW24ZEIAGhK6WbxquePBtwD0vbrJHJaiw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7039

On 24.07.2021 22:07, Daniel P. Smith wrote:
> On 7/16/21 3:34 AM, Jan Beulich wrote:
>> On 12.07.2021 22:32, Daniel P. Smith wrote:
>>> With the elimination of switching how dummy.h gets included, the function
>>> declaration macros are no longer necessary. This commit expands them out to the
>>> only value for which they will ever be set. This results in function
>>> declaration lengths changing and since some definitions did not even follow the
>>> 80 column wrapping style, all function definitions were aligned with the
>>> predominate style found in core hypervisor code.
>>
>> I'm afraid this last half sentence is quite far from true:
> 
> I would disagree since I know I went through the frustration of trying
> to find a discernible consistency in the files in common/ in the end I
> settled on following common/memory.c since it seemed to have the most
> uniform, it had only a couple of anomalies, as opposed to other files
> where indentation was varied throughout.
> 
>>> @@ -82,43 +79,43 @@ static always_inline int xsm_default_action(
>>>      }
>>>  }
>>>  
>>> -static XSM_INLINE void dummy_security_domaininfo(struct domain *d,
>>> +static inline void dummy_security_domaininfo(struct domain *d,
>>>                                      struct xen_domctl_getdomaininfo *info)
>>
>> Padding wasn't good here before, but you clearly do not change it to
>> either of the forms we agreed on as being the goal for consistency:
> 
> Then that agreement should be document as CODING_STYLE only states:
> 
> 
> Line Length
> -----------
> 
> Lines should be less than 80 characters in length.  Long lines should
> be split at sensible places and the trailing portions indented.
> 
> 
> I found that in common/memory.c the predominate style was to align
> parameters with the first parameter when wrapping, which is what I
> followed. In this specific case when I wrapped the second parameter to
> make the line less than 80 chars (an explicit rule in CODING_STYLE) and
> attempted to align with the first paramter resulted in the line
> exceeding 80 chars. Since the only hard rule is lines must be less than
> 80, I decreased the indent by enough characters for the line to be less
> than 80 to be in line with CODING_STYLE since it only calls for sensible
> splits that are indented.
> 
>> static inline void dummy_security_domaininfo(struct domain *d,
>>                                              struct xen_domctl_getdomaininfo *info)
>>
>> or
>>
>> static inline void dummy_security_domaininfo(
>>     struct domain *d,
>>     struct xen_domctl_getdomaininfo *info)
>>
> 
> I will align to the second, even though I find it annoying to switch
> alignment styles, since the first would be in violation of CODING_STYLE
> sine the second line would exceed 80 chars

I guess you nevertheless realize that this 2nd form is precisely to
overcome the problem with otherwise exceeding the 80 chars limit,
while at the same time making sure the indentation doesn't end up
entirely random then?

As to extending ./CODING_STYLE - I've had rather bad experience
with attempts to do so, with my two most recent patches to that effect
just having had their 2nd anniversary without getting any feedback
moving things forward (despite, unlike in some earlier instances, the
proposed changes not looking overly controversial to me).

Coincidence or not, just a few days after my submission Volodymyr
submitted a patch making an attempt to document function parameter
indentation [1]. While the patch as is had some comments, it didn't
seem like it was controversial either. Yet nothing has since made it
in.

Jan

[1] https://lists.xen.org/archives/html/xen-devel/2019-07/msg02440.html



From xen-devel-bounces@lists.xenproject.org Tue Aug 03 09:32:02 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 09:32:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163322.299187 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAqm5-0004Op-Dj; Tue, 03 Aug 2021 09:31:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163322.299187; Tue, 03 Aug 2021 09: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 1mAqm5-0004Oi-9g; Tue, 03 Aug 2021 09:31:49 +0000
Received: by outflank-mailman (input) for mailman id 163322;
 Tue, 03 Aug 2021 09:31:47 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mAqm3-0004OJ-Tr
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 09:31:47 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mAqm3-0000gj-EN; Tue, 03 Aug 2021 09:31:47 +0000
Received: from 54-240-197-226.amazon.com ([54.240.197.226]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mAqm3-0007UY-8C; Tue, 03 Aug 2021 09:31: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:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=kQF9UgsgKTwm6gx6c4trKHeimrQJ6S5nBQjQHCrD8Vc=; b=7A5GCiqVeAphBQ8DbnajJlxdCo
	IHh5a5LKp/Eyi28/0BatgyKDdEr1+kBamzWRrOAdGGg+l+7uwWr1QgYVUJFSoOmpowl+tdprxkxlG
	/UyVEVWQQe8rys3FYwZi4Sn/hfI5wtdJy3RtkvGE98LPXnwb8JDAxamthkagU/jFB18s=;
Subject: Re: [PATCH v5 2/4] xen: do not return -EEXIST if iommu_add_dt_device
 is called twice
To: Jan Beulich <jbeulich@suse.com>
Cc: Bertrand.Marquis@arm.com, Volodymyr_Babchuk@epam.com,
 rahul.singh@arm.com, brian.woods@xilinx.com,
 Stefano Stabellini <stefano.stabellini@xilinx.com>,
 xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>
References: <alpine.DEB.2.21.2107221634130.10122@sstabellini-ThinkPad-T480s>
 <20210722233642.22515-2-sstabellini@kernel.org>
 <97f0713b-f6bb-72cd-f364-f0d42c868171@suse.com>
 <1df74545-d2fa-2d80-5246-a0b0158550b4@xen.org>
 <e262a28a-ced3-3097-4748-fe2b9efe08f5@suse.com>
 <f4bdbeaf-b432-5bda-28fc-c9358b26ab5a@xen.org>
 <165b7bf4-2927-6b22-34aa-cb44bf780200@suse.com>
From: Julien Grall <julien@xen.org>
Message-ID: <14f04bc2-8b08-1159-dbf1-7ba0e82b07a0@xen.org>
Date: Tue, 3 Aug 2021 10:31:45 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <165b7bf4-2927-6b22-34aa-cb44bf780200@suse.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Jan,

On 03/08/2021 07:57, Jan Beulich wrote:
> On 26.07.2021 17:45, Julien Grall wrote:
>> On 23/07/2021 14:02, Jan Beulich wrote:
>>> On 23.07.2021 11:28, Julien Grall wrote:
>>>> On 23/07/2021 07:31, Jan Beulich wrote:
>>>>> On 23.07.2021 01:36, Stefano Stabellini wrote:
>>>>>> --- a/xen/drivers/passthrough/device_tree.c
>>>>>> +++ b/xen/drivers/passthrough/device_tree.c
>>>>>> @@ -140,8 +140,13 @@ int iommu_add_dt_device(struct dt_device_node *np)
>>>>>>         if ( !ops )
>>>>>>             return -EINVAL;
>>>>>>     
>>>>>> +    /*
>>>>>> +     * Some Device Trees may expose both legacy SMMU and generic
>>>>>> +     * IOMMU bindings together. If both are present, the device
>>>>>> +     * can be already added.
>>>>>> +     */
>>>>>>         if ( dev_iommu_fwspec_get(dev) )
>>>>>> -        return -EEXIST;
>>>>>> +        return 0;
>>>>>
>>>>> Since the xen: prefix in the subject made me go look (I wouldn't have
>>>>> if it had been e.g. dt: ), I may as well ask: Since previously there
>>>>> was concern about bogus duplicate entries, does this concern go away
>>>>> no altogether?
>>>>
>>>> The check wasn't originally added because of legacy vs generic binding.
>>>>
>>>> It was added because in some circumstances iommu_add_dt_device() could
>>>> genuinely be called twice (for instance if the device is re-assigned).
>>>> This was returning -EEXIST rather than 0 so the caller can decide
>>>> whether it is normal that the device is already added.
>>>
>>> Okay. If that distinction is of no interest anymore, then I can see
>>> this wanting dropping.
>>>
>>>> Calling iommu_add_dt_device() twice doesn't hurt but after patch #1
>>>> (this patch should really be first), dev_iommu_fwspec_get() will return
>>>> a non-NULL pointer as the legacy devices are added when the IOMMU is probed.
>>>>
>>>>> It's one thing for there to be a legacy and a generic
>>>>> binding, but another if you found two legacy or two generic ones, I
>>>>> would think.
>>>>
>>>> I am not quite too sure what you mean by "two legacy" and "two generic".
>>>> Can you clarify it?
>>>
>>> Well, I'm having trouble describing it in different terms. I mean
>>> two entries of the same kind (both legacy or both generic) referring
>>> to the same device, thus leading to the function recognizing the 2nd > time round that the device is already there.
>>
>> I think you are misunderstanding the purpose of this function. It is
>> called when we discover a new device rather than discovering a new entry
>> in the IOMMU. The function will then sort out what to do for the device.
> 
> I'm struggling with assigning meaning to "discovering a new entry in the
> IOMMU".

I meant in the IOMMU firmware table, sorry. IOW, when a new IOMMU is 
added we walk its configuration to figure out which device is attached 
to it.

>  Otoh to "discover a new device" means the device wasn't (supposed
> to be) known before, which to me means -EEXIST is appropriate.

Right. The problem is after patch #1 all callers would need to cope with 
-EEXIST because the legacy binding register the device up front.

That's why I think returning 0 here is better.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 03 09:33:43 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 09:33:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163327.299199 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAqnu-0004zt-PU; Tue, 03 Aug 2021 09:33:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163327.299199; Tue, 03 Aug 2021 09:33:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAqnu-0004zm-LV; Tue, 03 Aug 2021 09:33:42 +0000
Received: by outflank-mailman (input) for mailman id 163327;
 Tue, 03 Aug 2021 09:33: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 1mAqnt-0004zc-Vu
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 09:33: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 1mAqns-0000jN-HK; Tue, 03 Aug 2021 09:33:40 +0000
Received: from 54-240-197-226.amazon.com ([54.240.197.226]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mAqns-0007rD-BQ; Tue, 03 Aug 2021 09:33: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:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=aIx3aTemzVZUzV/gQCvSt6LORPD5qjQs5WYsyPBa3TU=; b=vFqZqvay0M4DId5Hae92u1DeIH
	KwdLv48IRqidPORpRSxu/W4+ZKbN1aUCEv8K6sKemd1P46aNzl7lbaMRSplYslIsFZw5TwtvZ3kCQ
	84lK4OvNSAAoPUFtVvkKlWswCNLHkRNN0BAFl/MMnmzUr0wt/Ffjo70B3xiufgXtvB88=;
Subject: Re: [PATCH v6 1/4] arm,smmu: switch to using iommu_fwspec functions
To: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
Cc: Bertrand.Marquis@arm.com, Volodymyr_Babchuk@epam.com,
 rahul.singh@arm.com, brian.woods@xilinx.com,
 Stefano Stabellini <stefano.stabellini@xilinx.com>
References: <alpine.DEB.2.21.2108021720560.10122@sstabellini-ThinkPad-T480s>
 <20210803002409.19406-1-sstabellini@kernel.org>
From: Julien Grall <julien@xen.org>
Message-ID: <033509d4-4bb0-3862-d371-fe413acfa350@xen.org>
Date: Tue, 3 Aug 2021 10:33:38 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <20210803002409.19406-1-sstabellini@kernel.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 03/08/2021 01:24, Stefano Stabellini wrote:
> From: Brian Woods <brian.woods@xilinx.com>
> 
> Modify the smmu driver so that it uses the iommu_fwspec helper
> functions.  This means both ARM IOMMU drivers will both use the
> iommu_fwspec helper functions, making enabling generic device tree
> bindings in the SMMU driver much cleaner.
> 
> Signed-off-by: Brian Woods <brian.woods@xilinx.com>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
> Reviewed-by: Rahul Singh <rahul.singh@arm.com>

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

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 03 09:36:21 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 09:36:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163332.299211 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAqqS-0005ea-60; Tue, 03 Aug 2021 09:36:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163332.299211; Tue, 03 Aug 2021 09:36:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAqqS-0005eT-2g; Tue, 03 Aug 2021 09:36:20 +0000
Received: by outflank-mailman (input) for mailman id 163332;
 Tue, 03 Aug 2021 09:36: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 1mAqqR-0005eN-6X
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 09:36: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 1mAqqP-0000lZ-Pd; Tue, 03 Aug 2021 09:36:17 +0000
Received: from 54-240-197-226.amazon.com ([54.240.197.226]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mAqqP-00087j-Jt; Tue, 03 Aug 2021 09:36:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=we+wteo1OSw9TSA+8vpn2nrIygVFlicCEr2Va8IPts4=; b=hfO2SRIiDr4FpuvWP6gugYu3O6
	CCOIRPlPm6hjdNW1GgDFe3NPcQHNHIPVE6RLcVi3wZFJI9Y+8nM9n7OwGlXGLl+I4yrpLvgkisp4u
	P3mW2mPdsN74roJCqd/4RzUnf5KPVX6zN09zZsLgqV8MZ4Tbzm0RlRGvNPsXJJDbEHG0=;
Subject: Re: [PATCH v6 2/4] xen: do not return -EEXIST if iommu_add_dt_device
 is called twice
To: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
Cc: Bertrand.Marquis@arm.com, Volodymyr_Babchuk@epam.com,
 rahul.singh@arm.com, brian.woods@xilinx.com,
 Stefano Stabellini <stefano.stabellini@xilinx.com>
References: <alpine.DEB.2.21.2108021720560.10122@sstabellini-ThinkPad-T480s>
 <20210803002409.19406-2-sstabellini@kernel.org>
From: Julien Grall <julien@xen.org>
Message-ID: <3e0f1b26-784e-6b14-6a50-1355048ce27f@xen.org>
Date: Tue, 3 Aug 2021 10:36:15 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <20210803002409.19406-2-sstabellini@kernel.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 03/08/2021 01:24, Stefano Stabellini wrote:
> iommu_add_dt_device() returns -EEXIST if the device was already
> registered. At the moment, this can only happen if the device was
> already assigned to a domain (either dom0 at boot or via
> XEN_DOMCTL_assign_device).
> 
> In a follow-up patch, we will convert the SMMU driver to use the FW
> spec. When the legacy bindings are used, all the devices will be
> registered at probe. Therefore, iommu_add_dt_device() will always
> returns -EEXIST.

So this patch needs to be first in the series to avoid breaking 
bisection. I will re-order the patches on commit.

> 
> Currently, one caller (XEN_DOMCTL_assign_device) will check the return
> and ignore -EEXIST. All the other will fail because it was technically a
> programming error.
> 
> However, there is no harm to call iommu_add_dt_device() twice, so we can
> simply return 0.
> 
> With that in place the caller doesn't need to check -EEXIST anymore, so
> remove the check.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>

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

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 03 09:43:11 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 09:43:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163340.299222 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAqx0-000733-SQ; Tue, 03 Aug 2021 09:43:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163340.299222; Tue, 03 Aug 2021 09:43:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAqx0-00072w-PY; Tue, 03 Aug 2021 09:43:06 +0000
Received: by outflank-mailman (input) for mailman id 163340;
 Tue, 03 Aug 2021 09:43: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 1mAqx0-00072q-4q
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 09:43: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 1mAqwy-0000rM-Lj; Tue, 03 Aug 2021 09:43:04 +0000
Received: from 54-240-197-226.amazon.com ([54.240.197.226]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mAqwy-0000NX-F3; Tue, 03 Aug 2021 09:43: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:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=4i/8UVePwLBMk7MiLl7Jc7VRi9M3r0/hcL8tyoidL6c=; b=aMu9k+b539LOtCuiy31nsilD/8
	br8cCq7YL0ydb/TYkk6xgZMuPszV1Us4ATPyltNigmbNXQsy2eZOBmcbe43b4Jdwv5HmNcmxumBRL
	00TyWO3REiIMCjbry7NiAh96msjiw2Et5A6fu8v3T0X72+5sCTWppJ4TjurJot/7liKc=;
Subject: Re: [PATCH v6 0/4] Generic SMMU Bindings
To: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
Cc: Bertrand.Marquis@arm.com, Volodymyr_Babchuk@epam.com,
 rahul.singh@arm.com, brian.woods@xilinx.com
References: <alpine.DEB.2.21.2108021720560.10122@sstabellini-ThinkPad-T480s>
From: Julien Grall <julien@xen.org>
Message-ID: <767fa224-d385-7d89-552a-eb57d1ceea84@xen.org>
Date: Tue, 3 Aug 2021 10:43:02 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <alpine.DEB.2.21.2108021720560.10122@sstabellini-ThinkPad-T480s>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit



On 03/08/2021 01:23, Stefano Stabellini wrote:
> Hi all,

Hi Stefano,

> This series introduces support for the generic SMMU bindings to
> xen/drivers/passthrough/arm/smmu.c.

Committed.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 03 09:58:03 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 09:58:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163350.299251 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mArBP-0000Ld-Be; Tue, 03 Aug 2021 09:57:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163350.299251; Tue, 03 Aug 2021 09: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 1mArBP-0000LW-8U; Tue, 03 Aug 2021 09:57:59 +0000
Received: by outflank-mailman (input) for mailman id 163350;
 Tue, 03 Aug 2021 09:57:58 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xZZ2=M2=arm.com=Bertrand.Marquis@srs-us1.protection.inumbo.net>)
 id 1mArBN-0000LQ-Uv
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 09:57:58 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com (unknown
 [2a01:111:f400:7e1a::626])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 8def236c-17fa-4ffb-a007-5dc93af13fe8;
 Tue, 03 Aug 2021 09:57:55 +0000 (UTC)
Received: from DB6P192CA0004.EURP192.PROD.OUTLOOK.COM (2603:10a6:4:b8::14) by
 AM0PR08MB4932.eurprd08.prod.outlook.com (2603:10a6:208:162::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.15; Tue, 3 Aug
 2021 09:57:54 +0000
Received: from DB5EUR03FT053.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:b8:cafe::f4) by DB6P192CA0004.outlook.office365.com
 (2603:10a6:4:b8::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.18 via Frontend
 Transport; Tue, 3 Aug 2021 09:57:54 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT053.mail.protection.outlook.com (10.152.21.119) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4373.18 via Frontend Transport; Tue, 3 Aug 2021 09:57:54 +0000
Received: ("Tessian outbound 7b804b1d9bbf:v101");
 Tue, 03 Aug 2021 09:57:53 +0000
Received: from aa581bb14073.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 CB1C4DF6-E563-4177-9A64-AF9D3BF8A234.1; 
 Tue, 03 Aug 2021 09:57:47 +0000
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id aa581bb14073.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 03 Aug 2021 09:57:47 +0000
Received: from PAXPR08MB6446.eurprd08.prod.outlook.com (2603:10a6:102:12d::10)
 by PAXPR08MB6768.eurprd08.prod.outlook.com (2603:10a6:102:13c::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.21; Tue, 3 Aug
 2021 09:57:45 +0000
Received: from PAXPR08MB6446.eurprd08.prod.outlook.com
 ([fe80::3184:5465:27b6:f27d]) by PAXPR08MB6446.eurprd08.prod.outlook.com
 ([fe80::3184:5465:27b6:f27d%9]) with mapi id 15.20.4373.026; Tue, 3 Aug 2021
 09:57: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: 8def236c-17fa-4ffb-a007-5dc93af13fe8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+nzahrXByzpGYbIMpYSOk+iXtYtRQynxLBch6t8F2ag=;
 b=ePBWExkUDV9qyHs2Apa88C98x4Hv4jRqTbW9PccDYf+KPkbAeXecYnHJZLK3iMc11eNk0Ps3SHoTrCF6C8Q7dXBev6fJhCBdaEGFKahoMtkykVzTq/90/iISxm0pgEaI3y1pHV84Qau1CtITigl6ySdcPaCli3c13Ne2cg9z1Xo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: f73d070dfd558942
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AwWMbUJrZW66iNCjAF6O2Mh/Jgy86ulmyTG+hpJVBbO+BW4Uftnr81myUbULyZfcYkZZrGaEy6ZU6WSBFkjFYMq7BEuwn7makyScZtuIJ6sgxZ5w7Us1nmS3oLeuW+gSBqu3PqwxYvdIRZZ743jyeQNFM0EJ8LWDzwAGoVNfLqjVJq0c0C7FUXz4xcHZCeDHsPc+wWT3z8qg/DusHmqOoHFl6Lay3fmXCiRQCoLTO1N9t+FmkffG6sS7aW1EY4iaEhJenU7Nqjmp6LMo+zYXHmhizx/DiX6n3BY7KrN6FbAcGS2Hn0kBRkUQZrjOqfatQFncD2Wyaa8ovf85lpptMw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+nzahrXByzpGYbIMpYSOk+iXtYtRQynxLBch6t8F2ag=;
 b=AkZGJXd3oI4aZ8mBfDgoaViAEmlrBux8BoXiQpR99qt+5X5ILXRh3plBCnmZBUGvM4nKOheTSh6kJipsBEb/arj4LWs5wBmexBcLVQJRnCI4b7GGJ30VOHGAE2jkuPKiqFdlGusoPFo0n803xSl8WpGIui6K4SzqDU/dsXhPGFL9qxzWpoTVEIu0nHkM1xf5kCCMQDG2oRv+m7xd/Vust2iMFgfQ9kAdYaO5LSu05tmD7IecheZJWyJZCew/Y9mhBtmSC4R3nRp2ofg06Hb2xoASrpdd3qzqU2LAc7YzwdN9Y5ti1sQ8J0BfWZl73k4hquzzx6rhAvPX5Q6EbT1Tjw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+nzahrXByzpGYbIMpYSOk+iXtYtRQynxLBch6t8F2ag=;
 b=ePBWExkUDV9qyHs2Apa88C98x4Hv4jRqTbW9PccDYf+KPkbAeXecYnHJZLK3iMc11eNk0Ps3SHoTrCF6C8Q7dXBev6fJhCBdaEGFKahoMtkykVzTq/90/iISxm0pgEaI3y1pHV84Qau1CtITigl6ySdcPaCli3c13Ne2cg9z1Xo=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>
Subject: Re: [RFC PATCH 3/4] xen/arm: Sanitize cpuinfo ID registers fields
Thread-Topic: [RFC PATCH 3/4] xen/arm: Sanitize cpuinfo ID registers fields
Thread-Index: AQHXbQmqqZ2dUoMblUy//wgHf+AX8qs/M8QAgAa+XICABCxbgIAXo3WA
Date: Tue, 3 Aug 2021 09:57:45 +0000
Message-ID: <51F735B0-A008-4A12-B53D-2CE3A88D9274@arm.com>
References: <cover.1624974370.git.bertrand.marquis@arm.com>
 <b9c86a28df2bddca095ae02511ced09585dce164.1624974370.git.bertrand.marquis@arm.com>
 <4014ca20-b3b6-cd39-9b26-d1dd8e9b568c@xen.org>
 <A8304A17-E59A-4C40-A9FA-6EF49B58AC54@arm.com>
 <144614cf-575c-9580-065e-31792e350359@xen.org>
In-Reply-To: <144614cf-575c-9580-065e-31792e350359@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.3654.120.0.1.13)
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 6abf6499-8dd7-4b1e-022f-08d9566529a7
x-ms-traffictypediagnostic: PAXPR08MB6768:|AM0PR08MB4932:
X-Microsoft-Antispam-PRVS:
	<AM0PR08MB4932D88BD60844DD828C9AC89DF09@AM0PR08MB4932.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:285;OLM:285;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 7Ne69aPQq/QKfEQZFPUK+8c64ZRHGm0w+HgnID2XPFk3urya0GiK92STXyOnjUfUAsZh3ZElo53uDVc/Y/7kjXJu3y8/iy4kQj4hH8l21jV8Bz3xR6dUZh+EtAXn6UKNhRUmd75vvCOLW11q7oBTmjP0aYxKg4taBAdVYhV45/89DofzpcW/xOxfy4AN5+Dllsr0jmOZkXMGuc9ZQ0DQzHHHGR6oZ5Ac7eYAAMc3YXBymrEwam8Bdhz5VzzvuFrGKR7ghTHpEF5MmSB9wXZP2vLA9M4SkgdqijSXCBD3qxvWJBZsJtS45h7czwe+l8mN06nKBreStCksRPrAkmiR70O3FdlR+PIG88MfaR+Thn8uwv1n2FrHjbuHAjLGTF2vAAFwILhcTdmjjwNJ7koZvPUObyY2RKEno5Zyof0AvmJNvT6Sv714ibl+x/aH3xX6483deH6g8TLvZt5ic+SqjlDH4sGko0DXKm9H3402JSKF3hqZ915vr5m87Y16Ggvvpg1ui7Ae8XvAYy5oxDKDUcoT6Wt5602DxZrANOYmY92JBl6RIi4mnqeJQKzR1n71c5UeXnrEj9ETcX+Ams6guy6UFmCIAhsZRBG+614RvvCXjcirRbhNhCJm2z9eetXPrWwh30p/VkR2QzuAOrCtlPEtvHedQCJgsI4SrjsHpudAI56peDVOrLA1pIdgoXTZFd/tjHUL1yfrNQNS5AgNwS//9T4lvklK/c+pRnnZWPEIbVH6i1GBSOlzrZPL8NYv
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB6446.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(39860400002)(376002)(346002)(366004)(396003)(136003)(76116006)(91956017)(36756003)(54906003)(8936002)(6512007)(6486002)(6506007)(53546011)(86362001)(66446008)(64756008)(122000001)(66556008)(66476007)(66946007)(478600001)(8676002)(316002)(2616005)(38100700002)(186003)(26005)(33656002)(38070700005)(5660300002)(6916009)(83380400001)(4326008)(71200400001)(2906002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?a2xOcytDZktGZ0REWHFVWFRsblRjb0prd0NZUmszekVhc2NEZHFGQlowNUtH?=
 =?utf-8?B?R1ZtWFVYMW9idlVyb1VqUE5LRXdBeXRqWU9MQkRlS3dtMG52alV5bmZuVzBX?=
 =?utf-8?B?WWhndG9yU1ZQUlNHNnlVOW9NRDVlTm1RUm51aWNUSmhWV2VIVytTd0NDMVdz?=
 =?utf-8?B?RFZBdjA3MndqNzBrTHJpUEFPeFpFQVhSaCtDWGdnR2lCL2txV3lNV1RNRHYw?=
 =?utf-8?B?eTU2QnRGUjBTZjlVdmhNWE5FVnNuSC9pUFRNNWNQL0djK0Z5a2pGcXdxUnFQ?=
 =?utf-8?B?WGF0MkVoNHllWnY2N1kzU1lVd3VoZnVqeDhhZUVTRWlsRkxmVEI0RlVDb0NI?=
 =?utf-8?B?VTlJMmtIVGZIL2s2elQ2aVRrZVJYem1Mall6SWhKMjE3MTFJdjhBV2lhOGdW?=
 =?utf-8?B?cjBBYVE4aFZCclV0ZG51S0oxekFxQVhFRmZQL2FnQ29CVGVZSFQrNmJ5alRl?=
 =?utf-8?B?RGRwNGl5YXpDaTJTZ3doR0NEQXJTa2hhUE81L0U5OER2NEVlSnk5dDdyWXpa?=
 =?utf-8?B?ZkczNDhibk43VzhaL2xaYmoyMXliOUdiWnlLNXoyV0oxSlFHV2dBS3hBcndo?=
 =?utf-8?B?RFNDcnN5WnhRS1A4VnRIRFBnbGE5VUtaOXd1RlNNZGQwMHZYdUtQMUUxK3BW?=
 =?utf-8?B?cmN5SENPVU9uZTZGVWxtUzNUWmtyNlQ0Y1hxN1NQbE9WdHo4c1A5UG1YYXRY?=
 =?utf-8?B?K05uWHVSWGhUczNlRHhEaktiRXhFejBZTEhna1Mvd0hCM2xpaEJ0RVVVNmFF?=
 =?utf-8?B?NzZXVUpPNzAxODh0UkJRSTdjRGdVZUdUUms5UmsvbXo1bDRSTkJoRnVqUXZh?=
 =?utf-8?B?dTgxV1c1U3FURHB4Sk1yR0p4T1FSVjZ1TEVMbjJrdm5FZzJPbWllWGNuMGhQ?=
 =?utf-8?B?NS82MXVoZGw5VDN2eHMwMmRpUENHQ3JSWTZWdlk1TmUzQlRsWTBNVEEwUFZP?=
 =?utf-8?B?c2hWNHZnVDlhSVdVVEVUVEd2T0tBaUxYN2ZyRGRFdytJR0w5T3paRng0NlIz?=
 =?utf-8?B?T254aVFZak10L2Y2UCttZjZ4TmZ2c1UxUS93YU1OTDNwMUd2dm5ycmJqNVBC?=
 =?utf-8?B?b3RCdlNWa0hYTy9HWVBvWGNIbE5Dc3ZsK2FIV1ZRTndqRGdjdDlOSXp3ZEZw?=
 =?utf-8?B?R2xkTGNaOC9iRlZmTjhSVWRpSTFPY2VPSjRnWUs2bi9MeTNGMEhjaU1SSFJp?=
 =?utf-8?B?aHdGR2xCQ1hNZjZQNndPVWQzZk1jRmRWY0prOEZER1MwclR6TW5DY2lMN3JJ?=
 =?utf-8?B?eElkR092WjVNQVgwSk9mcXhJMWhVWE9rd2dXUWZvS254eWp2M0luUjhBbkdS?=
 =?utf-8?B?aG1TdWJ5emhlZVJCeHVaeFQ5NXZ3Rk8yN2VjL2V6VGxZd3l6cFJaVlFTY2pL?=
 =?utf-8?B?OXd0cTNablUyZTZUSERnZlJtRWl1Q1BmOFdTd2Z3cGhzK0ZJeUU5N2RYVG9T?=
 =?utf-8?B?WmNEdUl3UDF2cHh0WGViMHNuR2N2V2Nrek0vcXRYdEVvUHA4R1FHOVFMWGZh?=
 =?utf-8?B?MVNPajRSRmlUSDJ6cjBEZGZ0ZjdMZGxPMnIwVUc2TU1TME5zdWFlejVsUHJS?=
 =?utf-8?B?RFpKcmVnRWxMUGxZQjhmaU1xSkpzWnlwVGNzRUovU3JCL2p5UjZ0UXhPanM0?=
 =?utf-8?B?MWFWa1ZxdUpKeDBEZS93MVdUNE9OT2p3SFpUbDd6KzZUYWVXbUlZeXJIQjFF?=
 =?utf-8?B?YkFLYXFXTmpveXBQWkExRGJjZUJjaHpBTEFTM0FFV1NMa3VmS0tOZEFGK3Js?=
 =?utf-8?Q?9njwUCZMFMrkGEqCeMokd5czEdsS8wZ84ks+KHU?=
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-ID: <AD891259A0B34A4491662EA919986A8C@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6768
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT053.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	fae2af79-dd88-4934-3961-08d9566524b6
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	J2LPrIPT5F+03LqGrwlUxNBZoriOKNqswclH5qAgjL2KNOzlBpeEHLmbqPlodJmNQ90VHZy6kon3wa/yXrNkNcy2mojstLGBZNEdGm+oc4M+O1gCDK6CdQfADAt1f1ZDyma4hW0817Ur8V+bgCwWFq5iAatsGqjX2//yKhhTXS+VnOrpuYCJ8PTTkV6b4nLixA93CoBtlvq+dWqYLwBXbzHHgg8mH5p0lPWYYhFwN6Jye0TFdqHb1IgHpfei8bla3z/qvKEtknr/d+1ZaexJjrSCvm/g+tOVo5n3iAEb2aOByF9/DG0ntA42jA3HqegwZ15S4oD1gVaH3+KqmrNWPL/TICq2QUHm/1uSpEFSqL2VN0NGxQAdoiE/dXdVh4OZSIqJazWwoiTwubGqlVsbk3HQ72c99bUEvB38z7V+gTKdZX+95RLNQ7E+od8i0thLdfdLODiUTWwx1UKXlJyXrnPxZJxHeYDuvNNsvrcmmqNvP0PQ+J9P83Ki+Zo1RSI6ks6N5I8fm/HeXKybhFutq9GmOiZzqc2UwrUXrXfLAP269uw/PN3r2HtMPlMo932Xx1ZASQFxkeYoryJ/V1DzQH6IYDDi1SZnuUoZZGxw4tODif9B63pCJfbAaalzJenXy12x4zWY3Mh2V0j9GaumgagQg8GBXT5RONV/2Mbn0CicF5gCCheQ5er8ET7oGroHjzicKrKj9nlh9OGNMTfACw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(46966006)(36840700001)(82310400003)(6862004)(83380400001)(186003)(47076005)(356005)(70206006)(2616005)(107886003)(54906003)(2906002)(316002)(36860700001)(70586007)(6486002)(33656002)(4326008)(6506007)(6512007)(86362001)(336012)(81166007)(26005)(36756003)(5660300002)(8936002)(508600001)(8676002)(53546011);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2021 09:57:54.0062
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6abf6499-8dd7-4b1e-022f-08d9566529a7
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT053.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB4932

SGkgSnVsaWVuLA0KDQo+IE9uIDE5IEp1bCAyMDIxLCBhdCAwOTo1OCwgSnVsaWVuIEdyYWxsIDxq
dWxpZW5AeGVuLm9yZz4gd3JvdGU6DQo+IA0KPiANCj4gDQo+IE9uIDE2LzA3LzIwMjEgMTg6MTQs
IEJlcnRyYW5kIE1hcnF1aXMgd3JvdGU6DQo+PiBIaSBKdWxpZW4NCj4gDQo+IEhpIEJlcnRyYW5k
LA0KPiANCj4+IFvigKZdDQo+Pj4+IA0KPj4+PiArDQo+Pj4+ICsgICAgaWYgKCBvbGRfcmVnICE9
IG5ld19yZWcgKQ0KPj4+PiArICAgICAgICBwcmludGsoWEVOTE9HX0RFQlVHICJTQU5JVFkgRElG
OiAlcyAweCUiUFJJeDY0IiAtPiAweCUiUFJJeDY0IlxuIiwNCj4+Pj4gKyAgICAgICAgICAgICAg
IHJlZ19uYW1lLCBvbGRfcmVnLCBuZXdfcmVnKTsNCj4+Pj4gKyAgICBpZiAoIG9sZF9yZWcgIT0g
KmN1cl9yZWcgKQ0KPj4+PiArICAgICAgICBwcmludGsoWEVOTE9HX0RFQlVHICJTQU5JVFkgRklY
OiAlcyAweCUiUFJJeDY0IiAtPiAweCUiUFJJeDY0IlxuIiwNCj4+Pj4gKyAgICAgICAgICAgICAg
IHJlZ19uYW1lLCBvbGRfcmVnLCAqY3VyX3JlZyk7DQo+Pj4+ICsNCj4+Pj4gKyAgICBpZiAoIHRh
aW50ICkNCj4+Pj4gKyAgICB7DQo+Pj4+ICsgICAgICAgIHByaW50ayhYRU5MT0dfV0FSTklORyAi
U0FOSVRZIENIRUNLOiBVbmV4cGVjdGVkIHZhcmlhdGlvbiBpbiAlcy5cbiIsDQo+Pj4+ICsgICAg
ICAgICAgICAgICAgcmVnX25hbWUpOw0KPj4+PiArICAgICAgICBhZGRfdGFpbnQoVEFJTlRfQ1BV
X09VVF9PRl9TUEVDKTsNCj4+Pj4gKyAgICB9DQo+Pj4+ICt9DQo+Pj4+ICsNCj4+Pj4gKw0KPj4+
PiArLyoNCj4+Pj4gKyAqIFRoaXMgZnVuY3Rpb24gc2hvdWxkIGJlIGNhbGxlZCBvbiBzZWNvbmRh
cnkgY29yZXMgdG8gc2FuaXRpemUgdGhlIGJvb3QgY3B1DQo+Pj4+ICsgKiBjcHVpbmZvLg0KPj4+
IA0KPj4+IENhbiB3ZSByZW5hbWVkIGJvb3RfY3B1X2RhdGEgdG8gc3lzdGVtX2NwdWluZm8gKG9y
IHNvbWV0aGluZyBzaW1pbGFyKT8gVGhpcyB3b3VsZCBtYWtlIGNsZWFyIHRoaXMgaXMgbm90IG9u
bHkgdGhlIGZlYXR1cmVzIGZvciB0aGUgYm9vdCBDUFU/DQo+PiBXaGlsZSBsb29raW5nIGF0IHRo
aXMgcmVxdWVzdCwgSSBjaGVja2VkIGEgYml0IGhvdyBib290X2NwdV9kYXRhIGFuZCBjcHVfZGF0
YSBvdmVyYWxsIGFyZSB1c2VkOg0KPj4gLSBib290X2NwdV9kYXRhIGlzIG9ubHkgdXNlZCBpbiBz
ZXR1cC5jLCBieSBib290X2NwdV9mZWF0dXJlcyBtYWNyb3MsIGluIHNtcGJvb3QgdG8gcmV0cmll
dmUgdGhlIGJvb3RjcHUgbWlkciwgaW4gcDJtIGFuZCBieSBjcHVmZWF0dXJlcw0KPj4gLSBjcHVf
ZGF0YVtdIGlzIHVzZWQgaW4gc21wYm9vdCwgaW4gZXJyYXRhIGhhbmRsaW5nIHRvIHRlc3QgZm9y
IGNzdjIsIGFuZCBpbiB2Y3ByZWcgdG8gYWNjZXNzIHRoZSBtaWRyDQo+PiBTbyB3ZSBoYXZlIGEg
YnVuY2ggb2YgY3B1aW5mbyBzdHJ1Y3R1cmVzIGFzIGdsb2JhbCB2YXJpYWJsZXMgYnV0IG1vc3Qg
b2YgdGhlbSBhcmUgbm90IHJlYWxseSB1c2VkIG9yIGRpZCBJIG1pc3Mgc29tZXRoaW5nID8NCj4g
DQo+IFdoaWxlIEkgYWdyZWUgdGhpcyBpcyBub3QgdXNlZnVsIHRvZGF5LCB0aGUgaWRlYSBpcyB3
ZSBjYW4gZmluZCBlYXNpbHkgd2hhdCBmZWF0dXJlcyBlYWNoIHByb2Nlc3NvciBzdXBwb3J0cy4g
VGhpcyBjb3VsZCBiZSB1c2VmdWwgaWYgd2Ugd2FudGVkIHRvIGV4cG9zZSBiaWcuTElUVExFIHRv
IHRoZSBndWVzdC4NCj4gDQo+IEZvciBpbnN0YW5jZSwgaW1hZ2luZSB5b3UgaGF2ZSBhIHN5c3Rl
bSB3aGVyZSBzb21lIHByb2Nlc3NvciBtYXkgc3VwcG9ydCAzMi1iaXQgRUwxIG9ubHkgb24gc29t
ZSBwcm9jZXNzb3IuIFdpdGggYSBnbG9iYWwgYXBwcm9hY2gsIHdlIHdvdWxkIHNheSAiMzItYml0
IEVMMSBpcyBub3Qgc3VwcG9ydGVkIi4gVGhhdCB3b3VsZCBwcmV2ZW50IGEgdXNlciB0byB1c2Ug
dGhlIHN5c3RlbSB0byBpdHMgZnVsbCBhZHZhbnRhZ2UuDQo+IA0KPiBOb3RlIHRoYXQgSSBhbSBu
b3QgYXNraW5nIHRvIGltcGxlbWVudCBzdWNoIHRoaW5ncyB0b2RheS4uLiBUaGlzIGlzIG1vcmUg
dG8gc2hvdyB0aGF0IHdlIHdpbGwgbGlrZWx5IHdhbnQgdG8ga2VlcCB0aGUgcGVyLUNQVSBpbmZv
IGFyb3VuZC4NCj4gDQo+IFRoZSBzeXN0ZW1fY3B1aW5mbyBjb3VsZCBiZSB1c2VkIGZvciBzeXN0
ZW0gd2lkZSBkZWNpc2lvbiBpbiBYZW4gKGUuZy4gUDJNIHNpemUsIGNhY2hlbGluZSBzaXplLi4u
Likgd2hpbGUgdGhlIHBlci1DUFUgY291bGQgYmUgdXNlZCB0byBlbmFibGUgZmVhdHVyZXMgb25s
eSB1c2VkIGJ5IGEgY291cGxlIG9mIENQVXMuDQoNCkkgdW5kZXJzdGFuZCB0aGUgcG90ZW50aWFs
IG5lZWQgKGV2ZW4gdGhvdWdoIHN1cHBvcnRpbmcgdG8gYXNzaWduIGd1ZXN0IENQVXMgZGVwZW5k
aW5nIG9uIGZlYXR1cmVzIG5lZWRlZCB3b3VsZCBiZSBzb21ldGhpbmcgY29tcGxleCB0byBhY2hp
ZXZlKS4NCg0KPiANCj4+IFNvIEkgYW0gd29uZGVyaW5nIGlmIHdlIHNob3VsZCBub3QgcmVkdWNl
IGEgYml0IHRoZSBhbW91bnQgb2YgZ2xvYmFsIGRhdGEgYW5kOg0KPiANCj4gSG93IG11Y2ggYXJl
IHdlIHRhbGtpbmc/DQoNCldlIGFyZSBkZWNsYXJpbmcgY3B1aW5mbyBmb3IgYWxsIHBvc3NpYmxl
IGNvcmVzIGluIHNtcGJvb3Q6DQpzdHJ1Y3QgY3B1aW5mb19hcm0gY3B1X2RhdGFbTlJfQ1BVU107
DQpBbmQgZGVmYXVsdCB2YWx1ZSBmb3IgTlJfQ1BVUyBpcyAxMjggc28gdGhhdCBtYWtlcyBhcm91
bmQgOWsgb2YgZGF0YS4NCg0KVGhpcyBpcyBub3QgdGhhdCBtdWNoIEkgYWdyZWUuDQoNCg0KPiAN
Cj4+IC0gaW50cm9kdWNlIGEgZ2xvYmFsIHN5c3RlbV9jcHVpbmZvDQo+PiAtIHJlbW92ZSBjcHVf
ZGF0YVtdIGFuZCB1c2UgYSB0ZW1wIHN0cnVjdHVyZSBpbiB0aGUgc3RhY2sgb2YgdGhlIGNwdSBi
b290aW5nDQo+PiAtIHJlYWQgbWlkciBkaXJlY3RseSBpbiB2Y3ByZWcNCj4+IC0gdXNlIGJvb3Rf
Y3B1X2RhdGEgaW4gZXJyYXRhIGZvciBjc3YyDQo+IA0KPiBUaGlzIHdvdWxkIG5vdCBiZSBxdWl0
ZSB0aGUgc2FtZS4gWW91IG1heSBoYXZlIGEgc3lzdGVtIHdoZXJlIG5vdCBhbGwgcHJvY2Vzc29y
cyBoYXZlIElEX0FBNjRQRlIwX0VMMS5DU1YyIGlzIHNldCwgeWV0IHdlIHdhbnQgdG8gYXZvaWQg
c2V0dGluZyB0aGUgaGFyZGVuaW5nIHZlY3RvciBvbiBwcm9jZXNzIHdpdGggdGhlIGJpdCBzZXQg
dG8gcmVkdWNlIHRoZSBvdmVyaGVhZC4NCg0KQWdyZWUgYW5kIHdpdGggdGhlIGFjdHVhbCBzaXpl
IHJlZHVjdGlvbiBiZWluZyBxdWl0ZSBzbWFsbCB0aGlzIGRvZXMgbm90IG1ha2Ugc2Vuc2UuDQoN
ClRoYW5rcyBhIGxvdCBmb3IgdGhlIGZlZWRiYWNrLCBJIHdpbGwgZ28gb24gd2l0aCB0aGUgc3lz
dGVtX2NwdWluZm8gYW5kIGlzLg0KDQpDaGVlcnMNCkJlcnRyYW5kDQoNCj4gDQo+IENoZWVycywN
Cj4gDQo+IC0tIA0KPiBKdWxpZW4gR3JhbGwNCg0K


From xen-devel-bounces@lists.xenproject.org Tue Aug 03 10:02:06 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 10:02:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163358.299262 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mArFN-0001qj-W1; Tue, 03 Aug 2021 10:02:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163358.299262; Tue, 03 Aug 2021 10: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 1mArFN-0001qc-T2; Tue, 03 Aug 2021 10:02:05 +0000
Received: by outflank-mailman (input) for mailman id 163358;
 Tue, 03 Aug 2021 10:02:05 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=E5WV=M2=pengutronix.de=ukl@srs-us1.protection.inumbo.net>)
 id 1mArFN-0001qW-Fi
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 10:02:05 +0000
Received: from metis.ext.pengutronix.de (unknown
 [2001:67c:670:201:290:27ff:fe1d:cc33])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 763a323c-6016-4e8a-86a3-23483677accb;
 Tue, 03 Aug 2021 10:02:03 +0000 (UTC)
Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2])
 by metis.ext.pengutronix.de with esmtps
 (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92)
 (envelope-from <ukl@pengutronix.de>)
 id 1mArFF-0002yK-1Z; Tue, 03 Aug 2021 12:01:57 +0200
Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de)
 by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.92)
 (envelope-from <ukl@pengutronix.de>)
 id 1mArFB-0006FC-Q0; Tue, 03 Aug 2021 12:01:53 +0200
Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.92)
 (envelope-from <ukl@pengutronix.de>)
 id 1mArFB-0002mx-P3; Tue, 03 Aug 2021 12:01:53 +0200
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 763a323c-6016-4e8a-86a3-23483677accb
From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: kernel@pengutronix.de,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-pci@vger.kernel.org,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v2 3/6] xen/pci: Drop some checks that are always true
Date: Tue,  3 Aug 2021 12:01:47 +0200
Message-Id: <20210803100150.1543597-4-u.kleine-koenig@pengutronix.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20210803100150.1543597-1-u.kleine-koenig@pengutronix.de>
References: <20210803100150.1543597-1-u.kleine-koenig@pengutronix.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
X-Patch-Hashes: v=1; h=sha256; i=7QOFRnoxyPrPqaGt2Yf8oJvx3xwgCvlMdm130sPrxr8=; m=ojqh7TeVkHwpwgO0APbKXx7TaW1tocUcc4q06uRihVU=; p=Til3JjZD0R4gplASRUa5Gvns+JXDZlmvpK9q4VqFRVc=; g=9e481f95a51887868b05f8a86c3e5a9f8aff47c6
X-Patch-Sig: m=pgp; i=u.kleine-koenig@pengutronix.de; s=0x0D2511F322BFAB1C1580266BE2DCDD9132669BD6; b=iQEzBAABCgAdFiEEfnIqFpAYrP8+dKQLwfwUeK3K7AkFAmEJE/4ACgkQwfwUeK3K7AmCWwgAj7/ c9kaXIx6z27810hsxjtVlPEhRfsu4sbg9ayL550B6MBEGBaCBGWgU5DWEuS2o904kSeiEhPX++yK1 1haqzK6dY6sn8vyszQRvBtq9CO8GUF6oZHjUOW2GnEAz1F7cbtIJCHypxfkUmcccbsa786DvxhKph lW0YxXeCEn0hb7bvwUi8yIWnjTXXnfEgoZ+3qF+8hFSdwIBZimeWLoc63O4TUGznfuSdbWMJi4Y0V lEGg9znKbGJO7kHuIevqk5V07oZOBlBWYh7OZqFPE8+l5Du12X6zR4e2VjK2NRNsvpniWfTRGWIU2 fUvCCg1pb/kU7QVIjQMOk4rFNEJRprQ==
Content-Transfer-Encoding: 8bit
X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2
X-SA-Exim-Mail-From: ukl@pengutronix.de
X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false
X-PTX-Original-Recipient: xen-devel@lists.xenproject.org

pcifront_common_process() has a check at the start that exits early if
pcidev or pdidev->driver are NULL. So simplify the following code by not
checking these two again.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
 drivers/pci/xen-pcifront.c | 57 +++++++++++++++++---------------------
 1 file changed, 25 insertions(+), 32 deletions(-)

diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c
index b7a8f3a1921f..3c648e6cb8f8 100644
--- a/drivers/pci/xen-pcifront.c
+++ b/drivers/pci/xen-pcifront.c
@@ -591,7 +591,6 @@ static pci_ers_result_t pcifront_common_process(int cmd,
 	int devfn = pdev->sh_info->aer_op.devfn;
 	int domain = pdev->sh_info->aer_op.domain;
 	struct pci_dev *pcidev;
-	int flag = 0;
 
 	dev_dbg(&pdev->xdev->dev,
 		"pcifront AER process: cmd %x (bus:%x, devfn%x)",
@@ -606,40 +605,34 @@ static pci_ers_result_t pcifront_common_process(int cmd,
 	}
 	pdrv = pcidev->driver;
 
-	if (pdrv) {
-		if (pdrv->err_handler && pdrv->err_handler->error_detected) {
-			pci_dbg(pcidev, "trying to call AER service\n");
-			if (pcidev) {
-				flag = 1;
-				switch (cmd) {
-				case XEN_PCI_OP_aer_detected:
-					result = pdrv->err_handler->
-						 error_detected(pcidev, state);
-					break;
-				case XEN_PCI_OP_aer_mmio:
-					result = pdrv->err_handler->
-						 mmio_enabled(pcidev);
-					break;
-				case XEN_PCI_OP_aer_slotreset:
-					result = pdrv->err_handler->
-						 slot_reset(pcidev);
-					break;
-				case XEN_PCI_OP_aer_resume:
-					pdrv->err_handler->resume(pcidev);
-					break;
-				default:
-					dev_err(&pdev->xdev->dev,
-						"bad request in aer recovery "
-						"operation!\n");
-
-				}
-			}
+	if (pdrv->err_handler && pdrv->err_handler->error_detected) {
+		pci_dbg(pcidev, "trying to call AER service\n");
+		switch (cmd) {
+		case XEN_PCI_OP_aer_detected:
+			result = pdrv->err_handler->
+				 error_detected(pcidev, state);
+			break;
+		case XEN_PCI_OP_aer_mmio:
+			result = pdrv->err_handler->
+				 mmio_enabled(pcidev);
+			break;
+		case XEN_PCI_OP_aer_slotreset:
+			result = pdrv->err_handler->
+				 slot_reset(pcidev);
+			break;
+		case XEN_PCI_OP_aer_resume:
+			pdrv->err_handler->resume(pcidev);
+			break;
+		default:
+			dev_err(&pdev->xdev->dev,
+				"bad request in aer recovery "
+				"operation!\n");
 		}
+
+		return result;
 	}
-	if (!flag)
-		result = PCI_ERS_RESULT_NONE;
 
-	return result;
+	return PCI_ERS_RESULT_NONE;
 }
 
 
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Aug 03 10:03:44 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 10:03:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163364.299274 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mArGu-0002SI-BJ; Tue, 03 Aug 2021 10:03:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163364.299274; Tue, 03 Aug 2021 10:03:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mArGu-0002SB-81; Tue, 03 Aug 2021 10:03:40 +0000
Received: by outflank-mailman (input) for mailman id 163364;
 Tue, 03 Aug 2021 10:03:39 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=E5WV=M2=pengutronix.de=ukl@srs-us1.protection.inumbo.net>)
 id 1mArGt-0002S5-1w
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 10:03:39 +0000
Received: from metis.ext.pengutronix.de (unknown
 [2001:67c:670:201:290:27ff:fe1d:cc33])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 817d2afe-a59d-40a8-af49-37c0bfb70126;
 Tue, 03 Aug 2021 10:03:38 +0000 (UTC)
Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2])
 by metis.ext.pengutronix.de with esmtps
 (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92)
 (envelope-from <ukl@pengutronix.de>)
 id 1mArFM-0002yL-C1; Tue, 03 Aug 2021 12:02:04 +0200
Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de)
 by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.92)
 (envelope-from <ukl@pengutronix.de>)
 id 1mArFC-0006FF-3O; Tue, 03 Aug 2021 12:01:54 +0200
Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.92)
 (envelope-from <ukl@pengutronix.de>)
 id 1mArFC-0002nA-04; Tue, 03 Aug 2021 12:01: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: 817d2afe-a59d-40a8-af49-37c0bfb70126
From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: kernel@pengutronix.de,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-pci@vger.kernel.org,
	Michael Ellerman <mpe@ellerman.id.au>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	Russell Currey <ruscur@russell.cc>,
	"Oliver O'Halloran" <oohall@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@redhat.com>,
	Namhyung Kim <namhyung@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Borislav Petkov <bp@alien8.de>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	=?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5@gmail.com>,
	Zhou Wang <wangzhou1@hisilicon.com>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	"David S. Miller" <davem@davemloft.net>,
	Giovanni Cabiddu <giovanni.cabiddu@intel.com>,
	Sathya Prakash <sathya.prakash@broadcom.com>,
	Sreekanth Reddy <sreekanth.reddy@broadcom.com>,
	Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>,
	Frederic Barrat <fbarrat@linux.ibm.com>,
	Andrew Donnellan <ajd@linux.ibm.com>,
	Arnd Bergmann <arnd@arndb.de>,
	Yisen Zhuang <yisen.zhuang@huawei.com>,
	Salil Mehta <salil.mehta@huawei.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Vadym Kochan <vkochan@marvell.com>,
	Taras Chornyi <tchornyi@marvell.com>,
	Jiri Pirko <jiri@nvidia.com>,
	Ido Schimmel <idosch@nvidia.com>,
	Simon Horman <simon.horman@corigine.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michael Buesch <m@bues.ch>,
	Mathias Nyman <mathias.nyman@intel.com>,
	Fiona Trahe <fiona.trahe@intel.com>,
	Andy Shevchenko <andriy.shevchenko@intel.com>,
	Wojciech Ziemba <wojciech.ziemba@intel.com>,
	Alexander Duyck <alexanderduyck@fb.com>,
	linuxppc-dev@lists.ozlabs.org,
	linux-kernel@vger.kernel.org,
	linux-perf-users@vger.kernel.org,
	linux-wireless@vger.kernel.org,
	linux-crypto@vger.kernel.org,
	qat-linux@intel.com,
	MPT-FusionLinux.pdl@broadcom.com,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	oss-drivers@corigine.com,
	xen-devel@lists.xenproject.org,
	linux-usb@vger.kernel.org
Subject: [PATCH v2 4/6] PCI: Provide wrapper to access a pci_dev's bound driver
Date: Tue,  3 Aug 2021 12:01:48 +0200
Message-Id: <20210803100150.1543597-5-u.kleine-koenig@pengutronix.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20210803100150.1543597-1-u.kleine-koenig@pengutronix.de>
References: <20210803100150.1543597-1-u.kleine-koenig@pengutronix.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
X-Patch-Hashes: v=1; h=sha256; i=7QyPcwdZ4NY+Kamu1yuALIDREdHsFlSri/yk8rxG5RU=; m=efVkvKukHsBB4PwEUkp1fcCPAc6GyqodQBQ/wT0SBJU=; p=/gl5i/UU1Dx09yWOtLon+pQ4jNTmCE0Y+RzjPzQvvpA=; g=9669558ff758fb0bb7e9379b94e233c729d3a4b8
X-Patch-Sig: m=pgp; i=u.kleine-koenig@pengutronix.de; s=0x0D2511F322BFAB1C1580266BE2DCDD9132669BD6; b=iQEzBAABCgAdFiEEfnIqFpAYrP8+dKQLwfwUeK3K7AkFAmEJFAEACgkQwfwUeK3K7AkEDAf9FkM yYEH0uPWXjAlXFjWJg/qs1OjQZAytoASxLwmE7IwWg35kI/m1h/u2a2AVZWn+jaVHX3HODjoadxTn URZHNuJTI8vyJ54sQhdWu1XQAhM6hQXMH+VT5+sGSr6ef22DBYjejzITU3/dQmbXd5bgxHmE4qZs9 AmMZlyF3h+R4zSeZ0XiQH4ZgZZbxWVvcTc+1Nrp5kiounCsd0W2hQGCJeeLjt6mxggPqplrDkaEyC 1q0Gc6KhA26FWFEJQk/kKyDRSWF9Wgopqjwre5M4S6Stwz1lcOE74RvqFEPXeM/WWzw2fp7bt95sa h9z/Mj0ADvJRNNvlyk8x8kpwN0o6vdw==
Content-Transfer-Encoding: 8bit
X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2
X-SA-Exim-Mail-From: ukl@pengutronix.de
X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false
X-PTX-Original-Recipient: xen-devel@lists.xenproject.org

Which driver a device is bound to is available twice: In struct
pci_dev::dev->driver and in struct pci_dev::driver. To get rid of the
duplication introduce a wrapper to access struct pci_dev's driver
member. Once all users are converted the wrapper can be changed to
calculate the driver using pci_dev::dev->driver.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
 include/linux/pci.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/include/linux/pci.h b/include/linux/pci.h
index 540b377ca8f6..778f3b5e6f23 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -887,6 +887,7 @@ struct pci_driver {
 };
 
 #define	to_pci_driver(drv) container_of(drv, struct pci_driver, driver)
+#define pci_driver_of_dev(pdev) ((pdev)->driver)
 
 /**
  * PCI_DEVICE - macro used to describe a specific PCI device
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Aug 03 10:03:45 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 10:03:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163365.299287 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mArGz-0002kg-Kg; Tue, 03 Aug 2021 10:03:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163365.299287; Tue, 03 Aug 2021 10: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 1mArGz-0002kZ-HX; Tue, 03 Aug 2021 10:03:45 +0000
Received: by outflank-mailman (input) for mailman id 163365;
 Tue, 03 Aug 2021 10:03:43 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=E5WV=M2=pengutronix.de=ukl@srs-us1.protection.inumbo.net>)
 id 1mArGx-0002S5-T5
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 10:03:43 +0000
Received: from metis.ext.pengutronix.de (unknown
 [2001:67c:670:201:290:27ff:fe1d:cc33])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 770d24ff-cec3-495a-8484-7544c9b9c9ee;
 Tue, 03 Aug 2021 10:03:38 +0000 (UTC)
Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2])
 by metis.ext.pengutronix.de with esmtps
 (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92)
 (envelope-from <ukl@pengutronix.de>)
 id 1mArFM-0002yH-C3; Tue, 03 Aug 2021 12:02:04 +0200
Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de)
 by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.92)
 (envelope-from <ukl@pengutronix.de>)
 id 1mArFB-0006F1-AC; Tue, 03 Aug 2021 12:01:53 +0200
Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.92)
 (envelope-from <ukl@pengutronix.de>)
 id 1mArFB-0002le-6C; Tue, 03 Aug 2021 12:01:53 +0200
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 770d24ff-cec3-495a-8484-7544c9b9c9ee
From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: kernel@pengutronix.de,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-pci@vger.kernel.org,
	Michael Ellerman <mpe@ellerman.id.au>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	Russell Currey <ruscur@russell.cc>,
	"Oliver O'Halloran" <oohall@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@redhat.com>,
	Namhyung Kim <namhyung@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Borislav Petkov <bp@alien8.de>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	=?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5@gmail.com>,
	Zhou Wang <wangzhou1@hisilicon.com>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	"David S. Miller" <davem@davemloft.net>,
	Giovanni Cabiddu <giovanni.cabiddu@intel.com>,
	Sathya Prakash <sathya.prakash@broadcom.com>,
	Sreekanth Reddy <sreekanth.reddy@broadcom.com>,
	Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>,
	Frederic Barrat <fbarrat@linux.ibm.com>,
	Andrew Donnellan <ajd@linux.ibm.com>,
	Arnd Bergmann <arnd@arndb.de>,
	Yisen Zhuang <yisen.zhuang@huawei.com>,
	Salil Mehta <salil.mehta@huawei.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Vadym Kochan <vkochan@marvell.com>,
	Taras Chornyi <tchornyi@marvell.com>,
	Jiri Pirko <jiri@nvidia.com>,
	Ido Schimmel <idosch@nvidia.com>,
	Simon Horman <simon.horman@corigine.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michael Buesch <m@bues.ch>,
	Mathias Nyman <mathias.nyman@intel.com>,
	Fiona Trahe <fiona.trahe@intel.com>,
	Andy Shevchenko <andriy.shevchenko@intel.com>,
	Wojciech Ziemba <wojciech.ziemba@intel.com>,
	Alexander Duyck <alexanderduyck@fb.com>,
	linuxppc-dev@lists.ozlabs.org,
	linux-kernel@vger.kernel.org,
	linux-perf-users@vger.kernel.org,
	linux-wireless@vger.kernel.org,
	linux-crypto@vger.kernel.org,
	qat-linux@intel.com,
	MPT-FusionLinux.pdl@broadcom.com,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	oss-drivers@corigine.com,
	xen-devel@lists.xenproject.org,
	linux-usb@vger.kernel.org
Subject: [PATCH v2 0/6] PCI: Drop duplicated tracking of a pci_dev's bound driver
Date: Tue,  3 Aug 2021 12:01:44 +0200
Message-Id: <20210803100150.1543597-1-u.kleine-koenig@pengutronix.de>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2
X-SA-Exim-Mail-From: ukl@pengutronix.de
X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false
X-PTX-Original-Recipient: xen-devel@lists.xenproject.org

Hello,

changes since v1 (https://lore.kernel.org/linux-pci/20210729203740.1377045-1-u.kleine-koenig@pengutronix.de):

- New patch to simplify drivers/pci/xen-pcifront.c, spotted and
  suggested by Boris Ostrovsky
- Fix a possible NULL pointer dereference I introduced in xen-pcifront.c
- A few whitespace improvements
- Add a commit log to patch #6 (formerly #5)

I also expanded the audience for patches #4 and #6 to allow affected
people to actually see the changes to their drivers.

Interdiff can be found below.

The idea is still the same: After a few cleanups (#1 - #3) a new macro
is introduced abstracting access to struct pci_dev->driver. All users
are then converted to use this and in the last patch the macro is
changed to make use of struct pci_dev::dev->driver to get rid of the
duplicated tracking.

Best regards
Uwe

Uwe Kleine-König (6):
  PCI: Simplify pci_device_remove()
  PCI: Drop useless check from pci_device_probe()
  xen/pci: Drop some checks that are always true
  PCI: Provide wrapper to access a pci_dev's bound driver
  PCI: Adapt all code locations to not use struct pci_dev::driver
    directly
  PCI: Drop duplicated tracking of a pci_dev's bound driver

 arch/powerpc/include/asm/ppc-pci.h            |  3 +-
 arch/powerpc/kernel/eeh_driver.c              | 12 ++--
 arch/x86/events/intel/uncore.c                |  2 +-
 arch/x86/kernel/probe_roms.c                  |  2 +-
 drivers/bcma/host_pci.c                       |  6 +-
 drivers/crypto/hisilicon/qm.c                 |  2 +-
 drivers/crypto/qat/qat_common/adf_aer.c       |  2 +-
 drivers/message/fusion/mptbase.c              |  4 +-
 drivers/misc/cxl/guest.c                      | 21 +++----
 drivers/misc/cxl/pci.c                        | 25 ++++----
 .../ethernet/hisilicon/hns3/hns3_ethtool.c    |  2 +-
 .../ethernet/marvell/prestera/prestera_pci.c  |  2 +-
 drivers/net/ethernet/mellanox/mlxsw/pci.c     |  2 +-
 .../ethernet/netronome/nfp/nfp_net_ethtool.c  |  2 +-
 drivers/pci/iov.c                             | 23 ++++---
 drivers/pci/pci-driver.c                      | 48 +++++++--------
 drivers/pci/pci.c                             | 10 ++--
 drivers/pci/pcie/err.c                        | 35 ++++++-----
 drivers/pci/xen-pcifront.c                    | 60 ++++++++-----------
 drivers/ssb/pcihost_wrapper.c                 |  7 ++-
 drivers/usb/host/xhci-pci.c                   |  3 +-
 include/linux/pci.h                           |  2 +-
 22 files changed, 145 insertions(+), 130 deletions(-)

Range-diff against v1:
1:  7d97605df363 = 1:  8ba6e9faa18c PCI: Simplify pci_device_remove()
2:  aec84c688d0f = 2:  d8a7dc52091f PCI: Drop useless check from pci_device_probe()
-:  ------------ > 3:  f4b78aa41776 xen/pci: Drop some checks that are always true
3:  e6f933f532c9 = 4:  50f3daa64170 PCI: Provide wrapper to access a pci_dev's bound driver
4:  d678a2924143 ! 5:  21cbd3f180a1 PCI: Adapt all code locations to not use struct pci_dev::driver directly
    @@ drivers/message/fusion/mptbase.c: mpt_device_driver_register(struct mpt_pci_driv
     -		id = ioc->pcidev->driver ?
     -		    ioc->pcidev->driver->id_table : NULL;
     +		struct pci_driver *pdrv = pci_driver_of_dev(ioc->pcidev);
    -+		id = pdrv ?  pdrv->id_table : NULL;
    ++		id = pdrv ? pdrv->id_table : NULL;
      		if (dd_cbfunc->probe)
      			dd_cbfunc->probe(ioc->pcidev, id);
      	 }
    @@ drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c: static void hns3_get_drvinfo
      	}
      
     -	strncpy(drvinfo->driver, h->pdev->driver->name,
    --		sizeof(drvinfo->driver));
    -+	strncpy(drvinfo->driver, pci_driver_of_dev(h->pdev)->name, sizeof(drvinfo->driver));
    ++	strncpy(drvinfo->driver, pci_driver_of_dev(h->pdev)->name,
    + 		sizeof(drvinfo->driver));
      	drvinfo->driver[sizeof(drvinfo->driver) - 1] = '\0';
      
    - 	strncpy(drvinfo->bus_info, pci_name(h->pdev),
     
      ## drivers/net/ethernet/marvell/prestera/prestera_pci.c ##
     @@ drivers/net/ethernet/marvell/prestera/prestera_pci.c: static int prestera_fw_load(struct prestera_fw *fw)
    @@ drivers/pci/xen-pcifront.c: static pci_ers_result_t pcifront_common_process(int
      
      	pcidev = pci_get_domain_bus_and_slot(domain, bus, devfn);
     -	if (!pcidev || !pcidev->driver) {
    -+	pdrv = pci_driver_of_dev(pcidev);
    -+	if (!pcidev || !pdrv) {
    ++	if (!pcidev || !(pdrv = pci_driver_of_dev(pcidev))) {
      		dev_err(&pdev->xdev->dev, "device or AER driver is NULL\n");
      		pci_dev_put(pcidev);
      		return result;
      	}
     -	pdrv = pcidev->driver;
      
    - 	if (pdrv) {
    - 		if (pdrv->err_handler && pdrv->err_handler->error_detected) {
    + 	if (pdrv->err_handler && pdrv->err_handler->error_detected) {
    + 		pci_dbg(pcidev, "trying to call AER service\n");
     
      ## drivers/ssb/pcihost_wrapper.c ##
     @@ drivers/ssb/pcihost_wrapper.c: static int ssb_pcihost_probe(struct pci_dev *dev,
    @@ drivers/ssb/pcihost_wrapper.c: static int ssb_pcihost_probe(struct pci_dev *dev,
      	name = dev_name(&dev->dev);
     -	if (dev->driver && dev->driver->name)
     -		name = dev->driver->name;
    -+	
    ++
     +	pdrv = pci_driver_of_dev(dev);
     +	if (pdrv && pdrv->name)
     +		name = pdrv->name;
5:  8c70ffd24380 ! 6:  02e6da6e5919 PCI: Drop duplicated tracking of a pci_dev's bound driver
    @@ Metadata
      ## Commit message ##
         PCI: Drop duplicated tracking of a pci_dev's bound driver
     
    +    Currently it's tracked twice which driver is bound to a given pci
    +    device. Now that all users of the pci specific one (struct
    +    pci_dev::driver) are updated to use an access macro
    +    (pci_driver_of_dev()), change the macro to use the information from the
    +    driver core and remove the driver member from struct pci_dev.
    +
         Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
     
      ## drivers/pci/pci-driver.c ##

base-commit: 2734d6c1b1a089fb593ef6a23d4b70903526fe0c
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Aug 03 10:03:51 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 10:03:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163366.299299 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mArH4-00036B-TB; Tue, 03 Aug 2021 10:03:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163366.299299; Tue, 03 Aug 2021 10: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 1mArH4-000363-Pa; Tue, 03 Aug 2021 10:03:50 +0000
Received: by outflank-mailman (input) for mailman id 163366;
 Tue, 03 Aug 2021 10:03:49 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=E5WV=M2=pengutronix.de=ukl@srs-us1.protection.inumbo.net>)
 id 1mArH2-0002S5-TF
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 10:03:48 +0000
Received: from metis.ext.pengutronix.de (unknown
 [2001:67c:670:201:290:27ff:fe1d:cc33])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id f6e31dea-0330-4850-8d4d-8c8fe94975db;
 Tue, 03 Aug 2021 10:03:42 +0000 (UTC)
Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2])
 by metis.ext.pengutronix.de with esmtps
 (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92)
 (envelope-from <ukl@pengutronix.de>)
 id 1mArFM-0002yM-C2; Tue, 03 Aug 2021 12:02:04 +0200
Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de)
 by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.92)
 (envelope-from <ukl@pengutronix.de>)
 id 1mArFC-0006FI-FW; Tue, 03 Aug 2021 12:01:54 +0200
Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.92)
 (envelope-from <ukl@pengutronix.de>)
 id 1mArFC-0002nx-C7; Tue, 03 Aug 2021 12:01: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: f6e31dea-0330-4850-8d4d-8c8fe94975db
From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: kernel@pengutronix.de,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-pci@vger.kernel.org,
	Michael Ellerman <mpe@ellerman.id.au>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	Russell Currey <ruscur@russell.cc>,
	"Oliver O'Halloran" <oohall@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@redhat.com>,
	Namhyung Kim <namhyung@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Borislav Petkov <bp@alien8.de>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	=?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5@gmail.com>,
	Zhou Wang <wangzhou1@hisilicon.com>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	"David S. Miller" <davem@davemloft.net>,
	Giovanni Cabiddu <giovanni.cabiddu@intel.com>,
	Sathya Prakash <sathya.prakash@broadcom.com>,
	Sreekanth Reddy <sreekanth.reddy@broadcom.com>,
	Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>,
	Frederic Barrat <fbarrat@linux.ibm.com>,
	Andrew Donnellan <ajd@linux.ibm.com>,
	Arnd Bergmann <arnd@arndb.de>,
	Yisen Zhuang <yisen.zhuang@huawei.com>,
	Salil Mehta <salil.mehta@huawei.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Vadym Kochan <vkochan@marvell.com>,
	Taras Chornyi <tchornyi@marvell.com>,
	Jiri Pirko <jiri@nvidia.com>,
	Ido Schimmel <idosch@nvidia.com>,
	Simon Horman <simon.horman@corigine.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michael Buesch <m@bues.ch>,
	Mathias Nyman <mathias.nyman@intel.com>,
	Fiona Trahe <fiona.trahe@intel.com>,
	Andy Shevchenko <andriy.shevchenko@intel.com>,
	Wojciech Ziemba <wojciech.ziemba@intel.com>,
	Alexander Duyck <alexanderduyck@fb.com>,
	linuxppc-dev@lists.ozlabs.org,
	linux-kernel@vger.kernel.org,
	linux-perf-users@vger.kernel.org,
	linux-wireless@vger.kernel.org,
	linux-crypto@vger.kernel.org,
	qat-linux@intel.com,
	MPT-FusionLinux.pdl@broadcom.com,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	oss-drivers@corigine.com,
	xen-devel@lists.xenproject.org,
	linux-usb@vger.kernel.org
Subject: [PATCH v2 5/6] PCI: Adapt all code locations to not use struct pci_dev::driver directly
Date: Tue,  3 Aug 2021 12:01:49 +0200
Message-Id: <20210803100150.1543597-6-u.kleine-koenig@pengutronix.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20210803100150.1543597-1-u.kleine-koenig@pengutronix.de>
References: <20210803100150.1543597-1-u.kleine-koenig@pengutronix.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
X-Patch-Hashes: v=1; h=sha256; i=9L+xMpEBAe+EMrTNszE9gpsj0FkwASarXVYcMu+YsdI=; m=G3t4EAjyOjy3F8ef7TOQklRyeKO15tgc41ovGVIn+a4=; p=Srp4lE5TG4JQcYFCRjqTwA1yZ/geNI4huBcI6p65IyA=; g=56cfecb1923fb7e3ec74c8d802decb54c006d8f3
X-Patch-Sig: m=pgp; i=u.kleine-koenig@pengutronix.de; s=0x0D2511F322BFAB1C1580266BE2DCDD9132669BD6; b=iQEzBAABCgAdFiEEfnIqFpAYrP8+dKQLwfwUeK3K7AkFAmEJFAQACgkQwfwUeK3K7Akt4wgAle7 nA3Sz5l3jj+12cXnjhucc0sgtVEco6Hbmi+mHZdnTkqr4BZIPPB8a/pbtebm5R54xg/xn5Z7h783r dBPyMjQx4PB3XSBg68+NL7LBi1DFRvjiAqZf41+LZye1a5tgjNaH9kntqf5BzMqdnr6oUGXwJSOwX yXI3OPV+DZBtnYJsEPvOrUenvKKUbdxyTIvba4ItBna949kdcmQe/Qn5OHYblCpggY3Thqwvtl2er gnVYft5D+YQMKOoIhX5gS4SKjeAkzHv5KJfugJLIURrjyncYa5TSCdYdAED53j8BfNJGs5vURhi06 8XoK0+n3xztk7a3MUXQ7A8fImcxiyrw==
Content-Transfer-Encoding: 8bit
X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2
X-SA-Exim-Mail-From: ukl@pengutronix.de
X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false
X-PTX-Original-Recipient: xen-devel@lists.xenproject.org

This prepares removing the driver member of struct pci_dev which holds the
same information than struct pci_dev::dev->driver.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
 arch/powerpc/include/asm/ppc-pci.h            |  3 +-
 arch/powerpc/kernel/eeh_driver.c              | 12 ++++---
 arch/x86/events/intel/uncore.c                |  2 +-
 arch/x86/kernel/probe_roms.c                  |  2 +-
 drivers/bcma/host_pci.c                       |  6 ++--
 drivers/crypto/hisilicon/qm.c                 |  2 +-
 drivers/crypto/qat/qat_common/adf_aer.c       |  2 +-
 drivers/message/fusion/mptbase.c              |  4 +--
 drivers/misc/cxl/guest.c                      | 21 +++++------
 drivers/misc/cxl/pci.c                        | 25 +++++++------
 .../ethernet/hisilicon/hns3/hns3_ethtool.c    |  2 +-
 .../ethernet/marvell/prestera/prestera_pci.c  |  2 +-
 drivers/net/ethernet/mellanox/mlxsw/pci.c     |  2 +-
 .../ethernet/netronome/nfp/nfp_net_ethtool.c  |  2 +-
 drivers/pci/iov.c                             | 23 +++++++-----
 drivers/pci/pci-driver.c                      | 28 ++++++++-------
 drivers/pci/pci.c                             | 10 +++---
 drivers/pci/pcie/err.c                        | 35 ++++++++++---------
 drivers/pci/xen-pcifront.c                    |  3 +-
 drivers/ssb/pcihost_wrapper.c                 |  7 ++--
 drivers/usb/host/xhci-pci.c                   |  3 +-
 21 files changed, 112 insertions(+), 84 deletions(-)

diff --git a/arch/powerpc/include/asm/ppc-pci.h b/arch/powerpc/include/asm/ppc-pci.h
index 2b9edbf6e929..63938c156c57 100644
--- a/arch/powerpc/include/asm/ppc-pci.h
+++ b/arch/powerpc/include/asm/ppc-pci.h
@@ -57,7 +57,8 @@ void eeh_sysfs_remove_device(struct pci_dev *pdev);
 
 static inline const char *eeh_driver_name(struct pci_dev *pdev)
 {
-	return (pdev && pdev->driver) ? pdev->driver->name : "<null>";
+	struct pci_driver *pdrv;
+	return (pdev && (pdrv = pci_driver_of_dev(pdev))) ? pdrv->name : "<null>";
 }
 
 #endif /* CONFIG_EEH */
diff --git a/arch/powerpc/kernel/eeh_driver.c b/arch/powerpc/kernel/eeh_driver.c
index 3eff6a4888e7..0fc712a8775e 100644
--- a/arch/powerpc/kernel/eeh_driver.c
+++ b/arch/powerpc/kernel/eeh_driver.c
@@ -104,13 +104,14 @@ static bool eeh_edev_actionable(struct eeh_dev *edev)
  */
 static inline struct pci_driver *eeh_pcid_get(struct pci_dev *pdev)
 {
-	if (!pdev || !pdev->driver)
+	struct pci_driver *pdrv;
+	if (!pdev || !(pdrv = pci_driver_of_dev(pdev)))
 		return NULL;
 
-	if (!try_module_get(pdev->driver->driver.owner))
+	if (!try_module_get(pdrv->driver.owner))
 		return NULL;
 
-	return pdev->driver;
+	return pdrv;
 }
 
 /**
@@ -122,10 +123,11 @@ static inline struct pci_driver *eeh_pcid_get(struct pci_dev *pdev)
  */
 static inline void eeh_pcid_put(struct pci_dev *pdev)
 {
-	if (!pdev || !pdev->driver)
+	struct pci_driver *pdrv;
+	if (!pdev || !(pdrv = pci_driver_of_dev(pdev)))
 		return;
 
-	module_put(pdev->driver->driver.owner);
+	module_put(pdrv->driver.owner);
 }
 
 /**
diff --git a/arch/x86/events/intel/uncore.c b/arch/x86/events/intel/uncore.c
index 9bf4dbbc26e2..14eb141b6cf2 100644
--- a/arch/x86/events/intel/uncore.c
+++ b/arch/x86/events/intel/uncore.c
@@ -1176,7 +1176,7 @@ static int uncore_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id
 	 * PCI slot and func to indicate the uncore box.
 	 */
 	if (id->driver_data & ~0xffff) {
-		struct pci_driver *pci_drv = pdev->driver;
+		struct pci_driver *pci_drv = pci_driver_of_dev(pdev);
 
 		pmu = uncore_pci_find_dev_pmu(pdev, pci_drv->id_table);
 		if (pmu == NULL)
diff --git a/arch/x86/kernel/probe_roms.c b/arch/x86/kernel/probe_roms.c
index 9e1def3744f2..55bfafec9684 100644
--- a/arch/x86/kernel/probe_roms.c
+++ b/arch/x86/kernel/probe_roms.c
@@ -80,7 +80,7 @@ static struct resource video_rom_resource = {
  */
 static bool match_id(struct pci_dev *pdev, unsigned short vendor, unsigned short device)
 {
-	struct pci_driver *drv = pdev->driver;
+	struct pci_driver *drv = pci_driver_of_dev(pdev);
 	const struct pci_device_id *id;
 
 	if (pdev->vendor == vendor && pdev->device == device)
diff --git a/drivers/bcma/host_pci.c b/drivers/bcma/host_pci.c
index 69c10a7b7c61..f9bfae87ebd9 100644
--- a/drivers/bcma/host_pci.c
+++ b/drivers/bcma/host_pci.c
@@ -161,6 +161,7 @@ static int bcma_host_pci_probe(struct pci_dev *dev,
 			       const struct pci_device_id *id)
 {
 	struct bcma_bus *bus;
+	struct pci_driver *pdrv;
 	int err = -ENOMEM;
 	const char *name;
 	u32 val;
@@ -176,8 +177,9 @@ static int bcma_host_pci_probe(struct pci_dev *dev,
 		goto err_kfree_bus;
 
 	name = dev_name(&dev->dev);
-	if (dev->driver && dev->driver->name)
-		name = dev->driver->name;
+	pdrv = pci_driver_of_dev(dev);
+	if (pdrv && pdrv->name)
+		name = pdrv->name;
 	err = pci_request_regions(dev, name);
 	if (err)
 		goto err_pci_disable;
diff --git a/drivers/crypto/hisilicon/qm.c b/drivers/crypto/hisilicon/qm.c
index 1d67f94a1d56..303cc546f466 100644
--- a/drivers/crypto/hisilicon/qm.c
+++ b/drivers/crypto/hisilicon/qm.c
@@ -3003,7 +3003,7 @@ static int qm_alloc_uacce(struct hisi_qm *qm)
 	};
 	int ret;
 
-	ret = strscpy(interface.name, pdev->driver->name,
+	ret = strscpy(interface.name, pci_driver_of_dev(pdev)->name,
 		      sizeof(interface.name));
 	if (ret < 0)
 		return -ENAMETOOLONG;
diff --git a/drivers/crypto/qat/qat_common/adf_aer.c b/drivers/crypto/qat/qat_common/adf_aer.c
index d2ae293d0df6..162c2b9ef93d 100644
--- a/drivers/crypto/qat/qat_common/adf_aer.c
+++ b/drivers/crypto/qat/qat_common/adf_aer.c
@@ -185,7 +185,7 @@ static const struct pci_error_handlers adf_err_handler = {
 int adf_enable_aer(struct adf_accel_dev *accel_dev)
 {
 	struct pci_dev *pdev = accel_to_pci_dev(accel_dev);
-	struct pci_driver *pdrv = pdev->driver;
+	struct pci_driver *pdrv = pci_driver_of_dev(pdev);
 
 	pdrv->err_handler = &adf_err_handler;
 	pci_enable_pcie_error_reporting(pdev);
diff --git a/drivers/message/fusion/mptbase.c b/drivers/message/fusion/mptbase.c
index 7f7abc9069f7..b93e160560d4 100644
--- a/drivers/message/fusion/mptbase.c
+++ b/drivers/message/fusion/mptbase.c
@@ -838,8 +838,8 @@ mpt_device_driver_register(struct mpt_pci_driver * dd_cbfunc, u8 cb_idx)
 
 	/* call per pci device probe entry point */
 	list_for_each_entry(ioc, &ioc_list, list) {
-		id = ioc->pcidev->driver ?
-		    ioc->pcidev->driver->id_table : NULL;
+		struct pci_driver *pdrv = pci_driver_of_dev(ioc->pcidev);
+		id = pdrv ? pdrv->id_table : NULL;
 		if (dd_cbfunc->probe)
 			dd_cbfunc->probe(ioc->pcidev, id);
 	 }
diff --git a/drivers/misc/cxl/guest.c b/drivers/misc/cxl/guest.c
index 186308f1f8eb..99b969b182b5 100644
--- a/drivers/misc/cxl/guest.c
+++ b/drivers/misc/cxl/guest.c
@@ -25,28 +25,29 @@ static void pci_error_handlers(struct cxl_afu *afu,
 		return;
 
 	list_for_each_entry(afu_dev, &afu->phb->bus->devices, bus_list) {
-		if (!afu_dev->driver)
+		struct pci_driver *afu_drv = pci_driver_of_dev(afu_dev);
+		if (!afu_drv)
 			continue;
 
 		switch (bus_error_event) {
 		case CXL_ERROR_DETECTED_EVENT:
 			afu_dev->error_state = state;
 
-			if (afu_dev->driver->err_handler &&
-			    afu_dev->driver->err_handler->error_detected)
-				afu_dev->driver->err_handler->error_detected(afu_dev, state);
+			if (afu_drv->err_handler &&
+			    afu_drv->err_handler->error_detected)
+				afu_drv->err_handler->error_detected(afu_dev, state);
 		break;
 		case CXL_SLOT_RESET_EVENT:
 			afu_dev->error_state = state;
 
-			if (afu_dev->driver->err_handler &&
-			    afu_dev->driver->err_handler->slot_reset)
-				afu_dev->driver->err_handler->slot_reset(afu_dev);
+			if (afu_drv->err_handler &&
+			    afu_drv->err_handler->slot_reset)
+				afu_drv->err_handler->slot_reset(afu_dev);
 		break;
 		case CXL_RESUME_EVENT:
-			if (afu_dev->driver->err_handler &&
-			    afu_dev->driver->err_handler->resume)
-				afu_dev->driver->err_handler->resume(afu_dev);
+			if (afu_drv->err_handler &&
+			    afu_drv->err_handler->resume)
+				afu_drv->err_handler->resume(afu_dev);
 		break;
 		}
 	}
diff --git a/drivers/misc/cxl/pci.c b/drivers/misc/cxl/pci.c
index 2ba899f5659f..1cf39275029f 100644
--- a/drivers/misc/cxl/pci.c
+++ b/drivers/misc/cxl/pci.c
@@ -1805,13 +1805,14 @@ static pci_ers_result_t cxl_vphb_error_detected(struct cxl_afu *afu,
 		return result;
 
 	list_for_each_entry(afu_dev, &afu->phb->bus->devices, bus_list) {
-		if (!afu_dev->driver)
+		struct pci_driver *afu_drv = pci_driver_of_dev(afu_dev);
+		if (!afu_drv)
 			continue;
 
 		afu_dev->error_state = state;
 
-		if (afu_dev->driver->err_handler)
-			afu_result = afu_dev->driver->err_handler->error_detected(afu_dev,
+		if (afu_drv->err_handler)
+			afu_result = afu_drv->err_handler->error_detected(afu_dev,
 										  state);
 		/* Disconnect trumps all, NONE trumps NEED_RESET */
 		if (afu_result == PCI_ERS_RESULT_DISCONNECT)
@@ -2003,6 +2004,8 @@ static pci_ers_result_t cxl_pci_slot_reset(struct pci_dev *pdev)
 			continue;
 
 		list_for_each_entry(afu_dev, &afu->phb->bus->devices, bus_list) {
+			struct pci_driver *afu_drv;
+
 			/* Reset the device context.
 			 * TODO: make this less disruptive
 			 */
@@ -2028,12 +2031,13 @@ static pci_ers_result_t cxl_pci_slot_reset(struct pci_dev *pdev)
 			 * shouldn't start new work until we call
 			 * their resume function.
 			 */
-			if (!afu_dev->driver)
+			afu_drv = pci_driver_of_dev(afu_dev);
+			if (!afu_drv)
 				continue;
 
-			if (afu_dev->driver->err_handler &&
-			    afu_dev->driver->err_handler->slot_reset)
-				afu_result = afu_dev->driver->err_handler->slot_reset(afu_dev);
+			if (afu_drv->err_handler &&
+			    afu_drv->err_handler->slot_reset)
+				afu_result = afu_drv->err_handler->slot_reset(afu_dev);
 
 			if (afu_result == PCI_ERS_RESULT_DISCONNECT)
 				result = PCI_ERS_RESULT_DISCONNECT;
@@ -2074,9 +2078,10 @@ static void cxl_pci_resume(struct pci_dev *pdev)
 			continue;
 
 		list_for_each_entry(afu_dev, &afu->phb->bus->devices, bus_list) {
-			if (afu_dev->driver && afu_dev->driver->err_handler &&
-			    afu_dev->driver->err_handler->resume)
-				afu_dev->driver->err_handler->resume(afu_dev);
+			struct pci_driver *afu_drv = pci_driver_of_dev(afu_dev);
+			if (afu_drv && afu_drv->err_handler &&
+			    afu_drv->err_handler->resume)
+				afu_drv->err_handler->resume(afu_dev);
 		}
 	}
 	spin_unlock(&adapter->afu_list_lock);
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c b/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c
index 82061ab6930f..e085454c8b84 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c
@@ -593,7 +593,7 @@ static void hns3_get_drvinfo(struct net_device *netdev,
 		return;
 	}
 
-	strncpy(drvinfo->driver, h->pdev->driver->name,
+	strncpy(drvinfo->driver, pci_driver_of_dev(h->pdev)->name,
 		sizeof(drvinfo->driver));
 	drvinfo->driver[sizeof(drvinfo->driver) - 1] = '\0';
 
diff --git a/drivers/net/ethernet/marvell/prestera/prestera_pci.c b/drivers/net/ethernet/marvell/prestera/prestera_pci.c
index a250d394da38..180999c2165e 100644
--- a/drivers/net/ethernet/marvell/prestera/prestera_pci.c
+++ b/drivers/net/ethernet/marvell/prestera/prestera_pci.c
@@ -720,7 +720,7 @@ static int prestera_fw_load(struct prestera_fw *fw)
 static int prestera_pci_probe(struct pci_dev *pdev,
 			      const struct pci_device_id *id)
 {
-	const char *driver_name = pdev->driver->name;
+	const char *driver_name = pci_driver_of_dev(pdev)->name;
 	struct prestera_fw *fw;
 	int err;
 
diff --git a/drivers/net/ethernet/mellanox/mlxsw/pci.c b/drivers/net/ethernet/mellanox/mlxsw/pci.c
index 13b0259f7ea6..d3c1ca840fa7 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/pci.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/pci.c
@@ -1876,7 +1876,7 @@ static void mlxsw_pci_cmd_fini(struct mlxsw_pci *mlxsw_pci)
 
 static int mlxsw_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
 {
-	const char *driver_name = pdev->driver->name;
+	const char *driver_name = pci_driver_of_dev(pdev)->name;
 	struct mlxsw_pci *mlxsw_pci;
 	int err;
 
diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c b/drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
index 1b482446536d..5c25f6af3f62 100644
--- a/drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
+++ b/drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
@@ -202,7 +202,7 @@ nfp_get_drvinfo(struct nfp_app *app, struct pci_dev *pdev,
 {
 	char nsp_version[ETHTOOL_FWVERS_LEN] = {};
 
-	strlcpy(drvinfo->driver, pdev->driver->name, sizeof(drvinfo->driver));
+	strlcpy(drvinfo->driver, pci_driver_of_dev(pdev)->name, sizeof(drvinfo->driver));
 	nfp_net_get_nspinfo(app, nsp_version);
 	snprintf(drvinfo->fw_version, sizeof(drvinfo->fw_version),
 		 "%s %s %s %s", vnic_version, nsp_version,
diff --git a/drivers/pci/iov.c b/drivers/pci/iov.c
index dafdc652fcd0..7c6f0c466df8 100644
--- a/drivers/pci/iov.c
+++ b/drivers/pci/iov.c
@@ -164,13 +164,14 @@ static ssize_t sriov_vf_total_msix_show(struct device *dev,
 					char *buf)
 {
 	struct pci_dev *pdev = to_pci_dev(dev);
+	struct pci_driver *pdrv = pci_driver_of_dev(pdev);
 	u32 vf_total_msix = 0;
 
 	device_lock(dev);
-	if (!pdev->driver || !pdev->driver->sriov_get_vf_total_msix)
+	if (!pdrv || !pdrv->sriov_get_vf_total_msix)
 		goto unlock;
 
-	vf_total_msix = pdev->driver->sriov_get_vf_total_msix(pdev);
+	vf_total_msix = pdrv->sriov_get_vf_total_msix(pdev);
 unlock:
 	device_unlock(dev);
 	return sysfs_emit(buf, "%u\n", vf_total_msix);
@@ -183,6 +184,7 @@ static ssize_t sriov_vf_msix_count_store(struct device *dev,
 {
 	struct pci_dev *vf_dev = to_pci_dev(dev);
 	struct pci_dev *pdev = pci_physfn(vf_dev);
+	struct pci_driver *pdrv;
 	int val, ret;
 
 	ret = kstrtoint(buf, 0, &val);
@@ -193,13 +195,14 @@ static ssize_t sriov_vf_msix_count_store(struct device *dev,
 		return -EINVAL;
 
 	device_lock(&pdev->dev);
-	if (!pdev->driver || !pdev->driver->sriov_set_msix_vec_count) {
+	pdrv = pci_driver_of_dev(pdev);
+	if (!pdrv || !pdrv->sriov_set_msix_vec_count) {
 		ret = -EOPNOTSUPP;
 		goto err_pdev;
 	}
 
 	device_lock(&vf_dev->dev);
-	if (vf_dev->driver) {
+	if (pci_driver_of_dev(vf_dev)) {
 		/*
 		 * A driver is already attached to this VF and has configured
 		 * itself based on the current MSI-X vector count. Changing
@@ -209,7 +212,7 @@ static ssize_t sriov_vf_msix_count_store(struct device *dev,
 		goto err_dev;
 	}
 
-	ret = pdev->driver->sriov_set_msix_vec_count(vf_dev, val);
+	ret = pdrv->sriov_set_msix_vec_count(vf_dev, val);
 
 err_dev:
 	device_unlock(&vf_dev->dev);
@@ -376,6 +379,7 @@ static ssize_t sriov_numvfs_store(struct device *dev,
 				  const char *buf, size_t count)
 {
 	struct pci_dev *pdev = to_pci_dev(dev);
+	struct pci_driver *pdrv;
 	int ret;
 	u16 num_vfs;
 
@@ -392,14 +396,15 @@ static ssize_t sriov_numvfs_store(struct device *dev,
 		goto exit;
 
 	/* is PF driver loaded */
-	if (!pdev->driver) {
+	pdrv = pci_driver_of_dev(pdev);
+	if (!pdrv) {
 		pci_info(pdev, "no driver bound to device; cannot configure SR-IOV\n");
 		ret = -ENOENT;
 		goto exit;
 	}
 
 	/* is PF driver loaded w/callback */
-	if (!pdev->driver->sriov_configure) {
+	if (!pdrv->sriov_configure) {
 		pci_info(pdev, "driver does not support SR-IOV configuration via sysfs\n");
 		ret = -ENOENT;
 		goto exit;
@@ -407,7 +412,7 @@ static ssize_t sriov_numvfs_store(struct device *dev,
 
 	if (num_vfs == 0) {
 		/* disable VFs */
-		ret = pdev->driver->sriov_configure(pdev, 0);
+		ret = pdrv->sriov_configure(pdev, 0);
 		goto exit;
 	}
 
@@ -419,7 +424,7 @@ static ssize_t sriov_numvfs_store(struct device *dev,
 		goto exit;
 	}
 
-	ret = pdev->driver->sriov_configure(pdev, num_vfs);
+	ret = pdrv->sriov_configure(pdev, num_vfs);
 	if (ret < 0)
 		goto exit;
 
diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c
index 7dff574bb2fa..740d5bf5d411 100644
--- a/drivers/pci/pci-driver.c
+++ b/drivers/pci/pci-driver.c
@@ -443,7 +443,7 @@ static int pci_device_probe(struct device *dev)
 static int pci_device_remove(struct device *dev)
 {
 	struct pci_dev *pci_dev = to_pci_dev(dev);
-	struct pci_driver *drv = pci_dev->driver;
+	struct pci_driver *drv = pci_driver_of_dev(pci_dev);
 
 	if (drv->remove) {
 		pm_runtime_get_sync(dev);
@@ -480,7 +480,7 @@ static int pci_device_remove(struct device *dev)
 static void pci_device_shutdown(struct device *dev)
 {
 	struct pci_dev *pci_dev = to_pci_dev(dev);
-	struct pci_driver *drv = pci_dev->driver;
+	struct pci_driver *drv = pci_driver_of_dev(pci_dev);
 
 	pm_runtime_resume(dev);
 
@@ -576,7 +576,7 @@ static int pci_pm_reenable_device(struct pci_dev *pci_dev)
 static int pci_legacy_suspend(struct device *dev, pm_message_t state)
 {
 	struct pci_dev *pci_dev = to_pci_dev(dev);
-	struct pci_driver *drv = pci_dev->driver;
+	struct pci_driver *drv = pci_driver_of_dev(pci_dev);
 
 	if (drv && drv->suspend) {
 		pci_power_t prev = pci_dev->current_state;
@@ -617,7 +617,7 @@ static int pci_legacy_suspend_late(struct device *dev, pm_message_t state)
 static int pci_legacy_resume(struct device *dev)
 {
 	struct pci_dev *pci_dev = to_pci_dev(dev);
-	struct pci_driver *drv = pci_dev->driver;
+	struct pci_driver *drv = pci_driver_of_dev(pci_dev);
 
 	pci_fixup_device(pci_fixup_resume, pci_dev);
 
@@ -636,7 +636,7 @@ static void pci_pm_default_suspend(struct pci_dev *pci_dev)
 
 static bool pci_has_legacy_pm_support(struct pci_dev *pci_dev)
 {
-	struct pci_driver *drv = pci_dev->driver;
+	struct pci_driver *drv = pci_driver_of_dev(pci_dev);
 	bool ret = drv && (drv->suspend || drv->resume);
 
 	/*
@@ -1224,16 +1224,17 @@ static int pci_pm_restore(struct device *dev)
 static int pci_pm_runtime_suspend(struct device *dev)
 {
 	struct pci_dev *pci_dev = to_pci_dev(dev);
+	struct pci_driver *pdrv = pci_driver_of_dev(pci_dev);
 	const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL;
 	pci_power_t prev = pci_dev->current_state;
 	int error;
 
 	/*
-	 * If pci_dev->driver is not set (unbound), we leave the device in D0,
+	 * If pdrv is not set (unbound), we leave the device in D0,
 	 * but it may go to D3cold when the bridge above it runtime suspends.
 	 * Save its config space in case that happens.
 	 */
-	if (!pci_dev->driver) {
+	if (!pdrv) {
 		pci_save_state(pci_dev);
 		return 0;
 	}
@@ -1279,6 +1280,7 @@ static int pci_pm_runtime_suspend(struct device *dev)
 static int pci_pm_runtime_resume(struct device *dev)
 {
 	struct pci_dev *pci_dev = to_pci_dev(dev);
+	struct pci_driver *pdrv = pci_driver_of_dev(pci_dev);
 	const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL;
 	pci_power_t prev_state = pci_dev->current_state;
 	int error = 0;
@@ -1290,7 +1292,7 @@ static int pci_pm_runtime_resume(struct device *dev)
 	 */
 	pci_restore_standard_config(pci_dev);
 
-	if (!pci_dev->driver)
+	if (!pdrv)
 		return 0;
 
 	pci_fixup_device(pci_fixup_resume_early, pci_dev);
@@ -1310,13 +1312,14 @@ static int pci_pm_runtime_resume(struct device *dev)
 static int pci_pm_runtime_idle(struct device *dev)
 {
 	struct pci_dev *pci_dev = to_pci_dev(dev);
+	struct pci_driver *pdrv = pci_driver_of_dev(pci_dev);
 	const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL;
 
 	/*
-	 * If pci_dev->driver is not set (unbound), the device should
+	 * If pdrv is not set (unbound), the device should
 	 * always remain in D0 regardless of the runtime PM status
 	 */
-	if (!pci_dev->driver)
+	if (!pdrv)
 		return 0;
 
 	if (!pm)
@@ -1423,8 +1426,9 @@ static struct pci_driver pci_compat_driver = {
  */
 struct pci_driver *pci_dev_driver(const struct pci_dev *dev)
 {
-	if (dev->driver)
-		return dev->driver;
+	struct pci_driver *pdrv = pci_driver_of_dev(dev);
+	if (pdrv)
+		return pdrv;
 	else {
 		int i;
 		for (i = 0; i <= PCI_ROM_RESOURCE; i++)
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index aacf575c15cf..9565f6c1bd4f 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -5069,11 +5069,12 @@ EXPORT_SYMBOL_GPL(pci_dev_unlock);
 
 static void pci_dev_save_and_disable(struct pci_dev *dev)
 {
+	struct pci_driver *pdrv = pci_driver_of_dev(dev);
 	const struct pci_error_handlers *err_handler =
-			dev->driver ? dev->driver->err_handler : NULL;
+			pdrv ? pdrv->err_handler : NULL;
 
 	/*
-	 * dev->driver->err_handler->reset_prepare() is protected against
+	 * pdrv->err_handler->reset_prepare() is protected against
 	 * races with ->remove() by the device lock, which must be held by
 	 * the caller.
 	 */
@@ -5100,13 +5101,14 @@ static void pci_dev_save_and_disable(struct pci_dev *dev)
 
 static void pci_dev_restore(struct pci_dev *dev)
 {
+	struct pci_driver *pdrv = pci_driver_of_dev(dev);
 	const struct pci_error_handlers *err_handler =
-			dev->driver ? dev->driver->err_handler : NULL;
+			pdrv ? pdrv->err_handler : NULL;
 
 	pci_restore_state(dev);
 
 	/*
-	 * dev->driver->err_handler->reset_done() is protected against
+	 * err_handler->reset_done() is protected against
 	 * races with ->remove() by the device lock, which must be held by
 	 * the caller.
 	 */
diff --git a/drivers/pci/pcie/err.c b/drivers/pci/pcie/err.c
index b576aa890c76..5b2b7b2972dd 100644
--- a/drivers/pci/pcie/err.c
+++ b/drivers/pci/pcie/err.c
@@ -51,12 +51,12 @@ static int report_error_detected(struct pci_dev *dev,
 {
 	pci_ers_result_t vote;
 	const struct pci_error_handlers *err_handler;
+	struct pci_driver *pdrv = pci_driver_of_dev(dev);
 
 	device_lock(&dev->dev);
 	if (!pci_dev_set_io_state(dev, state) ||
-		!dev->driver ||
-		!dev->driver->err_handler ||
-		!dev->driver->err_handler->error_detected) {
+		!pdrv || !pdrv->err_handler ||
+		!pdrv->err_handler->error_detected) {
 		/*
 		 * If any device in the subtree does not have an error_detected
 		 * callback, PCI_ERS_RESULT_NO_AER_DRIVER prevents subsequent
@@ -70,7 +70,7 @@ static int report_error_detected(struct pci_dev *dev,
 			vote = PCI_ERS_RESULT_NONE;
 		}
 	} else {
-		err_handler = dev->driver->err_handler;
+		err_handler = pdrv->err_handler;
 		vote = err_handler->error_detected(dev, state);
 	}
 	pci_uevent_ers(dev, vote);
@@ -93,14 +93,15 @@ static int report_mmio_enabled(struct pci_dev *dev, void *data)
 {
 	pci_ers_result_t vote, *result = data;
 	const struct pci_error_handlers *err_handler;
+	struct pci_driver *pdrv = pci_driver_of_dev(dev);
 
 	device_lock(&dev->dev);
-	if (!dev->driver ||
-		!dev->driver->err_handler ||
-		!dev->driver->err_handler->mmio_enabled)
+	if (!pdrv ||
+		!pdrv->err_handler ||
+		!pdrv->err_handler->mmio_enabled)
 		goto out;
 
-	err_handler = dev->driver->err_handler;
+	err_handler = pdrv->err_handler;
 	vote = err_handler->mmio_enabled(dev);
 	*result = merge_result(*result, vote);
 out:
@@ -112,14 +113,15 @@ static int report_slot_reset(struct pci_dev *dev, void *data)
 {
 	pci_ers_result_t vote, *result = data;
 	const struct pci_error_handlers *err_handler;
+	struct pci_driver *pdrv = pci_driver_of_dev(dev);
 
 	device_lock(&dev->dev);
-	if (!dev->driver ||
-		!dev->driver->err_handler ||
-		!dev->driver->err_handler->slot_reset)
+	if (!pdrv ||
+		!pdrv->err_handler ||
+		!pdrv->err_handler->slot_reset)
 		goto out;
 
-	err_handler = dev->driver->err_handler;
+	err_handler = pdrv->err_handler;
 	vote = err_handler->slot_reset(dev);
 	*result = merge_result(*result, vote);
 out:
@@ -130,15 +132,16 @@ static int report_slot_reset(struct pci_dev *dev, void *data)
 static int report_resume(struct pci_dev *dev, void *data)
 {
 	const struct pci_error_handlers *err_handler;
+	struct pci_driver *pdrv = pci_driver_of_dev(dev);
 
 	device_lock(&dev->dev);
 	if (!pci_dev_set_io_state(dev, pci_channel_io_normal) ||
-		!dev->driver ||
-		!dev->driver->err_handler ||
-		!dev->driver->err_handler->resume)
+		!pdrv ||
+		!pdrv->err_handler ||
+		!pdrv->err_handler->resume)
 		goto out;
 
-	err_handler = dev->driver->err_handler;
+	err_handler = pdrv->err_handler;
 	err_handler->resume(dev);
 out:
 	pci_uevent_ers(dev, PCI_ERS_RESULT_RECOVERED);
diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c
index 3c648e6cb8f8..fc3ffb6a8689 100644
--- a/drivers/pci/xen-pcifront.c
+++ b/drivers/pci/xen-pcifront.c
@@ -598,12 +598,11 @@ static pci_ers_result_t pcifront_common_process(int cmd,
 	result = PCI_ERS_RESULT_NONE;
 
 	pcidev = pci_get_domain_bus_and_slot(domain, bus, devfn);
-	if (!pcidev || !pcidev->driver) {
+	if (!pcidev || !(pdrv = pci_driver_of_dev(pcidev))) {
 		dev_err(&pdev->xdev->dev, "device or AER driver is NULL\n");
 		pci_dev_put(pcidev);
 		return result;
 	}
-	pdrv = pcidev->driver;
 
 	if (pdrv->err_handler && pdrv->err_handler->error_detected) {
 		pci_dbg(pcidev, "trying to call AER service\n");
diff --git a/drivers/ssb/pcihost_wrapper.c b/drivers/ssb/pcihost_wrapper.c
index 410215c16920..9cd3633498d3 100644
--- a/drivers/ssb/pcihost_wrapper.c
+++ b/drivers/ssb/pcihost_wrapper.c
@@ -68,6 +68,7 @@ static int ssb_pcihost_probe(struct pci_dev *dev,
 			     const struct pci_device_id *id)
 {
 	struct ssb_bus *ssb;
+	struct pci_driver *pdrv;
 	int err = -ENOMEM;
 	const char *name;
 	u32 val;
@@ -79,8 +80,10 @@ static int ssb_pcihost_probe(struct pci_dev *dev,
 	if (err)
 		goto err_kfree_ssb;
 	name = dev_name(&dev->dev);
-	if (dev->driver && dev->driver->name)
-		name = dev->driver->name;
+
+	pdrv = pci_driver_of_dev(dev);
+	if (pdrv && pdrv->name)
+		name = pdrv->name;
 	err = pci_request_regions(dev, name);
 	if (err)
 		goto err_pci_disable;
diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
index 18c2bbddf080..d8a6ef602a46 100644
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
@@ -100,10 +100,11 @@ static int xhci_pci_reinit(struct xhci_hcd *xhci, struct pci_dev *pdev)
 static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
 {
 	struct pci_dev                  *pdev = to_pci_dev(dev);
+	struct pci_driver               *pdrv = pci_driver_of_dev(pdev);
 	struct xhci_driver_data         *driver_data;
 	const struct pci_device_id      *id;
 
-	id = pci_match_id(pdev->driver->id_table, pdev);
+	id = pci_match_id(pdrv->id_table, pdev);
 
 	if (id && id->driver_data) {
 		driver_data = (struct xhci_driver_data *)id->driver_data;
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Aug 03 10:04:00 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 10:04:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163371.299311 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mArHE-0003gt-A4; Tue, 03 Aug 2021 10:04:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163371.299311; Tue, 03 Aug 2021 10:04: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 1mArHE-0003gm-6g; Tue, 03 Aug 2021 10:04:00 +0000
Received: by outflank-mailman (input) for mailman id 163371;
 Tue, 03 Aug 2021 10:03:58 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=E5WV=M2=pengutronix.de=ukl@srs-us1.protection.inumbo.net>)
 id 1mArHC-0002S5-TN
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 10:03:58 +0000
Received: from metis.ext.pengutronix.de (unknown
 [2001:67c:670:201:290:27ff:fe1d:cc33])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id f0688bca-a9f8-4e7d-ae18-746ea99d4725;
 Tue, 03 Aug 2021 10:03:51 +0000 (UTC)
Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2])
 by metis.ext.pengutronix.de with esmtps
 (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92)
 (envelope-from <ukl@pengutronix.de>)
 id 1mArFM-0002yN-C1; Tue, 03 Aug 2021 12:02:04 +0200
Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de)
 by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.92)
 (envelope-from <ukl@pengutronix.de>)
 id 1mArFD-0006FL-MW; Tue, 03 Aug 2021 12:01:55 +0200
Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.92)
 (envelope-from <ukl@pengutronix.de>)
 id 1mArFC-0002oK-Il; Tue, 03 Aug 2021 12:01: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: f0688bca-a9f8-4e7d-ae18-746ea99d4725
From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: kernel@pengutronix.de,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-pci@vger.kernel.org,
	Michael Ellerman <mpe@ellerman.id.au>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	Russell Currey <ruscur@russell.cc>,
	"Oliver O'Halloran" <oohall@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@redhat.com>,
	Namhyung Kim <namhyung@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Borislav Petkov <bp@alien8.de>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	=?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5@gmail.com>,
	Zhou Wang <wangzhou1@hisilicon.com>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	"David S. Miller" <davem@davemloft.net>,
	Giovanni Cabiddu <giovanni.cabiddu@intel.com>,
	Sathya Prakash <sathya.prakash@broadcom.com>,
	Sreekanth Reddy <sreekanth.reddy@broadcom.com>,
	Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>,
	Frederic Barrat <fbarrat@linux.ibm.com>,
	Andrew Donnellan <ajd@linux.ibm.com>,
	Arnd Bergmann <arnd@arndb.de>,
	Yisen Zhuang <yisen.zhuang@huawei.com>,
	Salil Mehta <salil.mehta@huawei.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Vadym Kochan <vkochan@marvell.com>,
	Taras Chornyi <tchornyi@marvell.com>,
	Jiri Pirko <jiri@nvidia.com>,
	Ido Schimmel <idosch@nvidia.com>,
	Simon Horman <simon.horman@corigine.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michael Buesch <m@bues.ch>,
	Mathias Nyman <mathias.nyman@intel.com>,
	Fiona Trahe <fiona.trahe@intel.com>,
	Andy Shevchenko <andriy.shevchenko@intel.com>,
	Wojciech Ziemba <wojciech.ziemba@intel.com>,
	Alexander Duyck <alexanderduyck@fb.com>,
	linuxppc-dev@lists.ozlabs.org,
	linux-kernel@vger.kernel.org,
	linux-perf-users@vger.kernel.org,
	linux-wireless@vger.kernel.org,
	linux-crypto@vger.kernel.org,
	qat-linux@intel.com,
	MPT-FusionLinux.pdl@broadcom.com,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	oss-drivers@corigine.com,
	xen-devel@lists.xenproject.org,
	linux-usb@vger.kernel.org
Subject: [PATCH v2 6/6] PCI: Drop duplicated tracking of a pci_dev's bound driver
Date: Tue,  3 Aug 2021 12:01:50 +0200
Message-Id: <20210803100150.1543597-7-u.kleine-koenig@pengutronix.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20210803100150.1543597-1-u.kleine-koenig@pengutronix.de>
References: <20210803100150.1543597-1-u.kleine-koenig@pengutronix.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
X-Patch-Hashes: v=1; h=sha256; i=yGEodBYjARp1eJPqP9/n/KpfKo6ALJzXr+t0LDtBUZM=; m=JRVTmu6nPliiiBslnXnYAnMTr94GnCwSSGQey1Vdrcw=; p=VXwrm6IwhM33tInq/RiiFiTf7eEJSweS+vvs0hZjA4Y=; g=dfdf1d247df87fe752d1cd93dee47b352d54b9dc
X-Patch-Sig: m=pgp; i=u.kleine-koenig@pengutronix.de; s=0x0D2511F322BFAB1C1580266BE2DCDD9132669BD6; b=iQEzBAABCgAdFiEEfnIqFpAYrP8+dKQLwfwUeK3K7AkFAmEJFAcACgkQwfwUeK3K7AlY4QgAoQ1 tszu0I41Zf6v0DKUasmGS98o7Yfn0OAkexq7Ntd7+GO5Lwc/dR4OcqooMePO5FWdYTzhGFWsTXAAD LGujFGBNIwdOZY7PsRSHFlhr8DoTUgXyHh0WvMo6wsFShQYS62Ay8MgAU36nYDzrGR94CrNoCANwS h+SL7+g+mtMAbQlS/p+3RSIYxyZ7XVHTUqkYWvnbsQpiqJVjtySAaBAdOsmo1ks0PezNBWORDnTZx oiJmCi1ZKOwWmWW0oqRhmNELiPQJzEh2XFGYcJCfDILAltZ8JK14Akc3BKVCwfr8+rcyFeI1PC7hB WPmvafaXTQnzw47uX9Cc5oG6/RB92PA==
Content-Transfer-Encoding: 8bit
X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2
X-SA-Exim-Mail-From: ukl@pengutronix.de
X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false
X-PTX-Original-Recipient: xen-devel@lists.xenproject.org

Currently it's tracked twice which driver is bound to a given pci
device. Now that all users of the pci specific one (struct
pci_dev::driver) are updated to use an access macro
(pci_driver_of_dev()), change the macro to use the information from the
driver core and remove the driver member from struct pci_dev.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
 drivers/pci/pci-driver.c | 4 ----
 include/linux/pci.h      | 3 +--
 2 files changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c
index 740d5bf5d411..5d950eb476e2 100644
--- a/drivers/pci/pci-driver.c
+++ b/drivers/pci/pci-driver.c
@@ -305,12 +305,10 @@ static long local_pci_probe(void *_ddi)
 	 * its remove routine.
 	 */
 	pm_runtime_get_sync(dev);
-	pci_dev->driver = pci_drv;
 	rc = pci_drv->probe(pci_dev, ddi->id);
 	if (!rc)
 		return rc;
 	if (rc < 0) {
-		pci_dev->driver = NULL;
 		pm_runtime_put_sync(dev);
 		return rc;
 	}
@@ -376,7 +374,6 @@ static int pci_call_probe(struct pci_driver *drv, struct pci_dev *dev,
  * @pci_dev: PCI device being probed
  *
  * returns 0 on success, else error.
- * side-effect: pci_dev->driver is set to drv when drv claims pci_dev.
  */
 static int __pci_device_probe(struct pci_driver *drv, struct pci_dev *pci_dev)
 {
@@ -451,7 +448,6 @@ static int pci_device_remove(struct device *dev)
 		pm_runtime_put_noidle(dev);
 	}
 	pcibios_free_irq(pci_dev);
-	pci_dev->driver = NULL;
 	pci_iov_remove(pci_dev);
 
 	/* Undo the runtime PM settings in local_pci_probe() */
diff --git a/include/linux/pci.h b/include/linux/pci.h
index 778f3b5e6f23..f44ab76e216f 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -342,7 +342,6 @@ struct pci_dev {
 	u16		pcie_flags_reg;	/* Cached PCIe Capabilities Register */
 	unsigned long	*dma_alias_mask;/* Mask of enabled devfn aliases */
 
-	struct pci_driver *driver;	/* Driver bound to this device */
 	u64		dma_mask;	/* Mask of the bits of bus address this
 					   device implements.  Normally this is
 					   0xffffffff.  You only need to change
@@ -887,7 +886,7 @@ struct pci_driver {
 };
 
 #define	to_pci_driver(drv) container_of(drv, struct pci_driver, driver)
-#define pci_driver_of_dev(pdev) ((pdev)->driver)
+#define pci_driver_of_dev(pdev) ((pdev)->dev.driver ? to_pci_driver((pdev)->dev.driver) : NULL)
 
 /**
  * PCI_DEVICE - macro used to describe a specific PCI device
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Aug 03 10:17:35 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 10:17:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163394.299323 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mArUH-0005qK-Mg; Tue, 03 Aug 2021 10:17:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163394.299323; Tue, 03 Aug 2021 10:17:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mArUH-0005qD-Hx; Tue, 03 Aug 2021 10:17:29 +0000
Received: by outflank-mailman (input) for mailman id 163394;
 Tue, 03 Aug 2021 10:17: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 1mArUG-0005q3-3c; Tue, 03 Aug 2021 10:17: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 1mArUF-0001Ut-TP; Tue, 03 Aug 2021 10:17: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 1mArUF-0000t5-JL; Tue, 03 Aug 2021 10:17:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mArUF-0007Hv-Ia; Tue, 03 Aug 2021 10:17:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=F8HLpXJU4XBHgi5cDKY8IjGmNUR3e2euYu9mk7y0b/s=; b=djl31vuccq5n2L46tlsFGjjcDO
	lVMmalBo0RINnX0az+zK9/O1bMXkFpu2RJb/Lbll9VVn+Y8b+URznk1evjhueNxX4v712aJ6KuIeo
	oZAUtXOBtNeRP1Z+pdxHWPfG+1ezhqPk0h7h1UFv7rTQNmdCI0z00pphgO/i9g8P616M=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164086-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 164086: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt: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-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=e066ca5acc2ee3b5db5c005e1a548b05e753e07d
X-Osstest-Versions-That:
    xen=e066ca5acc2ee3b5db5c005e1a548b05e753e07d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 03 Aug 2021 10:17:27 +0000

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

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 164077
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164077
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164077
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164077
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 164077
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 164077
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 164077
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164077
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164077
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 164077
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164077
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164077
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-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-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  e066ca5acc2ee3b5db5c005e1a548b05e753e07d
baseline version:
 xen                  e066ca5acc2ee3b5db5c005e1a548b05e753e07d

Last test of basis   164086  2021-08-03 01:52:55 Z    0 days
Testing same since                          (not found)         0 attempts

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


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

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

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

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


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Tue Aug 03 10:42:55 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 10:42:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163402.299338 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mArsf-0000SL-K8; Tue, 03 Aug 2021 10:42:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163402.299338; Tue, 03 Aug 2021 10:42: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 1mArsf-0000SE-H3; Tue, 03 Aug 2021 10:42:41 +0000
Received: by outflank-mailman (input) for mailman id 163402;
 Tue, 03 Aug 2021 10:42:40 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OfYh=M2=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mArse-0000S8-Dq
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 10:42:40 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 4ef422fc-a6c1-4a50-8111-5b4a114e9fd8;
 Tue, 03 Aug 2021 10:42:39 +0000 (UTC)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2107.outbound.protection.outlook.com [104.47.18.107])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-33-vZY-dygmM2qGi3BajRxXcA-1; Tue, 03 Aug 2021 12:42:36 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0402MB2829.eurprd04.prod.outlook.com (2603:10a6:800:bb::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.23; Tue, 3 Aug
 2021 10:42:35 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4373.026; Tue, 3 Aug 2021
 10:42:35 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR2PR09CA0019.eurprd09.prod.outlook.com (2603:10a6:101:16::31) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4394.15 via Frontend Transport; Tue, 3 Aug 2021 10:42:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4ef422fc-a6c1-4a50-8111-5b4a114e9fd8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1627987358;
	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=BuRoum/Nad4Gf6RJJTl7K+XY4MVcbHSdL+3jOnUs6r0=;
	b=Rzb/3IaUJZtAF/9XjuBLueto7gO2TpMY+eQkxJT2XvZbgr2fKuJigs4cOqmvPZzSOXNToX
	S79sVcEaUAW0jfW3EajegjZIfLJa0AuMgW62VF5Zdc+keJySo0rQp2gsvo+BoMZcq+C/Et
	xGO1n/9jwD6tiok0C7J5GhxaRF03NjE=
X-MC-Unique: vZY-dygmM2qGi3BajRxXcA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LwMSIVcIp0GVc3UzczpDnOHMuAxPrUj7/A6VpaPMFgb3Lwi9nw37ncS+BF6x27tSHZquUVMeiJydByJOfqXXocaw0n2edh0HYwglCvmi3BYsPnJJDj1QLjkwEsFHMKSqIvrB5YNKasKccQGMaOnN9xupcckz2UslmPut+evP77fW0AL8CfloP2gKS0EUkg+9lmHN8tj/V+/M2rMsnNGmajpYSyv/B1tUV7DFpsXh1bp4Z5yhxQJ7YagiVPZqzdW1Z8ZQisJThBMHVbGr/XCcWk518NHNBk7Qkbu51pjUbxNTtBRcrsSK7chrTYrzYaTPlY0pNE2Ny80VqbD8CvyehA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dMkVA/l2nrqW9yireGHA+41NCyqRsWOtb5IB3/UnIjw=;
 b=f2W3XayjpGWUNhHQPOtdgaLSBkHAW6IqcbLKVLW9MOcTVqChsqgQ9hivC45B+/hTqZQxlMjKA/Iz5PbmI0wRS0gJVqB08yaGCAmCWC2IzJ0h+3KDfejMEscGBO56IfbFb1ZIgDUk67J2sQ6eyaEkcY/JtOCz+/hSnHbecqROzy+eDtar+a4OWhd5TALB0uMQY6bU/NUVXrd66GYsr3bWQXB8nIgiEN2AIOsgsj4P8cBNGAty1mzjUP1m6fX0+pCPyCVD53hadxWOinlQVGTXgp6hmPkzZkZowgXDt36fCrpMzx+70v60oYC4erM2ZLqNVn+OqI8wlTyjSEjtPAomow==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: kernel.org; dkim=none (message not signed)
 header.d=none;kernel.org; dmarc=none action=none header.from=suse.com;
Subject: Re: [PATCH 2/2] xen: rename wrong named pfn related variables
To: Juergen Gross <jgross@suse.com>
CC: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, "H. Peter Anvin" <hpa@zytor.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org, x86@kernel.org
References: <20210616073007.5215-1-jgross@suse.com>
 <20210616073007.5215-3-jgross@suse.com>
 <8dbeb9ea-56c9-de30-4d5f-fc9c0ced6ac4@suse.com>
 <79434ec4-4543-97ad-b010-3f2c1b6a55ad@suse.com>
 <b9c64bcd-4192-0075-ddf5-711e84301063@suse.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <94d629fd-27e2-f2be-ed26-c3e04e95c5b4@suse.com>
Date: Tue, 3 Aug 2021 12:42:32 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <b9c64bcd-4192-0075-ddf5-711e84301063@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: PR2PR09CA0019.eurprd09.prod.outlook.com
 (2603:10a6:101:16::31) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: dfc0995f-998d-49d9-949a-08d9566b67b1
X-MS-TrafficTypeDiagnostic: VI1PR0402MB2829:
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB28295A4568E4C692BECE2F2BB3F09@VI1PR0402MB2829.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PmCxdNryIsX0vr8BQHusl8I7ssAdVmulsuse7dQY8ajnyTUmrgyrKnzPmDiiIb/4Z+CDmMSCZuSTts7yKxrNV4z5mTbDgCWDIKuWRqVk01oF0mTc+CegiXcPQ+ZxK04sZuO+k8E2R1dlUkTZzojfxyGJMkec9W47kY9a2F5Mor7KfmKSSzd8KhlCBbfpuTvNMTwOMwSlZVNe4ILrwZUpvZ+RA5BDdDefnziSosAMuFceM6rpwtokn/j7tjFPIUkVCXg3wrv+KxFB5XSvtgIkaWsLspeFVn2HKZuTJsg+4mPZ5gdvVzdOQjeDEbfjA3/TtUfnW3eZsXq3W0ilBpwvdABVRM2Vs6DWslNxSKBOu6OWNhkH35r7EOm/Ut9eDlGNs8/Csl0SeRLWaTl+RKuRiTeuiufreY7Ubc6VX/dFEYaWtUf3HHoUaIcSO1kmHCjML7hGamn1PSlt3hrPCyLH5odHNwWaEl55lYhY86Vm+vkeRv7hpqRpf141FXsNQ8SYgUSexFk3quXi3tby6ZBnU4OHpC2KzyMA+8L8mknnYkaEBQINCmOzK2iVpXcVsnZPQBHOYbBvCYUtYFMHgsdZuajG/kpCgxHOrMdMzM7bhoog5diFQykY2Itj6cuPnW9oKLv03nw3dG06BSjun5loxu3iB+viWzHCd4F797M5TlAZEMdQsOnECEZWDRfakFzKakLBFqoCnTkvNxdo7MlqwTTG5wqUufAAMW23g08XdN0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(39860400002)(346002)(376002)(136003)(396003)(478600001)(83380400001)(66476007)(37006003)(316002)(16576012)(36756003)(66946007)(53546011)(5660300002)(8676002)(31696002)(38100700002)(66556008)(86362001)(54906003)(8936002)(31686004)(2906002)(6486002)(26005)(6862004)(4326008)(6636002)(956004)(186003)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?j8t4LPYmuM+UA/XptHS0QuCgqBEf3m/LA+jBllUfEKaKDVX3cxC84TA05+gQ?=
 =?us-ascii?Q?hWFmdmDtzIH1lzw6y2ibwmG9l+cKNpvkR2vKvT3ANP3SJE0wv1tR8mLVnmNm?=
 =?us-ascii?Q?W1w+sm6bEq+gIOOn8S6X2PtVTtaPpV5KN5qxSU2eMsJUvwZFR1dxp/UgKEKE?=
 =?us-ascii?Q?XZEhaNa+eOjJNl4azExLP6UIxzP3xuP2YHGtXLEXCW4GRIgAO3973rjpDIVZ?=
 =?us-ascii?Q?YJx6neqz/GoxsXQgKb+0u5iZPrQ4n6JGSfp4lql7clIu2ugRIrzKFoLpnsvM?=
 =?us-ascii?Q?RjfZv8Ui3zX6VyHcjLyflD9/7y0DbCKQsgu+Y4jF1FZNKYhVpbQwMbAuMGei?=
 =?us-ascii?Q?pHqrXvXyCtI3utEMDXNDqPMGiYqCii81fglzuSFiG/DU2h4L2AQ8pEw8MYP3?=
 =?us-ascii?Q?HeN3/ws7yIt7Q6kKjogG54Xl/hWXNtGOUtdpDRav/DovrTlRPIIgLNLH9KU8?=
 =?us-ascii?Q?zRL+ziGFKR/h32Q4gNSm2KOA4iHFDo3oF0JKcML/OTZ3dgTc0B51v4udyQHY?=
 =?us-ascii?Q?fjYJ/EcgS+DmDuqK28swnRg+t2AVQM9aCCLArx2Y1x6HZsCCTdLrhm81t21O?=
 =?us-ascii?Q?IeBAV98BxM9PLRdfq8ikJGdx8W82JQ9c8HC6RylLTFqzGyymZlIYygZnmApH?=
 =?us-ascii?Q?14nMSms6K9Y7xF04KDKmC419um650vY7qJbjbDKe5cF936ZFVfamMszSI8mf?=
 =?us-ascii?Q?qYQYC4l7rSdEIPDN+CuERnMcfbYVBfs4odbEe9akNYhDGqtfqzACzrmJ7hkO?=
 =?us-ascii?Q?OblgPN89wdK49p5k6ZQs8JbWZ2cdNRjBiaZIngQuo9UBdz52rru7E0To1uRh?=
 =?us-ascii?Q?XBSRDG0UrRbF1K09sjS9gewyH727c6Dbg7lS2MQ5DvNXYnwkoNnM6ytzfMfU?=
 =?us-ascii?Q?3COes1bOJB2CEc35Dprd7A8XE9i8eFrTHTjJ96HhDOpMjYf/5mQMhcQFNXES?=
 =?us-ascii?Q?NGXYvA46Z06x8JQQFcrvd62ZiD9M5urjznnW2+jUKaSQRz/55YDj+Ier25sZ?=
 =?us-ascii?Q?BuuPRIEwB667KAsZufyAtafGXDQZcSVy7TwR67nDf5R3nGX+ohmjDvE6hc8j?=
 =?us-ascii?Q?sSFjBFQ6YI1NM5bqBI0AbG8644hbEWZQx18llsRae3t2Hw8y0t31UHlIaXWz?=
 =?us-ascii?Q?lySgSpcZyaVGJbFVX79yLTIAUk/mefEp1/PSkaSYiNThfD2rSS6hkWGXUvfH?=
 =?us-ascii?Q?uVnKoeq5Bz1maX88eEYjl+amggYzd2QOc4i1EM9ObH4p0q0ikfYwo0MB5C0T?=
 =?us-ascii?Q?B2m11AlkCaRjWinfgFL+rnZrXMRBCCwA3+GE0EFKx0O+p6pyprZRxOFU12/i?=
 =?us-ascii?Q?jJIb7Dpmok99378J+iRStOg8?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dfc0995f-998d-49d9-949a-08d9566b67b1
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2021 10:42:35.2365
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: F0e6H7pmWn2ZNpmsCif4akAejTQjlU6BV79PbrC3Va03NZ1v+8R7VbkZJnI3gCe2gNuttyBHfsxtmbzypvQqjg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB2829

On 30.07.2021 11:00, Juergen Gross wrote:
> On 16.06.21 12:43, Juergen Gross wrote:
>> On 16.06.21 11:56, Jan Beulich wrote:
>>> On 16.06.2021 09:30, Juergen Gross wrote:
>>>> --- a/arch/x86/xen/p2m.c
>>>> +++ b/arch/x86/xen/p2m.c
>>>> @@ -95,8 +95,8 @@ unsigned long *xen_p2m_addr __read_mostly;
>>>> =C2=A0 EXPORT_SYMBOL_GPL(xen_p2m_addr);
>>>> =C2=A0 unsigned long xen_p2m_size __read_mostly;
>>>> =C2=A0 EXPORT_SYMBOL_GPL(xen_p2m_size);
>>>> -unsigned long xen_max_p2m_pfn __read_mostly;
>>>> -EXPORT_SYMBOL_GPL(xen_max_p2m_pfn);
>>>> +unsigned long xen_p2m_max_size __read_mostly;
>>>> +EXPORT_SYMBOL_GPL(xen_p2m_max_size);
>>>
>>> Instead of renaming the exported variable (which will break consumers
>>> anyway), how about dropping the apparently unneeded export at this
>>> occasion?
>>
>> Why do you think it isn't needed? It is being referenced via the inline
>> function __pfn_to_mfn() in arch/x86/include/asm/xen/page.h. And
>> __pfn_to_mfn() is used via lots of other inline functions and macros.
>>
>>> Further it looks to me as if xen_p2m_size and this variable
>>> were actually always kept in sync, so I'd like to put up the question
>>> of dropping one of the two.
>>
>> Hmm, should be possible, yes.
>=20
> Looking into this it seems this is not possible.
>=20
> xen_p2m_size always holds the number of p2m entries in the p2m table,
> including invalid ones at the end. xen_p2m_pfn_limit however contains
> the (rounded up) index after the last valid p2m entry.

I'm afraid I can't follow:

xen_build_dynamic_phys_to_machine() sets xen_p2m_size and then syncs
its value to what so far has been xen_max_p2m_pfn.

xen_vmalloc_p2m_tree() sets xen_max_p2m_pfn and then syncs its value
to xen_p2m_size.

I therefore can't see how the two values would hold different values,
except for the brief periods between updating one and then the other.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 03 11:13:54 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 11:13:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163415.299350 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAsMl-0003f0-9m; Tue, 03 Aug 2021 11:13:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163415.299350; Tue, 03 Aug 2021 11:13:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAsMl-0003et-6U; Tue, 03 Aug 2021 11:13:47 +0000
Received: by outflank-mailman (input) for mailman id 163415;
 Tue, 03 Aug 2021 11:13:46 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OfYh=M2=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mAsMj-0003en-Up
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 11:13:45 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 4d37fde0-d250-491c-9580-894aca751db5;
 Tue, 03 Aug 2021 11:13:45 +0000 (UTC)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2056.outbound.protection.outlook.com [104.47.14.56]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-26-LhFKX99qMRSnSiP8GI10og-1; Tue, 03 Aug 2021 13:13:43 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0401MB2333.eurprd04.prod.outlook.com (2603:10a6:800:28::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.18; Tue, 3 Aug
 2021 11:13:42 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4373.026; Tue, 3 Aug 2021
 11:13:41 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FR3P281CA0039.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4a::11) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4394.11 via Frontend Transport; Tue, 3 Aug 2021 11:13:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4d37fde0-d250-491c-9580-894aca751db5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1627989224;
	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=xWaLnr6aNgmuj2Dd6xZE5CJ2eUlvhSileQ7UcXxl4BE=;
	b=QCv/3iAEB1/yRF2sURuZuBlXAO9Vf2Zrt80HZ6heXNmMuX66RkjCSz5Bg0gFoRtAKT2Vz3
	LmTYL1KD1Ss+vYB+7bYue/2vVGXd/QdiIi6tjNiUrm0bk6s4PR8qzQ+1yzSoV8w1n1vkmY
	TvmezxAWSGO6AWJQ33VvFwgxWicjTC8=
X-MC-Unique: LhFKX99qMRSnSiP8GI10og-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=W6lnO6Wsvo8ZhxqzHPhQkyxMJtVcC/S0NRTVTZCRhwSayRu4nHAaSPTYFchZ1ewYHGZv24VyLt/hyZpvFxFA5Gg3fkK/R5+jhZUl1xQvPbesaJskGiQWuSDrRN+LEOrZUrIOPZQB+eq2LCXCsx0Y1MWWNudd8FzI87W2uBTun5kP7faq4STubl7P6ShjASMsFa4Z0nq3nh86hALCkN2nTRMSqmUQ/CZgYW0YO0JMirvGvfCfGpep0XP2em5ZEQw5MvDUWMUjIkuTLFHYQqUOhUp/W05DxRFiUyntLaX889XXh/QWUHyck2y6YggVpjBAGgv7RRKneXnJHELVlNfmJg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xWaLnr6aNgmuj2Dd6xZE5CJ2eUlvhSileQ7UcXxl4BE=;
 b=RGXoZn5f85KCftzYdI5xNuKgQ5DqpC1XLrhtUEJb90PuQHVZ0G0sP0sUXZgw2zmOMcmcIDV87CXQrRNxof0cuAVCTK8sKYc7GcTZPUobsN9dcH9KEuGMCtP8f53GdfA1ZYJ08uYKkDX8qCs2jMfGHNqUKA7w9wLog7ypDs8T8Nx6NE91NK7lJvdrhbBHmOFhSS+cQ5Q7RkOW4J/E90dJDX0wWEORIRk0XovPGA9sAkTFPj5ONV4rTt70pr1/vv2sEGGW0/mb/lzXFhD9wnpnjdp+riIGzbIx9ZE5LOZ5rYo8DGON7+69kyJdZM90T/5mK2quYCfHtRkzsacY9KCgzQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: citrix.com; dkim=none (message not signed)
 header.d=none;citrix.com; dmarc=none action=none header.from=suse.com;
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Kevin Tian <kevin.tian@intel.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] VT-d: Tylersburg errata apply to further steppings
Message-ID: <07ded368-5c12-c06e-fd94-d7ae52d18836@suse.com>
Date: Tue, 3 Aug 2021 13:13:40 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0039.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::11) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 657b5aa6-83a6-4c9d-fffe-08d9566fc04d
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2333:
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB23331048FBAC6BBC4BA45E6DB3F09@VI1PR0401MB2333.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yXah1SBRnGPgfvlT7rZVJr3mq8Dc+llgno8pf3gvtwAD+gZZ7qgRnWbuegSRCeWhFIiguea5SN7J2LT7tFH7RMBv9zQa9HF29U94NhGqoImoQ0HN00OuUbr0CmWxSTh6T92q2LfLgMIkBhHeGDZfZfSkKUi3iuPQSqovjOfIXJdan36z3Bwro/v3U7/pQ2ZuHNPfT42mWHfThOxR+L5Q76mudJJTx7e2UmvxUFNRtI5iu0d++CBDkOlmWbDn0nVNskDr7desvuv6nyifHki7x2662l79SWgIyZdjUOQ5ktueabq4r07snM1xwsI2UquTARvdQFX5vEy3GiRYCe+sBk+kFneUu4XDD0Lci/5mtPhd+sPs4Gl1hJsgqCEwJrnDevZIubih4vzPA3w71gxY5KpbpkWx+py7AOLL9aEyr2SafU+n0mLwLv8uQKMwfcCrcKwFZqMJmdqU+04qILQpczIiFO1xH3SCUNAMj5dJeQHKvVua3lzhwBPr+4uafmEfKpHEPvncaUVu13XdZrjkbQijlPfmG7/6hJ8ZfJwFQVfdPZBIabjtVgPRTmmZ+kaSn/ntHemyHjQqEQyyv3la8GsCHgUlQiz0YT0NOujQVMStAjtmakvaAokNd6JxaYEZqvPP18261l9Hcbg5eYWeMy0A3/bsvobDraYFug9GBemc4iZohiRDOVWJKyLREw60/eE4OzA1jlPCB1JDaauutyLtrarsa9oD8aDryG2zL1M=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(366004)(346002)(39860400002)(376002)(136003)(36756003)(2616005)(31696002)(956004)(8936002)(186003)(26005)(2906002)(8676002)(38100700002)(83380400001)(478600001)(66574015)(5660300002)(16576012)(31686004)(66476007)(6916009)(86362001)(316002)(6486002)(66946007)(66556008)(4326008)(54906003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RlhVaTN1Z1d0VUVDMWs5QVV3Y0drcnJRT0RiS3FuK3MzMG1laGVXYzJqK200?=
 =?utf-8?B?aDB1ZVNPQmJqSW5zQXBEZkphTW5vKzhtNHpydW9aZkhNOVRvSFlSS1pqc0ZC?=
 =?utf-8?B?WDI5cEQ1ZkIvcCs0cXphbXRTOExNRjNKcVlmTWhNZ2VkZGtOMjhxc1RWU2pp?=
 =?utf-8?B?OVA4b0xHVXZBZm1yeGx4T2t4Y2VFbm9COUVOWld4YW9UMTZselRZYWpwTlpu?=
 =?utf-8?B?U2M5Y0ZsVVJpL2tZTVpEQ29ma2JrWGF1dGhWbHpoaGo1MlZ2TjZ2Sm1vY1NX?=
 =?utf-8?B?YnNERSt4MmxwZE43WGNGVk1henFRem5NV3MvdzR2Umt4VnZXQ296MFp1NVVX?=
 =?utf-8?B?SEoxbk5UK1FDRFhhaHBsdlhzSGZzSXlrYW8rUTFrRkFEelJMNTc3cWxZb3RC?=
 =?utf-8?B?Y3N1Sm1FcTRLK0xEVVFtbDZwL1dVazBtVEYvd0tUM2g3RFZxc0I0QmdDUWcv?=
 =?utf-8?B?VHF5aU5KMThjc3M4em1YcGhYRVFpYlJmZXZKMmowcndBUVR0ZEZYZXZCVzRr?=
 =?utf-8?B?NElYMCszdGxvVTNLY042YUEyb0VGWnl2OUcwaDAvN29ueHNyMDc3aXJHQ3lX?=
 =?utf-8?B?NU1pTEVVdEkzTXVHdVJaQ3Eray9wY1B6YWR4MmlBZ2F3UFdwV3ovWEJ5dWpq?=
 =?utf-8?B?cGhNcHZiT1lXTlVJVmU2NGdTOFlISFJhRmVsM0RDZXRDNkVLSTdjNnpEc2JC?=
 =?utf-8?B?MUxYQVNHSzhUZklVMU9NSWt5TGFoUFJBaVlRSjIvY0hNeUxIQXozRWw4ZG9i?=
 =?utf-8?B?WFh3SWJ4S0pySzhQR1luSTV2ajVJbDdlVmhxdzhJRG1mWEhIRDN6QUFiU2dG?=
 =?utf-8?B?N1lwNWFQY2NldzR0a2NOUnFKdFhuamk2OTJ2SnlxaWFxcFc5TGpNcDN4Y2dF?=
 =?utf-8?B?aStPa2ExZFI2bW9qVTZSWjczTHIzamM1azNWU2tjaDlmUXMwWnZuRThjYUJl?=
 =?utf-8?B?WnRVaEtQOEY3Y0UxeWU0MFNPbG9nSXFKd216ejYzemFXcTAyVkVQSGo3VEpu?=
 =?utf-8?B?Qkk0MVVobXViRlh5b2g2aTk4bTJXeDBJbFllRnRxRzdqL0ZmNGVDUVRhUFlk?=
 =?utf-8?B?TFFyalBmMXF4Tm1zMFo2WWN2KzVsNFlPOXBwdWs2SWRMYzY3cHVIREFRUVM5?=
 =?utf-8?B?WnI4S1EwT0hJa0pEUXVOdnlGTXZGL3dUMWNNK2lTQzNXK0ZPRkZwZHpQU3lC?=
 =?utf-8?B?MnoxT1hBeWJpdVhVTy9COUdGd3NYeG1pb28yRkd4SW93Z3I3cGttVzB1c1NT?=
 =?utf-8?B?SVdjM0tLdURTaDNXN0lCNFI0K2lHUHZTZXdMUUJ3T09tRTlzRzFPdTlsakQ5?=
 =?utf-8?B?OW9PMzJCRkJMRWd0ZWNYSzNmeVhtcjBRVXF1SjJ4NWZVZ1ppOXc4MmdITlNu?=
 =?utf-8?B?b1dBNEliQThIV3FUYklNZTJCZFFjaTE2aFA0RzMrTTIxUG0wS1lLbUVCdFdn?=
 =?utf-8?B?bTJwRnJWZ1B1eVMrd2doeUt3SWtlcUhzSm4yMVNZdW5CQVJmV0pQNWErS2lo?=
 =?utf-8?B?Z2laeCsyUVk5NlVLTFBIRlVhcUwvKzZpU212RjNnV09KUDY2SWg4NitKWTZv?=
 =?utf-8?B?aEpnK1BzcmQvWVRSZU1UakdwR05KS0ZNaVRReXd0SkM3b0Y5d1c2WG92WkUy?=
 =?utf-8?B?aHJEZEI0YU44bjdtdDNQZ0l6MDIrVFIzUzVaNk5kMjZiVU9yc2VFRmEvRU45?=
 =?utf-8?B?ZlhQVGdLL3VxRmhRUG5ycXZ1djhCcEJWRlQ5Z0hjazl4UmhvbHlnd0lPYlRu?=
 =?utf-8?Q?EQ394GmF72TeKUft7K1OfqmLnViv+qNweqsGWZE?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 657b5aa6-83a6-4c9d-fffe-08d9566fc04d
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2021 11:13:41.8640
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: D7qXUx7stsQJLgXHb3X3my3sxt1T1Wo8mfyEtQO/rFGyV9+SyYZcEAl8BnngEWZmBpo8Dm8abaBemmHFMg2HzA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2333

While for 5500 and 5520 chipsets only B3 and C2 are mentioned in the
spec update, X58's also mentions B2, and searching the internet suggests
systems with this stepping are actually in use. Even worse, for X58
erratum #69 is marked applicable even to C2. Split the check to cover
all applicable steppings and to also report applicable errata numbers in
the log message. The splitting requires using the DMI port instead of
the System Management Registers device, but that's then in line (also
revision checking wise) with the spec updates.

Fixes: 6890cebc6a98 ("VT-d: deal with 5500/5520/X58 errata")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
As to disabling just interrupt remapping (as the initial version of the
original patch did) vs disabling the IOMMU as a whole: Using a less
heavy workaround would of course be desirable, but then we need to
ensure not to misguide the tool stack about the state of the system. It
uses the PHYSCAP_directio sysctl output to determine whether PCI pass-
through can be made use of, yet that flag is driven by "iommu_enabled"
alone, without regard to the setting of "iommu_intremap".

--- a/xen/drivers/passthrough/vtd/quirks.c
+++ b/xen/drivers/passthrough/vtd/quirks.c
@@ -268,26 +268,42 @@ static int __init parse_snb_timeout(cons
 }
 custom_param("snb_igd_quirk", parse_snb_timeout);
 
-/* 5500/5520/X58 Chipset Interrupt remapping errata, for stepping B-3.
- * Fixed in stepping C-2. */
+/*
+ * 5500/5520/X58 chipset interrupt remapping errata, for steppings B2 and B3.
+ * Fixed in stepping C2 except on X58.
+ */
 static void __init tylersburg_intremap_quirk(void)
 {
-    uint32_t bus, device;
+    unsigned int bus;
     uint8_t rev;
 
     for ( bus = 0; bus < 0x100; bus++ )
     {
-        /* Match on System Management Registers on Device 20 Function 0 */
-        device = pci_conf_read32(PCI_SBDF(0, bus, 20, 0), PCI_VENDOR_ID);
-        rev = pci_conf_read8(PCI_SBDF(0, bus, 20, 0), PCI_REVISION_ID);
+        /* Match on DMI port (Device 0 Function 0) */
+        rev = pci_conf_read8(PCI_SBDF(0, bus, 0, 0), PCI_REVISION_ID);
 
-        if ( rev == 0x13 && device == 0x342e8086 )
+        switch ( pci_conf_read32(PCI_SBDF(0, bus, 0, 0), PCI_VENDOR_ID) )
         {
+        default:
+            continue;
+
+        case 0x34038086: case 0x34068086:
+            if ( rev >= 0x22 )
+                continue;
             printk(XENLOG_WARNING VTDPREFIX
-                   "Disabling IOMMU due to Intel 5500/5520/X58 Chipset errata #47, #53\n");
-            iommu_enable = 0;
+                   "Disabling IOMMU due to Intel 5500/5520 chipset errata #47 and #53\n");
+            iommu_enable = false;
+            break;
+
+        case 0x34058086:
+            printk(XENLOG_WARNING VTDPREFIX
+                   "Disabling IOMMU due to Intel X58 chipset %s\n",
+                   rev < 0x22 ? "errata #62 and #69" : "erratum #69");
+            iommu_enable = false;
             break;
         }
+
+        break;
     }
 }
 



From xen-devel-bounces@lists.xenproject.org Tue Aug 03 12:21:40 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 12:21:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163423.299361 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAtQD-0001jz-Cc; Tue, 03 Aug 2021 12:21:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163423.299361; Tue, 03 Aug 2021 12:21:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAtQD-0001js-9c; Tue, 03 Aug 2021 12:21:25 +0000
Received: by outflank-mailman (input) for mailman id 163423;
 Tue, 03 Aug 2021 12:21:24 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TXgv=M2=invisiblethingslab.com=marmarek@srs-us1.protection.inumbo.net>)
 id 1mAtQB-0001jm-Qq
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 12:21:24 +0000
Received: from out1-smtp.messagingengine.com (unknown [66.111.4.25])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 508da7cb-f455-11eb-9ab9-12813bfff9fa;
 Tue, 03 Aug 2021 12:21:22 +0000 (UTC)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.42])
 by mailout.nyi.internal (Postfix) with ESMTP id 6A6AA5C005E;
 Tue,  3 Aug 2021 08:21:22 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute2.internal (MEProxy); Tue, 03 Aug 2021 08:21:22 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 3 Aug 2021 08:21:21 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 508da7cb-f455-11eb-9ab9-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=fdfVUJ
	IjHKOFhvc1n+5ZCW19S3YLW3ybRKC0frijbBs=; b=NfQhBp8jItpXmGtKPzDAf+
	GJJFiC0j1t2XhY5ARHiKoSGgUfdi4g7NJo2l6ePLSH3lFJ82+A9yZ7MsiG2QAeCz
	YE6GBmhHzT7CzvuDT8/vyIIhL7pOmCMT/dE105FcsrY7KEZCt4NwLMRejU95MhKu
	Q1V+v+uyLZefNcUKyoLTpZmF85/0ByEKFwU4SeAClp66LoAaFO/dYE1PHFH5RkgJ
	+75JiU+lTUfx2h6GJY9pDta/2iyMCERsE47ecQT0wncYDaI0L+4KESjtxM8Cgyll
	d8oSCOa2am3Cp0eeTHuDlh07Vvwmgsf6FhaOGxgzgr1BOeTWK0UA9HZZ3kaHeFLg
	==
X-ME-Sender: <xms:wTQJYcdzhTvJLYjw2b-ZNp2PD18Rt1y42P745ZR-BvmYBJX0n35Cew>
    <xme:wTQJYeMxQdOudpldI_f3eQgJ6Xmwc5mV1FBAvS2EJTFhSWAp_0kCg02mILOvyF4uS
    sVgUJUFMVuW-A>
X-ME-Received: <xmr:wTQJYdiHOFRtxofKQCqnJ1f1wP6Yy1vMLtokRfYHLpmYqWj1rzdm6lFrhMlboZAf5qARoKEkF7EnB0xv5F-pQEmcSktq78_R>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrieeggdegkecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgvkhcu
    ofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinhhvih
    hsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepueejhfeh
    vdfhgeeijeeuhffftdetgeeigfehgffgjeehheeiudekjeduveefteefnecuffhomhgrih
    hnpehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomhenucevlhhushhtvghrufhi
    iigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhesihhnvhhish
    hisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:wTQJYR9TIXaqUae3ZExwTwzJ2JgdW93IyMgqGJou2KlK5CBagG40Ng>
    <xmx:wTQJYYsCtvvN3e9P7vGTrgxb8IoPN1-rNVpp_7ntrdhU80Ui2-XHfA>
    <xmx:wTQJYYGT0hWQk64HWq97XotRDaPXWnnZv4qnWkIR1NgQwnE8nlZf2A>
    <xmx:wjQJYVUDvkzqneEAM9GqD7UXz9vaVv8Vbu3yyl0JnPRwISzeWo5IXg>
Date: Tue, 3 Aug 2021 14:21:16 +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" <xen-devel@lists.xenproject.org>,
	Kevin Tian <kevin.tian@intel.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] VT-d: Tylersburg errata apply to further steppings
Message-ID: <YQk0vrH5Oe62ozbW@mail-itl>
References: <07ded368-5c12-c06e-fd94-d7ae52d18836@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="bzZg33faU1lyKtW4"
Content-Disposition: inline
In-Reply-To: <07ded368-5c12-c06e-fd94-d7ae52d18836@suse.com>


--bzZg33faU1lyKtW4
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 3 Aug 2021 14:21:16 +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" <xen-devel@lists.xenproject.org>,
	Kevin Tian <kevin.tian@intel.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] VT-d: Tylersburg errata apply to further steppings

On Tue, Aug 03, 2021 at 01:13:40PM +0200, Jan Beulich wrote:
> While for 5500 and 5520 chipsets only B3 and C2 are mentioned in the
> spec update, X58's also mentions B2, and searching the internet suggests
> systems with this stepping are actually in use. Even worse, for X58
> erratum #69 is marked applicable even to C2. Split the check to cover
> all applicable steppings and to also report applicable errata numbers in
> the log message. The splitting requires using the DMI port instead of
> the System Management Registers device, but that's then in line (also
> revision checking wise) with the spec updates.
>=20
> Fixes: 6890cebc6a98 ("VT-d: deal with 5500/5520/X58 errata")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> As to disabling just interrupt remapping (as the initial version of the
> original patch did) vs disabling the IOMMU as a whole: Using a less
> heavy workaround would of course be desirable, but then we need to
> ensure not to misguide the tool stack about the state of the system. It
> uses the PHYSCAP_directio sysctl output to determine whether PCI pass-
> through can be made use of, yet that flag is driven by "iommu_enabled"
> alone, without regard to the setting of "iommu_intremap".

How does it differ from the situation where interrupt remapping actually
isn't supported at all? Toolstack will use IOMMU then, in a way that is
supported on a given platform. Sure, missing interrupt remapping makes
it less robust[1]. But really, broken and missing interrupt remapping
should be treated the same way. If we would have an option (in
toolstack, or Xen) to force interrupt remapping, then indeed when it's
broken, PCI passthrough should be refused (or maybe even system should
refuse to boot if we'd have something like iommu=3Dintremap=3Drequire). But
none of those actually exists. And disabling the whole IOMMU in some
cases of unusable intremap, but not the others, is not exactly useful
thing to do (it breaks some cases, but still doesn't allow to reason
about intremap in toolstack).

So, I propose to disable just iommu_intremap if it's broken as part of
this bug fix. But, independently (and _not_ as a pre-requisite) do
either:
 - let the toolstack know if intremap is used, or
 - add iommu=3Dintremap=3Drequire to refuse boot if intremap is
   missing/broken

[1] https://invisiblethingslab.com/resources/2011/Software%20Attacks%20on%2=
0Intel%20VT-d.pdf

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

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

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmEJNL0ACgkQ24/THMrX
1ywlbQgAlFY4ZBKwafArzNZosvEtrwr/ybCWbPZOnqLp8MPKyyyGcnu5wPjyW7F4
L5BjgOatVcnLMlQHY5yeSbLC0urdHzRmi3vQeYnlkY7aHyIcQfr0+VWha0wJ8h06
zynJTLWIxbuvb0v7TEGjyiMi4FcTGtiFWgtP/smg1tAlEStmWiN4LBPl+TxsqPa5
yOqutwr7ahqZfPYghiCQ4I0W3YSi/DFYrvVCCFp/jCKcvjmuOqp3/e7gmVCu5rrh
J9vSoG36GHHnYLta4GaMny5F5ZO+dguCMPTa08aoDMFfAIqYrnGjWmikrw+4854y
srWVeq0LtPRVZdGB1xQZGsDbHd5TQQ==
=RWff
-----END PGP SIGNATURE-----

--bzZg33faU1lyKtW4--


From xen-devel-bounces@lists.xenproject.org Tue Aug 03 12:29:12 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 12:29:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163429.299373 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAtXh-0002R2-62; Tue, 03 Aug 2021 12:29:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163429.299373; Tue, 03 Aug 2021 12:29:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAtXh-0002Qv-2g; Tue, 03 Aug 2021 12:29:09 +0000
Received: by outflank-mailman (input) for mailman id 163429;
 Tue, 03 Aug 2021 12:29:07 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OfYh=M2=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mAtXf-0002Qp-Oo
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 12:29:07 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 2fb5e60c-5ccf-4c2f-96a1-2e1ae04c57f4;
 Tue, 03 Aug 2021 12:29:06 +0000 (UTC)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2110.outbound.protection.outlook.com [104.47.18.110])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-9-jmW1zcphMbuHNrvOl8MaUA-1; Tue, 03 Aug 2021 14:29:04 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VE1PR04MB6671.eurprd04.prod.outlook.com (2603:10a6:803:11f::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.18; Tue, 3 Aug
 2021 12:29:03 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4373.026; Tue, 3 Aug 2021
 12:29:03 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P251CA0016.EURP251.PROD.OUTLOOK.COM (2603:10a6:102:b5::8) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4394.15 via Frontend Transport; Tue, 3 Aug 2021 12:29:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2fb5e60c-5ccf-4c2f-96a1-2e1ae04c57f4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1627993745;
	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=NqlYz28upoXaBZzrhPMud6S8TyuxwmIdONwR19uI0Lg=;
	b=iBrzJ1lzVd2Sa2eQpS30SabD2WMon4QWajhJmZwgddPLgzje1AcB7xrfU1o1HYeqD9fQFe
	lQKrl5YZU/piUbn8wg/wTS12+tzAkojNXq/a/QHJ5f0pDM1mC0D1cNY0Q+hnIQeryDoTnb
	Db+MzwqXDseLRA+3rX9z802TQhZ7UP4=
X-MC-Unique: jmW1zcphMbuHNrvOl8MaUA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CCZxCalgkzuElPAvrRLK5B+6jmPhQdimQI0IhsoR6eVILywwmYnfxDFyKuKNNZHiHnt1+yPg8k6GfCsS2coKcj+yYAAH2FvfGEQjRhv6fNLVEw2qeUOCVt9iqY9uvDD+HiEgo5ncLCkd5lWak6PPtpVvfAmW1LJv8omJRgBiotjPjHyLAsQpjzG8b7hrS49JOWqD6ta9selnlJEsUv/6RhjH/+LtuEDJ2bBi6iC6RxpwO/9Me/ThX50qOka/Gy8Var8w6Jh/XP+ZoRvQ7hMFBb3txAQAXjlGbs4odsjpTEgRBaSIWiseWxXLP0FshHIGQaYmP4yHNw3pABsAXeSITw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=V2o7E8kfBI04fuAlvqLmOKYeKPlP81uV+Pv1xEeV0DE=;
 b=BqM0w2y0u5cqwjbDy+4rtBLLPmwB3NMe2fHyX1Gvj+7NZhFp8RzCzYhCbcTe/zncszqqvRBW2ZnnYBmyXv62IWQUU/lKMivYE9gqdE5WBTcrhJSogTfT6CRPXH8vMkeKovEoexDC/JQ40fS9C8Q293DmRT07UkHSjhV8jdeU6In2NCKUo+FMvgJkPm0YhSSb8yPLocoq919duhVYqzFDdZqWG/+umuBWWk/WtylGpVtQA75IoIe/3hlMGZ54ppjmAlQwPdywYnzvap1f62FEcswVwhIWT9rVSrqshpa/qbDQvbQjkXXt8DeLtE90LMDHo91R8b3rIC2WT/I/yhHxOg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: citrix.com; dkim=none (message not signed)
 header.d=none;citrix.com; dmarc=none action=none header.from=suse.com;
Subject: Re: [PATCH] VT-d: Tylersburg errata apply to further steppings
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Kevin Tian <kevin.tian@intel.com>, Andrew Cooper <andrew.cooper3@citrix.com>
References: <07ded368-5c12-c06e-fd94-d7ae52d18836@suse.com>
 <YQk0vrH5Oe62ozbW@mail-itl>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <ec1cc65d-5a10-7ef3-2643-622302cdafb7@suse.com>
Date: Tue, 3 Aug 2021 14:29:01 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <YQk0vrH5Oe62ozbW@mail-itl>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: PR3P251CA0016.EURP251.PROD.OUTLOOK.COM
 (2603:10a6:102:b5::8) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ce3cda01-2896-42ae-8a99-08d9567a472b
X-MS-TrafficTypeDiagnostic: VE1PR04MB6671:
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB667133AEAF108C2202919BA6B3F09@VE1PR04MB6671.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	p6FJTmccHwCpf+5fO469WqFODu5mJujovowBsbXY7CHlQsQ0mGnert2zcwkdqdtrMyDqHhEfTAsHFw11Gv48tS/k0dwkvjkgYsBCMK97Gf3VEiZfqtkZ3/uONJDjvo/Eh/qaWvL4RINUvYXdUjLyNZOjpAhqlmgaKi0B9HxHgbtqhPkz73/iLKWJ9A5qGMxS0yjoCFvgeYLRLbZyEJ9Cdw6gnqJC6+gUVrLMN842ltedfcARt4y3sVGlp3eJBVlIBwGYzMJmHOsfhoAIwS542qA87QRIXl5pSOclZS8lCnAX1yYxONlsInPxNs0o6UDboZQ1kzmjaTCtHaOtdUIcRWyF7G/WNwozGnXUVXLggi7r2RPXRxIpPzhGzyK5Ea3dostVHSDjHuUi0oZLjnEZTunCGXf4GBXueK5uqMjpizHXeu2AEsOEEAX6XNDW4GeuyHeT5ptrLGElqT0J9wG6CCKdKNVm3atfgTjAOBgGtwlf01XvBXsQaI9hfc8vop33MUTW+pWAWieWHUJ9UM69tck8PQiStw6JAIDxP6ZUj5qSdli12zP+VD1ZFnOZxuKc7HAYG0qUp1JLWqVBZwlii+PMZhBx1bV4k9RDPoNoq8OcrwMrF48X7QViPDnKSCe9sPgmPvOYw787g6wR7MGaZkusxwHO8N8tD81zUECZwz/4m3PxcPhT7jrapJfKROkzO6OllOuuYxlWU5gAo4CT6g84xB0Q5Ex4opKuYrc5sN4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(39850400004)(376002)(366004)(136003)(396003)(346002)(5660300002)(38100700002)(31686004)(2906002)(83380400001)(66574015)(316002)(16576012)(54906003)(53546011)(31696002)(26005)(6916009)(86362001)(66556008)(2616005)(36756003)(66476007)(956004)(66946007)(4326008)(8936002)(6486002)(478600001)(186003)(8676002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?iHwDE5ztYS5XO/MkEG0WWotT0DGXAgFRcJA5s1VKVGig4q6eM59hxf9ygcWd?=
 =?us-ascii?Q?U7q8/pdCQ6Cq0CzgtkZXdGKpWsXb+hvCxBllnuNmz+vVc6FChdE12uxBgQhi?=
 =?us-ascii?Q?B4v88f5K1PyYPNTkD3CkkyjaPcR27DSLnLOoS77cKglv7oHZP0QiCGi4hXex?=
 =?us-ascii?Q?5Qt6r9+tUG5oHMytALGlUmVbjiBbvyGkwl0qc9/HCPed8uui/uMEoGKKcLc9?=
 =?us-ascii?Q?NO7+C/hUW8DSEzYRDd4TCelu7eXgS8qQ3jSUaCzZp6N1EszF+AzAwqp2be4p?=
 =?us-ascii?Q?8TCsFRjSJg8pBoteEqWLURuKw4JAvciZ0CGWZQLSXphfB6yn/MZooVgdbe7E?=
 =?us-ascii?Q?f/IJNTShbTg0mPCCLEX3u25L/U1sNYVYRGpyZ5iN0KyiCfCsOvxuCoWOBFvj?=
 =?us-ascii?Q?H/lmhkI1NSubsoIIG6v94sgchBTYsrZZx+JuApYbJrOMTL1uMz+w89Z22Htx?=
 =?us-ascii?Q?HRSjP3M5aD2Y7c0pT7atlkTIU8tWd7rpSz+Zkr37qBEIarH6iF0pwl+ddB9n?=
 =?us-ascii?Q?4pjc0iUQr3USOWBsAirvQDRat8LQfaZ9TuUbvlE86ssCLCtLhdyo8ZLN3Ifa?=
 =?us-ascii?Q?8WvoKNMERR92aQxDjh5H1sowUuOP2iU9S2Qtd/NDN4RQsNbhjxLsXTuSDhDm?=
 =?us-ascii?Q?OqwHgoF8fvXqUWNHRHOST8cSwzb4KeISVGCB+ttFJbURO45P5wsuH1i6jjQg?=
 =?us-ascii?Q?rSNDruUooPPWK4pkiJ/IJriykdpXlp/C/ktw1p3QNYrql8ANT5KSI1uO1OUo?=
 =?us-ascii?Q?NyBSA4TIAmaxVfPZ6SfiOc23S/P4SYtJ6u8SeU+hhVhD44wl6CLNPSCm5Icv?=
 =?us-ascii?Q?b30zCeX2ECWHtCFejdUB2sD8RAjD/qIhhsc1gO3xO0+EiL/qptOPZh3RYfG/?=
 =?us-ascii?Q?Wv2ZG7RjEYSKf07J+HCXTV4f0wrqnwanfV53LxclALuiJzqeeX/H086+CvC2?=
 =?us-ascii?Q?2Ez7P29kiEvIckOFbvruoYwZFCAAOvk8Hp7CI3Uxg+QsoWv8u2FIS4dJS+at?=
 =?us-ascii?Q?d75hNxB30E7aLbtJb5GvZs6lULfK+TZh6Lf4YMfQeu7Pjf/+BnC/Tdv1GEZ4?=
 =?us-ascii?Q?nyFxpTOPiEdSr1MFGt0Y+DENiib52IpuY+VFu1ML8J77mq57FRNYvO8nq0uc?=
 =?us-ascii?Q?paFpfpcJeOTBkjUduxnE+0Mt85giQ5WCNDMBrdSTKB0nbExQWysA7Am/eXn9?=
 =?us-ascii?Q?x/iAfF/7RoX3kz0Uangj0gM32Y+BVx95T1YLUX37GtKkbWYd4MfmIYXptGOC?=
 =?us-ascii?Q?lSamKkHkXvxFIawXTIuoHNu7jatvtQDc5BQ4sVWKbHlPZzEAq8D8PqqXlRYq?=
 =?us-ascii?Q?78ELNKqMS2vS5a0l4KhmYq5R?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ce3cda01-2896-42ae-8a99-08d9567a472b
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2021 12:29:03.0829
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: gsJiCQWN/iUV4uwxtfvO5cuNbJriD56O764jRopVDdEiPdlQIiL3fhNBW2xW4VF5l8NqOp69CLO0a4iWiGAFMA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6671

On 03.08.2021 14:21, Marek Marczykowski-G=C3=B3recki wrote:
> On Tue, Aug 03, 2021 at 01:13:40PM +0200, Jan Beulich wrote:
>> While for 5500 and 5520 chipsets only B3 and C2 are mentioned in the
>> spec update, X58's also mentions B2, and searching the internet suggests
>> systems with this stepping are actually in use. Even worse, for X58
>> erratum #69 is marked applicable even to C2. Split the check to cover
>> all applicable steppings and to also report applicable errata numbers in
>> the log message. The splitting requires using the DMI port instead of
>> the System Management Registers device, but that's then in line (also
>> revision checking wise) with the spec updates.
>>
>> Fixes: 6890cebc6a98 ("VT-d: deal with 5500/5520/X58 errata")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> As to disabling just interrupt remapping (as the initial version of the
>> original patch did) vs disabling the IOMMU as a whole: Using a less
>> heavy workaround would of course be desirable, but then we need to
>> ensure not to misguide the tool stack about the state of the system. It
>> uses the PHYSCAP_directio sysctl output to determine whether PCI pass-
>> through can be made use of, yet that flag is driven by "iommu_enabled"
>> alone, without regard to the setting of "iommu_intremap".
>=20
> How does it differ from the situation where interrupt remapping actually
> isn't supported at all? Toolstack will use IOMMU then, in a way that is
> supported on a given platform. Sure, missing interrupt remapping makes
> it less robust[1]. But really, broken and missing interrupt remapping
> should be treated the same way.

I agree; in fact I meant to mention this aspect but then forgot.

> If we would have an option (in
> toolstack, or Xen) to force interrupt remapping, then indeed when it's
> broken, PCI passthrough should be refused (or maybe even system should
> refuse to boot if we'd have something like iommu=3Dintremap=3Drequire). B=
ut
> none of those actually exists.

"iommu=3Dforce" actually does prevent boot from completing when
interrupt remapping is available, but then gets turned off for
some reason. See iommu_setup()'s

    bool_t force_intremap =3D force_iommu && iommu_intremap;

> And disabling the whole IOMMU in some
> cases of unusable intremap, but not the others, is not exactly useful
> thing to do (it breaks some cases, but still doesn't allow to reason
> about intremap in toolstack).
>=20
> So, I propose to disable just iommu_intremap if it's broken as part of
> this bug fix. But, independently (and _not_ as a pre-requisite) do
> either:
>  - let the toolstack know if intremap is used, or

I don't follow why you even emphasize the "not" on this being a prereq.
I consider it a plain bug (with possibly a security angle) that PCI
pass-through may be permitted by the tool stack in the absence of
interrupt remapping, without an explicit admin request to enable this
(even) less secure mode of operation. Not making this a prereq would
mean to widen the scope of the bug.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 03 12:49:20 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 12:49:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163437.299386 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAtr9-0004fF-TM; Tue, 03 Aug 2021 12:49:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163437.299386; Tue, 03 Aug 2021 12:49:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAtr9-0004f8-Ov; Tue, 03 Aug 2021 12:49:15 +0000
Received: by outflank-mailman (input) for mailman id 163437;
 Tue, 03 Aug 2021 12:49:14 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OfYh=M2=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mAtr8-0004f2-4g
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 12:49:14 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 4851ec8c-8726-481c-95a0-9f266c48ffc6;
 Tue, 03 Aug 2021 12:49:12 +0000 (UTC)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2052.outbound.protection.outlook.com [104.47.14.52]) (Using
 TLS) by relay.mimecast.com with ESMTP id de-mta-1-jwMLj-AyP-W20KIaN0BimQ-1;
 Tue, 03 Aug 2021 14:49:10 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (20.178.127.208) by
 VI1PR04MB7149.eurprd04.prod.outlook.com (10.186.159.86) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4394.15; Tue, 3 Aug 2021 12:49:09 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4373.026; Tue, 3 Aug 2021
 12:49:09 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR02CA0226.eurprd02.prod.outlook.com (2603:10a6:20b:28f::33) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.18 via Frontend
 Transport; Tue, 3 Aug 2021 12:49:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4851ec8c-8726-481c-95a0-9f266c48ffc6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1627994951;
	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=55jTq4CqjwQbmr9DMyHcAh0GjKmlWYPoZsb6GNOXv24=;
	b=eHA7OIIhPPKhCmINtMjvxZ/M/BGUwTQA0k9ZKCc+/sB2RV4x3pKcMAZHGxi0jAzVNtJX2B
	CTJnODHK4tvYXjxQMdt3By42sHsy4rBGHVehmK94SsyZG9HuHLd6in3vdJoYLhmzXDgFD/
	cx1zkTmazYY4Bwhwcvh3zsNNiOZdHCg=
X-MC-Unique: jwMLj-AyP-W20KIaN0BimQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=llni0UMx0J+qnfwMHK1dRPgm98AIsy81EtPhRlbyZLa1JpbufYAtW7DPLy+FUgNeXVKei0ejIe015CHUCOCGUocEQLQuGIR5GeHzPKnJ8vedNy/KTKksjOD6oGVHzhuNafR2VCO8JCgXqgPpfLVxL/C3qpmdtBYn+hhlTW4D4FhD8U8tX/Kk+G59zAMT2WQfOoy1mQ9IXuXFM8rxcNDV3tHGJsMwAwzutKqvBi2tuReZynSwr8mJrHZCXF9qEZUfMhk9QjH65BgWwFIxjD4TFVUW5XghMiuQfg3Yf3kwpJiscRqI8qCRIEDbTwsGtZ6vNkF5M+GqRwJb19h3xpjdZg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5o1+euuGaeef4K+5sV0xHolnET/doU0w/KSKPmokUHY=;
 b=MKoBIaJuVF0M7RMkFRe+sQtk6lA/nc56v3pZri99BHS4W/GdcsJXg2Nmwq8df5YLc8t8z1RnhfSiEw/h7KTUDu7ofyqC9w2TJ0dVSV3JnKt1dutmFX88Ek+1qZajdU+C/BWphjoiCng5OhzWOwQqYu17x1FobquZtscbPwRUeiJGhk1NT71JzzOycfKdF60BIJFCLj+pTb/7msKhLOxyHS2J60d2X1tOgdwMljFyB1OniXFy3xcVUD8w2KWxYmLAkk+Ow7sGvgdXGIPzS0oxNqfwr3gbtQeOthFF2bsXMdzoNzTLhMGw+/c9eO4gck0//K2w0Ry4jDUUjhhKhstnRQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
To: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>
CC: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
 Oleksandr Tyshchenko <olekstysh@gmail.com>, xen-devel@lists.xenproject.org
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <80fafc01-f063-d6e5-1c08-7ad64550310c@citrix.com>
 <e8db3021-78a5-e040-a70b-62ca5b500149@xen.org>
 <4de5ed21-379e-b618-44c8-924d88b1a519@citrix.com>
 <bbc7f597-5249-20a0-cac9-13f594268299@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <5176e91c-1971-9004-af65-7a4aefc7eb78@suse.com>
Date: Tue, 3 Aug 2021 14:49:06 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <bbc7f597-5249-20a0-cac9-13f594268299@xen.org>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM0PR02CA0226.eurprd02.prod.outlook.com
 (2603:10a6:20b:28f::33) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5766c4f5-4527-44d3-e566-08d9567d161a
X-MS-TrafficTypeDiagnostic: VI1PR04MB7149:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB71492EE80562FA35D55EF172B3F09@VI1PR04MB7149.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	P4h8Xt2Na+oNLNQpAnB8WEjHHzbbxzloSt9ewLm6v3cjUjSRDKcVKV2ZtVz6qlEuHyW9FZ/8JXYQSHFZQakakNeM33U8d77u/Vcvtf2omFeDqhOk2+zuw4zEcrgjJ8sBFpxgISSW/mkObUv30A03p1fEgh8Cv7HvT1jRHVg+R2plIDhnP4n1X9MRX0Rg2kkAReHjKNxlx5H6xBjKnVs95L0cixJW4py4Km2mbcC0ZcXw0eWBpAshuunNyFqupYLSBNZQrQvaBo195QsxwZZVvZZeTBEANmwjVpuknT7uDkfqylY+zbpSWgyUhSNaVyjda05owRyScPNMw3knsoMb5nTT1b12DSPMxqxqGlAZJYQYkM5LNIJHfzQKX3fy3ctmI2YS8OpoGYZ920/7kZ4RCzh0yzFnn4jF/rHDv7c0lCyGrJsM8/spXwr+Q30I2tbu/OxvT1PRJcH++UBeJOlI0pCpgQKrlcIPSBQpcnctfdDOVW+0xy2m0Y4eKYMSt1Dgw/Av8ffC6sle//Zx7NOyqKUkZCPyBcIQaSlUjviMKSrQGruUfk4Q/64FNbWYomOoQAK3uQ4nR7XFLJ1ZqAz45Or7xhMQv8yOr6FGy7q4QqRmNQSn+Z5PglZtFiZ2Rx6vgfmtWyt9OlndcpPr0P86ArDUOMA3lv4RmLdDKZ6+YN+QpmIwKrFXI1a6HB1ucT9XrvZTeFPbNNkbG+3MDfT9alf08o/Uboy+gw2nRdVZCa0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(6486002)(31686004)(5660300002)(508600001)(7416002)(66946007)(66476007)(4326008)(66556008)(31696002)(86362001)(53546011)(2906002)(36756003)(54906003)(110136005)(8676002)(2616005)(956004)(316002)(8936002)(83380400001)(16576012)(186003)(26005)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?3ozJsDIsNMZSkLkf8zxW5Gxq1GLjwa00PrdpFzKHkFEfdCvPj9I0zSW9se3A?=
 =?us-ascii?Q?WHvYusqSlS57eLXzCDYQfZHq61EvO1Kb2bcLj/IKu0MFBEnDux+/tQ/10mLJ?=
 =?us-ascii?Q?gwG/c7x7gRAiQngkzkGGd7aLa7Pb1V8EA4AIOqAYbYqq2pTXIP+sCJAvuM99?=
 =?us-ascii?Q?96h955Hon5mq6g55OmBdDhT54MfMEXoGE4YqYE67TpopbkXSZFIDd0V4+Ok4?=
 =?us-ascii?Q?ssVhD2x0zu+yOYw7XdYWSmRUwPFc6FcJ8SbwXNpFlOvmjUMx0iOKhh9yGOrz?=
 =?us-ascii?Q?b+HNCwsCinD8TDRy+VOXfmQ+dqHqAsBX1dit7rw0zgrDBv8ZVxA1/4H/NnFj?=
 =?us-ascii?Q?eZmFR6Y5eNZKbm4eIWSXU0oDeaPtE5t24/iIiyYYJ6tgWE9pW9gYrDVuMZ8N?=
 =?us-ascii?Q?SVygFzBXssAxXtT8tbO7xZLjkjAPw4qJRNbsuH8mXsdGIYywfuPw89Kc1P2L?=
 =?us-ascii?Q?nTbYPwcf1fRWmnKPdMtQyNls1zQ1KNjDndMqPB1uNl56CzTPzfcucgUfZRCP?=
 =?us-ascii?Q?mgDqLF/cw2SzPM2+hWFlDNmCtH/VwXpQzsLDTU6/duaL74QqTCQVHbQeuWLT?=
 =?us-ascii?Q?Mr8PxzFZs9HCct5M32HdwYqzP7mKyp/IOnlkXvp4yKJ/RHlgdspWw44fLUg2?=
 =?us-ascii?Q?Q1NJzQtoFMtiGsz4mfwqkycVYGrempQJu42VEfZsrvZ1qcvmFXCCQuxkyoFj?=
 =?us-ascii?Q?aUqp+UoC+eUXH0dQ3MCQr2iRaQxH1F1xQQFgdKF6REiatemWuB0bt5K9crYN?=
 =?us-ascii?Q?EvgElQhmUHojRv9qjS4vqLCZYwMLnkQSQN5YcB5Jf7kIVXB5yhLIBBeONbQD?=
 =?us-ascii?Q?4zHbVGT5q0B1WUAQbPnlZDHGZBzMhE1Of6IRwG0kvn13Koo1JIZLgoLXsaUn?=
 =?us-ascii?Q?jhtA9Jd45lotQOtWKi0hNtB50DpTSzXn0nISKl2YOHX9ENIT1a4aFjiaTZUK?=
 =?us-ascii?Q?mHRoa10i2VenR0afTriXwG28689rvXNGrRobcdcu3loN5KryARiwlnIVS32Q?=
 =?us-ascii?Q?JbvGKSd9tyIWAwCpAl9OzTCnPadHO9xM26vAmr5w4L0emvrCIJ7VAqwFRks1?=
 =?us-ascii?Q?bGpcxoj0ZjSCS3SlBMk8DxB72hVigZLqcupabCpyEGfxswTXWlSLZEZlSzbT?=
 =?us-ascii?Q?lQ7MZ3acetX0MfJ1Y96SGJgY4CAPFZgAClK952bML5IgqG+RYCGwZrKKEWqJ?=
 =?us-ascii?Q?4k7z9JzY5EA5lvyjrTl1rOnGeyyB+ktPQrgyGg4Ax7Uu/mPSLPxHSQhhCSDn?=
 =?us-ascii?Q?eg0YyvQfaz1O0jiciQT84WOVlo5rP8iExcixSYoEswn+/pfvfPsvmfo4r9BC?=
 =?us-ascii?Q?Muu9nBprkiYgPX2uRqd9/oVG?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5766c4f5-4527-44d3-e566-08d9567d161a
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2021 12:49:09.2877
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: KBp+66G9xE90qqafL9Z+snlt7jvv2Bkz7uXkYx99uIJXWvlAn7H3szhpV5mr4W7wULKsdoo/Sjg0QboXUIMGVQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7149

On 28.07.2021 21:53, Julien Grall wrote:
> On 28/07/2021 20:00, Andrew Cooper wrote:
>> On 28/07/2021 18:27, Julien Grall wrote:
>>> On 28/07/2021 18:19, Andrew Cooper wrote:
>>>> On 28/07/2021 17:18, Oleksandr Tyshchenko wrote:
>>>>> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>>>>
>>>>> Add XENMEM_get_unallocated_space hypercall which purpose is to
>>>>> query hypervisor to find regions of guest physical address space
>>>>> which are unused and can be used to create grant/foreign mappings
>>>>> instead of wasting real pages from the domain memory for
>>>>> establishing these mappings. The problem with the current Linux
>>>>> on Xen on Arm behaviour is if we want to map some guest memory
>>>>> regions in advance or to perform cache mappings in the backend
>>>>> we might run out of memory in the host (see XSA-300).
>>>>> This of course, depends on the both host and guest memory sizes.
>>>>>
>>>>> The "unallocated space" can't be figured out precisely by
>>>>> the domain on Arm without hypervisor involvement:
>>>>> - not all device I/O regions are known by the time domain starts
>>>>>  =C2=A0=C2=A0 creating grant/foreign mappings
>>>>> - the Dom0 is not aware of memory regions used for the identity
>>>>>  =C2=A0=C2=A0 mappings needed for the PV drivers to work
>>>>> In both cases we might end up re-using these regions by
>>>>> a mistake. So, the hypervisor which maintains the P2M for the domain
>>>>> is in the best position to provide "unallocated space".
>>>>
>>>> I'm afraid this does not improve the situation.
>>>>
>>>> If a guest follows the advice from XENMEM_get_unallocated_space, and
>>>> subsequently a new IO or identity region appears, everything will
>>>> explode, because the "safe area" wasn't actually safe.
>>>>
>>>> The safe range *must* be chosen by the toolstack, because nothing else
>>>> can do it safely or correctly.
>>>
>>> The problem is how do you size it? In particular, a backend may map
>>> multiple time the same page (for instance if the page is granted twice)=
.
>>
>> The number of mapped grants is limited by the size of the maptrack table
>> in Xen, which is a toolstack input to the domaincreate hypercall.
>> Therefore, the amount of space required is known and bounded.
>>
>> There are a handful of other frames required in the current ABI (shared
>> info, vcpu info, etc).
>>
>> The areas where things do become fuzzy is things like foreign mappings,
>> acquire_resource, etc for the control domain, which are effectively
>> unbounded from the domain's point of view.
>>
>> For those, its entirely fine to say "here 128G of safe mapping space" or
>> so.=C2=A0 Even the quantity of mapping dom0 can make is limited by the s=
hadow
>> memory pool and the number of pagetables Xen is willing to expend on the
>> second stage translation tables.
>=20
> FWIW, on Arm, we don't have shadow memory pool.

Where do you take 2nd level page table memory from then?

>>>> Once a safe range (or ranges) has been chosen, any subsequent action
>>>> which overlaps with the ranges must be rejected, as it will violate th=
e
>>>> guarantees provided.
>>>>
>>>> Furthermore, the ranges should be made available to the guest via norm=
al
>>>> memory map means.=C2=A0 On x86, this is via the E820 table, and on ARM=
 I
>>>> presume the DTB.=C2=A0 There is no need for a new hypercall.
>>>
>>> Device-Tree only works if you have a guest using it. How about ACPI?
>>
>> ACPI inherits E820 from x86 (its a trivial format), and UEFI was also
>> based on it.
>>
>> But whichever...=C2=A0 All firmware interfaces have a memory map.
>=20
> This will be UEFI memory map. However, I am a bit confused how we can=20
> tell the OS the region will be used for grant/foreign mapping. Is it=20
> possible to reserved a new type?

As with about any non-abandoned specification it is in principle
possible to define/reserve new types. Question how practical it is,
i.e. in particular how long it may take to get to the point where
we have a firmly reserved type. Short of this I wonder whether you,
Andrew, were thinking to re-use an existing type (in which case the
question of disambiguation arises).

As a result I wonder whether a "middle" approach wouldn't be better:
Have the range be determined up front (by tool stack or Xen), but
communicate it to the guest by PV means (hypercall, shared info,
start info, or yet some other table).

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 03 12:53:57 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 12:53:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163445.299398 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAtvf-00065p-L2; Tue, 03 Aug 2021 12:53:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163445.299398; Tue, 03 Aug 2021 12: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 1mAtvf-00065i-GB; Tue, 03 Aug 2021 12:53:55 +0000
Received: by outflank-mailman (input) for mailman id 163445;
 Tue, 03 Aug 2021 12:53:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mAtve-00065c-Pd
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 12:53:54 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mAtvQ-0003gq-16; Tue, 03 Aug 2021 12:53:40 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mAtvP-0005NU-Qo; Tue, 03 Aug 2021 12:53:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=IukBCGANAyBAGIPpDsfF0Ts2CkVqcdArZriCa62zS/A=; b=YbGSfKFB7+pcMac/BmAE3fJXwP
	n+SaJxFog0QBA7bNlAdKocxgpRxMxz2w5AaDIQ+AEGejZbp3c174aL82ZRV+nbLIwrZ7aqkV0yogM
	nKlMKvjiy0Z8diyLrdXMP/4SfgUNf2elfTAq0Mh+JdWha3sV6R1Vi32e5SNmwNm/05fQ=;
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
 Oleksandr Tyshchenko <olekstysh@gmail.com>, xen-devel@lists.xenproject.org
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <80fafc01-f063-d6e5-1c08-7ad64550310c@citrix.com>
 <e8db3021-78a5-e040-a70b-62ca5b500149@xen.org>
 <4de5ed21-379e-b618-44c8-924d88b1a519@citrix.com>
 <bbc7f597-5249-20a0-cac9-13f594268299@xen.org>
 <5176e91c-1971-9004-af65-7a4aefc7eb78@suse.com>
From: Julien Grall <julien@xen.org>
Message-ID: <f9072102-f408-dade-0b66-09c2e0ee91c1@xen.org>
Date: Tue, 3 Aug 2021 13:53:35 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <5176e91c-1971-9004-af65-7a4aefc7eb78@suse.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit

Hi Jan,

On 03/08/2021 13:49, Jan Beulich wrote:
> On 28.07.2021 21:53, Julien Grall wrote:
>> On 28/07/2021 20:00, Andrew Cooper wrote:
>>> On 28/07/2021 18:27, Julien Grall wrote:
>>>> On 28/07/2021 18:19, Andrew Cooper wrote:
>>>>> On 28/07/2021 17:18, Oleksandr Tyshchenko wrote:
>>>>>> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>>>>>
>>>>>> Add XENMEM_get_unallocated_space hypercall which purpose is to
>>>>>> query hypervisor to find regions of guest physical address space
>>>>>> which are unused and can be used to create grant/foreign mappings
>>>>>> instead of wasting real pages from the domain memory for
>>>>>> establishing these mappings. The problem with the current Linux
>>>>>> on Xen on Arm behaviour is if we want to map some guest memory
>>>>>> regions in advance or to perform cache mappings in the backend
>>>>>> we might run out of memory in the host (see XSA-300).
>>>>>> This of course, depends on the both host and guest memory sizes.
>>>>>>
>>>>>> The "unallocated space" can't be figured out precisely by
>>>>>> the domain on Arm without hypervisor involvement:
>>>>>> - not all device I/O regions are known by the time domain starts
>>>>>>      creating grant/foreign mappings
>>>>>> - the Dom0 is not aware of memory regions used for the identity
>>>>>>      mappings needed for the PV drivers to work
>>>>>> In both cases we might end up re-using these regions by
>>>>>> a mistake. So, the hypervisor which maintains the P2M for the domain
>>>>>> is in the best position to provide "unallocated space".
>>>>>
>>>>> I'm afraid this does not improve the situation.
>>>>>
>>>>> If a guest follows the advice from XENMEM_get_unallocated_space, and
>>>>> subsequently a new IO or identity region appears, everything will
>>>>> explode, because the "safe area" wasn't actually safe.
>>>>>
>>>>> The safe range *must* be chosen by the toolstack, because nothing else
>>>>> can do it safely or correctly.
>>>>
>>>> The problem is how do you size it? In particular, a backend may map
>>>> multiple time the same page (for instance if the page is granted twice).
>>>
>>> The number of mapped grants is limited by the size of the maptrack table
>>> in Xen, which is a toolstack input to the domaincreate hypercall.
>>> Therefore, the amount of space required is known and bounded.
>>>
>>> There are a handful of other frames required in the current ABI (shared
>>> info, vcpu info, etc).
>>>
>>> The areas where things do become fuzzy is things like foreign mappings,
>>> acquire_resource, etc for the control domain, which are effectively
>>> unbounded from the domain's point of view.
>>>
>>> For those, its entirely fine to say "here 128G of safe mapping space" or
>>> so.  Even the quantity of mapping dom0 can make is limited by the shadow
>>> memory pool and the number of pagetables Xen is willing to expend on the
>>> second stage translation tables.
>>
>> FWIW, on Arm, we don't have shadow memory pool.
> 
> Where do you take 2nd level page table memory from then?

 From xenheap directly. And yes, I know this may lead to other issues. 
But that's a known missing features that so far no-one tackled.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 03 12:54:00 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 12:54:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163446.299410 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAtvk-0006O6-S0; Tue, 03 Aug 2021 12:54:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163446.299410; Tue, 03 Aug 2021 12:54:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAtvk-0006Nz-Ot; Tue, 03 Aug 2021 12:54:00 +0000
Received: by outflank-mailman (input) for mailman id 163446;
 Tue, 03 Aug 2021 12:53:59 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OfYh=M2=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mAtvj-0006NN-7R
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 12:53:59 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id ddc19756-f459-11eb-9abc-12813bfff9fa;
 Tue, 03 Aug 2021 12:53:58 +0000 (UTC)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2112.outbound.protection.outlook.com [104.47.18.112])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-12-fTtVM-2bP3e2y1n_v1vO-g-1; Tue, 03 Aug 2021 14:53:56 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0401MB2335.eurprd04.prod.outlook.com (2603:10a6:800:2e::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.25; Tue, 3 Aug
 2021 12:53:54 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4373.026; Tue, 3 Aug 2021
 12:53:54 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0052.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1d::16) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4373.18 via Frontend Transport; Tue, 3 Aug 2021 12:53:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ddc19756-f459-11eb-9abc-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1627995237;
	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=C7mU+a+f/Jvb5lbS0yxtJsfGF3xoNL3CBzWUiMzrzWg=;
	b=ioC4qb1X7OXfJbQRjhj8gPZ2qwZV9uUHOyehNl5BiunFP9h7AaP2MG6JXe6CfXVdybZRC6
	QyvuK7LHc0aRm7lqFPnuW8pchYedcgQtwidE7o0tEj9vLwJhJpjrAJhgB6y3terFjJb+aK
	lGhTKryfPRq7hHYc63XhFIEVzkd0yCk=
X-MC-Unique: fTtVM-2bP3e2y1n_v1vO-g-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XseqnI4symjZDjBWz3F0cwC3CFvSwX2zmpe0CCMY7mom0WALVkG79KQPyh3KlhuN8MwRjs/xH2cI3orpPQe87YdkUKbpqCEHOVfkf5NCecXe+LOmWmC/Wa38MHSPXEPrbEjBIfhDDJOGhnPuza6is7muKmFqBg7SS/62nGh8fcq/jp2dULAguTauN6ZDG75YWxCwUY6FvgwmYKszVTosP+UxUvKBa2uVoBssIC+9FGFRTJ6g3AicsWqSmVCHaJlpa9k7adzMi8nkOtsgXwmGJVupZV+f3FNgy8AAatrpOOSxnOBMLp9Dbtm9kMKfLXjZscmNpflT+RFjlHpJad5Erg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=C7mU+a+f/Jvb5lbS0yxtJsfGF3xoNL3CBzWUiMzrzWg=;
 b=i8o1JvrI2FD9gwme+GvIhJ5lsb47As9Ka5kKYUuC/vmmDVvnz0SB4PNp6oUTrRf2348heM+5EgixzYq0k6N6emT4e0qc/WT7guz7jK4GoiqMjeKRwKAYXCzjLVA92Fej31QdAsp6LAcmsB8K2OXoFDlIE33y/FYkGsJ6jer1QUuW1zIU5glbbfHw6zS9LetARlpM1LJd26nJI6SOguLFquZqadBRrcpOQMT7Jnvd1XmcQOf1Ln1iLyqpDeJbBWlymRf3dnFn7iVNEaJZ0rOrqFxjr+0soIlTO3XiZ3gjoaVfcP2I8IME+lh2J2sceQn/7398WCj0oi4nXAb8B8c6Pg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
To: Oleksandr <olekstysh@gmail.com>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org,
 Julien Grall <julien@xen.org>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <80fafc01-f063-d6e5-1c08-7ad64550310c@citrix.com>
 <e8db3021-78a5-e040-a70b-62ca5b500149@xen.org>
 <4de5ed21-379e-b618-44c8-924d88b1a519@citrix.com>
 <bbc7f597-5249-20a0-cac9-13f594268299@xen.org>
 <6a633f4e-13e0-4a2b-cf6e-35ef90ae977c@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <7d79a197-a126-2eed-3198-c20e63c1eece@suse.com>
Date: Tue, 3 Aug 2021 14:53:51 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <6a633f4e-13e0-4a2b-cf6e-35ef90ae977c@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0052.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1d::16) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 43b4c2dc-8efb-44e8-b5d7-08d9567dc001
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2335:
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB2335607AEA9333191004B832B3F09@VI1PR0401MB2335.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	vqUi6BdIO6ok1dsI/Xx1nn6uKsDroUqI99hY3kWtd6QrKeAkj8ORdC+w5J4qP7nDQ4ZQVpGcwKHiMX5uZRKORHVpOWGlUIK95utbRZe38ta4GTP+7k9O3G6BVxtMyQkFvS2eB+5TwhF7EAQh0SrgtTD3uKZIFrVyXeDWKwhed7V+Hc0E+Q18+zSvdYIykN+E9NqE83ItDYTwTptPka+eVLpmmBsWgGvmMK5M+IbB4lKxQfQl5c+sEieQKlw6B30Zu3cniRNYF+BqGwZi9i8OHWrDNn22alMN6ja24P4FICX92qj8DZsePVLcWCCjL4+F4bvRXDNzmwMScHy3vx/qW4r7jynOz01Dvrb03rEkjQTdCfDwWqAYyOxTUlVY+n6YrnrxmQRAq/Cb3qrau4n8zFf0RQu+VT8orn6LPVYydxZ27CpEuWHlcyZXBIgQiffz9YphDLb/5J/aAX5M8ZR2Eb3t0L4AXDApc3YHpUHlg9FYYwCa0+5HhIzBLqHBX6n5O3v/U10+5WkK1h6ZoprBwJOv5xwixvY1qisUgz45QIgJXs1Bz3EImiZYbmkawfxs8IXly7BBRkT8LIircRMU77vKDx6D/EPdrKHI6N0lY3Y76b+iGTmWHDipKaR7O4RHLSXyx1hdXM9dZ6f0DvOTRBgJBK1S8vaym6qVoGFcbA0riMokOjnWzKRZiVyUEVzoGY388/BNLFskFViidCbMFkr56cPjBDi9Wi4M/6wxfmA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(396003)(376002)(39850400004)(366004)(346002)(7416002)(5660300002)(16576012)(54906003)(31696002)(8936002)(31686004)(2906002)(8676002)(26005)(36756003)(186003)(83380400001)(2616005)(66946007)(6486002)(66556008)(66476007)(478600001)(86362001)(6916009)(38100700002)(316002)(4326008)(956004)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T2tHOUF5OUR5YjFxTE5haEZxQkNPNEREU1hSUXJhTVVxVXFBZ0FoMDZiWVpq?=
 =?utf-8?B?MWQ1N0NwMWVrNGJ2a2pDTFRQckxyR05GSGY2dnVxL29GZ25vcHVMaEdLY1Zp?=
 =?utf-8?B?cC9taW5oUW9lVGFKN3IzK2FNdHR1U2lMMWJUNkhPYjh1YzJIenNMY2lTYjE1?=
 =?utf-8?B?eDRJUHh4K2lMYTVRajZ0V1R3U1BjQmtBclAzMEVjbmZJT1ZEYjFIMFJMNlRG?=
 =?utf-8?B?MGZvZ2d1RTMyaHZsY1hrMldRckhVS1VVNG1NeW9VeSs3bmR6QnZXTDRmdk9U?=
 =?utf-8?B?dWVkeit2TWxQZEg0MHNCTWZhcTBQSnZKSlZxNHhVbitmVHcrL2xHNDB3cmZq?=
 =?utf-8?B?cmdBTkFkVyt5MlZpYWJ4UldSU0dUZ0ViWDEwdVdrQlVWdmdpTDJxaTF3bWlm?=
 =?utf-8?B?UG9Sd0hYL0ozQXU5MEdwL2VEeDZTYkg1YkY5UXZ1ZjA0TjgrQ1NvRC9Ca210?=
 =?utf-8?B?M2FpN3U4ZFlZbndlbzhhZFA2YVlvTTh1cll4bDNHTG5qWllJbUliQlVBS0lB?=
 =?utf-8?B?RUJ6Z01WQnA5UkhZN254QUplSTlNYWlKa2tZdmpVN3dnM3lKclloN3hMVW80?=
 =?utf-8?B?dU5lZENUTnZTTzVqUFJzL1EzdWQ3YURJaU5GamxTN2UvekVQc3RsWWVNZnNV?=
 =?utf-8?B?M3dvN0tRYVQ0TklWTC9IZVF4Sms4bWhPSXdBV2p0TE01blZUNEY1d01nMHQ4?=
 =?utf-8?B?SW5uYmlOTmFieWlSVDlXd2lOQ1MvdWwzaWJTWlBjTFg2RHNzdW1mMjRWU1pj?=
 =?utf-8?B?U1h2cGQ1OTJKbjVMakVpZ1oyR3Z6K1ZWTnI3ejV1UDF2TlBrMDIvZ2NjbXF4?=
 =?utf-8?B?N3A2dk9mWlJ0L1QyQWZ4R1VQMGc1RXZSNE5xejBkaWc0aGNtL0k5SHNQNlJo?=
 =?utf-8?B?YTcxZEU1OGpzWGM4OFMveVVMRHZWV251QW05U1psdWVXeHlxcVA3NmRtMzh3?=
 =?utf-8?B?Zk41K28rSEdQNzM0TnorODJwcWNTajJBWkJmcUJEVDhVb2d5dUM0OThnRThK?=
 =?utf-8?B?ZnJsNHlIWEQvb3pGVVgvNGtGRVFMKzBvTXRXRjNaZSs4YlRGcW5DWTFmZ05t?=
 =?utf-8?B?MjZHNmlKaXZRNG5YYmR2WnpOK0tQbzcrZnJDLzZnTk1XQzMzZjhrZ2p6Sk5U?=
 =?utf-8?B?QWxGbEdQM1hrVzF0cWwzc0kzcTU0Z0ZzSmRBN0ZhbWFFT1hiTVVlbWtWNzBs?=
 =?utf-8?B?VGxKbEFnK3Rta2p2aisxU3ZFaDFmbzN0RU12UzRDSExuMnNMVHEzZmNUSHdl?=
 =?utf-8?B?b2FVNWpxNEpxWXc0bXpHbFg5Rkhkeko4QnFLdm5VQ3VldnlQbkNsUWE2UWRC?=
 =?utf-8?B?b05oS1JIYUhZM1BpdGFtNGQwQ2xycTZSQUR1eGxMdFBGTkQ2ak4zWmZVMWhT?=
 =?utf-8?B?aURHYjFWTEdFajdWU296OEcvQ001MVliOHdwWjFEeXUxS0lJZGVZUEI2Q2lK?=
 =?utf-8?B?K2pCcEdrTUM2M1FmV3lzUC9ZSFZoRmpTbVJKY0RGT3pMZlVrb3lYL2phZDZh?=
 =?utf-8?B?T1VhTEVTZDUxQk5hTGFCakRDTzdNNlJHMW50bXhpOUp0eW9YZTZyNVNnNDdB?=
 =?utf-8?B?VndOMVB4T1ZPM2Q4SUJSbyt2NElNaXNOcHVyZERPQTNCSjJXMzNwWTdMQktM?=
 =?utf-8?B?ZVIyUmNYeWdXRkNpdzl1a2VTbFpjMzl3S01VajE1UDN2UzFDT0tNMTFVR01F?=
 =?utf-8?B?b1BCRlFjalVBUUJzMEd0Q2dPMS9HM29zQVozbk10NjZTZk5ESmZ0d3Fiallx?=
 =?utf-8?Q?/ffDNIp1nZkXNrBR1I5U6dg0V1v0Suoy8UREgnB?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 43b4c2dc-8efb-44e8-b5d7-08d9567dc001
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2021 12:53:54.2963
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: lvD5/wcPpViJWmfTnFj/gAlmyhariYY3OXQQOEmxyWe8RTJ84QEyR7FHkVjfP213jcMYWv8zuQ3Kr7HAk1yiLw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2335

On 30.07.2021 18:13, Oleksandr wrote:
> Well, if new hypercall and, what is more, "the querying hypervisor at 
> runtime to find unused space" model itself is not welcome, I am ok, 
> let's try to create a working system,
> may we please find a common ground to move this forward (at least on Arm 
> for now, the foreign mapping is the most important question).
> 
> I got the proposed idea in general, but I haven't connected all dots 
> yet, some points need clarification.
> 
> 1. The safe range must be defined/allocated in advance and must remain 
> const during the runtime. The safe range must be chosen by the toolstack.
> [For the initial implementation we can start with some large value 
> (128GB) as discussed above]
> 
> Questions:
> 
> - Do we need to inform Xen about that range (via domain_create 
> hypercall, etc)?
> - What will be in charge of guaranteeing the safety of that range at 
> runtime (reject new mapping requests with possible overlaps, etc), Xen, 
> toolstack or both?

Well, what other entity than Xen could enforce this? (By implication,
the answer to the earlier question can imo only be "yes", unless it's
Xen itself to establish the region.)

> - Where that range should be located in guest address space, should that 
> range be the same for all domains (how GUEST_GNTTAB_BASE(SIZE) for example)
> or it should be calculated based on actual guest_ram_base(size) for a 
> particular domain?

The default size may well be fixed or amount-of-memory-dependent, but
I think there will need to be a way to enlarge the region for guests
with particular needs.

> - What about a safe range the Dom0 can use itself? Xen should choose it 
> for Dom0 the same way how toolstack chooses it for other domains, correct?
> 
> 2. The safe range must be provided to domain using the firmware table.
> [We can start with the DTB and leave ACPI unimplemented for now, 
> assuming we will be able to solve open questions as discussed above]
> 
> Questions:
> 
> - Do we need distinguish between foreign and grant mappings at the 
> domain side at all? Can the same safe range be used for all types of 
> mapping?

Like Stefano I don't think so.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 03 13:01:35 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 13:01:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163459.299422 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAu30-00087y-L8; Tue, 03 Aug 2021 13:01:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163459.299422; Tue, 03 Aug 2021 13: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 1mAu30-00087r-IA; Tue, 03 Aug 2021 13:01:30 +0000
Received: by outflank-mailman (input) for mailman id 163459;
 Tue, 03 Aug 2021 13:01:29 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TXgv=M2=invisiblethingslab.com=marmarek@srs-us1.protection.inumbo.net>)
 id 1mAu2z-00087l-Jc
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 13:01:29 +0000
Received: from out3-smtp.messagingengine.com (unknown [66.111.4.27])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 9cbc7696-5ac8-4a6a-af95-6322bcde5104;
 Tue, 03 Aug 2021 13:01:28 +0000 (UTC)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.nyi.internal (Postfix) with ESMTP id 78F0A5C00BC;
 Tue,  3 Aug 2021 09:01:28 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute3.internal (MEProxy); Tue, 03 Aug 2021 09:01:28 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 3 Aug 2021 09:01: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: 9cbc7696-5ac8-4a6a-af95-6322bcde5104
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=XZ2shu
	MxeDViepznMR+SxYu09mNwilsAtfmjFXhWDZ4=; b=TCbeXK1P9h4ZEe9bTtHH80
	ddwmxSMHplnPeoA6oBqDgGwUmUXlmYlObaFpFKOnJPt9lA1vV2UP8fvaQHvGYVVR
	dez1EN5eGbD3/iFk3Qfd0Dmf8A04i+BNXiCXqazh8EMPdwY8fHMgFz+1/qLwkVpN
	v6G/ANtOPBjIJbA+8HKBFpr6EWJiy0gxq0GRoiNo/n7VirNJMGbRGrV5r3xiqIUU
	muAjv/brKvzPMiuDy7a1jnmDBkKSZ2iPbgi8vcRcevsHG99F0IduG9FRZridfeqn
	TumS75pQzkd6F+u6pPO9p3coKIZrIhByDlYoq92oPepV3nEIM60iHcQYxOhVg5IQ
	==
X-ME-Sender: <xms:Jz4JYWfi6cx_c6zhT3IvSv29J1mIp2QQ-uFwdxNqeT1cnOz-fo7F0g>
    <xme:Jz4JYQMM6LGwnrgagxTuiCpn5cCgNIEA9-cR2s3DTfhXFq-AcCpOuZrZrEvz_Gkn0
    am0zrmvCIInpQ>
X-ME-Received: <xmr:Jz4JYXgnvN4_c7PQ94WMbhrILqZXLcnPzi6RNv51z19yeWteFsRzMp9f6IS0tFSpcmWOJBO-_Wo7a8qXee4u0e03qvISpdIw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrieeggdehiecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgvkhcu
    ofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinhhvih
    hsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepteevffei
    gffhkefhgfegfeffhfegveeikeettdfhheevieehieeitddugeefteffnecuvehluhhsth
    gvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehi
    nhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:Jz4JYT8KFpm8UBUANqwHdBvLpHrJjZ7rl1IpgDvM8fGYp431BjfspA>
    <xmx:Jz4JYSu77kueg_DzSXuvGSsPS92G5IuvS4VpYsV6ZGPVuD0iz5HgJA>
    <xmx:Jz4JYaHvWCfyXHYzt3MlKzKN4mVTG-_UURFkH8P3-xYAPM5wHehBNQ>
    <xmx:KD4JYXV-piNXJMvAc2N0XgSILJ9qxU_47d3jH5x7A3rbWthrbmOQNw>
Date: Tue, 3 Aug 2021 15:01:23 +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" <xen-devel@lists.xenproject.org>,
	Kevin Tian <kevin.tian@intel.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] VT-d: Tylersburg errata apply to further steppings
Message-ID: <YQk+I2FglGrnuyPw@mail-itl>
References: <07ded368-5c12-c06e-fd94-d7ae52d18836@suse.com>
 <YQk0vrH5Oe62ozbW@mail-itl>
 <ec1cc65d-5a10-7ef3-2643-622302cdafb7@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="9nyJt4zKgrMHMyd5"
Content-Disposition: inline
In-Reply-To: <ec1cc65d-5a10-7ef3-2643-622302cdafb7@suse.com>


--9nyJt4zKgrMHMyd5
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 3 Aug 2021 15:01:23 +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" <xen-devel@lists.xenproject.org>,
	Kevin Tian <kevin.tian@intel.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] VT-d: Tylersburg errata apply to further steppings

On Tue, Aug 03, 2021 at 02:29:01PM +0200, Jan Beulich wrote:
> On 03.08.2021 14:21, Marek Marczykowski-G=C3=B3recki wrote:
> > If we would have an option (in
> > toolstack, or Xen) to force interrupt remapping, then indeed when it's
> > broken, PCI passthrough should be refused (or maybe even system should
> > refuse to boot if we'd have something like iommu=3Dintremap=3Drequire).=
 But
> > none of those actually exists.
>=20
> "iommu=3Dforce" actually does prevent boot from completing when
> interrupt remapping is available, but then gets turned off for
> some reason. See iommu_setup()'s
>=20
>     bool_t force_intremap =3D force_iommu && iommu_intremap;

Ok, then, just setting iommu_intremap=3Dfalse should do the right thing,
if platform_quirks_init() is called somewhere between the above line,
and actual enforcement of iommu=3Dforce few lines later. I couldn't
quickly find if that is the case - is it?

Anyway, this still doesn't give the toolstack, or the admin sufficient
control, because there is no way to express "use PCI passthrough only if
IOMMU _and_ interrupt remapping is in use". Even with iommu=3Dforce,
because intremap could simply be missing on the platform. So, to be
sure, the admin still need to inspect the boot log to fish that
information out - could do that in the "intremap broken" case as well.

So, iommu=3Dforce should either always require intremap too (IMO less
preferable), or there should be separate intremap=3Dforce, that prevents
the boot if intremap cannot be used for any reason. Even better, if the
toolstack could figure it out, and apply the admin policy on per-domain
basis, but that's a broader change (that IMO should not be a part of a
bugfix).

> > And disabling the whole IOMMU in some
> > cases of unusable intremap, but not the others, is not exactly useful
> > thing to do (it breaks some cases, but still doesn't allow to reason
> > about intremap in toolstack).
> >=20
> > So, I propose to disable just iommu_intremap if it's broken as part of
> > this bug fix. But, independently (and _not_ as a pre-requisite) do
> > either:
> >  - let the toolstack know if intremap is used, or
>=20
> I don't follow why you even emphasize the "not" on this being a prereq.
> I consider it a plain bug (with possibly a security angle) that PCI
> pass-through may be permitted by the tool stack in the absence of
> interrupt remapping, without an explicit admin request to enable this
> (even) less secure mode of operation. Not making this a prereq would
> mean to widen the scope of the bug.

As explained above - the scope here doesn't really matter. Admin
currently (with or without this commit) cannot rely on intremap being
used, even with iommu=3Dforce. For that, admin needs to inspect the boot
log. And when done, inspecting the boot log will catch both cases -
intremap missing and intremap broken. But, disabling the whole IOMMU if
intremap is broken, doesn't even allow to make a conscious choice to
choose to use it. This breaks the (very much valid) configuration of
running a _trusted_ HVM guest with PCI passthorugh, on some platforms.

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

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

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmEJPiMACgkQ24/THMrX
1ywafQf9GwHWIUOBGFSuVzxw652VTMZI8mmgzkQMe5ezYyIDQrPBFR1RZVCpA82z
PQyjDfKTNIxPA6v0P/Ss2ZXALe6OJi3Mn1Vsl14w6LYoUAUpPxUBa57c/UH/hu3/
BQuK57OZhIkAsECyDPbRWyf8AHjxumRhxilIV7KFinIYR1pNtbgS8326Dif5uGSJ
zjCuQSnqdFgbrW72nN81m1jFBnLoE12dCA7lvy6CghPtcpaQPzmDhiwZ5hMafWYN
RTG+XHDAFS8OvnICP5G6dikFEXItpHEM/cjeTC22mr6fOLtl2boo+i01knFOqRLg
8AX3xqHdzLaYM7ZfQs5TI92KJlDsPQ==
=jA2X
-----END PGP SIGNATURE-----

--9nyJt4zKgrMHMyd5--


From xen-devel-bounces@lists.xenproject.org Tue Aug 03 13:07:05 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 13:07:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163466.299434 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAu8J-0000Ml-AS; Tue, 03 Aug 2021 13:06:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163466.299434; Tue, 03 Aug 2021 13:06: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 1mAu8J-0000Me-7C; Tue, 03 Aug 2021 13:06:59 +0000
Received: by outflank-mailman (input) for mailman id 163466;
 Tue, 03 Aug 2021 13:06:57 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OfYh=M2=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mAu8H-0000MY-Ou
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 13:06:57 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id addaca88-f45b-11eb-9ac0-12813bfff9fa;
 Tue, 03 Aug 2021 13:06:56 +0000 (UTC)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2108.outbound.protection.outlook.com [104.47.17.108])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-32-xC8hmtF3OEejBm-Ass9NNg-1; Tue, 03 Aug 2021 15:06:54 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB7037.eurprd04.prod.outlook.com (2603:10a6:800:125::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.21; Tue, 3 Aug
 2021 13:06:54 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4373.026; Tue, 3 Aug 2021
 13:06:53 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0212.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1f::32) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4373.18 via Frontend Transport; Tue, 3 Aug 2021 13:06:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: addaca88-f45b-11eb-9ac0-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1627996015;
	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=+Ijges7Ai0bixcL0v23ZHSDab3xcOAdpDUi0XTuJ5B4=;
	b=Ef0YsrhpCe7TFqE3ALvmxui7qJZU9/Sr+CxYCKqBeZjqvkb+P0erINGMcLYadzg0Ra5RTB
	iaakLoTEsLFUETzBdNy9+OjGYge2XQ0ZAf8HUhxDtVciX9Q4mQPx4hAfFPxc33n4MfUyxO
	g3mJFAkHKq/z8T7XHjXIi4U8FSSuJ54=
X-MC-Unique: xC8hmtF3OEejBm-Ass9NNg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cMdrB5n5tmER2gUJnIERgE4rkD2PXYzhJ8O+T6smVXdZsqVseoTSDB5Yy9pc1hxCElatHq9U+aQvd/o/FFjOPuKCR1yKtShRzLDv2UVgWXuDOrpDmguy25eU87A5QMowmWxq9swsDzcxy9i/3sgtxKPkESQh8O5IQj5IcY1hdBRQHz+Y26fYnKtlsnVp1R+cfBz1UJNWG4J5Pfkqa12txXacYMCQ73mqi/1MYpWLE6oPyBg2mAgA6LqL2pi+MmkjLLtV/qAi4uss5DNAEfuATg/ukiwbP3dgXPI2OuaZkIFgt5f74EQeIgsUWwQvYk7crLujxdfryDSLI2EbFwrqew==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SKAexD0jpo8G3aRTo44bCMwjJ/b5JQlrrEcQKrf1jt8=;
 b=Z7raWC8SAK/ks5K8DRiUiEEZ/BBVzVAddxe6PeyBQ4QXWt40Fr8vfIYGvtGuvWZGaut9S5jfnPClGqBkq6XBh3p7wu8Yf1D/CHHBV6QtLrQWoKmhPTPolXhT/XA2YiVb05zoq6rkQul3/Gt2FzenC1FPBmTVsWEbGF51wUecJ0kIDX678yTDtfinjGWGY3CqPCF5s38TPEQo049g0I93fUW4ztbAcYZEOrcrFMXCBSxNJ8bS31A9Cd/WGQCFy1NOiVfZR2gzadc0OGAEv4bWdEj4gR/d2uPLkrtVY1gwB42mt7Dm2sbmgs/jZFzivM0bANnstAX55DA+19JviGm6nw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: citrix.com; dkim=none (message not signed)
 header.d=none;citrix.com; dmarc=none action=none header.from=suse.com;
Subject: Re: [PATCH] VT-d: Tylersburg errata apply to further steppings
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Kevin Tian <kevin.tian@intel.com>, Andrew Cooper <andrew.cooper3@citrix.com>
References: <07ded368-5c12-c06e-fd94-d7ae52d18836@suse.com>
 <YQk0vrH5Oe62ozbW@mail-itl> <ec1cc65d-5a10-7ef3-2643-622302cdafb7@suse.com>
 <YQk+I2FglGrnuyPw@mail-itl>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <10425176-438f-370b-9d60-183d6e0f5441@suse.com>
Date: Tue, 3 Aug 2021 15:06:50 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <YQk+I2FglGrnuyPw@mail-itl>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: PR0P264CA0212.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1f::32) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 7d5d53ed-a414-41c1-dc79-08d9567f90b6
X-MS-TrafficTypeDiagnostic: VI1PR04MB7037:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB7037FF29B89178A0E50B8601B3F09@VI1PR04MB7037.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	WQGtPtMlGdVzS94vJ8joqDTZso7yyL/RtQJGZ4X8CWSalxGkhsNPQ631yUna6WBfCfvWE/s6LfLaY2U+LNW4SNFJ7WZuCwvLd/Fy4Ocp8jgOb6K4Z1B2VOyK0JZiv/eSr0y339ByzR/vd9ez3Nn8AHwWU3UOuoK7F6o9bFCsMn9IUubAQOi9RSAIqRFXJN0lO5sH3qGr5yp0Yt68bHdmM3l1hXArg66Wv82EY9sIfDQwUMlyL22pvaQ/I6/Twsd4xsSy8cQQ1WoND1c6vG+LMaZZY5v1ktG4/Pjb3ySYxIt3YMrsfmrve0DOMG3jfuamcpY/eN/u4opljRP0QYO4vjM5aItc0MCtxHtldN96a5XK3LDVudpEVRhRWnB2zteXVbUK65e1Hz38uhQFrXndqSqOJlCZaSTzLCtjryyHXrwfPcODHGs+2NMIg0vrD4GVuxRtlqOoEW6isM7ICnQqLsdYXfH1U6kd1ju8DynMv1Wi4sGKF5/jrKKAF72Few4mvqeiCBwBFNs9I+0hNB1/hffH8R/bdKnXwvO6naq2892bqSmthYvoFu+F4ecC8prt0nlM5qgaiT0vXnZaZL0q/LPA4q3UY5DJvbOW5qRSiwfWQS1lH9ot+gtoxzg8vT0Sj2toG9Jwmu5f+4hs82jcUkU9V0Z5IBUzAbagEuDkMRD6NH2lTR3liHPCT0fxckhg2W4YW2xfvdaqdmwVAY4V+8o8Y6Uh6DRap8t8dOQsBv8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(396003)(39850400004)(346002)(366004)(376002)(2906002)(8936002)(8676002)(478600001)(2616005)(956004)(16576012)(316002)(38100700002)(31686004)(26005)(54906003)(6486002)(6916009)(4326008)(86362001)(53546011)(66476007)(66946007)(66556008)(5660300002)(186003)(36756003)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?ZlxV7zaoU8s8Ih3JoayUARgj4mObOXEgnBSEHZjsk/Hk+6aqIVKmrfUadl4K?=
 =?us-ascii?Q?cfQoCfA5Kq4yKy1melLmUOxgTO4kzA1xrclbEbl8QYKirL9egjT4yYo/Jstb?=
 =?us-ascii?Q?tYXNqQOK1nSfgI6AOJz8DUuWHJotjeccMKxi2BLrRxAXkwO8N960J2k0ejAJ?=
 =?us-ascii?Q?UjgTdLh48kEbINcTNm1CbjDKjw+Lj80KzQ+aadtNzUHAdlH2qFt2tJqLtEjB?=
 =?us-ascii?Q?UBZE30ze/w3s8I3Gpo9Qc/tKoau6tbHP+4LcDxubS3x+el/C9kZsVcb+iSLH?=
 =?us-ascii?Q?iBQ9ZwXNPrAR2+51HOhAKg/Q6fzbSmP+FLLcmj97KK0cgBcZDprKtE5x/wNl?=
 =?us-ascii?Q?F0WLl73yJVwcPPR2bCvfbad/SByqFUJvFK2B6O+txZrsYNbbWqexpNJadWFe?=
 =?us-ascii?Q?5VKNQ9N3MAVG8mnQNe/GUoDbMkf+JIw25WpL3pyKjbo0gjOU4Fx9laynWcd6?=
 =?us-ascii?Q?puSnAN5BWHVKLhbevpTLUAoP6NrvCS272IPuyI4u4fdIrwV8COENRMpQp0Dl?=
 =?us-ascii?Q?Dqfq8pLLs/3eR9VDh4ot0g0zGG62LJYYQY3dC6gzElV58e2tuiam0PJ3Fm4D?=
 =?us-ascii?Q?MA/DJ6F4piPZEyvHFI8MWAKm1aXT/VnPHkJJtaR3tEFXz52wANZSGjtv+niz?=
 =?us-ascii?Q?6KVaStmiDpvH21jEVBOl4XWbkFQyudpJo9EJKP72JIl7vqOYkaBnEc5rblCR?=
 =?us-ascii?Q?KrWK+ftxUYG4wA+2GkV7HgqnMs5kmfR2eaTM+1xrJtbztthmJNWZHBF/Us7l?=
 =?us-ascii?Q?Kp3ooO1HygJS4xVzzkubQI200tveNkjQDB7sfnTHOFhmdp0fMP2+Hn7+bqKW?=
 =?us-ascii?Q?MvZ2BLv7ORRNNWYYpkOgZzNgFjsY6EboT/5kLCugeQLUQMQ/p+Wl65ZO3i3h?=
 =?us-ascii?Q?Iz6sG37MCSYBvXw+T17rhkqZxq+CN6hvl2BgYO4B1rnA2pj6BAx5uO5j2Lgo?=
 =?us-ascii?Q?CxtA+viYmQtn8SlIzFGO1Ffv9T1cOO/0CSU//j3PSGLk4EKT996bRkP+DCdt?=
 =?us-ascii?Q?dTLnM+UTqzqsNac+WCdHSPoIxVxRxs9ZVlxfItEvveOJZIT1aBCn+87fz6R0?=
 =?us-ascii?Q?MXaTQKmjn+2VEWfPKFVFpjyPsri2XJi4EoMOuTXLIGw3OIjYPrqeG4wYho4l?=
 =?us-ascii?Q?/vsybib40ostrm+54pBL/lf+LFSQPGZyGw7iOdZL/XAcq38KU4s81IBV5Q2l?=
 =?us-ascii?Q?jVvpFbh5J4us8Ocvhu0P7qrN+2KSXvHdYkuKrdeZu1LKGZoEDsnAsodgGDcE?=
 =?us-ascii?Q?kxaON+nM8rpTWRKgr4B7Xk38mckmQJrmY80n6gGoQlh9+rYHbzXM32sWOwK2?=
 =?us-ascii?Q?Yr3JrRGxPSRd2C74w1oF/M5P?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7d5d53ed-a414-41c1-dc79-08d9567f90b6
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2021 13:06:53.9453
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: O0+LNVZiKiTHzNLNJlZHxHtJWVaTbUdTdYZ/16ODGGevhZoobMwNEtgaCSoH2IVmAtpkI5YoTqf+5yU5KlZEfA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7037

On 03.08.2021 15:01, Marek Marczykowski-G=C3=B3recki wrote:
> On Tue, Aug 03, 2021 at 02:29:01PM +0200, Jan Beulich wrote:
>> On 03.08.2021 14:21, Marek Marczykowski-G=C3=B3recki wrote:
>>> If we would have an option (in
>>> toolstack, or Xen) to force interrupt remapping, then indeed when it's
>>> broken, PCI passthrough should be refused (or maybe even system should
>>> refuse to boot if we'd have something like iommu=3Dintremap=3Drequire).=
 But
>>> none of those actually exists.
>>
>> "iommu=3Dforce" actually does prevent boot from completing when
>> interrupt remapping is available, but then gets turned off for
>> some reason. See iommu_setup()'s
>>
>>     bool_t force_intremap =3D force_iommu && iommu_intremap;
>=20
> Ok, then, just setting iommu_intremap=3Dfalse should do the right thing,

... if "iommu=3Dforce" is in use (but not otherwise), ...

> if platform_quirks_init() is called somewhere between the above line,
> and actual enforcement of iommu=3Dforce few lines later. I couldn't
> quickly find if that is the case - is it?

iommu_setup()
-> iommu_hardware_setup()
-> iommu_init_ops->setup() (i.e. vtd_setup())
-> platform_quirks_init()

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 03 13:12:29 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 13:12:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163474.299445 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAuDX-0001nS-2U; Tue, 03 Aug 2021 13:12:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163474.299445; Tue, 03 Aug 2021 13:12:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAuDW-0001nL-Vd; Tue, 03 Aug 2021 13:12:22 +0000
Received: by outflank-mailman (input) for mailman id 163474;
 Tue, 03 Aug 2021 13:12:21 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TXgv=M2=invisiblethingslab.com=marmarek@srs-us1.protection.inumbo.net>)
 id 1mAuDV-0001nC-RE
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 13:12:21 +0000
Received: from out3-smtp.messagingengine.com (unknown [66.111.4.27])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 6f8f15f8-f45c-11eb-9ac0-12813bfff9fa;
 Tue, 03 Aug 2021 13:12:21 +0000 (UTC)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.nyi.internal (Postfix) with ESMTP id C3F085C0108;
 Tue,  3 Aug 2021 09:12:20 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute3.internal (MEProxy); Tue, 03 Aug 2021 09:12:20 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 3 Aug 2021 09:12: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: 6f8f15f8-f45c-11eb-9ac0-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=ma+ZMt
	lzF5hVOkev2788QqmzXu/scgSF9F/FCsJEjDM=; b=mJYBEA1sTlb8umcRnPW2dz
	cp22JG8Zf2V4nAVLCm+xG1NK8rIx+kIjZxcB64k1I9CjyPtP886ZUz0QIvb36blB
	HS9ontuAj2nGjb0x1vbngBcg4pvwtTW4x7fj37gL8TRRd9l4gFlQ4NeA/mDLmnmp
	SUifnJsSHAq/XCOJazXx/ugkYutfcJoKTn9hx8tWrKkHqk+WIk3rai74gyce2Yzf
	YJHCKIoHUMDnsZY/ACe7DiFEPULOSG2FCL3LdySFL1im0qGBrexfGHlFFFfT1BZ5
	f22qCXJ6LjeSghEl3UMZfO6l/ElxEgvIdez7UQza50LxNdpUfy4PEKB8pWnsBmTQ
	==
X-ME-Sender: <xms:s0AJYdI_Azjo5tUVMf2G4l7VAfnVmlVd5Qh30m3j8YwmHOmZOq8h_w>
    <xme:s0AJYZL0Rv6dcg809wxK7NuT7UXK0xxJXG24dRHaqh_e7jirOSXenciHIuOn8yJdY
    ZQrNPVKi459ww>
X-ME-Received: <xmr:s0AJYVum6Q0_5yCGvcviroN1Fpv5IzF8sNWV6rM29_p7_c4C_4r7OftYtr4uglw1nfVArM6iRM5hcPPs0z3RtAej-xm_zSJU>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrieeggdehkecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgvkhcu
    ofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinhhvih
    hsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepteevffei
    gffhkefhgfegfeffhfegveeikeettdfhheevieehieeitddugeefteffnecuvehluhhsth
    gvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehi
    nhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:s0AJYeYCuWJxPpmrXSiVrJqcVGSAA7e_h9zx_0GhKG0MQ2QM562Dlw>
    <xmx:s0AJYUakrJ127Mw2mfRFo4ohkNkFiTDv6udGYnyeb_sU0vHP343iyw>
    <xmx:s0AJYSByh-OaJa4mbsG4ZUG9jNK8hWdog9auw-P2hRRfJ3Ge9c0hsA>
    <xmx:tEAJYfxEOwPa8vkI8Ldm3d9IfXLFmzFf2l1BD_PZlpspMedSHmLYKw>
Date: Tue, 3 Aug 2021 15:12:16 +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" <xen-devel@lists.xenproject.org>,
	Kevin Tian <kevin.tian@intel.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] VT-d: Tylersburg errata apply to further steppings
Message-ID: <YQlAsAneiMOD+SMq@mail-itl>
References: <07ded368-5c12-c06e-fd94-d7ae52d18836@suse.com>
 <YQk0vrH5Oe62ozbW@mail-itl>
 <ec1cc65d-5a10-7ef3-2643-622302cdafb7@suse.com>
 <YQk+I2FglGrnuyPw@mail-itl>
 <10425176-438f-370b-9d60-183d6e0f5441@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="bNUBwrql5Ygim7fF"
Content-Disposition: inline
In-Reply-To: <10425176-438f-370b-9d60-183d6e0f5441@suse.com>


--bNUBwrql5Ygim7fF
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 3 Aug 2021 15:12:16 +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" <xen-devel@lists.xenproject.org>,
	Kevin Tian <kevin.tian@intel.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] VT-d: Tylersburg errata apply to further steppings

On Tue, Aug 03, 2021 at 03:06:50PM +0200, Jan Beulich wrote:
> On 03.08.2021 15:01, Marek Marczykowski-G=C3=B3recki wrote:
> > Ok, then, just setting iommu_intremap=3Dfalse should do the right thing,
>=20
> ... if "iommu=3Dforce" is in use (but not otherwise), ...

But that's the purpose of iommu=3Dforce, no?
With "iommu=3Dforce": strictly require IOMMU
Without "iommu=3Dforce": use IOMMU on best-effort basis

It makes sense to refuse the boot if intremap is broken in the first
case. But also, it makes sense to allow using IOMMU without intremp in
the second case.

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

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

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmEJQLAACgkQ24/THMrX
1yxCyggAmDY8OXGnFJLLAVpVOpM5lWYZY+wBLvzj1n0BXxzW1rIMfjv67gopkWbh
i8Oj/P5dIjLx2L/tY5HwFcRHyJ4W53zkTKpCPYo8SiYyqHxZ16dkOPgoI2hmd0Yy
yXX8iLTO4IVLx8Hibs9gSfXcQXh3mnKt3eyIOPq/xztQS18lcjkti9k1YeJqibnM
TVNzPRm1jfk96pOrv703BcZkRWr7OvlCjkGXHh3BSBSMOZr4jW7WJ+PiXjmH+v+s
7U6d6rGJz5ubloAISsJwy+J2dO8EZ/sVYbEUkYCE9XKygotJFcBctcQ+NMQyxI39
bw/7L1+wZkMGgy/6kSgex5KuCkZWeA==
=0VDS
-----END PGP SIGNATURE-----

--bNUBwrql5Ygim7fF--


From xen-devel-bounces@lists.xenproject.org Tue Aug 03 13:16:28 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 13:16:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163481.299458 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAuHT-0002Rx-KP; Tue, 03 Aug 2021 13:16:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163481.299458; Tue, 03 Aug 2021 13:16:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAuHT-0002Rq-HF; Tue, 03 Aug 2021 13:16:27 +0000
Received: by outflank-mailman (input) for mailman id 163481;
 Tue, 03 Aug 2021 13:16:26 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OfYh=M2=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mAuHS-0002Rk-8g
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 13:16:26 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id f3464b42-2a55-4823-a4a6-13dcd4bbb54a;
 Tue, 03 Aug 2021 13:16:25 +0000 (UTC)
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01lp2052.outbound.protection.outlook.com [104.47.1.52]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-13-MCgc6gGCO5CcsvTpwwb8GQ-1; Tue, 03 Aug 2021 15:16:23 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4941.eurprd04.prod.outlook.com (2603:10a6:803:5a::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.22; Tue, 3 Aug
 2021 13:16:21 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4373.026; Tue, 3 Aug 2021
 13:16:21 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FR3P281CA0026.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1c::17) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4394.9 via Frontend Transport; Tue, 3 Aug 2021 13:16: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: f3464b42-2a55-4823-a4a6-13dcd4bbb54a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1627996584;
	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=9aP7DhwqvIYqGNhPQJsiIMe7LnqMN6onjtyn0zuzxbM=;
	b=SdLvu/JAE/sF6mUDHYpR+MI2yhMRK2oOf1xU8afaFG48hCDtikdgmvajBxzWSbexCeOKN8
	05KG2tA7w6QiBQMlSYL+gpe2x6nnwqLHgnTslu1NCnYM65LM9Wkhcn3cRxdxdAHRCTOrDP
	ZZlKsvPaaRbWi8laxzUo5/G1I1FiBvI=
X-MC-Unique: MCgc6gGCO5CcsvTpwwb8GQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nVWrZpTm1OSoEW9wmGP5A3Ry1LxVD8clAMXJnYNcFse/ARVXFqrYPjpNvMXKp7H3mRmlTyWHQci+cKu9Z3xhPCKQVnNc4H6tt+S/kotsi61iE59eGHaLlaSvhOnbDfx1vYuZQRf9ICEcADcda81/qu3JfQPsiZ2VcMVnbbY6m47yMx17v4OTGYhOPwe6xtRcK3DSRPZ0sHPP2TPPvZDEqIZ9aJN4gv4agzM5T/Lxg/iEHMhebhhlsgWlyCB5zI/u89ShwxVyeROslTrRaJ2tiEEvdtlRbJfn26Oh2zUSLS2+BlYyR988gJV4r/4ysPJKSj4QWRUsTrZp8KciAL81NA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=M+MCmpB3bu8w8TPPkXRleFzoMRNNuIJB3/HiR289Sf0=;
 b=Iy8TwLML6HCIvuDa/ja/n31uaeVTG4lMQ9nrBC2gfxcBVyKQF4zErAq5eLzA08s+OvcidW9SeceoXYb2XYLb3I+5dyuvji74hDv1albqmvCcbv5klK9XgVSgg8yp5GTO2Rz0zF0/czrAAjg+gEo0gxMOa9TUiFwLUrB6D8PjWnW58oUf3G+6DxUGoqGXxZvE6t+0E1p7bDsY+ohx/YXDmvKObeyoaUVxx/l23PDS5+659RUTthr71c1fYtZJklODzme8mJtYUYA2l1btthpzUQjFr9PCp7P6ZzY9v0Aj0PF+k6H3Gm0gGm2wmV15Bfh/n3TGJIDMtNO7PPaDUXRdXQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: citrix.com; dkim=none (message not signed)
 header.d=none;citrix.com; dmarc=none action=none header.from=suse.com;
Subject: Re: [PATCH] VT-d: Tylersburg errata apply to further steppings
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Kevin Tian <kevin.tian@intel.com>, Andrew Cooper <andrew.cooper3@citrix.com>
References: <07ded368-5c12-c06e-fd94-d7ae52d18836@suse.com>
 <YQk0vrH5Oe62ozbW@mail-itl> <ec1cc65d-5a10-7ef3-2643-622302cdafb7@suse.com>
 <YQk+I2FglGrnuyPw@mail-itl> <10425176-438f-370b-9d60-183d6e0f5441@suse.com>
 <YQlAsAneiMOD+SMq@mail-itl>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <b7b0c929-26d8-c1de-7658-a58ed31ee9be@suse.com>
Date: Tue, 3 Aug 2021 15:16:14 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <YQlAsAneiMOD+SMq@mail-itl>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: FR3P281CA0026.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::17) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ce9e78ac-7f2c-41c1-6985-08d95680e32b
X-MS-TrafficTypeDiagnostic: VI1PR04MB4941:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB49414F3344DBC978A7D27418B3F09@VI1PR04MB4941.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	lxInrqkw1IpPpcGpIjJR9ztgWt4G5HZLPTYm4VNHWIIPQ6CRbVvnWMGExeK6tXY4r9rAZnGQXQ6gozNi3YTgHxCkQQYKiYyRxSoNUiFaH6rfTdWHL6Dk8WGRJDUM/G6I5GghGLXluuMgupaK0NpHGpbmQjeYNDJhcLRxr14qIDpam3Jr5EH+/KFDR6N05mZLjnN3u27qkKxJEAjv/tYhuB9gLAIM9TrmOn+O08uKY9mpxUACxyJ+LmqVHxuAol+Q4DGUhWLXeSFMcN+AvJQh3wJMtecdFakmBFnccM51kYsGlfk6UycwydDMgebzoa0WX8/CO/jpV74vUMUuf6ZO6NfyJPzEh8VoMKFQVXQti8P2rOwJzRyAER2EAbuxD0vDpPWysO1nm3JrASgaOwc1xcq+ytuVM6umCIf8BxY2DU/2VUL/gL1joWE7HaJpwJ911gxoaVw5Kb6rb3nSEnRpBDl2Outd/3/UzKDyDQtJfuWJIvy+LGsNwvgYTWxFxwUh2HIr5u/5gVwjPhq1PDpnpbsbN5et47gTgl4aAVQwFs1V7aq+9NII5LjGMI5df4t5QuJ4zeEH5aTl0hI5zruEkgZcZzH00Z2069Griam+oLpYgEMcaVMKtF7z/cc/+p5Is86IQJzdK5nnfh+Pzb7twY9yJbaWocyCt/I0tqI048Y6OBeT8oX7S5qYdQZf8ree2F3Zi+6Vr4UwS7YRomMR0N1G6+rKxAg8o4OJpep07Y8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(66946007)(26005)(31696002)(8936002)(83380400001)(508600001)(54906003)(86362001)(186003)(316002)(16576012)(66476007)(66556008)(4744005)(956004)(6486002)(8676002)(2616005)(31686004)(36756003)(53546011)(5660300002)(6666004)(6916009)(2906002)(38100700002)(4326008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?qZbma9XUZqrR9Ao+2BsTy6bgLhmeCO1Qt5MS2AuSIPh6BqXPOVonQsKg9eGS?=
 =?us-ascii?Q?vMvMNv+gdr0i5FFK8xEQRU+0T4XFoRKm8FIrRJryQUJjuvzCT/2lTAlkUYF+?=
 =?us-ascii?Q?QPrRsn1kXZPcNWIp094OEzTPecwHp+BsHU2wHTSH8eQsmS/q080kan4Y7WWJ?=
 =?us-ascii?Q?1p2j6mQLyauUd9XO+vf2anrUa1J49hXIGUrcbHsnUaQJnLEcYaL1YVDawgQk?=
 =?us-ascii?Q?UDSwXe11HmgVvJ+9uFH8KnySe+pRKQtWRuMjEL2mJeTBk9hCfauJq9tPSsxQ?=
 =?us-ascii?Q?HYRWx+425RbQ2wExkOCeEwz8HGo58/Y8FUdDE0zNS76l7MmvKBSGu9bC/q66?=
 =?us-ascii?Q?2BPV1r0NpJkU8hvfbxXfgaNE5hs7wYvuH4WRbsDXhpzAEZhbZHGd+YsTXM7E?=
 =?us-ascii?Q?p7If/Zi3lXAV8opPxqm2WzhU8d488b0+Vr7o8YzvOkIXThv3cXNdttlwSZ2H?=
 =?us-ascii?Q?MBta5L+PdbDm+Pdcn+A9ZRo9pWcoIo0IJLNCc7d83BrONBO+zbEeasO/ZE1h?=
 =?us-ascii?Q?3GQtPLDUOSUXuOzG5XGDN/CSaEpTxl3POE0sm93Ap1usNS6c32Rm97B3l6aJ?=
 =?us-ascii?Q?bFA7gmFVBbw91/Mhlcp14vpZZBIyibVPkA3L3uluF25pq/b8M+ULKut2kxqN?=
 =?us-ascii?Q?LVAZceMdBhk0yqvMBsrnTQo5SACfrFewRv9hUb/knx16KdkOiltUAWMYcpsb?=
 =?us-ascii?Q?hMdG5WROSgaJAbdAi7MOTZZueKvX7hICzYTjwdO254j4ay4JH57pVAqT121Q?=
 =?us-ascii?Q?l8ZsjF7eawOhgkZV7GctLEWPH05OP/WPdka7cPiyZxDQrhZueElQ+w6HBdMh?=
 =?us-ascii?Q?qheGTGF5Fy0V8vXFxEk+uIG0FwTxCL6QxVCfcWGkpZkz22xwnGwwiFtqrfSp?=
 =?us-ascii?Q?KkYcTtc9hd+OTmqh3VwSmXlfe03PKQyEft/99/PVIH3b/dTklSnyDiDqp5wD?=
 =?us-ascii?Q?AFuIj38v4HA2DGdkquhSt4XtqNnJOEckaM2wqR/u4U+Nd3/QPzaMzAWPJMUP?=
 =?us-ascii?Q?tIFu73Tmq3WR2LR2wsHUTJdGqGFRiqNeyBZUo0EuOtWf8ZlILZE6ufw+PHR1?=
 =?us-ascii?Q?cubzh0XN1PdKLqATrMDMovU25dd9XApL0teJTHPJU6zHoT/ZmNcBhc3IcjQy?=
 =?us-ascii?Q?0lQxm6kBVGL+NtWkynnq5A3mtXPsfI2HNRV87+sanfy9KrAW6qcEmcQKx2d0?=
 =?us-ascii?Q?w19XytLfB5+Rm7Ci5UdGkDCQSbUqp15yCoHfYCLx07LM3p7X1anyEpwRkb1H?=
 =?us-ascii?Q?YKKn1ZLJYedbcqtfJpgbs4i7CMXmOmgDYBqFTmSEd4BAuqy4aMYxW3yvffI3?=
 =?us-ascii?Q?98g+dCPPKNPqMgxRAh/3Se7i?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ce9e78ac-7f2c-41c1-6985-08d95680e32b
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2021 13:16:21.7740
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: r0XfX3qf123sgWPCIP0ln88VUNEDXT0MjABGgqmndwXbjB7wSTqTPC+HDqkWzaoCn/9Gqgg0XbhRMg9mKlgPpg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4941

On 03.08.2021 15:12, Marek Marczykowski-G=C3=B3recki wrote:
> On Tue, Aug 03, 2021 at 03:06:50PM +0200, Jan Beulich wrote:
>> On 03.08.2021 15:01, Marek Marczykowski-G=C3=B3recki wrote:
>>> Ok, then, just setting iommu_intremap=3Dfalse should do the right thing=
,
>>
>> ... if "iommu=3Dforce" is in use (but not otherwise), ...
>=20
> But that's the purpose of iommu=3Dforce, no?
> With "iommu=3Dforce": strictly require IOMMU
> Without "iommu=3Dforce": use IOMMU on best-effort basis
>=20
> It makes sense to refuse the boot if intremap is broken in the first
> case. But also, it makes sense to allow using IOMMU without intremp in
> the second case.

I agree with both statements. What I disagree with is that the latter
happens by default (instead of only upon admin override), including
the case of intremap being unavailable in the first place.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 03 13:30:37 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 13:30:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163488.299470 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAuUy-0004bk-Rc; Tue, 03 Aug 2021 13:30:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163488.299470; Tue, 03 Aug 2021 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 1mAuUy-0004bd-OZ; Tue, 03 Aug 2021 13:30:24 +0000
Received: by outflank-mailman (input) for mailman id 163488;
 Tue, 03 Aug 2021 13:30:23 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TXgv=M2=invisiblethingslab.com=marmarek@srs-us1.protection.inumbo.net>)
 id 1mAuUx-0004bX-7Q
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 13:30:23 +0000
Received: from out3-smtp.messagingengine.com (unknown [66.111.4.27])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 2c1a54ea-2dae-4866-a66e-4f27d75ddee9;
 Tue, 03 Aug 2021 13:30:22 +0000 (UTC)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.nyi.internal (Postfix) with ESMTP id BD7A35C0189;
 Tue,  3 Aug 2021 09:30:21 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Tue, 03 Aug 2021 09:30:21 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 3 Aug 2021 09:30:20 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2c1a54ea-2dae-4866-a66e-4f27d75ddee9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=njCeVW
	Hkp3+kQIDTRaLIg71XMaVis2WbAirdeXdxvAU=; b=MVVHjQpfLoRbR04Ne5OM1w
	Khp4xyRd4mNpPbZqSBPzsxbQwPVhkjoXCj6MrH7g/fcf4T+i3v54NATxr1+oJxV2
	V7VSBSp4FkN1V3iXYJSiQulurvE5BD8oQihJjcYfu5HoYM8Vui79q0nXNGYqJMYq
	HnktnetKzfXVhgv1Ksdtt6ZSgq89yuuJpwSODA6cp6ZeAxvxbHIk4kquppEHBiZK
	yjOblYuDtMtHBArrQu6eG5BDBmLBwqEkDMCjiOMrBlM0f8nPLgUvaAVF1K73OcyT
	31S6PBFtojwjFjMPrV9KZ8/mEHcI8zinxO00HDjm133qxO6ONppM0UA7quLgXf0g
	==
X-ME-Sender: <xms:7UQJYdj3Zi-aq8eafrXjBCFcve9sD6QNYRPNfoVKd3Cb1L_kVnhnIA>
    <xme:7UQJYSCzmcTMHhDsOwVD62Kz4hGh9HJbGG-i7-v0JxsvER3kK_-lu40MVnN0t_4hO
    lylaZpzhJBbXQ>
X-ME-Received: <xmr:7UQJYdFcQKUw977hojUnN3I8FQmHhgClrY3dIifSeNAdwzQ8xkYbLbvPrSSMOb0iBKy-_Mu7CeCs_Z1mo5l2avgk2S2rqr_7>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrieeggdeivdcutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgvkhcu
    ofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinhhvih
    hsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepteevffei
    gffhkefhgfegfeffhfegveeikeettdfhheevieehieeitddugeefteffnecuvehluhhsth
    gvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehi
    nhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:7UQJYSS3WkPjjLEvIza84JsSVWMY4ZMPtM0QFTdFzq1wecQrT0A3wQ>
    <xmx:7UQJYawWnndbU7q3hyBHhHDR2v1zrua0Vyf2HOAFFEJGySUYDgCWwQ>
    <xmx:7UQJYY7LJIb9E7oqJ0IBxppecd3qKgvp5qQP5gnYc2VtNk89BGJanQ>
    <xmx:7UQJYfoC_PWxDdZicAU7RpWB-uqGoq9I2eKCpEP5dEC6LIrt2rUOpw>
Date: Tue, 3 Aug 2021 15:30:17 +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" <xen-devel@lists.xenproject.org>,
	Kevin Tian <kevin.tian@intel.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] VT-d: Tylersburg errata apply to further steppings
Message-ID: <YQlE6XgSK207emw/@mail-itl>
References: <07ded368-5c12-c06e-fd94-d7ae52d18836@suse.com>
 <YQk0vrH5Oe62ozbW@mail-itl>
 <ec1cc65d-5a10-7ef3-2643-622302cdafb7@suse.com>
 <YQk+I2FglGrnuyPw@mail-itl>
 <10425176-438f-370b-9d60-183d6e0f5441@suse.com>
 <YQlAsAneiMOD+SMq@mail-itl>
 <b7b0c929-26d8-c1de-7658-a58ed31ee9be@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="1nzrRTmZWqHMh/1X"
Content-Disposition: inline
In-Reply-To: <b7b0c929-26d8-c1de-7658-a58ed31ee9be@suse.com>


--1nzrRTmZWqHMh/1X
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 3 Aug 2021 15:30:17 +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" <xen-devel@lists.xenproject.org>,
	Kevin Tian <kevin.tian@intel.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] VT-d: Tylersburg errata apply to further steppings

On Tue, Aug 03, 2021 at 03:16:14PM +0200, Jan Beulich wrote:
> On 03.08.2021 15:12, Marek Marczykowski-G=C3=B3recki wrote:
> > On Tue, Aug 03, 2021 at 03:06:50PM +0200, Jan Beulich wrote:
> >> On 03.08.2021 15:01, Marek Marczykowski-G=C3=B3recki wrote:
> >>> Ok, then, just setting iommu_intremap=3Dfalse should do the right thi=
ng,
> >>
> >> ... if "iommu=3Dforce" is in use (but not otherwise), ...
> >=20
> > But that's the purpose of iommu=3Dforce, no?
> > With "iommu=3Dforce": strictly require IOMMU
> > Without "iommu=3Dforce": use IOMMU on best-effort basis
> >=20
> > It makes sense to refuse the boot if intremap is broken in the first
> > case. But also, it makes sense to allow using IOMMU without intremp in
> > the second case.
>=20
> I agree with both statements. What I disagree with is that the latter
> happens by default (instead of only upon admin override), including
> the case of intremap being unavailable in the first place.

"upon admin override" - do I read the code right, that iommu=3Dno-intremap
will actually achieve this effect? Will that allow to use IOMMU without
interrupt remapping on a hardware where it's broken? In that case, maybe
at least add this info to the log message?

IMO an option to strictly require interrupt remapping would be useful
thing to have, but that's getting even more unrelated to this bug fix.

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

--1nzrRTmZWqHMh/1X
Content-Type: application/pgp-signature; name="signature.asc"

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmEJROkACgkQ24/THMrX
1yyYigf9GhHUnocbjQxWGp5xyepJV7B/P4bsjRH9H0ZFKFCqV35sqr3D5W4UwkIu
1pQtXLuTC657U6WeSCoe3tlgKkVwYm/vQ++XRnUqwqBYpvcQgBODgKmGBl8oEif1
Qn8R2WgpYaqUFIdOJvIH01tI8nKzZrU1pL9hE7fsfKLTeUQt/wOScAUJqqUV1trh
DqtD0YAytv9zNiuVXBmREMrfR0tqk3mkRWxR2I1q08yh+UsftOXJFwXGhe72dxiB
zYsJFECUSp/1JOTd+xEGOKN+kqFx5zCaS1NcgFJP5ziTDpWS4aHxyAb+4xKEeok3
VDM9ta4BuHUwBlTOnLe0jFrW1AUMaw==
=e2X7
-----END PGP SIGNATURE-----

--1nzrRTmZWqHMh/1X--


From xen-devel-bounces@lists.xenproject.org Tue Aug 03 13:44:23 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 13:44:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163495.299482 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAuiR-00063y-3s; Tue, 03 Aug 2021 13:44:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163495.299482; Tue, 03 Aug 2021 13: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 1mAuiR-00063r-0Y; Tue, 03 Aug 2021 13:44:19 +0000
Received: by outflank-mailman (input) for mailman id 163495;
 Tue, 03 Aug 2021 13:44:16 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OfYh=M2=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mAuiO-00063l-RE
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 13:44:16 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id e46c004e-f460-11eb-9ac4-12813bfff9fa;
 Tue, 03 Aug 2021 13:44:15 +0000 (UTC)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2105.outbound.protection.outlook.com [104.47.17.105])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-19-0MldT1T7OKSpHwkgH4Oj_g-1; Tue, 03 Aug 2021 15:44:14 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4848.eurprd04.prod.outlook.com (2603:10a6:803:55::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.26; Tue, 3 Aug
 2021 13:44:12 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4373.026; Tue, 3 Aug 2021
 13:44:12 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0073.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:18::13) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4373.18 via Frontend Transport; Tue, 3 Aug 2021 13:44:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e46c004e-f460-11eb-9ac4-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1627998254;
	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=/2HThejoIp8FccxtAC5C5w3a7mNRsS8Nu4nw/7hYGTE=;
	b=S57MQ7zUq+1kSwh95vde+3D+s2EC7LGfzZBgIqZ9UpZEap4FYbQzU4TIdptmHZG3suRrbP
	YWO6px3Ypua5QFn6TV+lGOOsQ1RKrsYNLaX4B3Y0QkrM3mlXUM9bMtLx5LH5H68a81dmdL
	7hpmB4HfKEk4sdeOAwKMkwm33Zsa4Qw=
X-MC-Unique: 0MldT1T7OKSpHwkgH4Oj_g-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GJY0EREU/BONleY41U7DLCZL0dO0BUi7NDGSBkfSM2qoYVXf/gudMyHgyOndAZLwhzHTxygnY3whbqcYasC912dPY2IJuFHsTNSX9265oM9ck2pswem430hUQdA8BufSusTkoOEvNwwJm4UEGF1p/3VNOmhfo5c+/qMaETBz3nr8SdpDFGZiHmqN1YqUzHpwKqZy/xL25taoY/6mteULXHietI2WFGRbPuudVT8vWWtZf8nlAxfa7jbH+ZyZUOIWoKKk5vWPXmsZ+cOrYzaXyeNDB1yzdCkxz6TWdkxYeGmn1EN0ti24YWHNZJbc0/HwW1M5Sjd76rMP6E27bTc46w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XGSXQmza9CTdD4S04Q9EqGGjwV4arTNEsfAY1ryr2TE=;
 b=emyT//9zq6y8fRA1cfbImzADXCbDaOJjuAxw+2N0baIZv/w/UnuN/mOcO6/6MAhV33A3XeZnclrnHBoiYGAGy3BmcED4ysE5srhL0PO9PmR5U+7Ul80GsDx/nm2by88ptKwZG8LhflfGyatOl9mhDPjsBN8XpADaxKj0hycKNv++xBDb5ChPsgHCVewJ/zGmGCWdxiOJO7njaZwwrtTrz9pkpeAPfADEMGHlL0y/wT5Jy7k+q8IqMU23l8UNd9zV3z5jfjk/ZR/mqIZ4mlj4/rATQuVf5V49Da4QVQ1x2pYc9TmTdw1uVi1V3wqxp1tu0elnUHQGUwJZ6zETybMVSQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: citrix.com; dkim=none (message not signed)
 header.d=none;citrix.com; dmarc=none action=none header.from=suse.com;
Subject: Re: [PATCH] VT-d: Tylersburg errata apply to further steppings
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Kevin Tian <kevin.tian@intel.com>, Andrew Cooper <andrew.cooper3@citrix.com>
References: <07ded368-5c12-c06e-fd94-d7ae52d18836@suse.com>
 <YQk0vrH5Oe62ozbW@mail-itl> <ec1cc65d-5a10-7ef3-2643-622302cdafb7@suse.com>
 <YQk+I2FglGrnuyPw@mail-itl> <10425176-438f-370b-9d60-183d6e0f5441@suse.com>
 <YQlAsAneiMOD+SMq@mail-itl> <b7b0c929-26d8-c1de-7658-a58ed31ee9be@suse.com>
 <YQlE6XgSK207emw/@mail-itl>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <f9f613a6-cf27-8432-c877-95a8516216c6@suse.com>
Date: Tue, 3 Aug 2021 15:44:10 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <YQlE6XgSK207emw/@mail-itl>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: PR0P264CA0073.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:18::13) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: bb0466c6-0b59-45a2-7bb7-08d95684c70f
X-MS-TrafficTypeDiagnostic: VI1PR04MB4848:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4848523934DC4A6D0778C027B3F09@VI1PR04MB4848.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	u1ufrdDvGBJu02Egwd/yKdyFJy4bM+l9qC7UrSREMcze+odQanQJOzlNJV4uuE9JMa0ccb/zqBduQFBlpv0gujZfcg2fqUcpy1TY1q16RB4d5nAO1Vd9zdjVO0Gg3L/jwZ8qJyr5nnx/WZJM3Bh8L40us7H7lW0ChHSRMplBoeF4E+QJmnZf0hHaS2Vffk6Ec3Jb35cTE4PFQYhC5kLGQ0NlpLSZ1Lz1CNY2xqW3UrI6a3d1KrZVoH0rl1XeP+scDd5KOItTMCTzjkR0ArrHKCEpPYe4o5hCYde+tz1k0x7SEDf+dtIf0NOzsKqAxDdYHF9oIKDjx0LsjfmytYmWPXl8ep1WTsh6D68MZ1WD4R7kgVEUrAJy+Lxb1EDRyj0BUjMXaeikKhNeT+EssmlfHElyL72fFnjKg2Suk0ubY71dwarpFVkj8nNi67ALxY1IXmXZ05wq+3HtlVY+vREWif6KMA88zsZ7YFh6mOle5QYMnDGjWNsKhukt4s8vuUjfsfNugryXrwOt4b47wg2Q2D45Vv3qcWPb8Ii+sINS7rkyR3rtrZCQkigCk7sHQh0/QA6WLEKFI46T/NtMoMCBMe4Yqth3edV8brtBNHzVMXz9wMt3Hqx3E9k4uT+CuwEf4Q3E/JFjs99Q9iiwgTMmTv6R09o804VhermL/9KLk/a8LATwaCdouwQCbt0miilf6QLQ+9Vxl2VoTQgOBCkwxRK7Tch4JH0QpKw58h9kLXk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(136003)(39840400004)(376002)(396003)(366004)(2616005)(2906002)(86362001)(6916009)(6486002)(31696002)(5660300002)(956004)(186003)(4326008)(36756003)(66946007)(66556008)(26005)(66476007)(478600001)(53546011)(8936002)(31686004)(316002)(16576012)(8676002)(38100700002)(83380400001)(54906003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?7RoBf5sPHLwKiTcncIldFsIvsRGoSOFc86ReoY8FWuQ8GY/kTQ55JC2MsPPT?=
 =?us-ascii?Q?jbVlR1cDId0iqwsM/lIl7onbmnk71ZfBROm5ig7I3Lsuz+qILK5aNRLnhQmP?=
 =?us-ascii?Q?4rvoY8qQaBlix2YnbLXrhcLgdcvsQxn51M0fFBqguSGXimi34WdEzqjHI6f1?=
 =?us-ascii?Q?BeBLcJ6Zx1RT2th5Er9/s7M+8pCNLfTK0nw8Wnvw99MYEre+7IvNleMaICNu?=
 =?us-ascii?Q?l0xz3qkoQX2f8bsmVRr1RUW3Ncz1gCujxwRIpdR0EkFobXhX3lCpEpKcQ3DN?=
 =?us-ascii?Q?mk6kGp73F3XWlwScdkvaEdnHUroWczX+SailTp0YelH8y+wewOLqR/Tl5DVU?=
 =?us-ascii?Q?PKciNKUjfcwTCj5fqW0svqdUXO0y1t6seHyrTUynH2mDNyjG0Z+kYWVn6na4?=
 =?us-ascii?Q?m/5dP+1fFI9C4XMSzOt5A8ZEnve7Fn2/cr6cjTAxStME8c1KJV6uvhhCrC5p?=
 =?us-ascii?Q?/1y583EVA6zCWq8eP//VSOsMGyj3Uz72rqbytf98rEtWppsZQXPB+X6w+jsy?=
 =?us-ascii?Q?xUI+meH6gaJ4qKEZC72citbaWvdLb3iJQY0y/atfT2ZdrPjLs6PjJ/wpWqql?=
 =?us-ascii?Q?HksIwTZKuEKIyjBXPQmMZEmgx6pNIDU+p5Nk02262Gj1FYyhWlzaCJwrii9R?=
 =?us-ascii?Q?LBM6fh/J/Q4xJY1gwOeSLxNe8r5WcFRfPOGbF9LZX8mPpt+4ZB/XWj97pbGn?=
 =?us-ascii?Q?G0XJuv3pPJsCL+7qSLCrjYS/UfIlq4RNg/mVHhI8qjsTUBYrIa9g2+52Nfm/?=
 =?us-ascii?Q?h1krJ2bbKA0Viz7D6OurGlH7s2/OvQFD9Z480GuP0Zr9P+/ww+C6licQpxu4?=
 =?us-ascii?Q?WrPHaAjeHcM214SeuzAOBaK2i9pW7dtt06yTHgYrsNhNzbXBRdw+HjP0lnbs?=
 =?us-ascii?Q?0KvM79p+Mtj8M3esm6iY6fijIRMoWRKOiuugS7fMXVUX2vh1BVPTctEEc65o?=
 =?us-ascii?Q?6Nfgcum0sjoRyP3FglnAhZpLxyjJcETP5VzPCLdPfT0/22WmtdXyjQMt0xKr?=
 =?us-ascii?Q?2ZbvcHj+CafDbHwegJfEVh1absMH2rPYW1k1/fTiXq6fwQyqxwcM8sGxVnfp?=
 =?us-ascii?Q?rK/uA+snDZ2hiUvv4ZSTxaH0Wy2ZXhBgvejoI5ZJlTzviPBqNh0aLHLnXD1z?=
 =?us-ascii?Q?8ArlvBvnEo0b6eKlyjSu66FUgBwknFP2NqocoXrfM64dcGuxFqgOzD6hEg1k?=
 =?us-ascii?Q?l0AmFd2vX6mXVufLWYbhjyo3Jj7VuG2UhB0xvcO5gcPZaLIvZGdK17ZHb8r1?=
 =?us-ascii?Q?CsiePupTXQkiIV/cqLr0Zko91lD2nvF0RwYQXHyNsyhGAAGsKGfi/LD7emms?=
 =?us-ascii?Q?Xn2Yb2ompijWL/eiFHKV/2EH?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bb0466c6-0b59-45a2-7bb7-08d95684c70f
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2021 13:44:12.6077
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: l12RMB7TguUhNWoyOiCalXhVDtYu4laAHnAz7PNnI7PKICzRFTisB0pFIEefxEiFlGMRxMO5wFvTfgFxX6H9Gw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4848

On 03.08.2021 15:30, Marek Marczykowski-G=C3=B3recki wrote:
> On Tue, Aug 03, 2021 at 03:16:14PM +0200, Jan Beulich wrote:
>> On 03.08.2021 15:12, Marek Marczykowski-G=C3=B3recki wrote:
>>> On Tue, Aug 03, 2021 at 03:06:50PM +0200, Jan Beulich wrote:
>>>> On 03.08.2021 15:01, Marek Marczykowski-G=C3=B3recki wrote:
>>>>> Ok, then, just setting iommu_intremap=3Dfalse should do the right thi=
ng,
>>>>
>>>> ... if "iommu=3Dforce" is in use (but not otherwise), ...
>>>
>>> But that's the purpose of iommu=3Dforce, no?
>>> With "iommu=3Dforce": strictly require IOMMU
>>> Without "iommu=3Dforce": use IOMMU on best-effort basis
>>>
>>> It makes sense to refuse the boot if intremap is broken in the first
>>> case. But also, it makes sense to allow using IOMMU without intremp in
>>> the second case.
>>
>> I agree with both statements. What I disagree with is that the latter
>> happens by default (instead of only upon admin override), including
>> the case of intremap being unavailable in the first place.
>=20
> "upon admin override" - do I read the code right, that iommu=3Dno-intrema=
p
> will actually achieve this effect?

In the case of this quirk - yes, as the call to the checking function is
gated by a check of iommu_intremap. But by "admin override" I meant a
per-guest attribute, not a host-wide one that isn't explicitly meant to
cover all guests.

> Will that allow to use IOMMU without
> interrupt remapping on a hardware where it's broken? In that case, maybe
> at least add this info to the log message?

You mean to suggest the use of this option? I'd rather not, to be honest.
I don't think options like this should be suggested to be used. I'd
prefer if we had less of such options, i.e. if they went away after some
initial integration phase.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 03 13:50:49 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 13:50:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163503.299494 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAuoe-0007WB-W9; Tue, 03 Aug 2021 13:50:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163503.299494; Tue, 03 Aug 2021 13: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 1mAuoe-0007W4-Rr; Tue, 03 Aug 2021 13:50:44 +0000
Received: by outflank-mailman (input) for mailman id 163503;
 Tue, 03 Aug 2021 13:50:43 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jHHP=M2=oracle.com=boris.ostrovsky@srs-us1.protection.inumbo.net>)
 id 1mAuod-0007Vy-Ht
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 13:50:43 +0000
Received: from mx0b-00069f02.pphosted.com (unknown [205.220.177.32])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id cb36f844-f461-11eb-9ac4-12813bfff9fa;
 Tue, 03 Aug 2021 13:50:42 +0000 (UTC)
Received: from pps.filterd (m0246631.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id
 173DH7AX028923; Tue, 3 Aug 2021 13:50:39 GMT
Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70])
 by mx0b-00069f02.pphosted.com with ESMTP id 3a6cntkn5v-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Tue, 03 Aug 2021 13:50:39 +0000
Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1])
 by aserp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 173DntoS128472;
 Tue, 3 Aug 2021 13:50:38 GMT
Received: from nam02-sn1-obe.outbound.protection.outlook.com
 (mail-sn1anam02lp2043.outbound.protection.outlook.com [104.47.57.43])
 by aserp3020.oracle.com with ESMTP id 3a4xb6sgyk-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Tue, 03 Aug 2021 13:50:38 +0000
Received: from BLAPR10MB5009.namprd10.prod.outlook.com (2603:10b6:208:321::10)
 by BL3PR10MB5490.namprd10.prod.outlook.com (2603:10b6:208:33d::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.21; Tue, 3 Aug
 2021 13:50:37 +0000
Received: from BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::f10d:29d2:cb38:ed0]) by BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::f10d:29d2:cb38:ed0%8]) with mapi id 15.20.4373.026; Tue, 3 Aug 2021
 13:50:37 +0000
Received: from [10.74.97.38] (160.34.89.38) by
 SJ0PR05CA0076.namprd05.prod.outlook.com (2603:10b6:a03:332::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.9 via Frontend
 Transport; Tue, 3 Aug 2021 13:50:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cb36f844-f461-11eb-9ac4-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=subject : to : cc :
 references : from : message-id : date : in-reply-to : content-type :
 content-transfer-encoding : mime-version; s=corp-2021-07-09;
 bh=2mZbZyfiuTlms499V4IG4PxVGNg36eQfGrSwhjFZGXI=;
 b=UhFyGFgm3mcMyrQmcZbxj8rx0kX3MjhEPKJETf6aKf45mVL+RjompB5BrX6j7CKVatfO
 Ymglcn6DvEqdYqcKn9f7hMgNizi6gQkboysuzDDRfZy+aBptZDXZQOCNTAumnHlVHalS
 oAz2cR82FxMbsi5O5KVMXQNUVqrfvRG7xB86gXjazzIgDIsNbYOjdgIPMKW2iASdW0D+
 jCyHUc39ar6LmbClyjtZlH3OCBXiA/fgkKU0wOrSvX9Z04tqcMY6Rv+dEvtd51eHJDP9
 7cFDJHZkVkDg1blk0GpDYUCqtYlTCDJumeTp7o/5drfiiWQrPoqP0xhdRJKysDHm0S6q ww== 
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=subject : to : cc :
 references : from : message-id : date : in-reply-to : content-type :
 content-transfer-encoding : mime-version; s=corp-2020-01-29;
 bh=2mZbZyfiuTlms499V4IG4PxVGNg36eQfGrSwhjFZGXI=;
 b=QFy/VipurUDmkZXn/W+0Q/+q2knM6xsYPEbpH82dhkXkiPnTnk2ZrKm9IBYRUqFxgP8M
 6S1sn3pW40Ga9Dq8eb3D9WQXhhxUO2Z0CACfsN9SvjgNf4ToYO2+c/Kp11Tufqmq89LG
 NSp6DSRDNpDIfCT7RR5OXWZ6GWuK5ET4a93hsgswfRotiRmerByDtwT/VKlUQIokKVCp
 ewZslxQeh2zltkJ0ctFExW9hFIH14ogMJljof446m21PvwCwPuWcztlXa7slBuayKDUv
 3+OSIUhXrk6XI0tVXv7Aas+aH42JbEFtrI28s4oL+S67ev8TsXE1yfrlfe43DcHkxfAt eQ== 
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=K0YxpPmHZkvee1a7FOhOqnpZaHrM4j61qwkN1798EO29z/fNxwL2ZhspOwfJQ6oTdhv8oltoyHXi8lWHlVDy7clHbwPnXtZSfONoLf67EN15dPVzLTECHbUs/AHVuIvSrWBWYZ8XjLNKROoFYLQL7wGZdbrjRXEhxIdfNO8vvSeKs4OAn2zmIYrLzSeyZRWtM/7CMKNFGajXvHBZtshxyTW0v8gU0zcqzcbN/mLkM3wbSDGTM6/bJ/5IpLPNTiKe/FX5rmJzKMp7/+k1UsUfMlyKkjt+0vVILWp/ajBb2zRtQdU8FDuDAkEap/l4Kwch/BUD+GvpUk+R0Qm/Iw6UQQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2mZbZyfiuTlms499V4IG4PxVGNg36eQfGrSwhjFZGXI=;
 b=Cng+ksvQhR0drv3DPDob39/s8oQJgcfaz2WCIHbKXsGdSOzc8sGmCghmL2vwoFqlV7Ax1zrp35NE8xAUnYVL7WR6DP2UoSqA8kUQa36p9FEnCbIcZ8sfyc7aeEkt2B4JMmXHVfK8MG8OIv2oq/v+gRyvtRk/Dp+dROPu62ezR6LN+4FtA9r88c0sHGAl11nl0+x88Wd7K0rinEm3SIhdn+9MeH8ljsfZZk+qJpqS1EybXPrQMeaR03nh+T2Gv+hOjOPWBm7D3GxxWtLEBWUx1B1CHcMZ4n/d782Ji+DB0BNLZc8tX0TkqewrygR7qA5yM/CVZkK7utsl+5U4gU1mSA==
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=2mZbZyfiuTlms499V4IG4PxVGNg36eQfGrSwhjFZGXI=;
 b=BD5TlQ1hsXP7tUFSSI3VYElmMBDrBwbBOSHxZCVUUWyzprP0RizNJODyfMSpIbs3MO1k4Q7F0dlMNdDgqy712TVwh22uIo/sW5PDPwiMQGjr2Byq+dfKozTxgQEMJNurOOcX0AE6663BGz5AvrKxrzSiF7KxsbZBuLRpS2zdqFs=
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=oracle.com;
Subject: Re: [PATCH v2 3/6] xen/pci: Drop some checks that are always true
To: =?UTF-8?Q?Uwe_Kleine-K=c3=b6nig?= <u.kleine-koenig@pengutronix.de>,
        Bjorn Helgaas <bhelgaas@google.com>
Cc: kernel@pengutronix.de, Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
        linux-pci@vger.kernel.org,
        Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
        Juergen Gross <jgross@suse.com>,
        Stefano Stabellini
 <sstabellini@kernel.org>,
        xen-devel@lists.xenproject.org
References: <20210803100150.1543597-1-u.kleine-koenig@pengutronix.de>
 <20210803100150.1543597-4-u.kleine-koenig@pengutronix.de>
From: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Message-ID: <a2badeb7-232c-4ca0-774f-4bf7fbaff786@oracle.com>
Date: Tue, 3 Aug 2021 09:50:30 -0400
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
In-Reply-To: <20210803100150.1543597-4-u.kleine-koenig@pengutronix.de>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Content-Language: en-US
X-ClientProxiedBy: SJ0PR05CA0076.namprd05.prod.outlook.com
 (2603:10b6:a03:332::21) To BLAPR10MB5009.namprd10.prod.outlook.com
 (2603:10b6:208:321::10)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 39aac61b-2bb8-4e84-038c-08d95685ac39
X-MS-TrafficTypeDiagnostic: BL3PR10MB5490:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: 
	<BL3PR10MB549099CCCA0AEC8C3123DFB98AF09@BL3PR10MB5490.namprd10.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:321;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 
	O2tqVhf2bB/my5ArdG+4PukUwtwBHdLQ7NeHhcXfp94mq+NGYq2+2rw6yTlZQWiJ9Q1MWRaxEkoS9lQnk94ZX7OqRl6QDLTNh3M1WsXEg+8hY2213p+CIaHbqcuBHEluKd+odSzeYJfQZoZ1OY+tv1TtOc3owmLJBGWRLTu+hS+avohcGYLpxboy3xOiSrSuyD2nCat6CO//t76TC5mo0pok6yDicJcL0cJUg1V6MFEk97cDoJlU5ILjBlRHBrsIkJp6AqmcKVhrGYxFMYHclNj2cQsxXX4YtI7luL4pb/hCIHsbSnNXSHUnYl+m48eh9GL2E1vKQnUDBFh833VxE9KIFJHS/D2KiGmHW8mUHyPEKlAgstLFzf85e8CFe8RDbWXi+spv106NYkGdtKhvrsv8t3hJZ8qyonyCOMFq4ccStMlFm2Y3KC1rhCO4khjGARwtv+SaDPv1Ke5p47xIKj4ZJ7eSEmwWPljTc3xIa79CrSknoKK0+NqPLG1/4gxYOw+4j+3TXB4MamVcFqZB42LnylrIkFZ6RPGv2xRVKFMfqR2f5vj8mPdx+8d0c7wcTSj8n/fRG3cR/3HtPUD9EVsrIhaKKpYJvGRiAzxknaEMduYhW4WVEdtu1brFE6eXfohHu7+aepu3+nusYV1Q5Oh9gMdbXKEzqxFdcy1utQW8Gxl72XwOFOEt68mwGDIhUVJ6vzw2PFHod6TQD8x6727Gi8a64PMTNJ76zK6IQ5s=
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:(376002)(346002)(366004)(396003)(39860400002)(136003)(4326008)(86362001)(31696002)(4744005)(83380400001)(53546011)(66476007)(66556008)(66946007)(36756003)(5660300002)(186003)(44832011)(956004)(2616005)(316002)(478600001)(16576012)(2906002)(6666004)(8676002)(8936002)(6486002)(110136005)(54906003)(26005)(38100700002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?utf-8?B?ekdKN2dWR00vZnRENkwvdkovOC9KZXo1QU51Q0YzVTdIQUlHQ0RVVCtjeDhR?=
 =?utf-8?B?SC9DVWJEM1dMU0FMM2hIOTFhR0RybjJhYUVyQTcxRTNPVmtJUnl3Rk52UEdm?=
 =?utf-8?B?U0JxUmg5amltazU5MHBGc2hna1p6YVBpK3kwYW5MMUoxRklYckdDekI4aExs?=
 =?utf-8?B?bVFPcWwyWGJweTRja0Y5MnArSWxkMXdMNjVyTENJUThvbXhsK0RWWFJPR1pY?=
 =?utf-8?B?bWJkbSs0NUh2dlVPYnhhUW43VFJ1V1BiTWFjZEE2T0k2U1g2QWZYTS9JdVpV?=
 =?utf-8?B?KzlVSzloR0dUcXI5b25jb0cwb09qa2dHd2JjMlZGdGx1ZG9sSUFNTDV0SkR4?=
 =?utf-8?B?MGFjRUhGY2ZMR0luWks4dkRxQmk1NTBCSmwyU0hEMFJXdVc3WWdkYWllME5x?=
 =?utf-8?B?RkJSSTBreU93Z2pJazJ2RmgrVmZXVW5FTVpIR3NSK2JYQmhJUy8rNENVSjhp?=
 =?utf-8?B?UVIvRXYrTWlWSkdrT3g1Q0dBL1dKUlN4U1JNdVlxOUl6ZVBtR2VHMDQ5cisz?=
 =?utf-8?B?cHlkYXJPYnFURzJWQkt1QWI4Uy9WUWdxelJBWE9WeVBJdlBDdnVSKzU3QjNT?=
 =?utf-8?B?YktzNi92SGNqZ25FbWUvemxERzVJdDJtemNIKzdTWlpqZ20rVmJnNG9iSjhj?=
 =?utf-8?B?YWozWVpBOGticHlCZmQxanMxZ0F3Zlo3ZnhpMHV1NTlmU0xYVm1VTXMyc093?=
 =?utf-8?B?cHd6WmR0UUJwMmpRaUN3TFhIQ3czYnRQUlpFUFRqM1Ntam5FeHFNWlMrNTdr?=
 =?utf-8?B?WnZ6clB3bU1iOHVSUWtWSkc5cW96MUEyeU00NkRKZUd3UG9mZVJBU2N4OFFi?=
 =?utf-8?B?ekNuT2pURzhYRHlMR1RiTmQ3MGVIemRmTjBtekc5dTNrTmV1QXUxWjhOZU5x?=
 =?utf-8?B?UkgvTEd3bVZ6d1pQUEdKT3FBTjZJNWV1ekk3RE1vaVgwS0Z3NmVXK0Q2U2RK?=
 =?utf-8?B?OEZBMTBFNGw5MysyTlBQMlFXWnR5cDJTODVJR0FONk9DaUpwREdpWGhwcDhw?=
 =?utf-8?B?RWVzYkw5M1J2dWQzaDFJUldmOTFua2tRQWtaTjAzdWc4TUd3VmZWdVlRZ0ZH?=
 =?utf-8?B?eUVGc3dtK2lRcUZjY1B6alRnbllyUGV0OE9mSjJ0a1g3bU5JaTNMN1QydXpp?=
 =?utf-8?B?NjRZbWViem5lSE5GcXdEczVoOEZFOWNxQkdMQ2Z4bHVRUVFrazFGTU1pTXh4?=
 =?utf-8?B?V1BTQnBIaFpMcU43cXJZNUdwNzFNUURVNFIvY1d1Qk0yeUpjUkwwVTlMV2Fx?=
 =?utf-8?B?bW81cW9yRTMyQ2lUQ25Gb3BvUlRYVlhkK21aeDdyRDJEaGFLK3hGT245aWZW?=
 =?utf-8?B?QjROVnJzZ3pWS3RmSTVjeXJMbG1VeGRiZy9EVTNTZlZiYmRxS21FUHp3bVpk?=
 =?utf-8?B?NnpKZXNwa0hubm51ZFgxRWxNR0xKa1FLd3MrNDRzdWRUUlZKaHJOWS9mRUtv?=
 =?utf-8?B?dTNaWWV6ejRoUHdoeVBocTF2R3AzekNNZG00Qmh6dXZrNUY0aVNlZVZrMkJl?=
 =?utf-8?B?QnZmSlpzUTJFV3EzYUNCSzlHc3A5VkJRcFI3OGRwRWdBU2RXM293SmhFdENw?=
 =?utf-8?B?THZDSmR6YzJJN0lLZVpITlBZTWpHZzlZT2U5QjFVRmNOSS9UU09xS2NldGFw?=
 =?utf-8?B?cHpoNEpYSmFFbk8vYk9IT0dUVGlhYWh2dnhLZ0pralVycnJJaEg5ZFppZERO?=
 =?utf-8?B?ZjI4U3BRYnpyR0gwVHRZT1pKS0QwZ0RpZVZLa0JGTUt4SjNZRHBkL1libmQr?=
 =?utf-8?Q?YIxvWSCYSTkg/gg8+7ybrrjJyorYP1MAbgsE5nM?=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 39aac61b-2bb8-4e84-038c-08d95685ac39
X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5009.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2021 13:50:37.1982
 (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: PSryBKrtG/K3eCzky3gDpcu4ALEY1/GqGkOCOoZzNzb5enNX71NQO9Zo4W5821jmff8YqCIMUnjd4U7OFOIOsAx9iIRDoaqAHIdoVcwAHSI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR10MB5490
X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=10064 signatures=668682
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 phishscore=0 malwarescore=0
 bulkscore=0 spamscore=0 adultscore=0 mlxlogscore=999 suspectscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2107140000
 definitions=main-2108030092
X-Proofpoint-ORIG-GUID: o4ipFaYbBObvKNOASI0Z8A1gNXKFBGRK
X-Proofpoint-GUID: o4ipFaYbBObvKNOASI0Z8A1gNXKFBGRK


On 8/3/21 6:01 AM, Uwe Kleine-König wrote:
> pcifront_common_process() has a check at the start that exits early if
> pcidev or pdidev->driver are NULL. So simplify the following code by not
> checking these two again.
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> ---
>  drivers/pci/xen-pcifront.c | 57 +++++++++++++++++---------------------
>  1 file changed, 25 insertions(+), 32 deletions(-)


Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>





From xen-devel-bounces@lists.xenproject.org Tue Aug 03 13:52:21 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 13:52:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163509.299506 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAuqD-00086o-At; Tue, 03 Aug 2021 13:52:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163509.299506; Tue, 03 Aug 2021 13: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 1mAuqD-00086h-7j; Tue, 03 Aug 2021 13:52:21 +0000
Received: by outflank-mailman (input) for mailman id 163509;
 Tue, 03 Aug 2021 13:52: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 1mAuqB-00086V-Pr; Tue, 03 Aug 2021 13:52: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 1mAuqB-0004aw-Kj; Tue, 03 Aug 2021 13:52: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 1mAuqB-0003vp-AR; Tue, 03 Aug 2021 13:52:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mAuqB-0005AV-9z; Tue, 03 Aug 2021 13:52: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=WAFMV7ALwIq6vAUwo6H2m+1NxjQEwUCDFVGxUOZEjMs=; b=UyXP07DrH8y71HYcG7BcNxhWJg
	WBfvwj/1xhOmOhTb5PPBwLjfs3upuTw6E90NjzxsPGsjtMm3olXEadOFqgTA7H90PpnfXrOLDl5yK
	PsG2JXgs5Om53yH2dKQ1TsAwWtqxZvWMV6fGK36hkrMyJZEDcm0TnrtkH5Z1sXIzNuLs=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164090-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 164090: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=2b47aaecef38b9440a65809cbdaf9d97029f4eeb
X-Osstest-Versions-That:
    ovmf=03e77558d4939b9c21e94f03072360e9b00bb559
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 03 Aug 2021 13:52:19 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 2b47aaecef38b9440a65809cbdaf9d97029f4eeb
baseline version:
 ovmf                 03e77558d4939b9c21e94f03072360e9b00bb559

Last test of basis   164081  2021-08-02 08:41:13 Z    1 days
Testing same since   164090  2021-08-03 05:10:06 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Grzegorz Bernacki <gjb@semihalf.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
   03e77558d4..2b47aaecef  2b47aaecef38b9440a65809cbdaf9d97029f4eeb -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Aug 03 13:52:28 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 13:52:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163512.299520 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAuqK-0008RL-Jk; Tue, 03 Aug 2021 13:52:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163512.299520; Tue, 03 Aug 2021 13:52:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAuqK-0008RE-Gc; Tue, 03 Aug 2021 13:52:28 +0000
Received: by outflank-mailman (input) for mailman id 163512;
 Tue, 03 Aug 2021 13:52:26 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TXgv=M2=invisiblethingslab.com=marmarek@srs-us1.protection.inumbo.net>)
 id 1mAuqI-0008Q5-LA
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 13:52:26 +0000
Received: from out3-smtp.messagingengine.com (unknown [66.111.4.27])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 25dfe777-96a1-45da-9ac5-5cf27872cf15;
 Tue, 03 Aug 2021 13:52:25 +0000 (UTC)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailout.nyi.internal (Postfix) with ESMTP id B31DA5C00E1;
 Tue,  3 Aug 2021 09:52:25 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute1.internal (MEProxy); Tue, 03 Aug 2021 09:52:25 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 3 Aug 2021 09:52: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: 25dfe777-96a1-45da-9ac5-5cf27872cf15
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=ltLepX
	ykxxHhw3LwO+AcN+PFeuahYfjI3GmCX08PcUs=; b=OxobtOMDmPj604kZcSOLO3
	b+m7tuwVqZzxg7WETKCdaqWuGYt2TB3wqsMTJIW8SVBIThHj4CnshkhvrO1bQYYn
	EAn/MD+5sK+gl5vInI8yC0PbQRoJJ+31V7/JOCyEctGlFMkZP4vmydHK6RZ4/Vx7
	Be5Cd6GRbm3v6Eq8ne3Vf3dv6nolTItS2jzFNNbeinZKBMfbuJ/pGpoOpnPZpMLF
	O7k7U+vbwjE1JCdAYZ6MH4IfMV6Bsem2d+mnz3QQcQZJRiXShEhBTtoutPZctOog
	CQj0UUuch1i1Jh+IE4oKDECjv9/ORttTlFkdQB2q70J5jhcWA3opQExt0JCfUf3Q
	==
X-ME-Sender: <xms:GUoJYSc84_P-nFjshh1r0utbtwCQ1JJrfXL-Lw3nQOr0NUoyaGoXyg>
    <xme:GUoJYcPCtY3A0o_DvhwFcF7XzbwaStPUcEiT8vu7gsws19o3tHHvzc4QgWSHNvAMq
    Tv0zL44Om9nJg>
X-ME-Received: <xmr:GUoJYTh3g0D2dVENo6xpUFIOJ9Tc1rFkNLogBUJYlUCfAe13swdb6NXSbll4REHqSoQrKx0IjpMwCeMOlXd6gxoqa3_iMKl2>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrieeggdeiiecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvuffkfhggtggujgesghdtroertddtjeenucfhrhhomhepofgrrhgvkhcu
    ofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinhhvih
    hsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepieeiheej
    geetgeegiefghfekkeeifeejudehvdffhfeigfekhfdvveefjeffvdefnecuvehluhhsth
    gvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehi
    nhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:GUoJYf9-mVGgOzhyWSPu0Ldo1JQaCYPBwcHJZfKdzllrCPFEbclq8w>
    <xmx:GUoJYevwyxdXsFBIrJUtcflRD0c7nV0naaKDXnA1nYuZDIjRAYtyAw>
    <xmx:GUoJYWFS07_nt3_53z9Auwe55qkMY7lMoxcMid-ddo52hM7O-rKAwQ>
    <xmx:GUoJYTXL27H-dpe6uoP-2DLAjVcKZg69JHPQZW1qPD4AIRtF02anCg>
Date: Tue, 3 Aug 2021 15:52:20 +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" <xen-devel@lists.xenproject.org>,
	Kevin Tian <kevin.tian@intel.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] VT-d: Tylersburg errata apply to further steppings
Message-ID: <YQlKFVOFOjevmIXO@mail-itl>
References: <07ded368-5c12-c06e-fd94-d7ae52d18836@suse.com>
 <YQk0vrH5Oe62ozbW@mail-itl>
 <ec1cc65d-5a10-7ef3-2643-622302cdafb7@suse.com>
 <YQk+I2FglGrnuyPw@mail-itl>
 <10425176-438f-370b-9d60-183d6e0f5441@suse.com>
 <YQlAsAneiMOD+SMq@mail-itl>
 <b7b0c929-26d8-c1de-7658-a58ed31ee9be@suse.com>
 <YQlE6XgSK207emw/@mail-itl>
 <f9f613a6-cf27-8432-c877-95a8516216c6@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="yRbA9OzDeI5UJ5Nl"
Content-Disposition: inline
In-Reply-To: <f9f613a6-cf27-8432-c877-95a8516216c6@suse.com>


--yRbA9OzDeI5UJ5Nl
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 3 Aug 2021 15:52:20 +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" <xen-devel@lists.xenproject.org>,
	Kevin Tian <kevin.tian@intel.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] VT-d: Tylersburg errata apply to further steppings

On Tue, Aug 03, 2021 at 03:44:10PM +0200, Jan Beulich wrote:
> On 03.08.2021 15:30, Marek Marczykowski-G=C3=B3recki wrote:
> > On Tue, Aug 03, 2021 at 03:16:14PM +0200, Jan Beulich wrote:
> >> On 03.08.2021 15:12, Marek Marczykowski-G=C3=B3recki wrote:
> >>> On Tue, Aug 03, 2021 at 03:06:50PM +0200, Jan Beulich wrote:
> >>>> On 03.08.2021 15:01, Marek Marczykowski-G=C3=B3recki wrote:
> >>>>> Ok, then, just setting iommu_intremap=3Dfalse should do the right t=
hing,
> >>>>
> >>>> ... if "iommu=3Dforce" is in use (but not otherwise), ...
> >>>
> >>> But that's the purpose of iommu=3Dforce, no?
> >>> With "iommu=3Dforce": strictly require IOMMU
> >>> Without "iommu=3Dforce": use IOMMU on best-effort basis
> >>>
> >>> It makes sense to refuse the boot if intremap is broken in the first
> >>> case. But also, it makes sense to allow using IOMMU without intremp in
> >>> the second case.
> >>
> >> I agree with both statements. What I disagree with is that the latter
> >> happens by default (instead of only upon admin override), including
> >> the case of intremap being unavailable in the first place.
> >=20
> > "upon admin override" - do I read the code right, that iommu=3Dno-intre=
map
> > will actually achieve this effect?
>=20
> In the case of this quirk - yes, as the call to the checking function is
> gated by a check of iommu_intremap. But by "admin override" I meant a
> per-guest attribute, not a host-wide one that isn't explicitly meant to
> cover all guests.
>=20
> > Will that allow to use IOMMU without
> > interrupt remapping on a hardware where it's broken? In that case, maybe
> > at least add this info to the log message?
>=20
> You mean to suggest the use of this option? I'd rather not, to be honest.
> I don't think options like this should be suggested to be used. I'd
> prefer if we had less of such options, i.e. if they went away after some
> initial integration phase.

Indeed, in fact I agree, this should be per-guest configurable option
(and in some cases, it kind of is - toolstack will refuse to boot a=20
domain with PCI devices if IOMMU is missing). But, as you noted earlier,
there is no way to require intremap, on per-domain basis (regardless of
what the default behavior would be).

As for optionally requiring IOMMU host-wide, this still makes sense, as
IOMMU could be used not only for PCI passthrough, but also to protect
dom0 from some (possibly hot-plugged) devices - using quarantine
feature. There may be also some desired interactions with Intel TXT
(which AFAIR itself requires working VT-d).

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

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

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmEJShQACgkQ24/THMrX
1yw4sgf/YiTQchoSReND5JD2iSCV1ssEQeWCy0Z315lOwTVxwpAZmi5m2o09n9ku
iGFKNlayXk5k+rdeDv5DCgUo2cJy6U/mxy2O6f/Gl/8maPxxTJRAb+JYSIDVqGsm
bOuLT0Thd7SQt+2OiQhocMmDqUT5nBoiya+FzWPLLthXl8gFQEMKIAe2rOntTqsD
5Pt1JAm0i3yuBbcEdAQCTcXNW31hENUSkSvZsJatU9+bMKL78wR9KXCCTGtK1bX5
9zWO2mIVpV7Ddm0+dQF+syZRkSRN+cdTVcVjvt1hRyoMoRUjfOACNSnPWknNy2Vp
By8MmSrlH0EEvFLAFSKLm6QLbZ93vA==
=0MRW
-----END PGP SIGNATURE-----

--yRbA9OzDeI5UJ5Nl--


From xen-devel-bounces@lists.xenproject.org Tue Aug 03 13:56:22 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 13:56:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163525.299533 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAuu0-0000z3-5f; Tue, 03 Aug 2021 13:56:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163525.299533; Tue, 03 Aug 2021 13: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 1mAuu0-0000yw-21; Tue, 03 Aug 2021 13:56:16 +0000
Received: by outflank-mailman (input) for mailman id 163525;
 Tue, 03 Aug 2021 13:56:13 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jHHP=M2=oracle.com=boris.ostrovsky@srs-us1.protection.inumbo.net>)
 id 1mAutx-0000yq-Pw
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 13:56:13 +0000
Received: from mx0b-00069f02.pphosted.com (unknown [205.220.177.32])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 53910e42-56dc-45f8-8005-b86466a929f0;
 Tue, 03 Aug 2021 13:56:12 +0000 (UTC)
Received: from pps.filterd (m0246632.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id
 173DGioQ016340; Tue, 3 Aug 2021 13:53:23 GMT
Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79])
 by mx0b-00069f02.pphosted.com with ESMTP id 3a6fxhb65d-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Tue, 03 Aug 2021 13:53:23 +0000
Received: from pps.filterd (userp3020.oracle.com [127.0.0.1])
 by userp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 173DpJmD038355;
 Tue, 3 Aug 2021 13:53:22 GMT
Received: from nam11-co1-obe.outbound.protection.outlook.com
 (mail-co1nam11lp2170.outbound.protection.outlook.com [104.47.56.170])
 by userp3020.oracle.com with ESMTP id 3a5g9v4ayq-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Tue, 03 Aug 2021 13:53:22 +0000
Received: from BLAPR10MB5009.namprd10.prod.outlook.com (2603:10b6:208:321::10)
 by BLAPR10MB4882.namprd10.prod.outlook.com (2603:10b6:208:30d::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.15; Tue, 3 Aug
 2021 13:53:19 +0000
Received: from BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::f10d:29d2:cb38:ed0]) by BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::f10d:29d2:cb38:ed0%8]) with mapi id 15.20.4373.026; Tue, 3 Aug 2021
 13:53:19 +0000
Received: from [10.74.97.38] (160.34.89.38) by
 SN6PR04CA0098.namprd04.prod.outlook.com (2603:10b6:805:f2::39) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4373.18 via Frontend Transport; Tue, 3 Aug 2021 13:53: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: 53910e42-56dc-45f8-8005-b86466a929f0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=subject : to : cc :
 references : from : message-id : date : in-reply-to : content-type :
 content-transfer-encoding : mime-version; s=corp-2021-07-09;
 bh=mc0rv1449u54t1SBf7CRIqWRLBpqKys823s528t4E1Y=;
 b=NUrJH7AbCQwDs/M2Y1wq4ty6RtXD+1bU4kBxFpRR0uMSuvWbHuCeRbMSLj5sGunB50R4
 ehVDVNK5lR1D+Yb+AJMyvyDrc82AwZKvkxMYRg+0tCAsM7S6mwpyoJbID2YxPXH3bt6d
 K7L1iQtqjuOD+ZSVLBE6g0+JW5D+lvT0+EFPF/xyuS9O6QvKsqKNodqtP7pQ86rzEQv2
 sOWj3JGWyOThisRJgZtBs+uPgNkNhiPte0EwcLegfMckoA/PS7vWQKnYeRJ+ZKC9DGNb
 YLHXX8BgTrSWnkET+3Q0cwj0sI9jDlCvr/NU8AeHqhtDRA+PikrCfjL7sbuv4Zlvy0YZ Ow== 
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=subject : to : cc :
 references : from : message-id : date : in-reply-to : content-type :
 content-transfer-encoding : mime-version; s=corp-2020-01-29;
 bh=mc0rv1449u54t1SBf7CRIqWRLBpqKys823s528t4E1Y=;
 b=OzK/ZB653cf0W9Nan1w7lLxrc5WYwWN+DbhOUitE4eHK9BeaVfngJ/HPv1bzuZi+vA+J
 DzwhuK1cIjGy1Rk8zQOce4Snlq/w/pWyxXPbfb5MoOaGV0yuSjZKNruMO2IJf8LD25dQ
 zVLfQ9TPP7crC13N8tr3bkLNS+hGa+x/NYPXoKFGddc6ctahXI7b3P/MRFa2kJhEXktH
 d1l9VC6zuEwV3rwcwfCu6wEC1/CmA4GONljLdjEKgPF0K4H+NNuPZwXfjg3wm9iL3VRj
 4+eii8dKWYGMA8RofY/rj9xnOBZ2k63+itemt0OurZk9oh5Qzata8d5kYOXNOZ+pcbWR gg== 
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XB1/QlHIPFvtLXvRffdRBmlKD+wEPXxdLDwTRLoUugVhXQKmbGvQSkGjYvjs34GDtDmCBWc3BVUIe+ejgSGubVaBd1O9Ku3f6j/9pkc+U49ylOP70zf4RYefVkgME/5B9agl5Uh3IUKUM0t+5dO4n1kUp0277Gkb/gY+FEwBNNZKOzZdQPp1VoRg1ZJCe3GqW59LBP9wvyP1BlIJG9rsLQqgTsE4aA5NQRRc+Bj5UrPDwY2fpu9oPwj+mPpOwQZNQ8D3lc7Hxbpt0msIqTDCl+7byHooBYrcyPcsm8JR0eMR9UCKmpzaXfsyl2UTLmSQynDIte6uqNIpkFgb3/LcGg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mc0rv1449u54t1SBf7CRIqWRLBpqKys823s528t4E1Y=;
 b=gFlx3qfw4scBrJYT3A9cyyKpyR3WdoirxH5JQ75rMK/Zs7m5+yoiuBnKfty579nGabuUPMZXjmBTYDaWrrBddJOShp7W3h4jVvcHQ/9we727Kv063KVAk5FaYlPlM8PUfV/tSfT8X8AGP6VqvnL2mabkhlpKtlVw0hI+qRwQJKNbi26YOQ1IAp+HS/nQ9uACtkF717hBsrfBJEXsXGmg8aiN8hk/sn6E7+XPoRaBYtvFzJfSqjtPcsWz21VCFvvgy/UYsf45OyJNYhzZsq7cfg+1qi9G5v5jfg+RgyIS0WNBDSof3LPxp0L1QFPIiFaP9OJWDYdpDL2YtoS2mcvpfQ==
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=mc0rv1449u54t1SBf7CRIqWRLBpqKys823s528t4E1Y=;
 b=uuyJ+W6l/so1KWW0z1pKj8qJ9QtF4qnqyUGyVCFqWPovu2Dktk3sfFWoY1jOaefvP1JA9KTHdGcNBzzPZREBWbOEIsH7K9NG0hZyV5VN8JM02NQB8hJixuc35iDtgQgZei+YYBVfbGfBFRKebgGJ+1kqlehp+l8H/hzAgiJjzkY=
Authentication-Results: vger.kernel.org; dkim=none (message not signed)
 header.d=none;vger.kernel.org; dmarc=none action=none header.from=oracle.com;
Subject: Re: [PATCH v2 5/6] PCI: Adapt all code locations to not use struct
 pci_dev::driver directly
To: =?UTF-8?Q?Uwe_Kleine-K=c3=b6nig?= <u.kleine-koenig@pengutronix.de>,
        Bjorn Helgaas <bhelgaas@google.com>
Cc: kernel@pengutronix.de, Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
        linux-pci@vger.kernel.org, Michael Ellerman <mpe@ellerman.id.au>,
        Benjamin Herrenschmidt <benh@kernel.crashing.org>,
        Paul Mackerras <paulus@samba.org>, Russell Currey <ruscur@russell.cc>,
        Oliver O'Halloran <oohall@gmail.com>,
        Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>,
        Arnaldo Carvalho de Melo <acme@kernel.org>,
        Mark Rutland <mark.rutland@arm.com>,
        Alexander Shishkin <alexander.shishkin@linux.intel.com>,
        Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
        Thomas Gleixner <tglx@linutronix.de>, Borislav Petkov <bp@alien8.de>,
        x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
        =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= <zajec5@gmail.com>,
        Zhou Wang <wangzhou1@hisilicon.com>,
        Herbert Xu
 <herbert@gondor.apana.org.au>,
        "David S. Miller" <davem@davemloft.net>,
        Giovanni Cabiddu <giovanni.cabiddu@intel.com>,
        Sathya Prakash <sathya.prakash@broadcom.com>,
        Sreekanth Reddy <sreekanth.reddy@broadcom.com>,
        Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>,
        Frederic Barrat <fbarrat@linux.ibm.com>,
        Andrew Donnellan
 <ajd@linux.ibm.com>, Arnd Bergmann <arnd@arndb.de>,
        Yisen Zhuang <yisen.zhuang@huawei.com>,
        Salil Mehta
 <salil.mehta@huawei.com>,
        Jakub Kicinski <kuba@kernel.org>, Vadym Kochan <vkochan@marvell.com>,
        Taras Chornyi <tchornyi@marvell.com>, Jiri Pirko <jiri@nvidia.com>,
        Ido Schimmel <idosch@nvidia.com>,
        Simon Horman <simon.horman@corigine.com>,
        Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
        Juergen Gross <jgross@suse.com>,
        Stefano Stabellini
 <sstabellini@kernel.org>,
        Michael Buesch <m@bues.ch>, Mathias Nyman <mathias.nyman@intel.com>,
        Fiona Trahe
 <fiona.trahe@intel.com>,
        Andy Shevchenko <andriy.shevchenko@intel.com>,
        Wojciech Ziemba <wojciech.ziemba@intel.com>,
        Alexander Duyck <alexanderduyck@fb.com>, linuxppc-dev@lists.ozlabs.org,
        linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
        linux-wireless@vger.kernel.org, linux-crypto@vger.kernel.org,
        qat-linux@intel.com, MPT-FusionLinux.pdl@broadcom.com,
        linux-scsi@vger.kernel.org, netdev@vger.kernel.org,
        oss-drivers@corigine.com, xen-devel@lists.xenproject.org,
        linux-usb@vger.kernel.org
References: <20210803100150.1543597-1-u.kleine-koenig@pengutronix.de>
 <20210803100150.1543597-6-u.kleine-koenig@pengutronix.de>
From: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Message-ID: <d829c037-fab1-c886-7d33-f04f895f3aee@oracle.com>
Date: Tue, 3 Aug 2021 09:53:06 -0400
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
In-Reply-To: <20210803100150.1543597-6-u.kleine-koenig@pengutronix.de>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Content-Language: en-US
X-ClientProxiedBy: SN6PR04CA0098.namprd04.prod.outlook.com
 (2603:10b6:805:f2::39) To BLAPR10MB5009.namprd10.prod.outlook.com
 (2603:10b6:208:321::10)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 37d7087d-83c1-4256-b078-08d956860c71
X-MS-TrafficTypeDiagnostic: BLAPR10MB4882:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: 
	<BLAPR10MB488218AAF5D031ADC6FC687C8AF09@BLAPR10MB4882.namprd10.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:220;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 
	pJbbt+5/9kOx88hw2B+e/dR3hqeLGfOWg0qKPQ1rLn2G8odXH6Og3cq0j23ZuY3529lkNoglnlfdpingHqyErdlmrq4TGMpp4GbH6yYjpeU+V0jiMRCFm9l1SEherH1rnrvn+YI2iqbVVthwC/i1GKX9556Y0Ib1B2g5dAaV1q45vZpknprEzsXIvLg7xnwht3hk90mGbl/bqlf1+Wlj2sE8u6A6DOHArQVnrE/HTOWzYK927VEDDsZ/rKquJV3rh8qThc5juiqx7D+ELR2QoUDFNXPi4XBksWmQWgg4uRX/815ljP2+EW/trsxPa+ZBNEZO1WzLq/sDU3tjjauy2rn3KHwcAaVzXU9bcvF32E/9l9iWzjeZusvn9Kp+zgwic7qnVREyhmaSTZGr1wD/wxSfn2UPq64rnATU69K5Ss8Ys54zYUSCYLny+yNYv1h9xgKdezUfWgH4KNNBlG/Tljz/E+x/YaDMWi2Ge9hogn8pCkyNHnqRc4kR52JrRNPBkeDopYlxkl8gfu6JB/yvK1yST5CKq6n/gd3oYFA4mCOLaMY3odvtvMadrqBW5t8LosdZWn1d4EhN4pOMC9NJqY7WtnF6opRm0FB1l7fS6B3K+p9jrgFJJW2r2Bbiou6IBOYL8aSFThSomzWdJFYL/UfCDvcsKxlUDDG3/UaV1+/k/3P0bL+7VOSfsakA+SKJWU4kIBtZbEV6TYqVAr6iIOuilu+8RpA7xhZoOdYxTxY=
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:(136003)(346002)(39860400002)(376002)(396003)(366004)(31696002)(4326008)(6486002)(86362001)(26005)(478600001)(53546011)(8676002)(8936002)(5660300002)(36756003)(38100700002)(6666004)(83380400001)(7366002)(44832011)(7416002)(7406005)(316002)(31686004)(66946007)(66556008)(66476007)(16576012)(2906002)(110136005)(186003)(54906003)(2616005)(956004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?utf-8?B?dFpLZVpHOGY1aE93bEF5VzlVQlJDeW9kc3diWUhDNERuNTlpdTNmRWhUdFQ1?=
 =?utf-8?B?MXVOY2lrZUlEMDdzWEVHb1dzaTdtd1lIUTludUVqaGZ6eFREU1JkNlAxRmZL?=
 =?utf-8?B?Qi82T09SV25YeHp5dDVSU2FiMHE5bU9KRVB3QXZhYlJYeWhFcGRjakZXWElX?=
 =?utf-8?B?MldObnBJdjFtUFRkbUhQREFidEl1dmp4bGpmR0QxZFVwbmZMdUgwK0t4ZVpn?=
 =?utf-8?B?ZEdQUzFJWE9oZENOY3BzMi8rSVRxdzF4WE8yVEdMbkpuMEJ1cUphRldvU0x3?=
 =?utf-8?B?eWU0NzN4ODRVMlovQTFxaWQxYnNuZFBGVGRMQ3hnWkFSWXoxcHp4OVZXeGda?=
 =?utf-8?B?VEpUYnJ6emlNN0xPazlKN01FTEZlQ2w4c09CeVpFSkRLbEdHWENtbHl1NDRx?=
 =?utf-8?B?dVNJeUNSdVV6ZlpiNjRnd01uNkxLNzF0VlNGMmJ5SDVlbG9rR0ozdytnczRT?=
 =?utf-8?B?MnFiZllvN1BVQjNvQVZWTHAvMTF6ZGRvYVUrdG51dHh5bmhycjE4eE1DTE1H?=
 =?utf-8?B?RFh1US9waVdpOFcwR2Q5WllNb3g4aXNNVkxKVU9OU1c4cm9Qb0pFT2MwS3l5?=
 =?utf-8?B?TU5mMzAyQTFSUzRyaGdOMHhJZmIrMmtqdFo5VFh4akx3Y1AyREZsMnBwZ1dl?=
 =?utf-8?B?V1JQY0VJanRyc2hyc1k3WUNuYUxuTWw4Um1hdGh5cFZzZjdkNVhaZTMyUThj?=
 =?utf-8?B?L2xVY2pqSEFVbGRvazdFM2JmNzBFNlpNRnpERFk4cW5ydnJwVk1XZ1V3MnBB?=
 =?utf-8?B?NGttdE5NNEVMdzdza1hBRFM1eFNiZHVIN01CSEdITjNNWlZmdVZIQm1XRVdN?=
 =?utf-8?B?MWNxNkRpZ2NYRk94TzRrWHpNckMrZ1paZXNPd3pwL3FRZEpMVGl1MUZISzdH?=
 =?utf-8?B?dkRob1R2Kzl5cnlRcUMyWm5tY29aVS80cFo4Zjgxc0F2UUJUYTFudWZXVUhY?=
 =?utf-8?B?L1RjZE9hbXk4UTFKMXZHUHJHczl3eTNkZlc5NVJOZ0dsU0dNTmJ3dTlxMlZJ?=
 =?utf-8?B?VjJFV0M2Zk8vMkFnRURSeHlLck5RNXhNcWkzR25YczF5ank3MEUwUTF1NGpl?=
 =?utf-8?B?d0lyQUNqQWhjNk03cVNYWE8rbE9uNFNCQkZlMjdOWVpadU1jSVQwT2ozWUhX?=
 =?utf-8?B?Q1YrNGtUTGx1Zkw3NUljRWVyQitWSmhSSUs5TmVJS3B1MEdQMXh2TkxsTllF?=
 =?utf-8?B?TTVnditQQ29KSG8raHppYVFUQXpuWml0VzY4eStvSHk2MlJyYkh4UjI2N0xF?=
 =?utf-8?B?V09SMlVGNGVaVGxmOE41YU1Za2dmazZ3S0grbWlEb3dZZ3pUZWdJMExrWTM0?=
 =?utf-8?B?SGhNd0JsZVp0UDNKVXdzekZ5Y3dKbGR2Ymd4RUQ5bVpZVWlCNXBrdlZERWNG?=
 =?utf-8?B?dm5NR2tyWEhCcE5aOERQTGxKRmR2MzBQNGVKS1VuakpnMGgvT09BT3RqazF1?=
 =?utf-8?B?ZEdtQTQ2em1CNzc4UE43U25DcWFvS0lmZ1BvOVp4ejdReFQ1NHRnQVk5Qkgr?=
 =?utf-8?B?V21FRVB3MEpnd3JXTmJ5Q0JpYVZ1RTVlRnZJTEhHaVNWZmFtSlE1OVN1Nk5H?=
 =?utf-8?B?UWcyaE9meTJwbFFGa3NkbWpXOGpyZitsNS94TXRLUHhVMnc0Wi9ab0tSTnJ3?=
 =?utf-8?B?ZDFBZ0NXVEdsYitGd3ZTekE4TGFBSmJnVkJ3Qlpra2ZGL081emQ5cEgySUJH?=
 =?utf-8?B?SzNXbVp6SUVZSEs0STkzcXVwYU1KcEo1Qk80V0hoeDNYYjk4cXBMM21VbnJs?=
 =?utf-8?Q?u++K/dGtrLnXLIJa3V53YiAFG4Hu978PvfzVbNj?=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 37d7087d-83c1-4256-b078-08d956860c71
X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5009.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2021 13:53:18.8559
 (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: Zkce6/FDLIFABseQgPNxfSWxiaCbO+S72NwtAQH2zQBQjgiRdAeeoZ9RhSpcUqhG5J9RN9lHXD3jORKQ+IpJ7ADMDZXmE5+q2SRmYWa8pc0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR10MB4882
X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=10064 signatures=668682
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 malwarescore=0 phishscore=0
 spamscore=0 adultscore=0 suspectscore=0 mlxlogscore=999 bulkscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2107140000
 definitions=main-2108030092
X-Proofpoint-GUID: 1zfowUBAnsX5uRsxf3xD4UCQWk3eimm2
X-Proofpoint-ORIG-GUID: 1zfowUBAnsX5uRsxf3xD4UCQWk3eimm2


On 8/3/21 6:01 AM, Uwe Kleine-König wrote:
> This prepares removing the driver member of struct pci_dev which holds the
> same information than struct pci_dev::dev->driver.
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> ---
>  arch/powerpc/include/asm/ppc-pci.h            |  3 +-
>  arch/powerpc/kernel/eeh_driver.c              | 12 ++++---
>  arch/x86/events/intel/uncore.c                |  2 +-
>  arch/x86/kernel/probe_roms.c                  |  2 +-
>  drivers/bcma/host_pci.c                       |  6 ++--
>  drivers/crypto/hisilicon/qm.c                 |  2 +-
>  drivers/crypto/qat/qat_common/adf_aer.c       |  2 +-
>  drivers/message/fusion/mptbase.c              |  4 +--
>  drivers/misc/cxl/guest.c                      | 21 +++++------
>  drivers/misc/cxl/pci.c                        | 25 +++++++------
>  .../ethernet/hisilicon/hns3/hns3_ethtool.c    |  2 +-
>  .../ethernet/marvell/prestera/prestera_pci.c  |  2 +-
>  drivers/net/ethernet/mellanox/mlxsw/pci.c     |  2 +-
>  .../ethernet/netronome/nfp/nfp_net_ethtool.c  |  2 +-
>  drivers/pci/iov.c                             | 23 +++++++-----
>  drivers/pci/pci-driver.c                      | 28 ++++++++-------
>  drivers/pci/pci.c                             | 10 +++---
>  drivers/pci/pcie/err.c                        | 35 ++++++++++---------
>  drivers/pci/xen-pcifront.c                    |  3 +-
>  drivers/ssb/pcihost_wrapper.c                 |  7 ++--
>  drivers/usb/host/xhci-pci.c                   |  3 +-
>  21 files changed, 112 insertions(+), 84 deletions(-)


For Xen bits:

Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>




From xen-devel-bounces@lists.xenproject.org Tue Aug 03 14:32:44 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 14:32:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163533.299544 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAvT4-0004un-3h; Tue, 03 Aug 2021 14:32:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163533.299544; Tue, 03 Aug 2021 14:32: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 1mAvT4-0004ug-0N; Tue, 03 Aug 2021 14:32:30 +0000
Received: by outflank-mailman (input) for mailman id 163533;
 Tue, 03 Aug 2021 14:32: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 1mAvT3-0004uW-12; Tue, 03 Aug 2021 14:32: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 1mAvT2-0005Gn-PV; Tue, 03 Aug 2021 14:32: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 1mAvT2-0005t5-FI; Tue, 03 Aug 2021 14:32:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mAvT2-00042h-Eq; Tue, 03 Aug 2021 14: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=tzwrqn7B5+8xIxYUBZHvwzOEm0PBEvNmzuOTGRYy2EU=; b=BpMJ4JVqwuuDCcSF4RHIsaVLUU
	/etiWYmrc5z9BwmQQPi+BNXjzbMkcgsPOw8Dl+egbOGl7qhPbfxdXDe2aWprbxmoyJnqSmfIKDSfv
	TPTWp/HhDVQmIf1gJUU/kH53Kfdv1lvP+jLnmuYG2F4pSwiHfKwn6LaVkz+3l8B1ULdA=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164092-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 164092: tolerable all pass - PUSHED
X-Osstest-Failures:
    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-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=2278d2cbb0b7c1b48b298c6c4c6a7de2271ac928
X-Osstest-Versions-That:
    xen=e066ca5acc2ee3b5db5c005e1a548b05e753e07d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 03 Aug 2021 14:32:28 +0000

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

Failures :-/ but no regressions.

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-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  2278d2cbb0b7c1b48b298c6c4c6a7de2271ac928
baseline version:
 xen                  e066ca5acc2ee3b5db5c005e1a548b05e753e07d

Last test of basis   164057  2021-07-30 19:02:47 Z    3 days
Testing same since   164092  2021-08-03 10:01:40 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Brian Woods <brian.woods@xilinx.com>
  Julien Grall <jgrall@amazon.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stefano Stabellini <stefano.stabellini@xilinx.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   e066ca5acc..2278d2cbb0  2278d2cbb0b7c1b48b298c6c4c6a7de2271ac928 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Aug 03 14:37:53 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 14:37:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163541.299559 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAvYD-0005aA-OO; Tue, 03 Aug 2021 14:37:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163541.299559; Tue, 03 Aug 2021 14:37:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAvYD-0005a3-L1; Tue, 03 Aug 2021 14:37:49 +0000
Received: by outflank-mailman (input) for mailman id 163541;
 Tue, 03 Aug 2021 14:37:48 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=A+UO=M2=intel.com=andriy.shevchenko@srs-us1.protection.inumbo.net>)
 id 1mAvYC-0005Zx-Ib
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 14:37:48 +0000
Received: from mga12.intel.com (unknown [192.55.52.136])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 18e933ea-34b3-46c2-9299-29f62193b3eb;
 Tue, 03 Aug 2021 14:37:45 +0000 (UTC)
Received: from fmsmga008.fm.intel.com ([10.253.24.58])
 by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 03 Aug 2021 07:37:44 -0700
Received: from smile.fi.intel.com (HELO smile) ([10.237.68.40])
 by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 03 Aug 2021 07:37:29 -0700
Received: from andy by smile with local (Exim 4.94.2)
 (envelope-from <andriy.shevchenko@intel.com>)
 id 1mAvXk-004lSc-2p; Tue, 03 Aug 2021 17:37:20 +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: 18e933ea-34b3-46c2-9299-29f62193b3eb
X-IronPort-AV: E=McAfee;i="6200,9189,10065"; a="193296744"
X-IronPort-AV: E=Sophos;i="5.84,291,1620716400"; 
   d="scan'208";a="193296744"
X-IronPort-AV: E=Sophos;i="5.84,291,1620716400"; 
   d="scan'208";a="479533435"
Date: Tue, 3 Aug 2021 17:37:20 +0300
From: Andy Shevchenko <andriy.shevchenko@intel.com>
To: Uwe =?iso-8859-1?Q?Kleine-K=F6nig?= <u.kleine-koenig@pengutronix.de>
Cc: Bjorn Helgaas <bhelgaas@google.com>, kernel@pengutronix.de,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-pci@vger.kernel.org, Michael Ellerman <mpe@ellerman.id.au>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	Russell Currey <ruscur@russell.cc>,
	Oliver O'Halloran <oohall@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Borislav Petkov <bp@alien8.de>, x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	=?utf-8?B?UmFmYcWCIE1pxYJlY2tp?= <zajec5@gmail.com>,
	Zhou Wang <wangzhou1@hisilicon.com>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	"David S. Miller" <davem@davemloft.net>,
	Giovanni Cabiddu <giovanni.cabiddu@intel.com>,
	Sathya Prakash <sathya.prakash@broadcom.com>,
	Sreekanth Reddy <sreekanth.reddy@broadcom.com>,
	Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>,
	Frederic Barrat <fbarrat@linux.ibm.com>,
	Andrew Donnellan <ajd@linux.ibm.com>, Arnd Bergmann <arnd@arndb.de>,
	Yisen Zhuang <yisen.zhuang@huawei.com>,
	Salil Mehta <salil.mehta@huawei.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Vadym Kochan <vkochan@marvell.com>,
	Taras Chornyi <tchornyi@marvell.com>, Jiri Pirko <jiri@nvidia.com>,
	Ido Schimmel <idosch@nvidia.com>,
	Simon Horman <simon.horman@corigine.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michael Buesch <m@bues.ch>, Mathias Nyman <mathias.nyman@intel.com>,
	Fiona Trahe <fiona.trahe@intel.com>,
	Wojciech Ziemba <wojciech.ziemba@intel.com>,
	Alexander Duyck <alexanderduyck@fb.com>,
	linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org,
	linux-perf-users@vger.kernel.org, linux-wireless@vger.kernel.org,
	linux-crypto@vger.kernel.org, qat-linux@intel.com,
	MPT-FusionLinux.pdl@broadcom.com, linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org, oss-drivers@corigine.com,
	xen-devel@lists.xenproject.org, linux-usb@vger.kernel.org
Subject: Re: [PATCH v2 4/6] PCI: Provide wrapper to access a pci_dev's bound
 driver
Message-ID: <YQlUoGYP6c/eWgJO@smile.fi.intel.com>
References: <20210803100150.1543597-1-u.kleine-koenig@pengutronix.de>
 <20210803100150.1543597-5-u.kleine-koenig@pengutronix.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20210803100150.1543597-5-u.kleine-koenig@pengutronix.de>
Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo

On Tue, Aug 03, 2021 at 12:01:48PM +0200, Uwe Kleine-Knig wrote:
> Which driver a device is bound to is available twice: In struct
> pci_dev::dev->driver and in struct pci_dev::driver. To get rid of the
> duplication introduce a wrapper to access struct pci_dev's driver
> member. Once all users are converted the wrapper can be changed to
> calculate the driver using pci_dev::dev->driver.

...

>  #define	to_pci_driver(drv) container_of(drv, struct pci_driver, driver)
> +#define pci_driver_of_dev(pdev) ((pdev)->driver)

Seems like above is (mis)using TAB instead of space after #define. Not sure if
it's good to have them different.

-- 
With Best Regards,
Andy Shevchenko




From xen-devel-bounces@lists.xenproject.org Tue Aug 03 14:39:31 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 14:39:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163550.299576 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAvZr-0006Ft-4y; Tue, 03 Aug 2021 14:39:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163550.299576; Tue, 03 Aug 2021 14:39:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAvZr-0006Fm-1j; Tue, 03 Aug 2021 14:39:31 +0000
Received: by outflank-mailman (input) for mailman id 163550;
 Tue, 03 Aug 2021 14:39:29 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=A+UO=M2=intel.com=andriy.shevchenko@srs-us1.protection.inumbo.net>)
 id 1mAvZp-0006FI-Nr
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 14:39:29 +0000
Received: from mga03.intel.com (unknown [134.134.136.65])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 87827722-3ed8-4ede-9289-2f34ae253f87;
 Tue, 03 Aug 2021 14:39:23 +0000 (UTC)
Received: from orsmga003.jf.intel.com ([10.7.209.27])
 by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 03 Aug 2021 07:39:23 -0700
Received: from smile.fi.intel.com (HELO smile) ([10.237.68.40])
 by orsmga003-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 03 Aug 2021 07:39:07 -0700
Received: from andy by smile with local (Exim 4.94.2)
 (envelope-from <andriy.shevchenko@intel.com>)
 id 1mAvZJ-004lU3-S4; Tue, 03 Aug 2021 17:38: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: 87827722-3ed8-4ede-9289-2f34ae253f87
X-IronPort-AV: E=McAfee;i="6200,9189,10065"; a="213739129"
X-IronPort-AV: E=Sophos;i="5.84,291,1620716400"; 
   d="scan'208";a="213739129"
X-IronPort-AV: E=Sophos;i="5.84,291,1620716400"; 
   d="scan'208";a="419683121"
Date: Tue, 3 Aug 2021 17:38:57 +0300
From: Andy Shevchenko <andriy.shevchenko@intel.com>
To: Uwe =?iso-8859-1?Q?Kleine-K=F6nig?= <u.kleine-koenig@pengutronix.de>
Cc: Bjorn Helgaas <bhelgaas@google.com>, kernel@pengutronix.de,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-pci@vger.kernel.org, Michael Ellerman <mpe@ellerman.id.au>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	Russell Currey <ruscur@russell.cc>,
	Oliver O'Halloran <oohall@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Borislav Petkov <bp@alien8.de>, x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	=?utf-8?B?UmFmYcWCIE1pxYJlY2tp?= <zajec5@gmail.com>,
	Zhou Wang <wangzhou1@hisilicon.com>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	"David S. Miller" <davem@davemloft.net>,
	Giovanni Cabiddu <giovanni.cabiddu@intel.com>,
	Sathya Prakash <sathya.prakash@broadcom.com>,
	Sreekanth Reddy <sreekanth.reddy@broadcom.com>,
	Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>,
	Frederic Barrat <fbarrat@linux.ibm.com>,
	Andrew Donnellan <ajd@linux.ibm.com>, Arnd Bergmann <arnd@arndb.de>,
	Yisen Zhuang <yisen.zhuang@huawei.com>,
	Salil Mehta <salil.mehta@huawei.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Vadym Kochan <vkochan@marvell.com>,
	Taras Chornyi <tchornyi@marvell.com>, Jiri Pirko <jiri@nvidia.com>,
	Ido Schimmel <idosch@nvidia.com>,
	Simon Horman <simon.horman@corigine.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michael Buesch <m@bues.ch>, Mathias Nyman <mathias.nyman@intel.com>,
	Fiona Trahe <fiona.trahe@intel.com>,
	Wojciech Ziemba <wojciech.ziemba@intel.com>,
	Alexander Duyck <alexanderduyck@fb.com>,
	linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org,
	linux-perf-users@vger.kernel.org, linux-wireless@vger.kernel.org,
	linux-crypto@vger.kernel.org, qat-linux@intel.com,
	MPT-FusionLinux.pdl@broadcom.com, linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org, oss-drivers@corigine.com,
	xen-devel@lists.xenproject.org, linux-usb@vger.kernel.org
Subject: Re: [PATCH v2 5/6] PCI: Adapt all code locations to not use struct
 pci_dev::driver directly
Message-ID: <YQlVAcOGDrDO8500@smile.fi.intel.com>
References: <20210803100150.1543597-1-u.kleine-koenig@pengutronix.de>
 <20210803100150.1543597-6-u.kleine-koenig@pengutronix.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20210803100150.1543597-6-u.kleine-koenig@pengutronix.de>
Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo

On Tue, Aug 03, 2021 at 12:01:49PM +0200, Uwe Kleine-Knig wrote:
> This prepares removing the driver member of struct pci_dev which holds the
> same information than struct pci_dev::dev->driver.

...

> +	struct pci_driver *pdrv;

Missed blank line here and everywhere else. I don't remember if it's a
checkpatch who complains on this.

> +	return (pdev && (pdrv = pci_driver_of_dev(pdev))) ? pdrv->name : "<null>";

-- 
With Best Regards,
Andy Shevchenko




From xen-devel-bounces@lists.xenproject.org Tue Aug 03 16:12:05 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 16:12:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163564.299587 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAx1E-00075W-TG; Tue, 03 Aug 2021 16:11:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163564.299587; Tue, 03 Aug 2021 16: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 1mAx1E-00075P-QA; Tue, 03 Aug 2021 16:11:52 +0000
Received: by outflank-mailman (input) for mailman id 163564;
 Tue, 03 Aug 2021 16:11: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 1mAx1D-00075E-Q4; Tue, 03 Aug 2021 16:11: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 1mAx1D-0007Fb-Bs; Tue, 03 Aug 2021 16:11: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 1mAx1D-0000I2-0B; Tue, 03 Aug 2021 16:11:51 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mAx1C-0006IK-Vw; Tue, 03 Aug 2021 16:11: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=bIqKqsOFUG2E/flGWRKR/loqy6OMi+tQ9XKfPS5Cr80=; b=fVLsR/Hl7Fv92psfef5lXHvFH7
	+XzeIKTOaVPmmdEnIMdqs+Do/rwvfnxSROdPP3xxd/ucqUOQaC1gV7KZFq2HGv5IkGRxJfSdGwOTI
	c4j9iqcdW4N//D3IlRxT7yluWN8FIEh+IWCT0lfmR/rXabdwhoHJVXexASfuRheLNM20=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164089-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 164089: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:allowable
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check: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-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-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-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-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-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=7f1cab9c628a798ae2607940993771e6300e9e00
X-Osstest-Versions-That:
    qemuu=526f1f3a5c6726e3d3b893d8063d31fda091c7e0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 03 Aug 2021 16:11:50 +0000

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

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds    18 guest-start/debian.repeat fail REGR. vs. 164084

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

version targeted for testing:
 qemuu                7f1cab9c628a798ae2607940993771e6300e9e00
baseline version:
 qemuu                526f1f3a5c6726e3d3b893d8063d31fda091c7e0

Last test of basis   164084  2021-08-02 19:07:55 Z    0 days
Testing same since   164089  2021-08-03 04:39:15 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                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-amd64-pvgrub                                pass    
 test-amd64-amd64-i386-pvgrub                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   526f1f3a5c..7f1cab9c62  7f1cab9c628a798ae2607940993771e6300e9e00 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Tue Aug 03 17:37:23 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 17:37:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163573.299603 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAyLi-0005tn-EL; Tue, 03 Aug 2021 17:37:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163573.299603; Tue, 03 Aug 2021 17: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 1mAyLi-0005tg-BC; Tue, 03 Aug 2021 17:37:06 +0000
Received: by outflank-mailman (input) for mailman id 163573;
 Tue, 03 Aug 2021 17:37:05 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IGB/=M2=suse.com=dfaggioli@srs-us1.protection.inumbo.net>)
 id 1mAyLg-0005ta-VY
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 17:37:05 +0000
Received: from smtp-out1.suse.de (unknown [195.135.220.28])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 2713b9fb-dde5-4619-a686-f6df9c3a2413;
 Tue, 03 Aug 2021 17:37:03 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 AF9B022131;
 Tue,  3 Aug 2021 17:37:02 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 7CFAC13B68;
 Tue,  3 Aug 2021 17:37:02 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id RXnkG75+CWGNGAAAGKfGzw
 (envelope-from <dfaggioli@suse.com>); Tue, 03 Aug 2021 17:37: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: 2713b9fb-dde5-4619-a686-f6df9c3a2413
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1628012222; 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=eRAfJZLVLs75g8g+cmBndLvXhUUoNMvH7ExcMt/31eI=;
	b=ktB3nkix1Q2XWTXHYJpuzlj5WcaUv8f8UxjCDe/GoSEA4dBMHcoA9lDBpy1UrVDG1KHOHT
	lUAXY5+zR3Rv7g9dPX71U8o/xWdMml/7C+W8uTh3dfPkDE0thuZ9hwUkrfGpX1kYqgJo4O
	ZVQ0tkEJzu7X8I7t5kzzWzED5y5v3Fg=
Subject: [pli PATCH bla] Xen: credit2: avoid picking a spurious idle unit when
 caps are used
From: Dario Faggioli <dfaggioli@suse.com>
To: xen-devel@lists.xenproject.org, xen-devel@lists.xenproject.org
Cc: George Dunlap <george.dunlap@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>
Date: Tue, 03 Aug 2021 19:36:56 +0200
Message-ID: <162801221667.955.3439735419862661383.stgit@Wayrath>
User-Agent: StGit/0.23
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit

Commit 07b0eb5d0ef0 ("credit2: make sure we pick a runnable unit from the
runq if there is one") did not fix completely the problem of potentially
selecting a scheduling unit that will then not be able to run.

In fact, in case caps are used and the unit we are currently looking
at, during the runqueue scan, does not have budget to be executed, we
should continue looking instead than giving up and picking the idle
unit.

Signed-off-by: Dario Faggioli <dfaggioli@suse.com>
Suggested-by: George Dunlap <george.dunlap@citrix.com>
Cc: George Dunlap <george.dunlap@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>
---
This is necessary to completely fix the bug that was described in and
addressed by 07b0eb5d0ef0 ("credit2: make sure we pick a runnable unit
from the runq if there is one").

It should, therefore, be backported and applied to all the branches to
which that commit has been. About backports, it should be
straigthforward to do that until 4.13.

For 4.12 and earlier, it's trickier, but the fix is still necessary.
Actually, both 07b0eb5d0ef0 and this patch should be backported to that
branch!

I will provide the backports myself in a email that I'll send as a
reply to this one.

Regards,
Dario
---
 xen/common/sched/credit2.c |   85 +++++++++++++++++++++++++-------------------
 1 file changed, 49 insertions(+), 36 deletions(-)

diff --git a/xen/common/sched/credit2.c b/xen/common/sched/credit2.c
index ebb09ea43a..f9b95db313 100644
--- a/xen/common/sched/credit2.c
+++ b/xen/common/sched/credit2.c
@@ -3463,48 +3463,61 @@ runq_candidate(struct csched2_runqueue_data *rqd,
                         (unsigned char *)&d);
         }
 
-        /* Skip non runnable units that we (temporarily) have in the runq */
-        if ( unlikely(!unit_runnable_state(svc->unit)) )
-            continue;
-
-        /* Only consider vcpus that are allowed to run on this processor. */
-        if ( !cpumask_test_cpu(cpu, svc->unit->cpu_hard_affinity) )
-            continue;
-
         /*
-         * If an unit is meant to be picked up by another processor, and such
-         * processor has not scheduled yet, leave it in the runqueue for him.
+         * If the unit in the runqueue has more credit than current (or than
+         * idle, if current is not runnable) or if current is yielding, we may
+         * want to pick it up.
          */
-        if ( svc->tickled_cpu != -1 && svc->tickled_cpu != cpu &&
-             cpumask_test_cpu(svc->tickled_cpu, &rqd->tickled) )
+        if ( (yield || svc->credit > snext->credit) )
         {
-            SCHED_STAT_CRANK(deferred_to_tickled_cpu);
-            continue;
-        }
+            /* Skip non runnable units that we (temporarily) have in the runq */
+            if ( unlikely(!unit_runnable_state(svc->unit)) )
+                continue;
 
-        /*
-         * If this is on a different processor, don't pull it unless
-         * its credit is at least CSCHED2_MIGRATE_RESIST higher.
-         */
-        if ( sched_unit_master(svc->unit) != cpu
-             && snext->credit + CSCHED2_MIGRATE_RESIST > svc->credit )
-        {
-            SCHED_STAT_CRANK(migrate_resisted);
-            continue;
-        }
+            /* Only consider vcpus that are allowed to run on this processor. */
+            if ( !cpumask_test_cpu(cpu, svc->unit->cpu_hard_affinity) )
+                continue;
 
-        /*
-         * If the one in the runqueue has more credit than current (or idle,
-         * if current is not runnable), or if current is yielding, and also
-         * if the one in runqueue either is not capped, or is capped but has
-         * some budget, then choose it.
-         */
-        if ( (yield || svc->credit > snext->credit) &&
-             (!has_cap(svc) || unit_grab_budget(svc)) )
-            snext = svc;
+            /*
+             * If an unit is meant to be picked up by another processor, and such
+             * processor has not scheduled yet, leave it in the runqueue for him.
+             */
+            if ( svc->tickled_cpu != -1 && svc->tickled_cpu != cpu &&
+                 cpumask_test_cpu(svc->tickled_cpu, &rqd->tickled) )
+            {
+                SCHED_STAT_CRANK(deferred_to_tickled_cpu);
+                continue;
+            }
 
-        /* In any case, if we got this far, break. */
-        break;
+            /*
+             * If this is on a different processor, don't pull it unless
+             * its credit is at least CSCHED2_MIGRATE_RESIST higher.
+             */
+            if ( sched_unit_master(svc->unit) != cpu
+                 && snext->credit + CSCHED2_MIGRATE_RESIST > svc->credit )
+            {
+                SCHED_STAT_CRANK(migrate_resisted);
+                continue;
+            }
+
+            /*
+             * If we are here, we are almost sure we want to pick the unit in
+             * the runqueue. Last thing we need to check is that it either is
+             * is not capped, or if it is, it has some budget.
+             *
+             * Note that cap & budget should really be the last thing we do
+             * check. In fact, unit_grab_budget() will reserve some budget for
+             * this unit, from the per-domain budget pool, and we want to do
+             * that only if we are sure that we'll then run the unit, consume
+             * some of it, and return the leftover (if any) in the usual way.
+             */
+            if ( has_cap(svc) && !unit_grab_budget(svc) )
+                continue;
+
+            /* If we got this far, we are done. */
+            snext = svc;
+            break;
+        }
     }
 
     if ( unlikely(tb_init_done) )




From xen-devel-bounces@lists.xenproject.org Tue Aug 03 17:42:39 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 17:42:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163580.299614 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAyR2-0007HN-3E; Tue, 03 Aug 2021 17:42:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163580.299614; Tue, 03 Aug 2021 17:42:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAyR2-0007HG-0F; Tue, 03 Aug 2021 17:42:36 +0000
Received: by outflank-mailman (input) for mailman id 163580;
 Tue, 03 Aug 2021 17:42:34 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IGB/=M2=suse.com=dfaggioli@srs-us1.protection.inumbo.net>)
 id 1mAyR0-0007HA-2g
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 17:42:34 +0000
Received: from smtp-out1.suse.de (unknown [195.135.220.28])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 9df24ce3-2749-4d31-8aa9-21d656ec1211;
 Tue, 03 Aug 2021 17:42: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 smtp-out1.suse.de (Postfix) with ESMTPS id ECF2622136;
 Tue,  3 Aug 2021 17:42:31 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id B5CFC13B0A;
 Tue,  3 Aug 2021 17:42:31 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id kz/hKQeACWF0OAAAMHmgww
 (envelope-from <dfaggioli@suse.com>); Tue, 03 Aug 2021 17:42:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9df24ce3-2749-4d31-8aa9-21d656ec1211
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1628012551; 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=E+tMd/QgQ9+aqplNV738uGqYQtkEEEnBo4BrA/U9RZQ=;
	b=V3DBoBvHSlXYtStRphwMtral1KztsNXhFJ6Bxfl7DmrN6eSQHrCmJmd8uCH1QtF+DeLogH
	tVdRjEvmhNpFSKeU3r0Xa1vdjKov/YUUjBeRa2RWHOIJ03hkGIkRHDaB8drvCCFRfd5thq
	A5Ru+R+G/0lJ+FkFsMdorW8MC0hTPHs=
Message-ID: <bf28faad138cbf849f80609dfde696b89eb72e73.camel@suse.com>
Subject: Re: [pli PATCH bla] Xen: credit2: avoid picking a spurious idle
 unit when caps are used
From: Dario Faggioli <dfaggioli@suse.com>
To: xen-devel@lists.xenproject.org
Cc: George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>
Date: Tue, 03 Aug 2021 19:42:30 +0200
In-Reply-To: <162801221667.955.3439735419862661383.stgit@Wayrath>
References: <162801221667.955.3439735419862661383.stgit@Wayrath>
Content-Type: multipart/signed; micalg="pgp-sha256";
	protocol="application/pgp-signature"; boundary="=-IyxkMSWhlQKFq3GCs1oN"
User-Agent: Evolution 3.40.3 (by Flathub.org) 
MIME-Version: 1.0


--=-IyxkMSWhlQKFq3GCs1oN
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64

RXJyLi4uIG9mIGNvdXJzZSwgdGhlICJwbGkiIGFuZCAiYmxhIiBzdHVmZiBiZXR3ZWVuIHRoZSBb
XSBhcmUgYQpsZWZ0b3ZlciBvZiBzb21lIGV4cGVyaW1lbnRzIHRoYXQgSSBoYWQgdG8gZG8gd2l0
aCBgc3RnIGVtYWlsYCwgZHVlIHRvCm1haWwgaGFuZGxpbmcgY2hhbmdlcywgYW5kIHNob3VsZCBy
ZWFsbHnCoG5vdCBoYXZlIGJlZW4gdGhlcmUgaW4gdGhpcwplbWFpbC4uLgoKU29ycnkuIDotLwoK
T24gVHVlLCAyMDIxLTA4LTAzIGF0IDE5OjM2ICswMjAwLCBEYXJpbyBGYWdnaW9saSB3cm90ZToK
PiBDb21taXQgMDdiMGViNWQwZWYwICgiY3JlZGl0MjogbWFrZSBzdXJlIHdlIHBpY2sgYSBydW5u
YWJsZSB1bml0IGZyb20KPiB0aGUKPiBydW5xIGlmIHRoZXJlIGlzIG9uZSIpIGRpZCBub3QgZml4
IGNvbXBsZXRlbHkgdGhlIHByb2JsZW0gb2YKPiBwb3RlbnRpYWxseQo+IHNlbGVjdGluZyBhIHNj
aGVkdWxpbmcgdW5pdCB0aGF0IHdpbGwgdGhlbiBub3QgYmUgYWJsZSB0byBydW4uCj4gCj4gSW4g
ZmFjdCwgaW4gY2FzZSBjYXBzIGFyZSB1c2VkIGFuZCB0aGUgdW5pdCB3ZSBhcmUgY3VycmVudGx5
IGxvb2tpbmcKPiBhdCwgZHVyaW5nIHRoZSBydW5xdWV1ZSBzY2FuLCBkb2VzIG5vdCBoYXZlIGJ1
ZGdldCB0byBiZSBleGVjdXRlZCwgd2UKPiBzaG91bGQgY29udGludWUgbG9va2luZyBpbnN0ZWFk
IHRoYW4gZ2l2aW5nIHVwIGFuZCBwaWNraW5nIHRoZSBpZGxlCj4gdW5pdC4KPiAKPiBTaWduZWQt
b2ZmLWJ5OiBEYXJpbyBGYWdnaW9saSA8ZGZhZ2dpb2xpQHN1c2UuY29tPgo+IFN1Z2dlc3RlZC1i
eTogR2VvcmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBjaXRyaXguY29tPgo+IENjOiBHZW9yZ2Ug
RHVubGFwIDxnZW9yZ2UuZHVubGFwQGNpdHJpeC5jb20+Cj4gQ2M6IEphbiBCZXVsaWNoIDxqYmV1
bGljaEBzdXNlLmNvbT4KPiAtLS0KPiBUaGlzIGlzIG5lY2Vzc2FyeSB0byBjb21wbGV0ZWx5IGZp
eCB0aGUgYnVnIHRoYXQgd2FzIGRlc2NyaWJlZCBpbiBhbmQKPiBhZGRyZXNzZWQgYnkgMDdiMGVi
NWQwZWYwICgiY3JlZGl0MjogbWFrZSBzdXJlIHdlIHBpY2sgYSBydW5uYWJsZQo+IHVuaXQKPiBm
cm9tIHRoZSBydW5xIGlmIHRoZXJlIGlzIG9uZSIpLgo+IAo+IEl0IHNob3VsZCwgdGhlcmVmb3Jl
LCBiZSBiYWNrcG9ydGVkIGFuZCBhcHBsaWVkIHRvIGFsbCB0aGUgYnJhbmNoZXMKPiB0bwo+IHdo
aWNoIHRoYXQgY29tbWl0IGhhcyBiZWVuLiBBYm91dCBiYWNrcG9ydHMsIGl0IHNob3VsZCBiZQo+
IHN0cmFpZ3RoZm9yd2FyZCB0byBkbyB0aGF0IHVudGlsIDQuMTMuCj4gCj4gRm9yIDQuMTIgYW5k
IGVhcmxpZXIsIGl0J3MgdHJpY2tpZXIsIGJ1dCB0aGUgZml4IGlzIHN0aWxsIG5lY2Vzc2FyeS4K
PiBBY3R1YWxseSwgYm90aCAwN2IwZWI1ZDBlZjAgYW5kIHRoaXMgcGF0Y2ggc2hvdWxkIGJlIGJh
Y2twb3J0ZWQgdG8KPiB0aGF0Cj4gYnJhbmNoIQo+IAo+IEkgd2lsbCBwcm92aWRlIHRoZSBiYWNr
cG9ydHMgbXlzZWxmIGluIGEgZW1haWwgdGhhdCBJJ2xsIHNlbmQgYXMgYQo+IHJlcGx5IHRvIHRo
aXMgb25lLgo+IAo+IFJlZ2FyZHMsCj4gRGFyaW8KPiAtLS0KPiDCoHhlbi9jb21tb24vc2NoZWQv
Y3JlZGl0Mi5jIHzCoMKgIDg1ICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KPiAt
LS0tLS0tLS0tCj4gwqAxIGZpbGUgY2hhbmdlZCwgNDkgaW5zZXJ0aW9ucygrKSwgMzYgZGVsZXRp
b25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vc2NoZWQvY3JlZGl0Mi5jIGIveGVu
L2NvbW1vbi9zY2hlZC9jcmVkaXQyLmMKPiBpbmRleCBlYmIwOWVhNDNhLi5mOWI5NWRiMzEzIDEw
MDY0NAo+IC0tLSBhL3hlbi9jb21tb24vc2NoZWQvY3JlZGl0Mi5jCj4gKysrIGIveGVuL2NvbW1v
bi9zY2hlZC9jcmVkaXQyLmMKPiBAQCAtMzQ2Myw0OCArMzQ2Myw2MSBAQCBydW5xX2NhbmRpZGF0
ZShzdHJ1Y3QgY3NjaGVkMl9ydW5xdWV1ZV9kYXRhCj4gKnJxZCwKPiDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKHVuc2lnbmVkIGNoYXIgKikmZCk7Cj4g
wqDCoMKgwqDCoMKgwqDCoCB9Cj4gwqAKPiAtwqDCoMKgwqDCoMKgwqAgLyogU2tpcCBub24gcnVu
bmFibGUgdW5pdHMgdGhhdCB3ZSAodGVtcG9yYXJpbHkpIGhhdmUgaW4gdGhlCj4gcnVucSAqLwo+
IC3CoMKgwqDCoMKgwqDCoCBpZiAoIHVubGlrZWx5KCF1bml0X3J1bm5hYmxlX3N0YXRlKHN2Yy0+
dW5pdCkpICkKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb250aW51ZTsKPiAtCj4gLcKgwqDC
oMKgwqDCoMKgIC8qIE9ubHkgY29uc2lkZXIgdmNwdXMgdGhhdCBhcmUgYWxsb3dlZCB0byBydW4g
b24gdGhpcwo+IHByb2Nlc3Nvci4gKi8KPiAtwqDCoMKgwqDCoMKgwqAgaWYgKCAhY3B1bWFza190
ZXN0X2NwdShjcHUsIHN2Yy0+dW5pdC0+Y3B1X2hhcmRfYWZmaW5pdHkpICkKPiAtwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoCBjb250aW51ZTsKPiAtCj4gwqDCoMKgwqDCoMKgwqDCoCAvKgo+IC3CoMKg
wqDCoMKgwqDCoMKgICogSWYgYW4gdW5pdCBpcyBtZWFudCB0byBiZSBwaWNrZWQgdXAgYnkgYW5v
dGhlciBwcm9jZXNzb3IsCj4gYW5kIHN1Y2gKPiAtwqDCoMKgwqDCoMKgwqDCoCAqIHByb2Nlc3Nv
ciBoYXMgbm90IHNjaGVkdWxlZCB5ZXQsIGxlYXZlIGl0IGluIHRoZSBydW5xdWV1ZQo+IGZvciBo
aW0uCj4gK8KgwqDCoMKgwqDCoMKgwqAgKiBJZiB0aGUgdW5pdCBpbiB0aGUgcnVucXVldWUgaGFz
IG1vcmUgY3JlZGl0IHRoYW4gY3VycmVudAo+IChvciB0aGFuCj4gK8KgwqDCoMKgwqDCoMKgwqAg
KiBpZGxlLCBpZiBjdXJyZW50IGlzIG5vdCBydW5uYWJsZSkgb3IgaWYgY3VycmVudCBpcwo+IHlp
ZWxkaW5nLCB3ZSBtYXkKPiArwqDCoMKgwqDCoMKgwqDCoCAqIHdhbnQgdG8gcGljayBpdCB1cC4K
PiDCoMKgwqDCoMKgwqDCoMKgwqAgKi8KPiAtwqDCoMKgwqDCoMKgwqAgaWYgKCBzdmMtPnRpY2ts
ZWRfY3B1ICE9IC0xICYmIHN2Yy0+dGlja2xlZF9jcHUgIT0gY3B1ICYmCj4gLcKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoCBjcHVtYXNrX3Rlc3RfY3B1KHN2Yy0+dGlja2xlZF9jcHUsICZycWQtPnRp
Y2tsZWQpICkKPiArwqDCoMKgwqDCoMKgwqAgaWYgKCAoeWllbGQgfHwgc3ZjLT5jcmVkaXQgPiBz
bmV4dC0+Y3JlZGl0KSApCj4gwqDCoMKgwqDCoMKgwqDCoCB7Cj4gLcKgwqDCoMKgwqDCoMKgwqDC
oMKgwqAgU0NIRURfU1RBVF9DUkFOSyhkZWZlcnJlZF90b190aWNrbGVkX2NwdSk7Cj4gLcKgwqDC
oMKgwqDCoMKgwqDCoMKgwqAgY29udGludWU7Cj4gLcKgwqDCoMKgwqDCoMKgIH0KPiArwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCAvKiBTa2lwIG5vbiBydW5uYWJsZSB1bml0cyB0aGF0IHdlICh0ZW1w
b3JhcmlseSkgaGF2ZSBpbgo+IHRoZSBydW5xICovCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAg
aWYgKCB1bmxpa2VseSghdW5pdF9ydW5uYWJsZV9zdGF0ZShzdmMtPnVuaXQpKSApCj4gK8KgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb250aW51ZTsKPiDCoAo+IC3CoMKgwqDCoMKgwqDC
oCAvKgo+IC3CoMKgwqDCoMKgwqDCoMKgICogSWYgdGhpcyBpcyBvbiBhIGRpZmZlcmVudCBwcm9j
ZXNzb3IsIGRvbid0IHB1bGwgaXQgdW5sZXNzCj4gLcKgwqDCoMKgwqDCoMKgwqAgKiBpdHMgY3Jl
ZGl0IGlzIGF0IGxlYXN0IENTQ0hFRDJfTUlHUkFURV9SRVNJU1QgaGlnaGVyLgo+IC3CoMKgwqDC
oMKgwqDCoMKgICovCj4gLcKgwqDCoMKgwqDCoMKgIGlmICggc2NoZWRfdW5pdF9tYXN0ZXIoc3Zj
LT51bml0KSAhPSBjcHUKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICYmIHNuZXh0LT5jcmVk
aXQgKyBDU0NIRUQyX01JR1JBVEVfUkVTSVNUID4gc3ZjLT5jcmVkaXQKPiApCj4gLcKgwqDCoMKg
wqDCoMKgIHsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBTQ0hFRF9TVEFUX0NSQU5LKG1pZ3Jh
dGVfcmVzaXN0ZWQpOwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbnRpbnVlOwo+IC3CoMKg
wqDCoMKgwqDCoCB9Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLyogT25seSBjb25zaWRlciB2
Y3B1cyB0aGF0IGFyZSBhbGxvd2VkIHRvIHJ1biBvbiB0aGlzCj4gcHJvY2Vzc29yLiAqLwo+ICvC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmICggIWNwdW1hc2tfdGVzdF9jcHUoY3B1LCBzdmMtPnVu
aXQtCj4gPmNwdV9oYXJkX2FmZmluaXR5KSApCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoCBjb250aW51ZTsKPiDCoAo+IC3CoMKgwqDCoMKgwqDCoCAvKgo+IC3CoMKgwqDCoMKgwqDC
oMKgICogSWYgdGhlIG9uZSBpbiB0aGUgcnVucXVldWUgaGFzIG1vcmUgY3JlZGl0IHRoYW4gY3Vy
cmVudAo+IChvciBpZGxlLAo+IC3CoMKgwqDCoMKgwqDCoMKgICogaWYgY3VycmVudCBpcyBub3Qg
cnVubmFibGUpLCBvciBpZiBjdXJyZW50IGlzIHlpZWxkaW5nLAo+IGFuZCBhbHNvCj4gLcKgwqDC
oMKgwqDCoMKgwqAgKiBpZiB0aGUgb25lIGluIHJ1bnF1ZXVlIGVpdGhlciBpcyBub3QgY2FwcGVk
LCBvciBpcyBjYXBwZWQKPiBidXQgaGFzCj4gLcKgwqDCoMKgwqDCoMKgwqAgKiBzb21lIGJ1ZGdl
dCwgdGhlbiBjaG9vc2UgaXQuCj4gLcKgwqDCoMKgwqDCoMKgwqAgKi8KPiAtwqDCoMKgwqDCoMKg
wqAgaWYgKCAoeWllbGQgfHwgc3ZjLT5jcmVkaXQgPiBzbmV4dC0+Y3JlZGl0KSAmJgo+IC3CoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgKCFoYXNfY2FwKHN2YykgfHwgdW5pdF9ncmFiX2J1ZGdldChz
dmMpKSApCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc25leHQgPSBzdmM7Cj4gK8KgwqDCoMKg
wqDCoMKgwqDCoMKgwqAgLyoKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICogSWYgYW4gdW5p
dCBpcyBtZWFudCB0byBiZSBwaWNrZWQgdXAgYnkgYW5vdGhlcgo+IHByb2Nlc3NvciwgYW5kIHN1
Y2gKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICogcHJvY2Vzc29yIGhhcyBub3Qgc2NoZWR1
bGVkIHlldCwgbGVhdmUgaXQgaW4gdGhlCj4gcnVucXVldWUgZm9yIGhpbS4KPiArwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgICovCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgKCBzdmMtPnRp
Y2tsZWRfY3B1ICE9IC0xICYmIHN2Yy0+dGlja2xlZF9jcHUgIT0gY3B1Cj4gJiYKPiArwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY3B1bWFza190ZXN0X2NwdShzdmMtPnRpY2tsZWRf
Y3B1LCAmcnFkLT50aWNrbGVkKSApCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgewo+ICvCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgU0NIRURfU1RBVF9DUkFOSyhkZWZlcnJlZF90b190
aWNrbGVkX2NwdSk7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb250aW51ZTsK
PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Cj4gwqAKPiAtwqDCoMKgwqDCoMKgwqAgLyogSW4g
YW55IGNhc2UsIGlmIHdlIGdvdCB0aGlzIGZhciwgYnJlYWsuICovCj4gLcKgwqDCoMKgwqDCoMKg
IGJyZWFrOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC8qCj4gK8KgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCAqIElmIHRoaXMgaXMgb24gYSBkaWZmZXJlbnQgcHJvY2Vzc29yLCBkb24ndCBwdWxs
IGl0Cj4gdW5sZXNzCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAqIGl0cyBjcmVkaXQgaXMg
YXQgbGVhc3QgQ1NDSEVEMl9NSUdSQVRFX1JFU0lTVCBoaWdoZXIuCj4gK8KgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoCAqLwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmICggc2NoZWRfdW5pdF9t
YXN0ZXIoc3ZjLT51bml0KSAhPSBjcHUKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqAgJiYgc25leHQtPmNyZWRpdCArIENTQ0hFRDJfTUlHUkFURV9SRVNJU1QgPiBzdmMtCj4gPmNy
ZWRpdCApCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgewo+ICvCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgU0NIRURfU1RBVF9DUkFOSyhtaWdyYXRlX3Jlc2lzdGVkKTsKPiArwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbnRpbnVlOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgIH0KPiArCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLyoKPiArwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgICogSWYgd2UgYXJlIGhlcmUsIHdlIGFyZSBhbG1vc3Qgc3VyZSB3ZSB3YW50IHRv
IHBpY2sKPiB0aGUgdW5pdCBpbgo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKiB0aGUgcnVu
cXVldWUuIExhc3QgdGhpbmcgd2UgbmVlZCB0byBjaGVjayBpcyB0aGF0IGl0Cj4gZWl0aGVyIGlz
Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAqIGlzIG5vdCBjYXBwZWQsIG9yIGlmIGl0IGlz
LCBpdCBoYXMgc29tZSBidWRnZXQuCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAqCj4gK8Kg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAqIE5vdGUgdGhhdCBjYXAgJiBidWRnZXQgc2hvdWxkIHJl
YWxseSBiZSB0aGUgbGFzdAo+IHRoaW5nIHdlIGRvCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oCAqIGNoZWNrLiBJbiBmYWN0LCB1bml0X2dyYWJfYnVkZ2V0KCkgd2lsbCByZXNlcnZlIHNvbWUK
PiBidWRnZXQgZm9yCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAqIHRoaXMgdW5pdCwgZnJv
bSB0aGUgcGVyLWRvbWFpbiBidWRnZXQgcG9vbCwgYW5kIHdlCj4gd2FudCB0byBkbwo+ICvCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgKiB0aGF0IG9ubHkgaWYgd2UgYXJlIHN1cmUgdGhhdCB3ZSds
bCB0aGVuIHJ1biB0aGUKPiB1bml0LCBjb25zdW1lCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oCAqIHNvbWUgb2YgaXQsIGFuZCByZXR1cm4gdGhlIGxlZnRvdmVyIChpZiBhbnkpIGluIHRoZQo+
IHVzdWFsIHdheS4KPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICovCj4gK8KgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgaWYgKCBoYXNfY2FwKHN2YykgJiYgIXVuaXRfZ3JhYl9idWRnZXQoc3ZjKSAp
Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb250aW51ZTsKPiArCj4gK8KgwqDC
oMKgwqDCoMKgwqDCoMKgwqAgLyogSWYgd2UgZ290IHRoaXMgZmFyLCB3ZSBhcmUgZG9uZS4gKi8K
PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzbmV4dCA9IHN2YzsKPiArwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCBicmVhazsKPiArwqDCoMKgwqDCoMKgwqAgfQo+IMKgwqDCoMKgIH0KPiDCoAo+IMKg
wqDCoMKgIGlmICggdW5saWtlbHkodGJfaW5pdF9kb25lKSApCj4gCj4gCj4gCgotLSAKRGFyaW8g
RmFnZ2lvbGksIFBoLkQKaHR0cDovL2Fib3V0Lm1lL2RhcmlvLmZhZ2dpb2xpClZpcnR1YWxpemF0
aW9uIFNvZnR3YXJlIEVuZ2luZWVyClNVU0UgTGFicywgU1VTRSBodHRwczovL3d3dy5zdXNlLmNv
bS8KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQo8PFRoaXMgaGFwcGVucyBiZWNhdXNlIF9JXyBjaG9vc2UgaXQgdG8gaGFw
cGVuIT4+IChSYWlzdGxpbiBNYWplcmUpCg==


--=-IyxkMSWhlQKFq3GCs1oN
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

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

iQIzBAABCAAdFiEES5ssOj3Vhr0WPnOLFkJ4iaW4c+4FAmEJgAYACgkQFkJ4iaW4
c+6ZqA/+MGvy6sXwYlpvqpQfIIbITfLFHfA6ZF62eCwjc0wxhqpQ1NBiiv5DYer/
4nLBy1rPkB7ozt9y9MVlTGzemLyHtoIAKTh7UQ1F/BznmFtY41Tx/HPQYrLU9RRz
sOSQyJbTb7uxkKsZ47v/pqO0fqvxRuBfVks776jpNKRJ88rLc3gO+DRy9EC9UU8x
WsYykQz/7qK3qQAc+HrLXUdtXY6pb/6csbiavt8iJGUyq2jHc/vmHfBAMnJTdB6U
VKVHbjOExqudNqXiFUpDnI2GEFiMwG56T4Vmo0UPPBXQ3IUOQxwWCsASxXmoDma2
E0C6CMIUq5SBmmmbnlJ48/C7NdMEvPPcZpJEPzK2M5l1WtYLXAIhLJuyNJ9E1oGH
HIlOODaIrbJSGKf0mkgslwY0iHB3dccBflR2du1wAFXfbbgorru8BZHf6uf0iwr2
Kh2PbtVYfYSlJZQsPPxn7OKNUTS76nukotHZKM4Swtm5MNhw/ohIv4t7kwQR8QtV
1plCJ1gDY6QSVr2VnPpixEZt7cPEqjmhpBb/nYnjUOfOQhbosA6hU5TK6vJTmpRC
zUjxCHgkR8nA+6+z+0e4fLW+iLgE7MW19aTa1z8T7Hn5sbK00+sS8D7TShJVSYkB
c5Gs+dr6hjuHjedFO2UbBYzqDdFWnGD3f7AisM5rKvwC7BgShLw=
=k8gg
-----END PGP SIGNATURE-----

--=-IyxkMSWhlQKFq3GCs1oN--



From xen-devel-bounces@lists.xenproject.org Tue Aug 03 17:44:41 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 17:44:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163586.299626 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAyT2-0007tA-Fc; Tue, 03 Aug 2021 17:44:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163586.299626; Tue, 03 Aug 2021 17: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 1mAyT2-0007t3-CZ; Tue, 03 Aug 2021 17:44:40 +0000
Received: by outflank-mailman (input) for mailman id 163586;
 Tue, 03 Aug 2021 17:44:39 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IGB/=M2=suse.com=dfaggioli@srs-us1.protection.inumbo.net>)
 id 1mAyT1-0007sx-PG
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 17:44:39 +0000
Received: from smtp-out2.suse.de (unknown [195.135.220.29])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 78431ffc-f482-11eb-9af8-12813bfff9fa;
 Tue, 03 Aug 2021 17:44: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 smtp-out2.suse.de (Postfix) with ESMTPS id 5BE7E200EB;
 Tue,  3 Aug 2021 17:44: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 17C7D13B0A;
 Tue,  3 Aug 2021 17:44:36 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id Mna7AoSACWH2OAAAMHmgww
 (envelope-from <dfaggioli@suse.com>); Tue, 03 Aug 2021 17: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: 78431ffc-f482-11eb-9af8-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1628012676; 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=Qhp8L67MfNmb5NJyfPi3G0nd0U6DpahMgLXucPoDKK4=;
	b=MoOIQ6OZtZjyCjNmUH6IjqzIfTrk4rOXVmgRvS7ZhD/JIRcQTq6WBptjwkpUyP9OhfZ3hS
	MbwkSFzQyAZOhYzPpz88xtjWQaD8AHYOH3vfSwYhVmH6fONUrvoQXXZEM02mlFUJ72qdxH
	sBpzhp35+/54CZkseQj9ju4+xhUNXhM=
Message-ID: <b8672a313b08e0f12562f510ea4696e4a6ac0f3f.camel@suse.com>
Subject: Re: [PATCH] Xen: credit2: avoid picking a spurious idle unit when
 caps are used
From: Dario Faggioli <dfaggioli@suse.com>
To: xen-devel@lists.xenproject.org
Cc: George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>
Date: Tue, 03 Aug 2021 19:44:35 +0200
In-Reply-To: <162801221667.955.3439735419862661383.stgit@Wayrath>
References: <162801221667.955.3439735419862661383.stgit@Wayrath>
Content-Type: multipart/signed; micalg="pgp-sha256";
	protocol="application/pgp-signature"; boundary="=-6Ue6s+nGnWjRarJoBOEN"
User-Agent: Evolution 3.40.3 (by Flathub.org) 
MIME-Version: 1.0


--=-6Ue6s+nGnWjRarJoBOEN
Content-Type: multipart/mixed; boundary="=-ExB8LiqeUSl/i4rgEG4D"


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

On Tue, 2021-08-03 at 19:36 +0200, Dario Faggioli wrote:
> It should, therefore, be backported and applied to all the branches
> to
> which that commit has been. About backports, it should be
> straigthforward to do that until 4.13.
>=20
> For 4.12 and earlier, it's trickier, but the fix is still necessary.
> Actually, both 07b0eb5d0ef0 and this patch should be backported to
> that
> branch!
>=20
> I will provide the backports myself in a email that I'll send as a
> reply to this one.
>=20
And here they are, attached, the various backports, as they are
described in the paragraph above.

Hope this helps.

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

--=-ExB8LiqeUSl/i4rgEG4D
Content-Disposition: attachment; filename="xen-credit2-avoid-picking-idle_4.15.patch"
Content-Transfer-Encoding: base64
Content-Type: text/x-patch; name="xen-credit2-avoid-picking-idle_4.15.patch";
	charset="UTF-8"

Y29tbWl0IDY0YTM5YjgyYzE5YzcwNjk4NWRhOTFlNDFiYTA5ZDk4NGI1NjFlOGEKQXV0aG9yOiBE
YXJpbyBGYWdnaW9saSA8ZGZhZ2dpb2xpQHN1c2UuY29tPgpEYXRlOiAgIE1vbiBKdW4gMjEgMTg6
MjU6MzQgMjAyMSArMDIwMAoKICAgIFhlbjogY3JlZGl0MjogYXZvaWQgcGlja2luZyBhIHNwdXJp
b3VzIGlkbGUgdW5pdCB3aGVuIGNhcHMgYXJlIHVzZWQKICAgIAogICAgQ29tbWl0IDA3YjBlYjVk
MGVmMCAoImNyZWRpdDI6IG1ha2Ugc3VyZSB3ZSBwaWNrIGEgcnVubmFibGUgdW5pdCBmcm9tIHRo
ZQogICAgcnVucSBpZiB0aGVyZSBpcyBvbmUiKSBkaWQgbm90IGZpeCBjb21wbGV0ZWx5IHRoZSBw
cm9ibGVtIG9mIHBvdGVudGlhbGx5CiAgICBzZWxlY3RpbmcgYSBzY2hlZHVsaW5nIHVuaXQgdGhh
dCB3aWxsIHRoZW4gbm90IGJlIGFibGUgdG8gcnVuLgogICAgCiAgICBJbiBmYWN0LCBpbiBjYXNl
IGNhcHMgYXJlIHVzZWQgYW5kIHRoZSB1bml0IHdlIGFyZSBjdXJyZW50bHkgbG9va2luZwogICAg
YXQsIGR1cmluZyB0aGUgcnVucXVldWUgc2NhbiwgZG9lcyBub3QgaGF2ZSBidWRnZXQgdG8gYmUg
ZXhlY3V0ZWQsIHdlCiAgICBzaG91bGQgY29udGludWUgbG9va2luZyBpbnN0ZWFkIHRoYW4gZ2l2
aW5nIHVwIGFuZCBwaWNraW5nIHRoZSBpZGxlCiAgICB1bml0LgogICAgCiAgICBTaWduZWQtb2Zm
LWJ5OiBEYXJpbyBGYWdnaW9saSA8ZGZhZ2dpb2xpQHN1c2UuY29tPgogICAgU3VnZ2VzdGVkLWJ5
OiBHZW9yZ2UgRHVubGFwIDxnZW9yZ2UuZHVubGFwQGNpdHJpeC5jb20+CgpkaWZmIC0tZ2l0IGEv
eGVuL2NvbW1vbi9zY2hlZC9jcmVkaXQyLmMgYi94ZW4vY29tbW9uL3NjaGVkL2NyZWRpdDIuYwpp
bmRleCBlYmIwOWVhNDNhLi5mOWI5NWRiMzEzIDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL3NjaGVk
L2NyZWRpdDIuYworKysgYi94ZW4vY29tbW9uL3NjaGVkL2NyZWRpdDIuYwpAQCAtMzQ2Myw0OCAr
MzQ2Myw2MSBAQCBydW5xX2NhbmRpZGF0ZShzdHJ1Y3QgY3NjaGVkMl9ydW5xdWV1ZV9kYXRhICpy
cWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAodW5zaWduZWQgY2hhciAqKSZkKTsKICAgICAg
ICAgfQogCi0gICAgICAgIC8qIFNraXAgbm9uIHJ1bm5hYmxlIHVuaXRzIHRoYXQgd2UgKHRlbXBv
cmFyaWx5KSBoYXZlIGluIHRoZSBydW5xICovCi0gICAgICAgIGlmICggdW5saWtlbHkoIXVuaXRf
cnVubmFibGVfc3RhdGUoc3ZjLT51bml0KSkgKQotICAgICAgICAgICAgY29udGludWU7Ci0KLSAg
ICAgICAgLyogT25seSBjb25zaWRlciB2Y3B1cyB0aGF0IGFyZSBhbGxvd2VkIHRvIHJ1biBvbiB0
aGlzIHByb2Nlc3Nvci4gKi8KLSAgICAgICAgaWYgKCAhY3B1bWFza190ZXN0X2NwdShjcHUsIHN2
Yy0+dW5pdC0+Y3B1X2hhcmRfYWZmaW5pdHkpICkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotCiAg
ICAgICAgIC8qCi0gICAgICAgICAqIElmIGFuIHVuaXQgaXMgbWVhbnQgdG8gYmUgcGlja2VkIHVw
IGJ5IGFub3RoZXIgcHJvY2Vzc29yLCBhbmQgc3VjaAotICAgICAgICAgKiBwcm9jZXNzb3IgaGFz
IG5vdCBzY2hlZHVsZWQgeWV0LCBsZWF2ZSBpdCBpbiB0aGUgcnVucXVldWUgZm9yIGhpbS4KKyAg
ICAgICAgICogSWYgdGhlIHVuaXQgaW4gdGhlIHJ1bnF1ZXVlIGhhcyBtb3JlIGNyZWRpdCB0aGFu
IGN1cnJlbnQgKG9yIHRoYW4KKyAgICAgICAgICogaWRsZSwgaWYgY3VycmVudCBpcyBub3QgcnVu
bmFibGUpIG9yIGlmIGN1cnJlbnQgaXMgeWllbGRpbmcsIHdlIG1heQorICAgICAgICAgKiB3YW50
IHRvIHBpY2sgaXQgdXAuCiAgICAgICAgICAqLwotICAgICAgICBpZiAoIHN2Yy0+dGlja2xlZF9j
cHUgIT0gLTEgJiYgc3ZjLT50aWNrbGVkX2NwdSAhPSBjcHUgJiYKLSAgICAgICAgICAgICBjcHVt
YXNrX3Rlc3RfY3B1KHN2Yy0+dGlja2xlZF9jcHUsICZycWQtPnRpY2tsZWQpICkKKyAgICAgICAg
aWYgKCAoeWllbGQgfHwgc3ZjLT5jcmVkaXQgPiBzbmV4dC0+Y3JlZGl0KSApCiAgICAgICAgIHsK
LSAgICAgICAgICAgIFNDSEVEX1NUQVRfQ1JBTksoZGVmZXJyZWRfdG9fdGlja2xlZF9jcHUpOwot
ICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIH0KKyAgICAgICAgICAgIC8qIFNraXAgbm9u
IHJ1bm5hYmxlIHVuaXRzIHRoYXQgd2UgKHRlbXBvcmFyaWx5KSBoYXZlIGluIHRoZSBydW5xICov
CisgICAgICAgICAgICBpZiAoIHVubGlrZWx5KCF1bml0X3J1bm5hYmxlX3N0YXRlKHN2Yy0+dW5p
dCkpICkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICAvKgotICAgICAgICAg
KiBJZiB0aGlzIGlzIG9uIGEgZGlmZmVyZW50IHByb2Nlc3NvciwgZG9uJ3QgcHVsbCBpdCB1bmxl
c3MKLSAgICAgICAgICogaXRzIGNyZWRpdCBpcyBhdCBsZWFzdCBDU0NIRUQyX01JR1JBVEVfUkVT
SVNUIGhpZ2hlci4KLSAgICAgICAgICovCi0gICAgICAgIGlmICggc2NoZWRfdW5pdF9tYXN0ZXIo
c3ZjLT51bml0KSAhPSBjcHUKLSAgICAgICAgICAgICAmJiBzbmV4dC0+Y3JlZGl0ICsgQ1NDSEVE
Ml9NSUdSQVRFX1JFU0lTVCA+IHN2Yy0+Y3JlZGl0ICkKLSAgICAgICAgewotICAgICAgICAgICAg
U0NIRURfU1RBVF9DUkFOSyhtaWdyYXRlX3Jlc2lzdGVkKTsKLSAgICAgICAgICAgIGNvbnRpbnVl
OwotICAgICAgICB9CisgICAgICAgICAgICAvKiBPbmx5IGNvbnNpZGVyIHZjcHVzIHRoYXQgYXJl
IGFsbG93ZWQgdG8gcnVuIG9uIHRoaXMgcHJvY2Vzc29yLiAqLworICAgICAgICAgICAgaWYgKCAh
Y3B1bWFza190ZXN0X2NwdShjcHUsIHN2Yy0+dW5pdC0+Y3B1X2hhcmRfYWZmaW5pdHkpICkKKyAg
ICAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICAvKgotICAgICAgICAgKiBJZiB0aGUg
b25lIGluIHRoZSBydW5xdWV1ZSBoYXMgbW9yZSBjcmVkaXQgdGhhbiBjdXJyZW50IChvciBpZGxl
LAotICAgICAgICAgKiBpZiBjdXJyZW50IGlzIG5vdCBydW5uYWJsZSksIG9yIGlmIGN1cnJlbnQg
aXMgeWllbGRpbmcsIGFuZCBhbHNvCi0gICAgICAgICAqIGlmIHRoZSBvbmUgaW4gcnVucXVldWUg
ZWl0aGVyIGlzIG5vdCBjYXBwZWQsIG9yIGlzIGNhcHBlZCBidXQgaGFzCi0gICAgICAgICAqIHNv
bWUgYnVkZ2V0LCB0aGVuIGNob29zZSBpdC4KLSAgICAgICAgICovCi0gICAgICAgIGlmICggKHlp
ZWxkIHx8IHN2Yy0+Y3JlZGl0ID4gc25leHQtPmNyZWRpdCkgJiYKLSAgICAgICAgICAgICAoIWhh
c19jYXAoc3ZjKSB8fCB1bml0X2dyYWJfYnVkZ2V0KHN2YykpICkKLSAgICAgICAgICAgIHNuZXh0
ID0gc3ZjOworICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAqIElmIGFuIHVuaXQgaXMgbWVh
bnQgdG8gYmUgcGlja2VkIHVwIGJ5IGFub3RoZXIgcHJvY2Vzc29yLCBhbmQgc3VjaAorICAgICAg
ICAgICAgICogcHJvY2Vzc29yIGhhcyBub3Qgc2NoZWR1bGVkIHlldCwgbGVhdmUgaXQgaW4gdGhl
IHJ1bnF1ZXVlIGZvciBoaW0uCisgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIGlmICggc3Zj
LT50aWNrbGVkX2NwdSAhPSAtMSAmJiBzdmMtPnRpY2tsZWRfY3B1ICE9IGNwdSAmJgorICAgICAg
ICAgICAgICAgICBjcHVtYXNrX3Rlc3RfY3B1KHN2Yy0+dGlja2xlZF9jcHUsICZycWQtPnRpY2ts
ZWQpICkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBTQ0hFRF9TVEFUX0NSQU5LKGRl
ZmVycmVkX3RvX3RpY2tsZWRfY3B1KTsKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAg
ICAgICAgIH0KIAotICAgICAgICAvKiBJbiBhbnkgY2FzZSwgaWYgd2UgZ290IHRoaXMgZmFyLCBi
cmVhay4gKi8KLSAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICog
SWYgdGhpcyBpcyBvbiBhIGRpZmZlcmVudCBwcm9jZXNzb3IsIGRvbid0IHB1bGwgaXQgdW5sZXNz
CisgICAgICAgICAgICAgKiBpdHMgY3JlZGl0IGlzIGF0IGxlYXN0IENTQ0hFRDJfTUlHUkFURV9S
RVNJU1QgaGlnaGVyLgorICAgICAgICAgICAgICovCisgICAgICAgICAgICBpZiAoIHNjaGVkX3Vu
aXRfbWFzdGVyKHN2Yy0+dW5pdCkgIT0gY3B1CisgICAgICAgICAgICAgICAgICYmIHNuZXh0LT5j
cmVkaXQgKyBDU0NIRUQyX01JR1JBVEVfUkVTSVNUID4gc3ZjLT5jcmVkaXQgKQorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgIFNDSEVEX1NUQVRfQ1JBTksobWlncmF0ZV9yZXNpc3RlZCk7
CisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IC8qCisgICAgICAgICAgICAgKiBJZiB3ZSBhcmUgaGVyZSwgd2UgYXJlIGFsbW9zdCBzdXJlIHdl
IHdhbnQgdG8gcGljayB0aGUgdW5pdCBpbgorICAgICAgICAgICAgICogdGhlIHJ1bnF1ZXVlLiBM
YXN0IHRoaW5nIHdlIG5lZWQgdG8gY2hlY2sgaXMgdGhhdCBpdCBlaXRoZXIgaXMKKyAgICAgICAg
ICAgICAqIGlzIG5vdCBjYXBwZWQsIG9yIGlmIGl0IGlzLCBpdCBoYXMgc29tZSBidWRnZXQuCisg
ICAgICAgICAgICAgKgorICAgICAgICAgICAgICogTm90ZSB0aGF0IGNhcCAmIGJ1ZGdldCBzaG91
bGQgcmVhbGx5IGJlIHRoZSBsYXN0IHRoaW5nIHdlIGRvCisgICAgICAgICAgICAgKiBjaGVjay4g
SW4gZmFjdCwgdW5pdF9ncmFiX2J1ZGdldCgpIHdpbGwgcmVzZXJ2ZSBzb21lIGJ1ZGdldCBmb3IK
KyAgICAgICAgICAgICAqIHRoaXMgdW5pdCwgZnJvbSB0aGUgcGVyLWRvbWFpbiBidWRnZXQgcG9v
bCwgYW5kIHdlIHdhbnQgdG8gZG8KKyAgICAgICAgICAgICAqIHRoYXQgb25seSBpZiB3ZSBhcmUg
c3VyZSB0aGF0IHdlJ2xsIHRoZW4gcnVuIHRoZSB1bml0LCBjb25zdW1lCisgICAgICAgICAgICAg
KiBzb21lIG9mIGl0LCBhbmQgcmV0dXJuIHRoZSBsZWZ0b3ZlciAoaWYgYW55KSBpbiB0aGUgdXN1
YWwgd2F5LgorICAgICAgICAgICAgICovCisgICAgICAgICAgICBpZiAoIGhhc19jYXAoc3ZjKSAm
JiAhdW5pdF9ncmFiX2J1ZGdldChzdmMpICkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKwor
ICAgICAgICAgICAgLyogSWYgd2UgZ290IHRoaXMgZmFyLCB3ZSBhcmUgZG9uZS4gKi8KKyAgICAg
ICAgICAgIHNuZXh0ID0gc3ZjOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KICAgICB9
CiAKICAgICBpZiAoIHVubGlrZWx5KHRiX2luaXRfZG9uZSkgKQo=


--=-ExB8LiqeUSl/i4rgEG4D
Content-Disposition: attachment; filename="xen-credit2-avoid-picking-idle_4.14.patch"
Content-Transfer-Encoding: base64
Content-Type: text/x-patch; name="xen-credit2-avoid-picking-idle_4.14.patch";
	charset="UTF-8"

Y29tbWl0IDE3OTBhOTk3NDc2YWUwYmFmY2I0YzgzMTQ1YjJjMTM5NWQ1N2JmYjUKQXV0aG9yOiBE
YXJpbyBGYWdnaW9saSA8ZGZhZ2dpb2xpQHN1c2UuY29tPgpEYXRlOiAgIE1vbiBKdW4gMjEgMTg6
MjU6MzQgMjAyMSArMDIwMAoKICAgIFhlbjogY3JlZGl0MjogYXZvaWQgcGlja2luZyBhIHNwdXJp
b3VzIGlkbGUgdW5pdCB3aGVuIGNhcHMgYXJlIHVzZWQKICAgIAogICAgQ29tbWl0IDA3YjBlYjVk
MGVmMCAoImNyZWRpdDI6IG1ha2Ugc3VyZSB3ZSBwaWNrIGEgcnVubmFibGUgdW5pdCBmcm9tIHRo
ZQogICAgcnVucSBpZiB0aGVyZSBpcyBvbmUiKSBkaWQgbm90IGZpeCBjb21wbGV0ZWx5IHRoZSBw
cm9ibGVtIG9mIHBvdGVudGlhbGx5CiAgICBzZWxlY3RpbmcgYSBzY2hlZHVsaW5nIHVuaXQgdGhh
dCB3aWxsIHRoZW4gbm90IGJlIGFibGUgdG8gcnVuLgogICAgCiAgICBJbiBmYWN0LCBpbiBjYXNl
IGNhcHMgYXJlIHVzZWQgYW5kIHRoZSB1bml0IHdlIGFyZSBjdXJyZW50bHkgbG9va2luZwogICAg
YXQsIGR1cmluZyB0aGUgcnVucXVldWUgc2NhbiwgZG9lcyBub3QgaGF2ZSBidWRnZXQgdG8gYmUg
ZXhlY3V0ZWQsIHdlCiAgICBzaG91bGQgY29udGludWUgbG9va2luZyBpbnN0ZWFkIHRoYW4gZ2l2
aW5nIHVwIGFuZCBwaWNraW5nIHRoZSBpZGxlCiAgICB1bml0LgogICAgCiAgICBTaWduZWQtb2Zm
LWJ5OiBEYXJpbyBGYWdnaW9saSA8ZGZhZ2dpb2xpQHN1c2UuY29tPgogICAgU3VnZ2VzdGVkLWJ5
OiBHZW9yZ2UgRHVubGFwIDxnZW9yZ2UuZHVubGFwQGNpdHJpeC5jb20+CgpkaWZmIC0tZ2l0IGEv
eGVuL2NvbW1vbi9zY2hlZC9jcmVkaXQyLmMgYi94ZW4vY29tbW9uL3NjaGVkL2NyZWRpdDIuYwpp
bmRleCBlYmIwOWVhNDNhLi5mOWI5NWRiMzEzIDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL3NjaGVk
L2NyZWRpdDIuYworKysgYi94ZW4vY29tbW9uL3NjaGVkL2NyZWRpdDIuYwpAQCAtMzQ2Myw0OCAr
MzQ2Myw2MSBAQCBydW5xX2NhbmRpZGF0ZShzdHJ1Y3QgY3NjaGVkMl9ydW5xdWV1ZV9kYXRhICpy
cWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAodW5zaWduZWQgY2hhciAqKSZkKTsKICAgICAg
ICAgfQogCi0gICAgICAgIC8qIFNraXAgbm9uIHJ1bm5hYmxlIHVuaXRzIHRoYXQgd2UgKHRlbXBv
cmFyaWx5KSBoYXZlIGluIHRoZSBydW5xICovCi0gICAgICAgIGlmICggdW5saWtlbHkoIXVuaXRf
cnVubmFibGVfc3RhdGUoc3ZjLT51bml0KSkgKQotICAgICAgICAgICAgY29udGludWU7Ci0KLSAg
ICAgICAgLyogT25seSBjb25zaWRlciB2Y3B1cyB0aGF0IGFyZSBhbGxvd2VkIHRvIHJ1biBvbiB0
aGlzIHByb2Nlc3Nvci4gKi8KLSAgICAgICAgaWYgKCAhY3B1bWFza190ZXN0X2NwdShjcHUsIHN2
Yy0+dW5pdC0+Y3B1X2hhcmRfYWZmaW5pdHkpICkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotCiAg
ICAgICAgIC8qCi0gICAgICAgICAqIElmIGFuIHVuaXQgaXMgbWVhbnQgdG8gYmUgcGlja2VkIHVw
IGJ5IGFub3RoZXIgcHJvY2Vzc29yLCBhbmQgc3VjaAotICAgICAgICAgKiBwcm9jZXNzb3IgaGFz
IG5vdCBzY2hlZHVsZWQgeWV0LCBsZWF2ZSBpdCBpbiB0aGUgcnVucXVldWUgZm9yIGhpbS4KKyAg
ICAgICAgICogSWYgdGhlIHVuaXQgaW4gdGhlIHJ1bnF1ZXVlIGhhcyBtb3JlIGNyZWRpdCB0aGFu
IGN1cnJlbnQgKG9yIHRoYW4KKyAgICAgICAgICogaWRsZSwgaWYgY3VycmVudCBpcyBub3QgcnVu
bmFibGUpIG9yIGlmIGN1cnJlbnQgaXMgeWllbGRpbmcsIHdlIG1heQorICAgICAgICAgKiB3YW50
IHRvIHBpY2sgaXQgdXAuCiAgICAgICAgICAqLwotICAgICAgICBpZiAoIHN2Yy0+dGlja2xlZF9j
cHUgIT0gLTEgJiYgc3ZjLT50aWNrbGVkX2NwdSAhPSBjcHUgJiYKLSAgICAgICAgICAgICBjcHVt
YXNrX3Rlc3RfY3B1KHN2Yy0+dGlja2xlZF9jcHUsICZycWQtPnRpY2tsZWQpICkKKyAgICAgICAg
aWYgKCAoeWllbGQgfHwgc3ZjLT5jcmVkaXQgPiBzbmV4dC0+Y3JlZGl0KSApCiAgICAgICAgIHsK
LSAgICAgICAgICAgIFNDSEVEX1NUQVRfQ1JBTksoZGVmZXJyZWRfdG9fdGlja2xlZF9jcHUpOwot
ICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIH0KKyAgICAgICAgICAgIC8qIFNraXAgbm9u
IHJ1bm5hYmxlIHVuaXRzIHRoYXQgd2UgKHRlbXBvcmFyaWx5KSBoYXZlIGluIHRoZSBydW5xICov
CisgICAgICAgICAgICBpZiAoIHVubGlrZWx5KCF1bml0X3J1bm5hYmxlX3N0YXRlKHN2Yy0+dW5p
dCkpICkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICAvKgotICAgICAgICAg
KiBJZiB0aGlzIGlzIG9uIGEgZGlmZmVyZW50IHByb2Nlc3NvciwgZG9uJ3QgcHVsbCBpdCB1bmxl
c3MKLSAgICAgICAgICogaXRzIGNyZWRpdCBpcyBhdCBsZWFzdCBDU0NIRUQyX01JR1JBVEVfUkVT
SVNUIGhpZ2hlci4KLSAgICAgICAgICovCi0gICAgICAgIGlmICggc2NoZWRfdW5pdF9tYXN0ZXIo
c3ZjLT51bml0KSAhPSBjcHUKLSAgICAgICAgICAgICAmJiBzbmV4dC0+Y3JlZGl0ICsgQ1NDSEVE
Ml9NSUdSQVRFX1JFU0lTVCA+IHN2Yy0+Y3JlZGl0ICkKLSAgICAgICAgewotICAgICAgICAgICAg
U0NIRURfU1RBVF9DUkFOSyhtaWdyYXRlX3Jlc2lzdGVkKTsKLSAgICAgICAgICAgIGNvbnRpbnVl
OwotICAgICAgICB9CisgICAgICAgICAgICAvKiBPbmx5IGNvbnNpZGVyIHZjcHVzIHRoYXQgYXJl
IGFsbG93ZWQgdG8gcnVuIG9uIHRoaXMgcHJvY2Vzc29yLiAqLworICAgICAgICAgICAgaWYgKCAh
Y3B1bWFza190ZXN0X2NwdShjcHUsIHN2Yy0+dW5pdC0+Y3B1X2hhcmRfYWZmaW5pdHkpICkKKyAg
ICAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICAvKgotICAgICAgICAgKiBJZiB0aGUg
b25lIGluIHRoZSBydW5xdWV1ZSBoYXMgbW9yZSBjcmVkaXQgdGhhbiBjdXJyZW50IChvciBpZGxl
LAotICAgICAgICAgKiBpZiBjdXJyZW50IGlzIG5vdCBydW5uYWJsZSksIG9yIGlmIGN1cnJlbnQg
aXMgeWllbGRpbmcsIGFuZCBhbHNvCi0gICAgICAgICAqIGlmIHRoZSBvbmUgaW4gcnVucXVldWUg
ZWl0aGVyIGlzIG5vdCBjYXBwZWQsIG9yIGlzIGNhcHBlZCBidXQgaGFzCi0gICAgICAgICAqIHNv
bWUgYnVkZ2V0LCB0aGVuIGNob29zZSBpdC4KLSAgICAgICAgICovCi0gICAgICAgIGlmICggKHlp
ZWxkIHx8IHN2Yy0+Y3JlZGl0ID4gc25leHQtPmNyZWRpdCkgJiYKLSAgICAgICAgICAgICAoIWhh
c19jYXAoc3ZjKSB8fCB1bml0X2dyYWJfYnVkZ2V0KHN2YykpICkKLSAgICAgICAgICAgIHNuZXh0
ID0gc3ZjOworICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAqIElmIGFuIHVuaXQgaXMgbWVh
bnQgdG8gYmUgcGlja2VkIHVwIGJ5IGFub3RoZXIgcHJvY2Vzc29yLCBhbmQgc3VjaAorICAgICAg
ICAgICAgICogcHJvY2Vzc29yIGhhcyBub3Qgc2NoZWR1bGVkIHlldCwgbGVhdmUgaXQgaW4gdGhl
IHJ1bnF1ZXVlIGZvciBoaW0uCisgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIGlmICggc3Zj
LT50aWNrbGVkX2NwdSAhPSAtMSAmJiBzdmMtPnRpY2tsZWRfY3B1ICE9IGNwdSAmJgorICAgICAg
ICAgICAgICAgICBjcHVtYXNrX3Rlc3RfY3B1KHN2Yy0+dGlja2xlZF9jcHUsICZycWQtPnRpY2ts
ZWQpICkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBTQ0hFRF9TVEFUX0NSQU5LKGRl
ZmVycmVkX3RvX3RpY2tsZWRfY3B1KTsKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAg
ICAgICAgIH0KIAotICAgICAgICAvKiBJbiBhbnkgY2FzZSwgaWYgd2UgZ290IHRoaXMgZmFyLCBi
cmVhay4gKi8KLSAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICog
SWYgdGhpcyBpcyBvbiBhIGRpZmZlcmVudCBwcm9jZXNzb3IsIGRvbid0IHB1bGwgaXQgdW5sZXNz
CisgICAgICAgICAgICAgKiBpdHMgY3JlZGl0IGlzIGF0IGxlYXN0IENTQ0hFRDJfTUlHUkFURV9S
RVNJU1QgaGlnaGVyLgorICAgICAgICAgICAgICovCisgICAgICAgICAgICBpZiAoIHNjaGVkX3Vu
aXRfbWFzdGVyKHN2Yy0+dW5pdCkgIT0gY3B1CisgICAgICAgICAgICAgICAgICYmIHNuZXh0LT5j
cmVkaXQgKyBDU0NIRUQyX01JR1JBVEVfUkVTSVNUID4gc3ZjLT5jcmVkaXQgKQorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgIFNDSEVEX1NUQVRfQ1JBTksobWlncmF0ZV9yZXNpc3RlZCk7
CisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IC8qCisgICAgICAgICAgICAgKiBJZiB3ZSBhcmUgaGVyZSwgd2UgYXJlIGFsbW9zdCBzdXJlIHdl
IHdhbnQgdG8gcGljayB0aGUgdW5pdCBpbgorICAgICAgICAgICAgICogdGhlIHJ1bnF1ZXVlLiBM
YXN0IHRoaW5nIHdlIG5lZWQgdG8gY2hlY2sgaXMgdGhhdCBpdCBlaXRoZXIgaXMKKyAgICAgICAg
ICAgICAqIGlzIG5vdCBjYXBwZWQsIG9yIGlmIGl0IGlzLCBpdCBoYXMgc29tZSBidWRnZXQuCisg
ICAgICAgICAgICAgKgorICAgICAgICAgICAgICogTm90ZSB0aGF0IGNhcCAmIGJ1ZGdldCBzaG91
bGQgcmVhbGx5IGJlIHRoZSBsYXN0IHRoaW5nIHdlIGRvCisgICAgICAgICAgICAgKiBjaGVjay4g
SW4gZmFjdCwgdW5pdF9ncmFiX2J1ZGdldCgpIHdpbGwgcmVzZXJ2ZSBzb21lIGJ1ZGdldCBmb3IK
KyAgICAgICAgICAgICAqIHRoaXMgdW5pdCwgZnJvbSB0aGUgcGVyLWRvbWFpbiBidWRnZXQgcG9v
bCwgYW5kIHdlIHdhbnQgdG8gZG8KKyAgICAgICAgICAgICAqIHRoYXQgb25seSBpZiB3ZSBhcmUg
c3VyZSB0aGF0IHdlJ2xsIHRoZW4gcnVuIHRoZSB1bml0LCBjb25zdW1lCisgICAgICAgICAgICAg
KiBzb21lIG9mIGl0LCBhbmQgcmV0dXJuIHRoZSBsZWZ0b3ZlciAoaWYgYW55KSBpbiB0aGUgdXN1
YWwgd2F5LgorICAgICAgICAgICAgICovCisgICAgICAgICAgICBpZiAoIGhhc19jYXAoc3ZjKSAm
JiAhdW5pdF9ncmFiX2J1ZGdldChzdmMpICkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKwor
ICAgICAgICAgICAgLyogSWYgd2UgZ290IHRoaXMgZmFyLCB3ZSBhcmUgZG9uZS4gKi8KKyAgICAg
ICAgICAgIHNuZXh0ID0gc3ZjOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KICAgICB9
CiAKICAgICBpZiAoIHVubGlrZWx5KHRiX2luaXRfZG9uZSkgKQo=


--=-ExB8LiqeUSl/i4rgEG4D
Content-Disposition: attachment; filename="xen-credit2-avoid-picking-idle_4.13.patch"
Content-Transfer-Encoding: base64
Content-Type: text/x-patch; name="xen-credit2-avoid-picking-idle_4.13.patch";
	charset="UTF-8"

Y29tbWl0IDc5ZWJmNTRlMDhmNjg4MTllYzQwMDM2NGRhNzM0YTUzZjJhMTA0MTcKQXV0aG9yOiBE
YXJpbyBGYWdnaW9saSA8ZGZhZ2dpb2xpQHN1c2UuY29tPgpEYXRlOiAgIE1vbiBKdW4gMjEgMTg6
MjU6MzQgMjAyMSArMDIwMAoKICAgIFhlbjogY3JlZGl0MjogYXZvaWQgcGlja2luZyBhIHNwdXJp
b3VzIGlkbGUgdW5pdCB3aGVuIGNhcHMgYXJlIHVzZWQKICAgIAogICAgQ29tbWl0IDA3YjBlYjVk
MGVmMCAoImNyZWRpdDI6IG1ha2Ugc3VyZSB3ZSBwaWNrIGEgcnVubmFibGUgdW5pdCBmcm9tIHRo
ZQogICAgcnVucSBpZiB0aGVyZSBpcyBvbmUiKSBkaWQgbm90IGZpeCBjb21wbGV0ZWx5IHRoZSBw
cm9ibGVtIG9mIHBvdGVudGlhbGx5CiAgICBzZWxlY3RpbmcgYSBzY2hlZHVsaW5nIHVuaXQgdGhh
dCB3aWxsIHRoZW4gbm90IGJlIGFibGUgdG8gcnVuLgogICAgCiAgICBJbiBmYWN0LCBpbiBjYXNl
IGNhcHMgYXJlIHVzZWQgYW5kIHRoZSB1bml0IHdlIGFyZSBjdXJyZW50bHkgbG9va2luZwogICAg
YXQsIGR1cmluZyB0aGUgcnVucXVldWUgc2NhbiwgZG9lcyBub3QgaGF2ZSBidWRnZXQgdG8gYmUg
ZXhlY3V0ZWQsIHdlCiAgICBzaG91bGQgY29udGludWUgbG9va2luZyBpbnN0ZWFkIHRoYW4gZ2l2
aW5nIHVwIGFuZCBwaWNraW5nIHRoZSBpZGxlCiAgICB1bml0LgogICAgCiAgICBTaWduZWQtb2Zm
LWJ5OiBEYXJpbyBGYWdnaW9saSA8ZGZhZ2dpb2xpQHN1c2UuY29tPgogICAgU3VnZ2VzdGVkLWJ5
OiBHZW9yZ2UgRHVubGFwIDxnZW9yZ2UuZHVubGFwQGNpdHJpeC5jb20+CgpkaWZmIC0tZ2l0IGEv
eGVuL2NvbW1vbi9zY2hlZF9jcmVkaXQyLmMgYi94ZW4vY29tbW9uL3NjaGVkX2NyZWRpdDIuYwpp
bmRleCA4YmE3NDFlMzc5Li5mMzg3NjBhNzUwIDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL3NjaGVk
X2NyZWRpdDIuYworKysgYi94ZW4vY29tbW9uL3NjaGVkX2NyZWRpdDIuYwpAQCAtMzM2OCw0OCAr
MzM2OCw2MSBAQCBydW5xX2NhbmRpZGF0ZShzdHJ1Y3QgY3NjaGVkMl9ydW5xdWV1ZV9kYXRhICpy
cWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAodW5zaWduZWQgY2hhciAqKSZkKTsKICAgICAg
ICAgfQogCi0gICAgICAgIC8qIFNraXAgbm9uIHJ1bm5hYmxlIHVuaXRzIHRoYXQgd2UgKHRlbXBv
cmFyaWx5KSBoYXZlIGluIHRoZSBydW5xICovCi0gICAgICAgIGlmICggdW5saWtlbHkoIXVuaXRf
cnVubmFibGVfc3RhdGUoc3ZjLT51bml0KSkgKQotICAgICAgICAgICAgY29udGludWU7Ci0KLSAg
ICAgICAgLyogT25seSBjb25zaWRlciB2Y3B1cyB0aGF0IGFyZSBhbGxvd2VkIHRvIHJ1biBvbiB0
aGlzIHByb2Nlc3Nvci4gKi8KLSAgICAgICAgaWYgKCAhY3B1bWFza190ZXN0X2NwdShjcHUsIHN2
Yy0+dW5pdC0+Y3B1X2hhcmRfYWZmaW5pdHkpICkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotCiAg
ICAgICAgIC8qCi0gICAgICAgICAqIElmIGFuIHVuaXQgaXMgbWVhbnQgdG8gYmUgcGlja2VkIHVw
IGJ5IGFub3RoZXIgcHJvY2Vzc29yLCBhbmQgc3VjaAotICAgICAgICAgKiBwcm9jZXNzb3IgaGFz
IG5vdCBzY2hlZHVsZWQgeWV0LCBsZWF2ZSBpdCBpbiB0aGUgcnVucXVldWUgZm9yIGhpbS4KKyAg
ICAgICAgICogSWYgdGhlIHVuaXQgaW4gdGhlIHJ1bnF1ZXVlIGhhcyBtb3JlIGNyZWRpdCB0aGFu
IGN1cnJlbnQgKG9yIHRoYW4KKyAgICAgICAgICogaWRsZSwgaWYgY3VycmVudCBpcyBub3QgcnVu
bmFibGUpIG9yIGlmIGN1cnJlbnQgaXMgeWllbGRpbmcsIHdlIG1heQorICAgICAgICAgKiB3YW50
IHRvIHBpY2sgaXQgdXAuCiAgICAgICAgICAqLwotICAgICAgICBpZiAoIHN2Yy0+dGlja2xlZF9j
cHUgIT0gLTEgJiYgc3ZjLT50aWNrbGVkX2NwdSAhPSBjcHUgJiYKLSAgICAgICAgICAgICBjcHVt
YXNrX3Rlc3RfY3B1KHN2Yy0+dGlja2xlZF9jcHUsICZycWQtPnRpY2tsZWQpICkKKyAgICAgICAg
aWYgKCAoeWllbGQgfHwgc3ZjLT5jcmVkaXQgPiBzbmV4dC0+Y3JlZGl0KSApCiAgICAgICAgIHsK
LSAgICAgICAgICAgIFNDSEVEX1NUQVRfQ1JBTksoZGVmZXJyZWRfdG9fdGlja2xlZF9jcHUpOwot
ICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIH0KKyAgICAgICAgICAgIC8qIFNraXAgbm9u
IHJ1bm5hYmxlIHVuaXRzIHRoYXQgd2UgKHRlbXBvcmFyaWx5KSBoYXZlIGluIHRoZSBydW5xICov
CisgICAgICAgICAgICBpZiAoIHVubGlrZWx5KCF1bml0X3J1bm5hYmxlX3N0YXRlKHN2Yy0+dW5p
dCkpICkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICAvKgotICAgICAgICAg
KiBJZiB0aGlzIGlzIG9uIGEgZGlmZmVyZW50IHByb2Nlc3NvciwgZG9uJ3QgcHVsbCBpdCB1bmxl
c3MKLSAgICAgICAgICogaXRzIGNyZWRpdCBpcyBhdCBsZWFzdCBDU0NIRUQyX01JR1JBVEVfUkVT
SVNUIGhpZ2hlci4KLSAgICAgICAgICovCi0gICAgICAgIGlmICggc2NoZWRfdW5pdF9tYXN0ZXIo
c3ZjLT51bml0KSAhPSBjcHUKLSAgICAgICAgICAgICAmJiBzbmV4dC0+Y3JlZGl0ICsgQ1NDSEVE
Ml9NSUdSQVRFX1JFU0lTVCA+IHN2Yy0+Y3JlZGl0ICkKLSAgICAgICAgewotICAgICAgICAgICAg
U0NIRURfU1RBVF9DUkFOSyhtaWdyYXRlX3Jlc2lzdGVkKTsKLSAgICAgICAgICAgIGNvbnRpbnVl
OwotICAgICAgICB9CisgICAgICAgICAgICAvKiBPbmx5IGNvbnNpZGVyIHZjcHVzIHRoYXQgYXJl
IGFsbG93ZWQgdG8gcnVuIG9uIHRoaXMgcHJvY2Vzc29yLiAqLworICAgICAgICAgICAgaWYgKCAh
Y3B1bWFza190ZXN0X2NwdShjcHUsIHN2Yy0+dW5pdC0+Y3B1X2hhcmRfYWZmaW5pdHkpICkKKyAg
ICAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICAvKgotICAgICAgICAgKiBJZiB0aGUg
b25lIGluIHRoZSBydW5xdWV1ZSBoYXMgbW9yZSBjcmVkaXQgdGhhbiBjdXJyZW50IChvciBpZGxl
LAotICAgICAgICAgKiBpZiBjdXJyZW50IGlzIG5vdCBydW5uYWJsZSksIG9yIGlmIGN1cnJlbnQg
aXMgeWllbGRpbmcsIGFuZCBhbHNvCi0gICAgICAgICAqIGlmIHRoZSBvbmUgaW4gcnVucXVldWUg
ZWl0aGVyIGlzIG5vdCBjYXBwZWQsIG9yIGlzIGNhcHBlZCBidXQgaGFzCi0gICAgICAgICAqIHNv
bWUgYnVkZ2V0LCB0aGVuIGNob29zZSBpdC4KLSAgICAgICAgICovCi0gICAgICAgIGlmICggKHlp
ZWxkIHx8IHN2Yy0+Y3JlZGl0ID4gc25leHQtPmNyZWRpdCkgJiYKLSAgICAgICAgICAgICAoIWhh
c19jYXAoc3ZjKSB8fCB1bml0X2dyYWJfYnVkZ2V0KHN2YykpICkKLSAgICAgICAgICAgIHNuZXh0
ID0gc3ZjOworICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAqIElmIGFuIHVuaXQgaXMgbWVh
bnQgdG8gYmUgcGlja2VkIHVwIGJ5IGFub3RoZXIgcHJvY2Vzc29yLCBhbmQgc3VjaAorICAgICAg
ICAgICAgICogcHJvY2Vzc29yIGhhcyBub3Qgc2NoZWR1bGVkIHlldCwgbGVhdmUgaXQgaW4gdGhl
IHJ1bnF1ZXVlIGZvciBoaW0uCisgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIGlmICggc3Zj
LT50aWNrbGVkX2NwdSAhPSAtMSAmJiBzdmMtPnRpY2tsZWRfY3B1ICE9IGNwdSAmJgorICAgICAg
ICAgICAgICAgICBjcHVtYXNrX3Rlc3RfY3B1KHN2Yy0+dGlja2xlZF9jcHUsICZycWQtPnRpY2ts
ZWQpICkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBTQ0hFRF9TVEFUX0NSQU5LKGRl
ZmVycmVkX3RvX3RpY2tsZWRfY3B1KTsKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAg
ICAgICAgIH0KIAotICAgICAgICAvKiBJbiBhbnkgY2FzZSwgaWYgd2UgZ290IHRoaXMgZmFyLCBi
cmVhay4gKi8KLSAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICog
SWYgdGhpcyBpcyBvbiBhIGRpZmZlcmVudCBwcm9jZXNzb3IsIGRvbid0IHB1bGwgaXQgdW5sZXNz
CisgICAgICAgICAgICAgKiBpdHMgY3JlZGl0IGlzIGF0IGxlYXN0IENTQ0hFRDJfTUlHUkFURV9S
RVNJU1QgaGlnaGVyLgorICAgICAgICAgICAgICovCisgICAgICAgICAgICBpZiAoIHNjaGVkX3Vu
aXRfbWFzdGVyKHN2Yy0+dW5pdCkgIT0gY3B1CisgICAgICAgICAgICAgICAgICYmIHNuZXh0LT5j
cmVkaXQgKyBDU0NIRUQyX01JR1JBVEVfUkVTSVNUID4gc3ZjLT5jcmVkaXQgKQorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgIFNDSEVEX1NUQVRfQ1JBTksobWlncmF0ZV9yZXNpc3RlZCk7
CisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IC8qCisgICAgICAgICAgICAgKiBJZiB3ZSBhcmUgaGVyZSwgd2UgYXJlIGFsbW9zdCBzdXJlIHdl
IHdhbnQgdG8gcGljayB0aGUgdW5pdCBpbgorICAgICAgICAgICAgICogdGhlIHJ1bnF1ZXVlLiBM
YXN0IHRoaW5nIHdlIG5lZWQgdG8gY2hlY2sgaXMgdGhhdCBpdCBlaXRoZXIgaXMKKyAgICAgICAg
ICAgICAqIGlzIG5vdCBjYXBwZWQsIG9yIGlmIGl0IGlzLCBpdCBoYXMgc29tZSBidWRnZXQuCisg
ICAgICAgICAgICAgKgorICAgICAgICAgICAgICogTm90ZSB0aGF0IGNhcCAmIGJ1ZGdldCBzaG91
bGQgcmVhbGx5IGJlIHRoZSBsYXN0IHRoaW5nIHdlIGRvCisgICAgICAgICAgICAgKiBjaGVjay4g
SW4gZmFjdCwgdW5pdF9ncmFiX2J1ZGdldCgpIHdpbGwgcmVzZXJ2ZSBzb21lIGJ1ZGdldCBmb3IK
KyAgICAgICAgICAgICAqIHRoaXMgdW5pdCwgZnJvbSB0aGUgcGVyLWRvbWFpbiBidWRnZXQgcG9v
bCwgYW5kIHdlIHdhbnQgdG8gZG8KKyAgICAgICAgICAgICAqIHRoYXQgb25seSBpZiB3ZSBhcmUg
c3VyZSB0aGF0IHdlJ2xsIHRoZW4gcnVuIHRoZSB1bml0LCBjb25zdW1lCisgICAgICAgICAgICAg
KiBzb21lIG9mIGl0LCBhbmQgcmV0dXJuIHRoZSBsZWZ0b3ZlciAoaWYgYW55KSBpbiB0aGUgdXN1
YWwgd2F5LgorICAgICAgICAgICAgICovCisgICAgICAgICAgICBpZiAoIGhhc19jYXAoc3ZjKSAm
JiAhdW5pdF9ncmFiX2J1ZGdldChzdmMpICkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKwor
ICAgICAgICAgICAgLyogSWYgd2UgZ290IHRoaXMgZmFyLCB3ZSBhcmUgZG9uZS4gKi8KKyAgICAg
ICAgICAgIHNuZXh0ID0gc3ZjOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KICAgICB9
CiAKICAgICBpZiAoIHVubGlrZWx5KHRiX2luaXRfZG9uZSkgKQo=


--=-ExB8LiqeUSl/i4rgEG4D
Content-Disposition: attachment; filename="xen-credit2-avoid-picking-idle_patch1_4.12.patch"
Content-Transfer-Encoding: base64
Content-Type: text/x-patch; name="xen-credit2-avoid-picking-idle_patch1_4.12.patch";
	charset="UTF-8"

Y29tbWl0IGJhY2NjNTBmY2I3Y2VjNmY1ZWM4NDQ3M2RhZDI4ODQ3YjY1YjY1ZTgKQXV0aG9yOiBE
YXJpbyBGYWdnaW9saSA8ZGZhZ2dpb2xpQHN1c2UuY29tPgpEYXRlOiAgIEZyaSBNYXkgMjggMTc6
MTI6NDggMjAyMSArMDIwMAoKICAgIGNyZWRpdDI6IG1ha2Ugc3VyZSB3ZSBwaWNrIGEgcnVubmFi
bGUgdW5pdCBmcm9tIHRoZSBydW5xIGlmIHRoZXJlIGlzIG9uZQogICAgCiAgICBBICFydW5uYWJs
ZSB1bml0ICh0ZW1wb3JhcmlseSkgcHJlc2VudCBpbiB0aGUgcnVucSBtYXkgY2F1c2UgdXMgdG8K
ICAgIHN0b3Agc2Nhbm5pbmcgdGhlIHJ1bnEgaXRzZWxmIHRvbyBlYXJseS4gT2YgY291cnNlLCB3
ZSBkb24ndCBydW4gYW55CiAgICBub24tcnVubmFibGUgdkNQVXMsIGJ1dCB3ZSBlbmQgdGhlIHNj
YW4gYW5kIHdlIGZhbGxiYWNrIHRvIHBpY2tpbmcKICAgIHRoZSBpZGxlIHVuaXQuIEluIG90aGVy
IHdvcmQsIHRoaXMgcHJldmVudCB1cyB0byBmaW5kIHRoZXJlIGFuZCBwaWNrCiAgICB0aGUgYWN0
dWFsIHVuaXQgdGhhdCB3ZSdyZSBtZWFudCB0byBzdGFydCBydW5uaW5nICh3aGljaCBtaWdodCBi
ZQogICAgZnVydGhlciBhaGVhZCBpbiB0aGUgcnVucSkuCiAgICAKICAgIERlcGVuZGluZyBvbiB0
aGUgdkNQVSBwaW5uaW5nIGNvbmZpZ3VyYXRpb24sIHRoaXMgbWF5IGxlYWQgdG8gc3VjaAogICAg
dW5pdCB0byBiZSBzdHVjayBpbiB0aGUgcnVucSBmb3IgbG9uZyB0aW1lLCBjYXVzaW5nIG1hbGZ1
bmN0aW9uaW5nCiAgICBpbnNpZGUgdGhlIGd1ZXN0LgogICAgCiAgICBGaXggdGhpcyBieSBjaGVj
a2luZyBydW5uYWJsZS9ub24tcnVubmFibGUgc3RhdHVzIHVwLWZyb250LCBpbiB0aGUgcnVucQog
ICAgc2Nhbm5pbmcgZnVuY3Rpb24uCiAgICAKICAgIFJlcG9ydGVkLWJ5OiBNaWNoYcWCIExlc3pj
ennFhHNraSA8bWljaGFsLmxlc3pjenluc2tpQGNlcnQucGw+CiAgICBSZXBvcnRlZC1ieTogRGlv
biBLYW50IDxnLncua2FudEBodW5lbmV0Lm5sPgogICAgU2lnbmVkLW9mZi1ieTogRGFyaW8gRmFn
Z2lvbGkgPGRmYWdnaW9saUBzdXNlLmNvbT4KICAgIFJldmlld2VkLWJ5OiBHZW9yZ2UgRHVubGFw
IDxnZW9yZ2UuZHVubGFwQGNpdHJpeC5jb20+CgpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9zY2hl
ZF9jcmVkaXQyLmMgYi94ZW4vY29tbW9uL3NjaGVkX2NyZWRpdDIuYwppbmRleCBkNmViZDEyNmRl
Li5kODllMzQwOTA1IDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL3NjaGVkX2NyZWRpdDIuYworKysg
Yi94ZW4vY29tbW9uL3NjaGVkX2NyZWRpdDIuYwpAQCAtMzM2MSw2ICszMzYxLDEwIEBAIHJ1bnFf
Y2FuZGlkYXRlKHN0cnVjdCBjc2NoZWQyX3J1bnF1ZXVlX2RhdGEgKnJxZCwKICAgICAgICAgICAg
ICAgICAgICAgICAgICh1bnNpZ25lZCBjaGFyICopJmQpOwogICAgICAgICB9CiAKKyAgICAgICAg
LyogU2tpcCBub24gcnVubmFibGUgdmNwdXMgdGhhdCB3ZSAodGVtcG9yYXJpbHkpIGhhdmUgaW4g
dGhlIHJ1bnEgKi8KKyAgICAgICAgaWYgKCB1bmxpa2VseSghdmNwdV9ydW5uYWJsZShzdmMtPnZj
cHUpKSApCisgICAgICAgICAgICBjb250aW51ZTsKKwogICAgICAgICAvKiBPbmx5IGNvbnNpZGVy
IHZjcHVzIHRoYXQgYXJlIGFsbG93ZWQgdG8gcnVuIG9uIHRoaXMgcHJvY2Vzc29yLiAqLwogICAg
ICAgICBpZiAoICFjcHVtYXNrX3Rlc3RfY3B1KGNwdSwgc3ZjLT52Y3B1LT5jcHVfaGFyZF9hZmZp
bml0eSkgKQogICAgICAgICAgICAgY29udGludWU7Cg==


--=-ExB8LiqeUSl/i4rgEG4D
Content-Disposition: attachment; filename="xen-credit2-avoid-picking-idle_patch2_4.12.patch"
Content-Transfer-Encoding: base64
Content-Type: text/x-patch; name="xen-credit2-avoid-picking-idle_patch2_4.12.patch";
	charset="UTF-8"

Y29tbWl0IDBjNTZmZjFlZGZhZmZiODNmZjk2YWFhMzAyNGQzNzc0MWEzNDkyODgKQXV0aG9yOiBE
YXJpbyBGYWdnaW9saSA8ZGZhZ2dpb2xpQHN1c2UuY29tPgpEYXRlOiAgIE1vbiBKdW4gMjEgMTg6
MjU6MzQgMjAyMSArMDIwMAoKICAgIFhlbjogY3JlZGl0MjogYXZvaWQgcGlja2luZyBhIHNwdXJp
b3VzIGlkbGUgdmNwdSB3aGVuIGNhcHMgYXJlIHVzZWQKICAgIAogICAgQ29tbWl0IDA3YjBlYjVk
MGVmMCAoImNyZWRpdDI6IG1ha2Ugc3VyZSB3ZSBwaWNrIGEgcnVubmFibGUgdmNwdSBmcm9tIHRo
ZQogICAgcnVucSBpZiB0aGVyZSBpcyBvbmUiKSBkaWQgbm90IGZpeCBjb21wbGV0ZWx5IHRoZSBw
cm9ibGVtIG9mIHBvdGVudGlhbGx5CiAgICBzZWxlY3RpbmcgYSBzY2hlZHVsaW5nIHZjcHUgdGhh
dCB3aWxsIHRoZW4gbm90IGJlIGFibGUgdG8gcnVuLgogICAgCiAgICBJbiBmYWN0LCBpbiBjYXNl
IGNhcHMgYXJlIHVzZWQgYW5kIHRoZSB2Y3B1IHdlIGFyZSBjdXJyZW50bHkgbG9va2luZwogICAg
YXQsIGR1cmluZyB0aGUgcnVucXVldWUgc2NhbiwgZG9lcyBub3QgaGF2ZSBidWRnZXQgdG8gYmUg
ZXhlY3V0ZWQsIHdlCiAgICBzaG91bGQgY29udGludWUgbG9va2luZyBpbnN0ZWFkIHRoYW4gZ2l2
aW5nIHVwIGFuZCBwaWNraW5nIHRoZSBpZGxlCiAgICB2Y3B1LgogICAgCiAgICBTaWduZWQtb2Zm
LWJ5OiBEYXJpbyBGYWdnaW9saSA8ZGZhZ2dpb2xpQHN1c2UuY29tPgogICAgU3VnZ2VzdGVkLWJ5
OiBHZW9yZ2UgRHVubGFwIDxnZW9yZ2UuZHVubGFwQGNpdHJpeC5jb20+CgpkaWZmIC0tZ2l0IGEv
eGVuL2NvbW1vbi9zY2hlZF9jcmVkaXQyLmMgYi94ZW4vY29tbW9uL3NjaGVkX2NyZWRpdDIuYwpp
bmRleCBkODllMzQwOTA1Li4xNmI4YzI5MjhlIDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL3NjaGVk
X2NyZWRpdDIuYworKysgYi94ZW4vY29tbW9uL3NjaGVkX2NyZWRpdDIuYwpAQCAtMzM2MSw0OCAr
MzM2MSw2MSBAQCBydW5xX2NhbmRpZGF0ZShzdHJ1Y3QgY3NjaGVkMl9ydW5xdWV1ZV9kYXRhICpy
cWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAodW5zaWduZWQgY2hhciAqKSZkKTsKICAgICAg
ICAgfQogCi0gICAgICAgIC8qIFNraXAgbm9uIHJ1bm5hYmxlIHZjcHVzIHRoYXQgd2UgKHRlbXBv
cmFyaWx5KSBoYXZlIGluIHRoZSBydW5xICovCi0gICAgICAgIGlmICggdW5saWtlbHkoIXZjcHVf
cnVubmFibGUoc3ZjLT52Y3B1KSkgKQotICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAg
LyogT25seSBjb25zaWRlciB2Y3B1cyB0aGF0IGFyZSBhbGxvd2VkIHRvIHJ1biBvbiB0aGlzIHBy
b2Nlc3Nvci4gKi8KLSAgICAgICAgaWYgKCAhY3B1bWFza190ZXN0X2NwdShjcHUsIHN2Yy0+dmNw
dS0+Y3B1X2hhcmRfYWZmaW5pdHkpICkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotCiAgICAgICAg
IC8qCi0gICAgICAgICAqIElmIGEgdmNwdSBpcyBtZWFudCB0byBiZSBwaWNrZWQgdXAgYnkgYW5v
dGhlciBwcm9jZXNzb3IsIGFuZCBzdWNoCi0gICAgICAgICAqIHByb2Nlc3NvciBoYXMgbm90IHNj
aGVkdWxlZCB5ZXQsIGxlYXZlIGl0IGluIHRoZSBydW5xdWV1ZSBmb3IgaGltLgorICAgICAgICAg
KiBJZiB0aGUgdmNwdSBpbiB0aGUgcnVucXVldWUgaGFzIG1vcmUgY3JlZGl0IHRoYW4gY3VycmVu
dCAob3IgdGhhbgorICAgICAgICAgKiBpZGxlLCBpZiBjdXJyZW50IGlzIG5vdCBydW5uYWJsZSkg
b3IgaWYgY3VycmVudCBpcyB5aWVsZGluZywgd2UgbWF5CisgICAgICAgICAqIHdhbnQgdG8gcGlj
ayBpdCB1cC4KICAgICAgICAgICovCi0gICAgICAgIGlmICggc3ZjLT50aWNrbGVkX2NwdSAhPSAt
MSAmJiBzdmMtPnRpY2tsZWRfY3B1ICE9IGNwdSAmJgotICAgICAgICAgICAgIGNwdW1hc2tfdGVz
dF9jcHUoc3ZjLT50aWNrbGVkX2NwdSwgJnJxZC0+dGlja2xlZCkgKQorICAgICAgICBpZiAoICh5
aWVsZCB8fCBzdmMtPmNyZWRpdCA+IHNuZXh0LT5jcmVkaXQpICkKICAgICAgICAgewotICAgICAg
ICAgICAgU0NIRURfU1RBVF9DUkFOSyhkZWZlcnJlZF90b190aWNrbGVkX2NwdSk7Ci0gICAgICAg
ICAgICBjb250aW51ZTsKLSAgICAgICAgfQorICAgICAgICAgICAgLyogU2tpcCBub24gcnVubmFi
bGUgdmNwdXMgdGhhdCB3ZSAodGVtcG9yYXJpbHkpIGhhdmUgaW4gdGhlIHJ1bnEgKi8KKyAgICAg
ICAgICAgIGlmICggdW5saWtlbHkoIXZjcHVfcnVubmFibGUoc3ZjLT52Y3B1KSkgKQorICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgIC8qCi0gICAgICAgICAqIElmIHRoaXMgaXMg
b24gYSBkaWZmZXJlbnQgcHJvY2Vzc29yLCBkb24ndCBwdWxsIGl0IHVubGVzcwotICAgICAgICAg
KiBpdHMgY3JlZGl0IGlzIGF0IGxlYXN0IENTQ0hFRDJfTUlHUkFURV9SRVNJU1QgaGlnaGVyLgot
ICAgICAgICAgKi8KLSAgICAgICAgaWYgKCBzdmMtPnZjcHUtPnByb2Nlc3NvciAhPSBjcHUKLSAg
ICAgICAgICAgICAmJiBzbmV4dC0+Y3JlZGl0ICsgQ1NDSEVEMl9NSUdSQVRFX1JFU0lTVCA+IHN2
Yy0+Y3JlZGl0ICkKLSAgICAgICAgewotICAgICAgICAgICAgU0NIRURfU1RBVF9DUkFOSyhtaWdy
YXRlX3Jlc2lzdGVkKTsKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICB9CisgICAgICAg
ICAgICAvKiBPbmx5IGNvbnNpZGVyIHZjcHVzIHRoYXQgYXJlIGFsbG93ZWQgdG8gcnVuIG9uIHRo
aXMgcHJvY2Vzc29yLiAqLworICAgICAgICAgICAgaWYgKCAhY3B1bWFza190ZXN0X2NwdShjcHUs
IHN2Yy0+dmNwdS0+Y3B1X2hhcmRfYWZmaW5pdHkpICkKKyAgICAgICAgICAgICAgICBjb250aW51
ZTsKIAotICAgICAgICAvKgotICAgICAgICAgKiBJZiB0aGUgb25lIGluIHRoZSBydW5xdWV1ZSBo
YXMgbW9yZSBjcmVkaXQgdGhhbiBjdXJyZW50IChvciBpZGxlLAotICAgICAgICAgKiBpZiBjdXJy
ZW50IGlzIG5vdCBydW5uYWJsZSksIG9yIGlmIGN1cnJlbnQgaXMgeWllbGRpbmcsIGFuZCBhbHNv
Ci0gICAgICAgICAqIGlmIHRoZSBvbmUgaW4gcnVucXVldWUgZWl0aGVyIGlzIG5vdCBjYXBwZWQs
IG9yIGlzIGNhcHBlZCBidXQgaGFzCi0gICAgICAgICAqIHNvbWUgYnVkZ2V0LCB0aGVuIGNob29z
ZSBpdC4KLSAgICAgICAgICovCi0gICAgICAgIGlmICggKHlpZWxkIHx8IHN2Yy0+Y3JlZGl0ID4g
c25leHQtPmNyZWRpdCkgJiYKLSAgICAgICAgICAgICAoIWhhc19jYXAoc3ZjKSB8fCB2Y3B1X2dy
YWJfYnVkZ2V0KHN2YykpICkKLSAgICAgICAgICAgIHNuZXh0ID0gc3ZjOworICAgICAgICAgICAg
LyoKKyAgICAgICAgICAgICAqIElmIGEgdmNwdSBpcyBtZWFudCB0byBiZSBwaWNrZWQgdXAgYnkg
YW5vdGhlciBwcm9jZXNzb3IsIGFuZCBzdWNoCisgICAgICAgICAgICAgKiBwcm9jZXNzb3IgaGFz
IG5vdCBzY2hlZHVsZWQgeWV0LCBsZWF2ZSBpdCBpbiB0aGUgcnVucXVldWUgZm9yIGhpbS4KKyAg
ICAgICAgICAgICAqLworICAgICAgICAgICAgaWYgKCBzdmMtPnRpY2tsZWRfY3B1ICE9IC0xICYm
IHN2Yy0+dGlja2xlZF9jcHUgIT0gY3B1ICYmCisgICAgICAgICAgICAgICAgIGNwdW1hc2tfdGVz
dF9jcHUoc3ZjLT50aWNrbGVkX2NwdSwgJnJxZC0+dGlja2xlZCkgKQorICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgIFNDSEVEX1NUQVRfQ1JBTksoZGVmZXJyZWRfdG9fdGlja2xlZF9jcHUp
OworICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgfQogCi0gICAgICAgIC8q
IEluIGFueSBjYXNlLCBpZiB3ZSBnb3QgdGhpcyBmYXIsIGJyZWFrLiAqLwotICAgICAgICBicmVh
azsKKyAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgKiBJZiB0aGlzIGlzIG9uIGEgZGlmZmVy
ZW50IHByb2Nlc3NvciwgZG9uJ3QgcHVsbCBpdCB1bmxlc3MKKyAgICAgICAgICAgICAqIGl0cyBj
cmVkaXQgaXMgYXQgbGVhc3QgQ1NDSEVEMl9NSUdSQVRFX1JFU0lTVCBoaWdoZXIuCisgICAgICAg
ICAgICAgKi8KKyAgICAgICAgICAgIGlmICggc3ZjLT52Y3B1LT5wcm9jZXNzb3IgIT0gY3B1Cisg
ICAgICAgICAgICAgICAgICYmIHNuZXh0LT5jcmVkaXQgKyBDU0NIRUQyX01JR1JBVEVfUkVTSVNU
ID4gc3ZjLT5jcmVkaXQgKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIFNDSEVEX1NU
QVRfQ1JBTksobWlncmF0ZV9yZXNpc3RlZCk7CisgICAgICAgICAgICAgICAgY29udGludWU7Cisg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgKiBJZiB3ZSBhcmUg
aGVyZSwgd2UgYXJlIGFsbW9zdCBzdXJlIHdlIHdhbnQgdG8gcGljayB0aGUgdmNwdSBpbgorICAg
ICAgICAgICAgICogdGhlIHJ1bnF1ZXVlLiBMYXN0IHRoaW5nIHdlIG5lZWQgdG8gY2hlY2sgaXMg
dGhhdCBpdCBlaXRoZXIgaXMKKyAgICAgICAgICAgICAqIGlzIG5vdCBjYXBwZWQsIG9yIGlmIGl0
IGlzLCBpdCBoYXMgc29tZSBidWRnZXQuCisgICAgICAgICAgICAgKgorICAgICAgICAgICAgICog
Tm90ZSB0aGF0IGNhcCAmIGJ1ZGdldCBzaG91bGQgcmVhbGx5IGJlIHRoZSBsYXN0IHRoaW5nIHdl
IGRvCisgICAgICAgICAgICAgKiBjaGVjay4gSW4gZmFjdCwgdmNwdV9ncmFiX2J1ZGdldCgpIHdp
bGwgcmVzZXJ2ZSBzb21lIGJ1ZGdldCBmb3IKKyAgICAgICAgICAgICAqIHRoaXMgdmNwdSwgZnJv
bSB0aGUgcGVyLWRvbWFpbiBidWRnZXQgcG9vbCwgYW5kIHdlIHdhbnQgdG8gZG8KKyAgICAgICAg
ICAgICAqIHRoYXQgb25seSBpZiB3ZSBhcmUgc3VyZSB0aGF0IHdlJ2xsIHRoZW4gcnVuIHRoZSB1
bml0LCBjb25zdW1lCisgICAgICAgICAgICAgKiBzb21lIG9mIGl0LCBhbmQgcmV0dXJuIHRoZSBs
ZWZ0b3ZlciAoaWYgYW55KSBpbiB0aGUgdXN1YWwgd2F5LgorICAgICAgICAgICAgICovCisgICAg
ICAgICAgICBpZiAoIGhhc19jYXAoc3ZjKSAmJiAhdmNwdV9ncmFiX2J1ZGdldChzdmMpICkKKyAg
ICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgLyogSWYgd2UgZ290IHRoaXMg
ZmFyLCB3ZSBhcmUgZG9uZS4gKi8KKyAgICAgICAgICAgIHNuZXh0ID0gc3ZjOworICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIH0KICAgICB9CiAKICAgICBpZiAoIHVubGlrZWx5KHRiX2luaXRf
ZG9uZSkgKQo=


--=-ExB8LiqeUSl/i4rgEG4D--

--=-6Ue6s+nGnWjRarJoBOEN
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

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

iQIzBAABCAAdFiEES5ssOj3Vhr0WPnOLFkJ4iaW4c+4FAmEJgIMACgkQFkJ4iaW4
c+7U/hAAj47sLi+kL6f3G3Wm3cMdVAKusIj33w3m+oBaAUg17KxeuqzEdpwumThc
0FBkQV+RGdYXWQhn5Q10Q+d4A5t462Zexopu/UKxXtBgzVlOLuuRioSiny0OjWyE
oW8aakNuf9e5WpHAR5QxUzKBEknajfbxBuRaU4HeBzWYZR532YMGvv15ZMDUlihH
BADG7o+ZMqJnLExshS7Nu9xo7Vxp8rDKdT9qp7OWcdYStMEkST0IelWE4P7uXhsI
xXYYIA4ZBsrkVShtKBMDOEz1hgD680cfiyz028RL+RSZfdVzKi3SXPHseSs7PuC9
StlyiCmKusTu2dmHrYyrtuYZsgJtV2d7sbLaiPqgCOPd7OKA4My4q52Hm1oLrN02
bon1RJs4Jck5yB8TRlObIICTNbfj0kgA9gmr+qfNQXI1YHtyZcyI8xT9rXQ6OQGp
AHnQ7RE5m1jhNWA3Zwu4MWpDL1XOEJgT3BHcO3hG6Dv+2cAlC6RbcWZJJ9sbscOd
LcYJmYt6vVgvin8cJesZXnsOYkTMCllWvbvWX2Zrx/Ln8sI1T+uvBj6o0pDMffz3
5Us4d+62+HM7uHzKrgdrYGB2XQWsB50H8Uipsjwv2Y+3IEcBab4CpKpN99ZYl3gW
bJ1OQXhQfvt1ybjOyP2MieSEO3CBLDSn2o3MNyEhsbsjJd+E848=
=9IaQ
-----END PGP SIGNATURE-----

--=-6Ue6s+nGnWjRarJoBOEN--



From xen-devel-bounces@lists.xenproject.org Tue Aug 03 17:53:27 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 17:53:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163594.299639 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAybQ-0000yH-G2; Tue, 03 Aug 2021 17:53:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163594.299639; Tue, 03 Aug 2021 17: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 1mAybQ-0000yA-CG; Tue, 03 Aug 2021 17:53:20 +0000
Received: by outflank-mailman (input) for mailman id 163594;
 Tue, 03 Aug 2021 17:53:19 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mAybP-0000xx-8N; Tue, 03 Aug 2021 17:53:19 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mAybO-0000FF-UA; Tue, 03 Aug 2021 17:53: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 1mAybO-0004b9-Lc; Tue, 03 Aug 2021 17:53:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mAybO-0000LO-L7; Tue, 03 Aug 2021 17:53:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=SGXjNvKeMBjAlor+w+dn5PRSh7sD2WxrC2X3QL2Y6uU=; b=tgKje850vizl5PffUVD+a5DnFm
	rAeZ6dFIPBwgAkNViRmQW6PeR4RJNvQaaHIjDpy6z1w3fsmfUvgeODpIpVlNNoPi+xkTj+eeG1Boj
	k2boMdhPYlk/MeadIm7hYhRXmkyhhLkYfKbpopgp1FwmOMZDjfNdlIQW2qR22kUlKVGg=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164093-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 164093: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=55266a9b8ac71dace1109d61be549889cdd2f93f
X-Osstest-Versions-That:
    ovmf=2b47aaecef38b9440a65809cbdaf9d97029f4eeb
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 03 Aug 2021 17:53:18 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 55266a9b8ac71dace1109d61be549889cdd2f93f
baseline version:
 ovmf                 2b47aaecef38b9440a65809cbdaf9d97029f4eeb

Last test of basis   164090  2021-08-03 05:10:06 Z    0 days
Testing same since   164093  2021-08-03 14:12:31 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Grzegorz Bernacki <gjb@semihalf.com>
  Pete Batard <pete@akeo.ie> # on Raspberry Pi 4

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
   2b47aaecef..55266a9b8a  55266a9b8ac71dace1109d61be549889cdd2f93f -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Aug 03 18:23:16 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 18:23:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163603.299654 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mAz4G-00045m-TK; Tue, 03 Aug 2021 18:23:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163603.299654; Tue, 03 Aug 2021 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 1mAz4G-00045f-Q2; Tue, 03 Aug 2021 18:23:08 +0000
Received: by outflank-mailman (input) for mailman id 163603;
 Tue, 03 Aug 2021 18:23:07 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mAz4F-00045V-Jg; Tue, 03 Aug 2021 18:23:07 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mAz4F-0000js-Dl; Tue, 03 Aug 2021 18:23:07 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mAz4F-0006Sk-0D; Tue, 03 Aug 2021 18:23:07 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mAz4E-0000vd-Vy; Tue, 03 Aug 2021 18:23: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=C3yBC1+poltQb1w077vwLzAEqI8vAoYRUQ1y1g1EAcU=; b=DUgdq8mUUNNSULThm5MbNex6kg
	rsoTek7b1E6M6s09DHtLDwOMuX6WTpJv8sdcUZE9yBCq1jhIgD8ZZRsVxONNyhUs1BcUmLMJXjb9v
	9RPV43Xf8SFzhUnEB9WaIZazzqOOHN5ptcw2sJpaU6WlIyIfvfHnDKSHypDDJYY9NUDk=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164091-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164091: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:heisenbug
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-xsm:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:heisenbug
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:heisenbug
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:heisenbug
    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-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=c500bee1c5b2f1d59b1081ac879d73268ab0ff17
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 03 Aug 2021 18:23:06 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop              fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 20 guest-stop               fail REGR. vs. 152332
 test-arm64-arm64-xl          14 guest-start    fail in 164083 REGR. vs. 152332

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-libvirt-xsm 20 guest-start/debian.repeat fail in 164079 pass in 164091
 test-arm64-arm64-xl-thunderx 13 debian-fixup     fail in 164083 pass in 164091
 test-arm64-arm64-libvirt-xsm 14 guest-start      fail in 164085 pass in 164083
 test-amd64-amd64-xl-xsm 22 guest-start/debian.repeat fail in 164085 pass in 164091
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail in 164085 pass in 164091
 test-arm64-arm64-xl-credit2  13 debian-fixup               fail pass in 164079
 test-arm64-arm64-xl          13 debian-fixup               fail pass in 164083
 test-arm64-arm64-libvirt-xsm 13 debian-fixup               fail pass in 164085

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

version targeted for testing:
 linux                c500bee1c5b2f1d59b1081ac879d73268ab0ff17
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  367 days
Failing since        152366  2020-08-01 20:49:34 Z  366 days  637 attempts
Testing same since   164079  2021-08-02 04:02:17 Z    1 days    4 attempts

------------------------------------------------------------
6750 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Tue Aug 03 21:37:41 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 21:37:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163613.299669 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mB26A-0003cM-Fe; Tue, 03 Aug 2021 21:37:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163613.299669; Tue, 03 Aug 2021 21: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 1mB26A-0003cF-Ck; Tue, 03 Aug 2021 21:37:18 +0000
Received: by outflank-mailman (input) for mailman id 163613;
 Tue, 03 Aug 2021 21:37:16 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GulG=M2=kernel.org=sstabellini@srs-us1.protection.inumbo.net>)
 id 1mB268-0003c9-OS
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 21:37:16 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id f83f7e89-f4a2-11eb-9b0d-12813bfff9fa;
 Tue, 03 Aug 2021 21:37:15 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id 746E760524;
 Tue,  3 Aug 2021 21:37: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: f83f7e89-f4a2-11eb-9b0d-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1628026634;
	bh=gYczJfrT3WcLqTTtUlNHbkFitIUCC0SL5Wk0165OeIA=;
	h=Date:From:To:cc:Subject:From;
	b=n8GWyZQ7IYP96tdyqAK90PLZbGhOHF3Jre7G8FrCl5xIKt+7glyUjUCLw9sEtw5im
	 K/LeTY2HkPE1hDvIqj79iSNbjqT/JJ7ojxY5eUtDCMdHWNKHI8ta3wNbMGwvSYEv5d
	 Aga1sCynSLJzpTc0nKzELL03zXt5ZIXYlQFs+0V5vyGWzamooW+/mohfH9t4HkLlJ2
	 9LPvFilubJmN7Lpbx/lEeHi4LXDTNxTmdAa2mqqW7yH0wpP+kqk2KNbkSqobpRH+Cv
	 7qc9m+q+fhv5cbA+MXPMaNEL49q+NdAM0gv81lSHfUoD3PuF/HEsEJqqbv5baXBXG7
	 7ET/5zqVfYcfQ==
Date: Tue, 3 Aug 2021 14:37:13 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@sstabellini-ThinkPad-T480s
To: julien@xen.org
cc: sstabellini@kernel.org, xen-devel@lists.xenproject.org, 
    Volodymyr_Babchuk@epam.com, Bertrand.Marquis@arm.com
Subject: [PATCH] do not p2m_invalidate_root when iommu_use_hap_pt
Message-ID: <alpine.DEB.2.21.2108031419500.19737@sstabellini-ThinkPad-T480s>
User-Agent: Alpine 2.21 (DEB 202 2017-01-01)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Set/Way flushes never work correctly in a virtualized environment.

Our current implementation is based on clearing the valid bit in the p2m
pagetable to track guest memory accesses. This technique doesn't work
when the IOMMU is enabled for the domain and the pagetable is shared
between IOMMU and MMU because it triggers IOMMU faults.

Specifically, p2m_invalidate_root causes IOMMU faults if
iommu_use_hap_pt returns true for the domain.

Add a check in vsysreg.c and vcpreg.c: if a set/way instruction is used
and iommu_use_hap_pt returns true, rather than failing with obscure
IOMMU faults, inject an undef exception straight away into the guest,
and print a verbose error message to explain the problem.

Also add an ASSERT in p2m_invalidate_root to make sure we don't
inadvertently stumble across this problem again in the future.

Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
---

This patch is an improvement over the IOMMU faults. I don't know if we
want to give users an option to get past these errors for development
and debugging.

We could add a Xen command line option to make Xen ignore Set/Way
instructions (do nothing on trap). Or we could add an option to avoid
trapping Set/Way instructions altogether (remove HCR_TSW).

Both workarounds are obviously not correct and could lead to memory
corruptions (the former) or bad interference between guests (the latter).

Either way, we can start with this patch.

diff --git a/xen/arch/arm/arm64/vsysreg.c b/xen/arch/arm/arm64/vsysreg.c
index caf17174b8..125a9281fc 100644
--- a/xen/arch/arm/arm64/vsysreg.c
+++ b/xen/arch/arm/arm64/vsysreg.c
@@ -105,6 +105,13 @@ void do_sysreg(struct cpu_user_regs *regs,
     case HSR_SYSREG_DCISW:
     case HSR_SYSREG_DCCSW:
     case HSR_SYSREG_DCCISW:
+        if ( iommu_use_hap_pt(current->domain) )
+        {
+            gdprintk(XENLOG_ERR,
+                     "d%u uses set/way cache flushes with the IOMMU on. It cannot work. Replace set/way instructions with dc [ci]vac and retry. Injecting exception into the guest now.\n",
+                     current->domain->domain_id);
+            return inject_undef_exception(regs, hsr);
+        }
         if ( !hsr.sysreg.read )
             p2m_set_way_flush(current);
         break;
diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index d414c4feb9..240913d5ac 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -1171,6 +1171,9 @@ void p2m_invalidate_root(struct p2m_domain *p2m)
 {
     unsigned int i;
 
+    /* Clearing the valid bit causes IOMMU faults. */
+    ASSERT(!iommu_use_hap_pt(p2m->domain));
+
     p2m_write_lock(p2m);
 
     for ( i = 0; i < P2M_ROOT_LEVEL; i++ )
diff --git a/xen/arch/arm/vcpreg.c b/xen/arch/arm/vcpreg.c
index e3ce56d875..04b68f6901 100644
--- a/xen/arch/arm/vcpreg.c
+++ b/xen/arch/arm/vcpreg.c
@@ -231,6 +231,13 @@ void do_cp15_32(struct cpu_user_regs *regs, const union hsr hsr)
     case HSR_CPREG32(DCISW):
     case HSR_CPREG32(DCCSW):
     case HSR_CPREG32(DCCISW):
+        if ( iommu_use_hap_pt(current->domain) )
+        {
+            gdprintk(XENLOG_ERR,
+                     "d%u uses set/way cache flushes with the IOMMU on. It cannot work. Replace set/way instructions with dc [ci]vac and retry. Injecting exception into the guest now.\n",
+                     current->domain->domain_id);
+            return inject_undef_exception(regs, hsr);
+        }
         if ( !cp32.read )
             p2m_set_way_flush(current);
         break;



From xen-devel-bounces@lists.xenproject.org Tue Aug 03 22:19:49 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 22:19:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163622.299681 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mB2lC-0007ja-Nw; Tue, 03 Aug 2021 22:19:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163622.299681; Tue, 03 Aug 2021 22:19: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 1mB2lC-0007jT-Kn; Tue, 03 Aug 2021 22:19:42 +0000
Received: by outflank-mailman (input) for mailman id 163622;
 Tue, 03 Aug 2021 22:19: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 1mB2lA-0007jN-Rx
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 22:19: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 1mB2l9-0004HR-5t; Tue, 03 Aug 2021 22:19:39 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mB2l8-0000iw-Vy; Tue, 03 Aug 2021 22:19:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=tjJ6wrHdInFjrJFz47z1dc8BV0wlJP4b3y1Y/9u6RX8=; b=R0aYSBs0432QSIh00sTMAB1L6x
	MmZn2K5nILFlaLaDFW64JorTUIpmgf/Xn4HvxTd7QMT/Tz6Bxj+b8bEHWGTJPC5p3iBSf6T0uwar2
	8YmLeS7fINOezyZjG/Pqxo/pQdrcY+J60Cc6C2BUo/8dit8cHWQGZO2Hf3ofYEVVQSMI=;
Subject: Re: [PATCH] do not p2m_invalidate_root when iommu_use_hap_pt
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, Volodymyr_Babchuk@epam.com,
 Bertrand.Marquis@arm.com
References: <alpine.DEB.2.21.2108031419500.19737@sstabellini-ThinkPad-T480s>
From: Julien Grall <julien@xen.org>
Message-ID: <ff5e9e5a-287d-127c-1d39-57c31564e9b3@xen.org>
Date: Tue, 3 Aug 2021 23:19:36 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <alpine.DEB.2.21.2108031419500.19737@sstabellini-ThinkPad-T480s>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi,

Title: How about:

"xen/arm: Do not invalidate the P2M when the PT is shared with the IOMMU"

On 03/08/2021 22:37, Stefano Stabellini wrote:
> Set/Way flushes never work correctly in a virtualized environment.
> 
> Our current implementation is based on clearing the valid bit in the p2m
> pagetable to track guest memory accesses. This technique doesn't work
> when the IOMMU is enabled for the domain and the pagetable is shared
> between IOMMU and MMU because it triggers IOMMU faults.
> 
> Specifically, p2m_invalidate_root causes IOMMU faults if
> iommu_use_hap_pt returns true for the domain.
> 
> Add a check in vsysreg.c and vcpreg.c: if a set/way instruction is used
> and iommu_use_hap_pt returns true, rather than failing with obscure
> IOMMU faults, inject an undef exception straight away into the guest,
> and print a verbose error message to explain the problem.
> 
> Also add an ASSERT in p2m_invalidate_root to make sure we don't
> inadvertently stumble across this problem again in the future.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
> ---
> 
> This patch is an improvement over the IOMMU faults. I don't know if we
> want to give users an option to get past these errors for development
> and debugging.
> 
> We could add a Xen command line option to make Xen ignore Set/Way
> instructions (do nothing on trap). Or we could add an option to avoid
> trapping Set/Way instructions altogether (remove HCR_TSW).
> 
> Both workarounds are obviously not correct and could lead to memory
> corruptions (the former) or bad interference between guests (the latter).

My answer is similar to when you suggested to not trap the SMCs for all 
the domains. Yes, it may allow a domain to boot but such option will not 
do a favor to anyone because more weird behavior may happen.

If there is a will to handle set/way when device is assigned, then we 
need to add support for unsharing the page-tables or figure out a 
different way to emulate set/way.

> Either way, we can start with this patch.
> 
> diff --git a/xen/arch/arm/arm64/vsysreg.c b/xen/arch/arm/arm64/vsysreg.c
> index caf17174b8..125a9281fc 100644
> --- a/xen/arch/arm/arm64/vsysreg.c
> +++ b/xen/arch/arm/arm64/vsysreg.c
> @@ -105,6 +105,13 @@ void do_sysreg(struct cpu_user_regs *regs,
>       case HSR_SYSREG_DCISW:
>       case HSR_SYSREG_DCCSW:
>       case HSR_SYSREG_DCCISW:
> +        if ( iommu_use_hap_pt(current->domain) )
> +        {
> +            gdprintk(XENLOG_ERR,
> +                     "d%u uses set/way cache flushes with the IOMMU on. It cannot work. Replace set/way instructions with dc [ci]vac and retry. Injecting exception into the guest now.\n",

This line would be far too long to print on the serial. I think you want 
to add a few newline here.

> +                     current->domain->domain_id);

Please use %pd.

> +            return inject_undef_exception(regs, hsr);
> +        }

I would prefer if the undef is added in p2m_set_way_flush(). This will 
avoid the duplication between the cpreg and sysreg code.

>           if ( !hsr.sysreg.read )
>               p2m_set_way_flush(current);
>           break;
> diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
> index d414c4feb9..240913d5ac 100644
> --- a/xen/arch/arm/p2m.c
> +++ b/xen/arch/arm/p2m.c
> @@ -1171,6 +1171,9 @@ void p2m_invalidate_root(struct p2m_domain *p2m)
>   {
>       unsigned int i;
>   
> +    /* Clearing the valid bit causes IOMMU faults. */

How about moving this comment on top of the function and writing:

"p2m_invalid_root() should not be called when the P2M is shared with the 
IOMMU because it will cause IOMMU fault."

So one doesn't  need to read the invalidation to understand that the 
function should not be called when the P2M is shared with the IOMMU.

> +    ASSERT(!iommu_use_hap_pt(p2m->domain)); > +
>       p2m_write_lock(p2m);
>   
>       for ( i = 0; i < P2M_ROOT_LEVEL; i++ )
> diff --git a/xen/arch/arm/vcpreg.c b/xen/arch/arm/vcpreg.c
> index e3ce56d875..04b68f6901 100644
> --- a/xen/arch/arm/vcpreg.c
> +++ b/xen/arch/arm/vcpreg.c
> @@ -231,6 +231,13 @@ void do_cp15_32(struct cpu_user_regs *regs, const union hsr hsr)
>       case HSR_CPREG32(DCISW):
>       case HSR_CPREG32(DCCSW):
>       case HSR_CPREG32(DCCISW):
> +        if ( iommu_use_hap_pt(current->domain) )
> +        {
> +            gdprintk(XENLOG_ERR,
> +                     "d%u uses set/way cache flushes with the IOMMU on. It cannot work. Replace set/way instructions with dc [ci]vac and retry. Injecting exception into the guest now.\n",
> +                     current->domain->domain_id);
> +            return inject_undef_exception(regs, hsr);
> +        }
>           if ( !cp32.read )
>               p2m_set_way_flush(current);
>           break;
> 

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 03 23:30:11 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Aug 2021 23:30:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163630.299693 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mB3rE-0005et-I5; Tue, 03 Aug 2021 23:30:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163630.299693; Tue, 03 Aug 2021 23: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 1mB3rE-0005em-Ez; Tue, 03 Aug 2021 23:30:00 +0000
Received: by outflank-mailman (input) for mailman id 163630;
 Tue, 03 Aug 2021 23:29: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 1mB3rC-0005ec-L0; Tue, 03 Aug 2021 23:29: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 1mB3rC-0005ET-E1; Tue, 03 Aug 2021 23:29: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 1mB3rC-00051n-1v; Tue, 03 Aug 2021 23:29:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mB3rC-0006MY-1N; Tue, 03 Aug 2021 23:29: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=TXW0CTtt34QWGVEK1gOEWpBBjQYgr06EhKUjrLVZye0=; b=LTwkVUAe0imHKzDr0eXBmMr1FU
	CRpS+TL1FSlgshvm85UMMCDq+eDM6nyckC7VO9Mh32X3tbSZvi8yukNcKpoXpWdojeGfh5EONjdLK
	bfMh0df4iBmivbU8xNOxN7Vwz+CVHL+VjLIoJCeROyRulhpPYsMPUOPebB5gztHE4LQ4=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164094-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 164094: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt: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-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=2278d2cbb0b7c1b48b298c6c4c6a7de2271ac928
X-Osstest-Versions-That:
    xen=e066ca5acc2ee3b5db5c005e1a548b05e753e07d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 03 Aug 2021 23:29:58 +0000

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

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 164086
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164086
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164086
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164086
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 164086
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 164086
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164086
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164086
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 164086
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164086
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164086
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-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-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  2278d2cbb0b7c1b48b298c6c4c6a7de2271ac928
baseline version:
 xen                  e066ca5acc2ee3b5db5c005e1a548b05e753e07d

Last test of basis   164086  2021-08-03 01:52:55 Z    0 days
Testing same since   164094  2021-08-03 14:37:52 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Brian Woods <brian.woods@xilinx.com>
  Julien Grall <jgrall@amazon.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stefano Stabellini <stefano.stabellini@xilinx.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   e066ca5acc..2278d2cbb0  2278d2cbb0b7c1b48b298c6c4c6a7de2271ac928 -> master


From xen-devel-bounces@lists.xenproject.org Wed Aug 04 00:08:54 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 00:08:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163643.299724 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mB4Sm-0001x3-4O; Wed, 04 Aug 2021 00:08:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163643.299724; Wed, 04 Aug 2021 00: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 1mB4Sm-0001ww-1G; Wed, 04 Aug 2021 00:08:48 +0000
Received: by outflank-mailman (input) for mailman id 163643;
 Wed, 04 Aug 2021 00:08:46 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=K6bJ=M3=kernel.org=sstabellini@srs-us1.protection.inumbo.net>)
 id 1mB4Sk-0001wq-Ge
 for xen-devel@lists.xenproject.org; Wed, 04 Aug 2021 00:08:46 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 889c08a3-d62a-458b-92de-2254937a79a6;
 Wed, 04 Aug 2021 00:08:45 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id 74AB460FA0;
 Wed,  4 Aug 2021 00: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: 889c08a3-d62a-458b-92de-2254937a79a6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1628035724;
	bh=NJs61trkaEXtOTggwWHuLnV9q8az4L+YnLUozq0ygMw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=XXvAkv5TbqrE57H2qU7L147wVsbw7gy/ZUSrSK+CEIAdksCiIhQEc2JOJgzF3hxY9
	 ibUmCYnETdF1MBUCu2pahtloGohuQOUJ2LW+Q8CNTaVl4s+8R4O9eAj1DbzBMAJiTm
	 NfDnwIM311zFrH8+08z8ByLtEe7wiZRyXarJfi00EJ+CfCHqtpMhorrxjSdhFyMS6H
	 SCN1+uRVu08IWEgKzXbvpzglKwQmBcYfoVKr84TUXPxTMfBoXnLlyj6RzqhcUwGU5Q
	 /yqC3PQ8xEAJwwKXpAC+9xmKTzeuwibeF5Sm2EXVWJikesCB/ubPAeA8bONenatiu8
	 yyR/nBL7AY9gA==
Date: Tue, 3 Aug 2021 17:08:43 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@sstabellini-ThinkPad-T480s
To: Julien Grall <julien@xen.org>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, Volodymyr_Babchuk@epam.com, 
    Bertrand.Marquis@arm.com
Subject: Re: [PATCH] do not p2m_invalidate_root when iommu_use_hap_pt
In-Reply-To: <ff5e9e5a-287d-127c-1d39-57c31564e9b3@xen.org>
Message-ID: <alpine.DEB.2.21.2108031702430.19737@sstabellini-ThinkPad-T480s>
References: <alpine.DEB.2.21.2108031419500.19737@sstabellini-ThinkPad-T480s> <ff5e9e5a-287d-127c-1d39-57c31564e9b3@xen.org>
User-Agent: Alpine 2.21 (DEB 202 2017-01-01)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 3 Aug 2021, Julien Grall wrote:
> Hi,
> 
> Title: How about:
> 
> "xen/arm: Do not invalidate the P2M when the PT is shared with the IOMMU"

OK


> On 03/08/2021 22:37, Stefano Stabellini wrote:
> > Set/Way flushes never work correctly in a virtualized environment.
> > 
> > Our current implementation is based on clearing the valid bit in the p2m
> > pagetable to track guest memory accesses. This technique doesn't work
> > when the IOMMU is enabled for the domain and the pagetable is shared
> > between IOMMU and MMU because it triggers IOMMU faults.
> > 
> > Specifically, p2m_invalidate_root causes IOMMU faults if
> > iommu_use_hap_pt returns true for the domain.
> > 
> > Add a check in vsysreg.c and vcpreg.c: if a set/way instruction is used
> > and iommu_use_hap_pt returns true, rather than failing with obscure
> > IOMMU faults, inject an undef exception straight away into the guest,
> > and print a verbose error message to explain the problem.
> > 
> > Also add an ASSERT in p2m_invalidate_root to make sure we don't
> > inadvertently stumble across this problem again in the future.
> > 
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
> > ---
> > 
> > This patch is an improvement over the IOMMU faults. I don't know if we
> > want to give users an option to get past these errors for development
> > and debugging.
> > 
> > We could add a Xen command line option to make Xen ignore Set/Way
> > instructions (do nothing on trap). Or we could add an option to avoid
> > trapping Set/Way instructions altogether (remove HCR_TSW).
> > 
> > Both workarounds are obviously not correct and could lead to memory
> > corruptions (the former) or bad interference between guests (the latter).
> 
> My answer is similar to when you suggested to not trap the SMCs for all the
> domains. Yes, it may allow a domain to boot but such option will not do a
> favor to anyone because more weird behavior may happen.
> 
> If there is a will to handle set/way when device is assigned, then we need to
> add support for unsharing the page-tables or figure out a different way to
> emulate set/way.
>
> > Either way, we can start with this patch.
> > 
> > diff --git a/xen/arch/arm/arm64/vsysreg.c b/xen/arch/arm/arm64/vsysreg.c
> > index caf17174b8..125a9281fc 100644
> > --- a/xen/arch/arm/arm64/vsysreg.c
> > +++ b/xen/arch/arm/arm64/vsysreg.c
> > @@ -105,6 +105,13 @@ void do_sysreg(struct cpu_user_regs *regs,
> >       case HSR_SYSREG_DCISW:
> >       case HSR_SYSREG_DCCSW:
> >       case HSR_SYSREG_DCCISW:
> > +        if ( iommu_use_hap_pt(current->domain) )
> > +        {
> > +            gdprintk(XENLOG_ERR,
> > +                     "d%u uses set/way cache flushes with the IOMMU on. It
> > cannot work. Replace set/way instructions with dc [ci]vac and retry.
> > Injecting exception into the guest now.\n",
> 
> This line would be far too long to print on the serial. I think you want to
> add a few newline here.

Fair enough but I'll try to keep most info on the same line because
otherwise with a dom0less boot it can get confusing. I suggest:

gprintk(XENLOG_ERR,
        "uses set/way cache flushes with the IOMMU on. It cannot work. Replace them with dc [ci]vac and retry.\n"
        "Injecting exception into the guest now.\n");


> > +                     current->domain->domain_id);
> 
> Please use %pd.

I realized I should use gprintk and not gdprintk, and also that either
way the domain id gets printed automatically, so there is no need to add
d%u.


> > +            return inject_undef_exception(regs, hsr);
> > +        }
> 
> I would prefer if the undef is added in p2m_set_way_flush(). This will avoid
> the duplication between the cpreg and sysreg code.

Yes, I can do that


> >           if ( !hsr.sysreg.read )
> >               p2m_set_way_flush(current);
> >           break;
> > diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
> > index d414c4feb9..240913d5ac 100644
> > --- a/xen/arch/arm/p2m.c
> > +++ b/xen/arch/arm/p2m.c
> > @@ -1171,6 +1171,9 @@ void p2m_invalidate_root(struct p2m_domain *p2m)
> >   {
> >       unsigned int i;
> >   +    /* Clearing the valid bit causes IOMMU faults. */
> 
> How about moving this comment on top of the function and writing:
> 
> "p2m_invalid_root() should not be called when the P2M is shared with the IOMMU
> because it will cause IOMMU fault."
> 
> So one doesn't  need to read the invalidation to understand that the function
> should not be called when the P2M is shared with the IOMMU.

Sure


> > +    ASSERT(!iommu_use_hap_pt(p2m->domain)); > +
> >       p2m_write_lock(p2m);
> >         for ( i = 0; i < P2M_ROOT_LEVEL; i++ )
> > diff --git a/xen/arch/arm/vcpreg.c b/xen/arch/arm/vcpreg.c
> > index e3ce56d875..04b68f6901 100644
> > --- a/xen/arch/arm/vcpreg.c
> > +++ b/xen/arch/arm/vcpreg.c
> > @@ -231,6 +231,13 @@ void do_cp15_32(struct cpu_user_regs *regs, const union
> > hsr hsr)
> >       case HSR_CPREG32(DCISW):
> >       case HSR_CPREG32(DCCSW):
> >       case HSR_CPREG32(DCCISW):
> > +        if ( iommu_use_hap_pt(current->domain) )
> > +        {
> > +            gdprintk(XENLOG_ERR,
> > +                     "d%u uses set/way cache flushes with the IOMMU on. It
> > cannot work. Replace set/way instructions with dc [ci]vac and retry.
> > Injecting exception into the guest now.\n",
> > +                     current->domain->domain_id);
> > +            return inject_undef_exception(regs, hsr);
> > +        }
> >           if ( !cp32.read )
> >               p2m_set_way_flush(current);
> >           break;
> > 
> 
> Cheers,
> 
> -- 
> Julien Grall
> 


From xen-devel-bounces@lists.xenproject.org Wed Aug 04 00:11:47 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 00:11:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163651.299735 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mB4Ve-0003Kq-MT; Wed, 04 Aug 2021 00:11:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163651.299735; Wed, 04 Aug 2021 00:11: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 1mB4Ve-0003Kj-JV; Wed, 04 Aug 2021 00:11:46 +0000
Received: by outflank-mailman (input) for mailman id 163651;
 Wed, 04 Aug 2021 00:11:45 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=K6bJ=M3=kernel.org=sstabellini@srs-us1.protection.inumbo.net>)
 id 1mB4Vd-0003Kb-2I
 for xen-devel@lists.xenproject.org; Wed, 04 Aug 2021 00:11:45 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 8cb6a6e4-f4b8-11eb-9b1b-12813bfff9fa;
 Wed, 04 Aug 2021 00:11:44 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id 2D93160F46;
 Wed,  4 Aug 2021 00:11: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: 8cb6a6e4-f4b8-11eb-9b1b-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1628035903;
	bh=9RK8yhU4+lyJf9WxLUz/rP2wQfLqoXjvIzAEtyzZThc=;
	h=From:To:Cc:Subject:Date:From;
	b=m9PH+UCAh5GbYGyCZSUvDHaVOsApElTl/OA0WC900TXs5lGFu1u3ksAEPpCv426gl
	 ieOJMInIbbdfkXgjJsYsTK6lMAi8Ipx02b5XtCxA49Zr8qbAgP304eGv6xg6b7LZBS
	 lMdusnywX7Adlb5tJZu/Mtd29Svz8lahgDHnxmFREiL8KEJEYEHCHQYg0e9HF3cyUE
	 +62ec9b/2kcruoNK9+1c63m76xzKKRvwF3z6Acp5NLiHoJUwAL29jywTri2kQc/Cp0
	 JxGTxF62DHyXcFTcZ1nXeaBo1JHwcoMY7n8chP0j5Bk0BkOXJH3Lunnylj/PBwWUbw
	 4khGqVnFatNRQ==
From: Stefano Stabellini <sstabellini@kernel.org>
To: julien@xen.org
Cc: sstabellini@kernel.org,
	xen-devel@lists.xenproject.org,
	Volodymyr_Babchuk@epam.com,
	Bertrand.Marquis@arm.com,
	Stefano Stabellini <stefano.stabellini@xilinx.com>
Subject: [PATCH v2] xen/arm: Do not invalidate the P2M when the PT is shared with the IOMMU
Date: Tue,  3 Aug 2021 17:11:42 -0700
Message-Id: <20210804001142.2598-1-sstabellini@kernel.org>
X-Mailer: git-send-email 2.17.1

Set/Way flushes never work correctly in a virtualized environment.

Our current implementation is based on clearing the valid bit in the p2m
pagetable to track guest memory accesses. This technique doesn't work
when the IOMMU is enabled for the domain and the pagetable is shared
between IOMMU and MMU because it triggers IOMMU faults.

Specifically, p2m_invalidate_root causes IOMMU faults if
iommu_use_hap_pt returns true for the domain.

Add a check in p2m_set_way_flush: if a set/way instruction is used
and iommu_use_hap_pt returns true, rather than failing with obscure
IOMMU faults, inject an undef exception straight away into the guest,
and print a verbose error message to explain the problem.

Also add an ASSERT in p2m_invalidate_root to make sure we don't
inadvertently stumble across this problem again in the future.

Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>

---

Changes in v2:
- improve commit message
- improve in-code comment in p2m.c
- move the warning and undef injection to p2m_set_way_flush
- use gprintk instead of gdprintk
---
 xen/arch/arm/arm64/vsysreg.c |  2 +-
 xen/arch/arm/p2m.c           | 17 ++++++++++++++++-
 xen/arch/arm/vcpreg.c        |  2 +-
 xen/include/asm-arm/p2m.h    |  4 +++-
 4 files changed, 21 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/arm64/vsysreg.c b/xen/arch/arm/arm64/vsysreg.c
index caf17174b8..887266dd46 100644
--- a/xen/arch/arm/arm64/vsysreg.c
+++ b/xen/arch/arm/arm64/vsysreg.c
@@ -106,7 +106,7 @@ void do_sysreg(struct cpu_user_regs *regs,
     case HSR_SYSREG_DCCSW:
     case HSR_SYSREG_DCCISW:
         if ( !hsr.sysreg.read )
-            p2m_set_way_flush(current);
+            p2m_set_way_flush(current, regs, hsr);
         break;
 
     /*
diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index d414c4feb9..d948eec2ca 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -11,6 +11,7 @@
 #include <asm/flushtlb.h>
 #include <asm/guest_walk.h>
 #include <asm/page.h>
+#include <asm/traps.h>
 
 #define MAX_VMID_8_BIT  (1UL << 8)
 #define MAX_VMID_16_BIT (1UL << 16)
@@ -1166,11 +1167,16 @@ static void p2m_invalidate_table(struct p2m_domain *p2m, mfn_t mfn)
 /*
  * Invalidate all entries in the root page-tables. This is
  * useful to get fault on entry and do an action.
+ *
+ * p2m_invalid_root() should not be called when the P2M is shared with
+ * the IOMMU because it will cause IOMMU fault.
  */
 void p2m_invalidate_root(struct p2m_domain *p2m)
 {
     unsigned int i;
 
+    ASSERT(!iommu_use_hap_pt(p2m->domain));
+
     p2m_write_lock(p2m);
 
     for ( i = 0; i < P2M_ROOT_LEVEL; i++ )
@@ -1815,11 +1821,20 @@ void p2m_flush_vm(struct vcpu *v)
  *
  *  - Once the caches are enabled, we stop trapping VM ops.
  */
-void p2m_set_way_flush(struct vcpu *v)
+void p2m_set_way_flush(struct vcpu *v, struct cpu_user_regs *regs,
+                       const union hsr hsr)
 {
     /* This function can only work with the current vCPU. */
     ASSERT(v == current);
 
+    if ( iommu_use_hap_pt(current->domain) )
+    {
+        gprintk(XENLOG_ERR,
+                "uses set/way cache flushes with the IOMMU on. It cannot work. Replace them with dc [ci]vac and retry.\n"
+                "Injecting exception into the guest now.\n");
+        return inject_undef_exception(regs, hsr);
+    }
+
     if ( !(v->arch.hcr_el2 & HCR_TVM) )
     {
         v->arch.need_flush_to_ram = true;
diff --git a/xen/arch/arm/vcpreg.c b/xen/arch/arm/vcpreg.c
index e3ce56d875..33259c4194 100644
--- a/xen/arch/arm/vcpreg.c
+++ b/xen/arch/arm/vcpreg.c
@@ -232,7 +232,7 @@ void do_cp15_32(struct cpu_user_regs *regs, const union hsr hsr)
     case HSR_CPREG32(DCCSW):
     case HSR_CPREG32(DCCISW):
         if ( !cp32.read )
-            p2m_set_way_flush(current);
+            p2m_set_way_flush(current, regs, hsr);
         break;
 
     /*
diff --git a/xen/include/asm-arm/p2m.h b/xen/include/asm-arm/p2m.h
index 4f8b3b0ec7..6a2108398f 100644
--- a/xen/include/asm-arm/p2m.h
+++ b/xen/include/asm-arm/p2m.h
@@ -7,6 +7,7 @@
 #include <xen/mem_access.h>
 
 #include <asm/current.h>
+#include <asm/hsr.h>
 
 #define paddr_bits PADDR_BITS
 
@@ -272,7 +273,8 @@ void p2m_invalidate_root(struct p2m_domain *p2m);
  */
 int p2m_cache_flush_range(struct domain *d, gfn_t *pstart, gfn_t end);
 
-void p2m_set_way_flush(struct vcpu *v);
+void p2m_set_way_flush(struct vcpu *v, struct cpu_user_regs *regs,
+                       const union hsr hsr);
 
 void p2m_toggle_cache(struct vcpu *v, bool was_enabled);
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 04 04:08:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 04:08:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163663.299748 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mB8Cx-0004gk-Ev; Wed, 04 Aug 2021 04:08:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163663.299748; Wed, 04 Aug 2021 04:08:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mB8Cx-0004gd-A3; Wed, 04 Aug 2021 04:08:43 +0000
Received: by outflank-mailman (input) for mailman id 163663;
 Wed, 04 Aug 2021 04:08: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 1mB8Cw-0004gT-4I; Wed, 04 Aug 2021 04:08: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 1mB8Cv-0008HG-OK; Wed, 04 Aug 2021 04:08: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 1mB8Cv-0001E3-Cr; Wed, 04 Aug 2021 04:08:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mB8Cv-00064a-CN; Wed, 04 Aug 2021 04:08: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=Yp4aBMjEIzkbRgXiHMPUPkp36C1H5GpqxQylYJVUnag=; b=ldO3wen3Y8ThaIvBiiN9YcJNxM
	Oa+75abOJsOyhXnqq934eO4O4CXAQyWgnl3RZIAuoC2eePEYgYVsb94WMzYtJZxbBEcvmkrQOmsv7
	h5gU7QhJqzf6w54AhBFQTSQqJW9HKumCXzkbI4SBf+7KosjD84B/dqhcFSRe+gRjotp4=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164095-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 164095: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-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-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-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-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=acf8200722251a0a995cfa75fe5c15aea0886418
X-Osstest-Versions-That:
    qemuu=7f1cab9c628a798ae2607940993771e6300e9e00
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 04 Aug 2021 04:08:41 +0000

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

Failures :-/ but no regressions.

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

version targeted for testing:
 qemuu                acf8200722251a0a995cfa75fe5c15aea0886418
baseline version:
 qemuu                7f1cab9c628a798ae2607940993771e6300e9e00

Last test of basis   164089  2021-08-03 04:39:15 Z    0 days
Testing same since   164095  2021-08-03 17:08:07 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Basil Salman <basil@daynix.com>
  Basil Salman <basil@redhat.com>
  Basil Salman <bsalman@daynix.com>
  Basil Salman <bsalman@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Kostiantyn Kostiuk <konstantin@daynix.com>
  Michael Roth <michael.roth@amd.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                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-amd64-pvgrub                                pass    
 test-amd64-amd64-i386-pvgrub                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   7f1cab9c62..acf8200722  acf8200722251a0a995cfa75fe5c15aea0886418 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Wed Aug 04 07:10:21 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 07:10:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163672.299763 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBB2S-0004UA-Ny; Wed, 04 Aug 2021 07:10:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163672.299763; Wed, 04 Aug 2021 07:10:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBB2S-0004U3-Jx; Wed, 04 Aug 2021 07:10:04 +0000
Received: by outflank-mailman (input) for mailman id 163672;
 Wed, 04 Aug 2021 07:10: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 1mBB2R-0004Gl-CH; Wed, 04 Aug 2021 07:10: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 1mBB2R-0002lB-68; Wed, 04 Aug 2021 07:10: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 1mBB2Q-0002ld-QA; Wed, 04 Aug 2021 07:10:02 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mBB2Q-0003Jh-Pe; Wed, 04 Aug 2021 07:10:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=08/l3Cn0Fqqbwss09/6Z7jEY0wOpnAXQHN3xrpd/MEs=; b=X3OdIswp0JO5Gf8D5r8BvG0HMC
	yXt3mC6PaUtgjB6Ju23+l/pX1vlLfoWAwg5ac0FKP+/2+ksou/b9Tm04jycepML5/xmlZ1wEi/Ymm
	BCnwl8peb80JnFAbQzaX+aliXuzzeWdOPCittUVczTHKZcH5ElUY4WoPUJL8jlqzpsY0=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164096-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164096: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-stop:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=d5ad8ec3cfb56a017de6a784835666475b4be349
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 04 Aug 2021 07:10:02 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop              fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  14 guest-start              fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 20 guest-stop               fail REGR. vs. 152332
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 13 debian-fixup             fail REGR. vs. 152332

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

version targeted for testing:
 linux                d5ad8ec3cfb56a017de6a784835666475b4be349
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  368 days
Failing since        152366  2020-08-01 20:49:34 Z  367 days  638 attempts
Testing same since   164096  2021-08-03 18:42:33 Z    0 days    1 attempts

------------------------------------------------------------
6752 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Wed Aug 04 07:37:45 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 07:37:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163682.299778 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBBT9-0006yC-2W; Wed, 04 Aug 2021 07:37:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163682.299778; Wed, 04 Aug 2021 07: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 1mBBT8-0006y5-Uz; Wed, 04 Aug 2021 07:37:38 +0000
Received: by outflank-mailman (input) for mailman id 163682;
 Wed, 04 Aug 2021 07:37:38 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=s7SU=M3=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mBBT8-0006xz-CW
 for xen-devel@lists.xenproject.org; Wed, 04 Aug 2021 07:37:38 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 058d39c5-c75c-4b6c-bd91-9d3e0d6cca60;
 Wed, 04 Aug 2021 07:37:36 +0000 (UTC)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2173.outbound.protection.outlook.com [104.47.17.173])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-2-2x21OdqGOhWKEV2FsmfXkg-2; Wed, 04 Aug 2021 09:37:35 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0402MB3390.eurprd04.prod.outlook.com (2603:10a6:803:9::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.26; Wed, 4 Aug
 2021 07:37:31 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4373.027; Wed, 4 Aug 2021
 07:37:31 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0163.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1b::31) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4394.15 via Frontend Transport; Wed, 4 Aug 2021 07:37: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: 058d39c5-c75c-4b6c-bd91-9d3e0d6cca60
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628062655;
	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=Eg2yYcuN9CG5ndvKCgGUYbie0vW/nD19AKOKL5s1sqk=;
	b=V77tpTZaxavdTMg8zz2L20l68rrHiCwhNFt8LUtalp6W5cwjzMbpF6jACGh0lGmXZe5i1v
	l67b3lidJqVjFY38lcqZ5uHYkzOtyl8Wx8a1gty5dMa4xTjBQQPrjyBJ6TunC3AyJMEtzi
	PuIE3zMJY6QYjs3qEPvuQTCS68aWFKM=
X-MC-Unique: 2x21OdqGOhWKEV2FsmfXkg-2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ym5sJLLjEFPUkzTWRWtDsRx95xEJcXxPi80q2xaMd3X5kJNs/a6ta5u38dABVezXbU2YKBb6ek4oemPK9rkL8+j7QQtnu5FNNgYPilaDnBehesgxkfUba53cKhvPg+1hLl4lh5LDocU0ZOrAv4NkeFBNzAbUqZb8P7OX+WRXJgD48/I2z4KEKG8JQgsURbs5A2tRuMXE/NiGK0kLHc75dwexcQzgDvtJbIdPUtio32Qen1em2lIgJ7w3lK/AeDRekG1JpxxMRHNLqsgQMc3f3aPs2eWL3l3Kh9f854Rmmod9gNMyfJPAAT3UDwI3IYrcjr9SI2J7mjbAmT/3qeFQ+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-SenderADCheck;
 bh=Eg2yYcuN9CG5ndvKCgGUYbie0vW/nD19AKOKL5s1sqk=;
 b=eFq0nuf1AsmsJ96Lk5daf6SRZIl44PiYHb1qX7xv/875hyvkHU5tArnPTYvFOtaEuRRrge7XDH+lKwISvsaVs89N57vRlCpIjMJvl27WT67ELL/39J91LgwHOcbNAm1FJqF98EP/JtEeTPYkQJCU/UofNX1suL8TvnQFrY8g+7MkqVp2fim4tj865q+zRqVeoxZJaVHO8mdOn2N1Pbgp6WyI15199RjJ0ytVGfB9OyxSsahlhLvJaIuqVHAstHOGDCksBLdo9kokyqxq38T9gEWl7gbaLoANJBqjR4HdpHpVsoGFKcZNAsvgIos07NQ4wrLewVVPvZXkEBY1pCkM0Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH] Xen: credit2: avoid picking a spurious idle unit when
 caps are used
To: Dario Faggioli <dfaggioli@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>, xen-devel@lists.xenproject.org
References: <162801221667.955.3439735419862661383.stgit@Wayrath>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <d8c821f4-8cdf-8d77-90cb-5149a70c7741@suse.com>
Date: Wed, 4 Aug 2021 09:37:29 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <162801221667.955.3439735419862661383.stgit@Wayrath>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0163.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1b::31) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 04ed711c-a71d-46bf-25c1-08d9571ab784
X-MS-TrafficTypeDiagnostic: VI1PR0402MB3390:
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB3390771CDFC8E995B6B75787B3F19@VI1PR0402MB3390.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	pqss7RqXilRl9P8ITqUNSPQoy1TxqNqpJ9vFKvbifsA0c18fnZ465YQs8u+2WvvqtsMADs/FSsksD0Zit8qAmNO2X3OSVWdAsL7tK06ilGd1aOx6LlrifTyf5C2QR8S41IJpIwjLm0DleLoz/CLQSbh4AA2gx3t8zkezCLhfatVrC5CNd8LKSlANALwGsfzmA6XlnaYOkti8x+iCbMOIFqh4/01jMoY7fnyoDEkwIm5bVjiwiI60InPRglys6Clv509snnN8B7Aa9l3GrdOX99RkOo8GpvSZya3sHsHU8uUcA52lvh2gwOGeYUVgLskBYw9ifDiPd51C+84MIR8Oki+7+EbQ5TQ8Ainug3Wa8JzF7I17J2UZ5ZvYMymQw178DBNxy0G8H8y+vdjVRMVs7pXPjR10ws1SsXCCUBV2Fx9KSoJCjyg24wnoPtMk8PKY1Osa7ir1qoKaK2H2qXdnLmO8YxgUqhLlZQyz1mb+c4aB/TezUPrfM8onjGRYAJKJSOKm0zmxXgOJJIFun3op7xzTakGBpl50XCg7B+u7bkbcCkH4oDO3rjwWbBOspoD4SScjWGuF7pAf0VC0Sfv4mO+cs5YyCnF/fgkT96vnTWSWKgo+x56Pq94KUYq65vN+sLZq/nyF/918Cl3na5znl1B/+MwbmnEoczzJblNroNjGZZpo5NvBz9FPUVY+jrVv7SkPz0oNgCjoiE0boZ8iBZ5RSW/N0SQIB450MBWmNa8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(396003)(136003)(366004)(39850400004)(376002)(26005)(5660300002)(66476007)(66556008)(66946007)(53546011)(8936002)(8676002)(186003)(956004)(2616005)(36756003)(2906002)(31696002)(6486002)(31686004)(16576012)(37006003)(316002)(38100700002)(478600001)(6862004)(86362001)(4326008)(83380400001)(6636002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WjNhcVB1OWxPU3cyTmJ4WmJ0L0l6VXZJKzZCMmpRM3dkUDhoaEZNZmh5bERk?=
 =?utf-8?B?N3VmVUZEZi8rMUNhdHJUMFNlUjRWV2V6NmxOMjEreWlkZjlNZjJKVFREQjVG?=
 =?utf-8?B?YUd3dzNSSHN1bVk5QVMzRjlCZGVzZDVmdTA2T0wrdk5hZmpoOE1hSG8vVlhu?=
 =?utf-8?B?c0xQandvTVlnZ3JLSVhrbkhKYWJwbThZMWRyWE1tQ0hLcm8zbkx4TDFMT3Jm?=
 =?utf-8?B?M1plRmZjTEwySWtmVmtYYjc4ckJTdzhlVG5nMGM3eWYrVVBaZ292Q2ZEUUlX?=
 =?utf-8?B?MlJ5MTNieVprbkIrenZ5MlorSit5Y21sNDRXRGZwSCtEVG1lK1JzWkkxaWNp?=
 =?utf-8?B?b1FQSW41MGwycDRNTDVITDE1SDgyelZkdmZZYWFFanVKUktTN0puTlVVS2ty?=
 =?utf-8?B?RlE1TTZORnJjWXM4VG0yQ1NYQnlTVmR0RmsyU1NnajhFL0xTVlltSEU3bWtX?=
 =?utf-8?B?NUZmKytXc2pjS2oxNUd0anpMcW9ONEVHMzBuVk5zRGltTlc0aSt6ZUNNZXFJ?=
 =?utf-8?B?cWpqT1cyTTNJR1ZtWmlNa2gzMEVaTUFzYUpicC9lZlNVT1BUZ2hnWktnbVdw?=
 =?utf-8?B?aGFPcWJqQjNuSms1d3R0Q2ZSV1hEMFpkUzdvQ3dhY1BidmhQeGUwVUxmSmhD?=
 =?utf-8?B?anhXdVZacHo1VzYwdTd6NjIwSjlFRG5jV1VFSkF2RHA3Y3ZITkFlb0l1eTdO?=
 =?utf-8?B?ZTFUY0hMdEkrVmlycUdJWUY4d0pJTjEzd3NNZjZwd2JQQ3BqaUxDdWp1MGFh?=
 =?utf-8?B?MmpLVVdYeXNTeGhCRmo1aS9jcVdualRuNnZtYXFhQ2I2c1d0LzE1OXpaQ3lP?=
 =?utf-8?B?MVVJQ3NLOWZTL3BHR2NEdi85V1o5YldmVFVtbzFkd3dScVVKclM4Z1lDQ1E0?=
 =?utf-8?B?UjNRbjZJWXZZdkMrL1ZacURyc0xpKy95ZXFOWmVJVWdoR3l3SDRaWjdSY2Zh?=
 =?utf-8?B?d2QvWEN5YlA3R21MTkp3NFlZZEk4NlJiQlc0eVQzTldnSDdzV3dzWUE3RmFO?=
 =?utf-8?B?dXNsMHU4SnBQMXdSZlNYcEpGdmdCcTQ4VEU0Lzc0ZjVxbjNlaUFGTGhqR3Bs?=
 =?utf-8?B?V2d3U2tHZlRrTWl4R1Q4b0V4aHl3bXpncXpJU0UvK3R5V0ZLTEQ0NmlKQWdG?=
 =?utf-8?B?Qldsb1hyaWFBb2Zpa1d4NXdoa2FGeVduQm1OQ2VZMGdORU5iT0FqTHlQa3VM?=
 =?utf-8?B?a2Y3QkEvd0I4MzRHbVFDei9DYVYyYXNoVWdsRmRjY3RRaGJLcWkxY09JNFp5?=
 =?utf-8?B?dEFSSUV3bFNKUEV0NzkxeW9uY0ozL0Vxb1AzRmRPamgra0hOSXNLQjJGV0Uw?=
 =?utf-8?B?azJKaFd0dDJQQ28vVVpoa0k1UjNJUUJSc3dESnplWW9nZm8zaVVUbnI0S01F?=
 =?utf-8?B?R0ZjYlQ3LzJiUnE3b3pYdVFaYU1jbHIrSkd0ZlRiT21SWk0xWm9Id0YvbWNM?=
 =?utf-8?B?Tm54bVlUbmhWaCt3ODZ1eFl1MmNDekFNUFhRK05BU2hzSVNJbnp5N01QZmNN?=
 =?utf-8?B?KzVCSVNiYUdJWFV0NllWSVhESzhjUVNKUWFnSnVMRGRXbzAwcXdSOXMrSi9s?=
 =?utf-8?B?VE9SbG12azZWaFFNNnZYT1JTTXJCcERWdmxGanYwSGJXb1Y5NjR6d1ROVnVz?=
 =?utf-8?B?YlJyWXowdG45dzRPUUFaTG9VU0tGMVRmME5UNXZQNUlMdEpNRVR3WExZMmQy?=
 =?utf-8?B?N1Nud29xUmFJdk1ORzhsQjBCK2xzRjhmaDBRWWxFZHJHbEJrWFhxa2d5V1lX?=
 =?utf-8?Q?Em6+gaaKpSXdTgFcuVdzh1/QSEWdpQPO64p7Wfq?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 04ed711c-a71d-46bf-25c1-08d9571ab784
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2021 07:37:31.0462
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: NykDJsVvKCgGbWmK+ItihzLha2SjBGbeV28lTnt/IvFUGZ7+6J67xIJ2nABcMGJiwKQD7tdxd6B+4qKSRcwOJQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3390

On 03.08.2021 19:36, Dario Faggioli wrote:
> Commit 07b0eb5d0ef0 ("credit2: make sure we pick a runnable unit from the
> runq if there is one") did not fix completely the problem of potentially
> selecting a scheduling unit that will then not be able to run.
> 
> In fact, in case caps are used and the unit we are currently looking
> at, during the runqueue scan, does not have budget to be executed, we
> should continue looking instead than giving up and picking the idle
> unit.
> 
> Signed-off-by: Dario Faggioli <dfaggioli@suse.com>
> Suggested-by: George Dunlap <george.dunlap@citrix.com>

Minor remark: Generally I think the order of tags should follow the
timeline: Suggestions (or bug reports) come before patch creation,
which in turns comes before reviewing / acking of a patch.

> Cc: George Dunlap <george.dunlap@citrix.com>
> Cc: Jan Beulich <jbeulich@suse.com>

Since George is on leave and since I was Cc-ed, I thought I'd make an
attempt at reviewing this. The more that ...

> ---
> This is necessary to completely fix the bug that was described in and
> addressed by 07b0eb5d0ef0 ("credit2: make sure we pick a runnable unit
> from the runq if there is one").
> 
> It should, therefore, be backported and applied to all the branches to
> which that commit has been. About backports, it should be
> straigthforward to do that until 4.13.

... for 4.13.4 it would of course be nice to have it in. Things look
plausible overall, but I've got one question which - despite concerning
code you only move - may play into the underlying issue.

> For 4.12 and earlier, it's trickier, but the fix is still necessary.
> Actually, both 07b0eb5d0ef0 and this patch should be backported to that
> branch!

Depends on what you target with this remark: For downstreams - yes. The
stable upstream branch, otoh, is out of general support, and since this
is not a security fix it is not going to be applied to that tree.

> --- a/xen/common/sched/credit2.c
> +++ b/xen/common/sched/credit2.c
> @@ -3463,48 +3463,61 @@ runq_candidate(struct csched2_runqueue_data *rqd,
>                          (unsigned char *)&d);
>          }
>  
> -        /* Skip non runnable units that we (temporarily) have in the runq */
> -        if ( unlikely(!unit_runnable_state(svc->unit)) )
> -            continue;
> -
> -        /* Only consider vcpus that are allowed to run on this processor. */
> -        if ( !cpumask_test_cpu(cpu, svc->unit->cpu_hard_affinity) )
> -            continue;
> -
>          /*
> -         * If an unit is meant to be picked up by another processor, and such
> -         * processor has not scheduled yet, leave it in the runqueue for him.
> +         * If the unit in the runqueue has more credit than current (or than
> +         * idle, if current is not runnable) or if current is yielding, we may
> +         * want to pick it up.
>           */
> -        if ( svc->tickled_cpu != -1 && svc->tickled_cpu != cpu &&
> -             cpumask_test_cpu(svc->tickled_cpu, &rqd->tickled) )
> +        if ( (yield || svc->credit > snext->credit) )

The "credit" field is plain "int", i.e. signed. Idle domain's vCPU-s
don't get INT_MIN credit afaict (there's only one use of INT_MIN
throughout the entire file). Hence I can't see why in principle a
vCPU of an ordinary domain couldn't have equal or less credit than
the CPU's idle vCPU. I therefore wonder whether "yield" shouldn't be
set to true whenever snext != scurr (or - see the top of the
function - is_idle_unit() returns true), to make sure this if()'s
body gets entered in such a case.

As a nit, there's no need for the inner parentheses (anymore).

>          {
> -            SCHED_STAT_CRANK(deferred_to_tickled_cpu);
> -            continue;
> -        }
> +            /* Skip non runnable units that we (temporarily) have in the runq */
> +            if ( unlikely(!unit_runnable_state(svc->unit)) )
> +                continue;
>  
> -        /*
> -         * If this is on a different processor, don't pull it unless
> -         * its credit is at least CSCHED2_MIGRATE_RESIST higher.
> -         */
> -        if ( sched_unit_master(svc->unit) != cpu
> -             && snext->credit + CSCHED2_MIGRATE_RESIST > svc->credit )
> -        {
> -            SCHED_STAT_CRANK(migrate_resisted);
> -            continue;
> -        }
> +            /* Only consider vcpus that are allowed to run on this processor. */
> +            if ( !cpumask_test_cpu(cpu, svc->unit->cpu_hard_affinity) )
> +                continue;
>  
> -        /*
> -         * If the one in the runqueue has more credit than current (or idle,
> -         * if current is not runnable), or if current is yielding, and also
> -         * if the one in runqueue either is not capped, or is capped but has
> -         * some budget, then choose it.
> -         */
> -        if ( (yield || svc->credit > snext->credit) &&
> -             (!has_cap(svc) || unit_grab_budget(svc)) )
> -            snext = svc;
> +            /*
> +             * If an unit is meant to be picked up by another processor, and such

Nit: As you move/re-indent (and hence touch) this, would you mind also
replacing "an" by "a"? I'm less certain about "such" and ...

> +             * processor has not scheduled yet, leave it in the runqueue for him.

... "him", but to me "that" and "it" respectively would seem more
suitable.

> +             */
> +            if ( svc->tickled_cpu != -1 && svc->tickled_cpu != cpu &&
> +                 cpumask_test_cpu(svc->tickled_cpu, &rqd->tickled) )
> +            {
> +                SCHED_STAT_CRANK(deferred_to_tickled_cpu);
> +                continue;
> +            }
>  
> -        /* In any case, if we got this far, break. */
> -        break;
> +            /*
> +             * If this is on a different processor, don't pull it unless
> +             * its credit is at least CSCHED2_MIGRATE_RESIST higher.
> +             */
> +            if ( sched_unit_master(svc->unit) != cpu
> +                 && snext->credit + CSCHED2_MIGRATE_RESIST > svc->credit )

Again, despite the code just getting moved/re-indented, please correct
style here ("&&" to be moved to the end of the earlier line) as you
touch the code.

Otoh I'm having trouble seeing why all of this code movement / re-
indentation is necessary in the first place: If the initial if() was
inverted to

        if ( !yield && svc->credit <= snext->credit )
            continue;

less code churn would result afaict, and then the backports likely also
would become less involved (plus my stylistic remarks might evaporate,
as the affected code may then remain untouched altogether).

Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 04 09:51:46 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 09:51:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163696.299790 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBDYg-0002bm-OE; Wed, 04 Aug 2021 09:51:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163696.299790; Wed, 04 Aug 2021 09:51:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBDYg-0002bf-L1; Wed, 04 Aug 2021 09:51:30 +0000
Received: by outflank-mailman (input) for mailman id 163696;
 Wed, 04 Aug 2021 09:51: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 1mBDYf-0002bV-QC; Wed, 04 Aug 2021 09:51: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 1mBDYf-0005eQ-HF; Wed, 04 Aug 2021 09:51:29 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mBDYf-0002DU-9h; Wed, 04 Aug 2021 09:51:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mBDYf-0003HD-9G; Wed, 04 Aug 2021 09:51:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=0rinA3pL9OCVqUr+63QHg9SfgF9Y5TAgPl4Zg1I28qE=; b=0uE+INixD4cDgg2qWNiHFFY7ON
	460P6K+u0+DLBQa1LsRPGlw8XdFZTA2VpGuz/0jnlYMovrNLv7oTvpfSAszN2JLZtp7MNtyOcWgKW
	IDxAaSxR0rPNrD9nqfLC86L/bO3FQBsryDB8Gk/RyZSfg7MjyBrRcFi4VxOWGiS3t5IM=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164101-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-coverity test] 164101: all pass - PUSHED
X-Osstest-Versions-This:
    xen=2278d2cbb0b7c1b48b298c6c4c6a7de2271ac928
X-Osstest-Versions-That:
    xen=e066ca5acc2ee3b5db5c005e1a548b05e753e07d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 04 Aug 2021 09:51:29 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 xen                  2278d2cbb0b7c1b48b298c6c4c6a7de2271ac928
baseline version:
 xen                  e066ca5acc2ee3b5db5c005e1a548b05e753e07d

Last test of basis   164072  2021-08-01 09:19:40 Z    3 days
Testing same since   164101  2021-08-04 09:19:40 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Brian Woods <brian.woods@xilinx.com>
  Julien Grall <jgrall@amazon.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stefano Stabellini <stefano.stabellini@xilinx.com>

jobs:
 coverity-amd64                                               pass    


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

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

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

Test harness 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
   e066ca5acc..2278d2cbb0  2278d2cbb0b7c1b48b298c6c4c6a7de2271ac928 -> coverity-tested/smoke


From xen-devel-bounces@lists.xenproject.org Wed Aug 04 10:01:23 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 10:01:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163704.299804 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBDiB-00047n-LM; Wed, 04 Aug 2021 10:01:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163704.299804; Wed, 04 Aug 2021 10: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 1mBDiB-00047g-IZ; Wed, 04 Aug 2021 10:01:19 +0000
Received: by outflank-mailman (input) for mailman id 163704;
 Wed, 04 Aug 2021 10: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 1mBDiA-00047W-R4; Wed, 04 Aug 2021 10: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 1mBDiA-0005tu-M4; Wed, 04 Aug 2021 10: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 1mBDiA-0002VX-Dy; Wed, 04 Aug 2021 10:01:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mBDiA-0000gz-DT; Wed, 04 Aug 2021 10: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=jS6iPO2BdjgKpjHXpslXfR6HAVlDQnqYExGQ9uVaa+0=; b=wazQuQerbkm3wexIzjFUhZjsFM
	XnNUJH54zRQB3LwjZZdpD0SdqJRo13wNY7m6CmHeSFzmQfGKeiD7W0ybP48LK6NFVLV/umED+RyoS
	7JrBxQ96imoqg6sLEaKr7GsWGIXS70OFdhsxWx35A1OgPNP82eOG4h11QoXFowah8fAo=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164099-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 164099: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=814a8aaeeb51fa0fd65a030853cc86bc6d29b9d8
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 04 Aug 2021 10:01:18 +0000

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

Regressions :-(

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

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

version targeted for testing:
 libvirt              814a8aaeeb51fa0fd65a030853cc86bc6d29b9d8
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  390 days
Failing since        151818  2020-07-11 04:18:52 Z  389 days  381 attempts
Testing same since   164099  2021-08-04 04:18:55 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  Cédric Bosdonnat <cbosdonnat@suse.com>
  Côme Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano Fidêncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Ian Wienand <iwienand@redhat.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  John Ferlan <jferlan@redhat.com>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  Ján Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Michał Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  Moshe Levi <moshele@nvidia.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr Drąg <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tomáš Golembiovský <tgolembi@redhat.com>
  Tomáš Janoušek <tomi@nomi.cz>
  Tuguoyi <tu.guoyi@h3c.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  William Douglas <william.douglas@intel.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.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                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Wed Aug 04 11:23:42 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 11:23:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163714.299820 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBEzh-0002wn-RL; Wed, 04 Aug 2021 11:23:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163714.299820; Wed, 04 Aug 2021 11:23:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBEzh-0002wg-Mm; Wed, 04 Aug 2021 11:23:29 +0000
Received: by outflank-mailman (input) for mailman id 163714;
 Wed, 04 Aug 2021 11:23:28 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mBEzg-0002wa-2L
 for xen-devel@lists.xenproject.org; Wed, 04 Aug 2021 11:23:28 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mBEze-00074I-LQ; Wed, 04 Aug 2021 11:23:26 +0000
Received: from 54-240-197-238.amazon.com ([54.240.197.238]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mBEze-0001I0-FS; Wed, 04 Aug 2021 11:23:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=2u5ypKpIgKZQVlBDestsKe4dPZAS596/C+xOx7bbVaw=; b=6dTqI05b5AaPR2zW7Gzu6vcxP1
	Dl0xSaBSP57dg1heifKQGVzWfeU8KkHnDTY0PfA+8F1Xg892NxSap3WHq8j7GakXr6p09Sykqmjlm
	+73fDn/aoCuq/6XERzwpdRaUIZOM3Ej4y6cUC6UqqkxaQ9cMlfAV33oWAR3HDSx7xOgc=;
Subject: Re: [PATCH] do not p2m_invalidate_root when iommu_use_hap_pt
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, Volodymyr_Babchuk@epam.com,
 Bertrand.Marquis@arm.com
References: <alpine.DEB.2.21.2108031419500.19737@sstabellini-ThinkPad-T480s>
 <ff5e9e5a-287d-127c-1d39-57c31564e9b3@xen.org>
 <alpine.DEB.2.21.2108031702430.19737@sstabellini-ThinkPad-T480s>
From: Julien Grall <julien@xen.org>
Message-ID: <a2a99173-c566-c492-310c-003490cdba5f@xen.org>
Date: Wed, 4 Aug 2021 12:23:24 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <alpine.DEB.2.21.2108031702430.19737@sstabellini-ThinkPad-T480s>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 04/08/2021 01:08, Stefano Stabellini wrote:
>>> diff --git a/xen/arch/arm/arm64/vsysreg.c b/xen/arch/arm/arm64/vsysreg.c
>>> index caf17174b8..125a9281fc 100644
>>> --- a/xen/arch/arm/arm64/vsysreg.c
>>> +++ b/xen/arch/arm/arm64/vsysreg.c
>>> @@ -105,6 +105,13 @@ void do_sysreg(struct cpu_user_regs *regs,
>>>        case HSR_SYSREG_DCISW:
>>>        case HSR_SYSREG_DCCSW:
>>>        case HSR_SYSREG_DCCISW:
>>> +        if ( iommu_use_hap_pt(current->domain) )
>>> +        {
>>> +            gdprintk(XENLOG_ERR,
>>> +                     "d%u uses set/way cache flushes with the IOMMU on. It
>>> cannot work. Replace set/way instructions with dc [ci]vac and retry.
>>> Injecting exception into the guest now.\n",
>>
>> This line would be far too long to print on the serial. I think you want to
>> add a few newline here.
> 
> Fair enough but I'll try to keep most info on the same line because
> otherwise with a dom0less boot it can get confusing. I suggest:

I am not quite too sure to understand why it would get confusing with 
dom0less. Can you give an example?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 04 11:34:15 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 11:34:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163722.299831 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBFA1-0004OI-Oj; Wed, 04 Aug 2021 11:34:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163722.299831; Wed, 04 Aug 2021 11:34:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBFA1-0004OB-Ln; Wed, 04 Aug 2021 11:34:09 +0000
Received: by outflank-mailman (input) for mailman id 163722;
 Wed, 04 Aug 2021 11:34:07 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RR6J=M3=suse.com=dfaggioli@srs-us1.protection.inumbo.net>)
 id 1mBF9z-0004O5-GB
 for xen-devel@lists.xenproject.org; Wed, 04 Aug 2021 11:34:07 +0000
Received: from smtp-out2.suse.de (unknown [195.135.220.29])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 9a7bf0b7-b4e0-4f95-9280-44aa1046a4e6;
 Wed, 04 Aug 2021 11:34:06 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 3C9B71FDCF;
 Wed,  4 Aug 2021 11:34:05 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 02FCA13942;
 Wed,  4 Aug 2021 11:34:04 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id o2C/OSx7CmHoGAAAGKfGzw
 (envelope-from <dfaggioli@suse.com>); Wed, 04 Aug 2021 11: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>
X-Inumbo-ID: 9a7bf0b7-b4e0-4f95-9280-44aa1046a4e6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1628076845; 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=KV1/00yba6csrjbB/Pkl+NZExUU1xnyFn9dyACYwaTM=;
	b=qHn3k454SOJvgLJfHlfg9B6oE/cx9i1z8w3eGBYNM2wOBzLi+lJB4vKLJLcGxr5LUYvojg
	yZx5H1DfWFR2xAqrQCAjg8EGh0nUjMa4eKoQrDxeTsyUfIqsHfBmoTdsF2F6D4Oq3KGDah
	LVAo/OvD1huR6t6jelZmJZqPf+vEPus=
Subject: [for 4.12 and older PATCH] xen: credit2: vCPUs' pause_flags must be
 accessed atomically
From: Dario Faggioli <dfaggioli@suse.com>
To: xen-devel@lists.xenproject.org, xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>, George Dunlap <george.dunlap@citrix.com>,
 Jan Beulich <jbeulich@suse.com>
Date: Wed, 04 Aug 2021 13:34:04 +0200
Message-ID: <162807684430.31509.16026247574393394637.stgit@Wayrath>
User-Agent: StGit/0.23
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit

The pause_flags field must always be modified atomically, as it is
manupulated (e.g., in schedule.c) without any lock held.

Credit2 code was not doing that, which causes races.

Specifically, we have see cases where the unprotected setting of the
_VPF_migrating flag in csched_credit2:migrate() was racing with the
resetting and testing of the _VPF_blocked flag in
schedule.c:vcpu_unblock() and schedule.c:vcpu_wake(). This caused the
vCPU that was being unblocked to not be put back in the Credit2
runqueue, which then causes other issue.

This unlocked accesses were introduced by ad4b3e1e9df ("xen: credit2:
implement utilization cap") and in 222234f2ad1 ("xen: credit2: use
non-atomic cpumask and bit operations").

Suggested-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Dario Faggioli <dfaggioli@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>
---
This patch is only necessary for branches older than 4.13 because.

In fact, in newer ones, the problem has been resolved indirectly by
commit a76255b42665 "xen/sched: make credit2 scheduler vcpu agnostic."
(which was part of Juergen's core-scheduling series).

I do know that 4.12 and older are in security only mode and that this
patch will therefore not be applied. I'm mainly posting it because I
think it may be useful for users and downstreams to know that there's an
issue there, and so that they can pick it up if they're still using such
code-base (especially considering that, at least for 4.12, Credit2 was
default already).

Hope this is not a problem!

Thanks and Regards
---
 xen/common/sched_credit2.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/common/sched_credit2.c b/xen/common/sched_credit2.c
index d6ebd126de..a0dc33d3e9 100644
--- a/xen/common/sched_credit2.c
+++ b/xen/common/sched_credit2.c
@@ -1786,7 +1786,7 @@ static void park_vcpu(struct csched2_vcpu *svc)
      *
      * In both cases, we also add it to the list of parked vCPUs of the domain.
      */
-    __set_bit(_VPF_parked, &v->pause_flags);
+    set_bit(_VPF_parked, &v->pause_flags);
     if ( vcpu_on_runq(svc) )
     {
         runq_remove(svc);
@@ -1895,7 +1895,7 @@ unpark_parked_vcpus(const struct scheduler *ops, struct list_head *vcpus)
 
         lock = vcpu_schedule_lock_irqsave(svc->vcpu, &flags);
 
-        __clear_bit(_VPF_parked, &svc->vcpu->pause_flags);
+        clear_bit(_VPF_parked, &svc->vcpu->pause_flags);
         if ( unlikely(svc->flags & CSFLAG_scheduled) )
         {
             /*
@@ -2492,7 +2492,7 @@ static void migrate(const struct scheduler *ops,
     {
         /* It's running; mark it to migrate. */
         svc->migrate_rqd = trqd;
-        __set_bit(_VPF_migrating, &svc->vcpu->pause_flags);
+        set_bit(_VPF_migrating, &svc->vcpu->pause_flags);
         __set_bit(__CSFLAG_runq_migrate_request, &svc->flags);
         SCHED_STAT_CRANK(migrate_requested);
         tickle_cpu(cpu, svc->rqd);




From xen-devel-bounces@lists.xenproject.org Wed Aug 04 11:48:01 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 11:48:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163730.299844 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBFNM-0005qj-0p; Wed, 04 Aug 2021 11:47:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163730.299844; Wed, 04 Aug 2021 11: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 1mBFNL-0005qc-U7; Wed, 04 Aug 2021 11:47:55 +0000
Received: by outflank-mailman (input) for mailman id 163730;
 Wed, 04 Aug 2021 11:47: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 1mBFNL-0005qS-0z; Wed, 04 Aug 2021 11:47: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 1mBFNK-0007Od-Rz; Wed, 04 Aug 2021 11:47:54 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mBFNK-0007NL-EX; Wed, 04 Aug 2021 11:47:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mBFNK-0000SJ-Dk; Wed, 04 Aug 2021 11:47: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=5czo8ZosOt66k6qpah5TylKOSZ4pyB8zbHtIoJ6ltks=; b=zCE3dZO2s5CNHNoonSvAe+T6Gw
	wcgV+8czvG/sQzMxSogzECmKxHd1Wfu54Zo35rtgoOfAT1K4rQU+zeveoTagxJ3glVvUwPlhHWLsc
	nfpnsqapcvQz5Xp738afS2nGzNUec++UlzgSNahD2hxG5s1PxF/UELbcpNOS33YCNrUE=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164097-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 164097: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt: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-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=2278d2cbb0b7c1b48b298c6c4c6a7de2271ac928
X-Osstest-Versions-That:
    xen=2278d2cbb0b7c1b48b298c6c4c6a7de2271ac928
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 04 Aug 2021 11:47:54 +0000

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

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 164094
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164094
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164094
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164094
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 164094
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 164094
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164094
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164094
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 164094
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164094
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164094
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-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-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  2278d2cbb0b7c1b48b298c6c4c6a7de2271ac928
baseline version:
 xen                  2278d2cbb0b7c1b48b298c6c4c6a7de2271ac928

Last test of basis   164097  2021-08-04 01:54:08 Z    0 days
Testing same since                          (not found)         0 attempts

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


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

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

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

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


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Wed Aug 04 13:28:43 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 13:28:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163742.299859 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBGwf-0006QN-PN; Wed, 04 Aug 2021 13:28:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163742.299859; Wed, 04 Aug 2021 13:28:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBGwf-0006QG-MD; Wed, 04 Aug 2021 13:28:29 +0000
Received: by outflank-mailman (input) for mailman id 163742;
 Wed, 04 Aug 2021 13:28:28 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RR6J=M3=suse.com=dfaggioli@srs-us1.protection.inumbo.net>)
 id 1mBGwe-0006QA-7I
 for xen-devel@lists.xenproject.org; Wed, 04 Aug 2021 13:28:28 +0000
Received: from smtp-out1.suse.de (unknown [195.135.220.28])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 73dc670e-9194-4b25-8b97-079131048fcb;
 Wed, 04 Aug 2021 13:28: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 smtp-out1.suse.de (Postfix) with ESMTPS id D574221D1D;
 Wed,  4 Aug 2021 13:28: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 9C2AC13C7F;
 Wed,  4 Aug 2021 13:28:25 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id mtKLI/mVCmGmXQAAMHmgww
 (envelope-from <dfaggioli@suse.com>); Wed, 04 Aug 2021 13:28:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 73dc670e-9194-4b25-8b97-079131048fcb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1628083705; 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=5e1AooYmcDCl65gMxBHRkJOfos8nSyV4QAbuSvCkoLY=;
	b=dWjWoXjEitde8//6kHpS4umS3MRFAgUEp3kC7H55B9nuRcEu0iXw4+MYGqYOsNICh+PtqC
	uvk1SkgauBl1aYbJL/FSsTcb/BgFZ+WI6hHB7KcxgiimTA5i+Kaa09LQ221scbTgrMg2sm
	nFxPHlLFW8WVBT1zU4NeyTCXcvyMC9Y=
Message-ID: <dc1f7b4c18e46d1cdadedc9db2fcab516ad4cc81.camel@suse.com>
Subject: Re: [PATCH] Xen: credit2: avoid picking a spurious idle unit when
 caps are used
From: Dario Faggioli <dfaggioli@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>, xen-devel@lists.xenproject.org
Date: Wed, 04 Aug 2021 15:28:24 +0200
In-Reply-To: <d8c821f4-8cdf-8d77-90cb-5149a70c7741@suse.com>
References: <162801221667.955.3439735419862661383.stgit@Wayrath>
	 <d8c821f4-8cdf-8d77-90cb-5149a70c7741@suse.com>
Content-Type: multipart/signed; micalg="pgp-sha256";
	protocol="application/pgp-signature"; boundary="=-4ngynJ28XS+oUoQU7RHt"
User-Agent: Evolution 3.40.3 (by Flathub.org) 
MIME-Version: 1.0


--=-4ngynJ28XS+oUoQU7RHt
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2021-08-04 at 09:37 +0200, Jan Beulich wrote:
> On 03.08.2021 19:36, Dario Faggioli wrote:
> >=20
> > Signed-off-by: Dario Faggioli <dfaggioli@suse.com>
> > Suggested-by: George Dunlap <george.dunlap@citrix.com>
>=20
> Minor remark: Generally I think the order of tags should follow the
> timeline: Suggestions (or bug reports) come before patch creation,
> which in turns comes before reviewing / acking of a patch.
>=20
Right. In fact, I agree, and I keep forgetting doing that.

Thanks, will fix.

> > Cc: George Dunlap <george.dunlap@citrix.com>
> > Cc: Jan Beulich <jbeulich@suse.com>
>=20
> Since George is on leave and since I was Cc-ed, I thought I'd make an
> attempt at reviewing this. The more that ...
>=20
Yep. You were Cc-ed because of the request to backport and include in
stable branches, but thank you very much for also taking the time to
have a look at it!! :-)

> > It should, therefore, be backported and applied to all the branches
> > to
> > which that commit has been. About backports, it should be
> > straigthforward to do that until 4.13.
>=20
> ... for 4.13.4 it would of course be nice to have it in. Things look
> plausible overall, but I've got one question which - despite concerning
> code you only move - may play into the underlying issue.
>=20
Ok.

> > For 4.12 and earlier, it's trickier, but the fix is still necessary.
> > Actually, both 07b0eb5d0ef0 and this patch should be backported to
> > that
> > branch!
>=20
> Depends on what you target with this remark: For downstreams - yes. The
> stable upstream branch, otoh, is out of general support, and since this
> is not a security fix it is not going to be applied to that tree.
>=20
Yeah, I know. I decided to mention this (although, I probably could
have made myself more clear) and provide a backport (of this and of the
other, already committed patch) just for convenience of both users and
downstreams that happens to use such codebases.

> > =C2=A0=C2=A0=C2=A0=C2=A0=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 an unit is meant=
 to be picked up by another processor,
> > and such
> > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * processor has not s=
cheduled yet, leave it in the runqueue
> > for him.
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * If the unit in the =
runqueue has more credit than current
> > (or than
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * idle, if current is=
 not runnable) or if current is
> > yielding, we may
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * want to pick it up.
> > =C2=A0=C2=A0=C2=A0=C2=A0=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 ( svc->tickled_cpu !=3D =
-1 && svc->tickled_cpu !=3D cpu &&
> > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 cpumask_test_cpu(svc->tickled_cpu, &rqd->tickled) )
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( (yield || svc->credit =
> snext->credit) )
>=20
> The "credit" field is plain "int", i.e. signed. Idle domain's vCPU-s
> don't get INT_MIN credit afaict (there's only one use of INT_MIN
> throughout the entire file). Hence I can't see why in principle a
> vCPU of an ordinary domain couldn't have equal or less credit than
> the CPU's idle vCPU.=C2=A0
>
So, if I understand what you mean, yes, we've had that issue, i.e.,
vCPUs managing to get to credit values which were lower than the one of
the idle vCPUs.

That was, in fact, even causing issue and it's what lead to
36f3662f27dec32d76c0edb4c6b62b9628d6869d "credit2: avoid vCPUs to ever
reach lower credits than idle".

After that commit, idle vCPUs' credits are set to CSCHED2_CREDIT_MIN-1
and, for regular vCPUs, whenever we subtract some value from their
credits, we limit them to not go beyond CSCHED2_CREDIT_MIN (this
happens in t2c_update(), called by burn_credit()).

Therefore, it should now not be possible any longer for regular vCPUs
to fall behind idle vCPUs, in terms of amount of credits.

So, was it this you were asking about and, if yes, does this answer
your concerns?

> Otoh I'm having trouble seeing why all of this code movement / re-
> indentation is necessary in the first place: If the initial if() was
> inverted to
>=20
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( !yield && svc->credit <=
=3D snext->credit )
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 contin=
ue;
>=20
Actually, I am just realizing that if I, instead, use:

        if ( !yield && svc->credit <=3D snext->credit )
            break;

It would be much better (even as compared to the current situation).

In fact, right now that the priority check is toward the end, we have
do the checks that comes earlier in the loop (is it runnable? Can it
run on this CPU? Is it worth migrating it? Etc) at least for one
element of the runqueue.

With either my code or above the suggested form, we don't, but we may
have to do at least the priority check for all the elements of the
runqueue. This was something I knew, and as a matter of fact, it should
be quick enough (and comparable with doing expensive checks even on
just 1 vCPU). But still, it's ugly.

However, we know that the runqueue is sorted by credits! So, unless
we're yielding, it is always the case that as soon as we find there an
unit that has less credit than snext, we want to bail (and keep running
snext).

This means that we neither scan all the runqueues, not even for doing
just quick priority checks, nor we, in the case that snext is the
actual highest priority unit need to do any check for the unit at the
top of the runqueue.

So, I'm actually re-doing (and re-testing) the patch in this way.

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

--=-4ngynJ28XS+oUoQU7RHt
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

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

iQIzBAABCAAdFiEES5ssOj3Vhr0WPnOLFkJ4iaW4c+4FAmEKlfgACgkQFkJ4iaW4
c+5I/w/+Jlsp+IOG4Pyil1ZqMKCO+GpYPu2FOrtAaQqBbkzaxJHeEuHwQjFEiQh2
eSwVvXcr7BJ9TbiZtr5vLSZMpr0Rc1cHvMnoPlJzJ4ZlHAbpffEwps/DCAupJK7L
tnmYpNvTVdMzYNWQNDxM9O0BoS5ZSfTkHseQirsSkSNAT6ZhxJ5o97Qra/Jg9j1v
pmXYvLA0o2SmK5ksHB1vSzU2nYTXBOGP1Hz6D5B60ntIsu1tJl3FGAiYNYUDu9Kc
Iv6P4+mLphT23cx9EXF5TcE/Q3+UMi+ZrhyQfPQwfUY9uFojJ4+o87R6TneUjXg8
JpPcUEK1pSbUlYVpgiKB7/0RLuW23SRoBG7rRmRF8tCXaIg/KZsrrAHr/OmxWT5x
zx0q0rTfGGLdgn/i7YXvTf9ocK/i9ffdFY3poI6zFCb/y2QakkTWNCmOh1xZQ1W1
E4HE4ORqfOWo1XCtp/MqMS3YJVD51Ou2ap1CeMjzs2sXORCqq5P6wuM9ZoJT4ghH
+Otv/gdplGiQlAh/vT3T6zviF7zJ8Q8v6Kk82uXhcWBrVPYPy4/FhalFzxDFbq3T
CdastnVAYq8b537ckLJzfCtnPS1GKL6TSmSPA0cqBWDozObc1d5oTpb/BY6pp3y5
RC1FLoXAFhbUO6HAH2EedhX+3CTwZqXxQEnKBOxzLoAI/s9eCuk=
=BpNw
-----END PGP SIGNATURE-----

--=-4ngynJ28XS+oUoQU7RHt--



From xen-devel-bounces@lists.xenproject.org Wed Aug 04 15:14:06 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 15:14:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163750.299871 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBIae-0007WD-MY; Wed, 04 Aug 2021 15:13:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163750.299871; Wed, 04 Aug 2021 15:13:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBIae-0007W6-IZ; Wed, 04 Aug 2021 15:13:52 +0000
Received: by outflank-mailman (input) for mailman id 163750;
 Wed, 04 Aug 2021 15:13:51 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=s7SU=M3=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mBIad-0007W0-1h
 for xen-devel@lists.xenproject.org; Wed, 04 Aug 2021 15:13:51 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 9187d87c-f536-11eb-9b71-12813bfff9fa;
 Wed, 04 Aug 2021 15:13:49 +0000 (UTC)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2054.outbound.protection.outlook.com [104.47.12.54]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-19-aVAV0xQOMT2d_CxmFoJ3UQ-1; Wed, 04 Aug 2021 17:13:46 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB7087.eurprd04.prod.outlook.com (2603:10a6:800:12a::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.21; Wed, 4 Aug
 2021 15:13:45 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4373.027; Wed, 4 Aug 2021
 15:13:45 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0284.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1::32) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4394.15 via Frontend Transport; Wed, 4 Aug 2021 15:13:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9187d87c-f536-11eb-9b71-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628090028;
	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=8JNTBLY6Z0sQ6/6AOlYg68CLIDK+UNOA1Idq7NdQhIo=;
	b=ejXKh6Z21jG23vflJYyd+TuH5vaTJuvuZ3pJJWwU2GGGdkaX6RcuGXXH8R2014se9sXhgU
	D6cm+Lmyjxd/esvg5JfJlbXAqoOI6pbKuHyVvv8V3h2CF04Y8XEDxgtyqRnwb7ao/ekq/6
	k5QTJ/98sMhS4DwTV4uRvzf2o7ghFIA=
X-MC-Unique: aVAV0xQOMT2d_CxmFoJ3UQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=h3v8/pE0N+y0WxBTrFr+GqnfdiWWUY/dUzy7/wAnXecyzrQeq2RMaUgjaVKTw5f5+3Tk8VDgiWjDgDNoNvqqswIJ3EqbRzEfrkrB/Qq+11q3RSeyyXNacVPAzl9VlvrYgD0RYkOi+MMuon+3SyatGbR0IzsE0bWPi6wMnjxJHAFI0XUjOYOltCfE7Q9qxcw0DWCZcvyZdUycL9FMxEnyzdTklauZvXN6y9QkUfxLyJpsyuqMvqRvcBNUmNQZ6iN4e+FCilkfUjrTTkL5uyMN88sBsIGfNXXko9fu05YDMNyagc+NqFrrDY38EckBplBvIcfc3uQ8tdZ4+HZq5cqaVQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7Al1IjaVLLEgW/ffilDr3J5qAfc1MqdUnjbn1MnErqQ=;
 b=h1wDf6OI045BUZJFlW3/qM8RgLHU6vn3THAFP1GJEgX66QSAkpRX/NuBz6yE+tGguS8WORznkfOvCp36N73FKTTakhiNPgu64d7FQOyn41P4k4200KHZmABgjxbhWKTAbwQDbgbR9W/kdOCVuhk7Slqb3GbZsbxf+sk6rd7+RHjqhn9Oml4T1J5ZUCCK4eYU8IHFq1TX/DK/enDCIvMtCn0TVb4JMhm/LRD6jlXuOtzrg7FEm32+hpDhlxnNVq5rgARJk76c4zjapxBikwoGk4If+YMDrhN8X+2enn94XKqjj3FR3iAxO/v6gfi469LQ8Wlasb71fyvkec1ZhJKovw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH] Xen: credit2: avoid picking a spurious idle unit when
 caps are used
To: Dario Faggioli <dfaggioli@suse.com>
CC: George Dunlap <george.dunlap@citrix.com>, xen-devel@lists.xenproject.org
References: <162801221667.955.3439735419862661383.stgit@Wayrath>
 <d8c821f4-8cdf-8d77-90cb-5149a70c7741@suse.com>
 <dc1f7b4c18e46d1cdadedc9db2fcab516ad4cc81.camel@suse.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <96a43429-798e-1bb9-7718-9ccf02d7dfeb@suse.com>
Date: Wed, 4 Aug 2021 17:13:43 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <dc1f7b4c18e46d1cdadedc9db2fcab516ad4cc81.camel@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: PR0P264CA0284.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1::32) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 477dbe49-931b-4969-b75b-08d9575a73e8
X-MS-TrafficTypeDiagnostic: VI1PR04MB7087:
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB7087B6BB2ED00B8CA125D369B3F19@VI1PR04MB7087.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8dr9x/4BQSpBO4RDQM5MdUT7LYhHrMgvPSDogy0KiEDeHzWtwV+sheaAB1x0N3xnyKM0O1JArRQdHyfCBGdkSW55jBJeNRj37TulbDSB1Ty2YNX8NplZHwJ/RI3aF6o/4a6u+/WM6rsVexZJWCC4ksUqPCeCMN3S4ch2yndzks+sVYSZCAQRvSFcvWfYpv69ldOC5I/NzbM15YlY6SxLWS1imd4oJsakx5QQYZwo+TkrX/3WKh00l9T82A2dOFqVEiB1ooEbLAOxz7jj4uimu4UwyCke5OEEOwL7e0aGCHS3Kk9vNFY/uClZ2Jb0wUeryp1Z+WOE6IOKeSwE2kdi1+f/oXgcx6SYxmXM+wDMnqB/Vz806yyITRyVKXTKxxAH75YtW/zybaSEIzU+z8LgSvJrQJYR+Xi24EqLNj/utaW2hRCh5fpzRxoJO79KBY5w21zeXlxhop9TEV0lnHw0rJqTMnKy2jzSPIV1pXLLQSAwryIl5JrcKlkGeOFsTpqsaxSkDlMrydofPQyyCw26kgppP6OUxjFOhzk0vPQuNYy/y8bdUrfmoOSP26t0iBXKzpjZ3VtiTx3p9Zfy4ntI3K75RhBvyuhA0Ley2zLU4OCXxBujC99uo+djCjxqmccPM509NPhfQsde9QKJGDaJLHBIaG8DXbIgdwI7QEO8Yemk527y3wN0rHF+PEBEnw9y2XIga/B+esMgw5cfQGwuYsQo7JC7ydb9VH6pKOf37jw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(136003)(39860400002)(366004)(346002)(376002)(83380400001)(36756003)(31696002)(16576012)(186003)(316002)(6862004)(26005)(6486002)(4326008)(37006003)(66946007)(5660300002)(2906002)(86362001)(8676002)(53546011)(38100700002)(8936002)(478600001)(6636002)(66556008)(31686004)(66476007)(956004)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?bNt2QcXdOKtKIh+MbKL0OxsPe5cUOhe3CXeKlL26ooYN4ye1ZkGEwFnEgZ4o?=
 =?us-ascii?Q?qI5eZUW2m1jK+9LRfA5QHFi9SxXZgEBEtfFrAshXyE8wDB5RyuLsUvEaMc0S?=
 =?us-ascii?Q?vHKahJFieWQoyufAXEr6N/swBJNN5rrs/AniQbSszWSPti35SppmuAIAqqbP?=
 =?us-ascii?Q?o3X+F0wQ7i6JBkuhaC5vcL6gX49pfS20gy677s1AHg0XoXoAhTEG+VbgwacG?=
 =?us-ascii?Q?8x5KVqp7cl8S8mnj1pVr9ovkStkpsgWmMO7s4NReZkMCFdj9Z3kUNngPwgAy?=
 =?us-ascii?Q?x35Ehh4aXq+JicATu4AEv2Bu9xHsJ3xLcVxFrv0eVuRbKbAyeRK6feivjjHf?=
 =?us-ascii?Q?Bq0FCzTgDq6zIohTNaRjJUCqa0D/I0hIBgiY81ynSlt/Aeb4mLHcJxQvPady?=
 =?us-ascii?Q?p/DNCoxvJOmKhQ41o1suJEvT07r+rcOjErnCnW9opoddQZtlq1hxybEnr7kX?=
 =?us-ascii?Q?dVnJvkoN8PO+7CHvGUj9+AbU/4Zc4lji0/Lw3ZbCAWqkJ7yfg79JPDhy/u/9?=
 =?us-ascii?Q?4/Jx1RbAba5i9JQK4qjoZcsqwV0LD27v/0onD6orxAfr+yCJ6Qo/2JrK2NEo?=
 =?us-ascii?Q?s+5SOhmRk3Twmq0zYDS6DKafWDo1VjsSJ46kdsf2He6CHobLai8sFgZ+U/Pa?=
 =?us-ascii?Q?D+SmFUfgyYgF+uI+fblmXgGINOk6nNuguwvfeRJdi3pQbTlylkOFLEfjVB5q?=
 =?us-ascii?Q?wHxW4HzmlnnTil7A0qYnoUqwhloJxYnSQQ8qyRH/1VBwCo2Dq/69pFYRfg97?=
 =?us-ascii?Q?1CfV7alIK4rFCMUe7KbBxoy1Tij5qtfZEYRHbq7STmOkFy2ffgc77LsU2ohD?=
 =?us-ascii?Q?yltFsWEyjjSnVRP6CL1J5W4HFjK/nwcqQ0M5sytodoawBc2PAFGV1Hnih9Ks?=
 =?us-ascii?Q?ffGXgqwOrCfcD6DE/k9Gjcp25qwIUy2IITvsReBy8hqwnrsV4H0tNwKJwLwh?=
 =?us-ascii?Q?Ce4N4UzxH/59bGslfPz99Vsqr795Yw50k81BOO6f0I00CXVOUtfT4MH2QK2W?=
 =?us-ascii?Q?LtPRRN4VsCnYA25BJ46zNXKB5R3m29p0vtmk9LZFTrVV4+c+k2J9918V9EVO?=
 =?us-ascii?Q?1aBJzgQYSFNUhZI+MYzTj+ptpTDgPfzly35C5DdLg4RnCwRCqiZQ7LJnObIx?=
 =?us-ascii?Q?mL3AiSwyjL1gVQQGTwREsaHM1zYUO/ahisEVTT2IH7LaV8nvR+VZpfXKa+NQ?=
 =?us-ascii?Q?BuJ/YNlE7c/W2q/zHZlivK9D0BYNMZLICN5ApmujhWY2qYMMRGFE6vaIaeI3?=
 =?us-ascii?Q?N4N+4MnrNm40H5OysQGQ00g9RlS7F1CPn1d1FIXNsPpEWqPSRUaEm7kvfEJ8?=
 =?us-ascii?Q?GwbGa2eeXs1qCgF440hN0Lxj?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 477dbe49-931b-4969-b75b-08d9575a73e8
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2021 15:13:45.5388
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: fmBRlsRNgkjzmRIkcnlnuKT3fCm7znIXIWyMAxqdm50kkGqV+xLo7w5sOpBhv+YBpFBfgmrQ+SUTA2wyX2+MiQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7087

On 04.08.2021 15:28, Dario Faggioli wrote:
> On Wed, 2021-08-04 at 09:37 +0200, Jan Beulich wrote:
>> On 03.08.2021 19:36, Dario Faggioli wrote:
>>>
>>> Signed-off-by: Dario Faggioli <dfaggioli@suse.com>
>>> Suggested-by: George Dunlap <george.dunlap@citrix.com>
>>
>> Minor remark: Generally I think the order of tags should follow the
>> timeline: Suggestions (or bug reports) come before patch creation,
>> which in turns comes before reviewing / acking of a patch.
>>
> Right. In fact, I agree, and I keep forgetting doing that.
>=20
> Thanks, will fix.
>=20
>>> Cc: George Dunlap <george.dunlap@citrix.com>
>>> Cc: Jan Beulich <jbeulich@suse.com>
>>
>> Since George is on leave and since I was Cc-ed, I thought I'd make an
>> attempt at reviewing this. The more that ...
>>
> Yep. You were Cc-ed because of the request to backport and include in
> stable branches, but thank you very much for also taking the time to
> have a look at it!! :-)
>=20
>>> It should, therefore, be backported and applied to all the branches
>>> to
>>> which that commit has been. About backports, it should be
>>> straigthforward to do that until 4.13.
>>
>> ... for 4.13.4 it would of course be nice to have it in. Things look
>> plausible overall, but I've got one question which - despite concerning
>> code you only move - may play into the underlying issue.
>>
> Ok.
>=20
>>> For 4.12 and earlier, it's trickier, but the fix is still necessary.
>>> Actually, both 07b0eb5d0ef0 and this patch should be backported to
>>> that
>>> branch!
>>
>> Depends on what you target with this remark: For downstreams - yes. The
>> stable upstream branch, otoh, is out of general support, and since this
>> is not a security fix it is not going to be applied to that tree.
>>
> Yeah, I know. I decided to mention this (although, I probably could
> have made myself more clear) and provide a backport (of this and of the
> other, already committed patch) just for convenience of both users and
> downstreams that happens to use such codebases.
>=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 * If an unit is meant=
 to be picked up by another processor,
>>> and such
>>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * processor has not s=
cheduled yet, leave it in the runqueue
>>> for him.
>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * If the unit in the =
runqueue has more credit than current
>>> (or than
>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * idle, if current is=
 not runnable) or if current is
>>> yielding, we may
>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * want to pick it up.
>>> =C2=A0=C2=A0=C2=A0=C2=A0=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 ( svc->tickled_cpu !=3D =
-1 && svc->tickled_cpu !=3D cpu &&
>>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 cpumask_test_cpu(svc->tickled_cpu, &rqd->tickled) )
>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( (yield || svc->credit =
> snext->credit) )
>>
>> The "credit" field is plain "int", i.e. signed. Idle domain's vCPU-s
>> don't get INT_MIN credit afaict (there's only one use of INT_MIN
>> throughout the entire file). Hence I can't see why in principle a
>> vCPU of an ordinary domain couldn't have equal or less credit than
>> the CPU's idle vCPU.=C2=A0
>>
> So, if I understand what you mean, yes, we've had that issue, i.e.,
> vCPUs managing to get to credit values which were lower than the one of
> the idle vCPUs.
>=20
> That was, in fact, even causing issue and it's what lead to
> 36f3662f27dec32d76c0edb4c6b62b9628d6869d "credit2: avoid vCPUs to ever
> reach lower credits than idle".
>=20
> After that commit, idle vCPUs' credits are set to CSCHED2_CREDIT_MIN-1
> and, for regular vCPUs, whenever we subtract some value from their
> credits, we limit them to not go beyond CSCHED2_CREDIT_MIN (this
> happens in t2c_update(), called by burn_credit()).
>=20
> Therefore, it should now not be possible any longer for regular vCPUs
> to fall behind idle vCPUs, in terms of amount of credits.
>=20
> So, was it this you were asking about and, if yes, does this answer
> your concerns?

Yes, it does. I continue to think though that the "yield" variable
could do with either a comment along the lines of what you've
explained, or with it getting set to true in more cases (as
indicated), as the interaction with the credit comparisons isn't
very obvious right now (to me at least).

>> Otoh I'm having trouble seeing why all of this code movement / re-
>> indentation is necessary in the first place: If the initial if() was
>> inverted to
>>
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( !yield && svc->credit <=
=3D snext->credit )
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 conti=
nue;
>>
> Actually, I am just realizing that if I, instead, use:
>=20
>         if ( !yield && svc->credit <=3D snext->credit )
>             break;
>=20
> It would be much better (even as compared to the current situation).
>=20
> In fact, right now that the priority check is toward the end, we have
> do the checks that comes earlier in the loop (is it runnable? Can it
> run on this CPU? Is it worth migrating it? Etc) at least for one
> element of the runqueue.
>=20
> With either my code or above the suggested form, we don't, but we may
> have to do at least the priority check for all the elements of the
> runqueue. This was something I knew, and as a matter of fact, it should
> be quick enough (and comparable with doing expensive checks even on
> just 1 vCPU). But still, it's ugly.
>=20
> However, we know that the runqueue is sorted by credits!

Oh - I was first thinking it might be, but seeing all the logic I
(wrongly, as you now tell me) inferred it's unsorted.

Jan

> So, unless
> we're yielding, it is always the case that as soon as we find there an
> unit that has less credit than snext, we want to bail (and keep running
> snext).
>=20
> This means that we neither scan all the runqueues, not even for doing
> just quick priority checks, nor we, in the case that snext is the
> actual highest priority unit need to do any check for the unit at the
> top of the runqueue.
>=20
> So, I'm actually re-doing (and re-testing) the patch in this way.
>=20
> Thanks again and Regards
>=20



From xen-devel-bounces@lists.xenproject.org Wed Aug 04 15:40:47 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 15:40:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163766.299887 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBJ0Z-0002Bn-Q1; Wed, 04 Aug 2021 15:40:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163766.299887; Wed, 04 Aug 2021 15: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 1mBJ0Z-0002Bg-Mp; Wed, 04 Aug 2021 15:40:39 +0000
Received: by outflank-mailman (input) for mailman id 163766;
 Wed, 04 Aug 2021 15:40:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mBJ0Y-0002BW-Mx; Wed, 04 Aug 2021 15:40:38 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mBJ0Y-0002N8-Ge; Wed, 04 Aug 2021 15:40: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 1mBJ0Y-0002Nl-5a; Wed, 04 Aug 2021 15:40:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mBJ0Y-0007nz-4v; Wed, 04 Aug 2021 15:40:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=QhObUcCRinGtBjOXfn8PEeIKzpMSA9e2Qk3yyTYyoog=; b=eLILUYSHIHXD4dPyWtBZRv1rkn
	ukMXsSGfmv/ACDiU9L+DYwWkJT71JAFXrqxoH89j0k+axcHYvvpwtluvlMEORuMUs81ncT/MiImHc
	IcxFCNvPORrONs/nfE5DmEsHDFordPfoEynH1X/CwERrf2/AJHDNf3cfBRhTNIiXxOqQ=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164098-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 164098: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:allowable
    qemu-mainline:test-armhf-armhf-xl-rtds:guest-stop:fail:allowable
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check: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-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-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-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-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-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=2cd9e2bd093a8b6f0e9fc6d75f4fd8f0e3250474
X-Osstest-Versions-That:
    qemuu=acf8200722251a0a995cfa75fe5c15aea0886418
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 04 Aug 2021 15:40:38 +0000

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

Failures :-/ but no regressions.

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

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

version targeted for testing:
 qemuu                2cd9e2bd093a8b6f0e9fc6d75f4fd8f0e3250474
baseline version:
 qemuu                acf8200722251a0a995cfa75fe5c15aea0886418

Last test of basis   164095  2021-08-03 17:08:07 Z    0 days
Testing same since   164098  2021-08-04 04:09:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Marc-André Lureau <marcandre.lureau@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                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-amd64-pvgrub                                pass    
 test-amd64-amd64-i386-pvgrub                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   acf8200722..2cd9e2bd09  2cd9e2bd093a8b6f0e9fc6d75f4fd8f0e3250474 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Wed Aug 04 15:54:40 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 15:54:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163777.299902 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBJE4-0003iJ-7i; Wed, 04 Aug 2021 15:54:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163777.299902; Wed, 04 Aug 2021 15:54:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBJE4-0003iC-4Y; Wed, 04 Aug 2021 15:54:36 +0000
Received: by outflank-mailman (input) for mailman id 163777;
 Wed, 04 Aug 2021 15:54:35 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=s7SU=M3=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mBJE3-0003i6-61
 for xen-devel@lists.xenproject.org; Wed, 04 Aug 2021 15:54:35 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 42842892-f53c-11eb-9b79-12813bfff9fa;
 Wed, 04 Aug 2021 15:54:33 +0000 (UTC)
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur02lp2053.outbound.protection.outlook.com [104.47.5.53]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-14-6S3CnRf2NtK2HfizuePh1A-1; Wed, 04 Aug 2021 17:54:31 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4608.eurprd04.prod.outlook.com (2603:10a6:803:72::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.15; Wed, 4 Aug
 2021 15:54:29 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4373.027; Wed, 4 Aug 2021
 15:54:28 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P189CA0078.EURP189.PROD.OUTLOOK.COM (2603:10a6:102:b4::23) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4394.15 via Frontend Transport; Wed, 4 Aug 2021 15:54:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 42842892-f53c-11eb-9b79-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628092472;
	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=L9R8XRmgRWfKimnP7+3lH7L7auzHWStrhZzNm1oknPs=;
	b=i9zXSFZ1zpDw4Lqz1mcmoF0iWR2PzIkWgBjjJBANX1HHgK+M70mE4N8/icMOCud16S7i48
	tOLfunwSKktKTs5ln/q85il4h5Wa3BcmzbwPJ+4uTpJfO9F1L6Xdh1pWpuwSd530B1TAbv
	AobEfonIRr6iTae8FCW6Byno9TW8Z8Y=
X-MC-Unique: 6S3CnRf2NtK2HfizuePh1A-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UEaIYrsDH3hkmiIUZbn93NW8vu7R4fDbLZRGGCBO1uA+Cs6wHOaxMUWZGPU5ThqLYUyanySG+dWLJAQVMkM42YdWvFKN6xneYTMk5jEByraqkIswTXzDjOfdG2Rv7mfJXIsaFny1uI1DiwfrxJfXXpOKxq67xtGNFDOKA3n3IhtMyY8uQuZ+H7y6UVRpJQ+BTp5y4kwOCmIQqk1cG3wzG5y1cEhRwxv/iJAFL/ID1P6Jm9pj0QsnbVz3DF6qb3Bj3UPRWWPSoTlo7oE0L4C5/BCMaGBvsZjbKBkzWEllUIuzwrvbMMftc9Sg4n2W7pWZ7yuP1tX0HV/ne5KW2oKZQA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=L9R8XRmgRWfKimnP7+3lH7L7auzHWStrhZzNm1oknPs=;
 b=J7m1kEWFu86sKUX3rWc1Utk+EsGs5B52uVKLK3MwcS49x8Mq8gL26ZjRv7FiZlmWkIiBkqbppXUpmspD+ka9Ty8ka3JBZU3HrrJ0obcop9QedxsPRCJ3cPmRUTmYv9lMxyRmrO8T/n411pi1rcwpOHZoeKrpf5pIgPI8qaVKFyr6ksE6ugZOJFHhmVcI7xb88wFvR5euUI4hzrw7cBj304dTSOF48tse4hPyQ794evIl9ebDh/bGqq5G21rh2uKhiDxNcretC9UaZSKjazLXMFjasjRmTwizCDhW8PcKXWftWeIXGJLeKAuXQcFD9GWdyzihpw8yQbXaowcN7M4WNg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: Re: [PATCH V4 05/10] xen/arm: static memory initialization
To: Penny Zheng <penny.zheng@arm.com>
Cc: Bertrand.Marquis@arm.com, Wei.Chen@arm.com, nd@arm.com,
 xen-devel@lists.xenproject.org, sstabellini@kernel.org, julien@xen.org
References: <20210728102758.3269446-1-penny.zheng@arm.com>
 <20210728102758.3269446-6-penny.zheng@arm.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <bed307b3-b656-7405-c66f-394d54f846d7@suse.com>
Date: Wed, 4 Aug 2021 17:54:27 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <20210728102758.3269446-6-penny.zheng@arm.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P189CA0078.EURP189.PROD.OUTLOOK.COM
 (2603:10a6:102:b4::23) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: aacc89ff-ad93-4da9-21bd-08d957602464
X-MS-TrafficTypeDiagnostic: VI1PR04MB4608:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4608B18E236055F0FBEC7915B3F19@VI1PR04MB4608.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:483;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	KTVKNZcI9/HpIn853182N/Jjz/V3MCxfpLxdnjH2PtIfULFeaEcTZeDru2eOBh29ZQwiOqNZ26GCUlK0Q81ZLmC22EuW8Vt4z/Q5FVvjs1dodr1Ki+PbT3S/k36L0KbaG4gRWPYK3pp6JgIiD/xeUYaGD7EOdhCulsW/nJPB6coXSfeIOd0A7UqL/NKf5Ost4DoSufJoNKLbIm4lq77XzXeNMFFMh6xNi1ozkvK4XERqpVr/howYFrMmXaDVUK57bSPE1q1d2SPad7PoC4gBDXsqSuTnuEuhBb4QKW+MydK4lTIS0Gv/ILvA6y/8KymBV19c5DaS0SAIT9goJLp0rU57ATlzffARzR5SjPphKcaB6KBSjpxPiE4Za/uhCDeQ5XXeyK9AO1tFF8KWEd25TTUlG4ya9U3yY8QkYxp0r1nIwJjTz+2ibCeOgUecufFQYI59IgU6MivAQZbddzZOiU0leeo3BYzPwK4WRdyjseDPeEHVjyxzdI8k+Nrm8vwmIGfg+0h/z1x2H8niCp7awp05sLlNCZrEJv53gD5UC+PEZ7Q1OALF3vpxtttae28cJ9wXpBdzlAjzcsCLsun+XcpMZ/wKL4AyP8ZAgc2xCmTmaACA914FMZiHBqHJLX4sf0nXwk2bzzIiCjXSgdr2HP8NuHfLPLTVacRQ0N0KXOR8POnA/5dKjFTYFUOI7L4987C14vAQV5AkYXCxpelNwUiBoBsOdxSkxUjuk5jfXEU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(39860400002)(396003)(136003)(346002)(376002)(316002)(53546011)(31686004)(478600001)(4744005)(6486002)(16576012)(6916009)(8676002)(66946007)(86362001)(5660300002)(2616005)(38100700002)(186003)(31696002)(26005)(4326008)(66476007)(36756003)(66556008)(8936002)(2906002)(956004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RldLN0s1UzJEUHpMWUQ1TnVWSk9PRlRaRkttKzJuL2hjSnJQbEdLUk9WOEFE?=
 =?utf-8?B?ZXRnc2pkc1lmNnpOK0FkQ1lNSlZpVXZDMUhCSmRBWDcvTFljcHgxYU5jT2lQ?=
 =?utf-8?B?aFB1a0JkNDZKM3BlbkRjak9JMUF2THVvMFhxa0xYSkV2aUtXVnBzbGgvdkxL?=
 =?utf-8?B?TVdkY2NkcEtOb2NVYjBvVkJPeGo4WDIrKzNBU1FDR2xrRFhMY1FOS2lvdEsv?=
 =?utf-8?B?c2JmV01DSVQ1VGV2NUVERmI4WktadzVzSElIUlJreWJvSnNMeXF2SVlvbUJx?=
 =?utf-8?B?YnJvNGt4Q2J0aldKcEJ0cFVFd3c3Tm5FQnY5N0U5WHIzVXkxVmR6VEQ2d01s?=
 =?utf-8?B?OThNSDVoRE1GM3BYNHpLT01LdThaQmZ1NmoyRWpIcnV0UWpSb1g1QzJMcWZs?=
 =?utf-8?B?WmxtQmkrMG90akU0QTJRRTBwVlBySXdabXRGMElycGwzVnlGWVo2UzBKd2hD?=
 =?utf-8?B?elRlS2dxUFd3ZXB1TmpwcWRwYWtUem0zeVE2VEluRnpMcFRwWTFhblcrVWlW?=
 =?utf-8?B?NkNCTmQ1SWlLZXRPVEVZYWtIWlpGbWRUUE02bUwyTnFzYytOenV1UStCTElI?=
 =?utf-8?B?N1A2OENwcFhnSzNsOC94c0U1aTA2TmhSUWNtRDJnaWdweWdvdk9DdmhkRkFh?=
 =?utf-8?B?N0gyQzB0RXhza2RrUGVhK1dtZmI3MStYdHZ0TmEzYnRvY0RSWmlWeW1aZlph?=
 =?utf-8?B?MGpEaG5TK3JOazVidDV6LzFVZDFwYjY1ZWE5NWg3aTREQlh5U3pwbDl3b2Ri?=
 =?utf-8?B?OVBDQUF4aUxhRWgxemtXSjkybmJiTzF2ck5rZVZrRU1CZ0JFQnA0WnprbUo2?=
 =?utf-8?B?ZnJHamgyYVZaWDNSRWlNYmQ5MWI4V2tXWERFa04zWnVabzNrYkp4dmx2dnZX?=
 =?utf-8?B?SHZNQTNsZVhvVmlHRlFnZVIrWGRuWjdTallJUCtCdmQxZ2tiYVBkTERsQlZE?=
 =?utf-8?B?VjJ3VDVKSkdsbFE3MWtJeHl6YTE1WnF2bUM1UFpxTmtuck1ZaHRSdS9kaFJD?=
 =?utf-8?B?V0R6Q2xiR3NZRlYwR3crV3RCSUwvOUxDWGJnTFVPbGU5cVhlZDI5SUkrYnBK?=
 =?utf-8?B?dlYyMXFRWnorNHpIQyt3WWN2c1pMWVQyRWxxU3BUcmhPV3hBZmRrVndqdzNy?=
 =?utf-8?B?bW0vVG9oQnlrS1cwYmIrQnk1Y1BUUVFMVnRBVEZPbmM4ZEMwSFYwZkVaTmR2?=
 =?utf-8?B?UWk3cExPaUNxV3ljTWNqUGgvR0tSZW1QaXpKbzdqMXhYVTNheHZJQUtubWJl?=
 =?utf-8?B?bWRSTlU4VTA0Yng0ajhBQmdLMk9WWUlIdk5TRFAzTmJjWmpPVjE1YTVyOHdF?=
 =?utf-8?B?NXRJUDQ0MTdwNlR4c2d3MGVncE1wdGJLSkJIaVZIUllZckRJVUVDaVA3WlNF?=
 =?utf-8?B?M20rUGhTS0RpOThJTFVoMUN2KytRdDVGczVkK3krN2NYUWtmOENUUEhpSTdq?=
 =?utf-8?B?NGMveDF5TVlRNS9IU0Y4ZVV5SmdLdlN5WWNUWWFXdzBmMlBZOXBCN093L3ZS?=
 =?utf-8?B?cWxQYUpzeUtINDBGY2VuZ0xMR0hEbDdLNFQvZ2IwbnBqUDZkT0NJNWJDc0hY?=
 =?utf-8?B?VTgvMkx2eGpuK3QzRGU0WVJ2M3Q5VENFQjhZdmVHUHVCTGliemZqQnRZT1RK?=
 =?utf-8?B?blRFQTFuRWo2b1E5NmdrZlluZG13SThCSGN0R0pkMHp2bmtTcnFSSERpMjhl?=
 =?utf-8?B?bU4yU1FHNVg1S29XcVlYQ2tURUJXTEVvTWFKc1VJWnpueUljNU5xQW9HY1hT?=
 =?utf-8?Q?xeLb5ccMbg/DH9Q6hqZat/b4F8qvCyB7rDZIC36?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: aacc89ff-ad93-4da9-21bd-08d957602464
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2021 15:54:28.9314
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Eys0Tw2tFpL20eOWuWjHiVlUl3g9Su0h/+sSpMrePyXVIGDKtvKcm/C/CJ+Mk4V+mYs1+e6TxYcmL5zsCzHjyw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4608

On 28.07.2021 12:27, Penny Zheng wrote:
> This patch introduces static memory initialization, during system boot up.
> 
> The new function init_staticmem_pages is responsible for static memory
> initialization.
> 
> Helper free_staticmem_pages is the equivalent of free_heap_pages, to free
> nr_mfns pages of static memory.
> 
> This commit also introduces new CONFIG_STATIC_MEMORY to avoid bringing dead
> codes in other archs.
> 
> Put asynchronous scrubbing for pages of static memory in TODO list.
> 
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>

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

Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 04 17:08:01 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 17:08:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163788.299914 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBKMq-0002QQ-N3; Wed, 04 Aug 2021 17:07:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163788.299914; Wed, 04 Aug 2021 17:07:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBKMq-0002QJ-Js; Wed, 04 Aug 2021 17:07:44 +0000
Received: by outflank-mailman (input) for mailman id 163788;
 Wed, 04 Aug 2021 17:07:43 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=w9K0=M3=gmail.com=scottwd@srs-us1.protection.inumbo.net>)
 id 1mBKMp-0002QD-4y
 for xen-devel@lists.xenproject.org; Wed, 04 Aug 2021 17:07:43 +0000
Received: from mail-qv1-xf2f.google.com (unknown [2607:f8b0:4864:20::f2f])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 0469b286-edc0-4a86-b3c7-74e5cbe5a837;
 Wed, 04 Aug 2021 17:07:41 +0000 (UTC)
Received: by mail-qv1-xf2f.google.com with SMTP id f91so1420784qva.9
 for <xen-devel@lists.xenproject.org>; Wed, 04 Aug 2021 10:07:41 -0700 (PDT)
Received: from lagunitas.localdomain
 (96-95-26-25-static.hfc.comcastbusiness.net. [96.95.26.25])
 by smtp.gmail.com with ESMTPSA id g10sm1097008qtp.67.2021.08.04.10.07.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Aug 2021 10:07: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: 0469b286-edc0-4a86-b3c7-74e5cbe5a837
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=mRYF6d6NyA7ZNiE2Sjji7SK/+cjjOaRPn/vE0qLzh+8=;
        b=RU/SHoFCls9X5XnOtuAt3YDddS2s6rrekql0tMJu5ixIVcVdnCpYYybPcscZf8pcSD
         lVGxIuKqBYOcWFurVK8D1zN3wQPrp2rywzCVoTSJvNtRioJboiSB9lw4xq2DTyaTm2sB
         TpMwk/hotVf1craUFxbAAJSwRmWadJGZekmYS4WqjWkb6ZySK4xM/oB2p2ycatwpI9jB
         0153YG73nhRqBe/kYAKAReL7VOPaw/jsA9q+syAwLo+fXeY4Ximd5ULHRSXOEr9QtcMl
         voea837kLi86QkPaCArp0Ao7HUpcZav1UBZIcCRak6myM+5u7dIfcaNWpJKVSrVhIvrX
         NjYg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=mRYF6d6NyA7ZNiE2Sjji7SK/+cjjOaRPn/vE0qLzh+8=;
        b=mASmgLEisYn4Dqff5x2D/fy3bKCn3RuYORDIMoHCpEK43AhjhnfAaFAU2BcKFkM0uM
         NsLwdVKRP6NooM/ht+xRpZaR0Il2P0Bipx/iyJC/rArkR3gALeqNP6Ww659jtppcXztl
         yRXTB2yQdzaOM7HAuqzuhw/7XwRWU0150n13p2UUi/Js36MuvacX2Fr2i+4flmX5vbQw
         VCpPzZ7rW4LpIlFe9+L6QWGaOHF6c88nNXRDgIBNCxHi0dLZ/OmwahMC0AxJXuDArMEf
         eyTugUQq7xwIZJmOSUGmHlP9hl3dVk4l68K1ska8wH83XcaUqTCqq9KgMum5KgBxrf9t
         JBcg==
X-Gm-Message-State: AOAM531fVzJ21jjnoQ3Dnty9EJ5FrBcf3FWYOtwrn1RmUrAN6s8bMGDK
	wqnJrvtvrlx47HKkkzv7q5W190dbYMVMjhep
X-Google-Smtp-Source: ABdhPJxcMBnezJ0PchopdTDB+7zSMtNJbiuvEhxpq7V2vKzvFWmmvlgWUcsgg7AQljJGee+oU1El8w==
X-Received: by 2002:a0c:cd86:: with SMTP id v6mr507413qvm.5.1628096861037;
        Wed, 04 Aug 2021 10:07:41 -0700 (PDT)
From: Scott Davis <scottwd@gmail.com>
X-Google-Original-From: Scott Davis <scott.davis@starlab.io>
To: xen-devel@lists.xenproject.org
Cc: Scott Davis <scott.davis@starlab.io>,
	Ian Jackson <iwj@xenproject.org>,
	Wei Liu <wl@xen.org>,
	George Dunlap <george.dunlap@citrix.com>,
	Nick Rosbrook <rosbrookn@ainfosec.com>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH] tools/xl: Add stubdomain_cpus_mirror_guest option to xl.cfg
Date: Wed,  4 Aug 2021 13:07:23 -0400
Message-Id: <4c9e39e1bcf914df4ee47211afc4157154b637d8.1628091197.git.scott.davis@starlab.io>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This adds a boolean flag to the xl domain configuration syntax for
causing a guest's CPU allocations to be mirrored to its associated
device-model stubdomain. If enabled, the stubdomain will use the same
VCPU count, CPU pool, and CPU affinities as the guest. Otherwise, the
default allocations (one VCPU scheduled on pool 0) will be used. It is
intended for use with Linux-based stubdomains.

In Xen deployments that make use of static CPU allocation, enabling this
would enhance workload isolation for guests that make heavy use of
emulated devices. It would also help prevent a malicious stubdomain from
mounting side-channel attacks against a dom0 running on the same cores.

Signed-off-by: Scott Davis <scott.davis@starlab.io>
---
 docs/man/xl.cfg.5.pod.in             |  8 ++++++++
 tools/golang/xenlight/helpers.gen.go |  6 ++++++
 tools/golang/xenlight/types.gen.go   |  1 +
 tools/include/libxl.h                |  9 +++++++++
 tools/libs/light/libxl_create.c      |  2 ++
 tools/libs/light/libxl_dm.c          | 20 +++++++++++++++++++-
 tools/libs/light/libxl_types.idl     |  1 +
 tools/xl/xl_parse.c                  |  2 ++
 8 files changed, 48 insertions(+), 1 deletion(-)

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index 4b1e3028d2..03dbdb9788 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -2733,6 +2733,14 @@ toolstack domain. The binary provided here MUST be consistent with the
 B<device_model_version> which you have specified. You should not normally need
 to specify this option.
 
+=item B<stubdomain_cpus_mirror_guest=BOOLEAN>
+
+Turns on or off mirroring of a guest's CPU allocations to its device-model
+stubdomain. If enabled, the stubdomain will use the same VCPU count, CPU pool,
+and CPU affinities as its associated guest. Disabled (0) by default, in which
+case the stubdomain will have one VCPU and be scheduled on pool 0. Intended for
+use with Linux-based stubdomains.
+
 =item B<stubdomain_kernel="PATH">
 
 Override the path to the kernel image used as device-model stubdomain.
diff --git a/tools/golang/xenlight/helpers.gen.go b/tools/golang/xenlight/helpers.gen.go
index bfc1e7f312..42a98e79bf 100644
--- a/tools/golang/xenlight/helpers.gen.go
+++ b/tools/golang/xenlight/helpers.gen.go
@@ -1016,6 +1016,9 @@ x.DeviceModelVersion = DeviceModelVersion(xc.device_model_version)
 if err := x.DeviceModelStubdomain.fromC(&xc.device_model_stubdomain);err != nil {
 return fmt.Errorf("converting field DeviceModelStubdomain: %v", err)
 }
+if err := x.StubdomainCpusMirrorGuest.fromC(&xc.stubdomain_cpus_mirror_guest);err != nil {
+return fmt.Errorf("converting field StubdomainCpusMirrorGuest: %v", err)
+}
 x.StubdomainMemkb = uint64(xc.stubdomain_memkb)
 x.StubdomainKernel = C.GoString(xc.stubdomain_kernel)
 x.StubdomainCmdline = C.GoString(xc.stubdomain_cmdline)
@@ -1342,6 +1345,9 @@ xc.device_model_version = C.libxl_device_model_version(x.DeviceModelVersion)
 if err := x.DeviceModelStubdomain.toC(&xc.device_model_stubdomain); err != nil {
 return fmt.Errorf("converting field DeviceModelStubdomain: %v", err)
 }
+if err := x.StubdomainCpusMirrorGuest.toC(&xc.stubdomain_cpus_mirror_guest); err != nil {
+return fmt.Errorf("converting field StubdomainCpusMirrorGuest: %v", err)
+}
 xc.stubdomain_memkb = C.uint64_t(x.StubdomainMemkb)
 if x.StubdomainKernel != "" {
 xc.stubdomain_kernel = C.CString(x.StubdomainKernel)}
diff --git a/tools/golang/xenlight/types.gen.go b/tools/golang/xenlight/types.gen.go
index 09a3bb67e2..53bd54b740 100644
--- a/tools/golang/xenlight/types.gen.go
+++ b/tools/golang/xenlight/types.gen.go
@@ -481,6 +481,7 @@ MaxGrantFrames uint32
 MaxMaptrackFrames uint32
 DeviceModelVersion DeviceModelVersion
 DeviceModelStubdomain Defbool
+StubdomainCpusMirrorGuest Defbool
 StubdomainMemkb uint64
 StubdomainKernel string
 StubdomainCmdline string
diff --git a/tools/include/libxl.h b/tools/include/libxl.h
index b9ba16d698..d5b30d4f37 100644
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -1042,6 +1042,15 @@ typedef struct libxl__ctx libxl_ctx;
  */
 #define LIBXL_HAVE_BUILDINFO_DEVICE_MODEL_STUBDOMAIN 1
 
+/*
+ * LIBXL_HAVE_BUILDINFO_DEVICE_MODEL_STUBDOMAIN_CPU_MIRRORING
+ *
+ * If this is defined, then the libxl_domain_build_info structure will contain
+ * the 'stubdomain_cpus_mirror_guest' boolean to enable the mirroring of a
+ * guest's CPU allocations to its associated device-model stubdomain.
+ */
+#define LIBXL_HAVE_BUILDINFO_DEVICE_MODEL_STUBDOMAIN_CPU_MIRRORING 1
+
 /*
  * LIBXL_HAVE_DEVICE_CHANNEL
  *
diff --git a/tools/libs/light/libxl_create.c b/tools/libs/light/libxl_create.c
index e356b2106d..d1cc05a3d5 100644
--- a/tools/libs/light/libxl_create.c
+++ b/tools/libs/light/libxl_create.c
@@ -204,6 +204,8 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
         }
     }
 
+    libxl_defbool_setdefault(&b_info->stubdomain_cpus_mirror_guest, false);
+
     if (!b_info->max_vcpus)
         b_info->max_vcpus = 1;
     if (!b_info->avail_vcpus.size) {
diff --git a/tools/libs/light/libxl_dm.c b/tools/libs/light/libxl_dm.c
index 9d93056b5c..062957f093 100644
--- a/tools/libs/light/libxl_dm.c
+++ b/tools/libs/light/libxl_dm.c
@@ -2312,8 +2312,26 @@ void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
     libxl_domain_build_info_init(&dm_config->b_info);
     libxl_domain_build_info_init_type(&dm_config->b_info, LIBXL_DOMAIN_TYPE_PV);
 
+    if (libxl_defbool_val(guest_config->b_info.stubdomain_cpus_mirror_guest)) {
+        /* Copy CPU config from guest */
+        dm_config->c_info.pool_name = guest_config->c_info.pool_name;
+        dm_config->b_info.max_vcpus = guest_config->b_info.max_vcpus;
+        dm_config->b_info.avail_vcpus = guest_config->b_info.avail_vcpus;
+        dm_config->b_info.nodemap = guest_config->b_info.nodemap;
+        dm_config->b_info.num_vcpu_hard_affinity =
+            guest_config->b_info.num_vcpu_hard_affinity;
+        dm_config->b_info.vcpu_hard_affinity =
+            guest_config->b_info.vcpu_hard_affinity;
+        dm_config->b_info.num_vcpu_soft_affinity =
+            guest_config->b_info.num_vcpu_soft_affinity;
+        dm_config->b_info.vcpu_soft_affinity =
+            guest_config->b_info.vcpu_soft_affinity;
+        libxl_defbool_set(&dm_config->b_info.numa_placement, false);
+    } else {
+        dm_config->b_info.max_vcpus = 1;
+    }
+
     dm_config->b_info.shadow_memkb = 0;
-    dm_config->b_info.max_vcpus = 1;
     dm_config->b_info.max_memkb = guest_config->b_info.stubdomain_memkb;
     dm_config->b_info.max_memkb += guest_config->b_info.video_memkb;
     dm_config->b_info.target_memkb = dm_config->b_info.max_memkb;
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index 3f9fff653a..6f18e5be07 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -521,6 +521,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
     
     ("device_model_version", libxl_device_model_version),
     ("device_model_stubdomain", libxl_defbool),
+    ("stubdomain_cpus_mirror_guest", libxl_defbool),
     ("stubdomain_memkb",   MemKB),
     ("stubdomain_kernel",  string),
     ("stubdomain_cmdline", string),
diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index 17dddb4cd5..84f67835c3 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -2531,6 +2531,8 @@ skip_usbdev:
     xlu_cfg_replace_string(config, "device_model_user",
                            &b_info->device_model_user, 0);
 
+    xlu_cfg_get_defbool (config, "stubdomain_cpus_mirror_guest",
+                         &b_info->stubdomain_cpus_mirror_guest, 0);
     xlu_cfg_replace_string (config, "stubdomain_kernel",
                             &b_info->stubdomain_kernel, 0);
     xlu_cfg_replace_string (config, "stubdomain_cmdline",
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 04 17:41:40 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 17:41:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163803.299932 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBKtZ-0006Gx-9E; Wed, 04 Aug 2021 17:41:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163803.299932; Wed, 04 Aug 2021 17:41: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 1mBKtZ-0006Gq-5q; Wed, 04 Aug 2021 17:41:33 +0000
Received: by outflank-mailman (input) for mailman id 163803;
 Wed, 04 Aug 2021 17:41:32 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=K6bJ=M3=kernel.org=sstabellini@srs-us1.protection.inumbo.net>)
 id 1mBKtY-0006Gk-7N
 for xen-devel@lists.xenproject.org; Wed, 04 Aug 2021 17:41:32 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 7ffa6008-09e3-40a2-af97-e4720000eaf8;
 Wed, 04 Aug 2021 17:41:31 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id 77818610FB;
 Wed,  4 Aug 2021 17:41: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: 7ffa6008-09e3-40a2-af97-e4720000eaf8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1628098890;
	bh=NVcHF8WsbOFKzj1IgIzKmZGdeCZ4QKiXBMUldkdBX5s=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=M4mbTgZfxwVDWNobNwL/wGtcKMGxB3UAjF3PRsaK9OMS/QHxvteD/BfPYh1vM27/x
	 NAreErQsbHZZbbIRIqCit+aGE6YYQYND+PXKcxc8ksJ+4zPq48a/XKUoCAY0WQPNK1
	 bmfO2c5MwY3bHLvQSqybdamaD3/WHomazW+hDqZk+UxVQ31PpdVfj5bS1n4OWv5FWP
	 hTI+kh3vdaY4T/66X2WTsnRFefyW+v6vPByA+hkle8Qj+sqqSNdhcXDp7N7Z9JYbnU
	 XhmOUHuUZtG5hpsI1LVxnqXLXWOMaKs2plG4aI7c1Xf0qL5Ep/YymCAcM69p/QCqMq
	 aDNtrDRMw4USA==
Date: Wed, 4 Aug 2021 10:41:22 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@sstabellini-ThinkPad-T480s
To: Julien Grall <julien@xen.org>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, Volodymyr_Babchuk@epam.com, 
    Bertrand.Marquis@arm.com
Subject: Re: [PATCH] do not p2m_invalidate_root when iommu_use_hap_pt
In-Reply-To: <a2a99173-c566-c492-310c-003490cdba5f@xen.org>
Message-ID: <alpine.DEB.2.21.2108041032330.9768@sstabellini-ThinkPad-T480s>
References: <alpine.DEB.2.21.2108031419500.19737@sstabellini-ThinkPad-T480s> <ff5e9e5a-287d-127c-1d39-57c31564e9b3@xen.org> <alpine.DEB.2.21.2108031702430.19737@sstabellini-ThinkPad-T480s> <a2a99173-c566-c492-310c-003490cdba5f@xen.org>
User-Agent: Alpine 2.21 (DEB 202 2017-01-01)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 4 Aug 2021, Julien Grall wrote:
> Hi Stefano,
> 
> On 04/08/2021 01:08, Stefano Stabellini wrote:
> > > > diff --git a/xen/arch/arm/arm64/vsysreg.c b/xen/arch/arm/arm64/vsysreg.c
> > > > index caf17174b8..125a9281fc 100644
> > > > --- a/xen/arch/arm/arm64/vsysreg.c
> > > > +++ b/xen/arch/arm/arm64/vsysreg.c
> > > > @@ -105,6 +105,13 @@ void do_sysreg(struct cpu_user_regs *regs,
> > > >        case HSR_SYSREG_DCISW:
> > > >        case HSR_SYSREG_DCCSW:
> > > >        case HSR_SYSREG_DCCISW:
> > > > +        if ( iommu_use_hap_pt(current->domain) )
> > > > +        {
> > > > +            gdprintk(XENLOG_ERR,
> > > > +                     "d%u uses set/way cache flushes with the IOMMU on.
> > > > It
> > > > cannot work. Replace set/way instructions with dc [ci]vac and retry.
> > > > Injecting exception into the guest now.\n",
> > > 
> > > This line would be far too long to print on the serial. I think you want
> > > to
> > > add a few newline here.
> > 
> > Fair enough but I'll try to keep most info on the same line because
> > otherwise with a dom0less boot it can get confusing. I suggest:
> 
> I am not quite too sure to understand why it would get confusing with
> dom0less. Can you give an example?

I was doing tests with the error messages before implementing the undef
exception injection. This is the output of a regular domU (not
dom0less): https://pastebin.com/Wytg660j

The entire message in this test should be:

(XEN) d1v0 uses set/way cache flushes with the IOMMU on. It cannot work.
(XEN) Replace them with dc [ci]vac and retry.

But actually the first line gets eaten, so we only see:

(XEN) Replace them with dc [ci]vac and retry.

several times at the bottom of the logs.


From xen-devel-bounces@lists.xenproject.org Wed Aug 04 17:53:36 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 17:53:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163812.299944 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBL59-0007iu-A3; Wed, 04 Aug 2021 17:53:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163812.299944; Wed, 04 Aug 2021 17: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 1mBL59-0007in-5o; Wed, 04 Aug 2021 17:53:31 +0000
Received: by outflank-mailman (input) for mailman id 163812;
 Wed, 04 Aug 2021 17:53:29 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RR6J=M3=suse.com=dfaggioli@srs-us1.protection.inumbo.net>)
 id 1mBL57-0007id-7X
 for xen-devel@lists.xenproject.org; Wed, 04 Aug 2021 17:53:29 +0000
Received: from smtp-out1.suse.de (unknown [195.135.220.28])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id dee28458-f54c-11eb-9b8d-12813bfff9fa;
 Wed, 04 Aug 2021 17:53: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 smtp-out1.suse.de (Postfix) with ESMTPS id C2F45222E2;
 Wed,  4 Aug 2021 17:53: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 7E1D013C39;
 Wed,  4 Aug 2021 17:53:26 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 6jg5HBbUCmEwKwAAMHmgww
 (envelope-from <dfaggioli@suse.com>); Wed, 04 Aug 2021 17: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: dee28458-f54c-11eb-9b8d-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1628099606; 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=BbiZWIdalbCJ5Uth/1zWf+jPJMER/nr4Pi2HURLzJUM=;
	b=faW+xHGzjwppgvE1IJeFisrdQy/2WIqdw7TXIJTae8fIev8XM3H9WvpKxdh5q2792aFc7w
	DctcpgFzlmrwb0lVmUROpF4Ih6BqS54SMoROrY3aTaJq7/F3NVKvubquB3vfJQVAb0L0Db
	arWhm47OmahOk/gQDHao5syIY/PWRPE=
Message-ID: <ff69b9f42d732a012c9c8c1b91eb266568885fc1.camel@suse.com>
Subject: Re: [PATCH] Xen: credit2: avoid picking a spurious idle unit when
 caps are used
From: Dario Faggioli <dfaggioli@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>, xen-devel@lists.xenproject.org
Date: Wed, 04 Aug 2021 19:53:25 +0200
In-Reply-To: <96a43429-798e-1bb9-7718-9ccf02d7dfeb@suse.com>
References: <162801221667.955.3439735419862661383.stgit@Wayrath>
	 <d8c821f4-8cdf-8d77-90cb-5149a70c7741@suse.com>
	 <dc1f7b4c18e46d1cdadedc9db2fcab516ad4cc81.camel@suse.com>
	 <96a43429-798e-1bb9-7718-9ccf02d7dfeb@suse.com>
Content-Type: multipart/signed; micalg="pgp-sha256";
	protocol="application/pgp-signature"; boundary="=-+YNZwO6VqKyxhXikzfCv"
User-Agent: Evolution 3.40.3 (by Flathub.org) 
MIME-Version: 1.0


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

On Wed, 2021-08-04 at 17:13 +0200, Jan Beulich wrote:
> On 04.08.2021 15:28, Dario Faggioli wrote:
> >=20
> > So, was it this you were asking about and, if yes, does this answer
> > your concerns?
>=20
> Yes, it does.=C2=A0
>
Ok, great. :-)

> I continue to think though that the "yield" variable
> could do with either a comment along the lines of what you've
> explained, or with it getting set to true in more cases (as
> indicated), as the interaction with the credit comparisons isn't
> very obvious right now (to me at least).
>=20
Fine. This is not for this patch, of course. But I'll make a note about
it, and think how to restructure the code to make it easier to
understand, in a followup patch.

> > With either my code or above the suggested form, we don't, but we
> > may
> > have to do at least the priority check for all the elements of the
> > runqueue. This was something I knew, and as a matter of fact, it
> > should
> > be quick enough (and comparable with doing expensive checks even on
> > just 1 vCPU). But still, it's ugly.
> >=20
> > However, we know that the runqueue is sorted by credits!
>=20
> Oh - I was first thinking it might be, but seeing all the logic I
> (wrongly, as you now tell me) inferred it's unsorted.
>=20
Yeah, it certainly wasn't evident, from how the patch was done.

Thanks for your comment, that actually made it realize that I could do
things like that, and indeed with even so much less code churn!

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

--=-+YNZwO6VqKyxhXikzfCv
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

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

iQIzBAABCAAdFiEES5ssOj3Vhr0WPnOLFkJ4iaW4c+4FAmEK1BUACgkQFkJ4iaW4
c+6FBw/+Pg/BfdaJi9QTzVTLLvU8weDhTHtdn6hPHG3au//c3lOJ/ZBn+tQxgO9y
NMNYKgYIDoKWw3Uwd/7neaFDHNZ//f5RHd7AGC1+6Ow/e4s+51D/38/V1jF/Zz45
pd8XbJjKNa48YiJrs4RoZBvdlmfdGJyf7latqCpqSNVcefk5W+zBKRjkmeoHWnkG
+dnGLsHkcqPILqnQLMnY+9xTghqcds9g7L/1RW7U3c2dyjRKtPhso7s06e60487Z
DSUvPDnSoO/wryYwlYvYHsqs8WS3eAmNtHNEp/zWa+3jv4KuLetoiusjazRePp1M
rUe7q7zA6bOmMLaPfmytD2nNd6QWVWDUGNvknwu8MTSREjLiyh821ywT0VJhdNOf
BYcUzLAMHmlG8IkCBoULC4Xtjw2ytQpr0CZoX80Q9BH7o6DYi3JTY5jezp9Rk+w9
c0Rr9oQwkj8kc+CBLWFG8IzQ5gI9UJrgYZtFOfNpX8KOKJidzXOz2V/1P2ca3oGn
e2tY1JqbZaF+xi3j1cEY4kIPmiKlvekZQBhIrbNK79xwi3lodQ/9LMxkXdi97HDq
b1pMt110q96KlWtYVXnd5aeJ+ZaCwo4I4DMFvNLzc+rlf2TyvdlCnpFzGNftmRrp
THEmdXAev7Eoo8xv58Pnkd6TZ7RcTaB1NIzJqjkhR45HxiA22fg=
=6FQv
-----END PGP SIGNATURE-----

--=-+YNZwO6VqKyxhXikzfCv--



From xen-devel-bounces@lists.xenproject.org Wed Aug 04 17:55:43 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 17:55:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163821.299956 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBL7G-0008Qb-Qa; Wed, 04 Aug 2021 17:55:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163821.299956; Wed, 04 Aug 2021 17: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 1mBL7G-0008QU-NF; Wed, 04 Aug 2021 17:55:42 +0000
Received: by outflank-mailman (input) for mailman id 163821;
 Wed, 04 Aug 2021 17:55:41 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RR6J=M3=suse.com=dfaggioli@srs-us1.protection.inumbo.net>)
 id 1mBL7F-0008QO-MB
 for xen-devel@lists.xenproject.org; Wed, 04 Aug 2021 17:55:41 +0000
Received: from smtp-out1.suse.de (unknown [195.135.220.28])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 2d39f796-f54d-11eb-9b8d-12813bfff9fa;
 Wed, 04 Aug 2021 17:55:40 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 BA5E6222E2;
 Wed,  4 Aug 2021 17:55:39 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 81A9B139B5;
 Wed,  4 Aug 2021 17:55:39 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id FvmHHJvUCmHuCwAAGKfGzw
 (envelope-from <dfaggioli@suse.com>); Wed, 04 Aug 2021 17:55:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2d39f796-f54d-11eb-9b8d-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1628099739; 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=vUn9a6mM8a/W9SbB0Gk55niQJEeh9IGVPImdi3mjQ90=;
	b=kSOTO0cWdiS9Y6oRVycIbblsQXC9ofUCXXMgRWfW+Kkc/n3sjwvo/m74SiCpq8AtJB5Mxd
	mjNOSRcQx4RtP/I38bRjADQFiYgENRiIiwq/WlwmdIqItYist2pLMMm6HPb3Xh1w/8XShM
	OKqOEZz4ztIOFQrAdYvtZm3HKdrgDSw=
Subject: [PATCH v2] Xen: credit2: avoid picking a spurious idle unit when caps
 are used
From: Dario Faggioli <dfaggioli@suse.com>
To: xen-devel@lists.xenproject.org, xen-devel@lists.xenproject.org
Cc: George Dunlap <george.dunlap@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>
Date: Wed, 04 Aug 2021 19:55:38 +0200
Message-ID: <162809973863.23114.6885532925742864556.stgit@Wayrath>
User-Agent: StGit/0.23
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit

Commit 07b0eb5d0ef0 ("credit2: make sure we pick a runnable unit from the
runq if there is one") did not fix completely the problem of potentially
selecting a scheduling unit that will then not be able to run.

In fact, in case caps are used and the unit we are currently looking
at, during the runqueue scan, does not have enough budget for being run,
we should continue looking instead than giving up and picking the idle
unit.

Suggested-by: George Dunlap <george.dunlap@citrix.com>
Signed-off-by: Dario Faggioli <dfaggioli@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>
---
Changes from v1:
* fixed the patch tags and some style issues
* reworked the patch so that it is both easier to backport and also
  more efficient (basing on suggestions received during v1 review)
---
This is necessary to completely fix the bug that was described in and
addressed by 07b0eb5d0ef0 ("credit2: make sure we pick a runnable unit
from the runq if there is one").

It should, therefore, be backported and applied to all the branches to
which that commit has been. Such backporting should be straigthforward
to do, at least until 4.13.

I will provide the backports myself in a email that I'll send as a
reply to this one.

For 4.12 and earlier, it's slightly trickier, but the fix is still necessary.
Actually, both 07b0eb5d0ef0 and this patch should be backported to that
branch(es).

Of course, there's no official support (except for security fixes) any longer
for 4.12 and earlier, so no one should expect that the patch will be applied
by Xen's stable maintainers. Nevertheless, I'll provide at least the backports
to 4.12, in my email, so that if there are users or, in general, downstreams
that are still using these codebases, they can pick them up and apply them
by themselves.

Regards,
Dario
---
 xen/common/sched/credit2.c |   32 +++++++++++++++++++++++++-------
 1 file changed, 25 insertions(+), 7 deletions(-)

diff --git a/xen/common/sched/credit2.c b/xen/common/sched/credit2.c
index ebb09ea43a..46c4f6a251 100644
--- a/xen/common/sched/credit2.c
+++ b/xen/common/sched/credit2.c
@@ -3463,6 +3463,15 @@ runq_candidate(struct csched2_runqueue_data *rqd,
                         (unsigned char *)&d);
         }
 
+        /*
+         * If the unit in the runqueue has more credits than current (or than
+         * idle, if current is not runnable) or if current is yielding, we may
+         * want to pick it up. Otherwise, there's no need to keep scanning the
+         * runqueue any further.
+         */
+        if ( !yield && svc->credit <= snext->credit )
+            break;
+
         /* Skip non runnable units that we (temporarily) have in the runq */
         if ( unlikely(!unit_runnable_state(svc->unit)) )
             continue;
@@ -3494,16 +3503,25 @@ runq_candidate(struct csched2_runqueue_data *rqd,
         }
 
         /*
-         * If the one in the runqueue has more credit than current (or idle,
-         * if current is not runnable), or if current is yielding, and also
-         * if the one in runqueue either is not capped, or is capped but has
-         * some budget, then choose it.
+         * If we are here, we are almost sure we want to pick the unit in
+         * the runqueue. Last thing we need to check is that it either is
+         * not capped or, if it is, it has some budget.
+         *
+         * Note that budget availability must be the very last check that
+         * we, in this loop, due to the side effects that unit_grab_budget().
+         * causes.
+         *
+         * In fact, if there is budget available in the unit's domain's
+         * budget pool, the function will pick some for running this unit.
+         * And we clearly want to do that only if we're otherwise sure that
+         * the unit will actually run, consume it, and return the leftover
+         * (if any) in the usual way.
          */
-        if ( (yield || svc->credit > snext->credit) &&
-             (!has_cap(svc) || unit_grab_budget(svc)) )
-            snext = svc;
+        if ( has_cap(svc) && !unit_grab_budget(svc) )
+            continue;
 
         /* In any case, if we got this far, break. */
+        snext = svc;
         break;
     }
 




From xen-devel-bounces@lists.xenproject.org Wed Aug 04 18:19:04 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 18:19:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163831.299967 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBLTh-0002OR-Ja; Wed, 04 Aug 2021 18:18:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163831.299967; Wed, 04 Aug 2021 18:18:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBLTh-0002OK-Gb; Wed, 04 Aug 2021 18:18:53 +0000
Received: by outflank-mailman (input) for mailman id 163831;
 Wed, 04 Aug 2021 18:18:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mBLTg-0002OE-AD
 for xen-devel@lists.xenproject.org; Wed, 04 Aug 2021 18:18:52 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mBLTe-0005IR-8e; Wed, 04 Aug 2021 18:18:50 +0000
Received: from 54-240-197-231.amazon.com ([54.240.197.231]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mBLTe-0000Bx-19; Wed, 04 Aug 2021 18:18:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=U1kAyWoeFNwOnLZK80ADglulvtgVacQljSkDREd6xPU=; b=obizEWZR6akkadzT8IngjHCW/C
	GNMU+3TXkyd9Lf7n5PRMIRucsfWi4skTc6PIewiGjOQYu9JB8q9v1ufR7dtLJzOtjUxBWnMYiI4WY
	HkLAqhP28VjQ/wIhrMstOfOLHv601KU2a01WdqJFcRjHj/1vuIA3+BPmcbUQKU1DIHp8=;
Subject: Re: [PATCH] do not p2m_invalidate_root when iommu_use_hap_pt
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, Volodymyr_Babchuk@epam.com,
 Bertrand.Marquis@arm.com
References: <alpine.DEB.2.21.2108031419500.19737@sstabellini-ThinkPad-T480s>
 <ff5e9e5a-287d-127c-1d39-57c31564e9b3@xen.org>
 <alpine.DEB.2.21.2108031702430.19737@sstabellini-ThinkPad-T480s>
 <a2a99173-c566-c492-310c-003490cdba5f@xen.org>
 <alpine.DEB.2.21.2108041032330.9768@sstabellini-ThinkPad-T480s>
From: Julien Grall <julien@xen.org>
Message-ID: <93888b4c-adb8-c40d-24a4-1d7b635a3cb5@xen.org>
Date: Wed, 4 Aug 2021 19:18:48 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <alpine.DEB.2.21.2108041032330.9768@sstabellini-ThinkPad-T480s>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 04/08/2021 18:41, Stefano Stabellini wrote:
> On Wed, 4 Aug 2021, Julien Grall wrote:
>> Hi Stefano,
>>
>> On 04/08/2021 01:08, Stefano Stabellini wrote:
>>>>> diff --git a/xen/arch/arm/arm64/vsysreg.c b/xen/arch/arm/arm64/vsysreg.c
>>>>> index caf17174b8..125a9281fc 100644
>>>>> --- a/xen/arch/arm/arm64/vsysreg.c
>>>>> +++ b/xen/arch/arm/arm64/vsysreg.c
>>>>> @@ -105,6 +105,13 @@ void do_sysreg(struct cpu_user_regs *regs,
>>>>>         case HSR_SYSREG_DCISW:
>>>>>         case HSR_SYSREG_DCCSW:
>>>>>         case HSR_SYSREG_DCCISW:
>>>>> +        if ( iommu_use_hap_pt(current->domain) )
>>>>> +        {
>>>>> +            gdprintk(XENLOG_ERR,
>>>>> +                     "d%u uses set/way cache flushes with the IOMMU on.
>>>>> It
>>>>> cannot work. Replace set/way instructions with dc [ci]vac and retry.
>>>>> Injecting exception into the guest now.\n",
>>>>
>>>> This line would be far too long to print on the serial. I think you want
>>>> to
>>>> add a few newline here.
>>>
>>> Fair enough but I'll try to keep most info on the same line because
>>> otherwise with a dom0less boot it can get confusing. I suggest:
>>
>> I am not quite too sure to understand why it would get confusing with
>> dom0less. Can you give an example?
> 
> I was doing tests with the error messages before implementing the undef
> exception injection. This is the output of a regular domU (not
> dom0less): https://pastebin.com/Wytg660j
> 
> The entire message in this test should be:
> 
> (XEN) d1v0 uses set/way cache flushes with the IOMMU on. It cannot work.
> (XEN) Replace them with dc [ci]vac and retry.
> 
> But actually the first line gets eaten, so we only see:
> 
> (XEN) Replace them with dc [ci]vac and retry.
> 
> several times at the bottom of the logs.

That's most likely because you are hitting the ratelimit. However, 
writing a 80+ line is almost the wrong way to go. This making a lot more 
difficult to serial the console output...

Looking at the output, I think you can shorten to:

"The cache should be flushed by VA rather than by set/way."

At least this would make clear that using them even without the IOMMU is 
a bad idea for performance reason.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 04 18:45:30 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 18:45:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163841.299992 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBLtR-0005fD-3h; Wed, 04 Aug 2021 18:45:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163841.299992; Wed, 04 Aug 2021 18: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 1mBLtQ-0005f6-VU; Wed, 04 Aug 2021 18:45:28 +0000
Received: by outflank-mailman (input) for mailman id 163841;
 Wed, 04 Aug 2021 18:45:27 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=q0vd=M3=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mBLtO-0005Nn-VR
 for xen-devel@lists.xenproject.org; Wed, 04 Aug 2021 18:45:26 +0000
Received: from mail-pl1-x632.google.com (unknown [2607:f8b0:4864:20::632])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 3b914027-e55b-4e38-9cc9-0fbbc44331ea;
 Wed, 04 Aug 2021 18:45:25 +0000 (UTC)
Received: by mail-pl1-x632.google.com with SMTP id e21so4017403pla.5
 for <xen-devel@lists.xenproject.org>; Wed, 04 Aug 2021 11:45:25 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:f:1947:6842:b8a8:6f83])
 by smtp.gmail.com with ESMTPSA id f5sm3325647pjo.23.2021.08.04.11.45.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Aug 2021 11:45: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: 3b914027-e55b-4e38-9cc9-0fbbc44331ea
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=16MIt3xRzq/Zx0dmD6hI15XzjkHnToTpj7JUeIAYuSg=;
        b=qx9k361hixuu7vEJlAYAIRsMePCmgeK/DhwsNEvxQFfzDUOviqgil7rKlP+V59UP1g
         vW5s8zR6WMyYtPTGhbFqT9FSAkHchjTTZ8yGdIMMgB2LGQyL3YGKrz2dtj5m0JAcI4lM
         9Fcmz1pfQlpZ+omrROcr8PQOFpZ1VuEM3/KrpopZStnQZTTLQ02gkaFErGcIQsBOdHq+
         V/1slqmlUQQ+jRa5hm7b6t0qD/jJ5PyfxWDK7Bfx8n7g0Ws7AYFnkHxKAYpTVGhsSjNG
         j8ObTaWTRy9tSlPxH9SibT8PN0ummg1mWfuX3+oI8dn8wS3YNgwAbKKKfEWAmmK6rHuE
         MNYQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=16MIt3xRzq/Zx0dmD6hI15XzjkHnToTpj7JUeIAYuSg=;
        b=tkbXpGjkK5nMwiKQOR94U6Xd5pOehEVennQcm0PT7cGj02UPpPqgRstpNc7afJXlV2
         hBrY58ZwFbTA9SQUkkSBaGp2Y9dsfxnfxm7Z5L+l5jqtzezcAaSta2A2TaJ2nBbq0eiS
         4VUBN2fBMjJXZLdBZVbdsvHGmAg3lodM3qXyU8o7iB75kYWcgLJkijBGPjCMFaxTz4hl
         Cd85GNXmCzgZ6i2PZdd5azxIbpMo+YA0oMFfsgsckUEbIAkzeYjGoh40ai9hRhl0pafT
         X9YpdNE6nHfaz7/NchkMhuGhCyJZ6tqIa0f5uMeVhSawJnKD1roc4A5IK49JCC+eG4gT
         6ATQ==
X-Gm-Message-State: AOAM533qibawnByoLgkr9VGFBTyeq1xGJURANcKcK5mUIyfgl6XTh0e5
	zGdB7CFr5SGI7mA339sa3p8=
X-Google-Smtp-Source: ABdhPJxr5lz2qokE5HoLK9xS958oeBy4GhDfWQ5F/+NNMXvPzchMdWddll5aY2rUd7FNZMXCVqOStw==
X-Received: by 2002:a05:6a00:2309:b029:332:5157:e9a6 with SMTP id h9-20020a056a002309b02903325157e9a6mr1065100pfh.78.1628102724567;
        Wed, 04 Aug 2021 11:45:24 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	will@kernel.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	Tianyu.Lan@microsoft.com,
	rppt@kernel.org,
	kirill.shutemov@linux.intel.com,
	akpm@linux-foundation.org,
	brijesh.singh@amd.com,
	thomas.lendacky@amd.com,
	pgonda@google.com,
	david@redhat.com,
	krish.sadhukhan@oracle.com,
	saravanand@fb.com,
	aneesh.kumar@linux.ibm.com,
	xen-devel@lists.xenproject.org,
	martin.b.radev@gmail.com,
	ardb@kernel.org,
	rientjes@google.com,
	tj@kernel.org,
	keescook@chromium.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com
Subject: [PATCH V2 01/14] x86/HV: Initialize GHCB page in Isolation VM
Date: Wed,  4 Aug 2021 14:44:57 -0400
Message-Id: <20210804184513.512888-2-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210804184513.512888-1-ltykernel@gmail.com>
References: <20210804184513.512888-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

Hyper-V exposes GHCB page via SEV ES GHCB MSR for SNP guest
to communicate with hypervisor. Map GHCB page for all
cpus to read/write MSR register and submit hvcall request
via GHCB.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
 arch/x86/hyperv/hv_init.c       | 69 +++++++++++++++++++++++++++++++--
 arch/x86/include/asm/mshyperv.h |  2 +
 include/asm-generic/mshyperv.h  |  2 +
 3 files changed, 69 insertions(+), 4 deletions(-)

diff --git a/arch/x86/hyperv/hv_init.c b/arch/x86/hyperv/hv_init.c
index 4a643a85d570..247df301491f 100644
--- a/arch/x86/hyperv/hv_init.c
+++ b/arch/x86/hyperv/hv_init.c
@@ -20,6 +20,7 @@
 #include <linux/kexec.h>
 #include <linux/version.h>
 #include <linux/vmalloc.h>
+#include <linux/io.h>
 #include <linux/mm.h>
 #include <linux/hyperv.h>
 #include <linux/slab.h>
@@ -42,6 +43,31 @@ static void *hv_hypercall_pg_saved;
 struct hv_vp_assist_page **hv_vp_assist_page;
 EXPORT_SYMBOL_GPL(hv_vp_assist_page);
 
+static int hyperv_init_ghcb(void)
+{
+	u64 ghcb_gpa;
+	void *ghcb_va;
+	void **ghcb_base;
+
+	if (!ms_hyperv.ghcb_base)
+		return -EINVAL;
+
+	/*
+	 * GHCB page is allocated by paravisor. The address
+	 * returned by MSR_AMD64_SEV_ES_GHCB is above shared
+	 * ghcb boundary and map it here.
+	 */
+	rdmsrl(MSR_AMD64_SEV_ES_GHCB, ghcb_gpa);
+	ghcb_va = memremap(ghcb_gpa, HV_HYP_PAGE_SIZE, MEMREMAP_WB);
+	if (!ghcb_va)
+		return -ENOMEM;
+
+	ghcb_base = (void **)this_cpu_ptr(ms_hyperv.ghcb_base);
+	*ghcb_base = ghcb_va;
+
+	return 0;
+}
+
 static int hv_cpu_init(unsigned int cpu)
 {
 	struct hv_vp_assist_page **hvp = &hv_vp_assist_page[smp_processor_id()];
@@ -75,6 +101,8 @@ static int hv_cpu_init(unsigned int cpu)
 		wrmsrl(HV_X64_MSR_VP_ASSIST_PAGE, val);
 	}
 
+	hyperv_init_ghcb();
+
 	return 0;
 }
 
@@ -167,6 +195,14 @@ static int hv_cpu_die(unsigned int cpu)
 {
 	struct hv_reenlightenment_control re_ctrl;
 	unsigned int new_cpu;
+	void **ghcb_va = NULL;
+
+	if (ms_hyperv.ghcb_base) {
+		ghcb_va = (void **)this_cpu_ptr(ms_hyperv.ghcb_base);
+		if (*ghcb_va)
+			memunmap(*ghcb_va);
+		*ghcb_va = NULL;
+	}
 
 	hv_common_cpu_die(cpu);
 
@@ -340,9 +376,22 @@ void __init hyperv_init(void)
 			VMALLOC_END, GFP_KERNEL, PAGE_KERNEL_ROX,
 			VM_FLUSH_RESET_PERMS, NUMA_NO_NODE,
 			__builtin_return_address(0));
-	if (hv_hypercall_pg == NULL) {
-		wrmsrl(HV_X64_MSR_GUEST_OS_ID, 0);
-		goto remove_cpuhp_state;
+	if (hv_hypercall_pg == NULL)
+		goto clean_guest_os_id;
+
+	if (hv_isolation_type_snp()) {
+		ms_hyperv.ghcb_base = alloc_percpu(void *);
+		if (!ms_hyperv.ghcb_base)
+			goto clean_guest_os_id;
+
+		if (hyperv_init_ghcb()) {
+			free_percpu(ms_hyperv.ghcb_base);
+			ms_hyperv.ghcb_base = NULL;
+			goto clean_guest_os_id;
+		}
+
+		/* Hyper-V requires to write guest os id via ghcb in SNP IVM. */
+		hv_ghcb_msr_write(HV_X64_MSR_GUEST_OS_ID, guest_id);
 	}
 
 	rdmsrl(HV_X64_MSR_HYPERCALL, hypercall_msr.as_uint64);
@@ -403,7 +452,8 @@ void __init hyperv_init(void)
 	hv_query_ext_cap(0);
 	return;
 
-remove_cpuhp_state:
+clean_guest_os_id:
+	wrmsrl(HV_X64_MSR_GUEST_OS_ID, 0);
 	cpuhp_remove_state(cpuhp);
 free_vp_assist_page:
 	kfree(hv_vp_assist_page);
@@ -431,6 +481,9 @@ void hyperv_cleanup(void)
 	 */
 	hv_hypercall_pg = NULL;
 
+	if (ms_hyperv.ghcb_base)
+		free_percpu(ms_hyperv.ghcb_base);
+
 	/* Reset the hypercall page */
 	hypercall_msr.as_uint64 = 0;
 	wrmsrl(HV_X64_MSR_HYPERCALL, hypercall_msr.as_uint64);
@@ -506,3 +559,11 @@ bool hv_is_isolation_supported(void)
 {
 	return hv_get_isolation_type() != HV_ISOLATION_TYPE_NONE;
 }
+
+DEFINE_STATIC_KEY_FALSE(isolation_type_snp);
+
+bool hv_isolation_type_snp(void)
+{
+	return static_branch_unlikely(&isolation_type_snp);
+}
+EXPORT_SYMBOL_GPL(hv_isolation_type_snp);
diff --git a/arch/x86/include/asm/mshyperv.h b/arch/x86/include/asm/mshyperv.h
index adccbc209169..6627cfd2bfba 100644
--- a/arch/x86/include/asm/mshyperv.h
+++ b/arch/x86/include/asm/mshyperv.h
@@ -11,6 +11,8 @@
 #include <asm/paravirt.h>
 #include <asm/mshyperv.h>
 
+DECLARE_STATIC_KEY_FALSE(isolation_type_snp);
+
 typedef int (*hyperv_fill_flush_list_func)(
 		struct hv_guest_mapping_flush_list *flush,
 		void *data);
diff --git a/include/asm-generic/mshyperv.h b/include/asm-generic/mshyperv.h
index c1ab6a6e72b5..4269f3174e58 100644
--- a/include/asm-generic/mshyperv.h
+++ b/include/asm-generic/mshyperv.h
@@ -36,6 +36,7 @@ struct ms_hyperv_info {
 	u32 max_lp_index;
 	u32 isolation_config_a;
 	u32 isolation_config_b;
+	void  __percpu **ghcb_base;
 };
 extern struct ms_hyperv_info ms_hyperv;
 
@@ -237,6 +238,7 @@ bool hv_is_hyperv_initialized(void);
 bool hv_is_hibernation_supported(void);
 enum hv_isolation_type hv_get_isolation_type(void);
 bool hv_is_isolation_supported(void);
+bool hv_isolation_type_snp(void);
 void hyperv_cleanup(void);
 bool hv_query_ext_cap(u64 cap_query);
 #else /* CONFIG_HYPERV */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 04 18:45:30 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 18:45:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163840.299980 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBLtL-0005O0-RU; Wed, 04 Aug 2021 18:45:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163840.299980; Wed, 04 Aug 2021 18: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 1mBLtL-0005Nt-Md; Wed, 04 Aug 2021 18:45:23 +0000
Received: by outflank-mailman (input) for mailman id 163840;
 Wed, 04 Aug 2021 18:45:22 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=q0vd=M3=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mBLtK-0005Nn-6t
 for xen-devel@lists.xenproject.org; Wed, 04 Aug 2021 18:45:22 +0000
Received: from mail-pj1-x102d.google.com (unknown [2607:f8b0:4864:20::102d])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id b5293151-4050-4385-a87f-ee73e79ab532;
 Wed, 04 Aug 2021 18:45:21 +0000 (UTC)
Received: by mail-pj1-x102d.google.com with SMTP id
 pj14-20020a17090b4f4eb029017786cf98f9so4874263pjb.2
 for <xen-devel@lists.xenproject.org>; Wed, 04 Aug 2021 11:45:21 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:f:1947:6842:b8a8:6f83])
 by smtp.gmail.com with ESMTPSA id f5sm3325647pjo.23.2021.08.04.11.45.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Aug 2021 11:45: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: b5293151-4050-4385-a87f-ee73e79ab532
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=tCOWlCVzJ/vNFZC4gC6K6prPZvwl0XzQwKDBWhCLMn0=;
        b=GXASiyKYtq8/Bgud0lyPhD9m2ZDbNZQsl56/ePhMGS1TUFwoLCBtYcq5+x2lER0t5P
         zcAgBay5Ynx3pJcDNg6HgAPwVWnPb1WjynAgeOlq6o+HPrYeul551WPl0dXGfyM0ajX8
         jH0apncFN0/At3TGXp4jU/C4OwrIJv+8wNN3sWUAqeC7MHXsyyjXFfnz2UECVXha/sNg
         I4rXqNSGRrTjXeX4B4SqLwmVkt5MXsIki9IyXAqcp40eSo3Xmlo+5hvBkcN4/dglOMtl
         Uzx+H5I5QJtxLDwE7y830ynuCOHiHuBna3Uv61+yodcsxnzGd1B/HyOEOE7mW/IjsgMc
         wBwg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=tCOWlCVzJ/vNFZC4gC6K6prPZvwl0XzQwKDBWhCLMn0=;
        b=Bs0vjwr3/QefuhQQKiCRJaarybXu4rTpAgUpeFZ5oI+GOM9pdgj1ZC/sdxV+abN4DW
         cuSm1v3EVU4lmsPN0xS3smW9ltuTdC73yhrB4OMnW3UJr6TdNO6JT6qE/OcO5KVH154O
         E8F3qoot3XApIJW5mtrFGybnlApwe9owRegAw5UH6hVuXGurEvPnvkdr624I6PhZMTK+
         xiVyvxqdGS6nqAtkME4NPe1X3kIQV6UrifhqdJBnZ4KUrWKVZDPU5r22fTl6BlCC+160
         G2/Y1Vr5rRxzwZ8awbcZShRa1c1j5geOiaRjlWrwGUmxzOrvMY4Q7vDP78ilPapftl/x
         i56Q==
X-Gm-Message-State: AOAM533dB9FOtq7HDF3KztfyXD7jR/dJnFcnXbf/irHZvgNPs7qbjvPq
	ITsoFYzqCCS99U6hJQvGD/U=
X-Google-Smtp-Source: ABdhPJwrmdKQ47neq1EMdpZ0UbHKJYCgTGPCSMaTpgTirMsAABPF9yn55RB8QxFUVni1AjDdexBDuw==
X-Received: by 2002:aa7:9537:0:b029:3b6:d6f0:6328 with SMTP id c23-20020aa795370000b02903b6d6f06328mr1090266pfp.38.1628102720172;
        Wed, 04 Aug 2021 11:45:20 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	will@kernel.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	Tianyu.Lan@microsoft.com,
	rppt@kernel.org,
	kirill.shutemov@linux.intel.com,
	akpm@linux-foundation.org,
	brijesh.singh@amd.com,
	thomas.lendacky@amd.com,
	pgonda@google.com,
	david@redhat.com,
	krish.sadhukhan@oracle.com,
	saravanand@fb.com,
	aneesh.kumar@linux.ibm.com,
	xen-devel@lists.xenproject.org,
	martin.b.radev@gmail.com,
	ardb@kernel.org,
	rientjes@google.com,
	tj@kernel.org,
	keescook@chromium.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com
Subject: [PATCH V2 00/14] x86/Hyper-V: Add Hyper-V Isolation VM support
Date: Wed,  4 Aug 2021 14:44:56 -0400
Message-Id: <20210804184513.512888-1-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

Hyper-V provides two kinds of Isolation VMs. VBS(Virtualization-based
security) and AMD SEV-SNP unenlightened Isolation VMs. This patchset
is to add support for these Isolation VM support in Linux.

The memory of these vms are encrypted and host can't access guest
memory directly. Hyper-V provides new host visibility hvcall and
the guest needs to call new hvcall to mark memory visible to host
before sharing memory with host. For security, all network/storage
stack memory should not be shared with host and so there is bounce
buffer requests.

Vmbus channel ring buffer already plays bounce buffer role because
all data from/to host needs to copy from/to between the ring buffer
and IO stack memory. So mark vmbus channel ring buffer visible.

There are two exceptions - packets sent by vmbus_sendpacket_
pagebuffer() and vmbus_sendpacket_mpb_desc(). These packets
contains IO stack memory address and host will access these memory.
So add allocation bounce buffer support in vmbus for these packets.

For SNP isolation VM, guest needs to access the shared memory via
extra address space which is specified by Hyper-V CPUID HYPERV_CPUID_
ISOLATION_CONFIG. The access physical address of the shared memory
should be bounce buffer memory GPA plus with shared_gpa_boundary
reported by CPUID.

Change since V1:
       - Introduce x86_set_memory_enc static call and so platforms can
         override __set_memory_enc_dec() with their implementation
       - Introduce sev_es_ghcb_hv_call_simple() and share code
         between SEV and Hyper-V code.
       - Not remap monitor pages in the non-SNP isolation VM
       - Make swiotlb_init_io_tlb_mem() return error code and return
         error when dma_map_decrypted() fails.

Change since RFC V4:
       - Introduce dma map decrypted function to remap bounce buffer
          and provide dma map decrypted ops for platform to hook callback.        
       - Split swiotlb and dma map decrypted change into two patches
       - Replace vstart with vaddr in swiotlb changes.

Change since RFC v3:
       - Add interface set_memory_decrypted_map() to decrypt memory and
         map bounce buffer in extra address space
       - Remove swiotlb remap function and store the remap address
         returned by set_memory_decrypted_map() in swiotlb mem data structure.
       - Introduce hv_set_mem_enc() to make code more readable in the __set_memory_enc_dec().

Change since RFC v2:
       - Remove not UIO driver in Isolation VM patch
       - Use vmap_pfn() to replace ioremap_page_range function in
       order to avoid exposing symbol ioremap_page_range() and
       ioremap_page_range()
       - Call hv set mem host visibility hvcall in set_memory_encrypted/decrypted()
       - Enable swiotlb force mode instead of adding Hyper-V dma map/unmap hook
       - Fix code style


Tianyu Lan (14):
  x86/HV: Initialize GHCB page in Isolation VM
  x86/HV: Initialize shared memory boundary in the Isolation VM.
  x86/set_memory: Add x86_set_memory_enc static call support
  x86/HV: Add new hvcall guest address host visibility support
  HV: Mark vmbus ring buffer visible to host in Isolation VM
  HV: Add Write/Read MSR registers via ghcb page
  HV: Add ghcb hvcall support for SNP VM
  HV/Vmbus: Add SNP support for VMbus channel initiate message
  HV/Vmbus: Initialize VMbus ring buffer for Isolation VM
  DMA: Add dma_map_decrypted/dma_unmap_encrypted() function
  x86/Swiotlb: Add Swiotlb bounce buffer remap function for HV IVM
  HV/IOMMU: Enable swiotlb bounce buffer for Isolation VM
  HV/Netvsc: Add Isolation VM support for netvsc driver
  HV/Storvsc: Add Isolation VM support for storvsc driver

 arch/x86/hyperv/Makefile           |   2 +-
 arch/x86/hyperv/hv_init.c          |  81 ++++++--
 arch/x86/hyperv/ivm.c              | 295 +++++++++++++++++++++++++++++
 arch/x86/include/asm/hyperv-tlfs.h |  20 ++
 arch/x86/include/asm/mshyperv.h    |  87 ++++++++-
 arch/x86/include/asm/set_memory.h  |   4 +
 arch/x86/include/asm/sev.h         |   3 +
 arch/x86/kernel/cpu/mshyperv.c     |   5 +
 arch/x86/kernel/sev-shared.c       |  63 +++---
 arch/x86/mm/pat/set_memory.c       |   9 +
 arch/x86/xen/pci-swiotlb-xen.c     |   3 +-
 drivers/hv/Kconfig                 |   1 +
 drivers/hv/channel.c               |  54 +++++-
 drivers/hv/connection.c            |  71 ++++++-
 drivers/hv/hv.c                    | 129 +++++++++----
 drivers/hv/hyperv_vmbus.h          |   3 +
 drivers/hv/ring_buffer.c           |  84 ++++++--
 drivers/hv/vmbus_drv.c             |   3 +
 drivers/iommu/hyperv-iommu.c       |  65 +++++++
 drivers/net/hyperv/hyperv_net.h    |   6 +
 drivers/net/hyperv/netvsc.c        | 144 +++++++++++++-
 drivers/net/hyperv/rndis_filter.c  |   2 +
 drivers/scsi/storvsc_drv.c         |  68 ++++++-
 include/asm-generic/hyperv-tlfs.h  |   1 +
 include/asm-generic/mshyperv.h     |  53 +++++-
 include/linux/dma-map-ops.h        |   9 +
 include/linux/hyperv.h             |  17 ++
 include/linux/swiotlb.h            |   4 +
 kernel/dma/mapping.c               |  22 +++
 kernel/dma/swiotlb.c               |  32 +++-
 30 files changed, 1216 insertions(+), 124 deletions(-)
 create mode 100644 arch/x86/hyperv/ivm.c

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 04 18:45:33 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 18:45:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163842.300004 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBLtV-0005zf-HC; Wed, 04 Aug 2021 18:45:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163842.300004; Wed, 04 Aug 2021 18: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 1mBLtV-0005zY-De; Wed, 04 Aug 2021 18:45:33 +0000
Received: by outflank-mailman (input) for mailman id 163842;
 Wed, 04 Aug 2021 18:45:32 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=q0vd=M3=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mBLtT-0005Nn-Vg
 for xen-devel@lists.xenproject.org; Wed, 04 Aug 2021 18:45:32 +0000
Received: from mail-pj1-x1029.google.com (unknown [2607:f8b0:4864:20::1029])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 86d95687-ff18-44de-9381-ed5bd6a09bdd;
 Wed, 04 Aug 2021 18:45:28 +0000 (UTC)
Received: by mail-pj1-x1029.google.com with SMTP id l19so4405015pjz.0
 for <xen-devel@lists.xenproject.org>; Wed, 04 Aug 2021 11:45:28 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:f:1947:6842:b8a8:6f83])
 by smtp.gmail.com with ESMTPSA id f5sm3325647pjo.23.2021.08.04.11.45.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Aug 2021 11: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: 86d95687-ff18-44de-9381-ed5bd6a09bdd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=4UOe5b2fx3Fh6u6Lqilgce/bFIZGpTYCRKnCgcNYEYs=;
        b=NSH/LJRx35rv2Coaect5ebgngqcRbKdFYRhidD5HVV5WQJ6WgjqN12zsAK/Gkyy/7x
         I+8VVT2Mhji0abHf/4jevoNiqwA2z7AmqJJVhMzUjdfoVd85qVx8uMqrxdgmtcLVb8lb
         U81wGAO1FRvQOYHaKxIbPqzzd3/XAOzV0ItIJ6C84F4cFY/LOvV8nCJUAumysIFMIv2f
         ZmUlz8s+pI1p+14JTXmlgoJTnXDIzGQ798aDHtD7uRw0m/ZW+926eQUGYXfO/+c8JHxA
         lwxp04iNL7R8HklDJ+fqB1ltRK00B3Q2EOwhwQpIOQvtt2GkuXmjdei+LviGqNTXKo/P
         QtVA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=4UOe5b2fx3Fh6u6Lqilgce/bFIZGpTYCRKnCgcNYEYs=;
        b=N/CEXBV9dRN9aJHmelvFMWvOzEP/01DIyCaqDxGjQIBN+E72tjyBBzRF8BogVEqiCS
         8kfQpM9rs1FaXvL5VGlLWjHeShNAALebous99JbBR+y6sKUAbxCto8reHwUbsRytz/pU
         NTiv51HB66zMDjS2BwMiL/Iivcvl79O74yajlpTogrHmSXsh/EOEMicN8GmKtlrfpZRU
         gsfPte5mb+3ngxU3YUVBnwJtRNutrqyTdTUxCdj7pLSI15//QONaNGPPN6KLm4Ihh68C
         bsd22TMHl/5lrIsRQCbvgPlXCL95KiUSxknPnmx7VNNtCpFKKAymCq1YnsJi4lN4cD+e
         OvXg==
X-Gm-Message-State: AOAM530+hi/0lXcdaSt9vLatV4CQmwLP27UQw45SuYavzS8gEyywRYA0
	3hniOKN3XQYv9Ferf/SeOQE=
X-Google-Smtp-Source: ABdhPJxPyx87KdC9aGTdRDzgUUm8YpYNF92sxS8SZIEQhtuiHOOQQbprX6PFum9C1CwkqaEKm/aS0w==
X-Received: by 2002:a17:90b:34e:: with SMTP id fh14mr530326pjb.100.1628102728038;
        Wed, 04 Aug 2021 11:45:28 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	will@kernel.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	Tianyu.Lan@microsoft.com,
	rppt@kernel.org,
	kirill.shutemov@linux.intel.com,
	akpm@linux-foundation.org,
	brijesh.singh@amd.com,
	thomas.lendacky@amd.com,
	pgonda@google.com,
	david@redhat.com,
	krish.sadhukhan@oracle.com,
	saravanand@fb.com,
	aneesh.kumar@linux.ibm.com,
	xen-devel@lists.xenproject.org,
	martin.b.radev@gmail.com,
	ardb@kernel.org,
	rientjes@google.com,
	tj@kernel.org,
	keescook@chromium.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com
Subject: [PATCH V2 02/14] x86/HV: Initialize shared memory boundary in the Isolation VM.
Date: Wed,  4 Aug 2021 14:44:58 -0400
Message-Id: <20210804184513.512888-3-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210804184513.512888-1-ltykernel@gmail.com>
References: <20210804184513.512888-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

Hyper-V exposes shared memory boundary via cpuid
HYPERV_CPUID_ISOLATION_CONFIG and store it in the
shared_gpa_boundary of ms_hyperv struct. This prepares
to share memory with host for SNP guest.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
 arch/x86/kernel/cpu/mshyperv.c |  2 ++
 include/asm-generic/mshyperv.h | 12 +++++++++++-
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/arch/x86/kernel/cpu/mshyperv.c b/arch/x86/kernel/cpu/mshyperv.c
index dcfbd2770d7f..773e84e134b3 100644
--- a/arch/x86/kernel/cpu/mshyperv.c
+++ b/arch/x86/kernel/cpu/mshyperv.c
@@ -327,6 +327,8 @@ static void __init ms_hyperv_init_platform(void)
 	if (ms_hyperv.priv_high & HV_ISOLATION) {
 		ms_hyperv.isolation_config_a = cpuid_eax(HYPERV_CPUID_ISOLATION_CONFIG);
 		ms_hyperv.isolation_config_b = cpuid_ebx(HYPERV_CPUID_ISOLATION_CONFIG);
+		ms_hyperv.shared_gpa_boundary =
+			(u64)1 << ms_hyperv.shared_gpa_boundary_bits;
 
 		pr_info("Hyper-V: Isolation Config: Group A 0x%x, Group B 0x%x\n",
 			ms_hyperv.isolation_config_a, ms_hyperv.isolation_config_b);
diff --git a/include/asm-generic/mshyperv.h b/include/asm-generic/mshyperv.h
index 4269f3174e58..aa26d24a5ca9 100644
--- a/include/asm-generic/mshyperv.h
+++ b/include/asm-generic/mshyperv.h
@@ -35,8 +35,18 @@ struct ms_hyperv_info {
 	u32 max_vp_index;
 	u32 max_lp_index;
 	u32 isolation_config_a;
-	u32 isolation_config_b;
+	union {
+		u32 isolation_config_b;
+		struct {
+			u32 cvm_type : 4;
+			u32 Reserved11 : 1;
+			u32 shared_gpa_boundary_active : 1;
+			u32 shared_gpa_boundary_bits : 6;
+			u32 Reserved12 : 20;
+		};
+	};
 	void  __percpu **ghcb_base;
+	u64 shared_gpa_boundary;
 };
 extern struct ms_hyperv_info ms_hyperv;
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 04 18:45:43 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 18:45:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163844.300016 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBLtf-0006Xz-RJ; Wed, 04 Aug 2021 18:45:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163844.300016; Wed, 04 Aug 2021 18:45:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBLtf-0006Xn-O1; Wed, 04 Aug 2021 18:45:43 +0000
Received: by outflank-mailman (input) for mailman id 163844;
 Wed, 04 Aug 2021 18:45:42 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=q0vd=M3=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mBLte-0005Nn-02
 for xen-devel@lists.xenproject.org; Wed, 04 Aug 2021 18:45:42 +0000
Received: from mail-pl1-x632.google.com (unknown [2607:f8b0:4864:20::632])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 7660b7ca-b47a-4e21-b229-077980450e31;
 Wed, 04 Aug 2021 18:45:31 +0000 (UTC)
Received: by mail-pl1-x632.google.com with SMTP id t3so3987660plg.9
 for <xen-devel@lists.xenproject.org>; Wed, 04 Aug 2021 11:45:31 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:f:1947:6842:b8a8:6f83])
 by smtp.gmail.com with ESMTPSA id f5sm3325647pjo.23.2021.08.04.11.45.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Aug 2021 11:45: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: 7660b7ca-b47a-4e21-b229-077980450e31
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=FdFAudmr1+kygb9VLkJoTvdwIA9Vg/qvV4n+6/T0PLM=;
        b=olNy8x8y7DV61QBkuXuMrjl8xyjVV6qI92ML9lui5gV9yaNd+g2yRo8+GAjxd8Shaw
         k/aTAARZG99hTkIBKMYA8AGviCdjwdKUj9zvrSsMRj3YRUG5xnaWS/4qsbqpqwqCDxVq
         thDtttD8qDBBwUgnHLZDfNa4in8fDL5BO/rbvDTdpiDuDEU1/QpqHcaG2k2j/JzClxiS
         J14sR1WMiTvZ9mb8KqscgmQf9kA0OfiyX4uR9IOjwyzY85SR5/dpYBVyd2yQ7Rbd9F94
         JCAgvx+khF5I5ToQJpXoaocqMVIQHlMGBh2ExwSjPQVaypIrNzCxPp5ZbaCkrafC015M
         zj0A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=FdFAudmr1+kygb9VLkJoTvdwIA9Vg/qvV4n+6/T0PLM=;
        b=U9bJfPVG3twFZXlTEIgTTReqyn7wPCWDr2Kpq72Hsr8ZnU/ATr/jdUxqRc5t7T9+Z1
         hDBlkE3jh4YOVwlfZ1kijrs42KBEizMZZbyGqIYHWANorn+CkE7StIiL0Szs+6M7Hgus
         mDHA0FOmGwlfck1VDBL8zi7S9zUm295b+Lbxk4ywB8Axpcr19eyMf9OcARAmAeVc+u90
         p1dFePzJC8BkE+km3NRC+Mp7iTDLr1pJocIicCumx5gOMZcuKRC3WOKMYm6fZR34UXWi
         28f2SSESFZ2ZcBr2vKUm5BN5XoL+tmqP6VQU0YbyOI2PsFPhDfiQC/96bYMEtA0HCTg2
         I0MQ==
X-Gm-Message-State: AOAM530GNVYTWEugqdYI8FBkWUGByJpdmaE+o7SOEtSIiTjh7weuljaI
	RwQYBNrWyQA7PscgZeY6/cU=
X-Google-Smtp-Source: ABdhPJwPmTFefX7A/J1jN8u3n99CGRipE6kjwRUWfraZOYkn2XRufM5MD06moIp1hWSu/z++9TU7ow==
X-Received: by 2002:a17:902:c651:b029:12c:1ec0:a8b8 with SMTP id s17-20020a170902c651b029012c1ec0a8b8mr486766pls.40.1628102730835;
        Wed, 04 Aug 2021 11:45:30 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	will@kernel.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	Tianyu.Lan@microsoft.com,
	rppt@kernel.org,
	kirill.shutemov@linux.intel.com,
	akpm@linux-foundation.org,
	brijesh.singh@amd.com,
	thomas.lendacky@amd.com,
	pgonda@google.com,
	david@redhat.com,
	krish.sadhukhan@oracle.com,
	saravanand@fb.com,
	aneesh.kumar@linux.ibm.com,
	xen-devel@lists.xenproject.org,
	martin.b.radev@gmail.com,
	ardb@kernel.org,
	rientjes@google.com,
	tj@kernel.org,
	keescook@chromium.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com
Subject: [PATCH V2 03/14] x86/set_memory: Add x86_set_memory_enc static call support
Date: Wed,  4 Aug 2021 14:44:59 -0400
Message-Id: <20210804184513.512888-4-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210804184513.512888-1-ltykernel@gmail.com>
References: <20210804184513.512888-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

Hyper-V and other platforms(e.g Intel and AMD) want to override
the __set_memory_enc_dec(). Add x86_set_memory_enc static
call here and platforms can hook their implementation.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
 arch/x86/include/asm/set_memory.h | 4 ++++
 arch/x86/mm/pat/set_memory.c      | 9 +++++++++
 2 files changed, 13 insertions(+)

diff --git a/arch/x86/include/asm/set_memory.h b/arch/x86/include/asm/set_memory.h
index 43fa081a1adb..490f2cfc00fa 100644
--- a/arch/x86/include/asm/set_memory.h
+++ b/arch/x86/include/asm/set_memory.h
@@ -4,6 +4,7 @@
 
 #include <asm/page.h>
 #include <asm-generic/set_memory.h>
+#include <linux/static_call.h>
 
 /*
  * The set_memory_* API can be used to change various attributes of a virtual
@@ -84,6 +85,9 @@ int set_direct_map_invalid_noflush(struct page *page);
 int set_direct_map_default_noflush(struct page *page);
 bool kernel_page_present(struct page *page);
 
+int dummy_set_memory_enc(unsigned long addr, int numpages, bool enc);
+DECLARE_STATIC_CALL(x86_set_memory_enc, dummy_set_memory_enc);
+
 extern int kernel_set_to_readonly;
 
 #ifdef CONFIG_X86_64
diff --git a/arch/x86/mm/pat/set_memory.c b/arch/x86/mm/pat/set_memory.c
index ad8a5c586a35..68e9ab522cea 100644
--- a/arch/x86/mm/pat/set_memory.c
+++ b/arch/x86/mm/pat/set_memory.c
@@ -18,6 +18,7 @@
 #include <linux/libnvdimm.h>
 #include <linux/vmstat.h>
 #include <linux/kernel.h>
+#include <linux/static_call.h>
 
 #include <asm/e820/api.h>
 #include <asm/processor.h>
@@ -66,6 +67,9 @@ static const int cpa_warn_level = CPA_PROTECT;
  */
 static DEFINE_SPINLOCK(cpa_lock);
 
+static int default_set_memory_enc(unsigned long addr, int numpages, bool enc);
+DEFINE_STATIC_CALL(x86_set_memory_enc, default_set_memory_enc);
+
 #define CPA_FLUSHTLB 1
 #define CPA_ARRAY 2
 #define CPA_PAGES_ARRAY 4
@@ -1981,6 +1985,11 @@ int set_memory_global(unsigned long addr, int numpages)
 }
 
 static int __set_memory_enc_dec(unsigned long addr, int numpages, bool enc)
+{
+	return static_call(x86_set_memory_enc)(addr, numpages, enc);
+}
+
+static int default_set_memory_enc(unsigned long addr, int numpages, bool enc)
 {
 	struct cpa_data cpa;
 	int ret;
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 04 18:45:49 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 18:45:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163849.300028 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBLtl-00075o-60; Wed, 04 Aug 2021 18:45:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163849.300028; Wed, 04 Aug 2021 18:45:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBLtl-00075c-26; Wed, 04 Aug 2021 18:45:49 +0000
Received: by outflank-mailman (input) for mailman id 163849;
 Wed, 04 Aug 2021 18:45:47 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=q0vd=M3=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mBLtj-0005Nn-01
 for xen-devel@lists.xenproject.org; Wed, 04 Aug 2021 18:45:47 +0000
Received: from mail-pl1-x62a.google.com (unknown [2607:f8b0:4864:20::62a])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 6aae19a1-3dea-4cb3-9076-4aad18f92e3a;
 Wed, 04 Aug 2021 18:45:34 +0000 (UTC)
Received: by mail-pl1-x62a.google.com with SMTP id a20so4072338plm.0
 for <xen-devel@lists.xenproject.org>; Wed, 04 Aug 2021 11:45:34 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:f:1947:6842:b8a8:6f83])
 by smtp.gmail.com with ESMTPSA id f5sm3325647pjo.23.2021.08.04.11.45.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Aug 2021 11:45: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: 6aae19a1-3dea-4cb3-9076-4aad18f92e3a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=FjqcDsd3/8WG5LCe93SalrqBfhW3NFLliTRMxmsfSWY=;
        b=WLC7rbFu97EvBJcM9iAJVPZcOXaF+MOqN3rcZ9MpMYnd9Vb6tnMcNwGKQvKYQxpAUk
         wQSXwd8iovG9MxXaJMYTr6XlzfpUZZ8vNdPXq386rwciWYxt0V+7afeSzPE4tnxfHQAT
         XZUecZDtiyjrrltS9OfuZ2sSpu2GPvB567hXPKyTCsRVNm+gJ9DlfdEtha5Fg5uXt53b
         pQMVW1xdYMg//7zlOMUiPQw2bsZcvVSInMTyeuJ6xADnG2wflSiGHXQwId/yiezOYz4z
         cbvW7J+NIvV0wP5w11SG9Arkfk9Xmve/4rQRQfEsofs814k+uTbdXxXbpKf3WRSH0OdH
         2nyQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=FjqcDsd3/8WG5LCe93SalrqBfhW3NFLliTRMxmsfSWY=;
        b=s1hyZz8ZeAM3CY3qBJQabX+Apy4ZsUR0jnvbdA9G+IswHzWLIAbQc3368QaNPFlYPA
         EJ1sZEGR3zJZm1loPRzkonj6ZYPKf4komER5BDVdmRYFLdVjjHHch97jOx+aDVohk77y
         bJn+PzRmslNAt31m4DELPf1+6Ffxebn7RH6oZXH4WR+JiSVBu72HZ+v6D0LRcgWTUgBf
         xnKiND8VW8Okiwa871Gci2rdYltVSp8+NhPAhlha3Qd6P0T8TAmn6sQqruH1smI1uM3D
         h3ec5pDitgyw5BfDx4/zhNFnu8UA31wzVNXiHxVTHaJ0UA3XaFpZc5Z2JhvDCsgG+mwq
         SPeA==
X-Gm-Message-State: AOAM530mEJXe99Cw3MYYmmGbxTh6FqWfgUXkvcw9u8papviLoVRUuZHh
	dSyYQKjpOrsBp2zGuo1gwGg=
X-Google-Smtp-Source: ABdhPJwO5aD7mthpGg242+kZ4yRQSM9kDCTOHzrxihcaVLCLZkqlSU33CEcsbkdEBA8Z5IuFN2Ykuw==
X-Received: by 2002:a62:78cd:0:b029:3c1:f5bc:b5ed with SMTP id t196-20020a6278cd0000b02903c1f5bcb5edmr1048118pfc.65.1628102733763;
        Wed, 04 Aug 2021 11:45:33 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	will@kernel.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	Tianyu.Lan@microsoft.com,
	rppt@kernel.org,
	kirill.shutemov@linux.intel.com,
	akpm@linux-foundation.org,
	brijesh.singh@amd.com,
	thomas.lendacky@amd.com,
	pgonda@google.com,
	david@redhat.com,
	krish.sadhukhan@oracle.com,
	saravanand@fb.com,
	aneesh.kumar@linux.ibm.com,
	xen-devel@lists.xenproject.org,
	martin.b.radev@gmail.com,
	ardb@kernel.org,
	rientjes@google.com,
	tj@kernel.org,
	keescook@chromium.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com
Subject: [PATCH V2 04/14] x86/HV: Add new hvcall guest address host visibility support
Date: Wed,  4 Aug 2021 14:45:00 -0400
Message-Id: <20210804184513.512888-5-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210804184513.512888-1-ltykernel@gmail.com>
References: <20210804184513.512888-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

Add new hvcall guest address host visibility support to mark
memory visible to host. Override x86_set_memory_enc static
call with hv hook to mark memory visible to host via set_
memory_decrypted().

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
Change since v1:
       * Use new staic call x86_set_memory_enc to avoid add Hyper-V
         specific check in the set_memory code.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
 arch/x86/hyperv/Makefile           |   2 +-
 arch/x86/hyperv/hv_init.c          |   6 ++
 arch/x86/hyperv/ivm.c              | 114 +++++++++++++++++++++++++++++
 arch/x86/include/asm/hyperv-tlfs.h |  20 +++++
 arch/x86/include/asm/mshyperv.h    |   4 +-
 include/asm-generic/hyperv-tlfs.h  |   1 +
 6 files changed, 145 insertions(+), 2 deletions(-)
 create mode 100644 arch/x86/hyperv/ivm.c

diff --git a/arch/x86/hyperv/Makefile b/arch/x86/hyperv/Makefile
index 48e2c51464e8..5d2de10809ae 100644
--- a/arch/x86/hyperv/Makefile
+++ b/arch/x86/hyperv/Makefile
@@ -1,5 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0-only
-obj-y			:= hv_init.o mmu.o nested.o irqdomain.o
+obj-y			:= hv_init.o mmu.o nested.o irqdomain.o ivm.o
 obj-$(CONFIG_X86_64)	+= hv_apic.o hv_proc.o
 
 ifdef CONFIG_X86_64
diff --git a/arch/x86/hyperv/hv_init.c b/arch/x86/hyperv/hv_init.c
index 247df301491f..57962d407484 100644
--- a/arch/x86/hyperv/hv_init.c
+++ b/arch/x86/hyperv/hv_init.c
@@ -17,6 +17,7 @@
 #include <asm/hyperv-tlfs.h>
 #include <asm/mshyperv.h>
 #include <asm/idtentry.h>
+#include <asm/set_memory.h>
 #include <linux/kexec.h>
 #include <linux/version.h>
 #include <linux/vmalloc.h>
@@ -29,6 +30,7 @@
 #include <linux/syscore_ops.h>
 #include <clocksource/hyperv_timer.h>
 #include <linux/highmem.h>
+#include <linux/static_call.h>
 
 int hyperv_init_cpuhp;
 u64 hv_current_partition_id = ~0ull;
@@ -450,6 +452,10 @@ void __init hyperv_init(void)
 
 	/* Query the VMs extended capability once, so that it can be cached. */
 	hv_query_ext_cap(0);
+
+	if (hv_is_isolation_supported())
+		static_call_update(x86_set_memory_enc, hv_set_mem_enc);
+
 	return;
 
 clean_guest_os_id:
diff --git a/arch/x86/hyperv/ivm.c b/arch/x86/hyperv/ivm.c
new file mode 100644
index 000000000000..6d130ba03f41
--- /dev/null
+++ b/arch/x86/hyperv/ivm.c
@@ -0,0 +1,114 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Hyper-V Isolation VM interface with paravisor and hypervisor
+ *
+ * Author:
+ *  Tianyu Lan <Tianyu.Lan@microsoft.com>
+ */
+
+#include <linux/hyperv.h>
+#include <linux/types.h>
+#include <linux/bitfield.h>
+#include <linux/slab.h>
+#include <asm/io.h>
+#include <asm/mshyperv.h>
+
+/*
+ * hv_mark_gpa_visibility - Set pages visible to host via hvcall.
+ *
+ * In Isolation VM, all guest memory is encripted from host and guest
+ * needs to set memory visible to host via hvcall before sharing memory
+ * with host.
+ */
+int hv_mark_gpa_visibility(u16 count, const u64 pfn[],
+			   enum hv_mem_host_visibility visibility)
+{
+	struct hv_gpa_range_for_visibility **input_pcpu, *input;
+	u16 pages_processed;
+	u64 hv_status;
+	unsigned long flags;
+
+	/* no-op if partition isolation is not enabled */
+	if (!hv_is_isolation_supported())
+		return 0;
+
+	if (count > HV_MAX_MODIFY_GPA_REP_COUNT) {
+		pr_err("Hyper-V: GPA count:%d exceeds supported:%lu\n", count,
+			HV_MAX_MODIFY_GPA_REP_COUNT);
+		return -EINVAL;
+	}
+
+	local_irq_save(flags);
+	input_pcpu = (struct hv_gpa_range_for_visibility **)
+			this_cpu_ptr(hyperv_pcpu_input_arg);
+	input = *input_pcpu;
+	if (unlikely(!input)) {
+		local_irq_restore(flags);
+		return -EINVAL;
+	}
+
+	input->partition_id = HV_PARTITION_ID_SELF;
+	input->host_visibility = visibility;
+	input->reserved0 = 0;
+	input->reserved1 = 0;
+	memcpy((void *)input->gpa_page_list, pfn, count * sizeof(*pfn));
+	hv_status = hv_do_rep_hypercall(
+			HVCALL_MODIFY_SPARSE_GPA_PAGE_HOST_VISIBILITY, count,
+			0, input, &pages_processed);
+	local_irq_restore(flags);
+
+	if (!(hv_status & HV_HYPERCALL_RESULT_MASK))
+		return 0;
+
+	return hv_status & HV_HYPERCALL_RESULT_MASK;
+}
+EXPORT_SYMBOL(hv_mark_gpa_visibility);
+
+/*
+ * hv_set_mem_host_visibility - Set specified memory visible to host.
+ *
+ * In Isolation VM, all guest memory is encrypted from host and guest
+ * needs to set memory visible to host via hvcall before sharing memory
+ * with host. This function works as wrap of hv_mark_gpa_visibility()
+ * with memory base and size.
+ */
+static int hv_set_mem_host_visibility(void *kbuffer, int pagecount,
+				      enum hv_mem_host_visibility visibility)
+{
+	u64 *pfn_array;
+	int ret = 0;
+	int i, pfn;
+
+	if (!hv_is_isolation_supported() || !ms_hyperv.ghcb_base)
+		return 0;
+
+	pfn_array = kzalloc(HV_HYP_PAGE_SIZE, GFP_KERNEL);
+	if (!pfn_array)
+		return -ENOMEM;
+
+	for (i = 0, pfn = 0; i < pagecount; i++) {
+		pfn_array[pfn] = virt_to_hvpfn(kbuffer + i * HV_HYP_PAGE_SIZE);
+		pfn++;
+
+		if (pfn == HV_MAX_MODIFY_GPA_REP_COUNT || i == pagecount - 1) {
+			ret |= hv_mark_gpa_visibility(pfn, pfn_array,
+					visibility);
+			pfn = 0;
+
+			if (ret)
+				goto err_free_pfn_array;
+		}
+	}
+
+ err_free_pfn_array:
+	kfree(pfn_array);
+	return ret;
+}
+
+int hv_set_mem_enc(unsigned long addr, int numpages, bool enc)
+{
+	enum hv_mem_host_visibility visibility = enc ? VMBUS_PAGE_NOT_VISIBLE :
+			VMBUS_PAGE_VISIBLE_READ_WRITE;
+
+	return hv_set_mem_host_visibility((void *)addr, numpages, visibility);
+}
diff --git a/arch/x86/include/asm/hyperv-tlfs.h b/arch/x86/include/asm/hyperv-tlfs.h
index f1366ce609e3..1b3e80bcca5b 100644
--- a/arch/x86/include/asm/hyperv-tlfs.h
+++ b/arch/x86/include/asm/hyperv-tlfs.h
@@ -276,6 +276,13 @@ enum hv_isolation_type {
 #define HV_X64_MSR_TIME_REF_COUNT	HV_REGISTER_TIME_REF_COUNT
 #define HV_X64_MSR_REFERENCE_TSC	HV_REGISTER_REFERENCE_TSC
 
+/* Hyper-V memory host visibility */
+enum hv_mem_host_visibility {
+	VMBUS_PAGE_NOT_VISIBLE		= 0,
+	VMBUS_PAGE_VISIBLE_READ_ONLY	= 1,
+	VMBUS_PAGE_VISIBLE_READ_WRITE	= 3
+};
+
 /*
  * Declare the MSR used to setup pages used to communicate with the hypervisor.
  */
@@ -578,4 +585,17 @@ enum hv_interrupt_type {
 
 #include <asm-generic/hyperv-tlfs.h>
 
+/* All input parameters should be in single page. */
+#define HV_MAX_MODIFY_GPA_REP_COUNT		\
+	((PAGE_SIZE / sizeof(u64)) - 2)
+
+/* HvCallModifySparseGpaPageHostVisibility hypercall */
+struct hv_gpa_range_for_visibility {
+	u64 partition_id;
+	u32 host_visibility:2;
+	u32 reserved0:30;
+	u32 reserved1;
+	u64 gpa_page_list[HV_MAX_MODIFY_GPA_REP_COUNT];
+} __packed;
+
 #endif
diff --git a/arch/x86/include/asm/mshyperv.h b/arch/x86/include/asm/mshyperv.h
index 6627cfd2bfba..33f0e95c9b76 100644
--- a/arch/x86/include/asm/mshyperv.h
+++ b/arch/x86/include/asm/mshyperv.h
@@ -190,7 +190,9 @@ struct irq_domain *hv_create_pci_msi_domain(void);
 int hv_map_ioapic_interrupt(int ioapic_id, bool level, int vcpu, int vector,
 		struct hv_interrupt_entry *entry);
 int hv_unmap_ioapic_interrupt(int ioapic_id, struct hv_interrupt_entry *entry);
-
+int hv_mark_gpa_visibility(u16 count, const u64 pfn[],
+			   enum hv_mem_host_visibility visibility);
+int hv_set_mem_enc(unsigned long addr, int numpages, bool enc);
 #else /* CONFIG_HYPERV */
 static inline void hyperv_init(void) {}
 static inline void hyperv_setup_mmu_ops(void) {}
diff --git a/include/asm-generic/hyperv-tlfs.h b/include/asm-generic/hyperv-tlfs.h
index 56348a541c50..8ed6733d5146 100644
--- a/include/asm-generic/hyperv-tlfs.h
+++ b/include/asm-generic/hyperv-tlfs.h
@@ -158,6 +158,7 @@ struct ms_hyperv_tsc_page {
 #define HVCALL_RETARGET_INTERRUPT		0x007e
 #define HVCALL_FLUSH_GUEST_PHYSICAL_ADDRESS_SPACE 0x00af
 #define HVCALL_FLUSH_GUEST_PHYSICAL_ADDRESS_LIST 0x00b0
+#define HVCALL_MODIFY_SPARSE_GPA_PAGE_HOST_VISIBILITY 0x00db
 
 /* Extended hypercalls */
 #define HV_EXT_CALL_QUERY_CAPABILITIES		0x8001
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 04 18:45:52 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 18:45:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163854.300040 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBLto-0007c7-Ib; Wed, 04 Aug 2021 18:45:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163854.300040; Wed, 04 Aug 2021 18: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 1mBLto-0007bH-DN; Wed, 04 Aug 2021 18:45:52 +0000
Received: by outflank-mailman (input) for mailman id 163854;
 Wed, 04 Aug 2021 18:45:52 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=q0vd=M3=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mBLto-0005Nn-0B
 for xen-devel@lists.xenproject.org; Wed, 04 Aug 2021 18:45:52 +0000
Received: from mail-pl1-x634.google.com (unknown [2607:f8b0:4864:20::634])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 196a4178-844b-43cf-b86a-403d1aceafb3;
 Wed, 04 Aug 2021 18:45:37 +0000 (UTC)
Received: by mail-pl1-x634.google.com with SMTP id j3so4015050plx.4
 for <xen-devel@lists.xenproject.org>; Wed, 04 Aug 2021 11:45:36 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:f:1947:6842:b8a8:6f83])
 by smtp.gmail.com with ESMTPSA id f5sm3325647pjo.23.2021.08.04.11.45.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Aug 2021 11:45: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: 196a4178-844b-43cf-b86a-403d1aceafb3
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=0DnJGo47D2hE/jBx4k8fbhfnBttvu9PCKXs1r5xuKJw=;
        b=rUPpwgafMNFTcWN5/eVGxXnm6HeF61KJak+0VmFU7CZ3aLlvaE95yX1QX3j/BByO5F
         9uqBgzEkCW6SKDRbCI9ORKKdtGMVADlEkM5s3DCY9P1bHNGatcr8ZqL0Bpz+iV54jrcC
         SZcLp9xs6KwFzgh0pFtRILyy2Woq1aKOFLNW/l2dc0+5sASAfN6nw7VaAZKMlHz8emB4
         RL93fYVxPU1d/6ACqXozjuLffb+Z4piSdk5qD9tg9nb4xpPUdB2IkDqTdwpjipTCai0+
         XFaDr4inRbPSowodouz4lZ8JxUE9L/4w+HC7E4aamgEFTsz2n0GHeyVgqS0d1jmbM0+3
         PFYQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=0DnJGo47D2hE/jBx4k8fbhfnBttvu9PCKXs1r5xuKJw=;
        b=D3hoKMPYwh6kh5HMoysYj1WsAp9Trbxg8Av5zaPZ3CP1T+E8KrvIQQcY5Yc4AtpkFv
         cPBhNODFlwjc33lZcXqc2pZ8jZLoMah/P5aLkQis2In02MaeASXiCUufIwqVXdHWRYdP
         o78hcXPop1VhA1pDqBFx+Wjh6n3X7f3/1PesYu16KAH9BeKpI9gpmZi1NAzmIMMiPfzb
         B35KaK8pDCx6QaBdunUMtDm3psua+RWTs/BxJN+TaPXVTUEYz571JocoIEsgOd2rvT45
         SGtfRNWLnvZuUx4wnO91At0a8HIN+cTftL3aTooEHvI25iM9V5OdQH4c1nk9uynzohex
         rxVQ==
X-Gm-Message-State: AOAM533otr01EF6zwbrlecG8xtrR/EvunZ3YisVIfEmbb5Jo2QDoGI2m
	xJDwJxlZJ75u0VSCqOD5QeM=
X-Google-Smtp-Source: ABdhPJyOBfClz27iEk1eFb7cKeWfXY17+1zaEdr/CnnawMkrDU4BNEumrPxpS1xckj63XffwR0hQMw==
X-Received: by 2002:a17:90b:1e4b:: with SMTP id pi11mr512358pjb.41.1628102736304;
        Wed, 04 Aug 2021 11:45:36 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	will@kernel.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	Tianyu.Lan@microsoft.com,
	rppt@kernel.org,
	kirill.shutemov@linux.intel.com,
	akpm@linux-foundation.org,
	brijesh.singh@amd.com,
	thomas.lendacky@amd.com,
	pgonda@google.com,
	david@redhat.com,
	krish.sadhukhan@oracle.com,
	saravanand@fb.com,
	aneesh.kumar@linux.ibm.com,
	xen-devel@lists.xenproject.org,
	martin.b.radev@gmail.com,
	ardb@kernel.org,
	rientjes@google.com,
	tj@kernel.org,
	keescook@chromium.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com
Subject: [PATCH V2 05/14] HV: Mark vmbus ring buffer visible to host in Isolation VM
Date: Wed,  4 Aug 2021 14:45:01 -0400
Message-Id: <20210804184513.512888-6-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210804184513.512888-1-ltykernel@gmail.com>
References: <20210804184513.512888-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

Mark vmbus ring buffer visible with set_memory_decrypted() when
establish gpadl handle.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
 drivers/hv/channel.c   | 44 ++++++++++++++++++++++++++++++++++++++++--
 include/linux/hyperv.h | 11 +++++++++++
 2 files changed, 53 insertions(+), 2 deletions(-)

diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c
index f3761c73b074..4c4717c26240 100644
--- a/drivers/hv/channel.c
+++ b/drivers/hv/channel.c
@@ -17,6 +17,7 @@
 #include <linux/hyperv.h>
 #include <linux/uio.h>
 #include <linux/interrupt.h>
+#include <linux/set_memory.h>
 #include <asm/page.h>
 #include <asm/mshyperv.h>
 
@@ -465,7 +466,14 @@ static int __vmbus_establish_gpadl(struct vmbus_channel *channel,
 	struct list_head *curr;
 	u32 next_gpadl_handle;
 	unsigned long flags;
-	int ret = 0;
+	int ret = 0, index;
+
+	index = atomic_inc_return(&channel->gpadl_index) - 1;
+
+	if (index > VMBUS_GPADL_RANGE_COUNT - 1) {
+		pr_err("Gpadl handle position(%d) has been occupied.\n", index);
+		return -ENOSPC;
+	}
 
 	next_gpadl_handle =
 		(atomic_inc_return(&vmbus_connection.next_gpadl_handle) - 1);
@@ -474,6 +482,13 @@ static int __vmbus_establish_gpadl(struct vmbus_channel *channel,
 	if (ret)
 		return ret;
 
+	ret = set_memory_decrypted((unsigned long)kbuffer,
+				   HVPFN_UP(size));
+	if (ret) {
+		pr_warn("Failed to set host visibility.\n");
+		return ret;
+	}
+
 	init_completion(&msginfo->waitevent);
 	msginfo->waiting_channel = channel;
 
@@ -539,6 +554,10 @@ static int __vmbus_establish_gpadl(struct vmbus_channel *channel,
 	/* At this point, we received the gpadl created msg */
 	*gpadl_handle = gpadlmsg->gpadl;
 
+	channel->gpadl_array[index].size = size;
+	channel->gpadl_array[index].buffer = kbuffer;
+	channel->gpadl_array[index].gpadlhandle = *gpadl_handle;
+
 cleanup:
 	spin_lock_irqsave(&vmbus_connection.channelmsg_lock, flags);
 	list_del(&msginfo->msglistentry);
@@ -549,6 +568,13 @@ static int __vmbus_establish_gpadl(struct vmbus_channel *channel,
 	}
 
 	kfree(msginfo);
+
+	if (ret) {
+		set_memory_encrypted((unsigned long)kbuffer,
+				     HVPFN_UP(size));
+		atomic_dec(&channel->gpadl_index);
+	}
+
 	return ret;
 }
 
@@ -676,6 +702,7 @@ static int __vmbus_open(struct vmbus_channel *newchannel,
 
 	/* Establish the gpadl for the ring buffer */
 	newchannel->ringbuffer_gpadlhandle = 0;
+	atomic_set(&newchannel->gpadl_index, 0);
 
 	err = __vmbus_establish_gpadl(newchannel, HV_GPADL_RING,
 				      page_address(newchannel->ringbuffer_page),
@@ -811,7 +838,7 @@ int vmbus_teardown_gpadl(struct vmbus_channel *channel, u32 gpadl_handle)
 	struct vmbus_channel_gpadl_teardown *msg;
 	struct vmbus_channel_msginfo *info;
 	unsigned long flags;
-	int ret;
+	int ret, i;
 
 	info = kzalloc(sizeof(*info) +
 		       sizeof(struct vmbus_channel_gpadl_teardown), GFP_KERNEL);
@@ -859,6 +886,19 @@ int vmbus_teardown_gpadl(struct vmbus_channel *channel, u32 gpadl_handle)
 	spin_unlock_irqrestore(&vmbus_connection.channelmsg_lock, flags);
 
 	kfree(info);
+
+	/* Find gpadl buffer virtual address and size. */
+	for (i = 0; i < VMBUS_GPADL_RANGE_COUNT; i++)
+		if (channel->gpadl_array[i].gpadlhandle == gpadl_handle)
+			break;
+
+	if (set_memory_encrypted((unsigned long)channel->gpadl_array[i].buffer,
+			HVPFN_UP(channel->gpadl_array[i].size)))
+		pr_warn("Fail to set mem host visibility.\n");
+
+	channel->gpadl_array[i].gpadlhandle = 0;
+	atomic_dec(&channel->gpadl_index);
+
 	return ret;
 }
 EXPORT_SYMBOL_GPL(vmbus_teardown_gpadl);
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
index 2e859d2f9609..cbe376b82de3 100644
--- a/include/linux/hyperv.h
+++ b/include/linux/hyperv.h
@@ -809,6 +809,14 @@ struct vmbus_device {
 
 #define VMBUS_DEFAULT_MAX_PKT_SIZE 4096
 
+struct vmbus_gpadl {
+	u32 gpadlhandle;
+	u32 size;
+	void *buffer;
+};
+
+#define VMBUS_GPADL_RANGE_COUNT		3
+
 struct vmbus_channel {
 	struct list_head listentry;
 
@@ -829,6 +837,9 @@ struct vmbus_channel {
 	struct completion rescind_event;
 
 	u32 ringbuffer_gpadlhandle;
+	/* GPADL_RING and Send/Receive GPADL_BUFFER. */
+	struct vmbus_gpadl gpadl_array[VMBUS_GPADL_RANGE_COUNT];
+	atomic_t gpadl_index;
 
 	/* Allocated memory for ring buffer */
 	struct page *ringbuffer_page;
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 04 18:45:58 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 18:45:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163858.300052 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBLtu-00086y-02; Wed, 04 Aug 2021 18:45:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163858.300052; Wed, 04 Aug 2021 18: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 1mBLtt-00086r-Su; Wed, 04 Aug 2021 18:45:57 +0000
Received: by outflank-mailman (input) for mailman id 163858;
 Wed, 04 Aug 2021 18:45:57 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=q0vd=M3=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mBLtt-0005Nn-0Q
 for xen-devel@lists.xenproject.org; Wed, 04 Aug 2021 18:45:57 +0000
Received: from mail-pl1-x62f.google.com (unknown [2607:f8b0:4864:20::62f])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 92d04b1b-7527-4248-ad68-b44e6576781b;
 Wed, 04 Aug 2021 18:45:39 +0000 (UTC)
Received: by mail-pl1-x62f.google.com with SMTP id c16so4001502plh.7
 for <xen-devel@lists.xenproject.org>; Wed, 04 Aug 2021 11:45:39 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:f:1947:6842:b8a8:6f83])
 by smtp.gmail.com with ESMTPSA id f5sm3325647pjo.23.2021.08.04.11.45.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Aug 2021 11:45: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: 92d04b1b-7527-4248-ad68-b44e6576781b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=iiLxgSpzaDBzHNE/9PGBOB11VpPo52YLYsz/ip+G/Ak=;
        b=iYWHFVpKrWSIqtWnuCZz/JlZZ/zeCNLNd2Nocz3HjE8IhBQGow6BfyXxlXWqX874Gj
         wWhm7r2C1mJt0I/i2sJ5kX47lscvrWB/3a+9VkYxCZTKswPtZSIzD/axDesT6lopgcqD
         uwUDXfRweEP0pTqPqSWMG4LkRqk4BbNPZyziQNf/H/wUcxdUW/YdyK4fyy4KZyouplJN
         QC0idQhJYLfGYYfgq6vZyBMlyRlcKyVMRc/ertHlRmE5hjH5c1++pdHy0l1vwPkVnKr5
         wqeX7+uTrZRT92L9A3NLyMk+SuLOjLFlmpQsbhwdZ0iclKtaE+rh59rThP4ro5eDENH9
         u9wA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=iiLxgSpzaDBzHNE/9PGBOB11VpPo52YLYsz/ip+G/Ak=;
        b=eLE1A8OvuJoc6fELBYIksTQMvZ+qC/FIQl+X6MH3UDBA4Gm4FbspaR40EoKkSovHEB
         +nd+j7Kan08cNHtal9tXFZoQM4J54FlcEFPsODjTTmzYiE4AP00d+hT1n06EyRjqO9N6
         8+LvsgHWpm9BJ+UJRI4QdPkPknSHSvfi62Iud3SYafmRBB+eoUHm837gpBGwBwDJiZ4U
         dg/TsqWbyBy0pk0gUe4HQxnacrd/fbW6dUS0mn4zc6c0KIZ3JXfBgnL1M6YnO99RPyZv
         wzE38nYrQOP+xaUwK48K4CBEVCumrYQ+unuaw+wzLgDO3lJg3bu7fiz9JgC+mXiwWXHY
         7Vfg==
X-Gm-Message-State: AOAM531q1SWWfYbuuPC7CqtZxK1rUUFRZ8mmLxwsnMHCq5nU1SQkP3wb
	nbxwS4iwto4I2yWBs/V1kMg=
X-Google-Smtp-Source: ABdhPJx/NPk4wyBcQGMKOJyHtmnz5X0NPMGq16jgUbPmflp3CUC1c8E3nirHcQSo9eTX/zqcZeLG2Q==
X-Received: by 2002:a17:90a:8914:: with SMTP id u20mr11221349pjn.47.1628102738758;
        Wed, 04 Aug 2021 11:45:38 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	will@kernel.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	Tianyu.Lan@microsoft.com,
	rppt@kernel.org,
	kirill.shutemov@linux.intel.com,
	akpm@linux-foundation.org,
	brijesh.singh@amd.com,
	thomas.lendacky@amd.com,
	pgonda@google.com,
	david@redhat.com,
	krish.sadhukhan@oracle.com,
	saravanand@fb.com,
	aneesh.kumar@linux.ibm.com,
	xen-devel@lists.xenproject.org,
	martin.b.radev@gmail.com,
	ardb@kernel.org,
	rientjes@google.com,
	tj@kernel.org,
	keescook@chromium.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com
Subject: [PATCH V2 06/14] HV: Add Write/Read MSR registers via ghcb page
Date: Wed,  4 Aug 2021 14:45:02 -0400
Message-Id: <20210804184513.512888-7-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210804184513.512888-1-ltykernel@gmail.com>
References: <20210804184513.512888-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

Hyper-V provides GHCB protocol to write Synthetic Interrupt
Controller MSR registers in Isolation VM with AMD SEV SNP
and these registers are emulated by hypervisor directly.
Hyper-V requires to write SINTx MSR registers twice. First
writes MSR via GHCB page to communicate with hypervisor
and then writes wrmsr instruction to talk with paravisor
which runs in VMPL0. Guest OS ID MSR also needs to be set
via GHCB.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
Change since v1:
         * Introduce sev_es_ghcb_hv_call_simple() and share code
           between SEV and Hyper-V code.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
 arch/x86/hyperv/hv_init.c       |  24 +------
 arch/x86/hyperv/ivm.c           | 110 +++++++++++++++++++++++++++++
 arch/x86/include/asm/mshyperv.h |  78 +++++++++++++++++++-
 arch/x86/include/asm/sev.h      |   3 +
 arch/x86/kernel/cpu/mshyperv.c  |   3 +
 arch/x86/kernel/sev-shared.c    |  63 ++++++++++-------
 drivers/hv/hv.c                 | 121 ++++++++++++++++++++++----------
 include/asm-generic/mshyperv.h  |  12 +++-
 8 files changed, 326 insertions(+), 88 deletions(-)

diff --git a/arch/x86/hyperv/hv_init.c b/arch/x86/hyperv/hv_init.c
index 57962d407484..1e35979370a4 100644
--- a/arch/x86/hyperv/hv_init.c
+++ b/arch/x86/hyperv/hv_init.c
@@ -382,7 +382,7 @@ void __init hyperv_init(void)
 		goto clean_guest_os_id;
 
 	if (hv_isolation_type_snp()) {
-		ms_hyperv.ghcb_base = alloc_percpu(void *);
+		ms_hyperv.ghcb_base = alloc_percpu(union hv_ghcb __percpu *);
 		if (!ms_hyperv.ghcb_base)
 			goto clean_guest_os_id;
 
@@ -479,6 +479,7 @@ void hyperv_cleanup(void)
 
 	/* Reset our OS id */
 	wrmsrl(HV_X64_MSR_GUEST_OS_ID, 0);
+	hv_ghcb_msr_write(HV_X64_MSR_GUEST_OS_ID, 0);
 
 	/*
 	 * Reset hypercall page reference before reset the page,
@@ -552,24 +553,3 @@ bool hv_is_hyperv_initialized(void)
 	return hypercall_msr.enable;
 }
 EXPORT_SYMBOL_GPL(hv_is_hyperv_initialized);
-
-enum hv_isolation_type hv_get_isolation_type(void)
-{
-	if (!(ms_hyperv.priv_high & HV_ISOLATION))
-		return HV_ISOLATION_TYPE_NONE;
-	return FIELD_GET(HV_ISOLATION_TYPE, ms_hyperv.isolation_config_b);
-}
-EXPORT_SYMBOL_GPL(hv_get_isolation_type);
-
-bool hv_is_isolation_supported(void)
-{
-	return hv_get_isolation_type() != HV_ISOLATION_TYPE_NONE;
-}
-
-DEFINE_STATIC_KEY_FALSE(isolation_type_snp);
-
-bool hv_isolation_type_snp(void)
-{
-	return static_branch_unlikely(&isolation_type_snp);
-}
-EXPORT_SYMBOL_GPL(hv_isolation_type_snp);
diff --git a/arch/x86/hyperv/ivm.c b/arch/x86/hyperv/ivm.c
index 6d130ba03f41..a135020002fe 100644
--- a/arch/x86/hyperv/ivm.c
+++ b/arch/x86/hyperv/ivm.c
@@ -6,6 +6,8 @@
  *  Tianyu Lan <Tianyu.Lan@microsoft.com>
  */
 
+#include <linux/types.h>
+#include <linux/bitfield.h>
 #include <linux/hyperv.h>
 #include <linux/types.h>
 #include <linux/bitfield.h>
@@ -13,6 +15,114 @@
 #include <asm/io.h>
 #include <asm/mshyperv.h>
 
+void hv_ghcb_msr_write(u64 msr, u64 value)
+{
+	union hv_ghcb *hv_ghcb;
+	void **ghcb_base;
+	unsigned long flags;
+
+	if (!ms_hyperv.ghcb_base)
+		return;
+
+	WARN_ON(in_nmi());
+
+	local_irq_save(flags);
+	ghcb_base = (void **)this_cpu_ptr(ms_hyperv.ghcb_base);
+	hv_ghcb = (union hv_ghcb *)*ghcb_base;
+	if (!hv_ghcb) {
+		local_irq_restore(flags);
+		return;
+	}
+
+	ghcb_set_rcx(&hv_ghcb->ghcb, msr);
+	ghcb_set_rax(&hv_ghcb->ghcb, lower_32_bits(value));
+	ghcb_set_rdx(&hv_ghcb->ghcb, value >> 32);
+
+	if (sev_es_ghcb_hv_call_simple(&hv_ghcb->ghcb, SVM_EXIT_MSR, 1, 0))
+		pr_warn("Fail to write msr via ghcb %llx.\n", msr);
+
+	local_irq_restore(flags);
+}
+
+void hv_ghcb_msr_read(u64 msr, u64 *value)
+{
+	union hv_ghcb *hv_ghcb;
+	void **ghcb_base;
+	unsigned long flags;
+
+	if (!ms_hyperv.ghcb_base)
+		return;
+
+	WARN_ON(in_nmi());
+
+	local_irq_save(flags);
+	ghcb_base = (void **)this_cpu_ptr(ms_hyperv.ghcb_base);
+	hv_ghcb = (union hv_ghcb *)*ghcb_base;
+	if (!hv_ghcb) {
+		local_irq_restore(flags);
+		return;
+	}
+
+	ghcb_set_rcx(&hv_ghcb->ghcb, msr);
+	if (sev_es_ghcb_hv_call_simple(&hv_ghcb->ghcb, SVM_EXIT_MSR, 0, 0))
+		pr_warn("Fail to read msr via ghcb %llx.\n", msr);
+	else
+		*value = (u64)lower_32_bits(hv_ghcb->ghcb.save.rax)
+			| ((u64)lower_32_bits(hv_ghcb->ghcb.save.rdx) << 32);
+	local_irq_restore(flags);
+}
+
+void hv_sint_rdmsrl_ghcb(u64 msr, u64 *value)
+{
+	hv_ghcb_msr_read(msr, value);
+}
+EXPORT_SYMBOL_GPL(hv_sint_rdmsrl_ghcb);
+
+void hv_sint_wrmsrl_ghcb(u64 msr, u64 value)
+{
+	hv_ghcb_msr_write(msr, value);
+
+	/* Write proxy bit vua wrmsrl instruction. */
+	if (msr >= HV_X64_MSR_SINT0 && msr <= HV_X64_MSR_SINT15)
+		wrmsrl(msr, value | 1 << 20);
+}
+EXPORT_SYMBOL_GPL(hv_sint_wrmsrl_ghcb);
+
+void hv_signal_eom_ghcb(void)
+{
+	hv_sint_wrmsrl_ghcb(HV_X64_MSR_EOM, 0);
+}
+EXPORT_SYMBOL_GPL(hv_signal_eom_ghcb);
+
+enum hv_isolation_type hv_get_isolation_type(void)
+{
+	if (!(ms_hyperv.priv_high & HV_ISOLATION))
+		return HV_ISOLATION_TYPE_NONE;
+	return FIELD_GET(HV_ISOLATION_TYPE, ms_hyperv.isolation_config_b);
+}
+EXPORT_SYMBOL_GPL(hv_get_isolation_type);
+
+/*
+ * hv_is_isolation_supported - Check system runs in the Hyper-V
+ * isolation VM.
+ */
+bool hv_is_isolation_supported(void)
+{
+	return hv_get_isolation_type() != HV_ISOLATION_TYPE_NONE;
+}
+
+DEFINE_STATIC_KEY_FALSE(isolation_type_snp);
+
+/*
+ * hv_isolation_type_snp - Check system runs in the AMD SEV-SNP based
+ * isolation VM.
+ */
+bool hv_isolation_type_snp(void)
+{
+	return static_branch_unlikely(&isolation_type_snp);
+}
+EXPORT_SYMBOL_GPL(hv_isolation_type_snp);
+
 /*
  * hv_mark_gpa_visibility - Set pages visible to host via hvcall.
  *
diff --git a/arch/x86/include/asm/mshyperv.h b/arch/x86/include/asm/mshyperv.h
index 33f0e95c9b76..3cccce14ff4c 100644
--- a/arch/x86/include/asm/mshyperv.h
+++ b/arch/x86/include/asm/mshyperv.h
@@ -30,6 +30,63 @@ static inline u64 hv_get_register(unsigned int reg)
 	return value;
 }
 
+#define hv_get_sint_reg(val, reg) {		\
+	if (hv_isolation_type_snp())		\
+		hv_get_##reg##_ghcb(&val);	\
+	else					\
+		rdmsrl(HV_X64_MSR_##reg, val);	\
+	}
+
+#define hv_set_sint_reg(val, reg) {		\
+	if (hv_isolation_type_snp())		\
+		hv_set_##reg##_ghcb(val);	\
+	else					\
+		wrmsrl(HV_X64_MSR_##reg, val);	\
+	}
+
+
+#define hv_get_simp(val) hv_get_sint_reg(val, SIMP)
+#define hv_get_siefp(val) hv_get_sint_reg(val, SIEFP)
+
+#define hv_set_simp(val) hv_set_sint_reg(val, SIMP)
+#define hv_set_siefp(val) hv_set_sint_reg(val, SIEFP)
+
+#define hv_get_synic_state(val) {			\
+	if (hv_isolation_type_snp())			\
+		hv_get_synic_state_ghcb(&val);		\
+	else						\
+		rdmsrl(HV_X64_MSR_SCONTROL, val);	\
+	}
+#define hv_set_synic_state(val) {			\
+	if (hv_isolation_type_snp())			\
+		hv_set_synic_state_ghcb(val);		\
+	else						\
+		wrmsrl(HV_X64_MSR_SCONTROL, val);	\
+	}
+
+#define hv_get_vp_index(index) rdmsrl(HV_X64_MSR_VP_INDEX, index)
+
+#define hv_signal_eom() {			 \
+	if (hv_isolation_type_snp() &&		 \
+	    old_msg_type != HVMSG_TIMER_EXPIRED) \
+		hv_signal_eom_ghcb();		 \
+	else					 \
+		wrmsrl(HV_X64_MSR_EOM, 0);	 \
+	}
+
+#define hv_get_synint_state(int_num, val) {		\
+	if (hv_isolation_type_snp())			\
+		hv_get_synint_state_ghcb(int_num, &val);\
+	else						\
+		rdmsrl(HV_X64_MSR_SINT0 + int_num, val);\
+	}
+#define hv_set_synint_state(int_num, val) {		\
+	if (hv_isolation_type_snp())			\
+		hv_set_synint_state_ghcb(int_num, val);	\
+	else						\
+		wrmsrl(HV_X64_MSR_SINT0 + int_num, val);\
+	}
+
 #define hv_get_raw_timer() rdtsc_ordered()
 
 void hyperv_vector_handler(struct pt_regs *regs);
@@ -193,6 +250,25 @@ int hv_unmap_ioapic_interrupt(int ioapic_id, struct hv_interrupt_entry *entry);
 int hv_mark_gpa_visibility(u16 count, const u64 pfn[],
 			   enum hv_mem_host_visibility visibility);
 int hv_set_mem_enc(unsigned long addr, int numpages, bool enc);
+void hv_sint_wrmsrl_ghcb(u64 msr, u64 value);
+void hv_sint_rdmsrl_ghcb(u64 msr, u64 *value);
+void hv_signal_eom_ghcb(void);
+void hv_ghcb_msr_write(u64 msr, u64 value);
+void hv_ghcb_msr_read(u64 msr, u64 *value);
+
+#define hv_get_synint_state_ghcb(int_num, val)			\
+	hv_sint_rdmsrl_ghcb(HV_X64_MSR_SINT0 + int_num, val)
+#define hv_set_synint_state_ghcb(int_num, val) \
+	hv_sint_wrmsrl_ghcb(HV_X64_MSR_SINT0 + int_num, val)
+
+#define hv_get_SIMP_ghcb(val) hv_sint_rdmsrl_ghcb(HV_X64_MSR_SIMP, val)
+#define hv_set_SIMP_ghcb(val) hv_sint_wrmsrl_ghcb(HV_X64_MSR_SIMP, val)
+
+#define hv_get_SIEFP_ghcb(val) hv_sint_rdmsrl_ghcb(HV_X64_MSR_SIEFP, val)
+#define hv_set_SIEFP_ghcb(val) hv_sint_wrmsrl_ghcb(HV_X64_MSR_SIEFP, val)
+
+#define hv_get_synic_state_ghcb(val) hv_sint_rdmsrl_ghcb(HV_X64_MSR_SCONTROL, val)
+#define hv_set_synic_state_ghcb(val) hv_sint_wrmsrl_ghcb(HV_X64_MSR_SCONTROL, val)
 #else /* CONFIG_HYPERV */
 static inline void hyperv_init(void) {}
 static inline void hyperv_setup_mmu_ops(void) {}
@@ -209,9 +285,9 @@ static inline int hyperv_flush_guest_mapping_range(u64 as,
 {
 	return -1;
 }
+static inline void hv_signal_eom_ghcb(void) { };
 #endif /* CONFIG_HYPERV */
 
-
 #include <asm-generic/mshyperv.h>
 
 #endif
diff --git a/arch/x86/include/asm/sev.h b/arch/x86/include/asm/sev.h
index fa5cd05d3b5b..81beb2a8031b 100644
--- a/arch/x86/include/asm/sev.h
+++ b/arch/x86/include/asm/sev.h
@@ -81,6 +81,9 @@ static __always_inline void sev_es_nmi_complete(void)
 		__sev_es_nmi_complete();
 }
 extern int __init sev_es_efi_map_ghcbs(pgd_t *pgd);
+extern enum es_result sev_es_ghcb_hv_call_simple(struct ghcb *ghcb,
+				   u64 exit_code, u64 exit_info_1,
+				   u64 exit_info_2);
 #else
 static inline void sev_es_ist_enter(struct pt_regs *regs) { }
 static inline void sev_es_ist_exit(void) { }
diff --git a/arch/x86/kernel/cpu/mshyperv.c b/arch/x86/kernel/cpu/mshyperv.c
index 773e84e134b3..46a09cdfa77a 100644
--- a/arch/x86/kernel/cpu/mshyperv.c
+++ b/arch/x86/kernel/cpu/mshyperv.c
@@ -332,6 +332,9 @@ static void __init ms_hyperv_init_platform(void)
 
 		pr_info("Hyper-V: Isolation Config: Group A 0x%x, Group B 0x%x\n",
 			ms_hyperv.isolation_config_a, ms_hyperv.isolation_config_b);
+
+		if (hv_get_isolation_type() == HV_ISOLATION_TYPE_SNP)
+			static_branch_enable(&isolation_type_snp);
 	}
 
 	if (hv_max_functions_eax >= HYPERV_CPUID_NESTED_FEATURES) {
diff --git a/arch/x86/kernel/sev-shared.c b/arch/x86/kernel/sev-shared.c
index 9f90f460a28c..dd7f37de640b 100644
--- a/arch/x86/kernel/sev-shared.c
+++ b/arch/x86/kernel/sev-shared.c
@@ -94,10 +94,9 @@ static void vc_finish_insn(struct es_em_ctxt *ctxt)
 	ctxt->regs->ip += ctxt->insn.length;
 }
 
-static enum es_result sev_es_ghcb_hv_call(struct ghcb *ghcb,
-					  struct es_em_ctxt *ctxt,
-					  u64 exit_code, u64 exit_info_1,
-					  u64 exit_info_2)
+enum es_result sev_es_ghcb_hv_call_simple(struct ghcb *ghcb,
+				   u64 exit_code, u64 exit_info_1,
+				   u64 exit_info_2)
 {
 	enum es_result ret;
 
@@ -109,29 +108,45 @@ static enum es_result sev_es_ghcb_hv_call(struct ghcb *ghcb,
 	ghcb_set_sw_exit_info_1(ghcb, exit_info_1);
 	ghcb_set_sw_exit_info_2(ghcb, exit_info_2);
 
-	sev_es_wr_ghcb_msr(__pa(ghcb));
 	VMGEXIT();
 
-	if ((ghcb->save.sw_exit_info_1 & 0xffffffff) == 1) {
-		u64 info = ghcb->save.sw_exit_info_2;
-		unsigned long v;
-
-		info = ghcb->save.sw_exit_info_2;
-		v = info & SVM_EVTINJ_VEC_MASK;
-
-		/* Check if exception information from hypervisor is sane. */
-		if ((info & SVM_EVTINJ_VALID) &&
-		    ((v == X86_TRAP_GP) || (v == X86_TRAP_UD)) &&
-		    ((info & SVM_EVTINJ_TYPE_MASK) == SVM_EVTINJ_TYPE_EXEPT)) {
-			ctxt->fi.vector = v;
-			if (info & SVM_EVTINJ_VALID_ERR)
-				ctxt->fi.error_code = info >> 32;
-			ret = ES_EXCEPTION;
-		} else {
-			ret = ES_VMM_ERROR;
-		}
-	} else {
+	if ((ghcb->save.sw_exit_info_1 & 0xffffffff) == 1)
+		ret = ES_VMM_ERROR;
+	else
 		ret = ES_OK;
+
+	return ret;
+}
+
+static enum es_result sev_es_ghcb_hv_call(struct ghcb *ghcb,
+				   struct es_em_ctxt *ctxt,
+				   u64 exit_code, u64 exit_info_1,
+				   u64 exit_info_2)
+{
+	unsigned long v;
+	enum es_result ret;
+	u64 info;
+
+	sev_es_wr_ghcb_msr(__pa(ghcb));
+
+	ret = sev_es_ghcb_hv_call_simple(ghcb, exit_code, exit_info_1,
+					 exit_info_2);
+	if (ret == ES_OK)
+		return ret;
+
+	info = ghcb->save.sw_exit_info_2;
+	v = info & SVM_EVTINJ_VEC_MASK;
+
+	/* Check if exception information from hypervisor is sane. */
+	if ((info & SVM_EVTINJ_VALID) &&
+	    ((v == X86_TRAP_GP) || (v == X86_TRAP_UD)) &&
+	    ((info & SVM_EVTINJ_TYPE_MASK) == SVM_EVTINJ_TYPE_EXEPT)) {
+		ctxt->fi.vector = v;
+		if (info & SVM_EVTINJ_VALID_ERR)
+			ctxt->fi.error_code = info >> 32;
+		ret = ES_EXCEPTION;
+	} else {
+		ret = ES_VMM_ERROR;
 	}
 
 	return ret;
diff --git a/drivers/hv/hv.c b/drivers/hv/hv.c
index e83507f49676..59f7173c4d9f 100644
--- a/drivers/hv/hv.c
+++ b/drivers/hv/hv.c
@@ -8,6 +8,7 @@
  */
 #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
 
+#include <linux/io.h>
 #include <linux/kernel.h>
 #include <linux/mm.h>
 #include <linux/slab.h>
@@ -136,17 +137,24 @@ int hv_synic_alloc(void)
 		tasklet_init(&hv_cpu->msg_dpc,
 			     vmbus_on_msg_dpc, (unsigned long) hv_cpu);
 
-		hv_cpu->synic_message_page =
-			(void *)get_zeroed_page(GFP_ATOMIC);
-		if (hv_cpu->synic_message_page == NULL) {
-			pr_err("Unable to allocate SYNIC message page\n");
-			goto err;
-		}
+		/*
+		 * Synic message and event pages are allocated by paravisor.
+		 * Skip these pages allocation here.
+		 */
+		if (!hv_isolation_type_snp()) {
+			hv_cpu->synic_message_page =
+				(void *)get_zeroed_page(GFP_ATOMIC);
+			if (hv_cpu->synic_message_page == NULL) {
+				pr_err("Unable to allocate SYNIC message page\n");
+				goto err;
+			}
 
-		hv_cpu->synic_event_page = (void *)get_zeroed_page(GFP_ATOMIC);
-		if (hv_cpu->synic_event_page == NULL) {
-			pr_err("Unable to allocate SYNIC event page\n");
-			goto err;
+			hv_cpu->synic_event_page =
+				(void *)get_zeroed_page(GFP_ATOMIC);
+			if (hv_cpu->synic_event_page == NULL) {
+				pr_err("Unable to allocate SYNIC event page\n");
+				goto err;
+			}
 		}
 
 		hv_cpu->post_msg_page = (void *)get_zeroed_page(GFP_ATOMIC);
@@ -173,10 +181,17 @@ void hv_synic_free(void)
 	for_each_present_cpu(cpu) {
 		struct hv_per_cpu_context *hv_cpu
 			= per_cpu_ptr(hv_context.cpu_context, cpu);
+		free_page((unsigned long)hv_cpu->post_msg_page);
+
+		/*
+		 * Synic message and event pages are allocated by paravisor.
+		 * Skip free these pages here.
+		 */
+		if (hv_isolation_type_snp())
+			continue;
 
 		free_page((unsigned long)hv_cpu->synic_event_page);
 		free_page((unsigned long)hv_cpu->synic_message_page);
-		free_page((unsigned long)hv_cpu->post_msg_page);
 	}
 
 	kfree(hv_context.hv_numa_map);
@@ -199,26 +214,43 @@ void hv_synic_enable_regs(unsigned int cpu)
 	union hv_synic_scontrol sctrl;
 
 	/* Setup the Synic's message page */
-	simp.as_uint64 = hv_get_register(HV_REGISTER_SIMP);
+	hv_get_simp(simp.as_uint64);
 	simp.simp_enabled = 1;
-	simp.base_simp_gpa = virt_to_phys(hv_cpu->synic_message_page)
-		>> HV_HYP_PAGE_SHIFT;
 
-	hv_set_register(HV_REGISTER_SIMP, simp.as_uint64);
+	if (hv_isolation_type_snp()) {
+		hv_cpu->synic_message_page
+			= memremap(simp.base_simp_gpa << HV_HYP_PAGE_SHIFT,
+				   HV_HYP_PAGE_SIZE, MEMREMAP_WB);
+		if (!hv_cpu->synic_message_page)
+			pr_err("Fail to map syinc message page.\n");
+	} else {
+		simp.base_simp_gpa = virt_to_phys(hv_cpu->synic_message_page)
+			>> HV_HYP_PAGE_SHIFT;
+	}
+
+	hv_set_simp(simp.as_uint64);
 
 	/* Setup the Synic's event page */
-	siefp.as_uint64 = hv_get_register(HV_REGISTER_SIEFP);
+	hv_get_siefp(siefp.as_uint64);
 	siefp.siefp_enabled = 1;
-	siefp.base_siefp_gpa = virt_to_phys(hv_cpu->synic_event_page)
-		>> HV_HYP_PAGE_SHIFT;
 
-	hv_set_register(HV_REGISTER_SIEFP, siefp.as_uint64);
+	if (hv_isolation_type_snp()) {
+		hv_cpu->synic_event_page =
+			memremap(siefp.base_siefp_gpa << HV_HYP_PAGE_SHIFT,
+				 HV_HYP_PAGE_SIZE, MEMREMAP_WB);
+
+		if (!hv_cpu->synic_event_page)
+			pr_err("Fail to map syinc event page.\n");
+	} else {
+		siefp.base_siefp_gpa = virt_to_phys(hv_cpu->synic_event_page)
+			>> HV_HYP_PAGE_SHIFT;
+	}
+	hv_set_siefp(siefp.as_uint64);
 
 	/* Setup the shared SINT. */
 	if (vmbus_irq != -1)
 		enable_percpu_irq(vmbus_irq, 0);
-	shared_sint.as_uint64 = hv_get_register(HV_REGISTER_SINT0 +
-					VMBUS_MESSAGE_SINT);
+	hv_get_synint_state(VMBUS_MESSAGE_SINT, shared_sint.as_uint64);
 
 	shared_sint.vector = vmbus_interrupt;
 	shared_sint.masked = false;
@@ -233,14 +265,12 @@ void hv_synic_enable_regs(unsigned int cpu)
 #else
 	shared_sint.auto_eoi = 0;
 #endif
-	hv_set_register(HV_REGISTER_SINT0 + VMBUS_MESSAGE_SINT,
-				shared_sint.as_uint64);
+	hv_set_synint_state(VMBUS_MESSAGE_SINT, shared_sint.as_uint64);
 
 	/* Enable the global synic bit */
-	sctrl.as_uint64 = hv_get_register(HV_REGISTER_SCONTROL);
+	hv_get_synic_state(sctrl.as_uint64);
 	sctrl.enable = 1;
-
-	hv_set_register(HV_REGISTER_SCONTROL, sctrl.as_uint64);
+	hv_set_synic_state(sctrl.as_uint64);
 }
 
 int hv_synic_init(unsigned int cpu)
@@ -257,37 +287,50 @@ int hv_synic_init(unsigned int cpu)
  */
 void hv_synic_disable_regs(unsigned int cpu)
 {
+	struct hv_per_cpu_context *hv_cpu
+		= per_cpu_ptr(hv_context.cpu_context, cpu);
 	union hv_synic_sint shared_sint;
 	union hv_synic_simp simp;
 	union hv_synic_siefp siefp;
 	union hv_synic_scontrol sctrl;
 
-	shared_sint.as_uint64 = hv_get_register(HV_REGISTER_SINT0 +
-					VMBUS_MESSAGE_SINT);
-
+	hv_get_synint_state(VMBUS_MESSAGE_SINT, shared_sint.as_uint64);
 	shared_sint.masked = 1;
+	hv_set_synint_state(VMBUS_MESSAGE_SINT, shared_sint.as_uint64);
+
 
 	/* Need to correctly cleanup in the case of SMP!!! */
 	/* Disable the interrupt */
-	hv_set_register(HV_REGISTER_SINT0 + VMBUS_MESSAGE_SINT,
-				shared_sint.as_uint64);
+	hv_get_simp(simp.as_uint64);
 
-	simp.as_uint64 = hv_get_register(HV_REGISTER_SIMP);
+	/*
+	 * In Isolation VM, sim and sief pages are allocated by
+	 * paravisor. These pages also will be used by kdump
+	 * kernel. So just reset enable bit here and keep page
+	 * addresses.
+	 */
 	simp.simp_enabled = 0;
-	simp.base_simp_gpa = 0;
+	if (hv_isolation_type_snp())
+		memunmap(hv_cpu->synic_message_page);
+	else
+		simp.base_simp_gpa = 0;
 
-	hv_set_register(HV_REGISTER_SIMP, simp.as_uint64);
+	hv_set_simp(simp.as_uint64);
 
-	siefp.as_uint64 = hv_get_register(HV_REGISTER_SIEFP);
+	hv_get_siefp(siefp.as_uint64);
 	siefp.siefp_enabled = 0;
-	siefp.base_siefp_gpa = 0;
 
-	hv_set_register(HV_REGISTER_SIEFP, siefp.as_uint64);
+	if (hv_isolation_type_snp())
+		memunmap(hv_cpu->synic_event_page);
+	else
+		siefp.base_siefp_gpa = 0;
+
+	hv_set_siefp(siefp.as_uint64);
 
 	/* Disable the global synic bit */
-	sctrl.as_uint64 = hv_get_register(HV_REGISTER_SCONTROL);
+	hv_get_synic_state(sctrl.as_uint64);
 	sctrl.enable = 0;
-	hv_set_register(HV_REGISTER_SCONTROL, sctrl.as_uint64);
+	hv_set_synic_state(sctrl.as_uint64);
 
 	if (vmbus_irq != -1)
 		disable_percpu_irq(vmbus_irq);
diff --git a/include/asm-generic/mshyperv.h b/include/asm-generic/mshyperv.h
index aa26d24a5ca9..b0cfc25dffaa 100644
--- a/include/asm-generic/mshyperv.h
+++ b/include/asm-generic/mshyperv.h
@@ -23,9 +23,16 @@
 #include <linux/bitops.h>
 #include <linux/cpumask.h>
 #include <linux/nmi.h>
+#include <asm/svm.h>
+#include <asm/sev.h>
 #include <asm/ptrace.h>
+#include <asm/mshyperv.h>
 #include <asm/hyperv-tlfs.h>
 
+union hv_ghcb {
+	struct ghcb ghcb;
+} __packed __aligned(PAGE_SIZE);
+
 struct ms_hyperv_info {
 	u32 features;
 	u32 priv_high;
@@ -45,7 +52,7 @@ struct ms_hyperv_info {
 			u32 Reserved12 : 20;
 		};
 	};
-	void  __percpu **ghcb_base;
+	union hv_ghcb __percpu **ghcb_base;
 	u64 shared_gpa_boundary;
 };
 extern struct ms_hyperv_info ms_hyperv;
@@ -55,6 +62,7 @@ extern void  __percpu  **hyperv_pcpu_output_arg;
 
 extern u64 hv_do_hypercall(u64 control, void *inputaddr, void *outputaddr);
 extern u64 hv_do_fast_hypercall8(u16 control, u64 input8);
+extern bool hv_isolation_type_snp(void);
 
 /* Helper functions that provide a consistent pattern for checking Hyper-V hypercall status. */
 static inline int hv_result(u64 status)
@@ -149,7 +157,7 @@ static inline void vmbus_signal_eom(struct hv_message *msg, u32 old_msg_type)
 		 * possibly deliver another msg from the
 		 * hypervisor
 		 */
-		hv_set_register(HV_REGISTER_EOM, 0);
+		hv_signal_eom();
 	}
 }
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 04 18:46:03 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 18:46:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163862.300064 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBLtz-0000E1-Eu; Wed, 04 Aug 2021 18:46:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163862.300064; Wed, 04 Aug 2021 18:46: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 1mBLtz-0000Dl-8k; Wed, 04 Aug 2021 18:46:03 +0000
Received: by outflank-mailman (input) for mailman id 163862;
 Wed, 04 Aug 2021 18:46:02 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=q0vd=M3=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mBLty-0005Nn-0f
 for xen-devel@lists.xenproject.org; Wed, 04 Aug 2021 18:46:02 +0000
Received: from mail-pj1-x102c.google.com (unknown [2607:f8b0:4864:20::102c])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id f84eb409-3007-4b42-a71a-db9e4a59c935;
 Wed, 04 Aug 2021 18:45:42 +0000 (UTC)
Received: by mail-pj1-x102c.google.com with SMTP id
 m10-20020a17090a34cab0290176b52c60ddso4833316pjf.4
 for <xen-devel@lists.xenproject.org>; Wed, 04 Aug 2021 11:45:42 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:f:1947:6842:b8a8:6f83])
 by smtp.gmail.com with ESMTPSA id f5sm3325647pjo.23.2021.08.04.11.45.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Aug 2021 11:45: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: f84eb409-3007-4b42-a71a-db9e4a59c935
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=fidXEtxr0Zl52jhWQl2nqOsdWmM5fkjX/Uwz1S0YsxA=;
        b=DKgPJlPxJc7S08zxvYdozuE9CcJgrr2yVJnQeo4lSs1PLblHI0Kln54SlK4g9FTuRQ
         VvyzHahqdmXc6pvRwA5QdsBPO9C3AYu4jeWs9j7ah9GXgDPr5ecYHrqFeHgYegxOt2Px
         upG94ikShWwi73+xN5UK6HZTBmkKMcINJjCUv1OIaPEDRaD7q33Imawx6mkYtw+WxeFC
         TBXOLww7Ot3FnXj61uASdG/depPtOxQFS3FyV0rIrdlDe3jLz5URqhc2YI1Xabnso0hd
         GI6aiqZpZwuO4aFnZRWdmxA9A6u55yTXsL4vPC75OLcsQlYEj3M0mXrMSVjILgXtl0mq
         KUUg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=fidXEtxr0Zl52jhWQl2nqOsdWmM5fkjX/Uwz1S0YsxA=;
        b=gEBa2bt57NEUqZmlNgVKrXNFZffeCyC3RJov3QJR6sZeMbrW4eNRF8ypgX9ty0IFmo
         eqYqzT97xrjxSLI2kyz6g3LWhMGj09FvuelwTzlvuMSMNRAqHbJfP0Nwj6aTiFxtDHjQ
         5Va20nveDgVboNQIqicYY0h706kqGiegPTObQNwFW2ja+kvAdJ/J3q2gmg8I8Vtp2OkE
         lanikr1xu89vf2HS+GMI+BiQ36Tr+Z886MemCUsOCv4kNVsYhi2d3kG1Vvi6/KuvKbVC
         jCOFN+6MYyo+H3UxPC0orAOH90bHdSnJvzI+FMHlsab0pHpTb4rYR6tHx8j70YTCnBWw
         Yqvw==
X-Gm-Message-State: AOAM531BnVV6N5Lp3y8ij5suxz2yfU6Z2HEo24ttOdKzVAqAtSCkkbLE
	44WCW9hq2+2JcP3cPj2ReOQ=
X-Google-Smtp-Source: ABdhPJzlK+c8vpymH687blGTcrr2axY1rMc4XoTiFdkA8J4DcgRL2/Kg+2cc3o9uYfAT7s7kmNgpiw==
X-Received: by 2002:a17:90a:cc8:: with SMTP id 8mr533872pjt.194.1628102741602;
        Wed, 04 Aug 2021 11:45:41 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	will@kernel.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	Tianyu.Lan@microsoft.com,
	rppt@kernel.org,
	kirill.shutemov@linux.intel.com,
	akpm@linux-foundation.org,
	brijesh.singh@amd.com,
	thomas.lendacky@amd.com,
	pgonda@google.com,
	david@redhat.com,
	krish.sadhukhan@oracle.com,
	saravanand@fb.com,
	aneesh.kumar@linux.ibm.com,
	xen-devel@lists.xenproject.org,
	martin.b.radev@gmail.com,
	ardb@kernel.org,
	rientjes@google.com,
	tj@kernel.org,
	keescook@chromium.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com
Subject: [PATCH V2 07/14] HV: Add ghcb hvcall support for SNP VM
Date: Wed,  4 Aug 2021 14:45:03 -0400
Message-Id: <20210804184513.512888-8-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210804184513.512888-1-ltykernel@gmail.com>
References: <20210804184513.512888-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

Hyper-V provides ghcb hvcall to handle VMBus
HVCALL_SIGNAL_EVENT and HVCALL_POST_MESSAGE
msg in SNP Isolation VM. Add such support.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
 arch/x86/hyperv/ivm.c           | 43 +++++++++++++++++++++++++++++++++
 arch/x86/include/asm/mshyperv.h |  1 +
 drivers/hv/connection.c         |  6 ++++-
 drivers/hv/hv.c                 |  8 +++++-
 include/asm-generic/mshyperv.h  | 29 ++++++++++++++++++++++
 5 files changed, 85 insertions(+), 2 deletions(-)

diff --git a/arch/x86/hyperv/ivm.c b/arch/x86/hyperv/ivm.c
index a135020002fe..377729279a0b 100644
--- a/arch/x86/hyperv/ivm.c
+++ b/arch/x86/hyperv/ivm.c
@@ -15,6 +15,49 @@
 #include <asm/io.h>
 #include <asm/mshyperv.h>
 
+#define GHCB_USAGE_HYPERV_CALL	1
+
+u64 hv_ghcb_hypercall(u64 control, void *input, void *output, u32 input_size)
+{
+	union hv_ghcb *hv_ghcb;
+	void **ghcb_base;
+	unsigned long flags;
+
+	if (!ms_hyperv.ghcb_base)
+		return -EFAULT;
+
+	WARN_ON(in_nmi());
+
+	local_irq_save(flags);
+	ghcb_base = (void **)this_cpu_ptr(ms_hyperv.ghcb_base);
+	hv_ghcb = (union hv_ghcb *)*ghcb_base;
+	if (!hv_ghcb) {
+		local_irq_restore(flags);
+		return -EFAULT;
+	}
+
+	hv_ghcb->ghcb.protocol_version = GHCB_PROTOCOL_MAX;
+	hv_ghcb->ghcb.ghcb_usage = GHCB_USAGE_HYPERV_CALL;
+
+	hv_ghcb->hypercall.outputgpa = (u64)output;
+	hv_ghcb->hypercall.hypercallinput.asuint64 = 0;
+	hv_ghcb->hypercall.hypercallinput.callcode = control;
+
+	if (input_size)
+		memcpy(hv_ghcb->hypercall.hypercalldata, input, input_size);
+
+	VMGEXIT();
+
+	hv_ghcb->ghcb.ghcb_usage = 0xffffffff;
+	memset(hv_ghcb->ghcb.save.valid_bitmap, 0,
+	       sizeof(hv_ghcb->ghcb.save.valid_bitmap));
+
+	local_irq_restore(flags);
+
+	return hv_ghcb->hypercall.hypercalloutput.callstatus;
+}
+EXPORT_SYMBOL_GPL(hv_ghcb_hypercall);
+
 void hv_ghcb_msr_write(u64 msr, u64 value)
 {
 	union hv_ghcb *hv_ghcb;
diff --git a/arch/x86/include/asm/mshyperv.h b/arch/x86/include/asm/mshyperv.h
index 3cccce14ff4c..8f7e2e3b7227 100644
--- a/arch/x86/include/asm/mshyperv.h
+++ b/arch/x86/include/asm/mshyperv.h
@@ -255,6 +255,7 @@ void hv_sint_rdmsrl_ghcb(u64 msr, u64 *value);
 void hv_signal_eom_ghcb(void);
 void hv_ghcb_msr_write(u64 msr, u64 value);
 void hv_ghcb_msr_read(u64 msr, u64 *value);
+u64 hv_ghcb_hypercall(u64 control, void *input, void *output, u32 input_size);
 
 #define hv_get_synint_state_ghcb(int_num, val)			\
 	hv_sint_rdmsrl_ghcb(HV_X64_MSR_SINT0 + int_num, val)
diff --git a/drivers/hv/connection.c b/drivers/hv/connection.c
index 5e479d54918c..6d315c1465e0 100644
--- a/drivers/hv/connection.c
+++ b/drivers/hv/connection.c
@@ -447,6 +447,10 @@ void vmbus_set_event(struct vmbus_channel *channel)
 
 	++channel->sig_events;
 
-	hv_do_fast_hypercall8(HVCALL_SIGNAL_EVENT, channel->sig_event);
+	if (hv_isolation_type_snp())
+		hv_ghcb_hypercall(HVCALL_SIGNAL_EVENT, &channel->sig_event,
+				NULL, sizeof(u64));
+	else
+		hv_do_fast_hypercall8(HVCALL_SIGNAL_EVENT, channel->sig_event);
 }
 EXPORT_SYMBOL_GPL(vmbus_set_event);
diff --git a/drivers/hv/hv.c b/drivers/hv/hv.c
index 59f7173c4d9f..e5c9fc467893 100644
--- a/drivers/hv/hv.c
+++ b/drivers/hv/hv.c
@@ -98,7 +98,13 @@ int hv_post_message(union hv_connection_id connection_id,
 	aligned_msg->payload_size = payload_size;
 	memcpy((void *)aligned_msg->payload, payload, payload_size);
 
-	status = hv_do_hypercall(HVCALL_POST_MESSAGE, aligned_msg, NULL);
+	if (hv_isolation_type_snp())
+		status = hv_ghcb_hypercall(HVCALL_POST_MESSAGE,
+				(void *)aligned_msg, NULL,
+				sizeof(struct hv_input_post_message));
+	else
+		status = hv_do_hypercall(HVCALL_POST_MESSAGE,
+				aligned_msg, NULL);
 
 	/* Preemption must remain disabled until after the hypercall
 	 * so some other thread can't get scheduled onto this cpu and
diff --git a/include/asm-generic/mshyperv.h b/include/asm-generic/mshyperv.h
index b0cfc25dffaa..317d2a8d9700 100644
--- a/include/asm-generic/mshyperv.h
+++ b/include/asm-generic/mshyperv.h
@@ -31,6 +31,35 @@
 
 union hv_ghcb {
 	struct ghcb ghcb;
+	struct {
+		u64 hypercalldata[509];
+		u64 outputgpa;
+		union {
+			union {
+				struct {
+					u32 callcode        : 16;
+					u32 isfast          : 1;
+					u32 reserved1       : 14;
+					u32 isnested        : 1;
+					u32 countofelements : 12;
+					u32 reserved2       : 4;
+					u32 repstartindex   : 12;
+					u32 reserved3       : 4;
+				};
+				u64 asuint64;
+			} hypercallinput;
+			union {
+				struct {
+					u16 callstatus;
+					u16 reserved1;
+					u32 elementsprocessed : 12;
+					u32 reserved2         : 20;
+				};
+				u64 asunit64;
+			} hypercalloutput;
+		};
+		u64 reserved2;
+	} hypercall;
 } __packed __aligned(PAGE_SIZE);
 
 struct ms_hyperv_info {
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 04 18:46:08 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 18:46:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163868.300075 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBLu3-0000ph-TP; Wed, 04 Aug 2021 18:46:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163868.300075; Wed, 04 Aug 2021 18:46:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBLu3-0000pQ-PT; Wed, 04 Aug 2021 18:46:07 +0000
Received: by outflank-mailman (input) for mailman id 163868;
 Wed, 04 Aug 2021 18:46:07 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=q0vd=M3=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mBLu3-0005Nn-0b
 for xen-devel@lists.xenproject.org; Wed, 04 Aug 2021 18:46:07 +0000
Received: from mail-pj1-x1032.google.com (unknown [2607:f8b0:4864:20::1032])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 2164edec-e76c-4883-9c59-4c94a0f60768;
 Wed, 04 Aug 2021 18:45:44 +0000 (UTC)
Received: by mail-pj1-x1032.google.com with SMTP id
 u21-20020a17090a8915b02901782c36f543so1195536pjn.4
 for <xen-devel@lists.xenproject.org>; Wed, 04 Aug 2021 11:45:44 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:f:1947:6842:b8a8:6f83])
 by smtp.gmail.com with ESMTPSA id f5sm3325647pjo.23.2021.08.04.11.45.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Aug 2021 11:45: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: 2164edec-e76c-4883-9c59-4c94a0f60768
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=xXQzWRnOQGUWqB+ZM33hvekRvxcc1wpDyoNFD4aToCk=;
        b=FiUdj+gW80nlBadNvGa224FgdJrnH3XD2czve78TSUuKoGj+SH7xEZI8dzU5uoecQG
         3qjwoAep1EGHHUlfujdGoM5ykU2ex99D0zrJ/DYS3B+tzaMfBQbcdjnMLbd3Y80gcc6K
         hJA6jwqY26g0ucBTZ4K9voDWw/5cntNwM8Jgxqp8qZ5elg6Zo3SC5QxHbwaRrqnW5Xg3
         etfk/Cc+8WjmA0R+np/cg2B2gSMdMn/0CQFfX3uW6pSok3A/mdKu0clpcXJNZ8Ru+3Oy
         AZRKNtJB1F7XzA6APSv+bDDtnudlTvPGa+0xEYbbs4c0CgGnlMIs7746PwKJns3xk2eg
         MPKg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=xXQzWRnOQGUWqB+ZM33hvekRvxcc1wpDyoNFD4aToCk=;
        b=MW8i2PsUcCA08YW9E2e3m9DAXpFO6BX7adUwnSD2zEkYT8/6VfGP75BEy7/esAsMPm
         zHh2EKYumc/BF+q98t3UtUrZPBVBwEkGv41w5tCr3AI4Q4SxuDoBj2gaWcflLTEYHXRb
         mHRDuJrjMjDIqBoY9nNbNs3ERri2nBme8O+xHo6mkksjdk8alGDhDOCgLzHyIHf0Mf8k
         VVltyg5nXu+L4Q6EI3xPtjnGzg4nhgAcdOjla8VNgywnwV+GXejuxTmbjG8J2TnxDqQ2
         1K2sNBpLRQDlgmTTIe+s3kjVIEQ+lfo5ux8Dr8hihFkP1T3GTW2qfiRduY5pg9UYEXuL
         DzsA==
X-Gm-Message-State: AOAM531v24ZXQan9n6ZxHVTlf2+3TgtHtDDty7IYKHrtD9IbuqrNJ6GS
	8BBXE7Un6kWhweot55cMFGM=
X-Google-Smtp-Source: ABdhPJz+hluDYc09sNWmf5pqVmvxzgE7rDibc4Msp9gaLPNInBQUAXxAq7mQp2H3cn83sH8kLQzpWg==
X-Received: by 2002:a17:90b:60c:: with SMTP id gb12mr11265442pjb.101.1628102744183;
        Wed, 04 Aug 2021 11:45:44 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	will@kernel.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	Tianyu.Lan@microsoft.com,
	rppt@kernel.org,
	kirill.shutemov@linux.intel.com,
	akpm@linux-foundation.org,
	brijesh.singh@amd.com,
	thomas.lendacky@amd.com,
	pgonda@google.com,
	david@redhat.com,
	krish.sadhukhan@oracle.com,
	saravanand@fb.com,
	aneesh.kumar@linux.ibm.com,
	xen-devel@lists.xenproject.org,
	martin.b.radev@gmail.com,
	ardb@kernel.org,
	rientjes@google.com,
	tj@kernel.org,
	keescook@chromium.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com
Subject: [PATCH V2 08/14] HV/Vmbus: Add SNP support for VMbus channel initiate message
Date: Wed,  4 Aug 2021 14:45:04 -0400
Message-Id: <20210804184513.512888-9-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210804184513.512888-1-ltykernel@gmail.com>
References: <20210804184513.512888-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

The monitor pages in the CHANNELMSG_INITIATE_CONTACT msg are shared
with host in Isolation VM and so it's necessary to use hvcall to set
them visible to host. In Isolation VM with AMD SEV SNP, the access
address should be in the extra space which is above shared gpa
boundary. So remap these pages into the extra address(pa +
shared_gpa_boundary). Introduce monitor_pages_va to store
the remap address and unmap these va when disconnect vmbus.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
Change since v1:
        * Not remap monitor pages in the non-SNP isolation VM.
---
 drivers/hv/connection.c   | 65 +++++++++++++++++++++++++++++++++++++++
 drivers/hv/hyperv_vmbus.h |  1 +
 2 files changed, 66 insertions(+)

diff --git a/drivers/hv/connection.c b/drivers/hv/connection.c
index 6d315c1465e0..bf0ac3167bd2 100644
--- a/drivers/hv/connection.c
+++ b/drivers/hv/connection.c
@@ -19,6 +19,7 @@
 #include <linux/vmalloc.h>
 #include <linux/hyperv.h>
 #include <linux/export.h>
+#include <linux/io.h>
 #include <asm/mshyperv.h>
 
 #include "hyperv_vmbus.h"
@@ -104,6 +105,12 @@ int vmbus_negotiate_version(struct vmbus_channel_msginfo *msginfo, u32 version)
 
 	msg->monitor_page1 = virt_to_phys(vmbus_connection.monitor_pages[0]);
 	msg->monitor_page2 = virt_to_phys(vmbus_connection.monitor_pages[1]);
+
+	if (hv_isolation_type_snp()) {
+		msg->monitor_page1 += ms_hyperv.shared_gpa_boundary;
+		msg->monitor_page2 += ms_hyperv.shared_gpa_boundary;
+	}
+
 	msg->target_vcpu = hv_cpu_number_to_vp_number(VMBUS_CONNECT_CPU);
 
 	/*
@@ -148,6 +155,31 @@ int vmbus_negotiate_version(struct vmbus_channel_msginfo *msginfo, u32 version)
 		return -ECONNREFUSED;
 	}
 
+	if (hv_isolation_type_snp()) {
+		vmbus_connection.monitor_pages_va[0]
+			= vmbus_connection.monitor_pages[0];
+		vmbus_connection.monitor_pages[0]
+			= memremap(msg->monitor_page1, HV_HYP_PAGE_SIZE,
+				   MEMREMAP_WB);
+		if (!vmbus_connection.monitor_pages[0])
+			return -ENOMEM;
+
+		vmbus_connection.monitor_pages_va[1]
+			= vmbus_connection.monitor_pages[1];
+		vmbus_connection.monitor_pages[1]
+			= memremap(msg->monitor_page2, HV_HYP_PAGE_SIZE,
+				   MEMREMAP_WB);
+		if (!vmbus_connection.monitor_pages[1]) {
+			memunmap(vmbus_connection.monitor_pages[0]);
+			return -ENOMEM;
+		}
+
+		memset(vmbus_connection.monitor_pages[0], 0x00,
+		       HV_HYP_PAGE_SIZE);
+		memset(vmbus_connection.monitor_pages[1], 0x00,
+		       HV_HYP_PAGE_SIZE);
+	}
+
 	return ret;
 }
 
@@ -159,6 +191,7 @@ int vmbus_connect(void)
 	struct vmbus_channel_msginfo *msginfo = NULL;
 	int i, ret = 0;
 	__u32 version;
+	u64 pfn[2];
 
 	/* Initialize the vmbus connection */
 	vmbus_connection.conn_state = CONNECTING;
@@ -216,6 +249,16 @@ int vmbus_connect(void)
 		goto cleanup;
 	}
 
+	if (hv_is_isolation_supported()) {
+		pfn[0] = virt_to_hvpfn(vmbus_connection.monitor_pages[0]);
+		pfn[1] = virt_to_hvpfn(vmbus_connection.monitor_pages[1]);
+		if (hv_mark_gpa_visibility(2, pfn,
+				VMBUS_PAGE_VISIBLE_READ_WRITE)) {
+			ret = -EFAULT;
+			goto cleanup;
+		}
+	}
+
 	msginfo = kzalloc(sizeof(*msginfo) +
 			  sizeof(struct vmbus_channel_initiate_contact),
 			  GFP_KERNEL);
@@ -284,6 +327,8 @@ int vmbus_connect(void)
 
 void vmbus_disconnect(void)
 {
+	u64 pfn[2];
+
 	/*
 	 * First send the unload request to the host.
 	 */
@@ -303,6 +348,26 @@ void vmbus_disconnect(void)
 		vmbus_connection.int_page = NULL;
 	}
 
+	if (hv_is_isolation_supported()) {
+		if (vmbus_connection.monitor_pages_va[0]) {
+			memunmap(vmbus_connection.monitor_pages[0]);
+			vmbus_connection.monitor_pages[0]
+				= vmbus_connection.monitor_pages_va[0];
+			vmbus_connection.monitor_pages_va[0] = NULL;
+		}
+
+		if (vmbus_connection.monitor_pages_va[1]) {
+			memunmap(vmbus_connection.monitor_pages[1]);
+			vmbus_connection.monitor_pages[1]
+				= vmbus_connection.monitor_pages_va[1];
+			vmbus_connection.monitor_pages_va[1] = NULL;
+		}
+
+		pfn[0] = virt_to_hvpfn(vmbus_connection.monitor_pages[0]);
+		pfn[1] = virt_to_hvpfn(vmbus_connection.monitor_pages[1]);
+		hv_mark_gpa_visibility(2, pfn, VMBUS_PAGE_NOT_VISIBLE);
+	}
+
 	hv_free_hyperv_page((unsigned long)vmbus_connection.monitor_pages[0]);
 	hv_free_hyperv_page((unsigned long)vmbus_connection.monitor_pages[1]);
 	vmbus_connection.monitor_pages[0] = NULL;
diff --git a/drivers/hv/hyperv_vmbus.h b/drivers/hv/hyperv_vmbus.h
index 42f3d9d123a1..40bc0eff6665 100644
--- a/drivers/hv/hyperv_vmbus.h
+++ b/drivers/hv/hyperv_vmbus.h
@@ -240,6 +240,7 @@ struct vmbus_connection {
 	 * is child->parent notification
 	 */
 	struct hv_monitor_page *monitor_pages[2];
+	void *monitor_pages_va[2];
 	struct list_head chn_msg_list;
 	spinlock_t channelmsg_lock;
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 04 18:55:58 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 18:55:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163901.300099 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBM3a-0003kL-4m; Wed, 04 Aug 2021 18:55:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163901.300099; Wed, 04 Aug 2021 18:55:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBM3a-0003kE-1l; Wed, 04 Aug 2021 18:55:58 +0000
Received: by outflank-mailman (input) for mailman id 163901;
 Wed, 04 Aug 2021 18:55:56 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=q0vd=M3=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mBLum-0005Nn-2N
 for xen-devel@lists.xenproject.org; Wed, 04 Aug 2021 18:46:52 +0000
Received: from mail-pj1-x102f.google.com (unknown [2607:f8b0:4864:20::102f])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id af55b08c-165e-49fd-aead-d7b77574f750;
 Wed, 04 Aug 2021 18:45:58 +0000 (UTC)
Received: by mail-pj1-x102f.google.com with SMTP id mt6so4363003pjb.1
 for <xen-devel@lists.xenproject.org>; Wed, 04 Aug 2021 11:45:58 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:f:1947:6842:b8a8:6f83])
 by smtp.gmail.com with ESMTPSA id f5sm3325647pjo.23.2021.08.04.11.45.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Aug 2021 11:45: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: af55b08c-165e-49fd-aead-d7b77574f750
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=29igml5xJQT7NZ/zHELD608zwBtMw+CBZNUu6aD3TXw=;
        b=YYV/m/LMm9LueSaFvS1QqjEzusaN78zRUrtnhZOuMU1heWUA9GqVjn0EIfdioy78dO
         pqyQr1mh3jD0fZRJ227Vtm1Yr/MBIZJfqPV9t2r5oVj/djtM4H34a0d2hv9nWJlmMMMc
         C0ZzKol4Vgsz/Q9xqcn/U6GmtuToaeHJ1NsP9ZfEz7Fm5ahWkDMW7GGoANygL8DZ1y+9
         uQ94GlUlEs4n5qTeavI4gSb/EIbS1zykqnrzZoZRj6oHARuYcWdHel7RiRpwWfqTur7t
         +RFWBknyfar4zEtojp765cEWGfOex77YKgaagkx/IKKYP556Mlmva4L/VpYkV17KUMj1
         QvGg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=29igml5xJQT7NZ/zHELD608zwBtMw+CBZNUu6aD3TXw=;
        b=IhXAAiF2fz8jCPVe6dnvBUCcjAj2GtNXjGiypmxd3zXcJfuKTRucNbnv2Tf2Msbzho
         QSS/NIVph0zia9mSc08qsU/VX5V1emNZI+QCHofBZ9zqgR8hKEO2posetHZcdssv5FKZ
         eb4+JFKtaXUlJMM4jF/DoUfoXX6iew8dk/v5OGRdDqvJJ1cdYP6Ls8KuZpG8u4zCWcOM
         X8k/rSpta/LsDxQUnTz7Irb29nXu/jBmpd3NO36Zhf57B4nLzDwUIN8xXUiAsqsQL9gG
         vadzLV2/UOomTZ11QORWITkt6r3k35BwFE8g9X56BB12ue96xgVyOi1VVL72wjVnw7Kg
         +5rQ==
X-Gm-Message-State: AOAM531Sia9SSvsZoXmvzdm5ePpR6FAi3Z4H92z++E8w2+6WM2+MoDRI
	SQGYORhhEYYxPiGqzfH8fqI=
X-Google-Smtp-Source: ABdhPJys+uUC+8R4d08qbIFnIv7LBHGpTM/c9FmBOlVHRSO99KZWQKeZJC0uWF82I4cQhSNYNbC05Q==
X-Received: by 2002:a17:902:8b83:b029:12c:cbce:a52f with SMTP id ay3-20020a1709028b83b029012ccbcea52fmr546876plb.9.1628102758109;
        Wed, 04 Aug 2021 11:45:58 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	will@kernel.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	Tianyu.Lan@microsoft.com,
	rppt@kernel.org,
	kirill.shutemov@linux.intel.com,
	akpm@linux-foundation.org,
	brijesh.singh@amd.com,
	thomas.lendacky@amd.com,
	pgonda@google.com,
	david@redhat.com,
	krish.sadhukhan@oracle.com,
	saravanand@fb.com,
	aneesh.kumar@linux.ibm.com,
	xen-devel@lists.xenproject.org,
	martin.b.radev@gmail.com,
	ardb@kernel.org,
	rientjes@google.com,
	tj@kernel.org,
	keescook@chromium.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com
Subject: [PATCH V2 14/14] HV/Storvsc: Add Isolation VM support for storvsc driver
Date: Wed,  4 Aug 2021 14:45:10 -0400
Message-Id: <20210804184513.512888-15-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210804184513.512888-1-ltykernel@gmail.com>
References: <20210804184513.512888-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

In Isolation VM, all shared memory with host needs to mark visible
to host via hvcall. vmbus_establish_gpadl() has already done it for
storvsc rx/tx ring buffer. The page buffer used by vmbus_sendpacket_
mpb_desc() still need to handle. Use DMA API to map/umap these
memory during sending/receiving packet and Hyper-V DMA ops callback
will use swiotlb function to allocate bounce buffer and copy data
from/to bounce buffer.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
 drivers/scsi/storvsc_drv.c | 68 +++++++++++++++++++++++++++++++++++---
 1 file changed, 63 insertions(+), 5 deletions(-)

diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c
index 328bb961c281..78320719bdd8 100644
--- a/drivers/scsi/storvsc_drv.c
+++ b/drivers/scsi/storvsc_drv.c
@@ -21,6 +21,8 @@
 #include <linux/device.h>
 #include <linux/hyperv.h>
 #include <linux/blkdev.h>
+#include <linux/io.h>
+#include <linux/dma-mapping.h>
 #include <scsi/scsi.h>
 #include <scsi/scsi_cmnd.h>
 #include <scsi/scsi_host.h>
@@ -427,6 +429,8 @@ struct storvsc_cmd_request {
 	u32 payload_sz;
 
 	struct vstor_packet vstor_packet;
+	u32 hvpg_count;
+	struct hv_dma_range *dma_range;
 };
 
 
@@ -509,6 +513,14 @@ struct storvsc_scan_work {
 	u8 tgt_id;
 };
 
+#define storvsc_dma_map(dev, page, offset, size, dir) \
+	dma_map_page(dev, page, offset, size, dir)
+
+#define storvsc_dma_unmap(dev, dma_range, dir)		\
+		dma_unmap_page(dev, dma_range.dma,	\
+			       dma_range.mapping_size,	\
+			       dir ? DMA_FROM_DEVICE : DMA_TO_DEVICE)
+
 static void storvsc_device_scan(struct work_struct *work)
 {
 	struct storvsc_scan_work *wrk;
@@ -1260,6 +1272,7 @@ static void storvsc_on_channel_callback(void *context)
 	struct hv_device *device;
 	struct storvsc_device *stor_device;
 	struct Scsi_Host *shost;
+	int i;
 
 	if (channel->primary_channel != NULL)
 		device = channel->primary_channel->device_obj;
@@ -1314,6 +1327,15 @@ static void storvsc_on_channel_callback(void *context)
 				request = (struct storvsc_cmd_request *)scsi_cmd_priv(scmnd);
 			}
 
+			if (request->dma_range) {
+				for (i = 0; i < request->hvpg_count; i++)
+					storvsc_dma_unmap(&device->device,
+						request->dma_range[i],
+						request->vstor_packet.vm_srb.data_in == READ_TYPE);
+
+				kfree(request->dma_range);
+			}
+
 			storvsc_on_receive(stor_device, packet, request);
 			continue;
 		}
@@ -1810,7 +1832,9 @@ static int storvsc_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *scmnd)
 		unsigned int hvpgoff, hvpfns_to_add;
 		unsigned long offset_in_hvpg = offset_in_hvpage(sgl->offset);
 		unsigned int hvpg_count = HVPFN_UP(offset_in_hvpg + length);
+		dma_addr_t dma;
 		u64 hvpfn;
+		u32 size;
 
 		if (hvpg_count > MAX_PAGE_BUFFER_COUNT) {
 
@@ -1824,6 +1848,13 @@ static int storvsc_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *scmnd)
 		payload->range.len = length;
 		payload->range.offset = offset_in_hvpg;
 
+		cmd_request->dma_range = kcalloc(hvpg_count,
+				 sizeof(*cmd_request->dma_range),
+				 GFP_ATOMIC);
+		if (!cmd_request->dma_range) {
+			ret = -ENOMEM;
+			goto free_payload;
+		}
 
 		for (i = 0; sgl != NULL; sgl = sg_next(sgl)) {
 			/*
@@ -1847,9 +1878,29 @@ static int storvsc_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *scmnd)
 			 * last sgl should be reached at the same time that
 			 * the PFN array is filled.
 			 */
-			while (hvpfns_to_add--)
-				payload->range.pfn_array[i++] =	hvpfn++;
+			while (hvpfns_to_add--) {
+				size = min(HV_HYP_PAGE_SIZE - offset_in_hvpg,
+					   (unsigned long)length);
+				dma = storvsc_dma_map(&dev->device, pfn_to_page(hvpfn++),
+						      offset_in_hvpg, size,
+						      scmnd->sc_data_direction);
+				if (dma_mapping_error(&dev->device, dma)) {
+					ret = -ENOMEM;
+					goto free_dma_range;
+				}
+
+				if (offset_in_hvpg) {
+					payload->range.offset = dma & ~HV_HYP_PAGE_MASK;
+					offset_in_hvpg = 0;
+				}
+
+				cmd_request->dma_range[i].dma = dma;
+				cmd_request->dma_range[i].mapping_size = size;
+				payload->range.pfn_array[i++] = dma >> HV_HYP_PAGE_SHIFT;
+				length -= size;
+			}
 		}
+		cmd_request->hvpg_count = hvpg_count;
 	}
 
 	cmd_request->payload = payload;
@@ -1860,13 +1911,20 @@ static int storvsc_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *scmnd)
 	put_cpu();
 
 	if (ret == -EAGAIN) {
-		if (payload_sz > sizeof(cmd_request->mpb))
-			kfree(payload);
 		/* no more space */
-		return SCSI_MLQUEUE_DEVICE_BUSY;
+		ret = SCSI_MLQUEUE_DEVICE_BUSY;
+		goto free_dma_range;
 	}
 
 	return 0;
+
+free_dma_range:
+	kfree(cmd_request->dma_range);
+
+free_payload:
+	if (payload_sz > sizeof(cmd_request->mpb))
+		kfree(payload);
+	return ret;
 }
 
 static struct scsi_host_template scsi_driver = {
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 04 18:55:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 18:55:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163897.300088 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBM3U-0003SW-Ur; Wed, 04 Aug 2021 18:55:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163897.300088; Wed, 04 Aug 2021 18: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 1mBM3U-0003SP-QL; Wed, 04 Aug 2021 18:55:52 +0000
Received: by outflank-mailman (input) for mailman id 163897;
 Wed, 04 Aug 2021 18:55:51 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=q0vd=M3=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mBLuI-0005Nn-1K
 for xen-devel@lists.xenproject.org; Wed, 04 Aug 2021 18:46:22 +0000
Received: from mail-pj1-x1035.google.com (unknown [2607:f8b0:4864:20::1035])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 92117abd-d986-4c80-a5e4-f2b03b5cf0b4;
 Wed, 04 Aug 2021 18:45:47 +0000 (UTC)
Received: by mail-pj1-x1035.google.com with SMTP id l19so4406326pjz.0
 for <xen-devel@lists.xenproject.org>; Wed, 04 Aug 2021 11:45:47 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:f:1947:6842:b8a8:6f83])
 by smtp.gmail.com with ESMTPSA id f5sm3325647pjo.23.2021.08.04.11.45.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Aug 2021 11:45: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: 92117abd-d986-4c80-a5e4-f2b03b5cf0b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=X/FF6IBH0iDucy7fFb53vXAVZJZGw+kDZnNdV+cRcX4=;
        b=nbfSc3WWTmlyhJWBau6jlhMtetGCpWCMIMIt6dnUfkuMu4BYLdh/LGCyzU2IAB+H/R
         5DlfUB34I1HtalUYR0dWkXNEbfqYIfDcJPW9CGPUl7lgRMc+SkCTRxtBoBX+iH5g1IJz
         JfXT4DiEzigmUnD/oJm8GTIidzjWEQbgD3ANS4b/8vlU/mo1rBMJMn0shnYuXDuarjDz
         OiHchOI6rdLJ/Kl1u/kbD6SW02EJ7vf6K8usO4VwWtaH7PvwjxMiCqoL8heS4oMTkQUO
         8Rr4YPXj7xmREGXtO5SzoI+QcTEhISbE5uqksbkpHkW6Nv3ZKehaiVVucBEeoOp+nibW
         z6+g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=X/FF6IBH0iDucy7fFb53vXAVZJZGw+kDZnNdV+cRcX4=;
        b=qBDHptmdhT/t7j+jqhLAgiXIIsvaKwUK87mdwStEdfb078cFa0D1eY+oHgws+hI8WF
         0VIVskkYbzy4V18QfiPRtzCDNmDESFnsyTZYvQNlQshCYjWPYRrtyAKZWKhSCGb9bRVc
         aIQdw9CrgHjME0zDpfiOMuPPiExjId1cmVtDdZMCDSkFcJwNXtQjPbA4EkkTOGtVBDa8
         NLNA3p+8/n38qbjFhNqd0yNO2g9dR997gd3peDMqanOc7Sp/OpY36NLXRF0EeyoGFkej
         2nB5HpUrQneg2BpDrRekGt1qeLtD+Zb2QuPR4h0doqhs6+5/KLOdrh+3qRABtgCKzCPs
         cJ5Q==
X-Gm-Message-State: AOAM532/Zd2fctpd8Fq67r2Fb+S2OyWUlTuKmx82b19pNHoxpnxJ+lNf
	WaUEEM46cD7CQXmCwZ86Xp0=
X-Google-Smtp-Source: ABdhPJyijHhiHC6ZPRqEWrxy/BZ8YZr4h+pTK5pZlYtlGaCrTdCCEixqAygkAVFceUDUgDiXmk86bg==
X-Received: by 2002:a65:63cf:: with SMTP id n15mr525280pgv.392.1628102746706;
        Wed, 04 Aug 2021 11:45:46 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	will@kernel.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	Tianyu.Lan@microsoft.com,
	rppt@kernel.org,
	kirill.shutemov@linux.intel.com,
	akpm@linux-foundation.org,
	brijesh.singh@amd.com,
	thomas.lendacky@amd.com,
	pgonda@google.com,
	david@redhat.com,
	krish.sadhukhan@oracle.com,
	saravanand@fb.com,
	aneesh.kumar@linux.ibm.com,
	xen-devel@lists.xenproject.org,
	martin.b.radev@gmail.com,
	ardb@kernel.org,
	rientjes@google.com,
	tj@kernel.org,
	keescook@chromium.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com
Subject: [PATCH V2 09/14] HV/Vmbus: Initialize VMbus ring buffer for Isolation VM
Date: Wed,  4 Aug 2021 14:45:05 -0400
Message-Id: <20210804184513.512888-10-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210804184513.512888-1-ltykernel@gmail.com>
References: <20210804184513.512888-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

VMbus ring buffer are shared with host and it's need to
be accessed via extra address space of Isolation VM with
SNP support. This patch is to map the ring buffer
address in extra address space via ioremap(). HV host
visibility hvcall smears data in the ring buffer and
so reset the ring buffer memory to zero after calling
visibility hvcall.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
 drivers/hv/Kconfig        |  1 +
 drivers/hv/channel.c      | 10 +++++
 drivers/hv/hyperv_vmbus.h |  2 +
 drivers/hv/ring_buffer.c  | 84 ++++++++++++++++++++++++++++++---------
 4 files changed, 79 insertions(+), 18 deletions(-)

diff --git a/drivers/hv/Kconfig b/drivers/hv/Kconfig
index 66c794d92391..a8386998be40 100644
--- a/drivers/hv/Kconfig
+++ b/drivers/hv/Kconfig
@@ -7,6 +7,7 @@ config HYPERV
 	depends on X86 && ACPI && X86_LOCAL_APIC && HYPERVISOR_GUEST
 	select PARAVIRT
 	select X86_HV_CALLBACK_VECTOR
+	select VMAP_PFN
 	help
 	  Select this option to run Linux as a Hyper-V client operating
 	  system.
diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c
index 4c4717c26240..60ef881a700c 100644
--- a/drivers/hv/channel.c
+++ b/drivers/hv/channel.c
@@ -712,6 +712,16 @@ static int __vmbus_open(struct vmbus_channel *newchannel,
 	if (err)
 		goto error_clean_ring;
 
+	err = hv_ringbuffer_post_init(&newchannel->outbound,
+				      page, send_pages);
+	if (err)
+		goto error_free_gpadl;
+
+	err = hv_ringbuffer_post_init(&newchannel->inbound,
+				      &page[send_pages], recv_pages);
+	if (err)
+		goto error_free_gpadl;
+
 	/* Create and init the channel open message */
 	open_info = kzalloc(sizeof(*open_info) +
 			   sizeof(struct vmbus_channel_open_channel),
diff --git a/drivers/hv/hyperv_vmbus.h b/drivers/hv/hyperv_vmbus.h
index 40bc0eff6665..15cd23a561f3 100644
--- a/drivers/hv/hyperv_vmbus.h
+++ b/drivers/hv/hyperv_vmbus.h
@@ -172,6 +172,8 @@ extern int hv_synic_cleanup(unsigned int cpu);
 /* Interface */
 
 void hv_ringbuffer_pre_init(struct vmbus_channel *channel);
+int hv_ringbuffer_post_init(struct hv_ring_buffer_info *ring_info,
+		struct page *pages, u32 page_cnt);
 
 int hv_ringbuffer_init(struct hv_ring_buffer_info *ring_info,
 		       struct page *pages, u32 pagecnt, u32 max_pkt_size);
diff --git a/drivers/hv/ring_buffer.c b/drivers/hv/ring_buffer.c
index 2aee356840a2..d4f93fca1108 100644
--- a/drivers/hv/ring_buffer.c
+++ b/drivers/hv/ring_buffer.c
@@ -17,6 +17,8 @@
 #include <linux/vmalloc.h>
 #include <linux/slab.h>
 #include <linux/prefetch.h>
+#include <linux/io.h>
+#include <asm/mshyperv.h>
 
 #include "hyperv_vmbus.h"
 
@@ -179,43 +181,89 @@ void hv_ringbuffer_pre_init(struct vmbus_channel *channel)
 	mutex_init(&channel->outbound.ring_buffer_mutex);
 }
 
-/* Initialize the ring buffer. */
-int hv_ringbuffer_init(struct hv_ring_buffer_info *ring_info,
-		       struct page *pages, u32 page_cnt, u32 max_pkt_size)
+int hv_ringbuffer_post_init(struct hv_ring_buffer_info *ring_info,
+		       struct page *pages, u32 page_cnt)
 {
+	u64 physic_addr = page_to_pfn(pages) << PAGE_SHIFT;
+	unsigned long *pfns_wraparound;
+	void *vaddr;
 	int i;
-	struct page **pages_wraparound;
 
-	BUILD_BUG_ON((sizeof(struct hv_ring_buffer) != PAGE_SIZE));
+	if (!hv_isolation_type_snp())
+		return 0;
+
+	physic_addr += ms_hyperv.shared_gpa_boundary;
 
 	/*
 	 * First page holds struct hv_ring_buffer, do wraparound mapping for
 	 * the rest.
 	 */
-	pages_wraparound = kcalloc(page_cnt * 2 - 1, sizeof(struct page *),
+	pfns_wraparound = kcalloc(page_cnt * 2 - 1, sizeof(unsigned long),
 				   GFP_KERNEL);
-	if (!pages_wraparound)
+	if (!pfns_wraparound)
 		return -ENOMEM;
 
-	pages_wraparound[0] = pages;
+	pfns_wraparound[0] = physic_addr >> PAGE_SHIFT;
 	for (i = 0; i < 2 * (page_cnt - 1); i++)
-		pages_wraparound[i + 1] = &pages[i % (page_cnt - 1) + 1];
-
-	ring_info->ring_buffer = (struct hv_ring_buffer *)
-		vmap(pages_wraparound, page_cnt * 2 - 1, VM_MAP, PAGE_KERNEL);
-
-	kfree(pages_wraparound);
+		pfns_wraparound[i + 1] = (physic_addr >> PAGE_SHIFT) +
+			i % (page_cnt - 1) + 1;
 
-
-	if (!ring_info->ring_buffer)
+	vaddr = vmap_pfn(pfns_wraparound, page_cnt * 2 - 1, PAGE_KERNEL_IO);
+	kfree(pfns_wraparound);
+	if (!vaddr)
 		return -ENOMEM;
 
-	ring_info->ring_buffer->read_index =
-		ring_info->ring_buffer->write_index = 0;
+	/* Clean memory after setting host visibility. */
+	memset((void *)vaddr, 0x00, page_cnt * PAGE_SIZE);
+
+	ring_info->ring_buffer = (struct hv_ring_buffer *)vaddr;
+	ring_info->ring_buffer->read_index = 0;
+	ring_info->ring_buffer->write_index = 0;
 
 	/* Set the feature bit for enabling flow control. */
 	ring_info->ring_buffer->feature_bits.value = 1;
 
+	return 0;
+}
+
+/* Initialize the ring buffer. */
+int hv_ringbuffer_init(struct hv_ring_buffer_info *ring_info,
+		       struct page *pages, u32 page_cnt, u32 max_pkt_size)
+{
+	int i;
+	struct page **pages_wraparound;
+
+	BUILD_BUG_ON((sizeof(struct hv_ring_buffer) != PAGE_SIZE));
+
+	if (!hv_isolation_type_snp()) {
+		/*
+		 * First page holds struct hv_ring_buffer, do wraparound mapping for
+		 * the rest.
+		 */
+		pages_wraparound = kcalloc(page_cnt * 2 - 1, sizeof(struct page *),
+					   GFP_KERNEL);
+		if (!pages_wraparound)
+			return -ENOMEM;
+
+		pages_wraparound[0] = pages;
+		for (i = 0; i < 2 * (page_cnt - 1); i++)
+			pages_wraparound[i + 1] = &pages[i % (page_cnt - 1) + 1];
+
+		ring_info->ring_buffer = (struct hv_ring_buffer *)
+			vmap(pages_wraparound, page_cnt * 2 - 1, VM_MAP, PAGE_KERNEL);
+
+		kfree(pages_wraparound);
+
+		if (!ring_info->ring_buffer)
+			return -ENOMEM;
+
+		ring_info->ring_buffer->read_index =
+			ring_info->ring_buffer->write_index = 0;
+
+		/* Set the feature bit for enabling flow control. */
+		ring_info->ring_buffer->feature_bits.value = 1;
+	}
+
 	ring_info->ring_size = page_cnt << PAGE_SHIFT;
 	ring_info->ring_size_div10_reciprocal =
 		reciprocal_value(ring_info->ring_size / 10);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 04 18:56:11 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 18:56:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163914.300112 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBM3n-0004HG-GE; Wed, 04 Aug 2021 18:56:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163914.300112; Wed, 04 Aug 2021 18: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 1mBM3n-0004Gx-Bo; Wed, 04 Aug 2021 18:56:11 +0000
Received: by outflank-mailman (input) for mailman id 163914;
 Wed, 04 Aug 2021 18:56:10 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=q0vd=M3=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mBLuN-0005Nn-1U
 for xen-devel@lists.xenproject.org; Wed, 04 Aug 2021 18:46:27 +0000
Received: from mail-pj1-x102e.google.com (unknown [2607:f8b0:4864:20::102e])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 950526f6-7e38-4a36-bfde-ea20310d54c2;
 Wed, 04 Aug 2021 18:45:49 +0000 (UTC)
Received: by mail-pj1-x102e.google.com with SMTP id
 t7-20020a17090a5d87b029017807007f23so6891741pji.5
 for <xen-devel@lists.xenproject.org>; Wed, 04 Aug 2021 11:45:49 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:f:1947:6842:b8a8:6f83])
 by smtp.gmail.com with ESMTPSA id f5sm3325647pjo.23.2021.08.04.11.45.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Aug 2021 11:45: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: 950526f6-7e38-4a36-bfde-ea20310d54c2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=fRYEBTeqaJZ2nuhpRxylpNXV0HYL+RYR+rak5A96Ekw=;
        b=HTvCf728VbK4Su+bqKQH5oArAC9CXG5wpGLFMSbncBntCgAQZWEvfSseixDyYpT0AX
         k9LEBLAGDciL3AkfAFjP2TMACFh9KnhSAvgcNxNSbCla6/IOSYzNFr/e7x8x1dA8GKM1
         syxdGLXhzA7Yrkb5n60T/FhE0Ane5iRjsMioCojKjFQvuLjDHt/kh4Ojc+dT+/hZ62hQ
         eajl/gHvZ4PkjPMxeIMhGfhbbVS0oRkzVNysDwpDt55LL/DMHpDe8IHdrR6x1E046GaX
         csC0M9+AoIdiTpE1PkZmn5vuYvjCxfjcjVChflIVOTKbc5qRk+l2hywKeYO/CovBlFqm
         Ha8Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=fRYEBTeqaJZ2nuhpRxylpNXV0HYL+RYR+rak5A96Ekw=;
        b=dDKDrnLILx0crKJfBGcmZNWknq/Lj23+nLNn0aTbNz2UJWQ8oNhB81DSsWDDnQrJra
         7inYFOcMmHcZsUATyUq72rVHTc2pYXdUoz/QfiSSRdCfdOp4f/TDNFSJVJ75uvgG5yne
         xVwxsKwBQT6D1njUYk7E3iTZqSLD3k9a0XgMA2H+6D5SzRgZbBQaDSIH/HkX8nFhPdQi
         dfJRgBiPGmxhBRXMXNOv3jfRvgJQ0zAIDkZ6VokH69tRzmM0QqEAfDbj5CvEpvE6gHNZ
         T2eAIs6bwbhw/lwHGuDIjfwDVr9tyY+O6hRDDcWXNuJCZ3vOXc59MEjUjUGkC7T1m6jZ
         D10g==
X-Gm-Message-State: AOAM531dPkddCS/dVoJd8GqBJKdyDmK+8T4+PmCybyxYDYLq3cAWTFEk
	r4hvborWP97i4Ps1az5Ifj8=
X-Google-Smtp-Source: ABdhPJwzrx3Ky34YWQf0IrpQZJYUXOTY9aTHTgMpl2ZF/5vkCRfVy6oUSbAdimtL8DDIxrPWPusxTg==
X-Received: by 2002:a17:90a:2fc2:: with SMTP id n2mr513781pjm.112.1628102748897;
        Wed, 04 Aug 2021 11:45:48 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	will@kernel.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	Tianyu.Lan@microsoft.com,
	rppt@kernel.org,
	kirill.shutemov@linux.intel.com,
	akpm@linux-foundation.org,
	brijesh.singh@amd.com,
	thomas.lendacky@amd.com,
	pgonda@google.com,
	david@redhat.com,
	krish.sadhukhan@oracle.com,
	saravanand@fb.com,
	aneesh.kumar@linux.ibm.com,
	xen-devel@lists.xenproject.org,
	martin.b.radev@gmail.com,
	ardb@kernel.org,
	rientjes@google.com,
	tj@kernel.org,
	keescook@chromium.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com
Subject: [PATCH V2 10/14] DMA: Add dma_map_decrypted/dma_unmap_encrypted() function
Date: Wed,  4 Aug 2021 14:45:06 -0400
Message-Id: <20210804184513.512888-11-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210804184513.512888-1-ltykernel@gmail.com>
References: <20210804184513.512888-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

In Hyper-V Isolation VM with AMD SEV, swiotlb boucne buffer
needs to be mapped into address space above vTOM and so
introduce dma_map_decrypted/dma_unmap_encrypted() to map/unmap
bounce buffer memory. The platform can populate man/unmap callback
in the dma memory decrypted ops.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
 include/linux/dma-map-ops.h |  9 +++++++++
 kernel/dma/mapping.c        | 22 ++++++++++++++++++++++
 2 files changed, 31 insertions(+)

diff --git a/include/linux/dma-map-ops.h b/include/linux/dma-map-ops.h
index 0d53a96a3d64..01d60a024e45 100644
--- a/include/linux/dma-map-ops.h
+++ b/include/linux/dma-map-ops.h
@@ -71,6 +71,11 @@ struct dma_map_ops {
 	unsigned long (*get_merge_boundary)(struct device *dev);
 };
 
+struct dma_memory_decrypted_ops {
+	void *(*map)(void *addr, unsigned long size);
+	void (*unmap)(void *addr);
+};
+
 #ifdef CONFIG_DMA_OPS
 #include <asm/dma-mapping.h>
 
@@ -374,6 +379,10 @@ static inline void debug_dma_dump_mappings(struct device *dev)
 }
 #endif /* CONFIG_DMA_API_DEBUG */
 
+void *dma_map_decrypted(void *addr, unsigned long size);
+int dma_unmap_decrypted(void *addr, unsigned long size);
+
 extern const struct dma_map_ops dma_dummy_ops;
+extern struct dma_memory_decrypted_ops dma_memory_generic_decrypted_ops;
 
 #endif /* _LINUX_DMA_MAP_OPS_H */
diff --git a/kernel/dma/mapping.c b/kernel/dma/mapping.c
index 2b06a809d0b9..6fb150dc1750 100644
--- a/kernel/dma/mapping.c
+++ b/kernel/dma/mapping.c
@@ -13,11 +13,13 @@
 #include <linux/of_device.h>
 #include <linux/slab.h>
 #include <linux/vmalloc.h>
+#include <asm/set_memory.h>
 #include "debug.h"
 #include "direct.h"
 
 bool dma_default_coherent;
 
+struct dma_memory_decrypted_ops dma_memory_generic_decrypted_ops;
 /*
  * Managed DMA API
  */
@@ -736,3 +738,23 @@ unsigned long dma_get_merge_boundary(struct device *dev)
 	return ops->get_merge_boundary(dev);
 }
 EXPORT_SYMBOL_GPL(dma_get_merge_boundary);
+
+void *dma_map_decrypted(void *addr, unsigned long size)
+{
+	if (set_memory_decrypted((unsigned long)addr,
+				 size / PAGE_SIZE))
+		return NULL;
+
+	if (dma_memory_generic_decrypted_ops.map)
+		return dma_memory_generic_decrypted_ops.map(addr, size);
+	else
+		return addr;
+}
+
+int dma_unmap_encrypted(void *addr, unsigned long size)
+{
+	if (dma_memory_generic_decrypted_ops.unmap)
+		dma_memory_generic_decrypted_ops.unmap(addr);
+
+	return set_memory_encrypted((unsigned long)addr, size / PAGE_SIZE);
+}
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 04 18:56:13 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 18:56:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163923.300124 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBM3p-0004ay-00; Wed, 04 Aug 2021 18:56:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163923.300124; Wed, 04 Aug 2021 18:56:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBM3o-0004aG-PI; Wed, 04 Aug 2021 18:56:12 +0000
Received: by outflank-mailman (input) for mailman id 163923;
 Wed, 04 Aug 2021 18:56:11 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=q0vd=M3=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mBLuh-0005Nn-2H
 for xen-devel@lists.xenproject.org; Wed, 04 Aug 2021 18:46:47 +0000
Received: from mail-pj1-x1030.google.com (unknown [2607:f8b0:4864:20::1030])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 26c44646-4fc7-44dc-95ed-44ed070dc18e;
 Wed, 04 Aug 2021 18:45:56 +0000 (UTC)
Received: by mail-pj1-x1030.google.com with SMTP id
 o44-20020a17090a0a2fb0290176ca3e5a2fso4890756pjo.1
 for <xen-devel@lists.xenproject.org>; Wed, 04 Aug 2021 11:45:56 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:f:1947:6842:b8a8:6f83])
 by smtp.gmail.com with ESMTPSA id f5sm3325647pjo.23.2021.08.04.11.45.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Aug 2021 11:45: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: 26c44646-4fc7-44dc-95ed-44ed070dc18e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=RxVhZhzrdpVfhKczKkjwriLOrEZUb+l7c3SXf7zapis=;
        b=BSBFpeS4NYbpjkg/TYxU/a40UdrRaSHuvyYALC0d3jI7+urpq0W5worIHDHGimlBQW
         IoqX/jpDjgpfwPVLEOPTtm8YlQ5Ix8YQdCpRjRCZk6f/NxI5G6qmsVkBtzBh68uBVmDv
         AVCxcIkditYA0EcSGH90D7QsJtVlV5ZgHkrynm0HzF39hfQLMTBDa6o179N1WYgCxcJU
         wntf5dO1AxpvHNZrMxbHwKA0i7pLpA81cIPwwg1EJesi8h4Rx2cXymMVU4vWOk9Dwp3b
         piDz22sS31hIPaSIyUHuAvAEP7qt6/oHEXQ9LbknijoEy7X1ChFmwjsJCNyEpeMQoJ3Z
         9XnA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=RxVhZhzrdpVfhKczKkjwriLOrEZUb+l7c3SXf7zapis=;
        b=PuYVaHm1CCvgy2CyFLe9WWvYobblA9M2mdOAqLt6bktJP3Sa7qaG8MTW9AVlRsXE1k
         N2QN2gJumoJMrNJwTmGrd+jOvtThQbMLMcRp7KQybnZ+TKWrJUfKIKj9uGdx7tWo4aJX
         EuwZ6QoUC+qcND4i8IV+7R92nMvTiQcFduJlPHOVdTgZb4PxTtSUEDAmWW/5VfQ9IeuN
         MK/l7uFIHUNdHv207RueEpsLUDeH/XrDb1U3bxnj9Ork5rAiOYnjUbDYYNB11IoHagca
         D5G/oVbF3M9w0TjadPM9mGDnJBqRGFlfQgOl7x+MbaTkHEaTb9sVur3dFwgYuvURuNw6
         g/ag==
X-Gm-Message-State: AOAM532IWD+w7BpI0aNYDrsbBt2vcjoIZhIQ/SW28InWEEbIo2f43c5/
	y9c2bgCNo/T9KQkTE+w+GiE=
X-Google-Smtp-Source: ABdhPJztsLV/SAO5QGARoloi9ntHsZWAdZiJ+SIF7Qa61zkRRWj3D7v504+6SqgnuvhhKWUqfwA9rQ==
X-Received: by 2002:a63:a42:: with SMTP id z2mr491773pgk.245.1628102755846;
        Wed, 04 Aug 2021 11:45:55 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	will@kernel.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	Tianyu.Lan@microsoft.com,
	rppt@kernel.org,
	kirill.shutemov@linux.intel.com,
	akpm@linux-foundation.org,
	brijesh.singh@amd.com,
	thomas.lendacky@amd.com,
	pgonda@google.com,
	david@redhat.com,
	krish.sadhukhan@oracle.com,
	saravanand@fb.com,
	aneesh.kumar@linux.ibm.com,
	xen-devel@lists.xenproject.org,
	martin.b.radev@gmail.com,
	ardb@kernel.org,
	rientjes@google.com,
	tj@kernel.org,
	keescook@chromium.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com
Subject: [PATCH V2 13/14] HV/Netvsc: Add Isolation VM support for netvsc driver
Date: Wed,  4 Aug 2021 14:45:09 -0400
Message-Id: <20210804184513.512888-14-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210804184513.512888-1-ltykernel@gmail.com>
References: <20210804184513.512888-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

In Isolation VM, all shared memory with host needs to mark visible
to host via hvcall. vmbus_establish_gpadl() has already done it for
netvsc rx/tx ring buffer. The page buffer used by vmbus_sendpacket_
pagebuffer() still need to handle. Use DMA API to map/umap these
memory during sending/receiving packet and Hyper-V DMA ops callback
will use swiotlb function to allocate bounce buffer and copy data
from/to bounce buffer.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
 drivers/net/hyperv/hyperv_net.h   |   6 ++
 drivers/net/hyperv/netvsc.c       | 144 +++++++++++++++++++++++++++++-
 drivers/net/hyperv/rndis_filter.c |   2 +
 include/linux/hyperv.h            |   5 ++
 4 files changed, 154 insertions(+), 3 deletions(-)

diff --git a/drivers/net/hyperv/hyperv_net.h b/drivers/net/hyperv/hyperv_net.h
index bc48855dff10..862419912bfb 100644
--- a/drivers/net/hyperv/hyperv_net.h
+++ b/drivers/net/hyperv/hyperv_net.h
@@ -164,6 +164,7 @@ struct hv_netvsc_packet {
 	u32 total_bytes;
 	u32 send_buf_index;
 	u32 total_data_buflen;
+	struct hv_dma_range *dma_range;
 };
 
 #define NETVSC_HASH_KEYLEN 40
@@ -1074,6 +1075,7 @@ struct netvsc_device {
 
 	/* Receive buffer allocated by us but manages by NetVSP */
 	void *recv_buf;
+	void *recv_original_buf;
 	u32 recv_buf_size; /* allocated bytes */
 	u32 recv_buf_gpadl_handle;
 	u32 recv_section_cnt;
@@ -1082,6 +1084,8 @@ struct netvsc_device {
 
 	/* Send buffer allocated by us */
 	void *send_buf;
+	void *send_original_buf;
+	u32 send_buf_size;
 	u32 send_buf_gpadl_handle;
 	u32 send_section_cnt;
 	u32 send_section_size;
@@ -1730,4 +1734,6 @@ struct rndis_message {
 #define RETRY_US_HI	10000
 #define RETRY_MAX	2000	/* >10 sec */
 
+void netvsc_dma_unmap(struct hv_device *hv_dev,
+		      struct hv_netvsc_packet *packet);
 #endif /* _HYPERV_NET_H */
diff --git a/drivers/net/hyperv/netvsc.c b/drivers/net/hyperv/netvsc.c
index 7bd935412853..fc312e5db4d5 100644
--- a/drivers/net/hyperv/netvsc.c
+++ b/drivers/net/hyperv/netvsc.c
@@ -153,8 +153,21 @@ static void free_netvsc_device(struct rcu_head *head)
 	int i;
 
 	kfree(nvdev->extension);
-	vfree(nvdev->recv_buf);
-	vfree(nvdev->send_buf);
+
+	if (nvdev->recv_original_buf) {
+		vunmap(nvdev->recv_buf);
+		vfree(nvdev->recv_original_buf);
+	} else {
+		vfree(nvdev->recv_buf);
+	}
+
+	if (nvdev->send_original_buf) {
+		vunmap(nvdev->send_buf);
+		vfree(nvdev->send_original_buf);
+	} else {
+		vfree(nvdev->send_buf);
+	}
+
 	kfree(nvdev->send_section_map);
 
 	for (i = 0; i < VRSS_CHANNEL_MAX; i++) {
@@ -330,6 +343,27 @@ int netvsc_alloc_recv_comp_ring(struct netvsc_device *net_device, u32 q_idx)
 	return nvchan->mrc.slots ? 0 : -ENOMEM;
 }
 
+static void *netvsc_remap_buf(void *buf, unsigned long size)
+{
+	unsigned long *pfns;
+	void *vaddr;
+	int i;
+
+	pfns = kcalloc(size / HV_HYP_PAGE_SIZE, sizeof(unsigned long),
+		       GFP_KERNEL);
+	if (!pfns)
+		return NULL;
+
+	for (i = 0; i < size / HV_HYP_PAGE_SIZE; i++)
+		pfns[i] = virt_to_hvpfn(buf + i * HV_HYP_PAGE_SIZE)
+			+ (ms_hyperv.shared_gpa_boundary >> HV_HYP_PAGE_SHIFT);
+
+	vaddr = vmap_pfn(pfns, size / HV_HYP_PAGE_SIZE, PAGE_KERNEL_IO);
+	kfree(pfns);
+
+	return vaddr;
+}
+
 static int netvsc_init_buf(struct hv_device *device,
 			   struct netvsc_device *net_device,
 			   const struct netvsc_device_info *device_info)
@@ -340,6 +374,7 @@ static int netvsc_init_buf(struct hv_device *device,
 	unsigned int buf_size;
 	size_t map_words;
 	int i, ret = 0;
+	void *vaddr;
 
 	/* Get receive buffer area. */
 	buf_size = device_info->recv_sections * device_info->recv_section_size;
@@ -375,6 +410,15 @@ static int netvsc_init_buf(struct hv_device *device,
 		goto cleanup;
 	}
 
+	if (hv_isolation_type_snp()) {
+		vaddr = netvsc_remap_buf(net_device->recv_buf, buf_size);
+		if (!vaddr)
+			goto cleanup;
+
+		net_device->recv_original_buf = net_device->recv_buf;
+		net_device->recv_buf = vaddr;
+	}
+
 	/* Notify the NetVsp of the gpadl handle */
 	init_packet = &net_device->channel_init_pkt;
 	memset(init_packet, 0, sizeof(struct nvsp_message));
@@ -477,6 +521,15 @@ static int netvsc_init_buf(struct hv_device *device,
 		goto cleanup;
 	}
 
+	if (hv_isolation_type_snp()) {
+		vaddr = netvsc_remap_buf(net_device->send_buf, buf_size);
+		if (!vaddr)
+			goto cleanup;
+
+		net_device->send_original_buf = net_device->send_buf;
+		net_device->send_buf = vaddr;
+	}
+
 	/* Notify the NetVsp of the gpadl handle */
 	init_packet = &net_device->channel_init_pkt;
 	memset(init_packet, 0, sizeof(struct nvsp_message));
@@ -767,7 +820,7 @@ static void netvsc_send_tx_complete(struct net_device *ndev,
 
 	/* Notify the layer above us */
 	if (likely(skb)) {
-		const struct hv_netvsc_packet *packet
+		struct hv_netvsc_packet *packet
 			= (struct hv_netvsc_packet *)skb->cb;
 		u32 send_index = packet->send_buf_index;
 		struct netvsc_stats *tx_stats;
@@ -783,6 +836,7 @@ static void netvsc_send_tx_complete(struct net_device *ndev,
 		tx_stats->bytes += packet->total_bytes;
 		u64_stats_update_end(&tx_stats->syncp);
 
+		netvsc_dma_unmap(ndev_ctx->device_ctx, packet);
 		napi_consume_skb(skb, budget);
 	}
 
@@ -947,6 +1001,82 @@ static void netvsc_copy_to_send_buf(struct netvsc_device *net_device,
 		memset(dest, 0, padding);
 }
 
+void netvsc_dma_unmap(struct hv_device *hv_dev,
+		      struct hv_netvsc_packet *packet)
+{
+	u32 page_count = packet->cp_partial ?
+		packet->page_buf_cnt - packet->rmsg_pgcnt :
+		packet->page_buf_cnt;
+	int i;
+
+	if (!hv_is_isolation_supported())
+		return;
+
+	if (!packet->dma_range)
+		return;
+
+	for (i = 0; i < page_count; i++)
+		dma_unmap_single(&hv_dev->device, packet->dma_range[i].dma,
+				 packet->dma_range[i].mapping_size,
+				 DMA_TO_DEVICE);
+
+	kfree(packet->dma_range);
+}
+
+/* netvsc_dma_map - Map swiotlb bounce buffer with data page of
+ * packet sent by vmbus_sendpacket_pagebuffer() in the Isolation
+ * VM.
+ *
+ * In isolation VM, netvsc send buffer has been marked visible to
+ * host and so the data copied to send buffer doesn't need to use
+ * bounce buffer. The data pages handled by vmbus_sendpacket_pagebuffer()
+ * may not be copied to send buffer and so these pages need to be
+ * mapped with swiotlb bounce buffer. netvsc_dma_map() is to do
+ * that. The pfns in the struct hv_page_buffer need to be converted
+ * to bounce buffer's pfn. The loop here is necessary and so not
+ * use dma_map_sg() here.
+ */
+int netvsc_dma_map(struct hv_device *hv_dev,
+		   struct hv_netvsc_packet *packet,
+		   struct hv_page_buffer *pb)
+{
+	u32 page_count =  packet->cp_partial ?
+		packet->page_buf_cnt - packet->rmsg_pgcnt :
+		packet->page_buf_cnt;
+	dma_addr_t dma;
+	int i;
+
+	if (!hv_is_isolation_supported())
+		return 0;
+
+	packet->dma_range = kcalloc(page_count,
+				    sizeof(*packet->dma_range),
+				    GFP_KERNEL);
+	if (!packet->dma_range)
+		return -ENOMEM;
+
+	for (i = 0; i < page_count; i++) {
+		char *src = phys_to_virt((pb[i].pfn << HV_HYP_PAGE_SHIFT)
+					 + pb[i].offset);
+		u32 len = pb[i].len;
+
+		dma = dma_map_single(&hv_dev->device, src, len,
+				     DMA_TO_DEVICE);
+		if (dma_mapping_error(&hv_dev->device, dma)) {
+			kfree(packet->dma_range);
+			return -ENOMEM;
+		}
+
+		packet->dma_range[i].dma = dma;
+		packet->dma_range[i].mapping_size = len;
+		pb[i].pfn = dma >> HV_HYP_PAGE_SHIFT;
+		pb[i].offset = offset_in_hvpage(dma);
+		pb[i].len = len;
+	}
+
+	return 0;
+}
+
 static inline int netvsc_send_pkt(
 	struct hv_device *device,
 	struct hv_netvsc_packet *packet,
@@ -987,14 +1117,22 @@ static inline int netvsc_send_pkt(
 
 	trace_nvsp_send_pkt(ndev, out_channel, rpkt);
 
+	packet->dma_range = NULL;
 	if (packet->page_buf_cnt) {
 		if (packet->cp_partial)
 			pb += packet->rmsg_pgcnt;
 
+		ret = netvsc_dma_map(ndev_ctx->device_ctx, packet, pb);
+		if (ret)
+			return ret;
+
 		ret = vmbus_sendpacket_pagebuffer(out_channel,
 						  pb, packet->page_buf_cnt,
 						  &nvmsg, sizeof(nvmsg),
 						  req_id);
+
+		if (ret)
+			netvsc_dma_unmap(ndev_ctx->device_ctx, packet);
 	} else {
 		ret = vmbus_sendpacket(out_channel,
 				       &nvmsg, sizeof(nvmsg),
diff --git a/drivers/net/hyperv/rndis_filter.c b/drivers/net/hyperv/rndis_filter.c
index f6c9c2a670f9..448fcc325ed7 100644
--- a/drivers/net/hyperv/rndis_filter.c
+++ b/drivers/net/hyperv/rndis_filter.c
@@ -361,6 +361,8 @@ static void rndis_filter_receive_response(struct net_device *ndev,
 			}
 		}
 
+		netvsc_dma_unmap(((struct net_device_context *)
+			netdev_priv(ndev))->device_ctx, &request->pkt);
 		complete(&request->wait_event);
 	} else {
 		netdev_err(ndev,
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
index cb4695c893a6..2d4cf1ef4062 100644
--- a/include/linux/hyperv.h
+++ b/include/linux/hyperv.h
@@ -1617,6 +1617,11 @@ struct hyperv_service_callback {
 	void (*callback)(void *context);
 };
 
+struct hv_dma_range {
+	dma_addr_t dma;
+	u32 mapping_size;
+};
+
 #define MAX_SRV_VER	0x7ffffff
 extern bool vmbus_prep_negotiate_resp(struct icmsg_hdr *icmsghdrp, u8 *buf, u32 buflen,
 				const int *fw_version, int fw_vercnt,
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 04 18:56:14 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 18:56:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163928.300136 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBM3q-0004wf-CH; Wed, 04 Aug 2021 18:56:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163928.300136; Wed, 04 Aug 2021 18:56:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBM3q-0004vk-6F; Wed, 04 Aug 2021 18:56:14 +0000
Received: by outflank-mailman (input) for mailman id 163928;
 Wed, 04 Aug 2021 18:56:12 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=q0vd=M3=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mBLuc-0005Nn-23
 for xen-devel@lists.xenproject.org; Wed, 04 Aug 2021 18:46:42 +0000
Received: from mail-pl1-x62c.google.com (unknown [2607:f8b0:4864:20::62c])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 3e24aa89-1320-4683-b42d-4f2a30cf0023;
 Wed, 04 Aug 2021 18:45:54 +0000 (UTC)
Received: by mail-pl1-x62c.google.com with SMTP id e5so4006434pld.6
 for <xen-devel@lists.xenproject.org>; Wed, 04 Aug 2021 11:45:54 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:f:1947:6842:b8a8:6f83])
 by smtp.gmail.com with ESMTPSA id f5sm3325647pjo.23.2021.08.04.11.45.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Aug 2021 11:45:53 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3e24aa89-1320-4683-b42d-4f2a30cf0023
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=MLCExff2ihj9dhr/dlFdrznpgmD9OTz5j5EJrPkB5iE=;
        b=nQjlYJtS5HcCyj1kReHzzYSkuXhcL/T243SnoPotJr9axAx/y9mgsrUcFwppMvy6eT
         KHs38kNchgQ8sICQh+v9sCKIjRP/5QOM+JIYC5Q1N6Lp+XE/M1lbWObl8rVDvX4QkLWM
         ziKqFNSrhFy1s916Ksf+6gv8Vb+3Gzof3WAXHbz/BCgy8oRG66zT1x4UuvOphqhyLhbz
         XxlIwFH/nH1iwixFkdHrQak7xucvflZqNuEMBDReBBEmzg+yFHVIPmgeeoEfJ+9PPuuA
         6G8iPg8zPeVNm6R5TE5DJGkCuJ/0JGVASNOpLU9v+X9oxBQ5/g0dQHAc5LbcNkb+airM
         ZYKQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=MLCExff2ihj9dhr/dlFdrznpgmD9OTz5j5EJrPkB5iE=;
        b=X078qnuTG36R5aLtMITzp+f9QpKimed1mknwW9618usrH0X4wSpQk6N/6qF9Alxv0y
         tK0PhqFwkdDVSdS/P4i9gCTazFgjcli2Mhs5o7BEi+Qeagb8IRxEXJi808sF//T2PBJw
         LHIW21ps0c7H3snmGGjw5IY1PfZQxxczSxhiLDvrehpAaSS7s5yg3Fd80fMt66ayad2a
         veIHn6FiiEeuAPRrYc0RDAPPsBmEUICR5BBzo8cImYedGpTyLokaxu581FT11WSq3K6C
         pAjWmrswcDXeEfNTWikgxf1U1Fdg5FeVyqGb0G68al0ZVRk45M5k50cHaqiycv9xWHHs
         xuBg==
X-Gm-Message-State: AOAM5306ZBLaS1IJhecmy1TqwVycekp8TnJAMM/xJESWgweNEbG07AGB
	IYuy02ZNNOkB5BK4C0vleVg=
X-Google-Smtp-Source: ABdhPJyd5IF2HEtPjd1OF9m2ocmGgK5rwOtWcDcr+BcFvFtdnDqesFcVcWyzWTnTafnui7e/j1GFbA==
X-Received: by 2002:a17:902:ea91:b029:12c:6cd5:31de with SMTP id x17-20020a170902ea91b029012c6cd531demr523712plb.71.1628102753473;
        Wed, 04 Aug 2021 11:45:53 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	will@kernel.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	Tianyu.Lan@microsoft.com,
	rppt@kernel.org,
	kirill.shutemov@linux.intel.com,
	akpm@linux-foundation.org,
	brijesh.singh@amd.com,
	thomas.lendacky@amd.com,
	pgonda@google.com,
	david@redhat.com,
	krish.sadhukhan@oracle.com,
	saravanand@fb.com,
	aneesh.kumar@linux.ibm.com,
	xen-devel@lists.xenproject.org,
	martin.b.radev@gmail.com,
	ardb@kernel.org,
	rientjes@google.com,
	tj@kernel.org,
	keescook@chromium.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com
Subject: [PATCH V2 12/14] HV/IOMMU: Enable swiotlb bounce buffer for Isolation VM
Date: Wed,  4 Aug 2021 14:45:08 -0400
Message-Id: <20210804184513.512888-13-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210804184513.512888-1-ltykernel@gmail.com>
References: <20210804184513.512888-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

Hyper-V Isolation VM requires bounce buffer support to copy
data from/to encrypted memory and so enable swiotlb force
mode to use swiotlb bounce buffer for DMA transaction.

In Isolation VM with AMD SEV, the bounce buffer needs to be
accessed via extra address space which is above shared_gpa_boundary
(E.G 39 bit address line) reported by Hyper-V CPUID ISOLATION_CONFIG.
The access physical address will be original physical address +
shared_gpa_boundary. The shared_gpa_boundary in the AMD SEV SNP
spec is called virtual top of memory(vTOM). Memory addresses below
vTOM are automatically treated as private while memory above
vTOM is treated as shared.

Swiotlb bounce buffer code calls dma_map_decrypted()
to mark bounce buffer visible to host and map it in extra
address space. Populate dma memory decrypted ops with hv
map/unmap function.

Hyper-V initalizes swiotlb bounce buffer and default swiotlb
needs to be disabled. pci_swiotlb_detect_override() and
pci_swiotlb_detect_4gb() enable the default one. To override
the setting, hyperv_swiotlb_detect() needs to run before
these detect functions which depends on the pci_xen_swiotlb_
init(). Make pci_xen_swiotlb_init() depends on the hyperv_swiotlb
_detect() to keep the order.

The map function vmap_pfn() can't work in the early place
hyperv_iommu_swiotlb_init() and so initialize swiotlb bounce
buffer in the hyperv_iommu_swiotlb_later_init().

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
 arch/x86/hyperv/ivm.c           | 28 ++++++++++++++
 arch/x86/include/asm/mshyperv.h |  2 +
 arch/x86/xen/pci-swiotlb-xen.c  |  3 +-
 drivers/hv/vmbus_drv.c          |  3 ++
 drivers/iommu/hyperv-iommu.c    | 65 +++++++++++++++++++++++++++++++++
 include/linux/hyperv.h          |  1 +
 6 files changed, 101 insertions(+), 1 deletion(-)

diff --git a/arch/x86/hyperv/ivm.c b/arch/x86/hyperv/ivm.c
index 377729279a0b..d2aa3120b005 100644
--- a/arch/x86/hyperv/ivm.c
+++ b/arch/x86/hyperv/ivm.c
@@ -265,3 +265,31 @@ int hv_set_mem_enc(unsigned long addr, int numpages, bool enc)
 
 	return hv_set_mem_host_visibility((void *)addr, numpages, visibility);
 }
+
+/*
+ * hv_map_memory - map memory to extra space in the AMD SEV-SNP Isolation VM.
+ */
+void *hv_map_memory(void *addr, unsigned long size)
+{
+	unsigned long *pfns = kcalloc(size / HV_HYP_PAGE_SIZE,
+				      sizeof(unsigned long), GFP_KERNEL);
+	void *vaddr;
+	int i;
+
+	if (!pfns)
+		return NULL;
+
+	for (i = 0; i < size / HV_HYP_PAGE_SIZE; i++)
+		pfns[i] = virt_to_hvpfn(addr + i * HV_HYP_PAGE_SIZE) +
+			(ms_hyperv.shared_gpa_boundary >> HV_HYP_PAGE_SHIFT);
+
+	vaddr = vmap_pfn(pfns, size / HV_HYP_PAGE_SIZE,	PAGE_KERNEL_IO);
+	kfree(pfns);
+
+	return vaddr;
+}
+
+void hv_unmap_memory(void *addr)
+{
+	vunmap(addr);
+}
diff --git a/arch/x86/include/asm/mshyperv.h b/arch/x86/include/asm/mshyperv.h
index 8f7e2e3b7227..bd7b3ce1ae59 100644
--- a/arch/x86/include/asm/mshyperv.h
+++ b/arch/x86/include/asm/mshyperv.h
@@ -250,6 +250,8 @@ int hv_unmap_ioapic_interrupt(int ioapic_id, struct hv_interrupt_entry *entry);
 int hv_mark_gpa_visibility(u16 count, const u64 pfn[],
 			   enum hv_mem_host_visibility visibility);
 int hv_set_mem_enc(unsigned long addr, int numpages, bool enc);
+void *hv_map_memory(void *addr, unsigned long size);
+void hv_unmap_memory(void *addr);
 void hv_sint_wrmsrl_ghcb(u64 msr, u64 value);
 void hv_sint_rdmsrl_ghcb(u64 msr, u64 *value);
 void hv_signal_eom_ghcb(void);
diff --git a/arch/x86/xen/pci-swiotlb-xen.c b/arch/x86/xen/pci-swiotlb-xen.c
index 54f9aa7e8457..43bd031aa332 100644
--- a/arch/x86/xen/pci-swiotlb-xen.c
+++ b/arch/x86/xen/pci-swiotlb-xen.c
@@ -4,6 +4,7 @@
 
 #include <linux/dma-map-ops.h>
 #include <linux/pci.h>
+#include <linux/hyperv.h>
 #include <xen/swiotlb-xen.h>
 
 #include <asm/xen/hypervisor.h>
@@ -91,6 +92,6 @@ int pci_xen_swiotlb_init_late(void)
 EXPORT_SYMBOL_GPL(pci_xen_swiotlb_init_late);
 
 IOMMU_INIT_FINISH(pci_xen_swiotlb_detect,
-		  NULL,
+		  hyperv_swiotlb_detect,
 		  pci_xen_swiotlb_init,
 		  NULL);
diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c
index 57bbbaa4e8f7..f068e22a5636 100644
--- a/drivers/hv/vmbus_drv.c
+++ b/drivers/hv/vmbus_drv.c
@@ -23,6 +23,7 @@
 #include <linux/cpu.h>
 #include <linux/sched/task_stack.h>
 
+#include <linux/dma-map-ops.h>
 #include <linux/delay.h>
 #include <linux/notifier.h>
 #include <linux/panic_notifier.h>
@@ -2081,6 +2082,7 @@ struct hv_device *vmbus_device_create(const guid_t *type,
 	return child_device_obj;
 }
 
+static u64 vmbus_dma_mask = DMA_BIT_MASK(64);
 /*
  * vmbus_device_register - Register the child device
  */
@@ -2121,6 +2123,7 @@ int vmbus_device_register(struct hv_device *child_device_obj)
 	}
 	hv_debug_add_dev_dir(child_device_obj);
 
+	child_device_obj->device.dma_mask = &vmbus_dma_mask;
 	return 0;
 
 err_kset_unregister:
diff --git a/drivers/iommu/hyperv-iommu.c b/drivers/iommu/hyperv-iommu.c
index e285a220c913..01e874b3b43a 100644
--- a/drivers/iommu/hyperv-iommu.c
+++ b/drivers/iommu/hyperv-iommu.c
@@ -13,14 +13,22 @@
 #include <linux/irq.h>
 #include <linux/iommu.h>
 #include <linux/module.h>
+#include <linux/hyperv.h>
+#include <linux/io.h>
 
 #include <asm/apic.h>
 #include <asm/cpu.h>
 #include <asm/hw_irq.h>
 #include <asm/io_apic.h>
+#include <asm/iommu.h>
+#include <asm/iommu_table.h>
 #include <asm/irq_remapping.h>
 #include <asm/hypervisor.h>
 #include <asm/mshyperv.h>
+#include <asm/swiotlb.h>
+#include <linux/dma-map-ops.h>
+#include <linux/dma-direct.h>
+#include <linux/set_memory.h>
 
 #include "irq_remapping.h"
 
@@ -36,6 +44,9 @@
 static cpumask_t ioapic_max_cpumask = { CPU_BITS_NONE };
 static struct irq_domain *ioapic_ir_domain;
 
+static unsigned long hyperv_io_tlb_size;
+static void *hyperv_io_tlb_start;
+
 static int hyperv_ir_set_affinity(struct irq_data *data,
 		const struct cpumask *mask, bool force)
 {
@@ -337,4 +348,58 @@ static const struct irq_domain_ops hyperv_root_ir_domain_ops = {
 	.free = hyperv_root_irq_remapping_free,
 };
 
+void __init hyperv_iommu_swiotlb_init(void)
+{
+	unsigned long bytes;
+
+	/*
+	 * Allocate Hyper-V swiotlb bounce buffer at early place
+	 * to reserve large contiguous memory.
+	 */
+	hyperv_io_tlb_size = 256 * 1024 * 1024;
+	hyperv_io_tlb_start =
+			memblock_alloc_low(
+				  PAGE_ALIGN(hyperv_io_tlb_size),
+				  HV_HYP_PAGE_SIZE);
+
+	if (!hyperv_io_tlb_start) {
+		pr_warn("Fail to allocate Hyper-V swiotlb buffer.\n");
+		return;
+	}
+}
+
+int __init hyperv_swiotlb_detect(void)
+{
+	if (hypervisor_is_type(X86_HYPER_MS_HYPERV)
+	    && hv_is_isolation_supported()) {
+		/*
+		 * Enable swiotlb force mode in Isolation VM to
+		 * use swiotlb bounce buffer for dma transaction.
+		 */
+		swiotlb_force = SWIOTLB_FORCE;
+
+		dma_memory_generic_decrypted_ops.map = hv_map_memory;
+		dma_memory_generic_decrypted_ops.unmap = hv_unmap_memory;
+		return 1;
+	}
+
+	return 0;
+}
+
+void __init hyperv_iommu_swiotlb_later_init(void)
+{
+	/*
+	 * Swiotlb bounce buffer needs to be mapped in extra address
+	 * space. Map function doesn't work in the early place and so
+	 * call swiotlb_late_init_with_tbl() here.
+	 */
+	if (swiotlb_late_init_with_tbl(hyperv_io_tlb_start,
+				       hyperv_io_tlb_size >> IO_TLB_SHIFT))
+		panic("Fail to initialize hyperv swiotlb.\n");
+}
+
+IOMMU_INIT_FINISH(hyperv_swiotlb_detect,
+		  NULL, hyperv_iommu_swiotlb_init,
+		  hyperv_iommu_swiotlb_later_init);
+
 #endif
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
index cbe376b82de3..cb4695c893a6 100644
--- a/include/linux/hyperv.h
+++ b/include/linux/hyperv.h
@@ -1760,6 +1760,7 @@ int hyperv_write_cfg_blk(struct pci_dev *dev, void *buf, unsigned int len,
 int hyperv_reg_block_invalidate(struct pci_dev *dev, void *context,
 				void (*block_invalidate)(void *context,
 							 u64 block_mask));
+int __init hyperv_swiotlb_detect(void);
 
 struct hyperv_pci_block_ops {
 	int (*read_block)(struct pci_dev *dev, void *buf, unsigned int buf_len,
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 04 18:56:17 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 18:56:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163938.300148 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBM3t-0005SR-Nf; Wed, 04 Aug 2021 18:56:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163938.300148; Wed, 04 Aug 2021 18:56:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBM3t-0005SA-FQ; Wed, 04 Aug 2021 18:56:17 +0000
Received: by outflank-mailman (input) for mailman id 163938;
 Wed, 04 Aug 2021 18:56:17 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=q0vd=M3=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mBLuS-0005Nn-1a
 for xen-devel@lists.xenproject.org; Wed, 04 Aug 2021 18:46:32 +0000
Received: from mail-pj1-x1030.google.com (unknown [2607:f8b0:4864:20::1030])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 991cd931-70cf-4796-a433-b53b0043c021;
 Wed, 04 Aug 2021 18:45:51 +0000 (UTC)
Received: by mail-pj1-x1030.google.com with SMTP id
 o44-20020a17090a0a2fb0290176ca3e5a2fso4890414pjo.1
 for <xen-devel@lists.xenproject.org>; Wed, 04 Aug 2021 11:45:51 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:f:1947:6842:b8a8:6f83])
 by smtp.gmail.com with ESMTPSA id f5sm3325647pjo.23.2021.08.04.11.45.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Aug 2021 11:45:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 991cd931-70cf-4796-a433-b53b0043c021
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=keWJNY0TOKB46dPy1a/lrsXD5LLzekP9Z6jv0dmU95k=;
        b=OKNw+imaxI+fKOKyGJdfYZ5km1N/ZyKxdiMPvCbxRTQzEagGFnMNZ8hCxP6Sj6xn6j
         8KbLWhyMRHkQmMVFkye9sBUZlXjhh8UqKho3pmGuplw+iTiugnihtsIGME3R3XrfAG5H
         FUgexFeXQrB9IQ2fqvPylT91eErThlRo25/1oPqWdSkxozsc8oI1ihmsEk/Ll5Dw0u1F
         o6jbVB+vn7AlYYHpPVq8eT2rTTaXqchZYuA3nRXRGf97kY6Tz+EWKFVGvvYBWNa7kfKD
         T6RcaK5jNA10IOxgxVIhxweeyuzwX4C5MVdXqqUYHM3fNjpeE6BJft1kYkIJHBAYMQIh
         l45Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=keWJNY0TOKB46dPy1a/lrsXD5LLzekP9Z6jv0dmU95k=;
        b=JBZj4uBPGPYiSz+KExXqtjU/jPDWllE5gbh1IlbtKEcXFy406zkthHix/vLljQmCoa
         9ajB+gicCnPEGz+X0XkCJI9OLB411XrPsYYIv52I7HpCPBXac+PDg3Jb9cCTvNrMixc7
         b+jib931u0e5b72k0nQfVn+YUACM1DDzSs15T7e32sFwudg5XKGXI2JLRQ8OzJPEkSZ7
         eJD8Fp0zLY0A2Ej2EWwjujB263Ac50s10ZyTdk+S4tnO3N8x+ZHcautmuQGBcMDiLuCe
         /DdpOFNwWcy3slCU6PvSsubOtdXGnOeSKUzmsn/jwmj/NaWyUNbiviiViZJtp7h96pJp
         loVA==
X-Gm-Message-State: AOAM532hYwviExYQHKAavw7msJlK9LWRzy1/td9ONS2E7ZoPl4yVtucp
	l3hmU62EsyUlwIV2rKGp+gM=
X-Google-Smtp-Source: ABdhPJwys0uU3bab3cbhhZkGrABiePfZp0CgNlBTq2zsAkdo8ijSiGByWQDUWb34Oh21nzInCwt3JA==
X-Received: by 2002:a17:902:c94f:b029:12c:dd57:c580 with SMTP id i15-20020a170902c94fb029012cdd57c580mr554023pla.42.1628102751128;
        Wed, 04 Aug 2021 11:45:51 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	will@kernel.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	Tianyu.Lan@microsoft.com,
	rppt@kernel.org,
	kirill.shutemov@linux.intel.com,
	akpm@linux-foundation.org,
	brijesh.singh@amd.com,
	thomas.lendacky@amd.com,
	pgonda@google.com,
	david@redhat.com,
	krish.sadhukhan@oracle.com,
	saravanand@fb.com,
	aneesh.kumar@linux.ibm.com,
	xen-devel@lists.xenproject.org,
	martin.b.radev@gmail.com,
	ardb@kernel.org,
	rientjes@google.com,
	tj@kernel.org,
	keescook@chromium.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com
Subject: [PATCH V2 11/14] x86/Swiotlb: Add Swiotlb bounce buffer remap function for HV IVM
Date: Wed,  4 Aug 2021 14:45:07 -0400
Message-Id: <20210804184513.512888-12-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210804184513.512888-1-ltykernel@gmail.com>
References: <20210804184513.512888-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

In Isolation VM with AMD SEV, bounce buffer needs to be accessed via
extra address space which is above shared_gpa_boundary
(E.G 39 bit address line) reported by Hyper-V CPUID ISOLATION_CONFIG.
The access physical address will be original physical address +
shared_gpa_boundary. The shared_gpa_boundary in the AMD SEV SNP
spec is called virtual top of memory(vTOM). Memory addresses below
vTOM are automatically treated as private while memory above
vTOM is treated as shared.

Use dma_map_decrypted() in the swiotlb code, store remap address returned
and use the remap address to copy data from/to swiotlb bounce buffer.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
Change since v1:
       * Make swiotlb_init_io_tlb_mem() return error code and return
         error when dma_map_decrypted() fails.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
 include/linux/swiotlb.h |  4 ++++
 kernel/dma/swiotlb.c    | 32 ++++++++++++++++++++++++--------
 2 files changed, 28 insertions(+), 8 deletions(-)

diff --git a/include/linux/swiotlb.h b/include/linux/swiotlb.h
index f507e3eacbea..584560ecaa8e 100644
--- a/include/linux/swiotlb.h
+++ b/include/linux/swiotlb.h
@@ -72,6 +72,9 @@ extern enum swiotlb_force swiotlb_force;
  * @end:	The end address of the swiotlb memory pool. Used to do a quick
  *		range check to see if the memory was in fact allocated by this
  *		API.
+ * @vaddr:	The vaddr of the swiotlb memory pool. The swiotlb
+ *		memory pool may be remapped in the memory encrypted case and store
+ *		virtual address for bounce buffer operation.
  * @nslabs:	The number of IO TLB blocks (in groups of 64) between @start and
  *		@end. For default swiotlb, this is command line adjustable via
  *		setup_io_tlb_npages.
@@ -89,6 +92,7 @@ extern enum swiotlb_force swiotlb_force;
 struct io_tlb_mem {
 	phys_addr_t start;
 	phys_addr_t end;
+	void *vaddr;
 	unsigned long nslabs;
 	unsigned long used;
 	unsigned int index;
diff --git a/kernel/dma/swiotlb.c b/kernel/dma/swiotlb.c
index 1fa81c096c1d..29b6d888ef3b 100644
--- a/kernel/dma/swiotlb.c
+++ b/kernel/dma/swiotlb.c
@@ -176,7 +176,7 @@ void __init swiotlb_update_mem_attributes(void)
 	memset(vaddr, 0, bytes);
 }
 
-static void swiotlb_init_io_tlb_mem(struct io_tlb_mem *mem, phys_addr_t start,
+static int swiotlb_init_io_tlb_mem(struct io_tlb_mem *mem, phys_addr_t start,
 				    unsigned long nslabs, bool late_alloc)
 {
 	void *vaddr = phys_to_virt(start);
@@ -194,14 +194,21 @@ static void swiotlb_init_io_tlb_mem(struct io_tlb_mem *mem, phys_addr_t start,
 		mem->slots[i].alloc_size = 0;
 	}
 
-	set_memory_decrypted((unsigned long)vaddr, bytes >> PAGE_SHIFT);
-	memset(vaddr, 0, bytes);
+	mem->vaddr = dma_map_decrypted(vaddr, bytes);
+	if (!mem->vaddr) {
+		pr_err("Failed to decrypt memory.\n");
+		return -ENOMEM;
+	}
+
+	memset(mem->vaddr, 0, bytes);
+	return 0;
 }
 
 int __init swiotlb_init_with_tbl(char *tlb, unsigned long nslabs, int verbose)
 {
 	struct io_tlb_mem *mem;
 	size_t alloc_size;
+	int ret;
 
 	if (swiotlb_force == SWIOTLB_NO_FORCE)
 		return 0;
@@ -216,7 +223,11 @@ int __init swiotlb_init_with_tbl(char *tlb, unsigned long nslabs, int verbose)
 		panic("%s: Failed to allocate %zu bytes align=0x%lx\n",
 		      __func__, alloc_size, PAGE_SIZE);
 
-	swiotlb_init_io_tlb_mem(mem, __pa(tlb), nslabs, false);
+	ret = swiotlb_init_io_tlb_mem(mem, __pa(tlb), nslabs, false);
+	if (ret) {
+		memblock_free(__pa(mem), alloc_size);
+		return ret;
+	}
 
 	io_tlb_default_mem = mem;
 	if (verbose)
@@ -304,6 +315,8 @@ int
 swiotlb_late_init_with_tbl(char *tlb, unsigned long nslabs)
 {
 	struct io_tlb_mem *mem;
+	int size = get_order(struct_size(mem, slots, nslabs));
+	int ret;
 
 	if (swiotlb_force == SWIOTLB_NO_FORCE)
 		return 0;
@@ -312,12 +325,15 @@ swiotlb_late_init_with_tbl(char *tlb, unsigned long nslabs)
 	if (WARN_ON_ONCE(io_tlb_default_mem))
 		return -ENOMEM;
 
-	mem = (void *)__get_free_pages(GFP_KERNEL,
-		get_order(struct_size(mem, slots, nslabs)));
+	mem = (void *)__get_free_pages(GFP_KERNEL, size);
 	if (!mem)
 		return -ENOMEM;
 
-	swiotlb_init_io_tlb_mem(mem, virt_to_phys(tlb), nslabs, true);
+	ret = swiotlb_init_io_tlb_mem(mem, virt_to_phys(tlb), nslabs, true);
+	if (ret) {
+		free_pages((unsigned long)mem, size);
+		return ret;
+	}
 
 	io_tlb_default_mem = mem;
 	swiotlb_print_info();
@@ -360,7 +376,7 @@ static void swiotlb_bounce(struct device *dev, phys_addr_t tlb_addr, size_t size
 	phys_addr_t orig_addr = mem->slots[index].orig_addr;
 	size_t alloc_size = mem->slots[index].alloc_size;
 	unsigned long pfn = PFN_DOWN(orig_addr);
-	unsigned char *vaddr = phys_to_virt(tlb_addr);
+	unsigned char *vaddr = mem->vaddr + tlb_addr - mem->start;
 	unsigned int tlb_offset;
 
 	if (orig_addr == INVALID_PHYS_ADDR)
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 04 19:19:06 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 19:19:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163984.300160 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBMPm-0000ZS-Hd; Wed, 04 Aug 2021 19:18:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163984.300160; Wed, 04 Aug 2021 19:18:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBMPm-0000ZL-EH; Wed, 04 Aug 2021 19:18:54 +0000
Received: by outflank-mailman (input) for mailman id 163984;
 Wed, 04 Aug 2021 19:18:53 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=v2HM=M3=gmail.com=olekstysh@srs-us1.protection.inumbo.net>)
 id 1mBMPl-0000ZD-Cm
 for xen-devel@lists.xenproject.org; Wed, 04 Aug 2021 19:18:53 +0000
Received: from mail-lj1-x229.google.com (unknown [2a00:1450:4864:20::229])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 8ad15ec5-788a-4b77-a6f3-aefe965975dd;
 Wed, 04 Aug 2021 19:18:52 +0000 (UTC)
Received: by mail-lj1-x229.google.com with SMTP id x9so1839518ljj.2
 for <xen-devel@lists.xenproject.org>; Wed, 04 Aug 2021 12:18:52 -0700 (PDT)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id t30sm224980ljo.124.2021.08.04.12.18.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Aug 2021 12:18: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: 8ad15ec5-788a-4b77-a6f3-aefe965975dd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-transfer-encoding:content-language;
        bh=/U30BlgpbARkoUUN/4dr64eDUPin30IaR78x8FCP+/o=;
        b=Zy5vRju14EHQBEwlRWrlarKexLhDyySw5VoTd0ryQAit81CiMT4VMfDir7hVwAxdYs
         pE92l+1uf3QwchjX3NyBmhIE3SmZV4mHY7tuNeeToBzg6BR/ukvj0cWhlIKkH4AzPyw4
         Zl3gohBrjWlbvlGOh5CdmfJIekVqfSxCVboJF7tGPsrHx8r3AVv+G6nyXt9h9757vhs0
         QNwowatA3Siyn9I9xotb2ZoJyaGDFYKGq3bNwW37SsepJKC5b1RXza4gVYgtim+6cwYE
         37g/pKh6FlEiHsckwcklhg5okeqYbJmSYKowCSwQMlXDuPtACgcrGziGEZ06xDN2pZ3x
         V9Ow==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-transfer-encoding
         :content-language;
        bh=/U30BlgpbARkoUUN/4dr64eDUPin30IaR78x8FCP+/o=;
        b=f3rt+ruaezwEDTeKYzSTgGXbXWsHcQ7+q5i9IZuGRSXlERIkE7nE8o/DRJvsx+9kQb
         /d3Pco+q1Kv7Db3uDBhmvXvZ7dMmxQmOGsdP131bZwx9Yn8m00nJoL0EyHk7ohaatcoo
         FFEFE2ZXdm3E70GlQreG4x63fSYdAcsiTXsHoTO+049IE+TV44XmeSkVw0u5C31bghuT
         pj7bc9vb3utTguLSwSVlhvLcSRN0hzHNqEOXZOScot6wg6sIAN1Dec0IxPNtS+Ao8vxk
         JzFVKqH96V2TzVA6UxbteS43hT9dtrvsBiTemyecyNVrTickv2ou52Mt6F9z4o28iGwA
         QUbA==
X-Gm-Message-State: AOAM531M62ALaSupSjbWphkFa1kbbDzNALJbBqhKZQ8TJePs22VdnKPN
	NbTIPMBUFVpbeqAd4g4030o=
X-Google-Smtp-Source: ABdhPJyOq4sBf6N7kKsPdYsSKao/hHQOatfQ5qtkAMQWEHRmb1Z6nbJ8VPBv1Ii4Am/nugMdSxiQ7A==
X-Received: by 2002:a2e:581a:: with SMTP id m26mr561589ljb.401.1628104731429;
        Wed, 04 Aug 2021 12:18:51 -0700 (PDT)
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
To: Jan Beulich <jbeulich@suse.com>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org,
 Julien Grall <julien@xen.org>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <80fafc01-f063-d6e5-1c08-7ad64550310c@citrix.com>
 <e8db3021-78a5-e040-a70b-62ca5b500149@xen.org>
 <4de5ed21-379e-b618-44c8-924d88b1a519@citrix.com>
 <bbc7f597-5249-20a0-cac9-13f594268299@xen.org>
 <6a633f4e-13e0-4a2b-cf6e-35ef90ae977c@gmail.com>
 <7d79a197-a126-2eed-3198-c20e63c1eece@suse.com>
From: Oleksandr <olekstysh@gmail.com>
Message-ID: <090ffc19-92fd-5ef9-99d5-affcfdc28ad2@gmail.com>
Date: Wed, 4 Aug 2021 22:18:49 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.10.0
MIME-Version: 1.0
In-Reply-To: <7d79a197-a126-2eed-3198-c20e63c1eece@suse.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Content-Language: en-US


On 03.08.21 15:53, Jan Beulich wrote:

Hi, Jan

Thank you for the input.

> On 30.07.2021 18:13, Oleksandr wrote:
>> Well, if new hypercall and, what is more, "the querying hypervisor at
>> runtime to find unused space" model itself is not welcome, I am ok,
>> let's try to create a working system,
>> may we please find a common ground to move this forward (at least on Arm
>> for now, the foreign mapping is the most important question).
>>
>> I got the proposed idea in general, but I haven't connected all dots
>> yet, some points need clarification.
>>
>> 1. The safe range must be defined/allocated in advance and must remain
>> const during the runtime. The safe range must be chosen by the toolstack.
>> [For the initial implementation we can start with some large value
>> (128GB) as discussed above]
>>
>> Questions:
>>
>> - Do we need to inform Xen about that range (via domain_create
>> hypercall, etc)?
>> - What will be in charge of guaranteeing the safety of that range at
>> runtime (reject new mapping requests with possible overlaps, etc), Xen,
>> toolstack or both?
> Well, what other entity than Xen could enforce this? (By implication,
> the answer to the earlier question can imo only be "yes", unless it's
> Xen itself to establish the region.)

Indeed, agree.


>
>> - Where that range should be located in guest address space, should that
>> range be the same for all domains (how GUEST_GNTTAB_BASE(SIZE) for example)
>> or it should be calculated based on actual guest_ram_base(size) for a
>> particular domain?
> The default size may well be fixed or amount-of-memory-dependent, but
> I think there will need to be a way to enlarge the region for guests
> with particular needs.
Well, but why we couldn't just make a large chunk by default which would
satisfy all guests, as it was mentioned earlier in this thread "as it 
doesn't consume resource when not being used"
to avoid an extra configuration option, etc?


>
>> - What about a safe range the Dom0 can use itself? Xen should choose it
>> for Dom0 the same way how toolstack chooses it for other domains, correct?
>>
>> 2. The safe range must be provided to domain using the firmware table.
>> [We can start with the DTB and leave ACPI unimplemented for now,
>> assuming we will be able to solve open questions as discussed above]
>>
>> Questions:
>>
>> - Do we need distinguish between foreign and grant mappings at the
>> domain side at all? Can the same safe range be used for all types of
>> mapping?
> Like Stefano I don't think so.

Agree.

-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Wed Aug 04 19:20:16 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 19:20:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163991.300172 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBMR2-0001tD-Tu; Wed, 04 Aug 2021 19:20:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163991.300172; Wed, 04 Aug 2021 19: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 1mBMR2-0001t6-Po; Wed, 04 Aug 2021 19:20:12 +0000
Received: by outflank-mailman (input) for mailman id 163991;
 Wed, 04 Aug 2021 19:20:11 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=K6bJ=M3=kernel.org=sstabellini@srs-us1.protection.inumbo.net>)
 id 1mBMR1-0001sf-Hy
 for xen-devel@lists.xen.org; Wed, 04 Aug 2021 19:20:11 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id fbb3b118-f558-11eb-9b94-12813bfff9fa;
 Wed, 04 Aug 2021 19:20:09 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id E4C0E600D4;
 Wed,  4 Aug 2021 19:20: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: fbb3b118-f558-11eb-9b94-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1628104808;
	bh=Tk9svFucHVQX1rX4rjlyf5bPS3OyLOg2jFYkj8R7lYY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=MLH5gTRhcouaIHypk5GnwGkq9f6kN/HVIONZniQHWrGk7PT0M1jGZvdGEdiCsA0F/
	 GYSPg7bOslkzhu8Fb6cA7KeMQ4ApMVvn/3I5v4vzE8rnaIdVm9NgpiMMC4c54Be3PQ
	 QKNMeXWA+UXgP3VAFJTSFs0cTh6IWqvQ2wOJQIBeJvj6+6l5sEX2Ub6RfvuhaoR4sk
	 ywa4NwI9aqHUWf2scDXL1byokWhYs172QqnZw1fA4vTfjQjWlOhv/hrdLX5ydqCMLH
	 OUJpNcb2piK3TO8q0nIHQG1PwqE4FOEmQWKBDSYyOcMkGRxK3SMH8qj1iJyf2Nnlyw
	 8tW2A56IMP3jw==
Date: Wed, 4 Aug 2021 12:20:01 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@sstabellini-ThinkPad-T480s
To: =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>
cc: Stratos Mailing List <stratos-dev@op-lists.linaro.org>, 
    virtio-dev@lists.oasis-open.org, Arnd Bergmann <arnd.bergmann@linaro.org>, 
    Viresh Kumar <viresh.kumar@linaro.org>, 
    AKASHI Takahiro <takahiro.akashi@linaro.org>, 
    Stefano Stabellini <stefano.stabellini@xilinx.com>, stefanha@redhat.com, 
    Jan Kiszka <jan.kiszka@siemens.com>, 
    Carl van Schaik <cvanscha@qti.qualcomm.com>, pratikp@quicinc.com, 
    Srivatsa Vaddagiri <vatsa@codeaurora.org>, 
    Jean-Philippe Brucker <jean-philippe@linaro.org>, 
    Mathieu Poirier <mathieu.poirier@linaro.org>, Wei.Chen@arm.com, 
    olekstysh@gmail.com, Oleksandr_Tyshchenko@epam.com, 
    Bertrand.Marquis@arm.com, Artem_Mygaiev@epam.com, julien@xen.org, 
    jgross@suse.com, paul@xen.org, xen-devel@lists.xen.org
Subject: Re: Enabling hypervisor agnosticism for VirtIO backends
In-Reply-To: <87v94ldrqq.fsf@linaro.org>
Message-ID: <alpine.DEB.2.21.2108041055390.9768@sstabellini-ThinkPad-T480s>
References: <87v94ldrqq.fsf@linaro.org>
User-Agent: Alpine 2.21 (DEB 202 2017-01-01)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-1515917732-1628099743=:9768"
Content-ID: <alpine.DEB.2.21.2108041056110.9768@sstabellini-ThinkPad-T480s>

  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-1515917732-1628099743=:9768
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.21.2108041056111.9768@sstabellini-ThinkPad-T480s>

CCing people working on Xen+VirtIO and IOREQs. Not trimming the original
email to let them read the full context.

My comments below are related to a potential Xen implementation, not
because it is the only implementation that matters, but because it is
the one I know best.

Also, please see this relevant email thread:
https://marc.info/?l=xen-devel&m=162373754705233&w=2


On Wed, 4 Aug 2021, Alex Bennée wrote:
> Hi,
> 
> One of the goals of Project Stratos is to enable hypervisor agnostic
> backends so we can enable as much re-use of code as possible and avoid
> repeating ourselves. This is the flip side of the front end where
> multiple front-end implementations are required - one per OS, assuming
> you don't just want Linux guests. The resultant guests are trivially
> movable between hypervisors modulo any abstracted paravirt type
> interfaces.
> 
> In my original thumb nail sketch of a solution I envisioned vhost-user
> daemons running in a broadly POSIX like environment. The interface to
> the daemon is fairly simple requiring only some mapped memory and some
> sort of signalling for events (on Linux this is eventfd). The idea was a
> stub binary would be responsible for any hypervisor specific setup and
> then launch a common binary to deal with the actual virtqueue requests
> themselves.
> 
> Since that original sketch we've seen an expansion in the sort of ways
> backends could be created. There is interest in encapsulating backends
> in RTOSes or unikernels for solutions like SCMI. There interest in Rust
> has prompted ideas of using the trait interface to abstract differences
> away as well as the idea of bare-metal Rust backends.
> 
> We have a card (STR-12) called "Hypercall Standardisation" which
> calls for a description of the APIs needed from the hypervisor side to
> support VirtIO guests and their backends. However we are some way off
> from that at the moment as I think we need to at least demonstrate one
> portable backend before we start codifying requirements. To that end I
> want to think about what we need for a backend to function.
> 
> Configuration
> =============
> 
> In the type-2 setup this is typically fairly simple because the host
> system can orchestrate the various modules that make up the complete
> system. In the type-1 case (or even type-2 with delegated service VMs)
> we need some sort of mechanism to inform the backend VM about key
> details about the system:
> 
>   - where virt queue memory is in it's address space
>   - how it's going to receive (interrupt) and trigger (kick) events
>   - what (if any) resources the backend needs to connect to
> 
> Obviously you can elide over configuration issues by having static
> configurations and baking the assumptions into your guest images however
> this isn't scalable in the long term. The obvious solution seems to be
> extending a subset of Device Tree data to user space but perhaps there
> are other approaches?
> 
> Before any virtio transactions can take place the appropriate memory
> mappings need to be made between the FE guest and the BE guest.

> Currently the whole of the FE guests address space needs to be visible
> to whatever is serving the virtio requests. I can envision 3 approaches:
> 
>  * BE guest boots with memory already mapped
> 
>  This would entail the guest OS knowing where in it's Guest Physical
>  Address space is already taken up and avoiding clashing. I would assume
>  in this case you would want a standard interface to userspace to then
>  make that address space visible to the backend daemon.
> 
>  * BE guests boots with a hypervisor handle to memory
> 
>  The BE guest is then free to map the FE's memory to where it wants in
>  the BE's guest physical address space.

I cannot see how this could work for Xen. There is no "handle" to give
to the backend if the backend is not running in dom0. So for Xen I think
the memory has to be already mapped and the mapping probably done by the
toolstack (also see below.) Or we would have to invent a new Xen
hypervisor interface and Xen virtual machine privileges to allow this
kind of mapping.

If we run the backend in Dom0 that we have no problems of course.


> To activate the mapping will
>  require some sort of hypercall to the hypervisor. I can see two options
>  at this point:
> 
>   - expose the handle to userspace for daemon/helper to trigger the
>     mapping via existing hypercall interfaces. If using a helper you
>     would have a hypervisor specific one to avoid the daemon having to
>     care too much about the details or push that complexity into a
>     compile time option for the daemon which would result in different
>     binaries although a common source base.
> 
>   - expose a new kernel ABI to abstract the hypercall differences away
>     in the guest kernel. In this case the userspace would essentially
>     ask for an abstract "map guest N memory to userspace ptr" and let
>     the kernel deal with the different hypercall interfaces. This of
>     course assumes the majority of BE guests would be Linux kernels and
>     leaves the bare-metal/unikernel approaches to their own devices.
> 
> Operation
> =========
> 
> The core of the operation of VirtIO is fairly simple. Once the
> vhost-user feature negotiation is done it's a case of receiving update
> events and parsing the resultant virt queue for data. The vhost-user
> specification handles a bunch of setup before that point, mostly to
> detail where the virt queues are set up FD's for memory and event
> communication. This is where the envisioned stub process would be
> responsible for getting the daemon up and ready to run. This is
> currently done inside a big VMM like QEMU but I suspect a modern
> approach would be to use the rust-vmm vhost crate. It would then either
> communicate with the kernel's abstracted ABI or be re-targeted as a
> build option for the various hypervisors.

One thing I mentioned before to Alex is that Xen doesn't have VMMs the
way they are typically envisioned and described in other environments.
Instead, Xen has IOREQ servers. Each of them connects independently to
Xen via the IOREQ interface. E.g. today multiple QEMUs could be used as
emulators for a single Xen VM, each of them connecting to Xen
independently via the IOREQ interface.

The component responsible for starting a daemon and/or setting up shared
interfaces is the toolstack: the xl command and the libxl/libxc
libraries.

Oleksandr and others I CCed have been working on ways for the toolstack
to create virtio backends and setup memory mappings. They might be able
to provide more info on the subject. I do think we miss a way to provide
the configuration to the backend and anything else that the backend
might require to start doing its job.


> One question is how to best handle notification and kicks. The existing
> vhost-user framework uses eventfd to signal the daemon (although QEMU
> is quite capable of simulating them when you use TCG). Xen has it's own
> IOREQ mechanism. However latency is an important factor and having
> events go through the stub would add quite a lot.

Yeah I think, regardless of anything else, we want the backends to
connect directly to the Xen hypervisor.


> Could we consider the kernel internally converting IOREQ messages from
> the Xen hypervisor to eventfd events? Would this scale with other kernel
> hypercall interfaces?
> 
> So any thoughts on what directions are worth experimenting with?
 
One option we should consider is for each backend to connect to Xen via
the IOREQ interface. We could generalize the IOREQ interface and make it
hypervisor agnostic. The interface is really trivial and easy to add.
The only Xen-specific part is the notification mechanism, which is an
event channel. If we replaced the event channel with something else the
interface would be generic. See:
https://gitlab.com/xen-project/xen/-/blob/staging/xen/include/public/hvm/ioreq.h#L52

I don't think that translating IOREQs to eventfd in the kernel is a
good idea: if feels like it would be extra complexity and that the
kernel shouldn't be involved as this is a backend-hypervisor interface.
Also, eventfd is very Linux-centric and we are trying to design an
interface that could work well for RTOSes too. If we want to do
something different, both OS-agnostic and hypervisor-agnostic, perhaps
we could design a new interface. One that could be implementable in the
Xen hypervisor itself (like IOREQ) and of course any other hypervisor
too.


There is also another problem. IOREQ is probably not be the only
interface needed. Have a look at
https://marc.info/?l=xen-devel&m=162373754705233&w=2. Don't we also need
an interface for the backend to inject interrupts into the frontend? And
if the backend requires dynamic memory mappings of frontend pages, then
we would also need an interface to map/unmap domU pages.

These interfaces are a lot more problematic than IOREQ: IOREQ is tiny
and self-contained. It is easy to add anywhere. A new interface to
inject interrupts or map pages is more difficult to manage because it
would require changes scattered across the various emulators.
--8323329-1515917732-1628099743=:9768--


From xen-devel-bounces@lists.xenproject.org Wed Aug 04 19:27:34 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 19:27:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164002.300183 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBMY5-0002eJ-Lx; Wed, 04 Aug 2021 19:27:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164002.300183; Wed, 04 Aug 2021 19: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 1mBMY5-0002eC-IT; Wed, 04 Aug 2021 19:27:29 +0000
Received: by outflank-mailman (input) for mailman id 164002;
 Wed, 04 Aug 2021 19:27:27 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ejHH=M3=intel.com=dave.hansen@srs-us1.protection.inumbo.net>)
 id 1mBMY3-0002e6-Ly
 for xen-devel@lists.xenproject.org; Wed, 04 Aug 2021 19:27:27 +0000
Received: from mga07.intel.com (unknown [134.134.136.100])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 616f6851-f44b-4aed-b34d-04158d15e1e0;
 Wed, 04 Aug 2021 19:27:24 +0000 (UTC)
Received: from fmsmga005.fm.intel.com ([10.253.24.32])
 by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 04 Aug 2021 12:27:22 -0700
Received: from cmalmber-mobl1.amr.corp.intel.com (HELO [10.212.219.120])
 ([10.212.219.120])
 by fmsmga005-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 04 Aug 2021 12:27:18 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 616f6851-f44b-4aed-b34d-04158d15e1e0
X-IronPort-AV: E=McAfee;i="6200,9189,10066"; a="277752910"
X-IronPort-AV: E=Sophos;i="5.84,295,1620716400"; 
   d="scan'208";a="277752910"
X-IronPort-AV: E=Sophos;i="5.84,295,1620716400"; 
   d="scan'208";a="671072064"
Subject: Re: [PATCH V2 03/14] x86/set_memory: Add x86_set_memory_enc static
 call support
To: Tianyu Lan <ltykernel@gmail.com>, kys@microsoft.com,
 haiyangz@microsoft.com, sthemmin@microsoft.com, wei.liu@kernel.org,
 decui@microsoft.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
 x86@kernel.org, hpa@zytor.com, dave.hansen@linux.intel.com, luto@kernel.org,
 peterz@infradead.org, konrad.wilk@oracle.com, boris.ostrovsky@oracle.com,
 jgross@suse.com, sstabellini@kernel.org, joro@8bytes.org, will@kernel.org,
 davem@davemloft.net, kuba@kernel.org, jejb@linux.ibm.com,
 martin.petersen@oracle.com, arnd@arndb.de, hch@lst.de,
 m.szyprowski@samsung.com, robin.murphy@arm.com, Tianyu.Lan@microsoft.com,
 rppt@kernel.org, kirill.shutemov@linux.intel.com, akpm@linux-foundation.org,
 brijesh.singh@amd.com, thomas.lendacky@amd.com, pgonda@google.com,
 david@redhat.com, krish.sadhukhan@oracle.com, saravanand@fb.com,
 aneesh.kumar@linux.ibm.com, xen-devel@lists.xenproject.org,
 martin.b.radev@gmail.com, ardb@kernel.org, rientjes@google.com,
 tj@kernel.org, keescook@chromium.org, michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org, linux-arch@vger.kernel.org,
 linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
 linux-scsi@vger.kernel.org, netdev@vger.kernel.org, vkuznets@redhat.com,
 parri.andrea@gmail.com
References: <20210804184513.512888-1-ltykernel@gmail.com>
 <20210804184513.512888-4-ltykernel@gmail.com>
From: Dave Hansen <dave.hansen@intel.com>
Autocrypt: addr=dave.hansen@intel.com; keydata=
 xsFNBE6HMP0BEADIMA3XYkQfF3dwHlj58Yjsc4E5y5G67cfbt8dvaUq2fx1lR0K9h1bOI6fC
 oAiUXvGAOxPDsB/P6UEOISPpLl5IuYsSwAeZGkdQ5g6m1xq7AlDJQZddhr/1DC/nMVa/2BoY
 2UnKuZuSBu7lgOE193+7Uks3416N2hTkyKUSNkduyoZ9F5twiBhxPJwPtn/wnch6n5RsoXsb
 ygOEDxLEsSk/7eyFycjE+btUtAWZtx+HseyaGfqkZK0Z9bT1lsaHecmB203xShwCPT49Blxz
 VOab8668QpaEOdLGhtvrVYVK7x4skyT3nGWcgDCl5/Vp3TWA4K+IofwvXzX2ON/Mj7aQwf5W
 iC+3nWC7q0uxKwwsddJ0Nu+dpA/UORQWa1NiAftEoSpk5+nUUi0WE+5DRm0H+TXKBWMGNCFn
 c6+EKg5zQaa8KqymHcOrSXNPmzJuXvDQ8uj2J8XuzCZfK4uy1+YdIr0yyEMI7mdh4KX50LO1
 pmowEqDh7dLShTOif/7UtQYrzYq9cPnjU2ZW4qd5Qz2joSGTG9eCXLz5PRe5SqHxv6ljk8mb
 ApNuY7bOXO/A7T2j5RwXIlcmssqIjBcxsRRoIbpCwWWGjkYjzYCjgsNFL6rt4OL11OUF37wL
 QcTl7fbCGv53KfKPdYD5hcbguLKi/aCccJK18ZwNjFhqr4MliQARAQABzShEYXZpZCBDaHJp
 c3RvcGhlciBIYW5zZW4gPGRhdmVAc3I3MS5uZXQ+wsF7BBMBAgAlAhsDBgsJCAcDAgYVCAIJ
 CgsEFgIDAQIeAQIXgAUCTo3k0QIZAQAKCRBoNZUwcMmSsMO2D/421Xg8pimb9mPzM5N7khT0
 2MCnaGssU1T59YPE25kYdx2HntwdO0JA27Wn9xx5zYijOe6B21ufrvsyv42auCO85+oFJWfE
 K2R/IpLle09GDx5tcEmMAHX6KSxpHmGuJmUPibHVbfep2aCh9lKaDqQR07gXXWK5/yU1Dx0r
 VVFRaHTasp9fZ9AmY4K9/BSA3VkQ8v3OrxNty3OdsrmTTzO91YszpdbjjEFZK53zXy6tUD2d
 e1i0kBBS6NLAAsqEtneplz88T/v7MpLmpY30N9gQU3QyRC50jJ7LU9RazMjUQY1WohVsR56d
 ORqFxS8ChhyJs7BI34vQusYHDTp6PnZHUppb9WIzjeWlC7Jc8lSBDlEWodmqQQgp5+6AfhTD
 kDv1a+W5+ncq+Uo63WHRiCPuyt4di4/0zo28RVcjtzlGBZtmz2EIC3vUfmoZbO/Gn6EKbYAn
 rzz3iU/JWV8DwQ+sZSGu0HmvYMt6t5SmqWQo/hyHtA7uF5Wxtu1lCgolSQw4t49ZuOyOnQi5
 f8R3nE7lpVCSF1TT+h8kMvFPv3VG7KunyjHr3sEptYxQs4VRxqeirSuyBv1TyxT+LdTm6j4a
 mulOWf+YtFRAgIYyyN5YOepDEBv4LUM8Tz98lZiNMlFyRMNrsLV6Pv6SxhrMxbT6TNVS5D+6
 UorTLotDZKp5+M7BTQRUY85qARAAsgMW71BIXRgxjYNCYQ3Xs8k3TfAvQRbHccky50h99TUY
 sqdULbsb3KhmY29raw1bgmyM0a4DGS1YKN7qazCDsdQlxIJp9t2YYdBKXVRzPCCsfWe1dK/q
 66UVhRPP8EGZ4CmFYuPTxqGY+dGRInxCeap/xzbKdvmPm01Iw3YFjAE4PQ4hTMr/H76KoDbD
 cq62U50oKC83ca/PRRh2QqEqACvIH4BR7jueAZSPEDnzwxvVgzyeuhwqHY05QRK/wsKuhq7s
 UuYtmN92Fasbxbw2tbVLZfoidklikvZAmotg0dwcFTjSRGEg0Gr3p/xBzJWNavFZZ95Rj7Et
 db0lCt0HDSY5q4GMR+SrFbH+jzUY/ZqfGdZCBqo0cdPPp58krVgtIGR+ja2Mkva6ah94/oQN
 lnCOw3udS+Eb/aRcM6detZr7XOngvxsWolBrhwTQFT9D2NH6ryAuvKd6yyAFt3/e7r+HHtkU
 kOy27D7IpjngqP+b4EumELI/NxPgIqT69PQmo9IZaI/oRaKorYnDaZrMXViqDrFdD37XELwQ
 gmLoSm2VfbOYY7fap/AhPOgOYOSqg3/Nxcapv71yoBzRRxOc4FxmZ65mn+q3rEM27yRztBW9
 AnCKIc66T2i92HqXCw6AgoBJRjBkI3QnEkPgohQkZdAb8o9WGVKpfmZKbYBo4pEAEQEAAcLB
 XwQYAQIACQUCVGPOagIbDAAKCRBoNZUwcMmSsJeCEACCh7P/aaOLKWQxcnw47p4phIVR6pVL
 e4IEdR7Jf7ZL00s3vKSNT+nRqdl1ugJx9Ymsp8kXKMk9GSfmZpuMQB9c6io1qZc6nW/3TtvK
 pNGz7KPPtaDzvKA4S5tfrWPnDr7n15AU5vsIZvgMjU42gkbemkjJwP0B1RkifIK60yQqAAlT
 YZ14P0dIPdIPIlfEPiAWcg5BtLQU4Wg3cNQdpWrCJ1E3m/RIlXy/2Y3YOVVohfSy+4kvvYU3
 lXUdPb04UPw4VWwjcVZPg7cgR7Izion61bGHqVqURgSALt2yvHl7cr68NYoFkzbNsGsye9ft
 M9ozM23JSgMkRylPSXTeh5JIK9pz2+etco3AfLCKtaRVysjvpysukmWMTrx8QnI5Nn5MOlJj
 1Ov4/50JY9pXzgIDVSrgy6LYSMc4vKZ3QfCY7ipLRORyalFDF3j5AGCMRENJjHPD6O7bl3Xo
 4DzMID+8eucbXxKiNEbs21IqBZbbKdY1GkcEGTE7AnkA3Y6YB7I/j9mQ3hCgm5muJuhM/2Fr
 OPsw5tV/LmQ5GXH0JQ/TZXWygyRFyyI2FqNTx4WHqUn3yFj8rwTAU1tluRUYyeLy0ayUlKBH
 ybj0N71vWO936MqP6haFERzuPAIpxj2ezwu0xb1GjTk4ynna6h5GjnKgdfOWoRtoWndMZxbA
 z5cecg==
Message-ID: <5823af8a-7dbb-dbb0-5ea2-d9846aa2a36a@intel.com>
Date: Wed, 4 Aug 2021 12:27:15 -0700
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.10.0
MIME-Version: 1.0
In-Reply-To: <20210804184513.512888-4-ltykernel@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 8bit

On 8/4/21 11:44 AM, Tianyu Lan wrote:
> +static int default_set_memory_enc(unsigned long addr, int numpages, bool enc);
> +DEFINE_STATIC_CALL(x86_set_memory_enc, default_set_memory_enc);
> +
>  #define CPA_FLUSHTLB 1
>  #define CPA_ARRAY 2
>  #define CPA_PAGES_ARRAY 4
> @@ -1981,6 +1985,11 @@ int set_memory_global(unsigned long addr, int numpages)
>  }
>  
>  static int __set_memory_enc_dec(unsigned long addr, int numpages, bool enc)
> +{
> +	return static_call(x86_set_memory_enc)(addr, numpages, enc);
> +}
> +
> +static int default_set_memory_enc(unsigned long addr, int numpages, bool enc)
>  {
>  	struct cpa_data cpa;
>  	int ret;

It doesn't make a lot of difference to add this infrastructure and then
ignore it for the existing in-tree user:

> static int __set_memory_enc_dec(unsigned long addr, int numpages, bool enc)
> {
>         struct cpa_data cpa;
>         int ret;
> 
>         /* Nothing to do if memory encryption is not active */
>         if (!mem_encrypt_active())
>                 return 0;

Shouldn't the default be to just "return 0"?  Then on
mem_encrypt_active() systems, do the bulk of what is in
__set_memory_enc_dec() today.



From xen-devel-bounces@lists.xenproject.org Wed Aug 04 19:58:53 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 19:58:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164011.300196 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBN2N-0005j6-2V; Wed, 04 Aug 2021 19:58:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164011.300196; Wed, 04 Aug 2021 19: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 1mBN2M-0005iz-VK; Wed, 04 Aug 2021 19:58:46 +0000
Received: by outflank-mailman (input) for mailman id 164011;
 Wed, 04 Aug 2021 19: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 1mBN2M-0005ip-AW; Wed, 04 Aug 2021 19: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 1mBN2M-0006ns-4C; Wed, 04 Aug 2021 19: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 1mBN2L-0005YS-OX; Wed, 04 Aug 2021 19:58:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mBN2L-0002yg-O1; Wed, 04 Aug 2021 19: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=cWKgDDnFFGHor0OacdVNCnzpluMzkAy27b54evtnO/o=; b=x4n0qtg3H8n1aYBOJt/3ezMdzJ
	GT9HgHP7tvt7pw6cV5pgrr+Keaw4fEw3WnFPuO/KZLCvf/snsc3qJvya1iic6FknhodkCSOJuAl6o
	wJ4CmjxdSAXF3MldVZh4I2cGnVofL2i7sSKm2ThWjsT/ZZqKVqiUaYQHUnf0aMjm2oUo=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164100-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164100: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:heisenbug
    linux-linus:test-amd64-amd64-examine:memdisk-try-append:fail:heisenbug
    linux-linus:test-amd64-amd64-qemuu-freebsd11-amd64:guest-start/freebsd.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=d5ad8ec3cfb56a017de6a784835666475b4be349
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 04 Aug 2021 19:58:45 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop              fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 20 guest-stop               fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  14 guest-start    fail in 164096 REGR. vs. 152332

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt-raw  8 xen-boot         fail in 164096 pass in 164100
 test-arm64-arm64-xl-credit2  13 debian-fixup               fail pass in 164096
 test-amd64-amd64-examine      4 memdisk-try-append         fail pass in 164096
 test-amd64-amd64-qemuu-freebsd11-amd64 21 guest-start/freebsd.repeat fail pass in 164096

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

version targeted for testing:
 linux                d5ad8ec3cfb56a017de6a784835666475b4be349
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  369 days
Failing since        152366  2020-08-01 20:49:34 Z  367 days  639 attempts
Testing same since   164096  2021-08-03 18:42:33 Z    1 days    2 attempts

------------------------------------------------------------
6752 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              fail    
 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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Wed Aug 04 20:56:58 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 20:56:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164023.300211 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBNwP-0002vN-J8; Wed, 04 Aug 2021 20:56:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164023.300211; Wed, 04 Aug 2021 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 1mBNwP-0002vG-Fy; Wed, 04 Aug 2021 20:56:41 +0000
Received: by outflank-mailman (input) for mailman id 164023;
 Wed, 04 Aug 2021 20:56:39 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=v2HM=M3=gmail.com=olekstysh@srs-us1.protection.inumbo.net>)
 id 1mBNwN-0002vA-LN
 for xen-devel@lists.xenproject.org; Wed, 04 Aug 2021 20:56:39 +0000
Received: from mail-lf1-x12f.google.com (unknown [2a00:1450:4864:20::12f])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id af0c8e26-e919-414f-8a9c-0ef5296104e2;
 Wed, 04 Aug 2021 20:56:36 +0000 (UTC)
Received: by mail-lf1-x12f.google.com with SMTP id b6so6675454lff.10
 for <xen-devel@lists.xenproject.org>; Wed, 04 Aug 2021 13:56:36 -0700 (PDT)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id f6sm297197lfv.183.2021.08.04.13.56.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Aug 2021 13:56: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: af0c8e26-e919-414f-8a9c-0ef5296104e2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:from:to:cc:references:message-id:date:user-agent
         :mime-version:in-reply-to:content-transfer-encoding:content-language;
        bh=2+qlZf8Z79jxB9DBuiCwRYgSonBVk1Sh5+pSUXZTd5s=;
        b=D5Ex663L/wnzVk+rZYIpkGRNmBF/esp+VHYKhCjMqa/80mobk6M7TgZ5SwYHbwCa0s
         r+j4cLmV7Q9V1SqBGT3ddw5TgsRmoESbMlFr9+mVrCSbK0H5R0UZhJAQ3pO6IN9GtGpm
         M0liftnzSGgXPMFl3OB3svpeYtuJlZVAo0NFKkRVbMOVniZ3Jl+qHR4tK1rFSdJTT780
         D1X/Q96JVwwkhBKv01bniumj52TxjCn5u/kapc/wXLCk7ndDXiI69EKTNRFpC4wDYEW2
         vW1o6pN9mzYwRkRyavtcYnsJz/tpx92EwpGFAJGfqlXwL74/vG/fvDOyRUnc+5q5OU+T
         tVsQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:from:to:cc:references:message-id:date
         :user-agent:mime-version:in-reply-to:content-transfer-encoding
         :content-language;
        bh=2+qlZf8Z79jxB9DBuiCwRYgSonBVk1Sh5+pSUXZTd5s=;
        b=DDidVvXgXr9a7JzPIK3h54Yda2/vnxH/D1nHx9T697TCy8cdiHNnAys/viah/NzO39
         KQocg0GgrkvpfC5LWy/HZFHP0ElZywGmdrabE17Mj1Tv9Yid0nq4otvzf6U4cy/atHLH
         3b27+4RtkT6bSK+lvzYd81voRJ7TtsYDjZnZb0xPS8FUurYGqW+X2qKa6P88OoPjTEO1
         +lkuLeC/EGfxBXZwGX+UbAWNf89Z5kLTj3e0a2d6EBCD/zGYzmOev34EvlWZPK3ydXkG
         ngomeUgFeZr5ox4k5Iz7g4qXjNw/wsKi2vn6a95gbSrSaZR4eOaTmh2c2Y4AwbsWNh8A
         RVEQ==
X-Gm-Message-State: AOAM530O9WptOeJzwDaKUHA0OgvJtgLM4BxdLKQzDpd9dRIA/wLu5F+S
	2WciOi8vbtyZfmejgYhENSo=
X-Google-Smtp-Source: ABdhPJzjpzSKeEVgHTBP83ExPREdRL2vaea5xl1VF/5ZVZu1Bu+gg9wkXVKFarz6bbF2N8dWo7Hbqw==
X-Received: by 2002:a05:6512:926:: with SMTP id f6mr813666lft.18.1628110595319;
        Wed, 04 Aug 2021 13:56:35 -0700 (PDT)
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
From: Oleksandr <olekstysh@gmail.com>
To: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel@lists.xenproject.org,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <80fafc01-f063-d6e5-1c08-7ad64550310c@citrix.com>
 <e8db3021-78a5-e040-a70b-62ca5b500149@xen.org>
 <4de5ed21-379e-b618-44c8-924d88b1a519@citrix.com>
 <bbc7f597-5249-20a0-cac9-13f594268299@xen.org>
 <6a633f4e-13e0-4a2b-cf6e-35ef90ae977c@gmail.com>
 <alpine.DEB.2.21.2107301630510.10122@sstabellini-ThinkPad-T480s>
 <f6b2e6c6-bf58-960f-4a09-f05ebcf1f566@gmail.com>
Message-ID: <5643d414-0b76-74a4-2c37-c7a99338d547@gmail.com>
Date: Wed, 4 Aug 2021 23:56:33 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.10.0
MIME-Version: 1.0
In-Reply-To: <f6b2e6c6-bf58-960f-4a09-f05ebcf1f566@gmail.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US


Hi Julien, Stefano.


On 02.08.21 22:12, Oleksandr wrote:
>
> Hi Stefano,
>
>
> Thank you for the comments and ideas.
>
>
> On 31.07.21 02:57, Stefano Stabellini wrote:
>> On Fri, 30 Jul 2021, Oleksandr wrote:
>>> Hi Andrew, Julien.
>>>
>>>
>>> @Andrew, I think that arguments you provided in your first answer 
>>> (why the
>>> proposed solution is a potentially racy and not a safe) are valid and
>>> reasonable.
>>> Thanks for the feedback.
>>>
>>>
>>> On 28.07.21 22:53, Julien Grall wrote:
>>>>
>>>> On 28/07/2021 20:00, Andrew Cooper wrote:
>>>>> On 28/07/2021 18:27, Julien Grall wrote:
>>>>>> Hi Andrew,
>>>>>>
>>>>>> On 28/07/2021 18:19, Andrew Cooper wrote:
>>>>>>> On 28/07/2021 17:18, Oleksandr Tyshchenko wrote:
>>>>>>>> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>>>>>>>
>>>>>>>> Add XENMEM_get_unallocated_space hypercall which purpose is to
>>>>>>>> query hypervisor to find regions of guest physical address space
>>>>>>>> which are unused and can be used to create grant/foreign mappings
>>>>>>>> instead of wasting real pages from the domain memory for
>>>>>>>> establishing these mappings. The problem with the current Linux
>>>>>>>> on Xen on Arm behaviour is if we want to map some guest memory
>>>>>>>> regions in advance or to perform cache mappings in the backend
>>>>>>>> we might run out of memory in the host (see XSA-300).
>>>>>>>> This of course, depends on the both host and guest memory sizes.
>>>>>>>>
>>>>>>>> The "unallocated space" can't be figured out precisely by
>>>>>>>> the domain on Arm without hypervisor involvement:
>>>>>>>> - not all device I/O regions are known by the time domain starts
>>>>>>>>      creating grant/foreign mappings
>>>>>>>> - the Dom0 is not aware of memory regions used for the identity
>>>>>>>>      mappings needed for the PV drivers to work
>>>>>>>> In both cases we might end up re-using these regions by
>>>>>>>> a mistake. So, the hypervisor which maintains the P2M for the 
>>>>>>>> domain
>>>>>>>> is in the best position to provide "unallocated space".
>>>>>>> I'm afraid this does not improve the situation.
>>>>>>>
>>>>>>> If a guest follows the advice from XENMEM_get_unallocated_space, 
>>>>>>> and
>>>>>>> subsequently a new IO or identity region appears, everything will
>>>>>>> explode, because the "safe area" wasn't actually safe.
>>>>>>>
>>>>>>> The safe range *must* be chosen by the toolstack, because 
>>>>>>> nothing else
>>>>>>> can do it safely or correctly.
>>>>>> The problem is how do you size it? In particular, a backend may map
>>>>>> multiple time the same page (for instance if the page is granted 
>>>>>> twice).
>>>>> The number of mapped grants is limited by the size of the maptrack 
>>>>> table
>>>>> in Xen, which is a toolstack input to the domaincreate hypercall.
>>>>> Therefore, the amount of space required is known and bounded.
>>>>>
>>>>> There are a handful of other frames required in the current ABI 
>>>>> (shared
>>>>> info, vcpu info, etc).
>>>>>
>>>>> The areas where things do become fuzzy is things like foreign 
>>>>> mappings,
>>>>> acquire_resource, etc for the control domain, which are effectively
>>>>> unbounded from the domain's point of view.
>>>>>
>>>>> For those, its entirely fine to say "here 128G of safe mapping 
>>>>> space" or
>>>>> so.  Even the quantity of mapping dom0 can make is limited by the 
>>>>> shadow
>>>>> memory pool and the number of pagetables Xen is willing to expend 
>>>>> on the
>>>>> second stage translation tables.
>>>> FWIW, on Arm, we don't have shadow memory pool.
>>>>
>>>> Anyway, it should be possible to give a 128GB "safe range" and let 
>>>> Xen deal
>>>> with it.
>>>>
>>>>>>> Once a safe range (or ranges) has been chosen, any subsequent 
>>>>>>> action
>>>>>>> which overlaps with the ranges must be rejected, as it will violate
>>>>>>> the
>>>>>>> guarantees provided.
>>>>>>>
>>>>>>> Furthermore, the ranges should be made available to the guest via
>>>>>>> normal
>>>>>>> memory map means.  On x86, this is via the E820 table, and on ARM I
>>>>>>> presume the DTB.  There is no need for a new hypercall.
>>>>>> Device-Tree only works if you have a guest using it. How about ACPI?
>>>>> ACPI inherits E820 from x86 (its a trivial format), and UEFI was also
>>>>> based on it.
>>>>>
>>>>> But whichever...  All firmware interfaces have a memory map.
>>>> This will be UEFI memory map. However, I am a bit confused how we 
>>>> can tell
>>>> the OS the region will be used for grant/foreign mapping. Is it 
>>>> possible to
>>>> reserved a new type?
>>>>
>>>>>> To me the hypercall solution at least:
>>>>>>     1) Avoid to have to define the region on every single 
>>>>>> firmware table
>>>>> There is only ever one.
>>>> Why? I could forsee an interest to use the host memory map and 
>>>> therefore we
>>>> may need to find a few holes for safe regions to use.
>>>>
>>>>>>     2) Allow to easily extend after the guest run
>>>>> The safe ranges can't be changed (safely).  This is the same 
>>>>> problem as
>>>>> needing to know things like your PCI apertures ahead of time, or 
>>>>> where
>>>>> the DIMM hotplug regions are.
>>>>>
>>>>> Having the guest physmap be actually dynamic is the cause of so many
>>>>> bugs (inc security) and misfeatures in Xen.  Guests cannot and do no
>>>>> cope with things being fully dynamic, because that's not how real
>>>>> hardware works.  What you get is layers and layers of breakage on 
>>>>> top of
>>>>> each other, rather than a working system.
>>>> I would not call it "fully dynamic". Xen can easily know whether a 
>>>> region
>>>> has ever be allocated before. So long the region has never been 
>>>> allocated,
>>>> then it should be fine. In fact...
>>>>
>>>>> The size of mapping space is a limit, just like maxphysaddr, or 
>>>>> the PCI
>>>>> apertures, or MMCFG space, etc.  You can make it large by default 
>>>>> (as it
>>>>> doesn't consume resource when not being used), but any guest OS isn't
>>>>> going to tolerate it morphing during runtime.
>>>> ... I believe the OS may be not aware of the hotplug region until 
>>>> it is
>>>> actually used.
>>>>
>>>> Anyway, I suggested this approach a few months ago to Oleksandr 
>>>> (see [1])
>>>> which BTW you were CCed on ;). My take was that Xen knows about the
>>>> unallocated space and therefore can make an informed decision 
>>>> without having
>>>> to allocate insanely large region.
>>>>
>>>> Now if you think that's fine (IIRC Stefano had a preference for 
>>>> that as
>>>> well). Then we can use the firmware table (assuming we can solve 
>>>> the ACPI
>>>> question).
>>>
>>> Well, if new hypercall and, what is more, "the querying hypervisor 
>>> at runtime
>>> to find unused space" model itself is not welcome, I am ok, let's 
>>> try to
>>> create a working system,
>>> may we please find a common ground to move this forward (at least on 
>>> Arm for
>>> now, the foreign mapping is the most important question).
>>>
>>> I got the proposed idea in general, but I haven't connected all dots 
>>> yet, some
>>> points need clarification.
>>>
>>> 1. The safe range must be defined/allocated in advance and must 
>>> remain const
>>> during the runtime. The safe range must be chosen by the toolstack.
>>> [For the initial implementation we can start with some large value 
>>> (128GB) as
>>> discussed above]
>>>
>>> Questions:
>>>
>>> - Do we need to inform Xen about that range (via domain_create 
>>> hypercall,
>>> etc)?
>>> - What will be in charge of guaranteeing the safety of that range at 
>>> runtime
>>> (reject new mapping requests with possible overlaps, etc), Xen, 
>>> toolstack or
>>> both?
>>> - Where that range should be located in guest address space, should 
>>> that range
>>> be the same for all domains (how GUEST_GNTTAB_BASE(SIZE) for example)
>>> or it should be calculated based on actual guest_ram_base(size) for a
>>> particular domain?
>>> - What about a safe range the Dom0 can use itself? Xen should choose 
>>> it for
>>> Dom0 the same way how toolstack chooses it for other domains, correct?
>> Brainstorming an idea to answer some of these questions.
>>
>> Xen needs to be able to choose a safe range without the toolstack's help
>> at least for dom0 and dom0less guests.
>
> Completely agree.
>
>
>> Could we just have Xen choose the
>> safe range for all domains?
>
> As I understand, the region info (base, size) should be known to 
> whoever generates firmware tables (DTB) for the domain in order to 
> insert that range.
> So, in case if Xen chooses that range, it should be queried by the 
> toolstack anyway (either by new domctl or extending existing one which 
> context would fit).
> This adds some complexity.
>
>
>>
>> Could it be just as simple as choosing a range 1GB-aligned above
>> whatever is the highest address previously allocated for memory, MMIO,
>> whatever?
> Probably, we could choose a range above max mapped gpfn at the domain 
> creation time.
> Currently, we are dealing with platform devices only on Arm and all IO 
> are known in advance, so no new IO are expected at runtime.
> But, what to do when hotplug comes into play (and new conflicting IO 
> might just appear)? On the other side, we might be faced with the same 
> problem,
> if we used a predefined static range. With both options (calculated 
> and predefined range) we would need to deny any new conflicting mapping.
>
>
>>
>> We could also have the toolstack provide the info but I wonder if we can
>> get away without it.
>
> I may not see all pitfalls here, but it seems that having the same 
> predefined range for all domains would simplify things.
> On Arm we have the following:
>
> #define GUEST_RAM1_BASE   xen_mk_ullong(0x0200000000) /* 1016GB of RAM 
> @ 8GB */
> #define GUEST_RAM1_SIZE   xen_mk_ullong(0xfe00000000)
>
> Now I am wondering, can we limit the GUEST_RAM1_SIZE by 128GB for 
> example in order to reserve a range at the end, would this be acceptable?
> So, both Xen and toolstack would see that definition and would be able 
> to insert a range to the generated DTB, Xen's P2M code would be in 
> change of keeping that range in a safe state.
>
>>> 2. The safe range must be provided to domain using the firmware table.
>>> [We can start with the DTB and leave ACPI unimplemented for now, 
>>> assuming we
>>> will be able to solve open questions as discussed above]
>>>
>>> Questions:
>>>
>>> - Do we need distinguish between foreign and grant mappings at the 
>>> domain side
>>> at all? Can the same safe range be used for all types of mapping?
>> This is a good question. I can't think of a reason why we would need to
>> distinguish between the two from Xen's point of view. Would it make
>> the Linux implementation easier if we distinguished them?
> I may mistake, but I don't think it would make the Linux 
> implementation easier, both foreign and grants mappings result in same 
> action which is xen_alloc_unpopulated_pages (or 
> alloc_xenballooned_pages).
> For both mappings the problem with wasting real domain memory on Arm 
> is actual at the moment, although with foreign mapping
> for the device emulator use case it becomes more evident.
>
>
>
>>
>>
>>> - How will domain recognize what range can be used for foreign/grant 
>>> mappings?
>>> Do we need to introduce new device-tree bindings for describing the 
>>> range
>>> or it is possible to re-use current bindings (expand the "reg" 
>>> property under
>>> "hypervisor" node, currently it contains gnttab region)?
>> Do we need a struct page* for the range? We needed it in the past and it
>> is the reason why we currenly use ballooned-out pages: they have a
>> proper struct page* associated with them. pte_special() caused problems.
>> So, continuing with the assumption that we need a struct page*, then the
>> range needs to be advertised as "memory" to the DomU (part to of the
>> /memory node). But we can reserve the range for foreign/grant-mapping
>> use by adding a reserved-memory binding for it. If we go down this
>> route, we should add a new binding as I don't think we should reuse
>> reserved-memory/xen,shared-memory.txt. It would be very simply to add,
>> just follow the model of xen,shared-memory.txt. (Note that just because
>> the range is part of the DomU /memory node, it doesn't mean it needs to
>> be backed by real memory.)
>>
>> If we don't need a struct page* then we can do something different using
>> bus ranges and/or MMIO regions.
>
> Yes, we need struct page* for the each pfn in the range. But, I think, 
> this can be achieved even without describing the range as a part of 
> memory/reserved-memory nodes. Fortunately, the Linux ZONE_DEVICE facility
> can help with that, actually the "unpopulated-alloc" is based on this 
> feature, please see drivers/xen/unpopulated-alloc.c:fill_list()
> and 
> https://lore.kernel.org/lkml/1627490656-1267-2-git-send-email-olekstysh@gmail.com/ 
> for details.


I have done some experiments with Xen and toolstack according to the 
discussion above. So, I re-used DTB to pass a safe range to the domain. 
For the range I borrowed some space from the second RAM bank.

-#define GUEST_RAM1_BASE   xen_mk_ullong(0x0200000000) /* 1016GB of RAM 
@ 8GB */
-#define GUEST_RAM1_SIZE   xen_mk_ullong(0xfe00000000)
+#define GUEST_RAM1_BASE   xen_mk_ullong(0x0200000000) /* 888GB of RAM @ 
8GB */
+#define GUEST_RAM1_SIZE   xen_mk_ullong(0xDE00000000)
+
+#define GUEST_SAFE_RANGE_BASE   xen_mk_ullong(0xDE00000000) /* 128GB */
+#define GUEST_SAFE_RANGE_SIZE   xen_mk_ullong(0x0200000000)

While the possible new DT bindings has not been agreed yet, I re-used 
existing "reg" property under the hypervisor node to pass safe range as 
a second region,
https://elixir.bootlin.com/linux/v5.14-rc4/source/Documentation/devicetree/bindings/arm/xen.txt#L10:


--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -735,9 +735,11 @@ static int make_hypervisor_node(libxl__gc *gc, void 
*fdt,
                                "xen,xen");
      if (res) return res;

-    /* reg 0 is grant table space */milat
+    /* reg 0 is grant table space, reg 1 is safe range */
      res = fdt_property_regs(gc, fdt, GUEST_ROOT_ADDRESS_CELLS, 
GUEST_ROOT_SIZE_CELLS,
-                            1,GUEST_GNTTAB_BASE, GUEST_GNTTAB_SIZE);
+                            2,
+                            GUEST_GNTTAB_BASE, GUEST_GNTTAB_SIZE,
+                            GUEST_SAFE_RANGE_BASE, GUEST_SAFE_RANGE_SIZE);
      if (res) return res;

      /*


/* Resulting hypervisor node */

  hypervisor {
                 interrupts = <0x01 0x0f 0xf08>;
                 interrupt-parent = <0xfde8>;
                 compatible = "xen,xen-4.16\0xen,xen";
                 reg = <0x00 0x38000000 0x00 0x1000000 0xde 0x00 0x02 0x00>;
  };


Near the same I did for the Xen itself to insert a range for Dom0. The 
Linux side change is just to retrieve a range from DTB instead of 
issuing a hypercall.

Sorry, I might miss some important bits here, but from what I wrote 
about the "reg" purpose, it seems it could be suitable for us, why 
actually not? Why do we need yet another binding?
I noticed, Linux on Arm doesn't use it at all, probably it is used by 
other OSes, I don't know.

Now, I am wondering, would it be possible to update/clarify the current 
"reg" purpose and use it to pass a safe unallocated space for any Xen 
specific mappings (grant, foreign, whatever) instead of just for the 
grant table region. In case, it is not allowed for any reason 
(compatibility PoV, etc), would it be possible to extend a property by 
passing an extra range separately, something similar to how I described 
above?

-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Wed Aug 04 20:57:14 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 20:57:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164030.300223 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBNwv-0003QM-SR; Wed, 04 Aug 2021 20:57:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164030.300223; Wed, 04 Aug 2021 20:57: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 1mBNwv-0003QF-P6; Wed, 04 Aug 2021 20:57:13 +0000
Received: by outflank-mailman (input) for mailman id 164030;
 Wed, 04 Aug 2021 20:57:12 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=K6bJ=M3=kernel.org=sstabellini@srs-us1.protection.inumbo.net>)
 id 1mBNwu-0003Pp-JL
 for xen-devel@lists.xenproject.org; Wed, 04 Aug 2021 20:57:12 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 89b4ab40-f566-11eb-9ba0-12813bfff9fa;
 Wed, 04 Aug 2021 20:57:11 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id 921C460184;
 Wed,  4 Aug 2021 20:57: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: 89b4ab40-f566-11eb-9ba0-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1628110630;
	bh=IxKj1djAsO7gPP13brQolandtSB0sgacEcWaL4IcftA=;
	h=From:To:Cc:Subject:Date:From;
	b=qMdW9/U4UZ2tkkbAhrnPlBHJUpYJev/TjjJWucB7Z8S6slSmeB2r+2YCRgkbnmcI7
	 iCMgRBTIT2Rf/1YD8VcAErm8LbHTluUKfQmrnktrQhe5Gc/qmQ1XkHCzdwM3pcxrkb
	 fGZLntsuCDai4wINIKLHfUlHkfhDHq/meJ/9xGj8mWnV/jCOqJpiH4BkF/lt6P2cTN
	 DNsqCrIUdGa7LkHdG+oqIOKUJjfR7YXJUZxaycdih782T7nw78sVSdmDARvRfElgHb
	 iyF3yeQ2uDqZcmhyAcUmwO6pusVFt4kBpkq8b/oLiBbRcOcdQ/9+1AbQrel2W3kQ8N
	 ZljLukRpdBFHA==
From: Stefano Stabellini <sstabellini@kernel.org>
To: julien@xen.org
Cc: sstabellini@kernel.org,
	xen-devel@lists.xenproject.org,
	Volodymyr_Babchuk@epam.com,
	Bertrand.Marquis@arm.com,
	Stefano Stabellini <stefano.stabellini@xilinx.com>
Subject: [PATCH v3] xen/arm: Do not invalidate the P2M when the PT is shared with the IOMMU
Date: Wed,  4 Aug 2021 13:57:07 -0700
Message-Id: <20210804205707.5092-1-sstabellini@kernel.org>
X-Mailer: git-send-email 2.17.1

Set/Way flushes never work correctly in a virtualized environment.

Our current implementation is based on clearing the valid bit in the p2m
pagetable to track guest memory accesses. This technique doesn't work
when the IOMMU is enabled for the domain and the pagetable is shared
between IOMMU and MMU because it triggers IOMMU faults.

Specifically, p2m_invalidate_root causes IOMMU faults if
iommu_use_hap_pt returns true for the domain.

Add a check in p2m_set_way_flush: if a set/way instruction is used
and iommu_use_hap_pt returns true, rather than failing with obscure
IOMMU faults, inject an undef exception straight away into the guest,
and print a verbose error message to explain the problem.

Also add an ASSERT in p2m_invalidate_root to make sure we don't
inadvertently stumble across this problem again in the future.

Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>

---

Changes in v3:
- shorten in-code comment
- return on a newline in p2m_set_way_flush

Changes in v2:
- improve commit message
- improve in-code comment in p2m.c
- move the warning and undef injection to p2m_set_way_flush
- use gprintk instead of gdprintk
---
 xen/arch/arm/arm64/vsysreg.c |  2 +-
 xen/arch/arm/p2m.c           | 17 ++++++++++++++++-
 xen/arch/arm/vcpreg.c        |  2 +-
 xen/include/asm-arm/p2m.h    |  4 +++-
 4 files changed, 21 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/arm64/vsysreg.c b/xen/arch/arm/arm64/vsysreg.c
index caf17174b8..887266dd46 100644
--- a/xen/arch/arm/arm64/vsysreg.c
+++ b/xen/arch/arm/arm64/vsysreg.c
@@ -106,7 +106,7 @@ void do_sysreg(struct cpu_user_regs *regs,
     case HSR_SYSREG_DCCSW:
     case HSR_SYSREG_DCCISW:
         if ( !hsr.sysreg.read )
-            p2m_set_way_flush(current);
+            p2m_set_way_flush(current, regs, hsr);
         break;
 
     /*
diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index d414c4feb9..eff9a105e7 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -11,6 +11,7 @@
 #include <asm/flushtlb.h>
 #include <asm/guest_walk.h>
 #include <asm/page.h>
+#include <asm/traps.h>
 
 #define MAX_VMID_8_BIT  (1UL << 8)
 #define MAX_VMID_16_BIT (1UL << 16)
@@ -1166,11 +1167,16 @@ static void p2m_invalidate_table(struct p2m_domain *p2m, mfn_t mfn)
 /*
  * Invalidate all entries in the root page-tables. This is
  * useful to get fault on entry and do an action.
+ *
+ * p2m_invalid_root() should not be called when the P2M is shared with
+ * the IOMMU because it will cause IOMMU fault.
  */
 void p2m_invalidate_root(struct p2m_domain *p2m)
 {
     unsigned int i;
 
+    ASSERT(!iommu_use_hap_pt(p2m->domain));
+
     p2m_write_lock(p2m);
 
     for ( i = 0; i < P2M_ROOT_LEVEL; i++ )
@@ -1815,11 +1821,20 @@ void p2m_flush_vm(struct vcpu *v)
  *
  *  - Once the caches are enabled, we stop trapping VM ops.
  */
-void p2m_set_way_flush(struct vcpu *v)
+void p2m_set_way_flush(struct vcpu *v, struct cpu_user_regs *regs,
+                       const union hsr hsr)
 {
     /* This function can only work with the current vCPU. */
     ASSERT(v == current);
 
+    if ( iommu_use_hap_pt(current->domain) )
+    {
+        gprintk(XENLOG_ERR,
+                "The cache should be flushed by VA rather than by set/way.\n");
+        inject_undef_exception(regs, hsr);
+        return;
+    }
+
     if ( !(v->arch.hcr_el2 & HCR_TVM) )
     {
         v->arch.need_flush_to_ram = true;
diff --git a/xen/arch/arm/vcpreg.c b/xen/arch/arm/vcpreg.c
index e3ce56d875..33259c4194 100644
--- a/xen/arch/arm/vcpreg.c
+++ b/xen/arch/arm/vcpreg.c
@@ -232,7 +232,7 @@ void do_cp15_32(struct cpu_user_regs *regs, const union hsr hsr)
     case HSR_CPREG32(DCCSW):
     case HSR_CPREG32(DCCISW):
         if ( !cp32.read )
-            p2m_set_way_flush(current);
+            p2m_set_way_flush(current, regs, hsr);
         break;
 
     /*
diff --git a/xen/include/asm-arm/p2m.h b/xen/include/asm-arm/p2m.h
index 4f8b3b0ec7..6a2108398f 100644
--- a/xen/include/asm-arm/p2m.h
+++ b/xen/include/asm-arm/p2m.h
@@ -7,6 +7,7 @@
 #include <xen/mem_access.h>
 
 #include <asm/current.h>
+#include <asm/hsr.h>
 
 #define paddr_bits PADDR_BITS
 
@@ -272,7 +273,8 @@ void p2m_invalidate_root(struct p2m_domain *p2m);
  */
 int p2m_cache_flush_range(struct domain *d, gfn_t *pstart, gfn_t end);
 
-void p2m_set_way_flush(struct vcpu *v);
+void p2m_set_way_flush(struct vcpu *v, struct cpu_user_regs *regs,
+                       const union hsr hsr);
 
 void p2m_toggle_cache(struct vcpu *v, bool was_enabled);
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 04 21:15:58 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 21:15:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164041.300235 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBOEv-0005nn-GB; Wed, 04 Aug 2021 21:15:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164041.300235; Wed, 04 Aug 2021 21: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 1mBOEv-0005ng-Bh; Wed, 04 Aug 2021 21:15:49 +0000
Received: by outflank-mailman (input) for mailman id 164041;
 Wed, 04 Aug 2021 21:15: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 1mBOEu-0005na-CV
 for xen-devel@lists.xenproject.org; Wed, 04 Aug 2021 21:15: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 1mBOEr-0008Bt-Oe; Wed, 04 Aug 2021 21:15:45 +0000
Received: from 54-240-197-239.amazon.com ([54.240.197.239]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mBOEr-0006xg-Iv; Wed, 04 Aug 2021 21:15: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:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=VCxxqvHm/wQmtCY4W5Wt26CsUtdHlgnZurRu1gjewwQ=; b=sAssqme6cuM6CnuBYjY1wBgJjc
	6iSkW0xbnKcSj4K0QrOyMBil9XftHMzPIyqskl0vmdPvkrK100piNHgq4LCX6BAA5Z16RjfRF+4WF
	Z6hQBVk53yd/07LuyzabSIuR4FsvugJ6YgDrxj6AYHPc+jaQB/06bG3keepI4+DrXDjU=;
Subject: Re: [PATCH v3] xen/arm: Do not invalidate the P2M when the PT is
 shared with the IOMMU
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, Volodymyr_Babchuk@epam.com,
 Bertrand.Marquis@arm.com, Stefano Stabellini <stefano.stabellini@xilinx.com>
References: <20210804205707.5092-1-sstabellini@kernel.org>
From: Julien Grall <julien@xen.org>
Message-ID: <4f944483-7253-4287-bdaf-9aeb29a8cad5@xen.org>
Date: Wed, 4 Aug 2021 22:15:43 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <20210804205707.5092-1-sstabellini@kernel.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 04/08/2021 21:57, Stefano Stabellini wrote:
> Set/Way flushes never work correctly in a virtualized environment.
> 
> Our current implementation is based on clearing the valid bit in the p2m
> pagetable to track guest memory accesses. This technique doesn't work
> when the IOMMU is enabled for the domain and the pagetable is shared
> between IOMMU and MMU because it triggers IOMMU faults.
> 
> Specifically, p2m_invalidate_root causes IOMMU faults if
> iommu_use_hap_pt returns true for the domain.
> 
> Add a check in p2m_set_way_flush: if a set/way instruction is used
> and iommu_use_hap_pt returns true, rather than failing with obscure
> IOMMU faults, inject an undef exception straight away into the guest,
> and print a verbose error message to explain the problem.
> 
> Also add an ASSERT in p2m_invalidate_root to make sure we don't
> inadvertently stumble across this problem again in the future.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>

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

> 
> ---
> 
> Changes in v3:
> - shorten in-code comment
> - return on a newline in p2m_set_way_flush
> 
> Changes in v2:
> - improve commit message
> - improve in-code comment in p2m.c
> - move the warning and undef injection to p2m_set_way_flush
> - use gprintk instead of gdprintk
> ---
>   xen/arch/arm/arm64/vsysreg.c |  2 +-
>   xen/arch/arm/p2m.c           | 17 ++++++++++++++++-
>   xen/arch/arm/vcpreg.c        |  2 +-
>   xen/include/asm-arm/p2m.h    |  4 +++-
>   4 files changed, 21 insertions(+), 4 deletions(-)
> 
> diff --git a/xen/arch/arm/arm64/vsysreg.c b/xen/arch/arm/arm64/vsysreg.c
> index caf17174b8..887266dd46 100644
> --- a/xen/arch/arm/arm64/vsysreg.c
> +++ b/xen/arch/arm/arm64/vsysreg.c
> @@ -106,7 +106,7 @@ void do_sysreg(struct cpu_user_regs *regs,
>       case HSR_SYSREG_DCCSW:
>       case HSR_SYSREG_DCCISW:
>           if ( !hsr.sysreg.read )
> -            p2m_set_way_flush(current);
> +            p2m_set_way_flush(current, regs, hsr);
>           break;
>   
>       /*
> diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
> index d414c4feb9..eff9a105e7 100644
> --- a/xen/arch/arm/p2m.c
> +++ b/xen/arch/arm/p2m.c
> @@ -11,6 +11,7 @@
>   #include <asm/flushtlb.h>
>   #include <asm/guest_walk.h>
>   #include <asm/page.h>
> +#include <asm/traps.h>
>   
>   #define MAX_VMID_8_BIT  (1UL << 8)
>   #define MAX_VMID_16_BIT (1UL << 16)
> @@ -1166,11 +1167,16 @@ static void p2m_invalidate_table(struct p2m_domain *p2m, mfn_t mfn)
>   /*
>    * Invalidate all entries in the root page-tables. This is
>    * useful to get fault on entry and do an action.
> + *
> + * p2m_invalid_root() should not be called when the P2M is shared with
> + * the IOMMU because it will cause IOMMU fault.
>    */
>   void p2m_invalidate_root(struct p2m_domain *p2m)
>   {
>       unsigned int i;
>   
> +    ASSERT(!iommu_use_hap_pt(p2m->domain));
> +
>       p2m_write_lock(p2m);
>   
>       for ( i = 0; i < P2M_ROOT_LEVEL; i++ )
> @@ -1815,11 +1821,20 @@ void p2m_flush_vm(struct vcpu *v)
>    *
>    *  - Once the caches are enabled, we stop trapping VM ops.
>    */
> -void p2m_set_way_flush(struct vcpu *v)
> +void p2m_set_way_flush(struct vcpu *v, struct cpu_user_regs *regs,
> +                       const union hsr hsr)
>   {
>       /* This function can only work with the current vCPU. */
>       ASSERT(v == current);
>   
> +    if ( iommu_use_hap_pt(current->domain) )
> +    {
> +        gprintk(XENLOG_ERR,
> +                "The cache should be flushed by VA rather than by set/way.\n");
> +        inject_undef_exception(regs, hsr);
> +        return;
> +    }
> +
>       if ( !(v->arch.hcr_el2 & HCR_TVM) )
>       {
>           v->arch.need_flush_to_ram = true;
> diff --git a/xen/arch/arm/vcpreg.c b/xen/arch/arm/vcpreg.c
> index e3ce56d875..33259c4194 100644
> --- a/xen/arch/arm/vcpreg.c
> +++ b/xen/arch/arm/vcpreg.c
> @@ -232,7 +232,7 @@ void do_cp15_32(struct cpu_user_regs *regs, const union hsr hsr)
>       case HSR_CPREG32(DCCSW):
>       case HSR_CPREG32(DCCISW):
>           if ( !cp32.read )
> -            p2m_set_way_flush(current);
> +            p2m_set_way_flush(current, regs, hsr);
>           break;
>   
>       /*
> diff --git a/xen/include/asm-arm/p2m.h b/xen/include/asm-arm/p2m.h
> index 4f8b3b0ec7..6a2108398f 100644
> --- a/xen/include/asm-arm/p2m.h
> +++ b/xen/include/asm-arm/p2m.h
> @@ -7,6 +7,7 @@
>   #include <xen/mem_access.h>
>   
>   #include <asm/current.h>
> +#include <asm/hsr.h>
>   
>   #define paddr_bits PADDR_BITS
>   
> @@ -272,7 +273,8 @@ void p2m_invalidate_root(struct p2m_domain *p2m);
>    */
>   int p2m_cache_flush_range(struct domain *d, gfn_t *pstart, gfn_t end);
>   
> -void p2m_set_way_flush(struct vcpu *v);
> +void p2m_set_way_flush(struct vcpu *v, struct cpu_user_regs *regs,
> +                       const union hsr hsr);
>   
>   void p2m_toggle_cache(struct vcpu *v, bool was_enabled);
>   
> 

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 04 22:01:23 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 22:01:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164051.300246 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBOwh-00027o-1J; Wed, 04 Aug 2021 22:01:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164051.300246; Wed, 04 Aug 2021 22:01:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBOwg-00027h-UY; Wed, 04 Aug 2021 22:01:02 +0000
Received: by outflank-mailman (input) for mailman id 164051;
 Wed, 04 Aug 2021 22:01: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 1mBOwg-00027b-21
 for xen-devel@lists.xenproject.org; Wed, 04 Aug 2021 22:01: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 1mBOwZ-0000Om-Ol; Wed, 04 Aug 2021 22:00:55 +0000
Received: from 54-240-197-239.amazon.com ([54.240.197.239]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mBOwZ-0002XY-HX; Wed, 04 Aug 2021 22:00: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:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=PhtHb0fH5uzPHc+G1BN+2TRpQFSqDERkSeqyM7kkAjI=; b=OSWJc/bCUhnJcI9Q+/Xe3YKYQy
	pKswQnB8T/e4ss0yCxkKQJKhqNuSrlMYNJ21L3DheQOX1SUOGi8J+OsY029l3T8vVorrw1c6z12oz
	bplSumIv5zFMVpfBLOSlH23x3TIVstZgZfGtO0+o6D184Hh4tR7Bo5bpXDPlpGJELmJ4=;
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
To: Oleksandr <olekstysh@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel@lists.xenproject.org,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <80fafc01-f063-d6e5-1c08-7ad64550310c@citrix.com>
 <e8db3021-78a5-e040-a70b-62ca5b500149@xen.org>
 <4de5ed21-379e-b618-44c8-924d88b1a519@citrix.com>
 <bbc7f597-5249-20a0-cac9-13f594268299@xen.org>
 <6a633f4e-13e0-4a2b-cf6e-35ef90ae977c@gmail.com>
 <alpine.DEB.2.21.2107301630510.10122@sstabellini-ThinkPad-T480s>
 <f6b2e6c6-bf58-960f-4a09-f05ebcf1f566@gmail.com>
 <5643d414-0b76-74a4-2c37-c7a99338d547@gmail.com>
From: Julien Grall <julien@xen.org>
Message-ID: <c83378af-4d3b-9256-0e0d-f88c43c6de2f@xen.org>
Date: Wed, 4 Aug 2021 23:00:52 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <5643d414-0b76-74a4-2c37-c7a99338d547@gmail.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit



On 04/08/2021 21:56, Oleksandr wrote:
> 
> Hi Julien, Stefano.

Hi Oleksandr,

> 
> On 02.08.21 22:12, Oleksandr wrote:
> I have done some experiments with Xen and toolstack according to the 
> discussion above. So, I re-used DTB to pass a safe range to the domain. 
> For the range I borrowed some space from the second RAM bank.
> 
> -#define GUEST_RAM1_BASE   xen_mk_ullong(0x0200000000) /* 1016GB of RAM 
> @ 8GB */
> -#define GUEST_RAM1_SIZE   xen_mk_ullong(0xfe00000000)
> +#define GUEST_RAM1_BASE   xen_mk_ullong(0x0200000000) /* 888GB of RAM @ 
> 8GB */
> +#define GUEST_RAM1_SIZE   xen_mk_ullong(0xDE00000000)
> +

I am a bit split with reducing the amount of RAM. On one hand large 
guest is not unheard on the server side (at least in the x86 world). On 
the other hand, I am not aware of anyone using Xen on Arm in such setup.

So technically this will be a regression, but it may be OK.

Regarding the range, this will be a problem as Xen configure the number 
of the IPA bits based on the PA bits. The lowest possible address space 
ize on 64-bit is 4GB.

 From my understanding, this is because the number of IPA bits supported 
is contrained by the PA bits. So the position and the size of the region
would need to depend on the P2M configuration.

For simplicity, this could be the last few X bytes of the supported 
address space.

For 32-bit domain, we also need to make sure the address is usable for 
domain short page tables (not too long ago Debian was shipping the 
kernel with them rather than LPAE). I haven't yet checked what's the 
limit here.

> +#define GUEST_SAFE_RANGE_BASE   xen_mk_ullong(0xDE00000000) /* 128GB */
> +#define GUEST_SAFE_RANGE_SIZE   xen_mk_ullong(0x0200000000)
> 
> While the possible new DT bindings has not been agreed yet, I re-used 
> existing "reg" property under the hypervisor node to pass safe range as 
> a second region,
> https://elixir.bootlin.com/linux/v5.14-rc4/source/Documentation/devicetree/bindings/arm/xen.txt#L10: 

So a single region works for a guest today, but for dom0 we will need 
multiple regions because it is may be difficult to find enough 
contiguous space for a single region.

That said, as dom0 is mapped 1:1 (including some guest mapping), there 
is also the question where to allocate the safe region. For grant table, 
we so far re-use the Xen address space because it is assumed it will 
space will always be bigger than the grant table.

I am not sure yet where we could allocate the safe regions. Stefano, do 
you have any ideas?

> 
> 
> 
> --- a/tools/libs/light/libxl_arm.c
> +++ b/tools/libs/light/libxl_arm.c
> @@ -735,9 +735,11 @@ static int make_hypervisor_node(libxl__gc *gc, void 
> *fdt,
>                                 "xen,xen");
>       if (res) return res;
> 
> -    /* reg 0 is grant table space */milat
> +    /* reg 0 is grant table space, reg 1 is safe range */
>       res = fdt_property_regs(gc, fdt, GUEST_ROOT_ADDRESS_CELLS, 
> GUEST_ROOT_SIZE_CELLS,
> -                            1,GUEST_GNTTAB_BASE, GUEST_GNTTAB_SIZE);
> +                            2,
> +                            GUEST_GNTTAB_BASE, GUEST_GNTTAB_SIZE,
> +                            GUEST_SAFE_RANGE_BASE, GUEST_SAFE_RANGE_SIZE);
>       if (res) return res;
> 
>       /*
> 
> 
> /* Resulting hypervisor node */
> 
>   hypervisor {
>                  interrupts = <0x01 0x0f 0xf08>;
>                  interrupt-parent = <0xfde8>;
>                  compatible = "xen,xen-4.16\0xen,xen";
>                  reg = <0x00 0x38000000 0x00 0x1000000 0xde 0x00 0x02 
> 0x00>;
>   };
> 
> 
> Near the same I did for the Xen itself to insert a range for Dom0. The 
> Linux side change is just to retrieve a range from DTB instead of 
> issuing a hypercall.
> 
> Sorry, I might miss some important bits here, but from what I wrote 
> about the "reg" purpose, it seems it could be suitable for us, why 
> actually not? Why do we need yet another binding?
> I noticed, Linux on Arm doesn't use it at all, probably it is used by 
> other OSes, I don't know.

Linux used the range until 4.7. This was dropped by commit 
3cf4095d7446efde28b48c26050b9db6f0bcb004 so the same code can be used by 
ACPI and DT. However, looking at this now, I think this was a bad 
decision because it means we are shattering superpages.

So ideally we should switch back the region to use the safe address 
space once this is in place.

> 
> Now, I am wondering, would it be possible to update/clarify the current 
> "reg" purpose and use it to pass a safe unallocated space for any Xen 
> specific mappings (grant, foreign, whatever) instead of just for the 
> grant table region. In case, it is not allowed for any reason 
> (compatibility PoV, etc), would it be possible to extend a property by 
> passing an extra range separately, something similar to how I described 
> above?

I think it should be fine to re-use the same region so long the size of 
the first bank is at least the size of the original region.

I also think we should be able to add extra regions as OSes are unlikely 
to enforce that the "reg" contains a single region.

That said, we need to be careful about new guests as the region may be 
quite small on older Xen. So we would need some heuristic to decide 
whether to stole some RAM or use the safe space.

Another possibility would be to add a new compatible in the DT that 
indicates the region is "big" enough.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 04 22:19:18 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Aug 2021 22:19:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164060.300258 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBPEG-0003dn-Gd; Wed, 04 Aug 2021 22:19:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164060.300258; Wed, 04 Aug 2021 22: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 1mBPEG-0003dg-Dp; Wed, 04 Aug 2021 22:19:12 +0000
Received: by outflank-mailman (input) for mailman id 164060;
 Wed, 04 Aug 2021 22:19:11 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0O68=M3=gmail.com=jandryuk@srs-us1.protection.inumbo.net>)
 id 1mBPEF-0003dY-9Y
 for xen-devel@lists.xenproject.org; Wed, 04 Aug 2021 22:19:11 +0000
Received: from mail-qk1-x731.google.com (unknown [2607:f8b0:4864:20::731])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id d54aea45-e917-4ae6-9e01-da3437b60be7;
 Wed, 04 Aug 2021 22:19:10 +0000 (UTC)
Received: by mail-qk1-x731.google.com with SMTP id z24so4351436qkz.7
 for <xen-devel@lists.xenproject.org>; Wed, 04 Aug 2021 15:19:10 -0700 (PDT)
Received: from shine.ofnet.lan ([2601:cb:4002:4020:a833:3d41:e5ad:b892])
 by smtp.gmail.com with ESMTPSA id s14sm2186583qke.1.2021.08.04.15.19.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Aug 2021 15:19: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: d54aea45-e917-4ae6-9e01-da3437b60be7
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=ey+I12fvrW8YmerN2IdBMxylmrTrBeZL4vjwFqqTFmk=;
        b=RaQ82U1nXN0+WRqY12oMN5vAWAVUxmyW/9GTHBf7BRG7XTLMQVMdUTc677gAtryA3E
         cJUvaFNEYWEAg6vVwL/JAk5kIpYfjjmybiYvazZheA+PoOUDIpkZhtWaZ9Fb5kHJFl0I
         dhz0rUBgVskoLtyJKxZf4c+oEW9yCNfmmVNZjkeL9GFlm7vKZ4gKfQHWxQhP1IZpOmmi
         AIVtobx71SJ8/jKPHy7X9ZYgD5dDdKhu+nfrX8kKCneK/w8dRKSbDJV115uRK7uc1vvj
         c2DtoAJwRUPXxiMsBdVz0o6dtxQ7sdzgazVb1uUmGvrsw84Vqwm95gdiwAit/ACSc9JW
         hVjQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=ey+I12fvrW8YmerN2IdBMxylmrTrBeZL4vjwFqqTFmk=;
        b=SQQ32ImoWI0SNLdRtSX2reprrEAxzHnlsm6CbmQeb45q3rvw+JalZTy+fcZ+n9UrIc
         nD5yWyAjk+uAOH5zlt7HxD/6gEiKqrr/3LUvGd3ls7OigolnGvjzZk2XYCAW4XqfAvcr
         YDjZ7CjaQq4kiaiIf2NKv90GzyE9Fpkp3EgHHUnwQq9jiHNznqG0qYlA3dKiXfO+OjTw
         7kQxNvNtEDwJnylVdqT6ZZcCCscaBJDY+/XyjNrCh7QnJNZLF08ovIbIUlsWJkzQbyhR
         6KCYcBMd+keLmqw69pHwtxqAWyaJkMpTwkd+AaLikz+w/X+ddupCfp3JJyker+p6NBpW
         LkiA==
X-Gm-Message-State: AOAM533uOlT/lrkAXZ70Nw454xLbcSARixKAJgbdPgn+paipvqGAHCpN
	M/0byFAzffqI/xYLFm05aCsF5Y44PgI=
X-Google-Smtp-Source: ABdhPJyOZx6XQlniFSWAdsGRAHfw6r1RhVrpMXLQcbLs81Lsqi7gytTAsdk5woDRoVs1CmeGaERG7w==
X-Received: by 2002:a37:ccb:: with SMTP id 194mr1751969qkm.369.1628115549793;
        Wed, 04 Aug 2021 15:19:09 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: pdurrant@amazon.com,
	Jason Andryuk <jandryuk@gmail.com>,
	Ian Jackson <iwj@xenproject.org>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH] libxl: Fix stubdom PCI passthrough
Date: Wed,  4 Aug 2021 18:17:49 -0400
Message-Id: <20210804221749.56320-1-jandryuk@gmail.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

commit 0fdb48ffe7a1 "libxl: Make sure devices added by pci-attach are
reflected in the config" broken stubdom PCI passthrough when it moved
libxl__create_pci_backend later in the function.  xl pci-attach for a
running PV domain may also have been broken, but that was not verified.

The stubdomain is running (!starting) and PV, so it calls
libxl__wait_for_backend.  With the new placement of
libxl__create_pci_backend, the path does not exist and the call
immediately fails.
libxl: error: libxl_device.c:1388:libxl__wait_for_backend: Backend /local/domain/0/backend/pci/43/0 does not exist
libxl: error: libxl_pci.c:1764:device_pci_add_done: Domain 42:libxl__device_pci_add failed for PCI device 0:2:0.0 (rc -3)
libxl: error: libxl_create.c:1857:domcreate_attach_devices: Domain 42:unable to add pci devices

The wait is only relevant when the backend is already present.  Use the
read on num_devs to decide whether the backend exists and therefore the
wait is needed.  This restores starting an HVM w/ linux stubdom and PCI
passthrough.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
---
Looks like this should be backported to 4.15, but I have not tested.
---
 tools/libs/light/libxl_pci.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
index 1a1c263080..19daf1d4ee 100644
--- a/tools/libs/light/libxl_pci.c
+++ b/tools/libs/light/libxl_pci.c
@@ -157,8 +157,10 @@ static int libxl__device_pci_add_xenstore(libxl__gc *gc,
     if (domtype == LIBXL_DOMAIN_TYPE_INVALID)
         return ERROR_FAIL;
 
-    if (!starting && domtype == LIBXL_DOMAIN_TYPE_PV) {
-        if (libxl__wait_for_backend(gc, be_path, GCSPRINTF("%d", XenbusStateConnected)) < 0)
+    /* wait is only needed if the backend already exists (num_devs != NULL) */
+    if (num_devs && !starting && domtype == LIBXL_DOMAIN_TYPE_PV) {
+        if (libxl__wait_for_backend(gc, be_path,
+                                    GCSPRINTF("%d", XenbusStateConnected)) < 0)
             return ERROR_FAIL;
     }
 
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Thu Aug 05 00:19:32 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 00:19:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164072.300271 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBR6V-0006DT-Ls; Thu, 05 Aug 2021 00:19:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164072.300271; Thu, 05 Aug 2021 00:19: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 1mBR6V-0006DM-Ht; Thu, 05 Aug 2021 00:19:19 +0000
Received: by outflank-mailman (input) for mailman id 164072;
 Thu, 05 Aug 2021 00:19: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 1mBR6U-0006DA-08; Thu, 05 Aug 2021 00:19: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 1mBR6T-0002yC-RF; Thu, 05 Aug 2021 00:19: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 1mBR6T-0002p0-DN; Thu, 05 Aug 2021 00:19:17 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mBR6T-00049n-AU; Thu, 05 Aug 2021 00: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=wvnL/EAhbKLpl2MqcGn+SHm/I4k3boOi3YyHHcx9Rto=; b=i+OUslrEUTPttOntRoqe3kLd+d
	Mhr86SCzbz8VCZwQb1z6GqoXmJ9g6YgUBzCf0crcNoeTCdsnluMN76YC1uJ4TRh3N1iCWK9kCEcrR
	ZKYvb8qWbGr8ahkYcjyLdT2UZDbjXc7nIRbBkoSa06XTr7G8Mx36zhE4F/Q14aC8ZroA=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164102-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 164102: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-5.4:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:debian-hvm-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-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check: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-arm64-arm64-xl-seattle: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-seattle:saverestore-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:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-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-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=7b90d57b09fa3513a31e6f05f07a5f1f19438e15
X-Osstest-Versions-That:
    linux=5b1de8e15f0f3c4f91bf361c2bab5c2d9e7afad9
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 05 Aug 2021 00:19:17 +0000

flight 164102 linux-5.4 real [real]
flight 164105 linux-5.4 real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/164102/
http://logs.test-lab.xenproject.org/osstest/logs/164105/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 164105-retest

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

version targeted for testing:
 linux                7b90d57b09fa3513a31e6f05f07a5f1f19438e15
baseline version:
 linux                5b1de8e15f0f3c4f91bf361c2bab5c2d9e7afad9

Last test of basis   164064  2021-07-31 06:41:06 Z    4 days
Testing same since   164102  2021-08-04 10:40:10 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Andrew Morton <akpm@linux-foundation.org>
  Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
  Arnaldo Carvalho de Melo <acme@redhat.com>
  Borislav Petkov <bp@suse.de>
  Cong Wang <xiyou.wangcong@gmail.com>
  Dan Carpenter <dan.carpenter@oracle.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Desmond Cheong Zhi Xi <desmondcheongzx@gmail.com>
  Dima Chumak <dchumak@nvidia.com>
  Florian Westphal <fw@strlen.de>
  Gilad Naaman <gnaaman@drivenets.com>
  Goldwyn Rodrigues <rgoldwyn@suse.com>
  Goldwyn Rodrigues <rgoldwyn@suse.de>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Grzegorz Szczurek <grzegorzx.szczurek@intel.com>
  Guenter Roeck <linux@roeck-us.net>
  Hoang Le <hoang.h.le@dektech.com.au>
  Hui Wang <hui.wang@canonical.com>
  Imam Hassan Reza Biswas <imam.hassan.reza.biswas@intel.com>
  Jan Kiszka <jan.kiszka@siemens.com>
  Jason Gerecke <jason.gerecke@wacom.com>
  Jason Gerecke <killertofu@gmail.com>
  Jedrzej Jagielski <jedrzej.jagielski@intel.com>
  Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
  Jiri Kosina <jkosina@suse.cz>
  Johannes Berg <johannes.berg@intel.com>
  Jon Hunter <jonathanh@nvidia.com>
  Jon Maloy <jmaloy@redhat.com>
  Juergen Gross <jgross@suse.com>
  Junxiao Bi <junxiao.bi@oracle.com>
  Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
  Lukasz Cieplicki <lukaszx.cieplicki@intel.com>
  Maor Gottlieb <maorg@nvidia.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
  Michael Ellerman <mpe@ellerman.id.au>
  Michal Maloszewski <michal.maloszewski@intel.com>
  Nguyen Dinh Phi <phind.uet@gmail.com>
  Oleksij Rempel <o.rempel@pengutronix.de>
  Oliver Hartkopp <socketcan@hartkopp.net>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Bonzini <pbonzini@redhat.com>
  Paul Jakma <paul@jakma.org>
  Pavel Skripkin <paskripkin@gmail.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Saeed Mahameed <saeedm@nvidia.com>
  Sasha Levin <sashal@kernel.org>
  Shmuel Hazan <sh@tkos.co.il>
  Srikar Dronamraju <srikar@linux.vnet.ibm.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  syzbot+a70e2ad0879f160b9217@syzkaller.appspotmail.com
  Thomas Petazzoni <thomas.petazzoni@bootlin.com>
  Toke Høiland-Jørgensen <toke@redhat.com>
  Tony Brelinski <tonyx.brelinski@intel.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Wang Hai <wanghai38@huawei.com>
  Yasushi SHOJI <yashi@spacecubics.com>
  Zhang Changzhong <zhangchangzhong@huawei.com>
  Ziyang Xuan <william.xuanziyang@huawei.com>

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


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

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

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

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


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   5b1de8e15f0f..7b90d57b09fa  7b90d57b09fa3513a31e6f05f07a5f1f19438e15 -> tested/linux-5.4


From xen-devel-bounces@lists.xenproject.org Thu Aug 05 03:48:21 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 03:48:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164083.300286 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBUMY-0005ev-9v; Thu, 05 Aug 2021 03:48:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164083.300286; Thu, 05 Aug 2021 03:48: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 1mBUMY-0005eo-5Y; Thu, 05 Aug 2021 03:48:06 +0000
Received: by outflank-mailman (input) for mailman id 164083;
 Thu, 05 Aug 2021 03:48: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 1mBUMW-0005ee-S4; Thu, 05 Aug 2021 03:48: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 1mBUMW-0004GM-Em; Thu, 05 Aug 2021 03:48: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 1mBUMW-0001d0-2z; Thu, 05 Aug 2021 03:48:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mBUMW-0005jL-2T; Thu, 05 Aug 2021 03:48:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=1g2t7yzJLjsLQ6zP4FVL9OslmuZCzfAmxHf1/H8jyvI=; b=FwabLIS6VccRptRsouErQpc8IB
	PX1hohl0DtHAOb4YiZ0LQsEis2vgsC0pfKTsDquqjCUQjnIiPjeeCz0IMskotP+9QxlCrdY1CJdN/
	IPBICStqNEaLsl/KAC5pVPJwCsSzAEnh95q2TIPW8OFJL6fOEeU0L+tu/K/JJofMi6SY=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164103-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 164103: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-armhf-armhf-xl-vhd:guest-start:fail:heisenbug
    qemu-mainline:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check: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-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-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-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-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-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=bccabb3a5d60182645c7749e89f21a9ff307a9eb
X-Osstest-Versions-That:
    qemuu=2cd9e2bd093a8b6f0e9fc6d75f4fd8f0e3250474
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 05 Aug 2021 03:48:04 +0000

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

Failures :-/ but no regressions.

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

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-rtds   18 guest-start/debian.repeat fail blocked in 164098
 test-armhf-armhf-xl-vhd     14 migrate-support-check fail in 164107 never pass
 test-armhf-armhf-xl-vhd 15 saverestore-support-check fail in 164107 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164098
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164098
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164098
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164098
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164098
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164098
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164098
 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     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 qemuu                bccabb3a5d60182645c7749e89f21a9ff307a9eb
baseline version:
 qemuu                2cd9e2bd093a8b6f0e9fc6d75f4fd8f0e3250474

Last test of basis   164098  2021-08-04 04:09:27 Z    0 days
Testing same since   164103  2021-08-04 16:09:30 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexander Bulekov <alxndr@bu.edu>
  Ard Biesheuvel <ardb@kernel.org>
  Guenter Roeck <linux@roeck-us.net>
  Igor Mammedov &lt;<a href="mailto:imammedo@redhat.com" target="_blank">imammedo@redhat.com</a>&gt;<br>
  Igor Mammedov <imammedo@redhat.com>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Jonathan Albrecht <jonathan.albrecht@linux.vnet.ibm.com>
  Kevin Wolf <kwolf@redhat.com>
  Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
  Marcel Apfelbaum <marcel@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <f4bug@amsat.org>
  Thomas Huth <thuth@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-amd64-pvgrub                                pass    
 test-amd64-amd64-i386-pvgrub                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-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
   2cd9e2bd09..bccabb3a5d  bccabb3a5d60182645c7749e89f21a9ff307a9eb -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Thu Aug 05 05:21:08 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 05:21:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164093.300300 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBVoJ-0006gr-AV; Thu, 05 Aug 2021 05:20:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164093.300300; Thu, 05 Aug 2021 05: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 1mBVoJ-0006gk-7H; Thu, 05 Aug 2021 05:20:51 +0000
Received: by outflank-mailman (input) for mailman id 164093;
 Thu, 05 Aug 2021 05:20: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 1mBVoI-0006ga-9z; Thu, 05 Aug 2021 05:20: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 1mBVoI-00064B-4b; Thu, 05 Aug 2021 05:20: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 1mBVoH-0006BE-Q0; Thu, 05 Aug 2021 05:20:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mBVoH-00068l-PZ; Thu, 05 Aug 2021 05: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=V7g0EjDIjaZkN4vI4mK8dKJUMiPcf1LbHfrcLER8wjQ=; b=Nvz5a5+NtgtXU9Lth1dJ8fH1D6
	cUyQjbjgVnMSz9xDis+hKm1zbztzc4Vh6Nh/6OCA1pKN1dTchRzqSRhg/Fe0VNKBvgn0LhTUDCCTI
	Ag5fpyp2Tsm0jaLv+a3je3aiBgrLlP2TuzMB1S0d0R47HjHinEfYVp3fJf/6jCj2Hm40=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164104-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164104: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:heisenbug
    linux-linus:test-amd64-amd64-examine:memdisk-try-append:fail:heisenbug
    linux-linus:test-amd64-amd64-qemuu-freebsd11-amd64:guest-start/freebsd.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-shadow:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit1: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-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=d5ad8ec3cfb56a017de6a784835666475b4be349
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 05 Aug 2021 05:20:49 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop              fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  14 guest-start              fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 20 guest-stop               fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 13 debian-fixup             fail REGR. vs. 152332

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl-credit2  13 debian-fixup     fail in 164100 pass in 164104
 test-amd64-amd64-examine    4 memdisk-try-append fail in 164100 pass in 164104
 test-amd64-amd64-qemuu-freebsd11-amd64 21 guest-start/freebsd.repeat fail in 164100 pass in 164104
 test-amd64-amd64-xl-multivcpu 22 guest-start/debian.repeat fail pass in 164100
 test-amd64-amd64-xl-shadow   22 guest-start/debian.repeat  fail pass in 164100
 test-amd64-amd64-xl-credit1  22 guest-start/debian.repeat  fail pass in 164100

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

version targeted for testing:
 linux                d5ad8ec3cfb56a017de6a784835666475b4be349
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  369 days
Failing since        152366  2020-08-01 20:49:34 Z  368 days  640 attempts
Testing same since   164096  2021-08-03 18:42:33 Z    1 days    3 attempts

------------------------------------------------------------
6752 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Thu Aug 05 05:58:45 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 05:58:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164104.300315 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBWOt-0001RK-EH; Thu, 05 Aug 2021 05:58:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164104.300315; Thu, 05 Aug 2021 05: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 1mBWOt-0001RD-BO; Thu, 05 Aug 2021 05:58:39 +0000
Received: by outflank-mailman (input) for mailman id 164104;
 Thu, 05 Aug 2021 05:58:38 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1FJ0=M4=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mBWOs-0001R7-2t
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 05:58:38 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 2c0d8df8-f5b2-11eb-9bbf-12813bfff9fa;
 Thu, 05 Aug 2021 05:58:36 +0000 (UTC)
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur02lp2054.outbound.protection.outlook.com [104.47.4.54]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-22-tmxEDkvEMyiULuxI-DqDOA-1; Thu, 05 Aug 2021 07:58:34 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4445.eurprd04.prod.outlook.com (2603:10a6:803:6e::33)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.15; Thu, 5 Aug
 2021 05:58:32 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4373.027; Thu, 5 Aug 2021
 05:58:32 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P189CA0057.EURP189.PROD.OUTLOOK.COM (2603:10a6:102:53::32) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4394.15 via Frontend Transport; Thu, 5 Aug 2021 05:58: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: 2c0d8df8-f5b2-11eb-9bbf-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628143115;
	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=brHUOXPteZa0o94JxWdXszx2bP+GunU66cPjdyYJg/g=;
	b=QupdqwNHhyt05HU3c0ENvB/pCr4xnKqdcxCjL6tQSQOCWpz0MgQWTyr4eWURL83kzy5aKF
	lEIam9tng9kLmHkiuh70obUY39OvaMNf2kod4KH9yvHVNg2hkqE1dtMnpzIEIG9skY7gGD
	PykU8KWyppgCC7AeCrh4mRXtIL5n+Co=
X-MC-Unique: tmxEDkvEMyiULuxI-DqDOA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=c/bq7H3/XVJFnTCFui8sP8MYWohU/GCGix3bk9cxSvpz2EnvbJKZePMa0RATkoCTVvJB8b7EZ+CGpq9okGIOqxM84Do1mhbIRlING1e+E8Abykar83N4qyvQ1Ai8FDjkldPkbECLbnf978JKwKEEq/MvXS1ywfUPbnZ/i3TdtNGxox40QJP9RlocOsJyX+YYHckIB5msw1dBZlUVebTPG2csi4mEVOuOb9mFlYDze2GCqg1/S5Wwh12e+MoJPcYmwannPUYsyPbraAQeLxsCrVfRNXZWQYlhJcp5XlkBAVBWn8vvet4JQ9OYNCj8KGTUTmSZbl6za/wSEQXMNM1KnA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=brHUOXPteZa0o94JxWdXszx2bP+GunU66cPjdyYJg/g=;
 b=jbGjLCJXejmMfvnIJUNetq5SWL0SHXTGlOO3l6ubzAFt8Z3AXe38k7yhQcoHvJJtO4dkyC5KB/VyW9vOsJMXSWMJjMrOeJtzVzFnW2P9xN+2VUkDT/UWJDOeOUkC1l9A0TeG0kVm42UOzhX8M4wD2OsrlqjpuGo158+m5Z694WywErsT7dCb4rOeljKAWv/J8LRas/C92JBI6uPdZKUH4zksESEh/KwnXsTFXkYJLp6OhQ2Tuh554JT5sp5NLlJkZ8juUYZYEa9zDwxJJm2aas5wIHE4FoZnSuaQgmwg25R2YYtjK4McvapZwplZdIk6h3/glltel7Kijzl2lSVQEA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
To: Oleksandr <olekstysh@gmail.com>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org,
 Julien Grall <julien@xen.org>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <80fafc01-f063-d6e5-1c08-7ad64550310c@citrix.com>
 <e8db3021-78a5-e040-a70b-62ca5b500149@xen.org>
 <4de5ed21-379e-b618-44c8-924d88b1a519@citrix.com>
 <bbc7f597-5249-20a0-cac9-13f594268299@xen.org>
 <6a633f4e-13e0-4a2b-cf6e-35ef90ae977c@gmail.com>
 <7d79a197-a126-2eed-3198-c20e63c1eece@suse.com>
 <090ffc19-92fd-5ef9-99d5-affcfdc28ad2@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <11ba67a9-23a1-87e1-3db5-e9040af42a60@suse.com>
Date: Thu, 5 Aug 2021 07:58:29 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <090ffc19-92fd-5ef9-99d5-affcfdc28ad2@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P189CA0057.EURP189.PROD.OUTLOOK.COM
 (2603:10a6:102:53::32) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d75c57a5-5828-447f-0e13-08d957d60e1a
X-MS-TrafficTypeDiagnostic: VI1PR04MB4445:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB44457CB4FD9A388A534F5BD0B3F29@VI1PR04MB4445.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	FmUEC/PPpIDCnErVcY86cjZxbVcK7N3EJM70jUrZrfhlFo6A6Dz9r0i9WNBwyuGaWXV69ihViiqwIi/a4qKjyJLtQK4vBNIBlZqDJBZoV/T5EBTlKNXA4weF1r033hh8fs/AnAvGJEOBMqBkxbzFf6BSxdl4C/wLtfQ/+HoQxuvRD8hjc4EHyWZBETVJ4bZLSUq+QLXpb/WdNajpGxZJhy4to5meGYFaauB1Jg3iKWnxzN5vH2GhNZog0DjdyRVJybgVYzGSJNBD7WzipRpT6x/QFmTPvACZV/usZJhoigDO9Nr1nz9frEIav3eHHy5DR5Wgq1/SP10AVDo+G/IRUz+VLtXJ+tJ8/lo/+/505DrBjRJTzfgPyPjaeLlrtS6H5GBNWOFGkMxe8TI/mihIo8k92YBbjcM+nlhrjFc/i35+D8z++J3z3DlmTgziLDRlgpdPQsQ1fl1iQPmvxaocBL8vh7ND3iWfS5QAW/J/lMz6jriirkvBozFmfIzkeVmmZTravPrnXTyN3CtWuL32QJvWeZxkhRwxQT5E5D32/zAu6SvmfutoE6jqm2X9FZMT584rdDhqro0eIufL9X3IyPc5CNVmmzBb4gDXf7/yf/eFjlca+42+mN/Fv9zhSE/psvsqxtd54wqxmGLig/kPLa/XnZ6yF2InhzP2qtgX/xSm9g0gOgNy0V2aoFF+IzMrRzCefqxBrHs8wUxt69jc/g3a0xWoLv2iU9xn1s1188I=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(66946007)(66556008)(66476007)(316002)(7416002)(16576012)(956004)(83380400001)(54906003)(2906002)(36756003)(31686004)(31696002)(2616005)(6916009)(86362001)(508600001)(4326008)(53546011)(5660300002)(4744005)(8936002)(186003)(8676002)(26005)(38100700002)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?M2ZYeExvT1U2TVdRaExrR0tqQWR4TXp5RVBPRnVFd3M5cTk0YWxlR29VTkhO?=
 =?utf-8?B?SS9YTDlIR0UwdE5lWmRPeGl3azVDVlhLcUxhUnBZZEU1VW1Gelp1U3lTZkY3?=
 =?utf-8?B?aXlyTVpmU2U3QUdDdFR3alFURWtFSTUvb2lreklUUC9XYitPYkRPWmZpbm5D?=
 =?utf-8?B?Z0pKcjNYMWdkOU11Zkp6dnRWUFZBbS94MmhBL0F3bWZCSkE1RGRFU2JJdjNq?=
 =?utf-8?B?K0FFdzQ5a2E4TnF3Q2pkNEdYQlFUSFNFTElqNkk3ckxHRnJ1dmFwR2Z2WDRN?=
 =?utf-8?B?RDlpdnkvUXJIOVdBVytIZU9FTnRzeU93SDN6VU1GbEo4ZFpuYlZya3pPblJk?=
 =?utf-8?B?TGNGMlpWSmhjYzI5d3BGMXJ4RktGZWFyazhGeWZWTUEwQ1ptWk4xelNNTUdo?=
 =?utf-8?B?NjNSTGNwbEE4bDYwRnhISWxqdHFqc0U2enphbVB1SEdPNCswZFZaNXFSYWFl?=
 =?utf-8?B?QkNSRURmMEcyUnVSQ3B2T2NYZmpTRDZrZGhVYVJ5dStCUHEveEJoRTltbXJw?=
 =?utf-8?B?S0RBTGdjMU1Qdk5GejUrN081dTNjK2Vyc2FCRndBL3FCbEhESXlpL3QvZ1JW?=
 =?utf-8?B?ODNySHltS2EzVjM1bTB1UnJSOHVTYmp3clplVDZiMWwxVXZ1QTBkbHo5a3M0?=
 =?utf-8?B?RVpsQWJHYzBZN2hOLy9CeFlsOUt6eWJnYVI0RElJb0k3cFZNYXV4T3FORjdo?=
 =?utf-8?B?cytxcVErZ0hZenJRRjBCVnpKa3RGU2FBWml1WDVaSHhmSUowdXdrVnhXdGht?=
 =?utf-8?B?TjJZQ2R0NkdINVpZZGNNY3QzdVJsbkE5cG04MDcwRTBKSDhydllXWEZWZXZp?=
 =?utf-8?B?UW1VM2ZWMmhHODhxcmRHVWQ2VkE4WUc0aDlEc1YvYVZCbVV6YmVyTEN6bUtS?=
 =?utf-8?B?V1k2bWJJUzBvVFJ5QUQ5VmJvcDBNcnltbGNZYTRVK2pPNFBCa2N6THVPOVhp?=
 =?utf-8?B?WHQ0TFNYZHg0QzF6aHNrcC93NEZPYmlacjgxZFdvQ2ZMbUJXQlpwdVFXY0dj?=
 =?utf-8?B?UXF6amdWb0JwaEJLZE1iVDlvWlhnM0FZbW1YeFE2Rk9qMHd5cnREczRCbEg4?=
 =?utf-8?B?Q2F1MUtGRHJYdXNDM0M3TnpTa2dHaXQ4Uk9lOFcyVWZkUk9BdmpUVW8xSlBW?=
 =?utf-8?B?bk5kWFhPbUMzMXhpMG5rVnk1WjJkNzljSElKY05Kdy9JSGwwbFI5a05PeGVr?=
 =?utf-8?B?VWNwUGFyNVBDbnM0RGVaV0VYSUMzdkVmWTNCbHF4VEkzYVZQWlBTUVNLWTZY?=
 =?utf-8?B?cjVCbENvUFFQSDRpRmkwZnU2R0ZndHV4TWRXS1lOUW1aUCtoV1hhSUxuYlpF?=
 =?utf-8?B?eVJOeFhQeFJ6cDVJNGpxdEV0YmNNVXJvZXJ5VjVPYm9RYlZnRFVpWHhGWEdJ?=
 =?utf-8?B?TXRjY0pBT0lyVGZKb3FvNjFrUGg2MjQvbzZYMm5VZUNDUjVMZG5WcEZERTFQ?=
 =?utf-8?B?MVRvZ0FBcGVwRkFKdmZ0ZWFEOVlLcE1mdnFXZHhqUGlNR0ZNOW5SOHdlYnpI?=
 =?utf-8?B?QXl6cWo1VmtkeFZ0enVvRWRGVGpxRGczLzB6aTJkdnVuSGdTZU1xTHFqbHBy?=
 =?utf-8?B?dmVmUW0zUFVVRWVjbU5oY2pUODZHdUZ0VmU2MytmUy9YbzdGYzIxc3VtQkwz?=
 =?utf-8?B?ZXVTWWRIWDhqWHFseEQ5Q1VCVGNFR2VwNko4VUpRVHZ1TzIxdEMwU1lVQ2xP?=
 =?utf-8?B?RUVYTWtIbmE2UitJUXdtbmd6Z0ZpSXRLRHhpdmlpc0FkUDMzbHg3NEYzZGlD?=
 =?utf-8?Q?P4QDqQGruHAHiH7otHjttmxBu2swhIfxQM9AjK9?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d75c57a5-5828-447f-0e13-08d957d60e1a
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2021 05:58:32.3640
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Tv3LU48LZK4sQW+KAI2XpeRwPrgGw+xRyLauo6vaiP6wMwBzghII3Ac4XFMsX+Q+CRaK8C91hNeOVkbWCrJ49A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4445

On 04.08.2021 21:18, Oleksandr wrote:
> On 03.08.21 15:53, Jan Beulich wrote:
>> On 30.07.2021 18:13, Oleksandr wrote:
>>> - Where that range should be located in guest address space, should that
>>> range be the same for all domains (how GUEST_GNTTAB_BASE(SIZE) for example)
>>> or it should be calculated based on actual guest_ram_base(size) for a
>>> particular domain?
>> The default size may well be fixed or amount-of-memory-dependent, but
>> I think there will need to be a way to enlarge the region for guests
>> with particular needs.
> Well, but why we couldn't just make a large chunk by default which would
> satisfy all guests, as it was mentioned earlier in this thread "as it 
> doesn't consume resource when not being used"
> to avoid an extra configuration option, etc?

Because experience tells me that no static upper limit will ever please
everyone.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 05 06:20:18 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 06:20:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164113.300328 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBWjj-0004Rw-Ao; Thu, 05 Aug 2021 06:20:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164113.300328; Thu, 05 Aug 2021 06: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 1mBWjj-0004Rp-7a; Thu, 05 Aug 2021 06:20:11 +0000
Received: by outflank-mailman (input) for mailman id 164113;
 Thu, 05 Aug 2021 06:20:10 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1FJ0=M4=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mBWjh-0004Rj-W2
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 06:20:10 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 2e52c67b-f5b5-11eb-9bc0-12813bfff9fa;
 Thu, 05 Aug 2021 06:20:08 +0000 (UTC)
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur03lp2050.outbound.protection.outlook.com [104.47.8.50]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-29--P8oLvc_PG-ZllhnTewraw-2; Thu, 05 Aug 2021 08:20:06 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0402MB3774.eurprd04.prod.outlook.com (2603:10a6:803:1f::28)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.17; Thu, 5 Aug
 2021 06:20:03 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4373.027; Thu, 5 Aug 2021
 06:20:03 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR2PR09CA0023.eurprd09.prod.outlook.com (2603:10a6:101:16::35) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4394.16 via Frontend Transport; Thu, 5 Aug 2021 06: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: 2e52c67b-f5b5-11eb-9bc0-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628144407;
	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=vLqRPVGntwOlhd6ChykLbliTw/advFDueqsL8uqymi4=;
	b=U69cUOB1T8aNtORjCg2Rirqcf+e3ZaHETGVBCGeYu4+9rRe8zOI9Yr3q+e5sJtaukXxNZU
	yNMP2cVMJtid1vOLnh50B3urbqEGVofJRiwfJY+w/xnlsoJkv7Fc7PsLCg4BejRi7lkLrF
	itcfpEjSJq2YpT/bBQZLpixNYlIR8zs=
X-MC-Unique: -P8oLvc_PG-ZllhnTewraw-2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eFjTxjHoyh9R2WU3UycQTL4tHfaJEaUPa1Z8T0HyAa1UQa91kR+7VrFb5HBgJ7Rww9KMLjnWQyKXqM+4fleMvKaQn5pUPUfU/VJiSg2TOEZNcl0en0rp9sr5bQquqt8j5X8CN65V61uYgQl7GA5rJbMX9LYPJLT2V8NCsLwKQD0fBMIS+EcHvao4NzxR8nGIileKHOtAd1akh1u4vfa/rkntDhUPnd0lDqzRZ7c9CISYHTWjHIe0VO44XRYrx5iq3t/1N5yLjsu+w+u3AZX6/sfhg386T0EZcGIz/vob/1QwyhT+oD/Sg+q6TCIkR5452qukDtS1SGMBS6SwxcSGPw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vLqRPVGntwOlhd6ChykLbliTw/advFDueqsL8uqymi4=;
 b=Sk4HG5vDinHSfhMyxxznIKaqtrYLAEsxDa0A5gJbuVj/T0iz+Aa09QXyjjY6546B5Napsm1Kgj96wb+bwLkN8GdN6+jhq4KYqd+WBZUW9TtvBgvrLkUeztQ0P+BpJFR0YLc7lGkzhK5AtncPFi8eoiwxCkR0KyHv/vbgnTAeoR+Si4Dn9X57IHpyASs5pGhFBKoPZjiP0JZpR4+/SSqskBNV1o6CC4EZm43NZAvA/jiE3SWCwbp7Pc3KiTwv4BNJZpyHvODNFpilAOAggBTiDf9lqFpD5s+wtd1Z/4P0FgjMPSNw1zE5JlgAsCLi9ZScgFXOdA5JU6Uhg6ifjUqtbQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH] libxl: Fix stubdom PCI passthrough
To: Jason Andryuk <jandryuk@gmail.com>
Cc: pdurrant@amazon.com, Ian Jackson <iwj@xenproject.org>,
 Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
References: <20210804221749.56320-1-jandryuk@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <cb1b8918-639f-668f-c663-a6392a2d8e1f@suse.com>
Date: Thu, 5 Aug 2021 08:20:01 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <20210804221749.56320-1-jandryuk@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR2PR09CA0023.eurprd09.prod.outlook.com
 (2603:10a6:101:16::35) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3d943f08-ff0a-42f0-138b-08d957d90f91
X-MS-TrafficTypeDiagnostic: VI1PR0402MB3774:
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB3774932B88E42656AAB9FC4FB3F29@VI1PR0402MB3774.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	SnPjfmEL2RrNtIwcLoK4RKFXW3qSiq0RwQmwvGXDb2Ez0h5h+qzblte0jNOxC/VxkHP4b00+NEuPLtTg632PIDSOY2JHsWc1p2xyCKSZ0GmxURJiiz+Pi7eY5ATgXlU1ua59IyBQEMGFBLDPI+cNUcFLCLusjHVJfd6Izw8Cgyx/Ih5xJs9YuvKJALZlGkVBIsgB/YsR9q7eH9TAp5Mo2t/9FoElY9yDAa1FRtvqkMLrsK4JEX+09HOegUQreUiVJuRYO6jV5rZ3cgNVHh+3sgIF7DWUWknxyeCMe3xASFiP1EbSrqAxb06djOddJG+rFCKcjokeJ5UKhm6+u4UYi+DBI8ho0/dgpg5xwHwEkdCQx9EuWosckjm+bgD4onk4nC4LsSGMEI9ykbHLpmWxF6X17dS+5Uj/nQCk+Ip0L5GtJ9ttHxoq3+F5popXp6plv1/q+VW31jhkbldEEkgadXB8DTEd9jFyHd+giJf9K6H0P0JSyD/3Aq4OGpWdSZt8Og8CGoxnGvuTlYcTTGUnKrXTr4yfoFdXqbrsWU0gVdZ56p59IA0pG/VX9ElaOdlDQOe2jEj01sjMb0AjvZCxiJqQ789GMOjJhbCkisC+rxgJ/pJ7N8klrQWERXhEw/xnDSKmgP4rrvyCahqY3mFOMlCowkv/VvOA3QS/snbTOvcn4R/Cd6fg/zF3dFfiu+AVYZkmC32uieNlczQucG5vADgbyDWpnofBjRhVdNoTnRY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(376002)(39850400004)(366004)(136003)(346002)(478600001)(316002)(16576012)(36756003)(8676002)(8936002)(54906003)(31686004)(6486002)(53546011)(86362001)(31696002)(4326008)(38100700002)(6916009)(2616005)(956004)(5660300002)(83380400001)(26005)(2906002)(66476007)(186003)(66556008)(66946007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RS94OUpSYzloTzNWL3NkNHVHOEY5YVpNL3UveUdsZkVLTStscWxmMy9GNWpi?=
 =?utf-8?B?c3F2MTZPbEZGdm9rTU5pQ3ViWklLeHRoVEozMGR0MzEzS1FYNUFMSkt4S1hT?=
 =?utf-8?B?MnAwTjBCQXVjeHFGb3JvdlBjeTlIdS8wZkVtM0NKZEl0cWw2VllzeW5xQXJ0?=
 =?utf-8?B?VzRLcVF4eXh0dG9jeU9ybHFyK0IzRGhXMFdjNzBmZmVDQk12S3RHK2xpclM0?=
 =?utf-8?B?UXY5QjVSV3Rad0VOQm1CMTBINUpsRHZXUTU5NkFZKy9Tajh6SDFjVjhyWFNk?=
 =?utf-8?B?aU1BQlVyem8xVmt0L1duTTlRL25zWS81SzFhb1NXTFpOUzlQYXJuTDBIMDN4?=
 =?utf-8?B?RHE0ZHB1MEJXRDhEZENyQWJDQVd1dlBzYTBnRGZRbkw3OVZJQXRCRFBEaTRj?=
 =?utf-8?B?SzBFYWZBOVJhZWhOOEVBNWE0aDdndXFDN09qL21IVTlVYmVOVGlHR1Jaekp4?=
 =?utf-8?B?ZEEyNGJQZXdVeWhqNytXWnlzOXdqcHhrb3hxQTFxRm9YTlJGTVVreEEwMW55?=
 =?utf-8?B?SWJqdElLd002TUQvcmtCaXJJZDNaNTFNSTNBWW9qcGg5RkJmMEIxdUZCVjMz?=
 =?utf-8?B?RWhNZTNaa2dqdmNQNDZURjkxR0hyUTRBZ0hVWTUzNUlJcllBeW03dzYrUVVW?=
 =?utf-8?B?V1NTOE5RR2VsUmJ0THkvM0EzZFFCT1NzWktMbG9mTUNRMzNNY0tTUnFVZlZs?=
 =?utf-8?B?UzN3aWl0WnRnTndFb3pOMTA3VlFrd1pwYU9uRVIwL1h5SS8zNW40VjhTOXZp?=
 =?utf-8?B?L3FIRUh0OXJrUUhpalFHTVVRWFZHTXNraVNmY2RoT0VsWENQYk56Q05Ec1hq?=
 =?utf-8?B?Y2xxU211WmU4RmJGYmFOd1o0Z2dSM0FWRE5sV3Q3VnpRSGUybkFjVmtsRGN3?=
 =?utf-8?B?RlBKYWtxTVVtL0Vnb2lBVVN0eTVqYnFxN2Fpdk5hQTFXcWVvYVcrYWdBaG1W?=
 =?utf-8?B?bUszNkZlVnppYUJlVkpmaWtnTmhwWHlCcTQySi8wQmNWM0YzUEpwTHdpOVdk?=
 =?utf-8?B?ZEUxTVYweEVYKzJRTStOSk1tTS8wellURFZ3OVJBSWNQRDBLVTc0SnRiSkhP?=
 =?utf-8?B?YnVubG5QQTBaTFF5NitiS2lRQ0xIZWErcFhrRHRlOWxBdUppVmNpNXp4R05W?=
 =?utf-8?B?ZldwUkVaZUkzQUJZQkRGSEVYSGVFanhodU0rSVNyVVVaaFp4ZENhRVJXcUVy?=
 =?utf-8?B?aXByQTQrbWRKUEUyZTc4bUlrdFc1U0hXV1VYQ0RLd0Z5b2hZWlZsUDArdkRv?=
 =?utf-8?B?SWl6NmpkVFBFR0k1TEkvREorTVNUTC9paHNRVFJiNGxiL1M0Wml6Y0dnTUhT?=
 =?utf-8?B?eUowVlg2WWZsSFd2bUF3cnprdmRhY0wyNFJWcnd4K0ZMcDRKdmg5MitkN2pl?=
 =?utf-8?B?aWZYMFdqT1Zuam5URXRFTEZTQ1dqNHNXdXhucktySzRYb2dqRFNyMFV5endF?=
 =?utf-8?B?SVRUdEc3NWRCNmN2ZnBvS0FsUk1uemFkTUIvRTNTUFVIcG9PUUhjQ0kxdkJw?=
 =?utf-8?B?N1JSVDR3RFpQWi81VlFCWDUvSGVqSmI2VitpZXFta0QrRiswbHQzdnpKQlFH?=
 =?utf-8?B?WDNOUXdEemMydVh0NkcreHRzc0taN0daaUpRNkhESndrK25Mdk1HRDAvclND?=
 =?utf-8?B?VTZGd0E1amR1NGx2UTN2QzVpeFBKa1Z2ekNpaHFIK29rNG1IT1JTWG1sK29k?=
 =?utf-8?B?M3RSRkVlY01XRHkrbG1YWlVjWmwvVkNZM1liajdvMkN0R2h6VVEyUmJQSi9V?=
 =?utf-8?Q?Z3x82DEYpOWjFFCeDLMH3WIM0DOfkY9/J1NSW62?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3d943f08-ff0a-42f0-138b-08d957d90f91
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2021 06:20:03.2520
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: iAfxFElgRCk5q40lnfhfCGjdaTJUPzKIsXLJKzKduOH/aW4Mmsthfp5mZnpvcVzLraHpt/b2fuVae12noHdTJA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3774

On 05.08.2021 00:17, Jason Andryuk wrote:
> commit 0fdb48ffe7a1 "libxl: Make sure devices added by pci-attach are
> reflected in the config"

This should be in a Fixes: tag; whether you fully spell out the
reference here or instead refer to that tag would by up to you.

> broken stubdom PCI passthrough when it moved
> libxl__create_pci_backend later in the function.  xl pci-attach for a
> running PV domain may also have been broken, but that was not verified.
> 
> The stubdomain is running (!starting) and PV, so it calls
> libxl__wait_for_backend.  With the new placement of
> libxl__create_pci_backend, the path does not exist and the call
> immediately fails.
> libxl: error: libxl_device.c:1388:libxl__wait_for_backend: Backend /local/domain/0/backend/pci/43/0 does not exist
> libxl: error: libxl_pci.c:1764:device_pci_add_done: Domain 42:libxl__device_pci_add failed for PCI device 0:2:0.0 (rc -3)
> libxl: error: libxl_create.c:1857:domcreate_attach_devices: Domain 42:unable to add pci devices
> 
> The wait is only relevant when the backend is already present.  Use the
> read on num_devs to decide whether the backend exists and therefore the
> wait is needed.

But the presence of the node is not an indication of the backend existing,
is it? libxl__device_pci_add_xenstore() itself writes the node a few lines
down from your change, so upon processing a 2nd device the function would
still behave as it does now.

Jan

>  This restores starting an HVM w/ linux stubdom and PCI
> passthrough.
> 
> Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
> ---
> Looks like this should be backported to 4.15, but I have not tested.
> ---
>  tools/libs/light/libxl_pci.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
> index 1a1c263080..19daf1d4ee 100644
> --- a/tools/libs/light/libxl_pci.c
> +++ b/tools/libs/light/libxl_pci.c
> @@ -157,8 +157,10 @@ static int libxl__device_pci_add_xenstore(libxl__gc *gc,
>      if (domtype == LIBXL_DOMAIN_TYPE_INVALID)
>          return ERROR_FAIL;
>  
> -    if (!starting && domtype == LIBXL_DOMAIN_TYPE_PV) {
> -        if (libxl__wait_for_backend(gc, be_path, GCSPRINTF("%d", XenbusStateConnected)) < 0)
> +    /* wait is only needed if the backend already exists (num_devs != NULL) */
> +    if (num_devs && !starting && domtype == LIBXL_DOMAIN_TYPE_PV) {
> +        if (libxl__wait_for_backend(gc, be_path,
> +                                    GCSPRINTF("%d", XenbusStateConnected)) < 0)
>              return ERROR_FAIL;
>      }
>  
> 



From xen-devel-bounces@lists.xenproject.org Thu Aug 05 06:31:38 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 06:31:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164122.300340 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBWua-0005u2-Ck; Thu, 05 Aug 2021 06:31:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164122.300340; Thu, 05 Aug 2021 06: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 1mBWua-0005tv-9e; Thu, 05 Aug 2021 06:31:24 +0000
Received: by outflank-mailman (input) for mailman id 164122;
 Thu, 05 Aug 2021 06:31:22 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1FJ0=M4=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mBWuY-0005tp-Fx
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 06:31:22 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 9cd1812e-dee1-4d64-81b5-a840b0a7a9ea;
 Thu, 05 Aug 2021 06:31:21 +0000 (UTC)
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur03lp2054.outbound.protection.outlook.com [104.47.10.54]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-15-3ARM7xQtME-UvcsiXVOJ3Q-1; Thu, 05 Aug 2021 08:31:18 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5326.eurprd04.prod.outlook.com (2603:10a6:803:57::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.18; Thu, 5 Aug
 2021 06:31:17 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4373.027; Thu, 5 Aug 2021
 06:31:17 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0246.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100::18) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4394.15 via Frontend Transport; Thu, 5 Aug 2021 06:31: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: 9cd1812e-dee1-4d64-81b5-a840b0a7a9ea
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628145079;
	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=knNHBwop9o4F+q/IufFmBNEmkdjW2M9uIYpMX1yd6WE=;
	b=HWCwNQiLAXNt3Fbz7KVeEnnNRAExhQVSZyNMRvxxupe6EucdZMbVBAvC56PDI3HR+PZAJf
	RgMBvIj4x5XoHfTQCoUwgUzs+MPzoJGjEhRXfgp1aI1TH0xNmPtn3baaBz5J0QcTuic3iN
	6Cgi7E1jbPQOOFUOU7iNLABN5yZop9A=
X-MC-Unique: 3ARM7xQtME-UvcsiXVOJ3Q-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SQIHnOTMUgnZJ7yx9iH/KCViJKP2hK35yOaMR5mVgAxxWFDLorA5HcFXj9gFuEaN16+VDvHNt+H/XYGF5ifP/lIKzOZAEPm2tSW9NCLIZDvK4LkcZODOd7P/68F5k/0C1DHwgxfrQCrz44LgXOF1q7Kj2VEfKrLn/WB6kqGDXAFUvzAxiU0EbGyTmgRARITEfuyiOXdaQU43GYAf/Dk0hNurVdk/Swk97+TMKw7rKTsTmmh/A2D0KaGaYlMn5Q7qRNFxJCvNnmr83snKRsxVousf9z2nsr046oyFebeaDn7LRAaO0Gf2CSBamZDV3RXwnB2j85KjPTOdPocaA80dKg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=knNHBwop9o4F+q/IufFmBNEmkdjW2M9uIYpMX1yd6WE=;
 b=eFoOCKs11YZ2VwJY899SsTUYTxj5pzRuoCoXS9uomWHVGOBy+j9u4uw626jjYa4tUmuDUEXiMOON4tzV31YAiiUgHV6L6pqPX+cXqIW+5OsrTfbqgnGpveaK0Siw2hMwkhSw6UwJwEgttAvlDMUenc/5Qjb+9fiWnEEwLSOaDzTRR81VRhyhFZ2Lsy2H4z4GEPR4Rdc57u5mza1W3wvAWnuv0zViMGrHfWRFzqGCLBvYFQ8vOj21Fww2ZmE3PqZhfQqWLuxxDV1uzLt8f03C3CnCJdeW8JbRtRK55oZ209EWlDpwFnvEKuSSwnI/CrBnfLzarBZIhW+E0O3hFPVCaw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v2] Xen: credit2: avoid picking a spurious idle unit when
 caps are used
To: Dario Faggioli <dfaggioli@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>, xen-devel@lists.xenproject.org
References: <162809973863.23114.6885532925742864556.stgit@Wayrath>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <2d0b4209-3eb7-8e55-804a-00f13bd97ddb@suse.com>
Date: Thu, 5 Aug 2021 08:31:15 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <162809973863.23114.6885532925742864556.stgit@Wayrath>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0246.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100::18)
 To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: fd1b6c91-5d97-4d91-bc1f-08d957daa154
X-MS-TrafficTypeDiagnostic: VI1PR04MB5326:
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB5326BD3DF31ABA307414E36DB3F29@VI1PR04MB5326.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XFG48x1tiiPpyT2/xzj29Qm6U5+PCj7qKdVi21b1LWUJFjZYX26PY5OAd/7V2qeGsuvOo1xc0uup+++diMRxllFa1MPGZkcwXc7YysNPr0UNA+xnWjD2IpBT8X6tz9NzFrHnG+lPcuBr3EokcknNstNbq5nT/55HDuvzAEwBNLEl0F0cABQZha5mRolXj5YQtyaHHuQ0rwi5MNRjJlKdfneatYFjQX65DbUyA6I74pph6BxzXmQfjgLKg5j/ADFxdWGtLj/88iknmeDxDmOR/LBBaqO+aDZBicJ4GI/mH9BEDTB8anK4lU2Wfb3Mld7WTpuOx+NhYnRKveHPnAodLBTom6frVNpw5/UViWApq/PDnxeaZxPmEcnJrfSVvssht3Zx7Zap+w+GCCUanuJW+uT2pV5uGybhe69bY57kZNcEcoc14BE5V5C4GzZ18iJh8/ls0PgYq+4g+bk/l8c1UkRltMalydO0A2+wv/vGgQBNpjyJBoyF1VHaY2WovMw+FAltEHHqNLhUdgP4JjhhOirb3ZeXCaZdbF4s284K9wmj3U5br9ZNKPnRj6LGWMBFg5NHExfPRfnx2RRq/D6y9Vxps+xp956Vk+IB1rzcEnIQbycoCN5YjieAp0wh3NTMihO30qT/IxPPR6O7W7Zk3v/K5CNCt/yqNLMtCfBARfTqIWA5yQsbhr9ctCgbpAtOSIPcS97HYm1vRe9MxPeybsIrRYAfz0Htk+/ntz4c1fI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(136003)(39860400002)(346002)(366004)(376002)(66946007)(66476007)(66556008)(6636002)(36756003)(5660300002)(31696002)(31686004)(26005)(6486002)(478600001)(53546011)(8676002)(6862004)(2616005)(86362001)(37006003)(16576012)(2906002)(4326008)(186003)(316002)(38100700002)(956004)(8936002)(83380400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cHBJbnQ1QTd6dGtxK2t4K1VYVGRrbTgzTU11NXUzeHFrUU5kR2RFMFJZb08y?=
 =?utf-8?B?ejVjNXNuanN3QkVnMm9yaElBS0hqTEIyL2c4c3pCNWVnMjdRVWJGNXZkRXdR?=
 =?utf-8?B?V3BaT3MrT1FGSXZxUThqdUdHc3BEamcyUkRjUDN5aXduRFovSXVTTk5oS21T?=
 =?utf-8?B?cVN5WTZEYjR0Uy8yWXIyYTB4NitrOGxESmdnVnJ4Wi9BbkZsRU1wRmZiSTB4?=
 =?utf-8?B?UTNMWDRNd0ZYZ05PUVlPdjZhL1RGUi9PRE9KTkxueGlwcEtRV0ovSWozaWg2?=
 =?utf-8?B?THFja3RxYjBMS0p2OHVhKzV1akZ6SWxiVGo2UnhqYkNjVGxSUHl1MzY4enNa?=
 =?utf-8?B?a2pmeklIc0JpcStPYTdKL3dxRXRLZzJJa21LWEdaVC9YNWpkS3JGQUQ0M2lj?=
 =?utf-8?B?R0tUVExpZmUweHZ2UURxbGozOTYydzVJaEljbmtaZERBV1BoS1h2RnJBZnls?=
 =?utf-8?B?WVl6QjlPbDBqaTBPdndhVGNPS1FyR0lIbk1qdU9JUU1JUUYzNGxSZUM1UzZ4?=
 =?utf-8?B?N1pySkZMN1BSeS9yUGlYUWhoVzBFTG9mUUJZTmVWMVI3bW1VN3RmVGZGQUNW?=
 =?utf-8?B?alQ1bWJLMnErK01XRzEwb1VETlk3eVpRWGxIOWxCMnJsTHpMNTZJWldUbjR1?=
 =?utf-8?B?K0xzM2lpRkxSUkJLNDZCbG1aWDNwMEtZNzBsbk1WMllNdDE2MWpJZ3AzeFJn?=
 =?utf-8?B?UENzYVFrbUdBYS9WM21lVEpKSXpnVlUxZ2FvQW9ZOWtpK2dNS1lPSGF0V0dV?=
 =?utf-8?B?Vm1EZjlxRHI2dHBURlY1NFZ5S1I3bG1LVVU3YkNxZVhkblU2RmFZNVUxQU1M?=
 =?utf-8?B?MDZSenZESE9wSnRtTnozcUVTdGNvTVkraU9MMHhnVHpPWDRUbUw4ZUVRY3Zh?=
 =?utf-8?B?YTRXQklDaHVkTEdRWXN0d3VEMVBFeUdsWFFENFJuaHBjV0w2MmZBeEhOL0Zl?=
 =?utf-8?B?QTZaeldNMGJmTUI2RVdHemt3REQvTDF6Tk9CY1pnTkdUMTRqbjNURmRaLy9R?=
 =?utf-8?B?Rk1iZ0hINi9vMEZJRUdESGN3WlRISUtKV3p5eURobEZ3V1QrYW1ZU0x0UTl4?=
 =?utf-8?B?UVBkWXJmbGF4eDZreHNENWdidEZSUE0rUXVWaVlTVkg0V09aempjWDAwR2xW?=
 =?utf-8?B?dWcwYk1BTUFrQ28xNktGem9TeHdzUW5idU8yaHIwZXRic1lLbXJHVDZOVkFj?=
 =?utf-8?B?OUdzelowM08zSDJSYzNsbUhsbEhhWUNwWFREZS9TV3NkTzdudm9UNmRJSkpN?=
 =?utf-8?B?Nk14SXNLWWp1cTdsbWFvcUwwUEIwemRHLzArQ1ZTeDEvNzZodDU1S1lmVlQr?=
 =?utf-8?B?dWx2Tmo1Sk9HQkl4aWI5R2EvUmlUOHpzZFFWeUIweE96WE9SOXY5SmpqTDda?=
 =?utf-8?B?ZzZFUkJlK2NKZnFwWk5BWFhmS2lIL0I5VDRsR0plT3NXckxodFFTNDVpSHdF?=
 =?utf-8?B?djVDSnhRb1kwdjZZaGdCRWxiNDlqOEd0ZE9jQk5QSFNhdUJRQThYMDRzRFVB?=
 =?utf-8?B?MmI0V0lxYjU5VGtCaWhXVytKaTQyODF0RHF5YVEzYUlBY21rRFUySnBVU2JX?=
 =?utf-8?B?b1AyWWRkNzEwbGozT2xHR3d3MXVhOGtNYld3QmRDYmI5bklFcHRTcmlTTGg4?=
 =?utf-8?B?RWtWbC9tck9TNHE2d0Nrc0gya1hYbWZmYWxaN1Y2Wm5BQ3JyTUtWR1JPK0VF?=
 =?utf-8?B?TkVnN01qMmVneE5acjlVN2tNall4RnJsTkljaXJ2UXZZQkJaM25SblNsVEhi?=
 =?utf-8?Q?1HWoY3gTaOApiOMgMNtoMMo9hVYO5Hzg9DrkYI1?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fd1b6c91-5d97-4d91-bc1f-08d957daa154
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2021 06:31:17.1567
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Mi+jrb55+9UGDLHVGXJIUNNL4Vpm2DuPk682d8RoVO2A06/SFmZI/7pZ9NRLSraR6hwhv3I1YNWlYl1ZOHoV8A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5326

On 04.08.2021 19:55, Dario Faggioli wrote:
> Commit 07b0eb5d0ef0 ("credit2: make sure we pick a runnable unit from the
> runq if there is one") did not fix completely the problem of potentially
> selecting a scheduling unit that will then not be able to run.
> 
> In fact, in case caps are used and the unit we are currently looking
> at, during the runqueue scan, does not have enough budget for being run,
> we should continue looking instead than giving up and picking the idle
> unit.
> 
> Suggested-by: George Dunlap <george.dunlap@citrix.com>
> Signed-off-by: Dario Faggioli <dfaggioli@suse.com>

In part based on your explanation in response to my v1 comments:
Reviewed-by: Jan Beulich <jbeulich@suse.com>
with one nit:

> @@ -3494,16 +3503,25 @@ runq_candidate(struct csched2_runqueue_data *rqd,
>          }
>  
>          /*
> -         * If the one in the runqueue has more credit than current (or idle,
> -         * if current is not runnable), or if current is yielding, and also
> -         * if the one in runqueue either is not capped, or is capped but has
> -         * some budget, then choose it.
> +         * If we are here, we are almost sure we want to pick the unit in
> +         * the runqueue. Last thing we need to check is that it either is
> +         * not capped or, if it is, it has some budget.
> +         *
> +         * Note that budget availability must be the very last check that
> +         * we, in this loop, due to the side effects that unit_grab_budget().
> +         * causes.

The sentence looks broken to me: I think you either want to delete "that
we," or add "do" before the 1st or after the 2nd comma. If you agree, or
if you have another suggestion, I'd be happy to apply the adjustment
(let me know of your preference, if any) while committing.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 05 06:34:47 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 06:34:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164131.300352 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBWxq-0006bo-Sa; Thu, 05 Aug 2021 06:34:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164131.300352; Thu, 05 Aug 2021 06:34:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBWxq-0006bh-P9; Thu, 05 Aug 2021 06:34:46 +0000
Received: by outflank-mailman (input) for mailman id 164131;
 Thu, 05 Aug 2021 06:34:45 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1FJ0=M4=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mBWxp-0006bb-5v
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 06:34:45 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 383f751e-f5b7-11eb-9bc0-12813bfff9fa;
 Thu, 05 Aug 2021 06:34:44 +0000 (UTC)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2059.outbound.protection.outlook.com [104.47.12.59]) (Using
 TLS) by relay.mimecast.com with ESMTP id de-mta-1-_iJNyv-COOewHQQ6_lnuiQ-1;
 Thu, 05 Aug 2021 08:34:42 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0401MB2606.eurprd04.prod.outlook.com (2603:10a6:800:51::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.15; Thu, 5 Aug
 2021 06:34:41 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4373.027; Thu, 5 Aug 2021
 06:34:41 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0054.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1d::18) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4394.16 via Frontend Transport; Thu, 5 Aug 2021 06:34:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 383f751e-f5b7-11eb-9bc0-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628145283;
	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=CWp4TOWuChhi3rqDzRsggi/z2q8u6ldXTLLYCrL488M=;
	b=An3ZRKRlVi9DgseqTOQjZ1sJlcAU/uN27KaZnVW06g4AqcrfRI68Exjb76yFRCMebTEx+e
	1rDF6rQXbZtb2JI53tnO59zev9AxIKGuuhHQ0lOiD74Ou9ogD5CvgzTgSaatc4jb6OZAAc
	0tFLLDhpy//Duixwh7ami8IiFylEp6A=
X-MC-Unique: _iJNyv-COOewHQQ6_lnuiQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XU7VePp31ozwZfwvBDRKr9qae96yHxTck9g1Mm1psvXIH5n90UFBHS7VdSnme0Zcs0l3N5HZNB0YTyxbgH23RVDNbI/P08JVwrEftjaLbQYi4nledMP6puPX2Dla5ScAulMlh5O89kfgkW4KOTr2oAZG7QdBUBmQ4lAxbSpOJERLoYwqGfun3wejIYbAMGVmyxuRvMoT50hWbGItDRZwePBezsjPcQXK1WDDGW/Rk9K80tj/xSQWLABapcyA31aH/9qqmgUAid1sdTLVCYHmmVmitEJbKo3ey9lEp2ART0Hu0szMADkIl6KpbHoTUFAzJxW/p0IfEYUqkF+7fqqOOw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CWp4TOWuChhi3rqDzRsggi/z2q8u6ldXTLLYCrL488M=;
 b=B9Sp5iHK8TTq8FF6oAcr1zysAaHgPbJ11Qfla5czAn04GunBD14XiQm7vvDvfoPfC6bO+PcXSw9n9w3fcz0WuMTqXrkO3yl3WuBVkiLFCGrg5KajwzdifTMW5aArAOdObrUNRuPKMmgKpl6zjCyahCQRPl3Hr7El3lNVYlNY0bh0jmOmYXq4YOqcSZT2kZmOYPl74e5e7tDqirFuh1kg+RVr163cFhEjl2JXwDMXw4isMS4ga1v8vQamNNApYs7/sB1ccv9pEJ+vkZTwc8BvybkuuRPbZvo9hQb79z8VAfEOTGDVTC1vvfyahDnmPLijUpvm1jABJ1yO2DsaM0HLgw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: Re: [PATCH V4 07/10] xen: re-define assign_pages and introduce
 assign_page
To: Penny Zheng <penny.zheng@arm.com>
Cc: Bertrand.Marquis@arm.com, Wei.Chen@arm.com, nd@arm.com,
 xen-devel@lists.xenproject.org, sstabellini@kernel.org, julien@xen.org
References: <20210728102758.3269446-1-penny.zheng@arm.com>
 <20210728102758.3269446-8-penny.zheng@arm.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <907be77b-2902-aabd-d0c2-38867be61f83@suse.com>
Date: Thu, 5 Aug 2021 08:34:39 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <20210728102758.3269446-8-penny.zheng@arm.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0054.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1d::18) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: fec9f242-6bca-48c5-7ce3-08d957db1af1
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2606:
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB2606DBA881F5D73BA030FE4EB3F29@VI1PR0401MB2606.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:7219;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Qr/ScPg8kcYLT0kNbfreY4FQQMjLMT/3DNa1dPlhGx3shPHQLE4FAVO4qy4LVo9HNgxxz0Ot1z+JtE3Czu9dQFUlOTi9XSUVhGpsCB2bSX98vtCUQhztlVkqCEmFF5GEVjFEtg11pErYju/oeJmNu7ljll9Qk5XuM47IFOo5wqPrNu/2dyoEg7flgXGY7NNXH44iYZYcXkwBBvxpIJTtDVNMKlo2ck3yX8NE5BBK5pQCVgNHqIMZNaPpJwjr/qAgfY3QdAJxBKg5W1nDWRJoog/PeY1DCL4Rt+MUO5+6pLGxZ+UgXtE7NkDumjV20WOvZIcydTAt5Bojza1VPPUjfU6zbcNWqMbPHgUlPBXGBbQypm+aRjDAxkHmfvTCVjNmScgRWX+ZfbnmDhlR2ziH48kzTolw8qyYtEoq5CuFp8vid4Hl5XONVDZGCV5xhR32Fx8Bmi/dRPiEknA5XTXj6gjonF06SPL8tm8v+4nWkUV6eZ+6kT3KdFtlTpnP4rcoCpSwakCiHIYOFIqKmVoGnmdOLVBbqwAmPq9ZLcHKKYZsnnijhhBibh3ly3nAlqXnKa0seTCIiXiGTpoYB7Vne/LOimCYChSuFlzMbu7cyt2PX/LMHvaPgASE9zFNEe1nWP/e2pA+yw4a4qaVPR5o9xR2YTGHU1rGLL8FEy8w5V61LIFAgzxP0RjxLyRN0ksf5g97Y3Ygc5MKtjMNPPZ1BsZ356NOJS65J1F6n8lJ8yg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(376002)(39850400004)(136003)(366004)(346002)(316002)(8936002)(16576012)(4326008)(186003)(478600001)(8676002)(6916009)(4744005)(26005)(53546011)(2616005)(5660300002)(38100700002)(956004)(36756003)(6486002)(66946007)(66476007)(2906002)(66556008)(31686004)(86362001)(83380400001)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MnNJTGVSblZjUHBSL0xhWEhTdzMxZmN2V3hHTUE1VGF4cU8wUWFsYWtGTU5T?=
 =?utf-8?B?dXVoYmU3Z3duZmtHOGl4VmhUVThvVzVHc2U2Q2lTcVpCSC9mOVU1eFBRMTRj?=
 =?utf-8?B?VHhqYjJ0eXIxSEtsa0xWcVd4TVVDanhXOWk3RGdndkpjakZaT08xbFh0WGZ2?=
 =?utf-8?B?NjVuNlF1b1RITWRZbzRIUUlaWXF2dmtjdzhDQ3JZaWJXV0JCcit4ZFNSTjBQ?=
 =?utf-8?B?YkZjdlQ5bG15THhwdGwyOTJxUGN0VnlWeElBSWx4dUdzNU1pVkRiV1JJOURy?=
 =?utf-8?B?RnA3cW1qWHQvNGRuZzBRSCs1K25UMEZCTkNUVW5OQzJwR2l4dUdqUjJiOXMz?=
 =?utf-8?B?djYxdG9pVUpjbmkzMHo1R2FoTHRxdDdhdjBwRUp2dk5CMlBQVHY1dXFTQXVO?=
 =?utf-8?B?VGQzdFpMaU5KeFBYdWZUTVJrUk1xWWtsRGUvOG01dFo4ejV0bURRejd5dVgw?=
 =?utf-8?B?REI0Qm1tNWViMFJDN3pGY1JZQkRNK2VoRVJyd0FwZk1OWXQ0a0xEOWxpSjhW?=
 =?utf-8?B?dTFTS2cyRGtEZUs3dXRDOElOa3hBakRVdlJtUVRSUUhtRmRZd2pUamZHUmVr?=
 =?utf-8?B?M3VUekg5NWtVbWFocWNHZDdPMXpRNXkzNENKYkp1TEZrb25jVE42c0o0SmV6?=
 =?utf-8?B?ZXhMWnlhZG0xYjF5eDFOekpqQ1lxaU1kY2Nmc3ErdU5KYi9FYWdmbTZKL2VB?=
 =?utf-8?B?aTFDaUE4ZU9xQVowV3p6MHNudW1aN0M5bGpZd2svWWtoQVNLM2lOOFJ1cGYr?=
 =?utf-8?B?aEY5UFFpY0l3MEllSm9nZHUzMlVBRm81YzhqNEMzYnJJRU5PQUt0NFozalFM?=
 =?utf-8?B?KzlWbTdLZW1ZWnFoZmxQTlVKNnBTQTVsNFBxaHlHZW1UVUFnbHIramx3dTBp?=
 =?utf-8?B?LzZqRENML1gxRFlRVmJpS3FkNFQwMlQxYUNrSCs3K3hFaGs5c0VLY2ZxM3R1?=
 =?utf-8?B?RGxIVlRwamdaa3kwaFliWEtyakxobnIreU5IaWl0bURsd1QvVkJneVdhN2Zq?=
 =?utf-8?B?QmJYeldUdXJLM2pHdmtTajlmSklFOHc3UW1LbVQ5R3QvWHE1N0NvSzBEK2oz?=
 =?utf-8?B?MkZIL3FXMXBTQlUwSndub1FMMmJhbE1WVlJPS3hNK1VmbXh1OXJKZHRrNXVz?=
 =?utf-8?B?WmxkcEJZTU1uZ3NLZXZiVnN3aXVrYjdUeVJreEtmVjlKK1RmL3hLZnJuNjl1?=
 =?utf-8?B?UDRrTmhEYkE5RkYyZ1dyWkQxNkVJQWVaczdIT0tYckRpcWdlNjgvcVFCdnlP?=
 =?utf-8?B?YjJSTnRmSTV3UVQ3N0x1UEhySG43NlUzNVJJenNTRGFBaURzdWliV1BVclRL?=
 =?utf-8?B?eDJLRmplb0czNW83UGM2SWV4MkQ4YzI2RzNwaGY4NmF0enRGakhUdGdudUxU?=
 =?utf-8?B?SlhsNHFITnpVbFYwdkZ2eE9PaldScVVXS1hsbXY2SU1iUTNBYlhKdDhmTmVo?=
 =?utf-8?B?cnhDVDFUY3h5WHBPR1Z1Q3VsQlZ2eXEvdGpuWUVobk0ydWhxVUhDdzVtbUpm?=
 =?utf-8?B?S3MyRU03d1VxN0MxWTZ2NnhrT0E5UHVJQkJWR2RqYk0rNFEvRjRIcFhSY2xW?=
 =?utf-8?B?dFlJWm5LcmhxamJncW1RYjcrU1dxWjVzZ01lbElKaXpoSkpQdi9oZktDaEU2?=
 =?utf-8?B?OE5sL0g1dEplNmJHSm11b1FhSVdMWU5PWW1XYmpFdlJKb3dnMGRuRjgzQUtv?=
 =?utf-8?B?eWRaQ3ZyL1dwdEw0UXFxVnNSaUFGSWRyZ3BpTnRjbFl5WDRyMWVmKzZxQW5p?=
 =?utf-8?Q?6gxE/8kMubrs5yuVVM17+yTMFPAo/NgH2uPsIfp?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fec9f242-6bca-48c5-7ce3-08d957db1af1
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2021 06:34:41.1743
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: R9APfcf5XaCLtIrwX73M6ZupsbxD5ntAmuKSkWNAvN9IWhK/KXIApxDwUHv1fEgLMhFcdOeg+OIxOn/9PbB93w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2606

On 28.07.2021 12:27, Penny Zheng wrote:
> In order to deal with the trouble of count-to-order conversion when page number
> is not in a power-of-two, this commit re-define assign_pages for nr pages and
> assign_page for original page with a single order.
> 
> Backporting confusion could be helped by altering the order of assign_page
> parameters, such that the compiler would point out that adjustments at call
> sites are needed.
> 
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>

Largely to indicate my main concerns were addressed, yet not so much to
indicate I'm actually happy with the introduction of the 2nd function:
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 05 06:53:10 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 06:53:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164141.300363 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBXFW-0000NM-Dc; Thu, 05 Aug 2021 06:53:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164141.300363; Thu, 05 Aug 2021 06:53:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBXFW-0000NF-Ag; Thu, 05 Aug 2021 06:53:02 +0000
Received: by outflank-mailman (input) for mailman id 164141;
 Thu, 05 Aug 2021 06:53:01 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1FJ0=M4=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mBXFV-0000N9-8Q
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 06:53:01 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id c54d6ad6-f5b9-11eb-9bc1-12813bfff9fa;
 Thu, 05 Aug 2021 06:53:00 +0000 (UTC)
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur03lp2052.outbound.protection.outlook.com [104.47.8.52]) (Using
 TLS) by relay.mimecast.com with ESMTP id de-mta-5-oQMfnNTZNc-iSDA62YymAw-1;
 Thu, 05 Aug 2021 08:52:58 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VE1PR04MB6671.eurprd04.prod.outlook.com (2603:10a6:803:11f::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.16; Thu, 5 Aug
 2021 06:52:56 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4373.027; Thu, 5 Aug 2021
 06:52:56 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P195CA0024.EURP195.PROD.OUTLOOK.COM (2603:10a6:102:b6::29) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4394.16 via Frontend Transport; Thu, 5 Aug 2021 06:52:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c54d6ad6-f5b9-11eb-9bc1-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628146379;
	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=X1LthYVrTs1QfFC9opXUv+JRiamFAUKS1QSFS2ubh+I=;
	b=dtznnGwMh7wWAt56S78S/z365cE9Eh3IaMbOGlGi8dn25GwwRUAXH8XiN0d8L/Or0ggfcB
	O8Bs9AF/jVWjGeyeDsgn2h35ckKoHiI6upyY17CCv4oY1F3BU2RKaLaV5suMiHhF1uRFuE
	fP25tXoSQHFqXMtWdDuPqRL6BMKl5UA=
X-MC-Unique: oQMfnNTZNc-iSDA62YymAw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gpxqPqoMQNbxJcbYyH3Kc7H/NC7KUWroJjI6t5b28rUb4q9KKtqnj8uuK5cIiGuSSMXnlyszHBalfqjGaP25qZC1nFi+77p+0schRO4YVsFrjeLke378yKGlvigfh6YLJlPmHQGx3JQ5bXM1DkXnbLUacsdcDCwVoaalgj/wAMjSQW1LWgZiTa0ptJBaZtl5KFmbnnh6pevhLZNC+jKSvoaURfMQyvAw6iPbz3IIxfmJCROMA86FvQXj4uH1oE9r1virDCylNEAT/bb4Y7MfSBWzxePOQFE1Oh/lkIy4c7Uu3FBXPOSK5RUGMC+IrBa+1dTib5m8ZDtuwhWpbHgGmg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=X1LthYVrTs1QfFC9opXUv+JRiamFAUKS1QSFS2ubh+I=;
 b=Jt64Acz31mXTT49wHliqUX0htO4eS04/DV9rMb5XX6gkOI4VL9CneFU0l47ir1LBwJOO8vVCE2JuCoABZ7MOJ8Pnwcs45z/3FMdavbjqChxRYtuy4Vy1Z3MWh98N/EFDs0ldWKMcxoHyWVtiOwiApJUO7x+0jtxz3fOHa9DiBzar9iS1nzilfGMzeFpTWNFU19guhJ32WlnSAKMsVCjpRgtL+VDz0JYVAhS874hh/E+LkWcIhI0I+Zj3AJydkqJpqjmvb+pku82vB3p2nySkd+Lri/T28w4rbIetzCfV3O/ad0f3zZyNXzB131Vjxsn4tp0EigXgSZ+Dxe8TxRydQA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: Re: [PATCH V4 08/10] xen/arm: introduce acquire_staticmem_pages and
 acquire_domstatic_pages
To: Penny Zheng <penny.zheng@arm.com>
Cc: Bertrand.Marquis@arm.com, Wei.Chen@arm.com, nd@arm.com,
 xen-devel@lists.xenproject.org, sstabellini@kernel.org, julien@xen.org
References: <20210728102758.3269446-1-penny.zheng@arm.com>
 <20210728102758.3269446-9-penny.zheng@arm.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <d1c65fd4-13f3-ad26-a13f-21f3f3f48e66@suse.com>
Date: Thu, 5 Aug 2021 08:52:54 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <20210728102758.3269446-9-penny.zheng@arm.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P195CA0024.EURP195.PROD.OUTLOOK.COM
 (2603:10a6:102:b6::29) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f43e4be0-ce08-4cb7-c778-08d957dda779
X-MS-TrafficTypeDiagnostic: VE1PR04MB6671:
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB6671BF12CD826978A6FB1B8CB3F29@VE1PR04MB6671.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	hTY5lpflfR6o/lRcybsbeQd8tjXKtM2sK6VSkKryi8N9DuzKzSVMcP4I36jRV/QPo2LsMjl6phgllls04VAIrvFWPJ9v8DDY+YxnVatFfe/KOJm7It0YU1/uVFB4FNbJ0u3g7sG0HsgUUlH5dZuHHapj5cMi3fyNxZ0EACysMHwnxt8gVuhK9R9LxsXUluAhkZlNYxS4usfW+0eg9FJlR9YSv7E+5/RUSpTB7OxUu5zkoRjkLayHu4MusGoU9pA/AXt0oklEwr+cK3gO4ZsKzVlzwkqrZVtqlvZMpxbavNPjUUvdD+gZcsBlWuQWDJebs0VVi8ndAYRgOdWLQcb7DB8DJKdB6DIuANbPWErtHo6ToKAC/KWY+EjclCKNBn1/xT+LZJSX+RKq4eJzdTaBpsFw7VwwfYimO4RahFtxM/pfWlhlpEV4XXIM94Egxxj3DZhMydUMGSFSC2Xp6s6ml9Rf9IkjMfXwGbIANOGpmGanC9s/MJENBVWeRdcFrcXCGh5VhSBAuLVxj9uTBRnGe2lTSIJ+1hZufXWFwslOx3LTiA8Uv3sluzc2YVrjJA20my5FSKAV5GZqUYE4XOiXPH4vdFXExqmdUVD/1VPdoVU+puYb+XN8rc56AHgsQmZXFBx+9Oh6oqlKPQMuWc4jUUIHNMoGbSaU8V+NMS2wE/zGEonHdSyBOaVgJYNcHz1o61XTSvGSeitQHYjjJ0pJB7Xv8uDNby39ISScfJd+Slk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(346002)(39860400002)(376002)(136003)(396003)(5660300002)(8676002)(66476007)(8936002)(186003)(6916009)(66946007)(83380400001)(66556008)(38100700002)(4326008)(26005)(2906002)(2616005)(31686004)(956004)(36756003)(53546011)(478600001)(16576012)(86362001)(31696002)(6486002)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TFk1KzZaNVRUdFR6K3gzYTVpMWorcjM4Y3NqWU9MM2VJQjQ0SEpmYWNOK2M1?=
 =?utf-8?B?WVJLcHlFWmpPNVZXaUdKMlNBNUhtZlM4K21MMC8vR0xWZU5Rd1hzRG5CdjF2?=
 =?utf-8?B?Qnl6QXlQdHNNTzliS1Q5bjJRZ2EyZlpUdkJPNjl3VXc0cGx2dGhvdHFSZXE5?=
 =?utf-8?B?U1M2aFVtbG5veHVCL1ovejN4MGJCbW9DVkJ0L2tKM3BGRG9MYUZpWE9qamxU?=
 =?utf-8?B?cnF3ZUtDU0dYa0hVTUo3eHV2b0o0ekFPSnJUUS84UnJ1S0hrakY1eFlHeW5B?=
 =?utf-8?B?SWJMWjUyRnBPVzRLNlhLZXNWdTQ1bmUwV3NhNkZHMW1PQ3NzSDBMOS9UNkFn?=
 =?utf-8?B?NG9JTGc2Tzh6ZTVJVUdiZjJVOXlaeTdxUlRSNGN3STJtdmY1bTUzRW9PaHpq?=
 =?utf-8?B?VFpweUpOT01rRDJ0ZXdlN3BHV1dBRStBclFVZ3VTb0tvazdlc1hBM1ZQTWNu?=
 =?utf-8?B?c0dpNVZib21zNS93QUVkbnNuRWdnVmFNYUZtT1Izby9naDFMR3plZnBsc0o1?=
 =?utf-8?B?Rno0aWhJaWlVT0phV1BobC9UZ0JSQkxuWnlQTnpCOXNqZGtaK00xUzk0NDMz?=
 =?utf-8?B?QzM4WGJNU2NDRDNkbUk2eERQcVhrRXFqV3p0QTBLNStTcHQ3ZWJ6bFVOZzl6?=
 =?utf-8?B?NFp6TmgzbXRDNjZ0SkRjcElpRkN6QU1lQmZ1SkladStSdU5sUWhQTklGYTF2?=
 =?utf-8?B?MEZxakUyMVVVMENta0pDVUxGdStleUFtWk1BQzNRK3d0eSt2WlZxWXpZMzdp?=
 =?utf-8?B?dE1TSUs4bVNzSlpsd0REdFdTcGgwdExCb3A0eUpEbDUwS2pSbFVxdG1NT2Fn?=
 =?utf-8?B?cVQ4RGxJcGV3RDJSYklZZXUyQjRlTUxkbWs3SlRHdEFEZW1ZV3ZqQ2FHbis2?=
 =?utf-8?B?STc1WDJuY0V3UnVPWVdpVldBUDZpSXliemlHOWYwU1B4ZWpRMjJBQURUL3E1?=
 =?utf-8?B?MzI1bUJoK2tXQ0pJMk1Uc09jV08reS81ck8zdjUwZG0rWHJ4WWlYK0p5VVE1?=
 =?utf-8?B?VFFRWGhIajh6ZnA1bUxzTTVmR3dSZ2t0MWFHdzBhSlZkS2VZcjhnQ2NYNmov?=
 =?utf-8?B?MHpKSDM4QnEwZE8zdk1WTmNuRXMySmNVSE9WckYyVzJBaml4L0toYXBqdlVt?=
 =?utf-8?B?NVFqS2o0RUFic2x2T0RBK0l4V0RYVE1SdEl4WFdlZ25ucGJiWlZPNWJpRkdi?=
 =?utf-8?B?MUJKbWZGd2pncU1zeXRQWlBvNlVKcTdzc1BDWXpZckRDL2FLNEw1L1hRS0xQ?=
 =?utf-8?B?cU81QlZwcUlzbEUwT0VHR213MXFaTlpqU293eXhyb3g4RnFpTGdYNTFMT09R?=
 =?utf-8?B?QmJ1QnQyMUIvWEVzZTVXMUpSNGpOQW9vbzZZbFBPWWR0NWRjTGVnZ0Nkbmhs?=
 =?utf-8?B?Sm9xS09zTXpJN3N3ZVc1T0dFcThLaVdyNzBtUEd3MGZmd0hHa2d0anlZQkps?=
 =?utf-8?B?S1A1dkVlQi9SZFlValFzS0dIamVZZVVVKzY0NzRKUmZlRGM1L2M3a1FOTVln?=
 =?utf-8?B?LzdPWThyNWdEZ1VZN1FGN0MvT0tTZjdnQkpjRU56QS92RVF5b2xxdWlYRzVu?=
 =?utf-8?B?Nlc1Ymh1bENUNE54OERsU2FiS0FIQmhSZXhGV21NMEVKL2pDblhvTnZNd2dw?=
 =?utf-8?B?N0dsUFZrNlkzcWFEWDNpeUJqQXVwTkt2cU93eW5qeHB1SElRWXFxTWNOVTV2?=
 =?utf-8?B?SmRibnpvWndaZktXakdGR013M3c1blAvM1AyREk3Tm5sdU5DMVQwY2hMbWpK?=
 =?utf-8?Q?PueJA3DR3lgCktXQDT6P+NOv6jcnqAzxrb6pOot?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f43e4be0-ce08-4cb7-c778-08d957dda779
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2021 06:52:55.9490
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: IIoLKK8n+/JlngX0+rfBp4vrBOZ4sjJjK4e/B1PddYkIZfjGjmc5sfFy0sidqYJF4gE3CXK3Roi/sLxiFfq9NA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6671

On 28.07.2021 12:27, Penny Zheng wrote:
> @@ -1065,6 +1069,73 @@ static struct page_info *alloc_heap_pages(
>      return pg;
>  }
>  
> +#ifdef CONFIG_STATIC_MEMORY
> +/*
> + * Acquire nr_mfns contiguous reserved pages, starting at #smfn, of
> + * static memory.
> + */
> +static struct page_info * __init acquire_staticmem_pages(unsigned long nr_mfns,
> +                                                         mfn_t smfn,
> +                                                         unsigned int memflags)
> +{
> +    bool need_tlbflush = false;
> +    uint32_t tlbflush_timestamp = 0;
> +    unsigned long i;
> +    struct page_info *pg;
> +
> +    /* For now, it only supports pre-configured static memory. */
> +    if ( !mfn_valid(smfn) || !nr_mfns )
> +        return NULL;
> +
> +    spin_lock(&heap_lock);
> +
> +    pg = mfn_to_page(smfn);

Nit: This can easily be done prior to acquiring the lock. And since PDX
compression causes this to be a non-trivial calculation, it is probably
better that way despite the compiler then being forced to use a non-
call-clobbered register to hold the variable (it might do so anyway,
but as it looks there currently is nothing actually requiring this).

> +    for ( i = 0; i < nr_mfns; i++ )
> +    {
> +        /*
> +         * Reference count must continuously be zero for free pages
> +         * of static memory(PGC_reserved).
> +         */
> +        if ( pg[i].count_info != (PGC_state_free | PGC_reserved) )
> +        {
> +            printk(XENLOG_ERR
> +                   "pg[%lu] Static MFN %"PRI_mfn" c=%#lx t=%#x\n",
> +                   i, mfn_x(page_to_mfn(pg + i)),

"mfn_x(smfn) + i" would cause less code to be generated, again due to
PDX compression making the transformation a non-trivial operation.

> +                   pg[i].count_info, pg[i].tlbflush_timestamp);
> +            BUG();
> +        }
> +
> +        if ( !(memflags & MEMF_no_tlbflush) )
> +            accumulate_tlbflush(&need_tlbflush, &pg[i],
> +                                &tlbflush_timestamp);
> +
> +        /*
> +         * Preserve flag PGC_reserved and change page state
> +         * to PGC_state_inuse.
> +         */
> +        pg[i].count_info = (PGC_reserved | PGC_state_inuse);

Nit: Parentheses aren't really needed here.

> @@ -2411,6 +2483,38 @@ struct page_info *alloc_domheap_pages(
>      return pg;
>  }
>  
> +#ifdef CONFIG_STATIC_MEMORY
> +/*
> + * Acquire nr_mfns contiguous pages, starting at #smfn, of static memory,
> + * then assign them to one specific domain #d.
> + */
> +struct page_info * __init acquire_domstatic_pages(struct domain *d,
> +                                                  unsigned long nr_mfns,
> +                                                  mfn_t smfn, unsigned int memflags)
> +{
> +    struct page_info *pg = NULL;

Unnecessary initializer.

> +    ASSERT(!in_irq());
> +
> +    pg = acquire_staticmem_pages(nr_mfns, smfn, memflags);
> +    if ( !pg )
> +        return NULL;
> +
> +    /*
> +     * MEMF_no_owner/MEMF_no_refcount cases are missing here because
> +     * right now, acquired static memory is only for guest RAM.
> +     */

I think you want to ASSERT() or otherwise check that the two flags are
clear. Whether you then still deem the comment appropriate in this
form is up to you, I guess. Otoh ...

> +    ASSERT(d);

... I'm less convinced that this ASSERT() is very useful. At the very
least if you use other than or more than ASSERT() for the checking
above, this one should follow suit. Perhaps altogether

    if ( !d || (memflags & (MEMF_no_owner | MEMF_no_refcount)) )
    {
        /*
         * Respective handling omitted here because right now
         * acquired static memory is only for guest RAM.
         */
        ASSERT_UNREACHABLE();
        return NULL;
    }

?

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 05 07:04:34 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 07:04:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164150.300376 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBXQb-0001sI-Hv; Thu, 05 Aug 2021 07:04:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164150.300376; Thu, 05 Aug 2021 07: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 1mBXQb-0001sB-E4; Thu, 05 Aug 2021 07:04:29 +0000
Received: by outflank-mailman (input) for mailman id 164150;
 Thu, 05 Aug 2021 07:04:27 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1FJ0=M4=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mBXQZ-0001s5-Rd
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 07:04:27 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 1f8e018d-d048-4eec-96df-53263f0524ff;
 Thu, 05 Aug 2021 07:04:26 +0000 (UTC)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2057.outbound.protection.outlook.com [104.47.14.57]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-40-ZfBHanisOiK5TBrWMEtkAA-1; Thu, 05 Aug 2021 09:04:24 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB7039.eurprd04.prod.outlook.com (2603:10a6:800:12b::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.21; Thu, 5 Aug
 2021 07:04:23 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4373.027; Thu, 5 Aug 2021
 07:04:21 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR05CA0079.eurprd05.prod.outlook.com (2603:10a6:208:136::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.15 via Frontend
 Transport; Thu, 5 Aug 2021 07:04: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: 1f8e018d-d048-4eec-96df-53263f0524ff
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628147065;
	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=kBlKBEiHbUBBYuvEEBQBsLv3d3jNwgqUNb0n8dMRK/8=;
	b=bJRjL+Q0jhpxwUUsVRLuV/DYUIQBAV0CbptjACRC8WdL82VSY/2Fr/5saJe7NrvpSs4WnM
	3MKNXKCQMEdZ4yZ3KeyQxlLSn6rogNWZtDw3XIezY9I6EHrBDocaSjyQri1tMl5fypdlAz
	ot3FsfhF8KZ8eXDfCxLPFDv7z1EtRZE=
X-MC-Unique: ZfBHanisOiK5TBrWMEtkAA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Xbm55i7F0oeKzS2/aAcXco+2qkAaQRSd0U+GYoxp5K2cGJDZqW+DvCelSBSQqk+I1xb39Ky+jMIGArA+YZNNpHZmxgV5gMIp97eolPOMXkJOOmC4OVyFy/1jT3u+BCpxfWrBvrGXuWn4G1D3ZMw0AqCu9Sq2faFk2MHWVPi1FHqx5pYkqemJneLJ8F1Jdf4u3+pWu+9FXOsgweC1UDxutUmLjr52MTLjPvrFbjaIwTj6zS0tASEpiUJnocixDgP6qKDlPunUaiqZ/8io+sm6lobt+Zvxc8nlWxWk+SP+uWjq0Y0LR4Ufdj/osj3hxFnjcD1UWGM3fxxS7o3DH8690g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kBlKBEiHbUBBYuvEEBQBsLv3d3jNwgqUNb0n8dMRK/8=;
 b=kbtdoiITcjwBBbFBKxmMyGHXmQ/FD0vp2dmhnH8GiL9E/peqs2c3iHr80bOUBIvCVJr5MSVWmgLmoeXWwWb9qQy7WAzYV4deNhIzLgWwP3f6hvoJmqyJUiA1kuHUsFlAe7X76IpnhuCJNtCEGIm1OnomrxECdtmHMhmnF3/PP8Xku9/Z5Gwo3yIxb3kIw1PqgekebnjfZ27Y9zZiROl0aX3f3Yt3/GTYRhcqPdxtJEiNVUsQUHw22h2P7PKfRG2smcwlGAwpVe9tnC3Nr4+93TtTLnwI3fCkwyKiBMj845o6u+6nqFZnwWhHW5D8L691YA6i9423O6PF6KsRH7FpRg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [XEN PATCH v6 18/31] xen: move include/asm-* to
 include/arch-*/asm
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>, Paul Durrant <paul@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 Lukasz Hawrylko <lukasz.hawrylko@linux.intel.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <20210701141011.785641-1-anthony.perard@citrix.com>
 <20210701141011.785641-19-anthony.perard@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <58a894a9-dc64-6a4d-7468-acb509892777@suse.com>
Date: Thu, 5 Aug 2021 09:04:18 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <20210701141011.785641-19-anthony.perard@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM0PR05CA0079.eurprd05.prod.outlook.com
 (2603:10a6:208:136::19) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 0e1b87a8-e14d-4175-6b77-08d957df401a
X-MS-TrafficTypeDiagnostic: VI1PR04MB7039:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB7039ED33B918F72964E4ED55B3F29@VI1PR04MB7039.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:7691;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZG7jvzePCYRW+OWEHV86OO/SRCYtCaX1pVcdPnAA1No4SOEv2Jbf2CKqTj5hLPzK2nbn7grTtSe7CPrjGzsBZM7bcLETqN9cIgufCjHMOiTYVak+klRz5xqjREEFHcy/Yug1ZGyk360rrtNDFwHQpDTj0tdPPB1xQfp0zWDZV1uGeass2YZh9hHdhgGCHqXSQi0CcJln1NP4D2ISs2gA6+cQpoYfY4dGMWE87TSs2U7SiTH/9bZxW0eYVMbFggBmKwSo1Nx6X4pRYm6BBhWbZ2n6MQxRJYlGD2hJKz+/qHvzA4SbRxT6ZP2n09+KCjbhOtjcrwft457BYCa2O85hDgV+jkCX2k4FGnvB31pyLwvK5FcMxR8Sx6nUZ9l+BxA5WzRLGAmBItqllPy/nCpcR9hK1iNDTgiK7M0BN8PXdz2sZ6V1GDILPz70M3AUvDYLGquGZ+fZbIxq21+qqXsDuLLwGWtXbp15OOg01xn89KY1rrqMOLFdQ2fxi+bdZbaCKsQ9qwZ5RBUlInb5CgCuAIIyp0Q+2JavObXOWj1zbBGFGmHg+ocsev2uiVP3Lc2VvvaPPTdOeVHZgxYXeoMZ5XJwH4I/wKkZAc+dp2CDwu2ILNBRLeQxsIVv2x4iV4Lnm1z8YVM+P5ISGpxkG3YnFgd8zXOjksTuN+otkQX04khJokAcsTJyTcEZHXU3Jk8VNF/N+r81I/7iS1JwZfMu+jlbiRRRggQwD9dnLoJndbg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(366004)(376002)(396003)(39860400002)(136003)(66556008)(31696002)(36756003)(6486002)(66946007)(31686004)(4326008)(86362001)(66476007)(6916009)(478600001)(7416002)(5660300002)(956004)(54906003)(186003)(2906002)(8676002)(4744005)(26005)(2616005)(83380400001)(16576012)(8936002)(316002)(38100700002)(53546011)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NVAzOVZ5SGdHOWQ1MHRyS3Y5bndVQmN0RUJjZThEL0NvTzl4aGJscjQrZjZ5?=
 =?utf-8?B?czN3OE81bXBGVVlBekFleG1XMEttR1J0czBMTmFOU0RYNDFXaGJwU0o3SDk3?=
 =?utf-8?B?aEtWSFZUUG5YZytJSEhEV1hxc1RiMmVPMVJRbWd5bTlGWkRzeGZIQlpQU2hF?=
 =?utf-8?B?b3NkTkpkdFBUb0pLOXROcHFldDFVSXNZZHN2aGxxU0lBQ2tJZVZ4TlVKUkN2?=
 =?utf-8?B?QlRGcCswaVpHVEZpRkthSllWcEt1elZXVG90VE5uNnh3aHhibUNYNFJva2d6?=
 =?utf-8?B?UW5Pcjg5WlRJT2dCZWt2WWplcnRpYWlzYnU2bHdmeHdBUGpiSFkvLzhBczkz?=
 =?utf-8?B?UnkwVlYyU21wVVh1RXAzOU5zSXcxQWE1OTYwM1ZjWW51b1AyeUtFWm1TdlNW?=
 =?utf-8?B?ZHFGVlFKT3pmVGhQeG8yaVZvblVURGtrTDN3T0ljM1p1QlVSL0ZOZytmT1pC?=
 =?utf-8?B?eVJrUlBHUFpoOWZsV2VCNFRxSmpRN3RxQXlTQWZzRGV5T3V6dWRPYjgra1JC?=
 =?utf-8?B?bWgvenNnOG8wRWdubEY0eWhSbURrSE9OOHowQldMd213VmJzVTFXeWtvV2NT?=
 =?utf-8?B?Zm5WTkRGNC9GMGpKdUZ3ZGVPSmQ3aGpENjJDR2xEZnlWRTdBdm5pdW5NdXB5?=
 =?utf-8?B?Nk5GekR6Q01iVzMybVJISmlHVUYyamJWeFV3VUMyU2NnMlVUT1pkTWlVS0Vp?=
 =?utf-8?B?K09tYTdWQkhmNUd4Uk8vREFxR1pYOU12NVd1SGRLeWVBQ3h5MUhtY1orN1Zs?=
 =?utf-8?B?NHZEenJFWFpubzJIL2I2SXpzZWpVb2psa1VhcFJwSGFWT0RiaFNjWm4yeXVJ?=
 =?utf-8?B?MVZuOEF1TzMrWlhnVVFHbzE3L3ZrdU1hT2REM3U1bFZmSUVZMTJjZlNDRW5P?=
 =?utf-8?B?K3IxZWhQME5UNTZJRXc1Mm45RHcxeUY5bEZuOE5BNE5Qc1BuT1JrVURWaXE5?=
 =?utf-8?B?amV4OU43c2xITExnTG1jUjZ3YkFsM0xhcTRhSVRtS3JudDAvODJvN0VXQ0xF?=
 =?utf-8?B?TnJNWVQ0eHFaeTMwUUpNNkk1NUFiKzhYcm5kUVEzaFpHQXgreEJYWlJ4TGhj?=
 =?utf-8?B?Yk11Mk0xajJJamFQOFJ3TklwcElySG1HWWhyek1VT2FPQjVFdzBsVVdWSmtv?=
 =?utf-8?B?R3pvZGliQlR1eENtMDBBOW9RYU1MNnlLc0NrQitlMFRUcTBHalpETCtBdXNC?=
 =?utf-8?B?SnFHbU5NMmdvK0NlcXJ1UG5ZWWhsZCtGTFVhMm90cFdOeGdpVk02ZzRvdS9n?=
 =?utf-8?B?cS9vUk1CWGdlNTFuYzROV1dQY2lkTGNFcHpKcGwwdGt3T21rWnFTM0hBTUFW?=
 =?utf-8?B?L1d0Rmp3alREKzBma0dZc1NDWmtxcFRGNHlMSG12YW0vblBtMlpoRFVxNThp?=
 =?utf-8?B?eCtUUHRlUGRyOXI5TXNNZXBaQjRJOGZTdEhTUWpJc3NZUzcvdkNOY1llOTZO?=
 =?utf-8?B?SnlZdG5ReTZYYTBuVkNjaTdUWnR0d3VIOUhxdDlkMk1BUVROTUR4TDlKRSto?=
 =?utf-8?B?U2JNWXlzVmYyd3BmSHFLdVdxbk9EQWc5dG1MSjhGZDc3YURaVEJFWTRQNnZQ?=
 =?utf-8?B?emIrQzJwL1FTcDVKSzBhWUNoNTRVVDRNdVIvSXl2NkE0dFpiTVVrL1dDbkc1?=
 =?utf-8?B?eUZsRXdSTitnTG9JYUx5S1hmbEpPSFN1b2hEYTMreXZ5YVBoUlBISHNxcUVT?=
 =?utf-8?B?YTdBaVJYRnY2QTduVUNWQnVSMDRLZkV4c04yQk03VjZrNjc1WkQybUwweFZi?=
 =?utf-8?Q?TSgdc5LoqBBxu4sGhlY9Zn2axd8wt1d0jw4YBz+?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0e1b87a8-e14d-4175-6b77-08d957df401a
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2021 07:04:21.5781
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: j2qKdqdLYvC/TDjlEEt+pUO/GQMEbvb3AnqmK9X6l0WPVK0CT/qMkbf0ciC6j52eaxGEx3OoKKPCVlRK2VUAfQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7039

On 01.07.2021 16:09, Anthony PERARD wrote:
> This avoid the need to create the symbolic link "include/asm".
> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> ---
> 
> Other possible locations that I could think of:
> include/arch/*/asm
> arch/*/include/asm

I thought it was always the plan to follow Linux (and kind of XTF) in
this regard, using the latter of these options?

> --- a/xen/include/xen/bitmap.h
> +++ b/xen/include/xen/bitmap.h
> @@ -14,7 +14,7 @@
>   *
>   * Function implementations generic to all architectures are in
>   * lib/bitmap.c.  Functions implementations that are architecture
> - * specific are in various include/asm-<arch>/bitops.h headers
> + * specific are in various include/arch-<arch>/asm/bitops.h headers

Then, just to take this as an example, referring to just asm/bitops.h
in comments might be enough (limiting churn on some of the ones that
you're altering)?

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 05 07:09:24 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 07:09:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164160.300388 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBXVK-0002cr-6f; Thu, 05 Aug 2021 07:09:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164160.300388; Thu, 05 Aug 2021 07: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 1mBXVK-0002ck-3a; Thu, 05 Aug 2021 07:09:22 +0000
Received: by outflank-mailman (input) for mailman id 164160;
 Thu, 05 Aug 2021 07:09:20 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1FJ0=M4=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mBXVI-0002cO-9n
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 07:09:20 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ab116f1a-5baf-402c-bc46-61f92950d6f2;
 Thu, 05 Aug 2021 07:09:19 +0000 (UTC)
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur03lp2056.outbound.protection.outlook.com [104.47.9.56]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-39-PY7pkXwpNye3awqhsqnUXg-2; Thu, 05 Aug 2021 09:09:17 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0402MB3936.eurprd04.prod.outlook.com (2603:10a6:803:23::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.15; Thu, 5 Aug
 2021 07:09:15 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4373.027; Thu, 5 Aug 2021
 07:09:15 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0217.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1e::13) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4394.15 via Frontend Transport; Thu, 5 Aug 2021 07:09: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: ab116f1a-5baf-402c-bc46-61f92950d6f2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628147358;
	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=aSfvfb060d6ZWfg0uVXEirZ/BTJ7eJxdhKN8nE9MBEM=;
	b=WkcQ/Zqhgt+hkR6ya5dPzAuP0GyWs2tZ6XM3fgz/UY6oh5rByEIRd8RdYDSaqPN23I/dBq
	U6enphJI4Ycn7nUTPuTiluhJ4YbU6eEUB52g79HvTH7cGTU7mWNqisV/UHVuyaD2fUCO3N
	UACe7AyAzuzYegDrGZYuiOuk56DiuC8=
X-MC-Unique: PY7pkXwpNye3awqhsqnUXg-2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MTPShMrwU017Bxma6I+dIcLzdSylmdPC5lgL++1nFQWRft5fPtx5a1x+w809Rq/rpetnrb9iRb0/bWTppljyOhBWG25NNxGe3O5Yjm0NUczuwChS1SCw88hh8Si0iK/Fkt872rYxK1LtbHxhmoV0LFwzqgn88midm79nn/ifdF+daMVBvZPcBI/zp6K0/oqAdzKPNXtQH4e7HMhXO20vPwCRKQxD1oDZo9PlkCIMlDzlNu1ZHO9nUzOZjVKfpnngTOCvQa8bBjHQA/RcYiQ4dkc5nuZzFwCqp8KHLkQbgVnWMHLfQwRXSfpRXlk7Fdo26YWpo6HZdvS8yP0r6AWTmA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=aSfvfb060d6ZWfg0uVXEirZ/BTJ7eJxdhKN8nE9MBEM=;
 b=SzjpoPXgXwJERJcH72GLFYRl1GluZZtKfawY+Jmg2T3yrteL0gweeX54BDF1varzb57y+JTgOg8nLU1Xp+EzommytNuB2RctQ4TnHiFgV9+FDH+ZakWi45iSNZRdtJCKcjXj7qNjMnsJ39jSCZBD/CpB1ysnXhnxSepJ5tESONUkeoZaUumZbgnrf+8s/tWORph99eGH+zMUj13a0+STMI+TFOzBb6MYPqYIbuKU6h4MNqxN2YvmwbsxQhibPQcSHJcyO1TgS1xLS01Wy5cWIsyVan7AFSH+3wRwtqS05kmUNSlq77hgsA+DTF2ltDWV8RLHZN68P4B7fZ7HcPD0gQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [XEN PATCH v6 19/31] build: rework .banner generation
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <20210701141011.785641-1-anthony.perard@citrix.com>
 <20210701141011.785641-20-anthony.perard@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <6debeffc-a710-0145-beba-29cc1e00d51e@suse.com>
Date: Thu, 5 Aug 2021 09:09:13 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <20210701141011.785641-20-anthony.perard@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0217.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1e::13) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 94d1ace7-d2cd-44f2-07d7-08d957dfef5b
X-MS-TrafficTypeDiagnostic: VI1PR0402MB3936:
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB3936839B162FECF355E0AF9EB3F29@VI1PR0402MB3936.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:1186;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	pzjRUR3q1rar0BSegWIujHhuNrUoWkPRvDbNnRBtEx0A2ko1SRkduSczmcYTRamBRYdo3tEw9RQ8qIaTqA3gjJn4K4RFu9QTwXh/TAtwulq3gTeSriDhwZuIeK01q+Ct5zQH3tJFNZvo/VscwEfAsZESl8Ot8EiALxH2O7gYauq5pZnkU8QCqNaMMhwTxAXlp9RMsS3PSAzg9f6Nk4839tNivTZcXsaSUTNWIbi2e0dZAHJxuSxZDVAPSgdUItKQbA1DvoJ6PWzd47o0ZnXjhhcIjHI7Fq/w0W2f3P2DYhZ58cLjJwt64MZg3tsfY5H/W7vMrW78PZ+WOrXv+w5J86XAapk76g2J37f1PQOyYpF82n9LKi3UWA4+oxL+bZ61Nvld68SasEwcZONecijnGCXnvU3gRFBKFv4DnmIn8ldc2amuMT+gTbEBgDn/MyrNiJ+Xn7BFG3GhAxyTloBLybohsQAkAT6dt6TZ6io//jjgXyqv9vLbEpGINy+TP6RiQcHI2OF+suX54E6cBFGWTK4KZHgx13H9FN83r/sLUKMNqdTfESKhGku3R/KVLNe/ClSC/PP3j6Wi5Hax6GI+dXdpgmq6KkLKLytHmnpXk/vUWg9XnRCpz2SCHUXGhDRi+gsTRvJnzMrMv98+D22Hch2TV7vrAsPVoEQcAPtEfgA43QlocHqHP3Ra5ix2X9x9zaFv9Zf9QfH+8n4NBdWt90l+xbPAJooLOg82NIUf1OctM7iEGwHBIex6sk1JAED8
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(366004)(39850400004)(376002)(136003)(396003)(4744005)(8936002)(53546011)(5660300002)(26005)(38100700002)(6486002)(8676002)(186003)(316002)(66556008)(66476007)(16576012)(66946007)(31696002)(4326008)(2616005)(6916009)(86362001)(54906003)(2906002)(956004)(36756003)(478600001)(31686004)(142923001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZmdKNWpnbUFUWXBjcWlQV2MwMDFFK25QbEJRdk16QXUvd3QyckNBMWhlQjFE?=
 =?utf-8?B?ZjI4dHV4WVhsejVSUTI1dCtYV3FVU0M3VVJoYUpTMUxqK3p2dmxITzVSWUY0?=
 =?utf-8?B?c0E4TnBFZ3lBSG4xNFVTRGJVb1JPMFdwZnJjT1pnRWZoZVl3QzFGVnBkSEtl?=
 =?utf-8?B?WVQ1MU9YN3V5ZGloSWtuc0NwUmdoQVEwTmNydnVlcENUd1FDcTFSaEhGRkJu?=
 =?utf-8?B?d3Nqc1ZWYUpCRFhLNTNsbWp0SkdkdUNyY1E3ZGMwQk5pK1ZSaVZSdUZPWWJs?=
 =?utf-8?B?dGEwYzQzNzV4QmxHc0llUDZXY2FWMGtzS3FaaGJ4MHlYa0JqcEdIcHJYMUt2?=
 =?utf-8?B?NlIxTDh3amtCTlh0dFBvcllHR2FZT0tXNmpjSDRIUjJnSjRuMk9zM2VPZ0ly?=
 =?utf-8?B?MTJ3dE9iTnlreXVSdjU5K3R2Mll5MjJpV1RQaDROR0dDUEJMNmhSYVQ0cVNq?=
 =?utf-8?B?Y05yWXAwb3AwTHNnZlhXQ1VSdkN2SVh5UW9vTC9DUklKZmdIMjlOR21XL09H?=
 =?utf-8?B?cHMwZFoxbnVTNEo4ZTBvdUlrMktuSHNOOFVSdmo2UEJLT1FlY2dxMmk1endY?=
 =?utf-8?B?cWcvWHYrazgvQzIrTnp2TlVSMm84R24ydElCZ2JoSWtubGhDMjczQURUZStM?=
 =?utf-8?B?YW50MFBIZHNzMUlRdmd2aUIwdmUzS1B1K0UrY3NOdlF6UFh6Y3VjTDVXOGUr?=
 =?utf-8?B?R1pPNGVSNitMQ2VrQmJrbEN6UzdLTEN6aWs5NmxCbmJtK3dwRkxEVTR3cnRs?=
 =?utf-8?B?L1QxVERFYkd3MDhCZlZGdU0ra0NtWTRjQldIVnNYNXVVU044dzdQRGxUSkJB?=
 =?utf-8?B?VGQyNmwrZ0QxbEZWNlZxcnhFclg0MUlDdHJGTWJjTFRFaWFxK3c3UytvU0dH?=
 =?utf-8?B?MlEvT21NcUE0bnM4dkozMVI0ZGZ0d0pEd2xsZTFhZFVOTDhFbXJQTlhiajJ1?=
 =?utf-8?B?S0RkZ0RGbW9mSG5iQmZkQWpIUVhyYlpnTEk3L2ZuSmN4VWZ3NmNPRjRQVTVw?=
 =?utf-8?B?cmdUeE81NnFGUnZ2MzZ6dHFTdVlwdGRNNlZzQXU1Z0xRRUZNTk5iMnRyalF4?=
 =?utf-8?B?K0ZBOWNxNnJtdlhZdXhWWFMrWlRaMm9LTld1TnNuZGR5YlNxNVdkMm1yaFpa?=
 =?utf-8?B?M1NzSG85Si9yQ3dIa0Q3YTNtWFJrbGNXOEFKbnY4T3lvaTIzTGF2RHlFZHNS?=
 =?utf-8?B?Tk9OYTdEY2NYUUU4dlV6dkw0aTJzWmZTQVVBSEd6dXVsVTdaSDEyK0t3RThZ?=
 =?utf-8?B?V0VOZ1RhVWVYZG1kMGxTODBac1dDT2NNTlUyNG9VTzJWNXBKNzdKRWhHWXpz?=
 =?utf-8?B?NXYwcE1XcGRIdEpEYjA1VnYrSGdKL2xMVmdrWFFEUkZjMFN2MUZlcXBrSGYr?=
 =?utf-8?B?QzViQUZwRVNyUnJXYmVLM05pQUg4cnBVTlNSRWRCZzRJVm1FdXhqSXhVVFlo?=
 =?utf-8?B?OGR3QnZpNUluS3ZtMTdDdUh2dVNqZVNYdFJjVjFHYUM1cWROZEFwTm9iUmFX?=
 =?utf-8?B?TmswK1A0OGdTNzRselZ0Q2ZjOVRRMm9rWHhyQWVyZVhmUll5ZHMzLy9MYVIy?=
 =?utf-8?B?NWJUNmJndzRUNGcrRElTV290bzRTd051aDRQbE8xTnRmT3dwcVpYUWtKZWJV?=
 =?utf-8?B?MUNLZGl1QmVvSVU0Uzg0MmVoaExERzgvOEtvYm8zakNoL294TWNpSTJOcFUy?=
 =?utf-8?B?SjBheDVHcitKb2RnSDBYNC9nai9nbGtDazRiWFR2MGM4STFyeG5lTmg5UkJs?=
 =?utf-8?Q?f9WR0Z4ox9rREDmIqyD6cR67w+dNYU5eWzPqf0j?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 94d1ace7-d2cd-44f2-07d7-08d957dfef5b
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2021 07:09:15.5349
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: QelGg88BN47rrDS3H2836pPU4ZgzkTBf6QNn/Fe/EK/A2mezap7g3xGobqpZo4MViRJRhsbqJmSIIh7kNRAgSg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3936

On 01.07.2021 16:09, Anthony PERARD wrote:
> Avoid depending on Makefile but still allow to rebuild the banner when
> $(XEN_FULLVERSION) changes.
> 
> Also add a dependency on tools/xen.flf, even if not expected to
> change.
> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

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

This looks to be independent of earlier patches in this series? If so,
I'd be happy to commit without waiting for earlier patches to get
review comments addressed.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 05 07:20:15 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 07:20:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164169.300400 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBXff-0004RA-8r; Thu, 05 Aug 2021 07:20:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164169.300400; Thu, 05 Aug 2021 07: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 1mBXff-0004Qf-4X; Thu, 05 Aug 2021 07:20:03 +0000
Received: by outflank-mailman (input) for mailman id 164169;
 Thu, 05 Aug 2021 07:20: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 1mBXfd-00049N-GF; Thu, 05 Aug 2021 07:20: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 1mBXfd-0007r8-AX; Thu, 05 Aug 2021 07:20: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 1mBXfd-0005Ak-1h; Thu, 05 Aug 2021 07:20:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mBXfd-0007Iw-1B; Thu, 05 Aug 2021 07:20:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=PA5lyg7kk29OD1IuKKPvyGr+D9SX0e/Uuq7xFlAu7mg=; b=Nv+OZabFNMmk4wNRaxRXnHAV4a
	hLFFWyzh3dsBKHMr0Fi2zm+mI1TY0NoG5dFva1aBAAq+k4DChAVG2AgtWP/Th8GW+yVgfjP+e99V/
	70VQPSGdQCZhe/TC1ePL/2b0erRpiN9TuWxzFbVnJ1XdlVN+lIuOlqdbZMmjWG7hUKjk=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164108-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 164108: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=5998497d5f736365ab7ed8cd55157c85a8c6e2b0
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 05 Aug 2021 07:20:01 +0000

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

Regressions :-(

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

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

version targeted for testing:
 libvirt              5998497d5f736365ab7ed8cd55157c85a8c6e2b0
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  391 days
Failing since        151818  2020-07-11 04:18:52 Z  390 days  382 attempts
Testing same since   164108  2021-08-05 04:21:41 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  Cédric Bosdonnat <cbosdonnat@suse.com>
  Côme Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano Fidêncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Ian Wienand <iwienand@redhat.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  John Ferlan <jferlan@redhat.com>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  Ján Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Michał Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  Moshe Levi <moshele@nvidia.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr Drąg <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tomáš Golembiovský <tgolembi@redhat.com>
  Tomáš Janoušek <tomi@nomi.cz>
  Tuguoyi <tu.guoyi@h3c.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  William Douglas <william.douglas@intel.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.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                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Thu Aug 05 07:20:19 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 07:20:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164172.300415 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBXfv-0005BQ-Hq; Thu, 05 Aug 2021 07:20:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164172.300415; Thu, 05 Aug 2021 07:20: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 1mBXfv-0005BC-Ea; Thu, 05 Aug 2021 07:20:19 +0000
Received: by outflank-mailman (input) for mailman id 164172;
 Thu, 05 Aug 2021 07:20:18 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1FJ0=M4=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mBXfu-0005An-9b
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 07:20:18 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id cc6da6b5-0276-4f4f-a600-51da885ed940;
 Thu, 05 Aug 2021 07:20:17 +0000 (UTC)
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur03lp2053.outbound.protection.outlook.com [104.47.10.53]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-37-nJD6oH4_MNyDtJzhXjU0Vw-1; Thu, 05 Aug 2021 09:20:14 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0401MB2448.eurprd04.prod.outlook.com (2603:10a6:800:52::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.15; Thu, 5 Aug
 2021 07:20:12 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4373.027; Thu, 5 Aug 2021
 07:20:12 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0245.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100::17) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4394.15 via Frontend Transport; Thu, 5 Aug 2021 07:20: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: cc6da6b5-0276-4f4f-a600-51da885ed940
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628148016;
	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=2EMomkWaxoZzXGsUzuFH1inaUAtedG0NP/A7yzsiF6c=;
	b=P5BN8BCpKO7Gg20NIinhCugmNvl+flJajbIHs8OH8wRiT7aJ+1ybeMjwiSq+Im5OAYpxJE
	ERfJ8wvdCMAzu4lVvsU1Dl3Q8sJb0NZM3rl7XUvIq0HTJw1oFWkLeJo7eKp6jUV/N0uQq/
	Fxwe3A2cn2yUjgsvxqZOqP6KolpMLFU=
X-MC-Unique: nJD6oH4_MNyDtJzhXjU0Vw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=V/fYqp5AxZtTZc0fdbdOIeWDuVEqvD6q7rUqEtDsD+hOu7zQ1WGa2s9WmowcSpbQeKiBJsNl6MSPY8uGG0Tl0yYhaKTzbFB1utzvNydV4IXXyZcfZCwF2Hqhb8AugEocYeGXnpK4rupv6Ek/eIBrlQmoc0EWZj3GzOATsejPoqdsVMtYxvkVp8aouYo5kRGfrONavEYnNDgDYRZueQ4qlTAtmqWmOgq37Rsv367akUBqyQxxWg6vWhcJBkazYkZ9QAGb4df5VYli0AjArIqZbl8gSoNADb658dKSZ0BOPaAe5zeTqXnyrUWQPJwYtxnR5VvTeaJcT1JYWPnXEcZsGw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2EMomkWaxoZzXGsUzuFH1inaUAtedG0NP/A7yzsiF6c=;
 b=eawMkEAQxheX3VbP1IqkpfLQIFKH9o2QuWkf+wROpC4qf/3EYaYn+xGFurOs9NrV+hHMWEfsA4W+LpJg+r57TXMViVz1TxtePnpn3h9Y+JpGC/Zgx38TFqGKcgPV0bSXUxwujYh06QfukNhvnVTJ37auPEJ6xL7ISRlBhQIZ1BpZs3CSFVpj5vN9gdZeippRY7NDyk9lMXI/Zp8rw7+UGDHXB0kPcwH9aiRfXUfQ3/PF1Yv62Tpvm7rpm1xsdyGuTAP4rCO5cjAsqg8+1Eskj3V8AJNXGPqBsg1mx69nPOuwowzzUI/UyUBk7JrvRMyDCzWg/N/seDyn9DswzdtjYg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [XEN PATCH v6 20/31] build: generate "include/xen/compile.h" with
 filechk
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <20210701141011.785641-1-anthony.perard@citrix.com>
 <20210701141011.785641-21-anthony.perard@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <442ad44d-66f9-0646-18a5-441b76f91744@suse.com>
Date: Thu, 5 Aug 2021 09:20:10 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <20210701141011.785641-21-anthony.perard@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0245.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100::17)
 To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 23700f83-78d7-46bc-884f-08d957e176a2
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2448:
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB2448C5EB99E2C42D2AA90738B3F29@VI1PR0401MB2448.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8273;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	eq8qPkbEgDw9SadQVQ/mvBWK05rFsQP6D5ic8Ry692oiYRAmBmuyOEf9qrLxNvIqWX+mTue8qmapDuxMb/ntx1QEhrBy94OxfQNQt3/ZU/nv1fhnLPLq6qWQ47R+GUgjmyhGBEVu6Epf9l1HP7Dul5wjF1ELsFtYP4kgmGVQuyfUsj9GTB3a52FeKyM3DKLyB/zZ9UxOODZY3Yq74QmTUzt5fLF76uZD9BaqTmLeMaYOkEX02GU4USQEVhezBJMFp6+kbuTlG5cHTRjHpt+KelX6LEpxv/garoKR/mWGmVxWcOSf4cA/YrY99P4FUHQNAyFWu0oV7uJLfsA7kieHzreetgijRJml7RqjquPEbQ9SHcuvaEFA3a9iQWE5ATMtLVvc++wGTxtGMgk1oXOY4vFqjeJ9rvOj6GM3BnPC8lw8aIq6vXB/S0MOYrDP0vrDi1J7o+GSlOBmKZacAaxLvQF7mrurdJTAtv50+bHvTvUy3ZOR6PM6OBIrEAUwLZSjofqmGjdAZd5QR1m5SJXCXeFAHNLn8TmxRAtPYOG2Dle3pjLKG+Lt4qAKgLeZARfvA31MaaCXiEKD+lf5/utYW5CRIzQd+cVF2T32p72NGK6EwZosb3sVd4jEeZVZYOJPg9HgJHT++QNH2HFPtvI50nE2fv8Yz4OkkkfFUsoY0R+aaXusCiCrWGMD/TjUPsK254bdFBJ82dk/WxZKo+qWeiCvxW0A3TV9LKlm4FTc8sc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(136003)(39850400004)(396003)(376002)(346002)(31696002)(53546011)(16576012)(6916009)(4326008)(26005)(66946007)(186003)(66476007)(5660300002)(2616005)(956004)(66556008)(38100700002)(54906003)(8936002)(31686004)(478600001)(36756003)(8676002)(316002)(83380400001)(2906002)(6486002)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YlprQUVpRTlIT21wVTZ6VkR0VC9hQ2IvY0N6MzNvZnZNekxOcHh4SGd4V2FP?=
 =?utf-8?B?V1ZiRi9PQ3ZONllycXc0dytkbkw4d1lVNTFhQVpIc0xpNWJlWHQ5Zk04TFBZ?=
 =?utf-8?B?cVdtRWJKRjFKZnRqdlRhS3A4bjhzVVBHUlJFa29RMXVnNlFDL0t6aExFbVEz?=
 =?utf-8?B?QVp3RStiUkpOQ3laaWhZNmF0b1VvcEgxczJhdU11Z1A5NDZoWjNPaGpGM09u?=
 =?utf-8?B?RGJjK01zNU5NY2VIdTRaY3I2UkRCYXhsMG5LWHZ4NjN6aS81cS8wU1B3bTFm?=
 =?utf-8?B?MjB5L0w3OXZwdDZwd1MxNTMwZ3JVNFJCNkhSd3JHcUxKZkhwVnhwUVY3WjFu?=
 =?utf-8?B?YkZFNDQ5dTlKNFBEb2NnNytkN3Fha0Yvdi9QQTJEeE41L3FDeXVFb05EUGhX?=
 =?utf-8?B?c3dJbjhqR0w1QmdNOWIvL3h5M2hURzVJaEVqVjdjSWpJSDJPQVVBelkxOGZF?=
 =?utf-8?B?MUovWWl3SVNhQmRvZEZhdHpRUkpWc05qcGFRek1TNTA2M2xzbFZPYXR3Tm1J?=
 =?utf-8?B?eGFxREFJR05QMW5YUGtvcjg4SXZaWjNJc29RM0thLzNrSXZleUswTFBHdlFk?=
 =?utf-8?B?cjczOXVjamREbnhNd1JndnVDM2kwc3JyZy9FS3hQaEFnd3RaWHFoT0txdEtq?=
 =?utf-8?B?ZktvMUZrQVFTTzhCL1BHTVFhYmpBZ0pmeVhwQU5vZGRxZ1ZHaW1uT2VDN3l3?=
 =?utf-8?B?TDk3N3JFcGdiQzZpNm90K213NzJEaVR5SXFUbVZ2a3RtdENLanFVUmJBWmxu?=
 =?utf-8?B?WmExU29jcXRyVWJsUHMzd1FtbEJHWHlOSDA1alAxbGRweVFFdzVndlhMKzhW?=
 =?utf-8?B?MWhIZHlLSnlwZGp6SFFmcDVMbE04bCthOFc4cnNGTUhlaGw2VTN1eDdTcDlh?=
 =?utf-8?B?ZnpwOWNndGZvclJ3RFd4Sm9Nb2laZmllblpMTDRydmx2aUxsRkdjOXQ1K1Vr?=
 =?utf-8?B?cDBSZk14a2ptSnBXaUd0UFYrbEY2eDdGbFpMR3NUUzN4cXUzcjBvY2tSV0RN?=
 =?utf-8?B?NnVJWWVTYjFGZVV4NkgyR1haMVh0TXNXa1p3YWxZTXVSeXRDSjZ6M2VGTVZt?=
 =?utf-8?B?R3VCNTRGMUxlc3IvTGNzbDJOUHlkaHFrWWVNSFdjVFNISUZMSEZTWXRzU0t2?=
 =?utf-8?B?UnZiaC8ya1c1RkFwN2FKWUc5OFF6WDdtWDBWUld6MkdVNXVGdEJ6clRFdVNx?=
 =?utf-8?B?UHl3NEFwQVNsckwyUnp5ZTVmNXIrdWh3VzVEZ2xmNUt0eHU3aEM5M0RycDQr?=
 =?utf-8?B?d1hoc1QyS1Mzd1M3ODVlY0JYUGVpRU9LUWhnbkNoWUVLSEg0WENLWGNUdEV6?=
 =?utf-8?B?ZTIxT0FzQWFmYmtVZWNJcXU2YjRDWG5NY3FRTkhpVGF3ZnJsdTVhT1NMUURn?=
 =?utf-8?B?RWU2ZmpkR3E4b3o2WTBFNDVobmFERjI3WlMyM3NFdk9pZURRdW80YXFPTXV6?=
 =?utf-8?B?UjA1L2NaUlpzMHdyOG5QNlFwTzQ5SFJVRGZwWTZ1cjg3MEZsUldOVHZESnlp?=
 =?utf-8?B?cnNld1RpQUtvUnQ1ZXF4c0lZU09qYVJmakVPWjZSY0pteGlEc1RFSkc3UWhC?=
 =?utf-8?B?NjhEbldlSjhUNVZUZUN5ejRGNmx3OWJaLzFHa1dEVmJVT0ptMWU3VWFMaDBR?=
 =?utf-8?B?aExNRFpSK3NTU0lpclI3VzEzb3NyYnR4TndjN3ZZLzZuVTlqWDBWeE5hdG9v?=
 =?utf-8?B?eG1pUkZBM1hiNWNud3hPcXdBWDhTT1pRQlNxT0l0LzdHSHdGbjBnZHZRU1Q2?=
 =?utf-8?Q?DwIGGY54ay1qnUmfI+US4QZPYSywOlbEMQNroQw?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 23700f83-78d7-46bc-884f-08d957e176a2
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2021 07:20:12.0106
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: krXi4px0FnV6M4Rqg/o9/mCitpqFf2x5S/l1kM8rPHU/se7xjE3ENMyQj3BNuJDVZa3kyxAVnUjTJ5WpdGDctA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2448

On 01.07.2021 16:10, Anthony PERARD wrote:
> This will always try regenerate the content of compile.h, but if it
> didn't change the file isn't updated.
> 
> Also, as it's currently the case, the file isn't regenerated during
> `sudo make install` if it exist and does belong to a different user.
> 
> Thus, we can remove the target "delete-unfresh-files".
> Target $(TARGET) still need a phony dependency, so add FORCE.
> 
> This patch imports the macro 'filechk' from Linux v5.12.

Would you mind clarifying why $(if_changed ...) cannot be used here
(unlike for .banner in the earlier patch)?

> @@ -413,22 +405,29 @@ endef
>  	$(call if_changed,banner)
>  targets += .banner
>  
> -# compile.h contains dynamic build info. Rebuilt on every 'make' invocation.
> -include/xen/compile.h: include/xen/compile.h.in .banner
> -	@sed -e 's/@@date@@/$(XEN_BUILD_DATE)/g' \
> -	    -e 's/@@time@@/$(XEN_BUILD_TIME)/g' \
> -	    -e 's/@@whoami@@/$(XEN_WHOAMI)/g' \
> -	    -e 's/@@domain@@/$(XEN_DOMAIN)/g' \
> -	    -e 's/@@hostname@@/$(XEN_BUILD_HOST)/g' \
> -	    -e 's!@@compiler@@!$(shell $(CC) $(CFLAGS) --version 2>&1 | head -1)!g' \
> -	    -e 's/@@version@@/$(XEN_VERSION)/g' \
> -	    -e 's/@@subversion@@/$(XEN_SUBVERSION)/g' \
> -	    -e 's/@@extraversion@@/$(XEN_EXTRAVERSION)/g' \
> -	    -e 's!@@changeset@@!$(shell tools/scmversion $(XEN_ROOT) || echo "unavailable")!g' \
> -	    < include/xen/compile.h.in > $@.new
> +# Don't refresh this files during e.g., 'sudo make install'
> +define filechk_compile.h
> +    if [ ! -r $@ -o -O $@ ]; then \
> +    sed -e 's/@@date@@/$(XEN_BUILD_DATE)/g' \
> +        -e 's/@@time@@/$(XEN_BUILD_TIME)/g' \
> +        -e 's/@@whoami@@/$(XEN_WHOAMI)/g' \
> +        -e 's/@@domain@@/$(XEN_DOMAIN)/g' \
> +        -e 's/@@hostname@@/$(XEN_BUILD_HOST)/g' \
> +        -e 's!@@compiler@@!$(shell $(CC) $(CFLAGS) --version 2>&1 | head -1)!g' \
> +        -e 's/@@version@@/$(XEN_VERSION)/g' \
> +        -e 's/@@subversion@@/$(XEN_SUBVERSION)/g' \
> +        -e 's/@@extraversion@@/$(XEN_EXTRAVERSION)/g' \
> +        -e 's!@@changeset@@!$(shell tools/scmversion $(XEN_ROOT) || echo "unavailable")!g' \
> +	< $<; \
> +    sed -rf tools/process-banner.sed < .banner; \
> +    else \
> +	cat $@; \
> +    fi

Just like "cat" I think the "sed" invocations should be indented deeper
than if/else/fi.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 05 07:27:31 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 07:27:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164189.300427 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBXmo-0006ET-Ec; Thu, 05 Aug 2021 07:27:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164189.300427; Thu, 05 Aug 2021 07: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 1mBXmo-0006EM-BP; Thu, 05 Aug 2021 07:27:26 +0000
Received: by outflank-mailman (input) for mailman id 164189;
 Thu, 05 Aug 2021 07:27:25 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1FJ0=M4=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mBXmn-0006EG-Cs
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 07:27:25 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id bded5380-e654-4f15-894e-e7ff4a6969a5;
 Thu, 05 Aug 2021 07:27:24 +0000 (UTC)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2109.outbound.protection.outlook.com [104.47.18.109])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-25-bnWks8piOmyj6fwLaJyEpQ-1; Thu, 05 Aug 2021 09:27:22 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB7151.eurprd04.prod.outlook.com (2603:10a6:800:129::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.21; Thu, 5 Aug
 2021 07:27:20 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4373.027; Thu, 5 Aug 2021
 07:27:20 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0059.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1d::23) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4394.15 via Frontend Transport; Thu, 5 Aug 2021 07: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: bded5380-e654-4f15-894e-e7ff4a6969a5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628148443;
	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=QzKWbWcn4o74WX1CefrhNZw6LYIzIxlSlEJygoPHE0U=;
	b=UxKVbXF2J1Soi8bxH2EgA3YhXF5yP5li9jS266VD1P1TTFO4oNFO6LMSy1ro2nnzDAoeHE
	be8ufY+/xqsDCoq8sPhv0rhWoz4dHZD5skP2qRpaOcMnIBs7dmRiRt80lIuTF+OSeYMHmf
	kX0Mo9iDLfBPy+iZP+td8o3tkZQ2Mjg=
X-MC-Unique: bnWks8piOmyj6fwLaJyEpQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Jc9BLaca+yWj/mgB+XIn2gQ9brEcdir1OBnQwxPb0/egbYYUafu4Z3cmpd/lVNqpzVyDSrC5yyY3gj7OwliR+NCJYlDBqpXdquxBsGT4yEsWOBlDfyRkWhfoWuc3zfspU+pkEi0BCJmmCpRHipfGMU3MSk7g61KrUQP9CTmt6AdQKbVD8i5+J+4gspTA4vFm3qWgJHtop2Yl2l9cgswzPEmEtAVTIWSnmxVqyBCYEtZHZ3SoCc1caexdcceMlc4ZSR4+OovDx8nZDH7gAvmPXBQG3KtufPwGG8+sIlwiMaTQgRaeESMa4yf4RYSxojQ+TBtprlQgEyCSFoFOgkMiWA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QzKWbWcn4o74WX1CefrhNZw6LYIzIxlSlEJygoPHE0U=;
 b=XOINSS0+r287PFxSFQpK2jn1v3cKxIBVKXyx0cqNV4LvFbAzHyTIsi0OmZzgnrMy1yPNW7tWjaXwKHz86AZys722nDsEw2Oymggwumeld00s4dOVMpQ74keY58ORwDmPcev4dH0c8b4vutiE1wCmXGrFUT0r40MerA7ia2gbrQIIyu2VtHtbQE5AVsrRXlzM5ZQWoBjf5HIRwIdhbVCrDtiXVQshF48XglVHvKp9rSoPMH2MxG3zVIaKbDGvHptSklEfuesTIkk8TlXPmhicvqdqfTskCwZfhTrXyDHyf5VIUES04zuVrGHdK4xYHK7XnfbaRDoR6uWnwcLX7DOhEQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [XEN PATCH v6 21/31] build: set XEN_BUILD_EFI earlier
To: Anthony PERARD <anthony.perard@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>, George Dunlap <george.dunlap@citrix.com>,
 Ian Jackson <iwj@xenproject.org>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20210701141011.785641-1-anthony.perard@citrix.com>
 <20210701141011.785641-22-anthony.perard@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <791838fb-b69d-d471-cfff-fe984e13f6e6@suse.com>
Date: Thu, 5 Aug 2021 09:27:18 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <20210701141011.785641-22-anthony.perard@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0059.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1d::23) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4d4b925d-5351-443f-1b54-08d957e275ff
X-MS-TrafficTypeDiagnostic: VI1PR04MB7151:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB7151AC00A4D155259CA4CDC2B3F29@VI1PR04MB7151.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:7691;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0+2GE9ClCaJAUjqMTknJWdd6SBuFrGTqv31WXSLftx7aeV4YpABNGHBz7zDC9Q1Q/eewGBx6TVpYFZauqJ/Mrm8GVxJOmtRF8PZLRsuWse5hZZmvp1PG0ntsO133DRqx7GRrd8yYIDOvrIL7Jhkq9ur29zXxxskjUJdNuuOFsDLss9+fcVG3zQ5S1/imP8hlebASuVhsRmawsgfWDRmGhPkyUh7kEEpjb/pDEYvsbWzRno3cRPAQBk1lkbPdinH2SB3Fg5jV2Si6vAbkQZsNgQholbBg3GpgqmDIkRwooNNGcVxuF6IeDpqeanFRVKFExIuUzfn6CuIPDLLpqicI3K/L05RMYWHoxGGGxsOVMc3l7lUGldLNL8ra4y/c7//xnwMCxZF/KHQ5aoLuqh5ULqDIOdCus1nTL+HlFFHkQdAij6ottO3CMPP9VpEMEVpE3bHN9Ft5VCQYhMTvpzG8RJM0rfpzEUo+D5XwIYPLXurd9WEGl5umzfx9GxB0HIoFym3q7K8SZ56xxMTlAmHYKLtcqn1HG7aulyPNxYLF5CYsS7QKb+5OmNe5aTWHqUXHNBSHnouTS/0qTOALXw7Rr0GnrHV+NALrhvb5e3IlQincL6cSFPthHFa437iobjvNZA98zAfLCvzTxs2NEAarLoQqnzEupeyrc4BFaYZ60chebLcSP+9v6hwTzIodMjXjw0YXHr3LIquRbEPrLrhhLljMYwYhHynciBOwPIFnwdI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(39860400002)(396003)(346002)(366004)(376002)(36756003)(86362001)(54906003)(66946007)(478600001)(66556008)(66476007)(8936002)(31696002)(53546011)(316002)(8676002)(31686004)(38100700002)(956004)(2616005)(186003)(16576012)(6486002)(6916009)(26005)(5660300002)(2906002)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R0FEUDdtVUFwU2FiTEkyWmdCUUtMVlZ4NU43K1FLSmoyZW1DS1NFRXRtK25J?=
 =?utf-8?B?TWRteXQvaWhWTS9PNitPdXlsZzhVTlJRU2E3aGYvQWkrV2czVkRLVnRLN0tQ?=
 =?utf-8?B?djRxaUNmSjdBd1ZGV1FOdGZVcTBZZnV6dUFUejFOSU9YaDZ6a3VwRlZLM0Na?=
 =?utf-8?B?WXFZbU91MEZ6Y1dId2d5bG9aSmR0SUNBK2w1Ymc1d2xOcml4QjFtQkIxZDkw?=
 =?utf-8?B?QWhsbFFROVN3bkJxWDlreXBrMThQL0Y3Tk9naUpZMWF3R1AwSGpiL0N0N0Zr?=
 =?utf-8?B?SEpDUTdpRlFudm5QOXdYMm5ieVByOWFiVGpnYnBmdmkydDY5Zis2S0lsOHkx?=
 =?utf-8?B?cTV1SWVTUEU3ZWd4aEZIQXhTQUtCNmlWRUNkZ0tENGlEelZ5VVRNUDdreC9v?=
 =?utf-8?B?dnBEUTl5VGMwY0J1UlE1YmQrVGI0NWl6Q2EwWDVGYjVhMk52Mm1pTkRZUHhz?=
 =?utf-8?B?Rk40VExaeU0vbFUzanU0cnRhaHdISmtCaW9BcUFKeHVKd2JsSUVXdURxWEU4?=
 =?utf-8?B?cXgxUm1TNVNmYXR2czQxcnhiNnNubm5TdVNTOXNjaVJLb3NCeW93ZUJ4TUVk?=
 =?utf-8?B?Y2hlaVJENGFadVViQXBoNXlCNWk4S1A3eE5Xa3FTQUlrbUo1Qm9NL2ZyMk5M?=
 =?utf-8?B?SFc2WXh4RkNhQUZYNGVQaW5PZkcwWUxXN2ZKNlhMMWVoeFI5eUJFSXU5VTlU?=
 =?utf-8?B?VHdVaWJUQ284a1N2V1dOdEM4NkplNDdSK25DRlorUllxK0lqZ0Mxa3NQN015?=
 =?utf-8?B?R3p4S1UvUE42bDljeEZCVXpLOFg4bU0yb0MzUEVKN2ROYS9lSTg1bDFOQmFx?=
 =?utf-8?B?NHZDRFpsM21lbGcreENKM2NUTGxjQ2w3czcyM2Yya0pWclN0TVFzcHVPNHJ0?=
 =?utf-8?B?ZlcwMUh0aGJLczZuSUZMQ1FXVmYyWWx0bW1pb1pJSURZcTE3T05WQmZHT3Ux?=
 =?utf-8?B?Y1pFTjRIL1NIeTFjTHVRbXIwZ2prUDVJdEJabjByYnZ1eExqM3NWYnVaVXJx?=
 =?utf-8?B?ekh6aHovcG0zTzFsSmhVQVh0YXRaTEhWMmtmN2Y3ajVadVZjWUQvVmRiNXFL?=
 =?utf-8?B?UE5lVmRhNXRPT2V4b3hiY1RYdVB5MXNjWVoremVDZmZ2VXRucFR4eTR6ZEho?=
 =?utf-8?B?dzVudkhKM3lINE95V3k1akcwVGFzNDNBM2NaK3ZOZi9raDZmaFZ6Z1lSNDR2?=
 =?utf-8?B?blprenZYTFBNVldHcDFoY01RY2h4VHByNUJ6MzhHbWZoVDl2MzRXcGtkUlVY?=
 =?utf-8?B?ZlEyS2dXY2tPcTJHL0F6WTFvWEptNElvZkhKVEdwOFFQNnk3UWdsb3dCZ01I?=
 =?utf-8?B?K280UU1DU2NJOVdsTkZqSVRmN25HWnE1RkJCQXdzVVhycDduUStBcERZKzg4?=
 =?utf-8?B?WmVFUFBxVDJ5UHErMDRzVndkWGZtTVRVdzI4ZEVOdFBUWjRsSWFnZ2xZbURx?=
 =?utf-8?B?VVpFT0VFWXJnYXBWREQ4SXhENW9qMExPWXpqb0l4QXhaS3RlTGhNMHkrdFA5?=
 =?utf-8?B?bExwNUhmcWhYNjRIdklJWC9ONFpadGQ3Qm10eG9GWUtyZDk2UzZxTTMyZjdl?=
 =?utf-8?B?U3NHQk1iZnB3MUFCZUJjWlA2UG1nSG1OSXc3aHloNXpJSDArUmNYU1I5ZEE3?=
 =?utf-8?B?ZWtOcVZOS0pTRlpyWEJabEt5UloyM2tJN2oxamZTQzk2WkgrYmlBYnBEdzlx?=
 =?utf-8?B?YlN3M3o2dUxCdHpQRzRXYTcyUWF5QXc1MjdLeGIyUDlvRlc4ZWlJSEE0eDlK?=
 =?utf-8?Q?gX+OrAV20PZpRkHfJQCfI9U/zMIWhtTJsMxVvW7?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4d4b925d-5351-443f-1b54-08d957e275ff
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2021 07:27:20.4253
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: tjuwxe01V1pHpcVTRz0qx9864Bn9XpQtovrEmub4pt/YyMC9FcO6KBJYFvOzCXChcS31V8vK5rBlgqVmoIUtGg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7151

On 01.07.2021 16:10, Anthony PERARD wrote:
> We are going to need the variable XEN_BUILD_EFI earlier.
> 
> This early check is using "try-run" to allow to have a temporary
> output file in case it is needed for $(CC) to build the *.c file.
> 
> The "efi/check.o" file is still needed in "arch/x86/Makefile" so the
> check is currently duplicated.

Why is this? Can't you ...

> --- a/xen/arch/x86/Makefile
> +++ b/xen/arch/x86/Makefile
> @@ -126,7 +126,7 @@ $(TARGET): $(TARGET)-syms $(efi-y) boot/mkelf32
>  ifneq ($(efi-y),)
>  
>  # Check if the compiler supports the MS ABI.
> -export XEN_BUILD_EFI := $(shell $(CC) $(XEN_CFLAGS) -c efi/check.c -o efi/check.o 2>/dev/null && echo y)
> +XEN_BUILD_EFI := $(shell $(CC) $(XEN_CFLAGS) -c efi/check.c -o efi/check.o 2>/dev/null && echo y)
>  CFLAGS-$(XEN_BUILD_EFI) += -DXEN_BUILD_EFI

... use here what you ...

> --- a/xen/arch/x86/arch.mk
> +++ b/xen/arch/x86/arch.mk
> @@ -60,5 +60,10 @@ ifeq ($(CONFIG_UBSAN),y)
>  $(call cc-option-add,CFLAGS_UBSAN,CC,-fno-sanitize=alignment)
>  endif
>  
> +ifneq ($(CONFIG_PV_SHIM_EXCLUSIVE),y)
> +# Check if the compiler supports the MS ABI.
> +export XEN_BUILD_EFI := $(call try-run,$(CC) $(CFLAGS) -c arch/x86/efi/check.c -o "$$TMPO",y)
> +endif

... export here?

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 05 08:39:18 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 08:39:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164203.300439 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBYu9-0004sG-O3; Thu, 05 Aug 2021 08:39:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164203.300439; Thu, 05 Aug 2021 08: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 1mBYu9-0004s9-Kj; Thu, 05 Aug 2021 08:39:05 +0000
Received: by outflank-mailman (input) for mailman id 164203;
 Thu, 05 Aug 2021 08:39:04 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=q9OU=M4=suse.com=dfaggioli@srs-us1.protection.inumbo.net>)
 id 1mBYu8-0004s3-Jk
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 08:39:04 +0000
Received: from smtp-out2.suse.de (unknown [195.135.220.29])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 1fcb7e43-9f05-4cb4-92f5-0491d8cc6231;
 Thu, 05 Aug 2021 08:39: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 smtp-out2.suse.de (Postfix) with ESMTPS id A69B01FE39;
 Thu,  5 Aug 2021 08:39: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 635F513D33;
 Thu,  5 Aug 2021 08:39:02 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id WFilFKajC2FYAQAAMHmgww
 (envelope-from <dfaggioli@suse.com>); Thu, 05 Aug 2021 08:39: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: 1fcb7e43-9f05-4cb4-92f5-0491d8cc6231
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1628152742; 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=ainCgkBlMfr6C24hoyzgSI3SYghaiNOtJtsHtoGOWlc=;
	b=MfyE+YJ40rYGh/qFTWO4RCq61cyfgK4BBxObYW7e0uQIwk0VilkWqiUKs4dqBeSMHOazIN
	JBlnhfuj8yMM4QpjNpwaH5zcqkPArvBJPAYUZXXnSz+0+5fGViIvEIWbI14MOEnaMcUwr8
	w2ewgWQeGFx683DfnKDOvV+SfjoZaKc=
Message-ID: <9a2cf3c6c5cea079834bf3de6923304f1e54c885.camel@suse.com>
Subject: Re: [PATCH v2] Xen: credit2: avoid picking a spurious idle unit
 when caps are used
From: Dario Faggioli <dfaggioli@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>, xen-devel@lists.xenproject.org
Date: Thu, 05 Aug 2021 10:39:01 +0200
In-Reply-To: <2d0b4209-3eb7-8e55-804a-00f13bd97ddb@suse.com>
References: <162809973863.23114.6885532925742864556.stgit@Wayrath>
	 <2d0b4209-3eb7-8e55-804a-00f13bd97ddb@suse.com>
Content-Type: multipart/signed; micalg="pgp-sha256";
	protocol="application/pgp-signature"; boundary="=-Oz+MvnH6LCXp6Cbz00qx"
User-Agent: Evolution 3.40.3 (by Flathub.org) 
MIME-Version: 1.0


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

On Thu, 2021-08-05 at 08:31 +0200, Jan Beulich wrote:
> On 04.08.2021 19:55, Dario Faggioli wrote:
> >=20
> > Suggested-by: George Dunlap <george.dunlap@citrix.com>
> > Signed-off-by: Dario Faggioli <dfaggioli@suse.com>
>=20
> In part based on your explanation in response to my v1 comments:
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>
Cool! Thank you very much again.

> > @@ -3494,16 +3503,25 @@ runq_candidate(struct csched2_runqueue_data
> > *rqd,
> >=20
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * Note that budget av=
ailability must be the very last
> > check that
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * we, in this loop, d=
ue to the side effects that
> > unit_grab_budget().
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * causes.
>=20
> The sentence looks broken to me: I think you either want to delete
> "that
> we," or add "do" before the 1st or after the 2nd comma. If you agree,
> or
> if you have another suggestion, I'd be happy to apply the adjustment
> (let me know of your preference, if any) while committing.
>=20
Yes, absolutely!

Also, I am fine with either of the two variants you propose (adding a
"do" is what I slightly prefer, but it really is the same), and I am
fine with this being done when committing.

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

--=-Oz+MvnH6LCXp6Cbz00qx
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

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

iQIzBAABCAAdFiEES5ssOj3Vhr0WPnOLFkJ4iaW4c+4FAmELo6UACgkQFkJ4iaW4
c+65ZxAAzLCUzFiKoeqos9KaxonAYT36A5qe/rgDpAkMU4A1J7y8vcFf9YXiOflC
HAGreuRvMwxZbz7PI8fdhgUTAD6YV8asMy6EbIS4EWawtWQcbbJxmfsUVyGbAxiU
l7Fv2j9PuYIQEczv+bxxStP9VAxQLgbnT123tz6+PD3WjYw+lM8EsERIb3H7i2VL
ia/JhhKnwDGC8zRC1plCSWBzdFax9IzHAhyGUFnDygB00WglefK2TSkPyGhoANWI
NFYGD88fWaf8jgQTstdoA1Vskmxem/zDoOyUYAvwbNaHjWDlsH1VuNyoZ5ciKyYM
8ePkETmYfI85TWhJqMlZhZ+B4kC1Sv7KBKgKsTrvJNkVwy/dWkbahaA05TkXKiHw
lgl4LaludVgvQp8LkFYaE5ZllPRTKM3sK6tlL7VX1nun27L6NeUWlcam6Y3EYrJc
yHtEHDHTVyoDRe4YhS5eYKplKTmsZGACdMz4HFKUdIeoDb8dIQ5RQQk2v4PU+gZZ
BgeJbRMYxLfTKgr2dFBXcNihuEdBYAxAWfCxxe3vSMDLk3FcQBToBMrCMqNAkWtZ
RoJv8PjQB8EpanRBU73ol78YtJhjo5os87vnGoAObqGApUTjdrj+/HAVqLBTc9Mt
mYbLT5CWe3bQnkgbgceGJyqlFIGSEDkblRzIo6eiY1xsd89nHnA=
=dtVL
-----END PGP SIGNATURE-----

--=-Oz+MvnH6LCXp6Cbz00qx--



From xen-devel-bounces@lists.xenproject.org Thu Aug 05 12:12:46 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 12:12:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164215.300450 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBcEd-000762-Uh; Thu, 05 Aug 2021 12:12:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164215.300450; Thu, 05 Aug 2021 12: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 1mBcEd-00075v-RQ; Thu, 05 Aug 2021 12:12:27 +0000
Received: by outflank-mailman (input) for mailman id 164215;
 Thu, 05 Aug 2021 12: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 1mBcEc-00075h-AS; Thu, 05 Aug 2021 12: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 1mBcEc-0004AP-60; Thu, 05 Aug 2021 12: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 1mBcEb-00008U-So; Thu, 05 Aug 2021 12:12:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mBcEb-0001O0-SL; Thu, 05 Aug 2021 12: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:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=LDspYW0mmvL3gcw9SOZwrjFbYGoD+3R0WZM82dzduB0=; b=U2cYOee3uKroh++RBm/SbYo+/x
	AoaFYmyQS6ANhhkPA4eJx5lyY9n/Oh8Nqhi5PRk+6kWRn/M/yywJo5OrjZkpCBaQLK5E/RoIrSXvs
	4tiP+067r8DBfyJE+chfRYIfuTrsI+Mh5dPXJl/J/z3+JV/x6VTyBq8ogYjpWiSlfPV8=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164110-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 164110: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=63552872061130e236ab30f81cfe5a6714cd0012
X-Osstest-Versions-That:
    ovmf=55266a9b8ac71dace1109d61be549889cdd2f93f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 05 Aug 2021 12:12:25 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 63552872061130e236ab30f81cfe5a6714cd0012
baseline version:
 ovmf                 55266a9b8ac71dace1109d61be549889cdd2f93f

Last test of basis   164093  2021-08-03 14:12:31 Z    1 days
Testing same since   164110  2021-08-05 05:40:10 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abner Chang <abner.chang@hpe.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
   55266a9b8a..6355287206  63552872061130e236ab30f81cfe5a6714cd0012 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Aug 05 12:49:02 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 12:49:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164225.300466 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBcnX-0001qs-IK; Thu, 05 Aug 2021 12:48:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164225.300466; Thu, 05 Aug 2021 12:48: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 1mBcnX-0001ql-F7; Thu, 05 Aug 2021 12:48:31 +0000
Received: by outflank-mailman (input) for mailman id 164225;
 Thu, 05 Aug 2021 12:48: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 1mBcnV-0001qa-Ri; Thu, 05 Aug 2021 12:48: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 1mBcnV-0004ff-JB; Thu, 05 Aug 2021 12:48: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 1mBcnV-00011p-6k; Thu, 05 Aug 2021 12:48:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mBcnV-0007yz-6G; Thu, 05 Aug 2021 12:48: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=aJwqbadJx8WzXBU0JZoQQIHMydB4ffNigqf7wp2s80g=; b=RF9TDMEzkb2/lJ9UKOXCyIeKIV
	TSeYpAUtBOMgbdvIgqjjgsmcPPmAU//xLMZ0IQlpBJRjbrOazSIHOX/oPs7llSFiUnDIvfR9lYZuz
	R8d2tTYF17Sjbwm/7ageyx3gkmh2ieJqViWoFbrbHbHZpvEmc2fkoxH8Aog7212r6eKU=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164106-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 164106: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt: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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=2278d2cbb0b7c1b48b298c6c4c6a7de2271ac928
X-Osstest-Versions-That:
    xen=2278d2cbb0b7c1b48b298c6c4c6a7de2271ac928
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 05 Aug 2021 12:48:29 +0000

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

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 164097
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164097
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164097
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164097
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 164097
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 164097
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164097
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164097
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 164097
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164097
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164097
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-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-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  2278d2cbb0b7c1b48b298c6c4c6a7de2271ac928
baseline version:
 xen                  2278d2cbb0b7c1b48b298c6c4c6a7de2271ac928

Last test of basis   164106  2021-08-05 01:53: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                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-amd64-pvgrub                                pass    
 test-amd64-amd64-i386-pvgrub                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Thu Aug 05 14:05:52 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 14:05:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164236.300481 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBe09-0000bM-8z; Thu, 05 Aug 2021 14:05:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164236.300481; Thu, 05 Aug 2021 14:05:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBe09-0000bF-63; Thu, 05 Aug 2021 14:05:37 +0000
Received: by outflank-mailman (input) for mailman id 164236;
 Thu, 05 Aug 2021 14:05:35 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vwN3=M4=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mBe07-0000b5-Bs
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 14:05:35 +0000
Received: from mail-pj1-x102c.google.com (unknown [2607:f8b0:4864:20::102c])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 1be32f4e-4321-4912-b806-a5790402509f;
 Thu, 05 Aug 2021 14:05:33 +0000 (UTC)
Received: by mail-pj1-x102c.google.com with SMTP id
 s22-20020a17090a1c16b0290177caeba067so15100682pjs.0
 for <xen-devel@lists.xenproject.org>; Thu, 05 Aug 2021 07:05:33 -0700 (PDT)
Received: from ?IPv6:2404:f801:0:5:8000::4b1? ([2404:f801:9000:1a:efea::4b1])
 by smtp.gmail.com with ESMTPSA id
 w11sm8331978pgk.34.2021.08.05.07.05.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Aug 2021 07:05: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: 1be32f4e-4321-4912-b806-a5790402509f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=F8VMrdCyOywJRypSYr/zNvHCgQ+meFAot/YAU98HWWE=;
        b=ECF3X5iUC+sX/vDMJPtan9DyiKntE4JTT1Af+ZUPGy2bBqryLNVeJ3gR5+CS3fJHFH
         +BGde9+tFxN33KSJ0vdmOJMD6p8xehdYyALwQFZ6G3NzehgjZywkm09J/HtwwfaTXzBP
         S1WS2pWntdKte5+ILpRc2l734SfMuogBUrcU4GO/fIwTACeWEGst0D8KKq7Hp2ykipoA
         QyhNf7ug3UEf8Ogx6Kd+jbFj4xFPVdasYhyQWntvhxI1wBJbaTa3jT5pkrkRsaek/UAd
         NLLA6VCbXzd2NA0YhNwAwyGzJ7MPCd9oBnOdf+3gO1asduizzv+vye87H8v2E/Sqy61q
         QusA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=F8VMrdCyOywJRypSYr/zNvHCgQ+meFAot/YAU98HWWE=;
        b=UxgCSXrHiQAGOwthjIYKxb0TQi7s17Fu+wobSXIaUqCyC19QT3fw700xxPWyfbETIN
         8trgwR6HPQH9T91dSkvDVN9/61ioNVVLlh2J0OAvZ/9XskojOSRqBEjwD5Sxh+IfAcQ/
         XNcMe/fP32b/bjc09VprUXA+/ty+4YXO+AtAzwIrIRV+7nXDUnDNhxvEr/NOwdnVj5sN
         jPaSZTayRFo/kLfFrexeu/EGpeCmReL3fOSGh6FSSvLC5K6c51D06MduEAW9utoMlBTs
         aYrGQrmha80gUN5/AxZwg95O4CFthKWJaiQr5hYrilQh8O15+/2tTeQXNHARD++sfZzI
         0Blw==
X-Gm-Message-State: AOAM531EID8UCeUsznu8tLSJCjOnI6qmcsVULBItjqWmOGt7aPuZm0Tg
	Ait45UMM2fjvRxcrReJxzS8=
X-Google-Smtp-Source: ABdhPJwBb/TGQHg7Q/TCL0bQgwmOAloOQN4ZDR0PVYFzozUh9xJAeBD4+y2vpy2azMRYRouhtcDM2Q==
X-Received: by 2002:aa7:9719:0:b029:3b7:6965:c9b0 with SMTP id a25-20020aa797190000b02903b76965c9b0mr5413104pfg.50.1628172332669;
        Thu, 05 Aug 2021 07:05:32 -0700 (PDT)
Subject: Re: [PATCH V2 03/14] x86/set_memory: Add x86_set_memory_enc static
 call support
To: Dave Hansen <dave.hansen@intel.com>, kys@microsoft.com,
 haiyangz@microsoft.com, sthemmin@microsoft.com, wei.liu@kernel.org,
 decui@microsoft.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
 x86@kernel.org, hpa@zytor.com, dave.hansen@linux.intel.com, luto@kernel.org,
 peterz@infradead.org, konrad.wilk@oracle.com, boris.ostrovsky@oracle.com,
 jgross@suse.com, sstabellini@kernel.org, joro@8bytes.org, will@kernel.org,
 davem@davemloft.net, kuba@kernel.org, jejb@linux.ibm.com,
 martin.petersen@oracle.com, arnd@arndb.de, hch@lst.de,
 m.szyprowski@samsung.com, robin.murphy@arm.com, Tianyu.Lan@microsoft.com,
 rppt@kernel.org, kirill.shutemov@linux.intel.com, akpm@linux-foundation.org,
 brijesh.singh@amd.com, thomas.lendacky@amd.com, pgonda@google.com,
 david@redhat.com, krish.sadhukhan@oracle.com, saravanand@fb.com,
 aneesh.kumar@linux.ibm.com, xen-devel@lists.xenproject.org,
 martin.b.radev@gmail.com, ardb@kernel.org, rientjes@google.com,
 tj@kernel.org, keescook@chromium.org, michael.h.kelley@microsoft.com,
 Joerg Roedel <joro@8bytes.org>, Tom Lendacky <thomas.lendacky@amd.com>
Cc: iommu@lists.linux-foundation.org, linux-arch@vger.kernel.org,
 linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
 linux-scsi@vger.kernel.org, netdev@vger.kernel.org, vkuznets@redhat.com,
 parri.andrea@gmail.com
References: <20210804184513.512888-1-ltykernel@gmail.com>
 <20210804184513.512888-4-ltykernel@gmail.com>
 <5823af8a-7dbb-dbb0-5ea2-d9846aa2a36a@intel.com>
From: Tianyu Lan <ltykernel@gmail.com>
Message-ID: <942e6fcb-3bdf-9294-d3db-ca311db440d3@gmail.com>
Date: Thu, 5 Aug 2021 22:05:17 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <5823af8a-7dbb-dbb0-5ea2-d9846aa2a36a@intel.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit

Hi Dave:
	Thanks for review.

On 8/5/2021 3:27 AM, Dave Hansen wrote:
> On 8/4/21 11:44 AM, Tianyu Lan wrote:
>> +static int default_set_memory_enc(unsigned long addr, int numpages, bool enc);
>> +DEFINE_STATIC_CALL(x86_set_memory_enc, default_set_memory_enc);
>> +
>>   #define CPA_FLUSHTLB 1
>>   #define CPA_ARRAY 2
>>   #define CPA_PAGES_ARRAY 4
>> @@ -1981,6 +1985,11 @@ int set_memory_global(unsigned long addr, int numpages)
>>   }
>>   
>>   static int __set_memory_enc_dec(unsigned long addr, int numpages, bool enc)
>> +{
>> +	return static_call(x86_set_memory_enc)(addr, numpages, enc);
>> +}
>> +
>> +static int default_set_memory_enc(unsigned long addr, int numpages, bool enc)
>>   {
>>   	struct cpa_data cpa;
>>   	int ret;
> 
> It doesn't make a lot of difference to add this infrastructure and then
> ignore it for the existing in-tree user:
> 
>> static int __set_memory_enc_dec(unsigned long addr, int numpages, bool enc)
>> {
>>          struct cpa_data cpa;
>>          int ret;
>>
>>          /* Nothing to do if memory encryption is not active */
>>          if (!mem_encrypt_active())
>>                  return 0;
> 
> Shouldn't the default be to just "return 0"?  Then on
> mem_encrypt_active() systems, do the bulk of what is in
> __set_memory_enc_dec() today.
> 

OK. I try moving code in __set_memory_enc_dec() to sev file 
mem_encrypt.c and this requires to expose cpa functions and structure.
Please have a look.

Tom, Joerg and Brijesh, Could you review at sev code change?
Thanks.



diff --git a/arch/x86/include/asm/set_memory.h 
b/arch/x86/include/asm/set_memory.h
index 43fa081a1adb..991366612deb 100644
--- a/arch/x86/include/asm/set_memory.h
+++ b/arch/x86/include/asm/set_memory.h
@@ -4,6 +4,25 @@

  #include <asm/page.h>
  #include <asm-generic/set_memory.h>
+#include <linux/static_call.h>
+
+/*
+ * The current flushing context - we pass it instead of 5 arguments:
+ */
+struct cpa_data {
+	unsigned long	*vaddr;
+	pgd_t		*pgd;
+	pgprot_t	mask_set;
+	pgprot_t	mask_clr;
+	unsigned long	numpages;
+	unsigned long	curpage;
+	unsigned long	pfn;
+	unsigned int	flags;
+	unsigned int	force_split		: 1,
+			force_static_prot	: 1,
+			force_flush_all		: 1;
+	struct page	**pages;
+};

  /*
   * The set_memory_* API can be used to change various attributes of a 
virtual
@@ -83,6 +102,11 @@ int set_pages_rw(struct page *page, int numpages);
  int set_direct_map_invalid_noflush(struct page *page);
  int set_direct_map_default_noflush(struct page *page);
  bool kernel_page_present(struct page *page);
+int __change_page_attr_set_clr(struct cpa_data *cpa, int checkalias);
+void cpa_flush(struct cpa_data *data, int cache);
+
+int dummy_set_memory_enc(unsigned long addr, int numpages, bool enc);
+DECLARE_STATIC_CALL(x86_set_memory_enc, dummy_set_memory_enc);

  extern int kernel_set_to_readonly;

diff --git a/arch/x86/mm/mem_encrypt.c b/arch/x86/mm/mem_encrypt.c
index ff08dc463634..49e957c4191f 100644
--- a/arch/x86/mm/mem_encrypt.c
+++ b/arch/x86/mm/mem_encrypt.c
@@ -20,6 +20,8 @@
  #include <linux/bitops.h>
  #include <linux/dma-mapping.h>
  #include <linux/virtio_config.h>
+#include <linux/highmem.h>
+#include <linux/static_call.h>

  #include <asm/tlbflush.h>
  #include <asm/fixmap.h>
@@ -178,6 +180,45 @@ void __init sme_map_bootdata(char *real_mode_data)
  	__sme_early_map_unmap_mem(__va(cmdline_paddr), COMMAND_LINE_SIZE, true);
  }

+static int sev_set_memory_enc(unsigned long addr, int numpages, bool enc)
+{
+	struct cpa_data cpa;
+	int ret;
+
+	/* Should not be working on unaligned addresses */
+	if (WARN_ONCE(addr & ~PAGE_MASK, "misaligned address: %#lx\n", addr))
+		addr &= PAGE_MASK;
+
+	memset(&cpa, 0, sizeof(cpa));
+	cpa.vaddr = &addr;
+	cpa.numpages = numpages;
+	cpa.mask_set = enc ? __pgprot(_PAGE_ENC) : __pgprot(0);
+	cpa.mask_clr = enc ? __pgprot(0) : __pgprot(_PAGE_ENC);
+	cpa.pgd = init_mm.pgd;
+
+	/* Must avoid aliasing mappings in the highmem code */
+	kmap_flush_unused();
+	vm_unmap_aliases();
+
+	/*
+	 * Before changing the encryption attribute, we need to flush caches.
+	 */
+	cpa_flush(&cpa, !this_cpu_has(X86_FEATURE_SME_COHERENT));
+
+	ret = __change_page_attr_set_clr(&cpa, 1);
+
+	/*
+	 * After changing the encryption attribute, we need to flush TLBs again
+	 * in case any speculative TLB caching occurred (but no need to flush
+	 * caches again).  We could just use cpa_flush_all(), but in case TLB
+	 * flushing gets optimized in the cpa_flush() path use the same logic
+	 * as above.
+	 */
+	cpa_flush(&cpa, 0);
+
+	return ret;
+}
+
  void __init sme_early_init(void)
  {
  	unsigned int i;
@@ -185,6 +226,8 @@ void __init sme_early_init(void)
  	if (!sme_me_mask)
  		return;

+	static_call_update(x86_set_memory_enc, sev_set_memory_enc);
+
  	early_pmd_flags = __sme_set(early_pmd_flags);

  	__supported_pte_mask = __sme_set(__supported_pte_mask);
diff --git a/arch/x86/mm/pat/set_memory.c b/arch/x86/mm/pat/set_memory.c
index ad8a5c586a35..4f15f7c89dbc 100644
--- a/arch/x86/mm/pat/set_memory.c
+++ b/arch/x86/mm/pat/set_memory.c
@@ -18,6 +18,7 @@
  #include <linux/libnvdimm.h>
  #include <linux/vmstat.h>
  #include <linux/kernel.h>
+#include <linux/static_call.h>

  #include <asm/e820/api.h>
  #include <asm/processor.h>
@@ -32,24 +33,6 @@

  #include "../mm_internal.h"

-/*
- * The current flushing context - we pass it instead of 5 arguments:
- */
-struct cpa_data {
-	unsigned long	*vaddr;
-	pgd_t		*pgd;
-	pgprot_t	mask_set;
-	pgprot_t	mask_clr;
-	unsigned long	numpages;
-	unsigned long	curpage;
-	unsigned long	pfn;
-	unsigned int	flags;
-	unsigned int	force_split		: 1,
-			force_static_prot	: 1,
-			force_flush_all		: 1;
-	struct page	**pages;
-};
-
  enum cpa_warn {
  	CPA_CONFLICT,
  	CPA_PROTECT,
@@ -66,6 +49,13 @@ static const int cpa_warn_level = CPA_PROTECT;
   */
  static DEFINE_SPINLOCK(cpa_lock);

+static int default_set_memory_enc(unsigned long addr, int numpages, 
bool enc)
+{
+	return 0;
+}
+
+DEFINE_STATIC_CALL(x86_set_memory_enc, default_set_memory_enc);
+
  #define CPA_FLUSHTLB 1
  #define CPA_ARRAY 2
  #define CPA_PAGES_ARRAY 4
@@ -357,7 +347,7 @@ static void __cpa_flush_tlb(void *data)
  		flush_tlb_one_kernel(fix_addr(__cpa_addr(cpa, i)));
  }

-static void cpa_flush(struct cpa_data *data, int cache)
+void cpa_flush(struct cpa_data *data, int cache)
  {
  	struct cpa_data *cpa = data;
  	unsigned int i;
@@ -1587,8 +1577,6 @@ static int __change_page_attr(struct cpa_data 
*cpa, int primary)
  	return err;
  }

-static int __change_page_attr_set_clr(struct cpa_data *cpa, int 
checkalias);
-
  static int cpa_process_alias(struct cpa_data *cpa)
  {
  	struct cpa_data alias_cpa;
@@ -1646,7 +1634,7 @@ static int cpa_process_alias(struct cpa_data *cpa)
  	return 0;
  }

-static int __change_page_attr_set_clr(struct cpa_data *cpa, int checkalias)
+int __change_page_attr_set_clr(struct cpa_data *cpa, int checkalias)
  {
  	unsigned long numpages = cpa->numpages;
  	unsigned long rempages = numpages;
@@ -1982,45 +1970,7 @@ int set_memory_global(unsigned long addr, int 
numpages)

  static int __set_memory_enc_dec(unsigned long addr, int numpages, bool 
enc)
  {
-	struct cpa_data cpa;
-	int ret;
-
-	/* Nothing to do if memory encryption is not active */
-	if (!mem_encrypt_active())
-		return 0;
-
-	/* Should not be working on unaligned addresses */
-	if (WARN_ONCE(addr & ~PAGE_MASK, "misaligned address: %#lx\n", addr))
-		addr &= PAGE_MASK;
-
-	memset(&cpa, 0, sizeof(cpa));
-	cpa.vaddr = &addr;
-	cpa.numpages = numpages;
-	cpa.mask_set = enc ? __pgprot(_PAGE_ENC) : __pgprot(0);
-	cpa.mask_clr = enc ? __pgprot(0) : __pgprot(_PAGE_ENC);
-	cpa.pgd = init_mm.pgd;
-
-	/* Must avoid aliasing mappings in the highmem code */
-	kmap_flush_unused();
-	vm_unmap_aliases();
-
-	/*
-	 * Before changing the encryption attribute, we need to flush caches.
-	 */
-	cpa_flush(&cpa, !this_cpu_has(X86_FEATURE_SME_COHERENT));
-
-	ret = __change_page_attr_set_clr(&cpa, 1);
-
-	/*
-	 * After changing the encryption attribute, we need to flush TLBs again
-	 * in case any speculative TLB caching occurred (but no need to flush
-	 * caches again).  We could just use cpa_flush_all(), but in case TLB
-	 * flushing gets optimized in the cpa_flush() path use the same logic
-	 * as above.
-	 */
-	cpa_flush(&cpa, 0);
-
-	return ret;
+	return static_call(x86_set_memory_enc)(addr, numpages, enc);
  }

  int set_memory_encrypted(unsigned long addr, int numpages)


From xen-devel-bounces@lists.xenproject.org Thu Aug 05 14:07:27 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 14:07:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164245.300493 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBe1u-0001GV-Rw; Thu, 05 Aug 2021 14:07:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164245.300493; Thu, 05 Aug 2021 14:07:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBe1u-0001GO-OH; Thu, 05 Aug 2021 14:07:26 +0000
Received: by outflank-mailman (input) for mailman id 164245;
 Thu, 05 Aug 2021 14:07:25 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DXIG=M4=apertussolutions.com=dpsmith@srs-us1.protection.inumbo.net>)
 id 1mBe1t-0001GA-Eq
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 14:07:25 +0000
Received: from sender4-of-o51.zoho.com (unknown [136.143.188.51])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 80a86636-fd0f-461e-87de-4e3e43b68f6c;
 Thu, 05 Aug 2021 14:07:24 +0000 (UTC)
Received: from sisyou.hme. (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1628172437013763.6145872632648;
 Thu, 5 Aug 2021 07:07: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: 80a86636-fd0f-461e-87de-4e3e43b68f6c
ARC-Seal: i=1; a=rsa-sha256; t=1628172440; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=Q5N5nQSUgjg9TRcNiIYAQCduOn4zCVKDuVEHzqUtOCvz67XVtbf43UVXzE35XgdUw/XJsasoDRjDQbeKMbeO5XCGoiyupLjN2FReNeiTZpe8ijls3iNG1Y4fxdrC81uQtT+lJjVm1rjsbl0oZhaC9YnoVzRSuG0Vin1LDUm0Bic=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1628172440; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:MIME-Version:Message-ID:Subject:To; 
	bh=yrWUhJXauL3bTDO8cx+gFuPwjJr3KglGzmwa4fRVgTw=; 
	b=kQ2jk8qu61sgH199kCwHU1fj5aTcZ202dpfSDs11iubC5HHy6Pxt6kRgtIkeSzY+J24mTBXaBR06cjxnZg87BMOj53XHxsxAk+aVxvNTwJWhA8NPYd2PPx2s6aX6FC1xhtwREG/Mle9mXGXRxQJKhgrTGaAE80QvH5XUIVLRe14=
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=1628172440;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=From:To:Cc:Subject:Date:Message-Id:MIME-Version:Content-Type:Content-Transfer-Encoding;
	bh=yrWUhJXauL3bTDO8cx+gFuPwjJr3KglGzmwa4fRVgTw=;
	b=d/Qq6MFo52fU+aT1J3G+wXKuSS6UgCqLSrh/qAyZOHUk7N4/mhAeo7kfKcLPf4jX
	pSI1vPCJoU+oWn/HjhSx6oZ5L3u/DuzXP8yS6E36/XrZpyoUnXmUdBiTJzVEXlxFRvb
	aR7uhPwYfw1kxlcIz6sbkGo+BdB/WXvukwJO7FyA=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH v3 0/7] xsm: refactoring xsm hooks
Date: Thu,  5 Aug 2021 10:06:37 -0400
Message-Id: <20210805140644.357-1-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.20.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

Based on feedback from 2021 Xen Developers Summit the xsm-roles RFC patch set
is being split into two separate patch sets. This is the first patch set and is
focused purely on the clean up and refactoring of the XSM hooks.

This patch set refactors the xsm_ops wrapper hooks to use the alternative_call
infrastructure. Then proceeds to move and realign the headers to simplify the
unnecessarily complicated header inclusions, remove the facad of being able to
enable/disable XSM, and simplify the XSM hooks down to a single interface and
implementation. The remainder of the changes are clean up and removing no
longer necessary abstractions.

v2:
 - restructured the patches, breaking them up as needed
 - incorporate Andrew Cooper's alternative call common code
 - change XSM module registration, removing register_xsm
 - incoporate KConfig recommendations
 - reworded commit messages
 - incorporate macro expansion recommendations
 - misc clean-up fallout from recommendations

v3:
 - renamed struct xsm_operations to struct xsm_ops
 - flask and silo ops structs made __initconst
 - fixed misplacement of __init on flask/silo_init
 - lots of coding style alignment
 - further clean up from FLASK_DISABLE removal
 - addressed commit message comments
 - removed missed guard around alternative-call include
 - reworked approach to XSM hooks, merging the two interfaces instead of
   dropping one

Andrew Cooper (1):
  xen: Implement xen/alternative-call.h for use in common code

Daniel P. Smith (6):
  xsm: remove the ability to disable flask
  xsm: refactor xsm_ops handling
  xsm: convert xsm_ops hook calls to alternative call
  xsm: decouple xsm header inclusion selection
  xsm: drop generic event channel labeling exclusion
  xsm: removing facade that XSM can be enabled/disabled

 xen/arch/x86/Kconfig               |    1 +
 xen/common/Kconfig                 |   50 +-
 xen/include/public/xsm/flask_op.h  |    2 +-
 xen/include/xen/alternative-call.h |   63 ++
 xen/include/xen/sched.h            |    4 -
 xen/include/xsm/dummy.h            |  711 +----------------
 xen/include/xsm/xsm-core.h         |  247 ++++++
 xen/include/xsm/xsm.h              | 1145 +++++++++++++++++-----------
 xen/xsm/Makefile                   |    3 +-
 xen/xsm/dummy.c                    |  160 ----
 xen/xsm/flask/flask_op.c           |   30 -
 xen/xsm/flask/hooks.c              |   12 +-
 xen/xsm/silo.c                     |   23 +-
 xen/xsm/xsm_core.c                 |   72 +-
 14 files changed, 1083 insertions(+), 1440 deletions(-)
 create mode 100644 xen/include/xen/alternative-call.h
 create mode 100644 xen/include/xsm/xsm-core.h
 delete mode 100644 xen/xsm/dummy.c

-- 
2.20.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 05 14:07:34 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 14:07:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164246.300505 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBe22-0001Zc-3e; Thu, 05 Aug 2021 14:07:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164246.300505; Thu, 05 Aug 2021 14:07:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBe22-0001ZV-09; Thu, 05 Aug 2021 14:07:34 +0000
Received: by outflank-mailman (input) for mailman id 164246;
 Thu, 05 Aug 2021 14:07:32 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DXIG=M4=apertussolutions.com=dpsmith@srs-us1.protection.inumbo.net>)
 id 1mBe20-0001Yx-Rq
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 14:07:32 +0000
Received: from sender4-of-o51.zoho.com (unknown [136.143.188.51])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id dec50b14-c45e-4bcd-acbf-8eb5e34fe270;
 Thu, 05 Aug 2021 14:07:31 +0000 (UTC)
Received: from sisyou.hme. (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1628172443284500.89520364699354;
 Thu, 5 Aug 2021 07:07: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: dec50b14-c45e-4bcd-acbf-8eb5e34fe270
ARC-Seal: i=1; a=rsa-sha256; t=1628172446; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=DGH50UT2gM9fPgR/WQd1uWw50iQnqZ8P96lNgjAMyhfkLtqJ7L7b6Rx1TQlhzgsteOUNHA2jG2ZR3YlVrX53W/R05YkV/jI2lsNy4HlIi4iodMytzvUmt7g4KUX2+un8LK5cAwQtMgEX2PD9yQ1Cpo/Cf33diNUywsS/6blh/1k=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1628172446; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=pE9Z45Jk5+X07ZGFhuHKmX3SCjV8QdnUfGDxFvvXjqU=; 
	b=MBz/+ql5HkK1HJGj7CdQnBRB4Kmu7eKqWXJt8vIZzS+Ez8VWesI9kz9P8n8xLe1DO/DovOWk9Dw1NEC6mH2GeeH0e+ppxtSu5Lnv85cUS8guo3zfhNXjIx2FE1rnyKa8Rj/hk0UVfxmuyCjGd2z0Ytntr5EMgFFv8sY1ZbcymE4=
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=1628172446;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:MIME-Version:Content-Type:Content-Transfer-Encoding;
	bh=pE9Z45Jk5+X07ZGFhuHKmX3SCjV8QdnUfGDxFvvXjqU=;
	b=Qa6UhUeTfz7MkJpWXM04BQh8qNhZ9izLg0fOdQqq+nqp/dlPTScfx8OJjIhj+6qx
	+B8IqErqhFwZG63wsEkX7Twoj4caEcYx1Fn1m86ODzxVP5CyHnqzfAY/ePKZhhlExSl
	3yBNR8EBZkLa/V5akaRJ9IT3/2oIxac+41+pssk8=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: Wei Liu <wl@xen.org>,
	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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>,
	Jan Beulich <jbeulich@suse.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Ian Jackson <iwj@xenproject.org>
Subject: [PATCH v3 1/7] xen: Implement xen/alternative-call.h for use in common code
Date: Thu,  5 Aug 2021 10:06:38 -0400
Message-Id: <20210805140644.357-2-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20210805140644.357-1-dpsmith@apertussolutions.com>
References: <20210805140644.357-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

From: Andrew Cooper <andrew.cooper3@citrix.com>

The alternative call infrastructure is x86-only for now, but the common iommu
code has a variant and more common code wants to use the infrastructure.

Introduce CONFIG_ALTERNATIVE_CALL and a conditional implemetnation so common
code can use the optimisation when available, without requiring all
architectures to implement no-op stubs.

Write some documentation, which was thus far entirely absent, covering the
requirements for an architecture to implement this optimsiation, and how to
use the infrastructure in general code.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bob Eshleman <bobbyeshleman@gmail.com>
CC: Alistair Francis <alistair.francis@wdc.com>
CC: Connor Davis <connojdavis@gmail.com>
CC: Daniel P. Smith <dpsmith@apertussolutions.com>

v3:
 * Drop __alt_call_maybe_initconst

This is a pre-requisite to "xsm: refactor xsm_ops handling" to avoid breaking
the ARM build.

Build test for the XSM code:

  diff --git a/xen/xsm/xsm_core.c b/xen/xsm/xsm_core.c
  index 5eab21e1b168..592074e8f41c 100644
  --- a/xen/xsm/xsm_core.c
  +++ b/xen/xsm/xsm_core.c
  @@ -195,6 +195,16 @@ bool __init has_xsm_magic(paddr_t start)
   }
    #endif

  +#include <xen/alternative-call.h>
  +struct foo {
  +    int (*bar)(void *);
  +} foo __alt_call_maybe_initdata;
  +
  +int test_alternative_call(void)
  +{
  +    return alternative_call(foo.bar, NULL);
  +}
  +
   int __init register_xsm(struct xsm_operations *ops)
    {
         if ( verify(ops) )
---
 xen/arch/x86/Kconfig               |  1 +
 xen/common/Kconfig                 |  3 ++
 xen/include/xen/alternative-call.h | 63 ++++++++++++++++++++++++++++++
 3 files changed, 67 insertions(+)
 create mode 100644 xen/include/xen/alternative-call.h

diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 9b164db641..1f83518ee0 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -6,6 +6,7 @@ config X86
 	def_bool y
 	select ACPI
 	select ACPI_LEGACY_TABLES_LOOKUP
+	select ALTERNATIVE_CALL
 	select ARCH_SUPPORTS_INT128
 	select CORE_PARKING
 	select HAS_ALTERNATIVE
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 0ddd18e11a..ac5491b1cc 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -22,6 +22,9 @@ config GRANT_TABLE
 
 	  If unsure, say Y.
 
+config ALTERNATIVE_CALL
+	bool
+
 config HAS_ALTERNATIVE
 	bool
 
diff --git a/xen/include/xen/alternative-call.h b/xen/include/xen/alternative-call.h
new file mode 100644
index 0000000000..95ebd66728
--- /dev/null
+++ b/xen/include/xen/alternative-call.h
@@ -0,0 +1,63 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef XEN_ALTERNATIVE_CALL
+#define XEN_ALTERNATIVE_CALL
+
+/*
+ * Some subsystems in Xen may have multiple implementions, which can be
+ * resolved to a single implementation at boot time.  By default, this will
+ * result in the use of function pointers.
+ *
+ * Some architectures may have mechanisms for dynamically modifying .text.
+ * Using this mechnaism, function pointers can be converted to direct calls
+ * which are typically more efficient at runtime.
+ *
+ * For architectures to support:
+ *
+ * - Implement alternative_{,v}call() in asm/alternative.h.  Code generation
+ *   requirements are to emit a function pointer call at build time, and stash
+ *   enough metadata to simplify the call at boot once the implementation has
+ *   been resolved.
+ * - Select ALTERNATIVE_CALL in Kconfig.
+ *
+ * To use:
+ *
+ * Consider the following simplified example.
+ *
+ *  1) struct foo_ops __alt_call_maybe_initdata ops;
+ *
+ *  2) const struct foo_ops __initconst foo_a_ops = { ... };
+ *     const struct foo_ops __initconst foo_b_ops = { ... };
+ *
+ *     void foo_init(void)
+ *     {
+ *         ...
+ *         if ( use_impl_a )
+ *             ops = *foo_a_ops;
+ *         else if ( use_impl_b )
+ *             ops = *foo_b_ops;
+ *         ...
+ *     }
+ *
+ *  3) alternative_call(ops.bar, ...);
+ *
+ * There needs to a single ops object (1) which will eventually contain the
+ * function pointers.  This should be populated in foo's init() function (2)
+ * by one of the available implementations.  To call functions, use
+ * alternative_{,v}call() referencing the main ops object (3).
+ */
+
+#ifdef CONFIG_ALTERNATIVE_CALL
+
+#include <asm/alternative.h>
+
+#define __alt_call_maybe_initdata __initdata
+
+#else
+
+#define alternative_call(func, args...)  (func)(args)
+#define alternative_vcall(func, args...) (func)(args)
+
+#define __alt_call_maybe_initdata
+
+#endif /* !CONFIG_ALTERNATIVE_CALL */
+#endif /* XEN_ALTERNATIVE_CALL */
-- 
2.20.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 05 14:07:49 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 14:07:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164252.300517 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBe2H-00029u-D5; Thu, 05 Aug 2021 14:07:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164252.300517; Thu, 05 Aug 2021 14:07:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBe2H-00029n-99; Thu, 05 Aug 2021 14:07:49 +0000
Received: by outflank-mailman (input) for mailman id 164252;
 Thu, 05 Aug 2021 14:07:48 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DXIG=M4=apertussolutions.com=dpsmith@srs-us1.protection.inumbo.net>)
 id 1mBe2G-0001zB-Da
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 14:07:48 +0000
Received: from sender4-of-o51.zoho.com (unknown [136.143.188.51])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 184f06bb-dc13-495d-9fc9-36a59ee35e1c;
 Thu, 05 Aug 2021 14:07:47 +0000 (UTC)
Received: from sisyou.hme. (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 162817244586698.78117808058039;
 Thu, 5 Aug 2021 07:07: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: 184f06bb-dc13-495d-9fc9-36a59ee35e1c
ARC-Seal: i=1; a=rsa-sha256; t=1628172453; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=LrgabP+/WrfB8/58NDSrdZl8XfMrI1k8C5srWUD9ZOR+3kM+khDUIv+kAmM4hsOEbXXfPwLI5IcY3mpNrewnZcJXUvMGjcDSRZAfi+tIhXUHPbqDn9q8lv+fuzUMsN5lZd9LpujYeBcMUzW8+vgXYd89EAHm8UBpRNp5WS2JVC8=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1628172453; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=oBtJAYzQJ3xOPC4nmZs464PFZEvqwBEbkKJJO08ZKyQ=; 
	b=PKSUS4+JnBYPN4X/yoVRQ26POggrQjg3stq6DVXQ59KT6UISdT/IuXd5KSoceOBzJWmOr+R/Q72uqmXwcHO0N2LV+ticzAMtEDPnxl1efKEvGkUCGxbdsHfXegHD9EIoR3p8aXXjqRamLMO7JT+ZAl6vntNYoaAFf7J1LH2A7P8=
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=1628172453;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:MIME-Version:Content-Transfer-Encoding;
	bh=oBtJAYzQJ3xOPC4nmZs464PFZEvqwBEbkKJJO08ZKyQ=;
	b=XB3STg4hlk3olDoIWK5H3yvE3dgP/2j8c4oAPcGn9VhsYe1tAe3Nmw+nPcv4cGL1
	wNRqXS8mI+vQ/uQCqlTE5klTl8k6wE4bxzQoukuA5FOLgPAjAuQlsWHF3NjPaarFXAY
	bZM3KlARlDVJfwdfcTVY0HocNEL1wbJuXZL8j8Jo=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Ian Jackson <iwj@xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Daniel De Graaf <dgdegra@tycho.nsa.gov>
Subject: [PATCH v3 2/7] xsm: remove the ability to disable flask
Date: Thu,  5 Aug 2021 10:06:39 -0400
Message-Id: <20210805140644.357-3-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20210805140644.357-1-dpsmith@apertussolutions.com>
References: <20210805140644.357-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

On Linux when SELinux is put into permissive mode the descretionary access
controls are still in place. Whereas for Xen when the enforcing state of flask
is set to permissive, all operations for all domains would succeed, i.e. it
does not fall back to the default access controls. To provide a means to mimic
a similar but not equivalent behavior, a flask op is present to allow a
one-time switch back to the default access controls, aka the "dummy policy".

This patch removes this flask op to enforce a consistent XSM usage model that a
reboot of Xen is required to change the XSM policy module in use.

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 xen/include/public/xsm/flask_op.h |  2 +-
 xen/xsm/flask/flask_op.c          | 30 ------------------------------
 2 files changed, 1 insertion(+), 31 deletions(-)

diff --git a/xen/include/public/xsm/flask_op.h b/xen/include/public/xsm/flask_op.h
index 16af7bc22f..b41dd6dac8 100644
--- a/xen/include/public/xsm/flask_op.h
+++ b/xen/include/public/xsm/flask_op.h
@@ -188,7 +188,7 @@ struct xen_flask_op {
 #define FLASK_SETBOOL           12
 #define FLASK_COMMITBOOLS       13
 #define FLASK_MLS               14
-#define FLASK_DISABLE           15
+#define FLASK_DISABLE           15 /* No longer implemented */
 #define FLASK_GETAVC_THRESHOLD  16
 #define FLASK_SETAVC_THRESHOLD  17
 #define FLASK_AVC_HASHSTATS     18
diff --git a/xen/xsm/flask/flask_op.c b/xen/xsm/flask/flask_op.c
index 01e52138a1..f41c025391 100644
--- a/xen/xsm/flask/flask_op.c
+++ b/xen/xsm/flask/flask_op.c
@@ -223,32 +223,6 @@ static int flask_security_sid(struct xen_flask_sid_context *arg)
 
 #ifndef COMPAT
 
-static int flask_disable(void)
-{
-    static int flask_disabled = 0;
-
-    if ( ss_initialized )
-    {
-        /* Not permitted after initial policy load. */
-        return -EINVAL;
-    }
-
-    if ( flask_disabled )
-    {
-        /* Only do this once. */
-        return -EINVAL;
-    }
-
-    printk("Flask:  Disabled at runtime.\n");
-
-    flask_disabled = 1;
-
-    /* Reset xsm_ops to the original module. */
-    xsm_ops = &dummy_xsm_ops;
-
-    return 0;
-}
-
 static int flask_security_setavc_threshold(struct xen_flask_setavc_threshold *arg)
 {
     int rv = 0;
@@ -698,10 +672,6 @@ ret_t do_flask_op(XEN_GUEST_HANDLE_PARAM(xsm_op_t) u_flask_op)
         rv = flask_mls_enabled;
         break;    
 
-    case FLASK_DISABLE:
-        rv = flask_disable();
-        break;
-
     case FLASK_GETAVC_THRESHOLD:
         rv = avc_cache_threshold;
         break;
-- 
2.20.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 05 14:08:14 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 14:08:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164262.300529 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBe2g-0002wA-M7; Thu, 05 Aug 2021 14:08:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164262.300529; Thu, 05 Aug 2021 14:08:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBe2g-0002w3-Ij; Thu, 05 Aug 2021 14:08:14 +0000
Received: by outflank-mailman (input) for mailman id 164262;
 Thu, 05 Aug 2021 14:08:12 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DXIG=M4=apertussolutions.com=dpsmith@srs-us1.protection.inumbo.net>)
 id 1mBe2e-0002du-HB
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 14:08:12 +0000
Received: from sender4-of-o51.zoho.com (unknown [136.143.188.51])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 8ea5d2c4-f5f6-11eb-9c12-12813bfff9fa;
 Thu, 05 Aug 2021 14:08:07 +0000 (UTC)
Received: from sisyou.hme. (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 162817244761489.22386118944542;
 Thu, 5 Aug 2021 07:07: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: 8ea5d2c4-f5f6-11eb-9c12-12813bfff9fa
ARC-Seal: i=1; a=rsa-sha256; t=1628172458; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=iEbV3nRdbze1iaWC9Bi0VdZYKT9VuXaBAHjcIjrxgumQ19Px2lH7o9AGYmEBVUnmyMTswUep99FenHv8AgUiIjqdX5yFVnOuH//g9zD3yWWQ25UtyP68MXT+xe7QuSTa5fgv3V3Q2pgvlEIxfdXudc5EK9DoaJxBeCmnG9cswtI=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1628172458; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=7WON7HcT99RPILN4S/fXQmxUWCY7IAO9j/BEnR/e9Rk=; 
	b=A/Wv85z2sbfi9NDEefbkssW1YISGP9OKbZUOrS/VMYPK4b+wxNfo9WNIrpMLFZNc2REZOvT1DUm6+xvf2tSO5wbeYjgDz658D5qxyUI/KLozsmZlgaQ6oSlXh4ffNNGyL+2iN/R0q3BiB3XeI1kVFXe3zrj5D17jDyZyRGBLWjQ=
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=1628172458;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:MIME-Version:Content-Transfer-Encoding;
	bh=7WON7HcT99RPILN4S/fXQmxUWCY7IAO9j/BEnR/e9Rk=;
	b=TJDahQ471ksXIh7COU4z2Ehik+4pldgZHNeI1hmJ8gIW0aOzZekM0f6vNIcn1czw
	IFk21Dz6aPHTg/dBxIyS9g3eCDLI1Mzekh5CBb4WI0YqHGI+0NRaQZz0cFyDKuyxjIB
	7EAaPR0Pld9NOCReQUlb/EwYrZolMLdGLbF2d4yo=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	xen-devel@lists.xenproject.org
Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Subject: [PATCH v3 3/7] xsm: refactor xsm_ops handling
Date: Thu,  5 Aug 2021 10:06:40 -0400
Message-Id: <20210805140644.357-4-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20210805140644.357-1-dpsmith@apertussolutions.com>
References: <20210805140644.357-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

This renames the `struct xsm_operations` to the shorter `struct xsm_ops` and
converts the global xsm_ops from being a pointer to an explicit instance. As
part of this conversion, it reworks the XSM modules init function to return
their xsm_ops struct which is copied in to the global xsm_ops instance.

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 xen/include/xsm/xsm.h | 221 +++++++++++++++++++++---------------------
 xen/xsm/dummy.c       |   4 +-
 xen/xsm/flask/hooks.c |  12 +--
 xen/xsm/silo.c        |   7 +-
 xen/xsm/xsm_core.c    |  72 +++++++-------
 5 files changed, 161 insertions(+), 155 deletions(-)

diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h
index ad3cddbf7d..aefca46c30 100644
--- a/xen/include/xsm/xsm.h
+++ b/xen/include/xsm/xsm.h
@@ -43,7 +43,7 @@ enum xsm_default {
 };
 typedef enum xsm_default xsm_default_t;
 
-struct xsm_operations {
+struct xsm_ops {
     void (*security_domaininfo) (struct domain *d,
                                         struct xen_domctl_getdomaininfo *info);
     int (*domain_create) (struct domain *d, u32 ssidref);
@@ -191,295 +191,295 @@ struct xsm_operations {
 
 #ifdef CONFIG_XSM
 
-extern struct xsm_operations *xsm_ops;
+extern struct xsm_ops xsm_ops;
 
 #ifndef XSM_NO_WRAPPERS
 
 static inline void xsm_security_domaininfo (struct domain *d,
                                         struct xen_domctl_getdomaininfo *info)
 {
-    xsm_ops->security_domaininfo(d, info);
+    xsm_ops.security_domaininfo(d, info);
 }
 
 static inline int xsm_domain_create (xsm_default_t def, struct domain *d, u32 ssidref)
 {
-    return xsm_ops->domain_create(d, ssidref);
+    return xsm_ops.domain_create(d, ssidref);
 }
 
 static inline int xsm_getdomaininfo (xsm_default_t def, struct domain *d)
 {
-    return xsm_ops->getdomaininfo(d);
+    return xsm_ops.getdomaininfo(d);
 }
 
 static inline int xsm_domctl_scheduler_op (xsm_default_t def, struct domain *d, int cmd)
 {
-    return xsm_ops->domctl_scheduler_op(d, cmd);
+    return xsm_ops.domctl_scheduler_op(d, cmd);
 }
 
 static inline int xsm_sysctl_scheduler_op (xsm_default_t def, int cmd)
 {
-    return xsm_ops->sysctl_scheduler_op(cmd);
+    return xsm_ops.sysctl_scheduler_op(cmd);
 }
 
 static inline int xsm_set_target (xsm_default_t def, struct domain *d, struct domain *e)
 {
-    return xsm_ops->set_target(d, e);
+    return xsm_ops.set_target(d, e);
 }
 
 static inline int xsm_domctl (xsm_default_t def, struct domain *d, int cmd)
 {
-    return xsm_ops->domctl(d, cmd);
+    return xsm_ops.domctl(d, cmd);
 }
 
 static inline int xsm_sysctl (xsm_default_t def, int cmd)
 {
-    return xsm_ops->sysctl(cmd);
+    return xsm_ops.sysctl(cmd);
 }
 
 static inline int xsm_readconsole (xsm_default_t def, uint32_t clear)
 {
-    return xsm_ops->readconsole(clear);
+    return xsm_ops.readconsole(clear);
 }
 
 static inline int xsm_evtchn_unbound (xsm_default_t def, struct domain *d1, struct evtchn *chn,
                                                                     domid_t id2)
 {
-    return xsm_ops->evtchn_unbound(d1, chn, id2);
+    return xsm_ops.evtchn_unbound(d1, chn, id2);
 }
 
 static inline int xsm_evtchn_interdomain (xsm_default_t def, struct domain *d1,
                 struct evtchn *chan1, struct domain *d2, struct evtchn *chan2)
 {
-    return xsm_ops->evtchn_interdomain(d1, chan1, d2, chan2);
+    return xsm_ops.evtchn_interdomain(d1, chan1, d2, chan2);
 }
 
 static inline void xsm_evtchn_close_post (struct evtchn *chn)
 {
-    xsm_ops->evtchn_close_post(chn);
+    xsm_ops.evtchn_close_post(chn);
 }
 
 static inline int xsm_evtchn_send (xsm_default_t def, struct domain *d, struct evtchn *chn)
 {
-    return xsm_ops->evtchn_send(d, chn);
+    return xsm_ops.evtchn_send(d, chn);
 }
 
 static inline int xsm_evtchn_status (xsm_default_t def, struct domain *d, struct evtchn *chn)
 {
-    return xsm_ops->evtchn_status(d, chn);
+    return xsm_ops.evtchn_status(d, chn);
 }
 
 static inline int xsm_evtchn_reset (xsm_default_t def, struct domain *d1, struct domain *d2)
 {
-    return xsm_ops->evtchn_reset(d1, d2);
+    return xsm_ops.evtchn_reset(d1, d2);
 }
 
 static inline int xsm_grant_mapref (xsm_default_t def, struct domain *d1, struct domain *d2,
                                                                 uint32_t flags)
 {
-    return xsm_ops->grant_mapref(d1, d2, flags);
+    return xsm_ops.grant_mapref(d1, d2, flags);
 }
 
 static inline int xsm_grant_unmapref (xsm_default_t def, struct domain *d1, struct domain *d2)
 {
-    return xsm_ops->grant_unmapref(d1, d2);
+    return xsm_ops.grant_unmapref(d1, d2);
 }
 
 static inline int xsm_grant_setup (xsm_default_t def, struct domain *d1, struct domain *d2)
 {
-    return xsm_ops->grant_setup(d1, d2);
+    return xsm_ops.grant_setup(d1, d2);
 }
 
 static inline int xsm_grant_transfer (xsm_default_t def, struct domain *d1, struct domain *d2)
 {
-    return xsm_ops->grant_transfer(d1, d2);
+    return xsm_ops.grant_transfer(d1, d2);
 }
 
 static inline int xsm_grant_copy (xsm_default_t def, struct domain *d1, struct domain *d2)
 {
-    return xsm_ops->grant_copy(d1, d2);
+    return xsm_ops.grant_copy(d1, d2);
 }
 
 static inline int xsm_grant_query_size (xsm_default_t def, struct domain *d1, struct domain *d2)
 {
-    return xsm_ops->grant_query_size(d1, d2);
+    return xsm_ops.grant_query_size(d1, d2);
 }
 
 static inline int xsm_alloc_security_domain (struct domain *d)
 {
-    return xsm_ops->alloc_security_domain(d);
+    return xsm_ops.alloc_security_domain(d);
 }
 
 static inline void xsm_free_security_domain (struct domain *d)
 {
-    xsm_ops->free_security_domain(d);
+    xsm_ops.free_security_domain(d);
 }
 
 static inline int xsm_alloc_security_evtchns(
     struct evtchn chn[], unsigned int nr)
 {
-    return xsm_ops->alloc_security_evtchns(chn, nr);
+    return xsm_ops.alloc_security_evtchns(chn, nr);
 }
 
 static inline void xsm_free_security_evtchns(
     struct evtchn chn[], unsigned int nr)
 {
-    xsm_ops->free_security_evtchns(chn, nr);
+    xsm_ops.free_security_evtchns(chn, nr);
 }
 
 static inline char *xsm_show_security_evtchn (struct domain *d, const struct evtchn *chn)
 {
-    return xsm_ops->show_security_evtchn(d, chn);
+    return xsm_ops.show_security_evtchn(d, chn);
 }
 
 static inline int xsm_init_hardware_domain (xsm_default_t def, struct domain *d)
 {
-    return xsm_ops->init_hardware_domain(d);
+    return xsm_ops.init_hardware_domain(d);
 }
 
 static inline int xsm_get_pod_target (xsm_default_t def, struct domain *d)
 {
-    return xsm_ops->get_pod_target(d);
+    return xsm_ops.get_pod_target(d);
 }
 
 static inline int xsm_set_pod_target (xsm_default_t def, struct domain *d)
 {
-    return xsm_ops->set_pod_target(d);
+    return xsm_ops.set_pod_target(d);
 }
 
 static inline int xsm_memory_exchange (xsm_default_t def, struct domain *d)
 {
-    return xsm_ops->memory_exchange(d);
+    return xsm_ops.memory_exchange(d);
 }
 
 static inline int xsm_memory_adjust_reservation (xsm_default_t def, struct domain *d1, struct
                                                                     domain *d2)
 {
-    return xsm_ops->memory_adjust_reservation(d1, d2);
+    return xsm_ops.memory_adjust_reservation(d1, d2);
 }
 
 static inline int xsm_memory_stat_reservation (xsm_default_t def, struct domain *d1,
                                                             struct domain *d2)
 {
-    return xsm_ops->memory_stat_reservation(d1, d2);
+    return xsm_ops.memory_stat_reservation(d1, d2);
 }
 
 static inline int xsm_memory_pin_page(xsm_default_t def, struct domain *d1, struct domain *d2,
                                       struct page_info *page)
 {
-    return xsm_ops->memory_pin_page(d1, d2, page);
+    return xsm_ops.memory_pin_page(d1, d2, page);
 }
 
 static inline int xsm_add_to_physmap(xsm_default_t def, struct domain *d1, struct domain *d2)
 {
-    return xsm_ops->add_to_physmap(d1, d2);
+    return xsm_ops.add_to_physmap(d1, d2);
 }
 
 static inline int xsm_remove_from_physmap(xsm_default_t def, struct domain *d1, struct domain *d2)
 {
-    return xsm_ops->remove_from_physmap(d1, d2);
+    return xsm_ops.remove_from_physmap(d1, d2);
 }
 
 static inline int xsm_map_gmfn_foreign (xsm_default_t def, struct domain *d, struct domain *t)
 {
-    return xsm_ops->map_gmfn_foreign(d, t);
+    return xsm_ops.map_gmfn_foreign(d, t);
 }
 
 static inline int xsm_claim_pages(xsm_default_t def, struct domain *d)
 {
-    return xsm_ops->claim_pages(d);
+    return xsm_ops.claim_pages(d);
 }
 
 static inline int xsm_console_io (xsm_default_t def, struct domain *d, int cmd)
 {
-    return xsm_ops->console_io(d, cmd);
+    return xsm_ops.console_io(d, cmd);
 }
 
 static inline int xsm_profile (xsm_default_t def, struct domain *d, int op)
 {
-    return xsm_ops->profile(d, op);
+    return xsm_ops.profile(d, op);
 }
 
 static inline int xsm_kexec (xsm_default_t def)
 {
-    return xsm_ops->kexec();
+    return xsm_ops.kexec();
 }
 
 static inline int xsm_schedop_shutdown (xsm_default_t def, struct domain *d1, struct domain *d2)
 {
-    return xsm_ops->schedop_shutdown(d1, d2);
+    return xsm_ops.schedop_shutdown(d1, d2);
 }
 
 static inline char *xsm_show_irq_sid (int irq)
 {
-    return xsm_ops->show_irq_sid(irq);
+    return xsm_ops.show_irq_sid(irq);
 }
 
 static inline int xsm_map_domain_pirq (xsm_default_t def, struct domain *d)
 {
-    return xsm_ops->map_domain_pirq(d);
+    return xsm_ops.map_domain_pirq(d);
 }
 
 static inline int xsm_map_domain_irq (xsm_default_t def, struct domain *d, int irq, void *data)
 {
-    return xsm_ops->map_domain_irq(d, irq, data);
+    return xsm_ops.map_domain_irq(d, irq, data);
 }
 
 static inline int xsm_unmap_domain_pirq (xsm_default_t def, struct domain *d)
 {
-    return xsm_ops->unmap_domain_pirq(d);
+    return xsm_ops.unmap_domain_pirq(d);
 }
 
 static inline int xsm_unmap_domain_irq (xsm_default_t def, struct domain *d, int irq, void *data)
 {
-    return xsm_ops->unmap_domain_irq(d, irq, data);
+    return xsm_ops.unmap_domain_irq(d, irq, data);
 }
 
 static inline int xsm_bind_pt_irq(xsm_default_t def, struct domain *d,
                                   struct xen_domctl_bind_pt_irq *bind)
 {
-    return xsm_ops->bind_pt_irq(d, bind);
+    return xsm_ops.bind_pt_irq(d, bind);
 }
 
 static inline int xsm_unbind_pt_irq(xsm_default_t def, struct domain *d,
                                     struct xen_domctl_bind_pt_irq *bind)
 {
-    return xsm_ops->unbind_pt_irq(d, bind);
+    return xsm_ops.unbind_pt_irq(d, bind);
 }
 
 static inline int xsm_irq_permission (xsm_default_t def, struct domain *d, int pirq, uint8_t allow)
 {
-    return xsm_ops->irq_permission(d, pirq, allow);
+    return xsm_ops.irq_permission(d, pirq, allow);
 }
 
 static inline int xsm_iomem_permission (xsm_default_t def, struct domain *d, uint64_t s, uint64_t e, uint8_t allow)
 {
-    return xsm_ops->iomem_permission(d, s, e, allow);
+    return xsm_ops.iomem_permission(d, s, e, allow);
 }
 
 static inline int xsm_iomem_mapping (xsm_default_t def, struct domain *d, uint64_t s, uint64_t e, uint8_t allow)
 {
-    return xsm_ops->iomem_mapping(d, s, e, allow);
+    return xsm_ops.iomem_mapping(d, s, e, allow);
 }
 
 static inline int xsm_pci_config_permission (xsm_default_t def, struct domain *d, uint32_t machine_bdf, uint16_t start, uint16_t end, uint8_t access)
 {
-    return xsm_ops->pci_config_permission(d, machine_bdf, start, end, access);
+    return xsm_ops.pci_config_permission(d, machine_bdf, start, end, access);
 }
 
 #if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_PCI)
 static inline int xsm_get_device_group(xsm_default_t def, uint32_t machine_bdf)
 {
-    return xsm_ops->get_device_group(machine_bdf);
+    return xsm_ops.get_device_group(machine_bdf);
 }
 
 static inline int xsm_assign_device(xsm_default_t def, struct domain *d, uint32_t machine_bdf)
 {
-    return xsm_ops->assign_device(d, machine_bdf);
+    return xsm_ops.assign_device(d, machine_bdf);
 }
 
 static inline int xsm_deassign_device(xsm_default_t def, struct domain *d, uint32_t machine_bdf)
 {
-    return xsm_ops->deassign_device(d, machine_bdf);
+    return xsm_ops.deassign_device(d, machine_bdf);
 }
 #endif /* HAS_PASSTHROUGH && HAS_PCI) */
 
@@ -487,240 +487,240 @@ static inline int xsm_deassign_device(xsm_default_t def, struct domain *d, uint3
 static inline int xsm_assign_dtdevice(xsm_default_t def, struct domain *d,
                                       const char *dtpath)
 {
-    return xsm_ops->assign_dtdevice(d, dtpath);
+    return xsm_ops.assign_dtdevice(d, dtpath);
 }
 
 static inline int xsm_deassign_dtdevice(xsm_default_t def, struct domain *d,
                                         const char *dtpath)
 {
-    return xsm_ops->deassign_dtdevice(d, dtpath);
+    return xsm_ops.deassign_dtdevice(d, dtpath);
 }
 
 #endif /* HAS_PASSTHROUGH && HAS_DEVICE_TREE */
 
 static inline int xsm_resource_plug_pci (xsm_default_t def, uint32_t machine_bdf)
 {
-    return xsm_ops->resource_plug_pci(machine_bdf);
+    return xsm_ops.resource_plug_pci(machine_bdf);
 }
 
 static inline int xsm_resource_unplug_pci (xsm_default_t def, uint32_t machine_bdf)
 {
-    return xsm_ops->resource_unplug_pci(machine_bdf);
+    return xsm_ops.resource_unplug_pci(machine_bdf);
 }
 
 static inline int xsm_resource_plug_core (xsm_default_t def)
 {
-    return xsm_ops->resource_plug_core();
+    return xsm_ops.resource_plug_core();
 }
 
 static inline int xsm_resource_unplug_core (xsm_default_t def)
 {
-    return xsm_ops->resource_unplug_core();
+    return xsm_ops.resource_unplug_core();
 }
 
 static inline int xsm_resource_setup_pci (xsm_default_t def, uint32_t machine_bdf)
 {
-    return xsm_ops->resource_setup_pci(machine_bdf);
+    return xsm_ops.resource_setup_pci(machine_bdf);
 }
 
 static inline int xsm_resource_setup_gsi (xsm_default_t def, int gsi)
 {
-    return xsm_ops->resource_setup_gsi(gsi);
+    return xsm_ops.resource_setup_gsi(gsi);
 }
 
 static inline int xsm_resource_setup_misc (xsm_default_t def)
 {
-    return xsm_ops->resource_setup_misc();
+    return xsm_ops.resource_setup_misc();
 }
 
 static inline int xsm_page_offline(xsm_default_t def, uint32_t cmd)
 {
-    return xsm_ops->page_offline(cmd);
+    return xsm_ops.page_offline(cmd);
 }
 
 static inline int xsm_hypfs_op(xsm_default_t def)
 {
-    return xsm_ops->hypfs_op();
+    return xsm_ops.hypfs_op();
 }
 
 static inline long xsm_do_xsm_op (XEN_GUEST_HANDLE_PARAM(xsm_op_t) op)
 {
-    return xsm_ops->do_xsm_op(op);
+    return xsm_ops.do_xsm_op(op);
 }
 
 #ifdef CONFIG_COMPAT
 static inline int xsm_do_compat_op (XEN_GUEST_HANDLE_PARAM(xsm_op_t) op)
 {
-    return xsm_ops->do_compat_op(op);
+    return xsm_ops.do_compat_op(op);
 }
 #endif
 
 static inline int xsm_hvm_param (xsm_default_t def, struct domain *d, unsigned long op)
 {
-    return xsm_ops->hvm_param(d, op);
+    return xsm_ops.hvm_param(d, op);
 }
 
 static inline int xsm_hvm_control(xsm_default_t def, struct domain *d, unsigned long op)
 {
-    return xsm_ops->hvm_control(d, op);
+    return xsm_ops.hvm_control(d, op);
 }
 
 static inline int xsm_hvm_param_altp2mhvm (xsm_default_t def, struct domain *d)
 {
-    return xsm_ops->hvm_param_altp2mhvm(d);
+    return xsm_ops.hvm_param_altp2mhvm(d);
 }
 
 static inline int xsm_hvm_altp2mhvm_op (xsm_default_t def, struct domain *d, uint64_t mode, uint32_t op)
 {
-    return xsm_ops->hvm_altp2mhvm_op(d, mode, op);
+    return xsm_ops.hvm_altp2mhvm_op(d, mode, op);
 }
 
 static inline int xsm_get_vnumainfo (xsm_default_t def, struct domain *d)
 {
-    return xsm_ops->get_vnumainfo(d);
+    return xsm_ops.get_vnumainfo(d);
 }
 
 static inline int xsm_vm_event_control (xsm_default_t def, struct domain *d, int mode, int op)
 {
-    return xsm_ops->vm_event_control(d, mode, op);
+    return xsm_ops.vm_event_control(d, mode, op);
 }
 
 #ifdef CONFIG_MEM_ACCESS
 static inline int xsm_mem_access (xsm_default_t def, struct domain *d)
 {
-    return xsm_ops->mem_access(d);
+    return xsm_ops.mem_access(d);
 }
 #endif
 
 #ifdef CONFIG_MEM_PAGING
 static inline int xsm_mem_paging (xsm_default_t def, struct domain *d)
 {
-    return xsm_ops->mem_paging(d);
+    return xsm_ops.mem_paging(d);
 }
 #endif
 
 #ifdef CONFIG_MEM_SHARING
 static inline int xsm_mem_sharing (xsm_default_t def, struct domain *d)
 {
-    return xsm_ops->mem_sharing(d);
+    return xsm_ops.mem_sharing(d);
 }
 #endif
 
 static inline int xsm_platform_op (xsm_default_t def, uint32_t op)
 {
-    return xsm_ops->platform_op(op);
+    return xsm_ops.platform_op(op);
 }
 
 #ifdef CONFIG_X86
 static inline int xsm_do_mca(xsm_default_t def)
 {
-    return xsm_ops->do_mca();
+    return xsm_ops.do_mca();
 }
 
 static inline int xsm_shadow_control (xsm_default_t def, struct domain *d, uint32_t op)
 {
-    return xsm_ops->shadow_control(d, op);
+    return xsm_ops.shadow_control(d, op);
 }
 
 static inline int xsm_mem_sharing_op (xsm_default_t def, struct domain *d, struct domain *cd, int op)
 {
-    return xsm_ops->mem_sharing_op(d, cd, op);
+    return xsm_ops.mem_sharing_op(d, cd, op);
 }
 
 static inline int xsm_apic (xsm_default_t def, struct domain *d, int cmd)
 {
-    return xsm_ops->apic(d, cmd);
+    return xsm_ops.apic(d, cmd);
 }
 
 static inline int xsm_memtype (xsm_default_t def, uint32_t access)
 {
-    return xsm_ops->memtype(access);
+    return xsm_ops.memtype(access);
 }
 
 static inline int xsm_machine_memory_map(xsm_default_t def)
 {
-    return xsm_ops->machine_memory_map();
+    return xsm_ops.machine_memory_map();
 }
 
 static inline int xsm_domain_memory_map(xsm_default_t def, struct domain *d)
 {
-    return xsm_ops->domain_memory_map(d);
+    return xsm_ops.domain_memory_map(d);
 }
 
 static inline int xsm_mmu_update (xsm_default_t def, struct domain *d, struct domain *t,
                                   struct domain *f, uint32_t flags)
 {
-    return xsm_ops->mmu_update(d, t, f, flags);
+    return xsm_ops.mmu_update(d, t, f, flags);
 }
 
 static inline int xsm_mmuext_op (xsm_default_t def, struct domain *d, struct domain *f)
 {
-    return xsm_ops->mmuext_op(d, f);
+    return xsm_ops.mmuext_op(d, f);
 }
 
 static inline int xsm_update_va_mapping(xsm_default_t def, struct domain *d, struct domain *f,
                                                             l1_pgentry_t pte)
 {
-    return xsm_ops->update_va_mapping(d, f, pte);
+    return xsm_ops.update_va_mapping(d, f, pte);
 }
 
 static inline int xsm_priv_mapping(xsm_default_t def, struct domain *d, struct domain *t)
 {
-    return xsm_ops->priv_mapping(d, t);
+    return xsm_ops.priv_mapping(d, t);
 }
 
 static inline int xsm_ioport_permission (xsm_default_t def, struct domain *d, uint32_t s, uint32_t e, uint8_t allow)
 {
-    return xsm_ops->ioport_permission(d, s, e, allow);
+    return xsm_ops.ioport_permission(d, s, e, allow);
 }
 
 static inline int xsm_ioport_mapping (xsm_default_t def, struct domain *d, uint32_t s, uint32_t e, uint8_t allow)
 {
-    return xsm_ops->ioport_mapping(d, s, e, allow);
+    return xsm_ops.ioport_mapping(d, s, e, allow);
 }
 
 static inline int xsm_pmu_op (xsm_default_t def, struct domain *d, unsigned int op)
 {
-    return xsm_ops->pmu_op(d, op);
+    return xsm_ops.pmu_op(d, op);
 }
 
 #endif /* CONFIG_X86 */
 
 static inline int xsm_dm_op(xsm_default_t def, struct domain *d)
 {
-    return xsm_ops->dm_op(d);
+    return xsm_ops.dm_op(d);
 }
 
 static inline int xsm_xen_version (xsm_default_t def, uint32_t op)
 {
-    return xsm_ops->xen_version(op);
+    return xsm_ops.xen_version(op);
 }
 
 static inline int xsm_domain_resource_map(xsm_default_t def, struct domain *d)
 {
-    return xsm_ops->domain_resource_map(d);
+    return xsm_ops.domain_resource_map(d);
 }
 
 #ifdef CONFIG_ARGO
 static inline int xsm_argo_enable(const struct domain *d)
 {
-    return xsm_ops->argo_enable(d);
+    return xsm_ops.argo_enable(d);
 }
 
 static inline int xsm_argo_register_single_source(const struct domain *d,
                                                   const struct domain *t)
 {
-    return xsm_ops->argo_register_single_source(d, t);
+    return xsm_ops.argo_register_single_source(d, t);
 }
 
 static inline int xsm_argo_register_any_source(const struct domain *d)
 {
-    return xsm_ops->argo_register_any_source(d);
+    return xsm_ops.argo_register_any_source(d);
 }
 
 static inline int xsm_argo_send(const struct domain *d, const struct domain *t)
 {
-    return xsm_ops->argo_send(d, t);
+    return xsm_ops.argo_send(d, t);
 }
 
 #endif /* CONFIG_ARGO */
@@ -747,16 +747,16 @@ extern int xsm_dt_policy_init(void **policy_buffer, size_t *policy_size);
 extern bool has_xsm_magic(paddr_t);
 #endif
 
-extern int register_xsm(struct xsm_operations *ops);
-
-extern struct xsm_operations dummy_xsm_ops;
-extern void xsm_fixup_ops(struct xsm_operations *ops);
+extern void xsm_fixup_ops(struct xsm_ops *ops);
 
 #ifdef CONFIG_XSM_FLASK
-extern void flask_init(const void *policy_buffer, size_t policy_size);
+extern const struct xsm_ops *flask_init(const void *policy_buffer,
+                                        size_t policy_size);
 #else
-static inline void flask_init(const void *policy_buffer, size_t policy_size)
+static inline struct xsm_ops *flask_init(const void *policy_buffer,
+                                         size_t policy_size)
 {
+    return NULL;
 }
 #endif
 
@@ -766,9 +766,12 @@ extern const unsigned int xsm_flask_init_policy_size;
 #endif
 
 #ifdef CONFIG_XSM_SILO
-extern void silo_init(void);
+extern const struct xsm_ops *silo_init(void);
 #else
-static inline void silo_init(void) {}
+static inline struct xsm_ops *silo_init(void)
+{
+    return NULL;
+}
 #endif
 
 #else /* CONFIG_XSM */
diff --git a/xen/xsm/dummy.c b/xen/xsm/dummy.c
index de44b10130..d8c935328e 100644
--- a/xen/xsm/dummy.c
+++ b/xen/xsm/dummy.c
@@ -13,15 +13,13 @@
 #define XSM_NO_WRAPPERS
 #include <xsm/dummy.h>
 
-struct xsm_operations dummy_xsm_ops;
-
 #define set_to_dummy_if_null(ops, function)                            \
     do {                                                               \
         if ( !ops->function )                                          \
             ops->function = xsm_##function;                            \
     } while (0)
 
-void __init xsm_fixup_ops (struct xsm_operations *ops)
+void __init xsm_fixup_ops (struct xsm_ops *ops)
 {
     set_to_dummy_if_null(ops, security_domaininfo);
     set_to_dummy_if_null(ops, domain_create);
diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
index f1a1217c98..c1f31d8e4a 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -1745,7 +1745,7 @@ static int flask_argo_send(const struct domain *d, const struct domain *t)
 long do_flask_op(XEN_GUEST_HANDLE_PARAM(xsm_op_t) u_flask_op);
 int compat_flask_op(XEN_GUEST_HANDLE_PARAM(xsm_op_t) u_flask_op);
 
-static struct xsm_operations flask_ops = {
+static const struct xsm_ops __initconst flask_ops = {
     .security_domaininfo = flask_security_domaininfo,
     .domain_create = flask_domain_create,
     .getdomaininfo = flask_getdomaininfo,
@@ -1883,7 +1883,8 @@ static struct xsm_operations flask_ops = {
 #endif
 };
 
-void __init flask_init(const void *policy_buffer, size_t policy_size)
+const struct xsm_ops *__init flask_init(const void *policy_buffer,
+                                        size_t policy_size)
 {
     int ret = -ENOENT;
 
@@ -1891,7 +1892,7 @@ void __init flask_init(const void *policy_buffer, size_t policy_size)
     {
     case FLASK_BOOTPARAM_DISABLED:
         printk(XENLOG_INFO "Flask: Disabled at boot.\n");
-        return;
+        return NULL;
 
     case FLASK_BOOTPARAM_PERMISSIVE:
         flask_enforcing = 0;
@@ -1908,9 +1909,6 @@ void __init flask_init(const void *policy_buffer, size_t policy_size)
 
     avc_init();
 
-    if ( register_xsm(&flask_ops) )
-        panic("Flask: Unable to register with XSM\n");
-
     if ( policy_size && flask_bootparam != FLASK_BOOTPARAM_LATELOAD )
         ret = security_load_policy(policy_buffer, policy_size);
 
@@ -1923,6 +1921,8 @@ void __init flask_init(const void *policy_buffer, size_t policy_size)
         printk(XENLOG_INFO "Flask:  Starting in enforcing mode.\n");
     else
         printk(XENLOG_INFO "Flask:  Starting in permissive mode.\n");
+
+    return &flask_ops;
 }
 
 /*
diff --git a/xen/xsm/silo.c b/xen/xsm/silo.c
index fc2ca5cd2d..3a2dea13fe 100644
--- a/xen/xsm/silo.c
+++ b/xen/xsm/silo.c
@@ -100,7 +100,7 @@ static int silo_argo_send(const struct domain *d1, const struct domain *d2)
 
 #endif
 
-static struct xsm_operations silo_xsm_ops = {
+static const struct xsm_ops __initconst silo_xsm_ops = {
     .evtchn_unbound = silo_evtchn_unbound,
     .evtchn_interdomain = silo_evtchn_interdomain,
     .grant_mapref = silo_grant_mapref,
@@ -112,12 +112,11 @@ static struct xsm_operations silo_xsm_ops = {
 #endif
 };
 
-void __init silo_init(void)
+const struct xsm_ops *__init silo_init(void)
 {
     printk("Initialising XSM SILO mode\n");
 
-    if ( register_xsm(&silo_xsm_ops) )
-        panic("SILO: Unable to register with XSM\n");
+    return &silo_xsm_ops;
 }
 
 /*
diff --git a/xen/xsm/xsm_core.c b/xen/xsm/xsm_core.c
index 5eab21e1b1..b5219dff78 100644
--- a/xen/xsm/xsm_core.c
+++ b/xen/xsm/xsm_core.c
@@ -28,9 +28,17 @@
 #include <asm/setup.h>
 #endif
 
-#define XSM_FRAMEWORK_VERSION    "1.0.0"
+#define XSM_FRAMEWORK_VERSION    "1.0.1"
 
-struct xsm_operations *xsm_ops;
+struct xsm_ops xsm_ops;
+
+enum xsm_ops_state {
+    XSM_OPS_UNREGISTERED,
+    XSM_OPS_REG_FAILED,
+    XSM_OPS_REGISTERED,
+};
+
+static enum xsm_ops_state xsm_ops_registered = XSM_OPS_UNREGISTERED;
 
 enum xsm_bootparam {
     XSM_BOOTPARAM_DUMMY,
@@ -68,17 +76,10 @@ static int __init parse_xsm_param(const char *s)
 }
 custom_param("xsm", parse_xsm_param);
 
-static inline int verify(struct xsm_operations *ops)
-{
-    /* verify the security_operations structure exists */
-    if ( !ops )
-        return -EINVAL;
-    xsm_fixup_ops(ops);
-    return 0;
-}
-
 static int __init xsm_core_init(const void *policy_buffer, size_t policy_size)
 {
+    const struct xsm_ops *ops = NULL;
+
 #ifdef CONFIG_XSM_FLASK_POLICY
     if ( policy_size == 0 )
     {
@@ -87,25 +88,35 @@ static int __init xsm_core_init(const void *policy_buffer, size_t policy_size)
     }
 #endif
 
-    if ( verify(&dummy_xsm_ops) )
+    if ( xsm_ops_registered != XSM_OPS_UNREGISTERED )
     {
-        printk(XENLOG_ERR "Could not verify dummy_xsm_ops structure\n");
+        printk(XENLOG_ERR
+               "Could not init XSM, xsm_ops register already attempted\n");
         return -EIO;
     }
 
-    xsm_ops = &dummy_xsm_ops;
-
     switch ( xsm_bootparam )
     {
     case XSM_BOOTPARAM_DUMMY:
+        xsm_ops_registered = XSM_OPS_REGISTERED;
         break;
 
     case XSM_BOOTPARAM_FLASK:
-        flask_init(policy_buffer, policy_size);
+        ops = flask_init(policy_buffer, policy_size);
+        if ( ops )
+        {
+            xsm_ops_registered = XSM_OPS_REGISTERED;
+            xsm_ops = *ops;
+        }
         break;
 
     case XSM_BOOTPARAM_SILO:
-        silo_init();
+        ops = silo_init();
+        if ( ops )
+        {
+            xsm_ops_registered = XSM_OPS_REGISTERED;
+            xsm_ops = *ops;
+        }
         break;
 
     default:
@@ -113,6 +124,17 @@ static int __init xsm_core_init(const void *policy_buffer, size_t policy_size)
         break;
     }
 
+    /*
+     * This handles three cases,
+     *   - dummy policy module was selected
+     *   - a policy module does not provide all handlers
+     *   - a policy module failed to init
+     */
+    xsm_fixup_ops(&xsm_ops);
+
+    if ( xsm_ops_registered != XSM_OPS_REGISTERED )
+        xsm_ops_registered = XSM_OPS_REG_FAILED;
+
     return 0;
 }
 
@@ -195,22 +217,6 @@ bool __init has_xsm_magic(paddr_t start)
 }
 #endif
 
-int __init register_xsm(struct xsm_operations *ops)
-{
-    if ( verify(ops) )
-    {
-        printk(XENLOG_ERR "Could not verify xsm_operations structure\n");
-        return -EINVAL;
-    }
-
-    if ( xsm_ops != &dummy_xsm_ops )
-        return -EAGAIN;
-
-    xsm_ops = ops;
-
-    return 0;
-}
-
 #endif
 
 long do_xsm_op (XEN_GUEST_HANDLE_PARAM(xsm_op_t) op)
-- 
2.20.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 05 14:08:23 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 14:08:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164267.300541 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBe2p-0003Ic-5F; Thu, 05 Aug 2021 14:08:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164267.300541; Thu, 05 Aug 2021 14:08:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBe2p-0003IN-1T; Thu, 05 Aug 2021 14:08:23 +0000
Received: by outflank-mailman (input) for mailman id 164267;
 Thu, 05 Aug 2021 14:08:22 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DXIG=M4=apertussolutions.com=dpsmith@srs-us1.protection.inumbo.net>)
 id 1mBe2o-0003EW-HW
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 14:08:22 +0000
Received: from sender4-of-o51.zoho.com (unknown [136.143.188.51])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 94f5ee20-f5f6-11eb-9c12-12813bfff9fa;
 Thu, 05 Aug 2021 14:08:18 +0000 (UTC)
Received: from sisyou.hme. (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1628172448491141.0208042737005;
 Thu, 5 Aug 2021 07:07: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: 94f5ee20-f5f6-11eb-9c12-12813bfff9fa
ARC-Seal: i=1; a=rsa-sha256; t=1628172459; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=RPpjRzlNOPUKiv3yZClCZtyGXp1gkFC1C1WaugGgpjrZEZxt3MS3Y//S5VBbo2DXy4iY6tFszrTSKI287YSw9Gcz4OY6nqjgC/1InKSRn3HeZww821SAnQqlZBcekdjf0WXOstTexEzkxmo5up/Lzt1deMWNzC/uMi0vDmXYfqo=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1628172459; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=NtvoeQYWOhnYbx5fcCjmz9fQL9ZSlw45KedPaunTMSQ=; 
	b=JeZfVsRshvEpCkhZaP00sZFn2yBGXvxJZ5rEOTYvl35LoV7y+g3Oo9yh8bDLOeW4PA30YyYh/sR/IMPGXQqAxRRiCIXwajC9Ih3yBbayOEKdstjSF2tqbFbieT8M2VBDekU4g39PhyRNc00r4zfBKGq5E8UmhZ8SvSFNjqTlVM0=
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=1628172459;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:MIME-Version:Content-Transfer-Encoding;
	bh=NtvoeQYWOhnYbx5fcCjmz9fQL9ZSlw45KedPaunTMSQ=;
	b=GAdv3OcM/POkuYMB09rU66yLRbgThr0iISrfBOGQJPohe9AhKWzQE+aWdyo967D3
	mxkmbKy72i7MV0dBzlCvwStjqiAW18d/i/aVFVT58vsyYjZ5FyVVFJsyLReXeuHVdHD
	j82igmAphGdgOpp1Rv2WM45YtxCjAQ647qCq5XxE=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Daniel De Graaf <dgdegra@tycho.nsa.gov>
Subject: [PATCH v3 4/7] xsm: convert xsm_ops hook calls to alternative call
Date: Thu,  5 Aug 2021 10:06:41 -0400
Message-Id: <20210805140644.357-5-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20210805140644.357-1-dpsmith@apertussolutions.com>
References: <20210805140644.357-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

To reduce retpolines convert all the pointer function calls of the
xsm_ops hooks over to the alternative_call infrastructure.

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/include/xsm/xsm.h | 193 +++++++++++++++++++++---------------------
 1 file changed, 97 insertions(+), 96 deletions(-)

diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h
index aefca46c30..6a54ee883c 100644
--- a/xen/include/xsm/xsm.h
+++ b/xen/include/xsm/xsm.h
@@ -15,6 +15,7 @@
 #ifndef __XSM_H__
 #define __XSM_H__
 
+#include <xen/alternative-call.h>
 #include <xen/sched.h>
 #include <xen/multiboot.h>
 
@@ -198,288 +199,288 @@ extern struct xsm_ops xsm_ops;
 static inline void xsm_security_domaininfo (struct domain *d,
                                         struct xen_domctl_getdomaininfo *info)
 {
-    xsm_ops.security_domaininfo(d, info);
+    alternative_vcall(xsm_ops.security_domaininfo, d, info);
 }
 
 static inline int xsm_domain_create (xsm_default_t def, struct domain *d, u32 ssidref)
 {
-    return xsm_ops.domain_create(d, ssidref);
+    return alternative_call(xsm_ops.domain_create, d, ssidref);
 }
 
 static inline int xsm_getdomaininfo (xsm_default_t def, struct domain *d)
 {
-    return xsm_ops.getdomaininfo(d);
+    return alternative_call(xsm_ops.getdomaininfo, d);
 }
 
 static inline int xsm_domctl_scheduler_op (xsm_default_t def, struct domain *d, int cmd)
 {
-    return xsm_ops.domctl_scheduler_op(d, cmd);
+    return alternative_call(xsm_ops.domctl_scheduler_op, d, cmd);
 }
 
 static inline int xsm_sysctl_scheduler_op (xsm_default_t def, int cmd)
 {
-    return xsm_ops.sysctl_scheduler_op(cmd);
+    return alternative_call(xsm_ops.sysctl_scheduler_op, cmd);
 }
 
 static inline int xsm_set_target (xsm_default_t def, struct domain *d, struct domain *e)
 {
-    return xsm_ops.set_target(d, e);
+    return alternative_call(xsm_ops.set_target, d, e);
 }
 
 static inline int xsm_domctl (xsm_default_t def, struct domain *d, int cmd)
 {
-    return xsm_ops.domctl(d, cmd);
+    return alternative_call(xsm_ops.domctl, d, cmd);
 }
 
 static inline int xsm_sysctl (xsm_default_t def, int cmd)
 {
-    return xsm_ops.sysctl(cmd);
+    return alternative_call(xsm_ops.sysctl, cmd);
 }
 
 static inline int xsm_readconsole (xsm_default_t def, uint32_t clear)
 {
-    return xsm_ops.readconsole(clear);
+    return alternative_call(xsm_ops.readconsole, clear);
 }
 
 static inline int xsm_evtchn_unbound (xsm_default_t def, struct domain *d1, struct evtchn *chn,
                                                                     domid_t id2)
 {
-    return xsm_ops.evtchn_unbound(d1, chn, id2);
+    return alternative_call(xsm_ops.evtchn_unbound, d1, chn, id2);
 }
 
 static inline int xsm_evtchn_interdomain (xsm_default_t def, struct domain *d1,
                 struct evtchn *chan1, struct domain *d2, struct evtchn *chan2)
 {
-    return xsm_ops.evtchn_interdomain(d1, chan1, d2, chan2);
+    return alternative_call(xsm_ops.evtchn_interdomain, d1, chan1, d2, chan2);
 }
 
 static inline void xsm_evtchn_close_post (struct evtchn *chn)
 {
-    xsm_ops.evtchn_close_post(chn);
+    alternative_vcall(xsm_ops.evtchn_close_post, chn);
 }
 
 static inline int xsm_evtchn_send (xsm_default_t def, struct domain *d, struct evtchn *chn)
 {
-    return xsm_ops.evtchn_send(d, chn);
+    return alternative_call(xsm_ops.evtchn_send, d, chn);
 }
 
 static inline int xsm_evtchn_status (xsm_default_t def, struct domain *d, struct evtchn *chn)
 {
-    return xsm_ops.evtchn_status(d, chn);
+    return alternative_call(xsm_ops.evtchn_status, d, chn);
 }
 
 static inline int xsm_evtchn_reset (xsm_default_t def, struct domain *d1, struct domain *d2)
 {
-    return xsm_ops.evtchn_reset(d1, d2);
+    return alternative_call(xsm_ops.evtchn_reset, d1, d2);
 }
 
 static inline int xsm_grant_mapref (xsm_default_t def, struct domain *d1, struct domain *d2,
                                                                 uint32_t flags)
 {
-    return xsm_ops.grant_mapref(d1, d2, flags);
+    return alternative_call(xsm_ops.grant_mapref, d1, d2, flags);
 }
 
 static inline int xsm_grant_unmapref (xsm_default_t def, struct domain *d1, struct domain *d2)
 {
-    return xsm_ops.grant_unmapref(d1, d2);
+    return alternative_call(xsm_ops.grant_unmapref, d1, d2);
 }
 
 static inline int xsm_grant_setup (xsm_default_t def, struct domain *d1, struct domain *d2)
 {
-    return xsm_ops.grant_setup(d1, d2);
+    return alternative_call(xsm_ops.grant_setup, d1, d2);
 }
 
 static inline int xsm_grant_transfer (xsm_default_t def, struct domain *d1, struct domain *d2)
 {
-    return xsm_ops.grant_transfer(d1, d2);
+    return alternative_call(xsm_ops.grant_transfer, d1, d2);
 }
 
 static inline int xsm_grant_copy (xsm_default_t def, struct domain *d1, struct domain *d2)
 {
-    return xsm_ops.grant_copy(d1, d2);
+    return alternative_call(xsm_ops.grant_copy, d1, d2);
 }
 
 static inline int xsm_grant_query_size (xsm_default_t def, struct domain *d1, struct domain *d2)
 {
-    return xsm_ops.grant_query_size(d1, d2);
+    return alternative_call(xsm_ops.grant_query_size, d1, d2);
 }
 
 static inline int xsm_alloc_security_domain (struct domain *d)
 {
-    return xsm_ops.alloc_security_domain(d);
+    return alternative_call(xsm_ops.alloc_security_domain, d);
 }
 
 static inline void xsm_free_security_domain (struct domain *d)
 {
-    xsm_ops.free_security_domain(d);
+    alternative_vcall(xsm_ops.free_security_domain, d);
 }
 
 static inline int xsm_alloc_security_evtchns(
     struct evtchn chn[], unsigned int nr)
 {
-    return xsm_ops.alloc_security_evtchns(chn, nr);
+    return alternative_call(xsm_ops.alloc_security_evtchns, chn, nr);
 }
 
 static inline void xsm_free_security_evtchns(
     struct evtchn chn[], unsigned int nr)
 {
-    xsm_ops.free_security_evtchns(chn, nr);
+    alternative_vcall(xsm_ops.free_security_evtchns, chn, nr);
 }
 
 static inline char *xsm_show_security_evtchn (struct domain *d, const struct evtchn *chn)
 {
-    return xsm_ops.show_security_evtchn(d, chn);
+    return alternative_call(xsm_ops.show_security_evtchn, d, chn);
 }
 
 static inline int xsm_init_hardware_domain (xsm_default_t def, struct domain *d)
 {
-    return xsm_ops.init_hardware_domain(d);
+    return alternative_call(xsm_ops.init_hardware_domain, d);
 }
 
 static inline int xsm_get_pod_target (xsm_default_t def, struct domain *d)
 {
-    return xsm_ops.get_pod_target(d);
+    return alternative_call(xsm_ops.get_pod_target, d);
 }
 
 static inline int xsm_set_pod_target (xsm_default_t def, struct domain *d)
 {
-    return xsm_ops.set_pod_target(d);
+    return alternative_call(xsm_ops.set_pod_target, d);
 }
 
 static inline int xsm_memory_exchange (xsm_default_t def, struct domain *d)
 {
-    return xsm_ops.memory_exchange(d);
+    return alternative_call(xsm_ops.memory_exchange, d);
 }
 
 static inline int xsm_memory_adjust_reservation (xsm_default_t def, struct domain *d1, struct
                                                                     domain *d2)
 {
-    return xsm_ops.memory_adjust_reservation(d1, d2);
+    return alternative_call(xsm_ops.memory_adjust_reservation, d1, d2);
 }
 
 static inline int xsm_memory_stat_reservation (xsm_default_t def, struct domain *d1,
                                                             struct domain *d2)
 {
-    return xsm_ops.memory_stat_reservation(d1, d2);
+    return alternative_call(xsm_ops.memory_stat_reservation, d1, d2);
 }
 
 static inline int xsm_memory_pin_page(xsm_default_t def, struct domain *d1, struct domain *d2,
                                       struct page_info *page)
 {
-    return xsm_ops.memory_pin_page(d1, d2, page);
+    return alternative_call(xsm_ops.memory_pin_page, d1, d2, page);
 }
 
 static inline int xsm_add_to_physmap(xsm_default_t def, struct domain *d1, struct domain *d2)
 {
-    return xsm_ops.add_to_physmap(d1, d2);
+    return alternative_call(xsm_ops.add_to_physmap, d1, d2);
 }
 
 static inline int xsm_remove_from_physmap(xsm_default_t def, struct domain *d1, struct domain *d2)
 {
-    return xsm_ops.remove_from_physmap(d1, d2);
+    return alternative_call(xsm_ops.remove_from_physmap, d1, d2);
 }
 
 static inline int xsm_map_gmfn_foreign (xsm_default_t def, struct domain *d, struct domain *t)
 {
-    return xsm_ops.map_gmfn_foreign(d, t);
+    return alternative_call(xsm_ops.map_gmfn_foreign, d, t);
 }
 
 static inline int xsm_claim_pages(xsm_default_t def, struct domain *d)
 {
-    return xsm_ops.claim_pages(d);
+    return alternative_call(xsm_ops.claim_pages, d);
 }
 
 static inline int xsm_console_io (xsm_default_t def, struct domain *d, int cmd)
 {
-    return xsm_ops.console_io(d, cmd);
+    return alternative_call(xsm_ops.console_io, d, cmd);
 }
 
 static inline int xsm_profile (xsm_default_t def, struct domain *d, int op)
 {
-    return xsm_ops.profile(d, op);
+    return alternative_call(xsm_ops.profile, d, op);
 }
 
 static inline int xsm_kexec (xsm_default_t def)
 {
-    return xsm_ops.kexec();
+    return alternative_call(xsm_ops.kexec);
 }
 
 static inline int xsm_schedop_shutdown (xsm_default_t def, struct domain *d1, struct domain *d2)
 {
-    return xsm_ops.schedop_shutdown(d1, d2);
+    return alternative_call(xsm_ops.schedop_shutdown, d1, d2);
 }
 
 static inline char *xsm_show_irq_sid (int irq)
 {
-    return xsm_ops.show_irq_sid(irq);
+    return alternative_call(xsm_ops.show_irq_sid, irq);
 }
 
 static inline int xsm_map_domain_pirq (xsm_default_t def, struct domain *d)
 {
-    return xsm_ops.map_domain_pirq(d);
+    return alternative_call(xsm_ops.map_domain_pirq, d);
 }
 
 static inline int xsm_map_domain_irq (xsm_default_t def, struct domain *d, int irq, void *data)
 {
-    return xsm_ops.map_domain_irq(d, irq, data);
+    return alternative_call(xsm_ops.map_domain_irq, d, irq, data);
 }
 
 static inline int xsm_unmap_domain_pirq (xsm_default_t def, struct domain *d)
 {
-    return xsm_ops.unmap_domain_pirq(d);
+    return alternative_call(xsm_ops.unmap_domain_pirq, d);
 }
 
 static inline int xsm_unmap_domain_irq (xsm_default_t def, struct domain *d, int irq, void *data)
 {
-    return xsm_ops.unmap_domain_irq(d, irq, data);
+    return alternative_call(xsm_ops.unmap_domain_irq, d, irq, data);
 }
 
 static inline int xsm_bind_pt_irq(xsm_default_t def, struct domain *d,
                                   struct xen_domctl_bind_pt_irq *bind)
 {
-    return xsm_ops.bind_pt_irq(d, bind);
+    return alternative_call(xsm_ops.bind_pt_irq, d, bind);
 }
 
 static inline int xsm_unbind_pt_irq(xsm_default_t def, struct domain *d,
                                     struct xen_domctl_bind_pt_irq *bind)
 {
-    return xsm_ops.unbind_pt_irq(d, bind);
+    return alternative_call(xsm_ops.unbind_pt_irq, d, bind);
 }
 
 static inline int xsm_irq_permission (xsm_default_t def, struct domain *d, int pirq, uint8_t allow)
 {
-    return xsm_ops.irq_permission(d, pirq, allow);
+    return alternative_call(xsm_ops.irq_permission, d, pirq, allow);
 }
 
 static inline int xsm_iomem_permission (xsm_default_t def, struct domain *d, uint64_t s, uint64_t e, uint8_t allow)
 {
-    return xsm_ops.iomem_permission(d, s, e, allow);
+    return alternative_call(xsm_ops.iomem_permission, d, s, e, allow);
 }
 
 static inline int xsm_iomem_mapping (xsm_default_t def, struct domain *d, uint64_t s, uint64_t e, uint8_t allow)
 {
-    return xsm_ops.iomem_mapping(d, s, e, allow);
+    return alternative_call(xsm_ops.iomem_mapping, d, s, e, allow);
 }
 
 static inline int xsm_pci_config_permission (xsm_default_t def, struct domain *d, uint32_t machine_bdf, uint16_t start, uint16_t end, uint8_t access)
 {
-    return xsm_ops.pci_config_permission(d, machine_bdf, start, end, access);
+    return alternative_call(xsm_ops.pci_config_permission, d, machine_bdf, start, end, access);
 }
 
 #if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_PCI)
 static inline int xsm_get_device_group(xsm_default_t def, uint32_t machine_bdf)
 {
-    return xsm_ops.get_device_group(machine_bdf);
+    return alternative_call(xsm_ops.get_device_group, machine_bdf);
 }
 
 static inline int xsm_assign_device(xsm_default_t def, struct domain *d, uint32_t machine_bdf)
 {
-    return xsm_ops.assign_device(d, machine_bdf);
+    return alternative_call(xsm_ops.assign_device, d, machine_bdf);
 }
 
 static inline int xsm_deassign_device(xsm_default_t def, struct domain *d, uint32_t machine_bdf)
 {
-    return xsm_ops.deassign_device(d, machine_bdf);
+    return alternative_call(xsm_ops.deassign_device, d, machine_bdf);
 }
 #endif /* HAS_PASSTHROUGH && HAS_PCI) */
 
@@ -487,60 +488,60 @@ static inline int xsm_deassign_device(xsm_default_t def, struct domain *d, uint3
 static inline int xsm_assign_dtdevice(xsm_default_t def, struct domain *d,
                                       const char *dtpath)
 {
-    return xsm_ops.assign_dtdevice(d, dtpath);
+    return alternative_call(xsm_ops.assign_dtdevice, d, dtpath);
 }
 
 static inline int xsm_deassign_dtdevice(xsm_default_t def, struct domain *d,
                                         const char *dtpath)
 {
-    return xsm_ops.deassign_dtdevice(d, dtpath);
+    return alternative_call(xsm_ops.deassign_dtdevice, d, dtpath);
 }
 
 #endif /* HAS_PASSTHROUGH && HAS_DEVICE_TREE */
 
 static inline int xsm_resource_plug_pci (xsm_default_t def, uint32_t machine_bdf)
 {
-    return xsm_ops.resource_plug_pci(machine_bdf);
+    return alternative_call(xsm_ops.resource_plug_pci, machine_bdf);
 }
 
 static inline int xsm_resource_unplug_pci (xsm_default_t def, uint32_t machine_bdf)
 {
-    return xsm_ops.resource_unplug_pci(machine_bdf);
+    return alternative_call(xsm_ops.resource_unplug_pci, machine_bdf);
 }
 
 static inline int xsm_resource_plug_core (xsm_default_t def)
 {
-    return xsm_ops.resource_plug_core();
+    return alternative_call(xsm_ops.resource_plug_core);
 }
 
 static inline int xsm_resource_unplug_core (xsm_default_t def)
 {
-    return xsm_ops.resource_unplug_core();
+    return alternative_call(xsm_ops.resource_unplug_core);
 }
 
 static inline int xsm_resource_setup_pci (xsm_default_t def, uint32_t machine_bdf)
 {
-    return xsm_ops.resource_setup_pci(machine_bdf);
+    return alternative_call(xsm_ops.resource_setup_pci, machine_bdf);
 }
 
 static inline int xsm_resource_setup_gsi (xsm_default_t def, int gsi)
 {
-    return xsm_ops.resource_setup_gsi(gsi);
+    return alternative_call(xsm_ops.resource_setup_gsi, gsi);
 }
 
 static inline int xsm_resource_setup_misc (xsm_default_t def)
 {
-    return xsm_ops.resource_setup_misc();
+    return alternative_call(xsm_ops.resource_setup_misc);
 }
 
 static inline int xsm_page_offline(xsm_default_t def, uint32_t cmd)
 {
-    return xsm_ops.page_offline(cmd);
+    return alternative_call(xsm_ops.page_offline, cmd);
 }
 
 static inline int xsm_hypfs_op(xsm_default_t def)
 {
-    return xsm_ops.hypfs_op();
+    return alternative_call(xsm_ops.hypfs_op);
 }
 
 static inline long xsm_do_xsm_op (XEN_GUEST_HANDLE_PARAM(xsm_op_t) op)
@@ -557,105 +558,105 @@ static inline int xsm_do_compat_op (XEN_GUEST_HANDLE_PARAM(xsm_op_t) op)
 
 static inline int xsm_hvm_param (xsm_default_t def, struct domain *d, unsigned long op)
 {
-    return xsm_ops.hvm_param(d, op);
+    return alternative_call(xsm_ops.hvm_param, d, op);
 }
 
 static inline int xsm_hvm_control(xsm_default_t def, struct domain *d, unsigned long op)
 {
-    return xsm_ops.hvm_control(d, op);
+    return alternative_call(xsm_ops.hvm_control, d, op);
 }
 
 static inline int xsm_hvm_param_altp2mhvm (xsm_default_t def, struct domain *d)
 {
-    return xsm_ops.hvm_param_altp2mhvm(d);
+    return alternative_call(xsm_ops.hvm_param_altp2mhvm, d);
 }
 
 static inline int xsm_hvm_altp2mhvm_op (xsm_default_t def, struct domain *d, uint64_t mode, uint32_t op)
 {
-    return xsm_ops.hvm_altp2mhvm_op(d, mode, op);
+    return alternative_call(xsm_ops.hvm_altp2mhvm_op, d, mode, op);
 }
 
 static inline int xsm_get_vnumainfo (xsm_default_t def, struct domain *d)
 {
-    return xsm_ops.get_vnumainfo(d);
+    return alternative_call(xsm_ops.get_vnumainfo, d);
 }
 
 static inline int xsm_vm_event_control (xsm_default_t def, struct domain *d, int mode, int op)
 {
-    return xsm_ops.vm_event_control(d, mode, op);
+    return alternative_call(xsm_ops.vm_event_control, d, mode, op);
 }
 
 #ifdef CONFIG_MEM_ACCESS
 static inline int xsm_mem_access (xsm_default_t def, struct domain *d)
 {
-    return xsm_ops.mem_access(d);
+    return alternative_call(xsm_ops.mem_access, d);
 }
 #endif
 
 #ifdef CONFIG_MEM_PAGING
 static inline int xsm_mem_paging (xsm_default_t def, struct domain *d)
 {
-    return xsm_ops.mem_paging(d);
+    return alternative_call(xsm_ops.mem_paging, d);
 }
 #endif
 
 #ifdef CONFIG_MEM_SHARING
 static inline int xsm_mem_sharing (xsm_default_t def, struct domain *d)
 {
-    return xsm_ops.mem_sharing(d);
+    return alternative_call(xsm_ops.mem_sharing, d);
 }
 #endif
 
 static inline int xsm_platform_op (xsm_default_t def, uint32_t op)
 {
-    return xsm_ops.platform_op(op);
+    return alternative_call(xsm_ops.platform_op, op);
 }
 
 #ifdef CONFIG_X86
 static inline int xsm_do_mca(xsm_default_t def)
 {
-    return xsm_ops.do_mca();
+    return alternative_call(xsm_ops.do_mca);
 }
 
 static inline int xsm_shadow_control (xsm_default_t def, struct domain *d, uint32_t op)
 {
-    return xsm_ops.shadow_control(d, op);
+    return alternative_call(xsm_ops.shadow_control, d, op);
 }
 
 static inline int xsm_mem_sharing_op (xsm_default_t def, struct domain *d, struct domain *cd, int op)
 {
-    return xsm_ops.mem_sharing_op(d, cd, op);
+    return alternative_call(xsm_ops.mem_sharing_op, d, cd, op);
 }
 
 static inline int xsm_apic (xsm_default_t def, struct domain *d, int cmd)
 {
-    return xsm_ops.apic(d, cmd);
+    return alternative_call(xsm_ops.apic, d, cmd);
 }
 
 static inline int xsm_memtype (xsm_default_t def, uint32_t access)
 {
-    return xsm_ops.memtype(access);
+    return alternative_call(xsm_ops.memtype, access);
 }
 
 static inline int xsm_machine_memory_map(xsm_default_t def)
 {
-    return xsm_ops.machine_memory_map();
+    return alternative_call(xsm_ops.machine_memory_map);
 }
 
 static inline int xsm_domain_memory_map(xsm_default_t def, struct domain *d)
 {
-    return xsm_ops.domain_memory_map(d);
+    return alternative_call(xsm_ops.domain_memory_map, d);
 }
 
 static inline int xsm_mmu_update (xsm_default_t def, struct domain *d, struct domain *t,
                                   struct domain *f, uint32_t flags)
 {
-    return xsm_ops.mmu_update(d, t, f, flags);
+    return alternative_call(xsm_ops.mmu_update, d, t, f, flags);
 }
 
 static inline int xsm_mmuext_op (xsm_default_t def, struct domain *d, struct domain *f)
 {
-    return xsm_ops.mmuext_op(d, f);
+    return alternative_call(xsm_ops.mmuext_op, d, f);
 }
 
 static inline int xsm_update_va_mapping(xsm_default_t def, struct domain *d, struct domain *f,
@@ -666,61 +667,61 @@ static inline int xsm_update_va_mapping(xsm_default_t def, struct domain *d, str
 
 static inline int xsm_priv_mapping(xsm_default_t def, struct domain *d, struct domain *t)
 {
-    return xsm_ops.priv_mapping(d, t);
+    return alternative_call(xsm_ops.priv_mapping, d, t);
 }
 
 static inline int xsm_ioport_permission (xsm_default_t def, struct domain *d, uint32_t s, uint32_t e, uint8_t allow)
 {
-    return xsm_ops.ioport_permission(d, s, e, allow);
+    return alternative_call(xsm_ops.ioport_permission, d, s, e, allow);
 }
 
 static inline int xsm_ioport_mapping (xsm_default_t def, struct domain *d, uint32_t s, uint32_t e, uint8_t allow)
 {
-    return xsm_ops.ioport_mapping(d, s, e, allow);
+    return alternative_call(xsm_ops.ioport_mapping, d, s, e, allow);
 }
 
 static inline int xsm_pmu_op (xsm_default_t def, struct domain *d, unsigned int op)
 {
-    return xsm_ops.pmu_op(d, op);
+    return alternative_call(xsm_ops.pmu_op, d, op);
 }
 
 #endif /* CONFIG_X86 */
 
 static inline int xsm_dm_op(xsm_default_t def, struct domain *d)
 {
-    return xsm_ops.dm_op(d);
+    return alternative_call(xsm_ops.dm_op, d);
 }
 
 static inline int xsm_xen_version (xsm_default_t def, uint32_t op)
 {
-    return xsm_ops.xen_version(op);
+    return alternative_call(xsm_ops.xen_version, op);
 }
 
 static inline int xsm_domain_resource_map(xsm_default_t def, struct domain *d)
 {
-    return xsm_ops.domain_resource_map(d);
+    return alternative_call(xsm_ops.domain_resource_map, d);
 }
 
 #ifdef CONFIG_ARGO
 static inline int xsm_argo_enable(const struct domain *d)
 {
-    return xsm_ops.argo_enable(d);
+    return alternative_call(xsm_ops.argo_enable, d);
 }
 
 static inline int xsm_argo_register_single_source(const struct domain *d,
                                                   const struct domain *t)
 {
-    return xsm_ops.argo_register_single_source(d, t);
+    return alternative_call(xsm_ops.argo_register_single_source, d, t);
 }
 
 static inline int xsm_argo_register_any_source(const struct domain *d)
 {
-    return xsm_ops.argo_register_any_source(d);
+    return alternative_call(xsm_ops.argo_register_any_source, d);
 }
 
 static inline int xsm_argo_send(const struct domain *d, const struct domain *t)
 {
-    return xsm_ops.argo_send(d, t);
+    return alternative_call(xsm_ops.argo_send, d, t);
 }
 
 #endif /* CONFIG_ARGO */
-- 
2.20.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 05 14:08:30 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 14:08:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164270.300553 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBe2w-0003il-DZ; Thu, 05 Aug 2021 14:08:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164270.300553; Thu, 05 Aug 2021 14:08: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 1mBe2w-0003iX-AI; Thu, 05 Aug 2021 14:08:30 +0000
Received: by outflank-mailman (input) for mailman id 164270;
 Thu, 05 Aug 2021 14:08:29 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DXIG=M4=apertussolutions.com=dpsmith@srs-us1.protection.inumbo.net>)
 id 1mBe2v-0003hf-IP
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 14:08:29 +0000
Received: from sender4-of-o51.zoho.com (unknown [136.143.188.51])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 9a3e2bd6-f5f6-11eb-9c12-12813bfff9fa;
 Thu, 05 Aug 2021 14:08:27 +0000 (UTC)
Received: from sisyou.hme. (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1628172449431990.6205406548489;
 Thu, 5 Aug 2021 07:07: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: 9a3e2bd6-f5f6-11eb-9c12-12813bfff9fa
ARC-Seal: i=1; a=rsa-sha256; t=1628172460; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=aRvE5GeE/mjvWRGEYn5eDptPa9DT6SSCPeEq2emdruFNL1StLFOLzXq/jr4p0w32OfK0NzWV5YeaB8jD1N5IY71sqVRuEX971xkkVdwu/RIRfxcMhQQMUvlt+Qo3DRepUBt9Ze99gvekJaPxrSeWbMuGDb0E3TVyqL212/Liij4=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1628172460; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=OsJ56cAFTIRJaLZzm10Zbl6V8Iu59lcLFE8LvnXHX0Q=; 
	b=PeQRpegv7BwhRehtQ6X+HGF/Lvo6k02r6P6UgN5h3kt2AmFUAv0d0A9cTu9QUwIt/AYGcHkKh5heIIJ3rqv4M3a54CPWFse/pVapVmMjPOmbb+IBQRktVjoUPLfOiXOEsXPXegqztWrpqI5CUNgwI4nCxco3j/BsIJ1H5pTw87w=
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=1628172460;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:MIME-Version:Content-Transfer-Encoding;
	bh=OsJ56cAFTIRJaLZzm10Zbl6V8Iu59lcLFE8LvnXHX0Q=;
	b=m/DElJ99YkAbnlaau6lMZtUnM4DfB0uJmlXbGIBJndi+TsuJkUrw53fZsKBrkhh3
	aJdtAy7sxaUA8DyEUUylzqpNZ6jWpc7TY+zhcfruaN1yErwJhTdrKcU7rJWIGK58vYg
	KPVotNnb/lazidCuddYZhl1GR+9VqlKF44zIi//I=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	xen-devel@lists.xenproject.org
Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Subject: [PATCH v3 5/7] xsm: decouple xsm header inclusion selection
Date: Thu,  5 Aug 2021 10:06:42 -0400
Message-Id: <20210805140644.357-6-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20210805140644.357-1-dpsmith@apertussolutions.com>
References: <20210805140644.357-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

Multiple preprocessor defines were used as a mechanism to selective include
parts of the xsm.h header file. This makes it difficult to know which portion
is being included at any one time. This commit works to simplify this by
separating the core structures and functions of XSM into xsm-core.h away from
the wrapper functions which remain in xsm.h and dummy.h.

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 xen/include/xsm/dummy.h    |   2 +-
 xen/include/xsm/xsm-core.h | 273 +++++++++++++++++++++++++++++++++++++
 xen/include/xsm/xsm.h      | 243 +--------------------------------
 xen/xsm/dummy.c            |   1 -
 xen/xsm/silo.c             |   1 -
 5 files changed, 275 insertions(+), 245 deletions(-)
 create mode 100644 xen/include/xsm/xsm-core.h

diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
index 363c6d7798..c445c5681b 100644
--- a/xen/include/xsm/dummy.h
+++ b/xen/include/xsm/dummy.h
@@ -16,7 +16,7 @@
  */
 
 #include <xen/sched.h>
-#include <xsm/xsm.h>
+#include <xsm/xsm-core.h>
 #include <public/hvm/params.h>
 
 /* Cannot use BUILD_BUG_ON here because the expressions we check are not
diff --git a/xen/include/xsm/xsm-core.h b/xen/include/xsm/xsm-core.h
new file mode 100644
index 0000000000..49b00d688c
--- /dev/null
+++ b/xen/include/xsm/xsm-core.h
@@ -0,0 +1,273 @@
+/*
+ *  This file contains the XSM hook definitions for Xen.
+ *
+ *  This work is based on the LSM implementation in Linux 2.6.13.4.
+ *
+ *  Author:  George Coker, <gscoker@alpha.ncsc.mil>
+ *
+ *  Contributors: Michael LeMay, <mdlemay@epoch.ncsc.mil>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License version 2,
+ *  as published by the Free Software Foundation.
+ */
+
+#ifndef __XSM_CORE_H__
+#define __XSM_CORE_H__
+
+#include <xen/sched.h>
+#include <xen/multiboot.h>
+
+typedef void xsm_op_t;
+DEFINE_XEN_GUEST_HANDLE(xsm_op_t);
+
+/* policy magic number (defined by XSM_MAGIC) */
+typedef uint32_t xsm_magic_t;
+
+#ifdef CONFIG_XSM_FLASK
+#define XSM_MAGIC 0xf97cff8c
+#else
+#define XSM_MAGIC 0x0
+#endif
+
+/* These annotations are used by callers and in dummy.h to document the
+ * default actions of XSM hooks. They should be compiled out otherwise.
+ */
+enum xsm_default {
+    XSM_HOOK,     /* Guests can normally access the hypercall */
+    XSM_DM_PRIV,  /* Device model can perform on its target domain */
+    XSM_TARGET,   /* Can perform on self or your target domain */
+    XSM_PRIV,     /* Privileged - normally restricted to dom0 */
+    XSM_XS_PRIV,  /* Xenstore domain - can do some privileged operations */
+    XSM_OTHER     /* Something more complex */
+};
+typedef enum xsm_default xsm_default_t;
+
+struct xsm_ops {
+    void (*security_domaininfo) (struct domain *d,
+                                 struct xen_domctl_getdomaininfo *info);
+    int (*domain_create) (struct domain *d, uint32_t ssidref);
+    int (*getdomaininfo) (struct domain *d);
+    int (*domctl_scheduler_op) (struct domain *d, int op);
+    int (*sysctl_scheduler_op) (int op);
+    int (*set_target) (struct domain *d, struct domain *e);
+    int (*domctl) (struct domain *d, int cmd);
+    int (*sysctl) (int cmd);
+    int (*readconsole) (uint32_t clear);
+
+    int (*evtchn_unbound) (struct domain *d, struct evtchn *chn, domid_t id2);
+    int (*evtchn_interdomain) (struct domain *d1, struct evtchn *chn1,
+                               struct domain *d2, struct evtchn *chn2);
+    void (*evtchn_close_post) (struct evtchn *chn);
+    int (*evtchn_send) (struct domain *d, struct evtchn *chn);
+    int (*evtchn_status) (struct domain *d, struct evtchn *chn);
+    int (*evtchn_reset) (struct domain *d1, struct domain *d2);
+
+    int (*grant_mapref) (struct domain *d1, struct domain *d2, uint32_t flags);
+    int (*grant_unmapref) (struct domain *d1, struct domain *d2);
+    int (*grant_setup) (struct domain *d1, struct domain *d2);
+    int (*grant_transfer) (struct domain *d1, struct domain *d2);
+    int (*grant_copy) (struct domain *d1, struct domain *d2);
+    int (*grant_query_size) (struct domain *d1, struct domain *d2);
+
+    int (*alloc_security_domain) (struct domain *d);
+    void (*free_security_domain) (struct domain *d);
+    int (*alloc_security_evtchns) (struct evtchn chn[], unsigned int nr);
+    void (*free_security_evtchns) (struct evtchn chn[], unsigned int nr);
+    char *(*show_security_evtchn) (struct domain *d, const struct evtchn *chn);
+    int (*init_hardware_domain) (struct domain *d);
+
+    int (*get_pod_target) (struct domain *d);
+    int (*set_pod_target) (struct domain *d);
+    int (*memory_exchange) (struct domain *d);
+    int (*memory_adjust_reservation) (struct domain *d1, struct domain *d2);
+    int (*memory_stat_reservation) (struct domain *d1, struct domain *d2);
+    int (*memory_pin_page) (struct domain *d1, struct domain *d2,
+                            struct page_info *page);
+    int (*add_to_physmap) (struct domain *d1, struct domain *d2);
+    int (*remove_from_physmap) (struct domain *d1, struct domain *d2);
+    int (*map_gmfn_foreign) (struct domain *d, struct domain *t);
+    int (*claim_pages) (struct domain *d);
+
+    int (*console_io) (struct domain *d, int cmd);
+
+    int (*profile) (struct domain *d, int op);
+
+    int (*kexec) (void);
+    int (*schedop_shutdown) (struct domain *d1, struct domain *d2);
+
+    char *(*show_irq_sid) (int irq);
+    int (*map_domain_pirq) (struct domain *d);
+    int (*map_domain_irq) (struct domain *d, int irq, const void *data);
+    int (*unmap_domain_pirq) (struct domain *d);
+    int (*unmap_domain_irq) (struct domain *d, int irq, const void *data);
+    int (*bind_pt_irq) (struct domain *d, struct xen_domctl_bind_pt_irq *bind);
+    int (*unbind_pt_irq) (struct domain *d,
+                          struct xen_domctl_bind_pt_irq *bind);
+    int (*irq_permission) (struct domain *d, int pirq, uint8_t allow);
+    int (*iomem_permission) (struct domain *d, uint64_t s, uint64_t e,
+                             uint8_t allow);
+    int (*iomem_mapping) (struct domain *d, uint64_t s, uint64_t e,
+                          uint8_t allow);
+    int (*pci_config_permission) (struct domain *d, uint32_t machine_bdf,
+                                  uint16_t start, uint16_t end, uint8_t access);
+
+#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_PCI)
+    int (*get_device_group) (uint32_t machine_bdf);
+    int (*assign_device) (struct domain *d, uint32_t machine_bdf);
+    int (*deassign_device) (struct domain *d, uint32_t machine_bdf);
+#endif
+
+#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_DEVICE_TREE)
+    int (*assign_dtdevice) (struct domain *d, const char *dtpath);
+    int (*deassign_dtdevice) (struct domain *d, const char *dtpath);
+#endif
+
+    int (*resource_plug_core) (void);
+    int (*resource_unplug_core) (void);
+    int (*resource_plug_pci) (uint32_t machine_bdf);
+    int (*resource_unplug_pci) (uint32_t machine_bdf);
+    int (*resource_setup_pci) (uint32_t machine_bdf);
+    int (*resource_setup_gsi) (int gsi);
+    int (*resource_setup_misc) (void);
+
+    int (*page_offline)(uint32_t cmd);
+    int (*hypfs_op)(void);
+
+    long (*do_xsm_op) (XEN_GUEST_HANDLE_PARAM(xsm_op_t) op);
+#ifdef CONFIG_COMPAT
+    int (*do_compat_op) (XEN_GUEST_HANDLE_PARAM(xsm_op_t) op);
+#endif
+
+    int (*hvm_param) (struct domain *d, unsigned long op);
+    int (*hvm_control) (struct domain *d, unsigned long op);
+    int (*hvm_param_altp2mhvm) (struct domain *d);
+    int (*hvm_altp2mhvm_op) (struct domain *d, uint64_t mode, uint32_t op);
+    int (*get_vnumainfo) (struct domain *d);
+
+    int (*vm_event_control) (struct domain *d, int mode, int op);
+
+#ifdef CONFIG_MEM_ACCESS
+    int (*mem_access) (struct domain *d);
+#endif
+
+#ifdef CONFIG_MEM_PAGING
+    int (*mem_paging) (struct domain *d);
+#endif
+
+#ifdef CONFIG_MEM_SHARING
+    int (*mem_sharing) (struct domain *d);
+#endif
+
+    int (*platform_op) (uint32_t cmd);
+
+#ifdef CONFIG_X86
+    int (*do_mca) (void);
+    int (*shadow_control) (struct domain *d, uint32_t op);
+    int (*mem_sharing_op) (struct domain *d, struct domain *cd, int op);
+    int (*apic) (struct domain *d, int cmd);
+    int (*memtype) (uint32_t access);
+    int (*machine_memory_map) (void);
+    int (*domain_memory_map) (struct domain *d);
+#define XSM_MMU_UPDATE_READ      1
+#define XSM_MMU_UPDATE_WRITE     2
+#define XSM_MMU_NORMAL_UPDATE    4
+#define XSM_MMU_MACHPHYS_UPDATE  8
+    int (*mmu_update) (struct domain *d, struct domain *t,
+                       struct domain *f, uint32_t flags);
+    int (*mmuext_op) (struct domain *d, struct domain *f);
+    int (*update_va_mapping) (struct domain *d, struct domain *f,
+                              l1_pgentry_t pte);
+    int (*priv_mapping) (struct domain *d, struct domain *t);
+    int (*ioport_permission) (struct domain *d, uint32_t s, uint32_t e,
+                              uint8_t allow);
+    int (*ioport_mapping) (struct domain *d, uint32_t s, uint32_t e,
+                           uint8_t allow);
+    int (*pmu_op) (struct domain *d, unsigned int op);
+#endif
+    int (*dm_op) (struct domain *d);
+    int (*xen_version) (uint32_t cmd);
+    int (*domain_resource_map) (struct domain *d);
+#ifdef CONFIG_ARGO
+    int (*argo_enable) (const struct domain *d);
+    int (*argo_register_single_source) (const struct domain *d,
+                                        const struct domain *t);
+    int (*argo_register_any_source) (const struct domain *d);
+    int (*argo_send) (const struct domain *d, const struct domain *t);
+#endif
+};
+
+extern void xsm_fixup_ops(struct xsm_ops *ops);
+
+#ifdef CONFIG_XSM
+
+#ifdef CONFIG_MULTIBOOT
+extern int xsm_multiboot_init(unsigned long *module_map,
+                              const multiboot_info_t *mbi);
+extern int xsm_multiboot_policy_init(unsigned long *module_map,
+                                     const multiboot_info_t *mbi,
+                                     void **policy_buffer,
+                                     size_t *policy_size);
+#endif
+
+#ifdef CONFIG_HAS_DEVICE_TREE
+/*
+ * Initialize XSM
+ *
+ * On success, return 1 if using SILO mode else 0.
+ */
+extern int xsm_dt_init(void);
+extern int xsm_dt_policy_init(void **policy_buffer, size_t *policy_size);
+extern bool has_xsm_magic(paddr_t);
+#endif
+
+#ifdef CONFIG_XSM_FLASK
+extern const struct xsm_ops *flask_init(const void *policy_buffer,
+                                        size_t policy_size);
+#else
+static inline const struct xsm_ops *flask_init(const void *policy_buffer,
+                                               size_t policy_size)
+{
+    return NULL;
+}
+#endif
+
+#ifdef CONFIG_XSM_FLASK_POLICY
+extern const unsigned char xsm_flask_init_policy[];
+extern const unsigned int xsm_flask_init_policy_size;
+#endif
+
+#ifdef CONFIG_XSM_SILO
+extern const struct xsm_ops *silo_init(void);
+#else
+static const inline struct xsm_ops *silo_init(void)
+{
+    return NULL;
+}
+#endif
+
+#else /* CONFIG_XSM */
+
+#ifdef CONFIG_MULTIBOOT
+static inline int xsm_multiboot_init (unsigned long *module_map,
+                                      const multiboot_info_t *mbi)
+{
+    return 0;
+}
+#endif
+
+#ifdef CONFIG_HAS_DEVICE_TREE
+static inline int xsm_dt_init(void)
+{
+    return 0;
+}
+
+static inline bool has_xsm_magic(paddr_t start)
+{
+    return false;
+}
+#endif /* CONFIG_HAS_DEVICE_TREE */
+
+#endif /* CONFIG_XSM */
+
+#endif /* __XSM_CORE_H */
diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h
index 6a54ee883c..673b818ac7 100644
--- a/xen/include/xsm/xsm.h
+++ b/xen/include/xsm/xsm.h
@@ -18,184 +18,12 @@
 #include <xen/alternative-call.h>
 #include <xen/sched.h>
 #include <xen/multiboot.h>
-
-typedef void xsm_op_t;
-DEFINE_XEN_GUEST_HANDLE(xsm_op_t);
-
-/* policy magic number (defined by XSM_MAGIC) */
-typedef u32 xsm_magic_t;
-
-#ifdef CONFIG_XSM_FLASK
-#define XSM_MAGIC 0xf97cff8c
-#else
-#define XSM_MAGIC 0x0
-#endif
-
-/* These annotations are used by callers and in dummy.h to document the
- * default actions of XSM hooks. They should be compiled out otherwise.
- */
-enum xsm_default {
-    XSM_HOOK,     /* Guests can normally access the hypercall */
-    XSM_DM_PRIV,  /* Device model can perform on its target domain */
-    XSM_TARGET,   /* Can perform on self or your target domain */
-    XSM_PRIV,     /* Privileged - normally restricted to dom0 */
-    XSM_XS_PRIV,  /* Xenstore domain - can do some privileged operations */
-    XSM_OTHER     /* Something more complex */
-};
-typedef enum xsm_default xsm_default_t;
-
-struct xsm_ops {
-    void (*security_domaininfo) (struct domain *d,
-                                        struct xen_domctl_getdomaininfo *info);
-    int (*domain_create) (struct domain *d, u32 ssidref);
-    int (*getdomaininfo) (struct domain *d);
-    int (*domctl_scheduler_op) (struct domain *d, int op);
-    int (*sysctl_scheduler_op) (int op);
-    int (*set_target) (struct domain *d, struct domain *e);
-    int (*domctl) (struct domain *d, int cmd);
-    int (*sysctl) (int cmd);
-    int (*readconsole) (uint32_t clear);
-
-    int (*evtchn_unbound) (struct domain *d, struct evtchn *chn, domid_t id2);
-    int (*evtchn_interdomain) (struct domain *d1, struct evtchn *chn1,
-                                        struct domain *d2, struct evtchn *chn2);
-    void (*evtchn_close_post) (struct evtchn *chn);
-    int (*evtchn_send) (struct domain *d, struct evtchn *chn);
-    int (*evtchn_status) (struct domain *d, struct evtchn *chn);
-    int (*evtchn_reset) (struct domain *d1, struct domain *d2);
-
-    int (*grant_mapref) (struct domain *d1, struct domain *d2, uint32_t flags);
-    int (*grant_unmapref) (struct domain *d1, struct domain *d2);
-    int (*grant_setup) (struct domain *d1, struct domain *d2);
-    int (*grant_transfer) (struct domain *d1, struct domain *d2);
-    int (*grant_copy) (struct domain *d1, struct domain *d2);
-    int (*grant_query_size) (struct domain *d1, struct domain *d2);
-
-    int (*alloc_security_domain) (struct domain *d);
-    void (*free_security_domain) (struct domain *d);
-    int (*alloc_security_evtchns) (struct evtchn chn[], unsigned int nr);
-    void (*free_security_evtchns) (struct evtchn chn[], unsigned int nr);
-    char *(*show_security_evtchn) (struct domain *d, const struct evtchn *chn);
-    int (*init_hardware_domain) (struct domain *d);
-
-    int (*get_pod_target) (struct domain *d);
-    int (*set_pod_target) (struct domain *d);
-    int (*memory_exchange) (struct domain *d);
-    int (*memory_adjust_reservation) (struct domain *d1, struct domain *d2);
-    int (*memory_stat_reservation) (struct domain *d1, struct domain *d2);
-    int (*memory_pin_page) (struct domain *d1, struct domain *d2, struct page_info *page);
-    int (*add_to_physmap) (struct domain *d1, struct domain *d2);
-    int (*remove_from_physmap) (struct domain *d1, struct domain *d2);
-    int (*map_gmfn_foreign) (struct domain *d, struct domain *t);
-    int (*claim_pages) (struct domain *d);
-
-    int (*console_io) (struct domain *d, int cmd);
-
-    int (*profile) (struct domain *d, int op);
-
-    int (*kexec) (void);
-    int (*schedop_shutdown) (struct domain *d1, struct domain *d2);
-
-    char *(*show_irq_sid) (int irq);
-    int (*map_domain_pirq) (struct domain *d);
-    int (*map_domain_irq) (struct domain *d, int irq, const void *data);
-    int (*unmap_domain_pirq) (struct domain *d);
-    int (*unmap_domain_irq) (struct domain *d, int irq, const void *data);
-    int (*bind_pt_irq) (struct domain *d, struct xen_domctl_bind_pt_irq *bind);
-    int (*unbind_pt_irq) (struct domain *d, struct xen_domctl_bind_pt_irq *bind);
-    int (*irq_permission) (struct domain *d, int pirq, uint8_t allow);
-    int (*iomem_permission) (struct domain *d, uint64_t s, uint64_t e, uint8_t allow);
-    int (*iomem_mapping) (struct domain *d, uint64_t s, uint64_t e, uint8_t allow);
-    int (*pci_config_permission) (struct domain *d, uint32_t machine_bdf, uint16_t start, uint16_t end, uint8_t access);
-
-#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_PCI)
-    int (*get_device_group) (uint32_t machine_bdf);
-    int (*assign_device) (struct domain *d, uint32_t machine_bdf);
-    int (*deassign_device) (struct domain *d, uint32_t machine_bdf);
-#endif
-
-#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_DEVICE_TREE)
-    int (*assign_dtdevice) (struct domain *d, const char *dtpath);
-    int (*deassign_dtdevice) (struct domain *d, const char *dtpath);
-#endif
-
-    int (*resource_plug_core) (void);
-    int (*resource_unplug_core) (void);
-    int (*resource_plug_pci) (uint32_t machine_bdf);
-    int (*resource_unplug_pci) (uint32_t machine_bdf);
-    int (*resource_setup_pci) (uint32_t machine_bdf);
-    int (*resource_setup_gsi) (int gsi);
-    int (*resource_setup_misc) (void);
-
-    int (*page_offline)(uint32_t cmd);
-    int (*hypfs_op)(void);
-
-    long (*do_xsm_op) (XEN_GUEST_HANDLE_PARAM(xsm_op_t) op);
-#ifdef CONFIG_COMPAT
-    int (*do_compat_op) (XEN_GUEST_HANDLE_PARAM(xsm_op_t) op);
-#endif
-
-    int (*hvm_param) (struct domain *d, unsigned long op);
-    int (*hvm_control) (struct domain *d, unsigned long op);
-    int (*hvm_param_altp2mhvm) (struct domain *d);
-    int (*hvm_altp2mhvm_op) (struct domain *d, uint64_t mode, uint32_t op);
-    int (*get_vnumainfo) (struct domain *d);
-
-    int (*vm_event_control) (struct domain *d, int mode, int op);
-
-#ifdef CONFIG_MEM_ACCESS
-    int (*mem_access) (struct domain *d);
-#endif
-
-#ifdef CONFIG_MEM_PAGING
-    int (*mem_paging) (struct domain *d);
-#endif
-
-#ifdef CONFIG_MEM_SHARING
-    int (*mem_sharing) (struct domain *d);
-#endif
-
-    int (*platform_op) (uint32_t cmd);
-
-#ifdef CONFIG_X86
-    int (*do_mca) (void);
-    int (*shadow_control) (struct domain *d, uint32_t op);
-    int (*mem_sharing_op) (struct domain *d, struct domain *cd, int op);
-    int (*apic) (struct domain *d, int cmd);
-    int (*memtype) (uint32_t access);
-    int (*machine_memory_map) (void);
-    int (*domain_memory_map) (struct domain *d);
-#define XSM_MMU_UPDATE_READ      1
-#define XSM_MMU_UPDATE_WRITE     2
-#define XSM_MMU_NORMAL_UPDATE    4
-#define XSM_MMU_MACHPHYS_UPDATE  8
-    int (*mmu_update) (struct domain *d, struct domain *t,
-                       struct domain *f, uint32_t flags);
-    int (*mmuext_op) (struct domain *d, struct domain *f);
-    int (*update_va_mapping) (struct domain *d, struct domain *f, l1_pgentry_t pte);
-    int (*priv_mapping) (struct domain *d, struct domain *t);
-    int (*ioport_permission) (struct domain *d, uint32_t s, uint32_t e, uint8_t allow);
-    int (*ioport_mapping) (struct domain *d, uint32_t s, uint32_t e, uint8_t allow);
-    int (*pmu_op) (struct domain *d, unsigned int op);
-#endif
-    int (*dm_op) (struct domain *d);
-    int (*xen_version) (uint32_t cmd);
-    int (*domain_resource_map) (struct domain *d);
-#ifdef CONFIG_ARGO
-    int (*argo_enable) (const struct domain *d);
-    int (*argo_register_single_source) (const struct domain *d,
-                                        const struct domain *t);
-    int (*argo_register_any_source) (const struct domain *d);
-    int (*argo_send) (const struct domain *d, const struct domain *t);
-#endif
-};
+#include <xsm/xsm-core.h>
 
 #ifdef CONFIG_XSM
 
 extern struct xsm_ops xsm_ops;
 
-#ifndef XSM_NO_WRAPPERS
-
 static inline void xsm_security_domaininfo (struct domain *d,
                                         struct xen_domctl_getdomaininfo *info)
 {
@@ -726,79 +554,10 @@ static inline int xsm_argo_send(const struct domain *d, const struct domain *t)
 
 #endif /* CONFIG_ARGO */
 
-#endif /* XSM_NO_WRAPPERS */
-
-#ifdef CONFIG_MULTIBOOT
-extern int xsm_multiboot_init(unsigned long *module_map,
-                              const multiboot_info_t *mbi);
-extern int xsm_multiboot_policy_init(unsigned long *module_map,
-                                     const multiboot_info_t *mbi,
-                                     void **policy_buffer,
-                                     size_t *policy_size);
-#endif
-
-#ifdef CONFIG_HAS_DEVICE_TREE
-/*
- * Initialize XSM
- *
- * On success, return 1 if using SILO mode else 0.
- */
-extern int xsm_dt_init(void);
-extern int xsm_dt_policy_init(void **policy_buffer, size_t *policy_size);
-extern bool has_xsm_magic(paddr_t);
-#endif
-
-extern void xsm_fixup_ops(struct xsm_ops *ops);
-
-#ifdef CONFIG_XSM_FLASK
-extern const struct xsm_ops *flask_init(const void *policy_buffer,
-                                        size_t policy_size);
-#else
-static inline struct xsm_ops *flask_init(const void *policy_buffer,
-                                         size_t policy_size)
-{
-    return NULL;
-}
-#endif
-
-#ifdef CONFIG_XSM_FLASK_POLICY
-extern const unsigned char xsm_flask_init_policy[];
-extern const unsigned int xsm_flask_init_policy_size;
-#endif
-
-#ifdef CONFIG_XSM_SILO
-extern const struct xsm_ops *silo_init(void);
-#else
-static inline struct xsm_ops *silo_init(void)
-{
-    return NULL;
-}
-#endif
-
 #else /* CONFIG_XSM */
 
 #include <xsm/dummy.h>
 
-#ifdef CONFIG_MULTIBOOT
-static inline int xsm_multiboot_init (unsigned long *module_map,
-                                      const multiboot_info_t *mbi)
-{
-    return 0;
-}
-#endif
-
-#ifdef CONFIG_HAS_DEVICE_TREE
-static inline int xsm_dt_init(void)
-{
-    return 0;
-}
-
-static inline bool has_xsm_magic(paddr_t start)
-{
-    return false;
-}
-#endif /* CONFIG_HAS_DEVICE_TREE */
-
 #endif /* CONFIG_XSM */
 
 #endif /* __XSM_H */
diff --git a/xen/xsm/dummy.c b/xen/xsm/dummy.c
index d8c935328e..b848580eaa 100644
--- a/xen/xsm/dummy.c
+++ b/xen/xsm/dummy.c
@@ -10,7 +10,6 @@
  *  as published by the Free Software Foundation.
  */
 
-#define XSM_NO_WRAPPERS
 #include <xsm/dummy.h>
 
 #define set_to_dummy_if_null(ops, function)                            \
diff --git a/xen/xsm/silo.c b/xen/xsm/silo.c
index 3a2dea13fe..4ef40bd712 100644
--- a/xen/xsm/silo.c
+++ b/xen/xsm/silo.c
@@ -17,7 +17,6 @@
  * 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 XSM_NO_WRAPPERS
 #include <xsm/dummy.h>
 
 /*
-- 
2.20.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 05 14:08:44 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 14:08:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164281.300565 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBe39-0004Tp-Tr; Thu, 05 Aug 2021 14:08:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164281.300565; Thu, 05 Aug 2021 14:08:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBe39-0004Te-Pz; Thu, 05 Aug 2021 14:08:43 +0000
Received: by outflank-mailman (input) for mailman id 164281;
 Thu, 05 Aug 2021 14:08:42 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DXIG=M4=apertussolutions.com=dpsmith@srs-us1.protection.inumbo.net>)
 id 1mBe38-0003hf-I3
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 14:08:42 +0000
Received: from sender4-of-o51.zoho.com (unknown [136.143.188.51])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 9ff038ee-f5f6-11eb-9c12-12813bfff9fa;
 Thu, 05 Aug 2021 14:08:36 +0000 (UTC)
Received: from sisyou.hme. (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1628172450550595.1687159804446;
 Thu, 5 Aug 2021 07:07: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: 9ff038ee-f5f6-11eb-9c12-12813bfff9fa
ARC-Seal: i=1; a=rsa-sha256; t=1628172466; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=ZqsvYH/jB604kH1cHhu3g5Uhuuk2zCR0JWdM8wWQPFCIx0UhFYnIvX7fOinzVnHiNmIAtT0b96UwGBC0XxxyTtau+ROPl0c01Dzz1qoZWcZSWJLBNhxecN6H82DeYrwAQD1Msi5Si6s1sY6eCVzzKw9sIri2n/UOjidUVKKQriY=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1628172466; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=+34+h6RYBNDx8+NRBy9hHDiKcY7OZY/fR2RxH8zvDwA=; 
	b=GFcK5W/ADbd5NURmbbWRRE0je3r7GRHNpINuzlPDTIKvTaGDU+w40gc7CnoE+owNw/FhppDS+Q8APq/9OIzESVfVg44Br8tEe+7HEss69m12IpQqXw3VojcdCV2dlNZd4BPr2Wo8OD8GzHa/bmiCZt/GH98tkwP9rw98Qu3vM6U=
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=1628172466;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:MIME-Version:Content-Transfer-Encoding;
	bh=+34+h6RYBNDx8+NRBy9hHDiKcY7OZY/fR2RxH8zvDwA=;
	b=EXXD3Gy9Sh2+hMccOagPv8+NVgav7YFbYRX0pTC11x5NSZ/NEHqHNZeeRSGN+ASh
	gE9no+b6RNMJgngTvFZytKZX9bU/Ichl2A3xShnSMCEqjqq0DE1DI/Q6R4xFKpRmIWj
	JwVfAziAl48Wv/CzeWznJEgI/+UhT1HSSfw8HAzk=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Ian Jackson <iwj@xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v3 6/7] xsm: drop generic event channel labeling exclusion
Date: Thu,  5 Aug 2021 10:06:43 -0400
Message-Id: <20210805140644.357-7-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20210805140644.357-1-dpsmith@apertussolutions.com>
References: <20210805140644.357-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

The internal define flag is not used by any XSM module, removing the #ifdef
leaving the generic event channel labeling as always present.

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 xen/include/xen/sched.h | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 28146ee404..b089324510 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -120,15 +120,12 @@ struct evtchn
     unsigned short notify_vcpu_id; /* VCPU for local delivery notification */
     uint32_t fifo_lastq;           /* Data for identifying last queue. */
 
-#ifdef CONFIG_XSM
     union {
-#ifdef XSM_NEED_GENERIC_EVTCHN_SSID
         /*
          * If an XSM module needs more space for its event channel context,
          * this pointer stores the necessary data for the security server.
          */
         void *generic;
-#endif
 #ifdef CONFIG_XSM_FLASK
         /*
          * Inlining the contents of the structure for FLASK avoids unneeded
@@ -138,7 +135,6 @@ struct evtchn
         uint32_t flask_sid;
 #endif
     } ssid;
-#endif
 } __attribute__((aligned(64)));
 
 int  evtchn_init(struct domain *d, unsigned int max_port);
-- 
2.20.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 05 14:09:01 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 14:09:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164292.300577 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBe3R-0005J2-8E; Thu, 05 Aug 2021 14:09:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164292.300577; Thu, 05 Aug 2021 14: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 1mBe3R-0005Iv-4q; Thu, 05 Aug 2021 14:09:01 +0000
Received: by outflank-mailman (input) for mailman id 164292;
 Thu, 05 Aug 2021 14:09:00 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DXIG=M4=apertussolutions.com=dpsmith@srs-us1.protection.inumbo.net>)
 id 1mBe3Q-0004pc-Dr
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 14:09:00 +0000
Received: from sender4-of-o51.zoho.com (unknown [136.143.188.51])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 27b45565-39e6-4539-ab91-d932a9758084;
 Thu, 05 Aug 2021 14:08:53 +0000 (UTC)
Received: from sisyou.hme. (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1628172452553862.2810177690948;
 Thu, 5 Aug 2021 07:07: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: 27b45565-39e6-4539-ab91-d932a9758084
ARC-Seal: i=1; a=rsa-sha256; t=1628172467; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=KTYiIi4o0HTfPDd6ilBumdaFyDSkqFDTALC9EFQEkMc3rmgJnBLB1CTCSWpZgW9253jQ/pYdhpOV+ZXFNykY+q0yIgDDkImLVw6kLXPbLrcF+DYSczM4c0E5g3xy5/37wKoDYqnp9rl0ePj5ikOTg3iUyhKAT7Mh8XKGhcuyHYc=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1628172467; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=Q7jgyJ8ZGFGpTWfi3wABfXyMxTdJNqrYNBaoXvoh/R8=; 
	b=ZjQ26eV/PQUQtbLSZwyUNmgyoAQFFOZMCXOnKEVOZu8hAZJr4Wv9nPYK9RM0ovStnz5Hj98XJpnmGqV+JGPrH2mK22sVQRUzR/2n+Tmy8pCePzG2/EbalN4JA5QpPi20rKcUL8Qs02OiXMRcY0IoG95EWPeDkeQw47xc5JjeN6g=
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=1628172467;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:MIME-Version:Content-Transfer-Encoding;
	bh=Q7jgyJ8ZGFGpTWfi3wABfXyMxTdJNqrYNBaoXvoh/R8=;
	b=VICtg7xzrTaZHipBo07iTy7hD17rXEOxumRGknr3zLr34VFlqhhe5UcEP2r3ho+J
	P1dDHtCaxcwoX4UQUBcSYJtPkG92nRMO2ouq8HBMlKqETBDCBjqbEZMBlQ8kapdZHLb
	3WdQ9YN00wLWr2Bych2j3CKrn0djuLyBtmM//UgY=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Ian Jackson <iwj@xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Daniel De Graaf <dgdegra@tycho.nsa.gov>
Subject: [PATCH v3 7/7] xsm: removing facade that XSM can be enabled/disabled
Date: Thu,  5 Aug 2021 10:06:44 -0400
Message-Id: <20210805140644.357-8-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20210805140644.357-1-dpsmith@apertussolutions.com>
References: <20210805140644.357-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

The XSM facilities are always in use by Xen with the facade of being able to
turn XSM on and off. This option is in fact about allowing the selection of
which policies are available and which are used at runtime.  To provide this
facade a complicated serious of #ifdef's are used to selective include
different headers or portions of headers. This series of #ifdef gyrations
switches between two different versions of the XSM hook interfaces and their
respective backing implementation.  All of this is done to provide a minimal
size/performance optimization for when alternative policies are disabled.

To unwind the #ifdef gyrations a series of changes were necessary,
    * replace CONFIG_XSM with XSM_CONFIGURABLE to allow visibility of
      selecting alternate XSM policy modules to those that require it
    * adjusted CONFIG_XSM_SILO, CONFIG_XSM_FLASK, and the default module
      selection to sensible defaults
    * collapsed the "dummy/defualt" XSM interface and implementation with the
      "multiple policy" interface to provide a single inlined implementation
      that attempts to use a registered hook and falls back to the check from
      the dummy implementation
    * the collapse to a single interface broke code relying on the alternate
      interface, specifically SILO, this was reworked to remove the
      indirection/abstraction making SILO explicit in its access control
      decisions
    * with the change of the XSM hooks to fall back to enforcing the dummy
      policy, it is no longer necessary to fill NULL entries in the struct
      xsm_ops returned by an XSM module's init

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 xen/common/Kconfig         |  47 +-
 xen/include/xsm/dummy.h    | 709 +----------------------------
 xen/include/xsm/xsm-core.h |  26 --
 xen/include/xsm/xsm.h      | 904 ++++++++++++++++++++++++++++---------
 xen/xsm/Makefile           |   3 +-
 xen/xsm/dummy.c            | 157 -------
 xen/xsm/silo.c             |  15 +-
 xen/xsm/xsm_core.c         |  18 +-
 8 files changed, 726 insertions(+), 1153 deletions(-)
 delete mode 100644 xen/xsm/dummy.c

diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index ac5491b1cc..3c5980a336 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -200,23 +200,15 @@ config XENOPROF
 
 	  If unsure, say Y.
 
-config XSM
-	bool "Xen Security Modules support"
-	default ARM
-	---help---
-	  Enables the security framework known as Xen Security Modules which
-	  allows administrators fine-grained control over a Xen domain and
-	  its capabilities by defining permissible interactions between domains,
-	  the hypervisor itself, and related resources such as memory and
-	  devices.
-
-	  If unsure, say N.
+config XSM_CONFIGURABLE
+    bool "Enable Configuring Xen Security Modules"
 
 config XSM_FLASK
-	def_bool y
-	prompt "FLux Advanced Security Kernel support"
-	depends on XSM
-	---help---
+	bool "FLux Advanced Security Kernel support"
+	default n
+	depends on XSM_CONFIGURABLE
+	select XSM_EVTCHN_LABELING
+	help
 	  Enables FLASK (FLux Advanced Security Kernel) as the access control
 	  mechanism used by the XSM framework.  This provides a mandatory access
 	  control framework by which security enforcement, isolation, and
@@ -226,10 +218,10 @@ config XSM_FLASK
 	  If unsure, say Y.
 
 config XSM_FLASK_AVC_STATS
-	def_bool y
-	prompt "Maintain statistics on the FLASK access vector cache" if EXPERT
+	bool "Maintain statistics on the FLASK access vector cache" if EXPERT
+	default y
 	depends on XSM_FLASK
-	---help---
+	help
 	  Maintain counters on the access vector cache that can be viewed using
 	  the FLASK_AVC_CACHESTATS sub-op of the xsm_op hypercall.  Disabling
 	  this will save a tiny amount of memory and time to update the stats.
@@ -240,7 +232,7 @@ config XSM_FLASK_POLICY
 	bool "Compile Xen with a built-in FLASK security policy"
 	default y if "$(XEN_HAS_CHECKPOLICY)" = "y"
 	depends on XSM_FLASK
-	---help---
+	help
 	  This includes a default XSM policy in the hypervisor so that the
 	  bootloader does not need to load a policy to get sane behavior from an
 	  XSM-enabled hypervisor.  If this is disabled, a policy must be
@@ -253,10 +245,11 @@ config XSM_FLASK_POLICY
 	  If unsure, say Y.
 
 config XSM_SILO
-	def_bool y
-	prompt "SILO support"
-	depends on XSM
-	---help---
+	bool "SILO support"
+	default y if ARM
+	default n
+	depends on XSM_CONFIGURABLE
+	help
 	  Enables SILO as the access control mechanism used by the XSM framework.
 	  This is not the default module, add boot parameter xsm=silo to choose
 	  it. This will deny any unmediated communication channels (grant tables
@@ -265,14 +258,14 @@ config XSM_SILO
 	  If unsure, say Y.
 
 choice
-	prompt "Default XSM implementation"
-	depends on XSM
+	prompt "Default XSM module"
 	default XSM_SILO_DEFAULT if XSM_SILO && ARM
 	default XSM_FLASK_DEFAULT if XSM_FLASK
 	default XSM_SILO_DEFAULT if XSM_SILO
 	default XSM_DUMMY_DEFAULT
+	depends on XSM_CONFIGURABLE
 	config XSM_DUMMY_DEFAULT
-		bool "Match non-XSM behavior"
+		bool "Classic Dom0 behavior"
 	config XSM_FLASK_DEFAULT
 		bool "FLux Advanced Security Kernel" if XSM_FLASK
 	config XSM_SILO_DEFAULT
@@ -282,7 +275,7 @@ endchoice
 config LATE_HWDOM
 	bool "Dedicated hardware domain"
 	default n
-	depends on XSM && X86
+	depends on XSM_FLASK && X86
 	---help---
 	  Allows the creation of a dedicated hardware domain distinct from
 	  domain 0 that manages devices without needing access to other
diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
index c445c5681b..eb8d61216b 100644
--- a/xen/include/xsm/dummy.h
+++ b/xen/include/xsm/dummy.h
@@ -1,18 +1,11 @@
 /*
- *  Default XSM hooks - IS_PRIV and IS_PRIV_FOR checks
+ *  Default XSM hook check - enforces basic access control decisions
  *
  *  Author: Daniel De Graaf <dgdegra@tyhco.nsa.gov>
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License version 2,
  *  as published by the Free Software Foundation.
- *
- *
- *  Each XSM hook implementing an access check should have its first parameter
- *  preceded by XSM_DEFAULT_ARG (or use XSM_DEFAULT_VOID if it has no
- *  arguments). The first non-declaration statement shold be XSM_ASSERT_ACTION
- *  with the expected type of the hook, which will either define or check the
- *  value of action.
  */
 
 #include <xen/sched.h>
@@ -42,33 +35,8 @@ static inline void __xsm_action_mismatch_detected(void)
 void __xsm_action_mismatch_detected(void);
 #endif
 
-#ifdef CONFIG_XSM
-
-/* In CONFIG_XSM builds, this header file is included from xsm/dummy.c, and
- * contains static (not inline) functions compiled to the dummy XSM module.
- * There is no xsm_default_t argument available, so the value from the assertion
- * is used to initialize the variable.
- */
-#define XSM_INLINE __maybe_unused
-
-#define XSM_DEFAULT_ARG /* */
-#define XSM_DEFAULT_VOID void
-#define XSM_ASSERT_ACTION(def) xsm_default_t action = def; (void)action
-
-#else /* CONFIG_XSM */
-
-/* In !CONFIG_XSM builds, this header file is included from xsm/xsm.h, and
- * contains inline functions for each XSM hook. These functions also perform
- * compile-time checks on the xsm_default_t argument to ensure that the behavior
- * of the dummy XSM module is the same as the behavior with XSM disabled.
- */
-#define XSM_INLINE always_inline
-#define XSM_DEFAULT_ARG xsm_default_t action,
-#define XSM_DEFAULT_VOID xsm_default_t action
 #define XSM_ASSERT_ACTION(def) LINKER_BUG_ON(def != action)
 
-#endif /* CONFIG_XSM */
-
 static always_inline int xsm_default_action(
     xsm_default_t action, struct domain *src, struct domain *target)
 {
@@ -97,678 +65,3 @@ static always_inline int xsm_default_action(
         return -EPERM;
     }
 }
-
-static XSM_INLINE void xsm_security_domaininfo(struct domain *d,
-                                    struct xen_domctl_getdomaininfo *info)
-{
-    return;
-}
-
-static XSM_INLINE int xsm_domain_create(XSM_DEFAULT_ARG struct domain *d, u32 ssidref)
-{
-    XSM_ASSERT_ACTION(XSM_HOOK);
-    return xsm_default_action(action, current->domain, d);
-}
-
-static XSM_INLINE int xsm_getdomaininfo(XSM_DEFAULT_ARG struct domain *d)
-{
-    XSM_ASSERT_ACTION(XSM_HOOK);
-    return xsm_default_action(action, current->domain, d);
-}
-
-static XSM_INLINE int xsm_domctl_scheduler_op(XSM_DEFAULT_ARG struct domain *d, int cmd)
-{
-    XSM_ASSERT_ACTION(XSM_HOOK);
-    return xsm_default_action(action, current->domain, d);
-}
-
-static XSM_INLINE int xsm_sysctl_scheduler_op(XSM_DEFAULT_ARG int cmd)
-{
-    XSM_ASSERT_ACTION(XSM_HOOK);
-    return xsm_default_action(action, current->domain, NULL);
-}
-
-static XSM_INLINE int xsm_set_target(XSM_DEFAULT_ARG struct domain *d, struct domain *e)
-{
-    XSM_ASSERT_ACTION(XSM_HOOK);
-    return xsm_default_action(action, current->domain, NULL);
-}
-
-static XSM_INLINE int xsm_domctl(XSM_DEFAULT_ARG struct domain *d, int cmd)
-{
-    XSM_ASSERT_ACTION(XSM_OTHER);
-    switch ( cmd )
-    {
-    case XEN_DOMCTL_ioport_mapping:
-    case XEN_DOMCTL_memory_mapping:
-    case XEN_DOMCTL_bind_pt_irq:
-    case XEN_DOMCTL_unbind_pt_irq:
-        return xsm_default_action(XSM_DM_PRIV, current->domain, d);
-    case XEN_DOMCTL_getdomaininfo:
-        return xsm_default_action(XSM_XS_PRIV, current->domain, d);
-    default:
-        return xsm_default_action(XSM_PRIV, current->domain, d);
-    }
-}
-
-static XSM_INLINE int xsm_sysctl(XSM_DEFAULT_ARG int cmd)
-{
-    XSM_ASSERT_ACTION(XSM_PRIV);
-    return xsm_default_action(action, current->domain, NULL);
-}
-
-static XSM_INLINE int xsm_readconsole(XSM_DEFAULT_ARG uint32_t clear)
-{
-    XSM_ASSERT_ACTION(XSM_HOOK);
-    return xsm_default_action(action, current->domain, NULL);
-}
-
-static XSM_INLINE int xsm_alloc_security_domain(struct domain *d)
-{
-    return 0;
-}
-
-static XSM_INLINE void xsm_free_security_domain(struct domain *d)
-{
-    return;
-}
-
-static XSM_INLINE int xsm_grant_mapref(XSM_DEFAULT_ARG struct domain *d1, struct domain *d2,
-                                                                uint32_t flags)
-{
-    XSM_ASSERT_ACTION(XSM_HOOK);
-    return xsm_default_action(action, d1, d2);
-}
-
-static XSM_INLINE int xsm_grant_unmapref(XSM_DEFAULT_ARG struct domain *d1, struct domain *d2)
-{
-    XSM_ASSERT_ACTION(XSM_HOOK);
-    return xsm_default_action(action, d1, d2);
-}
-
-static XSM_INLINE int xsm_grant_setup(XSM_DEFAULT_ARG struct domain *d1, struct domain *d2)
-{
-    XSM_ASSERT_ACTION(XSM_TARGET);
-    return xsm_default_action(action, d1, d2);
-}
-
-static XSM_INLINE int xsm_grant_transfer(XSM_DEFAULT_ARG struct domain *d1, struct domain *d2)
-{
-    XSM_ASSERT_ACTION(XSM_HOOK);
-    return xsm_default_action(action, d1, d2);
-}
-
-static XSM_INLINE int xsm_grant_copy(XSM_DEFAULT_ARG struct domain *d1, struct domain *d2)
-{
-    XSM_ASSERT_ACTION(XSM_HOOK);
-    return xsm_default_action(action, d1, d2);
-}
-
-static XSM_INLINE int xsm_grant_query_size(XSM_DEFAULT_ARG struct domain *d1, struct domain *d2)
-{
-    XSM_ASSERT_ACTION(XSM_TARGET);
-    return xsm_default_action(action, d1, d2);
-}
-
-static XSM_INLINE int xsm_memory_exchange(XSM_DEFAULT_ARG struct domain *d)
-{
-    XSM_ASSERT_ACTION(XSM_TARGET);
-    return xsm_default_action(action, current->domain, d);
-}
-
-static XSM_INLINE int xsm_memory_adjust_reservation(XSM_DEFAULT_ARG struct domain *d1,
-                                                            struct domain *d2)
-{
-    XSM_ASSERT_ACTION(XSM_TARGET);
-    return xsm_default_action(action, d1, d2);
-}
-
-static XSM_INLINE int xsm_memory_stat_reservation(XSM_DEFAULT_ARG struct domain *d1, struct domain *d2)
-{
-    XSM_ASSERT_ACTION(XSM_TARGET);
-    return xsm_default_action(action, d1, d2);
-}
-
-static XSM_INLINE int xsm_console_io(XSM_DEFAULT_ARG struct domain *d, int cmd)
-{
-    XSM_ASSERT_ACTION(XSM_OTHER);
-    if ( d->is_console )
-        return xsm_default_action(XSM_HOOK, d, NULL);
-#ifdef CONFIG_VERBOSE_DEBUG
-    if ( cmd == CONSOLEIO_write )
-        return xsm_default_action(XSM_HOOK, d, NULL);
-#endif
-    return xsm_default_action(XSM_PRIV, d, NULL);
-}
-
-static XSM_INLINE int xsm_profile(XSM_DEFAULT_ARG struct domain *d, int op)
-{
-    XSM_ASSERT_ACTION(XSM_HOOK);
-    return xsm_default_action(action, d, NULL);
-}
-
-static XSM_INLINE int xsm_kexec(XSM_DEFAULT_VOID)
-{
-    XSM_ASSERT_ACTION(XSM_PRIV);
-    return xsm_default_action(action, current->domain, NULL);
-}
-
-static XSM_INLINE int xsm_schedop_shutdown(XSM_DEFAULT_ARG struct domain *d1, struct domain *d2)
-{
-    XSM_ASSERT_ACTION(XSM_DM_PRIV);
-    return xsm_default_action(action, d1, d2);
-}
-
-static XSM_INLINE int xsm_memory_pin_page(XSM_DEFAULT_ARG struct domain *d1, struct domain *d2,
-                                          struct page_info *page)
-{
-    XSM_ASSERT_ACTION(XSM_HOOK);
-    return xsm_default_action(action, d1, d2);
-}
-
-static XSM_INLINE int xsm_claim_pages(XSM_DEFAULT_ARG struct domain *d)
-{
-    XSM_ASSERT_ACTION(XSM_PRIV);
-    return xsm_default_action(action, current->domain, d);
-}
-
-static XSM_INLINE int xsm_evtchn_unbound(XSM_DEFAULT_ARG struct domain *d, struct evtchn *chn,
-                                         domid_t id2)
-{
-    XSM_ASSERT_ACTION(XSM_TARGET);
-    return xsm_default_action(action, current->domain, d);
-}
-
-static XSM_INLINE int xsm_evtchn_interdomain(XSM_DEFAULT_ARG struct domain *d1, struct evtchn
-                                *chan1, struct domain *d2, struct evtchn *chan2)
-{
-    XSM_ASSERT_ACTION(XSM_HOOK);
-    return xsm_default_action(action, d1, d2);
-}
-
-static XSM_INLINE void xsm_evtchn_close_post(struct evtchn *chn)
-{
-    return;
-}
-
-static XSM_INLINE int xsm_evtchn_send(XSM_DEFAULT_ARG struct domain *d, struct evtchn *chn)
-{
-    XSM_ASSERT_ACTION(XSM_HOOK);
-    return xsm_default_action(action, d, NULL);
-}
-
-static XSM_INLINE int xsm_evtchn_status(XSM_DEFAULT_ARG struct domain *d, struct evtchn *chn)
-{
-    XSM_ASSERT_ACTION(XSM_TARGET);
-    return xsm_default_action(action, current->domain, d);
-}
-
-static XSM_INLINE int xsm_evtchn_reset(XSM_DEFAULT_ARG struct domain *d1, struct domain *d2)
-{
-    XSM_ASSERT_ACTION(XSM_TARGET);
-    return xsm_default_action(action, d1, d2);
-}
-
-static XSM_INLINE int xsm_alloc_security_evtchns(
-    struct evtchn chn[], unsigned int nr)
-{
-    return 0;
-}
-
-static XSM_INLINE void xsm_free_security_evtchns(
-    struct evtchn chn[], unsigned int nr)
-{
-    return;
-}
-
-static XSM_INLINE char *xsm_show_security_evtchn(struct domain *d, const struct evtchn *chn)
-{
-    return NULL;
-}
-
-static XSM_INLINE int xsm_init_hardware_domain(XSM_DEFAULT_ARG struct domain *d)
-{
-    XSM_ASSERT_ACTION(XSM_HOOK);
-    return xsm_default_action(action, current->domain, d);
-}
-
-static XSM_INLINE int xsm_get_pod_target(XSM_DEFAULT_ARG struct domain *d)
-{
-    XSM_ASSERT_ACTION(XSM_PRIV);
-    return xsm_default_action(action, current->domain, d);
-}
-
-static XSM_INLINE int xsm_set_pod_target(XSM_DEFAULT_ARG struct domain *d)
-{
-    XSM_ASSERT_ACTION(XSM_PRIV);
-    return xsm_default_action(action, current->domain, d);
-}
-
-static XSM_INLINE int xsm_get_vnumainfo(XSM_DEFAULT_ARG struct domain *d)
-{
-    XSM_ASSERT_ACTION(XSM_TARGET);
-    return xsm_default_action(action, current->domain, d);
-}
-
-#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_PCI)
-static XSM_INLINE int xsm_get_device_group(XSM_DEFAULT_ARG uint32_t machine_bdf)
-{
-    XSM_ASSERT_ACTION(XSM_HOOK);
-    return xsm_default_action(action, current->domain, NULL);
-}
-
-static XSM_INLINE int xsm_assign_device(XSM_DEFAULT_ARG struct domain *d, uint32_t machine_bdf)
-{
-    XSM_ASSERT_ACTION(XSM_HOOK);
-    return xsm_default_action(action, current->domain, d);
-}
-
-static XSM_INLINE int xsm_deassign_device(XSM_DEFAULT_ARG struct domain *d, uint32_t machine_bdf)
-{
-    XSM_ASSERT_ACTION(XSM_HOOK);
-    return xsm_default_action(action, current->domain, d);
-}
-
-#endif /* HAS_PASSTHROUGH && HAS_PCI */
-
-#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_DEVICE_TREE)
-static XSM_INLINE int xsm_assign_dtdevice(XSM_DEFAULT_ARG struct domain *d,
-                                          const char *dtpath)
-{
-    XSM_ASSERT_ACTION(XSM_HOOK);
-    return xsm_default_action(action, current->domain, d);
-}
-
-static XSM_INLINE int xsm_deassign_dtdevice(XSM_DEFAULT_ARG struct domain *d,
-                                            const char *dtpath)
-{
-    XSM_ASSERT_ACTION(XSM_HOOK);
-    return xsm_default_action(action, current->domain, d);
-}
-
-#endif /* HAS_PASSTHROUGH && HAS_DEVICE_TREE */
-
-static XSM_INLINE int xsm_resource_plug_core(XSM_DEFAULT_VOID)
-{
-    XSM_ASSERT_ACTION(XSM_HOOK);
-    return xsm_default_action(action, current->domain, NULL);
-}
-
-static XSM_INLINE int xsm_resource_unplug_core(XSM_DEFAULT_VOID)
-{
-    XSM_ASSERT_ACTION(XSM_HOOK);
-    return xsm_default_action(action, current->domain, NULL);
-}
-
-static XSM_INLINE int xsm_resource_plug_pci(XSM_DEFAULT_ARG uint32_t machine_bdf)
-{
-    XSM_ASSERT_ACTION(XSM_PRIV);
-    return xsm_default_action(action, current->domain, NULL);
-}
-
-static XSM_INLINE int xsm_resource_unplug_pci(XSM_DEFAULT_ARG uint32_t machine_bdf)
-{
-    XSM_ASSERT_ACTION(XSM_PRIV);
-    return xsm_default_action(action, current->domain, NULL);
-}
-
-static XSM_INLINE int xsm_resource_setup_pci(XSM_DEFAULT_ARG uint32_t machine_bdf)
-{
-    XSM_ASSERT_ACTION(XSM_PRIV);
-    return xsm_default_action(action, current->domain, NULL);
-}
-
-static XSM_INLINE int xsm_resource_setup_gsi(XSM_DEFAULT_ARG int gsi)
-{
-    XSM_ASSERT_ACTION(XSM_PRIV);
-    return xsm_default_action(action, current->domain, NULL);
-}
-
-static XSM_INLINE int xsm_resource_setup_misc(XSM_DEFAULT_VOID)
-{
-    XSM_ASSERT_ACTION(XSM_PRIV);
-    return xsm_default_action(action, current->domain, NULL);
-}
-
-static XSM_INLINE int xsm_page_offline(XSM_DEFAULT_ARG uint32_t cmd)
-{
-    XSM_ASSERT_ACTION(XSM_HOOK);
-    return xsm_default_action(action, current->domain, NULL);
-}
-
-static XSM_INLINE int xsm_hypfs_op(XSM_DEFAULT_VOID)
-{
-    XSM_ASSERT_ACTION(XSM_PRIV);
-    return xsm_default_action(action, current->domain, NULL);
-}
-
-static XSM_INLINE long xsm_do_xsm_op(XEN_GUEST_HANDLE_PARAM(xsm_op_t) op)
-{
-    return -ENOSYS;
-}
-
-#ifdef CONFIG_COMPAT
-static XSM_INLINE int xsm_do_compat_op(XEN_GUEST_HANDLE_PARAM(xsm_op_t) op)
-{
-    return -ENOSYS;
-}
-#endif
-
-static XSM_INLINE char *xsm_show_irq_sid(int irq)
-{
-    return NULL;
-}
-
-static XSM_INLINE int xsm_map_domain_pirq(XSM_DEFAULT_ARG struct domain *d)
-{
-    XSM_ASSERT_ACTION(XSM_DM_PRIV);
-    return xsm_default_action(action, current->domain, d);
-}
-
-static XSM_INLINE int xsm_map_domain_irq(XSM_DEFAULT_ARG struct domain *d,
-                                         int irq, const void *data)
-{
-    XSM_ASSERT_ACTION(XSM_HOOK);
-    return xsm_default_action(action, current->domain, d);
-}
-
-static XSM_INLINE int xsm_unmap_domain_pirq(XSM_DEFAULT_ARG struct domain *d)
-{
-    XSM_ASSERT_ACTION(XSM_DM_PRIV);
-    return xsm_default_action(action, current->domain, d);
-}
-
-static XSM_INLINE int xsm_bind_pt_irq(XSM_DEFAULT_ARG struct domain *d, struct xen_domctl_bind_pt_irq *bind)
-{
-    XSM_ASSERT_ACTION(XSM_HOOK);
-    return xsm_default_action(action, current->domain, d);
-}
-
-static XSM_INLINE int xsm_unbind_pt_irq(XSM_DEFAULT_ARG struct domain *d, struct xen_domctl_bind_pt_irq *bind)
-{
-    XSM_ASSERT_ACTION(XSM_HOOK);
-    return xsm_default_action(action, current->domain, d);
-}
-
-static XSM_INLINE int xsm_unmap_domain_irq(XSM_DEFAULT_ARG struct domain *d,
-                                           int irq, const void *data)
-{
-    XSM_ASSERT_ACTION(XSM_HOOK);
-    return xsm_default_action(action, current->domain, d);
-}
-
-static XSM_INLINE int xsm_irq_permission(XSM_DEFAULT_ARG struct domain *d, int pirq, uint8_t allow)
-{
-    XSM_ASSERT_ACTION(XSM_HOOK);
-    return xsm_default_action(action, current->domain, d);
-}
-
-static XSM_INLINE int xsm_iomem_permission(XSM_DEFAULT_ARG struct domain *d, uint64_t s, uint64_t e, uint8_t allow)
-{
-    XSM_ASSERT_ACTION(XSM_HOOK);
-    return xsm_default_action(action, current->domain, d);
-}
-
-static XSM_INLINE int xsm_iomem_mapping(XSM_DEFAULT_ARG struct domain *d, uint64_t s, uint64_t e, uint8_t allow)
-{
-    XSM_ASSERT_ACTION(XSM_HOOK);
-    return xsm_default_action(action, current->domain, d);
-}
-
-static XSM_INLINE int xsm_pci_config_permission(XSM_DEFAULT_ARG struct domain *d, uint32_t machine_bdf,
-                                        uint16_t start, uint16_t end,
-                                        uint8_t access)
-{
-    XSM_ASSERT_ACTION(XSM_HOOK);
-    return xsm_default_action(action, current->domain, d);
-}
-
-static XSM_INLINE int xsm_add_to_physmap(XSM_DEFAULT_ARG struct domain *d1, struct domain *d2)
-{
-    XSM_ASSERT_ACTION(XSM_TARGET);
-    return xsm_default_action(action, d1, d2);
-}
-
-static XSM_INLINE int xsm_remove_from_physmap(XSM_DEFAULT_ARG struct domain *d1, struct domain *d2)
-{
-    XSM_ASSERT_ACTION(XSM_TARGET);
-    return xsm_default_action(action, d1, d2);
-}
-
-static XSM_INLINE int xsm_map_gmfn_foreign(XSM_DEFAULT_ARG struct domain *d, struct domain *t)
-{
-    XSM_ASSERT_ACTION(XSM_TARGET);
-    return xsm_default_action(action, d, t);
-}
-
-static XSM_INLINE int xsm_hvm_param(XSM_DEFAULT_ARG struct domain *d, unsigned long op)
-{
-    XSM_ASSERT_ACTION(XSM_TARGET);
-    return xsm_default_action(action, current->domain, d);
-}
-
-static XSM_INLINE int xsm_hvm_control(XSM_DEFAULT_ARG struct domain *d, unsigned long op)
-{
-    XSM_ASSERT_ACTION(XSM_DM_PRIV);
-    return xsm_default_action(action, current->domain, d);
-}
-
-static XSM_INLINE int xsm_hvm_param_altp2mhvm(XSM_DEFAULT_ARG struct domain *d)
-{
-    XSM_ASSERT_ACTION(XSM_PRIV);
-    return xsm_default_action(action, current->domain, d);
-}
-
-static XSM_INLINE int xsm_hvm_altp2mhvm_op(XSM_DEFAULT_ARG struct domain *d, uint64_t mode, uint32_t op)
-{
-    XSM_ASSERT_ACTION(XSM_OTHER);
-
-    switch ( mode )
-    {
-    case XEN_ALTP2M_mixed:
-        return xsm_default_action(XSM_TARGET, current->domain, d);
-    case XEN_ALTP2M_external:
-        return xsm_default_action(XSM_DM_PRIV, current->domain, d);
-    case XEN_ALTP2M_limited:
-        if ( HVMOP_altp2m_vcpu_enable_notify == op )
-            return xsm_default_action(XSM_TARGET, current->domain, d);
-        return xsm_default_action(XSM_DM_PRIV, current->domain, d);
-    default:
-        return -EPERM;
-    }
-}
-
-static XSM_INLINE int xsm_vm_event_control(XSM_DEFAULT_ARG struct domain *d, int mode, int op)
-{
-    XSM_ASSERT_ACTION(XSM_PRIV);
-    return xsm_default_action(action, current->domain, d);
-}
-
-#ifdef CONFIG_MEM_ACCESS
-static XSM_INLINE int xsm_mem_access(XSM_DEFAULT_ARG struct domain *d)
-{
-    XSM_ASSERT_ACTION(XSM_DM_PRIV);
-    return xsm_default_action(action, current->domain, d);
-}
-#endif
-
-#ifdef CONFIG_MEM_PAGING
-static XSM_INLINE int xsm_mem_paging(XSM_DEFAULT_ARG struct domain *d)
-{
-    XSM_ASSERT_ACTION(XSM_DM_PRIV);
-    return xsm_default_action(action, current->domain, d);
-}
-#endif
-
-#ifdef CONFIG_MEM_SHARING
-static XSM_INLINE int xsm_mem_sharing(XSM_DEFAULT_ARG struct domain *d)
-{
-    XSM_ASSERT_ACTION(XSM_DM_PRIV);
-    return xsm_default_action(action, current->domain, d);
-}
-#endif
-
-static XSM_INLINE int xsm_platform_op(XSM_DEFAULT_ARG uint32_t op)
-{
-    XSM_ASSERT_ACTION(XSM_PRIV);
-    return xsm_default_action(action, current->domain, NULL);
-}
-
-#ifdef CONFIG_X86
-static XSM_INLINE int xsm_do_mca(XSM_DEFAULT_VOID)
-{
-    XSM_ASSERT_ACTION(XSM_PRIV);
-    return xsm_default_action(action, current->domain, NULL);
-}
-
-static XSM_INLINE int xsm_shadow_control(XSM_DEFAULT_ARG struct domain *d, uint32_t op)
-{
-    XSM_ASSERT_ACTION(XSM_HOOK);
-    return xsm_default_action(action, current->domain, d);
-}
-
-static XSM_INLINE int xsm_mem_sharing_op(XSM_DEFAULT_ARG struct domain *d, struct domain *cd, int op)
-{
-    XSM_ASSERT_ACTION(XSM_DM_PRIV);
-    return xsm_default_action(action, current->domain, cd);
-}
-
-static XSM_INLINE int xsm_apic(XSM_DEFAULT_ARG struct domain *d, int cmd)
-{
-    XSM_ASSERT_ACTION(XSM_PRIV);
-    return xsm_default_action(action, d, NULL);
-}
-
-static XSM_INLINE int xsm_machine_memory_map(XSM_DEFAULT_VOID)
-{
-    XSM_ASSERT_ACTION(XSM_PRIV);
-    return xsm_default_action(action, current->domain, NULL);
-}
-
-static XSM_INLINE int xsm_domain_memory_map(XSM_DEFAULT_ARG struct domain *d)
-{
-    XSM_ASSERT_ACTION(XSM_TARGET);
-    return xsm_default_action(action, current->domain, d);
-}
-
-static XSM_INLINE int xsm_mmu_update(XSM_DEFAULT_ARG struct domain *d, struct domain *t,
-                                     struct domain *f, uint32_t flags)
-{
-    int rc = 0;
-    XSM_ASSERT_ACTION(XSM_TARGET);
-    if ( f != dom_io )
-        rc = xsm_default_action(action, d, f);
-    if ( evaluate_nospec(t) && !rc )
-        rc = xsm_default_action(action, d, t);
-    return rc;
-}
-
-static XSM_INLINE int xsm_mmuext_op(XSM_DEFAULT_ARG struct domain *d, struct domain *f)
-{
-    XSM_ASSERT_ACTION(XSM_TARGET);
-    return xsm_default_action(action, d, f);
-}
-
-static XSM_INLINE int xsm_update_va_mapping(XSM_DEFAULT_ARG struct domain *d, struct domain *f, 
-                                                            l1_pgentry_t pte)
-{
-    XSM_ASSERT_ACTION(XSM_TARGET);
-    return xsm_default_action(action, d, f);
-}
-
-static XSM_INLINE int xsm_priv_mapping(XSM_DEFAULT_ARG struct domain *d, struct domain *t)
-{
-    XSM_ASSERT_ACTION(XSM_TARGET);
-    return xsm_default_action(action, d, t);
-}
-
-static XSM_INLINE int xsm_ioport_permission(XSM_DEFAULT_ARG struct domain *d, uint32_t s, uint32_t e, uint8_t allow)
-{
-    XSM_ASSERT_ACTION(XSM_HOOK);
-    return xsm_default_action(action, current->domain, d);
-}
-
-static XSM_INLINE int xsm_ioport_mapping(XSM_DEFAULT_ARG struct domain *d, uint32_t s, uint32_t e, uint8_t allow)
-{
-    XSM_ASSERT_ACTION(XSM_HOOK);
-    return xsm_default_action(action, current->domain, d);
-}
-
-static XSM_INLINE int xsm_pmu_op (XSM_DEFAULT_ARG struct domain *d, unsigned int op)
-{
-    XSM_ASSERT_ACTION(XSM_OTHER);
-    switch ( op )
-    {
-    case XENPMU_init:
-    case XENPMU_finish:
-    case XENPMU_lvtpc_set:
-    case XENPMU_flush:
-        return xsm_default_action(XSM_HOOK, d, current->domain);
-    default:
-        return xsm_default_action(XSM_PRIV, d, current->domain);
-    }
-}
-
-#endif /* CONFIG_X86 */
-
-static XSM_INLINE int xsm_dm_op(XSM_DEFAULT_ARG struct domain *d)
-{
-    XSM_ASSERT_ACTION(XSM_DM_PRIV);
-    return xsm_default_action(action, current->domain, d);
-}
-
-#ifdef CONFIG_ARGO
-static XSM_INLINE int xsm_argo_enable(const struct domain *d)
-{
-    return 0;
-}
-
-static XSM_INLINE int xsm_argo_register_single_source(const struct domain *d,
-                                                      const struct domain *t)
-{
-    return 0;
-}
-
-static XSM_INLINE int xsm_argo_register_any_source(const struct domain *d)
-{
-    return 0;
-}
-
-static XSM_INLINE int xsm_argo_send(const struct domain *d,
-                                    const struct domain *t)
-{
-    return 0;
-}
-
-#endif /* CONFIG_ARGO */
-
-#include <public/version.h>
-static XSM_INLINE int xsm_xen_version (XSM_DEFAULT_ARG uint32_t op)
-{
-    XSM_ASSERT_ACTION(XSM_OTHER);
-    switch ( op )
-    {
-    case XENVER_version:
-    case XENVER_platform_parameters:
-    case XENVER_get_features:
-        /* These sub-ops ignore the permission checks and return data. */
-        block_speculation();
-        return 0;
-    case XENVER_extraversion:
-    case XENVER_compile_info:
-    case XENVER_capabilities:
-    case XENVER_changeset:
-    case XENVER_pagesize:
-    case XENVER_guest_handle:
-        /* These MUST always be accessible to any guest by default. */
-        return xsm_default_action(XSM_HOOK, current->domain, NULL);
-    default:
-        return xsm_default_action(XSM_PRIV, current->domain, NULL);
-    }
-}
-
-static XSM_INLINE int xsm_domain_resource_map(XSM_DEFAULT_ARG struct domain *d)
-{
-    XSM_ASSERT_ACTION(XSM_DM_PRIV);
-    return xsm_default_action(action, current->domain, d);
-}
diff --git a/xen/include/xsm/xsm-core.h b/xen/include/xsm/xsm-core.h
index 49b00d688c..dfe9378cb2 100644
--- a/xen/include/xsm/xsm-core.h
+++ b/xen/include/xsm/xsm-core.h
@@ -199,8 +199,6 @@ struct xsm_ops {
 
 extern void xsm_fixup_ops(struct xsm_ops *ops);
 
-#ifdef CONFIG_XSM
-
 #ifdef CONFIG_MULTIBOOT
 extern int xsm_multiboot_init(unsigned long *module_map,
                               const multiboot_info_t *mbi);
@@ -246,28 +244,4 @@ static const inline struct xsm_ops *silo_init(void)
 }
 #endif
 
-#else /* CONFIG_XSM */
-
-#ifdef CONFIG_MULTIBOOT
-static inline int xsm_multiboot_init (unsigned long *module_map,
-                                      const multiboot_info_t *mbi)
-{
-    return 0;
-}
-#endif
-
-#ifdef CONFIG_HAS_DEVICE_TREE
-static inline int xsm_dt_init(void)
-{
-    return 0;
-}
-
-static inline bool has_xsm_magic(paddr_t start)
-{
-    return false;
-}
-#endif /* CONFIG_HAS_DEVICE_TREE */
-
-#endif /* CONFIG_XSM */
-
 #endif /* __XSM_CORE_H */
diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h
index 673b818ac7..deb3a39062 100644
--- a/xen/include/xsm/xsm.h
+++ b/xen/include/xsm/xsm.h
@@ -19,545 +19,1023 @@
 #include <xen/sched.h>
 #include <xen/multiboot.h>
 #include <xsm/xsm-core.h>
-
-#ifdef CONFIG_XSM
+#include <xsm/dummy.h>
+#include <public/version.h>
 
 extern struct xsm_ops xsm_ops;
 
-static inline void xsm_security_domaininfo (struct domain *d,
-                                        struct xen_domctl_getdomaininfo *info)
+static inline void xsm_security_domaininfo(
+    struct domain *d,
+    struct xen_domctl_getdomaininfo *info)
 {
-    alternative_vcall(xsm_ops.security_domaininfo, d, info);
+    if ( xsm_ops.security_domaininfo )
+        alternative_vcall(xsm_ops.security_domaininfo, d, info);
 }
 
-static inline int xsm_domain_create (xsm_default_t def, struct domain *d, u32 ssidref)
+static inline int xsm_domain_create(xsm_default_t action, struct domain *d,
+                                    u32 ssidref)
 {
-    return alternative_call(xsm_ops.domain_create, d, ssidref);
+    if ( xsm_ops.domain_create )
+        return alternative_call(xsm_ops.domain_create, d, ssidref);
+
+    XSM_ASSERT_ACTION(XSM_HOOK);
+    return xsm_default_action(action, current->domain, d);
 }
 
-static inline int xsm_getdomaininfo (xsm_default_t def, struct domain *d)
+static inline int xsm_getdomaininfo(xsm_default_t action, struct domain *d)
 {
-    return alternative_call(xsm_ops.getdomaininfo, d);
+    if ( xsm_ops.getdomaininfo )
+        return alternative_call(xsm_ops.getdomaininfo, d);
+
+    XSM_ASSERT_ACTION(XSM_HOOK);
+    return xsm_default_action(action, current->domain, d);
 }
 
-static inline int xsm_domctl_scheduler_op (xsm_default_t def, struct domain *d, int cmd)
+static inline int xsm_domctl_scheduler_op(xsm_default_t action, struct domain *d,
+                                          int cmd)
 {
-    return alternative_call(xsm_ops.domctl_scheduler_op, d, cmd);
+    if ( xsm_ops.domctl_scheduler_op )
+        return alternative_call(xsm_ops.domctl_scheduler_op, d, cmd);
+
+    XSM_ASSERT_ACTION(XSM_HOOK);
+    return xsm_default_action(action, current->domain, d);
 }
 
-static inline int xsm_sysctl_scheduler_op (xsm_default_t def, int cmd)
+static inline int xsm_sysctl_scheduler_op(xsm_default_t action, int cmd)
 {
-    return alternative_call(xsm_ops.sysctl_scheduler_op, cmd);
+    if ( xsm_ops.sysctl_scheduler_op )
+        return alternative_call(xsm_ops.sysctl_scheduler_op, cmd);
+
+    XSM_ASSERT_ACTION(XSM_HOOK);
+    return xsm_default_action(action, current->domain, NULL);
 }
 
-static inline int xsm_set_target (xsm_default_t def, struct domain *d, struct domain *e)
+static inline int xsm_set_target(xsm_default_t action, struct domain *d,
+                                 struct domain *e)
 {
-    return alternative_call(xsm_ops.set_target, d, e);
+    if ( xsm_ops.set_target )
+        return alternative_call(xsm_ops.set_target, d, e);
+
+    XSM_ASSERT_ACTION(XSM_HOOK);
+    return xsm_default_action(action, current->domain, NULL);
 }
 
-static inline int xsm_domctl (xsm_default_t def, struct domain *d, int cmd)
+static inline int xsm_domctl(xsm_default_t action, struct domain *d, int cmd)
 {
-    return alternative_call(xsm_ops.domctl, d, cmd);
+    if ( xsm_ops.domctl )
+        return alternative_call(xsm_ops.domctl, d, cmd);
+
+    XSM_ASSERT_ACTION(XSM_OTHER);
+    switch ( cmd )
+    {
+    case XEN_DOMCTL_ioport_mapping:
+    case XEN_DOMCTL_memory_mapping:
+    case XEN_DOMCTL_bind_pt_irq:
+    case XEN_DOMCTL_unbind_pt_irq:
+        return xsm_default_action(XSM_DM_PRIV, current->domain, d);
+    case XEN_DOMCTL_getdomaininfo:
+        return xsm_default_action(XSM_XS_PRIV, current->domain, d);
+    default:
+        return xsm_default_action(XSM_PRIV, current->domain, d);
+    }
 }
 
-static inline int xsm_sysctl (xsm_default_t def, int cmd)
+static inline int xsm_sysctl(xsm_default_t action, int cmd)
 {
-    return alternative_call(xsm_ops.sysctl, cmd);
+    if ( xsm_ops.sysctl )
+        return alternative_call(xsm_ops.sysctl, cmd);
+
+    XSM_ASSERT_ACTION(XSM_PRIV);
+    return xsm_default_action(action, current->domain, NULL);
 }
 
-static inline int xsm_readconsole (xsm_default_t def, uint32_t clear)
+static inline int xsm_readconsole(xsm_default_t action, uint32_t clear)
 {
-    return alternative_call(xsm_ops.readconsole, clear);
+    if ( xsm_ops.readconsole )
+        return alternative_call(xsm_ops.readconsole, clear);
+
+    XSM_ASSERT_ACTION(XSM_HOOK);
+    return xsm_default_action(action, current->domain, NULL);
 }
 
-static inline int xsm_evtchn_unbound (xsm_default_t def, struct domain *d1, struct evtchn *chn,
-                                                                    domid_t id2)
+static inline int xsm_evtchn_unbound(xsm_default_t action, struct domain *d1,
+                                     struct evtchn *chn, domid_t id2)
 {
-    return alternative_call(xsm_ops.evtchn_unbound, d1, chn, id2);
+    if ( xsm_ops.evtchn_unbound )
+        return alternative_call(xsm_ops.evtchn_unbound, d1, chn, id2);
+
+    XSM_ASSERT_ACTION(XSM_TARGET);
+    return xsm_default_action(action, current->domain, d1);
 }
 
-static inline int xsm_evtchn_interdomain (xsm_default_t def, struct domain *d1,
-                struct evtchn *chan1, struct domain *d2, struct evtchn *chan2)
+static inline int xsm_evtchn_interdomain(xsm_default_t action,
+                                         struct domain *d1,
+                                         struct evtchn *chan1,
+                                         struct domain *d2,
+                                         struct evtchn *chan2)
 {
-    return alternative_call(xsm_ops.evtchn_interdomain, d1, chan1, d2, chan2);
+    if ( xsm_ops.evtchn_interdomain )
+        return alternative_call(xsm_ops.evtchn_interdomain, d1, chan1, d2,
+                                chan2);
+
+    XSM_ASSERT_ACTION(XSM_HOOK);
+    return xsm_default_action(action, d1, d2);
 }
 
-static inline void xsm_evtchn_close_post (struct evtchn *chn)
+static inline void xsm_evtchn_close_post(struct evtchn *chn)
 {
-    alternative_vcall(xsm_ops.evtchn_close_post, chn);
+    if ( xsm_ops.evtchn_close_post )
+        alternative_vcall(xsm_ops.evtchn_close_post, chn);
 }
 
-static inline int xsm_evtchn_send (xsm_default_t def, struct domain *d, struct evtchn *chn)
+static inline int xsm_evtchn_send(xsm_default_t action, struct domain *d,
+                                  struct evtchn *chn)
 {
-    return alternative_call(xsm_ops.evtchn_send, d, chn);
+    if ( xsm_ops.evtchn_send )
+        return alternative_call(xsm_ops.evtchn_send, d, chn);
+
+    XSM_ASSERT_ACTION(XSM_HOOK);
+    return xsm_default_action(action, d, NULL);
 }
 
-static inline int xsm_evtchn_status (xsm_default_t def, struct domain *d, struct evtchn *chn)
+static inline int xsm_evtchn_status(xsm_default_t action, struct domain *d,
+                                    struct evtchn *chn)
 {
-    return alternative_call(xsm_ops.evtchn_status, d, chn);
+    if ( xsm_ops.evtchn_status )
+        return alternative_call(xsm_ops.evtchn_status, d, chn);
+
+    XSM_ASSERT_ACTION(XSM_TARGET);
+    return xsm_default_action(action, current->domain, d);
 }
 
-static inline int xsm_evtchn_reset (xsm_default_t def, struct domain *d1, struct domain *d2)
+static inline int xsm_evtchn_reset(xsm_default_t action, struct domain *d1,
+                                   struct domain *d2)
 {
-    return alternative_call(xsm_ops.evtchn_reset, d1, d2);
+    if ( xsm_ops.evtchn_reset )
+        return alternative_call(xsm_ops.evtchn_reset, d1, d2);
+
+    XSM_ASSERT_ACTION(XSM_TARGET);
+    return xsm_default_action(action, d1, d2);
 }
 
-static inline int xsm_grant_mapref (xsm_default_t def, struct domain *d1, struct domain *d2,
-                                                                uint32_t flags)
+static inline int xsm_grant_mapref(xsm_default_t action, struct domain *d1,
+                                   struct domain *d2, uint32_t flags)
 {
-    return alternative_call(xsm_ops.grant_mapref, d1, d2, flags);
+    if ( xsm_ops.grant_mapref )
+        return alternative_call(xsm_ops.grant_mapref, d1, d2, flags);
+
+    XSM_ASSERT_ACTION(XSM_HOOK);
+    return xsm_default_action(action, d1, d2);
 }
 
-static inline int xsm_grant_unmapref (xsm_default_t def, struct domain *d1, struct domain *d2)
+static inline int xsm_grant_unmapref(xsm_default_t action, struct domain *d1,
+                                     struct domain *d2)
 {
-    return alternative_call(xsm_ops.grant_unmapref, d1, d2);
+    if ( xsm_ops.grant_unmapref )
+        return alternative_call(xsm_ops.grant_unmapref, d1, d2);
+
+    XSM_ASSERT_ACTION(XSM_HOOK);
+    return xsm_default_action(action, d1, d2);
 }
 
-static inline int xsm_grant_setup (xsm_default_t def, struct domain *d1, struct domain *d2)
+static inline int xsm_grant_setup(xsm_default_t action, struct domain *d1,
+                                  struct domain *d2)
 {
-    return alternative_call(xsm_ops.grant_setup, d1, d2);
+    if ( xsm_ops.grant_setup )
+        return alternative_call(xsm_ops.grant_setup, d1, d2);
+
+    XSM_ASSERT_ACTION(XSM_TARGET);
+    return xsm_default_action(action, d1, d2);
 }
 
-static inline int xsm_grant_transfer (xsm_default_t def, struct domain *d1, struct domain *d2)
+static inline int xsm_grant_transfer(xsm_default_t action, struct domain *d1,
+                                     struct domain *d2)
 {
-    return alternative_call(xsm_ops.grant_transfer, d1, d2);
+    if ( xsm_ops.grant_transfer )
+        return alternative_call(xsm_ops.grant_transfer, d1, d2);
+
+    XSM_ASSERT_ACTION(XSM_HOOK);
+    return xsm_default_action(action, d1, d2);
 }
 
-static inline int xsm_grant_copy (xsm_default_t def, struct domain *d1, struct domain *d2)
+static inline int xsm_grant_copy(xsm_default_t action, struct domain *d1,
+                                 struct domain *d2)
 {
-    return alternative_call(xsm_ops.grant_copy, d1, d2);
+    if ( xsm_ops.grant_copy )
+        return alternative_call(xsm_ops.grant_copy, d1, d2);
+
+    XSM_ASSERT_ACTION(XSM_HOOK);
+    return xsm_default_action(action, d1, d2);
 }
 
-static inline int xsm_grant_query_size (xsm_default_t def, struct domain *d1, struct domain *d2)
+static inline int xsm_grant_query_size(xsm_default_t action, struct domain *d1,
+                                       struct domain *d2)
 {
-    return alternative_call(xsm_ops.grant_query_size, d1, d2);
+    if ( xsm_ops.grant_query_size )
+        return alternative_call(xsm_ops.grant_query_size, d1, d2);
+
+    XSM_ASSERT_ACTION(XSM_TARGET);
+    return xsm_default_action(action, d1, d2);
 }
 
-static inline int xsm_alloc_security_domain (struct domain *d)
+static inline int xsm_alloc_security_domain(struct domain *d)
 {
-    return alternative_call(xsm_ops.alloc_security_domain, d);
+    if ( xsm_ops.alloc_security_domain )
+        return alternative_call(xsm_ops.alloc_security_domain, d);
+
+    return 0;
 }
 
-static inline void xsm_free_security_domain (struct domain *d)
+static inline void xsm_free_security_domain(struct domain *d)
 {
-    alternative_vcall(xsm_ops.free_security_domain, d);
+    if ( xsm_ops.free_security_domain )
+        alternative_vcall(xsm_ops.free_security_domain, d);
 }
 
-static inline int xsm_alloc_security_evtchns(
-    struct evtchn chn[], unsigned int nr)
+static inline int xsm_alloc_security_evtchns(struct evtchn chn[],
+                                             unsigned int nr)
 {
-    return alternative_call(xsm_ops.alloc_security_evtchns, chn, nr);
+    if ( xsm_ops.alloc_security_evtchns )
+        return alternative_call(xsm_ops.alloc_security_evtchns, chn, nr);
+
+    return 0;
 }
 
-static inline void xsm_free_security_evtchns(
-    struct evtchn chn[], unsigned int nr)
+static inline void xsm_free_security_evtchns(struct evtchn chn[],
+                                             unsigned int nr)
 {
-    alternative_vcall(xsm_ops.free_security_evtchns, chn, nr);
+    if ( xsm_ops.free_security_evtchns )
+        alternative_vcall(xsm_ops.free_security_evtchns, chn, nr);
 }
 
-static inline char *xsm_show_security_evtchn (struct domain *d, const struct evtchn *chn)
+static inline char *xsm_show_security_evtchn(struct domain *d,
+                                             const struct evtchn *chn)
 {
-    return alternative_call(xsm_ops.show_security_evtchn, d, chn);
+    if ( xsm_ops.show_security_evtchn )
+        return alternative_call(xsm_ops.show_security_evtchn, d, chn);
+
+    return NULL;
 }
 
-static inline int xsm_init_hardware_domain (xsm_default_t def, struct domain *d)
+static inline int xsm_init_hardware_domain(xsm_default_t action, struct domain *d)
 {
-    return alternative_call(xsm_ops.init_hardware_domain, d);
+    if ( xsm_ops.init_hardware_domain )
+        return alternative_call(xsm_ops.init_hardware_domain, d);
+
+    XSM_ASSERT_ACTION(XSM_HOOK);
+    return xsm_default_action(action, current->domain, d);
 }
 
-static inline int xsm_get_pod_target (xsm_default_t def, struct domain *d)
+static inline int xsm_get_pod_target(xsm_default_t action, struct domain *d)
 {
-    return alternative_call(xsm_ops.get_pod_target, d);
+    if ( xsm_ops.get_pod_target )
+        return alternative_call(xsm_ops.get_pod_target, d);
+
+    XSM_ASSERT_ACTION(XSM_PRIV);
+    return xsm_default_action(action, current->domain, d);
 }
 
-static inline int xsm_set_pod_target (xsm_default_t def, struct domain *d)
+static inline int xsm_set_pod_target(xsm_default_t action, struct domain *d)
 {
-    return alternative_call(xsm_ops.set_pod_target, d);
+    if ( xsm_ops.set_pod_target )
+        return alternative_call(xsm_ops.set_pod_target, d);
+
+    XSM_ASSERT_ACTION(XSM_PRIV);
+    return xsm_default_action(action, current->domain, d);
 }
 
-static inline int xsm_memory_exchange (xsm_default_t def, struct domain *d)
+static inline int xsm_memory_exchange(xsm_default_t action, struct domain *d)
 {
-    return alternative_call(xsm_ops.memory_exchange, d);
+    if ( xsm_ops.memory_exchange )
+        return alternative_call(xsm_ops.memory_exchange, d);
+
+    XSM_ASSERT_ACTION(XSM_TARGET);
+    return xsm_default_action(action, current->domain, d);
 }
 
-static inline int xsm_memory_adjust_reservation (xsm_default_t def, struct domain *d1, struct
-                                                                    domain *d2)
+static inline int xsm_memory_adjust_reservation(xsm_default_t action,
+                                                struct domain *d1,
+                                                struct domain *d2)
 {
-    return alternative_call(xsm_ops.memory_adjust_reservation, d1, d2);
+    if ( xsm_ops.memory_adjust_reservation )
+        return alternative_call(xsm_ops.memory_adjust_reservation, d1, d2);
+
+    XSM_ASSERT_ACTION(XSM_TARGET);
+    return xsm_default_action(action, d1, d2);
 }
 
-static inline int xsm_memory_stat_reservation (xsm_default_t def, struct domain *d1,
-                                                            struct domain *d2)
+static inline int xsm_memory_stat_reservation(xsm_default_t action,
+                                              struct domain *d1,
+                                              struct domain *d2)
 {
-    return alternative_call(xsm_ops.memory_stat_reservation, d1, d2);
+    if ( xsm_ops.memory_stat_reservation )
+        return alternative_call(xsm_ops.memory_stat_reservation, d1, d2);
+
+    XSM_ASSERT_ACTION(XSM_TARGET);
+    return xsm_default_action(action, d1, d2);
 }
 
-static inline int xsm_memory_pin_page(xsm_default_t def, struct domain *d1, struct domain *d2,
-                                      struct page_info *page)
+static inline int xsm_memory_pin_page(xsm_default_t action, struct domain *d1,
+                                      struct domain *d2, struct page_info *page)
 {
-    return alternative_call(xsm_ops.memory_pin_page, d1, d2, page);
+    if ( xsm_ops.memory_pin_page )
+        return alternative_call(xsm_ops.memory_pin_page, d1, d2, page);
+
+    XSM_ASSERT_ACTION(XSM_HOOK);
+    return xsm_default_action(action, d1, d2);
 }
 
-static inline int xsm_add_to_physmap(xsm_default_t def, struct domain *d1, struct domain *d2)
+static inline int xsm_add_to_physmap(xsm_default_t action, struct domain *d1,
+                                     struct domain *d2)
 {
-    return alternative_call(xsm_ops.add_to_physmap, d1, d2);
+    if ( xsm_ops.add_to_physmap )
+        return alternative_call(xsm_ops.add_to_physmap, d1, d2);
+
+    XSM_ASSERT_ACTION(XSM_TARGET);
+    return xsm_default_action(action, d1, d2);
 }
 
-static inline int xsm_remove_from_physmap(xsm_default_t def, struct domain *d1, struct domain *d2)
+static inline int xsm_remove_from_physmap(xsm_default_t action, struct domain *d1,
+                                          struct domain *d2)
 {
-    return alternative_call(xsm_ops.remove_from_physmap, d1, d2);
+    if ( xsm_ops.remove_from_physmap )
+        return alternative_call(xsm_ops.remove_from_physmap, d1, d2);
+
+    XSM_ASSERT_ACTION(XSM_TARGET);
+    return xsm_default_action(action, d1, d2);
 }
 
-static inline int xsm_map_gmfn_foreign (xsm_default_t def, struct domain *d, struct domain *t)
+static inline int xsm_map_gmfn_foreign(xsm_default_t action, struct domain *d,
+                                       struct domain *t)
 {
-    return alternative_call(xsm_ops.map_gmfn_foreign, d, t);
+    if ( xsm_ops.map_gmfn_foreign )
+        return alternative_call(xsm_ops.map_gmfn_foreign, d, t);
+
+    XSM_ASSERT_ACTION(XSM_TARGET);
+    return xsm_default_action(action, d, t);
 }
 
-static inline int xsm_claim_pages(xsm_default_t def, struct domain *d)
+static inline int xsm_claim_pages(xsm_default_t action, struct domain *d)
 {
-    return alternative_call(xsm_ops.claim_pages, d);
+    if ( xsm_ops.claim_pages )
+        return alternative_call(xsm_ops.claim_pages, d);
+
+    XSM_ASSERT_ACTION(XSM_PRIV);
+    return xsm_default_action(action, current->domain, d);
 }
 
-static inline int xsm_console_io (xsm_default_t def, struct domain *d, int cmd)
+static inline int xsm_console_io(xsm_default_t action, struct domain *d, int cmd)
 {
-    return alternative_call(xsm_ops.console_io, d, cmd);
+    if ( xsm_ops.console_io )
+        return alternative_call(xsm_ops.console_io, d, cmd);
+
+    XSM_ASSERT_ACTION(XSM_OTHER);
+    if ( d->is_console )
+        return xsm_default_action(XSM_HOOK, d, NULL);
+#ifdef CONFIG_VERBOSE_DEBUG
+    if ( cmd == CONSOLEIO_write )
+        return xsm_default_action(XSM_HOOK, d, NULL);
+#endif
+    return xsm_default_action(XSM_PRIV, d, NULL);
 }
 
-static inline int xsm_profile (xsm_default_t def, struct domain *d, int op)
+static inline int xsm_profile(xsm_default_t action, struct domain *d, int op)
 {
-    return alternative_call(xsm_ops.profile, d, op);
+    if ( xsm_ops.profile )
+        return alternative_call(xsm_ops.profile, d, op);
+
+    XSM_ASSERT_ACTION(XSM_HOOK);
+    return xsm_default_action(action, d, NULL);
 }
 
-static inline int xsm_kexec (xsm_default_t def)
+static inline int xsm_kexec (xsm_default_t action)
 {
-    return alternative_call(xsm_ops.kexec);
+    if ( xsm_ops.kexec )
+        return alternative_call(xsm_ops.kexec);
+
+    XSM_ASSERT_ACTION(XSM_PRIV);
+    return xsm_default_action(action, current->domain, NULL);
 }
 
-static inline int xsm_schedop_shutdown (xsm_default_t def, struct domain *d1, struct domain *d2)
+static inline int xsm_schedop_shutdown(xsm_default_t action, struct domain *d1,
+                                       struct domain *d2)
 {
-    return alternative_call(xsm_ops.schedop_shutdown, d1, d2);
+    if ( xsm_ops.schedop_shutdown )
+        return alternative_call(xsm_ops.schedop_shutdown, d1, d2);
+
+    XSM_ASSERT_ACTION(XSM_DM_PRIV);
+    return xsm_default_action(action, d1, d2);
 }
 
-static inline char *xsm_show_irq_sid (int irq)
+static inline char *xsm_show_irq_sid(int irq)
 {
-    return alternative_call(xsm_ops.show_irq_sid, irq);
+    if ( xsm_ops.show_irq_sid )
+        return alternative_call(xsm_ops.show_irq_sid, irq);
+
+    return NULL;
 }
 
-static inline int xsm_map_domain_pirq (xsm_default_t def, struct domain *d)
+static inline int xsm_map_domain_pirq(xsm_default_t action, struct domain *d)
 {
-    return alternative_call(xsm_ops.map_domain_pirq, d);
+    if ( xsm_ops.map_domain_pirq )
+        return alternative_call(xsm_ops.map_domain_pirq, d);
+
+    XSM_ASSERT_ACTION(XSM_DM_PRIV);
+    return xsm_default_action(action, current->domain, d);
 }
 
-static inline int xsm_map_domain_irq (xsm_default_t def, struct domain *d, int irq, void *data)
+static inline int xsm_map_domain_irq(xsm_default_t action, struct domain *d,
+                                     int irq, void *data)
 {
-    return alternative_call(xsm_ops.map_domain_irq, d, irq, data);
+    if ( xsm_ops.map_domain_irq )
+        return alternative_call(xsm_ops.map_domain_irq, d, irq, data);
+
+    XSM_ASSERT_ACTION(XSM_HOOK);
+    return xsm_default_action(action, current->domain, d);
 }
 
-static inline int xsm_unmap_domain_pirq (xsm_default_t def, struct domain *d)
+static inline int xsm_unmap_domain_pirq(xsm_default_t action, struct domain *d)
 {
-    return alternative_call(xsm_ops.unmap_domain_pirq, d);
+    if ( xsm_ops.unmap_domain_pirq )
+        return alternative_call(xsm_ops.unmap_domain_pirq, d);
+
+    XSM_ASSERT_ACTION(XSM_DM_PRIV);
+    return xsm_default_action(action, current->domain, d);
 }
 
-static inline int xsm_unmap_domain_irq (xsm_default_t def, struct domain *d, int irq, void *data)
+static inline int xsm_unmap_domain_irq(xsm_default_t action, struct domain *d,
+                                       int irq, void *data)
 {
-    return alternative_call(xsm_ops.unmap_domain_irq, d, irq, data);
+    if ( xsm_ops.unmap_domain_irq )
+        return alternative_call(xsm_ops.unmap_domain_irq, d, irq, data);
+
+    XSM_ASSERT_ACTION(XSM_HOOK);
+    return xsm_default_action(action, current->domain, d);
 }
 
-static inline int xsm_bind_pt_irq(xsm_default_t def, struct domain *d,
+static inline int xsm_bind_pt_irq(xsm_default_t action, struct domain *d,
                                   struct xen_domctl_bind_pt_irq *bind)
 {
-    return alternative_call(xsm_ops.bind_pt_irq, d, bind);
+    if ( xsm_ops.bind_pt_irq )
+        return alternative_call(xsm_ops.bind_pt_irq, d, bind);
+
+    XSM_ASSERT_ACTION(XSM_HOOK);
+    return xsm_default_action(action, current->domain, d);
 }
 
-static inline int xsm_unbind_pt_irq(xsm_default_t def, struct domain *d,
+static inline int xsm_unbind_pt_irq(xsm_default_t action, struct domain *d,
                                     struct xen_domctl_bind_pt_irq *bind)
 {
-    return alternative_call(xsm_ops.unbind_pt_irq, d, bind);
+    if ( xsm_ops.unbind_pt_irq )
+        return alternative_call(xsm_ops.unbind_pt_irq, d, bind);
+
+    XSM_ASSERT_ACTION(XSM_HOOK);
+    return xsm_default_action(action, current->domain, d);
 }
 
-static inline int xsm_irq_permission (xsm_default_t def, struct domain *d, int pirq, uint8_t allow)
+static inline int xsm_irq_permission(xsm_default_t action, struct domain *d,
+                                     int pirq, uint8_t allow)
 {
-    return alternative_call(xsm_ops.irq_permission, d, pirq, allow);
+    if ( xsm_ops.irq_permission )
+        return alternative_call(xsm_ops.irq_permission, d, pirq, allow);
+
+    XSM_ASSERT_ACTION(XSM_HOOK);
+    return xsm_default_action(action, current->domain, d);
 }
 
-static inline int xsm_iomem_permission (xsm_default_t def, struct domain *d, uint64_t s, uint64_t e, uint8_t allow)
+static inline int xsm_iomem_permission(xsm_default_t action, struct domain *d,
+                                       uint64_t s, uint64_t e, uint8_t allow)
 {
-    return alternative_call(xsm_ops.iomem_permission, d, s, e, allow);
+    if ( xsm_ops.iomem_permission )
+        return alternative_call(xsm_ops.iomem_permission, d, s, e, allow);
+
+    XSM_ASSERT_ACTION(XSM_HOOK);
+    return xsm_default_action(action, current->domain, d);
 }
 
-static inline int xsm_iomem_mapping (xsm_default_t def, struct domain *d, uint64_t s, uint64_t e, uint8_t allow)
+static inline int xsm_iomem_mapping(xsm_default_t action, struct domain *d,
+                                    uint64_t s, uint64_t e, uint8_t allow)
 {
-    return alternative_call(xsm_ops.iomem_mapping, d, s, e, allow);
+    if ( xsm_ops.iomem_mapping )
+        return alternative_call(xsm_ops.iomem_mapping, d, s, e, allow);
+
+    XSM_ASSERT_ACTION(XSM_HOOK);
+    return xsm_default_action(action, current->domain, d);
 }
 
-static inline int xsm_pci_config_permission (xsm_default_t def, struct domain *d, uint32_t machine_bdf, uint16_t start, uint16_t end, uint8_t access)
+static inline int xsm_pci_config_permission(xsm_default_t action,
+                                            struct domain *d,
+                                            uint32_t machine_bdf,
+                                            uint16_t start,
+                                            uint16_t end,
+                                            uint8_t access)
 {
-    return alternative_call(xsm_ops.pci_config_permission, d, machine_bdf, start, end, access);
+    if ( xsm_ops.pci_config_permission )
+        return alternative_call(xsm_ops.pci_config_permission, d, machine_bdf, start, end, access);
+
+    XSM_ASSERT_ACTION(XSM_HOOK);
+    return xsm_default_action(action, current->domain, d);
 }
 
 #if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_PCI)
-static inline int xsm_get_device_group(xsm_default_t def, uint32_t machine_bdf)
+static inline int xsm_get_device_group(xsm_default_t action, uint32_t machine_bdf)
 {
-    return alternative_call(xsm_ops.get_device_group, machine_bdf);
+    if ( xsm_ops.get_device_group )
+        return alternative_call(xsm_ops.get_device_group, machine_bdf);
+
+    XSM_ASSERT_ACTION(XSM_HOOK);
+    return xsm_default_action(action, current->domain, NULL);
 }
 
-static inline int xsm_assign_device(xsm_default_t def, struct domain *d, uint32_t machine_bdf)
+static inline int xsm_assign_device(xsm_default_t action, struct domain *d,
+                                    uint32_t machine_bdf)
 {
-    return alternative_call(xsm_ops.assign_device, d, machine_bdf);
+    if ( xsm_ops.assign_device )
+        return alternative_call(xsm_ops.assign_device, d, machine_bdf);
+
+    XSM_ASSERT_ACTION(XSM_HOOK);
+    return xsm_default_action(action, current->domain, d);
 }
 
-static inline int xsm_deassign_device(xsm_default_t def, struct domain *d, uint32_t machine_bdf)
+static inline int xsm_deassign_device(xsm_default_t action, struct domain *d,
+                                      uint32_t machine_bdf)
 {
-    return alternative_call(xsm_ops.deassign_device, d, machine_bdf);
+    if ( xsm_ops.deassign_device )
+        return alternative_call(xsm_ops.deassign_device, d, machine_bdf);
+
+    XSM_ASSERT_ACTION(XSM_HOOK);
+    return xsm_default_action(action, current->domain, d);
 }
 #endif /* HAS_PASSTHROUGH && HAS_PCI) */
 
 #if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_DEVICE_TREE)
-static inline int xsm_assign_dtdevice(xsm_default_t def, struct domain *d,
+static inline int xsm_assign_dtdevice(xsm_default_t action, struct domain *d,
                                       const char *dtpath)
 {
-    return alternative_call(xsm_ops.assign_dtdevice, d, dtpath);
+    if ( xsm_ops.assign_dtdevice )
+        return alternative_call(xsm_ops.assign_dtdevice, d, dtpath);
+
+    XSM_ASSERT_ACTION(XSM_HOOK);
+    return xsm_default_action(action, current->domain, d);
 }
 
-static inline int xsm_deassign_dtdevice(xsm_default_t def, struct domain *d,
+static inline int xsm_deassign_dtdevice(xsm_default_t action, struct domain *d,
                                         const char *dtpath)
 {
-    return alternative_call(xsm_ops.deassign_dtdevice, d, dtpath);
+    if ( xsm_ops.deassign_dtdevice )
+        return alternative_call(xsm_ops.deassign_dtdevice, d, dtpath);
+
+    XSM_ASSERT_ACTION(XSM_HOOK);
+    return xsm_default_action(action, current->domain, d);
 }
 
 #endif /* HAS_PASSTHROUGH && HAS_DEVICE_TREE */
 
-static inline int xsm_resource_plug_pci (xsm_default_t def, uint32_t machine_bdf)
+static inline int xsm_resource_plug_pci(xsm_default_t action, uint32_t machine_bdf)
 {
-    return alternative_call(xsm_ops.resource_plug_pci, machine_bdf);
+    if ( xsm_ops.resource_plug_pci )
+        return alternative_call(xsm_ops.resource_plug_pci, machine_bdf);
+
+    XSM_ASSERT_ACTION(XSM_PRIV);
+    return xsm_default_action(action, current->domain, NULL);
 }
 
-static inline int xsm_resource_unplug_pci (xsm_default_t def, uint32_t machine_bdf)
+static inline int xsm_resource_unplug_pci(xsm_default_t action,
+                                           uint32_t machine_bdf)
 {
-    return alternative_call(xsm_ops.resource_unplug_pci, machine_bdf);
+    if ( xsm_ops.resource_unplug_pci )
+        return alternative_call(xsm_ops.resource_unplug_pci, machine_bdf);
+
+    XSM_ASSERT_ACTION(XSM_PRIV);
+    return xsm_default_action(action, current->domain, NULL);
 }
 
-static inline int xsm_resource_plug_core (xsm_default_t def)
+static inline int xsm_resource_plug_core(xsm_default_t action)
 {
-    return alternative_call(xsm_ops.resource_plug_core);
+    if ( xsm_ops.resource_plug_core )
+        return alternative_call(xsm_ops.resource_plug_core);
+
+    XSM_ASSERT_ACTION(XSM_HOOK);
+    return xsm_default_action(action, current->domain, NULL);
 }
 
-static inline int xsm_resource_unplug_core (xsm_default_t def)
+static inline int xsm_resource_unplug_core(xsm_default_t action)
 {
-    return alternative_call(xsm_ops.resource_unplug_core);
+    if ( xsm_ops.resource_unplug_core )
+        return alternative_call(xsm_ops.resource_unplug_core);
+
+    XSM_ASSERT_ACTION(XSM_HOOK);
+    return xsm_default_action(action, current->domain, NULL);
 }
 
-static inline int xsm_resource_setup_pci (xsm_default_t def, uint32_t machine_bdf)
+static inline int xsm_resource_setup_pci(xsm_default_t action,
+                                         uint32_t machine_bdf)
 {
-    return alternative_call(xsm_ops.resource_setup_pci, machine_bdf);
+    if ( xsm_ops.resource_setup_pci )
+        return alternative_call(xsm_ops.resource_setup_pci, machine_bdf);
+
+    XSM_ASSERT_ACTION(XSM_PRIV);
+    return xsm_default_action(action, current->domain, NULL);
 }
 
-static inline int xsm_resource_setup_gsi (xsm_default_t def, int gsi)
+static inline int xsm_resource_setup_gsi(xsm_default_t action, int gsi)
 {
-    return alternative_call(xsm_ops.resource_setup_gsi, gsi);
+    if ( xsm_ops.resource_setup_gsi )
+        return alternative_call(xsm_ops.resource_setup_gsi, gsi);
+
+    XSM_ASSERT_ACTION(XSM_PRIV);
+    return xsm_default_action(action, current->domain, NULL);
 }
 
-static inline int xsm_resource_setup_misc (xsm_default_t def)
+static inline int xsm_resource_setup_misc (xsm_default_t action)
 {
-    return alternative_call(xsm_ops.resource_setup_misc);
+    if ( xsm_ops.resource_setup_misc )
+        return alternative_call(xsm_ops.resource_setup_misc);
+
+    XSM_ASSERT_ACTION(XSM_PRIV);
+    return xsm_default_action(action, current->domain, NULL);
 }
 
-static inline int xsm_page_offline(xsm_default_t def, uint32_t cmd)
+static inline int xsm_page_offline(xsm_default_t action, uint32_t cmd)
 {
-    return alternative_call(xsm_ops.page_offline, cmd);
+    if ( xsm_ops.page_offline )
+        return alternative_call(xsm_ops.page_offline, cmd);
+
+    XSM_ASSERT_ACTION(XSM_HOOK);
+    return xsm_default_action(action, current->domain, NULL);
 }
 
-static inline int xsm_hypfs_op(xsm_default_t def)
+static inline int xsm_hypfs_op(xsm_default_t action)
 {
-    return alternative_call(xsm_ops.hypfs_op);
+    if ( xsm_ops.hypfs_op )
+        return alternative_call(xsm_ops.hypfs_op);
+
+    XSM_ASSERT_ACTION(XSM_PRIV);
+    return xsm_default_action(action, current->domain, NULL);
 }
 
-static inline long xsm_do_xsm_op (XEN_GUEST_HANDLE_PARAM(xsm_op_t) op)
+static inline long xsm_do_xsm_op(XEN_GUEST_HANDLE_PARAM(xsm_op_t) op)
 {
-    return xsm_ops.do_xsm_op(op);
+    if ( xsm_ops.do_xsm_op )
+        return xsm_ops.do_xsm_op(op);
+
+    return -ENOSYS;
 }
 
 #ifdef CONFIG_COMPAT
-static inline int xsm_do_compat_op (XEN_GUEST_HANDLE_PARAM(xsm_op_t) op)
+static inline int xsm_do_compat_op(XEN_GUEST_HANDLE_PARAM(xsm_op_t) op)
 {
-    return xsm_ops.do_compat_op(op);
+    if ( xsm_ops.do_compat_op )
+        return xsm_ops.do_compat_op(op);
+
+    return -ENOSYS;
 }
 #endif
 
-static inline int xsm_hvm_param (xsm_default_t def, struct domain *d, unsigned long op)
+static inline int xsm_hvm_param(xsm_default_t action, struct domain *d,
+                                unsigned long op)
 {
-    return alternative_call(xsm_ops.hvm_param, d, op);
+    if ( xsm_ops.hvm_param )
+        return alternative_call(xsm_ops.hvm_param, d, op);
+
+    XSM_ASSERT_ACTION(XSM_TARGET);
+    return xsm_default_action(action, current->domain, d);
 }
 
-static inline int xsm_hvm_control(xsm_default_t def, struct domain *d, unsigned long op)
+static inline int xsm_hvm_control(xsm_default_t action, struct domain *d,
+                                  unsigned long op)
 {
-    return alternative_call(xsm_ops.hvm_control, d, op);
+    if ( xsm_ops.hvm_control )
+        return alternative_call(xsm_ops.hvm_control, d, op);
+
+    XSM_ASSERT_ACTION(XSM_DM_PRIV);
+    return xsm_default_action(action, current->domain, d);
 }
 
-static inline int xsm_hvm_param_altp2mhvm (xsm_default_t def, struct domain *d)
+static inline int xsm_hvm_param_altp2mhvm(xsm_default_t action, struct domain *d)
 {
-    return alternative_call(xsm_ops.hvm_param_altp2mhvm, d);
+    if ( xsm_ops.hvm_param_altp2mhvm )
+        return alternative_call(xsm_ops.hvm_param_altp2mhvm, d);
+
+    XSM_ASSERT_ACTION(XSM_PRIV);
+    return xsm_default_action(action, current->domain, d);
 }
 
-static inline int xsm_hvm_altp2mhvm_op (xsm_default_t def, struct domain *d, uint64_t mode, uint32_t op)
+static inline int xsm_hvm_altp2mhvm_op(xsm_default_t action, struct domain *d,
+                                       uint64_t mode, uint32_t op)
 {
-    return alternative_call(xsm_ops.hvm_altp2mhvm_op, d, mode, op);
+    if ( xsm_ops.hvm_altp2mhvm_op )
+        return alternative_call(xsm_ops.hvm_altp2mhvm_op, d, mode, op);
+
+    XSM_ASSERT_ACTION(XSM_OTHER);
+
+    switch ( mode )
+    {
+    case XEN_ALTP2M_mixed:
+        return xsm_default_action(XSM_TARGET, current->domain, d);
+    case XEN_ALTP2M_external:
+        return xsm_default_action(XSM_DM_PRIV, current->domain, d);
+    case XEN_ALTP2M_limited:
+        if ( HVMOP_altp2m_vcpu_enable_notify == op )
+            return xsm_default_action(XSM_TARGET, current->domain, d);
+        return xsm_default_action(XSM_DM_PRIV, current->domain, d);
+    default:
+        return -EPERM;
+    }
 }
 
-static inline int xsm_get_vnumainfo (xsm_default_t def, struct domain *d)
+static inline int xsm_get_vnumainfo(xsm_default_t action, struct domain *d)
 {
-    return alternative_call(xsm_ops.get_vnumainfo, d);
+    if ( xsm_ops.get_vnumainfo )
+        return alternative_call(xsm_ops.get_vnumainfo, d);
+
+    XSM_ASSERT_ACTION(XSM_TARGET);
+    return xsm_default_action(action, current->domain, d);
 }
 
-static inline int xsm_vm_event_control (xsm_default_t def, struct domain *d, int mode, int op)
+static inline int xsm_vm_event_control(xsm_default_t action, struct domain *d,
+                                       int mode, int op)
 {
-    return alternative_call(xsm_ops.vm_event_control, d, mode, op);
+    if ( xsm_ops.vm_event_control )
+        return alternative_call(xsm_ops.vm_event_control, d, mode, op);
+
+    XSM_ASSERT_ACTION(XSM_PRIV);
+    return xsm_default_action(action, current->domain, d);
 }
 
 #ifdef CONFIG_MEM_ACCESS
-static inline int xsm_mem_access (xsm_default_t def, struct domain *d)
+static inline int xsm_mem_access(xsm_default_t action, struct domain *d)
 {
-    return alternative_call(xsm_ops.mem_access, d);
+    if ( xsm_ops.mem_access )
+        return alternative_call(xsm_ops.mem_access, d);
+
+    XSM_ASSERT_ACTION(XSM_DM_PRIV);
+    return xsm_default_action(action, current->domain, d);
 }
 #endif
 
 #ifdef CONFIG_MEM_PAGING
-static inline int xsm_mem_paging (xsm_default_t def, struct domain *d)
+static inline int xsm_mem_paging(xsm_default_t action, struct domain *d)
 {
-    return alternative_call(xsm_ops.mem_paging, d);
+    if ( xsm_ops.mem_paging )
+        return alternative_call(xsm_ops.mem_paging, d);
+
+    XSM_ASSERT_ACTION(XSM_DM_PRIV);
+    return xsm_default_action(action, current->domain, d);
 }
 #endif
 
 #ifdef CONFIG_MEM_SHARING
-static inline int xsm_mem_sharing (xsm_default_t def, struct domain *d)
+static inline int xsm_mem_sharing(xsm_default_t action, struct domain *d)
 {
-    return alternative_call(xsm_ops.mem_sharing, d);
+    if ( xsm_ops.mem_sharing )
+        return alternative_call(xsm_ops.mem_sharing, d);
+
+    XSM_ASSERT_ACTION(XSM_DM_PRIV);
+    return xsm_default_action(action, current->domain, d);
 }
 #endif
 
-static inline int xsm_platform_op (xsm_default_t def, uint32_t op)
+static inline int xsm_platform_op(xsm_default_t action, uint32_t op)
 {
-    return alternative_call(xsm_ops.platform_op, op);
+    if ( xsm_ops.platform_op )
+        return alternative_call(xsm_ops.platform_op, op);
+
+    XSM_ASSERT_ACTION(XSM_PRIV);
+    return xsm_default_action(action, current->domain, NULL);
 }
 
 #ifdef CONFIG_X86
-static inline int xsm_do_mca(xsm_default_t def)
+static inline int xsm_do_mca(xsm_default_t action)
 {
-    return alternative_call(xsm_ops.do_mca);
+    if ( xsm_ops.do_mca )
+        return alternative_call(xsm_ops.do_mca);
+
+    XSM_ASSERT_ACTION(XSM_PRIV);
+    return xsm_default_action(action, current->domain, NULL);
 }
 
-static inline int xsm_shadow_control (xsm_default_t def, struct domain *d, uint32_t op)
+static inline int xsm_shadow_control(xsm_default_t action, struct domain *d,
+                                     uint32_t op)
 {
-    return alternative_call(xsm_ops.shadow_control, d, op);
+    if ( xsm_ops.shadow_control )
+        return alternative_call(xsm_ops.shadow_control, d, op);
+
+    XSM_ASSERT_ACTION(XSM_HOOK);
+    return xsm_default_action(action, current->domain, d);
 }
 
-static inline int xsm_mem_sharing_op (xsm_default_t def, struct domain *d, struct domain *cd, int op)
+static inline int xsm_mem_sharing_op(xsm_default_t action, struct domain *d,
+                                     struct domain *cd, int op)
 {
-    return alternative_call(xsm_ops.mem_sharing_op, d, cd, op);
+    if ( xsm_ops.mem_sharing_op )
+        return alternative_call(xsm_ops.mem_sharing_op, d, cd, op);
+
+    XSM_ASSERT_ACTION(XSM_DM_PRIV);
+    return xsm_default_action(action, current->domain, cd);
 }
 
-static inline int xsm_apic (xsm_default_t def, struct domain *d, int cmd)
+static inline int xsm_apic(xsm_default_t action, struct domain *d, int cmd)
 {
-    return alternative_call(xsm_ops.apic, d, cmd);
+    if ( xsm_ops.apic )
+        return alternative_call(xsm_ops.apic, d, cmd);
+
+    XSM_ASSERT_ACTION(XSM_PRIV);
+    return xsm_default_action(action, d, NULL);
 }
 
-static inline int xsm_memtype (xsm_default_t def, uint32_t access)
+/* No longer called */
+static inline int xsm_memtype(xsm_default_t action, uint32_t access)
 {
-    return alternative_call(xsm_ops.memtype, access);
+    if ( xsm_ops.memtype )
+        return alternative_call(xsm_ops.memtype, access);
 }
 
-static inline int xsm_machine_memory_map(xsm_default_t def)
+static inline int xsm_machine_memory_map(xsm_default_t action)
 {
-    return alternative_call(xsm_ops.machine_memory_map);
+    if ( xsm_ops.machine_memory_map )
+        return alternative_call(xsm_ops.machine_memory_map);
+
+    XSM_ASSERT_ACTION(XSM_PRIV);
+    return xsm_default_action(action, current->domain, NULL);
 }
 
-static inline int xsm_domain_memory_map(xsm_default_t def, struct domain *d)
+static inline int xsm_domain_memory_map(xsm_default_t action, struct domain *d)
 {
-    return alternative_call(xsm_ops.domain_memory_map, d);
+    if ( xsm_ops.domain_memory_map )
+        return alternative_call(xsm_ops.domain_memory_map, d);
+
+    XSM_ASSERT_ACTION(XSM_TARGET);
+    return xsm_default_action(action, current->domain, d);
 }
 
-static inline int xsm_mmu_update (xsm_default_t def, struct domain *d, struct domain *t,
-                                  struct domain *f, uint32_t flags)
+static inline int xsm_mmu_update(xsm_default_t action, struct domain *d,
+                                 struct domain *t, struct domain *f,
+                                 uint32_t flags)
 {
-    return alternative_call(xsm_ops.mmu_update, d, t, f, flags);
+    int rc = 0;
+
+    if ( xsm_ops.mmu_update )
+        return alternative_call(xsm_ops.mmu_update, d, t, f, flags);
+
+    XSM_ASSERT_ACTION(XSM_TARGET);
+    if ( f != dom_io )
+        rc = xsm_default_action(action, d, f);
+    if ( evaluate_nospec(t) && !rc )
+        rc = xsm_default_action(action, d, t);
+    return rc;
 }
 
-static inline int xsm_mmuext_op (xsm_default_t def, struct domain *d, struct domain *f)
+static inline int xsm_mmuext_op(xsm_default_t action, struct domain *d,
+                                struct domain *f)
 {
-    return alternative_call(xsm_ops.mmuext_op, d, f);
+    if ( xsm_ops.mmuext_op )
+        return alternative_call(xsm_ops.mmuext_op, d, f);
+
+    XSM_ASSERT_ACTION(XSM_TARGET);
+    return xsm_default_action(action, d, f);
 }
 
-static inline int xsm_update_va_mapping(xsm_default_t def, struct domain *d, struct domain *f,
-                                                            l1_pgentry_t pte)
+static inline int xsm_update_va_mapping(xsm_default_t action, struct domain *d,
+                                        struct domain *f, l1_pgentry_t pte)
 {
-    return xsm_ops.update_va_mapping(d, f, pte);
+    if ( xsm_ops.update_va_mapping )
+        return xsm_ops.update_va_mapping(d, f, pte);
+
+    XSM_ASSERT_ACTION(XSM_TARGET);
+    return xsm_default_action(action, d, f);
 }
 
-static inline int xsm_priv_mapping(xsm_default_t def, struct domain *d, struct domain *t)
+static inline int xsm_priv_mapping(xsm_default_t action, struct domain *d,
+                                   struct domain *t)
 {
-    return alternative_call(xsm_ops.priv_mapping, d, t);
+    if ( xsm_ops.priv_mapping )
+        return alternative_call(xsm_ops.priv_mapping, d, t);
+
+    XSM_ASSERT_ACTION(XSM_TARGET);
+    return xsm_default_action(action, d, t);
 }
 
-static inline int xsm_ioport_permission (xsm_default_t def, struct domain *d, uint32_t s, uint32_t e, uint8_t allow)
+static inline int xsm_ioport_permission(xsm_default_t action, struct domain *d,
+                                        uint32_t s, uint32_t e, uint8_t allow)
 {
-    return alternative_call(xsm_ops.ioport_permission, d, s, e, allow);
+    if ( xsm_ops.ioport_permission )
+        return alternative_call(xsm_ops.ioport_permission, d, s, e, allow);
+
+    XSM_ASSERT_ACTION(XSM_HOOK);
+    return xsm_default_action(action, current->domain, d);
 }
 
-static inline int xsm_ioport_mapping (xsm_default_t def, struct domain *d, uint32_t s, uint32_t e, uint8_t allow)
+static inline int xsm_ioport_mapping(xsm_default_t action, struct domain *d,
+                                     uint32_t s, uint32_t e, uint8_t allow)
 {
-    return alternative_call(xsm_ops.ioport_mapping, d, s, e, allow);
+    if ( xsm_ops.ioport_mapping )
+        return alternative_call(xsm_ops.ioport_mapping, d, s, e, allow);
+
+    XSM_ASSERT_ACTION(XSM_HOOK);
+    return xsm_default_action(action, current->domain, d);
 }
 
-static inline int xsm_pmu_op (xsm_default_t def, struct domain *d, unsigned int op)
+static inline int xsm_pmu_op(xsm_default_t action, struct domain *d,
+                             unsigned int op)
 {
-    return alternative_call(xsm_ops.pmu_op, d, op);
+    if ( xsm_ops.pmu_op )
+        return alternative_call(xsm_ops.pmu_op, d, op);
+
+    XSM_ASSERT_ACTION(XSM_OTHER);
+    switch ( op )
+    {
+    case XENPMU_init:
+    case XENPMU_finish:
+    case XENPMU_lvtpc_set:
+    case XENPMU_flush:
+        return xsm_default_action(XSM_HOOK, d, current->domain);
+    default:
+        return xsm_default_action(XSM_PRIV, d, current->domain);
+    }
 }
 
 #endif /* CONFIG_X86 */
 
-static inline int xsm_dm_op(xsm_default_t def, struct domain *d)
+static inline int xsm_dm_op(xsm_default_t action, struct domain *d)
 {
-    return alternative_call(xsm_ops.dm_op, d);
+    if ( xsm_ops.dm_op )
+        return alternative_call(xsm_ops.dm_op, d);
+
+    XSM_ASSERT_ACTION(XSM_DM_PRIV);
+    return xsm_default_action(action, current->domain, d);
 }
 
-static inline int xsm_xen_version (xsm_default_t def, uint32_t op)
+static inline int xsm_xen_version(xsm_default_t action, uint32_t op)
 {
-    return alternative_call(xsm_ops.xen_version, op);
+    if ( xsm_ops.xen_version )
+        return alternative_call(xsm_ops.xen_version, op);
+
+    XSM_ASSERT_ACTION(XSM_OTHER);
+    switch ( op )
+    {
+    case XENVER_version:
+    case XENVER_platform_parameters:
+    case XENVER_get_features:
+        /* These sub-ops ignore the permission checks and return data. */
+        block_speculation();
+        return 0;
+    case XENVER_extraversion:
+    case XENVER_compile_info:
+    case XENVER_capabilities:
+    case XENVER_changeset:
+    case XENVER_pagesize:
+    case XENVER_guest_handle:
+        /* These MUST always be accessible to any guest by default. */
+        return xsm_default_action(XSM_HOOK, current->domain, NULL);
+    default:
+        return xsm_default_action(XSM_PRIV, current->domain, NULL);
+    }
 }
 
-static inline int xsm_domain_resource_map(xsm_default_t def, struct domain *d)
+static inline int xsm_domain_resource_map(xsm_default_t action, struct domain *d)
 {
-    return alternative_call(xsm_ops.domain_resource_map, d);
+    if ( xsm_ops.domain_resource_map )
+        return alternative_call(xsm_ops.domain_resource_map, d);
+
+    XSM_ASSERT_ACTION(XSM_DM_PRIV);
+    return xsm_default_action(action, current->domain, d);
 }
 
 #ifdef CONFIG_ARGO
 static inline int xsm_argo_enable(const struct domain *d)
 {
-    return alternative_call(xsm_ops.argo_enable, d);
+    if ( xsm_ops.argo_enable )
+        return alternative_call(xsm_ops.argo_enable, d);
+
+    return 0;
 }
 
 static inline int xsm_argo_register_single_source(const struct domain *d,
                                                   const struct domain *t)
 {
-    return alternative_call(xsm_ops.argo_register_single_source, d, t);
+    if ( xsm_ops.argo_register_single_source )
+        return alternative_call(xsm_ops.argo_register_single_source, d, t);
+
+    return 0;
 }
 
 static inline int xsm_argo_register_any_source(const struct domain *d)
 {
-    return alternative_call(xsm_ops.argo_register_any_source, d);
+    if ( xsm_ops.argo_register_any_source )
+        return alternative_call(xsm_ops.argo_register_any_source, d);
+
+    return 0;
 }
 
 static inline int xsm_argo_send(const struct domain *d, const struct domain *t)
 {
-    return alternative_call(xsm_ops.argo_send, d, t);
+    if ( xsm_ops.argo_send )
+        return alternative_call(xsm_ops.argo_send, d, t);
+
+    return 0;
 }
 
 #endif /* CONFIG_ARGO */
 
-#else /* CONFIG_XSM */
-
-#include <xsm/dummy.h>
-
-#endif /* CONFIG_XSM */
-
 #endif /* __XSM_H */
diff --git a/xen/xsm/Makefile b/xen/xsm/Makefile
index cf0a728f1c..ab1fb74edc 100644
--- a/xen/xsm/Makefile
+++ b/xen/xsm/Makefile
@@ -1,6 +1,5 @@
 obj-y += xsm_core.o
-obj-$(CONFIG_XSM) += xsm_policy.o
-obj-$(CONFIG_XSM) += dummy.o
+obj-y += xsm_policy.o
 obj-$(CONFIG_XSM_SILO) += silo.o
 
 obj-$(CONFIG_XSM_FLASK) += flask/
diff --git a/xen/xsm/dummy.c b/xen/xsm/dummy.c
deleted file mode 100644
index b848580eaa..0000000000
--- a/xen/xsm/dummy.c
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- *  This work is based on the LSM implementation in Linux 2.6.13.4.
- *
- *  Author:  George Coker, <gscoker@alpha.ncsc.mil>
- *
- *  Contributors: Michael LeMay, <mdlemay@epoch.ncsc.mil>
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License version 2,
- *  as published by the Free Software Foundation.
- */
-
-#include <xsm/dummy.h>
-
-#define set_to_dummy_if_null(ops, function)                            \
-    do {                                                               \
-        if ( !ops->function )                                          \
-            ops->function = xsm_##function;                            \
-    } while (0)
-
-void __init xsm_fixup_ops (struct xsm_ops *ops)
-{
-    set_to_dummy_if_null(ops, security_domaininfo);
-    set_to_dummy_if_null(ops, domain_create);
-    set_to_dummy_if_null(ops, getdomaininfo);
-    set_to_dummy_if_null(ops, domctl_scheduler_op);
-    set_to_dummy_if_null(ops, sysctl_scheduler_op);
-    set_to_dummy_if_null(ops, set_target);
-    set_to_dummy_if_null(ops, domctl);
-    set_to_dummy_if_null(ops, sysctl);
-    set_to_dummy_if_null(ops, readconsole);
-
-    set_to_dummy_if_null(ops, evtchn_unbound);
-    set_to_dummy_if_null(ops, evtchn_interdomain);
-    set_to_dummy_if_null(ops, evtchn_close_post);
-    set_to_dummy_if_null(ops, evtchn_send);
-    set_to_dummy_if_null(ops, evtchn_status);
-    set_to_dummy_if_null(ops, evtchn_reset);
-
-    set_to_dummy_if_null(ops, grant_mapref);
-    set_to_dummy_if_null(ops, grant_unmapref);
-    set_to_dummy_if_null(ops, grant_setup);
-    set_to_dummy_if_null(ops, grant_transfer);
-    set_to_dummy_if_null(ops, grant_copy);
-    set_to_dummy_if_null(ops, grant_query_size);
-
-    set_to_dummy_if_null(ops, alloc_security_domain);
-    set_to_dummy_if_null(ops, free_security_domain);
-    set_to_dummy_if_null(ops, alloc_security_evtchns);
-    set_to_dummy_if_null(ops, free_security_evtchns);
-    set_to_dummy_if_null(ops, show_security_evtchn);
-    set_to_dummy_if_null(ops, init_hardware_domain);
-
-    set_to_dummy_if_null(ops, get_pod_target);
-    set_to_dummy_if_null(ops, set_pod_target);
-
-    set_to_dummy_if_null(ops, memory_exchange);
-    set_to_dummy_if_null(ops, memory_adjust_reservation);
-    set_to_dummy_if_null(ops, memory_stat_reservation);
-    set_to_dummy_if_null(ops, memory_pin_page);
-    set_to_dummy_if_null(ops, claim_pages);
-
-    set_to_dummy_if_null(ops, console_io);
-
-    set_to_dummy_if_null(ops, profile);
-
-    set_to_dummy_if_null(ops, kexec);
-    set_to_dummy_if_null(ops, schedop_shutdown);
-
-    set_to_dummy_if_null(ops, show_irq_sid);
-    set_to_dummy_if_null(ops, map_domain_pirq);
-    set_to_dummy_if_null(ops, map_domain_irq);
-    set_to_dummy_if_null(ops, unmap_domain_pirq);
-    set_to_dummy_if_null(ops, unmap_domain_irq);
-    set_to_dummy_if_null(ops, bind_pt_irq);
-    set_to_dummy_if_null(ops, unbind_pt_irq);
-    set_to_dummy_if_null(ops, irq_permission);
-    set_to_dummy_if_null(ops, iomem_permission);
-    set_to_dummy_if_null(ops, iomem_mapping);
-    set_to_dummy_if_null(ops, pci_config_permission);
-    set_to_dummy_if_null(ops, get_vnumainfo);
-
-#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_PCI)
-    set_to_dummy_if_null(ops, get_device_group);
-    set_to_dummy_if_null(ops, assign_device);
-    set_to_dummy_if_null(ops, deassign_device);
-#endif
-
-#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_DEVICE_TREE)
-    set_to_dummy_if_null(ops, assign_dtdevice);
-    set_to_dummy_if_null(ops, deassign_dtdevice);
-#endif
-
-    set_to_dummy_if_null(ops, resource_plug_core);
-    set_to_dummy_if_null(ops, resource_unplug_core);
-    set_to_dummy_if_null(ops, resource_plug_pci);
-    set_to_dummy_if_null(ops, resource_unplug_pci);
-    set_to_dummy_if_null(ops, resource_setup_pci);
-    set_to_dummy_if_null(ops, resource_setup_gsi);
-    set_to_dummy_if_null(ops, resource_setup_misc);
-
-    set_to_dummy_if_null(ops, page_offline);
-    set_to_dummy_if_null(ops, hypfs_op);
-    set_to_dummy_if_null(ops, hvm_param);
-    set_to_dummy_if_null(ops, hvm_control);
-    set_to_dummy_if_null(ops, hvm_param_altp2mhvm);
-    set_to_dummy_if_null(ops, hvm_altp2mhvm_op);
-
-    set_to_dummy_if_null(ops, do_xsm_op);
-#ifdef CONFIG_COMPAT
-    set_to_dummy_if_null(ops, do_compat_op);
-#endif
-
-    set_to_dummy_if_null(ops, add_to_physmap);
-    set_to_dummy_if_null(ops, remove_from_physmap);
-    set_to_dummy_if_null(ops, map_gmfn_foreign);
-
-    set_to_dummy_if_null(ops, vm_event_control);
-
-#ifdef CONFIG_MEM_ACCESS
-    set_to_dummy_if_null(ops, mem_access);
-#endif
-
-#ifdef CONFIG_MEM_PAGING
-    set_to_dummy_if_null(ops, mem_paging);
-#endif
-
-#ifdef CONFIG_MEM_SHARING
-    set_to_dummy_if_null(ops, mem_sharing);
-#endif
-
-    set_to_dummy_if_null(ops, platform_op);
-#ifdef CONFIG_X86
-    set_to_dummy_if_null(ops, do_mca);
-    set_to_dummy_if_null(ops, shadow_control);
-    set_to_dummy_if_null(ops, mem_sharing_op);
-    set_to_dummy_if_null(ops, apic);
-    set_to_dummy_if_null(ops, machine_memory_map);
-    set_to_dummy_if_null(ops, domain_memory_map);
-    set_to_dummy_if_null(ops, mmu_update);
-    set_to_dummy_if_null(ops, mmuext_op);
-    set_to_dummy_if_null(ops, update_va_mapping);
-    set_to_dummy_if_null(ops, priv_mapping);
-    set_to_dummy_if_null(ops, ioport_permission);
-    set_to_dummy_if_null(ops, ioport_mapping);
-    set_to_dummy_if_null(ops, pmu_op);
-#endif
-    set_to_dummy_if_null(ops, dm_op);
-    set_to_dummy_if_null(ops, xen_version);
-    set_to_dummy_if_null(ops, domain_resource_map);
-#ifdef CONFIG_ARGO
-    set_to_dummy_if_null(ops, argo_enable);
-    set_to_dummy_if_null(ops, argo_register_single_source);
-    set_to_dummy_if_null(ops, argo_register_any_source);
-    set_to_dummy_if_null(ops, argo_send);
-#endif
-}
diff --git a/xen/xsm/silo.c b/xen/xsm/silo.c
index 4ef40bd712..0455e1eb4b 100644
--- a/xen/xsm/silo.c
+++ b/xen/xsm/silo.c
@@ -17,6 +17,7 @@
  * 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 <xsm/xsm-core.h>
 #include <xsm/dummy.h>
 
 /*
@@ -43,7 +44,7 @@ static int silo_evtchn_unbound(struct domain *d1, struct evtchn *chn,
     else
     {
         if ( silo_mode_dom_check(d1, d2) )
-            rc = xsm_evtchn_unbound(d1, chn, id2);
+            rc = xsm_default_action(XSM_TARGET, current->domain, d1);
         rcu_unlock_domain(d2);
     }
 
@@ -54,7 +55,7 @@ static int silo_evtchn_interdomain(struct domain *d1, struct evtchn *chan1,
                                    struct domain *d2, struct evtchn *chan2)
 {
     if ( silo_mode_dom_check(d1, d2) )
-        return xsm_evtchn_interdomain(d1, chan1, d2, chan2);
+        return xsm_default_action(XSM_HOOK, d1, d2);
     return -EPERM;
 }
 
@@ -62,21 +63,21 @@ static int silo_grant_mapref(struct domain *d1, struct domain *d2,
                              uint32_t flags)
 {
     if ( silo_mode_dom_check(d1, d2) )
-        return xsm_grant_mapref(d1, d2, flags);
+        return xsm_default_action(XSM_HOOK, d1, d2);
     return -EPERM;
 }
 
 static int silo_grant_transfer(struct domain *d1, struct domain *d2)
 {
     if ( silo_mode_dom_check(d1, d2) )
-        return xsm_grant_transfer(d1, d2);
+        return xsm_default_action(XSM_HOOK, d1, d2);
     return -EPERM;
 }
 
 static int silo_grant_copy(struct domain *d1, struct domain *d2)
 {
     if ( silo_mode_dom_check(d1, d2) )
-        return xsm_grant_copy(d1, d2);
+        return xsm_default_action(XSM_HOOK, d1, d2);
     return -EPERM;
 }
 
@@ -86,14 +87,14 @@ static int silo_argo_register_single_source(const struct domain *d1,
                                             const struct domain *d2)
 {
     if ( silo_mode_dom_check(d1, d2) )
-        return xsm_argo_register_single_source(d1, d2);
+        return 0;
     return -EPERM;
 }
 
 static int silo_argo_send(const struct domain *d1, const struct domain *d2)
 {
     if ( silo_mode_dom_check(d1, d2) )
-        return xsm_argo_send(d1, d2);
+        return 0;
     return -EPERM;
 }
 
diff --git a/xen/xsm/xsm_core.c b/xen/xsm/xsm_core.c
index b5219dff78..75bd2678ef 100644
--- a/xen/xsm/xsm_core.c
+++ b/xen/xsm/xsm_core.c
@@ -18,8 +18,6 @@
 #include <xen/hypercall.h>
 #include <xsm/xsm.h>
 
-#ifdef CONFIG_XSM
-
 #ifdef CONFIG_MULTIBOOT
 #include <asm/setup.h>
 #endif
@@ -124,16 +122,12 @@ static int __init xsm_core_init(const void *policy_buffer, size_t policy_size)
         break;
     }
 
-    /*
-     * This handles three cases,
-     *   - dummy policy module was selected
-     *   - a policy module does not provide all handlers
-     *   - a policy module failed to init
-     */
-    xsm_fixup_ops(&xsm_ops);
-
-    if ( xsm_ops_registered != XSM_OPS_REGISTERED )
+    if ( xsm_ops_registered != XSM_OPS_REGISTERED ) {
         xsm_ops_registered = XSM_OPS_REG_FAILED;
+        printk(XENLOG_ERR
+               "Could not init XSM, xsm_ops register failed\n");
+        return -EFAULT;
+    }
 
     return 0;
 }
@@ -217,8 +211,6 @@ bool __init has_xsm_magic(paddr_t start)
 }
 #endif
 
-#endif
-
 long do_xsm_op (XEN_GUEST_HANDLE_PARAM(xsm_op_t) op)
 {
     return xsm_do_xsm_op(op);
-- 
2.20.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 05 14:13:49 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 14:13:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164322.300588 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBe81-0007A1-1F; Thu, 05 Aug 2021 14:13:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164322.300588; Thu, 05 Aug 2021 14:13: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 1mBe80-00079u-UY; Thu, 05 Aug 2021 14:13:44 +0000
Received: by outflank-mailman (input) for mailman id 164322;
 Thu, 05 Aug 2021 14:13:43 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dnXf=M4=infradead.org=peterz@srs-us1.protection.inumbo.net>)
 id 1mBe7z-00079o-78
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 14:13:43 +0000
Received: from casper.infradead.org (unknown [2001:8b0:10b:1236::1])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c925acb2-51ad-47f5-8bcf-7472640acf7c;
 Thu, 05 Aug 2021 14:13:37 +0000 (UTC)
Received: from j217100.upc-j.chello.nl ([24.132.217.100]
 helo=noisy.programming.kicks-ass.net)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1mBe5i-00799u-0r; Thu, 05 Aug 2021 14:11:31 +0000
Received: from hirez.programming.kicks-ass.net
 (hirez.programming.kicks-ass.net [192.168.1.225])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (Client did not present a certificate)
 by noisy.programming.kicks-ass.net (Postfix) with ESMTPS id 951B130031E;
 Thu,  5 Aug 2021 16:11:19 +0200 (CEST)
Received: by hirez.programming.kicks-ass.net (Postfix, from userid 1000)
 id 5BFD82028D0D9; Thu,  5 Aug 2021 16:11:19 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c925acb2-51ad-47f5-8bcf-7472640acf7c
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version:
	References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=jkC5BHIA+OoNY3RA1kKnhanE39KSJUyRxPOSK5PxKJ4=; b=jS9beBRN33+YE3nLhV0+juwj2m
	M21gswRLRXlj9G7nUL9+UaYZaqldUk6dYat8MK2TEtQx98o7T9VsMJPD7iRU4uGctnpwJmiAENC0S
	d5iBGtcKE/rvu2bDPFEsbbPN5g4HEVxgwrnHKLJHDx6oq4fdfON20zC1m1PYA4MystYDRR/ijf6n+
	yKP6PzPUB8C4KKMetCzyTfsQiIZX9POLtO6DG6sM1OD0l3e9s8v/Kx4GgKgISf9CHEnHVcYWRA4+Q
	LHlKUuStVn3XhYiGoHOGpKfs5vgB5qUCyiEjS8M7ODcJbCa/Q2rQchs+BwAv5uLBsAuE3F/UYuh1M
	DgYQMj1A==;
Date: Thu, 5 Aug 2021 16:11:19 +0200
From: Peter Zijlstra <peterz@infradead.org>
To: Tianyu Lan <ltykernel@gmail.com>
Cc: Dave Hansen <dave.hansen@intel.com>, kys@microsoft.com,
	haiyangz@microsoft.com, sthemmin@microsoft.com, wei.liu@kernel.org,
	decui@microsoft.com, tglx@linutronix.de, mingo@redhat.com,
	bp@alien8.de, x86@kernel.org, hpa@zytor.com,
	dave.hansen@linux.intel.com, luto@kernel.org,
	konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, jgross@suse.com,
	sstabellini@kernel.org, joro@8bytes.org, will@kernel.org,
	davem@davemloft.net, kuba@kernel.org, jejb@linux.ibm.com,
	martin.petersen@oracle.com, arnd@arndb.de, hch@lst.de,
	m.szyprowski@samsung.com, robin.murphy@arm.com,
	Tianyu.Lan@microsoft.com, rppt@kernel.org,
	kirill.shutemov@linux.intel.com, akpm@linux-foundation.org,
	brijesh.singh@amd.com, thomas.lendacky@amd.com, pgonda@google.com,
	david@redhat.com, krish.sadhukhan@oracle.com, saravanand@fb.com,
	aneesh.kumar@linux.ibm.com, xen-devel@lists.xenproject.org,
	martin.b.radev@gmail.com, ardb@kernel.org, rientjes@google.com,
	tj@kernel.org, keescook@chromium.org,
	michael.h.kelley@microsoft.com, iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org, linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org, vkuznets@redhat.com, parri.andrea@gmail.com
Subject: Re: [PATCH V2 03/14] x86/set_memory: Add x86_set_memory_enc static
 call support
Message-ID: <YQvxhyn5O1POQTF/@hirez.programming.kicks-ass.net>
References: <20210804184513.512888-1-ltykernel@gmail.com>
 <20210804184513.512888-4-ltykernel@gmail.com>
 <5823af8a-7dbb-dbb0-5ea2-d9846aa2a36a@intel.com>
 <942e6fcb-3bdf-9294-d3db-ca311db440d3@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <942e6fcb-3bdf-9294-d3db-ca311db440d3@gmail.com>

On Thu, Aug 05, 2021 at 10:05:17PM +0800, Tianyu Lan wrote:
> +static int default_set_memory_enc(unsigned long addr, int numpages, bool
> enc)
> +{
> +	return 0;
> +}
> +
> +DEFINE_STATIC_CALL(x86_set_memory_enc, default_set_memory_enc);

That's spelled:

DEFINE_STATIC_CALL_RET0(x86_set_memory_enc, __set_memory_enc_dec);

And then you can remove the default_set_memory_enc() thing.


From xen-devel-bounces@lists.xenproject.org Thu Aug 05 14:24:36 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 14:24:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164331.300601 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBeIQ-0000AF-3V; Thu, 05 Aug 2021 14:24:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164331.300601; Thu, 05 Aug 2021 14:24:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBeIP-0000A2-Uj; Thu, 05 Aug 2021 14:24:29 +0000
Received: by outflank-mailman (input) for mailman id 164331;
 Thu, 05 Aug 2021 14:24:28 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dnXf=M4=infradead.org=peterz@srs-us1.protection.inumbo.net>)
 id 1mBeIN-00009s-9a
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 14:24:28 +0000
Received: from desiato.infradead.org (unknown
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 05273d70-309d-4f59-9781-2f8bbd0aeec3;
 Thu, 05 Aug 2021 14:24:21 +0000 (UTC)
Received: from j217100.upc-j.chello.nl ([24.132.217.100]
 helo=noisy.programming.kicks-ass.net)
 by desiato.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1mBeHe-0064f4-Gt; Thu, 05 Aug 2021 14:23:42 +0000
Received: from hirez.programming.kicks-ass.net
 (hirez.programming.kicks-ass.net [192.168.1.225])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (Client did not present a certificate)
 by noisy.programming.kicks-ass.net (Postfix) with ESMTPS id 3B62C30027B;
 Thu,  5 Aug 2021 16:23:41 +0200 (CEST)
Received: by hirez.programming.kicks-ass.net (Postfix, from userid 1000)
 id 1E329201DCD23; Thu,  5 Aug 2021 16:23: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: 05273d70-309d-4f59-9781-2f8bbd0aeec3
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=In-Reply-To:Content-Type:MIME-Version:
	References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=zMcKhJ07Z0yEyEv/MZ8pR7li72ad4G0VC4wqCeDkbDY=; b=Q8Gt1gPN7F9SkQKtk66lR0Nvuh
	J+bQdo/XSF0T67gISx6Vc66q4fTo+FTFXUMBRhgaIYcCdf4qsGlh0/mWJ+py9vssB/RciYSkt7LqL
	D0cqTwAYfbBkgMf2ypNTXXW2W20qbJJiGowvi4sZXl3BoY2qT/+k7Nng8ZQfv0ypsUQI4WocLRzCG
	u80NaVh0JtgNowR5InuyXmnurSDKaZAz/gxT14CsI+ZrymZR8Osz9v++VxUgQS1ig9yJ1gWeOnHdN
	4FgEGzlqGLrJBOnGChRGgnAbrCvPvgpl8CZ89abXFTd7+wD4SGh2nZ+kuynsPyLw62j/Wl+j9erZJ
	uCRxZNTA==;
Date: Thu, 5 Aug 2021 16:23:41 +0200
From: Peter Zijlstra <peterz@infradead.org>
To: Tianyu Lan <ltykernel@gmail.com>
Cc: Dave Hansen <dave.hansen@intel.com>, kys@microsoft.com,
	haiyangz@microsoft.com, sthemmin@microsoft.com, wei.liu@kernel.org,
	decui@microsoft.com, tglx@linutronix.de, mingo@redhat.com,
	bp@alien8.de, x86@kernel.org, hpa@zytor.com,
	dave.hansen@linux.intel.com, luto@kernel.org,
	konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, jgross@suse.com,
	sstabellini@kernel.org, joro@8bytes.org, will@kernel.org,
	davem@davemloft.net, kuba@kernel.org, jejb@linux.ibm.com,
	martin.petersen@oracle.com, arnd@arndb.de, hch@lst.de,
	m.szyprowski@samsung.com, robin.murphy@arm.com,
	Tianyu.Lan@microsoft.com, rppt@kernel.org,
	kirill.shutemov@linux.intel.com, akpm@linux-foundation.org,
	brijesh.singh@amd.com, thomas.lendacky@amd.com, pgonda@google.com,
	david@redhat.com, krish.sadhukhan@oracle.com, saravanand@fb.com,
	aneesh.kumar@linux.ibm.com, xen-devel@lists.xenproject.org,
	martin.b.radev@gmail.com, ardb@kernel.org, rientjes@google.com,
	tj@kernel.org, keescook@chromium.org,
	michael.h.kelley@microsoft.com, iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org, linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org, vkuznets@redhat.com, parri.andrea@gmail.com
Subject: Re: [PATCH V2 03/14] x86/set_memory: Add x86_set_memory_enc static
 call support
Message-ID: <YQv0bRBUq1N5+jgG@hirez.programming.kicks-ass.net>
References: <20210804184513.512888-1-ltykernel@gmail.com>
 <20210804184513.512888-4-ltykernel@gmail.com>
 <5823af8a-7dbb-dbb0-5ea2-d9846aa2a36a@intel.com>
 <942e6fcb-3bdf-9294-d3db-ca311db440d3@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <942e6fcb-3bdf-9294-d3db-ca311db440d3@gmail.com>

On Thu, Aug 05, 2021 at 10:05:17PM +0800, Tianyu Lan wrote:
>  static int __set_memory_enc_dec(unsigned long addr, int numpages, bool enc)
>  {
> +	return static_call(x86_set_memory_enc)(addr, numpages, enc);
>  }

Hurpmh... So with a bit of 'luck' you get code-gen like:

__set_memory_enc_dec:
	jmp __SCT_x86_set_memory_enc;

set_memory_encrypted:
	mov $1, %rdx
	jmp __set_memory_enc_dec

set_memory_decrypted:
	mov $0, %rdx
	jmp __set_memory_enc_dec


Which, to me, seems exceedingly daft. Best to make all 3 of those
inlines and use EXPORT_STATIC_CALL_TRAMP_GPL(x86_set_memory_enc) or
something.

This is assuming any of this is actually performance critical, based off
of this using static_call() to begin with.


From xen-devel-bounces@lists.xenproject.org Thu Aug 05 14:29:44 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 14:29:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164353.300631 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBeNN-0001oG-2x; Thu, 05 Aug 2021 14:29:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164353.300631; Thu, 05 Aug 2021 14:29:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBeNM-0001o9-Ve; Thu, 05 Aug 2021 14:29:36 +0000
Received: by outflank-mailman (input) for mailman id 164353;
 Thu, 05 Aug 2021 14:29:35 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=arVu=M4=intel.com=dave.hansen@srs-us1.protection.inumbo.net>)
 id 1mBeNL-0001nv-Nu
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 14:29:35 +0000
Received: from mga05.intel.com (unknown [192.55.52.43])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 8d4f1f40-f5f9-11eb-9c17-12813bfff9fa;
 Thu, 05 Aug 2021 14:29:33 +0000 (UTC)
Received: from fmsmga007.fm.intel.com ([10.253.24.52])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 05 Aug 2021 07:29:32 -0700
Received: from apeddoll-mobl1.amr.corp.intel.com (HELO [10.209.20.48])
 ([10.209.20.48])
 by fmsmga007-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 05 Aug 2021 07:29:30 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8d4f1f40-f5f9-11eb-9c17-12813bfff9fa
X-IronPort-AV: E=McAfee;i="6200,9189,10067"; a="299752030"
X-IronPort-AV: E=Sophos;i="5.84,296,1620716400"; 
   d="scan'208";a="299752030"
X-IronPort-AV: E=Sophos;i="5.84,296,1620716400"; 
   d="scan'208";a="442448718"
Subject: Re: [PATCH V2 03/14] x86/set_memory: Add x86_set_memory_enc static
 call support
To: Peter Zijlstra <peterz@infradead.org>, Tianyu Lan <ltykernel@gmail.com>
Cc: kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com,
 wei.liu@kernel.org, decui@microsoft.com, tglx@linutronix.de,
 mingo@redhat.com, bp@alien8.de, x86@kernel.org, hpa@zytor.com,
 dave.hansen@linux.intel.com, luto@kernel.org, konrad.wilk@oracle.com,
 boris.ostrovsky@oracle.com, jgross@suse.com, sstabellini@kernel.org,
 joro@8bytes.org, will@kernel.org, davem@davemloft.net, kuba@kernel.org,
 jejb@linux.ibm.com, martin.petersen@oracle.com, arnd@arndb.de, hch@lst.de,
 m.szyprowski@samsung.com, robin.murphy@arm.com, Tianyu.Lan@microsoft.com,
 rppt@kernel.org, kirill.shutemov@linux.intel.com, akpm@linux-foundation.org,
 brijesh.singh@amd.com, thomas.lendacky@amd.com, pgonda@google.com,
 david@redhat.com, krish.sadhukhan@oracle.com, saravanand@fb.com,
 aneesh.kumar@linux.ibm.com, xen-devel@lists.xenproject.org,
 martin.b.radev@gmail.com, ardb@kernel.org, rientjes@google.com,
 tj@kernel.org, keescook@chromium.org, michael.h.kelley@microsoft.com,
 iommu@lists.linux-foundation.org, linux-arch@vger.kernel.org,
 linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
 linux-scsi@vger.kernel.org, netdev@vger.kernel.org, vkuznets@redhat.com,
 parri.andrea@gmail.com
References: <20210804184513.512888-1-ltykernel@gmail.com>
 <20210804184513.512888-4-ltykernel@gmail.com>
 <5823af8a-7dbb-dbb0-5ea2-d9846aa2a36a@intel.com>
 <942e6fcb-3bdf-9294-d3db-ca311db440d3@gmail.com>
 <YQv0bRBUq1N5+jgG@hirez.programming.kicks-ass.net>
From: Dave Hansen <dave.hansen@intel.com>
Autocrypt: addr=dave.hansen@intel.com; keydata=
 xsFNBE6HMP0BEADIMA3XYkQfF3dwHlj58Yjsc4E5y5G67cfbt8dvaUq2fx1lR0K9h1bOI6fC
 oAiUXvGAOxPDsB/P6UEOISPpLl5IuYsSwAeZGkdQ5g6m1xq7AlDJQZddhr/1DC/nMVa/2BoY
 2UnKuZuSBu7lgOE193+7Uks3416N2hTkyKUSNkduyoZ9F5twiBhxPJwPtn/wnch6n5RsoXsb
 ygOEDxLEsSk/7eyFycjE+btUtAWZtx+HseyaGfqkZK0Z9bT1lsaHecmB203xShwCPT49Blxz
 VOab8668QpaEOdLGhtvrVYVK7x4skyT3nGWcgDCl5/Vp3TWA4K+IofwvXzX2ON/Mj7aQwf5W
 iC+3nWC7q0uxKwwsddJ0Nu+dpA/UORQWa1NiAftEoSpk5+nUUi0WE+5DRm0H+TXKBWMGNCFn
 c6+EKg5zQaa8KqymHcOrSXNPmzJuXvDQ8uj2J8XuzCZfK4uy1+YdIr0yyEMI7mdh4KX50LO1
 pmowEqDh7dLShTOif/7UtQYrzYq9cPnjU2ZW4qd5Qz2joSGTG9eCXLz5PRe5SqHxv6ljk8mb
 ApNuY7bOXO/A7T2j5RwXIlcmssqIjBcxsRRoIbpCwWWGjkYjzYCjgsNFL6rt4OL11OUF37wL
 QcTl7fbCGv53KfKPdYD5hcbguLKi/aCccJK18ZwNjFhqr4MliQARAQABzShEYXZpZCBDaHJp
 c3RvcGhlciBIYW5zZW4gPGRhdmVAc3I3MS5uZXQ+wsF7BBMBAgAlAhsDBgsJCAcDAgYVCAIJ
 CgsEFgIDAQIeAQIXgAUCTo3k0QIZAQAKCRBoNZUwcMmSsMO2D/421Xg8pimb9mPzM5N7khT0
 2MCnaGssU1T59YPE25kYdx2HntwdO0JA27Wn9xx5zYijOe6B21ufrvsyv42auCO85+oFJWfE
 K2R/IpLle09GDx5tcEmMAHX6KSxpHmGuJmUPibHVbfep2aCh9lKaDqQR07gXXWK5/yU1Dx0r
 VVFRaHTasp9fZ9AmY4K9/BSA3VkQ8v3OrxNty3OdsrmTTzO91YszpdbjjEFZK53zXy6tUD2d
 e1i0kBBS6NLAAsqEtneplz88T/v7MpLmpY30N9gQU3QyRC50jJ7LU9RazMjUQY1WohVsR56d
 ORqFxS8ChhyJs7BI34vQusYHDTp6PnZHUppb9WIzjeWlC7Jc8lSBDlEWodmqQQgp5+6AfhTD
 kDv1a+W5+ncq+Uo63WHRiCPuyt4di4/0zo28RVcjtzlGBZtmz2EIC3vUfmoZbO/Gn6EKbYAn
 rzz3iU/JWV8DwQ+sZSGu0HmvYMt6t5SmqWQo/hyHtA7uF5Wxtu1lCgolSQw4t49ZuOyOnQi5
 f8R3nE7lpVCSF1TT+h8kMvFPv3VG7KunyjHr3sEptYxQs4VRxqeirSuyBv1TyxT+LdTm6j4a
 mulOWf+YtFRAgIYyyN5YOepDEBv4LUM8Tz98lZiNMlFyRMNrsLV6Pv6SxhrMxbT6TNVS5D+6
 UorTLotDZKp5+M7BTQRUY85qARAAsgMW71BIXRgxjYNCYQ3Xs8k3TfAvQRbHccky50h99TUY
 sqdULbsb3KhmY29raw1bgmyM0a4DGS1YKN7qazCDsdQlxIJp9t2YYdBKXVRzPCCsfWe1dK/q
 66UVhRPP8EGZ4CmFYuPTxqGY+dGRInxCeap/xzbKdvmPm01Iw3YFjAE4PQ4hTMr/H76KoDbD
 cq62U50oKC83ca/PRRh2QqEqACvIH4BR7jueAZSPEDnzwxvVgzyeuhwqHY05QRK/wsKuhq7s
 UuYtmN92Fasbxbw2tbVLZfoidklikvZAmotg0dwcFTjSRGEg0Gr3p/xBzJWNavFZZ95Rj7Et
 db0lCt0HDSY5q4GMR+SrFbH+jzUY/ZqfGdZCBqo0cdPPp58krVgtIGR+ja2Mkva6ah94/oQN
 lnCOw3udS+Eb/aRcM6detZr7XOngvxsWolBrhwTQFT9D2NH6ryAuvKd6yyAFt3/e7r+HHtkU
 kOy27D7IpjngqP+b4EumELI/NxPgIqT69PQmo9IZaI/oRaKorYnDaZrMXViqDrFdD37XELwQ
 gmLoSm2VfbOYY7fap/AhPOgOYOSqg3/Nxcapv71yoBzRRxOc4FxmZ65mn+q3rEM27yRztBW9
 AnCKIc66T2i92HqXCw6AgoBJRjBkI3QnEkPgohQkZdAb8o9WGVKpfmZKbYBo4pEAEQEAAcLB
 XwQYAQIACQUCVGPOagIbDAAKCRBoNZUwcMmSsJeCEACCh7P/aaOLKWQxcnw47p4phIVR6pVL
 e4IEdR7Jf7ZL00s3vKSNT+nRqdl1ugJx9Ymsp8kXKMk9GSfmZpuMQB9c6io1qZc6nW/3TtvK
 pNGz7KPPtaDzvKA4S5tfrWPnDr7n15AU5vsIZvgMjU42gkbemkjJwP0B1RkifIK60yQqAAlT
 YZ14P0dIPdIPIlfEPiAWcg5BtLQU4Wg3cNQdpWrCJ1E3m/RIlXy/2Y3YOVVohfSy+4kvvYU3
 lXUdPb04UPw4VWwjcVZPg7cgR7Izion61bGHqVqURgSALt2yvHl7cr68NYoFkzbNsGsye9ft
 M9ozM23JSgMkRylPSXTeh5JIK9pz2+etco3AfLCKtaRVysjvpysukmWMTrx8QnI5Nn5MOlJj
 1Ov4/50JY9pXzgIDVSrgy6LYSMc4vKZ3QfCY7ipLRORyalFDF3j5AGCMRENJjHPD6O7bl3Xo
 4DzMID+8eucbXxKiNEbs21IqBZbbKdY1GkcEGTE7AnkA3Y6YB7I/j9mQ3hCgm5muJuhM/2Fr
 OPsw5tV/LmQ5GXH0JQ/TZXWygyRFyyI2FqNTx4WHqUn3yFj8rwTAU1tluRUYyeLy0ayUlKBH
 ybj0N71vWO936MqP6haFERzuPAIpxj2ezwu0xb1GjTk4ynna6h5GjnKgdfOWoRtoWndMZxbA
 z5cecg==
Message-ID: <fa63e6ad-9536-d5e9-d754-fa04fad69252@intel.com>
Date: Thu, 5 Aug 2021 07:29:28 -0700
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.10.0
MIME-Version: 1.0
In-Reply-To: <YQv0bRBUq1N5+jgG@hirez.programming.kicks-ass.net>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 8bit

On 8/5/21 7:23 AM, Peter Zijlstra wrote:
> This is assuming any of this is actually performance critical, based off
> of this using static_call() to begin with.

This code is not performance critical.

I think I sent folks off on a wild goose chase when I asked that we make
an effort to optimize code that does:

	if (some_hyperv_check())
		foo();

	if (some_amd_feature_check())
		bar();

with checks that will actually compile away when Hyper-V or
some_amd_feature() is disabled.  That's less about performance and just
about good hygiene.  I *wanted* to see
cpu_feature_enabled(X86_FEATURE...) checks.

Someone suggested using static calls, and off we went...

Could we please just use cpu_feature_enabled()?


From xen-devel-bounces@lists.xenproject.org Thu Aug 05 14:33:53 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 14:33:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164367.300642 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBeRU-0003Fc-KR; Thu, 05 Aug 2021 14:33:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164367.300642; Thu, 05 Aug 2021 14: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 1mBeRU-0003FV-Gr; Thu, 05 Aug 2021 14:33:52 +0000
Received: by outflank-mailman (input) for mailman id 164367;
 Thu, 05 Aug 2021 14:33: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 1mBeRT-0003FL-Lk; Thu, 05 Aug 2021 14:33: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 1mBeRT-0006F5-3z; Thu, 05 Aug 2021 14:33: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 1mBeRS-0003Rm-Ox; Thu, 05 Aug 2021 14:33:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mBeRS-0004uT-OX; Thu, 05 Aug 2021 14:33:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=La6r541Bepn1ljQSlFYXLhdM5/+MUE9zNrx9G3z2ikA=; b=S9gIipdGPWvidX8i4r6iCWfHvl
	Ttsl3p/c3itY1N582nrU5fi7/kF85EhncpJfkZH767g6ZwgjXn2yXlXYmA7STtL95BieaKY/la0zP
	p4VtXvFNJY/NYSr7dDXMhHc0vQFuesyzbVi3D45CQ0fTCY2raGu6prN156gHqPIZw6b8=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164109-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164109: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=251a1524293d0a90c4d5060f65f42a3016280049
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 05 Aug 2021 14:33:50 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx  8 xen-boot                 fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop              fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 20 guest-stop               fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  13 debian-fixup             fail REGR. vs. 152332

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

version targeted for testing:
 linux                251a1524293d0a90c4d5060f65f42a3016280049
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  369 days
Failing since        152366  2020-08-01 20:49:34 Z  368 days  641 attempts
Testing same since   164109  2021-08-05 05:24:57 Z    0 days    1 attempts

------------------------------------------------------------
6754 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Thu Aug 05 14:52:54 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 14:52:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164378.300658 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBeji-0005ZD-Cg; Thu, 05 Aug 2021 14:52:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164378.300658; Thu, 05 Aug 2021 14:52:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBeji-0005Z6-9P; Thu, 05 Aug 2021 14:52:42 +0000
Received: by outflank-mailman (input) for mailman id 164378;
 Thu, 05 Aug 2021 14:52:40 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NEHI=M4=gmail.com=olekstysh@srs-us1.protection.inumbo.net>)
 id 1mBejg-0005Z0-A3
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 14:52:40 +0000
Received: from mail-lf1-x129.google.com (unknown [2a00:1450:4864:20::129])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 227a63f6-441a-4712-94cc-7f7637200a0c;
 Thu, 05 Aug 2021 14:52:38 +0000 (UTC)
Received: by mail-lf1-x129.google.com with SMTP id c16so11678640lfc.2
 for <xen-devel@lists.xenproject.org>; Thu, 05 Aug 2021 07:52:38 -0700 (PDT)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id o11sm419049ljg.29.2021.08.05.07.52.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Aug 2021 07:52: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: 227a63f6-441a-4712-94cc-7f7637200a0c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-transfer-encoding:content-language;
        bh=VQeYmU1R4NiEv+Bi/6EGfhzbkdkljiCF/SkB4GfI47I=;
        b=MWif2ToeR33t1Vtieb9KQCNmOLZpV/WdgfF7kSrBLpx4x16NDDyLOt5vCuNqU0iS3R
         MglaPG/V+6y6ZSLGvMmV1agzG5wec17qWEqjz64NPwYI12H3eCeSVkgCYHoxKh8PrnJU
         CqPsms376z1w/yCdC/4Fg03HcUxXkz65U8OTzJi2gJ/blB5Y5wqUXQ8YgczKeZBRe3T4
         hLmBDRHKXXUw/ZSmdxfSc8VV/R1QU2iXWCrKRA5d2rUELEu0n+FKUr9cgSUsvNtDWwYO
         64cpjr/bFamC+mt4b7OHihjaTfkCbAETCstkpuwlYbyPu9bXJ/DJfBQRS0MEZu++ASyI
         gVtQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-transfer-encoding
         :content-language;
        bh=VQeYmU1R4NiEv+Bi/6EGfhzbkdkljiCF/SkB4GfI47I=;
        b=Kqhw/dLBWDPUnKrkIFr7crjkS/N//dDgPVva3x5DuSiQJAmsCsOoiQAaL83BoDi7IK
         RGTVkGuLTcQ8TGIh9u7VgwABGtOoNMfOAtFPPyCABG+HakcFV34NtLnvh6I4IhxfczfM
         i86biabImNARVHTYR6ILYUNwRyY4gr/UYw0e/ikcbsmbuGL03D95FJuh2JWWNcx4Vn1Q
         9U0Jq841o6bqQMXW2jv0KAlSTp6riMtCk53c6Dk3hU1NoxIwiTebtaszuQ9apk0YKFDE
         Yc4o5vchwrPf6ZSUihLNn11kDvzzGRFxbiOv2tKhS/F7oKSPZiF/lfbxwyzd9L3zalEW
         cDgA==
X-Gm-Message-State: AOAM5327uzqfTLL02j7u6mJjgQlXguQSAzuFBpRg6o2DfGB7x//CEk6q
	ZrGOOo6/MGWxJbvp+QWT7MM=
X-Google-Smtp-Source: ABdhPJzGhi8oSmXpizn8le35Gulosx4Lxv5kgn6vfksQqQslLpIEHTTQL9vzv/q4XRyq+6qN4Qz5XA==
X-Received: by 2002:ac2:58f0:: with SMTP id v16mr4038192lfo.149.1628175156939;
        Thu, 05 Aug 2021 07:52:36 -0700 (PDT)
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
To: Julien Grall <julien@xen.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <80fafc01-f063-d6e5-1c08-7ad64550310c@citrix.com>
 <e8db3021-78a5-e040-a70b-62ca5b500149@xen.org>
 <4de5ed21-379e-b618-44c8-924d88b1a519@citrix.com>
 <bbc7f597-5249-20a0-cac9-13f594268299@xen.org>
 <6a633f4e-13e0-4a2b-cf6e-35ef90ae977c@gmail.com>
 <alpine.DEB.2.21.2107301630510.10122@sstabellini-ThinkPad-T480s>
 <f6b2e6c6-bf58-960f-4a09-f05ebcf1f566@gmail.com>
 <5643d414-0b76-74a4-2c37-c7a99338d547@gmail.com>
 <c83378af-4d3b-9256-0e0d-f88c43c6de2f@xen.org>
From: Oleksandr <olekstysh@gmail.com>
Message-ID: <775a2c0b-fbcc-db6d-c2a1-4ad350448c92@gmail.com>
Date: Thu, 5 Aug 2021 17:52:35 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.10.0
MIME-Version: 1.0
In-Reply-To: <c83378af-4d3b-9256-0e0d-f88c43c6de2f@xen.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US


On 05.08.21 01:00, Julien Grall wrote:
>
>
> On 04/08/2021 21:56, Oleksandr wrote:
>>
>> Hi Julien, Stefano.
>
> Hi Oleksandr,


Hi, Julien


Thank you for the prompt reply and explanations.


>
>>
>> On 02.08.21 22:12, Oleksandr wrote:
>> I have done some experiments with Xen and toolstack according to the 
>> discussion above. So, I re-used DTB to pass a safe range to the 
>> domain. For the range I borrowed some space from the second RAM bank.
>>
>> -#define GUEST_RAM1_BASE   xen_mk_ullong(0x0200000000) /* 1016GB of 
>> RAM @ 8GB */
>> -#define GUEST_RAM1_SIZE   xen_mk_ullong(0xfe00000000)
>> +#define GUEST_RAM1_BASE   xen_mk_ullong(0x0200000000) /* 888GB of 
>> RAM @ 8GB */
>> +#define GUEST_RAM1_SIZE   xen_mk_ullong(0xDE00000000)
>> +
>
> I am a bit split with reducing the amount of RAM. On one hand large 
> guest is not unheard on the server side (at least in the x86 world). 
> On the other hand, I am not aware of anyone using Xen on Arm in such 
> setup.
>
> So technically this will be a regression, but it may be OK.

I got it.


>
>
> Regarding the range, this will be a problem as Xen configure the 
> number of the IPA bits based on the PA bits. The lowest possible 
> address space ize on 64-bit is 4GB.
>
> From my understanding, this is because the number of IPA bits 
> supported is contrained by the PA bits. So the position and the size 
> of the region
> would need to depend on the P2M configuration.

Indeed, I missed these bits that IPA bits on Arm64 might be < 40 bit, I 
remember, we select p2m_ipa_bits in setup_virt_paging() depending on 
pabits, moreover the p2m_ipa_bits might be even restricted by some 
external entity (IOMMU, if P2M is shared).


>
> For simplicity, this could be the last few X bytes of the supported 
> address space.
ok, agree. To summarize, so it sounds like we can't use the fixed safe 
range as in my example, it must be variable. Well, I hope, we will be 
able to achieve this without reducing the total amount of domain RAM in 
front (GUEST_RAM1_SIZE). After all, we know the IPA size and the domain 
RAM in advance, so we certainly can choose the start and size of the 
range. In case, we won't be able to find a suitable large chunk (for 
example, when IPA bits = 32, and domain has a lot of RAM assigned and as 
the result - almost all address space below 4GB is in use), we won't 
expose a safe range to a domain at all, and domain will just fall back 
to use real pages instead (actually, how it currently behaves on Arm).

A side note: we would likely need the toolstack (that generates 
device-tree for guests) to query IPA size, or similar.


>
>
> For 32-bit domain, we also need to make sure the address is usable for 
> domain short page tables (not too long ago Debian was shipping the 
> kernel with them rather than LPAE). I haven't yet checked what's the 
> limit here.

Hmm, I didn't take this use-case into the account. So, I assume we need 
the safe range to be located below 4GB if is_32bit_domain() returns true.


>
>
>> +#define GUEST_SAFE_RANGE_BASE xen_mk_ullong(0xDE00000000) /* 128GB */
>> +#define GUEST_SAFE_RANGE_SIZE   xen_mk_ullong(0x0200000000)
>>
>> While the possible new DT bindings has not been agreed yet, I re-used 
>> existing "reg" property under the hypervisor node to pass safe range 
>> as a second region,
>> https://elixir.bootlin.com/linux/v5.14-rc4/source/Documentation/devicetree/bindings/arm/xen.txt#L10: 
>
>
> So a single region works for a guest today, but for dom0 we will need 
> multiple regions because it is may be difficult to find enough 
> contiguous space for a single region.
>
> That said, as dom0 is mapped 1:1 (including some guest mapping), there 
> is also the question where to allocate the safe region. For grant 
> table, we so far re-use the Xen address space because it is assumed it 
> will space will always be bigger than the grant table.

Oh, I see. Indeed, it is unclear at the moment. Agree, the possibility 
to provide multiple ranges should be envisaged.


>
>
> I am not sure yet where we could allocate the safe regions. Stefano, 
> do you have any ideas?
>
>>
>>
>>
>> --- a/tools/libs/light/libxl_arm.c
>> +++ b/tools/libs/light/libxl_arm.c
>> @@ -735,9 +735,11 @@ static int make_hypervisor_node(libxl__gc *gc, 
>> void *fdt,
>>                                 "xen,xen");
>>       if (res) return res;
>>
>> -    /* reg 0 is grant table space */milat
>> +    /* reg 0 is grant table space, reg 1 is safe range */
>>       res = fdt_property_regs(gc, fdt, GUEST_ROOT_ADDRESS_CELLS, 
>> GUEST_ROOT_SIZE_CELLS,
>> -                            1,GUEST_GNTTAB_BASE, GUEST_GNTTAB_SIZE);
>> +                            2,
>> +                            GUEST_GNTTAB_BASE, GUEST_GNTTAB_SIZE,
>> +                            GUEST_SAFE_RANGE_BASE, 
>> GUEST_SAFE_RANGE_SIZE);
>>       if (res) return res;
>>
>>       /*
>>
>>
>> /* Resulting hypervisor node */
>>
>>   hypervisor {
>>                  interrupts = <0x01 0x0f 0xf08>;
>>                  interrupt-parent = <0xfde8>;
>>                  compatible = "xen,xen-4.16\0xen,xen";
>>                  reg = <0x00 0x38000000 0x00 0x1000000 0xde 0x00 0x02 
>> 0x00>;
>>   };
>>
>>
>> Near the same I did for the Xen itself to insert a range for Dom0. 
>> The Linux side change is just to retrieve a range from DTB instead of 
>> issuing a hypercall.
>>
>> Sorry, I might miss some important bits here, but from what I wrote 
>> about the "reg" purpose, it seems it could be suitable for us, why 
>> actually not? Why do we need yet another binding?
>> I noticed, Linux on Arm doesn't use it at all, probably it is used by 
>> other OSes, I don't know.
>
> Linux used the range until 4.7. This was dropped by commit 
> 3cf4095d7446efde28b48c26050b9db6f0bcb004 so the same code can be used 
> by ACPI and DT. However, looking at this now, I think this was a bad 
> decision because it means we are shattering superpages.

Yes, the another benefit of this enabling work (besides avoid wasting 
real domain pages) would be avoid shattering superpages, and as the 
result the I/O performance for the DMA devices behind the IOMMU would be 
slightly better, I hope.


>
>
> So ideally we should switch back the region to use the safe address 
> space once this is in place.

Yes.


>
>
>>
>> Now, I am wondering, would it be possible to update/clarify the 
>> current "reg" purpose and use it to pass a safe unallocated space for 
>> any Xen specific mappings (grant, foreign, whatever) instead of just 
>> for the grant table region. In case, it is not allowed for any reason 
>> (compatibility PoV, etc), would it be possible to extend a property 
>> by passing an extra range separately, something similar to how I 
>> described above?
>
> I think it should be fine to re-use the same region so long the size 
> of the first bank is at least the size of the original region.

ok


>
> I also think we should be able to add extra regions as OSes are 
> unlikely to enforce that the "reg" contains a single region.
>
> That said, we need to be careful about new guests as the region may be 
> quite small on older Xen. 

Agree.


> So we would need some heuristic to decide whether to stole some RAM or 
> use the safe space.
> Another possibility would be to add a new compatible in the DT that 
> indicates the region is "big" enough.
I like the last idea, did you perhaps mean new property (optional) 
rather than new compatible? Let's say "xen, safe-range" or "xen, 
extended-regions"  ...
That sign would suggest us how to operate: either pick up safe range(s) 
or behave as usual (stole real pages) as existing region is indeed small 
- 16MB (if I am not mistaken), this would work with old and new Xen.


>
>
> Cheers,
>
-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Thu Aug 05 14:57:40 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 14:57:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164387.300669 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBeoU-0006Eg-W1; Thu, 05 Aug 2021 14:57:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164387.300669; Thu, 05 Aug 2021 14:57:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBeoU-0006EZ-Sd; Thu, 05 Aug 2021 14:57:38 +0000
Received: by outflank-mailman (input) for mailman id 164387;
 Thu, 05 Aug 2021 14:57:38 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=z8be=M4=gmail.com=jandryuk@srs-us1.protection.inumbo.net>)
 id 1mBeoU-0006ET-EH
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 14:57:38 +0000
Received: from mail-lf1-x12d.google.com (unknown [2a00:1450:4864:20::12d])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 168205b1-c366-4698-9970-1bc9f7c3dd7b;
 Thu, 05 Aug 2021 14:57:37 +0000 (UTC)
Received: by mail-lf1-x12d.google.com with SMTP id x8so11720201lfe.3
 for <xen-devel@lists.xenproject.org>; Thu, 05 Aug 2021 07:57:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 168205b1-c366-4698-9970-1bc9f7c3dd7b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc;
        bh=XdhcJBdbnjTbb6dPz8nmpWDYDMR4VQL5Pi8Ects9fzY=;
        b=rZzFeb0IYfD3r3/VPGVh6RZTRiygDhX8oj/XnGZ0F/cZ0wSZ1gOwYndVtqUDwiUWvj
         hMH1W259uqNPyL8/kZa6Ev3cx8ble5zRr66mx2/L7AhN/YD8xoefoGAnR7QTTzxtG598
         nNXeqP4mnMcCSpwp6ALUtA9pdw9OL4MxvzwTXMufxWUuDvj96d6sKmRebKz3NtLibWc+
         ixCMuAInYoYfEY6WkdqZdDEk0dWrC9PwiY6Ujqw+6aCnFAWr9B/YUf049H+ucptj6x4Y
         TJqD61zMw5wGy8sE5p/1eZXjdmSi4/LfDLhzMsOManukyMe+ug7wvbf9PPJI7TkBBRjf
         vGLw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=XdhcJBdbnjTbb6dPz8nmpWDYDMR4VQL5Pi8Ects9fzY=;
        b=lVtzvBOI0STfg+wBRGFz26F4fFaehxi1DnRzYoBScahke+KtN+E1xWPIHS9/9ovXqF
         vt+Bab60FQ6Gojn/BrJ7R5xr2LfeZEbwsq6YYlCxx35yCsGxfmjB/7FMXBdiJtY/0CcO
         ewsD2ASYzz0uT76nkoj7R6AKOCTtnLs1jJRtCJWFZ83dE3GjxkE+RARFSoSzN7Xht9Bs
         16hslQzztjYvwxWIvzvkbIYRqesg34r7T4bHfmup+AfuFObPSjAwph1Pu5do/odYoyrw
         jSHxyhUTwwnWrQ9ak5wDOSz3Srs4Dl1Kmjg/secJwu8BPPbXS0Pfs9/EcRNybQqgAG3B
         uX8Q==
X-Gm-Message-State: AOAM53277CW/jl3JVu57+UMI43MgrIWL7VooMjTCPvIH0qcRJW+wRhbn
	lkonI9fmokJ9ROaLPR1XvAMuQkVzgKd99zBWLLA=
X-Google-Smtp-Source: ABdhPJwxTluVKo7z4MS9J1WWc9Yu7vP9pogOfJ5ws5KtzjiLWrXG/DZpOh/po+Fihy47Gf/8/5uTQwxMPP2gLNqtDIc=
X-Received: by 2002:a05:6512:3085:: with SMTP id z5mr4237798lfd.659.1628175456369;
 Thu, 05 Aug 2021 07:57:36 -0700 (PDT)
MIME-Version: 1.0
References: <20210804221749.56320-1-jandryuk@gmail.com> <cb1b8918-639f-668f-c663-a6392a2d8e1f@suse.com>
In-Reply-To: <cb1b8918-639f-668f-c663-a6392a2d8e1f@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Thu, 5 Aug 2021 10:57:24 -0400
Message-ID: <CAKf6xpt3_erJPzG6awZorr+tBi5DyfGRZeeaYACe3v5O=aK7PQ@mail.gmail.com>
Subject: Re: [PATCH] libxl: Fix stubdom PCI passthrough
To: Jan Beulich <jbeulich@suse.com>
Cc: Paul Durrant <pdurrant@amazon.com>, Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, 
	xen-devel <xen-devel@lists.xenproject.org>
Content-Type: text/plain; charset="UTF-8"

On Thu, Aug 5, 2021 at 2:20 AM Jan Beulich <jbeulich@suse.com> wrote:
>
> On 05.08.2021 00:17, Jason Andryuk wrote:
> > commit 0fdb48ffe7a1 "libxl: Make sure devices added by pci-attach are
> > reflected in the config"
>
> This should be in a Fixes: tag; whether you fully spell out the
> reference here or instead refer to that tag would by up to you.

Yes, you are correct.  Thanks.

> > broken stubdom PCI passthrough when it moved
> > libxl__create_pci_backend later in the function.  xl pci-attach for a
> > running PV domain may also have been broken, but that was not verified.
> >
> > The stubdomain is running (!starting) and PV, so it calls
> > libxl__wait_for_backend.  With the new placement of
> > libxl__create_pci_backend, the path does not exist and the call
> > immediately fails.
> > libxl: error: libxl_device.c:1388:libxl__wait_for_backend: Backend /local/domain/0/backend/pci/43/0 does not exist
> > libxl: error: libxl_pci.c:1764:device_pci_add_done: Domain 42:libxl__device_pci_add failed for PCI device 0:2:0.0 (rc -3)
> > libxl: error: libxl_create.c:1857:domcreate_attach_devices: Domain 42:unable to add pci devices
> >
> > The wait is only relevant when the backend is already present.  Use the
> > read on num_devs to decide whether the backend exists and therefore the
> > wait is needed.
>
> But the presence of the node is not an indication of the backend existing,
> is it? libxl__device_pci_add_xenstore() itself writes the node a few lines
> down from your change, so upon processing a 2nd device the function would
> still behave as it does now.

The way this code is written, num_devs is an indicator.  As you say,
it's used to control if the overall backend is created.  When the
backend is created without num_devs, Linux xen-pciback closes the
front/back with "Error reading number of devices".  I also tried
adding a new libxl__create_pci_backend() call which wrote num_devs
"0", but that failed with some error I did not write down.  Although I
may have messed that up by not executing the transaction.

When libxl__device_pci_add_xenstore() runs a second time, the wait is
fine because the backend exists.  I just tested to confirm.  Testing
`xl create` for HVM w/ Linux stubdom and 2 PCI devices shows the
wait's watch trigger for Reconfiguring and Reconfigured before it
settles back to Connected.

The point of the wait is to let the front/back finish any
Reconfiguring for a running domain before a new attachment is
initiated.  If we have to create the backend, then the wait is
unnecessary - a non-existant backend cannot be Reconfiguring.  The
function already changes behavior depending on the num_devs node.
When num_devs doesn't exist, it creates the backend.  That is why I
went with an additional parameter and comment.

Would you like an expansion of the commit message with something like:
"""
The wait is only relevant when the backend is already present.
num_devs is already used to determine if the backend needs to be
created.  Re-use num_devs to determine if the backend wait is
necessary.  The wait is necessary to avoid racing with another PCI
attachment reconfiguring the front/back. If we are creating the
backend, then we don't have to worry about a racing reconfigure.
"""

And having written that, two "1st" `xl pci-attach` could maybe race
for a stubdom since there is no backend?  They would both try to write
the same nodes, so only 1 would take effect.  I guess that is okay.
Non-stubdom takes libxl__lock_domain_userdata(), so it should be okay.

Regards,
Jason

> Jan
>
> >  This restores starting an HVM w/ linux stubdom and PCI
> > passthrough.
> >
> > Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
> > ---
> > Looks like this should be backported to 4.15, but I have not tested.
> > ---
> >  tools/libs/light/libxl_pci.c | 6 ++++--
> >  1 file changed, 4 insertions(+), 2 deletions(-)
> >
> > diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
> > index 1a1c263080..19daf1d4ee 100644
> > --- a/tools/libs/light/libxl_pci.c
> > +++ b/tools/libs/light/libxl_pci.c
> > @@ -157,8 +157,10 @@ static int libxl__device_pci_add_xenstore(libxl__gc *gc,
> >      if (domtype == LIBXL_DOMAIN_TYPE_INVALID)
> >          return ERROR_FAIL;
> >
> > -    if (!starting && domtype == LIBXL_DOMAIN_TYPE_PV) {
> > -        if (libxl__wait_for_backend(gc, be_path, GCSPRINTF("%d", XenbusStateConnected)) < 0)
> > +    /* wait is only needed if the backend already exists (num_devs != NULL) */
> > +    if (num_devs && !starting && domtype == LIBXL_DOMAIN_TYPE_PV) {
> > +        if (libxl__wait_for_backend(gc, be_path,
> > +                                    GCSPRINTF("%d", XenbusStateConnected)) < 0)
> >              return ERROR_FAIL;
> >      }
> >
> >
>


From xen-devel-bounces@lists.xenproject.org Thu Aug 05 15:03:36 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 15:03:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164396.300682 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBeu8-0007eV-Kx; Thu, 05 Aug 2021 15:03:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164396.300682; Thu, 05 Aug 2021 15:03:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBeu8-0007eO-Gj; Thu, 05 Aug 2021 15:03:28 +0000
Received: by outflank-mailman (input) for mailman id 164396;
 Thu, 05 Aug 2021 15:03:27 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DXIG=M4=apertussolutions.com=dpsmith@srs-us1.protection.inumbo.net>)
 id 1mBeu6-0007eI-Um
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 15:03:27 +0000
Received: from sender4-of-o51.zoho.com (unknown [136.143.188.51])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 78b06695-c22f-44ac-aeb9-1519d692e89f;
 Thu, 05 Aug 2021 15:03:26 +0000 (UTC)
Received: from [10.10.1.24] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1628175785838405.3750948474901;
 Thu, 5 Aug 2021 08:03: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: 78b06695-c22f-44ac-aeb9-1519d692e89f
ARC-Seal: i=1; a=rsa-sha256; t=1628175799; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=S/3c/cnMV0vzIaDaKe9GXro6wq75YJGH3CI2SjeQSAAdv6zAZxofk5XquHAa/u9AMc7hrQanTcvDG5A0+rOWZkld+RJWdJMopR1hlpGI7AmqMYtzYDJ6qTgkDtbhSAxqpX6+Nw+w8MlGXu5Sk12xAUSw4AAIh9E7zInE47dObh8=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1628175799; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=Rsk366i1/xGNnPbYCVhwAj8pmFJseHf8LPkQj8h0qFo=; 
	b=a4QhvV7Kz2Xv2PWKzyt7JsXjY6i4iUahM2dZ9NRcoPDLWuPd+Mk4Qla4TciL7pMmfvdSJSQUkPGNYY9dBQGepWOC4x/MGN5KFjEY1yw5e7mv4LS1+ZKF7MOeIgXRLauMeNBqpim+9hmCT4sYdOeGFCG5zbGDBhpJXe2rs38/1w4=
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=1628175799;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=To:Cc:References:From:Subject:Message-ID:Date:MIME-Version:In-Reply-To:Content-Type:Content-Transfer-Encoding;
	bh=Rsk366i1/xGNnPbYCVhwAj8pmFJseHf8LPkQj8h0qFo=;
	b=DQuKYWPUq+1KewWA28jx0GOqRrYcPB6T51MDhT+AmTiqD7iitJnVNDYRBFqRFM9E
	xJJg7MQ0/GMqbX0J08J8QVvMRCSVwPMkbHZjtFYkGCSS7ZVlEsxHZIdtGHrjtEiIVGS
	c2V/jamXC0bn+Z57Dvn1Pe2nh0NUWr3dgtu/2x/I=
To: Oleksandr Tyshchenko <olekstysh@gmail.com>, xen-devel@lists.xenproject.org
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>, Ian Jackson <iwj@xenproject.org>,
 Wei Liu <wl@xen.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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
Message-ID: <6e573489-ceb7-03f4-3511-e6c166b318a6@apertussolutions.com>
Date: Thu, 5 Aug 2021 11:03:04 -0400
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

On 7/28/21 12:18 PM, Oleksandr Tyshchenko wrote:
> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

...

> diff --git a/xen/common/memory.c b/xen/common/memory.c
> index e07bd9a..3f9b816 100644
> --- a/xen/common/memory.c
> +++ b/xen/common/memory.c
> @@ -1811,6 +1811,62 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>              start_extent);
>          break;
>  
> +    case XENMEM_get_unallocated_space:
> +    {
> +        struct xen_get_unallocated_space xgus;
> +        struct xen_unallocated_region *regions;
> +
> +        if ( unlikely(start_extent) )
> +            return -EINVAL;
> +
> +        if ( copy_from_guest(&xgus, arg, 1) ||
> +             !guest_handle_okay(xgus.buffer, xgus.nr_regions) )
> +            return -EFAULT;
> +
> +        d = rcu_lock_domain_by_any_id(xgus.domid);
> +        if ( d == NULL )
> +            return -ESRCH;
> +
> +        rc = xsm_get_unallocated_space(XSM_HOOK, d);

Not sure if you are aware but XSM_HOOK is a no-op check, meaning that
you are allowing any domain to do this operation on any other domain. In
most cases there is an XSM check at the beginning of the hypercall
processing to do an initial clamp down but I am pretty sure there is no
prior XSM check on this path. Based on my understanding of how this is
intended, which may be incorrect, but I think you would actually want
XSM_TARGET.

> +        if ( rc )
> +        {
> +            rcu_unlock_domain(d);
> +            return rc;
> +        }
> +
> +        if ( !xgus.nr_regions || xgus.nr_regions > XEN_MAX_UNALLOCATED_REGIONS )
> +        {
> +            rcu_unlock_domain(d);
> +            return -EINVAL;
> +        }
> +
> +        regions = xzalloc_array(struct xen_unallocated_region, xgus.nr_regions);
> +        if ( !regions )
> +        {
> +            rcu_unlock_domain(d);
> +            return -ENOMEM;
> +        }
> +
> +        rc = arch_get_unallocated_space(d, regions, &xgus.nr_regions);
> +        if ( rc )
> +            goto unallocated_out;
> +
> +        if ( __copy_to_guest(xgus.buffer, regions, xgus.nr_regions) )
> +        {
> +            rc = -EFAULT;
> +            goto unallocated_out;
> +        }
> +
> +        if ( __copy_to_guest(arg, &xgus, 1) )
> +            rc = -EFAULT;
> +
> +unallocated_out:
> +        rcu_unlock_domain(d);
> +        xfree(regions);
> +
> +        break;
> +    }
> +
>      default:
>          rc = arch_memory_op(cmd, arg);
>          break;

...

> diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
> index 363c6d7..2761fbd 100644
> --- a/xen/include/xsm/dummy.h
> +++ b/xen/include/xsm/dummy.h
> @@ -772,3 +772,9 @@ static XSM_INLINE int xsm_domain_resource_map(XSM_DEFAULT_ARG struct domain *d)
>      XSM_ASSERT_ACTION(XSM_DM_PRIV);
>      return xsm_default_action(action, current->domain, d);
>  }
> +
> +static XSM_INLINE int xsm_get_unallocated_space(XSM_DEFAULT_ARG struct domain *d)
> +{
> +    XSM_ASSERT_ACTION(XSM_HOOK);

For completeness, if you switch to XSM_TARGET at the call site, you will
want to change it here as well.

> +    return xsm_default_action(action, current->domain, d);
> +}

V/r,
Daniel P. Smith


From xen-devel-bounces@lists.xenproject.org Thu Aug 05 15:11:03 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 15:11:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164405.300694 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBf1F-0000cW-Df; Thu, 05 Aug 2021 15:10:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164405.300694; Thu, 05 Aug 2021 15: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 1mBf1F-0000cP-8j; Thu, 05 Aug 2021 15:10:49 +0000
Received: by outflank-mailman (input) for mailman id 164405;
 Thu, 05 Aug 2021 15:10:48 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NEHI=M4=gmail.com=olekstysh@srs-us1.protection.inumbo.net>)
 id 1mBf1E-0000cJ-C1
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 15:10:48 +0000
Received: from mail-lf1-x133.google.com (unknown [2a00:1450:4864:20::133])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 76db17f2-87fc-4a10-9134-e034058a2346;
 Thu, 05 Aug 2021 15:10:47 +0000 (UTC)
Received: by mail-lf1-x133.google.com with SMTP id t9so11770348lfc.6
 for <xen-devel@lists.xenproject.org>; Thu, 05 Aug 2021 08:10:47 -0700 (PDT)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id j2sm440566ljc.49.2021.08.05.08.10.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Aug 2021 08:10: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: 76db17f2-87fc-4a10-9134-e034058a2346
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-transfer-encoding:content-language;
        bh=Soq6wZIRgZAtHoybEVLaxVLJKI4RyNPXQ5jIw/mfffg=;
        b=HUeYYO8sr55ckJdoAu995kkTG0pmO6sJT8pW48bzF4eylofSEKUqr3UwqnQhMQSt//
         ckkcXmb3PueteCYSg9wl7nP+qCOj8vJk1VxGNtG7t0QSw2WCZLAnleMDEwkKUIH7r5jl
         goyPXxMjCgN1Nq5PL7YIW9SwUYLx6d48YF1cr1mp3IIarH73yv9BI5bVd6qiRVC5Rx1M
         SJw5nzCVtDY3tYb7pu/eQ+AnaJS8cALCisTgTJOPwlJfkMgAe865d/jrnA7jO7mDZzmE
         3NKnnuRQL5uyGb1u3ifauo38Hi/vM9899+Oro6gSoRvzvMEwog3NG+PSQv5gPYVmLFqk
         hfRQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-transfer-encoding
         :content-language;
        bh=Soq6wZIRgZAtHoybEVLaxVLJKI4RyNPXQ5jIw/mfffg=;
        b=cHTaJoD4BYonRcyBcySicjk/945pCjHOOVUZS854jHPB99Brc3qtIf/akqqsRk4gBr
         q//PC1M8DCT+l4Ck3Eao200qA+OG7zZlUstKKx7/NcBIkYWHXuk0ylCopo5ztCJTbAwF
         ZtB0kVEghnHHwkPyJU4fwNjt6BKetUWnICLxf+O9FBDWf9oksOR1OkeFjHYlMLi38F6L
         XIQUB7GPlsXIeEOQ7BWmuzTblB2LCGY57i7Bde0/iZJvSCZNWzoUBCO2wJeK0qAucbu+
         oJNOnXIgs49msQhPbdhwy+0/EiIAQWNkWtC8+ev9NUbE+wTxWTw23ZsIRR5l84CYY2iI
         2fSA==
X-Gm-Message-State: AOAM532564W8LhUP6QW2h+Vn+oOE0S9YxkH7RF9+Mq1xoe9nqTBitiCE
	iENFhUWOq3u6Df8agn7nzxI=
X-Google-Smtp-Source: ABdhPJxzyroFsg6uORKiLatUj1F0WIp0kGsOkINgH4NroMLBNiyy2mhaKQh4pfjjc6o0D9NAWEYFpA==
X-Received: by 2002:a05:6512:3d8d:: with SMTP id k13mr4269127lfv.394.1628176246029;
        Thu, 05 Aug 2021 08:10:46 -0700 (PDT)
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
To: Jan Beulich <jbeulich@suse.com>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org,
 Julien Grall <julien@xen.org>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <80fafc01-f063-d6e5-1c08-7ad64550310c@citrix.com>
 <e8db3021-78a5-e040-a70b-62ca5b500149@xen.org>
 <4de5ed21-379e-b618-44c8-924d88b1a519@citrix.com>
 <bbc7f597-5249-20a0-cac9-13f594268299@xen.org>
 <6a633f4e-13e0-4a2b-cf6e-35ef90ae977c@gmail.com>
 <7d79a197-a126-2eed-3198-c20e63c1eece@suse.com>
 <090ffc19-92fd-5ef9-99d5-affcfdc28ad2@gmail.com>
 <11ba67a9-23a1-87e1-3db5-e9040af42a60@suse.com>
From: Oleksandr <olekstysh@gmail.com>
Message-ID: <abbd7901-e9df-baa3-cbbd-f915b5953688@gmail.com>
Date: Thu, 5 Aug 2021 18:10:44 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.10.0
MIME-Version: 1.0
In-Reply-To: <11ba67a9-23a1-87e1-3db5-e9040af42a60@suse.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Content-Language: en-US


On 05.08.21 08:58, Jan Beulich wrote:

Hi Jan.

> On 04.08.2021 21:18, Oleksandr wrote:
>> On 03.08.21 15:53, Jan Beulich wrote:
>>> On 30.07.2021 18:13, Oleksandr wrote:
>>>> - Where that range should be located in guest address space, should that
>>>> range be the same for all domains (how GUEST_GNTTAB_BASE(SIZE) for example)
>>>> or it should be calculated based on actual guest_ram_base(size) for a
>>>> particular domain?
>>> The default size may well be fixed or amount-of-memory-dependent, but
>>> I think there will need to be a way to enlarge the region for guests
>>> with particular needs.
>> Well, but why we couldn't just make a large chunk by default which would
>> satisfy all guests, as it was mentioned earlier in this thread "as it
>> doesn't consume resource when not being used"
>> to avoid an extra configuration option, etc?
> Because experience tells me that no static upper limit will ever please
> everyone.

ok, thank you for the explanation.


>
> Jan
>
-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Thu Aug 05 15:31:25 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 15:31:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164417.300706 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBfL5-0002wp-2F; Thu, 05 Aug 2021 15:31:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164417.300706; Thu, 05 Aug 2021 15:31:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBfL4-0002wi-VP; Thu, 05 Aug 2021 15:31:18 +0000
Received: by outflank-mailman (input) for mailman id 164417;
 Thu, 05 Aug 2021 15:31:16 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1FJ0=M4=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mBfL2-0002wc-Qx
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 15:31:16 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 46e9873c-8ed0-48ef-87d0-094a60684e98;
 Thu, 05 Aug 2021 15:31:15 +0000 (UTC)
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur02lp2050.outbound.protection.outlook.com [104.47.4.50]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-18-anFD85stOd234iTHsI2YaA-1; Thu, 05 Aug 2021 17:31:13 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4944.eurprd04.prod.outlook.com (2603:10a6:803:60::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.15; Thu, 5 Aug
 2021 15:31:11 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4373.027; Thu, 5 Aug 2021
 15:31:11 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0259.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100::31) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4394.15 via Frontend Transport; Thu, 5 Aug 2021 15:31:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 46e9873c-8ed0-48ef-87d0-094a60684e98
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628177474;
	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=b8lAwj2+rhV6+WzErBY96C69wzTTuWdoISGT1wZHX/s=;
	b=ieRDev9Ub7qlTK3/pbIYQbehqw4uC3CMbW3kJNUWZjQ7F5eyMkBzz1tmJr+myyn1zJydA0
	qzQkYfZNKb9QUKfe/oG63SBCOMGlgZMxM+D/84VqoGwxQVA6fjtbY+0wh1InyFB3Koh43T
	ZkWF0dHJZeBG+jDWFMlfosVC52iIPr0=
X-MC-Unique: anFD85stOd234iTHsI2YaA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=g9QhxFQA5awx/8hgySe/4t+HTf6u363pePZE4ZaNb6VXxJIV8ky4ztvigTCnJeQ41a9rN4G+fH4IdIQonNSFaqQU+57CLbX0MdeK/gL88soKUyI7XZz+l7eTq9zsGPdQIRnY/NDplr6WkxclG4+uvzHDam47RXM8D8twz3b/UoU/L1YZVTWOy+4/QBlZULtt8U0pnaFHAwo2kZGPxCT2zwDASd2kVT8IY8MAtdOiSICso7XVYxEkjVtBtPq3F4MmnXRDDQGpkXOEN7XTa/O0ZjD43+vLcL6PF4LohyV+hlAnFRCyC2tiF85YcalIJIK1X6CU5FpKk5PuEJoA4MbXog==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=b8lAwj2+rhV6+WzErBY96C69wzTTuWdoISGT1wZHX/s=;
 b=I1/87OpSU677xP3rjv/UbaGdIxEZQ7+BYsdtuKdYmupTYngULnqNEWdvsQ8uAb/VQUe2DbYTgMWlR5g2QZyDu+0i2a9pmV9mc8ghBjLKJlioC1fCediCYc80bxbNkDV4iSyzoTknhL+gPA/l2kxnCZY19mpXQ0ap25jxNislTMQaOEe7pSzUYMm88RnImgRd2AWkTKRQjL0tq2PuK7F0PFY0p4eHUISIS743MNsilAh7PeUn+3divjG9LKcTscWEkHO5zw/JRAB2dlmEbTuOJUfn4jvyj6RvVfuKL6aTvhx3uVArsYpD/vTbt4JdUtj/fFnNhoZNLYs2vkDwb5nObg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v3 1/7] xen: Implement xen/alternative-call.h for use in
 common code
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <20210805140644.357-1-dpsmith@apertussolutions.com>
 <20210805140644.357-2-dpsmith@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <29da4332-35c6-82ed-d839-a13477daac14@suse.com>
Date: Thu, 5 Aug 2021 17:31:09 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <20210805140644.357-2-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0259.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100::31)
 To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 60507b50-e1eb-447d-3651-08d958260dce
X-MS-TrafficTypeDiagnostic: VI1PR04MB4944:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB49440BCFD51BE949BFF661CEB3F29@VI1PR04MB4944.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	e0I8966NQvkLJM8y3yubuzUaO19r9Ztl7HnoJUx9pcrA7CK2NL50YqseEhIVgQK9Y0K2oSXt9eS5xcStNzGj7ik39Y8ZhZJTogJrjhR04yYqVeY5FTKwhxRTUdhoTmuFgM2AJYFH/lrygBdmKAnU/UEy48FJ0WykzFI0AwCusrddY8i8SAUVxWTuzZHFfnjmeWWuLIFxD4tT7X3DzyiXFJr5GKdBT+EIebNoFDponOTae72DLSx2eN0MX278fpZl6lss9nmxzmqkA3UbDI35R6tJ1sUXqpomAC9dxVDyEkySOVQGAw0F7evpraJq9W/Hgn9Giy/qhSKtesc0trMO3MnX9x2lYczB7i50vqLKoTlNGoMZMQXlnmQcs979jf4KpEvptTNlPMK/OXZ3Js0Xoqk62eoE33Ney+OZwVovpwgxW0hHrZ8Umqyq0MHIsOzM+2JXecy6JCPQc+H5THQWVPYWEyzBtr+FdzlvT2ArNEWnAbuNFT7sKi4Zn/p1MXkPhJI3duHV8h7wHGCU+qpghuaFnpnGNPuSpdLM10e81DZXiNNnx3hegRlZFB7+KkahQcjd9+vmAK5Rwc+Bo7e7R/FByzzY6TzAiNLZCHoAFbyFTUjZ2Lee8gPjDy27Lk6SVotIEraIUMEuNTtiHpIm5GGVbl4TRGLYIMvh6R1UgMU5d2473yVfQHe2oS+CjyfboqvZR+Mnms5K8Md1UXr8vMLKxpVYVeUrzttDwd4rgEM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(396003)(39850400004)(346002)(136003)(376002)(54906003)(38100700002)(16576012)(53546011)(86362001)(316002)(26005)(31686004)(110136005)(186003)(7416002)(2906002)(5660300002)(478600001)(4326008)(956004)(2616005)(31696002)(6486002)(66476007)(8936002)(66946007)(66556008)(36756003)(8676002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Ky9ET1IvTExjZTR5S1NhNDhUNTVwcVNQeHJGQU5sZ3U2TUszd00vN1JjZnpY?=
 =?utf-8?B?enVnWjhya0lJc3NFY0phWC9ad2xkVjNCZmlheFBheCs0bXA0L2xHcVVvN2RN?=
 =?utf-8?B?a05CemJxWGkzUU1OSDhKZVg0OGptTkJOdUZFZXFidnNtTkRzd2FET1p4SjNm?=
 =?utf-8?B?bEdRU2ZrTFVJakM5alV2MC9nS0hLVGxDTml4RzFkS1NNZVVIdmhyc3ExTmh1?=
 =?utf-8?B?RkVmalE5VnpPQ1FjM29LWS9kRlFJdzFjOHNQUGh0MEVSS29xdUJWQk9BU1J3?=
 =?utf-8?B?R3dGK3pXS0oyS3k4Z2kxQWppRCtENXdqYnRsOWxHVjVmVmxFV2pKYlFPSXFu?=
 =?utf-8?B?U2Jxd2hGVmJOdXhIQ2lta0tFcXR3WUtyeUhwdWpwdjNsd21DREpOMm1VeFlp?=
 =?utf-8?B?UTc0VTg0cjBOMkJIWklPc0xvOFJuaWtkSVF0a2hlM2FCTjg2Y2hxNmJpRzBS?=
 =?utf-8?B?OEpCMVBuRXVtVlBtK1FsT1UyUzhXbjE5Qzh0NDY4SnEydm5YcnhIdklaNlVI?=
 =?utf-8?B?TUN6MXBQM3FwNExLV3I2MWxJdDkwWkZoMTgydVhISm1XeHhqS2hjclE1OE1y?=
 =?utf-8?B?TVhwZnBCYm40NU9Lako2RHA4czlCZ2tmQXRyTlJUM1I4Z0xBTnBETkFaY2Vi?=
 =?utf-8?B?MTF0Z2UzL3A2eVNSb3U3dWhXcjR3VWZnRHJ4bi9zZTNneUM1SkFqQklOaWk1?=
 =?utf-8?B?aVgyMzVqMnQxaE1zUFRodS8wcjlLaU5rL2JtUXZHaHB5K2Q0Unc4Z05FNTZG?=
 =?utf-8?B?K1pmOUNKVmloNUd2cDhmOEIrVDQwWGVyaktVREIzQzk2Sk5oRk4reVVVUTdG?=
 =?utf-8?B?NEkrVW5iRnJJcjV6dENWdElGY09IN1BqNUdIOElvSmxXK24vSHFHVkxBOTNY?=
 =?utf-8?B?a3g0TzZNLzBRWm12VjlvVElzcjFKbHdlSXdVSjdUMmN3c1RzNU1JTWpicklz?=
 =?utf-8?B?THVsSjB2WklVQVlaeHE4MTRwOHA3d05vWnY1ZnZoZUJPaWRzd2xiOXlYV1Yr?=
 =?utf-8?B?dUl1NWwvY0o1YzJ0K0ZLeUQ2TmQ3U3hWTTZqV3pBQm9rdHhBSXZrSW1iQmE0?=
 =?utf-8?B?Uk5pRktBNGorSFArZGc2cWVGRXNyL3VTdGxZdHVLMm1JRldDck1YVTlKbFIw?=
 =?utf-8?B?dHFMYmROdFZUZW1IN0ptQllzYTU2RnJLaUJKRFpKNVJWMUFkYXZXRUdkaFZv?=
 =?utf-8?B?K0hvOFhGZmxDOHdBVThISUFZajVPNlZaUmZLczhOTUtZL1NSd2tCd255Z0xS?=
 =?utf-8?B?K1J1cm16S0lJdmJ5T1BCTXlaRFF6Sk9kMGdELytEZlJ2aVRmWHM5ZE5EbG51?=
 =?utf-8?B?ZE9acGlNL0NjRUFsOHdOWlIrTkMwSG9BREk3QVN5ck03aVlMSXVHaG1Wd2FX?=
 =?utf-8?B?amcwLzFWYmRldVNQOW9Zc0NmSzNvQ3I5MXozYlRQK0MxckJ3L2lxLy9kMk1n?=
 =?utf-8?B?S0s0Y1ZWS1haL3BxbkNwUkJSSXRwSkNlQlFoc1BhZGE1QzQ4eHlOcmltU1Rz?=
 =?utf-8?B?QkhBdFM4dkczdldrS1VOVnBaOXVldWJtdzMveHNhcmg3VEJVTTlSa2p5MlNk?=
 =?utf-8?B?bG50REp2UzlYbFlpQjMzaHRudHc2SHJsTnZ5VU5zQkZnV01tczVFS2NvS0Q0?=
 =?utf-8?B?alZNVGh1TUVhck1JVlJPcGpCdG9YeHBGSTlmRjZwYm9ZbVVHZ1pLOEZtQkt2?=
 =?utf-8?B?OHF5aHBMdUcxeDVlTm5xemJrMklBR0p4bDI5dEJvVytGakEvcGVNQWl6MEcr?=
 =?utf-8?Q?tsQGIsJoV1VfV2CRIgJQ8A6gRsBzh9sSZaxpZRq?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 60507b50-e1eb-447d-3651-08d958260dce
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2021 15:31:11.4504
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: drm/ZRapCDEoSEuFWrC1zqSFXBPWGb5mhFCvqMmv+j65B52UMaj0J77U9DMhrgFGDyJn5xTzb8BtxY3do3zR5A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4944

On 05.08.2021 16:06, Daniel P. Smith wrote:
> --- /dev/null
> +++ b/xen/include/xen/alternative-call.h
> @@ -0,0 +1,63 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +#ifndef XEN_ALTERNATIVE_CALL
> +#define XEN_ALTERNATIVE_CALL
> +
> +/*
> + * Some subsystems in Xen may have multiple implementions, which can be
> + * resolved to a single implementation at boot time.  By default, this will
> + * result in the use of function pointers.
> + *
> + * Some architectures may have mechanisms for dynamically modifying .text.
> + * Using this mechnaism, function pointers can be converted to direct calls
> + * which are typically more efficient at runtime.
> + *
> + * For architectures to support:
> + *
> + * - Implement alternative_{,v}call() in asm/alternative.h.  Code generation
> + *   requirements are to emit a function pointer call at build time, and stash
> + *   enough metadata to simplify the call at boot once the implementation has
> + *   been resolved.
> + * - Select ALTERNATIVE_CALL in Kconfig.
> + *
> + * To use:
> + *
> + * Consider the following simplified example.
> + *
> + *  1) struct foo_ops __alt_call_maybe_initdata ops;
> + *
> + *  2) const struct foo_ops __initconst foo_a_ops = { ... };
> + *     const struct foo_ops __initconst foo_b_ops = { ... };
> + *
> + *     void foo_init(void)
> + *     {
> + *         ...
> + *         if ( use_impl_a )
> + *             ops = *foo_a_ops;
> + *         else if ( use_impl_b )
> + *             ops = *foo_b_ops;
> + *         ...
> + *     }
> + *
> + *  3) alternative_call(ops.bar, ...);
> + *
> + * There needs to a single ops object (1) which will eventually contain the
> + * function pointers.  This should be populated in foo's init() function (2)
> + * by one of the available implementations.  To call functions, use
> + * alternative_{,v}call() referencing the main ops object (3).
> + */
> +
> +#ifdef CONFIG_ALTERNATIVE_CALL
> +
> +#include <asm/alternative.h>
> +
> +#define __alt_call_maybe_initdata __initdata

I think it wants (needs) clarifying that this may only be used if
the ops object is used exclusively in alternative_{,v}call()
instances (besides the original assignments to it, of course).

> +#else
> +
> +#define alternative_call(func, args...)  (func)(args)
> +#define alternative_vcall(func, args...) (func)(args)
> +
> +#define __alt_call_maybe_initdata

Wouldn't this want to resolve to __read_mostly?

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 05 15:34:18 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 15:34:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164423.300718 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBfNw-0003aA-HZ; Thu, 05 Aug 2021 15:34:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164423.300718; Thu, 05 Aug 2021 15:34: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 1mBfNw-0003a3-Ec; Thu, 05 Aug 2021 15:34:16 +0000
Received: by outflank-mailman (input) for mailman id 164423;
 Thu, 05 Aug 2021 15:34: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 1mBfNv-0003Zt-6G; Thu, 05 Aug 2021 15:34: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 1mBfNv-00079A-2u; Thu, 05 Aug 2021 15:34: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 1mBfNu-0004rV-Pk; Thu, 05 Aug 2021 15:34:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mBfNu-0004Si-PG; Thu, 05 Aug 2021 15: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=1Frg6Sm0au7NXYmA5lhxevX9jKFGXMlvEkwwqYaFklw=; b=3Vc0n38/VmrrjJGIC0NAyZ62h3
	OjwlMJB6oCEirIQYtoAW5/nuC1zJfvZguWWJFFnkjsV3hWHXb2BsH7eSnAEYprCW43BwQKq3ioyXr
	uOMT3+RuKqbieli49V+h8cSqF1XckrRwvrUqyoxn9sTqy85MrShj14kgcFzJi+2h8agg=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164111-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 164111: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=9abc60f9f722d891b3cedb0205fd6c9c0e2af54b
X-Osstest-Versions-That:
    ovmf=63552872061130e236ab30f81cfe5a6714cd0012
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 05 Aug 2021 15:34:14 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 9abc60f9f722d891b3cedb0205fd6c9c0e2af54b
baseline version:
 ovmf                 63552872061130e236ab30f81cfe5a6714cd0012

Last test of basis   164110  2021-08-05 05:40:10 Z    0 days
Testing same since   164111  2021-08-05 12:42:15 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abner Chang <abner.chang@hpe.com>
  Daniel Schaefer <daniel.schaefer@hpe.com>
  Leif Lindholm <leif@nuviainc.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
   6355287206..9abc60f9f7  9abc60f9f722d891b3cedb0205fd6c9c0e2af54b -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Aug 05 15:39:03 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 15:39:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164435.300732 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBfSV-0004GW-5d; Thu, 05 Aug 2021 15:38:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164435.300732; Thu, 05 Aug 2021 15:38:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBfSV-0004GP-2Q; Thu, 05 Aug 2021 15:38:59 +0000
Received: by outflank-mailman (input) for mailman id 164435;
 Thu, 05 Aug 2021 15:38:58 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1FJ0=M4=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mBfSU-0004GJ-5C
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 15:38:58 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 3eb07262-f603-11eb-9c36-12813bfff9fa;
 Thu, 05 Aug 2021 15:38:56 +0000 (UTC)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2058.outbound.protection.outlook.com [104.47.13.58]) (Using
 TLS) by relay.mimecast.com with ESMTP id de-mta-9-HCl8urOQM8-hPYaCRA7GDQ-1;
 Thu, 05 Aug 2021 17:38:54 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4847.eurprd04.prod.outlook.com (2603:10a6:803:54::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.17; Thu, 5 Aug
 2021 15:38:52 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4373.027; Thu, 5 Aug 2021
 15:38:52 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR04CA0068.eurprd04.prod.outlook.com (2603:10a6:208:1::45) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4394.15 via Frontend Transport; Thu, 5 Aug 2021 15: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: 3eb07262-f603-11eb-9c36-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628177936;
	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=u9WK7Uny8iP6bvLYMQuGW8UNEeilR7najs7REoLXaWk=;
	b=f7XQM1XlDGTvjW0QdpE6KURuPD1l7wQ+Gx9bHmy014ZeLyCRFME8VuPAirts/U+z8C83FA
	Io6108UnjaKHKprbqW5tEURze7by2GRkKMMFzb4m1qrO5O6BfClSloqyH6K9QlYpuoYhFC
	gc6rDVsTT+2gf6OSJ8sj5mxfcRMrj1Y=
X-MC-Unique: HCl8urOQM8-hPYaCRA7GDQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=McJMRMhzq3ehLyYJscO6HPhDcefRuo6VSegKgOQJ3siQeATw3rK9nbfo40H09kTo8e08SEdngO2qyYLjw6u3O7OBOJxcEb/OUVlBxr38JZ5OBtqtQrsLrI2/SBxw3Ger+ScRj5A/4p8s/KLRVceOii/3KQk+n++Znawq+Vmpjq2OGeJBQQzO4pjend85buB+nI1ffNqoSIPji1br3qWFyqNFHYCPc5IJTuFI99Uzqk89O1gxXo/GX7Md0+t7xCCEgiZt9jNwZwrmVD6dplSnOQnvyaUWlLCnbG/3gtJ7J87OBsxJCMAU+QRIe/vRPlVkOSBvSZWXBSC9LqS1XCA8Pw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=u9WK7Uny8iP6bvLYMQuGW8UNEeilR7najs7REoLXaWk=;
 b=cc5mKoCFepW1j7TPhWqFuXOXy8TTAHdx2UYdgyHiRvIuwzoToWuV9JoO1iouQDDY5gyfGIqrMm0i5FAKvNpe0hnneesmxgUFW0fnflp4F/VaLPZ2SRdp2dCw9UiD8NEfy5lrzACLxjmsmmY0nDwkdh0Zoi/10aIvQm50tIAbtaA1vjpAV8L6nhAFSCblZL4bKktSpC33GCl+l7ihM7BP2b2aFZwl884c4BhWXkrx59fMicbQByz1kRvckk7nTGdnYpsIGvULuwyfuBrKYRy+wZ6FCKMPL7EwFL+a6pjlWgMv2GihIcVAx7ylY7aDRJLBxXKsrrGjcnMWfmVIHKaubQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH] libxl: Fix stubdom PCI passthrough
To: Jason Andryuk <jandryuk@gmail.com>
Cc: Paul Durrant <pdurrant@amazon.com>, Ian Jackson <iwj@xenproject.org>,
 Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, xen-devel <xen-devel@lists.xenproject.org>
References: <20210804221749.56320-1-jandryuk@gmail.com>
 <cb1b8918-639f-668f-c663-a6392a2d8e1f@suse.com>
 <CAKf6xpt3_erJPzG6awZorr+tBi5DyfGRZeeaYACe3v5O=aK7PQ@mail.gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <c13aef2f-7707-6caf-e4bc-df62c5737e8a@suse.com>
Date: Thu, 5 Aug 2021 17:38:49 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <CAKf6xpt3_erJPzG6awZorr+tBi5DyfGRZeeaYACe3v5O=aK7PQ@mail.gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM0PR04CA0068.eurprd04.prod.outlook.com
 (2603:10a6:208:1::45) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ddffe3e4-866f-42c1-41c3-08d958272051
X-MS-TrafficTypeDiagnostic: VI1PR04MB4847:
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB484748D6A576608093B5EDB2B3F29@VI1PR04MB4847.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Q9dTrZcGr9u8a8x9UAH/PLEuJ8guBdQruwR/a9JV8zs4P8vO7yELI1/cr6glUJ7gvhVfoADWLq/39csgBs29srMX37TX/W2Moaw5/3DQDJBzvKKdXSkhs3CBqVCgg0RVdAgBv7FkPUz098LsI8McbJR1YLjluaAC6CZAR4LGNzM3/B4/Pl4nyEsSUa/S5fef2P6ScaMZeAxSJpLa5GAG1/dZdCGNb8xVx/jtY+cCiHLKBi1UL6KS4j5iBr4blPLUJkycV0bF8lyh5/Q7kTXzCbIIwh4mOyQ1uUyUcAlFc3NxZ/oCw84waOaRuoPYKDmNIdmJv4hDs/YjwjajGaXWuxGEVkW1yCscQuX+2I3R1tPUUbCLsBEKScaCgjIvLV8RD5S/46bP9a1doxhfbuQT+89Bek1dI7mKu7R6oHabHYoKMGco4xpf9i70tRhavQ/RLsF2Wh3UdGi/D8SZmA0yuACB5X+xJsU7BaYjFk6Z3PlAxTZirVRCP39wSocyTn0f9+ioyWSrR3LGaZ7WPqEAkVRISfcObgl6nwR6Y6oNBkzg3qQLR9eM4CFzH12IokYNUhWsHrHXWDNrVmYwMvfKgn9vAd3h1IhqPXnS+EY5gGFvea+U/pgRQ1GYLxkWQrd3hiEtdM9cidohfm606mINnUniD4hxoncAmGaX+GxmzUB8nYNX8tw0pZV7oQKTbS52DWTB1BYZUgGRTtEP1Y5Z2vnSbFemiqVyTqequQTh7t4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(366004)(346002)(39860400002)(376002)(396003)(53546011)(86362001)(478600001)(26005)(956004)(38100700002)(5660300002)(2616005)(36756003)(31696002)(4326008)(54906003)(83380400001)(31686004)(186003)(8936002)(316002)(16576012)(66476007)(66556008)(66946007)(8676002)(6486002)(2906002)(6916009)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?a3BiYTMzZmppeEcxQy8rU3Q2SE9pT2tHdGtINVh0SnY5RW9uMTRkc2QxT2FL?=
 =?utf-8?B?MW9ORStTQ1k0U2sxMWx4SVcxKzdibFNuZmdGUWtDTVY0aFZiQStjWFo3anFj?=
 =?utf-8?B?bkFieUYrQzBwTXE5Y3lSQjR1OFpzd1lxRVVpRE1jZ0dVM1NXdzdmeDRpNjRX?=
 =?utf-8?B?Z0lxbzZId0JmbDBsN0FoUjlTRlNhOHVLeUVjUUh0MlMzd3YwTkxPaUd3Y3dw?=
 =?utf-8?B?d0FlQjY5aGlzVjNML24yc3Q2cFkxVVpHblVVdytpK1JlK2pJSFhkbm1wa2hr?=
 =?utf-8?B?dTNMMWd5ZVhkb3JoMGphTmV0SW14OGZMb3huTlFzYlZuRmxEcEZ3Tlp6UjBY?=
 =?utf-8?B?blI4ZDJ1U2JLWGozR3hLUEJNUnlEU2t3Y21NdDNITGdURGMyZGZHVlpXQ3dP?=
 =?utf-8?B?OC9XNDBLY1BycEpneVZjU3VMbmRKVmxWU21KNUJ5VzhTVko4bzdONDhrRW1F?=
 =?utf-8?B?eEp5b3hVUWprWkoyK25peGNiQmllTFM0dHpiM0w1SkRrcVJJWnc5cVl3WFF5?=
 =?utf-8?B?MGtjTENiQS9wSmNUYUNCc3JLZk1kVFZSUzJ0SFRVMHRIdEllMkk5RXZrUDVE?=
 =?utf-8?B?TXZDUnk5WGpPTm5VLzFoZnJQR29OUXJEN3R3cVdMVHVJeTVMLyt5VlFLUTFj?=
 =?utf-8?B?ZFJsSS9wSUVvMnVsV3J3ZDNybG9MSUVRbEltaFI1SGJEaHdLcGpzZGhKMkxt?=
 =?utf-8?B?Z1ZGRnFzVXhVeTVNZG5DaVZ5QW9IWkkwWUpwdXNEczZ1UXlIeHlmd2ZacGtD?=
 =?utf-8?B?VTFLeFJhY3dHanBUeGE2dTZ6d3hNMjFFYnp2OG5SRU8ySkRISHExby9kWXRC?=
 =?utf-8?B?b2pXd3N2RldpVGhJOVN6NHVQazl5QVJqZCtuRUJzZ0NiWDBOT0ZIcENBd09s?=
 =?utf-8?B?emxMQ3FuSHIzMkFIcVl3eEdWa1BTS0t6d1Z3YmthZG10VzkxTzFFdVR6c3VQ?=
 =?utf-8?B?WHdnQUQydlo4TjlTNGJjY2hZL0tEdUhiU3NiV0ZJM21iY1l1anY0TXFNWnNT?=
 =?utf-8?B?NGFVWXQ1K3hLSXJLYXFYZlN0dHRhZXNWUGp1d0tkcm1yWGRRYWU1YUEzWDdF?=
 =?utf-8?B?QkJ5WmtYRnQwSjF1UnAwZysyUHpZWXlvRm93OEI5aTVHSU1qY255TkJ6V1Qr?=
 =?utf-8?B?bHZvNURSUEpTSW04b1NxMlphOThKWXZCejJCUmhkTG5pT1NYRjFFZ2tJK1dh?=
 =?utf-8?B?UnVnclRUa2Q2aE03WmZzZ0Z2YkxOWFp3SUxyenRDTHg4RENHaUFselVKQXlo?=
 =?utf-8?B?enM5Ry9IRGh3ZUpKUDh0bEZ5UEpZaU50K1lOL2J0STN1ZUd6aGRIZi8xVzdu?=
 =?utf-8?B?T3pGckJVU05maEZBQmtpa3FLaG1pNU9RelFTZkhSU2RtcFlRNjlybTI1Q2ZQ?=
 =?utf-8?B?WFRCRUZBZHNUSDhmVUJwT2p6Q1FrN3pTcWwxWGFiekJZSER3NUdsSGFtTHZw?=
 =?utf-8?B?QmJkL09WbGp0RlEvTlM3OCtmWUxwSWUwZy9nOTkvUGcrQjdBby9aUGRzcjJF?=
 =?utf-8?B?TTNUUnJBTitpUEh6c09wR0tkemhBZit5TVAvWGlYVGZUblFTeWJNbVczeC9B?=
 =?utf-8?B?RGtwT0xxVkNLOFhpQ2hZSkRvcWRjNEtMSG85K3BZZHJEc2lHVVRLMEwrdGUv?=
 =?utf-8?B?amxzamduQ28vcEVxOUtoYm9hSVA3eEpMTkw0U21SY1AyY1phRWFXNTF0NFBi?=
 =?utf-8?B?eUhLSmFmQUdabXFrcG5VTmhGUjRtd25sV0lyYU93ME11aDhyRDR3WVRFUUMy?=
 =?utf-8?Q?creHYrju+Z5fMu3lknYgmu75Q+1GZbjkf/WxxT6?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ddffe3e4-866f-42c1-41c3-08d958272051
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2021 15:38:52.0140
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1dcu+DwzNVD0S4UWKbhB4z2Xw7Eg/3jT6LYrWaCDove/3mOwO9GrGxxQJqu4FBSIYQMpKpv3xrUkIh+9wCl6AQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4847

On 05.08.2021 16:57, Jason Andryuk wrote:
> On Thu, Aug 5, 2021 at 2:20 AM Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 05.08.2021 00:17, Jason Andryuk wrote:
>>> commit 0fdb48ffe7a1 "libxl: Make sure devices added by pci-attach are
>>> reflected in the config"
>>
>> This should be in a Fixes: tag; whether you fully spell out the
>> reference here or instead refer to that tag would by up to you.
> 
> Yes, you are correct.  Thanks.
> 
>>> broken stubdom PCI passthrough when it moved
>>> libxl__create_pci_backend later in the function.  xl pci-attach for a
>>> running PV domain may also have been broken, but that was not verified.
>>>
>>> The stubdomain is running (!starting) and PV, so it calls
>>> libxl__wait_for_backend.  With the new placement of
>>> libxl__create_pci_backend, the path does not exist and the call
>>> immediately fails.
>>> libxl: error: libxl_device.c:1388:libxl__wait_for_backend: Backend /local/domain/0/backend/pci/43/0 does not exist
>>> libxl: error: libxl_pci.c:1764:device_pci_add_done: Domain 42:libxl__device_pci_add failed for PCI device 0:2:0.0 (rc -3)
>>> libxl: error: libxl_create.c:1857:domcreate_attach_devices: Domain 42:unable to add pci devices
>>>
>>> The wait is only relevant when the backend is already present.  Use the
>>> read on num_devs to decide whether the backend exists and therefore the
>>> wait is needed.
>>
>> But the presence of the node is not an indication of the backend existing,
>> is it? libxl__device_pci_add_xenstore() itself writes the node a few lines
>> down from your change, so upon processing a 2nd device the function would
>> still behave as it does now.
> 
> The way this code is written, num_devs is an indicator.  As you say,
> it's used to control if the overall backend is created.  When the
> backend is created without num_devs, Linux xen-pciback closes the
> front/back with "Error reading number of devices".  I also tried
> adding a new libxl__create_pci_backend() call which wrote num_devs
> "0", but that failed with some error I did not write down.  Although I
> may have messed that up by not executing the transaction.
> 
> When libxl__device_pci_add_xenstore() runs a second time, the wait is
> fine because the backend exists.

Ah yes, now I recall, because I stumbled over this unhelpful behavior
a couple of months ago. As mentioned back then I think it is wrong to
create the backend after adding just the first device; it would
better be created once all devices have got populated to xenstore. At
the time I did submit a kernel side patch to deal with the odd
behavior. This has gone in upstream in the meantime, but I would have
preferred if the issue would (also) have been addressed in libxl.

>  I just tested to confirm.  Testing
> `xl create` for HVM w/ Linux stubdom and 2 PCI devices shows the
> wait's watch trigger for Reconfiguring and Reconfigured before it
> settles back to Connected.
> 
> The point of the wait is to let the front/back finish any
> Reconfiguring for a running domain before a new attachment is
> initiated.  If we have to create the backend, then the wait is
> unnecessary - a non-existant backend cannot be Reconfiguring.  The
> function already changes behavior depending on the num_devs node.
> When num_devs doesn't exist, it creates the backend.  That is why I
> went with an additional parameter and comment.
> 
> Would you like an expansion of the commit message with something like:
> """
> The wait is only relevant when the backend is already present.
> num_devs is already used to determine if the backend needs to be
> created.  Re-use num_devs to determine if the backend wait is
> necessary.  The wait is necessary to avoid racing with another PCI
> attachment reconfiguring the front/back. If we are creating the
> backend, then we don't have to worry about a racing reconfigure.
> """

Might help, yes.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 05 15:52:13 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 15:52:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164446.300744 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBff9-0006Un-Fv; Thu, 05 Aug 2021 15:52:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164446.300744; Thu, 05 Aug 2021 15:52:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBff9-0006Ug-Cv; Thu, 05 Aug 2021 15:52:03 +0000
Received: by outflank-mailman (input) for mailman id 164446;
 Thu, 05 Aug 2021 15:52:02 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vwN3=M4=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mBff8-0006Ua-38
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 15:52:02 +0000
Received: from mail-pj1-x102a.google.com (unknown [2607:f8b0:4864:20::102a])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c9b7049b-679d-42c9-9e03-dd81d7faa53b;
 Thu, 05 Aug 2021 15:52:01 +0000 (UTC)
Received: by mail-pj1-x102a.google.com with SMTP id
 e2-20020a17090a4a02b029016f3020d867so10525184pjh.3
 for <xen-devel@lists.xenproject.org>; Thu, 05 Aug 2021 08:52:01 -0700 (PDT)
Received: from ?IPv6:2404:f801:0:5:8000::4b1? ([2404:f801:9000:1a:efea::4b1])
 by smtp.gmail.com with ESMTPSA id
 w11sm8659286pgk.34.2021.08.05.08.51.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Aug 2021 08:51: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: c9b7049b-679d-42c9-9e03-dd81d7faa53b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=+WAVvy3jG8c4BM1UieKc0hBr5+TPYkK4USUWUu/waLs=;
        b=f9NRItGcA82zfK89pCSO+FmqIIS9do5TDWjGS2Phwk71Ji2CmZnf8PxAfzm2UDR9km
         lAgg56lZbpeu+K8iuYKOH1bUmUq+Y/w/ympLbW5zEuqcXD+Ru4sUL4cDWR8qGdqEidfP
         ziOfCCbUfhxx8uX8F2JJ2xPz5qHc78AmuoWiHkw+umEWamoItzUkWexCOBGuIR0ULKl+
         eOmE9bSQ4nk3xuDfmkfuO0ZE6gpw9xgYHGc/K8FFsdr9ojyhAkwggIRaPFhLl1LTpS6j
         IdRxy4GUR6A7AcO0BdasFcNqOb53Xf4LXDenQVsPE/VC2bZYgbJo499AOTpLdDoOb8Uh
         Zbqg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=+WAVvy3jG8c4BM1UieKc0hBr5+TPYkK4USUWUu/waLs=;
        b=Puwt8koKwq+85atmVz+VuJvgw5+UxCKN/uSnVgY50FftXJBJ9OZCLCm5M3jkGBsVFr
         VdDyC98xV9USFKjbDzVpSK361AUn6tsF+ytcQ0ktmF1hKhjK8ewxwsIFYD+7tWOaG7Qz
         9LVT0IQuQgzNb3Q3Dixeix/sdevU72Z1oZo11lsCXKVmcWr4LMOtWWZxKbFX8msqPLga
         0/iYU+MYndcK/VOYAhBGTG1rEv3w8I1G0BlLCqHYGJPNQAXUg8YwyfsJa9lbL1sqr3SG
         XQ4m68kqj5urrNCjCbWwza4o9lKxYY+ZuqsrK+uCZcyDlpKBIJX0wZjR1fOmbzuocYzl
         2dGA==
X-Gm-Message-State: AOAM533NFWo1LawW6Lg99SMhwuJmQ4Uurzb8+pmEdbLv3OTvf+t6K+Tw
	haeZXU4Ft4V193eeKwY7Z+k=
X-Google-Smtp-Source: ABdhPJzLAimd4Y4p28t2bHcnYkc9F26SFPNdWJKKxX6QGrlC4uJA5cMAwBVxgkywklDtK+gtxm7ShA==
X-Received: by 2002:a62:d447:0:b029:291:19f7:ddcd with SMTP id u7-20020a62d4470000b029029119f7ddcdmr169701pfl.54.1628178720447;
        Thu, 05 Aug 2021 08:52:00 -0700 (PDT)
Subject: Re: [PATCH V2 03/14] x86/set_memory: Add x86_set_memory_enc static
 call support
To: Dave Hansen <dave.hansen@intel.com>, Peter Zijlstra <peterz@infradead.org>
Cc: kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com,
 wei.liu@kernel.org, decui@microsoft.com, tglx@linutronix.de,
 mingo@redhat.com, bp@alien8.de, x86@kernel.org, hpa@zytor.com,
 dave.hansen@linux.intel.com, luto@kernel.org, konrad.wilk@oracle.com,
 boris.ostrovsky@oracle.com, jgross@suse.com, sstabellini@kernel.org,
 joro@8bytes.org, will@kernel.org, davem@davemloft.net, kuba@kernel.org,
 jejb@linux.ibm.com, martin.petersen@oracle.com, arnd@arndb.de, hch@lst.de,
 m.szyprowski@samsung.com, robin.murphy@arm.com, Tianyu.Lan@microsoft.com,
 rppt@kernel.org, kirill.shutemov@linux.intel.com, akpm@linux-foundation.org,
 brijesh.singh@amd.com, thomas.lendacky@amd.com, pgonda@google.com,
 david@redhat.com, krish.sadhukhan@oracle.com, saravanand@fb.com,
 aneesh.kumar@linux.ibm.com, xen-devel@lists.xenproject.org,
 martin.b.radev@gmail.com, ardb@kernel.org, rientjes@google.com,
 tj@kernel.org, keescook@chromium.org, michael.h.kelley@microsoft.com,
 iommu@lists.linux-foundation.org, linux-arch@vger.kernel.org,
 linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
 linux-scsi@vger.kernel.org, netdev@vger.kernel.org, vkuznets@redhat.com,
 parri.andrea@gmail.com
References: <20210804184513.512888-1-ltykernel@gmail.com>
 <20210804184513.512888-4-ltykernel@gmail.com>
 <5823af8a-7dbb-dbb0-5ea2-d9846aa2a36a@intel.com>
 <942e6fcb-3bdf-9294-d3db-ca311db440d3@gmail.com>
 <YQv0bRBUq1N5+jgG@hirez.programming.kicks-ass.net>
 <fa63e6ad-9536-d5e9-d754-fa04fad69252@intel.com>
From: Tianyu Lan <ltykernel@gmail.com>
Message-ID: <01d2f33c-6e50-ae88-73ff-84042504c26e@gmail.com>
Date: Thu, 5 Aug 2021 23:51:43 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <fa63e6ad-9536-d5e9-d754-fa04fad69252@intel.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit

On 8/5/2021 10:29 PM, Dave Hansen wrote:
> On 8/5/21 7:23 AM, Peter Zijlstra wrote:
>> This is assuming any of this is actually performance critical, based off
>> of this using static_call() to begin with.
> 
> This code is not performance critical.
> 
> I think I sent folks off on a wild goose chase when I asked that we make
> an effort to optimize code that does:
> 
> 	if (some_hyperv_check())
> 		foo();
> 
> 	if (some_amd_feature_check())
> 		bar();
> 
> with checks that will actually compile away when Hyper-V or
> some_amd_feature() is disabled.  That's less about performance and just
> about good hygiene.  I *wanted* to see
> cpu_feature_enabled(X86_FEATURE...) checks.
> 
> Someone suggested using static calls, and off we went...
> 
> Could we please just use cpu_feature_enabled()?
>

Yes, cpu_feature_enabled() works. The target is just to run platform 
code after platform check. I will update this in the next version.


From xen-devel-bounces@lists.xenproject.org Thu Aug 05 15:56:49 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 15:56:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164454.300757 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBfjl-00079e-3i; Thu, 05 Aug 2021 15:56:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164454.300757; Thu, 05 Aug 2021 15:56:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBfjk-00079X-Vq; Thu, 05 Aug 2021 15:56:48 +0000
Received: by outflank-mailman (input) for mailman id 164454;
 Thu, 05 Aug 2021 15:56:47 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vwN3=M4=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mBfjj-00079R-16
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 15:56:47 +0000
Received: from mail-pj1-x102d.google.com (unknown [2607:f8b0:4864:20::102d])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id d9d5c666-2916-49e1-a606-7349058bd377;
 Thu, 05 Aug 2021 15:56:46 +0000 (UTC)
Received: by mail-pj1-x102d.google.com with SMTP id
 pj14-20020a17090b4f4eb029017786cf98f9so10590900pjb.2
 for <xen-devel@lists.xenproject.org>; Thu, 05 Aug 2021 08:56:46 -0700 (PDT)
Received: from ?IPv6:2404:f801:0:5:8000::4b1? ([2404:f801:9000:1a:efea::4b1])
 by smtp.gmail.com with ESMTPSA id
 m1sm4685977pfk.84.2021.08.05.08.56.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Aug 2021 08:56: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: d9d5c666-2916-49e1-a606-7349058bd377
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:from:to:cc:references:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=RCTsDCtEUr9crU7FdVukkrAFOZDkX3iu2puUZlCshpI=;
        b=QLTD+I4si6TRStW3i+byEh+1Irtr6ILej9vo4oW1Nn2U3wtKPus5Q6l0kyCkqfLQ+P
         hZ8yjDAd0Nuc6MtizkDbmXNItH98ZjFBLjtXtMxv39zNJnaZWCHW2ngj5q4Pu9jNvfq8
         bzNSavZ4ty6c8S6Sfv/hFxaTSSnUMx90F8xfVWQm9z5xV1zhBRpVu10ETufiRpOiQTD9
         RzE6mO6mQczpUPW+Q+r00eX58g42C1HasWKWfZ2UVeAFyJj+HwJU606hzf87gKJ/+ooV
         BuwmRJ98aX+tfm7YNSXUbt4iN34dCtoubVxnaF1USweLp+Vjbulgjcf9sDEiBTuejvtR
         5IZA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:from:to:cc:references:message-id:date
         :user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=RCTsDCtEUr9crU7FdVukkrAFOZDkX3iu2puUZlCshpI=;
        b=W8o3TjOAxEcLWmqd1evyBdCRss43tJZzkHmX5Ixr6aHr6xhhhVyVc89BHJThNdm3Gi
         9K7n4SG7pM/p/f0S2FWRrTJldZF0u9RWI+Sai4bURIBh3DL9Yv4Znjif8YiAVdoewDh9
         QhrIKrsVORJRUBU7Df4skuIPFEnuh9anHp+qK8AHHR9aaJ2x3BZTgiBAUPcfeDhlRkQ0
         cLW3hkj2KPsqWXby1KgwKIRYmyHwVgnK4wb+e9Bprc6Y0nRgJZM8ciuTn8XKc5N9lI25
         1YncfVPLHlERxR/r2hqj5BiQAjGPYVpqJqWvo0sXQnqScsL/3ukrnKKzdh/WwiDps9De
         Z3Yg==
X-Gm-Message-State: AOAM5325X1kpcQXrmrF/PqfamLegytMSvDcnLJF6b+4Q1X3ssSvA31Yi
	3/OHVj0Fsbpxyq3Dh3JqVmM=
X-Google-Smtp-Source: ABdhPJx2CcJ9YMvvKydKzMmm/L2XWhlBqcisHtQ6BBUyv1YcZ1T2Ns9MTQ4Jit08qy2zQW953vHgXw==
X-Received: by 2002:a17:902:9a46:b029:12c:9aae:daac with SMTP id x6-20020a1709029a46b029012c9aaedaacmr4504908plv.78.1628179005359;
        Thu, 05 Aug 2021 08:56:45 -0700 (PDT)
Subject: Re: [PATCH V2 10/14] DMA: Add dma_map_decrypted/dma_unmap_encrypted()
 function
From: Tianyu Lan <ltykernel@gmail.com>
To: Christoph Hellwig <hch@lst.de>
Cc: iommu@lists.linux-foundation.org, linux-arch@vger.kernel.org,
 linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
 linux-scsi@vger.kernel.org, netdev@vger.kernel.org, vkuznets@redhat.com,
 parri.andrea@gmail.com, kys@microsoft.com, haiyangz@microsoft.com,
 sthemmin@microsoft.com, wei.liu@kernel.org, decui@microsoft.com,
 tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, x86@kernel.org,
 hpa@zytor.com, dave.hansen@linux.intel.com, luto@kernel.org,
 peterz@infradead.org, konrad.wilk@oracle.com, boris.ostrovsky@oracle.com,
 jgross@suse.com, sstabellini@kernel.org, joro@8bytes.org, will@kernel.org,
 davem@davemloft.net, kuba@kernel.org, jejb@linux.ibm.com,
 martin.petersen@oracle.com, arnd@arndb.de, m.szyprowski@samsung.com,
 robin.murphy@arm.com, Tianyu.Lan@microsoft.com, rppt@kernel.org,
 kirill.shutemov@linux.intel.com, akpm@linux-foundation.org,
 brijesh.singh@amd.com, thomas.lendacky@amd.com, pgonda@google.com,
 david@redhat.com, krish.sadhukhan@oracle.com, saravanand@fb.com,
 aneesh.kumar@linux.ibm.com, xen-devel@lists.xenproject.org,
 martin.b.radev@gmail.com, ardb@kernel.org, rientjes@google.com,
 tj@kernel.org, keescook@chromium.org, michael.h.kelley@microsoft.com
References: <20210804184513.512888-1-ltykernel@gmail.com>
 <20210804184513.512888-11-ltykernel@gmail.com>
Message-ID: <fc36c85f-cc34-5ad2-8f9c-06dbe85ca165@gmail.com>
Date: Thu, 5 Aug 2021 23:56:29 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <20210804184513.512888-11-ltykernel@gmail.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit

Hi Christoph:
      Could you have a look at this patch? It adds new API 
dma_map_decrypted() to do memory decrypted and remap. It will
be used in the swiotlb code.

Thanks.

On 8/5/2021 2:45 AM, Tianyu Lan wrote:
> From: Tianyu Lan <Tianyu.Lan@microsoft.com>
> 
> In Hyper-V Isolation VM with AMD SEV, swiotlb boucne buffer
> needs to be mapped into address space above vTOM and so
> introduce dma_map_decrypted/dma_unmap_encrypted() to map/unmap
> bounce buffer memory. The platform can populate man/unmap callback
> in the dma memory decrypted ops.
> 
> Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
> ---
>   include/linux/dma-map-ops.h |  9 +++++++++
>   kernel/dma/mapping.c        | 22 ++++++++++++++++++++++
>   2 files changed, 31 insertions(+)
> 
> diff --git a/include/linux/dma-map-ops.h b/include/linux/dma-map-ops.h
> index 0d53a96a3d64..01d60a024e45 100644
> --- a/include/linux/dma-map-ops.h
> +++ b/include/linux/dma-map-ops.h
> @@ -71,6 +71,11 @@ struct dma_map_ops {
>   	unsigned long (*get_merge_boundary)(struct device *dev);
>   };
>   
> +struct dma_memory_decrypted_ops {
> +	void *(*map)(void *addr, unsigned long size);
> +	void (*unmap)(void *addr);
> +};
> +
>   #ifdef CONFIG_DMA_OPS
>   #include <asm/dma-mapping.h>
>   
> @@ -374,6 +379,10 @@ static inline void debug_dma_dump_mappings(struct device *dev)
>   }
>   #endif /* CONFIG_DMA_API_DEBUG */
>   
> +void *dma_map_decrypted(void *addr, unsigned long size);
> +int dma_unmap_decrypted(void *addr, unsigned long size);
> +
>   extern const struct dma_map_ops dma_dummy_ops;
> +extern struct dma_memory_decrypted_ops dma_memory_generic_decrypted_ops;
>   
>   #endif /* _LINUX_DMA_MAP_OPS_H */
> diff --git a/kernel/dma/mapping.c b/kernel/dma/mapping.c
> index 2b06a809d0b9..6fb150dc1750 100644
> --- a/kernel/dma/mapping.c
> +++ b/kernel/dma/mapping.c
> @@ -13,11 +13,13 @@
>   #include <linux/of_device.h>
>   #include <linux/slab.h>
>   #include <linux/vmalloc.h>
> +#include <asm/set_memory.h>
>   #include "debug.h"
>   #include "direct.h"
>   
>   bool dma_default_coherent;
>   
> +struct dma_memory_decrypted_ops dma_memory_generic_decrypted_ops;
>   /*
>    * Managed DMA API
>    */
> @@ -736,3 +738,23 @@ unsigned long dma_get_merge_boundary(struct device *dev)
>   	return ops->get_merge_boundary(dev);
>   }
>   EXPORT_SYMBOL_GPL(dma_get_merge_boundary);
> +
> +void *dma_map_decrypted(void *addr, unsigned long size)
> +{
> +	if (set_memory_decrypted((unsigned long)addr,
> +				 size / PAGE_SIZE))
> +		return NULL;
> +
> +	if (dma_memory_generic_decrypted_ops.map)
> +		return dma_memory_generic_decrypted_ops.map(addr, size);
> +	else
> +		return addr;
> +}
> +
> +int dma_unmap_encrypted(void *addr, unsigned long size)
> +{
> +	if (dma_memory_generic_decrypted_ops.unmap)
> +		dma_memory_generic_decrypted_ops.unmap(addr);
> +
> +	return set_memory_encrypted((unsigned long)addr, size / PAGE_SIZE);
> +}
> 


From xen-devel-bounces@lists.xenproject.org Thu Aug 05 15:58:23 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 15:58:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164461.300769 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBflD-0007lb-De; Thu, 05 Aug 2021 15:58:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164461.300769; Thu, 05 Aug 2021 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 1mBflD-0007lU-Ab; Thu, 05 Aug 2021 15:58:19 +0000
Received: by outflank-mailman (input) for mailman id 164461;
 Thu, 05 Aug 2021 15:58:18 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kdBg=M4=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1mBflC-0007lO-4J
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 15:58:18 +0000
Received: from mx.upb.ro (unknown [141.85.13.221])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id bc1aaad2-ce6b-4683-9fa8-7ba8339166a8;
 Thu, 05 Aug 2021 15:58:16 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mx.upb.ro (Postfix) with ESMTP id D0068B56005D;
 Thu,  5 Aug 2021 18:58:14 +0300 (EEST)
Received: from mx.upb.ro ([127.0.0.1])
 by localhost (mx.upb.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id AxPH0Rbm83PJ; Thu,  5 Aug 2021 18:58:12 +0300 (EEST)
Received: from localhost (localhost [127.0.0.1])
 by mx.upb.ro (Postfix) with ESMTP id C81C5B56005F;
 Thu,  5 Aug 2021 18:58:12 +0300 (EEST)
Received: from mx.upb.ro ([127.0.0.1])
 by localhost (mx.upb.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id SPN36_qjnfB2; Thu,  5 Aug 2021 18:58:12 +0300 (EEST)
Received: from localhost.localdomain (unknown [86.121.144.181])
 by mx.upb.ro (Postfix) with ESMTPSA id 513BEB56005D;
 Thu,  5 Aug 2021 18:58:12 +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: bc1aaad2-ce6b-4683-9fa8-7ba8339166a8
X-Virus-Scanned: amavisd-new at upb.ro
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: xen-devel@lists.xenproject.org
Cc: Ian Jackson <iwj@xenproject.org>,
	Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH] tools/libs/ctrl/xc_vm_event.c: Remove redundant newlines from error messages
Date: Thu,  5 Aug 2021 18:58:09 +0300
Message-Id: <9baed69de702f3e87f14b86a4b4edbca386ec2e9.1628178928.git.costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.20.1
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

Messages printed with PERROR() do not need explicit newlines (\n)
because they are added implicitly.

Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
---
 tools/libs/ctrl/xc_vm_event.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/tools/libs/ctrl/xc_vm_event.c b/tools/libs/ctrl/xc_vm_event.=
c
index a97c615b18..2ac27c71b2 100644
--- a/tools/libs/ctrl/xc_vm_event.c
+++ b/tools/libs/ctrl/xc_vm_event.c
@@ -58,7 +58,7 @@ void *xc_vm_event_enable(xc_interface *xch, uint32_t do=
main_id, int param,
     rc1 =3D xc_domain_pause(xch, domain_id);
     if ( rc1 !=3D 0 )
     {
-        PERROR("Unable to pause domain\n");
+        PERROR("Unable to pause domain");
         return NULL;
     }
=20
@@ -66,7 +66,7 @@ void *xc_vm_event_enable(xc_interface *xch, uint32_t do=
main_id, int param,
     rc1 =3D xc_hvm_param_get(xch, domain_id, param, &pfn);
     if ( rc1 !=3D 0 )
     {
-        PERROR("Failed to get pfn of ring page\n");
+        PERROR("Failed to get pfn of ring page");
         goto out;
     }
=20
@@ -80,7 +80,7 @@ void *xc_vm_event_enable(xc_interface *xch, uint32_t do=
main_id, int param,
                                               &ring_pfn);
         if ( rc1 !=3D 0 )
         {
-            PERROR("Failed to populate ring pfn\n");
+            PERROR("Failed to populate ring pfn");
             goto out;
         }
     }
@@ -90,7 +90,7 @@ void *xc_vm_event_enable(xc_interface *xch, uint32_t do=
main_id, int param,
                                          &mmap_pfn, 1);
     if ( !ring_page )
     {
-        PERROR("Could not map the ring page\n");
+        PERROR("Could not map the ring page");
         goto out;
     }
=20
@@ -124,7 +124,7 @@ void *xc_vm_event_enable(xc_interface *xch, uint32_t =
domain_id, int param,
     rc1 =3D xc_vm_event_control(xch, domain_id, op, mode, port);
     if ( rc1 !=3D 0 )
     {
-        PERROR("Failed to enable vm_event\n");
+        PERROR("Failed to enable vm_event");
         goto out;
     }
=20
--=20
2.20.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 05 15:59:41 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 15:59:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164469.300781 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBfmW-0008Nf-Nk; Thu, 05 Aug 2021 15:59:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164469.300781; Thu, 05 Aug 2021 15:59:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBfmW-0008NY-Kp; Thu, 05 Aug 2021 15:59:40 +0000
Received: by outflank-mailman (input) for mailman id 164469;
 Thu, 05 Aug 2021 15:59:39 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NEHI=M4=gmail.com=olekstysh@srs-us1.protection.inumbo.net>)
 id 1mBfmV-0008NI-8q
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 15:59:39 +0000
Received: from mail-lf1-x136.google.com (unknown [2a00:1450:4864:20::136])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 2c5297b8-8747-4e25-a016-6323a2771d36;
 Thu, 05 Aug 2021 15:59:37 +0000 (UTC)
Received: by mail-lf1-x136.google.com with SMTP id f42so12048856lfv.7
 for <xen-devel@lists.xenproject.org>; Thu, 05 Aug 2021 08:59:37 -0700 (PDT)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id v78sm504732lfa.26.2021.08.05.08.59.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Aug 2021 08:59: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: 2c5297b8-8747-4e25-a016-6323a2771d36
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-transfer-encoding:content-language;
        bh=Pf7m95v7Yon74RwyFSAFtG5t7tNm9MZFvRe4WgwewUI=;
        b=IRQrxcuFygkpdI92sJESXIpCqHuhSbpMZVttO7V9UV9wY80yrTVA5lEu17eiBS2JV9
         MQlMNBtO/+4BjDfKhLxw/VMh34wa8I+suaOE//ZeRXqwHl8K1y7Spj9XLKTviNmfjw1M
         hCWOJ6biuxbp8VTyNYPy2KzP+Nuddc3doZNMPulLte42EawqAAXr7lmkGVsP2H4gEarz
         hh2ZM3pY7rnjh6t7QGZRbbNLHYJjVuc6c4BQRBQ53cW0bfTpllVZV8sViDR3QtpXN4/v
         MKSi4SLpyFu8Vf1H/q5JTBO2wPAxf+rjzJSK3O72NRfM+GrV7Yz7GhOFo7fHYpbW9pXS
         Cyiw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-transfer-encoding
         :content-language;
        bh=Pf7m95v7Yon74RwyFSAFtG5t7tNm9MZFvRe4WgwewUI=;
        b=DAF87xKF02hNqqz1fkMdnHJk3Ji7oh8dA+1pAzwxfsl/GSLrNG1MzU/OWn8AZZXfAV
         7j+bCaDiPNXCPd5BFh+MGpQJCcAjmYoCoCiWHXvdR9pf2g8TktOJ4F+DlmlQL8Mx6Gr5
         k+s0auClHrOHIr6UY3E+fvFtgKHM0jk6ghwWEzhgf0QMzYlPdlLAJ8qWZ956lKJ5CUTt
         YjLf1fkSeHWPOKKnhAja+FZt8ipmQHREeJTTHhxopzg7PE1VAkjBHpaDp5YSL26G33iV
         KPCFGzkS+lAwdJv6HyJZp9fzWPbHUCHFtW0UsXt0tEasO85cMpwLq5ue/2SZC3mOU4tq
         KDDg==
X-Gm-Message-State: AOAM533eChavCYUTUVsqOf1ckrLkdanplu09jTmXvx0bwf+85DNbsMM1
	cDNqcgSrdfHSWp30TBw4Tu0=
X-Google-Smtp-Source: ABdhPJx+dmaL1N7mhAVWWvis0BVlYHOVTYquESH93L+hkjyzOVZPbK6crxj+5niZUr8m0acS5yRDCg==
X-Received: by 2002:ac2:4472:: with SMTP id y18mr4279354lfl.137.1628179176754;
        Thu, 05 Aug 2021 08:59:36 -0700 (PDT)
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: xen-devel@lists.xenproject.org,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>, Ian Jackson <iwj@xenproject.org>,
 Wei Liu <wl@xen.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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <6e573489-ceb7-03f4-3511-e6c166b318a6@apertussolutions.com>
From: Oleksandr <olekstysh@gmail.com>
Message-ID: <ee685f11-4f34-614d-e0ba-7cafeda08344@gmail.com>
Date: Thu, 5 Aug 2021 18:59:35 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.10.0
MIME-Version: 1.0
In-Reply-To: <6e573489-ceb7-03f4-3511-e6c166b318a6@apertussolutions.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Content-Language: en-US


On 05.08.21 18:03, Daniel P. Smith wrote:

Hi Daniel.

> On 7/28/21 12:18 PM, Oleksandr Tyshchenko wrote:
>> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> ...
>
>> diff --git a/xen/common/memory.c b/xen/common/memory.c
>> index e07bd9a..3f9b816 100644
>> --- a/xen/common/memory.c
>> +++ b/xen/common/memory.c
>> @@ -1811,6 +1811,62 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>>               start_extent);
>>           break;
>>   
>> +    case XENMEM_get_unallocated_space:
>> +    {
>> +        struct xen_get_unallocated_space xgus;
>> +        struct xen_unallocated_region *regions;
>> +
>> +        if ( unlikely(start_extent) )
>> +            return -EINVAL;
>> +
>> +        if ( copy_from_guest(&xgus, arg, 1) ||
>> +             !guest_handle_okay(xgus.buffer, xgus.nr_regions) )
>> +            return -EFAULT;
>> +
>> +        d = rcu_lock_domain_by_any_id(xgus.domid);
>> +        if ( d == NULL )
>> +            return -ESRCH;
>> +
>> +        rc = xsm_get_unallocated_space(XSM_HOOK, d);
> Not sure if you are aware but XSM_HOOK is a no-op check, meaning that
> you are allowing any domain to do this operation on any other domain. In
> most cases there is an XSM check at the beginning of the hypercall
> processing to do an initial clamp down but I am pretty sure there is no
> prior XSM check on this path. Based on my understanding of how this is
> intended, which may be incorrect, but I think you would actually want
> XSM_TARGET.the
Thank you for pointing this out.
I am aware what the XSM_HOOK is, but I was thinking what the default 
action would be better suited for that hypercall, and failed to think of 
a better alternative.
I was going to choose XSM_TARGET, but the description "/* Can perform on 
self or your target domain */" confused me a bit, as there was no target 
domain involved as I thought, XSM_PRIV
sounded too strictly to me, etc. So, I decided to leave a "hook" for the 
RFC version. But, now I see that XSM_TARGET might be indeed better 
choice across all possible variants.


>
>> +        if ( rc )
>> +        {
>> +            rcu_unlock_domain(d);
>> +            return rc;
>> +        }
>> +
>> +        if ( !xgus.nr_regions || xgus.nr_regions > XEN_MAX_UNALLOCATED_REGIONS )
>> +        {
>> +            rcu_unlock_domain(d);
>> +            return -EINVAL;
>> +        }
>> +
>> +        regions = xzalloc_array(struct xen_unallocated_region, xgus.nr_regions);
>> +        if ( !regions )
>> +        {
>> +            rcu_unlock_domain(d);
>> +            return -ENOMEM;
>> +        }
>> +
>> +        rc = arch_get_unallocated_space(d, regions, &xgus.nr_regions);
>> +        if ( rc )
>> +            goto unallocated_out;
>> +
>> +        if ( __copy_to_guest(xgus.buffer, regions, xgus.nr_regions) )
>> +        {
>> +            rc = -EFAULT;
>> +            goto unallocated_out;
>> +        }
>> +
>> +        if ( __copy_to_guest(arg, &xgus, 1) )
>> +            rc = -EFAULT;
>> +
>> +unallocated_out:
>> +        rcu_unlock_domain(d);
>> +        xfree(regions);
>> +
>> +        break;
>> +    }
>> +
>>       default:
>>           rc = arch_memory_op(cmd, arg);
>>           break;
> ...
>
>> diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
>> index 363c6d7..2761fbd 100644
>> --- a/xen/include/xsm/dummy.h
>> +++ b/xen/include/xsm/dummy.h
>> @@ -772,3 +772,9 @@ static XSM_INLINE int xsm_domain_resource_map(XSM_DEFAULT_ARG struct domain *d)
>>       XSM_ASSERT_ACTION(XSM_DM_PRIV);
>>       return xsm_default_action(action, current->domain, d);
>>   }
>> +
>> +static XSM_INLINE int xsm_get_unallocated_space(XSM_DEFAULT_ARG struct domain *d)
>> +{
>> +    XSM_ASSERT_ACTION(XSM_HOOK);
> For completeness, if you switch to XSM_TARGET at the call site, you will
> want to change it here as well.

Yes.


>
>> +    return xsm_default_action(action, current->domain, d);
>> +}
> V/r,
> Daniel P. Smith

-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Thu Aug 05 16:01:36 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 16:01:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164477.300792 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBfoN-0001pw-3z; Thu, 05 Aug 2021 16:01:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164477.300792; Thu, 05 Aug 2021 16:01:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBfoN-0001pp-12; Thu, 05 Aug 2021 16:01:35 +0000
Received: by outflank-mailman (input) for mailman id 164477;
 Thu, 05 Aug 2021 16:01:33 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vwN3=M4=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mBfoL-0001pj-OI
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 16:01:33 +0000
Received: from mail-pj1-x102b.google.com (unknown [2607:f8b0:4864:20::102b])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 62f7a9ac-ea60-485e-a65f-231729c6fa62;
 Thu, 05 Aug 2021 16:01:32 +0000 (UTC)
Received: by mail-pj1-x102b.google.com with SMTP id
 pj14-20020a17090b4f4eb029017786cf98f9so10629611pjb.2
 for <xen-devel@lists.xenproject.org>; Thu, 05 Aug 2021 09:01:32 -0700 (PDT)
Received: from ?IPv6:2404:f801:0:5:8000::4b1? ([2404:f801:9000:1a:efea::4b1])
 by smtp.gmail.com with ESMTPSA id
 gw4sm6494737pjb.1.2021.08.05.09.01.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Aug 2021 09:01: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: 62f7a9ac-ea60-485e-a65f-231729c6fa62
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:from:to:cc:references:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=WRaE9XH9PPGoXiSu1dW4fjpmpf14LbZ6tQkVM+U7n10=;
        b=GSFXT25Y8QFtHBJ7Qb7q4VAwsUY5K+kxxL51Vu7CUSo5Qr1zNOx1q3QBVMAXPj3OPQ
         nRzVQ/kqGDl0c3sX8BA4DeG6jz2z6/KdrVccWpUVxhYmIvAzsnIFt1YmISLVMXqFIu91
         dAtETqrNQzV7k0/ax431VOxHYRC135stzFHs6xKJXt0iHtd61HjXiMV+1RfNH9dz3DeD
         w9sm9eSvfkn60dEVJBG7O7kJfoVZgFZTqzV/wvTe5KFCplBsPqryD0Xx9PW7GhBoU1Mb
         kWugm3Jdhw3Swvy6AN/blHN6qhz7yNnjqVCRHrf0cSvt4KeuXGIyjoBEYwPv3aLNvNvX
         tRTw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:from:to:cc:references:message-id:date
         :user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=WRaE9XH9PPGoXiSu1dW4fjpmpf14LbZ6tQkVM+U7n10=;
        b=Qe2jQ4qCr1uDEIw3tX6063uRaS/OxKapHkmQaMiTqs7OqNi6ZU/5R8DPh19lFAsuOz
         d5+wqasX+hbH8VkAgNAt1HXuJJsRMuLslG0T0Sh9Y+r2bjbnqOGL3whWDu3jErkAH/AH
         L2oCQUB1Iar1kenhzQayXoVCP9AH0YbKTBUMjQMmbz8BAkwqlwoK3ieaNcspMVqxBbr2
         vZmEeBT5I7XpA/C6rPYlwrnOrbaU6uip9QBKhyTHzrqhyKpklhpMIn45oFbYZ0RWEbVu
         qrEDRemX+nuXDS6dasXNiEqqfL6eSNFwHeKk8oKNnI1mPDhTIt7u80zYBlvKprwbjj8c
         D7DA==
X-Gm-Message-State: AOAM5315gTlqbo/4lVvDWx9P3lClV6exfbgrtKEXANPgFedOpBKfE6+k
	ILftzhE5KgRqlmbj2WYu+ew=
X-Google-Smtp-Source: ABdhPJwoNGkEzz3DrJnTKb2SFzGjUTk2Tk5DdSuGsTxsp/IyxTQK1MeB89eXdy5AjPBJiBI0XRW7Ag==
X-Received: by 2002:a63:d458:: with SMTP id i24mr1081624pgj.289.1628179292003;
        Thu, 05 Aug 2021 09:01:32 -0700 (PDT)
Subject: Re: [PATCH V2 11/14] x86/Swiotlb: Add Swiotlb bounce buffer remap
 function for HV IVM
From: Tianyu Lan <ltykernel@gmail.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: iommu@lists.linux-foundation.org, linux-arch@vger.kernel.org,
 linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
 linux-scsi@vger.kernel.org, netdev@vger.kernel.org, vkuznets@redhat.com,
 parri.andrea@gmail.com, kys@microsoft.com, haiyangz@microsoft.com,
 sthemmin@microsoft.com, wei.liu@kernel.org, decui@microsoft.com,
 tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, x86@kernel.org,
 hpa@zytor.com, dave.hansen@linux.intel.com, luto@kernel.org,
 peterz@infradead.org, boris.ostrovsky@oracle.com, jgross@suse.com,
 sstabellini@kernel.org, joro@8bytes.org, will@kernel.org,
 davem@davemloft.net, kuba@kernel.org, jejb@linux.ibm.com,
 martin.petersen@oracle.com, arnd@arndb.de, hch@lst.de,
 m.szyprowski@samsung.com, robin.murphy@arm.com, Tianyu.Lan@microsoft.com,
 rppt@kernel.org, kirill.shutemov@linux.intel.com, akpm@linux-foundation.org,
 brijesh.singh@amd.com, thomas.lendacky@amd.com, pgonda@google.com,
 david@redhat.com, krish.sadhukhan@oracle.com, saravanand@fb.com,
 aneesh.kumar@linux.ibm.com, xen-devel@lists.xenproject.org,
 martin.b.radev@gmail.com, ardb@kernel.org, rientjes@google.com,
 tj@kernel.org, keescook@chromium.org, michael.h.kelley@microsoft.com
References: <20210804184513.512888-1-ltykernel@gmail.com>
 <20210804184513.512888-12-ltykernel@gmail.com>
Message-ID: <9b1815bd-9019-360f-f648-5c99211a3474@gmail.com>
Date: Fri, 6 Aug 2021 00:01:15 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <20210804184513.512888-12-ltykernel@gmail.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit

Hi Konrad:
      Could you have a look at this new version? The change since v1 is 
make swiotlb_init_io_tlb_mem() return error code when 
dma_map_decrypted() fails according your previous comment. If this 
change is ok, could you give your ack and this series needs to be merged 
via Hyper-V next tree.

Thanks.

On 8/5/2021 2:45 AM, Tianyu Lan wrote:
> From: Tianyu Lan <Tianyu.Lan@microsoft.com>
> 
> In Isolation VM with AMD SEV, bounce buffer needs to be accessed via
> extra address space which is above shared_gpa_boundary
> (E.G 39 bit address line) reported by Hyper-V CPUID ISOLATION_CONFIG.
> The access physical address will be original physical address +
> shared_gpa_boundary. The shared_gpa_boundary in the AMD SEV SNP
> spec is called virtual top of memory(vTOM). Memory addresses below
> vTOM are automatically treated as private while memory above
> vTOM is treated as shared.
> 
> Use dma_map_decrypted() in the swiotlb code, store remap address returned
> and use the remap address to copy data from/to swiotlb bounce buffer.
> 
> Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
> ---
> Change since v1:
>         * Make swiotlb_init_io_tlb_mem() return error code and return
>           error when dma_map_decrypted() fails.
> 
> Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
> ---
>   include/linux/swiotlb.h |  4 ++++
>   kernel/dma/swiotlb.c    | 32 ++++++++++++++++++++++++--------
>   2 files changed, 28 insertions(+), 8 deletions(-)
> 
> diff --git a/include/linux/swiotlb.h b/include/linux/swiotlb.h
> index f507e3eacbea..584560ecaa8e 100644
> --- a/include/linux/swiotlb.h
> +++ b/include/linux/swiotlb.h
> @@ -72,6 +72,9 @@ extern enum swiotlb_force swiotlb_force;
>    * @end:	The end address of the swiotlb memory pool. Used to do a quick
>    *		range check to see if the memory was in fact allocated by this
>    *		API.
> + * @vaddr:	The vaddr of the swiotlb memory pool. The swiotlb
> + *		memory pool may be remapped in the memory encrypted case and store
> + *		virtual address for bounce buffer operation.
>    * @nslabs:	The number of IO TLB blocks (in groups of 64) between @start and
>    *		@end. For default swiotlb, this is command line adjustable via
>    *		setup_io_tlb_npages.
> @@ -89,6 +92,7 @@ extern enum swiotlb_force swiotlb_force;
>   struct io_tlb_mem {
>   	phys_addr_t start;
>   	phys_addr_t end;
> +	void *vaddr;
>   	unsigned long nslabs;
>   	unsigned long used;
>   	unsigned int index;
> diff --git a/kernel/dma/swiotlb.c b/kernel/dma/swiotlb.c
> index 1fa81c096c1d..29b6d888ef3b 100644
> --- a/kernel/dma/swiotlb.c
> +++ b/kernel/dma/swiotlb.c
> @@ -176,7 +176,7 @@ void __init swiotlb_update_mem_attributes(void)
>   	memset(vaddr, 0, bytes);
>   }
>   
> -static void swiotlb_init_io_tlb_mem(struct io_tlb_mem *mem, phys_addr_t start,
> +static int swiotlb_init_io_tlb_mem(struct io_tlb_mem *mem, phys_addr_t start,
>   				    unsigned long nslabs, bool late_alloc)
>   {
>   	void *vaddr = phys_to_virt(start);
> @@ -194,14 +194,21 @@ static void swiotlb_init_io_tlb_mem(struct io_tlb_mem *mem, phys_addr_t start,
>   		mem->slots[i].alloc_size = 0;
>   	}
>   
> -	set_memory_decrypted((unsigned long)vaddr, bytes >> PAGE_SHIFT);
> -	memset(vaddr, 0, bytes);
> +	mem->vaddr = dma_map_decrypted(vaddr, bytes);
> +	if (!mem->vaddr) {
> +		pr_err("Failed to decrypt memory.\n");
> +		return -ENOMEM;
> +	}
> +
> +	memset(mem->vaddr, 0, bytes);
> +	return 0;
>   }
>   
>   int __init swiotlb_init_with_tbl(char *tlb, unsigned long nslabs, int verbose)
>   {
>   	struct io_tlb_mem *mem;
>   	size_t alloc_size;
> +	int ret;
>   
>   	if (swiotlb_force == SWIOTLB_NO_FORCE)
>   		return 0;
> @@ -216,7 +223,11 @@ int __init swiotlb_init_with_tbl(char *tlb, unsigned long nslabs, int verbose)
>   		panic("%s: Failed to allocate %zu bytes align=0x%lx\n",
>   		      __func__, alloc_size, PAGE_SIZE);
>   
> -	swiotlb_init_io_tlb_mem(mem, __pa(tlb), nslabs, false);
> +	ret = swiotlb_init_io_tlb_mem(mem, __pa(tlb), nslabs, false);
> +	if (ret) {
> +		memblock_free(__pa(mem), alloc_size);
> +		return ret;
> +	}
>   
>   	io_tlb_default_mem = mem;
>   	if (verbose)
> @@ -304,6 +315,8 @@ int
>   swiotlb_late_init_with_tbl(char *tlb, unsigned long nslabs)
>   {
>   	struct io_tlb_mem *mem;
> +	int size = get_order(struct_size(mem, slots, nslabs));
> +	int ret;
>   
>   	if (swiotlb_force == SWIOTLB_NO_FORCE)
>   		return 0;
> @@ -312,12 +325,15 @@ swiotlb_late_init_with_tbl(char *tlb, unsigned long nslabs)
>   	if (WARN_ON_ONCE(io_tlb_default_mem))
>   		return -ENOMEM;
>   
> -	mem = (void *)__get_free_pages(GFP_KERNEL,
> -		get_order(struct_size(mem, slots, nslabs)));
> +	mem = (void *)__get_free_pages(GFP_KERNEL, size);
>   	if (!mem)
>   		return -ENOMEM;
>   
> -	swiotlb_init_io_tlb_mem(mem, virt_to_phys(tlb), nslabs, true);
> +	ret = swiotlb_init_io_tlb_mem(mem, virt_to_phys(tlb), nslabs, true);
> +	if (ret) {
> +		free_pages((unsigned long)mem, size);
> +		return ret;
> +	}
>   
>   	io_tlb_default_mem = mem;
>   	swiotlb_print_info();
> @@ -360,7 +376,7 @@ static void swiotlb_bounce(struct device *dev, phys_addr_t tlb_addr, size_t size
>   	phys_addr_t orig_addr = mem->slots[index].orig_addr;
>   	size_t alloc_size = mem->slots[index].alloc_size;
>   	unsigned long pfn = PFN_DOWN(orig_addr);
> -	unsigned char *vaddr = phys_to_virt(tlb_addr);
> +	unsigned char *vaddr = mem->vaddr + tlb_addr - mem->start;
>   	unsigned int tlb_offset;
>   
>   	if (orig_addr == INVALID_PHYS_ADDR)
> 


From xen-devel-bounces@lists.xenproject.org Thu Aug 05 16:37:56 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 16:37:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164494.300805 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBgNI-000553-45; Thu, 05 Aug 2021 16:37:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164494.300805; Thu, 05 Aug 2021 16:37:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBgNI-00054w-06; Thu, 05 Aug 2021 16:37:40 +0000
Received: by outflank-mailman (input) for mailman id 164494;
 Thu, 05 Aug 2021 16:37:39 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DXIG=M4=apertussolutions.com=dpsmith@srs-us1.protection.inumbo.net>)
 id 1mBgNH-00054q-Fg
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 16:37:39 +0000
Received: from sender4-of-o51.zoho.com (unknown [136.143.188.51])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 3e1a6901-367a-4edf-85c3-08b534a4ed47;
 Thu, 05 Aug 2021 16:37:38 +0000 (UTC)
Received: from [10.10.1.24] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1628181447491448.4037791473961;
 Thu, 5 Aug 2021 09:37:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3e1a6901-367a-4edf-85c3-08b534a4ed47
ARC-Seal: i=1; a=rsa-sha256; t=1628181452; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=b9FNzdBERyOS/rb+yqbsYaY/XNLw4z2jaJLE8dLGxFtSC5HpXBZdyDhGXyRVgdhG12LUH0HZOZvGBeChKi29aPlpyKHgm4H6GyGpYqfJTN1vTGa5yboVKFIeiSQQF8R46r/hWux6SU/jMmW10ZVGCs1Sl4qOwo/W8nBjEPVU+Dc=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1628181452; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=Qa4584XltKHjJ1wQAT6FGYfNLVVWGTyVkOKd1H6WQs4=; 
	b=EHdYQQxWa54PWxV6FDST0DKiHjq0a4QCThPBqaVf7dLQzW8bAZrOYRcRiQ/H9wISVUWIzlX/Z+5eeNVGorG1EFbazhSGWlvM89x3Uc6GgM6SwgtSoK/ZgmwTMMLY1IEi0s1xlfsupaVGnUwpR8OkXvtAnEyc6ACr0CrDf/Qx4qc=
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=1628181452;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=To:Cc:References:From:Subject:Message-ID:Date:MIME-Version:In-Reply-To:Content-Type:Content-Transfer-Encoding;
	bh=Qa4584XltKHjJ1wQAT6FGYfNLVVWGTyVkOKd1H6WQs4=;
	b=qSeBcreSxo1ZUr1SUXXSpBGPYPeBCQG6iu6Im/O9oLrML1784vjX5IsUTA4hfFes
	EaEK1Hsa+c35jpCvFtEole/ft8ONdA5drsGEYLvCenOOEjUEmT+fAXcBSP0LuPi7e3t
	Jlkos1B6XTUjrb4KzZqWVGv7ZeeAYx5t5CVOIakc=
To: Oleksandr <olekstysh@gmail.com>
Cc: xen-devel@lists.xenproject.org,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>, Ian Jackson <iwj@xenproject.org>,
 Wei Liu <wl@xen.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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <6e573489-ceb7-03f4-3511-e6c166b318a6@apertussolutions.com>
 <ee685f11-4f34-614d-e0ba-7cafeda08344@gmail.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
Message-ID: <ca936d82-cc31-a127-488c-e4e33ceb6fbb@apertussolutions.com>
Date: Thu, 5 Aug 2021 12:37:25 -0400
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <ee685f11-4f34-614d-e0ba-7cafeda08344@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

Hey Oleksandr!

On 8/5/21 11:59 AM, Oleksandr wrote:
> 
> On 05.08.21 18:03, Daniel P. Smith wrote:
> 
> Hi Daniel.
> 
>> On 7/28/21 12:18 PM, Oleksandr Tyshchenko wrote:
>>> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>> ...
>>
>>> diff --git a/xen/common/memory.c b/xen/common/memory.c
>>> index e07bd9a..3f9b816 100644
>>> --- a/xen/common/memory.c
>>> +++ b/xen/common/memory.c
>>> @@ -1811,6 +1811,62 @@ long do_memory_op(unsigned long cmd,
>>> XEN_GUEST_HANDLE_PARAM(void) arg)
>>>               start_extent);
>>>           break;
>>>   +    case XENMEM_get_unallocated_space:
>>> +    {
>>> +        struct xen_get_unallocated_space xgus;
>>> +        struct xen_unallocated_region *regions;
>>> +
>>> +        if ( unlikely(start_extent) )
>>> +            return -EINVAL;
>>> +
>>> +        if ( copy_from_guest(&xgus, arg, 1) ||
>>> +             !guest_handle_okay(xgus.buffer, xgus.nr_regions) )
>>> +            return -EFAULT;
>>> +
>>> +        d = rcu_lock_domain_by_any_id(xgus.domid);
>>> +        if ( d == NULL )
>>> +            return -ESRCH;
>>> +
>>> +        rc = xsm_get_unallocated_space(XSM_HOOK, d);
>> Not sure if you are aware but XSM_HOOK is a no-op check, meaning that
>> you are allowing any domain to do this operation on any other domain. In
>> most cases there is an XSM check at the beginning of the hypercall
>> processing to do an initial clamp down but I am pretty sure there is no
>> prior XSM check on this path. Based on my understanding of how this is
>> intended, which may be incorrect, but I think you would actually want
>> XSM_TARGET.the
> Thank you for pointing this out.
> I am aware what the XSM_HOOK is, but I was thinking what the default
> action would be better suited for that hypercall, and failed to think of
> a better alternative.
> I was going to choose XSM_TARGET, but the description "/* Can perform on
> self or your target domain */" confused me a bit, as there was no target
> domain involved as I thought, XSM_PRIV
> sounded too strictly to me, etc. So, I decided to leave a "hook" for the
> RFC version. But, now I see that XSM_TARGET might be indeed better
> choice across all possible variants.

If you unravel the craftiness that is xsm_default_action, there is
actually a bit of hierarchy there. If you set the default_action to
XSM_TARGET, it will first check if calling domain(src) is the target,
then falls into the XSM_DM_PRIV check which is if src->target == target,
and then finally checks if is_control_domain(src). That will constrict
the operation so that a domain can call it on itself, a device model
domain (stubdom) can call it on the domain it is backing, and the
control domain can make the call. I am not a 100% sure on this but I do
not believe a hardware domain would be able to make the call with it set
to XSM_TARGET and not employing Flask. Hope this helps.





From xen-devel-bounces@lists.xenproject.org Thu Aug 05 17:26:15 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 17:26:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164506.300817 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBh88-0001UJ-G2; Thu, 05 Aug 2021 17:26:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164506.300817; Thu, 05 Aug 2021 17:26:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBh88-0001UC-D1; Thu, 05 Aug 2021 17:26:04 +0000
Received: by outflank-mailman (input) for mailman id 164506;
 Thu, 05 Aug 2021 17:26: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 1mBh87-0001U6-2w
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 17:26: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 1mBh7u-0000vX-CS; Thu, 05 Aug 2021 17:25:50 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mBh7u-0006QW-4i; Thu, 05 Aug 2021 17:25: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:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=t5MHGgSYaYM647az6c/SO0g1uGU2hwBEGxKeCB4tulQ=; b=Hfz0HuvwAXiVfABlIj4+2cOaYc
	tbOinMXLF4LF+UyWPyKuRbwQcYrgISD+XMj/WBLrCgVGRH1VSHognVUIciW+KkWWeHCmosW+n+QCA
	7ZSanpTNcXr1JRGV53WDhecUCV4FLe4QAcsZDe2J7tUVfRildU6FxljcnLg6qGB6Gbbg=;
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
To: Oleksandr <olekstysh@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <80fafc01-f063-d6e5-1c08-7ad64550310c@citrix.com>
 <e8db3021-78a5-e040-a70b-62ca5b500149@xen.org>
 <4de5ed21-379e-b618-44c8-924d88b1a519@citrix.com>
 <bbc7f597-5249-20a0-cac9-13f594268299@xen.org>
 <6a633f4e-13e0-4a2b-cf6e-35ef90ae977c@gmail.com>
 <alpine.DEB.2.21.2107301630510.10122@sstabellini-ThinkPad-T480s>
 <f6b2e6c6-bf58-960f-4a09-f05ebcf1f566@gmail.com>
 <5643d414-0b76-74a4-2c37-c7a99338d547@gmail.com>
 <c83378af-4d3b-9256-0e0d-f88c43c6de2f@xen.org>
 <775a2c0b-fbcc-db6d-c2a1-4ad350448c92@gmail.com>
From: Julien Grall <julien@xen.org>
Message-ID: <cb1c8fd4-a4c5-c18e-c8db-f8e317d95526@xen.org>
Date: Thu, 5 Aug 2021 18:25:46 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <775a2c0b-fbcc-db6d-c2a1-4ad350448c92@gmail.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit

Hi Oleksandr,

On 05/08/2021 15:52, Oleksandr wrote:
> 
> On 05.08.21 01:00, Julien Grall wrote:
>>
>>
>> On 04/08/2021 21:56, Oleksandr wrote:
>>>
>>> Hi Julien, Stefano.
>>
>> Hi Oleksandr,
> 
> 
> Hi, Julien
> 
> 
> Thank you for the prompt reply and explanations.
> 
> 
>>
>>>
>>> On 02.08.21 22:12, Oleksandr wrote:
>>> I have done some experiments with Xen and toolstack according to the 
>>> discussion above. So, I re-used DTB to pass a safe range to the 
>>> domain. For the range I borrowed some space from the second RAM bank.
>>>
>>> -#define GUEST_RAM1_BASE   xen_mk_ullong(0x0200000000) /* 1016GB of 
>>> RAM @ 8GB */
>>> -#define GUEST_RAM1_SIZE   xen_mk_ullong(0xfe00000000)
>>> +#define GUEST_RAM1_BASE   xen_mk_ullong(0x0200000000) /* 888GB of 
>>> RAM @ 8GB */
>>> +#define GUEST_RAM1_SIZE   xen_mk_ullong(0xDE00000000)
>>> +
>>
>> I am a bit split with reducing the amount of RAM. On one hand large 
>> guest is not unheard on the server side (at least in the x86 world). 
>> On the other hand, I am not aware of anyone using Xen on Arm in such 
>> setup.
>>
>> So technically this will be a regression, but it may be OK.
> 
> I got it.
> 
> 
>>
>>
>> Regarding the range, this will be a problem as Xen configure the 
>> number of the IPA bits based on the PA bits. The lowest possible 
>> address space ize on 64-bit is 4GB.
>>
>> From my understanding, this is because the number of IPA bits 
>> supported is contrained by the PA bits. So the position and the size 
>> of the region
>> would need to depend on the P2M configuration.
> 
> Indeed, I missed these bits that IPA bits on Arm64 might be < 40 bit, I 
> remember, we select p2m_ipa_bits in setup_virt_paging() depending on 
> pabits, moreover the p2m_ipa_bits might be even restricted by some 
> external entity (IOMMU, if P2M is shared).
> 
> 
>>
>> For simplicity, this could be the last few X bytes of the supported 
>> address space.
> ok, agree. To summarize, so it sounds like we can't use the fixed safe 
> range as in my example, it must be variable. Well, I hope, we will be 
> able to achieve this without reducing the total amount of domain RAM in 
> front (GUEST_RAM1_SIZE). After all, we know the IPA size and the domain 
> RAM in advance, so we certainly can choose the start and size of the 
> range. In case, we won't be able to find a suitable large chunk (for 
> example, when IPA bits = 32, and domain has a lot of RAM assigned and as 
> the result - almost all address space below 4GB is in use), we won't 
> expose a safe range to a domain at all, and domain will just fall back 
> to use real pages instead (actually, how it currently behaves on Arm).

I think it would be fine for a first approach. We can refine it in the 
future. What matters is that we correctly define the binding/hypercall.

> 
> A side note: we would likely need the toolstack (that generates 
> device-tree for guests) to query IPA size, or similar.

I think we can use XEN_SYSCTL_* (or possibly hypfs) for that.

>>
>>
>> For 32-bit domain, we also need to make sure the address is usable for 
>> domain short page tables (not too long ago Debian was shipping the 
>> kernel with them rather than LPAE). I haven't yet checked what's the 
>> limit here.
> 
> Hmm, I didn't take this use-case into the account. So, I assume we need 
> the safe range to be located below 4GB if is_32bit_domain() returns true.

Yes. Or we can say that if you are using a 32-bit domain then we don't 
(yet) support a safe range for range.
>> So we would need some heuristic to decide whether to stole some RAM or 
>> use the safe space.
>> Another possibility would be to add a new compatible in the DT that 
>> indicates the region is "big" enough.
> I like the last idea, did you perhaps mean new property (optional) 
> rather than new compatible? Let's say "xen, safe-range" or "xen, 
> extended-regions"  ...

I actually meant adding an extra compatible because this is technically 
a change of the binding (even though it is backward compatible).

Although, I would be OK with the property. You may first want to ask the 
Device-Tree folks how they expect a binding to be extended in a backward 
compatible way.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 05 20:23:33 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 20:23:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164576.300860 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBjtZ-0000jh-Hl; Thu, 05 Aug 2021 20:23:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164576.300860; Thu, 05 Aug 2021 20:23:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBjtZ-0000ja-EF; Thu, 05 Aug 2021 20:23:13 +0000
Received: by outflank-mailman (input) for mailman id 164576;
 Thu, 05 Aug 2021 20:23: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 1mBjtY-0000jQ-T0; Thu, 05 Aug 2021 20:23: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 1mBjtY-0003au-KV; Thu, 05 Aug 2021 20:23: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 1mBjtY-0006lr-8X; Thu, 05 Aug 2021 20:23:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mBjtY-0004we-84; Thu, 05 Aug 2021 20:23:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=2yuv9pzK+Ni6hYqVxKWoDHEZO9XY/SzxMiHCmQsdVEU=; b=yFCa/22xIKYsTvYghTeJJmQ0BN
	v+Y399p5qsS4cWuhSzOpo3o6n3z6PZnOdj7nWOK9ADrnAtriW4SD5tr2offNnP8J65Nztuhv9jI05
	M/uajMOhTUo2kmy3Rf6cjLGHxRFaS5WjkPSCQNrCtK7Fnr/xuNNejfvduMgwnch5RbCc=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164112-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164112: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:xen-boot:fail:heisenbug
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=251a1524293d0a90c4d5060f65f42a3016280049
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 05 Aug 2021 20:23:12 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop              fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 20 guest-stop               fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 14 guest-start    fail in 164109 REGR. vs. 152332

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl-thunderx  8 xen-boot         fail in 164109 pass in 164112
 test-arm64-arm64-libvirt-xsm 13 debian-fixup               fail pass in 164109

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

version targeted for testing:
 linux                251a1524293d0a90c4d5060f65f42a3016280049
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  370 days
Failing since        152366  2020-08-01 20:49:34 Z  368 days  642 attempts
Testing same since   164109  2021-08-05 05:24:57 Z    0 days    2 attempts

------------------------------------------------------------
6754 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Thu Aug 05 20:49:09 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 20:49:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164586.300875 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBkIX-00035R-NR; Thu, 05 Aug 2021 20:49:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164586.300875; Thu, 05 Aug 2021 20: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 1mBkIX-00035K-KZ; Thu, 05 Aug 2021 20:49:01 +0000
Received: by outflank-mailman (input) for mailman id 164586;
 Thu, 05 Aug 2021 20:49:00 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NEHI=M4=gmail.com=olekstysh@srs-us1.protection.inumbo.net>)
 id 1mBkIV-00035E-V3
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 20:49:00 +0000
Received: from mail-lf1-x12e.google.com (unknown [2a00:1450:4864:20::12e])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 59be7848-5179-4eb9-bd59-ef3482ab0389;
 Thu, 05 Aug 2021 20:48:55 +0000 (UTC)
Received: by mail-lf1-x12e.google.com with SMTP id g13so13591486lfj.12
 for <xen-devel@lists.xenproject.org>; Thu, 05 Aug 2021 13:48:55 -0700 (PDT)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id w16sm619485lfq.257.2021.08.05.13.48.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Aug 2021 13:48:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 59be7848-5179-4eb9-bd59-ef3482ab0389
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-transfer-encoding:content-language;
        bh=XfTpA3B2yYCf5uWgmwpWB79UPwcJ0TZiJ6prwy994vg=;
        b=W45hbX4jVP9pdAViCi+xWKK2eGFFgbgZ5cXL0/RWLDJxxNzd98yZtOQzVyE4iaRA8k
         1BlA14pf/CHyrC2TQlVkXuE9eQ49d649FREDXEK0nUtm7gt6UOZSxuedHTVEM/iLkwI5
         FfWAFo7BzWRWP7fdjkaaTvkX6a5+UfDKnC3mjgmvCKbsu80Oz9sCUuLn45iLiZsCBV2Q
         I4HoZ/pSkFCLF3Zjjua1bEgjrpSKZiLhQpiFccS9NDNOFUtul7TtKUi/TuKOjPWHasz6
         WW1N5R4ItzweBZJf53FwF1t8ge/U9jBL0ZyG/BTxZwQfWXHBCAvEc2JfvZeJJGM+FC1D
         1KIA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-transfer-encoding
         :content-language;
        bh=XfTpA3B2yYCf5uWgmwpWB79UPwcJ0TZiJ6prwy994vg=;
        b=axta9jGBbeimP7JPVKnFXcxX3JUGbk+v0wm8aiqqf0qMfNhtGWOYb1usgkQccJMyok
         Cl0M7BO2eLe0E/OZb4XLL0ztGAac3uoA/uqISgAdbMzH56acGXaEvSHPycwsNRhICqm3
         ilcr1PBjQ3MUteECAFwT6DjfdAOkIH7L+A0qwdoYi4iHRgc2z8jeDGiHEP58eVjif/an
         Xe58smbuQKud6cVmfkl5kId/LWzU4cux4BBl2Az8FMOc48QBp1/da0s50kun93zQYPOp
         tBm5s3aX5mcySI40O82+kCCfH0tONPrs2YFs4sOBGeu/UEWz6+zyCYp2BL7aMLdd2AnV
         OoLg==
X-Gm-Message-State: AOAM532PsaufVWWXe4TqNDkSeCigaKwchnhv4yGG0NIgGqaNrvknLJG3
	5bwCsJtEAZiZp+3QAGflCt0=
X-Google-Smtp-Source: ABdhPJxno1PBq25O6PSVxErNOwR7m6PnazZyv6Wsp1e/xgi7hEMAAYOlRpmFoU1MWins7IDJGYtxgw==
X-Received: by 2002:a19:8c07:: with SMTP id o7mr5017120lfd.637.1628196532975;
        Thu, 05 Aug 2021 13:48:52 -0700 (PDT)
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
To: Julien Grall <julien@xen.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <80fafc01-f063-d6e5-1c08-7ad64550310c@citrix.com>
 <e8db3021-78a5-e040-a70b-62ca5b500149@xen.org>
 <4de5ed21-379e-b618-44c8-924d88b1a519@citrix.com>
 <bbc7f597-5249-20a0-cac9-13f594268299@xen.org>
 <6a633f4e-13e0-4a2b-cf6e-35ef90ae977c@gmail.com>
 <alpine.DEB.2.21.2107301630510.10122@sstabellini-ThinkPad-T480s>
 <f6b2e6c6-bf58-960f-4a09-f05ebcf1f566@gmail.com>
 <5643d414-0b76-74a4-2c37-c7a99338d547@gmail.com>
 <c83378af-4d3b-9256-0e0d-f88c43c6de2f@xen.org>
 <775a2c0b-fbcc-db6d-c2a1-4ad350448c92@gmail.com>
 <cb1c8fd4-a4c5-c18e-c8db-f8e317d95526@xen.org>
From: Oleksandr <olekstysh@gmail.com>
Message-ID: <4e7c7229-82d7-2de2-aafe-d9f6a172c169@gmail.com>
Date: Thu, 5 Aug 2021 23:48:51 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.10.0
MIME-Version: 1.0
In-Reply-To: <cb1c8fd4-a4c5-c18e-c8db-f8e317d95526@xen.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US


On 05.08.21 20:25, Julien Grall wrote:
> Hi Oleksandr,

Hi Julien


>
> On 05/08/2021 15:52, Oleksandr wrote:
>>
>> On 05.08.21 01:00, Julien Grall wrote:
>>>
>>>
>>> On 04/08/2021 21:56, Oleksandr wrote:
>>>>
>>>> Hi Julien, Stefano.
>>>
>>> Hi Oleksandr,
>>
>>
>> Hi, Julien
>>
>>
>> Thank you for the prompt reply and explanations.
>>
>>
>>>
>>>>
>>>> On 02.08.21 22:12, Oleksandr wrote:
>>>> I have done some experiments with Xen and toolstack according to 
>>>> the discussion above. So, I re-used DTB to pass a safe range to the 
>>>> domain. For the range I borrowed some space from the second RAM bank.
>>>>
>>>> -#define GUEST_RAM1_BASE   xen_mk_ullong(0x0200000000) /* 1016GB of 
>>>> RAM @ 8GB */
>>>> -#define GUEST_RAM1_SIZE   xen_mk_ullong(0xfe00000000)
>>>> +#define GUEST_RAM1_BASE   xen_mk_ullong(0x0200000000) /* 888GB of 
>>>> RAM @ 8GB */
>>>> +#define GUEST_RAM1_SIZE   xen_mk_ullong(0xDE00000000)
>>>> +
>>>
>>> I am a bit split with reducing the amount of RAM. On one hand large 
>>> guest is not unheard on the server side (at least in the x86 world). 
>>> On the other hand, I am not aware of anyone using Xen on Arm in such 
>>> setup.
>>>
>>> So technically this will be a regression, but it may be OK.
>>
>> I got it.
>>
>>
>>>
>>>
>>> Regarding the range, this will be a problem as Xen configure the 
>>> number of the IPA bits based on the PA bits. The lowest possible 
>>> address space ize on 64-bit is 4GB.
>>>
>>> From my understanding, this is because the number of IPA bits 
>>> supported is contrained by the PA bits. So the position and the size 
>>> of the region
>>> would need to depend on the P2M configuration.
>>
>> Indeed, I missed these bits that IPA bits on Arm64 might be < 40 bit, 
>> I remember, we select p2m_ipa_bits in setup_virt_paging() depending 
>> on pabits, moreover the p2m_ipa_bits might be even restricted by some 
>> external entity (IOMMU, if P2M is shared).
>>
>>
>>>
>>> For simplicity, this could be the last few X bytes of the supported 
>>> address space.
>> ok, agree. To summarize, so it sounds like we can't use the fixed 
>> safe range as in my example, it must be variable. Well, I hope, we 
>> will be able to achieve this without reducing the total amount of 
>> domain RAM in front (GUEST_RAM1_SIZE). After all, we know the IPA 
>> size and the domain RAM in advance, so we certainly can choose the 
>> start and size of the range. In case, we won't be able to find a 
>> suitable large chunk (for example, when IPA bits = 32, and domain has 
>> a lot of RAM assigned and as the result - almost all address space 
>> below 4GB is in use), we won't expose a safe range to a domain at 
>> all, and domain will just fall back to use real pages instead 
>> (actually, how it currently behaves on Arm).
>
> I think it would be fine for a first approach. We can refine it in the 
> future. What matters is that we correctly define the binding/hypercall.

ok


>
>>
>> A side note: we would likely need the toolstack (that generates 
>> device-tree for guests) to query IPA size, or similar.
>
> I think we can use XEN_SYSCTL_* (or possibly hypfs) for that.

probably yes, need to investigate


>
>
>>>
>>>
>>> For 32-bit domain, we also need to make sure the address is usable 
>>> for domain short page tables (not too long ago Debian was shipping 
>>> the kernel with them rather than LPAE). I haven't yet checked what's 
>>> the limit here.
>>
>> Hmm, I didn't take this use-case into the account. So, I assume we 
>> need the safe range to be located below 4GB if is_32bit_domain() 
>> returns true.
>
> Yes. Or we can say that if you are using a 32-bit domain then we don't 
> (yet) support a safe range for range.

yes, as a variant


>
>>> So we would need some heuristic to decide whether to stole some RAM 
>>> or use the safe space.
>>> Another possibility would be to add a new compatible in the DT that 
>>> indicates the region is "big" enough.
>> I like the last idea, did you perhaps mean new property (optional) 
>> rather than new compatible? Let's say "xen, safe-range" or "xen, 
>> extended-regions"  ...
>
> I actually meant adding an extra compatible because this is 
> technically a change of the binding (even though it is backward 
> compatible).
>
> Although, I would be OK with the property. You may first want to ask 
> the Device-Tree folks how they expect a binding to be extended in a 
> backward compatible way.

makes sense, will clarify these bits


>
> Cheers,
>
-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Thu Aug 05 21:56:28 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 21:56:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164594.300888 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBlLX-0000wb-P5; Thu, 05 Aug 2021 21:56:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164594.300888; Thu, 05 Aug 2021 21: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 1mBlLX-0000wU-La; Thu, 05 Aug 2021 21:56:11 +0000
Received: by outflank-mailman (input) for mailman id 164594;
 Thu, 05 Aug 2021 21:56:10 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NEHI=M4=gmail.com=olekstysh@srs-us1.protection.inumbo.net>)
 id 1mBlLW-0000wO-D0
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 21:56:10 +0000
Received: from mail-lj1-x234.google.com (unknown [2a00:1450:4864:20::234])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 95e11c37-fc84-4fed-b387-9c6cc4ea15c7;
 Thu, 05 Aug 2021 21:56:07 +0000 (UTC)
Received: by mail-lj1-x234.google.com with SMTP id b21so9031386ljo.13
 for <xen-devel@lists.xenproject.org>; Thu, 05 Aug 2021 14:56:07 -0700 (PDT)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id b14sm514918lji.91.2021.08.05.14.56.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Aug 2021 14:56: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: 95e11c37-fc84-4fed-b387-9c6cc4ea15c7
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-transfer-encoding:content-language;
        bh=0yMYBSSM7CnT0tSAdjnTTx3aY4/DoOlmJ2kAA80ZkIQ=;
        b=ufjdOQEZTCoFijCbAr80H337fFeIqChTIt3GQsguGa7eQBf04Js0CjInr2wAA4LfHW
         /urj1PNMxxLHXIZl1hzkKn4aDTkJ4EEuyeyNIFvkRQ3TLihrqMS7a+J5gh1qwpXLjiY8
         kXdjlOmYu08kVFW4hvbRX2UC9pSyVDyPfz1TzHsXyE9mo4UZ+D8NudYyxzpBSUFH6UpV
         Q2FvvIjazFL31gksvd4NEYjoD2j05+7DdhVlHYpFTgMF5DBsGlfmAQp/+jihsNCSkTf+
         Rr/u7Pm6+qBDP+Bof+meuO3re9m/5yLGqWZpTfCZDsO3UwBsthDE0CMDjzrr8W3pcNnz
         TdMg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-transfer-encoding
         :content-language;
        bh=0yMYBSSM7CnT0tSAdjnTTx3aY4/DoOlmJ2kAA80ZkIQ=;
        b=dB9EFP0bdD+k8JNbLIPMsZSVUkiamxf3/TMh/HtixSFsGFExeHJ9TuovhRGlQy9JsY
         NwKpGdR4z7pdGDfycRyiXLZ5Y9SputRwwRtBTTX/jBhlJesDb+vTH4UoGG2xyaVGuNRF
         3fxwdXXLp1OKGPlSAGTa/p2HvUSw/miPI398PcTxU8UU4MtIa0ka6PI9g1YtlieSI20p
         Ax2KP9CXTYUTMRgi3agqk0fMTZGHW7oEAwP5AL9bIMK3xWZg3NKQZacaU9poRkU+bBSx
         GxU2RsRdm1+m2BQSla+xsA1MZbx1fw50qF1nhEt+I1sbVkf5zipn4EHNqF3Ziro4LaNk
         kipw==
X-Gm-Message-State: AOAM533OHy4h+uk/70nxhbOeJVo/YONOsWbdPO4mzFbXIlXSPN/YGqyJ
	s/FxfC2QtIbTd22a3Kb4NyM=
X-Google-Smtp-Source: ABdhPJzUfzI2knRV+3ZX4TqjWta1ux1AtStqFiMHX2nCVq65m+fZLtzh8IfCVdDRUU3ODvguX7hZcQ==
X-Received: by 2002:a2e:2d01:: with SMTP id t1mr4297765ljt.400.1628200566635;
        Thu, 05 Aug 2021 14:56:06 -0700 (PDT)
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: xen-devel@lists.xenproject.org,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>, Ian Jackson <iwj@xenproject.org>,
 Wei Liu <wl@xen.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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <6e573489-ceb7-03f4-3511-e6c166b318a6@apertussolutions.com>
 <ee685f11-4f34-614d-e0ba-7cafeda08344@gmail.com>
 <ca936d82-cc31-a127-488c-e4e33ceb6fbb@apertussolutions.com>
From: Oleksandr <olekstysh@gmail.com>
Message-ID: <13cc6316-4d53-cc23-05d0-3a83a21195d6@gmail.com>
Date: Fri, 6 Aug 2021 00:56:05 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.10.0
MIME-Version: 1.0
In-Reply-To: <ca936d82-cc31-a127-488c-e4e33ceb6fbb@apertussolutions.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US


On 05.08.21 19:37, Daniel P. Smith wrote:
> Hey Oleksandr!

Hi Daniel.


>
> On 8/5/21 11:59 AM, Oleksandr wrote:
>> On 05.08.21 18:03, Daniel P. Smith wrote:
>>
>> Hi Daniel.
>>
>>> On 7/28/21 12:18 PM, Oleksandr Tyshchenko wrote:
>>>> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>> ...
>>>
>>>> diff --git a/xen/common/memory.c b/xen/common/memory.c
>>>> index e07bd9a..3f9b816 100644
>>>> --- a/xen/common/memory.c
>>>> +++ b/xen/common/memory.c
>>>> @@ -1811,6 +1811,62 @@ long do_memory_op(unsigned long cmd,
>>>> XEN_GUEST_HANDLE_PARAM(void) arg)
>>>>                start_extent);
>>>>            break;
>>>>    +    case XENMEM_get_unallocated_space:
>>>> +    {
>>>> +        struct xen_get_unallocated_space xgus;
>>>> +        struct xen_unallocated_region *regions;
>>>> +
>>>> +        if ( unlikely(start_extent) )
>>>> +            return -EINVAL;
>>>> +
>>>> +        if ( copy_from_guest(&xgus, arg, 1) ||
>>>> +             !guest_handle_okay(xgus.buffer, xgus.nr_regions) )
>>>> +            return -EFAULT;
>>>> +
>>>> +        d = rcu_lock_domain_by_any_id(xgus.domid);
>>>> +        if ( d == NULL )
>>>> +            return -ESRCH;
>>>> +
>>>> +        rc = xsm_get_unallocated_space(XSM_HOOK, d);
>>> Not sure if you are aware but XSM_HOOK is a no-op check, meaning that
>>> you are allowing any domain to do this operation on any other domain. In
>>> most cases there is an XSM check at the beginning of the hypercall
>>> processing to do an initial clamp down but I am pretty sure there is no
>>> prior XSM check on this path. Based on my understanding of how this is
>>> intended, which may be incorrect, but I think you would actually want
>>> XSM_TARGET.the
>> Thank you for pointing this out.
>> I am aware what the XSM_HOOK is, but I was thinking what the default
>> action would be better suited for that hypercall, and failed to think of
>> a better alternative.
>> I was going to choose XSM_TARGET, but the description "/* Can perform on
>> self or your target domain */" confused me a bit, as there was no target
>> domain involved as I thought, XSM_PRIV
>> sounded too strictly to me, etc. So, I decided to leave a "hook" for the
>> RFC version. But, now I see that XSM_TARGET might be indeed better
>> choice across all possible variants.
> If you unravel the craftiness that is xsm_default_action, there is
> actually a bit of hierarchy there. If you set the default_action to
> XSM_TARGET, it will first check if calling domain(src) is the target,
> then falls into the XSM_DM_PRIV check which is if src->target == target,
> and then finally checks if is_control_domain(src). That will constrict
> the operation so that a domain can call it on itself, a device model
> domain (stubdom) can call it on the domain it is backing, and the
> control domain can make the call. I am not a 100% sure on this but I do
> not believe a hardware domain would be able to make the call with it set
> to XSM_TARGET and not employing Flask. Hope this helps.

This definitely helps. Thank you for the explanation.


>
>
>
-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Thu Aug 05 23:42:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Aug 2021 23:42:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164603.300903 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBn0a-00023t-Ls; Thu, 05 Aug 2021 23:42:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164603.300903; Thu, 05 Aug 2021 23:42:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBn0a-00023m-Iu; Thu, 05 Aug 2021 23:42:40 +0000
Received: by outflank-mailman (input) for mailman id 164603;
 Thu, 05 Aug 2021 23:42:38 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BoKr=M4=kernel.org=helgaas@srs-us1.protection.inumbo.net>)
 id 1mBn0Y-00023g-JY
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 23:42:38 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id cfab36c5-f646-11eb-9c8f-12813bfff9fa;
 Thu, 05 Aug 2021 23:42:37 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id C4D0E610CD;
 Thu,  5 Aug 2021 23:42: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: cfab36c5-f646-11eb-9c8f-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1628206956;
	bh=Z/61WgkabawKvCqT33aQpch4UJfYpbpJ/lpjJTDKmJE=;
	h=Date:From:To:Cc:Subject:In-Reply-To:From;
	b=KuDKmWy8QxzyN9WG7Q1pVzQ6S5j62PkYn7/jQtSiQ405ZyO5HsJaxlGQ4ptwW9KWQ
	 8JzTD06NkExqlaqFClHSIgp3ZV4HCT08Q0ZvAqUHpT3JHz2y5xKJeL0G0pylHGRvn6
	 U5xMy5iYmp2VcbacJIAcWlgxiuyj7K4SXjueq2YyorPxHzpAkvrgrNXJfYWPF6dNbg
	 +rqlXTqZ1NVd0xWfnIPttHUHPunKRAjCa2hTqiMX3yjjCM3obbaCQHJI0obD1yIuBB
	 sBxx4HfHs+13rY1cXK0ifZwIzG7diuJ8rdtPvOtsYTWDljySsOW/3p75koSGgoeKnq
	 J3gIMCJ0Jo3qg==
Date: Thu, 5 Aug 2021 18:42:34 -0500
From: Bjorn Helgaas <helgaas@kernel.org>
To: Uwe =?iso-8859-1?Q?Kleine-K=F6nig?= <u.kleine-koenig@pengutronix.de>
Cc: Bjorn Helgaas <bhelgaas@google.com>, kernel@pengutronix.de,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-pci@vger.kernel.org, Michael Ellerman <mpe@ellerman.id.au>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	Russell Currey <ruscur@russell.cc>,
	Oliver O'Halloran <oohall@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Borislav Petkov <bp@alien8.de>, x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	=?utf-8?B?UmFmYcWCIE1pxYJlY2tp?= <zajec5@gmail.com>,
	Zhou Wang <wangzhou1@hisilicon.com>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	"David S. Miller" <davem@davemloft.net>,
	Giovanni Cabiddu <giovanni.cabiddu@intel.com>,
	Sathya Prakash <sathya.prakash@broadcom.com>,
	Sreekanth Reddy <sreekanth.reddy@broadcom.com>,
	Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>,
	Frederic Barrat <fbarrat@linux.ibm.com>,
	Andrew Donnellan <ajd@linux.ibm.com>, Arnd Bergmann <arnd@arndb.de>,
	Yisen Zhuang <yisen.zhuang@huawei.com>,
	Salil Mehta <salil.mehta@huawei.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Vadym Kochan <vkochan@marvell.com>,
	Taras Chornyi <tchornyi@marvell.com>, Jiri Pirko <jiri@nvidia.com>,
	Ido Schimmel <idosch@nvidia.com>,
	Simon Horman <simon.horman@corigine.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michael Buesch <m@bues.ch>, Mathias Nyman <mathias.nyman@intel.com>,
	Fiona Trahe <fiona.trahe@intel.com>,
	Andy Shevchenko <andriy.shevchenko@intel.com>,
	Wojciech Ziemba <wojciech.ziemba@intel.com>,
	Alexander Duyck <alexanderduyck@fb.com>,
	linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org,
	linux-perf-users@vger.kernel.org, linux-wireless@vger.kernel.org,
	linux-crypto@vger.kernel.org, qat-linux@intel.com,
	MPT-FusionLinux.pdl@broadcom.com, linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org, oss-drivers@corigine.com,
	xen-devel@lists.xenproject.org, linux-usb@vger.kernel.org
Subject: Re: [PATCH v2 0/6] PCI: Drop duplicated tracking of a pci_dev's
 bound driver
Message-ID: <20210805234234.GA1797883@bjorn-Precision-5520>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20210803100150.1543597-1-u.kleine-koenig@pengutronix.de>

On Tue, Aug 03, 2021 at 12:01:44PM +0200, Uwe Kleine-Knig wrote:
> Hello,
> 
> changes since v1 (https://lore.kernel.org/linux-pci/20210729203740.1377045-1-u.kleine-koenig@pengutronix.de):
> 
> - New patch to simplify drivers/pci/xen-pcifront.c, spotted and
>   suggested by Boris Ostrovsky
> - Fix a possible NULL pointer dereference I introduced in xen-pcifront.c
> - A few whitespace improvements
> - Add a commit log to patch #6 (formerly #5)
> 
> I also expanded the audience for patches #4 and #6 to allow affected
> people to actually see the changes to their drivers.
> 
> Interdiff can be found below.
> 
> The idea is still the same: After a few cleanups (#1 - #3) a new macro
> is introduced abstracting access to struct pci_dev->driver. All users
> are then converted to use this and in the last patch the macro is
> changed to make use of struct pci_dev::dev->driver to get rid of the
> duplicated tracking.

I love the idea of this series!

I looked at all the bus_type.probe() methods, it looks like pci_dev is
not the only offender here.  At least the following also have a driver
pointer in the device struct:

  parisc_device.driver
  acpi_device.driver
  dio_dev.driver
  hid_device.driver
  pci_dev.driver
  pnp_dev.driver
  rio_dev.driver
  zorro_dev.driver

Do you plan to do the same for all of them, or is there some reason
why they need the pointer and PCI doesn't?

In almost all cases, other buses define a "to_<bus>_driver()"
interface.  In fact, PCI already has a to_pci_driver().

This series adds pci_driver_of_dev(), which basically just means we
can do this:

  pdrv = pci_driver_of_dev(pdev);

instead of this:

  pdrv = to_pci_driver(pdev->dev.driver);

I don't see any other "<bus>_driver_of_dev()" interfaces, so I assume
other buses just live with the latter style?  I'd rather not be
different and have two ways to get the "struct pci_driver *" unless
there's a good reason.

Looking through the places that care about pci_dev.driver (the ones
updated by patch 5/6), many of them are ... a little dubious to begin
with.  A few need the "struct pci_error_handlers *err_handler"
pointer, so that's probably legitimate.  But many just need a name,
and should probably be using dev_driver_string() instead.

Bjorn


From xen-devel-bounces@lists.xenproject.org Fri Aug 06 00:20:29 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Aug 2021 00:20:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164611.300916 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBnb1-0006Uw-TV; Fri, 06 Aug 2021 00:20:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164611.300916; Fri, 06 Aug 2021 00:20: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 1mBnb1-0006Up-PD; Fri, 06 Aug 2021 00:20:19 +0000
Received: by outflank-mailman (input) for mailman id 164611;
 Fri, 06 Aug 2021 00:20:17 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EHPq=M5=kernel.org=sstabellini@srs-us1.protection.inumbo.net>)
 id 1mBnaz-0006Ui-GV
 for xen-devel@lists.xenproject.org; Fri, 06 Aug 2021 00:20:17 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 5262ac09-a1a0-4bbe-ae56-607ccf0927fe;
 Fri, 06 Aug 2021 00:20:16 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id CC4A661164;
 Fri,  6 Aug 2021 00:20:14 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5262ac09-a1a0-4bbe-ae56-607ccf0927fe
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1628209215;
	bh=3zW/trZsvEschAq4rmFi5JFsDyav3qrm2kK+IxKNzaM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=mde4uJ/ydngaIQi++3IjQVFeIWRe2vcSf8MoxfqgFrW6lqH6YwjFWk85Jo78nwB1o
	 zy4Z3xYlFskJoFXztt3UEd93NqX3e1OR6o3rl+erbjzqoIPlsXmsHOMqvpX10RhWQd
	 s4i9Zj/n0zSoDFsI1SNhnXzizdN54o1RbexSS+O7jMCB9+YvvU0O8EgU8RkiQ8b07T
	 Q6fI1C9WDSyRc4SppWLIyjw8FGi1IuO7r41FsMsNmJdpGus9r7/KlLTKemi1WluIpW
	 5kuRiZOOoUrD5h5c+o+dL1CvV8jDeIOoAffJkSWCZQQce7jJRvEBp7V7YQmihSH0bb
	 KHhPG+yvnGZEQ==
Date: Thu, 5 Aug 2021 17:20:13 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@sstabellini-ThinkPad-T480s
To: Julien Grall <julien@xen.org>
cc: Oleksandr <olekstysh@gmail.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org, 
    Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, 
    Daniel De Graaf <dgdegra@tycho.nsa.gov>, 
    "Daniel P. Smith" <dpsmith@apertussolutions.com>, 
    Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
In-Reply-To: <cb1c8fd4-a4c5-c18e-c8db-f8e317d95526@xen.org>
Message-ID: <alpine.DEB.2.21.2108051716450.18743@sstabellini-ThinkPad-T480s>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com> <80fafc01-f063-d6e5-1c08-7ad64550310c@citrix.com> <e8db3021-78a5-e040-a70b-62ca5b500149@xen.org> <4de5ed21-379e-b618-44c8-924d88b1a519@citrix.com> <bbc7f597-5249-20a0-cac9-13f594268299@xen.org>
 <6a633f4e-13e0-4a2b-cf6e-35ef90ae977c@gmail.com> <alpine.DEB.2.21.2107301630510.10122@sstabellini-ThinkPad-T480s> <f6b2e6c6-bf58-960f-4a09-f05ebcf1f566@gmail.com> <5643d414-0b76-74a4-2c37-c7a99338d547@gmail.com> <c83378af-4d3b-9256-0e0d-f88c43c6de2f@xen.org>
 <775a2c0b-fbcc-db6d-c2a1-4ad350448c92@gmail.com> <cb1c8fd4-a4c5-c18e-c8db-f8e317d95526@xen.org>
User-Agent: Alpine 2.21 (DEB 202 2017-01-01)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1249848725-1628209215=:18743"

  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-1249848725-1628209215=:18743
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Thu, 5 Aug 2021, Julien Grall wrote:
> Hi Oleksandr,
> 
> On 05/08/2021 15:52, Oleksandr wrote:
> > 
> > On 05.08.21 01:00, Julien Grall wrote:
> > > 
> > > 
> > > On 04/08/2021 21:56, Oleksandr wrote:
> > > > 
> > > > Hi Julien, Stefano.
> > > 
> > > Hi Oleksandr,
> > 
> > 
> > Hi, Julien
> > 
> > 
> > Thank you for the prompt reply and explanations.
> > 
> > 
> > > 
> > > > 
> > > > On 02.08.21 22:12, Oleksandr wrote:
> > > > I have done some experiments with Xen and toolstack according to the
> > > > discussion above. So, I re-used DTB to pass a safe range to the domain.
> > > > For the range I borrowed some space from the second RAM bank.
> > > > 
> > > > -#define GUEST_RAM1_BASE   xen_mk_ullong(0x0200000000) /* 1016GB of RAM
> > > > @ 8GB */
> > > > -#define GUEST_RAM1_SIZE   xen_mk_ullong(0xfe00000000)
> > > > +#define GUEST_RAM1_BASE   xen_mk_ullong(0x0200000000) /* 888GB of RAM @
> > > > 8GB */
> > > > +#define GUEST_RAM1_SIZE   xen_mk_ullong(0xDE00000000)
> > > > +
> > > 
> > > I am a bit split with reducing the amount of RAM. On one hand large guest
> > > is not unheard on the server side (at least in the x86 world). On the
> > > other hand, I am not aware of anyone using Xen on Arm in such setup.
> > > 
> > > So technically this will be a regression, but it may be OK.
> > 
> > I got it.
> > 
> > 
> > > 
> > > 
> > > Regarding the range, this will be a problem as Xen configure the number of
> > > the IPA bits based on the PA bits. The lowest possible address space ize
> > > on 64-bit is 4GB.
> > > 
> > > From my understanding, this is because the number of IPA bits supported is
> > > contrained by the PA bits. So the position and the size of the region
> > > would need to depend on the P2M configuration.
> > 
> > Indeed, I missed these bits that IPA bits on Arm64 might be < 40 bit, I
> > remember, we select p2m_ipa_bits in setup_virt_paging() depending on pabits,
> > moreover the p2m_ipa_bits might be even restricted by some external entity
> > (IOMMU, if P2M is shared).
> > 
> > 
> > > 
> > > For simplicity, this could be the last few X bytes of the supported
> > > address space.
> > ok, agree. To summarize, so it sounds like we can't use the fixed safe range
> > as in my example, it must be variable. Well, I hope, we will be able to
> > achieve this without reducing the total amount of domain RAM in front
> > (GUEST_RAM1_SIZE). After all, we know the IPA size and the domain RAM in
> > advance, so we certainly can choose the start and size of the range. In
> > case, we won't be able to find a suitable large chunk (for example, when IPA
> > bits = 32, and domain has a lot of RAM assigned and as the result - almost
> > all address space below 4GB is in use), we won't expose a safe range to a
> > domain at all, and domain will just fall back to use real pages instead
> > (actually, how it currently behaves on Arm).
> 
> I think it would be fine for a first approach. We can refine it in the future.
> What matters is that we correctly define the binding/hypercall.

I agree with Julien on both points. Looking at the existing device tree
binding, it is almost exactly what we need, so I think it would be OK to
use it.


> > > For 32-bit domain, we also need to make sure the address is usable for
> > > domain short page tables (not too long ago Debian was shipping the kernel
> > > with them rather than LPAE). I haven't yet checked what's the limit here.
> > 
> > Hmm, I didn't take this use-case into the account. So, I assume we need the
> > safe range to be located below 4GB if is_32bit_domain() returns true.
> 
> Yes. Or we can say that if you are using a 32-bit domain then we don't (yet)
> support a safe range for range.
> > > So we would need some heuristic to decide whether to stole some RAM or use
> > > the safe space.
> > > Another possibility would be to add a new compatible in the DT that
> > > indicates the region is "big" enough.
> > I like the last idea, did you perhaps mean new property (optional) rather
> > than new compatible? Let's say "xen, safe-range" or "xen, extended-regions" 
> > ...
> 
> I actually meant adding an extra compatible because this is technically a
> change of the binding (even though it is backward compatible).
> 
> Although, I would be OK with the property. You may first want to ask the
> Device-Tree folks how they expect a binding to be extended in a backward
> compatible way.

I think we should expand the description in
Documentation/devicetree/bindings/arm/xen.txt to cover things other than
the grant table.

I don't think we necessarely need a new compatible string because as you
said the change is fully compatible. At the same time it is trivial to
add compatible strings, so that could be done as well.
--8323329-1249848725-1628209215=:18743--


From xen-devel-bounces@lists.xenproject.org Fri Aug 06 00:30:21 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Aug 2021 00:30:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164620.300927 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBnkd-0007yl-V8; Fri, 06 Aug 2021 00:30:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164620.300927; Fri, 06 Aug 2021 00: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 1mBnkd-0007ye-S1; Fri, 06 Aug 2021 00:30:15 +0000
Received: by outflank-mailman (input) for mailman id 164620;
 Fri, 06 Aug 2021 00:30:14 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EHPq=M5=kernel.org=sstabellini@srs-us1.protection.inumbo.net>)
 id 1mBnkc-0007yY-Jc
 for xen-devel@lists.xenproject.org; Fri, 06 Aug 2021 00:30:14 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 1ac6aef4-ea1c-4f25-aaef-95eed8a1010c;
 Fri, 06 Aug 2021 00:30:13 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id 48E9F61078;
 Fri,  6 Aug 2021 00:30: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: 1ac6aef4-ea1c-4f25-aaef-95eed8a1010c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1628209812;
	bh=qPrWEsd6Hd430IXZcgKU1JUdKEsmTkemjmcXOGTPFOs=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=gf+TfalJwGWXt+MLAWy8YAg/nQbNr+lZHO6BY3Fh6/ZyBa9LKzfBrBZWqp8mZBQXf
	 FVEo2AxyoVUnC9Lt1fIvnYIrUJ/aaN5jVCS7oIC5H31Hk98Uwwk5unWsD5c3M8saay
	 wkQPvVVY9QtApZIAw86SjZX5/ZZUpozMmnH/4AO0X0/Vr5E65Z+fnW1RVUNxbfdI1O
	 CAeMBONmtQYGOAwUi6tpzFCIMRpWQlmAGBtyxsWADofASatyNy9eDG3VtiY8a7ZIoT
	 KJ3llJFZt+8sjvk2m4zOLw7F73iYBeOAEjOvdB0O/SlrG9bjKMM1OJV8C5y110x3vO
	 kfisn/QjFm3mQ==
Date: Thu, 5 Aug 2021 17:30:11 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@sstabellini-ThinkPad-T480s
To: Julien Grall <julien@xen.org>
cc: Oleksandr <olekstysh@gmail.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org, 
    Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, 
    Daniel De Graaf <dgdegra@tycho.nsa.gov>, 
    "Daniel P. Smith" <dpsmith@apertussolutions.com>, 
    Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
In-Reply-To: <c83378af-4d3b-9256-0e0d-f88c43c6de2f@xen.org>
Message-ID: <alpine.DEB.2.21.2108051720210.18743@sstabellini-ThinkPad-T480s>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com> <80fafc01-f063-d6e5-1c08-7ad64550310c@citrix.com> <e8db3021-78a5-e040-a70b-62ca5b500149@xen.org> <4de5ed21-379e-b618-44c8-924d88b1a519@citrix.com> <bbc7f597-5249-20a0-cac9-13f594268299@xen.org>
 <6a633f4e-13e0-4a2b-cf6e-35ef90ae977c@gmail.com> <alpine.DEB.2.21.2107301630510.10122@sstabellini-ThinkPad-T480s> <f6b2e6c6-bf58-960f-4a09-f05ebcf1f566@gmail.com> <5643d414-0b76-74a4-2c37-c7a99338d547@gmail.com>
 <c83378af-4d3b-9256-0e0d-f88c43c6de2f@xen.org>
User-Agent: Alpine 2.21 (DEB 202 2017-01-01)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-1657779066-1628209334=:18743"
Content-ID: <alpine.DEB.2.21.2108051722290.18743@sstabellini-ThinkPad-T480s>

  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-1657779066-1628209334=:18743
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.21.2108051722291.18743@sstabellini-ThinkPad-T480s>

On Wed, 4 Aug 2021, Julien Grall wrote:
> > +#define GUEST_SAFE_RANGE_BASE   xen_mk_ullong(0xDE00000000) /* 128GB */
> > +#define GUEST_SAFE_RANGE_SIZE   xen_mk_ullong(0x0200000000)
> > 
> > While the possible new DT bindings has not been agreed yet, I re-used
> > existing "reg" property under the hypervisor node to pass safe range as a
> > second region,
> > https://elixir.bootlin.com/linux/v5.14-rc4/source/Documentation/devicetree/bindings/arm/xen.txt#L10: 
> 
> So a single region works for a guest today, but for dom0 we will need multiple
> regions because it is may be difficult to find enough contiguous space for a
> single region.
> 
> That said, as dom0 is mapped 1:1 (including some guest mapping), there is also
> the question where to allocate the safe region. For grant table, we so far
> re-use the Xen address space because it is assumed it will space will always
> be bigger than the grant table.
> 
> I am not sure yet where we could allocate the safe regions. Stefano, do you
> have any ideas?

The safest choice would be the address range corresponding to memory
(/memory) not already allocated to Dom0.

For instance from my last boot logs:
(XEN) Allocating 1:1 mappings totalling 1600MB for dom0:
(XEN) BANK[0] 0x00000010000000-0x00000070000000 (1536MB)
(XEN) BANK[1] 0x00000078000000-0x0000007c000000 (64MB)

All the other ranges could be given as unallocated space:

- 0x0 - 0x10000000
- 0x70000000 - 0x78000000
- 0x8_0000_0000 - 0x8_8000_0000



The second best choice would be an hole: an address range not used by
anybody else (no reg property) and also not even mappable by a bus (not
covered by a ranges property). This is not the best choice because there
can cases where physical resources appear afterwards.
--8323329-1657779066-1628209334=:18743--


From xen-devel-bounces@lists.xenproject.org Fri Aug 06 02:15:34 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Aug 2021 02:15:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164628.300940 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBpOK-0006zo-QG; Fri, 06 Aug 2021 02:15:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164628.300940; Fri, 06 Aug 2021 02: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 1mBpOK-0006zh-Ls; Fri, 06 Aug 2021 02:15:20 +0000
Received: by outflank-mailman (input) for mailman id 164628;
 Fri, 06 Aug 2021 02:15: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 1mBpOJ-0006zX-Ps; Fri, 06 Aug 2021 02:15: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 1mBpOJ-0007Vk-JE; Fri, 06 Aug 2021 02:15: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 1mBpOJ-0001lQ-94; Fri, 06 Aug 2021 02:15:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mBpOJ-0003Rv-8T; Fri, 06 Aug 2021 02: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=A5CNijYW4UsbniyiF+RSEGcwj365mU26F2rRNB3L56A=; b=4MtZpRB2vFBeIjZxz2ggBQqq3C
	glsBSHmDZS/sJ4CDVwFr4chHUaP2omsOp9fRbdEIMvVrnuykQTGVJaZUugI2XbDkISQoAA9ncH2oi
	ADV01sQYjSVYEGuHVsUU2Xro7TSut1wsX70PzWqocpaSc+XX7vAjTKf13J1tMWQn5bwE=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164114-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 164114: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=97fdcbda4e69d6f085ec3f2bd9d29a04af2b50a4
X-Osstest-Versions-That:
    ovmf=9abc60f9f722d891b3cedb0205fd6c9c0e2af54b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 06 Aug 2021 02:15:19 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 97fdcbda4e69d6f085ec3f2bd9d29a04af2b50a4
baseline version:
 ovmf                 9abc60f9f722d891b3cedb0205fd6c9c0e2af54b

Last test of basis   164111  2021-08-05 12:42:15 Z    0 days
Testing same since   164114  2021-08-05 21:40:02 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ard Biesheuvel <ardb@kernel.org>
  Jeff Brasen <jbrasen@nvidia.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   9abc60f9f7..97fdcbda4e  97fdcbda4e69d6f085ec3f2bd9d29a04af2b50a4 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Aug 06 02:50:34 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Aug 2021 02:50:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164637.300954 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBpwK-0002Up-I9; Fri, 06 Aug 2021 02:50:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164637.300954; Fri, 06 Aug 2021 02: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 1mBpwK-0002Ui-FE; Fri, 06 Aug 2021 02:50:28 +0000
Received: by outflank-mailman (input) for mailman id 164637;
 Fri, 06 Aug 2021 02:50: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 1mBpwI-0002UY-FF; Fri, 06 Aug 2021 02:50: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 1mBpwI-0007zO-57; Fri, 06 Aug 2021 02:50: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 1mBpwH-0002dU-SM; Fri, 06 Aug 2021 02:50:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mBpwH-0001Fk-Rr; Fri, 06 Aug 2021 02: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=lUJkMJH0UquXMfVgc9kM7d1qoWeTQipdIsoagoeg6ZE=; b=6T+iHzwYlSOPXDunTdreT89SxF
	rOYI71QE3uC4UyOMTQ52oom7xkW45wDX2t3rP5W9I6k0DrH9WtqvuCMR9Yof/KpQn8wlL/CbwtF3V
	RyiyNu01W8Hi8iXTWvaybwDLgaUbyEWISdLBd45YaCB9Ki+yFQWauX+01GOMBw2rUPe0=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164115-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 164115: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=2b45ff60301a988badec526846e77b538383ae63
X-Osstest-Versions-That:
    xen=2278d2cbb0b7c1b48b298c6c4c6a7de2271ac928
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 06 Aug 2021 02:50:25 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  2b45ff60301a988badec526846e77b538383ae63
baseline version:
 xen                  2278d2cbb0b7c1b48b298c6c4c6a7de2271ac928

Last test of basis   164092  2021-08-03 10:01:40 Z    2 days
Testing same since   164115  2021-08-06 00:01:33 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Stefano Stabellini <sstabellini@kernel.org>
  Stefano Stabellini <stefano.stabellini@xilinx.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   2278d2cbb0..2b45ff6030  2b45ff60301a988badec526846e77b538383ae63 -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Aug 06 03:34:30 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Aug 2021 03:34:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164646.300970 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBqch-0006Tq-JE; Fri, 06 Aug 2021 03:34:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164646.300970; Fri, 06 Aug 2021 03:34: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 1mBqch-0006Tj-FS; Fri, 06 Aug 2021 03:34:15 +0000
Received: by outflank-mailman (input) for mailman id 164646;
 Fri, 06 Aug 2021 03:34: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 1mBqcg-0006TZ-Br; Fri, 06 Aug 2021 03:34: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 1mBqcg-0000Bh-4h; Fri, 06 Aug 2021 03:34: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 1mBqcf-00043F-MP; Fri, 06 Aug 2021 03:34:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mBqcf-0006h8-Ls; Fri, 06 Aug 2021 03: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=eU+w+Ys1ZBQCZ3w0bXpUnjzymcyuIHazww/uKjTGFQU=; b=WQeK+OHC4s+5HQCRjAeil6X8pL
	3JBCoeJi5VIbV3kxB86JxOjjFHPWo32G8vgsqvf5eHhv3yzef3HX7NjvTzaZkjSBgokc4XCBEgAMI
	uJBk4VYHgifzi6PXWvnAaeFAJ1R/bGEXIxvTLS+IlnZTPPOn5K9YF/AvkCPbKctK1pTM=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164113-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164113: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat: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-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=902e7f373fff2476b53824264c12e4e76c7ec02a
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 06 Aug 2021 03:34:13 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop              fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 20 guest-stop               fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-xl-multivcpu 22 guest-start/debian.repeat fail REGR. vs. 152332
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat fail REGR. vs. 152332

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

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

version targeted for testing:
 linux                902e7f373fff2476b53824264c12e4e76c7ec02a
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  370 days
Failing since        152366  2020-08-01 20:49:34 Z  369 days  643 attempts
Testing same since   164113  2021-08-05 20:41:37 Z    0 days    1 attempts

------------------------------------------------------------
6762 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Fri Aug 06 06:10:19 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Aug 2021 06:10:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164663.300989 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBt3V-0003m1-4W; Fri, 06 Aug 2021 06:10:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164663.300989; Fri, 06 Aug 2021 06:10: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 1mBt3V-0003lR-0n; Fri, 06 Aug 2021 06:10:05 +0000
Received: by outflank-mailman (input) for mailman id 164663;
 Fri, 06 Aug 2021 06:10:04 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=i2ZJ=M5=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mBt3T-0003Vb-Vl
 for xen-devel@lists.xenproject.org; Fri, 06 Aug 2021 06:10:04 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id ef090e5c-f67c-11eb-9cad-12813bfff9fa;
 Fri, 06 Aug 2021 06:10:02 +0000 (UTC)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2169.outbound.protection.outlook.com [104.47.17.169])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-1-looGEf-cOHKv4lXaZSFcEg-1; Fri, 06 Aug 2021 08:09:59 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0401MB2333.eurprd04.prod.outlook.com (2603:10a6:800:28::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.15; Fri, 6 Aug
 2021 06:09:57 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4394.019; Fri, 6 Aug 2021
 06:09:57 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0116.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:19::32) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4394.16 via Frontend Transport; Fri, 6 Aug 2021 06:09:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ef090e5c-f67c-11eb-9cad-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628230201;
	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=jHPWs8UT1Yr1WFog5189LhOf1BoG3MTjO3pc74b9gzk=;
	b=Ge/qg2lzUOaWoo5xdI32RfBs+AWc9iqtB0OKtUHcTfppHw1uXhW72JMbrgWHruWsRSqp+2
	E35fcMbHS+c7S5f5JlIEdfOGiVZZYrOL0oj5jjTSU2yJBtMMX1npra4mNWHsVe1rhKga2v
	2tGK461AvA92uRlxjbI9cTycQjPHYjc=
X-MC-Unique: looGEf-cOHKv4lXaZSFcEg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AXDqr8fT5ZD0CfRiyeFnlHOd+XpuHHLv47l3KbHknYSgZ7tzEMlfljBMXzJ9y8NH3ezvvXwzaK7aCwJU4RzSwuE9yQDRFOppDGzNJedMoa8+jIESIJlLojJJyuedanEKLReQJylTnXSW5zLRsgcl7bM++TyIlfihJ0UxgR4eR21n1ii2/79U1ssA8hJjcSCWbHIo/CYKxIWKhHX4JWsDkBBcNVMLP/TaHmvyx1h3dPMp6sWlxJvzpeOEEZsDKGwPaRsVJJDJSalf6eCXmeaWGP8rEDK6CmIno4khtiNvXZDjz+QvNAdNrV2waxxVAlsCv08gDyG1Bz4kHmnfUtSedQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gODY3n5Lqize3C6VnG6zfsBKHFF0CBD79yiDTjR7yhg=;
 b=cVXuntuTUeRhdesRiXwMd+vWDw2CTll578nx4ASU03yjgyKN+xFXeWeInhIF/caz8+oWmfTtjAkERT1rDJxSHsxgIVjEnSVxn9yLv619yJPEG7wDQ0uQXVZZvBKyQObvmdp9/xHPCL+ZHZeUZGyBAIYYHPKYIWiyg9x3xg0rxjFjRgGpvUj/Jm7UjgwKNxgR/k97x+LKFclEdbXUB1MqlLrQ/xJ17Q1/nMhLoW3BbmsFzCXU1Kv3prMNJ1SKRnYR0oeO0mIfC0MEnlHXnwCJuwb+DFJGbQwCV94WuqVWKTZkq6LaANvLdAIywrWMQuJkkoDmWvnOf/cIy0EmG9zWsQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: arm.com; dkim=none (message not signed)
 header.d=none;arm.com; dmarc=none action=none header.from=suse.com;
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Oleksandr <olekstysh@gmail.com>
CC: xen-devel@lists.xenproject.org,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>, Ian Jackson <iwj@xenproject.org>,
 Wei Liu <wl@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <6e573489-ceb7-03f4-3511-e6c166b318a6@apertussolutions.com>
 <ee685f11-4f34-614d-e0ba-7cafeda08344@gmail.com>
 <ca936d82-cc31-a127-488c-e4e33ceb6fbb@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <4765c96e-49dc-ecb4-5c4f-2a6be5fb99c9@suse.com>
Date: Fri, 6 Aug 2021 08:09:54 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <ca936d82-cc31-a127-488c-e4e33ceb6fbb@apertussolutions.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: PR0P264CA0116.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:19::32) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 37f73d8a-d34d-4cfb-8d99-08d958a0d0ca
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2333:
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB233310685AE9F4918469F32BB3F39@VI1PR0401MB2333.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	cket8NwwDlAVo9cl5qyAvMeGp5w65OnttR0+aGk+eks7iMsbp0+ucthQ/bN01uZF2VH2LOWidm8QFghsvSSR1lygLpOl9cDbPlmCvJ2iYH2g+oaiDNDPZoYsdkB7qoyIKjMICXvlxQOQNIkPvXKF3JjuDuFXg+6Pp/w9FkG1/RGOQhzIO9664/PJ8lCtd1uhbvmWsaNf61sXIJ+hQkUWjAKFCX+mroHcaKu9seMaFkCs4MTLTXzGXVYGFmUtc63A8TIokLlNNL9Vvey3nRnE8K8Uns9/8Es/+g+V0KYtGn1AsIVPkgOneeyiQNpfA/lBgXqH4cumhn7hP4bNMqM0VZqdvmgyHMevPy3HoLIB9VnbyoUbxsCZbx5hQJKS8+i9/3DuJA09u/BX+N3Jn7byeblbiGid/RSmY5Yvz6e+DqzU1qLzHqBhZdirvOKPpn4SCA6jUW4tMrA3zp0lTvoZc7ear1BvFU6qLhpTI/hpOJ+p5ozTMRNgW5ATS/6HmqMtha0axFGEDCAJwEnMWSYfV0trNcIVk1pTo+5E98u46o2IT7UCAIkTic1WJpURSglbckftHWPep9g7XQDwn9W5huOURNvPvySCm4V9CzJzOW0djZd6w3/oflKJsXbnXXtby4J8sULAm1TzcpWpp4x4bN3JPFQBBtzYc3DUO+UTOdZApmvjzTHVBYW5Nmf48d1O27JqLcmW1bibZhMWZ4hpVqVlIZxcGbJkx84R2B6gbKw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(376002)(39850400004)(346002)(396003)(366004)(36756003)(6486002)(66556008)(66946007)(8936002)(66476007)(8676002)(31696002)(316002)(110136005)(26005)(31686004)(83380400001)(38100700002)(54906003)(16576012)(53546011)(86362001)(956004)(2616005)(478600001)(2906002)(186003)(7416002)(5660300002)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?iBg/RzGdh+RuF3iLoFxbkNZp7TNEQ46YMy6FuMkxujRMMTxtqgLZYRqbZOKo?=
 =?us-ascii?Q?kVt0HuUWBJj4urP9vhjqrdBMHMMfrGrsiuwR+GS9LPTjUXvGVfioo86ga7EJ?=
 =?us-ascii?Q?FiFXuDTTuDRdwAvf+3lYftZ7UciXTpO6EP0k2xWjKTXa4kWKQ3Ci4e/JMU/5?=
 =?us-ascii?Q?B9xM3HmImFaelzQ09xTDE8bzD8VQ/MaxoZ5buvRtOE/bRILMigbAkH/PcHXq?=
 =?us-ascii?Q?HmRJ+ONtSJmwc0c0KUwqe6L3jZEIQYRD1PBL5zW6wQ1kcxfvSoWs1/RUS0L8?=
 =?us-ascii?Q?MfOToIqCnmaCKMqwPYJBzt8EG9/b057wBq7EkxNIetrbPqfeV/Hw9NmftzEz?=
 =?us-ascii?Q?Gv7shCb7GTd+iLjjjbjk3Fi67bxu2ASFygxltotZ6MPG/dSmXy3zXX0omVW1?=
 =?us-ascii?Q?QlzZi1wXEoesQZMNL7ylBlWZfN15x59t9LbxirMXhq6JPiXyOU3STBQtdCuY?=
 =?us-ascii?Q?F9zr9rc0/fY32lGec6a64go5m2GAVVCGiZK5MVwQFkx9E5nTmiqh9bF1vdbi?=
 =?us-ascii?Q?GltsXAiGPrEhhVnOIvmJQP5GN6KjMgFpLF/Cn1ylS4LKyMeklOCMQj0aLazw?=
 =?us-ascii?Q?K6OdztE8dIi5odGwRtu6svRcG63GXRWObcZIHdVJdsEQwL77IV204Cx0oO4Z?=
 =?us-ascii?Q?3ewAXERDwpYBCzsJyb5rukNXoYvhOdK0icxTjHwjoHPfjevDZ+xUZHvPk23r?=
 =?us-ascii?Q?HHtbzdt5nFW3JzzftC+NiPgwHNbA9XpmZHXnhefqVm/1wyqGQN6erFwRxfhx?=
 =?us-ascii?Q?lfGdMcXgn2cAxqlDLWNnST8F1QmL9D7xDVTs5NuVm25BqMUYkk17Z/GSKPiv?=
 =?us-ascii?Q?MZGgfAVjwVM7CkaFJNF+gVUCVjLr3Ovq9jjVqmHdRVwdCvMRYUKZP/pYqPQZ?=
 =?us-ascii?Q?1LKVayXA5czAR91ftkgCRIWh0JDDkDU02qS9pB6Gn/zNgjzQZrWQBXmzx7T/?=
 =?us-ascii?Q?5XJ1lisBD1eVi6lMxKEl2Cu7MQjo0NAqZgsHnF6cvSjWJDOaou6Ral4jgQZq?=
 =?us-ascii?Q?AT3Hs233H8b6JAAmZEossazd55T5E0HyT0vIFdd6HkY+6RWV4fdvKRRHiWeR?=
 =?us-ascii?Q?nqAxV57T4hiRoRFj9jKdeRXNciN1GNZSdXtDqGaXS8ZhkDKKboUDpAKPz720?=
 =?us-ascii?Q?i+fDQaU+HtS5RL+5bKdaVzlrJyKKSsA5HlLQlTgLV7HDvWsIFAGICB4NnC9w?=
 =?us-ascii?Q?4mLw7Np0vt7bmM2JIpPGRTRzmvpt1de/V9j7upNze16rSEqNDbdfclgiLf/0?=
 =?us-ascii?Q?bQ/zI0CGCZXaQ4/VubnBnnyi3ohSo+SHj8ZzBnQqaknAryaQAA8R9uyTKq7Y?=
 =?us-ascii?Q?mJoXdKCju/GJq0ZjM+dM4Cxv?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 37f73d8a-d34d-4cfb-8d99-08d958a0d0ca
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Aug 2021 06:09:57.1292
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: EB9SQruok1Pm+tWiZGChroZKIWSraBHkT42GqxLqb+qK/4Nno3QjLHhPMEswYCrGriste+rfHuD+V6wG8YjHzQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2333

On 05.08.2021 18:37, Daniel P. Smith wrote:
> On 8/5/21 11:59 AM, Oleksandr wrote:
>> On 05.08.21 18:03, Daniel P. Smith wrote:
>>> On 7/28/21 12:18 PM, Oleksandr Tyshchenko wrote:
>>>> --- a/xen/common/memory.c
>>>> +++ b/xen/common/memory.c
>>>> @@ -1811,6 +1811,62 @@ long do_memory_op(unsigned long cmd,
>>>> XEN_GUEST_HANDLE_PARAM(void) arg)
>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 start_extent);
>>>> =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 case XENMEM_get_unallocated_space:
>>>> +=C2=A0=C2=A0=C2=A0 {
>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 struct xen_get_unallocated=
_space xgus;
>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 struct xen_unallocated_reg=
ion *regions;
>>>> +
>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( unlikely(start_extent=
) )
>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 re=
turn -EINVAL;
>>>> +
>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( copy_from_guest(&xgus=
, arg, 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 !guest_handle_okay(xgus.buffer, xgus.nr_regions) )
>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 re=
turn -EFAULT;
>>>> +
>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 d =3D rcu_lock_domain_by_a=
ny_id(xgus.domid);
>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( d =3D=3D NULL )
>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 re=
turn -ESRCH;
>>>> +
>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 rc =3D xsm_get_unallocated=
_space(XSM_HOOK, d);
>>> Not sure if you are aware but XSM_HOOK is a no-op check, meaning that
>>> you are allowing any domain to do this operation on any other domain. I=
n
>>> most cases there is an XSM check at the beginning of the hypercall
>>> processing to do an initial clamp down but I am pretty sure there is no
>>> prior XSM check on this path. Based on my understanding of how this is
>>> intended, which may be incorrect, but I think you would actually want
>>> XSM_TARGET.the
>> Thank you for pointing this out.
>> I am aware what the XSM_HOOK is, but I was thinking what the default
>> action would be better suited for that hypercall, and failed to think of
>> a better alternative.
>> I was going to choose XSM_TARGET, but the description "/* Can perform on
>> self or your target domain */" confused me a bit, as there was no target
>> domain involved as I thought, XSM_PRIV
>> sounded too strictly to me, etc. So, I decided to leave a "hook" for the
>> RFC version. But, now I see that XSM_TARGET might be indeed better
>> choice across all possible variants.
>=20
> If you unravel the craftiness that is xsm_default_action, there is
> actually a bit of hierarchy there. If you set the default_action to
> XSM_TARGET, it will first check if calling domain(src) is the target,
> then falls into the XSM_DM_PRIV check which is if src->target =3D=3D targ=
et,
> and then finally checks if is_control_domain(src). That will constrict
> the operation so that a domain can call it on itself, a device model
> domain (stubdom) can call it on the domain it is backing, and the
> control domain can make the call. I am not a 100% sure on this but I do
> not believe a hardware domain would be able to make the call with it set
> to XSM_TARGET and not employing Flask.

Afaict (perhaps leaving aside late-hwdom, which I have little knowledge
of) right now we have is_control_domain(d) =3D=3D is_hardware_domain(d).

Jan



From xen-devel-bounces@lists.xenproject.org Fri Aug 06 06:48:26 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Aug 2021 06:48:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164671.301001 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBteW-00074C-Ka; Fri, 06 Aug 2021 06:48:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164671.301001; Fri, 06 Aug 2021 06:48:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBteW-000745-HM; Fri, 06 Aug 2021 06:48:20 +0000
Received: by outflank-mailman (input) for mailman id 164671;
 Fri, 06 Aug 2021 06:48:20 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=M7wX=M5=pengutronix.de=ukl@srs-us1.protection.inumbo.net>)
 id 1mBteW-00073z-7D
 for xen-devel@lists.xenproject.org; Fri, 06 Aug 2021 06:48:20 +0000
Received: from metis.ext.pengutronix.de (unknown
 [2001:67c:670:201:290:27ff:fe1d:cc33])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 38f11413-b6b5-4def-aaab-728ebb05dd4d;
 Fri, 06 Aug 2021 06:48:17 +0000 (UTC)
Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2])
 by metis.ext.pengutronix.de with esmtps
 (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92)
 (envelope-from <ukl@pengutronix.de>)
 id 1mBtcu-0007Bd-Gw; Fri, 06 Aug 2021 08:46:40 +0200
Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de)
 by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.92)
 (envelope-from <ukl@pengutronix.de>)
 id 1mBtce-0004p1-8f; Fri, 06 Aug 2021 08:46:24 +0200
Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.92)
 (envelope-from <ukl@pengutronix.de>)
 id 1mBtce-0003LN-5b; Fri, 06 Aug 2021 08:46:24 +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: 38f11413-b6b5-4def-aaab-728ebb05dd4d
Date: Fri, 6 Aug 2021 08:46:23 +0200
From: Uwe =?utf-8?Q?Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
To: Bjorn Helgaas <helgaas@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>,
	Giovanni Cabiddu <giovanni.cabiddu@intel.com>,
	=?utf-8?B?UmFmYcWCIE1pxYJlY2tp?= <zajec5@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>, linux-pci@vger.kernel.org,
	Alexander Duyck <alexanderduyck@fb.com>,
	Russell Currey <ruscur@russell.cc>,
	Sathya Prakash <sathya.prakash@broadcom.com>,
	oss-drivers@corigine.com, Paul Mackerras <paulus@samba.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Jiri Olsa <jolsa@redhat.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	linux-perf-users@vger.kernel.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	linux-scsi@vger.kernel.org, Michael Ellerman <mpe@ellerman.id.au>,
	Ido Schimmel <idosch@nvidia.com>, x86@kernel.org,
	qat-linux@intel.com,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Ingo Molnar <mingo@redhat.com>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	linux-wireless@vger.kernel.org, Jakub Kicinski <kuba@kernel.org>,
	Mathias Nyman <mathias.nyman@intel.com>,
	Yisen Zhuang <yisen.zhuang@huawei.com>,
	Fiona Trahe <fiona.trahe@intel.com>,
	Andrew Donnellan <ajd@linux.ibm.com>, Arnd Bergmann <arnd@arndb.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>,
	Simon Horman <simon.horman@corigine.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Borislav Petkov <bp@alien8.de>, Michael Buesch <m@bues.ch>,
	Jiri Pirko <jiri@nvidia.com>, Bjorn Helgaas <bhelgaas@google.com>,
	Namhyung Kim <namhyung@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Andy Shevchenko <andriy.shevchenko@intel.com>,
	Juergen Gross <jgross@suse.com>,
	Salil Mehta <salil.mehta@huawei.com>,
	Sreekanth Reddy <sreekanth.reddy@broadcom.com>,
	xen-devel@lists.xenproject.org, Vadym Kochan <vkochan@marvell.com>,
	MPT-FusionLinux.pdl@broadcom.com,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-usb@vger.kernel.org,
	Wojciech Ziemba <wojciech.ziemba@intel.com>,
	linux-kernel@vger.kernel.org, Taras Chornyi <tchornyi@marvell.com>,
	Zhou Wang <wangzhou1@hisilicon.com>, linux-crypto@vger.kernel.org,
	kernel@pengutronix.de, netdev@vger.kernel.org,
	Frederic Barrat <fbarrat@linux.ibm.com>,
	Oliver O'Halloran <oohall@gmail.com>, linuxppc-dev@lists.ozlabs.org,
	"David S. Miller" <davem@davemloft.net>
Subject: Re: [PATCH v2 0/6] PCI: Drop duplicated tracking of a pci_dev's
 bound driver
Message-ID: <20210806064623.3lxl4clzbjpmchef@pengutronix.de>
References: <20210803100150.1543597-1-u.kleine-koenig@pengutronix.de>
 <20210805234234.GA1797883@bjorn-Precision-5520>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="nllglfksvmzlkdkm"
Content-Disposition: inline
In-Reply-To: <20210805234234.GA1797883@bjorn-Precision-5520>
X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2
X-SA-Exim-Mail-From: ukl@pengutronix.de
X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false
X-PTX-Original-Recipient: xen-devel@lists.xenproject.org


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

Hello Bjorn,

On Thu, Aug 05, 2021 at 06:42:34PM -0500, Bjorn Helgaas wrote:
> On Tue, Aug 03, 2021 at 12:01:44PM +0200, Uwe Kleine-K=F6nig wrote:
> > Hello,
> >=20
> > changes since v1 (https://lore.kernel.org/linux-pci/20210729203740.1377=
045-1-u.kleine-koenig@pengutronix.de):
> >=20
> > - New patch to simplify drivers/pci/xen-pcifront.c, spotted and
> >   suggested by Boris Ostrovsky
> > - Fix a possible NULL pointer dereference I introduced in xen-pcifront.c
> > - A few whitespace improvements
> > - Add a commit log to patch #6 (formerly #5)
> >=20
> > I also expanded the audience for patches #4 and #6 to allow affected
> > people to actually see the changes to their drivers.
> >=20
> > Interdiff can be found below.
> >=20
> > The idea is still the same: After a few cleanups (#1 - #3) a new macro
> > is introduced abstracting access to struct pci_dev->driver. All users
> > are then converted to use this and in the last patch the macro is
> > changed to make use of struct pci_dev::dev->driver to get rid of the
> > duplicated tracking.
>=20
> I love the idea of this series!

\o/

> I looked at all the bus_type.probe() methods, it looks like pci_dev is
> not the only offender here.  At least the following also have a driver
> pointer in the device struct:
>=20
>   parisc_device.driver
>   acpi_device.driver
>   dio_dev.driver
>   hid_device.driver
>   pci_dev.driver
>   pnp_dev.driver
>   rio_dev.driver
>   zorro_dev.driver

Right, when I converted zorro_dev it was pointed out that the code was
copied from pci and the latter has the same construct. :-)
See
https://lore.kernel.org/r/20210730191035.1455248-5-u.kleine-koenig@pengutro=
nix.de
for the patch, I don't find where pci was pointed out, maybe it was on
irc only.

> Do you plan to do the same for all of them, or is there some reason
> why they need the pointer and PCI doesn't?

There is a list of cleanup stuff I intend to work on. Considering how
working on that list only made it longer in the recent past, maybe it
makes more sense to not work on it :-)

> In almost all cases, other buses define a "to_<bus>_driver()"
> interface.  In fact, PCI already has a to_pci_driver().
>=20
> This series adds pci_driver_of_dev(), which basically just means we
> can do this:
>=20
>   pdrv =3D pci_driver_of_dev(pdev);
>=20
> instead of this:
>=20
>   pdrv =3D to_pci_driver(pdev->dev.driver);
>=20
> I don't see any other "<bus>_driver_of_dev()" interfaces, so I assume
> other buses just live with the latter style?  I'd rather not be
> different and have two ways to get the "struct pci_driver *" unless
> there's a good reason.

Among few the busses I already fixed in this regard pci was the first
that has a considerable amount of usage. So I considered it worth giving
it a name.
=20
> Looking through the places that care about pci_dev.driver (the ones
> updated by patch 5/6), many of them are ... a little dubious to begin
> with.  A few need the "struct pci_error_handlers *err_handler"
> pointer, so that's probably legitimate.  But many just need a name,
> and should probably be using dev_driver_string() instead.

Yeah, I considered adding a function to get the driver name from a
pci_dev and a function to get the error handlers. Maybe it's an idea to
introduce these two and then use to_pci_driver(pdev->dev.driver) for the
few remaining users? Maybe doing that on top of my current series makes
sense to have a clean switch from pdev->driver to pdev->dev.driver?!

Best regards
Uwe

--=20
Pengutronix e.K.                           | Uwe Kleine-K=F6nig            |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |

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

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

iQEzBAABCgAdFiEEfnIqFpAYrP8+dKQLwfwUeK3K7AkFAmEM2rwACgkQwfwUeK3K
7AlqBggAh2Z8+ZW+YMYlQQ8AzujRmGYo9gKX26eGdp2jNjZUeOc0CEZwm/GiW4aZ
9+W1RS3i+O6ToHVYkt9fNEpdUGO3YdBKiMHGWsrkQuwNjm4Yv5Dlx/wRz0dU4vIX
QQDa5tw6Mow1g0gjZqHvDuwbgKoJyHXzFD115kBaINYN/XqOLST9YvMqxxSsHHsD
qRmpU59QTxEqHXKIsgABctdVnQBkbixppZH3/6nu+Xh7qkZvczBLpx/C5V1+XeAv
47LOxaH3wiLQBS/sICKlAFeYcbAyNhwh+nbMxx5i3lG6O6LhaeX46FPMoTG6qiAj
MaO1mAnwrEO35eTXFBgw4IYh37zS9A==
=/ZHI
-----END PGP SIGNATURE-----

--nllglfksvmzlkdkm--


From xen-devel-bounces@lists.xenproject.org Fri Aug 06 09:49:46 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Aug 2021 09:49:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164692.301016 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBwTp-0006Kt-37; Fri, 06 Aug 2021 09:49:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164692.301016; Fri, 06 Aug 2021 09:49:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBwTp-0006Kl-0G; Fri, 06 Aug 2021 09:49:29 +0000
Received: by outflank-mailman (input) for mailman id 164692;
 Fri, 06 Aug 2021 09:49: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 1mBwTn-0006Kb-Q9; Fri, 06 Aug 2021 09:49: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 1mBwTn-0006b1-Lp; Fri, 06 Aug 2021 09:49: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 1mBwTn-0007kG-C1; Fri, 06 Aug 2021 09:49:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mBwTn-0002iP-Bb; Fri, 06 Aug 2021 09:49:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=tdJKNDH9lCjxxRqGAN8Kfj/FKoGEyMW8NhE2PewqBxg=; b=dGRA8ALj5kUTt0fBXC/ubVTNsx
	686PKtwp3vsDU6+dOn/jCi1cGZdhJkrVRtvb/y8E9kO7LW/rG4OTYq3/fsZ86M1D54S0HP/azQc9P
	NpZzM+8R4CXfPF40MCMTkV8VHW2rRdKopUVG2YTlP4kRg+gEbDvQXTL2jnZnhh/9LEec=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164118-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 164118: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=73890139bfa248e3a714feb5566144510c3e97dc
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 06 Aug 2021 09:49:27 +0000

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

Regressions :-(

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

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

version targeted for testing:
 libvirt              73890139bfa248e3a714feb5566144510c3e97dc
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  392 days
Failing since        151818  2020-07-11 04:18:52 Z  391 days  383 attempts
Testing same since   164118  2021-08-06 04:20:04 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  Cédric Bosdonnat <cbosdonnat@suse.com>
  Côme Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano Fidêncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Ian Wienand <iwienand@redhat.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  John Ferlan <jferlan@redhat.com>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  Ján Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Michał Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  Moshe Levi <moshele@nvidia.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr Drąg <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tomáš Golembiovský <tgolembi@redhat.com>
  Tomáš Janoušek <tomi@nomi.cz>
  Tuguoyi <tu.guoyi@h3c.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  William Douglas <william.douglas@intel.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.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                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Fri Aug 06 11:06:22 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Aug 2021 11:06:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164702.301032 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBxg2-0005KE-1d; Fri, 06 Aug 2021 11:06:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164702.301032; Fri, 06 Aug 2021 11: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 1mBxg1-0005K7-Ua; Fri, 06 Aug 2021 11:06:09 +0000
Received: by outflank-mailman (input) for mailman id 164702;
 Fri, 06 Aug 2021 11:06:08 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gZrF=M5=canonical.com=colin.king@srs-us1.protection.inumbo.net>)
 id 1mBxg0-0005K1-AY
 for xen-devel@lists.xenproject.org; Fri, 06 Aug 2021 11:06:08 +0000
Received: from smtp-relay-canonical-0.canonical.com (unknown [185.125.188.120])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 4b56cc52-f6a6-11eb-9cc7-12813bfff9fa;
 Fri, 06 Aug 2021 11:06:05 +0000 (UTC)
Received: from localhost (1.general.cking.uk.vpn [10.172.193.212])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest
 SHA256) (No client certificate requested)
 by smtp-relay-canonical-0.canonical.com (Postfix) with ESMTPSA id 9FA603F109; 
 Fri,  6 Aug 2021 11:06: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: 4b56cc52-f6a6-11eb-9cc7-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com;
	s=20210705; t=1628247961;
	bh=l6Crxr7OCP95ZsjBftxKKMqfoQ4lcuoG+yhpbemOXu0=;
	h=From:To:Cc:Subject:Date:Message-Id:MIME-Version:Content-Type;
	b=oN0z2sFHSpBGlOta2FnY8Ao9EE9iL/YOWKCyNDeGYYEUhJ6mboXufR37rKoXie46e
	 bGlptR5u6SFgWmFqQ0OjHPdFD+RE6sH8BxMaeA76g+DaTsgnqkk5cEZkctoGneNWAw
	 jdLWxU2utggd6w3m2hIzw5Tsk5YAj5Z1QoVXDv2M0MfJfC+I5rr8NdiV0KUo0ZQzBS
	 exD5JhZQgi/Wsfp9beW6PUXQFR4n/fUFMpMa77pjV51FJpK2w6I26QZsIlbVHlDydk
	 /p7vDntJKfJ7qe4TOg9Q6MsLodm6QE1FXFvD46CzhElz3hfgEJCB6KrqkKs0IkCZDd
	 XxULMTABC5Cnw==
From: Colin King <colin.king@canonical.com>
To: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Jens Axboe <axboe@kernel.dk>,
	xen-devel@lists.xenproject.org,
	linux-block@vger.kernel.org
Cc: kernel-janitors@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH] xen-blkfront: Remove redundant assignment to variable err
Date: Fri,  6 Aug 2021 12:06:01 +0100
Message-Id: <20210806110601.11386-1-colin.king@canonical.com>
X-Mailer: git-send-email 2.31.1
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

From: Colin Ian King <colin.king@canonical.com>

The variable err is being assigned a value that is never read, the
assignment is redundant and can be removed.

Addresses-Coverity: ("Unused value")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
---
 drivers/block/xen-blkfront.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
index d83fee21f6c5..715bfa8aca7f 100644
--- a/drivers/block/xen-blkfront.c
+++ b/drivers/block/xen-blkfront.c
@@ -1092,7 +1092,6 @@ static int xlvbd_alloc_gendisk(blkif_sector_t capacity,
 	err = xlbd_reserve_minors(minor, nr_minors);
 	if (err)
 		return err;
-	err = -ENODEV;
 
 	memset(&info->tag_set, 0, sizeof(info->tag_set));
 	info->tag_set.ops = &blkfront_mq_ops;
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 06 11:08:51 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Aug 2021 11:08:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164708.301044 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBxid-0005ws-Eu; Fri, 06 Aug 2021 11:08:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164708.301044; Fri, 06 Aug 2021 11: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 1mBxid-0005wl-Bu; Fri, 06 Aug 2021 11:08:51 +0000
Received: by outflank-mailman (input) for mailman id 164708;
 Fri, 06 Aug 2021 11:08:50 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mBxic-0005wb-7Z; Fri, 06 Aug 2021 11:08:50 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mBxic-0007p9-2m; Fri, 06 Aug 2021 11:08:50 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mBxib-0001LQ-Ni; Fri, 06 Aug 2021 11:08:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mBxib-0006T0-N9; Fri, 06 Aug 2021 11:08: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=hnABw/hXrHcKowKYUOccwR+Lrzv0wvOCpbAE4H6/Bog=; b=1WL3HJ6/aFDCMf/OIyOgp5HITL
	5llBTBpKfzCDx+7FLPXfGycJD3RaTQ8exBchxRxVt7+s0zjut3uSz7BPuBG5gmIbkwbzx/UPEslcf
	IrCcyvscosTuGcn6w//hRaGjOHwkgFWV3IpKnnWoRHBeMUtKbQ2+oBG4V9uqon8rSM54=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164116-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 164116: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt: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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=2278d2cbb0b7c1b48b298c6c4c6a7de2271ac928
X-Osstest-Versions-That:
    xen=2278d2cbb0b7c1b48b298c6c4c6a7de2271ac928
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 06 Aug 2021 11:08:49 +0000

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

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 164106
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164106
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164106
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164106
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 164106
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 164106
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164106
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164106
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 164106
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164106
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164106
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-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          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-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  2278d2cbb0b7c1b48b298c6c4c6a7de2271ac928
baseline version:
 xen                  2278d2cbb0b7c1b48b298c6c4c6a7de2271ac928

Last test of basis   164116  2021-08-06 01:52:42 Z    0 days
Testing same since                          (not found)         0 attempts

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


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

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

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

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


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Fri Aug 06 11:12:09 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Aug 2021 11:12:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164718.301059 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mBxln-0007JH-18; Fri, 06 Aug 2021 11:12:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164718.301059; Fri, 06 Aug 2021 11: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 1mBxlm-0007JA-Sb; Fri, 06 Aug 2021 11:12:06 +0000
Received: by outflank-mailman (input) for mailman id 164718;
 Fri, 06 Aug 2021 11:12: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 1mBxll-0007J4-Vw
 for xen-devel@lists.xenproject.org; Fri, 06 Aug 2021 11:12: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 1mBxlk-0007ra-4U; Fri, 06 Aug 2021 11:12:04 +0000
Received: from [54.239.6.186] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mBxlj-0005L4-UJ; Fri, 06 Aug 2021 11:12: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:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=3SadOEWW7n5k6UfiP1oknJUfUOwrHSTRDku0rwodCcM=; b=dz+Y0x1cgojsy9m0nC2K1rsLYu
	zgfnlDzDwgRWmwwmQi9/jRD/XdDHu701l/EalpDG8Rf5XzZRYeaXPole2rpNWF7cM1c+/wsFna5/I
	jrl39cLOa7y08eeDjnCoDI0lwogYO/U3JsRJ+WmH3u5iGeORn+wnK8GS2Zolb7o3BOxI=;
Subject: Re: [PATCH v2] xen/arm64: Remove vreg_emulate_sysreg32
To: Michal Orzel <michal.orzel@arm.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, bertrand.marquis@arm.com,
 Ash Wilding <ash.j.wilding@gmail.com>, Ian Jackson <iwj@xenproject.org>
References: <20210729104258.6320-1-michal.orzel@arm.com>
 <4a5ac822-3078-de0e-8f84-6881d47ad3eb@xen.org>
 <dd9859ec-a3a9-6a74-bdae-fde092f26ac0@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <e8bdb065-9b46-e0d8-1fcf-7bba38e02f9e@xen.org>
Date: Fri, 6 Aug 2021 12:12:01 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <dd9859ec-a3a9-6a74-bdae-fde092f26ac0@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit



On 29/07/2021 12:47, Michal Orzel wrote:
> Hi Julien,

Hi Michal,

> On 29.07.2021 13:20, Julien Grall wrote:
>> Hi Michal,
>>
>> On 29/07/2021 11:42, Michal Orzel wrote:
>>> According to ARMv8A architecture, AArch64 registers
>>> are 64bit wide even though in many cases the upper
>>> 32bit is reserved. Therefore there is no need for
>>> function vreg_emulate_sysreg32 on arm64. This means
>>> that we can have just one function vreg_emulate_sysreg
>>> using new function pointer:
>>> typedef bool (*vreg_reg_fn_t)(struct cpu_user_regs *regs,
>>>                                 register_t *r, bool read);
>>>
>>> Modify vreg_emulate_cp32 to use the new function pointer
>>> as well.
>>>
>>> This change allows to properly use 64bit registers in AArch64
>>> state and in case of AArch32 the upper 32 bits of AArch64
>>> registers are inaccessible and are ignored(D1.20.1 ARM DDI 0487A.j).
>>
>> What you wrote only says that the bits are ignored. It doesn't say whether the bits will be 0.
>>
>> They are probably, but as I wrote yesterday, I couldn't confirm it.
>>
> Should I then remove this part of the commit or write below?:
> "We can assume that those bits will be 0 but the architecture
> reference manual does not clarify this."

There was some back and forth on security@xen.org about this. I will 
summarizing the discussion here as we considered this was a just a bug.

I wasn't looking at the correct section in the Arm Arm. There is a 
paragraph clearly describing the expected behavior in a different 
section (thanks Ash for the pointer!). Per section D1.19.2 in DDI 0487F.c:

"
If the general-purpose register was accessible from AArch32 state

The upper 32 bits either become zero, or hold the value that the same 
architectural register held before any AArch32 execution. The choice 
between these two options is IMPLEMENTATION DEFINED, and might vary 
dynamically within an implementation. Correspondingly, software must
regard the value as being a CONSTRAINED UNPREDICTABLE choice between 
these two values.

This behavior applies regardless of whether any execution occurred at 
the Exception level that was using AArch32. That is, this behavior 
applies even if AArch32 state was entered by an exception
return from AArch64 state, and another exception was immediately taken 
to AArch64 state without any instruction execution in AArch32 state.
"

So we can't assume the top 32-bits are zeroed unless the hypervisor 
ensured they were. Today, we don't have that guarantee in Xen.

This needs to be fixed. The two approachs we discussed are:
    1) Update set_user_reg() to zero the top 32-bit. We have a couple of 
places using directly the fields xN. So we would need to switch them to 
use set_user_reg()
    2) Only saving/restoring the bottom 32-bit when entering/leaving the 
hypervisor.

At the moment, my preference goes towards the latter because we don't 
risk to introduce new place where set_user_reg() is not used.

I have quickly hack the entry path. This would look like:

diff --git a/xen/arch/arm/arm64/entry.S b/xen/arch/arm/arm64/entry.S
index fc3811ad0ad5..65e24c88b059 100644
--- a/xen/arch/arm/arm64/entry.S
+++ b/xen/arch/arm/arm64/entry.S
@@ -111,6 +111,11 @@
   */
          .macro  entry, hyp, compat, save_x0_x1=1
          sub     sp, sp, #(UREGS_SPSR_el1 - UREGS_LR) /* CPSR, PC, SP, 
LR */
+        .if \compat == 1 /* AArch32 mode */
+        /* Clobber the top 32-bit of the registers */
+        mov    w0, w0
+        mov    w1, w1
+        .endif
          push    x28, x29
          push    x26, x27
          push    x24, x25

I haven't looked whether this can be optimized or the exit path would be 
easier to modify.

Anyway, this is not a new bug so I would be fine to get this patch 
merged first. Although, I think this wants to be fixed for xen 4.16 
(CCing Ian to track it).

I will try to find sometimes in the next couple of weeks to fix it and 
have another review of this patch.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 06 13:37:51 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Aug 2021 13:37:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164733.301071 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mC02Z-0002vJ-Gs; Fri, 06 Aug 2021 13:37:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164733.301071; Fri, 06 Aug 2021 13: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 1mC02Z-0002vC-Dc; Fri, 06 Aug 2021 13:37:35 +0000
Received: by outflank-mailman (input) for mailman id 164733;
 Fri, 06 Aug 2021 13:37: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 1mC02X-0002v2-UD; Fri, 06 Aug 2021 13:37: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 1mC02X-0001SP-LW; Fri, 06 Aug 2021 13:37: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 1mC02X-0006BM-9L; Fri, 06 Aug 2021 13:37:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mC02X-0007wm-8g; Fri, 06 Aug 2021 13: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=IKWE1JcYvjaswDLhUFoUawul3r7UvPA40GsMbpsZhUY=; b=bfKYhMUoqhrjrolqgkc7yBfoj0
	ytkPnUgL4L0oF8TgNXM934oD3Xqd/x3ys0p2FFft1Tu1DeIzXeb+3KgeEPoRJNIuDeTRAZF6IFNhN
	nYPnm9Cx7hjpBF5x+jssEflmuqHHcFdugfy/GZZsQ40Upr5+6OQRB8qbO58UeDkZ9SBo=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164117-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164117: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:heisenbug
    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-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=902e7f373fff2476b53824264c12e4e76c7ec02a
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 06 Aug 2021 13:37:33 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      14 guest-start              fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  14 guest-start              fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop              fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 14 guest-start    fail in 164113 REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 20 guest-stop     fail in 164113 REGR. vs. 152332

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl-xsm      13 debian-fixup     fail in 164113 pass in 164117
 test-arm64-arm64-xl-credit1  13 debian-fixup     fail in 164113 pass in 164117
 test-amd64-amd64-xl-multivcpu 22 guest-start/debian.repeat fail in 164113 pass in 164117
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat fail in 164113 pass in 164117
 test-amd64-amd64-i386-pvgrub 19 guest-localmigrate/x10     fail pass in 164113
 test-arm64-arm64-libvirt-xsm 13 debian-fixup               fail pass in 164113

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

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

version targeted for testing:
 linux                902e7f373fff2476b53824264c12e4e76c7ec02a
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  370 days
Failing since        152366  2020-08-01 20:49:34 Z  369 days  644 attempts
Testing same since   164113  2021-08-05 20:41:37 Z    0 days    2 attempts

------------------------------------------------------------
6762 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Fri Aug 06 13:38:33 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Aug 2021 13:38:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164741.301086 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mC03U-0003VP-Tr; Fri, 06 Aug 2021 13:38:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164741.301086; Fri, 06 Aug 2021 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 1mC03U-0003VI-Ot; Fri, 06 Aug 2021 13:38:32 +0000
Received: by outflank-mailman (input) for mailman id 164741;
 Fri, 06 Aug 2021 13:38:31 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WlnV=M5=intel.com=lingshan.zhu@srs-us1.protection.inumbo.net>)
 id 1mC03S-0003V3-Ty
 for xen-devel@lists.xenproject.org; Fri, 06 Aug 2021 13:38:30 +0000
Received: from mga17.intel.com (unknown [192.55.52.151])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 941701d6-f6bb-11eb-9ce7-12813bfff9fa;
 Fri, 06 Aug 2021 13:38:27 +0000 (UTC)
Received: from fmsmga002.fm.intel.com ([10.253.24.26])
 by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 06 Aug 2021 06:38:26 -0700
Received: from vmm_a4_icx.sh.intel.com (HELO localhost.localdomain)
 ([10.239.53.245])
 by fmsmga002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 06 Aug 2021 06:38:20 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 941701d6-f6bb-11eb-9ce7-12813bfff9fa
X-IronPort-AV: E=McAfee;i="6200,9189,10068"; a="194641047"
X-IronPort-AV: E=Sophos;i="5.84,300,1620716400"; 
   d="scan'208";a="194641047"
X-IronPort-AV: E=Sophos;i="5.84,300,1620716400"; 
   d="scan'208";a="523463320"
From: Zhu Lingshan <lingshan.zhu@intel.com>
To: peterz@infradead.org,
	pbonzini@redhat.com
Cc: bp@alien8.de,
	seanjc@google.com,
	vkuznets@redhat.com,
	wanpengli@tencent.com,
	jmattson@google.com,
	joro@8bytes.org,
	kan.liang@linux.intel.com,
	ak@linux.intel.com,
	wei.w.wang@intel.com,
	eranian@google.com,
	liuxiangdong5@huawei.com,
	linux-kernel@vger.kernel.org,
	x86@kernel.org,
	kvm@vger.kernel.org,
	like.xu.linux@gmail.com,
	boris.ostrvsky@oracle.com,
	Like Xu <like.xu@linux.intel.com>,
	Will Deacon <will@kernel.org>,
	Marc Zyngier <maz@kernel.org>,
	Guo Ren <guoren@kernel.org>,
	Nick Hu <nickhu@andestech.com>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	linux-arm-kernel@lists.infradead.org,
	kvmarm@lists.cs.columbia.edu,
	linux-csky@vger.kernel.org,
	linux-riscv@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	Zhu Lingshan <lingshan.zhu@intel.com>
Subject: [PATCH V10 01/18] perf/core: Use static_call to optimize perf_guest_info_callbacks
Date: Fri,  6 Aug 2021 21:37:45 +0800
Message-Id: <20210806133802.3528-2-lingshan.zhu@intel.com>
X-Mailer: git-send-email 2.27.0
In-Reply-To: <20210806133802.3528-1-lingshan.zhu@intel.com>
References: <20210806133802.3528-1-lingshan.zhu@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Like Xu <like.xu@linux.intel.com>

For "struct perf_guest_info_callbacks", the two fields "is_in_guest"
and "is_user_mode" are replaced with a new multiplexed member named
"state", and the "get_guest_ip" field will be renamed to "get_ip".

For arm64, xen and kvm/x86, the application of DEFINE_STATIC_CALL_RET0
could make all that perf_guest_cbs stuff suck less. For arm, csky, nds32,
and riscv, just applied some renamed refactoring.

Cc: Will Deacon <will@kernel.org>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Guo Ren <guoren@kernel.org>
Cc: Nick Hu <nickhu@andestech.com>
Cc: Paul Walmsley <paul.walmsley@sifive.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: kvmarm@lists.cs.columbia.edu
Cc: linux-csky@vger.kernel.org
Cc: linux-riscv@lists.infradead.org
Cc: xen-devel@lists.xenproject.org
Suggested-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Original-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Like Xu <like.xu@linux.intel.com>
Signed-off-by: Zhu Lingshan <lingshan.zhu@intel.com>
Reviewed-by: Boris Ostrovsky <boris.ostrvsky@oracle.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
---
 arch/arm/kernel/perf_callchain.c   | 16 +++++++-----
 arch/arm64/kernel/perf_callchain.c | 29 +++++++++++++++++-----
 arch/arm64/kvm/perf.c              | 22 ++++++++---------
 arch/csky/kernel/perf_callchain.c  |  4 +--
 arch/nds32/kernel/perf_event_cpu.c | 16 +++++++-----
 arch/riscv/kernel/perf_callchain.c |  4 +--
 arch/x86/events/core.c             | 39 ++++++++++++++++++++++++------
 arch/x86/events/intel/core.c       |  7 +++---
 arch/x86/include/asm/kvm_host.h    |  2 +-
 arch/x86/kvm/pmu.c                 |  2 +-
 arch/x86/kvm/x86.c                 | 37 +++++++++++++++-------------
 arch/x86/xen/pmu.c                 | 33 ++++++++++---------------
 include/linux/perf_event.h         | 12 ++++++---
 kernel/events/core.c               |  9 +++++++
 14 files changed, 144 insertions(+), 88 deletions(-)

diff --git a/arch/arm/kernel/perf_callchain.c b/arch/arm/kernel/perf_callchain.c
index 3b69a76d341e..1ce30f86d6c7 100644
--- a/arch/arm/kernel/perf_callchain.c
+++ b/arch/arm/kernel/perf_callchain.c
@@ -64,7 +64,7 @@ perf_callchain_user(struct perf_callchain_entry_ctx *entry, struct pt_regs *regs
 {
 	struct frame_tail __user *tail;
 
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
+	if (perf_guest_cbs && perf_guest_cbs->state()) {
 		/* We don't support guest os callchain now */
 		return;
 	}
@@ -100,7 +100,7 @@ perf_callchain_kernel(struct perf_callchain_entry_ctx *entry, struct pt_regs *re
 {
 	struct stackframe fr;
 
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
+	if (perf_guest_cbs && perf_guest_cbs->state()) {
 		/* We don't support guest os callchain now */
 		return;
 	}
@@ -111,8 +111,8 @@ perf_callchain_kernel(struct perf_callchain_entry_ctx *entry, struct pt_regs *re
 
 unsigned long perf_instruction_pointer(struct pt_regs *regs)
 {
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest())
-		return perf_guest_cbs->get_guest_ip();
+	if (perf_guest_cbs && perf_guest_cbs->state())
+		return perf_guest_cbs->get_ip();
 
 	return instruction_pointer(regs);
 }
@@ -120,9 +120,13 @@ unsigned long perf_instruction_pointer(struct pt_regs *regs)
 unsigned long perf_misc_flags(struct pt_regs *regs)
 {
 	int misc = 0;
+	unsigned int state = 0;
 
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
-		if (perf_guest_cbs->is_user_mode())
+	if (perf_guest_cbs)
+		state = perf_guest_cbs->state();
+
+	if (perf_guest_cbs && state) {
+		if (state & PERF_GUEST_USER)
 			misc |= PERF_RECORD_MISC_GUEST_USER;
 		else
 			misc |= PERF_RECORD_MISC_GUEST_KERNEL;
diff --git a/arch/arm64/kernel/perf_callchain.c b/arch/arm64/kernel/perf_callchain.c
index 4a72c2727309..1b344e23fd2f 100644
--- a/arch/arm64/kernel/perf_callchain.c
+++ b/arch/arm64/kernel/perf_callchain.c
@@ -5,6 +5,7 @@
  * Copyright (C) 2015 ARM Limited
  */
 #include <linux/perf_event.h>
+#include <linux/static_call.h>
 #include <linux/uaccess.h>
 
 #include <asm/pointer_auth.h>
@@ -99,10 +100,25 @@ compat_user_backtrace(struct compat_frame_tail __user *tail,
 }
 #endif /* CONFIG_COMPAT */
 
+DEFINE_STATIC_CALL_RET0(arm64_guest_state, *(perf_guest_cbs->state));
+DEFINE_STATIC_CALL_RET0(arm64_guest_get_ip, *(perf_guest_cbs->get_ip));
+
+void arch_perf_update_guest_cbs(void)
+{
+	static_call_update(arm64_guest_state, (void *)&__static_call_return0);
+	static_call_update(arm64_guest_get_ip, (void *)&__static_call_return0);
+
+	if (perf_guest_cbs && perf_guest_cbs->state)
+		static_call_update(arm64_guest_state, perf_guest_cbs->state);
+
+	if (perf_guest_cbs && perf_guest_cbs->get_ip)
+		static_call_update(arm64_guest_get_ip, perf_guest_cbs->get_ip);
+}
+
 void perf_callchain_user(struct perf_callchain_entry_ctx *entry,
 			 struct pt_regs *regs)
 {
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
+	if (static_call(arm64_guest_state)()) {
 		/* We don't support guest os callchain now */
 		return;
 	}
@@ -149,7 +165,7 @@ void perf_callchain_kernel(struct perf_callchain_entry_ctx *entry,
 {
 	struct stackframe frame;
 
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
+	if (static_call(arm64_guest_state)()) {
 		/* We don't support guest os callchain now */
 		return;
 	}
@@ -160,8 +176,8 @@ void perf_callchain_kernel(struct perf_callchain_entry_ctx *entry,
 
 unsigned long perf_instruction_pointer(struct pt_regs *regs)
 {
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest())
-		return perf_guest_cbs->get_guest_ip();
+	if (static_call(arm64_guest_state)())
+		return static_call(arm64_guest_get_ip)();
 
 	return instruction_pointer(regs);
 }
@@ -169,9 +185,10 @@ unsigned long perf_instruction_pointer(struct pt_regs *regs)
 unsigned long perf_misc_flags(struct pt_regs *regs)
 {
 	int misc = 0;
+	unsigned int guest = static_call(arm64_guest_state)();
 
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
-		if (perf_guest_cbs->is_user_mode())
+	if (guest) {
+		if (guest & PERF_GUEST_USER)
 			misc |= PERF_RECORD_MISC_GUEST_USER;
 		else
 			misc |= PERF_RECORD_MISC_GUEST_KERNEL;
diff --git a/arch/arm64/kvm/perf.c b/arch/arm64/kvm/perf.c
index 151c31fb9860..8a3387e58f42 100644
--- a/arch/arm64/kvm/perf.c
+++ b/arch/arm64/kvm/perf.c
@@ -13,21 +13,20 @@
 
 DEFINE_STATIC_KEY_FALSE(kvm_arm_pmu_available);
 
-static int kvm_is_in_guest(void)
-{
-        return kvm_get_running_vcpu() != NULL;
-}
-
-static int kvm_is_user_mode(void)
+static unsigned int kvm_guest_state(void)
 {
 	struct kvm_vcpu *vcpu;
+	unsigned int state = 0;
+
+	if (kvm_get_running_vcpu())
+		state |= PERF_GUEST_ACTIVE;
 
 	vcpu = kvm_get_running_vcpu();
 
-	if (vcpu)
-		return !vcpu_mode_priv(vcpu);
+	if (vcpu && !vcpu_mode_priv(vcpu))
+		state |= PERF_GUEST_USER;
 
-	return 0;
+	return state;
 }
 
 static unsigned long kvm_get_guest_ip(void)
@@ -43,9 +42,8 @@ static unsigned long kvm_get_guest_ip(void)
 }
 
 static struct perf_guest_info_callbacks kvm_guest_cbs = {
-	.is_in_guest	= kvm_is_in_guest,
-	.is_user_mode	= kvm_is_user_mode,
-	.get_guest_ip	= kvm_get_guest_ip,
+	.state		= kvm_guest_state,
+	.get_ip		= kvm_get_guest_ip,
 };
 
 int kvm_perf_init(void)
diff --git a/arch/csky/kernel/perf_callchain.c b/arch/csky/kernel/perf_callchain.c
index ab55e98ee8f6..3e42239dd1b2 100644
--- a/arch/csky/kernel/perf_callchain.c
+++ b/arch/csky/kernel/perf_callchain.c
@@ -89,7 +89,7 @@ void perf_callchain_user(struct perf_callchain_entry_ctx *entry,
 	unsigned long fp = 0;
 
 	/* C-SKY does not support virtualization. */
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest())
+	if (perf_guest_cbs && perf_guest_cbs->state())
 		return;
 
 	fp = regs->regs[4];
@@ -113,7 +113,7 @@ void perf_callchain_kernel(struct perf_callchain_entry_ctx *entry,
 	struct stackframe fr;
 
 	/* C-SKY does not support virtualization. */
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
+	if (perf_guest_cbs && perf_guest_cbs->state()) {
 		pr_warn("C-SKY does not support perf in guest mode!");
 		return;
 	}
diff --git a/arch/nds32/kernel/perf_event_cpu.c b/arch/nds32/kernel/perf_event_cpu.c
index 0ce6f9f307e6..1dc32ba842ce 100644
--- a/arch/nds32/kernel/perf_event_cpu.c
+++ b/arch/nds32/kernel/perf_event_cpu.c
@@ -1371,7 +1371,7 @@ perf_callchain_user(struct perf_callchain_entry_ctx *entry,
 
 	leaf_fp = 0;
 
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
+	if (perf_guest_cbs && perf_guest_cbs->state()) {
 		/* We don't support guest os callchain now */
 		return;
 	}
@@ -1481,7 +1481,7 @@ perf_callchain_kernel(struct perf_callchain_entry_ctx *entry,
 {
 	struct stackframe fr;
 
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
+	if (perf_guest_cbs && perf_guest_cbs->state()) {
 		/* We don't support guest os callchain now */
 		return;
 	}
@@ -1494,8 +1494,8 @@ perf_callchain_kernel(struct perf_callchain_entry_ctx *entry,
 unsigned long perf_instruction_pointer(struct pt_regs *regs)
 {
 	/* However, NDS32 does not support virtualization */
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest())
-		return perf_guest_cbs->get_guest_ip();
+	if (perf_guest_cbs && perf_guest_cbs->state())
+		return perf_guest_cbs->get_ip();
 
 	return instruction_pointer(regs);
 }
@@ -1503,10 +1503,14 @@ unsigned long perf_instruction_pointer(struct pt_regs *regs)
 unsigned long perf_misc_flags(struct pt_regs *regs)
 {
 	int misc = 0;
+	unsigned int state = 0;
+
+	if (perf_guest_cbs)
+		state = perf_guest_cbs->state();
 
 	/* However, NDS32 does not support virtualization */
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
-		if (perf_guest_cbs->is_user_mode())
+	if (perf_guest_cbs && state) {
+		if (state & PERF_GUEST_USER)
 			misc |= PERF_RECORD_MISC_GUEST_USER;
 		else
 			misc |= PERF_RECORD_MISC_GUEST_KERNEL;
diff --git a/arch/riscv/kernel/perf_callchain.c b/arch/riscv/kernel/perf_callchain.c
index 0bb1854dce83..ea63f70cae5d 100644
--- a/arch/riscv/kernel/perf_callchain.c
+++ b/arch/riscv/kernel/perf_callchain.c
@@ -59,7 +59,7 @@ void perf_callchain_user(struct perf_callchain_entry_ctx *entry,
 	unsigned long fp = 0;
 
 	/* RISC-V does not support perf in guest mode. */
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest())
+	if (perf_guest_cbs && perf_guest_cbs->state())
 		return;
 
 	fp = regs->s0;
@@ -79,7 +79,7 @@ void perf_callchain_kernel(struct perf_callchain_entry_ctx *entry,
 			   struct pt_regs *regs)
 {
 	/* RISC-V does not support perf in guest mode. */
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
+	if (perf_guest_cbs && perf_guest_cbs->state()) {
 		pr_warn("RISC-V does not support perf in guest mode!");
 		return;
 	}
diff --git a/arch/x86/events/core.c b/arch/x86/events/core.c
index 1eb45139fcc6..9a908631f6cc 100644
--- a/arch/x86/events/core.c
+++ b/arch/x86/events/core.c
@@ -90,6 +90,28 @@ DEFINE_STATIC_CALL_NULL(x86_pmu_pebs_aliases, *x86_pmu.pebs_aliases);
  */
 DEFINE_STATIC_CALL_RET0(x86_pmu_guest_get_msrs, *x86_pmu.guest_get_msrs);
 
+DEFINE_STATIC_CALL_RET0(x86_guest_state, *(perf_guest_cbs->state));
+DEFINE_STATIC_CALL_RET0(x86_guest_get_ip, *(perf_guest_cbs->get_ip));
+DEFINE_STATIC_CALL_RET0(x86_guest_handle_intel_pt_intr, *(perf_guest_cbs->handle_intel_pt_intr));
+
+void arch_perf_update_guest_cbs(void)
+{
+	static_call_update(x86_guest_state, (void *)&__static_call_return0);
+	static_call_update(x86_guest_get_ip, (void *)&__static_call_return0);
+	static_call_update(x86_guest_handle_intel_pt_intr, (void *)&__static_call_return0);
+
+	if (perf_guest_cbs && perf_guest_cbs->state)
+		static_call_update(x86_guest_state, perf_guest_cbs->state);
+
+	if (perf_guest_cbs && perf_guest_cbs->get_ip)
+		static_call_update(x86_guest_get_ip, perf_guest_cbs->get_ip);
+
+	if (perf_guest_cbs && perf_guest_cbs->handle_intel_pt_intr) {
+		static_call_update(x86_guest_handle_intel_pt_intr,
+				   perf_guest_cbs->handle_intel_pt_intr);
+	}
+}
+
 u64 __read_mostly hw_cache_event_ids
 				[PERF_COUNT_HW_CACHE_MAX]
 				[PERF_COUNT_HW_CACHE_OP_MAX]
@@ -2764,7 +2786,7 @@ perf_callchain_kernel(struct perf_callchain_entry_ctx *entry, struct pt_regs *re
 	struct unwind_state state;
 	unsigned long addr;
 
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
+	if (static_call(x86_guest_state)()) {
 		/* TODO: We don't support guest os callchain now */
 		return;
 	}
@@ -2867,7 +2889,7 @@ perf_callchain_user(struct perf_callchain_entry_ctx *entry, struct pt_regs *regs
 	struct stack_frame frame;
 	const struct stack_frame __user *fp;
 
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
+	if (static_call(x86_guest_state)()) {
 		/* TODO: We don't support guest os callchain now */
 		return;
 	}
@@ -2944,18 +2966,21 @@ static unsigned long code_segment_base(struct pt_regs *regs)
 
 unsigned long perf_instruction_pointer(struct pt_regs *regs)
 {
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest())
-		return perf_guest_cbs->get_guest_ip();
+	unsigned long ip = static_call(x86_guest_get_ip)();
+
+	if (likely(!ip))
+		ip = regs->ip + code_segment_base(regs);
 
-	return regs->ip + code_segment_base(regs);
+	return ip;
 }
 
 unsigned long perf_misc_flags(struct pt_regs *regs)
 {
+	unsigned int guest = static_call(x86_guest_state)();
 	int misc = 0;
 
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
-		if (perf_guest_cbs->is_user_mode())
+	if (guest) {
+		if (guest & PERF_GUEST_USER)
 			misc |= PERF_RECORD_MISC_GUEST_USER;
 		else
 			misc |= PERF_RECORD_MISC_GUEST_KERNEL;
diff --git a/arch/x86/events/intel/core.c b/arch/x86/events/intel/core.c
index fca7a6e2242f..fb1bd7a0e1a6 100644
--- a/arch/x86/events/intel/core.c
+++ b/arch/x86/events/intel/core.c
@@ -2782,6 +2782,8 @@ static void intel_pmu_reset(void)
 	local_irq_restore(flags);
 }
 
+DECLARE_STATIC_CALL(x86_guest_handle_intel_pt_intr, *(perf_guest_cbs->handle_intel_pt_intr));
+
 static int handle_pmi_common(struct pt_regs *regs, u64 status)
 {
 	struct perf_sample_data data;
@@ -2852,10 +2854,7 @@ static int handle_pmi_common(struct pt_regs *regs, u64 status)
 	 */
 	if (__test_and_clear_bit(GLOBAL_STATUS_TRACE_TOPAPMI_BIT, (unsigned long *)&status)) {
 		handled++;
-		if (unlikely(perf_guest_cbs && perf_guest_cbs->is_in_guest() &&
-			perf_guest_cbs->handle_intel_pt_intr))
-			perf_guest_cbs->handle_intel_pt_intr();
-		else
+		if (!static_call(x86_guest_handle_intel_pt_intr)())
 			intel_pt_interrupt();
 	}
 
diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
index 974cbfb1eefe..128e2dd9c944 100644
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -1884,7 +1884,7 @@ int kvm_skip_emulated_instruction(struct kvm_vcpu *vcpu);
 int kvm_complete_insn_gp(struct kvm_vcpu *vcpu, int err);
 void __kvm_request_immediate_exit(struct kvm_vcpu *vcpu);
 
-int kvm_is_in_guest(void);
+unsigned int kvm_guest_state(void);
 
 void __user *__x86_set_memory_region(struct kvm *kvm, int id, gpa_t gpa,
 				     u32 size);
diff --git a/arch/x86/kvm/pmu.c b/arch/x86/kvm/pmu.c
index 827886c12c16..2dcbd1b30004 100644
--- a/arch/x86/kvm/pmu.c
+++ b/arch/x86/kvm/pmu.c
@@ -87,7 +87,7 @@ static void kvm_perf_overflow_intr(struct perf_event *perf_event,
 		 * woken up. So we should wake it, but this is impossible from
 		 * NMI context. Do it from irq work instead.
 		 */
-		if (!kvm_is_in_guest())
+		if (!kvm_guest_state())
 			irq_work_queue(&pmc_to_pmu(pmc)->irq_work);
 		else
 			kvm_make_request(KVM_REQ_PMI, pmc->vcpu);
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index e5d5c5ed7dd4..efd11702465c 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -8268,44 +8268,47 @@ static void kvm_timer_init(void)
 DEFINE_PER_CPU(struct kvm_vcpu *, current_vcpu);
 EXPORT_PER_CPU_SYMBOL_GPL(current_vcpu);
 
-int kvm_is_in_guest(void)
+unsigned int kvm_guest_state(void)
 {
-	return __this_cpu_read(current_vcpu) != NULL;
-}
-
-static int kvm_is_user_mode(void)
-{
-	int user_mode = 3;
+	struct kvm_vcpu *vcpu = __this_cpu_read(current_vcpu);
+	unsigned int state = 0;
 
-	if (__this_cpu_read(current_vcpu))
-		user_mode = static_call(kvm_x86_get_cpl)(__this_cpu_read(current_vcpu));
+	if (vcpu) {
+		state |= PERF_GUEST_ACTIVE;
+		if (static_call(kvm_x86_get_cpl)(vcpu))
+			state |= PERF_GUEST_USER;
+	}
 
-	return user_mode != 0;
+	return state;
 }
 
-static unsigned long kvm_get_guest_ip(void)
+static unsigned long kvm_guest_get_ip(void)
 {
+	struct kvm_vcpu *vcpu = __this_cpu_read(current_vcpu);
 	unsigned long ip = 0;
 
-	if (__this_cpu_read(current_vcpu))
-		ip = kvm_rip_read(__this_cpu_read(current_vcpu));
+	if (vcpu)
+		ip = kvm_rip_read(vcpu);
 
 	return ip;
 }
 
-static void kvm_handle_intel_pt_intr(void)
+static unsigned int kvm_handle_intel_pt_intr(void)
 {
 	struct kvm_vcpu *vcpu = __this_cpu_read(current_vcpu);
 
+	if (!vcpu)
+		return 0;
+
 	kvm_make_request(KVM_REQ_PMI, vcpu);
 	__set_bit(MSR_CORE_PERF_GLOBAL_OVF_CTRL_TRACE_TOPA_PMI_BIT,
 			(unsigned long *)&vcpu->arch.pmu.global_status);
+	return 1;
 }
 
 static struct perf_guest_info_callbacks kvm_guest_cbs = {
-	.is_in_guest		= kvm_is_in_guest,
-	.is_user_mode		= kvm_is_user_mode,
-	.get_guest_ip		= kvm_get_guest_ip,
+	.state			= kvm_guest_state,
+	.get_ip			= kvm_guest_get_ip,
 	.handle_intel_pt_intr	= kvm_handle_intel_pt_intr,
 };
 
diff --git a/arch/x86/xen/pmu.c b/arch/x86/xen/pmu.c
index e13b0b49fcdf..85c6e6f6f422 100644
--- a/arch/x86/xen/pmu.c
+++ b/arch/x86/xen/pmu.c
@@ -413,34 +413,28 @@ int pmu_apic_update(uint32_t val)
 }
 
 /* perf callbacks */
-static int xen_is_in_guest(void)
+static unsigned int xen_guest_state(void)
 {
 	const struct xen_pmu_data *xenpmu_data = get_xenpmu_data();
+	unsigned int state = 0;
 
 	if (!xenpmu_data) {
 		pr_warn_once("%s: pmudata not initialized\n", __func__);
-		return 0;
+		return state;
 	}
 
 	if (!xen_initial_domain() || (xenpmu_data->domain_id >= DOMID_SELF))
-		return 0;
+		return state;
 
-	return 1;
-}
+	state |= PERF_GUEST_ACTIVE;
 
-static int xen_is_user_mode(void)
-{
-	const struct xen_pmu_data *xenpmu_data = get_xenpmu_data();
+	if (xenpmu_data->pmu.pmu_flags & PMU_SAMPLE_PV) {
+		if (xenpmu_data->pmu.pmu_flags & PMU_SAMPLE_USER)
+			state |= PERF_GUEST_USER;
+	} else if (xenpmu_data->pmu.r.regs.cpl & 3)
+			state |= PERF_GUEST_USER;
 
-	if (!xenpmu_data) {
-		pr_warn_once("%s: pmudata not initialized\n", __func__);
-		return 0;
-	}
-
-	if (xenpmu_data->pmu.pmu_flags & PMU_SAMPLE_PV)
-		return (xenpmu_data->pmu.pmu_flags & PMU_SAMPLE_USER);
-	else
-		return !!(xenpmu_data->pmu.r.regs.cpl & 3);
+	return state;
 }
 
 static unsigned long xen_get_guest_ip(void)
@@ -456,9 +450,8 @@ static unsigned long xen_get_guest_ip(void)
 }
 
 static struct perf_guest_info_callbacks xen_guest_cbs = {
-	.is_in_guest            = xen_is_in_guest,
-	.is_user_mode           = xen_is_user_mode,
-	.get_guest_ip           = xen_get_guest_ip,
+	.state                  = xen_guest_state,
+	.get_ip			= xen_get_guest_ip,
 };
 
 /* Convert registers from Xen's format to Linux' */
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index 2d510ad750ed..e823677a214c 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -26,11 +26,13 @@
 # include <asm/local64.h>
 #endif
 
+#define PERF_GUEST_ACTIVE	0x01
+#define PERF_GUEST_USER	0x02
+
 struct perf_guest_info_callbacks {
-	int				(*is_in_guest)(void);
-	int				(*is_user_mode)(void);
-	unsigned long			(*get_guest_ip)(void);
-	void				(*handle_intel_pt_intr)(void);
+	unsigned int			(*state)(void);
+	unsigned long			(*get_ip)(void);
+	unsigned int			(*handle_intel_pt_intr)(void);
 };
 
 #ifdef CONFIG_HAVE_HW_BREAKPOINT
@@ -1237,6 +1239,8 @@ extern void perf_event_bpf_event(struct bpf_prog *prog,
 				 u16 flags);
 
 extern struct perf_guest_info_callbacks *perf_guest_cbs;
+extern void __weak arch_perf_update_guest_cbs(void);
+
 extern int perf_register_guest_info_callbacks(struct perf_guest_info_callbacks *callbacks);
 extern int perf_unregister_guest_info_callbacks(struct perf_guest_info_callbacks *callbacks);
 
diff --git a/kernel/events/core.c b/kernel/events/core.c
index 464917096e73..e466fc8176e1 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -6489,9 +6489,18 @@ static void perf_pending_event(struct irq_work *entry)
  */
 struct perf_guest_info_callbacks *perf_guest_cbs;
 
+/* explicitly use __weak to fix duplicate symbol error */
+void __weak arch_perf_update_guest_cbs(void)
+{
+}
+
 int perf_register_guest_info_callbacks(struct perf_guest_info_callbacks *cbs)
 {
+	if (WARN_ON_ONCE(perf_guest_cbs))
+		return -EBUSY;
+
 	perf_guest_cbs = cbs;
+	arch_perf_update_guest_cbs();
 	return 0;
 }
 EXPORT_SYMBOL_GPL(perf_register_guest_info_callbacks);
-- 
2.27.0



From xen-devel-bounces@lists.xenproject.org Fri Aug 06 15:09:00 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Aug 2021 15:09:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164751.301097 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mC1Sm-0003PU-1W; Fri, 06 Aug 2021 15:08:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164751.301097; Fri, 06 Aug 2021 15: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 1mC1Sl-0003PN-Uf; Fri, 06 Aug 2021 15:08:43 +0000
Received: by outflank-mailman (input) for mailman id 164751;
 Fri, 06 Aug 2021 15:08:42 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TtcZ=M5=apertussolutions.com=dpsmith@srs-us1.protection.inumbo.net>)
 id 1mC1Sk-0003Oy-83
 for xen-devel@lists.xenproject.org; Fri, 06 Aug 2021 15:08:42 +0000
Received: from sender4-of-o51.zoho.com (unknown [136.143.188.51])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 2e9816e4-f6c8-11eb-9d04-12813bfff9fa;
 Fri, 06 Aug 2021 15:08:40 +0000 (UTC)
Received: from [10.10.1.24] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1628262510048646.121546899831;
 Fri, 6 Aug 2021 08:08: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: 2e9816e4-f6c8-11eb-9d04-12813bfff9fa
ARC-Seal: i=1; a=rsa-sha256; t=1628262516; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=Sxn1I5Rg3jMzvxcBO6AL0G2f47QBJm4XYn4k8ufP87pXkXzhkgtgon5AjGLn/uuZtDb6lVjPDrq5vzkGtyXaOOfhymF3xNxXPLM8c942freU53vT5R48nELLpeFsWLf6r7WulYPvG1keCIAKWuzx64JBRXTAKFrkPqJcshbT3L4=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1628262516; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=JNQdgjjXZtd6Hh5ENxxy4PjJzPyiYI7kYCeYRjYJsZU=; 
	b=LDJWoTDI6f6Ve4mOzyhnceQPLvjYG1PTA8lDrv6TgXPpDEztMfOa8FrW6ORmwIM057aCuwt0cbFQP80/E2vSATDyqKXGbTEjmvHC0W28gGraLS0F6F5sdXJd1lbeOraZf2+rkS8sow9prgUYytnDuGvvZWYjEYx2xalZa6Np/Zg=
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=1628262516;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=To:Cc:References:From:Subject:Message-ID:Date:MIME-Version:In-Reply-To:Content-Type:Content-Transfer-Encoding;
	bh=JNQdgjjXZtd6Hh5ENxxy4PjJzPyiYI7kYCeYRjYJsZU=;
	b=LI2NYEnN4SH3qxnUCzoE9B4fxC62T9JPT6fe1g9quqH+pSRKHfvpssciQ+mPtq6R
	qyufRgKmQ9WfbsrRn4hGxHFZT+Pj0+cPGXNy5qPU9R4X5OrmgcOMqh77rc9LM2ZZyUq
	/Ib1Zc0DjlTRbxEb4wmSYoHrTAzG42l9V8xoBVnk=
To: Jan Beulich <jbeulich@suse.com>, Oleksandr <olekstysh@gmail.com>
Cc: xen-devel@lists.xenproject.org,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>, Ian Jackson <iwj@xenproject.org>,
 Wei Liu <wl@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <6e573489-ceb7-03f4-3511-e6c166b318a6@apertussolutions.com>
 <ee685f11-4f34-614d-e0ba-7cafeda08344@gmail.com>
 <ca936d82-cc31-a127-488c-e4e33ceb6fbb@apertussolutions.com>
 <4765c96e-49dc-ecb4-5c4f-2a6be5fb99c9@suse.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
Message-ID: <60959b27-a59b-85c5-f04e-0c000f636f7b@apertussolutions.com>
Date: Fri, 6 Aug 2021 11:08:28 -0400
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <4765c96e-49dc-ecb4-5c4f-2a6be5fb99c9@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

On 8/6/21 2:09 AM, Jan Beulich wrote:
> On 05.08.2021 18:37, Daniel P. Smith wrote:
>> On 8/5/21 11:59 AM, Oleksandr wrote:
>>> On 05.08.21 18:03, Daniel P. Smith wrote:
>>>> On 7/28/21 12:18 PM, Oleksandr Tyshchenko wrote:
>>>>> --- a/xen/common/memory.c
>>>>> +++ b/xen/common/memory.c
>>>>> @@ -1811,6 +1811,62 @@ long do_memory_op(unsigned long cmd,
>>>>> XEN_GUEST_HANDLE_PARAM(void) arg)
>>>>>               start_extent);
>>>>>           break;
>>>>>   +    case XENMEM_get_unallocated_space:
>>>>> +    {
>>>>> +        struct xen_get_unallocated_space xgus;
>>>>> +        struct xen_unallocated_region *regions;
>>>>> +
>>>>> +        if ( unlikely(start_extent) )
>>>>> +            return -EINVAL;
>>>>> +
>>>>> +        if ( copy_from_guest(&xgus, arg, 1) ||
>>>>> +             !guest_handle_okay(xgus.buffer, xgus.nr_regions) )
>>>>> +            return -EFAULT;
>>>>> +
>>>>> +        d = rcu_lock_domain_by_any_id(xgus.domid);
>>>>> +        if ( d == NULL )
>>>>> +            return -ESRCH;
>>>>> +
>>>>> +        rc = xsm_get_unallocated_space(XSM_HOOK, d);
>>>> Not sure if you are aware but XSM_HOOK is a no-op check, meaning that
>>>> you are allowing any domain to do this operation on any other domain. In
>>>> most cases there is an XSM check at the beginning of the hypercall
>>>> processing to do an initial clamp down but I am pretty sure there is no
>>>> prior XSM check on this path. Based on my understanding of how this is
>>>> intended, which may be incorrect, but I think you would actually want
>>>> XSM_TARGET.the
>>> Thank you for pointing this out.
>>> I am aware what the XSM_HOOK is, but I was thinking what the default
>>> action would be better suited for that hypercall, and failed to think of
>>> a better alternative.
>>> I was going to choose XSM_TARGET, but the description "/* Can perform on
>>> self or your target domain */" confused me a bit, as there was no target
>>> domain involved as I thought, XSM_PRIV
>>> sounded too strictly to me, etc. So, I decided to leave a "hook" for the
>>> RFC version. But, now I see that XSM_TARGET might be indeed better
>>> choice across all possible variants.
>>
>> If you unravel the craftiness that is xsm_default_action, there is
>> actually a bit of hierarchy there. If you set the default_action to
>> XSM_TARGET, it will first check if calling domain(src) is the target,
>> then falls into the XSM_DM_PRIV check which is if src->target == target,
>> and then finally checks if is_control_domain(src). That will constrict
>> the operation so that a domain can call it on itself, a device model
>> domain (stubdom) can call it on the domain it is backing, and the
>> control domain can make the call. I am not a 100% sure on this but I do
>> not believe a hardware domain would be able to make the call with it set
>> to XSM_TARGET and not employing Flask.
> 
> Afaict (perhaps leaving aside late-hwdom, which I have little knowledge
> of) right now we have is_control_domain(d) == is_hardware_domain(d).

That is my fault for not being more explicit. When I refer to a
"hardware domain" I am referring to what you call "late-hwdom". When a
hardware domain that is not dom0 is constructed, it does not get the
`is_privileged` flag set to true which will result in
is_control_domain(d) to return false. Additionally there is currently no
`enum xsm_default` for hardware domain access/privilege and thus there
is no rule/access check defined in `default_action()` that allows any
of the XSM hooks to be restricted to the hardware domain. Which is what
I was referring to regarding the use of the hardware domain, aka
late-hwdom, without Flask. With Flask it becomes possible for the
hardware domain to be granted access to calls that are reserved to the
control domain under the dummy/default access policy,thus allowing it to
function fully.

dps


From xen-devel-bounces@lists.xenproject.org Fri Aug 06 16:06:51 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Aug 2021 16:06:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164759.301110 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mC2Mu-0000zQ-HW; Fri, 06 Aug 2021 16:06:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164759.301110; Fri, 06 Aug 2021 16:06: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 1mC2Mu-0000zJ-Dr; Fri, 06 Aug 2021 16:06:44 +0000
Received: by outflank-mailman (input) for mailman id 164759;
 Fri, 06 Aug 2021 16:06:43 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=i2ZJ=M5=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mC2Mt-0000zD-Oj
 for xen-devel@lists.xenproject.org; Fri, 06 Aug 2021 16:06:43 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 49d124fc-f6d0-11eb-9d13-12813bfff9fa;
 Fri, 06 Aug 2021 16:06:42 +0000 (UTC)
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01lp2058.outbound.protection.outlook.com [104.47.1.58]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-27-twu5_mlhM8yd8thwtSvsCA-1; Fri, 06 Aug 2021 18:06:40 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0402MB3389.eurprd04.prod.outlook.com (2603:10a6:803:b::27)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.26; Fri, 6 Aug
 2021 16:06:38 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4394.019; Fri, 6 Aug 2021
 16:06:38 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR06CA0103.eurprd06.prod.outlook.com (2603:10a6:208:fa::44) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4394.15 via Frontend Transport; Fri, 6 Aug 2021 16: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: 49d124fc-f6d0-11eb-9d13-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628266001;
	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=cYDCbMR++wtd//yhkKdkkFpEBbqgQFcxk9SRvWjLtfI=;
	b=RQoA7R3m+bVDGzGrLc9hM6x2pkTN/mf1Bfs6xgYP1J7O16xMZWS7Mdc5peqp1cVJOz7EGO
	ovEkiflf01GxMTbBPzKwz+e9Ru0rlir19TVun9J7g8KW8g7Pl4yUqKUNfxCPt30B/AjYvG
	KhLakDsBYWwJA1MXOHkbH40A8fzhisw=
X-MC-Unique: twu5_mlhM8yd8thwtSvsCA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mWhk7wWlDMg6Whmoyi2EOjXtMn2SVFV6ZyMv+MnRabQhVTMi9IYZdu3oJhmueaAB+h9ZB20Q2NzGx2IXbt6rZ+CaK8WY2QG3CeQ9jI7jneglX0jlFUvqzEu2aTrUHidzbQkUU8K2bw3RLrW3aAk8Xw1EAcdLccQQ2pKmHbXizNy6B38DAwZ0tijKgW+0oabUvE7FegDYM/Z2KqDYG/rWTGUZ9tYa52jBiJL0YAfAMRt7Lp3XKJgIXh0QAKz5ywkufFT1wv3T/jc11v5IKxH69QK5I8XTn80JLN/IC6aFHFV2JEdIPb9oqmRUbsNoMHWnsp2J9/y+GwvNY8RmBiHL7g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cYDCbMR++wtd//yhkKdkkFpEBbqgQFcxk9SRvWjLtfI=;
 b=QQYmSJjIvMiu3hAg3Igmr243lXb1NlR36IJ4oYkdcYCt6FCxYaWOypSxSGtXDblsxEd3RVlhew7orkM0LaJbUhESuGrMHUjP0on/pGMH47h2sVyWnh9RA+oq/T6q7gDD72IJ+s+XhbulnOOcdhiFWwM9aB3+oV139j6cxj7J9HL9Ee37n8rCNV2A+AnG3+zjZPq4ouvkEnst3PyKhG76LQzm/Rj/+bU7sVoAjELx+X3Iwqzqmq14HwPRS8h2HwODs5n6hq6ZA2qFvX2EZbDamDEySpmK50GCBfJJ9NogKOw4BwiFoViIzgeOKWJaUfehahLJgvqKAshzjBr1VQaoEg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [XEN PATCH v6 25/31] build: remove unneeded deps of x86_emulate.o
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <20210701141011.785641-1-anthony.perard@citrix.com>
 <20210701141011.785641-26-anthony.perard@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <1e337c91-4380-7a9b-8969-f326a9680e08@suse.com>
Date: Fri, 6 Aug 2021 18:06:37 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <20210701141011.785641-26-anthony.perard@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM0PR06CA0103.eurprd06.prod.outlook.com
 (2603:10a6:208:fa::44) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 17fa5bbb-0cdb-4714-c36b-08d958f42c07
X-MS-TrafficTypeDiagnostic: VI1PR0402MB3389:
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB33896E813C8476D8DBCF4883B3F39@VI1PR0402MB3389.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8273;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2sGeQPAqr1WRq9S8FcUCqxM6vIlCP5NxwWH9PAXi/RCeNQ/BP71oJqspGEcPUWcXKvZ3J6/ApP4usOsBmsVOzqV6brmb4+RmjQdtXOQ+bhJ0d2tBiQKrjnG0tSpybkR+96jPuoMImeJj58u2/rCsdiIVNZIFIvHNeM7dWsWsfPyHYX2AMOFsv5v57tiEf8kjEWL5oD9q2E+x4YT02o3va5pjt+OxsPqP86Q5+TwmgqSWlvyxwy5hkfZ0Bwkboqn7YWqLYI6jkwfRdktc95vDLhAQyeA9n29UsiRFsSDwJOWSu92zDkqTxipdAxsevQ1sbePCaYachaawzDoO99j48iXTqoFW+Q/qfNvyFCMYNSbu8A9ERZ8GBZQAINksUySpyZL6V86SFGvo+/I3wmjd1iB00CZoIxFJNivMcQKHv5KT375zjq7en1Ct/9ZRXkioGaEdbMGhsMLknv0QFcz8KaqkA4WTcXJGIX16IzO+/qAnSkTn+zI6K5VKVzAeeK+Dp8y531R90T5z/58PbI+WBnbAhTNX5WcsMNvXdQ1hFmkjqtGwUuf5J2ZxyZYEfZHoN7xKedim10t1pKzK6PSPx1nyCkgm5h1aVQsqd+uxnu5tQtKK6v80yza5kUWTlZMDWS5Rl1WPU1ZnpvwTpxILSXJtwcMVMYTAqWAyOpwd/HlYCCpJ1ekQAzdATGz8uxdl7pgO1uZihBwMEwL5Hy42k3HLTksk+0XNaMbS77D+wUo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(316002)(5660300002)(54906003)(2616005)(31686004)(66556008)(16576012)(956004)(26005)(186003)(38100700002)(508600001)(4326008)(66946007)(6916009)(8936002)(66476007)(31696002)(86362001)(4744005)(2906002)(8676002)(53546011)(36756003)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZXZzSnJ4WE1iN3ppdFRTTkRBdll0Sy9HQjFpWFlXK1JNdmdCMzZaZm5XcEJI?=
 =?utf-8?B?cHJ4eU5LS1BLRktxYmdaMmV5eEMreWdFaWQ2MVNHNjI5cGg0ZktvYUN0OGVq?=
 =?utf-8?B?d2hzelJLL3hiVUdWVHFDdDFqVkFTbzBjYVZJdVRBR2lPZEVjeFViN2p6aEtr?=
 =?utf-8?B?QUwyeUlibDBKZis2MG9nZktCUDh5eEFrdythRTFjOWVQQVV4SmlSSVc1Uysz?=
 =?utf-8?B?ejAvSXJvckYrVEZwbDROMmtadG5ZZHVLYzI1clRoUGxzWHpZdXJzUnh5SDVQ?=
 =?utf-8?B?S2FZSjdpTWtGbXBFZjJKUkNDN1BsMEhQNW1JVW13Uys1emZvZ3ZobkttNDZp?=
 =?utf-8?B?cmlXazNhSFRkbjM4L3NSWk9VOVlDcmFlTllNRzFTd2FtRHVoQlRXRUIxYlRS?=
 =?utf-8?B?V2V0RkFmRTFHQ3Axc3Z3cWo5eWlaVzRaRTRCL25vbjkxOFlLUXZhQUJVWlNT?=
 =?utf-8?B?UktIVGNqeTluY2NtZHBLaDZ5T2lDbFpTOUpjczh1Z1U1RkhQZGRuZ296QSs4?=
 =?utf-8?B?cGVyL3p2NzdFUXMvOUZiOW12a0xXREM1UUNRc3NoY200TlptRUFaVG5sdEtU?=
 =?utf-8?B?OXQrODFxbU9Vd1pueFdIOFBrQzNRVzV6WldzdE55MC81VHFVT0pSWm1vTStK?=
 =?utf-8?B?azAwZUZxZmFQaUVhSHFpMENrNDlhTzRLNkJZZzNXdXd3TkU0eno4ZTB0ayt5?=
 =?utf-8?B?a0xWL0NiY1A2VmxlM3dsQTRiRE5Fc3J4UDRhWDB0cmVRTkhyNkE5VlVKbVBi?=
 =?utf-8?B?ajRUSnZWMTMzVFc4UlRHd1JhNXpCczErL0ovWHRseHNjbVc3NjJlMElyTFlQ?=
 =?utf-8?B?bnhDMjErb2orS3dTVUJ3Nmg5RXlDM0FqN0d5WXlhc1ZGVUt1akMrMUZiUUs3?=
 =?utf-8?B?eDU4cGR4VUp6cGREN1Ard1J5UGZvWWNsQ3NLRU1Cb2NaTDJEUXE4WnlQaWtF?=
 =?utf-8?B?QklmQ0FYTFc2T2M3cUVCWlFjTllFeGFtNEhqVzV1bkltQTBOTVREM1RkOHZY?=
 =?utf-8?B?YTZuZCtHVXpmK1hoVUx5REYzMHBTaEpmZC9VUCtoMVYyN1pMVHd4WlJsbW15?=
 =?utf-8?B?d2ZLYTFPUERkeVpMZVFlRzF6NGtUUklMbC9wanNPOVdkTkJIdEl4UEhoK0hn?=
 =?utf-8?B?dVFCZVpPTHZZbmxvZmFId2RtNVpVa21vR3dtRHh0V25NaVNXNmRkbzd5d3BW?=
 =?utf-8?B?M3p1VkpTeGk0b1VvRzQzU2g4aFVLdWdoT0pLSk9pVy9tL1F6MU9HZHhDYXpw?=
 =?utf-8?B?OStLcEhrcTMwYkp4dDVQTjhQSEw2YjB3QmlpS1pXQmJuc2NlVHZTZlhLZ3h6?=
 =?utf-8?B?dWpqVXVWM2FZVUxrRlZyTjRYVG5TalJ2T04wcVdJcGtoSTJNTlFZcnB5VmNm?=
 =?utf-8?B?Y0lCS2Y4MUNzdzROL3RnYmlpRGg5V3NqdnY2REovdFE4aXRPSHFZL29NRklD?=
 =?utf-8?B?WmpWVUhrVTU1bXlVZDZiQVNNajFMaDZmL2RuOEJscFNuRUdWWTdWbTE1R3NX?=
 =?utf-8?B?dEpGSG9qL1lIVE02TU4vcmcxZkFIV0ZjNWxBbEljVlNmZVRLVXM0ZUNYVFRw?=
 =?utf-8?B?ZmZQYnMrdytQTEt1SUZlQkF0a2d1WUNrZ1RBMUFxOFRIb3NuN3ZxY3QrKzQ5?=
 =?utf-8?B?UHlhM1djbGdkYkxlQ1A0Y2MreERaN0dWV28rYUJuaS9hUm9yOStXdGorVE8y?=
 =?utf-8?B?QXRpQWlQZE5leGNjZ085amk1NUk1TmllNVordUN6Vi9jQ255ZG1LR1ZHdTgv?=
 =?utf-8?Q?Dd33VPAlvUcqeJgB1ZbfjIw2q4FPWU1C7dRJHZl?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 17fa5bbb-0cdb-4714-c36b-08d958f42c07
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Aug 2021 16:06:38.4815
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ANtsI2qjAm/jDoaAlqQw2B9SOxR5Pm6dpedQj1eZS0FQPCdNVpQMZPmViKswHDKaClNFvpbS2gddZlScNK6KJA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3389

On 01.07.2021 16:10, Anthony PERARD wrote:
> Those two dependencies already exist so make doesn't need to know
> about them. The dependency will be generated by $(CC).
> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

Unless I'm mistaken this was actually an omission by 68b1230ae393
("Auto-build dependency files in hypervisor build tree"), which
would again suggest this can go in independently of all of the
earlier patches? In any event

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

Jan

> --- a/xen/arch/x86/Makefile
> +++ b/xen/arch/x86/Makefile
> @@ -84,7 +84,6 @@ extra-y += xen.lds
>  ifneq ($(CONFIG_HVM),y)
>  x86_emulate.o: CFLAGS-y += -Wno-unused-label
>  endif
> -x86_emulate.o: x86_emulate/x86_emulate.c x86_emulate/x86_emulate.h
>  
>  efi-y := $(shell if [ ! -r $(BASEDIR)/include/xen/compile.h -o \
>                        -O $(BASEDIR)/include/xen/compile.h ]; then \
> 



From xen-devel-bounces@lists.xenproject.org Fri Aug 06 18:03:45 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Aug 2021 18:03:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164767.301121 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mC4Bs-00032Y-5d; Fri, 06 Aug 2021 18:03:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164767.301121; Fri, 06 Aug 2021 18:03:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mC4Bs-00032R-2Z; Fri, 06 Aug 2021 18:03:28 +0000
Received: by outflank-mailman (input) for mailman id 164767;
 Fri, 06 Aug 2021 18:03:26 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=exfY=M5=gmail.com=olekstysh@srs-us1.protection.inumbo.net>)
 id 1mC4Bq-00032L-DN
 for xen-devel@lists.xenproject.org; Fri, 06 Aug 2021 18:03:26 +0000
Received: from mail-lf1-x12a.google.com (unknown [2a00:1450:4864:20::12a])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id b724e9fb-aada-468b-9cd4-d734ed517d1a;
 Fri, 06 Aug 2021 18:03:25 +0000 (UTC)
Received: by mail-lf1-x12a.google.com with SMTP id p38so19627439lfa.0
 for <xen-devel@lists.xenproject.org>; Fri, 06 Aug 2021 11:03:25 -0700 (PDT)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id i6sm534412lfr.20.2021.08.06.11.03.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 06 Aug 2021 11:03: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: b724e9fb-aada-468b-9cd4-d734ed517d1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-transfer-encoding:content-language;
        bh=rjKCLD7QlfH6PtqhgpJc/dN8NSqXM8S7iu4+U+lkSro=;
        b=Af8S+rmW9ueDwC+yD7JeI4+Kq5VFPSKghpdqGTG9IAsRBoKyP29b+EpOm7Qqdn2Wjg
         8JawWsN/rzaVkcE4na9SjHUXjRKKX+lILhbBkgKxIhfjb7w5/fGmSEg4cVErBDsMojAa
         ZfrQcxBFOgUSCuwO2VdvSAioyRqWHu7TgdZcCNrADG7kZhVewxtLJxeomBEVDiT8EciW
         T34QRKThap2R9cS7tgCA1n0fT+Sn8V7sqwuh4gqGUs10mY3b1BQ26Et9a3cZZyMCul0h
         9rxda7pJVNAVPDV7okw/9uhodUtQhlp+s6mCNWHewBwgnNkKiYFgjrtBZxJAuYVOWcF1
         PqKQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-transfer-encoding
         :content-language;
        bh=rjKCLD7QlfH6PtqhgpJc/dN8NSqXM8S7iu4+U+lkSro=;
        b=L77Pf4EkOZAVJlBRq70IAf6Op6CMxyrNarGgorIG62BkLW4N18jQ4yOFtpuj66OHwO
         h6SE40jCWbsQmQ7GBi7jiyF7QHWEBqxGpKFp+8D5lNItJLQ83t8Fy75dnq90SINV6V/E
         DArycO4vtVzubITY3Pzn4tMk3N92V9+0Cx0i6YZMXt7inu0894wgB5IrREw/aOp4mi17
         XIaryvtod3882TEjsoYvTqTssRsihNDVI8UtDyL3H4iYpTFSrQWF/i1/nhM2AzjbmQ9W
         84808akOLWJk36ryWWmPoR//3LF8wh2hy1oAhf9eVRYiuRZhYkmH9nHuHcTYl1ahsv7I
         TKgQ==
X-Gm-Message-State: AOAM530HMCNGzh3mJDRrLWCfr/oO0461/GLuV4uSpbZsPOcLMo3Ltyph
	A0Q7s89LefdV4IZMYioqb5U=
X-Google-Smtp-Source: ABdhPJwFfWfcrmpmF9cJzXawpsj31BRV4G7nuRXMrCIz3RlHvK/UKsZEJJH5kJtsA7gehP4LGIeokQ==
X-Received: by 2002:a19:2d0e:: with SMTP id k14mr8345612lfj.409.1628273003934;
        Fri, 06 Aug 2021 11:03:23 -0700 (PDT)
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel@lists.xenproject.org,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <80fafc01-f063-d6e5-1c08-7ad64550310c@citrix.com>
 <e8db3021-78a5-e040-a70b-62ca5b500149@xen.org>
 <4de5ed21-379e-b618-44c8-924d88b1a519@citrix.com>
 <bbc7f597-5249-20a0-cac9-13f594268299@xen.org>
 <6a633f4e-13e0-4a2b-cf6e-35ef90ae977c@gmail.com>
 <alpine.DEB.2.21.2107301630510.10122@sstabellini-ThinkPad-T480s>
 <f6b2e6c6-bf58-960f-4a09-f05ebcf1f566@gmail.com>
 <5643d414-0b76-74a4-2c37-c7a99338d547@gmail.com>
 <c83378af-4d3b-9256-0e0d-f88c43c6de2f@xen.org>
 <775a2c0b-fbcc-db6d-c2a1-4ad350448c92@gmail.com>
 <cb1c8fd4-a4c5-c18e-c8db-f8e317d95526@xen.org>
 <alpine.DEB.2.21.2108051716450.18743@sstabellini-ThinkPad-T480s>
From: Oleksandr <olekstysh@gmail.com>
Message-ID: <65a5d78c-a3ab-36f2-c819-575c3eb2a0dc@gmail.com>
Date: Fri, 6 Aug 2021 21:03:22 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.10.0
MIME-Version: 1.0
In-Reply-To: <alpine.DEB.2.21.2108051716450.18743@sstabellini-ThinkPad-T480s>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US


Hi Stefano


On 06.08.21 03:20, Stefano Stabellini wrote:
> On Thu, 5 Aug 2021, Julien Grall wrote:
>> Hi Oleksandr,
>>
>> On 05/08/2021 15:52, Oleksandr wrote:
>>> On 05.08.21 01:00, Julien Grall wrote:
>>>>
>>>> On 04/08/2021 21:56, Oleksandr wrote:
>>>>> Hi Julien, Stefano.
>>>> Hi Oleksandr,
>>>
>>> Hi, Julien
>>>
>>>
>>> Thank you for the prompt reply and explanations.
>>>
>>>
>>>>> On 02.08.21 22:12, Oleksandr wrote:
>>>>> I have done some experiments with Xen and toolstack according to the
>>>>> discussion above. So, I re-used DTB to pass a safe range to the domain.
>>>>> For the range I borrowed some space from the second RAM bank.
>>>>>
>>>>> -#define GUEST_RAM1_BASE   xen_mk_ullong(0x0200000000) /* 1016GB of RAM
>>>>> @ 8GB */
>>>>> -#define GUEST_RAM1_SIZE   xen_mk_ullong(0xfe00000000)
>>>>> +#define GUEST_RAM1_BASE   xen_mk_ullong(0x0200000000) /* 888GB of RAM @
>>>>> 8GB */
>>>>> +#define GUEST_RAM1_SIZE   xen_mk_ullong(0xDE00000000)
>>>>> +
>>>> I am a bit split with reducing the amount of RAM. On one hand large guest
>>>> is not unheard on the server side (at least in the x86 world). On the
>>>> other hand, I am not aware of anyone using Xen on Arm in such setup.
>>>>
>>>> So technically this will be a regression, but it may be OK.
>>> I got it.
>>>
>>>
>>>>
>>>> Regarding the range, this will be a problem as Xen configure the number of
>>>> the IPA bits based on the PA bits. The lowest possible address space ize
>>>> on 64-bit is 4GB.
>>>>
>>>>  From my understanding, this is because the number of IPA bits supported is
>>>> contrained by the PA bits. So the position and the size of the region
>>>> would need to depend on the P2M configuration.
>>> Indeed, I missed these bits that IPA bits on Arm64 might be < 40 bit, I
>>> remember, we select p2m_ipa_bits in setup_virt_paging() depending on pabits,
>>> moreover the p2m_ipa_bits might be even restricted by some external entity
>>> (IOMMU, if P2M is shared).
>>>
>>>
>>>> For simplicity, this could be the last few X bytes of the supported
>>>> address space.
>>> ok, agree. To summarize, so it sounds like we can't use the fixed safe range
>>> as in my example, it must be variable. Well, I hope, we will be able to
>>> achieve this without reducing the total amount of domain RAM in front
>>> (GUEST_RAM1_SIZE). After all, we know the IPA size and the domain RAM in
>>> advance, so we certainly can choose the start and size of the range. In
>>> case, we won't be able to find a suitable large chunk (for example, when IPA
>>> bits = 32, and domain has a lot of RAM assigned and as the result - almost
>>> all address space below 4GB is in use), we won't expose a safe range to a
>>> domain at all, and domain will just fall back to use real pages instead
>>> (actually, how it currently behaves on Arm).
>> I think it would be fine for a first approach. We can refine it in the future.
>> What matters is that we correctly define the binding/hypercall.
> I agree with Julien on both points. Looking at the existing device tree
> binding, it is almost exactly what we need, so I think it would be OK to
> use it.

ok, great.


>
>
>>>> For 32-bit domain, we also need to make sure the address is usable for
>>>> domain short page tables (not too long ago Debian was shipping the kernel
>>>> with them rather than LPAE). I haven't yet checked what's the limit here.
>>> Hmm, I didn't take this use-case into the account. So, I assume we need the
>>> safe range to be located below 4GB if is_32bit_domain() returns true.
>> Yes. Or we can say that if you are using a 32-bit domain then we don't (yet)
>> support a safe range for range.
>>>> So we would need some heuristic to decide whether to stole some RAM or use
>>>> the safe space.
>>>> Another possibility would be to add a new compatible in the DT that
>>>> indicates the region is "big" enough.
>>> I like the last idea, did you perhaps mean new property (optional) rather
>>> than new compatible? Let's say "xen, safe-range" or "xen, extended-regions"
>>> ...
>> I actually meant adding an extra compatible because this is technically a
>> change of the binding (even though it is backward compatible).
>>
>> Although, I would be OK with the property. You may first want to ask the
>> Device-Tree folks how they expect a binding to be extended in a backward
>> compatible way.
> I think we should expand the description in
> Documentation/devicetree/bindings/arm/xen.txt to cover things other than
> the grant table.

yes


>
> I don't think we necessarely need a new compatible string because as you
> said the change is fully compatible. At the same time it is trivial to
> add compatible strings, so that could be done as well.

ok, please note, I have already asked DT folks for the clarification 
(how to make it properly), so let's wait for input.


-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Fri Aug 06 20:04:45 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Aug 2021 20:04:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164774.301134 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mC64w-00057n-V6; Fri, 06 Aug 2021 20:04:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164774.301134; Fri, 06 Aug 2021 20: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 1mC64w-00057g-SC; Fri, 06 Aug 2021 20:04:26 +0000
Received: by outflank-mailman (input) for mailman id 164774;
 Fri, 06 Aug 2021 20:04: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 1mC64v-00057W-H3; Fri, 06 Aug 2021 20:04: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 1mC64v-0007of-B5; Fri, 06 Aug 2021 20:04: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 1mC64u-00082i-TK; Fri, 06 Aug 2021 20:04:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mC64u-0005m4-Sc; Fri, 06 Aug 2021 20: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ZwxzX0/jlzL4NfdWJr+MMMnObnQG3fai9kBgMa5lkis=; b=J+MQ04bmKBpU/OpJfIcL9Gr7xs
	IKrWjWLfi0xLgn14O6Jmo4YJ+F77YJ7CYEupoIjdJYCM0P+fX418B2pbxC6QWB/pzQtuuzUhjJ0CN
	OgN8OWyJEyOfojdOy8hFUBgS9LstNBePhNR9sLZD0XoOvnOtYK9eqNh/JCO++9ZZIPpo=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164119-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 164119: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=2b45ff60301a988badec526846e77b538383ae63
X-Osstest-Versions-That:
    xen=2278d2cbb0b7c1b48b298c6c4c6a7de2271ac928
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 06 Aug 2021 20:04:24 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 164121-retest

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

version targeted for testing:
 xen                  2b45ff60301a988badec526846e77b538383ae63
baseline version:
 xen                  2278d2cbb0b7c1b48b298c6c4c6a7de2271ac928

Last test of basis   164116  2021-08-06 01:52:42 Z    0 days
Testing same since   164119  2021-08-06 11:39:06 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Stefano Stabellini <sstabellini@kernel.org>
  Stefano Stabellini <stefano.stabellini@xilinx.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   2278d2cbb0..2b45ff6030  2b45ff60301a988badec526846e77b538383ae63 -> master


From xen-devel-bounces@lists.xenproject.org Fri Aug 06 21:12:00 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Aug 2021 21:12:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164784.301152 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mC785-00038j-3E; Fri, 06 Aug 2021 21:11:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164784.301152; Fri, 06 Aug 2021 21:11:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mC785-00038c-0N; Fri, 06 Aug 2021 21:11:45 +0000
Received: by outflank-mailman (input) for mailman id 164784;
 Fri, 06 Aug 2021 21:11:43 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ct2c=M5=redhat.com=ehabkost@srs-us1.protection.inumbo.net>)
 id 1mC783-00038W-DS
 for xen-devel@lists.xenproject.org; Fri, 06 Aug 2021 21:11:43 +0000
Received: from us-smtp-delivery-124.mimecast.com (unknown [216.205.24.124])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id e4fa32ac-f6fa-11eb-9d51-12813bfff9fa;
 Fri, 06 Aug 2021 21:11:41 +0000 (UTC)
Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com
 [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id
 us-mta-333-aaKp7NU5MC-VTkOZlJSXOA-1; Fri, 06 Aug 2021 17:11:39 -0400
Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com
 [10.5.11.23])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 58E22760C0;
 Fri,  6 Aug 2021 21:11:36 +0000 (UTC)
Received: from localhost (unknown [10.22.11.9])
 by smtp.corp.redhat.com (Postfix) with ESMTP id CFD3519D9D;
 Fri,  6 Aug 2021 21:11: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: e4fa32ac-f6fa-11eb-9d51-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1628284300;
	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=NrWXzwcHtAk2o6nzYXUeBvyqkxvDAmoKSRR1o3DRnJ4=;
	b=JsSAzdCoUQ7B9+QH1FXkEHOs2JpObbbc4Q8BQLf62pIY8JEuK/UFCNA8SLqG3kDUJiS8NE
	cdhuLptUhf5bNKiwhG4MFI0cP6ACqD2dnRza+ICOgnwX3LJ5LEgqCI0lbkyB4g8USG/N2P
	CHWyT47QkgrD2yM/Thmm18O8yqSXwh0=
X-MC-Unique: aaKp7NU5MC-VTkOZlJSXOA-1
From: Eduardo Habkost <ehabkost@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Daniel P. Berrange" <berrange@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Cameron Esfahani <dirty@apple.com>,
	Roman Bolshakov <r.bolshakov@yadro.com>,
	Thomas Huth <thuth@redhat.com>,
	Laurent Vivier <lvivier@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Warner Losh <imp@bsdimp.com>,
	Kyle Evans <kevans@freebsd.org>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Peter Xu <peterx@redhat.com>,
	David Hildenbrand <david@redhat.com>,
	Wenchao Wang <wenchao.wang@intel.com>,
	Colin Xu <colin.xu@intel.com>,
	Kamil Rytarowski <kamil@netbsd.org>,
	Reinoud Zandijk <reinoud@netbsd.org>,
	Sunil Muthuswamy <sunilmut@microsoft.com>,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	haxm-team@intel.com
Subject: [PATCH for-6.2 01/12] accel: Rename TYPE_ACCEL to TYPE_ACCEL_BASE
Date: Fri,  6 Aug 2021 17:11:16 -0400
Message-Id: <20210806211127.646908-2-ehabkost@redhat.com>
In-Reply-To: <20210806211127.646908-1-ehabkost@redhat.com>
References: <20210806211127.646908-1-ehabkost@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23

The ACCEL name conflicts with a Windows API typedef name, and it
is difficult to work around this because windows.h needs to be
included by osdep.h.  This prevents us from replacing the
existing ACCEL macro with an inline function generated by
OBJECT_DEFINE_TYPE.

Work around the conflict by renaming TYPE_ACCEL to TYPE_ACCEL_BASE.

Note that the actual QOM type name is still "accel", because QOM
type names are user-visible and I don't want to make any
user-visible change here.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
Notes about name alternatives:

I have considered using the name "CPU_ACCEL" as Daniel suggested,
but this would lead to a parent class named CPU_ACCEL, while
the subclasses would be still named KVM_ACCEL, HVF_ACCEL,
TCG_ACCEL, etc.  I that this would be confusing, because it
would look like CPU_ACCEL is just another type of accel, not the
parent type of all other *_ACCEL types.

Renaming KVM_ACCEL/HVF_ACCEL/TCG_ACCEL to
KVM_CPU_ACCEL/HVF_CPU_ACCEL/TCG_CPU_ACCEL would be clearer, but I
believe it would be too intrusive and the resulting type names
would be too long.

Renaming the base classe ACCEL_BASE sounds like a reasonable
alternative, as there are other examples in QEMU where abstract
base classes are called *_BASE: TYPE_VIRTIO_GPU_PCI_BASE,
TYPE_VIRTIO_GPU_BASE, TYPE_E1000_BASE, TYPE_RISCV_CPU_BASE,
TYPE_MEGASAS_BASE, TYPE_SCSI_DISK_BASE, etc.
---
Cc: Richard Henderson <richard.henderson@linaro.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Cameron Esfahani <dirty@apple.com>
Cc: Roman Bolshakov <r.bolshakov@yadro.com>
Cc: Thomas Huth <thuth@redhat.com>
Cc: Laurent Vivier <lvivier@redhat.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Anthony Perard <anthony.perard@citrix.com>
Cc: Paul Durrant <paul@xen.org>
Cc: Warner Losh <imp@bsdimp.com>
Cc: Kyle Evans <kevans@freebsd.org>
Cc: Eduardo Habkost <ehabkost@redhat.com>
Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Cc: Peter Xu <peterx@redhat.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Wenchao Wang <wenchao.wang@intel.com>
Cc: Colin Xu <colin.xu@intel.com>
Cc: Kamil Rytarowski <kamil@netbsd.org>
Cc: Reinoud Zandijk <reinoud@netbsd.org>
Cc: Sunil Muthuswamy <sunilmut@microsoft.com>
Cc: qemu-devel@nongnu.org
Cc: kvm@vger.kernel.org
Cc: xen-devel@lists.xenproject.org
Cc: haxm-team@intel.com
---
 hw/core/machine.c           |  2 +-
 include/qemu/accel.h        | 16 ++++++++--------
 accel/accel-common.c        |  4 ++--
 accel/accel-softmmu.c       |  4 ++--
 accel/accel-user.c          |  2 +-
 accel/hvf/hvf-accel-ops.c   |  4 ++--
 accel/kvm/kvm-all.c         |  4 ++--
 accel/qtest/qtest.c         |  4 ++--
 accel/tcg/tcg-all.c         |  4 ++--
 accel/xen/xen-all.c         |  4 ++--
 bsd-user/main.c             |  2 +-
 linux-user/main.c           |  2 +-
 softmmu/memory.c            |  2 +-
 softmmu/vl.c                |  6 +++---
 target/i386/hax/hax-all.c   |  4 ++--
 target/i386/nvmm/nvmm-all.c |  4 ++--
 target/i386/whpx/whpx-all.c |  4 ++--
 17 files changed, 36 insertions(+), 36 deletions(-)

diff --git a/hw/core/machine.c b/hw/core/machine.c
index 943974d411c..fdb1f886ce8 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -1268,7 +1268,7 @@ void machine_run_board_init(MachineState *machine)
                                    "on", false);
     }
 
-    accel_init_interfaces(ACCEL_GET_CLASS(machine->accelerator));
+    accel_init_interfaces(ACCEL_BASE_GET_CLASS(machine->accelerator));
     machine_class->init(machine);
     phase_advance(PHASE_MACHINE_INITIALIZED);
 }
diff --git a/include/qemu/accel.h b/include/qemu/accel.h
index 4f4c283f6fc..cc915720494 100644
--- a/include/qemu/accel.h
+++ b/include/qemu/accel.h
@@ -54,17 +54,17 @@ typedef struct AccelClass {
     GPtrArray *compat_props;
 } AccelClass;
 
-#define TYPE_ACCEL "accel"
+#define TYPE_ACCEL_BASE "accel"
 
-#define ACCEL_CLASS_SUFFIX  "-" TYPE_ACCEL
+#define ACCEL_CLASS_SUFFIX  "-" TYPE_ACCEL_BASE
 #define ACCEL_CLASS_NAME(a) (a ACCEL_CLASS_SUFFIX)
 
-#define ACCEL_CLASS(klass) \
-    OBJECT_CLASS_CHECK(AccelClass, (klass), TYPE_ACCEL)
-#define ACCEL(obj) \
-    OBJECT_CHECK(AccelState, (obj), TYPE_ACCEL)
-#define ACCEL_GET_CLASS(obj) \
-    OBJECT_GET_CLASS(AccelClass, (obj), TYPE_ACCEL)
+#define ACCEL_BASE_CLASS(klass) \
+    OBJECT_CLASS_CHECK(AccelClass, (klass), TYPE_ACCEL_BASE)
+#define ACCEL_BASE(obj) \
+    OBJECT_CHECK(AccelState, (obj), TYPE_ACCEL_BASE)
+#define ACCEL_BASE_GET_CLASS(obj) \
+    OBJECT_GET_CLASS(AccelClass, (obj), TYPE_ACCEL_BASE)
 
 AccelClass *accel_find(const char *opt_name);
 AccelState *current_accel(void);
diff --git a/accel/accel-common.c b/accel/accel-common.c
index 7b8ec7e0f72..c4e268c8a74 100644
--- a/accel/accel-common.c
+++ b/accel/accel-common.c
@@ -34,7 +34,7 @@
 #endif /* !CONFIG_USER_ONLY */
 
 static const TypeInfo accel_type = {
-    .name = TYPE_ACCEL,
+    .name = TYPE_ACCEL_BASE,
     .parent = TYPE_OBJECT,
     .class_size = sizeof(AccelClass),
     .instance_size = sizeof(AccelState),
@@ -44,7 +44,7 @@ static const TypeInfo accel_type = {
 AccelClass *accel_find(const char *opt_name)
 {
     char *class_name = g_strdup_printf(ACCEL_CLASS_NAME("%s"), opt_name);
-    AccelClass *ac = ACCEL_CLASS(module_object_class_by_name(class_name));
+    AccelClass *ac = ACCEL_BASE_CLASS(module_object_class_by_name(class_name));
     g_free(class_name);
     return ac;
 }
diff --git a/accel/accel-softmmu.c b/accel/accel-softmmu.c
index 67276e4f522..792bdc44940 100644
--- a/accel/accel-softmmu.c
+++ b/accel/accel-softmmu.c
@@ -32,7 +32,7 @@
 
 int accel_init_machine(AccelState *accel, MachineState *ms)
 {
-    AccelClass *acc = ACCEL_GET_CLASS(accel);
+    AccelClass *acc = ACCEL_BASE_GET_CLASS(accel);
     int ret;
     ms->accelerator = accel;
     *(acc->allowed) = true;
@@ -55,7 +55,7 @@ AccelState *current_accel(void)
 void accel_setup_post(MachineState *ms)
 {
     AccelState *accel = ms->accelerator;
-    AccelClass *acc = ACCEL_GET_CLASS(accel);
+    AccelClass *acc = ACCEL_BASE_GET_CLASS(accel);
     if (acc->setup_post) {
         acc->setup_post(ms, accel);
     }
diff --git a/accel/accel-user.c b/accel/accel-user.c
index 22b6a1a1a89..492480847e5 100644
--- a/accel/accel-user.c
+++ b/accel/accel-user.c
@@ -18,7 +18,7 @@ AccelState *current_accel(void)
         AccelClass *ac = accel_find("tcg");
 
         g_assert(ac != NULL);
-        accel = ACCEL(object_new_with_class(OBJECT_CLASS(ac)));
+        accel = ACCEL_BASE(object_new_with_class(OBJECT_CLASS(ac)));
     }
     return accel;
 }
diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c
index d1691be9896..af09bfd1acb 100644
--- a/accel/hvf/hvf-accel-ops.c
+++ b/accel/hvf/hvf-accel-ops.c
@@ -329,7 +329,7 @@ static int hvf_accel_init(MachineState *ms)
 
 static void hvf_accel_class_init(ObjectClass *oc, void *data)
 {
-    AccelClass *ac = ACCEL_CLASS(oc);
+    AccelClass *ac = ACCEL_BASE_CLASS(oc);
     ac->name = "HVF";
     ac->init_machine = hvf_accel_init;
     ac->allowed = &hvf_allowed;
@@ -337,7 +337,7 @@ static void hvf_accel_class_init(ObjectClass *oc, void *data)
 
 static const TypeInfo hvf_accel_type = {
     .name = TYPE_HVF_ACCEL,
-    .parent = TYPE_ACCEL,
+    .parent = TYPE_ACCEL_BASE,
     .class_init = hvf_accel_class_init,
 };
 
diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c
index 0125c17edb8..381ba59a970 100644
--- a/accel/kvm/kvm-all.c
+++ b/accel/kvm/kvm-all.c
@@ -3618,7 +3618,7 @@ static void kvm_accel_instance_init(Object *obj)
 
 static void kvm_accel_class_init(ObjectClass *oc, void *data)
 {
-    AccelClass *ac = ACCEL_CLASS(oc);
+    AccelClass *ac = ACCEL_BASE_CLASS(oc);
     ac->name = "KVM";
     ac->init_machine = kvm_init;
     ac->has_memory = kvm_accel_has_memory;
@@ -3645,7 +3645,7 @@ static void kvm_accel_class_init(ObjectClass *oc, void *data)
 
 static const TypeInfo kvm_accel_type = {
     .name = TYPE_KVM_ACCEL,
-    .parent = TYPE_ACCEL,
+    .parent = TYPE_ACCEL_BASE,
     .instance_init = kvm_accel_instance_init,
     .class_init = kvm_accel_class_init,
     .instance_size = sizeof(KVMState),
diff --git a/accel/qtest/qtest.c b/accel/qtest/qtest.c
index 7e6b8110d52..10b9b56b0e5 100644
--- a/accel/qtest/qtest.c
+++ b/accel/qtest/qtest.c
@@ -32,7 +32,7 @@ static int qtest_init_accel(MachineState *ms)
 
 static void qtest_accel_class_init(ObjectClass *oc, void *data)
 {
-    AccelClass *ac = ACCEL_CLASS(oc);
+    AccelClass *ac = ACCEL_BASE_CLASS(oc);
     ac->name = "QTest";
     ac->init_machine = qtest_init_accel;
     ac->allowed = &qtest_allowed;
@@ -42,7 +42,7 @@ static void qtest_accel_class_init(ObjectClass *oc, void *data)
 
 static const TypeInfo qtest_accel_type = {
     .name = TYPE_QTEST_ACCEL,
-    .parent = TYPE_ACCEL,
+    .parent = TYPE_ACCEL_BASE,
     .class_init = qtest_accel_class_init,
 };
 module_obj(TYPE_QTEST_ACCEL);
diff --git a/accel/tcg/tcg-all.c b/accel/tcg/tcg-all.c
index d6336a9c966..c0812e5dfd6 100644
--- a/accel/tcg/tcg-all.c
+++ b/accel/tcg/tcg-all.c
@@ -210,7 +210,7 @@ static void tcg_set_splitwx(Object *obj, bool value, Error **errp)
 
 static void tcg_accel_class_init(ObjectClass *oc, void *data)
 {
-    AccelClass *ac = ACCEL_CLASS(oc);
+    AccelClass *ac = ACCEL_BASE_CLASS(oc);
     ac->name = "tcg";
     ac->init_machine = tcg_init_machine;
     ac->allowed = &tcg_allowed;
@@ -233,7 +233,7 @@ static void tcg_accel_class_init(ObjectClass *oc, void *data)
 
 static const TypeInfo tcg_accel_type = {
     .name = TYPE_TCG_ACCEL,
-    .parent = TYPE_ACCEL,
+    .parent = TYPE_ACCEL_BASE,
     .instance_init = tcg_accel_instance_init,
     .class_init = tcg_accel_class_init,
     .instance_size = sizeof(TCGState),
diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c
index 69aa7d018b2..42b83f35d8c 100644
--- a/accel/xen/xen-all.c
+++ b/accel/xen/xen-all.c
@@ -186,7 +186,7 @@ static int xen_init(MachineState *ms)
 
 static void xen_accel_class_init(ObjectClass *oc, void *data)
 {
-    AccelClass *ac = ACCEL_CLASS(oc);
+    AccelClass *ac = ACCEL_BASE_CLASS(oc);
     static GlobalProperty compat[] = {
         { "migration", "store-global-state", "off" },
         { "migration", "send-configuration", "off" },
@@ -211,7 +211,7 @@ static void xen_accel_class_init(ObjectClass *oc, void *data)
 
 static const TypeInfo xen_accel_type = {
     .name = TYPE_XEN_ACCEL,
-    .parent = TYPE_ACCEL,
+    .parent = TYPE_ACCEL_BASE,
     .class_init = xen_accel_class_init,
 };
 
diff --git a/bsd-user/main.c b/bsd-user/main.c
index fe66204b6b7..f26eefd3b39 100644
--- a/bsd-user/main.c
+++ b/bsd-user/main.c
@@ -793,7 +793,7 @@ int main(int argc, char **argv)
     cpu_type = parse_cpu_option(cpu_model);
     /* init tcg before creating CPUs and to get qemu_host_page_size */
     {
-        AccelClass *ac = ACCEL_GET_CLASS(current_accel());
+        AccelClass *ac = ACCEL_BASE_GET_CLASS(current_accel());
 
         accel_init_interfaces(ac);
         ac->init_machine(NULL);
diff --git a/linux-user/main.c b/linux-user/main.c
index 37ed50d98e2..d9dd14e07bc 100644
--- a/linux-user/main.c
+++ b/linux-user/main.c
@@ -723,7 +723,7 @@ int main(int argc, char **argv, char **envp)
 
     /* init tcg before creating CPUs and to get qemu_host_page_size */
     {
-        AccelClass *ac = ACCEL_GET_CLASS(current_accel());
+        AccelClass *ac = ACCEL_BASE_GET_CLASS(current_accel());
 
         accel_init_interfaces(ac);
         ac->init_machine(NULL);
diff --git a/softmmu/memory.c b/softmmu/memory.c
index bfedaf9c4df..a24fa8c0475 100644
--- a/softmmu/memory.c
+++ b/softmmu/memory.c
@@ -3261,7 +3261,7 @@ void mtree_info(bool flatview, bool dispatch_tree, bool owner, bool disabled)
         };
         GArray *fv_address_spaces;
         GHashTable *views = g_hash_table_new(g_direct_hash, g_direct_equal);
-        AccelClass *ac = ACCEL_GET_CLASS(current_accel());
+        AccelClass *ac = ACCEL_BASE_GET_CLASS(current_accel());
 
         if (ac->has_memory) {
             fvi.ac = ac;
diff --git a/softmmu/vl.c b/softmmu/vl.c
index 5ca11e74694..b7a20da366b 100644
--- a/softmmu/vl.c
+++ b/softmmu/vl.c
@@ -2305,7 +2305,7 @@ static int do_configure_accelerator(void *opaque, QemuOpts *opts, Error **errp)
         }
         return 0;
     }
-    accel = ACCEL(object_new_with_class(OBJECT_CLASS(ac)));
+    accel = ACCEL_BASE(object_new_with_class(OBJECT_CLASS(ac)));
     object_apply_compat_props(OBJECT(accel));
     qemu_opt_foreach(opts, accelerator_set_property,
                      accel,
@@ -2386,7 +2386,7 @@ static void configure_accelerators(const char *progname)
     }
 
     if (init_failed && !qtest_chrdev) {
-        AccelClass *ac = ACCEL_GET_CLASS(current_accel());
+        AccelClass *ac = ACCEL_BASE_GET_CLASS(current_accel());
         error_report("falling back to %s", ac->name);
     }
 
@@ -3315,7 +3315,7 @@ void qemu_init(int argc, char **argv, char **envp)
                 optarg = qemu_opt_get(accel_opts, "accel");
                 if (!optarg || is_help_option(optarg)) {
                     printf("Accelerators supported in QEMU binary:\n");
-                    GSList *el, *accel_list = object_class_get_list(TYPE_ACCEL,
+                    GSList *el, *accel_list = object_class_get_list(TYPE_ACCEL_BASE,
                                                                     false);
                     for (el = accel_list; el; el = el->next) {
                         gchar *typename = g_strdup(object_class_get_name(
diff --git a/target/i386/hax/hax-all.c b/target/i386/hax/hax-all.c
index bf65ed6fa92..37d18d7ea98 100644
--- a/target/i386/hax/hax-all.c
+++ b/target/i386/hax/hax-all.c
@@ -1120,7 +1120,7 @@ void hax_reset_vcpu_state(void *opaque)
 
 static void hax_accel_class_init(ObjectClass *oc, void *data)
 {
-    AccelClass *ac = ACCEL_CLASS(oc);
+    AccelClass *ac = ACCEL_BASE_CLASS(oc);
     ac->name = "HAX";
     ac->init_machine = hax_accel_init;
     ac->allowed = &hax_allowed;
@@ -1128,7 +1128,7 @@ static void hax_accel_class_init(ObjectClass *oc, void *data)
 
 static const TypeInfo hax_accel_type = {
     .name = ACCEL_CLASS_NAME("hax"),
-    .parent = TYPE_ACCEL,
+    .parent = TYPE_ACCEL_BASE,
     .class_init = hax_accel_class_init,
 };
 
diff --git a/target/i386/nvmm/nvmm-all.c b/target/i386/nvmm/nvmm-all.c
index dfa690d65da..be66baa9d2f 100644
--- a/target/i386/nvmm/nvmm-all.c
+++ b/target/i386/nvmm/nvmm-all.c
@@ -1205,7 +1205,7 @@ nvmm_enabled(void)
 static void
 nvmm_accel_class_init(ObjectClass *oc, void *data)
 {
-    AccelClass *ac = ACCEL_CLASS(oc);
+    AccelClass *ac = ACCEL_BASE_CLASS(oc);
     ac->name = "NVMM";
     ac->init_machine = nvmm_accel_init;
     ac->allowed = &nvmm_allowed;
@@ -1213,7 +1213,7 @@ nvmm_accel_class_init(ObjectClass *oc, void *data)
 
 static const TypeInfo nvmm_accel_type = {
     .name = ACCEL_CLASS_NAME("nvmm"),
-    .parent = TYPE_ACCEL,
+    .parent = TYPE_ACCEL_BASE,
     .class_init = nvmm_accel_class_init,
 };
 
diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c
index f832f286ac3..5cf77f916c1 100644
--- a/target/i386/whpx/whpx-all.c
+++ b/target/i386/whpx/whpx-all.c
@@ -1873,7 +1873,7 @@ bool whpx_apic_in_platform(void) {
 
 static void whpx_accel_class_init(ObjectClass *oc, void *data)
 {
-    AccelClass *ac = ACCEL_CLASS(oc);
+    AccelClass *ac = ACCEL_BASE_CLASS(oc);
     ac->name = "WHPX";
     ac->init_machine = whpx_accel_init;
     ac->allowed = &whpx_allowed;
@@ -1896,7 +1896,7 @@ static void whpx_accel_instance_init(Object *obj)
 
 static const TypeInfo whpx_accel_type = {
     .name = ACCEL_CLASS_NAME("whpx"),
-    .parent = TYPE_ACCEL,
+    .parent = TYPE_ACCEL_BASE,
     .instance_init = whpx_accel_instance_init,
     .class_init = whpx_accel_class_init,
 };
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 06 21:25:01 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Aug 2021 21:25:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164791.301164 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mC7Kr-0004bi-6A; Fri, 06 Aug 2021 21:24:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164791.301164; Fri, 06 Aug 2021 21:24:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mC7Kr-0004bb-3C; Fri, 06 Aug 2021 21:24:57 +0000
Received: by outflank-mailman (input) for mailman id 164791;
 Fri, 06 Aug 2021 21:24:55 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=steT=M5=kernel.org=helgaas@srs-us1.protection.inumbo.net>)
 id 1mC7Kp-0004bV-Cm
 for xen-devel@lists.xenproject.org; Fri, 06 Aug 2021 21:24:55 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 62c67ce3-3f4d-4c6e-9e6a-f41dc65e29d3;
 Fri, 06 Aug 2021 21:24:54 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id 4064360EE8;
 Fri,  6 Aug 2021 21:24: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: 62c67ce3-3f4d-4c6e-9e6a-f41dc65e29d3
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1628285093;
	bh=OJXVvQV1lg0BTpnm4/Nv7ym7sLl0HIhqKTRdfOznYwg=;
	h=Date:From:To:Cc:Subject:In-Reply-To:From;
	b=goH/1yJM9CgOOo+OcwLI85KOcKMTJKy8qsbi9kmA/eUKLp96x9J8M/JAw+C0HoXtl
	 LLP9C54GqLgkjnKpGR9kkrYUXUKz/g5bCUA/CpaOzR6XQzlUTgr5y3Dk7zGrmBxX8N
	 en5fOF69mFY7iz78CR1nGEcyNekjfw/CZ0EQbDXeU3Hh82nmIhL0nXS2kQ3mhduoVP
	 XswzHNEybaPpFHtw5KHBi3RP5f5dPsW9v9eFEsYvxzj76KiOdi8Bw4rMEV5B6PvQ1z
	 CLKL2wH1wGanKV5ZinDF8ZSKormkVT85L0UCSY8TizkDvEv+r8Jkclod/etLJWRRFl
	 2rifLx8uQfKtA==
Date: Fri, 6 Aug 2021 16:24:52 -0500
From: Bjorn Helgaas <helgaas@kernel.org>
To: Uwe =?iso-8859-1?Q?Kleine-K=F6nig?= <u.kleine-koenig@pengutronix.de>
Cc: Mark Rutland <mark.rutland@arm.com>,
	Giovanni Cabiddu <giovanni.cabiddu@intel.com>,
	=?utf-8?B?UmFmYcWCIE1pxYJlY2tp?= <zajec5@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>, linux-pci@vger.kernel.org,
	Alexander Duyck <alexanderduyck@fb.com>,
	Russell Currey <ruscur@russell.cc>,
	Sathya Prakash <sathya.prakash@broadcom.com>,
	oss-drivers@corigine.com, Paul Mackerras <paulus@samba.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Jiri Olsa <jolsa@redhat.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	linux-perf-users@vger.kernel.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	linux-scsi@vger.kernel.org, Michael Ellerman <mpe@ellerman.id.au>,
	Ido Schimmel <idosch@nvidia.com>, x86@kernel.org,
	qat-linux@intel.com,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Ingo Molnar <mingo@redhat.com>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	linux-wireless@vger.kernel.org, Jakub Kicinski <kuba@kernel.org>,
	Mathias Nyman <mathias.nyman@intel.com>,
	Yisen Zhuang <yisen.zhuang@huawei.com>,
	Fiona Trahe <fiona.trahe@intel.com>,
	Andrew Donnellan <ajd@linux.ibm.com>, Arnd Bergmann <arnd@arndb.de>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>,
	Simon Horman <simon.horman@corigine.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Borislav Petkov <bp@alien8.de>, Michael Buesch <m@bues.ch>,
	Jiri Pirko <jiri@nvidia.com>, Bjorn Helgaas <bhelgaas@google.com>,
	Namhyung Kim <namhyung@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Andy Shevchenko <andriy.shevchenko@intel.com>,
	Juergen Gross <jgross@suse.com>,
	Salil Mehta <salil.mehta@huawei.com>,
	Sreekanth Reddy <sreekanth.reddy@broadcom.com>,
	xen-devel@lists.xenproject.org, Vadym Kochan <vkochan@marvell.com>,
	MPT-FusionLinux.pdl@broadcom.com,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-usb@vger.kernel.org,
	Wojciech Ziemba <wojciech.ziemba@intel.com>,
	linux-kernel@vger.kernel.org, Taras Chornyi <tchornyi@marvell.com>,
	Zhou Wang <wangzhou1@hisilicon.com>, linux-crypto@vger.kernel.org,
	kernel@pengutronix.de, netdev@vger.kernel.org,
	Frederic Barrat <fbarrat@linux.ibm.com>,
	Oliver O'Halloran <oohall@gmail.com>, linuxppc-dev@lists.ozlabs.org,
	"David S. Miller" <davem@davemloft.net>
Subject: Re: [PATCH v2 0/6] PCI: Drop duplicated tracking of a pci_dev's
 bound driver
Message-ID: <20210806212452.GA1867870@bjorn-Precision-5520>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20210806064623.3lxl4clzbjpmchef@pengutronix.de>

On Fri, Aug 06, 2021 at 08:46:23AM +0200, Uwe Kleine-Knig wrote:
> On Thu, Aug 05, 2021 at 06:42:34PM -0500, Bjorn Helgaas wrote:

> > I looked at all the bus_type.probe() methods, it looks like pci_dev is
> > not the only offender here.  At least the following also have a driver
> > pointer in the device struct:
> > 
> >   parisc_device.driver
> >   acpi_device.driver
> >   dio_dev.driver
> >   hid_device.driver
> >   pci_dev.driver
> >   pnp_dev.driver
> >   rio_dev.driver
> >   zorro_dev.driver
> 
> Right, when I converted zorro_dev it was pointed out that the code was
> copied from pci and the latter has the same construct. :-)
> See
> https://lore.kernel.org/r/20210730191035.1455248-5-u.kleine-koenig@pengutronix.de
> for the patch, I don't find where pci was pointed out, maybe it was on
> irc only.

Oh, thanks!  I looked to see if you'd done something similar
elsewhere, but I missed this one.

> > Looking through the places that care about pci_dev.driver (the ones
> > updated by patch 5/6), many of them are ... a little dubious to begin
> > with.  A few need the "struct pci_error_handlers *err_handler"
> > pointer, so that's probably legitimate.  But many just need a name,
> > and should probably be using dev_driver_string() instead.
> 
> Yeah, I considered adding a function to get the driver name from a
> pci_dev and a function to get the error handlers. Maybe it's an idea to
> introduce these two and then use to_pci_driver(pdev->dev.driver) for the
> few remaining users? Maybe doing that on top of my current series makes
> sense to have a clean switch from pdev->driver to pdev->dev.driver?!

I'd propose using dev_driver_string() for these places:

  eeh_driver_name() (could change callers to use dev_driver_string())
  bcma_host_pci_probe()
  qm_alloc_uacce()
  hns3_get_drvinfo()
  prestera_pci_probe()
  mlxsw_pci_probe()
  nfp_get_drvinfo()
  ssb_pcihost_probe()

The use in mpt_device_driver_register() looks unnecessary: it's only
to get a struct pci_device_id *, which is passed to ->probe()
functions that don't need it.

The use in adf_enable_aer() looks wrong: it sets the err_handler
pointer in one of the adf_driver structs.  I think those structs
should be basically immutable, and the drivers that call
adf_enable_aer() from their .probe() methods should set
".err_handler = &adf_err_handler" in their static adf_driver
definitions instead.

I think that basically leaves these:

  uncore_pci_probe()     # .id_table, custom driver "registration"
  match_id()             # .id_table, arch/x86/kernel/probe_roms.c
  xhci_pci_quirks()      # .id_table
  pci_error_handlers()   # roll-your-own AER handling, drivers/misc/cxl/guest.c

I think it would be fine to use to_pci_driver(pdev->dev.driver) for
these few.

Bjorn


From xen-devel-bounces@lists.xenproject.org Fri Aug 06 21:41:49 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Aug 2021 21:41:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164798.301177 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mC7b3-0006o7-Lq; Fri, 06 Aug 2021 21:41:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164798.301177; Fri, 06 Aug 2021 21:41:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mC7b3-0006o0-HD; Fri, 06 Aug 2021 21:41:41 +0000
Received: by outflank-mailman (input) for mailman id 164798;
 Fri, 06 Aug 2021 21:41:39 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TtcZ=M5=apertussolutions.com=dpsmith@srs-us1.protection.inumbo.net>)
 id 1mC7b1-0006nu-LD
 for xen-devel@lists.xenproject.org; Fri, 06 Aug 2021 21:41:39 +0000
Received: from sender4-of-o51.zoho.com (unknown [136.143.188.51])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id fa1d74e0-74e7-4b25-9ac5-938c0022f715;
 Fri, 06 Aug 2021 21:41:38 +0000 (UTC)
Received: from [10.10.1.24] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1628286074247110.40827459181378;
 Fri, 6 Aug 2021 14:41: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: fa1d74e0-74e7-4b25-9ac5-938c0022f715
ARC-Seal: i=1; a=rsa-sha256; t=1628286080; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=f3qYsd0MYWBLK0ccgQJG+oUZyleknu34J1iNVjDfCIR8AeFKUVoT7ad0ky6DUf9/YyBAX7DGwz2JyGZOhRDW8zRLT8KGIaEF3Ir5maEGz4jRmNTP62P44PDtP76sEHoVEQFu6m9z3VTmpf+b1mbusfYEi7EeV8+tNlnaEQPkuuM=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1628286080; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=S1PePXBB3cDcFL0S/fLzgmHKVx0lj231AL3uB41hGKA=; 
	b=gTL5JPjqYLBb5OatJHeT4AxYI8bYLCB3xn73E3snJwtMWQaOM3EaIT3m6rt14haYoWgiYCuLOE6T5rMqb7qKckG9WXkrzW3FoUNHHfsHX8vNdRTJP53whP7NDt3tOafEsLQW+4HJxGxAH4qXaLHEvVqsTtj94mQ7IbVTOTSobTU=
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=1628286080;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=To:Cc:References:From:Subject:Message-ID:Date:MIME-Version:In-Reply-To:Content-Type:Content-Transfer-Encoding;
	bh=S1PePXBB3cDcFL0S/fLzgmHKVx0lj231AL3uB41hGKA=;
	b=OuRPXn0KQMy1ItW4S95sBXU62oQZ6U7RV8YK9bcO3vYB5Qrm8D7YcLgnLbzlLEi8
	/o5jTFsSwNgc6oNCQ8hfrY1TEEWfn5Xey8KUrmE3WcDwy2/FJKNTImG1gf4MvgRP5gy
	04O7MCfsdv+lV4LTHTKvauDxLBodsRQ6RGHLbb2g=
To: Ian Jackson <iwj@xenproject.org>
Cc: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Tamas K Lengyel <tamas@tklengyel.com>,
 Juergen Gross <jgross@suse.com>, Dario Faggioli <dfaggioli@suse.com>,
 Paul Durrant <paul@xen.org>, Daniel De Graaf <dgdegra@tycho.nsa.gov>
References: <20210712203233.20289-1-dpsmith@apertussolutions.com>
 <20210712203233.20289-9-dpsmith@apertussolutions.com>
 <24832.3234.356168.227371@mariner.uk.xensource.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: Re: [PATCH v2 08/10] xsm: remove xsm_default_t from hook definitions
Message-ID: <93bcfe0f-2fd6-7177-53f4-8544582df3b8@apertussolutions.com>
Date: Fri, 6 Aug 2021 17:41:12 -0400
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <24832.3234.356168.227371@mariner.uk.xensource.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

On 7/27/21 9:39 AM, Ian Jackson wrote:
> I have read the thread here and it seems that there are some
> disagreements which may be blocking progress.
> 
> The mailing list thread is a rather tangled way of dealing with this.
> I did read it but I feel I am lacking some of the context and/or
> having trouble synthesising it.
> 
> Daniel, if you agree with me that this seems to be getting hung up on
> disagreements, do you think you would be able to summarise the
> disagreement(s) including the context and the arguments you can see on
> the various sides ?  I'm not expecting such a summary to be neutral
> but I think you are in a good position to motivate your changes.
> 
> Thanks,
> Ian.
> 

Hey Ian,

Thank you so much for reaching out. While there is definitely a
disagreement, as you will likely have seen, I put out a v3 of the patch
set where there is an attempt to strike a compromise between the two
positions. To provide some context, below is a list of points of
contention, my concerns regarding the points of contention, and a list
of what was addressed in v3 of the series.

Points of contention:
A1. Agreement on what is and constitutes XSM.
A2. Based on (A1), what does it really mean to turn XSM on or off.
A3. Providing the facade that a capability is turned off to hide config
options
    a user may not understand
A4. There are two versions of the XSM hook interfaces and corresponding
    XSM hook implementations
A5. Whether the XSM hook's call sites should include the access level

My concerns/issues:
B1. The irony that XSM is unsupported but XSM + SILO is supported (for
    Arm)
B2. The counter-positive to the position of (A3) is that every KConfig
    option must be understandable by all users
B3. The complexity of the preprocessor code to enable (A3) results in
    challenging code to reason about
B4. The increased overhead in having to maintaining the two sets of
    hooks caused by (A3)
B5. The (A3) optimization is being done to common code but only applies
    to x86 security supported configurations
B6. That (A3) is justified to maintain a legacy mental model that Dom0
    is all powerful at the expense of unnecessarily complicating Xen's
    core access control code.
B7. That (A5) is only completely correct when default/dummy policy is in
    effect B8. (A5) was justified as it gives the developer a notion of
    what will be checked, which is bad for a number of reasons, but the
    primary is that it will either directly or indirectly influence a
    developer to write code with false sense of what access level a
    domain may have

What v3 addresses:
C1. Instead of doing a submenu for XSM v3 replaces XSM on/off with a
    "select to configure XSM", addressing (A2, A3, B2)
C2. Instead of dropping one of the interfaces/implementations, merged
    them to provide a single interface with similar inlining properties,
    addressing (A4, B3, B4, B5)
C3. The passing of a default at the call site was left intact addressing
    (A5)

Deferrals and concessions in v3:
D1. Answering (A1) can be addressed later by reviewing, refreshing, and
    expanding XSM documentation
D2. Will work with community to get XSM in a supported status to resolve
   (B1)
D3. The issue of (B6) is partially resolved in v3, v1 and v2 provided a
    better separation but all three are logically equivalent
D4. I conceded on (B7) and (B8) which are related to (B6) with respect
    that the all powerful dom0 continues to be hard coded throughout the
    hypervisor instead of trying to abstracting it out.

While not all of the points of contentions nor all of my concerns are
all addressed, I would like to hope that v3 is seen as an attempt
compromise, those compromises are acceptable, and that I can begin to
bring the next patch set forward. Thank you and looking forward to
responses.

V/r,
Daniel P. Smith


From xen-devel-bounces@lists.xenproject.org Fri Aug 06 22:56:49 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Aug 2021 22:56:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164806.301189 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mC8lV-0004wT-PN; Fri, 06 Aug 2021 22:56:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164806.301189; Fri, 06 Aug 2021 22: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 1mC8lV-0004wM-MC; Fri, 06 Aug 2021 22:56:33 +0000
Received: by outflank-mailman (input) for mailman id 164806;
 Fri, 06 Aug 2021 22:56: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 1mC8lU-0004wC-GN; Fri, 06 Aug 2021 22:56: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 1mC8lU-0001wm-BS; Fri, 06 Aug 2021 22:56: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 1mC8lU-0004Mb-2A; Fri, 06 Aug 2021 22:56:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mC8lU-0001fC-1c; Fri, 06 Aug 2021 22: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=A6yUFtBJApvmkG5ZjrNiqhQmaF2+qsFa50/wSuGrrE8=; b=CpV5EhOxrOYElz4BSMHlirbC0e
	ZIp/Q9d4nveK+bjKTZG7K5zZtPwfO5fqFnHqOG0D+M6bbMuM9MFYngXqbJUrYX7AyC3hbKB63jQ48
	mKaJdHGYbxzzd2K+RnfcXKZFEAjhXx1Fk+uaPNP2d4b+5fXHcAEsMF3UUHf1oHfF6zS4=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164120-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164120: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm: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-amd64-amd64-xl-multivcpu:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:heisenbug
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:heisenbug
    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-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=902e7f373fff2476b53824264c12e4e76c7ec02a
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 06 Aug 2021 22:56:32 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop              fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  14 guest-start              fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 20 guest-stop               fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 14 guest-start    fail in 164113 REGR. vs. 152332
 test-arm64-arm64-xl-xsm      14 guest-start    fail in 164117 REGR. vs. 152332
 test-arm64-arm64-xl-credit1  14 guest-start    fail in 164117 REGR. vs. 152332

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-multivcpu 22 guest-start/debian.repeat fail in 164113 pass in 164120
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat fail in 164113 pass in 164120
 test-amd64-amd64-i386-pvgrub 19 guest-localmigrate/x10 fail in 164117 pass in 164120
 test-arm64-arm64-xl-credit2  13 debian-fixup     fail in 164117 pass in 164120
 test-arm64-arm64-libvirt-xsm 13 debian-fixup               fail pass in 164113
 test-arm64-arm64-xl-xsm      13 debian-fixup               fail pass in 164117
 test-arm64-arm64-xl-credit1  13 debian-fixup               fail pass in 164117

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

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

version targeted for testing:
 linux                902e7f373fff2476b53824264c12e4e76c7ec02a
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  371 days
Failing since        152366  2020-08-01 20:49:34 Z  370 days  645 attempts
Testing same since   164113  2021-08-05 20:41:37 Z    1 days    3 attempts

------------------------------------------------------------
6762 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sat Aug 07 04:54:56 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 07 Aug 2021 04:54:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164814.301204 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mCEM3-0000lA-EW; Sat, 07 Aug 2021 04:54:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164814.301204; Sat, 07 Aug 2021 04:54:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mCEM3-0000l3-A4; Sat, 07 Aug 2021 04:54:39 +0000
Received: by outflank-mailman (input) for mailman id 164814;
 Sat, 07 Aug 2021 04:54:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mCEM2-0000kt-6c; Sat, 07 Aug 2021 04:54:38 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mCEM1-00063t-TQ; Sat, 07 Aug 2021 04:54: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 1mCEM1-0001AQ-AQ; Sat, 07 Aug 2021 04:54:37 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mCEM1-0001P7-9V; Sat, 07 Aug 2021 04: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=+ksqAyIZAMA289Z88D3aWq5B95Yt3dlVtg9v66TWuCU=; b=dD+AzgZa+k5p/X0T2D0O9dLx/I
	zrdbf4xgPxwdRSSy7hieUHJBpprIwgC3QZNiKb3U/AtIN5T9s+qn1ixal45oUPW+pHvW72P3TUJvU
	w4qa4gfHZWCoayo/M2gDho+7faXn+nAbFkgOwghks4oDSDdLD7Z2NYvCyuE86PDPSrW8=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164122-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164122: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-examine:memdisk-try-append:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=c9194f32bfd932e976a158d1af97a63be68a2aab
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 07 Aug 2021 04:54:37 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop              fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 20 guest-stop               fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-examine      4 memdisk-try-append       fail REGR. vs. 152332

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

version targeted for testing:
 linux                c9194f32bfd932e976a158d1af97a63be68a2aab
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  371 days
Failing since        152366  2020-08-01 20:49:34 Z  370 days  646 attempts
Testing same since   164122  2021-08-06 23:12:05 Z    0 days    1 attempts

------------------------------------------------------------
6769 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sat Aug 07 07:06:15 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 07 Aug 2021 07:06:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164823.301218 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mCGP8-00045R-1O; Sat, 07 Aug 2021 07:05:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164823.301218; Sat, 07 Aug 2021 07: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 1mCGP7-00045K-Uh; Sat, 07 Aug 2021 07:05:57 +0000
Received: by outflank-mailman (input) for mailman id 164823;
 Sat, 07 Aug 2021 07:05: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 1mCGP7-00045A-5t; Sat, 07 Aug 2021 07:05: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 1mCGP6-0008VP-Vo; Sat, 07 Aug 2021 07:05:57 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mCGP6-0000Sr-Kx; Sat, 07 Aug 2021 07:05:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mCGP6-0007JP-KV; Sat, 07 Aug 2021 07:05:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=hEjkdZDsc1kkDU5WLCBJq5i3KnyRl+Wn0ZFNATcyYp0=; b=sBj/M6xJ4D54SaxN7U1DiJeByd
	B2yW56lVoK/+gtLkcHC+pwdvWd2IHcPOPrdwYUuGmKqDFlGRmAgN1sXbRK7S/2rfoQacmAnVgRdDZ
	GbkoM5kwOOOP18+CpZVdXf0O/omKQRN2eH1FHT4M1V2yevGJYWm749dnWDWWsMjKITZ8=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164124-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 164124: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=fcae7a44c3b3559d1d8e05543deee41db7a8fdb1
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 07 Aug 2021 07:05:56 +0000

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

Regressions :-(

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

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

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

Last test of basis   151777  2020-07-10 04:19:19 Z  393 days
Failing since        151818  2020-07-11 04:18:52 Z  392 days  384 attempts
Testing same since   164124  2021-08-07 04:20:31 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  Cédric Bosdonnat <cbosdonnat@suse.com>
  Côme Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano Fidêncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Ian Wienand <iwienand@redhat.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  John Ferlan <jferlan@redhat.com>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  Ján Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Michał Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  Moshe Levi <moshele@nvidia.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr Drąg <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tomáš Golembiovský <tgolembi@redhat.com>
  Tomáš Janoušek <tomi@nomi.cz>
  Tuguoyi <tu.guoyi@h3c.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  William Douglas <william.douglas@intel.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.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                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sat Aug 07 09:28:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 07 Aug 2021 09:28:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164836.301234 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mCIdH-0002p5-KU; Sat, 07 Aug 2021 09:28:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164836.301234; Sat, 07 Aug 2021 09:28:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mCIdH-0002oy-HC; Sat, 07 Aug 2021 09:28:43 +0000
Received: by outflank-mailman (input) for mailman id 164836;
 Sat, 07 Aug 2021 09:28:42 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ovrn=M6=pengutronix.de=ukl@srs-us1.protection.inumbo.net>)
 id 1mCIdG-0002os-QE
 for xen-devel@lists.xenproject.org; Sat, 07 Aug 2021 09:28:42 +0000
Received: from metis.ext.pengutronix.de (unknown
 [2001:67c:670:201:290:27ff:fe1d:cc33])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 2d50195b-62be-47b5-87b1-529d948fa63f;
 Sat, 07 Aug 2021 09:28:39 +0000 (UTC)
Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2])
 by metis.ext.pengutronix.de with esmtps
 (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92)
 (envelope-from <ukl@pengutronix.de>)
 id 1mCIc5-0000Og-1o; Sat, 07 Aug 2021 11:27:29 +0200
Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de)
 by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.92)
 (envelope-from <ukl@pengutronix.de>)
 id 1mCIbl-0007UG-9f; Sat, 07 Aug 2021 11:27:09 +0200
Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.92)
 (envelope-from <ukl@pengutronix.de>)
 id 1mCIbl-0007Ct-6j; Sat, 07 Aug 2021 11:27:09 +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: 2d50195b-62be-47b5-87b1-529d948fa63f
Date: Sat, 7 Aug 2021 11:26:45 +0200
From: Uwe =?utf-8?Q?Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
To: Bjorn Helgaas <helgaas@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>,
	Giovanni Cabiddu <giovanni.cabiddu@intel.com>,
	=?utf-8?B?UmFmYcWCIE1pxYJlY2tp?= <zajec5@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>, linux-pci@vger.kernel.org,
	Alexander Duyck <alexanderduyck@fb.com>,
	Russell Currey <ruscur@russell.cc>, x86@kernel.org,
	oss-drivers@corigine.com, netdev@vger.kernel.org,
	Paul Mackerras <paulus@samba.org>, "H. Peter Anvin" <hpa@zytor.com>,
	Jiri Olsa <jolsa@redhat.com>, Thomas Gleixner <tglx@linutronix.de>,
	Taras Chornyi <tchornyi@marvell.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	linux-scsi@vger.kernel.org, Michael Ellerman <mpe@ellerman.id.au>,
	Sathya Prakash <sathya.prakash@broadcom.com>, qat-linux@intel.com,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Ingo Molnar <mingo@redhat.com>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Jakub Kicinski <kuba@kernel.org>,
	Yisen Zhuang <yisen.zhuang@huawei.com>,
	Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>,
	Fiona Trahe <fiona.trahe@intel.com>,
	Oliver O'Halloran <oohall@gmail.com>,
	Andrew Donnellan <ajd@linux.ibm.com>,
	Mathias Nyman <mathias.nyman@intel.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ido Schimmel <idosch@nvidia.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Frederic Barrat <fbarrat@linux.ibm.com>,
	Borislav Petkov <bp@alien8.de>, Michael Buesch <m@bues.ch>,
	Jiri Pirko <jiri@nvidia.com>, Bjorn Helgaas <bhelgaas@google.com>,
	Namhyung Kim <namhyung@kernel.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Andy Shevchenko <andriy.shevchenko@intel.com>,
	Juergen Gross <jgross@suse.com>,
	Salil Mehta <salil.mehta@huawei.com>,
	Sreekanth Reddy <sreekanth.reddy@broadcom.com>,
	xen-devel@lists.xenproject.org, Vadym Kochan <vkochan@marvell.com>,
	MPT-FusionLinux.pdl@broadcom.com, linux-usb@vger.kernel.org,
	linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-perf-users@vger.kernel.org,
	Zhou Wang <wangzhou1@hisilicon.com>, Arnd Bergmann <arnd@arndb.de>,
	linux-crypto@vger.kernel.org, kernel@pengutronix.de,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Simon Horman <simon.horman@corigine.com>,
	Wojciech Ziemba <wojciech.ziemba@intel.com>,
	linuxppc-dev@lists.ozlabs.org,
	"David S. Miller" <davem@davemloft.net>
Subject: Re: [PATCH v2 0/6] PCI: Drop duplicated tracking of a pci_dev's
 bound driver
Message-ID: <20210807092645.52kn4ustyjudztvl@pengutronix.de>
References: <20210806064623.3lxl4clzbjpmchef@pengutronix.de>
 <20210806212452.GA1867870@bjorn-Precision-5520>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="hfh2djfsv3k2boqr"
Content-Disposition: inline
In-Reply-To: <20210806212452.GA1867870@bjorn-Precision-5520>
X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2
X-SA-Exim-Mail-From: ukl@pengutronix.de
X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false
X-PTX-Original-Recipient: xen-devel@lists.xenproject.org


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

On Fri, Aug 06, 2021 at 04:24:52PM -0500, Bjorn Helgaas wrote:
> On Fri, Aug 06, 2021 at 08:46:23AM +0200, Uwe Kleine-K=F6nig wrote:
> > On Thu, Aug 05, 2021 at 06:42:34PM -0500, Bjorn Helgaas wrote:
>=20
> > > I looked at all the bus_type.probe() methods, it looks like pci_dev is
> > > not the only offender here.  At least the following also have a driver
> > > pointer in the device struct:
> > >=20
> > >   parisc_device.driver
> > >   acpi_device.driver
> > >   dio_dev.driver
> > >   hid_device.driver
> > >   pci_dev.driver
> > >   pnp_dev.driver
> > >   rio_dev.driver
> > >   zorro_dev.driver
> >=20
> > Right, when I converted zorro_dev it was pointed out that the code was
> > copied from pci and the latter has the same construct. :-)
> > See
> > https://lore.kernel.org/r/20210730191035.1455248-5-u.kleine-koenig@peng=
utronix.de
> > for the patch, I don't find where pci was pointed out, maybe it was on
> > irc only.
>=20
> Oh, thanks!  I looked to see if you'd done something similar
> elsewhere, but I missed this one.
>=20
> > > Looking through the places that care about pci_dev.driver (the ones
> > > updated by patch 5/6), many of them are ... a little dubious to begin
> > > with.  A few need the "struct pci_error_handlers *err_handler"
> > > pointer, so that's probably legitimate.  But many just need a name,
> > > and should probably be using dev_driver_string() instead.
> >=20
> > Yeah, I considered adding a function to get the driver name from a
> > pci_dev and a function to get the error handlers. Maybe it's an idea to
> > introduce these two and then use to_pci_driver(pdev->dev.driver) for the
> > few remaining users? Maybe doing that on top of my current series makes
> > sense to have a clean switch from pdev->driver to pdev->dev.driver?!
>=20
> I'd propose using dev_driver_string() for these places:
>=20
>   eeh_driver_name() (could change callers to use dev_driver_string())
>   bcma_host_pci_probe()
>   qm_alloc_uacce()
>   hns3_get_drvinfo()
>   prestera_pci_probe()
>   mlxsw_pci_probe()
>   nfp_get_drvinfo()
>   ssb_pcihost_probe()

So the idea is:

	PCI: Simplify pci_device_remove()
	PCI: Drop useless check from pci_device_probe()
	xen/pci: Drop some checks that are always true

are kept as is as preparation. (Do you want to take them from this v2,
or should I include them again in v3?)

Then convert the list of functions above to use dev_driver_string() in a
4th patch.

> The use in mpt_device_driver_register() looks unnecessary: it's only
> to get a struct pci_device_id *, which is passed to ->probe()
> functions that don't need it.

This is patch #5.

> The use in adf_enable_aer() looks wrong: it sets the err_handler
> pointer in one of the adf_driver structs.  I think those structs
> should be basically immutable, and the drivers that call
> adf_enable_aer() from their .probe() methods should set
> ".err_handler =3D &adf_err_handler" in their static adf_driver
> definitions instead.

I don't understand that one without some research, probably this yields
at least one patch.

> I think that basically leaves these:
>=20
>   uncore_pci_probe()     # .id_table, custom driver "registration"
>   match_id()             # .id_table, arch/x86/kernel/probe_roms.c
>   xhci_pci_quirks()      # .id_table
>   pci_error_handlers()   # roll-your-own AER handling, drivers/misc/cxl/g=
uest.c
>=20
> I think it would be fine to use to_pci_driver(pdev->dev.driver) for
> these few.

Converting these will be patch 7 then and patch 8 can then drop the
duplicated handling.

Sounds reasonable?

Best regards
Uwe

--=20
Pengutronix e.K.                           | Uwe Kleine-K=F6nig            |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |

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

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

iQEzBAABCgAdFiEEfnIqFpAYrP8+dKQLwfwUeK3K7AkFAmEOUc0ACgkQwfwUeK3K
7AnHpgf/RF3DUcUr+MLq/SXC+ZFfynYOmvBgChskJ2ZCMYGHElw/XWeeZ3ypnETk
Bq9PLYeIZrTWUb6sDYkPOkeSkiNrYOAp2v1vkl8fGpTpxobnkCW2Rv2fYndODqw9
z5he4PjzBqPSO+LpWQ+XuW6OKaQaPijZm6SgH4JdVW2Etu1RiIeQHnTlFMkx2pd8
hn3lUEsH/SF+WGd7olILhZ/FxycXldBLR4CjQNbCJ1G7LZ6IuGu+Ir2TbrlnPMPD
RWuspO5voAOSEaTPlgGYELadA2nNr375R89u659MJOo/DssBdSaNaKik6udH5Vea
yvZvenIp8//zyIdZpD38UlFSayO1OQ==
=tPhD
-----END PGP SIGNATURE-----

--hfh2djfsv3k2boqr--


From xen-devel-bounces@lists.xenproject.org Sat Aug 07 10:15:23 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 07 Aug 2021 10:15:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164843.301246 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mCJMD-0007g9-6C; Sat, 07 Aug 2021 10:15:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164843.301246; Sat, 07 Aug 2021 10:15:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mCJMD-0007g2-2k; Sat, 07 Aug 2021 10:15:09 +0000
Received: by outflank-mailman (input) for mailman id 164843;
 Sat, 07 Aug 2021 10:15: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 1mCJMB-0007fs-Uy; Sat, 07 Aug 2021 10:15: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 1mCJMB-0004RT-Ds; Sat, 07 Aug 2021 10:15: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 1mCJMB-0001jc-3V; Sat, 07 Aug 2021 10:15:07 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mCJMB-0007Pg-34; Sat, 07 Aug 2021 10:15: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=BgSZcVzEv5m4YnZo/aaz7hhhVVP/8WKFi2k2fUSgtlM=; b=lPh9LAcjMb2x5jvmQI+ZCXsDhI
	QSO+TM7ZAsqjXBCeLijAxf3uHWW5BFcuTYQr7zdKxeXGxm8m57gVhwn+4cWong0sAiAmrHg6nfCY5
	yoeHIuMn4p5ByTYFz/IM/1z68Etfn2aawST7+U0OIFL7XKRmm3/BjpW3Z1DtI3EyQyZs=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164123-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 164123: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-examine:memdisk-try-append:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=2b45ff60301a988badec526846e77b538383ae63
X-Osstest-Versions-That:
    xen=2b45ff60301a988badec526846e77b538383ae63
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 07 Aug 2021 10:15:07 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail in 164119 pass in 164123
 test-amd64-amd64-examine      4 memdisk-try-append         fail pass in 164119

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

version targeted for testing:
 xen                  2b45ff60301a988badec526846e77b538383ae63
baseline version:
 xen                  2b45ff60301a988badec526846e77b538383ae63

Last test of basis   164123  2021-08-07 01:52:50 Z    0 days
Testing same since                          (not found)         0 attempts

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


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

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

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

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


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Sat Aug 07 13:02:42 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 07 Aug 2021 13:02:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164852.301261 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mCLy1-0005VX-EN; Sat, 07 Aug 2021 13:02:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164852.301261; Sat, 07 Aug 2021 13:02:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mCLy1-0005VQ-BM; Sat, 07 Aug 2021 13:02:21 +0000
Received: by outflank-mailman (input) for mailman id 164852;
 Sat, 07 Aug 2021 13:02: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 1mCLxz-0005VG-CO; Sat, 07 Aug 2021 13:02: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 1mCLxz-0006yl-6O; Sat, 07 Aug 2021 13:02: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 1mCLxy-0005ze-S7; Sat, 07 Aug 2021 13:02:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mCLxy-0001g0-Rb; Sat, 07 Aug 2021 13:02: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=rrvEwOQG79QfTUS0aTkGmuJE+R4JZmCrGdt8bH9c6rY=; b=Rlh+ya4BCtdDPpPRfsOJQFqhNq
	cec3KvZiYzNIMPooWk/URQi1xmJtpzWPDFILIJoW4TnabjdnKnAvv2Np+n7FORfTr/S795qZXV0Y8
	4PnQJTWcbDDIynm98AkNwZhJYxh/VWvSgQgJJSRpmey2caQ8+Bm7nu2zoQxVP/3h5ap8=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164125-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164125: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-examine:memdisk-try-append:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-multivcpu: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-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=c9194f32bfd932e976a158d1af97a63be68a2aab
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 07 Aug 2021 13:02:18 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop              fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 20 guest-stop               fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 13 debian-fixup             fail REGR. vs. 152332

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-examine    4 memdisk-try-append fail in 164122 pass in 164125
 test-amd64-amd64-xl-multivcpu 22 guest-start/debian.repeat fail pass in 164122

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

version targeted for testing:
 linux                c9194f32bfd932e976a158d1af97a63be68a2aab
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  371 days
Failing since        152366  2020-08-01 20:49:34 Z  370 days  647 attempts
Testing same since   164122  2021-08-06 23:12:05 Z    0 days    2 attempts

------------------------------------------------------------
6769 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sat Aug 07 17:04:03 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 07 Aug 2021 17:04:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164860.301276 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mCPji-00011Q-9F; Sat, 07 Aug 2021 17:03:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164860.301276; Sat, 07 Aug 2021 17: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 1mCPji-00011J-5I; Sat, 07 Aug 2021 17:03:50 +0000
Received: by outflank-mailman (input) for mailman id 164860;
 Sat, 07 Aug 2021 17:03:49 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8fSH=M6=gmail.com=olekstysh@srs-us1.protection.inumbo.net>)
 id 1mCPjh-00011D-CF
 for xen-devel@lists.xenproject.org; Sat, 07 Aug 2021 17:03:49 +0000
Received: from mail-lf1-x134.google.com (unknown [2a00:1450:4864:20::134])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 7e604098-58f9-41d5-a617-b16981a3ba08;
 Sat, 07 Aug 2021 17:03:47 +0000 (UTC)
Received: by mail-lf1-x134.google.com with SMTP id u3so24724703lff.9
 for <xen-devel@lists.xenproject.org>; Sat, 07 Aug 2021 10:03:47 -0700 (PDT)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id e17sm988469ljg.61.2021.08.07.10.03.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sat, 07 Aug 2021 10:03: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: 7e604098-58f9-41d5-a617-b16981a3ba08
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-transfer-encoding:content-language;
        bh=O5zwWnT/42l8E5X7sQOIY0zNo0b+w3uVHD2pGQ7GRfU=;
        b=ARXrOkx8lxk4LKsVt9lrYGFbqJtbR58VPnX/J+Recn4Vow5GzVsyAJ3ta2oGDNgTuC
         NDfKM6sbS1/FvXJkUayhbEG1vhlTuIQbSTbkaBgIYdv9mpNBTdGLPpnN+hn//mmvW4ut
         LK4EWQcMwYeaVAUnY++j8Kr22EXgm+ZT1+EhxVcJxkSQQox0+of6bkEFBE8Pz6cmN7tl
         W3/NdtOR0I3vA1DjAt8/qLFhR9Pb4HyUGr5dMwZNr2ZPgaI+WOpJ7GQNCKsVENIHLn7M
         5kn+EH0cuMhEO2Pjx1YRrsopA2UIRzTSOilsoR3eT8nGTruqJe/RZ9LB1hrlqKo7ZQx0
         e3dQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-transfer-encoding
         :content-language;
        bh=O5zwWnT/42l8E5X7sQOIY0zNo0b+w3uVHD2pGQ7GRfU=;
        b=OSCVrmQStM6VJcCw7odwo+g7RKIM4HPSnfBTYQOoIdc3IIENCYz5R/PWAHgbckj4HR
         gnRw0UPCnjNDLOC4Cf1z1ISvZUdBT7xS1j8S9kgBXuzozRzGM/LeTYmm+vHWv8v3b+QH
         NURagSK8rf8dJLEiwFTXlSIpt8TP/YjcOx+XUSChKj+xkJ6FMi+YmBq9UbjdoXrSkzcb
         8PKjbvIyGNzNYhR7LngI0yw8APIzqMjNTkeXMd8MQ2hjw1uCxD0cNajGZSTjg6HfXIJc
         GNbbQ8CFN6Syfl8i8RD77IdsIPiL/t489p+goPs8IyvXQMGcyMWJc38gczcWp18JMJO1
         JwUw==
X-Gm-Message-State: AOAM5339lxMeH/48fgOocgBsCClUczj2whMx4hKDn7YIRq6X1Q0PX1CL
	DndEQ5gNYUISXnkeVRmLyC4=
X-Google-Smtp-Source: ABdhPJxj0tf5JxthyCbht1aOFQzi+x/yt8+xQX2ldcl5v1Qf8llt/0rR/hNl2BPyrJqQl98phSVB3A==
X-Received: by 2002:ac2:4119:: with SMTP id b25mr12246256lfi.284.1628355826642;
        Sat, 07 Aug 2021 10:03:46 -0700 (PDT)
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel@lists.xenproject.org,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <80fafc01-f063-d6e5-1c08-7ad64550310c@citrix.com>
 <e8db3021-78a5-e040-a70b-62ca5b500149@xen.org>
 <4de5ed21-379e-b618-44c8-924d88b1a519@citrix.com>
 <bbc7f597-5249-20a0-cac9-13f594268299@xen.org>
 <6a633f4e-13e0-4a2b-cf6e-35ef90ae977c@gmail.com>
 <alpine.DEB.2.21.2107301630510.10122@sstabellini-ThinkPad-T480s>
 <f6b2e6c6-bf58-960f-4a09-f05ebcf1f566@gmail.com>
 <5643d414-0b76-74a4-2c37-c7a99338d547@gmail.com>
 <c83378af-4d3b-9256-0e0d-f88c43c6de2f@xen.org>
 <alpine.DEB.2.21.2108051720210.18743@sstabellini-ThinkPad-T480s>
From: Oleksandr <olekstysh@gmail.com>
Message-ID: <6596ad08-8398-64dd-ef62-cd7bc6f7333e@gmail.com>
Date: Sat, 7 Aug 2021 20:03:44 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.10.0
MIME-Version: 1.0
In-Reply-To: <alpine.DEB.2.21.2108051720210.18743@sstabellini-ThinkPad-T480s>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US


On 06.08.21 03:30, Stefano Stabellini wrote:

Hi Stefano

> On Wed, 4 Aug 2021, Julien Grall wrote:
>>> +#define GUEST_SAFE_RANGE_BASE   xen_mk_ullong(0xDE00000000) /* 128GB */
>>> +#define GUEST_SAFE_RANGE_SIZE   xen_mk_ullong(0x0200000000)
>>>
>>> While the possible new DT bindings has not been agreed yet, I re-used
>>> existing "reg" property under the hypervisor node to pass safe range as a
>>> second region,
>>> https://elixir.bootlin.com/linux/v5.14-rc4/source/Documentation/devicetree/bindings/arm/xen.txt#L10:
>> So a single region works for a guest today, but for dom0 we will need multiple
>> regions because it is may be difficult to find enough contiguous space for a
>> single region.
>>
>> That said, as dom0 is mapped 1:1 (including some guest mapping), there is also
>> the question where to allocate the safe region. For grant table, we so far
>> re-use the Xen address space because it is assumed it will space will always
>> be bigger than the grant table.
>>
>> I am not sure yet where we could allocate the safe regions. Stefano, do you
>> have any ideas?
> The safest choice would be the address range corresponding to memory
> (/memory) not already allocated to Dom0.
>
> For instance from my last boot logs:
> (XEN) Allocating 1:1 mappings totalling 1600MB for dom0:
> (XEN) BANK[0] 0x00000010000000-0x00000070000000 (1536MB)
> (XEN) BANK[1] 0x00000078000000-0x0000007c000000 (64MB)
>
> All the other ranges could be given as unallocated space:
>
> - 0x0 - 0x10000000
> - 0x70000000 - 0x78000000
> - 0x8_0000_0000 - 0x8_8000_0000

Thank you for the ideas.

If I got the idea correctly, yes, as these ranges represent the real 
RAM, so no I/O would be in conflict with them and as the result - no 
overlaps would be expected.
But, I wonder, would this work if we have IOMMU enabled for Dom0 and 
need to establish 1:1 mapping for the DMA devices to work with grant 
mappings...
In arm_iommu_map_page() we call guest_physmap_add_entry() with gfn = 
mfn, so the question is could we end up with this new gfn replacing the 
valid mapping
(with gfn allocated from the safe region)?


>
>
>
> The second best choice would be an hole: an address range not used by
> anybody else (no reg property) and also not even mappable by a bus (not
> covered by a ranges property). This is not the best choice because there
> can cases where physical resources appear afterwards.

Unfortunately, yes.


-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Sat Aug 07 18:57:08 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 07 Aug 2021 18:57:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164867.301287 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mCRV9-0002On-Db; Sat, 07 Aug 2021 18:56:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164867.301287; Sat, 07 Aug 2021 18:56:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mCRV9-0002Og-AZ; Sat, 07 Aug 2021 18:56:55 +0000
Received: by outflank-mailman (input) for mailman id 164867;
 Sat, 07 Aug 2021 18:56: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 1mCRV8-0002OW-Ii; Sat, 07 Aug 2021 18:56: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 1mCRV8-0004Np-DX; Sat, 07 Aug 2021 18:56: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 1mCRV8-00011V-0f; Sat, 07 Aug 2021 18:56:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mCRV8-0006qZ-03; Sat, 07 Aug 2021 18:56:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ZSIS+O5udfqC1TNJtqNhT3VZVvTiQJ2SaKPDrcZzOf4=; b=ZBvb36+uPQ+ADLqzZtFZ/jHWqh
	PinwPefiHByHcms4aIOdS9K3VGbUPs1FWTnyClWh0mW2n4vyFGrPDuvWLZb2rr32tzJKrYBhLAzmD
	BQigrBGwqPew+XEI6SQCB8BTyK3Ip/B9hvmerN1HpYjF2wElR7q0e1avCBMNGqqq3y84=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164126-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164126: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds: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-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=c9194f32bfd932e976a158d1af97a63be68a2aab
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 07 Aug 2021 18:56:54 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop              fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 20 guest-stop               fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 13 debian-fixup             fail REGR. vs. 152332

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-multivcpu 22 guest-start/debian.repeat fail in 164125 pass in 164126
 test-amd64-amd64-xl-rtds     22 guest-start/debian.repeat  fail pass in 164125

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

version targeted for testing:
 linux                c9194f32bfd932e976a158d1af97a63be68a2aab
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  371 days
Failing since        152366  2020-08-01 20:49:34 Z  370 days  648 attempts
Testing same since   164122  2021-08-06 23:12:05 Z    0 days    3 attempts

------------------------------------------------------------
6769 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Aug 08 00:53:56 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 08 Aug 2021 00:53:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164880.301303 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mCX4P-00084b-8N; Sun, 08 Aug 2021 00:53:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164880.301303; Sun, 08 Aug 2021 00: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 1mCX4P-00084U-4s; Sun, 08 Aug 2021 00:53:41 +0000
Received: by outflank-mailman (input) for mailman id 164880;
 Sun, 08 Aug 2021 00:53:39 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mCX4N-00084K-HD; Sun, 08 Aug 2021 00:53:39 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mCX4N-0001ff-4c; Sun, 08 Aug 2021 00:53:39 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mCX4M-0004OF-NS; Sun, 08 Aug 2021 00:53:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mCX4M-0002Cu-Mx; Sun, 08 Aug 2021 00:53:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=nAwpc8e5B9rlz4hlapp6+lUe/ihA8+6SNOgX1pm30ME=; b=EHvBkWnhiKE43tctg6UKXc/xRU
	tW/V4qOsX9bRslBdLFM17CWr5TxAGqeadXmkiDS3aWZYyl2Cb6zkbIxWzqzNXM/uc1REmcIk5lkIK
	ByjZl3XHJ980iYUgyr4kAYhdZ+9crmrQvKhnsMQAJi0EHbWbCFJpcRfyArJ6EzHlNW/Q=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164127-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164127: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-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-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=85a90500f9a1717c4e142ce92e6c1cb1a339ec78
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 08 Aug 2021 00:53:38 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop              fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 20 guest-stop               fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 13 debian-fixup             fail REGR. vs. 152332
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 152332

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

version targeted for testing:
 linux                85a90500f9a1717c4e142ce92e6c1cb1a339ec78
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  372 days
Failing since        152366  2020-08-01 20:49:34 Z  371 days  649 attempts
Testing same since   164127  2021-08-07 19:11:34 Z    0 days    1 attempts

------------------------------------------------------------
6773 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Aug 08 07:23:33 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 08 Aug 2021 07:23:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164893.301317 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mCd9S-0006EK-IT; Sun, 08 Aug 2021 07:23:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164893.301317; Sun, 08 Aug 2021 07:23: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 1mCd9S-0006ED-Ew; Sun, 08 Aug 2021 07:23:18 +0000
Received: by outflank-mailman (input) for mailman id 164893;
 Sun, 08 Aug 2021 07:23: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 1mCd9Q-0006E3-RQ; Sun, 08 Aug 2021 07:23: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 1mCd9Q-00061l-J3; Sun, 08 Aug 2021 07:23: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 1mCd9Q-0003Xn-7M; Sun, 08 Aug 2021 07:23:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mCd9Q-0000Jm-6w; Sun, 08 Aug 2021 07:23: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=F2zpFWAMoT7bRgB95Fevs+TvMf3XpP1NwfH8r1xH88o=; b=gCxkJ+aLc5540o9s/3UNq3CrSU
	iNG6e2r6v8x/p9XuCGTkHcmU/djcW9d/GlQmwMYVjtm/WJ2/xbWSND09wHO+r5xgm17o/IlRq6GPG
	4XziCEUSm0qDOwbGGZCaqHtkPxL46nMzy1lfkfclCgHxfI34ftwHmfmKuyyNhLpKdzHY=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164128-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164128: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-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-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=85a90500f9a1717c4e142ce92e6c1cb1a339ec78
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 08 Aug 2021 07:23:16 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop              fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  14 guest-start              fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 20 guest-stop               fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 13 debian-fixup             fail REGR. vs. 152332

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

version targeted for testing:
 linux                85a90500f9a1717c4e142ce92e6c1cb1a339ec78
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  372 days
Failing since        152366  2020-08-01 20:49:34 Z  371 days  650 attempts
Testing same since   164127  2021-08-07 19:11:34 Z    0 days    2 attempts

------------------------------------------------------------
6773 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Aug 08 09:58:58 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 08 Aug 2021 09:58:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164906.301332 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mCfZq-0002vX-Ei; Sun, 08 Aug 2021 09:58:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164906.301332; Sun, 08 Aug 2021 09: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 1mCfZq-0002vQ-9V; Sun, 08 Aug 2021 09:58:42 +0000
Received: by outflank-mailman (input) for mailman id 164906;
 Sun, 08 Aug 2021 09: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 1mCfZo-0002vG-Oo; Sun, 08 Aug 2021 09: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 1mCfZo-0000KH-GP; Sun, 08 Aug 2021 09: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 1mCfZo-0003Fa-8I; Sun, 08 Aug 2021 09:58:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mCfZo-0002NS-6C; Sun, 08 Aug 2021 09: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=4fwOoL/P8Na99vLeEMZCfwyYtXHFg2yaQCb7yMn0fAo=; b=JcBcMxgSrQ5J7pj9xzFVY5DjuU
	t8Ap3DuLbEm4g7628JznRmJ7fUVLMOUQ1CrnIBUiuiAGLejxviiutapStUYivo4/bMmxTdLCjYgSp
	W9D/RBFdcmYH3PdmaeYscH/mz2HIj/qkL0lpXovSvveLwrmZXxG/HH9P7pbmHTw+FMSI=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164130-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 164130: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=fcae7a44c3b3559d1d8e05543deee41db7a8fdb1
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 08 Aug 2021 09:58:40 +0000

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

Regressions :-(

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

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

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

Last test of basis   151777  2020-07-10 04:19:19 Z  394 days
Failing since        151818  2020-07-11 04:18:52 Z  393 days  385 attempts
Testing same since   164124  2021-08-07 04:20:31 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  Cédric Bosdonnat <cbosdonnat@suse.com>
  Côme Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano Fidêncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Ian Wienand <iwienand@redhat.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  John Ferlan <jferlan@redhat.com>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  Ján Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Michał Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  Moshe Levi <moshele@nvidia.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr Drąg <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tomáš Golembiovský <tgolembi@redhat.com>
  Tomáš Janoušek <tomi@nomi.cz>
  Tuguoyi <tu.guoyi@h3c.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  William Douglas <william.douglas@intel.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.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                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Aug 08 10:07:18 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 08 Aug 2021 10:07:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164912.301345 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mCfhv-0004PJ-7t; Sun, 08 Aug 2021 10:07:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164912.301345; Sun, 08 Aug 2021 10: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 1mCfhv-0004PC-4x; Sun, 08 Aug 2021 10:07:03 +0000
Received: by outflank-mailman (input) for mailman id 164912;
 Sun, 08 Aug 2021 10:07:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mCfhs-0004P2-W0; Sun, 08 Aug 2021 10:07: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 1mCfhs-0000XQ-Pd; Sun, 08 Aug 2021 10:07: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 1mCfhs-0003nD-Ge; Sun, 08 Aug 2021 10:07:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mCfhs-0001Dd-GB; Sun, 08 Aug 2021 10:07:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=UCJ66hlYDgYJNFLCjMnWj6NDfnifiXmSxg6bJZs8v8E=; b=lTNUbXUO/Vkm3kh1uOJMXfpH+I
	mxAdq34ibb7DU9jVKvTAKAjmT6CyS1sbNsWPpU3IwEtZmg+O2bTifVmOCGlW29nivaSYlBQ/LsbYM
	SUWuJVZv1Xkf1BRbcCrL/Wmje6etARrtF5OVt8MH2Z8bL+tWrhY+pu1jBLGCQ2QCDLho=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164133-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-coverity test] 164133: all pass - PUSHED
X-Osstest-Versions-This:
    xen=2b45ff60301a988badec526846e77b538383ae63
X-Osstest-Versions-That:
    xen=2278d2cbb0b7c1b48b298c6c4c6a7de2271ac928
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 08 Aug 2021 10:07:00 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 xen                  2b45ff60301a988badec526846e77b538383ae63
baseline version:
 xen                  2278d2cbb0b7c1b48b298c6c4c6a7de2271ac928

Last test of basis   164101  2021-08-04 09:19:40 Z    4 days
Testing same since   164133  2021-08-08 09:19:35 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Stefano Stabellini <sstabellini@kernel.org>
  Stefano Stabellini <stefano.stabellini@xilinx.com>

jobs:
 coverity-amd64                                               pass    


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

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

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

Test harness 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
   2278d2cbb0..2b45ff6030  2b45ff60301a988badec526846e77b538383ae63 -> coverity-tested/smoke


From xen-devel-bounces@lists.xenproject.org Sun Aug 08 13:38:37 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 08 Aug 2021 13:38:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164919.301360 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mCj0P-0005JL-S9; Sun, 08 Aug 2021 13:38:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164919.301360; Sun, 08 Aug 2021 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 1mCj0P-0005JE-OH; Sun, 08 Aug 2021 13:38:21 +0000
Received: by outflank-mailman (input) for mailman id 164919;
 Sun, 08 Aug 2021 13:38: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 1mCj0P-0005J4-4O; Sun, 08 Aug 2021 13:38: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 1mCj0O-0003Ux-R3; Sun, 08 Aug 2021 13:38: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 1mCj0O-00064A-FK; Sun, 08 Aug 2021 13:38:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mCj0O-0000R6-Eq; Sun, 08 Aug 2021 13:38: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=o8/MHbHjfc+7PrpVhLT8XxqlOe+VS3JWC4bEn+v69+U=; b=OHWEIW/m1W9AlTOF082oZpR3y4
	YoO37HbxEwb6drMYWYMyQ4GQtVI+LrRRrSIAiv9WLzgDMaD1WBtr8kW2mRhZM0Dr7GNrzK9LkVVNQ
	mpdr9YLn6M6sDaY0QUOgB1YQXgNy9QvwukYNCQRoN9fkg6LGO0Jq0znTMu4VZufSqJnI=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164129-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 164129: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=2b45ff60301a988badec526846e77b538383ae63
X-Osstest-Versions-That:
    xen=2b45ff60301a988badec526846e77b538383ae63
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 08 Aug 2021 13:38:20 +0000

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

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 164123
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164123
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164123
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164123
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 164123
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 164123
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164123
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164123
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 164123
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164123
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164123
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-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          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-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  2b45ff60301a988badec526846e77b538383ae63
baseline version:
 xen                  2b45ff60301a988badec526846e77b538383ae63

Last test of basis   164129  2021-08-08 01:51:40 Z    0 days
Testing same since                          (not found)         0 attempts

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


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

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

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

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


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Sun Aug 08 17:17:33 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 08 Aug 2021 17:17:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164925.301374 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mCmQL-0007eJ-Lp; Sun, 08 Aug 2021 17:17:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164925.301374; Sun, 08 Aug 2021 17:17:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mCmQL-0007eC-Ho; Sun, 08 Aug 2021 17:17:21 +0000
Received: by outflank-mailman (input) for mailman id 164925;
 Sun, 08 Aug 2021 17:17: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 1mCmQK-0007e2-3P; Sun, 08 Aug 2021 17:17: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 1mCmQJ-000799-Q8; Sun, 08 Aug 2021 17:17: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 1mCmQJ-00086M-F6; Sun, 08 Aug 2021 17:17:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mCmQJ-0007sB-EY; Sun, 08 Aug 2021 17:17:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=asxvrKnXTey1ZYW0JjVkvzq+vh/x9fxQBgOP/X4mdPs=; b=bHbYZSuWQAxLzjGd9yZsftJpaw
	QnvG3iczr6O5hSYgVYMX5G5y+mriahdn8LQ9OKA+YRRwXuY4VmNgeKSuBRaVev6hqbVX55b2iucLr
	oQ+jbiekx82swpmlJYV2E/3sqJL9GtSFhx5qyCtZmngtsm/PbD48kPMPNoE8KL6cgFCI=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164131-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 164131: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-5.4:test-arm64-arm64-xl-xsm:xen-boot:fail:heisenbug
    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-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check: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-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check: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:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle: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-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-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-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-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-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=e350cd02e293be9a6b93398b2d3ff1edf7695ab2
X-Osstest-Versions-That:
    linux=7b90d57b09fa3513a31e6f05f07a5f1f19438e15
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 08 Aug 2021 17:17:19 +0000

flight 164131 linux-5.4 real [real]
flight 164135 linux-5.4 real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/164131/
http://logs.test-lab.xenproject.org/osstest/logs/164135/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl-xsm       8 xen-boot            fail pass in 164135-retest

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

version targeted for testing:
 linux                e350cd02e293be9a6b93398b2d3ff1edf7695ab2
baseline version:
 linux                7b90d57b09fa3513a31e6f05f07a5f1f19438e15

Last test of basis   164102  2021-08-04 10:40:10 Z    4 days
Testing same since   164131  2021-08-08 07:11:59 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Aakash Hemadri <aakashhemadri123@gmail.com>
  Alain Volmat <alain.volmat@foss.st.com>
  Alexei Starovoitov <ast@kernel.org>
  Amelie Delaunay <amelie.delaunay@foss.st.com>
  Axel Lin <axel.lin@ingics.com>
  Christoph Hellwig <hch@lst.de>
  Cristian Marussi <cristian.marussi@arm.com>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Scally <djrscally@gmail.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Filipe Manana <fdmanana@suse.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Hsin-Yi Wang <hsinyi@google.com>
  Jia He <justin.he@arm.com>
  John Fastabend <john.fastabend@gmail.com>
  Jon Hunter <jonathanh@nvidia.com>
  Keith Busch <kbusch@kernel.org>
  Kyle Russell <bkylerussell@gmail.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Mark Brown <broonie@kernel.org>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Pravin B Shelar <pshelar@ovn.org>
  Randy Dunlap <rdunlap@infradead.org>
  Sasha Levin <sashal@kernel.org>
  Sudeep Holla <sudeep.holla@arm.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Takashi Iwai <tiwai@suse.de>
  Tzung-Bi Shih <tzungbi@google.com>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Yonghong Song <yhs@fb.com>

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


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

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

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

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


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   7b90d57b09fa..e350cd02e293  e350cd02e293be9a6b93398b2d3ff1edf7695ab2 -> tested/linux-5.4


From xen-devel-bounces@lists.xenproject.org Sun Aug 08 19:10:56 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 08 Aug 2021 19:10:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164932.301388 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mCoC1-0001Il-3u; Sun, 08 Aug 2021 19:10:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164932.301388; Sun, 08 Aug 2021 19: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 1mCoC1-0001Ie-0a; Sun, 08 Aug 2021 19:10:41 +0000
Received: by outflank-mailman (input) for mailman id 164932;
 Sun, 08 Aug 2021 19:10: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 1mCoBz-0001IU-D0; Sun, 08 Aug 2021 19:10: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 1mCoBz-0000Pj-3u; Sun, 08 Aug 2021 19:10: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 1mCoBy-0003sQ-QJ; Sun, 08 Aug 2021 19:10:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mCoBy-000470-Ph; Sun, 08 Aug 2021 19:10: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=g/8unDVW+9U+vQYuw34wsBu8bici5fE8sQDUXs1RQyw=; b=xxvJGailp5NyPQfzGp+c0tq73r
	6DuElEiWYCmDtLVKLAiAgGUVc/bHAV/g2jSDInnk0Qcsnr9HXAYUKt71/vPk6n150y+3xfdONEmOx
	xOnv62ggCHJ6mEtdVMoaN0rqaeF9JkAyKTMHmxk6qGcXk1qDhp0TyhdE2jzUMSaqQ2xA=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164132-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164132: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start:fail:regression
    linux-linus:test-amd64-amd64-qemuu-freebsd12-amd64:guest-localmigrate:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:heisenbug
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-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-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=85a90500f9a1717c4e142ce92e6c1cb1a339ec78
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 08 Aug 2021 19:10:38 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop              fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 20 guest-stop               fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          14 guest-start    fail in 164128 REGR. vs. 152332
 test-arm64-arm64-xl-credit2  14 guest-start    fail in 164128 REGR. vs. 152332

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-qemuu-freebsd12-amd64 17 guest-localmigrate fail pass in 164128
 test-armhf-armhf-xl-credit2   8 xen-boot                   fail pass in 164128
 test-arm64-arm64-xl          13 debian-fixup               fail pass in 164128
 test-arm64-arm64-xl-credit2  13 debian-fixup               fail pass in 164128
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 164128

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

version targeted for testing:
 linux                85a90500f9a1717c4e142ce92e6c1cb1a339ec78
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  372 days
Failing since        152366  2020-08-01 20:49:34 Z  371 days  651 attempts
Testing same since   164127  2021-08-07 19:11:34 Z    0 days    3 attempts

------------------------------------------------------------
6773 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              fail    
 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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Aug 09 00:58:05 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 00:58:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164938.301402 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mCtbw-0005U1-Dq; Mon, 09 Aug 2021 00:57:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164938.301402; Mon, 09 Aug 2021 00: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 1mCtbw-0005Tu-Ag; Mon, 09 Aug 2021 00:57:48 +0000
Received: by outflank-mailman (input) for mailman id 164938;
 Mon, 09 Aug 2021 00: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 1mCtbv-0005Tk-6r; Mon, 09 Aug 2021 00: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 1mCtbu-00062x-V0; Mon, 09 Aug 2021 00:57: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 1mCtbu-0002xH-Jx; Mon, 09 Aug 2021 00:57:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mCtbu-0008H6-JK; Mon, 09 Aug 2021 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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Z2aLLpd07o+0PxTY5zZRh8rcuUXZtvsRsALf1CvfM8g=; b=cjZO/33LrFHzDY6uQ+zKaYss2c
	qO99ts8lU5j4gRyFEuXn3msfcrX54KJdyiqA6Pm81+iQ7IFc9dKZopkN0Pbov/YbQuygd+3CCS+r0
	usfN4KPjpMAVD3NcpZl+TFRqcnf0cYpoPLpI4dFSGH4j0dTBJuQuC25Uref3ZupUZwBo=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164134-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 164134: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-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:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=dee64246ded3aa7dbada68b96ce1c64e5bea327d
X-Osstest-Versions-That:
    qemuu=bccabb3a5d60182645c7749e89f21a9ff307a9eb
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 09 Aug 2021 00:57:46 +0000

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

Failures :-/ but no regressions.

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

version targeted for testing:
 qemuu                dee64246ded3aa7dbada68b96ce1c64e5bea327d
baseline version:
 qemuu                bccabb3a5d60182645c7749e89f21a9ff307a9eb

Last test of basis   164103  2021-08-04 16:09:30 Z    4 days
Testing same since   164134  2021-08-08 12:38:06 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ilya Leoshkevich <iii@linux.ibm.com>
  John Snow <jsnow@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Markus Armbruster <armbru@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                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-amd64-pvgrub                                pass    
 test-amd64-amd64-i386-pvgrub                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   bccabb3a5d..dee64246de  dee64246ded3aa7dbada68b96ce1c64e5bea327d -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Mon Aug 09 02:19:39 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 02:19:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164945.301416 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mCusb-0002ry-Rt; Mon, 09 Aug 2021 02:19:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164945.301416; Mon, 09 Aug 2021 02:19:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mCusb-0002rl-LU; Mon, 09 Aug 2021 02:19:05 +0000
Received: by outflank-mailman (input) for mailman id 164945;
 Mon, 09 Aug 2021 02:19:04 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mCusa-0002rb-F2; Mon, 09 Aug 2021 02:19:04 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mCusa-0005Up-7C; Mon, 09 Aug 2021 02:19:04 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mCusZ-0004mG-Mt; Mon, 09 Aug 2021 02:19:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mCusZ-0006w5-M3; Mon, 09 Aug 2021 02: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=r35aRBrZzCZTUC7Tvl/0UPpl382zYtPUhgMGlZ0FaHM=; b=s3f7iEwa6gDTvlbyNSapZJDQ6n
	i3l+MZeRXsDAzIC7I55LxGwZd2QGIYI4hkOB8PteuBkDP5Li9Uq2KT1lMOCu5k+I9+vY/jFksIS/5
	UKzhvdWK+S9Hq+d75NL82LzPNEGIyd6zdDHccqVcTisThhBRKKH9blqoxkM6uyrUx+Mk=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164136-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164136: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-libvirt-vhd:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-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-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=cceb634774efca60f8cc57041234f00faf97f22d
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 09 Aug 2021 02:19:03 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop              fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 20 guest-stop               fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-libvirt-vhd 16 guest-saverestore        fail REGR. vs. 152332

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

version targeted for testing:
 linux                cceb634774efca60f8cc57041234f00faf97f22d
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  373 days
Failing since        152366  2020-08-01 20:49:34 Z  372 days  652 attempts
Testing same since   164136  2021-08-08 19:41:08 Z    0 days    1 attempts

------------------------------------------------------------
6781 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Aug 09 08:18:34 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 08:18:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164957.301430 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD0U9-0000Qr-4D; Mon, 09 Aug 2021 08:18:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164957.301430; Mon, 09 Aug 2021 08: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 1mD0U8-0000QP-Se; Mon, 09 Aug 2021 08:18:12 +0000
Received: by outflank-mailman (input) for mailman id 164957;
 Mon, 09 Aug 2021 08:18: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 1mD0U8-0000QF-7z; Mon, 09 Aug 2021 08:18: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 1mD0U7-0000O6-Vs; Mon, 09 Aug 2021 08:18: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 1mD0U7-0005Je-Nc; Mon, 09 Aug 2021 08:18:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mD0U7-0007DJ-N8; Mon, 09 Aug 2021 08:18:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=+3vRCLietRFCfeAisgITPy8a9cVzBzZVl+NM+uAgIVQ=; b=U3pDUj64J6Lmbr4BhFsouiKsl0
	oLQtUIA3u+i1wwdVgID2YWMLYrVXXcr4ZaDuZ2q9tnEswLwMzygdCVHH8U1Yk/I57h736nN523y4W
	467t8QMV8OEN3vQDVrUcDXeJlGFuLUM9SEyJlC13DeU9FUKFF+L4844Bb8IASb+1wP/0=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164140-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 164140: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:build-armhf:xen-build:fail:regression
    libvirt:build-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=fcae7a44c3b3559d1d8e05543deee41db7a8fdb1
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 09 Aug 2021 08:18:11 +0000

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

Regressions :-(

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

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

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

Last test of basis   151777  2020-07-10 04:19:19 Z  395 days
Failing since        151818  2020-07-11 04:18:52 Z  394 days  386 attempts
Testing same since   164124  2021-08-07 04:20:31 Z    2 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  Cédric Bosdonnat <cbosdonnat@suse.com>
  Côme Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano Fidêncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Ian Wienand <iwienand@redhat.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  John Ferlan <jferlan@redhat.com>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  Ján Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Michał Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  Moshe Levi <moshele@nvidia.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr Drąg <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tomáš Golembiovský <tgolembi@redhat.com>
  Tomáš Janoušek <tomi@nomi.cz>
  Tuguoyi <tu.guoyi@h3c.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  William Douglas <william.douglas@intel.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.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                                                  fail    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          blocked 
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Aug 09 11:24:05 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 11:24:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164969.301446 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD3Np-0000Ml-4U; Mon, 09 Aug 2021 11:23:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164969.301446; Mon, 09 Aug 2021 11:23:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD3Np-0000Me-1C; Mon, 09 Aug 2021 11:23:53 +0000
Received: by outflank-mailman (input) for mailman id 164969;
 Mon, 09 Aug 2021 11: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 1mD3Nm-0000MU-TI; Mon, 09 Aug 2021 11:23:50 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mD3Nm-0003Y0-Oy; Mon, 09 Aug 2021 11: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 1mD3Nm-0004Go-CR; Mon, 09 Aug 2021 11:23:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mD3Nm-0005av-By; Mon, 09 Aug 2021 11: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=iWutBMRxdqFZC6dZ4QSL9ZXWu1jf0KltG0nP+l0Z0FU=; b=JD7PHg+TFwnBNVB2zxW9pFWy1m
	xwqOQo84uwBMyLv6e4odTLT1oAatoI8ncQjc7pPbni3gvS5RMpoUvqwzBiewjo6QGyvvvFaU7cTJO
	oxaFEKW+7JoKTGLDYR+ayV6PSVESEU99fn85HVj1IGY9L0qu0WQhnCz3YUelLxn+zrV0=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164139-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 164139: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=4de77ae9890d241271f543e9195ab3516f3abec6
X-Osstest-Versions-That:
    ovmf=97fdcbda4e69d6f085ec3f2bd9d29a04af2b50a4
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 09 Aug 2021 11:23:50 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 4de77ae9890d241271f543e9195ab3516f3abec6
baseline version:
 ovmf                 97fdcbda4e69d6f085ec3f2bd9d29a04af2b50a4

Last test of basis   164114  2021-08-05 21:40:02 Z    3 days
Testing same since   164139  2021-08-09 03:11:13 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jason Lou <yun.lou@intel.com>
  Lou, Yun <Yun.Lou@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
   97fdcbda4e..4de77ae989  4de77ae9890d241271f543e9195ab3516f3abec6 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Aug 09 11:26:35 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 11:26:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164975.301461 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD3QQ-0000yf-Ja; Mon, 09 Aug 2021 11:26:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164975.301461; Mon, 09 Aug 2021 11:26:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD3QQ-0000yY-FH; Mon, 09 Aug 2021 11:26:34 +0000
Received: by outflank-mailman (input) for mailman id 164975;
 Mon, 09 Aug 2021 11:26:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mD3QP-0000yO-Ki; Mon, 09 Aug 2021 11:26:33 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mD3QP-0003bt-Ds; Mon, 09 Aug 2021 11:26:33 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mD3QP-0004KH-44; Mon, 09 Aug 2021 11:26:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mD3QP-0007FW-3Y; Mon, 09 Aug 2021 11:26:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=bxXsl382ZM6IR9ROBsF2enwCZNpUCJSLVFBWl6DZpZk=; b=DgHfW1ZF1UepDkOS/mgRJyU5MY
	jgugMCa0n4woymQgyQhHFUCih4rDXoMIFHjU0Polam/ko016KLTLwbMe60IJNQhjlZtCjVe4MlV6q
	hTGXryNsUyyKslfRpZ+PWWDLFYgNOgOoN0yfJOdXME/Y+FFAqGAXFTZgiCAnFbOqBXe0=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164137-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 164137: trouble: broken/fail/pass
X-Osstest-Failures:
    xen-unstable:test-arm64-arm64-xl-xsm:<job status>:broken:regression
    xen-unstable:test-arm64-arm64-xl-xsm:host-install(5):broken:heisenbug
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check: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-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-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: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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=2b45ff60301a988badec526846e77b538383ae63
X-Osstest-Versions-That:
    xen=2b45ff60301a988badec526846e77b538383ae63
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 09 Aug 2021 11:26:33 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-xl-xsm         <job status>                 broken

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl-xsm       5 host-install(5)          broken pass in 164129

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

version targeted for testing:
 xen                  2b45ff60301a988badec526846e77b538383ae63
baseline version:
 xen                  2b45ff60301a988badec526846e77b538383ae63

Last test of basis   164137  2021-08-09 01:53: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                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      broken  
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-amd64-pvgrub                                pass    
 test-amd64-amd64-i386-pvgrub                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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

broken-job test-arm64-arm64-xl-xsm broken
broken-step test-arm64-arm64-xl-xsm host-install(5)

Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Mon Aug 09 12:31:14 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 12:31:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164982.301474 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD4Ql-0007Rg-AE; Mon, 09 Aug 2021 12:30:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164982.301474; Mon, 09 Aug 2021 12:30:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD4Ql-0007RZ-7J; Mon, 09 Aug 2021 12:30:59 +0000
Received: by outflank-mailman (input) for mailman id 164982;
 Mon, 09 Aug 2021 12:30: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 1mD4Qk-0007RP-Gj; Mon, 09 Aug 2021 12:30: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 1mD4Qk-0004hN-8O; Mon, 09 Aug 2021 12:30: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 1mD4Qj-0005oZ-Ty; Mon, 09 Aug 2021 12:30:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mD4Qj-000549-TW; Mon, 09 Aug 2021 12:30: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=CDlrD+pWO5pJpijzrTnczWx4srVz83yJJsHfPB+d83g=; b=200Pp31dvOsefg2MJbktBrqeDS
	djBWgfOnjZ2TcrVJznRKPZ94bu/9uREwpsl2uWF5tfWuuDrw2DvTnA2F2KNrybtzSC0kgOpsixYs1
	ARpG9CKgxMddgWy2CRzC2jnADo9oDWKEXsJch21PAl20oEtJNKfT/39FDRf4h+yUUfSA=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164138-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164138: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-qemuu-freebsd11-amd64:guest-start/freebsd.repeat:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:leak-check/check:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-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-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=36a21d51725af2ce0700c6ebcb6b9594aac658a6
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 09 Aug 2021 12:30:57 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      14 guest-start              fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop              fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 20 guest-stop               fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-qemuu-freebsd11-amd64 21 guest-start/freebsd.repeat fail REGR. vs. 152332
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 21 leak-check/check fail REGR. vs. 152332

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

version targeted for testing:
 linux                36a21d51725af2ce0700c6ebcb6b9594aac658a6
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  373 days
Failing since        152366  2020-08-01 20:49:34 Z  372 days  653 attempts
Testing same since   164138  2021-08-09 02:22:58 Z    0 days    1 attempts

------------------------------------------------------------
6781 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              fail    
 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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Aug 09 13:20:20 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 13:20:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164990.301489 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD5CP-0003q4-99; Mon, 09 Aug 2021 13:20:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164990.301489; Mon, 09 Aug 2021 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 1mD5CP-0003px-4n; Mon, 09 Aug 2021 13:20:13 +0000
Received: by outflank-mailman (input) for mailman id 164990;
 Mon, 09 Aug 2021 13:20:11 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gMyi=NA=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mD5CN-0003pr-Ch
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 13:20:11 +0000
Received: from esa6.hc3370-68.iphmx.com (unknown [216.71.155.175])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 854df58c-f914-11eb-9f16-12813bfff9fa;
 Mon, 09 Aug 2021 13:20: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: 854df58c-f914-11eb-9f16-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1628515209;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=EnGkYAHHTZYD9DJKFvAOUTPA+FQ7X5db2HGiMlp7bz8=;
  b=beez14gdUKvHsh4Ia28IOECRqmT2Z7jXgrksN17ZbDyjNhDo/OFKpszZ
   QMsmIMDcbiMhXsk7iEmh2e+ZFzXFsndrWLhOv10dPH+b6iZv8AE5kNQYO
   oHRrdc9BPVVut7Rt+xUGp+GQctV3dSeU2e/S/cYo5AvcruP58x7Fqk3B1
   A=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: 74OwcdoaWmRszUlHdhLVQVkl7GtlDvdq2fdabEH3uMjisbt/7iladjTFNQ9C9xYcbNmfi4p+HO
 Cy2XK4KB2hwBIkR7WcW0JsUSEZ4wQ1TKQi55jG7BggX1U5qYKMkX4I6auIHasfA/1Y6O+XXkCU
 bZEGO0aDOH/nQkA+zJDfVoNyHFsf0calnyr/Yzsx3a7XGxdilNI83xmdx0smm7AuND9LrIxCRB
 a6YJlSBtmU62+LjByxmIiG+cMXAXM2d8S6k58lueBRSUu1L4fQIpEESJ6wLSAJVn3HjjgHxzuN
 rN9oBeep8bmNL+sCfIHpKNuT
X-SBRS: 5.1
X-MesageID: 50059635
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:aTuEi6xHfnrrPqhV8KPzKrPwLL1zdoMgy1knxilNoRw8SKKlfu
 SV7ZAmPH7P+VMssR4b9OxoVJPtfZqYz+8T3WBzB8bBYOCFgguVxehZhOOIqQEIWReOldK1vZ
 0QFZSWY+eQMbEVt6nH3DU=
X-IronPort-AV: E=Sophos;i="5.84,307,1620705600"; 
   d="scan'208";a="50059635"
Date: Mon, 9 Aug 2021 14:20:03 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>, Tamas K Lengyel <tamas@tklengyel.com>, Alexandru Isaila
	<aisaila@bitdefender.com>, Petre Pircalabu <ppircalabu@bitdefender.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Roger Pau
 =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>, Konrad Rzeszutek Wilk
	<konrad.wilk@oracle.com>, Ross Lagerwall <ross.lagerwall@citrix.com>, Paul
 Durrant <paul@xen.org>, Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian
	<kevin.tian@intel.com>, Lukasz Hawrylko <lukasz.hawrylko@linux.intel.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>, Alistair Francis
	<alistair.francis@wdc.com>, Connor Davis <connojdavis@gmail.com>,
	<xen-devel@lists.xenproject.org>
Subject: Re: [XEN PATCH v6 18/31] xen: move include/asm-* to
 include/arch-*/asm
Message-ID: <YRErg7bcpSOYucfd@perard>
References: <20210701141011.785641-1-anthony.perard@citrix.com>
 <20210701141011.785641-19-anthony.perard@citrix.com>
 <58a894a9-dc64-6a4d-7468-acb509892777@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <58a894a9-dc64-6a4d-7468-acb509892777@suse.com>

On Thu, Aug 05, 2021 at 09:04:18AM +0200, Jan Beulich wrote:
> On 01.07.2021 16:09, Anthony PERARD wrote:
> > This avoid the need to create the symbolic link "include/asm".
> > 
> > Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> > ---
> > 
> > Other possible locations that I could think of:
> > include/arch/*/asm
> > arch/*/include/asm
> 
> I thought it was always the plan to follow Linux (and kind of XTF) in
> this regard, using the latter of these options?

I'm not sure what the plan was, but putting the arch specific headers
in arch/ sound good. I'll rework the patch.

> > --- a/xen/include/xen/bitmap.h
> > +++ b/xen/include/xen/bitmap.h
> > @@ -14,7 +14,7 @@
> >   *
> >   * Function implementations generic to all architectures are in
> >   * lib/bitmap.c.  Functions implementations that are architecture
> > - * specific are in various include/asm-<arch>/bitops.h headers
> > + * specific are in various include/arch-<arch>/asm/bitops.h headers
> 
> Then, just to take this as an example, referring to just asm/bitops.h
> in comments might be enough (limiting churn on some of the ones that
> you're altering)?

Sound good.

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Aug 09 13:31:36 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 13:31:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164995.301500 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD5NF-0005VJ-8w; Mon, 09 Aug 2021 13:31:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164995.301500; Mon, 09 Aug 2021 13: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 1mD5NF-0005VC-5h; Mon, 09 Aug 2021 13:31:25 +0000
Received: by outflank-mailman (input) for mailman id 164995;
 Mon, 09 Aug 2021 13:31:23 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gMyi=NA=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mD5ND-0005V6-EM
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 13:31:23 +0000
Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ff299bc2-e7db-490a-95a9-222584ce2884;
 Mon, 09 Aug 2021 13:31: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: ff299bc2-e7db-490a-95a9-222584ce2884
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1628515882;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=J8w5E8NZMxEocbSS+6kQ+G83J4WpeQFnHHLjrgZ3q8E=;
  b=b/FrOxtAPknsfMmcb/vOW837r9qBOshT/Rz4hkWw+PFikXpQpD/SjhY3
   jVuq9BK2ASWTtto6KKwyF052w9W0BVHbALTsZ2G5uVZmOi/YbNjW/Jmwo
   r3zhoFbKo6N1xdmzt7DDKdKuvYMdeB7nTJ73mzH+79jJDMkZ6d8/p6yeg
   c=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: mrFtIGx5AS5q88zcKE9ESKQ/iJYueZyLX8Du/kaDjdqXCrWe2el+KWWO0Ou0wjQpWQQiTws6gG
 W8MgMkO2CpyWManBfDBAPq0f+IaJS12+IWufwt2wDix0Xu2MlFkxNkMYKq0t94SgKgWSfXgF+g
 n5oMnfKClfmBb2cwG5R0VEKngmRaW2ANoRwYBf1l3aIVf9AxhtX6xRYEq68956vwYKCjPbD3oC
 uweg/6d9bVCXRploQh/MSr0mvoN+Hz48Hls5CMuAvLgthn44kgmKpBxGy+GUmHBjE42nQsxBo+
 g5tIZ90F23McCyPhAyaBHh9e
X-SBRS: 5.1
X-MesageID: 50409733
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:QJSSJqOqSJoQa8BcTjujsMiBIKoaSvp037BK7S1MoNJuEvBw9v
 re+MjzsCWftN9/Yh4dcLy7VpVoIkmskKKdg7NhXotKNTOO0AeVxelZhrcKqAeQeREWmNQ96U
 9hGZIOdeEZDzJB/LrHCN/TKade/DGFmprY+9s31x1WPGZXgzkL1XYDNu6ceHcGIjVuNN4CO7
 e3wNFInDakcWR/VLXAOpFUN9Kz3uEijfjdEGY7OyI=
X-IronPort-AV: E=Sophos;i="5.84,307,1620705600"; 
   d="scan'208";a="50409733"
Date: Mon, 9 Aug 2021 14:31:13 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>, <xen-devel@lists.xenproject.org>
Subject: Re: [XEN PATCH v6 19/31] build: rework .banner generation
Message-ID: <YREuIQsyWhZMQ2+l@perard>
References: <20210701141011.785641-1-anthony.perard@citrix.com>
 <20210701141011.785641-20-anthony.perard@citrix.com>
 <6debeffc-a710-0145-beba-29cc1e00d51e@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <6debeffc-a710-0145-beba-29cc1e00d51e@suse.com>

On Thu, Aug 05, 2021 at 09:09:13AM +0200, Jan Beulich wrote:
> On 01.07.2021 16:09, Anthony PERARD wrote:
> > Avoid depending on Makefile but still allow to rebuild the banner when
> > $(XEN_FULLVERSION) changes.
> > 
> > Also add a dependency on tools/xen.flf, even if not expected to
> > change.
> > 
> > Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> 
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> 
> This looks to be independent of earlier patches in this series? If so,

Yes, it's independent.

> I'd be happy to commit without waiting for earlier patches to get
> review comments addressed.

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Aug 09 13:44:29 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 13:44:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165001.301511 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD5Zo-00072e-KF; Mon, 09 Aug 2021 13:44:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165001.301511; Mon, 09 Aug 2021 13:44: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 1mD5Zo-00072X-GC; Mon, 09 Aug 2021 13:44:24 +0000
Received: by outflank-mailman (input) for mailman id 165001;
 Mon, 09 Aug 2021 13:44:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mD5Zn-00072N-Lm; Mon, 09 Aug 2021 13:44:23 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mD5Zn-00063B-A7; Mon, 09 Aug 2021 13:44:23 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mD5Zn-0007lK-1v; Mon, 09 Aug 2021 13:44:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mD5Zn-0003Eq-1R; Mon, 09 Aug 2021 13:44:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=/0YQBfNp0FeBJWWY3CbtRRdlDDmU/aDqouTc23rekzI=; b=5bM0/TRV4kUpypqlYMEPaae1PA
	p+2norS85N6qlDMEx5pJo5GRruvS2Z7abLcOaV1HX+krcFoEmSERR07xThBKfaf2pgeRiSiG7/QZS
	2ij2bntA6rQHduhSc12USkcJopNKEUtI9gdi6SomLyJvYJUcFfaNWpHxW7wOvQqGE6bI=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164142-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 164142: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=d02dbb53cd78de799e6afaa237e98771fb5148db
X-Osstest-Versions-That:
    ovmf=4de77ae9890d241271f543e9195ab3516f3abec6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 09 Aug 2021 13:44:23 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 d02dbb53cd78de799e6afaa237e98771fb5148db
baseline version:
 ovmf                 4de77ae9890d241271f543e9195ab3516f3abec6

Last test of basis   164139  2021-08-09 03:11:13 Z    0 days
Testing same since   164142  2021-08-09 11:42:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  DunTan <dun.tan@intel.com>
  Rodrigo Gonzalez del Cueto <rodrigo.gonzalez.del.cueto@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
   4de77ae989..d02dbb53cd  d02dbb53cd78de799e6afaa237e98771fb5148db -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Aug 09 14:27:30 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 14:27:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165007.301525 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD6FQ-0002in-0v; Mon, 09 Aug 2021 14:27:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165007.301525; Mon, 09 Aug 2021 14: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 1mD6FP-0002ig-TK; Mon, 09 Aug 2021 14:27:23 +0000
Received: by outflank-mailman (input) for mailman id 165007;
 Mon, 09 Aug 2021 14:27:22 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gMyi=NA=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mD6FO-0002ia-15
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 14:27:22 +0000
Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id e7b0caca-f91d-11eb-9f1d-12813bfff9fa;
 Mon, 09 Aug 2021 14:27: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: e7b0caca-f91d-11eb-9f1d-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1628519240;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=R8VO/kvFDYCLV8l12XG/+e7jrz2/DHPGxYKuo/PtC0U=;
  b=hUcxRnnPT7E3VzBAiz134keuiey5cV/mctPdREE7IIK/EmUPyBvKA0V1
   DcjuLyDsPxzNGt0MzEk7DQ8+f/Nw/MNDnTd7yWqUDDXDpbuVT8JRjWIlk
   cuTEPUOw6M7KUGaEIISWsf7x0d+Hjc94vjQtmNWuZ9okWdvxOO66tOulP
   8=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: sGlJlofAClClz2rH+Dyxt4HmTBS4Cii+FHyYMxACIcZztRFk8hMzUr79qwYHE+YTtCeiDKgLS4
 dj1mF2moWS7l6xU23z7GvzgbFTliNAZhPA0A/Uwkt3eDBNy6No8f10nSa2BYvXmBOK2ypmFtJE
 x4F9FlzfqFXUNyFUK8YC9qElXiJtzdt906Mq269HAaNs80YbSi8vlhe/sZSLscOI5sZCPzEGhO
 IUYUxhPvQH/aZ299TZRIKpg/NL4DFQ/fIX4I05kfLwvSpPdb/KOWX1OZqDkaj3zsdwIJZ77QjP
 w/k2MEpmfo6Seir0tl0LUKmz
X-SBRS: 5.1
X-MesageID: 50037784
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:WRg++69JjrLfKvE0PeVuk+DaI+orL9Y04lQ7vn2YSXRuE/Bws/
 re+8jztCWE7Ar5N0tNpTntAsa9qDbnhPhICOoqTNKftWvdyQiVxehZhOOIqVDd8m/Fh4xgPM
 9bAtFD4bbLbWSS4/yV3DWF
X-IronPort-AV: E=Sophos;i="5.84,307,1620705600"; 
   d="scan'208";a="50037784"
Date: Mon, 9 Aug 2021 15:27:10 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>, <xen-devel@lists.xenproject.org>
Subject: Re: [XEN PATCH v6 20/31] build: generate "include/xen/compile.h"
 with filechk
Message-ID: <YRE7PjLJBF/AbzED@perard>
References: <20210701141011.785641-1-anthony.perard@citrix.com>
 <20210701141011.785641-21-anthony.perard@citrix.com>
 <442ad44d-66f9-0646-18a5-441b76f91744@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <442ad44d-66f9-0646-18a5-441b76f91744@suse.com>

On Thu, Aug 05, 2021 at 09:20:10AM +0200, Jan Beulich wrote:
> On 01.07.2021 16:10, Anthony PERARD wrote:
> > This will always try regenerate the content of compile.h, but if it
> > didn't change the file isn't updated.
> > 
> > Also, as it's currently the case, the file isn't regenerated during
> > `sudo make install` if it exist and does belong to a different user.
> > 
> > Thus, we can remove the target "delete-unfresh-files".
> > Target $(TARGET) still need a phony dependency, so add FORCE.
> > 
> > This patch imports the macro 'filechk' from Linux v5.12.
> 
> Would you mind clarifying why $(if_changed ...) cannot be used here
> (unlike for .banner in the earlier patch)?

if_changed can be used instead of filechk. I probably use "filechk"
because I was looking for an excuse to use it, so I've used it here.

filechk advantage over if_changed is that the output of the command is
compared so there is no need to have an extra dependency (.*.cmd) file
generated. That probably mostly an advantage when the generated file
changed often, or when the command is simple enough.

But it seems that "filechk" is only used once in this patch series, in
this patch. So I can rework the patch to use "if_changed" instead, that
would avoid the need to import another macro from Linux, and avoid the
weird need to have the command "cat" the target when update isn't
wanted.

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Aug 09 14:47:47 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 14:47:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165013.301536 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD6Ys-000507-MW; Mon, 09 Aug 2021 14:47:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165013.301536; Mon, 09 Aug 2021 14:47:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD6Ys-000500-IU; Mon, 09 Aug 2021 14:47:30 +0000
Received: by outflank-mailman (input) for mailman id 165013;
 Mon, 09 Aug 2021 14:47:30 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=d5/i=NA=citrix.com=Jane.Malalane@srs-us1.protection.inumbo.net>)
 id 1mD6Ys-0004zu-1b
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 14:47:30 +0000
Received: from esa6.hc3370-68.iphmx.com (unknown [216.71.155.175])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 2aab887f-9dcd-45a1-8665-73468072cdab;
 Mon, 09 Aug 2021 14:47: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: 2aab887f-9dcd-45a1-8665-73468072cdab
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1628520448;
  h=from:to:cc:subject:date:message-id:mime-version;
  bh=lI54ebPD69iRvQCJxW37L6hdjlQXYG1LHRjeX6u/umM=;
  b=fO9kD6JR1fbPh/5aoXT/m+Dxw/YduLrpa2wer7fP/vmqx8mvdCjcyd7v
   HjrrM8+1OIHT2GzaqXy/fcWi4eFnyEl+FUqc8nkr16wqdospdQlZDx29B
   fIgShEQ450LC5junGYUwQfsfZZbzmQYUiljT98oCN+EMuXhOY5cWDU7RL
   k=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: mrpmcRUwC74Sgsf87I9JP6PW3R7TQY1WnTswKMLSvNQJwfngp06qs60jXUL74tKNBvV7HUUf6T
 So+dAR+s7qRd38cDTQiynw6KUdH/8xD8BsswCP2C5oFE+E486gdpHxNXnTZAPxAYKc/G6GVD1F
 nBhOa6t85WmBoLcYU4ukMqbs/p1X68pRh5THcQbJ+yJwYNYS1efRWDXnPmRpZ/AbFqELROVpmt
 tYE/Oak3dsVwjHt1DM3A5j+vvQ50OQPGP65E67/cP/G4Cfu4hCXlxtadTHFzsQ84phzUCQVgQP
 WgL87vqREbBiA/XB2PqYGghb
X-SBRS: 5.1
X-MesageID: 50068812
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:JFbOdK7VgIQRpB02DAPXwN7XdLJyesId70hD6qhwISY6TiX4rb
 HIoB1173/JYVoqNE3I+urwXJVoI0mslqKdiLN5VdzJMTUO0FHYSb2KhrGC/9SPIULDH5ZmpM
 VdT5Q=
X-IronPort-AV: E=Sophos;i="5.84,307,1620705600"; 
   d="scan'208";a="50068812"
From: Jane Malalane <jane.malalane@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Jane Malalane <jane.malalane@citrix.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Ian
 Jackson" <iwj@xenproject.org>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>
Subject: [PATCH] xen/bitmap: Make bitmap_long_to_byte() and bitmap_byte_to_long() static
Date: Mon, 9 Aug 2021 15:41:14 +0100
Message-ID: <20210809144114.21077-1-jane.malalane@citrix.com>
X-Mailer: git-send-email 2.11.0
MIME-Version: 1.0
Content-Type: text/plain

Functions made static as there are no external callers.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jane Malalane <jane.malalane@citrix.com>
---
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: George Dunlap <george.dunlap@citrix.com>
CC: Ian Jackson <iwj@xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>
CC: Julien Grall <julien@xen.org>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Wei Liu <wl@xen.org>
---
 xen/common/bitmap.c      | 8 ++++----
 xen/include/xen/bitmap.h | 3 ---
 2 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/xen/common/bitmap.c b/xen/common/bitmap.c
index b7aa2db7c7..bbc3554ae1 100644
--- a/xen/common/bitmap.c
+++ b/xen/common/bitmap.c
@@ -338,7 +338,7 @@ EXPORT_SYMBOL(bitmap_allocate_region);
 
 #ifdef __BIG_ENDIAN
 
-void bitmap_long_to_byte(uint8_t *bp, const unsigned long *lp, int nbits)
+static void bitmap_long_to_byte(uint8_t *bp, const unsigned long *lp, int nbits)
 {
 	unsigned long l;
 	int i, j, b;
@@ -354,7 +354,7 @@ void bitmap_long_to_byte(uint8_t *bp, const unsigned long *lp, int nbits)
 	clamp_last_byte(bp, nbits);
 }
 
-void bitmap_byte_to_long(unsigned long *lp, const uint8_t *bp, int nbits)
+static void bitmap_byte_to_long(unsigned long *lp, const uint8_t *bp, int nbits)
 {
 	unsigned long l;
 	int i, j, b;
@@ -371,13 +371,13 @@ void bitmap_byte_to_long(unsigned long *lp, const uint8_t *bp, int nbits)
 
 #elif defined(__LITTLE_ENDIAN)
 
-void bitmap_long_to_byte(uint8_t *bp, const unsigned long *lp, int nbits)
+static void bitmap_long_to_byte(uint8_t *bp, const unsigned long *lp, int nbits)
 {
 	memcpy(bp, lp, (nbits+7)/8);
 	clamp_last_byte(bp, nbits);
 }
 
-void bitmap_byte_to_long(unsigned long *lp, const uint8_t *bp, int nbits)
+static void bitmap_byte_to_long(unsigned long *lp, const uint8_t *bp, int nbits)
 {
 	/* We may need to pad the final longword with zeroes. */
 	if (nbits & (BITS_PER_LONG-1))
diff --git a/xen/include/xen/bitmap.h b/xen/include/xen/bitmap.h
index 634a259645..e9175ab54a 100644
--- a/xen/include/xen/bitmap.h
+++ b/xen/include/xen/bitmap.h
@@ -270,9 +270,6 @@ static inline void bitmap_clear(unsigned long *map, unsigned int start,
 #undef bitmap_switch
 #undef bitmap_bytes
 
-void bitmap_long_to_byte(uint8_t *bp, const unsigned long *lp, int nbits);
-void bitmap_byte_to_long(unsigned long *lp, const uint8_t *bp, int nbits);
-
 struct xenctl_bitmap;
 int xenctl_bitmap_to_bitmap(unsigned long *bitmap,
                             const struct xenctl_bitmap *xenctl_bitmap,
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 09 14:48:16 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 14:48:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165018.301547 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD6Zc-0005Xy-0R; Mon, 09 Aug 2021 14:48:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165018.301547; Mon, 09 Aug 2021 14:48:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD6Zb-0005Xr-Sp; Mon, 09 Aug 2021 14:48:15 +0000
Received: by outflank-mailman (input) for mailman id 165018;
 Mon, 09 Aug 2021 14:48:14 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kFlj=NA=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1mD6Za-0005Xf-NN
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 14:48:14 +0000
Received: from mx.upb.ro (unknown [141.85.13.241])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id d1d63661-f920-11eb-9f1d-12813bfff9fa;
 Mon, 09 Aug 2021 14:48:12 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mx.upb.ro (Postfix) with ESMTP id 6A53EB560068;
 Mon,  9 Aug 2021 17:48:11 +0300 (EEST)
Received: from mx.upb.ro ([127.0.0.1])
 by localhost (mx.upb.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id dAJLpqZI-BFc; Mon,  9 Aug 2021 17:48:09 +0300 (EEST)
Received: from localhost (localhost [127.0.0.1])
 by mx.upb.ro (Postfix) with ESMTP id 2E363B560090;
 Mon,  9 Aug 2021 17:48:09 +0300 (EEST)
Received: from mx.upb.ro ([127.0.0.1])
 by localhost (mx.upb.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id 1AFhtEz_sZkN; Mon,  9 Aug 2021 17:48:09 +0300 (EEST)
Received: from localhost.localdomain (unknown [86.121.144.181])
 by mx.upb.ro (Postfix) with ESMTPSA id 54278B560068;
 Mon,  9 Aug 2021 17:48:07 +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: d1d63661-f920-11eb-9f1d-12813bfff9fa
X-Virus-Scanned: amavisd-new at upb.ro
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: xen-devel@lists.xenproject.org
Cc: 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>,
	Ian Jackson <iwj@xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH 0/4] Introduce XEN_PAGE_* definitions for mapping guests memory
Date: Mon,  9 Aug 2021 17:47:55 +0300
Message-Id: <cover.1628519855.git.costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.20.1
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

This series tries to fix a side-effect introduced by commits 0dbb4be7 and
d1b32abd which added a dependency to xenctrl for foreignmemory and gnntab
libraries library only because they needed to use the XC_PAGE_* values.

These changes introduce the XEN_PAGE_* definitions that will be used by a=
ny
toolstack component that doesn't need a dependency to xenctrl library. =20

Costin Lupu (4):
  public: Add page related definitions for accessing guests memory
  libs/ctrl: Use Xen values for XC_PAGE_* definitions
  libs/foreignmemory: Use XEN_PAGE_* definitions
  libs/gnttab: Use XEN_PAGE_* definitions

 tools/include/xenctrl.h            |  7 +++---
 tools/libs/foreignmemory/core.c    |  2 +-
 tools/libs/foreignmemory/freebsd.c | 10 ++++----
 tools/libs/foreignmemory/linux.c   | 18 +++++++-------
 tools/libs/foreignmemory/minios.c  | 10 +-------
 tools/libs/foreignmemory/netbsd.c  | 10 ++++----
 tools/libs/foreignmemory/private.h |  2 +-
 tools/libs/foreignmemory/solaris.c |  6 ++---
 tools/libs/gnttab/freebsd.c        | 20 ++++++++--------
 tools/libs/gnttab/linux.c          | 20 ++++++++--------
 tools/libs/gnttab/netbsd.c         | 20 ++++++++--------
 xen/include/public/arch-arm/page.h | 34 ++++++++++++++++++++++++++
 xen/include/public/arch-x86/page.h | 34 ++++++++++++++++++++++++++
 xen/include/public/page.h          | 38 ++++++++++++++++++++++++++++++
 14 files changed, 165 insertions(+), 66 deletions(-)
 create mode 100644 xen/include/public/arch-arm/page.h
 create mode 100644 xen/include/public/arch-x86/page.h
 create mode 100644 xen/include/public/page.h

--=20
2.20.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 09 14:48:21 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 14:48:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165019.301558 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD6Zh-0005qb-8b; Mon, 09 Aug 2021 14:48:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165019.301558; Mon, 09 Aug 2021 14:48: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 1mD6Zh-0005qU-4S; Mon, 09 Aug 2021 14:48:21 +0000
Received: by outflank-mailman (input) for mailman id 165019;
 Mon, 09 Aug 2021 14:48:19 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kFlj=NA=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1mD6Zf-0005Xf-Ge
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 14:48:19 +0000
Received: from mx.upb.ro (unknown [141.85.13.221])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id d27da33c-f920-11eb-9f1d-12813bfff9fa;
 Mon, 09 Aug 2021 14:48:13 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mx.upb.ro (Postfix) with ESMTP id CE741B5600AA;
 Mon,  9 Aug 2021 17:48:12 +0300 (EEST)
Received: from mx.upb.ro ([127.0.0.1])
 by localhost (mx.upb.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id CAUH5v2Ckw_F; Mon,  9 Aug 2021 17:48:11 +0300 (EEST)
Received: from localhost (localhost [127.0.0.1])
 by mx.upb.ro (Postfix) with ESMTP id 1CFBBB56008E;
 Mon,  9 Aug 2021 17:48:11 +0300 (EEST)
Received: from mx.upb.ro ([127.0.0.1])
 by localhost (mx.upb.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id hRHX9oMMHtlN; Mon,  9 Aug 2021 17:48:11 +0300 (EEST)
Received: from localhost.localdomain (unknown [86.121.144.181])
 by mx.upb.ro (Postfix) with ESMTPSA id 446D8B560068;
 Mon,  9 Aug 2021 17:48:10 +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: d27da33c-f920-11eb-9f1d-12813bfff9fa
X-Virus-Scanned: amavisd-new at upb.ro
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: xen-devel@lists.xenproject.org
Cc: Ian Jackson <iwj@xenproject.org>,
	Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>
Subject: [PATCH 2/4] libs/ctrl: Use Xen values for XC_PAGE_* definitions
Date: Mon,  9 Aug 2021 17:47:57 +0300
Message-Id: <f9eff76553c564e2cd27251af60b130f39034933.1628519855.git.costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <cover.1628519855.git.costin.lupu@cs.pub.ro>
References: <cover.1628519855.git.costin.lupu@cs.pub.ro>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

We use the values provided by the Xen public interface for defining the
XC_PAGE_* macros.

Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
---
 tools/include/xenctrl.h | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 14adaa0c10..90bb969fa0 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -54,10 +54,11 @@
 #include <xen/foreign/x86_64.h>
 #include <xen/arch-x86/xen-mca.h>
 #endif
+#include <xen/page.h>
=20
-#define XC_PAGE_SHIFT           12
-#define XC_PAGE_SIZE            (1UL << XC_PAGE_SHIFT)
-#define XC_PAGE_MASK            (~(XC_PAGE_SIZE-1))
+#define XC_PAGE_SHIFT           XEN_PAGE_SHIFT
+#define XC_PAGE_SIZE            XEN_PAGE_SIZE
+#define XC_PAGE_MASK            XEN_PAGE_MASK
=20
 #define INVALID_MFN  (~0UL)
=20
--=20
2.20.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 09 14:48:26 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 14:48:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165020.301569 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD6Zm-0006BL-Ga; Mon, 09 Aug 2021 14:48:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165020.301569; Mon, 09 Aug 2021 14: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 1mD6Zm-0006BA-D7; Mon, 09 Aug 2021 14:48:26 +0000
Received: by outflank-mailman (input) for mailman id 165020;
 Mon, 09 Aug 2021 14:48:24 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kFlj=NA=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1mD6Zk-0005Xf-Gr
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 14:48:24 +0000
Received: from mx.upb.ro (unknown [141.85.13.231])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id d27da33e-f920-11eb-9f1d-12813bfff9fa;
 Mon, 09 Aug 2021 14:48:14 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mx.upb.ro (Postfix) with ESMTP id 212E3B56008E;
 Mon,  9 Aug 2021 17:48:13 +0300 (EEST)
Received: from mx.upb.ro ([127.0.0.1])
 by localhost (mx.upb.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id 5XriUPtlryBL; Mon,  9 Aug 2021 17:48:10 +0300 (EEST)
Received: from localhost (localhost [127.0.0.1])
 by mx.upb.ro (Postfix) with ESMTP id 4CA23B5600A7;
 Mon,  9 Aug 2021 17:48:10 +0300 (EEST)
Received: from mx.upb.ro ([127.0.0.1])
 by localhost (mx.upb.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id R56SC_X4Ih3V; Mon,  9 Aug 2021 17:48:10 +0300 (EEST)
Received: from localhost.localdomain (unknown [86.121.144.181])
 by mx.upb.ro (Postfix) with ESMTPSA id 2DDA7B56008E;
 Mon,  9 Aug 2021 17:48:09 +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: d27da33e-f920-11eb-9f1d-12813bfff9fa
X-Virus-Scanned: amavisd-new at upb.ro
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: xen-devel@lists.xenproject.org
Cc: 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>,
	Ian Jackson <iwj@xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH 1/4] public: Add page related definitions for accessing guests memory
Date: Mon,  9 Aug 2021 17:47:56 +0300
Message-Id: <b397d346dcd6243d1957b3e4cfe7a09a6bd1c1b4.1628519855.git.costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <cover.1628519855.git.costin.lupu@cs.pub.ro>
References: <cover.1628519855.git.costin.lupu@cs.pub.ro>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

These changes introduce the page related definitions needed for mapping a=
nd
accessing guests memory. These values are intended to be used by any tool=
stack
component that needs to map guests memory. Until now, the values were def=
ined
by the xenctrl.h header, therefore whenever a component had to use them i=
t also
had to add a dependency for the xenctrl library.

For this patch we set the same values for both x86 and ARM architectures.

Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
---
 xen/include/public/arch-arm/page.h | 34 ++++++++++++++++++++++++++
 xen/include/public/arch-x86/page.h | 34 ++++++++++++++++++++++++++
 xen/include/public/page.h          | 38 ++++++++++++++++++++++++++++++
 3 files changed, 106 insertions(+)
 create mode 100644 xen/include/public/arch-arm/page.h
 create mode 100644 xen/include/public/arch-x86/page.h
 create mode 100644 xen/include/public/page.h

diff --git a/xen/include/public/arch-arm/page.h b/xen/include/public/arch=
-arm/page.h
new file mode 100644
index 0000000000..e970feb49c
--- /dev/null
+++ b/xen/include/public/arch-arm/page.h
@@ -0,0 +1,34 @@
+/***********************************************************************=
*******
+ * page.h
+ *
+ * Page definitions for accessing guests memory on ARM
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining=
 a copy
+ * of this software and associated documentation files (the "Software"),=
 to
+ * deal in the Software without restriction, including without limitatio=
n the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, =
and/or
+ * sell copies of the Software, and to permit persons to whom the Softwa=
re is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be includ=
ed in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRE=
SS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILI=
TY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHA=
LL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHE=
R
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISI=
NG
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Copyright (c) 2021, Costin Lupu
+ */
+
+#ifndef __XEN_PUBLIC_ARCH_ARM_PAGE_H__
+#define __XEN_PUBLIC_ARCH_ARM_PAGE_H__
+
+#define XEN_PAGE_SHIFT           12
+#define XEN_PAGE_SIZE            (1UL << XEN_PAGE_SHIFT)
+#define XEN_PAGE_MASK            (~(XEN_PAGE_SIZE - 1))
+
+#endif /* __XEN_PUBLIC_ARCH_ARM_PAGE_H__ */
diff --git a/xen/include/public/arch-x86/page.h b/xen/include/public/arch=
-x86/page.h
new file mode 100644
index 0000000000..b1924ea3cb
--- /dev/null
+++ b/xen/include/public/arch-x86/page.h
@@ -0,0 +1,34 @@
+/***********************************************************************=
*******
+ * page.h
+ *
+ * Page definitions for accessing guests memory on x86
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining=
 a copy
+ * of this software and associated documentation files (the "Software"),=
 to
+ * deal in the Software without restriction, including without limitatio=
n the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, =
and/or
+ * sell copies of the Software, and to permit persons to whom the Softwa=
re is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be includ=
ed in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRE=
SS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILI=
TY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHA=
LL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHE=
R
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISI=
NG
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Copyright (c) 2021, Costin Lupu
+ */
+
+#ifndef __XEN_PUBLIC_ARCH_X86_PAGE_H__
+#define __XEN_PUBLIC_ARCH_X86_PAGE_H__
+
+#define XEN_PAGE_SHIFT           12
+#define XEN_PAGE_SIZE            (1UL << XEN_PAGE_SHIFT)
+#define XEN_PAGE_MASK            (~(XEN_PAGE_SIZE - 1))
+
+#endif /* __XEN_PUBLIC_ARCH_X86_PAGE_H__ */
diff --git a/xen/include/public/page.h b/xen/include/public/page.h
new file mode 100644
index 0000000000..d3e95fdb4a
--- /dev/null
+++ b/xen/include/public/page.h
@@ -0,0 +1,38 @@
+/***********************************************************************=
*******
+ * page.h
+ *
+ * Page definitions for accessing guests memory
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining=
 a copy
+ * of this software and associated documentation files (the "Software"),=
 to
+ * deal in the Software without restriction, including without limitatio=
n the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, =
and/or
+ * sell copies of the Software, and to permit persons to whom the Softwa=
re is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be includ=
ed in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRE=
SS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILI=
TY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHA=
LL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHE=
R
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISI=
NG
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Copyright (c) 2021, Costin Lupu
+ */
+
+#ifndef __XEN_PUBLIC_PAGE_H__
+#define __XEN_PUBLIC_PAGE_H__
+
+#if defined(__i386__) || defined(__x86_64__)
+#include "arch-x86/page.h"
+#elif defined (__arm__) || defined (__aarch64__)
+#include "arch-arm/page.h"
+#else
+#error "Unsupported architecture"
+#endif
+
+#endif /* __XEN_PUBLIC_PAGE_H__ */
--=20
2.20.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 09 14:51:34 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 14:51:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165032.301579 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD6cm-0008D4-3t; Mon, 09 Aug 2021 14:51:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165032.301579; Mon, 09 Aug 2021 14: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 1mD6cm-0008Cx-15; Mon, 09 Aug 2021 14:51:32 +0000
Received: by outflank-mailman (input) for mailman id 165032;
 Mon, 09 Aug 2021 14:51: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 1mD6cl-0008Cr-BB
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 14:51: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 1mD6cb-0007FL-HN; Mon, 09 Aug 2021 14:51:21 +0000
Received: from [54.239.6.184] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mD6cb-0002Dc-AD; Mon, 09 Aug 2021 14: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:References:Cc:To:From:Subject;
	bh=GFAaERkNSLRf9gXuYvHal0YmoyRiygrWJ2kQbO7Q2cU=; b=di5QjT4NI5Nyx5p+7TM7yMinsv
	RY7VguQgokY67LJeV9koB4l/X9nBP+9xTU97vo7Qs03IL2hxCwNNIBC6MCfFqHL5JVypceovkRJA2
	lXckKnxO9QVGo7oKYUI5Hbxj9faKd0ji2M7YyXOaOxnH/S6z6fUSGtPj1vEHn0YLHj8s=;
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
From: Julien Grall <julien@xen.org>
To: Oleksandr <olekstysh@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel@lists.xenproject.org,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <80fafc01-f063-d6e5-1c08-7ad64550310c@citrix.com>
 <e8db3021-78a5-e040-a70b-62ca5b500149@xen.org>
 <4de5ed21-379e-b618-44c8-924d88b1a519@citrix.com>
 <bbc7f597-5249-20a0-cac9-13f594268299@xen.org>
 <6a633f4e-13e0-4a2b-cf6e-35ef90ae977c@gmail.com>
 <alpine.DEB.2.21.2107301630510.10122@sstabellini-ThinkPad-T480s>
 <f6b2e6c6-bf58-960f-4a09-f05ebcf1f566@gmail.com>
 <5643d414-0b76-74a4-2c37-c7a99338d547@gmail.com>
 <c83378af-4d3b-9256-0e0d-f88c43c6de2f@xen.org>
Message-ID: <93d0df14-2c8a-c2e3-8c51-54412190171c@xen.org>
Date: Mon, 9 Aug 2021 15:51:18 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <c83378af-4d3b-9256-0e0d-f88c43c6de2f@xen.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi,

I am writing down here what we discussed on another thread and on IRC. 
This will be easier to track in a single thread.

On 04/08/2021 23:00, Julien Grall wrote:
> On 04/08/2021 21:56, Oleksandr wrote:
>> Now, I am wondering, would it be possible to update/clarify the 
>> current "reg" purpose and use it to pass a safe unallocated space for 
>> any Xen specific mappings (grant, foreign, whatever) instead of just 
>> for the grant table region. In case, it is not allowed for any reason 
>> (compatibility PoV, etc), would it be possible to extend a property by 
>> passing an extra range separately, something similar to how I 
>> described above?
> 
> I think it should be fine to re-use the same region so long the size of 
> the first bank is at least the size of the original region.

While answering to the DT binding question on the DT ML, I realized that 
this is probably not going to be fine because there is a bug in Xen when 
mapping grant-table frame.

The function gnttab_map_frame() is used to map the grant table frame. If 
there is an old mapping, it will first remove it.

The function is using the helper gnttab_map_frame() to find the 
corresponding GFN or return INVALID_GFN if not mapped.

On Arm, gnttab_map_frame() is implementing using an array index by the 
grant table frame number. The trouble is we don't update the array when 
the page is unmapped. So if the GFN is re-used before the grant-table is 
remapped, then we will end up to remove whatever was mapped there (this 
could be a foreign page...).

This behavior already happens today as the toolstack will use the first 
GFN of the region if Linux doesn't support the acquire resource 
interface. We are getting away in the Linux because the toolstack only 
map the first grant table frame and:
  - Newer Linux will not used the region provided by the DT and nothing 
will be mapped there.
  - Older Linux will use the region but still map the grant table frame 
0 to the same GFN.

I am not sure about U-boot and other OSes here.

This is not new but it is going to be become a bigger source of problem 
(read more chance to hit it) as we try to re-use the first region.

This means the first region should exclusively used for the grant-table 
(in a specific order) until the issue is properly fixed.

A potential fix is to update the array in p2m_put_l3_page(). The default 
max size of the array is 1024, so it might be fine to just walk it (it 
would be simply a comparison).

Note that this is not a problem on x86 because the is using the M2P. So 
when a mapping is removed, the mapping MFN -> GFN will also be removed.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 09 15:07:04 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 15:07:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165037.301602 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD6rl-0001ab-OO; Mon, 09 Aug 2021 15:07:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165037.301602; Mon, 09 Aug 2021 15: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 1mD6rl-0001aU-Jz; Mon, 09 Aug 2021 15:07:01 +0000
Received: by outflank-mailman (input) for mailman id 165037;
 Mon, 09 Aug 2021 15:07:00 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kFlj=NA=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1mD6rk-0001KK-1k
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 15:07:00 +0000
Received: from mx.upb.ro (unknown [141.85.13.241])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 953f0b97-ee21-47d4-8146-650a65c50865;
 Mon, 09 Aug 2021 15:06:58 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mx.upb.ro (Postfix) with ESMTP id 5A993B560090;
 Mon,  9 Aug 2021 17:48:15 +0300 (EEST)
Received: from mx.upb.ro ([127.0.0.1])
 by localhost (mx.upb.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id 9X2BcH-RbmhP; Mon,  9 Aug 2021 17:48:12 +0300 (EEST)
Received: from localhost (localhost [127.0.0.1])
 by mx.upb.ro (Postfix) with ESMTP id 55FF4B5600A8;
 Mon,  9 Aug 2021 17:48:12 +0300 (EEST)
Received: from mx.upb.ro ([127.0.0.1])
 by localhost (mx.upb.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id aUEKkMcYF0mA; Mon,  9 Aug 2021 17:48:12 +0300 (EEST)
Received: from localhost.localdomain (unknown [86.121.144.181])
 by mx.upb.ro (Postfix) with ESMTPSA id BB964B5600AA;
 Mon,  9 Aug 2021 17:48:11 +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: 953f0b97-ee21-47d4-8146-650a65c50865
X-Virus-Scanned: amavisd-new at upb.ro
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: xen-devel@lists.xenproject.org
Cc: Ian Jackson <iwj@xenproject.org>,
	Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>
Subject: [PATCH 4/4] libs/gnttab: Use XEN_PAGE_* definitions
Date: Mon,  9 Aug 2021 17:47:59 +0300
Message-Id: <6928b89e08bcade24cee4c874d489f02d48083af.1628519855.git.costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <cover.1628519855.git.costin.lupu@cs.pub.ro>
References: <cover.1628519855.git.costin.lupu@cs.pub.ro>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

These changes refine the changes in d1b32abd which added a dependency to
xenctrl library. We use the XEN_PAGE_* definitions instead of the XC_PAGE=
_*
definitions and therefore we get rid of the unnecessary dependency.

Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
---
 tools/libs/gnttab/freebsd.c | 20 ++++++++++----------
 tools/libs/gnttab/linux.c   | 20 ++++++++++----------
 tools/libs/gnttab/netbsd.c  | 20 ++++++++++----------
 3 files changed, 30 insertions(+), 30 deletions(-)

diff --git a/tools/libs/gnttab/freebsd.c b/tools/libs/gnttab/freebsd.c
index e42ac3fbf3..7ecb0e3b38 100644
--- a/tools/libs/gnttab/freebsd.c
+++ b/tools/libs/gnttab/freebsd.c
@@ -28,9 +28,9 @@
 #include <sys/ioctl.h>
 #include <sys/mman.h>
=20
+#include <xen/page.h>
 #include <xen/sys/gntdev.h>
=20
-#include <xenctrl.h>
 #include <xen-tools/libs.h>
=20
 #include "private.h"
@@ -74,7 +74,7 @@ void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
     int domids_stride;
     unsigned int refs_size =3D ROUNDUP(count *
                                      sizeof(struct ioctl_gntdev_grant_re=
f),
-                                     XC_PAGE_SHIFT);
+                                     XEN_PAGE_SHIFT);
     int os_page_size =3D getpagesize();
=20
     domids_stride =3D (flags & XENGNTTAB_GRANT_MAP_SINGLE_DOMAIN) ? 0 : =
1;
@@ -105,7 +105,7 @@ void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
         goto out;
     }
=20
-    addr =3D mmap(NULL, XC_PAGE_SIZE * count, prot, MAP_SHARED, fd,
+    addr =3D mmap(NULL, XEN_PAGE_SIZE * count, prot, MAP_SHARED, fd,
                 map.index);
     if ( addr !=3D MAP_FAILED )
     {
@@ -114,7 +114,7 @@ void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
=20
         notify.index =3D map.index;
         notify.action =3D 0;
-        if ( notify_offset < XC_PAGE_SIZE * count )
+        if ( notify_offset < XEN_PAGE_SIZE * count )
         {
             notify.index +=3D notify_offset;
             notify.action |=3D UNMAP_NOTIFY_CLEAR_BYTE;
@@ -129,7 +129,7 @@ void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
         if ( rv )
         {
             GTERROR(xgt->logger, "ioctl SET_UNMAP_NOTIFY failed");
-            munmap(addr, count * XC_PAGE_SIZE);
+            munmap(addr, count * XEN_PAGE_SIZE);
             addr =3D MAP_FAILED;
         }
     }
@@ -187,7 +187,7 @@ int osdep_gnttab_unmap(xengnttab_handle *xgt,
     }
=20
     /* Next, unmap the memory. */
-    if ( (rc =3D munmap(start_address, count * XC_PAGE_SIZE)) )
+    if ( (rc =3D munmap(start_address, count * XEN_PAGE_SIZE)) )
         return rc;
=20
     /* Finally, unmap the driver slots used to store the grant informati=
on. */
@@ -254,7 +254,7 @@ void *osdep_gntshr_share_pages(xengntshr_handle *xgs,
         goto out;
     }
=20
-    area =3D mmap(NULL, count * XC_PAGE_SIZE, PROT_READ | PROT_WRITE, MA=
P_SHARED,
+    area =3D mmap(NULL, count * XEN_PAGE_SIZE, PROT_READ | PROT_WRITE, M=
AP_SHARED,
                 fd, gref_info.index);
=20
     if ( area =3D=3D MAP_FAILED )
@@ -266,7 +266,7 @@ void *osdep_gntshr_share_pages(xengntshr_handle *xgs,
=20
     notify.index =3D gref_info.index;
     notify.action =3D 0;
-    if ( notify_offset < XC_PAGE_SIZE * count )
+    if ( notify_offset < XEN_PAGE_SIZE * count )
     {
         notify.index +=3D notify_offset;
         notify.action |=3D UNMAP_NOTIFY_CLEAR_BYTE;
@@ -281,7 +281,7 @@ void *osdep_gntshr_share_pages(xengntshr_handle *xgs,
     if ( err )
     {
         GSERROR(xgs->logger, "ioctl SET_UNMAP_NOTIFY failed");
-        munmap(area, count * XC_PAGE_SIZE);
+        munmap(area, count * XEN_PAGE_SIZE);
         area =3D NULL;
     }
=20
@@ -304,7 +304,7 @@ void *osdep_gntshr_share_pages(xengntshr_handle *xgs,
 int osdep_gntshr_unshare(xengntshr_handle *xgs,
                          void *start_address, uint32_t count)
 {
-    return munmap(start_address, count * XC_PAGE_SIZE);
+    return munmap(start_address, count * XEN_PAGE_SIZE);
 }
=20
 /*
diff --git a/tools/libs/gnttab/linux.c b/tools/libs/gnttab/linux.c
index 5628fd5719..11f1acb771 100644
--- a/tools/libs/gnttab/linux.c
+++ b/tools/libs/gnttab/linux.c
@@ -29,10 +29,10 @@
 #include <sys/ioctl.h>
 #include <sys/mman.h>
=20
+#include <xen/page.h>
 #include <xen/sys/gntdev.h>
 #include <xen/sys/gntalloc.h>
=20
-#include <xenctrl.h>
 #include <xen-tools/libs.h>
=20
 #include "private.h"
@@ -101,7 +101,7 @@ void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
         map =3D alloca(map_size);
     else
     {
-        map_size =3D ROUNDUP(map_size, XC_PAGE_SHIFT);
+        map_size =3D ROUNDUP(map_size, XEN_PAGE_SHIFT);
         map =3D mmap(NULL, map_size, PROT_READ | PROT_WRITE,
                    MAP_PRIVATE | MAP_ANON | MAP_POPULATE, -1, 0);
         if ( map =3D=3D MAP_FAILED )
@@ -125,7 +125,7 @@ void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
     }
=20
  retry:
-    addr =3D mmap(NULL, XC_PAGE_SIZE * count, prot, MAP_SHARED, fd,
+    addr =3D mmap(NULL, XEN_PAGE_SIZE * count, prot, MAP_SHARED, fd,
                 map->index);
=20
     if (addr =3D=3D MAP_FAILED && errno =3D=3D EAGAIN)
@@ -150,7 +150,7 @@ void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
         struct ioctl_gntdev_unmap_notify notify;
         notify.index =3D map->index;
         notify.action =3D 0;
-        if (notify_offset < XC_PAGE_SIZE * count) {
+        if (notify_offset < XEN_PAGE_SIZE * count) {
             notify.index +=3D notify_offset;
             notify.action |=3D UNMAP_NOTIFY_CLEAR_BYTE;
         }
@@ -162,7 +162,7 @@ void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
             rv =3D ioctl(fd, IOCTL_GNTDEV_SET_UNMAP_NOTIFY, &notify);
         if (rv) {
             GTERROR(xgt->logger, "ioctl SET_UNMAP_NOTIFY failed");
-            munmap(addr, count * XC_PAGE_SIZE);
+            munmap(addr, count * XEN_PAGE_SIZE);
             addr =3D MAP_FAILED;
         }
     }
@@ -218,7 +218,7 @@ int osdep_gnttab_unmap(xengnttab_handle *xgt,
     }
=20
     /* Next, unmap the memory. */
-    if ( (rc =3D munmap(start_address, count * XC_PAGE_SIZE)) )
+    if ( (rc =3D munmap(start_address, count * XEN_PAGE_SIZE)) )
         return rc;
=20
     /* Finally, unmap the driver slots used to store the grant informati=
on. */
@@ -464,7 +464,7 @@ void *osdep_gntshr_share_pages(xengntshr_handle *xgs,
         goto out;
     }
=20
-    area =3D mmap(NULL, count * XC_PAGE_SIZE, PROT_READ | PROT_WRITE,
+    area =3D mmap(NULL, count * XEN_PAGE_SIZE, PROT_READ | PROT_WRITE,
         MAP_SHARED, fd, gref_info->index);
=20
     if (area =3D=3D MAP_FAILED) {
@@ -475,7 +475,7 @@ void *osdep_gntshr_share_pages(xengntshr_handle *xgs,
=20
     notify.index =3D gref_info->index;
     notify.action =3D 0;
-    if (notify_offset < XC_PAGE_SIZE * count) {
+    if (notify_offset < XEN_PAGE_SIZE * count) {
         notify.index +=3D notify_offset;
         notify.action |=3D UNMAP_NOTIFY_CLEAR_BYTE;
     }
@@ -487,7 +487,7 @@ void *osdep_gntshr_share_pages(xengntshr_handle *xgs,
         err =3D ioctl(fd, IOCTL_GNTALLOC_SET_UNMAP_NOTIFY, &notify);
     if (err) {
         GSERROR(xgs->logger, "ioctl SET_UNMAP_NOTIFY failed");
-        munmap(area, count * XC_PAGE_SIZE);
+        munmap(area, count * XEN_PAGE_SIZE);
         area =3D NULL;
     }
=20
@@ -508,7 +508,7 @@ void *osdep_gntshr_share_pages(xengntshr_handle *xgs,
 int osdep_gntshr_unshare(xengntshr_handle *xgs,
                          void *start_address, uint32_t count)
 {
-    return munmap(start_address, count * XC_PAGE_SIZE);
+    return munmap(start_address, count * XEN_PAGE_SIZE);
 }
=20
 /*
diff --git a/tools/libs/gnttab/netbsd.c b/tools/libs/gnttab/netbsd.c
index a4ad624b54..beb94be468 100644
--- a/tools/libs/gnttab/netbsd.c
+++ b/tools/libs/gnttab/netbsd.c
@@ -28,8 +28,8 @@
 #include <sys/ioctl.h>
 #include <sys/mman.h>
=20
-#include <xenctrl.h>
 #include <xen/xen.h>
+#include <xen/page.h>
 #include <xen/xenio.h>
=20
 #include "private.h"
@@ -84,19 +84,19 @@ void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
     }
=20
     map.count =3D count;
-    addr =3D mmap(NULL, count * XC_PAGE_SIZE,
+    addr =3D mmap(NULL, count * XEN_PAGE_SIZE,
                 prot, flags | MAP_ANON | MAP_SHARED, -1, 0);
     if ( map.va =3D=3D MAP_FAILED )
     {
         GTERROR(xgt->logger, "osdep_gnttab_grant_map: mmap failed");
-        munmap((void *)map.va, count * XC_PAGE_SIZE);
+        munmap((void *)map.va, count * XEN_PAGE_SIZE);
         addr =3D MAP_FAILED;
     }
     map.va =3D addr;
=20
     map.notify.offset =3D 0;
     map.notify.action =3D 0;
-    if ( notify_offset < XC_PAGE_SIZE * count )
+    if ( notify_offset < XEN_PAGE_SIZE * count )
     {
         map.notify.offset =3D notify_offset;
         map.notify.action |=3D UNMAP_NOTIFY_CLEAR_BYTE;
@@ -112,7 +112,7 @@ void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
     {
         GTERROR(xgt->logger,
             "ioctl IOCTL_GNTDEV_MMAP_GRANT_REF failed: %d", rv);
-        munmap(addr, count * XC_PAGE_SIZE);
+        munmap(addr, count * XEN_PAGE_SIZE);
         addr =3D MAP_FAILED;
     }
=20
@@ -133,7 +133,7 @@ int osdep_gnttab_unmap(xengnttab_handle *xgt,
     }
=20
     /* Next, unmap the memory. */
-    rc =3D munmap(start_address, count * XC_PAGE_SIZE);
+    rc =3D munmap(start_address, count * XEN_PAGE_SIZE);
=20
     return rc;
 }
@@ -184,7 +184,7 @@ void *osdep_gntshr_share_pages(xengntshr_handle *xgs,
     alloc.domid =3D domid;
     alloc.flags =3D writable ? GNTDEV_ALLOC_FLAG_WRITABLE : 0;
     alloc.count =3D count;
-    area =3D mmap(NULL, count * XC_PAGE_SIZE,
+    area =3D mmap(NULL, count * XEN_PAGE_SIZE,
                 PROT_READ | PROT_WRITE, MAP_ANON | MAP_SHARED, -1, 0);
=20
     if ( area =3D=3D MAP_FAILED )
@@ -197,7 +197,7 @@ void *osdep_gntshr_share_pages(xengntshr_handle *xgs,
=20
     alloc.notify.offset =3D 0;
     alloc.notify.action =3D 0;
-    if ( notify_offset < XC_PAGE_SIZE * count )
+    if ( notify_offset < XEN_PAGE_SIZE * count )
     {
         alloc.notify.offset =3D notify_offset;
         alloc.notify.action |=3D UNMAP_NOTIFY_CLEAR_BYTE;
@@ -212,7 +212,7 @@ void *osdep_gntshr_share_pages(xengntshr_handle *xgs,
     if ( err )
     {
         GSERROR(xgs->logger, "IOCTL_GNTDEV_ALLOC_GRANT_REF failed");
-        munmap(area, count * XC_PAGE_SIZE);
+        munmap(area, count * XEN_PAGE_SIZE);
         area =3D MAP_FAILED;
         goto out;
     }
@@ -227,7 +227,7 @@ void *osdep_gntshr_share_pages(xengntshr_handle *xgs,
 int osdep_gntshr_unshare(xengntshr_handle *xgs,
                          void *start_address, uint32_t count)
 {
-    return munmap(start_address, count * XC_PAGE_SIZE);
+    return munmap(start_address, count * XEN_PAGE_SIZE);
 }
=20
 /*
--=20
2.20.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 09 15:07:04 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 15:07:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165036.301591 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD6rk-0001KX-FW; Mon, 09 Aug 2021 15:07:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165036.301591; Mon, 09 Aug 2021 15: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 1mD6rk-0001KQ-CI; Mon, 09 Aug 2021 15:07:00 +0000
Received: by outflank-mailman (input) for mailman id 165036;
 Mon, 09 Aug 2021 15:06:59 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kFlj=NA=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1mD6rj-0001KE-Jk
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 15:06:59 +0000
Received: from mx.upb.ro (unknown [141.85.13.221])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 70d0b23e-f923-11eb-9f1f-12813bfff9fa;
 Mon, 09 Aug 2021 15:06:58 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mx.upb.ro (Postfix) with ESMTP id D266AB5600A7;
 Mon,  9 Aug 2021 17:48:14 +0300 (EEST)
Received: from mx.upb.ro ([127.0.0.1])
 by localhost (mx.upb.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id RX58a2PqFQni; Mon,  9 Aug 2021 17:48:11 +0300 (EEST)
Received: from localhost (localhost [127.0.0.1])
 by mx.upb.ro (Postfix) with ESMTP id B2EDDB560090;
 Mon,  9 Aug 2021 17:48:11 +0300 (EEST)
Received: from mx.upb.ro ([127.0.0.1])
 by localhost (mx.upb.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id XQQYJsvFPE4s; Mon,  9 Aug 2021 17:48:11 +0300 (EEST)
Received: from localhost.localdomain (unknown [86.121.144.181])
 by mx.upb.ro (Postfix) with ESMTPSA id 1E081B5600A8;
 Mon,  9 Aug 2021 17:48:11 +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: 70d0b23e-f923-11eb-9f1f-12813bfff9fa
X-Virus-Scanned: amavisd-new at upb.ro
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: xen-devel@lists.xenproject.org
Cc: Ian Jackson <iwj@xenproject.org>,
	Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>
Subject: [PATCH 3/4] libs/foreignmemory: Use XEN_PAGE_* definitions
Date: Mon,  9 Aug 2021 17:47:58 +0300
Message-Id: <35028145d07cde5e53e4ab20dc492ec322c92c2f.1628519855.git.costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <cover.1628519855.git.costin.lupu@cs.pub.ro>
References: <cover.1628519855.git.costin.lupu@cs.pub.ro>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

These changes refine the changes in 0dbb4be7 which added a dependency to
xenctrl library. We use the XEN_PAGE_* definitions instead of the XC_PAGE=
_*
definitions and therefore we get rid of the unnecessary dependency.

Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
---
 tools/libs/foreignmemory/core.c    |  2 +-
 tools/libs/foreignmemory/freebsd.c | 10 +++++-----
 tools/libs/foreignmemory/linux.c   | 18 +++++++++---------
 tools/libs/foreignmemory/minios.c  | 10 +---------
 tools/libs/foreignmemory/netbsd.c  | 10 +++++-----
 tools/libs/foreignmemory/private.h |  2 +-
 tools/libs/foreignmemory/solaris.c |  6 +++---
 7 files changed, 25 insertions(+), 33 deletions(-)

diff --git a/tools/libs/foreignmemory/core.c b/tools/libs/foreignmemory/c=
ore.c
index 7edc6f0dbf..ad1ad9fc67 100644
--- a/tools/libs/foreignmemory/core.c
+++ b/tools/libs/foreignmemory/core.c
@@ -202,7 +202,7 @@ int xenforeignmemory_resource_size(
     if ( rc )
         return rc;
=20
-    *size =3D fres.nr_frames << XC_PAGE_SHIFT;
+    *size =3D fres.nr_frames << XEN_PAGE_SHIFT;
     return 0;
 }
=20
diff --git a/tools/libs/foreignmemory/freebsd.c b/tools/libs/foreignmemor=
y/freebsd.c
index 2cf0fa1c38..9439c4ca6a 100644
--- a/tools/libs/foreignmemory/freebsd.c
+++ b/tools/libs/foreignmemory/freebsd.c
@@ -63,7 +63,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_handl=
e *fmem,
     privcmd_mmapbatch_t ioctlx;
     int rc;
=20
-    addr =3D mmap(addr, num << XC_PAGE_SHIFT, prot, flags | MAP_SHARED, =
fd, 0);
+    addr =3D mmap(addr, num << XEN_PAGE_SHIFT, prot, flags | MAP_SHARED,=
 fd, 0);
     if ( addr =3D=3D MAP_FAILED )
         return NULL;
=20
@@ -78,7 +78,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_handl=
e *fmem,
     {
         int saved_errno =3D errno;
=20
-        (void)munmap(addr, num << XC_PAGE_SHIFT);
+        (void)munmap(addr, num << XEN_PAGE_SHIFT);
         errno =3D saved_errno;
         return NULL;
     }
@@ -89,7 +89,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_handl=
e *fmem,
 int osdep_xenforeignmemory_unmap(xenforeignmemory_handle *fmem,
                                  void *addr, size_t num)
 {
-    return munmap(addr, num << XC_PAGE_SHIFT);
+    return munmap(addr, num << XEN_PAGE_SHIFT);
 }
=20
 int osdep_xenforeignmemory_restrict(xenforeignmemory_handle *fmem,
@@ -101,7 +101,7 @@ int osdep_xenforeignmemory_restrict(xenforeignmemory_=
handle *fmem,
 int osdep_xenforeignmemory_unmap_resource(xenforeignmemory_handle *fmem,
                                         xenforeignmemory_resource_handle=
 *fres)
 {
-    return fres ? munmap(fres->addr, fres->nr_frames << XC_PAGE_SHIFT) :=
 0;
+    return fres ? munmap(fres->addr, fres->nr_frames << XEN_PAGE_SHIFT) =
: 0;
 }
=20
 int osdep_xenforeignmemory_map_resource(xenforeignmemory_handle *fmem,
@@ -120,7 +120,7 @@ int osdep_xenforeignmemory_map_resource(xenforeignmem=
ory_handle *fmem,
         /* Request for resource size.  Skip mmap(). */
         goto skip_mmap;
=20
-    fres->addr =3D mmap(fres->addr, fres->nr_frames << XC_PAGE_SHIFT,
+    fres->addr =3D mmap(fres->addr, fres->nr_frames << XEN_PAGE_SHIFT,
                       fres->prot, fres->flags | MAP_SHARED, fmem->fd, 0)=
;
     if ( fres->addr =3D=3D MAP_FAILED )
         return -1;
diff --git a/tools/libs/foreignmemory/linux.c b/tools/libs/foreignmemory/=
linux.c
index 9062117407..9dabf28cae 100644
--- a/tools/libs/foreignmemory/linux.c
+++ b/tools/libs/foreignmemory/linux.c
@@ -134,7 +134,7 @@ static int retry_paged(int fd, uint32_t dom, void *ad=
dr,
         /* At least one gfn is still in paging state */
         ioctlx.num =3D 1;
         ioctlx.dom =3D dom;
-        ioctlx.addr =3D (unsigned long)addr + (i<<XC_PAGE_SHIFT);
+        ioctlx.addr =3D (unsigned long)addr + (i<<XEN_PAGE_SHIFT);
         ioctlx.arr =3D arr + i;
         ioctlx.err =3D err + i;
=20
@@ -168,7 +168,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_han=
dle *fmem,
     size_t i;
     int rc;
=20
-    addr =3D mmap(addr, num << XC_PAGE_SHIFT, prot, flags | MAP_SHARED,
+    addr =3D mmap(addr, num << XEN_PAGE_SHIFT, prot, flags | MAP_SHARED,
                 fd, 0);
     if ( addr =3D=3D MAP_FAILED )
         return NULL;
@@ -198,7 +198,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_han=
dle *fmem,
          */
         privcmd_mmapbatch_t ioctlx;
         xen_pfn_t *pfn;
-        unsigned int pfn_arr_size =3D ROUNDUP((num * sizeof(*pfn)), XC_P=
AGE_SHIFT);
+        unsigned int pfn_arr_size =3D ROUNDUP((num * sizeof(*pfn)), XEN_=
PAGE_SHIFT);
         int os_page_size =3D sysconf(_SC_PAGESIZE);
=20
         if ( pfn_arr_size <=3D os_page_size )
@@ -210,7 +210,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_han=
dle *fmem,
             if ( pfn =3D=3D MAP_FAILED )
             {
                 PERROR("mmap of pfn array failed");
-                (void)munmap(addr, num << XC_PAGE_SHIFT);
+                (void)munmap(addr, num << XEN_PAGE_SHIFT);
                 return NULL;
             }
         }
@@ -243,7 +243,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_han=
dle *fmem,
                     continue;
                 }
                 rc =3D map_foreign_batch_single(fd, dom, pfn + i,
-                        (unsigned long)addr + (i<<XC_PAGE_SHIFT));
+                        (unsigned long)addr + (i<<XEN_PAGE_SHIFT));
                 if ( rc < 0 )
                 {
                     rc =3D -errno;
@@ -271,7 +271,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_han=
dle *fmem,
     {
         int saved_errno =3D errno;
=20
-        (void)munmap(addr, num << XC_PAGE_SHIFT);
+        (void)munmap(addr, num << XEN_PAGE_SHIFT);
         errno =3D saved_errno;
         return NULL;
     }
@@ -282,7 +282,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_han=
dle *fmem,
 int osdep_xenforeignmemory_unmap(xenforeignmemory_handle *fmem,
                                  void *addr, size_t num)
 {
-    return munmap(addr, num << XC_PAGE_SHIFT);
+    return munmap(addr, num << XEN_PAGE_SHIFT);
 }
=20
 int osdep_xenforeignmemory_restrict(xenforeignmemory_handle *fmem,
@@ -294,7 +294,7 @@ int osdep_xenforeignmemory_restrict(xenforeignmemory_=
handle *fmem,
 int osdep_xenforeignmemory_unmap_resource(
     xenforeignmemory_handle *fmem, xenforeignmemory_resource_handle *fre=
s)
 {
-    return fres ? munmap(fres->addr, fres->nr_frames << XC_PAGE_SHIFT) :=
 0;
+    return fres ? munmap(fres->addr, fres->nr_frames << XEN_PAGE_SHIFT) =
: 0;
 }
=20
 int osdep_xenforeignmemory_map_resource(
@@ -313,7 +313,7 @@ int osdep_xenforeignmemory_map_resource(
         /* Request for resource size.  Skip mmap(). */
         goto skip_mmap;
=20
-    fres->addr =3D mmap(fres->addr, fres->nr_frames << XC_PAGE_SHIFT,
+    fres->addr =3D mmap(fres->addr, fres->nr_frames << XEN_PAGE_SHIFT,
                       fres->prot, fres->flags | MAP_SHARED, fmem->fd, 0)=
;
     if ( fres->addr =3D=3D MAP_FAILED )
         return -1;
diff --git a/tools/libs/foreignmemory/minios.c b/tools/libs/foreignmemory=
/minios.c
index f2f4dfb2be..2454eb9af3 100644
--- a/tools/libs/foreignmemory/minios.c
+++ b/tools/libs/foreignmemory/minios.c
@@ -17,14 +17,6 @@
  * Copyright 2007-2008 Samuel Thibault <samuel.thibault@eu.citrix.com>.
  */
=20
-/*
- * xenctrl.h currently defines __XEN_TOOLS__ which affects what is
- * exposed by Xen headers. As the define needs to be set consistently,
- * we want to include xenctrl.h before the mini-os headers (they include
- * public headers).
- */
-#include <xenctrl.h>
-
 #include <mini-os/types.h>
 #include <mini-os/os.h>
 #include <mini-os/mm.h>
@@ -63,7 +55,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_handl=
e *fmem,
 int osdep_xenforeignmemory_unmap(xenforeignmemory_handle *fmem,
                                  void *addr, size_t num)
 {
-    return munmap(addr, num << XC_PAGE_SHIFT);
+    return munmap(addr, num << XEN_PAGE_SHIFT);
 }
=20
 /*
diff --git a/tools/libs/foreignmemory/netbsd.c b/tools/libs/foreignmemory=
/netbsd.c
index 597db775d7..ba69b9c6bb 100644
--- a/tools/libs/foreignmemory/netbsd.c
+++ b/tools/libs/foreignmemory/netbsd.c
@@ -76,7 +76,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_handl=
e *fmem,
 {
     int fd =3D fmem->fd;
     privcmd_mmapbatch_v2_t ioctlx;
-    addr =3D mmap(addr, num * XC_PAGE_SIZE, prot,
+    addr =3D mmap(addr, num * XEN_PAGE_SIZE, prot,
                 flags | MAP_ANON | MAP_SHARED, -1, 0);
     if ( addr =3D=3D MAP_FAILED ) {
         PERROR("osdep_xenforeignmemory_map: mmap failed");
@@ -93,7 +93,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_handl=
e *fmem,
     {
         int saved_errno =3D errno;
         PERROR("osdep_xenforeignmemory_map: ioctl failed");
-        munmap(addr, num * XC_PAGE_SIZE);
+        munmap(addr, num * XEN_PAGE_SIZE);
         errno =3D saved_errno;
         return NULL;
     }
@@ -104,7 +104,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_han=
dle *fmem,
 int osdep_xenforeignmemory_unmap(xenforeignmemory_handle *fmem,
                                  void *addr, size_t num)
 {
-    return munmap(addr, num * XC_PAGE_SIZE);
+    return munmap(addr, num * XEN_PAGE_SIZE);
 }
=20
 int osdep_xenforeignmemory_restrict(xenforeignmemory_handle *fmem,
@@ -117,7 +117,7 @@ int osdep_xenforeignmemory_restrict(xenforeignmemory_=
handle *fmem,
 int osdep_xenforeignmemory_unmap_resource(
     xenforeignmemory_handle *fmem, xenforeignmemory_resource_handle *fre=
s)
 {
-    return fres ? munmap(fres->addr, fres->nr_frames << XC_PAGE_SHIFT) :=
 0;
+    return fres ? munmap(fres->addr, fres->nr_frames << XEN_PAGE_SHIFT) =
: 0;
 }
=20
 int osdep_xenforeignmemory_map_resource(
@@ -136,7 +136,7 @@ int osdep_xenforeignmemory_map_resource(
         /* Request for resource size.  Skip mmap(). */
         goto skip_mmap;
=20
-    fres->addr =3D mmap(fres->addr, fres->nr_frames << XC_PAGE_SHIFT,
+    fres->addr =3D mmap(fres->addr, fres->nr_frames << XEN_PAGE_SHIFT,
                       fres->prot, fres->flags | MAP_ANON | MAP_SHARED, -=
1, 0);
     if ( fres->addr =3D=3D MAP_FAILED )
         return -1;
diff --git a/tools/libs/foreignmemory/private.h b/tools/libs/foreignmemor=
y/private.h
index 8540303adc..1200f98067 100644
--- a/tools/libs/foreignmemory/private.h
+++ b/tools/libs/foreignmemory/private.h
@@ -1,7 +1,6 @@
 #ifndef XENFOREIGNMEMORY_PRIVATE_H
 #define XENFOREIGNMEMORY_PRIVATE_H
=20
-#include <xenctrl.h>
 #include <xentoollog.h>
=20
 #include <xenforeignmemory.h>
@@ -9,6 +8,7 @@
 #include <xentoolcore_internal.h>
=20
 #include <xen/xen.h>
+#include <xen/page.h>
 #include <xen/sys/privcmd.h>
=20
 struct xenforeignmemory_handle {
diff --git a/tools/libs/foreignmemory/solaris.c b/tools/libs/foreignmemor=
y/solaris.c
index 958fb01f6d..4466780bd8 100644
--- a/tools/libs/foreignmemory/solaris.c
+++ b/tools/libs/foreignmemory/solaris.c
@@ -72,7 +72,7 @@ void *osdep_map_foreign_batch(xenforeignmem_handle *fme=
m, uint32_t dom,
 {
     int fd =3D fmem->fd;
     privcmd_mmapbatch_t ioctlx;
-    addr =3D mmap(addr, num*XC_PAGE_SIZE, prot, flags | MAP_SHARED, fd, =
0);
+    addr =3D mmap(addr, num*XEN_PAGE_SIZE, prot, flags | MAP_SHARED, fd,=
 0);
     if ( addr =3D=3D MAP_FAILED )
         return NULL;
=20
@@ -84,7 +84,7 @@ void *osdep_map_foreign_batch(xenforeignmem_handle *fme=
m, uint32_t dom,
     {
         int saved_errno =3D errno;
=20
-        (void)munmap(addr, num*XC_PAGE_SIZE);
+        (void)munmap(addr, num*XEN_PAGE_SIZE);
         errno =3D saved_errno;
         return NULL;
     }
@@ -94,7 +94,7 @@ void *osdep_map_foreign_batch(xenforeignmem_handle *fme=
m, uint32_t dom,
 int osdep_xenforeignmemory_unmap(xenforeignmemory_handle *fmem,
                                  void *addr, size_t num)
 {
-    return munmap(addr, num*XC_PAGE_SIZE);
+    return munmap(addr, num*XEN_PAGE_SIZE);
 }
=20
 /*
--=20
2.20.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 09 15:16:32 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 15:16:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165047.301613 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD70t-0003Qp-O8; Mon, 09 Aug 2021 15:16:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165047.301613; Mon, 09 Aug 2021 15:16:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD70t-0003Qi-KX; Mon, 09 Aug 2021 15:16:27 +0000
Received: by outflank-mailman (input) for mailman id 165047;
 Mon, 09 Aug 2021 15:16:25 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=nCtp=NA=lst.de=hch@srs-us1.protection.inumbo.net>)
 id 1mD70r-0003Qc-M3
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 15:16:25 +0000
Received: from verein.lst.de (unknown [213.95.11.211])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id c241b464-f924-11eb-9f20-12813bfff9fa;
 Mon, 09 Aug 2021 15:16:24 +0000 (UTC)
Received: by verein.lst.de (Postfix, from userid 2407)
 id 6D60467357; Mon,  9 Aug 2021 17:16: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: c241b464-f924-11eb-9f20-12813bfff9fa
Date: Mon, 9 Aug 2021 17:16:22 +0200
From: Christoph Hellwig <hch@lst.de>
To: Logan Gunthorpe <logang@deltatee.com>
Cc: linux-kernel@vger.kernel.org, linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, linux-ia64@vger.kernel.org,
	linux-mips@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
	linux-s390@vger.kernel.org, sparclinux@vger.kernel.org,
	iommu@lists.linux-foundation.org, linux-parisc@vger.kernel.org,
	xen-devel@lists.xenproject.org, Christoph Hellwig <hch@lst.de>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Stephen Bates <sbates@raithlin.com>,
	Martin Oliveira <martin.oliveira@eideticom.com>
Subject: Re: [PATCH v3 00/21] .map_sg() error cleanup
Message-ID: <20210809151622.GB22445@lst.de>
References: <20210729201539.5602-1-logang@deltatee.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20210729201539.5602-1-logang@deltatee.com>
User-Agent: Mutt/1.5.17 (2007-11-01)

Thanks,

I've applied this to the dma-mapping tree with a few minor cosmetic
tweaks.


From xen-devel-bounces@lists.xenproject.org Mon Aug 09 15:43:19 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 15:43:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165052.301623 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD7Qm-0006VD-T8; Mon, 09 Aug 2021 15:43:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165052.301623; Mon, 09 Aug 2021 15:43:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD7Qm-0006V6-QL; Mon, 09 Aug 2021 15:43:12 +0000
Received: by outflank-mailman (input) for mailman id 165052;
 Mon, 09 Aug 2021 15:43:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mD7Qm-0006V0-8T
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 15:43:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mD7QX-00087J-23; Mon, 09 Aug 2021 15:42:57 +0000
Received: from [54.239.6.184] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mD7QW-0006XJ-PD; Mon, 09 Aug 2021 15:42:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=9Ubg4P2v1xV010QCMLwBavWWjednuzNhSDu06lqmCzE=; b=LCTUqN1+K8ppQl6dmGgBQqMcDO
	lZMvecDmHhkrUKf06JTz5aPo4GzSvi3HVMEe7ahCsgbBGeo+yE/mTGQb0vdVVOg4cFT4hUm0APNN1
	9QF14pbIczQQtjlvgBgemXHrjtddOfe4jiOHmDn4JGJdunqhqBXdLAjoj6ccN9qnZohU=;
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
To: Oleksandr <olekstysh@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel@lists.xenproject.org,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <80fafc01-f063-d6e5-1c08-7ad64550310c@citrix.com>
 <e8db3021-78a5-e040-a70b-62ca5b500149@xen.org>
 <4de5ed21-379e-b618-44c8-924d88b1a519@citrix.com>
 <bbc7f597-5249-20a0-cac9-13f594268299@xen.org>
 <6a633f4e-13e0-4a2b-cf6e-35ef90ae977c@gmail.com>
 <alpine.DEB.2.21.2107301630510.10122@sstabellini-ThinkPad-T480s>
 <f6b2e6c6-bf58-960f-4a09-f05ebcf1f566@gmail.com>
 <5643d414-0b76-74a4-2c37-c7a99338d547@gmail.com>
 <c83378af-4d3b-9256-0e0d-f88c43c6de2f@xen.org>
 <alpine.DEB.2.21.2108051720210.18743@sstabellini-ThinkPad-T480s>
 <6596ad08-8398-64dd-ef62-cd7bc6f7333e@gmail.com>
From: Julien Grall <julien@xen.org>
Message-ID: <bc576a23-d107-c67d-8dca-62691e5eea1a@xen.org>
Date: Mon, 9 Aug 2021 16:42:53 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <6596ad08-8398-64dd-ef62-cd7bc6f7333e@gmail.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit

Hi Oleksandr,

On 07/08/2021 18:03, Oleksandr wrote:
> 
> On 06.08.21 03:30, Stefano Stabellini wrote:
> 
> Hi Stefano
> 
>> On Wed, 4 Aug 2021, Julien Grall wrote:
>>>> +#define GUEST_SAFE_RANGE_BASE   xen_mk_ullong(0xDE00000000) /* 
>>>> 128GB */
>>>> +#define GUEST_SAFE_RANGE_SIZE   xen_mk_ullong(0x0200000000)
>>>>
>>>> While the possible new DT bindings has not been agreed yet, I re-used
>>>> existing "reg" property under the hypervisor node to pass safe range 
>>>> as a
>>>> second region,
>>>> https://elixir.bootlin.com/linux/v5.14-rc4/source/Documentation/devicetree/bindings/arm/xen.txt#L10: 
>>>>
>>> So a single region works for a guest today, but for dom0 we will need 
>>> multiple
>>> regions because it is may be difficult to find enough contiguous 
>>> space for a
>>> single region.
>>>
>>> That said, as dom0 is mapped 1:1 (including some guest mapping), 
>>> there is also
>>> the question where to allocate the safe region. For grant table, we 
>>> so far
>>> re-use the Xen address space because it is assumed it will space will 
>>> always
>>> be bigger than the grant table.
>>>
>>> I am not sure yet where we could allocate the safe regions. Stefano, 
>>> do you
>>> have any ideas?
>> The safest choice would be the address range corresponding to memory
>> (/memory) not already allocated to Dom0.
>>
>> For instance from my last boot logs:
>> (XEN) Allocating 1:1 mappings totalling 1600MB for dom0:
>> (XEN) BANK[0] 0x00000010000000-0x00000070000000 (1536MB)
>> (XEN) BANK[1] 0x00000078000000-0x0000007c000000 (64MB)
>>
>> All the other ranges could be given as unallocated space:
>>
>> - 0x0 - 0x10000000
>> - 0x70000000 - 0x78000000
>> - 0x8_0000_0000 - 0x8_8000_0000
> 
> Thank you for the ideas.
> 
> If I got the idea correctly, yes, as these ranges represent the real 
> RAM, so no I/O would be in conflict with them and as the result - no 
> overlaps would be expected.
> But, I wonder, would this work if we have IOMMU enabled for Dom0 and 
> need to establish 1:1 mapping for the DMA devices to work with grant 
> mappings...
> In arm_iommu_map_page() we call guest_physmap_add_entry() with gfn = 
> mfn, so the question is could we end up with this new gfn replacing the 
> valid mapping
> (with gfn allocated from the safe region)?

Right, when we enable the IOMMU for dom0, Xen will add an extra mapping 
with GFN == MFN for foreign and grant pages. This is because Linux is 
not aware that whether a device is protected by an IOMMU. Therefore it 
is assuming it is not and will use the MFN to configure for DMA transaction.

We can't remove the mapping without significant changes in Linux and 
Xen. I would not mandate them for this work.

That said, I think it would be acceptable to have different way to find 
the region depending on the dom0 configuration. So we could use the RAM 
not used by dom0 when the IOMMU is turned off.

>> The second best choice would be an hole: an address range not used by
>> anybody else (no reg property) and also not even mappable by a bus (not
>> covered by a ranges property). This is not the best choice because there
>> can cases where physical resources appear afterwards.

Are you saying that the original device-tree doesn't even describe them 
in any way (i.e. reserved...)?

> 
> Unfortunately, yes.

So the decision where the safe region is located will be done by Xen. 
There is no involvement of the domain (it will discover the region from 
the DT). Therefore, I don't think we need to think about everything 
right now as we could adapt this is exact region is not part of the 
stable ABI.

The hotplug is one I would defer because this is not supported (and 
quite likely not working) in Xen upstream today.

Now regarding the case where dom0 is using the IOMMU. The assumption is 
Xen will be able to figure out all the regions used from the firmware 
table (ACPI or DT).

AFAIK, this assumption would be correct for DT. However, for ACPI, I 
remember we were not able to find all the MMIOs region in Xen (see [1] 
and [2]). So even this solution would not work for ACPI.

If I am not mistaken, we don't support IOMMU with ACPI yet. So we could 
defer the problem to when this is going to be supported.

Cheers,

[1] https://marc.info/?l=linux-arm-kernel&m=148469169210500&w=2
[2] Xen commit 80f9c316708400cea4417e36337267d3b26591db

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 09 16:02:30 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 16:02:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165056.301635 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD7jG-0000sG-FX; Mon, 09 Aug 2021 16:02:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165056.301635; Mon, 09 Aug 2021 16:02:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD7jG-0000s9-CG; Mon, 09 Aug 2021 16:02:18 +0000
Received: by outflank-mailman (input) for mailman id 165056;
 Mon, 09 Aug 2021 16:02:17 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gMyi=NA=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mD7jF-0000ry-5N
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 16:02:17 +0000
Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 93813878-e0c0-4214-93f2-ef416d1faa80;
 Mon, 09 Aug 2021 16:02: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: 93813878-e0c0-4214-93f2-ef416d1faa80
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1628524935;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=8lPz4JD5shX+wAaW3ECQMZqis3ZrOy7GGydYDzTJSvg=;
  b=IM7MNPdZkt0NF1qeoC6XSa6r5BUilkdMdU52nQy7S7ZqMe+wvdWTGRLg
   G8IsZY4HviNufnzrjYkac1aGvy8naGvkFKztbp2O5gBQaImEAg4ulvGSt
   lT417idmaVir3SOTzJ3hkOKJ3uuvhOfAzYUHxbZ68Yd+LFwkPPFVgsO+D
   4=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: MArjyXIyB8gpVuQpVEtHmH3HcZurhbvc4H6QoFpDryHP8gob+EI8YhRGqyB531I3cSby3L3HPF
 /WnjfGqRhgg9tzpmRat8wR1/Frv2YLjz7kzixkv3aujO1PxMiUuCnzEgF0ReKnejHYdbkLHfaX
 vWNBhtlaxKC84WWaCRnOkxroJJcaJgNsC0CwqXqChB8iWfye863AIS5ULbrmSIKDAxuVj9cvGS
 5Cgpl6OVYNc5uVPuP6PGBp27HwfIHifJMMVAJJkWCOXKUI36SYf7XgjH1eqT2CXEzWUFRf8vc7
 VdzrRyqFoH8aI+fVGkhsTCnj
X-SBRS: 5.1
X-MesageID: 50046963
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:QLkMuarUOv5FAAtj2w90qQEaV5opeYIsimQD101hICG8cqSj9v
 xGuM5rsiMc6QxhPE3I9urtBEDtexzhHNtOkO8s1NSZLWzbUQmTXeJfBOLZqlWKcUDDH6xmpM
 VdmsBFeaTN5DNB7foSjjPXL+od
X-IronPort-AV: E=Sophos;i="5.84,307,1620705600"; 
   d="scan'208";a="50046963"
Date: Mon, 9 Aug 2021 16:59:34 +0100
From: Anthony PERARD <anthony.perard@citrix.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>, George
 Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>, Julien
 Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
	<xen-devel@lists.xenproject.org>
Subject: Re: [XEN PATCH v6 21/31] build: set XEN_BUILD_EFI earlier
Message-ID: <YRFQ5ufigapRnXgr@perard>
References: <20210701141011.785641-1-anthony.perard@citrix.com>
 <20210701141011.785641-22-anthony.perard@citrix.com>
 <791838fb-b69d-d471-cfff-fe984e13f6e6@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <791838fb-b69d-d471-cfff-fe984e13f6e6@suse.com>

On Thu, Aug 05, 2021 at 09:27:18AM +0200, Jan Beulich wrote:
> On 01.07.2021 16:10, Anthony PERARD wrote:
> > We are going to need the variable XEN_BUILD_EFI earlier.
> > 
> > This early check is using "try-run" to allow to have a temporary
> > output file in case it is needed for $(CC) to build the *.c file.
> > 
> > The "efi/check.o" file is still needed in "arch/x86/Makefile" so the
> > check is currently duplicated.
> 
> Why is this? Can't you ...
> 
> > --- a/xen/arch/x86/Makefile
> > +++ b/xen/arch/x86/Makefile
> > @@ -126,7 +126,7 @@ $(TARGET): $(TARGET)-syms $(efi-y) boot/mkelf32
> >  ifneq ($(efi-y),)
> >  
> >  # Check if the compiler supports the MS ABI.
> > -export XEN_BUILD_EFI := $(shell $(CC) $(XEN_CFLAGS) -c efi/check.c -o efi/check.o 2>/dev/null && echo y)
> > +XEN_BUILD_EFI := $(shell $(CC) $(XEN_CFLAGS) -c efi/check.c -o efi/check.o 2>/dev/null && echo y)
> >  CFLAGS-$(XEN_BUILD_EFI) += -DXEN_BUILD_EFI
> 
> ... use here what you ...
> 
> > --- a/xen/arch/x86/arch.mk
> > +++ b/xen/arch/x86/arch.mk
> > @@ -60,5 +60,10 @@ ifeq ($(CONFIG_UBSAN),y)
> >  $(call cc-option-add,CFLAGS_UBSAN,CC,-fno-sanitize=alignment)
> >  endif
> >  
> > +ifneq ($(CONFIG_PV_SHIM_EXCLUSIVE),y)
> > +# Check if the compiler supports the MS ABI.
> > +export XEN_BUILD_EFI := $(call try-run,$(CC) $(CFLAGS) -c arch/x86/efi/check.c -o "$$TMPO",y)
> > +endif
> 
> ... export here?

The problem with the check for EFI support is that there several step,
with a step depending on the binary produced by the previous one.

XEN_BUILD_EFI
    In addition to check "__ms_abi__" attribute is supported by $CC, the
    file "efi/check.o" is produced.
XEN_BUILD_PE
    It is using "efi/check.o" to check for PE support and produce
    "efi/check.efi".
"efi/check.efi" is also used by the Makefile for additional checks
(mkreloc).


So, if I let the duplicated check for $(XEN_BUILD_EFI) is that it felt
wrong to produce "efi/check.o" in "arch/x86/arch.mk" and then later use
it in "arch/x86/Makefile". I could maybe move the command that create
efi/check.o in the $(XEN_BUILD_PE) check, or I could try to move most of
the checks done for EFI into x86/arch.mk. Or maybe just creating the
"efi/check.o" file in x86/arch.mk and use it in x86/Makefile, with a
comment.

What do you think?

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Aug 09 16:06:28 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 16:06:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165060.301646 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD7nI-0001V1-17; Mon, 09 Aug 2021 16:06:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165060.301646; Mon, 09 Aug 2021 16: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 1mD7nH-0001Uu-TN; Mon, 09 Aug 2021 16:06:27 +0000
Received: by outflank-mailman (input) for mailman id 165060;
 Mon, 09 Aug 2021 16:06:27 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gMyi=NA=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mD7nH-0001Uo-2x
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 16:06:27 +0000
Received: from esa6.hc3370-68.iphmx.com (unknown [216.71.155.175])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id d56706fd-fc20-4254-b296-f1217ba90d7a;
 Mon, 09 Aug 2021 16:06: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: d56706fd-fc20-4254-b296-f1217ba90d7a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1628525186;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=tuV4DCFslchSmpufH8gSP8UJv3df1hR2FfnxWxuXGmA=;
  b=eX/q27XKn1dkpMq6nRtzEOUUgFw0GQVqmrnM2q1igjq4hLhxf0XN7PwF
   bxCPt5dHp83lgBgC2VF58Jghhazplke8bz5O0e8XojEk4ORfD21mZNcCX
   uUnz1SCRfISjoJca9IMS0wVBt4+2o9NXwsu6ZeIgS2W0vt5ZJ+227M+O1
   U=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: uOnFCrcD17Iq35BzksWXAiJrIEC7v6Ql5ZjKuUQLhAGyMH7B9Kt3VbBFPAeIm+2m2vcrZaIfce
 AgtXj5h0DFlyOGSEsy/cw8c2Rww3qF/6JmLsFfU05TAjSUkJ4FS8Rk8AOQTQ4D7wVyxxvoi7YC
 oEEz/I9pzJTkv26tYQ8oxIxqonyiCaQwtpfJPdY4S8iA6iLw2lYyX+sKKT2VqGW84rlgg9sfma
 Yg/Ot+gq5DhHENlmVv1cm2CRQ8v+WjhpFmPJb2FtWSgxAiHCwSZf3rdnuUSYnqV1eZN42opvte
 SRgS4+PM0SGrheokCgb9zfc3
X-SBRS: 5.1
X-MesageID: 50076521
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:Z/sSNq02qzggG+wbIUVwpAqjBLIkLtp133Aq2lEZdPRUGvb3qy
 mLpoV+6faUskd1ZJhOo7290cW7LU80sKQFhrX5Xo3SPjUO2lHJEGgK1+KLqFfd8m/Fh41gPM
 9bAs5D4bbLbGSS4/yU3DWF
X-IronPort-AV: E=Sophos;i="5.84,307,1620705600"; 
   d="scan'208";a="50076521"
Date: Mon, 9 Aug 2021 17:02:10 +0100
From: Anthony PERARD <anthony.perard@citrix.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: [XEN PATCH v6 25/31] build: remove unneeded deps of x86_emulate.o
Message-ID: <YRFRgq+h72Zenpum@perard>
References: <20210701141011.785641-1-anthony.perard@citrix.com>
 <20210701141011.785641-26-anthony.perard@citrix.com>
 <1e337c91-4380-7a9b-8969-f326a9680e08@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <1e337c91-4380-7a9b-8969-f326a9680e08@suse.com>

On Fri, Aug 06, 2021 at 06:06:37PM +0200, Jan Beulich wrote:
> On 01.07.2021 16:10, Anthony PERARD wrote:
> > Those two dependencies already exist so make doesn't need to know
> > about them. The dependency will be generated by $(CC).
> > 
> > Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> 
> Unless I'm mistaken this was actually an omission by 68b1230ae393
> ("Auto-build dependency files in hypervisor build tree"), which
> would again suggest this can go in independently of all of the
> earlier patches? In any event

That sound right. Yes.

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

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Aug 09 16:53:06 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 16:53:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165065.301676 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD8WM-0006eK-Pp; Mon, 09 Aug 2021 16:53:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165065.301676; Mon, 09 Aug 2021 16:53:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD8WM-0006Z6-Ir; Mon, 09 Aug 2021 16:53:02 +0000
Received: by outflank-mailman (input) for mailman id 165065;
 Mon, 09 Aug 2021 16:19:30 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wLw1=NA=amazon.co.uk=prvs=848e13922=ahmeddan@srs-us1.protection.inumbo.net>)
 id 1mD7zu-0002yi-Ee
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 16:19:30 +0000
Received: from smtp-fw-6002.amazon.com (unknown [52.95.49.90])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id a53ec810-38e9-4d10-bf91-d27e7426f526;
 Mon, 09 Aug 2021 16:19:29 +0000 (UTC)
Received: from iad12-co-svc-p1-lb1-vlan2.amazon.com (HELO
 email-inbound-relay-1d-e69428c4.us-east-1.amazon.com) ([10.43.8.2])
 by smtp-border-fw-6002.iad6.amazon.com with ESMTP; 09 Aug 2021 16:19:22 +0000
Received: from EX13D03EUA002.ant.amazon.com
 (iad55-ws-svc-p15-lb9-vlan3.iad.amazon.com [10.40.159.166])
 by email-inbound-relay-1d-e69428c4.us-east-1.amazon.com (Postfix) with ESMTPS
 id E100DC102F; Mon,  9 Aug 2021 16:19:20 +0000 (UTC)
Received: from EX13D24EUA001.ant.amazon.com (10.43.165.233) by
 EX13D03EUA002.ant.amazon.com (10.43.165.166) with Microsoft SMTP Server (TLS)
 id 15.0.1497.23; Mon, 9 Aug 2021 16:19:20 +0000
Received: from EX13D24EUA001.ant.amazon.com ([10.43.165.233]) by
 EX13D24EUA001.ant.amazon.com ([10.43.165.233]) with mapi id 15.00.1497.023;
 Mon, 9 Aug 2021 16:19:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a53ec810-38e9-4d10-bf91-d27e7426f526
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
  d=amazon.co.uk; i=@amazon.co.uk; q=dns/txt;
  s=amazon201209; t=1628525969; x=1660061969;
  h=from:to:cc:subject:date:message-id:mime-version;
  bh=OWKHK9PN+0VB80P5zzgqeqWQt3ZPMuWVh1X2OC13pyI=;
  b=J3m0esMXaxPNhPqSuYG0FIbMp9gfNYmuHHdks969Z+7hyqtumcbiYHbb
   DzUMOet49o37J6ZB7+hJmr5zLWIkhPbt9NWU8KKt6DMZa6LhLtnD35Zar
   TPfTI+2oNM6SxNM0KKH1XnA/iidT3NhCSZDMIrYQM8QhR2vRq2sQB97Yj
   Q=;
X-IronPort-AV: E=Sophos;i="5.84,307,1620691200"; 
   d="scan'208,217";a="131178535"
From: "Ahmed, Daniele" <ahmeddan@amazon.co.uk>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Dario Faggioli <dfaggioli@suse.com>, Stefano Stabellini
	<sstabellini@kernel.org>, "Grall, Julien" <jgrall@amazon.co.uk>, "Doebel,
 Bjoern" <doebel@amazon.de>, "Pohlack, Martin" <mpohlack@amazon.de>
Subject: NULL scheduler DoS
Thread-Topic: NULL scheduler DoS
Thread-Index: AQHXjTpOV/XWdF2YLUCIZdYgL03TzQ==
Date: Mon, 9 Aug 2021 16:19:19 +0000
Message-ID: <ED25BE5E-D695-4763-B97A-78D6040E2341@amazon.com>
Accept-Language: en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.43.165.246]
Content-Type: multipart/alternative;
	boundary="_000_ED25BE5ED6954763B97A78D6040E2341amazoncom_"
MIME-Version: 1.0
Precedence: Bulk

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

SGkgYWxsLA0KVGhlIE5VTEwgc2NoZWR1bGVyIGlzIGFmZmVjdGVkIGJ5IGFuIGlzc3VlIHRoYXQg
dHJpZ2dlcnMgYW4gYXNzZXJ0aW9uIGFuZCByZWJvb3RzIHRoZSBoeXBlcnZpc29yLg0KDQpUaGlz
IGlzc3VlIGFyaXNlIHdoZW46DQoNCiAgKiAgIGEgZ3Vlc3QgaXMgYmVpbmcgY3JlYXRlZCB3aXRo
IGEgY29uZmlndXJhdGlvbiBzcGVjaWZ5aW5nIGEgZmlsZSB0aGF0IGRvZXMgbm90IGV4aXN0DQog
ICogICB0aGUgaHlwZXJ2aXNvciBib290cyB3aXRoIHRoZSBudWxsIHNjaGVkdWxlcg0KNC4xNiBp
cyBhZmZlY3RlZCBhbmQgNC4xNSBhbHNvLg0KDQpUaGlzIGlzIHRoZSBzdGFjayB0cmFjZSBmcm9t
IDQuMTY6DQoNCihYRU4pIEFzc2VydGlvbiAnbnBjLT51bml0ID09IHVuaXQnIGZhaWxlZCBhdCBu
dWxsLmM6Mzc3DQooWEVOKSAtLS0tWyBYZW4tNC4xNi11bnN0YWJsZSB4ODZfNjQgZGVidWc9eSBO
b3QgdGFpbnRlZCBdLS0tLQ0KKFhFTikgQ1BVOiAzDQooWEVOKSBSSVA6IGUwMDg6WzxmZmZmODJk
MDQwMjRmNTc3Pl0gY29tbW9uL3NjaGVkL251bGwuYyN1bml0X2RlYXNzaWduKzB4MWMzLzB4MmVj
DQooWEVOKSBSRkxBR1M6IDAwMDAwMDAwMDAwMTAwMDYgQ09OVEVYVDogaHlwZXJ2aXNvcg0KKFhF
TikgcmF4OiBmZmZmODMwMDVjZTFjODUwIHJieDogMDAwMDAwMDAwMDAwMDAwMSByY3g6IDAwMDAw
MDAwMDAwMDAwMDENCihYRU4pIHJkeDogZmZmZjgzMDA3ZmRlNmZjMCByc2k6IGZmZmY4MzAwNWNl
MWM3OTAgcmRpOiBmZmZmODMwMDdmZmI3ODUwDQooWEVOKSByYnA6IGZmZmY4MzAwN2ZmZGZkYTAg
cnNwOiBmZmZmODMwMDdmZmRmZDQ4IHI4OiAwMDAwMDAwMDAwMDAwMDAwDQooWEVOKSByOTogMDAw
MDAwMDAwMDA0OGZlZSByMTA6IDAwMDAwMDAwMDAwMDAwMDAgcjExOiAwMDAwMDAwMDAwMDAwMDAw
DQooWEVOKSByMTI6IGZmZmY4MmQwNDA1YzkyOTggcjEzOiBmZmZmODMwMDdmN2ZkNTA4IHIxNDog
ZmZmZjgzMDA1Y2UxYzg1MA0KKFhFTikgcjE1OiBmZmZmODJkMDQwNWUyNjgwIGNyMDogMDAwMDAw
MDA4MDA1MDAzYiBjcjQ6IDAwMDAwMDAwMDAzNTI2ZTANCihYRU4pIGNyMzogMDAwMDAwMDA3ZjZi
MzAwMCBjcjI6IGZmZmY4ODgwNzJlNzlkYzANCihYRU4pIGZzYjogMDAwMDAwMDAwMDAwMDAwMCBn
c2I6IGZmZmY4ODgwNzFhYzAwMDAgZ3NzOiAwMDAwMDAwMDAwMDAwMDAwDQooWEVOKSBkczogMDAy
YiBlczogMDAyYiBmczogMDAwMCBnczogMDAwMCBzczogZTAxMCBjczogZTAwOA0KKFhFTikgWGVu
IGNvZGUgYXJvdW5kIDxmZmZmODJkMDQwMjRmNTc3PiAoY29tbW9uL3NjaGVkL251bGwuYyN1bml0
X2RlYXNzaWduKzB4MWMzLzB4MmVjKToNCihYRU4pIDQxIDVlIDQxIDVmIDVkIGMzIDBmIDBiIDww
Zj4gMGIgMGYgMGIgMGYgMGIgMGYgMGIgNDkgOGIgMDQgMjQgMGYgYjcgMDAgNjYNCihYRU4pIFhl
biBzdGFjayB0cmFjZSBmcm9tIHJzcD1mZmZmODMwMDdmZmRmZDQ4Og0KKFhFTikgZmZmZjgzMDA3
ZmZkZmQ4OCBmZmZmODJkMDQwMjM5NjFjIDAwMDAwMDA0MDAwMDAwMDAgZmZmZjgzMDA1Y2UxY2M1
MA0KKFhFTikgMDAwMDAwMDAwMDAwMDAwMiBmZmZmODMwMDdmZmRmZDkwIGZmZmY4MzAwNWNlMWM3
OTAgZmZmZjgyZDA0MDVjOTI5OA0KKFhFTikgZmZmZjgzMDA3ZjdmZDUwOCBmZmZmODMwMDVjZTFj
ODUwIGZmZmY4MmQwNDA1ZTI2ODAgZmZmZjgzMDA3ZmZkZmRlMA0KKFhFTikgZmZmZjgyZDA0MDI0
Zjg4OSBmZmZmODMwMDdmZmI3ODUwIGZmZmY4MzAwNWRkNjMwMDAgZmZmZjgzMDA1Y2UxYzc5MA0K
KFhFTikgZmZmZjgzMDA1ODQ1YWIyOCBmZmZmODMwMDU4NDVhMDAwIDAwMDAwMDAwMDAwMDAwMDAg
ZmZmZjgzMDA3ZmZkZmUwMA0KKFhFTikgZmZmZjgyZDA0MDI1MzMyNiBmZmZmODMwMDVkZDYzMDAw
IDAwMDAwMDAwMDAwMDAwMDAgZmZmZjgzMDA3ZmZkZmUzOA0KKFhFTikgZmZmZjgyZDA0MDIwNTA2
YiBmZmZmODMwMDdhODgxMDgwIDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMDAwMDAwMA0KKFhF
TikgMDAwMDAwMDAwMDAwMDAwMCBmZmZmODJkMDQwNWQ2ZjgwIGZmZmY4MzAwN2ZmZGZlNzAgZmZm
ZjgyZDA0MDIyZDllNQ0KKFhFTikgMDAwMDAwMTEwMDAwMDAwMyBmZmZmODJkMDQwNWNmMTAwIGZm
ZmY4MmQwNDA1Y2YxMDAgZmZmZmZmZmZmZmZmZmZmZg0KKFhFTikgZmZmZjgyZDA0MDVjZWY4MCBm
ZmZmODMwMDdmZmRmZWE4IGZmZmY4MmQwNDAyMmUxNGIgMDAwMDAwMDAwMDAwMDAwMw0KKFhFTikg
ZmZmZjgyZDA0MDVjZjEwMCAwMDAwMDAwMDAwMDA3ZmZmIDAwMDAwMDAwMDAwMDAwMDMgMDAwMDAw
MDAwMDAwMDAwMw0KKFhFTikgZmZmZjgzMDA3ZmZkZmViOCBmZmZmODJkMDQwMjJlMWU2IGZmZmY4
MzAwN2ZmZGZlZjAgZmZmZjgyZDA0MDMxNzJiNA0KKFhFTikgZmZmZjgyZDA0MDMxNzIxZCBmZmZm
ODMwMDdmZWMxMDAwIGZmZmY4MzAwN2ZmYjYwMDAgMDAwMDAwMDAwMDAwMDAwMw0KKFhFTikgZmZm
ZjgzMDA3ZmZjYzAwMCBmZmZmODMwMDdmZmRmZTE4IDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAw
MDAwMDAwMA0KKFhFTikgMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAw
MDAwMDAwMDMgMDAwMDAwMDAwMDAwMDAwMw0KKFhFTikgMDAwMDAwMDAwMDAwMDI0NiAwMDAwMDAw
MDAwMDAwMDAzIDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAxYmY5ZGRlNQ0KKFhFTikgMDAwMDAw
MDAwMDAwMDAwMCBmZmZmZmZmZjgxMDAyM2FhIDAwMDAwMDAwMDAwMDAwMDMgZGVhZGJlZWZkZWFk
ZjAwZA0KKFhFTikgZGVhZGJlZWZkZWFkZjAwZCAwMDAwMDEwMDAwMDAwMDAwIGZmZmZmZmZmODEw
MDIzYWEgMDAwMDAwMDAwMDAwZTAzMw0KKFhFTikgMDAwMDAwMDAwMDAwMDI0NiBmZmZmYzkwMDQw
MGEzZWE4IDAwMDAwMDAwMDAwMGUwMmIgN2ZmZGZmNzA3ZmZmZDE0MA0KKFhFTikgMDAwMDAwMDE3
ZmUzN2E2YyAwMDAwMDAwMDdmZmU4MDEwIDAwMDAwMDAwMDAwMDAwMDAgMDAwMGUwMTAwMDAwMDAw
Mw0KKFhFTikgWGVuIGNhbGwgdHJhY2U6DQooWEVOKSBbPGZmZmY4MmQwNDAyNGY1Nzc+XSBSIGNv
bW1vbi9zY2hlZC9udWxsLmMjdW5pdF9kZWFzc2lnbisweDFjMy8weDJlYw0KKFhFTikgWzxmZmZm
ODJkMDQwMjRmODg5Pl0gRiBjb21tb24vc2NoZWQvbnVsbC5jI251bGxfdW5pdF9yZW1vdmUrMHhm
Yy8weDEzNg0KKFhFTikgWzxmZmZmODJkMDQwMjUzMzI2Pl0gRiBzY2hlZF9kZXN0cm95X3ZjcHUr
MHhjYS8weDE5OQ0KKFhFTikgWzxmZmZmODJkMDQwMjA1MDZiPl0gRiBjb21tb24vZG9tYWluLmMj
Y29tcGxldGVfZG9tYWluX2Rlc3Ryb3krMHg2OC8weDEzZg0KKFhFTikgWzxmZmZmODJkMDQwMjJk
OWU1Pl0gRiBjb21tb24vcmN1cGRhdGUuYyNyY3VfcHJvY2Vzc19jYWxsYmFja3MrMHhkYi8weDI0
Yg0KKFhFTikgWzxmZmZmODJkMDQwMjJlMTRiPl0gRiBjb21tb24vc29mdGlycS5jI19fZG9fc29m
dGlycSsweDhhLzB4YmMNCihYRU4pIFs8ZmZmZjgyZDA0MDIyZTFlNj5dIEYgZG9fc29mdGlycSsw
eDEzLzB4MTUNCihYRU4pIFs8ZmZmZjgyZDA0MDMxNzJiND5dIEYgYXJjaC94ODYvZG9tYWluLmMj
aWRsZV9sb29wKzB4OTcvMHhlZQ0KKFhFTikNCihYRU4pDQooWEVOKSAqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqDQooWEVOKSBQYW5pYyBvbiBDUFUgMzoNCihYRU4pIEFz
c2VydGlvbiAnbnBjLT51bml0ID09IHVuaXQnIGZhaWxlZCBhdCBudWxsLmM6Mzc3DQooWEVOKSAq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQooWEVOKQ0KKFhFTikgUmVi
b290IGluIGZpdmUgc2Vjb25kcy4uLg0KDQpUaGlzIGlzIHRoZSBsaW5lIG9mIHRoZSBhc3NlcnRp
b24gdGhhdCB0cmlnZ2VycyB0aGUgcmVib290OiBodHRwczovL3hlbmJpdHMueGVuLm9yZy9naXR3
ZWIvP3A9eGVuLmdpdDthPWJsb2I7Zj14ZW4vY29tbW9uL3NjaGVkL251bGwuYztoPTgyZDVkMWJh
YWI4NTNkMjRmY2JiNDU1ZmIzZjNlODI2M2M4NzEyNzc7aGI9SEVBRCNsMzc3DQoNClRvIHJlcHJv
ZHVjZSB0aGUgdnVsbmVyYWJpbGl0eSwgSSB0b29rIHRoZSBmb2xsb3dpbmcgc3RlcHM6DQoNCiAg
KiAgIEluc3RhbGwgWEVOOyBvbmx5IDQuMTUrIHNlZW0gdG8gYmUgdnVsbmVyYWJsZQ0KICAqICAg
VXNlIHRoZSBudWxsIHNjaGVkdWxlciAoZGVwZW5kcyBvbiB5b3VyIHNldHVwKTogZWRpdCAvZXRj
L2RlZmF1bHQvZ3J1YiBhZGRpbmcgYXQgdGhlIGVuZCBvZiB0aGUgZmlsZTogR1JVQl9DTURMSU5F
X1hFTj0ic2NoZWQ9bnVsbCIgYW5kIHVwZGF0ZSBncnViDQogICogICBSZWJvb3QgaW50byB4ZW4N
CiAgKiAgIENyZWF0ZSBhIGZpbGUgZ3Vlc3QuY2ZnIHdpdGggdGhlIGZvbGxvd2luZyBjb250ZW50
cw0KbmFtZT0iZ3Vlc3QiDQpidWlsZGVyPSJodm0iDQptZW1vcnk9NTEyDQoNCnNlcmlhbCA9IFsg
J2ZpbGU6L3RtcC9sb2cnLCAncHR5JyBdDQoNCmRpc2sgPSBbICcvaG9tZS91c2VyL2Jvb3QuaXNv
LCxoZGMsY2Ryb20nIF0NCg0Kb25fcmVib290ID0gImRlc3Ryb3kiDQoNCnZjcHVzPTENCg0KTWFr
ZSBzdXJlIHRoYXQgdGhlIGZpbGUgL2hvbWUvdXNlci9ib290LmlzbyBkb2VzIG5vdCBleGlzdA0K
DQogICogICBDcmVhdGUgYSBndWVzdCB3aXRoIHRoaXMgY29uZmlndXJhdGlvbjogeGwgY3JlYXRl
IC1jIGd1ZXN0LmNmZw0KQ0PigJlpbmcgRGFyaW8sIFN0ZWZhbm8gYW5kIEp1bGllbiB0byB3aG9t
IEnigJl2ZSBzaG93biB0aGlzLg0KDQpUaGFua3MNCg0KRGFuaWVsZQ0K

--_000_ED25BE5ED6954763B97A78D6040E2341amazoncom_
Content-Type: text/html; charset="utf-8"
Content-ID: <06AC944F10757E4A84DE90A180310413@amazon.com>
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6bz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6b2ZmaWNlIiB4
bWxuczp3PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTp3b3JkIiB4bWxuczptPSJo
dHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDA0LzEyL29tbWwiIHhtbG5zPSJo
dHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwIj4NCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVp
dj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPg0KPG1l
dGEgbmFtZT0iR2VuZXJhdG9yIiBjb250ZW50PSJNaWNyb3NvZnQgV29yZCAxNSAoZmlsdGVyZWQg
bWVkaXVtKSI+DQo8c3R5bGU+PCEtLQ0KLyogRm9udCBEZWZpbml0aW9ucyAqLw0KQGZvbnQtZmFj
ZQ0KCXtmb250LWZhbWlseTpXaW5nZGluZ3M7DQoJcGFub3NlLTE6NSAwIDAgMCAwIDAgMCAwIDAg
MDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OiJDYW1icmlhIE1hdGgiOw0KCXBhbm9zZS0x
OjIgNCA1IDMgNSA0IDYgMyAyIDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTpDYWxpYnJp
Ow0KCXBhbm9zZS0xOjIgMTUgNSAyIDIgMiA0IDMgMiA0O30NCi8qIFN0eWxlIERlZmluaXRpb25z
ICovDQpwLk1zb05vcm1hbCwgbGkuTXNvTm9ybWFsLCBkaXYuTXNvTm9ybWFsDQoJe21hcmdpbjow
Y207DQoJZm9udC1zaXplOjExLjBwdDsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJp
ZjsNCgltc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUzt9DQphOmxpbmssIHNwYW4uTXNvSHlwZXJs
aW5rDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgljb2xvcjojMDU2M0MxOw0KCXRleHQtZGVj
b3JhdGlvbjp1bmRlcmxpbmU7fQ0Kc3Bhbi5FbWFpbFN0eWxlMTcNCgl7bXNvLXN0eWxlLXR5cGU6
cGVyc29uYWwtY29tcG9zZTsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjsNCglj
b2xvcjp3aW5kb3d0ZXh0O30NCi5Nc29DaHBEZWZhdWx0DQoJe21zby1zdHlsZS10eXBlOmV4cG9y
dC1vbmx5Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmOw0KCW1zby1mYXJlYXN0
LWxhbmd1YWdlOkVOLVVTO30NCkBwYWdlIFdvcmRTZWN0aW9uMQ0KCXtzaXplOjYxMi4wcHQgNzky
LjBwdDsNCgltYXJnaW46NzIuMHB0IDcyLjBwdCA3Mi4wcHQgNzIuMHB0O30NCmRpdi5Xb3JkU2Vj
dGlvbjENCgl7cGFnZTpXb3JkU2VjdGlvbjE7fQ0KLyogTGlzdCBEZWZpbml0aW9ucyAqLw0KQGxp
c3QgbDANCgl7bXNvLWxpc3QtaWQ6MzczMzg2MjMzOw0KCW1zby1saXN0LXRlbXBsYXRlLWlkczot
NzgyMDQzMzI7fQ0KQGxpc3QgbDA6bGV2ZWwxDQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1
bGxldDsNCgltc28tbGV2ZWwtdGV4dDrvgrc7DQoJbXNvLWxldmVsLXRhYi1zdG9wOjM2LjBwdDsN
Cgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6LTE4LjBwdDsN
Cgltc28tYW5zaS1mb250LXNpemU6MTAuMHB0Ow0KCWZvbnQtZmFtaWx5OlN5bWJvbDt9DQpAbGlz
dCBsMDpsZXZlbDINCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0Ow0KCW1zby1sZXZl
bC10ZXh0Om87DQoJbXNvLWxldmVsLXRhYi1zdG9wOjcyLjBwdDsNCgltc28tbGV2ZWwtbnVtYmVy
LXBvc2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6LTE4LjBwdDsNCgltc28tYW5zaS1mb250LXNp
emU6MTAuMHB0Ow0KCWZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyI7DQoJbXNvLWJpZGktZm9udC1m
YW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7fQ0KQGxpc3QgbDA6bGV2ZWwzDQoJe21zby1sZXZlbC1u
dW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDrvgqc7DQoJbXNvLWxldmVsLXRh
Yi1zdG9wOjEwOC4wcHQ7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQt
aW5kZW50Oi0xOC4wcHQ7DQoJbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsNCglmb250LWZhbWls
eTpXaW5nZGluZ3M7fQ0KQGxpc3QgbDA6bGV2ZWw0DQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0
OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDrvgqc7DQoJbXNvLWxldmVsLXRhYi1zdG9wOjE0NC4w
cHQ7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0xOC4w
cHQ7DQoJbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsNCglmb250LWZhbWlseTpXaW5nZGluZ3M7
fQ0KQGxpc3QgbDA6bGV2ZWw1DQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCglt
c28tbGV2ZWwtdGV4dDrvgqc7DQoJbXNvLWxldmVsLXRhYi1zdG9wOjE4MC4wcHQ7DQoJbXNvLWxl
dmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0xOC4wcHQ7DQoJbXNvLWFu
c2ktZm9udC1zaXplOjEwLjBwdDsNCglmb250LWZhbWlseTpXaW5nZGluZ3M7fQ0KQGxpc3QgbDA6
bGV2ZWw2DQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4
dDrvgqc7DQoJbXNvLWxldmVsLXRhYi1zdG9wOjIxNi4wcHQ7DQoJbXNvLWxldmVsLW51bWJlci1w
b3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0xOC4wcHQ7DQoJbXNvLWFuc2ktZm9udC1zaXpl
OjEwLjBwdDsNCglmb250LWZhbWlseTpXaW5nZGluZ3M7fQ0KQGxpc3QgbDA6bGV2ZWw3DQoJe21z
by1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDrvgqc7DQoJbXNv
LWxldmVsLXRhYi1zdG9wOjI1Mi4wcHQ7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0
Ow0KCXRleHQtaW5kZW50Oi0xOC4wcHQ7DQoJbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsNCglm
b250LWZhbWlseTpXaW5nZGluZ3M7fQ0KQGxpc3QgbDA6bGV2ZWw4DQoJe21zby1sZXZlbC1udW1i
ZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDrvgqc7DQoJbXNvLWxldmVsLXRhYi1z
dG9wOjI4OC4wcHQ7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5k
ZW50Oi0xOC4wcHQ7DQoJbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsNCglmb250LWZhbWlseTpX
aW5nZGluZ3M7fQ0KQGxpc3QgbDA6bGV2ZWw5DQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1
bGxldDsNCgltc28tbGV2ZWwtdGV4dDrvgqc7DQoJbXNvLWxldmVsLXRhYi1zdG9wOjMyNC4wcHQ7
DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0xOC4wcHQ7
DQoJbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsNCglmb250LWZhbWlseTpXaW5nZGluZ3M7fQ0K
QGxpc3QgbDENCgl7bXNvLWxpc3QtaWQ6NzkwMDU3NDY1Ow0KCW1zby1saXN0LXRlbXBsYXRlLWlk
czotMTk0OTk4NTU0O30NCkBsaXN0IGwxOmxldmVsMQ0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1h
dDpidWxsZXQ7DQoJbXNvLWxldmVsLXRleHQ674K3Ow0KCW1zby1sZXZlbC10YWItc3RvcDozNi4w
cHQ7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0xOC4w
cHQ7DQoJbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsNCglmb250LWZhbWlseTpTeW1ib2w7fQ0K
QGxpc3QgbDE6bGV2ZWwyDQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28t
bGV2ZWwtdGV4dDpvOw0KCW1zby1sZXZlbC10YWItc3RvcDo3Mi4wcHQ7DQoJbXNvLWxldmVsLW51
bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0xOC4wcHQ7DQoJbXNvLWFuc2ktZm9u
dC1zaXplOjEwLjBwdDsNCglmb250LWZhbWlseToiQ291cmllciBOZXciOw0KCW1zby1iaWRpLWZv
bnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO30NCkBsaXN0IGwxOmxldmVsMw0KCXttc28tbGV2
ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7DQoJbXNvLWxldmVsLXRleHQ674KnOw0KCW1zby1sZXZl
bC10YWItc3RvcDoxMDguMHB0Ow0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgl0
ZXh0LWluZGVudDotMTguMHB0Ow0KCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7DQoJZm9udC1m
YW1pbHk6V2luZ2RpbmdzO30NCkBsaXN0IGwxOmxldmVsNA0KCXttc28tbGV2ZWwtbnVtYmVyLWZv
cm1hdDpidWxsZXQ7DQoJbXNvLWxldmVsLXRleHQ674KnOw0KCW1zby1sZXZlbC10YWItc3RvcDox
NDQuMHB0Ow0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgl0ZXh0LWluZGVudDot
MTguMHB0Ow0KCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7DQoJZm9udC1mYW1pbHk6V2luZ2Rp
bmdzO30NCkBsaXN0IGwxOmxldmVsNQ0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7
DQoJbXNvLWxldmVsLXRleHQ674KnOw0KCW1zby1sZXZlbC10YWItc3RvcDoxODAuMHB0Ow0KCW1z
by1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgl0ZXh0LWluZGVudDotMTguMHB0Ow0KCW1z
by1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7DQoJZm9udC1mYW1pbHk6V2luZ2RpbmdzO30NCkBsaXN0
IGwxOmxldmVsNg0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7DQoJbXNvLWxldmVs
LXRleHQ674KnOw0KCW1zby1sZXZlbC10YWItc3RvcDoyMTYuMHB0Ow0KCW1zby1sZXZlbC1udW1i
ZXItcG9zaXRpb246bGVmdDsNCgl0ZXh0LWluZGVudDotMTguMHB0Ow0KCW1zby1hbnNpLWZvbnQt
c2l6ZToxMC4wcHQ7DQoJZm9udC1mYW1pbHk6V2luZ2RpbmdzO30NCkBsaXN0IGwxOmxldmVsNw0K
CXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7DQoJbXNvLWxldmVsLXRleHQ674KnOw0K
CW1zby1sZXZlbC10YWItc3RvcDoyNTIuMHB0Ow0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246
bGVmdDsNCgl0ZXh0LWluZGVudDotMTguMHB0Ow0KCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7
DQoJZm9udC1mYW1pbHk6V2luZ2RpbmdzO30NCkBsaXN0IGwxOmxldmVsOA0KCXttc28tbGV2ZWwt
bnVtYmVyLWZvcm1hdDpidWxsZXQ7DQoJbXNvLWxldmVsLXRleHQ674KnOw0KCW1zby1sZXZlbC10
YWItc3RvcDoyODguMHB0Ow0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgl0ZXh0
LWluZGVudDotMTguMHB0Ow0KCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7DQoJZm9udC1mYW1p
bHk6V2luZ2RpbmdzO30NCkBsaXN0IGwxOmxldmVsOQ0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1h
dDpidWxsZXQ7DQoJbXNvLWxldmVsLXRleHQ674KnOw0KCW1zby1sZXZlbC10YWItc3RvcDozMjQu
MHB0Ow0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgl0ZXh0LWluZGVudDotMTgu
MHB0Ow0KCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7DQoJZm9udC1mYW1pbHk6V2luZ2Rpbmdz
O30NCkBsaXN0IGwyDQoJe21zby1saXN0LWlkOjE1MjUyODcyOTY7DQoJbXNvLWxpc3QtdGVtcGxh
dGUtaWRzOjE3Mjc0MjE4MjI7fQ0KQGxpc3QgbDI6bGV2ZWwxDQoJe21zby1sZXZlbC1udW1iZXIt
Zm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDrvgrc7DQoJbXNvLWxldmVsLXRhYi1zdG9w
OjM2LjBwdDsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6
LTE4LjBwdDsNCgltc28tYW5zaS1mb250LXNpemU6MTAuMHB0Ow0KCWZvbnQtZmFtaWx5OlN5bWJv
bDt9DQpAbGlzdCBsMjpsZXZlbDINCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0Ow0K
CW1zby1sZXZlbC10ZXh0Om87DQoJbXNvLWxldmVsLXRhYi1zdG9wOjcyLjBwdDsNCgltc28tbGV2
ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6LTE4LjBwdDsNCgltc28tYW5z
aS1mb250LXNpemU6MTAuMHB0Ow0KCWZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyI7DQoJbXNvLWJp
ZGktZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7fQ0KQGxpc3QgbDI6bGV2ZWwzDQoJe21z
by1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDrvgqc7DQoJbXNv
LWxldmVsLXRhYi1zdG9wOjEwOC4wcHQ7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0
Ow0KCXRleHQtaW5kZW50Oi0xOC4wcHQ7DQoJbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsNCglm
b250LWZhbWlseTpXaW5nZGluZ3M7fQ0KQGxpc3QgbDI6bGV2ZWw0DQoJe21zby1sZXZlbC1udW1i
ZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDrvgqc7DQoJbXNvLWxldmVsLXRhYi1z
dG9wOjE0NC4wcHQ7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5k
ZW50Oi0xOC4wcHQ7DQoJbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsNCglmb250LWZhbWlseTpX
aW5nZGluZ3M7fQ0KQGxpc3QgbDI6bGV2ZWw1DQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1
bGxldDsNCgltc28tbGV2ZWwtdGV4dDrvgqc7DQoJbXNvLWxldmVsLXRhYi1zdG9wOjE4MC4wcHQ7
DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0xOC4wcHQ7
DQoJbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsNCglmb250LWZhbWlseTpXaW5nZGluZ3M7fQ0K
QGxpc3QgbDI6bGV2ZWw2DQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28t
bGV2ZWwtdGV4dDrvgqc7DQoJbXNvLWxldmVsLXRhYi1zdG9wOjIxNi4wcHQ7DQoJbXNvLWxldmVs
LW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0xOC4wcHQ7DQoJbXNvLWFuc2kt
Zm9udC1zaXplOjEwLjBwdDsNCglmb250LWZhbWlseTpXaW5nZGluZ3M7fQ0KQGxpc3QgbDI6bGV2
ZWw3DQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDrv
gqc7DQoJbXNvLWxldmVsLXRhYi1zdG9wOjI1Mi4wcHQ7DQoJbXNvLWxldmVsLW51bWJlci1wb3Np
dGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0xOC4wcHQ7DQoJbXNvLWFuc2ktZm9udC1zaXplOjEw
LjBwdDsNCglmb250LWZhbWlseTpXaW5nZGluZ3M7fQ0KQGxpc3QgbDI6bGV2ZWw4DQoJe21zby1s
ZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDrvgqc7DQoJbXNvLWxl
dmVsLXRhYi1zdG9wOjI4OC4wcHQ7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0K
CXRleHQtaW5kZW50Oi0xOC4wcHQ7DQoJbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsNCglmb250
LWZhbWlseTpXaW5nZGluZ3M7fQ0KQGxpc3QgbDI6bGV2ZWw5DQoJe21zby1sZXZlbC1udW1iZXIt
Zm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDrvgqc7DQoJbXNvLWxldmVsLXRhYi1zdG9w
OjMyNC4wcHQ7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50
Oi0xOC4wcHQ7DQoJbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsNCglmb250LWZhbWlseTpXaW5n
ZGluZ3M7fQ0Kb2wNCgl7bWFyZ2luLWJvdHRvbTowY207fQ0KdWwNCgl7bWFyZ2luLWJvdHRvbTow
Y207fQ0KLS0+PC9zdHlsZT4NCjwvaGVhZD4NCjxib2R5IGxhbmc9IkVOLUdCIiBsaW5rPSIjMDU2
M0MxIiB2bGluaz0iIzk1NEY3MiIgc3R5bGU9IndvcmQtd3JhcDpicmVhay13b3JkIj4NCjxkaXYg
Y2xhc3M9IldvcmRTZWN0aW9uMSI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJF
Ti1VUyI+SGkgYWxsLDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PjxzcGFuIGxhbmc9IkVOLVVTIj5UaGUgTlVMTCBzY2hlZHVsZXIgaXMgYWZmZWN0ZWQgYnkgYW4g
aXNzdWUgdGhhdCB0cmlnZ2VycyBhbiBhc3NlcnRpb24gYW5kIHJlYm9vdHMgdGhlIGh5cGVydmlz
b3IuDQo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBs
YW5nPSJFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPlRoaXMgaXNzdWUgYXJpc2Ugd2hlbjo8bzpwPjwvbzpw
Pjwvc3Bhbj48L3A+DQo8dWwgdHlwZT0iZGlzYyI+DQo8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5
bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21z
by1saXN0OmwwIGxldmVsMSBsZm8xIj4NCjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFn
ZTpFTi1HQiI+YSBndWVzdCBpcyBiZWluZyBjcmVhdGVkIHdpdGggYSBjb25maWd1cmF0aW9uIHNw
ZWNpZnlpbmcgYSBmaWxlIHRoYXQgZG9lcyBub3QgZXhpc3Q8bzpwPjwvbzpwPjwvc3Bhbj48L2xp
PjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv
LW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDAgbGV2ZWwxIGxmbzEiPg0KPHNwYW4g
c3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOkVOLUdCIj50aGUgaHlwZXJ2aXNvciBib290cyB3
aXRoIHRoZSBudWxsIHNjaGVkdWxlcjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PC91bD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj40LjE2IGlzIGFmZmVjdGVkIGFuZCA0
LjE1IGFsc28uPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNw
YW4gbGFuZz0iRU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj5UaGlzIGlzIHRoZSBzdGFjayB0cmFjZSBmcm9t
IDQuMTY6PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4g
bGFuZz0iRU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1HQiI+KFhFTikgQXNz
ZXJ0aW9uICducGMtJmd0O3VuaXQgPT0gdW5pdCcgZmFpbGVkIGF0IG51bGwuYzozNzc8YnI+DQoo
WEVOKSAtLS0tWyBYZW4tNC4xNi11bnN0YWJsZSB4ODZfNjQgZGVidWc9eSBOb3QgdGFpbnRlZCBd
LS0tLTxicj4NCihYRU4pIENQVTogMzxicj4NCihYRU4pIFJJUDogZTAwODpbJmx0O2ZmZmY4MmQw
NDAyNGY1NzcmZ3Q7XSBjb21tb24vc2NoZWQvbnVsbC5jI3VuaXRfZGVhc3NpZ24mIzQzOzB4MWMz
LzB4MmVjPGJyPg0KKFhFTikgUkZMQUdTOiAwMDAwMDAwMDAwMDEwMDA2IENPTlRFWFQ6IGh5cGVy
dmlzb3I8YnI+DQooWEVOKSByYXg6IGZmZmY4MzAwNWNlMWM4NTAgcmJ4OiAwMDAwMDAwMDAwMDAw
MDAxIHJjeDogMDAwMDAwMDAwMDAwMDAwMTxicj4NCihYRU4pIHJkeDogZmZmZjgzMDA3ZmRlNmZj
MCByc2k6IGZmZmY4MzAwNWNlMWM3OTAgcmRpOiBmZmZmODMwMDdmZmI3ODUwPGJyPg0KKFhFTikg
cmJwOiBmZmZmODMwMDdmZmRmZGEwIHJzcDogZmZmZjgzMDA3ZmZkZmQ0OCByODogMDAwMDAwMDAw
MDAwMDAwMDxicj4NCihYRU4pIHI5OiAwMDAwMDAwMDAwMDQ4ZmVlIHIxMDogMDAwMDAwMDAwMDAw
MDAwMCByMTE6IDAwMDAwMDAwMDAwMDAwMDA8YnI+DQooWEVOKSByMTI6IGZmZmY4MmQwNDA1Yzky
OTggcjEzOiBmZmZmODMwMDdmN2ZkNTA4IHIxNDogZmZmZjgzMDA1Y2UxYzg1MDxicj4NCihYRU4p
IHIxNTogZmZmZjgyZDA0MDVlMjY4MCBjcjA6IDAwMDAwMDAwODAwNTAwM2IgY3I0OiAwMDAwMDAw
MDAwMzUyNmUwPGJyPg0KKFhFTikgY3IzOiAwMDAwMDAwMDdmNmIzMDAwIGNyMjogZmZmZjg4ODA3
MmU3OWRjMDxicj4NCihYRU4pIGZzYjogMDAwMDAwMDAwMDAwMDAwMCBnc2I6IGZmZmY4ODgwNzFh
YzAwMDAgZ3NzOiAwMDAwMDAwMDAwMDAwMDAwPGJyPg0KKFhFTikgZHM6IDAwMmIgZXM6IDAwMmIg
ZnM6IDAwMDAgZ3M6IDAwMDAgc3M6IGUwMTAgY3M6IGUwMDg8YnI+DQooWEVOKSBYZW4gY29kZSBh
cm91bmQgJmx0O2ZmZmY4MmQwNDAyNGY1NzcmZ3Q7IChjb21tb24vc2NoZWQvbnVsbC5jI3VuaXRf
ZGVhc3NpZ24mIzQzOzB4MWMzLzB4MmVjKTo8YnI+DQooWEVOKSA0MSA1ZSA0MSA1ZiA1ZCBjMyAw
ZiAwYiAmbHQ7MGYmZ3Q7IDBiIDBmIDBiIDBmIDBiIDBmIDBiIDQ5IDhiIDA0IDI0IDBmIGI3IDAw
IDY2PGJyPg0KKFhFTikgWGVuIHN0YWNrIHRyYWNlIGZyb20gcnNwPWZmZmY4MzAwN2ZmZGZkNDg6
PGJyPg0KKFhFTikgZmZmZjgzMDA3ZmZkZmQ4OCBmZmZmODJkMDQwMjM5NjFjIDAwMDAwMDA0MDAw
MDAwMDAgZmZmZjgzMDA1Y2UxY2M1MDxicj4NCihYRU4pIDAwMDAwMDAwMDAwMDAwMDIgZmZmZjgz
MDA3ZmZkZmQ5MCBmZmZmODMwMDVjZTFjNzkwIGZmZmY4MmQwNDA1YzkyOTg8YnI+DQooWEVOKSBm
ZmZmODMwMDdmN2ZkNTA4IGZmZmY4MzAwNWNlMWM4NTAgZmZmZjgyZDA0MDVlMjY4MCBmZmZmODMw
MDdmZmRmZGUwPGJyPg0KKFhFTikgZmZmZjgyZDA0MDI0Zjg4OSBmZmZmODMwMDdmZmI3ODUwIGZm
ZmY4MzAwNWRkNjMwMDAgZmZmZjgzMDA1Y2UxYzc5MDxicj4NCihYRU4pIGZmZmY4MzAwNTg0NWFi
MjggZmZmZjgzMDA1ODQ1YTAwMCAwMDAwMDAwMDAwMDAwMDAwIGZmZmY4MzAwN2ZmZGZlMDA8YnI+
DQooWEVOKSBmZmZmODJkMDQwMjUzMzI2IGZmZmY4MzAwNWRkNjMwMDAgMDAwMDAwMDAwMDAwMDAw
MCBmZmZmODMwMDdmZmRmZTM4PGJyPg0KKFhFTikgZmZmZjgyZDA0MDIwNTA2YiBmZmZmODMwMDdh
ODgxMDgwIDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMDAwMDAwMDxicj4NCihYRU4pIDAwMDAw
MDAwMDAwMDAwMDAgZmZmZjgyZDA0MDVkNmY4MCBmZmZmODMwMDdmZmRmZTcwIGZmZmY4MmQwNDAy
MmQ5ZTU8YnI+DQooWEVOKSAwMDAwMDAxMTAwMDAwMDAzIGZmZmY4MmQwNDA1Y2YxMDAgZmZmZjgy
ZDA0MDVjZjEwMCBmZmZmZmZmZmZmZmZmZmZmPGJyPg0KKFhFTikgZmZmZjgyZDA0MDVjZWY4MCBm
ZmZmODMwMDdmZmRmZWE4IGZmZmY4MmQwNDAyMmUxNGIgMDAwMDAwMDAwMDAwMDAwMzxicj4NCihY
RU4pIGZmZmY4MmQwNDA1Y2YxMDAgMDAwMDAwMDAwMDAwN2ZmZiAwMDAwMDAwMDAwMDAwMDAzIDAw
MDAwMDAwMDAwMDAwMDM8YnI+DQooWEVOKSBmZmZmODMwMDdmZmRmZWI4IGZmZmY4MmQwNDAyMmUx
ZTYgZmZmZjgzMDA3ZmZkZmVmMCBmZmZmODJkMDQwMzE3MmI0PGJyPg0KKFhFTikgZmZmZjgyZDA0
MDMxNzIxZCBmZmZmODMwMDdmZWMxMDAwIGZmZmY4MzAwN2ZmYjYwMDAgMDAwMDAwMDAwMDAwMDAw
Mzxicj4NCihYRU4pIGZmZmY4MzAwN2ZmY2MwMDAgZmZmZjgzMDA3ZmZkZmUxOCAwMDAwMDAwMDAw
MDAwMDAwIDAwMDAwMDAwMDAwMDAwMDA8YnI+DQooWEVOKSAwMDAwMDAwMDAwMDAwMDAwIDAwMDAw
MDAwMDAwMDAwMDAgMDAwMDAwMDAwMDAwMDAwMyAwMDAwMDAwMDAwMDAwMDAzPGJyPg0KKFhFTikg
MDAwMDAwMDAwMDAwMDI0NiAwMDAwMDAwMDAwMDAwMDAzIDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAw
MDAxYmY5ZGRlNTxicj4NCihYRU4pIDAwMDAwMDAwMDAwMDAwMDAgZmZmZmZmZmY4MTAwMjNhYSAw
MDAwMDAwMDAwMDAwMDAzIGRlYWRiZWVmZGVhZGYwMGQ8YnI+DQooWEVOKSBkZWFkYmVlZmRlYWRm
MDBkIDAwMDAwMTAwMDAwMDAwMDAgZmZmZmZmZmY4MTAwMjNhYSAwMDAwMDAwMDAwMDBlMDMzPGJy
Pg0KKFhFTikgMDAwMDAwMDAwMDAwMDI0NiBmZmZmYzkwMDQwMGEzZWE4IDAwMDAwMDAwMDAwMGUw
MmIgN2ZmZGZmNzA3ZmZmZDE0MDxicj4NCihYRU4pIDAwMDAwMDAxN2ZlMzdhNmMgMDAwMDAwMDA3
ZmZlODAxMCAwMDAwMDAwMDAwMDAwMDAwIDAwMDBlMDEwMDAwMDAwMDM8YnI+DQooWEVOKSBYZW4g
Y2FsbCB0cmFjZTo8YnI+DQooWEVOKSBbJmx0O2ZmZmY4MmQwNDAyNGY1NzcmZ3Q7XSBSIGNvbW1v
bi9zY2hlZC9udWxsLmMjdW5pdF9kZWFzc2lnbiYjNDM7MHgxYzMvMHgyZWM8YnI+DQooWEVOKSBb
Jmx0O2ZmZmY4MmQwNDAyNGY4ODkmZ3Q7XSBGIGNvbW1vbi9zY2hlZC9udWxsLmMjbnVsbF91bml0
X3JlbW92ZSYjNDM7MHhmYy8weDEzNjxicj4NCihYRU4pIFsmbHQ7ZmZmZjgyZDA0MDI1MzMyNiZn
dDtdIEYgc2NoZWRfZGVzdHJveV92Y3B1JiM0MzsweGNhLzB4MTk5PGJyPg0KKFhFTikgWyZsdDtm
ZmZmODJkMDQwMjA1MDZiJmd0O10gRiBjb21tb24vZG9tYWluLmMjY29tcGxldGVfZG9tYWluX2Rl
c3Ryb3kmIzQzOzB4NjgvMHgxM2Y8YnI+DQooWEVOKSBbJmx0O2ZmZmY4MmQwNDAyMmQ5ZTUmZ3Q7
XSBGIGNvbW1vbi9yY3VwZGF0ZS5jI3JjdV9wcm9jZXNzX2NhbGxiYWNrcyYjNDM7MHhkYi8weDI0
Yjxicj4NCihYRU4pIFsmbHQ7ZmZmZjgyZDA0MDIyZTE0YiZndDtdIEYgY29tbW9uL3NvZnRpcnEu
YyNfX2RvX3NvZnRpcnEmIzQzOzB4OGEvMHhiYzxicj4NCihYRU4pIFsmbHQ7ZmZmZjgyZDA0MDIy
ZTFlNiZndDtdIEYgZG9fc29mdGlycSYjNDM7MHgxMy8weDE1PGJyPg0KKFhFTikgWyZsdDtmZmZm
ODJkMDQwMzE3MmI0Jmd0O10gRiBhcmNoL3g4Ni9kb21haW4uYyNpZGxlX2xvb3AmIzQzOzB4OTcv
MHhlZTxicj4NCihYRU4pIDxicj4NCihYRU4pIDxicj4NCihYRU4pICoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKio8YnI+DQooWEVOKSBQYW5pYyBvbiBDUFUgMzo8YnI+DQoo
WEVOKSBBc3NlcnRpb24gJ25wYy0mZ3Q7dW5pdCA9PSB1bml0JyBmYWlsZWQgYXQgbnVsbC5jOjM3
Nzxicj4NCihYRU4pICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKio8YnI+
DQooWEVOKSA8YnI+DQooWEVOKSBSZWJvb3QgaW4gZml2ZSBzZWNvbmRzLi4uPG86cD48L286cD48
L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+
Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPlRoaXMgaXMgdGhl
IGxpbmUgb2YgdGhlIGFzc2VydGlvbiB0aGF0IHRyaWdnZXJzIHRoZSByZWJvb3Q6IDxhIGhyZWY9
Imh0dHBzOi8veGVuYml0cy54ZW4ub3JnL2dpdHdlYi8/cD14ZW4uZ2l0O2E9YmxvYjtmPXhlbi9j
b21tb24vc2NoZWQvbnVsbC5jO2g9ODJkNWQxYmFhYjg1M2QyNGZjYmI0NTVmYjNmM2U4MjYzYzg3
MTI3NztoYj1IRUFEI2wzNzciPg0KaHR0cHM6Ly94ZW5iaXRzLnhlbi5vcmcvZ2l0d2ViLz9wPXhl
bi5naXQ7YT1ibG9iO2Y9eGVuL2NvbW1vbi9zY2hlZC9udWxsLmM7aD04MmQ1ZDFiYWFiODUzZDI0
ZmNiYjQ1NWZiM2YzZTgyNjNjODcxMjc3O2hiPUhFQUQjbDM3NzwvYT48bzpwPjwvbzpwPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPiZuYnNwOzwvbzpw
Pjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWJvdHRvbTox
Mi4wcHQiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1HQiI+VG8gcmVwcm9k
dWNlIHRoZSB2dWxuZXJhYmlsaXR5LCBJIHRvb2sgdGhlIGZvbGxvd2luZyBzdGVwczo8bzpwPjwv
bzpwPjwvc3Bhbj48L3A+DQo8dWwgdHlwZT0iZGlzYyI+DQo8bGkgY2xhc3M9Ik1zb05vcm1hbCIg
c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv
O21zby1saXN0OmwxIGxldmVsMSBsZm8yIj4NCjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5n
dWFnZTpFTi1HQiI+SW5zdGFsbCBYRU47IG9ubHkgNC4xNSYjNDM7IHNlZW0gdG8gYmUgdnVsbmVy
YWJsZTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt
c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlz
dDpsMSBsZXZlbDEgbGZvMiI+DQo8c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4t
R0IiPlVzZSB0aGUgbnVsbCBzY2hlZHVsZXIgKGRlcGVuZHMgb24geW91ciBzZXR1cCk6IGVkaXQg
L2V0Yy9kZWZhdWx0L2dydWIgYWRkaW5nIGF0IHRoZSBlbmQgb2YgdGhlIGZpbGU6IEdSVUJfQ01E
TElORV9YRU49JnF1b3Q7c2NoZWQ9bnVsbCZxdW90OyBhbmQgdXBkYXRlIGdydWI8bzpwPjwvbzpw
Pjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3At
YWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDEgbGV2ZWwxIGxm
bzIiPg0KPHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOkVOLUdCIj5SZWJvb3QgaW50
byB4ZW48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0i
bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxp
c3Q6bDEgbGV2ZWwxIGxmbzIiPg0KPHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOkVO
LUdCIj5DcmVhdGUgYSBmaWxlIGd1ZXN0LmNmZyB3aXRoIHRoZSBmb2xsb3dpbmcgY29udGVudHM8
bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjwvdWw+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90
Ozttc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1HQiI+bmFtZT0mcXVvdDtndWVzdCZxdW90Ozxicj4N
CmJ1aWxkZXI9JnF1b3Q7aHZtJnF1b3Q7PGJyPg0KbWVtb3J5PTUxMjxicj4NCjxicj4NCnNlcmlh
bCA9IFsgJ2ZpbGU6L3RtcC9sb2cnLCAncHR5JyBdPGJyPg0KPGJyPg0KZGlzayA9IFsgJy9ob21l
L3VzZXIvYm9vdC5pc28sLGhkYyxjZHJvbScgXTxicj4NCjxicj4NCm9uX3JlYm9vdCA9ICZxdW90
O2Rlc3Ryb3kmcXVvdDs8YnI+DQo8YnI+DQp2Y3B1cz0xPG86cD48L286cD48L3NwYW4+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1ib3R0b206MTIuMHB0Ij48c3BhbiBz
dHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tR0IiPjxicj4NCk1ha2Ugc3VyZSB0aGF0IHRo
ZSBmaWxlIDxpPi9ob21lL3VzZXIvYm9vdC5pc288L2k+IGRvZXMgbm90IGV4aXN0PG86cD48L286
cD48L3NwYW4+PC9wPg0KPHVsIHR5cGU9ImRpc2MiPg0KPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0
eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bztt
c28tbGlzdDpsMiBsZXZlbDEgbGZvMyI+DQo8c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3Vh
Z2U6RU4tR0IiPkNyZWF0ZSBhIGd1ZXN0IHdpdGggdGhpcyBjb25maWd1cmF0aW9uOiA8L3NwYW4+
DQo8c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVy
IE5ldyZxdW90Ozttc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1HQiI+eGwgY3JlYXRlIC1jIGd1ZXN0
LmNmZzwvc3Bhbj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tR0IiPjxvOnA+
PC9vOnA+PC9zcGFuPjwvbGk+PC91bD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9
IkVOLVVTIj5DQ+KAmWluZyBEYXJpbywgU3RlZmFubyBhbmQgSnVsaWVuIHRvIHdob20gSeKAmXZl
IHNob3duIHRoaXMuPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+
PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj5UaGFua3M8bzpwPjwvbzpwPjwvc3Bhbj48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD4mbmJzcDs8
L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMi
PkRhbmllbGU8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4N
Cg==

--_000_ED25BE5ED6954763B97A78D6040E2341amazoncom_--


From xen-devel-bounces@lists.xenproject.org Mon Aug 09 16:53:06 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 16:53:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164069.301663 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD8WM-0006Mz-4Y; Mon, 09 Aug 2021 16:53:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164069.301663; Mon, 09 Aug 2021 16:53:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD8WL-0006M8-TP; Mon, 09 Aug 2021 16:53:01 +0000
Received: by outflank-mailman (input) for mailman id 164069;
 Wed, 04 Aug 2021 22:28:40 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HEg6=M3=gmail.com=lonyelon@srs-us1.protection.inumbo.net>)
 id 1mBPNQ-000564-1B
 for xen-devel@lists.xenproject.org; Wed, 04 Aug 2021 22:28:40 +0000
Received: from mail-wm1-x32d.google.com (unknown [2a00:1450:4864:20::32d])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 5b372d1c-e747-4f00-a495-b5cdd3c4a12c;
 Wed, 04 Aug 2021 22:28:37 +0000 (UTC)
Received: by mail-wm1-x32d.google.com with SMTP id
 k38-20020a05600c1ca6b029025af5e0f38bso4876115wms.5
 for <xen-devel@lists.xenproject.org>; Wed, 04 Aug 2021 15:28:37 -0700 (PDT)
Received: from icebear.localdomain ([170.253.11.129])
 by smtp.gmail.com with ESMTPSA id h15sm3918691wrq.88.2021.08.04.15.28.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Aug 2021 15:28: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: 5b372d1c-e747-4f00-a495-b5cdd3c4a12c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=phT9CckMWNSerBPK6PdSivSlXanyd8PFiHPwYIyp3rs=;
        b=khaE0DAn9Hbzb8VYmijEVyqODSHEMqdtacNmYbYow03tZ/AbYcnykHvN5blba0NE3O
         C9Qw/zREVHIwlDXmEgiQ1G1ZXRv+Rg4bkyNGy7JdYw7MrUMtFpF1I0ilqmJxi4LMP5G3
         KNntTDIoEtzSElboMTDjuzLJ+bIR9BZ3lPxQgy8NRe9XmgNZlyNkYy88Th6jee3X3xnV
         gG33j6LTbL+4308oiBY13zlWDCK0JWHhQ06oY0e3uFfk9Ac5exHirQzHCjb+wkJJSnTV
         jrnSQWZqyRn/gHAlzwuTUaNfNn6zWesI2faJkB7nJUCKU1iQTFcKJIvl0AHYdayrcKOH
         T2tA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=phT9CckMWNSerBPK6PdSivSlXanyd8PFiHPwYIyp3rs=;
        b=IDgZj1cPlEEy2aEWVfWehMDw5bZlTQgyqnODUqEbzEylvRLRqKhEEuXsowWqbh00Rt
         BoCVnEC5ZwgVYNNmXXynRnFkVbrOfbCiug25X7uv0WnmzAVUFGv1cUj8Ryne8M36umd1
         Hq53Rq9xojcFR6MOs2FWVLJRRfW7emne6U40yL7YHeAsbk7uSb8y3kqYK+TIR1WULD60
         mf51Xc9O+qdaSzfFv/HAC5481BlTUGmx55NqIbyRyhZQH4go1hNA08BxzuNmZHzZF66H
         AIwugUcatbTGa0nL73MpVlDLQQdGkSAdihkDZOJjR9TOU7Q2AZbDdJA2kxYmvU3KJ3FI
         FrFw==
X-Gm-Message-State: AOAM530iiUsESGSSaJKHUC0xQS4UVrz7j+5QOaHXWf+JPGmmSz3z8jrF
	AGOzkgF6MnavrjwaRNCRId8=
X-Google-Smtp-Source: ABdhPJwWFX/MJbC7wDiLE10o4q2UrTVKJx1quMfNkc/bHauoSWxjkAwBe2FhmzGPUqik42eL4663pg==
X-Received: by 2002:a1c:f414:: with SMTP id z20mr12040588wma.94.1628116115943;
        Wed, 04 Aug 2021 15:28:35 -0700 (PDT)
From: "=?UTF-8?q?Sergio=20Migu=C3=A9ns=20Iglesias?=" <lonyelon@gmail.com>
X-Google-Original-From: =?UTF-8?q?Sergio=20Migu=C3=A9ns=20Iglesias?= <sergio@lony.xyz>
To: bhelgaas@google.com
Cc: rjw@rjwysocki.net,
	lenb@kernel.org,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	konrad.wilk@oracle.com,
	linux-pci@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-acpi@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	=?UTF-8?q?Sergio=20Migu=C3=A9ns=20Iglesias?= <sergio@lony.xyz>
Subject: [PATCH] PCI: Fix general code style
Date: Thu,  5 Aug 2021 00:28:32 +0200
Message-Id: <20210804222832.1023161-1-sergio@lony.xyz>
X-Mailer: git-send-email 2.32.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The code style for most files was fixed. This means that blank lines
were added when needed (normally after variable declarations), spaces
before tabs were removed, some code alignment issues were solved, block
comment style was fixed, every instance of "unsigned var" was replaced
with "unsigned int var"... Etc.

This commit does not change the logic of the code, it just fixes
aesthetic problems.

Signed-off-by: Sergio Miguéns Iglesias <sergio@lony.xyz>
---
 drivers/pci/access.c       | 22 +++++++++++++---------
 drivers/pci/bus.c          |  3 ++-
 drivers/pci/msi.c          | 12 +++++++-----
 drivers/pci/pci-acpi.c     |  3 ++-
 drivers/pci/pci-driver.c   | 19 +++++++++++++------
 drivers/pci/pci-sysfs.c    | 14 ++++++++++++--
 drivers/pci/pci.c          | 16 ++++++++++++----
 drivers/pci/proc.c         | 15 +++++++++++++++
 drivers/pci/quirks.c       | 35 ++++++++++++++++++++++++-----------
 drivers/pci/remove.c       |  1 +
 drivers/pci/rom.c          |  2 +-
 drivers/pci/setup-bus.c    |  5 ++++-
 drivers/pci/setup-irq.c    | 12 +++++++-----
 drivers/pci/setup-res.c    |  2 +-
 drivers/pci/slot.c         |  5 ++++-
 drivers/pci/syscall.c      |  5 +++--
 drivers/pci/xen-pcifront.c | 20 ++++++++++++--------
 17 files changed, 133 insertions(+), 58 deletions(-)

diff --git a/drivers/pci/access.c b/drivers/pci/access.c
index 46935695cfb9..4f8d04a0ac1d 100644
--- a/drivers/pci/access.c
+++ b/drivers/pci/access.c
@@ -33,13 +33,15 @@ DEFINE_RAW_SPINLOCK(pci_lock);
 #endif
 
 #define PCI_OP_READ(size, type, len) \
-int noinline pci_bus_read_config_##size \
+noinline int pci_bus_read_config_##size \
 	(struct pci_bus *bus, unsigned int devfn, int pos, type *value)	\
 {									\
 	int res;							\
 	unsigned long flags;						\
+									\
 	u32 data = 0;							\
-	if (PCI_##size##_BAD) return PCIBIOS_BAD_REGISTER_NUMBER;	\
+	if (PCI_##size##_BAD)						\
+		return PCIBIOS_BAD_REGISTER_NUMBER;			\
 	pci_lock_config(flags);						\
 	res = bus->ops->read(bus, devfn, pos, len, &data);		\
 	*value = (type)data;						\
@@ -48,12 +50,14 @@ int noinline pci_bus_read_config_##size \
 }
 
 #define PCI_OP_WRITE(size, type, len) \
-int noinline pci_bus_write_config_##size \
+noinline int pci_bus_write_config_##size \
 	(struct pci_bus *bus, unsigned int devfn, int pos, type value)	\
 {									\
 	int res;							\
 	unsigned long flags;						\
-	if (PCI_##size##_BAD) return PCIBIOS_BAD_REGISTER_NUMBER;	\
+									\
+	if (PCI_##size##_BAD)						\
+		return PCIBIOS_BAD_REGISTER_NUMBER;			\
 	pci_lock_config(flags);						\
 	res = bus->ops->write(bus, devfn, pos, len, value);		\
 	pci_unlock_config(flags);					\
@@ -214,7 +218,7 @@ static noinline void pci_wait_cfg(struct pci_dev *dev)
 }
 
 /* Returns 0 on success, negative values indicate error. */
-#define PCI_USER_READ_CONFIG(size, type)					\
+#define PCI_USER_READ_CONFIG(size, type)				\
 int pci_user_read_config_##size						\
 	(struct pci_dev *dev, int pos, type *val)			\
 {									\
@@ -222,12 +226,12 @@ int pci_user_read_config_##size						\
 	u32 data = -1;							\
 	if (PCI_##size##_BAD)						\
 		return -EINVAL;						\
-	raw_spin_lock_irq(&pci_lock);				\
+	raw_spin_lock_irq(&pci_lock);					\
 	if (unlikely(dev->block_cfg_access))				\
 		pci_wait_cfg(dev);					\
 	ret = dev->bus->ops->read(dev->bus, dev->devfn,			\
 					pos, sizeof(type), &data);	\
-	raw_spin_unlock_irq(&pci_lock);				\
+	raw_spin_unlock_irq(&pci_lock);					\
 	*val = (type)data;						\
 	return pcibios_err_to_errno(ret);				\
 }									\
@@ -241,12 +245,12 @@ int pci_user_write_config_##size					\
 	int ret = PCIBIOS_SUCCESSFUL;					\
 	if (PCI_##size##_BAD)						\
 		return -EINVAL;						\
-	raw_spin_lock_irq(&pci_lock);				\
+	raw_spin_lock_irq(&pci_lock);					\
 	if (unlikely(dev->block_cfg_access))				\
 		pci_wait_cfg(dev);					\
 	ret = dev->bus->ops->write(dev->bus, dev->devfn,		\
 					pos, sizeof(type), val);	\
-	raw_spin_unlock_irq(&pci_lock);				\
+	raw_spin_unlock_irq(&pci_lock);					\
 	return pcibios_err_to_errno(ret);				\
 }									\
 EXPORT_SYMBOL_GPL(pci_user_write_config_##size);
diff --git a/drivers/pci/bus.c b/drivers/pci/bus.c
index 3cef835b375f..c6cad291c7ac 100644
--- a/drivers/pci/bus.c
+++ b/drivers/pci/bus.c
@@ -178,7 +178,8 @@ static int pci_bus_alloc_from_region(struct pci_bus *bus, struct resource *res,
 			continue;
 
 		/* We cannot allocate a non-prefetching resource
-		   from a pre-fetching area */
+		 * from a pre-fetching area
+		 */
 		if ((r->flags & IORESOURCE_PREFETCH) &&
 		    !(res->flags & IORESOURCE_PREFETCH))
 			continue;
diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
index 9232255c8515..bd62dfe9e361 100644
--- a/drivers/pci/msi.c
+++ b/drivers/pci/msi.c
@@ -129,7 +129,7 @@ void __weak arch_restore_msi_irqs(struct pci_dev *dev)
 	return default_restore_msi_irqs(dev);
 }
 
-static inline __attribute_const__ u32 msi_mask(unsigned x)
+static inline __attribute_const__ u32 msi_mask(unsigned int x)
 {
 	/* Don't shift by >= width of type */
 	if (x >= 5)
@@ -213,7 +213,8 @@ static void msi_set_mask_bit(struct irq_data *data, u32 flag)
 		msix_mask_irq(desc, flag);
 		readl(desc->mask_base);		/* Flush write to device */
 	} else {
-		unsigned offset = data->irq - desc->irq;
+		unsigned int offset = data->irq - desc->irq;
+
 		msi_mask_irq(desc, 1 << offset, flag << offset);
 	}
 }
@@ -619,7 +620,7 @@ static int msi_capability_init(struct pci_dev *dev, int nvec,
 {
 	struct msi_desc *entry;
 	int ret;
-	unsigned mask;
+	unsigned int mask;
 
 	pci_msi_set_enable(dev, 0);	/* Disable MSI during set up */
 
@@ -665,7 +666,7 @@ static int msi_capability_init(struct pci_dev *dev, int nvec,
 	return 0;
 }
 
-static void __iomem *msix_map_region(struct pci_dev *dev, unsigned nr_entries)
+static void __iomem *msix_map_region(struct pci_dev *dev, unsigned int nr_entries)
 {
 	resource_size_t phys_addr;
 	u32 table_offset;
@@ -1108,6 +1109,7 @@ static int __pci_enable_msi_range(struct pci_dev *dev, int minvec, int maxvec,
 int pci_enable_msi(struct pci_dev *dev)
 {
 	int rc = __pci_enable_msi_range(dev, 1, 1, NULL);
+
 	if (rc < 0)
 		return rc;
 	return 0;
@@ -1367,7 +1369,7 @@ static inline bool pci_msi_desc_is_multi_msi(struct msi_desc *desc)
 
 /**
  * pci_msi_domain_check_cap - Verify that @domain supports the capabilities
- * 			      for @dev
+ *			      for @dev
  * @domain:	The interrupt domain to check
  * @info:	The domain info for verification
  * @dev:	The device to check
diff --git a/drivers/pci/pci-acpi.c b/drivers/pci/pci-acpi.c
index 36bc23e21759..22d6ea1af809 100644
--- a/drivers/pci/pci-acpi.c
+++ b/drivers/pci/pci-acpi.c
@@ -985,6 +985,7 @@ static bool acpi_pci_bridge_d3(struct pci_dev *dev)
 static bool acpi_pci_power_manageable(struct pci_dev *dev)
 {
 	struct acpi_device *adev = ACPI_COMPANION(&dev->dev);
+
 	return adev ? acpi_device_power_manageable(adev) : false;
 }
 
@@ -1021,7 +1022,7 @@ static int acpi_pci_set_power_state(struct pci_dev *dev, pci_power_t state)
 
 	if (!error)
 		pci_dbg(dev, "power state changed by ACPI to %s\n",
-		        acpi_power_state_string(adev->power.state));
+			acpi_power_state_string(adev->power.state));
 
 	return error;
 }
diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c
index 3a72352aa5cf..4642fe870f5a 100644
--- a/drivers/pci/pci-driver.c
+++ b/drivers/pci/pci-driver.c
@@ -189,6 +189,7 @@ static ssize_t new_id_store(struct device_driver *driver, const char *buf,
 
 	if (fields != 7) {
 		struct pci_dev *pdev = kzalloc(sizeof(*pdev), GFP_KERNEL);
+
 		if (!pdev)
 			return -ENOMEM;
 
@@ -208,7 +209,8 @@ static ssize_t new_id_store(struct device_driver *driver, const char *buf,
 	}
 
 	/* Only accept driver_data values that match an existing id_table
-	   entry */
+	 * entry
+	 */
 	if (ids) {
 		retval = -EINVAL;
 		while (ids->vendor || ids->subvendor || ids->class_mask) {
@@ -257,6 +259,7 @@ static ssize_t remove_id_store(struct device_driver *driver, const char *buf,
 	spin_lock(&pdrv->dynids.lock);
 	list_for_each_entry_safe(dynid, n, &pdrv->dynids.list, node) {
 		struct pci_device_id *id = &dynid->id;
+
 		if ((id->vendor == vendor) &&
 		    (id->device == device) &&
 		    (subvendor == PCI_ANY_ID || id->subvendor == subvendor) &&
@@ -514,6 +517,7 @@ static int pci_restore_standard_config(struct pci_dev *pci_dev)
 
 	if (pci_dev->current_state != PCI_D0) {
 		int error = pci_set_power_state(pci_dev, PCI_D0);
+
 		if (error)
 			return error;
 	}
@@ -661,6 +665,7 @@ static int pci_pm_prepare(struct device *dev)
 
 	if (pm && pm->prepare) {
 		int error = pm->prepare(dev);
+
 		if (error < 0)
 			return error;
 
@@ -1425,14 +1430,16 @@ static struct pci_driver pci_compat_driver = {
  */
 struct pci_driver *pci_dev_driver(const struct pci_dev *dev)
 {
+	int i;
+
 	if (dev->driver)
 		return dev->driver;
-	else {
-		int i;
-		for (i = 0; i <= PCI_ROM_RESOURCE; i++)
-			if (dev->resource[i].flags & IORESOURCE_BUSY)
-				return &pci_compat_driver;
+
+	for (i = 0; i <= PCI_ROM_RESOURCE; i++) {
+		if (dev->resource[i].flags & IORESOURCE_BUSY)
+			return &pci_compat_driver;
 	}
+
 	return NULL;
 }
 EXPORT_SYMBOL(pci_dev_driver);
diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c
index 5d63df7c1820..79d82696ce28 100644
--- a/drivers/pci/pci-sysfs.c
+++ b/drivers/pci/pci-sysfs.c
@@ -56,6 +56,7 @@ static ssize_t broken_parity_status_show(struct device *dev,
 					 char *buf)
 {
 	struct pci_dev *pdev = to_pci_dev(dev);
+
 	return sysfs_emit(buf, "%u\n", pdev->broken_parity_status);
 }
 
@@ -150,6 +151,7 @@ static ssize_t resource_show(struct device *dev, struct device_attribute *attr,
 
 	for (i = 0; i < max; i++) {
 		struct resource *res =  &pci_dev->resource[i];
+
 		pci_resource_to_user(pci_dev, i, res, &start, &end);
 		len += sysfs_emit_at(buf, len, "0x%016llx 0x%016llx 0x%016llx\n",
 				     (unsigned long long)start,
@@ -523,6 +525,7 @@ static ssize_t d3cold_allowed_show(struct device *dev,
 				   struct device_attribute *attr, char *buf)
 {
 	struct pci_dev *pdev = to_pci_dev(dev);
+
 	return sysfs_emit(buf, "%u\n", pdev->d3cold_allowed);
 }
 static DEVICE_ATTR_RW(d3cold_allowed);
@@ -686,14 +689,14 @@ static ssize_t pci_read_config(struct file *filp, struct kobject *kobj,
 	if (off + count > size) {
 		size -= off;
 		count = size;
-	} else {
+	} else
 		size = count;
-	}
 
 	pci_config_pm_runtime_get(dev);
 
 	if ((off & 1) && size) {
 		u8 val;
+
 		pci_user_read_config_byte(dev, off, &val);
 		data[off - init_off] = val;
 		off++;
@@ -702,6 +705,7 @@ static ssize_t pci_read_config(struct file *filp, struct kobject *kobj,
 
 	if ((off & 3) && size > 2) {
 		u16 val;
+
 		pci_user_read_config_word(dev, off, &val);
 		data[off - init_off] = val & 0xff;
 		data[off - init_off + 1] = (val >> 8) & 0xff;
@@ -711,6 +715,7 @@ static ssize_t pci_read_config(struct file *filp, struct kobject *kobj,
 
 	while (size > 3) {
 		u32 val;
+
 		pci_user_read_config_dword(dev, off, &val);
 		data[off - init_off] = val & 0xff;
 		data[off - init_off + 1] = (val >> 8) & 0xff;
@@ -723,6 +728,7 @@ static ssize_t pci_read_config(struct file *filp, struct kobject *kobj,
 
 	if (size >= 2) {
 		u16 val;
+
 		pci_user_read_config_word(dev, off, &val);
 		data[off - init_off] = val & 0xff;
 		data[off - init_off + 1] = (val >> 8) & 0xff;
@@ -732,6 +738,7 @@ static ssize_t pci_read_config(struct file *filp, struct kobject *kobj,
 
 	if (size > 0) {
 		u8 val;
+
 		pci_user_read_config_byte(dev, off, &val);
 		data[off - init_off] = val;
 		off++;
@@ -774,6 +781,7 @@ static ssize_t pci_write_config(struct file *filp, struct kobject *kobj,
 
 	if ((off & 3) && size > 2) {
 		u16 val = data[off - init_off];
+
 		val |= (u16) data[off - init_off + 1] << 8;
 		pci_user_write_config_word(dev, off, val);
 		off += 2;
@@ -782,6 +790,7 @@ static ssize_t pci_write_config(struct file *filp, struct kobject *kobj,
 
 	while (size > 3) {
 		u32 val = data[off - init_off];
+
 		val |= (u32) data[off - init_off + 1] << 8;
 		val |= (u32) data[off - init_off + 2] << 16;
 		val |= (u32) data[off - init_off + 3] << 24;
@@ -792,6 +801,7 @@ static ssize_t pci_write_config(struct file *filp, struct kobject *kobj,
 
 	if (size >= 2) {
 		u16 val = data[off - init_off];
+
 		val |= (u16) data[off - init_off + 1] << 8;
 		pci_user_write_config_word(dev, off, val);
 		off += 2;
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index aacf575c15cf..0510f5b6f26f 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -805,6 +805,7 @@ int pci_wait_for_pending(struct pci_dev *dev, int pos, u16 mask)
 	/* Wait for Transaction Pending bit clean */
 	for (i = 0; i < 4; i++) {
 		u16 status;
+
 		if (i)
 			msleep((1 << (i - 1)) * 100);
 
@@ -1757,6 +1758,7 @@ struct pci_saved_state *pci_store_saved_state(struct pci_dev *dev)
 	cap = state->cap;
 	hlist_for_each_entry(tmp, &dev->saved_cap_space, next) {
 		size_t len = sizeof(struct pci_cap_saved_data) + tmp->cap.size;
+
 		memcpy(cap, &tmp->cap, len);
 		cap = (struct pci_cap_saved_data *)((u8 *)cap + len);
 	}
@@ -1812,6 +1814,7 @@ int pci_load_and_free_saved_state(struct pci_dev *dev,
 				  struct pci_saved_state **state)
 {
 	int ret = pci_load_saved_state(dev, *state);
+
 	kfree(*state);
 	*state = NULL;
 	return ret;
@@ -1908,6 +1911,7 @@ static int pci_enable_device_flags(struct pci_dev *dev, unsigned long flags)
 	 */
 	if (dev->pm_cap) {
 		u16 pmcsr;
+
 		pci_read_config_word(dev, dev->pm_cap + PCI_PM_CTRL, &pmcsr);
 		dev->current_state = (pmcsr & PCI_PM_CTRL_STATE_MASK);
 	}
@@ -2417,6 +2421,7 @@ void pci_pme_active(struct pci_dev *dev, bool enable)
 
 	if (dev->pme_poll) {
 		struct pci_pme_device *pme_dev;
+
 		if (enable) {
 			pme_dev = kmalloc(sizeof(struct pci_pme_device),
 					  GFP_KERNEL);
@@ -4322,7 +4327,7 @@ void __weak pcibios_set_master(struct pci_dev *dev)
 
 	pci_read_config_byte(dev, PCI_LATENCY_TIMER, &lat);
 	if (lat < 16)
-		lat = (64 <= pcibios_max_latency) ? 64 : pcibios_max_latency;
+		lat = (pcibios_max_latency >= 64) ? 64 : pcibios_max_latency;
 	else if (lat > pcibios_max_latency)
 		lat = pcibios_max_latency;
 	else
@@ -4373,7 +4378,8 @@ int pci_set_cacheline_size(struct pci_dev *dev)
 		return -EINVAL;
 
 	/* Validate current setting: the PCI_CACHE_LINE_SIZE must be
-	   equal to or multiple of the right value. */
+	 * equal to or multiple of the right value.
+	 */
 	pci_read_config_byte(dev, PCI_CACHE_LINE_SIZE, &cacheline_size);
 	if (cacheline_size >= pci_cache_line_size &&
 	    (cacheline_size % pci_cache_line_size) == 0)
@@ -6059,6 +6065,7 @@ EXPORT_SYMBOL(pcie_print_link_status);
 int pci_select_bars(struct pci_dev *dev, unsigned long flags)
 {
 	int i, bars = 0;
+
 	for (i = 0; i < PCI_NUM_RESOURCES; i++)
 		if (pci_resource_flags(dev, i) & flags)
 			bars |= (1 << i);
@@ -6174,11 +6181,11 @@ EXPORT_SYMBOL_GPL(pci_pr3_present);
  * cannot be left as a userspace activity).  DMA aliases should therefore
  * be configured via quirks, such as the PCI fixup header quirk.
  */
-void pci_add_dma_alias(struct pci_dev *dev, u8 devfn_from, unsigned nr_devfns)
+void pci_add_dma_alias(struct pci_dev *dev, u8 devfn_from, unsigned int nr_devfns)
 {
 	int devfn_to;
 
-	nr_devfns = min(nr_devfns, (unsigned) MAX_NR_DEVFNS - devfn_from);
+	nr_devfns = min(nr_devfns, (unsigned int) MAX_NR_DEVFNS - devfn_from);
 	devfn_to = devfn_from + nr_devfns - 1;
 
 	if (!dev->dma_alias_mask)
@@ -6593,6 +6600,7 @@ static int __init pci_setup(char *str)
 {
 	while (str) {
 		char *k = strchr(str, ',');
+
 		if (k)
 			*k++ = 0;
 		if (*str && (str = pcibios_setup(str)) && *str) {
diff --git a/drivers/pci/proc.c b/drivers/pci/proc.c
index d32fbfc93ea9..57b61d9f13c1 100644
--- a/drivers/pci/proc.c
+++ b/drivers/pci/proc.c
@@ -22,6 +22,7 @@ static int proc_initialized;	/* = 0 */
 static loff_t proc_bus_pci_lseek(struct file *file, loff_t off, int whence)
 {
 	struct pci_dev *dev = PDE_DATA(file_inode(file));
+
 	return fixed_size_llseek(file, off, whence, dev->cfg_size);
 }
 
@@ -60,6 +61,7 @@ static ssize_t proc_bus_pci_read(struct file *file, char __user *buf,
 
 	if ((pos & 1) && cnt) {
 		unsigned char val;
+
 		pci_user_read_config_byte(dev, pos, &val);
 		__put_user(val, buf);
 		buf++;
@@ -69,6 +71,7 @@ static ssize_t proc_bus_pci_read(struct file *file, char __user *buf,
 
 	if ((pos & 3) && cnt > 2) {
 		unsigned short val;
+
 		pci_user_read_config_word(dev, pos, &val);
 		__put_user(cpu_to_le16(val), (__le16 __user *) buf);
 		buf += 2;
@@ -78,6 +81,7 @@ static ssize_t proc_bus_pci_read(struct file *file, char __user *buf,
 
 	while (cnt >= 4) {
 		unsigned int val;
+
 		pci_user_read_config_dword(dev, pos, &val);
 		__put_user(cpu_to_le32(val), (__le32 __user *) buf);
 		buf += 4;
@@ -87,6 +91,7 @@ static ssize_t proc_bus_pci_read(struct file *file, char __user *buf,
 
 	if (cnt >= 2) {
 		unsigned short val;
+
 		pci_user_read_config_word(dev, pos, &val);
 		__put_user(cpu_to_le16(val), (__le16 __user *) buf);
 		buf += 2;
@@ -96,6 +101,7 @@ static ssize_t proc_bus_pci_read(struct file *file, char __user *buf,
 
 	if (cnt) {
 		unsigned char val;
+
 		pci_user_read_config_byte(dev, pos, &val);
 		__put_user(val, buf);
 		buf++;
@@ -137,6 +143,7 @@ static ssize_t proc_bus_pci_write(struct file *file, const char __user *buf,
 
 	if ((pos & 1) && cnt) {
 		unsigned char val;
+
 		__get_user(val, buf);
 		pci_user_write_config_byte(dev, pos, val);
 		buf++;
@@ -146,6 +153,7 @@ static ssize_t proc_bus_pci_write(struct file *file, const char __user *buf,
 
 	if ((pos & 3) && cnt > 2) {
 		__le16 val;
+
 		__get_user(val, (__le16 __user *) buf);
 		pci_user_write_config_word(dev, pos, le16_to_cpu(val));
 		buf += 2;
@@ -155,6 +163,7 @@ static ssize_t proc_bus_pci_write(struct file *file, const char __user *buf,
 
 	while (cnt >= 4) {
 		__le32 val;
+
 		__get_user(val, (__le32 __user *) buf);
 		pci_user_write_config_dword(dev, pos, le32_to_cpu(val));
 		buf += 4;
@@ -164,6 +173,7 @@ static ssize_t proc_bus_pci_write(struct file *file, const char __user *buf,
 
 	if (cnt >= 2) {
 		__le16 val;
+
 		__get_user(val, (__le16 __user *) buf);
 		pci_user_write_config_word(dev, pos, le16_to_cpu(val));
 		buf += 2;
@@ -173,6 +183,7 @@ static ssize_t proc_bus_pci_write(struct file *file, const char __user *buf,
 
 	if (cnt) {
 		unsigned char val;
+
 		__get_user(val, buf);
 		pci_user_write_config_byte(dev, pos, val);
 		buf++;
@@ -356,6 +367,7 @@ static void pci_seq_stop(struct seq_file *m, void *v)
 {
 	if (v) {
 		struct pci_dev *dev = v;
+
 		pci_dev_put(dev);
 	}
 }
@@ -380,6 +392,7 @@ static int show_device(struct seq_file *m, void *v)
 	/* only print standard and ROM resources to preserve compatibility */
 	for (i = 0; i <= PCI_ROM_RESOURCE; i++) {
 		resource_size_t start, end;
+
 		pci_resource_to_user(dev, i, &dev->resource[i], &start, &end);
 		seq_printf(m, "\t%16llx",
 			(unsigned long long)(start |
@@ -387,6 +400,7 @@ static int show_device(struct seq_file *m, void *v)
 	}
 	for (i = 0; i <= PCI_ROM_RESOURCE; i++) {
 		resource_size_t start, end;
+
 		pci_resource_to_user(dev, i, &dev->resource[i], &start, &end);
 		seq_printf(m, "\t%16llx",
 			dev->resource[i].start < dev->resource[i].end ?
@@ -456,6 +470,7 @@ int pci_proc_detach_bus(struct pci_bus *bus)
 static int __init pci_proc_init(void)
 {
 	struct pci_dev *dev = NULL;
+
 	proc_bus_pci_dir = proc_mkdir("bus/pci", NULL);
 	proc_create_seq("devices", 0, proc_bus_pci_dir,
 		    &proc_bus_pci_devices_op);
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 6d74386eadc2..e4c607d860c4 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -177,7 +177,7 @@ static int __init pci_apply_final_quirks(void)
 				continue;
 
 			pci_info(dev, "CLS mismatch (%u != %u), using %u bytes\n",
-			         cls << 2, tmp << 2,
+				 cls << 2, tmp << 2,
 				 pci_dfl_cache_line_size << 2);
 			pci_cache_line_size = pci_dfl_cache_line_size;
 		}
@@ -299,6 +299,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SI,	PCI_DEVICE_ID_SI_496,		quirk_nopcipci)
 static void quirk_nopciamd(struct pci_dev *dev)
 {
 	u8 rev;
+
 	pci_read_config_byte(dev, 0x08, &rev);
 	if (rev == 0x13) {
 		/* Erratum 24 */
@@ -501,7 +502,7 @@ static void quirk_s3_64M(struct pci_dev *dev)
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_S3,	PCI_DEVICE_ID_S3_868,		quirk_s3_64M);
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_S3,	PCI_DEVICE_ID_S3_968,		quirk_s3_64M);
 
-static void quirk_io(struct pci_dev *dev, int pos, unsigned size,
+static void quirk_io(struct pci_dev *dev, int pos, unsigned int size,
 		     const char *name)
 {
 	u32 region;
@@ -552,7 +553,7 @@ static void quirk_cs5536_vsa(struct pci_dev *dev)
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_CS5536_ISA, quirk_cs5536_vsa);
 
 static void quirk_io_region(struct pci_dev *dev, int port,
-				unsigned size, int nr, const char *name)
+				unsigned int size, int nr, const char *name)
 {
 	u16 region;
 	struct pci_bus_region bus_region;
@@ -666,7 +667,8 @@ static void piix4_io_quirk(struct pci_dev *dev, const char *name, unsigned int p
 	base = devres & 0xffff;
 	size = 16;
 	for (;;) {
-		unsigned bit = size >> 1;
+		unsigned int bit = size >> 1;
+
 		if ((bit & mask) == bit)
 			break;
 		size = bit;
@@ -692,7 +694,8 @@ static void piix4_mem_quirk(struct pci_dev *dev, const char *name, unsigned int
 	mask = (devres & 0x3f) << 16;
 	size = 128 << 16;
 	for (;;) {
-		unsigned bit = size >> 1;
+		unsigned int bit = size >> 1;
+
 		if ((bit & mask) == bit)
 			break;
 		size = bit;
@@ -806,7 +809,7 @@ static void ich6_lpc_acpi_gpio(struct pci_dev *dev)
 				"ICH6 GPIO");
 }
 
-static void ich6_lpc_generic_decode(struct pci_dev *dev, unsigned reg,
+static void ich6_lpc_generic_decode(struct pci_dev *dev, unsigned int reg,
 				    const char *name, int dynsize)
 {
 	u32 val;
@@ -850,7 +853,7 @@ static void quirk_ich6_lpc(struct pci_dev *dev)
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_ICH6_0, quirk_ich6_lpc);
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_ICH6_1, quirk_ich6_lpc);
 
-static void ich7_lpc_generic_decode(struct pci_dev *dev, unsigned reg,
+static void ich7_lpc_generic_decode(struct pci_dev *dev, unsigned int reg,
 				    const char *name)
 {
 	u32 val;
@@ -1194,6 +1197,7 @@ DECLARE_PCI_FIXUP_CLASS_RESUME_EARLY(PCI_ANY_ID, PCI_ANY_ID,
 static void quirk_amd_ordering(struct pci_dev *dev)
 {
 	u32 pcic;
+
 	pci_read_config_dword(dev, 0x4C, &pcic);
 	if ((pcic & 6) != 6) {
 		pcic |= 6;
@@ -1308,6 +1312,7 @@ DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_AMD, 0x7900, quirk_amd_ide_mode);
 static void quirk_svwks_csb5ide(struct pci_dev *pdev)
 {
 	u8 prog;
+
 	pci_read_config_byte(pdev, PCI_CLASS_PROG, &prog);
 	if (prog & 5) {
 		prog &= ~5;
@@ -1348,7 +1353,8 @@ DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_VENDOR_ID_ATI, PCI_ANY_ID,
 DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_VENDOR_ID_AL, PCI_ANY_ID,
 				PCI_CLASS_STORAGE_IDE, 8, quirk_no_ata_d3);
 /* VIA comes back fine but we need to keep it alive or ACPI GTM failures
-   occur when mode detecting */
+ * occur when mode detecting
+ */
 DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_VENDOR_ID_VIA, PCI_ANY_ID,
 				PCI_CLASS_STORAGE_IDE, 8, quirk_no_ata_d3);
 
@@ -1482,7 +1488,8 @@ static void asus_hides_smbus_hostbridge(struct pci_dev *dev)
 			case 0xB16C: /* Compaq Deskpro EP 401963-001 (PCA# 010174) */
 				/* Motherboard doesn't have Host bridge
 				 * subvendor/subdevice IDs, therefore checking
-				 * its on-board VGA controller */
+				 * its on-board VGA controller
+				 */
 				asus_hides_smbus = 1;
 			}
 		else if (dev->device == PCI_DEVICE_ID_INTEL_82801DB_2)
@@ -1494,7 +1501,8 @@ static void asus_hides_smbus_hostbridge(struct pci_dev *dev)
 				 * subvendor/subdevice IDs and on-board VGA
 				 * controller is disabled if an AGP card is
 				 * inserted, therefore checking USB UHCI
-				 * Controller #1 */
+				 * Controller #1
+				 */
 				asus_hides_smbus = 1;
 			}
 		else if (dev->device == PCI_DEVICE_ID_INTEL_82815_CGC)
@@ -1502,7 +1510,8 @@ static void asus_hides_smbus_hostbridge(struct pci_dev *dev)
 			case 0x001A: /* Compaq Deskpro EN SSF P667 815E */
 				/* Motherboard doesn't have host bridge
 				 * subvendor/subdevice IDs, therefore checking
-				 * its on-board VGA controller */
+				 * its on-board VGA controller
+				 */
 				asus_hides_smbus = 1;
 			}
 	}
@@ -1611,6 +1620,7 @@ DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_ICH6_1,
 static void quirk_sis_96x_smbus(struct pci_dev *dev)
 {
 	u8 val = 0;
+
 	pci_read_config_byte(dev, 0x77, &val);
 	if (val & 0x10) {
 		pci_info(dev, "Enabling SiS 96x SMBus\n");
@@ -2178,6 +2188,7 @@ static void quirk_plx_pci9050(struct pci_dev *dev)
 		if (pci_resource_len(dev, bar) == 0x80 &&
 		    (pci_resource_start(dev, bar) & 0x80)) {
 			struct resource *r = &dev->resource[bar];
+
 			pci_info(dev, "Re-allocating PLX PCI 9050 BAR %u to length 256 to avoid bit 7 bug\n",
 				 bar);
 			r->flags |= IORESOURCE_UNSET;
@@ -2469,6 +2480,7 @@ static void quirk_brcm_5719_limit_mrrs(struct pci_dev *dev)
 	/* Only CAP the MRRS if the device is a 5719 A0 */
 	if (rev == 0x05719000) {
 		int readrq = pcie_get_readrq(dev);
+
 		if (readrq > 2048)
 			pcie_set_readrq(dev, 2048);
 	}
@@ -3351,6 +3363,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e0d, quirk_intel_ntb);
 static void disable_igfx_irq(struct pci_dev *dev)
 {
 	void __iomem *regs = pci_iomap(dev, 0, 0);
+
 	if (regs == NULL) {
 		pci_warn(dev, "igfx quirk: Can't iomap PCI device\n");
 		return;
diff --git a/drivers/pci/remove.c b/drivers/pci/remove.c
index dd12c2fcc7dc..e93241b2ca6e 100644
--- a/drivers/pci/remove.c
+++ b/drivers/pci/remove.c
@@ -9,6 +9,7 @@ static void pci_free_resources(struct pci_dev *dev)
 
 	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
 		struct resource *res = dev->resource + i;
+
 		if (res->parent)
 			release_resource(res);
 	}
diff --git a/drivers/pci/rom.c b/drivers/pci/rom.c
index 8fc9a4e911e3..e18d3a4383ba 100644
--- a/drivers/pci/rom.c
+++ b/drivers/pci/rom.c
@@ -85,7 +85,7 @@ static size_t pci_get_rom_size(struct pci_dev *pdev, void __iomem *rom,
 {
 	void __iomem *image;
 	int last_image;
-	unsigned length;
+	unsigned int length;
 
 	image = rom;
 	do {
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index 2ce636937c6e..15c7b560a62b 100644
--- a/drivers/pci/setup-bus.c
+++ b/drivers/pci/setup-bus.c
@@ -186,6 +186,7 @@ static void __dev_sort_resources(struct pci_dev *dev, struct list_head *head)
 	/* Don't touch IOAPIC devices already enabled by firmware */
 	if (class == PCI_CLASS_SYSTEM_PIC) {
 		u16 command;
+
 		pci_read_config_word(dev, PCI_COMMAND, &command);
 		if (command & (PCI_COMMAND_IO | PCI_COMMAND_MEMORY))
 			return;
@@ -1212,6 +1213,7 @@ void __pci_bus_size_bridges(struct pci_bus *bus, struct list_head *realloc_head)
 
 	list_for_each_entry(dev, &bus->devices, bus_list) {
 		struct pci_bus *b = dev->subordinate;
+
 		if (!b)
 			continue;
 
@@ -1525,7 +1527,7 @@ static void pci_bridge_release_resources(struct pci_bus *bus,
 {
 	struct pci_dev *dev = bus->self;
 	struct resource *r;
-	unsigned old_flags = 0;
+	unsigned int old_flags = 0;
 	struct resource *b_res;
 	int idx = 1;
 
@@ -1597,6 +1599,7 @@ static void pci_bus_release_bridge_resources(struct pci_bus *bus,
 
 	list_for_each_entry(dev, &bus->devices, bus_list) {
 		struct pci_bus *b = dev->subordinate;
+
 		if (!b)
 			continue;
 
diff --git a/drivers/pci/setup-irq.c b/drivers/pci/setup-irq.c
index 7129494754dd..e9cd25069390 100644
--- a/drivers/pci/setup-irq.c
+++ b/drivers/pci/setup-irq.c
@@ -29,10 +29,11 @@ void pci_assign_irq(struct pci_dev *dev)
 	}
 
 	/* If this device is not on the primary bus, we need to figure out
-	   which interrupt pin it will come in on.   We know which slot it
-	   will come in on 'cos that slot is where the bridge is.   Each
-	   time the interrupt line passes through a PCI-PCI bridge we must
-	   apply the swizzle function.  */
+	 * which interrupt pin it will come in on.   We know which slot it
+	 *  will come in on 'cos that slot is where the bridge is.   Each
+	 * time the interrupt line passes through a PCI-PCI bridge we must
+	 * apply the swizzle function.
+	 */
 
 	pci_read_config_byte(dev, PCI_INTERRUPT_PIN, &pin);
 	/* Cope with illegal. */
@@ -57,6 +58,7 @@ void pci_assign_irq(struct pci_dev *dev)
 	pci_dbg(dev, "assign IRQ: got %d\n", dev->irq);
 
 	/* Always tell the device, so the driver knows what is
-	   the real IRQ to use; the device does not use it. */
+	 * the real IRQ to use; the device does not use it.
+	 */
 	pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq);
 }
diff --git a/drivers/pci/setup-res.c b/drivers/pci/setup-res.c
index 7f1acb3918d0..1b969b8a57f6 100644
--- a/drivers/pci/setup-res.c
+++ b/drivers/pci/setup-res.c
@@ -240,7 +240,7 @@ resource_size_t __weak pcibios_align_resource(void *data,
 					      resource_size_t size,
 					      resource_size_t align)
 {
-       return res->start;
+	return res->start;
 }
 
 static int __pci_assign_resource(struct pci_bus *bus, struct pci_dev *dev,
diff --git a/drivers/pci/slot.c b/drivers/pci/slot.c
index 751a26668e3a..3ce066fef724 100644
--- a/drivers/pci/slot.c
+++ b/drivers/pci/slot.c
@@ -20,6 +20,7 @@ static ssize_t pci_slot_attr_show(struct kobject *kobj,
 {
 	struct pci_slot *slot = to_pci_slot(kobj);
 	struct pci_slot_attribute *attribute = to_pci_slot_attr(attr);
+
 	return attribute->show ? attribute->show(slot, buf) : -EIO;
 }
 
@@ -28,6 +29,7 @@ static ssize_t pci_slot_attr_store(struct kobject *kobj,
 {
 	struct pci_slot *slot = to_pci_slot(kobj);
 	struct pci_slot_attribute *attribute = to_pci_slot_attr(attr);
+
 	return attribute->store ? attribute->store(slot, buf, len) : -EIO;
 }
 
@@ -123,6 +125,7 @@ static char *make_slot_name(const char *name)
 
 	for (;;) {
 		struct kobject *dup_slot;
+
 		dup_slot = kset_find_obj(pci_slots_kset, new_name);
 		if (!dup_slot)
 			break;
@@ -350,7 +353,7 @@ EXPORT_SYMBOL_GPL(pci_hp_create_module_link);
 
 /**
  * pci_hp_remove_module_link - remove symbolic link to the hotplug driver
- * 	module.
+ * module.
  * @pci_slot: struct pci_slot
  *
  * Helper function for pci_hotplug_core.c to remove symbolic link to
diff --git a/drivers/pci/syscall.c b/drivers/pci/syscall.c
index 8b003c890b87..985db1e59a9c 100644
--- a/drivers/pci/syscall.c
+++ b/drivers/pci/syscall.c
@@ -65,8 +65,9 @@ SYSCALL_DEFINE5(pciconfig_read, unsigned long, bus, unsigned long, dfn,
 
 error:
 	/* ??? XFree86 doesn't even check the return value.  They
-	   just look for 0xffffffff in the output, since that's what
-	   they get instead of a machine check on x86.  */
+	 * just look for 0xffffffff in the output, since that's what
+	 * they get instead of a machine check on x86.
+	 */
 	switch (len) {
 	case 1:
 		put_user(-1, (unsigned char __user *)buf);
diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c
index b7a8f3a1921f..8b51393890a2 100644
--- a/drivers/pci/xen-pcifront.c
+++ b/drivers/pci/xen-pcifront.c
@@ -115,7 +115,7 @@ static int do_pci_op(struct pcifront_device *pdev, struct xen_pci_op *op)
 	struct xen_pci_op *active_op = &pdev->sh_info->op;
 	unsigned long irq_flags;
 	evtchn_port_t port = pdev->evtchn;
-	unsigned irq = pdev->irq;
+	unsigned int irq = pdev->irq;
 	s64 ns, ns_timeout;
 
 	spin_lock_irqsave(&pdev->sh_info_lock, irq_flags);
@@ -153,10 +153,9 @@ static int do_pci_op(struct pcifront_device *pdev, struct xen_pci_op *op)
 	}
 
 	/*
-	* We might lose backend service request since we
-	* reuse same evtchn with pci_conf backend response. So re-schedule
-	* aer pcifront service.
-	*/
+	 * We might lose backend service request since we reuse same evtchn with
+	 * pci_conf backend response. So re-schedule aer pcifront service.
+	 */
 	if (test_bit(_XEN_PCIB_active,
 			(unsigned long *)&pdev->sh_info->flags)) {
 		dev_err(&pdev->xdev->dev,
@@ -493,7 +492,8 @@ static int pcifront_scan_root(struct pcifront_device *pdev,
 	list_add(&bus_entry->list, &pdev->root_buses);
 
 	/* pci_scan_root_bus skips devices which do not have a
-	* devfn==0. The pcifront_scan_bus enumerates all devfn. */
+	 * devfn==0. The pcifront_scan_bus enumerates all devfn.
+	 */
 	err = pcifront_scan_bus(pdev, domain, bus, b);
 
 	/* Claim resources before going "live" with our devices */
@@ -651,8 +651,9 @@ static void pcifront_do_aer(struct work_struct *data)
 	pci_channel_state_t state =
 		(pci_channel_state_t)pdev->sh_info->aer_op.err;
 
-	/*If a pci_conf op is in progress,
-		we have to wait until it is done before service aer op*/
+	/* If a pci_conf op is in progress,
+	 * we have to wait until it is done before service aer op.
+	 */
 	dev_dbg(&pdev->xdev->dev,
 		"pcifront service aer bus %x devfn %x\n",
 		pdev->sh_info->aer_op.bus, pdev->sh_info->aer_op.devfn);
@@ -676,6 +677,7 @@ static void pcifront_do_aer(struct work_struct *data)
 static irqreturn_t pcifront_handler_aer(int irq, void *dev)
 {
 	struct pcifront_device *pdev = dev;
+
 	schedule_pcifront_aer_op(pdev);
 	return IRQ_HANDLED;
 }
@@ -1027,6 +1029,7 @@ static int pcifront_detach_devices(struct pcifront_device *pdev)
 	/* Find devices being detached and remove them. */
 	for (i = 0; i < num_devs; i++) {
 		int l, state;
+
 		l = snprintf(str, sizeof(str), "state-%d", i);
 		if (unlikely(l >= (sizeof(str) - 1))) {
 			err = -ENOMEM;
@@ -1137,6 +1140,7 @@ static int pcifront_xenbus_probe(struct xenbus_device *xdev,
 static int pcifront_xenbus_remove(struct xenbus_device *xdev)
 {
 	struct pcifront_device *pdev = dev_get_drvdata(&xdev->dev);
+
 	if (pdev)
 		free_pdev(pdev);
 
-- 
2.32.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 09 16:53:06 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 16:53:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.164407.301669 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD8WM-0006QK-GX; Mon, 09 Aug 2021 16:53:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 164407.301669; Mon, 09 Aug 2021 16:53:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD8WM-0006Nl-68; Mon, 09 Aug 2021 16:53:02 +0000
Received: by outflank-mailman (input) for mailman id 164407;
 Thu, 05 Aug 2021 15:11:07 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=UwlS=M4=linux.ibm.com=ajd@srs-us1.protection.inumbo.net>)
 id 1mBf1X-00010d-Ap
 for xen-devel@lists.xenproject.org; Thu, 05 Aug 2021 15:11:07 +0000
Received: from mx0a-001b2d01.pphosted.com (unknown [148.163.156.1])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 2846347d-f795-46ad-89fa-ca7c3a698849;
 Thu, 05 Aug 2021 15:11:04 +0000 (UTC)
Received: from pps.filterd (m0098409.ppops.net [127.0.0.1])
 by mx0a-001b2d01.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id
 175F4EmC005933; Thu, 5 Aug 2021 11:09:52 -0400
Received: from pps.reinject (localhost [127.0.0.1])
 by mx0a-001b2d01.pphosted.com with ESMTP id 3a88599e9v-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 05 Aug 2021 11:09:52 -0400
Received: from m0098409.ppops.net (m0098409.ppops.net [127.0.0.1])
 by pps.reinject (8.16.0.43/8.16.0.43) with SMTP id 175F4lkt007894;
 Thu, 5 Aug 2021 11:09:51 -0400
Received: from ppma06fra.de.ibm.com (48.49.7a9f.ip4.static.sl-reverse.com
 [159.122.73.72])
 by mx0a-001b2d01.pphosted.com with ESMTP id 3a88599e7j-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 05 Aug 2021 11:09:51 -0400
Received: from pps.filterd (ppma06fra.de.ibm.com [127.0.0.1])
 by ppma06fra.de.ibm.com (8.16.1.2/8.16.1.2) with SMTP id 175F8XUx021505;
 Thu, 5 Aug 2021 15:09:47 GMT
Received: from b06cxnps4074.portsmouth.uk.ibm.com
 (d06relay11.portsmouth.uk.ibm.com [9.149.109.196])
 by ppma06fra.de.ibm.com with ESMTP id 3a4wsj27yx-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 05 Aug 2021 15:09:47 +0000
Received: from d06av24.portsmouth.uk.ibm.com (mk.ibm.com [9.149.105.60])
 by b06cxnps4074.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id
 175F9iFG49348978
 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Thu, 5 Aug 2021 15:09:45 GMT
Received: from d06av24.portsmouth.uk.ibm.com (unknown [127.0.0.1])
 by IMSVA (Postfix) with ESMTP id BC867421F2;
 Thu,  5 Aug 2021 15:09:44 +0000 (GMT)
Received: from d06av24.portsmouth.uk.ibm.com (unknown [127.0.0.1])
 by IMSVA (Postfix) with ESMTP id 6879D421D7;
 Thu,  5 Aug 2021 15:09:44 +0000 (GMT)
Received: from ozlabs.au.ibm.com (unknown [9.192.253.14])
 by d06av24.portsmouth.uk.ibm.com (Postfix) with ESMTP;
 Thu,  5 Aug 2021 15:09:44 +0000 (GMT)
Received: from [9.206.171.115] (unknown [9.206.171.115])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by ozlabs.au.ibm.com (Postfix) with ESMTPSA id D69DE600B2;
 Fri,  6 Aug 2021 01:09:19 +1000 (AEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2846347d-f795-46ad-89fa-ca7c3a698849
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=subject : to : cc :
 references : from : message-id : date : mime-version : in-reply-to :
 content-type : content-transfer-encoding; s=pp1;
 bh=PYHeUHL0ZH8GoGa/stFMWsqDkOKMwYpeVYQU+PRHDys=;
 b=kWCQrWA8FO5KjMsKJYhTjzMslbexR3lrUnigXsdYDtzPndt3N6OUvoEdkVx9002xs7lj
 0Agjq9pZ+7AHBWChrwjltOA5lzXp4B5IF3Ghn4zNbly1JArc+EARvIUVX8FL+8qEMZJ7
 A8Db7/fGPv9ocXDf3uZwSmBFRyPaCA1UYaWMB5VML1ZmzhbOU9ZkeGYNFxm7hwmmrQdO
 OjeQWLkTR1qVQzb3vbrghmADqt0LrDt+b3ardW94BLZUQODxLYQvY1hqylCDIzHc6qoD
 UXsjpxAIhvrAtuRnuQwMMzpTl5+36Prhqr6y6VaWwVWHT3/2j4xQ1zzlsCjkbkNQpJdx 1w== 
Subject: Re: [PATCH v2 5/6] PCI: Adapt all code locations to not use struct
 pci_dev::driver directly
To: =?UTF-8?Q?Uwe_Kleine-K=c3=b6nig?= <u.kleine-koenig@pengutronix.de>,
        Bjorn Helgaas <bhelgaas@google.com>
Cc: kernel@pengutronix.de, Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
        linux-pci@vger.kernel.org, Michael Ellerman <mpe@ellerman.id.au>,
        Benjamin Herrenschmidt <benh@kernel.crashing.org>,
        Paul Mackerras <paulus@samba.org>, Russell Currey <ruscur@russell.cc>,
        "Oliver O'Halloran" <oohall@gmail.com>,
        Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>,
        Arnaldo Carvalho de Melo <acme@kernel.org>,
        Mark Rutland <mark.rutland@arm.com>,
        Alexander Shishkin <alexander.shishkin@linux.intel.com>,
        Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
        Thomas Gleixner <tglx@linutronix.de>, Borislav Petkov <bp@alien8.de>,
        x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
        =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= <zajec5@gmail.com>,
        Zhou Wang <wangzhou1@hisilicon.com>,
        Herbert Xu
 <herbert@gondor.apana.org.au>,
        "David S. Miller" <davem@davemloft.net>,
        Giovanni Cabiddu <giovanni.cabiddu@intel.com>,
        Sathya Prakash <sathya.prakash@broadcom.com>,
        Sreekanth Reddy <sreekanth.reddy@broadcom.com>,
        Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>,
        Frederic Barrat <fbarrat@linux.ibm.com>, Arnd Bergmann <arnd@arndb.de>,
        Yisen Zhuang <yisen.zhuang@huawei.com>,
        Salil Mehta
 <salil.mehta@huawei.com>,
        Jakub Kicinski <kuba@kernel.org>, Vadym Kochan <vkochan@marvell.com>,
        Taras Chornyi <tchornyi@marvell.com>, Jiri Pirko <jiri@nvidia.com>,
        Ido Schimmel <idosch@nvidia.com>,
        Simon Horman <simon.horman@corigine.com>,
        Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
        Boris Ostrovsky <boris.ostrovsky@oracle.com>,
        Juergen Gross
 <jgross@suse.com>,
        Stefano Stabellini <sstabellini@kernel.org>,
        Michael Buesch <m@bues.ch>, Mathias Nyman <mathias.nyman@intel.com>,
        Fiona Trahe <fiona.trahe@intel.com>,
        Andy Shevchenko <andriy.shevchenko@intel.com>,
        Wojciech Ziemba <wojciech.ziemba@intel.com>,
        Alexander Duyck <alexanderduyck@fb.com>, linuxppc-dev@lists.ozlabs.org,
        linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
        linux-wireless@vger.kernel.org, linux-crypto@vger.kernel.org,
        qat-linux@intel.com, MPT-FusionLinux.pdl@broadcom.com,
        linux-scsi@vger.kernel.org, netdev@vger.kernel.org,
        oss-drivers@corigine.com, xen-devel@lists.xenproject.org,
        linux-usb@vger.kernel.org
References: <20210803100150.1543597-1-u.kleine-koenig@pengutronix.de>
 <20210803100150.1543597-6-u.kleine-koenig@pengutronix.de>
From: Andrew Donnellan <ajd@linux.ibm.com>
Message-ID: <4b8d26d5-443c-600f-78a9-de5214c80452@linux.ibm.com>
Date: Fri, 6 Aug 2021 01:09:08 +1000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <20210803100150.1543597-6-u.kleine-koenig@pengutronix.de>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 8bit
X-TM-AS-GCONF: 00
X-Proofpoint-GUID: SKWjp6RCFUPhal8PxWyzHfD-QFMwM8HG
X-Proofpoint-ORIG-GUID: V9rEFGa5BbjLQbM1Nl6jGEVpBSAwreDP
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.391,18.0.790
 definitions=2021-08-05_05:2021-08-05,2021-08-05 signatures=0
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0
 spamscore=0 malwarescore=0 mlxlogscore=999 mlxscore=0 bulkscore=0
 adultscore=0 impostorscore=0 clxscore=1011 suspectscore=0
 priorityscore=1501 phishscore=0 classifier=spam adjust=0 reason=mlx
 scancount=1 engine=8.12.0-2107140000 definitions=main-2108050092

On 3/8/21 8:01 pm, Uwe Kleine-König wrote:
> This prepares removing the driver member of struct pci_dev which holds the
> same information than struct pci_dev::dev->driver.
> 
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>

cxl hunks look alright.

Acked-by: Andrew Donnellan <ajd@linux.ibm.com> # cxl

-- 
Andrew Donnellan              OzLabs, ADL Canberra
ajd@linux.ibm.com             IBM Australia Limited


From xen-devel-bounces@lists.xenproject.org Mon Aug 09 16:53:06 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 16:53:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.163561.301657 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD8WL-0006JS-QI; Mon, 09 Aug 2021 16:53:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 163561.301657; Mon, 09 Aug 2021 16:53:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD8WL-0006JL-LC; Mon, 09 Aug 2021 16:53:01 +0000
Received: by outflank-mailman (input) for mailman id 163561;
 Tue, 03 Aug 2021 14:46:18 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=76RD=M2=idosch.org=idosch@srs-us1.protection.inumbo.net>)
 id 1mAvgQ-0007gM-Bl
 for xen-devel@lists.xenproject.org; Tue, 03 Aug 2021 14:46:18 +0000
Received: from new1-smtp.messagingengine.com (unknown [66.111.4.221])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 8ef5d33e-f469-11eb-9ad9-12813bfff9fa;
 Tue, 03 Aug 2021 14:46:17 +0000 (UTC)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailnew.nyi.internal (Postfix) with ESMTP id EBF245806A0;
 Tue,  3 Aug 2021 10:46:16 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute1.internal (MEProxy); Tue, 03 Aug 2021 10:46:17 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 3 Aug 2021 10:46:09 -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: 8ef5d33e-f469-11eb-9ad9-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-transfer-encoding:content-type
	:date:from:in-reply-to:message-id:mime-version:references
	:subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm3; bh=ZhhzKAcbp08j/zLplXp7CUKlTW+9yQngYwV71xLLU
	uk=; b=F/09aFygJQYV2RtiZgmhk7lrEY/SgDHVCp9GLx/945GbshDofvqnTjhPv
	MdQvU0XkuXuw8J+MuhKrJ5gR1GZcomEdsTK6ZD7aIFtguwONkYK584aL0vB3+uOi
	1cZ7en9ladrjw6Am+2BpbC6fRp8uuoZu3LuWznvdmPAybGSJD4k6LsC2dgve+Rgl
	7lVDmmuL7y/jEYsgA56vScY1S21u5F3TLg4OLHZRv4+oQDdiQgC7TWc+gnXL5h4w
	2rvrqIo0t83pmPMDPPc41jSJk9WPHxdOeJIBVx4KzCnsejQeB77xOjaT3gfaZ5ud
	PQwuZWkKpupEjh03t9vkMNG6BzFeQ==
X-ME-Sender: <xms:slYJYT6kZeAR_u8nmIhOwwTdbdSTNZDG6YV26ZSH5RAkJpiwDMEecg>
    <xme:slYJYY6-9FEu98HWO-uZSzE-IqI3ADKc0IPE-fH4fhb6O37ZXlqSYAoGH26C6xR_Y
    3AnO0EnJ1_HFrI>
X-ME-Received: <xmr:slYJYacOsY7ys2tiGj1OcG6XygrXSWg4xrc9GnX_-fPcsyrhgEjtC7VnWYQEv5nVsTuIg9N7CZQZGuQjxh2ppRV9AbXp_w>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrieeggdejjecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvuffkfhggtggugfgjsehtkeertddttddunecuhfhrohhmpefkughoucfu
    tghhihhmmhgvlhcuoehiughoshgthhesihguohhstghhrdhorhhgqeenucggtffrrghtth
    gvrhhnpedvffevkeefieeiueeitedufeekveekuefhueeiudduteekgeelfedvgeehjeeh
    hfenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehiug
    hoshgthhesihguohhstghhrdhorhhg
X-ME-Proxy: <xmx:slYJYUKzZG3Xz6r6LaeXad3wYy6LOTbk81cO0cMnwYXwbSFEc7wHjQ>
    <xmx:slYJYXJjCcb3nZi9UnC0Hz6_YYtYtVnj1jBbwCxXsrsAsiMMX5tIkw>
    <xmx:slYJYdxfVsvKDxmjEDddhWRd4PUJmS19TokpDNA-XT3HSimKkg7Dwg>
    <xmx:uFYJYVgEB2oEZs8RPQxAloMFD7GNawFrzXmXD3USqGR6p1WsqWraOg>
Date: Tue, 3 Aug 2021 17:46:05 +0300
From: Ido Schimmel <idosch@idosch.org>
To: Uwe =?iso-8859-1?Q?Kleine-K=F6nig?= <u.kleine-koenig@pengutronix.de>
Cc: Bjorn Helgaas <bhelgaas@google.com>, kernel@pengutronix.de,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-pci@vger.kernel.org, Michael Ellerman <mpe@ellerman.id.au>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,	Russell Currey <ruscur@russell.cc>,
	Oliver O'Halloran <oohall@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,	Ingo Molnar <mingo@redhat.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,	Borislav Petkov <bp@alien8.de>,
 x86@kernel.org,	"H. Peter Anvin" <hpa@zytor.com>,
	=?utf-8?B?UmFmYcWCIE1pxYJlY2tp?= <zajec5@gmail.com>,
	Zhou Wang <wangzhou1@hisilicon.com>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	"David S. Miller" <davem@davemloft.net>,
	Giovanni Cabiddu <giovanni.cabiddu@intel.com>,
	Sathya Prakash <sathya.prakash@broadcom.com>,
	Sreekanth Reddy <sreekanth.reddy@broadcom.com>,
	Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>,
	Frederic Barrat <fbarrat@linux.ibm.com>,
	Andrew Donnellan <ajd@linux.ibm.com>, Arnd Bergmann <arnd@arndb.de>,
	Yisen Zhuang <yisen.zhuang@huawei.com>,
	Salil Mehta <salil.mehta@huawei.com>,	Jakub Kicinski <kuba@kernel.org>,
	Vadym Kochan <vkochan@marvell.com>,	Taras Chornyi <tchornyi@marvell.com>,
 Jiri Pirko <jiri@nvidia.com>,	Ido Schimmel <idosch@nvidia.com>,
	Simon Horman <simon.horman@corigine.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,	Michael Buesch <m@bues.ch>,
 Mathias Nyman <mathias.nyman@intel.com>,
	Fiona Trahe <fiona.trahe@intel.com>,
	Andy Shevchenko <andriy.shevchenko@intel.com>,
	Wojciech Ziemba <wojciech.ziemba@intel.com>,
	Alexander Duyck <alexanderduyck@fb.com>,	linuxppc-dev@lists.ozlabs.org,
 linux-kernel@vger.kernel.org,	linux-perf-users@vger.kernel.org,
 linux-wireless@vger.kernel.org,	linux-crypto@vger.kernel.org,
 qat-linux@intel.com,	MPT-FusionLinux.pdl@broadcom.com,
 linux-scsi@vger.kernel.org,	netdev@vger.kernel.org,
 oss-drivers@corigine.com,	xen-devel@lists.xenproject.org,
 linux-usb@vger.kernel.org
Subject: Re: [PATCH v2 5/6] PCI: Adapt all code locations to not use struct
 pci_dev::driver directly
Message-ID: <YQlWrcCY3X01eNJJ@shredder>
References: <20210803100150.1543597-1-u.kleine-koenig@pengutronix.de>
 <20210803100150.1543597-6-u.kleine-koenig@pengutronix.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20210803100150.1543597-6-u.kleine-koenig@pengutronix.de>

On Tue, Aug 03, 2021 at 12:01:49PM +0200, Uwe Kleine-Knig wrote:
> This prepares removing the driver member of struct pci_dev which holds the
> same information than struct pci_dev::dev->driver.
> 
> Signed-off-by: Uwe Kleine-Knig <u.kleine-koenig@pengutronix.de>
> ---
>  arch/powerpc/include/asm/ppc-pci.h            |  3 +-
>  arch/powerpc/kernel/eeh_driver.c              | 12 ++++---
>  arch/x86/events/intel/uncore.c                |  2 +-
>  arch/x86/kernel/probe_roms.c                  |  2 +-
>  drivers/bcma/host_pci.c                       |  6 ++--
>  drivers/crypto/hisilicon/qm.c                 |  2 +-
>  drivers/crypto/qat/qat_common/adf_aer.c       |  2 +-
>  drivers/message/fusion/mptbase.c              |  4 +--
>  drivers/misc/cxl/guest.c                      | 21 +++++------
>  drivers/misc/cxl/pci.c                        | 25 +++++++------
>  .../ethernet/hisilicon/hns3/hns3_ethtool.c    |  2 +-
>  .../ethernet/marvell/prestera/prestera_pci.c  |  2 +-
>  drivers/net/ethernet/mellanox/mlxsw/pci.c     |  2 +-
>  .../ethernet/netronome/nfp/nfp_net_ethtool.c  |  2 +-
>  drivers/pci/iov.c                             | 23 +++++++-----
>  drivers/pci/pci-driver.c                      | 28 ++++++++-------
>  drivers/pci/pci.c                             | 10 +++---
>  drivers/pci/pcie/err.c                        | 35 ++++++++++---------
>  drivers/pci/xen-pcifront.c                    |  3 +-
>  drivers/ssb/pcihost_wrapper.c                 |  7 ++--
>  drivers/usb/host/xhci-pci.c                   |  3 +-
>  21 files changed, 112 insertions(+), 84 deletions(-)

For mlxsw:

Tested-by: Ido Schimmel <idosch@nvidia.com>


From xen-devel-bounces@lists.xenproject.org Mon Aug 09 16:53:06 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 16:53:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165067.301686 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD8WN-0006mq-99; Mon, 09 Aug 2021 16:53:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165067.301686; Mon, 09 Aug 2021 16: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 1mD8WM-0006jr-VC; Mon, 09 Aug 2021 16:53:02 +0000
Received: by outflank-mailman (input) for mailman id 165067;
 Mon, 09 Aug 2021 16:47:10 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wLw1=NA=amazon.co.uk=prvs=848e13922=ahmeddan@srs-us1.protection.inumbo.net>)
 id 1mD8Qf-0005UX-Pk
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 16:47:09 +0000
Received: from smtp-fw-2101.amazon.com (unknown [72.21.196.25])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 093606a9-ffb3-49c1-bb14-ac7ef0f3c8b9;
 Mon, 09 Aug 2021 16:47:08 +0000 (UTC)
Received: from iad12-co-svc-p1-lb1-vlan2.amazon.com (HELO
 email-inbound-relay-2a-6e2fc477.us-west-2.amazon.com) ([10.43.8.2])
 by smtp-border-fw-2101.iad2.amazon.com with ESMTP; 09 Aug 2021 16:47:07 +0000
Received: from EX13D03EUA002.ant.amazon.com
 (pdx1-ws-svc-p6-lb9-vlan2.pdx.amazon.com [10.236.137.194])
 by email-inbound-relay-2a-6e2fc477.us-west-2.amazon.com (Postfix) with ESMTPS
 id 82D82A0827; Mon,  9 Aug 2021 16:47:06 +0000 (UTC)
Received: from EX13D24EUA001.ant.amazon.com (10.43.165.233) by
 EX13D03EUA002.ant.amazon.com (10.43.165.166) with Microsoft SMTP Server (TLS)
 id 15.0.1497.23; Mon, 9 Aug 2021 16:47:04 +0000
Received: from EX13D24EUA001.ant.amazon.com ([10.43.165.233]) by
 EX13D24EUA001.ant.amazon.com ([10.43.165.233]) with mapi id 15.00.1497.023;
 Mon, 9 Aug 2021 16:47:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 093606a9-ffb3-49c1-bb14-ac7ef0f3c8b9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
  d=amazon.co.uk; i=@amazon.co.uk; q=dns/txt;
  s=amazon201209; t=1628527628; x=1660063628;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:mime-version;
  bh=JUP7Mmyyf0qudqnMgOXP/D+ug/BAuDi0AJf92K4m/bM=;
  b=Jj+hMpR3Bz13hdIWffOYUnTgWl19LvcYKn7ZP7VIy6GlsLtL6F6Rzk9Y
   PqmKu2TPD84ttNQqK3Or5szPPZaZJHyOnZFPIvuwzoxqKZOBArrh+Aifs
   DEPh5XmYfVoRu9fn8byOWC+Bn3KZ2ZAFdHzKIsEdE8cFHAazVaOfQV4t2
   Q=;
X-IronPort-AV: E=Sophos;i="5.84,307,1620691200"; 
   d="scan'208,217";a="128190168"
From: "Ahmed, Daniele" <ahmeddan@amazon.co.uk>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Dario Faggioli <dfaggioli@suse.com>, Stefano Stabellini
	<sstabellini@kernel.org>, "Grall, Julien" <jgrall@amazon.co.uk>, "Doebel,
 Bjoern" <doebel@amazon.de>, "Pohlack, Martin" <mpohlack@amazon.de>,
	"julien@xen.org" <julien@xen.org>
Subject: Re: NULL scheduler DoS
Thread-Topic: NULL scheduler DoS
Thread-Index: AQHXjTpOV/XWdF2YLUCIZdYgL03TzatrcqqA
Date: Mon, 9 Aug 2021 16:47:04 +0000
Message-ID: <60E30D26-71E4-4657-B719-6E87C0F3AEE9@amazon.com>
References: <ED25BE5E-D695-4763-B97A-78D6040E2341@amazon.com>
In-Reply-To: <ED25BE5E-D695-4763-B97A-78D6040E2341@amazon.com>
Accept-Language: en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.43.165.246]
Content-Type: multipart/alternative;
	boundary="_000_60E30D2671E44657B7196E87C0F3AEE9amazoncom_"
MIME-Version: 1.0
Precedence: Bulk

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

Q0PigJlpbmcganVsaWVuQHhlbi5vcmcNCg0KRnJvbTogIkFobWVkLCBEYW5pZWxlIiA8YWhtZWRk
YW5AYW1hem9uLmNvLnVrPg0KRGF0ZTogTW9uZGF5LCA5IEF1Z3VzdCAyMDIxIGF0IDE3OjE5DQpU
bzogInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIgPHhlbi1kZXZlbEBsaXN0cy54ZW5w
cm9qZWN0Lm9yZz4NCkNjOiBEYXJpbyBGYWdnaW9saSA8ZGZhZ2dpb2xpQHN1c2UuY29tPiwgU3Rl
ZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPiwgIkdyYWxsLCBKdWxpZW4i
IDxqZ3JhbGxAYW1hem9uLmNvLnVrPiwgIkRvZWJlbCwgQmpvZXJuIiA8ZG9lYmVsQGFtYXpvbi5k
ZT4sICJQb2hsYWNrLCBNYXJ0aW4iIDxtcG9obGFja0BhbWF6b24uZGU+DQpTdWJqZWN0OiBOVUxM
IHNjaGVkdWxlciBEb1MNCg0KSGkgYWxsLA0KVGhlIE5VTEwgc2NoZWR1bGVyIGlzIGFmZmVjdGVk
IGJ5IGFuIGlzc3VlIHRoYXQgdHJpZ2dlcnMgYW4gYXNzZXJ0aW9uIGFuZCByZWJvb3RzIHRoZSBo
eXBlcnZpc29yLg0KDQpUaGlzIGlzc3VlIGFyaXNlIHdoZW46DQoNCiAgKiAgIGEgZ3Vlc3QgaXMg
YmVpbmcgY3JlYXRlZCB3aXRoIGEgY29uZmlndXJhdGlvbiBzcGVjaWZ5aW5nIGEgZmlsZSB0aGF0
IGRvZXMgbm90IGV4aXN0DQogICogICB0aGUgaHlwZXJ2aXNvciBib290cyB3aXRoIHRoZSBudWxs
IHNjaGVkdWxlcg0KNC4xNiBpcyBhZmZlY3RlZCBhbmQgNC4xNSBhbHNvLg0KDQpUaGlzIGlzIHRo
ZSBzdGFjayB0cmFjZSBmcm9tIDQuMTY6DQoNCihYRU4pIEFzc2VydGlvbiAnbnBjLT51bml0ID09
IHVuaXQnIGZhaWxlZCBhdCBudWxsLmM6Mzc3DQooWEVOKSAtLS0tWyBYZW4tNC4xNi11bnN0YWJs
ZSB4ODZfNjQgZGVidWc9eSBOb3QgdGFpbnRlZCBdLS0tLQ0KKFhFTikgQ1BVOiAzDQooWEVOKSBS
SVA6IGUwMDg6WzxmZmZmODJkMDQwMjRmNTc3Pl0gY29tbW9uL3NjaGVkL251bGwuYyN1bml0X2Rl
YXNzaWduKzB4MWMzLzB4MmVjDQooWEVOKSBSRkxBR1M6IDAwMDAwMDAwMDAwMTAwMDYgQ09OVEVY
VDogaHlwZXJ2aXNvcg0KKFhFTikgcmF4OiBmZmZmODMwMDVjZTFjODUwIHJieDogMDAwMDAwMDAw
MDAwMDAwMSByY3g6IDAwMDAwMDAwMDAwMDAwMDENCihYRU4pIHJkeDogZmZmZjgzMDA3ZmRlNmZj
MCByc2k6IGZmZmY4MzAwNWNlMWM3OTAgcmRpOiBmZmZmODMwMDdmZmI3ODUwDQooWEVOKSByYnA6
IGZmZmY4MzAwN2ZmZGZkYTAgcnNwOiBmZmZmODMwMDdmZmRmZDQ4IHI4OiAwMDAwMDAwMDAwMDAw
MDAwDQooWEVOKSByOTogMDAwMDAwMDAwMDA0OGZlZSByMTA6IDAwMDAwMDAwMDAwMDAwMDAgcjEx
OiAwMDAwMDAwMDAwMDAwMDAwDQooWEVOKSByMTI6IGZmZmY4MmQwNDA1YzkyOTggcjEzOiBmZmZm
ODMwMDdmN2ZkNTA4IHIxNDogZmZmZjgzMDA1Y2UxYzg1MA0KKFhFTikgcjE1OiBmZmZmODJkMDQw
NWUyNjgwIGNyMDogMDAwMDAwMDA4MDA1MDAzYiBjcjQ6IDAwMDAwMDAwMDAzNTI2ZTANCihYRU4p
IGNyMzogMDAwMDAwMDA3ZjZiMzAwMCBjcjI6IGZmZmY4ODgwNzJlNzlkYzANCihYRU4pIGZzYjog
MDAwMDAwMDAwMDAwMDAwMCBnc2I6IGZmZmY4ODgwNzFhYzAwMDAgZ3NzOiAwMDAwMDAwMDAwMDAw
MDAwDQooWEVOKSBkczogMDAyYiBlczogMDAyYiBmczogMDAwMCBnczogMDAwMCBzczogZTAxMCBj
czogZTAwOA0KKFhFTikgWGVuIGNvZGUgYXJvdW5kIDxmZmZmODJkMDQwMjRmNTc3PiAoY29tbW9u
L3NjaGVkL251bGwuYyN1bml0X2RlYXNzaWduKzB4MWMzLzB4MmVjKToNCihYRU4pIDQxIDVlIDQx
IDVmIDVkIGMzIDBmIDBiIDwwZj4gMGIgMGYgMGIgMGYgMGIgMGYgMGIgNDkgOGIgMDQgMjQgMGYg
YjcgMDAgNjYNCihYRU4pIFhlbiBzdGFjayB0cmFjZSBmcm9tIHJzcD1mZmZmODMwMDdmZmRmZDQ4
Og0KKFhFTikgZmZmZjgzMDA3ZmZkZmQ4OCBmZmZmODJkMDQwMjM5NjFjIDAwMDAwMDA0MDAwMDAw
MDAgZmZmZjgzMDA1Y2UxY2M1MA0KKFhFTikgMDAwMDAwMDAwMDAwMDAwMiBmZmZmODMwMDdmZmRm
ZDkwIGZmZmY4MzAwNWNlMWM3OTAgZmZmZjgyZDA0MDVjOTI5OA0KKFhFTikgZmZmZjgzMDA3Zjdm
ZDUwOCBmZmZmODMwMDVjZTFjODUwIGZmZmY4MmQwNDA1ZTI2ODAgZmZmZjgzMDA3ZmZkZmRlMA0K
KFhFTikgZmZmZjgyZDA0MDI0Zjg4OSBmZmZmODMwMDdmZmI3ODUwIGZmZmY4MzAwNWRkNjMwMDAg
ZmZmZjgzMDA1Y2UxYzc5MA0KKFhFTikgZmZmZjgzMDA1ODQ1YWIyOCBmZmZmODMwMDU4NDVhMDAw
IDAwMDAwMDAwMDAwMDAwMDAgZmZmZjgzMDA3ZmZkZmUwMA0KKFhFTikgZmZmZjgyZDA0MDI1MzMy
NiBmZmZmODMwMDVkZDYzMDAwIDAwMDAwMDAwMDAwMDAwMDAgZmZmZjgzMDA3ZmZkZmUzOA0KKFhF
TikgZmZmZjgyZDA0MDIwNTA2YiBmZmZmODMwMDdhODgxMDgwIDAwMDAwMDAwMDAwMDAwMDAgMDAw
MDAwMDAwMDAwMDAwMA0KKFhFTikgMDAwMDAwMDAwMDAwMDAwMCBmZmZmODJkMDQwNWQ2ZjgwIGZm
ZmY4MzAwN2ZmZGZlNzAgZmZmZjgyZDA0MDIyZDllNQ0KKFhFTikgMDAwMDAwMTEwMDAwMDAwMyBm
ZmZmODJkMDQwNWNmMTAwIGZmZmY4MmQwNDA1Y2YxMDAgZmZmZmZmZmZmZmZmZmZmZg0KKFhFTikg
ZmZmZjgyZDA0MDVjZWY4MCBmZmZmODMwMDdmZmRmZWE4IGZmZmY4MmQwNDAyMmUxNGIgMDAwMDAw
MDAwMDAwMDAwMw0KKFhFTikgZmZmZjgyZDA0MDVjZjEwMCAwMDAwMDAwMDAwMDA3ZmZmIDAwMDAw
MDAwMDAwMDAwMDMgMDAwMDAwMDAwMDAwMDAwMw0KKFhFTikgZmZmZjgzMDA3ZmZkZmViOCBmZmZm
ODJkMDQwMjJlMWU2IGZmZmY4MzAwN2ZmZGZlZjAgZmZmZjgyZDA0MDMxNzJiNA0KKFhFTikgZmZm
ZjgyZDA0MDMxNzIxZCBmZmZmODMwMDdmZWMxMDAwIGZmZmY4MzAwN2ZmYjYwMDAgMDAwMDAwMDAw
MDAwMDAwMw0KKFhFTikgZmZmZjgzMDA3ZmZjYzAwMCBmZmZmODMwMDdmZmRmZTE4IDAwMDAwMDAw
MDAwMDAwMDAgMDAwMDAwMDAwMDAwMDAwMA0KKFhFTikgMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAw
MDAwMDAwMDAwIDAwMDAwMDAwMDAwMDAwMDMgMDAwMDAwMDAwMDAwMDAwMw0KKFhFTikgMDAwMDAw
MDAwMDAwMDI0NiAwMDAwMDAwMDAwMDAwMDAzIDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAxYmY5
ZGRlNQ0KKFhFTikgMDAwMDAwMDAwMDAwMDAwMCBmZmZmZmZmZjgxMDAyM2FhIDAwMDAwMDAwMDAw
MDAwMDMgZGVhZGJlZWZkZWFkZjAwZA0KKFhFTikgZGVhZGJlZWZkZWFkZjAwZCAwMDAwMDEwMDAw
MDAwMDAwIGZmZmZmZmZmODEwMDIzYWEgMDAwMDAwMDAwMDAwZTAzMw0KKFhFTikgMDAwMDAwMDAw
MDAwMDI0NiBmZmZmYzkwMDQwMGEzZWE4IDAwMDAwMDAwMDAwMGUwMmIgN2ZmZGZmNzA3ZmZmZDE0
MA0KKFhFTikgMDAwMDAwMDE3ZmUzN2E2YyAwMDAwMDAwMDdmZmU4MDEwIDAwMDAwMDAwMDAwMDAw
MDAgMDAwMGUwMTAwMDAwMDAwMw0KKFhFTikgWGVuIGNhbGwgdHJhY2U6DQooWEVOKSBbPGZmZmY4
MmQwNDAyNGY1Nzc+XSBSIGNvbW1vbi9zY2hlZC9udWxsLmMjdW5pdF9kZWFzc2lnbisweDFjMy8w
eDJlYw0KKFhFTikgWzxmZmZmODJkMDQwMjRmODg5Pl0gRiBjb21tb24vc2NoZWQvbnVsbC5jI251
bGxfdW5pdF9yZW1vdmUrMHhmYy8weDEzNg0KKFhFTikgWzxmZmZmODJkMDQwMjUzMzI2Pl0gRiBz
Y2hlZF9kZXN0cm95X3ZjcHUrMHhjYS8weDE5OQ0KKFhFTikgWzxmZmZmODJkMDQwMjA1MDZiPl0g
RiBjb21tb24vZG9tYWluLmMjY29tcGxldGVfZG9tYWluX2Rlc3Ryb3krMHg2OC8weDEzZg0KKFhF
TikgWzxmZmZmODJkMDQwMjJkOWU1Pl0gRiBjb21tb24vcmN1cGRhdGUuYyNyY3VfcHJvY2Vzc19j
YWxsYmFja3MrMHhkYi8weDI0Yg0KKFhFTikgWzxmZmZmODJkMDQwMjJlMTRiPl0gRiBjb21tb24v
c29mdGlycS5jI19fZG9fc29mdGlycSsweDhhLzB4YmMNCihYRU4pIFs8ZmZmZjgyZDA0MDIyZTFl
Nj5dIEYgZG9fc29mdGlycSsweDEzLzB4MTUNCihYRU4pIFs8ZmZmZjgyZDA0MDMxNzJiND5dIEYg
YXJjaC94ODYvZG9tYWluLmMjaWRsZV9sb29wKzB4OTcvMHhlZQ0KKFhFTikNCihYRU4pDQooWEVO
KSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQooWEVOKSBQYW5pYyBv
biBDUFUgMzoNCihYRU4pIEFzc2VydGlvbiAnbnBjLT51bml0ID09IHVuaXQnIGZhaWxlZCBhdCBu
dWxsLmM6Mzc3DQooWEVOKSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
DQooWEVOKQ0KKFhFTikgUmVib290IGluIGZpdmUgc2Vjb25kcy4uLg0KDQpUaGlzIGlzIHRoZSBs
aW5lIG9mIHRoZSBhc3NlcnRpb24gdGhhdCB0cmlnZ2VycyB0aGUgcmVib290OiBodHRwczovL3hl
bmJpdHMueGVuLm9yZy9naXR3ZWIvP3A9eGVuLmdpdDthPWJsb2I7Zj14ZW4vY29tbW9uL3NjaGVk
L251bGwuYztoPTgyZDVkMWJhYWI4NTNkMjRmY2JiNDU1ZmIzZjNlODI2M2M4NzEyNzc7aGI9SEVB
RCNsMzc3DQoNClRvIHJlcHJvZHVjZSB0aGUgdnVsbmVyYWJpbGl0eSwgSSB0b29rIHRoZSBmb2xs
b3dpbmcgc3RlcHM6DQoNCiAgKiAgIEluc3RhbGwgWEVOOyBvbmx5IDQuMTUrIHNlZW0gdG8gYmUg
dnVsbmVyYWJsZQ0KICAqICAgVXNlIHRoZSBudWxsIHNjaGVkdWxlciAoZGVwZW5kcyBvbiB5b3Vy
IHNldHVwKTogZWRpdCAvZXRjL2RlZmF1bHQvZ3J1YiBhZGRpbmcgYXQgdGhlIGVuZCBvZiB0aGUg
ZmlsZTogR1JVQl9DTURMSU5FX1hFTj0ic2NoZWQ9bnVsbCIgYW5kIHVwZGF0ZSBncnViDQogICog
ICBSZWJvb3QgaW50byB4ZW4NCiAgKiAgIENyZWF0ZSBhIGZpbGUgZ3Vlc3QuY2ZnIHdpdGggdGhl
IGZvbGxvd2luZyBjb250ZW50cw0KbmFtZT0iZ3Vlc3QiDQpidWlsZGVyPSJodm0iDQptZW1vcnk9
NTEyDQoNCnNlcmlhbCA9IFsgJ2ZpbGU6L3RtcC9sb2cnLCAncHR5JyBdDQoNCmRpc2sgPSBbICcv
aG9tZS91c2VyL2Jvb3QuaXNvLCxoZGMsY2Ryb20nIF0NCg0Kb25fcmVib290ID0gImRlc3Ryb3ki
DQoNCnZjcHVzPTENCg0KTWFrZSBzdXJlIHRoYXQgdGhlIGZpbGUgL2hvbWUvdXNlci9ib290Lmlz
byBkb2VzIG5vdCBleGlzdA0KDQogICogICBDcmVhdGUgYSBndWVzdCB3aXRoIHRoaXMgY29uZmln
dXJhdGlvbjogeGwgY3JlYXRlIC1jIGd1ZXN0LmNmZw0KQ0PigJlpbmcgRGFyaW8sIFN0ZWZhbm8g
YW5kIEp1bGllbiB0byB3aG9tIEnigJl2ZSBzaG93biB0aGlzLg0KDQpUaGFua3MNCg0KRGFuaWVs
ZQ0K

--_000_60E30D2671E44657B7196E87C0F3AEE9amazoncom_
Content-Type: text/html; charset="utf-8"
Content-ID: <387CE50B58EF0E459FF86560918828AC@amazon.com>
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6bz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6b2ZmaWNlIiB4
bWxuczp3PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTp3b3JkIiB4bWxuczptPSJo
dHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDA0LzEyL29tbWwiIHhtbG5zPSJo
dHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwIj4NCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVp
dj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPg0KPG1l
dGEgbmFtZT0iR2VuZXJhdG9yIiBjb250ZW50PSJNaWNyb3NvZnQgV29yZCAxNSAoZmlsdGVyZWQg
bWVkaXVtKSI+DQo8c3R5bGU+PCEtLQ0KLyogRm9udCBEZWZpbml0aW9ucyAqLw0KQGZvbnQtZmFj
ZQ0KCXtmb250LWZhbWlseTpXaW5nZGluZ3M7DQoJcGFub3NlLTE6NSAwIDAgMCAwIDAgMCAwIDAg
MDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OiJDYW1icmlhIE1hdGgiOw0KCXBhbm9zZS0x
OjIgNCA1IDMgNSA0IDYgMyAyIDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTpDYWxpYnJp
Ow0KCXBhbm9zZS0xOjIgMTUgNSAyIDIgMiA0IDMgMiA0O30NCi8qIFN0eWxlIERlZmluaXRpb25z
ICovDQpwLk1zb05vcm1hbCwgbGkuTXNvTm9ybWFsLCBkaXYuTXNvTm9ybWFsDQoJe21hcmdpbjow
Y207DQoJZm9udC1zaXplOjExLjBwdDsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJp
ZjsNCgltc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUzt9DQphOmxpbmssIHNwYW4uTXNvSHlwZXJs
aW5rDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgljb2xvcjojMDU2M0MxOw0KCXRleHQtZGVj
b3JhdGlvbjp1bmRlcmxpbmU7fQ0Kc3Bhbi5FbWFpbFN0eWxlMTkNCgl7bXNvLXN0eWxlLXR5cGU6
cGVyc29uYWwtcmVwbHk7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7DQoJY29s
b3I6d2luZG93dGV4dDt9DQouTXNvQ2hwRGVmYXVsdA0KCXttc28tc3R5bGUtdHlwZTpleHBvcnQt
b25seTsNCglmb250LXNpemU6MTAuMHB0O30NCkBwYWdlIFdvcmRTZWN0aW9uMQ0KCXtzaXplOjYx
Mi4wcHQgNzkyLjBwdDsNCgltYXJnaW46NzIuMHB0IDcyLjBwdCA3Mi4wcHQgNzIuMHB0O30NCmRp
di5Xb3JkU2VjdGlvbjENCgl7cGFnZTpXb3JkU2VjdGlvbjE7fQ0KLyogTGlzdCBEZWZpbml0aW9u
cyAqLw0KQGxpc3QgbDANCgl7bXNvLWxpc3QtaWQ6MzczMzg2MjMzOw0KCW1zby1saXN0LXRlbXBs
YXRlLWlkczotNzgyMDQzMzI7fQ0KQGxpc3QgbDA6bGV2ZWwxDQoJe21zby1sZXZlbC1udW1iZXIt
Zm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDrvgrc7DQoJbXNvLWxldmVsLXRhYi1zdG9w
OjM2LjBwdDsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6
LTE4LjBwdDsNCgltc28tYW5zaS1mb250LXNpemU6MTAuMHB0Ow0KCWZvbnQtZmFtaWx5OlN5bWJv
bDt9DQpAbGlzdCBsMDpsZXZlbDINCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0Ow0K
CW1zby1sZXZlbC10ZXh0Om87DQoJbXNvLWxldmVsLXRhYi1zdG9wOjcyLjBwdDsNCgltc28tbGV2
ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6LTE4LjBwdDsNCgltc28tYW5z
aS1mb250LXNpemU6MTAuMHB0Ow0KCWZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyI7DQoJbXNvLWJp
ZGktZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7fQ0KQGxpc3QgbDA6bGV2ZWwzDQoJe21z
by1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDrvgqc7DQoJbXNv
LWxldmVsLXRhYi1zdG9wOjEwOC4wcHQ7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0
Ow0KCXRleHQtaW5kZW50Oi0xOC4wcHQ7DQoJbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsNCglm
b250LWZhbWlseTpXaW5nZGluZ3M7fQ0KQGxpc3QgbDA6bGV2ZWw0DQoJe21zby1sZXZlbC1udW1i
ZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDrvgqc7DQoJbXNvLWxldmVsLXRhYi1z
dG9wOjE0NC4wcHQ7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5k
ZW50Oi0xOC4wcHQ7DQoJbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsNCglmb250LWZhbWlseTpX
aW5nZGluZ3M7fQ0KQGxpc3QgbDA6bGV2ZWw1DQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1
bGxldDsNCgltc28tbGV2ZWwtdGV4dDrvgqc7DQoJbXNvLWxldmVsLXRhYi1zdG9wOjE4MC4wcHQ7
DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0xOC4wcHQ7
DQoJbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsNCglmb250LWZhbWlseTpXaW5nZGluZ3M7fQ0K
QGxpc3QgbDA6bGV2ZWw2DQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28t
bGV2ZWwtdGV4dDrvgqc7DQoJbXNvLWxldmVsLXRhYi1zdG9wOjIxNi4wcHQ7DQoJbXNvLWxldmVs
LW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0xOC4wcHQ7DQoJbXNvLWFuc2kt
Zm9udC1zaXplOjEwLjBwdDsNCglmb250LWZhbWlseTpXaW5nZGluZ3M7fQ0KQGxpc3QgbDA6bGV2
ZWw3DQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDrv
gqc7DQoJbXNvLWxldmVsLXRhYi1zdG9wOjI1Mi4wcHQ7DQoJbXNvLWxldmVsLW51bWJlci1wb3Np
dGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0xOC4wcHQ7DQoJbXNvLWFuc2ktZm9udC1zaXplOjEw
LjBwdDsNCglmb250LWZhbWlseTpXaW5nZGluZ3M7fQ0KQGxpc3QgbDA6bGV2ZWw4DQoJe21zby1s
ZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDrvgqc7DQoJbXNvLWxl
dmVsLXRhYi1zdG9wOjI4OC4wcHQ7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0K
CXRleHQtaW5kZW50Oi0xOC4wcHQ7DQoJbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsNCglmb250
LWZhbWlseTpXaW5nZGluZ3M7fQ0KQGxpc3QgbDA6bGV2ZWw5DQoJe21zby1sZXZlbC1udW1iZXIt
Zm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDrvgqc7DQoJbXNvLWxldmVsLXRhYi1zdG9w
OjMyNC4wcHQ7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50
Oi0xOC4wcHQ7DQoJbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsNCglmb250LWZhbWlseTpXaW5n
ZGluZ3M7fQ0KQGxpc3QgbDENCgl7bXNvLWxpc3QtaWQ6NzkwMDU3NDY1Ow0KCW1zby1saXN0LXRl
bXBsYXRlLWlkczotMTk0OTk4NTU0O30NCkBsaXN0IGwxOmxldmVsMQ0KCXttc28tbGV2ZWwtbnVt
YmVyLWZvcm1hdDpidWxsZXQ7DQoJbXNvLWxldmVsLXRleHQ674K3Ow0KCW1zby1sZXZlbC10YWIt
c3RvcDozNi4wcHQ7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5k
ZW50Oi0xOC4wcHQ7DQoJbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsNCglmb250LWZhbWlseTpT
eW1ib2w7fQ0KQGxpc3QgbDE6bGV2ZWwyDQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxl
dDsNCgltc28tbGV2ZWwtdGV4dDpvOw0KCW1zby1sZXZlbC10YWItc3RvcDo3Mi4wcHQ7DQoJbXNv
LWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0xOC4wcHQ7DQoJbXNv
LWFuc2ktZm9udC1zaXplOjEwLjBwdDsNCglmb250LWZhbWlseToiQ291cmllciBOZXciOw0KCW1z
by1iaWRpLWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO30NCkBsaXN0IGwxOmxldmVsMw0K
CXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7DQoJbXNvLWxldmVsLXRleHQ674KnOw0K
CW1zby1sZXZlbC10YWItc3RvcDoxMDguMHB0Ow0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246
bGVmdDsNCgl0ZXh0LWluZGVudDotMTguMHB0Ow0KCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7
DQoJZm9udC1mYW1pbHk6V2luZ2RpbmdzO30NCkBsaXN0IGwxOmxldmVsNA0KCXttc28tbGV2ZWwt
bnVtYmVyLWZvcm1hdDpidWxsZXQ7DQoJbXNvLWxldmVsLXRleHQ674KnOw0KCW1zby1sZXZlbC10
YWItc3RvcDoxNDQuMHB0Ow0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgl0ZXh0
LWluZGVudDotMTguMHB0Ow0KCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7DQoJZm9udC1mYW1p
bHk6V2luZ2RpbmdzO30NCkBsaXN0IGwxOmxldmVsNQ0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1h
dDpidWxsZXQ7DQoJbXNvLWxldmVsLXRleHQ674KnOw0KCW1zby1sZXZlbC10YWItc3RvcDoxODAu
MHB0Ow0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgl0ZXh0LWluZGVudDotMTgu
MHB0Ow0KCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7DQoJZm9udC1mYW1pbHk6V2luZ2Rpbmdz
O30NCkBsaXN0IGwxOmxldmVsNg0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7DQoJ
bXNvLWxldmVsLXRleHQ674KnOw0KCW1zby1sZXZlbC10YWItc3RvcDoyMTYuMHB0Ow0KCW1zby1s
ZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgl0ZXh0LWluZGVudDotMTguMHB0Ow0KCW1zby1h
bnNpLWZvbnQtc2l6ZToxMC4wcHQ7DQoJZm9udC1mYW1pbHk6V2luZ2RpbmdzO30NCkBsaXN0IGwx
OmxldmVsNw0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7DQoJbXNvLWxldmVsLXRl
eHQ674KnOw0KCW1zby1sZXZlbC10YWItc3RvcDoyNTIuMHB0Ow0KCW1zby1sZXZlbC1udW1iZXIt
cG9zaXRpb246bGVmdDsNCgl0ZXh0LWluZGVudDotMTguMHB0Ow0KCW1zby1hbnNpLWZvbnQtc2l6
ZToxMC4wcHQ7DQoJZm9udC1mYW1pbHk6V2luZ2RpbmdzO30NCkBsaXN0IGwxOmxldmVsOA0KCXtt
c28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7DQoJbXNvLWxldmVsLXRleHQ674KnOw0KCW1z
by1sZXZlbC10YWItc3RvcDoyODguMHB0Ow0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVm
dDsNCgl0ZXh0LWluZGVudDotMTguMHB0Ow0KCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7DQoJ
Zm9udC1mYW1pbHk6V2luZ2RpbmdzO30NCkBsaXN0IGwxOmxldmVsOQ0KCXttc28tbGV2ZWwtbnVt
YmVyLWZvcm1hdDpidWxsZXQ7DQoJbXNvLWxldmVsLXRleHQ674KnOw0KCW1zby1sZXZlbC10YWIt
c3RvcDozMjQuMHB0Ow0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgl0ZXh0LWlu
ZGVudDotMTguMHB0Ow0KCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7DQoJZm9udC1mYW1pbHk6
V2luZ2RpbmdzO30NCkBsaXN0IGwyDQoJe21zby1saXN0LWlkOjExODgzNjc5MTY7DQoJbXNvLWxp
c3QtdGVtcGxhdGUtaWRzOi05NzI0OTk4NjI7fQ0KQGxpc3QgbDI6bGV2ZWwxDQoJe21zby1sZXZl
bC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDrvgrc7DQoJbXNvLWxldmVs
LXRhYi1zdG9wOjM2LjBwdDsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4
dC1pbmRlbnQ6LTE4LjBwdDsNCgltc28tYW5zaS1mb250LXNpemU6MTAuMHB0Ow0KCWZvbnQtZmFt
aWx5OlN5bWJvbDt9DQpAbGlzdCBsMjpsZXZlbDINCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6
YnVsbGV0Ow0KCW1zby1sZXZlbC10ZXh0Ou+CtzsNCgltc28tbGV2ZWwtdGFiLXN0b3A6NzIuMHB0
Ow0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgl0ZXh0LWluZGVudDotMTguMHB0
Ow0KCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7DQoJZm9udC1mYW1pbHk6U3ltYm9sO30NCkBs
aXN0IGwyOmxldmVsMw0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7DQoJbXNvLWxl
dmVsLXRleHQ674K3Ow0KCW1zby1sZXZlbC10YWItc3RvcDoxMDguMHB0Ow0KCW1zby1sZXZlbC1u
dW1iZXItcG9zaXRpb246bGVmdDsNCgl0ZXh0LWluZGVudDotMTguMHB0Ow0KCW1zby1hbnNpLWZv
bnQtc2l6ZToxMC4wcHQ7DQoJZm9udC1mYW1pbHk6U3ltYm9sO30NCkBsaXN0IGwyOmxldmVsNA0K
CXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7DQoJbXNvLWxldmVsLXRleHQ674K3Ow0K
CW1zby1sZXZlbC10YWItc3RvcDoxNDQuMHB0Ow0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246
bGVmdDsNCgl0ZXh0LWluZGVudDotMTguMHB0Ow0KCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7
DQoJZm9udC1mYW1pbHk6U3ltYm9sO30NCkBsaXN0IGwyOmxldmVsNQ0KCXttc28tbGV2ZWwtbnVt
YmVyLWZvcm1hdDpidWxsZXQ7DQoJbXNvLWxldmVsLXRleHQ674K3Ow0KCW1zby1sZXZlbC10YWIt
c3RvcDoxODAuMHB0Ow0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgl0ZXh0LWlu
ZGVudDotMTguMHB0Ow0KCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7DQoJZm9udC1mYW1pbHk6
U3ltYm9sO30NCkBsaXN0IGwyOmxldmVsNg0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxs
ZXQ7DQoJbXNvLWxldmVsLXRleHQ674K3Ow0KCW1zby1sZXZlbC10YWItc3RvcDoyMTYuMHB0Ow0K
CW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgl0ZXh0LWluZGVudDotMTguMHB0Ow0K
CW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7DQoJZm9udC1mYW1pbHk6U3ltYm9sO30NCkBsaXN0
IGwyOmxldmVsNw0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7DQoJbXNvLWxldmVs
LXRleHQ674K3Ow0KCW1zby1sZXZlbC10YWItc3RvcDoyNTIuMHB0Ow0KCW1zby1sZXZlbC1udW1i
ZXItcG9zaXRpb246bGVmdDsNCgl0ZXh0LWluZGVudDotMTguMHB0Ow0KCW1zby1hbnNpLWZvbnQt
c2l6ZToxMC4wcHQ7DQoJZm9udC1mYW1pbHk6U3ltYm9sO30NCkBsaXN0IGwyOmxldmVsOA0KCXtt
c28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7DQoJbXNvLWxldmVsLXRleHQ674K3Ow0KCW1z
by1sZXZlbC10YWItc3RvcDoyODguMHB0Ow0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVm
dDsNCgl0ZXh0LWluZGVudDotMTguMHB0Ow0KCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7DQoJ
Zm9udC1mYW1pbHk6U3ltYm9sO30NCkBsaXN0IGwyOmxldmVsOQ0KCXttc28tbGV2ZWwtbnVtYmVy
LWZvcm1hdDpidWxsZXQ7DQoJbXNvLWxldmVsLXRleHQ674K3Ow0KCW1zby1sZXZlbC10YWItc3Rv
cDozMjQuMHB0Ow0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgl0ZXh0LWluZGVu
dDotMTguMHB0Ow0KCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7DQoJZm9udC1mYW1pbHk6U3lt
Ym9sO30NCkBsaXN0IGwzDQoJe21zby1saXN0LWlkOjE1MjUyODcyOTY7DQoJbXNvLWxpc3QtdGVt
cGxhdGUtaWRzOjE3Mjc0MjE4MjI7fQ0KQGxpc3QgbDM6bGV2ZWwxDQoJe21zby1sZXZlbC1udW1i
ZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDrvgrc7DQoJbXNvLWxldmVsLXRhYi1z
dG9wOjM2LjBwdDsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRl
bnQ6LTE4LjBwdDsNCgltc28tYW5zaS1mb250LXNpemU6MTAuMHB0Ow0KCWZvbnQtZmFtaWx5OlN5
bWJvbDt9DQpAbGlzdCBsMzpsZXZlbDINCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0
Ow0KCW1zby1sZXZlbC10ZXh0Om87DQoJbXNvLWxldmVsLXRhYi1zdG9wOjcyLjBwdDsNCgltc28t
bGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6LTE4LjBwdDsNCgltc28t
YW5zaS1mb250LXNpemU6MTAuMHB0Ow0KCWZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyI7DQoJbXNv
LWJpZGktZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7fQ0KQGxpc3QgbDM6bGV2ZWwzDQoJ
e21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDrvgqc7DQoJ
bXNvLWxldmVsLXRhYi1zdG9wOjEwOC4wcHQ7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjps
ZWZ0Ow0KCXRleHQtaW5kZW50Oi0xOC4wcHQ7DQoJbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsN
Cglmb250LWZhbWlseTpXaW5nZGluZ3M7fQ0KQGxpc3QgbDM6bGV2ZWw0DQoJe21zby1sZXZlbC1u
dW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDrvgqc7DQoJbXNvLWxldmVsLXRh
Yi1zdG9wOjE0NC4wcHQ7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQt
aW5kZW50Oi0xOC4wcHQ7DQoJbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsNCglmb250LWZhbWls
eTpXaW5nZGluZ3M7fQ0KQGxpc3QgbDM6bGV2ZWw1DQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0
OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDrvgqc7DQoJbXNvLWxldmVsLXRhYi1zdG9wOjE4MC4w
cHQ7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0xOC4w
cHQ7DQoJbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsNCglmb250LWZhbWlseTpXaW5nZGluZ3M7
fQ0KQGxpc3QgbDM6bGV2ZWw2DQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCglt
c28tbGV2ZWwtdGV4dDrvgqc7DQoJbXNvLWxldmVsLXRhYi1zdG9wOjIxNi4wcHQ7DQoJbXNvLWxl
dmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0xOC4wcHQ7DQoJbXNvLWFu
c2ktZm9udC1zaXplOjEwLjBwdDsNCglmb250LWZhbWlseTpXaW5nZGluZ3M7fQ0KQGxpc3QgbDM6
bGV2ZWw3DQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4
dDrvgqc7DQoJbXNvLWxldmVsLXRhYi1zdG9wOjI1Mi4wcHQ7DQoJbXNvLWxldmVsLW51bWJlci1w
b3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0xOC4wcHQ7DQoJbXNvLWFuc2ktZm9udC1zaXpl
OjEwLjBwdDsNCglmb250LWZhbWlseTpXaW5nZGluZ3M7fQ0KQGxpc3QgbDM6bGV2ZWw4DQoJe21z
by1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDrvgqc7DQoJbXNv
LWxldmVsLXRhYi1zdG9wOjI4OC4wcHQ7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0
Ow0KCXRleHQtaW5kZW50Oi0xOC4wcHQ7DQoJbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsNCglm
b250LWZhbWlseTpXaW5nZGluZ3M7fQ0KQGxpc3QgbDM6bGV2ZWw5DQoJe21zby1sZXZlbC1udW1i
ZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDrvgqc7DQoJbXNvLWxldmVsLXRhYi1z
dG9wOjMyNC4wcHQ7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5k
ZW50Oi0xOC4wcHQ7DQoJbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsNCglmb250LWZhbWlseTpX
aW5nZGluZ3M7fQ0KQGxpc3QgbDQNCgl7bXNvLWxpc3QtaWQ6MTY5OTA0NTM4OTsNCgltc28tbGlz
dC10ZW1wbGF0ZS1pZHM6MTI3NjY3OTAzNjt9DQpAbGlzdCBsNDpsZXZlbDENCgl7bXNvLWxldmVs
LW51bWJlci1mb3JtYXQ6YnVsbGV0Ow0KCW1zby1sZXZlbC10ZXh0Ou+CtzsNCgltc28tbGV2ZWwt
dGFiLXN0b3A6MzYuMHB0Ow0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgl0ZXh0
LWluZGVudDotMTguMHB0Ow0KCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7DQoJZm9udC1mYW1p
bHk6U3ltYm9sO30NCkBsaXN0IGw0OmxldmVsMg0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpi
dWxsZXQ7DQoJbXNvLWxldmVsLXRleHQ674K3Ow0KCW1zby1sZXZlbC10YWItc3RvcDo3Mi4wcHQ7
DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0xOC4wcHQ7
DQoJbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsNCglmb250LWZhbWlseTpTeW1ib2w7fQ0KQGxp
c3QgbDQ6bGV2ZWwzDQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2
ZWwtdGV4dDrvgrc7DQoJbXNvLWxldmVsLXRhYi1zdG9wOjEwOC4wcHQ7DQoJbXNvLWxldmVsLW51
bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0xOC4wcHQ7DQoJbXNvLWFuc2ktZm9u
dC1zaXplOjEwLjBwdDsNCglmb250LWZhbWlseTpTeW1ib2w7fQ0KQGxpc3QgbDQ6bGV2ZWw0DQoJ
e21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDrvgrc7DQoJ
bXNvLWxldmVsLXRhYi1zdG9wOjE0NC4wcHQ7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjps
ZWZ0Ow0KCXRleHQtaW5kZW50Oi0xOC4wcHQ7DQoJbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsN
Cglmb250LWZhbWlseTpTeW1ib2w7fQ0KQGxpc3QgbDQ6bGV2ZWw1DQoJe21zby1sZXZlbC1udW1i
ZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDrvgrc7DQoJbXNvLWxldmVsLXRhYi1z
dG9wOjE4MC4wcHQ7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5k
ZW50Oi0xOC4wcHQ7DQoJbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsNCglmb250LWZhbWlseTpT
eW1ib2w7fQ0KQGxpc3QgbDQ6bGV2ZWw2DQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxl
dDsNCgltc28tbGV2ZWwtdGV4dDrvgrc7DQoJbXNvLWxldmVsLXRhYi1zdG9wOjIxNi4wcHQ7DQoJ
bXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0xOC4wcHQ7DQoJ
bXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsNCglmb250LWZhbWlseTpTeW1ib2w7fQ0KQGxpc3Qg
bDQ6bGV2ZWw3DQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwt
dGV4dDrvgrc7DQoJbXNvLWxldmVsLXRhYi1zdG9wOjI1Mi4wcHQ7DQoJbXNvLWxldmVsLW51bWJl
ci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0xOC4wcHQ7DQoJbXNvLWFuc2ktZm9udC1z
aXplOjEwLjBwdDsNCglmb250LWZhbWlseTpTeW1ib2w7fQ0KQGxpc3QgbDQ6bGV2ZWw4DQoJe21z
by1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDrvgrc7DQoJbXNv
LWxldmVsLXRhYi1zdG9wOjI4OC4wcHQ7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0
Ow0KCXRleHQtaW5kZW50Oi0xOC4wcHQ7DQoJbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsNCglm
b250LWZhbWlseTpTeW1ib2w7fQ0KQGxpc3QgbDQ6bGV2ZWw5DQoJe21zby1sZXZlbC1udW1iZXIt
Zm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDrvgrc7DQoJbXNvLWxldmVsLXRhYi1zdG9w
OjMyNC4wcHQ7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50
Oi0xOC4wcHQ7DQoJbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsNCglmb250LWZhbWlseTpTeW1i
b2w7fQ0KQGxpc3QgbDUNCgl7bXNvLWxpc3QtaWQ6MTg1NDY4NDMxMzsNCgltc28tbGlzdC10ZW1w
bGF0ZS1pZHM6MjM5NTI1NzM4O30NCkBsaXN0IGw1OmxldmVsMQ0KCXttc28tbGV2ZWwtbnVtYmVy
LWZvcm1hdDpidWxsZXQ7DQoJbXNvLWxldmVsLXRleHQ674K3Ow0KCW1zby1sZXZlbC10YWItc3Rv
cDozNi4wcHQ7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50
Oi0xOC4wcHQ7DQoJbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsNCglmb250LWZhbWlseTpTeW1i
b2w7fQ0KQGxpc3QgbDU6bGV2ZWwyDQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsN
Cgltc28tbGV2ZWwtdGV4dDrvgrc7DQoJbXNvLWxldmVsLXRhYi1zdG9wOjcyLjBwdDsNCgltc28t
bGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6LTE4LjBwdDsNCgltc28t
YW5zaS1mb250LXNpemU6MTAuMHB0Ow0KCWZvbnQtZmFtaWx5OlN5bWJvbDt9DQpAbGlzdCBsNTps
ZXZlbDMNCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0Ow0KCW1zby1sZXZlbC10ZXh0
Ou+CtzsNCgltc28tbGV2ZWwtdGFiLXN0b3A6MTA4LjBwdDsNCgltc28tbGV2ZWwtbnVtYmVyLXBv
c2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6LTE4LjBwdDsNCgltc28tYW5zaS1mb250LXNpemU6
MTAuMHB0Ow0KCWZvbnQtZmFtaWx5OlN5bWJvbDt9DQpAbGlzdCBsNTpsZXZlbDQNCgl7bXNvLWxl
dmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0Ow0KCW1zby1sZXZlbC10ZXh0Ou+CtzsNCgltc28tbGV2
ZWwtdGFiLXN0b3A6MTQ0LjBwdDsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJ
dGV4dC1pbmRlbnQ6LTE4LjBwdDsNCgltc28tYW5zaS1mb250LXNpemU6MTAuMHB0Ow0KCWZvbnQt
ZmFtaWx5OlN5bWJvbDt9DQpAbGlzdCBsNTpsZXZlbDUNCgl7bXNvLWxldmVsLW51bWJlci1mb3Jt
YXQ6YnVsbGV0Ow0KCW1zby1sZXZlbC10ZXh0Ou+CtzsNCgltc28tbGV2ZWwtdGFiLXN0b3A6MTgw
LjBwdDsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6LTE4
LjBwdDsNCgltc28tYW5zaS1mb250LXNpemU6MTAuMHB0Ow0KCWZvbnQtZmFtaWx5OlN5bWJvbDt9
DQpAbGlzdCBsNTpsZXZlbDYNCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0Ow0KCW1z
by1sZXZlbC10ZXh0Ou+CtzsNCgltc28tbGV2ZWwtdGFiLXN0b3A6MjE2LjBwdDsNCgltc28tbGV2
ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6LTE4LjBwdDsNCgltc28tYW5z
aS1mb250LXNpemU6MTAuMHB0Ow0KCWZvbnQtZmFtaWx5OlN5bWJvbDt9DQpAbGlzdCBsNTpsZXZl
bDcNCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0Ow0KCW1zby1sZXZlbC10ZXh0Ou+C
tzsNCgltc28tbGV2ZWwtdGFiLXN0b3A6MjUyLjBwdDsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0
aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6LTE4LjBwdDsNCgltc28tYW5zaS1mb250LXNpemU6MTAu
MHB0Ow0KCWZvbnQtZmFtaWx5OlN5bWJvbDt9DQpAbGlzdCBsNTpsZXZlbDgNCgl7bXNvLWxldmVs
LW51bWJlci1mb3JtYXQ6YnVsbGV0Ow0KCW1zby1sZXZlbC10ZXh0Ou+CtzsNCgltc28tbGV2ZWwt
dGFiLXN0b3A6Mjg4LjBwdDsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4
dC1pbmRlbnQ6LTE4LjBwdDsNCgltc28tYW5zaS1mb250LXNpemU6MTAuMHB0Ow0KCWZvbnQtZmFt
aWx5OlN5bWJvbDt9DQpAbGlzdCBsNTpsZXZlbDkNCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6
YnVsbGV0Ow0KCW1zby1sZXZlbC10ZXh0Ou+CtzsNCgltc28tbGV2ZWwtdGFiLXN0b3A6MzI0LjBw
dDsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6LTE4LjBw
dDsNCgltc28tYW5zaS1mb250LXNpemU6MTAuMHB0Ow0KCWZvbnQtZmFtaWx5OlN5bWJvbDt9DQpv
bA0KCXttYXJnaW4tYm90dG9tOjBjbTt9DQp1bA0KCXttYXJnaW4tYm90dG9tOjBjbTt9DQotLT48
L3N0eWxlPg0KPC9oZWFkPg0KPGJvZHkgbGFuZz0iRU4tR0IiIGxpbms9IiMwNTYzQzEiIHZsaW5r
PSJwdXJwbGUiIHN0eWxlPSJ3b3JkLXdyYXA6YnJlYWstd29yZCI+DQo8ZGl2IGNsYXNzPSJXb3Jk
U2VjdGlvbjEiPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Q0PigJlpbmcganVsaWVuQHhlbi5vcmc8
bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9w
Pg0KPGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLXRvcDpzb2xpZCAjQjVDNERGIDEuMHB0
O3BhZGRpbmc6My4wcHQgMGNtIDBjbSAwY20iPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+PHNw
YW4gc3R5bGU9ImZvbnQtc2l6ZToxMi4wcHQ7Y29sb3I6YmxhY2siPkZyb206IDwvc3Bhbj48L2I+
PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMi4wcHQ7Y29sb3I6YmxhY2siPiZxdW90O0FobWVkLCBE
YW5pZWxlJnF1b3Q7ICZsdDthaG1lZGRhbkBhbWF6b24uY28udWsmZ3Q7PGJyPg0KPGI+RGF0ZTog
PC9iPk1vbmRheSwgOSBBdWd1c3QgMjAyMSBhdCAxNzoxOTxicj4NCjxiPlRvOiA8L2I+JnF1b3Q7
eGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnJnF1b3Q7ICZsdDt4ZW4tZGV2ZWxAbGlzdHMu
eGVucHJvamVjdC5vcmcmZ3Q7PGJyPg0KPGI+Q2M6IDwvYj5EYXJpbyBGYWdnaW9saSAmbHQ7ZGZh
Z2dpb2xpQHN1c2UuY29tJmd0OywgU3RlZmFubyBTdGFiZWxsaW5pICZsdDtzc3RhYmVsbGluaUBr
ZXJuZWwub3JnJmd0OywgJnF1b3Q7R3JhbGwsIEp1bGllbiZxdW90OyAmbHQ7amdyYWxsQGFtYXpv
bi5jby51ayZndDssICZxdW90O0RvZWJlbCwgQmpvZXJuJnF1b3Q7ICZsdDtkb2ViZWxAYW1hem9u
LmRlJmd0OywgJnF1b3Q7UG9obGFjaywgTWFydGluJnF1b3Q7ICZsdDttcG9obGFja0BhbWF6b24u
ZGUmZ3Q7PGJyPg0KPGI+U3ViamVjdDogPC9iPk5VTEwgc2NoZWR1bGVyIERvUzwvc3Bhbj48c3Bh
biBzdHlsZT0iZm9udC1zaXplOjEyLjBwdDtjb2xvcjpibGFjazttc28tZmFyZWFzdC1sYW5ndWFn
ZTpFTi1HQiI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj5IaSBhbGwsPC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPlRoZSBOVUxMIHNjaGVkdWxl
ciBpcyBhZmZlY3RlZCBieSBhbiBpc3N1ZSB0aGF0IHRyaWdnZXJzIGFuIGFzc2VydGlvbiBhbmQg
cmVib290cyB0aGUgaHlwZXJ2aXNvci4NCjwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDs8L3NwYW4+PG86cD48L286cD48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+VGhpcyBpc3N1ZSBh
cmlzZSB3aGVuOjwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjx1bCB0eXBlPSJkaXNjIj4NCjxsaSBj
bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdp
bi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDAgbGV2ZWwxIGxmbzMiPg0KPHNwYW4gc3R5bGU9
Im1zby1mYXJlYXN0LWxhbmd1YWdlOkVOLUdCIj5hIGd1ZXN0IGlzIGJlaW5nIGNyZWF0ZWQgd2l0
aCBhIGNvbmZpZ3VyYXRpb24gc3BlY2lmeWluZyBhIGZpbGUgdGhhdCBkb2VzIG5vdCBleGlzdDwv
c3Bhbj48bzpwPjwvbzpwPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFy
Z2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsMCBs
ZXZlbDEgbGZvMyI+DQo8c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tR0IiPnRo
ZSBoeXBlcnZpc29yIGJvb3RzIHdpdGggdGhlIG51bGwgc2NoZWR1bGVyPC9zcGFuPjxvOnA+PC9v
OnA+PC9saT48L3VsPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPjQu
MTYgaXMgYWZmZWN0ZWQgYW5kIDQuMTUgYWxzby48L3NwYW4+PG86cD48L286cD48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7PC9zcGFuPjxvOnA+PC9v
OnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPlRoaXMgaXMg
dGhlIHN0YWNrIHRyYWNlIGZyb20gNC4xNjo8L3NwYW4+PG86cD48L286cD48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7PC9zcGFuPjxvOnA+PC9vOnA+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1
YWdlOkVOLUdCIj4oWEVOKSBBc3NlcnRpb24gJ25wYy0mZ3Q7dW5pdCA9PSB1bml0JyBmYWlsZWQg
YXQgbnVsbC5jOjM3Nzxicj4NCihYRU4pIC0tLS1bIFhlbi00LjE2LXVuc3RhYmxlIHg4Nl82NCBk
ZWJ1Zz15IE5vdCB0YWludGVkIF0tLS0tPGJyPg0KKFhFTikgQ1BVOiAzPGJyPg0KKFhFTikgUklQ
OiBlMDA4OlsmbHQ7ZmZmZjgyZDA0MDI0ZjU3NyZndDtdIGNvbW1vbi9zY2hlZC9udWxsLmMjdW5p
dF9kZWFzc2lnbiYjNDM7MHgxYzMvMHgyZWM8YnI+DQooWEVOKSBSRkxBR1M6IDAwMDAwMDAwMDAw
MTAwMDYgQ09OVEVYVDogaHlwZXJ2aXNvcjxicj4NCihYRU4pIHJheDogZmZmZjgzMDA1Y2UxYzg1
MCByYng6IDAwMDAwMDAwMDAwMDAwMDEgcmN4OiAwMDAwMDAwMDAwMDAwMDAxPGJyPg0KKFhFTikg
cmR4OiBmZmZmODMwMDdmZGU2ZmMwIHJzaTogZmZmZjgzMDA1Y2UxYzc5MCByZGk6IGZmZmY4MzAw
N2ZmYjc4NTA8YnI+DQooWEVOKSByYnA6IGZmZmY4MzAwN2ZmZGZkYTAgcnNwOiBmZmZmODMwMDdm
ZmRmZDQ4IHI4OiAwMDAwMDAwMDAwMDAwMDAwPGJyPg0KKFhFTikgcjk6IDAwMDAwMDAwMDAwNDhm
ZWUgcjEwOiAwMDAwMDAwMDAwMDAwMDAwIHIxMTogMDAwMDAwMDAwMDAwMDAwMDxicj4NCihYRU4p
IHIxMjogZmZmZjgyZDA0MDVjOTI5OCByMTM6IGZmZmY4MzAwN2Y3ZmQ1MDggcjE0OiBmZmZmODMw
MDVjZTFjODUwPGJyPg0KKFhFTikgcjE1OiBmZmZmODJkMDQwNWUyNjgwIGNyMDogMDAwMDAwMDA4
MDA1MDAzYiBjcjQ6IDAwMDAwMDAwMDAzNTI2ZTA8YnI+DQooWEVOKSBjcjM6IDAwMDAwMDAwN2Y2
YjMwMDAgY3IyOiBmZmZmODg4MDcyZTc5ZGMwPGJyPg0KKFhFTikgZnNiOiAwMDAwMDAwMDAwMDAw
MDAwIGdzYjogZmZmZjg4ODA3MWFjMDAwMCBnc3M6IDAwMDAwMDAwMDAwMDAwMDA8YnI+DQooWEVO
KSBkczogMDAyYiBlczogMDAyYiBmczogMDAwMCBnczogMDAwMCBzczogZTAxMCBjczogZTAwODxi
cj4NCihYRU4pIFhlbiBjb2RlIGFyb3VuZCAmbHQ7ZmZmZjgyZDA0MDI0ZjU3NyZndDsgKGNvbW1v
bi9zY2hlZC9udWxsLmMjdW5pdF9kZWFzc2lnbiYjNDM7MHgxYzMvMHgyZWMpOjxicj4NCihYRU4p
IDQxIDVlIDQxIDVmIDVkIGMzIDBmIDBiICZsdDswZiZndDsgMGIgMGYgMGIgMGYgMGIgMGYgMGIg
NDkgOGIgMDQgMjQgMGYgYjcgMDAgNjY8YnI+DQooWEVOKSBYZW4gc3RhY2sgdHJhY2UgZnJvbSBy
c3A9ZmZmZjgzMDA3ZmZkZmQ0ODo8YnI+DQooWEVOKSBmZmZmODMwMDdmZmRmZDg4IGZmZmY4MmQw
NDAyMzk2MWMgMDAwMDAwMDQwMDAwMDAwMCBmZmZmODMwMDVjZTFjYzUwPGJyPg0KKFhFTikgMDAw
MDAwMDAwMDAwMDAwMiBmZmZmODMwMDdmZmRmZDkwIGZmZmY4MzAwNWNlMWM3OTAgZmZmZjgyZDA0
MDVjOTI5ODxicj4NCihYRU4pIGZmZmY4MzAwN2Y3ZmQ1MDggZmZmZjgzMDA1Y2UxYzg1MCBmZmZm
ODJkMDQwNWUyNjgwIGZmZmY4MzAwN2ZmZGZkZTA8YnI+DQooWEVOKSBmZmZmODJkMDQwMjRmODg5
IGZmZmY4MzAwN2ZmYjc4NTAgZmZmZjgzMDA1ZGQ2MzAwMCBmZmZmODMwMDVjZTFjNzkwPGJyPg0K
KFhFTikgZmZmZjgzMDA1ODQ1YWIyOCBmZmZmODMwMDU4NDVhMDAwIDAwMDAwMDAwMDAwMDAwMDAg
ZmZmZjgzMDA3ZmZkZmUwMDxicj4NCihYRU4pIGZmZmY4MmQwNDAyNTMzMjYgZmZmZjgzMDA1ZGQ2
MzAwMCAwMDAwMDAwMDAwMDAwMDAwIGZmZmY4MzAwN2ZmZGZlMzg8YnI+DQooWEVOKSBmZmZmODJk
MDQwMjA1MDZiIGZmZmY4MzAwN2E4ODEwODAgMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAw
MDAwPGJyPg0KKFhFTikgMDAwMDAwMDAwMDAwMDAwMCBmZmZmODJkMDQwNWQ2ZjgwIGZmZmY4MzAw
N2ZmZGZlNzAgZmZmZjgyZDA0MDIyZDllNTxicj4NCihYRU4pIDAwMDAwMDExMDAwMDAwMDMgZmZm
ZjgyZDA0MDVjZjEwMCBmZmZmODJkMDQwNWNmMTAwIGZmZmZmZmZmZmZmZmZmZmY8YnI+DQooWEVO
KSBmZmZmODJkMDQwNWNlZjgwIGZmZmY4MzAwN2ZmZGZlYTggZmZmZjgyZDA0MDIyZTE0YiAwMDAw
MDAwMDAwMDAwMDAzPGJyPg0KKFhFTikgZmZmZjgyZDA0MDVjZjEwMCAwMDAwMDAwMDAwMDA3ZmZm
IDAwMDAwMDAwMDAwMDAwMDMgMDAwMDAwMDAwMDAwMDAwMzxicj4NCihYRU4pIGZmZmY4MzAwN2Zm
ZGZlYjggZmZmZjgyZDA0MDIyZTFlNiBmZmZmODMwMDdmZmRmZWYwIGZmZmY4MmQwNDAzMTcyYjQ8
YnI+DQooWEVOKSBmZmZmODJkMDQwMzE3MjFkIGZmZmY4MzAwN2ZlYzEwMDAgZmZmZjgzMDA3ZmZi
NjAwMCAwMDAwMDAwMDAwMDAwMDAzPGJyPg0KKFhFTikgZmZmZjgzMDA3ZmZjYzAwMCBmZmZmODMw
MDdmZmRmZTE4IDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMDAwMDAwMDxicj4NCihYRU4pIDAw
MDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAzIDAwMDAwMDAw
MDAwMDAwMDM8YnI+DQooWEVOKSAwMDAwMDAwMDAwMDAwMjQ2IDAwMDAwMDAwMDAwMDAwMDMgMDAw
MDAwMDAwMDAwMDAwMCAwMDAwMDAwMDFiZjlkZGU1PGJyPg0KKFhFTikgMDAwMDAwMDAwMDAwMDAw
MCBmZmZmZmZmZjgxMDAyM2FhIDAwMDAwMDAwMDAwMDAwMDMgZGVhZGJlZWZkZWFkZjAwZDxicj4N
CihYRU4pIGRlYWRiZWVmZGVhZGYwMGQgMDAwMDAxMDAwMDAwMDAwMCBmZmZmZmZmZjgxMDAyM2Fh
IDAwMDAwMDAwMDAwMGUwMzM8YnI+DQooWEVOKSAwMDAwMDAwMDAwMDAwMjQ2IGZmZmZjOTAwNDAw
YTNlYTggMDAwMDAwMDAwMDAwZTAyYiA3ZmZkZmY3MDdmZmZkMTQwPGJyPg0KKFhFTikgMDAwMDAw
MDE3ZmUzN2E2YyAwMDAwMDAwMDdmZmU4MDEwIDAwMDAwMDAwMDAwMDAwMDAgMDAwMGUwMTAwMDAw
MDAwMzxicj4NCihYRU4pIFhlbiBjYWxsIHRyYWNlOjxicj4NCihYRU4pIFsmbHQ7ZmZmZjgyZDA0
MDI0ZjU3NyZndDtdIFIgY29tbW9uL3NjaGVkL251bGwuYyN1bml0X2RlYXNzaWduJiM0MzsweDFj
My8weDJlYzxicj4NCihYRU4pIFsmbHQ7ZmZmZjgyZDA0MDI0Zjg4OSZndDtdIEYgY29tbW9uL3Nj
aGVkL251bGwuYyNudWxsX3VuaXRfcmVtb3ZlJiM0MzsweGZjLzB4MTM2PGJyPg0KKFhFTikgWyZs
dDtmZmZmODJkMDQwMjUzMzI2Jmd0O10gRiBzY2hlZF9kZXN0cm95X3ZjcHUmIzQzOzB4Y2EvMHgx
OTk8YnI+DQooWEVOKSBbJmx0O2ZmZmY4MmQwNDAyMDUwNmImZ3Q7XSBGIGNvbW1vbi9kb21haW4u
YyNjb21wbGV0ZV9kb21haW5fZGVzdHJveSYjNDM7MHg2OC8weDEzZjxicj4NCihYRU4pIFsmbHQ7
ZmZmZjgyZDA0MDIyZDllNSZndDtdIEYgY29tbW9uL3JjdXBkYXRlLmMjcmN1X3Byb2Nlc3NfY2Fs
bGJhY2tzJiM0MzsweGRiLzB4MjRiPGJyPg0KKFhFTikgWyZsdDtmZmZmODJkMDQwMjJlMTRiJmd0
O10gRiBjb21tb24vc29mdGlycS5jI19fZG9fc29mdGlycSYjNDM7MHg4YS8weGJjPGJyPg0KKFhF
TikgWyZsdDtmZmZmODJkMDQwMjJlMWU2Jmd0O10gRiBkb19zb2Z0aXJxJiM0MzsweDEzLzB4MTU8
YnI+DQooWEVOKSBbJmx0O2ZmZmY4MmQwNDAzMTcyYjQmZ3Q7XSBGIGFyY2gveDg2L2RvbWFpbi5j
I2lkbGVfbG9vcCYjNDM7MHg5Ny8weGVlPGJyPg0KKFhFTikgPGJyPg0KKFhFTikgPGJyPg0KKFhF
TikgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKjxicj4NCihYRU4pIFBh
bmljIG9uIENQVSAzOjxicj4NCihYRU4pIEFzc2VydGlvbiAnbnBjLSZndDt1bml0ID09IHVuaXQn
IGZhaWxlZCBhdCBudWxsLmM6Mzc3PGJyPg0KKFhFTikgKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKjxicj4NCihYRU4pIDxicj4NCihYRU4pIFJlYm9vdCBpbiBmaXZlIHNl
Y29uZHMuLi48L3NwYW4+PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3Bh
biBsYW5nPSJFTi1VUyI+Jm5ic3A7PC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+VGhpcyBpcyB0aGUgbGluZSBvZiB0aGUgYXNzZXJ0aW9uIHRoYXQgdHJpZ2dlcnMg
dGhlIHJlYm9vdDogPGEgaHJlZj0iaHR0cHM6Ly94ZW5iaXRzLnhlbi5vcmcvZ2l0d2ViLz9wPXhl
bi5naXQ7YT1ibG9iO2Y9eGVuL2NvbW1vbi9zY2hlZC9udWxsLmM7aD04MmQ1ZDFiYWFiODUzZDI0
ZmNiYjQ1NWZiM2YzZTgyNjNjODcxMjc3O2hiPUhFQUQjbDM3NyI+DQpodHRwczovL3hlbmJpdHMu
eGVuLm9yZy9naXR3ZWIvP3A9eGVuLmdpdDthPWJsb2I7Zj14ZW4vY29tbW9uL3NjaGVkL251bGwu
YztoPTgyZDVkMWJhYWI4NTNkMjRmY2JiNDU1ZmIzZjNlODI2M2M4NzEyNzc7aGI9SEVBRCNsMzc3
PC9hPjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4t
VVMiPiZuYnNwOzwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0
eWxlPSJtYXJnaW4tYm90dG9tOjEyLjBwdCI+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1
YWdlOkVOLUdCIj5UbyByZXByb2R1Y2UgdGhlIHZ1bG5lcmFiaWxpdHksIEkgdG9vayB0aGUgZm9s
bG93aW5nIHN0ZXBzOjwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjx1bCB0eXBlPSJkaXNjIj4NCjxs
aSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1h
cmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDEgbGV2ZWwxIGxmbzYiPg0KPHNwYW4gc3R5
bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOkVOLUdCIj5JbnN0YWxsIFhFTjsgb25seSA0LjE1JiM0
Mzsgc2VlbSB0byBiZSB2dWxuZXJhYmxlPC9zcGFuPjxvOnA+PC9vOnA+PC9saT48bGkgY2xhc3M9
Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90
dG9tLWFsdDphdXRvO21zby1saXN0OmwxIGxldmVsMSBsZm82Ij4NCjxzcGFuIHN0eWxlPSJtc28t
ZmFyZWFzdC1sYW5ndWFnZTpFTi1HQiI+VXNlIHRoZSBudWxsIHNjaGVkdWxlciAoZGVwZW5kcyBv
biB5b3VyIHNldHVwKTogZWRpdCAvZXRjL2RlZmF1bHQvZ3J1YiBhZGRpbmcgYXQgdGhlIGVuZCBv
ZiB0aGUgZmlsZTogR1JVQl9DTURMSU5FX1hFTj0mcXVvdDtzY2hlZD1udWxsJnF1b3Q7IGFuZCB1
cGRhdGUgZ3J1Yjwvc3Bhbj48bzpwPjwvbzpwPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0
eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bztt
c28tbGlzdDpsMSBsZXZlbDEgbGZvNiI+DQo8c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3Vh
Z2U6RU4tR0IiPlJlYm9vdCBpbnRvIHhlbjwvc3Bhbj48bzpwPjwvbzpwPjwvbGk+PGxpIGNsYXNz
PSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJv
dHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsMSBsZXZlbDEgbGZvNiI+DQo8c3BhbiBzdHlsZT0ibXNv
LWZhcmVhc3QtbGFuZ3VhZ2U6RU4tR0IiPkNyZWF0ZSBhIGZpbGUgZ3Vlc3QuY2ZnIHdpdGggdGhl
IGZvbGxvd2luZyBjb250ZW50czwvc3Bhbj48bzpwPjwvbzpwPjwvbGk+PC91bD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZx
dW90O0NvdXJpZXIgTmV3JnF1b3Q7O21zby1mYXJlYXN0LWxhbmd1YWdlOkVOLUdCIj5uYW1lPSZx
dW90O2d1ZXN0JnF1b3Q7PGJyPg0KYnVpbGRlcj0mcXVvdDtodm0mcXVvdDs8YnI+DQptZW1vcnk9
NTEyPGJyPg0KPGJyPg0Kc2VyaWFsID0gWyAnZmlsZTovdG1wL2xvZycsICdwdHknIF08YnI+DQo8
YnI+DQpkaXNrID0gWyAnL2hvbWUvdXNlci9ib290LmlzbywsaGRjLGNkcm9tJyBdPGJyPg0KPGJy
Pg0Kb25fcmVib290ID0gJnF1b3Q7ZGVzdHJveSZxdW90Ozxicj4NCjxicj4NCnZjcHVzPTE8L3Nw
YW4+PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWJv
dHRvbToxMi4wcHQiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1HQiI+PGJy
Pg0KTWFrZSBzdXJlIHRoYXQgdGhlIGZpbGUgPGk+L2hvbWUvdXNlci9ib290LmlzbzwvaT4gZG9l
cyBub3QgZXhpc3Q8L3NwYW4+PG86cD48L286cD48L3A+DQo8dWwgdHlwZT0iZGlzYyI+DQo8bGkg
Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn
aW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0OmwzIGxldmVsMSBsZm85Ij4NCjxzcGFuIHN0eWxl
PSJtc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1HQiI+Q3JlYXRlIGEgZ3Vlc3Qgd2l0aCB0aGlzIGNv
bmZpZ3VyYXRpb246IDwvc3Bhbj4NCjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQt
ZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O21zby1mYXJlYXN0LWxhbmd1YWdlOkVOLUdC
Ij54bCBjcmVhdGUgLWMgZ3Vlc3QuY2ZnPC9zcGFuPjxvOnA+PC9vOnA+PC9saT48L3VsPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPkND4oCZaW5nIERhcmlvLCBTdGVm
YW5vIGFuZCBKdWxpZW4gdG8gd2hvbSBJ4oCZdmUgc2hvd24gdGhpcy48L3NwYW4+PG86cD48L286
cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7PC9z
cGFuPjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4t
VVMiPlRoYW5rczwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxz
cGFuIGxhbmc9IkVOLVVTIj4mbmJzcDs8L3NwYW4+PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+RGFuaWVsZTwvc3Bhbj48bzpwPjwvbzpwPjwv
cD4NCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K

--_000_60E30D2671E44657B7196E87C0F3AEE9amazoncom_--


From xen-devel-bounces@lists.xenproject.org Mon Aug 09 17:15:07 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 17:15:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165092.301712 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD8rW-0002nj-Ms; Mon, 09 Aug 2021 17:14:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165092.301712; Mon, 09 Aug 2021 17:14: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 1mD8rW-0002nZ-J4; Mon, 09 Aug 2021 17:14:54 +0000
Received: by outflank-mailman (input) for mailman id 165092;
 Mon, 09 Aug 2021 17:14:53 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YQI5=NA=gmail.com=olekstysh@srs-us1.protection.inumbo.net>)
 id 1mD8rV-0002nT-6E
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 17:14:53 +0000
Received: from mail-lf1-x134.google.com (unknown [2a00:1450:4864:20::134])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 0a5dc5f2-2738-48f0-9b5a-69584f359c5e;
 Mon, 09 Aug 2021 17:14:51 +0000 (UTC)
Received: by mail-lf1-x134.google.com with SMTP id g13so35420564lfj.12
 for <xen-devel@lists.xenproject.org>; Mon, 09 Aug 2021 10:14:51 -0700 (PDT)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id m14sm1950746lfb.170.2021.08.09.10.14.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Aug 2021 10:14:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0a5dc5f2-2738-48f0-9b5a-69584f359c5e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-transfer-encoding:content-language;
        bh=EnygNeVVjNQ9G15UXriyNKV5C8Lv4zWGhvlP9mGvEaQ=;
        b=PRcmMqqFgKnuf6wSWMZO0Z9Pn2879esxLdYTFXcLdjpYU4w51nAmdwObBxrVUlCJ4J
         FqCWKi40UckH/BpzSdw4fv2ajfEqDULmRA6Sz/XMSLgE6YRBUiWEgdiiicZZznPcyEtH
         sV+iCPBq8T1+XhQ7k+kVeQ5Akor4pcfQzKqm8SOdykxlwQYdtO6o+4W/SA2pFOfl9fSA
         BA6wppojTcK4rYI7tZyv7wUMi4lOzvd34OhEXBmjgqVCF/VW6LUqe+6OPtTiYZQxYfyq
         h/ryrkUwR3rqoBRbqgUegNra4JpZ1EcipZxYVj7iKLeE5DLjIn1BItonlamM5TmWY8xH
         H0lg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-transfer-encoding
         :content-language;
        bh=EnygNeVVjNQ9G15UXriyNKV5C8Lv4zWGhvlP9mGvEaQ=;
        b=nDPP6lelkNgsyy6yUg633f/tf+qnecVAzfRJF5ONf5Ya4e527VVcqCFXzjUgEvgyH7
         UiOZaF+jQ4wA0eKwIRJvQOSxz55QuHvwmzuux4cris33qSNmTqP1nobZHxnnVO/YjIZJ
         lXfbxunT2Rof/H8smWjDRhNmR/Mf2QvEVu8MXQpLn3otYAGPSjPlekXsSC3JrrbQoE/0
         7umDp984vCTdwOI7tJIxq0TTh6h5me7QVQo8tB0N86W8T30GhdMf1dFEr1iUI8kQJGQf
         Jn253KOV99IaYz8/LoBBpuaNrg0McpOl15gnhGp6zoK706DHHxITdAE89WKZbEHQmHSH
         ErvQ==
X-Gm-Message-State: AOAM530VfRnT/6hy+Ez+KCaxupbrG1Lb2M/poj0FsdyVXWJwsOEIyDSF
	gkNDmm3fdEZITc+zO8fv2vk=
X-Google-Smtp-Source: ABdhPJz+GVTGh9FWbNxPN6a8aKXAzMFLKSaS+LTqTwARmvXuITO64wYsa1GgnnPJJIEUZ7PejbRFMg==
X-Received: by 2002:a05:6512:3692:: with SMTP id d18mr19229821lfs.494.1628529290617;
        Mon, 09 Aug 2021 10:14:50 -0700 (PDT)
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
To: Julien Grall <julien@xen.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <80fafc01-f063-d6e5-1c08-7ad64550310c@citrix.com>
 <e8db3021-78a5-e040-a70b-62ca5b500149@xen.org>
 <4de5ed21-379e-b618-44c8-924d88b1a519@citrix.com>
 <bbc7f597-5249-20a0-cac9-13f594268299@xen.org>
 <6a633f4e-13e0-4a2b-cf6e-35ef90ae977c@gmail.com>
 <alpine.DEB.2.21.2107301630510.10122@sstabellini-ThinkPad-T480s>
 <f6b2e6c6-bf58-960f-4a09-f05ebcf1f566@gmail.com>
 <5643d414-0b76-74a4-2c37-c7a99338d547@gmail.com>
 <c83378af-4d3b-9256-0e0d-f88c43c6de2f@xen.org>
 <93d0df14-2c8a-c2e3-8c51-54412190171c@xen.org>
From: Oleksandr <olekstysh@gmail.com>
Message-ID: <50aa5487-efa7-a2c4-d793-4dde56d0aec8@gmail.com>
Date: Mon, 9 Aug 2021 20:14:48 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.10.0
MIME-Version: 1.0
In-Reply-To: <93d0df14-2c8a-c2e3-8c51-54412190171c@xen.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US


On 09.08.21 17:51, Julien Grall wrote:
> Hi,


Hi Julien.


>
> I am writing down here what we discussed on another thread and on IRC. 
> This will be easier to track in a single thread.
>
> On 04/08/2021 23:00, Julien Grall wrote:
>> On 04/08/2021 21:56, Oleksandr wrote:
>>> Now, I am wondering, would it be possible to update/clarify the 
>>> current "reg" purpose and use it to pass a safe unallocated space 
>>> for any Xen specific mappings (grant, foreign, whatever) instead of 
>>> just for the grant table region. In case, it is not allowed for any 
>>> reason (compatibility PoV, etc), would it be possible to extend a 
>>> property by passing an extra range separately, something similar to 
>>> how I described above?
>>
>> I think it should be fine to re-use the same region so long the size 
>> of the first bank is at least the size of the original region.
>
> While answering to the DT binding question on the DT ML, I realized 
> that this is probably not going to be fine because there is a bug in 
> Xen when mapping grant-table frame.
>
> The function gnttab_map_frame() is used to map the grant table frame. 
> If there is an old mapping, it will first remove it.
>
> The function is using the helper gnttab_map_frame() to find the 
> corresponding GFN or return INVALID_GFN if not mapped.
>
> On Arm, gnttab_map_frame() is implementing using an array index by the 
> grant table frame number. The trouble is we don't update the array 
> when the page is unmapped. So if the GFN is re-used before the 
> grant-table is remapped, then we will end up to remove whatever was 
> mapped there (this could be a foreign page...).
>
> This behavior already happens today as the toolstack will use the 
> first GFN of the region if Linux doesn't support the acquire resource 
> interface. We are getting away in the Linux because the toolstack only 
> map the first grant table frame and:
>  - Newer Linux will not used the region provided by the DT and nothing 
> will be mapped there.
>  - Older Linux will use the region but still map the grant table frame 
> 0 to the same GFN.
>
> I am not sure about U-boot and other OSes here.
>
> This is not new but it is going to be become a bigger source of 
> problem (read more chance to hit it) as we try to re-use the first 
> region.
>
> This means the first region should exclusively used for the 
> grant-table (in a specific order) until the issue is properly fixed.

Thank you for the explanation, it is clear now.


>
>
> A potential fix is to update the array in p2m_put_l3_page(). The 
> default max size of the array is 1024, so it might be fine to just 
> walk it (it would be simply a comparison).

I think, this would work. Looks like we don't need to walk for each gfn 
which is being freed, we could just filter it by p2m_is_ram() ...


>
>
> Note that this is not a problem on x86 because the is using the M2P. 
> So when a mapping is removed, the mapping MFN -> GFN will also be 
> removed.
>
> Cheers,
>
-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Mon Aug 09 17:18:44 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 17:18:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165096.301722 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD8vD-0003SI-8l; Mon, 09 Aug 2021 17:18:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165096.301722; Mon, 09 Aug 2021 17:18:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD8vD-0003SB-5p; Mon, 09 Aug 2021 17:18:43 +0000
Received: by outflank-mailman (input) for mailman id 165096;
 Mon, 09 Aug 2021 17:18: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 1mD8vC-0003S5-Ih
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 17:18: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 1mD8uw-0001sR-Et; Mon, 09 Aug 2021 17:18:26 +0000
Received: from [54.239.6.180] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mD8uv-0002u0-V8; Mon, 09 Aug 2021 17: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=GvqpWWhOpOYazl5pEOz6/fxY7YxaAPipBvWTr++N+ig=; b=6NdAYgKgY8dV5jjY3KU04OfxqR
	hBOroiI7kLeBMlnkWfLhtUGG/r/2Z3L0VHpGKhcnQ0UJqzTa28yRGn3jwZ3y5ojhZ7jWsmWLUve90
	5GG9aJfGAUR7Ii4oZrjcgD0dD3SREg1ySiA7u5Av4Fc6s/l4EXo6Ouy4XKSpMZ07EvhQ=;
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
To: Oleksandr <olekstysh@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <80fafc01-f063-d6e5-1c08-7ad64550310c@citrix.com>
 <e8db3021-78a5-e040-a70b-62ca5b500149@xen.org>
 <4de5ed21-379e-b618-44c8-924d88b1a519@citrix.com>
 <bbc7f597-5249-20a0-cac9-13f594268299@xen.org>
 <6a633f4e-13e0-4a2b-cf6e-35ef90ae977c@gmail.com>
 <alpine.DEB.2.21.2107301630510.10122@sstabellini-ThinkPad-T480s>
 <f6b2e6c6-bf58-960f-4a09-f05ebcf1f566@gmail.com>
 <5643d414-0b76-74a4-2c37-c7a99338d547@gmail.com>
 <c83378af-4d3b-9256-0e0d-f88c43c6de2f@xen.org>
 <93d0df14-2c8a-c2e3-8c51-54412190171c@xen.org>
 <50aa5487-efa7-a2c4-d793-4dde56d0aec8@gmail.com>
From: Julien Grall <julien@xen.org>
Message-ID: <96df85d0-d8a0-7a9f-b03a-a286869693df@xen.org>
Date: Mon, 9 Aug 2021 18:18:21 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <50aa5487-efa7-a2c4-d793-4dde56d0aec8@gmail.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit



On 09/08/2021 18:14, Oleksandr wrote:
> 
> On 09.08.21 17:51, Julien Grall wrote:
> Hi Julien.

Hi Oleksandr,

>> I am writing down here what we discussed on another thread and on IRC. 
>> This will be easier to track in a single thread.
>>
>> On 04/08/2021 23:00, Julien Grall wrote:
>>> On 04/08/2021 21:56, Oleksandr wrote:
>>>> Now, I am wondering, would it be possible to update/clarify the 
>>>> current "reg" purpose and use it to pass a safe unallocated space 
>>>> for any Xen specific mappings (grant, foreign, whatever) instead of 
>>>> just for the grant table region. In case, it is not allowed for any 
>>>> reason (compatibility PoV, etc), would it be possible to extend a 
>>>> property by passing an extra range separately, something similar to 
>>>> how I described above?
>>>
>>> I think it should be fine to re-use the same region so long the size 
>>> of the first bank is at least the size of the original region.
>>
>> While answering to the DT binding question on the DT ML, I realized 
>> that this is probably not going to be fine because there is a bug in 
>> Xen when mapping grant-table frame.
>>
>> The function gnttab_map_frame() is used to map the grant table frame. 
>> If there is an old mapping, it will first remove it.
>>
>> The function is using the helper gnttab_map_frame() to find the 
>> corresponding GFN or return INVALID_GFN if not mapped.
>>
>> On Arm, gnttab_map_frame() is implementing using an array index by the 
>> grant table frame number. The trouble is we don't update the array 
>> when the page is unmapped. So if the GFN is re-used before the 
>> grant-table is remapped, then we will end up to remove whatever was 
>> mapped there (this could be a foreign page...).
>>
>> This behavior already happens today as the toolstack will use the 
>> first GFN of the region if Linux doesn't support the acquire resource 
>> interface. We are getting away in the Linux because the toolstack only 
>> map the first grant table frame and:
>>  - Newer Linux will not used the region provided by the DT and nothing 
>> will be mapped there.
>>  - Older Linux will use the region but still map the grant table frame 
>> 0 to the same GFN.
>>
>> I am not sure about U-boot and other OSes here.
>>
>> This is not new but it is going to be become a bigger source of 
>> problem (read more chance to hit it) as we try to re-use the first 
>> region.
>>
>> This means the first region should exclusively used for the 
>> grant-table (in a specific order) until the issue is properly fixed.
> 
> Thank you for the explanation, it is clear now.
> 
> 
>>
>>
>> A potential fix is to update the array in p2m_put_l3_page(). The 
>> default max size of the array is 1024, so it might be fine to just 
>> walk it (it would be simply a comparison).
> 
> I think, this would work. Looks like we don't need to walk for each gfn 
> which is being freed, we could just filter it by p2m_is_ram() ...

Well. This would still potentially result to a few unnecessary walk. I 
would consider to introduce a new P2M type or possibly add a check if 
the page is in xenheap (grant-table are xenheap pages so far).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 09 17:35:22 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 17:35:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165101.301734 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD9BF-0005fa-QI; Mon, 09 Aug 2021 17:35:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165101.301734; Mon, 09 Aug 2021 17:35:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD9BF-0005fT-NT; Mon, 09 Aug 2021 17:35:17 +0000
Received: by outflank-mailman (input) for mailman id 165101;
 Mon, 09 Aug 2021 17:35: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 1mD9BD-0005fN-W3
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 17:35: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 1mD9BC-0002Ab-K9; Mon, 09 Aug 2021 17:35:14 +0000
Received: from [54.239.6.184] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mD9BC-0004cI-Da; Mon, 09 Aug 2021 17:35:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=6mKge3nzAl0SwtL7FuDyOhzT0WSdiT8St/uER5mWI1Y=; b=IxUXDUFzrvbnRdQ/wpbIeJH0rU
	8Oow6wqdWnyafvnIZQ9fqyhrMcJGA1PUoOFu73e5ed+9QfKY4bf09nVH4BmTeMu1wn6osnoaHMXyx
	E81cJ8bwgNtJ/s2BfVBy+VJA9AHxz/qQ/eNzTQ9yuWqOv5y1CkWRZjwEVy7cTtv3thDg=;
Subject: Re: NULL scheduler DoS
To: "Ahmed, Daniele" <ahmeddan@amazon.co.uk>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Dario Faggioli <dfaggioli@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "Grall, Julien" <jgrall@amazon.co.uk>, "Doebel, Bjoern" <doebel@amazon.de>,
 "Pohlack, Martin" <mpohlack@amazon.de>
References: <ED25BE5E-D695-4763-B97A-78D6040E2341@amazon.com>
From: Julien Grall <julien@xen.org>
Message-ID: <8193a685-3ab1-9407-75f3-e335ea4406e4@xen.org>
Date: Mon, 9 Aug 2021 18:35:12 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <ED25BE5E-D695-4763-B97A-78D6040E2341@amazon.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit



On 09/08/2021 17:19, Ahmed, Daniele wrote:
> Hi all,

Hi Daniele,

Thank you for the report!

> The NULL scheduler is affected by an issue that triggers an assertion 
> and reboots the hypervisor.
> 
> This issue arise when:
> 
>   * a guest is being created with a configuration specifying a file that
>     does not exist
>   * the hypervisor boots with the null scheduler
> 
> 4.16 is affected and 4.15 also.
> 
> This is the stack trace from 4.16:
> 
> (XEN) Assertion 'npc->unit == unit' failed at null.c:377
> (XEN) ----[ Xen-4.16-unstable x86_64 debug=y Not tainted ]----
> (XEN) CPU: 3
> (XEN) RIP: e008:[<ffff82d04024f577>] 
> common/sched/null.c#unit_deassign+0x1c3/0x2ec
> (XEN) RFLAGS: 0000000000010006 CONTEXT: hypervisor
> (XEN) rax: ffff83005ce1c850 rbx: 0000000000000001 rcx: 0000000000000001
> (XEN) rdx: ffff83007fde6fc0 rsi: ffff83005ce1c790 rdi: ffff83007ffb7850
> (XEN) rbp: ffff83007ffdfda0 rsp: ffff83007ffdfd48 r8: 0000000000000000
> (XEN) r9: 0000000000048fee r10: 0000000000000000 r11: 0000000000000000
> (XEN) r12: ffff82d0405c9298 r13: ffff83007f7fd508 r14: ffff83005ce1c850
> (XEN) r15: ffff82d0405e2680 cr0: 000000008005003b cr4: 00000000003526e0
> (XEN) cr3: 000000007f6b3000 cr2: ffff888072e79dc0
> (XEN) fsb: 0000000000000000 gsb: ffff888071ac0000 gss: 0000000000000000
> (XEN) ds: 002b es: 002b fs: 0000 gs: 0000 ss: e010 cs: e008
> (XEN) Xen code around <ffff82d04024f577> 
> (common/sched/null.c#unit_deassign+0x1c3/0x2ec):
> (XEN) 41 5e 41 5f 5d c3 0f 0b <0f> 0b 0f 0b 0f 0b 0f 0b 49 8b 04 24 0f 
> b7 00 66
> (XEN) Xen stack trace from rsp=ffff83007ffdfd48:
> (XEN) ffff83007ffdfd88 ffff82d04023961c 0000000400000000 ffff83005ce1cc50
> (XEN) 0000000000000002 ffff83007ffdfd90 ffff83005ce1c790 ffff82d0405c9298
> (XEN) ffff83007f7fd508 ffff83005ce1c850 ffff82d0405e2680 ffff83007ffdfde0
> (XEN) ffff82d04024f889 ffff83007ffb7850 ffff83005dd63000 ffff83005ce1c790
> (XEN) ffff83005845ab28 ffff83005845a000 0000000000000000 ffff83007ffdfe00
> (XEN) ffff82d040253326 ffff83005dd63000 0000000000000000 ffff83007ffdfe38
> (XEN) ffff82d04020506b ffff83007a881080 0000000000000000 0000000000000000
> (XEN) 0000000000000000 ffff82d0405d6f80 ffff83007ffdfe70 ffff82d04022d9e5
> (XEN) 0000001100000003 ffff82d0405cf100 ffff82d0405cf100 ffffffffffffffff
> (XEN) ffff82d0405cef80 ffff83007ffdfea8 ffff82d04022e14b 0000000000000003
> (XEN) ffff82d0405cf100 0000000000007fff 0000000000000003 0000000000000003
> (XEN) ffff83007ffdfeb8 ffff82d04022e1e6 ffff83007ffdfef0 ffff82d0403172b4
> (XEN) ffff82d04031721d ffff83007fec1000 ffff83007ffb6000 0000000000000003
> (XEN) ffff83007ffcc000 ffff83007ffdfe18 0000000000000000 0000000000000000
> (XEN) 0000000000000000 0000000000000000 0000000000000003 0000000000000003
> (XEN) 0000000000000246 0000000000000003 0000000000000000 000000001bf9dde5
> (XEN) 0000000000000000 ffffffff810023aa 0000000000000003 deadbeefdeadf00d
> (XEN) deadbeefdeadf00d 0000010000000000 ffffffff810023aa 000000000000e033
> (XEN) 0000000000000246 ffffc900400a3ea8 000000000000e02b 7ffdff707fffd140
> (XEN) 000000017fe37a6c 000000007ffe8010 0000000000000000 0000e01000000003
> (XEN) Xen call trace:
> (XEN) [<ffff82d04024f577>] R common/sched/null.c#unit_deassign+0x1c3/0x2ec
> (XEN) [<ffff82d04024f889>] F common/sched/null.c#null_unit_remove+0xfc/0x136
> (XEN) [<ffff82d040253326>] F sched_destroy_vcpu+0xca/0x199
> (XEN) [<ffff82d04020506b>] F 
> common/domain.c#complete_domain_destroy+0x68/0x13f
> (XEN) [<ffff82d04022d9e5>] F 
> common/rcupdate.c#rcu_process_callbacks+0xdb/0x24b
> (XEN) [<ffff82d04022e14b>] F common/softirq.c#__do_softirq+0x8a/0xbc
> (XEN) [<ffff82d04022e1e6>] F do_softirq+0x13/0x15
> (XEN) [<ffff82d0403172b4>] F arch/x86/domain.c#idle_loop+0x97/0xee
> (XEN)
> (XEN)
> (XEN) ****************************************
> (XEN) Panic on CPU 3:
> (XEN) Assertion 'npc->unit == unit' failed at null.c:377
> (XEN) ****************************************
> (XEN)
> (XEN) Reboot in five seconds...
> 
> This is the line of the assertion that triggers the reboot: 
> https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/common/sched/null.c;h=82d5d1baab853d24fcbb455fb3f3e8263c871277;hb=HEAD#l377 
> <https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/common/sched/null.c;h=82d5d1baab853d24fcbb455fb3f3e8263c871277;hb=HEAD#l377>
> 
> To reproduce the vulnerability, I took the following steps:

Just to make clear for the others in the thread, per SUPPORT.MD, the 
NULL scheduler is not security supported. Hence why this is sent to 
xen-devel directly.

Also, for completeness, debug build are also not security supported. On 
production build, the ASSERT() would be turned to a NOP which could 
result to potentially more interesting issue. Anyway, that's not a 
problem here. :)

> 
>   * Install XEN; only 4.15+ seem to be vulnerable
>   * Use the null scheduler (depends on your setup): edit
>     /etc/default/grub adding at the end of the file:
>     GRUB_CMDLINE_XEN="sched=null" and update grub
>   * Reboot into xen
>   * Create a file guest.cfg with the following contents
> 
> name="guest"
> builder="hvm"
> memory=512
> 
> serial = [ 'file:/tmp/log', 'pty' ]
> 
> disk = [ '/home/user/boot.iso,,hdc,cdrom' ]
> 
> on_reboot = "destroy"
> 
> vcpus=1
> 
> 
> Make sure that the file //home/user/boot.iso/ does not exist
> 
>   * Create a guest with this configuration: xl create -c guest.cfg
> 
> CC’ing Dario, Stefano and Julien to whom I’ve shown this.

I am not quite too sure where the problem lies yet but adding some more 
information of the debugging we discussed together.

The ASSERT() is triggered because the pCPU was already assigned to one 
of the dom0 vCPU. This problem is happening regardless whether there is 
free pCPU.

I have added some debugging in sched_set_res():

diff --git a/xen/common/sched/private.h b/xen/common/sched/private.h
index a870320146ef..2355f531dc13 100644
--- a/xen/common/sched/private.h
+++ b/xen/common/sched/private.h
@@ -150,6 +150,10 @@ static inline void sched_set_res(struct sched_unit 
*unit,
      unsigned int cpu = cpumask_first(res->cpus);
      struct vcpu *v;

+    printk("%s: res->master_cpu %u unit %p %pd %pv\n", __func__,
+           res->master_cpu, unit, unit->domain, unit->vcpu_list);
+    WARN();
+
      for_each_sched_unit_vcpu ( unit, v )
      {
          ASSERT(cpu < nr_cpu_ids);

This traced the problem to null_unit_migrate():


(XEN) sched_set_res: res->master_cpu 0 unit ffff830200887f00 d1 d1v0
(XEN) Xen WARN at private.h:155
(XEN) ----[ Xen-4.16-unstable  x86_64  debug=y  Tainted:   C   ]----
(XEN) CPU:    1
(XEN) RIP:    e008:[<ffff82d04023fd9f>] core.c#sched_set_res+0x5b/0xc6
(XEN) RFLAGS: 0000000000010286   CONTEXT: hypervisor (d0v1)
(XEN) rax: ffff83027bf55038   rbx: 0000000000000000   rcx: 0000000000000000
(XEN) rdx: ffff83027bf4ffff   rsi: 000000000000000a   rdi: ffff82d0404944b8
(XEN) rbp: ffff83027bf4fc70   rsp: ffff83027bf4fc40   r8:  0000000000000004
(XEN) r9:  0000000000000030   r10: ffff83027bf4fcf8   r11: 00000000fffffffd
(XEN) r12: ffff830275e83000   r13: ffff830275e8d000   r14: ffff830200887f00
(XEN) r15: ffff83027bf850a0   cr0: 0000000080050033   cr4: 00000000003526e0
(XEN) cr3: 00000001f1e3d000   cr2: 0000563f71516088
(XEN) fsb: 00007f6561cda780   gsb: ffff88817fe80000   gss: 0000000000000000
(XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: e010   cs: e008
(XEN) Xen code around <ffff82d04023fd9f> (core.c#sched_set_res+0x5b/0xc6):
(XEN)  14 18 00 e8 e7 7f 00 00 <0f> 0b 4d 8b 66 08 4d 85 e4 75 28 4d 89 
7e 20 48
(XEN) Xen stack trace from rsp=ffff83027bf4fc40:
(XEN)    ffff83027bf85118 ffff830200887f00 ffff830275e83000 ffff830275e8d000
(XEN)    0000000000000000 ffff83027bf552a0 ffff83027bf4fce0 ffff82d040241614
(XEN)    ffff82d040226393 0000000000000286 ffff83027bf822e8 0000000175e8d000
(XEN)    ffff830200887f00 ffff83027bf552a0 ffff830275e83000 ffff83027bf4fcf8
(XEN)    ffff830275e8d000 ffff830275e8d000 0000000000000001 0000000000000000
(XEN)    ffff83027bf4fd40 ffff82d04020527d ffff82d04020527d 0000000000000000
(XEN)    0000000000000000 ffff83027bf4fd30 0000000000000000 0000000000000000
(XEN)    ffff830275e8d000 00007f65620f6010 0000000000000001 ffff82d040238319
(XEN)    ffff83027bf4fe58 ffff82d040238dd9 00000000001f1eae 0000000000000004
(XEN)    ffff83027bee4001 8000000000000000 ffff83027bf4fdc0 ffff82d04032e6df
(XEN)    000000044032e6df 0000000000000000 ffff82e003e3e120 000000140000000f
(XEN)    00007f6561d90001 0000559a00000001 0000000000000014 0000559ad9c303e0
(XEN)    0000000000000008 0000559ad9c303e0 0000559ad9c31170 0000559ad9c303c0
(XEN)    0000000000000000 00007ffd4ed54b60 0000559ad9c309a0 00007ffd4ed54c50
(XEN)    0000000000000000 0000559ad9c38240 0000559ad9c32570 00007ffd4ed54f00
(XEN)    0000559ad9c31170 ffff83027bf4fef8 0000000000000000 0000000000000001
(XEN)    deadbeefdeadf00d ffff83027bec0000 ffff82d040238319 ffff83027bf4fee8
(XEN)    ffff82d04030d8bc 00007f65620f6010 deadbeefdeadf00d deadbeefdeadf00d
(XEN)    deadbeefdeadf00d deadbeefdeadf00d ffff82d04038821c ffff82d040388228
(XEN)    ffff82d04038821c ffff82d040388228 ffff82d04038821c ffff82d040388228
(XEN) Xen call trace:
(XEN)    [<ffff82d04023fd9f>] R core.c#sched_set_res+0x5b/0xc6
(XEN)    [<ffff82d040241614>] F sched_init_vcpu+0x3dc/0x5d7
(XEN)    [<ffff82d04020527d>] F vcpu_create+0xfb/0x37a
(XEN)    [<ffff82d040238dd9>] F do_domctl+0xac0/0x184a
(XEN)    [<ffff82d04030d8bc>] F pv_hypercall+0x10d/0x2b8
(XEN)    [<ffff82d04038829d>] F lstar_enter+0x12d/0x140
(XEN)

The end of the function contains an interesting comment:

     /*
      * Whatever all the above, we always at least override v->processor.
      * This is especially important for shutdown or suspend/resume paths,
      * when it is important to let our caller (cpu_disable_scheduler())
      * know that the migration did happen, to the best of our 
possibilities,
      * at least. In case of suspend, any temporary inconsistency caused
      * by this, will be fixed-up during resume.
      */

This implies that a pCPU may temporarily be assigned to two vCPUs and we 
expect to be fixed up afterwards. However, a domain may be destroyed 
before this is happening.

So it looks like that unit_deassign() is not able to cope with this 
case. From a brief look, I think we may want to check if the pCPU is in 
the wait list. If it is, then we should bail out.

Dario, Stefano, what do you think?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 09 17:49:12 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 17:49:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165106.301745 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD9Od-00079X-0p; Mon, 09 Aug 2021 17:49:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165106.301745; Mon, 09 Aug 2021 17: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 1mD9Oc-00079Q-TY; Mon, 09 Aug 2021 17:49:06 +0000
Received: by outflank-mailman (input) for mailman id 165106;
 Mon, 09 Aug 2021 17:49:05 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YQI5=NA=gmail.com=olekstysh@srs-us1.protection.inumbo.net>)
 id 1mD9Ob-00079K-0s
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 17:49:05 +0000
Received: from mail-lf1-x132.google.com (unknown [2a00:1450:4864:20::132])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 2186b549-6e3c-43f3-ae2d-f63962c7af57;
 Mon, 09 Aug 2021 17:49:03 +0000 (UTC)
Received: by mail-lf1-x132.google.com with SMTP id g30so3397669lfv.4
 for <xen-devel@lists.xenproject.org>; Mon, 09 Aug 2021 10:49:03 -0700 (PDT)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id w17sm1794278lfu.304.2021.08.09.10.49.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Aug 2021 10:49:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2186b549-6e3c-43f3-ae2d-f63962c7af57
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-transfer-encoding:content-language;
        bh=rRsK91AFr5ApsPckjNIkZyCajjXcJMusFXFe0X4irR4=;
        b=bELPR9BKM5uETtRTpGFJKaB2aq7cAZx/hTMj0IDE3SRVz5dGbJ2EXbiKW2hVMsk375
         uu/5U8JAc18VAQXpK6YtfB+0/+VD649Dx30Ql3TyPeknrwkqytXuLpDVCNYhHFiC92NT
         QpGRBxHckQk2FZ5sOdnrLOOcaSQ7kqVWKbheumMPUmJJrJzSjP9cZwffueMK2r6XaTE5
         5dqEwU2dN6AiLwXJbcco9x2wn8ibH1rQbFvOy2jfmDErD1yeG9BPB8wzCop6ggLzUjns
         pNVd60UsHfCidWdQPKsro6JIFyV8T+WBD8du//Dz65IK2tHNjgtDr168mowtDl6s0rln
         SQdg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-transfer-encoding
         :content-language;
        bh=rRsK91AFr5ApsPckjNIkZyCajjXcJMusFXFe0X4irR4=;
        b=SyefsIAARMceso+GX/bDTtrkXhHlkS5NqY3A7eb2lUWeWtp8sfsvJugpOV5NRz/uEj
         vV3xniSiZT4aLXStgaLere/Ip/kzfI2Bu170x648wTHt9RiZKR/lA44tTrM2aUbSGKj4
         KRNODdqZgjD4IxpDIOlzBftFijFSUweacWpZ0NP7IpvRGUBlGSOoTPLHBJu6OvawYIhZ
         +xPwNhBOCR890gAqRnyGipEyjFjU+/ns2XCqsLuHiK/OjC3OTUWvc034xP+1S5sqyUx1
         MtIxr3fAwoBShTuzVvGIT+fkk7wOoqn5OFqnVrYQBnL7sA/zATqGC696xt9+fpeTeZuo
         yw5w==
X-Gm-Message-State: AOAM530yaUeCreMhlROY6luZ1JzHwcQpB0eZTmults8sbyiMrX8dZplJ
	c9Ysnh1pDNAVN6wG9iNGO40=
X-Google-Smtp-Source: ABdhPJx9xCpBOr/A+BX+Im02vAgzi/4U27Igj/6Q6TIxINCPSD9ZRkYQbbaycKty9VRodxyyUsN87Q==
X-Received: by 2002:ac2:4472:: with SMTP id y18mr18520835lfl.137.1628531342140;
        Mon, 09 Aug 2021 10:49:02 -0700 (PDT)
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
To: Julien Grall <julien@xen.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <80fafc01-f063-d6e5-1c08-7ad64550310c@citrix.com>
 <e8db3021-78a5-e040-a70b-62ca5b500149@xen.org>
 <4de5ed21-379e-b618-44c8-924d88b1a519@citrix.com>
 <bbc7f597-5249-20a0-cac9-13f594268299@xen.org>
 <6a633f4e-13e0-4a2b-cf6e-35ef90ae977c@gmail.com>
 <alpine.DEB.2.21.2107301630510.10122@sstabellini-ThinkPad-T480s>
 <f6b2e6c6-bf58-960f-4a09-f05ebcf1f566@gmail.com>
 <5643d414-0b76-74a4-2c37-c7a99338d547@gmail.com>
 <c83378af-4d3b-9256-0e0d-f88c43c6de2f@xen.org>
 <93d0df14-2c8a-c2e3-8c51-54412190171c@xen.org>
 <50aa5487-efa7-a2c4-d793-4dde56d0aec8@gmail.com>
 <96df85d0-d8a0-7a9f-b03a-a286869693df@xen.org>
From: Oleksandr <olekstysh@gmail.com>
Message-ID: <23a341af-ea9b-08e3-21d8-aea664d30994@gmail.com>
Date: Mon, 9 Aug 2021 20:49:00 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.10.0
MIME-Version: 1.0
In-Reply-To: <96df85d0-d8a0-7a9f-b03a-a286869693df@xen.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US


On 09.08.21 20:18, Julien Grall wrote:


Hi Julien

>
>
> On 09/08/2021 18:14, Oleksandr wrote:
>>
>> On 09.08.21 17:51, Julien Grall wrote:
>> Hi Julien.
>
> Hi Oleksandr,
>
>>> I am writing down here what we discussed on another thread and on 
>>> IRC. This will be easier to track in a single thread.
>>>
>>> On 04/08/2021 23:00, Julien Grall wrote:
>>>> On 04/08/2021 21:56, Oleksandr wrote:
>>>>> Now, I am wondering, would it be possible to update/clarify the 
>>>>> current "reg" purpose and use it to pass a safe unallocated space 
>>>>> for any Xen specific mappings (grant, foreign, whatever) instead 
>>>>> of just for the grant table region. In case, it is not allowed for 
>>>>> any reason (compatibility PoV, etc), would it be possible to 
>>>>> extend a property by passing an extra range separately, something 
>>>>> similar to how I described above?
>>>>
>>>> I think it should be fine to re-use the same region so long the 
>>>> size of the first bank is at least the size of the original region.
>>>
>>> While answering to the DT binding question on the DT ML, I realized 
>>> that this is probably not going to be fine because there is a bug in 
>>> Xen when mapping grant-table frame.
>>>
>>> The function gnttab_map_frame() is used to map the grant table 
>>> frame. If there is an old mapping, it will first remove it.
>>>
>>> The function is using the helper gnttab_map_frame() to find the 
>>> corresponding GFN or return INVALID_GFN if not mapped.
>>>
>>> On Arm, gnttab_map_frame() is implementing using an array index by 
>>> the grant table frame number. The trouble is we don't update the 
>>> array when the page is unmapped. So if the GFN is re-used before the 
>>> grant-table is remapped, then we will end up to remove whatever was 
>>> mapped there (this could be a foreign page...).
>>>
>>> This behavior already happens today as the toolstack will use the 
>>> first GFN of the region if Linux doesn't support the acquire 
>>> resource interface. We are getting away in the Linux because the 
>>> toolstack only map the first grant table frame and:
>>>  - Newer Linux will not used the region provided by the DT and 
>>> nothing will be mapped there.
>>>  - Older Linux will use the region but still map the grant table 
>>> frame 0 to the same GFN.
>>>
>>> I am not sure about U-boot and other OSes here.
>>>
>>> This is not new but it is going to be become a bigger source of 
>>> problem (read more chance to hit it) as we try to re-use the first 
>>> region.
>>>
>>> This means the first region should exclusively used for the 
>>> grant-table (in a specific order) until the issue is properly fixed.
>>
>> Thank you for the explanation, it is clear now.
>>
>>
>>>
>>>
>>> A potential fix is to update the array in p2m_put_l3_page(). The 
>>> default max size of the array is 1024, so it might be fine to just 
>>> walk it (it would be simply a comparison).
>>
>> I think, this would work. Looks like we don't need to walk for each 
>> gfn which is being freed, we could just filter it by p2m_is_ram() ...
>
> Well. This would still potentially result to a few unnecessary walk. I 
> would consider to introduce a new P2M type or possibly add a check if 
> the page is in xenheap (grant-table are xenheap pages so far).

Indeed, this would be better, personally I would prefer to check if page 
is in xenheap.


>
>
> Cheers,
>
-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Mon Aug 09 17:56:32 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 17:56:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165112.301756 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD9Vj-0000B3-US; Mon, 09 Aug 2021 17:56:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165112.301756; Mon, 09 Aug 2021 17:56:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD9Vj-0000Aw-Pe; Mon, 09 Aug 2021 17:56:27 +0000
Received: by outflank-mailman (input) for mailman id 165112;
 Mon, 09 Aug 2021 17:56:27 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JD4O=NA=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mD9Vj-0000Aq-6G
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 17:56:27 +0000
Received: from mail-pl1-x62f.google.com (unknown [2607:f8b0:4864:20::62f])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 35593939-93f3-4614-bdf0-37e468379ec3;
 Mon, 09 Aug 2021 17:56:25 +0000 (UTC)
Received: by mail-pl1-x62f.google.com with SMTP id a20so17372021plm.0
 for <xen-devel@lists.xenproject.org>; Mon, 09 Aug 2021 10:56:25 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:2:106e:6ed1:5da1:2ac4])
 by smtp.gmail.com with ESMTPSA id x14sm20589708pfa.127.2021.08.09.10.56.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Aug 2021 10:56: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: 35593939-93f3-4614-bdf0-37e468379ec3
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=iMjG88RfqbH3GsgcXA5mv3GuI6oCcG41dDNUrFFXLAQ=;
        b=EViVv89zPeRqrGYf9LSDfx7ltGQyAh4Avv1iqGXrZVN8IJuT63NhOIxiCyk8Rx6sFQ
         MnHutJOGM4qObGTB3+2cDbzN4XBxMdUdYKKb4gdQgVYXZpLOwn/LJTBX3yu2AGv1TQf3
         gHD7PNproN/353NWNPLbKsHhp8I5TfXCuEG8GTgqdzoTROjdYr7R+QVuJWXGMX3O1nKM
         RVW2Isxs0xuZHcR/6YqF12JGhSFNL7twyZAqbDPV4zDkbkQQ1mDpob6v3yKEJ83Wgmje
         DnZ5wIak32lAhxG4fYr8PeZhzjGZR40FVtp2z4KdVrsEgpAFr/Ky4zrJzy/tHZhuJrQU
         8oJw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=iMjG88RfqbH3GsgcXA5mv3GuI6oCcG41dDNUrFFXLAQ=;
        b=i0hCpsWDJCvq1lzn4p9DRe8q35ILYk1EASfNtOopfOk5UDIvZUmShylb6qXuR4J+Bm
         HD7QkBxuL5yhnCxouO32J3Ktp6Uk8Ov1jT8Pize6wuaC7+elpalcSgQfzXr3vZpeWNCQ
         2+ulS6R8cVDrBZ1xKBnj58iWipZpfmMTkIc50Rexu0BqV/CS7OOQ55agepU1t/DM+tcr
         S9gowsnCPVrNowGhrAjRRtgQSd40Wber3U10+uKcJjVYIeMP4cYPlTGhE4QkRCo4w5/9
         3JS85WSEN4TqgryqBAiTNLoykYnyEoC9XQjPPp2i8a0Leasi9FuQQYegYSWUFirzbYjv
         JvyA==
X-Gm-Message-State: AOAM53314YeT2lL4rML+c5o7L0RDYdCre8KHSpirKXkrs0QeoArZG9n9
	/rnluo+tfXFzL1ypMrmlhq8=
X-Google-Smtp-Source: ABdhPJxHfYqFvwoB8xKnP4oxRsbZ9Lzyar+mwb4Rea7hgUEL0NvwGLrtk99GSAXFKwmlrj/fCUWr6A==
X-Received: by 2002:a17:90a:e018:: with SMTP id u24mr4349253pjy.126.1628531783941;
        Mon, 09 Aug 2021 10:56:23 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	will@kernel.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	thomas.lendacky@amd.com,
	brijesh.singh@amd.com,
	ardb@kernel.org,
	Tianyu.Lan@microsoft.com,
	pgonda@google.com,
	martin.b.radev@gmail.com,
	akpm@linux-foundation.org,
	kirill.shutemov@linux.intel.com,
	rppt@kernel.org,
	sfr@canb.auug.org.au,
	saravanand@fb.com,
	krish.sadhukhan@oracle.com,
	aneesh.kumar@linux.ibm.com,
	xen-devel@lists.xenproject.org,
	rientjes@google.com,
	hannes@cmpxchg.org,
	tj@kernel.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com,
	dave.hansen@intel.com
Subject: [PATCH V3 00/13] x86/Hyper-V: Add Hyper-V Isolation VM support
Date: Mon,  9 Aug 2021 13:56:04 -0400
Message-Id: <20210809175620.720923-1-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

Hyper-V provides two kinds of Isolation VMs. VBS(Virtualization-based
security) and AMD SEV-SNP unenlightened Isolation VMs. This patchset
is to add support for these Isolation VM support in Linux.

The memory of these vms are encrypted and host can't access guest
memory directly. Hyper-V provides new host visibility hvcall and
the guest needs to call new hvcall to mark memory visible to host
before sharing memory with host. For security, all network/storage
stack memory should not be shared with host and so there is bounce
buffer requests.

Vmbus channel ring buffer already plays bounce buffer role because
all data from/to host needs to copy from/to between the ring buffer
and IO stack memory. So mark vmbus channel ring buffer visible.

There are two exceptions - packets sent by vmbus_sendpacket_
pagebuffer() and vmbus_sendpacket_mpb_desc(). These packets
contains IO stack memory address and host will access these memory.
So add allocation bounce buffer support in vmbus for these packets.

For SNP isolation VM, guest needs to access the shared memory via
extra address space which is specified by Hyper-V CPUID HYPERV_CPUID_
ISOLATION_CONFIG. The access physical address of the shared memory
should be bounce buffer memory GPA plus with shared_gpa_boundary
reported by CPUID.


Change since V2:
       - Drop x86_set_memory_enc static call and use platform check
         in the __set_memory_enc_dec() to run platform callback of
	 set memory encrypted or decrypted.

Change since V1:
       - Introduce x86_set_memory_enc static call and so platforms can
         override __set_memory_enc_dec() with their implementation
       - Introduce sev_es_ghcb_hv_call_simple() and share code
         between SEV and Hyper-V code.
       - Not remap monitor pages in the non-SNP isolation VM
       - Make swiotlb_init_io_tlb_mem() return error code and return
         error when dma_map_decrypted() fails.

Change since RFC V4:
       - Introduce dma map decrypted function to remap bounce buffer
          and provide dma map decrypted ops for platform to hook callback.        
       - Split swiotlb and dma map decrypted change into two patches
       - Replace vstart with vaddr in swiotlb changes.

Change since RFC v3:
       - Add interface set_memory_decrypted_map() to decrypt memory and
         map bounce buffer in extra address space
       - Remove swiotlb remap function and store the remap address
         returned by set_memory_decrypted_map() in swiotlb mem data structure.
       - Introduce hv_set_mem_enc() to make code more readable in the __set_memory_enc_dec().

Change since RFC v2:
       - Remove not UIO driver in Isolation VM patch
       - Use vmap_pfn() to replace ioremap_page_range function in
       order to avoid exposing symbol ioremap_page_range() and
       ioremap_page_range()
       - Call hv set mem host visibility hvcall in set_memory_encrypted/decrypted()
       - Enable swiotlb force mode instead of adding Hyper-V dma map/unmap hook
       - Fix code style


Tianyu Lan (13):
  x86/HV: Initialize GHCB page in Isolation VM
  x86/HV: Initialize shared memory boundary in the Isolation VM.
  x86/HV: Add new hvcall guest address host visibility support
  HV: Mark vmbus ring buffer visible to host in Isolation VM
  HV: Add Write/Read MSR registers via ghcb page
  HV: Add ghcb hvcall support for SNP VM
  HV/Vmbus: Add SNP support for VMbus channel initiate message
  HV/Vmbus: Initialize VMbus ring buffer for Isolation VM
  DMA: Add dma_map_decrypted/dma_unmap_encrypted() function
  x86/Swiotlb: Add Swiotlb bounce buffer remap function for HV IVM
  HV/IOMMU: Enable swiotlb bounce buffer for Isolation VM
  HV/Netvsc: Add Isolation VM support for netvsc driver
  HV/Storvsc: Add Isolation VM support for storvsc driver

 arch/x86/hyperv/Makefile           |   2 +-
 arch/x86/hyperv/hv_init.c          |  75 ++++++--
 arch/x86/hyperv/ivm.c              | 295 +++++++++++++++++++++++++++++
 arch/x86/include/asm/hyperv-tlfs.h |  20 ++
 arch/x86/include/asm/mshyperv.h    |  87 ++++++++-
 arch/x86/include/asm/sev.h         |   3 +
 arch/x86/kernel/cpu/mshyperv.c     |   5 +
 arch/x86/kernel/sev-shared.c       |  63 +++---
 arch/x86/mm/pat/set_memory.c       |  19 +-
 arch/x86/xen/pci-swiotlb-xen.c     |   3 +-
 drivers/hv/Kconfig                 |   1 +
 drivers/hv/channel.c               |  54 +++++-
 drivers/hv/connection.c            |  71 ++++++-
 drivers/hv/hv.c                    | 129 +++++++++----
 drivers/hv/hyperv_vmbus.h          |   3 +
 drivers/hv/ring_buffer.c           |  84 ++++++--
 drivers/hv/vmbus_drv.c             |   3 +
 drivers/iommu/hyperv-iommu.c       |  65 +++++++
 drivers/net/hyperv/hyperv_net.h    |   6 +
 drivers/net/hyperv/netvsc.c        | 144 +++++++++++++-
 drivers/net/hyperv/rndis_filter.c  |   2 +
 drivers/scsi/storvsc_drv.c         |  68 ++++++-
 include/asm-generic/hyperv-tlfs.h  |   1 +
 include/asm-generic/mshyperv.h     |  54 +++++-
 include/linux/dma-map-ops.h        |   9 +
 include/linux/hyperv.h             |  17 ++
 include/linux/swiotlb.h            |   4 +
 kernel/dma/mapping.c               |  22 +++
 kernel/dma/swiotlb.c               |  32 +++-
 29 files changed, 1212 insertions(+), 129 deletions(-)
 create mode 100644 arch/x86/hyperv/ivm.c

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 09 17:56:33 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 17:56:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165113.301766 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD9Vp-0000UI-45; Mon, 09 Aug 2021 17:56:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165113.301766; Mon, 09 Aug 2021 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 1mD9Vp-0000UB-1D; Mon, 09 Aug 2021 17:56:33 +0000
Received: by outflank-mailman (input) for mailman id 165113;
 Mon, 09 Aug 2021 17:56:32 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JD4O=NA=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mD9Vo-0000Aq-1I
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 17:56:32 +0000
Received: from mail-pj1-x1033.google.com (unknown [2607:f8b0:4864:20::1033])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 64359619-a63f-477e-aaae-c806bd099924;
 Mon, 09 Aug 2021 17:56:27 +0000 (UTC)
Received: by mail-pj1-x1033.google.com with SMTP id j1so29234607pjv.3
 for <xen-devel@lists.xenproject.org>; Mon, 09 Aug 2021 10:56:27 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:2:106e:6ed1:5da1:2ac4])
 by smtp.gmail.com with ESMTPSA id x14sm20589708pfa.127.2021.08.09.10.56.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Aug 2021 10:56: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: 64359619-a63f-477e-aaae-c806bd099924
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=+SXmZnVGaWXOY/RYkmLfCtWMULRdMkbPmQ9ViuTHD4g=;
        b=vEiVBsmsjWFoq4H9xIe2JkVBV6ZRxO8oTc1d0POF8FBUFnHfygUIcXu1Q6lIUO6G8V
         OZ0eKnK8b2FYfXzWwIFzo7hO/SDSbktZBgBA9q5MzDM2tSVD+lUqIOyamzBgk9mM4sd7
         +/ChsJIEW5dMQMfRN0VzltH1RuxxvHykERIWU2rB7pLq/8xj0nq7SVaiK3ZsuHFQ8FoW
         D9nA4u0vEJoYCDwR5KWdept1EbyGZC9nhnkSNJdwsfiss59YjCsICZPyWMfbNLKZ4vZL
         o6/PPIdsLDr6vZuwTGl4jdGx8871bBC+zvCYBedAkrhQuufnqjjdtdNfQqXrkOuRK22k
         4L9g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=+SXmZnVGaWXOY/RYkmLfCtWMULRdMkbPmQ9ViuTHD4g=;
        b=tsq5ZbeWDPfYp82NJxEOGzI2MGJXVvy3taVOFShOy1Y+tsZZT6yJfyPILR7Xl4Pf5q
         Zv8+v/5DQfonrqj42S1M0UOL1n08P2x0yJy1y8+u49v6zF29vavsYw9FcY9Eib3mgCN/
         0FjcVKMyCFqlA5N5N0VV+VqWPto917TZ7kBtxQh8Doz21xKUPV1QRNaH7MCnbvdZDCy2
         sNQKtR9A1mAhz8oeXBLd7rSEAf8m4pCDyHtW2/zdAFAXiDVMLIlWT18WgWAfgy7NWx/P
         J0k2fAK2VE2c5K+yc0nz3kmTHr9QsNPw5ymBioWNsrtb99NaS8WpGaM/N8eWEi53w/P3
         /8rQ==
X-Gm-Message-State: AOAM530WLI7FkjGL5iF7KlF8IZvjRvHo3+51TqWPjSOrQWHba10darSW
	N5agjtsK/gCGAPmTXaMurjo=
X-Google-Smtp-Source: ABdhPJw/Bw/9aycFrRX8qJNE8oCpvKM3rGElUB7qQ9nDgVBBQ7qhpDJqT8kHjxicHZLhAf9ipjwyRA==
X-Received: by 2002:a62:f244:0:b029:3c3:100f:c302 with SMTP id y4-20020a62f2440000b02903c3100fc302mr25175993pfl.37.1628531786781;
        Mon, 09 Aug 2021 10:56:26 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	will@kernel.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	thomas.lendacky@amd.com,
	brijesh.singh@amd.com,
	ardb@kernel.org,
	Tianyu.Lan@microsoft.com,
	pgonda@google.com,
	martin.b.radev@gmail.com,
	akpm@linux-foundation.org,
	kirill.shutemov@linux.intel.com,
	rppt@kernel.org,
	sfr@canb.auug.org.au,
	saravanand@fb.com,
	krish.sadhukhan@oracle.com,
	aneesh.kumar@linux.ibm.com,
	xen-devel@lists.xenproject.org,
	rientjes@google.com,
	hannes@cmpxchg.org,
	tj@kernel.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com,
	dave.hansen@intel.com
Subject: [PATCH V3 01/13] x86/HV: Initialize GHCB page in Isolation VM
Date: Mon,  9 Aug 2021 13:56:05 -0400
Message-Id: <20210809175620.720923-2-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210809175620.720923-1-ltykernel@gmail.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

Hyper-V exposes GHCB page via SEV ES GHCB MSR for SNP guest
to communicate with hypervisor. Map GHCB page for all
cpus to read/write MSR register and submit hvcall request
via GHCB.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
 arch/x86/hyperv/hv_init.c       | 66 +++++++++++++++++++++++++++++++--
 arch/x86/include/asm/mshyperv.h |  2 +
 include/asm-generic/mshyperv.h  |  2 +
 3 files changed, 66 insertions(+), 4 deletions(-)

diff --git a/arch/x86/hyperv/hv_init.c b/arch/x86/hyperv/hv_init.c
index 708a2712a516..0bb4d9ca7a55 100644
--- a/arch/x86/hyperv/hv_init.c
+++ b/arch/x86/hyperv/hv_init.c
@@ -20,6 +20,7 @@
 #include <linux/kexec.h>
 #include <linux/version.h>
 #include <linux/vmalloc.h>
+#include <linux/io.h>
 #include <linux/mm.h>
 #include <linux/hyperv.h>
 #include <linux/slab.h>
@@ -42,6 +43,31 @@ static void *hv_hypercall_pg_saved;
 struct hv_vp_assist_page **hv_vp_assist_page;
 EXPORT_SYMBOL_GPL(hv_vp_assist_page);
 
+static int hyperv_init_ghcb(void)
+{
+	u64 ghcb_gpa;
+	void *ghcb_va;
+	void **ghcb_base;
+
+	if (!ms_hyperv.ghcb_base)
+		return -EINVAL;
+
+	/*
+	 * GHCB page is allocated by paravisor. The address
+	 * returned by MSR_AMD64_SEV_ES_GHCB is above shared
+	 * ghcb boundary and map it here.
+	 */
+	rdmsrl(MSR_AMD64_SEV_ES_GHCB, ghcb_gpa);
+	ghcb_va = memremap(ghcb_gpa, HV_HYP_PAGE_SIZE, MEMREMAP_WB);
+	if (!ghcb_va)
+		return -ENOMEM;
+
+	ghcb_base = (void **)this_cpu_ptr(ms_hyperv.ghcb_base);
+	*ghcb_base = ghcb_va;
+
+	return 0;
+}
+
 static int hv_cpu_init(unsigned int cpu)
 {
 	union hv_vp_assist_msr_contents msr = { 0 };
@@ -85,6 +111,8 @@ static int hv_cpu_init(unsigned int cpu)
 		}
 	}
 
+	hyperv_init_ghcb();
+
 	return 0;
 }
 
@@ -177,6 +205,14 @@ static int hv_cpu_die(unsigned int cpu)
 {
 	struct hv_reenlightenment_control re_ctrl;
 	unsigned int new_cpu;
+	void **ghcb_va = NULL;
+
+	if (ms_hyperv.ghcb_base) {
+		ghcb_va = (void **)this_cpu_ptr(ms_hyperv.ghcb_base);
+		if (*ghcb_va)
+			memunmap(*ghcb_va);
+		*ghcb_va = NULL;
+	}
 
 	hv_common_cpu_die(cpu);
 
@@ -383,9 +419,19 @@ void __init hyperv_init(void)
 			VMALLOC_END, GFP_KERNEL, PAGE_KERNEL_ROX,
 			VM_FLUSH_RESET_PERMS, NUMA_NO_NODE,
 			__builtin_return_address(0));
-	if (hv_hypercall_pg == NULL) {
-		wrmsrl(HV_X64_MSR_GUEST_OS_ID, 0);
-		goto remove_cpuhp_state;
+	if (hv_hypercall_pg == NULL)
+		goto clean_guest_os_id;
+
+	if (hv_isolation_type_snp()) {
+		ms_hyperv.ghcb_base = alloc_percpu(void *);
+		if (!ms_hyperv.ghcb_base)
+			goto clean_guest_os_id;
+
+		if (hyperv_init_ghcb()) {
+			free_percpu(ms_hyperv.ghcb_base);
+			ms_hyperv.ghcb_base = NULL;
+			goto clean_guest_os_id;
+		}
 	}
 
 	rdmsrl(HV_X64_MSR_HYPERCALL, hypercall_msr.as_uint64);
@@ -456,7 +502,8 @@ void __init hyperv_init(void)
 	hv_query_ext_cap(0);
 	return;
 
-remove_cpuhp_state:
+clean_guest_os_id:
+	wrmsrl(HV_X64_MSR_GUEST_OS_ID, 0);
 	cpuhp_remove_state(cpuhp);
 free_vp_assist_page:
 	kfree(hv_vp_assist_page);
@@ -484,6 +531,9 @@ void hyperv_cleanup(void)
 	 */
 	hv_hypercall_pg = NULL;
 
+	if (ms_hyperv.ghcb_base)
+		free_percpu(ms_hyperv.ghcb_base);
+
 	/* Reset the hypercall page */
 	hypercall_msr.as_uint64 = 0;
 	wrmsrl(HV_X64_MSR_HYPERCALL, hypercall_msr.as_uint64);
@@ -559,3 +609,11 @@ bool hv_is_isolation_supported(void)
 {
 	return hv_get_isolation_type() != HV_ISOLATION_TYPE_NONE;
 }
+
+DEFINE_STATIC_KEY_FALSE(isolation_type_snp);
+
+bool hv_isolation_type_snp(void)
+{
+	return static_branch_unlikely(&isolation_type_snp);
+}
+EXPORT_SYMBOL_GPL(hv_isolation_type_snp);
diff --git a/arch/x86/include/asm/mshyperv.h b/arch/x86/include/asm/mshyperv.h
index adccbc209169..6627cfd2bfba 100644
--- a/arch/x86/include/asm/mshyperv.h
+++ b/arch/x86/include/asm/mshyperv.h
@@ -11,6 +11,8 @@
 #include <asm/paravirt.h>
 #include <asm/mshyperv.h>
 
+DECLARE_STATIC_KEY_FALSE(isolation_type_snp);
+
 typedef int (*hyperv_fill_flush_list_func)(
 		struct hv_guest_mapping_flush_list *flush,
 		void *data);
diff --git a/include/asm-generic/mshyperv.h b/include/asm-generic/mshyperv.h
index c1ab6a6e72b5..4269f3174e58 100644
--- a/include/asm-generic/mshyperv.h
+++ b/include/asm-generic/mshyperv.h
@@ -36,6 +36,7 @@ struct ms_hyperv_info {
 	u32 max_lp_index;
 	u32 isolation_config_a;
 	u32 isolation_config_b;
+	void  __percpu **ghcb_base;
 };
 extern struct ms_hyperv_info ms_hyperv;
 
@@ -237,6 +238,7 @@ bool hv_is_hyperv_initialized(void);
 bool hv_is_hibernation_supported(void);
 enum hv_isolation_type hv_get_isolation_type(void);
 bool hv_is_isolation_supported(void);
+bool hv_isolation_type_snp(void);
 void hyperv_cleanup(void);
 bool hv_query_ext_cap(u64 cap_query);
 #else /* CONFIG_HYPERV */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 09 17:56:38 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 17:56:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165114.301778 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD9Vu-0000pI-CP; Mon, 09 Aug 2021 17:56:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165114.301778; Mon, 09 Aug 2021 17:56:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD9Vu-0000pA-8z; Mon, 09 Aug 2021 17:56:38 +0000
Received: by outflank-mailman (input) for mailman id 165114;
 Mon, 09 Aug 2021 17:56:37 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JD4O=NA=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mD9Vt-0000Aq-1J
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 17:56:37 +0000
Received: from mail-pl1-x62e.google.com (unknown [2607:f8b0:4864:20::62e])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id da110ea0-bc60-4e7e-a9ca-3b825ff09e61;
 Mon, 09 Aug 2021 17:56:29 +0000 (UTC)
Received: by mail-pl1-x62e.google.com with SMTP id e19so3789067pla.10
 for <xen-devel@lists.xenproject.org>; Mon, 09 Aug 2021 10:56:29 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:2:106e:6ed1:5da1:2ac4])
 by smtp.gmail.com with ESMTPSA id x14sm20589708pfa.127.2021.08.09.10.56.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Aug 2021 10:56: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: da110ea0-bc60-4e7e-a9ca-3b825ff09e61
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=WJ8Qj60FdMGjOsTL0G9bdAidXdjqOzX7Q2WO2gNuvy8=;
        b=kCOSzGmSmj2pkcs1y/QfkWI/Rb7FWu5Rt4HurHSycKb+4UJ6Aawe7iIjpLCK57NZvg
         WiKFB2lpA+UNPjQlXnkCjTyoLNfzfD6exWmoaSXwOTH3P5K09H7X97U+U6AERK1MWKDZ
         Uf9gBLdRp3afuP7JcZ7KvCly3MyakdtS0qQtW8YXpaZpP2oaIZuXn8AWr8r0q7m5PL19
         tGreCVJAddF2G7xYeJM4tw24jIsggOxYdQF69HhvqJzxkbw7sa2z7MLBTUyIBYEQNqtI
         yiQt/exmEXhRuDLkVp63WhMYXTqisSEe9mzIC1qRRU8DWNDpsvO5gCpWRZsGVSmFCKkw
         sUiA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=WJ8Qj60FdMGjOsTL0G9bdAidXdjqOzX7Q2WO2gNuvy8=;
        b=Vl4tH/b2ddUQeUamUXKMW+JnG5I9qv3Psv+3HxESFdDQHYn404rDDh/gFyjP5DPkdw
         KI4j9rQdGmpID1mfAFMupZfA+vZEk1B0WQBkuzK3OhyxF7a2+aqrXclH8FC5HiMdizg4
         ICBsFTlz09uwoQw+LfO1dcvFTdb6a4ANy1qjkIKafC82IydhF7Z6TzYGq3npDA5SwbTW
         V1BFWReljR6jqT6Ziq6hkNQ/+V49ZEoJg7iu96iJnm1M6e/mY/RF35Cfa/42SwUQsHip
         Q727jJhvBbBagx//ZEXAJ16JAJis+2o2tsIA0EK/Njj9C8zWKCxkgeYKyPkz+kgBTgix
         T+QA==
X-Gm-Message-State: AOAM532P0+Smwnt7bF7xikahuz6xyP1QNlnvNXXQW/MksF6Sd4m2GGx+
	Uxfd3bhP7qjYcO+mOzjaWbo=
X-Google-Smtp-Source: ABdhPJxmwF3scgEEjXrYinjzLnwHVvcE27E2cso3ne1oTy5d8B/iiqwH78j0wxYg/3jFPvSCO0RgTg==
X-Received: by 2002:a62:1c42:0:b029:3c3:59ee:6068 with SMTP id c63-20020a621c420000b02903c359ee6068mr19584222pfc.72.1628531788936;
        Mon, 09 Aug 2021 10:56:28 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	will@kernel.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	thomas.lendacky@amd.com,
	brijesh.singh@amd.com,
	ardb@kernel.org,
	Tianyu.Lan@microsoft.com,
	pgonda@google.com,
	martin.b.radev@gmail.com,
	akpm@linux-foundation.org,
	kirill.shutemov@linux.intel.com,
	rppt@kernel.org,
	sfr@canb.auug.org.au,
	saravanand@fb.com,
	krish.sadhukhan@oracle.com,
	aneesh.kumar@linux.ibm.com,
	xen-devel@lists.xenproject.org,
	rientjes@google.com,
	hannes@cmpxchg.org,
	tj@kernel.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com,
	dave.hansen@intel.com
Subject: [PATCH V3 02/13] x86/HV: Initialize shared memory boundary in the Isolation VM.
Date: Mon,  9 Aug 2021 13:56:06 -0400
Message-Id: <20210809175620.720923-3-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210809175620.720923-1-ltykernel@gmail.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

Hyper-V exposes shared memory boundary via cpuid
HYPERV_CPUID_ISOLATION_CONFIG and store it in the
shared_gpa_boundary of ms_hyperv struct. This prepares
to share memory with host for SNP guest.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
 arch/x86/kernel/cpu/mshyperv.c |  2 ++
 include/asm-generic/mshyperv.h | 12 +++++++++++-
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/arch/x86/kernel/cpu/mshyperv.c b/arch/x86/kernel/cpu/mshyperv.c
index 6b5835a087a3..2b7f396ef1a5 100644
--- a/arch/x86/kernel/cpu/mshyperv.c
+++ b/arch/x86/kernel/cpu/mshyperv.c
@@ -313,6 +313,8 @@ static void __init ms_hyperv_init_platform(void)
 	if (ms_hyperv.priv_high & HV_ISOLATION) {
 		ms_hyperv.isolation_config_a = cpuid_eax(HYPERV_CPUID_ISOLATION_CONFIG);
 		ms_hyperv.isolation_config_b = cpuid_ebx(HYPERV_CPUID_ISOLATION_CONFIG);
+		ms_hyperv.shared_gpa_boundary =
+			(u64)1 << ms_hyperv.shared_gpa_boundary_bits;
 
 		pr_info("Hyper-V: Isolation Config: Group A 0x%x, Group B 0x%x\n",
 			ms_hyperv.isolation_config_a, ms_hyperv.isolation_config_b);
diff --git a/include/asm-generic/mshyperv.h b/include/asm-generic/mshyperv.h
index 4269f3174e58..aa26d24a5ca9 100644
--- a/include/asm-generic/mshyperv.h
+++ b/include/asm-generic/mshyperv.h
@@ -35,8 +35,18 @@ struct ms_hyperv_info {
 	u32 max_vp_index;
 	u32 max_lp_index;
 	u32 isolation_config_a;
-	u32 isolation_config_b;
+	union {
+		u32 isolation_config_b;
+		struct {
+			u32 cvm_type : 4;
+			u32 Reserved11 : 1;
+			u32 shared_gpa_boundary_active : 1;
+			u32 shared_gpa_boundary_bits : 6;
+			u32 Reserved12 : 20;
+		};
+	};
 	void  __percpu **ghcb_base;
+	u64 shared_gpa_boundary;
 };
 extern struct ms_hyperv_info ms_hyperv;
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 09 17:56:43 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 17:56:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165115.301789 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD9Vz-0001Fj-Kl; Mon, 09 Aug 2021 17:56:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165115.301789; Mon, 09 Aug 2021 17: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 1mD9Vz-0001FW-H6; Mon, 09 Aug 2021 17:56:43 +0000
Received: by outflank-mailman (input) for mailman id 165115;
 Mon, 09 Aug 2021 17:56:42 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JD4O=NA=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mD9Vy-0000Aq-1J
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 17:56:42 +0000
Received: from mail-pj1-x1029.google.com (unknown [2607:f8b0:4864:20::1029])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id f8797023-e79b-4cc4-b7c3-d387a19bcc87;
 Mon, 09 Aug 2021 17:56:32 +0000 (UTC)
Received: by mail-pj1-x1029.google.com with SMTP id
 pj14-20020a17090b4f4eb029017786cf98f9so1155830pjb.2
 for <xen-devel@lists.xenproject.org>; Mon, 09 Aug 2021 10:56:32 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:2:106e:6ed1:5da1:2ac4])
 by smtp.gmail.com with ESMTPSA id x14sm20589708pfa.127.2021.08.09.10.56.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Aug 2021 10:56: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: f8797023-e79b-4cc4-b7c3-d387a19bcc87
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=Zn6gCEnKxJzxqfuyJcO64i09lNmUHRRDFMW+U0r9l4c=;
        b=F4F48f4jr6DNkNJAqrdEmKYpyJXH1h/G5q/zjgsZrCdkssJo2/cWbiFQpW3YP7iLjY
         sXZCJj9c6tMDviC1cbicPKVYWNBpnrK7yAV4AHtPvfQjM5XkcSZOWLxb0fywEI9nUj6c
         6ZcdMH0wYWG6o7FLNJ2ZkE0455JwRDus1HZ57miGOfy51q/Dc3MjRHe4mt5bOIDiS8AK
         6CcihOvWiRXqTaeIV/+AlVz0rod48dEm17wA5a35+fmvkjBNVjiMtcaWCgPg/EA63dgQ
         ziV2CQI+/ejbhhsQ1JkIqLBwWPkQ8Q31SoHAavmQAa9PymbgUO5Wc/Iq2MHRhBzMJcK8
         B8Fg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=Zn6gCEnKxJzxqfuyJcO64i09lNmUHRRDFMW+U0r9l4c=;
        b=KqkhAqIuigWNiblHdtlBKLlAp1bOTLFgENrPqauZcNfrjzm3Wfv8neNDbNoXofVCvp
         LnaLZKkRZP/zzhY+hXfqb56iSVGb7/Jn/fmDCi2hl0B+cORJir6dKoDIbv1+Je4Zl7O7
         N5MrvU7fqmZbSQfbG0GDXwWGbJwvnFrf0Muo2sXS8wVSYpCkXzKNcQpSJLtZOgDVoTZ7
         5O4AKg1yZuOW+aY2MIB5jZh4xkg85NSB+BzVEIKcnrcuNtZrv+IwAMffP6Injs100xU3
         cQgca6IaSzrLhdl87Bz/9glNyrURPQFsAae4ETlabJneGbWkEJFXX1cXO/CK4/84cMoN
         ZIjQ==
X-Gm-Message-State: AOAM532OvT3Q25dz/iLmpYtFmw7iWYI366myxFLAUor/0173BsFamZo0
	7TdIuyQIjlz6MRwRopgTu34=
X-Google-Smtp-Source: ABdhPJzj2I3P/UMvsOq2c11ZGlrODCC2Lo52LstZDkdvjFRxOvD2OIwXBZKpPA2TUULjg7qyGih5Qg==
X-Received: by 2002:a17:90a:1f49:: with SMTP id y9mr296003pjy.225.1628531791065;
        Mon, 09 Aug 2021 10:56:31 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	will@kernel.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	thomas.lendacky@amd.com,
	brijesh.singh@amd.com,
	ardb@kernel.org,
	Tianyu.Lan@microsoft.com,
	pgonda@google.com,
	martin.b.radev@gmail.com,
	akpm@linux-foundation.org,
	kirill.shutemov@linux.intel.com,
	rppt@kernel.org,
	sfr@canb.auug.org.au,
	saravanand@fb.com,
	krish.sadhukhan@oracle.com,
	aneesh.kumar@linux.ibm.com,
	xen-devel@lists.xenproject.org,
	rientjes@google.com,
	hannes@cmpxchg.org,
	tj@kernel.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com,
	dave.hansen@intel.com
Subject: [PATCH V3 03/13] x86/HV: Add new hvcall guest address host visibility support
Date: Mon,  9 Aug 2021 13:56:07 -0400
Message-Id: <20210809175620.720923-4-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210809175620.720923-1-ltykernel@gmail.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

Add new hvcall guest address host visibility support to mark
memory visible to host. Call it inside set_memory_decrypted
/encrypted(). Add HYPERVISOR feature check in the
hv_is_isolation_supported() to optimize in non-virtualization
environment.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
Change since v2:
       * Rework __set_memory_enc_dec() and call Hyper-V and AMD function
         according to platform check.

Change since v1:
       * Use new staic call x86_set_memory_enc to avoid add Hyper-V
         specific check in the set_memory code.
---
 arch/x86/hyperv/Makefile           |   2 +-
 arch/x86/hyperv/hv_init.c          |   6 ++
 arch/x86/hyperv/ivm.c              | 114 +++++++++++++++++++++++++++++
 arch/x86/include/asm/hyperv-tlfs.h |  20 +++++
 arch/x86/include/asm/mshyperv.h    |   4 +-
 arch/x86/mm/pat/set_memory.c       |  19 +++--
 include/asm-generic/hyperv-tlfs.h  |   1 +
 include/asm-generic/mshyperv.h     |   1 +
 8 files changed, 160 insertions(+), 7 deletions(-)
 create mode 100644 arch/x86/hyperv/ivm.c

diff --git a/arch/x86/hyperv/Makefile b/arch/x86/hyperv/Makefile
index 48e2c51464e8..5d2de10809ae 100644
--- a/arch/x86/hyperv/Makefile
+++ b/arch/x86/hyperv/Makefile
@@ -1,5 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0-only
-obj-y			:= hv_init.o mmu.o nested.o irqdomain.o
+obj-y			:= hv_init.o mmu.o nested.o irqdomain.o ivm.o
 obj-$(CONFIG_X86_64)	+= hv_apic.o hv_proc.o
 
 ifdef CONFIG_X86_64
diff --git a/arch/x86/hyperv/hv_init.c b/arch/x86/hyperv/hv_init.c
index 0bb4d9ca7a55..b3683083208a 100644
--- a/arch/x86/hyperv/hv_init.c
+++ b/arch/x86/hyperv/hv_init.c
@@ -607,6 +607,12 @@ EXPORT_SYMBOL_GPL(hv_get_isolation_type);
 
 bool hv_is_isolation_supported(void)
 {
+	if (!cpu_feature_enabled(X86_FEATURE_HYPERVISOR))
+		return 0;
+
+	if (!hypervisor_is_type(X86_HYPER_MS_HYPERV))
+		return 0;
+
 	return hv_get_isolation_type() != HV_ISOLATION_TYPE_NONE;
 }
 
diff --git a/arch/x86/hyperv/ivm.c b/arch/x86/hyperv/ivm.c
new file mode 100644
index 000000000000..8c905ffdba7f
--- /dev/null
+++ b/arch/x86/hyperv/ivm.c
@@ -0,0 +1,114 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Hyper-V Isolation VM interface with paravisor and hypervisor
+ *
+ * Author:
+ *  Tianyu Lan <Tianyu.Lan@microsoft.com>
+ */
+
+#include <linux/hyperv.h>
+#include <linux/types.h>
+#include <linux/bitfield.h>
+#include <linux/slab.h>
+#include <asm/io.h>
+#include <asm/mshyperv.h>
+
+/*
+ * hv_mark_gpa_visibility - Set pages visible to host via hvcall.
+ *
+ * In Isolation VM, all guest memory is encripted from host and guest
+ * needs to set memory visible to host via hvcall before sharing memory
+ * with host.
+ */
+int hv_mark_gpa_visibility(u16 count, const u64 pfn[],
+			   enum hv_mem_host_visibility visibility)
+{
+	struct hv_gpa_range_for_visibility **input_pcpu, *input;
+	u16 pages_processed;
+	u64 hv_status;
+	unsigned long flags;
+
+	/* no-op if partition isolation is not enabled */
+	if (!hv_is_isolation_supported())
+		return 0;
+
+	if (count > HV_MAX_MODIFY_GPA_REP_COUNT) {
+		pr_err("Hyper-V: GPA count:%d exceeds supported:%lu\n", count,
+			HV_MAX_MODIFY_GPA_REP_COUNT);
+		return -EINVAL;
+	}
+
+	local_irq_save(flags);
+	input_pcpu = (struct hv_gpa_range_for_visibility **)
+			this_cpu_ptr(hyperv_pcpu_input_arg);
+	input = *input_pcpu;
+	if (unlikely(!input)) {
+		local_irq_restore(flags);
+		return -EINVAL;
+	}
+
+	input->partition_id = HV_PARTITION_ID_SELF;
+	input->host_visibility = visibility;
+	input->reserved0 = 0;
+	input->reserved1 = 0;
+	memcpy((void *)input->gpa_page_list, pfn, count * sizeof(*pfn));
+	hv_status = hv_do_rep_hypercall(
+			HVCALL_MODIFY_SPARSE_GPA_PAGE_HOST_VISIBILITY, count,
+			0, input, &pages_processed);
+	local_irq_restore(flags);
+
+	if (!(hv_status & HV_HYPERCALL_RESULT_MASK))
+		return 0;
+
+	return hv_status & HV_HYPERCALL_RESULT_MASK;
+}
+EXPORT_SYMBOL(hv_mark_gpa_visibility);
+
+static int __hv_set_mem_host_visibility(void *kbuffer, int pagecount,
+				      enum hv_mem_host_visibility visibility)
+{
+	u64 *pfn_array;
+	int ret = 0;
+	int i, pfn;
+
+	if (!hv_is_isolation_supported() || !ms_hyperv.ghcb_base)
+		return 0;
+
+	pfn_array = kzalloc(HV_HYP_PAGE_SIZE, GFP_KERNEL);
+	if (!pfn_array)
+		return -ENOMEM;
+
+	for (i = 0, pfn = 0; i < pagecount; i++) {
+		pfn_array[pfn] = virt_to_hvpfn(kbuffer + i * HV_HYP_PAGE_SIZE);
+		pfn++;
+
+		if (pfn == HV_MAX_MODIFY_GPA_REP_COUNT || i == pagecount - 1) {
+			ret |= hv_mark_gpa_visibility(pfn, pfn_array,
+					visibility);
+			pfn = 0;
+
+			if (ret)
+				goto err_free_pfn_array;
+		}
+	}
+
+ err_free_pfn_array:
+	kfree(pfn_array);
+	return ret;
+}
+
+/*
+ * hv_set_mem_host_visibility - Set specified memory visible to host.
+ *
+ * In Isolation VM, all guest memory is encrypted from host and guest
+ * needs to set memory visible to host via hvcall before sharing memory
+ * with host. This function works as wrap of hv_mark_gpa_visibility()
+ * with memory base and size.
+ */
+int hv_set_mem_host_visibility(unsigned long addr, int numpages, bool visible)
+{
+	enum hv_mem_host_visibility visibility = visible ?
+			VMBUS_PAGE_VISIBLE_READ_WRITE : VMBUS_PAGE_NOT_VISIBLE;
+
+	return __hv_set_mem_host_visibility((void *)addr, numpages, visibility);
+}
diff --git a/arch/x86/include/asm/hyperv-tlfs.h b/arch/x86/include/asm/hyperv-tlfs.h
index 2322d6bd5883..1691d2bce0b7 100644
--- a/arch/x86/include/asm/hyperv-tlfs.h
+++ b/arch/x86/include/asm/hyperv-tlfs.h
@@ -276,6 +276,13 @@ enum hv_isolation_type {
 #define HV_X64_MSR_TIME_REF_COUNT	HV_REGISTER_TIME_REF_COUNT
 #define HV_X64_MSR_REFERENCE_TSC	HV_REGISTER_REFERENCE_TSC
 
+/* Hyper-V memory host visibility */
+enum hv_mem_host_visibility {
+	VMBUS_PAGE_NOT_VISIBLE		= 0,
+	VMBUS_PAGE_VISIBLE_READ_ONLY	= 1,
+	VMBUS_PAGE_VISIBLE_READ_WRITE	= 3
+};
+
 /*
  * Declare the MSR used to setup pages used to communicate with the hypervisor.
  */
@@ -587,4 +594,17 @@ enum hv_interrupt_type {
 
 #include <asm-generic/hyperv-tlfs.h>
 
+/* All input parameters should be in single page. */
+#define HV_MAX_MODIFY_GPA_REP_COUNT		\
+	((PAGE_SIZE / sizeof(u64)) - 2)
+
+/* HvCallModifySparseGpaPageHostVisibility hypercall */
+struct hv_gpa_range_for_visibility {
+	u64 partition_id;
+	u32 host_visibility:2;
+	u32 reserved0:30;
+	u32 reserved1;
+	u64 gpa_page_list[HV_MAX_MODIFY_GPA_REP_COUNT];
+} __packed;
+
 #endif
diff --git a/arch/x86/include/asm/mshyperv.h b/arch/x86/include/asm/mshyperv.h
index 6627cfd2bfba..87a386fa97f7 100644
--- a/arch/x86/include/asm/mshyperv.h
+++ b/arch/x86/include/asm/mshyperv.h
@@ -190,7 +190,9 @@ struct irq_domain *hv_create_pci_msi_domain(void);
 int hv_map_ioapic_interrupt(int ioapic_id, bool level, int vcpu, int vector,
 		struct hv_interrupt_entry *entry);
 int hv_unmap_ioapic_interrupt(int ioapic_id, struct hv_interrupt_entry *entry);
-
+int hv_mark_gpa_visibility(u16 count, const u64 pfn[],
+			   enum hv_mem_host_visibility visibility);
+int hv_set_mem_host_visibility(unsigned long addr, int numpages, bool visible);
 #else /* CONFIG_HYPERV */
 static inline void hyperv_init(void) {}
 static inline void hyperv_setup_mmu_ops(void) {}
diff --git a/arch/x86/mm/pat/set_memory.c b/arch/x86/mm/pat/set_memory.c
index ad8a5c586a35..1e4a0882820a 100644
--- a/arch/x86/mm/pat/set_memory.c
+++ b/arch/x86/mm/pat/set_memory.c
@@ -29,6 +29,8 @@
 #include <asm/proto.h>
 #include <asm/memtype.h>
 #include <asm/set_memory.h>
+#include <asm/hyperv-tlfs.h>
+#include <asm/mshyperv.h>
 
 #include "../mm_internal.h"
 
@@ -1980,15 +1982,11 @@ int set_memory_global(unsigned long addr, int numpages)
 				    __pgprot(_PAGE_GLOBAL), 0);
 }
 
-static int __set_memory_enc_dec(unsigned long addr, int numpages, bool enc)
+static int __set_memory_enc_pgtable(unsigned long addr, int numpages, bool enc)
 {
 	struct cpa_data cpa;
 	int ret;
 
-	/* Nothing to do if memory encryption is not active */
-	if (!mem_encrypt_active())
-		return 0;
-
 	/* Should not be working on unaligned addresses */
 	if (WARN_ONCE(addr & ~PAGE_MASK, "misaligned address: %#lx\n", addr))
 		addr &= PAGE_MASK;
@@ -2023,6 +2021,17 @@ static int __set_memory_enc_dec(unsigned long addr, int numpages, bool enc)
 	return ret;
 }
 
+static int __set_memory_enc_dec(unsigned long addr, int numpages, bool enc)
+{
+	if (hv_is_isolation_supported())
+		return hv_set_mem_host_visibility(addr, numpages, !enc);
+
+	if (mem_encrypt_active())
+		return __set_memory_enc_pgtable(addr, numpages, enc);
+
+	return 0;
+}
+
 int set_memory_encrypted(unsigned long addr, int numpages)
 {
 	return __set_memory_enc_dec(addr, numpages, true);
diff --git a/include/asm-generic/hyperv-tlfs.h b/include/asm-generic/hyperv-tlfs.h
index 56348a541c50..8ed6733d5146 100644
--- a/include/asm-generic/hyperv-tlfs.h
+++ b/include/asm-generic/hyperv-tlfs.h
@@ -158,6 +158,7 @@ struct ms_hyperv_tsc_page {
 #define HVCALL_RETARGET_INTERRUPT		0x007e
 #define HVCALL_FLUSH_GUEST_PHYSICAL_ADDRESS_SPACE 0x00af
 #define HVCALL_FLUSH_GUEST_PHYSICAL_ADDRESS_LIST 0x00b0
+#define HVCALL_MODIFY_SPARSE_GPA_PAGE_HOST_VISIBILITY 0x00db
 
 /* Extended hypercalls */
 #define HV_EXT_CALL_QUERY_CAPABILITIES		0x8001
diff --git a/include/asm-generic/mshyperv.h b/include/asm-generic/mshyperv.h
index aa26d24a5ca9..079988ed45b9 100644
--- a/include/asm-generic/mshyperv.h
+++ b/include/asm-generic/mshyperv.h
@@ -255,6 +255,7 @@ bool hv_query_ext_cap(u64 cap_query);
 static inline bool hv_is_hyperv_initialized(void) { return false; }
 static inline bool hv_is_hibernation_supported(void) { return false; }
 static inline void hyperv_cleanup(void) {}
+static inline hv_is_isolation_supported(void);
 #endif /* CONFIG_HYPERV */
 
 #endif
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 09 17:56:48 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 17:56:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165116.301800 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD9W4-0001mb-7y; Mon, 09 Aug 2021 17:56:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165116.301800; Mon, 09 Aug 2021 17:56:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD9W4-0001mO-4J; Mon, 09 Aug 2021 17:56:48 +0000
Received: by outflank-mailman (input) for mailman id 165116;
 Mon, 09 Aug 2021 17:56:47 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JD4O=NA=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mD9W3-0000Aq-1Z
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 17:56:47 +0000
Received: from mail-pl1-x633.google.com (unknown [2607:f8b0:4864:20::633])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id f0d68e06-ee91-4a1e-b2bc-ae23731dd6bd;
 Mon, 09 Aug 2021 17:56:35 +0000 (UTC)
Received: by mail-pl1-x633.google.com with SMTP id k2so17264619plk.13
 for <xen-devel@lists.xenproject.org>; Mon, 09 Aug 2021 10:56:35 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:2:106e:6ed1:5da1:2ac4])
 by smtp.gmail.com with ESMTPSA id x14sm20589708pfa.127.2021.08.09.10.56.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Aug 2021 10:56: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: f0d68e06-ee91-4a1e-b2bc-ae23731dd6bd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=Men1AZwUmuVs+mP8DF3xiO7Kxjvnd8nVq1v+nRjKpCQ=;
        b=khPH2C+O3EAicxhd7Ol8cKTH5M6jlmzfQ8AO/O1nDTvaVoKxSYt9ZFCTLGRbikb5lh
         PDJ33DWVYKUJkew4s5UHIfYAMLSYuNH+uf/XtXD0IORwvY1DIt7A3cBWxmGFheDk576S
         V3f7/9klpb/XtUJHfTr/xvgxlJQr/zFFSZScoCFNkrbrD15HrsX7R1uv6/aQEWxckoRN
         9QsVgqkiNeWlCadxH+8e5eldRu1GEL06smeSmjiPy+yGlokaFMzt3CKLV48oxtK81odS
         6JMrI0ItN47jYQqCSSni4G8Qh04K6SLFdJInx7pD26u4zhhajSI26iXbbtm/G5rwvFIk
         Sluw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=Men1AZwUmuVs+mP8DF3xiO7Kxjvnd8nVq1v+nRjKpCQ=;
        b=P1PUWBnQiU8cEQ4wAVroGl48RRpFq+NV91ePhy49G2W+UmKoCej2fVmW4qZ4tHtX7X
         AiRZyQ2YADIGu3UG1d9gJ4Z8v7HTP+owZxMynGz3Md65oGuVHGhYce9ae9nnucN5o0+g
         DFrOp25ebDazpnuxyR6zZIE8D8hQ6wTQaTm416bC2HjsO7QlrId1LZn8fpiIaK1ZwERE
         9mEN7XGDa45gXk9HqZ/C1vWy7ftPObuH4tFYrKLK9lGLGobrvjonUuuYTRuazmBjVc7S
         EYu5FjSezzhvA+NieHSSEMGdD3dnbZSTBtqSFaqil1AyooLgdoUrAVhEPhNuuSEAQrEu
         NMZQ==
X-Gm-Message-State: AOAM530db8+LriKqALkKStTUDF33TG9/BjkynPW23Vty2Q9jwWD8Oh5t
	OLhNQUDwHlM36B77zwZb+lc=
X-Google-Smtp-Source: ABdhPJzwKjD0clYdhmrGRt/ZwcFYRptbvrLB1rs9cJlW5QDBm6ePK+6Ij95/tTvvfr9i4l9z3WVYCQ==
X-Received: by 2002:a17:90b:21c9:: with SMTP id ll9mr314744pjb.161.1628531794508;
        Mon, 09 Aug 2021 10:56:34 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	will@kernel.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	thomas.lendacky@amd.com,
	brijesh.singh@amd.com,
	ardb@kernel.org,
	Tianyu.Lan@microsoft.com,
	pgonda@google.com,
	martin.b.radev@gmail.com,
	akpm@linux-foundation.org,
	kirill.shutemov@linux.intel.com,
	rppt@kernel.org,
	sfr@canb.auug.org.au,
	saravanand@fb.com,
	krish.sadhukhan@oracle.com,
	aneesh.kumar@linux.ibm.com,
	xen-devel@lists.xenproject.org,
	rientjes@google.com,
	hannes@cmpxchg.org,
	tj@kernel.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com,
	dave.hansen@intel.com
Subject: [PATCH V3 04/13] HV: Mark vmbus ring buffer visible to host in Isolation VM
Date: Mon,  9 Aug 2021 13:56:08 -0400
Message-Id: <20210809175620.720923-5-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210809175620.720923-1-ltykernel@gmail.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

Mark vmbus ring buffer visible with set_memory_decrypted() when
establish gpadl handle.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
 drivers/hv/channel.c   | 44 ++++++++++++++++++++++++++++++++++++++++--
 include/linux/hyperv.h | 11 +++++++++++
 2 files changed, 53 insertions(+), 2 deletions(-)

diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c
index f3761c73b074..4c4717c26240 100644
--- a/drivers/hv/channel.c
+++ b/drivers/hv/channel.c
@@ -17,6 +17,7 @@
 #include <linux/hyperv.h>
 #include <linux/uio.h>
 #include <linux/interrupt.h>
+#include <linux/set_memory.h>
 #include <asm/page.h>
 #include <asm/mshyperv.h>
 
@@ -465,7 +466,14 @@ static int __vmbus_establish_gpadl(struct vmbus_channel *channel,
 	struct list_head *curr;
 	u32 next_gpadl_handle;
 	unsigned long flags;
-	int ret = 0;
+	int ret = 0, index;
+
+	index = atomic_inc_return(&channel->gpadl_index) - 1;
+
+	if (index > VMBUS_GPADL_RANGE_COUNT - 1) {
+		pr_err("Gpadl handle position(%d) has been occupied.\n", index);
+		return -ENOSPC;
+	}
 
 	next_gpadl_handle =
 		(atomic_inc_return(&vmbus_connection.next_gpadl_handle) - 1);
@@ -474,6 +482,13 @@ static int __vmbus_establish_gpadl(struct vmbus_channel *channel,
 	if (ret)
 		return ret;
 
+	ret = set_memory_decrypted((unsigned long)kbuffer,
+				   HVPFN_UP(size));
+	if (ret) {
+		pr_warn("Failed to set host visibility.\n");
+		return ret;
+	}
+
 	init_completion(&msginfo->waitevent);
 	msginfo->waiting_channel = channel;
 
@@ -539,6 +554,10 @@ static int __vmbus_establish_gpadl(struct vmbus_channel *channel,
 	/* At this point, we received the gpadl created msg */
 	*gpadl_handle = gpadlmsg->gpadl;
 
+	channel->gpadl_array[index].size = size;
+	channel->gpadl_array[index].buffer = kbuffer;
+	channel->gpadl_array[index].gpadlhandle = *gpadl_handle;
+
 cleanup:
 	spin_lock_irqsave(&vmbus_connection.channelmsg_lock, flags);
 	list_del(&msginfo->msglistentry);
@@ -549,6 +568,13 @@ static int __vmbus_establish_gpadl(struct vmbus_channel *channel,
 	}
 
 	kfree(msginfo);
+
+	if (ret) {
+		set_memory_encrypted((unsigned long)kbuffer,
+				     HVPFN_UP(size));
+		atomic_dec(&channel->gpadl_index);
+	}
+
 	return ret;
 }
 
@@ -676,6 +702,7 @@ static int __vmbus_open(struct vmbus_channel *newchannel,
 
 	/* Establish the gpadl for the ring buffer */
 	newchannel->ringbuffer_gpadlhandle = 0;
+	atomic_set(&newchannel->gpadl_index, 0);
 
 	err = __vmbus_establish_gpadl(newchannel, HV_GPADL_RING,
 				      page_address(newchannel->ringbuffer_page),
@@ -811,7 +838,7 @@ int vmbus_teardown_gpadl(struct vmbus_channel *channel, u32 gpadl_handle)
 	struct vmbus_channel_gpadl_teardown *msg;
 	struct vmbus_channel_msginfo *info;
 	unsigned long flags;
-	int ret;
+	int ret, i;
 
 	info = kzalloc(sizeof(*info) +
 		       sizeof(struct vmbus_channel_gpadl_teardown), GFP_KERNEL);
@@ -859,6 +886,19 @@ int vmbus_teardown_gpadl(struct vmbus_channel *channel, u32 gpadl_handle)
 	spin_unlock_irqrestore(&vmbus_connection.channelmsg_lock, flags);
 
 	kfree(info);
+
+	/* Find gpadl buffer virtual address and size. */
+	for (i = 0; i < VMBUS_GPADL_RANGE_COUNT; i++)
+		if (channel->gpadl_array[i].gpadlhandle == gpadl_handle)
+			break;
+
+	if (set_memory_encrypted((unsigned long)channel->gpadl_array[i].buffer,
+			HVPFN_UP(channel->gpadl_array[i].size)))
+		pr_warn("Fail to set mem host visibility.\n");
+
+	channel->gpadl_array[i].gpadlhandle = 0;
+	atomic_dec(&channel->gpadl_index);
+
 	return ret;
 }
 EXPORT_SYMBOL_GPL(vmbus_teardown_gpadl);
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
index ddc8713ce57b..90b542597143 100644
--- a/include/linux/hyperv.h
+++ b/include/linux/hyperv.h
@@ -803,6 +803,14 @@ struct vmbus_device {
 
 #define VMBUS_DEFAULT_MAX_PKT_SIZE 4096
 
+struct vmbus_gpadl {
+	u32 gpadlhandle;
+	u32 size;
+	void *buffer;
+};
+
+#define VMBUS_GPADL_RANGE_COUNT		3
+
 struct vmbus_channel {
 	struct list_head listentry;
 
@@ -823,6 +831,9 @@ struct vmbus_channel {
 	struct completion rescind_event;
 
 	u32 ringbuffer_gpadlhandle;
+	/* GPADL_RING and Send/Receive GPADL_BUFFER. */
+	struct vmbus_gpadl gpadl_array[VMBUS_GPADL_RANGE_COUNT];
+	atomic_t gpadl_index;
 
 	/* Allocated memory for ring buffer */
 	struct page *ringbuffer_page;
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 09 17:56:53 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 17:56:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165120.301811 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD9W9-0002Ip-Gn; Mon, 09 Aug 2021 17:56:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165120.301811; Mon, 09 Aug 2021 17:56:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD9W9-0002IY-D4; Mon, 09 Aug 2021 17:56:53 +0000
Received: by outflank-mailman (input) for mailman id 165120;
 Mon, 09 Aug 2021 17:56:52 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JD4O=NA=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mD9W8-0000Aq-1n
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 17:56:52 +0000
Received: from mail-pj1-x1035.google.com (unknown [2607:f8b0:4864:20::1035])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 7d2505eb-fb3b-49aa-ab43-a017d7c8c24a;
 Mon, 09 Aug 2021 17:56:37 +0000 (UTC)
Received: by mail-pj1-x1035.google.com with SMTP id
 cp15-20020a17090afb8fb029017891959dcbso86904pjb.2
 for <xen-devel@lists.xenproject.org>; Mon, 09 Aug 2021 10:56:37 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:2:106e:6ed1:5da1:2ac4])
 by smtp.gmail.com with ESMTPSA id x14sm20589708pfa.127.2021.08.09.10.56.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Aug 2021 10:56: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: 7d2505eb-fb3b-49aa-ab43-a017d7c8c24a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=SGrxuB4DVPdzsnNP0DulQ9yeXx6GxEaahsdAOqnVAjM=;
        b=AEz62xouP0OoIkaPiX66MaEEzJqmuDB5n+Jjqb3xJ9ZVZC7tqVVAhj8DXtgga9Pv9x
         4Cri82FFw3GW982rAw19ZTpBdw0b13pW+5XSPiMzIbLifhi1sJmuNCC/qvKFT2eHKYLT
         7NLtHhNw0EjcCMCzCnKMhH/SsOWO82zv35oIUnAkXIYytyTTe0Mm7Gu98yX7UV/8VSa7
         WgJWkEI/GHiUjna70lOXK5gnsaPZHI4w7RfTpRMpI4IPrFhgYMHOhxAMTg0IlDkKgjFP
         mS8/YMpiXYkRhr/edhU5cc1CK6QW/REyf/Hh4XB+5VG8FVNacW50XufN8JF0eRdVOmDJ
         baKw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=SGrxuB4DVPdzsnNP0DulQ9yeXx6GxEaahsdAOqnVAjM=;
        b=l/cmh01gSMFGVusyyjqiyHD91jN6Snlc0anD6lsamY64IAnqqjd6PPhFSjz5EocR3j
         KDAgKIR9O/NCXEfuUP7kW5TcIDjczcb8aqNoYmvuv0/kAVKhCpxZ4usyYp1jBaffA5dB
         4pBSfd94UfpWyqzSffgidEu7qtoOGsff++nwBdVKdjxfWUqC8rwj0LIe10PmUWxpPI5B
         +TnotHN5zFn05EDZ9iMV1UvgaFRQL/6mN3Kp0k3a8Yre2WVB3LEzeyG/+562Y0Vl8H0S
         5A+lHf5NczD3fyw5JcPyuQ1pim9s1KNckCwb7irDMq6j0YxXqaAV+HXOiuIrc/U0UXyn
         QIXw==
X-Gm-Message-State: AOAM530FadkTDVdgdIdpVQe6g4ypKlzso958DK0VBa6+kx4aFILjjpFf
	J/sASXGuSsgQ3d3xEqRmzTQ=
X-Google-Smtp-Source: ABdhPJz2NsNe+rB36EhkRcSdVQ4tNPo8tby+PnC8VCKPNzQ9joAqp6ab2g9vHv38avkubu3FdLiSWQ==
X-Received: by 2002:a17:90a:ba8e:: with SMTP id t14mr26985957pjr.176.1628531796987;
        Mon, 09 Aug 2021 10:56:36 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	will@kernel.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	thomas.lendacky@amd.com,
	brijesh.singh@amd.com,
	ardb@kernel.org,
	Tianyu.Lan@microsoft.com,
	pgonda@google.com,
	martin.b.radev@gmail.com,
	akpm@linux-foundation.org,
	kirill.shutemov@linux.intel.com,
	rppt@kernel.org,
	sfr@canb.auug.org.au,
	saravanand@fb.com,
	krish.sadhukhan@oracle.com,
	aneesh.kumar@linux.ibm.com,
	xen-devel@lists.xenproject.org,
	rientjes@google.com,
	hannes@cmpxchg.org,
	tj@kernel.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com,
	dave.hansen@intel.com
Subject: [PATCH V3 05/13] HV: Add Write/Read MSR registers via ghcb page
Date: Mon,  9 Aug 2021 13:56:09 -0400
Message-Id: <20210809175620.720923-6-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210809175620.720923-1-ltykernel@gmail.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

Hyper-V provides GHCB protocol to write Synthetic Interrupt
Controller MSR registers in Isolation VM with AMD SEV SNP
and these registers are emulated by hypervisor directly.
Hyper-V requires to write SINTx MSR registers twice. First
writes MSR via GHCB page to communicate with hypervisor
and then writes wrmsr instruction to talk with paravisor
which runs in VMPL0. Guest OS ID MSR also needs to be set
via GHCB.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
Change since v1:
         * Introduce sev_es_ghcb_hv_call_simple() and share code
           between SEV and Hyper-V code.
---
 arch/x86/hyperv/hv_init.c       |  33 ++-------
 arch/x86/hyperv/ivm.c           | 110 +++++++++++++++++++++++++++++
 arch/x86/include/asm/mshyperv.h |  78 +++++++++++++++++++-
 arch/x86/include/asm/sev.h      |   3 +
 arch/x86/kernel/cpu/mshyperv.c  |   3 +
 arch/x86/kernel/sev-shared.c    |  63 ++++++++++-------
 drivers/hv/hv.c                 | 121 ++++++++++++++++++++++----------
 include/asm-generic/mshyperv.h  |  12 +++-
 8 files changed, 329 insertions(+), 94 deletions(-)

diff --git a/arch/x86/hyperv/hv_init.c b/arch/x86/hyperv/hv_init.c
index b3683083208a..ab0b33f621e7 100644
--- a/arch/x86/hyperv/hv_init.c
+++ b/arch/x86/hyperv/hv_init.c
@@ -423,7 +423,7 @@ void __init hyperv_init(void)
 		goto clean_guest_os_id;
 
 	if (hv_isolation_type_snp()) {
-		ms_hyperv.ghcb_base = alloc_percpu(void *);
+		ms_hyperv.ghcb_base = alloc_percpu(union hv_ghcb __percpu *);
 		if (!ms_hyperv.ghcb_base)
 			goto clean_guest_os_id;
 
@@ -432,6 +432,9 @@ void __init hyperv_init(void)
 			ms_hyperv.ghcb_base = NULL;
 			goto clean_guest_os_id;
 		}
+
+		/* Hyper-V requires to write guest os id via ghcb in SNP IVM. */
+		hv_ghcb_msr_write(HV_X64_MSR_GUEST_OS_ID, guest_id);
 	}
 
 	rdmsrl(HV_X64_MSR_HYPERCALL, hypercall_msr.as_uint64);
@@ -523,6 +526,7 @@ void hyperv_cleanup(void)
 
 	/* Reset our OS id */
 	wrmsrl(HV_X64_MSR_GUEST_OS_ID, 0);
+	hv_ghcb_msr_write(HV_X64_MSR_GUEST_OS_ID, 0);
 
 	/*
 	 * Reset hypercall page reference before reset the page,
@@ -596,30 +600,3 @@ bool hv_is_hyperv_initialized(void)
 	return hypercall_msr.enable;
 }
 EXPORT_SYMBOL_GPL(hv_is_hyperv_initialized);
-
-enum hv_isolation_type hv_get_isolation_type(void)
-{
-	if (!(ms_hyperv.priv_high & HV_ISOLATION))
-		return HV_ISOLATION_TYPE_NONE;
-	return FIELD_GET(HV_ISOLATION_TYPE, ms_hyperv.isolation_config_b);
-}
-EXPORT_SYMBOL_GPL(hv_get_isolation_type);
-
-bool hv_is_isolation_supported(void)
-{
-	if (!cpu_feature_enabled(X86_FEATURE_HYPERVISOR))
-		return 0;
-
-	if (!hypervisor_is_type(X86_HYPER_MS_HYPERV))
-		return 0;
-
-	return hv_get_isolation_type() != HV_ISOLATION_TYPE_NONE;
-}
-
-DEFINE_STATIC_KEY_FALSE(isolation_type_snp);
-
-bool hv_isolation_type_snp(void)
-{
-	return static_branch_unlikely(&isolation_type_snp);
-}
-EXPORT_SYMBOL_GPL(hv_isolation_type_snp);
diff --git a/arch/x86/hyperv/ivm.c b/arch/x86/hyperv/ivm.c
index 8c905ffdba7f..ec0e5c259740 100644
--- a/arch/x86/hyperv/ivm.c
+++ b/arch/x86/hyperv/ivm.c
@@ -6,6 +6,8 @@
  *  Tianyu Lan <Tianyu.Lan@microsoft.com>
  */
 
+#include <linux/types.h>
+#include <linux/bitfield.h>
 #include <linux/hyperv.h>
 #include <linux/types.h>
 #include <linux/bitfield.h>
@@ -13,6 +15,114 @@
 #include <asm/io.h>
 #include <asm/mshyperv.h>
 
+void hv_ghcb_msr_write(u64 msr, u64 value)
+{
+	union hv_ghcb *hv_ghcb;
+	void **ghcb_base;
+	unsigned long flags;
+
+	if (!ms_hyperv.ghcb_base)
+		return;
+
+	WARN_ON(in_nmi());
+
+	local_irq_save(flags);
+	ghcb_base = (void **)this_cpu_ptr(ms_hyperv.ghcb_base);
+	hv_ghcb = (union hv_ghcb *)*ghcb_base;
+	if (!hv_ghcb) {
+		local_irq_restore(flags);
+		return;
+	}
+
+	ghcb_set_rcx(&hv_ghcb->ghcb, msr);
+	ghcb_set_rax(&hv_ghcb->ghcb, lower_32_bits(value));
+	ghcb_set_rdx(&hv_ghcb->ghcb, value >> 32);
+
+	if (sev_es_ghcb_hv_call_simple(&hv_ghcb->ghcb, SVM_EXIT_MSR, 1, 0))
+		pr_warn("Fail to write msr via ghcb %llx.\n", msr);
+
+	local_irq_restore(flags);
+}
+
+void hv_ghcb_msr_read(u64 msr, u64 *value)
+{
+	union hv_ghcb *hv_ghcb;
+	void **ghcb_base;
+	unsigned long flags;
+
+	if (!ms_hyperv.ghcb_base)
+		return;
+
+	WARN_ON(in_nmi());
+
+	local_irq_save(flags);
+	ghcb_base = (void **)this_cpu_ptr(ms_hyperv.ghcb_base);
+	hv_ghcb = (union hv_ghcb *)*ghcb_base;
+	if (!hv_ghcb) {
+		local_irq_restore(flags);
+		return;
+	}
+
+	ghcb_set_rcx(&hv_ghcb->ghcb, msr);
+	if (sev_es_ghcb_hv_call_simple(&hv_ghcb->ghcb, SVM_EXIT_MSR, 0, 0))
+		pr_warn("Fail to read msr via ghcb %llx.\n", msr);
+	else
+		*value = (u64)lower_32_bits(hv_ghcb->ghcb.save.rax)
+			| ((u64)lower_32_bits(hv_ghcb->ghcb.save.rdx) << 32);
+	local_irq_restore(flags);
+}
+
+void hv_sint_rdmsrl_ghcb(u64 msr, u64 *value)
+{
+	hv_ghcb_msr_read(msr, value);
+}
+EXPORT_SYMBOL_GPL(hv_sint_rdmsrl_ghcb);
+
+void hv_sint_wrmsrl_ghcb(u64 msr, u64 value)
+{
+	hv_ghcb_msr_write(msr, value);
+
+	/* Write proxy bit vua wrmsrl instruction. */
+	if (msr >= HV_X64_MSR_SINT0 && msr <= HV_X64_MSR_SINT15)
+		wrmsrl(msr, value | 1 << 20);
+}
+EXPORT_SYMBOL_GPL(hv_sint_wrmsrl_ghcb);
+
+void hv_signal_eom_ghcb(void)
+{
+	hv_sint_wrmsrl_ghcb(HV_X64_MSR_EOM, 0);
+}
+EXPORT_SYMBOL_GPL(hv_signal_eom_ghcb);
+
+enum hv_isolation_type hv_get_isolation_type(void)
+{
+	if (!(ms_hyperv.priv_high & HV_ISOLATION))
+		return HV_ISOLATION_TYPE_NONE;
+	return FIELD_GET(HV_ISOLATION_TYPE, ms_hyperv.isolation_config_b);
+}
+EXPORT_SYMBOL_GPL(hv_get_isolation_type);
+
+/*
+ * hv_is_isolation_supported - Check system runs in the Hyper-V
+ * isolation VM.
+ */
+bool hv_is_isolation_supported(void)
+{
+	return hv_get_isolation_type() != HV_ISOLATION_TYPE_NONE;
+}
+
+DEFINE_STATIC_KEY_FALSE(isolation_type_snp);
+
+/*
+ * hv_isolation_type_snp - Check system runs in the AMD SEV-SNP based
+ * isolation VM.
+ */
+bool hv_isolation_type_snp(void)
+{
+	return static_branch_unlikely(&isolation_type_snp);
+}
+EXPORT_SYMBOL_GPL(hv_isolation_type_snp);
+
 /*
  * hv_mark_gpa_visibility - Set pages visible to host via hvcall.
  *
diff --git a/arch/x86/include/asm/mshyperv.h b/arch/x86/include/asm/mshyperv.h
index 87a386fa97f7..730985676ea3 100644
--- a/arch/x86/include/asm/mshyperv.h
+++ b/arch/x86/include/asm/mshyperv.h
@@ -30,6 +30,63 @@ static inline u64 hv_get_register(unsigned int reg)
 	return value;
 }
 
+#define hv_get_sint_reg(val, reg) {		\
+	if (hv_isolation_type_snp())		\
+		hv_get_##reg##_ghcb(&val);	\
+	else					\
+		rdmsrl(HV_X64_MSR_##reg, val);	\
+	}
+
+#define hv_set_sint_reg(val, reg) {		\
+	if (hv_isolation_type_snp())		\
+		hv_set_##reg##_ghcb(val);	\
+	else					\
+		wrmsrl(HV_X64_MSR_##reg, val);	\
+	}
+
+
+#define hv_get_simp(val) hv_get_sint_reg(val, SIMP)
+#define hv_get_siefp(val) hv_get_sint_reg(val, SIEFP)
+
+#define hv_set_simp(val) hv_set_sint_reg(val, SIMP)
+#define hv_set_siefp(val) hv_set_sint_reg(val, SIEFP)
+
+#define hv_get_synic_state(val) {			\
+	if (hv_isolation_type_snp())			\
+		hv_get_synic_state_ghcb(&val);		\
+	else						\
+		rdmsrl(HV_X64_MSR_SCONTROL, val);	\
+	}
+#define hv_set_synic_state(val) {			\
+	if (hv_isolation_type_snp())			\
+		hv_set_synic_state_ghcb(val);		\
+	else						\
+		wrmsrl(HV_X64_MSR_SCONTROL, val);	\
+	}
+
+#define hv_get_vp_index(index) rdmsrl(HV_X64_MSR_VP_INDEX, index)
+
+#define hv_signal_eom() {			 \
+	if (hv_isolation_type_snp() &&		 \
+	    old_msg_type != HVMSG_TIMER_EXPIRED) \
+		hv_signal_eom_ghcb();		 \
+	else					 \
+		wrmsrl(HV_X64_MSR_EOM, 0);	 \
+	}
+
+#define hv_get_synint_state(int_num, val) {		\
+	if (hv_isolation_type_snp())			\
+		hv_get_synint_state_ghcb(int_num, &val);\
+	else						\
+		rdmsrl(HV_X64_MSR_SINT0 + int_num, val);\
+	}
+#define hv_set_synint_state(int_num, val) {		\
+	if (hv_isolation_type_snp())			\
+		hv_set_synint_state_ghcb(int_num, val);	\
+	else						\
+		wrmsrl(HV_X64_MSR_SINT0 + int_num, val);\
+	}
+
 #define hv_get_raw_timer() rdtsc_ordered()
 
 void hyperv_vector_handler(struct pt_regs *regs);
@@ -193,6 +250,25 @@ int hv_unmap_ioapic_interrupt(int ioapic_id, struct hv_interrupt_entry *entry);
 int hv_mark_gpa_visibility(u16 count, const u64 pfn[],
 			   enum hv_mem_host_visibility visibility);
 int hv_set_mem_host_visibility(unsigned long addr, int numpages, bool visible);
+void hv_sint_wrmsrl_ghcb(u64 msr, u64 value);
+void hv_sint_rdmsrl_ghcb(u64 msr, u64 *value);
+void hv_signal_eom_ghcb(void);
+void hv_ghcb_msr_write(u64 msr, u64 value);
+void hv_ghcb_msr_read(u64 msr, u64 *value);
+
+#define hv_get_synint_state_ghcb(int_num, val)			\
+	hv_sint_rdmsrl_ghcb(HV_X64_MSR_SINT0 + int_num, val)
+#define hv_set_synint_state_ghcb(int_num, val) \
+	hv_sint_wrmsrl_ghcb(HV_X64_MSR_SINT0 + int_num, val)
+
+#define hv_get_SIMP_ghcb(val) hv_sint_rdmsrl_ghcb(HV_X64_MSR_SIMP, val)
+#define hv_set_SIMP_ghcb(val) hv_sint_wrmsrl_ghcb(HV_X64_MSR_SIMP, val)
+
+#define hv_get_SIEFP_ghcb(val) hv_sint_rdmsrl_ghcb(HV_X64_MSR_SIEFP, val)
+#define hv_set_SIEFP_ghcb(val) hv_sint_wrmsrl_ghcb(HV_X64_MSR_SIEFP, val)
+
+#define hv_get_synic_state_ghcb(val) hv_sint_rdmsrl_ghcb(HV_X64_MSR_SCONTROL, val)
+#define hv_set_synic_state_ghcb(val) hv_sint_wrmsrl_ghcb(HV_X64_MSR_SCONTROL, val)
 #else /* CONFIG_HYPERV */
 static inline void hyperv_init(void) {}
 static inline void hyperv_setup_mmu_ops(void) {}
@@ -209,9 +285,9 @@ static inline int hyperv_flush_guest_mapping_range(u64 as,
 {
 	return -1;
 }
+static inline void hv_signal_eom_ghcb(void) { };
 #endif /* CONFIG_HYPERV */
 
-
 #include <asm-generic/mshyperv.h>
 
 #endif
diff --git a/arch/x86/include/asm/sev.h b/arch/x86/include/asm/sev.h
index fa5cd05d3b5b..81beb2a8031b 100644
--- a/arch/x86/include/asm/sev.h
+++ b/arch/x86/include/asm/sev.h
@@ -81,6 +81,9 @@ static __always_inline void sev_es_nmi_complete(void)
 		__sev_es_nmi_complete();
 }
 extern int __init sev_es_efi_map_ghcbs(pgd_t *pgd);
+extern enum es_result sev_es_ghcb_hv_call_simple(struct ghcb *ghcb,
+				   u64 exit_code, u64 exit_info_1,
+				   u64 exit_info_2);
 #else
 static inline void sev_es_ist_enter(struct pt_regs *regs) { }
 static inline void sev_es_ist_exit(void) { }
diff --git a/arch/x86/kernel/cpu/mshyperv.c b/arch/x86/kernel/cpu/mshyperv.c
index 2b7f396ef1a5..3633f871ac1e 100644
--- a/arch/x86/kernel/cpu/mshyperv.c
+++ b/arch/x86/kernel/cpu/mshyperv.c
@@ -318,6 +318,9 @@ static void __init ms_hyperv_init_platform(void)
 
 		pr_info("Hyper-V: Isolation Config: Group A 0x%x, Group B 0x%x\n",
 			ms_hyperv.isolation_config_a, ms_hyperv.isolation_config_b);
+
+		if (hv_get_isolation_type() == HV_ISOLATION_TYPE_SNP)
+			static_branch_enable(&isolation_type_snp);
 	}
 
 	if (hv_max_functions_eax >= HYPERV_CPUID_NESTED_FEATURES) {
diff --git a/arch/x86/kernel/sev-shared.c b/arch/x86/kernel/sev-shared.c
index 9f90f460a28c..dd7f37de640b 100644
--- a/arch/x86/kernel/sev-shared.c
+++ b/arch/x86/kernel/sev-shared.c
@@ -94,10 +94,9 @@ static void vc_finish_insn(struct es_em_ctxt *ctxt)
 	ctxt->regs->ip += ctxt->insn.length;
 }
 
-static enum es_result sev_es_ghcb_hv_call(struct ghcb *ghcb,
-					  struct es_em_ctxt *ctxt,
-					  u64 exit_code, u64 exit_info_1,
-					  u64 exit_info_2)
+enum es_result sev_es_ghcb_hv_call_simple(struct ghcb *ghcb,
+				   u64 exit_code, u64 exit_info_1,
+				   u64 exit_info_2)
 {
 	enum es_result ret;
 
@@ -109,29 +108,45 @@ static enum es_result sev_es_ghcb_hv_call(struct ghcb *ghcb,
 	ghcb_set_sw_exit_info_1(ghcb, exit_info_1);
 	ghcb_set_sw_exit_info_2(ghcb, exit_info_2);
 
-	sev_es_wr_ghcb_msr(__pa(ghcb));
 	VMGEXIT();
 
-	if ((ghcb->save.sw_exit_info_1 & 0xffffffff) == 1) {
-		u64 info = ghcb->save.sw_exit_info_2;
-		unsigned long v;
-
-		info = ghcb->save.sw_exit_info_2;
-		v = info & SVM_EVTINJ_VEC_MASK;
-
-		/* Check if exception information from hypervisor is sane. */
-		if ((info & SVM_EVTINJ_VALID) &&
-		    ((v == X86_TRAP_GP) || (v == X86_TRAP_UD)) &&
-		    ((info & SVM_EVTINJ_TYPE_MASK) == SVM_EVTINJ_TYPE_EXEPT)) {
-			ctxt->fi.vector = v;
-			if (info & SVM_EVTINJ_VALID_ERR)
-				ctxt->fi.error_code = info >> 32;
-			ret = ES_EXCEPTION;
-		} else {
-			ret = ES_VMM_ERROR;
-		}
-	} else {
+	if ((ghcb->save.sw_exit_info_1 & 0xffffffff) == 1)
+		ret = ES_VMM_ERROR;
+	else
 		ret = ES_OK;
+
+	return ret;
+}
+
+static enum es_result sev_es_ghcb_hv_call(struct ghcb *ghcb,
+				   struct es_em_ctxt *ctxt,
+				   u64 exit_code, u64 exit_info_1,
+				   u64 exit_info_2)
+{
+	unsigned long v;
+	enum es_result ret;
+	u64 info;
+
+	sev_es_wr_ghcb_msr(__pa(ghcb));
+
+	ret = sev_es_ghcb_hv_call_simple(ghcb, exit_code, exit_info_1,
+					 exit_info_2);
+	if (ret == ES_OK)
+		return ret;
+
+	info = ghcb->save.sw_exit_info_2;
+	v = info & SVM_EVTINJ_VEC_MASK;
+
+	/* Check if exception information from hypervisor is sane. */
+	if ((info & SVM_EVTINJ_VALID) &&
+	    ((v == X86_TRAP_GP) || (v == X86_TRAP_UD)) &&
+	    ((info & SVM_EVTINJ_TYPE_MASK) == SVM_EVTINJ_TYPE_EXEPT)) {
+		ctxt->fi.vector = v;
+		if (info & SVM_EVTINJ_VALID_ERR)
+			ctxt->fi.error_code = info >> 32;
+		ret = ES_EXCEPTION;
+	} else {
+		ret = ES_VMM_ERROR;
 	}
 
 	return ret;
diff --git a/drivers/hv/hv.c b/drivers/hv/hv.c
index e83507f49676..59f7173c4d9f 100644
--- a/drivers/hv/hv.c
+++ b/drivers/hv/hv.c
@@ -8,6 +8,7 @@
  */
 #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
 
+#include <linux/io.h>
 #include <linux/kernel.h>
 #include <linux/mm.h>
 #include <linux/slab.h>
@@ -136,17 +137,24 @@ int hv_synic_alloc(void)
 		tasklet_init(&hv_cpu->msg_dpc,
 			     vmbus_on_msg_dpc, (unsigned long) hv_cpu);
 
-		hv_cpu->synic_message_page =
-			(void *)get_zeroed_page(GFP_ATOMIC);
-		if (hv_cpu->synic_message_page == NULL) {
-			pr_err("Unable to allocate SYNIC message page\n");
-			goto err;
-		}
+		/*
+		 * Synic message and event pages are allocated by paravisor.
+		 * Skip these pages allocation here.
+		 */
+		if (!hv_isolation_type_snp()) {
+			hv_cpu->synic_message_page =
+				(void *)get_zeroed_page(GFP_ATOMIC);
+			if (hv_cpu->synic_message_page == NULL) {
+				pr_err("Unable to allocate SYNIC message page\n");
+				goto err;
+			}
 
-		hv_cpu->synic_event_page = (void *)get_zeroed_page(GFP_ATOMIC);
-		if (hv_cpu->synic_event_page == NULL) {
-			pr_err("Unable to allocate SYNIC event page\n");
-			goto err;
+			hv_cpu->synic_event_page =
+				(void *)get_zeroed_page(GFP_ATOMIC);
+			if (hv_cpu->synic_event_page == NULL) {
+				pr_err("Unable to allocate SYNIC event page\n");
+				goto err;
+			}
 		}
 
 		hv_cpu->post_msg_page = (void *)get_zeroed_page(GFP_ATOMIC);
@@ -173,10 +181,17 @@ void hv_synic_free(void)
 	for_each_present_cpu(cpu) {
 		struct hv_per_cpu_context *hv_cpu
 			= per_cpu_ptr(hv_context.cpu_context, cpu);
+		free_page((unsigned long)hv_cpu->post_msg_page);
+
+		/*
+		 * Synic message and event pages are allocated by paravisor.
+		 * Skip free these pages here.
+		 */
+		if (hv_isolation_type_snp())
+			continue;
 
 		free_page((unsigned long)hv_cpu->synic_event_page);
 		free_page((unsigned long)hv_cpu->synic_message_page);
-		free_page((unsigned long)hv_cpu->post_msg_page);
 	}
 
 	kfree(hv_context.hv_numa_map);
@@ -199,26 +214,43 @@ void hv_synic_enable_regs(unsigned int cpu)
 	union hv_synic_scontrol sctrl;
 
 	/* Setup the Synic's message page */
-	simp.as_uint64 = hv_get_register(HV_REGISTER_SIMP);
+	hv_get_simp(simp.as_uint64);
 	simp.simp_enabled = 1;
-	simp.base_simp_gpa = virt_to_phys(hv_cpu->synic_message_page)
-		>> HV_HYP_PAGE_SHIFT;
 
-	hv_set_register(HV_REGISTER_SIMP, simp.as_uint64);
+	if (hv_isolation_type_snp()) {
+		hv_cpu->synic_message_page
+			= memremap(simp.base_simp_gpa << HV_HYP_PAGE_SHIFT,
+				   HV_HYP_PAGE_SIZE, MEMREMAP_WB);
+		if (!hv_cpu->synic_message_page)
+			pr_err("Fail to map syinc message page.\n");
+	} else {
+		simp.base_simp_gpa = virt_to_phys(hv_cpu->synic_message_page)
+			>> HV_HYP_PAGE_SHIFT;
+	}
+
+	hv_set_simp(simp.as_uint64);
 
 	/* Setup the Synic's event page */
-	siefp.as_uint64 = hv_get_register(HV_REGISTER_SIEFP);
+	hv_get_siefp(siefp.as_uint64);
 	siefp.siefp_enabled = 1;
-	siefp.base_siefp_gpa = virt_to_phys(hv_cpu->synic_event_page)
-		>> HV_HYP_PAGE_SHIFT;
 
-	hv_set_register(HV_REGISTER_SIEFP, siefp.as_uint64);
+	if (hv_isolation_type_snp()) {
+		hv_cpu->synic_event_page =
+			memremap(siefp.base_siefp_gpa << HV_HYP_PAGE_SHIFT,
+				 HV_HYP_PAGE_SIZE, MEMREMAP_WB);
+
+		if (!hv_cpu->synic_event_page)
+			pr_err("Fail to map syinc event page.\n");
+	} else {
+		siefp.base_siefp_gpa = virt_to_phys(hv_cpu->synic_event_page)
+			>> HV_HYP_PAGE_SHIFT;
+	}
+	hv_set_siefp(siefp.as_uint64);
 
 	/* Setup the shared SINT. */
 	if (vmbus_irq != -1)
 		enable_percpu_irq(vmbus_irq, 0);
-	shared_sint.as_uint64 = hv_get_register(HV_REGISTER_SINT0 +
-					VMBUS_MESSAGE_SINT);
+	hv_get_synint_state(VMBUS_MESSAGE_SINT, shared_sint.as_uint64);
 
 	shared_sint.vector = vmbus_interrupt;
 	shared_sint.masked = false;
@@ -233,14 +265,12 @@ void hv_synic_enable_regs(unsigned int cpu)
 #else
 	shared_sint.auto_eoi = 0;
 #endif
-	hv_set_register(HV_REGISTER_SINT0 + VMBUS_MESSAGE_SINT,
-				shared_sint.as_uint64);
+	hv_set_synint_state(VMBUS_MESSAGE_SINT, shared_sint.as_uint64);
 
 	/* Enable the global synic bit */
-	sctrl.as_uint64 = hv_get_register(HV_REGISTER_SCONTROL);
+	hv_get_synic_state(sctrl.as_uint64);
 	sctrl.enable = 1;
-
-	hv_set_register(HV_REGISTER_SCONTROL, sctrl.as_uint64);
+	hv_set_synic_state(sctrl.as_uint64);
 }
 
 int hv_synic_init(unsigned int cpu)
@@ -257,37 +287,50 @@ int hv_synic_init(unsigned int cpu)
  */
 void hv_synic_disable_regs(unsigned int cpu)
 {
+	struct hv_per_cpu_context *hv_cpu
+		= per_cpu_ptr(hv_context.cpu_context, cpu);
 	union hv_synic_sint shared_sint;
 	union hv_synic_simp simp;
 	union hv_synic_siefp siefp;
 	union hv_synic_scontrol sctrl;
 
-	shared_sint.as_uint64 = hv_get_register(HV_REGISTER_SINT0 +
-					VMBUS_MESSAGE_SINT);
-
+	hv_get_synint_state(VMBUS_MESSAGE_SINT, shared_sint.as_uint64);
 	shared_sint.masked = 1;
+	hv_set_synint_state(VMBUS_MESSAGE_SINT, shared_sint.as_uint64);
+
 
 	/* Need to correctly cleanup in the case of SMP!!! */
 	/* Disable the interrupt */
-	hv_set_register(HV_REGISTER_SINT0 + VMBUS_MESSAGE_SINT,
-				shared_sint.as_uint64);
+	hv_get_simp(simp.as_uint64);
 
-	simp.as_uint64 = hv_get_register(HV_REGISTER_SIMP);
+	/*
+	 * In Isolation VM, sim and sief pages are allocated by
+	 * paravisor. These pages also will be used by kdump
+	 * kernel. So just reset enable bit here and keep page
+	 * addresses.
+	 */
 	simp.simp_enabled = 0;
-	simp.base_simp_gpa = 0;
+	if (hv_isolation_type_snp())
+		memunmap(hv_cpu->synic_message_page);
+	else
+		simp.base_simp_gpa = 0;
 
-	hv_set_register(HV_REGISTER_SIMP, simp.as_uint64);
+	hv_set_simp(simp.as_uint64);
 
-	siefp.as_uint64 = hv_get_register(HV_REGISTER_SIEFP);
+	hv_get_siefp(siefp.as_uint64);
 	siefp.siefp_enabled = 0;
-	siefp.base_siefp_gpa = 0;
 
-	hv_set_register(HV_REGISTER_SIEFP, siefp.as_uint64);
+	if (hv_isolation_type_snp())
+		memunmap(hv_cpu->synic_event_page);
+	else
+		siefp.base_siefp_gpa = 0;
+
+	hv_set_siefp(siefp.as_uint64);
 
 	/* Disable the global synic bit */
-	sctrl.as_uint64 = hv_get_register(HV_REGISTER_SCONTROL);
+	hv_get_synic_state(sctrl.as_uint64);
 	sctrl.enable = 0;
-	hv_set_register(HV_REGISTER_SCONTROL, sctrl.as_uint64);
+	hv_set_synic_state(sctrl.as_uint64);
 
 	if (vmbus_irq != -1)
 		disable_percpu_irq(vmbus_irq);
diff --git a/include/asm-generic/mshyperv.h b/include/asm-generic/mshyperv.h
index 079988ed45b9..90dac369a2dc 100644
--- a/include/asm-generic/mshyperv.h
+++ b/include/asm-generic/mshyperv.h
@@ -23,9 +23,16 @@
 #include <linux/bitops.h>
 #include <linux/cpumask.h>
 #include <linux/nmi.h>
+#include <asm/svm.h>
+#include <asm/sev.h>
 #include <asm/ptrace.h>
+#include <asm/mshyperv.h>
 #include <asm/hyperv-tlfs.h>
 
+union hv_ghcb {
+	struct ghcb ghcb;
+} __packed __aligned(PAGE_SIZE);
+
 struct ms_hyperv_info {
 	u32 features;
 	u32 priv_high;
@@ -45,7 +52,7 @@ struct ms_hyperv_info {
 			u32 Reserved12 : 20;
 		};
 	};
-	void  __percpu **ghcb_base;
+	union hv_ghcb __percpu **ghcb_base;
 	u64 shared_gpa_boundary;
 };
 extern struct ms_hyperv_info ms_hyperv;
@@ -55,6 +62,7 @@ extern void  __percpu  **hyperv_pcpu_output_arg;
 
 extern u64 hv_do_hypercall(u64 control, void *inputaddr, void *outputaddr);
 extern u64 hv_do_fast_hypercall8(u16 control, u64 input8);
+extern bool hv_isolation_type_snp(void);
 
 /* Helper functions that provide a consistent pattern for checking Hyper-V hypercall status. */
 static inline int hv_result(u64 status)
@@ -149,7 +157,7 @@ static inline void vmbus_signal_eom(struct hv_message *msg, u32 old_msg_type)
 		 * possibly deliver another msg from the
 		 * hypervisor
 		 */
-		hv_set_register(HV_REGISTER_EOM, 0);
+		hv_signal_eom();
 	}
 }
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 09 17:56:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 17:56:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165124.301822 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD9WF-0002uK-0O; Mon, 09 Aug 2021 17:56:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165124.301822; Mon, 09 Aug 2021 17: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 1mD9WE-0002ts-ST; Mon, 09 Aug 2021 17:56:58 +0000
Received: by outflank-mailman (input) for mailman id 165124;
 Mon, 09 Aug 2021 17:56:57 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JD4O=NA=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mD9WD-0000Aq-1q
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 17:56:57 +0000
Received: from mail-pj1-x102c.google.com (unknown [2607:f8b0:4864:20::102c])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 90c37b74-38c8-44e2-bff4-9bc476e03eed;
 Mon, 09 Aug 2021 17:56:39 +0000 (UTC)
Received: by mail-pj1-x102c.google.com with SMTP id
 t7-20020a17090a5d87b029017807007f23so38266pji.5
 for <xen-devel@lists.xenproject.org>; Mon, 09 Aug 2021 10:56:39 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:2:106e:6ed1:5da1:2ac4])
 by smtp.gmail.com with ESMTPSA id x14sm20589708pfa.127.2021.08.09.10.56.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Aug 2021 10:56: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: 90c37b74-38c8-44e2-bff4-9bc476e03eed
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=cBjjetB5scRrkX+A3+C6cOQnjDWDoYH3LrzmvOorAR4=;
        b=sPPE5pg+476PNmoE/TVK9YzFe951Z9jTppBWPcaFrZmVNeun3j9z8RbruIahTChh5N
         hEInDTDrNiP/I/niKkzacWs6OLLAsHmcla70CCGlIJ1HQV9LroNONp4sx+CMWy/eqqvg
         h5G5inu5ABmtLeo48Wcp43Khu9GMprPM75F66YBgTsOCYpxFGFLEosc/WLMs/Erm2O1e
         YcNPoQ8b8lQdggxH7XMskaKzBFuDbJ8YzPlavBLK5sRnDl9Fj2ZNAa+Msa4ednJS24ED
         5/zZg0s0B6Fz1VY7rV6Rio2ZEjpsAc8CQvNz1HGrOOEKtMbeB6z4xNpL74gadaGRvi5x
         5TuQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=cBjjetB5scRrkX+A3+C6cOQnjDWDoYH3LrzmvOorAR4=;
        b=JsI3V8EGOE24+mXakjr3lHHJvct733de3evjaeY/XXOMpVjj0TJhhTiCJw2Ef78Vha
         seigOndfNTdPcMs3KouJTVRerv9y5CO/IRiQmB1a2sgTrwrpULfWBzwrjWu0cxSz4VmL
         9s/jADkuxobr3TZinu5wBsfjMEUDk52OKNON6w1v9/kpqJD53M22qdekT4GA1pg9er37
         mzAgDfsNmLHdUlmCvgd4MED5+iJJ4NizbsPV356TXeZTMxkaQhkzSZAnoARphgHUPHrV
         B+rgvthDCocpkse5e4iaJBgjDjJ26SP9B62eVDtQfU23bo1y67HDQmuTV/h+sbHOwBLH
         n/9w==
X-Gm-Message-State: AOAM531GMnceov3kp9Ep5HmaW180/iamx+qMSzDSz6eBNHmm22gvq671
	hk8gDXvy94yq8L5iFBhv/Y8=
X-Google-Smtp-Source: ABdhPJwaFTKcmp8xUnfNsloH8PrR5NG3CCvOenHxNhKVdulQOVvanqltOPnNZ4LLYIrcN3poiszICw==
X-Received: by 2002:a17:90b:1e05:: with SMTP id pg5mr365384pjb.12.1628531799300;
        Mon, 09 Aug 2021 10:56:39 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	will@kernel.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	thomas.lendacky@amd.com,
	brijesh.singh@amd.com,
	ardb@kernel.org,
	Tianyu.Lan@microsoft.com,
	pgonda@google.com,
	martin.b.radev@gmail.com,
	akpm@linux-foundation.org,
	kirill.shutemov@linux.intel.com,
	rppt@kernel.org,
	sfr@canb.auug.org.au,
	saravanand@fb.com,
	krish.sadhukhan@oracle.com,
	aneesh.kumar@linux.ibm.com,
	xen-devel@lists.xenproject.org,
	rientjes@google.com,
	hannes@cmpxchg.org,
	tj@kernel.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com,
	dave.hansen@intel.com
Subject: [PATCH V3 06/13] HV: Add ghcb hvcall support for SNP VM
Date: Mon,  9 Aug 2021 13:56:10 -0400
Message-Id: <20210809175620.720923-7-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210809175620.720923-1-ltykernel@gmail.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

Hyper-V provides ghcb hvcall to handle VMBus
HVCALL_SIGNAL_EVENT and HVCALL_POST_MESSAGE
msg in SNP Isolation VM. Add such support.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
 arch/x86/hyperv/ivm.c           | 43 +++++++++++++++++++++++++++++++++
 arch/x86/include/asm/mshyperv.h |  1 +
 drivers/hv/connection.c         |  6 ++++-
 drivers/hv/hv.c                 |  8 +++++-
 include/asm-generic/mshyperv.h  | 29 ++++++++++++++++++++++
 5 files changed, 85 insertions(+), 2 deletions(-)

diff --git a/arch/x86/hyperv/ivm.c b/arch/x86/hyperv/ivm.c
index ec0e5c259740..c13ec5560d73 100644
--- a/arch/x86/hyperv/ivm.c
+++ b/arch/x86/hyperv/ivm.c
@@ -15,6 +15,49 @@
 #include <asm/io.h>
 #include <asm/mshyperv.h>
 
+#define GHCB_USAGE_HYPERV_CALL	1
+
+u64 hv_ghcb_hypercall(u64 control, void *input, void *output, u32 input_size)
+{
+	union hv_ghcb *hv_ghcb;
+	void **ghcb_base;
+	unsigned long flags;
+
+	if (!ms_hyperv.ghcb_base)
+		return -EFAULT;
+
+	WARN_ON(in_nmi());
+
+	local_irq_save(flags);
+	ghcb_base = (void **)this_cpu_ptr(ms_hyperv.ghcb_base);
+	hv_ghcb = (union hv_ghcb *)*ghcb_base;
+	if (!hv_ghcb) {
+		local_irq_restore(flags);
+		return -EFAULT;
+	}
+
+	hv_ghcb->ghcb.protocol_version = GHCB_PROTOCOL_MAX;
+	hv_ghcb->ghcb.ghcb_usage = GHCB_USAGE_HYPERV_CALL;
+
+	hv_ghcb->hypercall.outputgpa = (u64)output;
+	hv_ghcb->hypercall.hypercallinput.asuint64 = 0;
+	hv_ghcb->hypercall.hypercallinput.callcode = control;
+
+	if (input_size)
+		memcpy(hv_ghcb->hypercall.hypercalldata, input, input_size);
+
+	VMGEXIT();
+
+	hv_ghcb->ghcb.ghcb_usage = 0xffffffff;
+	memset(hv_ghcb->ghcb.save.valid_bitmap, 0,
+	       sizeof(hv_ghcb->ghcb.save.valid_bitmap));
+
+	local_irq_restore(flags);
+
+	return hv_ghcb->hypercall.hypercalloutput.callstatus;
+}
+EXPORT_SYMBOL_GPL(hv_ghcb_hypercall);
+
 void hv_ghcb_msr_write(u64 msr, u64 value)
 {
 	union hv_ghcb *hv_ghcb;
diff --git a/arch/x86/include/asm/mshyperv.h b/arch/x86/include/asm/mshyperv.h
index 730985676ea3..a30c60f189a3 100644
--- a/arch/x86/include/asm/mshyperv.h
+++ b/arch/x86/include/asm/mshyperv.h
@@ -255,6 +255,7 @@ void hv_sint_rdmsrl_ghcb(u64 msr, u64 *value);
 void hv_signal_eom_ghcb(void);
 void hv_ghcb_msr_write(u64 msr, u64 value);
 void hv_ghcb_msr_read(u64 msr, u64 *value);
+u64 hv_ghcb_hypercall(u64 control, void *input, void *output, u32 input_size);
 
 #define hv_get_synint_state_ghcb(int_num, val)			\
 	hv_sint_rdmsrl_ghcb(HV_X64_MSR_SINT0 + int_num, val)
diff --git a/drivers/hv/connection.c b/drivers/hv/connection.c
index 5e479d54918c..6d315c1465e0 100644
--- a/drivers/hv/connection.c
+++ b/drivers/hv/connection.c
@@ -447,6 +447,10 @@ void vmbus_set_event(struct vmbus_channel *channel)
 
 	++channel->sig_events;
 
-	hv_do_fast_hypercall8(HVCALL_SIGNAL_EVENT, channel->sig_event);
+	if (hv_isolation_type_snp())
+		hv_ghcb_hypercall(HVCALL_SIGNAL_EVENT, &channel->sig_event,
+				NULL, sizeof(u64));
+	else
+		hv_do_fast_hypercall8(HVCALL_SIGNAL_EVENT, channel->sig_event);
 }
 EXPORT_SYMBOL_GPL(vmbus_set_event);
diff --git a/drivers/hv/hv.c b/drivers/hv/hv.c
index 59f7173c4d9f..e5c9fc467893 100644
--- a/drivers/hv/hv.c
+++ b/drivers/hv/hv.c
@@ -98,7 +98,13 @@ int hv_post_message(union hv_connection_id connection_id,
 	aligned_msg->payload_size = payload_size;
 	memcpy((void *)aligned_msg->payload, payload, payload_size);
 
-	status = hv_do_hypercall(HVCALL_POST_MESSAGE, aligned_msg, NULL);
+	if (hv_isolation_type_snp())
+		status = hv_ghcb_hypercall(HVCALL_POST_MESSAGE,
+				(void *)aligned_msg, NULL,
+				sizeof(struct hv_input_post_message));
+	else
+		status = hv_do_hypercall(HVCALL_POST_MESSAGE,
+				aligned_msg, NULL);
 
 	/* Preemption must remain disabled until after the hypercall
 	 * so some other thread can't get scheduled onto this cpu and
diff --git a/include/asm-generic/mshyperv.h b/include/asm-generic/mshyperv.h
index 90dac369a2dc..400181b855c1 100644
--- a/include/asm-generic/mshyperv.h
+++ b/include/asm-generic/mshyperv.h
@@ -31,6 +31,35 @@
 
 union hv_ghcb {
 	struct ghcb ghcb;
+	struct {
+		u64 hypercalldata[509];
+		u64 outputgpa;
+		union {
+			union {
+				struct {
+					u32 callcode        : 16;
+					u32 isfast          : 1;
+					u32 reserved1       : 14;
+					u32 isnested        : 1;
+					u32 countofelements : 12;
+					u32 reserved2       : 4;
+					u32 repstartindex   : 12;
+					u32 reserved3       : 4;
+				};
+				u64 asuint64;
+			} hypercallinput;
+			union {
+				struct {
+					u16 callstatus;
+					u16 reserved1;
+					u32 elementsprocessed : 12;
+					u32 reserved2         : 20;
+				};
+				u64 asunit64;
+			} hypercalloutput;
+		};
+		u64 reserved2;
+	} hypercall;
 } __packed __aligned(PAGE_SIZE);
 
 struct ms_hyperv_info {
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 09 17:57:03 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 17:57:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165127.301833 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD9WJ-0003Tk-B8; Mon, 09 Aug 2021 17:57:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165127.301833; Mon, 09 Aug 2021 17:57:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD9WJ-0003TZ-7E; Mon, 09 Aug 2021 17:57:03 +0000
Received: by outflank-mailman (input) for mailman id 165127;
 Mon, 09 Aug 2021 17:57:02 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JD4O=NA=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mD9WI-0000Aq-1t
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 17:57:02 +0000
Received: from mail-pl1-x630.google.com (unknown [2607:f8b0:4864:20::630])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 957cd112-b750-4318-900f-9c4e069bf4ba;
 Mon, 09 Aug 2021 17:56:42 +0000 (UTC)
Received: by mail-pl1-x630.google.com with SMTP id d1so17335556pll.1
 for <xen-devel@lists.xenproject.org>; Mon, 09 Aug 2021 10:56:42 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:2:106e:6ed1:5da1:2ac4])
 by smtp.gmail.com with ESMTPSA id x14sm20589708pfa.127.2021.08.09.10.56.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Aug 2021 10:56: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: 957cd112-b750-4318-900f-9c4e069bf4ba
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=xXQzWRnOQGUWqB+ZM33hvekRvxcc1wpDyoNFD4aToCk=;
        b=LurLNOZQESLgb2dqtw6YoKkpQTuonm6QicLB/Fe2mtwglsCTfoHOf3uEMdepR4rXd5
         BxD3P8E7JwFvZ647syAEXZk5Beq3I58qbGMIepNAc4WOW/M1Hta/7k2gUy1uMfivQN1B
         hQikaNlNZUEg/opx9pXNvQYoOdVZB9fr8hyM49Mzvuma62UGAHYNbFJ4x23T2dGCfLQb
         gOxnFM+3C1+9HtmdIsW1iwkVXvSWf9rPSJptmTfJ+XU4dWLl6/oRuePqUhxuy9sWbDNu
         DSF0RRyziVdvK9QoFK0wSFcerAzOXu0vhd9ifHwf+dbhjHbAL/IOsCh8Rcly7h5kmTpK
         I2xw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=xXQzWRnOQGUWqB+ZM33hvekRvxcc1wpDyoNFD4aToCk=;
        b=IFkDPbhR2uXOhgyoPgPnx9CiGTCA05jI3hsBRTDIZNsD9EjHQdeGU2uAejf/OdI2DA
         Y5CEMTfMRBjzqc9gygWZS4qrqD7LjGMYBfiLg6TkHuJ6nY0cU7UGEJAtKD/fCHpWq6FN
         oU4Dz1oVSrp0zz8Gmgt+EGykgA/mNr4aCVnXeqE8rHqRkRi/IJPx0GPrHpZSGGwuY3ob
         Bgu6P4mid3N98uGIkHhqMV6lUyXTttPTwGm2TBrW8D8ofRMppcR2jfBa37b6k4pyNjC1
         3Wf/p/AK3RQ2VpQ8EcldxBLViqffEMB8PMHZZuW+lSdOvKRcG8cE7ntlPuL8JZlKwhvY
         43fA==
X-Gm-Message-State: AOAM533BCnV07NVGtjk9CMYF4fBRy1F/OgulH/+n8Z/qDC9PQ4RcwvWI
	tzQfzFr/XfQi4Xru2oFtyB8=
X-Google-Smtp-Source: ABdhPJwgFDEkqyIiQx3welTNcCdKRzJlcPxzyOKGPnHMbJ+p2CRecMC5lj4V8nqr3JilPwbucKAnLA==
X-Received: by 2002:a63:b950:: with SMTP id v16mr73150pgo.328.1628531801529;
        Mon, 09 Aug 2021 10:56:41 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	will@kernel.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	thomas.lendacky@amd.com,
	brijesh.singh@amd.com,
	ardb@kernel.org,
	Tianyu.Lan@microsoft.com,
	pgonda@google.com,
	martin.b.radev@gmail.com,
	akpm@linux-foundation.org,
	kirill.shutemov@linux.intel.com,
	rppt@kernel.org,
	sfr@canb.auug.org.au,
	saravanand@fb.com,
	krish.sadhukhan@oracle.com,
	aneesh.kumar@linux.ibm.com,
	xen-devel@lists.xenproject.org,
	rientjes@google.com,
	hannes@cmpxchg.org,
	tj@kernel.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com,
	dave.hansen@intel.com
Subject: [PATCH V3 07/13] HV/Vmbus: Add SNP support for VMbus channel initiate message
Date: Mon,  9 Aug 2021 13:56:11 -0400
Message-Id: <20210809175620.720923-8-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210809175620.720923-1-ltykernel@gmail.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

The monitor pages in the CHANNELMSG_INITIATE_CONTACT msg are shared
with host in Isolation VM and so it's necessary to use hvcall to set
them visible to host. In Isolation VM with AMD SEV SNP, the access
address should be in the extra space which is above shared gpa
boundary. So remap these pages into the extra address(pa +
shared_gpa_boundary). Introduce monitor_pages_va to store
the remap address and unmap these va when disconnect vmbus.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
Change since v1:
        * Not remap monitor pages in the non-SNP isolation VM.
---
 drivers/hv/connection.c   | 65 +++++++++++++++++++++++++++++++++++++++
 drivers/hv/hyperv_vmbus.h |  1 +
 2 files changed, 66 insertions(+)

diff --git a/drivers/hv/connection.c b/drivers/hv/connection.c
index 6d315c1465e0..bf0ac3167bd2 100644
--- a/drivers/hv/connection.c
+++ b/drivers/hv/connection.c
@@ -19,6 +19,7 @@
 #include <linux/vmalloc.h>
 #include <linux/hyperv.h>
 #include <linux/export.h>
+#include <linux/io.h>
 #include <asm/mshyperv.h>
 
 #include "hyperv_vmbus.h"
@@ -104,6 +105,12 @@ int vmbus_negotiate_version(struct vmbus_channel_msginfo *msginfo, u32 version)
 
 	msg->monitor_page1 = virt_to_phys(vmbus_connection.monitor_pages[0]);
 	msg->monitor_page2 = virt_to_phys(vmbus_connection.monitor_pages[1]);
+
+	if (hv_isolation_type_snp()) {
+		msg->monitor_page1 += ms_hyperv.shared_gpa_boundary;
+		msg->monitor_page2 += ms_hyperv.shared_gpa_boundary;
+	}
+
 	msg->target_vcpu = hv_cpu_number_to_vp_number(VMBUS_CONNECT_CPU);
 
 	/*
@@ -148,6 +155,31 @@ int vmbus_negotiate_version(struct vmbus_channel_msginfo *msginfo, u32 version)
 		return -ECONNREFUSED;
 	}
 
+	if (hv_isolation_type_snp()) {
+		vmbus_connection.monitor_pages_va[0]
+			= vmbus_connection.monitor_pages[0];
+		vmbus_connection.monitor_pages[0]
+			= memremap(msg->monitor_page1, HV_HYP_PAGE_SIZE,
+				   MEMREMAP_WB);
+		if (!vmbus_connection.monitor_pages[0])
+			return -ENOMEM;
+
+		vmbus_connection.monitor_pages_va[1]
+			= vmbus_connection.monitor_pages[1];
+		vmbus_connection.monitor_pages[1]
+			= memremap(msg->monitor_page2, HV_HYP_PAGE_SIZE,
+				   MEMREMAP_WB);
+		if (!vmbus_connection.monitor_pages[1]) {
+			memunmap(vmbus_connection.monitor_pages[0]);
+			return -ENOMEM;
+		}
+
+		memset(vmbus_connection.monitor_pages[0], 0x00,
+		       HV_HYP_PAGE_SIZE);
+		memset(vmbus_connection.monitor_pages[1], 0x00,
+		       HV_HYP_PAGE_SIZE);
+	}
+
 	return ret;
 }
 
@@ -159,6 +191,7 @@ int vmbus_connect(void)
 	struct vmbus_channel_msginfo *msginfo = NULL;
 	int i, ret = 0;
 	__u32 version;
+	u64 pfn[2];
 
 	/* Initialize the vmbus connection */
 	vmbus_connection.conn_state = CONNECTING;
@@ -216,6 +249,16 @@ int vmbus_connect(void)
 		goto cleanup;
 	}
 
+	if (hv_is_isolation_supported()) {
+		pfn[0] = virt_to_hvpfn(vmbus_connection.monitor_pages[0]);
+		pfn[1] = virt_to_hvpfn(vmbus_connection.monitor_pages[1]);
+		if (hv_mark_gpa_visibility(2, pfn,
+				VMBUS_PAGE_VISIBLE_READ_WRITE)) {
+			ret = -EFAULT;
+			goto cleanup;
+		}
+	}
+
 	msginfo = kzalloc(sizeof(*msginfo) +
 			  sizeof(struct vmbus_channel_initiate_contact),
 			  GFP_KERNEL);
@@ -284,6 +327,8 @@ int vmbus_connect(void)
 
 void vmbus_disconnect(void)
 {
+	u64 pfn[2];
+
 	/*
 	 * First send the unload request to the host.
 	 */
@@ -303,6 +348,26 @@ void vmbus_disconnect(void)
 		vmbus_connection.int_page = NULL;
 	}
 
+	if (hv_is_isolation_supported()) {
+		if (vmbus_connection.monitor_pages_va[0]) {
+			memunmap(vmbus_connection.monitor_pages[0]);
+			vmbus_connection.monitor_pages[0]
+				= vmbus_connection.monitor_pages_va[0];
+			vmbus_connection.monitor_pages_va[0] = NULL;
+		}
+
+		if (vmbus_connection.monitor_pages_va[1]) {
+			memunmap(vmbus_connection.monitor_pages[1]);
+			vmbus_connection.monitor_pages[1]
+				= vmbus_connection.monitor_pages_va[1];
+			vmbus_connection.monitor_pages_va[1] = NULL;
+		}
+
+		pfn[0] = virt_to_hvpfn(vmbus_connection.monitor_pages[0]);
+		pfn[1] = virt_to_hvpfn(vmbus_connection.monitor_pages[1]);
+		hv_mark_gpa_visibility(2, pfn, VMBUS_PAGE_NOT_VISIBLE);
+	}
+
 	hv_free_hyperv_page((unsigned long)vmbus_connection.monitor_pages[0]);
 	hv_free_hyperv_page((unsigned long)vmbus_connection.monitor_pages[1]);
 	vmbus_connection.monitor_pages[0] = NULL;
diff --git a/drivers/hv/hyperv_vmbus.h b/drivers/hv/hyperv_vmbus.h
index 42f3d9d123a1..40bc0eff6665 100644
--- a/drivers/hv/hyperv_vmbus.h
+++ b/drivers/hv/hyperv_vmbus.h
@@ -240,6 +240,7 @@ struct vmbus_connection {
 	 * is child->parent notification
 	 */
 	struct hv_monitor_page *monitor_pages[2];
+	void *monitor_pages_va[2];
 	struct list_head chn_msg_list;
 	spinlock_t channelmsg_lock;
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 09 17:57:08 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 17:57:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165133.301844 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD9WO-00046S-KY; Mon, 09 Aug 2021 17:57:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165133.301844; Mon, 09 Aug 2021 17: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 1mD9WO-00046J-Ft; Mon, 09 Aug 2021 17:57:08 +0000
Received: by outflank-mailman (input) for mailman id 165133;
 Mon, 09 Aug 2021 17:57:07 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JD4O=NA=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mD9WN-0000Aq-22
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 17:57:07 +0000
Received: from mail-pj1-x102a.google.com (unknown [2607:f8b0:4864:20::102a])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id d799969d-565d-4d8b-bb4c-072978d5fdb9;
 Mon, 09 Aug 2021 17:56:44 +0000 (UTC)
Received: by mail-pj1-x102a.google.com with SMTP id ca5so29226119pjb.5
 for <xen-devel@lists.xenproject.org>; Mon, 09 Aug 2021 10:56:44 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:2:106e:6ed1:5da1:2ac4])
 by smtp.gmail.com with ESMTPSA id x14sm20589708pfa.127.2021.08.09.10.56.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Aug 2021 10:56: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: d799969d-565d-4d8b-bb4c-072978d5fdb9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=+b7Gns6iR6iBk57ZYV5BIIcLDAAVsJ8v7NH3zL5Mg1I=;
        b=aU1nKcQ+nDmPFPy36XWpKTjwCuvMuOeOtKNuk1xPVGyxoxuMnaSYJneUW5xBdbS4mF
         EZRJlDW66/oI7E2Wx1IyV4mhOHU6VQLaysOdIZbmSWHfd5VhmRrwCUwrJRyfkyOnvk8c
         DABDw5o5QtCXWs7FVD6Yq7Noy7Bsts5MhfH7PiPCCCJ7RsIqAKrZykyMiDF/7fbZuHNb
         1vMOIuVj+np2mkftpmkIY+gc57uZn61TrGeij/c4Wr9ZmZ2meUgtSPOJJW3jk0oHauD7
         kGA8EGt3TprQFQB2ozu34RJbI1rKaUnojprdLwAyt6vGvk8hoDFLsG1rF5/di6hAastF
         RUxA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=+b7Gns6iR6iBk57ZYV5BIIcLDAAVsJ8v7NH3zL5Mg1I=;
        b=OjffJrDc8BSVBDc6whn8cPD+AX5gbXkNKU5A216erj7RzBDhSSflQnXpcXgsYJ9D5u
         YKJghZyx5i9j3rG6DfcKenkl6zO6dGwOzIfjSllWxKqM/55dAvBBXUuCeeD1mBFLLRlb
         9dm3nNXT/SX+rxyUXWVPsUJ2VldCJt/NLw+PKAdhBdxee11d16mt0gWCa36LL99dJCXL
         bV84Knh6Mi7f2q0VAeU+I8hwBtahMihzHkQkJKGFio+C3i38KO/4FYdYf/tSF+Ek6G5b
         VCs1poq7H0auQi2s/P+dYXl7Q53otiwUbZ8p1aa9m+fWZYv3Co8axSHk8hvVtEXIcHmK
         VvDw==
X-Gm-Message-State: AOAM531YxwolD+/h/qfOT4f5oNn2hkA7oaOd8qG3rT2q9AKm+sZf/KFi
	YTs00L5cVOHPRvu/ssqYOIM=
X-Google-Smtp-Source: ABdhPJyE8zgrTkf5TWCMZX5Y6wi/PvPkIAsiw37aMcRj/e7Da+SgSl/RYbFUmBp26CFz8LzJX3R2bw==
X-Received: by 2002:a63:ff4d:: with SMTP id s13mr397127pgk.237.1628531803843;
        Mon, 09 Aug 2021 10:56:43 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	will@kernel.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	thomas.lendacky@amd.com,
	brijesh.singh@amd.com,
	ardb@kernel.org,
	Tianyu.Lan@microsoft.com,
	pgonda@google.com,
	martin.b.radev@gmail.com,
	akpm@linux-foundation.org,
	kirill.shutemov@linux.intel.com,
	rppt@kernel.org,
	sfr@canb.auug.org.au,
	saravanand@fb.com,
	krish.sadhukhan@oracle.com,
	aneesh.kumar@linux.ibm.com,
	xen-devel@lists.xenproject.org,
	rientjes@google.com,
	hannes@cmpxchg.org,
	tj@kernel.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com,
	dave.hansen@intel.com
Subject: [PATCH V3 08/13] HV/Vmbus: Initialize VMbus ring buffer for Isolation VM
Date: Mon,  9 Aug 2021 13:56:12 -0400
Message-Id: <20210809175620.720923-9-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210809175620.720923-1-ltykernel@gmail.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

VMbus ring buffer are shared with host and it's need to
be accessed via extra address space of Isolation VM with
SNP support. This patch is to map the ring buffer
address in extra address space via ioremap(). HV host
visibility hvcall smears data in the ring buffer and
so reset the ring buffer memory to zero after calling
visibility hvcall.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
 drivers/hv/Kconfig        |  1 +
 drivers/hv/channel.c      | 10 +++++
 drivers/hv/hyperv_vmbus.h |  2 +
 drivers/hv/ring_buffer.c  | 84 ++++++++++++++++++++++++++++++---------
 4 files changed, 79 insertions(+), 18 deletions(-)

diff --git a/drivers/hv/Kconfig b/drivers/hv/Kconfig
index d1123ceb38f3..dd12af20e467 100644
--- a/drivers/hv/Kconfig
+++ b/drivers/hv/Kconfig
@@ -8,6 +8,7 @@ config HYPERV
 		|| (ARM64 && !CPU_BIG_ENDIAN))
 	select PARAVIRT
 	select X86_HV_CALLBACK_VECTOR if X86
+	select VMAP_PFN
 	help
 	  Select this option to run Linux as a Hyper-V client operating
 	  system.
diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c
index 4c4717c26240..60ef881a700c 100644
--- a/drivers/hv/channel.c
+++ b/drivers/hv/channel.c
@@ -712,6 +712,16 @@ static int __vmbus_open(struct vmbus_channel *newchannel,
 	if (err)
 		goto error_clean_ring;
 
+	err = hv_ringbuffer_post_init(&newchannel->outbound,
+				      page, send_pages);
+	if (err)
+		goto error_free_gpadl;
+
+	err = hv_ringbuffer_post_init(&newchannel->inbound,
+				      &page[send_pages], recv_pages);
+	if (err)
+		goto error_free_gpadl;
+
 	/* Create and init the channel open message */
 	open_info = kzalloc(sizeof(*open_info) +
 			   sizeof(struct vmbus_channel_open_channel),
diff --git a/drivers/hv/hyperv_vmbus.h b/drivers/hv/hyperv_vmbus.h
index 40bc0eff6665..15cd23a561f3 100644
--- a/drivers/hv/hyperv_vmbus.h
+++ b/drivers/hv/hyperv_vmbus.h
@@ -172,6 +172,8 @@ extern int hv_synic_cleanup(unsigned int cpu);
 /* Interface */
 
 void hv_ringbuffer_pre_init(struct vmbus_channel *channel);
+int hv_ringbuffer_post_init(struct hv_ring_buffer_info *ring_info,
+		struct page *pages, u32 page_cnt);
 
 int hv_ringbuffer_init(struct hv_ring_buffer_info *ring_info,
 		       struct page *pages, u32 pagecnt, u32 max_pkt_size);
diff --git a/drivers/hv/ring_buffer.c b/drivers/hv/ring_buffer.c
index 2aee356840a2..d4f93fca1108 100644
--- a/drivers/hv/ring_buffer.c
+++ b/drivers/hv/ring_buffer.c
@@ -17,6 +17,8 @@
 #include <linux/vmalloc.h>
 #include <linux/slab.h>
 #include <linux/prefetch.h>
+#include <linux/io.h>
+#include <asm/mshyperv.h>
 
 #include "hyperv_vmbus.h"
 
@@ -179,43 +181,89 @@ void hv_ringbuffer_pre_init(struct vmbus_channel *channel)
 	mutex_init(&channel->outbound.ring_buffer_mutex);
 }
 
-/* Initialize the ring buffer. */
-int hv_ringbuffer_init(struct hv_ring_buffer_info *ring_info,
-		       struct page *pages, u32 page_cnt, u32 max_pkt_size)
+int hv_ringbuffer_post_init(struct hv_ring_buffer_info *ring_info,
+		       struct page *pages, u32 page_cnt)
 {
+	u64 physic_addr = page_to_pfn(pages) << PAGE_SHIFT;
+	unsigned long *pfns_wraparound;
+	void *vaddr;
 	int i;
-	struct page **pages_wraparound;
 
-	BUILD_BUG_ON((sizeof(struct hv_ring_buffer) != PAGE_SIZE));
+	if (!hv_isolation_type_snp())
+		return 0;
+
+	physic_addr += ms_hyperv.shared_gpa_boundary;
 
 	/*
 	 * First page holds struct hv_ring_buffer, do wraparound mapping for
 	 * the rest.
 	 */
-	pages_wraparound = kcalloc(page_cnt * 2 - 1, sizeof(struct page *),
+	pfns_wraparound = kcalloc(page_cnt * 2 - 1, sizeof(unsigned long),
 				   GFP_KERNEL);
-	if (!pages_wraparound)
+	if (!pfns_wraparound)
 		return -ENOMEM;
 
-	pages_wraparound[0] = pages;
+	pfns_wraparound[0] = physic_addr >> PAGE_SHIFT;
 	for (i = 0; i < 2 * (page_cnt - 1); i++)
-		pages_wraparound[i + 1] = &pages[i % (page_cnt - 1) + 1];
-
-	ring_info->ring_buffer = (struct hv_ring_buffer *)
-		vmap(pages_wraparound, page_cnt * 2 - 1, VM_MAP, PAGE_KERNEL);
-
-	kfree(pages_wraparound);
+		pfns_wraparound[i + 1] = (physic_addr >> PAGE_SHIFT) +
+			i % (page_cnt - 1) + 1;
 
-
-	if (!ring_info->ring_buffer)
+	vaddr = vmap_pfn(pfns_wraparound, page_cnt * 2 - 1, PAGE_KERNEL_IO);
+	kfree(pfns_wraparound);
+	if (!vaddr)
 		return -ENOMEM;
 
-	ring_info->ring_buffer->read_index =
-		ring_info->ring_buffer->write_index = 0;
+	/* Clean memory after setting host visibility. */
+	memset((void *)vaddr, 0x00, page_cnt * PAGE_SIZE);
+
+	ring_info->ring_buffer = (struct hv_ring_buffer *)vaddr;
+	ring_info->ring_buffer->read_index = 0;
+	ring_info->ring_buffer->write_index = 0;
 
 	/* Set the feature bit for enabling flow control. */
 	ring_info->ring_buffer->feature_bits.value = 1;
 
+	return 0;
+}
+
+/* Initialize the ring buffer. */
+int hv_ringbuffer_init(struct hv_ring_buffer_info *ring_info,
+		       struct page *pages, u32 page_cnt, u32 max_pkt_size)
+{
+	int i;
+	struct page **pages_wraparound;
+
+	BUILD_BUG_ON((sizeof(struct hv_ring_buffer) != PAGE_SIZE));
+
+	if (!hv_isolation_type_snp()) {
+		/*
+		 * First page holds struct hv_ring_buffer, do wraparound mapping for
+		 * the rest.
+		 */
+		pages_wraparound = kcalloc(page_cnt * 2 - 1, sizeof(struct page *),
+					   GFP_KERNEL);
+		if (!pages_wraparound)
+			return -ENOMEM;
+
+		pages_wraparound[0] = pages;
+		for (i = 0; i < 2 * (page_cnt - 1); i++)
+			pages_wraparound[i + 1] = &pages[i % (page_cnt - 1) + 1];
+
+		ring_info->ring_buffer = (struct hv_ring_buffer *)
+			vmap(pages_wraparound, page_cnt * 2 - 1, VM_MAP, PAGE_KERNEL);
+
+		kfree(pages_wraparound);
+
+		if (!ring_info->ring_buffer)
+			return -ENOMEM;
+
+		ring_info->ring_buffer->read_index =
+			ring_info->ring_buffer->write_index = 0;
+
+		/* Set the feature bit for enabling flow control. */
+		ring_info->ring_buffer->feature_bits.value = 1;
+	}
+
 	ring_info->ring_size = page_cnt << PAGE_SHIFT;
 	ring_info->ring_size_div10_reciprocal =
 		reciprocal_value(ring_info->ring_size / 10);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 09 17:57:14 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 17:57:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165136.301855 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD9WU-0004hs-1r; Mon, 09 Aug 2021 17:57:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165136.301855; Mon, 09 Aug 2021 17: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 1mD9WT-0004hf-Sx; Mon, 09 Aug 2021 17:57:13 +0000
Received: by outflank-mailman (input) for mailman id 165136;
 Mon, 09 Aug 2021 17:57:12 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JD4O=NA=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mD9WS-0000Aq-2T
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 17:57:12 +0000
Received: from mail-pj1-x1034.google.com (unknown [2607:f8b0:4864:20::1034])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 60695c2f-9ef7-4655-bef2-fdc8136d411f;
 Mon, 09 Aug 2021 17:56:46 +0000 (UTC)
Received: by mail-pj1-x1034.google.com with SMTP id j1so29235990pjv.3
 for <xen-devel@lists.xenproject.org>; Mon, 09 Aug 2021 10:56:46 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:2:106e:6ed1:5da1:2ac4])
 by smtp.gmail.com with ESMTPSA id x14sm20589708pfa.127.2021.08.09.10.56.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Aug 2021 10:56: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: 60695c2f-9ef7-4655-bef2-fdc8136d411f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=PA42IhHl11PQF+ziOZyqqkyOZi1yWIuNrwvqLKrflPI=;
        b=h/75TBkZzgYxlqy+5bEldf+iKBjJjuhF9/Luw6D8+gOXVqnAuffjZyZ8csnCHDNkaP
         TBTvI5UGDLYZrsK4GmYd4KQc+RdWgrfqYrfbFj4qldX8+cUJjwg+jP8IXuDHZJNZVkMx
         dqt2tJ9id7Atn6XSeMLFGDJd1i/ItPabnc2w1Ou3dfKiAut9APiCcAttSlaxhKd7OD/O
         LOEDuYsC/sv3oUNGHz6aktEyuu3eBzTJBZiHW3J5x/IjafBs1g2Y/KGYNhEkna86o9xN
         FAWDsRYmSWvZzVnsYGN53JtMkrKJ/gW510NPFotXeN7Wa7z/uT9Mf7pgcf/x7yOe62Mi
         h8Cw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=PA42IhHl11PQF+ziOZyqqkyOZi1yWIuNrwvqLKrflPI=;
        b=XCmUvGKUZfSWQEvCA6K+UY0VSl9F1n3WD9qdz2BEILH0ToJUSBW1Tg3tO+XKbnzAu1
         zedmeI5qGQTjMO1pW6vczUpd3/nrhxP9Xf6eZNeGJsi2sHs1GbWiooTgL3V/zEI/1v3r
         WVkbZVsJM8b27x7X1yRowcfMTNJklLsXiVLlMgFQDbpYeMEl+DLG0cogN5Ij02LA3CpD
         M10AvcrTY950D3VyoNQOtkRBmfITAC87ltiY91wFYOmDrtIfg3/Ykt7ynL+Z5IGl3AWh
         byvkTBJk5kyx4kwl0AXi0q+ovo5PCtdYK9KX9RY1C1sRPON+LEQV4sD5fvJz+dVNDxKC
         8iug==
X-Gm-Message-State: AOAM531KqHsjj0njPjIV+2b3am3D3LrSSrzZTkoUWRwIf26VOtoBP+LO
	QW0dE4VWH0r6BVRrR3RBlUo=
X-Google-Smtp-Source: ABdhPJz2DoChBqY2+CqrU5gCYpuDqXcBgTbb8ssn2WkHPgcTXqW+Ddha4uJTbpahTSBY5KgKQGNxrQ==
X-Received: by 2002:a17:902:8f87:b029:12c:dda2:39bf with SMTP id z7-20020a1709028f87b029012cdda239bfmr21283718plo.59.1628531806316;
        Mon, 09 Aug 2021 10:56:46 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	will@kernel.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	thomas.lendacky@amd.com,
	brijesh.singh@amd.com,
	ardb@kernel.org,
	Tianyu.Lan@microsoft.com,
	pgonda@google.com,
	martin.b.radev@gmail.com,
	akpm@linux-foundation.org,
	kirill.shutemov@linux.intel.com,
	rppt@kernel.org,
	sfr@canb.auug.org.au,
	saravanand@fb.com,
	krish.sadhukhan@oracle.com,
	aneesh.kumar@linux.ibm.com,
	xen-devel@lists.xenproject.org,
	rientjes@google.com,
	hannes@cmpxchg.org,
	tj@kernel.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com,
	dave.hansen@intel.com
Subject: [PATCH V3 09/13] DMA: Add dma_map_decrypted/dma_unmap_encrypted() function
Date: Mon,  9 Aug 2021 13:56:13 -0400
Message-Id: <20210809175620.720923-10-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210809175620.720923-1-ltykernel@gmail.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

In Hyper-V Isolation VM with AMD SEV, swiotlb boucne buffer
needs to be mapped into address space above vTOM and so
introduce dma_map_decrypted/dma_unmap_encrypted() to map/unmap
bounce buffer memory. The platform can populate man/unmap callback
in the dma memory decrypted ops.
---
 include/linux/dma-map-ops.h |  9 +++++++++
 kernel/dma/mapping.c        | 22 ++++++++++++++++++++++
 2 files changed, 31 insertions(+)

diff --git a/include/linux/dma-map-ops.h b/include/linux/dma-map-ops.h
index 0d53a96a3d64..01d60a024e45 100644
--- a/include/linux/dma-map-ops.h
+++ b/include/linux/dma-map-ops.h
@@ -71,6 +71,11 @@ struct dma_map_ops {
 	unsigned long (*get_merge_boundary)(struct device *dev);
 };
 
+struct dma_memory_decrypted_ops {
+	void *(*map)(void *addr, unsigned long size);
+	void (*unmap)(void *addr);
+};
+
 #ifdef CONFIG_DMA_OPS
 #include <asm/dma-mapping.h>
 
@@ -374,6 +379,10 @@ static inline void debug_dma_dump_mappings(struct device *dev)
 }
 #endif /* CONFIG_DMA_API_DEBUG */
 
+void *dma_map_decrypted(void *addr, unsigned long size);
+int dma_unmap_decrypted(void *addr, unsigned long size);
+
 extern const struct dma_map_ops dma_dummy_ops;
+extern struct dma_memory_decrypted_ops dma_memory_generic_decrypted_ops;
 
 #endif /* _LINUX_DMA_MAP_OPS_H */
diff --git a/kernel/dma/mapping.c b/kernel/dma/mapping.c
index 2b06a809d0b9..6fb150dc1750 100644
--- a/kernel/dma/mapping.c
+++ b/kernel/dma/mapping.c
@@ -13,11 +13,13 @@
 #include <linux/of_device.h>
 #include <linux/slab.h>
 #include <linux/vmalloc.h>
+#include <asm/set_memory.h>
 #include "debug.h"
 #include "direct.h"
 
 bool dma_default_coherent;
 
+struct dma_memory_decrypted_ops dma_memory_generic_decrypted_ops;
 /*
  * Managed DMA API
  */
@@ -736,3 +738,23 @@ unsigned long dma_get_merge_boundary(struct device *dev)
 	return ops->get_merge_boundary(dev);
 }
 EXPORT_SYMBOL_GPL(dma_get_merge_boundary);
+
+void *dma_map_decrypted(void *addr, unsigned long size)
+{
+	if (set_memory_decrypted((unsigned long)addr,
+				 size / PAGE_SIZE))
+		return NULL;
+
+	if (dma_memory_generic_decrypted_ops.map)
+		return dma_memory_generic_decrypted_ops.map(addr, size);
+	else
+		return addr;
+}
+
+int dma_unmap_encrypted(void *addr, unsigned long size)
+{
+	if (dma_memory_generic_decrypted_ops.unmap)
+		dma_memory_generic_decrypted_ops.unmap(addr);
+
+	return set_memory_encrypted((unsigned long)addr, size / PAGE_SIZE);
+}
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 09 18:01:18 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 18:01:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165162.301866 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD9aO-0007Fu-Om; Mon, 09 Aug 2021 18:01:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165162.301866; Mon, 09 Aug 2021 18: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 1mD9aO-0007Fn-Lf; Mon, 09 Aug 2021 18:01:16 +0000
Received: by outflank-mailman (input) for mailman id 165162;
 Mon, 09 Aug 2021 18:01:16 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JD4O=NA=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mD9Wm-0000Aq-3C
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 17:57:32 +0000
Received: from mail-pj1-x1036.google.com (unknown [2607:f8b0:4864:20::1036])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ad856dce-eb78-484d-8b5e-4f59ea3fe2ee;
 Mon, 09 Aug 2021 17:56:56 +0000 (UTC)
Received: by mail-pj1-x1036.google.com with SMTP id
 u21-20020a17090a8915b02901782c36f543so47106pjn.4
 for <xen-devel@lists.xenproject.org>; Mon, 09 Aug 2021 10:56:56 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:2:106e:6ed1:5da1:2ac4])
 by smtp.gmail.com with ESMTPSA id x14sm20589708pfa.127.2021.08.09.10.56.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Aug 2021 10:56: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: ad856dce-eb78-484d-8b5e-4f59ea3fe2ee
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=29igml5xJQT7NZ/zHELD608zwBtMw+CBZNUu6aD3TXw=;
        b=ZCoB9o0cvriAk3/PPGeEVPrIAnIqymJpX+yMC18ujzQkba5lyQWncuyzod11hNntU1
         1bk6U1EvfSLpZGhLCGAu8NGIa9wsSZRoZ9K8ij4t9yrTzMssHz4c12UmzGHuYx3Qqwqe
         5euceZzMuwpmGsvwlu4n571z1nUyoA5EMVamLrK2Fv4kQgex9w+3kQMyU5XErr3GN4CH
         2w3uSc7qIzutfvO/NUn4XoFUmpELqTdpw+eF5ttK+V/67fPZ9sLruj8gW2s9Uld8o0/F
         kbW1vumljR+S/wuC/e/qZtU3IDoreR6eEJ755vt4a2DdwykGjIka2gxZnJUQ0sS84g+E
         rg5w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=29igml5xJQT7NZ/zHELD608zwBtMw+CBZNUu6aD3TXw=;
        b=Af3Hf9mtrckLn/CVTYZ0bjS/EDKfHCYRPC8SHdxozkYYJHUKhHk25s4XPT7GxhzPFk
         vyxlzxG7iIQXcdxIigEHGrMKKF6amciyNPk0cmoBg7eXWBGqDGGv8ezkAtn6kIiTN1np
         SF6h1K2NHasRNQsCZan35cRUV3X2oS+f0N9qw0pYu/OW974aLApnYy6WUa47l+nQumgt
         /NknT+Mmn7QpJmyXpd0j7VQwX/LuPz7HUdGvNan3y0v+BEmIOcGvStWNnd0ppk0YE5vh
         a1XDkhBHXgy8alPnr9gScbA/uE0BtRKM1rxAgPxqzdVVc8OaNTawBgBSbSgbZhz+mC+8
         sDhQ==
X-Gm-Message-State: AOAM5323tGikL982++UB8D8eeof6GjWfAVMEaIC5hdLh/mt/nPlDzYcI
	byL/o8+yORjOMhDl4vhrpcc=
X-Google-Smtp-Source: ABdhPJyrAc9rzm4dB2lw3/nEgFaiXcijpmPD2rziJMns8K4uV1C97emxRFnkmN6KdkTyhlwj4rqtkA==
X-Received: by 2002:a17:90a:a112:: with SMTP id s18mr323042pjp.27.1628531815828;
        Mon, 09 Aug 2021 10:56:55 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	will@kernel.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	thomas.lendacky@amd.com,
	brijesh.singh@amd.com,
	ardb@kernel.org,
	Tianyu.Lan@microsoft.com,
	pgonda@google.com,
	martin.b.radev@gmail.com,
	akpm@linux-foundation.org,
	kirill.shutemov@linux.intel.com,
	rppt@kernel.org,
	sfr@canb.auug.org.au,
	saravanand@fb.com,
	krish.sadhukhan@oracle.com,
	aneesh.kumar@linux.ibm.com,
	xen-devel@lists.xenproject.org,
	rientjes@google.com,
	hannes@cmpxchg.org,
	tj@kernel.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com,
	dave.hansen@intel.com
Subject: [PATCH V3 13/13] HV/Storvsc: Add Isolation VM support for storvsc driver
Date: Mon,  9 Aug 2021 13:56:17 -0400
Message-Id: <20210809175620.720923-14-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210809175620.720923-1-ltykernel@gmail.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

In Isolation VM, all shared memory with host needs to mark visible
to host via hvcall. vmbus_establish_gpadl() has already done it for
storvsc rx/tx ring buffer. The page buffer used by vmbus_sendpacket_
mpb_desc() still need to handle. Use DMA API to map/umap these
memory during sending/receiving packet and Hyper-V DMA ops callback
will use swiotlb function to allocate bounce buffer and copy data
from/to bounce buffer.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
 drivers/scsi/storvsc_drv.c | 68 +++++++++++++++++++++++++++++++++++---
 1 file changed, 63 insertions(+), 5 deletions(-)

diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c
index 328bb961c281..78320719bdd8 100644
--- a/drivers/scsi/storvsc_drv.c
+++ b/drivers/scsi/storvsc_drv.c
@@ -21,6 +21,8 @@
 #include <linux/device.h>
 #include <linux/hyperv.h>
 #include <linux/blkdev.h>
+#include <linux/io.h>
+#include <linux/dma-mapping.h>
 #include <scsi/scsi.h>
 #include <scsi/scsi_cmnd.h>
 #include <scsi/scsi_host.h>
@@ -427,6 +429,8 @@ struct storvsc_cmd_request {
 	u32 payload_sz;
 
 	struct vstor_packet vstor_packet;
+	u32 hvpg_count;
+	struct hv_dma_range *dma_range;
 };
 
 
@@ -509,6 +513,14 @@ struct storvsc_scan_work {
 	u8 tgt_id;
 };
 
+#define storvsc_dma_map(dev, page, offset, size, dir) \
+	dma_map_page(dev, page, offset, size, dir)
+
+#define storvsc_dma_unmap(dev, dma_range, dir)		\
+		dma_unmap_page(dev, dma_range.dma,	\
+			       dma_range.mapping_size,	\
+			       dir ? DMA_FROM_DEVICE : DMA_TO_DEVICE)
+
 static void storvsc_device_scan(struct work_struct *work)
 {
 	struct storvsc_scan_work *wrk;
@@ -1260,6 +1272,7 @@ static void storvsc_on_channel_callback(void *context)
 	struct hv_device *device;
 	struct storvsc_device *stor_device;
 	struct Scsi_Host *shost;
+	int i;
 
 	if (channel->primary_channel != NULL)
 		device = channel->primary_channel->device_obj;
@@ -1314,6 +1327,15 @@ static void storvsc_on_channel_callback(void *context)
 				request = (struct storvsc_cmd_request *)scsi_cmd_priv(scmnd);
 			}
 
+			if (request->dma_range) {
+				for (i = 0; i < request->hvpg_count; i++)
+					storvsc_dma_unmap(&device->device,
+						request->dma_range[i],
+						request->vstor_packet.vm_srb.data_in == READ_TYPE);
+
+				kfree(request->dma_range);
+			}
+
 			storvsc_on_receive(stor_device, packet, request);
 			continue;
 		}
@@ -1810,7 +1832,9 @@ static int storvsc_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *scmnd)
 		unsigned int hvpgoff, hvpfns_to_add;
 		unsigned long offset_in_hvpg = offset_in_hvpage(sgl->offset);
 		unsigned int hvpg_count = HVPFN_UP(offset_in_hvpg + length);
+		dma_addr_t dma;
 		u64 hvpfn;
+		u32 size;
 
 		if (hvpg_count > MAX_PAGE_BUFFER_COUNT) {
 
@@ -1824,6 +1848,13 @@ static int storvsc_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *scmnd)
 		payload->range.len = length;
 		payload->range.offset = offset_in_hvpg;
 
+		cmd_request->dma_range = kcalloc(hvpg_count,
+				 sizeof(*cmd_request->dma_range),
+				 GFP_ATOMIC);
+		if (!cmd_request->dma_range) {
+			ret = -ENOMEM;
+			goto free_payload;
+		}
 
 		for (i = 0; sgl != NULL; sgl = sg_next(sgl)) {
 			/*
@@ -1847,9 +1878,29 @@ static int storvsc_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *scmnd)
 			 * last sgl should be reached at the same time that
 			 * the PFN array is filled.
 			 */
-			while (hvpfns_to_add--)
-				payload->range.pfn_array[i++] =	hvpfn++;
+			while (hvpfns_to_add--) {
+				size = min(HV_HYP_PAGE_SIZE - offset_in_hvpg,
+					   (unsigned long)length);
+				dma = storvsc_dma_map(&dev->device, pfn_to_page(hvpfn++),
+						      offset_in_hvpg, size,
+						      scmnd->sc_data_direction);
+				if (dma_mapping_error(&dev->device, dma)) {
+					ret = -ENOMEM;
+					goto free_dma_range;
+				}
+
+				if (offset_in_hvpg) {
+					payload->range.offset = dma & ~HV_HYP_PAGE_MASK;
+					offset_in_hvpg = 0;
+				}
+
+				cmd_request->dma_range[i].dma = dma;
+				cmd_request->dma_range[i].mapping_size = size;
+				payload->range.pfn_array[i++] = dma >> HV_HYP_PAGE_SHIFT;
+				length -= size;
+			}
 		}
+		cmd_request->hvpg_count = hvpg_count;
 	}
 
 	cmd_request->payload = payload;
@@ -1860,13 +1911,20 @@ static int storvsc_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *scmnd)
 	put_cpu();
 
 	if (ret == -EAGAIN) {
-		if (payload_sz > sizeof(cmd_request->mpb))
-			kfree(payload);
 		/* no more space */
-		return SCSI_MLQUEUE_DEVICE_BUSY;
+		ret = SCSI_MLQUEUE_DEVICE_BUSY;
+		goto free_dma_range;
 	}
 
 	return 0;
+
+free_dma_range:
+	kfree(cmd_request->dma_range);
+
+free_payload:
+	if (payload_sz > sizeof(cmd_request->mpb))
+		kfree(payload);
+	return ret;
 }
 
 static struct scsi_host_template scsi_driver = {
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 09 18:01:39 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 18:01:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165166.301877 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD9ai-0007fG-3a; Mon, 09 Aug 2021 18:01:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165166.301877; Mon, 09 Aug 2021 18: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 1mD9ah-0007f5-Vp; Mon, 09 Aug 2021 18:01:35 +0000
Received: by outflank-mailman (input) for mailman id 165166;
 Mon, 09 Aug 2021 18:01:34 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JD4O=NA=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mD9WX-0000Aq-2d
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 17:57:17 +0000
Received: from mail-pj1-x1033.google.com (unknown [2607:f8b0:4864:20::1033])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id e3b1ed7a-741a-403d-9beb-08f82012ffc8;
 Mon, 09 Aug 2021 17:56:49 +0000 (UTC)
Received: by mail-pj1-x1033.google.com with SMTP id
 lw7-20020a17090b1807b029017881cc80b7so56261pjb.3
 for <xen-devel@lists.xenproject.org>; Mon, 09 Aug 2021 10:56:49 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:2:106e:6ed1:5da1:2ac4])
 by smtp.gmail.com with ESMTPSA id x14sm20589708pfa.127.2021.08.09.10.56.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Aug 2021 10:56: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: e3b1ed7a-741a-403d-9beb-08f82012ffc8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=6MHi30R96t1tpcfv0VvlaJ3ckWN83uvRHnkjJOo1l30=;
        b=f2d7PoNR8S7BEFglYtlqZtTOq+7/Zs/CVzt8i5RvVJDSFyxSwvYW1cOzneFqHOp8lD
         YMayERjWFFRhQeM38VR0PnUgeZ4+MajNuTyUjodTxOjIuzEiz+L+TWPs2rA8SMr1Ves2
         yOXnyzfpVfIywNSDtsAM8unnE5zMtaNsA4EvH6Y2v9ClOXNrj9xcmYJgXlAuLbm1bK5w
         FLQDvym+rVXEDkiCLuW7wIcGd8BSk3ksYaG10QtZ6PF40JGfna+XstaK9mwW6X+rF7wQ
         r9Jmq1n1T1qx8fU02X6Mw1Fol3fZN+g8Y5pzN1daGR8DFMGa+fGiIrtwkT/EtwugpgeD
         85AQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=6MHi30R96t1tpcfv0VvlaJ3ckWN83uvRHnkjJOo1l30=;
        b=PmqbNAQzZd78gZVyDOgmUn0+bwkbW9f4SFDsgWtfSk4RAY30nqyB/tXtuZEyglsfCE
         MSWESAhS2aJERmNQNBdJzdCjduh4kjGlMgwX8iHPn5/W59+I66gRMvYVXwe0HqxX7ma2
         V1pTBS/pEuXbyQHNY7yXbXSMjLY+JyjCqwS0ayxUs+Y7Zdx+vpGl+YrLof708miZ5+3F
         rurFY4EMDOgHOA1g9sDaiHTNKStTl7PnhCny42lubVFah9v5dCwDosG4gTL/3KD6lqtm
         A7zHkakacOFexHNvc5/hZ8zurueGbLWnj/93PKoq3oozVUL7p07ov3/bAyS4gtnWU+3v
         1wYg==
X-Gm-Message-State: AOAM532HSpNbkjze/L7aXmG+m5zEPexnBqzTy9Ekv1yqn3oAYfOZBr5V
	m+Rdi14D2mf3iH6FDfGMY1M=
X-Google-Smtp-Source: ABdhPJwZPb3xQnBafX3Cc2UkFC3rKhBp0t6gAaOR3aj31uj5J0E3RaO5UtzNWHxWMFeWPLraJz/3VA==
X-Received: by 2002:a63:e605:: with SMTP id g5mr687714pgh.124.1628531808948;
        Mon, 09 Aug 2021 10:56:48 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	will@kernel.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	thomas.lendacky@amd.com,
	brijesh.singh@amd.com,
	ardb@kernel.org,
	Tianyu.Lan@microsoft.com,
	pgonda@google.com,
	martin.b.radev@gmail.com,
	akpm@linux-foundation.org,
	kirill.shutemov@linux.intel.com,
	rppt@kernel.org,
	sfr@canb.auug.org.au,
	saravanand@fb.com,
	krish.sadhukhan@oracle.com,
	aneesh.kumar@linux.ibm.com,
	xen-devel@lists.xenproject.org,
	rientjes@google.com,
	hannes@cmpxchg.org,
	tj@kernel.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com,
	dave.hansen@intel.com
Subject: [PATCH V3 10/13] x86/Swiotlb: Add Swiotlb bounce buffer remap function for HV IVM
Date: Mon,  9 Aug 2021 13:56:14 -0400
Message-Id: <20210809175620.720923-11-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210809175620.720923-1-ltykernel@gmail.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

In Isolation VM with AMD SEV, bounce buffer needs to be accessed via
extra address space which is above shared_gpa_boundary
(E.G 39 bit address line) reported by Hyper-V CPUID ISOLATION_CONFIG.
The access physical address will be original physical address +
shared_gpa_boundary. The shared_gpa_boundary in the AMD SEV SNP
spec is called virtual top of memory(vTOM). Memory addresses below
vTOM are automatically treated as private while memory above
vTOM is treated as shared.

Use dma_map_decrypted() in the swiotlb code, store remap address returned
and use the remap address to copy data from/to swiotlb bounce buffer.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
Change since v1:
       * Make swiotlb_init_io_tlb_mem() return error code and return
         error when dma_map_decrypted() fails.
---
 include/linux/swiotlb.h |  4 ++++
 kernel/dma/swiotlb.c    | 32 ++++++++++++++++++++++++--------
 2 files changed, 28 insertions(+), 8 deletions(-)

diff --git a/include/linux/swiotlb.h b/include/linux/swiotlb.h
index f507e3eacbea..584560ecaa8e 100644
--- a/include/linux/swiotlb.h
+++ b/include/linux/swiotlb.h
@@ -72,6 +72,9 @@ extern enum swiotlb_force swiotlb_force;
  * @end:	The end address of the swiotlb memory pool. Used to do a quick
  *		range check to see if the memory was in fact allocated by this
  *		API.
+ * @vaddr:	The vaddr of the swiotlb memory pool. The swiotlb
+ *		memory pool may be remapped in the memory encrypted case and store
+ *		virtual address for bounce buffer operation.
  * @nslabs:	The number of IO TLB blocks (in groups of 64) between @start and
  *		@end. For default swiotlb, this is command line adjustable via
  *		setup_io_tlb_npages.
@@ -89,6 +92,7 @@ extern enum swiotlb_force swiotlb_force;
 struct io_tlb_mem {
 	phys_addr_t start;
 	phys_addr_t end;
+	void *vaddr;
 	unsigned long nslabs;
 	unsigned long used;
 	unsigned int index;
diff --git a/kernel/dma/swiotlb.c b/kernel/dma/swiotlb.c
index 1fa81c096c1d..29b6d888ef3b 100644
--- a/kernel/dma/swiotlb.c
+++ b/kernel/dma/swiotlb.c
@@ -176,7 +176,7 @@ void __init swiotlb_update_mem_attributes(void)
 	memset(vaddr, 0, bytes);
 }
 
-static void swiotlb_init_io_tlb_mem(struct io_tlb_mem *mem, phys_addr_t start,
+static int swiotlb_init_io_tlb_mem(struct io_tlb_mem *mem, phys_addr_t start,
 				    unsigned long nslabs, bool late_alloc)
 {
 	void *vaddr = phys_to_virt(start);
@@ -194,14 +194,21 @@ static void swiotlb_init_io_tlb_mem(struct io_tlb_mem *mem, phys_addr_t start,
 		mem->slots[i].alloc_size = 0;
 	}
 
-	set_memory_decrypted((unsigned long)vaddr, bytes >> PAGE_SHIFT);
-	memset(vaddr, 0, bytes);
+	mem->vaddr = dma_map_decrypted(vaddr, bytes);
+	if (!mem->vaddr) {
+		pr_err("Failed to decrypt memory.\n");
+		return -ENOMEM;
+	}
+
+	memset(mem->vaddr, 0, bytes);
+	return 0;
 }
 
 int __init swiotlb_init_with_tbl(char *tlb, unsigned long nslabs, int verbose)
 {
 	struct io_tlb_mem *mem;
 	size_t alloc_size;
+	int ret;
 
 	if (swiotlb_force == SWIOTLB_NO_FORCE)
 		return 0;
@@ -216,7 +223,11 @@ int __init swiotlb_init_with_tbl(char *tlb, unsigned long nslabs, int verbose)
 		panic("%s: Failed to allocate %zu bytes align=0x%lx\n",
 		      __func__, alloc_size, PAGE_SIZE);
 
-	swiotlb_init_io_tlb_mem(mem, __pa(tlb), nslabs, false);
+	ret = swiotlb_init_io_tlb_mem(mem, __pa(tlb), nslabs, false);
+	if (ret) {
+		memblock_free(__pa(mem), alloc_size);
+		return ret;
+	}
 
 	io_tlb_default_mem = mem;
 	if (verbose)
@@ -304,6 +315,8 @@ int
 swiotlb_late_init_with_tbl(char *tlb, unsigned long nslabs)
 {
 	struct io_tlb_mem *mem;
+	int size = get_order(struct_size(mem, slots, nslabs));
+	int ret;
 
 	if (swiotlb_force == SWIOTLB_NO_FORCE)
 		return 0;
@@ -312,12 +325,15 @@ swiotlb_late_init_with_tbl(char *tlb, unsigned long nslabs)
 	if (WARN_ON_ONCE(io_tlb_default_mem))
 		return -ENOMEM;
 
-	mem = (void *)__get_free_pages(GFP_KERNEL,
-		get_order(struct_size(mem, slots, nslabs)));
+	mem = (void *)__get_free_pages(GFP_KERNEL, size);
 	if (!mem)
 		return -ENOMEM;
 
-	swiotlb_init_io_tlb_mem(mem, virt_to_phys(tlb), nslabs, true);
+	ret = swiotlb_init_io_tlb_mem(mem, virt_to_phys(tlb), nslabs, true);
+	if (ret) {
+		free_pages((unsigned long)mem, size);
+		return ret;
+	}
 
 	io_tlb_default_mem = mem;
 	swiotlb_print_info();
@@ -360,7 +376,7 @@ static void swiotlb_bounce(struct device *dev, phys_addr_t tlb_addr, size_t size
 	phys_addr_t orig_addr = mem->slots[index].orig_addr;
 	size_t alloc_size = mem->slots[index].alloc_size;
 	unsigned long pfn = PFN_DOWN(orig_addr);
-	unsigned char *vaddr = phys_to_virt(tlb_addr);
+	unsigned char *vaddr = mem->vaddr + tlb_addr - mem->start;
 	unsigned int tlb_offset;
 
 	if (orig_addr == INVALID_PHYS_ADDR)
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 09 18:01:42 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 18:01:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165171.301888 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD9ao-00082K-BA; Mon, 09 Aug 2021 18:01:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165171.301888; Mon, 09 Aug 2021 18: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 1mD9ao-000829-7e; Mon, 09 Aug 2021 18:01:42 +0000
Received: by outflank-mailman (input) for mailman id 165171;
 Mon, 09 Aug 2021 18:01:40 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JD4O=NA=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mD9Wh-0000Aq-39
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 17:57:27 +0000
Received: from mail-pj1-x1030.google.com (unknown [2607:f8b0:4864:20::1030])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id e41550fc-f334-4fbd-b972-84287f37b8c8;
 Mon, 09 Aug 2021 17:56:54 +0000 (UTC)
Received: by mail-pj1-x1030.google.com with SMTP id
 w13-20020a17090aea0db029017897a5f7bcso1127337pjy.5
 for <xen-devel@lists.xenproject.org>; Mon, 09 Aug 2021 10:56:54 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:2:106e:6ed1:5da1:2ac4])
 by smtp.gmail.com with ESMTPSA id x14sm20589708pfa.127.2021.08.09.10.56.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Aug 2021 10:56: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: e41550fc-f334-4fbd-b972-84287f37b8c8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=4Z8g+6aX8dcjduBIedx4CzSMH7i8+Bmwle6K2FcmT9E=;
        b=ZlXUD+lz2Gp//Dz/C2mpFxdMZL25BC0hOR/t6BoEQ1bTli+Xl1CRYKEdG7IXN+dwoG
         wbh0UypB+Lr3qyRvhWzIxBGbx+fYykom3dWlYcGq/YT5Z7InstX7/TdXYhZGzB339ev+
         tHSZuw6Vd7eCR9FA7MeNIRBHcH/DDufvpmF0emL/4l+cq1ClvbCHwkpEXvaZ3HakmnXk
         6/KPgjsie5xVLEjCSCVIa0p5LmbrLf873Vd0wi6+te3E9tmIpBMx9GS5qhPWPQtWsi07
         Ihg1rnh6z0Q2aSrWmH0khliF6jGGDsOs5y3kGm6YRdctvUuNOLw99duYdp1PU3dRZUrG
         bYsA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=4Z8g+6aX8dcjduBIedx4CzSMH7i8+Bmwle6K2FcmT9E=;
        b=ks8Kys7IUlgr2sBOIvVPWXZxdVSUID0ruSwu9UpU5aoW13KmpLtQug5xc0pn8JlEkA
         aeVUMCI+vWq9XNurcahi3VgMHah7as9x/w5bsasoAJZr8ziVXRYWZ5Mn6kQ0uWC5YUzC
         BnJ+vuF4mJOSBL7IKkpaJePEcPz4HNgV5AAGyGJaWhqPGyvld/1Fg7/oyk4DZRiPitg+
         0rZ58Iy3JN1FZXQxoOMDt+D8mx+AJR2decHCuRoliJX3nkW3cqzDZRDhX5Mtf5Wayi05
         1gucc/mYBY0/5tgDk2cu7omTHNpnb61CPwL0V9hAFuVYunQCjeHCZj1ww2sRL2O2XjdD
         0/kA==
X-Gm-Message-State: AOAM531tcJX5nX4fTFN0sv9KRnIpd8EbDWAB2z7pigHnq5orPENlQRKN
	ra7b5ZyEmGp69YJW3h+v5BQ=
X-Google-Smtp-Source: ABdhPJwGCSit9y4xVfsX3Nhv/HsWm5r+OyVOoXyi49YThgzy98AeV/wUZJctdeptVPFNfzomXk8fzA==
X-Received: by 2002:a17:902:7781:b029:12d:1887:87ca with SMTP id o1-20020a1709027781b029012d188787camr7799388pll.19.1628531813404;
        Mon, 09 Aug 2021 10:56:53 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	will@kernel.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	thomas.lendacky@amd.com,
	brijesh.singh@amd.com,
	ardb@kernel.org,
	Tianyu.Lan@microsoft.com,
	pgonda@google.com,
	martin.b.radev@gmail.com,
	akpm@linux-foundation.org,
	kirill.shutemov@linux.intel.com,
	rppt@kernel.org,
	sfr@canb.auug.org.au,
	saravanand@fb.com,
	krish.sadhukhan@oracle.com,
	aneesh.kumar@linux.ibm.com,
	xen-devel@lists.xenproject.org,
	rientjes@google.com,
	hannes@cmpxchg.org,
	tj@kernel.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com,
	dave.hansen@intel.com
Subject: [PATCH V3 12/13] HV/Netvsc: Add Isolation VM support for netvsc driver
Date: Mon,  9 Aug 2021 13:56:16 -0400
Message-Id: <20210809175620.720923-13-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210809175620.720923-1-ltykernel@gmail.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

In Isolation VM, all shared memory with host needs to mark visible
to host via hvcall. vmbus_establish_gpadl() has already done it for
netvsc rx/tx ring buffer. The page buffer used by vmbus_sendpacket_
pagebuffer() still need to handle. Use DMA API to map/umap these
memory during sending/receiving packet and Hyper-V DMA ops callback
will use swiotlb function to allocate bounce buffer and copy data
from/to bounce buffer.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
 drivers/net/hyperv/hyperv_net.h   |   6 ++
 drivers/net/hyperv/netvsc.c       | 144 +++++++++++++++++++++++++++++-
 drivers/net/hyperv/rndis_filter.c |   2 +
 include/linux/hyperv.h            |   5 ++
 4 files changed, 154 insertions(+), 3 deletions(-)

diff --git a/drivers/net/hyperv/hyperv_net.h b/drivers/net/hyperv/hyperv_net.h
index bc48855dff10..862419912bfb 100644
--- a/drivers/net/hyperv/hyperv_net.h
+++ b/drivers/net/hyperv/hyperv_net.h
@@ -164,6 +164,7 @@ struct hv_netvsc_packet {
 	u32 total_bytes;
 	u32 send_buf_index;
 	u32 total_data_buflen;
+	struct hv_dma_range *dma_range;
 };
 
 #define NETVSC_HASH_KEYLEN 40
@@ -1074,6 +1075,7 @@ struct netvsc_device {
 
 	/* Receive buffer allocated by us but manages by NetVSP */
 	void *recv_buf;
+	void *recv_original_buf;
 	u32 recv_buf_size; /* allocated bytes */
 	u32 recv_buf_gpadl_handle;
 	u32 recv_section_cnt;
@@ -1082,6 +1084,8 @@ struct netvsc_device {
 
 	/* Send buffer allocated by us */
 	void *send_buf;
+	void *send_original_buf;
+	u32 send_buf_size;
 	u32 send_buf_gpadl_handle;
 	u32 send_section_cnt;
 	u32 send_section_size;
@@ -1730,4 +1734,6 @@ struct rndis_message {
 #define RETRY_US_HI	10000
 #define RETRY_MAX	2000	/* >10 sec */
 
+void netvsc_dma_unmap(struct hv_device *hv_dev,
+		      struct hv_netvsc_packet *packet);
 #endif /* _HYPERV_NET_H */
diff --git a/drivers/net/hyperv/netvsc.c b/drivers/net/hyperv/netvsc.c
index 7bd935412853..fc312e5db4d5 100644
--- a/drivers/net/hyperv/netvsc.c
+++ b/drivers/net/hyperv/netvsc.c
@@ -153,8 +153,21 @@ static void free_netvsc_device(struct rcu_head *head)
 	int i;
 
 	kfree(nvdev->extension);
-	vfree(nvdev->recv_buf);
-	vfree(nvdev->send_buf);
+
+	if (nvdev->recv_original_buf) {
+		vunmap(nvdev->recv_buf);
+		vfree(nvdev->recv_original_buf);
+	} else {
+		vfree(nvdev->recv_buf);
+	}
+
+	if (nvdev->send_original_buf) {
+		vunmap(nvdev->send_buf);
+		vfree(nvdev->send_original_buf);
+	} else {
+		vfree(nvdev->send_buf);
+	}
+
 	kfree(nvdev->send_section_map);
 
 	for (i = 0; i < VRSS_CHANNEL_MAX; i++) {
@@ -330,6 +343,27 @@ int netvsc_alloc_recv_comp_ring(struct netvsc_device *net_device, u32 q_idx)
 	return nvchan->mrc.slots ? 0 : -ENOMEM;
 }
 
+static void *netvsc_remap_buf(void *buf, unsigned long size)
+{
+	unsigned long *pfns;
+	void *vaddr;
+	int i;
+
+	pfns = kcalloc(size / HV_HYP_PAGE_SIZE, sizeof(unsigned long),
+		       GFP_KERNEL);
+	if (!pfns)
+		return NULL;
+
+	for (i = 0; i < size / HV_HYP_PAGE_SIZE; i++)
+		pfns[i] = virt_to_hvpfn(buf + i * HV_HYP_PAGE_SIZE)
+			+ (ms_hyperv.shared_gpa_boundary >> HV_HYP_PAGE_SHIFT);
+
+	vaddr = vmap_pfn(pfns, size / HV_HYP_PAGE_SIZE, PAGE_KERNEL_IO);
+	kfree(pfns);
+
+	return vaddr;
+}
+
 static int netvsc_init_buf(struct hv_device *device,
 			   struct netvsc_device *net_device,
 			   const struct netvsc_device_info *device_info)
@@ -340,6 +374,7 @@ static int netvsc_init_buf(struct hv_device *device,
 	unsigned int buf_size;
 	size_t map_words;
 	int i, ret = 0;
+	void *vaddr;
 
 	/* Get receive buffer area. */
 	buf_size = device_info->recv_sections * device_info->recv_section_size;
@@ -375,6 +410,15 @@ static int netvsc_init_buf(struct hv_device *device,
 		goto cleanup;
 	}
 
+	if (hv_isolation_type_snp()) {
+		vaddr = netvsc_remap_buf(net_device->recv_buf, buf_size);
+		if (!vaddr)
+			goto cleanup;
+
+		net_device->recv_original_buf = net_device->recv_buf;
+		net_device->recv_buf = vaddr;
+	}
+
 	/* Notify the NetVsp of the gpadl handle */
 	init_packet = &net_device->channel_init_pkt;
 	memset(init_packet, 0, sizeof(struct nvsp_message));
@@ -477,6 +521,15 @@ static int netvsc_init_buf(struct hv_device *device,
 		goto cleanup;
 	}
 
+	if (hv_isolation_type_snp()) {
+		vaddr = netvsc_remap_buf(net_device->send_buf, buf_size);
+		if (!vaddr)
+			goto cleanup;
+
+		net_device->send_original_buf = net_device->send_buf;
+		net_device->send_buf = vaddr;
+	}
+
 	/* Notify the NetVsp of the gpadl handle */
 	init_packet = &net_device->channel_init_pkt;
 	memset(init_packet, 0, sizeof(struct nvsp_message));
@@ -767,7 +820,7 @@ static void netvsc_send_tx_complete(struct net_device *ndev,
 
 	/* Notify the layer above us */
 	if (likely(skb)) {
-		const struct hv_netvsc_packet *packet
+		struct hv_netvsc_packet *packet
 			= (struct hv_netvsc_packet *)skb->cb;
 		u32 send_index = packet->send_buf_index;
 		struct netvsc_stats *tx_stats;
@@ -783,6 +836,7 @@ static void netvsc_send_tx_complete(struct net_device *ndev,
 		tx_stats->bytes += packet->total_bytes;
 		u64_stats_update_end(&tx_stats->syncp);
 
+		netvsc_dma_unmap(ndev_ctx->device_ctx, packet);
 		napi_consume_skb(skb, budget);
 	}
 
@@ -947,6 +1001,82 @@ static void netvsc_copy_to_send_buf(struct netvsc_device *net_device,
 		memset(dest, 0, padding);
 }
 
+void netvsc_dma_unmap(struct hv_device *hv_dev,
+		      struct hv_netvsc_packet *packet)
+{
+	u32 page_count = packet->cp_partial ?
+		packet->page_buf_cnt - packet->rmsg_pgcnt :
+		packet->page_buf_cnt;
+	int i;
+
+	if (!hv_is_isolation_supported())
+		return;
+
+	if (!packet->dma_range)
+		return;
+
+	for (i = 0; i < page_count; i++)
+		dma_unmap_single(&hv_dev->device, packet->dma_range[i].dma,
+				 packet->dma_range[i].mapping_size,
+				 DMA_TO_DEVICE);
+
+	kfree(packet->dma_range);
+}
+
+/* netvsc_dma_map - Map swiotlb bounce buffer with data page of
+ * packet sent by vmbus_sendpacket_pagebuffer() in the Isolation
+ * VM.
+ *
+ * In isolation VM, netvsc send buffer has been marked visible to
+ * host and so the data copied to send buffer doesn't need to use
+ * bounce buffer. The data pages handled by vmbus_sendpacket_pagebuffer()
+ * may not be copied to send buffer and so these pages need to be
+ * mapped with swiotlb bounce buffer. netvsc_dma_map() is to do
+ * that. The pfns in the struct hv_page_buffer need to be converted
+ * to bounce buffer's pfn. The loop here is necessary and so not
+ * use dma_map_sg() here.
+ */
+int netvsc_dma_map(struct hv_device *hv_dev,
+		   struct hv_netvsc_packet *packet,
+		   struct hv_page_buffer *pb)
+{
+	u32 page_count =  packet->cp_partial ?
+		packet->page_buf_cnt - packet->rmsg_pgcnt :
+		packet->page_buf_cnt;
+	dma_addr_t dma;
+	int i;
+
+	if (!hv_is_isolation_supported())
+		return 0;
+
+	packet->dma_range = kcalloc(page_count,
+				    sizeof(*packet->dma_range),
+				    GFP_KERNEL);
+	if (!packet->dma_range)
+		return -ENOMEM;
+
+	for (i = 0; i < page_count; i++) {
+		char *src = phys_to_virt((pb[i].pfn << HV_HYP_PAGE_SHIFT)
+					 + pb[i].offset);
+		u32 len = pb[i].len;
+
+		dma = dma_map_single(&hv_dev->device, src, len,
+				     DMA_TO_DEVICE);
+		if (dma_mapping_error(&hv_dev->device, dma)) {
+			kfree(packet->dma_range);
+			return -ENOMEM;
+		}
+
+		packet->dma_range[i].dma = dma;
+		packet->dma_range[i].mapping_size = len;
+		pb[i].pfn = dma >> HV_HYP_PAGE_SHIFT;
+		pb[i].offset = offset_in_hvpage(dma);
+		pb[i].len = len;
+	}
+
+	return 0;
+}
+
 static inline int netvsc_send_pkt(
 	struct hv_device *device,
 	struct hv_netvsc_packet *packet,
@@ -987,14 +1117,22 @@ static inline int netvsc_send_pkt(
 
 	trace_nvsp_send_pkt(ndev, out_channel, rpkt);
 
+	packet->dma_range = NULL;
 	if (packet->page_buf_cnt) {
 		if (packet->cp_partial)
 			pb += packet->rmsg_pgcnt;
 
+		ret = netvsc_dma_map(ndev_ctx->device_ctx, packet, pb);
+		if (ret)
+			return ret;
+
 		ret = vmbus_sendpacket_pagebuffer(out_channel,
 						  pb, packet->page_buf_cnt,
 						  &nvmsg, sizeof(nvmsg),
 						  req_id);
+
+		if (ret)
+			netvsc_dma_unmap(ndev_ctx->device_ctx, packet);
 	} else {
 		ret = vmbus_sendpacket(out_channel,
 				       &nvmsg, sizeof(nvmsg),
diff --git a/drivers/net/hyperv/rndis_filter.c b/drivers/net/hyperv/rndis_filter.c
index f6c9c2a670f9..448fcc325ed7 100644
--- a/drivers/net/hyperv/rndis_filter.c
+++ b/drivers/net/hyperv/rndis_filter.c
@@ -361,6 +361,8 @@ static void rndis_filter_receive_response(struct net_device *ndev,
 			}
 		}
 
+		netvsc_dma_unmap(((struct net_device_context *)
+			netdev_priv(ndev))->device_ctx, &request->pkt);
 		complete(&request->wait_event);
 	} else {
 		netdev_err(ndev,
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
index 83fa567ad594..2ea638101645 100644
--- a/include/linux/hyperv.h
+++ b/include/linux/hyperv.h
@@ -1601,6 +1601,11 @@ struct hyperv_service_callback {
 	void (*callback)(void *context);
 };
 
+struct hv_dma_range {
+	dma_addr_t dma;
+	u32 mapping_size;
+};
+
 #define MAX_SRV_VER	0x7ffffff
 extern bool vmbus_prep_negotiate_resp(struct icmsg_hdr *icmsghdrp, u8 *buf, u32 buflen,
 				const int *fw_version, int fw_vercnt,
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 09 18:02:07 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 18:02:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165184.301899 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD9bC-0000XM-Ov; Mon, 09 Aug 2021 18:02:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165184.301899; Mon, 09 Aug 2021 18:02:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD9bC-0000X4-Lh; Mon, 09 Aug 2021 18:02:06 +0000
Received: by outflank-mailman (input) for mailman id 165184;
 Mon, 09 Aug 2021 18:02:04 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JD4O=NA=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mD9Wc-0000Aq-2s
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 17:57:22 +0000
Received: from mail-pj1-x1034.google.com (unknown [2607:f8b0:4864:20::1034])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 61c73651-940a-44e3-a734-02fbc5509dc4;
 Mon, 09 Aug 2021 17:56:51 +0000 (UTC)
Received: by mail-pj1-x1034.google.com with SMTP id
 mq2-20020a17090b3802b0290178911d298bso1170878pjb.1
 for <xen-devel@lists.xenproject.org>; Mon, 09 Aug 2021 10:56:51 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:2:106e:6ed1:5da1:2ac4])
 by smtp.gmail.com with ESMTPSA id x14sm20589708pfa.127.2021.08.09.10.56.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Aug 2021 10:56:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 61c73651-940a-44e3-a734-02fbc5509dc4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=wE1oyJvMZrxsK10mJTBwWYCUb1GB6i5zG9Yu/v/zgdM=;
        b=AR4iP5ZYBtCq95LlWtYYCyS910itq7pZDn/QCC4MRpb0ABoxb3+fdeU/8WwTtjQf5T
         wt6+yYw0C62DDMzkEhJ9TDNdHBUTRApK+U+iZJFsySVBxYlvJdujXMreaUZpdeFbAf4U
         vcTLAkPbqvTQqsnFJFAZNUdAmNtsbeiS2AvHxvoHY2vX7tqjY8VLvRu69UVWkdW6uPQm
         r6s0/vu2Yk4blkUZaI2VpcM4gDNFSYqRbOR/JAU6+351oCLyhaCizCEZRRrgZUN6m1Z1
         2B1uH9soEdbo/8BjQeOdRlT9ADfhGl+oSC9LxDUyE/wPt7X/V+eJurB8URppuSrIeyYy
         4zIw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=wE1oyJvMZrxsK10mJTBwWYCUb1GB6i5zG9Yu/v/zgdM=;
        b=GSrq0crIaOrf6EhRiPjbpBcw4pxIJR8q0U01PwoFkl9/3I9z58bREgGbqG4hlnj9t3
         XWpdb6iEY8gGyNqBrYqOlNvxAloHuh2dvfqDA/q7MhP2qnhW52cXpEcy9OqnxxMNrXh8
         WI9k+u4rWniWnyjBucVuhjOdeOYnJM4a6HG8qRNLOXh7Gxv0fSUrHXpLXr6Ee85qiSMC
         9TTxgDjh/70S1cR4BPf3xifTqisJim/xKE2LA0xJkQnuMggHyYfsogkqL65fbtbEXpyq
         47YNLi/kqdawmJJjhHL6+2FckKxHy8kj//xmh3AH0OLIlKDZMa00mYsKh3AKprN1zl0m
         y0ng==
X-Gm-Message-State: AOAM533nu561n1f5ey+UO/fBIbEfMElTy9OwSrRbqfxdVaO9NSDVYczZ
	eP5P2aTRuNBO5macYhVrH7E=
X-Google-Smtp-Source: ABdhPJy2FZfXH3NbVL2EBYwcf8LiETMKocZ9CFOcqjbqCapsAKuw9uzjOCEJ0P+M1z5RyBMo3xqDGw==
X-Received: by 2002:aa7:838a:0:b029:3b7:31a5:649c with SMTP id u10-20020aa7838a0000b02903b731a5649cmr19142980pfm.44.1628531811197;
        Mon, 09 Aug 2021 10:56:51 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	will@kernel.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	thomas.lendacky@amd.com,
	brijesh.singh@amd.com,
	ardb@kernel.org,
	Tianyu.Lan@microsoft.com,
	pgonda@google.com,
	martin.b.radev@gmail.com,
	akpm@linux-foundation.org,
	kirill.shutemov@linux.intel.com,
	rppt@kernel.org,
	sfr@canb.auug.org.au,
	saravanand@fb.com,
	krish.sadhukhan@oracle.com,
	aneesh.kumar@linux.ibm.com,
	xen-devel@lists.xenproject.org,
	rientjes@google.com,
	hannes@cmpxchg.org,
	tj@kernel.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com,
	dave.hansen@intel.com
Subject: [PATCH V3 11/13] HV/IOMMU: Enable swiotlb bounce buffer for Isolation VM
Date: Mon,  9 Aug 2021 13:56:15 -0400
Message-Id: <20210809175620.720923-12-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210809175620.720923-1-ltykernel@gmail.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

Hyper-V Isolation VM requires bounce buffer support to copy
data from/to encrypted memory and so enable swiotlb force
mode to use swiotlb bounce buffer for DMA transaction.

In Isolation VM with AMD SEV, the bounce buffer needs to be
accessed via extra address space which is above shared_gpa_boundary
(E.G 39 bit address line) reported by Hyper-V CPUID ISOLATION_CONFIG.
The access physical address will be original physical address +
shared_gpa_boundary. The shared_gpa_boundary in the AMD SEV SNP
spec is called virtual top of memory(vTOM). Memory addresses below
vTOM are automatically treated as private while memory above
vTOM is treated as shared.

Swiotlb bounce buffer code calls dma_map_decrypted()
to mark bounce buffer visible to host and map it in extra
address space. Populate dma memory decrypted ops with hv
map/unmap function.

Hyper-V initalizes swiotlb bounce buffer and default swiotlb
needs to be disabled. pci_swiotlb_detect_override() and
pci_swiotlb_detect_4gb() enable the default one. To override
the setting, hyperv_swiotlb_detect() needs to run before
these detect functions which depends on the pci_xen_swiotlb_
init(). Make pci_xen_swiotlb_init() depends on the hyperv_swiotlb
_detect() to keep the order.

The map function vmap_pfn() can't work in the early place
hyperv_iommu_swiotlb_init() and so initialize swiotlb bounce
buffer in the hyperv_iommu_swiotlb_later_init().

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
 arch/x86/hyperv/ivm.c           | 28 ++++++++++++++
 arch/x86/include/asm/mshyperv.h |  2 +
 arch/x86/xen/pci-swiotlb-xen.c  |  3 +-
 drivers/hv/vmbus_drv.c          |  3 ++
 drivers/iommu/hyperv-iommu.c    | 65 +++++++++++++++++++++++++++++++++
 include/linux/hyperv.h          |  1 +
 6 files changed, 101 insertions(+), 1 deletion(-)

diff --git a/arch/x86/hyperv/ivm.c b/arch/x86/hyperv/ivm.c
index c13ec5560d73..0f05e4d6fc62 100644
--- a/arch/x86/hyperv/ivm.c
+++ b/arch/x86/hyperv/ivm.c
@@ -265,3 +265,31 @@ int hv_set_mem_host_visibility(unsigned long addr, int numpages, bool visible)
 
 	return __hv_set_mem_host_visibility((void *)addr, numpages, visibility);
 }
+
+/*
+ * hv_map_memory - map memory to extra space in the AMD SEV-SNP Isolation VM.
+ */
+void *hv_map_memory(void *addr, unsigned long size)
+{
+	unsigned long *pfns = kcalloc(size / HV_HYP_PAGE_SIZE,
+				      sizeof(unsigned long), GFP_KERNEL);
+	void *vaddr;
+	int i;
+
+	if (!pfns)
+		return NULL;
+
+	for (i = 0; i < size / HV_HYP_PAGE_SIZE; i++)
+		pfns[i] = virt_to_hvpfn(addr + i * HV_HYP_PAGE_SIZE) +
+			(ms_hyperv.shared_gpa_boundary >> HV_HYP_PAGE_SHIFT);
+
+	vaddr = vmap_pfn(pfns, size / HV_HYP_PAGE_SIZE,	PAGE_KERNEL_IO);
+	kfree(pfns);
+
+	return vaddr;
+}
+
+void hv_unmap_memory(void *addr)
+{
+	vunmap(addr);
+}
diff --git a/arch/x86/include/asm/mshyperv.h b/arch/x86/include/asm/mshyperv.h
index a30c60f189a3..b247739f57ac 100644
--- a/arch/x86/include/asm/mshyperv.h
+++ b/arch/x86/include/asm/mshyperv.h
@@ -250,6 +250,8 @@ int hv_unmap_ioapic_interrupt(int ioapic_id, struct hv_interrupt_entry *entry);
 int hv_mark_gpa_visibility(u16 count, const u64 pfn[],
 			   enum hv_mem_host_visibility visibility);
 int hv_set_mem_host_visibility(unsigned long addr, int numpages, bool visible);
+void *hv_map_memory(void *addr, unsigned long size);
+void hv_unmap_memory(void *addr);
 void hv_sint_wrmsrl_ghcb(u64 msr, u64 value);
 void hv_sint_rdmsrl_ghcb(u64 msr, u64 *value);
 void hv_signal_eom_ghcb(void);
diff --git a/arch/x86/xen/pci-swiotlb-xen.c b/arch/x86/xen/pci-swiotlb-xen.c
index 54f9aa7e8457..43bd031aa332 100644
--- a/arch/x86/xen/pci-swiotlb-xen.c
+++ b/arch/x86/xen/pci-swiotlb-xen.c
@@ -4,6 +4,7 @@
 
 #include <linux/dma-map-ops.h>
 #include <linux/pci.h>
+#include <linux/hyperv.h>
 #include <xen/swiotlb-xen.h>
 
 #include <asm/xen/hypervisor.h>
@@ -91,6 +92,6 @@ int pci_xen_swiotlb_init_late(void)
 EXPORT_SYMBOL_GPL(pci_xen_swiotlb_init_late);
 
 IOMMU_INIT_FINISH(pci_xen_swiotlb_detect,
-		  NULL,
+		  hyperv_swiotlb_detect,
 		  pci_xen_swiotlb_init,
 		  NULL);
diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c
index 57bbbaa4e8f7..f068e22a5636 100644
--- a/drivers/hv/vmbus_drv.c
+++ b/drivers/hv/vmbus_drv.c
@@ -23,6 +23,7 @@
 #include <linux/cpu.h>
 #include <linux/sched/task_stack.h>
 
+#include <linux/dma-map-ops.h>
 #include <linux/delay.h>
 #include <linux/notifier.h>
 #include <linux/panic_notifier.h>
@@ -2081,6 +2082,7 @@ struct hv_device *vmbus_device_create(const guid_t *type,
 	return child_device_obj;
 }
 
+static u64 vmbus_dma_mask = DMA_BIT_MASK(64);
 /*
  * vmbus_device_register - Register the child device
  */
@@ -2121,6 +2123,7 @@ int vmbus_device_register(struct hv_device *child_device_obj)
 	}
 	hv_debug_add_dev_dir(child_device_obj);
 
+	child_device_obj->device.dma_mask = &vmbus_dma_mask;
 	return 0;
 
 err_kset_unregister:
diff --git a/drivers/iommu/hyperv-iommu.c b/drivers/iommu/hyperv-iommu.c
index e285a220c913..01e874b3b43a 100644
--- a/drivers/iommu/hyperv-iommu.c
+++ b/drivers/iommu/hyperv-iommu.c
@@ -13,14 +13,22 @@
 #include <linux/irq.h>
 #include <linux/iommu.h>
 #include <linux/module.h>
+#include <linux/hyperv.h>
+#include <linux/io.h>
 
 #include <asm/apic.h>
 #include <asm/cpu.h>
 #include <asm/hw_irq.h>
 #include <asm/io_apic.h>
+#include <asm/iommu.h>
+#include <asm/iommu_table.h>
 #include <asm/irq_remapping.h>
 #include <asm/hypervisor.h>
 #include <asm/mshyperv.h>
+#include <asm/swiotlb.h>
+#include <linux/dma-map-ops.h>
+#include <linux/dma-direct.h>
+#include <linux/set_memory.h>
 
 #include "irq_remapping.h"
 
@@ -36,6 +44,9 @@
 static cpumask_t ioapic_max_cpumask = { CPU_BITS_NONE };
 static struct irq_domain *ioapic_ir_domain;
 
+static unsigned long hyperv_io_tlb_size;
+static void *hyperv_io_tlb_start;
+
 static int hyperv_ir_set_affinity(struct irq_data *data,
 		const struct cpumask *mask, bool force)
 {
@@ -337,4 +348,58 @@ static const struct irq_domain_ops hyperv_root_ir_domain_ops = {
 	.free = hyperv_root_irq_remapping_free,
 };
 
+void __init hyperv_iommu_swiotlb_init(void)
+{
+	unsigned long bytes;
+
+	/*
+	 * Allocate Hyper-V swiotlb bounce buffer at early place
+	 * to reserve large contiguous memory.
+	 */
+	hyperv_io_tlb_size = 256 * 1024 * 1024;
+	hyperv_io_tlb_start =
+			memblock_alloc_low(
+				  PAGE_ALIGN(hyperv_io_tlb_size),
+				  HV_HYP_PAGE_SIZE);
+
+	if (!hyperv_io_tlb_start) {
+		pr_warn("Fail to allocate Hyper-V swiotlb buffer.\n");
+		return;
+	}
+}
+
+int __init hyperv_swiotlb_detect(void)
+{
+	if (hypervisor_is_type(X86_HYPER_MS_HYPERV)
+	    && hv_is_isolation_supported()) {
+		/*
+		 * Enable swiotlb force mode in Isolation VM to
+		 * use swiotlb bounce buffer for dma transaction.
+		 */
+		swiotlb_force = SWIOTLB_FORCE;
+
+		dma_memory_generic_decrypted_ops.map = hv_map_memory;
+		dma_memory_generic_decrypted_ops.unmap = hv_unmap_memory;
+		return 1;
+	}
+
+	return 0;
+}
+
+void __init hyperv_iommu_swiotlb_later_init(void)
+{
+	/*
+	 * Swiotlb bounce buffer needs to be mapped in extra address
+	 * space. Map function doesn't work in the early place and so
+	 * call swiotlb_late_init_with_tbl() here.
+	 */
+	if (swiotlb_late_init_with_tbl(hyperv_io_tlb_start,
+				       hyperv_io_tlb_size >> IO_TLB_SHIFT))
+		panic("Fail to initialize hyperv swiotlb.\n");
+}
+
+IOMMU_INIT_FINISH(hyperv_swiotlb_detect,
+		  NULL, hyperv_iommu_swiotlb_init,
+		  hyperv_iommu_swiotlb_later_init);
+
 #endif
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
index 90b542597143..83fa567ad594 100644
--- a/include/linux/hyperv.h
+++ b/include/linux/hyperv.h
@@ -1744,6 +1744,7 @@ int hyperv_write_cfg_blk(struct pci_dev *dev, void *buf, unsigned int len,
 int hyperv_reg_block_invalidate(struct pci_dev *dev, void *context,
 				void (*block_invalidate)(void *context,
 							 u64 block_mask));
+int __init hyperv_swiotlb_detect(void);
 
 struct hyperv_pci_block_ops {
 	int (*read_block)(struct pci_dev *dev, void *buf, unsigned int buf_len,
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 09 18:14:28 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 18:14:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165194.301910 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD9n4-0002JI-UJ; Mon, 09 Aug 2021 18:14:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165194.301910; Mon, 09 Aug 2021 18:14:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD9n4-0002JB-R4; Mon, 09 Aug 2021 18:14:22 +0000
Received: by outflank-mailman (input) for mailman id 165194;
 Mon, 09 Aug 2021 18:14:21 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=I97U=NA=kernel.org=helgaas@srs-us1.protection.inumbo.net>)
 id 1mD9n3-0002J5-Pk
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 18:14:21 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 9dea4158-f93d-11eb-9f2c-12813bfff9fa;
 Mon, 09 Aug 2021 18:14:20 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id 5978561002;
 Mon,  9 Aug 2021 18:14: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: 9dea4158-f93d-11eb-9f2c-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1628532859;
	bh=qXeJ0P/U8JvDxO9kR9G0/0wx57hQ6JjYEoFVv0vPQv8=;
	h=Date:From:To:Cc:Subject:In-Reply-To:From;
	b=WW6aFqzA3dvX3Ze6M+eftHp7JaBZzCklo9aY7tR1PQm8w/hnkzEnuCle4tCjoZiSe
	 nT6rKeORsoNdjHgHs9BqQjZRVKkrC6rxN1uu2Ygmc41jcEEm8UEVPbXxSnQ6K0Wfj8
	 qSINXH8XorzrEZOa15qbiDu7ItPII0bkSjch0lXkcnkoO4HSU1QbFOtyKkGI+wZYNN
	 0+0+St5OBLuFlSt+oW4UklxyjCkK/jpDv/4IACdl9gU6SOxr0i2z8LDiCotUp5Fcfn
	 PGIel408/Vk6fQxN4caUeDLV9ODEWUpMqiy48I+zaYWawQn9qjAcLm5+IUrHSYXRZm
	 w1DE8HFaMxc8g==
Date: Mon, 9 Aug 2021 13:14:18 -0500
From: Bjorn Helgaas <helgaas@kernel.org>
To: Uwe =?iso-8859-1?Q?Kleine-K=F6nig?= <u.kleine-koenig@pengutronix.de>
Cc: Mark Rutland <mark.rutland@arm.com>,
	Giovanni Cabiddu <giovanni.cabiddu@intel.com>,
	=?utf-8?B?UmFmYcWCIE1pxYJlY2tp?= <zajec5@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>, linux-pci@vger.kernel.org,
	Alexander Duyck <alexanderduyck@fb.com>,
	Russell Currey <ruscur@russell.cc>, x86@kernel.org,
	oss-drivers@corigine.com, netdev@vger.kernel.org,
	Paul Mackerras <paulus@samba.org>, "H. Peter Anvin" <hpa@zytor.com>,
	Jiri Olsa <jolsa@redhat.com>, Thomas Gleixner <tglx@linutronix.de>,
	Taras Chornyi <tchornyi@marvell.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	linux-scsi@vger.kernel.org, Michael Ellerman <mpe@ellerman.id.au>,
	Sathya Prakash <sathya.prakash@broadcom.com>, qat-linux@intel.com,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Ingo Molnar <mingo@redhat.com>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Jakub Kicinski <kuba@kernel.org>,
	Yisen Zhuang <yisen.zhuang@huawei.com>,
	Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>,
	Fiona Trahe <fiona.trahe@intel.com>,
	Oliver O'Halloran <oohall@gmail.com>,
	Andrew Donnellan <ajd@linux.ibm.com>,
	Mathias Nyman <mathias.nyman@intel.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ido Schimmel <idosch@nvidia.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Frederic Barrat <fbarrat@linux.ibm.com>,
	Borislav Petkov <bp@alien8.de>, Michael Buesch <m@bues.ch>,
	Jiri Pirko <jiri@nvidia.com>, Bjorn Helgaas <bhelgaas@google.com>,
	Namhyung Kim <namhyung@kernel.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Andy Shevchenko <andriy.shevchenko@intel.com>,
	Juergen Gross <jgross@suse.com>,
	Salil Mehta <salil.mehta@huawei.com>,
	Sreekanth Reddy <sreekanth.reddy@broadcom.com>,
	xen-devel@lists.xenproject.org, Vadym Kochan <vkochan@marvell.com>,
	MPT-FusionLinux.pdl@broadcom.com, linux-usb@vger.kernel.org,
	linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-perf-users@vger.kernel.org,
	Zhou Wang <wangzhou1@hisilicon.com>, Arnd Bergmann <arnd@arndb.de>,
	linux-crypto@vger.kernel.org, kernel@pengutronix.de,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Simon Horman <simon.horman@corigine.com>,
	Wojciech Ziemba <wojciech.ziemba@intel.com>,
	linuxppc-dev@lists.ozlabs.org,
	"David S. Miller" <davem@davemloft.net>
Subject: Re: [PATCH v2 0/6] PCI: Drop duplicated tracking of a pci_dev's
 bound driver
Message-ID: <20210809181418.GA2168343@bjorn-Precision-5520>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20210807092645.52kn4ustyjudztvl@pengutronix.de>

On Sat, Aug 07, 2021 at 11:26:45AM +0200, Uwe Kleine-Knig wrote:
> On Fri, Aug 06, 2021 at 04:24:52PM -0500, Bjorn Helgaas wrote:
> > On Fri, Aug 06, 2021 at 08:46:23AM +0200, Uwe Kleine-Knig wrote:
> > > On Thu, Aug 05, 2021 at 06:42:34PM -0500, Bjorn Helgaas wrote:
> > 
> > > > I looked at all the bus_type.probe() methods, it looks like pci_dev is
> > > > not the only offender here.  At least the following also have a driver
> > > > pointer in the device struct:
> > > > 
> > > >   parisc_device.driver
> > > >   acpi_device.driver
> > > >   dio_dev.driver
> > > >   hid_device.driver
> > > >   pci_dev.driver
> > > >   pnp_dev.driver
> > > >   rio_dev.driver
> > > >   zorro_dev.driver
> > > 
> > > Right, when I converted zorro_dev it was pointed out that the code was
> > > copied from pci and the latter has the same construct. :-)
> > > See
> > > https://lore.kernel.org/r/20210730191035.1455248-5-u.kleine-koenig@pengutronix.de
> > > for the patch, I don't find where pci was pointed out, maybe it was on
> > > irc only.
> > 
> > Oh, thanks!  I looked to see if you'd done something similar
> > elsewhere, but I missed this one.
> > 
> > > > Looking through the places that care about pci_dev.driver (the ones
> > > > updated by patch 5/6), many of them are ... a little dubious to begin
> > > > with.  A few need the "struct pci_error_handlers *err_handler"
> > > > pointer, so that's probably legitimate.  But many just need a name,
> > > > and should probably be using dev_driver_string() instead.
> > > 
> > > Yeah, I considered adding a function to get the driver name from a
> > > pci_dev and a function to get the error handlers. Maybe it's an idea to
> > > introduce these two and then use to_pci_driver(pdev->dev.driver) for the
> > > few remaining users? Maybe doing that on top of my current series makes
> > > sense to have a clean switch from pdev->driver to pdev->dev.driver?!
> > 
> > I'd propose using dev_driver_string() for these places:
> > 
> >   eeh_driver_name() (could change callers to use dev_driver_string())
> >   bcma_host_pci_probe()
> >   qm_alloc_uacce()
> >   hns3_get_drvinfo()
> >   prestera_pci_probe()
> >   mlxsw_pci_probe()
> >   nfp_get_drvinfo()
> >   ssb_pcihost_probe()
> 
> So the idea is:
> 
> 	PCI: Simplify pci_device_remove()
> 	PCI: Drop useless check from pci_device_probe()
> 	xen/pci: Drop some checks that are always true
> 
> are kept as is as preparation. (Do you want to take them from this v2,
> or should I include them again in v3?)

Easiest if you include them until we merge the series.

> Then convert the list of functions above to use dev_driver_string() in a
> 4th patch.
> 
> > The use in mpt_device_driver_register() looks unnecessary: it's only
> > to get a struct pci_device_id *, which is passed to ->probe()
> > functions that don't need it.
> 
> This is patch #5.
> 
> > The use in adf_enable_aer() looks wrong: it sets the err_handler
> > pointer in one of the adf_driver structs.  I think those structs
> > should be basically immutable, and the drivers that call
> > adf_enable_aer() from their .probe() methods should set
> > ".err_handler = &adf_err_handler" in their static adf_driver
> > definitions instead.
> 
> I don't understand that one without some research, probably this yields
> at least one patch.

Yeah, it's a little messy because you'd have to make adf_err_handler
non-static and add an extern for it.  Sample below.

> > I think that basically leaves these:
> > 
> >   uncore_pci_probe()     # .id_table, custom driver "registration"
> >   match_id()             # .id_table, arch/x86/kernel/probe_roms.c
> >   xhci_pci_quirks()      # .id_table
> >   pci_error_handlers()   # roll-your-own AER handling, drivers/misc/cxl/guest.c
> > 
> > I think it would be fine to use to_pci_driver(pdev->dev.driver) for
> > these few.
> 
> Converting these will be patch 7 then and patch 8 can then drop the
> duplicated handling.
> 
> Sounds reasonable?

Sounds good to me.  Thanks for working on this!

Bjorn


diff --git a/drivers/crypto/qat/qat_4xxx/adf_drv.c b/drivers/crypto/qat/qat_4xxx/adf_drv.c
index a8805c815d16..75e6c5540523 100644
--- a/drivers/crypto/qat/qat_4xxx/adf_drv.c
+++ b/drivers/crypto/qat/qat_4xxx/adf_drv.c
@@ -310,6 +310,7 @@ static struct pci_driver adf_driver = {
 	.probe = adf_probe,
 	.remove = adf_remove,
 	.sriov_configure = adf_sriov_configure,
+	.err_handler = adf_err_handler,
 };
 
 module_pci_driver(adf_driver);
diff --git a/drivers/crypto/qat/qat_common/adf_aer.c b/drivers/crypto/qat/qat_common/adf_aer.c
index d2ae293d0df6..701c3c5f8b9b 100644
--- a/drivers/crypto/qat/qat_common/adf_aer.c
+++ b/drivers/crypto/qat/qat_common/adf_aer.c
@@ -166,7 +166,7 @@ static void adf_resume(struct pci_dev *pdev)
 	dev_info(&pdev->dev, "Device is up and running\n");
 }
 
-static const struct pci_error_handlers adf_err_handler = {
+const struct pci_error_handlers adf_err_handler = {
 	.error_detected = adf_error_detected,
 	.slot_reset = adf_slot_reset,
 	.resume = adf_resume,
@@ -187,7 +187,6 @@ int adf_enable_aer(struct adf_accel_dev *accel_dev)
 	struct pci_dev *pdev = accel_to_pci_dev(accel_dev);
 	struct pci_driver *pdrv = pdev->driver;
 
-	pdrv->err_handler = &adf_err_handler;
 	pci_enable_pcie_error_reporting(pdev);
 	return 0;
 }
diff --git a/drivers/crypto/qat/qat_common/adf_common_drv.h b/drivers/crypto/qat/qat_common/adf_common_drv.h
index c61476553728..98a29e0b8769 100644
--- a/drivers/crypto/qat/qat_common/adf_common_drv.h
+++ b/drivers/crypto/qat/qat_common/adf_common_drv.h
@@ -95,6 +95,7 @@ void adf_ae_fw_release(struct adf_accel_dev *accel_dev);
 int adf_ae_start(struct adf_accel_dev *accel_dev);
 int adf_ae_stop(struct adf_accel_dev *accel_dev);
 
+extern const struct pci_error_handlers adf_err_handler;
 int adf_enable_aer(struct adf_accel_dev *accel_dev);
 void adf_disable_aer(struct adf_accel_dev *accel_dev);
 void adf_reset_sbr(struct adf_accel_dev *accel_dev);


From xen-devel-bounces@lists.xenproject.org Mon Aug 09 18:24:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 18:24:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165200.301921 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD9x6-0003ly-V7; Mon, 09 Aug 2021 18:24:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165200.301921; Mon, 09 Aug 2021 18:24:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mD9x6-0003lr-RE; Mon, 09 Aug 2021 18:24:44 +0000
Received: by outflank-mailman (input) for mailman id 165200;
 Mon, 09 Aug 2021 18:24:43 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YQI5=NA=gmail.com=olekstysh@srs-us1.protection.inumbo.net>)
 id 1mD9x5-0003ll-C4
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 18:24:43 +0000
Received: from mail-lj1-x22e.google.com (unknown [2a00:1450:4864:20::22e])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 7b300149-eec5-478a-8c80-3db736f2c886;
 Mon, 09 Aug 2021 18:24:41 +0000 (UTC)
Received: by mail-lj1-x22e.google.com with SMTP id a7so24908795ljq.11
 for <xen-devel@lists.xenproject.org>; Mon, 09 Aug 2021 11:24:41 -0700 (PDT)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id t142sm1802752lff.269.2021.08.09.11.24.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Aug 2021 11:24: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: 7b300149-eec5-478a-8c80-3db736f2c886
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-transfer-encoding:content-language;
        bh=yWuXsEqJtZJ1mFJI5QsqhAlsVtYtcbWuN/ULVUqdVl0=;
        b=D6oRBlo7pl65BPDhfa9/NGFdZzaJzLhuukZy2EeMeNXpWTGBz9tzwQDl5O/R+q6xcL
         rcUZD5H+KB7RE3ekRJ7KvYPnnHS+r1vb/2l5CpjXslpKAubl+0nDMWoG2zjcf0PX0lKs
         SwZwaN+5V6PL4DZbKja2iwnBm04rr0i1yeAtmY+aHn2EP4AsSUflrBH++WBRMEP6+r+T
         6Qch4AyuUUQDtQmDr4pZEsGiDtmZFG8W7mmY+BRyET1KyDcyCjOYTO/7b4n57wAhgmst
         67AYb+El1smMP/pCes5rB3Hm6SSiBnzg16i9zOjbKaXtcfypIAsGPTi8li+E60HrA134
         rN1Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-transfer-encoding
         :content-language;
        bh=yWuXsEqJtZJ1mFJI5QsqhAlsVtYtcbWuN/ULVUqdVl0=;
        b=DI0K+bv1s1T025BOxISVTSzCrRPtmMSAICqe6tKFxCeK1Eh8I33Mi/TDYAY/gHqnyA
         nd34mzBxKPTHtd+V4dwoURZW/fDyijJbbjW8C8lupJMrUCC2ARAKptP1TVCcfu8NUVSD
         P+aLFNnfq9SS9QlIidAvr2QMMWLaRIOOfyKRWhng+YwElvn84rRbI7vevQdVmDmYuycQ
         Az9xzLJ7UJH7rOAGikB7ySDFxLyUGiaxcgHZTsuIRuQK5CUgia0lxUWSewCh6Mma1hxR
         YFWy3pDxtfGaljjM7qAfab/duP2JBVf6k66uYg7FT58t7Bs0lONDuF4quaW9jHb7kCL6
         /xaw==
X-Gm-Message-State: AOAM532QMf/SZKDxCi0dRVcnjOqGq0Aw/p81aAF+fInpkztg9+FbD9qQ
	otWN1no+NwDMkf+3j/NXPMs=
X-Google-Smtp-Source: ABdhPJyqsz0tFQpZ391Gbd2WtohWCiEYAQazBQSMyK1FU/M8NvvwgFhQYf4fxxl0yR10HGRivc24Zg==
X-Received: by 2002:a2e:a364:: with SMTP id i4mr232528ljn.501.1628533480917;
        Mon, 09 Aug 2021 11:24:40 -0700 (PDT)
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
To: Julien Grall <julien@xen.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <80fafc01-f063-d6e5-1c08-7ad64550310c@citrix.com>
 <e8db3021-78a5-e040-a70b-62ca5b500149@xen.org>
 <4de5ed21-379e-b618-44c8-924d88b1a519@citrix.com>
 <bbc7f597-5249-20a0-cac9-13f594268299@xen.org>
 <6a633f4e-13e0-4a2b-cf6e-35ef90ae977c@gmail.com>
 <alpine.DEB.2.21.2107301630510.10122@sstabellini-ThinkPad-T480s>
 <f6b2e6c6-bf58-960f-4a09-f05ebcf1f566@gmail.com>
 <5643d414-0b76-74a4-2c37-c7a99338d547@gmail.com>
 <c83378af-4d3b-9256-0e0d-f88c43c6de2f@xen.org>
 <alpine.DEB.2.21.2108051720210.18743@sstabellini-ThinkPad-T480s>
 <6596ad08-8398-64dd-ef62-cd7bc6f7333e@gmail.com>
 <bc576a23-d107-c67d-8dca-62691e5eea1a@xen.org>
From: Oleksandr <olekstysh@gmail.com>
Message-ID: <1d0ea55d-2e5a-daa7-9c60-c7a1c4b48fa1@gmail.com>
Date: Mon, 9 Aug 2021 21:24:39 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.10.0
MIME-Version: 1.0
In-Reply-To: <bc576a23-d107-c67d-8dca-62691e5eea1a@xen.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Content-Language: en-US


On 09.08.21 18:42, Julien Grall wrote:
> Hi Oleksandr,


Hi Julien.


Thank you for the input.


>
> On 07/08/2021 18:03, Oleksandr wrote:
>>
>> On 06.08.21 03:30, Stefano Stabellini wrote:
>>
>> Hi Stefano
>>
>>> On Wed, 4 Aug 2021, Julien Grall wrote:
>>>>> +#define GUEST_SAFE_RANGE_BASE xen_mk_ullong(0xDE00000000) /* 
>>>>> 128GB */
>>>>> +#define GUEST_SAFE_RANGE_SIZE xen_mk_ullong(0x0200000000)
>>>>>
>>>>> While the possible new DT bindings has not been agreed yet, I re-used
>>>>> existing "reg" property under the hypervisor node to pass safe 
>>>>> range as a
>>>>> second region,
>>>>> https://elixir.bootlin.com/linux/v5.14-rc4/source/Documentation/devicetree/bindings/arm/xen.txt#L10: 
>>>>>
>>>> So a single region works for a guest today, but for dom0 we will 
>>>> need multiple
>>>> regions because it is may be difficult to find enough contiguous 
>>>> space for a
>>>> single region.
>>>>
>>>> That said, as dom0 is mapped 1:1 (including some guest mapping), 
>>>> there is also
>>>> the question where to allocate the safe region. For grant table, we 
>>>> so far
>>>> re-use the Xen address space because it is assumed it will space 
>>>> will always
>>>> be bigger than the grant table.
>>>>
>>>> I am not sure yet where we could allocate the safe regions. 
>>>> Stefano, do you
>>>> have any ideas?
>>> The safest choice would be the address range corresponding to memory
>>> (/memory) not already allocated to Dom0.
>>>
>>> For instance from my last boot logs:
>>> (XEN) Allocating 1:1 mappings totalling 1600MB for dom0:
>>> (XEN) BANK[0] 0x00000010000000-0x00000070000000 (1536MB)
>>> (XEN) BANK[1] 0x00000078000000-0x0000007c000000 (64MB)
>>>
>>> All the other ranges could be given as unallocated space:
>>>
>>> - 0x0 - 0x10000000
>>> - 0x70000000 - 0x78000000
>>> - 0x8_0000_0000 - 0x8_8000_0000
>>
>> Thank you for the ideas.
>>
>> If I got the idea correctly, yes, as these ranges represent the real 
>> RAM, so no I/O would be in conflict with them and as the result - no 
>> overlaps would be expected.
>> But, I wonder, would this work if we have IOMMU enabled for Dom0 and 
>> need to establish 1:1 mapping for the DMA devices to work with grant 
>> mappings...
>> In arm_iommu_map_page() we call guest_physmap_add_entry() with gfn = 
>> mfn, so the question is could we end up with this new gfn replacing 
>> the valid mapping
>> (with gfn allocated from the safe region)?
>
> Right, when we enable the IOMMU for dom0, Xen will add an extra 
> mapping with GFN == MFN for foreign and grant pages. This is because 
> Linux is not aware that whether a device is protected by an IOMMU. 
> Therefore it is assuming it is not and will use the MFN to configure 
> for DMA transaction.
>
> We can't remove the mapping without significant changes in Linux and 
> Xen. I would not mandate them for this work.
>
> That said, I think it would be acceptable to have different way to 
> find the region depending on the dom0 configuration. So we could use 
> the RAM not used by dom0 when the IOMMU is turned off.

OK


>
>>> The second best choice would be an hole: an address range not used by
>>> anybody else (no reg property) and also not even mappable by a bus (not
>>> covered by a ranges property). This is not the best choice because 
>>> there
>>> can cases where physical resources appear afterwards.
>
> Are you saying that the original device-tree doesn't even describe 
> them in any way (i.e. reserved...)?
>
>>
>> Unfortunately, yes.
>
> So the decision where the safe region is located will be done by Xen. 
> There is no involvement of the domain (it will discover the region 
> from the DT). Therefore, I don't think we need to think about 
> everything right now as we could adapt this is exact region is not 
> part of the stable ABI.
>
> The hotplug is one I would defer because this is not supported (and 
> quite likely not working) in Xen upstream today.

Sounds reasonable.


>
>
> Now regarding the case where dom0 is using the IOMMU. The assumption 
> is Xen will be able to figure out all the regions used from the 
> firmware table (ACPI or DT).
>
> AFAIK, this assumption would be correct for DT. However, for ACPI, I 
> remember we were not able to find all the MMIOs region in Xen (see [1] 
> and [2]). So even this solution would not work for ACPI.
>
> If I am not mistaken, we don't support IOMMU with ACPI yet. So we 
> could defer the problem to when this is going to be supported.

Sounds reasonable.


To summarize:

0. Skip ACPI case for now, implement for DT case

1. If IOMMU is enabled for Dom0 -> provide holes found in Host DT as 
safe ranges

I would take into the account holes >= 1MB. I am wondering, do we need a 
special alignment here other than a PAGE_SIZE?

2. If IOMMU is disabled for Dom0 -> provide RAM which not assigned to 
Dom0 as safe ranges

We could even provide holes here as well.


>
>
> Cheers,
>
> [1] https://marc.info/?l=linux-arm-kernel&m=148469169210500&w=2
> [2] Xen commit 80f9c316708400cea4417e36337267d3b26591db
>
-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Mon Aug 09 19:40:02 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 19:40:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165207.301931 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDB7k-0001xC-F2; Mon, 09 Aug 2021 19:39:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165207.301931; Mon, 09 Aug 2021 19: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 1mDB7k-0001x5-C9; Mon, 09 Aug 2021 19:39:48 +0000
Received: by outflank-mailman (input) for mailman id 165207;
 Mon, 09 Aug 2021 19:39: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 1mDB7j-0001wu-2i; Mon, 09 Aug 2021 19:39: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 1mDB7i-0004N2-Rl; Mon, 09 Aug 2021 19:39: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 1mDB7i-0002d7-Gx; Mon, 09 Aug 2021 19:39:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mDB7i-0006NB-GB; Mon, 09 Aug 2021 19:39:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=kQMxKNt03zM0ZiTozTIoiOzo0N6xz3wpL2kxwVUaXnM=; b=pbhXisk9AJiy9QxpvRdD3FhNJ+
	3pSrkqzFE6PgYN/uRdC5L7bmFdjNLxToDguEbOeQUUb28VSvPj6hWdjP6WFl+Q2xeAKHqjoMMWdiM
	PbeD6C67NuluPRovvGvkTWJ/wej63VjdOPdrZzGtMF/uJdBNIpbuIRmG9gVA7VvAzm5o=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164143-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164143: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-qemuu-freebsd11-amd64:guest-start/freebsd.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:leak-check/check:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-shadow:guest-start:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-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-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=36a21d51725af2ce0700c6ebcb6b9594aac658a6
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 09 Aug 2021 19:39:46 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop              fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 20 guest-stop               fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      14 guest-start    fail in 164138 REGR. vs. 152332

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-qemuu-freebsd11-amd64 21 guest-start/freebsd.repeat fail in 164138 pass in 164143
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 21 leak-check/check fail in 164138 pass in 164143
 test-amd64-amd64-xl-shadow   14 guest-start                fail pass in 164138
 test-arm64-arm64-xl-xsm      13 debian-fixup               fail pass in 164138

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

version targeted for testing:
 linux                36a21d51725af2ce0700c6ebcb6b9594aac658a6
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  373 days
Failing since        152366  2020-08-01 20:49:34 Z  372 days  654 attempts
Testing same since   164138  2021-08-09 02:22:58 Z    0 days    2 attempts

------------------------------------------------------------
6781 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Aug 09 20:39:24 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 20:39:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165214.301946 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDC31-0007dQ-0m; Mon, 09 Aug 2021 20:38:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165214.301946; Mon, 09 Aug 2021 20: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 1mDC30-0007dJ-To; Mon, 09 Aug 2021 20:38:58 +0000
Received: by outflank-mailman (input) for mailman id 165214;
 Mon, 09 Aug 2021 20:38:57 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mDC2z-0007dD-3d
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 20:38:57 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mDC2x-0005QF-Vn; Mon, 09 Aug 2021 20:38:55 +0000
Received: from [54.239.6.184] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mDC2x-0005Qq-LE; Mon, 09 Aug 2021 20:38:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:References:Cc:To:From:Subject;
	bh=9WnVbSbzJtUjbheYdp4cvCPVLArA8qsgxr5UasRIav4=; b=JsOuYau7Pkk2vtq1XVG64RSvD5
	UOxr8sIkITg2ibhliR5A0gH0IAsYH7cZmUDDdhg6VtYmAQAu4TsGKTqPX6vDR06Mf+pqUu41dbzUh
	8gO6i0LMYCYOSplMzTfVjZWkKWWdKrehCRNbreuvo00/MvFhionTUF0HVt2pC0PA4j60=;
Subject: Re: NULL scheduler DoS
From: Julien Grall <julien@xen.org>
To: "Ahmed, Daniele" <ahmeddan@amazon.co.uk>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Dario Faggioli <dfaggioli@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "Grall, Julien" <jgrall@amazon.co.uk>, "Doebel, Bjoern" <doebel@amazon.de>,
 "Pohlack, Martin" <mpohlack@amazon.de>
References: <ED25BE5E-D695-4763-B97A-78D6040E2341@amazon.com>
 <8193a685-3ab1-9407-75f3-e335ea4406e4@xen.org>
Message-ID: <f3082b8c-1388-c92b-6175-e6d8b9d4cab4@xen.org>
Date: Mon, 9 Aug 2021 21:38:53 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <8193a685-3ab1-9407-75f3-e335ea4406e4@xen.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit



On 09/08/2021 18:35, Julien Grall wrote:
> 
> 
> On 09/08/2021 17:19, Ahmed, Daniele wrote:
>> Hi all,
> 
> Hi Daniele,
> 
> Thank you for the report!
> 
>> The NULL scheduler is affected by an issue that triggers an assertion 
>> and reboots the hypervisor.
>>
>> This issue arise when:
>>
>>   * a guest is being created with a configuration specifying a file that
>>     does not exist
>>   * the hypervisor boots with the null scheduler
>>
>> 4.16 is affected and 4.15 also.
>>
>> This is the stack trace from 4.16:
>>
>> (XEN) Assertion 'npc->unit == unit' failed at null.c:377
>> (XEN) ----[ Xen-4.16-unstable x86_64 debug=y Not tainted ]----
>> (XEN) CPU: 3
>> (XEN) RIP: e008:[<ffff82d04024f577>] 
>> common/sched/null.c#unit_deassign+0x1c3/0x2ec
>> (XEN) RFLAGS: 0000000000010006 CONTEXT: hypervisor
>> (XEN) rax: ffff83005ce1c850 rbx: 0000000000000001 rcx: 0000000000000001
>> (XEN) rdx: ffff83007fde6fc0 rsi: ffff83005ce1c790 rdi: ffff83007ffb7850
>> (XEN) rbp: ffff83007ffdfda0 rsp: ffff83007ffdfd48 r8: 0000000000000000
>> (XEN) r9: 0000000000048fee r10: 0000000000000000 r11: 0000000000000000
>> (XEN) r12: ffff82d0405c9298 r13: ffff83007f7fd508 r14: ffff83005ce1c850
>> (XEN) r15: ffff82d0405e2680 cr0: 000000008005003b cr4: 00000000003526e0
>> (XEN) cr3: 000000007f6b3000 cr2: ffff888072e79dc0
>> (XEN) fsb: 0000000000000000 gsb: ffff888071ac0000 gss: 0000000000000000
>> (XEN) ds: 002b es: 002b fs: 0000 gs: 0000 ss: e010 cs: e008
>> (XEN) Xen code around <ffff82d04024f577> 
>> (common/sched/null.c#unit_deassign+0x1c3/0x2ec):
>> (XEN) 41 5e 41 5f 5d c3 0f 0b <0f> 0b 0f 0b 0f 0b 0f 0b 49 8b 04 24 0f 
>> b7 00 66
>> (XEN) Xen stack trace from rsp=ffff83007ffdfd48:
>> (XEN) ffff83007ffdfd88 ffff82d04023961c 0000000400000000 ffff83005ce1cc50
>> (XEN) 0000000000000002 ffff83007ffdfd90 ffff83005ce1c790 ffff82d0405c9298
>> (XEN) ffff83007f7fd508 ffff83005ce1c850 ffff82d0405e2680 ffff83007ffdfde0
>> (XEN) ffff82d04024f889 ffff83007ffb7850 ffff83005dd63000 ffff83005ce1c790
>> (XEN) ffff83005845ab28 ffff83005845a000 0000000000000000 ffff83007ffdfe00
>> (XEN) ffff82d040253326 ffff83005dd63000 0000000000000000 ffff83007ffdfe38
>> (XEN) ffff82d04020506b ffff83007a881080 0000000000000000 0000000000000000
>> (XEN) 0000000000000000 ffff82d0405d6f80 ffff83007ffdfe70 ffff82d04022d9e5
>> (XEN) 0000001100000003 ffff82d0405cf100 ffff82d0405cf100 ffffffffffffffff
>> (XEN) ffff82d0405cef80 ffff83007ffdfea8 ffff82d04022e14b 0000000000000003
>> (XEN) ffff82d0405cf100 0000000000007fff 0000000000000003 0000000000000003
>> (XEN) ffff83007ffdfeb8 ffff82d04022e1e6 ffff83007ffdfef0 ffff82d0403172b4
>> (XEN) ffff82d04031721d ffff83007fec1000 ffff83007ffb6000 0000000000000003
>> (XEN) ffff83007ffcc000 ffff83007ffdfe18 0000000000000000 0000000000000000
>> (XEN) 0000000000000000 0000000000000000 0000000000000003 0000000000000003
>> (XEN) 0000000000000246 0000000000000003 0000000000000000 000000001bf9dde5
>> (XEN) 0000000000000000 ffffffff810023aa 0000000000000003 deadbeefdeadf00d
>> (XEN) deadbeefdeadf00d 0000010000000000 ffffffff810023aa 000000000000e033
>> (XEN) 0000000000000246 ffffc900400a3ea8 000000000000e02b 7ffdff707fffd140
>> (XEN) 000000017fe37a6c 000000007ffe8010 0000000000000000 0000e01000000003
>> (XEN) Xen call trace:
>> (XEN) [<ffff82d04024f577>] R 
>> common/sched/null.c#unit_deassign+0x1c3/0x2ec
>> (XEN) [<ffff82d04024f889>] F 
>> common/sched/null.c#null_unit_remove+0xfc/0x136
>> (XEN) [<ffff82d040253326>] F sched_destroy_vcpu+0xca/0x199
>> (XEN) [<ffff82d04020506b>] F 
>> common/domain.c#complete_domain_destroy+0x68/0x13f
>> (XEN) [<ffff82d04022d9e5>] F 
>> common/rcupdate.c#rcu_process_callbacks+0xdb/0x24b
>> (XEN) [<ffff82d04022e14b>] F common/softirq.c#__do_softirq+0x8a/0xbc
>> (XEN) [<ffff82d04022e1e6>] F do_softirq+0x13/0x15
>> (XEN) [<ffff82d0403172b4>] F arch/x86/domain.c#idle_loop+0x97/0xee
>> (XEN)
>> (XEN)
>> (XEN) ****************************************
>> (XEN) Panic on CPU 3:
>> (XEN) Assertion 'npc->unit == unit' failed at null.c:377
>> (XEN) ****************************************
>> (XEN)
>> (XEN) Reboot in five seconds...
>>
>> This is the line of the assertion that triggers the reboot: 
>> https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/common/sched/null.c;h=82d5d1baab853d24fcbb455fb3f3e8263c871277;hb=HEAD#l377 
>> <https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/common/sched/null.c;h=82d5d1baab853d24fcbb455fb3f3e8263c871277;hb=HEAD#l377> 
>>
>>
>> To reproduce the vulnerability, I took the following steps:
> 
> Just to make clear for the others in the thread, per SUPPORT.MD, the 
> NULL scheduler is not security supported. Hence why this is sent to 
> xen-devel directly.
> 
> Also, for completeness, debug build are also not security supported. On 
> production build, the ASSERT() would be turned to a NOP which could 
> result to potentially more interesting issue. Anyway, that's not a 
> problem here. :)
> 
>>
>>   * Install XEN; only 4.15+ seem to be vulnerable
>>   * Use the null scheduler (depends on your setup): edit
>>     /etc/default/grub adding at the end of the file:
>>     GRUB_CMDLINE_XEN="sched=null" and update grub
>>   * Reboot into xen
>>   * Create a file guest.cfg with the following contents
>>
>> name="guest"
>> builder="hvm"
>> memory=512
>>
>> serial = [ 'file:/tmp/log', 'pty' ]
>>
>> disk = [ '/home/user/boot.iso,,hdc,cdrom' ]
>>
>> on_reboot = "destroy"
>>
>> vcpus=1
>>
>>
>> Make sure that the file //home/user/boot.iso/ does not exist
>>
>>   * Create a guest with this configuration: xl create -c guest.cfg
>>
>> CC’ing Dario, Stefano and Julien to whom I’ve shown this.
> 
> I am not quite too sure where the problem lies yet but adding some more 
> information of the debugging we discussed together.
> 
> The ASSERT() is triggered because the pCPU was already assigned to one 
> of the dom0 vCPU. This problem is happening regardless whether there is 
> free pCPU.
> 
> I have added some debugging in sched_set_res():
> 
> diff --git a/xen/common/sched/private.h b/xen/common/sched/private.h
> index a870320146ef..2355f531dc13 100644
> --- a/xen/common/sched/private.h
> +++ b/xen/common/sched/private.h
> @@ -150,6 +150,10 @@ static inline void sched_set_res(struct sched_unit 
> *unit,
>       unsigned int cpu = cpumask_first(res->cpus);
>       struct vcpu *v;
> 
> +    printk("%s: res->master_cpu %u unit %p %pd %pv\n", __func__,
> +           res->master_cpu, unit, unit->domain, unit->vcpu_list);
> +    WARN();
> +
>       for_each_sched_unit_vcpu ( unit, v )
>       {
>           ASSERT(cpu < nr_cpu_ids);
> 
> This traced the problem to null_unit_migrate():
> 
> 
> (XEN) sched_set_res: res->master_cpu 0 unit ffff830200887f00 d1 d1v0
> (XEN) Xen WARN at private.h:155
> (XEN) ----[ Xen-4.16-unstable  x86_64  debug=y  Tainted:   C   ]----
> (XEN) CPU:    1
> (XEN) RIP:    e008:[<ffff82d04023fd9f>] core.c#sched_set_res+0x5b/0xc6
> (XEN) RFLAGS: 0000000000010286   CONTEXT: hypervisor (d0v1)
> (XEN) rax: ffff83027bf55038   rbx: 0000000000000000   rcx: 0000000000000000
> (XEN) rdx: ffff83027bf4ffff   rsi: 000000000000000a   rdi: ffff82d0404944b8
> (XEN) rbp: ffff83027bf4fc70   rsp: ffff83027bf4fc40   r8:  0000000000000004
> (XEN) r9:  0000000000000030   r10: ffff83027bf4fcf8   r11: 00000000fffffffd
> (XEN) r12: ffff830275e83000   r13: ffff830275e8d000   r14: ffff830200887f00
> (XEN) r15: ffff83027bf850a0   cr0: 0000000080050033   cr4: 00000000003526e0
> (XEN) cr3: 00000001f1e3d000   cr2: 0000563f71516088
> (XEN) fsb: 00007f6561cda780   gsb: ffff88817fe80000   gss: 0000000000000000
> (XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: e010   cs: e008
> (XEN) Xen code around <ffff82d04023fd9f> (core.c#sched_set_res+0x5b/0xc6):
> (XEN)  14 18 00 e8 e7 7f 00 00 <0f> 0b 4d 8b 66 08 4d 85 e4 75 28 4d 89 
> 7e 20 48
> (XEN) Xen stack trace from rsp=ffff83027bf4fc40:
> (XEN)    ffff83027bf85118 ffff830200887f00 ffff830275e83000 
> ffff830275e8d000
> (XEN)    0000000000000000 ffff83027bf552a0 ffff83027bf4fce0 
> ffff82d040241614
> (XEN)    ffff82d040226393 0000000000000286 ffff83027bf822e8 
> 0000000175e8d000
> (XEN)    ffff830200887f00 ffff83027bf552a0 ffff830275e83000 
> ffff83027bf4fcf8
> (XEN)    ffff830275e8d000 ffff830275e8d000 0000000000000001 
> 0000000000000000
> (XEN)    ffff83027bf4fd40 ffff82d04020527d ffff82d04020527d 
> 0000000000000000
> (XEN)    0000000000000000 ffff83027bf4fd30 0000000000000000 
> 0000000000000000
> (XEN)    ffff830275e8d000 00007f65620f6010 0000000000000001 
> ffff82d040238319
> (XEN)    ffff83027bf4fe58 ffff82d040238dd9 00000000001f1eae 
> 0000000000000004
> (XEN)    ffff83027bee4001 8000000000000000 ffff83027bf4fdc0 
> ffff82d04032e6df
> (XEN)    000000044032e6df 0000000000000000 ffff82e003e3e120 
> 000000140000000f
> (XEN)    00007f6561d90001 0000559a00000001 0000000000000014 
> 0000559ad9c303e0
> (XEN)    0000000000000008 0000559ad9c303e0 0000559ad9c31170 
> 0000559ad9c303c0
> (XEN)    0000000000000000 00007ffd4ed54b60 0000559ad9c309a0 
> 00007ffd4ed54c50
> (XEN)    0000000000000000 0000559ad9c38240 0000559ad9c32570 
> 00007ffd4ed54f00
> (XEN)    0000559ad9c31170 ffff83027bf4fef8 0000000000000000 
> 0000000000000001
> (XEN)    deadbeefdeadf00d ffff83027bec0000 ffff82d040238319 
> ffff83027bf4fee8
> (XEN)    ffff82d04030d8bc 00007f65620f6010 deadbeefdeadf00d 
> deadbeefdeadf00d
> (XEN)    deadbeefdeadf00d deadbeefdeadf00d ffff82d04038821c 
> ffff82d040388228
> (XEN)    ffff82d04038821c ffff82d040388228 ffff82d04038821c 
> ffff82d040388228
> (XEN) Xen call trace:
> (XEN)    [<ffff82d04023fd9f>] R core.c#sched_set_res+0x5b/0xc6
> (XEN)    [<ffff82d040241614>] F sched_init_vcpu+0x3dc/0x5d7
> (XEN)    [<ffff82d04020527d>] F vcpu_create+0xfb/0x37a
> (XEN)    [<ffff82d040238dd9>] F do_domctl+0xac0/0x184a
> (XEN)    [<ffff82d04030d8bc>] F pv_hypercall+0x10d/0x2b8
> (XEN)    [<ffff82d04038829d>] F lstar_enter+0x12d/0x140
> (XEN)
> 
> The end of the function contains an interesting comment:
> 
>      /*
>       * Whatever all the above, we always at least override v->processor.
>       * This is especially important for shutdown or suspend/resume paths,
>       * when it is important to let our caller (cpu_disable_scheduler())
>       * know that the migration did happen, to the best of our 
> possibilities,
>       * at least. In case of suspend, any temporary inconsistency caused
>       * by this, will be fixed-up during resume.
>       */
> 
> This implies that a pCPU may temporarily be assigned to two vCPUs and we 
> expect to be fixed up afterwards. However, a domain may be destroyed 
> before this is happening.
> 
> So it looks like that unit_deassign() is not able to cope with this 
> case. From a brief look, I think we may want to check if the pCPU is in 
> the wait list. If it is, then we should bail out.

Actually, I was wrong. It looks like null_unit_remove() is already 
checking this condition. Also, the vCPU should be offline (and the unit 
as well) because they haven't come online yet:

     /*
      * If a unit is (going) offline, we want it to be neither assigned
      * to a pCPU, nor in the waitqueue.
      *
      * If it was on a cpu, we've removed it from there above. If it is
      * in the waitqueue, we remove it from there now. And then we bail.
      */
     if ( unlikely(!is_unit_online(unit)) )
     {
         spin_lock(&prv->waitq_lock);
         list_del_init(&nvc->waitq_elem);
         spin_unlock(&prv->waitq_lock);
         goto out;
     }

[...]

  out:
     sched_set_res(unit, get_sched_res(new_cpu));

The jump to out looks suspicious because the comment on top says "We 
want it to be neither assigned to a pCPU, nor in the waitqueue". So 
maybe we should replace the goto out by a return?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 09 20:45:58 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 20:45:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165220.301957 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDC9b-0000gD-Ra; Mon, 09 Aug 2021 20:45:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165220.301957; Mon, 09 Aug 2021 20:45:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDC9b-0000g6-Oh; Mon, 09 Aug 2021 20:45:47 +0000
Received: by outflank-mailman (input) for mailman id 165220;
 Mon, 09 Aug 2021 20:45:47 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mDC9b-0000g0-2v
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 20:45:47 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mDC9P-0005Yr-Sr; Mon, 09 Aug 2021 20:45:35 +0000
Received: from [54.239.6.180] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mDC9P-0006ET-JV; Mon, 09 Aug 2021 20: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:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=K4fmeYLGjWCQME8yPAl18M1ump0nTLjiBviN/SWYVUQ=; b=X1rTxxhfHfnZGEDDSlYCemYoQj
	e0oufnwNROwF99qQGxMNORnAikesMEYP6uYVnSJlShfNSZriTU9gVKGokP4Bu0uMj30AK23ZztQi4
	nJpEKw6i64clRxxmvht2TSln1IGdsASwTun/bHh34T/CKDBMYynOLcYhv7FAcKGmA72Q=;
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
To: Oleksandr <olekstysh@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <80fafc01-f063-d6e5-1c08-7ad64550310c@citrix.com>
 <e8db3021-78a5-e040-a70b-62ca5b500149@xen.org>
 <4de5ed21-379e-b618-44c8-924d88b1a519@citrix.com>
 <bbc7f597-5249-20a0-cac9-13f594268299@xen.org>
 <6a633f4e-13e0-4a2b-cf6e-35ef90ae977c@gmail.com>
 <alpine.DEB.2.21.2107301630510.10122@sstabellini-ThinkPad-T480s>
 <f6b2e6c6-bf58-960f-4a09-f05ebcf1f566@gmail.com>
 <5643d414-0b76-74a4-2c37-c7a99338d547@gmail.com>
 <c83378af-4d3b-9256-0e0d-f88c43c6de2f@xen.org>
 <alpine.DEB.2.21.2108051720210.18743@sstabellini-ThinkPad-T480s>
 <6596ad08-8398-64dd-ef62-cd7bc6f7333e@gmail.com>
 <bc576a23-d107-c67d-8dca-62691e5eea1a@xen.org>
 <1d0ea55d-2e5a-daa7-9c60-c7a1c4b48fa1@gmail.com>
From: Julien Grall <julien@xen.org>
Message-ID: <6947db7a-44d3-eb5f-c93e-1c1b88c62f29@xen.org>
Date: Mon, 9 Aug 2021 21:45:31 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <1d0ea55d-2e5a-daa7-9c60-c7a1c4b48fa1@gmail.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit



On 09/08/2021 19:24, Oleksandr wrote:
> 
> On 09.08.21 18:42, Julien Grall wrote:
>> Hi Oleksandr,
> 
> 
> Hi Julien.
> 
> 
> Thank you for the input.
> 
> 
>>
>> On 07/08/2021 18:03, Oleksandr wrote:
>>>
>>> On 06.08.21 03:30, Stefano Stabellini wrote:
>>>
>>> Hi Stefano
>>>
>>>> On Wed, 4 Aug 2021, Julien Grall wrote:
>>>>>> +#define GUEST_SAFE_RANGE_BASE xen_mk_ullong(0xDE00000000) /* 
>>>>>> 128GB */
>>>>>> +#define GUEST_SAFE_RANGE_SIZE xen_mk_ullong(0x0200000000)
>>>>>>
>>>>>> While the possible new DT bindings has not been agreed yet, I re-used
>>>>>> existing "reg" property under the hypervisor node to pass safe 
>>>>>> range as a
>>>>>> second region,
>>>>>> https://elixir.bootlin.com/linux/v5.14-rc4/source/Documentation/devicetree/bindings/arm/xen.txt#L10: 
>>>>>>
>>>>> So a single region works for a guest today, but for dom0 we will 
>>>>> need multiple
>>>>> regions because it is may be difficult to find enough contiguous 
>>>>> space for a
>>>>> single region.
>>>>>
>>>>> That said, as dom0 is mapped 1:1 (including some guest mapping), 
>>>>> there is also
>>>>> the question where to allocate the safe region. For grant table, we 
>>>>> so far
>>>>> re-use the Xen address space because it is assumed it will space 
>>>>> will always
>>>>> be bigger than the grant table.
>>>>>
>>>>> I am not sure yet where we could allocate the safe regions. 
>>>>> Stefano, do you
>>>>> have any ideas?
>>>> The safest choice would be the address range corresponding to memory
>>>> (/memory) not already allocated to Dom0.
>>>>
>>>> For instance from my last boot logs:
>>>> (XEN) Allocating 1:1 mappings totalling 1600MB for dom0:
>>>> (XEN) BANK[0] 0x00000010000000-0x00000070000000 (1536MB)
>>>> (XEN) BANK[1] 0x00000078000000-0x0000007c000000 (64MB)
>>>>
>>>> All the other ranges could be given as unallocated space:
>>>>
>>>> - 0x0 - 0x10000000
>>>> - 0x70000000 - 0x78000000
>>>> - 0x8_0000_0000 - 0x8_8000_0000
>>>
>>> Thank you for the ideas.
>>>
>>> If I got the idea correctly, yes, as these ranges represent the real 
>>> RAM, so no I/O would be in conflict with them and as the result - no 
>>> overlaps would be expected.
>>> But, I wonder, would this work if we have IOMMU enabled for Dom0 and 
>>> need to establish 1:1 mapping for the DMA devices to work with grant 
>>> mappings...
>>> In arm_iommu_map_page() we call guest_physmap_add_entry() with gfn = 
>>> mfn, so the question is could we end up with this new gfn replacing 
>>> the valid mapping
>>> (with gfn allocated from the safe region)?
>>
>> Right, when we enable the IOMMU for dom0, Xen will add an extra 
>> mapping with GFN == MFN for foreign and grant pages. This is because 
>> Linux is not aware that whether a device is protected by an IOMMU. 
>> Therefore it is assuming it is not and will use the MFN to configure 
>> for DMA transaction.
>>
>> We can't remove the mapping without significant changes in Linux and 
>> Xen. I would not mandate them for this work.
>>
>> That said, I think it would be acceptable to have different way to 
>> find the region depending on the dom0 configuration. So we could use 
>> the RAM not used by dom0 when the IOMMU is turned off.
> 
> OK
> 
> 
>>
>>>> The second best choice would be an hole: an address range not used by
>>>> anybody else (no reg property) and also not even mappable by a bus (not
>>>> covered by a ranges property). This is not the best choice because 
>>>> there
>>>> can cases where physical resources appear afterwards.
>>
>> Are you saying that the original device-tree doesn't even describe 
>> them in any way (i.e. reserved...)?
>>
>>>
>>> Unfortunately, yes.
>>
>> So the decision where the safe region is located will be done by Xen. 
>> There is no involvement of the domain (it will discover the region 
>> from the DT). Therefore, I don't think we need to think about 
>> everything right now as we could adapt this is exact region is not 
>> part of the stable ABI.
>>
>> The hotplug is one I would defer because this is not supported (and 
>> quite likely not working) in Xen upstream today.
> 
> Sounds reasonable.
> 
> 
>>
>>
>> Now regarding the case where dom0 is using the IOMMU. The assumption 
>> is Xen will be able to figure out all the regions used from the 
>> firmware table (ACPI or DT).
>>
>> AFAIK, this assumption would be correct for DT. However, for ACPI, I 
>> remember we were not able to find all the MMIOs region in Xen (see [1] 
>> and [2]). So even this solution would not work for ACPI.
>>
>> If I am not mistaken, we don't support IOMMU with ACPI yet. So we 
>> could defer the problem to when this is going to be supported.
> 
> Sounds reasonable.
> 
> 
> To summarize:
> 
> 0. Skip ACPI case for now, implement for DT case

Just to be clear, I suggested to skip it when the IOMMU is enabled with 
ACPI. We should still support the case without IOMMU. The implementation 
would be the same as 2.

> 
> 1. If IOMMU is enabled for Dom0 -> provide holes found in Host DT as 
> safe ranges
> 
> I would take into the account holes >= 1MB.

May I ask why 1MB?

> I am wondering, do we need a 
> special alignment here other than a PAGE_SIZE?

It needs to be 64KB aligned so a guest using 64KB pages can use it.

> 
> 2. If IOMMU is disabled for Dom0 -> provide RAM which not assigned to 
> Dom0 as safe ranges
> 
> We could even provide holes here as well.

I would rather not. We likely need hack for the hotplug case. So I want 
to keep them contained to IOMMU unless there is a strong reason to do it.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 09 21:18:41 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 21:18:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165227.301967 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDCf3-0003t2-AY; Mon, 09 Aug 2021 21:18:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165227.301967; Mon, 09 Aug 2021 21: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 1mDCf3-0003sv-7d; Mon, 09 Aug 2021 21:18:17 +0000
Received: by outflank-mailman (input) for mailman id 165227;
 Mon, 09 Aug 2021 21:18:16 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YQI5=NA=gmail.com=olekstysh@srs-us1.protection.inumbo.net>)
 id 1mDCf2-0003sp-Bh
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 21:18:16 +0000
Received: from mail-lj1-x236.google.com (unknown [2a00:1450:4864:20::236])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id d407643c-4274-442c-a22c-26e546c58fde;
 Mon, 09 Aug 2021 21:18:14 +0000 (UTC)
Received: by mail-lj1-x236.google.com with SMTP id u13so25651072lje.5
 for <xen-devel@lists.xenproject.org>; Mon, 09 Aug 2021 14:18:14 -0700 (PDT)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id d25sm1835311lfj.212.2021.08.09.14.18.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Aug 2021 14: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: d407643c-4274-442c-a22c-26e546c58fde
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-transfer-encoding:content-language;
        bh=hcF6HxulkfW0ZKQVQPuq3/4ISQfYizGdaatRS+hv18c=;
        b=DOOc6pPdoVvqF9otf8x0fnfxfUOzQ6K0GXQiSb/lqQPJTwhz0mnrQrzYm2fjFZO3eJ
         UdT5BhpOhWZ8GqVymEdKh2sO9M512tmDXuNHdSGgakgKKwcZj2pkDLMcSJN0LV3dnVkT
         jg+V09i/fk+QgtKpn5aMas1U9yZt6sJ1C+YE6qzqVRTsfWoa8LMWhBijrWBsmSGAMO7K
         5DsogyKymZttebAhBGUz1KqY0l+Nr2AGciYr95gHY5xfCh1NmV9fevuMjuDGDCwWPQ6Z
         ON1kX5/MuiVjWucTpL6ETLGMy3D5BTI1pZZ+lk6IQLgeDjnSVgeXl0NZHwAqCfTqnBHz
         J49Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-transfer-encoding
         :content-language;
        bh=hcF6HxulkfW0ZKQVQPuq3/4ISQfYizGdaatRS+hv18c=;
        b=VJsX1CvbmBpOYZ/yr8hEt392dvBjDpXNRc7rbGvyqbeUq3TcfCT5nux3Vy3eUmqGnb
         dLD2VFri/Djui0tcP2jpx+5eeRXmGHrmdDZZ/t1HMGt1+eFh8ws7+Qwr7NYuEoNGbWh0
         fO28e+vu8JlJMjFvVGcoST1ygIxS4Vr7sYb2p6yTgbQytnEUfxr9w3AhLCfczQueCxzB
         TRSeB8zDUqMaw1eY1YSvvpLOyeNgxnccXmhTROfS4yZ54IBZbZ7m4SI/+Sx5+kZ6sW/K
         ViGfTWc26S72zA5/YJgccY7KGb3mMIDCoLcjMhRWnwUaZ5Bok1HoRwovLwm7QQQxWaKv
         ANQQ==
X-Gm-Message-State: AOAM5310GiYtsjzgkKXzJmqTt0djNsJ8KiOnoQuR1ifCRTFmbj5cqZaK
	zfEfJeTo7GXGlZy5Im8JomI=
X-Google-Smtp-Source: ABdhPJy7EZ/87PBoLkTucG/pMJkDMX96uvj9nT9QF/SNTqvidVN8+0cPmrfbdKi45/s2HL0CYpIuCQ==
X-Received: by 2002:a05:651c:4cc:: with SMTP id e12mr11187678lji.369.1628543893814;
        Mon, 09 Aug 2021 14:18:13 -0700 (PDT)
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
To: Julien Grall <julien@xen.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <80fafc01-f063-d6e5-1c08-7ad64550310c@citrix.com>
 <e8db3021-78a5-e040-a70b-62ca5b500149@xen.org>
 <4de5ed21-379e-b618-44c8-924d88b1a519@citrix.com>
 <bbc7f597-5249-20a0-cac9-13f594268299@xen.org>
 <6a633f4e-13e0-4a2b-cf6e-35ef90ae977c@gmail.com>
 <alpine.DEB.2.21.2107301630510.10122@sstabellini-ThinkPad-T480s>
 <f6b2e6c6-bf58-960f-4a09-f05ebcf1f566@gmail.com>
 <5643d414-0b76-74a4-2c37-c7a99338d547@gmail.com>
 <c83378af-4d3b-9256-0e0d-f88c43c6de2f@xen.org>
 <alpine.DEB.2.21.2108051720210.18743@sstabellini-ThinkPad-T480s>
 <6596ad08-8398-64dd-ef62-cd7bc6f7333e@gmail.com>
 <bc576a23-d107-c67d-8dca-62691e5eea1a@xen.org>
 <1d0ea55d-2e5a-daa7-9c60-c7a1c4b48fa1@gmail.com>
 <6947db7a-44d3-eb5f-c93e-1c1b88c62f29@xen.org>
From: Oleksandr <olekstysh@gmail.com>
Message-ID: <736c38b3-0dfa-ccbf-6a6a-6da871f8aca0@gmail.com>
Date: Tue, 10 Aug 2021 00:18:12 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.10.0
MIME-Version: 1.0
In-Reply-To: <6947db7a-44d3-eb5f-c93e-1c1b88c62f29@xen.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Content-Language: en-US


On 09.08.21 23:45, Julien Grall wrote:


Hi Julien

>
>
> On 09/08/2021 19:24, Oleksandr wrote:
>>
>> On 09.08.21 18:42, Julien Grall wrote:
>>> Hi Oleksandr,
>>
>>
>> Hi Julien.
>>
>>
>> Thank you for the input.
>>
>>
>>>
>>> On 07/08/2021 18:03, Oleksandr wrote:
>>>>
>>>> On 06.08.21 03:30, Stefano Stabellini wrote:
>>>>
>>>> Hi Stefano
>>>>
>>>>> On Wed, 4 Aug 2021, Julien Grall wrote:
>>>>>>> +#define GUEST_SAFE_RANGE_BASE xen_mk_ullong(0xDE00000000) /* 
>>>>>>> 128GB */
>>>>>>> +#define GUEST_SAFE_RANGE_SIZE xen_mk_ullong(0x0200000000)
>>>>>>>
>>>>>>> While the possible new DT bindings has not been agreed yet, I 
>>>>>>> re-used
>>>>>>> existing "reg" property under the hypervisor node to pass safe 
>>>>>>> range as a
>>>>>>> second region,
>>>>>>> https://elixir.bootlin.com/linux/v5.14-rc4/source/Documentation/devicetree/bindings/arm/xen.txt#L10: 
>>>>>>>
>>>>>> So a single region works for a guest today, but for dom0 we will 
>>>>>> need multiple
>>>>>> regions because it is may be difficult to find enough contiguous 
>>>>>> space for a
>>>>>> single region.
>>>>>>
>>>>>> That said, as dom0 is mapped 1:1 (including some guest mapping), 
>>>>>> there is also
>>>>>> the question where to allocate the safe region. For grant table, 
>>>>>> we so far
>>>>>> re-use the Xen address space because it is assumed it will space 
>>>>>> will always
>>>>>> be bigger than the grant table.
>>>>>>
>>>>>> I am not sure yet where we could allocate the safe regions. 
>>>>>> Stefano, do you
>>>>>> have any ideas?
>>>>> The safest choice would be the address range corresponding to memory
>>>>> (/memory) not already allocated to Dom0.
>>>>>
>>>>> For instance from my last boot logs:
>>>>> (XEN) Allocating 1:1 mappings totalling 1600MB for dom0:
>>>>> (XEN) BANK[0] 0x00000010000000-0x00000070000000 (1536MB)
>>>>> (XEN) BANK[1] 0x00000078000000-0x0000007c000000 (64MB)
>>>>>
>>>>> All the other ranges could be given as unallocated space:
>>>>>
>>>>> - 0x0 - 0x10000000
>>>>> - 0x70000000 - 0x78000000
>>>>> - 0x8_0000_0000 - 0x8_8000_0000
>>>>
>>>> Thank you for the ideas.
>>>>
>>>> If I got the idea correctly, yes, as these ranges represent the 
>>>> real RAM, so no I/O would be in conflict with them and as the 
>>>> result - no overlaps would be expected.
>>>> But, I wonder, would this work if we have IOMMU enabled for Dom0 
>>>> and need to establish 1:1 mapping for the DMA devices to work with 
>>>> grant mappings...
>>>> In arm_iommu_map_page() we call guest_physmap_add_entry() with gfn 
>>>> = mfn, so the question is could we end up with this new gfn 
>>>> replacing the valid mapping
>>>> (with gfn allocated from the safe region)?
>>>
>>> Right, when we enable the IOMMU for dom0, Xen will add an extra 
>>> mapping with GFN == MFN for foreign and grant pages. This is because 
>>> Linux is not aware that whether a device is protected by an IOMMU. 
>>> Therefore it is assuming it is not and will use the MFN to configure 
>>> for DMA transaction.
>>>
>>> We can't remove the mapping without significant changes in Linux and 
>>> Xen. I would not mandate them for this work.
>>>
>>> That said, I think it would be acceptable to have different way to 
>>> find the region depending on the dom0 configuration. So we could use 
>>> the RAM not used by dom0 when the IOMMU is turned off.
>>
>> OK
>>
>>
>>>
>>>>> The second best choice would be an hole: an address range not used by
>>>>> anybody else (no reg property) and also not even mappable by a bus 
>>>>> (not
>>>>> covered by a ranges property). This is not the best choice because 
>>>>> there
>>>>> can cases where physical resources appear afterwards.
>>>
>>> Are you saying that the original device-tree doesn't even describe 
>>> them in any way (i.e. reserved...)?
>>>
>>>>
>>>> Unfortunately, yes.
>>>
>>> So the decision where the safe region is located will be done by 
>>> Xen. There is no involvement of the domain (it will discover the 
>>> region from the DT). Therefore, I don't think we need to think about 
>>> everything right now as we could adapt this is exact region is not 
>>> part of the stable ABI.
>>>
>>> The hotplug is one I would defer because this is not supported (and 
>>> quite likely not working) in Xen upstream today.
>>
>> Sounds reasonable.
>>
>>
>>>
>>>
>>> Now regarding the case where dom0 is using the IOMMU. The assumption 
>>> is Xen will be able to figure out all the regions used from the 
>>> firmware table (ACPI or DT).
>>>
>>> AFAIK, this assumption would be correct for DT. However, for ACPI, I 
>>> remember we were not able to find all the MMIOs region in Xen (see 
>>> [1] and [2]). So even this solution would not work for ACPI.
>>>
>>> If I am not mistaken, we don't support IOMMU with ACPI yet. So we 
>>> could defer the problem to when this is going to be supported.
>>
>> Sounds reasonable.
>>
>>
>> To summarize:
>>
>> 0. Skip ACPI case for now, implement for DT case
>
> Just to be clear, I suggested to skip it when the IOMMU is enabled 
> with ACPI. We should still support the case without IOMMU. The 
> implementation would be the same as 2.

yes, sorry for not being precise


>
>
>>
>> 1. If IOMMU is enabled for Dom0 -> provide holes found in Host DT as 
>> safe ranges
>>
>> I would take into the account holes >= 1MB.
>
> May I ask why 1MB?

Nothing special, just thinking to not bother with small regions which 
would not be too useful overall, but could bloat resulting reg property.

Anyway, I would be ok with any sizes.


>
>> I am wondering, do we need a special alignment here other than a 
>> PAGE_SIZE?
>
> It needs to be 64KB aligned so a guest using 64KB pages can use it.

ok, sounds reasonable


>
>>
>> 2. If IOMMU is disabled for Dom0 -> provide RAM which not assigned to 
>> Dom0 as safe ranges
>>
>> We could even provide holes here as well.
>
> I would rather not. We likely need hack for the hotplug case. So I 
> want to keep them contained to IOMMU unless there is a strong reason 
> to do it.

ok, I got it


>
> Cheers,
>
-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Mon Aug 09 22:13:07 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Aug 2021 22:13:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165233.301979 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDDVs-000125-D2; Mon, 09 Aug 2021 22:12:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165233.301979; Mon, 09 Aug 2021 22:12:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDDVs-00011y-A9; Mon, 09 Aug 2021 22:12:52 +0000
Received: by outflank-mailman (input) for mailman id 165233;
 Mon, 09 Aug 2021 22:12:51 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uw05=NA=intel.com=dave.hansen@srs-us1.protection.inumbo.net>)
 id 1mDDVq-00011s-Vd
 for xen-devel@lists.xenproject.org; Mon, 09 Aug 2021 22:12:51 +0000
Received: from mga12.intel.com (unknown [192.55.52.136])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id ed660bc4-f95e-11eb-9f38-12813bfff9fa;
 Mon, 09 Aug 2021 22:12:47 +0000 (UTC)
Received: from fmsmga007.fm.intel.com ([10.253.24.52])
 by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 09 Aug 2021 15:12:46 -0700
Received: from jasonkon-mobl1.amr.corp.intel.com (HELO [10.209.114.115])
 ([10.209.114.115])
 by fmsmga007-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 09 Aug 2021 15:12:43 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ed660bc4-f95e-11eb-9f38-12813bfff9fa
X-IronPort-AV: E=McAfee;i="6200,9189,10070"; a="194384583"
X-IronPort-AV: E=Sophos;i="5.84,308,1620716400"; 
   d="scan'208";a="194384583"
X-IronPort-AV: E=Sophos;i="5.84,308,1620716400"; 
   d="scan'208";a="444723667"
Subject: Re: [PATCH V3 03/13] x86/HV: Add new hvcall guest address host
 visibility support
To: Tianyu Lan <ltykernel@gmail.com>, kys@microsoft.com,
 haiyangz@microsoft.com, sthemmin@microsoft.com, wei.liu@kernel.org,
 decui@microsoft.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
 x86@kernel.org, hpa@zytor.com, dave.hansen@linux.intel.com, luto@kernel.org,
 peterz@infradead.org, konrad.wilk@oracle.com, boris.ostrovsky@oracle.com,
 jgross@suse.com, sstabellini@kernel.org, joro@8bytes.org, will@kernel.org,
 davem@davemloft.net, kuba@kernel.org, jejb@linux.ibm.com,
 martin.petersen@oracle.com, arnd@arndb.de, hch@lst.de,
 m.szyprowski@samsung.com, robin.murphy@arm.com, thomas.lendacky@amd.com,
 brijesh.singh@amd.com, ardb@kernel.org, Tianyu.Lan@microsoft.com,
 pgonda@google.com, martin.b.radev@gmail.com, akpm@linux-foundation.org,
 kirill.shutemov@linux.intel.com, rppt@kernel.org, sfr@canb.auug.org.au,
 saravanand@fb.com, krish.sadhukhan@oracle.com, aneesh.kumar@linux.ibm.com,
 xen-devel@lists.xenproject.org, rientjes@google.com, hannes@cmpxchg.org,
 tj@kernel.org, michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org, linux-arch@vger.kernel.org,
 linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
 linux-scsi@vger.kernel.org, netdev@vger.kernel.org, vkuznets@redhat.com,
 parri.andrea@gmail.com
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-4-ltykernel@gmail.com>
From: Dave Hansen <dave.hansen@intel.com>
Autocrypt: addr=dave.hansen@intel.com; keydata=
 xsFNBE6HMP0BEADIMA3XYkQfF3dwHlj58Yjsc4E5y5G67cfbt8dvaUq2fx1lR0K9h1bOI6fC
 oAiUXvGAOxPDsB/P6UEOISPpLl5IuYsSwAeZGkdQ5g6m1xq7AlDJQZddhr/1DC/nMVa/2BoY
 2UnKuZuSBu7lgOE193+7Uks3416N2hTkyKUSNkduyoZ9F5twiBhxPJwPtn/wnch6n5RsoXsb
 ygOEDxLEsSk/7eyFycjE+btUtAWZtx+HseyaGfqkZK0Z9bT1lsaHecmB203xShwCPT49Blxz
 VOab8668QpaEOdLGhtvrVYVK7x4skyT3nGWcgDCl5/Vp3TWA4K+IofwvXzX2ON/Mj7aQwf5W
 iC+3nWC7q0uxKwwsddJ0Nu+dpA/UORQWa1NiAftEoSpk5+nUUi0WE+5DRm0H+TXKBWMGNCFn
 c6+EKg5zQaa8KqymHcOrSXNPmzJuXvDQ8uj2J8XuzCZfK4uy1+YdIr0yyEMI7mdh4KX50LO1
 pmowEqDh7dLShTOif/7UtQYrzYq9cPnjU2ZW4qd5Qz2joSGTG9eCXLz5PRe5SqHxv6ljk8mb
 ApNuY7bOXO/A7T2j5RwXIlcmssqIjBcxsRRoIbpCwWWGjkYjzYCjgsNFL6rt4OL11OUF37wL
 QcTl7fbCGv53KfKPdYD5hcbguLKi/aCccJK18ZwNjFhqr4MliQARAQABzShEYXZpZCBDaHJp
 c3RvcGhlciBIYW5zZW4gPGRhdmVAc3I3MS5uZXQ+wsF7BBMBAgAlAhsDBgsJCAcDAgYVCAIJ
 CgsEFgIDAQIeAQIXgAUCTo3k0QIZAQAKCRBoNZUwcMmSsMO2D/421Xg8pimb9mPzM5N7khT0
 2MCnaGssU1T59YPE25kYdx2HntwdO0JA27Wn9xx5zYijOe6B21ufrvsyv42auCO85+oFJWfE
 K2R/IpLle09GDx5tcEmMAHX6KSxpHmGuJmUPibHVbfep2aCh9lKaDqQR07gXXWK5/yU1Dx0r
 VVFRaHTasp9fZ9AmY4K9/BSA3VkQ8v3OrxNty3OdsrmTTzO91YszpdbjjEFZK53zXy6tUD2d
 e1i0kBBS6NLAAsqEtneplz88T/v7MpLmpY30N9gQU3QyRC50jJ7LU9RazMjUQY1WohVsR56d
 ORqFxS8ChhyJs7BI34vQusYHDTp6PnZHUppb9WIzjeWlC7Jc8lSBDlEWodmqQQgp5+6AfhTD
 kDv1a+W5+ncq+Uo63WHRiCPuyt4di4/0zo28RVcjtzlGBZtmz2EIC3vUfmoZbO/Gn6EKbYAn
 rzz3iU/JWV8DwQ+sZSGu0HmvYMt6t5SmqWQo/hyHtA7uF5Wxtu1lCgolSQw4t49ZuOyOnQi5
 f8R3nE7lpVCSF1TT+h8kMvFPv3VG7KunyjHr3sEptYxQs4VRxqeirSuyBv1TyxT+LdTm6j4a
 mulOWf+YtFRAgIYyyN5YOepDEBv4LUM8Tz98lZiNMlFyRMNrsLV6Pv6SxhrMxbT6TNVS5D+6
 UorTLotDZKp5+M7BTQRUY85qARAAsgMW71BIXRgxjYNCYQ3Xs8k3TfAvQRbHccky50h99TUY
 sqdULbsb3KhmY29raw1bgmyM0a4DGS1YKN7qazCDsdQlxIJp9t2YYdBKXVRzPCCsfWe1dK/q
 66UVhRPP8EGZ4CmFYuPTxqGY+dGRInxCeap/xzbKdvmPm01Iw3YFjAE4PQ4hTMr/H76KoDbD
 cq62U50oKC83ca/PRRh2QqEqACvIH4BR7jueAZSPEDnzwxvVgzyeuhwqHY05QRK/wsKuhq7s
 UuYtmN92Fasbxbw2tbVLZfoidklikvZAmotg0dwcFTjSRGEg0Gr3p/xBzJWNavFZZ95Rj7Et
 db0lCt0HDSY5q4GMR+SrFbH+jzUY/ZqfGdZCBqo0cdPPp58krVgtIGR+ja2Mkva6ah94/oQN
 lnCOw3udS+Eb/aRcM6detZr7XOngvxsWolBrhwTQFT9D2NH6ryAuvKd6yyAFt3/e7r+HHtkU
 kOy27D7IpjngqP+b4EumELI/NxPgIqT69PQmo9IZaI/oRaKorYnDaZrMXViqDrFdD37XELwQ
 gmLoSm2VfbOYY7fap/AhPOgOYOSqg3/Nxcapv71yoBzRRxOc4FxmZ65mn+q3rEM27yRztBW9
 AnCKIc66T2i92HqXCw6AgoBJRjBkI3QnEkPgohQkZdAb8o9WGVKpfmZKbYBo4pEAEQEAAcLB
 XwQYAQIACQUCVGPOagIbDAAKCRBoNZUwcMmSsJeCEACCh7P/aaOLKWQxcnw47p4phIVR6pVL
 e4IEdR7Jf7ZL00s3vKSNT+nRqdl1ugJx9Ymsp8kXKMk9GSfmZpuMQB9c6io1qZc6nW/3TtvK
 pNGz7KPPtaDzvKA4S5tfrWPnDr7n15AU5vsIZvgMjU42gkbemkjJwP0B1RkifIK60yQqAAlT
 YZ14P0dIPdIPIlfEPiAWcg5BtLQU4Wg3cNQdpWrCJ1E3m/RIlXy/2Y3YOVVohfSy+4kvvYU3
 lXUdPb04UPw4VWwjcVZPg7cgR7Izion61bGHqVqURgSALt2yvHl7cr68NYoFkzbNsGsye9ft
 M9ozM23JSgMkRylPSXTeh5JIK9pz2+etco3AfLCKtaRVysjvpysukmWMTrx8QnI5Nn5MOlJj
 1Ov4/50JY9pXzgIDVSrgy6LYSMc4vKZ3QfCY7ipLRORyalFDF3j5AGCMRENJjHPD6O7bl3Xo
 4DzMID+8eucbXxKiNEbs21IqBZbbKdY1GkcEGTE7AnkA3Y6YB7I/j9mQ3hCgm5muJuhM/2Fr
 OPsw5tV/LmQ5GXH0JQ/TZXWygyRFyyI2FqNTx4WHqUn3yFj8rwTAU1tluRUYyeLy0ayUlKBH
 ybj0N71vWO936MqP6haFERzuPAIpxj2ezwu0xb1GjTk4ynna6h5GjnKgdfOWoRtoWndMZxbA
 z5cecg==
Message-ID: <a0499916-38e2-0b1e-f2b9-ef760f6d4d92@intel.com>
Date: Mon, 9 Aug 2021 15:12:33 -0700
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.10.0
MIME-Version: 1.0
In-Reply-To: <20210809175620.720923-4-ltykernel@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 8bit

On 8/9/21 10:56 AM, Tianyu Lan wrote:
> From: Tianyu Lan <Tianyu.Lan@microsoft.com>
> 
> Add new hvcall guest address host visibility support to mark
> memory visible to host. Call it inside set_memory_decrypted
> /encrypted(). Add HYPERVISOR feature check in the
> hv_is_isolation_supported() to optimize in non-virtualization
> environment.

>From an x86/mm perspective:

Acked-by: Dave Hansen <dave.hansen@intel.com>

A tiny nit:

> diff --git a/arch/x86/hyperv/hv_init.c b/arch/x86/hyperv/hv_init.c
> index 0bb4d9ca7a55..b3683083208a 100644
> --- a/arch/x86/hyperv/hv_init.c
> +++ b/arch/x86/hyperv/hv_init.c
> @@ -607,6 +607,12 @@ EXPORT_SYMBOL_GPL(hv_get_isolation_type);
>  
>  bool hv_is_isolation_supported(void)
>  {
> +	if (!cpu_feature_enabled(X86_FEATURE_HYPERVISOR))
> +		return 0;
> +
> +	if (!hypervisor_is_type(X86_HYPER_MS_HYPERV))
> +		return 0;
> +
>  	return hv_get_isolation_type() != HV_ISOLATION_TYPE_NONE;
>  }
This might be worthwhile to move to a header.  That ensures that
hv_is_isolation_supported() use can avoid even a function call.  But, I
see this is used in modules and its use here is also in a slow path, so
it's not a big deal


From xen-devel-bounces@lists.xenproject.org Tue Aug 10 01:28:30 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Aug 2021 01:28:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165239.301990 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDGYz-0008IT-Mt; Tue, 10 Aug 2021 01:28:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165239.301990; Tue, 10 Aug 2021 01: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 1mDGYz-0008IM-IK; Tue, 10 Aug 2021 01:28:17 +0000
Received: by outflank-mailman (input) for mailman id 165239;
 Tue, 10 Aug 2021 01:28:15 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yq6I=NB=oracle.com=boris.ostrovsky@srs-us1.protection.inumbo.net>)
 id 1mDGYx-0008IG-CO
 for xen-devel@lists.xenproject.org; Tue, 10 Aug 2021 01:28:15 +0000
Received: from mx0b-00069f02.pphosted.com (unknown [205.220.177.32])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id d0707ca2-fa48-43cc-99b5-1b70e1730edc;
 Tue, 10 Aug 2021 01:28:14 +0000 (UTC)
Received: from pps.filterd (m0246630.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id
 17A1B4ii012493; Tue, 10 Aug 2021 01:28:09 GMT
Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80])
 by mx0b-00069f02.pphosted.com with ESMTP id 3aaqmutr10-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Tue, 10 Aug 2021 01:28:09 +0000
Received: from pps.filterd (userp3030.oracle.com [127.0.0.1])
 by userp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 17A1A6JZ009758;
 Tue, 10 Aug 2021 01:28:08 GMT
Received: from nam10-bn7-obe.outbound.protection.outlook.com
 (mail-bn7nam10lp2103.outbound.protection.outlook.com [104.47.70.103])
 by userp3030.oracle.com with ESMTP id 3a9f9vygxd-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Tue, 10 Aug 2021 01:28:08 +0000
Received: from BLAPR10MB5009.namprd10.prod.outlook.com (2603:10b6:208:321::10)
 by MN2PR10MB4063.namprd10.prod.outlook.com (2603:10b6:208:185::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.16; Tue, 10 Aug
 2021 01:28:06 +0000
Received: from BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::7cd0:8600:6e6e:aa8c]) by BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::7cd0:8600:6e6e:aa8c%6]) with mapi id 15.20.4394.023; Tue, 10 Aug 2021
 01:28:06 +0000
Received: from [10.74.102.132] (160.34.88.132) by
 SA9PR10CA0003.namprd10.prod.outlook.com (2603:10b6:806:a7::8) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4394.15 via Frontend Transport; Tue, 10 Aug 2021 01:28:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d0707ca2-fa48-43cc-99b5-1b70e1730edc
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=subject : to : cc :
 references : from : message-id : date : in-reply-to : content-type :
 content-transfer-encoding : mime-version; s=corp-2021-07-09;
 bh=msdWJQy84fO/fVz0Rj6Q/Ua7qi0sN5TdRrBYd/lzob0=;
 b=TeWcVmXyWxPkxWe+5GaNP1p/QYlOvlPt1D0SfWzFuM8rhQxXt+111he625Qouwj1wJUk
 gEKMRqHPwzIJvsND4k13cA0TJOtSuLiy8r5mgqhju9QtET9jsCeNavwd4OqeJ9sMn1f+
 G+e5bKA7I8zK6yAuvx3U4/8ZNV1RdRvdVsP24up7bAki1CpLDuhvq9zZFvcX/RV4mAtq
 xsSsbzdPRjBZb1AYmkwg2RwKL83vRXBxXpJPtpdG1hLHO08wXUfoLFi1jKTWtyECMWn1
 B/j7lWI+9mcIJMgU5d+4Eqav4a51zseSef2tvuUER8A2eXLounEknTBA8zQQbpw4KrJI Ng== 
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=subject : to : cc :
 references : from : message-id : date : in-reply-to : content-type :
 content-transfer-encoding : mime-version; s=corp-2020-01-29;
 bh=msdWJQy84fO/fVz0Rj6Q/Ua7qi0sN5TdRrBYd/lzob0=;
 b=SRKk+DMiw5stXZaoKwPokj/Va2YiCpYhXH10EaaDlUBaKBPcRNAu7Td7CqQ7s9EIYyFL
 gPanNphJYs5adBFot1Bu76UzDONanHHhrsw04Z31Q12u4qvO9p7Dv8SwrF5oJRkO8YMp
 sqV0VGL3kwAwJMs+dFVG2iQ3MIfz3d7xGH7HrUO6396RgnHOQD5+BmcxhVtNPVNRkEGx
 JthyXv6FMoAOcSDAg/YusLpVKmxwG90SV6+fDMStKoU6f7WLtsK9DPN0+EAa3pIdmxNA
 iBxYiKyTQZ878v4tKJOpNNj/VNaFgU0d0FxGzNifCzrqPmpNqLYElD8pn5uiQLnLfrD2 sA== 
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OJrPAKLI0WDW+GA4kOH6fLsqqGYtvGJpwc1YFu7+YmANiK36p2Sj8CJp/swgjOZEA626azierLAKoagsDNPYsTmITNGfPxoBymaAdI2Jl449b9ZJ+dKe9PVtPyMr9u2fp8d/7aua1Sch5gdbzLPqft5hUNI9oJhcBxTIuCFj/29IKtIBC17+m68se0dcA5xAZAJc8hoMTsAlY1mwG24I36FldnCCF485szM1PYyQg3TbPqmH8ER//pIqrVZRDaj7ru23q2UVp5gEey8mCLAvnOoTRFof1zdo7A/gkFpWehK0vBQXJGtnrKkMKV1FsdDxYZJLW+5qJxQO3yH81PDuJg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=msdWJQy84fO/fVz0Rj6Q/Ua7qi0sN5TdRrBYd/lzob0=;
 b=b6Gr9RhZ4vDyZF0Eg8n6AwHaJKDiPxrBovdqoWac2KlZxWg6x3ba8XnJxlTMvErTrZnzf/tKqqm8W/pcqoIur1bjQcvE4QRnuDnBsT5ZoTA12C98G4R7woqnRTIYBw4UzIkKUuuCM8crGWQfD69D8pNzDDWr7nv0670MimD1IR0s8nUoLDLh8vVQERNoujblgt9UnMUCXPTRKIo3Dd4/O5CizC3zq/7zdSjs0jdwnzFBbGL787TLz1hZKkpQz8IlEsMMO5sQE52QZxGlyl7CdvHA9tyuHHxn3Iwtiqb3L3aNbY6G200jrzZAeCq8IMRziej7HGqt1hvAk0GBVFtXeQ==
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=msdWJQy84fO/fVz0Rj6Q/Ua7qi0sN5TdRrBYd/lzob0=;
 b=0CiM45ZremUGJzGT0kvVSA/SmHC7OBfCVNx9qsw1JgmTYJIxPstYiRx+m/tgB8WAGH9327/E1WGEitzV7gsPevWiYImGHXAujFKSn4aR0AGp+MI0dDi4Fh/EzZu4ya23PsE3x5/mXHPtxhs1pU9qHChTcAHOpFtA1fSUBJDA4yQ=
Authentication-Results: vger.kernel.org; dkim=none (message not signed)
 header.d=none;vger.kernel.org; dmarc=none action=none header.from=oracle.com;
Subject: Re: [PATCH] xen-blkfront: Remove redundant assignment to variable err
To: Colin King <colin.king@canonical.com>, Juergen Gross <jgross@suse.com>,
        Stefano Stabellini <sstabellini@kernel.org>,
        =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
        Jens Axboe <axboe@kernel.dk>, xen-devel@lists.xenproject.org,
        linux-block@vger.kernel.org
Cc: kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org
References: <20210806110601.11386-1-colin.king@canonical.com>
From: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Message-ID: <539ef292-ccad-dcfe-e2f8-6116e8d94b48@oracle.com>
Date: Mon, 9 Aug 2021 21:28:02 -0400
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
In-Reply-To: <20210806110601.11386-1-colin.king@canonical.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Content-Language: en-US
X-ClientProxiedBy: SA9PR10CA0003.namprd10.prod.outlook.com
 (2603:10b6:806:a7::8) To BLAPR10MB5009.namprd10.prod.outlook.com
 (2603:10b6:208:321::10)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c8db24a4-b0a2-4756-68ec-08d95b9e1a93
X-MS-TrafficTypeDiagnostic: MN2PR10MB4063:
X-Microsoft-Antispam-PRVS: 
	<MN2PR10MB40637C9730B1B72232BBC3A88AF79@MN2PR10MB4063.namprd10.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:369;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 
	JLpsINUUZurS/ybSu1ZJwcSeAnOoF2zSyaB087Jaz4xNM9XA1J9TQ3EowePwiMkr2MnNpaR7Lk07L39rwIPO14xZAtFfSd4NPk9cV0TWgKwD1x5lbL/bIGCsY9IgO/JVuQyklQleEsy3IaEfOR1wMSsGbMgMfld02kFGiVaYhGmdylqJn9kpgz7dtSUx9W5T3QHFYtfx1uwn2GUDDqDQki2p+8jgpJhgRymPCr+oPEPtnF5wvN6g3qiO27xxG/hdykeaB8duidJHKxfnkb+Ch6y5Kd+Wzo3dZJKRk2tpLBU3TnUBDkiJkTOxnSjebYWc6n+uu46Tv4diT9BTbbE877M3+Rw8nltPPQWXB9jatGrCzdoktsxAKTc1j9hrpfglEu14Fu2gV24nKhFGxAYQdpmWO8ZwTRlmh5bq+yVcHrRodlJE8/VpkHXu8eC/zvZihrRVjjwT0zcdI571tXLsJ6PsI9O2WGcTrYfd2/LMom8Bv2wVC+AJvK3I4D6YQT4u/mWXXRgMA2G5GKIwMEcmL+YM3YA+DiRXpeSMUm8g98Xosobc4CLPymqEI/ZFAgcLOfolYzGokWgzeX287189uGEI9KUnOatrymTR9hjQ0lcy4qVCaVVR846spnqQ/KuGAZogIhJKbJYh1dtz979nlVTTbfL9yH8cerco61t+jNW0JIb5X5VSpA9iRVaBOOhDs87HvNs91pl7pQSoJ3tV4M5GgoH/0/2vkD6pcOWIPLU9OKeaCUF6BVM9Lqnda6Jc
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:(136003)(346002)(39860400002)(376002)(396003)(366004)(5660300002)(66556008)(66946007)(31686004)(66476007)(44832011)(53546011)(956004)(4744005)(4326008)(6486002)(38100700002)(2616005)(110136005)(86362001)(26005)(31696002)(8936002)(36756003)(8676002)(186003)(16576012)(2906002)(316002)(478600001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?utf-8?B?My9FbStGMjNram1vVEpVZmV0S3ZHeXJHNG9pWERrVHV5UVdFd2lTYmI5TTU1?=
 =?utf-8?B?ckw2S1RPYU1USnlOUlJVaWhwUjlyQUhydDBqZU5JRGVSQURhMlNHSkg5Ujlq?=
 =?utf-8?B?QVhsNDd5RFkxYVhwQUViNFhJd3MyMEk4ckN4QUlUZUtzaHo2SFZWc05aT1dl?=
 =?utf-8?B?a1RlR3R3Rm9PUFdwL00xYVJJTnJuTU9oRmgrck9acFlXZ0VJaHlCYmthTjgw?=
 =?utf-8?B?T0ZKMlhyU1lnd2ZHQWtzR0NXZzZzTmFMZndhUTljY25FWnNob1hmOHZSMmNO?=
 =?utf-8?B?djNZL3REZ2o2eG5RSk1EYzBqZEREeEZORkJEZW5CcDRaeXJyUHRoRFJ1cnlt?=
 =?utf-8?B?OU9aOUUyVHExUm9DVWZZL2NUcHRZb3pPMEkrdG5xRUxubm9mbElUVks4THFh?=
 =?utf-8?B?N090d0JwRkdPTlFyWmxaQlk2QVF4QmhlMDM0THhndG1OOFlUMHhVTS9ZRHY3?=
 =?utf-8?B?U2dxeFU1MzNVd2lyT1c0dmZ5czc3YmFDTmZiM3FiWW9yMHY3RjBQTUY0cGlL?=
 =?utf-8?B?bnNkY2tSOTVKMjhMRDdmT0E4UDkvZHc0RWlmOXM4TWVwL3AyNWxvNm9VZzVG?=
 =?utf-8?B?WHk5M3J1THBjeHh0NGV4TitnZkcxdmNIZ0R5T3F1alV5SDB1Zk1qOU9XV1RI?=
 =?utf-8?B?WkVIUFE5aEIzcnV6YmNuM0FqS3RSUzBxSnNEeURVdDNGTWdBNGI3S3FkeTVS?=
 =?utf-8?B?TUovaUVWSEZrcUhQZnZBVkYrT3NDWXJqdUkrM1hoSDVTUGZycTd2SWtsdUZH?=
 =?utf-8?B?Q2dQTE1lWHFVckhVVE9pREN0QUI0ZzJITm5YMGVXWEhvYWk0WnZtaTRURk95?=
 =?utf-8?B?azFqY1dkcTU2LzcvaGFCcmFyR2hxM21zekp6dm1GaUo4eDZzUnJOd1RiZG1J?=
 =?utf-8?B?L0hPN0JCMDhYc1V4MDJHV05zT1IvR2RIVHMvcWlyV1pSZWtBbUluM2FQN3RF?=
 =?utf-8?B?S1FwLzdtOFJLT05FMyszNmNGY0ZnR0Zxby83WXBza284ZVpLV2NHV1Bwd3JE?=
 =?utf-8?B?Vk1abjBpQ1UzNzQwc3dRZENHUXoxV1ZhQ2lyQkJvKzNNc1FCb2dhT3R5clJx?=
 =?utf-8?B?K3pCVDJsWDZoazlORm0rdG1vazFxVG9HdnFVME5Ya2hFS1hIUXJ6MUJVMUZD?=
 =?utf-8?B?K3dzL2xHaTVJWCtTTVV0TmlFQTh6akxUc1VtMEh0NjlOMlpET29kbmRXWGtB?=
 =?utf-8?B?alFkMHQ0bFZ4YUZKMVRtTitCeE5vQmc1QmhnYmpvcTNqakY3TWpiY1h2N3h3?=
 =?utf-8?B?azRVREJMN2dST0V3SHYwb1FDQjNrU1d1aEMwTVVsRmxVZjgzNytxZHR4dC9C?=
 =?utf-8?B?VFF6RDRITGZpWlVheVM1NDVhcXZ0TkpvaGF0Nk5wRzNZRnJzSnQrcWZJZ2Zm?=
 =?utf-8?B?U2VIRGN3TFE1dFE4eFloOEM5dzdpakZYbitMRGRLR2lPY0VpWkZDNytTWDdy?=
 =?utf-8?B?ZWEwSTBhanB6RkNUa2xhUDV2NzZmYVMzZFhwT1RVOHVRa2hycURWaGZlTzFl?=
 =?utf-8?B?UEFxTXhsajM1NHFEeGN2Vk9MeU4rQSt0K3RWYkV3TW9pUGJwMlJFbkV0dVNM?=
 =?utf-8?B?b09TQU5PYmF5ejNySnlkeWYyWVFscTEycndmeHI3VG1aQmIycWFOQk05U3hT?=
 =?utf-8?B?NW85cm56TVI2YXdPb28wR0VNenlsYUpvUjdjTy9tcWVUMVphblQwTTNPcDYy?=
 =?utf-8?B?VDFaYzlpVSs4bEJTY2RuL3VEb2tmYWVPOWVXQjFzUElBQjJTMStZWkFOczV1?=
 =?utf-8?Q?9MqkI9/sBG8Au4HS1vnpiXHp5AIuxeZQnoExJ1b?=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c8db24a4-b0a2-4756-68ec-08d95b9e1a93
X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5009.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2021 01:28:05.9758
 (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: BGFTDWwNf1G9HRxztSFBsp4Z92JBS+1Z1y42HHXMBqEgXMtcww6Mp/YZHKZpCcIPRwYM88MKQZ2vXhzTJfn6zUx0A4qM0lSxNq7+ZIWW8ok=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR10MB4063
X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=10071 signatures=668682
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 phishscore=0
 adultscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999
 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2107140000 definitions=main-2108100006
X-Proofpoint-GUID: 0aVv8rDdHhR0LXZcW5AdLT7mNCXp-pp6
X-Proofpoint-ORIG-GUID: 0aVv8rDdHhR0LXZcW5AdLT7mNCXp-pp6


On 8/6/21 7:06 AM, Colin King wrote:
> From: Colin Ian King <colin.king@canonical.com>
>
> The variable err is being assigned a value that is never read, the
> assignment is redundant and can be removed.
>
> Addresses-Coverity: ("Unused value")
> Signed-off-by: Colin Ian King <colin.king@canonical.com>


Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>



From xen-devel-bounces@lists.xenproject.org Tue Aug 10 02:05:43 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Aug 2021 02:05:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165247.302001 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDH95-0004Ce-P2; Tue, 10 Aug 2021 02:05:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165247.302001; Tue, 10 Aug 2021 02:05:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDH95-0004CX-Kk; Tue, 10 Aug 2021 02:05:35 +0000
Received: by outflank-mailman (input) for mailman id 165247;
 Tue, 10 Aug 2021 02:05:34 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2wAU=NB=kernel.dk=axboe@srs-us1.protection.inumbo.net>)
 id 1mDH94-0004CR-OB
 for xen-devel@lists.xenproject.org; Tue, 10 Aug 2021 02:05:34 +0000
Received: from mail-pj1-x1035.google.com (unknown [2607:f8b0:4864:20::1035])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 0d9e1b91-72e5-454f-986e-aa580cde29dc;
 Tue, 10 Aug 2021 02:05:33 +0000 (UTC)
Received: by mail-pj1-x1035.google.com with SMTP id
 pj14-20020a17090b4f4eb029017786cf98f9so3016808pjb.2
 for <xen-devel@lists.xenproject.org>; Mon, 09 Aug 2021 19:05:33 -0700 (PDT)
Received: from [192.168.1.116] ([198.8.77.61])
 by smtp.gmail.com with ESMTPSA id u3sm18289827pfn.76.2021.08.09.19.05.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Aug 2021 19:05: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: 0d9e1b91-72e5-454f-986e-aa580cde29dc
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=kernel-dk.20150623.gappssmtp.com; s=20150623;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=4obz9WkqAEaS3SU/Ft8ZVbZx29A5UvHIZHpNuPkmvSk=;
        b=kZGou/+ar6VkGad2l0SxaqeFt1SKZRIzP9scQKzNs4UWQkTcp9RFq2j7DzVxV5KgyK
         5TlRRQZiF84syxutswoRu9al2wgA6RIdYNPOBxcnTDzmobwr5KimozZFSDPrq4diHXeX
         ipKAui0LFbQLJxIpk5KS/wFGdunbQWFii1rXT4wS1I8XQZsesNjv4HPv3iAD3ea+upBS
         JSg6AlDBdu61OSsdQuXUhveKPb1AmEK5XcKA36O+/DwyPCvucbwUCa4b3wIe+ypj3GQo
         a62adTZ9xmyyPOvuM6rVkvObTb2FdTjAK6ijP2kom0N55yhlEBTjNlqSbSS+QSc+1saE
         805Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=4obz9WkqAEaS3SU/Ft8ZVbZx29A5UvHIZHpNuPkmvSk=;
        b=QXJCnCioXzNmO66HVI0a1kWEatLA8SJbrq9gQTWVVjBc+oTHKeGAw0vyN3G20/4uD6
         wW+//GoJ2xTbWCvrraoWUVz92OetIH17CygULPJBi44IMhFhHMA7qrNOC9PupZdpOmFV
         aXQhN+cm70PMXbDnvIddaJ/TZk5Dj2xPIVQTmLHgBpBSRPw9iqurB6WMelH9ym3OVSK2
         UOyIaJ6j5JrORkhjVm3RQHhcUoIZWFMx/TE3qAxvvGPXq5VObUg4JxGVCFV7YP4xcooy
         d7+NObklX5jwOXWIMUxaMBc5XWLGuMjlZ2wDSz/QkSnYFZoAQyJIPvtSc4SYNrwqKzYo
         RPpg==
X-Gm-Message-State: AOAM532ygwXSzQgywyJ/7ZbtIr3ATJPaCUAR4kwlpF6a8cui08fHyKpx
	wu8hJXBug6ZK+7XN1SJlscrYxA==
X-Google-Smtp-Source: ABdhPJwMjMG5NuvlBdsJwiOAWKSMNKV4GrcOGftPPG58i6c5kNWYn1StXNhVEiq6b+QLIyTgFs/jww==
X-Received: by 2002:a17:90b:17c3:: with SMTP id me3mr2143130pjb.203.1628561132632;
        Mon, 09 Aug 2021 19:05:32 -0700 (PDT)
Subject: Re: [PATCH] xen-blkfront: Remove redundant assignment to variable err
To: Colin King <colin.king@canonical.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Juergen Gross
 <jgross@suse.com>, Stefano Stabellini <sstabellini@kernel.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org, linux-block@vger.kernel.org
Cc: kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org
References: <20210806110601.11386-1-colin.king@canonical.com>
From: Jens Axboe <axboe@kernel.dk>
Message-ID: <f87ecb57-12f7-71cd-29a7-9cecd6605c88@kernel.dk>
Date: Mon, 9 Aug 2021 20:05:30 -0600
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.10.0
MIME-Version: 1.0
In-Reply-To: <20210806110601.11386-1-colin.king@canonical.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit

On 8/6/21 5:06 AM, Colin King wrote:
> From: Colin Ian King <colin.king@canonical.com>
> 
> The variable err is being assigned a value that is never read, the
> assignment is redundant and can be removed.

Added for 5.15, thanks.

-- 
Jens Axboe



From xen-devel-bounces@lists.xenproject.org Tue Aug 10 02:20:12 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Aug 2021 02:20:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165253.302011 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDHNA-0006aJ-1m; Tue, 10 Aug 2021 02:20:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165253.302011; Tue, 10 Aug 2021 02: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 1mDHN9-0006aC-Uy; Tue, 10 Aug 2021 02:20:07 +0000
Received: by outflank-mailman (input) for mailman id 165253;
 Tue, 10 Aug 2021 02:20: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 1mDHN8-0006a2-Pc; Tue, 10 Aug 2021 02:20: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 1mDHN8-0001i2-Gz; Tue, 10 Aug 2021 02:20: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 1mDHN8-000721-4Y; Tue, 10 Aug 2021 02:20:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mDHN8-0004TP-43; Tue, 10 Aug 2021 02:20:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=FGcHZlWIcR/HGEVfvoWq6biJynF5Ofld0aNSXwmMIcA=; b=A1Y3Yuu023mW3PctpRLr5DNK+J
	6D2mltZ+l3CT69+D2ngI2RnpCGEq9Et8O1AOsukkLmJc7RUXt0JJsFRBSHU/t56qCgc0WUctthkPs
	DDdkWDvmf5a3ICsfYLPeeiYXtnoqUDhye7ft54arIo1XRCbuBL7CQ1lhtb8PrqSIriSw=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164144-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164144: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-amd64-amd64-qemuu-freebsd11-amd64:guest-start/freebsd.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:leak-check/check:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-shadow:guest-start:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:heisenbug
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-examine:memdisk-try-append:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-vhd:guest-start:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check: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-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=36a21d51725af2ce0700c6ebcb6b9594aac658a6
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 10 Aug 2021 02:20:06 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 20 guest-stop               fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      14 guest-start    fail in 164138 REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop    fail in 164143 REGR. vs. 152332

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-qemuu-freebsd11-amd64 21 guest-start/freebsd.repeat fail in 164138 pass in 164144
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 21 leak-check/check fail in 164138 pass in 164144
 test-amd64-amd64-xl-shadow   14 guest-start      fail in 164143 pass in 164144
 test-arm64-arm64-xl-thunderx 13 debian-fixup     fail in 164143 pass in 164144
 test-arm64-arm64-xl-xsm      13 debian-fixup               fail pass in 164138
 test-amd64-amd64-amd64-pvgrub 19 guest-localmigrate/x10    fail pass in 164143
 test-amd64-amd64-examine      4 memdisk-try-append         fail pass in 164143
 test-armhf-armhf-xl-vhd      13 guest-start                fail pass in 164143

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

version targeted for testing:
 linux                36a21d51725af2ce0700c6ebcb6b9594aac658a6
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  374 days
Failing since        152366  2020-08-01 20:49:34 Z  373 days  655 attempts
Testing same since   164138  2021-08-09 02:22:58 Z    0 days    3 attempts

------------------------------------------------------------
6781 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-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 2003184 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 10 06:35:24 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Aug 2021 06:35:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165260.302026 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDLLv-0003kt-MT; Tue, 10 Aug 2021 06:35:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165260.302026; Tue, 10 Aug 2021 06: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 1mDLLv-0003km-JF; Tue, 10 Aug 2021 06:35:07 +0000
Received: by outflank-mailman (input) for mailman id 165260;
 Tue, 10 Aug 2021 06:35:05 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=VKff=NB=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDLLt-0003kg-Hy
 for xen-devel@lists.xenproject.org; Tue, 10 Aug 2021 06:35:05 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com (unknown
 [40.107.22.50]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 178ac782-f9a5-11eb-9f5a-12813bfff9fa;
 Tue, 10 Aug 2021 06:35:03 +0000 (UTC)
Received: from AM5PR04CA0004.eurprd04.prod.outlook.com (2603:10a6:206:1::17)
 by PA4PR08MB6079.eurprd08.prod.outlook.com (2603:10a6:102:ee::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.16; Tue, 10 Aug
 2021 06:35:00 +0000
Received: from AM5EUR03FT021.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:206:1:cafe::20) by AM5PR04CA0004.outlook.office365.com
 (2603:10a6:206:1::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13 via Frontend
 Transport; Tue, 10 Aug 2021 06:35:00 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT021.mail.protection.outlook.com (10.152.16.105) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4394.15 via Frontend Transport; Tue, 10 Aug 2021 06:34:59 +0000
Received: ("Tessian outbound 79bfeeb089c1:v101");
 Tue, 10 Aug 2021 06:34:59 +0000
Received: from 04811aa943c4.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 0FCD5D54-D256-43C2-A5A5-DDC8F1C88BDE.1; 
 Tue, 10 Aug 2021 06:34:52 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 04811aa943c4.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 10 Aug 2021 06:34:52 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DBBPR08MB5948.eurprd08.prod.outlook.com (2603:10a6:10:202::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.21; Tue, 10 Aug
 2021 06:34:41 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%6]) with mapi id 15.20.4394.023; Tue, 10 Aug 2021
 06:34:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 178ac782-f9a5-11eb-9f5a-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KmOkUiPG/ccgqTyiVPAdNi/gPzXNs9CFuFNupouyhYQ=;
 b=z2wELy7QlsKUKMBagQU7wjAUjZJWRIjvTyNGKDg9uVv7mi7cSUEnhnp4aein3/+dMjZVeLMlhM0VzjdbEMEsl3z4qW4OS6miX1eWPiY0e5yCzkLMHXsP+FspC1z/4kCrSp4HO7YFKeY6uIr95mjGMtUUQY5a3hecnI0twjW8o98=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nVfTzePOcTljKUWs27xb8yUwWLI7NY2mPbeuv7yTzeS7NdBtq7K7aFc1ocjtbvhbs1mop4we11HdW1oYCF3v/LX4NqiNvqzq/rmvnZfxXJatstU2jafW1ptALgbYXGAaDNpYIhiY2JHlkQZ9vAJ8jWbMKbbMSskZOBaW3QSNQNtGVNewxatkuaIux22u0uGbccb6yUHAqaesIbZDS/6hjfQS4WX8RQTcseDmaEjknrIy9KWPOik66pKzw1/d2tzcE/5dfUrDKL9vXtGtK4cxRjCOytjGieOCAwmTMQ4AsWmzAVkqiQkBAwr7JNfULXXJk8eGx8fPkbunt+FINenopQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KmOkUiPG/ccgqTyiVPAdNi/gPzXNs9CFuFNupouyhYQ=;
 b=WIaMO97xb7qpJg8lPJsJdSHiDGYus1roMskB/EClBYxosnANHlUoI2f5L+h3UfbhcA3uKfrLHC5EQWbCn01sJCB+FzeT+DXmus/2f1KpN9alTOyocVsyXMG8W6IRVgaA1kWYXeeDSOTh/Nkv4kSZi48MDyaHLlGciheylcdS1pTIJeCKnGGIDKoxg+YZ9CMcAmplvoRrkJ3fDtU9nNhC7VArlicjS2BsJfu6tuFRDvWjoUvow4VyqNFgXwUsT6OREetzs6y0CW8Pb9TB5rSghJPmVckscLpmc4zx99jF9S6zUzlF4ikOv29Lyjo8mu5kfaYCCcKgPOc3ENEWTYX1JQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KmOkUiPG/ccgqTyiVPAdNi/gPzXNs9CFuFNupouyhYQ=;
 b=z2wELy7QlsKUKMBagQU7wjAUjZJWRIjvTyNGKDg9uVv7mi7cSUEnhnp4aein3/+dMjZVeLMlhM0VzjdbEMEsl3z4qW4OS6miX1eWPiY0e5yCzkLMHXsP+FspC1z/4kCrSp4HO7YFKeY6uIr95mjGMtUUQY5a3hecnI0twjW8o98=
From: Wei Chen <Wei.Chen@arm.com>
To: Oleksandr <olekstysh@gmail.com>, Julien Grall <julien@xen.org>, Penny
 Zheng <Penny.Zheng@arm.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, Andrew Cooper
	<andrew.cooper3@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>, Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>, Ian Jackson
	<iwj@xenproject.org>, Wei Liu <wl@xen.org>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
Thread-Topic: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
Thread-Index:
 AQHXg8xICZg4GbkvRUi6KcMYqJ5Tb6tYofOAgAACKACAABoQgIAADqwAgALnQwCAAIF7AIAEZ4iAgANBs4CAABH5AIABvA2AgAKn7QCAAw4SgIAALTOAgADLRpA=
Date: Tue, 10 Aug 2021 06:34:40 +0000
Message-ID:
 <DB9PR08MB6857442248B996CC978BBA379EF79@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <80fafc01-f063-d6e5-1c08-7ad64550310c@citrix.com>
 <e8db3021-78a5-e040-a70b-62ca5b500149@xen.org>
 <4de5ed21-379e-b618-44c8-924d88b1a519@citrix.com>
 <bbc7f597-5249-20a0-cac9-13f594268299@xen.org>
 <6a633f4e-13e0-4a2b-cf6e-35ef90ae977c@gmail.com>
 <alpine.DEB.2.21.2107301630510.10122@sstabellini-ThinkPad-T480s>
 <f6b2e6c6-bf58-960f-4a09-f05ebcf1f566@gmail.com>
 <5643d414-0b76-74a4-2c37-c7a99338d547@gmail.com>
 <c83378af-4d3b-9256-0e0d-f88c43c6de2f@xen.org>
 <alpine.DEB.2.21.2108051720210.18743@sstabellini-ThinkPad-T480s>
 <6596ad08-8398-64dd-ef62-cd7bc6f7333e@gmail.com>
 <bc576a23-d107-c67d-8dca-62691e5eea1a@xen.org>
 <1d0ea55d-2e5a-daa7-9c60-c7a1c4b48fa1@gmail.com>
In-Reply-To: <1d0ea55d-2e5a-daa7-9c60-c7a1c4b48fa1@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 9D0CB942C20C8B499759BB9CB660FA49.0
x-checkrecipientchecked: true
Authentication-Results-Original: gmail.com; dkim=none (message not signed)
 header.d=none;gmail.com; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 86439dd4-14f0-4610-b448-08d95bc8fa36
x-ms-traffictypediagnostic: DBBPR08MB5948:|PA4PR08MB6079:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<PA4PR08MB6079AA1D2F2DBFD83610D42B9EF79@PA4PR08MB6079.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 TcsR3l38N4hL5rC99YZboK7aBG8+M3MStJJpAkkWSKoPdRsXpij/cvCJYPEo7b5RGoUVnrvQA2KFLZxFVkpWxI8hDIBn4130eUAyEDpxqaQWYi1Qmbr2nr83/UJRoD//xuIyf8X6Tuw0t5tvn3vhDwQw/5iRsWWlh7zEyWQGofqZvNhbntUu+NxwXnNxTnoKjv94B66PNT/bZQq46rGxLNnvpjWKFJXqTdg8aVAIwUCdvAzgQCrnwxC992ORpXnpp7z/Zm2wzdL+zfAYgMG7jAEcVOVtawZjTmNcvdYNqlWWsC9jSOaGzC4N95KCCigE1duapNTaSux/ZV5/aXTxRzT80a0x5a24B5v1YXuAgQ3Fl+93H6dqt/uvlvwx53WhmA4zGjN7/3NppHjGM+BwJAu+UeyD8I10dhgBt/4hYODHIoo4RDvFX4D/6MyKD3l9T67wsTqCLmCS94JkIBe2Oy7mCkk+yQT1O7uVLBcSxKB4ZoJzLC2Pl8R18uY1+c11+cdg9pGVagZ37q9+68spbwWkPghU/GzYHb2tHFiDjcUIogdB11MVt3Yoq7+iWyS4Pucs2J4TZTIKokw0NNjqw+RVGsvraRaWwxPW6dsa3pMBHO+PUWqThg3KD4JUJJC9FGSFx184tSskam9BSTlVyMHOXVLE+8Bu4m5Np2TzvPh52SJP1stCUwjxa9s6vUE72FC2aVm3tUcQ8NYzE8rGBYosJKR4yAWlIlGQVyIaMQ4ZANEeVkiHCq3kcz8VSLMBLb/Ff3V73ibSKf5CPtKUhLyDNG8at7dtQQHT2FfJASo=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(26005)(186003)(966005)(83380400001)(33656002)(86362001)(55016002)(66476007)(52536014)(316002)(66446008)(2906002)(9686003)(66556008)(508600001)(71200400001)(8676002)(8936002)(4326008)(110136005)(54906003)(66946007)(6506007)(38100700002)(76116006)(53546011)(64756008)(38070700005)(7696005)(122000001)(5660300002)(7416002)(6636002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?Zm9EMUo0em1xV0tEUWlnd3Q4VTdtZ3dSMXR0aVk1ZXFUR2tRRFErbWhycG1E?=
 =?utf-8?B?TnduNEprckt4bjZLMHZ2TStxbnBVbndXeGpwUUlHbFRGdkFUR2I4TTdlOXBk?=
 =?utf-8?B?UVhMZS9rZ0lzYmczOERtbzhpMEQ5bEpzL3M2c1lyc3BCcUpaVmd6eE00WEk1?=
 =?utf-8?B?QldaNk1EeVYwdTRuNWFTTWlkS3pNZW1yS2tLeGV6bDhiRW9GcWM0VnVzTTNr?=
 =?utf-8?B?Y0NiS2p1eXpBVlI1QlZHR2tLT0lsZjFnblo4Q0plNENPb3h2RmxKdnZ1YWRE?=
 =?utf-8?B?aHo1YlZpMk1oMFZsQjE4TjZMR3paZTI3b1ZlVEtVYzFZOG9RR2dML0pHMTla?=
 =?utf-8?B?OUtRTnlQYjMyNmUwR2ZXZFNGOWlsU25QOW41VDR1OFg4YWRzdmliUnRYK29E?=
 =?utf-8?B?clF0ZkZFMGZDaEJwK0JyOHpxdldvakxjNHplcjBNcUtWbjltOGp1ZGZRSFZP?=
 =?utf-8?B?WW42UjFlYUx3eXhpSExUNWR3N3BFM0YrKytzL2swMS9MbGdvUVpydmxweng5?=
 =?utf-8?B?SG1kUklLWXJ4RVU1QmFsNTBrMngzeHJnaGRBVmk1aFZsdjRiZVErZ21Fb1R6?=
 =?utf-8?B?SmIvdU83ZTFneDhIWkJtWlVvSDl3RW9ISE8wNXhFcW1yQ0FScFNubm9wMlkw?=
 =?utf-8?B?TnFEeThCMzUwNEJnTS83bHllTzVZYW1sY2w5NDhXeElKT0V2YzlWZnFMM3lV?=
 =?utf-8?B?cGZ6MWVBUFJ1V1hsYTdhZGpXUElkOFFYRTI0MkNZOWc3ZzZNM2taVVBkL2Jw?=
 =?utf-8?B?TkN2MGFENnppTUN4NUNXczFGK0xSTnd4MFZHQ2hQTmhJMUxOdDBFQU1VQkpj?=
 =?utf-8?B?UUk2MEo0UUdpSlZRV3FkOENNYko0UHJnekVzVVB0WUR0YWpRSCtmVmQvek94?=
 =?utf-8?B?YjRJRzMzTDhKVFN4QjVDa2JGOStiUGpkZjBjdXhxL3JDYU9POStPbUpidmFx?=
 =?utf-8?B?SG13akhtdzVCeXdVUHI4dTh2T0FQZWxwcThmZko3RnNnMkNlSGpWOGl4SWNR?=
 =?utf-8?B?WlIxQVNIZnU2enhEaERYZEVSd1VEUHRxK2ExWFo3c2I0QUlKblpnOWJDK21Q?=
 =?utf-8?B?MVowSzIyalJMNDk0elZJaTYzNzU0Smo4S2VIeE1RTC92NWFiblNkT1Vjd0Vh?=
 =?utf-8?B?M0JWdUZJMkt5ZGoxcGF1NzJCNGdGNGpnZ2JkMzBkWlQ3K0lpUVExRlQxQTUr?=
 =?utf-8?B?YTM0YW44WjBnVHpuQkhKRmp4eVdBbzN3bTFSbEorRjVyUzJkaHVvRUUxRGtk?=
 =?utf-8?B?RzFFZ3E2OXJoN2RMYk80Qnp5MVdmeHZpQ0lyeDlSZ3Fzck1zOWJxd25FOFYr?=
 =?utf-8?B?TzJlMUlPWTMrclZtbWU3TjBaVVRlYkROQlJ1Q3dLS2RLWWFHWmxycUZ5VWlL?=
 =?utf-8?B?QzN3UFJ0bHVhUElkNXRXek4zY29QRjFJRWNUY1BPaUExOGV2VVhtaWpqR1Ix?=
 =?utf-8?B?RDJ6YVY2QVJ6aEFBcmdaeXZraXIwWGlkbjYzRC9UYUF3cWs1UTFZcGdtR2Zw?=
 =?utf-8?B?aWU2ZlVLVWNPaXE5TS9BWFcxUC8zVnF6ejF3MFFHZ1pFeHFzdlRQRUg2Zmcr?=
 =?utf-8?B?THNnam9MMWtTK2lzbU13QVpKRE56ODRGSEV2dkRNZGgzcGUyUlp6SWJEemhG?=
 =?utf-8?B?ZS9JWFcvQ3psZmR1S0U3L1pJeFduMTJuSnZiOUQxdkFoZGZEMmI5cS9ydzQw?=
 =?utf-8?B?OW9PTEhvTWJ3NUVHSGFSZUlGaUVsK2FJZDd5cmV3YXFQUmhIV0UwZGZub2ZN?=
 =?utf-8?Q?elYNfhGonSh/C6RLpkFfqQVIYgw0PDWHK64oV4F?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB5948
Original-Authentication-Results: gmail.com; dkim=none (message not signed)
 header.d=none;gmail.com; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT021.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	80e3d17e-ba56-4f4d-263f-08d95bc8eeee
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	GAUssLZ2HMibadsxhXGEsuh5x7I6KMq87SEx9dzw77sxW9VIfmzVJt4B3sV//4V5DmvczrVdppPM7sxEZN5mgS4KDX4hzhCxBdNHRThEmEaYRTlpsbHu4XJelpJb2MwcASC5VHVH2Bh1E+slgNHzWTRZLuus5enEOkEcYOQ90m6BAd+VFZh5p6/kphSPcwV0d8goh+vazppfaoHc7mYmiVEGNuhixTLAgxod4krfjxvI+w0OJFql/jHYOIe9KQGKHv1zEwBLitctQx7uHlWNvPeyhyBWOiuhckxHg3gq/kndRlFyw2HbbWskydc3TC3tYeN+Ds7fnDU+Af2ItPwugho+h47HSZhVbOa7pXItsmgjbWxZEDzmoooPi09LtVC3ZB7GsxmZ9g5zwdtZ0YG28p4NkQg3shgBisRK6XO2D8HrHD0saDDrs01OVU8Hk/rJ69lzHMhVLq5DTFURcCQYkgxFxad/Uqu5ZHxBUx7JAKAKWEVZWEU+LrRRnTYFaIqH1ZP3q4IX+/Q+/IDzfkKCtz7MdMSX5wA0ExhWfkU8LoVm2DcPKao4m4tgxCaXupbTUrVeoFzD1v9KeDpIpQ9fbpgmFDYrrER6vMTl/cbRU79OSmmq23uaxKPFQxKl0GZrM9p7b+GCnCw3ItRQVTk3hxL+DRyotv3nhQ4SwBSgdmVECvnY/IYvfcBIdIOU20sofn1xZ7vY5U4+TcIO1cIAzP3puOWgCUVVtycV53ywPeL/uWrsi0HypmATFSTM6va5oG58JZ5IJo2ET2PeCfXiSw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(396003)(346002)(136003)(376002)(39860400002)(36840700001)(46966006)(186003)(966005)(26005)(2906002)(7696005)(54906003)(6506007)(53546011)(5660300002)(478600001)(6636002)(336012)(55016002)(47076005)(33656002)(316002)(356005)(4326008)(36860700001)(9686003)(82740400003)(52536014)(8676002)(8936002)(82310400003)(81166007)(86362001)(70586007)(83380400001)(110136005)(70206006);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2021 06:34:59.8372
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 86439dd4-14f0-4610-b448-08d95bc8fa36
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT021.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6079

SGkgT2xla3NhbmRyLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE9s
ZWtzYW5kciA8b2xla3N0eXNoQGdtYWlsLmNvbT4NCj4gU2VudDogMjAyMeW5tDjmnIgxMOaXpSAy
OjI1DQo+IFRvOiBKdWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4ub3JnPg0KPiBDYzogU3RlZmFubyBT
dGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPjsgQW5kcmV3IENvb3Blcg0KPiA8YW5k
cmV3LmNvb3BlcjNAY2l0cml4LmNvbT47IHhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZzsg
T2xla3NhbmRyDQo+IFR5c2hjaGVua28gPG9sZWtzYW5kcl90eXNoY2hlbmtvQGVwYW0uY29tPjsg
RGFuaWVsIERlIEdyYWFmDQo+IDxkZ2RlZ3JhQHR5Y2hvLm5zYS5nb3Y+OyBEYW5pZWwgUC4gU21p
dGggPGRwc21pdGhAYXBlcnR1c3NvbHV0aW9ucy5jb20+Ow0KPiBJYW4gSmFja3NvbiA8aXdqQHhl
bnByb2plY3Qub3JnPjsgV2VpIExpdSA8d2xAeGVuLm9yZz47IEdlb3JnZSBEdW5sYXANCj4gPGdl
b3JnZS5kdW5sYXBAY2l0cml4LmNvbT47IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT47
IFZvbG9keW15cg0KPiBCYWJjaHVrIDxWb2xvZHlteXJfQmFiY2h1a0BlcGFtLmNvbT47IFJvZ2Vy
IFBhdSBNb25uw6kNCj4gPHJvZ2VyLnBhdUBjaXRyaXguY29tPjsgQmVydHJhbmQgTWFycXVpcyA8
QmVydHJhbmQuTWFycXVpc0Bhcm0uY29tPjsgV2VpDQo+IENoZW4gPFdlaS5DaGVuQGFybS5jb20+
DQo+IFN1YmplY3Q6IFJlOiBbUkZDIFBBVENIXSB4ZW4vbWVtb3J5OiBJbnRyb2R1Y2UgYSBoeXBl
cmNhbGwgdG8gcHJvdmlkZQ0KPiB1bmFsbG9jYXRlZCBzcGFjZQ0KPiANCj4gDQo+IE9uIDA5LjA4
LjIxIDE4OjQyLCBKdWxpZW4gR3JhbGwgd3JvdGU6DQo+ID4gSGkgT2xla3NhbmRyLA0KPiANCj4g
DQo+IEhpIEp1bGllbi4NCj4gDQo+IA0KPiBUaGFuayB5b3UgZm9yIHRoZSBpbnB1dC4NCj4gDQo+
IA0KPiA+DQo+ID4gT24gMDcvMDgvMjAyMSAxODowMywgT2xla3NhbmRyIHdyb3RlOg0KPiA+Pg0K
PiA+PiBPbiAwNi4wOC4yMSAwMzozMCwgU3RlZmFubyBTdGFiZWxsaW5pIHdyb3RlOg0KPiA+Pg0K
PiA+PiBIaSBTdGVmYW5vDQo+ID4+DQo+ID4+PiBPbiBXZWQsIDQgQXVnIDIwMjEsIEp1bGllbiBH
cmFsbCB3cm90ZToNCj4gPj4+Pj4gKyNkZWZpbmUgR1VFU1RfU0FGRV9SQU5HRV9CQVNFIHhlbl9t
a191bGxvbmcoMHhERTAwMDAwMDAwKSAvKg0KPiA+Pj4+PiAxMjhHQiAqLw0KPiA+Pj4+PiArI2Rl
ZmluZSBHVUVTVF9TQUZFX1JBTkdFX1NJWkUgeGVuX21rX3VsbG9uZygweDAyMDAwMDAwMDApDQo+
ID4+Pj4+DQo+ID4+Pj4+IFdoaWxlIHRoZSBwb3NzaWJsZSBuZXcgRFQgYmluZGluZ3MgaGFzIG5v
dCBiZWVuIGFncmVlZCB5ZXQsIEkgcmUtDQo+IHVzZWQNCj4gPj4+Pj4gZXhpc3RpbmcgInJlZyIg
cHJvcGVydHkgdW5kZXIgdGhlIGh5cGVydmlzb3Igbm9kZSB0byBwYXNzIHNhZmUNCj4gPj4+Pj4g
cmFuZ2UgYXMgYQ0KPiA+Pj4+PiBzZWNvbmQgcmVnaW9uLA0KPiA+Pj4+PiBodHRwczovL2VsaXhp
ci5ib290bGluLmNvbS9saW51eC92NS4xNC0NCj4gcmM0L3NvdXJjZS9Eb2N1bWVudGF0aW9uL2Rl
dmljZXRyZWUvYmluZGluZ3MvYXJtL3hlbi50eHQjTDEwOg0KPiA+Pj4+Pg0KPiA+Pj4+IFNvIGEg
c2luZ2xlIHJlZ2lvbiB3b3JrcyBmb3IgYSBndWVzdCB0b2RheSwgYnV0IGZvciBkb20wIHdlIHdp
bGwNCj4gPj4+PiBuZWVkIG11bHRpcGxlDQo+ID4+Pj4gcmVnaW9ucyBiZWNhdXNlIGl0IGlzIG1h
eSBiZSBkaWZmaWN1bHQgdG8gZmluZCBlbm91Z2ggY29udGlndW91cw0KPiA+Pj4+IHNwYWNlIGZv
ciBhDQo+ID4+Pj4gc2luZ2xlIHJlZ2lvbi4NCj4gPj4+Pg0KPiA+Pj4+IFRoYXQgc2FpZCwgYXMg
ZG9tMCBpcyBtYXBwZWQgMToxIChpbmNsdWRpbmcgc29tZSBndWVzdCBtYXBwaW5nKSwNCj4gPj4+
PiB0aGVyZSBpcyBhbHNvDQo+ID4+Pj4gdGhlIHF1ZXN0aW9uIHdoZXJlIHRvIGFsbG9jYXRlIHRo
ZSBzYWZlIHJlZ2lvbi4gRm9yIGdyYW50IHRhYmxlLCB3ZQ0KPiA+Pj4+IHNvIGZhcg0KPiA+Pj4+
IHJlLXVzZSB0aGUgWGVuIGFkZHJlc3Mgc3BhY2UgYmVjYXVzZSBpdCBpcyBhc3N1bWVkIGl0IHdp
bGwgc3BhY2UNCj4gPj4+PiB3aWxsIGFsd2F5cw0KPiA+Pj4+IGJlIGJpZ2dlciB0aGFuIHRoZSBn
cmFudCB0YWJsZS4NCj4gPj4+Pg0KPiA+Pj4+IEkgYW0gbm90IHN1cmUgeWV0IHdoZXJlIHdlIGNv
dWxkIGFsbG9jYXRlIHRoZSBzYWZlIHJlZ2lvbnMuDQo+ID4+Pj4gU3RlZmFubywgZG8geW91DQo+
ID4+Pj4gaGF2ZSBhbnkgaWRlYXM/DQo+ID4+PiBUaGUgc2FmZXN0IGNob2ljZSB3b3VsZCBiZSB0
aGUgYWRkcmVzcyByYW5nZSBjb3JyZXNwb25kaW5nIHRvIG1lbW9yeQ0KPiA+Pj4gKC9tZW1vcnkp
IG5vdCBhbHJlYWR5IGFsbG9jYXRlZCB0byBEb20wLg0KPiA+Pj4NCj4gPj4+IEZvciBpbnN0YW5j
ZSBmcm9tIG15IGxhc3QgYm9vdCBsb2dzOg0KPiA+Pj4gKFhFTikgQWxsb2NhdGluZyAxOjEgbWFw
cGluZ3MgdG90YWxsaW5nIDE2MDBNQiBmb3IgZG9tMDoNCj4gPj4+IChYRU4pIEJBTktbMF0gMHgw
MDAwMDAxMDAwMDAwMC0weDAwMDAwMDcwMDAwMDAwICgxNTM2TUIpDQo+ID4+PiAoWEVOKSBCQU5L
WzFdIDB4MDAwMDAwNzgwMDAwMDAtMHgwMDAwMDA3YzAwMDAwMCAoNjRNQikNCj4gPj4+DQo+ID4+
PiBBbGwgdGhlIG90aGVyIHJhbmdlcyBjb3VsZCBiZSBnaXZlbiBhcyB1bmFsbG9jYXRlZCBzcGFj
ZToNCj4gPj4+DQo+ID4+PiAtIDB4MCAtIDB4MTAwMDAwMDANCj4gPj4+IC0gMHg3MDAwMDAwMCAt
IDB4NzgwMDAwMDANCj4gPj4+IC0gMHg4XzAwMDBfMDAwMCAtIDB4OF84MDAwXzAwMDANCj4gPj4N
Cj4gPj4gVGhhbmsgeW91IGZvciB0aGUgaWRlYXMuDQo+ID4+DQo+ID4+IElmIEkgZ290IHRoZSBp
ZGVhIGNvcnJlY3RseSwgeWVzLCBhcyB0aGVzZSByYW5nZXMgcmVwcmVzZW50IHRoZSByZWFsDQo+
ID4+IFJBTSwgc28gbm8gSS9PIHdvdWxkIGJlIGluIGNvbmZsaWN0IHdpdGggdGhlbSBhbmQgYXMg
dGhlIHJlc3VsdCAtIG5vDQo+ID4+IG92ZXJsYXBzIHdvdWxkIGJlIGV4cGVjdGVkLg0KPiA+PiBC
dXQsIEkgd29uZGVyLCB3b3VsZCB0aGlzIHdvcmsgaWYgd2UgaGF2ZSBJT01NVSBlbmFibGVkIGZv
ciBEb20wIGFuZA0KPiA+PiBuZWVkIHRvIGVzdGFibGlzaCAxOjEgbWFwcGluZyBmb3IgdGhlIERN
QSBkZXZpY2VzIHRvIHdvcmsgd2l0aCBncmFudA0KPiA+PiBtYXBwaW5ncy4uLg0KPiA+PiBJbiBh
cm1faW9tbXVfbWFwX3BhZ2UoKSB3ZSBjYWxsIGd1ZXN0X3BoeXNtYXBfYWRkX2VudHJ5KCkgd2l0
aCBnZm4gPQ0KPiA+PiBtZm4sIHNvIHRoZSBxdWVzdGlvbiBpcyBjb3VsZCB3ZSBlbmQgdXAgd2l0
aCB0aGlzIG5ldyBnZm4gcmVwbGFjaW5nDQo+ID4+IHRoZSB2YWxpZCBtYXBwaW5nDQo+ID4+ICh3
aXRoIGdmbiBhbGxvY2F0ZWQgZnJvbSB0aGUgc2FmZSByZWdpb24pPw0KPiA+DQo+ID4gUmlnaHQs
IHdoZW4gd2UgZW5hYmxlIHRoZSBJT01NVSBmb3IgZG9tMCwgWGVuIHdpbGwgYWRkIGFuIGV4dHJh
DQo+ID4gbWFwcGluZyB3aXRoIEdGTiA9PSBNRk4gZm9yIGZvcmVpZ24gYW5kIGdyYW50IHBhZ2Vz
LiBUaGlzIGlzIGJlY2F1c2UNCj4gPiBMaW51eCBpcyBub3QgYXdhcmUgdGhhdCB3aGV0aGVyIGEg
ZGV2aWNlIGlzIHByb3RlY3RlZCBieSBhbiBJT01NVS4NCj4gPiBUaGVyZWZvcmUgaXQgaXMgYXNz
dW1pbmcgaXQgaXMgbm90IGFuZCB3aWxsIHVzZSB0aGUgTUZOIHRvIGNvbmZpZ3VyZQ0KPiA+IGZv
ciBETUEgdHJhbnNhY3Rpb24uDQo+ID4NCj4gPiBXZSBjYW4ndCByZW1vdmUgdGhlIG1hcHBpbmcg
d2l0aG91dCBzaWduaWZpY2FudCBjaGFuZ2VzIGluIExpbnV4IGFuZA0KPiA+IFhlbi4gSSB3b3Vs
ZCBub3QgbWFuZGF0ZSB0aGVtIGZvciB0aGlzIHdvcmsuDQo+ID4NCj4gPiBUaGF0IHNhaWQsIEkg
dGhpbmsgaXQgd291bGQgYmUgYWNjZXB0YWJsZSB0byBoYXZlIGRpZmZlcmVudCB3YXkgdG8NCj4g
PiBmaW5kIHRoZSByZWdpb24gZGVwZW5kaW5nIG9uIHRoZSBkb20wIGNvbmZpZ3VyYXRpb24uIFNv
IHdlIGNvdWxkIHVzZQ0KPiA+IHRoZSBSQU0gbm90IHVzZWQgYnkgZG9tMCB3aGVuIHRoZSBJT01N
VSBpcyB0dXJuZWQgb2ZmLg0KPiANCj4gT0sNCj4gDQo+IA0KPiA+DQo+ID4+PiBUaGUgc2Vjb25k
IGJlc3QgY2hvaWNlIHdvdWxkIGJlIGFuIGhvbGU6IGFuIGFkZHJlc3MgcmFuZ2Ugbm90IHVzZWQg
YnkNCj4gPj4+IGFueWJvZHkgZWxzZSAobm8gcmVnIHByb3BlcnR5KSBhbmQgYWxzbyBub3QgZXZl
biBtYXBwYWJsZSBieSBhIGJ1cw0KPiAobm90DQo+ID4+PiBjb3ZlcmVkIGJ5IGEgcmFuZ2VzIHBy
b3BlcnR5KS4gVGhpcyBpcyBub3QgdGhlIGJlc3QgY2hvaWNlIGJlY2F1c2UNCj4gPj4+IHRoZXJl
DQo+ID4+PiBjYW4gY2FzZXMgd2hlcmUgcGh5c2ljYWwgcmVzb3VyY2VzIGFwcGVhciBhZnRlcndh
cmRzLg0KPiA+DQo+ID4gQXJlIHlvdSBzYXlpbmcgdGhhdCB0aGUgb3JpZ2luYWwgZGV2aWNlLXRy
ZWUgZG9lc24ndCBldmVuIGRlc2NyaWJlDQo+ID4gdGhlbSBpbiBhbnkgd2F5IChpLmUuIHJlc2Vy
dmVkLi4uKT8NCj4gPg0KPiA+Pg0KPiA+PiBVbmZvcnR1bmF0ZWx5LCB5ZXMuDQo+ID4NCj4gPiBT
byB0aGUgZGVjaXNpb24gd2hlcmUgdGhlIHNhZmUgcmVnaW9uIGlzIGxvY2F0ZWQgd2lsbCBiZSBk
b25lIGJ5IFhlbi4NCj4gPiBUaGVyZSBpcyBubyBpbnZvbHZlbWVudCBvZiB0aGUgZG9tYWluIChp
dCB3aWxsIGRpc2NvdmVyIHRoZSByZWdpb24NCj4gPiBmcm9tIHRoZSBEVCkuIFRoZXJlZm9yZSwg
SSBkb24ndCB0aGluayB3ZSBuZWVkIHRvIHRoaW5rIGFib3V0DQo+ID4gZXZlcnl0aGluZyByaWdo
dCBub3cgYXMgd2UgY291bGQgYWRhcHQgdGhpcyBpcyBleGFjdCByZWdpb24gaXMgbm90DQo+ID4g
cGFydCBvZiB0aGUgc3RhYmxlIEFCSS4NCj4gPg0KPiA+IFRoZSBob3RwbHVnIGlzIG9uZSBJIHdv
dWxkIGRlZmVyIGJlY2F1c2UgdGhpcyBpcyBub3Qgc3VwcG9ydGVkIChhbmQNCj4gPiBxdWl0ZSBs
aWtlbHkgbm90IHdvcmtpbmcpIGluIFhlbiB1cHN0cmVhbSB0b2RheS4NCj4gDQo+IFNvdW5kcyBy
ZWFzb25hYmxlLg0KPiANCj4gDQo+ID4NCj4gPg0KPiA+IE5vdyByZWdhcmRpbmcgdGhlIGNhc2Ug
d2hlcmUgZG9tMCBpcyB1c2luZyB0aGUgSU9NTVUuIFRoZSBhc3N1bXB0aW9uDQo+ID4gaXMgWGVu
IHdpbGwgYmUgYWJsZSB0byBmaWd1cmUgb3V0IGFsbCB0aGUgcmVnaW9ucyB1c2VkIGZyb20gdGhl
DQo+ID4gZmlybXdhcmUgdGFibGUgKEFDUEkgb3IgRFQpLg0KPiA+DQo+ID4gQUZBSUssIHRoaXMg
YXNzdW1wdGlvbiB3b3VsZCBiZSBjb3JyZWN0IGZvciBEVC4gSG93ZXZlciwgZm9yIEFDUEksIEkN
Cj4gPiByZW1lbWJlciB3ZSB3ZXJlIG5vdCBhYmxlIHRvIGZpbmQgYWxsIHRoZSBNTUlPcyByZWdp
b24gaW4gWGVuIChzZWUgWzFdDQo+ID4gYW5kIFsyXSkuIFNvIGV2ZW4gdGhpcyBzb2x1dGlvbiB3
b3VsZCBub3Qgd29yayBmb3IgQUNQSS4NCj4gPg0KPiA+IElmIEkgYW0gbm90IG1pc3Rha2VuLCB3
ZSBkb24ndCBzdXBwb3J0IElPTU1VIHdpdGggQUNQSSB5ZXQuIFNvIHdlDQo+ID4gY291bGQgZGVm
ZXIgdGhlIHByb2JsZW0gdG8gd2hlbiB0aGlzIGlzIGdvaW5nIHRvIGJlIHN1cHBvcnRlZC4NCj4g
DQo+IFNvdW5kcyByZWFzb25hYmxlLg0KPiANCj4gDQo+IFRvIHN1bW1hcml6ZToNCj4gDQo+IDAu
IFNraXAgQUNQSSBjYXNlIGZvciBub3csIGltcGxlbWVudCBmb3IgRFQgY2FzZQ0KPiANCj4gMS4g
SWYgSU9NTVUgaXMgZW5hYmxlZCBmb3IgRG9tMCAtPiBwcm92aWRlIGhvbGVzIGZvdW5kIGluIEhv
c3QgRFQgYXMNCj4gc2FmZSByYW5nZXMNCj4gDQoNCkRvZXMgc3RhdGljIGFsbG9jYXRpb24gYW5k
IGRpcmVjdCBtYXBwaW5nIGRyaXZlciBkb21haW4gY2FuIGJlIHRyZWF0ZWQNCmFzIHRoaXMgY2Fz
ZT8NCg0KPiBJIHdvdWxkIHRha2UgaW50byB0aGUgYWNjb3VudCBob2xlcyA+PSAxTUIuIEkgYW0g
d29uZGVyaW5nLCBkbyB3ZSBuZWVkIGENCj4gc3BlY2lhbCBhbGlnbm1lbnQgaGVyZSBvdGhlciB0
aGFuIGEgUEFHRV9TSVpFPw0KPiANCj4gMi4gSWYgSU9NTVUgaXMgZGlzYWJsZWQgZm9yIERvbTAg
LT4gcHJvdmlkZSBSQU0gd2hpY2ggbm90IGFzc2lnbmVkIHRvDQo+IERvbTAgYXMgc2FmZSByYW5n
ZXMNCj4gDQo+IFdlIGNvdWxkIGV2ZW4gcHJvdmlkZSBob2xlcyBoZXJlIGFzIHdlbGwuDQo+IA0K
PiANCj4gPg0KPiA+DQo+ID4gQ2hlZXJzLA0KPiA+DQo+ID4gWzFdIGh0dHBzOi8vbWFyYy5pbmZv
Lz9sPWxpbnV4LWFybS1rZXJuZWwmbT0xNDg0NjkxNjkyMTA1MDAmdz0yDQo+ID4gWzJdIFhlbiBj
b21taXQgODBmOWMzMTY3MDg0MDBjZWE0NDE3ZTM2MzM3MjY3ZDNiMjY1OTFkYg0KPiA+DQo+IC0t
DQo+IFJlZ2FyZHMsDQo+IA0KPiBPbGVrc2FuZHIgVHlzaGNoZW5rbw0KDQo=


From xen-devel-bounces@lists.xenproject.org Tue Aug 10 06:41:20 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Aug 2021 06:41:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165267.302036 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDLRs-0005Cz-GH; Tue, 10 Aug 2021 06:41:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165267.302036; Tue, 10 Aug 2021 06:41:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDLRs-0005Cs-DI; Tue, 10 Aug 2021 06:41:16 +0000
Received: by outflank-mailman (input) for mailman id 165267;
 Tue, 10 Aug 2021 06:41:15 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=RCh7=NB=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mDLRr-0005Cm-Mw
 for xen-devel@lists.xenproject.org; Tue, 10 Aug 2021 06:41:15 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id f48956c6-f9a5-11eb-9f5a-12813bfff9fa;
 Tue, 10 Aug 2021 06:41:14 +0000 (UTC)
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2052.outbound.protection.outlook.com [104.47.0.52]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-23-JW1mXRkPOgu-23m4PsUjJQ-1; Tue, 10 Aug 2021 08:41:11 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0402MB2702.eurprd04.prod.outlook.com (2603:10a6:800:b4::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.21; Tue, 10 Aug
 2021 06:41:08 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4394.023; Tue, 10 Aug 2021
 06:41:08 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM3PR05CA0141.eurprd05.prod.outlook.com (2603:10a6:207:3::19) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4394.17 via Frontend Transport; Tue, 10 Aug 2021 06:41:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f48956c6-f9a5-11eb-9f5a-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628577673;
	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=HHy/bBTHJRzalDrHK7QCXmLH6hdSw0HSViJeiIZ0LXg=;
	b=ifcZt9NwxbivZiYp/Lctsn4R4XpSOVqTIhPOl1uprE2knJnyO1N6DdHyj0r+ksCx7dc2kf
	JPFAFSgypXKbm3ytCRDRi5axBTMG37jSuVcgb0PYZEVumiA83qZRC+8+htSLgOW0CqBGho
	PGUWrl3505uirChaugqAg4akgMYNGLM=
X-MC-Unique: JW1mXRkPOgu-23m4PsUjJQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KOnQlATVG3bnm1aSF9hcfHVr/cXWfPguroGSgBo9wKx21dUWhD5RQTc+JHZhmNPS774PyCLIWgs8PiGQJ652QWQpHhlG1lny0wsoYQviF/QBTmcQi78ghm4WWYFALEO+5sYPGkcfDEzkXZYZB7sHW49+CVXyaxeoJvgYSnf0Ql9tG+tSjO0wvcY86lryFAiQFMYuHEPeECUVmZURnCLRS0OYlOxtX8GkzV/KLuO1ADB6JXCoDro1DlBNEyV6CpBdGQo5YZ02sYd4+ypt2YdqnW9qqE/omgOSeaLB8mWcTNRfaaL8roVZRDECAp800Rb1bzCyoYda+PMxVttCK8QVkA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HHy/bBTHJRzalDrHK7QCXmLH6hdSw0HSViJeiIZ0LXg=;
 b=naualJgUIgmUT2+7xs5l8PQpCmkNBeT6YntsZr4xHPtEMcQUxe/+Cnzs51NdQyVtiAFtNCty5j4KLa+1urY7gTBowSJyCD0PXwHcimXv0hrpAk89XU8KsKaQLizicduClCWxrZZ0uau+CLT9U/CAlTIFOVTkCqwWsDwRtvD89vy8ONFZ4guMnWmhDLdTootPkIW8OrrOLUm8Dt9Zz6rzkwnVk0514CmNtbaMnMdmjj2OdsM3qAavEAVr5Z2HbSGaprBgeFHvFwLBrxFr1S3BW56ilLwcLZLoY82kTkw7eat6Lu53tzpBET7QYPyK26rUH/88o6EXtqD1Cpc2hNtEHQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH 1/4] public: Add page related definitions for accessing
 guests memory
To: Costin Lupu <costin.lupu@cs.pub.ro>
Cc: 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>, Ian Jackson <iwj@xenproject.org>,
 Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1628519855.git.costin.lupu@cs.pub.ro>
 <b397d346dcd6243d1957b3e4cfe7a09a6bd1c1b4.1628519855.git.costin.lupu@cs.pub.ro>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <d92ed571-521e-70f1-af20-1423dbbf4014@suse.com>
Date: Tue, 10 Aug 2021 08:41:09 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <b397d346dcd6243d1957b3e4cfe7a09a6bd1c1b4.1628519855.git.costin.lupu@cs.pub.ro>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM3PR05CA0141.eurprd05.prod.outlook.com
 (2603:10a6:207:3::19) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 87a555f0-e810-4a79-cd6b-08d95bc9d5fa
X-MS-TrafficTypeDiagnostic: VI1PR0402MB2702:
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB27026969496CC3F5CE73ECDBB3F79@VI1PR0402MB2702.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Bik+/yWfsiaVMNhFIUNHR9m/UU8E3+EQY+M6itKAqbd41/1cxs1EoDSgd4m7RCru5kXpPL8Ku59U0suZHYrF4kDx9Snph14M0ubnoPANZ1RdGixvBv1BXZVGKFB5lA/FuSwGlyijsMyMs7sIkRXcQtF30bFuvcAnYD14K95LYHCvexSi1LTKaoeHBJTVraa8lesjNQCNH82IMcalo8uYW1MYU7i9i5++veL1uzd46jIgqwpv5PsIJl8fI59iN1OlLF8ZnSGJ1HsRpJhvIRqNEw7qbrek4W8wHpEjoIRBUoHyAK/cwsDo9+JR1bFHl10k4T2/tysQviNa1O72etOyM9GsrbNHUSEae0iWVHQExXXQD7qpaHgEdrBgITNTPdFBfXGGkcN4nkT19M8Qz5x//NpojJHPVqkdoy31ZHwPlwkT11VRZnuFUmjuiQDz2syRO8Td6ti1KdmnS+gvNpA9lYD0e+hXciNvpU2R7KzQU2t47whTdg97tha54np0OmR4hEgMtZtnm399eow0y3KN2Id1WPDstdkO+qJzC7AjuN7PsW8oXQnF3yl+wNIBdMaHIcGvLt5lKeUJ+aIOZaGOIOtJIg1CC9HjQIr6tMY5EJqQ5wwh1LHo0NSHKxvUC0SZAz3mX2sFh/LANY1XcyRWMXaf6gFbckZEoXz+IBIUPf50aU8qPuCUld03J/WQ7GaP4Ch9u64Ivz2sRoDYuPjwvr6zrXuMC6bAauGSdcvPlLM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(136003)(346002)(366004)(39860400002)(376002)(316002)(2906002)(16576012)(8936002)(36756003)(83380400001)(31686004)(2616005)(53546011)(956004)(38100700002)(7416002)(86362001)(4326008)(186003)(478600001)(66946007)(54906003)(8676002)(31696002)(6916009)(26005)(5660300002)(66476007)(66556008)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UTM4amVXVWthekNCaFdxejk5RDdsdHFocEwyK0N5cUUwZEdKMkFLeXJML1Q2?=
 =?utf-8?B?OU9YdGNuM0JrN2dxRU45YUFrWHd5aWpMbUVqWGE1eDgzZTNoRVhTc3V6b25h?=
 =?utf-8?B?eFNPU3pOZDJyZjNDWCtucTY3aVg4Q29UR0NUemdrTVo3NXpZRXNHQkZEbWds?=
 =?utf-8?B?UVJMVUxBSUo1R0VrZnFSQ0hXYUVCZWtLdHAzZy9yZllnTnRRYTRKNnY1ZVBh?=
 =?utf-8?B?dnd3OGxSTlRqMzFIdDVpYUZTWE1UWlVwdGVPdElYbXJXdGFLeVJIaDdqTHVy?=
 =?utf-8?B?eEMzMmZCRHk1eU5YaFh4MnhpZHllNEdiWXBoaUJTMTZMRWhvVXJmaU5YY2x3?=
 =?utf-8?B?RGVuK3pyV1Zrd1EvWWxieGRXQUhZclhsSzJEQlJIRkluU3BucEhZeEVTakIv?=
 =?utf-8?B?TnQ3RDh2WVh3TkxBMUZLbnhxeGxuc215emttOHBGekRBbC9nTWRIeXA2T2Fm?=
 =?utf-8?B?QjRiRi9PZVRaWFpBWjhSRHE0UTZ5RjNtbWY5K1pNZVZBZ3VySkl6N1d2c053?=
 =?utf-8?B?c3pzLzh2N3VSRDhrUjgrMTdvYU5ndnV5R3FHM3VxdENDamtzUTVJSDVZNmQy?=
 =?utf-8?B?bng1aDRtcTR2bm5SOE8xc0RWWU5TVDFPb0R5QjBtZHBqTk1USitNR1RJd0h5?=
 =?utf-8?B?TVVXdHJKRlZHNzB0dC9iVlNRWVYvUysyRXFnaWdScWhvSFdrbnZEVWxSMzJy?=
 =?utf-8?B?YTFNc0lUY29iSkhQNzVZNHZmSDlPcVlMMkFKeXZ6WEc2Wkp2WTBNTmRiQXkw?=
 =?utf-8?B?a2htNWZibzBnL05BbDV3M2JlcjkzSFoxVnVSaXFRRG53SkwyTTZNSGJiclNu?=
 =?utf-8?B?VFR6V3hzQ3Z2N1VjQlJBY1ZpL2o4bFVPeWdTTTQ3OE9nWVNJeVcraUUzejdF?=
 =?utf-8?B?b3I5UUREbGtLMDlkWHNNNzBzSFZBOVV5dStXQmgwRVJZeG02UzM5OHRXRVVa?=
 =?utf-8?B?RkR3bFNnS2RsSS9JZm5VOGM1MmxOd3hRVzRSSkdQQi8zNDNwMW54QTBwWVl2?=
 =?utf-8?B?NmlROWlvYWNCVU5tK2pOZWU4OTFPalpDTkhFMGt1SUl3V3kwMXNOdCtCUmF4?=
 =?utf-8?B?T1lxZmVvaU5SRXc3cWNmN0hDMmZyQk8ybC90Z2FwV21pYVd5UlgrQnZkMExv?=
 =?utf-8?B?T3l4MnhIa3VKTnZ4S0ZxWnlibkRsdmlXMFVBZFZvWW5ORjVjb0pQQU00VUN6?=
 =?utf-8?B?MWIxR1hacW9MampFOExTbUdITHBHcy81MEtVNnh0eFBWZGNJVXJYNURqUGxV?=
 =?utf-8?B?eW1jR0FlaE1MWlJGMkhUckE4TXJZc3hJekE3dWFNV0pNcnRldUtpT0x5dXgz?=
 =?utf-8?B?T1NXSFdveFhpVVFEeVpDUG1mTllLOEV1bFM5ekpaVThNZjVVMkRXU01vQVZp?=
 =?utf-8?B?ckhmcGNVa2xsck9GL0tvVUFkeHcwaWdHQmd3cHRXdjhsRm5ERk1MWnFsM0FN?=
 =?utf-8?B?UWdXU0V1ZWJCZDhxVnBGVzN4eTBSM1I3dVZsU2tKUXh1Tnd6c0MrSjkzVzRl?=
 =?utf-8?B?UGIwT2twTng2NTBNRWtxaHlvMnpScmkvVFIreE5DTER6NFVjalB0YlpVdEtL?=
 =?utf-8?B?UndSOUxHMmplek1BQTNXbXBSQkVlV2R1b0NnT283Vk45Y2c4N0V3NXM4OFRh?=
 =?utf-8?B?SzNZaktoZDQ1ZWpoaWQ0aFAzVDI4czJVNUdJbGZ0elgvREJYcU10elVwT1Q0?=
 =?utf-8?B?RERMZWhwQmZ2cTgwM2hHWms3b2tMeWtacDc4b0J3VUdzeW5aVk50eWNYNGc2?=
 =?utf-8?Q?atedPDj197CwltNf8LgyvELIvE3oDCmR11thqhH?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 87a555f0-e810-4a79-cd6b-08d95bc9d5fa
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2021 06:41:08.7182
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: WRzJ9Lc6MIrjgwoJOwQkkuSXSW75FQo2OTYQ+iGWjuwFPwH4cFKoN9UGsYOKUlsqRxZPgVIWPy4L3Y/rgp4DjA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB2702

On 09.08.2021 16:47, Costin Lupu wrote:
> These changes introduce the page related definitions needed for mapping and
> accessing guests memory. These values are intended to be used by any toolstack
> component that needs to map guests memory. Until now, the values were defined
> by the xenctrl.h header, therefore whenever a component had to use them it also
> had to add a dependency for the xenctrl library.
> 
> For this patch we set the same values for both x86 and ARM architectures.
> 
> Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
> ---
>  xen/include/public/arch-arm/page.h | 34 ++++++++++++++++++++++++++
>  xen/include/public/arch-x86/page.h | 34 ++++++++++++++++++++++++++
>  xen/include/public/page.h          | 38 ++++++++++++++++++++++++++++++
>  3 files changed, 106 insertions(+)
>  create mode 100644 xen/include/public/arch-arm/page.h
>  create mode 100644 xen/include/public/arch-x86/page.h
>  create mode 100644 xen/include/public/page.h

I'm not convinced of these warranting introduction of new headers, but
I'm also not meaning to say that I'm strictly opposed. I don't recall
this aspect having had any consideration, yet.

> --- /dev/null
> +++ b/xen/include/public/arch-arm/page.h
> @@ -0,0 +1,34 @@
> +/******************************************************************************
> + * page.h
> + *
> + * Page definitions for accessing guests memory on ARM
> + *
> + * Permission is hereby granted, free of charge, to any person obtaining a copy
> + * of this software and associated documentation files (the "Software"), to
> + * deal in the Software without restriction, including without limitation the
> + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
> + * sell copies of the Software, and to permit persons to whom the Software is
> + * furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice shall be included in
> + * all copies or substantial portions of the Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
> + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
> + * DEALINGS IN THE SOFTWARE.
> + *
> + * Copyright (c) 2021, Costin Lupu
> + */
> +
> +#ifndef __XEN_PUBLIC_ARCH_ARM_PAGE_H__
> +#define __XEN_PUBLIC_ARCH_ARM_PAGE_H__
> +
> +#define XEN_PAGE_SHIFT           12
> +#define XEN_PAGE_SIZE            (1UL << XEN_PAGE_SHIFT)
> +#define XEN_PAGE_MASK            (~(XEN_PAGE_SIZE - 1))

The latter two, being identical ...

> --- /dev/null
> +++ b/xen/include/public/arch-x86/page.h
> @@ -0,0 +1,34 @@
> +/******************************************************************************
> + * page.h
> + *
> + * Page definitions for accessing guests memory on x86
> + *
> + * Permission is hereby granted, free of charge, to any person obtaining a copy
> + * of this software and associated documentation files (the "Software"), to
> + * deal in the Software without restriction, including without limitation the
> + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
> + * sell copies of the Software, and to permit persons to whom the Software is
> + * furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice shall be included in
> + * all copies or substantial portions of the Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
> + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
> + * DEALINGS IN THE SOFTWARE.
> + *
> + * Copyright (c) 2021, Costin Lupu
> + */
> +
> +#ifndef __XEN_PUBLIC_ARCH_X86_PAGE_H__
> +#define __XEN_PUBLIC_ARCH_X86_PAGE_H__
> +
> +#define XEN_PAGE_SHIFT           12
> +#define XEN_PAGE_SIZE            (1UL << XEN_PAGE_SHIFT)
> +#define XEN_PAGE_MASK            (~(XEN_PAGE_SIZE - 1))

... not just for x86, but in general, should imo move ...

> --- /dev/null
> +++ b/xen/include/public/page.h
> @@ -0,0 +1,38 @@
> +/******************************************************************************
> + * page.h
> + *
> + * Page definitions for accessing guests memory
> + *
> + * Permission is hereby granted, free of charge, to any person obtaining a copy
> + * of this software and associated documentation files (the "Software"), to
> + * deal in the Software without restriction, including without limitation the
> + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
> + * sell copies of the Software, and to permit persons to whom the Software is
> + * furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice shall be included in
> + * all copies or substantial portions of the Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
> + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
> + * DEALINGS IN THE SOFTWARE.
> + *
> + * Copyright (c) 2021, Costin Lupu
> + */
> +
> +#ifndef __XEN_PUBLIC_PAGE_H__
> +#define __XEN_PUBLIC_PAGE_H__
> +
> +#if defined(__i386__) || defined(__x86_64__)
> +#include "arch-x86/page.h"
> +#elif defined (__arm__) || defined (__aarch64__)
> +#include "arch-arm/page.h"
> +#else
> +#error "Unsupported architecture"
> +#endif

... here. I don't think though that 1UL is an appropriate construct
to use: Imo the smallest type this should evaluate to is xen_ulong_t,
the constant should also be usable in assembly sources, and it would
better also suitably sign-extend when used in e.g. XEN_PAGE_MASK.

Jan

> +#endif /* __XEN_PUBLIC_PAGE_H__ */
> 



From xen-devel-bounces@lists.xenproject.org Tue Aug 10 07:19:08 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Aug 2021 07:19:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165273.302048 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDM2O-0008U4-62; Tue, 10 Aug 2021 07:19:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165273.302048; Tue, 10 Aug 2021 07:19:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDM2O-0008Tx-2u; Tue, 10 Aug 2021 07:19:00 +0000
Received: by outflank-mailman (input) for mailman id 165273;
 Tue, 10 Aug 2021 07:18:59 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=RCh7=NB=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mDM2M-0008Tr-V9
 for xen-devel@lists.xenproject.org; Tue, 10 Aug 2021 07:18:58 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 39db1f2a-f9ab-11eb-9f5f-12813bfff9fa;
 Tue, 10 Aug 2021 07:18:57 +0000 (UTC)
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur02lp2056.outbound.protection.outlook.com [104.47.4.56]) (Using
 TLS) by relay.mimecast.com with ESMTP id de-mta-6-HmKp0TIDMOOiaCEQrG0f-A-1;
 Tue, 10 Aug 2021 09:18:55 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB6864.eurprd04.prod.outlook.com (2603:10a6:803:138::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.19; Tue, 10 Aug
 2021 07:18:53 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4394.023; Tue, 10 Aug 2021
 07:18:53 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM4PR07CA0001.eurprd07.prod.outlook.com (2603:10a6:205:1::14) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.4 via Frontend Transport; Tue, 10 Aug 2021 07:18:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 39db1f2a-f9ab-11eb-9f5f-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628579936;
	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=JwVj//RzOddqvZb5cR6/P+kiho83ywLEkFd3n3WXBSg=;
	b=BGloJLa1rZ9ABK1beMvqe+FYVH3sTAVRB+nT2bqwGa7GuX4TZUgzhOccX1BDsP5kVE36Ab
	RGmrcwCYykEaJPkmEsHzYV7aMRGKIImO5bfQtdP3DQX32H2C/svBcP1aMQMJ4gEe9Ue4Pz
	yRxlDRdzZtXDZpM3PndpZ/Kg+nVAGH0=
X-MC-Unique: HmKp0TIDMOOiaCEQrG0f-A-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=G8tSK3IrNOyq2mbrntlW7myGdEhPOCE80OIL+ErqdxA+loxSddPdRGbGBVhrVsUDsLzEosYjOQVW/ZUkRTSZSHzZb0T87Wx6zrwgSc+yH5VfyUTNcJbjRN1iQB0CBn1UQIH3ZO9zV0Wko17WCxN4Ip+ymgrwH7eqcnxoROahSPU10YG4PO4nEDSYgi654ZyNGsOl8VtedOhymC6FdXd8rzCLteR360bNQG77JjISbG6BOhz+qz4m44EB+ch5dEUAbixFhn8fSEH40YAjKIeL6S21T9BmDJyEMksvwxUNzZnopW/YtrZZnZNno5IEFn/TntgxGankB/GaOZi0VriXTg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JwVj//RzOddqvZb5cR6/P+kiho83ywLEkFd3n3WXBSg=;
 b=Bj+4kHCXuRkfRYalM1aVhd2x0kIbf3xbhQ25mBBWtNl0f4gHQi5E9KL4oReOUy5bgN2WZgj//S9TzHUFimNI1H1I7XGhRq4tfgiFEiu71BMQXDuHOFLI+BWHTt5f1IEN/EhW2/qbUo8pQbfF7xu82GArd3HHbA1H+0j+5IsWYpjGlotLj96j4LBzWtiwCEtEbjPPn22mMqFfSICf6wk9po/xIpu8LKJWj4+lbH+UBrSQCV5YO1javF06F1InQyHZ6g2NxqJ6QXM8k7flM/wpGNz+D/2Bn3rROggrH25EU+SPTd6uH81PbPLkQyyZGZUoEdOsi/ejprAFuhe2JCiJIw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH] xen/bitmap: Make bitmap_long_to_byte() and
 bitmap_byte_to_long() static
To: Jane Malalane <jane.malalane@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20210809144114.21077-1-jane.malalane@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <dde02199-a1df-752c-de22-411aec17b3bf@suse.com>
Date: Tue, 10 Aug 2021 09:18:54 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <20210809144114.21077-1-jane.malalane@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM4PR07CA0001.eurprd07.prod.outlook.com
 (2603:10a6:205:1::14) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: e94bcd5c-db74-4274-1ae2-08d95bcf1c0c
X-MS-TrafficTypeDiagnostic: VI1PR04MB6864:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB68646F5C727536B808AFF40EB3F79@VI1PR04MB6864.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:366;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+F6I/ncr1Hkhc0UnAgyDgV0nm2ilhP0286xJYC+vCgIb/lO/psdn9siW4mc/hYHT6teLmIF5zuBk4APyjRPdJRISF+oyJoU2JnpGrm69CRiNMRc3ZxRh8gSL2ivyErQXcAz5G8IA6/8r7oBbrA1pPh70MJKEKcnHA8BHDQyolY7DvUY9U4AHH6WVNNRNeQvTI3VYlil5yQ0XkOGxcNMnWZ/vXug97E7oR+Uy8MKOOarQ5ToPIfgc2VKCvkfkmAYA2Y4qBDV3axEkUkrfVh9XoKtTxxs1qbxVy1T2lVNiWiIRryH0Go54h76DagFotlTeLcFcOKy6p8+6xzN1ZcC7icHN3ewQ7Tf83dxCuEds/0qfHtuvigcsh/3iDio7jVhKNiQgEHBpcp2YUErDlvxLDX0iUZgCZF69DPgLzBqO9718YLnG5wxesaLfyCresu2xX8pyDizi2spEU26ZIaOOaEJCJLR6nFq95g+dn94BRaLEmIoa5LqmYLfd4Ha9S0jEfmbez6W/ko3wGKTlMD/5zLimS7cip00r7+R4HF1EQHyKGlEhEsb4QYKjGubb/Y80PAJlUNo/4qXk1YoUIb3W14Dc7lG2EWTFmwCRWeErMLKP6km2giIG4EUX5MJy2hlI1erHFYj39+WvhZutv7XKdykWWjQC6FoAcqW1Sa0qTDHgW4VEMU9TGDZDhfAA2TMrsY++O+lTw3Ed/pFQUyhoM8JtEYWM4PGqp8eY0fDX45o=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(26005)(66476007)(186003)(4326008)(508600001)(66556008)(6486002)(31686004)(86362001)(66946007)(38100700002)(31696002)(36756003)(54906003)(5660300002)(6916009)(16576012)(316002)(2616005)(53546011)(558084003)(8676002)(8936002)(2906002)(956004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?S29CdXJlMXNZa3VYWGVHUnBCeXU5UGtvcHhkdlRMdUZ3UDR2c3BpN1phaU8v?=
 =?utf-8?B?a3ZHSCtad2hpMDBadEpSLy90T3k3Vlp5WW1FSjFqVVFOYVU4WmU1bXI5bUZ6?=
 =?utf-8?B?NzlRblhBRlRoRmRyUGVMME5aY2hTV0pMNExNYjNaditrL3BCVjh5dlNEaDM1?=
 =?utf-8?B?ZDBSdTF3RDlOYkZRamdIMTNvbEMycWNETTRZVERVL0gzMkdUc0sycmlvKzdH?=
 =?utf-8?B?dXlYYnZKaWZFZEFWYUZyeHU0UjFLekxGZ2U0QUJqQjJ5QUlqQVcvUWVkNTZS?=
 =?utf-8?B?STVXNnVTM2lwZHhndkM3WVVEWElzY0J6bjlPVXEvR1ZyQzdSK2xnTWdSVVk0?=
 =?utf-8?B?M09jVStVaXhjN1JQemY1dW1teTVNNnBMWldnTWMvUHNhQTdVTldxN08vUXhu?=
 =?utf-8?B?VWJ0WjFHNHlQZzhlT3VpQ29Ca283eGRjNC9xRlRVOEgyd0JBakxKeVlEUzFO?=
 =?utf-8?B?bjRNLy9rRytTWHVIZ2Y1QWYwNk5YaGRMUmx4OStNTk02bFVaWS9UUUFmazJE?=
 =?utf-8?B?MWRYYlExeUN2cnhRcml5azJGeTRDV0xBYmlMYktFRG1lZ3kxTmdRcUJHci8r?=
 =?utf-8?B?RVJIakI4K1R5RXhEMTArakNCS25GUjQxdEZBK081VDFQNnNKNkYwbUFFY2Nj?=
 =?utf-8?B?YStoZjNqQlRrSjBtZk5uR3h2MEMyc2NKcENMa1BVSEdRVUt5eHBVUTc5Vy91?=
 =?utf-8?B?TzVtcC9WU1hUbXBSbFpiTUhoOTdxUnhBemk0UUo1c2diNnFYc3ZnNjNGMjdh?=
 =?utf-8?B?NUZwdUtOZU9wZEdWYWVlWUg3TVVoUzRZMTZOc1llK29YYlY2NkVocVdJRDNm?=
 =?utf-8?B?NWRWNnlqL0E4UHdFdEliU2RiZGpyUU5ZTlhMZGRxYlFVVjdwVUlDUGNSWWFG?=
 =?utf-8?B?VlhEM0UvdEV5bGlMOU9ReWpIbElBVEJGKzMxTWtaNE41dmlWMk1jWWI0cmNo?=
 =?utf-8?B?Um5zNFY5U3J4azEwSnNOeG1SSUpHSy9kZG43NmtTeWVOeFplQ29kbDQvTUt0?=
 =?utf-8?B?VDFTbjF3eXpaS01SUldjb0hZc2NYemh3TXQ3UlVhV0NiVlFleDNVM2htZmtl?=
 =?utf-8?B?dnByenRmbmIrNHdhV0toMjRMTGEvRWJlUTVwSWQrNnhwOElLcUhTOXI4RVgr?=
 =?utf-8?B?SlhYbExsbjJjMDZSWUF1dURydFVtbSswWkt4Nm9GYUsrYjMyMDVBdnpWSFdh?=
 =?utf-8?B?VmFUcitFcHYrM3JCd3hpYitQR29WNjBWRmVJZTVJZHlRNnlGaVhxKzlLUnlC?=
 =?utf-8?B?YXJvVEdZNk5CdGkzWTdmRnAwWXRBYzZOVm5qaGRPTFFETDdrai9GM29LckZX?=
 =?utf-8?B?bVBBdXVHQVd5UU9kK1ZLd0J1ZjJBcjhhL3FlSFNycGo2eUlpWGY5eDJnd25k?=
 =?utf-8?B?ODkvOE5BOFYrOFNjQ2srV2I0dDdmMENEQ3RUcW5XRnU2bWJGZXhyQnVPT2VI?=
 =?utf-8?B?d3VJWFdzL29wVWJMRXN4Kzk3bXdWRmtaaDV0aEdNNklmd1F4dnNickpjUDE1?=
 =?utf-8?B?d0tZclRtbjF3RjlHc3hrd0JIdmJwSThNTEdlbXR5cnpVUjNRVmVBYWw5RXVR?=
 =?utf-8?B?S0g3bzJydUt2azRxaFIyRW5YaEovTTh0aXgvQmFmQi81VDhpNVRBNlE4TG9J?=
 =?utf-8?B?a0tYWURBVFdYVmxxR2dEanZ6TjhIa00wZUsyNW1yZjQwYmMxV09ycFNiRzZF?=
 =?utf-8?B?Q2wrT2xFRTJCZkhBaU9CT1FkRVowM1ljQU5BYVM0V1JhMUluZGt3MHNPV2hu?=
 =?utf-8?Q?6oBz0aSpabTu0kD+iD3YVYw4VcRy2eTgZaZgTjZ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e94bcd5c-db74-4274-1ae2-08d95bcf1c0c
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2021 07:18:53.7748
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wZ8bXXQrE2P7kqj959haPYpedxDKP9dpB2slSwKGSC4TKHtqd4NahBI3o2GNkhTKedXrZbA3LwNDNCRHa+cqyA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6864

On 09.08.2021 16:41, Jane Malalane wrote:
> Functions made static as there are no external callers.
> 
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Jane Malalane <jane.malalane@citrix.com>

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



From xen-devel-bounces@lists.xenproject.org Tue Aug 10 07:44:37 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Aug 2021 07:44:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165283.302075 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDMQw-0003SU-DE; Tue, 10 Aug 2021 07:44:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165283.302075; Tue, 10 Aug 2021 07:44: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 1mDMQw-0003SN-9p; Tue, 10 Aug 2021 07:44:22 +0000
Received: by outflank-mailman (input) for mailman id 165283;
 Tue, 10 Aug 2021 07:44:21 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=RCh7=NB=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mDMQv-0003SH-EA
 for xen-devel@lists.xenproject.org; Tue, 10 Aug 2021 07:44:21 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 71b7fb58-4b2c-46f0-8e52-de527ec48adf;
 Tue, 10 Aug 2021 07:44:20 +0000 (UTC)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2057.outbound.protection.outlook.com [104.47.12.57]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-23-IRWD3rT9PpSTV8Zd-yGR4A-1; Tue, 10 Aug 2021 09:44:17 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VE1PR04MB6477.eurprd04.prod.outlook.com (2603:10a6:803:11e::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.16; Tue, 10 Aug
 2021 07:44:15 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4394.023; Tue, 10 Aug 2021
 07:44:15 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM3PR07CA0147.eurprd07.prod.outlook.com (2603:10a6:207:8::33) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.5 via Frontend Transport; Tue, 10 Aug 2021 07:44: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: 71b7fb58-4b2c-46f0-8e52-de527ec48adf
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628581459;
	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=ICUI8qVoyRXs0bBz+bRZDKwGe6uOXeYotQcl3ORBBHY=;
	b=QmSuk7owQaVD4Rtmb+w+16xy6Q+gJsHxC+APhkwCeE51zwBbahc0ag2lTnAxCTO2UiLWeq
	cyxw8KPOpzZML1mZNzfgYGO9XjzNaGsAM87QvVok+sidToheusPjR2ZNQltnG9SuwAmSVE
	4piPASKIsM5MOq2JEY3ElC83mizqNds=
X-MC-Unique: IRWD3rT9PpSTV8Zd-yGR4A-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=m0fNVIyqi+nLqKkaQzEjPsd/K3m8DTXiHOcyrjfzks2xbh/rL9/mbS2wWTvIBpE6tq+Hy5ZqAQyRpLCfnRt2YHMlbtEZpKLo/G/8w1tw5Mjr9PXu5UAoQzwYX8Q5QvYAMLsQKdjIPbBrLL6lLEpA4FJqoUnjOicyVjGeWvrm12eBW5ZE6uSPTRZnMQxmF5P2JicbcHN4bkxYgPTnhw6/vzxvkjlx6yjT7kxNxjAoDvbzbnY7K1MHob2bmUZIIoQeBZGbjBQ8Rn8edlmFintBVVPnLG66wqqNhN1lgA/QPE+T+FnbKgAv9s/q/4DGFXjzz1FcSn8YH5VO+Psa6za5+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-SenderADCheck;
 bh=ICUI8qVoyRXs0bBz+bRZDKwGe6uOXeYotQcl3ORBBHY=;
 b=luROPZRTWVI1jdmmvwThBpUm3/Yn16jqOnqjXX0M3hyNGlzHhnC1CM8z9g6kRnSznGmyoAaTZ5AKADZb6ST59BuXrwuRwPV9DlElQKVlFZxIiTLYyxwqf0MQR+Qk90anLknQo6s7YuN1tYNwCJT8Hj9HTfusDP/P5iOACBU+qpB7yh9faqZuImiba4MwffECY8fUOVRZdSimQ6G5pRk3HDOR4QBEh/12oXERAakJxiXEFz7CKa8VMe2diwiDgE0CctuYTVOxZxcLmmjwJMEPjnsNlKUNwfhp4Qqemu+UYH0Qdu6d0qNGv5nmX2OgKCIYXnGMSBQ6bEklcNEN2tqnZw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [XEN PATCH v6 21/31] build: set XEN_BUILD_EFI earlier
To: Anthony PERARD <anthony.perard@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>, George Dunlap <george.dunlap@citrix.com>,
 Ian Jackson <iwj@xenproject.org>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20210701141011.785641-1-anthony.perard@citrix.com>
 <20210701141011.785641-22-anthony.perard@citrix.com>
 <791838fb-b69d-d471-cfff-fe984e13f6e6@suse.com> <YRFQ5ufigapRnXgr@perard>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <82429ede-6bbe-ee51-861e-cd8d0c627311@suse.com>
Date: Tue, 10 Aug 2021 09:44:16 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <YRFQ5ufigapRnXgr@perard>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM3PR07CA0147.eurprd07.prod.outlook.com
 (2603:10a6:207:8::33) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b3d244cc-341e-43bc-ff35-08d95bd2a6fa
X-MS-TrafficTypeDiagnostic: VE1PR04MB6477:
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB6477792E5BEA3A692C1041DAB3F79@VE1PR04MB6477.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:7691;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	kdfeMDx4I+r6qvikv/QtMQcijAqrGkoKkvWebL88+8TRDanI9/HKebzaxDzgspD/NUXfb3EAcEaRQ3TW6D68fg6y+m8LUcw8nnHeYHFzA8cAIFaPPEWY84IWX736g3nKgjMFIeBmOXA/c7QG8mhTgQHLoWO6CqwMhcAJloxu8w+CyBk8t1h54GtnI8FHbT7+YrwQ0E18St1KSiyZZhU6Caq42rRHAR0pe8m26Dj9HahcU7qxnboaBbiPKWW7fwbD9jApry3HRQVj2KKprQoBRvG2at9S6jPq/BcfH5KIc+Wg2xw6pdYVsAffe3/3PGYZTq5Dej7gXIhVyXlv2HP36Xc5eX68MM2mgUdsgx/QiHBh+PLRV8RF9A61lDvdTiD0NWPlJkLUSTn0hbYYEwCG4p4KLRd6TkKU0G4F6mmYKD2ON19JRm4gBz/o/dBtvFKlM8E5eSSibC0EoKZrD7o92/63wkickzgk0PEkRC55PCQYpd+LhgGaualyuaexY0nlNvY1d0UNAJcbpddJzJUHWn3GXGj7WVOCeTe/0lmHobHg2ougv+kZBtfZQN7ildVM95XV4nYqLvrKiX1x/xYbVcvy5PDDrhY9z0y63BEBwEH0jjDLznEpisThAOMG1/aFTNWLwHeCfGgT4Ca6HLVWTrm1cuiBZ+HnCqFz/sMCxpKr2XOloq/7quSaNQf77fQ0uFTVPZiR98GBMzIf5+wvaN4j2wRNzEoziz6T1oFNOc8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(136003)(346002)(39850400004)(396003)(366004)(186003)(26005)(36756003)(6916009)(2906002)(38100700002)(2616005)(6486002)(53546011)(478600001)(5660300002)(54906003)(956004)(16576012)(316002)(8936002)(8676002)(86362001)(4326008)(31696002)(66476007)(66556008)(66946007)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?L3JhOFJnZWtGQmlnQUE5aHp2WVZkTU95bU1Ed3k3REQ0ZE14Y2lDeHc2bGZD?=
 =?utf-8?B?ck43bjBlaUs5b09oaERDUWJXY0xSTGdzWFlEemVvbWlQeGtpZ1BlMGwvRjFr?=
 =?utf-8?B?Q0xFdlEzTXBqa0FkNElTaDdlcktxZzZRTHFKckxKdlB5WEtZWDhHcVFtMmxY?=
 =?utf-8?B?d2EyRlhXWE5JTDM3aWszaCtPWDEwcjh2YjlCYm5aNXd0eHFucjVKYmNLRmVo?=
 =?utf-8?B?d1J1M0dTQXdzQ3pxL3doR0x3WlUzWG1YYVNDV29qSmszdm01VmpwcjdwZkEr?=
 =?utf-8?B?ZC9sNU5rVjAvRm5NYlJSOHdoR0VtTlZML2tNRW9ObEU1alh0VCs1SEJoaStL?=
 =?utf-8?B?bEdsQms0L1E3bThXVUdIcjVJUWFOOStuT0R2TVhxSHdNWS9oWTYyTlNtVWt3?=
 =?utf-8?B?MXNzdnV0aDl5V0J0S241SDdvbHdTMzE2ZXNRQTNOWSsxUXBQdDZHVGFjSi9J?=
 =?utf-8?B?QzVwNEwveldqaE4yR0dlR1dUdFZTQzhFU3QrTDZsNVdyK0V5bWUvQk9GMzgw?=
 =?utf-8?B?TDlRMmU4YURDWHBlaHFnc3ZpbU5Ja3pjL0RLcWRmMVJ2WUFlemNtWWx5blpW?=
 =?utf-8?B?Y2llREt6d1ZUcy9zQlhxQWRoNG02eHdwUVBnNGhaUFA0WmQ3YjBJbkY4SEx4?=
 =?utf-8?B?REpZRlljemJORXJlcnc3OWpTZm1LcHFKZWZLMTYxdnZsQzE0dUNRTWdvR1k2?=
 =?utf-8?B?T3NkVTFqd2wrNnRJV3JYTXlYdG15MDljVHNQVGQ1UUovY1lja1J6a0hkN0t0?=
 =?utf-8?B?UUxFNzFqWURIbllFSzBXL1lrVWRUYXdFTzhSWXNuWjB1eGdqbERKa3MrWTlJ?=
 =?utf-8?B?L3VGeGE1T2lBemZNakV2K3Z4UG0yZUNBWFBXSnRod2Y3WnlqNmFvMTFiQXlB?=
 =?utf-8?B?OVJTTFdQSDhNR2dYc0NScmlyVUFERmkzcXFqa2Y1TWt2cVZ4SzNxek1oeURp?=
 =?utf-8?B?YkdQVEZYc3FHSE12WkwwRTVJQ0ROTVFqZ0tEZllvbUJXRzlPV1VPaElzV1BE?=
 =?utf-8?B?Yy9BZ0dTKzRPNXFYYk5RYjBrVmwxS3dqUzl4UGRWUUUrbE1TZkVQUUxUNkox?=
 =?utf-8?B?VkErVno0VE9BRWtBMkVmMVg5K3B4T0dwV1F4c1NBdkFRQXFTa0xjUWpON2N1?=
 =?utf-8?B?WjNsWEhrV0QrZ293aXU0UVJrdGVvNnBtUWx1YjR4c3ozTE1rWHR0MDBLaUx5?=
 =?utf-8?B?WnJyMUlGdTI2UUNJa04vQysrZnJBT25XZERCWktOZWJ5bXd2RU50MnFLaksz?=
 =?utf-8?B?Ykxtemtnb1NJbnNHeENkQXEwVVZDc0dVY3NpakNaeFV3WVNReVNQWlZjaUpQ?=
 =?utf-8?B?RmN2b0R5M1pOdlF0SFpQdUl2eWlsY3NRQm5XTjNCSGVsQjZpL3dlTmdmb0Ju?=
 =?utf-8?B?czlpOG91SmpDbWN2SXZjM2UxSys2dmthc0xyeW1ZSkpMcURhODZ6N3duVkgw?=
 =?utf-8?B?emlzWFNHODQrRSt6Q0F0YmlGcTJKdEpPRmsxWDlGUnhSUEw3V1p5KzNmYWt2?=
 =?utf-8?B?a0dZQUl6TXJCVzUra2JNa3QxVm95RHAwb015aTFtcFF2TFo2enpUTDBZOENp?=
 =?utf-8?B?bGF5MnB3K2ptbFFGYjYySTB0elc0bmEwN2ZJL3ltTlNGS3IyWWFwR21SUTR0?=
 =?utf-8?B?RThJRkNTVGs2cmNJTE5kT0VPcmowcXZrRlIya0JPbmM4Q0hHZVhhK2s0QWp1?=
 =?utf-8?B?Y3Jycm0rM0cyc01YWThoc0prYkR5amtCRGRFN1VoL1F4eTIwSWE5SDE4bjRU?=
 =?utf-8?Q?f3tfnaIhI58YOEmJa/fp1ShrO+4zCdDFN1wcJ4E?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b3d244cc-341e-43bc-ff35-08d95bd2a6fa
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2021 07:44:15.3382
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: IYIiEoImWesDPFwWyQkCzxkfY7G1a0+2fC165LPt0l6+ZmE29Q2AaqNuXFYNcxd3Axw0uaaO2fQuZrxCFrdLvw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6477

On 09.08.2021 17:59, Anthony PERARD wrote:
> On Thu, Aug 05, 2021 at 09:27:18AM +0200, Jan Beulich wrote:
>> On 01.07.2021 16:10, Anthony PERARD wrote:
>>> We are going to need the variable XEN_BUILD_EFI earlier.
>>>
>>> This early check is using "try-run" to allow to have a temporary
>>> output file in case it is needed for $(CC) to build the *.c file.
>>>
>>> The "efi/check.o" file is still needed in "arch/x86/Makefile" so the
>>> check is currently duplicated.
>>
>> Why is this? Can't you ...
>>
>>> --- a/xen/arch/x86/Makefile
>>> +++ b/xen/arch/x86/Makefile
>>> @@ -126,7 +126,7 @@ $(TARGET): $(TARGET)-syms $(efi-y) boot/mkelf32
>>>  ifneq ($(efi-y),)
>>>  
>>>  # Check if the compiler supports the MS ABI.
>>> -export XEN_BUILD_EFI := $(shell $(CC) $(XEN_CFLAGS) -c efi/check.c -o efi/check.o 2>/dev/null && echo y)
>>> +XEN_BUILD_EFI := $(shell $(CC) $(XEN_CFLAGS) -c efi/check.c -o efi/check.o 2>/dev/null && echo y)
>>>  CFLAGS-$(XEN_BUILD_EFI) += -DXEN_BUILD_EFI
>>
>> ... use here what you ...
>>
>>> --- a/xen/arch/x86/arch.mk
>>> +++ b/xen/arch/x86/arch.mk
>>> @@ -60,5 +60,10 @@ ifeq ($(CONFIG_UBSAN),y)
>>>  $(call cc-option-add,CFLAGS_UBSAN,CC,-fno-sanitize=alignment)
>>>  endif
>>>  
>>> +ifneq ($(CONFIG_PV_SHIM_EXCLUSIVE),y)
>>> +# Check if the compiler supports the MS ABI.
>>> +export XEN_BUILD_EFI := $(call try-run,$(CC) $(CFLAGS) -c arch/x86/efi/check.c -o "$$TMPO",y)
>>> +endif
>>
>> ... export here?
> 
> The problem with the check for EFI support is that there several step,
> with a step depending on the binary produced by the previous one.
> 
> XEN_BUILD_EFI
>     In addition to check "__ms_abi__" attribute is supported by $CC, the
>     file "efi/check.o" is produced.
> XEN_BUILD_PE
>     It is using "efi/check.o" to check for PE support and produce
>     "efi/check.efi".
> "efi/check.efi" is also used by the Makefile for additional checks
> (mkreloc).
> 
> 
> So, if I let the duplicated check for $(XEN_BUILD_EFI) is that it felt
> wrong to produce "efi/check.o" in "arch/x86/arch.mk" and then later use
> it in "arch/x86/Makefile". I could maybe move the command that create
> efi/check.o in the $(XEN_BUILD_PE) check, or I could try to move most of
> the checks done for EFI into x86/arch.mk. Or maybe just creating the
> "efi/check.o" file in x86/arch.mk and use it in x86/Makefile, with a
> comment.
> 
> What do you think?

The last option looks to promise the least code churn while still
eliminating the duplication. So that's one option I'd be fine with, the
other being to do all of this together in a single place.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 10 08:33:44 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Aug 2021 08:33:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165295.302086 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDNCR-0000R7-Ji; Tue, 10 Aug 2021 08:33:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165295.302086; Tue, 10 Aug 2021 08: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 1mDNCR-0000R0-GX; Tue, 10 Aug 2021 08:33:27 +0000
Received: by outflank-mailman (input) for mailman id 165295;
 Tue, 10 Aug 2021 08:33:26 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CvVY=NB=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mDNCQ-0000Qu-Cf
 for xen-devel@lists.xenproject.org; Tue, 10 Aug 2021 08:33:26 +0000
Received: from esa6.hc3370-68.iphmx.com (unknown [216.71.155.175])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 41bcf3c8-e6cd-4223-a914-6ae0532f2370;
 Tue, 10 Aug 2021 08:33:24 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 41bcf3c8-e6cd-4223-a914-6ae0532f2370
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1628584404;
  h=to:cc:references:from:subject:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=xeNzRTaq7EbzhFto09/4l3icPuceGhXuRsWUN5jnfEY=;
  b=E00LKz0SnRq7/DvbsHdeKw1Y3UfRXHBT4eowyXbylWxB06VWq3JqSWyz
   KTLiNnQYnzxgFDvd8mcQRekDM2gU533JzTKJUJgr5BCqJDF/ko4bJETh0
   dzxOMNu+lUZjkzvaPxHlbqmkTfuw7mAySVcgcTQG9ictrB9kHSvRmVqwL
   Y=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: /ysuthRUydvviW7TSZc4+sAOvzBjMRBOvqS6Kdg9Hff9ilfhFgVgcgRMa2YrT2pHp3kl9mlXc8
 Or+s+/K8qwyIVZkTvdCQQgonjSakyO5yR5M1wLxsp8oMcu8+HX/PeaeENHFSv5+bbaGFtNE+Jm
 BK0uzVd8tyiIKxLYs/6pusdgwWzS7A4Kb0srknqf4m8kIe2l5djWXwADJ92iP50YOPOF8t+qur
 wHydyKw4bs3U2rTu6RMwdWrblc1xUSxI/LCwuVsdHVga0Vfq+6TWGL5zhE43Vl+h7wRn5+siTQ
 ileHR4Nk5Ouf+HDfsnsc5Lbf
X-SBRS: 5.1
X-MesageID: 50127795
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:tDWVuqsY1/WCg9QsqudqtZet7skDgNV00zEX/kB9WHVpm6yj+v
 xGUs566faUskd2ZJhEo7q90ca7Lk80maQa3WBVB8bBYOCEghrOEGgB1/qA/9SIIUSXmtK1l5
 0QFpSWYOeaMbEQt7ef3ODXKbcdKNnsytHWuQ/dpU0dMz2DvctbnnZE4gXwKDwHeOFfb6BJba
 Z1fqB81kedkXJ8VLXCOlA1G9Ltivfsj5zcbRsPF3ccmXWzZWPB0s+AL/CAtC1uKQ9y/Q==
X-IronPort-AV: E=Sophos;i="5.84,309,1620705600"; 
   d="scan'208";a="50127795"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Evx4kcd2udZC6git7ZjUvNPTo4zWRZ0FK59fp54zffBaPjGl9kbrkxYMWyXJOEGjoeQ9PTcOgcfiFhmU8didfTRXZc72COVK476Wrukvs9P+sFtk9rAIGu99JLkH7l4p6oGVlcQuG/6TbltnLHfNigvR/WkmeTzSP9Xwl8Z6l6qyVWsXZU2AV9qjJfQd38EIo4CLowfOcvS//L/aNflA4wHtMn4gvSjEg3EyGzH2mrKjDTnroyX6Vk5VPBxxNrHp4uekYfvN5I3MW6DmHyl9C/0zcBl5Y/2dxYyPpadl3c37e6FjWpAavpjK3LCjKreU8TlDQuAPP0s8wJ6v8X/Zog==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xeNzRTaq7EbzhFto09/4l3icPuceGhXuRsWUN5jnfEY=;
 b=Z1ni+2BxKZRIO7W1L8sxmB4yM8+oSfHbKRdCCapUUu/yiqeT/FGr3whO7YMv2kgp0fRfe4nSMFe/fEP6P/Ri4OKJhofFiMZiH/CKKGvnFQWQ+YY1tGNYkR9BusM2z7GI6EueWb6J178qvn1HjUJauhDipnq1oLYcxZLdAfcKA5Jnvf6xW+hijPVUfZSyFn7J5Ria0OZDMfD9wARGdSxk7nyB4V8Ckh6qbLpGsKtW+Mtsrd7B8yCAvyPT4vFOp55VfOJ/IfrGSKyZaDDb9+sdiMRXJQ8Q+j4YWZgxn2g0Gn3XR+xKR+4d9qdrRZfjPOkBbPgP8HcMV0KfHhZMTaBu5g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xeNzRTaq7EbzhFto09/4l3icPuceGhXuRsWUN5jnfEY=;
 b=R2PddOxpWBkwjhjcUd+OeV28a/12U9SD9uvBEmwE0fvY5cqgUHyD9kF3qgfWg3KnBCyBprxzuLfLlF+G5Bwrk9QCrM3dZ67C4KtYRoBO/4wdelL1QXLojYf2KgXnYRDUdzV8dYGp/6my843sYRaC6Pjkk0TJQlFMGBhPldlQ6BY=
To: Jan Beulich <jbeulich@suse.com>
CC: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
	<roger.pau@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
References: <2e0beb7e-022f-efb3-3adc-4877c60bfeba@suse.com>
 <69a34c1f-0df8-47c2-4c67-2b22abb9fd21@citrix.com>
 <28bc0732-9c20-c670-4485-8b39bc595eff@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] x86: work around build issue with GNU ld 2.37
Message-ID: <b310f267-c478-15b7-7e1d-19a650d0a891@citrix.com>
Date: Tue, 10 Aug 2021 09:33:12 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <28bc0732-9c20-c670-4485-8b39bc595eff@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-GB
X-ClientProxiedBy: LO2P265CA0298.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:a5::22) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: cf508291-ec09-4a56-607f-08d95bd98116
X-MS-TrafficTypeDiagnostic: BYAPR03MB3494:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <BYAPR03MB34949EDEF42D94BB342FF37EBAF79@BYAPR03MB3494.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:1186;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 54Rll5ZlbDBLkroPaxNEq1qETXJMINBUXc51X92s4XElKumRpXipQwMC7mbrbmMw2LJrUiSO3pCO9FGG1Ly/8MCqNa9SuiHHeD270euEiKgNXs7hJFGEK1lVgy1q34JhbXC+uL+y5Ih25pLJGGJqNt4TJKiA6Xrj8tgbISO0LZFgqge9sjvq+bnsqkgoDp0+FPUff11tezuejrhESukBxHyQSBlw6OXATdFWgN6xDIPpP2gFD8bER6eBvi/n4SD+Mz/HlmJKk1v3f88J+AyfDmNUwq1B+3syB1Uh0X6j1b2zaoJNoUipE3go3xou5UFTSC4lHBNd3hiqEzTHSywe02eylOBbYjLu4p6Kov80AVS/5lYbn0igIiBcdBdqHj44Xo7tl3ZMMVPeZ+PsMKPyP8vYjfFOlgUvTFxY9csn2IDB2wrwkeyvXTnZnacq47NFskFErIExqGsIopPGxB9QC5jzJaqjCGEE68S58nIAA1jozJtsUZ+ulQgGAB0cz57dLMLjDfT9W+M4+cHdgtc9Kxru+qXbSQtTow6FYv+1TWRa1ErqGeT1T4V+cMVazWfO0eARfLdQbnCAC9f736yRZkh5IDCbdE3l2xS8xFG2poBdHp/kcERWuNhOAyDHnNsBP0kjnFxdPK7rJQeSmguoyZpphmmNSgzhH4qlfkoG+yYixBpEM7UkBdDvv+EB2knrqWjSVtKCq+g8ztZ7hNc/p7qBNouFVf5lTjfMHfpmQogFImqv1/+QyMUoCURFSbcFYX6m0HohwUWY119FzTY2jauUSxJVIxG0d60+HCVpEhGY8OZAoyh7bCpWUZ+GeMHE
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:(4636009)(366004)(6666004)(8936002)(53546011)(86362001)(966005)(38100700002)(36756003)(186003)(4326008)(6916009)(54906003)(31696002)(2906002)(66946007)(66476007)(66556008)(2616005)(956004)(316002)(16576012)(83380400001)(8676002)(26005)(31686004)(5660300002)(508600001)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?eWNTeUlhY05udjlSWmdsaVB4c01kZE1mOWdnRTFUNmxMR2tjTlZxS3lBa2xD?=
 =?utf-8?B?U3p6alpYdWhPV0szZE43MTkzcnl3UU82ZzB1eDV0dys1RFA0YTdoNGJOZzdx?=
 =?utf-8?B?ZVRUVVZ5YVhCTVhLK0g1RFhOTUJZN0VtSEYyY2RGQ1lFcU0wK3dKU3l3dlcy?=
 =?utf-8?B?RW5BL1pud3BaWDhlZEtHOXZzUS96M3plOXZNS3JxejNTSW13c2xYY3gxa1BZ?=
 =?utf-8?B?a3dmc05RR0hyTU1tZEhmNFlsRlFKN2IrUjVTaVA2N2ZTYjNjL3JlQ3J3ays2?=
 =?utf-8?B?dnRIQkk0ckdkL1FJZTBHZEFFOFdXWi9NblE5QWw5OExkTnJBZE42RThNempi?=
 =?utf-8?B?aVByQjhEL0JiTVYrWEVraWRnQm9BNXNPbStKTm5ZNVdMTUhpNjlOTnFiS1pi?=
 =?utf-8?B?VVgxTkJLMEdld3hXanlEcGUwQ05UY21QWXJacjZvU3hLZ0d2ZDlPcnhyTGlZ?=
 =?utf-8?B?L2VpNzF3U3dCNGFmL2Nvd2VlRGhtN3VBSFAxcG90MXlIUFh1bHZZS3oyZndy?=
 =?utf-8?B?VHdMcXc4d2hZVDZIRDJvV1RNMFR1cHh0cW0vYVFtelZnM1BiQVdaOGh4VS84?=
 =?utf-8?B?SmpTalZkUHdjQm9CZTk3TGUxM1pBanZNZXVCdnVnbUpINmVONXJDL0U3K1ZE?=
 =?utf-8?B?V1RRcFhLNDBLSU5rcEFhay9WU3FXNlJGWGw2UjZCVWN0dFRSdTI5bGVCUW9W?=
 =?utf-8?B?SWVPNGpnMUt6WlBJYzM3b2FkOGRUTS9XV2JxL2ZJeGFMMzNGR0FOZkJ4Zzhu?=
 =?utf-8?B?WnJ2YUJjM3p6QWQrV2pLWWxrWnRaSi9STzRJWHNpWWhBa0ZSOFJqSWIxeTNO?=
 =?utf-8?B?Yms5MHVzM3JCSCt3MmdTSWwvRFo3Zy9adkdmeGV1SFdIZmM2L3ZjWEVUQkVZ?=
 =?utf-8?B?UWZrMzdtbDh1MUwrcjVXZkUyeEtuTHFYUUFhL1F3b2Q3anl3Z2ltOTRTWkNk?=
 =?utf-8?B?elhMZUNqWTRUdENYdjM3RHNpTENUdzYxaHdtQWEwRElmT3k0WjZKcXYvYTU3?=
 =?utf-8?B?eFdrTkd6d2F6MkM2eUNNRHNpdnVadDN4YjY5QUE3eXE5UDhia0ptaXVBK1lv?=
 =?utf-8?B?dVF2ZGc1RnQ0WEltZlhwUHltcDRrNGtKZWZEdVZnOFo5Q25yVmFLM01GQ3dZ?=
 =?utf-8?B?Vmpva2VvN0NaVFFEWTFwYU9PRk1WUEsyYklkYWcrNW1GZjR3ZU1XMmdwME1D?=
 =?utf-8?B?NG4yWk5sQTFKckFTT1VjVG9GQnFoOUhLamU5dFJ0b2VIeDhuc3lNb0V1TjBv?=
 =?utf-8?B?S21lQTU4YTg3dmhUMHZPQjN3empmR2t4Z3E3ZDNZWGVzUW9Wa0VTeTNsOUtM?=
 =?utf-8?B?N3F0elZBQmJDRkdlcU5ra0pJUGxZRXkxNHEzWWtLS2NUYXJxQVZxWEhFNjIv?=
 =?utf-8?B?cmZrOGphY3VoazUwalBmdThZNnJlMXorSTQvTUFCRnVjUzJjWXNVSEk2K1Iy?=
 =?utf-8?B?U0Rmc0REellTSFJhcjJ2QkFROFFiOFdIVVRrUkhXaVowYm1IUDV5WUNNMzhH?=
 =?utf-8?B?Y0RWSWNueFpFRmlFVEZzS2hUZTBRNzFKZSsvMnovZ1ZqWFJneU9KUTVxVlAy?=
 =?utf-8?B?RnRjaURaK3N0bkVzdXFxVmhuOC9Gckc1MFFBYUoyR3h1WC9YaDc0M2N6VTdh?=
 =?utf-8?B?YkVMbFd6SFhpOEtzNWJ0Q2FpZmMyeVZHVGowbGFUYzFFeForZ1Fmb1VZclB2?=
 =?utf-8?B?Nk5oWGlnSkJBNFgvM0pmYlg4b0oreWJBd241Q2I5QmZPWXljcWpKcGRteGtX?=
 =?utf-8?Q?N8tEP/4unQsgCuj6ShIPexdyyz7TgP1zbuw1qmi?=
X-MS-Exchange-CrossTenant-Network-Message-Id: cf508291-ec09-4a56-607f-08d95bd98116
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2021 08:33:18.4692
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: G4ymP0YVtlO87AL26+fY5IndOIiVieJieKH27zsNcUEt+GhogIpLCuYxPmXmLrAPZSJ4eqIO9pd/ls8EEb+CYIAN06uYxej10bxKKnnQoGU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB3494
X-OriginatorOrg: citrix.com

On 03/08/2021 07:37, Jan Beulich wrote:
> On 27.07.2021 14:33, Andrew Cooper wrote:
>> On 22/07/2021 10:20, Jan Beulich wrote:
>>> I suspect it is commit 40726f16a8d7 ("ld script expression parsing")
>>> which broke the hypervisor build, by no longer accepting section names
>>> with a dash in them inside ADDR() (and perhaps other script directives
>>> expecting just a section name, not an expression): .note.gnu.build-id
>>> is such a section.
>> Are binutils going to fix their testing to reduce the number of serious
>> regressions they're releasing?
> To be honest - I simply don't know.
>
>>> Quoting all section names passed to ADDR() via DECL_SECTION() works
>>> around the regression.
>>>
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> I guess we've got no choice.=C2=A0 Acked-by: Andrew Cooper
>> <andrew.cooper3@citrix.com>
> Thanks. I see you've committed this already.

Actually, it unilaterally breaks FreeBSD builds:=C2=A0
https://cirrus-ci.com/task/5417332467040256

I'm not sure why my build tests didn't notice, but obviously this patch
isn't a workable option.

~Andrew



From xen-devel-bounces@lists.xenproject.org Tue Aug 10 08:39:48 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Aug 2021 08:39:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165300.302097 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDNIW-00016O-9U; Tue, 10 Aug 2021 08:39:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165300.302097; Tue, 10 Aug 2021 08: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 1mDNIW-00016H-68; Tue, 10 Aug 2021 08:39:44 +0000
Received: by outflank-mailman (input) for mailman id 165300;
 Tue, 10 Aug 2021 08:39:43 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=RCh7=NB=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mDNIV-00016A-4y
 for xen-devel@lists.xenproject.org; Tue, 10 Aug 2021 08:39:43 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 8131aba4-f9b6-11eb-9f65-12813bfff9fa;
 Tue, 10 Aug 2021 08:39:42 +0000 (UTC)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2111.outbound.protection.outlook.com [104.47.18.111])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-25-h5sYDeX6Mk-r39yHF2h8rw-1; Tue, 10 Aug 2021 10:39:39 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0401MB2333.eurprd04.prod.outlook.com (2603:10a6:800:28::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.15; Tue, 10 Aug
 2021 08:39:35 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4394.023; Tue, 10 Aug 2021
 08:39:35 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR02CA0023.eurprd02.prod.outlook.com (2603:10a6:208:3e::36) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4394.15 via Frontend Transport; Tue, 10 Aug 2021 08:39: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: 8131aba4-f9b6-11eb-9f65-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628584781;
	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=8N102LiC+nr4OvpxqgUwQ7axtekkwHAW3qHqcPtNKgw=;
	b=mS0MVVchjT4BHF6ogjvXorCrrSs8lq4Q5l/+gjzgN4OPqtpo5lkzzmx0GsE2oh0Ye99x6X
	JT4oDfsjpVApJETzxkxj2TDJK/s0MHAlOPVO1+KNejOhOJaFUyvNAcodpPNq+ED+2d83GX
	irFMnC5mk8cryTo4t3oKRSDgebt1oAo=
X-MC-Unique: h5sYDeX6Mk-r39yHF2h8rw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=H1oBBQh7+zxFBtncpzWH46ul76Xmvd1diINp2rg8kHIoOZ2R+YJeOWNVadjig8Dahm6IVjcN/gsI/cW6eASG9WZd9/K7AD1lirddd1ZhI/ML60Am0VX0eBDj5iV5wPlCRR0pjwtuU+gMbJUshWzlJiHnHm9ihbmi9ODUwVVXE/Cfv87gib4xKNiJGL9NPf0+IBuXU2mRrus2Oj90MsGfnt9epJayALjMw2vUV0tE7UvsUbLK3msGG8wzJ9hplgvmUDAGy1YYDDr9KStZakvFk8TljNXxtitQzIEtkB5mUUSPeQV0OkqtRwCq8Pc4bSbURRAHbiU5YRp46dRbKQAkkg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8N102LiC+nr4OvpxqgUwQ7axtekkwHAW3qHqcPtNKgw=;
 b=RVL+5vYurB5Klvvguj0oDFfAxPI0+fFN80FZosw63rpMu3W2t02SHfxbAPqbSrjl+y8oaYPUfr5ve3mfaheOLuqpdQ5s3+9rhpx3t/9eW3c9oORH9YGtEZXcumVcSpKbdWIFpXpljPlCS0UC5pJ0oy9wx/L/Zi0X786hW0N8NHNy06WU7Vl43p3XbxZ1E2XJ/jFMuPxYNzNPkbcYlymfS/TBZyCxnTjSbXu1qi0Raqg+92emUU3wSeaxkD9sJ7xb+5LJLKRGGO5yBltYR9om/U2R3BNMy2bjRW13738rfsNNsBc2FwIxwFHf4cW5rLUPJnh+PZ2xBaUm+DK5CuloOA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xenproject.org; dkim=none (message not signed)
 header.d=none;xenproject.org; dmarc=none action=none header.from=suse.com;
Subject: Re: [PATCH v2 08/10] xsm: remove xsm_default_t from hook definitions
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Tamas K Lengyel <tamas@tklengyel.com>, Juergen Gross <jgross@suse.com>,
 Dario Faggioli <dfaggioli@suse.com>, Paul Durrant <paul@xen.org>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>, Ian Jackson <iwj@xenproject.org>
References: <20210712203233.20289-1-dpsmith@apertussolutions.com>
 <20210712203233.20289-9-dpsmith@apertussolutions.com>
 <24832.3234.356168.227371@mariner.uk.xensource.com>
 <93bcfe0f-2fd6-7177-53f4-8544582df3b8@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <9dbcc5ab-eea3-ae82-0b5e-c15a4bf35772@suse.com>
Date: Tue, 10 Aug 2021 10:39:32 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <93bcfe0f-2fd6-7177-53f4-8544582df3b8@apertussolutions.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM0PR02CA0023.eurprd02.prod.outlook.com
 (2603:10a6:208:3e::36) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 2b9bc840-6f6c-49f8-8d90-08d95bda61ba
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2333:
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB2333C65CB4D78FDAB4214F77B3F79@VI1PR0401MB2333.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	IpF+t823TR1xMIaVej8UGpxhXLkBqei4RLMiKfP1eaTGSr53LP82hkmFyAlDxLjKDeBIhkj4teYgMDSrF0c1mNE66x2cC8viyvCLxEKjq2IziySBar578JJ/8eV3+TnD1EIjCmYa4PgY/HEX3EL+jsJ9Akq1psC1cDXj+8QOEOJmHL6bcs6c5jFbfIjzwpS9OsVkGtOCg+TZT7wyX+ef5Q3KlXhnD84Btgg3Q12Fd2gG0Rh0GI3lZ+a1Rbbl01OEZmh5jpLAU176oqy0SPxSJ4SbMvXu3LWObR+QoUTSX8vtevCcxQhZze8GKmwA6dZECpT2G1eLIXrDw1Ez2W979VuwrG0fbHRoN/RnFyeoAEiLpyWdfcO8kYdXUJ9g39OQsfE1PbJimlGX9K/u1sxH9S5DFgToKK/ta2sty3B8GhFYkDEqcc4ECEUcNRVpTeJyhUmU3jIdE2/tAkz3EEQZtNTVqteCJ+WHiJRJ0RRXK2u4JyqBuX068mHb79hAALXrdSOevldOPnBN72+qMybJyHgvzhVitbFCbEMTy/SS5I+RqB0guUSJIRGJiKrgxfebnQgJAkIum/FrvCz8oMkrm8nErdzYLM3jgUliQtEi/J/YhLqI+BHjvSCd299WmgDB/IJNcYAtNldoe1n5b2XRWyx0QUF708AjcECyd3FMZ3Nsrnx5U7UCjKjAC5Fn4SM+oZNn+gXuLwX2rTYI2PI5DpKneBjhMM7EaZF6bBvo28E=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(39850400004)(366004)(136003)(346002)(376002)(396003)(26005)(6486002)(7416002)(8676002)(186003)(31696002)(16576012)(36756003)(8936002)(86362001)(316002)(31686004)(5660300002)(2906002)(4326008)(66476007)(66556008)(54906003)(38100700002)(66946007)(478600001)(6916009)(2616005)(53546011)(956004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eTl6c1g2WEt5ZUl4U0ZpaWtiL3hHTWpzby94TExCeWVzSVRvQ08zendaMW5F?=
 =?utf-8?B?dnZndU5XbGFPU3Mrc1Vva2lXNEVvZ2xadGZWRG9STzlISzZXL2xmZExXdnIv?=
 =?utf-8?B?ZytldERDS25KS0txYUhCVlN3TGMxODFqU1ArMHQ3bUF3L293M1kzNDVKQXdP?=
 =?utf-8?B?WG1IQXg0b2daRVp5dmc0UUdaZGZrMnY4TVJOOGc4cHVYaGYwbG9QTHcxdkNi?=
 =?utf-8?B?bVZUUFlxOCtvaGJoVDFOdnpsTTdzZi8vUjhvcVJsVUVIRDN6SWdLZTNVRTJC?=
 =?utf-8?B?YTFHQjF6bEdSa3pFYldNa0V0SC9pa0NJWmpzcmlsK0pZRjJiSFB3YWg0RjRI?=
 =?utf-8?B?bGN2L3ZvejAzbnJYM0FXbG82UFFzYnAwSDlGU29vQzlkMjlpczkxdTJFU1Vs?=
 =?utf-8?B?UmM0SktnVk9tTWRiTXhndWNwamszVzVPb3NsZERVWEl3Z3luUGNhbU1tZGwr?=
 =?utf-8?B?V1RYQ3VkWndET0oveUUwSVZKalJzK0Q0Slo4bFpNM1pIQUFwN2xRbzk4aENQ?=
 =?utf-8?B?T2ZlUDF4dlJjWm9YOWttUXU2ZkloN1VvV3dES3p4NkZkNm9raDlCU291ZUpu?=
 =?utf-8?B?UkFRWnArM1RsQ2ZpcDRWK2hCcThWZXRvWDFaM05mWkNSWis0andIRGN2U1ZJ?=
 =?utf-8?B?U0ZFQUZjc3Vhd01tZFF3VXYycHdINHpoL0J4d3ZyK0FqQS9QdHdvVEdnTE8z?=
 =?utf-8?B?elNra2tESjBoYzFxajFsSnBBakt0UjhhUWdKaHd5bnVZdDIxd0ovblZnNm9a?=
 =?utf-8?B?TFZhdFhISW83cEhxWjdLV3c3SUU2NEY3emx2ZkhNeldaZDNXVkZSbkxFN29L?=
 =?utf-8?B?N1JxZlhxR2lBVllHY0x0WTNsYWNXcDNLUG4xQmhGbFIzRlhvQmYxclp4aW42?=
 =?utf-8?B?WXpMVlNtNjZqNERVZkMwRXZseHNIekk1TkN2dVYwTU51TFgrZTdlRi9HcXR0?=
 =?utf-8?B?ZnhRMWplcXJxZHlGb3BpSmZwYjU3UU80KzVJTC9MWldaMmltcnNuMGs2K0NS?=
 =?utf-8?B?Z3dNWG82bStUVE5BaGVTVzFWWnpSdFVqcWh0aitRbVpwZllQWDZ6RmFySG05?=
 =?utf-8?B?TXVFRlU0T1QvT0NYMGk1Ui9mTXl6V3JDYjBkWER1UnNnWDR5dktGWjEvRDB6?=
 =?utf-8?B?VU1CanhjQ3NzcXZ4QkduQjVPQ09WT2FYSlZ3T3JJOWtnWEFaVGJCOGduY3Nh?=
 =?utf-8?B?VGMyRGlDS25ZSHZrUnNxL1Q3d0Zkejgwc21sN0JjUDZydnJkK1VRVzJud0tm?=
 =?utf-8?B?VFpoUXgvYUlEdEM1czdZbXArU0VKRXJRd0ZYRzFCeDJVTGNTcVVTR1VaNUJa?=
 =?utf-8?B?UTBzS0E1UHlrZVdEY01nY0ZUeXpPN3AvaUZWZjZqK3BzMWpPTEtkNG1BR2pO?=
 =?utf-8?B?RGpkRlUxOXhCWW1QQTNiakFGbGlJQmVXT0hwRWFodW1MT1JheGN1OFhLd2k3?=
 =?utf-8?B?Y1NFeVYrZE1Hd3A1d3RlWFk1bEJCVVUrajF5TG9nQ0xjeE9EWUUvWHJWbGhP?=
 =?utf-8?B?UEFoSTgyOHBMenNRWWFNNUI1SVI2UllMdzkvZkwzalE4bWdrbkZsMjNSTGhm?=
 =?utf-8?B?VUVweGdDT0pETjhKUkFmWlB1MElueXJ3aHhhR21LN3pxZkJVQU5sOW1kQlNx?=
 =?utf-8?B?MVF0ZmNjcW9GZENWRzhhdmJVcWltbFNrN3RqWnZ6d2pjUGhER29vdTMyVnky?=
 =?utf-8?B?RlBHOWVadXpydTNJTjY1L0ZRU3NMNUoyVEVjOFhWck5JTEY0cGdZYURvdDZZ?=
 =?utf-8?Q?UvxTfNgZdeM6RYjeYQU/s72zdAJPfhMw1XMHYOn?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2b9bc840-6f6c-49f8-8d90-08d95bda61ba
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2021 08:39:35.1769
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: IX0a2NbEsiZjVb9ykS46MIUW8EXI0EqvVtyLonrKdKDE7FU0Z4B8ZMqR9lViPrDwPWqsZJWjk5PqrKFLaXMRsg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2333

On 06.08.2021 23:41, Daniel P. Smith wrote:
> My concerns/issues:
> B1. The irony that XSM is unsupported but XSM + SILO is supported (for
>     Arm)

Just one remark here: Prior to SILO introduction (and to some perhaps
ever afterwards), just like !XSM stood for "XSM dummy module", XSM
stood for "XSM/Flask". There's pretty little core XSM code, and the
reason for it to be considered unsupported was mainly the bad quality
of Flask code (which no-one, not even the maintainer, ever cared to
address, except maybe tiny aspects thereof). Which luckily ...

> Deferrals and concessions in v3:
> D1. Answering (A1) can be addressed later by reviewing, refreshing, and
>     expanding XSM documentation
> D2. Will work with community to get XSM in a supported status to resolve
>    (B1)

... you aim to address. Until such point I think though that people
better wouldn't be forced or talked into including unsupported code
in their builds. (I say this without having looked at v3 yet; you may
very well have taken care of this already.)

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 10 08:50:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Aug 2021 08:50:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165307.302108 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDNT6-0003VO-Ck; Tue, 10 Aug 2021 08:50:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165307.302108; Tue, 10 Aug 2021 08: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 1mDNT6-0003VH-9j; Tue, 10 Aug 2021 08:50:40 +0000
Received: by outflank-mailman (input) for mailman id 165307;
 Tue, 10 Aug 2021 08:50:38 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=RCh7=NB=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mDNT4-0003VB-Pa
 for xen-devel@lists.xenproject.org; Tue, 10 Aug 2021 08:50:38 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ed6d67d8-5d7f-4e5d-986d-a15835cea009;
 Tue, 10 Aug 2021 08:50:37 +0000 (UTC)
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur02lp2051.outbound.protection.outlook.com [104.47.4.51]) (Using
 TLS) by relay.mimecast.com with ESMTP id de-mta-4-U8oL2d8JO2KQApmhx4wv_A-1;
 Tue, 10 Aug 2021 10:50:35 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5469.eurprd04.prod.outlook.com (2603:10a6:803:cf::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.20; Tue, 10 Aug
 2021 08:50:34 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4394.023; Tue, 10 Aug 2021
 08:50:34 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM3PR07CA0063.eurprd07.prod.outlook.com (2603:10a6:207:4::21) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.4 via Frontend Transport; Tue, 10 Aug 2021 08:50:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ed6d67d8-5d7f-4e5d-986d-a15835cea009
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628585436;
	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=LA5vc7AKnxr2j5Yli3XxgFfd7eZWXXgh79223SoGstg=;
	b=LIFm6mw97HW9oc63QI0jDeLMyzmEv6y7zXhdDFZAoryrunEE7Ru1mPCa/CpzgT5JVJTIwj
	qfoi/+aOZpiJMGPjYzgIOzgK6dOgcVSeTSEUxpeHBwKP30D+hGXCypw9B2+Vo+dXeywhJA
	anRFiBQtugXV88Cu8MW6uUA6HmagVpE=
X-MC-Unique: U8oL2d8JO2KQApmhx4wv_A-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=V0meJsFzscdbhDu/Z8FZo0geykCh0uBgUaITgeElcGuVZBR7Y5vrXGEjZ27iz545/wUK5KkevyXKSKmYvkIlaG3RK2duEKDnSliCwOUiOuZv7Vt/FIG5kpEP6e5byJFMBZdvEB5xLiTMsw6RDXUqcxNpFYaJacphOhUvblF6hvx/92X+S75ldhm7WPepSbFzz7sTJofIbBvpugOX2bTNQPTvV1Ix9esdnEkcQCdBHIWt/A6wGFERKnglWXx1AQxWl+31V69Ka8cU5puu15AEaLBDmHCZOrmo2XBYbBulmAeFFRxCWFqZhthlF3c4LHSl17wG06ivL53axMnUkXXq+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-SenderADCheck;
 bh=cX/OdxhS05KxFemItL4i8M3ZAAsY9eNexcSZe8RO6a8=;
 b=QdM2/BjJQZyjRKq4fh9JioVa5I1a4HjV4CjecQghOtoPjdIjtCFmfMCZOS3gm9V1DM2f3fmPOVRjBCaCpAL7LuOK28W2iHZXmi83b6Khu9UtVNiaLf6kq8DZUaAXVDMt/lWnJfccoFrzAYWqt58G3npq8jhiWBQOI+5Pe6ws1IL4ELE1PvTohAbowLiT9PghmEcNFPbLe6EEELK+new8PbcX27pL3JL8D6r13gA3hKxQGq3GMZy0/q92FCL38Hf0Czu8/AXR/yrvic2gyFocm129oN9L/C8F2BG/JmpPBoXsabKwOK7wBJLsYNZGmtCuo4JgEBev9Hu9S5FtSK75mg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH] x86: work around build issue with GNU ld 2.37
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: <2e0beb7e-022f-efb3-3adc-4877c60bfeba@suse.com>
 <69a34c1f-0df8-47c2-4c67-2b22abb9fd21@citrix.com>
 <28bc0732-9c20-c670-4485-8b39bc595eff@suse.com>
 <b310f267-c478-15b7-7e1d-19a650d0a891@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <ee086e0a-f0c7-51c1-5be2-0610b6c78628@suse.com>
Date: Tue, 10 Aug 2021 10:50:32 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <b310f267-c478-15b7-7e1d-19a650d0a891@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM3PR07CA0063.eurprd07.prod.outlook.com
 (2603:10a6:207:4::21) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b8fa1e85-23b3-423e-955d-08d95bdbeabf
X-MS-TrafficTypeDiagnostic: VI1PR04MB5469:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB5469DFD176DC2DECC819D291B3F79@VI1PR04MB5469.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:3276;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/F7UpIdTREbi1QeKj9crYPPTv6qrvqe5ZX4ikwn0a0cYH2bGjx8IuTAGeOxK5YZYRfhxqHb2SPyPgVKQWJ3OGSZ+o6IN4Gyle7v0rBD8FtGZt5EyjhHne3XjAb8yKMc1yXErLLH7xab3nO03dFsxLpID6/cxgMH4IlZTZK4+mz7ykvbvuySKDrbf6l6ENY4MgwY6VDEtgzYy0EM4W+znrIqDESDG5vDTmpX+HZJucE3OckaNdaXuLHCrhbu6us9jHdSUWAZhc4i+0ABE1SGjl0Om6CNupQwKdzNYP8/7sp6ACxmpo8f1PB4cHa26YYxq9RFe6tfQ0KRP0/28TCC2jJZzigXTonxb4CQVJsgXpHwjrmB+3p/qGWIjsQImLK5OYKsoO6BpzmvcQZ26DFZvLhOER11fi40u5fWynUGtjTD3knKuS81kPFsTTWaHFEtz5nZvCUdGKpVCTiuSq00BG95tMn8Aj1dO7y/78FSa94zez8o1rX/39HxiDBk7UMOFOTL7PUQ4GIOEue4H0tgjP2qzuxwLyKa4FfPGUo9fy/9hPC+AJpc8OEHlkOgeIldbsbeX4EUHwbzJk7QBWzek/CvWiRsc2MUoDG2aQ1csmRE6T+rFTDq3JlR/2qZIhWiU7RSn3q2vaEZVeFjq18G4PGu6HsnKq1p3RHGyC/6Wfn2bRuEr8y5jq1Mb4okVmbhfd5iYX3nElps7uN1EGaLta02kSnMdzBIw6iNTTrMH+yv6tdr1uy0TITwQPOozMeibtGC+3Q5eJva1Du/4hRDVNY/Cs+XrYoKa9VSwqo8ve3ZPNDqxTNOyu1oCorWKaVwc
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(39850400004)(376002)(136003)(396003)(346002)(366004)(478600001)(4326008)(8676002)(8936002)(66476007)(26005)(66556008)(66946007)(86362001)(2906002)(31696002)(186003)(966005)(31686004)(83380400001)(36756003)(53546011)(5660300002)(6916009)(2616005)(956004)(54906003)(38100700002)(6486002)(316002)(16576012)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?Db4ooXmsks4bV7Zbahdodm0ywfVNtBizTy9haSdLKlciGw9s4OVwHhVL7cN+?=
 =?us-ascii?Q?PxkDB5Nt+6Mj01Xys0DvnDkms4ckRaxg6/Tc8J/olK7EzGDvb8tYDq99li1v?=
 =?us-ascii?Q?DRHCcq7MimBT9Dj/7bFt9sxtUt9d4LG1fMOuPbc+yugosIUZncTssJo3IQJc?=
 =?us-ascii?Q?vYmE2uJpqOVRupucPQUARKT1s1DuPXR9QXpwijC9AeABbBzQGBMnRwf+CDol?=
 =?us-ascii?Q?Er8Oz3HZDWzy72ZYwmUkSpcUdL0YTTGV8IizInmrqSfZbLyNI5kmGr1jnT7X?=
 =?us-ascii?Q?y8OYQQBWnshENF5hW4LSQHdqHqo94Gpazg4MF9sp6jVbcNfgZQ3d+mhgpnUH?=
 =?us-ascii?Q?XkfTF8x+KXi+fIZ/qAUBhb+awpHcHLzKJnkOlMtMPBCLOAVWwtGwnWFEj1ip?=
 =?us-ascii?Q?bltmAyz2GOYEU63idNcXFjFgR7MUEQ2gJ+bQk1tlO9VXWYM6uMFWPMVi6iwd?=
 =?us-ascii?Q?RrqIsgWnDLodaGHqo+IJbfpcEXazpWbIT9IJG9qTHjhKngpdyBv4iNwm9cAD?=
 =?us-ascii?Q?M/cv/S9IZtzooIj23z0qySqUsvYtrDOvsGpKXesd2jaT0xaYEcNBGdcJDos4?=
 =?us-ascii?Q?uK4y6aaPdjlh/5fHbY40Hck4AgTAtOmBr2KEGO6/uhjAmRDZuQF6HvAETxD1?=
 =?us-ascii?Q?IbQfJoxZjN8yz/Qm7sC85wdsgAWlQXmqK+Awoa2C9GabsuwXUp4bOL7VgQs/?=
 =?us-ascii?Q?GRTPMlZj5cb5q7AIYWFwHf0cra2s9DU6Yr0m6DdsU/lNKdV8eX09DlXF3OKx?=
 =?us-ascii?Q?UWzAAFwOQ1TWn+HzWLf4Jn26QA/ZnJDBLNNk/3TlkWVoFjZqCXnjhhcTggBp?=
 =?us-ascii?Q?HZnOM5o+PYmAvxFRy6BdrY5rqkWVjRCZuHey8KMDs+ygsL447gv8R2yiUYD3?=
 =?us-ascii?Q?bYI/IZ1NeToDBtoyCJHLwoVRDNL26nqHDpo3/J8u9rm9ZHSQk4UFqNYnO/Fz?=
 =?us-ascii?Q?lIuHoFLhiSd5WfXS7n8FEPCKqYAOB8/6YhXFuUJkmB2O9Uv724P88+Z83K2R?=
 =?us-ascii?Q?+M80YBxos5U42JEU5whZTRnDYLd0ExbggkCcL4BvND4Qi+o4kt0sL7yY9MXn?=
 =?us-ascii?Q?qyRo/5Da1XO6QKoesrteLdHhumJct+FU5cNhiaRqSgh8Fw7M959ETl4iUYCV?=
 =?us-ascii?Q?aKS7vBkq8lf357if8d/v0EyKttS+yuSw4g9hsLtD3Og8mZpv0BY5JCEmoYLO?=
 =?us-ascii?Q?mTNuiWcEk9D4J1BXpC+wa7xOxaMNizM2Vlka0q0JmhBaZ8t6ofXpnJ8iKDRo?=
 =?us-ascii?Q?ZfEXy835F16ZpnxnfLEMqGnMuAorTWJPxUo6iWldap0GpKfzVFjGKrX4TmVX?=
 =?us-ascii?Q?DoUJ2k/9fSmFvrc0TtT2elqx?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b8fa1e85-23b3-423e-955d-08d95bdbeabf
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2021 08:50:34.4685
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: vBBLPurt9ZeoJh5fNjeRB9t3HjLoFyh7+gHjA+eY3nCCAhxi6EjVSCmJq60WZpNBBm5SsB2ktu+qQmfO5LqWRg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5469

On 10.08.2021 10:33, Andrew Cooper wrote:
> On 03/08/2021 07:37, Jan Beulich wrote:
>> On 27.07.2021 14:33, Andrew Cooper wrote:
>>> On 22/07/2021 10:20, Jan Beulich wrote:
>>>> I suspect it is commit 40726f16a8d7 ("ld script expression parsing")
>>>> which broke the hypervisor build, by no longer accepting section names
>>>> with a dash in them inside ADDR() (and perhaps other script directives
>>>> expecting just a section name, not an expression): .note.gnu.build-id
>>>> is such a section.
>>> Are binutils going to fix their testing to reduce the number of serious
>>> regressions they're releasing?
>> To be honest - I simply don't know.
>>
>>>> Quoting all section names passed to ADDR() via DECL_SECTION() works
>>>> around the regression.
>>>>
>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>> I guess we've got no choice.=C2=A0 Acked-by: Andrew Cooper
>>> <andrew.cooper3@citrix.com>
>> Thanks. I see you've committed this already.
>=20
> Actually, it unilaterally breaks FreeBSD builds:=C2=A0
> https://cirrus-ci.com/task/5417332467040256
>=20
> I'm not sure why my build tests didn't notice, but obviously this patch
> isn't a workable option.

I'm confused: Is the tool called "ld" there something that's not only not
GNU ld, but not even compatible with GNU ld? (Iirc clang's linker is named
differently. Or maybe that's just on Linux? In any event I've just checked
with clang5 [on Linux], and the build worked fine there. But this looks to
be using GNU ld irrespective of the compiler choice, and I also don't seem
to have anything named "llvm-ld" on that system, despite there being a lot
of other "llvm-*".)

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 10 10:03:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Aug 2021 10:03:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165316.302119 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDObm-0001x9-V3; Tue, 10 Aug 2021 10:03:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165316.302119; Tue, 10 Aug 2021 10: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 1mDObm-0001x2-Rr; Tue, 10 Aug 2021 10:03:42 +0000
Received: by outflank-mailman (input) for mailman id 165316;
 Tue, 10 Aug 2021 10:03:41 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=RCh7=NB=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mDObl-0001ww-Js
 for xen-devel@lists.xenproject.org; Tue, 10 Aug 2021 10:03:41 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 3bbf6c09-f9c2-11eb-9f6f-12813bfff9fa;
 Tue, 10 Aug 2021 10:03:39 +0000 (UTC)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2111.outbound.protection.outlook.com [104.47.17.111])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-31-27xUuYZCMaqt-DiaTg-D8g-1; Tue, 10 Aug 2021 12:03:37 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4605.eurprd04.prod.outlook.com (2603:10a6:803:65::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.16; Tue, 10 Aug
 2021 10:03:35 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4394.023; Tue, 10 Aug 2021
 10:03:34 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FR0P281CA0057.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:49::14) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.4 via Frontend Transport; Tue, 10 Aug 2021 10:03: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: 3bbf6c09-f9c2-11eb-9f6f-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628589818;
	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=WASWLKZN8MtP8doE1BjpB/TSY8bi/cZ8dhbemMvQ6HA=;
	b=hXNiI8zYyBGwaPbFOZZp0jaJFVeIVcTo8q6wsfFMf5p20zu4TIwR9Mw0tXN0dU8E1XnB/2
	a7p7BGw+tVxXnB9Oz2ylD9+/03Dj1QqwsL+YZ7wwNzE4j7NFng1Uw4jX5NiebJHXfFcx97
	DNzofvE3+pCNJFiWJgFNNoDz83ZFT4w=
X-MC-Unique: 27xUuYZCMaqt-DiaTg-D8g-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=j/iLAIwb+GW9D65eBS4xuy0Qp2qO4LlLURqPN7zZ2OPFeg/RjXmbNhE5iF0f0lr8JO5N+JHRwnVm4zq4jaNpnOH6laOa9AXXdp8KH04B+4bh3Yi6rwJM5/gTJ6PqmDDR3vCYR/nKysk0ntt6FKVX+uOO+cb3fVXkumVlsK1Vb2UX49+jiI9BoPE3HjDAYGsluS5o+FD6L3DTR9whmZw+NzyaRHsj4+qJ6NkLyDbaIiQVR0UUngTP8jwJn6T5+Qbztj73R+fnY7rb3+QURVUYQeOM3ns0xhEnM9bZ4+IuTXwzpAyu2Bw7b6ux7RIe4mjqSlDG/foFZpATxvZb1uJfFw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WASWLKZN8MtP8doE1BjpB/TSY8bi/cZ8dhbemMvQ6HA=;
 b=G5l0PvWmbpsnKKMwxeRlXJ+5IILCKjCw+ada3cdV3qx4+WfFpSnH76k6ikt4DB4J5HLt3VUsCnmQV83+DJ2aTMihyfUC/GX7tMLE1jQJYFof5XEOUL0AtyXVp6lcdd9ZfvBUtm6g3Z11mkIXAXjS5DmF3vWszgsc0KvF9xqn7BPKmgGu9DdIe8Kx7IDEV9hlUCybpDCv3d4MpruRLoYbOoOnHhBxr9jRkhl80Me1MQJKI7+gNU+KJ5XJusSspy50oDsVnzbrXEqZSWnD2kB+OlOGkYmka1kotACWQ9nE2Kx5X4ojq9+7Z3GrKvMT2Jfx9JGeIAiW+DlXA72tLU5mIg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: suse.com; dkim=none (message not signed)
 header.d=none;suse.com; dmarc=none action=none header.from=suse.com;
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 Juergen Gross <jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] tools: ROUNDUP() related adjustments
Message-ID: <c5d84f5a-0350-f197-b98a-07512ac0dd91@suse.com>
Date: Tue, 10 Aug 2021 12:03:33 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0057.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::14) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a889617d-7dbe-4971-387f-08d95be61d78
X-MS-TrafficTypeDiagnostic: VI1PR04MB4605:
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB46056E944EE2354A8767CF46B3F79@VI1PR04MB4605.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	hNMBVgJXZRCjn9RUvsholDSrslMyslbihfUmfDqQ3X4Ul9CnBlPxXJxDiFOhicWPZf6r11tqBYCPAdC+kpa7KqmTr1NcxY7VKRfqKgOcAzfOdSR3IZnm8gI7s5KzplgqCy9oeS4zNdaV9t+qwC1COCTGHCIU37whi7cI63SVBlo63hx3m4svvHVfEV5VsKWx8slngAiPCB2HzhpbBglEK+vIx/Pyz6cWjeaPkCL9cSMKHzYCiSBgcQinsJPpCZw9eDddsJo/1GTuWOkNk1aSMfJAMimQQvaTtPCUHvySAQXTkIbZbPsq1IPF4LFBdruESG8Pl8LoZyCUmzbwFDZ9mxQtcuKYwMw4qWBdwX8EpBGlq70YOF107wwOqQStcc9zXAqdUGdIpnAApG/oBiRSKWzNEZRWKRpGc7CtTFrl7LcUXpoOG3fdYag1uHcxTabNOYwjhogwgAKmAc6NnptJ/bms/bq8v1QZz+WUDQMybG/eMgJs3Ii23Brc6blqbg+yY6MRQOj/l/PfB9CqHMc1cPhOIiKeAG61VMyV2yXXsNPKutYP0fnxRQ1UNLkq5IdjZbCIBL7FUZZIuwvSyOLGDdAalH6MHv1isBskRWyCoHaaf1/TLCAE3s6/+IMiRFq/8xYkEnj/ZNKOOmx/hx87YDbZjttiVwSOvuePzYlq9eNb3hZpsKJg0c7wxpY+FPpx3qYShBW71AmyGl2Rz6docg3peslhnv2HllZWaG23kyE=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(39850400004)(376002)(396003)(346002)(366004)(31696002)(36756003)(2616005)(478600001)(316002)(16576012)(86362001)(54906003)(4326008)(956004)(26005)(186003)(2906002)(6916009)(8936002)(107886003)(8676002)(83380400001)(6486002)(66946007)(31686004)(5660300002)(38100700002)(66476007)(66556008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ejFTZ3NRWjg5eXJsYTJxNTB5RFg5UVdWb1p0V1I4Qm5BUEl3WGxQdGt3ZURx?=
 =?utf-8?B?U2w1eFVPbVhpK3FGWWlUOUxGakFJYlJWb1dmQy9BVVNGRmVwU3hIdUZvR2lI?=
 =?utf-8?B?alpKZndHYzhQVGZRRTRWd3ZINTBJRXlQeVM4cWJWYmhEYmlZQzRYY0NtTjB6?=
 =?utf-8?B?enhQbkdZb3Q3RlJXdU9NVFJPZkVIL3l1QlRHVVN6VGZoZ1MyNUh2S2tVR2dS?=
 =?utf-8?B?N1RpazFCLzZjcGJWQzZINHd0NDB6SW1TMUIwMjFFdG5TdC9QSGhTeHhiOWgz?=
 =?utf-8?B?dzZaMWdNYm9nWDFmQnJweW1XcFEyWGdWTWVpOXBPcmpmcFNwY1V2S2duTERQ?=
 =?utf-8?B?UFRSQUVEeENPRU5QRXNRdUFTYnd2QjgzL3kydy9adjc2QjFBcG1OZm9ka1Iw?=
 =?utf-8?B?OWtBeEtBbXJKQUVpT2FuTytjR2FSU1VxOHprZ2RhV09sQTRyWktYQ2pyTGFo?=
 =?utf-8?B?YWNSd0dRZEVMTlpEMnk1cEF1MVZ2cnRZVFF6bkJoTmNySUxjRUZEampLR05X?=
 =?utf-8?B?bUxHS0Fzd1c4blEzd213di82a0JMRFcrRXlSQ3oxNXFDcUhOVnZkSlV6cmo2?=
 =?utf-8?B?ekpvVHQ1b0xQOVRacHRrVWt6dm03WWRleFRFeTVPN0NEeE9xeUUvZXRod29F?=
 =?utf-8?B?WWxQY3JiV0lrMTA5ajFmbE9hYzVObUF3ODM0d29GeGdUZDVJK01hbTFqREtK?=
 =?utf-8?B?N1JQUGp2anJXaXNVTDBOM1ZkRlYwTUFGb2xEMjE2ZzQ4dHg3Q2Ntczg5ZlNq?=
 =?utf-8?B?WlZ6cWJ6ZmJkZGZLWFpiVDBkeTdyTnVTN0NGR2NwNjZBK2lVQ2pZeXEzRnFT?=
 =?utf-8?B?TDFNMnZNbmhFWmE2bldMNXgveUI0M2liLytoYlZSaFQvWWZNVFpISGJMWVNp?=
 =?utf-8?B?ZkZQYUxDUHVJckhpazVJdjljWjNQeHFkRGtmQUtPYW0xOFlHS2xsOHNFQlpm?=
 =?utf-8?B?bERBK1d2dk0xTkNOS0htTk1zSEZDL3Jyc2VWR2UzU0hEYVorTjlnbEhUK1RI?=
 =?utf-8?B?TVNTMVcyVk9Qb01FOE0vaWRrWDZFTVJKbzlYaHpwTmVpN05lUmRETzFqc3U1?=
 =?utf-8?B?VzZIWUtxdG5ueDBWSzlWY0dlWFRaYXlqZ1hCL0QrZlhnai8yODdRbk9hMjN0?=
 =?utf-8?B?KzM5Yi9lODJlOXZwTVZLTk94QnY4aTJTNDdtdlRGbGFhMWhuUGp6SGZteFR3?=
 =?utf-8?B?TmR4ekwrbkxLTURFeG44UllsYVZwNVhoNTBnRkMrNjllZXJscjNjYWJFc0FR?=
 =?utf-8?B?N0RtSG5Odld4YWo4WVJnMW4zcUQ2ZVR1M0xuSk1pNkovbGJ5VU4xdUpBM1FQ?=
 =?utf-8?B?OTdWQ2hOT0k5WVdNb085NWlIMzQzQnpvdXpVYW12U2ZlU252MjZab0xyNUNI?=
 =?utf-8?B?dzV2WHJJYVU4UWNPb1hhSDAzbVVlUjhiN1oyTTcvTVZ6L0FLL2ZGMVovcFR1?=
 =?utf-8?B?L2VYK0lYU3NsMEpFV0VFZVFSbUFoTnBjL3diQmtOenhnWDJQWGViRWM3UnZH?=
 =?utf-8?B?aUNOK1dFYXpoOUZscHhwbVpvaGp0MzlvbjNqdk5mbXFlWU9XdFZXakYvK0th?=
 =?utf-8?B?OFRWdU5GbHRqSUJ6a3UwL2hEd1ZXYkFkUzJsK3N0M1llSzBZeWVKL1VjMGVE?=
 =?utf-8?B?NkwrWUlBWDlJRU52dHdDR1dXZy9yWjU5d21ocFNCYTR5a1psQWl4YTVZeVJF?=
 =?utf-8?B?alJZWXFFeEZCUXdjNWdkNzBQWGYwWCtQODUwQ01idWFBbFlBKytBK2RCaUdh?=
 =?utf-8?Q?xzaBjE3HqbsU2hzSoy/TVYHTgWtS11IJf4USRS2?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a889617d-7dbe-4971-387f-08d95be61d78
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2021 10:03:34.5249
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 2GEyiiMm8a0HeA0SA4L1ibm0T3+sk17Tq/+FYlF7UkTsqEll8wa8rSx9DhB6ncJ8gVXo/gxD/BZkIf8HsSI3/g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4605

For one xc_private.h needlessly repeats xen-tools/libs.h's definition.

And then there are two suspicious uses (resulting from the inconsistency
with the respective 2nd parameter of DIV_ROUNDUP()): While the one in
tools/console/daemon/io.c - as per the code comment - intentionally uses
8 as the second argument (meaning to align to a multiple of 256), the
one in alloc_magic_pages_hvm() pretty certainly does not: There the goal
is to align to a uint64_t boundary, for the following module struct to
end up aligned.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
xg_dom_x86.c's HVM guest command line handling has further oddities: The
command line gets copied twice, yet in only one case enforcing the
MAX_GUEST_CMDLINE upper bound on the length. The length calculation also
doesn't take this bound into account, despite the assumption that all of
start info fits into a single page. A terminating nul character gets
forced in place in only one of the two cases, too.

--- a/tools/libs/ctrl/xc_private.h
+++ b/tools/libs/ctrl/xc_private.h
@@ -63,8 +63,6 @@ struct iovec {
 #include <sys/uio.h>
 #endif
 
-#define ROUNDUP(_x,_w) (((unsigned long)(_x)+(1UL<<(_w))-1) & ~((1UL<<(_w))-1))
-
 #define DECLARE_DOMCTL struct xen_domctl domctl
 #define DECLARE_SYSCTL struct xen_sysctl sysctl
 #define DECLARE_PHYSDEV_OP struct physdev_op physdev_op
--- a/tools/libs/guest/xg_dom_x86.c
+++ b/tools/libs/guest/xg_dom_x86.c
@@ -678,7 +678,7 @@ static int alloc_magic_pages_hvm(struct
     {
         if ( dom->cmdline )
         {
-            dom->cmdline_size = ROUNDUP(strlen(dom->cmdline) + 1, 8);
+            dom->cmdline_size = ROUNDUP(strlen(dom->cmdline) + 1, 3);
             start_info_size += dom->cmdline_size;
         }
     }



From xen-devel-bounces@lists.xenproject.org Tue Aug 10 10:56:21 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Aug 2021 10:56:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165321.302130 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDPQb-0006os-TN; Tue, 10 Aug 2021 10:56:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165321.302130; Tue, 10 Aug 2021 10:56:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDPQb-0006ol-P1; Tue, 10 Aug 2021 10:56:13 +0000
Received: by outflank-mailman (input) for mailman id 165321;
 Tue, 10 Aug 2021 10:56:13 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/GuK=NB=gmail.com=wei.liu.linux@srs-us1.protection.inumbo.net>)
 id 1mDPQb-0006of-CL
 for xen-devel@lists.xenproject.org; Tue, 10 Aug 2021 10:56:13 +0000
Received: from mail-wm1-f51.google.com (unknown [209.85.128.51])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 9325e1f0-f9c9-11eb-9f75-12813bfff9fa;
 Tue, 10 Aug 2021 10:56:12 +0000 (UTC)
Received: by mail-wm1-f51.google.com with SMTP id
 w21-20020a7bc1150000b02902e69ba66ce6so2225722wmi.1
 for <xen-devel@lists.xenproject.org>; Tue, 10 Aug 2021 03:56:12 -0700 (PDT)
Received: from liuwe-devbox-debian-v2 ([51.145.34.42])
 by smtp.gmail.com with ESMTPSA id x18sm20028730wmc.17.2021.08.10.03.56.10
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 10 Aug 2021 03:56:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9325e1f0-f9c9-11eb-9f75-12813bfff9fa
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:date:from:to:cc:subject:message-id:references
         :mime-version:content-disposition:in-reply-to;
        bh=M8c678fNnsGLoOeW7UexhiEvWyA8c3/gcsG+wSE2ct8=;
        b=iJ8qqb3cvLwc9L8K+UtP+FSCeGr6PstPaaCbPVtTeY9kU++4U1Xd9p//xkn9YOV5JW
         3mFRb7Ow/oJqssqTZ5mpRuiisK1yQ11vNzPyudhdEHD82r6b7E85lUjdxWdCImHpeDNw
         Vq+Xe5jv14MXxNVJBLuM1Bv+5G/SVDNUTeqzEPJVlfRoFpNVoj87NgTO+7tgmDK1URag
         8I8BvF0/OHGZ65AT3Gsey+HDvYf0xt8Bw9wWoZ1HiIQYlYP30/op1vqyrNLyPcsaQ5i+
         tKorWy9+qOadJHfJvRj5JXju7USPDNOpHOJAcxSIN2OqJCqazL2a76hQ/o/4gn6DLDaE
         FXGA==
X-Gm-Message-State: AOAM5332q/+kSR5bxRZFbAWm3xxL1N+P3cpLblf5QVJnsfxg8L+MVbWI
	Gw725IS/U5BcnklRZ1/zmzE=
X-Google-Smtp-Source: ABdhPJz2yF8WcgnnZUSV/YZcts24nqVnzunX66Xx60m+tHd6RHQnGzum63lk7AYwHZ32aACM7/ys3w==
X-Received: by 2002:a1c:7dd0:: with SMTP id y199mr2862006wmc.23.1628592971259;
        Tue, 10 Aug 2021 03:56:11 -0700 (PDT)
Date: Tue, 10 Aug 2021 10:56:09 +0000
From: Wei Liu <wei.liu@kernel.org>
To: Tianyu Lan <ltykernel@gmail.com>
Cc: kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com,
	wei.liu@kernel.org, decui@microsoft.com, tglx@linutronix.de,
	mingo@redhat.com, bp@alien8.de, x86@kernel.org, hpa@zytor.com,
	dave.hansen@linux.intel.com, luto@kernel.org, peterz@infradead.org,
	konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, jgross@suse.com,
	sstabellini@kernel.org, joro@8bytes.org, will@kernel.org,
	davem@davemloft.net, kuba@kernel.org, jejb@linux.ibm.com,
	martin.petersen@oracle.com, arnd@arndb.de, hch@lst.de,
	m.szyprowski@samsung.com, robin.murphy@arm.com,
	thomas.lendacky@amd.com, brijesh.singh@amd.com, ardb@kernel.org,
	Tianyu.Lan@microsoft.com, pgonda@google.com,
	martin.b.radev@gmail.com, akpm@linux-foundation.org,
	kirill.shutemov@linux.intel.com, rppt@kernel.org,
	sfr@canb.auug.org.au, saravanand@fb.com, krish.sadhukhan@oracle.com,
	aneesh.kumar@linux.ibm.com, xen-devel@lists.xenproject.org,
	rientjes@google.com, hannes@cmpxchg.org, tj@kernel.org,
	michael.h.kelley@microsoft.com, iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org, linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org, vkuznets@redhat.com, parri.andrea@gmail.com,
	dave.hansen@intel.com
Subject: Re: [PATCH V3 01/13] x86/HV: Initialize GHCB page in Isolation VM
Message-ID: <20210810105609.soi67eg2us5w7yuq@liuwe-devbox-debian-v2>
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-2-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20210809175620.720923-2-ltykernel@gmail.com>

On Mon, Aug 09, 2021 at 01:56:05PM -0400, Tianyu Lan wrote:
[...]
>  static int hv_cpu_init(unsigned int cpu)
>  {
>  	union hv_vp_assist_msr_contents msr = { 0 };
> @@ -85,6 +111,8 @@ static int hv_cpu_init(unsigned int cpu)
>  		}
>  	}
>  
> +	hyperv_init_ghcb();
> +

Why is the return value not checked here? If that's not required, can
you leave a comment?

Wei.


From xen-devel-bounces@lists.xenproject.org Tue Aug 10 11:04:20 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Aug 2021 11:04:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165327.302141 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDPYC-0008HO-MI; Tue, 10 Aug 2021 11:04:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165327.302141; Tue, 10 Aug 2021 11: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 1mDPYC-0008HH-JQ; Tue, 10 Aug 2021 11:04:04 +0000
Received: by outflank-mailman (input) for mailman id 165327;
 Tue, 10 Aug 2021 11:04:03 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/GuK=NB=gmail.com=wei.liu.linux@srs-us1.protection.inumbo.net>)
 id 1mDPYB-0008HB-T1
 for xen-devel@lists.xenproject.org; Tue, 10 Aug 2021 11:04:03 +0000
Received: from mail-wm1-f54.google.com (unknown [209.85.128.54])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id eb83ce78-9f3d-4a1a-9df6-31e066c2a5fa;
 Tue, 10 Aug 2021 11:04:02 +0000 (UTC)
Received: by mail-wm1-f54.google.com with SMTP id g138so922446wmg.4
 for <xen-devel@lists.xenproject.org>; Tue, 10 Aug 2021 04:04:02 -0700 (PDT)
Received: from liuwe-devbox-debian-v2 ([51.145.34.42])
 by smtp.gmail.com with ESMTPSA id q3sm3504575wmf.37.2021.08.10.04.04.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 10 Aug 2021 04:04: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: eb83ce78-9f3d-4a1a-9df6-31e066c2a5fa
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:date:from:to:cc:subject:message-id:references
         :mime-version:content-disposition:in-reply-to;
        bh=h9AyImD9UvKdyZgMt8rSQ3Uk0c9+Og7qG6N7oOE6PXA=;
        b=QdNPIu3d9DITHnflhEkY8NcjD/Qra5Jp903/eNvaWpsKC9sVYguI22hR7A/pLOiYpc
         mAMqhuaX8z5M3iax1O+Q9iKqxYvtF+DzoBj9NTkUyPvEZ/odDHHSHmZ1m+eddEZsEuX2
         SqXGDCCTzN6uSmUjRnU1hjLySiEKRK9cIec92cVX2IVU7kz2M0Q7S3Md2hxVWaVaaRI8
         fedJy/LuLtZ/37XO59UNOabOzGdJeXiIvY/VH68jhDLc1jVdL6gIOZKiOhUjwUV4Qzk6
         dCP9z7DPEm0Ea70WGlR/4xty6Jmj4E6xLYdpsPuK1nFbQrvajJmeVua4qHbMj6X0PRuy
         x57Q==
X-Gm-Message-State: AOAM5319AR6WPr63tOaJy74bf+V56AZls86E9Y9LsNt88bjolZEuzFZ6
	azawqy2xpbsDM5Vi1p/C7dk=
X-Google-Smtp-Source: ABdhPJyrk1wBfHB9MekkHvpHW9x6fYmFebxaC/tx0zZS+XISdOGMjx9hLm+CPvA9MFZ9+dQ3n/YQhA==
X-Received: by 2002:a05:600c:3798:: with SMTP id o24mr4061437wmr.18.1628593441621;
        Tue, 10 Aug 2021 04:04:01 -0700 (PDT)
Date: Tue, 10 Aug 2021 11:03:59 +0000
From: Wei Liu <wei.liu@kernel.org>
To: Tianyu Lan <ltykernel@gmail.com>
Cc: kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com,
	wei.liu@kernel.org, decui@microsoft.com, tglx@linutronix.de,
	mingo@redhat.com, bp@alien8.de, x86@kernel.org, hpa@zytor.com,
	dave.hansen@linux.intel.com, luto@kernel.org, peterz@infradead.org,
	konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, jgross@suse.com,
	sstabellini@kernel.org, joro@8bytes.org, will@kernel.org,
	davem@davemloft.net, kuba@kernel.org, jejb@linux.ibm.com,
	martin.petersen@oracle.com, arnd@arndb.de, hch@lst.de,
	m.szyprowski@samsung.com, robin.murphy@arm.com,
	thomas.lendacky@amd.com, brijesh.singh@amd.com, ardb@kernel.org,
	Tianyu.Lan@microsoft.com, pgonda@google.com,
	martin.b.radev@gmail.com, akpm@linux-foundation.org,
	kirill.shutemov@linux.intel.com, rppt@kernel.org,
	sfr@canb.auug.org.au, saravanand@fb.com, krish.sadhukhan@oracle.com,
	aneesh.kumar@linux.ibm.com, xen-devel@lists.xenproject.org,
	rientjes@google.com, hannes@cmpxchg.org, tj@kernel.org,
	michael.h.kelley@microsoft.com, iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org, linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org, vkuznets@redhat.com, parri.andrea@gmail.com,
	dave.hansen@intel.com
Subject: Re: [PATCH V3 03/13] x86/HV: Add new hvcall guest address host
 visibility support
Message-ID: <20210810110359.i4qodw7h36zrsicp@liuwe-devbox-debian-v2>
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-4-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20210809175620.720923-4-ltykernel@gmail.com>

On Mon, Aug 09, 2021 at 01:56:07PM -0400, Tianyu Lan wrote:
> From: Tianyu Lan <Tianyu.Lan@microsoft.com>
> 
> Add new hvcall guest address host visibility support to mark
> memory visible to host. Call it inside set_memory_decrypted
> /encrypted(). Add HYPERVISOR feature check in the
> hv_is_isolation_supported() to optimize in non-virtualization
> environment.
> 
> Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
> ---
> Change since v2:
>        * Rework __set_memory_enc_dec() and call Hyper-V and AMD function
>          according to platform check.
> 
> Change since v1:
>        * Use new staic call x86_set_memory_enc to avoid add Hyper-V
>          specific check in the set_memory code.
> ---
>  arch/x86/hyperv/Makefile           |   2 +-
>  arch/x86/hyperv/hv_init.c          |   6 ++
>  arch/x86/hyperv/ivm.c              | 114 +++++++++++++++++++++++++++++
>  arch/x86/include/asm/hyperv-tlfs.h |  20 +++++
>  arch/x86/include/asm/mshyperv.h    |   4 +-
>  arch/x86/mm/pat/set_memory.c       |  19 +++--
>  include/asm-generic/hyperv-tlfs.h  |   1 +
>  include/asm-generic/mshyperv.h     |   1 +
>  8 files changed, 160 insertions(+), 7 deletions(-)
>  create mode 100644 arch/x86/hyperv/ivm.c
> 
> diff --git a/arch/x86/hyperv/Makefile b/arch/x86/hyperv/Makefile
> index 48e2c51464e8..5d2de10809ae 100644
> --- a/arch/x86/hyperv/Makefile
> +++ b/arch/x86/hyperv/Makefile
> @@ -1,5 +1,5 @@
>  # SPDX-License-Identifier: GPL-2.0-only
> -obj-y			:= hv_init.o mmu.o nested.o irqdomain.o
> +obj-y			:= hv_init.o mmu.o nested.o irqdomain.o ivm.o
>  obj-$(CONFIG_X86_64)	+= hv_apic.o hv_proc.o
>  
>  ifdef CONFIG_X86_64
> diff --git a/arch/x86/hyperv/hv_init.c b/arch/x86/hyperv/hv_init.c
> index 0bb4d9ca7a55..b3683083208a 100644
> --- a/arch/x86/hyperv/hv_init.c
> +++ b/arch/x86/hyperv/hv_init.c
> @@ -607,6 +607,12 @@ EXPORT_SYMBOL_GPL(hv_get_isolation_type);
>  
>  bool hv_is_isolation_supported(void)
>  {
> +	if (!cpu_feature_enabled(X86_FEATURE_HYPERVISOR))
> +		return 0;

Nit: false instead of 0.

> +
> +	if (!hypervisor_is_type(X86_HYPER_MS_HYPERV))
> +		return 0;
> +
>  	return hv_get_isolation_type() != HV_ISOLATION_TYPE_NONE;
>  }
>  
[...]
> +int hv_mark_gpa_visibility(u16 count, const u64 pfn[],
> +			   enum hv_mem_host_visibility visibility)
> +{
> +	struct hv_gpa_range_for_visibility **input_pcpu, *input;
> +	u16 pages_processed;
> +	u64 hv_status;
> +	unsigned long flags;
> +
> +	/* no-op if partition isolation is not enabled */
> +	if (!hv_is_isolation_supported())
> +		return 0;
> +
> +	if (count > HV_MAX_MODIFY_GPA_REP_COUNT) {
> +		pr_err("Hyper-V: GPA count:%d exceeds supported:%lu\n", count,
> +			HV_MAX_MODIFY_GPA_REP_COUNT);
> +		return -EINVAL;
> +	}
> +
> +	local_irq_save(flags);
> +	input_pcpu = (struct hv_gpa_range_for_visibility **)
> +			this_cpu_ptr(hyperv_pcpu_input_arg);
> +	input = *input_pcpu;
> +	if (unlikely(!input)) {
> +		local_irq_restore(flags);
> +		return -EINVAL;
> +	}
> +
> +	input->partition_id = HV_PARTITION_ID_SELF;
> +	input->host_visibility = visibility;
> +	input->reserved0 = 0;
> +	input->reserved1 = 0;
> +	memcpy((void *)input->gpa_page_list, pfn, count * sizeof(*pfn));
> +	hv_status = hv_do_rep_hypercall(
> +			HVCALL_MODIFY_SPARSE_GPA_PAGE_HOST_VISIBILITY, count,
> +			0, input, &pages_processed);
> +	local_irq_restore(flags);
> +
> +	if (!(hv_status & HV_HYPERCALL_RESULT_MASK))
> +		return 0;
> +
> +	return hv_status & HV_HYPERCALL_RESULT_MASK;

Joseph introduced a few helper functions in 753ed9c95c37d. They will
make the code simpler.

Wei.


From xen-devel-bounces@lists.xenproject.org Tue Aug 10 11:11:49 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Aug 2021 11:11:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165333.302152 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDPfc-0001Fk-Gc; Tue, 10 Aug 2021 11:11:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165333.302152; Tue, 10 Aug 2021 11:11:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDPfc-0001Fd-Co; Tue, 10 Aug 2021 11:11:44 +0000
Received: by outflank-mailman (input) for mailman id 165333;
 Tue, 10 Aug 2021 11:11: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 1mDPfa-0001FT-Qj; Tue, 10 Aug 2021 11:11: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 1mDPfa-0003xk-IZ; Tue, 10 Aug 2021 11:11: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 1mDPfa-00067W-4y; Tue, 10 Aug 2021 11:11:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mDPfa-0003pe-4R; Tue, 10 Aug 2021 11:11: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=+Ohn3qaHxiF4FMDooK4JPLFc8/GGz+IunjMTXR5wVHs=; b=eYcUSY/GGa9fG3I7KWRkPItQvf
	/I5Q5NDQqGCbd1otuaSjtexz0YjYtHHTGigi48b/ecNiieVeFqgVaeNPZcmRpGPBGEEP5eI7mxesE
	ZzqQ8YaR0+ubbvPGk+z9Sw39x7WOzRtm/fYhDkrVnQYTcXvdLLCGmz8g4RvgwOAHy/l4=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164145-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 164145: FAIL
X-Osstest-Failures:
    xen-unstable:test-arm64-arm64-xl-xsm:<job status>:broken:regression
    xen-unstable:test-arm64-arm64-xl-xsm:host-install(5):broken:heisenbug
    xen-unstable:test-amd64-i386-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-armhf-armhf-libvirt:saverestore-support-check: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-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=2b45ff60301a988badec526846e77b538383ae63
X-Osstest-Versions-That:
    xen=2b45ff60301a988badec526846e77b538383ae63
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 10 Aug 2021 11:11:42 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-xl-xsm         <job status>                 broken  in 164137

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl-xsm      5 host-install(5) broken in 164137 pass in 164145
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 164137

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

version targeted for testing:
 xen                  2b45ff60301a988badec526846e77b538383ae63
baseline version:
 xen                  2b45ff60301a988badec526846e77b538383ae63

Last test of basis   164145  2021-08-10 01:51:38 Z    0 days
Testing same since                          (not found)         0 attempts

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


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

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

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

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

broken-job test-arm64-arm64-xl-xsm broken

Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Tue Aug 10 11:22:02 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Aug 2021 11:22:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165341.302165 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDPpV-0002mY-Im; Tue, 10 Aug 2021 11:21:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165341.302165; Tue, 10 Aug 2021 11: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 1mDPpV-0002mR-FW; Tue, 10 Aug 2021 11:21:57 +0000
Received: by outflank-mailman (input) for mailman id 165341;
 Tue, 10 Aug 2021 11:21: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 1mDPpT-0002mH-IF; Tue, 10 Aug 2021 11:21: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 1mDPpT-00048H-AA; Tue, 10 Aug 2021 11:21: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 1mDPpT-0006MW-2A; Tue, 10 Aug 2021 11:21:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mDPpT-0005B1-1X; Tue, 10 Aug 2021 11: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=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=l4cJTtnsOCz67GZ9opG3lfAPmPiEt6yIyz6wQ+3f450=; b=IW+fjYAPJi8VxK+OFgPvDCQN2c
	/rdDwG4ZOb8q5gWBq/CqxJvCQG7m9H3hc0oAea+KtyY9qNreK2xeFKIDw0BjMU0jLtOWs3ySeTUO3
	2Yvx/9Nf0Y1VAP4vX1QLoUEY6PNKmlQud3XYiq914hsDQ4Aca1yhkptVZTou8CU4Io28=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164147-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 164147: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=b160cb720122c420a0dbfe940691580749188684
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 10 Aug 2021 11:21:55 +0000

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

Regressions :-(

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

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

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

Last test of basis   151777  2020-07-10 04:19:19 Z  396 days
Failing since        151818  2020-07-11 04:18:52 Z  395 days  387 attempts
Testing same since   164147  2021-08-10 04:20:05 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  Cédric Bosdonnat <cbosdonnat@suse.com>
  Côme Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano Fidêncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Ian Wienand <iwienand@redhat.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  John Ferlan <jferlan@redhat.com>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  Ján Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Michał Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  Moshe Levi <moshele@nvidia.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr Drąg <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tomáš Golembiovský <tgolembi@redhat.com>
  Tomáš Janoušek <tomi@nomi.cz>
  Tuguoyi <tu.guoyi@h3c.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  William Douglas <william.douglas@intel.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.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                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Tue Aug 10 11:58:42 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Aug 2021 11:58:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165347.302180 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDQOw-00062c-Hf; Tue, 10 Aug 2021 11:58:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165347.302180; Tue, 10 Aug 2021 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 1mDQOw-00062V-Ea; Tue, 10 Aug 2021 11:58:34 +0000
Received: by outflank-mailman (input) for mailman id 165347;
 Tue, 10 Aug 2021 11:58:33 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=oQPR=NB=gmail.com=olekstysh@srs-us1.protection.inumbo.net>)
 id 1mDQOv-00062P-Mf
 for xen-devel@lists.xenproject.org; Tue, 10 Aug 2021 11:58:33 +0000
Received: from mail-ed1-x535.google.com (unknown [2a00:1450:4864:20::535])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id e636214d-e753-4fc9-96b8-235fbb6dcbba;
 Tue, 10 Aug 2021 11:58:32 +0000 (UTC)
Received: by mail-ed1-x535.google.com with SMTP id n12so5948535edx.8
 for <xen-devel@lists.xenproject.org>; Tue, 10 Aug 2021 04:58:32 -0700 (PDT)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id t11sm6763837ejr.89.2021.08.10.04.58.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Aug 2021 04:58: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: e636214d-e753-4fc9-96b8-235fbb6dcbba
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-transfer-encoding:content-language;
        bh=UDoZ2I2HvwaT3NQw63fDrZKn5H1QaUUoKZW9xC3tGas=;
        b=kykYTABuxh44QvRZL4TI2ouXz7fUfd/1KnbtVhw5p8JsDsmT2A5+XArkE5WFY6yxj+
         wkN+HYCP5tkVCwrsT/1kjGmyxItumFZmZIT2p+mc3Tgf2msBZKcb/7+Xt74sG4XnGHkf
         tPon50uSvheyB5JRXTOYMR1zoNjf9PKYcM7dwNL64l8MJqd8SRcyA43e+oG6AJilDPqA
         4+MBtrjN2tqDEXZoZv/L3OaF1IrB3eON2+MFximymJGiS6WFf4sny/LY4yTzkYnXAkux
         DVYXkWuTCwPCIjm+sDBm0WomdV5vqYPWikNmfkw3sjR7MACVhahshKnVcvS5rMssuMt1
         xesw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-transfer-encoding
         :content-language;
        bh=UDoZ2I2HvwaT3NQw63fDrZKn5H1QaUUoKZW9xC3tGas=;
        b=ovGc49gEGbiXFmH9eQif1iz0GavKI1rif1SUDCnFyGrHOpdSMi3tZiPnkScRyQVv8m
         AkLiTbMT+s6dZKG3F7p/c9HE9qaQmg4MwIs16qo6Mysan9VEMBxEPXvhmezXaL5JQPbn
         /sxgG0XLggMRyvoDp2IzNAmh65BrqqusrxumJUuPkmZE0HElw5ISUSlpPPnQ9WHRMglS
         bQnZdL7VTKGMlfI9jtwaoIzFVvqhpu2y4ckLUYVaheeqAScEsANkemLxVkdlZFH0nq8y
         9w0n9oM2fFhKJAwnaCXc2qG7HmR/tKLZXGZ+zbpU8hdRcdenLj85Z3wyrmhhX0LjjYs8
         5toA==
X-Gm-Message-State: AOAM5336RXeuXdajF182P+Dl2dc/9XjUw1Nt92D4DF+94GfpbqEBTjTv
	HCzCG7uk1EOE7TDD82xBh60=
X-Google-Smtp-Source: ABdhPJxyAuVl6EZ1MYAU/7gmUZ9yF8i/ssE0csavJ4bXbbH7fiB7TslV6eEttkX2CjXzLIG0xPBwKQ==
X-Received: by 2002:a05:6402:c8a:: with SMTP id cm10mr4302448edb.192.1628596711582;
        Tue, 10 Aug 2021 04:58:31 -0700 (PDT)
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
To: Wei Chen <Wei.Chen@arm.com>, Julien Grall <julien@xen.org>
Cc: Penny Zheng <Penny.Zheng@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <80fafc01-f063-d6e5-1c08-7ad64550310c@citrix.com>
 <e8db3021-78a5-e040-a70b-62ca5b500149@xen.org>
 <4de5ed21-379e-b618-44c8-924d88b1a519@citrix.com>
 <bbc7f597-5249-20a0-cac9-13f594268299@xen.org>
 <6a633f4e-13e0-4a2b-cf6e-35ef90ae977c@gmail.com>
 <alpine.DEB.2.21.2107301630510.10122@sstabellini-ThinkPad-T480s>
 <f6b2e6c6-bf58-960f-4a09-f05ebcf1f566@gmail.com>
 <5643d414-0b76-74a4-2c37-c7a99338d547@gmail.com>
 <c83378af-4d3b-9256-0e0d-f88c43c6de2f@xen.org>
 <alpine.DEB.2.21.2108051720210.18743@sstabellini-ThinkPad-T480s>
 <6596ad08-8398-64dd-ef62-cd7bc6f7333e@gmail.com>
 <bc576a23-d107-c67d-8dca-62691e5eea1a@xen.org>
 <1d0ea55d-2e5a-daa7-9c60-c7a1c4b48fa1@gmail.com>
 <DB9PR08MB6857442248B996CC978BBA379EF79@DB9PR08MB6857.eurprd08.prod.outlook.com>
From: Oleksandr <olekstysh@gmail.com>
Message-ID: <0ddb516b-1990-b772-6163-3e0d3af2c635@gmail.com>
Date: Tue, 10 Aug 2021 14:58:30 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.10.0
MIME-Version: 1.0
In-Reply-To: <DB9PR08MB6857442248B996CC978BBA379EF79@DB9PR08MB6857.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US


On 10.08.21 09:34, Wei Chen wrote:
> Hi Oleksandr,

Hi Wei, Julien.


>
>> -----Original Message-----
>> From: Oleksandr <olekstysh@gmail.com>
>> Sent: 2021年8月10日 2:25
>> To: Julien Grall <julien@xen.org>
>> Cc: Stefano Stabellini <sstabellini@kernel.org>; Andrew Cooper
>> <andrew.cooper3@citrix.com>; xen-devel@lists.xenproject.org; Oleksandr
>> Tyshchenko <oleksandr_tyshchenko@epam.com>; Daniel De Graaf
>> <dgdegra@tycho.nsa.gov>; Daniel P. Smith <dpsmith@apertussolutions.com>;
>> Ian Jackson <iwj@xenproject.org>; Wei Liu <wl@xen.org>; George Dunlap
>> <george.dunlap@citrix.com>; Jan Beulich <jbeulich@suse.com>; Volodymyr
>> Babchuk <Volodymyr_Babchuk@epam.com>; Roger Pau Monné
>> <roger.pau@citrix.com>; Bertrand Marquis <Bertrand.Marquis@arm.com>; Wei
>> Chen <Wei.Chen@arm.com>
>> Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
>> unallocated space
>>
>>
>> On 09.08.21 18:42, Julien Grall wrote:
>>> Hi Oleksandr,
>>
>> Hi Julien.
>>
>>
>> Thank you for the input.
>>
>>
>>> On 07/08/2021 18:03, Oleksandr wrote:
>>>> On 06.08.21 03:30, Stefano Stabellini wrote:
>>>>
>>>> Hi Stefano
>>>>
>>>>> On Wed, 4 Aug 2021, Julien Grall wrote:
>>>>>>> +#define GUEST_SAFE_RANGE_BASE xen_mk_ullong(0xDE00000000) /*
>>>>>>> 128GB */
>>>>>>> +#define GUEST_SAFE_RANGE_SIZE xen_mk_ullong(0x0200000000)
>>>>>>>
>>>>>>> While the possible new DT bindings has not been agreed yet, I re-
>> used
>>>>>>> existing "reg" property under the hypervisor node to pass safe
>>>>>>> range as a
>>>>>>> second region,
>>>>>>> https://elixir.bootlin.com/linux/v5.14-
>> rc4/source/Documentation/devicetree/bindings/arm/xen.txt#L10:
>>>>>> So a single region works for a guest today, but for dom0 we will
>>>>>> need multiple
>>>>>> regions because it is may be difficult to find enough contiguous
>>>>>> space for a
>>>>>> single region.
>>>>>>
>>>>>> That said, as dom0 is mapped 1:1 (including some guest mapping),
>>>>>> there is also
>>>>>> the question where to allocate the safe region. For grant table, we
>>>>>> so far
>>>>>> re-use the Xen address space because it is assumed it will space
>>>>>> will always
>>>>>> be bigger than the grant table.
>>>>>>
>>>>>> I am not sure yet where we could allocate the safe regions.
>>>>>> Stefano, do you
>>>>>> have any ideas?
>>>>> The safest choice would be the address range corresponding to memory
>>>>> (/memory) not already allocated to Dom0.
>>>>>
>>>>> For instance from my last boot logs:
>>>>> (XEN) Allocating 1:1 mappings totalling 1600MB for dom0:
>>>>> (XEN) BANK[0] 0x00000010000000-0x00000070000000 (1536MB)
>>>>> (XEN) BANK[1] 0x00000078000000-0x0000007c000000 (64MB)
>>>>>
>>>>> All the other ranges could be given as unallocated space:
>>>>>
>>>>> - 0x0 - 0x10000000
>>>>> - 0x70000000 - 0x78000000
>>>>> - 0x8_0000_0000 - 0x8_8000_0000
>>>> Thank you for the ideas.
>>>>
>>>> If I got the idea correctly, yes, as these ranges represent the real
>>>> RAM, so no I/O would be in conflict with them and as the result - no
>>>> overlaps would be expected.
>>>> But, I wonder, would this work if we have IOMMU enabled for Dom0 and
>>>> need to establish 1:1 mapping for the DMA devices to work with grant
>>>> mappings...
>>>> In arm_iommu_map_page() we call guest_physmap_add_entry() with gfn =
>>>> mfn, so the question is could we end up with this new gfn replacing
>>>> the valid mapping
>>>> (with gfn allocated from the safe region)?
>>> Right, when we enable the IOMMU for dom0, Xen will add an extra
>>> mapping with GFN == MFN for foreign and grant pages. This is because
>>> Linux is not aware that whether a device is protected by an IOMMU.
>>> Therefore it is assuming it is not and will use the MFN to configure
>>> for DMA transaction.
>>>
>>> We can't remove the mapping without significant changes in Linux and
>>> Xen. I would not mandate them for this work.
>>>
>>> That said, I think it would be acceptable to have different way to
>>> find the region depending on the dom0 configuration. So we could use
>>> the RAM not used by dom0 when the IOMMU is turned off.
>> OK
>>
>>
>>>>> The second best choice would be an hole: an address range not used by
>>>>> anybody else (no reg property) and also not even mappable by a bus
>> (not
>>>>> covered by a ranges property). This is not the best choice because
>>>>> there
>>>>> can cases where physical resources appear afterwards.
>>> Are you saying that the original device-tree doesn't even describe
>>> them in any way (i.e. reserved...)?
>>>
>>>> Unfortunately, yes.
>>> So the decision where the safe region is located will be done by Xen.
>>> There is no involvement of the domain (it will discover the region
>>> from the DT). Therefore, I don't think we need to think about
>>> everything right now as we could adapt this is exact region is not
>>> part of the stable ABI.
>>>
>>> The hotplug is one I would defer because this is not supported (and
>>> quite likely not working) in Xen upstream today.
>> Sounds reasonable.
>>
>>
>>>
>>> Now regarding the case where dom0 is using the IOMMU. The assumption
>>> is Xen will be able to figure out all the regions used from the
>>> firmware table (ACPI or DT).
>>>
>>> AFAIK, this assumption would be correct for DT. However, for ACPI, I
>>> remember we were not able to find all the MMIOs region in Xen (see [1]
>>> and [2]). So even this solution would not work for ACPI.
>>>
>>> If I am not mistaken, we don't support IOMMU with ACPI yet. So we
>>> could defer the problem to when this is going to be supported.
>> Sounds reasonable.
>>
>>
>> To summarize:
>>
>> 0. Skip ACPI case for now, implement for DT case
>>
>> 1. If IOMMU is enabled for Dom0 -> provide holes found in Host DT as
>> safe ranges
>>
> Does static allocation and direct mapping driver domain can be treated
> as this case?
I am not sure I can answer this question correctly due to the limited 
knowledge of these features.

But, it feels to me that holes solution would work, at least I don't see 
why not.


I wonder, why these can't be treated as the case #2 (where we provide 
not assigned RAM), I also don't see why not, however there might be 
pitfalls with direct mapped driver domain. Julien, do you have any 
opinion on this?



>
>> I would take into the account holes >= 1MB. I am wondering, do we need a
>> special alignment here other than a PAGE_SIZE?
>>
>> 2. If IOMMU is disabled for Dom0 -> provide RAM which not assigned to
>> Dom0 as safe ranges
>>
>> We could even provide holes here as well.
>>
>>
>>>
>>> Cheers,
>>>
>>> [1] https://marc.info/?l=linux-arm-kernel&m=148469169210500&w=2
>>> [2] Xen commit 80f9c316708400cea4417e36337267d3b26591db
>>>
>> --
>> Regards,
>>
>> Oleksandr Tyshchenko

-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Tue Aug 10 12:11:53 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Aug 2021 12:11:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165354.302191 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDQba-0008K4-Ul; Tue, 10 Aug 2021 12:11:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165354.302191; Tue, 10 Aug 2021 12:11:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDQba-0008Jx-RF; Tue, 10 Aug 2021 12:11:38 +0000
Received: by outflank-mailman (input) for mailman id 165354;
 Tue, 10 Aug 2021 12:11: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 1mDQbZ-0008Jn-1J; Tue, 10 Aug 2021 12:11: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 1mDQbY-0004yS-QF; Tue, 10 Aug 2021 12:11: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 1mDQbY-0007UW-Gx; Tue, 10 Aug 2021 12:11:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mDQbY-0007mi-GU; Tue, 10 Aug 2021 12:11: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=GR475yrMyYvhJ+CsMCk+RVdMX0MrYOsi/2d2CQZdI8Y=; b=3OAiftxaQkWSI3KUuVte8A5/5L
	hvLZr4BNO/Rr3JTYu9pPR7RG26fF5jOyL0wdj5rsoIvuXK3Fx1QbuYCIly9Hur9p79UDa7OYqybPq
	5o3/Oc3MjQtoaW0wLf6+NbPu3pdv5P/QF+hmtUtw7JR4L5BhGTXACzpX2oJaEEZocsG0=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164148-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 164148: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=25da9455f1bb8a6d33039575a7b28bdfc4e3fcfe
X-Osstest-Versions-That:
    xen=2b45ff60301a988badec526846e77b538383ae63
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 10 Aug 2021 12:11:36 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  25da9455f1bb8a6d33039575a7b28bdfc4e3fcfe
baseline version:
 xen                  2b45ff60301a988badec526846e77b538383ae63

Last test of basis   164115  2021-08-06 00:01:33 Z    4 days
Testing same since   164148  2021-08-10 08:01:38 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Dario Faggioli <dfaggioli@suse.com>
  Jan Beulich <jbeulich@suse.com>
  Jane Malalane <jane.malalane@citrix.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   2b45ff6030..25da9455f1  25da9455f1bb8a6d33039575a7b28bdfc4e3fcfe -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Aug 10 12:18:04 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Aug 2021 12:18:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165360.302204 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDQhi-0000b1-Kz; Tue, 10 Aug 2021 12:17:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165360.302204; Tue, 10 Aug 2021 12:17:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDQhi-0000au-I6; Tue, 10 Aug 2021 12:17:58 +0000
Received: by outflank-mailman (input) for mailman id 165360;
 Tue, 10 Aug 2021 12:17:56 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UKY7=NB=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mDQhg-0000ao-SO
 for xen-devel@lists.xenproject.org; Tue, 10 Aug 2021 12:17:56 +0000
Received: from mail-pj1-x102f.google.com (unknown [2607:f8b0:4864:20::102f])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id dbd46f69-69ba-4873-90b2-ae658b32a607;
 Tue, 10 Aug 2021 12:17:56 +0000 (UTC)
Received: by mail-pj1-x102f.google.com with SMTP id
 pj14-20020a17090b4f4eb029017786cf98f9so5001382pjb.2
 for <xen-devel@lists.xenproject.org>; Tue, 10 Aug 2021 05:17:56 -0700 (PDT)
Received: from ?IPv6:2404:f801:0:5:8000::4b1? ([2404:f801:9000:18:efec::4b1])
 by smtp.gmail.com with ESMTPSA id
 ls16sm22103844pjb.49.2021.08.10.05.17.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Aug 2021 05: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: dbd46f69-69ba-4873-90b2-ae658b32a607
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=nvD6+M9t7qTrvrmcvKckt/OKOvl8Bvz01WtaH3hiQrw=;
        b=W8VJHgJYz2WQSwNj+l2V4hKZLutN1MT1dVCGeD6amKZrIf5ru9mj7Kr5RPC5btWdWX
         RcBrITr2iOAHNEFyRwZNQK2DWBs/jeslabKlgJrh6HL+/vTklPVAPdNaLnbz89wRnuqp
         vInDusDjinU1k1tXuSrvNl+arW4OUoLjK4+N1kssywggZW7Jvt3yFTBcvkkKO5md3u7e
         bBYY198+1xHTBLt8BAqooipJ4q/UaotaCIigVxqnzz3L1RWNDBQzAY5XUbKRG2hYDfQr
         DyJeQjfUNmnEVrq8buf0/t08+AhEw6uB7PdFS6dLDgmOJUh/gxis1n7pHXyKAOel03W2
         Aoig==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=nvD6+M9t7qTrvrmcvKckt/OKOvl8Bvz01WtaH3hiQrw=;
        b=mi0z2QHNVzmEAN1Arfi6ZYb44VVjdDGEZEXtPOB62JAkzGNvq8KWAA0bGBEBiK1Q5Y
         DCq1svfMEFnW8Hdyqc6h22zyljIKbdTEuvKJESOSkSXqmNM7ew4sSeDDTrU0j5vVWp2P
         ZsEhHMAohGT+Mfy8+4PLqCgql/qIm9ByiSIFXraxV5RAVfgN+DorD4dQ0qwmEvisNR82
         TI/COc2wqbNoJvgMEe5S3WfVRkYIBbLOmptMUX8YxzhAGbrk4xLkyrST81p/zbrHg1CY
         C770bTc243Os9VyEA+jMS5naO2SrsUBdOdlaKkps/bt2LqqmjDRZgfljirkIB5/5cZdb
         p/Zg==
X-Gm-Message-State: AOAM530H5QPLb0yOlO3vraGqwzFquUCXqOiEsdP16AlSJNZudsJlafS2
	9FelqUhsZmXznU9ucCWGg7w=
X-Google-Smtp-Source: ABdhPJzf0LwxUC1SEDmEJ4+woyBt3uEtabjBKjNM9eN5IQM2eh4nYHReWO5vIVqWyXP8Bs1frIDsoA==
X-Received: by 2002:a63:131f:: with SMTP id i31mr348459pgl.207.1628597875367;
        Tue, 10 Aug 2021 05:17:55 -0700 (PDT)
Subject: Re: [PATCH V3 01/13] x86/HV: Initialize GHCB page in Isolation VM
To: Wei Liu <wei.liu@kernel.org>
Cc: kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com,
 decui@microsoft.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
 x86@kernel.org, hpa@zytor.com, dave.hansen@linux.intel.com, luto@kernel.org,
 peterz@infradead.org, konrad.wilk@oracle.com, boris.ostrovsky@oracle.com,
 jgross@suse.com, sstabellini@kernel.org, joro@8bytes.org, will@kernel.org,
 davem@davemloft.net, kuba@kernel.org, jejb@linux.ibm.com,
 martin.petersen@oracle.com, arnd@arndb.de, hch@lst.de,
 m.szyprowski@samsung.com, robin.murphy@arm.com, thomas.lendacky@amd.com,
 brijesh.singh@amd.com, ardb@kernel.org, Tianyu.Lan@microsoft.com,
 pgonda@google.com, martin.b.radev@gmail.com, akpm@linux-foundation.org,
 kirill.shutemov@linux.intel.com, rppt@kernel.org, sfr@canb.auug.org.au,
 saravanand@fb.com, krish.sadhukhan@oracle.com, aneesh.kumar@linux.ibm.com,
 xen-devel@lists.xenproject.org, rientjes@google.com, hannes@cmpxchg.org,
 tj@kernel.org, michael.h.kelley@microsoft.com,
 iommu@lists.linux-foundation.org, linux-arch@vger.kernel.org,
 linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
 linux-scsi@vger.kernel.org, netdev@vger.kernel.org, vkuznets@redhat.com,
 parri.andrea@gmail.com, dave.hansen@intel.com
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-2-ltykernel@gmail.com>
 <20210810105609.soi67eg2us5w7yuq@liuwe-devbox-debian-v2>
From: Tianyu Lan <ltykernel@gmail.com>
Message-ID: <93f3b1c6-feec-9c3b-c2d0-6fceffd00ae9@gmail.com>
Date: Tue, 10 Aug 2021 20:17:41 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <20210810105609.soi67eg2us5w7yuq@liuwe-devbox-debian-v2>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit

Hi Wei:
       Thanks for review.

On 8/10/2021 6:56 PM, Wei Liu wrote:
> On Mon, Aug 09, 2021 at 01:56:05PM -0400, Tianyu Lan wrote:
> [...]
>>   static int hv_cpu_init(unsigned int cpu)
>>   {
>>   	union hv_vp_assist_msr_contents msr = { 0 };
>> @@ -85,6 +111,8 @@ static int hv_cpu_init(unsigned int cpu)
>>   		}
>>   	}
>>   
>> +	hyperv_init_ghcb();
>> +
> 
> Why is the return value not checked here? If that's not required, can
> you leave a comment?
> 

The check is necessary here. Will update in the next version.

Thanks.


From xen-devel-bounces@lists.xenproject.org Tue Aug 10 12:25:44 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Aug 2021 12:25:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165365.302216 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDQp9-0001zu-Ed; Tue, 10 Aug 2021 12:25:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165365.302216; Tue, 10 Aug 2021 12: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 1mDQp9-0001zn-B2; Tue, 10 Aug 2021 12:25:39 +0000
Received: by outflank-mailman (input) for mailman id 165365;
 Tue, 10 Aug 2021 12:25:38 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UKY7=NB=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mDQp8-0001zh-OV
 for xen-devel@lists.xenproject.org; Tue, 10 Aug 2021 12:25:38 +0000
Received: from mail-pj1-x1030.google.com (unknown [2607:f8b0:4864:20::1030])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 58a54a9f-789c-470d-85e6-aa916f5348a9;
 Tue, 10 Aug 2021 12:25:37 +0000 (UTC)
Received: by mail-pj1-x1030.google.com with SMTP id
 hv22-20020a17090ae416b0290178c579e424so5032035pjb.3
 for <xen-devel@lists.xenproject.org>; Tue, 10 Aug 2021 05:25:37 -0700 (PDT)
Received: from ?IPv6:2404:f801:0:5:8000::4b1? ([2404:f801:9000:1a:efea::4b1])
 by smtp.gmail.com with ESMTPSA id
 c14sm27323452pgv.86.2021.08.10.05.25.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Aug 2021 05:25: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: 58a54a9f-789c-470d-85e6-aa916f5348a9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=KL/EO4tx0TgX51zBlp9/CRNMvpFlpR97J3ss4EOthZ4=;
        b=Ku17ZPCf0pl6UbjbC+OHRNn+ACNBAQsVDchdBbllR6na7JEZVKeCa/0V92DnHTF4iu
         ltIgOtvQG3ChEWFKQGS+ZCmo2X5SwNpdvKDzPZ6w0gyO5dvGz4wCAvWk5byjwwrwUcRC
         5GXqtBHSfAX3q8Kpy97hYWlFUn1WyjEzTjjzbz4eIMRpPJ/3pBUQT0IeP+6w+Os/n12x
         G3057aJUPMJ9DEYkyOBYuaABfzqFcCP+cS+hRvjLg1IN1XmahkLLELPX+1i2xq4zJ7oh
         O3GJi71MYUghn8gllMllI0c3neKMWm0JGzHgfC7goYCwLqZcdx+lapv2oLk7A8os2kge
         ueiA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=KL/EO4tx0TgX51zBlp9/CRNMvpFlpR97J3ss4EOthZ4=;
        b=CWo7qKwE5O6i5seFhew+nQVb0bFiFEAyyamwAAHcmoZnY7QUz4WRWM1BCCeTP8UVv8
         ed9A0HOVbTRMHeVRwdvTjUP73rhSB6LCyCntJAJ96W0mIdOSUk0WV1LHzSi+oIjWUHfJ
         ozx70XcHV/thoaIEmuWveyY2o/KBVsksNu70CobBFCJUyUz+9bWpBBfcDpLlp7VQ1M6i
         oRqmoPgEtbySPqU0UpqTFTQjxrFFnsKD7dPcxEcB28FEadGnQ0LSdY7xAHqgrSy25u8V
         mwldYZRmfI8kijIWCt1HyEW1nF436f2wxCenpV1+Q5ep9EBkCyh71vvnSwnEv49/cxS8
         MrBw==
X-Gm-Message-State: AOAM5333toC9yszQISvtv9mjN+gqyvGqYBvreQAbP9mwQn+NXqqDRu88
	mRNSaRhVTqQ53OvwAnNYkU0=
X-Google-Smtp-Source: ABdhPJxebFlgnG0NPPgyE6OjM0zu1XGnchtqFN1rLMZ/uNLQlKSp1bY7DCu3pvqaqyd/DJ1LphsUcQ==
X-Received: by 2002:a63:e116:: with SMTP id z22mr254278pgh.361.1628598336671;
        Tue, 10 Aug 2021 05:25:36 -0700 (PDT)
Subject: Re: [PATCH V3 03/13] x86/HV: Add new hvcall guest address host
 visibility support
To: Wei Liu <wei.liu@kernel.org>
Cc: kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com,
 decui@microsoft.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
 x86@kernel.org, hpa@zytor.com, dave.hansen@linux.intel.com, luto@kernel.org,
 peterz@infradead.org, konrad.wilk@oracle.com, boris.ostrovsky@oracle.com,
 jgross@suse.com, sstabellini@kernel.org, joro@8bytes.org, will@kernel.org,
 davem@davemloft.net, kuba@kernel.org, jejb@linux.ibm.com,
 martin.petersen@oracle.com, arnd@arndb.de, hch@lst.de,
 m.szyprowski@samsung.com, robin.murphy@arm.com, thomas.lendacky@amd.com,
 brijesh.singh@amd.com, ardb@kernel.org, Tianyu.Lan@microsoft.com,
 pgonda@google.com, martin.b.radev@gmail.com, akpm@linux-foundation.org,
 kirill.shutemov@linux.intel.com, rppt@kernel.org, sfr@canb.auug.org.au,
 saravanand@fb.com, krish.sadhukhan@oracle.com, aneesh.kumar@linux.ibm.com,
 xen-devel@lists.xenproject.org, rientjes@google.com, hannes@cmpxchg.org,
 tj@kernel.org, michael.h.kelley@microsoft.com,
 iommu@lists.linux-foundation.org, linux-arch@vger.kernel.org,
 linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
 linux-scsi@vger.kernel.org, netdev@vger.kernel.org, vkuznets@redhat.com,
 parri.andrea@gmail.com, dave.hansen@intel.com
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-4-ltykernel@gmail.com>
 <20210810110359.i4qodw7h36zrsicp@liuwe-devbox-debian-v2>
From: Tianyu Lan <ltykernel@gmail.com>
Message-ID: <3a888810-69cf-fa4d-b374-2053432e1e56@gmail.com>
Date: Tue, 10 Aug 2021 20:25:20 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <20210810110359.i4qodw7h36zrsicp@liuwe-devbox-debian-v2>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit

On 8/10/2021 7:03 PM, Wei Liu wrote:
>> diff --git a/arch/x86/hyperv/hv_init.c b/arch/x86/hyperv/hv_init.c
>> index 0bb4d9ca7a55..b3683083208a 100644
>> --- a/arch/x86/hyperv/hv_init.c
>> +++ b/arch/x86/hyperv/hv_init.c
>> @@ -607,6 +607,12 @@ EXPORT_SYMBOL_GPL(hv_get_isolation_type);
>>   
>>   bool hv_is_isolation_supported(void)
>>   {
>> +	if (!cpu_feature_enabled(X86_FEATURE_HYPERVISOR))
>> +		return 0;
> Nit: false instead of 0.
> 

OK. Will fix in the next version.

>> +int hv_mark_gpa_visibility(u16 count, const u64 pfn[],
>> +			   enum hv_mem_host_visibility visibility)
>> +{
>> +	struct hv_gpa_range_for_visibility **input_pcpu, *input;
>> +	u16 pages_processed;
>> +	u64 hv_status;
>> +	unsigned long flags;
>> +
>> +	/* no-op if partition isolation is not enabled */
>> +	if (!hv_is_isolation_supported())
>> +		return 0;
>> +
>> +	if (count > HV_MAX_MODIFY_GPA_REP_COUNT) {
>> +		pr_err("Hyper-V: GPA count:%d exceeds supported:%lu\n", count,
>> +			HV_MAX_MODIFY_GPA_REP_COUNT);
>> +		return -EINVAL;
>> +	}
>> +
>> +	local_irq_save(flags);
>> +	input_pcpu = (struct hv_gpa_range_for_visibility **)
>> +			this_cpu_ptr(hyperv_pcpu_input_arg);
>> +	input = *input_pcpu;
>> +	if (unlikely(!input)) {
>> +		local_irq_restore(flags);
>> +		return -EINVAL;
>> +	}
>> +
>> +	input->partition_id = HV_PARTITION_ID_SELF;
>> +	input->host_visibility = visibility;
>> +	input->reserved0 = 0;
>> +	input->reserved1 = 0;
>> +	memcpy((void *)input->gpa_page_list, pfn, count * sizeof(*pfn));
>> +	hv_status = hv_do_rep_hypercall(
>> +			HVCALL_MODIFY_SPARSE_GPA_PAGE_HOST_VISIBILITY, count,
>> +			0, input, &pages_processed);
>> +	local_irq_restore(flags);
>> +
>> +	if (!(hv_status & HV_HYPERCALL_RESULT_MASK))
>> +		return 0;
>> +
>> +	return hv_status & HV_HYPERCALL_RESULT_MASK;
> Joseph introduced a few helper functions in 753ed9c95c37d. They will
> make the code simpler.

OK. Will update in the next version.

Thanks.


From xen-devel-bounces@lists.xenproject.org Tue Aug 10 12:28:15 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Aug 2021 12:28:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165370.302227 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDQre-0002eB-T0; Tue, 10 Aug 2021 12:28:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165370.302227; Tue, 10 Aug 2021 12: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 1mDQre-0002e4-PL; Tue, 10 Aug 2021 12:28:14 +0000
Received: by outflank-mailman (input) for mailman id 165370;
 Tue, 10 Aug 2021 12:28: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 1mDQrd-0002du-C4; Tue, 10 Aug 2021 12:28: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 1mDQrd-0005Ec-3U; Tue, 10 Aug 2021 12:28: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 1mDQrc-0007ru-PS; Tue, 10 Aug 2021 12:28:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mDQrc-0003md-Ox; Tue, 10 Aug 2021 12:28:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=MPQtf4+LB5cLADIXa5Je2WtIJiMl+eGUv5dCuIggL1U=; b=AbKs3DGEg9n4vEWtiSEjx/DCKQ
	doRBa9pfY4Grz12S6zR7sw+jVde7hdb6aq5T+jvuV4J4HO8m2lhj6ZX0gAHuarvbaon3HHsW6WWtA
	iFJCKKKoN9qEh3QdRJfJWBAbcZ5dIzT5d1wuH8qkTz0He9kxARWLYt1VXEf2eqOypauM=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164146-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164146: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-localmigrate/x10:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-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-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=9a73fa375d58fee5262dd16473c8e7522bdf44de
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 10 Aug 2021 12:28:12 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 19 guest-localmigrate/x10   fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop              fail REGR. vs. 152332
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 13 debian-fixup             fail REGR. vs. 152332

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

version targeted for testing:
 linux                9a73fa375d58fee5262dd16473c8e7522bdf44de
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  374 days
Failing since        152366  2020-08-01 20:49:34 Z  373 days  656 attempts
Testing same since   164146  2021-08-10 02:23:54 Z    0 days    1 attempts

------------------------------------------------------------
6781 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Tue Aug 10 13:09:43 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Aug 2021 13:09:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165378.302241 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDRVe-0006k7-AG; Tue, 10 Aug 2021 13:09:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165378.302241; Tue, 10 Aug 2021 13:09:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDRVe-0006k0-6N; Tue, 10 Aug 2021 13:09:34 +0000
Received: by outflank-mailman (input) for mailman id 165378;
 Tue, 10 Aug 2021 13:09:33 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UKY7=NB=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mDRVc-0006ju-V7
 for xen-devel@lists.xenproject.org; Tue, 10 Aug 2021 13:09:33 +0000
Received: from mail-pj1-x102c.google.com (unknown [2607:f8b0:4864:20::102c])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 7ea90cad-600f-42af-afb0-9b701a2b47dd;
 Tue, 10 Aug 2021 13:09:32 +0000 (UTC)
Received: by mail-pj1-x102c.google.com with SMTP id
 fa24-20020a17090af0d8b0290178bfa69d97so5357520pjb.0
 for <xen-devel@lists.xenproject.org>; Tue, 10 Aug 2021 06:09:32 -0700 (PDT)
Received: from ?IPv6:2404:f801:0:5:8000::4b1? ([2404:f801:9000:18:efec::4b1])
 by smtp.gmail.com with ESMTPSA id
 c9sm22240121pgq.58.2021.08.10.06.09.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Aug 2021 06:09: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: 7ea90cad-600f-42af-afb0-9b701a2b47dd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=66KGVVLHGJOMxSHzgJj6VDCRB8/apj3sR/Ynuos6wU8=;
        b=pt4Qw4Gt2cFRP884fMrdBTfJzkwL2gx6Mo1qS6xvvDhfSdIustLAFX7++VkRY1h4um
         tTehujaFm9rbEjIEwB0Xu4QM2VZRfXhLGrMo8JNp/sDj6XoPD9WPfZ8v2F3qn2rH9A9d
         OGCnPFdaPpTRfjqukxIeWiIpd6XfYc4MZvSVh7tbwIwGO2vT6u6skC56ab4LGrfYsBku
         cbFUdZZjMM6VnimGAjkoLRcPks9PLwbJP0vFH3G0Hbv47WNqW4yslC4eCkDCDu113c9j
         ijT0klWyzKut4iQ2YBiKGjugVqCFd+8zcrAniUpAohoQSh6qC1V2Qr33L9WPJqBDjAdX
         IuxA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=66KGVVLHGJOMxSHzgJj6VDCRB8/apj3sR/Ynuos6wU8=;
        b=nDyPEVCgvvKcnnmmpgYR6DQJt1LwsujFB8p1Fl/fd87BbN1Ubv6WYSjKhPD6Hp+n5C
         u1c3D100RrfvNjHqsQPD8pJAy/t/k/yuUze6Hzcqm759lryWSTz6LkXpn6TYNkx6mgC6
         u5ZzlroXKK26syHaC+jwbJj8ceMjjtvf0vnksAbukDAMrwaN21+Vx/rqKJENSAJpm8IK
         Si9eiWXVdUIeMzlN/XSQbqLzd/HidymH5Li+SUpmZuhAMMpbFMMQwabGUVg5Xy0tseC3
         2oduXlR9Pq5Ykju1xlJNZEX0+gN+RXs4I3EaptDkh8W6q9xg2DP/J27NhAFL1eD/SIqX
         Oiqg==
X-Gm-Message-State: AOAM531C6rBNEuYQedFRfL/6ydl9XXnGK11LBXRTH6WSauRGxyzuWKdi
	Wp4jGOYiHktHUNGVLitfgHk=
X-Google-Smtp-Source: ABdhPJzfPih5Ybmexq3iu0hKNG6YxeEAVSzL4u+nolQ/+flfaaM1LfzobnQ7JyAdR0R5YSEGRoeWmg==
X-Received: by 2002:aa7:8f05:0:b029:3b4:ff54:9a10 with SMTP id x5-20020aa78f050000b02903b4ff549a10mr29132627pfr.29.1628600971342;
        Tue, 10 Aug 2021 06:09:31 -0700 (PDT)
Subject: Re: [PATCH V3 03/13] x86/HV: Add new hvcall guest address host
 visibility support
To: Dave Hansen <dave.hansen@intel.com>, kys@microsoft.com,
 haiyangz@microsoft.com, sthemmin@microsoft.com, wei.liu@kernel.org,
 decui@microsoft.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
 x86@kernel.org, hpa@zytor.com, dave.hansen@linux.intel.com, luto@kernel.org,
 peterz@infradead.org, konrad.wilk@oracle.com, boris.ostrovsky@oracle.com,
 jgross@suse.com, sstabellini@kernel.org, joro@8bytes.org, will@kernel.org,
 davem@davemloft.net, kuba@kernel.org, jejb@linux.ibm.com,
 martin.petersen@oracle.com, arnd@arndb.de, hch@lst.de,
 m.szyprowski@samsung.com, robin.murphy@arm.com, thomas.lendacky@amd.com,
 brijesh.singh@amd.com, ardb@kernel.org, Tianyu.Lan@microsoft.com,
 pgonda@google.com, martin.b.radev@gmail.com, akpm@linux-foundation.org,
 kirill.shutemov@linux.intel.com, rppt@kernel.org, sfr@canb.auug.org.au,
 saravanand@fb.com, krish.sadhukhan@oracle.com, aneesh.kumar@linux.ibm.com,
 xen-devel@lists.xenproject.org, rientjes@google.com, hannes@cmpxchg.org,
 tj@kernel.org, michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org, linux-arch@vger.kernel.org,
 linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
 linux-scsi@vger.kernel.org, netdev@vger.kernel.org, vkuznets@redhat.com,
 parri.andrea@gmail.com
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-4-ltykernel@gmail.com>
 <a0499916-38e2-0b1e-f2b9-ef760f6d4d92@intel.com>
From: Tianyu Lan <ltykernel@gmail.com>
Message-ID: <3f09c505-3e4d-3b06-e92a-db6fd3e50d0c@gmail.com>
Date: Tue, 10 Aug 2021 21:09:16 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <a0499916-38e2-0b1e-f2b9-ef760f6d4d92@intel.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit

On 8/10/2021 6:12 AM, Dave Hansen wrote:
> On 8/9/21 10:56 AM, Tianyu Lan wrote:
>> From: Tianyu Lan <Tianyu.Lan@microsoft.com>
>>
>> Add new hvcall guest address host visibility support to mark
>> memory visible to host. Call it inside set_memory_decrypted
>> /encrypted(). Add HYPERVISOR feature check in the
>> hv_is_isolation_supported() to optimize in non-virtualization
>> environment.
> 
>  From an x86/mm perspective:
> 
> Acked-by: Dave Hansen <dave.hansen@intel.com>
> 

Thanks for your ACK.


> A tiny nit:
> 
>> diff --git a/arch/x86/hyperv/hv_init.c b/arch/x86/hyperv/hv_init.c
>> index 0bb4d9ca7a55..b3683083208a 100644
>> --- a/arch/x86/hyperv/hv_init.c
>> +++ b/arch/x86/hyperv/hv_init.c
>> @@ -607,6 +607,12 @@ EXPORT_SYMBOL_GPL(hv_get_isolation_type);
>>   
>>   bool hv_is_isolation_supported(void)
>>   {
>> +	if (!cpu_feature_enabled(X86_FEATURE_HYPERVISOR))
>> +		return 0;
>> +
>> +	if (!hypervisor_is_type(X86_HYPER_MS_HYPERV))
>> +		return 0;
>> +
>>   	return hv_get_isolation_type() != HV_ISOLATION_TYPE_NONE;
>>   }
> This might be worthwhile to move to a header.  That ensures that
> hv_is_isolation_supported() use can avoid even a function call.  But, I
> see this is used in modules and its use here is also in a slow path, so
> it's not a big deal
> 

I will move it to header in the following version.


Thanks.


From xen-devel-bounces@lists.xenproject.org Tue Aug 10 13:38:08 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Aug 2021 13:38:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165384.302252 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDRx1-0001R7-Ib; Tue, 10 Aug 2021 13:37:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165384.302252; Tue, 10 Aug 2021 13:37:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDRx1-0001R0-FJ; Tue, 10 Aug 2021 13:37:51 +0000
Received: by outflank-mailman (input) for mailman id 165384;
 Tue, 10 Aug 2021 13:37:50 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=RCh7=NB=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mDRx0-0001Qu-HR
 for xen-devel@lists.xenproject.org; Tue, 10 Aug 2021 13:37:50 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 3336facb-bd71-4f60-ad9e-948f74a7598e;
 Tue, 10 Aug 2021 13:37:49 +0000 (UTC)
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01lp2056.outbound.protection.outlook.com [104.47.1.56]) (Using
 TLS) by relay.mimecast.com with ESMTP id de-mta-6-oPoN_r9jPiOQFaLoQoldYg-1;
 Tue, 10 Aug 2021 15:37:47 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4445.eurprd04.prod.outlook.com (2603:10a6:803:6e::33)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.15; Tue, 10 Aug
 2021 13:37:46 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4394.023; Tue, 10 Aug 2021
 13:37:45 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P251CA0005.EURP251.PROD.OUTLOOK.COM (2603:10a6:102:b5::12) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4394.16 via Frontend Transport; Tue, 10 Aug 2021 13:37:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3336facb-bd71-4f60-ad9e-948f74a7598e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628602668;
	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=8BBexWQ+PyfmhndQCiT/AdDLomjgszk9QdE+e5xhB6A=;
	b=CgZfZdu9xDgKZ8UAxu6tEFQPuzG58glQuuRI63zmOastRWP3De3z/2fy4AWNRGDsYWJXPZ
	kwt/BNktQL1i7CXw0W7Wrq3ufCVv9Fgolp3dUfkVm4WpRSohX1zUlXZFz2Jlzg9HRXJe/y
	hnpvasvZYDlQNiDAPzcPs6iVWUSnHIw=
X-MC-Unique: oPoN_r9jPiOQFaLoQoldYg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KAfIhyiZxGw83fuK7ra2IIZRnjBDRX5o77fLBrMK9Nbqb2BJYXEEc+IToI6awW8bx1k6ttwjJ5y7ItN/JwmqAEFNnOsL014JHVLUAxCQgLZV5B1lO2LBlpDAeT255Sv2FJw5KtQT9YLwNd7xXbxDgw21/GSGwBlEY03sTJN7H0zTnKSnaQOxxlrRZ5l5she3N+xc9CP/CddsvzaLNupszVEU7GzzMvQ9M8AoEvQ4aUmUy2MBqaunO0grO42av5DfKnXxyVtDLTrgWae34D27fpz2shIvcln2VKtuY2GAPEuPZGp++zl31mjGpbMORCvgTsKOhgbCb0W/SPu8wgbBVQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8BBexWQ+PyfmhndQCiT/AdDLomjgszk9QdE+e5xhB6A=;
 b=W+WGnw3p/vbX0984MZZvElRpHjcxV+RscJuat+3IDdnwoosIUo+fldSYwXtancoU65jIeOFI7dl/NkgcvdKKFYdoHfirWV1Gu0kpvbFzRvsqCU9SjTgYtr9ajSNLaFeTKVMoJ1b4Tf/c6SOLf8Z4Y1/FAioGyP/gewWB9bPHEDpgz9qQGZb8HX4cT1iZclGSYIlhEul8iZvU4yQCpQvmnnqqqELfXFRHvQdsoqFfe4gfv1RuGZQfPBoN8Tt9XdxBKZ5aAY6MjyT8MR0bitTnPJdidTFWuemx4pRaEBR3qLjc96gC9cSkJmVyv2VE9YK+NtWC7Nn/nzUxepOyltIpmw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
To: Paul Durrant <paul@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
From: Jan Beulich <jbeulich@suse.com>
Subject: IOMMU page table freeing
Message-ID: <d1aa9fe4-870d-8a02-9cef-af1be617252e@suse.com>
Date: Tue, 10 Aug 2021 15:37:43 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P251CA0005.EURP251.PROD.OUTLOOK.COM
 (2603:10a6:102:b5::12) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c07dc0f1-ff06-420e-b9e0-08d95c04096c
X-MS-TrafficTypeDiagnostic: VI1PR04MB4445:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB44456A1502F9CD3C4A331AAEB3F79@VI1PR04MB4445.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QxJ3LJw+kCTWiG7OXO3dxNV3WDQLvoILhpMb7jc7Mv85k1oaqp6+aznycwJ3Q9vPrWs4vH05x3doyYGsIQ0vz/nbHhwogcM+0WJS8bvyNcC10u7woLyf2O1K0r1eH5+cM7+4cacMJPslbGmWMixnVWPyW+/QJkmu8oZhYqChkjUiRi1eTPnDbE27AYfxcFlA/g6HN/1KG06tdTAAYjKB9Q0KE4kAV2QQN9apgNXyKhyp4/nG1D6PLvaCrElnavgjaoK25v/2gTzmmDAX7AuKDSoA2VFIQKXd2Wzg2aup2Ol1JQ7fJDHu0cSCmIkWurrI4P4UBDkkC3bUi6EiIb5bBdSf5RowowUsUtsUhBcTbS3psoB+m/PWTmSA6mEVtYyXFQxZY8ctwK7rx/34EdFURybOVQ8J9cF5Xk7tn6yk+2KL0ujPzuuyLvDA3lLnRz8Gb9R2QijBKKcLe3yUYWUZRqophx8p4atKP2gfbx8aO5Wl6AdPmKhXxiIRSbpBQL6qWbCEs2YEianz4OOK8gWs+e/kTxWYfFMJOzB7ln86VeMw0lAM098tkxsIhxW5H1rDnR/cudsG9LczSPp8bR8JgLOg/KUK/VFTVn/C1coUplwFO6K1jF2QZ0XQbiDgBa1LPgcEqu34/xcwhj4iFm8vIPVW1IfGsIhQ88u6PNgK8wvhplPzKj15T2rB6tjfQq3sdIPJ1noHfUpdn8UtJuwdWfN6NKg5isxnmzngR99HmVo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(4326008)(31686004)(508600001)(66946007)(36756003)(66476007)(66556008)(26005)(2906002)(110136005)(2616005)(16576012)(316002)(86362001)(31696002)(83380400001)(3480700007)(956004)(186003)(8676002)(5660300002)(38100700002)(8936002)(6486002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YnRkSWhMVXR1OGhRVmZFU1VmRGRtcFBvTlhMdWl3Y0VXenhtQk1IeExLT3du?=
 =?utf-8?B?UkVESmc0VUkxRnhGN2w0QTRoTHl1Z3FUVHBkWHFPRkVHcXZwOUNjalFVTWts?=
 =?utf-8?B?MkRTclVidy9ocENDZnFHUW54RzZpVjQrVnhGTDBJaDNmU3pPc3g3dUE1aUs4?=
 =?utf-8?B?TWVzVnh2alpFUkVGcjFOWFhwNUREOTB6NDIyaUpMRVZ4NGMxekdFb0hEVFBt?=
 =?utf-8?B?bGQ3aVo0bEJSa2N2ZnErN1o3b0FYYlhOcWF2YktlbWZVUkdMblIyK1dISDhE?=
 =?utf-8?B?NlJCQUpwaS9iQXFrUnRrdWl5YmQ4WTFBSFpMNFhmU1NCOThkaWt3dUFPeXZ1?=
 =?utf-8?B?dk5VOTVMRDAxNFJxQkg4MHJ3UUkzNFBJcHZ0N1o1ZDNCSEtINVJxVUtrTDVl?=
 =?utf-8?B?SmhCL0V2dFQzSFV0UnRWamtZb0dvbURqMWZwOTFRY1dRSUVKbDQyd2U1eUxX?=
 =?utf-8?B?aWNOOW1MbThhai9udCs0NkNQMi85Q1FDMEFjSEdsb1hoZ1k0T2w0MVU5RXBs?=
 =?utf-8?B?TVk5ZFJRT3QzaENoSE41TVd5K01ZL2VKZjc2TmdXS2twZ2MvZno0YUdCa0Jt?=
 =?utf-8?B?alNRaytYcnV0bDRKWWdocU5ib1ZMVjFhckhxYzlyLytPVGYyeFVjRXhaV2ln?=
 =?utf-8?B?UmtuZW13c29iRVl1S3AyUFY2b2w0RUVZZ3JDL2lFeWhmUEJOSWc2OTBkTmc4?=
 =?utf-8?B?TUZqSFEwK1hXSVkwbDZCOUJXd1dEODF5L3BqTXdqNFBUU2RTQ2lrb2NLTDhp?=
 =?utf-8?B?ci9zNHlzRlhqRkpWUm5kalBkb3ZtdFVzZHNHWVJUcnVubjYxbzIwNU4rVWgr?=
 =?utf-8?B?YW9La29WQmxNVDRmNHZYd2tJSkt1SkxrT2p3TzZ4bDJxMGNIUVF5d1luZFo3?=
 =?utf-8?B?ZjgyWmxuR1FwTStsak1jZ2NJM1dJcnRrdER1VU8ranhNa0NoaUpIeDJ6M292?=
 =?utf-8?B?NEpsbzJyNm1zc2tQTm5BVDBMZ3JlTnhPWGEvUk9mWFlVMEgxZXdQeklnYjVD?=
 =?utf-8?B?N1M0YTE3MDlqejJTOFVLVFZvWWM1d2hMV2w2T2tZZUxDNldYUG9Tajl1MExz?=
 =?utf-8?B?bDU4YlFBVjAwLzRydkIyUzUza3FtWmFqd0ExUHBCTXV5aldkeENrQ0MxVFV6?=
 =?utf-8?B?T0Z6emx4QkFkMVZuOU9ZR2JnWHIyckRLMlhKZVF3WDRxQVVOSXJzYm13MzJj?=
 =?utf-8?B?THhOZFAwNkVPcnY3TVpSL012MVpON3pJb0pxNWcrUzkzaktodkhjWUNvdGhs?=
 =?utf-8?B?Zk0rVHNaRkxhdVRZT29GN01EMFBvMFNGN1kydGdYQWpBdkl5NzNGQVpwRnhj?=
 =?utf-8?B?UDBrT1A2WnNhb1B2STN4c2tjUlBCTllYMGhieTUxN3lMK2VzN211aUZ3RW9o?=
 =?utf-8?B?dFdCZGJnT3Y3bW5qOVpYRVA2V3JEQzBPb3ZGQW9SbFJyVWIya3A5eThNNmFK?=
 =?utf-8?B?NGV1cEt3dEVSUEtqVFVMQkFFL1FmSHVleWxwWm5mazB2Kzc4WmFaajNHTHZW?=
 =?utf-8?B?Y2UyZTBVV0RxOTBZMDE2bXRLTkJHNDJTMXgzTDlveFB3cTdMZTl3T0pvUG1U?=
 =?utf-8?B?MFV0ckVsNmtCbXFMWXlkelB0djU0Q3pMQ0F0T2FhUU9HeTlzZlROSW9NdXQ2?=
 =?utf-8?B?YXZ1dDc1eUpkcE05V3NpQjFlbEoxV0hRd1NwWmJtcDFrQ2FOcGExSWtyaTBl?=
 =?utf-8?B?OXFDMGF5NUlQQmZvU1B4MEwyQmRlOGFicWRnZHBNblB1OG50dzM0ekU1WCt3?=
 =?utf-8?Q?p0ssauqdX3T3N/PnLLVeoGH/v9Jh11egQ+qQHi5?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c07dc0f1-ff06-420e-b9e0-08d95c04096c
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2021 13:37:45.8600
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ljsj5bYeCC7Q1xr43nYzyNkAs//1xTV6Xt2P4HtQAEMgNlYmeMyWt9e/mYU+YociLEPElwawXU+OEq8OycToUw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4445

Hello,

while I don't expect this case to occur often in practice, for
superpage support we will need to be able to correctly free a
page table (hierarchy) after replacing its mapping range by a
superpage. Following P2M by carrying out an immediate iotlb flush
prior to synchronously freeing the memory looks, to me at least,
out of question as an option - the latest when considering ATS
the flush may simply take too long.

Making use of RCU doesn't look like a good option either, as
this would require callers of map/unmap + flush to enclose the
whole group of operations in an RCU-read-locked region. Yet I
think we want to avoid to concern callers with details of the
implementation of the IOMMU operations.

Which I think leaves deferring the freeing to a softirq or
tasklet, of which the latter - to me - would seem the better
(easier) choice. If you have any alternative / better suggestions
I'd appreciate a reply; ideally you would also reply if you
simply agree.

FAOD I don't think I want to make an attempt just yet to care
about the case of flushes getting carried out asynchronously:
That would require a means to signal to the freeing function
which prior page table pages are ready to be freed. For now I'm
rather considering to merely accumulate these pages simply on a
(perhaps per-CPU) list, for the tasklet handler to consume.

Thanks, Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 10 15:39:05 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Aug 2021 15:39:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165391.302263 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDTq8-0003sD-HQ; Tue, 10 Aug 2021 15:38:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165391.302263; Tue, 10 Aug 2021 15:38: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 1mDTq8-0003s6-Dg; Tue, 10 Aug 2021 15:38:52 +0000
Received: by outflank-mailman (input) for mailman id 165391;
 Tue, 10 Aug 2021 15:38:50 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+WCD=NB=epam.com=prvs=885647387c=roman_skakun@srs-us1.protection.inumbo.net>)
 id 1mDTq6-0003s0-DB
 for xen-devel@lists.xenproject.org; Tue, 10 Aug 2021 15:38:50 +0000
Received: from mx0a-0039f301.pphosted.com (unknown [148.163.133.242])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 0e459304-f9f1-11eb-9fbd-12813bfff9fa;
 Tue, 10 Aug 2021 15:38:49 +0000 (UTC)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id
 17AFZnb1017234; Tue, 10 Aug 2021 15:38:46 GMT
Received: from eur02-ve1-obe.outbound.protection.outlook.com
 (mail-ve1eur02lp2054.outbound.protection.outlook.com [104.47.6.54])
 by mx0a-0039f301.pphosted.com with ESMTP id 3abndeskbu-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 10 Aug 2021 15:38:46 +0000
Received: from AM7PR03MB6593.eurprd03.prod.outlook.com (2603:10a6:20b:1b4::10)
 by AM7PR03MB6152.eurprd03.prod.outlook.com (2603:10a6:20b:134::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.19; Tue, 10 Aug
 2021 15:38:42 +0000
Received: from AM7PR03MB6593.eurprd03.prod.outlook.com
 ([fe80::ec7b:2795:206b:9411]) by AM7PR03MB6593.eurprd03.prod.outlook.com
 ([fe80::ec7b:2795:206b:9411%3]) with mapi id 15.20.4394.023; Tue, 10 Aug 2021
 15: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: 0e459304-f9f1-11eb-9fbd-12813bfff9fa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aQLXdBn3ydZTc/rao22RbHqPolJQoSyAJJ4IwG7bb+MU+6jNpPBgfD014GcrBgYk0aCiIdun/rav4yIHBKaZYqTtjSnWiXhzvERN3i62PmM9B63bwA4hI89b+m+WobKd/MXQZ06gsRjsCzFNmCrcjWcOYaXM/lgtZ95GvsFIHsYFc1ro+qFG7r2bpYG9gnxZBsrMUGXhCeBkotL4wCC1g7UNTifPNCz4E9yANkcjrtUSNY03WbKmelnyzNaVojZfAlhdlWwLuwOObDg6Ew4eYPuasn3mJe7TnXdWhV4Gtczcs6hyTRXc7vclXvEbSgRJJgjHCM8tKHX4UiOzhdyhZg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=X8yHShqa4/XyGig7OsoZWyemFpNUfJEEIWDrQk+XoH4=;
 b=UpGG4+/t8bPEijG2HsLGKjfqXZxbozwYebJeNeVmPW3q5J9kHYBrPNdtcHjKRG6p35uEJZbPYexC8Rcz/pCKGV5s0Ov0uFeiPbRIQrVbP+r4mo+2a0sxW+Y9iTRySSPRUyu4d5/7f2N7W3UdaLsEdEh+VatLrkM5qL/8GJzJ5GaNrBXS60QC7ZmeEh98QdWqOmz91neG7QtTbKWWhHbb3iXet49syyqf9QXBDAzPcmYNpJLREDGZBUnbpTcSg/KYjK+zxi77y4ku0UylreDADWc0fgp+ADEpoPp4XzVMCatXb4aKWSQR2yzd35SlDZy3poPVflUTzS2dJyJggHqJbw==
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=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=X8yHShqa4/XyGig7OsoZWyemFpNUfJEEIWDrQk+XoH4=;
 b=rpFJc4De0PdfYT0QK0+33LrXwTc5KXp1h+goy035Yz9NpyQ230lu3fTR59JvIYMImpwsKNCgx+KeBEXwCvL1Bcjin2zCt4Y1K0nA5zKlGznow9Qh8nHPVbpmGbFQuxyiK1pbiRBdXLq8oRSGBwqvq4BKnhn/H6M2H4TgmYkafxwz8442Ic8S9uiXRByfdzeHl58McSkO8jiZ1RwrI8DCnYrErl1PgYwdPtZx33uRGzFCysxTs4ahOoLlcKO0MvdJCImPZ2hFfsDf87A7yJBPWGO6RHGr1Nggab85IvOeJh0fSy09stwSjShyGMTL16+yxyCM+aw46CnPIQbaQ57Ilg==
From: Roman Skakun <Roman_Skakun@epam.com>
To: "sstabellini@kernel.org" <sstabellini@kernel.org>
CC: Bertrand Marquis <bertrand.marquis@arm.com>,
        Andrii Anisov
	<Andrii_Anisov@epam.com>, Julien Grall <julien@xen.org>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>,
        Oleksandr Andrushchenko
	<Oleksandr_Andrushchenko@epam.com>,
        "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>,
        Roman Skakun <Roman_Skakun@epam.com>,
        Roman
 Skakun <rm.skakun@gmail.com>, Jan Beulich <jbeulich@suse.com>
Subject: Disable swiotlb for Dom0
Thread-Topic: Disable swiotlb for Dom0
Thread-Index: AQHXjfwJK3kYIT7XAUWdmOu1AWm+tA==
Date: Tue, 10 Aug 2021 15:38:42 +0000
Message-ID: 
 <AM7PR03MB6593B4461B99297C8650CF1C85F79@AM7PR03MB6593.eurprd03.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
authentication-results: kernel.org; dkim=none (message not signed)
 header.d=none;kernel.org; dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 60e4db10-10dc-46b6-e65f-08d95c14eea2
x-ms-traffictypediagnostic: AM7PR03MB6152:
x-ms-exchange-transport-forked: True
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <AM7PR03MB6152925D723208DC0292930B85F79@AM7PR03MB6152.eurprd03.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:8882;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 TqstzImNseCQ95e46SDfHZAjqJFTtmsn01R1Q0VA16TRj3ETPgOsvvpNLKHN9Iblv+0jw4Mpwfm5Rz7JJiMKJ1ND8hhLfvcPDoIc+kczQIkn9tYOgvg6Dk+ykB67e6c4tvNwEWwytjhXjRV+YWD9OVKIlRo70YIOZ9AVVhJC5PpLO0JxwL78xR61aeLr6wxehpPT3PuiCqpxhMAAWhaabWSSqKCBteqFCfsiT8fdrMLsXm72aoKhAYbQdwwL9QJFxDK84oiZP0h6Gbq74SSfkUttjF5h/4XBYZLd++xlVzgVb9H3uw89m494GXpZvLfhzLaEhAOe1oJEuFWL5+iQNQUHM7nC5f29FmbWuO0bsS9kcKi7eG0RucnzusLRfejgIM/zvnpE5RdJLfntFSSF4MUKr1Zk5W4b8dBm5REEb1HEHaFRWR6DqLwB7sL+wVgasNrsJTc14GaDTi8xfC8oOtxDuTS2ouGDlZvH18zztUOhHwQ1RfBZCCypzxCz5aV0al3p/jRPSwbqjXQj4mv2hzYI2AIelTMALMC4hJr4bCutbewljcMmN07dukS9r1zkJKjUcCRDqpSJ2zNeN9wGUMVsv0BO+sr5ZQZXKLzPQ0/C+DEIyZ8mEm4YFIuz3dHuvfmBBH7e75lEf3GO84PySJBQd4PYJQJ64umWX8bHHG/Xpk+zjgQq/fqw0kYThndUlDq9Joc+JKg0/t6e4Xt67+3mkc1KTjH7tm64X4wZyF0dsvsHiLoIRkwbDYOlKzTjNNpkJtD2ZRVHRlx1fVr1koWDrRImBWrEHcGUzHM2ROIvCPMz9BtWtuVglO9gmJlVk+W/e8UeDue3wiHCjTn3/A==
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM7PR03MB6593.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(346002)(396003)(39860400002)(376002)(366004)(136003)(8676002)(76116006)(54906003)(316002)(186003)(966005)(5660300002)(6916009)(64756008)(91956017)(38100700002)(66446008)(55016002)(6506007)(8936002)(66556008)(122000001)(66946007)(66476007)(4326008)(478600001)(33656002)(71200400001)(9686003)(52536014)(2906002)(7696005)(38070700005)(86362001)(26005);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?tBX26GKiGzc0htU5PouHfWseI7DlQcY7cgCp1Nm/ruW160YA3UQOu9BgTV?=
 =?iso-8859-1?Q?b+BpuZ1DRpbtstqDT1TtUZtmx++kgcSLfsYIgXHlrJkdtcFwD1TaXvf5e5?=
 =?iso-8859-1?Q?ztb+dM/+Hl/5g+fhFYZ/4sha6aBIsRIWOfLBoIPyhIUGpA+FEDyH9ncqaL?=
 =?iso-8859-1?Q?Lkqtyzi/lh59xT3H8yTiQbqFl5+/n9gXe9RM2GkBopieoZx05IA2n6PaPI?=
 =?iso-8859-1?Q?JzC7cjIwPiM/HfesvnojzKci0aBb57K8+ubcfrOL4VZaMPvKJwkpe+L85p?=
 =?iso-8859-1?Q?HTsGGxt4B0hcnk3NiUJuvlBhjOv9QjvDRQwWuzQmUOYyfb3M12ReAsFR8+?=
 =?iso-8859-1?Q?G76SWwdI1ClDRUdFjzkUa3GZ7A06fWy+qDOKlA2C9TYzdbMdMk9AaVsvQF?=
 =?iso-8859-1?Q?o8rGINBDxXyrrg0TNlZi7INlqAqvBTlubmm0CDYhRS/vrbG0XJh44ylWJL?=
 =?iso-8859-1?Q?ESi2Nw6yusifesQOav568hTmFtAZRC9lsgBqZRTD9dEO02lUiqFStLAI05?=
 =?iso-8859-1?Q?1VaaT9tK7TU1DGcsqzSvbCd34tx2Fsg7/TYGTC1LiEXzQTsUEZ2VBDfuTt?=
 =?iso-8859-1?Q?0tRyHy95SnKpTMsHf0IKSJ2WVH9PF236gj9uDI2vExR8ylDKw6QYPIcTkw?=
 =?iso-8859-1?Q?s8Ll32bwzpMP1hiGP1dqZuatZTxPFqzalq3a0hhwD/+R7NUZMFGcqA6Vg/?=
 =?iso-8859-1?Q?GxN2lknm6tXSq2CcD4BDnQupWUTqw3IG5QY/E7pDb0AqUDbxxMASS6uiuF?=
 =?iso-8859-1?Q?nnAcy/5+U4b9m1MvArLSWSti2wF6YpYCVZVUiaNn1Xb+/CZb1NuByFovzN?=
 =?iso-8859-1?Q?X6p7WBmSwOwiY4EUdz4Oiqun0wTEyYW/9CEbKy82qHsxXc4hEud8ehRhS/?=
 =?iso-8859-1?Q?oNwyv5+q9qW5RkFgqGVm9rwf72m/SUEM1JwwDzz6gU7BFRKk0lRut71NKH?=
 =?iso-8859-1?Q?X6ni7Zha4PDUF74nt7Z3Jr/Bdq7+y4NrVA1THLfW3/fRCYbyNAa3AznpMW?=
 =?iso-8859-1?Q?YUcq9Mbo+dHfhtV6utBY+tjzN15F+gjBsR5j5uuVP/iVD5kQZ83+rDFd3j?=
 =?iso-8859-1?Q?zMgpRo1kBPniU9dDJJ7AdycRXHIszUt6CQcmgkO/dxiZs0IeSmyOWI5pNM?=
 =?iso-8859-1?Q?6rdZsdo4wXv8B9TVn/69X3T/7H4cA2fLgZHxpCtIrKT0ps2RT+WBDqAbG1?=
 =?iso-8859-1?Q?jFNG/Rhy73pGy4taCmBGSqu7Xxevqc8yvlRqluVl4ASX/UZJkTq1USB87I?=
 =?iso-8859-1?Q?858G+8OzOzwJMtmDyzZGS4yFnPbzXPFRnOEq/BStFHrQr3mXEVzMyNdixb?=
 =?iso-8859-1?Q?lLzOi3aQFhR+J36MVLRzNWF9qVah2kWz72EbOgGxRhIl2e0=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: AM7PR03MB6593.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 60e4db10-10dc-46b6-e65f-08d95c14eea2
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Aug 2021 15:38:42.0906
 (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: dMvI1914xAp3RJtpwH240vyelefZ/0dMY8fUaTeN3Ymc9+kHKpf/HpUXg76W1++kk0h0NI93F6quY7cWqhBcTQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR03MB6152
X-Proofpoint-ORIG-GUID: 0H97bXjibEO1HMK180Ujm-223xUyLHXa
X-Proofpoint-GUID: 0H97bXjibEO1HMK180Ujm-223xUyLHXa
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.391,18.0.790
 definitions=2021-08-10_07:2021-08-10,2021-08-10 signatures=0
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1011 mlxscore=0
 suspectscore=0 phishscore=0 spamscore=0 priorityscore=1501 adultscore=0
 mlxlogscore=874 impostorscore=0 lowpriorityscore=0 malwarescore=0
 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2107140000 definitions=main-2108100099

Hi, Stefano!=0A=
=0A=
I have observed your patch here:=0A=
https://patchwork.kernel.org/project/xen-devel/patch/alpine.DEB.2.21.210216=
1333090.3234@sstabellini-ThinkPad-T480s/=0A=
=0A=
And I collided with the same issue, when Dom0 device trying to use=0A=
swiotlb fops for devices which are controlled by IOMMU.=0A=
=0A=
Prerequisites:=0A=
https://github.com/xen-project/xen/tree/stable-4.15=0A=
https://github.com/torvalds/linux/tree/v5.10=0A=
=0A=
Issue caused in xen_swiotlb_map_page():=0A=
```=0A=
 dev: rcar-fcp, cap: 0, dma_mask: ffffffff, page: fffffe00180c7400, page_to=
_phys: 64b1d0000, =0A=
xen_phys_to_dma(phys): 64b1d0000=0A=
```=0A=
=0A=
There is retrieved MFN(0x64b1d0000), which belongs to DomU. Dom0=0A=
swiotlb couldn't proceed to this address and throws the log:=0A=
=0A=
```=0A=
[=A0 =A099.504990] rcar-fcp fea2f000.fcp: swiotlb buffer is full (sz: 36864=
00 bytes), total 32768 (slots), used 64 (slots)=0A=
```=0A=
=0A=
Temporary, I resolved this issue by disabling swiotlb for dom0 at all=0A=
because sure that all devices goes through IOMMU, but this mention can=0A=
be true only for me.=0A=
=0A=
But, I think of a more reliable way is to declare a special IOMMU=0A=
property in xen dts for each device. If the device controlled by IOMMU=0A=
not need to set swiotlb fops in arch_setup_dma_ops.=0A=
What do you think about it?=


From xen-devel-bounces@lists.xenproject.org Tue Aug 10 16:17:00 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Aug 2021 16:17:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165423.302286 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDUQw-00005v-Ig; Tue, 10 Aug 2021 16:16:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165423.302286; Tue, 10 Aug 2021 16:16:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDUQw-00005n-Fh; Tue, 10 Aug 2021 16:16:54 +0000
Received: by outflank-mailman (input) for mailman id 165423;
 Tue, 10 Aug 2021 16:16:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mDUQu-00005f-D9
 for xen-devel@lists.xenproject.org; Tue, 10 Aug 2021 16:16:52 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mDUQt-0001LV-Ap; Tue, 10 Aug 2021 16:16:51 +0000
Received: from [54.239.6.184] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mDUQt-0002fr-4A; Tue, 10 Aug 2021 16:16:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=C6sFonpPeCIvhGKFsRDlTl8vzERYo0lkY63jvdTn7Ns=; b=Cv3UqnJ413Kd1/RAVmS6l7BKUf
	3kvO9bkX/nZJSXZ/BDuEcICjymVc0/o0QbQleSzrv1PotSR26CjyrYVjrRT3CREUaHwAxSlcJ554b
	Mn836NVxWjz5nFr78Mj9YXr19JZztrJm4vsvJ5vElnD4aqKlSbQJzLfFYxEkA4ghBM6A=;
Subject: Re: Disable swiotlb for Dom0
To: Roman Skakun <Roman_Skakun@epam.com>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
 Andrii Anisov <Andrii_Anisov@epam.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Roman Skakun <rm.skakun@gmail.com>, Jan Beulich <jbeulich@suse.com>
References: <AM7PR03MB6593B4461B99297C8650CF1C85F79@AM7PR03MB6593.eurprd03.prod.outlook.com>
From: Julien Grall <julien@xen.org>
Message-ID: <060b5741-922c-115c-7e8c-97d8aa5f46f4@xen.org>
Date: Tue, 10 Aug 2021 17:16:48 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <AM7PR03MB6593B4461B99297C8650CF1C85F79@AM7PR03MB6593.eurprd03.prod.outlook.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit



On 10/08/2021 16:38, Roman Skakun wrote:
> Hi, Stefano!

Hi,

> I have observed your patch here:
> https://patchwork.kernel.org/project/xen-devel/patch/alpine.DEB.2.21.2102161333090.3234@sstabellini-ThinkPad-T480s/
> 
> And I collided with the same issue, when Dom0 device trying to use
> swiotlb fops for devices which are controlled by IOMMU.

The issue Stefano reported was when the dom0 is not direct mapped. 
However...

> 
> Prerequisites:
> https://github.com/xen-project/xen/tree/stable-4.15

... if you are really using 4.15, then the domain will always be direct 
mapped. So I think this is a different one.

> https://github.com/torvalds/linux/tree/v5.10

Any reason to not use the stable branch for 5.10? I don't know whether 
your issue will be fixed there, but the stable branch usually contains a 
lot of bug fixes (including security one). So it is a good idea to use 
it over the first release of a kernel version.

> Issue caused in xen_swiotlb_map_page():
> ```
>   dev: rcar-fcp, cap: 0, dma_mask: ffffffff, page: fffffe00180c7400, page_to_phys: 64b1d0000,
> xen_phys_to_dma(phys): 64b1d0000
> ```

I can't seem to find this printk in Linux 5.10. Did you add it yourself?

> 
> There is retrieved MFN(0x64b1d0000), which belongs to DomU. Dom0
> swiotlb couldn't proceed to this address and throws the log:
> 
> ```
> [   99.504990] rcar-fcp fea2f000.fcp: swiotlb buffer is full (sz: 3686400 bytes), total 32768 (slots), used 64 (slots)
> ```

This line suggests that the SWIOTLB tried to bounce the DMA buffer. In 
general, the use of the bounce buffer should be rare. So I would suggest 
to find out why this is used.

Looking at the code, this suggests that one of the following check is false:

         /*
          * If the address happens to be in the device's DMA window,
          * we can safely return the device addr and not worry about bounce
          * buffering it.
          */
         if (dma_capable(dev, dev_addr, size, true) &&
             !range_straddles_page_boundary(phys, size) &&
                 !xen_arch_need_swiotlb(dev, phys, dev_addr) &&
                 swiotlb_force != SWIOTLB_FORCE)
                 goto done;

> 
> Temporary, I resolved this issue by disabling swiotlb for dom0 at all
> because sure that all devices goes through IOMMU, but this mention can
> be true only for me.
> 
> But, I think of a more reliable way is to declare a special IOMMU
> property in xen dts for each device. If the device controlled by IOMMU
> not need to set swiotlb fops in arch_setup_dma_ops.
> What do you think about it?

Let me start with that I agree we should disable swiotlb when we know 
the device is protected. However, from what you describe, it sounds like 
the same issue would appear if the IOMMU was disabled.

Therefore, I think we should first find out why Linux wants to bounce 
the DMA buffer. Does your device have any DMA restriction?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 10 16:21:15 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Aug 2021 16:21:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165430.302297 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDUV9-0001YD-8u; Tue, 10 Aug 2021 16:21:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165430.302297; Tue, 10 Aug 2021 16:21:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDUV9-0001Y6-5c; Tue, 10 Aug 2021 16:21:15 +0000
Received: by outflank-mailman (input) for mailman id 165430;
 Tue, 10 Aug 2021 16:21: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 1mDUV8-0001Y0-JA
 for xen-devel@lists.xenproject.org; Tue, 10 Aug 2021 16:21: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 1mDUV2-0001QM-Vn; Tue, 10 Aug 2021 16:21:08 +0000
Received: from [54.239.6.184] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mDUV2-00030V-Oh; Tue, 10 Aug 2021 16: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=NnsOM/TCeJzWZt7nRIYPEeraEMU0KBqS/XPi6ZA3Wuk=; b=cAxQOKDIu4ng52UBiHC8bZkYyV
	spF25GUkKwtIMRNKtnHIjia4TIcJitTvEm4t6Wv5WSK3bFTWe/wcAkgVSR1GTjYKsPd6b7c88MCoy
	NoFR3Dk5yMM5n3Go1VD6E4sd0GPBZk2/SDWVrDLwVLw1BaCertVbvuvpD+SvAM48xopU=;
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
To: Oleksandr <olekstysh@gmail.com>, Wei Chen <Wei.Chen@arm.com>
Cc: Penny Zheng <Penny.Zheng@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <80fafc01-f063-d6e5-1c08-7ad64550310c@citrix.com>
 <e8db3021-78a5-e040-a70b-62ca5b500149@xen.org>
 <4de5ed21-379e-b618-44c8-924d88b1a519@citrix.com>
 <bbc7f597-5249-20a0-cac9-13f594268299@xen.org>
 <6a633f4e-13e0-4a2b-cf6e-35ef90ae977c@gmail.com>
 <alpine.DEB.2.21.2107301630510.10122@sstabellini-ThinkPad-T480s>
 <f6b2e6c6-bf58-960f-4a09-f05ebcf1f566@gmail.com>
 <5643d414-0b76-74a4-2c37-c7a99338d547@gmail.com>
 <c83378af-4d3b-9256-0e0d-f88c43c6de2f@xen.org>
 <alpine.DEB.2.21.2108051720210.18743@sstabellini-ThinkPad-T480s>
 <6596ad08-8398-64dd-ef62-cd7bc6f7333e@gmail.com>
 <bc576a23-d107-c67d-8dca-62691e5eea1a@xen.org>
 <1d0ea55d-2e5a-daa7-9c60-c7a1c4b48fa1@gmail.com>
 <DB9PR08MB6857442248B996CC978BBA379EF79@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <0ddb516b-1990-b772-6163-3e0d3af2c635@gmail.com>
From: Julien Grall <julien@xen.org>
Message-ID: <fd3b5afe-d186-decf-335a-e08dc1556d7b@xen.org>
Date: Tue, 10 Aug 2021 17:21:05 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <0ddb516b-1990-b772-6163-3e0d3af2c635@gmail.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit



On 10/08/2021 12:58, Oleksandr wrote:
> 
> On 10.08.21 09:34, Wei Chen wrote:
>> Hi Oleksandr,
> 
> Hi Wei, Julien.
Hi,

>>> -----Original Message-----
>>> From: Oleksandr <olekstysh@gmail.com>
>>> Sent: 2021年8月10日 2:25
>>> To: Julien Grall <julien@xen.org>
>>> Cc: Stefano Stabellini <sstabellini@kernel.org>; Andrew Cooper
>>> <andrew.cooper3@citrix.com>; xen-devel@lists.xenproject.org; Oleksandr
>>> Tyshchenko <oleksandr_tyshchenko@epam.com>; Daniel De Graaf
>>> <dgdegra@tycho.nsa.gov>; Daniel P. Smith <dpsmith@apertussolutions.com>;
>>> Ian Jackson <iwj@xenproject.org>; Wei Liu <wl@xen.org>; George Dunlap
>>> <george.dunlap@citrix.com>; Jan Beulich <jbeulich@suse.com>; Volodymyr
>>> Babchuk <Volodymyr_Babchuk@epam.com>; Roger Pau Monné
>>> <roger.pau@citrix.com>; Bertrand Marquis <Bertrand.Marquis@arm.com>; Wei
>>> Chen <Wei.Chen@arm.com>
>>> Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
>>> unallocated space
>>>
>>>
>>> On 09.08.21 18:42, Julien Grall wrote:
>>>> Hi Oleksandr,
>>>
>>> Hi Julien.
>>>
>>>
>>> Thank you for the input.
>>>
>>>
>>>> On 07/08/2021 18:03, Oleksandr wrote:
>>>>> On 06.08.21 03:30, Stefano Stabellini wrote:
>>>>>
>>>>> Hi Stefano
>>>>>
>>>>>> On Wed, 4 Aug 2021, Julien Grall wrote:
>>>>>>>> +#define GUEST_SAFE_RANGE_BASE xen_mk_ullong(0xDE00000000) /*
>>>>>>>> 128GB */
>>>>>>>> +#define GUEST_SAFE_RANGE_SIZE xen_mk_ullong(0x0200000000)
>>>>>>>>
>>>>>>>> While the possible new DT bindings has not been agreed yet, I re-
>>> used
>>>>>>>> existing "reg" property under the hypervisor node to pass safe
>>>>>>>> range as a
>>>>>>>> second region,
>>>>>>>> https://elixir.bootlin.com/linux/v5.14-
>>> rc4/source/Documentation/devicetree/bindings/arm/xen.txt#L10:
>>>>>>> So a single region works for a guest today, but for dom0 we will
>>>>>>> need multiple
>>>>>>> regions because it is may be difficult to find enough contiguous
>>>>>>> space for a
>>>>>>> single region.
>>>>>>>
>>>>>>> That said, as dom0 is mapped 1:1 (including some guest mapping),
>>>>>>> there is also
>>>>>>> the question where to allocate the safe region. For grant table, we
>>>>>>> so far
>>>>>>> re-use the Xen address space because it is assumed it will space
>>>>>>> will always
>>>>>>> be bigger than the grant table.
>>>>>>>
>>>>>>> I am not sure yet where we could allocate the safe regions.
>>>>>>> Stefano, do you
>>>>>>> have any ideas?
>>>>>> The safest choice would be the address range corresponding to memory
>>>>>> (/memory) not already allocated to Dom0.
>>>>>>
>>>>>> For instance from my last boot logs:
>>>>>> (XEN) Allocating 1:1 mappings totalling 1600MB for dom0:
>>>>>> (XEN) BANK[0] 0x00000010000000-0x00000070000000 (1536MB)
>>>>>> (XEN) BANK[1] 0x00000078000000-0x0000007c000000 (64MB)
>>>>>>
>>>>>> All the other ranges could be given as unallocated space:
>>>>>>
>>>>>> - 0x0 - 0x10000000
>>>>>> - 0x70000000 - 0x78000000
>>>>>> - 0x8_0000_0000 - 0x8_8000_0000
>>>>> Thank you for the ideas.
>>>>>
>>>>> If I got the idea correctly, yes, as these ranges represent the real
>>>>> RAM, so no I/O would be in conflict with them and as the result - no
>>>>> overlaps would be expected.
>>>>> But, I wonder, would this work if we have IOMMU enabled for Dom0 and
>>>>> need to establish 1:1 mapping for the DMA devices to work with grant
>>>>> mappings...
>>>>> In arm_iommu_map_page() we call guest_physmap_add_entry() with gfn =
>>>>> mfn, so the question is could we end up with this new gfn replacing
>>>>> the valid mapping
>>>>> (with gfn allocated from the safe region)?
>>>> Right, when we enable the IOMMU for dom0, Xen will add an extra
>>>> mapping with GFN == MFN for foreign and grant pages. This is because
>>>> Linux is not aware that whether a device is protected by an IOMMU.
>>>> Therefore it is assuming it is not and will use the MFN to configure
>>>> for DMA transaction.
>>>>
>>>> We can't remove the mapping without significant changes in Linux and
>>>> Xen. I would not mandate them for this work.
>>>>
>>>> That said, I think it would be acceptable to have different way to
>>>> find the region depending on the dom0 configuration. So we could use
>>>> the RAM not used by dom0 when the IOMMU is turned off.
>>> OK
>>>
>>>
>>>>>> The second best choice would be an hole: an address range not used by
>>>>>> anybody else (no reg property) and also not even mappable by a bus
>>> (not
>>>>>> covered by a ranges property). This is not the best choice because
>>>>>> there
>>>>>> can cases where physical resources appear afterwards.
>>>> Are you saying that the original device-tree doesn't even describe
>>>> them in any way (i.e. reserved...)?
>>>>
>>>>> Unfortunately, yes.
>>>> So the decision where the safe region is located will be done by Xen.
>>>> There is no involvement of the domain (it will discover the region
>>>> from the DT). Therefore, I don't think we need to think about
>>>> everything right now as we could adapt this is exact region is not
>>>> part of the stable ABI.
>>>>
>>>> The hotplug is one I would defer because this is not supported (and
>>>> quite likely not working) in Xen upstream today.
>>> Sounds reasonable.
>>>
>>>
>>>>
>>>> Now regarding the case where dom0 is using the IOMMU. The assumption
>>>> is Xen will be able to figure out all the regions used from the
>>>> firmware table (ACPI or DT).
>>>>
>>>> AFAIK, this assumption would be correct for DT. However, for ACPI, I
>>>> remember we were not able to find all the MMIOs region in Xen (see [1]
>>>> and [2]). So even this solution would not work for ACPI.
>>>>
>>>> If I am not mistaken, we don't support IOMMU with ACPI yet. So we
>>>> could defer the problem to when this is going to be supported.
>>> Sounds reasonable.
>>>
>>>
>>> To summarize:
>>>
>>> 0. Skip ACPI case for now, implement for DT case
>>>
>>> 1. If IOMMU is enabled for Dom0 -> provide holes found in Host DT as
>>> safe ranges
>>>
>> Does static allocation and direct mapping driver domain can be treated
>> as this case?
> I am not sure I can answer this question correctly due to the limited 
> knowledge of these features.
> 
> But, it feels to me that holes solution would work, at least I don't see 
> why not.
> 
> 
> I wonder, why these can't be treated as the case #2 (where we provide 
> not assigned RAM), I also don't see why not, however there might be 
> pitfalls with direct mapped driver domain. Julien, do you have any 
> opinion on this?

So whether the memory is statically allocated or dynamically allocated 
should not matter here. For direct mapped domain, then they should be 
treated the same way as dom0.

By that I mean if the IOMMU is not enabled for the domain, then we can 
use thew unallocated RAM. Otherwise, we would need to find some holes.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 10 16:29:24 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Aug 2021 16:29:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165436.302307 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDUcw-0002Go-3V; Tue, 10 Aug 2021 16:29:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165436.302307; Tue, 10 Aug 2021 16:29:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDUcw-0002Gh-0f; Tue, 10 Aug 2021 16:29:18 +0000
Received: by outflank-mailman (input) for mailman id 165436;
 Tue, 10 Aug 2021 16:29:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mDUcv-0002Gb-4D
 for xen-devel@lists.xenproject.org; Tue, 10 Aug 2021 16:29:17 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mDUcd-0001XZ-Fr; Tue, 10 Aug 2021 16:28:59 +0000
Received: from [54.239.6.180] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mDUcd-0003pj-8A; Tue, 10 Aug 2021 16:28: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:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=ufEN2YPI7vQWWPQFNTZWby3Jz+fRhfxgoGnLI5FMfxQ=; b=WWJ1wi4cH8yN1S3sFv9ahIDmYa
	JnrKutxqcT4gtwAi9XknHnDQihZ6SZ2xrJjFB2l4acNUaaFGPE49uE7tVETwzqoyEw8XuDW6m3jVm
	+Waz5JhxwDQ2US86HNhZCLQfyQScobZorK97PpYBXZmTaQ5/wDwWx7xWOd4P1YsTU2+A=;
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
To: Oleksandr <olekstysh@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <80fafc01-f063-d6e5-1c08-7ad64550310c@citrix.com>
 <e8db3021-78a5-e040-a70b-62ca5b500149@xen.org>
 <4de5ed21-379e-b618-44c8-924d88b1a519@citrix.com>
 <bbc7f597-5249-20a0-cac9-13f594268299@xen.org>
 <6a633f4e-13e0-4a2b-cf6e-35ef90ae977c@gmail.com>
 <alpine.DEB.2.21.2107301630510.10122@sstabellini-ThinkPad-T480s>
 <f6b2e6c6-bf58-960f-4a09-f05ebcf1f566@gmail.com>
 <5643d414-0b76-74a4-2c37-c7a99338d547@gmail.com>
 <c83378af-4d3b-9256-0e0d-f88c43c6de2f@xen.org>
 <alpine.DEB.2.21.2108051720210.18743@sstabellini-ThinkPad-T480s>
 <6596ad08-8398-64dd-ef62-cd7bc6f7333e@gmail.com>
 <bc576a23-d107-c67d-8dca-62691e5eea1a@xen.org>
 <1d0ea55d-2e5a-daa7-9c60-c7a1c4b48fa1@gmail.com>
 <6947db7a-44d3-eb5f-c93e-1c1b88c62f29@xen.org>
 <736c38b3-0dfa-ccbf-6a6a-6da871f8aca0@gmail.com>
From: Julien Grall <julien@xen.org>
Message-ID: <4f5be55d-062b-06d2-1e41-bac3ade0cc3a@xen.org>
Date: Tue, 10 Aug 2021 17:28:55 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <736c38b3-0dfa-ccbf-6a6a-6da871f8aca0@gmail.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit



On 09/08/2021 22:18, Oleksandr wrote:
> 
> On 09.08.21 23:45, Julien Grall wrote:
> 
> 
> Hi Julien


Hi Oleksandr,

>> On 09/08/2021 19:24, Oleksandr wrote:
>>>
>>> On 09.08.21 18:42, Julien Grall wrote:
>>> 1. If IOMMU is enabled for Dom0 -> provide holes found in Host DT as 
>>> safe ranges
>>>
>>> I would take into the account holes >= 1MB.
>>
>> May I ask why 1MB?
> 
> Nothing special, just thinking to not bother with small regions which 
> would not be too useful overall, but could bloat resulting reg property.
> 
> Anyway, I would be ok with any sizes.

I was more interesting with the reasoning behind your choice rather than 
saying we want more.

I agree that we may want to skip smaller region. I am guess that an high 
number of small regions will also increase the bookeeping in Linux.

But I would probably suggest to align the safe region to a 2MB 
(superpage for 4KB page granularity) just because the backend (or even 
Xen) may be able to do some optimization there.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 10 16:49:23 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Aug 2021 16:49:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165442.302319 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDUw8-0004YF-P3; Tue, 10 Aug 2021 16:49:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165442.302319; Tue, 10 Aug 2021 16:49:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDUw8-0004Y8-Ly; Tue, 10 Aug 2021 16:49:08 +0000
Received: by outflank-mailman (input) for mailman id 165442;
 Tue, 10 Aug 2021 16:49:07 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=oQPR=NB=gmail.com=olekstysh@srs-us1.protection.inumbo.net>)
 id 1mDUw7-0004Y2-EN
 for xen-devel@lists.xenproject.org; Tue, 10 Aug 2021 16:49:07 +0000
Received: from mail-lj1-x22f.google.com (unknown [2a00:1450:4864:20::22f])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 07f3066e-101b-4d18-a509-c849e7352def;
 Tue, 10 Aug 2021 16:49:06 +0000 (UTC)
Received: by mail-lj1-x22f.google.com with SMTP id y7so19137419ljp.3
 for <xen-devel@lists.xenproject.org>; Tue, 10 Aug 2021 09:49:06 -0700 (PDT)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id y20sm363668lji.126.2021.08.10.09.49.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Aug 2021 09:49: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: 07f3066e-101b-4d18-a509-c849e7352def
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-transfer-encoding:content-language;
        bh=y/6dCXP7pKem3jwxJV+oqakShfCnHcGFD7xZafWyuBM=;
        b=eIvzUjur+rcqbRVsRSFeTme7cvC7M4w4Bd0rRzL/tXvKJxLGVGQoMIYGjIGgC2wTNV
         Zgnz01/Jf+lolTIToAx83hZMaWB/DWRKljVLR7TpVEmAwiZktSEVpEWRkPNU9RgmGJbj
         P/7ZxS5HuH6WTRs9oQ9zeunLzFFflk92bBoBOlWw1kwrNv1EP+YBUZW52fDm9JOyJkpz
         S9JGmulK1mujVJ2EIVFCEmOO4rUSYEPVj/AWMKSRRhpJuazrx7fWDRURgO2iVQd8mgIR
         x9MNt0y4wNrpGXvfXLx530/5bpDLebY7Oak4PAlQHliVs3Dv3d7Fqe0wuam8+lp15w78
         AbeA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-transfer-encoding
         :content-language;
        bh=y/6dCXP7pKem3jwxJV+oqakShfCnHcGFD7xZafWyuBM=;
        b=clq0NGkVAOimuWA7kSfoIyoFedP10jg5rjiFuMDxUvFkACKANDuGuiwCCq4+JvxUjo
         n7y3msoMzQnI+5gWYHwhn7DRNrpooniXPg9tj+exPC5r4c/ba20umCnO63RPe+CqBmq+
         QQx2LmcID3hM0ydsPi+fcgnib+ryUGsp47sWk4Topn6rLhkerDOqo1JZxdAaJXa1djk6
         yDzqLHTRZywOoVnOH5WHNSEERCJ2i5mbMkj2z6dASyk8urn/T+fQejl83E4JpBbwlB9g
         amkHCcGmBsBEbtI3PofHfok7klCNhZyOWvOP8lpyzvD3iW8BP7oZ1HzFjtilyLp47D0t
         MRMA==
X-Gm-Message-State: AOAM532lMS7B3WuxEnMW/SNah0FbrxF8kiG8TqMUHQflkSwF6bEmAHtV
	jYPJ5aZiLlt0+3WRUSJrJkY=
X-Google-Smtp-Source: ABdhPJwK3Euu6EJgaGFjkZA5D7wjR+rwskw/4N7q5o0MgxPMeu0uqD0zZRA9qWld9J+qPlyYNnHjnw==
X-Received: by 2002:a2e:bc19:: with SMTP id b25mr18875081ljf.374.1628614145047;
        Tue, 10 Aug 2021 09:49:05 -0700 (PDT)
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
To: Julien Grall <julien@xen.org>
Cc: Wei Chen <Wei.Chen@arm.com>, Penny Zheng <Penny.Zheng@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <80fafc01-f063-d6e5-1c08-7ad64550310c@citrix.com>
 <e8db3021-78a5-e040-a70b-62ca5b500149@xen.org>
 <4de5ed21-379e-b618-44c8-924d88b1a519@citrix.com>
 <bbc7f597-5249-20a0-cac9-13f594268299@xen.org>
 <6a633f4e-13e0-4a2b-cf6e-35ef90ae977c@gmail.com>
 <alpine.DEB.2.21.2107301630510.10122@sstabellini-ThinkPad-T480s>
 <f6b2e6c6-bf58-960f-4a09-f05ebcf1f566@gmail.com>
 <5643d414-0b76-74a4-2c37-c7a99338d547@gmail.com>
 <c83378af-4d3b-9256-0e0d-f88c43c6de2f@xen.org>
 <alpine.DEB.2.21.2108051720210.18743@sstabellini-ThinkPad-T480s>
 <6596ad08-8398-64dd-ef62-cd7bc6f7333e@gmail.com>
 <bc576a23-d107-c67d-8dca-62691e5eea1a@xen.org>
 <1d0ea55d-2e5a-daa7-9c60-c7a1c4b48fa1@gmail.com>
 <DB9PR08MB6857442248B996CC978BBA379EF79@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <0ddb516b-1990-b772-6163-3e0d3af2c635@gmail.com>
 <fd3b5afe-d186-decf-335a-e08dc1556d7b@xen.org>
From: Oleksandr <olekstysh@gmail.com>
Message-ID: <005a02cb-b400-5998-5f57-3422ba7091e8@gmail.com>
Date: Tue, 10 Aug 2021 19:49:03 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.10.0
MIME-Version: 1.0
In-Reply-To: <fd3b5afe-d186-decf-335a-e08dc1556d7b@xen.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US


On 10.08.21 19:21, Julien Grall wrote:

Hi Julien

>
>
> On 10/08/2021 12:58, Oleksandr wrote:
>>
>> On 10.08.21 09:34, Wei Chen wrote:
>>> Hi Oleksandr,
>>
>> Hi Wei, Julien.
> Hi,
>
>>>> -----Original Message-----
>>>> From: Oleksandr <olekstysh@gmail.com>
>>>> Sent: 2021年8月10日 2:25
>>>> To: Julien Grall <julien@xen.org>
>>>> Cc: Stefano Stabellini <sstabellini@kernel.org>; Andrew Cooper
>>>> <andrew.cooper3@citrix.com>; xen-devel@lists.xenproject.org; Oleksandr
>>>> Tyshchenko <oleksandr_tyshchenko@epam.com>; Daniel De Graaf
>>>> <dgdegra@tycho.nsa.gov>; Daniel P. Smith 
>>>> <dpsmith@apertussolutions.com>;
>>>> Ian Jackson <iwj@xenproject.org>; Wei Liu <wl@xen.org>; George Dunlap
>>>> <george.dunlap@citrix.com>; Jan Beulich <jbeulich@suse.com>; Volodymyr
>>>> Babchuk <Volodymyr_Babchuk@epam.com>; Roger Pau Monné
>>>> <roger.pau@citrix.com>; Bertrand Marquis 
>>>> <Bertrand.Marquis@arm.com>; Wei
>>>> Chen <Wei.Chen@arm.com>
>>>> Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
>>>> unallocated space
>>>>
>>>>
>>>> On 09.08.21 18:42, Julien Grall wrote:
>>>>> Hi Oleksandr,
>>>>
>>>> Hi Julien.
>>>>
>>>>
>>>> Thank you for the input.
>>>>
>>>>
>>>>> On 07/08/2021 18:03, Oleksandr wrote:
>>>>>> On 06.08.21 03:30, Stefano Stabellini wrote:
>>>>>>
>>>>>> Hi Stefano
>>>>>>
>>>>>>> On Wed, 4 Aug 2021, Julien Grall wrote:
>>>>>>>>> +#define GUEST_SAFE_RANGE_BASE xen_mk_ullong(0xDE00000000) /*
>>>>>>>>> 128GB */
>>>>>>>>> +#define GUEST_SAFE_RANGE_SIZE xen_mk_ullong(0x0200000000)
>>>>>>>>>
>>>>>>>>> While the possible new DT bindings has not been agreed yet, I re-
>>>> used
>>>>>>>>> existing "reg" property under the hypervisor node to pass safe
>>>>>>>>> range as a
>>>>>>>>> second region,
>>>>>>>>> https://elixir.bootlin.com/linux/v5.14-
>>>> rc4/source/Documentation/devicetree/bindings/arm/xen.txt#L10:
>>>>>>>> So a single region works for a guest today, but for dom0 we will
>>>>>>>> need multiple
>>>>>>>> regions because it is may be difficult to find enough contiguous
>>>>>>>> space for a
>>>>>>>> single region.
>>>>>>>>
>>>>>>>> That said, as dom0 is mapped 1:1 (including some guest mapping),
>>>>>>>> there is also
>>>>>>>> the question where to allocate the safe region. For grant 
>>>>>>>> table, we
>>>>>>>> so far
>>>>>>>> re-use the Xen address space because it is assumed it will space
>>>>>>>> will always
>>>>>>>> be bigger than the grant table.
>>>>>>>>
>>>>>>>> I am not sure yet where we could allocate the safe regions.
>>>>>>>> Stefano, do you
>>>>>>>> have any ideas?
>>>>>>> The safest choice would be the address range corresponding to 
>>>>>>> memory
>>>>>>> (/memory) not already allocated to Dom0.
>>>>>>>
>>>>>>> For instance from my last boot logs:
>>>>>>> (XEN) Allocating 1:1 mappings totalling 1600MB for dom0:
>>>>>>> (XEN) BANK[0] 0x00000010000000-0x00000070000000 (1536MB)
>>>>>>> (XEN) BANK[1] 0x00000078000000-0x0000007c000000 (64MB)
>>>>>>>
>>>>>>> All the other ranges could be given as unallocated space:
>>>>>>>
>>>>>>> - 0x0 - 0x10000000
>>>>>>> - 0x70000000 - 0x78000000
>>>>>>> - 0x8_0000_0000 - 0x8_8000_0000
>>>>>> Thank you for the ideas.
>>>>>>
>>>>>> If I got the idea correctly, yes, as these ranges represent the real
>>>>>> RAM, so no I/O would be in conflict with them and as the result - no
>>>>>> overlaps would be expected.
>>>>>> But, I wonder, would this work if we have IOMMU enabled for Dom0 and
>>>>>> need to establish 1:1 mapping for the DMA devices to work with grant
>>>>>> mappings...
>>>>>> In arm_iommu_map_page() we call guest_physmap_add_entry() with gfn =
>>>>>> mfn, so the question is could we end up with this new gfn replacing
>>>>>> the valid mapping
>>>>>> (with gfn allocated from the safe region)?
>>>>> Right, when we enable the IOMMU for dom0, Xen will add an extra
>>>>> mapping with GFN == MFN for foreign and grant pages. This is because
>>>>> Linux is not aware that whether a device is protected by an IOMMU.
>>>>> Therefore it is assuming it is not and will use the MFN to configure
>>>>> for DMA transaction.
>>>>>
>>>>> We can't remove the mapping without significant changes in Linux and
>>>>> Xen. I would not mandate them for this work.
>>>>>
>>>>> That said, I think it would be acceptable to have different way to
>>>>> find the region depending on the dom0 configuration. So we could use
>>>>> the RAM not used by dom0 when the IOMMU is turned off.
>>>> OK
>>>>
>>>>
>>>>>>> The second best choice would be an hole: an address range not 
>>>>>>> used by
>>>>>>> anybody else (no reg property) and also not even mappable by a bus
>>>> (not
>>>>>>> covered by a ranges property). This is not the best choice because
>>>>>>> there
>>>>>>> can cases where physical resources appear afterwards.
>>>>> Are you saying that the original device-tree doesn't even describe
>>>>> them in any way (i.e. reserved...)?
>>>>>
>>>>>> Unfortunately, yes.
>>>>> So the decision where the safe region is located will be done by Xen.
>>>>> There is no involvement of the domain (it will discover the region
>>>>> from the DT). Therefore, I don't think we need to think about
>>>>> everything right now as we could adapt this is exact region is not
>>>>> part of the stable ABI.
>>>>>
>>>>> The hotplug is one I would defer because this is not supported (and
>>>>> quite likely not working) in Xen upstream today.
>>>> Sounds reasonable.
>>>>
>>>>
>>>>>
>>>>> Now regarding the case where dom0 is using the IOMMU. The assumption
>>>>> is Xen will be able to figure out all the regions used from the
>>>>> firmware table (ACPI or DT).
>>>>>
>>>>> AFAIK, this assumption would be correct for DT. However, for ACPI, I
>>>>> remember we were not able to find all the MMIOs region in Xen (see 
>>>>> [1]
>>>>> and [2]). So even this solution would not work for ACPI.
>>>>>
>>>>> If I am not mistaken, we don't support IOMMU with ACPI yet. So we
>>>>> could defer the problem to when this is going to be supported.
>>>> Sounds reasonable.
>>>>
>>>>
>>>> To summarize:
>>>>
>>>> 0. Skip ACPI case for now, implement for DT case
>>>>
>>>> 1. If IOMMU is enabled for Dom0 -> provide holes found in Host DT as
>>>> safe ranges
>>>>
>>> Does static allocation and direct mapping driver domain can be treated
>>> as this case?
>> I am not sure I can answer this question correctly due to the limited 
>> knowledge of these features.
>>
>> But, it feels to me that holes solution would work, at least I don't 
>> see why not.
>>
>>
>> I wonder, why these can't be treated as the case #2 (where we provide 
>> not assigned RAM), I also don't see why not, however there might be 
>> pitfalls with direct mapped driver domain. Julien, do you have any 
>> opinion on this?
>
> So whether the memory is statically allocated or dynamically allocated 
> should not matter here. For direct mapped domain, then they should be 
> treated the same way as dom0.
>
> By that I mean if the IOMMU is not enabled for the domain, then we can 
> use thew unallocated RAM. Otherwise, we would need to find some holes.

OK, thank you for the clarification.


>
>
> Cheers,
>
-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Tue Aug 10 17:03:38 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Aug 2021 17:03:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165448.302330 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDVA5-0006oT-1n; Tue, 10 Aug 2021 17:03:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165448.302330; Tue, 10 Aug 2021 17:03:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDVA4-0006oM-VA; Tue, 10 Aug 2021 17:03:32 +0000
Received: by outflank-mailman (input) for mailman id 165448;
 Tue, 10 Aug 2021 17:03:31 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=oQPR=NB=gmail.com=olekstysh@srs-us1.protection.inumbo.net>)
 id 1mDVA3-0006oG-HP
 for xen-devel@lists.xenproject.org; Tue, 10 Aug 2021 17:03:31 +0000
Received: from mail-lf1-x12b.google.com (unknown [2a00:1450:4864:20::12b])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id bfdc5560-719f-4237-8d79-84ef8fea4f1c;
 Tue, 10 Aug 2021 17:03:30 +0000 (UTC)
Received: by mail-lf1-x12b.google.com with SMTP id w20so16280711lfu.7
 for <xen-devel@lists.xenproject.org>; Tue, 10 Aug 2021 10:03:30 -0700 (PDT)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id x81sm1743220lff.245.2021.08.10.10.03.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Aug 2021 10:03: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: bfdc5560-719f-4237-8d79-84ef8fea4f1c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-transfer-encoding:content-language;
        bh=faRUuIPg9Z4Z8piSBNv3ntJpdkHk7f4Mg/8pbIgP6wg=;
        b=N1vN04Sy+gzr9bk4qppOwFq/dIK9/sP5oqEWDztJmmRNUVGJt+KyA/lKgsdiDMrWxH
         XUFkN70nqinKdAPTnIsVdLJLTgEa4q7IWjvPwY/t0NqRct3/kfEaSTDINL+ErWUYC1Zv
         ecpFbzkTiJWlkt4b9c+EfB4iZgmdwArJKCxCh8CXrYyptrHsWRq/+cETfZZMa35CmZQF
         FtWvQPjaIa0A85zzjeuChkAY0K6UxPqc1rkA00uR864ZOke//lHB/6bQib54qGVk1NKj
         eUn1rYelOemY6bABU6c5gUk+MRGQt4fJ4Q28Ko1zUjBUNEIdM55EdX3hldZAehp4ISFB
         jqjQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-transfer-encoding
         :content-language;
        bh=faRUuIPg9Z4Z8piSBNv3ntJpdkHk7f4Mg/8pbIgP6wg=;
        b=tOO5eM2Cj+z3xa4DJ39HQTpTTKaXYbRkFLkiCwx48raQYmapKnOi4snHw7U2YHDMmx
         /P+khu4dKNFqrW7RNXROvxAj5ztoT4X1FuCY0lfhlWofX8yNEZ0l7nKEgx4kVr8M620d
         ipJmN9iDjmW2uiCAakEQtM8Fy4iRHaVidxMbb73ObVgupXYjyHzJ7B+nGh63MILS2EyQ
         WhesAO3pH2Ae76X3V+MBgt8BLMCYsDQF2B73vJrOHAIdBEhqWAoRcG5IcWORV4LWwYJR
         +XZ0hgXI0jZboCBpirQLom1mcDmD88M/Y5KX6shOkD3TRwhv9A4Qn6+8NO4Zu3n7uc0G
         L6EQ==
X-Gm-Message-State: AOAM532bfNEAvwk9pPs0z8Y6zPoNnXfueNPtOkG8F7v5VSVaLhpMEGuH
	uVRP2OapkW5gg5aS3tXZ2bY=
X-Google-Smtp-Source: ABdhPJzp2wJLRW+bPUUAi93mZPsoGkhA3N0a8Tb7wiT7/ggkph9qpm8Ufl4ORuIvnu4sDs55i4GoNQ==
X-Received: by 2002:ac2:4569:: with SMTP id k9mr1705227lfm.178.1628615009445;
        Tue, 10 Aug 2021 10:03:29 -0700 (PDT)
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
To: Julien Grall <julien@xen.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <80fafc01-f063-d6e5-1c08-7ad64550310c@citrix.com>
 <e8db3021-78a5-e040-a70b-62ca5b500149@xen.org>
 <4de5ed21-379e-b618-44c8-924d88b1a519@citrix.com>
 <bbc7f597-5249-20a0-cac9-13f594268299@xen.org>
 <6a633f4e-13e0-4a2b-cf6e-35ef90ae977c@gmail.com>
 <alpine.DEB.2.21.2107301630510.10122@sstabellini-ThinkPad-T480s>
 <f6b2e6c6-bf58-960f-4a09-f05ebcf1f566@gmail.com>
 <5643d414-0b76-74a4-2c37-c7a99338d547@gmail.com>
 <c83378af-4d3b-9256-0e0d-f88c43c6de2f@xen.org>
 <alpine.DEB.2.21.2108051720210.18743@sstabellini-ThinkPad-T480s>
 <6596ad08-8398-64dd-ef62-cd7bc6f7333e@gmail.com>
 <bc576a23-d107-c67d-8dca-62691e5eea1a@xen.org>
 <1d0ea55d-2e5a-daa7-9c60-c7a1c4b48fa1@gmail.com>
 <6947db7a-44d3-eb5f-c93e-1c1b88c62f29@xen.org>
 <736c38b3-0dfa-ccbf-6a6a-6da871f8aca0@gmail.com>
 <4f5be55d-062b-06d2-1e41-bac3ade0cc3a@xen.org>
From: Oleksandr <olekstysh@gmail.com>
Message-ID: <f046eaba-d073-7fbb-4f4d-405f34d8ee9c@gmail.com>
Date: Tue, 10 Aug 2021 20:03:27 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.10.0
MIME-Version: 1.0
In-Reply-To: <4f5be55d-062b-06d2-1e41-bac3ade0cc3a@xen.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Content-Language: en-US


On 10.08.21 19:28, Julien Grall wrote:

Hi Julien.

>
>
> On 09/08/2021 22:18, Oleksandr wrote:
>>
>> On 09.08.21 23:45, Julien Grall wrote:
>>
>>
>> Hi Julien
>
>
> Hi Oleksandr,
>
>>> On 09/08/2021 19:24, Oleksandr wrote:
>>>>
>>>> On 09.08.21 18:42, Julien Grall wrote:
>>>> 1. If IOMMU is enabled for Dom0 -> provide holes found in Host DT 
>>>> as safe ranges
>>>>
>>>> I would take into the account holes >= 1MB.
>>>
>>> May I ask why 1MB?
>>
>> Nothing special, just thinking to not bother with small regions which 
>> would not be too useful overall, but could bloat resulting reg property.
>>
>> Anyway, I would be ok with any sizes.
>
> I was more interesting with the reasoning behind your choice rather 
> than saying we want more.
>
> I agree that we may want to skip smaller region. I am guess that an 
> high number of small regions will also increase the bookeeping in Linux.
>
> But I would probably suggest to align the safe region to a 2MB 
> (superpage for 4KB page granularity) just because the backend (or even 
> Xen) may be able to do some optimization there.

OK, agree regarding the alignment. But, what about the size? I assume, 
it should be a multiple of 2MB.


>
>
> Cheers,
>
-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Tue Aug 10 17:48:10 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Aug 2021 17:48:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165456.302352 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDVrE-0002oM-TD; Tue, 10 Aug 2021 17:48:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165456.302352; Tue, 10 Aug 2021 17:48:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDVrE-0002oD-Ph; Tue, 10 Aug 2021 17:48:08 +0000
Received: by outflank-mailman (input) for mailman id 165456;
 Tue, 10 Aug 2021 17:48:07 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3edG=NB=citrix.com=Kevin.Stefanov@srs-us1.protection.inumbo.net>)
 id 1mDVrD-0002nf-Lt
 for xen-devel@lists.xenproject.org; Tue, 10 Aug 2021 17:48:07 +0000
Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 1dee9bf4-fa03-11eb-9fe8-12813bfff9fa;
 Tue, 10 Aug 2021 17:48: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: 1dee9bf4-fa03-11eb-9fe8-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1628617686;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=Asef4CShufBTIlaP0RTU0oOP4w0Yf/it6Q71w/xhv/Q=;
  b=a7j1QcvR8SlrrmFVjSVLQ9BA9xEhO41e0B2oVVIRpVQZ2aQeYQ3kUl5a
   E+9OKqjt1vJAPO3yOH+u7H0TKQJ/HJHh8cCu83Z2DwYwzIhTmbnNzg6RQ
   B3Cw8LdO6yTViKpIdKG+j4/TJCI1v9XwTpcj9xtLp2VZWfwZwkpGFPdmx
   8=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: vbKjvOztIZYo3BhL1sTVMoT2jCjrNTlicI1KycVgdZp3WVJxuACQA6jI7l/Vsfrn0FEUjypKSt
 LSf1CCqTixdXG0UftzKVL/Obg3+ThOi1TvRGR5euAjvtpxM+3Cx/gcejfA/DXCMiXXc7lOSHEe
 qLPamh1NtJy1GQ7txE1pQd92Qyhv6HvCelDZuXxNoudasyxXjS0fFEdFHid7r2shu2+3kIh8wr
 q1cZrkaBH5z8MnpBYrDySt7qCAcKxOGHsy9xEjWEEeobkxA24C3f9g97/9MDOtL1YiVD587+0i
 WzvnmyYXA8up6Wu0T07fuynN
X-SBRS: 5.1
X-MesageID: 50128459
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:YRZEEatbhrbO8Odkcc5PIm7x7skC3IMji2hC6mlwRA09TyXGra
 2TdaUgvyMc1gx7ZJh5o6H5BEDyewKmyXcV2/hdAV7GZmXbUQSTXeVfBOfZogEIXheOj9K1tp
 0QP5SWaueAamSS5PySiGbXLz9j+qjgzEnCv5a8854Zd3AOV0gW1XYaNu/0KC1LbTgDIaB8OI
 uX58JBqTblU28QdN6HCn4MWPWGj8HXlbr9CCR2SSIP2U2rt3eF+bT6Gx+X0lM1SDVU24ov9m
 DDjkjQ+rijifem0RXRvlWjrqi+2eGRiuerNvb8yPT9GQ+czzpAo74RH4FqiQpF491HLmxa1+
 Uk7S1QefiboEmhBF1d6SGdpjUIlgxepEMKgGXo/UfLsIj3Qik3BNFGgp8cehzF61A4tNU5y6
 5T2XmF3qAnRC8osR6NkOQgbSsa4HZcYEBS4dI7njhaS88TebVRpYsQ8AdcF4oBBjvz7MQiHP
 N1BM/R6f5KeRfCBkqp9VVH0ZipRDA+Dx2GSk8Ntoic1CVXhmlwyw8dyNYElnkN+ZohQ91P5v
 jCMK5viLZSJ/VmJZ5VFaMEW4+6G2bNSRXDPCabJknmDrgOPzbXp5v+8NwOlZWXkVwzve4Pcb
 H6IRllXEIJCjzT4Py1re92G0r2MRqAtBzWu7Bjzok8vKHgT7z2NiDGQEwykqKb0oYiPvE=
X-IronPort-AV: E=Sophos;i="5.84,310,1620705600"; 
   d="scan'208";a="50128459"
From: Kevin Stefanov <kevin.stefanov@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Kevin Stefanov <kevin.stefanov@citrix.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>
Subject: [PATCH 1/2] xen/kexec: Remove use of TRUE/FALSE
Date: Tue, 10 Aug 2021 18:47:36 +0100
Message-ID: <20210810174737.56297-2-kevin.stefanov@citrix.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210810174737.56297-1-kevin.stefanov@citrix.com>
References: <20210810174737.56297-1-kevin.stefanov@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Whilst fixing this, also changed bool_t to bool.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Kevin Stefanov <kevin.stefanov@citrix.com>
---
CC: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/common/kexec.c      | 6 +++---
 xen/include/xen/kexec.h | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/xen/common/kexec.c b/xen/common/kexec.c
index ebeee6405a..938cbb8005 100644
--- a/xen/common/kexec.c
+++ b/xen/common/kexec.c
@@ -35,7 +35,7 @@
 #include <compat/kexec.h>
 #endif
 
-bool_t kexecing = FALSE;
+bool kexecing;
 
 /* Memory regions to store the per cpu register state etc. on a crash. */
 typedef struct { Elf_Note * start; size_t size; } crash_note_range_t;
@@ -383,7 +383,7 @@ void kexec_crash(enum crash_reason reason)
     if ( !test_bit(KEXEC_IMAGE_CRASH_BASE + pos, &kexec_flags) )
         return;
 
-    kexecing = TRUE;
+    kexecing = true;
 
     if ( kexec_common_shutdown() != 0 )
         return;
@@ -399,7 +399,7 @@ static long kexec_reboot(void *_image)
 {
     struct kexec_image *image = _image;
 
-    kexecing = TRUE;
+    kexecing = true;
 
     kexec_common_shutdown();
     machine_reboot_kexec(image);
diff --git a/xen/include/xen/kexec.h b/xen/include/xen/kexec.h
index 9f7a912e97..02dc889334 100644
--- a/xen/include/xen/kexec.h
+++ b/xen/include/xen/kexec.h
@@ -17,7 +17,7 @@ typedef struct xen_kexec_reserve {
 extern xen_kexec_reserve_t kexec_crash_area;
 extern paddr_t kexec_crash_area_limit;
 
-extern bool_t kexecing;
+extern bool kexecing;
 
 void set_kexec_crash_area_size(u64 system_ram);
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 10 17:48:10 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Aug 2021 17:48:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165455.302341 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDVr9-0002XE-L9; Tue, 10 Aug 2021 17:48:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165455.302341; Tue, 10 Aug 2021 17:48:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDVr9-0002X7-IA; Tue, 10 Aug 2021 17:48:03 +0000
Received: by outflank-mailman (input) for mailman id 165455;
 Tue, 10 Aug 2021 17:48:02 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3edG=NB=citrix.com=Kevin.Stefanov@srs-us1.protection.inumbo.net>)
 id 1mDVr8-0002X1-9D
 for xen-devel@lists.xenproject.org; Tue, 10 Aug 2021 17:48:02 +0000
Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 599d35eb-2660-4bf4-ac98-52f515effa75;
 Tue, 10 Aug 2021 17:48: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: 599d35eb-2660-4bf4-ac98-52f515effa75
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1628617681;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=0rn3nBCe7LlrF0vPYBhJ4OV4Kp7m83GflFizSNI1m+8=;
  b=PzZPJWLNNGw4LDLCpsP09Vl5Jgmv+Ni35sYewyRtjZZ2UW5ail8/n+ow
   NaIgLA8e2pFfnnN4PHX4eHZeIMu7zWLgrHrhhGVKVzzapEi3OS+Cr3i3p
   xy6aJ0IBVYfpR0QMhinWXPmKnDZzqmnmFR7t66Al01WjZnI3W4urC0hCv
   Q=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: wvnxhbkraKZBXsC/LI4H8dzrJpClozEBVPjRwqP08s0f2IOfkPqch/kw6xalU0WqR3vnW2yLO7
 Gw5x1IRevCMmlUhAOtiJgwBoceTlfEoqXYcQrjcD0NkDy3NLa2bhg4qV01qi6RswBsyYtaVcqF
 3VPoKZ2sIIh3HKNMCnKyZ7Thb+5HFdws1N3fk3XexPjCvMRaXJnr2OVqvJi2UvDDTlKB5CHgKh
 vVHnPS+eum0A4uFcY2VYZK6EJ+xRM3coBQFNowU9iJ6ws2LXtdoqBw/eu+kjY/its2bwKEa2VU
 B4eJU5sVH/eU+c+lPSaDzMn2
X-SBRS: 5.1
X-MesageID: 51845604
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:HfET/K6HFQL8Q+UUHwPXwDLXdLJyesId70hD6qkQc3FomwKj9/
 xG/c5rsSMc7Qx6ZJhOo7+90cW7L080lqQFhLX5X43SPzUO0VHARO1fBOPZqAEIcBeOlNK1u5
 0AT0B/YueAcGSTj6zBkXWF+wBL+qj5zEiq792usUuEVWtRGsZdB58SMHfhLqVxLjM2Y6YRJd
 6nyedsgSGvQngTZtTTPAh+YwCSz+e77a4PeHQ9dmYa1DU=
X-IronPort-AV: E=Sophos;i="5.84,310,1620705600"; 
   d="scan'208";a="51845604"
From: Kevin Stefanov <kevin.stefanov@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Kevin Stefanov <kevin.stefanov@citrix.com>, Jan Beulich
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, Kevin Tian <kevin.tian@intel.com>
Subject: [PATCH 0/2] xen: Remove use of TRUE/FALSE
Date: Tue, 10 Aug 2021 18:47:35 +0100
Message-ID: <20210810174737.56297-1-kevin.stefanov@citrix.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Kevin Stefanov (2):
  xen/kexec: Remove use of TRUE/FALSE
  x86/ioapic: Remove use of TRUE/FALSE

 xen/arch/x86/io_apic.c              | 12 ++++++------
 xen/common/kexec.c                  |  6 +++---
 xen/drivers/passthrough/vtd/utils.c |  2 +-
 xen/include/xen/kexec.h             |  2 +-
 4 files changed, 11 insertions(+), 11 deletions(-)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 10 17:49:47 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Aug 2021 17:49:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165465.302363 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDVsh-0003hn-9d; Tue, 10 Aug 2021 17:49:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165465.302363; Tue, 10 Aug 2021 17: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 1mDVsh-0003hf-63; Tue, 10 Aug 2021 17:49:39 +0000
Received: by outflank-mailman (input) for mailman id 165465;
 Tue, 10 Aug 2021 17:49:37 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3edG=NB=citrix.com=Kevin.Stefanov@srs-us1.protection.inumbo.net>)
 id 1mDVsf-0003hU-PL
 for xen-devel@lists.xenproject.org; Tue, 10 Aug 2021 17:49:37 +0000
Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 06935f5f-0a2c-4f55-ad2b-5d6249eca909;
 Tue, 10 Aug 2021 17:49: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: 06935f5f-0a2c-4f55-ad2b-5d6249eca909
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1628617776;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=pBLXom3uvXG3WNRdDC8Js1UbjKLetMogjxd4LmFipwM=;
  b=aMaEGc8Ie8s86/nuFf0sPoBLaSdCW7JfkJwk+dKA90G8jTxVuZ13v6tl
   MtlS0fWkCMBYMA/3jt7TnMY88zBBQHknx7CxmQY29XQHqEu5g5YdoL0Ew
   b9rwYA4ZGktJnGytI0ifvku+IpNLnpfmLcFAm0G6e8MVimZWQ4H9RqFk8
   k=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: BEauNw9fsKXQybqAU0wRfh3/gN6Rbq0/WLcVtMh6E9qRpSvbOPUsc9a4wN/4qW3Q8GNORp4wFo
 oFsvL6S3oW1LMSvX4S+yqT+25zs1LRtD/VLkdCQGQ4XOx4XHr6tSb4bIA5X/DIpoWdkQbErNl2
 7K0frkJz+IrPqkGd207ebgXD38gMXVkTYPzm3CkjyK9bjgF1TQzq8CGldCPEraq59q6jSR/fmF
 JYfcJFVX0LEHUjrAkgYKeu4Kpk+4imQ70CHlOvYLshA8dWsqX2N1tIVf9D/dLq2/0HLLfYKpuF
 rbR3H3dDqcPTNr3FWsVRHtMi
X-SBRS: 5.1
X-MesageID: 51845687
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:xOKGFKHRqHPCpCK5pLqEEseALOsnbusQ8zAXPiBKJCC9vPb5qy
 nOpoV+6faQslwssR4b9uxoVJPvfZq+z+8R3WByB8bAYOCOggLBQL2KhbGI/9SKIVydygcy78
 Zdm6gVMqyMMbB55/yKnDVRxbwbsaa6GKPDv5ah8590JzsaDJ2Jd21Ce32m+ksdfnghObMJUK
 Cyy+BgvDSadXEefq2AdwM4t7iqnayzqHr+CyR2fyIa1A==
X-IronPort-AV: E=Sophos;i="5.84,310,1620705600"; 
   d="scan'208";a="51845687"
From: Kevin Stefanov <kevin.stefanov@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Kevin Stefanov <kevin.stefanov@citrix.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, Kevin Tian <kevin.tian@intel.com>
Subject: [PATCH 2/2] x86/ioapic: Remove use of TRUE/FALSE
Date: Tue, 10 Aug 2021 18:49:07 +0100
Message-ID: <20210810174907.56426-1-kevin.stefanov@citrix.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Also fix stray usage in VT-d.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Kevin Stefanov <kevin.stefanov@citrix.com>
---
CC: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: "Roger Pau Monné" <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
CC: Kevin Tian <kevin.tian@intel.com>
---
 xen/arch/x86/io_apic.c              | 12 ++++++------
 xen/drivers/passthrough/vtd/utils.c |  2 +-
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
index 58b26d962c..fbe8f41561 100644
--- a/xen/arch/x86/io_apic.c
+++ b/xen/arch/x86/io_apic.c
@@ -289,7 +289,7 @@ static void __io_apic_eoi(unsigned int apic, unsigned int vector, unsigned int p
     {
         /* If vector is unknown, read it from the IO-APIC */
         if ( vector == IRQ_VECTOR_UNASSIGNED )
-            vector = __ioapic_read_entry(apic, pin, TRUE).vector;
+            vector = __ioapic_read_entry(apic, pin, true).vector;
 
         *(IO_APIC_BASE(apic)+16) = vector;
     }
@@ -300,28 +300,28 @@ static void __io_apic_eoi(unsigned int apic, unsigned int vector, unsigned int p
         struct IO_APIC_route_entry entry;
         bool need_to_unmask = false;
 
-        entry = __ioapic_read_entry(apic, pin, TRUE);
+        entry = __ioapic_read_entry(apic, pin, true);
 
         if ( ! entry.mask )
         {
             /* If entry is not currently masked, mask it and make
              * a note to unmask it later */
             entry.mask = 1;
-            __ioapic_write_entry(apic, pin, TRUE, entry);
+            __ioapic_write_entry(apic, pin, true, entry);
             need_to_unmask = true;
         }
 
         /* Flip the trigger mode to edge and back */
         entry.trigger = 0;
-        __ioapic_write_entry(apic, pin, TRUE, entry);
+        __ioapic_write_entry(apic, pin, true, entry);
         entry.trigger = 1;
-        __ioapic_write_entry(apic, pin, TRUE, entry);
+        __ioapic_write_entry(apic, pin, true, entry);
 
         if ( need_to_unmask )
         {
             /* Unmask if neccesary */
             entry.mask = 0;
-            __ioapic_write_entry(apic, pin, TRUE, entry);
+            __ioapic_write_entry(apic, pin, true, entry);
         }
     }
 }
diff --git a/xen/drivers/passthrough/vtd/utils.c b/xen/drivers/passthrough/vtd/utils.c
index 4febcf506d..70add3cc8e 100644
--- a/xen/drivers/passthrough/vtd/utils.c
+++ b/xen/drivers/passthrough/vtd/utils.c
@@ -281,7 +281,7 @@ void vtd_dump_iommu_info(unsigned char key)
             for ( i = 0; i <= reg_01.bits.entries; i++ )
             {
                 struct IO_APIC_route_entry rte =
-                    __ioapic_read_entry(apic, i, TRUE);
+                    __ioapic_read_entry(apic, i, true);
 
                 remap = (struct IO_APIC_route_remap_entry *) &rte;
                 if ( !remap->format )
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 10 19:50:18 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Aug 2021 19:50:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165471.302374 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDXlE-0006eG-6a; Tue, 10 Aug 2021 19:50:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165471.302374; Tue, 10 Aug 2021 19: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 1mDXlE-0006dO-1v; Tue, 10 Aug 2021 19:50:04 +0000
Received: by outflank-mailman (input) for mailman id 165471;
 Tue, 10 Aug 2021 19:50:03 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CvVY=NB=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mDXlD-0006OU-1w
 for xen-devel@lists.xenproject.org; Tue, 10 Aug 2021 19:50:03 +0000
Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 22d2ddc9-dd4f-4894-8779-619bea60bfb9;
 Tue, 10 Aug 2021 19:50: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: 22d2ddc9-dd4f-4894-8779-619bea60bfb9
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1628625001;
  h=subject:to:references:cc:from:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=YNxCxirxpUBrUqMu7sLOOFJ99bvj23/TcHgmFgvqAZk=;
  b=e7WyATZIqv3piwxRaD2KxcK35ySnSJdziQBcpBW1KG6ARzBTQUOtmCEm
   CDUS5Pdvd8l9Yib0Pyme8UWk9REOnHVlRHg+rDsPkdwx1lcEZCKFN9dfw
   8B0siHgQVm/Or6Cjn78AJ8Eu2YgDElG7xF2YT/53zg0bOW8FZ7aN4P7F9
   k=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: N37LiArgoc1wZOKmB0k3MBJmvo/QhbZCVLnB8J5Ywk6nFfRtccpvoJpwYFnrHaJRl2yXYkRm3E
 ObRuX/16sqFiZ4c+rYc4G59rCXZJBhK1XCfBxDs0UThfCm/Hir1pGYw3ytEyqW8/PpLpE6sTMC
 USy7TfbOijzg4B7DU8wYWxD25z/9GLI8Lvyytz+x5Gscs/BONmDZaitRYZ+1sPW2TH2rOp8Gut
 Y3/0+Z9PXCylj1MEvrpqx5WoflyK8hwOSznN6SpFylXe1t/2cEgXd7bUicAdqEDydPrplnKjnC
 rm1nsLslfLAlxLiAeRHbBkjK
X-SBRS: 5.1
X-MesageID: 51855747
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:2aZOo626lkUgPILu4sYaTwqjBTxyeYIsimQD101hICG9Lfb2qy
 n+ppgmPEHP5Qr5OEtApTiBUJPwJk80hqQFnrX5Wo3SIDUO2VHYUb2KiLGN/9SOIVyHygcw79
 YHT0E6MqyLMbEYt7eL3ODbKadY/DDvysnB7o2/vhQdPz2CKZsQizuRYjzrY3GeLzM2Z6bReq
 Dsg/av6wDQAkj+Oa+Adwc4tqX41pL2vaOjRSRDKw8s6QGIgz/twLnmEyKA1hNbdz9U278t/U
 XMjgS8v8yYwrCG4y6Z81WWw4VdmdPnxNcGLMuQivINIjGprgqzfoxuV5CLoThwiuCy71QBls
 XKvn4bTopOwkKUWlvwjQrm2gHm3jprw3j+yWWAiX+mmsD9TCJSMbsKuatpNj/ir2YwttB116
 xGm0iDsYBMMB/GlCPho/DVShBDjCOP0DgfuN9Wq0YafZoVabdXo4Ba1lhSCo08ECXz751iOP
 VyDfvb+O1dfTqhHjPkV1FUsZiRt0kIb1C7qhBogL3S79EWpgE486Ig/r1bop9an6hNEqWtjo
 //Q9dVfLIndL5cUUsyPpZYfSMbYla9Ny4kC1jiVWgPIpt3c04lm6SHlYnd29vaD6Dg7KFC1a
 gpA2ko+VLbRSrVeISzNdtwg0vwfFk=
X-IronPort-AV: E=Sophos;i="5.84,310,1620705600"; 
   d="scan'208";a="51855747"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MsyXQBRQ2G7yqHYA3TTac77yx+joNYeeAoB47T1KFb67XkwYpYE7OguTu2zLv2+40/J3RjuDUrn9OnUnpY8pQqmQiqj2LCr+LJCsyVh32oGkB2nSb07q+1zC8aMa8wH+1uIDylMJjgdhM9PURDRat5NXRYnCFqdvg2lfQf39k4O86b0IzKs+G3TadVyoC/klDAsru+g4u/vb52dvc6VX+tKLhaAWZHg33aom2RhihvgwSmnetH9G93GSiwmymDhaN4GngPti0jQzXOnm6pczPifcq+WePV2HV/lHmdm/luD8VSNDb+Wz3OQOIRROhVoCpV8MamdxQkjvI3KScgsvbA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YNxCxirxpUBrUqMu7sLOOFJ99bvj23/TcHgmFgvqAZk=;
 b=Qpxp40nPq5x08MjfkoEQHkBERIxU80gXY22VnDpVVjYVtdICmcl9Vl6xROJl3jeZ1bZAxy8X6rh7eY+NJ4cw8uFlmiLnDu4M9lanS0ZHTPp4gAG9ozUKjnogQH7B37NHBW8jfOoIiomMhW16VAsO3/P9T9g86WS8IcNZdUhbgLl+iFk38vOZJQOy00fRCCx7tURruJBAensi2WLSEuDiZp4Tp0DGFQzmIA49etQGM7oCEDvbrKOKPcwE8Qg1h6CP/SMzfB4YM5Y/imKOmhEIRG27EAtjzPqK03ra5gxvPLLQvh6vERAD5G9MFeRcg+GAgt57uxbUz5P7wnmE9PLX4g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YNxCxirxpUBrUqMu7sLOOFJ99bvj23/TcHgmFgvqAZk=;
 b=gO8ptPvCp/+5NwjuhBVbw2QwUSL71QlE7/wXPWfqeI6WXpj0QgRXj5Pzzw2lRzxI0pXhvi5BEkSxamqteato92SX00Z1qKY6RV3a/qjE/JnGt/exxdOp7Vxqzt10yUtNcL+L9G37d3P5Zv566I15kPYBDA570+CQnPgFGyTrOqQ=
Subject: Re: [PATCH 1/2] xen/kexec: Remove use of TRUE/FALSE
To: Kevin Stefanov <kevin.stefanov@citrix.com>, Xen-devel
	<xen-devel@lists.xenproject.org>
References: <20210810174737.56297-1-kevin.stefanov@citrix.com>
 <20210810174737.56297-2-kevin.stefanov@citrix.com>
CC: Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Message-ID: <04c8b4e2-fc2a-f425-2570-5a92e3126cc2@citrix.com>
Date: Tue, 10 Aug 2021 20:49:48 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210810174737.56297-2-kevin.stefanov@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Content-Language: en-GB
X-ClientProxiedBy: LO4P123CA0155.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:188::16) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 78d81647-f1a5-4438-19f5-08d95c38070a
X-MS-TrafficTypeDiagnostic: BYAPR03MB3862:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <BYAPR03MB3862C186E79A4E9B6723477EBAF79@BYAPR03MB3862.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:1388;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 5ff2oLZcR00VrzxoOitOYZhU4nYfmYqhPVuv6vgIg/eUmJkbTepeEboN6+8r6yIkefeZIm1F48Vj5fiX2DbwSFdlQ5f5KoE9YXveR9KO3mW/GnZWeiWOAHDUlJ+dEw1LMfZ+hMnrEiWvTU6xwYcsuFqAK64DLKJ00dJQUpiDWhk7943JDggVMrajHxBKcNcupYACNRYa8qCaPRfGMYTz1hSZ1edQAUu1APAX/DSx40B89Jupx71X/pC6OQiMgtimEK/guNb5uhqUZWvPXGCQlO6aDioFEqBXH5rVK6lYYacStiB19R5mBZcJ9ndsJRHf6qeHFip1NOXupUlUrdm5L8CrxyZk9ajuUECuvLv0mjrrbwPnucAhgAvF/ibkrmKPDPQnZUJvqauGqhZ6UeQ4CPV2LP6OBSxoI35m4oxgXvmFau2otrnRqgyYQwLLrcGVcMHm+gh9KU/9+4GBb97W4X7Onungn5pq58Hw4Z5eB1nijIuU+dpY4SKHENmhp2X+JiAEvSEHqhKvc72el6wGxzjR33TZc7+8GIwn/U/LLsRsl9t6HxSpSJsrLduO8I2cjSEYuyn/U45PeOFdlhX7BIXPyoqanbNQ8RuM3Eg4dGQWdqaUsw1tjXaKPGLW0CTMU0p9zj7e9XJj3uUPj7i/R+UwLVA1H4LtKuwn19o9TyIMv0+mFOaW/H2UskuKHUosaUC6LoVdrGN7yhJUkSxkIw/82zKHHWvAivICHkpzcu4=
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:(4636009)(39860400002)(376002)(366004)(346002)(396003)(136003)(2906002)(6666004)(110136005)(4744005)(54906003)(31686004)(8936002)(6486002)(66556008)(66946007)(86362001)(31696002)(66476007)(53546011)(38100700002)(316002)(36756003)(8676002)(16576012)(478600001)(4326008)(956004)(5660300002)(186003)(2616005)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NnhkVkl3dVhLWnVvdmFCbjNnY0FEY2xJMm5NaGp4OEpEY0JpMUxDcFFla1lo?=
 =?utf-8?B?WlpQRFJSb0dlaVJFdit6UEo2WmpabDh4bVF5a0JqNzgvVytrZXNDSHpMdS9C?=
 =?utf-8?B?VkoyYnFFYzlYOThHREIyVi9YL2dEN2FPcmIxalB4RTBXcXpyc3BjQzBJL012?=
 =?utf-8?B?LzBmL0p5L0lTL0l4TDFhaENZVXFZYk9WaFFDSG1kbDdiNHdzT1RhWU9tM3FB?=
 =?utf-8?B?UXJDU1JsVlBOSXRSSTNGN0FvM1lyM3RpWW1XV2JLSER6dWNZT0VJSUVNOHFC?=
 =?utf-8?B?QWkzSDlZWkNxbG1xZnF6ZjkzOThnYUlIa29tcEJJdjlFSEVHRUZxbnp3Sks0?=
 =?utf-8?B?TTlWYUxiQUsvVGFDRGphS2QrVXJlejE0SEJYc0duWThhK3owdi9wS25keWJL?=
 =?utf-8?B?K2pnSGRrMFJjWjl0cGE0Z25hQnBHQ0ZNSWt3b0pNL0JXTmErV1dveXZpbWZk?=
 =?utf-8?B?b0pFbzZ3Uk50SkQ2VWFrbS9iOUxuNFY5ZWtodVpOd1EyUHkwU1pVcFlkWHBl?=
 =?utf-8?B?L3lJOHgwYzNJSW8rRkhQNDl4RnVIL2s0OWRLVjNtaWhZeC8rWHltbHJUSjdl?=
 =?utf-8?B?d2FEN3VCcHFpMWZJcjNaTi80bVdsRjF4czcvS09uSHRTR2Y1R2J1dVBOODJ5?=
 =?utf-8?B?c2lVQk4xVFlpWU5NajYwam5wR0VLaytDV2pKSEtqSTBBVzhDRW8vaWpycUY0?=
 =?utf-8?B?WkdLWVZWWis0L1Myb3R6bWpaWDhBTitkMVpwbUZzZm5jSDFablRja2NDWGxD?=
 =?utf-8?B?ZG5qK0tmSWk2TlBmWEZhQW1taVFvU0tKZ29wRTZTR0tKMVpMSU92SVFLUURt?=
 =?utf-8?B?cmdJYlRjTGQ1ck5hQVpLeHN1UXBJN01PWWdMUllpeDdOb243c0M2WC96MFBr?=
 =?utf-8?B?WnozRHY3YnF0TnhPVWRRZ1JvV3FiOFlKekQvUFF0RlJyMHh0bmFNK21sRVhD?=
 =?utf-8?B?MXdnaGQyemQrMkZXRGZxOVNpQi9LdDJ6a0VINUJLSkpJUWhaVExTeHNTWnM5?=
 =?utf-8?B?Rnp3NVZ5MmpmSiswWEI1TVlhazBvQlo2OTVlQ3BDaUY0WUN3QUlLMjQ1KzB6?=
 =?utf-8?B?VUQ1VVpMQ1UzaFdYcU1mNXJEK0Y3MS8wSm1jRVN5cXhrWnVWRXk3aFFZT3M1?=
 =?utf-8?B?RnFCOHVzMUdGSWxWRVdSS3RsM0ZvQkJTR2ZDR1JSVzVub29FVENVZ1NSZEQ2?=
 =?utf-8?B?MFNJZ042T2c1U3hleTF1VzRtS3FFeVpidGdSYlRuTU9tZ0syU0ljZXNSd1Aw?=
 =?utf-8?B?di9SMldFWk1XSStPWCs1a3VKdklnTVBXeFcyRUJ4ekM0ZGxRdXZWRXloOXZy?=
 =?utf-8?B?KzZuTzIyQkZuZzVsRWN5M1Fsc0EwQlBJVHh2NjlWQ1JDVmtCWDE0NjUxUzla?=
 =?utf-8?B?by9qRlVpSkpwRHc2Ynh3dGEzRjJQWmtGWWQ0dkxaUUFyeDlHZ0xoU215ZTBm?=
 =?utf-8?B?UUdJTlc0K2lSOWVVK24xbkxWNlJlV3IwOWx3TE5DdFY3c0JGdlJDVDVVSXA4?=
 =?utf-8?B?eW1mTmpTOTIxUFRXeWRQcTR2aUxBZHV6RTdFNkYxL0xVNTRzQ3kwcnN5RGw4?=
 =?utf-8?B?R0xZcjcrYjNOVEs5cDZzL3gxRFBDR2tXN1R6dUxObE85Uk82YkxVMHNmOTRj?=
 =?utf-8?B?aVVvYjRWUmlLVXQzR01JREE5K2NLRUdJNzhPcm4rNGpjVnNwdnBXbnJ1eW9K?=
 =?utf-8?B?RkpJZGpGS2dFR0lVdzBnQjVIV0ZTTnkyOEVidlVxM0NqMDNnWmcxdFJxa2ND?=
 =?utf-8?Q?l0S6wlWXnSCUsJwLl5V8UQeJwE/XZvliVtm5TUB?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 78d81647-f1a5-4438-19f5-08d95c38070a
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2021 19:49:55.7311
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: YTSsO/tlxp//31fXeuP3LmrjtBDWszW+/e3erf/1TYu6iMku+3NbPeKuPN9pN0twiK7XVWISN3vPpH0fXn864Qt0mdYvSfAQ5Vc7+F18/BI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB3862
X-OriginatorOrg: citrix.com

On 10/08/2021 18:47, Kevin Stefanov wrote:
> Whilst fixing this, also changed bool_t to bool.
>
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Kevin Stefanov <kevin.stefanov@citrix.com>
> ---
> CC: Andrew Cooper <andrew.cooper3@citrix.com>

In terms of kexec maintainership, Acked-by: Andrew Cooper
<andrew.cooper3@citrix.com>, but it really ought to have some other
ack/review.


From xen-devel-bounces@lists.xenproject.org Tue Aug 10 21:00:07 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Aug 2021 21:00:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165476.302385 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDYqm-0004Hz-Go; Tue, 10 Aug 2021 20:59:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165476.302385; Tue, 10 Aug 2021 20:59:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDYqm-0004Hs-DE; Tue, 10 Aug 2021 20:59:52 +0000
Received: by outflank-mailman (input) for mailman id 165476;
 Tue, 10 Aug 2021 20:59: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 1mDYql-0004Hi-4V; Tue, 10 Aug 2021 20:59: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 1mDYqk-0006HW-Tz; Tue, 10 Aug 2021 20:59: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 1mDYqk-0006Qp-Ib; Tue, 10 Aug 2021 20:59:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mDYqk-0002x1-I4; Tue, 10 Aug 2021 20:59: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=/Zohtw+bIyP0GNx1Wx/EFn6VD7DzU0AHfJfubalc+wc=; b=ZK/1B+DlS5MfE0BwjXKb21NlPy
	LkBNk4qgvblaXmgkNGt7x+21nRN6hMowJUxr0CQeYchbVOdJlM4pDSujH203zQ7RLZamzJGEKGaU2
	SOqaTg6ryrJHsbxPrDig8wh/1cmCpHyCogq/a59LuL7pyNT7YQaCxL8gJd3/62L1ZcOU=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164149-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 164149: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:allowable
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=25da9455f1bb8a6d33039575a7b28bdfc4e3fcfe
X-Osstest-Versions-That:
    xen=2b45ff60301a988badec526846e77b538383ae63
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 10 Aug 2021 20:59:50 +0000

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

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds    18 guest-start/debian.repeat fail REGR. vs. 164145

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

version targeted for testing:
 xen                  25da9455f1bb8a6d33039575a7b28bdfc4e3fcfe
baseline version:
 xen                  2b45ff60301a988badec526846e77b538383ae63

Last test of basis   164145  2021-08-10 01:51:38 Z    0 days
Testing same since   164149  2021-08-10 12:39:04 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Dario Faggioli <dfaggioli@suse.com>
  Jan Beulich <jbeulich@suse.com>
  Jane Malalane <jane.malalane@citrix.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   2b45ff6030..25da9455f1  25da9455f1bb8a6d33039575a7b28bdfc4e3fcfe -> master


From xen-devel-bounces@lists.xenproject.org Tue Aug 10 21:59:24 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Aug 2021 21:59:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165487.302415 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDZmG-0001mi-3m; Tue, 10 Aug 2021 21:59:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165487.302415; Tue, 10 Aug 2021 21:59:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDZmF-0001mb-Vx; Tue, 10 Aug 2021 21:59:15 +0000
Received: by outflank-mailman (input) for mailman id 165487;
 Tue, 10 Aug 2021 21:59:15 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mDZmF-0001mR-5v; Tue, 10 Aug 2021 21:59:15 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mDZmE-0007IS-VZ; Tue, 10 Aug 2021 21:59:15 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mDZmE-0007uc-Jr; Tue, 10 Aug 2021 21:59:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mDZmE-00039g-JK; Tue, 10 Aug 2021 21:59:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=L+qtJ9BG9r1XZZ0EKCGN6J/SdLZoNZuT1WrcAFQ0Qqc=; b=s++3dxrX2MFrSUWPyI4VNWHv6/
	tdY78GqJ9y164dWbgUnvqJWIyVlvviKHJx+bUUvqauLiYSmHZ0/nY4E7G+/retw47yhsREQveMHXZ
	bUx31EJ4gh7nV0cBse2o22Wt0TtUxx1VIf951gIL3BOjxHor+BQrs3eMm0CbYj57OQm8=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164150-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164150: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-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-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=9a73fa375d58fee5262dd16473c8e7522bdf44de
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 10 Aug 2021 21:59:14 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop              fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 20 guest-stop               fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          14 guest-start    fail in 164146 REGR. vs. 152332

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-i386-pvgrub 19 guest-localmigrate/x10 fail in 164146 pass in 164150
 test-arm64-arm64-xl          13 debian-fixup               fail pass in 164146

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

version targeted for testing:
 linux                9a73fa375d58fee5262dd16473c8e7522bdf44de
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  375 days
Failing since        152366  2020-08-01 20:49:34 Z  374 days  657 attempts
Testing same since   164146  2021-08-10 02:23:54 Z    0 days    2 attempts

------------------------------------------------------------
6781 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Tue Aug 10 22:36:31 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Aug 2021 22:36:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165494.302428 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDaM5-0005he-Jk; Tue, 10 Aug 2021 22:36:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165494.302428; Tue, 10 Aug 2021 22:36: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 1mDaM5-0005hX-Gt; Tue, 10 Aug 2021 22:36:17 +0000
Received: by outflank-mailman (input) for mailman id 165494;
 Tue, 10 Aug 2021 22:36: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 1mDaM4-0005hN-UJ; Tue, 10 Aug 2021 22:36: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 1mDaM4-0007vo-OX; Tue, 10 Aug 2021 22:36: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 1mDaM4-0001JM-F2; Tue, 10 Aug 2021 22:36:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mDaM4-0004W9-EX; Tue, 10 Aug 2021 22:36: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=51J1VZaEzl0qGu93Z/SIO+bndYMolddrvY6fDxbxuVo=; b=qGow64/jlJ+ufKBTD7nDKQ0x4V
	zr3c5i1Js+eWgNYMZ5A+d8QycF6KysUiOhNy0ENPJhsbBow/EAzo106Xap/L9d1/Cr/5qcc8Cs4hc
	NE4aNozef2BMEIt2c+sJoWAsiqzk2cJ/C7jXL1d8P+OMRwxD+dX3kCCxJbQ1e9DGmqBI=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164151-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 164151: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=a7ddc7847cb4afa3534da82222f296aafadb959d
X-Osstest-Versions-That:
    ovmf=d02dbb53cd78de799e6afaa237e98771fb5148db
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 10 Aug 2021 22:36:16 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 a7ddc7847cb4afa3534da82222f296aafadb959d
baseline version:
 ovmf                 d02dbb53cd78de799e6afaa237e98771fb5148db

Last test of basis   164142  2021-08-09 11:42:25 Z    1 days
Testing same since   164151  2021-08-10 17:11:15 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abner Chang <abner.chang@hpe.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
   d02dbb53cd..a7ddc7847c  a7ddc7847cb4afa3534da82222f296aafadb959d -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Aug 11 03:56:29 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 03:56:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165503.302443 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDfLf-00076D-4j; Wed, 11 Aug 2021 03:56:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165503.302443; Wed, 11 Aug 2021 03: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 1mDfLe-00075l-UL; Wed, 11 Aug 2021 03:56:10 +0000
Received: by outflank-mailman (input) for mailman id 165503;
 Wed, 11 Aug 2021 03:56: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 1mDfLc-00075b-Ra; Wed, 11 Aug 2021 03:56: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 1mDfLc-0003iL-9i; Wed, 11 Aug 2021 03:56: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 1mDfLb-0008Bc-QB; Wed, 11 Aug 2021 03:56:07 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mDfLb-0005eI-PR; Wed, 11 Aug 2021 03:56:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=5KSxhhkv5a0NifDL2wvL/u310GPj71dfZDYzzkbhL0I=; b=YMIApO3HpEjMYwgLYkmCYQciRr
	XGvfPOfbfKzt0q4b4jaV68ccXcty2ZkAYJVoM0qBBh5aM/hRu6253+iRA4pnRtW1kkILPfX92QkOR
	XlI59953r2TGJPioXYn93UYL/RUNa0ikGZVcZgc4NhFcvaC8gR1cdD9oyg60jY+GYl7Q=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164152-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 164152: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:allowable
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check: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-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=703e8cd6189cf699c8d5c094bc68b5f3afa6ad71
X-Osstest-Versions-That:
    qemuu=dee64246ded3aa7dbada68b96ce1c64e5bea327d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 11 Aug 2021 03:56:07 +0000

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

Failures :-/ but no regressions.

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

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

version targeted for testing:
 qemuu                703e8cd6189cf699c8d5c094bc68b5f3afa6ad71
baseline version:
 qemuu                dee64246ded3aa7dbada68b96ce1c64e5bea327d

Last test of basis   164134  2021-08-08 12:38:06 Z    2 days
Testing same since   164152  2021-08-10 21:08:02 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alyssa Ross <hi@alyssa.is>
  Daniel P. Berrangé <berrange@redhat.com>
  Dr. David Alan Gilbert <dgilbert@redhat.com>
  Eric Blake <eblake@redhat.com>
  Fabrice Fontaine <fontaine.fabrice@gmail.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Hanna Reitz <hreitz@redhat.com>
  Klaus Jensen <k.jensen@samsung.com>
  Michael Roth <michael.roth@amd.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Peter Maydell <peter.maydell@linaro.org>
  Volker Rümelin <vr_qemu@t-online.de>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   dee64246de..703e8cd618  703e8cd6189cf699c8d5c094bc68b5f3afa6ad71 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Wed Aug 11 06:09:15 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 06:09:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165511.302456 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDhQC-0002RI-Lj; Wed, 11 Aug 2021 06:09:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165511.302456; Wed, 11 Aug 2021 06:09:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDhQC-0002RB-Ii; Wed, 11 Aug 2021 06:09:00 +0000
Received: by outflank-mailman (input) for mailman id 165511;
 Wed, 11 Aug 2021 06:08:58 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fjOV=NC=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mDhQA-0002R5-D1
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 06:08:58 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 9c5a1d58-fa6a-11eb-a03c-12813bfff9fa;
 Wed, 11 Aug 2021 06:08:57 +0000 (UTC)
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur02lp2058.outbound.protection.outlook.com [104.47.6.58]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-12-z1Cs7I2yNQCJEqswKXyxoA-1; Wed, 11 Aug 2021 08:08:54 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VE1PR04MB6477.eurprd04.prod.outlook.com (2603:10a6:803:11e::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.16; Wed, 11 Aug
 2021 06:08:53 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4394.023; Wed, 11 Aug 2021
 06:08:53 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM3PR04CA0150.eurprd04.prod.outlook.com (2603:10a6:207::34) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.15 via Frontend Transport; Wed, 11 Aug 2021 06:08:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9c5a1d58-fa6a-11eb-a03c-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628662136;
	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=qfSTDbDBpgjpIjsDKd2Q5YvULOfbX/n8xvDJH/w+7d0=;
	b=kfgF3DduZB2InGfYZWwb2s21u9GkAkt/tS47kokf058/6EKhybipbVRld3u1h07NoRKBzZ
	YtPT1fqpJaN4/gmnnk5PottdO2cJy2QK6YuIGObRHqCArf7vOnoVYJjQTvW4TfyWhVwebo
	pb1Lb276j0JmV9xPDkqUbpkyXiYw/EM=
X-MC-Unique: z1Cs7I2yNQCJEqswKXyxoA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ks8Gs/XnpsikHTAuKZYoiipKpJ/FV0m4DXuseP4SeiaRa/v4CxfNzFZstsmOhlEV4ISD2YAHN24mdL48OVUJvdacJefVf3DbTwMACkf/4+UBhpoFu/iP+QTJbPZR6BRHwy7+XpfzdnO9netLvaNo5oStIGhJA29qmQQtIXYJxnRRKc4rDwfDeWJ7w+YmFq4TEUb/tTD2GuIw1jGiG65xvB1mDAdzGM75uZObh0VdOoKBOntd2AgzVl3PKIh/UkTAIFsoLW5weGS6XgRLXqwM6gC1R91eIdhKMvnJ5c8fy4Z2U0+A5YSJ/9Ad7cswedFV1Vc1PQiRjtC/3T080x0vbA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qfSTDbDBpgjpIjsDKd2Q5YvULOfbX/n8xvDJH/w+7d0=;
 b=eASHQJlELnWpd9P1V6m3iy0PBTUVpLX3G+e/9MDPp4KuZGdu4wVNjJPm3yLYKRJB2xUs3laG+rbONt/HHtl//R9UJlhtlRmJGIFyYlSC9DuZDQzRb36bu9K2orujnb7VRqV2aqsEf9V2Y5gmtotD3Z8TGlhEogrwFcUahbT3IL3RNk+dIJAsPHIl4Q0U9UY0kdxVnpaRlaTUO3PXogOpLMHCZqrVnL3oo416bw8qA2EEBqGHpfj0c1lUFThxFcFn9vphJG4ZOLoJPrnzeihLl0hLEqC9t1zznoL0PD7KG7FBD0PWfiiXBmD+dttY1dXHo0FHeDzey4jogd+Fts7j7Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH 1/2] xen/kexec: Remove use of TRUE/FALSE
To: Kevin Stefanov <kevin.stefanov@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>
References: <20210810174737.56297-1-kevin.stefanov@citrix.com>
 <20210810174737.56297-2-kevin.stefanov@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <7117c3db-76d1-5550-c34f-c16e95c0e73f@suse.com>
Date: Wed, 11 Aug 2021 08:08:51 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <20210810174737.56297-2-kevin.stefanov@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM3PR04CA0150.eurprd04.prod.outlook.com (2603:10a6:207::34)
 To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5cfc7843-9bf8-47cc-1869-08d95c8e7ed8
X-MS-TrafficTypeDiagnostic: VE1PR04MB6477:
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB6477C6AC0611E0E5D9AFB015B3F89@VE1PR04MB6477.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	v3a75LxBVsXGbUltxaXv8O6psGdp26hzFJayuklp5MGJUu3PhNVsPvh9PDkUHh3LyNt5Cz6aoxbnMQfQSsIraEI1g2iNwXoViYG0ckJuwF7WpVNdx5/1rgSTdT+ywZ7HgPbBKOCLcqQHY5sNqfJZvhxq1+mIK9WKRrAXtQGKNHKp/STLcF1mLFJpPO8AyVtLhLrUBk8OfSjSGfverVeXiL8giIWukW/q5hmVmNd8d2lUuWzQpttRhCTwerNqzSd8CtZt+HyuRg/Q/fb5xpJlhdpQYt6yGxVLIHaslouScT67adz+YfHRihW40Xb2nYOkzqQjhY3CvK8spwuyADWwo0yw3W0Fb5SIGSPH/H7LO3gnnbC4nR4bh0ypwIdYcy7+19SfkWVS46tk9xrqIEOYxjS62MdLKTh3mNKYoP/HgfUBlB8TwxodR+MnaWlnOmsrFGK8hZZ8nLfMmB1scw1SV1oQRRBoRYcAzlFQ3aJg+h6GYH9W3FLHrYg8XkSXPHW4nszfV/Y5f8llv3dgLOxfK+l6n/ZmydIuoAcvCk0RNwUSLvFuXm18OYrOV5v1jybKx2KEJEjvHmYzHufNG+sQToGFlAHrmZXWuDIPii5M1TusrFlj6gLqMh1Xrhldfm493PWRL4SlCZTE2os+NnSKkU+IHY1ASSxMYLBFoSEzqnBmTBPUkx5pe+JGMx6Vt48vIbH6G2QQOouCdcsBSIhVDDpL35KPJz/r0zwRByFUABs=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(396003)(136003)(366004)(376002)(39850400004)(53546011)(38100700002)(66946007)(478600001)(66476007)(4744005)(66556008)(4326008)(86362001)(186003)(31696002)(26005)(2906002)(8936002)(5660300002)(956004)(2616005)(16576012)(316002)(31686004)(36756003)(110136005)(6486002)(83380400001)(8676002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QzNrcE1DQ0hkK09wcXNRZEowVkFCam9Hc2JSajRFQ2VGS1VtQldNT3BTVFAy?=
 =?utf-8?B?dm5HU2pqcGNWMXhlbzlnRVpKRnNUN2h3RE9WbDF3QVcxeldNRzNGaVBTbUZC?=
 =?utf-8?B?a2cxTlVvV3JSVWtYNDBibkN2Zkl1RWhJekZRRE8wNmM2cDBUc3ZVVzBmVnFW?=
 =?utf-8?B?d3gzNmh5Um9hWmk2eGUrZEJudEJ0UmRzLzNXRUZmQU04ZFpQZ3ZrTFprL2dv?=
 =?utf-8?B?Qk5udjlLaHpPYjM1R0VITEZxWjNsd2NCVHRORzhhVnRKUTBVTnFjempaWngy?=
 =?utf-8?B?RTY2bWhzazBWZlAvOWlVR09TcXJDSDFGNzAyQjdELzlleTIrQ0JhT2lHb0pM?=
 =?utf-8?B?Y0NrUm9SMlg3dlp3UytjV1I2cm9pVlMvZDgxRVdsMVNnYUVqT1Y2eENibGFn?=
 =?utf-8?B?U1VuYUltSmpJeWNHd2lrc2JjRUxqd3FKeFlZcVRHTFpKcXB3WkR0ZEVIYUox?=
 =?utf-8?B?R3BZOExYOWJXbXhDdFcveWNSc3FKSWdXaEpVb21ISUhZSjFTeFkvK3lNalRt?=
 =?utf-8?B?WGhoWjZ5bUkyZnZBVUNxdHRsWE1iVWRaTFdJMG1BdCt1UmxzSFkyMm1yVjNq?=
 =?utf-8?B?amF6eDRFTm5rZk5lK3BMSFJpTThCd3RxYmNFUnJXSUpBSUVoWHdiWkx1YWZQ?=
 =?utf-8?B?K083Tmc5K3ZEMkpLRjZlUEtzd0hacTFMVW93SWhlcjI4ME5IVmlUNlBXMEpq?=
 =?utf-8?B?cUJZZCtZV25INlNlVmFhblkwMkJ0alFxbTVWdk91QUYwUGs0TmdQZFdJZ3Fh?=
 =?utf-8?B?SDhUL09sV3F2ZWtDZGtELzJOcXdKcmt1K1VXbnk2aE9wZnVFSmszcGM4TTZa?=
 =?utf-8?B?U044Z2oyTXp6MW5uaktkSTVCdTNtdVpzakpRTW4wWkFvNUtqazgxd09TS1pS?=
 =?utf-8?B?cHNxbktkRHA3ZG1NZktqR1hmSnF4VERaSStoeTFoUGsrZ0VtVGJTM05MZ0Fh?=
 =?utf-8?B?dWVsOE13RFJkMUJITHdJUlZmVVJHeE5UNnBYbHZvTFJ1eHMwaE4wSzJOb2s4?=
 =?utf-8?B?azVsdGRBaFlsZkxzMzAxdFdRQklyd2V5TXIrR0VKTFU5TkYyai9sem13bGdi?=
 =?utf-8?B?akdvUEF4THc0blBua2lpQzBJUFI1dGU1TWtyYmc0R1ZCRG9QRnk0ZW0ra1dm?=
 =?utf-8?B?N0E4aENkUXpHUVNHWWhVakpvUzRXSDFFMFMwa1dTUWUxNDNCM1dtQm5NMzRQ?=
 =?utf-8?B?aXZMKzV6bGpOKy9VMFlteXRXZ3ZNUU1YZGs1OEhaUDVQVGk5RmI4VENPazg3?=
 =?utf-8?B?T1hUZVM5MTFua0ZESE41dW5oQnNDS1c1ZHoxT3FBV29HdUt0Y2FINUIreUox?=
 =?utf-8?B?bHVtVjA2cENDQ09TbUtKeWU5MENEOXg0Uko0NWRRRlpyckFHTUdLRXhJS0xL?=
 =?utf-8?B?QXNhTlRzZ0NGNHZucldUM0g1dGlWWG9RVlFiZ3dTKzREUkVteENiQ3Z4VmFw?=
 =?utf-8?B?bFpQZ3Q4cnREeUZjWngwN0hQejc0VG1yNFV1M0YrR2J4b1BUQWVhdy9aNEJN?=
 =?utf-8?B?U2RkZCtYRWFobFE4MFh1TWRtSFBpWkp3c2VFRVE2WDd2SmxzOFhwc0FJYmRi?=
 =?utf-8?B?M3NuNDR4NE1oWE1yZkhKWThVY1hwRkxlUjVMVVNtZWxPOEFRMVEvQ1J1MVVH?=
 =?utf-8?B?RVFBLzVrNkcyUkpJdW9LZi9IZ1ZnTXEwd04xUmtKVU54NTlJam5lWDFsUnBr?=
 =?utf-8?B?S08xNytPY2pKUmRWVXVQYTloc3o2bmozUTlJQ2FheTY4cWx2Nlh4UlBhZysx?=
 =?utf-8?Q?phwsMVjElY8OLSQD+NrHknalQy9MDTs7+bBSFm4?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5cfc7843-9bf8-47cc-1869-08d95c8e7ed8
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 06:08:53.4667
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Pmb2yk5qyzTN+pnCgtG2JA5iBZBjyXAN0SsOk6buA9be9B/2wDIxqarS5tAdYDG9SkRk+u47SxtMfjiCnlASsg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6477

On 10.08.2021 19:47, Kevin Stefanov wrote:
> --- a/xen/common/kexec.c
> +++ b/xen/common/kexec.c
> @@ -35,7 +35,7 @@
>  #include <compat/kexec.h>
>  #endif
>  
> -bool_t kexecing = FALSE;
> +bool kexecing;

While not overly important for either of the two present readers,
I nevertheless wonder whether at this occasion the variable
couldn't also become __read_mostly. Andrew, thoughts?

> --- a/xen/include/xen/kexec.h
> +++ b/xen/include/xen/kexec.h
> @@ -17,7 +17,7 @@ typedef struct xen_kexec_reserve {
>  extern xen_kexec_reserve_t kexec_crash_area;
>  extern paddr_t kexec_crash_area_limit;
>  
> -extern bool_t kexecing;
> +extern bool kexecing;

Later in this file there's also a #define of this identifier, which
imo then wants to also change from expanding to 0 to using "false".

With at least the latter adjustment (which personally I'd be fine
carrying out while committing, just like I would be for the earlier
suggestion, so long as you agree)
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 06:16:52 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 06:16:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165517.302468 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDhXk-0003qC-Fj; Wed, 11 Aug 2021 06:16:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165517.302468; Wed, 11 Aug 2021 06:16: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 1mDhXk-0003q5-Cd; Wed, 11 Aug 2021 06:16:48 +0000
Received: by outflank-mailman (input) for mailman id 165517;
 Wed, 11 Aug 2021 06:16:47 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fjOV=NC=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mDhXj-0003px-0a
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 06:16:47 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 9f1d0e5e-b8ad-4bb0-9822-7e91c7923711;
 Wed, 11 Aug 2021 06:16:45 +0000 (UTC)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2172.outbound.protection.outlook.com [104.47.17.172])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-22-pAUCYfZDNm-c84JK49XLzg-1; Wed, 11 Aug 2021 08:16:43 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB3117.eurprd04.prod.outlook.com (2603:10a6:802:6::32) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.15; Wed, 11 Aug
 2021 06:16:42 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4394.023; Wed, 11 Aug 2021
 06:16:42 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM4PR0501CA0052.eurprd05.prod.outlook.com (2603:10a6:200:68::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.14 via Frontend
 Transport; Wed, 11 Aug 2021 06:16: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: 9f1d0e5e-b8ad-4bb0-9822-7e91c7923711
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628662604;
	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=Vtf+G9h18jZ0Ox4t/rWCng9TsUpKErcqgvQ4mj1kl48=;
	b=J9kwzkhTwKt9kRzzWQnpTIPs6/8WPpBtSty8e5SKi3Uv6HRaSLVB2n1HbXeJmzPF1Y0KwD
	mNa6GyUQ4BxnFFTcKfhmbAkp5tIOcyWSSfyjHCnTsZ9wxnwZ5FbPOBY8QoQFR1n+7bWVYl
	xnZBAQ1rRDNTavRaZkdgGdD7JrJ2sro=
X-MC-Unique: pAUCYfZDNm-c84JK49XLzg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YKRsVzAggej5OU7Kyi+6/NQKtU5CpSmjWF0Txctr06AiO+uxNRTrs/Zt9GYNbMspwnF6IZov/kL0YJNODIe0yYXznusvHpZachTpeH/vcvbRNmkh3GPi1kG51EBrHZ4quYE367HOvvEifv1N6JhpXh84v9OanujxpUNe9cZ/iWo//HGvN8SHm8pat5y35s91gEPL9bJcHewpZ2jt3GF9J7LNF3SBS15pN/3fS2Pi5ZUd6J3qMeYa9APVvYWKcc7w+6vapiZebVLJ6Bv13bghFQBJazUpcQ4v1M3MG4eL1yyKNGl9vPqFS3VgeBoorYDd4+pwM84sGBQecP8V7qtF+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-SenderADCheck;
 bh=Vtf+G9h18jZ0Ox4t/rWCng9TsUpKErcqgvQ4mj1kl48=;
 b=hgmUaV5OEAyem7hJ8ZdjHKK2vqNlXSIz414uG0u7UL1SoerhE+vvXuCroTZbhEk0iRzV/3OjFkH3oKqgt1ZSpfXHoE9OEpE2lPS07ZQ5j4ddkJuUPrIPEbLk79+Mn4YG+Aqe3GGrG4CSX6G87v3UrgML3DCKl1V+/93paXJYXZ83Rfa9ffeLe7uuAsR9oWmcy/pi44q1caGwU2cfHEpII1cNWqaSQwGxZl6VlRjDxd+7tt+0Stap5ktg2nxEiaf5EOZldcmC/0PR7CsuVCAtICd0TnTM/h0fosvlKYsla1i8VTRo4P7Qog4TNLgwVE+QtoZyzKAxZeuVxSWhV+C6RA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH 2/2] x86/ioapic: Remove use of TRUE/FALSE
To: Kevin Stefanov <kevin.stefanov@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>, Kevin Tian <kevin.tian@intel.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20210810174907.56426-1-kevin.stefanov@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <5f0bbf4f-933d-1485-674d-771688fdceea@suse.com>
Date: Wed, 11 Aug 2021 08:16:40 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <20210810174907.56426-1-kevin.stefanov@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM4PR0501CA0052.eurprd05.prod.outlook.com
 (2603:10a6:200:68::20) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 14d51794-af8a-4cbc-fa5b-08d95c8f966b
X-MS-TrafficTypeDiagnostic: VI1PR04MB3117:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB31179B3AF7F91A933DDF1B87B3F89@VI1PR04MB3117.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:6790;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TQDo6ml8fHQ13TBbBo6QYiH/R4GYa59Wj4szb0JONWFCr6XUONAIQcn7KMIZV9buHS7h9FHQhi7cBov48bFil9286ZvyjfUZDB2nOgujQb8jCjHEHIvdgTBNISc8Ykn/QoK60KugUe3lAWEljFDVz5BMKC1ihrIx5LNkEHOmYw/g6aX9IeoKOWduqBp6Ocbo3tVDdod+NGtoKcUeJF7BpAU8CDfQd/a/lircs+IgsQYWszTY4WB2UDaDzXh0SnzNxoWWDzq/f1Fwoz/FnPu8OcMO857Z8FiIyf5Sjx0BTlBRJ8sN4uwbdr0perzRxaAb/H4AQXpg3V/XJha8z8sZQeFR0EjSJ3PmDgMDhLQPRpwvOlGmiDt7LcBZX2S2hGD0m+tA92cxudOPxSXHMOB3IycMZ4z4hDMU4UKmgPsluujLcDCNdQlmSRmG34qQRyG4Ntwi1pAd1EZPmYQ+8ODXig4dcOL8EyyBEWvxV7ocVb5WQkSbAfmOV0iVz6a577Hjqg+iGlh+JBdHkm/awkClHsmWO5rwWRSejGrB6M3EEMpLD73zcer0Dgr2D2eq6F1XKIWSIRXlA10nOTOHS3uKcrwMv4eosQh8Xd08Jwvr2O1lf06P8U0Qw15qunK9R/ojDAdNkp/uTG/l07rNjK/I/Ayj3niHXch5IJ6EwZj2/sWnIpccXopeZihtrn+z/nmgMMGQL7kim/MjGV8GQRVpZvHIvwCn4pMJanYEx+HyY5I=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(2616005)(8936002)(316002)(54906003)(26005)(4326008)(36756003)(53546011)(66476007)(86362001)(66556008)(31686004)(2906002)(6916009)(16576012)(4744005)(8676002)(508600001)(38100700002)(186003)(5660300002)(956004)(31696002)(66946007)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cnFQd3BDdU1rb1o2dUw1c1ZHeDZQSnNUdHkxcnhjOXpBTTY3U04wZW5ERUt4?=
 =?utf-8?B?Myt1MlE5YTVnaS96a2lsOHdVazltclI4WS9oS21HaWtqOURwdFBPWTFLL09U?=
 =?utf-8?B?Q0dZN0RQdWlabHg5ZXE0azdGeVlhUmF0ZnlBVlVGOVh6MmN1b3hOdVBLWEVq?=
 =?utf-8?B?ZC9jaTdFbkordXRzakp4N0xiOTMyOGRibTFnZGdZQXVRVGRPdGUyY0pGQnBa?=
 =?utf-8?B?VTF6Y3hIVG5ZcnAvMHNwYTcrRDBCQ3BpUVY2SU9TTjJ5QURIUCtsWGVpVlRS?=
 =?utf-8?B?TEJsQktvQ0Z3NU1pTEJrQ216MDk1RjVycGkxU21GSVZvaUFBUTJiMUY3cFE3?=
 =?utf-8?B?TTVVbi9xVGt6UElLT3BtM3ZjVW5nV1d6NmFSNHhPYUIwakpEK3FKNTVIdzcy?=
 =?utf-8?B?dWdkVkpyaTBHOWZPcUxkSnNROFIzeTZhT01aaUVsOFVkNDVpdkxVbzZpc0wx?=
 =?utf-8?B?cEJKSkNkcjRhSXJkWUVnOXB5d2dnRURiektWa2J3OVRmQmZaYUFMckJJeWNH?=
 =?utf-8?B?ODlQa255TnZHbjJRc2x0VEhtVHR1TTRISDI3emM2U01JeE9VcTlQc2FMTjNI?=
 =?utf-8?B?LzhrUnJ1RlBSalBIL0dyY2pNaEZjdnYzWm1kVzZLSUJ5UERpaENWVDhtdG1z?=
 =?utf-8?B?eDJoVFFCdnJST2IyaFZGMXBPSUprd1hYc3VEYkFua1NQcWwwVjlWNWx4Q2p4?=
 =?utf-8?B?M2xDTDFBdGxhRW5jeVNDTkZEV01xODFCbHp4MGlzQ3d5K00wQllFK09TK3FS?=
 =?utf-8?B?L2QxWS92UEpXU2NxeDBsbVpyMEkwWUJrNk1zMk1QV2ltVHc0N29FVmoyU1hR?=
 =?utf-8?B?TFRHeURBMEIySStNOG9TdjZuT3NJUTBtcGFDbEE3a3RkalV3S2VCZlZkZzJr?=
 =?utf-8?B?QzhIeE90WElkK1NTejlsS0xqaUNVYnYwSEN3TnR0QUtiMVZCZ29ieG5ROEZa?=
 =?utf-8?B?TnI1SitZQjMrQXg1N2hMTG9sUXhZUWJQUi9WQ2pBMUlvRFFNQnh3RFVvTDNS?=
 =?utf-8?B?c0FEdlBOYjhTbFJPRXFqQTZzVlZ4STZ3OGE2VUxjUDZ3NGZURUhLVUFQQStt?=
 =?utf-8?B?ZWp0R0tBR3FoeWtnRGlnSkRDQmZCREI4WWxsYldnV0NLbkJ1VXZxeVJaelJ5?=
 =?utf-8?B?REVpTWI1c2t4a2ZDc1JsVG1mb25WU1ZIdDRma216SUVnNERjQW9qWno2Y09s?=
 =?utf-8?B?WDVidld0WUdoM01LRzQ1NGZSVXBRLy9mZGNtcVVZYVMvNVo0UW1ObTlxNFFa?=
 =?utf-8?B?ZWJHOTAzYjhwQmlvZDVlYWNIR0NEcFBsU0lpdS9sS1BDWVJrdDhncERyZFZD?=
 =?utf-8?B?a3A4T0xoNVFxTEdVNHQyWGx4VXI3V3FiTDRJZkJROGs3RzBJTk9ZYlc0UnJx?=
 =?utf-8?B?RjVpU2FMZTVTR3lreFZMelZhZXlnVytZQUVOVHY4WitGN2JXVFlaK0M0YVd2?=
 =?utf-8?B?WnFLaE5VT1ZaU2Y0blhQV2xOamVtUitQajY0VEs4WnFnbm12VGFmOW5tRjJM?=
 =?utf-8?B?alUycm1BdCsxRTE4L012VVJkY3hqcG92MXBiU3FLT0RDSnBuQ2daVDJ5VXpH?=
 =?utf-8?B?c3dpYTBhK1gwM1hUdy9TZTh2REJCTlpFNkNYaGRrbklOd25IT1d6cnV1QTk2?=
 =?utf-8?B?S25ZYmpMdEY4blorc3NhRFdjZFlKMzN0Q2ZrTkJIRWd5S0swSHZzTk5pWnc4?=
 =?utf-8?B?UGpRSnFaUXJEdEc1bVAyUkszY0x5N1BWa2hFRDdhUWhlaXZicHd5RlA4d0dH?=
 =?utf-8?Q?0zWhDmtJjAMkmQOn/suYLZpHybHt6G220Q6MCRn?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 14d51794-af8a-4cbc-fa5b-08d95c8f966b
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 06:16:42.4852
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: YioYNQqajqVYFcA0t5RkN160NNBgISNhhKy8yfaO2C/AY+TiHiKfy5S+QbRKSGRIcbgol/V2b2wu0JfZJ90rTQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3117

On 10.08.2021 19:49, Kevin Stefanov wrote:
> Also fix stray usage in VT-d.
> 
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Kevin Stefanov <kevin.stefanov@citrix.com>

May I ask that along with replacing TRUE (there's no instance of
FALSE that you replace, so you may want to adjust the title) you
also replace the uses of literal 0/1 passed to
{,__}ioapic_{read,write}_entry() while at this?

Thanks, Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 06:28:09 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 06:28:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165523.302479 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDhid-0005NK-Gu; Wed, 11 Aug 2021 06:28:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165523.302479; Wed, 11 Aug 2021 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 1mDhid-0005ND-DD; Wed, 11 Aug 2021 06:28:03 +0000
Received: by outflank-mailman (input) for mailman id 165523;
 Wed, 11 Aug 2021 06:28:02 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BCpe=NC=linaro.org=takahiro.akashi@srs-us1.protection.inumbo.net>)
 id 1mDhib-0005N5-Vj
 for xen-devel@lists.xen.org; Wed, 11 Aug 2021 06:28:02 +0000
Received: from mail-pj1-x102b.google.com (unknown [2607:f8b0:4864:20::102b])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 8683268c-3447-47da-bc5e-7b28d01f1221;
 Wed, 11 Aug 2021 06:27:59 +0000 (UTC)
Received: by mail-pj1-x102b.google.com with SMTP id nt11so1826642pjb.2
 for <xen-devel@lists.xen.org>; Tue, 10 Aug 2021 23:27:58 -0700 (PDT)
Received: from laputa (pdb6272e8.tkyea130.ap.so-net.ne.jp. [219.98.114.232])
 by smtp.gmail.com with ESMTPSA id u20sm29813467pgm.4.2021.08.10.23.27.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 10 Aug 2021 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: 8683268c-3447-47da-bc5e-7b28d01f1221
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=date:from:to:cc:subject:message-id:references:mime-version
         :content-disposition:content-transfer-encoding:in-reply-to;
        bh=HcytVs4RqtGrQW7SG37THMMteZo9BgZSlMo0dy3PRWc=;
        b=EURQ+fzZ+7i7hHqx2iQYxdWGM0GGR0yk2ao405zAMWDMoAQIfRTMH+HLfM2LYSUo5l
         x1VJ4g42ljInIyQVuxcjhCaMumGGnQ4m0E3LJo91yICgqdghgG/+0GglH5P5jt2NNnqN
         Dd5awD05DUVqXP8iTdRkzt+hK+jvLAZFLVVPJn8Tv6k/qblxc9PYwdetB6tUOIqBBOcM
         OmaOYOoDmaNQZutWc7S6G0s2YqhUKZyE0bk9eZ1Vn8uTW+vWOOIbbFWtmnQ0W2VsaUEP
         lpDkn436YgqIpQCUq+nzfmcPKC9Zv1mLlPSagAMVbyW+XKOdVZoFg6YN64KeszimC8fS
         KQ0Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:date:from:to:cc:subject:message-id:references
         :mime-version:content-disposition:content-transfer-encoding
         :in-reply-to;
        bh=HcytVs4RqtGrQW7SG37THMMteZo9BgZSlMo0dy3PRWc=;
        b=HgcAx0bnc/qnQ7sY+1wifZvHfrbx/WtpwzmDfFrWMRZNdGTvBbc0nkrWJzo+tb+YwD
         OmDZOhm72n9NpccdPQenm75YXfDQSW9zgh++NkhDVGthIaejPXT2QB7DdEB0VwO66/wX
         Wmy5V0Z+s8OUxAEJ4Xu8JBNDJnBqAOYaJkz47sSL5JCCCtwuJDjd7OIOTtHUft07EdRW
         zGkGNrIrKQ7zFy/nwWNau2vpUHh5YD1S9Ta9ZnTQDTIygnTIsZyASYsr2P5wJMBLE6Wk
         8PokfwoDvM+Wqtc5LmLGaTf8IE7PPZlJdHSUkx8WknG7CVsnKvBBlahQYWJxgp+SfZg2
         q0hQ==
X-Gm-Message-State: AOAM531xbMJ31tQMpwHppWnzc7TofK0lPM498uR2o4PscqHFmlYAeKpp
	nzKiwiBV+W3amcHyUB5hxw/S9A==
X-Google-Smtp-Source: ABdhPJx+vGXz0hsi717jzQogr/7jgtVxcCy2H2/SuRU5mBuPE/Jk52whYSdEYazqJm6erIZGhKJahA==
X-Received: by 2002:a17:90b:4b46:: with SMTP id mi6mr35271772pjb.234.1628663277754;
        Tue, 10 Aug 2021 23:27:57 -0700 (PDT)
Date: Wed, 11 Aug 2021 15:27:48 +0900
From: AKASHI Takahiro <takahiro.akashi@linaro.org>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Alex Benn??e <alex.bennee@linaro.org>,
	Stratos Mailing List <stratos-dev@op-lists.linaro.org>,
	virtio-dev@lists.oasis-open.org,
	Arnd Bergmann <arnd.bergmann@linaro.org>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	stefanha@redhat.com, Jan Kiszka <jan.kiszka@siemens.com>,
	Carl van Schaik <cvanscha@qti.qualcomm.com>, pratikp@quicinc.com,
	Srivatsa Vaddagiri <vatsa@codeaurora.org>,
	Jean-Philippe Brucker <jean-philippe@linaro.org>,
	Mathieu Poirier <mathieu.poirier@linaro.org>, Wei.Chen@arm.com,
	olekstysh@gmail.com, Oleksandr_Tyshchenko@epam.com,
	Bertrand.Marquis@arm.com, Artem_Mygaiev@epam.com, julien@xen.org,
	jgross@suse.com, paul@xen.org, xen-devel@lists.xen.org
Subject: Re: Enabling hypervisor agnosticism for VirtIO backends
Message-ID: <20210811062748.GB54169@laputa>
References: <87v94ldrqq.fsf@linaro.org>
 <alpine.DEB.2.21.2108041055390.9768@sstabellini-ThinkPad-T480s>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <alpine.DEB.2.21.2108041055390.9768@sstabellini-ThinkPad-T480s>

On Wed, Aug 04, 2021 at 12:20:01PM -0700, Stefano Stabellini wrote:
> CCing people working on Xen+VirtIO and IOREQs. Not trimming the original
> email to let them read the full context.
> 
> My comments below are related to a potential Xen implementation, not
> because it is the only implementation that matters, but because it is
> the one I know best.

Please note that my proposal (and hence the working prototype)[1]
is based on Xen's virtio implementation (i.e. IOREQ) and particularly
EPAM's virtio-disk application (backend server).
It has been, I believe, well generalized but is still a bit biased
toward this original design.

So I hope you like my approach :)

[1] https://op-lists.linaro.org/pipermail/stratos-dev/2021-August/000546.html

Let me take this opportunity to explain a bit more about my approach below.

> Also, please see this relevant email thread:
> https://marc.info/?l=xen-devel&m=162373754705233&w=2
> 
> 
> On Wed, 4 Aug 2021, Alex Bennée wrote:
> > Hi,
> > 
> > One of the goals of Project Stratos is to enable hypervisor agnostic
> > backends so we can enable as much re-use of code as possible and avoid
> > repeating ourselves. This is the flip side of the front end where
> > multiple front-end implementations are required - one per OS, assuming
> > you don't just want Linux guests. The resultant guests are trivially
> > movable between hypervisors modulo any abstracted paravirt type
> > interfaces.
> > 
> > In my original thumb nail sketch of a solution I envisioned vhost-user
> > daemons running in a broadly POSIX like environment. The interface to
> > the daemon is fairly simple requiring only some mapped memory and some
> > sort of signalling for events (on Linux this is eventfd). The idea was a
> > stub binary would be responsible for any hypervisor specific setup and
> > then launch a common binary to deal with the actual virtqueue requests
> > themselves.
> > 
> > Since that original sketch we've seen an expansion in the sort of ways
> > backends could be created. There is interest in encapsulating backends
> > in RTOSes or unikernels for solutions like SCMI. There interest in Rust
> > has prompted ideas of using the trait interface to abstract differences
> > away as well as the idea of bare-metal Rust backends.
> > 
> > We have a card (STR-12) called "Hypercall Standardisation" which
> > calls for a description of the APIs needed from the hypervisor side to
> > support VirtIO guests and their backends. However we are some way off
> > from that at the moment as I think we need to at least demonstrate one
> > portable backend before we start codifying requirements. To that end I
> > want to think about what we need for a backend to function.
> > 
> > Configuration
> > =============
> > 
> > In the type-2 setup this is typically fairly simple because the host
> > system can orchestrate the various modules that make up the complete
> > system. In the type-1 case (or even type-2 with delegated service VMs)
> > we need some sort of mechanism to inform the backend VM about key
> > details about the system:
> > 
> >   - where virt queue memory is in it's address space
> >   - how it's going to receive (interrupt) and trigger (kick) events
> >   - what (if any) resources the backend needs to connect to
> > 
> > Obviously you can elide over configuration issues by having static
> > configurations and baking the assumptions into your guest images however
> > this isn't scalable in the long term. The obvious solution seems to be
> > extending a subset of Device Tree data to user space but perhaps there
> > are other approaches?
> > 
> > Before any virtio transactions can take place the appropriate memory
> > mappings need to be made between the FE guest and the BE guest.
> 
> > Currently the whole of the FE guests address space needs to be visible
> > to whatever is serving the virtio requests. I can envision 3 approaches:
> > 
> >  * BE guest boots with memory already mapped
> > 
> >  This would entail the guest OS knowing where in it's Guest Physical
> >  Address space is already taken up and avoiding clashing. I would assume
> >  in this case you would want a standard interface to userspace to then
> >  make that address space visible to the backend daemon.

Yet another way here is that we would have well known "shared memory" between
VMs. I think that Jailhouse's ivshmem gives us good insights on this matter
and that it can even be an alternative for hypervisor-agnostic solution. 

(Please note memory regions in ivshmem appear as a PCI device and can be
mapped locally.)

I want to add this shared memory aspect to my virtio-proxy, but
the resultant solution would eventually look similar to ivshmem.

> >  * BE guests boots with a hypervisor handle to memory
> > 
> >  The BE guest is then free to map the FE's memory to where it wants in
> >  the BE's guest physical address space.
> 
> I cannot see how this could work for Xen. There is no "handle" to give
> to the backend if the backend is not running in dom0. So for Xen I think
> the memory has to be already mapped

In Xen's IOREQ solution (virtio-blk), the following information is expected
to be exposed to BE via Xenstore:
(I know that this is a tentative approach though.)
   - the start address of configuration space
   - interrupt number
   - file path for backing storage
   - read-only flag
And the BE server have to call a particular hypervisor interface to
map the configuration space.

In my approach (virtio-proxy), all those Xen (or hypervisor)-specific
stuffs are contained in virtio-proxy, yet another VM, to hide all details.

# My point is that a "handle" is not mandatory for executing mapping.

> and the mapping probably done by the
> toolstack (also see below.) Or we would have to invent a new Xen
> hypervisor interface and Xen virtual machine privileges to allow this
> kind of mapping.

> If we run the backend in Dom0 that we have no problems of course.

One of difficulties on Xen that I found in my approach is that calling
such hypervisor intefaces (registering IOREQ, mapping memory) is only
allowed on BE servers themselvies and so we will have to extend those
interfaces.
This, however, will raise some concern on security and privilege distribution
as Stefan suggested.
> 
> 
> > To activate the mapping will
> >  require some sort of hypercall to the hypervisor. I can see two options
> >  at this point:
> > 
> >   - expose the handle to userspace for daemon/helper to trigger the
> >     mapping via existing hypercall interfaces. If using a helper you
> >     would have a hypervisor specific one to avoid the daemon having to
> >     care too much about the details or push that complexity into a
> >     compile time option for the daemon which would result in different
> >     binaries although a common source base.
> > 
> >   - expose a new kernel ABI to abstract the hypercall differences away
> >     in the guest kernel. In this case the userspace would essentially
> >     ask for an abstract "map guest N memory to userspace ptr" and let
> >     the kernel deal with the different hypercall interfaces. This of
> >     course assumes the majority of BE guests would be Linux kernels and
> >     leaves the bare-metal/unikernel approaches to their own devices.
> > 
> > Operation
> > =========
> > 
> > The core of the operation of VirtIO is fairly simple. Once the
> > vhost-user feature negotiation is done it's a case of receiving update
> > events and parsing the resultant virt queue for data. The vhost-user
> > specification handles a bunch of setup before that point, mostly to
> > detail where the virt queues are set up FD's for memory and event
> > communication. This is where the envisioned stub process would be
> > responsible for getting the daemon up and ready to run. This is
> > currently done inside a big VMM like QEMU but I suspect a modern
> > approach would be to use the rust-vmm vhost crate. It would then either
> > communicate with the kernel's abstracted ABI or be re-targeted as a
> > build option for the various hypervisors.
> 
> One thing I mentioned before to Alex is that Xen doesn't have VMMs the
> way they are typically envisioned and described in other environments.
> Instead, Xen has IOREQ servers. Each of them connects independently to
> Xen via the IOREQ interface. E.g. today multiple QEMUs could be used as
> emulators for a single Xen VM, each of them connecting to Xen
> independently via the IOREQ interface.
> 
> The component responsible for starting a daemon and/or setting up shared
> interfaces is the toolstack: the xl command and the libxl/libxc
> libraries.

I think that VM configuration management (or orchestration in Startos
jargon?) is a subject to debate in parallel.
Otherwise, is there any good assumption to avoid it right now?

> Oleksandr and others I CCed have been working on ways for the toolstack
> to create virtio backends and setup memory mappings. They might be able
> to provide more info on the subject. I do think we miss a way to provide
> the configuration to the backend and anything else that the backend
> might require to start doing its job.
> 
> 
> > One question is how to best handle notification and kicks. The existing
> > vhost-user framework uses eventfd to signal the daemon (although QEMU
> > is quite capable of simulating them when you use TCG). Xen has it's own
> > IOREQ mechanism. However latency is an important factor and having
> > events go through the stub would add quite a lot.
> 
> Yeah I think, regardless of anything else, we want the backends to
> connect directly to the Xen hypervisor.

In my approach,
 a) BE -> FE: interrupts triggered by BE calling a hypervisor interface
              via virtio-proxy
 b) FE -> BE: MMIO to config raises events (in event channels), which is
              converted to a callback to BE via virtio-proxy
              (Xen's event channel is internnally implemented by interrupts.)

I don't know what "connect directly" means here, but sending interrupts
to the opposite side would be best efficient.
Ivshmem, I suppose, takes this approach by utilizing PCI's msi-x mechanism.

> 
> > Could we consider the kernel internally converting IOREQ messages from
> > the Xen hypervisor to eventfd events? Would this scale with other kernel
> > hypercall interfaces?
> > 
> > So any thoughts on what directions are worth experimenting with?
>  
> One option we should consider is for each backend to connect to Xen via
> the IOREQ interface. We could generalize the IOREQ interface and make it
> hypervisor agnostic. The interface is really trivial and easy to add.

As I said above, my proposal does the same thing that you mentioned here :)
The difference is that I do call hypervisor interfaces via virtio-proxy.

> The only Xen-specific part is the notification mechanism, which is an
> event channel. If we replaced the event channel with something else the
> interface would be generic. See:
> https://gitlab.com/xen-project/xen/-/blob/staging/xen/include/public/hvm/ioreq.h#L52
> 
> I don't think that translating IOREQs to eventfd in the kernel is a
> good idea: if feels like it would be extra complexity and that the
> kernel shouldn't be involved as this is a backend-hypervisor interface.

Given that we may want to implement BE as a bare-metal application
as I did on Zephyr, I don't think that the translation would not be
a big issue, especially on RTOS's.
It will be some kind of abstraction layer of interrupt handling
(or nothing but a callback mechanism).

> Also, eventfd is very Linux-centric and we are trying to design an
> interface that could work well for RTOSes too. If we want to do
> something different, both OS-agnostic and hypervisor-agnostic, perhaps
> we could design a new interface. One that could be implementable in the
> Xen hypervisor itself (like IOREQ) and of course any other hypervisor
> too.
> 
> 
> There is also another problem. IOREQ is probably not be the only
> interface needed. Have a look at
> https://marc.info/?l=xen-devel&m=162373754705233&w=2. Don't we also need
> an interface for the backend to inject interrupts into the frontend? And
> if the backend requires dynamic memory mappings of frontend pages, then
> we would also need an interface to map/unmap domU pages.

My proposal document might help here; All the interfaces required for
virtio-proxy (or hypervisor-related interfaces) are listed as
RPC protocols :)

> These interfaces are a lot more problematic than IOREQ: IOREQ is tiny
> and self-contained. It is easy to add anywhere. A new interface to
> inject interrupts or map pages is more difficult to manage because it
> would require changes scattered across the various emulators.

Exactly. I have no confident yet that my approach will also apply
to other hypervisors than Xen.
Technically, yes, but whether people can accept it or not is a different
matter.

Thanks,
-Takahiro Akashi



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 06:44:51 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 06:44:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165530.302490 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDhyn-0007mh-12; Wed, 11 Aug 2021 06:44:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165530.302490; Wed, 11 Aug 2021 06: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 1mDhym-0007ma-U8; Wed, 11 Aug 2021 06:44:44 +0000
Received: by outflank-mailman (input) for mailman id 165530;
 Wed, 11 Aug 2021 06: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 1mDhyl-0007mQ-6c; Wed, 11 Aug 2021 06: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 1mDhyk-0007Ar-UX; Wed, 11 Aug 2021 06: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 1mDhyk-0007I7-LF; Wed, 11 Aug 2021 06:44:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mDhyk-0008Fl-Km; Wed, 11 Aug 2021 06: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=vAaNlnNkLCGH3avACP/E2i1scXT4h62nozCeFNgxOWk=; b=P/W4rF7CjyMnphdXPcbwC3QN8b
	pbPOpQFf/TjrtvHkpM02j0PzLfzkvVlYLm7NJneJ/gvPgPvER6T9R/Ejsqr+XfQ5oisMQwRjmCdGP
	YVMeV2TNxDKQklT3Swba+4N7y3Cizv/qJy71KgNXltDREal1RNQqt4V45NnntJU6knYQ=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164153-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164153: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-migrate/dst_host/src_host/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-examine:memdisk-try-append:fail:regression
    linux-linus:test-armhf-armhf-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=9e723c5380c6e14fb91a8b6950563d040674afdb
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 11 Aug 2021 06:44:42 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop              fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 20 guest-stop               fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-libvirt-pair 28 guest-migrate/dst_host/src_host/debian.repeat fail REGR. vs. 152332
 test-amd64-amd64-examine      4 memdisk-try-append       fail REGR. vs. 152332
 test-armhf-armhf-libvirt     14 guest-start              fail REGR. vs. 152332

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

version targeted for testing:
 linux                9e723c5380c6e14fb91a8b6950563d040674afdb
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  375 days
Failing since        152366  2020-08-01 20:49:34 Z  374 days  658 attempts
Testing same since   164153  2021-08-10 22:12:01 Z    0 days    1 attempts

------------------------------------------------------------
6781 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Wed Aug 11 08:07:47 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 08:07:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165544.302504 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDjGv-0007Pj-Jw; Wed, 11 Aug 2021 08:07:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165544.302504; Wed, 11 Aug 2021 08:07:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDjGv-0007Pc-GB; Wed, 11 Aug 2021 08:07:33 +0000
Received: by outflank-mailman (input) for mailman id 165544;
 Wed, 11 Aug 2021 08:07:32 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lxcx=NC=pengutronix.de=ukl@srs-us1.protection.inumbo.net>)
 id 1mDjGu-0007PW-LC
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 08:07:32 +0000
Received: from metis.ext.pengutronix.de (unknown
 [2001:67c:670:201:290:27ff:fe1d:cc33])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 271a0b5b-3937-4b93-9b4b-357c1d9bd684;
 Wed, 11 Aug 2021 08:07:28 +0000 (UTC)
Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2])
 by metis.ext.pengutronix.de with esmtps
 (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92)
 (envelope-from <ukl@pengutronix.de>)
 id 1mDjG9-00011O-T0; Wed, 11 Aug 2021 10:06:45 +0200
Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de)
 by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.92)
 (envelope-from <ukl@pengutronix.de>)
 id 1mDjG7-0000Oh-6a; Wed, 11 Aug 2021 10:06:43 +0200
Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.92)
 (envelope-from <ukl@pengutronix.de>)
 id 1mDjG6-0002xm-45; Wed, 11 Aug 2021 10:06:42 +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: 271a0b5b-3937-4b93-9b4b-357c1d9bd684
From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
To: Bjorn Helgaas <helgaas@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-pci@vger.kernel.org,
	kernel@pengutronix.de,
	Russell Currey <ruscur@russell.cc>,
	"Oliver O'Halloran" <oohall@gmail.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@redhat.com>,
	Namhyung Kim <namhyung@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Borislav Petkov <bp@alien8.de>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	Frederic Barrat <fbarrat@linux.ibm.com>,
	Andrew Donnellan <ajd@linux.ibm.com>,
	Arnd Bergmann <arnd@arndb.de>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Mathias Nyman <mathias.nyman@intel.com>,
	linuxppc-dev@lists.ozlabs.org,
	linux-perf-users@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-usb@vger.kernel.org
Subject: [PATCH v3 7/8] PCI: Replace pci_dev::driver usage by pci_dev::dev.driver
Date: Wed, 11 Aug 2021 10:06:36 +0200
Message-Id: <20210811080637.2596434-8-u.kleine-koenig@pengutronix.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20210811080637.2596434-1-u.kleine-koenig@pengutronix.de>
References: <20210811080637.2596434-1-u.kleine-koenig@pengutronix.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
X-Patch-Hashes: v=1; h=sha256; i=/pZgVMb346xYWFyKXoYzQiwqLbFb4Qw5wqFIqjkKa+4=; m=0G8/SXHswYJ0aMsEyhttCGsbupOmDh11YSmXAfBLC/g=; p=a46fbLinfK8a3W9uIu7pvjs1j80Bm+t4HF7FjxOH4Fs=; g=3486e7f334e5ecea79c3e711454a7b4382954cdf
X-Patch-Sig: m=pgp; i=u.kleine-koenig@pengutronix.de; s=0x0D2511F322BFAB1C1580266BE2DCDD9132669BD6; b=iQEzBAABCgAdFiEEfnIqFpAYrP8+dKQLwfwUeK3K7AkFAmEThQAACgkQwfwUeK3K7AnG4wf9EOw uD4GJ5KczIbdSntUukLqtZJGj1lNwon7Ysf3tUI0tkecaV979Aysql4q7zxfmOj/GOlrGq9bz2pI6 k/hJGfYIBa1MWBTxShFZioKz/9N6Sj5HGiTYjI34iuG0WMAPAfwpmQ0kceFYvBUrtmOYth6LxUzZF ivd8AZj2IqjE28XL9QCQVRW11XWp78IS+3Bq0x8XsI2YzegCI5QwqChLj74/PDwZ0Tw7CeBubs+Bz 6oNohczBGGInupwANC3COXaw2rpxMw5Y8aaKx5ExRsbn74sStyankDpeQfKE7ncGd7mcNLfbNyW7j nMFp7IFoORxWbPHSnjVZ4cume8BsabQ==
Content-Transfer-Encoding: 8bit
X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2
X-SA-Exim-Mail-From: ukl@pengutronix.de
X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false
X-PTX-Original-Recipient: xen-devel@lists.xenproject.org

struct pci_dev::driver contains (apart from a constant offset) the same
data as struct pci_dev::dev->driver. Replace all remaining users of the
former pointer by the latter to allow removing the former.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
 arch/powerpc/kernel/eeh_driver.c | 10 ++++-----
 arch/x86/events/intel/uncore.c   |  2 +-
 arch/x86/kernel/probe_roms.c     |  2 +-
 drivers/misc/cxl/guest.c         | 24 ++++++++++++---------
 drivers/misc/cxl/pci.c           | 30 ++++++++++++++++----------
 drivers/pci/iov.c                | 25 ++++++++++++++--------
 drivers/pci/pci-driver.c         | 25 +++++++++++-----------
 drivers/pci/pci.c                |  4 ++--
 drivers/pci/pcie/err.c           | 36 ++++++++++++++++++--------------
 drivers/pci/xen-pcifront.c       |  4 ++--
 drivers/usb/host/xhci-pci.c      |  2 +-
 11 files changed, 93 insertions(+), 71 deletions(-)

diff --git a/arch/powerpc/kernel/eeh_driver.c b/arch/powerpc/kernel/eeh_driver.c
index 3eff6a4888e7..350dab18e137 100644
--- a/arch/powerpc/kernel/eeh_driver.c
+++ b/arch/powerpc/kernel/eeh_driver.c
@@ -104,13 +104,13 @@ static bool eeh_edev_actionable(struct eeh_dev *edev)
  */
 static inline struct pci_driver *eeh_pcid_get(struct pci_dev *pdev)
 {
-	if (!pdev || !pdev->driver)
+	if (!pdev || !pdev->dev.driver)
 		return NULL;
 
-	if (!try_module_get(pdev->driver->driver.owner))
+	if (!try_module_get(pdev->dev.driver->owner))
 		return NULL;
 
-	return pdev->driver;
+	return to_pci_driver(pdev->dev.driver);
 }
 
 /**
@@ -122,10 +122,10 @@ static inline struct pci_driver *eeh_pcid_get(struct pci_dev *pdev)
  */
 static inline void eeh_pcid_put(struct pci_dev *pdev)
 {
-	if (!pdev || !pdev->driver)
+	if (!pdev || !pdev->dev.driver)
 		return;
 
-	module_put(pdev->driver->driver.owner);
+	module_put(pdev->dev.driver->owner);
 }
 
 /**
diff --git a/arch/x86/events/intel/uncore.c b/arch/x86/events/intel/uncore.c
index 9bf4dbbc26e2..2df95a483692 100644
--- a/arch/x86/events/intel/uncore.c
+++ b/arch/x86/events/intel/uncore.c
@@ -1176,7 +1176,7 @@ static int uncore_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id
 	 * PCI slot and func to indicate the uncore box.
 	 */
 	if (id->driver_data & ~0xffff) {
-		struct pci_driver *pci_drv = pdev->driver;
+		struct pci_driver *pci_drv = to_pci_driver(pdev->dev.driver);
 
 		pmu = uncore_pci_find_dev_pmu(pdev, pci_drv->id_table);
 		if (pmu == NULL)
diff --git a/arch/x86/kernel/probe_roms.c b/arch/x86/kernel/probe_roms.c
index 9e1def3744f2..36e84d904260 100644
--- a/arch/x86/kernel/probe_roms.c
+++ b/arch/x86/kernel/probe_roms.c
@@ -80,7 +80,7 @@ static struct resource video_rom_resource = {
  */
 static bool match_id(struct pci_dev *pdev, unsigned short vendor, unsigned short device)
 {
-	struct pci_driver *drv = pdev->driver;
+	struct pci_driver *drv = to_pci_driver(pdev->dev.driver);
 	const struct pci_device_id *id;
 
 	if (pdev->vendor == vendor && pdev->device == device)
diff --git a/drivers/misc/cxl/guest.c b/drivers/misc/cxl/guest.c
index 186308f1f8eb..d997c9c3ebb5 100644
--- a/drivers/misc/cxl/guest.c
+++ b/drivers/misc/cxl/guest.c
@@ -25,28 +25,32 @@ static void pci_error_handlers(struct cxl_afu *afu,
 		return;
 
 	list_for_each_entry(afu_dev, &afu->phb->bus->devices, bus_list) {
-		if (!afu_dev->driver)
+		struct pci_driver *afu_drv;
+
+		if (!afu_dev->dev.driver)
 			continue;
 
+		afu_drv = to_pci_driver(afu_dev->dev.driver);
+
 		switch (bus_error_event) {
 		case CXL_ERROR_DETECTED_EVENT:
 			afu_dev->error_state = state;
 
-			if (afu_dev->driver->err_handler &&
-			    afu_dev->driver->err_handler->error_detected)
-				afu_dev->driver->err_handler->error_detected(afu_dev, state);
+			if (afu_drv->err_handler &&
+			    afu_drv->err_handler->error_detected)
+				afu_drv->err_handler->error_detected(afu_dev, state);
 		break;
 		case CXL_SLOT_RESET_EVENT:
 			afu_dev->error_state = state;
 
-			if (afu_dev->driver->err_handler &&
-			    afu_dev->driver->err_handler->slot_reset)
-				afu_dev->driver->err_handler->slot_reset(afu_dev);
+			if (afu_drv->err_handler &&
+			    afu_drv->err_handler->slot_reset)
+				afu_drv->err_handler->slot_reset(afu_dev);
 		break;
 		case CXL_RESUME_EVENT:
-			if (afu_dev->driver->err_handler &&
-			    afu_dev->driver->err_handler->resume)
-				afu_dev->driver->err_handler->resume(afu_dev);
+			if (afu_drv->err_handler &&
+			    afu_drv->err_handler->resume)
+				afu_drv->err_handler->resume(afu_dev);
 		break;
 		}
 	}
diff --git a/drivers/misc/cxl/pci.c b/drivers/misc/cxl/pci.c
index 2ba899f5659f..7e7545d01e27 100644
--- a/drivers/misc/cxl/pci.c
+++ b/drivers/misc/cxl/pci.c
@@ -1805,14 +1805,16 @@ static pci_ers_result_t cxl_vphb_error_detected(struct cxl_afu *afu,
 		return result;
 
 	list_for_each_entry(afu_dev, &afu->phb->bus->devices, bus_list) {
-		if (!afu_dev->driver)
+		struct pci_driver *afu_drv;
+		if (!afu_dev->dev.driver)
 			continue;
 
+		afu_drv = to_pci_driver(afu_dev->dev.driver);
+
 		afu_dev->error_state = state;
 
-		if (afu_dev->driver->err_handler)
-			afu_result = afu_dev->driver->err_handler->error_detected(afu_dev,
-										  state);
+		if (afu_drv->err_handler)
+			afu_result = afu_drv->err_handler->error_detected(afu_dev, state);
 		/* Disconnect trumps all, NONE trumps NEED_RESET */
 		if (afu_result == PCI_ERS_RESULT_DISCONNECT)
 			result = PCI_ERS_RESULT_DISCONNECT;
@@ -2003,6 +2005,8 @@ static pci_ers_result_t cxl_pci_slot_reset(struct pci_dev *pdev)
 			continue;
 
 		list_for_each_entry(afu_dev, &afu->phb->bus->devices, bus_list) {
+			struct pci_driver *afu_drv;
+
 			/* Reset the device context.
 			 * TODO: make this less disruptive
 			 */
@@ -2028,12 +2032,14 @@ static pci_ers_result_t cxl_pci_slot_reset(struct pci_dev *pdev)
 			 * shouldn't start new work until we call
 			 * their resume function.
 			 */
-			if (!afu_dev->driver)
+			if (!afu_dev->dev.driver)
 				continue;
 
-			if (afu_dev->driver->err_handler &&
-			    afu_dev->driver->err_handler->slot_reset)
-				afu_result = afu_dev->driver->err_handler->slot_reset(afu_dev);
+			afu_drv = to_pci_driver(afu_dev->dev.driver);
+
+			if (afu_drv->err_handler &&
+			    afu_drv->err_handler->slot_reset)
+				afu_result = afu_drv->err_handler->slot_reset(afu_dev);
 
 			if (afu_result == PCI_ERS_RESULT_DISCONNECT)
 				result = PCI_ERS_RESULT_DISCONNECT;
@@ -2074,9 +2080,11 @@ static void cxl_pci_resume(struct pci_dev *pdev)
 			continue;
 
 		list_for_each_entry(afu_dev, &afu->phb->bus->devices, bus_list) {
-			if (afu_dev->driver && afu_dev->driver->err_handler &&
-			    afu_dev->driver->err_handler->resume)
-				afu_dev->driver->err_handler->resume(afu_dev);
+			struct pci_driver *afu_drv;
+			if (afu_dev->dev.driver &&
+			    (afu_drv = to_pci_driver(afu_dev->dev.driver))->err_handler &&
+			    afu_drv->err_handler->resume)
+				afu_drv->err_handler->resume(afu_dev);
 		}
 	}
 	spin_unlock(&adapter->afu_list_lock);
diff --git a/drivers/pci/iov.c b/drivers/pci/iov.c
index dafdc652fcd0..f94660927544 100644
--- a/drivers/pci/iov.c
+++ b/drivers/pci/iov.c
@@ -164,13 +164,15 @@ static ssize_t sriov_vf_total_msix_show(struct device *dev,
 					char *buf)
 {
 	struct pci_dev *pdev = to_pci_dev(dev);
+	struct pci_driver *pdrv;
 	u32 vf_total_msix = 0;
 
 	device_lock(dev);
-	if (!pdev->driver || !pdev->driver->sriov_get_vf_total_msix)
+	pdrv = to_pci_driver(dev->driver);
+	if (!pdrv || !pdrv->sriov_get_vf_total_msix)
 		goto unlock;
 
-	vf_total_msix = pdev->driver->sriov_get_vf_total_msix(pdev);
+	vf_total_msix = pdrv->sriov_get_vf_total_msix(pdev);
 unlock:
 	device_unlock(dev);
 	return sysfs_emit(buf, "%u\n", vf_total_msix);
@@ -183,6 +185,7 @@ static ssize_t sriov_vf_msix_count_store(struct device *dev,
 {
 	struct pci_dev *vf_dev = to_pci_dev(dev);
 	struct pci_dev *pdev = pci_physfn(vf_dev);
+	struct pci_driver *pdrv;
 	int val, ret;
 
 	ret = kstrtoint(buf, 0, &val);
@@ -193,13 +196,14 @@ static ssize_t sriov_vf_msix_count_store(struct device *dev,
 		return -EINVAL;
 
 	device_lock(&pdev->dev);
-	if (!pdev->driver || !pdev->driver->sriov_set_msix_vec_count) {
+	pdrv = to_pci_driver(pdev->dev.driver);
+	if (!pdrv || !pdrv->sriov_set_msix_vec_count) {
 		ret = -EOPNOTSUPP;
 		goto err_pdev;
 	}
 
 	device_lock(&vf_dev->dev);
-	if (vf_dev->driver) {
+	if (vf_dev->dev.driver) {
 		/*
 		 * A driver is already attached to this VF and has configured
 		 * itself based on the current MSI-X vector count. Changing
@@ -209,7 +213,7 @@ static ssize_t sriov_vf_msix_count_store(struct device *dev,
 		goto err_dev;
 	}
 
-	ret = pdev->driver->sriov_set_msix_vec_count(vf_dev, val);
+	ret = pdrv->sriov_set_msix_vec_count(vf_dev, val);
 
 err_dev:
 	device_unlock(&vf_dev->dev);
@@ -376,6 +380,7 @@ static ssize_t sriov_numvfs_store(struct device *dev,
 				  const char *buf, size_t count)
 {
 	struct pci_dev *pdev = to_pci_dev(dev);
+	struct pci_driver *pdrv;
 	int ret;
 	u16 num_vfs;
 
@@ -392,14 +397,16 @@ static ssize_t sriov_numvfs_store(struct device *dev,
 		goto exit;
 
 	/* is PF driver loaded */
-	if (!pdev->driver) {
+	if (!pdev->dev.driver) {
 		pci_info(pdev, "no driver bound to device; cannot configure SR-IOV\n");
 		ret = -ENOENT;
 		goto exit;
 	}
 
+	pdrv = to_pci_driver(pdev->dev.driver);
+
 	/* is PF driver loaded w/callback */
-	if (!pdev->driver->sriov_configure) {
+	if (!pdrv->sriov_configure) {
 		pci_info(pdev, "driver does not support SR-IOV configuration via sysfs\n");
 		ret = -ENOENT;
 		goto exit;
@@ -407,7 +414,7 @@ static ssize_t sriov_numvfs_store(struct device *dev,
 
 	if (num_vfs == 0) {
 		/* disable VFs */
-		ret = pdev->driver->sriov_configure(pdev, 0);
+		ret = pdrv->sriov_configure(pdev, 0);
 		goto exit;
 	}
 
@@ -419,7 +426,7 @@ static ssize_t sriov_numvfs_store(struct device *dev,
 		goto exit;
 	}
 
-	ret = pdev->driver->sriov_configure(pdev, num_vfs);
+	ret = pdrv->sriov_configure(pdev, num_vfs);
 	if (ret < 0)
 		goto exit;
 
diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c
index 7dff574bb2fa..e4bab9d0d6d8 100644
--- a/drivers/pci/pci-driver.c
+++ b/drivers/pci/pci-driver.c
@@ -443,7 +443,7 @@ static int pci_device_probe(struct device *dev)
 static int pci_device_remove(struct device *dev)
 {
 	struct pci_dev *pci_dev = to_pci_dev(dev);
-	struct pci_driver *drv = pci_dev->driver;
+	struct pci_driver *drv = to_pci_driver(pci_dev->dev.driver);
 
 	if (drv->remove) {
 		pm_runtime_get_sync(dev);
@@ -480,7 +480,7 @@ static int pci_device_remove(struct device *dev)
 static void pci_device_shutdown(struct device *dev)
 {
 	struct pci_dev *pci_dev = to_pci_dev(dev);
-	struct pci_driver *drv = pci_dev->driver;
+	struct pci_driver *drv = to_pci_driver(pci_dev->dev.driver);
 
 	pm_runtime_resume(dev);
 
@@ -576,7 +576,7 @@ static int pci_pm_reenable_device(struct pci_dev *pci_dev)
 static int pci_legacy_suspend(struct device *dev, pm_message_t state)
 {
 	struct pci_dev *pci_dev = to_pci_dev(dev);
-	struct pci_driver *drv = pci_dev->driver;
+	struct pci_driver *drv = to_pci_driver(dev->driver);
 
 	if (drv && drv->suspend) {
 		pci_power_t prev = pci_dev->current_state;
@@ -617,7 +617,7 @@ static int pci_legacy_suspend_late(struct device *dev, pm_message_t state)
 static int pci_legacy_resume(struct device *dev)
 {
 	struct pci_dev *pci_dev = to_pci_dev(dev);
-	struct pci_driver *drv = pci_dev->driver;
+	struct pci_driver *drv = to_pci_driver(pci_dev->dev.driver);
 
 	pci_fixup_device(pci_fixup_resume, pci_dev);
 
@@ -636,7 +636,7 @@ static void pci_pm_default_suspend(struct pci_dev *pci_dev)
 
 static bool pci_has_legacy_pm_support(struct pci_dev *pci_dev)
 {
-	struct pci_driver *drv = pci_dev->driver;
+	struct pci_driver *drv = to_pci_driver(pci_dev->dev.driver);
 	bool ret = drv && (drv->suspend || drv->resume);
 
 	/*
@@ -1229,11 +1229,11 @@ static int pci_pm_runtime_suspend(struct device *dev)
 	int error;
 
 	/*
-	 * If pci_dev->driver is not set (unbound), we leave the device in D0,
+	 * If pci_dev->dev.driver is not set (unbound), we leave the device in D0,
 	 * but it may go to D3cold when the bridge above it runtime suspends.
 	 * Save its config space in case that happens.
 	 */
-	if (!pci_dev->driver) {
+	if (!pci_dev->dev.driver) {
 		pci_save_state(pci_dev);
 		return 0;
 	}
@@ -1290,7 +1290,7 @@ static int pci_pm_runtime_resume(struct device *dev)
 	 */
 	pci_restore_standard_config(pci_dev);
 
-	if (!pci_dev->driver)
+	if (!dev->driver)
 		return 0;
 
 	pci_fixup_device(pci_fixup_resume_early, pci_dev);
@@ -1309,14 +1309,13 @@ static int pci_pm_runtime_resume(struct device *dev)
 
 static int pci_pm_runtime_idle(struct device *dev)
 {
-	struct pci_dev *pci_dev = to_pci_dev(dev);
 	const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL;
 
 	/*
-	 * If pci_dev->driver is not set (unbound), the device should
+	 * If dev->driver is not set (unbound), the device should
 	 * always remain in D0 regardless of the runtime PM status
 	 */
-	if (!pci_dev->driver)
+	if (!dev->driver)
 		return 0;
 
 	if (!pm)
@@ -1423,8 +1422,8 @@ static struct pci_driver pci_compat_driver = {
  */
 struct pci_driver *pci_dev_driver(const struct pci_dev *dev)
 {
-	if (dev->driver)
-		return dev->driver;
+	if (dev->dev.driver)
+		return to_pci_driver(dev->dev.driver);
 	else {
 		int i;
 		for (i = 0; i <= PCI_ROM_RESOURCE; i++)
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index aacf575c15cf..e21218a16098 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -5070,7 +5070,7 @@ EXPORT_SYMBOL_GPL(pci_dev_unlock);
 static void pci_dev_save_and_disable(struct pci_dev *dev)
 {
 	const struct pci_error_handlers *err_handler =
-			dev->driver ? dev->driver->err_handler : NULL;
+			dev->dev.driver ? to_pci_driver(dev->dev.driver)->err_handler : NULL;
 
 	/*
 	 * dev->driver->err_handler->reset_prepare() is protected against
@@ -5101,7 +5101,7 @@ static void pci_dev_save_and_disable(struct pci_dev *dev)
 static void pci_dev_restore(struct pci_dev *dev)
 {
 	const struct pci_error_handlers *err_handler =
-			dev->driver ? dev->driver->err_handler : NULL;
+			dev->dev.driver ? to_pci_driver(dev->dev.driver)->err_handler : NULL;
 
 	pci_restore_state(dev);
 
diff --git a/drivers/pci/pcie/err.c b/drivers/pci/pcie/err.c
index b576aa890c76..b314b54f7821 100644
--- a/drivers/pci/pcie/err.c
+++ b/drivers/pci/pcie/err.c
@@ -49,14 +49,15 @@ static int report_error_detected(struct pci_dev *dev,
 				 pci_channel_state_t state,
 				 enum pci_ers_result *result)
 {
+	struct pci_driver *pdrv;
 	pci_ers_result_t vote;
 	const struct pci_error_handlers *err_handler;
 
 	device_lock(&dev->dev);
 	if (!pci_dev_set_io_state(dev, state) ||
-		!dev->driver ||
-		!dev->driver->err_handler ||
-		!dev->driver->err_handler->error_detected) {
+		!dev->dev.driver ||
+		!(pdrv = to_pci_driver(dev->dev.driver))->err_handler ||
+		!pdrv->err_handler->error_detected) {
 		/*
 		 * If any device in the subtree does not have an error_detected
 		 * callback, PCI_ERS_RESULT_NO_AER_DRIVER prevents subsequent
@@ -70,7 +71,7 @@ static int report_error_detected(struct pci_dev *dev,
 			vote = PCI_ERS_RESULT_NONE;
 		}
 	} else {
-		err_handler = dev->driver->err_handler;
+		err_handler = pdrv->err_handler;
 		vote = err_handler->error_detected(dev, state);
 	}
 	pci_uevent_ers(dev, vote);
@@ -92,15 +93,16 @@ static int report_normal_detected(struct pci_dev *dev, void *data)
 static int report_mmio_enabled(struct pci_dev *dev, void *data)
 {
 	pci_ers_result_t vote, *result = data;
+	struct pci_driver *pdrv;
 	const struct pci_error_handlers *err_handler;
 
 	device_lock(&dev->dev);
-	if (!dev->driver ||
-		!dev->driver->err_handler ||
-		!dev->driver->err_handler->mmio_enabled)
+	if (!dev->dev.driver ||
+		!(pdrv = to_pci_driver(dev->dev.driver))->err_handler ||
+		!pdrv->err_handler->mmio_enabled)
 		goto out;
 
-	err_handler = dev->driver->err_handler;
+	err_handler = pdrv->err_handler;
 	vote = err_handler->mmio_enabled(dev);
 	*result = merge_result(*result, vote);
 out:
@@ -112,14 +114,15 @@ static int report_slot_reset(struct pci_dev *dev, void *data)
 {
 	pci_ers_result_t vote, *result = data;
 	const struct pci_error_handlers *err_handler;
+	struct pci_driver *pdrv;
 
 	device_lock(&dev->dev);
-	if (!dev->driver ||
-		!dev->driver->err_handler ||
-		!dev->driver->err_handler->slot_reset)
+	if (!dev->dev.driver ||
+		!(pdrv = to_pci_driver(dev->dev.driver))->err_handler ||
+		!pdrv->err_handler->slot_reset)
 		goto out;
 
-	err_handler = dev->driver->err_handler;
+	err_handler = pdrv->err_handler;
 	vote = err_handler->slot_reset(dev);
 	*result = merge_result(*result, vote);
 out:
@@ -130,15 +133,16 @@ static int report_slot_reset(struct pci_dev *dev, void *data)
 static int report_resume(struct pci_dev *dev, void *data)
 {
 	const struct pci_error_handlers *err_handler;
+	struct pci_driver *pdrv;
 
 	device_lock(&dev->dev);
 	if (!pci_dev_set_io_state(dev, pci_channel_io_normal) ||
-		!dev->driver ||
-		!dev->driver->err_handler ||
-		!dev->driver->err_handler->resume)
+		!dev->dev.driver ||
+		!(pdrv = to_pci_driver(dev->dev.driver))->err_handler ||
+		!pdrv->err_handler->resume)
 		goto out;
 
-	err_handler = dev->driver->err_handler;
+	err_handler = pdrv->err_handler;
 	err_handler->resume(dev);
 out:
 	pci_uevent_ers(dev, PCI_ERS_RESULT_RECOVERED);
diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c
index 3c648e6cb8f8..2b2126dbc39b 100644
--- a/drivers/pci/xen-pcifront.c
+++ b/drivers/pci/xen-pcifront.c
@@ -598,12 +598,12 @@ static pci_ers_result_t pcifront_common_process(int cmd,
 	result = PCI_ERS_RESULT_NONE;
 
 	pcidev = pci_get_domain_bus_and_slot(domain, bus, devfn);
-	if (!pcidev || !pcidev->driver) {
+	if (!pcidev || !pcidev->dev.driver) {
 		dev_err(&pdev->xdev->dev, "device or AER driver is NULL\n");
 		pci_dev_put(pcidev);
 		return result;
 	}
-	pdrv = pcidev->driver;
+	pdrv = to_pci_driver(pcidev->dev.driver);
 
 	if (pdrv->err_handler && pdrv->err_handler->error_detected) {
 		pci_dbg(pcidev, "trying to call AER service\n");
diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
index 18c2bbddf080..3ead2127967f 100644
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
@@ -103,7 +103,7 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
 	struct xhci_driver_data         *driver_data;
 	const struct pci_device_id      *id;
 
-	id = pci_match_id(pdev->driver->id_table, pdev);
+	id = pci_match_id(to_pci_driver(pdev->dev.driver)->id_table, pdev);
 
 	if (id && id->driver_data) {
 		driver_data = (struct xhci_driver_data *)id->driver_data;
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 08:08:20 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 08:08:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165551.302515 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDjHg-00081D-18; Wed, 11 Aug 2021 08:08:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165551.302515; Wed, 11 Aug 2021 08: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 1mDjHf-000816-UC; Wed, 11 Aug 2021 08:08:19 +0000
Received: by outflank-mailman (input) for mailman id 165551;
 Wed, 11 Aug 2021 08:08:18 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lxcx=NC=pengutronix.de=ukl@srs-us1.protection.inumbo.net>)
 id 1mDjHe-00080W-AE
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 08:08:18 +0000
Received: from metis.ext.pengutronix.de (unknown
 [2001:67c:670:201:290:27ff:fe1d:cc33])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 9d868230-429c-4c20-aa89-da3dbddfaf88;
 Wed, 11 Aug 2021 08:08:12 +0000 (UTC)
Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2])
 by metis.ext.pengutronix.de with esmtps
 (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92)
 (envelope-from <ukl@pengutronix.de>)
 id 1mDjGA-0000yl-5I; Wed, 11 Aug 2021 10:06:46 +0200
Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de)
 by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.92)
 (envelope-from <ukl@pengutronix.de>)
 id 1mDjG4-0000O2-Lw; Wed, 11 Aug 2021 10:06:40 +0200
Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.92)
 (envelope-from <ukl@pengutronix.de>)
 id 1mDjG4-0002vI-Id; Wed, 11 Aug 2021 10:06:40 +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: 9d868230-429c-4c20-aa89-da3dbddfaf88
From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
To: Bjorn Helgaas <helgaas@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	=?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <uwe@kleine-koenig.org>,
	linux-pci@vger.kernel.org,
	kernel@pengutronix.de,
	Alexander Duyck <alexanderduyck@fb.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Andrew Donnellan <ajd@linux.ibm.com>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Borislav Petkov <bp@alien8.de>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	"David S. Miller" <davem@davemloft.net>,
	Fiona Trahe <fiona.trahe@intel.com>,
	Frederic Barrat <fbarrat@linux.ibm.com>,
	Giovanni Cabiddu <giovanni.cabiddu@intel.com>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Ido Schimmel <idosch@nvidia.com>,
	Ingo Molnar <mingo@redhat.com>,
	Jack Xu <jack.xu@intel.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Jesse Brandeburg <jesse.brandeburg@intel.com>,
	Jiri Olsa <jolsa@redhat.com>,
	Jiri Pirko <jiri@nvidia.com>,
	Juergen Gross <jgross@suse.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Marco Chiappero <marco.chiappero@intel.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Mathias Nyman <mathias.nyman@intel.com>,
	Michael Buesch <m@bues.ch>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Namhyung Kim <namhyung@kernel.org>,
	"Oliver O'Halloran" <oohall@gmail.com>,
	Paul Mackerras <paulus@samba.org>,
	Peter Zijlstra <peterz@infradead.org>,
	=?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5@gmail.com>,
	Russell Currey <ruscur@russell.cc>,
	Salil Mehta <salil.mehta@huawei.com>,
	Sathya Prakash <sathya.prakash@broadcom.com>,
	Simon Horman <simon.horman@corigine.com>,
	Sreekanth Reddy <sreekanth.reddy@broadcom.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>,
	Taras Chornyi <tchornyi@marvell.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Tomaszx Kowalik <tomaszx.kowalik@intel.com>,
	Vadym Kochan <vkochan@marvell.com>,
	Wojciech Ziemba <wojciech.ziemba@intel.com>,
	Yisen Zhuang <yisen.zhuang@huawei.com>,
	Zhou Wang <wangzhou1@hisilicon.com>,
	linux-crypto@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-perf-users@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-scsi@vger.kernel.org,
	linux-usb@vger.kernel.org,
	linux-wireless@vger.kernel.org,
	MPT-FusionLinux.pdl@broadcom.com,
	netdev@vger.kernel.org,
	oss-drivers@corigine.com,
	qat-linux@intel.com,
	x86@kernel.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH v3 0/8] PCI: Drop duplicated tracking of a pci_dev's bound driver
Date: Wed, 11 Aug 2021 10:06:29 +0200
Message-Id: <20210811080637.2596434-1-u.kleine-koenig@pengutronix.de>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2
X-SA-Exim-Mail-From: ukl@pengutronix.de
X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false
X-PTX-Original-Recipient: xen-devel@lists.xenproject.org

From: Uwe Kleine-König <uwe@kleine-koenig.org>

Hello,

Today the following is always true for a struct pci_dev *pdev:

	pdev->driver ==
		pdev->dev.driver ? to_pci_driver(pdev->dev.driver) : NULL

This series is about getting rid of struct pci_dev::driver. The first
three patches are unmodified compared to v2 (apart from an added
Reviewed-by tag) and are just minor cleanups.

Patch #4 replaces all usages of pci_dev::driver->name by
dev_driver_string().

Patch #5 simplifies struct mpt_pci_driver by dropping an unused
parameter from a function callback. The calculation of this parameter
made use of struct pci_dev::driver.

Patch #6 simplifies adf_enable_aer() and moves one assignment done in
that function to the initializer of the respective static data.

Patch #7 then modifies all remaining users of struct pci_dev::driver to
use to_pci_driver(pdev->dev.driver) instead and finally patch #8 gets
rid of the driver member.

Note this series is only build tested.

Theoretically patches #4 and #7 could be split by subsystem, there are
no dependencies, but I'd prefer that all patches go in together via the
pci tree to simplify the procedure. If you don't agree please speak up.

Best regards
Uwe

Uwe Kleine-König (8):
  PCI: Simplify pci_device_remove()
  PCI: Drop useless check from pci_device_probe()
  xen/pci: Drop some checks that are always true
  PCI: replace pci_dev::driver usage that gets the driver name
  scsi: message: fusion: Remove unused parameter of mpt_pci driver's
    probe()
  crypto: qat - simplify adf_enable_aer()
  PCI: Replace pci_dev::driver usage by pci_dev::dev.driver
  PCI: Drop duplicated tracking of a pci_dev's bound driver

 arch/powerpc/include/asm/ppc-pci.h            |  7 ++-
 arch/powerpc/kernel/eeh_driver.c              | 10 +--
 arch/x86/events/intel/uncore.c                |  2 +-
 arch/x86/kernel/probe_roms.c                  |  2 +-
 drivers/bcma/host_pci.c                       |  7 ++-
 drivers/crypto/hisilicon/qm.c                 |  2 +-
 drivers/crypto/qat/qat_4xxx/adf_drv.c         |  7 +--
 drivers/crypto/qat/qat_c3xxx/adf_drv.c        |  7 +--
 drivers/crypto/qat/qat_c62x/adf_drv.c         |  7 +--
 drivers/crypto/qat/qat_common/adf_aer.c       | 10 +--
 .../crypto/qat/qat_common/adf_common_drv.h    |  2 +-
 drivers/crypto/qat/qat_dh895xcc/adf_drv.c     |  7 +--
 drivers/message/fusion/mptbase.c              |  7 +--
 drivers/message/fusion/mptbase.h              |  2 +-
 drivers/message/fusion/mptctl.c               |  4 +-
 drivers/message/fusion/mptlan.c               |  2 +-
 drivers/misc/cxl/guest.c                      | 24 ++++---
 drivers/misc/cxl/pci.c                        | 30 +++++----
 .../ethernet/hisilicon/hns3/hns3_ethtool.c    |  2 +-
 .../ethernet/marvell/prestera/prestera_pci.c  |  2 +-
 drivers/net/ethernet/mellanox/mlxsw/pci.c     |  2 +-
 .../ethernet/netronome/nfp/nfp_net_ethtool.c  |  2 +-
 drivers/pci/iov.c                             | 25 +++++---
 drivers/pci/pci-driver.c                      | 45 ++++++-------
 drivers/pci/pci.c                             |  4 +-
 drivers/pci/pcie/err.c                        | 36 ++++++-----
 drivers/pci/xen-pcifront.c                    | 63 +++++++++----------
 drivers/ssb/pcihost_wrapper.c                 |  8 ++-
 drivers/usb/host/xhci-pci.c                   |  2 +-
 include/linux/pci.h                           |  1 -
 30 files changed, 164 insertions(+), 167 deletions(-)

base-commit: 2734d6c1b1a089fb593ef6a23d4b70903526fe0c
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 08:17:16 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 08:17:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165558.302526 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDjQG-00017W-T1; Wed, 11 Aug 2021 08:17:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165558.302526; Wed, 11 Aug 2021 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 1mDjQG-00017P-Q0; Wed, 11 Aug 2021 08:17:12 +0000
Received: by outflank-mailman (input) for mailman id 165558;
 Wed, 11 Aug 2021 08:17:11 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fxqi=NC=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mDjQE-00017I-Um
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 08:17:11 +0000
Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 49b876f1-98a6-47ec-b264-3c2a8fa97b82;
 Wed, 11 Aug 2021 08:17:09 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 49b876f1-98a6-47ec-b264-3c2a8fa97b82
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1628669829;
  h=subject:to:cc:references:from:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=aiMplrk+BqetM3E2zsjnR+pGPmUnWCbXCMBV2jqz1TM=;
  b=Cz7P6r2+xs2uu8Ya+wGL3R55JPrOXBf59mQjhbtQpGrVa7l8OtGOHu3N
   wIMslBHeZmHCOrDhA0TejA3C0b+GkKTmAibCYJ3qP4KcKc2K10Eo1xJG4
   jFZGi6HPT09JeIKHbJcR1veBPr7CO6wF4BzT7nFzswPhqLk5oZ6H37O2h
   Q=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: Lk3BTADuc9PmmOJB0yWrThC4hlE0s7R/jN3a6Lpc8Jxgr7X4kOQeNfwtm7/M0LchFd+L+RdZTl
 zfPrZRta8QIcOmufYVIT2By+1mOf6XX2cGLO6+jJgcQqJUrvW5J1szYTgF/k7mjK/NDiA2ZyZ3
 bcHXNlE68c4xzI70ftYTjc+tWaEKwLeDuZwtPO1YrMkEPNWImDWsfX5BJzNDtAVaU3dM6gQZAt
 fieTdFH2wQG/wrQHKM9x3KdsJr6zwTMp7W8C3fjesxOvWyelUlORuAbPOgyYeJSYp2/N1ox1Wf
 KXfS2PzV3Tx42EZ4xkaeSfyD
X-SBRS: 5.1
X-MesageID: 51893910
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:/Ark66gA9Xk1MQfK/ar9I9ZCP3BQX1p13DAbv31ZSRFFG/FwyP
 rBoB1L73DJYWgqNE3I+erhBEGBKUmskqKdkrNhQ4tKOzOWx1dATbsSkbcKpgeAJ8SQzJ8n6U
 4NSdkGNDS0NykGsS+Y2njKLz9D+qj+zEnAv463pB0BPGIaCdAU0+46MHf8LqQffng3OXNTLu
 v42iMonUvFRZ1aVLXAOpFTNNKz1uEj2aiWLyIuNloC0k2jnDmo4Ln1H1yx2QofaSpGxfMH/X
 LemwL0y62/u7XjoyWsl1P73tBzop/M29FDDMuDhow8LSjtsB+hYMBEV6eZtD44jemz4BIBkc
 XKoT0nI8NvgkmhP12dkF/I4U3NwTwu43jtxRuxhmbim9XwQHYAB89IletiA1bkwntlmOs5/L
 NA3mqfuZYSJwjHhj7B69/BUAwvvlaooFI5+NRjykB3YM87Uvt8vIYf9ERaHNMrByTh8r0qF+
 FoEYX1+OtWS1WHdHrU11MfguBEZk5DWStuf3Jy/PB8i1Nt7SlEJgojtY8id047hdYAo8Iu3Z
 WdDkwA/4s+PPP/bspGda08qIWMezfwqb+lChPaHb3dLtBxB5v6ke+93FwE3pDfRHU29upFpH
 3gaiIViYdgQTOgNSWxtKc7uiwlBl/NBwjQ9g==
X-IronPort-AV: E=Sophos;i="5.84,311,1620705600"; 
   d="scan'208";a="51893910"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Y/P1+ux9mHVOLxMeDOBsoV9v4M6Cu8m/Pp+GYkISx1X7C+3GS1YexiZG4qKFytNTxZVvlG79xLiuCQeA+tPqE1zPAtWJb4rdUcH8bFAM9lX735gBgdTBwHSpF8/nITLPjXrfgXTCPjGyfhhzVBRKIaL0kWjnXi2BiGyZrT5YYBy2AUdmmUv28nUJ01OfOiSaiTpcMkn2IT9Prsv0FHRLVTQp80Gr7Xdwt4kR87w2UEJIk7Thy8fhzPvBH5oXar/PsNU/0M6UXupIEfKbUpGoXllml4NSJGD4lO2xFSmTEwW67JZ5/7gFuY0gDQC1011U7wsyBBMtoORA6dOQZJQFiw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zI+Si/T6HhGUwGvoenX/9+kXhOBmrCtLoip7oz1VJhQ=;
 b=ZYKSHkzZ8aeHzVYLva5P450Y5bT7mTXHSIA1fDQVJKN1AR/mNSBQl7YfHRfBEmmzgnzZ8sSTBjD5Im6M2HtO0KoAavODEmffoZei6gJ8e++mfb7JcCeh2f49ktJ9byqoTk/pVHoCO3+1NPtBiGL+KT+0mvsRKQpfNs1QruReery0HLDTGP+Qf635cggZ34AR7ZY9+7jY+kpw8MBGwcsyZS+AAlQtsjL/jywv59STDqj010zTfrBHouzvpfmZGdd/PXpegsmHnwM/FQW/PUHv1C+IvHSPcCFeM6q4OIUcElA2YB/kyGiUvj4Q2tcChbg3w/Z+E/0n5znpAM1gQmteZQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zI+Si/T6HhGUwGvoenX/9+kXhOBmrCtLoip7oz1VJhQ=;
 b=HoB3XChtjno2iRi+f4uNslMSGfN7QWf3NGwKNFjLdKDLufCJEq1P0Kail6aNdaPdDtjGp+hEh5KYfX5ZUmGLlJpGrjhnstJ64Q3OZjeSBSHXPDZTeGZnIyYMPueVyzgWptZrxLPiKDEeqat5IXQgpesKuiZF8k9xHtglTxudk2U=
Subject: Re: [PATCH 1/2] xen/kexec: Remove use of TRUE/FALSE
To: Jan Beulich <jbeulich@suse.com>, Kevin Stefanov
	<kevin.stefanov@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>
References: <20210810174737.56297-1-kevin.stefanov@citrix.com>
 <20210810174737.56297-2-kevin.stefanov@citrix.com>
 <7117c3db-76d1-5550-c34f-c16e95c0e73f@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Message-ID: <44223c86-2674-22a3-a055-1ea47ffc619f@citrix.com>
Date: Wed, 11 Aug 2021 09:16:45 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <7117c3db-76d1-5550-c34f-c16e95c0e73f@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Content-Language: en-GB
X-ClientProxiedBy: LO2P265CA0392.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:f::20) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f4ae3ae1-92ae-409e-e4a6-08d95ca05f31
X-MS-TrafficTypeDiagnostic: SJ0PR03MB5504:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <SJ0PR03MB5504805C924BCEC599915AA9BAF89@SJ0PR03MB5504.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8273;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 79pvWhBh0wDLPuvSzZeKTQCMPKE5lt2jqgWpJisq+dqoJ265tw92gvs7JD5z5SmqW51OmESi3IrvpkeBQltD1jCT7DWiE478GGivVAOyOrKVo/GAfI10THkX+9pkRFuQOojE7giLaj2hCtSlb24VXoibQmMK4wGAFJaEd7AXxRjEr84tY+Y8l9RsEobSGNbcsnXjbFbTVQIicG4/XpSWbKxzB9dtZWETRer0LFDIoYAQBGilSLJnqPgJsMFFsYP0bmGHH9YDszWItAttdnjWAY1WXS1/F0ErlNAtQFgiTT8WGkLdLJzE60en+ChO8tmivHroZ33RiBKLz9C9qb+MfWT+lAFgbqx7OQIVXl6KmGmue34xyMMurMcRs2iJdkd1nW3N/GVR9dMFNYFSSaRi3lAm7wvpC2JRQ2jYks7/ovrG+fwh9smB9xR940MYsIWjuMJ1KJ1S4WnTDZYLIPw8ETjqAMq6P4gMPS1azar1qXrxN1OobIip90ZPE0Ina/WQGnEmZXKnW0SZFuWLypb3Tl12ccslheN74xL2IqTEV4EtNnpTakjnyq6l6KoOQuQfbvVpTLk2ZVbxlW27dCCa/b3YriNA/kJfZDsWmjKD4xm5I0geF5p659hIP/G2AIpc9kiaV/ckcTsZxAY/uXEAEa1g5PPLq8f7HFURFm5VvGitnUGPv8By/UPwww3CZZ+IBk5PyMiE77GWzqRk0H9ARAZ7jcho3EcGyaNWiyWntys=
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:(4636009)(346002)(396003)(366004)(39850400004)(376002)(136003)(66946007)(66556008)(26005)(66476007)(31696002)(8936002)(8676002)(31686004)(186003)(6486002)(6666004)(38100700002)(478600001)(956004)(86362001)(6636002)(2906002)(2616005)(83380400001)(4744005)(36756003)(316002)(5660300002)(53546011)(110136005)(4326008)(16576012)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?YnlSM1dZRXdKcUtMVXBDZlJaWEl2ckJsS2ZiNTR5NkRBSk1vTTBDeTltYk1h?=
 =?utf-8?B?cnhwSUd4UVNtZURUWFB4MFNFMHp3VnF5ZEsvZWFPbk5TYzB0ZitUN1dUV2dD?=
 =?utf-8?B?bXE4S0prRTBsSTlYYldvT2RORnFaNXZGc2wrM2p1UGZSQlIySlpVRit4RjQy?=
 =?utf-8?B?NXljY3YzWGhuLzlrSjYvMDhNMjlycmJ6RkRBdm9obXZHUSsyVjE1L25vUmRJ?=
 =?utf-8?B?R1BZY3pCeFVxcElTQ2krL0dibHdiMWNua2o0OG96Vy9NK3lWL0QyblhxUzhO?=
 =?utf-8?B?OEJQOFdYRkM1dDNYRndvSVhjdkZEUjRjam5rUEhYUWQyOVFMbTRFa1QzbEl6?=
 =?utf-8?B?ejNMMWVIR29nVTBLdkZOVnlzRDU5YlZ1T2tTODBPMFpIMVVXcDVBUWNjZVV5?=
 =?utf-8?B?bmFIaVdURnc4QWhRVG9xZzMybGFnelcvZ2VuSmJqSWxRMHB1R3NNdm1Yc04w?=
 =?utf-8?B?L2RpVytrZEtObU5zZVoxMlovOTlZU0xuSzhxaXZBemxrRU5oaFVFSnVxc3No?=
 =?utf-8?B?VW9Xc2xVS09uZEdKN1JBOU5nTmdYUWRvcWpubVpWWExGV0RMbUYrWEIxQTRo?=
 =?utf-8?B?cXdKQkRkQktjaGZLUEtpbERlMkVGL2VZd0xDQTJidk5IUnNWczlBZ1lhdS9m?=
 =?utf-8?B?Y1Y4ZW5oZ3BjY2plbHJ1YmpUOG1pb2hOQllpWkhPR3ErbkpVbGxMWTZ3enBZ?=
 =?utf-8?B?a1BQeEJOZStodG1BNXVnckdBUFJXWEJGazVNdU9OOXpKaWxoeXZMU2piUXBO?=
 =?utf-8?B?eEtuVTFZRE1MdllPS3FnYkh4MzlpVkgrZ2Ewc2d6Y1AxYVQ2SFoyYmdDa3BB?=
 =?utf-8?B?RFloVlVSa1NwSC95MUxvdXU4RGN0MnFQSVM3eGJIWit4VCtmamRrZElrYUgy?=
 =?utf-8?B?RW00N05hZDhOZ0pET0NZSGRVL0NpMkx3WlROTGVGem80MWdJNjBIQnNIY0dP?=
 =?utf-8?B?V1I3TkNCcHZjMFlSOERLZWZBRWltWlZvUVNWbUg5OTRXUEdDREErRzBQRXht?=
 =?utf-8?B?TVBjU0gxWnZMQkVWN0l6OWVNY2tJUFJYR1BkTkNET0pCNVZUVExEdWpyNENC?=
 =?utf-8?B?UFdDWUZjc3JHcUtTd2Y4UGd3Y2Y4S1k0OWU3bXU0ZG5UQW1ZUW1DdjZCL1ZY?=
 =?utf-8?B?N1NJMzc0WEdrYUpjakZ1cHBrM25nZkRucXNoMVlVKzdDdHl2UE9xeWw4YThV?=
 =?utf-8?B?a2ZHUjUydGkwMTlKTUU5V1FzY1VPUXRZT2lJczVtUEU2Q3ZUZWloajBjblpD?=
 =?utf-8?B?N3F5aXdYWGZodW93cWV1d0FRT2F0bTVGTzdFMUc3a1VMZC9YVnM3OG80c1F4?=
 =?utf-8?B?RC96cEh1Q0NBeWVmbkduS3lMNWxJVmg3Mm1KNUhQTjd3Z09CdVhaZmxjQVdi?=
 =?utf-8?B?bm9tVWcxU09oUHFQZmJKTk5LWTNnT1AvK2s2QXQvQ1Z0MWJKQUJqbEpUTGJv?=
 =?utf-8?B?akdZbEI0Z1l2dUlreHNSWFdBMmxhRExvQ0tkSlJPTFJvQUkzNDBseTl5V1dq?=
 =?utf-8?B?bXloNGl2MXhQenpxN0llVmhBeGJnQnl1VjlCdUcweTVwVTJyWG55NnBIcWY1?=
 =?utf-8?B?ZyswY2xBNDBQbCtHeXNjV0lzMmFmNjBIaXJsTy9hQWk3TEsrMDR3YkpEVnRp?=
 =?utf-8?B?dkJXUmZiTnJjMk5pd0huaWdnRUU4WVZlL2J3blhLY3k3UThjWWczM3BnbVlz?=
 =?utf-8?B?cHVmdHYrTFNLc3lZZTd3cDlKcUhoOVhnUXlVcU9HU282aFFNZVlmSUM3L093?=
 =?utf-8?Q?SLZfwVJ8563cgzPlD7GQdVHNR79bSPRODUD4EDw?=
X-MS-Exchange-CrossTenant-Network-Message-Id: f4ae3ae1-92ae-409e-e4a6-08d95ca05f31
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 08:16:51.3192
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rYacipTP0ZjsnhQfby1f/uJPTJuE4DXYgqilOdHEJ9mBR+/E0B5+j/V3Smu7v+r1ZCAruQn5X0Q5WRElPPNaONnEwNouaN0rBwB4VYKvliQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5504
X-OriginatorOrg: citrix.com

On 11/08/2021 07:08, Jan Beulich wrote:
> On 10.08.2021 19:47, Kevin Stefanov wrote:
>> --- a/xen/common/kexec.c
>> +++ b/xen/common/kexec.c
>> @@ -35,7 +35,7 @@
>>  #include <compat/kexec.h>
>>  #endif
>>  
>> -bool_t kexecing = FALSE;
>> +bool kexecing;
> While not overly important for either of the two present readers,
> I nevertheless wonder whether at this occasion the variable
> couldn't also become __read_mostly. Andrew, thoughts?

Yeah - forgot that.

>
>> --- a/xen/include/xen/kexec.h
>> +++ b/xen/include/xen/kexec.h
>> @@ -17,7 +17,7 @@ typedef struct xen_kexec_reserve {
>>  extern xen_kexec_reserve_t kexec_crash_area;
>>  extern paddr_t kexec_crash_area_limit;
>>  
>> -extern bool_t kexecing;
>> +extern bool kexecing;
> Later in this file there's also a #define of this identifier, which
> imo then wants to also change from expanding to 0 to using "false".

Sounds good too.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Aug 11 08:50:08 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 08:50:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165564.302537 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDjvu-0004Ek-Gj; Wed, 11 Aug 2021 08:49:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165564.302537; Wed, 11 Aug 2021 08:49:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDjvu-0004Ed-Dc; Wed, 11 Aug 2021 08:49:54 +0000
Received: by outflank-mailman (input) for mailman id 165564;
 Wed, 11 Aug 2021 08:49:53 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fl7y=NC=epam.com=prvs=88576a6db5=roman_skakun@srs-us1.protection.inumbo.net>)
 id 1mDjvt-0004EX-HL
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 08:49:53 +0000
Received: from mx0a-0039f301.pphosted.com (unknown [148.163.133.242])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 26fe8797-6b00-4385-ae59-f10ea3f6d451;
 Wed, 11 Aug 2021 08:49:50 +0000 (UTC)
Received: from pps.filterd (m0174676.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id
 17B8kPVb029324; Wed, 11 Aug 2021 08:49:46 GMT
Received: from eur04-db3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2057.outbound.protection.outlook.com [104.47.12.57])
 by mx0a-0039f301.pphosted.com with ESMTP id 3ac38k1290-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 11 Aug 2021 08:49:46 +0000
Received: from AM7PR03MB6593.eurprd03.prod.outlook.com (2603:10a6:20b:1b4::10)
 by AM7PR03MB6481.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.17; Wed, 11 Aug
 2021 08:49:42 +0000
Received: from AM7PR03MB6593.eurprd03.prod.outlook.com
 ([fe80::ec7b:2795:206b:9411]) by AM7PR03MB6593.eurprd03.prod.outlook.com
 ([fe80::ec7b:2795:206b:9411%3]) with mapi id 15.20.4394.025; Wed, 11 Aug 2021
 08:49: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: 26fe8797-6b00-4385-ae59-f10ea3f6d451
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=S1M9m8UGwnAhFU66zKTWk3//tfmKIvvuc0XZDUPTUmlqsorLz4Y1y9qlwiLr/8m/KHnR1kaU480iRZeRoOEfBbE1T+pBHtFqNVwnGvrt3LCEza76gU26doABJTaXNcAr1ntamkOuPbiSeCJ+0moVe1cr5JGvUcS8zAHQBLsTTuOeNPokWia1lmhcEOMES1ydj0CQbY/quj6EbC9QkFglTtX/K0rYbb5VOb3jYloeaZW5ba61gBiFsjznMZpKLNyoqoAhMAx/ZWXKhHjRT3DDcyzGSzCuHi8yDSCPAphWn/txUppK6xWvzDS7XzUrc68CtSV5stnmHffOgNEUTlZBfw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zl02WHcFpCS0M/lwtXzNyuIo2a8mvAEFAKPZQlY0B94=;
 b=CvBNKK8qlFuGYmelo6Bo0jBdMHYiTRA9K8zNVwIl+fdYRgo1F3k8w3li5sxS8h2Eahst7/Hj4M7nOjXxkuOSNF7FT8bsb5CtDrlJRyA6cEsqt4W0bbJZ/vYOm+yjTMG9FKVRRe9fL81geryW5/IWkNWq5YTtjhW/+QshW0OHbh6rLPcEhrwLQyZefE7Ic9THgcBIh4aw+z4WYZQe+3yGRTHBr3nOB6jhpaEQWdj8nkbeQ3jUjt+fNWfAaqw8mtKzXZn6e1HHl/ia1sEnHq21DIzTlUMUhsNmusdgQG09Z76H4PbGrDOVAvEC7en7IhXNWaLvw6dT6/NCDhlEIhxXYw==
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=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zl02WHcFpCS0M/lwtXzNyuIo2a8mvAEFAKPZQlY0B94=;
 b=En+aIvHMI+XLJAkk/+Gnq8pX6oOmeeneWLw6qSKh7d7Kxfrxo14JQgmuDkYz5BeGoqi/hX0bkaPtKZ/GyjsSFAh2x9NkO924vGXVdNOuKb8FkrJisXmBbvummz6Yw7sYn3bbPE05awGL+LIFPUtbs5IbHAseQ/CI7eDbR1CEfLX+BylNhqg+bCCw1XTvFsqXK42c+gpfx/5SPOwpoM2nVPqLJE3uJtFHoDCfz9OJpWX+Ich4pqzrtPUhg1ZfXroTkcReaA2TBx+jDAE1thp/cNvwDTCGH+ZuJIgB6L4l1CALgMqt6dI7xtjcjuA0hgt25tVXW7VU2UuyAjcVFkOpBg==
From: Roman Skakun <Roman_Skakun@epam.com>
To: Julien Grall <julien@xen.org>,
        "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <bertrand.marquis@arm.com>,
        Andrii Anisov
	<Andrii_Anisov@epam.com>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
        Oleksandr Andrushchenko
	<Oleksandr_Andrushchenko@epam.com>,
        "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>,
        Roman Skakun <rm.skakun@gmail.com>, Jan
 Beulich <jbeulich@suse.com>,
        Roman Skakun <Roman_Skakun@epam.com>
Subject: Re: Disable swiotlb for Dom0
Thread-Topic: Disable swiotlb for Dom0
Thread-Index: AQHXjfwJK3kYIT7XAUWdmOu1AWm+tKts6kUAgAD/Ofo=
Date: Wed, 11 Aug 2021 08:49:42 +0000
Message-ID: 
 <AM7PR03MB65932619505158E3930D8E8785F89@AM7PR03MB6593.eurprd03.prod.outlook.com>
References: 
 <AM7PR03MB6593B4461B99297C8650CF1C85F79@AM7PR03MB6593.eurprd03.prod.outlook.com>,<060b5741-922c-115c-7e8c-97d8aa5f46f4@xen.org>
In-Reply-To: <060b5741-922c-115c-7e8c-97d8aa5f46f4@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
authentication-results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 4a330ddc-5cbc-4928-bc8b-08d95ca4f62e
x-ms-traffictypediagnostic: AM7PR03MB6481:
x-ms-exchange-transport-forked: True
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <AM7PR03MB64814C57EDDC5D11976AFF7F85F89@AM7PR03MB6481.eurprd03.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 RwZrHaKsaVGmDso21odjO+NSYRfYeRCaWcsx+YK984sscbU4UJn27rez9msRVnSMRpZac9UvpQ3TO+SSYNjNmTOftucEqXeI6NVeHeHRouKX1tPlrnvDe3rD/dbywCNotLRPjIo5gQ0Atvn21xxx5rTZ6Q8VqBlEck3yY2Roq00PeOY+0OjZkWU4Vp4FEiDO6LFppUtQkArw6n+0pGjIBc52vAjUpK5F1NAGYqr/9UOOvuQvbndMIAxcslpEozneezFHsj0Dws5BqIlMp1yAX9MKMri3wZ0UQYx9qB0sfMLmoH0FSLsCEvuSmqjR0GYkO0MyK6+Gr3H96QCCDBhueQnYlxz/x1u0GTdqjfKBzGe8z8TXeV6in195h/oXcLqiFC8qU4HrbNEMd9ITcuNFTFaewQl9R4Ky1XGJpOpudPpoTvptm4FbDZSAo5D5ZmI62WsDWTmXfQ06sO2dhnxSgcsVerJdejs6wosR3uZmzfxqQzAV4jYmg6XB7pZKu49utNTpQSKgLGn+kiBWfDU5c8snia59c9iKYw2ezA8ydZ2SreRhJh6Ka5kkNmzejNDSpSddVVBnGsTOAsyPu3JKTplMsjxGhvAtKuSKvfda1WHgUD2vmoi2h09+iEK/jOCJfgVpdkm9EegvQWGbGwoJjsPQ+xrRWviBJVS/eF6YCfNcVUy2DZ4eAXJe+GFrqbL9KL1X9AJUqV2javzbAUL5dhKSDui9UYGr6JsvDcf7TXD1xm3wXEBHKj+7ZSNyJLu8tksnXB2FFLyDmdwXufYOLM1mnCbvh5hpFlFrzfvCbw8EUh/LcTrdnQl1cP4nKJfPc/9J9T+ZvPrCE59yVqHjtw==
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM7PR03MB6593.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(39860400002)(346002)(366004)(376002)(136003)(66446008)(66556008)(66476007)(19627405001)(7696005)(6506007)(53546011)(66946007)(71200400001)(64756008)(4326008)(2906002)(38100700002)(186003)(86362001)(83380400001)(38070700005)(76116006)(5660300002)(478600001)(52536014)(166002)(91956017)(26005)(122000001)(19627235002)(107886003)(966005)(33656002)(54906003)(55016002)(316002)(9686003)(110136005)(8676002)(8936002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?us-ascii?Q?IaLLx6+y5w8zEnxJHg1CptYkSB4p9ZVnWl0SyuKnbN3/umUZhqRxZNXnHecf?=
 =?us-ascii?Q?BHbL7EFGdJQSRx/kwGLo6r3Af7IRAZMx/VLVpgapMF0JjliXUsuaZXGNhSVI?=
 =?us-ascii?Q?uZvafkKK64LThuaahDxBMU3B2VU8ZgnrreWjsh1OdnZCHffUiTGT4pbttc+u?=
 =?us-ascii?Q?yZFyjJETeCUSF6wNZ1+doQ5xvuwRda2oao+HVkEnFsfYzLQyQT3RtI6+/6bU?=
 =?us-ascii?Q?TTp9qDfRryt5sTMkKiJgMmIQVLyMN2AB9A6MDPNUyvXoYfr8TLIXmeDY/XYV?=
 =?us-ascii?Q?w8I1Q8upLp9JaVCWyHjEOAuU+8pPWSvC185yzKOgo2ZuW1D2/H+0wW3y3tm+?=
 =?us-ascii?Q?ZouSpmAeuLGAaEmXkdADLbkewdpAkRZqKcJ/U0F1yKVquJXMe+KXVo8c/AMP?=
 =?us-ascii?Q?TCSqO4DnBSoR6vNfmWHwtXMbezm1KXft+A3yEYKJ/aFWVmP54kxUuHyKT/Je?=
 =?us-ascii?Q?+TiW0mIyaF52E82XMnmwRjoYkaXWNSNBg1Irbn549VTjejoVrDKK5DYLEEUt?=
 =?us-ascii?Q?hxvrLOvI/411g4HSQmF5E5+mwrEolSwpZJJzlkExonWqJdHpKlbNpq3HNOVg?=
 =?us-ascii?Q?rgUp3fZyK/h0n9VyZ4/BVZV+omMUHz8fOlb3H+kl7+0wJEMN12YOFcveMPIr?=
 =?us-ascii?Q?Qp+HKbKcDNHk9Wncw3e3SP070YWNbaL++mSYBtPaKFwkPdXRHtyaDbz1uFp4?=
 =?us-ascii?Q?ibUIxfYF7vRQHP/ZC4YJShdmobYn2bUF5iK2Gs51iWAKRVClZMq8g5KSCVE9?=
 =?us-ascii?Q?tWQ/AVNQ6/0UWEz2to5P3X/Gu9a/PUsoXhsj4u73X4Wi+2VvsOFQQ+dqpGle?=
 =?us-ascii?Q?3dwb2pe3M1qSH5PM9NkZ8umQWh7Q4MdOLSpeWTJCNCHkvzsShjQgzlHTUwyo?=
 =?us-ascii?Q?q20vuiDZAwPOvtgwTknbhwINq7zPOXXTpdxNmU5wvCuB/OjLaigkyZ9ihtDw?=
 =?us-ascii?Q?wVHXUTxtJZmutTOtVZIfLhKhB+giU4IZ9RUhbTLtHd30Vqjfc4FyV6dqGvP8?=
 =?us-ascii?Q?PVS8DykDtLwfBRZfNcoi00hNQ7/56/kQpQw5L+fHKNX7NAhdV8auUBWu6RCP?=
 =?us-ascii?Q?h0ib7G/ctyWTjLeWq9HI5q/WTj83FwR2Z64t23uxDGGBZHWUD/HE3zvBYDZ+?=
 =?us-ascii?Q?4Sl00POEQt8tlSA0bq80FOG4N9a3yY2tD44HsQu7OUzzpqMBT6Hij3ZpvQUH?=
 =?us-ascii?Q?yaRVRx6ZK7N1xaa5sHc0GrdZSE54oCuAueKWYZ90fcboBcoWR67y6HwwTL/z?=
 =?us-ascii?Q?6rHxn3q8jbnaC9/eBnH1zRXunGu2D9V86Kbl4BG9dKqxU7bthe0mrEX4ss6L?=
 =?us-ascii?Q?cJQ=3D?=
Content-Type: multipart/alternative;
	boundary="_000_AM7PR03MB65932619505158E3930D8E8785F89AM7PR03MB6593eurp_"
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6593.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4a330ddc-5cbc-4928-bc8b-08d95ca4f62e
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Aug 2021 08:49:42.2872
 (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: MbvfFynkrquvkKDvDw4QLtEkqhczloOnBMekdTlbO7B9igPMP4p8ebL8DBI3pNoiBhHYdS8vwJY91Resvk5z+Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR03MB6481
X-Proofpoint-GUID: GJts4pzLtXGX0a6CxHYWCeUpparW64fh
X-Proofpoint-ORIG-GUID: GJts4pzLtXGX0a6CxHYWCeUpparW64fh
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.391,18.0.790
 definitions=2021-08-11_03:2021-08-10,2021-08-11 signatures=0
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0
 priorityscore=1501 mlxscore=0 lowpriorityscore=0 suspectscore=0
 malwarescore=0 spamscore=0 clxscore=1015 adultscore=0 mlxlogscore=999
 phishscore=0 impostorscore=0 classifier=spam adjust=0 reason=mlx
 scancount=1 engine=8.12.0-2107140000 definitions=main-2108110056

--_000_AM7PR03MB65932619505158E3930D8E8785F89AM7PR03MB6593eurp_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hi, Julien!

Thanks for the answer!

>> I have observed your patch here:
>> https://urldefense.com/v3/__https://patchwork.kernel.org/project/xen-dev=
el/patch/alpine.DEB.2.21.2102161333090.3234@sstabellini-ThinkPad->>T480s/__=
;!!GF_29dbcQIUBPA!kH5gzG1mxcIgDqMu2cVjTD3ggN9LiPN4OVinOnqrhLQrNr-mRb72udp2B=
5XBqZlW$<https://urldefense.com/v3/__https://patchwork.kernel.org/project/x=
en-devel/patch/alpine.DEB.2.21.2102161333090.3234@sstabellini-ThinkPad->T48=
0s/__;!!GF_29dbcQIUBPA!kH5gzG1mxcIgDqMu2cVjTD3ggN9LiPN4OVinOnqrhLQrNr-mRb72=
udp2B5XBqZlW$> [patchwork[.]kernel[.]org]
>>
>> And I collided with the same issue, when Dom0 device trying to use
>> swiotlb fops for devices which are controlled by IOMMU.
>
>The issue Stefano reported was when the dom0 is not direct mapped.
>However...

I applied these patches:
https://github.com/torvalds/linux/commit/f5079a9a2a31607a2343e544e9182ce35b=
030578
https://github.com/xen-project/xen/commit/d66bf122c0ab79063a607d6cf68edf5e9=
1d17d5e
to check this more pragmatically.

Also, I added the log in xen_swiotlb_detect() and can see that swiotlb stil=
l used (other devices within dom0 used too), when dom0 is direct mapped:

[    1.870363] xen_swiotlb_detect() dev: rcar-fcp, XENFEAT_direct_mapped, u=
se swiotlb
[    1.878352] xen_swiotlb_detect() dev: rcar-fcp, XENFEAT_direct_mapped, u=
se swiotlb
[    1.886309] xen_swiotlb_detect() dev: rcar-fcp, XENFEAT_direct_mapped, u=
se swiotlb

This means, that all devices are using swiotlb-xen DMA fops.
By the way, before applying this patches, dom0 always used swiotlb-xen fops=
 for initial domain by design.


> Any reason to not use the stable branch for 5.10? I don't know whether
> your issue will be fixed there, but the stable branch usually contains a
> lot of bug fixes (including security one). So it is a good idea to use
> it over the first release of a kernel version.

Yes, sure, current BSP release based on 5.10 kernel:
https://github.com/xen-troops/linux/tree/v5.10/rcar-5.0.0.rc4-xt0.1
based on https://github.com/renesas-rcar/linux-bsp<https://github.com/renes=
as-rcar/linux-bsp/tree/v5.10.41/rcar-5.1.0.rc2>
BTW, I specified the wrong kernel URL in the previous massage, sorry.

>> Issue caused in xen_swiotlb_map_page():
>> ```
>>   dev: rcar-fcp, cap: 0, dma_mask: ffffffff, page: fffffe00180c7400, pag=
e_to_phys: 64b1d0000,
>> xen_phys_to_dma(phys): 64b1d0000
>> ```
>
>I can't seem to find this printk in Linux 5.10. Did you add it yourself?

Yes, it's my own log.


> This line suggests that the SWIOTLB tried to bounce the DMA buffer. In
> general, the use of the bounce buffer should be rare. So I would suggest
> to find out why this is used.
>
> Looking at the code, this suggests that one of the following check is fal=
se:
>
>         /*
>          * If the address happens to be in the device's DMA window,
>           * we can safely return the device addr and not worry about boun=
ce
>           * buffering it.
>           */
>         if (dma_capable(dev, dev_addr, size, true) &&
>             !range_straddles_page_boundary(phys, size) &&
>                 !xen_arch_need_swiotlb(dev, phys, dev_addr) &&
>                 swiotlb_force !=3D SWIOTLB_FORCE)
>                 goto done;

I checked this earlier and saw that dma_capable(dev, dev_addr, size, true) =
 returns false as expected because
we got dev_addr equals 64b1d0000 and according to this expression under dma=
_capable():

```
dma_addr_t end =3D dev_addr + size - 1;
return end <=3D min_not_zero(*dev->dma_mask, dev->bus_dma_limit);
```
As result, DMA mask more than 32bit.

> Let me start with that I agree we should disable swiotlb when we know
> the device is protected. However, from what you describe, it sounds like
> the same issue would appear if the IOMMU was disabled.

Yes, it looks like a potential issue. This means that swiotlb should be wor=
ked correctly, when it's needed, agreed.
But this is also potential improvement, and I presented this idea to discus=
s and create some patches.

> Therefore, I think we should first find out why Linux wants to bounce
> the DMA buffer.

We retrieved dev_addr(64b1d0000) + size > 32bit mask, but fcp driver wants =
to use only 32 bit boundary address, but that's consequence.
I think, the main reason of using bounce buffer is MFN address, not DMA phy=
s address.

Cheers!
________________________________
From: Julien Grall <julien@xen.org>
Sent: Tuesday, August 10, 2021 7:16 PM
To: Roman Skakun <Roman_Skakun@epam.com>; sstabellini@kernel.org <sstabelli=
ni@kernel.org>
Cc: Bertrand Marquis <bertrand.marquis@arm.com>; Andrii Anisov <Andrii_Anis=
ov@epam.com>; Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>; Oleksandr Tys=
hchenko <Oleksandr_Tyshchenko@epam.com>; Oleksandr Andrushchenko <Oleksandr=
_Andrushchenko@epam.com>; xen-devel@lists.xenproject.org <xen-devel@lists.x=
enproject.org>; Roman Skakun <rm.skakun@gmail.com>; Jan Beulich <jbeulich@s=
use.com>
Subject: Re: Disable swiotlb for Dom0



On 10/08/2021 16:38, Roman Skakun wrote:
> Hi, Stefano!

Hi,

> I have observed your patch here:
> https://urldefense.com/v3/__https://patchwork.kernel.org/project/xen-deve=
l/patch/alpine.DEB.2.21.2102161333090.3234@sstabellini-ThinkPad-T480s/__;!!=
GF_29dbcQIUBPA!kH5gzG1mxcIgDqMu2cVjTD3ggN9LiPN4OVinOnqrhLQrNr-mRb72udp2B5XB=
qZlW$ [patchwork[.]kernel[.]org]
>
> And I collided with the same issue, when Dom0 device trying to use
> swiotlb fops for devices which are controlled by IOMMU.

The issue Stefano reported was when the dom0 is not direct mapped.
However...

>
> Prerequisites:
> https://urldefense.com/v3/__https://github.com/xen-project/xen/tree/stabl=
e-4.15__;!!GF_29dbcQIUBPA!kH5gzG1mxcIgDqMu2cVjTD3ggN9LiPN4OVinOnqrhLQrNr-mR=
b72udp2B6EVrRb_$ [github[.]com]

... if you are really using 4.15, then the domain will always be direct
mapped. So I think this is a different one.

> https://urldefense.com/v3/__https://github.com/torvalds/linux/tree/v5.10_=
_;!!GF_29dbcQIUBPA!kH5gzG1mxcIgDqMu2cVjTD3ggN9LiPN4OVinOnqrhLQrNr-mRb72udp2=
B1n8el4F$ [github[.]com]

Any reason to not use the stable branch for 5.10? I don't know whether
your issue will be fixed there, but the stable branch usually contains a
lot of bug fixes (including security one). So it is a good idea to use
it over the first release of a kernel version.

> Issue caused in xen_swiotlb_map_page():
> ```
>   dev: rcar-fcp, cap: 0, dma_mask: ffffffff, page: fffffe00180c7400, page=
_to_phys: 64b1d0000,
> xen_phys_to_dma(phys): 64b1d0000
> ```

I can't seem to find this printk in Linux 5.10. Did you add it yourself?

>
> There is retrieved MFN(0x64b1d0000), which belongs to DomU. Dom0
> swiotlb couldn't proceed to this address and throws the log:
>
> ```
> [   99.504990] rcar-fcp fea2f000.fcp: swiotlb buffer is full (sz: 3686400=
 bytes), total 32768 (slots), used 64 (slots)
> ```

This line suggests that the SWIOTLB tried to bounce the DMA buffer. In
general, the use of the bounce buffer should be rare. So I would suggest
to find out why this is used.

Looking at the code, this suggests that one of the following check is false=
:

         /*
          * If the address happens to be in the device's DMA window,
          * we can safely return the device addr and not worry about bounce
          * buffering it.
          */
         if (dma_capable(dev, dev_addr, size, true) &&
             !range_straddles_page_boundary(phys, size) &&
                 !xen_arch_need_swiotlb(dev, phys, dev_addr) &&
                 swiotlb_force !=3D SWIOTLB_FORCE)
                 goto done;

>
> Temporary, I resolved this issue by disabling swiotlb for dom0 at all
> because sure that all devices goes through IOMMU, but this mention can
> be true only for me.
>
> But, I think of a more reliable way is to declare a special IOMMU
> property in xen dts for each device. If the device controlled by IOMMU
> not need to set swiotlb fops in arch_setup_dma_ops.
> What do you think about it?

Let me start with that I agree we should disable swiotlb when we know
the device is protected. However, from what you describe, it sounds like
the same issue would appear if the IOMMU was disabled.

Therefore, I think we should first find out why Linux wants to bounce
the DMA buffer. Does your device have any DMA restriction?

Cheers,

--
Julien Grall

--_000_AM7PR03MB65932619505158E3930D8E8785F89AM7PR03MB6593eurp_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<style type=3D"text/css" style=3D"display:none;"> P {margin-top:0;margin-bo=
ttom:0;} </style>
</head>
<body dir=3D"ltr">
<div style=3D""><span style=3D"color: rgb(0, 0, 0); font-family: Calibri, A=
rial, Helvetica, sans-serif; font-size: 12pt;">Hi, Julien!<br>
<br>
Thanks for the answer!<br>
<br>
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;</span>&gt;
 I have observed your patch here:</span><br>
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;</span>&gt;<spa=
n>&nbsp;</span></span><a href=3D"https://urldefense.com/v3/__https://patchw=
ork.kernel.org/project/xen-devel/patch/alpine.DEB.2.21.2102161333090.3234@s=
stabellini-ThinkPad-&gt;T480s/__;!!GF_29dbcQIUBPA!kH5gzG1mxcIgDqMu2cVjTD3gg=
N9LiPN4OVinOnqrhLQrNr-mRb72udp2B5XBqZlW$" target=3D"_blank" rel=3D"noopener=
 noreferrer" data-auth=3D"NotApplicable" data-linkindex=3D"0" style=3D"marg=
in:0px;font-size:14.6667px;font-family:&quot;Segoe UI&quot;, &quot;Segoe UI=
 Web (West European)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSy=
stemFont, Roboto, &quot;Helvetica Neue&quot;, sans-serif;background-color:r=
gb(255, 255, 255)">https://urldefense.com/v3/__https://patchwork.kernel.org=
/project/xen-devel/patch/alpine.DEB.2.21.2102161333090.3234@sstabellini-Thi=
nkPad-<span style=3D"color:rgb(0, 0, 0);background-color:rgb(255, 255, 255)=
;display:inline !important">&gt;</span><span style=3D"color:rgb(0, 0, 0);ba=
ckground-color:rgb(255, 255, 255);display:inline !important">&gt;</span>T48=
0s/__;!!GF_29dbcQIUBPA!kH5gzG1mxcIgDqMu2cVjTD3ggN9LiPN4OVinOnqrhLQrNr-mRb72=
udp2B5XBqZlW$</a><span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Seg=
oe UI Web (West European)&quot;, &quot;Segoe UI&quot;, -apple-system, Blink=
MacSystemFont, Roboto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.=
6667px;background-color:rgb(255, 255, 255);display:inline !important"><span=
>&nbsp;</span>[patchwork[.]kernel[.]org]</span><br style=3D"font-family:&qu=
ot;Segoe UI&quot;, &quot;Segoe UI Web (West European)&quot;, &quot;Segoe UI=
&quot;, -apple-system, BlinkMacSystemFont, Roboto, &quot;Helvetica Neue&quo=
t;, sans-serif;font-size:14.6667px;background-color:rgb(255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;</span>&gt;</sp=
an><br style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West =
European)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, R=
oboto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;backgroun=
d-color:rgb(255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;</span>&gt;
 And I collided with the same issue, when Dom0 device trying to use</span><=
br style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West Euro=
pean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Robot=
o, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background-co=
lor:rgb(255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;</span>&gt;
 swiotlb fops for devices which are controlled by IOMMU.</span><br style=3D=
"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West European)&quot;=
, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Roboto, &quot;He=
lvetica Neue&quot;, sans-serif;font-size:14.6667px;background-color:rgb(255=
, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important">&gt;</span><br style=
=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West European)&qu=
ot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Roboto, &quot=
;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background-color:rgb(=
255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;</span>The
 issue Stefano reported was when the dom0 is not direct mapped.</span><br s=
tyle=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West European=
)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Roboto, &=
quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background-color:=
rgb(255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;</span>However.=
..<br>
</span><br>
I applied these&nbsp;</span><font face=3D"Calibri, Arial, Helvetica, sans-s=
erif"><span style=3D"font-size: 12pt;">patches:</span></font><br>
<a href=3D"https://github.com/torvalds/linux/commit/f5079a9a2a31607a2343e54=
4e9182ce35b030578" id=3D"LPlnk" style=3D"color: rgb(0, 0, 0); font-family: =
Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;">https://github.com=
/torvalds/linux/commit/f5079a9a2a31607a2343e544e9182ce35b030578</a><br>
<div class=3D"_Entity _EType_OWALinkPreview _EId_OWALinkPreview _EReadonly_=
1" style=3D"color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sa=
ns-serif; font-size: 12pt;">
<a href=3D"https://github.com/xen-project/xen/commit/d66bf122c0ab79063a607d=
6cf68edf5e91d17d5e" id=3D"LPlnk">https://github.com/xen-project/xen/commit/=
d66bf122c0ab79063a607d6cf68edf5e91d17d5e</a></div>
<span style=3D"font-family:Calibri, Arial, Helvetica, sans-serif;background=
-color:rgb(255, 255, 255);display:inline !important">to check this more pra=
gmatically.</span><br>
<br>
<div class=3D"_Entity _EType_OWALinkPreview _EId_OWALinkPreview_1 _EReadonl=
y_1" style=3D"color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, =
sans-serif; font-size: 12pt;">
</div>
</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);">
Also, I added the log in&nbsp;<span style=3D"background-color:rgb(255, 255,=
 255);display:inline !important">xen_swiotlb_detect()&nbsp;</span>and can s=
ee that swiotlb still used (other devices within dom0 used too), when dom0 =
is direct mapped:<br>
<br>
[ &nbsp; &nbsp;1.870363] xen_swiotlb_detect() dev: rcar-fcp, XENFEAT_direct=
_mapped, use swiotlb
<div>[ &nbsp; &nbsp;1.878352] xen_swiotlb_detect() dev: rcar-fcp, XENFEAT_d=
irect_mapped, use swiotlb</div>
[ &nbsp; &nbsp;1.886309] xen_swiotlb_detect() dev: rcar-fcp, XENFEAT_direct=
_mapped, use swiotlb<br>
<br>
This means, that all devices are using swiotlb-xen DMA fops.<br>
By the way, before applying this patches, dom0 always used swiotlb-xen fops=
 for initial domain by design.<br>
<br>
<br>
</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important">&gt; Any reason to not=
 use
 the stable branch for 5.10? I don't know whether</span><br>
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important">&gt; your issue will b=
e
 fixed there, but the stable branch usually contains a</span><br style=3D"f=
ont-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West European)&quot;, =
&quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Roboto, &quot;Helv=
etica Neue&quot;, sans-serif;font-size:14.6667px;background-color:rgb(255, =
255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important">&gt; lot of bug fixes =
(including
 security one). So it is a good idea to use</span><br style=3D"font-family:=
&quot;Segoe UI&quot;, &quot;Segoe UI Web (West European)&quot;, &quot;Segoe=
 UI&quot;, -apple-system, BlinkMacSystemFont, Roboto, &quot;Helvetica Neue&=
quot;, sans-serif;font-size:14.6667px;background-color:rgb(255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important">&gt; it over the first=
 release
 of a kernel version.<br>
</span><br>
Yes, sure, <span style=3D"background-color:rgb(255, 255, 255);display:inlin=
e !important">
current BSP release based on 5.10 kernel:</span>
<div><a href=3D"https://github.com/xen-troops/linux/tree/v5.10/rcar-5.0.0.r=
c4-xt0.1" id=3D"LPlnk">https://github.com/xen-troops/linux/tree/v5.10/rcar-=
5.0.0.rc4-xt0.1</a></div>
<div>based on&nbsp;<a href=3D"https://github.com/renesas-rcar/linux-bsp/tre=
e/v5.10.41/rcar-5.1.0.rc2" id=3D"LPlnk734023">https://github.com/renesas-rc=
ar/linux-bsp</a><br>
</div>
<div>BTW, I specified the wrong&nbsp;<span style=3D"background-color:rgb(25=
5, 255, 255);display:inline !important">kernel URL</span>&nbsp;in the previ=
ous massage, sorry.<br>
<br>
</div>
<div><span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (W=
est European)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFon=
t, Roboto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;backg=
round-color:rgb(255, 255, 255);display:inline !important"><span style=3D"ba=
ckground-color:rgb(255, 255, 255);display:inline !important">&gt;</span>&gt=
;
 Issue caused in xen_swiotlb_map_page():</span><br>
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;</span>&gt;
 ```</span><br style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI We=
b (West European)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSyste=
mFont, Roboto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;b=
ackground-color:rgb(255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;</span>&gt;&nbs=
p;&nbsp;
 dev: rcar-fcp, cap: 0, dma_mask: ffffffff, page: fffffe00180c7400, page_to=
_phys: 64b1d0000,</span><br style=3D"font-family:&quot;Segoe UI&quot;, &quo=
t;Segoe UI Web (West European)&quot;, &quot;Segoe UI&quot;, -apple-system, =
BlinkMacSystemFont, Roboto, &quot;Helvetica Neue&quot;, sans-serif;font-siz=
e:14.6667px;background-color:rgb(255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;</span>&gt;
 xen_phys_to_dma(phys): 64b1d0000</span><br style=3D"font-family:&quot;Sego=
e UI&quot;, &quot;Segoe UI Web (West European)&quot;, &quot;Segoe UI&quot;,=
 -apple-system, BlinkMacSystemFont, Roboto, &quot;Helvetica Neue&quot;, san=
s-serif;font-size:14.6667px;background-color:rgb(255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;</span>&gt;
 ```</span><br style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI We=
b (West European)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSyste=
mFont, Roboto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;b=
ackground-color:rgb(255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important">&gt;</span><br style=
=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West European)&qu=
ot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Roboto, &quot=
;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background-color:rgb(=
255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;</span>I
 can't seem to find this printk in Linux 5.10. Did you add it yourself?<br>
</span><br>
</div>
<div>Yes, it's my own log.<br>
<br>
<br>
</div>
<span></span><span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe U=
I Web (West European)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacS=
ystemFont, Roboto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667=
px;background-color:rgb(255, 255, 255);display:inline !important"><span sty=
le=3D"background-color:rgb(255, 255, 255);display:inline !important">&gt;<s=
pan>&nbsp;</span></span>This
 line suggests that the SWIOTLB tried to bounce the DMA buffer. In</span><b=
r>
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;<span>&nbsp;</s=
pan></span>general,
 the use of the bounce buffer should be rare. So I would suggest</span><br =
style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West Europea=
n)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Roboto, =
&quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background-color=
:rgb(255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;<span>&nbsp;</s=
pan></span>to
 find out why this is used.</span><br style=3D"font-family:&quot;Segoe UI&q=
uot;, &quot;Segoe UI Web (West European)&quot;, &quot;Segoe UI&quot;, -appl=
e-system, BlinkMacSystemFont, Roboto, &quot;Helvetica Neue&quot;, sans-seri=
f;font-size:14.6667px;background-color:rgb(255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important">&gt;<span>&nbsp;</span=
></span><br style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (=
West European)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFo=
nt, Roboto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;back=
ground-color:rgb(255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;<span>&nbsp;</s=
pan></span>Looking
 at the code, this suggests that one of the following check is false:</span=
><br style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West Eu=
ropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Rob=
oto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background-=
color:rgb(255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important">&gt;<span>&nbsp;</span=
></span><br style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (=
West European)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFo=
nt, Roboto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;back=
ground-color:rgb(255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;<span>&nbsp;</s=
pan></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 /*</span><br style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web=
 (West European)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystem=
Font, Roboto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;ba=
ckground-color:rgb(255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;<span>&nbsp;</s=
pan></span>&nbsp;
 &nbsp; &nbsp; &nbsp; &nbsp;* If the address happens to be in the device's =
DMA window,</span><br style=3D"font-family:&quot;Segoe UI&quot;, &quot;Sego=
e UI Web (West European)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkM=
acSystemFont, Roboto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6=
667px;background-color:rgb(255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;<span>&nbsp;</s=
pan></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 * we can safely return the device addr and not worry about bounce</span><b=
r style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West Europ=
ean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Roboto=
, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background-col=
or:rgb(255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;<span>&nbsp;</s=
pan></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 * buffering it.</span><br style=3D"font-family:&quot;Segoe UI&quot;, &quot=
;Segoe UI Web (West European)&quot;, &quot;Segoe UI&quot;, -apple-system, B=
linkMacSystemFont, Roboto, &quot;Helvetica Neue&quot;, sans-serif;font-size=
:14.6667px;background-color:rgb(255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;<span>&nbsp;</s=
pan></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 */</span><br style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web=
 (West European)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystem=
Font, Roboto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;ba=
ckground-color:rgb(255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;<span>&nbsp;</s=
pan></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 if (dma_capable(dev, dev_addr, size, true) &amp;&amp;</span><br style=3D"f=
ont-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West European)&quot;, =
&quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Roboto, &quot;Helv=
etica Neue&quot;, sans-serif;font-size:14.6667px;background-color:rgb(255, =
255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;<span>&nbsp;</s=
pan></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;
 !range_straddles_page_boundary(phys, size) &amp;&amp;</span><br style=3D"f=
ont-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West European)&quot;, =
&quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Roboto, &quot;Helv=
etica Neue&quot;, sans-serif;font-size:14.6667px;background-color:rgb(255, =
255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;<span>&nbsp;</s=
pan></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;
 !xen_arch_need_swiotlb(dev, phys, dev_addr) &amp;&amp;</span><br style=3D"=
font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West European)&quot;,=
 &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Roboto, &quot;Hel=
vetica Neue&quot;, sans-serif;font-size:14.6667px;background-color:rgb(255,=
 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;<span>&nbsp;</s=
pan></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;
 swiotlb_force !=3D SWIOTLB_FORCE)</span><br style=3D"font-family:&quot;Seg=
oe UI&quot;, &quot;Segoe UI Web (West European)&quot;, &quot;Segoe UI&quot;=
, -apple-system, BlinkMacSystemFont, Roboto, &quot;Helvetica Neue&quot;, sa=
ns-serif;font-size:14.6667px;background-color:rgb(255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;<span>&nbsp;</s=
pan></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;
 goto done;<br>
</span><br>
<span style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 12pt;"=
>I checked this earlier and saw that&nbsp;</span><span style=3D"font-family=
: Arial, Helvetica, sans-serif; font-size: 12pt; background-color: rgb(255,=
 255, 255); display: inline !important;">dma_capable(dev,
 dev_addr, size, true)</span><span style=3D"font-family:&quot;Segoe UI&quot=
;, &quot;Segoe UI Web (West European)&quot;, &quot;Segoe UI&quot;, -apple-s=
ystem, BlinkMacSystemFont, Roboto, &quot;Helvetica Neue&quot;, sans-serif;f=
ont-size:14.6667px;background-color:rgb(255, 255, 255);display:inline !impo=
rtant"><span style=3D"font-family: Arial, Helvetica, sans-serif; font-size:=
 12pt;">&nbsp;
 returns false as expected because</span></span></div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"font-fa=
mily: Arial, Helvetica, sans-serif; font-size: 12pt;">we
 got&nbsp;</span><span><span style=3D"background-color: rgb(255, 255, 255);=
 display: inline !important; font-family: Arial, Helvetica, sans-serif; fon=
t-size: 12pt;">dev_addr equals&nbsp;</span><span style=3D"background-color:=
 rgb(255, 255, 255); display: inline !important; font-family: Arial, Helvet=
ica, sans-serif; font-size: 12pt;">64b1d0000
 and according to this expression under&nbsp;<span style=3D"background-colo=
r:rgb(255, 255, 255);display:inline !important">dma_capable():<br>
<br>
</span>```<br>
dma_addr_t end =3D <span style=3D"background-color:rgb(255, 255, 255);displ=
ay:inline !important">
dev_addr</span> + size - 1;<br>
return end &lt;=3D min_not_zero(*dev-&gt;dma_mask, dev-&gt;bus_dma_limit);<=
br>
```<br>
</span></span><span style=3D"font-family: Arial, Helvetica, sans-serif; fon=
t-size: 12pt;"><span style=3D"background-color:rgb(255, 255, 255);display:i=
nline !important">As result, DMA mask more than</span>&nbsp;32bit.</span><s=
pan><br>
<br>
<span style=3D"background-color:rgb(255, 255, 255);display:inline !importan=
t"><span style=3D"background-color:rgb(255, 255, 255);display:inline !impor=
tant">&gt;&nbsp;</span>Let me start with that I agree we should disable swi=
otlb when we know</span><br>
<span style=3D"background-color:rgb(255, 255, 255);display:inline !importan=
t"><span style=3D"background-color:rgb(255, 255, 255);display:inline !impor=
tant">&gt;&nbsp;</span>the device is protected. However, from what you desc=
ribe, it sounds like</span><br style=3D"background-color:rgb(255, 255, 255)=
">
<span style=3D"background-color:rgb(255, 255, 255);display:inline !importan=
t"><span style=3D"background-color:rgb(255, 255, 255);display:inline !impor=
tant">&gt;&nbsp;</span>the same issue would appear if the IOMMU was disable=
d.</span><br style=3D"background-color:rgb(255, 255, 255)">
<br>
</span><span style=3D"font-size: 12pt;"></span></span></div>
<div><span style=3D"font-size: 12pt;">Yes, it looks like a potential issue.=
 This means that swiotlb should be worked correctly, when it's needed, agre=
ed.</span></div>
<span style=3D"font-size: 12pt;">But this is also potential improvement, an=
d I presented this idea to discuss and create some patches.</span>
<div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"font-si=
ze: 12pt;"></span></span></div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; color: rg=
b(0, 0, 0);">
<span style=3D"font-family: &quot;Segoe UI&quot;, &quot;Segoe UI Web (West =
European)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, R=
oboto, &quot;Helvetica Neue&quot;, sans-serif; background-color: rgb(255, 2=
55, 255); display: inline !important;"><br style=3D"background-color:rgb(25=
5, 255, 255)">
<span style=3D"font-size: 14.6667px; background-color: rgb(255, 255, 255); =
display: inline !important;"><span style=3D"background-color:rgb(255, 255, =
255);display:inline !important">&gt;&nbsp;</span>Therefore, I think we shou=
ld first find out why Linux wants to bounce</span><br style=3D"background-c=
olor:rgb(255, 255, 255)">
<span style=3D"font-size: 14.6667px; background-color: rgb(255, 255, 255); =
display: inline !important;"><span style=3D"background-color:rgb(255, 255, =
255);display:inline !important">&gt;&nbsp;</span>the DMA buffer.
<br>
<br>
</span><span style=3D"font-size: 12pt; background-color: rgb(255, 255, 255)=
; display: inline !important;">We retrieved dev_addr(<span style=3D"font-fa=
mily:Arial, Helvetica, sans-serif;background-color:rgb(255, 255, 255);displ=
ay:inline !important">64b1d0000)&nbsp;</span>+
 size &gt; 32bit mask, but fcp driver wants to use only 32 bit boundary add=
ress, but that's consequence.</span><span style=3D"font-size: 14.6667px; ba=
ckground-color: rgb(255, 255, 255); display: inline !important;"><br>
</span><span style=3D"font-size: 12pt; background-color: rgb(255, 255, 255)=
; display: inline !important;">I think, the main reason of using
<span style=3D"font-size:14.6667px;background-color:rgb(255, 255, 255);disp=
lay:inline !important">
bounce buffer is</span>&nbsp;MFN address, not DMA phys address.</span><span=
 style=3D"font-size: 14.6667px; background-color: rgb(255, 255, 255); displ=
ay: inline !important;"><br>
</span><br>
</span><span style=3D"font-family: &quot;Segoe UI&quot;, &quot;Segoe UI Web=
 (West European)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystem=
Font, Roboto, &quot;Helvetica Neue&quot;, sans-serif; background-color: rgb=
(255, 255, 255); display: inline !important; color: rgb(0, 0, 0);">Cheers!<=
/span></div>
</div>
<div id=3D"appendonsend"></div>
<hr style=3D"display:inline-block;width:98%" tabindex=3D"-1">
<div id=3D"divRplyFwdMsg" dir=3D"ltr"><font face=3D"Calibri, sans-serif" st=
yle=3D"font-size:11pt" color=3D"#000000"><b>From:</b> Julien Grall &lt;juli=
en@xen.org&gt;<br>
<b>Sent:</b> Tuesday, August 10, 2021 7:16 PM<br>
<b>To:</b> Roman Skakun &lt;Roman_Skakun@epam.com&gt;; sstabellini@kernel.o=
rg &lt;sstabellini@kernel.org&gt;<br>
<b>Cc:</b> Bertrand Marquis &lt;bertrand.marquis@arm.com&gt;; Andrii Anisov=
 &lt;Andrii_Anisov@epam.com&gt;; Volodymyr Babchuk &lt;Volodymyr_Babchuk@ep=
am.com&gt;; Oleksandr Tyshchenko &lt;Oleksandr_Tyshchenko@epam.com&gt;; Ole=
ksandr Andrushchenko &lt;Oleksandr_Andrushchenko@epam.com&gt;;
 xen-devel@lists.xenproject.org &lt;xen-devel@lists.xenproject.org&gt;; Rom=
an Skakun &lt;rm.skakun@gmail.com&gt;; Jan Beulich &lt;jbeulich@suse.com&gt=
;<br>
<b>Subject:</b> Re: Disable swiotlb for Dom0</font>
<div>&nbsp;</div>
</div>
<div class=3D"BodyFragment"><font size=3D"2"><span style=3D"font-size:11pt;=
">
<div class=3D"PlainText"><br>
<br>
On 10/08/2021 16:38, Roman Skakun wrote:<br>
&gt; Hi, Stefano!<br>
<br>
Hi,<br>
<br>
&gt; I have observed your patch here:<br>
&gt; <a href=3D"https://urldefense.com/v3/__https://patchwork.kernel.org/pr=
oject/xen-devel/patch/alpine.DEB.2.21.2102161333090.3234@sstabellini-ThinkP=
ad-T480s/__;!!GF_29dbcQIUBPA!kH5gzG1mxcIgDqMu2cVjTD3ggN9LiPN4OVinOnqrhLQrNr=
-mRb72udp2B5XBqZlW$">
https://urldefense.com/v3/__https://patchwork.kernel.org/project/xen-devel/=
patch/alpine.DEB.2.21.2102161333090.3234@sstabellini-ThinkPad-T480s/__;!!GF=
_29dbcQIUBPA!kH5gzG1mxcIgDqMu2cVjTD3ggN9LiPN4OVinOnqrhLQrNr-mRb72udp2B5XBqZ=
lW$</a> [patchwork[.]kernel[.]org]<br>
&gt; <br>
&gt; And I collided with the same issue, when Dom0 device trying to use<br>
&gt; swiotlb fops for devices which are controlled by IOMMU.<br>
<br>
The issue Stefano reported was when the dom0 is not direct mapped. <br>
However...<br>
<br>
&gt; <br>
&gt; Prerequisites:<br>
&gt; <a href=3D"https://urldefense.com/v3/__https://github.com/xen-project/=
xen/tree/stable-4.15__;!!GF_29dbcQIUBPA!kH5gzG1mxcIgDqMu2cVjTD3ggN9LiPN4OVi=
nOnqrhLQrNr-mRb72udp2B6EVrRb_$">
https://urldefense.com/v3/__https://github.com/xen-project/xen/tree/stable-=
4.15__;!!GF_29dbcQIUBPA!kH5gzG1mxcIgDqMu2cVjTD3ggN9LiPN4OVinOnqrhLQrNr-mRb7=
2udp2B6EVrRb_$</a> [github[.]com]<br>
<br>
... if you are really using 4.15, then the domain will always be direct <br=
>
mapped. So I think this is a different one.<br>
<br>
&gt; <a href=3D"https://urldefense.com/v3/__https://github.com/torvalds/lin=
ux/tree/v5.10__;!!GF_29dbcQIUBPA!kH5gzG1mxcIgDqMu2cVjTD3ggN9LiPN4OVinOnqrhL=
QrNr-mRb72udp2B1n8el4F$">
https://urldefense.com/v3/__https://github.com/torvalds/linux/tree/v5.10__;=
!!GF_29dbcQIUBPA!kH5gzG1mxcIgDqMu2cVjTD3ggN9LiPN4OVinOnqrhLQrNr-mRb72udp2B1=
n8el4F$</a> [github[.]com]<br>
<br>
Any reason to not use the stable branch for 5.10? I don't know whether <br>
your issue will be fixed there, but the stable branch usually contains a <b=
r>
lot of bug fixes (including security one). So it is a good idea to use <br>
it over the first release of a kernel version.<br>
<br>
&gt; Issue caused in xen_swiotlb_map_page():<br>
&gt; ```<br>
&gt;&nbsp;&nbsp; dev: rcar-fcp, cap: 0, dma_mask: ffffffff, page: fffffe001=
80c7400, page_to_phys: 64b1d0000,<br>
&gt; xen_phys_to_dma(phys): 64b1d0000<br>
&gt; ```<br>
<br>
I can't seem to find this printk in Linux 5.10. Did you add it yourself?<br=
>
<br>
&gt; <br>
&gt; There is retrieved MFN(0x64b1d0000), which belongs to DomU. Dom0<br>
&gt; swiotlb couldn't proceed to this address and throws the log:<br>
&gt; <br>
&gt; ```<br>
&gt; [&nbsp; &nbsp;99.504990] rcar-fcp fea2f000.fcp: swiotlb buffer is full=
 (sz: 3686400 bytes), total 32768 (slots), used 64 (slots)<br>
&gt; ```<br>
<br>
This line suggests that the SWIOTLB tried to bounce the DMA buffer. In <br>
general, the use of the bounce buffer should be rare. So I would suggest <b=
r>
to find out why this is used.<br>
<br>
Looking at the code, this suggests that one of the following check is false=
:<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * If the address hap=
pens to be in the device's DMA window,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * we can safely retu=
rn the device addr and not worry about bounce<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * buffering it.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (dma_capable(dev, dev_a=
ddr, size, true) &amp;&amp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; !r=
ange_straddles_page_boundary(phys, size) &amp;&amp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp; !xen_arch_need_swiotlb(dev, phys, dev_addr) &amp;&amp=
;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp; swiotlb_force !=3D SWIOTLB_FORCE)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp; goto done;<br>
<br>
&gt; <br>
&gt; Temporary, I resolved this issue by disabling swiotlb for dom0 at all<=
br>
&gt; because sure that all devices goes through IOMMU, but this mention can=
<br>
&gt; be true only for me.<br>
&gt; <br>
&gt; But, I think of a more reliable way is to declare a special IOMMU<br>
&gt; property in xen dts for each device. If the device controlled by IOMMU=
<br>
&gt; not need to set swiotlb fops in arch_setup_dma_ops.<br>
&gt; What do you think about it?<br>
<br>
Let me start with that I agree we should disable swiotlb when we know <br>
the device is protected. However, from what you describe, it sounds like <b=
r>
the same issue would appear if the IOMMU was disabled.<br>
<br>
Therefore, I think we should first find out why Linux wants to bounce <br>
the DMA buffer. Does your device have any DMA restriction?<br>
<br>
Cheers,<br>
<br>
-- <br>
Julien Grall<br>
</div>
</span></font></div>
</body>
</html>

--_000_AM7PR03MB65932619505158E3930D8E8785F89AM7PR03MB6593eurp_--


From xen-devel-bounces@lists.xenproject.org Wed Aug 11 09:51:56 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 09:51:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165573.302548 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDktb-0002DV-2X; Wed, 11 Aug 2021 09:51:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165573.302548; Wed, 11 Aug 2021 09: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 1mDkta-0002DO-Vn; Wed, 11 Aug 2021 09:51:34 +0000
Received: by outflank-mailman (input) for mailman id 165573;
 Wed, 11 Aug 2021 09:51:33 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lxcx=NC=pengutronix.de=ukl@srs-us1.protection.inumbo.net>)
 id 1mDktZ-0002DI-E7
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 09:51:33 +0000
Received: from metis.ext.pengutronix.de (unknown
 [2001:67c:670:201:290:27ff:fe1d:cc33])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 4bc46019-336d-4b9e-9588-d7ed2266a7ba;
 Wed, 11 Aug 2021 09:51:31 +0000 (UTC)
Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2])
 by metis.ext.pengutronix.de with esmtps
 (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92)
 (envelope-from <ukl@pengutronix.de>)
 id 1mDktP-0000qM-4V; Wed, 11 Aug 2021 11:51:23 +0200
Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de)
 by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.92)
 (envelope-from <ukl@pengutronix.de>)
 id 1mDktN-0000bd-JH; Wed, 11 Aug 2021 11:51:21 +0200
Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.92)
 (envelope-from <ukl@pengutronix.de>)
 id 1mDktN-0003Cy-IH; Wed, 11 Aug 2021 11:51:21 +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: 4bc46019-336d-4b9e-9588-d7ed2266a7ba
Date: Wed, 11 Aug 2021 11:51:19 +0200
From: Uwe =?utf-8?Q?Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
To: Bjorn Helgaas <helgaas@kernel.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Stefano Stabellini <sstabellini@kernel.org>, kernel@pengutronix.de,
	linux-pci@vger.kernel.org,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 3/8] xen/pci: Drop some checks that are always true
Message-ID: <20210811095119.qxwhsexayjq6xhmx@pengutronix.de>
References: <20210811080637.2596434-1-u.kleine-koenig@pengutronix.de>
 <20210811080637.2596434-4-u.kleine-koenig@pengutronix.de>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="rjjcl33e7y7yovv7"
Content-Disposition: inline
In-Reply-To: <20210811080637.2596434-4-u.kleine-koenig@pengutronix.de>
X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2
X-SA-Exim-Mail-From: ukl@pengutronix.de
X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false
X-PTX-Original-Recipient: xen-devel@lists.xenproject.org


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

This mail didn't reach all intended recipients as there was a newline at
the wrong place in the input for git send-email. I fixed this up for
this reply, please make sure to do the same if you reply to this patch.
The other patches in this thread should be fine. I'm keeping the mail
content below to facilitate replying.

Sorry for the inconvenience,
Uwe

On Wed, Aug 11, 2021 at 10:06:32AM +0200, Uwe Kleine-K=F6nig wrote:
> pcifront_common_process() has a check at the start that exits early if
> pcidev or pdidev->driver are NULL. So simplify the following code by not
> checking these two again.
>=20
> Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
> Signed-off-by: Uwe Kleine-K=F6nig <u.kleine-koenig@pengutronix.de>
> ---
>  drivers/pci/xen-pcifront.c | 57 +++++++++++++++++---------------------
>  1 file changed, 25 insertions(+), 32 deletions(-)
>=20
> diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c
> index b7a8f3a1921f..3c648e6cb8f8 100644
> --- a/drivers/pci/xen-pcifront.c
> +++ b/drivers/pci/xen-pcifront.c
> @@ -591,7 +591,6 @@ static pci_ers_result_t pcifront_common_process(int c=
md,
>  	int devfn =3D pdev->sh_info->aer_op.devfn;
>  	int domain =3D pdev->sh_info->aer_op.domain;
>  	struct pci_dev *pcidev;
> -	int flag =3D 0;
> =20
>  	dev_dbg(&pdev->xdev->dev,
>  		"pcifront AER process: cmd %x (bus:%x, devfn%x)",
> @@ -606,40 +605,34 @@ static pci_ers_result_t pcifront_common_process(int=
 cmd,
>  	}
>  	pdrv =3D pcidev->driver;
> =20
> -	if (pdrv) {
> -		if (pdrv->err_handler && pdrv->err_handler->error_detected) {
> -			pci_dbg(pcidev, "trying to call AER service\n");
> -			if (pcidev) {
> -				flag =3D 1;
> -				switch (cmd) {
> -				case XEN_PCI_OP_aer_detected:
> -					result =3D pdrv->err_handler->
> -						 error_detected(pcidev, state);
> -					break;
> -				case XEN_PCI_OP_aer_mmio:
> -					result =3D pdrv->err_handler->
> -						 mmio_enabled(pcidev);
> -					break;
> -				case XEN_PCI_OP_aer_slotreset:
> -					result =3D pdrv->err_handler->
> -						 slot_reset(pcidev);
> -					break;
> -				case XEN_PCI_OP_aer_resume:
> -					pdrv->err_handler->resume(pcidev);
> -					break;
> -				default:
> -					dev_err(&pdev->xdev->dev,
> -						"bad request in aer recovery "
> -						"operation!\n");
> -
> -				}
> -			}
> +	if (pdrv->err_handler && pdrv->err_handler->error_detected) {
> +		pci_dbg(pcidev, "trying to call AER service\n");
> +		switch (cmd) {
> +		case XEN_PCI_OP_aer_detected:
> +			result =3D pdrv->err_handler->
> +				 error_detected(pcidev, state);
> +			break;
> +		case XEN_PCI_OP_aer_mmio:
> +			result =3D pdrv->err_handler->
> +				 mmio_enabled(pcidev);
> +			break;
> +		case XEN_PCI_OP_aer_slotreset:
> +			result =3D pdrv->err_handler->
> +				 slot_reset(pcidev);
> +			break;
> +		case XEN_PCI_OP_aer_resume:
> +			pdrv->err_handler->resume(pcidev);
> +			break;
> +		default:
> +			dev_err(&pdev->xdev->dev,
> +				"bad request in aer recovery "
> +				"operation!\n");
>  		}
> +
> +		return result;
>  	}
> -	if (!flag)
> -		result =3D PCI_ERS_RESULT_NONE;
> =20
> -	return result;
> +	return PCI_ERS_RESULT_NONE;
>  }
> =20
> =20
> --=20
> 2.30.2
>=20
>=20
>=20

--=20
Pengutronix e.K.                           | Uwe Kleine-K=F6nig            |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |

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

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

iQEzBAABCgAdFiEEfnIqFpAYrP8+dKQLwfwUeK3K7AkFAmETnZEACgkQwfwUeK3K
7AngaAgAhEohc3nPXbwySEwZbfw6RPi2g6gRtdXlaRxqTxqb0JZ11qNwa6bM0v9W
b8nEtOl3bkpqXI9s5UBip3TmvluoVEiSvG84QigbZoj3DkgDa80it/20WZE9FTcT
7Gy9JlF0K4hHt4ui/1kUfdB5fwHvFjU+Sa7/j/2zBZlxFeBanU4MbxNRu92g75ny
P3QVqNa7HlqxvWAzdr0Ris9qd04mIDHkeuelBKtxWKTDrVN997meU+WexFOrdHd0
Y7CKpGvAJDlJdBHs40/d1zt9kLrd/XpV2PXxWY+HmeWTQfna1W59H64mwe84G2zb
vreJoLkUUhMYD/VSOLW8TgN33oZERA==
=rzAP
-----END PGP SIGNATURE-----

--rjjcl33e7y7yovv7--


From xen-devel-bounces@lists.xenproject.org Wed Aug 11 09:52:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 09:52:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165579.302559 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDkuw-0002nm-EL; Wed, 11 Aug 2021 09:52:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165579.302559; Wed, 11 Aug 2021 09:52:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDkuw-0002nf-At; Wed, 11 Aug 2021 09:52:58 +0000
Received: by outflank-mailman (input) for mailman id 165579;
 Wed, 11 Aug 2021 09: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 1mDkuu-0002nR-LW; Wed, 11 Aug 2021 09:52: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 1mDkuu-0002Sn-GC; Wed, 11 Aug 2021 09:52: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 1mDkuu-0007uz-6B; Wed, 11 Aug 2021 09:52:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mDkuu-0007BF-5a; Wed, 11 Aug 2021 09:52:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=xGYGoG3ZjiIUo0aWtXt3rifUX5jvi+X+HECDAEvnqgM=; b=QSzX6AsoVjXK0EBjlrTxaMurfU
	JqquZGdd93iizghfSLl9SI+YF3YCaRZpkzsJAY7UyfLK5OUOpVVJ1bZSVZKyBC6mcc4BpJXf+XQHU
	lepYNhmzI4a44+MpLT+PhisnkkHqNXQxaX13l4DJj6F985tgtLJMNubDIqy4Vcqi9ZvU=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164158-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-coverity test] 164158: all pass - PUSHED
X-Osstest-Versions-This:
    xen=25da9455f1bb8a6d33039575a7b28bdfc4e3fcfe
X-Osstest-Versions-That:
    xen=2b45ff60301a988badec526846e77b538383ae63
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 11 Aug 2021 09:52:56 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 xen                  25da9455f1bb8a6d33039575a7b28bdfc4e3fcfe
baseline version:
 xen                  2b45ff60301a988badec526846e77b538383ae63

Last test of basis   164133  2021-08-08 09:19:35 Z    3 days
Testing same since   164158  2021-08-11 09:19:40 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Dario Faggioli <dfaggioli@suse.com>
  Jan Beulich <jbeulich@suse.com>
  Jane Malalane <jane.malalane@citrix.com>

jobs:
 coverity-amd64                                               pass    


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

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

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

Test harness 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
   2b45ff6030..25da9455f1  25da9455f1bb8a6d33039575a7b28bdfc4e3fcfe -> coverity-tested/smoke


From xen-devel-bounces@lists.xenproject.org Wed Aug 11 09:59:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 09:59:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165587.302572 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDl1g-0003XP-5D; Wed, 11 Aug 2021 09:59:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165587.302572; Wed, 11 Aug 2021 09: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 1mDl1g-0003XI-2D; Wed, 11 Aug 2021 09:59:56 +0000
Received: by outflank-mailman (input) for mailman id 165587;
 Wed, 11 Aug 2021 09:59:54 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HJ1Z=NC=suse.com=dfaggioli@srs-us1.protection.inumbo.net>)
 id 1mDl1e-0003X8-55
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 09:59:54 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id e4504f3c-a044-4a3a-aeea-a9bf40eee195;
 Wed, 11 Aug 2021 09:59:52 +0000 (UTC)
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2050.outbound.protection.outlook.com [104.47.0.50]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-24-JwZOkt_UMCWONx7_AQRMeg-1; Wed, 11 Aug 2021 11:59:50 +0200
Received: from AM0PR04MB5826.eurprd04.prod.outlook.com (2603:10a6:208:134::22)
 by AM0PR04MB5985.eurprd04.prod.outlook.com (2603:10a6:208:11a::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.14; Wed, 11 Aug
 2021 09:59:48 +0000
Received: from AM0PR04MB5826.eurprd04.prod.outlook.com
 ([fe80::addd:bf19:12ff:4ff2]) by AM0PR04MB5826.eurprd04.prod.outlook.com
 ([fe80::addd:bf19:12ff:4ff2%3]) with mapi id 15.20.4415.015; Wed, 11 Aug 2021
 09:59: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: e4504f3c-a044-4a3a-aeea-a9bf40eee195
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628675991;
	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=V1hOXW7Zw+mPvRHvhj/Z+RVRBDnwLK7Hro0eooYltls=;
	b=OlM7I77lwCbBtiWJqE8WGPhlIVXk1FiC3KeT3JSh3EH5ulCuBUj1kaoR6Rfee27xmVjeFb
	KxzCTpoid4BLLg90otJ9CsuUeSuf5P+aeFLmWEotpiN4FRgxF1N1Sme4KujWmSEXnofPhr
	JSd4XPyLsTraWrU981jHx/Gc0TyyPO8=
X-MC-Unique: JwZOkt_UMCWONx7_AQRMeg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NckpYN7/zwJPv3x/GWrbGczaQHJ6Gj6GmEfoFeCagCFW61LfZuno2FD8rEtcsAXlmA9VgRj0tvEjydW4zQSTeub+V77wKsC1tcZ3LKLNqGxh+X8nJE+kz6VBBTMwu1PB+g9+kNSzbs/ZvSEf7H9WOrGOlTyaetH1cXQRnq/Ap7KgWAXg2+rijgbxhZvPwCkCsaZcTzxPlsBwo84eXajuPuKrvg3p74Ry5GX9Lfbjj5s0FA0Y0BB3u1NvS8IpbImLBxIJTvRGSuCBxYS3ZnU25WnVf3dDMcSwG5ZbHWWwGl/k7pJBIcs5n2ABRZ5WxBy/nQq+J2UMzSAWucQRgYUsDw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=V1hOXW7Zw+mPvRHvhj/Z+RVRBDnwLK7Hro0eooYltls=;
 b=TRbQIcm8WKNXN9WT4i131eOql1LtbgoXy7aMl5FWhznr2rnvWX8/9V2tKzOEkbHW7jNmZZgU37BfFz+2RRCpCZPmbV2tpnqKiUF5MA/LK6VLqhJG0goW8Exdjy2EHItjDGdAKGLCBCPw5ky5f8j1Kg+M8Dk7O6qejzwOAQurpu8VAahLqCR+LLpz0Y4FoONVUCdY5oy3AmHKOXLgurPA4PxYRjJ2yzQCW9IKruCrDOh8k0KC+u6mAHMakOXASInlVtSZ4hBcBUIP9eD899hWz7OAtF1VpXsl8VpzpfJsklnc+eNNIY1raZ359/SPvWJLf/hdgu9TKawMzTrPCmgODQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
From: Dario Faggioli <dfaggioli@suse.com>
To: "julien@xen.org" <julien@xen.org>, "ahmeddan@amazon.co.uk"
	<ahmeddan@amazon.co.uk>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: "sstabellini@kernel.org" <sstabellini@kernel.org>, "mpohlack@amazon.de"
	<mpohlack@amazon.de>, "jgrall@amazon.co.uk" <jgrall@amazon.co.uk>,
	"doebel@amazon.de" <doebel@amazon.de>
Subject: Re: NULL scheduler DoS
Thread-Topic: NULL scheduler DoS
Thread-Index: AQHXjTpOV/XWdF2YLUCIZdYgL03Tzatrb1sAgAKlbQA=
Date: Wed, 11 Aug 2021 09:59:48 +0000
Message-ID: <a354a8ebb5fd780177024f870807f9b9b7d02f42.camel@suse.com>
References: <ED25BE5E-D695-4763-B97A-78D6040E2341@amazon.com>
	 <8193a685-3ab1-9407-75f3-e335ea4406e4@xen.org>
In-Reply-To: <8193a685-3ab1-9407-75f3-e335ea4406e4@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
user-agent: Evolution 3.40.3 (by Flathub.org) 
authentication-results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 2457cfb1-f335-4d54-91ae-08d95caec15a
x-ms-traffictypediagnostic: AM0PR04MB5985:
x-microsoft-antispam-prvs:
 <AM0PR04MB5985FE6F8FB281F48A0CD09AC5F89@AM0PR04MB5985.eurprd04.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:7691;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 vqQgl/ogeaCcBjDIKujwYlXzIRMbI4SiiAnD+48/SZawI/XaVglZaitw0DnXcgJ860kY0rHkSXyN96hB0Ap1cdkQH4qSkiRokF0H7254ERgZdL/s05/irkLvdhOiJC/orHYarN+3PTw1Wc+GH9Q+1CJ69/C7Xxvd/z/1V3GMjrVJV8Gkx4L1DDBoywra9xjyATjZ0RUWk0rpvMspC3P8oqkkZQulgtGNreJNiL5lJyzKkILUqL2wRaoAZlX78Lj3nV8b2KZX1CHwAQU5sRu+PMhXuvCqH6KYoQD6aD3LTLhduxeOfkl21dZHEdZlVhmLE5frkVuLCp+jqUJvdGkTiy8WgytDZT1g6aCqnrBlJzXv43tgdm12XOhlu9sTmCoH50KU27liQGLP+/miWq7SibLzxzHebjGry6zu7FxsZ56ABXBeMC+YY3yycTpLWpUqm4fgyZjBZGLt+B5EHXkI2leZZ7KLsjYz75O6l7PHlJBMpHXj5EKra3TbU6yDdSzs2Ig/KDcS3dA/iPKHpqs3eXh+9EeqXUxoMFnJUOjYlfvKW+9iEn0R6TwJusmOy22qsrTelsV14I1Hl3zC8zkfg2eVjakCcIjI0IvIKhAo7vgPQNiCTvN7px5qH0Ky79lva4kbohaB0XiBOwqgVwkrIdxJnGkxqKgPhFeQG0DgCBmsccXMaps1gLVyG1NIiPdVKNvkTCVa5jT9BsNbt0gFpKOWFPpRTzQs5uBM/T5s2tP8Of+VDVqAYFmHoc1qBRrh2SQ7hKfnEKLqCA6aZn6trafeNMiG7G5VG9hOSQex5lOp5tvqxRJ3Z/fnl8vBeZx1kCwhhD4cTDAjmR3aY7liLg==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5826.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(366004)(376002)(396003)(39860400002)(346002)(53546011)(86362001)(6506007)(186003)(6512007)(36756003)(66946007)(2906002)(3480700007)(7116003)(4326008)(38100700002)(64756008)(54906003)(83380400001)(66476007)(122000001)(66446008)(110136005)(26005)(66556008)(2616005)(316002)(478600001)(8676002)(8936002)(6486002)(99936003)(66616009)(966005)(91956017)(38070700005)(71200400001)(5660300002)(76116006);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?Yi9sdXRVWUdYbGhGbHVLMGtQcGNEMU93ekRzMzFxYS9CaHdldklKUnhyZVpp?=
 =?utf-8?B?OGUwOEZrYWpwb1pSY0RWaWIwKzVmaVlFaDQ3UWF1MmFpMU5BdCt2U0x3c3Iy?=
 =?utf-8?B?Ulg0QWYyR215Y3lETUlGNERrUkM2T2VaNzVBSTIrWnhDdy9OaVhkNFJuNVZv?=
 =?utf-8?B?OEdFd3pHSitkNzdFclFHVWpXU29yTWRFRlo5NTgxMXhXMXk3VkVHYkxBd0Y1?=
 =?utf-8?B?a3VqTFN0aUxWNmtMR1lXSVpjYnREZ200Mk0rMDBvcWJYaWJHNnBPWW03Z05y?=
 =?utf-8?B?TDNENWdQd2xiOC8wTGpvOG1lcytldnhORFdzd1pFeDNCamtEa2xFUUpMWlYz?=
 =?utf-8?B?Z1NWUjg2ZnV6cW1WVE9oeFh6cUcxK0hKbzczbktlcVE5WnFPc1hxeEtQbTBK?=
 =?utf-8?B?UjlwZ1NzcC9zQ0VFbVFBcGorQ3VZVFY5TUJRNjBNSloxcHN3QUZ6N1VSK29w?=
 =?utf-8?B?b3JKWU9odkZkMk9VYkVqQlErMytPUUNhZGdNYU5DUHRhd1J1RlBRa0o3UVR3?=
 =?utf-8?B?ODdsM3FqUG1IaktGci8rSVc1ajg3NXVTMlY2K3RMMTVUTW1jNUY1ckdBM1l5?=
 =?utf-8?B?TTVubWs1Y1NVejZsZ3hhcTJiZXZpTE4za2dISDJ3dm5aeXJWZFhKMExuSkhI?=
 =?utf-8?B?eFBpMW5ITmJqQjJ0Q3VRUlNUbDI3WlJaQUszZ0hhbTY4SVl4SWZOYW9XTkdl?=
 =?utf-8?B?ZjhNUS8wLytNWVU4Uzd4OHRMaWZOZktCYlUwaXBhdFoxSS9STFMvN2lHRWR1?=
 =?utf-8?B?eU52c3NuY0hlcHZpOG5TVDZGL0o3dXdObU41TDZnSFZjaWpnYnRRYUs1cm9z?=
 =?utf-8?B?L0hFNDhWdlVpOVdRTXl3c0IyV2cwRjRBOWdDSGpFdGhteGM1dnpNc0RSWjRJ?=
 =?utf-8?B?MkxIek5XQzQ4ZEQyVWJGWWIrUGh5aVRudVoyVEFGMXh1aUorL0lqYVVWRVAy?=
 =?utf-8?B?aTVRUmlnUnVlL1ZmM0U0anFvQlFOMjhBQnJ2WGIvTmJ0b0xlSndoVzVWK2NL?=
 =?utf-8?B?NHdZVHoweGlLRTZ3aDRNTmgwbExkV01TSUZ1eFQzV0kyR0lGMmd2MlM5ak9F?=
 =?utf-8?B?RmFuMjMwYzRyV21rdkxWdUl3cVJJZU1xM0VhaEVNKzhhRXo1bVU2TUROOURK?=
 =?utf-8?B?MDhsbk0yUG9HaDBoakNRNmN0Q3NDek03eFRkZ0FubzhrMytPdGsrRmNGTlI1?=
 =?utf-8?B?THhNM2RJNTlFVExWd3kzMjRHbDZhZS9zTk9XbWtsR1dKamJXbWI3bzlVeldw?=
 =?utf-8?B?SVNCUmFoTngzU09XMWkrdU5LVUxXV3paVWRrb09iTEk4K1Z2WVJYV0tQeFhN?=
 =?utf-8?B?Zk50b2tacmhFMUdIV1kySiszb3JPMzVwS1M0Ymc1UDFSbzU0VGsxR1M1ZVQ4?=
 =?utf-8?B?L003NExYWVgzbTg0QUpDZ2dlL2doTWc4MmMvdTc5aUFvL3VRK2pOMWRjVjIy?=
 =?utf-8?B?aHZBcmpSaVVJQlVXeUsvaU9SdkZubTBwSTRYcVpIbHRHcGlKc0k3R1VtMzhL?=
 =?utf-8?B?UDFKRW5MdHJSUlRuL3puaDA5NDdqNzRSZHk3azhpZXRJRFpZamljU0RoS3cv?=
 =?utf-8?B?OEcxeFo3OEtTSVBQNnUySDVmZ0VhbWN4dkd4L1dWcE94WElKOG1yWFNnbmZN?=
 =?utf-8?B?bU5rR3dwZExRTmJHRmVMVEZyUENodGozVkdhdzFqdncvcWpIaTNFeC9zMm5J?=
 =?utf-8?B?aUZTTmdiRUl5dlc5YXY1ZGI5cGNraDFHT0FNUU43QitYTDU5RExqWlQ0NzZn?=
 =?utf-8?Q?lo849AbaL1qj46sLiclaM93fAIlmZ+2/FKhHQ/1?=
x-ms-exchange-transport-forked: True
Content-Type: multipart/signed; micalg="pgp-sha256";
	protocol="application/pgp-signature"; boundary="=-aKlXyJm4j3urG0uaTySr"
MIME-Version: 1.0
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5826.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2457cfb1-f335-4d54-91ae-08d95caec15a
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Aug 2021 09:59:48.6909
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: rs9k/mdBI2LINN+AX+tVvc48eE7yWa2lYH1C60s/lQ5WZWgx3xPSa3nztSBx0W0OtlPrQ1Bh5+sjFr/qUI2meQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB5985

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

On Mon, 2021-08-09 at 18:35 +0100, Julien Grall wrote:
> On 09/08/2021 17:19, Ahmed, Daniele wrote:
> > Hi all,
>=20
> Hi Daniele,
>=20
Hello everyone from me as well,

> Thank you for the report!
>=20
Indeed. :-)

>=20
> The ASSERT() is triggered because the pCPU was already assigned to
> one=20
> of the dom0 vCPU. This problem is happening regardless whether there
> is=20
> free pCPU.
>=20
Right. Can we raise the appropriate log level, so that we can see these
messages:

dprintk(XENLOG_G_INFO, "%d <-- %pdv%d\n", cpu, unit->domain, unit->unit_id)=
;

(and then see a full `xl dmesg`, or even better, a serial console dump,
since we crash! :-P)

> I have added some debugging in sched_set_res():
>=20
> diff --git a/xen/common/sched/private.h b/xen/common/sched/private.h
> index a870320146ef..2355f531dc13 100644
> --- a/xen/common/sched/private.h
> +++ b/xen/common/sched/private.h
> @@ -150,6 +150,10 @@ static inline void sched_set_res(struct
> sched_unit=20
> *unit,
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unsigned int cpu =3D cpumask_first(res->cp=
us);
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 struct vcpu *v;
>=20
> +=C2=A0=C2=A0=C2=A0 printk("%s: res->master_cpu %u unit %p %pd %pv\n", __=
func__,
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 res->master=
_cpu, unit, unit->domain, unit->vcpu_list);
> +=C2=A0=C2=A0=C2=A0 WARN();
> +
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 for_each_sched_unit_vcpu ( unit, v )
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ASSERT(cpu < nr_cp=
u_ids);
>=20
> This traced the problem to null_unit_migrate():
>=20
> (XEN) sched_set_res: res->master_cpu 0 unit ffff830200887f00 d1 d1v0
> (XEN) Xen WARN at private.h:155
> (XEN) ----[ Xen-4.16-unstable=C2=A0 x86_64=C2=A0 debug=3Dy=C2=A0 Tainted:=
=C2=A0=C2=A0 C=C2=A0=C2=A0 ]----
> (XEN) CPU:=C2=A0=C2=A0=C2=A0 1
> (XEN) RIP:=C2=A0=C2=A0=C2=A0 e008:[<ffff82d04023fd9f>]
> core.c#sched_set_res+0x5b/0xc6
> [...]
> (XEN) Xen call trace:
> (XEN)=C2=A0=C2=A0=C2=A0 [<ffff82d04023fd9f>] R core.c#sched_set_res+0x5b/=
0xc6
> (XEN)=C2=A0=C2=A0=C2=A0 [<ffff82d040241614>] F sched_init_vcpu+0x3dc/0x5d=
7
> (XEN)=C2=A0=C2=A0=C2=A0 [<ffff82d04020527d>] F vcpu_create+0xfb/0x37a
> (XEN)=C2=A0=C2=A0=C2=A0 [<ffff82d040238dd9>] F do_domctl+0xac0/0x184a
> (XEN)=C2=A0=C2=A0=C2=A0 [<ffff82d04030d8bc>] F pv_hypercall+0x10d/0x2b8
> (XEN)=C2=A0=C2=A0=C2=A0 [<ffff82d04038829d>] F lstar_enter+0x12d/0x140
> (XEN)
>=20
So, it's entirely possible that I'm missing something obvious here, but
what it is that is making you think that we're in null_unit_migrate() ?

Does that come from a different instance of this WARN() ?

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

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

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

iQIzBAABCAAdFiEES5ssOj3Vhr0WPnOLFkJ4iaW4c+4FAmETn5QACgkQFkJ4iaW4
c+58vA//ZUwYfUByyUgmS1QTPC6qMt8UcR1GMGfFbBcxayOZtmLsphIKULwzuYiS
+FflUsJv1ppsJUfR585szTZ3VfJnh9KVX6gTDcNUXL2A8Ebrtvdm8xAi/6HUQ1qH
CUOtvXhS2Ms0rnuiUZ4vRdlHe0diTOi5l7TR7hxHjRwA3XOBKkFWsu05hFzp8tj/
OkYNzrdzj0Kqx6ZhRQJM3Phja1geMVAoigP3OQuIYhbu9wU28H281ASQbsbUbps6
CdQE+LyYxaQRsmJl3wP4jbzVpc8CtW2VsWjXzEMNByFbPA5LSNVGKh7YFD+Fqweh
1OoVk3WcxeLL4O74z+aXdFBOi5OtTeDdVHHInEAOkOj2yb2OfBAY7/JMta43RAI3
C0pgmwLGQ9M9D4L8snbchA9FdwW4gt59h2noePicONGfCAEo4KwIOKfy8D360L+O
BqOWpJzwoY4PPr1J9p6mjiMbnk62s1h5YP2tRKqzQw0oIojnCXjvVIOPUyFYBBFd
vGXwPC4HxXXPvhLsa53jCjm5bM2r9tTcej9Y8YDAk4S+k0R//hYXJI0DiXWVRtbX
mMKRClGkl0BNbACbdcqQNe7WUY4WRrZWptVJXjrOupjDcygLxUoL/haBdWhzcDQ+
ZrHV5HHg+R1e8A7ft308K3lI6k64CyNid2RP9L1hXeXHaUuF6rY=
=ts9y
-----END PGP SIGNATURE-----

--=-aKlXyJm4j3urG0uaTySr--



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:05:47 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:05:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165594.302583 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDl7G-00051E-RP; Wed, 11 Aug 2021 10:05:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165594.302583; Wed, 11 Aug 2021 10:05:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDl7G-000517-OK; Wed, 11 Aug 2021 10:05:42 +0000
Received: by outflank-mailman (input) for mailman id 165594;
 Wed, 11 Aug 2021 10:05: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 1mDl7F-00050v-Tg; Wed, 11 Aug 2021 10:05: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 1mDl7F-0002nX-NU; Wed, 11 Aug 2021 10:05:41 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mDl7F-0000Jn-De; Wed, 11 Aug 2021 10:05:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mDl7F-0006RL-Cm; Wed, 11 Aug 2021 10:05:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Qv6hRsMXBp47EaPptVJkg6iT8yfwCe+4AOA9srovIkQ=; b=cBke5BQIVD5TZXoBcqHcuxjwU9
	5l9h/UULcKEr3zU0Qqvtz9e3nc0QK49KoRbZ2fbQwTxN/U9wKHBefeAlhANBDvH4k6HIZFqSAQxLN
	ZNl2z3l+VvGGvLwOiiQuJnA2Nq6p6JWPFiFVGG4FxYhMKiwkkwepmry8Y6vrGrs60W5E=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164156-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 164156: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=556022c4dc8381a69f1a03d68d708c6e3b70610c
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 11 Aug 2021 10:05:41 +0000

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

Regressions :-(

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

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

version targeted for testing:
 libvirt              556022c4dc8381a69f1a03d68d708c6e3b70610c
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  397 days
Failing since        151818  2020-07-11 04:18:52 Z  396 days  388 attempts
Testing same since   164156  2021-08-11 04:21:15 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  Cédric Bosdonnat <cbosdonnat@suse.com>
  Côme Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano Fidêncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Ian Wienand <iwienand@redhat.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  John Ferlan <jferlan@redhat.com>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  Ján Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Michał Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  Moshe Levi <moshele@nvidia.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr Drąg <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tomáš Golembiovský <tgolembi@redhat.com>
  Tomáš Janoušek <tomi@nomi.cz>
  Tuguoyi <tu.guoyi@h3c.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  William Douglas <william.douglas@intel.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.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                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:09:33 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:09:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165602.302598 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlAy-0005nk-KJ; Wed, 11 Aug 2021 10:09:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165602.302598; Wed, 11 Aug 2021 10:09: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 1mDlAy-0005nd-Gn; Wed, 11 Aug 2021 10:09:32 +0000
Received: by outflank-mailman (input) for mailman id 165602;
 Wed, 11 Aug 2021 10:09:31 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HJ1Z=NC=suse.com=dfaggioli@srs-us1.protection.inumbo.net>)
 id 1mDlAx-0005nE-Dh
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:09:31 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 36d0bfec-fa8c-11eb-a052-12813bfff9fa;
 Wed, 11 Aug 2021 10:09:29 +0000 (UTC)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2176.outbound.protection.outlook.com [104.47.17.176])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-31-l7X7Ijt2NIWtxMwFlHI94A-1; Wed, 11 Aug 2021 12:09:27 +0200
Received: from AM0PR04MB5826.eurprd04.prod.outlook.com (2603:10a6:208:134::22)
 by AM9PR04MB8193.eurprd04.prod.outlook.com (2603:10a6:20b:3ea::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13; Wed, 11 Aug
 2021 10:09:25 +0000
Received: from AM0PR04MB5826.eurprd04.prod.outlook.com
 ([fe80::addd:bf19:12ff:4ff2]) by AM0PR04MB5826.eurprd04.prod.outlook.com
 ([fe80::addd:bf19:12ff:4ff2%3]) with mapi id 15.20.4415.015; Wed, 11 Aug 2021
 10:09:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 36d0bfec-fa8c-11eb-a052-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628676568;
	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=huxai53Bc2Yv6lid00KRVR3RcUa5n3pg3mqGq6v7ZI4=;
	b=K0xK58BL/n9pv72M5O1VmewoEmkb7xLv45eKB9DmzQWfwQ59eN7KyKc11yl1CVq8NKJMbL
	zLRIz6O9jWTdkUJ76WLoC0gn+wM9FKAO5i5DxyLK0jZD1v+XyyitmhmZNCImDh1AHua2HI
	W/PV/Fd4Y8hO3Zo2U+TCei4mDEkD9cQ=
X-MC-Unique: l7X7Ijt2NIWtxMwFlHI94A-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=maQ2sASEBtIwQinfaMm9YBZBJeIlZtVwqfpeMzlmKB0z4HsPShGHv/tGcYTkdUlVOEDeiX46DJdJ/fNZ93vzEBcXnlPKqyojK7VTMYZKc0mrgitZqAIZSY+71xyMyJx42fV371C0MOnucleXciaLI7xIjVnusJqvjKO8FQ8HVjeLuRAESw27Lc+7SyhJSt3PrbXZoNyrwZo7jjIie0jYqryolcQdXOuXad5xfrWTnwwf+KC0h8ELtq9N1nepuoPE8Dyzg7CpjGyCEDxhGho57Bv4F9FTA+NKlVz2fFRDsTFESQ86nzEvEEAA4CcNvRMp5TLf3GslT/gER10J+F/Duw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=huxai53Bc2Yv6lid00KRVR3RcUa5n3pg3mqGq6v7ZI4=;
 b=gtY3VyJVlIdIw4w8tDlt7oBoXmctryE+gGoOeogzSUkb86jJna7SlaCDfawn9qVINYF9a+ZmW8LjyTphZoitpVR+eutEEt3hvS3rG/r0ge4KIJO+z5aZKX/Quv78c5NkROtHPYWzdA9Cp883gqeqOHU+szwVECCqQzCd0pWI/53GrvpDULCDuN/F4u7FkK6FyqwZ67R5dp4ymPI6KztLJ9yEjnRDkm3x064AemnpKFGmS/bSjmYv4nRFkvgEDwkb9lOrR9d/qcVLug5k1y+Hj6+K9DSAr1MS+mm4hIz0GumUq7cCjGfvc9maYM4DUstn0C66/9qaDZbL4OdhceXCvA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
From: Dario Faggioli <dfaggioli@suse.com>
To: "julien@xen.org" <julien@xen.org>, "ahmeddan@amazon.co.uk"
	<ahmeddan@amazon.co.uk>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: "sstabellini@kernel.org" <sstabellini@kernel.org>, "mpohlack@amazon.de"
	<mpohlack@amazon.de>, "jgrall@amazon.co.uk" <jgrall@amazon.co.uk>,
	"doebel@amazon.de" <doebel@amazon.de>
Subject: Re: NULL scheduler DoS
Thread-Topic: NULL scheduler DoS
Thread-Index: AQHXjTpOV/XWdF2YLUCIZdYgL03Tzatrb1sAgAAzUoCAAnTJAA==
Date: Wed, 11 Aug 2021 10:09:25 +0000
Message-ID: <6b5e28f427ccd89505a4448f2b9e5be992a08292.camel@suse.com>
References: <ED25BE5E-D695-4763-B97A-78D6040E2341@amazon.com>
	 <8193a685-3ab1-9407-75f3-e335ea4406e4@xen.org>
	 <f3082b8c-1388-c92b-6175-e6d8b9d4cab4@xen.org>
In-Reply-To: <f3082b8c-1388-c92b-6175-e6d8b9d4cab4@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
user-agent: Evolution 3.40.3 (by Flathub.org) 
authentication-results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 0944db32-45b1-41ad-b707-08d95cb01926
x-ms-traffictypediagnostic: AM9PR04MB8193:
x-microsoft-antispam-prvs:
 <AM9PR04MB8193E8BF04905C02451B5421C5F89@AM9PR04MB8193.eurprd04.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:8273;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 qRJUmZnzWMIAKkUJV98v5oC0hY+shnoZUdsRLuNlpxDIG8l0Nf8BIGGoWn7G3zt7g33+ENWU5akTGSpnoCM4CM09FKUGkiJ+f7LESM3qM2rOBVFvgiaP5zL5P3fwyv9wwVT+0so9kLVjaortjLCOu/U+YXvNRnu4SyJGbsoIumriAqxJE2yqON2prnsIXPAdL7qvGGNJtmJKM1bA8toMddVKoFHGmRRVBFnWa+TEW8XESs/tGrk8F54b/ZYogSWNmpT92lf7uJtO/K1nnu3uAc71fVwkvEzhzLOEidhnqwbSQtWsWpqD3P/S+PeXeWuCientOocoOzEOhBP7Jkz5eMfBy5oe1Ah7hlKsigYmftVSofpHd5pivKcCbm5Hsv3BHOduNwdIdncgTnKLVJ7W/WKuJyv4YcxwLBTZKshDAeHWArIVlq50uHisInU7YO8UqS/dTYZ34ldXGpd+DChFGllXww+2vwXTudhKnFztds3a55oW4GKUA1MqD7HrbYsR3EcH1mXK2j5GbHCCqHD4f+QI4Y78r2RmZ0DKgp0sIVvkRNbiZKu3A2MoxdlX+DwrV5EBOTDoMncA8D5llPE2cwAsuMO5hjtSwpy4rMsO3mNqgDW8kueVdt+HpLS0mW4LpdsU6nREwbZaTZiHZAupfPrgeas+j337k8tiLGxYH2GQEH17v0bK7roq2FwuW5hBX2tilj32it0p5JhqPeNNcopMLEn0qttxeaGIasMWdHJsm/gPVJOAxD86dlDUFAwnsXbV978V/7c/aGS+C7O3VWsOwR/qaocdC2/7gGWaJYJflC9qzWLwqyXTlG3FI2N+omRdSrJ33sW116s6vB1ykg==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5826.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(396003)(136003)(376002)(346002)(39860400002)(316002)(66946007)(110136005)(38070700005)(38100700002)(66556008)(66476007)(66616009)(99936003)(66446008)(64756008)(76116006)(91956017)(7116003)(122000001)(53546011)(54906003)(5660300002)(2906002)(26005)(186003)(36756003)(2616005)(71200400001)(478600001)(966005)(8936002)(3480700007)(6486002)(6512007)(8676002)(4326008)(86362001)(6506007)(83380400001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?YWdKUUZzV2JOWkh0N2pwSDNWN2cwUW45RUkybklZUmt5R1RqT3YrRCtsSHJs?=
 =?utf-8?B?a0JNMENCYlZMc1pZUzJZK0dsbXI4dUE4K2tOcUxiYlBENTRVM2NWVGJ3M3FU?=
 =?utf-8?B?c05GYXNnc25KL2oxWjBaSmFjTXlmTzBja1pYelNRSkV3TDlWQ0c4aEc4T0lz?=
 =?utf-8?B?QUVPNWFhQjZSQzUrWUdGbFdXejdpNXU1U0IySGVSZVF3VDdQNCtlNTZ1b1lt?=
 =?utf-8?B?RFd5VG51NVR0NmxpZ1g3ZzM1NDlhWUE2R1FodVZkQ2IrK3MybEQ4Q0YrQldW?=
 =?utf-8?B?dWt6N2NqTWtETUoxRGwzMEx3bUJRb3JiVlNXVXNXZEhMNTRObWduOUNnNkpN?=
 =?utf-8?B?R2N1VmZaMDBHV0ZPaGxiemt0cWxYR0JpZEdQUjMyKytTNUdDN2lpMkF2YUVZ?=
 =?utf-8?B?d1NkQ3dxVXd3TE9mNStxNjZ3NlFTa2JxVHVHR0FCNnVRalhJNW1ha2Z4aENR?=
 =?utf-8?B?T0hQQzZKK0pWN3ZKbmZtR05sK3hPVXJoVlMrbWM0TXJaKzl6RmtUaDlGeG9y?=
 =?utf-8?B?NnRrTC9KQkFqOWNVTWlVV0NLWDIvTDhRdk1oZG5KNHM1eEdjNmlFaVNod2pH?=
 =?utf-8?B?Mnlidm5OMk9HZ0tLN0V4ZTM3cktIRERJWTU1cHBRcy9ZQ1BkMU01YkxXSmxq?=
 =?utf-8?B?YTZzd1Q1UlMxbm8zcFBIYXVXUXcwNUszYVZGQ2QyTHpnZ0tVTUN0amNUZHE3?=
 =?utf-8?B?MHlDTG9Fc0J1RnhjcFNqcDBWUjVXLzdjR2VvZnQ5R2pzN2sxY1dmTk9CbXVT?=
 =?utf-8?B?aVNyZFBZZUJJelZXT0p4aG01bGhQcjQzVGhIQ0N3cUNibitrV0N1RWRzZE11?=
 =?utf-8?B?K3lJSTFSZUdjc1Z0YndTb3lFc0dkV0M1QTB6dnBaSG9KWW5KM1Fkdlg5dkQ3?=
 =?utf-8?B?WXpqdWNrQmlwSGFycXlWZkI2aFd4ZnJ5TE14NTFlRTgrenhTd3lNMEM1Q0Mw?=
 =?utf-8?B?UHB0Wjk2UXpQcXpROGhlYWpXRkI2MnhGR0M3YTNTQjBRRXRyUlZYZ0dyUVFY?=
 =?utf-8?B?RU5lTGNqYmlpY25hM2lyOHlZUjJLdHVZaTd3dlNUclE5NUpGY0loakMxeEV5?=
 =?utf-8?B?NmhPTEJjZmJ0Tm1wNjh6UEM3OUdoQWZtWW5tWHh5SEh2UmtORGx4UGIwNGxS?=
 =?utf-8?B?N3lrM2F3bmlJTkhMbjlHZVRnTjJTMWRPUXdXTWtkRjFSZjZQaUNuc2xsR3JR?=
 =?utf-8?B?N2dpZlM1YlNVYWZ1azZrdDFCK1pWcGpNclJHa3lvZ2JxZ1AxZ1dHWWZQU21t?=
 =?utf-8?B?UUZjTkRLSENoNmFqdThFd2ltQng0ZG5IRDlqdmpsUjIxWGFZbXl0SUhLYlVj?=
 =?utf-8?B?RWN4c0NIeTk0Zkw4clJZRVlmMXdKWGhuZGFwQWpHQWVnRlFleCs2MStmYThr?=
 =?utf-8?B?dWlyTG9UZDUwdkF5bU11cmY3K2M0T0NMZDVSWkhGdk9vTENkRE5WbmlLTXFn?=
 =?utf-8?B?NXJsUVBVb09UcDkxL1dORVVpd3FxYmJVUjZMOTFmNFhqRE8xdk5zdUp5SFBC?=
 =?utf-8?B?eFFKc29nZENyRlBadWFuM2pkUmk3SDZlMUZtUDlQVSs4NkRNTUZCZlo1Z3hN?=
 =?utf-8?B?bzBCd2ZVSDd5dXMyWUp0alJMM1dpbXdyeGQyRm8vbU5DaUl4L0x4M3hDVHgv?=
 =?utf-8?B?Y3FLQnNVSUVKeHhyWit4SDlQcHJva3Q5UXhXWHY2ZXdLL0ZDQlc2Nm1LSW1M?=
 =?utf-8?B?WUEwWlp6cjQ3UFFZL3U5Z0NseFJtTWJWY1RYclFSWEVac1kyNE11YVhEd0VV?=
 =?utf-8?Q?MnwcOafSN3LJw5qeA3bREY0uqrbDXyib95YOGo8?=
x-ms-exchange-transport-forked: True
Content-Type: multipart/signed; micalg="pgp-sha256";
	protocol="application/pgp-signature"; boundary="=-niKy73NtsCz6729M72v8"
MIME-Version: 1.0
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5826.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0944db32-45b1-41ad-b707-08d95cb01926
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Aug 2021 10:09:25.5133
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: eH8ke4W5extcJwZTEhsXajBLRn46ysdvbKs1Kb/JtqGzHYXnGF7da7wACIGSQ8lavyayGJxXkl6WclA13mrJ1A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8193

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

On Mon, 2021-08-09 at 21:38 +0100, Julien Grall wrote:
> On 09/08/2021 18:35, Julien Grall wrote:
> >=20
> > This implies that a pCPU may temporarily be assigned to two vCPUs
> > and we=20
> > expect to be fixed up afterwards. However, a domain may be
> > destroyed=20
> > before this is happening.
> >=20
> > So it looks like that unit_deassign() is not able to cope with this
> > case. From a brief look, I think we may want to check if the pCPU
> > is in=20
> > the wait list. If it is, then we should bail out.
>=20
> Actually, I was wrong. It looks like null_unit_remove() is already=20
> checking this condition. Also, the vCPU should be offline (and the
> unit=20
> as well) because they haven't come online yet:
>=20
That's what is currently puzzling me.

I mean, the crash happens in unit_deassign(), called by
null_unit_remove(), called by sched_destroy_vcpu().

And I agree that the unit should be offline, but null_unit_remove()
calls unit_deassign() only if the unit *is* online, so... What's going
on? :-/

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

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

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

iQIzBAABCAAdFiEES5ssOj3Vhr0WPnOLFkJ4iaW4c+4FAmETodQACgkQFkJ4iaW4
c+7kLA/+MAi8knfYmFGabyS6hOODKRMl9O/Iqnevl9uvOTte+ltRsrRtEufdd2uu
wmFd346vgSTRqOPBSNvzbs9/7m8lHwRXlKJZW6dICWRKXHcK6052iEYfst4zvOBF
avpuKRfW/v8Me3ryoNI3efkC4QZU01XPY71KDLNUZ8Tz+ro3iY2QdYeggL1V6x0z
z7ByyDzHwjkLQT0ckhEClCHcqyQ9rCJdtkJbXdkxP8hUg7S6WyIJxV6PPqrrKkFl
MfTdfKZrM4BP3/hIsLNRF+mpAnZJ3/VlNu0ofVmlzw4YsP5jhH2iZxLQpsiFTZ8u
to2ImLXW5JI4zGWACH8wGN/12pbg64x//Gw3mrkvFQ2Ywhjn2okJ6NE2NKwVu39l
A69dUfMY4mm+xhKgXOOMCMvXHfJEC+PPLFcV1LCVhfBor/0sZaECnzT1H4sLX5u8
0Cx6oyIcWqaxRIo2eo4W9KYwXIZXJlnivl+meyj66ZCf/wZXV5LljZjeILPvhhCP
0vaFlURwDmh8Q/V4JkqMXG3mZJE7U/560luWgqyL6nEjjxqztAqUV8Xbhqs2nR3/
miuyYQLRXlfgW2IIvWsjWOAmWF/f1NxzE62x65T1sMtt6aX/W7SxCnBCi6Luq2xa
yHk/L4MknrGu8ULWpRX0Jy5U/6xnn92oK3QyMQWdRK9CN8D1TOk=
=3H5I
-----END PGP SIGNATURE-----

--=-niKy73NtsCz6729M72v8--



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:15:19 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:15:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165607.302608 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlGV-0007BQ-9E; Wed, 11 Aug 2021 10:15:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165607.302608; Wed, 11 Aug 2021 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 1mDlGV-0007BJ-6F; Wed, 11 Aug 2021 10:15:15 +0000
Received: by outflank-mailman (input) for mailman id 165607;
 Wed, 11 Aug 2021 10:15: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 1mDlGU-0007B9-1U; Wed, 11 Aug 2021 10:15: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 1mDlGT-0002zr-QY; Wed, 11 Aug 2021 10:15:13 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mDlGT-0000ta-I7; Wed, 11 Aug 2021 10:15:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mDlGT-0000HK-Hh; Wed, 11 Aug 2021 10:15:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=lMIktWuBuSDLbkWFpbPWAqnUiKH84iwgGdWuNB++vyU=; b=wjNvEska+e1UYGZ2s4VJE8uw+e
	0E2zxBVknUuNvEFMpGJeyX6HLf5HmGKQ9D4RPelBs8mjQrZqSfTT0lyuYmXvdTbgT458q2lw1AQ5f
	t2tGgjjsoEp7B06yils6nhBW7D4iYun3yTyA5o/zSwhnWcBiUmoBnh/bu2rw9ijudyc8=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164155-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 164155: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=3d359ff90571704b53f19bf95aa797337c041abc
X-Osstest-Versions-That:
    ovmf=a7ddc7847cb4afa3534da82222f296aafadb959d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 11 Aug 2021 10:15:13 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 3d359ff90571704b53f19bf95aa797337c041abc
baseline version:
 ovmf                 a7ddc7847cb4afa3534da82222f296aafadb959d

Last test of basis   164151  2021-08-10 17:11:15 Z    0 days
Testing same since   164155  2021-08-11 01:55:18 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chris Jones <christopher.jones@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
   a7ddc7847c..3d359ff905  3d359ff90571704b53f19bf95aa797337c041abc -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:25:01 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:25:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165615.302633 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlPv-0000TW-JD; Wed, 11 Aug 2021 10:24:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165615.302633; Wed, 11 Aug 2021 10:24: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 1mDlPv-0000TP-GH; Wed, 11 Aug 2021 10:24:59 +0000
Received: by outflank-mailman (input) for mailman id 165615;
 Wed, 11 Aug 2021 10:24:58 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlPu-0000BQ-B7
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:24:58 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com (unknown
 [40.107.21.40]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 8f5c7161-3a04-4805-b4d6-964518a0af21;
 Wed, 11 Aug 2021 10:24:51 +0000 (UTC)
Received: from DB8P191CA0030.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:130::40)
 by AM7PR08MB5495.eurprd08.prod.outlook.com (2603:10a6:20b:104::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Wed, 11 Aug
 2021 10:24:49 +0000
Received: from DB5EUR03FT031.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:130:cafe::e2) by DB8P191CA0030.outlook.office365.com
 (2603:10a6:10:130::40) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:24:49 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT031.mail.protection.outlook.com (10.152.20.142) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:24:49 +0000
Received: ("Tessian outbound 8529ae990a93:v101");
 Wed, 11 Aug 2021 10:24:49 +0000
Received: from 8e0975189f47.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 3D8231B4-607E-4028-B13D-4B85FBF13773.1; 
 Wed, 11 Aug 2021 10:24:42 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 8e0975189f47.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:24:42 +0000
Received: from AM7PR04CA0027.eurprd04.prod.outlook.com (2603:10a6:20b:110::37)
 by AM5PR0802MB2498.eurprd08.prod.outlook.com (2603:10a6:203:98::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.21; Wed, 11 Aug
 2021 10:24:41 +0000
Received: from AM5EUR03FT015.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:110:cafe::94) by AM7PR04CA0027.outlook.office365.com
 (2603:10a6:20b:110::37) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13 via Frontend
 Transport; Wed, 11 Aug 2021 10:24:41 +0000
Received: from nebula.arm.com (40.67.248.234) by
 AM5EUR03FT015.mail.protection.outlook.com (10.152.16.132) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.14 via Frontend Transport; Wed, 11 Aug 2021 10:24:41 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX03.Arm.com
 (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:24:36 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10: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>
X-Inumbo-ID: 8f5c7161-3a04-4805-b4d6-964518a0af21
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=REMC2JEWc6kSwOzQOPs+cm02/cp1lLy6vZpviwordBA=;
 b=7Fa1EHXx6y6ZVDYimGP9CjNnAfbWmLQedvHR9rWKlVusXTObKOpYKfbXmzMi+Wk+zeBhERdxhGuxAK+OgTkXraSIKH+2/yDX1D23PAoiK601X4AvCAHf89voRSTE85cPbta/RDXnWEAMkNl4DGmR58CO1ncSdN8tPBNb3JkaaFM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 79bdd4d3dd8a0002
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KyR9PAoWjBH1QOpJv24cx0CTZ0nsvLnei7loTdDZkI/2ooKNX7eKwSxVItY9SZV5r4t1vpencp1WfvID/87FHtwT6IU/LV30FFRczeQ5bmPVWhueapwi5PupJqArHqjMKdvUmMHRniV7oXDhda2KFRJOxv+16dr0/93jQs1sE+ppqK06KAqTsQbOjdiBMoFohpC0atXkWTY0Dopw7bGSGwup8dVLxY01mcW7QBWmVNZuCJePatYDmg7K8v0NSSSKOGQumgeWQYYuwAuYFQi04VKr1nceRBSrfOIelG06xGP5aLlSJk+479tVFwbUDe2kNdA7SKo7d2DOxEgaect3zQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=REMC2JEWc6kSwOzQOPs+cm02/cp1lLy6vZpviwordBA=;
 b=HbsT3iP8XfP/33R/jCMp/Jknsz4XHjudjpaF2bpvVsv5YNOKx4AsRIjmKnlxxT7TkyPDEtYHzL+0Qd2W1KkbgiauhE0b26gkQUFjjvSMvRpT1HsOJTGcBmrYIftRiAbMliN3Nuj+cpx1X7A+zNqHrBOictAqrWGtzz0I4ABrn1hIhFjjYqfK6bTGAa35bxRHZNrzAmtCaHlkmr5mhNj/b8LRrnRwhwgTtEHleBkhA0zCkY42JRyxR0c1AcmxYHQ9o0EXbmRrFMZThTftvuVr7t/drWCEroa3kqyv40pLcoTpKnNMSSffhV86frTSrVnDzHNduECKmHz8eykQqyc7gQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=REMC2JEWc6kSwOzQOPs+cm02/cp1lLy6vZpviwordBA=;
 b=7Fa1EHXx6y6ZVDYimGP9CjNnAfbWmLQedvHR9rWKlVusXTObKOpYKfbXmzMi+Wk+zeBhERdxhGuxAK+OgTkXraSIKH+2/yDX1D23PAoiK601X4AvCAHf89voRSTE85cPbta/RDXnWEAMkNl4DGmR58CO1ncSdN8tPBNb3JkaaFM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 02/40] xen/arm: Print a 64-bit number in hex from early uart
Date: Wed, 11 Aug 2021 18:23:45 +0800
Message-ID: <20210811102423.28908-3-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: dccde90d-4c81-49be-6fcc-08d95cb24001
X-MS-TrafficTypeDiagnostic: AM5PR0802MB2498:|AM7PR08MB5495:
X-Microsoft-Antispam-PRVS:
	<AM7PR08MB549587F86F2764CA89409C569EF89@AM7PR08MB5495.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:6108;OLM:6108;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 Z7rKeOpcgWYGZmqWbwZEIhrwp1+skqduyinj4OlfYPkWOdJJMX/Rc53dcJq/r5oaUGtVjwkZXpN1kcJj+gZV3zar86FuSIf5jPA5hN/l4M/D/KVvxt5LVOHD83xqIXyTvVS+0ZMSzgjYuzn+3lLdxTgMTq86VksZ4pIFiIhySCb12X0uksWiez9xNppji1UBKLU5L9B+6M1XFMF6OkKiLljsyqsttKBujdiGmd0W0is3LIUi6YLC2f/GcYk3Uf1t9L84S32NhdxlxYLjGjenwpyiDxzS0GHYRFYVSey4tCk/uiq0CxapZ6ES3MYwunrrsrqVTsIXn67vrc6DY9JXm3F2NHszn3l04zV1nE/HauMFfqyWfNrIKHt0XB8r0r32OClT1ZvZGUK5SZ7vhK0IAvD5avSUQIyGtPGXbIBh30VAd3tXyNElz+ufPssvCg6rpdyzY2xvEUvVvfXWTphN5V5BGN5+cYpLL/Ry6D9OkSQv64WIf5bgM1X1cad5qgzC2IZCvRJBKIVQfjuWQF8msaobiVpjeyg4LZZf6qxOAcYTmFajt0RKmdDO2JhfC7C5AN2flkc1Y6yAHiIFkLE9FbVgpoJhd1LwgF1ugD0mQBHfX1TrGwhKKAZSMapxxaVQii3mRaonoG4TGp4xqFUrM+UpV61uuwbpvRL8zNbZULgbGFCLqiWR9Ehz0R61CWTQbMaPr5y1LMew5esGUejptCV3OdYldbYBQ2Fb7GSLEn293nszL5T0z0ryZ5fSHtDoLlpwnnNoi1whV1rJcrd5gJmExMJ3GBnkwzzKAzNjkrU=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(346002)(396003)(136003)(376002)(39850400004)(46966006)(36840700001)(83380400001)(356005)(2906002)(7696005)(36756003)(2616005)(426003)(5660300002)(86362001)(336012)(4326008)(82310400003)(44832011)(47076005)(34070700002)(36860700001)(478600001)(82740400003)(8676002)(81166007)(1076003)(186003)(70586007)(70206006)(110136005)(6666004)(26005)(316002)(8936002)(2101003)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0802MB2498
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT031.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	9185d0b8-baf8-4708-cee9-08d95cb23aee
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	eLXFvQErm9udb2DXQwfUR+BCa5Ld3qX+ktyO4VOYTQ+qxbRMFkIWKa+8/SZUi6wg3ZU+SdIGR5J9Br4kMKyDJxmf+FbvfpT8YHaJJNuDVw0Ei1vDmWUzu4gJ/RDR0NjPj07aY5K8brwTAB4FWgZI9Kv2B3+oExCkmo+rUeCjDzPmWEFfcvx5/akjc5oIGPKoEpwi+bvnu9nDNBm2mY7SYtYCif3P79hFjTG3NzhKcsd1KRhF/GWqA/Pfr/qOkZSbw2SWxYb/JG+JI4yIsGY6QOg4MXtu8Tifwnk3hfl1QOfLL9laGrThPn5/n53ngFxhDk8j+2/OU4Qohadk0fD0+rE3fhpDobxzn1emXkx8LzMHPTZgHdEVBpwvKz/EMFfdRzgAgovtbr77MvLVeacjKKy/Lm/3aGZk4SdZkpL+UUzC5mLEzDNDCw6onWLTEmM7NKYpBVW5k4RK8Jw0HM8DKbxDz8o0Z6HyUbdiadd34yPuvJjHxU9OA5dee3FAAFiITOvXS3hJICQYkL+Q13zE6Ro24VFUP6UB+EPd9yeBYqv93f/bTNBFyi4QD29UgdLU/9s0x8KDlBFFPFHBYl4+czMuFJoJuO5Wh8aaW8MNHWji+eU15u8YZOm/uIzg0AIZG7ajG+TXk/GTxXX0Flel8U6cSBbeXOqOaJnjmtrV9c/u+Gq5ZLSRjX4gpg7eP8Ejge79ChE2Y6sKo8nguJHkjrZAa8DbgTSgEvqtMVDW4FU=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(36840700001)(46966006)(2616005)(336012)(83380400001)(86362001)(186003)(2906002)(36860700001)(1076003)(47076005)(7696005)(5660300002)(36756003)(82310400003)(4326008)(70586007)(70206006)(44832011)(8936002)(8676002)(26005)(426003)(508600001)(81166007)(316002)(110136005)(6666004)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:24:49.7325
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: dccde90d-4c81-49be-6fcc-08d95cb24001
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT031.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5495

Current putn function that is using for early print
only can print low 32-bit of AArch64 register. This
will lose some important messages while debugging
with early console. For example:
(XEN) Bringing up CPU5
- CPU 0000000100000100 booting -
Will be truncated to
(XEN) Bringing up CPU5
- CPU 00000100 booting -

In this patch, we increased the print loops and shift
bits to make putn print 64-bit number.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
 xen/arch/arm/arm64/head.S | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
index aa1f88c764..b32639d7d6 100644
--- a/xen/arch/arm/arm64/head.S
+++ b/xen/arch/arm/arm64/head.S
@@ -862,17 +862,18 @@ puts:
         ret
 ENDPROC(puts)
 
-/* Print a 32-bit number in hex.  Specific to the PL011 UART.
+/* Print a 64-bit number in hex.  Specific to the PL011 UART.
  * x0: Number to print.
  * x23: Early UART base address
  * Clobbers x0-x3 */
+#define PRINT_MASK 0xf000000000000000
 putn:
         adr   x1, hex
-        mov   x3, #8
+        mov   x3, #16
 1:
         early_uart_ready x23, 2
-        and   x2, x0, #0xf0000000    /* Mask off the top nybble */
-        lsr   x2, x2, #28
+        and   x2, x0, #PRINT_MASK    /* Mask off the top nybble */
+        lsr   x2, x2, #60
         ldrb  w2, [x1, x2]           /* Convert to a char */
         early_uart_transmit x23, w2
         lsl   x0, x0, #4             /* Roll it through one nybble at a time */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:25:01 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:25:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165614.302622 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlPr-0000Br-8H; Wed, 11 Aug 2021 10:24:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165614.302622; Wed, 11 Aug 2021 10:24:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlPr-0000Bj-58; Wed, 11 Aug 2021 10:24:55 +0000
Received: by outflank-mailman (input) for mailman id 165614;
 Wed, 11 Aug 2021 10:24:53 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlPp-0000BQ-IE
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:24:53 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com (unknown
 [2a01:111:f400:fe0d::627])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id a1a8e140-e8d7-4d4e-a285-b82ecda29fc7;
 Wed, 11 Aug 2021 10:24:50 +0000 (UTC)
Received: from AM5PR0602CA0006.eurprd06.prod.outlook.com
 (2603:10a6:203:a3::16) by DB9PR08MB6827.eurprd08.prod.outlook.com
 (2603:10a6:10:2a4::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Wed, 11 Aug
 2021 10:24:46 +0000
Received: from VE1EUR03FT040.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:203:a3:cafe::b5) by AM5PR0602CA0006.outlook.office365.com
 (2603:10a6:203:a3::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13 via Frontend
 Transport; Wed, 11 Aug 2021 10:24:46 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT040.mail.protection.outlook.com (10.152.18.210) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:24:45 +0000
Received: ("Tessian outbound 7b804b1d9bbf:v101");
 Wed, 11 Aug 2021 10:24:45 +0000
Received: from ea4d93c91e78.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 5DE6C950-8CAB-45EF-A720-4F6FA41636A8.1; 
 Wed, 11 Aug 2021 10:24:37 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ea4d93c91e78.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:24:37 +0000
Received: from AM6P194CA0045.EURP194.PROD.OUTLOOK.COM (2603:10a6:209:84::22)
 by AM6PR08MB4550.eurprd08.prod.outlook.com (2603:10a6:20b:71::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Wed, 11 Aug
 2021 10:24:36 +0000
Received: from AM5EUR03FT041.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:84:cafe::68) by AM6P194CA0045.outlook.office365.com
 (2603:10a6:209:84::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:24:36 +0000
Received: from nebula.arm.com (40.67.248.234) by
 AM5EUR03FT041.mail.protection.outlook.com (10.152.17.186) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.14 via Frontend Transport; Wed, 11 Aug 2021 10:24:36 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX03.Arm.com
 (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:24:31 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:24:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a1a8e140-e8d7-4d4e-a285-b82ecda29fc7
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MRiJFSLcjv+F086pxeTQm4LDwTb8CJSdd6rCrzzZ7so=;
 b=UelRnYzVO3SY5PV1RGgJdW1X8UVN4h+KMXL4zHRhbhg5JclHkKPVWzhFgZFb8Ixipmq08Pc1mi3FWxViJXnHEaSPJ1PWiwmFC0at/qm8r7rDVPxe0/LzE3buqP5DQeBmTq5opsim4gcsmse0ha8YIDrlMLTtOhIkCYbacjtSTOo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 8d40fbc6fdad8035
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QkbDW/cHFc9bP8d2TMexJk0Xm5a0nEAhmiDaTMgGvISw7PIyxXof3dWyQpQBq+Lf0F2/cibTdBZ5h0nCDnIgvZ01MBZOyQpY+bnZLDf4Hsk5V5PAEC7MqEhmD2S/OmaJ9wPNGSC679yMi7c09KjQb8vm2r5Wn5BDkK7K5gnPkcDkkHPhW/3mM0jzqK12Y+2f56vVxRaRtyWkGYIfes6zA86GyOEEZbFTGLOfHwZs1WZhl8k4O6SIWTSmuJzgxy3KtiV7wixvQ3jiMRzFC2s52+Oeah3A5vrTIfxPFSLWWW7QmKYIWHkv2ZK51VgfYhUJVFcnTQYXe3OzWN0CixwKhg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MRiJFSLcjv+F086pxeTQm4LDwTb8CJSdd6rCrzzZ7so=;
 b=KZjc7SqRi/Yb40FRp1xlQ9HOrsDBv8NbNtSTuf7T11WsRWxs/syTYvHbb7BBxiZm4oTVFvhdFGmfEilXAnWGt3Y7Q7fNuHo4dXboF66LhCgSQzKBBsQ1p7bNfVMy7mAnjuPQEKcTwWPe3lz0bKi8NLHZDFuaKvRsr8muL+a8Z06W3JMDllopsmCDi8W9UzggNbo1Wr6xNK4a4MafPo+03T699X02GCPJ0l3oFhA4L9A6HNTnXp8xF00f79gYGYw8SXCwR9rBb9myqANdxk9IGPKqQBbtiURtBjSYLNFUz/ZiT7RMzy6BVEQWvCxRKz+HMj81XmZM/cONsTruAmSoSQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MRiJFSLcjv+F086pxeTQm4LDwTb8CJSdd6rCrzzZ7so=;
 b=UelRnYzVO3SY5PV1RGgJdW1X8UVN4h+KMXL4zHRhbhg5JclHkKPVWzhFgZFb8Ixipmq08Pc1mi3FWxViJXnHEaSPJ1PWiwmFC0at/qm8r7rDVPxe0/LzE3buqP5DQeBmTq5opsim4gcsmse0ha8YIDrlMLTtOhIkCYbacjtSTOo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 00/40] Add device tree based NUMA support to Arm64
Date: Wed, 11 Aug 2021 18:23:43 +0800
Message-ID: <20210811102423.28908-1-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ba81dc6a-10d6-457b-f3b9-08d95cb23dd7
X-MS-TrafficTypeDiagnostic: AM6PR08MB4550:|DB9PR08MB6827:
X-Microsoft-Antispam-PRVS:
	<DB9PR08MB68275AB05485B7BD9C8FFFEE9EF89@DB9PR08MB6827.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:6790;OLM:6790;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 G1ps0rVd5B7wy+bIPOpgQfikbnxsgAOLRnAQuPbXN4VYHuxTL1jIqLZMc3x2UFa9LWa55T+prdF575nJ3OKrQspxj31kvMlU46nY1N8DTdK/VaJyZSmbrMBxIHrF7r3dGFLZhD0xTiVfBPBocoQVbPD73kDWXXwUbio/dE6RBuz5mFUJNNUeFmKFOm6xQIuCm6M6FKfO0mdFn/MKkvB/SR9CzUABwkEPDuzrRMYWkcglCvmM3YS3yynO6o3wnNIRaCgakKOMhwcuIxgY+HceA7PfTrBs1uk0vbyvejwx1W8dV9EnTutqwxMCkZEi3GtD+8BNXn7HTzZTenBhM/VoWqlb9lq1M1VP+qgOZ3lJUKtFqH6a3m6/axUXOoUjaL56t46lqr5hOmgmOs8FMhLedKr8dNtvE5bvlID/yi6BKVBt1FoeX2iXBC+5t2E4tSeUq+grv51k0RMIieP0QUeTrL50zA2kwH02y141w38KOFGXCcIFN4fj8QgA4WcjdSlsaiO7fqDg9ACCz7RJ3NwcDoY1pXjxJIDIz2kUfaNi7XGYRySSjCs5tUmay1UxSTcnVxPqHHH1u//H0XOBXThMWprxzVpkt8cv9b/mJzp8iyFbNwB8DFrH9SIRQo2zTcUVtaZ4hgPF2dPOXF4wCzvhjlGfF2gBdYzItF+Nxou5OeDT1lIF/SAWxkJ1ZXLfae/0NZAX3k8VZcyAn3tm8VI8N1s+ispiZQc2t+V0uSq1aIvkAK4tBKYlFoZZMqJH8rFPZBzLh1IhlKD+9II7RjDgONZv2JqWXTZnD4+zL4Ey3lY=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(39850400004)(346002)(136003)(376002)(396003)(36840700001)(46966006)(2616005)(336012)(83380400001)(86362001)(2906002)(82740400003)(186003)(36860700001)(1076003)(47076005)(7696005)(5660300002)(36756003)(82310400003)(70586007)(4326008)(70206006)(356005)(44832011)(8936002)(478600001)(8676002)(26005)(426003)(34070700002)(81166007)(316002)(110136005)(6666004)(36900700001)(2101003);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4550
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT040.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	da301f72-b498-4574-ed38-08d95cb237f0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9SrErrqhehAXxyXHiXrpY/8FArb9emQ5QDX626fVIWlYbWTCfaJbNzm/wbHgR/qDcKRTcKRAI1h8be4nQjxRD/mMkOqj3gdFigxkG6c5elRBJCpAsVF8/KJ7Ydm5cM4KmlXy2UPuuzm2sHSH8djyT4Wo4EE169T28BcM69A6t0xnOsfyYE3/m+xgFxxlCWTSxOsjCeGGEz5m5wJbiz8r04NUg5TAhQB7P1oqpfCkvnvCAbRTmkGj9JqV77O0iQLxLOFdnSqbmDyQQOC7WZERnnOMVXsqktH/ogXLTRafi5viSmk2o6w4i36zy+jplr1NL+b5j43ronNNXxPWHlV9OUKyQAEd51ZoGjmHo+Ty2eodw4J2dN0tynKTnYiMafNU/mVhJ21XGtSuqyHc+O557aL9BBoup0u5DMHz1UxJEBGrrKbmLGbmvy7dB+LOLLsLxrVdWOPHhqvMQMEmiVaaWD1X7oJvuZsx7DbEK8gQyvEPK/R39es+TM8xKyImQ9Y0Xu7U/wbG6V/I/p692jVMEJmFhVNFb4Hu1VDdXrn6yxJgA9G6EmScmiKYZO2W6nua2I2w5Wz5EkndkVlSbI8Yf965B0070M0CodhfmFffGv8+6KHYpncCJWpNgF8UaZWSpnEdtc2JaJxS/iwOK9Y3ajaUG8uzNdRS9UCWHeSR4JiWSAW5FeDkmk20Yqacb6D30GHYHVRo/2CBijNoHyNh/imETF3afck+TB71EKSRUQs=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(396003)(39850400004)(376002)(346002)(136003)(46966006)(36840700001)(2616005)(2906002)(83380400001)(86362001)(81166007)(8936002)(70586007)(70206006)(5660300002)(82310400003)(7696005)(8676002)(82740400003)(4326008)(186003)(336012)(26005)(478600001)(316002)(36860700001)(44832011)(426003)(110136005)(1076003)(6666004)(36756003)(47076005)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:24:45.9973
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ba81dc6a-10d6-457b-f3b9-08d95cb23dd7
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT040.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6827

Xen memory allocation and scheduler modules are NUMA aware.
But actually, on x86 has implemented the architecture APIs
to support NUMA. Arm was providing a set of fake architecture
APIs to make it compatible with NUMA awared memory allocation
and scheduler.

Arm system was working well as a single node NUMA system with
these fake APIs, because we didn't have multiple nodes NUMA
system on Arm. But in recent years, more and more Arm devices
support multiple nodes NUMA system. Like TX2, some Hisilicon
chips and the Ampere Altra.

So now we have a new problem. When Xen is running on these Arm
devices, Xen still treat them as single node SMP systems. The
NUMA affinity capability of Xen memory allocation and scheduler
becomes meaningless. Because they rely on input data that does
not reflect real NUMA layout.

Xen still think the access time for all of the memory is the
same for all CPUs. However, Xen may allocate memory to a VM
from different NUMA nodes with different access speeds. This
difference can be amplified in workloads inside VM, causing
performance instability and timeouts. 

So in this patch series, we implement a set of NUMA API to use
device tree to describe the NUMA layout. We reuse most of the
code of x86 NUMA to create and maintain the mapping between
memory and CPU, create the matrix between any two NUMA nodes.
Except ACPI and some x86 specified code, we have moved other
code to common. In next stage, when we implement ACPI based
NUMA for Arm64, we may move the ACPI NUMA code to common too,
but in current stage, we keep it as x86 only.

This patch serires has been tested and booted well on one
Arm64 NUMA machine and one HPE x86 NUMA machine.

Hongda Deng (2):
  xen/arm: return default DMA bit width when platform is not set
  xen/arm: Fix lowmem_bitsize when arch_get_dma_bitsize return 0

Wei Chen (38):
  tools: Fix -Werror=maybe-uninitialized for xlu_pci_parse_bdf
  xen/arm: Print a 64-bit number in hex from early uart
  xen/x86: Initialize memnodemapsize while faking NUMA node
  xen: decouple NUMA from ACPI in Kconfig
  xen/arm: use !CONFIG_NUMA to keep fake NUMA API
  xen/x86: Move NUMA memory node map functions to common
  xen/x86: Move numa_add_cpu_node to common
  xen/x86: Move NR_NODE_MEMBLKS macro to common
  xen/x86: Move NUMA nodes and memory block ranges to common
  xen/x86: Move numa_initmem_init to common
  xen/arm: introduce numa_set_node for Arm
  xen/arm: set NUMA nodes max number to 64 by default
  xen/x86: move NUMA API from x86 header to common header
  xen/arm: Create a fake NUMA node to use common code
  xen/arm: Introduce DEVICE_TREE_NUMA Kconfig for arm64
  xen/arm: Keep memory nodes in dtb for NUMA when boot from EFI
  xen: fdt: Introduce a helper to check fdt node type
  xen/arm: implement node distance helpers for Arm64
  xen/arm: introduce device_tree_numa as a switch for device tree NUMA
  xen/arm: introduce a helper to parse device tree processor node
  xen/arm: introduce a helper to parse device tree memory node
  xen/arm: introduce a helper to parse device tree NUMA distance map
  xen/arm: unified entry to parse all NUMA data from device tree
  xen/arm: Add boot and secondary CPU to NUMA system
  xen/arm: build CPU NUMA node map while creating cpu_logical_map
  xen/x86: decouple nodes_cover_memory with E820 map
  xen/arm: implement Arm arch helpers Arm to get memory map info
  xen: move NUMA memory and CPU parsed nodemasks to common
  xen/x86: move nodes_cover_memory to common
  xen/x86: make acpi_scan_nodes to be neutral
  xen: export bad_srat and srat_disabled to extern
  xen: move numa_scan_nodes from x86 to common
  xen: enable numa_scan_nodes for device tree based NUMA
  xen/arm: keep guest still be NUMA unware
  xen: introduce an arch helper to do NUMA init failed fallback
  xen/arm: enable device tree based NUMA in system init
  xen/x86: move numa_setup to common to support NUMA switch in command
    line
  xen/x86: move dump_numa info hotkey to common

 tools/libs/util/libxlu_pci.c    |   3 +-
 xen/arch/arm/Kconfig            |  10 +
 xen/arch/arm/Makefile           |   2 +
 xen/arch/arm/arm64/head.S       |   9 +-
 xen/arch/arm/bootfdt.c          |   8 +-
 xen/arch/arm/domain_build.c     |  17 +-
 xen/arch/arm/efi/efi-boot.h     |  25 --
 xen/arch/arm/numa.c             | 162 +++++++++
 xen/arch/arm/numa_device_tree.c | 292 ++++++++++++++++
 xen/arch/arm/platform.c         |   4 +-
 xen/arch/arm/setup.c            |  14 +
 xen/arch/arm/smpboot.c          |  37 +-
 xen/arch/x86/Kconfig            |   2 +-
 xen/arch/x86/numa.c             | 421 +----------------------
 xen/arch/x86/srat.c             | 147 +-------
 xen/common/Kconfig              |   3 +
 xen/common/Makefile             |   1 +
 xen/common/libfdt/fdt_ro.c      |  15 +
 xen/common/numa.c               | 588 ++++++++++++++++++++++++++++++++
 xen/common/page_alloc.c         |   2 +-
 xen/drivers/acpi/Kconfig        |   3 +-
 xen/drivers/acpi/Makefile       |   2 +-
 xen/include/asm-arm/numa.h      |  33 ++
 xen/include/asm-arm/setup.h     |   6 +
 xen/include/asm-x86/acpi.h      |   4 -
 xen/include/asm-x86/config.h    |   1 -
 xen/include/asm-x86/numa.h      |  65 +---
 xen/include/asm-x86/setup.h     |   1 -
 xen/include/xen/libfdt/libfdt.h |  25 ++
 xen/include/xen/nodemask.h      |   2 +
 xen/include/xen/numa.h          |  80 +++++
 31 files changed, 1325 insertions(+), 659 deletions(-)
 create mode 100644 xen/arch/arm/numa.c
 create mode 100644 xen/arch/arm/numa_device_tree.c
 create mode 100644 xen/common/numa.c

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:25:02 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:25:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165616.302645 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlPx-0000m5-SR; Wed, 11 Aug 2021 10:25:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165616.302645; Wed, 11 Aug 2021 10:25:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlPx-0000lw-On; Wed, 11 Aug 2021 10:25:01 +0000
Received: by outflank-mailman (input) for mailman id 165616;
 Wed, 11 Aug 2021 10:25:00 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlPw-0000en-AR
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:25:00 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com (unknown
 [40.107.2.47]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 60b8ffad-fa8e-11eb-a052-12813bfff9fa;
 Wed, 11 Aug 2021 10:24:58 +0000 (UTC)
Received: from PR3P195CA0027.EURP195.PROD.OUTLOOK.COM (2603:10a6:102:b6::32)
 by AM5PR0802MB2401.eurprd08.prod.outlook.com (2603:10a6:203:9d::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.21; Wed, 11 Aug
 2021 10:24:51 +0000
Received: from VE1EUR03FT054.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:102:b6:cafe::5a) by PR3P195CA0027.outlook.office365.com
 (2603:10a6:102:b6::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16 via Frontend
 Transport; Wed, 11 Aug 2021 10:24:50 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT054.mail.protection.outlook.com (10.152.19.64) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:24:50 +0000
Received: ("Tessian outbound 077ab11054bf:v101");
 Wed, 11 Aug 2021 10:24:50 +0000
Received: from e5ec0673e643.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 77AB03F5-FFF7-4056-8023-FE57619D1911.1; 
 Wed, 11 Aug 2021 10:24:41 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e5ec0673e643.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:24:41 +0000
Received: from AM6P194CA0045.EURP194.PROD.OUTLOOK.COM (2603:10a6:209:84::22)
 by DB8PR08MB5292.eurprd08.prod.outlook.com (2603:10a6:10:a6::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.19; Wed, 11 Aug
 2021 10:24:39 +0000
Received: from AM5EUR03FT041.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:84:cafe::68) by AM6P194CA0045.outlook.office365.com
 (2603:10a6:209:84::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:24:39 +0000
Received: from nebula.arm.com (40.67.248.234) by
 AM5EUR03FT041.mail.protection.outlook.com (10.152.17.186) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.14 via Frontend Transport; Wed, 11 Aug 2021 10:24:39 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX03.Arm.com
 (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:24:34 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:24: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: 60b8ffad-fa8e-11eb-a052-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XbmZt/3Qnc8x9mhpmsFguDqJamcughb+6Xb0Z1N6iV0=;
 b=uy8+BZx4hpeTLpsZ4odoGCPYkREJ1UFRS/uxyjXDRH0kuo1zcI636QWljJExlgzAh41s6Frd0JFl7qOFWykv4jfZnztyHdr7c3RE9AjGjKEIjidwmLihGbRZRrGfTN/3tjyhnQrT9y8GqQ4ZDYujXJJJ9PFbTmmdaau4VHEPu4U=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: d5fea9b0aa8fa606
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=U+aSOJkWljn8dNbM7OpivMCS/cBtjK6o/cMszEMLeqvIquURXylBvokcVqdoY6LaIeW19lPYNGYRpC9KUFnB4TIqoYAVo6RJMtVW2A0n9cr76awaR3y8KLHLHLZCje08y7K359/fTqQNfQPQd2ZaHf74p1iHFHZ5iR84U8H+IW/jlrLPk3VeEdKNoplzFHENZrcDfxbF6NB6VT3xx6Qmwar1ukbYGlwR02AWyZzFNMQQnMoboisRwgKfG1GDDLe1IKEjUqv1o7OOGUr5fpzKRl8QxQLn1/mWHaD+tGPPpJpOmvg0Jjfl1nNObbeZT6NNsnGmrdhgZVWADDO22cLFRA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XbmZt/3Qnc8x9mhpmsFguDqJamcughb+6Xb0Z1N6iV0=;
 b=Bc/XctFxJY111BIGhVY0YdrUtf2umPSqft5wkTTBRTet/8IznD2wnGBi8I+oTDQbAV7sAErPTbpQx6tuCO8ot92sK41blXWZVRl70whRMXyGniUUPKi+cPer2jEHz62wY96CKBIfSbGpkf77vfZjkD7qgU9YmrqAgs+FwR6/YWwjVslhVjkm+HQRSar9SpsEwpAVm99CYVhxIe7INkQxm1X08aAyE/8X3yh4AtqqFjNZTfCKiiTahQNXQVEfohb1s0+0yUGpgqUeP8h3glB3C+yNABTRKaclY0KcLh/NdZvgTSMfOYF7lkz51OESFXWIs5E9zunCTh5M8XP4C0r9Dg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XbmZt/3Qnc8x9mhpmsFguDqJamcughb+6Xb0Z1N6iV0=;
 b=uy8+BZx4hpeTLpsZ4odoGCPYkREJ1UFRS/uxyjXDRH0kuo1zcI636QWljJExlgzAh41s6Frd0JFl7qOFWykv4jfZnztyHdr7c3RE9AjGjKEIjidwmLihGbRZRrGfTN/3tjyhnQrT9y8GqQ4ZDYujXJJJ9PFbTmmdaau4VHEPu4U=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 01/40] tools: Fix -Werror=maybe-uninitialized for xlu_pci_parse_bdf
Date: Wed, 11 Aug 2021 18:23:44 +0800
Message-ID: <20210811102423.28908-2-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 36916feb-2158-4523-84cb-08d95cb2409d
X-MS-TrafficTypeDiagnostic: DB8PR08MB5292:|AM5PR0802MB2401:
X-Microsoft-Antispam-PRVS:
	<AM5PR0802MB2401AE0C39398A8BD46AAF2A9EF89@AM5PR0802MB2401.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:6108;OLM:6108;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 MNurJbs3tCWzvpXNUWUbAYC6SghBgTn9HdIaIoQfr/jUlZ2zQiQifYjbj3eh81lBAYRfeCO6LX9bAVb7bH1USaKpm5HTWc4kctrIrhm1+wKHAQuLirex+DbFFCkk9XBxZqCgFTrRkUjc1StkK/MbLItO64N2nIV5hSHLmNTfGhoHXsTUH4Tja8x9uz5rRLrqk+esOFC58jlxNmFaS5h82sR7FiHTV8iBfCjPWmVLbiBXl3odtAwJIS+a00Rf/i9BTrMoDdtm0A4yrQDkuqb5kfuzjMa0+XGJUyeX53R+SAfU+p7jTMQIDJcaD5fCpo48sRqWzUbQsLk+KHfUctS5rq4GAPw/Krdu2t/QGMA4p4kh2Pky4iBC7t6M39SBv4VLdbnEoYR1eg3ZkfEhl5QNph+fflTKZIGgK9eQqYF1w/80KAujqa85yaxRp2aYKuQBs2JSbNqdFCg06IqKdZ27gwIqRRBp/kjhHgLX+mFjAEf9jX6nigM8T+sAVqSPU12UVLALJuOimkka9Tcdfz+w8ESi2RFTkWGii8dpC1vFJHNeMkzF5utv02lD8lmoWEV8x7YDbRRITdoCPNBJid9GV7BKe3BUT/51nRB+tLy6BRADR4TwHW8lKeLjiiv7e4nLbbFT03uxdjR+/6Y5ZYlin0YJE20NNgsIWOmKlMu3tBjY1qrj2prWXLX0VVFfXvYnZZ0UHcL/Imw2ER17uooKAvD9uEK5b3QR1ZEm7UJ5nvnSDTUHhcEAJi+zBjJx1n2rlSRwJPjB18hqqNSCdk9/6wCt1+Xby/apty71YPJFY40=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(39860400002)(396003)(346002)(376002)(136003)(46966006)(36840700001)(8676002)(34070700002)(356005)(2906002)(5660300002)(44832011)(26005)(426003)(7696005)(8936002)(478600001)(36756003)(36860700001)(83380400001)(82310400003)(70586007)(186003)(86362001)(110136005)(6666004)(2616005)(316002)(47076005)(336012)(82740400003)(81166007)(1076003)(4326008)(70206006)(2101003)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB5292
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT054.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	88154411-dd04-4c15-450f-08d95cb239ae
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	m8LAgk5+fjRW313BazqjOzeiFnctBZvemA47LYbJPyV3LY0WhYJYAfJLVhY8O1Qjfvvf78DqCoz05b56H98rx084vF7bLFCySBVfb0U6ZBwG8NHQWWTq+Q5tK37qRp0WivP8JbHqdJvO3jaXFKIw8MOFyzfzZBchcAsEyWp9hORRHHwR4xS11JD/sy8UwW/TsY/SQfvTuzJi+50001vyfrn2EsS3nU5yGTWHn7qaY7vR1qGKPMKEd/jzevG6zXBaBSsC64Vav3OzIDBTQK1FKOBtjdKGKIL0JnD/mnCkPCgvE8ZQPGuaHs9h50wCmGRY4aSe6VwXcDoBLv0/oojmcDFbDOY0uq0ZZWoEtpgX55/iYG5hYi0Zj60PBOtMmjWYnzstAIztD9yQOHBuZLGGsfJbHWMn3izxOKunk0wetpKO9vr3l1rSlILqbSewIkUATJrWBYE/p1YftBtXf95UTouRstowrW4sNc9krKwRB/cj9mJsWiuP+WnFJzNcUL5ClOOVDE1B9kTFQaXmg6d1qxNyTuw8TOy++6g7zWUojL7OZzLPEjAawSXqpFJCpZx48BgM7ZQNKEjOlOXUqK1Q9jHVdEF+BMmDvNpyNarN9pVCVbdb+QzuWaEXCSpG7Quoo1gZSvdtUZawJ/pBaoeoW4KF6lREnVqXtR19l4QOudOQiwMLuGl6E75XaQZUKNdkn+CM9IY0ZxRFBPgT4n6SHuJppdopyxgymq9lFBAKSKk=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(136003)(376002)(396003)(39860400002)(346002)(36840700001)(46966006)(26005)(8676002)(316002)(2906002)(36860700001)(44832011)(36756003)(186003)(82310400003)(70206006)(70586007)(7696005)(81166007)(2616005)(426003)(478600001)(86362001)(82740400003)(6666004)(83380400001)(8936002)(4326008)(1076003)(110136005)(5660300002)(336012)(47076005)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:24:50.6415
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 36916feb-2158-4523-84cb-08d95cb2409d
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT054.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0802MB2401

| libxlu_pci.c: In function 'xlu_pci_parse_bdf':
| libxlu_pci.c:32:18: error: 'func' may be used uninitialized in this function [-Werror=maybe-uninitialized]
|    32 |     pcidev->func = func;
|       |     ~~~~~~~~~~~~~^~~~~~
| libxlu_pci.c:51:29: note: 'func' was declared here
|    51 |     unsigned dom, bus, dev, func, vslot = 0;
|       |                             ^~~~
| libxlu_pci.c:31:17: error: 'dev' may be used uninitialized in this function [-Werror=maybe-uninitialized]
|    31 |     pcidev->dev = dev;
|       |     ~~~~~~~~~~~~^~~~~
| libxlu_pci.c:51:24: note: 'dev' was declared here
|    51 |     unsigned dom, bus, dev, func, vslot = 0;
|       |                        ^~~
| libxlu_pci.c:30:17: error: 'bus' may be used uninitialized in this function [-Werror=maybe-uninitialized]
|    30 |     pcidev->bus = bus;
|       |     ~~~~~~~~~~~~^~~~~
| libxlu_pci.c:51:19: note: 'bus' was declared here
|    51 |     unsigned dom, bus, dev, func, vslot = 0;
|       |                   ^~~
| libxlu_pci.c:78:26: error: 'dom' may be used uninitialized in this function [-Werror=maybe-uninitialized]
|    78 |                 if ( dom & ~0xff )
|       |                      ~~~~^~~~~~~

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
 tools/libs/util/libxlu_pci.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/tools/libs/util/libxlu_pci.c b/tools/libs/util/libxlu_pci.c
index 551d8e3aed..b38e9aab40 100644
--- a/tools/libs/util/libxlu_pci.c
+++ b/tools/libs/util/libxlu_pci.c
@@ -15,7 +15,7 @@ static int parse_bdf(libxl_device_pci *pci, const char *str, const char **endp)
 {
     const char *ptr = str;
     unsigned int colons = 0;
-    unsigned int domain, bus, dev, func;
+    unsigned int domain = 0, bus = 0, dev = 0, func = 0;
     int n;
 
     /* Count occurrences of ':' to detrmine presence/absence of the 'domain' */
@@ -28,7 +28,6 @@ static int parse_bdf(libxl_device_pci *pci, const char *str, const char **endp)
     ptr = str;
     switch (colons) {
     case 1:
-        domain = 0;
         if (sscanf(ptr, "%x:%x.%n", &bus, &dev, &n) != 2)
             return ERROR_INVAL;
         break;
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:25:05 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:25:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165617.302656 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlQ1-00016G-5q; Wed, 11 Aug 2021 10:25:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165617.302656; Wed, 11 Aug 2021 10:25:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlQ1-000169-1M; Wed, 11 Aug 2021 10:25:05 +0000
Received: by outflank-mailman (input) for mailman id 165617;
 Wed, 11 Aug 2021 10:25:03 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlPz-0000BQ-BL
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:25:03 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com (unknown
 [40.107.6.57]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 0edcda4c-df00-4efd-91ba-a593fcf1007b;
 Wed, 11 Aug 2021 10:24:58 +0000 (UTC)
Received: from DB6PR0802CA0043.eurprd08.prod.outlook.com (2603:10a6:4:a3::29)
 by AM0PR08MB3299.eurprd08.prod.outlook.com (2603:10a6:208:60::26)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.17; Wed, 11 Aug
 2021 10:24:55 +0000
Received: from DB5EUR03FT061.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:a3:cafe::4c) by DB6PR0802CA0043.outlook.office365.com
 (2603:10a6:4:a3::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16 via Frontend
 Transport; Wed, 11 Aug 2021 10:24:55 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT061.mail.protection.outlook.com (10.152.21.234) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:24:55 +0000
Received: ("Tessian outbound d9f41274f41a:v101");
 Wed, 11 Aug 2021 10:24:55 +0000
Received: from 6eaccd0753e0.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F39B0819-696B-4335-B644-51F7C8F87498.1; 
 Wed, 11 Aug 2021 10:24:44 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 6eaccd0753e0.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:24:44 +0000
Received: from AM7PR04CA0008.eurprd04.prod.outlook.com (2603:10a6:20b:110::18)
 by AS8PR08MB6280.eurprd08.prod.outlook.com (2603:10a6:20b:29b::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.21; Wed, 11 Aug
 2021 10:24:42 +0000
Received: from AM5EUR03FT015.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:110:cafe::2d) by AM7PR04CA0008.outlook.office365.com
 (2603:10a6:20b:110::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15 via Frontend
 Transport; Wed, 11 Aug 2021 10:24:42 +0000
Received: from nebula.arm.com (40.67.248.234) by
 AM5EUR03FT015.mail.protection.outlook.com (10.152.16.132) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.14 via Frontend Transport; Wed, 11 Aug 2021 10:24:42 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX03.Arm.com
 (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:24:39 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:24:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0edcda4c-df00-4efd-91ba-a593fcf1007b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QSDZcA/RWL9vV9pltePO7Er9bgZ7P1bFBHq5K5ZpEXI=;
 b=4erjMjor/BUxHHBYly3vqOSvB/xsHA42KzIW7zlTecXKQzeGj2uTlHaJ74x6+wC0iTebQafkfn7vC01kLM2dqlO1fOPdLJtzfxD99n/xFqqMh8jCGmIq6qQ6AJAzL1u8hhhf7ipPQXopZlMXq7nhNfKrOx0NcVuNcdT8BnbN48k=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 03faa8a320c1bcbc
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=m+SEo2BeALNU/DnHnteFsidG4HambSxoZzxEs0OHRg2sKqI1xHkJ5f5OypcV54cbcDUWngZC5onVM+oSLBA2l1fYMnGo6JHJR7edozVHF0ez4jfxtEYIzHMx/n5dxtdaflW5aOsE3E0KvRJ4UmloUP7+D+tr/TaPvZtxGij/qDyAQTxDdFkIehgYwtFHsxgbjJwoTP5Vregdrk2fHzWXNK8KGiKFW8ImeuD4R1Z7tNv73eSOad+hTCCGMiK6dogBaFXIkvY5d0Gp9LJRKP37J4aQmMy0qiwkXflzYjq6UuCHTeSgpkzK0NgLqkkAthYwY+HODK2qqWVHvTiDlYSffg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QSDZcA/RWL9vV9pltePO7Er9bgZ7P1bFBHq5K5ZpEXI=;
 b=ZEHZ3toKix3CIpK2RPqM8uDzvifc2a5Xipl70B4bVPF2y59A238cjh9jRutNiTumRtBRq8xrTTe/S2Yae0O22K5lEl5WkGGTM41AyOtMKsznSHG0a3q9uE7pV6zdmdnWPGYTxP88/b2nZt/IKLwS7fOEbOR6QmBC44KJaMIPbWCobPBRQcz6f9SVX4hCtS3fAOnWB2J1cvYWEpYZMkBW0JyJiv4x1/hwCstJSJZ/z9r9fPGqdO0nXvZf0EKruZgPbgPl8aIKuC+aYW6YsZegI9V3S/UBzbT9tugpsSz7OSoWvp/+sxOY8QPtkO5Pap4AwUEe/tw3gtYsxqmqiFJtUw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QSDZcA/RWL9vV9pltePO7Er9bgZ7P1bFBHq5K5ZpEXI=;
 b=4erjMjor/BUxHHBYly3vqOSvB/xsHA42KzIW7zlTecXKQzeGj2uTlHaJ74x6+wC0iTebQafkfn7vC01kLM2dqlO1fOPdLJtzfxD99n/xFqqMh8jCGmIq6qQ6AJAzL1u8hhhf7ipPQXopZlMXq7nhNfKrOx0NcVuNcdT8BnbN48k=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 03/40] xen/x86: Initialize memnodemapsize while faking NUMA node
Date: Wed, 11 Aug 2021 18:23:46 +0800
Message-ID: <20210811102423.28908-4-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 464a32c3-251d-4f5d-da98-08d95cb24397
X-MS-TrafficTypeDiagnostic: AS8PR08MB6280:|AM0PR08MB3299:
X-Microsoft-Antispam-PRVS:
	<AM0PR08MB32992DAAC48BD1264FB1D5C89EF89@AM0PR08MB3299.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:3631;OLM:3631;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 Z6bfNvc+NOU7Yt9Zv21nC1BoveRrI5bHcVyU5hbPXMVDDZINrjwkNkrzqu7fPpjAmblBF2JQF7Vi8rzEAKrXZ5SMnjze9xkss7kbgtfYYGcRqD7F0DcMrFoluHdgnyaRurynzQPGPvPMpHckOnTSUHuGcgthj1WMMYX6mjM6gizXtBMjzl7in+ZUtTLFtcDYi0/9s1rexMUIKDqcEtFg6mEmi6u/ngVnjsh8Cqh/JXgrWAreXK5RlWwiM6tc2LZZVyb9AJkVD3qdAbNL4aU5OvrmEE3CK8xWulLX/o5oIr/RaOV42YqbUoLpB+9E0c3+OF5v5LuJGAe6yL88UGbQVx9aiHj0DbQyDpFOl7M9n1EmH6rl8/Z2mm690CLTegYYoFv8sMnK3JJifKOE5mbehHYOKtv2tKY0wTkMSDjdiRJj+ylXKfTfHjxywhtMW55fAgzC4r2sby/Xxd6ydEe2zWUsbbDYZT8eTHOF3AlHfldfrCmtgyKHLXCU6b53pkkhrQXzlKxmMuW5l1LZzQ3aMh/U49qjRdhuis/V6Nh73lmjwSi3mJzxHrvk9JQdEBgvp0boCkBDyUE3qw0QOFDPfUw1vXUnw24OqEekl9i3HtazM91Us4x8Tndk8v/qvqaowRTwQUqPrLFyfH2jE7niH3Xl8eyG2LOtpceU4GSSU/Gd0yio0+E782P1YbNdASUjhH6n/FpWVhxkJvKzwwzOKvAPjYvcNJM5g3seVBvnyuWrlOCgoZ4UEd9z5vYgNBYH7Z0mPz/6g+GKr/K/1/4bZg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(39850400004)(396003)(346002)(136003)(376002)(46966006)(36840700001)(2616005)(34070700002)(26005)(478600001)(5660300002)(82310400003)(6666004)(4326008)(82740400003)(7696005)(44832011)(336012)(426003)(186003)(83380400001)(356005)(36860700001)(8676002)(36756003)(110136005)(1076003)(70206006)(8936002)(70586007)(81166007)(316002)(2906002)(86362001)(47076005)(36900700001)(2101003);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6280
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT061.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	2c0bdac3-9b18-4c23-53ba-08d95cb23bc4
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XTxSV2sNVXR0xHfhMgxscMI/wkR22brdxGlzGGNx/Jrt4q24sx4ES4gEbWZfLOpixb3K8JBcI9l6bOIBg4H4cQwGHoUFf1ihTTdlGXpcETVwoCLPus10CwHdSv+JkD75oqUyRC4gmLgQIlNYE4MFpnK5p7mtKXa74JGgvlUYhix/z8uqU+5DAGno7jaLHs6LhP48Q0qTYldLJYFUAJwb2kQEBmfvXTkDYSmItDMJ13+1yQhDnJhrSsvSZ4v35PPpw+UIL2aU3ABLJErwSIeejo7KWLcU8K8xmYkPuQyPKoCWu22Ugt7I0QyHfhrn8Aq8pT1jm1EOTq7VzuouvJTTK73T5vCvaiSXjOkR8YEGTS0P7dBiZgY0zW7Chosx7DSlWOEXPNtNq259a+u6qDp4dm3rVldu7DPU90v+9CSqg72Jmcx7hPLI/jf+Itl5cUX7IJGtHffKhOXf0ThOsO+v7qsVQY/646qHWJuA9a9GXcAIQM+3Tdx7fPZlXOscioHCzd0o7JG38XeY6ny7QWkw5ci9rS3w2DjzaM+FuWBNJYLikwRPacaKscX3vfekgFiPCQjntJcO/EeWwabOp79Z7n+iR4Q6MCiW7BcuoO2Jjur5ZZ4O1MWBNua9jtQ863EZVaGCGFnSieAwSiIpUQbxUi5G75TluW19uwWf7APSct4F29l8PFJTWEMGCEEXaUJjB1JYW4mTUAD5YB9aqjeiIg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(136003)(346002)(39860400002)(376002)(396003)(36840700001)(46966006)(2906002)(110136005)(316002)(336012)(426003)(81166007)(26005)(186003)(8936002)(83380400001)(8676002)(1076003)(478600001)(70586007)(44832011)(86362001)(6666004)(82310400003)(5660300002)(82740400003)(4326008)(2616005)(7696005)(47076005)(36860700001)(36756003)(70206006)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:24:55.7525
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 464a32c3-251d-4f5d-da98-08d95cb24397
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT061.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3299

When system turns NUMA off or system lacks of NUMA support,
Xen will fake a NUMA node to make system works as a single
node NUMA system.

In this case the memory node map doesn't need to be allocated
from boot pages. But we should set the memnodemapsize to the
array size of _memnodemap. Xen hadn't done it, and Xen should
assert in phys_to_nid. But because x86 was using an empty
macro "VIRTUAL_BUG_ON" to replace ASSERT, this bug will not
be triggered.

In this patch, we set memnodemapsize to ARRAY_SIZE(_memnodemap)
to fix it.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
 xen/arch/x86/numa.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c
index f1066c59c7..d23f4f7919 100644
--- a/xen/arch/x86/numa.c
+++ b/xen/arch/x86/numa.c
@@ -270,6 +270,8 @@ void __init numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn)
     /* setup dummy node covering all memory */
     memnode_shift = BITS_PER_LONG - 1;
     memnodemap = _memnodemap;
+    memnodemapsize = ARRAY_SIZE(_memnodemap);
+
     nodes_clear(node_online_map);
     node_set_online(0);
     for ( i = 0; i < nr_cpu_ids; i++ )
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:25:09 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:25:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165618.302666 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlQ5-0001VZ-Lq; Wed, 11 Aug 2021 10:25:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165618.302666; Wed, 11 Aug 2021 10:25:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlQ5-0001VO-ID; Wed, 11 Aug 2021 10:25:09 +0000
Received: by outflank-mailman (input) for mailman id 165618;
 Wed, 11 Aug 2021 10:25:08 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlQ4-0000BQ-BT
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:25:08 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com (unknown
 [2a01:111:f400:7e1a::601])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id f9537592-742e-4216-8581-8787da46ecd7;
 Wed, 11 Aug 2021 10:24:59 +0000 (UTC)
Received: from AS8PR04CA0079.eurprd04.prod.outlook.com (2603:10a6:20b:313::24)
 by PR3PR08MB5753.eurprd08.prod.outlook.com (2603:10a6:102:87::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.21; Wed, 11 Aug
 2021 10:24:57 +0000
Received: from VE1EUR03FT017.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:313::4) by AS8PR04CA0079.outlook.office365.com
 (2603:10a6:20b:313::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13 via Frontend
 Transport; Wed, 11 Aug 2021 10:24:57 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT017.mail.protection.outlook.com (10.152.18.90) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:24:56 +0000
Received: ("Tessian outbound 8529ae990a93:v101");
 Wed, 11 Aug 2021 10:24:56 +0000
Received: from 69e55c52c790.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 551884DF-DD4E-477B-97D7-AE621449E982.1; 
 Wed, 11 Aug 2021 10:24:50 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 69e55c52c790.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:24:50 +0000
Received: from DU2PR04CA0004.eurprd04.prod.outlook.com (2603:10a6:10:3b::9) by
 PR3PR08MB5628.eurprd08.prod.outlook.com (2603:10a6:102:8e::17) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4394.19; Wed, 11 Aug 2021 10:24:49 +0000
Received: from DB5EUR03FT007.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:3b:cafe::c2) by DU2PR04CA0004.outlook.office365.com
 (2603:10a6:10:3b::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16 via Frontend
 Transport; Wed, 11 Aug 2021 10:24:49 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT007.mail.protection.outlook.com (10.152.20.148) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:24:49 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX04.Arm.com
 (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:24:46 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:24:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f9537592-742e-4216-8581-8787da46ecd7
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kVKHdbqA0nYwZzQvyecp9+EIwlyV0oUC0TssqSpKYD4=;
 b=lo1WlehcOh3Ry0Us5owmBqaFJw1ohWxF2AK8yfGTAJ3B1/6jOCThrAMZb4CUChd/jFenbj4z2doCsPOq0Suf1A25tuQmmZGsRS1oJaQsBbNMq+BR2UI5IAGFGpdAYoHyGCM/RaD98CeH0BeC2BifuFkyYk3PIpRIs0kTHbjnyk4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: db3c120abeff39d6
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MfYSVHEVzEdo+xe8cd5hkYOUi6KK0a+H1+BjKcohEwsi6nmqDVP4cwFBXl1ZPjhMIxh6iLuBvEphpX57kj3Lcmmoo/6RfA+2LQKvrcWk7/f+gREzqFcmnr/ibgPkbIiOdSmK6hc00infbvO6ZBkPtdBL1pFDctJh5coaNcJjakBPLtVvAGbTVUFpU/RQRBatcxuI+TppvLILuwT4arzVLlWZeWk9n4pAXyV0vZP5MZCbWDxc8WvGr65y8wELyn1o/wrDgpxp4tov/tgF41zFELOdR9TbI2Ll2IdSTOf1qYc1HSdR50UBf8n9LZtPmDKiyvRrDiEumF5RB++iQssR0Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kVKHdbqA0nYwZzQvyecp9+EIwlyV0oUC0TssqSpKYD4=;
 b=j3oq0oBpbVGtoJpWuf+GCI0YjLzFMwI2Z2bgyVQq3DCf3vMI++F3Gbh1RHPZgpl+UjpWFL6B40j5urzASRfPe6dpQDFAzRue2PZ5ENdbAbfz7TVIrl7OyhVlWvBCy3fi/Dx2/1hNAxjB+1JEvhlBpQl/ATAboQCSKHA+GLwfzpDtOxyLLtXTbpIQDqcTl2OaGP2wOtBhKAWZ9LjsIx2h3DD49DDPcblQwmZGlR2iZQtVbHnxHc+L2wPuoyzOfB9QtoSSZcL7KL/XQ8WA7aX0ufOoljlsaPGyF24PPkt1c0M425M4PDqZwah+NAqqZl6dw/nKjvTbU6oWfX7o+RGIdw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kVKHdbqA0nYwZzQvyecp9+EIwlyV0oUC0TssqSpKYD4=;
 b=lo1WlehcOh3Ry0Us5owmBqaFJw1ohWxF2AK8yfGTAJ3B1/6jOCThrAMZb4CUChd/jFenbj4z2doCsPOq0Suf1A25tuQmmZGsRS1oJaQsBbNMq+BR2UI5IAGFGpdAYoHyGCM/RaD98CeH0BeC2BifuFkyYk3PIpRIs0kTHbjnyk4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 06/40] xen: decouple NUMA from ACPI in Kconfig
Date: Wed, 11 Aug 2021 18:23:49 +0800
Message-ID: <20210811102423.28908-7-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 959913fc-9cbf-4074-0338-08d95cb24467
X-MS-TrafficTypeDiagnostic: PR3PR08MB5628:|PR3PR08MB5753:
X-Microsoft-Antispam-PRVS:
	<PR3PR08MB57531F6CD4B8A1DD3BDD2B2C9EF89@PR3PR08MB5753.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:6430;OLM:6430;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 M/CGGbl0pAZg84Ne2ki8WaCskNwh5I4+RlJkX+GluzEeSKDHzvG8WBDfvMRS/1rUkuzZVSt2YOAeIyvyoUKmpRbAaPCGCW5UVppdlTk/LQBFUDeRvcG0QNjxbaY4gBeZHYuoO7mbyl4qOCPyIoDbah44dMClk0mzLHpZrSnFVXm0+eNc6ASLj8PTzcMixjvNedHN6mu64k3OeFunTOZJ45ws2hEAb28OZxjE30h9Dop82Wfl/roy7fLSZ5US86G6YVRazM/4XhxbEAuMcpg9R/W0hyzTGLoXaEWvxdxMdxFp26VVvnkG5zG6Gy1OeihKR+KkS+ir1Yc/2znvyR4XGR7hxsfXOihU4Gi2YBMRqxVsT+gn4yvNRFencGCfV8UvO6yenq4aMJFvZFgUpsnbE3iYPzXcNarOqifvMgDpT/ktj2G9/NZwegV1n4H2RmSXJLZk4Co01C3vG2iPS36Jwbnb0hgQDhmuVN+XT93Ixo0JH6chIJj7mXnmzWpZsu0gLERSLlGcc3ilIqcnQv63cACcV3PkXtbmbhRiKh/d2uNXtgkvh13ayagehGQuFKNt1T7R7IM8+Yw8DWMKaIndaOF5D16dQ+zUx5hGyeqXkvQuwA+UAhfjtbAbc8g5mHZ2Va9kG8gnBywYdFIQbI391p+WwwS95eXOHVzsgXZWsT7AcVA8O4qYkFVz+wdDPA/07OCqaJxjkB3eeyt22j/FTU7yefla5cmlNOxqe0F0cxF7Wj5ax9xNPu+CoconNsePT01IQdWERhvQcXmtMCL7xRk3pcT35KY6bxxYrLt82Q4=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(39860400002)(396003)(136003)(376002)(346002)(36840700001)(46966006)(8676002)(7696005)(336012)(316002)(26005)(426003)(83380400001)(36860700001)(8936002)(110136005)(36756003)(82310400003)(1076003)(47076005)(34070700002)(356005)(44832011)(82740400003)(70586007)(70206006)(81166007)(5660300002)(478600001)(2616005)(186003)(4326008)(2906002)(86362001)(36900700001)(2101003);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5628
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT017.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	0c417f11-cd95-4a0e-1d75-08d95cb23f94
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	183ptZiCG4uWNUrFG+W+z7pFOk0ikPTXbJDJSabPKWiB2Sy4BtITQ4zkuRc4NcuNC+LujUdE1k37MjWS96R5Ow2jw5xTOlZapnXy/BabFkS5OWIa848n7Eg+euqUtdT36phQli/QeAXz8KkxH+nxS+v3fUTZYx+TkUai3yUNLNjBW0uLuCHmzjrckRsyDAtP9xtErSjdB/ihEycrYuHPBwgEyHSbpllGcrjcX9KQlVa7/i1h8Syyl8S/Bu6t/LICe7WM0kEym/COfgQKh0PHrmp57Ex7Zn/3ZzZxIcF/8oBW5/Sr9S6+gvgSLpcW3xbs6Rxy/3wO36O7wBTaYyqJr3stSshuaFKwVy8U59ME0A4/mNPgjqft4c+DqdAzwPAwYx0tnklPDt5TJW84FORORqLozd8QoC9kAscTe+vxVpHarFmQlROll1Vx9HiSVVcTQ9oyZumABLLLNPec3HqKC6N/JXNvNGMF/g3fRmozlXDnR2HUQwYF6Gzn86jSd/v966IW3yBNSkxnk0PNDlQR8yQWYS/wmXIHrI5bQCMTRbuSBBx0qhDgrbsXUz87wsNOb9J0MFFJGMojlpegJOpoKCtzY4o35ADVhgP/Ohp5JJMJ5W1aYsevLu3BaUy7dKR2OveVvUvF5EL7OT016Gg7CBWcghV68r+RS5kU0ZM7ZoLnfYOcFKjjoMKG/W/TDhgj5EBoGSijiOzraz+DqlNjpm/rx066tFXwuXTDAxgkL0A=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(46966006)(36840700001)(70206006)(81166007)(8936002)(26005)(4326008)(110136005)(2616005)(36860700001)(70586007)(316002)(7696005)(8676002)(5660300002)(508600001)(426003)(82310400003)(186003)(2906002)(1076003)(47076005)(44832011)(83380400001)(86362001)(336012)(36756003)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:24:56.9972
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 959913fc-9cbf-4074-0338-08d95cb24467
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT017.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5753

In current Xen code only implments x86 ACPI-based NUMA support.
So in Xen Kconfig system, NUMA equals to ACPI_NUMA. x86 selects
NUMA by default, and CONFIG_ACPI_NUMA is hardcode in config.h.

In this patch series, we introduced device tree based NUMA for
Arm. That means we will have two NUMA implemetations, so in this
patch we decouple NUMA from ACPI based NUMA in Kconfig. Make NUMA
as a common feature, that device tree based NUMA also can select it.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
 xen/arch/x86/Kconfig         | 2 +-
 xen/common/Kconfig           | 3 +++
 xen/drivers/acpi/Kconfig     | 3 ++-
 xen/drivers/acpi/Makefile    | 2 +-
 xen/include/asm-x86/config.h | 1 -
 5 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 9b164db641..7414aef113 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -24,7 +24,7 @@ config X86
 	select HAS_UBSAN
 	select HAS_VPCI if HVM
 	select NEEDS_LIBELF
-	select NUMA
+	select ACPI_NUMA
 
 config ARCH_DEFCONFIG
 	string
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 0ddd18e11a..b1f1145613 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -67,6 +67,9 @@ config MEM_ACCESS
 config NEEDS_LIBELF
 	bool
 
+config NUMA
+	bool
+
 menu "Speculative hardening"
 
 config SPECULATIVE_HARDEN_ARRAY
diff --git a/xen/drivers/acpi/Kconfig b/xen/drivers/acpi/Kconfig
index b64d3731fb..e3f3d8f4b1 100644
--- a/xen/drivers/acpi/Kconfig
+++ b/xen/drivers/acpi/Kconfig
@@ -5,5 +5,6 @@ config ACPI
 config ACPI_LEGACY_TABLES_LOOKUP
 	bool
 
-config NUMA
+config ACPI_NUMA
 	bool
+	select NUMA
diff --git a/xen/drivers/acpi/Makefile b/xen/drivers/acpi/Makefile
index 4f8e97228e..2fc5230253 100644
--- a/xen/drivers/acpi/Makefile
+++ b/xen/drivers/acpi/Makefile
@@ -3,7 +3,7 @@ obj-y += utilities/
 obj-$(CONFIG_X86) += apei/
 
 obj-bin-y += tables.init.o
-obj-$(CONFIG_NUMA) += numa.o
+obj-$(CONFIG_ACPI_NUMA) += numa.o
 obj-y += osl.o
 obj-$(CONFIG_HAS_CPUFREQ) += pmstat.o
 
diff --git a/xen/include/asm-x86/config.h b/xen/include/asm-x86/config.h
index 883c2ef0df..9a6f0a6edf 100644
--- a/xen/include/asm-x86/config.h
+++ b/xen/include/asm-x86/config.h
@@ -31,7 +31,6 @@
 /* Intel P4 currently has largest cache line (L2 line size is 128 bytes). */
 #define CONFIG_X86_L1_CACHE_SHIFT 7
 
-#define CONFIG_ACPI_NUMA 1
 #define CONFIG_ACPI_SRAT 1
 #define CONFIG_ACPI_CSTATE 1
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:25:15 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:25:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165619.302678 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlQB-000247-2m; Wed, 11 Aug 2021 10:25:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165619.302678; Wed, 11 Aug 2021 10:25:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlQA-00023m-Sr; Wed, 11 Aug 2021 10:25:14 +0000
Received: by outflank-mailman (input) for mailman id 165619;
 Wed, 11 Aug 2021 10:25:13 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlQ9-0000BQ-Bk
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:25:13 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com (unknown
 [40.107.8.73]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id edef0319-e93c-4997-b111-0630fe5cd44e;
 Wed, 11 Aug 2021 10:25:05 +0000 (UTC)
Received: from AS8P250CA0010.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:330::15)
 by HE1PR0801MB1820.eurprd08.prod.outlook.com (2603:10a6:3:85::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.16; Wed, 11 Aug
 2021 10:25:01 +0000
Received: from AM5EUR03FT008.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:330:cafe::ba) by AS8P250CA0010.outlook.office365.com
 (2603:10a6:20b:330::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:01 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT008.mail.protection.outlook.com (10.152.16.123) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:25:01 +0000
Received: ("Tessian outbound 7b804b1d9bbf:v101");
 Wed, 11 Aug 2021 10:25:00 +0000
Received: from f07ecd72b4d3.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 9B1A294A-3DFF-4105-9E76-B9013CA48E2D.1; 
 Wed, 11 Aug 2021 10:24:54 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f07ecd72b4d3.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:24:54 +0000
Received: from DB7PR03CA0095.eurprd03.prod.outlook.com (2603:10a6:10:72::36)
 by VI1PR0801MB1631.eurprd08.prod.outlook.com (2603:10a6:800:5c::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.21; Wed, 11 Aug
 2021 10:24:46 +0000
Received: from DB5EUR03FT003.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:72:cafe::68) by DB7PR03CA0095.outlook.office365.com
 (2603:10a6:10:72::36) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13 via Frontend
 Transport; Wed, 11 Aug 2021 10:24:46 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT003.mail.protection.outlook.com (10.152.20.157) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:24:46 +0000
Received: from AZ-NEU-EX01.Emea.Arm.com (10.251.26.4) by AZ-NEU-EX04.Arm.com
 (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:24:44 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX01.Emea.Arm.com
 (10.251.26.4) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2308.14; Wed, 11
 Aug 2021 10:24:44 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10: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: edef0319-e93c-4997-b111-0630fe5cd44e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=X9Quh0tEBLns+ar8JRFuw/KOQmJhLjKjIBZgg0xnsXg=;
 b=2eh5hJb21Lf3WOF4YqpiJr0AVtlRKXHzkZVjD2fdKTYiMPQRyrP2FfECRZ3luDtmOenT+c1YuUd16xrtiAABRZlXa9jeCZ2cPQRsYTbAPXK/b6TbKmi/2IrWEIhMs6FYXj414It9OS8+pvl63Axf+UhT1xg2qkVPA7elF9xeWio=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: a89ea8ceb0cfa144
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HBMuQOK7uD9l1ovvWUo902MSVKdGnsrqP2B7kdd0qo/QVvBsGegoJvd2MO4ganAw90dkn/AUxsZ8kGVzqLocuvugdKzkJ81A0zN24XOo+Gjmr9KxDBDaomSV5f283HYZQWUdxSIymRaHGXMktX9awCDD1SAql0gQC2bXU/yag18v6uT98iP4QMudNbDDksNVpHa1FmKNrE6MPfArr6CRV9n3SyA689IZA2DkMHLVFUJ4K57sY+9l/rAA94r0EZQ0FsfZQ3nSa+G/+qzLAS0p9jglNSmEV4xWh1zdJ+8+o7QLCvPqtFa7ksy0F6BcAyNLFQ+8WuUyl0nwjVaRNCTx8w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=X9Quh0tEBLns+ar8JRFuw/KOQmJhLjKjIBZgg0xnsXg=;
 b=aOZbkqqIJezjhrLmlLgFRT2T8wHr1sVZSWrC4NdRh8ej6EPlXiZRTs7ozRFnyghTGdHSVnE/F8lp2VrB+ui8ufImHOogQFwq9DKuxvZvKQ5+oHMATnaXHQT4cqVOhFd0wmcakQKzrSa4QaaYrtKB+E6qbOwJqFMLiTAqPG5cUZXtC+Q+1KaBdR0MUujjILcYOOppSlWo5D+W2xzjovtXX1nGXNrsSCf2YXDls21U2Kk5d0V0a8q4FpQtgjGNlAtNy6Ra6jXPeB7z+2YOa/x2tJN+TTBdnsBr9bebb4sZTkoMNmROI/Bh/7xfn5vvMySsOUGVo9opQHDW+jmnlc2hOw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=X9Quh0tEBLns+ar8JRFuw/KOQmJhLjKjIBZgg0xnsXg=;
 b=2eh5hJb21Lf3WOF4YqpiJr0AVtlRKXHzkZVjD2fdKTYiMPQRyrP2FfECRZ3luDtmOenT+c1YuUd16xrtiAABRZlXa9jeCZ2cPQRsYTbAPXK/b6TbKmi/2IrWEIhMs6FYXj414It9OS8+pvl63Axf+UhT1xg2qkVPA7elF9xeWio=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 05/40] xen/arm: Fix lowmem_bitsize when arch_get_dma_bitsize return 0
Date: Wed, 11 Aug 2021 18:23:48 +0800
Message-ID: <20210811102423.28908-6-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 85de283d-db0f-4017-0929-08d95cb2470b
X-MS-TrafficTypeDiagnostic: VI1PR0801MB1631:|HE1PR0801MB1820:
X-Microsoft-Antispam-PRVS:
	<HE1PR0801MB182079DB7171F55857CDD0219EF89@HE1PR0801MB1820.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:4714;OLM:4714;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 Z4IAsI0b6ngauI/JeUMz1wBAaKVpFhny3snomKpsVDwx3yTq3TckQ5mDKh9YAY3Ed6oydvj0d97ezD4NpAshzEixq6bHMFkYNECsM3qqZAJBlNiWdCAjcI7AE8HBcX+5MJzWWFgcVMEzz5+qwmS43981bSitlNZ0WHX0f94UViNpufgkFWalnbJyRVAV9hdgsMfZOVYoAymBWqcv9KdUoeX3DOZDFIF0IZ484TKg7w3sSg7CBGmQWJLd6JO6miG2rmKuROkDXkx/XQXZ9PSzZq37G8mBJCVZtxidkfcbe7c0th5hsvIU6CcUQS5rnq4fZzo2gJbvFix8tPOMUN/ciBSgUNgfmOVZ6kuzJ+s0LM7y2mgQ+3oKQHWSXQYEeQ4NGCQ1QU01Ec7duUO/4aY38QJPvK+hENVh8NCoC7zkPMs4MVKgxehGtW3eSSabzO7Tj6FEwBtC9TrWvsz3PDlCmAtY4TuIvd7UPP6ZPsigipPJY2N+chUYvISo06Nuo6un9oIit4Pee1uoahPh8R5WR3R/nEJDqUktxZ7ZdP3R1W5MzYPKISg2Ygn/NhNUK14HJH6/C56r+yqjefCzmvcU+6/NHt3xlUXsBluZnp7RnwhaqyI+oYocOdTuZj5TdQrN1r1lmf/hly3PSgILGRcD8F8FNsnhc3O3fjcB+xexXsqhd/97DFv1LmJpVW868Yo5Ij0f28JGe64I6F2Yq81dZLa4nOg5vZ9rXDRTcJVJ1b/ZIf1adRCxxaM0vWAzmlp7Pht2+fA1ADFPfDEpsUe3WPUG0aFX58nRc7b1tAFqXeU=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(46966006)(36840700001)(2616005)(110136005)(81166007)(36756003)(8676002)(336012)(316002)(5660300002)(426003)(36860700001)(26005)(82310400003)(2906002)(186003)(356005)(8936002)(7696005)(4326008)(508600001)(70206006)(1076003)(70586007)(44832011)(34070700002)(86362001)(47076005)(83380400001)(36900700001)(2101003);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB1631
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT008.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	c5dda8c7-6844-454a-b05d-08d95cb23df4
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9WEWsZ09KGe+kslieg86Jd5/TG255oLiZR1zpBktABw0LKwK2tmyuI/1b4Ms9OSf3Pta4m6UO31lJXCmGtoxTiu3ptCdEn7QOzoI90vMih/LyqWyZR8PbFqi2v4OlVWlGBdOOouyRArAr7JspoUVHksKInWNMZ0j4HH8UTO6p61RZ1hyNbh1S7x34YqzFKnpsTW8rhAUswUkvwvynz4q99n6TZLKc5yqp++gtmVqqNuZyTnInwKcV8C7+lW8w6WTYr+SCBIvicAqmNjgi6MkboWd2FML0mCY/EmlpdLpTX2wHHjiFf2RPLZ28N3CiCnqwIDfS1Tk6zmpV6QuIy+VrPBFoYl5nWWSSwzQqV9Vh8lxop6qjN4XFaIu84AIOK8QTwK9y3o6uZoJFTkg19zepXhm+jvw0nKSHwGsLY8lloClXfj4dR4FDlnoFCsunbDlejWk0jZRzHwZ8yQ1rSbcyV0QnZUwp1ujBq/zm+gfn8fJqeI8OB0i/s56qt0g8UIXRLyAZm+O+yZlaRFd3cU2cEaF7qGOStK4ipY+DvRIaL0cVplr71zabBkvhoUy2+N9yO9x3fOlgGXgfBEh1XK6q7uQ/p7JIpyTaRt3jKktHy5reIejRROPB5G5ypYOGWbTBFA0waa2u2chYL03H7tRy+RVDBG9mSXVL67C0YMvrc/WR+WX7l74r2dkTDrcjDKwyWi2orRQ8ItaXebsBOEEkYk9KdMvzkUkkznAuerkOY8=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(136003)(396003)(346002)(376002)(39860400002)(36840700001)(46966006)(186003)(36756003)(26005)(7696005)(5660300002)(426003)(2906002)(478600001)(2616005)(336012)(82310400003)(44832011)(47076005)(1076003)(316002)(110136005)(70586007)(81166007)(82740400003)(4326008)(8936002)(83380400001)(8676002)(86362001)(70206006)(36860700001)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:25:01.4885
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 85de283d-db0f-4017-0929-08d95cb2470b
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT008.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB1820

From: Hongda Deng <Hongda.Deng@arm.com>

In previous patch, we make arch_get_dma_bitsize return 0 when
dma_bitsize and platform->dma_bitsize are not set. But this
will affect lowmem_bitsize in allocate_memory_11 for domain0.
Because this function depends lowmem_bitsize to allocate memory
below 4GB.

In current code, when arch_get_dma_bitsize return 0, lowmem_bitsize
will be set to 0. In this case, we will get "No bank has been
allocated below 0-bit." message while allocating domain0 memory.
And the lowmem will be set to false.

This behavior is inconsistent with what allocate_memory_11 done
before, and doesn't meet this functions requirements. So we
check arch_get_dma_bitsize's return value before set lowmem_bitsize.
Avoid setting lowmem_bitsize to 0 by mistake.

Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Hongda Deng <Hongda.Deng@arm.com>
---
 xen/arch/arm/domain_build.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 6c86d52781..cf341f349f 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -265,9 +265,18 @@ static void __init allocate_memory_11(struct domain *d,
     int i;
 
     bool lowmem = true;
-    unsigned int lowmem_bitsize = min(32U, arch_get_dma_bitsize());
+    unsigned int lowmem_bitsize = arch_get_dma_bitsize();
     unsigned int bits;
 
+    /*
+       When dma_bitsize and platform->dma_bitsize are not set,
+       arch_get_dma_bitsize will return 0. That means this system
+       doesn't need to reserve memory for DMA. But in order to
+       meet above requirements, we still need to try to allocate
+       memory below 4GB for Dom0.
+    */
+    lowmem_bitsize = lowmem_bitsize ? min(32U, lowmem_bitsize) : 32U;
+
     /*
      * TODO: Implement memory bank allocation when DOM0 is not direct
      * mapped
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:25:20 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:25:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165626.302689 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlQG-0002on-EX; Wed, 11 Aug 2021 10:25:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165626.302689; Wed, 11 Aug 2021 10: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 1mDlQG-0002nq-AJ; Wed, 11 Aug 2021 10:25:20 +0000
Received: by outflank-mailman (input) for mailman id 165626;
 Wed, 11 Aug 2021 10:25:18 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlQE-0000BQ-Bu
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:25:18 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com (unknown
 [40.107.7.58]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id fd9d89a5-d3a3-4741-ba50-954fbfc1dabe;
 Wed, 11 Aug 2021 10:25:12 +0000 (UTC)
Received: from AM6P193CA0096.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:88::37)
 by VI1PR08MB4382.eurprd08.prod.outlook.com (2603:10a6:803:f5::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.19; Wed, 11 Aug
 2021 10:25:00 +0000
Received: from VE1EUR03FT063.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:88:cafe::fb) by AM6P193CA0096.outlook.office365.com
 (2603:10a6:209:88::37) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16 via Frontend
 Transport; Wed, 11 Aug 2021 10:24:59 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT063.mail.protection.outlook.com (10.152.18.236) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:24:59 +0000
Received: ("Tessian outbound ab45ca2b67bc:v101");
 Wed, 11 Aug 2021 10:24:58 +0000
Received: from e31897cafa99.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 7359A672-B132-4975-95F6-FC9733A0DB11.1; 
 Wed, 11 Aug 2021 10:24:51 +0000
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e31897cafa99.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:24:51 +0000
Received: from AM7PR04CA0005.eurprd04.prod.outlook.com (2603:10a6:20b:110::15)
 by VI1PR0801MB1822.eurprd08.prod.outlook.com (2603:10a6:800:5c::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Wed, 11 Aug
 2021 10:24:49 +0000
Received: from AM5EUR03FT015.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:110:cafe::68) by AM7PR04CA0005.outlook.office365.com
 (2603:10a6:20b:110::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13 via Frontend
 Transport; Wed, 11 Aug 2021 10:24:49 +0000
Received: from nebula.arm.com (40.67.248.234) by
 AM5EUR03FT015.mail.protection.outlook.com (10.152.16.132) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.14 via Frontend Transport; Wed, 11 Aug 2021 10:24:49 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX03.Arm.com
 (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:24:41 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:24:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fd9d89a5-d3a3-4741-ba50-954fbfc1dabe
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+ONilfRs6Yw0UA5hM/jo7ynBsRjRbTUFfphDgQCzBbE=;
 b=W475vQAn2fpdoJ8+Ws9up4rgsyDEcKr0XzmHxeiLSkwubhvHGNYKU3aKpKGpIq3PL24beQbaS95hu48j/GETzFx8I7tfDCxUUxDV4xLHpC4zB2natIii/9jc6T/56SqJy6AwrKKsXWt8Lhma2bbUitwNqtrU10sd/oS5q0ZSqM4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 315ae1731925a2a7
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VH0VQPASUcZTHYsvG5ERQ2pcL2rjFW2JpPh36q7TbFRNzF3arULhtxzMzzt6a/Jtdo7IvQ4oNGC8K/x3EGAp6+G2QUHOl31zVHDfWZPP0gDmjnur12YptZzzNst0RCFFw5r1aYbJuOuhVO0vs57zRYdu6/fMHXErZFXPNLCyJh++deKpefxepKOJbuee70xMkSLEmZn+sLQvIJ8t5H+MWGqKTqop5E380lepNpm9co3AdTQUDjVtbCi2m5uMXRfj+xwI1QXffdlxPSLBQzcJdLIqfHFBGgrRSCNbLojV/nsM24vIqqPoLUtAMNjcPjbJcIc4P3EVvKUKmUNEl9D6Cg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+ONilfRs6Yw0UA5hM/jo7ynBsRjRbTUFfphDgQCzBbE=;
 b=PhXzIFORhgqofwHOWrOwO72YBB1SKJStLJK1SKEKmMR0AbpmlBC/yc9lZcwr6z+J2UBrIecjRb5KrTtMwFgXhsTX5zs8d9ZX2cMtmHh13iJWzkypHcHIjPEqVhoOmDezkTpaQcPffui/5ZdSrhJPK+JCu3hZ6D5VNI5xhFL/1SBnSOOvZ+x95DZ9I3L58FvwYpK88Bh1CeGtimNcam2zmkBZ0WMMuiF8Qujg4Oaj6DDuLD+3V3BXgmmOr8BNcGfgFA+P1X15FkG4VYtFNquJIAY2w4GkrGmriEgj9dsEwA0WPG2sVJ1GeBzFdNqz5orKXGkCRM5Nhnr4pxwHV7jHkw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+ONilfRs6Yw0UA5hM/jo7ynBsRjRbTUFfphDgQCzBbE=;
 b=W475vQAn2fpdoJ8+Ws9up4rgsyDEcKr0XzmHxeiLSkwubhvHGNYKU3aKpKGpIq3PL24beQbaS95hu48j/GETzFx8I7tfDCxUUxDV4xLHpC4zB2natIii/9jc6T/56SqJy6AwrKKsXWt8Lhma2bbUitwNqtrU10sd/oS5q0ZSqM4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 04/40] xen/arm: return default DMA bit width when platform is not set
Date: Wed, 11 Aug 2021 18:23:47 +0800
Message-ID: <20210811102423.28908-5-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 675fb2df-8614-4c76-0b6a-08d95cb245bc
X-MS-TrafficTypeDiagnostic: VI1PR0801MB1822:|VI1PR08MB4382:
X-Microsoft-Antispam-PRVS:
	<VI1PR08MB4382E909B359CBEF3A94D0FF9EF89@VI1PR08MB4382.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:8273;OLM:8273;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 mmWuGuIeI55qnbkmxcr0UQQZuYZ8/SWgpugoLOAunOA918RvHAGJGreehvlRZVi7bO+84KAFCDvVGkdGVySpjNKLy7fMwmMH9tm5wbhs7MRpKp/apgcmReQB1uXWGiRSEKzAnXvXzP4Ik3QgUiTN7to5s1M1MTS/oBb9gVnqiZBhpkP9ayZENGmpkjYfASrMjamdVQEIebC0EtJW0gbxkXvKCalpfbNWKi//v1GCOb2QDRF4k/1SwFHJKZyJ3Jsqd1aa1qBAscnzz9TNfMLTDI0qL1PcbJteDL1slIx0CHJlYL+N7VyBpAcbx1q5simPbNLdBwDT8BbJwd6lyxYxJhlT6tnWDD3P1fh0ELq6x1b7b0KoIdSPfyPwhSlv+1FNCheo2M6Xy0hfpGwie4ak+DdF8tv5xnHeeeqHuAzbuDzWdShfMA2c3PS/sq1IK3j1jAi8nhXy4cIO8QNJN+gi2FkHOValKovnKg33dPdP0SNeX1094oMohIozsPmwS3hL68bTiFhzsVZxKdp385g4o4Q55Wspep+hEX5r1Az/FlGhdp/VUwxf1Ou4shEKeWly2y+R4ER7AzsXLTMQvXIQ+SQWRcCnuyima48DxbjxzbrT2uEE8ExUXkcEDwmikrCRk+fMWmBZ1C2quoHpmlMuAgwjGvyYLK2lTZxIj4MTJIvu401Odh8rFvvA81EeCuutYnLypuMSF4rEn5Z9EBymvU3SV3dkuulijmxoVvPzcCcLtYNofdrMurPCCkHUtMH3nptmfSvoFFNZo9G1DxlEv2IC1n4Q839KuF91prbCCVY=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(396003)(136003)(376002)(39850400004)(346002)(36840700001)(46966006)(81166007)(110136005)(7696005)(316002)(83380400001)(47076005)(478600001)(82740400003)(34070700002)(86362001)(6666004)(82310400003)(70206006)(70586007)(44832011)(36860700001)(8936002)(2616005)(8676002)(336012)(5660300002)(186003)(2906002)(4326008)(426003)(1076003)(36756003)(26005)(356005)(36900700001)(2101003);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB1822
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT063.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	696d9156-a991-4f5f-1f75-08d95cb23fa4
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dUiae/JDPt9L/5Xv7JqfZxLvL8spMiS4TlVFFlwmOgzMDKLPbEVpEDPvblq2Ja3tvQ4OW6Ko+ojcxgE4ve6kDN08TjoMIJ3kNeRzQgbRC7Xm+pCW692MzvBn7oiFH0+/JlSMLRYuV2TQpJP8ggIliynY8r/ybzikEfeAOi81vDdylmhZyxpxSDlRxENnvZrMQ2aKKOErmJ1c2s6niBoOnb4T6GtWHrO+kRD0XeeLHt+TfBYQjfSn8gEtiMPrjB3kn1sqGy5/b0sdcp1s7LX5RxoeUTIPKkhKEmGERVYgPXpmZEc3B8i4vqvDok7Ov98YfT+p9iyryDzXwHPLmz/i+ZgcmQI9vqwe3fOjPVwO3i4A69qxra0PLsdmTUrSnliw3wqO/rjgwSdlTrPIW6ptTjwnRcftWAb7Srmni8NFWTfQJIg2NUzFR7CT/mPK4A3H/l1D7W7UkAW7Yh3mAduUgi3cZUegcyG1uqsenjDTMf/THmtvpHIk+IcBt/eXUKq/xeOgE1INOMpFvQAfXi154Mt9jIBOtQMcwrLUfMpemxbz7vul7mKP+ccUp/mjM8Ph64hLIjbiyvgMTTYSyMkcI+7ecPa+B4XOI1bfi7Ij/q4lKr+Xp6Sd2x6GGkQJYOCc5sbIJ92gHfRXploCze511EUc6XJC9J3/VXWce7vHd9pCDAWVZsa5nO1qqwU+Xh5gPEc8yDaUR0OE737roMfPMEj8ySNkvgFbH5HsB9+c6n0=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(376002)(396003)(136003)(346002)(39860400002)(46966006)(36840700001)(36860700001)(70206006)(6666004)(316002)(2906002)(82310400003)(70586007)(336012)(110136005)(36756003)(47076005)(82740400003)(83380400001)(81166007)(4326008)(86362001)(186003)(5660300002)(44832011)(8676002)(26005)(8936002)(2616005)(478600001)(7696005)(1076003)(426003)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:24:59.2372
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 675fb2df-8614-4c76-0b6a-08d95cb245bc
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT063.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB4382

From: Hongda Deng <Hongda.Deng@arm.com>

In current code, arch_get_dma_bitsize will return 32 when platorm
or platform->dma_bitsize is not set. It's not resonable, for Arm,
we don't require to reserve DMA memory. So we set dma_bitsize always
be 0. In NO-NUMA system, arch_get_dma_bitsize will not be invoked,
so dma_bitsize will not be overrided by this function. But in NUMA
system, once the online nodes are greater than 1, this function will
be invoked. The dma_bitsize will be limited to 32. That means, only
first 4GB memory can be used for DMA. But that's against our hardware
design. We don't have that kind of restriction on hardware. Only
platform setting can override dma_bitsize. So in this patch, we
return default dma_bitsize, when platform and platorm->dma_bitsize
are not set.

Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Hongda Deng <Hongda.Deng@arm.com>
---
 xen/arch/arm/platform.c | 4 +++-
 xen/common/page_alloc.c | 2 +-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/platform.c b/xen/arch/arm/platform.c
index 4db5bbb4c5..0a27fef9a4 100644
--- a/xen/arch/arm/platform.c
+++ b/xen/arch/arm/platform.c
@@ -27,6 +27,7 @@ extern const struct platform_desc _splatform[], _eplatform[];
 /* Pointer to the current platform description */
 static const struct platform_desc *platform;
 
+extern unsigned int dma_bitsize;
 
 static bool __init platform_is_compatible(const struct platform_desc *plat)
 {
@@ -157,7 +158,8 @@ bool platform_device_is_blacklisted(const struct dt_device_node *node)
 
 unsigned int arch_get_dma_bitsize(void)
 {
-    return ( platform && platform->dma_bitsize ) ? platform->dma_bitsize : 32;
+    return ( platform && platform->dma_bitsize ) ? platform->dma_bitsize
+                                                 : dma_bitsize;
 }
 
 /*
diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 958ba0cd92..0f0cae5a4e 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -227,7 +227,7 @@ static bool __read_mostly scrub_debug;
  * Bit width of the DMA heap -- used to override NUMA-node-first.
  * allocation strategy, which can otherwise exhaust low memory.
  */
-static unsigned int dma_bitsize;
+unsigned int dma_bitsize;
 integer_param("dma_bits", dma_bitsize);
 
 /* Offlined page list, protected by heap_lock. */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:25:25 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:25:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165634.302700 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlQK-0003S6-W3; Wed, 11 Aug 2021 10:25:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165634.302700; Wed, 11 Aug 2021 10:25:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlQK-0003R7-Rw; Wed, 11 Aug 2021 10:25:24 +0000
Received: by outflank-mailman (input) for mailman id 165634;
 Wed, 11 Aug 2021 10:25:23 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlQJ-0000BQ-C1
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:25:23 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com (unknown
 [40.107.6.72]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 5bb3f0cb-7f39-4dd8-a055-c25af50621cb;
 Wed, 11 Aug 2021 10:25:14 +0000 (UTC)
Received: from AM6P192CA0062.EURP192.PROD.OUTLOOK.COM (2603:10a6:209:82::39)
 by AM4PR0802MB2129.eurprd08.prod.outlook.com (2603:10a6:200:5d::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.21; Wed, 11 Aug
 2021 10:25:08 +0000
Received: from AM5EUR03FT034.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:82:cafe::4b) by AM6P192CA0062.outlook.office365.com
 (2603:10a6:209:82::39) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:08 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT034.mail.protection.outlook.com (10.152.16.81) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.14 via Frontend Transport; Wed, 11 Aug 2021 10:25:07 +0000
Received: ("Tessian outbound 077ab11054bf:v101");
 Wed, 11 Aug 2021 10:25:07 +0000
Received: from a16bea742b4c.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B64856EC-77FB-4548-917B-837E6E508F1C.1; 
 Wed, 11 Aug 2021 10:25:02 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id a16bea742b4c.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:25:02 +0000
Received: from DB9PR01CA0016.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:1d8::21) by AS8PR08MB6374.eurprd08.prod.outlook.com
 (2603:10a6:20b:338::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13; Wed, 11 Aug
 2021 10:24:59 +0000
Received: from DB5EUR03FT045.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:1d8:cafe::ae) by DB9PR01CA0016.outlook.office365.com
 (2603:10a6:10:1d8::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:24:59 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT045.mail.protection.outlook.com (10.152.21.164) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:24:59 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX04.Arm.com
 (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:24:56 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:24: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: 5bb3f0cb-7f39-4dd8-a055-c25af50621cb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yC1y+9c87f0UwnCrstHNg1I3E3rdhAZoIxzbKmzwRo8=;
 b=iR0KxxiLWFg5mq2ieLeoh941OaA6hums/6tyNvOvVxRyGhv2K8Q7dhTgvcLtynV40Tt3fmSzAnpX/D0vw9O/giGEQDiQ8JRFV6A+/4sfK2nn20Y0prPseumD+pZzweVcn/0jbEmxq90T1x/WMWi1M142FP70v/7JpKri1GCQkj0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: ac0cb8f489a23c67
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=S0nK7IOKYkG47WFN7au4Iy1q/pSuZ5TUAy82tNeUFVgASM8f5I3uIRDryLcXaPed1oswHzjOTXOjYvuinWPsb6gAKLLmMhT86apAgRANUg3YxzFNusS784qeXW0RnGz7ytneDAQXF7lwnHJW3C9RClniKmH31TLj6IUn5CTGjx9ZlLHDnUDmxB2bWjLLVI9A2tvJA95uwxilv+4o9Mxa83f4sDkvVx9Z7pvLpWH0HbJe0ViQcmegAbRRqNF/8YfkxCjFLd0k4SWitKX5fLVAKK/jBTGmwJbmHmKHXOT2dQqTa+Tkw+4CEDkT8b35U4M4w1do65AyPXsuersM9lDyBw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yC1y+9c87f0UwnCrstHNg1I3E3rdhAZoIxzbKmzwRo8=;
 b=SuvoDjZICGqn/1qJXl6DogTFBzjmApNxBLB6Ls+tzajsY6wbo0DjdxsD5Eii9e1w88UB0N7XvlheQpFbstye99LnBfn/zTFg1mqwWlVbEjLqCUbUZvpwmDk7ZJT0aWeaBOl5jFnxu7M2wwgjOKBrJcRBC7h1MK7lKEDMpdPaCxIuc8PB7viBHJ728mQxMIa96HI+lQtEipcpTZIO1Ada/0UzynPO9Mno4TjdQhGFXKnqGi34QJeOiwKEW54hSzX7rVnPY8oRuPDxmQ/iKkmaz/XtJ1wOtqh8kJOg5BV9WzXFWzTO5/Md8D373FTlvfzosx8oXgkBck9Q5uXbPXe6eQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yC1y+9c87f0UwnCrstHNg1I3E3rdhAZoIxzbKmzwRo8=;
 b=iR0KxxiLWFg5mq2ieLeoh941OaA6hums/6tyNvOvVxRyGhv2K8Q7dhTgvcLtynV40Tt3fmSzAnpX/D0vw9O/giGEQDiQ8JRFV6A+/4sfK2nn20Y0prPseumD+pZzweVcn/0jbEmxq90T1x/WMWi1M142FP70v/7JpKri1GCQkj0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 10/40] xen/x86: Move NR_NODE_MEMBLKS macro to common
Date: Wed, 11 Aug 2021 18:23:53 +0800
Message-ID: <20210811102423.28908-11-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 539a3f84-f619-4bff-341a-08d95cb24aec
X-MS-TrafficTypeDiagnostic: AS8PR08MB6374:|AM4PR0802MB2129:
X-Microsoft-Antispam-PRVS:
	<AM4PR0802MB2129A17AC22A09771851B8079EF89@AM4PR0802MB2129.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:820;OLM:820;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 SViw6guEkDkhzEZtUF5EQnh4oyl7z3li6QoNBoBpR9/vEidq+TJKvTJALoSRtzKXGq7kVug62zek+sgNmCVB611oodiyFLE2815mg9p228vcf/RnlKT0PGxU48MqKKdjWkDujphJscUK6RHoVm6tSY1/RHnU5byOvg1C9HpAw4jVrLG+C9EbJMYM1v9atbFhJMk2EyFiaKc7deoyAhTgusk+1Ixje/FYFsGe8sfU4Gxv3APLJOGvLv2YKixodNaIWkis90zoNvUVH4hrgjzd7Nbmzu1e8HzYNUHIkwa1DeyW2IMW9EIt19IH8BBfwgg47Uf9WNK7SyNRAhkn0463P1bAZVaQQ6dU2dOoa+VW03O8c25c8KJuimjfqda3cK1NKkSxgEM08onpON/1CCDNtZjwP0tozMmhgwzZ4eQIyF+9SXz5j/a7rNUmS5ihb+ZzNTX1xyZxBn1hiBvmqeb8eMSm3OXghQ/7IKQKPppxs6hzX0R4OZGR9X9drValQkVSkIU0B0tFAd4/mYQLlcUIp2yqAoloJQrSDHE3FvlCycyKyKCSocchnkPavmHXr9pZ6lM7+UvK7vq32hmrJ/Xmde7BUSAA4ay26bCsVXGDvzD21iYSxbhSVuQRDKIv9I8nEgzE1AQJC01yhPfLBpakAkY3wW+6JycL1dfS9nsAd98a6kdW229A934UpsyB74oMnCvi4v8YRYPhyDlDLHfNwzQuKGCeqrz8/x6SjcNd07Gyp/PPn9NOOYmx2WbipkJLMUdbGrLjbIoBnIGaK2uO37wU3q++cEp9ehhHkBXu6Eo=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(396003)(376002)(346002)(39860400002)(136003)(36840700001)(46966006)(316002)(36756003)(86362001)(5660300002)(2616005)(47076005)(44832011)(336012)(110136005)(82310400003)(356005)(26005)(83380400001)(4326008)(8676002)(426003)(70586007)(34070700002)(186003)(81166007)(8936002)(1076003)(7696005)(478600001)(36860700001)(70206006)(2906002)(82740400003)(36900700001)(2101003);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6374
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT034.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	6ea05fbb-1078-4a78-0879-08d95cb245d2
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	EvzSVJBTnieBu/e3AF59eRqC6jeZHJSP1mEIJkjUDiCwMT1EbjIfaglli4xyPFnK3/UzzQhBKqM0G1twazJLGlutyZdcET8Dh3pNG0vnItxcWQpViSUTUHzteNcAvETHjywIfkqnudP09Y0popO1cJnAy9Qi/qft6BIOSnjCEROWS1DY8HYwbkicupzuTMUtZzr/UBYC4Va20vDE2g7gON8fLOz9g5NIFLqI/FkJZOQuNn/YzJKmAzSWFPe0Zegu3tVtmtfPGv0uUv79Xn6kT8rApvoMR87ENTFsDFQs6vGpRd6DQX7LVcZlK0qe+qehTXlj5VQp1OeSV2M2j9AxGbu8tyfrfDGNJSyYd9UxXxaKuJG8HEUN6gJanWpIfaKmpQgCGSPy13TAJUhtE8+kCsWIYwe33p5oco1Yc4F46nauHCG/U9Uf8kIswgzXLOxm6SSOeeRklr1457eQh17PfkXJlzYCkpbbqyroN5TZWsY1KcAqQgeOwu9xLz8dwFeCiRjJHuL0Ube5BbxpfUwW5U0XHzffSllGG7V6xJvaLUAmDqP/5S173ieGaF+kTHlFBHI1G+AF5Z60Bp5iIAK+KKb6Vsg3wMLuicCgpjz6J0EfLPfVbHrwT/QH2Pfgqp8HoApraLZMXaX2MGdM784LxB3nQsVvGqBTQxzCPqiDDx6FZLHa1dL2U+ZrS9kFvcBDp0PAas1NSyzcB6906BUF9HJkDveHQbXR0+cMb0mR3+o=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(376002)(396003)(136003)(39850400004)(346002)(36840700001)(46966006)(83380400001)(426003)(2616005)(7696005)(44832011)(8936002)(2906002)(70206006)(47076005)(478600001)(8676002)(1076003)(316002)(36756003)(186003)(82740400003)(4326008)(82310400003)(26005)(81166007)(110136005)(336012)(86362001)(36860700001)(70586007)(5660300002)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:25:07.9974
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 539a3f84-f619-4bff-341a-08d95cb24aec
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT034.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0802MB2129

Not only x86 ACPI need this macro. Device tree based NUMA
also needs this macro to present max memory block number.
So we move it from x86 ACPI header file to common NUMA
header file.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
 xen/include/asm-x86/acpi.h | 1 -
 xen/include/xen/numa.h     | 1 +
 2 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/include/asm-x86/acpi.h b/xen/include/asm-x86/acpi.h
index 7032f3a001..d347500a3c 100644
--- a/xen/include/asm-x86/acpi.h
+++ b/xen/include/asm-x86/acpi.h
@@ -103,7 +103,6 @@ extern unsigned long acpi_wakeup_address;
 
 extern s8 acpi_numa;
 extern int acpi_scan_nodes(u64 start, u64 end);
-#define NR_NODE_MEMBLKS (MAX_NUMNODES*2)
 
 extern struct acpi_sleep_info acpi_sinfo;
 #define acpi_video_flags bootsym(video_flags)
diff --git a/xen/include/xen/numa.h b/xen/include/xen/numa.h
index f9769cba4b..5af74b357f 100644
--- a/xen/include/xen/numa.h
+++ b/xen/include/xen/numa.h
@@ -11,6 +11,7 @@
 #define NUMA_NO_DISTANCE 0xFF
 
 #define MAX_NUMNODES    (1 << NODES_SHIFT)
+#define NR_NODE_MEMBLKS (MAX_NUMNODES*2)
 
 #define vcpu_to_node(v) (cpu_to_node((v)->processor))
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:25:28 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:25:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165636.302711 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlQO-0003uP-CD; Wed, 11 Aug 2021 10:25:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165636.302711; Wed, 11 Aug 2021 10:25:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlQO-0003u5-6V; Wed, 11 Aug 2021 10:25:28 +0000
Received: by outflank-mailman (input) for mailman id 165636;
 Wed, 11 Aug 2021 10:25:26 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlQM-0002Qj-Eq
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:25:26 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com (unknown
 [40.107.22.56]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 6decab1a-fa8e-11eb-a052-12813bfff9fa;
 Wed, 11 Aug 2021 10:25:20 +0000 (UTC)
Received: from AM6P194CA0084.EURP194.PROD.OUTLOOK.COM (2603:10a6:209:8f::25)
 by VI1PR08MB2926.eurprd08.prod.outlook.com (2603:10a6:802:1f::30) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.19; Wed, 11 Aug
 2021 10:25:17 +0000
Received: from VE1EUR03FT007.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:8f:cafe::87) by AM6P194CA0084.outlook.office365.com
 (2603:10a6:209:8f::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:17 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT007.mail.protection.outlook.com (10.152.18.114) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:25:17 +0000
Received: ("Tessian outbound d9f41274f41a:v101");
 Wed, 11 Aug 2021 10:25:17 +0000
Received: from 624525df80f4.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 917ED75A-EEED-4471-BA86-41FC4B9EBF27.1; 
 Wed, 11 Aug 2021 10:25:10 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 624525df80f4.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:25:10 +0000
Received: from DB9PR01CA0003.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:1d8::8) by DB7PR08MB3532.eurprd08.prod.outlook.com
 (2603:10a6:10:4f::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.19; Wed, 11 Aug
 2021 10:25:08 +0000
Received: from DB5EUR03FT045.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:1d8:cafe::60) by DB9PR01CA0003.outlook.office365.com
 (2603:10a6:10:1d8::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:08 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT045.mail.protection.outlook.com (10.152.21.164) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:25:08 +0000
Received: from AZ-NEU-EX01.Emea.Arm.com (10.251.26.4) by AZ-NEU-EX04.Arm.com
 (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:25:01 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX01.Emea.Arm.com
 (10.251.26.4) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2308.14; Wed, 11
 Aug 2021 10:25:01 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:24:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6decab1a-fa8e-11eb-a052-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/By6TFLKETxqpP5+PvBGPeS8Y880B33FwtMWH566dSA=;
 b=zAuVpOWu9jXqVQnjWG+9JD0a2FlLi2ojOOOi+giG1ytg+tGCaO1QbU8TVyoEeNKsK67Z9/r3rZ1O+Vr4xYaWC7UkxF815i2CmatjCLYkIayxSJ6Gq4pRCMXLQoyvcD0+iyMWGBKQ8uxMqZmmOH7OjfrDAqV5V+/pTMJzQoY5Ric=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 5f374230a6a1f1ac
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UInEoIYnZNaj/GgjiTV8Xp24+XMf65wWmRzwY8+QveyVW0X7dzY1nBvIfuZ/dZDe5pKcFwOCCmPHYlXzBzDS7gZe0AkgdnnLuFiBh49n0F5e1v9A6AuV0tyB47sBO+glIedsBft9KLHHGnVcFQwr5PbeEEqPEgLqrPge7peSyIOVBDWXs5fGpdEvLhyflkSuuiF0G4t5pOypYlR3/ixBpiB/SjCV+gKJPqnFspHUcjBdBodFwvYe/o/GsOdKgwHAQlMpiVVwe0mOGajlI8TWXNMjQVFhq408zkK2CTlnr1HujrDf2Glj/giaNbArjfoq3x3+4j+JNeaF5r4z1J9+pA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/By6TFLKETxqpP5+PvBGPeS8Y880B33FwtMWH566dSA=;
 b=fItnWJRs5HYKkdcZB7Y2e02h3p/Ia9moWliWT2YBR0OWnxC8D4wZsItkpBIG6lK+U7YBlAeVWvQLiGItOZFCTdq+NwRRJl/DIOpVL52Jam7Q9EXGZY8T4knaBYn/qXUgQD2tK1LJcRom07yuVIdyRkUQeFPn0Ctl8bwvNtFFAzIxGSwThiq2s4fG8/K6cq2nT0VrBBKmxTF3b3tIMlU9ytTVS++GRAnTZ9rp/X4Mzm3Rypx/phBCqGaDz7vCDoBKfRT00xsLv/Cs8G9OyyVweyMDcqGmGFmnb1doFvMZ2H0oGArTctnhsjOhpUaRp57qhDNlFtYhptTGBw01i/73Rg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/By6TFLKETxqpP5+PvBGPeS8Y880B33FwtMWH566dSA=;
 b=zAuVpOWu9jXqVQnjWG+9JD0a2FlLi2ojOOOi+giG1ytg+tGCaO1QbU8TVyoEeNKsK67Z9/r3rZ1O+Vr4xYaWC7UkxF815i2CmatjCLYkIayxSJ6Gq4pRCMXLQoyvcD0+iyMWGBKQ8uxMqZmmOH7OjfrDAqV5V+/pTMJzQoY5Ric=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 12/40] xen/x86: Move numa_initmem_init to common
Date: Wed, 11 Aug 2021 18:23:55 +0800
Message-ID: <20210811102423.28908-13-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 18c7e52f-8f8f-4487-447f-08d95cb2507d
X-MS-TrafficTypeDiagnostic: DB7PR08MB3532:|VI1PR08MB2926:
X-Microsoft-Antispam-PRVS:
	<VI1PR08MB292677FAF5013857936F74019EF89@VI1PR08MB2926.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:2958;OLM:2958;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 R9xbNYIBhO7mky218ALecJMWS54a8BLg7LFw+NSOcrlW8mEhPxCIOJVTasZu/QfnXWtEgmoMj/nzO5OkGkQCJRvv6wo9ni76FuuKL8mU3chVvO2a64xmiWHn0YuvOmAry3IvCbaZX3RUbmxWNscCqI3WVn69YeA11a2yJl3bRSUEFnUl/1shTfAhW40FoZM1rOAzKIj+Ba8DGWR9Dd5MDaDqGaAfq5NMw4CTJfNiGF1NKqjcMnkRT+xY0bhWUMa7RrhvFwco0PSPmJAf1u/g7sqH8AQ5B9kKaSTL2uHTTl2kZ3QJEtFEooYs8FLmWgIw2Pakc/onymvBGPHrAjlcgIY965e/tRLvnMPXhQeQBJSq2ijvoW8AEX39jyZm/ZU/65aBfADBYcd1XgShKyAohIkoZfhlWpLCt6LknQH96Wr8q5GtXH95Z0Dkd9nH7RNGbSbLmHMdcZZJaGYYPEJzSpdQ3nLjwSVtfjCbRN0QdF6GzBDW7U3jGnq8YiDM//WqJ9wPqUn67DyZngzYfh6jLotJn0SJUmtEQ3IrsFEM4ZLQbsbhUWjIvmvNAmQZlprffaqZ0bI6ou8CqMO9a9PpO5pcmnO5vETlDV+CGLUVWKB0xvB4b15qcXryIfOZvv9TChDwqFM5dzNlyiCDpsMLuwhkeDUekU7pxZgpP5oK9vv307FKgoG1PhPnOJXBkJXg/Ox0kVXW5BP3jycoPHizOQNgyaTvtWWzHb77FxB8kSYpgq6K8k3V6LO36v6MrJ0+roUy1QwY1ZkUOk3VsNxRx6znBiCIxauH34SnLCAYQ/Q=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(396003)(39860400002)(346002)(376002)(136003)(36840700001)(46966006)(1076003)(70206006)(70586007)(8936002)(36756003)(30864003)(6666004)(26005)(5660300002)(8676002)(36860700001)(478600001)(7696005)(186003)(336012)(44832011)(110136005)(81166007)(86362001)(2906002)(47076005)(83380400001)(426003)(356005)(34070700002)(82310400003)(4326008)(316002)(2616005)(82740400003)(2101003)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3532
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT007.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	19502cd9-45f5-4588-a911-08d95cb24b40
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	YTf+EyQrRhxYGNgHB5VlWLzO01bPGkSQDqzTzt1AcOECeXf+yz+rjMBMMss2xBj2PSsJIDbGknor03s+TdPEraGro0BWWxlSG87smJF5JbynCgSEBVkBrrRWhFP8Tb88b2A8cPQDVnuCprWV0f1n3hjMWv0TSo/3+tINMHDC+vBbm5laa38lyZbT/rBy8uj2QfP9fjayc7E6H0iaWccdO3Yu5Zpf7Htbo1rXwQ/KG+HF7xuaudvnuj/jOiwXtAfo00N0+JJou6fHqWwkf/oXjP1j509A5u985hJ94va1A0o9LXYyVMeKNLzB+LMChRJKEvQ8dxa3kMd9+rEL8ol4mG2e8gtnkAbC5QH87IiJrsCvejaTnn4KaLL25Y/i9hNblMAW5J6i/Svrzzp8z0VrHIr4TOy1Lbn62QQQwQWUne2IlIWuQHTIEK1csZBkF01bev6BxjyknQcVnP1TGse7aAlfljo1n0KlWJksU2dnDYPBKP0O2LRRz4wTm8ohN+pAqnFWJTL0FrZo6w2X3Xzz51cYGZtPye5KmkVlANqQrqmeTo72mObnw1dl1R5D70viEYI+fLytA33j3LJ+Xspm4xUo0V0pfT+4lqcBrM8A2r53A3UawFe4K27a7FA++t7a8KhcwSkyLxO4qRjCwf08sQ1H/fqWa87llQ8MxrfvipOuusnDcOrXIhL1obZUUzIP+jK6Q3guV1X/ztA1te9sNBD7plp46pxe4bbUKJ9XdY0=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(376002)(346002)(39860400002)(136003)(396003)(36840700001)(46966006)(2906002)(70586007)(36756003)(70206006)(81166007)(82740400003)(8676002)(44832011)(336012)(82310400003)(26005)(1076003)(186003)(8936002)(7696005)(478600001)(83380400001)(4326008)(6666004)(5660300002)(316002)(110136005)(86362001)(426003)(36860700001)(2616005)(30864003)(47076005)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:25:17.2387
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 18c7e52f-8f8f-4487-447f-08d95cb2507d
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT007.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB2926

This function can be reused by Arm device tree based
NUMA support. So we move it from x86 to common, as well
as its related variables and functions:
setup_node_bootmem, numa_init_array and numa_emulation.

As numa_initmem_init has been moved to common, _memnodemap
is not used cross files. We can restore _memnodemap to
static.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
 xen/arch/x86/numa.c         | 118 ----------------------------------
 xen/common/numa.c           | 122 +++++++++++++++++++++++++++++++++++-
 xen/include/asm-x86/numa.h  |   5 --
 xen/include/asm-x86/setup.h |   1 -
 xen/include/xen/numa.h      |   8 ++-
 5 files changed, 128 insertions(+), 126 deletions(-)

diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c
index f2626b3968..6908738305 100644
--- a/xen/arch/x86/numa.c
+++ b/xen/arch/x86/numa.c
@@ -38,7 +38,6 @@ nodeid_t apicid_to_node[MAX_LOCAL_APIC] = {
 
 nodemask_t __read_mostly node_online_map = { { [0] = 1UL } };
 
-bool numa_off;
 s8 acpi_numa = 0;
 
 int srat_disabled(void)
@@ -46,123 +45,6 @@ int srat_disabled(void)
     return numa_off || acpi_numa < 0;
 }
 
-/* initialize NODE_DATA given nodeid and start/end */
-void __init setup_node_bootmem(nodeid_t nodeid, u64 start, u64 end)
-{ 
-    unsigned long start_pfn, end_pfn;
-
-    start_pfn = start >> PAGE_SHIFT;
-    end_pfn = end >> PAGE_SHIFT;
-
-    NODE_DATA(nodeid)->node_start_pfn = start_pfn;
-    NODE_DATA(nodeid)->node_spanned_pages = end_pfn - start_pfn;
-
-    node_set_online(nodeid);
-} 
-
-void __init numa_init_array(void)
-{
-    int rr, i;
-
-    /* There are unfortunately some poorly designed mainboards around
-       that only connect memory to a single CPU. This breaks the 1:1 cpu->node
-       mapping. To avoid this fill in the mapping for all possible
-       CPUs, as the number of CPUs is not known yet.
-       We round robin the existing nodes. */
-    rr = first_node(node_online_map);
-    for ( i = 0; i < nr_cpu_ids; i++ )
-    {
-        if ( cpu_to_node[i] != NUMA_NO_NODE )
-            continue;
-        numa_set_node(i, rr);
-        rr = cycle_node(rr, node_online_map);
-    }
-}
-
-#ifdef CONFIG_NUMA_EMU
-static int numa_fake __initdata = 0;
-
-/* Numa emulation */
-static int __init numa_emulation(u64 start_pfn, u64 end_pfn)
-{
-    int i;
-    struct node nodes[MAX_NUMNODES];
-    u64 sz = ((end_pfn - start_pfn)<<PAGE_SHIFT) / numa_fake;
-
-    /* Kludge needed for the hash function */
-    if ( hweight64(sz) > 1 )
-    {
-        u64 x = 1;
-        while ( (x << 1) < sz )
-            x <<= 1;
-        if ( x < sz/2 )
-            printk(KERN_ERR "Numa emulation unbalanced. Complain to maintainer\n");
-        sz = x;
-    }
-
-    memset(&nodes,0,sizeof(nodes));
-    for ( i = 0; i < numa_fake; i++ )
-    {
-        nodes[i].start = (start_pfn<<PAGE_SHIFT) + i*sz;
-        if ( i == numa_fake - 1 )
-            sz = (end_pfn<<PAGE_SHIFT) - nodes[i].start;
-        nodes[i].end = nodes[i].start + sz;
-        printk(KERN_INFO "Faking node %d at %"PRIx64"-%"PRIx64" (%"PRIu64"MB)\n",
-               i,
-               nodes[i].start, nodes[i].end,
-               (nodes[i].end - nodes[i].start) >> 20);
-        node_set_online(i);
-    }
-    memnode_shift = compute_hash_shift(nodes, numa_fake, NULL);
-    if ( memnode_shift < 0 )
-    {
-        memnode_shift = 0;
-        printk(KERN_ERR "No NUMA hash function found. Emulation disabled.\n");
-        return -1;
-    }
-    for_each_online_node ( i )
-        setup_node_bootmem(i, nodes[i].start, nodes[i].end);
-    numa_init_array();
-
-    return 0;
-}
-#endif
-
-void __init numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn)
-{ 
-    int i;
-
-#ifdef CONFIG_NUMA_EMU
-    if ( numa_fake && !numa_emulation(start_pfn, end_pfn) )
-        return;
-#endif
-
-#ifdef CONFIG_ACPI_NUMA
-    if ( !numa_off && !acpi_scan_nodes((u64)start_pfn << PAGE_SHIFT,
-         (u64)end_pfn << PAGE_SHIFT) )
-        return;
-#endif
-
-    printk(KERN_INFO "%s\n",
-           numa_off ? "NUMA turned off" : "No NUMA configuration found");
-
-    printk(KERN_INFO "Faking a node at %016"PRIx64"-%016"PRIx64"\n",
-           (u64)start_pfn << PAGE_SHIFT,
-           (u64)end_pfn << PAGE_SHIFT);
-    /* setup dummy node covering all memory */
-    memnode_shift = BITS_PER_LONG - 1;
-    memnodemap = _memnodemap;
-    memnodemapsize = ARRAY_SIZE(_memnodemap);
-
-    nodes_clear(node_online_map);
-    node_set_online(0);
-    for ( i = 0; i < nr_cpu_ids; i++ )
-        numa_set_node(i, 0);
-    cpumask_copy(&node_to_cpumask[0], cpumask_of(0));
-    setup_node_bootmem(0, (u64)start_pfn << PAGE_SHIFT,
-                    (u64)end_pfn << PAGE_SHIFT);
-}
-
 void numa_set_node(int cpu, nodeid_t node)
 {
     cpu_to_node[cpu] = node;
diff --git a/xen/common/numa.c b/xen/common/numa.c
index 1facc8fe2b..26c0006d04 100644
--- a/xen/common/numa.c
+++ b/xen/common/numa.c
@@ -14,12 +14,13 @@
 #include <xen/smp.h>
 #include <xen/pfn.h>
 #include <xen/sched.h>
+#include <asm/acpi.h>
 
 struct node_data node_data[MAX_NUMNODES];
 
 /* Mapping from pdx to node id */
 int memnode_shift;
-typeof(*memnodemap) _memnodemap[64];
+static typeof(*memnodemap) _memnodemap[64];
 unsigned long memnodemapsize;
 u8 *memnodemap;
 
@@ -34,6 +35,8 @@ int num_node_memblks;
 struct node node_memblk_range[NR_NODE_MEMBLKS];
 nodeid_t memblk_nodeid[NR_NODE_MEMBLKS];
 
+bool numa_off;
+
 /*
  * Given a shift value, try to populate memnodemap[]
  * Returns :
@@ -191,3 +194,120 @@ void numa_add_cpu(int cpu)
 {
     cpumask_set_cpu(cpu, &node_to_cpumask[cpu_to_node(cpu)]);
 }
+
+/* initialize NODE_DATA given nodeid and start/end */
+void __init setup_node_bootmem(nodeid_t nodeid, u64 start, u64 end)
+{
+    unsigned long start_pfn, end_pfn;
+
+    start_pfn = start >> PAGE_SHIFT;
+    end_pfn = end >> PAGE_SHIFT;
+
+    NODE_DATA(nodeid)->node_start_pfn = start_pfn;
+    NODE_DATA(nodeid)->node_spanned_pages = end_pfn - start_pfn;
+
+    node_set_online(nodeid);
+}
+
+void __init numa_init_array(void)
+{
+    int rr, i;
+
+    /* There are unfortunately some poorly designed mainboards around
+       that only connect memory to a single CPU. This breaks the 1:1 cpu->node
+       mapping. To avoid this fill in the mapping for all possible
+       CPUs, as the number of CPUs is not known yet.
+       We round robin the existing nodes. */
+    rr = first_node(node_online_map);
+    for ( i = 0; i < nr_cpu_ids; i++ )
+    {
+        if ( cpu_to_node[i] != NUMA_NO_NODE )
+            continue;
+        numa_set_node(i, rr);
+        rr = cycle_node(rr, node_online_map);
+    }
+}
+
+#ifdef CONFIG_NUMA_EMU
+int numa_fake __initdata = 0;
+
+/* Numa emulation */
+static int __init numa_emulation(u64 start_pfn, u64 end_pfn)
+{
+    int i;
+    struct node nodes[MAX_NUMNODES];
+    u64 sz = ((end_pfn - start_pfn)<<PAGE_SHIFT) / numa_fake;
+
+    /* Kludge needed for the hash function */
+    if ( hweight64(sz) > 1 )
+    {
+        u64 x = 1;
+        while ( (x << 1) < sz )
+            x <<= 1;
+        if ( x < sz/2 )
+            printk(KERN_ERR "Numa emulation unbalanced. Complain to maintainer\n");
+        sz = x;
+    }
+
+    memset(&nodes,0,sizeof(nodes));
+    for ( i = 0; i < numa_fake; i++ )
+    {
+        nodes[i].start = (start_pfn<<PAGE_SHIFT) + i*sz;
+        if ( i == numa_fake - 1 )
+            sz = (end_pfn<<PAGE_SHIFT) - nodes[i].start;
+        nodes[i].end = nodes[i].start + sz;
+        printk(KERN_INFO "Faking node %d at %"PRIx64"-%"PRIx64" (%"PRIu64"MB)\n",
+               i,
+               nodes[i].start, nodes[i].end,
+               (nodes[i].end - nodes[i].start) >> 20);
+        node_set_online(i);
+    }
+    memnode_shift = compute_hash_shift(nodes, numa_fake, NULL);
+    if ( memnode_shift < 0 )
+    {
+        memnode_shift = 0;
+        printk(KERN_ERR "No NUMA hash function found. Emulation disabled.\n");
+        return -1;
+    }
+    for_each_online_node ( i )
+        setup_node_bootmem(i, nodes[i].start, nodes[i].end);
+    numa_init_array();
+
+    return 0;
+}
+#endif
+
+void __init numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn)
+{
+    int i;
+
+#ifdef CONFIG_NUMA_EMU
+    if ( numa_fake && !numa_emulation(start_pfn, end_pfn) )
+        return;
+#endif
+
+#ifdef CONFIG_ACPI_NUMA
+    if ( !numa_off && !acpi_scan_nodes((u64)start_pfn << PAGE_SHIFT,
+         (u64)end_pfn << PAGE_SHIFT) )
+        return;
+#endif
+
+    printk(KERN_INFO "%s\n",
+           numa_off ? "NUMA turned off" : "No NUMA configuration found");
+
+    printk(KERN_INFO "Faking a node at %016"PRIx64"-%016"PRIx64"\n",
+           (u64)start_pfn << PAGE_SHIFT,
+           (u64)end_pfn << PAGE_SHIFT);
+    /* setup dummy node covering all memory */
+    memnode_shift = BITS_PER_LONG - 1;
+    memnodemap = _memnodemap;
+    memnodemapsize = ARRAY_SIZE(_memnodemap);
+
+    nodes_clear(node_online_map);
+    node_set_online(0);
+    for ( i = 0; i < nr_cpu_ids; i++ )
+        numa_set_node(i, 0);
+    cpumask_copy(&node_to_cpumask[0], cpumask_of(0));
+    setup_node_bootmem(0, (u64)start_pfn << PAGE_SHIFT,
+                    (u64)end_pfn << PAGE_SHIFT);
+}
diff --git a/xen/include/asm-x86/numa.h b/xen/include/asm-x86/numa.h
index e8a92ad9df..f8e4e15586 100644
--- a/xen/include/asm-x86/numa.h
+++ b/xen/include/asm-x86/numa.h
@@ -21,16 +21,11 @@ extern nodeid_t pxm_to_node(unsigned int pxm);
 
 #define ZONE_ALIGN (1UL << (MAX_ORDER+PAGE_SHIFT))
 
-extern void numa_init_array(void);
-extern bool numa_off;
-
-
 extern int srat_disabled(void);
 extern void numa_set_node(int cpu, nodeid_t node);
 extern nodeid_t setup_node(unsigned int pxm);
 extern void srat_detect_node(int cpu);
 
-extern void setup_node_bootmem(nodeid_t nodeid, u64 start, u64 end);
 extern nodeid_t apicid_to_node[];
 extern void init_cpu_to_node(void);
 
diff --git a/xen/include/asm-x86/setup.h b/xen/include/asm-x86/setup.h
index 24be46115d..63838ba2d1 100644
--- a/xen/include/asm-x86/setup.h
+++ b/xen/include/asm-x86/setup.h
@@ -17,7 +17,6 @@ void early_time_init(void);
 
 void set_nr_cpu_ids(unsigned int max_cpus);
 
-void numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn);
 void arch_init_memory(void);
 void subarch_init_memory(void);
 
diff --git a/xen/include/xen/numa.h b/xen/include/xen/numa.h
index 67b79a73a3..258a5cb3db 100644
--- a/xen/include/xen/numa.h
+++ b/xen/include/xen/numa.h
@@ -26,7 +26,6 @@
 extern int memnode_shift;
 extern unsigned long memnodemapsize;
 extern u8 *memnodemap;
-extern typeof(*memnodemap) _memnodemap[64];
 
 struct node_data {
     unsigned long node_start_pfn;
@@ -69,6 +68,13 @@ extern int conflicting_memblks(u64 start, u64 end);
 extern void cutoff_node(int i, u64 start, u64 end);
 extern int valid_numa_range(u64 start, u64 end, nodeid_t node);
 
+extern void numa_init_array(void);
+extern void numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn);
+extern bool numa_off;
+extern int numa_fake;
+
+extern void setup_node_bootmem(nodeid_t nodeid, u64 start, u64 end);
+
 #endif /* CONFIG_NUMA */
 
 #endif /* _XEN_NUMA_H */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:25:30 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:25:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165638.302722 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlQP-0004IF-Vv; Wed, 11 Aug 2021 10:25:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165638.302722; Wed, 11 Aug 2021 10:25: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 1mDlQP-0004Hr-RF; Wed, 11 Aug 2021 10:25:29 +0000
Received: by outflank-mailman (input) for mailman id 165638;
 Wed, 11 Aug 2021 10:25:28 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlQO-0000BQ-CE
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:25:28 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com (unknown
 [2a01:111:f400:7e1a::607])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 7a47376d-7980-4979-9aac-45c90a18e58a;
 Wed, 11 Aug 2021 10:25:14 +0000 (UTC)
Received: from AM6P194CA0103.EURP194.PROD.OUTLOOK.COM (2603:10a6:209:8f::44)
 by DBBPR08MB4886.eurprd08.prod.outlook.com (2603:10a6:10:f4::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.16; Wed, 11 Aug
 2021 10:25:13 +0000
Received: from VE1EUR03FT007.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:8f:cafe::7) by AM6P194CA0103.outlook.office365.com
 (2603:10a6:209:8f::44) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:12 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT007.mail.protection.outlook.com (10.152.18.114) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:25:12 +0000
Received: ("Tessian outbound d9f41274f41a:v101");
 Wed, 11 Aug 2021 10:25:11 +0000
Received: from ce4876d35bfe.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 893CF637-3F22-4663-ACE3-C33D05646C66.1; 
 Wed, 11 Aug 2021 10:25:03 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ce4876d35bfe.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:25:03 +0000
Received: from AM6P191CA0012.EURP191.PROD.OUTLOOK.COM (2603:10a6:209:8b::25)
 by AM0PR08MB2963.eurprd08.prod.outlook.com (2603:10a6:208:56::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.17; Wed, 11 Aug
 2021 10:25:01 +0000
Received: from AM5EUR03FT045.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:8b:cafe::e1) by AM6P191CA0012.outlook.office365.com
 (2603:10a6:209:8b::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:01 +0000
Received: from nebula.arm.com (40.67.248.234) by
 AM5EUR03FT045.mail.protection.outlook.com (10.152.17.105) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:25:01 +0000
Received: from AZ-NEU-EX01.Emea.Arm.com (10.251.26.4) by AZ-NEU-EX03.Arm.com
 (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:24:49 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX01.Emea.Arm.com
 (10.251.26.4) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2308.14; Wed, 11
 Aug 2021 10:24:49 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:24: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: 7a47376d-7980-4979-9aac-45c90a18e58a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Qscw3U+NFWcsOhhhUNwOzHkuFBQ4mz07I7kS8fX8DWQ=;
 b=kzcqq/F4H/nQ5f4WWeAewcZLeA8IB0MFpOcHisoXdUtstgejvP3kMYxv1d7SJUotd2beBMytbyXQnvDByhtFtCMdmk8z22On1NiAmW41W5Sw4Tcf/PrCIJ7OCgTNu8WER+Gg8a0RKQDor8f9sA1aBpWiO+lkvpBRaUwJjQKvcdg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 03a2f52b0b86c7d2
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aOeWnvg/TdnfAJixsahZGMiuRsyGpzxnmQMu0sYNhPMJ9FkclurEGDECsSOMjGONsFygvmwSl1es28E7j4mplqm+5rM6WF5Mmus4Exas03NQYlgNet9v4b9AVUujy90z2nfSgccyqbfY92/F4M7iHtKGvmhtx2i7nw55NecgNcSLKEwHihgS8+J1z9qsTlYZW3o0sOaZ7YMphDS5Tnou4tfJNqBYWTXkkRAzNjSRrn4y4wJPbBOm/WcpstDo7KyZtdT0uWkeRBtbjz2PCJ68E2eftfQfejF6Hm0H/5F1VBXrgs1aN/qa/8rT3vrZtQQROgT3G6U4VLmQ8Jt/huTQbA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Qscw3U+NFWcsOhhhUNwOzHkuFBQ4mz07I7kS8fX8DWQ=;
 b=mqhfG0LaUfPUzlNXZuVnvILbIjkG1DoOmKuzvN3Y2Yd8nPi2h4j9Cr13O8q0L4U0KNpVEIJxOdthO3Korqxjoq+u/4r4Inl7ArwvEVWi3wJdX2Ds6B02oyHKl/jZZ7sGzd8GiyD70cgJLcKPe/+5LpwojXWCECYECwIorQbijNjK6qzgwTw4ToRIUKf4MDNZFHcVUdA9h9+/N2Yqcc2gFazlg2v8Bmla2AbaQ5BGgZ7+RUuF0BjOQmwqrn8wA0U8zgZ9VjduQcRvTd7cnPREG+okaL6FT5lPFcv+tWfhmhv4zi4pXw+qXRZVGbU0KvtTV5RIJGhFkTHzEIfM3RctZw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Qscw3U+NFWcsOhhhUNwOzHkuFBQ4mz07I7kS8fX8DWQ=;
 b=kzcqq/F4H/nQ5f4WWeAewcZLeA8IB0MFpOcHisoXdUtstgejvP3kMYxv1d7SJUotd2beBMytbyXQnvDByhtFtCMdmk8z22On1NiAmW41W5Sw4Tcf/PrCIJ7OCgTNu8WER+Gg8a0RKQDor8f9sA1aBpWiO+lkvpBRaUwJjQKvcdg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 07/40] xen/arm: use !CONFIG_NUMA to keep fake NUMA API
Date: Wed, 11 Aug 2021 18:23:50 +0800
Message-ID: <20210811102423.28908-8-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c6df47ce-2890-42cb-2702-08d95cb24d8c
X-MS-TrafficTypeDiagnostic: AM0PR08MB2963:|DBBPR08MB4886:
X-Microsoft-Antispam-PRVS:
	<DBBPR08MB488678127C6596636BCB15449EF89@DBBPR08MB4886.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:4125;OLM:4125;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 lLVwSVvqTZpELEsnUuFRCbiavzSA85DzYyLNJz2JwpRgJ7uwQmCeqYLnyrm659wouKxt5Q98b/qJBh7ZgeiuTy0ggayvKnJC6v5CB53fIYhNGWy0PTCLnhY7xU0R2tb11GWVuHdDPdH9unjH5qjJ86+59adjK1JJG5Bdz0dvKfficDNVJq3bK0Drsf/6sLmiwM+nMc+vRbc2izEiDJ+8tjrpuz93HKOQsaNaDn8Mv/Vb5UuJG/Ih3bQVkius13OQLAjgiivGsYudT9FsYMUl/1TFkYXxu3NonLi2fk3GkBKbpixzAcP+neVkr5neRuCVhFpgJkQ7Kn5l28kiZX4cGYc1kUSztYANQ0Ngnca9/4OeIUCO8pM4UKyQESuJ5sUKYQr0ijr2sh3sqAueyDO2c7N9GQq4CCgHW6edzSx5Ly0mGwpMFILLR6mXbLfPrOSeJKzaF5ldu25sbDrDk3UxLzpEbOfnW/sA2PF0J2naOf6wy0MfzjVAOYnb3g+8eR1ZzzileWQFjcjCUJ2BMaYhuf44YZEdp7SfpeVxFWSxl9crq/Zs3CacIBLXrwVlKOTfL+iJCcmh18HgJL47zbfyje8bK4HRypG13Z/kgK73jfIaGoDocOgdNTcZsYcGIJeHKK/VMnVBTT0N1Q8VnvLO/dfPh1BHz+vzWV6Y+VpT0nHKT5Fc+4Eqtn0FhmuIMrzDrIy2fshCAG7/ceVgUnPxA/0SXo/rM2Cm/D07lmXBd4igLMrpCch+O+mmjSrMN/9f40v/dDiZ14OCuuLWw7bupOaglKrO7F+05+j92UlXys4=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(136003)(346002)(376002)(39850400004)(396003)(36840700001)(46966006)(356005)(36860700001)(83380400001)(2616005)(26005)(34070700002)(478600001)(44832011)(82740400003)(5660300002)(316002)(8936002)(70586007)(8676002)(70206006)(1076003)(6666004)(4326008)(36756003)(81166007)(86362001)(186003)(4744005)(82310400003)(336012)(7696005)(426003)(47076005)(2906002)(110136005)(2101003)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB2963
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT007.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	786e330a-11c5-4e59-2d2d-08d95cb246d1
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5eOgCvQvkw+U2VCCql7n4ww9RL2z6QAcWe0/ya36iIKKujLrToRWB93etChW8BWd8V35xXS8gxGslHoJzKHDsoakbsci9L8taJDubtd5kHMBYmIwUQd2cekVQDXeZiHLNW32W5n3t/EBVR7iePqlZBFhUJzfuNsYBpWF7biFb37SOgbwN63qEep9e7yPrhLco0k0c3dwdJT6Fd7PCaL7ePKWwF6kJPw9DPh5kwWYR/fVAgKAf5QZpCPRtt2NTUDaI/6TmmYEhfvwyc3KDaqXA4wjNaPiVz/nNZk0SCgvMZDNoU1iEVFuJoIXOOkLVrrCjwtZJ2pW6b8h7+c/NXwuNw3Y6ckR59SysnWTCMqzqsyXPRWhCAT947WoBpyeLyiKBLF3KP8mVXerZdGEl9yWg5+qhfcQnCiiRiBUtWncAGLG7bmimQen8gv3wRbOF7s3uBnR5YwuK6+liHmPBmEFaf4aXVe6Wt5PzL2WElh9nkcocf0feIbn1mSIjPg2DfY4xv89+JTHl2udig0bQvCvikTFgcNZSuBSe/veIOjx/u4BSWutvWWRQSJm5/5rQjp0O2zHVo4aPQnhaywMegKc7++Hd6DwXP+oCuiF9RfZ3UL00FXdloYD4okAt9js+a/Vud6rgUI4C7r2b67M9NNDWhy2ID3ssGuuGlTpcUT15L//Gh4Uu5vVk6G0gU76sXPZGNMLsIQRXHJ8eZjECdz2U6rBcMaZuxkjrJpMmlWQZPk=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(376002)(136003)(346002)(396003)(39850400004)(46966006)(36840700001)(6666004)(36756003)(2616005)(478600001)(81166007)(44832011)(316002)(426003)(2906002)(110136005)(86362001)(26005)(186003)(4326008)(336012)(82310400003)(1076003)(83380400001)(5660300002)(8936002)(8676002)(4744005)(82740400003)(70586007)(70206006)(47076005)(7696005)(36860700001)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:25:12.3421
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c6df47ce-2890-42cb-2702-08d95cb24d8c
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT007.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB4886

Only Arm64 supports NUMA, the CONFIG_NUMA could not be
enabled for Arm32. Even in Arm64, users still can disable
the CONFIG_NUMA through Kconfig option. In this case, keep
current fake NUMA API, will make Arm code still can work
with NUMA aware memory allocation and scheduler.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
 xen/include/asm-arm/numa.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/xen/include/asm-arm/numa.h b/xen/include/asm-arm/numa.h
index 31a6de4e23..ab9c4a2448 100644
--- a/xen/include/asm-arm/numa.h
+++ b/xen/include/asm-arm/numa.h
@@ -5,6 +5,8 @@
 
 typedef u8 nodeid_t;
 
+#if !defined(CONFIG_NUMA)
+
 /* Fake one node for now. See also node_online_map. */
 #define cpu_to_node(cpu) 0
 #define node_to_cpumask(node)   (cpu_online_map)
@@ -25,6 +27,8 @@ extern mfn_t first_valid_mfn;
 #define node_start_pfn(nid) (mfn_x(first_valid_mfn))
 #define __node_distance(a, b) (20)
 
+#endif
+
 #endif /* __ARCH_ARM_NUMA_H */
 /*
  * Local variables:
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:25:33 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:25:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165642.302732 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlQT-0004oe-CA; Wed, 11 Aug 2021 10:25:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165642.302732; Wed, 11 Aug 2021 10:25:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlQT-0004oK-6r; Wed, 11 Aug 2021 10:25:33 +0000
Received: by outflank-mailman (input) for mailman id 165642;
 Wed, 11 Aug 2021 10:25:31 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlQR-0002Qj-F0
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:25:31 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com (unknown
 [40.107.14.89]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 70d698ea-fa8e-11eb-a052-12813bfff9fa;
 Wed, 11 Aug 2021 10:25:25 +0000 (UTC)
Received: from AM7PR04CA0008.eurprd04.prod.outlook.com (2603:10a6:20b:110::18)
 by AS8PR08MB6280.eurprd08.prod.outlook.com (2603:10a6:20b:29b::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.21; Wed, 11 Aug
 2021 10:25:23 +0000
Received: from VE1EUR03FT050.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:110:cafe::6c) by AM7PR04CA0008.outlook.office365.com
 (2603:10a6:20b:110::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:23 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT050.mail.protection.outlook.com (10.152.19.209) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.14 via Frontend Transport; Wed, 11 Aug 2021 10:25:23 +0000
Received: ("Tessian outbound 7b804b1d9bbf:v101");
 Wed, 11 Aug 2021 10:25:23 +0000
Received: from cb0805c421e9.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 E34D7B39-1354-4DD9-9092-6B475D6125D9.1; 
 Wed, 11 Aug 2021 10:25:16 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id cb0805c421e9.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:25:16 +0000
Received: from DB6PR07CA0191.eurprd07.prod.outlook.com (2603:10a6:6:42::21) by
 HE1PR0801MB1659.eurprd08.prod.outlook.com (2603:10a6:3:86::19) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4394.17; Wed, 11 Aug 2021 10:25:13 +0000
Received: from DB5EUR03FT034.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:6:42:cafe::67) by DB6PR07CA0191.outlook.office365.com
 (2603:10a6:6:42::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.5 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:13 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT034.mail.protection.outlook.com (10.152.20.87) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.14 via Frontend Transport; Wed, 11 Aug 2021 10:25:12 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX03.Arm.com
 (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:24:51 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10: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: 70d698ea-fa8e-11eb-a052-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TClhxrxl6qSnMv1gYK81n4014+4dXYvGoukVIaGd8Xw=;
 b=KzR68+vexDymW0QDHLVzL/AzITDSfRkxFNhCfbF3g4Nsis7j9DyB9cz8L3ZlmxUMMfl6EN7+4JGIxNgcZVJhYsKxVNXZCxRePN34JtXjLVjcsmgMgp610v7GVIsh9A1poQjFYp5suFyHyZMUlgCHkJh1NuKK959KCCwJksii42w=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: d78d04ce681d2b3b
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UZdJ33f4gjR0SwyXbINPHOrDgYW0+BwMMNHS6W6eLF9zusuCsARrdD8hbIsUJSW0fiNVAGTPNKwgeuKz1nRpQS8WHDZG3FkMu/3rUt7ro/7Ob668/04c35/hhkr24cT8B79jc9CfWU8fo2+g72punwIsucQ1xdXIGGE3j+H3Z4MLZn3tGEBy6Ov5ecFisEpG+EE2WjPmvchOn6f5GipaI+ALBuuYQkhyspJOOsbpafH9zPytXxrozzleB/9zZKWtr1j0Dm4wFhlVZs8x4BlBc9BUqZN41718OwU+9f1Sb5pc4IaShk1e7I5WLWfJK3oh1nUWeIHZ7RhRJA90CzaK8Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TClhxrxl6qSnMv1gYK81n4014+4dXYvGoukVIaGd8Xw=;
 b=mu20WjhuKQSZBtltK3rqBUTo/bpZXEzdglvErrzJ+fe0pBwE8ffN5dksfDz2l5LaT6BrawfaWK3DD386AhLDcg/NmU9hi4AomXy4kabO0SJoMeXSCMiOTExtlClCvieVGkRDDgGr3sjoeOmApnChI6HD+durNfjtTYeShx3aEEujYOvI3R1L5+QiklRpA+z+UpTNH9abkInsjZi6c9uvqi0NSH9Wqsqu1YlT2CL8zP776OaGSHwYgbUv9Ev3xmzyl9w86ZzBiMour4SxAewpB8ASM3roqXTQK61GXuCQ/1Nw+4ZeXoZjlT8hDqahFVtoGfIBZJOMkXi/iXOghRVs/A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TClhxrxl6qSnMv1gYK81n4014+4dXYvGoukVIaGd8Xw=;
 b=KzR68+vexDymW0QDHLVzL/AzITDSfRkxFNhCfbF3g4Nsis7j9DyB9cz8L3ZlmxUMMfl6EN7+4JGIxNgcZVJhYsKxVNXZCxRePN34JtXjLVjcsmgMgp610v7GVIsh9A1poQjFYp5suFyHyZMUlgCHkJh1NuKK959KCCwJksii42w=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 08/40] xen/x86: Move NUMA memory node map functions to common
Date: Wed, 11 Aug 2021 18:23:51 +0800
Message-ID: <20210811102423.28908-9-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ed566965-dbcb-4644-869c-08d95cb2542d
X-MS-TrafficTypeDiagnostic: HE1PR0801MB1659:|AS8PR08MB6280:
X-Microsoft-Antispam-PRVS:
	<AS8PR08MB628016426997B039350B551B9EF89@AS8PR08MB6280.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:5797;OLM:5797;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 mjC5l9u2glMuoqMqEFihDEpYCZ0lpPgWP/CBz4PWdv7jJyMZL1JOgpIYuaoBFb6NsE5vkQoY16CE7RjiY7aZV20BxK1N4gGMWHQmtasLgYIz1bjRKmjDiMfL92NZL01D6bjryD0VcDKJrndRGZRj8PSFbB+CXuHS/loDEtOJfAjgiW05NA6UglklyIcbyBEBkfk0anbl3g1T7kgQMlws9Sh2BH6ZGdIJ8pNIcbpxAzDfqb1rL5iiRv1ZYSjW5M+BFsxcM3xASyg4yKAVH7kzx/Y1tbOsSojQ0aCLKxGHkGZlNoFvigfIslNVQx1EEo+pAsd5VxyQTHioRFqrMmZJFRFK0rhLiUJAREdI+kYepvCVwcDUK20+sXIgk5XLPkmE6Hlp5fu6DS2v9NOE39d/KwFLyVfCGaANvaH9HWkYMTejDdpuXUDbjtSvG5+sab4exyK62dllWzpXRwR3qUUwUVpr+Nr1SLzkZwE+ELyk/imPdSRaPVW4uCUPE0K146Y+/KHXXzGSxMzAHpstelSvxodM+wz7r4aNaztRE7tgh/CkILTzrKuClolrP6hs1QPe2MAlc2LDh0wsoteqdBrO/SgvJc9gJ/ilNN3vfmZmlzA4rpDDoiEis4QvhRVCrvimGy2YRiboNvdCkBFYglVyG6bB+pApxB21E0zvZR1AcXjnQSP7bjjCI5kF0Viq3iv7qNWTpZdH5Lp6Nw3K2Bigd/2ZHOAFTHU+7rLIq+iAPtKQZng1nwyGY3ua1u30Kx3cMOuUIkWBy60PCHXe6ltGWj2a0/jkM9bFgm6YlI70fPE=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(346002)(396003)(136003)(376002)(39860400002)(36840700001)(46966006)(336012)(1076003)(2616005)(26005)(426003)(47076005)(34070700002)(44832011)(81166007)(186003)(82740400003)(86362001)(4326008)(8676002)(5660300002)(7696005)(83380400001)(110136005)(70206006)(356005)(70586007)(316002)(36860700001)(36756003)(82310400003)(478600001)(2906002)(30864003)(6666004)(8936002)(2101003)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB1659
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT050.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	8f8ddc93-d814-417a-dddd-08d95cb24ddd
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	eVa4CFSYupvRPt6wFaAbpzbCKiRS5xW5a1b+lO86QjDGG2E+jD5pJIsuCS+zU7YnN0C8A2Uj9Lox3sF1Ol23//lsLww/GErYPnHUGbopCK5dwjpLwixCgVCKpfjEQebAYB47IPS8GS+zgEQG1S6MYQ6GNS4bHCkqSR053RvrZwQxNfzxIYxN6tQa2tgMGIoGKpGhzVcLkb+6WbF4/L7OCgiyikjfrjxlfgOiUyuJ/MX4EFVrh5I0qIK8wkKHlu4bLZt1wYnC/haO20rLWfePb1ux+oSQQy1lyHhPfng0ooGjI29N7OIDpEDjUYSxJOSPD6y3WVwfnCGYZxgqymp3uW31Sgj8sksr5tTAX6ZU3rI9NwopRwRl2w+QnLk2eAWMN7+aosV9HU8KTUUOrBHdYsEpQ9AjkxOkTrV52sEaBDa7vHDY5DaNcTKfbYCHOoPN6QDD1o3QDjkCBdeoud4nZoR3alrxlLyWkIpWq8vjlHwPd4vP0Eo6KXEEYChBX4oDdAAQkoRU0eBJLWqGVUoncrK/R+XWnVnVLBHEeNz+FtfQmOl4YloFoNqvyzGS2dyqkBiEo4+cH7waArGPz/QHXFPOTT3fu2DPBzyr9YfUuFbpYPBtFD8cO368LVu96s+1LGHClL3oxv5ec4CuxnJMgzZQEwSo5zC4Tkf3lrFVnni/dap4RMIBJhV//qn+OhEjbimTxH6Or6Z9zEDA9dHsO7jUAiaGtQLBFNdqYWstHCY=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(39850400004)(396003)(346002)(136003)(376002)(46966006)(36840700001)(2616005)(26005)(478600001)(5660300002)(82310400003)(6666004)(4326008)(82740400003)(7696005)(44832011)(336012)(426003)(186003)(83380400001)(36860700001)(8676002)(36756003)(110136005)(1076003)(70206006)(8936002)(70586007)(81166007)(316002)(2906002)(30864003)(86362001)(47076005)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:25:23.4260
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ed566965-dbcb-4644-869c-08d95cb2542d
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT050.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6280

In the later patches we will add NUMA support to Arm. Arm
NUMA support will follow current memory node map management
as x86. So this part of code can be common, in this case,
we move this part of code from arch/x86 to common.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
 xen/arch/x86/numa.c        | 114 --------------------------------
 xen/common/Makefile        |   1 +
 xen/common/numa.c          | 131 +++++++++++++++++++++++++++++++++++++
 xen/include/asm-x86/numa.h |  29 --------
 xen/include/xen/numa.h     |  35 ++++++++++
 5 files changed, 167 insertions(+), 143 deletions(-)
 create mode 100644 xen/common/numa.c

diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c
index d23f4f7919..a6211be121 100644
--- a/xen/arch/x86/numa.c
+++ b/xen/arch/x86/numa.c
@@ -29,14 +29,6 @@ custom_param("numa", numa_setup);
 /* from proto.h */
 #define round_up(x,y) ((((x)+(y))-1) & (~((y)-1)))
 
-struct node_data node_data[MAX_NUMNODES];
-
-/* Mapping from pdx to node id */
-int memnode_shift;
-static typeof(*memnodemap) _memnodemap[64];
-unsigned long memnodemapsize;
-u8 *memnodemap;
-
 nodeid_t cpu_to_node[NR_CPUS] __read_mostly = {
     [0 ... NR_CPUS-1] = NUMA_NO_NODE
 };
@@ -58,112 +50,6 @@ int srat_disabled(void)
     return numa_off || acpi_numa < 0;
 }
 
-/*
- * Given a shift value, try to populate memnodemap[]
- * Returns :
- * 1 if OK
- * 0 if memnodmap[] too small (of shift too small)
- * -1 if node overlap or lost ram (shift too big)
- */
-static int __init populate_memnodemap(const struct node *nodes,
-                                      int numnodes, int shift, nodeid_t *nodeids)
-{
-    unsigned long spdx, epdx;
-    int i, res = -1;
-
-    memset(memnodemap, NUMA_NO_NODE, memnodemapsize * sizeof(*memnodemap));
-    for ( i = 0; i < numnodes; i++ )
-    {
-        spdx = paddr_to_pdx(nodes[i].start);
-        epdx = paddr_to_pdx(nodes[i].end - 1) + 1;
-        if ( spdx >= epdx )
-            continue;
-        if ( (epdx >> shift) >= memnodemapsize )
-            return 0;
-        do {
-            if ( memnodemap[spdx >> shift] != NUMA_NO_NODE )
-                return -1;
-
-            if ( !nodeids )
-                memnodemap[spdx >> shift] = i;
-            else
-                memnodemap[spdx >> shift] = nodeids[i];
-
-            spdx += (1UL << shift);
-        } while ( spdx < epdx );
-        res = 1;
-    }
-
-    return res;
-}
-
-static int __init allocate_cachealigned_memnodemap(void)
-{
-    unsigned long size = PFN_UP(memnodemapsize * sizeof(*memnodemap));
-    unsigned long mfn = mfn_x(alloc_boot_pages(size, 1));
-
-    memnodemap = mfn_to_virt(mfn);
-    mfn <<= PAGE_SHIFT;
-    size <<= PAGE_SHIFT;
-    printk(KERN_DEBUG "NUMA: Allocated memnodemap from %lx - %lx\n",
-           mfn, mfn + size);
-    memnodemapsize = size / sizeof(*memnodemap);
-
-    return 0;
-}
-
-/*
- * The LSB of all start and end addresses in the node map is the value of the
- * maximum possible shift.
- */
-static int __init extract_lsb_from_nodes(const struct node *nodes,
-                                         int numnodes)
-{
-    int i, nodes_used = 0;
-    unsigned long spdx, epdx;
-    unsigned long bitfield = 0, memtop = 0;
-
-    for ( i = 0; i < numnodes; i++ )
-    {
-        spdx = paddr_to_pdx(nodes[i].start);
-        epdx = paddr_to_pdx(nodes[i].end - 1) + 1;
-        if ( spdx >= epdx )
-            continue;
-        bitfield |= spdx;
-        nodes_used++;
-        if ( epdx > memtop )
-            memtop = epdx;
-    }
-    if ( nodes_used <= 1 )
-        i = BITS_PER_LONG - 1;
-    else
-        i = find_first_bit(&bitfield, sizeof(unsigned long)*8);
-    memnodemapsize = (memtop >> i) + 1;
-    return i;
-}
-
-int __init compute_hash_shift(struct node *nodes, int numnodes,
-                              nodeid_t *nodeids)
-{
-    int shift;
-
-    shift = extract_lsb_from_nodes(nodes, numnodes);
-    if ( memnodemapsize <= ARRAY_SIZE(_memnodemap) )
-        memnodemap = _memnodemap;
-    else if ( allocate_cachealigned_memnodemap() )
-        return -1;
-    printk(KERN_DEBUG "NUMA: Using %d for the hash shift.\n", shift);
-
-    if ( populate_memnodemap(nodes, numnodes, shift, nodeids) != 1 )
-    {
-        printk(KERN_INFO "Your memory is not aligned you need to "
-               "rebuild your hypervisor with a bigger NODEMAPSIZE "
-               "shift=%d\n", shift);
-        return -1;
-    }
-
-    return shift;
-}
 /* initialize NODE_DATA given nodeid and start/end */
 void __init setup_node_bootmem(nodeid_t nodeid, u64 start, u64 end)
 { 
diff --git a/xen/common/Makefile b/xen/common/Makefile
index 54de70d422..f8f667e90a 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -54,6 +54,7 @@ obj-y += wait.o
 obj-bin-y += warning.init.o
 obj-$(CONFIG_XENOPROF) += xenoprof.o
 obj-y += xmalloc_tlsf.o
+obj-$(CONFIG_NUMA) += numa.o
 
 obj-bin-$(CONFIG_X86) += $(foreach n,decompress bunzip2 unxz unlzma lzo unlzo unlz4 unzstd earlycpio,$(n).init.o)
 
diff --git a/xen/common/numa.c b/xen/common/numa.c
new file mode 100644
index 0000000000..e65b6a6676
--- /dev/null
+++ b/xen/common/numa.c
@@ -0,0 +1,131 @@
+/*
+ * Generic VM initialization for x86-64 NUMA setups.
+ * Copyright 2002,2003 Andi Kleen, SuSE Labs.
+ * Adapted for Xen: Ryan Harper <ryanh@us.ibm.com>
+ */
+
+#include <xen/mm.h>
+#include <xen/string.h>
+#include <xen/init.h>
+#include <xen/ctype.h>
+#include <xen/nodemask.h>
+#include <xen/numa.h>
+#include <xen/time.h>
+#include <xen/smp.h>
+#include <xen/pfn.h>
+#include <xen/sched.h>
+
+struct node_data node_data[MAX_NUMNODES];
+
+/* Mapping from pdx to node id */
+int memnode_shift;
+typeof(*memnodemap) _memnodemap[64];
+unsigned long memnodemapsize;
+u8 *memnodemap;
+
+/*
+ * Given a shift value, try to populate memnodemap[]
+ * Returns :
+ * 1 if OK
+ * 0 if memnodmap[] too small (of shift too small)
+ * -1 if node overlap or lost ram (shift too big)
+ */
+static int __init populate_memnodemap(const struct node *nodes,
+                                      int numnodes, int shift, nodeid_t *nodeids)
+{
+    unsigned long spdx, epdx;
+    int i, res = -1;
+
+    memset(memnodemap, NUMA_NO_NODE, memnodemapsize * sizeof(*memnodemap));
+    for ( i = 0; i < numnodes; i++ )
+    {
+        spdx = paddr_to_pdx(nodes[i].start);
+        epdx = paddr_to_pdx(nodes[i].end - 1) + 1;
+        if ( spdx >= epdx )
+            continue;
+        if ( (epdx >> shift) >= memnodemapsize )
+            return 0;
+        do {
+            if ( memnodemap[spdx >> shift] != NUMA_NO_NODE )
+                return -1;
+
+            if ( !nodeids )
+                memnodemap[spdx >> shift] = i;
+            else
+                memnodemap[spdx >> shift] = nodeids[i];
+
+            spdx += (1UL << shift);
+        } while ( spdx < epdx );
+        res = 1;
+    }
+
+    return res;
+}
+
+static int __init allocate_cachealigned_memnodemap(void)
+{
+    unsigned long size = PFN_UP(memnodemapsize * sizeof(*memnodemap));
+    unsigned long mfn = mfn_x(alloc_boot_pages(size, 1));
+
+    memnodemap = mfn_to_virt(mfn);
+    mfn <<= PAGE_SHIFT;
+    size <<= PAGE_SHIFT;
+    printk(KERN_DEBUG "NUMA: Allocated memnodemap from %lx - %lx\n",
+           mfn, mfn + size);
+    memnodemapsize = size / sizeof(*memnodemap);
+
+    return 0;
+}
+
+/*
+ * The LSB of all start and end addresses in the node map is the value of the
+ * maximum possible shift.
+ */
+static int __init extract_lsb_from_nodes(const struct node *nodes,
+                                         int numnodes)
+{
+    int i, nodes_used = 0;
+    unsigned long spdx, epdx;
+    unsigned long bitfield = 0, memtop = 0;
+
+    for ( i = 0; i < numnodes; i++ )
+    {
+        spdx = paddr_to_pdx(nodes[i].start);
+        epdx = paddr_to_pdx(nodes[i].end - 1) + 1;
+        if ( spdx >= epdx )
+            continue;
+        bitfield |= spdx;
+        nodes_used++;
+        if ( epdx > memtop )
+            memtop = epdx;
+    }
+    if ( nodes_used <= 1 )
+        i = BITS_PER_LONG - 1;
+    else
+        i = find_first_bit(&bitfield, sizeof(unsigned long)*8);
+    memnodemapsize = (memtop >> i) + 1;
+    return i;
+}
+
+int __init compute_hash_shift(struct node *nodes, int numnodes,
+                              nodeid_t *nodeids)
+{
+    int shift;
+
+    shift = extract_lsb_from_nodes(nodes, numnodes);
+    if ( memnodemapsize <= ARRAY_SIZE(_memnodemap) )
+        memnodemap = _memnodemap;
+    else if ( allocate_cachealigned_memnodemap() )
+        return -1;
+    printk(KERN_DEBUG "NUMA: Using %d for the hash shift.\n", shift);
+
+    if ( populate_memnodemap(nodes, numnodes, shift, nodeids) != 1 )
+    {
+        printk(KERN_INFO "Your memory is not aligned you need to "
+               "rebuild your hypervisor with a bigger NODEMAPSIZE "
+               "shift=%d\n", shift);
+        return -1;
+    }
+
+    return shift;
+}
diff --git a/xen/include/asm-x86/numa.h b/xen/include/asm-x86/numa.h
index bada2c0bb9..abe5617d01 100644
--- a/xen/include/asm-x86/numa.h
+++ b/xen/include/asm-x86/numa.h
@@ -26,7 +26,6 @@ extern int compute_hash_shift(struct node *nodes, int numnodes,
 extern nodeid_t pxm_to_node(unsigned int pxm);
 
 #define ZONE_ALIGN (1UL << (MAX_ORDER+PAGE_SHIFT))
-#define VIRTUAL_BUG_ON(x) 
 
 extern void numa_add_cpu(int cpu);
 extern void numa_init_array(void);
@@ -47,34 +46,6 @@ static inline void clear_node_cpumask(int cpu)
 	cpumask_clear_cpu(cpu, &node_to_cpumask[cpu_to_node(cpu)]);
 }
 
-/* Simple perfect hash to map pdx to node numbers */
-extern int memnode_shift; 
-extern unsigned long memnodemapsize;
-extern u8 *memnodemap;
-
-struct node_data {
-    unsigned long node_start_pfn;
-    unsigned long node_spanned_pages;
-};
-
-extern struct node_data node_data[];
-
-static inline __attribute__((pure)) nodeid_t phys_to_nid(paddr_t addr)
-{ 
-	nodeid_t nid;
-	VIRTUAL_BUG_ON((paddr_to_pdx(addr) >> memnode_shift) >= memnodemapsize);
-	nid = memnodemap[paddr_to_pdx(addr) >> memnode_shift]; 
-	VIRTUAL_BUG_ON(nid >= MAX_NUMNODES || !node_data[nid]); 
-	return nid; 
-} 
-
-#define NODE_DATA(nid)		(&(node_data[nid]))
-
-#define node_start_pfn(nid)	(NODE_DATA(nid)->node_start_pfn)
-#define node_spanned_pages(nid)	(NODE_DATA(nid)->node_spanned_pages)
-#define node_end_pfn(nid)       (NODE_DATA(nid)->node_start_pfn + \
-				 NODE_DATA(nid)->node_spanned_pages)
-
 extern int valid_numa_range(u64 start, u64 end, nodeid_t node);
 
 void srat_parse_regions(u64 addr);
diff --git a/xen/include/xen/numa.h b/xen/include/xen/numa.h
index 7aef1a88dc..39e8a4e00a 100644
--- a/xen/include/xen/numa.h
+++ b/xen/include/xen/numa.h
@@ -18,4 +18,39 @@
   (((d)->vcpu != NULL && (d)->vcpu[0] != NULL) \
    ? vcpu_to_node((d)->vcpu[0]) : NUMA_NO_NODE)
 
+/* The following content can be used when NUMA feature is enabled */
+#if defined(CONFIG_NUMA)
+
+/* Simple perfect hash to map pdx to node numbers */
+extern int memnode_shift;
+extern unsigned long memnodemapsize;
+extern u8 *memnodemap;
+extern typeof(*memnodemap) _memnodemap[64];
+
+struct node_data {
+    unsigned long node_start_pfn;
+    unsigned long node_spanned_pages;
+};
+
+extern struct node_data node_data[];
+#define VIRTUAL_BUG_ON(x)
+
+static inline __attribute__((pure)) nodeid_t phys_to_nid(paddr_t addr)
+{
+	nodeid_t nid;
+	VIRTUAL_BUG_ON((paddr_to_pdx(addr) >> memnode_shift) >= memnodemapsize);
+	nid = memnodemap[paddr_to_pdx(addr) >> memnode_shift];
+	VIRTUAL_BUG_ON(nid >= MAX_NUMNODES || !node_data[nid]);
+	return nid;
+}
+
+#define NODE_DATA(nid)		(&(node_data[nid]))
+
+#define node_start_pfn(nid)	(NODE_DATA(nid)->node_start_pfn)
+#define node_spanned_pages(nid)	(NODE_DATA(nid)->node_spanned_pages)
+#define node_end_pfn(nid)       (NODE_DATA(nid)->node_start_pfn + \
+				 NODE_DATA(nid)->node_spanned_pages)
+
+#endif /* CONFIG_NUMA */
+
 #endif /* _XEN_NUMA_H */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:25:35 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:25:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165644.302742 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlQV-0005Av-1u; Wed, 11 Aug 2021 10:25:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165644.302742; Wed, 11 Aug 2021 10: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 1mDlQU-0005AD-RZ; Wed, 11 Aug 2021 10:25:34 +0000
Received: by outflank-mailman (input) for mailman id 165644;
 Wed, 11 Aug 2021 10:25:33 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlQT-0000BQ-CR
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:25:33 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com (unknown
 [2a01:111:f400:fe1e::62e])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 058c3040-97d5-4e0f-9c77-41e2e1bb8c05;
 Wed, 11 Aug 2021 10:25:16 +0000 (UTC)
Received: from AS8PR04CA0045.eurprd04.prod.outlook.com (2603:10a6:20b:312::20)
 by VI1PR08MB2685.eurprd08.prod.outlook.com (2603:10a6:802:1d::31)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.17; Wed, 11 Aug
 2021 10:25:12 +0000
Received: from VE1EUR03FT006.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:312:cafe::40) by AS8PR04CA0045.outlook.office365.com
 (2603:10a6:20b:312::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.17 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:12 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT006.mail.protection.outlook.com (10.152.18.116) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:25:12 +0000
Received: ("Tessian outbound ab45ca2b67bc:v101");
 Wed, 11 Aug 2021 10:25:12 +0000
Received: from 031a7dee3bae.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 0A59B839-8235-43B7-B458-7FAB70575D20.1; 
 Wed, 11 Aug 2021 10:25:05 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 031a7dee3bae.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:25:05 +0000
Received: from DB9PR01CA0023.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:1d8::28) by HE1PR0802MB2202.eurprd08.prod.outlook.com
 (2603:10a6:3:c2::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.21; Wed, 11 Aug
 2021 10:25:03 +0000
Received: from DB5EUR03FT045.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:1d8:cafe::c8) by DB9PR01CA0023.outlook.office365.com
 (2603:10a6:10:1d8::28) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:03 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT045.mail.protection.outlook.com (10.152.21.164) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:25:03 +0000
Received: from AZ-NEU-EX01.Emea.Arm.com (10.251.26.4) by AZ-NEU-EX04.Arm.com
 (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:24:59 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX01.Emea.Arm.com
 (10.251.26.4) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2308.14; Wed, 11
 Aug 2021 10:24:59 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:24:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 058c3040-97d5-4e0f-9c77-41e2e1bb8c05
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JhtM44GZuI/12WEDyvg/X/JAT+76nirV+G6Sqv4vRg0=;
 b=3dI+0aXefwLx6vS2aoMegWSThioPZeOxADmdX4FWMgS3f5H5EbEbnbHC3jBwJrM8OzcFoOO06wmM7PlUenQJyVpL26Jx498LPmXzmu0y7j7IKyRcwzyRuT6X2psihdzAcd3FF5118cCUwBHOMj4MUW7PVQDmtsu4AA1QUFOMyU0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: ae4dbbd4b10260f4
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AwEOme3D76IyzSEK5VHA/thX5mZgudvBc0qhoaPDvw00ytUGSkR4Sf6tY5LmI4hNk08n4ro12lwy2zbbia34wSP6Q5bowXBIH6s2S6mxNykKgnjupw0LxLtfqGEXGFiHYp2pS3vXouwlSlwYWj2h5v0Adkh2ewPDQ9IzO4nuHRapmVzHmP+A2LtsE496vOcUZ9+4sLiBlC85m8WL3Ox6R7bPkRQqfKMNFt17AGWJKWBddyVTV3Lm4YSaqYBNy1idPumffNix0axRQckTmGglm2I8w6ZTn3Sok2SJDyY2fCjBPQyPGwjQ3iMfYeDkaNTDRnNywobmEqlR+B5K54m0FA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JhtM44GZuI/12WEDyvg/X/JAT+76nirV+G6Sqv4vRg0=;
 b=UNPR2tFhClJlI42ra10zk/x3VTXSq6O20RQlf6I4fSGcibTynEFreiXZJmuqGagBd7mHx3hLEyB2WVcyz5k7VtCNDQpgX42DUxZvTsdwymUArMStg73Rs7wv6fMyrPvM/J/eziiiFWogFey3r5p9HeKtCH7jiTgyGrrUxmnbex46VrZxP+2y82zdJ+WRWUGPf5+AK0d4oQawzbtuIZxXZVW6y+oSGPPxh813xYCw2UGZLvi3ga7nxxoMXQfTTUuo5DstyeZEw9LrXe+3EtlW6BVJnMtpcsYTWkToyREPjR6KrlVtEzkYJJguGolxTkSN0gJP3hPb92MrjnQNIYgFVg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JhtM44GZuI/12WEDyvg/X/JAT+76nirV+G6Sqv4vRg0=;
 b=3dI+0aXefwLx6vS2aoMegWSThioPZeOxADmdX4FWMgS3f5H5EbEbnbHC3jBwJrM8OzcFoOO06wmM7PlUenQJyVpL26Jx498LPmXzmu0y7j7IKyRcwzyRuT6X2psihdzAcd3FF5118cCUwBHOMj4MUW7PVQDmtsu4AA1QUFOMyU0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 11/40] xen/x86: Move NUMA nodes and memory block ranges to common
Date: Wed, 11 Aug 2021 18:23:54 +0800
Message-ID: <20210811102423.28908-12-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 332dcda5-4f26-42dc-5d83-08d95cb24dad
X-MS-TrafficTypeDiagnostic: HE1PR0802MB2202:|VI1PR08MB2685:
X-Microsoft-Antispam-PRVS:
	<VI1PR08MB268506D0561DCE0B81D47D829EF89@VI1PR08MB2685.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:327;OLM:327;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 y1rXWeO/Q2/iehKh+mwWoUiLgm93hg3uuS/qNVJDYq+CY+DL0AUw1M7zC/wCuKWOdLUjLXPotv1KiPhLQCs2FULAfa3gnSXbr/OxwwzaEYMH6Ik/JbqPcye3jRidU53i8sR8euQ9+ksA+TpN0XO8eoCzFlOwjEnpRDHBe8vAHwswvCKoOXFzIEhzV50rIYOABB4LrlfzKPoOf0D1MEyuos4MjDXhGx/NSyCRRfwrMFks1Vq6HrNcRjMOxtSj1o7ct25gmmdF+oNG3m6R593ZFgCwKp1lXdq58xnRTIjpKYQXRQZpiwJO0myY3ExCnwICgGqXrshUS199VZhfCWhBFmxg0X7H6YDit+bQXDA2g60As/9rAxPtHRnaFuNWZ7ptQ2cmo7nM7NpAq1q30z566YmREd1U9PBYY2DVBSTRcdUTm1L79RO3h9fAUXojJooNeEIx2KH73JdtKMkM7fqq+/PBHXjev+mmT5kmVbjNSNoj9lJ+tHQqXko7npPNyJInHi2bBGFJwpJJrszud0PFSLjVC6700oM+0Osfwaz+q4Bh71J/tc5q6FWwatB5rzAnGws7M8G6dAbdqIDvtwH+lMJpzs1w8al9BrMMlU0CKL+LyBZsm4SysOPj8smNGkezkk78pEt+cG519IzQ+/4KbKH42Uxm/VzD5e2kDFihyfMkRrFSMGAg7x5LvmYPqhcLqjnrEW8ALTinZE4hYygvXs/ppFbS1vKEfsR/vkQ+hliHakn/HvG5OnVLdhaYAfRRh/KqNLWTx3JXMOLbnj7TYHhnMC8AR7ZZZl+SsuLkTi0=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(46966006)(36840700001)(8936002)(83380400001)(508600001)(8676002)(356005)(426003)(186003)(81166007)(82310400003)(5660300002)(7696005)(86362001)(336012)(2906002)(26005)(2616005)(70206006)(44832011)(36860700001)(316002)(110136005)(1076003)(36756003)(70586007)(34070700002)(47076005)(4326008)(2101003)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0802MB2202
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT006.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	af221aef-f66e-4d9b-91dd-08d95cb24820
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	fLUfA5fTN1/lmWS6jSqKehlcjiZIDqKBwYC8HVhgTdDfYLPZWHYdIP8emm7soqz0szmGYKruOJLJ/D7z+lnrmOHBlT9Ep6W3bdZq/jf/bUU1xyYATdkI26yTquRXVcD+Eu/cR5uM1DQNqu5SUs0XUkdWL//pqgeLnZlB0U1H0H9iunXzUH9j5VXXtgjVcEQOLSa31JAsFoJO0L4k8gObzHX9R68R7GpnE7YsJgICqCdGq60S9QvXL2KebolEo2GbnxWepwUiaolAKadmQ11VwjTMAY8vRO5+DPKVvZdZBe8vQOuka7w1QvAJKrT7/xtkmL/oHQhb5sXZ+zBGJ9V8xBysyGv80s2qHvm0lVXPEGjd8sLqOiV4M+k51uKpjSTePEZyg57mSpfFG+WmIkJzIlsEaenx34BmEouAgxLBV8N/0bYoW1p06QRIGayNodeA+qGpbkZHTc/dJjUYz29WGEmN6V/sSuNgaFqXjAwozqQNAC5zuoCKi7mbjcf8biD123vmjoJRbS2JFhCNcB17l4izv/t+D32enJndKzop5B0nqzygBj+m1D4Bnt5sJUY2sfGnVarjvg0DRmu49KFBIsrbnXq4t0Nmxote4uz7sCol/JIXgqirMQt5lwM7HBB9eVF1r6HORGZ1Sjst1zdZd94x0JnSvhRzPCJ1clwqzv8+fMoxcbJPCNGuiTY52os+ZnritHzvh4/xbXkAEC6jOx6O7dHpnj2pzbnKSQavpZ8=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(376002)(136003)(396003)(39850400004)(346002)(46966006)(36840700001)(83380400001)(4326008)(82310400003)(47076005)(2906002)(36860700001)(1076003)(82740400003)(81166007)(36756003)(478600001)(70206006)(7696005)(70586007)(26005)(44832011)(336012)(8676002)(186003)(426003)(8936002)(2616005)(110136005)(86362001)(316002)(5660300002)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:25:12.5627
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 332dcda5-4f26-42dc-5d83-08d95cb24dad
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT006.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB2685

These data structures and functions are used to create the
mapping between node and memory blocks. In device tree based
NUMA, we will reuse these data structures and functions, so
we move this part of code from x86 to common.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
 xen/arch/x86/srat.c        | 50 -------------------------------------
 xen/common/numa.c          | 51 ++++++++++++++++++++++++++++++++++++++
 xen/include/asm-x86/numa.h |  8 ------
 xen/include/xen/numa.h     | 15 +++++++++++
 4 files changed, 66 insertions(+), 58 deletions(-)

diff --git a/xen/arch/x86/srat.c b/xen/arch/x86/srat.c
index 6b77b98201..6d68b8a614 100644
--- a/xen/arch/x86/srat.c
+++ b/xen/arch/x86/srat.c
@@ -26,7 +26,6 @@ static struct acpi_table_slit *__read_mostly acpi_slit;
 
 static nodemask_t memory_nodes_parsed __initdata;
 static nodemask_t processor_nodes_parsed __initdata;
-static struct node nodes[MAX_NUMNODES] __initdata;
 
 struct pxm2node {
 	unsigned pxm;
@@ -37,9 +36,6 @@ static struct pxm2node __read_mostly pxm2node[MAX_NUMNODES] =
 
 static unsigned node_to_pxm(nodeid_t n);
 
-static int num_node_memblks;
-static struct node node_memblk_range[NR_NODE_MEMBLKS];
-static nodeid_t memblk_nodeid[NR_NODE_MEMBLKS];
 static __initdata DECLARE_BITMAP(memblk_hotplug, NR_NODE_MEMBLKS);
 
 static inline bool node_found(unsigned idx, unsigned pxm)
@@ -104,52 +100,6 @@ nodeid_t setup_node(unsigned pxm)
 	return node;
 }
 
-int valid_numa_range(u64 start, u64 end, nodeid_t node)
-{
-	int i;
-
-	for (i = 0; i < num_node_memblks; i++) {
-		struct node *nd = &node_memblk_range[i];
-
-		if (nd->start <= start && nd->end >= end &&
-			memblk_nodeid[i] == node)
-			return 1;
-	}
-
-	return 0;
-}
-
-static __init int conflicting_memblks(u64 start, u64 end)
-{
-	int i;
-
-	for (i = 0; i < num_node_memblks; i++) {
-		struct node *nd = &node_memblk_range[i];
-		if (nd->start == nd->end)
-			continue;
-		if (nd->end > start && nd->start < end)
-			return i;
-		if (nd->end == end && nd->start == start)
-			return i;
-	}
-	return -1;
-}
-
-static __init void cutoff_node(int i, u64 start, u64 end)
-{
-	struct node *nd = &nodes[i];
-	if (nd->start < start) {
-		nd->start = start;
-		if (nd->end < nd->start)
-			nd->start = nd->end;
-	}
-	if (nd->end > end) {
-		nd->end = end;
-		if (nd->start > nd->end)
-			nd->start = nd->end;
-	}
-}
-
 static __init void bad_srat(void)
 {
 	int i;
diff --git a/xen/common/numa.c b/xen/common/numa.c
index 9b6f23dfc1..1facc8fe2b 100644
--- a/xen/common/numa.c
+++ b/xen/common/numa.c
@@ -29,6 +29,11 @@ nodeid_t cpu_to_node[NR_CPUS] __read_mostly = {
 
 cpumask_t node_to_cpumask[MAX_NUMNODES] __read_mostly;
 
+struct node nodes[MAX_NUMNODES] __initdata;
+int num_node_memblks;
+struct node node_memblk_range[NR_NODE_MEMBLKS];
+nodeid_t memblk_nodeid[NR_NODE_MEMBLKS];
+
 /*
  * Given a shift value, try to populate memnodemap[]
  * Returns :
@@ -136,6 +141,52 @@ int __init compute_hash_shift(struct node *nodes, int numnodes,
     return shift;
 }
 
+int valid_numa_range(u64 start, u64 end, nodeid_t node)
+{
+	int i;
+
+	for (i = 0; i < num_node_memblks; i++) {
+		struct node *nd = &node_memblk_range[i];
+
+		if (nd->start <= start && nd->end >= end &&
+			memblk_nodeid[i] == node)
+			return 1;
+	}
+
+	return 0;
+}
+
+int __init conflicting_memblks(u64 start, u64 end)
+{
+	int i;
+
+	for (i = 0; i < num_node_memblks; i++) {
+		struct node *nd = &node_memblk_range[i];
+		if (nd->start == nd->end)
+			continue;
+		if (nd->end > start && nd->start < end)
+			return i;
+		if (nd->end == end && nd->start == start)
+			return i;
+	}
+	return -1;
+}
+
+void __init cutoff_node(int i, u64 start, u64 end)
+{
+	struct node *nd = &nodes[i];
+	if (nd->start < start) {
+		nd->start = start;
+		if (nd->end < nd->start)
+			nd->start = nd->end;
+	}
+	if (nd->end > end) {
+		nd->end = end;
+		if (nd->start > nd->end)
+			nd->start = nd->end;
+	}
+}
+
 void numa_add_cpu(int cpu)
 {
     cpumask_set_cpu(cpu, &node_to_cpumask[cpu_to_node(cpu)]);
diff --git a/xen/include/asm-x86/numa.h b/xen/include/asm-x86/numa.h
index 07ff78ea1b..e8a92ad9df 100644
--- a/xen/include/asm-x86/numa.h
+++ b/xen/include/asm-x86/numa.h
@@ -17,12 +17,6 @@ extern cpumask_t     node_to_cpumask[];
 #define node_to_first_cpu(node)  (__ffs(node_to_cpumask[node]))
 #define node_to_cpumask(node)    (node_to_cpumask[node])
 
-struct node { 
-	u64 start,end; 
-};
-
-extern int compute_hash_shift(struct node *nodes, int numnodes,
-			      nodeid_t *nodeids);
 extern nodeid_t pxm_to_node(unsigned int pxm);
 
 #define ZONE_ALIGN (1UL << (MAX_ORDER+PAGE_SHIFT))
@@ -45,8 +39,6 @@ static inline void clear_node_cpumask(int cpu)
 	cpumask_clear_cpu(cpu, &node_to_cpumask[cpu_to_node(cpu)]);
 }
 
-extern int valid_numa_range(u64 start, u64 end, nodeid_t node);
-
 void srat_parse_regions(u64 addr);
 extern u8 __node_distance(nodeid_t a, nodeid_t b);
 unsigned int arch_get_dma_bitsize(void);
diff --git a/xen/include/xen/numa.h b/xen/include/xen/numa.h
index 5af74b357f..67b79a73a3 100644
--- a/xen/include/xen/numa.h
+++ b/xen/include/xen/numa.h
@@ -54,6 +54,21 @@ static inline __attribute__((pure)) nodeid_t phys_to_nid(paddr_t addr)
 
 extern void numa_add_cpu(int cpu);
 
+struct node {
+	u64 start,end;
+};
+
+extern struct node nodes[MAX_NUMNODES];
+extern int num_node_memblks;
+extern struct node node_memblk_range[NR_NODE_MEMBLKS];
+extern nodeid_t memblk_nodeid[NR_NODE_MEMBLKS];
+
+extern int compute_hash_shift(struct node *nodes, int numnodes,
+			      nodeid_t *nodeids);
+extern int conflicting_memblks(u64 start, u64 end);
+extern void cutoff_node(int i, u64 start, u64 end);
+extern int valid_numa_range(u64 start, u64 end, nodeid_t node);
+
 #endif /* CONFIG_NUMA */
 
 #endif /* _XEN_NUMA_H */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:25:42 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:25:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165656.302755 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlQc-00066n-Ex; Wed, 11 Aug 2021 10:25:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165656.302755; Wed, 11 Aug 2021 10:25:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlQc-00066a-Aw; Wed, 11 Aug 2021 10:25:42 +0000
Received: by outflank-mailman (input) for mailman id 165656;
 Wed, 11 Aug 2021 10:25:41 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlQb-0002Qj-F9
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:25:41 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com (unknown
 [40.107.8.81]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 75270a4c-fa8e-11eb-a052-12813bfff9fa;
 Wed, 11 Aug 2021 10:25:32 +0000 (UTC)
Received: from DB6P192CA0004.EURP192.PROD.OUTLOOK.COM (2603:10a6:4:b8::14) by
 AM6PR08MB4785.eurprd08.prod.outlook.com (2603:10a6:20b:d2::19) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4394.19; Wed, 11 Aug 2021 10:25:26 +0000
Received: from DB5EUR03FT010.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:b8:cafe::8d) by DB6P192CA0004.outlook.office365.com
 (2603:10a6:4:b8::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:26 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT010.mail.protection.outlook.com (10.152.20.96) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.14 via Frontend Transport; Wed, 11 Aug 2021 10:25:26 +0000
Received: ("Tessian outbound ab45ca2b67bc:v101");
 Wed, 11 Aug 2021 10:25:26 +0000
Received: from 7f71c6e7d59f.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 52B14470-63A4-42F3-8A67-DF6CC4B489BE.1; 
 Wed, 11 Aug 2021 10:25:19 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 7f71c6e7d59f.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:25:19 +0000
Received: from DB6P18901CA0019.EURP189.PROD.OUTLOOK.COM (2603:10a6:4:16::29)
 by DB8PR08MB5018.eurprd08.prod.outlook.com (2603:10a6:10:e2::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.17; Wed, 11 Aug
 2021 10:25:17 +0000
Received: from DB5EUR03FT038.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:16:cafe::57) by DB6P18901CA0019.outlook.office365.com
 (2603:10a6:4:16::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:17 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT038.mail.protection.outlook.com (10.152.21.84) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:25:17 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX03.Arm.com
 (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:25:05 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 75270a4c-fa8e-11eb-a052-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ADy+xgeVyGznBAi23oXEJ0cpv/hao8FwBoKS3LhfV94=;
 b=mo0fZj35FtwR3/htoEDvlw2SrhHQ5zyZwhSDrLI9wzrfhyqTHOBnA3GuVJ/XMfOQ9x24PTPt6J6f7cWhhxFlzPJGcz547TYouJAXCA8FfOX9tzp5CQOZN7MYFpKlw9+l4ALcfjKlucrmw7BHqmZJkdeEvOGPx4gx7s6yRsMN7B4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 36dbf6cfc345242e
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ItR46e+Tp3oAe3k6Ovqn+0ONCYcrgJvfjAqO9yb0N+sEADUQ3ZKx0OU1MKWhxRw5Lj6gqWdzSUbOPzzY3kB03Wkdl5gqAdFl2yzVtRmUkzPznF93W5dQKdOMY4RNNrR7oVpz9TFK3h/t1+AtW+O9RBDRoMMylUjH2kakzmMyUHecAQ6XVcNFtVPkswe9BdZqfLOclRQAWi62OW+yfBoWFgRTcnB5F6aU1PgJ9mPMPE/oIAugiDzpPgkaV2WBP0HgH37yTE3q2R+ndBivH8YooPbtKp4ZBiLCa5lJjvd6CjvYoGASwX99LyA6WVJU5cNSVl7/q3WULsblwWk3ZRS2vg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ADy+xgeVyGznBAi23oXEJ0cpv/hao8FwBoKS3LhfV94=;
 b=aQv45BfzL3yftAU1OyR5HS40OvD2yw55Qg38HLlWR4dphUMpCoMXnDKwxddIl8y6KaL5WKJ3eWfjLuUqBe1z2tBn5SqQHNKEg6zNZICdmE5WUy/Co6f1MdJyKcqBcr9C5YEdaW+h2xPZs1xxgZRTMCRu/9GkBjUzH3fdLpwRfpuHtLO0H6xdzBg/+7Tc3FaS2OdKLGSiwSS15L8IcOt5YkD+yNVh9eCwEh2BVWRtIthkBYS2iCjpH5TYz0gGb9X/l2jP7fENa9S8DIclPiYzUv6o1r2nld+xm/079tI8Qg3KbZZAka3aeNyY1Zw/zzuyZJ+DWIHdKUlrb5stcn//4Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ADy+xgeVyGznBAi23oXEJ0cpv/hao8FwBoKS3LhfV94=;
 b=mo0fZj35FtwR3/htoEDvlw2SrhHQ5zyZwhSDrLI9wzrfhyqTHOBnA3GuVJ/XMfOQ9x24PTPt6J6f7cWhhxFlzPJGcz547TYouJAXCA8FfOX9tzp5CQOZN7MYFpKlw9+l4ALcfjKlucrmw7BHqmZJkdeEvOGPx4gx7s6yRsMN7B4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 14/40] xen/arm: set NUMA nodes max number to 64 by default
Date: Wed, 11 Aug 2021 18:23:57 +0800
Message-ID: <20210811102423.28908-15-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 8d07a97f-7976-4fdc-169a-08d95cb255e3
X-MS-TrafficTypeDiagnostic: DB8PR08MB5018:|AM6PR08MB4785:
X-Microsoft-Antispam-PRVS:
	<AM6PR08MB47852AA7AC0417CDB249204B9EF89@AM6PR08MB4785.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:6108;OLM:6108;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 YRXEAQ/Lf0UimN46tOYD8IqThje9ugBnlMgdCmuaV01mqjAu6MwMEyrZkHIaIhPCYbGwbcqC2AHXREa+bV4MA1MxdEh8ehpSXwhZjRyoFwQGOEbUtwL81A1EjuiBBm+avsqOJFtgwUbaUwT5e8S44vkIC14Ck0FHPq1u1jPugyPEjSfGk9bEa3nljpjoK76hWQ6VyrI78o8tBoqvLTGL93Rervt892PQ34SokySm/uc91PBJQl0eOtDywUOQUDjKBwirjQoDOOFLF3u5wg2RezZu89vqE0nR2ZTTm8OykP0LWpbea71e0HLy6dtdeehjNyBJcUfiMxeUuRruNdoex8ZpncV6QN/UM5MhDSFYf+8flSu/9p69f7IEP2+6oT8LB8SixB2Hddyo5VK4jCUdlO/oEcFcJ5a7QFt4byNfSoYfJv8sfxRtoEFBCUMGXnC+S56s1ZxKiRBj2doL4lHdvv7YXnaI0kYMP/gH9wal74j4HMBDPj9qKAQtMauHFHbxpOPrHDcfS9B3cZs9JFKw9JGyf6/foRwgN9wSM4JjDSWHLomcka1r8iOUJQCmx+jjZ6+bafqmhHuxpLsJwfZcWLJx1kbIYMGhS8xT8esFA4FZTbpolmmYw02S1mExxoE570vOEOe9LUSPYu+7owPTjdGolDDmv+IG4imLxb+Lk0vR/vA9nnL4GJakSLJNjI439FIXTFBcdAuAPA0kM9w06sD1CIjdg/CfFkvCqVmLcW0za3c0wRV3puPUEPMKf1XKPINONEfuJYHzEzuMjhBZMwHVplrvW5iY3uwTaOrJRIE=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(136003)(396003)(39860400002)(376002)(346002)(36840700001)(46966006)(26005)(186003)(1076003)(2906002)(70206006)(70586007)(356005)(7696005)(110136005)(5660300002)(4326008)(81166007)(83380400001)(478600001)(6666004)(82310400003)(316002)(8936002)(82740400003)(4744005)(36756003)(426003)(47076005)(36860700001)(86362001)(336012)(8676002)(44832011)(2616005)(34070700002)(36900700001)(2101003);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB5018
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT010.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	76f7e428-a6d0-4a74-14c0-08d95cb2509d
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	cthx+Xdhu2tGj5nbPTFLYbxOe5FiejwLvd61QUYxkCB8XiuUDNiBFwum064tps9Mb396V13/A0GOrwpE9O+B7cXi095YsU+i7UJP/nWpq8Yv9qLc/XMIqO/BO/XzYppU3JBzFjLAbxehCaklNGdjAvsObxrB4ZYF2gav4XM7yXfeL29JSRM6fuZcY2gDq+hgq2nz4B7nCZ5YAYDwucmqTm+Qi8QcQssbBesymJOs7BITxhrQzH8SaK+dkYXAjTS1gLBqcLkC3qN4bCRJ8y86uAlGXdyny0aUauVwzmwhq+eSsqVmtmWdJ+S6Dgj+ir5nr2w8jbCSp7PAEVsewaGMMUb6BJRtbrV44CVCrOd/FTs3L6JIsACJtLl8IaMNLn5VhYAmZ9VLkAFkS4ZRZUiDJAhFZpMLuNZ4Q4IYoee4SSHec3vMj0kBgAUI+89qHmDPsiQaSvIU7BTwoCOPjE25aH5v7ORyBejDvq2NiVbes+POksiYppIn5IJwqmYYbBhykb7wrAeILpOHHysP8tPKqTSMhusKaBrpEbsgsm8jd09xph1u+srVTRq+QJ+NQcrCEMoxPvA3tWCouW3AGI7smaV6UufhRIBkhxPQOntZO0Uf3fYmhdKSzHSxRQ8e84Jj9Va8qBnLTsYHnwSy4Sc8YWQaXbFIt7Rlw/fPryzH6q5MtDIw+TXq9Z8ePpu82VsnA5fUBJeDhO416BeUMNZ2RY40d8yJUXJyOTlGuNSj9is=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(376002)(136003)(39860400002)(346002)(396003)(36840700001)(46966006)(2616005)(316002)(4744005)(110136005)(6666004)(70586007)(1076003)(83380400001)(82310400003)(336012)(186003)(36860700001)(47076005)(4326008)(82740400003)(86362001)(81166007)(70206006)(7696005)(8676002)(8936002)(2906002)(36756003)(478600001)(5660300002)(44832011)(26005)(426003)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:25:26.4435
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8d07a97f-7976-4fdc-169a-08d95cb255e3
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT010.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4785

Today's Arm64 systems can reach or exceed 16 NUMA nodes, so
we set the number to 64 to match with x86.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
 xen/include/asm-arm/numa.h | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/xen/include/asm-arm/numa.h b/xen/include/asm-arm/numa.h
index 1162c702df..b2982f9053 100644
--- a/xen/include/asm-arm/numa.h
+++ b/xen/include/asm-arm/numa.h
@@ -5,7 +5,15 @@
 
 typedef u8 nodeid_t;
 
-#if !defined(CONFIG_NUMA)
+#if defined(CONFIG_NUMA)
+
+/*
+ * Same as x86, we set the max number of NUMA nodes to 64 and
+ * set the number of NUMA memory block number to 128.
+ */
+#define NODES_SHIFT      6
+
+#else
 
 /* Fake one node for now. See also node_online_map. */
 #define cpu_to_node(cpu) 0
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:25:53 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:25:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165667.302766 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlQn-0007Hf-12; Wed, 11 Aug 2021 10:25:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165667.302766; Wed, 11 Aug 2021 10: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 1mDlQm-0007HU-TY; Wed, 11 Aug 2021 10:25:52 +0000
Received: by outflank-mailman (input) for mailman id 165667;
 Wed, 11 Aug 2021 10:25:51 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlQl-0002Qj-FY
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:25:51 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com (unknown
 [40.107.1.61]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 761e8696-fa8e-11eb-a052-12813bfff9fa;
 Wed, 11 Aug 2021 10:25:34 +0000 (UTC)
Received: from PR3P195CA0013.EURP195.PROD.OUTLOOK.COM (2603:10a6:102:b6::18)
 by AM5PR0802MB2417.eurprd08.prod.outlook.com (2603:10a6:203:9c::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.21; Wed, 11 Aug
 2021 10:25:33 +0000
Received: from VE1EUR03FT054.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:102:b6:cafe::b8) by PR3P195CA0013.outlook.office365.com
 (2603:10a6:102:b6::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:32 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT054.mail.protection.outlook.com (10.152.19.64) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:25:32 +0000
Received: ("Tessian outbound d9f41274f41a:v101");
 Wed, 11 Aug 2021 10:25:32 +0000
Received: from f06cc1c132ec.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 818B36B5-F871-4F84-A4B3-FA7113A418E4.1; 
 Wed, 11 Aug 2021 10:25:26 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f06cc1c132ec.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:25:26 +0000
Received: from DB9PR06CA0026.eurprd06.prod.outlook.com (2603:10a6:10:1db::31)
 by VE1PR08MB4656.eurprd08.prod.outlook.com (2603:10a6:802:a8::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.14; Wed, 11 Aug
 2021 10:25:23 +0000
Received: from DB5EUR03FT012.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:1db:cafe::66) by DB9PR06CA0026.outlook.office365.com
 (2603:10a6:10:1db::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:23 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT012.mail.protection.outlook.com (10.152.20.161) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:25:23 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX04.Arm.com
 (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:25:13 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 761e8696-fa8e-11eb-a052-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7SbFnreLB3IizsJ3DjqNZm/eCO7EB4EsDPVZsBU4wsY=;
 b=YmvlLPcmkIyGG31nDBHMyKSwhBbeQwaqQBaG6SS8N9IGIewfTaLd0/RHLBeXdiQGO1TfoVZWU42x77dOy/lRgtnzCHfKH8XjXIZNgSq4uycFJZyZFKdmZxi2MgDigpuqdhClyhsQqM8nhkwpgkXe3LWst+XqcUX519W2/CuLBSU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 5a0fe43bf5988e56
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RQ+RBwdFlSVVVPpbdZqHDCmKFycjWqM6DyzKsBZXTF/tagjQPs4zwMqzZO8/s94jgvKLSli7/qi2xwdmQMOScaIKStTl0FUKAMw+izz3YWH/RWkB4Uc7oUTU8yHcPZbXYx5CnXT2joxUhPbhauzrNVl9lp0xH5zrabI4jHEURqiMGURTo9Hhv8Ra9mjKejDGYQxc1opcAn0ph3dMf6MaKxcgHMa29zo+5rGdf8zSu3xvV4WnKjmcwMXabjrWwnIc5QXOogAi5DQ9ShXLvb2QODpgEt73nee+HlWLS4mJinEM9RjDHy+hl2N4duOA6OSq4IoAnL2ObyXKpwLfg8izcg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7SbFnreLB3IizsJ3DjqNZm/eCO7EB4EsDPVZsBU4wsY=;
 b=H3EfLvwR6tkPFcBj1XiqLTVOTG4YXFn+ErTmePLpuBi/ix9PEd1JGvyPC1ynOfi2omX0k73bp5/dvIaGdAs2wAe5X7CtTVKg32xBYQq6t066+H5KbuOTRfx1z9tedGAl/AzeZ5uq0gwkvUFY53CdJJz/aK0m06wNEccSqoI81d9AKIRp2jy0gtvEi/fiT0sm6MxX6WGMIJeHh14L/gbtbo2xD0Kj9DBg8abtzHiJ5D68cBJMmm8PpfkgE+FnHZb8EOtWGrvN1X+FTK1XSMSP3N8vA+fES+dQzByiNggdIwcUAM68FsTOmPk76588mL200iJ15Q1vEOHNQmXWA7MbFA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7SbFnreLB3IizsJ3DjqNZm/eCO7EB4EsDPVZsBU4wsY=;
 b=YmvlLPcmkIyGG31nDBHMyKSwhBbeQwaqQBaG6SS8N9IGIewfTaLd0/RHLBeXdiQGO1TfoVZWU42x77dOy/lRgtnzCHfKH8XjXIZNgSq4uycFJZyZFKdmZxi2MgDigpuqdhClyhsQqM8nhkwpgkXe3LWst+XqcUX519W2/CuLBSU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 17/40] xen/arm: Introduce DEVICE_TREE_NUMA Kconfig for arm64
Date: Wed, 11 Aug 2021 18:24:00 +0800
Message-ID: <20210811102423.28908-18-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 1793903a-3972-476f-19f5-08d95cb259b3
X-MS-TrafficTypeDiagnostic: VE1PR08MB4656:|AM5PR0802MB2417:
X-Microsoft-Antispam-PRVS:
	<AM5PR0802MB2417404226897D98498069199EF89@AM5PR0802MB2417.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:6790;OLM:6790;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 SGYAQWt69RrMhW52qM1XE2li1PgonbUUsOvDHGBWzwVSsOktKRHXEzY+3eTP92mRZVHJbAGsrC3JCo+NhQggm5E/RP8Igyx3drygBS4mixytqIR6qbqxmn06SyjLd7PgrXnnEth9WUNivPmkDC3kY0PU9mdjw9MG9VdWB50LC+Vf/srSgXxPo3OlWcV02k1TWfRKXnvod2vNhITyQQHoVflcDJWcwOPS5nVo3vFh+X9+LCjdRqayfzSdzaFrztDRJppR0JoC0eLulHrh7Po7pR80bCYdpwLCmGlOmcSITpfQSvndowLcshyORYemL9hkbOBvCgtBMmHIU9+vCXAELXy9J2d4RS6mwzt/LavSSm4eVNZlZZkZEzdCz/TT/mcx2LBZwPmlWu0bJIX5NOcptTSYp5QZ76Gk/TPxZQAOXjUu/bVWrCOnDG0JMF37zuXc3f1QBo8d5jivMlP8Lu5f81S7ko8WX8KpiyNCVytAR+0O1DXhT46jKL7Izm5XXwUmAQ1YdelTm+l5Z9c3Eun5WWT5O4rrS91yBBDAJhwNH7J5bqwId8UOpVX8DHu8TrJ3mZEym9uYK454PTy2G7ym3a+Q6cZ6cUvN+icWSlUZE3e/W3q57wpCuSyskvyCLcHa49wNDrk+8GybTZGFiJc71pEi5b+7fXr9i38W8lb6z89CkJYFR3SO+WwxjibXxKfjPMnXAYgcJHsOAjHrywoLDq/6AR5Wnz5RhlCFzDMXqgheNCZlZGt+sCpVqpZZ0u0+7bJ6kVM8g2udTBT0XA/Nldj/xvEVghgm2ZWTRPgZL3w=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(39860400002)(396003)(136003)(376002)(346002)(46966006)(36840700001)(7696005)(8936002)(44832011)(8676002)(70586007)(70206006)(47076005)(336012)(82310400003)(83380400001)(356005)(6666004)(86362001)(34070700002)(186003)(316002)(36756003)(26005)(478600001)(81166007)(36860700001)(2906002)(2616005)(5660300002)(1076003)(4326008)(426003)(82740400003)(4744005)(110136005)(36900700001)(2101003);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB4656
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT054.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	ca383ecd-c552-4858-cbc6-08d95cb253de
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JApGZ+xvMc3gm3muVEsoVlySeRxwGdISNcB3i+8aIq3//dn8Qi/GAOhxo9hilyy+oYAr0fP6krRFbsOhgjbu2lkghXF91tiJetig/2H1Kb9/XGjNq7+gQMkngOXG6rxn4USZZbQOkpwDY9DXdPnxAKith0TrdULkKgC4ZbcvfVhe9yon005rcL/maLNcQJfH+TRF7yteYZrEZRnzPKMdO4muq9iXRSvdDoPl863t9Fr4lZYRwHo3bKJmpuU0EtOfEB//FynqNS4JkyiGxT69ByGC48DEAqxZreacLuYQwuJbSA7AmwppguWIpCa9REJyy+KshtJRoDDI/hf9bMGmwiB5jYAhpLr12+lKkfQM16jWLYtozlYgkiCpLRUuxCGpGhW08vGXNOixMfL+kHE3SnbLT2zW4hfIsmiRiOUybcZzSwESnWpkO1HLqBuDvpJAJGVX6u2jsJ/KEMFkH0AydB8FWd1MDAOPS6BPuFUXMZVR6tqJc8oAdKJdtiISCBs6H2QAIJSpes5vkyFXDbD9YuELcnVltkBng+T6nAwCEqn7lJL2Q8wzBgvAUUURy+KCHq0pdd2lz53ULUJGcFPqGuBVMw97a6JDpcIBmJKmIdslVeqSLaZpwlYpKyUJcdLTA8YqG7uT39HThik0cTivaBKeYUlK5KlO+Y93TOTizArX39S/4Qye72ec9+BVyn/5MB5etV8b84hNWPKbz6kuMQ1txBiZJsSHq/NH0vZVxk0=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(346002)(396003)(136003)(39850400004)(376002)(46966006)(36840700001)(36860700001)(70206006)(47076005)(8676002)(336012)(70586007)(186003)(4326008)(2906002)(2616005)(478600001)(426003)(81166007)(6666004)(8936002)(44832011)(36756003)(86362001)(7696005)(83380400001)(5660300002)(1076003)(82310400003)(110136005)(4744005)(316002)(82740400003)(26005)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:25:32.6910
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1793903a-3972-476f-19f5-08d95cb259b3
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT054.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0802MB2417

We need a Kconfig option to distinguish with ACPI based
NUMA. So we introduce the new Kconfig option:
DEVICE_TREE_NUMA in this patch for Arm64.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
 xen/arch/arm/Kconfig | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index ecfa6822e4..678cc98ea3 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -33,6 +33,16 @@ config ACPI
 	  Advanced Configuration and Power Interface (ACPI) support for Xen is
 	  an alternative to device tree on ARM64.
 
+config DEVICE_TREE_NUMA
+	bool "NUMA (Non-Uniform Memory Access) Support (UNSUPPORTED)" if UNSUPPORTED
+	depends on ARM_64
+	select NUMA
+	---help---
+
+	  Non-Uniform Memory Access (NUMA) is a computer memory design used in
+	  multiprocessing, where the memory access time depends on the memory
+	  location relative to the processor.
+
 config GICV3
 	bool "GICv3 driver"
 	depends on ARM_64 && !NEW_VGIC
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:30:40 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:30:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165684.302776 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlVL-0001MF-M6; Wed, 11 Aug 2021 10:30:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165684.302776; Wed, 11 Aug 2021 10: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 1mDlVL-0001M8-J6; Wed, 11 Aug 2021 10:30:35 +0000
Received: by outflank-mailman (input) for mailman id 165684;
 Wed, 11 Aug 2021 10:30: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 1mDlVK-0001M2-9N
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:30: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 1mDlVJ-0003IG-9k; Wed, 11 Aug 2021 10:30:33 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mDlVJ-0002hp-3A; Wed, 11 Aug 2021 10:30:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=doX3rW6A7vyFUVbwpJR4jR128Hja/+6PxiGKxV8dehg=; b=Xj/saa4SV2Jd1OhiPMeqhGmw+W
	rcOwHYqLD++cnQJjaO2Nc9lkMxXJp75UGj1jakvkIDLXWMBKztIX/TDU4koi76QLx5EQ4TOAv2r85
	CHzZMMrtpxwbqwR42B1RMSLyGB4UbjW/UD4osielmf6pR6q5d5DqzxP+EBUYNuk8st9s=;
Subject: Re: Disable swiotlb for Dom0
To: Roman Skakun <Roman_Skakun@epam.com>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
 Andrii Anisov <Andrii_Anisov@epam.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Roman Skakun <rm.skakun@gmail.com>, Jan Beulich <jbeulich@suse.com>
References: <AM7PR03MB6593B4461B99297C8650CF1C85F79@AM7PR03MB6593.eurprd03.prod.outlook.com>
 <060b5741-922c-115c-7e8c-97d8aa5f46f4@xen.org>
 <AM7PR03MB65932619505158E3930D8E8785F89@AM7PR03MB6593.eurprd03.prod.outlook.com>
From: Julien Grall <julien@xen.org>
Message-ID: <d616081a-8c60-dcda-ac54-58c5be0c21ce@xen.org>
Date: Wed, 11 Aug 2021 11:30:30 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <AM7PR03MB65932619505158E3930D8E8785F89@AM7PR03MB6593.eurprd03.prod.outlook.com>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit



On 11/08/2021 09:49, Roman Skakun wrote:
> Hi, Julien!

Hi Roman,

>> > I have observed your patch here:
>> >https://urldefense.com/v3/__https://patchwork.kernel.org/project/xen-devel/patch/alpine.DEB.2.21.2102161333090.3234@sstabellini-ThinkPad->>T480s/__;!!GF_29dbcQIUBPA!kH5gzG1mxcIgDqMu2cVjTD3ggN9LiPN4OVinOnqrhLQrNr-mRb72udp2B5XBqZlW$ <https://urldefense.com/v3/__https://patchwork.kernel.org/project/xen-devel/patch/alpine.DEB.2.21.2102161333090.3234@sstabellini-ThinkPad->T480s/__;!!GF_29dbcQIUBPA!kH5gzG1mxcIgDqMu2cVjTD3ggN9LiPN4OVinOnqrhLQrNr-mRb72udp2B5XBqZlW$>[patchwork[.]kernel[.]org]
>> >
>> > And I collided with the same issue, when Dom0 device trying to use
>> > swiotlb fops for devices which are controlled by IOMMU.
>>
>>The issue Stefano reported was when the dom0 is not direct mapped.
>>However...
> 
> I applied these patches:
> https://github.com/torvalds/linux/commit/f5079a9a2a31607a2343e544e9182ce35b030578 
> <https://github.com/torvalds/linux/commit/f5079a9a2a31607a2343e544e9182ce35b030578>
> https://github.com/xen-project/xen/commit/d66bf122c0ab79063a607d6cf68edf5e91d17d5e 
> <https://github.com/xen-project/xen/commit/d66bf122c0ab79063a607d6cf68edf5e91d17d5e>
> to check this more pragmatically.
> 
> Also, I added the log in xen_swiotlb_detect() and can see that swiotlb 
> still used (other devices within dom0 used too), when dom0 is direct mapped:
> 
> [  1.870363] xen_swiotlb_detect() dev: rcar-fcp, 
> XENFEAT_direct_mapped, use swiotlb
> [  1.878352] xen_swiotlb_detect() dev: rcar-fcp, 
> XENFEAT_direct_mapped, use swiotlb
> [  1.886309] xen_swiotlb_detect() dev: rcar-fcp, 
> XENFEAT_direct_mapped, use swiotlb
> 
> This means, that all devices are using swiotlb-xen DMA fops.
> By the way, before applying this patches, dom0 always used swiotlb-xen 
> fops for initial domain by design.

This is expected because your domain is direct mapped.

> 
> 
>> Any reason to not use  the stable branch for 5.10? I don't know whether
>> your issue will be  fixed there, but the stable branch usually contains a
>> lot of bug fixes (including  security one). So it is a good idea to use
>> it over the first release  of a kernel version.
> 
> Yes, sure, current BSP release based on 5.10 kernel:
> https://github.com/xen-troops/linux/tree/v5.10/rcar-5.0.0.rc4-xt0.1 
> <https://github.com/xen-troops/linux/tree/v5.10/rcar-5.0.0.rc4-xt0.1>
> based on https://github.com/renesas-rcar/linux-bsp 
> <https://github.com/renesas-rcar/linux-bsp/tree/v5.10.41/rcar-5.1.0.rc2>
> BTW, I specified the wrong kernel URLin the previous massage, sorry.
> 
>> > Issue caused in xen_swiotlb_map_page():
>> > ```
>> > dev: rcar-fcp, cap: 0, dma_mask: ffffffff, page: fffffe00180c7400, 
> page_to_phys: 64b1d0000,
>> > xen_phys_to_dma(phys): 64b1d0000
>> > ```
>>
>>I can't seem to find this printk in Linux 5.10. Did you add it yourself?
> 
> Yes, it's my own log.

Ok. Would you be able to provide more information on where the dom0 
memory is allocated and the list of host RAM?

> 
> 
>>This line suggests that the SWIOTLB tried to bounce the DMA buffer. In
>>general, the use of the bounce buffer should be rare. So I would suggest
>>to find out why this is used.
>>
>>Looking at the code, this suggests that one of the following check is false:
>>
>>/*
>>    * If the address happens to be in the device's DMA window,
>>* we can safely return the device addr and not worry about bounce
>>* buffering it.
>>*/
>>if (dma_capable(dev, dev_addr, size, true) &&
>>!range_straddles_page_boundary(phys, size) &&
>>!xen_arch_need_swiotlb(dev, phys, dev_addr) &&
>>swiotlb_force != SWIOTLB_FORCE)
>>goto done;
> 
> I checked this earlier and saw that dma_capable(dev, dev_addr, size, 
> true)returns false as expected because
> we got dev_addr equals 64b1d0000 and according to this expression under 
> dma_capable():
> 
> ```
> dma_addr_t end = dev_addr + size - 1;
> return end <= min_not_zero(*dev->dma_mask, dev->bus_dma_limit);
> ```
> As result, DMA mask more than32bit.
>> Let me start with that I agree we should disable swiotlb when we know
>> the device is protected. However, from what you describe, it sounds like
>> the same issue would appear if the IOMMU was disabled.
> 
> Yes, it looks like a potential issue. This means that swiotlb should be 
> worked correctly, when it's needed, agreed.
> But this is also potential improvement, and I presented this idea to 
> discuss and create some patches.

You might be able to remove the Xen swiotlb but I am not sure you will 
be able to remove the swiotlb completely if you have a device that only 
supports 32-bit DMA.

> 
>> Therefore, I think we should first find out why Linux wants to bounce
>> the DMA buffer.
> 
> We retrieved dev_addr(64b1d0000) + size > 32bit mask, but fcp driver 
> wants to use only 32 bit boundary address, but that's consequence.

Ok. So your device is only capable to do a 32-bit DMA. Is that correct?

> I think, the main reason of using bounce buffer isMFN address, not DMA 
> phys address.

I don't understand this sentence. Can you clarify it?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:31:04 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:31:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165692.302788 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlVo-0001tH-0Q; Wed, 11 Aug 2021 10:31:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165692.302788; Wed, 11 Aug 2021 10:31:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlVn-0001t3-SV; Wed, 11 Aug 2021 10:31:03 +0000
Received: by outflank-mailman (input) for mailman id 165692;
 Wed, 11 Aug 2021 10:31:02 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlTh-0000BQ-JR
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:28:53 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com (unknown
 [40.107.21.71]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 6f7f1dd3-f948-4aab-9215-dcab0ed4280c;
 Wed, 11 Aug 2021 10:26:13 +0000 (UTC)
Received: from AM6PR08CA0018.eurprd08.prod.outlook.com (2603:10a6:20b:b2::30)
 by HE1PR08MB2874.eurprd08.prod.outlook.com (2603:10a6:7:36::24) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.21; Wed, 11 Aug
 2021 10:26:10 +0000
Received: from AM5EUR03FT020.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:b2:cafe::18) by AM6PR08CA0018.outlook.office365.com
 (2603:10a6:20b:b2::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15 via Frontend
 Transport; Wed, 11 Aug 2021 10:26:10 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT020.mail.protection.outlook.com (10.152.16.116) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.14 via Frontend Transport; Wed, 11 Aug 2021 10:26:10 +0000
Received: ("Tessian outbound efa8a7456a86:v101");
 Wed, 11 Aug 2021 10:26:10 +0000
Received: from b869a803357d.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 CA0683DC-BB73-42FC-A830-F03369FC18CB.1; 
 Wed, 11 Aug 2021 10:26:03 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b869a803357d.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:26:03 +0000
Received: from DB8P191CA0011.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:130::21)
 by AM6PR08MB3413.eurprd08.prod.outlook.com (2603:10a6:20b:44::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.21; Wed, 11 Aug
 2021 10:26:02 +0000
Received: from DB5EUR03FT031.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:130:cafe::a) by DB8P191CA0011.outlook.office365.com
 (2603:10a6:10:130::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13 via Frontend
 Transport; Wed, 11 Aug 2021 10:26:02 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT031.mail.protection.outlook.com (10.152.20.142) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:26:02 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX04.Arm.com
 (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:25:57 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:25: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: 6f7f1dd3-f948-4aab-9215-dcab0ed4280c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HsD8ki2XzqZKPjUHzaCAttl8RBCBnbgfYIT2FllWBxQ=;
 b=6xBOv5P7c26RZjZnOVjJh8G/WQGaAOToUfrRfSlKC3NUKluW5NTvs7zO17ZbS0hFnsbrAoztAHYA9VDcrd0+e8P+0LVVYQvJ8XT9MPNTeyqUtzS8ydOsir5bdWGAAu9VhisGxsp0lWrSXhl/rK8HIGjPjZE0DIuhqO+1HAF2fHM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: a7ec1e1a1eaf4736
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PcCoEePVsYUaGz/l08i3/Nzuh7kWAzVuGIzXwakiD3igD6i2pvFu3iUOFntkFpfGJLISUvgGQ45CMFR749SGmxHTf+Vi0YdyLDpjW+6R8MXaXplLcGwXj7nQaKKRzX9m/EIJR7Z3lha4GTGj1iyVZrCo4UpTDlHdWb2NN5q5J/x9tOMncQKaVyCHYyhT5oejYENE2dNdnia29uqoTXfmSk/V3Qw+W8Gu0e08Qwmr+ORzT+rv2gAweLlx8wGKD5By73k8nXTjOZ5X8ZldhdR4B1O59TDnxaYoM2zNi94vHpFYy57mvZZZJqjwEEIPC7u1dxqnY00e0SIF+zK1/Xs8iQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HsD8ki2XzqZKPjUHzaCAttl8RBCBnbgfYIT2FllWBxQ=;
 b=Fpxl0fz3UPjutlk9A0pugHhvaOgUH8ZJyJH3e14cyvyk71PoLXQ2AjfMOL8GdXD8pjL1izK2ucbL6SbDgto5lqlfVxoKzJfuPGfqnGvo1I9e9JXVVCSvFXNEOahVQvf0Q+J46z3WV98+QtWl7rsdjXCPtLEwv89qftZIHPi69pzl6Nj9+qtpLAR8M/XG8dtJVYvZp1EssmD5AziBjW98naEELUL1omuGBPCIXljzmqRkkILmMEP+Q1LR75oPi0eHUcrHagvJlKkPfJ9PHlxkTjYifscQ1Wipdg6pwevaOUoE/E5NLzWfX9MfQI/Robc/Z0EsR/uRpAPGHwWFIfO/xw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HsD8ki2XzqZKPjUHzaCAttl8RBCBnbgfYIT2FllWBxQ=;
 b=6xBOv5P7c26RZjZnOVjJh8G/WQGaAOToUfrRfSlKC3NUKluW5NTvs7zO17ZbS0hFnsbrAoztAHYA9VDcrd0+e8P+0LVVYQvJ8XT9MPNTeyqUtzS8ydOsir5bdWGAAu9VhisGxsp0lWrSXhl/rK8HIGjPjZE0DIuhqO+1HAF2fHM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 35/40] xen: enable numa_scan_nodes for device tree based NUMA
Date: Wed, 11 Aug 2021 18:24:18 +0800
Message-ID: <20210811102423.28908-36-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 2a7d66aa-b870-4415-8397-08d95cb26ffb
X-MS-TrafficTypeDiagnostic: AM6PR08MB3413:|HE1PR08MB2874:
X-Microsoft-Antispam-PRVS:
	<HE1PR08MB2874BFEFDD15D55FAF5352E99EF89@HE1PR08MB2874.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:4714;OLM:4714;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 gD1Ytvzy07flHX46qnGws9AeMGIvh7TUnA9nQtnpYCAG/vATRwMRQ7NCe3ScMMLZJRR31f1ttRnqDae460uKVI+NdIFyKRk1NkhkdZ1XUQQIthVbnv7LQ1rDF/UdZ0gs7YrmWd1sVQEAI9JckBfKihfzOvFdZmsr+tXnnf77L7GeDzphVdwOo4i1v5h7acke2AJczZCaxiQO26Ywba4Yd8MWCkE7vav4iQeKBXrOjGpoe4hVyPCZw3zrUbOCJd5f5FNBV2EsaebvBSk6DXIGbzgTImVFF8aEV8yNx++6LbkAmB4ZWld9M+bftlr6Y2bM3+mpdri4Pn06qsSgh/1kFyUfs4gFWNIgUeOCuLCdyRgPtjAYJslaZ6VhhF4vFWvA+GfUc8fCUioIMNoDtJYGy8C4i0dl4XNTuyGOZ030lE4aW19K5YLUASUfzaddh1zI5dXjE5wHXv7+GKUR74SPpEwDBXVGiCVqfaO7EWNvVUfNIgXkr9V1IK2saFBTH5MpIke4J4p/BRmARCCEVntoZ82awBdm5nNQG1bqOyLAc6ygpCqr6vwHhk1WoIZxeQ3VfrQx88nNVRG937iUBkXwVJLKOHeh4zPnAqhkfpkAbZ58T7WQt6sb4ivUPXOP0pggx4NXppuEN42DJtG8Yt7V4VMrdOmixK+RISUYlkXaYYnCZUBrAnVJRiUTM9msQkH6RtYq7jPefUW1eHy35k+daZ5hBLAenOjaQ1khEWwpZv8w93fP9Pg2BF0DP5uY51SWijN/4hPQWqWqXz7SeATRQ39AIWhiysCJ9MFDQKtIWZU=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(136003)(346002)(376002)(396003)(39860400002)(46966006)(36840700001)(2616005)(26005)(186003)(5660300002)(36860700001)(8676002)(6666004)(478600001)(426003)(83380400001)(4744005)(34070700002)(70206006)(86362001)(70586007)(8936002)(316002)(110136005)(47076005)(82740400003)(4326008)(44832011)(356005)(36756003)(82310400003)(7696005)(336012)(1076003)(2906002)(81166007)(2101003)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3413
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT020.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	e0dd6e07-cfb2-4a98-5238-08d95cb26b6e
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2DvGk5faxWDCBR3GCL+GePvhmWOLRgPlyWQXM9MO9W+knNnbGPZ5UsWmrpicEdlg86iRi8xxOqX8deT0QEnVSkDjgqQsa1XTaV4mDR6ykPtdldnuc4d6iBFflTj/bz5iQcLDmeFd219ybFrFz6PeArONI6ymca/C1lTNDO3T0kEL+QG3mmEDtRKFgjMaeUq6gOe+8J4rg0K0o75eS6GI12YRIEH4hUoIxEFb4hykmibr3k2rsNUrqsTb1V9jPTyOJYGAF999mXG4w/ASN8PkvQFSp+NgCJhZtrrYqMyqCNA5TvDriRIEz0IgUe2wMVna8NMlzlv1ArKXEJStV62jwJsEHDx6khjUVBewRc/GmUU6FPaVlgNu63Z+LCBCcSNKH3mmzY++HU59ecj9bU2EFzMI9MEv2H5AsQPSCvYIY2OUluSs2AWZVo+zEbTVbbkEujXcymIwVLaY3eHYLwHSiC1flBCOQV4Oj/D/XjYhBnMLEy+y9gI2mBr7GASkYgtJ33k6CvFUv8gMiUJuOCvEfqfDVVrSGZBU0wZp/ySwdTtLcBjsDFShMpUUqC/orBbzSB/I06vE7DoMX3gss99Gb3nWA8hKF3zh2h1L7mT0uaLXflwqv8N8ErxbTJSap9GA3p+zW75HU9emfgdwnhiySSXFMRl7h7+h3Tw/FNvIrKqKwOdz/mUOf+bEcPfVI1dtJ2oL/KLod+BemUQbXEhlqUDCu7P2N0XEfyYissnWPT8=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(36840700001)(46966006)(4744005)(1076003)(70586007)(70206006)(86362001)(44832011)(36756003)(508600001)(4326008)(6666004)(2616005)(83380400001)(110136005)(82310400003)(316002)(186003)(81166007)(7696005)(47076005)(8936002)(426003)(336012)(26005)(2906002)(8676002)(5660300002)(36860700001)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:26:10.1734
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2a7d66aa-b870-4415-8397-08d95cb26ffb
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT020.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR08MB2874

Now, we can use the same function for ACPI and device tree based
NUMA to scan memory nodes.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
 xen/common/numa.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/common/numa.c b/xen/common/numa.c
index 8ca13e27d1..d15c2fc311 100644
--- a/xen/common/numa.c
+++ b/xen/common/numa.c
@@ -381,7 +381,7 @@ void __init numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn)
         return;
 #endif
 
-#ifdef CONFIG_ACPI_NUMA
+#if defined(CONFIG_ACPI_NUMA) || defined(CONFIG_DEVICE_TREE_NUMA)
     if ( !numa_off && !numa_scan_nodes((u64)start_pfn << PAGE_SHIFT,
          (u64)end_pfn << PAGE_SHIFT) )
         return;
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:31:05 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:31:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165695.302799 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlVp-0002AV-Cr; Wed, 11 Aug 2021 10:31:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165695.302799; Wed, 11 Aug 2021 10: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 1mDlVp-00029y-8U; Wed, 11 Aug 2021 10:31:05 +0000
Received: by outflank-mailman (input) for mailman id 165695;
 Wed, 11 Aug 2021 10:31:03 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlRy-0002Qj-Hr
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:27:06 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com (unknown
 [40.107.6.76]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 903b8011-fa8e-11eb-a052-12813bfff9fa;
 Wed, 11 Aug 2021 10:26:19 +0000 (UTC)
Received: from AM6P195CA0001.EURP195.PROD.OUTLOOK.COM (2603:10a6:209:81::14)
 by DB7PR08MB2955.eurprd08.prod.outlook.com (2603:10a6:5:17::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13; Wed, 11 Aug
 2021 10:26:16 +0000
Received: from VE1EUR03FT029.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:81:cafe::49) by AM6P195CA0001.outlook.office365.com
 (2603:10a6:209:81::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:26:16 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT029.mail.protection.outlook.com (10.152.18.107) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:26:16 +0000
Received: ("Tessian outbound 312d863716bf:v101");
 Wed, 11 Aug 2021 10:26:16 +0000
Received: from 60c3a5c7c6ac.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 9F8E8969-6555-4481-BCFF-AF1DAC4CE6D0.1; 
 Wed, 11 Aug 2021 10:26:10 +0000
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 60c3a5c7c6ac.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:26:10 +0000
Received: from DB6PR0202CA0030.eurprd02.prod.outlook.com (2603:10a6:4:a5::16)
 by AM5PR0802MB2387.eurprd08.prod.outlook.com (2603:10a6:203:9d::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.15; Wed, 11 Aug
 2021 10:26:09 +0000
Received: from DB5EUR03FT013.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:a5:cafe::b) by DB6PR0202CA0030.outlook.office365.com
 (2603:10a6:4:a5::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16 via Frontend
 Transport; Wed, 11 Aug 2021 10:26:09 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT013.mail.protection.outlook.com (10.152.20.105) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:26:09 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX03.Arm.com
 (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:26:07 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:26: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: 903b8011-fa8e-11eb-a052-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=C6uEbUCOtY0G4Js6EVeJsE/jBJeRxOOkeE9Bv4MxOuk=;
 b=+Pbmtl6qJfy63GrZ33q+ZmjuniiBMifrvKrrl9Pm3zk+qrNbuKnUpfEeC0mcITdENNIemQtjIlzSTHl32sgGYq9pC2bpU+WOWoKs8QsFtGp0BgBsSToc7bdvfUtE/KdIwte92uEaM6wY0CBz6ZXleBawzpRJ3JAke5LgS1xp3Nc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 3017cd1959655c14
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YNL7/cgqaqNTm4Dlp8gGKpcCu3aDZgyxA7XLdkY7YksdBftAD7Yz8gpCZ6ae2XsnhgceMUIbRyOvYMfa4WC1Juc+oE+bW3uP5sLj5+LYDInZ7pwDphaB+9KC2k9BLfbUcQ7pY45dGdRYlHBTDwqHQVzysVRmHLC9nRcoXys60idEDK++RXfUpGQvf9EsJ5zn68FLGkG++XeQ+VivabMVtPFEr5UQox7C5eQruU+YSKtWvFz8H/+eR0uUsAb2LcdIJbpuzv9x5U8G3uUVxR968jtKvnPTk4tBrfBkXK8rM7izdiCvjHp4abLYuLCEZaRvi98GsHmPAyOe03wCt0zMAw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=C6uEbUCOtY0G4Js6EVeJsE/jBJeRxOOkeE9Bv4MxOuk=;
 b=EnPuOUQBOeZkR5lIF/jev7oUVOcPGKCC5LUAwhUslVWJO6qeMLt502OzojEjEDsj7ugFcUxjlATagaUXsYOKqgf5K7lGLvy2CULoe13rowKMKG+JHL4ay+jL7vFXHtwSU/+uQY22//WWvLc8Lw02OD7VDwH12A5LXhHl9eUE4IbRsoQcG5GkWE/JbmEH35swkSnG+PQdaZxxUS/qqSgzAKTrTOc/8MKTxYu04wU2O+TEqu+Eqze7GV91Pek++LRS+8OWiSftxVV+ngCLnyQpW6iQn2o/K8csQ81zYm7bS4Pw9iciS/GIlKLjG0v/fW6kVh9L1nLJRppV1LslXMPcnQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=C6uEbUCOtY0G4Js6EVeJsE/jBJeRxOOkeE9Bv4MxOuk=;
 b=+Pbmtl6qJfy63GrZ33q+ZmjuniiBMifrvKrrl9Pm3zk+qrNbuKnUpfEeC0mcITdENNIemQtjIlzSTHl32sgGYq9pC2bpU+WOWoKs8QsFtGp0BgBsSToc7bdvfUtE/KdIwte92uEaM6wY0CBz6ZXleBawzpRJ3JAke5LgS1xp3Nc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 39/40] xen/x86: move numa_setup to common to support NUMA switch in command line
Date: Wed, 11 Aug 2021 18:24:22 +0800
Message-ID: <20210811102423.28908-40-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ba97dedd-24f5-420e-f440-08d95cb273db
X-MS-TrafficTypeDiagnostic: AM5PR0802MB2387:|DB7PR08MB2955:
X-Microsoft-Antispam-PRVS:
	<DB7PR08MB295557454C6F7D176F1113E29EF89@DB7PR08MB2955.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:248;OLM:248;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 aJKV9aIT6VvU0VQQ2gsmp8pkFCd7/oHwlxnVF4iWA2smFq5lool1qBR09uvjjWOdBmZ0fZmJhWNk/rF0S5T8Hc40MAgUCRIkcRyb/MBo3hB4/yKkPZQrc4kt10r/4jLlwuvaRabwbSq7teNWwZtx+kXIGSbhKntSjRSl9MHwt26f5lOhnqtwzWkZQ+AHHpgJagyA2ZLVhcXz2+X2FHYVLem+FrLNYKljHkiAQ08VxMVeMPUu7SnsbzU97urh7C4ZiAuL7C6pA6RBDUIm7AnQ7VNfrkcg8NitwPth7cxItMRIrAZjp9WXwngzsdeZIH5m4lwTz7PrmwQse49CNimjEZVII9bz0qxxsZqxlAv7YWtZ0bKxMxQabkxy7aPSGDr9OYMz2asosOggTkPO9d1vJkGjGz9/p1X1EZEWftk0ziVwYDMbQ+ZnEFb6XnihAQpG7X6Af6eEdJiASll3DkGaMppRz5TFsa4nj4GRtJAw4QNYOwiuw9r714Z+E6l+yn8QI2GLB09ugHUQfNo1M4hc/VCtA9RIw9mmj5No5Cz+aCpKGCJtyJchN8vrOpOD1JSU4de2JToSEWR2h8mIFAWcFR/Uw71NjNG3DUe3+AHo3mhyuA+FeXLm/fbvZh/dMTN4ladXWBBhub/Z7fulT7KTzPe1HdbdL3hs9JD6iYtFvrrS97NWFXVWjHkulMpnJh2UwVAVZc/SipWVYhXWQfN1NIf9bPnp+xndP1ZAT7oDGvWbtpU+gsiVnGy+sD3MXX5+BBMdmuhmVcEs1XRvNEZBysw6rS0f3Hk/BxyiTgrMUds=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(36840700001)(46966006)(81166007)(5660300002)(508600001)(336012)(186003)(34070700002)(8936002)(4326008)(7696005)(26005)(86362001)(8676002)(36860700001)(47076005)(6666004)(70206006)(2616005)(82310400003)(1076003)(2906002)(316002)(36756003)(110136005)(44832011)(426003)(356005)(83380400001)(70586007)(36900700001)(2101003);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0802MB2387
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT029.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	22bdec4f-04c8-46a7-0f81-08d95cb26f55
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	aoOPARhOJxwQ1yg9Rds87wupenStNO7v8FqkrbQIhmKh2Ndfun93SnSRcfck0UTi0yCUlSScMCrL/Il+cjQoQ7na08DvAGGmo/ohyZ8aiSjgZzQ8HohSB/KGU/HBIdn0WSxMIx1W80RGI4flVOwdj3X/HT9ESJXq4V8qdRvMd0N/w2+sOB+ewl9JJX5ogR6y4+aHj8nQXv2tB92CQ1iDLktVdbcZPxhNM7CJkE2x/R3igWKozExcXGZkW60YLAG/eG6+UE6WspdPTpsRGnTITkbGWSS94YRYpyA2781DjXEqFP+7VATJT2lE4GQVttU54YlLxeNcFSzyeffhnSIj721k4cStqtsPMAGY6BKMABjKIb0h1CjLiMuIWSvk4t21Y+srMoBQBYbE1d5Fgw5qfHy1J5XyMgSydznhisA/5nuUbjJ9P/qiJotWPutAs8wzg+99jCIuZgEC86ug8R9jLmqH9Mny4Sqv7E9FjNm3rASrmnPbCTalT6lw6zhs0T3cZJnlBT9RVsXOBzDBi76HB3JT5zHotcKkSrQpNSnkEIR3kFQgz5rO0SefKIWDCjQztHmuPC9iKLx8kW57OqQmpLfhWJxq2o0B9soMJ1OxP7uarJkSbD34Iy2GoQnFBisJGsCwavSuXjyio6Th11oLKlOORufvd442oF+Cpn+kPgHfezySjkFp7ngDxI5N+LcyBX7vhncU5BFgus2VMRk2OZsVYm3QEPop3YjLmYc/p7A=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(36840700001)(46966006)(426003)(36860700001)(4326008)(36756003)(44832011)(2616005)(508600001)(336012)(86362001)(83380400001)(47076005)(8936002)(8676002)(6666004)(1076003)(81166007)(5660300002)(110136005)(70586007)(316002)(70206006)(7696005)(186003)(82310400003)(2906002)(26005)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:26:16.6186
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ba97dedd-24f5-420e-f440-08d95cb273db
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT029.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB2955

Xen x86 has created a command line parameter "numa" as NUMA switch for
user to turn on/off NUMA. As device tree based NUMA has been enabled
for Arm, this parameter can be reused by Arm. So in this patch, we move
this parameter to common.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
 xen/arch/x86/numa.c    | 34 ----------------------------------
 xen/common/numa.c      | 35 ++++++++++++++++++++++++++++++++++-
 xen/include/xen/numa.h |  1 -
 3 files changed, 34 insertions(+), 36 deletions(-)

diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c
index 8b43be4aa7..380d8ed6fd 100644
--- a/xen/arch/x86/numa.c
+++ b/xen/arch/x86/numa.c
@@ -11,7 +11,6 @@
 #include <xen/nodemask.h>
 #include <xen/numa.h>
 #include <xen/keyhandler.h>
-#include <xen/param.h>
 #include <xen/time.h>
 #include <xen/smp.h>
 #include <xen/pfn.h>
@@ -19,9 +18,6 @@
 #include <xen/sched.h>
 #include <xen/softirq.h>
 
-static int numa_setup(const char *s);
-custom_param("numa", numa_setup);
-
 #ifndef Dprintk
 #define Dprintk(x...)
 #endif
@@ -50,35 +46,6 @@ void numa_set_node(int cpu, nodeid_t node)
     cpu_to_node[cpu] = node;
 }
 
-/* [numa=off] */
-static __init int numa_setup(const char *opt)
-{
-    if ( !strncmp(opt,"off",3) )
-        numa_off = true;
-    else if ( !strncmp(opt,"on",2) )
-        numa_off = false;
-#ifdef CONFIG_NUMA_EMU
-    else if ( !strncmp(opt, "fake=", 5) )
-    {
-        numa_off = false;
-        numa_fake = simple_strtoul(opt+5,NULL,0);
-        if ( numa_fake >= MAX_NUMNODES )
-            numa_fake = MAX_NUMNODES;
-    }
-#endif
-#ifdef CONFIG_ACPI_NUMA
-    else if ( !strncmp(opt,"noacpi",6) )
-    {
-        numa_off = false;
-        acpi_numa = -1;
-    }
-#endif
-    else
-        return -EINVAL;
-
-    return 0;
-} 
-
 /*
  * Setup early cpu_to_node.
  *
@@ -287,4 +254,3 @@ static __init int register_numa_trigger(void)
     return 0;
 }
 __initcall(register_numa_trigger);
-
diff --git a/xen/common/numa.c b/xen/common/numa.c
index 88f1594127..c98eb8d571 100644
--- a/xen/common/numa.c
+++ b/xen/common/numa.c
@@ -14,8 +14,12 @@
 #include <xen/smp.h>
 #include <xen/pfn.h>
 #include <xen/sched.h>
+#include <xen/param.h>
 #include <asm/acpi.h>
 
+static int numa_setup(const char *s);
+custom_param("numa", numa_setup);
+
 struct node_data node_data[MAX_NUMNODES];
 
 /* Mapping from pdx to node id */
@@ -324,7 +328,7 @@ int __init numa_scan_nodes(u64 start, u64 end)
 }
 
 #ifdef CONFIG_NUMA_EMU
-int numa_fake __initdata = 0;
+static int numa_fake __initdata = 0;
 
 /* Numa emulation */
 static int __init numa_emulation(u64 start_pfn, u64 end_pfn)
@@ -409,3 +413,32 @@ void __init numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn)
     /* architecture specified fallback operations */
     arch_numa_init_failed_fallback();
 }
+
+/* [numa=off] */
+static __init int numa_setup(const char *opt)
+{
+    if ( !strncmp(opt,"off",3) )
+        numa_off = true;
+    else if ( !strncmp(opt,"on",2) )
+        numa_off = false;
+#ifdef CONFIG_NUMA_EMU
+    else if ( !strncmp(opt, "fake=", 5) )
+    {
+        numa_off = false;
+        numa_fake = simple_strtoul(opt+5,NULL,0);
+        if ( numa_fake >= MAX_NUMNODES )
+            numa_fake = MAX_NUMNODES;
+    }
+#endif
+#ifdef CONFIG_ACPI_NUMA
+    else if ( !strncmp(opt,"noacpi",6) )
+    {
+        numa_off = false;
+        acpi_numa = -1;
+    }
+#endif
+    else
+        return -EINVAL;
+
+    return 0;
+}
diff --git a/xen/include/xen/numa.h b/xen/include/xen/numa.h
index b9b5d1ad88..c647fef736 100644
--- a/xen/include/xen/numa.h
+++ b/xen/include/xen/numa.h
@@ -83,7 +83,6 @@ extern void numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn);
 extern void numa_set_node(int cpu, nodeid_t node);
 extern int numa_scan_nodes(u64 start, u64 end);
 extern bool numa_off;
-extern int numa_fake;
 extern s8 acpi_numa;
 
 extern void setup_node_bootmem(nodeid_t nodeid, u64 start, u64 end);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:31:05 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:31:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165696.302803 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlVp-0002E1-Qp; Wed, 11 Aug 2021 10:31:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165696.302803; Wed, 11 Aug 2021 10: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 1mDlVp-0002DI-JS; Wed, 11 Aug 2021 10:31:05 +0000
Received: by outflank-mailman (input) for mailman id 165696;
 Wed, 11 Aug 2021 10:31:03 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlTw-0000BQ-Jl
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:29:08 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com (unknown
 [2a01:111:f400:7e1a::60d])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 30ccf2c0-2a42-4497-92e0-c621481b8df3;
 Wed, 11 Aug 2021 10:26:14 +0000 (UTC)
Received: from AS8P250CA0006.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:330::11)
 by AM6PR08MB4215.eurprd08.prod.outlook.com (2603:10a6:20b:90::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.16; Wed, 11 Aug
 2021 10:26:12 +0000
Received: from AM5EUR03FT008.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:330:cafe::9b) by AS8P250CA0006.outlook.office365.com
 (2603:10a6:20b:330::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16 via Frontend
 Transport; Wed, 11 Aug 2021 10:26:12 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT008.mail.protection.outlook.com (10.152.16.123) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:26:12 +0000
Received: ("Tessian outbound ab45ca2b67bc:v101");
 Wed, 11 Aug 2021 10:26:12 +0000
Received: from df66873e980b.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F6BB0B95-9AE4-4090-AC77-AC10317BAE2F.1; 
 Wed, 11 Aug 2021 10:26:05 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id df66873e980b.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:26:05 +0000
Received: from DB6P191CA0007.EURP191.PROD.OUTLOOK.COM (2603:10a6:6:28::17) by
 VE1PR08MB5662.eurprd08.prod.outlook.com (2603:10a6:800:1a9::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.14; Wed, 11 Aug
 2021 10:26:04 +0000
Received: from DB5EUR03FT017.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:6:28:cafe::d1) by DB6P191CA0007.outlook.office365.com
 (2603:10a6:6:28::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15 via Frontend
 Transport; Wed, 11 Aug 2021 10:26:04 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT017.mail.protection.outlook.com (10.152.20.114) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:26:04 +0000
Received: from AZ-NEU-EX01.Emea.Arm.com (10.251.26.4) by AZ-NEU-EX04.Arm.com
 (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:26:02 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX01.Emea.Arm.com
 (10.251.26.4) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2308.14; Wed, 11
 Aug 2021 10:26:03 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:26: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: 30ccf2c0-2a42-4497-92e0-c621481b8df3
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MAOWUGxgQoZW9KSsCECQDLvP30ypWGfceAqtMnccDqI=;
 b=0+4RNNd9rIzQDgMAZALu0X/PrFSt9qdft4P+rkUzUMghkKU9bR60hBlQKUbxq4ywXjfgKL0AbUKj2F0/PgBdvxN2ppOMuMzbbSH0NXUCkFaBihmsUPt0Q5/tt6Td2QHnJVDuYcthe1mXldeBBuLJ+9bBK8YjGtSLS17C89M+L3A=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: b6f26dd225189abc
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ma7/fIYPLSgdIXfB2wv9QOcLAZfjTbs6vUWBgFXoHaL9/QBaRnpGXtdx21iz77YyJ1wPDyZvnKzD3q42oJGk9fmJcm/DYUx7eL80zQgLxnAw0zv6zA7x2dNEuQJsz4wChxeYKNWshajZRKNgoS9gwbRZ1KzgrEVPrHHIXKRAcsgl8wG/jUVZGviMN/tfkSRuaQfA+vYvpK7+qCAbjSQnVR1So2WDpwBGNKeUC9h5UQQKHnnEBHBQ44jsW/YvWPV3rurF41O9wk78kEj+LG61K3Dx36xO2sEAShBtjEqlURwAsKmwqqiw8XFxowUShOrS1unQZcYygAG5wJHZfbFdGA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MAOWUGxgQoZW9KSsCECQDLvP30ypWGfceAqtMnccDqI=;
 b=PT8zSMHRUUPiVjBkXZEG2zUZRCGcFkUehTqGhc8+5HL5jYQXa464g9BFGfRJALUzztrccMMHfHarmwJqw3eK8lhrXWadWmoZScEPBRIf2AfgHaaOuKCDdaNX+Ydh4VCqMs/6rtZ12JXLXpc16f1aAgHy7bjrrRedUy8yHLzf4uRKDj7lg6sAypF87xGdsddFpO5od5jyNA08bS1jQlgUdHsFha+CGPhj95bWsxzgIFtecMd9gpkoWB/zAU8kbQd9LuzRjRFj3F19xjXJnbYsksoGNPkgNC2LeyXZVcWHRZCcHqgUaAX2yoZcDId6c9lRCJfmGGnPARE24PkT1XULVw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MAOWUGxgQoZW9KSsCECQDLvP30ypWGfceAqtMnccDqI=;
 b=0+4RNNd9rIzQDgMAZALu0X/PrFSt9qdft4P+rkUzUMghkKU9bR60hBlQKUbxq4ywXjfgKL0AbUKj2F0/PgBdvxN2ppOMuMzbbSH0NXUCkFaBihmsUPt0Q5/tt6Td2QHnJVDuYcthe1mXldeBBuLJ+9bBK8YjGtSLS17C89M+L3A=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 37/40] xen: introduce an arch helper to do NUMA init failed fallback
Date: Wed, 11 Aug 2021 18:24:20 +0800
Message-ID: <20210811102423.28908-38-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 2451caa0-5cc1-473a-39a1-08d95cb27177
X-MS-TrafficTypeDiagnostic: VE1PR08MB5662:|AM6PR08MB4215:
X-Microsoft-Antispam-PRVS:
	<AM6PR08MB4215BB62E57233A9131A1A7A9EF89@AM6PR08MB4215.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:1284;OLM:1284;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 MOJeYIqZ+6SGZoYBf5ezJYX/hRMcbW/Wfwq+39tVgYTnplpTIYhjD2+3+wo19UDIcDL5yTr2ru4gZ0guzj8UV5ms9Z5rLrAnGo16YIP/vig3KUAWpRAsDuTYSwjvOAns9ocTm8qxCl3Xx9JEgvHnzKdQyoLaxoO+ehbZA+xQaSklsVbug2kj8/l2S0ZlwKEnEkOTorcS6rKB02gFKa0fI6H3RiqYSdEwU5yrb2ZMYJ7jbTfYcNTb1BJg0M15b2XfTmc87hJp+tnvRYXjvPF02CQ9pDEOvEZ9/U6oVsYW3X0Zb+OSV6Da5sb+CjkNhByIjgTiaNGef1FkjlBKf6qq4aJIGmr1gcGzAxyhFa4xVjAwt7HdUFxQzuDiJup7xGaoIP4LpBJXXSh1avoPGoakgkZxxGkJQA5UjYAsvrMdqW+eD5vr4HcVbLnD2FBB1gQ+y3Jy7Prgc1T2KCsPKL4OJUxxfBmgPRraz8XuGuYs+IeD14NDCfxsdfVLIrvakUUok73mI+kUxVehjvXg6IbPAfagqVQofVGYmTp+J58CPPFWfc9cLXiS7BRAyir961D6YXrN7eBV0E1nCBNKS6cNFyqcmadPGD4uuVDi9/b1xY9TFp9QTDLzdDxJMg/7me8gsBuxf2ibXNg7WPwpD4Qim9R7A5NdiuRGcME9mfvcyipnFnl4RmjT4YoIfTQMkX6J0WW/7+SpWCmtbxxabbWRfbDyhg+nIHo+uZmp1qq4aJ+IWmJ/BUsVYGGJ8rTBpqE+p9ybF4+eIJFTeNhWxXCMDqa0qrtSudUAnNbfrk35hSA=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(46966006)(36840700001)(2906002)(4326008)(5660300002)(86362001)(508600001)(82310400003)(8936002)(81166007)(34070700002)(426003)(336012)(36860700001)(26005)(6666004)(316002)(36756003)(83380400001)(186003)(47076005)(110136005)(356005)(70206006)(7696005)(44832011)(70586007)(8676002)(2616005)(1076003)(2101003)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5662
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT008.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	4cdb308f-d60a-4e02-1af6-08d95cb26c53
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	SLOi23Q+MPSbOEPvPLPBmDPVxQiDRIPyZSKL08R837unH/tBEzuw/3emZmyCHo/tj3wgVQhPJ9i/rC5Ix30LRDsokn3zxNJqbtoY90urf0wg7HUxoeMvlfNvLNJxpbWfeF/Aia01qFktfBZCiaCXFP9sC/LI+tk90qbRw3vYxHgJNKtRQzecgRW+Yw41fT+TTreZMdoZSOlQgAJyNP5Gv7JHVYIAMpr1vhF49efVgdIFYQ+Ri6xieR1c8sXjjg6tbn7kJr4j3KHjUK7QFWUdSDfGA1b4bSQkpjl9HRNJClWKfDMfvjtZvGnoeBw8kPM8hP6z6khuekyD0OQD4aPGUtUQiFrsbBOWiTii5i1F10Pue1EYKtTVms3rDdE9MSb+BRdlqKkANdkzkOvUDcexnNeuhYi2yKsm22yvZI02mwEJBj8teB6mQQdW1lq1//niQ7CNUcqj7CJIhKIg/RNwASEfsJgpKatEKb71TqAkekoRPRPGjU239Nyyd6Sgc7UY9rcEID2s8hAPdUw7gjCpcGEeSwyV7etOFq9ovGqYoPjaHWJRPAyVrcUe75L+5p+p3theGJV5GUQs/FvTsB2w8cTK8Jsn075q3mbxnFs6vTRlyt1EjUstP6vafpr4DISmDX+uwEEqPVHWlfe+7FilWyYEI32iqL9mIQf5uZ6q2M4vj8tS4ALqiQGrkgcwff9TqiY9gQ2pnWSTb05IC+75JqwKUojvMItGfAPJ9souOTk=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(346002)(376002)(396003)(39860400002)(136003)(46966006)(36840700001)(82310400003)(44832011)(86362001)(36860700001)(2906002)(83380400001)(47076005)(5660300002)(316002)(110136005)(8676002)(8936002)(82740400003)(1076003)(36756003)(70586007)(70206006)(426003)(7696005)(186003)(26005)(81166007)(4326008)(336012)(6666004)(2616005)(478600001)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:26:12.6619
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2451caa0-5cc1-473a-39a1-08d95cb27177
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT008.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4215

When Xen initialize NUMA failed, some architectures may need to
do fallback actions. For example, in device tree based NUMA, Arm
need to reset the distance between any two nodes.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
 xen/arch/arm/numa.c        | 13 +++++++++++++
 xen/common/numa.c          |  3 +++
 xen/include/asm-arm/numa.h |  1 +
 xen/include/asm-x86/numa.h |  6 ++++++
 4 files changed, 23 insertions(+)

diff --git a/xen/arch/arm/numa.c b/xen/arch/arm/numa.c
index 6eebf8e8bc..2a18c97470 100644
--- a/xen/arch/arm/numa.c
+++ b/xen/arch/arm/numa.c
@@ -140,3 +140,16 @@ int __init arch_meminfo_get_ram_bank_range(int bank,
 
 	return 0;
 }
+
+void __init arch_numa_init_failed_fallback(void)
+{
+    int i, j;
+
+    /* Reset all node distance to remote_distance */
+    for ( i = 0; i < MAX_NUMNODES; i++ ) {
+        for ( j = 0; j < MAX_NUMNODES; j++ ) {
+            numa_set_distance(i, j,
+                (i == j) ? NUMA_LOCAL_DISTANCE : NUMA_REMOTE_DISTANCE);
+        }
+    }
+}
diff --git a/xen/common/numa.c b/xen/common/numa.c
index d15c2fc311..88f1594127 100644
--- a/xen/common/numa.c
+++ b/xen/common/numa.c
@@ -405,4 +405,7 @@ void __init numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn)
     cpumask_copy(&node_to_cpumask[0], cpumask_of(0));
     setup_node_bootmem(0, (u64)start_pfn << PAGE_SHIFT,
                     (u64)end_pfn << PAGE_SHIFT);
+
+    /* architecture specified fallback operations */
+    arch_numa_init_failed_fallback();
 }
diff --git a/xen/include/asm-arm/numa.h b/xen/include/asm-arm/numa.h
index dd31324b0b..a3982a94b6 100644
--- a/xen/include/asm-arm/numa.h
+++ b/xen/include/asm-arm/numa.h
@@ -28,6 +28,7 @@ extern s8 device_tree_numa;
 extern void numa_init(bool acpi_off);
 extern int numa_device_tree_init(const void *fdt);
 extern void numa_set_distance(nodeid_t from, nodeid_t to, uint32_t distance);
+extern void arch_numa_init_failed_fallback(void);
 
 /*
  * Temporary for fake NUMA node, when CPU, memory and distance
diff --git a/xen/include/asm-x86/numa.h b/xen/include/asm-x86/numa.h
index e63869135c..26280b0f3a 100644
--- a/xen/include/asm-x86/numa.h
+++ b/xen/include/asm-x86/numa.h
@@ -22,4 +22,10 @@ extern void init_cpu_to_node(void);
 void srat_parse_regions(u64 addr);
 unsigned int arch_get_dma_bitsize(void);
 
+/* Dummy function for numa init failed in numa_initmem_init */
+static inline void arch_numa_init_failed_fallback(void)
+{
+    return;
+}
+
 #endif
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:31:06 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:31:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165698.302811 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlVq-0002Lv-An; Wed, 11 Aug 2021 10:31:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165698.302811; Wed, 11 Aug 2021 10:31:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlVq-0002Jy-0h; Wed, 11 Aug 2021 10:31:06 +0000
Received: by outflank-mailman (input) for mailman id 165698;
 Wed, 11 Aug 2021 10:31:04 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlRM-0000BQ-EM
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:26:28 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com (unknown
 [40.107.2.76]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 3146180f-42be-47ce-92a2-96b78428a5a2;
 Wed, 11 Aug 2021 10:25:36 +0000 (UTC)
Received: from DU2PR04CA0045.eurprd04.prod.outlook.com (2603:10a6:10:234::20)
 by PAXPR08MB7188.eurprd08.prod.outlook.com (2603:10a6:102:20a::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.14; Wed, 11 Aug
 2021 10:25:34 +0000
Received: from DB5EUR03FT052.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:234:cafe::b5) by DU2PR04CA0045.outlook.office365.com
 (2603:10a6:10:234::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:34 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT052.mail.protection.outlook.com (10.152.21.82) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.14 via Frontend Transport; Wed, 11 Aug 2021 10:25:34 +0000
Received: ("Tessian outbound 312d863716bf:v101");
 Wed, 11 Aug 2021 10:25:34 +0000
Received: from 6ed41c1450f4.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 9C0FF7C0-2993-441C-83FA-181B6A9C0AC6.1; 
 Wed, 11 Aug 2021 10:25:28 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 6ed41c1450f4.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:25:28 +0000
Received: from DB7PR02CA0009.eurprd02.prod.outlook.com (2603:10a6:10:52::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.4394.21; Wed, 11 Aug
 2021 10:25:27 +0000
Received: from DB5EUR03FT027.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:52:cafe::4d) by DB7PR02CA0009.outlook.office365.com
 (2603:10a6:10:52::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:27 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT027.mail.protection.outlook.com (10.152.20.121) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:25:27 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX03.Arm.com
 (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:25:20 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3146180f-42be-47ce-92a2-96b78428a5a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vNLCmK6o/BFFBB7IYOhSAdZku5C++eyuzlH2uW7CLH0=;
 b=aeCJXtoif4BhD+J4YNFBM/IUmssP/oAVlVwTxKjVuzApBrF/KZHt+SesE7jv/XNnIbml+2Z1GrdqTJv39zW5yJHw4gF5lgG+RoP8Nxr0OQiCfagg1/TU26wJaCwsuoK5KwwSk0YdPUlQVOI/dZ0dy3hJ3Zco+2xmc8lmu8Xp8hY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: fe3c316242becbc4
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=e3RYLdBH2XihTuLxNA/1NhEFa6pWijjibavw4gXxUozq4Gf9ejzy96yiVLV051y/Z5M56bWDq/Z3ksQFGOhe5jQMSnk3049mlZTEvsoZ78ssT0L9LlXUxWZKB1eGO4AP8CSTNkfcdm+YXWY1/6A5Kb9w+Kc8XAR2HCv13VGxZLsCmTiW7mWQwmknTLa+b8GoqEdEMd9Evjy6O+puU45L5X6Wm9CRAn4Eyv4ITQVidRDuldGQTPkyIoxF86j2k3zBEVustot+mbJPkPbKBrvKkKCVsH+Fcu88X/gSw6CWawYwgb0in4mv1839qypvmOBktP6EOuBPrA+GBuqE1JccSA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vNLCmK6o/BFFBB7IYOhSAdZku5C++eyuzlH2uW7CLH0=;
 b=nYedcGbvefpwtmW3iafVXHd9qREg97v+SKJDDnyWIEupjPRRsEa8I1aZFa6eZ8l3ST6ZGy3lgHfj/KaIBdIs3q7kc0A3Nwq8OBZyCN/GHoNMLctw6ijPGib/RMtJqR8FQ+RbZzI02C3BBPaLkas6UMyvTn68z8cuy75NfTO1VUTenFVMuAediAm7m/P36B2FF0sjJKzSoYxJDWDgjJxg97qKIKEofGaj3O/oqKKXaIlywXbE735Nwbbi9TeGGVSU13hU0gV/uBfdSjEdiRXLEVLqkRxwgspyVDh7Kk6xlTxjr8kPA52alpv5IBoAveQ1YpQZAlXdEvv7U5Rxq9oUQQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vNLCmK6o/BFFBB7IYOhSAdZku5C++eyuzlH2uW7CLH0=;
 b=aeCJXtoif4BhD+J4YNFBM/IUmssP/oAVlVwTxKjVuzApBrF/KZHt+SesE7jv/XNnIbml+2Z1GrdqTJv39zW5yJHw4gF5lgG+RoP8Nxr0OQiCfagg1/TU26wJaCwsuoK5KwwSk0YdPUlQVOI/dZ0dy3hJ3Zco+2xmc8lmu8Xp8hY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 20/40] xen/arm: implement node distance helpers for Arm64
Date: Wed, 11 Aug 2021 18:24:03 +0800
Message-ID: <20210811102423.28908-21-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 9173b6a8-9437-4cb3-4920-08d95cb25ad3
X-MS-TrafficTypeDiagnostic: AM8PR08MB6371:|PAXPR08MB7188:
X-Microsoft-Antispam-PRVS:
	<PAXPR08MB71887ECB8A74E3E5222892239EF89@PAXPR08MB7188.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:2449;OLM:2449;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 CNVNHijh+W6JKMq1eh1rG5Ca9MlwhxDgONSTYQ5v8WFdu2iiC1HCT9auBVf4YAok5U57NfbMR2NOewtLRM7NY/ubtMOCH2IMkCiGE/8TlPU6ePshjf4mGCzFn8ELAB/X6tjNtjWSUtXayxtHCRF7jr4dXlyglO8BJRMiI45NxxugvlmTa5m1c5ICW1kAJ5EMaqfHT7wOCrcPM4PFMvBp4eK7/yjojFxZ2uatECSTRGIS2E91o5eD/yBbrzgp8dYVHkHjSH3V9zzTPk1Lls5Jn+LqmBI3ulmLznkorudZj6DTu1miObucHi+z7eozO9fq5ITTNNRHva1Gtw+cCyXfJ2ekmje3nTDgahP69oQzT1/gOwlfnhfyjWpoUFApIf2KLpsHOjC3Z27MhEJPowmVPW3JNJArNglYoVBYaqrM4invtiuIH+/eP9hSD1R2hq5IplsV5JV0LmWrjysN3AU/fz04IO3EgINeC4U0JZuFwJv4dBZkUghnewmZH89UMxQ3zfktjOgTL+dNA0USEDTdFDBxPEmK0yh1bcQpsupbcUH+Wr426Xg3sMBSwcSVUbo706UVDBMO/IAIf9oZYtpV0SMARoipITU4CYJGEE94DeM+kwCgMIuLz+S3JgxNQM3TM3J1DdN5vrmgAxXsxU1N+R+LZYTYecCJfpG9DC2qB/vY5ibKS8bWXsScsLqhjr9tWdvPVZ/ZT2/Ouho8DDoN4RaTc5hLK6s4T/dm1YPFrSgUCaXwg3ZFdRSl5WTsYUVUKTkY/i6e4+eZz+9n4JJ+kQcThyvRxWZy8pTDh3ZzC3k=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(346002)(396003)(39860400002)(376002)(136003)(46966006)(36840700001)(186003)(2616005)(336012)(356005)(44832011)(81166007)(2906002)(83380400001)(426003)(82740400003)(8676002)(1076003)(86362001)(8936002)(47076005)(36860700001)(5660300002)(82310400003)(36756003)(34070700002)(478600001)(6666004)(70586007)(70206006)(4326008)(7696005)(316002)(110136005)(26005)(2101003)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB6371
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT052.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	646cedfa-6495-4223-9542-08d95cb25672
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	DsZmDzEGkesL6DQNt6wmLe9ROt5I/Fdaz5LaUAvEKdku/3XJcFoC12mHvEZBH83+R3rQ+wTPl/P+rMiIy9QmBPuHAB6QL+Qq8amgds7nJxctCijy/LrkasZdKv1H8EaBSkzb0zCq2KakxlQTR9fC6L31nSlHFwHGwt0ngfgZAHvbsUXxVQlweXTGmMtQHb+Ia32lYe9S/RW1IV1yRBbzpcfmBuMAWs7MPj9uKMw4DobJ11vYGH1DFW1nXDetMwHKaxfwkbx/5SjSWFzJlju5tTiwcoWZulXgaVi44j1+9kyp4oEiK5X1XviHI1P8jX1kbfDTxXnCeMLqg2C263uqHrbukTVLCSp+3GTuUxt/uW0me7ry7WdJc031zxMHHv65S3i9i0MhRVQpVViZJnNfbdTCuEbc+LdH3kOecH7Xt0jgbyDMSLtmR3n9dzEOAilRNTQGjZp1Hf2rmjoQuBMGaJre6vwgq+35Uk+5Wg9SJ9Aj41btPGbFw8NPEFMU+qtiLN6RwGs+Lhc9ntb3xYS/UY+LgjfT+GCaofiS86umPfFliwddULR7E3GjSO9a1GVqjy6N6LSfVb1F5qk1BTIaGfRYCkFLAR8wII8efLdDmgpR7mZ6iNZPUgJGq/aBG3E/cwKs3aVCunGAoxArPenleHkV3ZaYucD5PiPvAMul/5vdHCA1DmAp750hYuPuM9NWsAU/an4H+KyXinLyKhYOP2ZLfWhfX9l26m78B1g1AjM=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(136003)(376002)(396003)(346002)(39860400002)(46966006)(36840700001)(8676002)(7696005)(82740400003)(83380400001)(6666004)(70586007)(316002)(70206006)(110136005)(26005)(5660300002)(186003)(4326008)(8936002)(47076005)(82310400003)(1076003)(478600001)(86362001)(336012)(36756003)(81166007)(44832011)(2616005)(2906002)(426003)(36860700001)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:25:34.7286
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9173b6a8-9437-4cb3-4920-08d95cb25ad3
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT052.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB7188

In current Xen code, __node_distance is a fake API, it always
returns NUMA_REMOTE_DISTANCE(20). Now we use a matrix to record
the distance between any two nodes. Accordingly, we provide a
set_node_distance API to set the distance for any two nodes in
this patch.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
 xen/arch/arm/numa.c        | 44 ++++++++++++++++++++++++++++++++++++++
 xen/include/asm-arm/numa.h | 12 ++++++++++-
 xen/include/asm-x86/numa.h |  1 -
 xen/include/xen/numa.h     |  2 +-
 4 files changed, 56 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/numa.c b/xen/arch/arm/numa.c
index 566ad1e52b..f61a8df645 100644
--- a/xen/arch/arm/numa.c
+++ b/xen/arch/arm/numa.c
@@ -23,6 +23,11 @@
 #include <xen/pfn.h>
 #include <asm/setup.h>
 
+static uint8_t __read_mostly
+node_distance_map[MAX_NUMNODES][MAX_NUMNODES] = {
+    { NUMA_REMOTE_DISTANCE }
+};
+
 void numa_set_node(int cpu, nodeid_t nid)
 {
     if ( nid >= MAX_NUMNODES ||
@@ -32,6 +37,45 @@ void numa_set_node(int cpu, nodeid_t nid)
     cpu_to_node[cpu] = nid;
 }
 
+void __init numa_set_distance(nodeid_t from, nodeid_t to, uint32_t distance)
+{
+    if ( from >= MAX_NUMNODES || to >= MAX_NUMNODES )
+    {
+        printk(KERN_WARNING
+            "NUMA nodes are out of matrix, from=%u to=%u distance=%u\n",
+            from, to, distance);
+        return;
+    }
+
+    /* NUMA defines 0xff as an unreachable node and 0-9 are undefined */
+    if ( distance >= NUMA_NO_DISTANCE ||
+        (distance >= NUMA_DISTANCE_UDF_MIN &&
+         distance <= NUMA_DISTANCE_UDF_MAX) ||
+        (from == to && distance != NUMA_LOCAL_DISTANCE) )
+    {
+        printk(KERN_WARNING
+            "Invalid NUMA node distance, from:%d to:%d distance=%d\n",
+            from, to, distance);
+        return;
+    }
+
+    node_distance_map[from][to] = distance;
+}
+
+uint8_t __node_distance(nodeid_t from, nodeid_t to)
+{
+    /*
+     * Check whether the nodes are in the matrix range.
+     * When any node is out of range, except from and to nodes are the
+     * same, we treat them as unreachable (return 0xFF)
+     */
+    if ( from >= MAX_NUMNODES || to >= MAX_NUMNODES )
+        return from == to ? NUMA_LOCAL_DISTANCE : NUMA_NO_DISTANCE;
+
+    return node_distance_map[from][to];
+}
+EXPORT_SYMBOL(__node_distance);
+
 void __init numa_init(bool acpi_off)
 {
     uint32_t idx;
diff --git a/xen/include/asm-arm/numa.h b/xen/include/asm-arm/numa.h
index bb495a24e1..559b028a01 100644
--- a/xen/include/asm-arm/numa.h
+++ b/xen/include/asm-arm/numa.h
@@ -12,8 +12,19 @@ typedef u8 nodeid_t;
  * set the number of NUMA memory block number to 128.
  */
 #define NODES_SHIFT      6
+/*
+ * In ACPI spec, 0-9 are the reserved values for node distance,
+ * 10 indicates local node distance, 20 indicates remote node
+ * distance. Set node distance map in device tree will follow
+ * the ACPI's definition.
+ */
+#define NUMA_DISTANCE_UDF_MIN   0
+#define NUMA_DISTANCE_UDF_MAX   9
+#define NUMA_LOCAL_DISTANCE     10
+#define NUMA_REMOTE_DISTANCE    20
 
 extern void numa_init(bool acpi_off);
+extern void numa_set_distance(nodeid_t from, nodeid_t to, uint32_t distance);
 
 /*
  * Temporary for fake NUMA node, when CPU, memory and distance
@@ -21,7 +32,6 @@ extern void numa_init(bool acpi_off);
  * symbols will be removed.
  */
 extern mfn_t first_valid_mfn;
-#define __node_distance(a, b) (20)
 
 #else
 
diff --git a/xen/include/asm-x86/numa.h b/xen/include/asm-x86/numa.h
index 5a57a51e26..e0253c20b7 100644
--- a/xen/include/asm-x86/numa.h
+++ b/xen/include/asm-x86/numa.h
@@ -21,7 +21,6 @@ extern nodeid_t apicid_to_node[];
 extern void init_cpu_to_node(void);
 
 void srat_parse_regions(u64 addr);
-extern u8 __node_distance(nodeid_t a, nodeid_t b);
 unsigned int arch_get_dma_bitsize(void);
 
 #endif
diff --git a/xen/include/xen/numa.h b/xen/include/xen/numa.h
index cb08d2eca9..0475823b13 100644
--- a/xen/include/xen/numa.h
+++ b/xen/include/xen/numa.h
@@ -58,7 +58,7 @@ static inline __attribute__((pure)) nodeid_t phys_to_nid(paddr_t addr)
 #define node_spanned_pages(nid)	(NODE_DATA(nid)->node_spanned_pages)
 #define node_end_pfn(nid)       (NODE_DATA(nid)->node_start_pfn + \
 				 NODE_DATA(nid)->node_spanned_pages)
-
+extern u8 __node_distance(nodeid_t a, nodeid_t b);
 extern void numa_add_cpu(int cpu);
 
 struct node {
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:31:07 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:31:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165699.302819 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlVr-0002fx-6U; Wed, 11 Aug 2021 10:31:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165699.302819; Wed, 11 Aug 2021 10:31:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlVr-0002af-16; Wed, 11 Aug 2021 10:31:07 +0000
Received: by outflank-mailman (input) for mailman id 165699;
 Wed, 11 Aug 2021 10:31:04 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlRo-0002Qj-HN
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:26:56 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com (unknown
 [40.107.22.62]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 8e08efd0-fa8e-11eb-a052-12813bfff9fa;
 Wed, 11 Aug 2021 10:26:14 +0000 (UTC)
Received: from AM6PR10CA0007.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:209:89::20)
 by HE1PR08MB2841.eurprd08.prod.outlook.com (2603:10a6:7:35::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.21; Wed, 11 Aug
 2021 10:26:11 +0000
Received: from AM5EUR03FT062.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:89:cafe::14) by AM6PR10CA0007.outlook.office365.com
 (2603:10a6:209:89::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15 via Frontend
 Transport; Wed, 11 Aug 2021 10:26:11 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT062.mail.protection.outlook.com (10.152.17.120) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4394.16 via Frontend Transport; Wed, 11 Aug 2021 10:26:10 +0000
Received: ("Tessian outbound 79bfeeb089c1:v101");
 Wed, 11 Aug 2021 10:26:10 +0000
Received: from 82a657d6e15e.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 9E282BA0-67A4-406D-86BF-90752968C6BB.1; 
 Wed, 11 Aug 2021 10:26:04 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 82a657d6e15e.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:26:04 +0000
Received: from DB6PR0201CA0024.eurprd02.prod.outlook.com (2603:10a6:4:3f::34)
 by DB7PR08MB3017.eurprd08.prod.outlook.com (2603:10a6:5:1f::31) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13; Wed, 11 Aug
 2021 10:26:02 +0000
Received: from DB5EUR03FT036.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:3f:cafe::13) by DB6PR0201CA0024.outlook.office365.com
 (2603:10a6:4:3f::34) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13 via Frontend
 Transport; Wed, 11 Aug 2021 10:26:02 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT036.mail.protection.outlook.com (10.152.20.185) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:26:01 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX04.Arm.com
 (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:25:54 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:25: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: 8e08efd0-fa8e-11eb-a052-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6/ECE2NT3/W7SlQs3jvLDkVaHn4CW/xBcD06c9TPz4k=;
 b=UKPu+5QRDqqqeNBt76a0Fb94OLpU2gpgQiXW0INoRHhQBeWX5pSYHlSdPKmJgLTw4Vj/p6E/s/5J2cPOOaJRlN19VInwm+bMrEHz0oiGDuIt14Sl4z7kzotBYQ1r+2w/f17VzrLInwMwuCLDNHT3iZyX3EL71VFJ4gnV7OZwAlE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 4126685f348a2717
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=T7EO4JwNCvMHm3Zu6GYgi/r02kzZf7NpIIzwaVzZNmxepTVDDngCdWNStgxLKq3INWGALdZmg5LKTsIgJzoXUtYYOO/c7OGl0EtwGJRN3rnzq43P4VuDlNUcQ/7AyIvfRpZhPNYDBZYWssvkfT5sBd/IKawyYADFm7lUHKid1fTgjbZPQ8J6uJ9qALaVCFFFu3fEtPH1IEtGy9IHwjMMWvj5L20fODJwePj/QmoejPalI/niU6hi9YQJQiYvfbYcZUN8MiMhjFDiSI6vr4gcyHe1T1RRPH1SEz0HROeJsP46LlKno98Mc1fzlxoxp1p8EWytTfdh4vMVJzIED5cVdg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6/ECE2NT3/W7SlQs3jvLDkVaHn4CW/xBcD06c9TPz4k=;
 b=WLYW65VYpF2lLbEBSK6+5a4XcQqLWxC+Ny64GhjQfAioWBPntVh8SYRin/0CEF9VDF9zw/raTxlwO0/oxFf+DyDj4/V8G2ob3d7fHZGWSrfmPpMbTPwvNw0ne8wb46DzvH8fp4CwYDwqrQpndYIuIiGLuZ1IJNXSWiac6W/eLjvIXs+r749wPXYK5+mfiRj4rOYne4fsL5lB3hkRjO+xymcUsN+jHgDx1xP6FwVkbx0Ul5I/Dd4s25mNAh0gqq35R3vq+71CbEgyr5XhqzKw/jEEU+vqz+ls/oSfejbg9cNKiujRvIl22lU1H1pQP06186ocln2VW+iwTYqkLA1ggg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6/ECE2NT3/W7SlQs3jvLDkVaHn4CW/xBcD06c9TPz4k=;
 b=UKPu+5QRDqqqeNBt76a0Fb94OLpU2gpgQiXW0INoRHhQBeWX5pSYHlSdPKmJgLTw4Vj/p6E/s/5J2cPOOaJRlN19VInwm+bMrEHz0oiGDuIt14Sl4z7kzotBYQ1r+2w/f17VzrLInwMwuCLDNHT3iZyX3EL71VFJ4gnV7OZwAlE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 34/40] xen: move numa_scan_nodes from x86 to common
Date: Wed, 11 Aug 2021 18:24:17 +0800
Message-ID: <20210811102423.28908-35-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ca887c00-64f1-44db-20fb-08d95cb2703e
X-MS-TrafficTypeDiagnostic: DB7PR08MB3017:|HE1PR08MB2841:
X-Microsoft-Antispam-PRVS:
	<HE1PR08MB2841C29D87FF1BEFE2EF16529EF89@HE1PR08MB2841.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:1360;OLM:1360;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 i9gsGn94WEJQSwxMutINQSdy20MM2TjbDHpdMk6ZmJ3mBIaYdk99y8vEO5iU0Yufhz4lTsDo3NXtj+lhFTdkku6SVqI+DLY33RnPoEPCrJAj2AGrvEvWjIj/F/uYnFvdTMGJIdPucDdq2Pk4G1ZalYrDvXB0pw1BV7n1FmKpU7x/OTbmtoCSKkaCIGGPpBR+YRx0JkwRWA5hn4UbH3EyY23WORLuJO9w56TBFwV7p9FWgkX+pGTrLCdrlmIlvBxmQeSuoAUyB68y1ZaTCoZMxyukbkAl+h4RpPxrWWG2WX1lI6pz5uezbGQzTiGur7D8JLCvkHRnyWiSWtkQws536BbqvmWE5Vj8hg/GPZ9zsdl9T8avR48d+X1o/M9PxRkOLXWrA/aQwtKwdNz/S+XjjYBsFD4YYOi1X87+trMHPsR28LjywF6VqI+5mz251psBJ/ZhP0/138TbwUkCDKzmh6R/JE4qNGrcDfCQLykYAmhCsDi4w5R1dwy8ISI/3mfT68t53MvyU9z157Ki4WKCk8dG4xbU2RmUWvToJzieIan4Ps1ou2L6wcx3C1AtUShlp2LkAhyeGzKAVCln6LOe9x+3VAw9ov5V8yoVcYTyzseiJewlxmr8sr/ZlMRXyXuSOjp9uZPkUO7/sbWAcOVJNeqEOgvoiyWwV4FK6mgOJLhveXAXtnzm25MP+jw0ysBHSPGgJVxKro+031KNa0iNOsaPymtO1K3kg9ngCZzM5otg4FBMt8GK5QRJg29/VPXYiRV6Wse3aEezwwMv/KeMf6DsKCZi1GoCmpEVI9gsszg=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(36840700001)(46966006)(83380400001)(5660300002)(508600001)(2616005)(44832011)(7696005)(36756003)(1076003)(336012)(34070700002)(356005)(81166007)(82310400003)(70586007)(70206006)(6666004)(8936002)(86362001)(186003)(8676002)(36860700001)(47076005)(2906002)(110136005)(316002)(4326008)(26005)(426003)(2101003)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3017
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT062.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	9f0b1209-d713-4618-192a-08d95cb26b13
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	kns4oty07p6maIH0Ss47TfwTWSGoVzrjkHBOsGEGTq0UZbX1+vGeauQBsO893+CNNQI6EwvjUoXpCkPSrh4asEhFlSbSnaMMUhx/thn9rbPqApmgLSZDuPfhxArmuPXnSU/c1kinq0j0Kbjq4Adei0qqC8crLZsMuUmFEhDHC2k9jhgIm8pgWW3Eg+2tATI8KvbToJKfWV47Fy1sr8tFONiyeuLbpVi/7BT3vsqRbKLBYFBPK7v413eHBj8zbzD4SJQHi3znDNmA6DyZmqZjSCi93u8KAXwKeAaR6tlg6geL90UbVt9gDpd5Zp2WfuYkRbDEN4eBYrao0whLZh6IZuwc9JB8OgbJaid5HismfhiihU0y27CCBx1yI1ZoPEZLn/QP8sJHg4synSToOKxBd2RyzABaLFJb8/DBwGnNOMrNSGSEkNXl8QTg0bXiTzYC1LaKJSLImQzH1VmvE/rVcGvEP6xy9+w+4c1FLs15D31w4omFYwV4eBlGYzfJx5xJwGGL8V1GHfcYevVQdNmlhJOIbBLpcniKqU7Xf4IAy2QHO0RRIjivL+rULwVcS7jVWOEeFJX3vlGJ1ePDkjN35UdTWwybjYJHCC81UEzQ2PLUjVR8qxwmAoCsv7rMT/cLIFU8CbOhpU0h8JT17GEX12ml05pLz1mUTSDaTmpRYZMBOkkARuIif5+/Rg9F3FyHj39EkEXtcMWXEPl9I1nS5wgdIoJny2u4t9qQJKU4dHg=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(346002)(39850400004)(376002)(396003)(136003)(46966006)(36840700001)(70586007)(82740400003)(82310400003)(36860700001)(478600001)(26005)(36756003)(7696005)(83380400001)(70206006)(6666004)(336012)(86362001)(1076003)(110136005)(2616005)(5660300002)(4326008)(44832011)(316002)(186003)(47076005)(426003)(8936002)(2906002)(8676002)(81166007)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:26:10.6130
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ca887c00-64f1-44db-20fb-08d95cb2703e
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT062.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR08MB2841

After the previous patches preparations, numa_scan_nodes can be
used by Arm and x86. So we move this function from x86 to common.
As node_cover_memory will not be used cross files, we restore its
static attribute in this patch.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
 xen/arch/x86/srat.c        | 52 ------------------------------------
 xen/common/numa.c          | 54 +++++++++++++++++++++++++++++++++++++-
 xen/include/asm-x86/acpi.h |  3 ---
 xen/include/xen/numa.h     |  3 ++-
 4 files changed, 55 insertions(+), 57 deletions(-)

diff --git a/xen/arch/x86/srat.c b/xen/arch/x86/srat.c
index c979939fdd..c9f019c307 100644
--- a/xen/arch/x86/srat.c
+++ b/xen/arch/x86/srat.c
@@ -361,58 +361,6 @@ void __init srat_parse_regions(u64 addr)
 	pfn_pdx_hole_setup(mask >> PAGE_SHIFT);
 }
 
-/* Use the information discovered above to actually set up the nodes. */
-int __init numa_scan_nodes(u64 start, u64 end)
-{
-	int i;
-	nodemask_t all_nodes_parsed;
-
-	/* First clean up the node list */
-	for (i = 0; i < MAX_NUMNODES; i++)
-		cutoff_node(i, start, end);
-
-#ifdef CONFIG_ACPI_NUMA
-	if (acpi_numa <= 0)
-		return -1;
-#endif
-
-	if (!nodes_cover_memory()) {
-		bad_srat();
-		return -1;
-	}
-
-	memnode_shift = compute_hash_shift(node_memblk_range, num_node_memblks,
-				memblk_nodeid);
-
-	if (memnode_shift < 0) {
-		printk(KERN_ERR
-		     "SRAT: No NUMA node hash function found. Contact maintainer\n");
-		bad_srat();
-		return -1;
-	}
-
-	nodes_or(all_nodes_parsed, memory_nodes_parsed, processor_nodes_parsed);
-
-	/* Finally register nodes */
-	for_each_node_mask(i, all_nodes_parsed)
-	{
-		u64 size = nodes[i].end - nodes[i].start;
-		if ( size == 0 )
-			printk(KERN_WARNING "SRAT: Node %u has no memory. "
-			       "BIOS Bug or mis-configured hardware?\n", i);
-
-		setup_node_bootmem(i, nodes[i].start, nodes[i].end);
-	}
-	for (i = 0; i < nr_cpu_ids; i++) {
-		if (cpu_to_node[i] == NUMA_NO_NODE)
-			continue;
-		if (!nodemask_test(cpu_to_node[i], &processor_nodes_parsed))
-			numa_set_node(i, NUMA_NO_NODE);
-	}
-	numa_init_array();
-	return 0;
-}
-
 static unsigned node_to_pxm(nodeid_t n)
 {
 	unsigned i;
diff --git a/xen/common/numa.c b/xen/common/numa.c
index 4152bbe83b..8ca13e27d1 100644
--- a/xen/common/numa.c
+++ b/xen/common/numa.c
@@ -195,7 +195,7 @@ void __init cutoff_node(int i, u64 start, u64 end)
 
 /* Sanity check to catch more bad SRATs (they are amazingly common).
    Make sure the PXMs cover all memory. */
-int __init nodes_cover_memory(void)
+static int __init nodes_cover_memory(void)
 {
 	int i;
 	uint32_t nr_banks = arch_meminfo_get_nr_bank();
@@ -271,6 +271,58 @@ void __init numa_init_array(void)
     }
 }
 
+/* Use the information discovered above to actually set up the nodes. */
+int __init numa_scan_nodes(u64 start, u64 end)
+{
+	int i;
+	nodemask_t all_nodes_parsed;
+
+	/* First clean up the node list */
+	for (i = 0; i < MAX_NUMNODES; i++)
+		cutoff_node(i, start, end);
+
+#ifdef CONFIG_ACPI_NUMA
+	if (acpi_numa <= 0)
+		return -1;
+#endif
+
+	if (!nodes_cover_memory()) {
+		bad_srat();
+		return -1;
+	}
+
+	memnode_shift = compute_hash_shift(node_memblk_range, num_node_memblks,
+				memblk_nodeid);
+
+	if (memnode_shift < 0) {
+		printk(KERN_ERR
+		     "SRAT: No NUMA node hash function found. Contact maintainer\n");
+		bad_srat();
+		return -1;
+	}
+
+	nodes_or(all_nodes_parsed, memory_nodes_parsed, processor_nodes_parsed);
+
+	/* Finally register nodes */
+	for_each_node_mask(i, all_nodes_parsed)
+	{
+		u64 size = nodes[i].end - nodes[i].start;
+		if ( size == 0 )
+			printk(KERN_WARNING "SRAT: Node %u has no memory. "
+			       "BIOS Bug or mis-configured hardware?\n", i);
+
+		setup_node_bootmem(i, nodes[i].start, nodes[i].end);
+	}
+	for (i = 0; i < nr_cpu_ids; i++) {
+		if (cpu_to_node[i] == NUMA_NO_NODE)
+			continue;
+		if (!nodemask_test(cpu_to_node[i], &processor_nodes_parsed))
+			numa_set_node(i, NUMA_NO_NODE);
+	}
+	numa_init_array();
+	return 0;
+}
+
 #ifdef CONFIG_NUMA_EMU
 int numa_fake __initdata = 0;
 
diff --git a/xen/include/asm-x86/acpi.h b/xen/include/asm-x86/acpi.h
index 33b71dfb3b..2140461ff3 100644
--- a/xen/include/asm-x86/acpi.h
+++ b/xen/include/asm-x86/acpi.h
@@ -101,9 +101,6 @@ extern unsigned long acpi_wakeup_address;
 
 #define ARCH_HAS_POWER_INIT	1
 
-extern s8 acpi_numa;
-extern int numa_scan_nodes(u64 start, u64 end);
-
 extern struct acpi_sleep_info acpi_sinfo;
 #define acpi_video_flags bootsym(video_flags)
 struct xenpf_enter_acpi_sleep;
diff --git a/xen/include/xen/numa.h b/xen/include/xen/numa.h
index 490381bd13..b9b5d1ad88 100644
--- a/xen/include/xen/numa.h
+++ b/xen/include/xen/numa.h
@@ -81,8 +81,10 @@ extern void bad_srat(void);
 extern void numa_init_array(void);
 extern void numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn);
 extern void numa_set_node(int cpu, nodeid_t node);
+extern int numa_scan_nodes(u64 start, u64 end);
 extern bool numa_off;
 extern int numa_fake;
+extern s8 acpi_numa;
 
 extern void setup_node_bootmem(nodeid_t nodeid, u64 start, u64 end);
 
@@ -94,7 +96,6 @@ static inline void clear_node_cpumask(int cpu)
 extern uint32_t arch_meminfo_get_nr_bank(void);
 extern int arch_meminfo_get_ram_bank_range(int bank,
     unsigned long long *start, unsigned long long *end);
-extern int nodes_cover_memory(void);
 
 #endif /* CONFIG_NUMA */
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:31:08 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:31:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165700.302827 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlVr-0002ob-Qb; Wed, 11 Aug 2021 10:31:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165700.302827; Wed, 11 Aug 2021 10:31:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlVr-0002lo-IC; Wed, 11 Aug 2021 10:31:07 +0000
Received: by outflank-mailman (input) for mailman id 165700;
 Wed, 11 Aug 2021 10:31:04 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlSP-0000BQ-G1
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:27:33 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com (unknown
 [40.107.6.51]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id eeacf4f9-42c6-4494-8f8a-07b54b30723f;
 Wed, 11 Aug 2021 10:25:58 +0000 (UTC)
Received: from AM6P191CA0108.EURP191.PROD.OUTLOOK.COM (2603:10a6:209:8a::49)
 by PA4PR08MB6014.eurprd08.prod.outlook.com (2603:10a6:102:ee::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.14; Wed, 11 Aug
 2021 10:25:48 +0000
Received: from VE1EUR03FT015.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:8a:cafe::22) by AM6P191CA0108.outlook.office365.com
 (2603:10a6:209:8a::49) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:48 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT015.mail.protection.outlook.com (10.152.18.176) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:25:48 +0000
Received: ("Tessian outbound ab45ca2b67bc:v101");
 Wed, 11 Aug 2021 10:25:48 +0000
Received: from ca4836320fdc.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 53EFEF69-6DE1-4D6A-A5C6-ED460416405A.1; 
 Wed, 11 Aug 2021 10:25:42 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ca4836320fdc.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:25:42 +0000
Received: from DU2PR04CA0060.eurprd04.prod.outlook.com (2603:10a6:10:234::35)
 by DB9PR08MB6875.eurprd08.prod.outlook.com (2603:10a6:10:2aa::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Wed, 11 Aug
 2021 10:25:38 +0000
Received: from DB5EUR03FT052.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:234:cafe::96) by DU2PR04CA0060.outlook.office365.com
 (2603:10a6:10:234::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:38 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT052.mail.protection.outlook.com (10.152.21.82) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.14 via Frontend Transport; Wed, 11 Aug 2021 10:25:38 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX03.Arm.com
 (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:25:32 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 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: eeacf4f9-42c6-4494-8f8a-07b54b30723f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mV9BMQM6jBgOu/GpZfRnWjx48k73m+HxXIGWUQtTgGA=;
 b=rfU/w3FC4h+c2JHSWmjEeCj2tWYArDc1ucexFfoz2uXTDGpTKiy/uFXKTA8vXa8mDBK5nparKIhYujS2CWcMPXK/XINdJ3dfzNXI+tl1LAxrnqW/gdK5HLXabvDh4KHmRFhXFUx9Ox0LkF9i+zz9A6Oc3TH0ZUjn8aLQRXtr6mU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 57b47ae374b91047
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CdmcxWMgVcDZ2Kq1VYadjPEeHePOsXwr70osTNjId9KKwbG6W4xfQEr4FhWTptrLXmRuT0iYJjKXOyZwcIuRIsdU8zsi7OqMsBxDlo3V+bLbIQq240sjNWHe3bYJjctqGM2bZtbPRxID2gdg+qZUZQysX+yhlRkDL2PM98R2bxvSngKEzSt6OEKLpRdAtp7A0fUXvXGu+JvKw7JOTLLMIGROsgTlY9HVCU/DZjiQHYCUd/kuQzcr3cZr+qGgr4eVNwagMn1sxtedtkenPtcMrRDg6MRfgFXJaNKCWD8u/H45Ilp4oIMgsgM5V43lS3etmvRC78+gPadTXiK+YUdRVg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mV9BMQM6jBgOu/GpZfRnWjx48k73m+HxXIGWUQtTgGA=;
 b=g9Np371fJbeXX8zwgTdBWx1SqE7F8Fwd7QOczF4EZXI3QlA4ZGrYCWhK5DHQow+Skk1TvJrDHYtY/SXm5W4DhToatgF7a5NCPDLn7Vew/AHDEyA97jOjOipc7nRDBQzkVbCHj2Qz/LSvB3FbEpFMjTJZKPbK1nooRg1rN1YTxZPi7lK4sD5OknLzM7ifhTHzyXeRjuTQR0S+972/L5WjHGPjRpQvw7E3brWDZr5EeB4ggGCGRQoIa93g6RwEKgIPcIn/OLY12cCc3Q+PX9cQqje0iISLDNzLQEvI1kFEfgdMq+xXfBjrbwP7+9WOG+K3yvPf//uUu7X8VGqR35YyxA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mV9BMQM6jBgOu/GpZfRnWjx48k73m+HxXIGWUQtTgGA=;
 b=rfU/w3FC4h+c2JHSWmjEeCj2tWYArDc1ucexFfoz2uXTDGpTKiy/uFXKTA8vXa8mDBK5nparKIhYujS2CWcMPXK/XINdJ3dfzNXI+tl1LAxrnqW/gdK5HLXabvDh4KHmRFhXFUx9Ox0LkF9i+zz9A6Oc3TH0ZUjn8aLQRXtr6mU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 25/40] xen/arm: unified entry to parse all NUMA data from device tree
Date: Wed, 11 Aug 2021 18:24:08 +0800
Message-ID: <20210811102423.28908-26-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: dfd8cd3c-959c-4a1b-6b66-08d95cb2630b
X-MS-TrafficTypeDiagnostic: DB9PR08MB6875:|PA4PR08MB6014:
X-Microsoft-Antispam-PRVS:
	<PA4PR08MB601423D37AAA6BE2CE96F8559EF89@PA4PR08MB6014.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:4502;OLM:4502;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 65NLayJa2Eg0Naw+roDr1MpisV0vjwrFSWA9O1Q1ZzokcaCdCVV//YQ0hY0Bkt/ejdycNMTicYDDkWGudYlGdJQ0BGN+/fy96t4SozOzve8i5bHgLEJcXATi9GqNEoIPMmVQwhdNht8yhQYNTKC27MgbAfv0lqrhhaebNJfAUGGW8hzABjNVLo7FC2jtbUQFF5uuId9HGwJu+/JmDew40JZV7CB+XMogahl6MN/JC7i0lRlcwcf0VjduljXLBqnZc/YfnzsSTSV4/GNHU8HRvuJXMH9VOYYraNsA9LNrhanfCOwfEljRw4TWJFU7WalAnNm02ctHAaX8ORjMtEYJ4u3YL+vAtS8GFTm2toO5BEDaNy3rIyhmLWmBPlQlPCxJmJW1yY2m8KQGBSz14WtYCm9FivqF+9BmAzY+zSsOjo2GQhjprybE8HjvBcqtKAfdcH2AGnUOBQyf+jEZcqztMoivbscqEPHSPXXwMppIJGU0Huh2RxBiVwHi7CTHvWApDDDy2NDMO2MpiK+Kev84oR6QxhK24acbB7JPQqvAmFD2xzM7xmLhzHbbvz2FxlQV3Mn4lqYd8MBZZrUY9j5wAKZGWCbfquIIIOcwdO2PGYS4MMQ+NfgwpdjDIIsSoNOEDRvUqNv5IapDLEN9MlyCVSy4/Zk/cvkGUSeclv+toFXlSIQEASXMOeFhP26iILWM6PakqclCJ7DxKatj69jPJ6/Ftrq2narzou2I8U4wsS+h47eBXq/iKXjQHBy9KpCV22HwHSiQgoDADm/SeIs/r+1c0hy4mPqLwmSqiYz9LFc=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(346002)(136003)(39850400004)(396003)(376002)(46966006)(36840700001)(426003)(82310400003)(4326008)(34070700002)(7696005)(86362001)(47076005)(186003)(36860700001)(8936002)(336012)(316002)(44832011)(8676002)(36756003)(110136005)(1076003)(83380400001)(26005)(82740400003)(2616005)(5660300002)(81166007)(2906002)(478600001)(70206006)(70586007)(6666004)(356005)(2101003)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6875
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT015.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	b273a102-d832-4b0f-b764-08d95cb25d3f
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	sttQUmo36zHtm4rA96fDVALQ4mHQqQxTENZ2mzYo/Jn23Wi0F3DTPKPkJBbyHuuqZrrGuCxXxizZcXe/jFkImW4Lf7Vcfu6gjzTpGQQ8otaSiOgoczMLTCQKavqAkq9XZuKbFWc6vgE7YCKujpgwkafrBeB2jM2zumBEbZo3iwHxkGECgmsVpJkXd4r0p2vDtMdQkn5gE8nFqZbDH4UJK8P9P58LNpocGFRjvWTbWy/So6zpw+Bf3cKIe/53dvCyharrHCUIjQ4GcxgfRDqV8Ir/J9OsduNU1atT/I177oBOVFLHgPJRj8WZ3RXeUDtRiDe3NgvcwjsIf5dUkpQi2Ikjy539qMqu5MVi3a376nHM6lcFAu3JTUAZEHU99i8pYFNkD41bl/JsH3c5CdUOhFpZ3sZHEMyblPK6zAVZlc+xf2z8OoRYO8CM3lSg5OqVWFxlseQAxmA99r2Ycv4yJYnsrNSULubfAbvnyaRaE+YvWTttCf4DF1de7Kvj9yMgjtltM1d0Sqja35CJoH8GEvcix8+0HliP6q/otx4WQqjHCyd3X8tYRjdpBqRi5XU/EwTChtclaYrqCa36gJkuhTT0zTMDnh/Pl0glT6y3nwI0ndK3zwwz1D/lUW/QZEOaG0BboVHQsYdxQavbtMNWWqMU1CRG6W8SabxAEwLxsKqWSfoRLto/krCbc5+HD73J4ce8GJuEmNrARTRp/A8PjmC6ZNEUDKyvRF53PFJMk0I=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(136003)(376002)(396003)(39850400004)(346002)(46966006)(36840700001)(6666004)(186003)(82740400003)(426003)(47076005)(316002)(2906002)(36756003)(70206006)(5660300002)(70586007)(478600001)(81166007)(82310400003)(7696005)(336012)(83380400001)(86362001)(36860700001)(110136005)(8676002)(8936002)(26005)(44832011)(4326008)(2616005)(1076003)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:25:48.4083
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: dfd8cd3c-959c-4a1b-6b66-08d95cb2630b
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT015.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6014

In this API, we scan whole device tree to parse CPU node id, memory
node id and distance-map. Though early_scan_node will invoke has a
handler to process memory nodes. If we want to parse memory node id
in this handler, we have to embeded NUMA parse code in this handler.
But we still need to scan whole device tree to find CPU NUMA id and
distance-map. In this case, we include memory NUMA id parse in this
API too. Another benefit is that we have a unique entry for device
tree NUMA data parse.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
 xen/arch/arm/numa_device_tree.c | 31 ++++++++++++++++++++++++++++---
 xen/include/asm-arm/numa.h      |  1 +
 2 files changed, 29 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/numa_device_tree.c b/xen/arch/arm/numa_device_tree.c
index 6e0d1d3d9f..27ffb72f7b 100644
--- a/xen/arch/arm/numa_device_tree.c
+++ b/xen/arch/arm/numa_device_tree.c
@@ -131,7 +131,8 @@ save_memblk:
 }
 
 /* Parse CPU NUMA node info */
-int __init device_tree_parse_numa_cpu_node(const void *fdt, int node)
+static int __init
+device_tree_parse_numa_cpu_node(const void *fdt, int node)
 {
     uint32_t nid;
 
@@ -147,7 +148,7 @@ int __init device_tree_parse_numa_cpu_node(const void *fdt, int node)
 }
 
 /* Parse memory node NUMA info */
-int __init
+static int __init
 device_tree_parse_numa_memory_node(const void *fdt, int node,
     const char *name, uint32_t addr_cells, uint32_t size_cells)
 {
@@ -202,7 +203,7 @@ device_tree_parse_numa_memory_node(const void *fdt, int node,
 }
 
 /* Parse NUMA distance map v1 */
-int __init
+static int __init
 device_tree_parse_numa_distance_map_v1(const void *fdt, int node)
 {
     const struct fdt_property *prop;
@@ -267,3 +268,27 @@ device_tree_parse_numa_distance_map_v1(const void *fdt, int node)
 
     return 0;
 }
+
+static int __init fdt_scan_numa_nodes(const void *fdt,
+                int node, const char *uname, int depth,
+                u32 address_cells, u32 size_cells, void *data)
+{
+    int ret = 0;
+
+    if ( fdt_node_check_type(fdt, node, "cpu") == 0 )
+        ret = device_tree_parse_numa_cpu_node(fdt, node);
+    else if ( fdt_node_check_type(fdt, node, "memory") == 0 )
+        ret = device_tree_parse_numa_memory_node(fdt, node, uname,
+                                address_cells, size_cells);
+    else if ( fdt_node_check_compatible(fdt, node,
+                                "numa-distance-map-v1") == 0 )
+        ret = device_tree_parse_numa_distance_map_v1(fdt, node);
+
+    return ret;
+}
+
+/* Initialize NUMA from device tree */
+int __init numa_device_tree_init(const void *fdt)
+{
+    return device_tree_for_each_node(fdt, 0, fdt_scan_numa_nodes, NULL);
+}
diff --git a/xen/include/asm-arm/numa.h b/xen/include/asm-arm/numa.h
index 756ad82d07..7a3588ac7f 100644
--- a/xen/include/asm-arm/numa.h
+++ b/xen/include/asm-arm/numa.h
@@ -26,6 +26,7 @@ typedef u8 nodeid_t;
 extern s8 device_tree_numa;
 
 extern void numa_init(bool acpi_off);
+extern int numa_device_tree_init(const void *fdt);
 extern void numa_set_distance(nodeid_t from, nodeid_t to, uint32_t distance);
 
 /*
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:31:09 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:31:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165703.302841 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlVt-00037F-9u; Wed, 11 Aug 2021 10:31:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165703.302841; Wed, 11 Aug 2021 10:31:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlVs-00034W-Lj; Wed, 11 Aug 2021 10:31:08 +0000
Received: by outflank-mailman (input) for mailman id 165703;
 Wed, 11 Aug 2021 10:31:07 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlR7-0000BQ-Dz
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:26:13 +0000
Received: from EUR03-AM5-obe.outbound.protection.outlook.com (unknown
 [40.107.3.42]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 5bd42a6d-93c6-42fe-8e7d-367cca279870;
 Wed, 11 Aug 2021 10:25:31 +0000 (UTC)
Received: from DB6PR1001CA0028.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:4:55::14)
 by VI1PR0801MB1869.eurprd08.prod.outlook.com (2603:10a6:800:88::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.19; Wed, 11 Aug
 2021 10:25:29 +0000
Received: from DB5EUR03FT005.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:55:cafe::ce) by DB6PR1001CA0028.outlook.office365.com
 (2603:10a6:4:55::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:29 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT005.mail.protection.outlook.com (10.152.20.122) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:25:29 +0000
Received: ("Tessian outbound 7b804b1d9bbf:v101");
 Wed, 11 Aug 2021 10:25:29 +0000
Received: from 62d2127e0534.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 203BACA2-52EE-4AFA-A944-1E75A2440C43.1; 
 Wed, 11 Aug 2021 10:25:23 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 62d2127e0534.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:25:23 +0000
Received: from DB8PR04CA0019.eurprd04.prod.outlook.com (2603:10a6:10:110::29)
 by AM0PR08MB5089.eurprd08.prod.outlook.com (2603:10a6:208:15b::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13; Wed, 11 Aug
 2021 10:25:21 +0000
Received: from DB5EUR03FT054.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:110:cafe::3b) by DB8PR04CA0019.outlook.office365.com
 (2603:10a6:10:110::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.17 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:21 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT054.mail.protection.outlook.com (10.152.20.248) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:25:21 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX03.Arm.com
 (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:25:10 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5bd42a6d-93c6-42fe-8e7d-367cca279870
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=q2kC8piroqCMG6BjsTu+cHiImjGbMH3XMGZi5wNR5AE=;
 b=nvCsyurQgJO7ZLRAmbbnhRz3fuGj+PKvAlcJ2qRtYUcR/v4vJfMIEFC04Iz9ZUf2gQWk6MLRn3XxBP5LgxfKgO2UgguVC5xXOLU4CmEOi0FPaA6nPz7iS69j+JnnniKUMIAm8eqvfV9DegadhsjB4WC8MA8dzv56CYxAQ6E2FCM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: d158891a400b4171
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=E2pFLTuOdbm9rqxgCbIbqjDsaJGGOmnzNC2LJXNOdsMzQisYS6skl0EyT/E+7GfaOVXPZQlb7rhbRPyMc+HUwyLpUJ6UhWvLtXapjYsWdelVTa67JHWcbAsFIZy3Gwm0/dW0W8/gw8anAX8zraHlXBnyTpKs0ilcURuR6VcB0yFFRe17DbGIyB5CJi/GDjULyamvSmPQFrjBn7g9CoCuz9p6SBEDhVZoA87TnyHGnVnlrFb+LoXwocsTwInE/YCPrnS9UGaoovQDnfSJHqyyHJf89vQPRuoHVuvU6cCVgNp8qhmLOB9Yza8dtqbxKZpGVPVSkyHyrZyUgOeXvpHAmw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=q2kC8piroqCMG6BjsTu+cHiImjGbMH3XMGZi5wNR5AE=;
 b=hDJcUfCOISeGZKNCF2LVWPh/mvQl7f9eRhTt9ZmgapdtAd0LkEICbFXWBiyOD+AtNVqQ3Dr2wvb91qaFlckQy75ykk8vZtyfX5nOAMAxAk44KZKX8Nm1RkUIp7R9rMXUcSvlA71HpNCb+ADCz70z0/P8pb4DAz8E72BKf5JGLckD0mSnBUjCsIDLYLP1f0S1VWuf8ZexMPCsN3NciNezZoy4FJZxWPI+UcQaXGqiiHVqKATrKg/5ApegPHpJN+VbMWqWsknRX0YgQOrt65wU6vQ886K/Vi6J5EUf4zNZ6sK7NKSaamCx28HXc3knnZNQDgPaz4X3rxoUROUEWOalGA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=q2kC8piroqCMG6BjsTu+cHiImjGbMH3XMGZi5wNR5AE=;
 b=nvCsyurQgJO7ZLRAmbbnhRz3fuGj+PKvAlcJ2qRtYUcR/v4vJfMIEFC04Iz9ZUf2gQWk6MLRn3XxBP5LgxfKgO2UgguVC5xXOLU4CmEOi0FPaA6nPz7iS69j+JnnniKUMIAm8eqvfV9DegadhsjB4WC8MA8dzv56CYxAQ6E2FCM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 16/40] xen/arm: Create a fake NUMA node to use common code
Date: Wed, 11 Aug 2021 18:23:59 +0800
Message-ID: <20210811102423.28908-17-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 278ff1cc-1184-460b-c768-08d95cb25787
X-MS-TrafficTypeDiagnostic: AM0PR08MB5089:|VI1PR0801MB1869:
X-Microsoft-Antispam-PRVS:
	<VI1PR0801MB1869891ABA3F7633135D3CC69EF89@VI1PR0801MB1869.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:1169;OLM:1169;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 yOBWMeB91wpoaksoiU82B2AXNrO2LGG6cpB/h42bAr5rWGZyNEWDI+ODJDBZUFTGOca+sU21eKjyEG1BTlcDuz6YWmdf+P9sInzzV19DftmqOUM77ze9GT0nYjw5iCuv9Q4aJz//KUR6mlehgUw+qCTbRnpcXGLFaiKZCv50zkWHnh+MHFjwUq38eAP+bTLILPD2vwoqMBOhcdbMDVbB+GN1LV37UtEGJhNXufJT6oBEV2+W9NJQ5ErRbbRw4fr8Reyz60Jy7sTFs5hkJKs80Vnw7SCp2AVjlkyjGy1DxHaAUHUChRlEvigHF+qGsVwwNvT1dqtN7AfimiF5AyYSBhnkBl6McOPDATIsLytwDT1ooPn4Qp2UPW1IMg6UkTDfHry3iql6HZXGVIAqIoxEzIAH2sg4GxqBYHnmo29IsCugKE1H7GOuhx63iIQecyossGLf9d/b1J48f9BTf+Jjv7mt3ocRz7xDK49X972ZTpefphdWcxaZUJGwz5INerZLKICxodAVqmXzD5LUAw0YPwbwQHSKvLEucRCy1Ot7sFaCCJ3QF06EYzuWZm1c0BlBXJ+wDGQNZCzEYwASEAleM0UtbnGa+ZWUtmgos/8J0KsKVn0KrWIckNhDDc6ej622wbWRp8KxZdwqvXh+P3DBCY2PwtcZwkHKCwqYwKst85RO3qFS6QC0KRkIddEXopDXaL3gA092OlBTFrlMR6E5JIRT2dMq7b1PRppygmHAqdV9LJ1KlS8bErfR92DjW2VuY35M5drb8zzNA0D4GR52XiBrtsKqEACVLd7z0zyRu84=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(346002)(39860400002)(136003)(376002)(396003)(36840700001)(46966006)(26005)(478600001)(426003)(34070700002)(36756003)(86362001)(5660300002)(4326008)(6666004)(1076003)(82740400003)(316002)(81166007)(110136005)(2906002)(2616005)(36860700001)(186003)(44832011)(8676002)(70586007)(70206006)(8936002)(7696005)(82310400003)(356005)(336012)(83380400001)(47076005)(2101003)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5089
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT005.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	4d976adf-232e-44e0-0fcf-08d95cb252df
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Y5xQ5a+Cy1WpSp3DqvaVUJ9hdj2YZftzdHp7NMNbdpjPDgOPx3FTiuM4T1VEUpaGZJO7e+5icvPpW/tk8lUJLYlwPOayuO6hjaGSLP3gycjnJjvgGg9JUu14GOs5I2nzTkigysyjgn4Os7UVFIRtKVLseHArKJgb5pCYuhML8O2qW3Z+7ZQxY73H7MRZmaYGIXuCvtjxzgxUVOK8LJ/EtI1vlR/6Y12I8FExWdwIaO+/9DnBC6w7f5lDreXjtPsxXtZXVeOKxibC32vJSfWWsrFUrHQ19A6mo5DxizPZ4aM8p3r1+j0akw4Urahn61l0rG7Z/AmqopQcEeqPnsSDpL2ugRpefQrdkkbfIE1Em+RD4nLGnZggvVf4FpN8HyF+tnxTC2cPvHjA2JcGHS08zdJT6rawpJLIaWB7PtDBnfFbDnBMD1y3Nr3ZDIl9fchq593RmGTDbu7uJE47auHjAAEqwYaML6rWALVxZXC733iKhzqfzAoR4qLxHuW8p/p58dbYEnbH3M8k7BcY64nFppgx4pgUBCsd4BRcRq/9sZF9CD/fCUqimeCj5ENgmqw5Lj7cxgSua6rhPqKC2cE7aLoRPKPo/40nrwpq6GdFRsvWzuQ9wnDpOP7TRa4MZwBB2ElRs1ehwGG9qjBhm0krffRSPkQ6fcrWLi3CIrLTR9c2huknH8CKRKxC/hoTQxpATQiGDmYvomdADyWnMZ1MnTcKVEche7HdeDEbYZb2jzg=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(39850400004)(396003)(376002)(346002)(136003)(46966006)(36840700001)(83380400001)(110136005)(2616005)(1076003)(47076005)(8936002)(426003)(44832011)(36756003)(2906002)(478600001)(86362001)(70206006)(7696005)(26005)(6666004)(81166007)(70586007)(36860700001)(186003)(336012)(82310400003)(4326008)(316002)(8676002)(5660300002)(82740400003)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:25:29.2016
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 278ff1cc-1184-460b-c768-08d95cb25787
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT005.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB1869

When CONFIG_NUMA is enabled for Arm, Xen will switch to use common
NUMA API instead of previous fake NUMA API. Before we parse NUMA
information from device tree or ACPI SRAT table, we need to init
the NUMA related variables, like cpu_to_node, as single node NUMA
system.

So in this patch, we introduce a numa_init function for to
initialize these data structures as all resources belongs to node#0.
This will make the new API returns the same values as the fake API
has done.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
 xen/arch/arm/numa.c        | 53 ++++++++++++++++++++++++++++++++++++++
 xen/arch/arm/setup.c       |  8 ++++++
 xen/include/asm-arm/numa.h | 11 ++++++++
 3 files changed, 72 insertions(+)

diff --git a/xen/arch/arm/numa.c b/xen/arch/arm/numa.c
index 1e30c5bb13..566ad1e52b 100644
--- a/xen/arch/arm/numa.c
+++ b/xen/arch/arm/numa.c
@@ -20,6 +20,8 @@
 #include <xen/init.h>
 #include <xen/nodemask.h>
 #include <xen/numa.h>
+#include <xen/pfn.h>
+#include <asm/setup.h>
 
 void numa_set_node(int cpu, nodeid_t nid)
 {
@@ -29,3 +31,54 @@ void numa_set_node(int cpu, nodeid_t nid)
 
     cpu_to_node[cpu] = nid;
 }
+
+void __init numa_init(bool acpi_off)
+{
+    uint32_t idx;
+    paddr_t ram_start = ~0;
+    paddr_t ram_size = 0;
+    paddr_t ram_end = 0;
+
+    printk(XENLOG_WARNING
+        "NUMA has not been supported yet, NUMA off!\n");
+    /* Arm NUMA has not been implemented until this patch */
+    numa_off = true;
+
+    /*
+     * Set all cpu_to_node mapping to 0, this will make cpu_to_node
+     * function return 0 as previous fake cpu_to_node API.
+     */
+    for ( idx = 0; idx < NR_CPUS; idx++ )
+        cpu_to_node[idx] = 0;
+
+    /*
+     * Make node_to_cpumask, node_spanned_pages and node_start_pfn
+     * return as previous fake APIs.
+     */
+    for ( idx = 0; idx < MAX_NUMNODES; idx++ ) {
+        node_to_cpumask[idx] = cpu_online_map;
+        node_spanned_pages(idx) = (max_page - mfn_x(first_valid_mfn));
+        node_start_pfn(idx) = (mfn_x(first_valid_mfn));
+    }
+
+    /*
+     * Find the minimal and maximum address of RAM, NUMA will
+     * build a memory to node mapping table for the whole range.
+     */
+    ram_start = bootinfo.mem.bank[0].start;
+    ram_size  = bootinfo.mem.bank[0].size;
+    ram_end   = ram_start + ram_size;
+    for ( idx = 1 ; idx < bootinfo.mem.nr_banks; idx++ )
+    {
+        paddr_t bank_start = bootinfo.mem.bank[idx].start;
+        paddr_t bank_size = bootinfo.mem.bank[idx].size;
+        paddr_t bank_end = bank_start + bank_size;
+
+        ram_size  = ram_size + bank_size;
+        ram_start = min(ram_start, bank_start);
+        ram_end   = max(ram_end, bank_end);
+    }
+
+    numa_initmem_init(PFN_UP(ram_start), PFN_DOWN(ram_end));
+    return;
+}
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 63a908e325..3c58d2d441 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -30,6 +30,7 @@
 #include <xen/init.h>
 #include <xen/irq.h>
 #include <xen/mm.h>
+#include <xen/numa.h>
 #include <xen/param.h>
 #include <xen/softirq.h>
 #include <xen/keyhandler.h>
@@ -874,6 +875,13 @@ void __init start_xen(unsigned long boot_phys_offset,
     /* Parse the ACPI tables for possible boot-time configuration */
     acpi_boot_table_init();
 
+    /*
+     * Try to initialize NUMA system, if failed, the system will
+     * fallback to uniform system which means system has only 1
+     * NUMA node.
+     */
+    numa_init(acpi_disabled);
+
     end_boot_allocator();
 
     /*
diff --git a/xen/include/asm-arm/numa.h b/xen/include/asm-arm/numa.h
index b2982f9053..bb495a24e1 100644
--- a/xen/include/asm-arm/numa.h
+++ b/xen/include/asm-arm/numa.h
@@ -13,6 +13,16 @@ typedef u8 nodeid_t;
  */
 #define NODES_SHIFT      6
 
+extern void numa_init(bool acpi_off);
+
+/*
+ * Temporary for fake NUMA node, when CPU, memory and distance
+ * matrix will be read from DTB or ACPI SRAT. The following
+ * symbols will be removed.
+ */
+extern mfn_t first_valid_mfn;
+#define __node_distance(a, b) (20)
+
 #else
 
 /* Fake one node for now. See also node_online_map. */
@@ -35,6 +45,7 @@ extern mfn_t first_valid_mfn;
 #define node_start_pfn(nid) (mfn_x(first_valid_mfn))
 #define __node_distance(a, b) (20)
 
+#define numa_init(x) do { } while (0)
 #define numa_set_node(x, y) do { } while (0)
 
 #endif
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:31:10 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:31:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165704.302846 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlVt-0003Gt-T4; Wed, 11 Aug 2021 10:31:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165704.302846; Wed, 11 Aug 2021 10:31:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlVt-0003EA-CK; Wed, 11 Aug 2021 10:31:09 +0000
Received: by outflank-mailman (input) for mailman id 165704;
 Wed, 11 Aug 2021 10:31:07 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlRt-0002Qj-Hd
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:27:01 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com (unknown
 [40.107.21.54]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 8e31e048-fa8e-11eb-a052-12813bfff9fa;
 Wed, 11 Aug 2021 10:26:14 +0000 (UTC)
Received: from AM6P193CA0073.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:88::14)
 by DBAPR08MB5671.eurprd08.prod.outlook.com (2603:10a6:10:1a1::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.21; Wed, 11 Aug
 2021 10:26:09 +0000
Received: from VE1EUR03FT063.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:88:cafe::8) by AM6P193CA0073.outlook.office365.com
 (2603:10a6:209:88::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:26:09 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT063.mail.protection.outlook.com (10.152.18.236) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:26:08 +0000
Received: ("Tessian outbound 79bfeeb089c1:v101");
 Wed, 11 Aug 2021 10:26:08 +0000
Received: from 841568cdc80d.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 5E7B3703-1965-488A-879D-3374F72C818D.1; 
 Wed, 11 Aug 2021 10:26:01 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 841568cdc80d.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:26:01 +0000
Received: from DB6PR0201CA0012.eurprd02.prod.outlook.com (2603:10a6:4:3f::22)
 by AM5PR0802MB2547.eurprd08.prod.outlook.com (2603:10a6:203:a0::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.22; Wed, 11 Aug
 2021 10:25:57 +0000
Received: from DB5EUR03FT036.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:3f:cafe::30) by DB6PR0201CA0012.outlook.office365.com
 (2603:10a6:4:3f::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:57 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT036.mail.protection.outlook.com (10.152.20.185) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:25:57 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX04.Arm.com
 (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:25:44 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8e31e048-fa8e-11eb-a052-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kAd68KnXsqd+C2bIAP1n0fHZQ7iABbF7AodWabl+rLs=;
 b=NN7SNcQ/0ftHViax+fgQ4xFeXDVMAMUqM/UOiBUCPtcvKY7Qqj4J1ubpLbC9A+7aBsjxWDB6T2Nd3ymW+kf7LuooZuK5ly121gaw9LTkEOMVpX3iPWzEb2DIKkYUFaN1doFXutCPhnPEFyTFE71B3RWgnk5a2ZH9GqMoOAa+ex4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 815451cf1eaab556
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Kkj1y8eDd3DDs0xSTi4okAKXQyi+0jFKfvIsS/swjVS27HhKUYkQEbQVD+7XWwfbkEH5Q68+dFc3zKI9ouFl+MnFftPrIOa+vqKNUktd4M/SgoFPlsa0IBjSTA/G8SwwkC76SXgftOFl1eTva2kmXYNlEWQqv7tE/5Wbz0V4hWN/OknCSvc8Mm258WCVnSRJQk9CDQk/SJ2Xn8ouubq1qq++owBOTEeRtuOqs6hMLCwtSIiwOGXEklseIZytUk44OdohuX71MRanmhAoyQpbI0SIERDtkWjmbSPjZ94s1tOpvq5kspHGJWqoD0TBIBEwEkEBd0mcvaTKqSwfnJL9TQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kAd68KnXsqd+C2bIAP1n0fHZQ7iABbF7AodWabl+rLs=;
 b=D3BEQnoT9yVmoXKY7Nou5+sjJzrq7rL9U5CLBk07ebjqRErWVIpdFbmZz3d00fSqxF8TjqnVZbeMtWUDQmkQqJPZFYXTDH3RjFxLFQfRXZgPySVtYF4NwNXVZEsv9Bw72gusvNGWLgxitJBTFePQYCP5pB+V72oyiXMSvZCelYxeYJqpg6Sl1H/YoQy8SrmhxR7XD4rqp8co9w/5xM50uxZdz3pb3TF0N9o4PrQXL7j7/bHpcfBRZlzkojhwbZUVQso/Hm9/PItbb2URW3geQn9okUHiKHLw3P9UgubNlQ7KRUXlv15htp8gk6ud5A9RepXxN0j/gqh+sn4tzK/DUw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kAd68KnXsqd+C2bIAP1n0fHZQ7iABbF7AodWabl+rLs=;
 b=NN7SNcQ/0ftHViax+fgQ4xFeXDVMAMUqM/UOiBUCPtcvKY7Qqj4J1ubpLbC9A+7aBsjxWDB6T2Nd3ymW+kf7LuooZuK5ly121gaw9LTkEOMVpX3iPWzEb2DIKkYUFaN1doFXutCPhnPEFyTFE71B3RWgnk5a2ZH9GqMoOAa+ex4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 30/40] xen: move NUMA memory and CPU parsed nodemasks to common
Date: Wed, 11 Aug 2021 18:24:13 +0800
Message-ID: <20210811102423.28908-31-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 87e20043-0a15-49ac-3f8f-08d95cb26f30
X-MS-TrafficTypeDiagnostic: AM5PR0802MB2547:|DBAPR08MB5671:
X-Microsoft-Antispam-PRVS:
	<DBAPR08MB56716850C4BBDC212BB2F9989EF89@DBAPR08MB5671.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:198;OLM:198;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 M3+bHq77CXZOa0tvzZI8sTsVYtx+e37qqvEpqa+1y/03HKea4cDavKtzEOPatFE8zYIf8YLnDrPJulY8dndRyKshhOs7MmJ2nLpAbKCDe/zicwD8PAI2swVjfwNpxxU09KUB/CBKb9PuIqWPuPTsz4m+IRO5fnaQ0XBXfMloq9314+4lhOLHLURSSZZzjHsmT7RFDOCg6wnflqywcZQNN40+QFNp+7C1nPcp8zyJKN0aD3Ma6IS4/dEabKO/mkPagBa9p8ruLO2VCFIlcGHcX1HG5XefK9hApWiVuQciMCZ+LGCpWfEPTfr7M5ipchdJPNBlrzpIedG+s6iL3xKoAEzc1RrTi13TnKoWMW3p8EG6SS+Fxr4LVSFPxqgVvU/NIQmkzfOlxWssUL8Ky6Dr2dtgqKeavOBJd0RGMJWOmN10pkLCKiWJ9JXmUoPpGof5sKVGYU0vdwG0bG5z026nrDkBmd4/NDnZ8Nh9FA7INqDy1tXBf054SW3XYtuJLnaUKxuhZanxtcFMyYNsL7V6XQyjOLMzdeiAD6YWtzIHRbHtgZIfynszftam98qREOcHU/ZECyOZWC5TXBhEM+rQYaAPRfRS8DUcOybg8GUFxgOyTk5HsvOKOwjRSV50qrGFyGjlegQbdBwem48WcfP7Icsm0E89ylG+vnv1P9iPLzo5zbuH2hoFJcRc81EVRjS3zMaUAJnfkS+hbnSbtYaVZcy44PRKqrwf8o/UjQINR49znDiT8+7296m1iT7OCI3L5YouURRo/pP1u8O/7iWH+e4rnsrco7rnb7x5w1z77aE=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(46966006)(36840700001)(6666004)(8676002)(508600001)(82310400003)(426003)(83380400001)(336012)(2616005)(110136005)(186003)(36860700001)(34070700002)(1076003)(7696005)(5660300002)(86362001)(316002)(8936002)(81166007)(4326008)(36756003)(70586007)(47076005)(44832011)(356005)(70206006)(26005)(2906002)(2101003)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0802MB2547
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT063.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	d16a6a5d-02f9-4fc1-79da-08d95cb2686d
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tXxAPvp3I+QKKNblGzJxYwxqJAH8hWiTxw2HHrssR+T4fM+69BGk3rUxm0nplvG8m9ZQsAOqT650h/lPzk31n/aBWmQcp+mQm9jiZvFRGMvY8aBkxyzIzeifzQmC9469qYiYPFT7ZiahtjvkELxNC/JssOC+ypjvkawJ3K+MwHWOsqzv+yGFGaB0QEkvWQ2Q0yzVtdkzzKupRAy63pqH0/TqmvUlJPj42N1fnEbJEBy4pE/S48pRiVqg4qyTcmp6mH0xXGu8KrJPdwlloY7SUTwcOHGaSFHbCN1fgiU6DwzHvwbrcr6tETiTxg+bN+tP98Bxk+zpJZhGXgrOB7wNsFSB+Q/ZVszBdM6jFa1P+RwUBm/ADydTvAbMVB9iBlF9amr25PU0KRviXDC7T04p0/gHK7WhQxOpWtfmMcztdUPjJOKRuDm/1emy53uo3t5XonIRz0RlbGLj3QBHEliQoZEdnoTIdsp/Q/W1kgiZSmMocfDXBn/EmPHEtK9HlOgFRU0GCuiOtxofx51i4E2iraR0aNBgO+3KdcqF+qBRyQHT+ywcZMAoIV3JlkXsu0cehF4yJuLiMPO9aVEjK2A0ekAoh+oHROAJxMcVrUTa2xnv4TrWUqJGMRmyEMd9rkAFWzqmknUXVcpvZhR80LizW4tWZQLRd4UHeQnSxnwiWpdjsBBGsdWFWo63E6I35GSyQlp+U/eWcSpKrETTe2IIVjemed79RIhyigtEYgK5dk4=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(46966006)(36840700001)(81166007)(1076003)(5660300002)(47076005)(336012)(110136005)(86362001)(6666004)(508600001)(8936002)(83380400001)(4326008)(8676002)(7696005)(316002)(36756003)(44832011)(70206006)(26005)(186003)(70586007)(2616005)(36860700001)(2906002)(82310400003)(426003)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:26:08.7803
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 87e20043-0a15-49ac-3f8f-08d95cb26f30
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT063.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5671

Both memory_nodes_parsed and processor_nodes_parsed are using
for Arm and x86 to record parded NUMA memory and CPU. So we
move them to common.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
 xen/arch/arm/numa_device_tree.c | 2 --
 xen/arch/x86/srat.c             | 3 ---
 xen/common/numa.c               | 3 +++
 xen/include/xen/nodemask.h      | 2 ++
 4 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/xen/arch/arm/numa_device_tree.c b/xen/arch/arm/numa_device_tree.c
index 27ffb72f7b..f74b7f6427 100644
--- a/xen/arch/arm/numa_device_tree.c
+++ b/xen/arch/arm/numa_device_tree.c
@@ -25,8 +25,6 @@
 #include <asm/setup.h>
 
 s8 device_tree_numa = 0;
-static nodemask_t processor_nodes_parsed __initdata;
-static nodemask_t memory_nodes_parsed __initdata;
 
 static int srat_disabled(void)
 {
diff --git a/xen/arch/x86/srat.c b/xen/arch/x86/srat.c
index 2298353846..dd3aa30843 100644
--- a/xen/arch/x86/srat.c
+++ b/xen/arch/x86/srat.c
@@ -24,9 +24,6 @@
 
 static struct acpi_table_slit *__read_mostly acpi_slit;
 
-static nodemask_t memory_nodes_parsed __initdata;
-static nodemask_t processor_nodes_parsed __initdata;
-
 struct pxm2node {
 	unsigned pxm;
 	nodeid_t node;
diff --git a/xen/common/numa.c b/xen/common/numa.c
index 26c0006d04..79ab250543 100644
--- a/xen/common/numa.c
+++ b/xen/common/numa.c
@@ -35,6 +35,9 @@ int num_node_memblks;
 struct node node_memblk_range[NR_NODE_MEMBLKS];
 nodeid_t memblk_nodeid[NR_NODE_MEMBLKS];
 
+nodemask_t memory_nodes_parsed __initdata;
+nodemask_t processor_nodes_parsed __initdata;
+
 bool numa_off;
 
 /*
diff --git a/xen/include/xen/nodemask.h b/xen/include/xen/nodemask.h
index 1dd6c7458e..29ce5e28e7 100644
--- a/xen/include/xen/nodemask.h
+++ b/xen/include/xen/nodemask.h
@@ -276,6 +276,8 @@ static inline int __cycle_node(int n, const nodemask_t *maskp, int nbits)
  */
 
 extern nodemask_t node_online_map;
+extern nodemask_t memory_nodes_parsed;
+extern nodemask_t processor_nodes_parsed;
 
 #if MAX_NUMNODES > 1
 #define num_online_nodes()	nodes_weight(node_online_map)
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:31:12 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:31:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165705.302866 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlVw-0003n5-1S; Wed, 11 Aug 2021 10:31:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165705.302866; Wed, 11 Aug 2021 10:31:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlVv-0003gT-5Q; Wed, 11 Aug 2021 10:31:11 +0000
Received: by outflank-mailman (input) for mailman id 165705;
 Wed, 11 Aug 2021 10:31:09 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlUB-0000BQ-KY
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:29:23 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com (unknown
 [2a01:111:f400:fe06::62c])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 34c2faa1-4647-4866-88c0-c4133a7f4e77;
 Wed, 11 Aug 2021 10:26:17 +0000 (UTC)
Received: from PR0P264CA0161.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1b::29)
 by DB7PR08MB4219.eurprd08.prod.outlook.com (2603:10a6:10:34::31) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.14; Wed, 11 Aug
 2021 10:26:15 +0000
Received: from VE1EUR03FT014.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:100:1b:cafe::dc) by PR0P264CA0161.outlook.office365.com
 (2603:10a6:100:1b::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13 via Frontend
 Transport; Wed, 11 Aug 2021 10:26:14 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT014.mail.protection.outlook.com (10.152.19.38) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.14 via Frontend Transport; Wed, 11 Aug 2021 10:26:14 +0000
Received: ("Tessian outbound 79bfeeb089c1:v101");
 Wed, 11 Aug 2021 10:26:14 +0000
Received: from 9b3a9cd1f269.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 850E7038-7250-46FE-AB9E-3C4600A0B4FF.1; 
 Wed, 11 Aug 2021 10:26:08 +0000
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 9b3a9cd1f269.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:26:08 +0000
Received: from DU2PR04CA0313.eurprd04.prod.outlook.com (2603:10a6:10:2b5::18)
 by DB7PR08MB3243.eurprd08.prod.outlook.com (2603:10a6:5:21::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.19; Wed, 11 Aug
 2021 10:26:06 +0000
Received: from DB5EUR03FT056.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:2b5:cafe::2f) by DU2PR04CA0313.outlook.office365.com
 (2603:10a6:10:2b5::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13 via Frontend
 Transport; Wed, 11 Aug 2021 10:26:06 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT056.mail.protection.outlook.com (10.152.21.124) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:26:06 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX03.Arm.com
 (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:26:04 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:26:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 34c2faa1-4647-4866-88c0-c4133a7f4e77
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tNXvFk8FEKwXourDz8d4PehitVjbuxBLUXjR0NlY49U=;
 b=ZV5NHLbWaJEMHi0fdueDdJeJFl0AVE9jeBO5qH3SH2MnD7OsVK6dZ9jkKZbpyilbhCnBhVBt+YjRIyzozJ+d+mDq9BKzhkxTGchmGHlxtEuK36vkyjXOTLAY3nF/jRB4cu4rIAPp5fAgxdLfkp4hLei/XgoreHlmMpG4U0nhDWI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: d577b5644bae3d81
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aHKu1MWg8iH7pqERv3UUNR5qfc3iZVblsYMD3jfsrINPly3eN+LwNfcVDKA2X+z2qIAEHKguCvZvmb7rJcp0XnsvcbHpKTt9SZK7OPQaWUEnRVCxtetByn8xzHMXoBYW5xQv4zG3sVEVAuEglIj7EX85pnKhGZXepSUfWbH1JnrkhScUM9j9C/hdG7SaQcWrpp+TPeFif3ogPqdLcAgrS4tauinQPm2OHlWP8HPob7Go5LK6XqdefR9R4/MjQNDjaKTYMecbNvpL49MlM/jEwUDYdxkCiQlIZgouLnL8ZhHqR0TVFm2YNU3emF+990UsnsoM9mmJOwyZNPYR208t1Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tNXvFk8FEKwXourDz8d4PehitVjbuxBLUXjR0NlY49U=;
 b=MnRBQOlEmxeHRmPnQxHTdNRSPk6XV7FoL/iLgG6E3LwUaz5IvjzLnxsCdvg16SsN7oQla32RQ35ld5GDq0oqUj60ZwfUhh/ku13tLIwHE+3NwWbLwNmnFrd0AiEPZKoZrme93xlMygulRnN695ffatg1rQbz0KQmC3uBqwj3nh80eIuzCiEPX09E9E1EqVBN8rL7Eu31J/bK9fSfqqjRKh5kXJTWxBlHyPVia9THnrV2yZHHcAqUPJaqAEVoGmsbKmTJ4PIIRbv0Jy69Bposk8IzPub3w/t6CxbUnqRJKPMh5cg68HV77cvueUIYD5MkCaqFTWFA16wgQNwozDQFjw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tNXvFk8FEKwXourDz8d4PehitVjbuxBLUXjR0NlY49U=;
 b=ZV5NHLbWaJEMHi0fdueDdJeJFl0AVE9jeBO5qH3SH2MnD7OsVK6dZ9jkKZbpyilbhCnBhVBt+YjRIyzozJ+d+mDq9BKzhkxTGchmGHlxtEuK36vkyjXOTLAY3nF/jRB4cu4rIAPp5fAgxdLfkp4hLei/XgoreHlmMpG4U0nhDWI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 38/40] xen/arm: enable device tree based NUMA in system init
Date: Wed, 11 Aug 2021 18:24:21 +0800
Message-ID: <20210811102423.28908-39-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 7746d908-0939-44ed-e3e1-08d95cb272bf
X-MS-TrafficTypeDiagnostic: DB7PR08MB3243:|DB7PR08MB4219:
X-Microsoft-Antispam-PRVS:
	<DB7PR08MB421918DE7A0F8CC53B54F53C9EF89@DB7PR08MB4219.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:6790;OLM:6790;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 RI5aG7thv3m+0xdQB0znsJr8jaFyQYXt5P7obeLMvhjgKhAQexGChgvl9aVTZuJbluQKMkCz8mBlex9ffbQnWjuwB/7o5SrI8XEQiqRYBOwXjAIvRqUDZbWI8x0Yn87ZW3gOCQrDRSPwVnaEqJS2Xfsk+Lxo3DtuBB+LStvwoKkm3uhkTEoMAXo9jS+I1+qVUqvJh6bigIPB0TO1tPhl0F2JDGmbUvyOE5OTUvH8dotsIeZu9/sWgubYAcRQJu8IvnBdDhbFh+ZCFr9A//jWjNS6FOQ3KCyTILCKd+NjSw1WvME4ASuG0UuQv3OYIuzaSQ+LLESJC9hKduxMWNWxUU3mKR0qKoxghlA8kHmvh4SA1WjiltICWvhBpacj1S6MJXqcXEOkHXb/MSrb0m5teLOMUuMbYxoLBbnX7g8xNlkCPqt2RWt6ZkzlpRC1IRvPGO+vS+SsClYVgGHFh+wISo0SP1iR7SRgRkMGEv/steDsl+J2Dh327bHGCXRIrD1k+r2i65jW2niMK22Tmgk4BpPQ6N0MGXozmjUgYXwYAiCR9Z/dXGtdyxY19ZVVpztWjCpsYDspehqLqxo9iDDFfGIjpN4Cea4D/6G6C7SSRPMQzCw2ovb7nD61WmAqZFhlXmWJgR36ugHsvd2welvwUmg80wR5RtioaT2YZKdTITZ80jgy85pzQrX1h0g9wlrbn5NGWTQLrNYBxMryrlAMZFNfLhqBcbRm5gsfw5AEWy0i7m3WvWdpd1hO2ilfGYvKhmuIBh6y4breCyg1vljft6cKxtjPQsI+t2ffEOxs0QI=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(376002)(346002)(39850400004)(396003)(136003)(46966006)(36840700001)(34070700002)(478600001)(44832011)(186003)(82310400003)(110136005)(26005)(82740400003)(1076003)(4326008)(336012)(2616005)(36756003)(47076005)(5660300002)(70586007)(426003)(70206006)(8676002)(316002)(86362001)(356005)(83380400001)(36860700001)(2906002)(6666004)(7696005)(8936002)(81166007)(2101003)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3243
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT014.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	8e3550b5-a747-4645-88ed-08d95cb26df4
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nP6+GRLoirLDwiIDtYb0GYYuPk5KWvR2Q4fYnFQFcqD2iEDKamCBgs1WfgkRTi99PbzVUT9x7ZHWzZ2V4HjaQK5UCdpZgomeC054ZKv0fdnPGQi7J9uL+A3cIxqgMKZfxqMx+c9PyWSJbtrtrxIRsInEHubxYAq5p0cUY+NhR5zbp1sZo6KALbYdoZxe9EmF2HczTzC832TKtjjnTiujEBZn7rmSwSjTgP3mtWT9htO8H3ZIeBGNlmQNrHT/4IQvhA2YTOYj7gxOnmx/UhqkO4m/vUlN1RK7GBsdI0QdF0jY5mLONU9xOATxoAV2woPj5A+kJnKaTZo2S+o56nOQ7360uHdqLa1IRO2RrC8A7CVGrPJ13yg7Xa6A9+B9fXMcJnqetqBgzDD8pMxVgn8wWsx4c8TK9q/jvVEtPucMDG/tuW8uDUeMsQakF/lSkMgtxCB6/z7M/AuXFB3p+RSXmlogdhHGV379OGQT5qAM6tJ/0FoJbfRBFkB1HD4PyeK3fqRrzM9iSvfc9mShSmKUgwap5UhKIF6NlIRK1vTb8u1azyI8j8qCcfIQIsQNmhcmqcJwUbAUIofaldF7XlhJSYfE+bHbWCKwUK7YpyNiDBjzn1OSK/HUzAzCRF8n7EcKQyb6gDAPmJQNURny5QJNNPNqYfj1T5wLOBuxgmT9xbQLTcJ+PXSfl/b8bPVRVjOg804ij8rBlHIq2zKWMjH2k9UXoJseEG3wHiSinpvEgr0=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(346002)(136003)(39860400002)(376002)(396003)(46966006)(36840700001)(5660300002)(110136005)(82740400003)(81166007)(7696005)(6666004)(83380400001)(8936002)(36860700001)(4326008)(316002)(47076005)(26005)(70586007)(36756003)(2906002)(70206006)(8676002)(336012)(426003)(186003)(1076003)(86362001)(2616005)(44832011)(478600001)(82310400003)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:26:14.7628
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7746d908-0939-44ed-e3e1-08d95cb272bf
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT014.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB4219

Everything is ready, we can remove the fake NUMA node and
depends on device tree to create NUMA system.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
 xen/arch/arm/numa.c        | 45 ++++++++++++++++++++++----------------
 xen/include/asm-arm/numa.h |  7 ------
 2 files changed, 26 insertions(+), 26 deletions(-)

diff --git a/xen/arch/arm/numa.c b/xen/arch/arm/numa.c
index 2a18c97470..3b04220e60 100644
--- a/xen/arch/arm/numa.c
+++ b/xen/arch/arm/numa.c
@@ -18,6 +18,7 @@
  *
  */
 #include <xen/init.h>
+#include <xen/device_tree.h>
 #include <xen/nodemask.h>
 #include <xen/numa.h>
 #include <xen/pfn.h>
@@ -83,28 +84,34 @@ void __init numa_init(bool acpi_off)
     paddr_t ram_size = 0;
     paddr_t ram_end = 0;
 
-    printk(XENLOG_WARNING
-        "NUMA has not been supported yet, NUMA off!\n");
-    /* Arm NUMA has not been implemented until this patch */
-    numa_off = true;
+    /* NUMA has been turned off through Xen parameters */
+    if ( numa_off )
+        goto mem_init;
 
-    /*
-     * Set all cpu_to_node mapping to 0, this will make cpu_to_node
-     * function return 0 as previous fake cpu_to_node API.
-     */
-    for ( idx = 0; idx < NR_CPUS; idx++ )
-        cpu_to_node[idx] = 0;
-
-    /*
-     * Make node_to_cpumask, node_spanned_pages and node_start_pfn
-     * return as previous fake APIs.
-     */
-    for ( idx = 0; idx < MAX_NUMNODES; idx++ ) {
-        node_to_cpumask[idx] = cpu_online_map;
-        node_spanned_pages(idx) = (max_page - mfn_x(first_valid_mfn));
-        node_start_pfn(idx) = (mfn_x(first_valid_mfn));
+    /* Initialize NUMA from device tree when system is not ACPI booted */
+    if ( acpi_off )
+    {
+#ifdef CONFIG_DEVICE_TREE_NUMA
+        int ret = numa_device_tree_init(device_tree_flattened);
+        if ( !ret )
+            goto mem_init;
+        printk(XENLOG_WARNING
+               "Init NUMA from device tree failed, ret=%d\n", ret);
+#else
+        printk(XENLOG_WARNING
+               "CONFIG_DEVICE_TREE_NUMA is not set, NUMA off!\n");
+#endif
+        numa_off = true;
+    }
+    else
+    {
+        /* We don't support NUMA for ACPI boot currently */
+        printk(XENLOG_WARNING
+               "ACPI NUMA has not been supported yet, NUMA off!\n");
+        numa_off = true;
     }
 
+mem_init:
     /*
      * Find the minimal and maximum address of RAM, NUMA will
      * build a memory to node mapping table for the whole range.
diff --git a/xen/include/asm-arm/numa.h b/xen/include/asm-arm/numa.h
index a3982a94b6..425eb9aede 100644
--- a/xen/include/asm-arm/numa.h
+++ b/xen/include/asm-arm/numa.h
@@ -30,13 +30,6 @@ extern int numa_device_tree_init(const void *fdt);
 extern void numa_set_distance(nodeid_t from, nodeid_t to, uint32_t distance);
 extern void arch_numa_init_failed_fallback(void);
 
-/*
- * Temporary for fake NUMA node, when CPU, memory and distance
- * matrix will be read from DTB or ACPI SRAT. The following
- * symbols will be removed.
- */
-extern mfn_t first_valid_mfn;
-
 #else
 
 /* Fake one node for now. See also node_online_map. */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:31:13 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:31:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165706.302872 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlVx-000477-EE; Wed, 11 Aug 2021 10:31:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165706.302872; Wed, 11 Aug 2021 10:31:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlVw-000419-Ng; Wed, 11 Aug 2021 10:31:12 +0000
Received: by outflank-mailman (input) for mailman id 165706;
 Wed, 11 Aug 2021 10:31:09 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlTc-0000BQ-JN
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:28:48 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com (unknown
 [40.107.20.72]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 658d4b88-1517-46cd-a6ad-d99637b41d30;
 Wed, 11 Aug 2021 10:26:11 +0000 (UTC)
Received: from DB6P192CA0009.EURP192.PROD.OUTLOOK.COM (2603:10a6:4:b8::19) by
 VI1PR0802MB2605.eurprd08.prod.outlook.com (2603:10a6:800:b0::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.21; Wed, 11 Aug
 2021 10:26:04 +0000
Received: from DB5EUR03FT010.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:b8:cafe::24) by DB6P192CA0009.outlook.office365.com
 (2603:10a6:4:b8::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.17 via Frontend
 Transport; Wed, 11 Aug 2021 10:26:03 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT010.mail.protection.outlook.com (10.152.20.96) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.14 via Frontend Transport; Wed, 11 Aug 2021 10:26:03 +0000
Received: ("Tessian outbound efa8a7456a86:v101");
 Wed, 11 Aug 2021 10:26:03 +0000
Received: from a56e96869bed.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 BF6DD913-B5AD-4DAA-A8DD-F819D57CC6B8.1; 
 Wed, 11 Aug 2021 10:25:57 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id a56e96869bed.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:25:57 +0000
Received: from DB6PR0301CA0073.eurprd03.prod.outlook.com (2603:10a6:6:30::20)
 by DBBPR08MB4489.eurprd08.prod.outlook.com (2603:10a6:10:cf::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.17; Wed, 11 Aug
 2021 10:25:53 +0000
Received: from DB5EUR03FT058.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:6:30:cafe::a7) by DB6PR0301CA0073.outlook.office365.com
 (2603:10a6:6:30::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:53 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT058.mail.protection.outlook.com (10.152.20.255) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.14 via Frontend Transport; Wed, 11 Aug 2021 10:25:53 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX04.Arm.com
 (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:25:42 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10: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: 658d4b88-1517-46cd-a6ad-d99637b41d30
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IuwOyUAAWxazKiZukmts/nvTo8jdjdFUnue+r03ghW0=;
 b=WNQkYnDitYguyNwSUDkR8e/riYJEGzGBQSHPjqpZFGcZOBBDa+EDnv7l9wENaMDFO2ke09n7v8NKOdKont+gpSrd++PDzNw5eM8B3TmO5D+Nlw3TBh088zYwE8ET+Pgzj7skEan+DLCMONkeNKyEemfjwbgc+o7mEjpq+VZwFU0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 5ade92c257371a15
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nWz7lD1N9MQ+vVh0silXrGdk4dkzb+sv/sKRZi/Oc8ActucMqYVNJuY8SsylyG7I6CqTNwYksyo0WJ4FvTx9vudi1JfRYrYXwogCYsVunAg7ucsREZm3co+Ievb++H/0DIcSgv3YAJCi2VFd9AzOELH3gANF/2qcHp3M0ST/C0YOBqpkmdj8T8McknI7dasI1BspiBuxWiqDCVgBaN1gfhIdLMrYEQnzHETxsh5JKqjvXNeWl6sK0rx0/lRYMIt+uV9SYtGYErObHfi6hYAm/g4joG3fu3IGiv/Vz3Y4+X/TfQvpCiB6RKn4/oU3sgl4l/nHKR90UnorCr4kMi8pUA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IuwOyUAAWxazKiZukmts/nvTo8jdjdFUnue+r03ghW0=;
 b=CGeSRkQuzWPv7F/djCsVS5t4UmEY/gXGpiieNVb5QApommbSef1GK6PKpM0jeRAkW4D0lOGxM3TkOH+WbBDARBa1J9Nf0MK7/To/kMBK3JoQr8rrdWFIl7Loj9UACSpwFQwmBuk+ZyEe9U+zx6zcQm5PmP9kd/mrsQaLe2nbp0T8aGJNEy4HPiF9NTCPRtGIqNcPPRuI+wsj2P/daz7ZLBRVrqKuIIo8w3ScDlUDEYUhV4mZvp+VZFNExkco8SKgQCMq4hbwV5JPz/VrTA9TPyhS1q6m7prLLshbzYfT9T8EIW2B9kz2PC77qyvkYN16QlRh/qVGfSYgLCkYxw944Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IuwOyUAAWxazKiZukmts/nvTo8jdjdFUnue+r03ghW0=;
 b=WNQkYnDitYguyNwSUDkR8e/riYJEGzGBQSHPjqpZFGcZOBBDa+EDnv7l9wENaMDFO2ke09n7v8NKOdKont+gpSrd++PDzNw5eM8B3TmO5D+Nlw3TBh088zYwE8ET+Pgzj7skEan+DLCMONkeNKyEemfjwbgc+o7mEjpq+VZwFU0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 29/40] xen/arm: implement Arm arch helpers Arm to get memory map info
Date: Wed, 11 Aug 2021 18:24:12 +0800
Message-ID: <20210811102423.28908-30-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3143298d-8e71-4901-e29d-08d95cb26c3f
X-MS-TrafficTypeDiagnostic: DBBPR08MB4489:|VI1PR0802MB2605:
X-Microsoft-Antispam-PRVS:
	<VI1PR0802MB2605C51A7C5C1529054FBF2F9EF89@VI1PR0802MB2605.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:82;OLM:82;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 BlK9ImNVQoWJUeHxG+MREZIj4864o+A8iVQP0q4pN85VY6TEeh/DsD09p3zwz3IVO2DDgg93DcFEsuMIN0XJ/5JkA43qjCr0XSPZMcSm2fX648zMmFJ4PNyqbw72NWP43UgO67k+L0uQweLhY4WeZjHI+wzQfYkL+FsKcy7f88a2j94FPlqmnLDhI3SQAbEyy76IsK3ApRJxsHgRwX7xir6W1aODv2HsOg+bxqLsvHklfwAAcSwTwF+KoxFs5CzeH4gfoRybcjid1uxzsOrCkvyo82JkEs3RmvA6rnc8nptXQ1VZTBSCMBXDBpEdLXm3dMmonprfawaMpUnY1GyOOJ50Y1tBKbUq9dwwchCa7YOZa3Bp3DCPGbtOZRu25INVVeIHZauDcfVbvI5Kcmb5FCgVvx0dFULdZHAyMVSyDz/5tu+S9mc6vhq5VGlfAkBbl0DTlPOpgRyQK4Sr9Fq0qurRglQpI6DrQl9gbjKpIYPEFwL3SnpoQUtGeBvrj0woOBH7bazHQ/Se1tYL70r5FXybEIWBphksNB8QGCcYIZJaRn6M6Hk4RxPLpq4Y/SIQnHMoz8UyPcO3evvGVpR2SS6GDRZi5sEo2P0/M2NsLaenKDBl13hVqxkJo5Y2efBG4BZOLgJq/36zWadEqiA73rhzl2fr+ukJxHoPoH907eODWildMJf2B3nlW2KDUdaHW4LUR86BHh1CDBY08G2QB/Jmz0CFuQNAbdRezmx7fGeeJj/HeAEIeuAUZGDALQuZ49OHuYOzxlpKb9OvKrJyr+gZhCprmv+kv+w3/eYR4PQ=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(376002)(346002)(136003)(396003)(39860400002)(36840700001)(46966006)(2906002)(82310400003)(36756003)(81166007)(356005)(70206006)(2616005)(8676002)(44832011)(70586007)(82740400003)(86362001)(8936002)(83380400001)(5660300002)(7696005)(336012)(47076005)(1076003)(110136005)(4744005)(316002)(36860700001)(6666004)(26005)(186003)(4326008)(34070700002)(426003)(478600001)(2101003)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB4489
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT010.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	ec689fee-a26e-4c3a-6524-08d95cb2661a
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TVOnSUFiAQ+vvvJSOd2PTqquSYIKvJ5OzGZU7rykaBQL5VBZztowL7f5HfM/8UfHcTlMQqlXENgw2Farpw9bBV7mTvPx9nuhRtx0Sj9Jt5vcUXAiiz5M+8dbThGlhvK1v0ph0oLFsoMat3g4sa23/Xu1gRLd4uIHk6Fs1Fx7TwQfWYEe9uzM1OP504Gl70H2acZ7RaEWsufjZKNbUFjGqO+0b5rhmSqFdvzi9E1xR6LCxhnM0PX1TLP86J+2GyxHs3RqMyLSAOmPWL2lV8PtPQVnYsqF44WEwm1jahStk1AhMPyXqb/M/9G2Z+FAPEiUInNs9tHqaVXOeGmdQgBYJBLwfZJaRj8TlOfFAaZKb8BVmDZPOkkaJ9uG+0BCB/mhvdh61S3WOXdOEuAuJ92TISa1U6her1E/o1XPHtxHU9rZTJtUswrfNPXUWITRnwSJtZnlUD0iWzpvSZaXKV3hBFrBKqERPZaHT4j+5VAqYlWepf4faJW3O5I2gfZ/0+SX1gD69g3N0VksXdqlrd+R+lfd9cCgclYjOGl2HsGhu5OVFr6fucdLJbrPGeacAjzlpltOh+xfA5sQ3vyg6K7QYukmWUGgRTem80b4BP7hU7Fgn9SOCoJaMbnqE3OgbS0x8H7NuMQ2xrzAHwRLa7Q7i/bpeM9vPvk2EpiOK08NtV5dSqzYjV/DQ+ErTMEDYeSwaoBjmxZg/ALhpro8LnQuOLHk1t/86r+SaRU4wR2324Y=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(376002)(396003)(136003)(39850400004)(346002)(36840700001)(46966006)(2616005)(426003)(36860700001)(44832011)(336012)(47076005)(82740400003)(70206006)(5660300002)(316002)(83380400001)(70586007)(186003)(81166007)(2906002)(1076003)(4744005)(110136005)(4326008)(82310400003)(6666004)(26005)(478600001)(86362001)(7696005)(8676002)(36756003)(8936002)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:26:03.9596
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3143298d-8e71-4901-e29d-08d95cb26c3f
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT010.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0802MB2605

These two helpers are architecture APIs that are required by
nodes_cover_memory.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
 xen/arch/arm/numa.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/xen/arch/arm/numa.c b/xen/arch/arm/numa.c
index f61a8df645..6eebf8e8bc 100644
--- a/xen/arch/arm/numa.c
+++ b/xen/arch/arm/numa.c
@@ -126,3 +126,17 @@ void __init numa_init(bool acpi_off)
     numa_initmem_init(PFN_UP(ram_start), PFN_DOWN(ram_end));
     return;
 }
+
+uint32_t __init arch_meminfo_get_nr_bank(void)
+{
+	return bootinfo.mem.nr_banks;
+}
+
+int __init arch_meminfo_get_ram_bank_range(int bank,
+	unsigned long long *start, unsigned long long *end)
+{
+	*start = bootinfo.mem.bank[bank].start;
+	*end = bootinfo.mem.bank[bank].start + bootinfo.mem.bank[bank].size;
+
+	return 0;
+}
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:31:20 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:31:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165714.302898 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlW4-0005Ta-Dw; Wed, 11 Aug 2021 10:31:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165714.302898; Wed, 11 Aug 2021 10:31:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlW3-0005Rv-T8; Wed, 11 Aug 2021 10:31:19 +0000
Received: by outflank-mailman (input) for mailman id 165714;
 Wed, 11 Aug 2021 10:31:18 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlTr-0000BQ-Jj
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:29:03 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com (unknown
 [40.107.20.77]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id f69d0d80-9815-4f0f-b344-10710924f086;
 Wed, 11 Aug 2021 10:26:13 +0000 (UTC)
Received: from PR0P264CA0151.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1b::19)
 by DBBPR08MB4508.eurprd08.prod.outlook.com (2603:10a6:10:c6::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.17; Wed, 11 Aug
 2021 10:26:10 +0000
Received: from VE1EUR03FT040.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:100:1b:cafe::16) by PR0P264CA0151.outlook.office365.com
 (2603:10a6:100:1b::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16 via Frontend
 Transport; Wed, 11 Aug 2021 10:26:10 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT040.mail.protection.outlook.com (10.152.18.210) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:26:10 +0000
Received: ("Tessian outbound 79bfeeb089c1:v101");
 Wed, 11 Aug 2021 10:26:09 +0000
Received: from de6e02881e24.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 84F16701-ED76-4209-BDE7-67B91679EADA.1; 
 Wed, 11 Aug 2021 10:26:03 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id de6e02881e24.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:26:03 +0000
Received: from DB6PR0201CA0011.eurprd02.prod.outlook.com (2603:10a6:4:3f::21)
 by DB9PR08MB6796.eurprd08.prod.outlook.com (2603:10a6:10:2ad::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.21; Wed, 11 Aug
 2021 10:26:01 +0000
Received: from DB5EUR03FT036.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:3f:cafe::48) by DB6PR0201CA0011.outlook.office365.com
 (2603:10a6:4:3f::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15 via Frontend
 Transport; Wed, 11 Aug 2021 10:26:01 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT036.mail.protection.outlook.com (10.152.20.185) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:26:01 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX04.Arm.com
 (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:25:52 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:25: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: f69d0d80-9815-4f0f-b344-10710924f086
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EmBrAhy7WLonyjAWWI83mwWLyuxAd98SyWeYC4/1lnY=;
 b=0SuPGx4kP3ePgyyE3YPlv04R6Rfsw+iRcDwt780/laCKSANY3t+7T63Me1Mg7Sloi2simzZKfecILY7v5xVQ3Ti0Fq4I3zHMXEsKH3I3MdKAk83q2e4C7FZv/RUnHvQxcduPNDRFOvFUYasWCAid0/g2I5D4uSwDz26FIWvsIf0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 77d86dbcfb6f5e2c
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=np8irdwm+BAGgGfXMO42iTRJdK0LJMMvkJCAghFCAkQOI2VBW8rvcVZVfdKQN+62VAoIVW8GeDz55bSxvTZ95j9wxFMOjGOeKLqTMDFwnjFXc/0fkEmD3G6ojKzlHM7VQF33G8ZvG33K3dJQsXPLDjOSArQ5m5DmTOEhiALiDOdZ3Tcu7Th6j5V2MJsAk7USMwQSWnwk8F6O8GZUGiwxDwfSlS+r08xSwDGRjx2nYImbeFCSxtWXsplx1DzHz8woeJQlGidrK0+NqgV/sOAcPdskX4LIMsOsYkUxHQmEQWVLgDS1KALbsnaBfhTotaaxfFAWtcYsGx+tHLw8R8Fyqg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EmBrAhy7WLonyjAWWI83mwWLyuxAd98SyWeYC4/1lnY=;
 b=mxkt+GiwNUH2ldxebRUoWZWnTfGoh0iKyP+JjOAixBA4KApmrXucGbrOXkhc2nadjDz2NVHM84yJMiizMjX7y/QBFM94FUouHU1/mPRRnOWcn6lSlUUXV1Wbuwf839uyex6AeTWhUEUnctI1Gylz27efxG61uLy8DFoxE1dR31KuZ2CGjM28wEL+VUAlOPmIDDWMcNEgrpghE0SG66b+TactjejK+6aK+qAYDtjAMSc8enpETH4qXVIAGs3f3b18e0acBZ5Ss02Z4y75mzJ1ZgdRaxF4eeKhkettD0OjtECDBkh4ubQ5EXm/RXAwfePryLlCqkh5YJwiDEyB1AVErw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EmBrAhy7WLonyjAWWI83mwWLyuxAd98SyWeYC4/1lnY=;
 b=0SuPGx4kP3ePgyyE3YPlv04R6Rfsw+iRcDwt780/laCKSANY3t+7T63Me1Mg7Sloi2simzZKfecILY7v5xVQ3Ti0Fq4I3zHMXEsKH3I3MdKAk83q2e4C7FZv/RUnHvQxcduPNDRFOvFUYasWCAid0/g2I5D4uSwDz26FIWvsIf0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 33/40] xen: export bad_srat and srat_disabled to extern
Date: Wed, 11 Aug 2021 18:24:16 +0800
Message-ID: <20210811102423.28908-34-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 120cf18a-1854-477b-b679-08d95cb27018
X-MS-TrafficTypeDiagnostic: DB9PR08MB6796:|DBBPR08MB4508:
X-Microsoft-Antispam-PRVS:
	<DBBPR08MB450863BE6D9D7874FA54973F9EF89@DBBPR08MB4508.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:530;OLM:530;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 3HMucFgcMqqWdO0mD2yewyB4A+fBXURZEqBt47uItVUY1ZqZx3mZkOYJse8fe9lL8Ya6RPKnBmHQtvhI5ZvW1C5nz7zwOzcjKc532VfXpYmTWqR3NaHtbQKqAtEbTUGNnkA/q4HsmsNSVBLjel//gdbgAP51s3WZjP9uOt/+WgKPgTALsqsEz3utnswqUonIjvEx0BHYJmgcjVaBX7BDGpFOLqzWnLM7xtQ6SzMP4JDagW2xGAgW2kmDXhDhq5jhl21Xs4OE43BlgXvKYfJ88E7HnIB5WpovOpB23Q5Jxg1ajgjX1AW50FaUgJjzhSCQCYXVjxFZpJRVRCH2/DVBCKXXziZGJKsTHfurfNhkPmeDf7Oea0cSsfHs6GwmGJ6tn0VhmlJEnu/UnoUBjldHS8uO4BZZ47Z576Bzyodztz4Z2K55RqYpRuF3CqrNTiD2CXQqtkW4fzHxpKp16CucJ1+O60Ex6fJaEKO0iizx0E14UuB8Yk38X2rn4FAxfht+rCkZodVGh6cyHbJIKuJPt2+WwERavIb9R2TEKoFemUAnKs1mtBtQxM6CjTX9eZORw/XKmys9ltt4FZrkphcnT6Dvts8dqBZ9++tR93Y2L8LF87vjfPj3WIdmCS2gh79oS3qFkj4eRYLWcyQ8GFJ/I+5sjLm20WQ5fAhVx3EMeOoZus7aUzwK3NJarZ36d31GD2SwJaWXonpStNUjLZj+ePnlwQ/puC87/XDpobS2QDQ8oZtT4t3R73+5rfKfQmsC/2vbbcu4py8MYpR8MFbkvsvvXY1O4Tu3kF8fl0BqSmI=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(346002)(136003)(39860400002)(396003)(376002)(46966006)(36840700001)(2906002)(186003)(70206006)(8676002)(81166007)(4326008)(336012)(83380400001)(70586007)(82740400003)(8936002)(478600001)(36756003)(47076005)(110136005)(82310400003)(356005)(7696005)(26005)(1076003)(36860700001)(2616005)(316002)(34070700002)(5660300002)(6666004)(86362001)(44832011)(426003)(36900700001)(2101003);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6796
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT040.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	0538a474-f12f-418d-7303-08d95cb26ad0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qiTE+s8meOUL4M8YUBDqWb6KYBlwNCj8rGuGRu2Fd708qzNQgC45iXFFLYiyVj0r/Eivzk8t8BodM8LdVcouih9J5iSsqJph22MKs6E9NWP+HAw+4ed08SmGlyjvmncB2WbD4or93aErRb0VbGPnKTNNWYBsiMJGJKMYF/bwQjuzYGqZ8sY0RBRL26v0nW/7Q7n2vPgx8Q5xH+bESOUd72r3ULE8K+iI6tc37aPniwbXuibQHs1xOj22LxwaHYyUEPa+P5dnBNCDkvLNBw5AzMXHgPYKHND4Z5fcXmxd4E8M5V9wJ+EWdExIOKXc4TUx26YuI0P2OPIbG07jlV3cgEPI8FW/46DGHNf6mD9pobp808ZrhWJvitvoz+BRQz17NHwAbSvxuOhWswW4E/GpN2UaWWHCNGS+cIcY6psgdhRhD6boYNvAf7t1pHEbuAxhlVCSkO7zJ52Uw63qOAgVcu9F/5yZbpu3vQnDSPNWpGvaW6tuZqmvZ7PE5qW5WnKwbE/oPsYlW+phd7a1D85hSGvMIPKo0R/HbnKAGaxng3Zv2jivLJh+ortD/nGFzSUjA3qjoAqbmj9Xm7gLEGdLvttOQcfy4+IYO/tF1QWIoGmHG1xr9wDvXbRbFDGoEhuvW6I6pYTYg0fG3MjoHYHFoZbXgLTce5T0KXHCu/EWiQHbv1bKNSvWM3pBzgmHukxtrmcFrUt87OHf6cVYzCJCfV2jGgqOJ65UZHPZ+X8v+NA=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(376002)(346002)(39860400002)(136003)(396003)(36840700001)(46966006)(26005)(70586007)(1076003)(83380400001)(186003)(70206006)(110136005)(4326008)(5660300002)(47076005)(7696005)(36860700001)(316002)(44832011)(2906002)(82740400003)(81166007)(2616005)(426003)(336012)(8936002)(8676002)(478600001)(36756003)(6666004)(82310400003)(86362001)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:26:10.3088
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 120cf18a-1854-477b-b679-08d95cb27018
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT040.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB4508

These two functions are architecture implementation. But common
code out of arch will invoke them, so we export them to extern.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
 xen/arch/arm/numa_device_tree.c | 4 ++--
 xen/arch/x86/srat.c             | 2 +-
 xen/include/asm-x86/numa.h      | 1 -
 xen/include/xen/numa.h          | 2 ++
 4 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/numa_device_tree.c b/xen/arch/arm/numa_device_tree.c
index f74b7f6427..f7f2eeebc3 100644
--- a/xen/arch/arm/numa_device_tree.c
+++ b/xen/arch/arm/numa_device_tree.c
@@ -26,12 +26,12 @@
 
 s8 device_tree_numa = 0;
 
-static int srat_disabled(void)
+int srat_disabled(void)
 {
     return numa_off || device_tree_numa < 0;
 }
 
-static __init void bad_srat(void)
+__init void bad_srat(void)
 {
     printk(KERN_ERR "DT: NUMA information is not used.\n");
     device_tree_numa = -1;
diff --git a/xen/arch/x86/srat.c b/xen/arch/x86/srat.c
index 3d4d90a622..c979939fdd 100644
--- a/xen/arch/x86/srat.c
+++ b/xen/arch/x86/srat.c
@@ -97,7 +97,7 @@ nodeid_t setup_node(unsigned pxm)
 	return node;
 }
 
-static __init void bad_srat(void)
+__init void bad_srat(void)
 {
 	int i;
 	printk(KERN_ERR "SRAT: SRAT not used.\n");
diff --git a/xen/include/asm-x86/numa.h b/xen/include/asm-x86/numa.h
index e0253c20b7..e63869135c 100644
--- a/xen/include/asm-x86/numa.h
+++ b/xen/include/asm-x86/numa.h
@@ -13,7 +13,6 @@ extern nodeid_t pxm_to_node(unsigned int pxm);
 
 #define ZONE_ALIGN (1UL << (MAX_ORDER+PAGE_SHIFT))
 
-extern int srat_disabled(void);
 extern nodeid_t setup_node(unsigned int pxm);
 extern void srat_detect_node(int cpu);
 
diff --git a/xen/include/xen/numa.h b/xen/include/xen/numa.h
index 094ab904c9..490381bd13 100644
--- a/xen/include/xen/numa.h
+++ b/xen/include/xen/numa.h
@@ -75,6 +75,8 @@ extern int compute_hash_shift(struct node *nodes, int numnodes,
 extern int conflicting_memblks(u64 start, u64 end);
 extern void cutoff_node(int i, u64 start, u64 end);
 extern int valid_numa_range(u64 start, u64 end, nodeid_t node);
+extern int srat_disabled(void);
+extern void bad_srat(void);
 
 extern void numa_init_array(void);
 extern void numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:31:23 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:31:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165718.302906 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlW6-0005qe-Si; Wed, 11 Aug 2021 10:31:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165718.302906; Wed, 11 Aug 2021 10: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 1mDlW5-0005nL-SE; Wed, 11 Aug 2021 10:31:21 +0000
Received: by outflank-mailman (input) for mailman id 165718;
 Wed, 11 Aug 2021 10:31:20 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlRH-0000BQ-EJ
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:26:23 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com (unknown
 [2a01:111:f400:fe05::606])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id dbbcb941-dcc2-4247-9607-19b0fc439438;
 Wed, 11 Aug 2021 10:25:34 +0000 (UTC)
Received: from DB8PR04CA0018.eurprd04.prod.outlook.com (2603:10a6:10:110::28)
 by DB9PR08MB6428.eurprd08.prod.outlook.com (2603:10a6:10:263::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.19; Wed, 11 Aug
 2021 10:25:32 +0000
Received: from DB5EUR03FT030.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:110:cafe::7d) by DB8PR04CA0018.outlook.office365.com
 (2603:10a6:10:110::28) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.17 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:32 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT030.mail.protection.outlook.com (10.152.20.144) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:25:32 +0000
Received: ("Tessian outbound ab45ca2b67bc:v101");
 Wed, 11 Aug 2021 10:25:32 +0000
Received: from bb46b63f0042.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 E2D62C8C-EABD-41FC-A6A5-68C19FF45019.1; 
 Wed, 11 Aug 2021 10:25:26 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id bb46b63f0042.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:25:26 +0000
Received: from DB7PR02CA0014.eurprd02.prod.outlook.com (2603:10a6:10:52::27)
 by AM6PR08MB3880.eurprd08.prod.outlook.com (2603:10a6:20b:86::25) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.19; Wed, 11 Aug
 2021 10:25:24 +0000
Received: from DB5EUR03FT027.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:52:cafe::61) by DB7PR02CA0014.outlook.office365.com
 (2603:10a6:10:52::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:23 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT027.mail.protection.outlook.com (10.152.20.121) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:25:23 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX03.Arm.com
 (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:25:15 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:25: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: dbbcb941-dcc2-4247-9607-19b0fc439438
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=aAb73wtz3fWrvny7PX7rdYo85rQ3rmJfUdReR1U9JWY=;
 b=6/EeWRBO73ccZ2Hv4Rg3kfSaniReks//hRt4UXxGO5+E15NMaJpNM7qlH+e06gsyKrhBXuvVCyVo0aQ0JAy4VtaUFAJUvm7/RvtHQaGDX548tByoDnDPqKS4nqarZZq9kIIX5YYHhg6jKLJkZMgARMCRmTuvg93Z/kknvonIbmk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 54924720137e9eb1
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eGPLVYQUDH+2tN0FDsW1j/wO9jIUte8wpubDFfHTFgDB6WPw0W30oZdw3yjS7AEXg0i/ZAlbazkEtFhOuf6lYZ3pfemHOgOBL+y5xzIU+FGpT2W7tpISwl8Zo2dZU5ct0FLCY1U2RXm96SVAUKik9uFlCOhb+CMfkPDC8esmGYV6YSxXP/H/0CW3e3zaZ6XRwNtJVe6EUDBVLTJOXFgYMi/qBYDNPbfDcDgJ1/hdB0y/Lv5w1XeTu4K0jPIhWyOrcw01DGEgDyjj61uLgebuuSULRbQIp3hfzy4PJpcR2kovP1reUbCPvV9ca+QC0IcDslI0CyJymEBgapa2ggilnA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=aAb73wtz3fWrvny7PX7rdYo85rQ3rmJfUdReR1U9JWY=;
 b=Eswy+Tl9go+3cdhJbjLznjzrt1N8WHdT6lI9jTJao2hVEJI2dQHrJS3OQVT0RkSOey3ZH2yJs8lbfRkPG1C19xyhABqW7kV3OXnpyCO9oQZdSS/gsLDkGWUnq6DVohl3DrJOP3+YpTvP8ww4LiDRg8878tq0ljrkH0f+x2wXZubJiGnMZr8KVYVoVbIWqJW7+29q0dGTqVWk0XBYKkEoXR5d0uhsGdd348v1DZ23J/gft3v60vFXZjbJEK4tB7uOe2WR9Y/sxga/VvcVkn7i6kBm2sc04zU7Riwv03+qV78tjANNBWZBfvfURFF5+4wKyjOzuExadxUIm6IPXG354Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=aAb73wtz3fWrvny7PX7rdYo85rQ3rmJfUdReR1U9JWY=;
 b=6/EeWRBO73ccZ2Hv4Rg3kfSaniReks//hRt4UXxGO5+E15NMaJpNM7qlH+e06gsyKrhBXuvVCyVo0aQ0JAy4VtaUFAJUvm7/RvtHQaGDX548tByoDnDPqKS4nqarZZq9kIIX5YYHhg6jKLJkZMgARMCRmTuvg93Z/kknvonIbmk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 18/40] xen/arm: Keep memory nodes in dtb for NUMA when boot from EFI
Date: Wed, 11 Aug 2021 18:24:01 +0800
Message-ID: <20210811102423.28908-19-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 8cb10df8-21c5-4b73-9be1-08d95cb259a2
X-MS-TrafficTypeDiagnostic: AM6PR08MB3880:|DB9PR08MB6428:
X-Microsoft-Antispam-PRVS:
	<DB9PR08MB6428E430E0F9830EBA1108BD9EF89@DB9PR08MB6428.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:8273;OLM:8273;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 oHj/b4lCy8+f6amO8ACyg847P754dbVpNG9IC7PlmrNI2PE19cqL4mClEqioiqxxbA0oO4s/Bp0OV4+BROK1soQXiCX29vf6RktQUm65amepk3U1NeN3J8bBtB9axg5xDDVpATR/7YeCDUrYULFBr7tIWHgbyGq8yqQDaUJwK1E25JW1eDHlX2wlz/hiA1lc5ixiMu/Qjp5rvTUf+7M73M8atf9WPuO1yFfI6adppARb1vSxZw9TJC1PC40PjbbtSxoehr4+C/hDWT5MC3z5p4w/FghKmNurwC2kqfvzducCeKP5CemoQ1fDt0Z9KLY18jpe2lxhf7J9oi5qglMZ49eExtN0gPDa66frg8Eu55ibrBHZcDNZu4OErcfSjHZNqJtvpNSdm7/YVytrip9GHUaGfdZn9N2XLhkUA19E0lGJKV296C27S6Wj6aBJftY1vWfB5AbgQaq8nIp75hbAaz+8CeHzZP47W06ACUXk/qAqruF9PyL63DKD1KYoS3yN88cd1Jz/vWfT4tfBFOTIZWb91bE7Cz2oEmsQC/ZqCLkKf6ykX3OGx0gKniNoKADXEZarshDbQTFqvfBDFu8Z/3xTYCGgihWwk5a4K2ADc2LClM3YO1hz8hgXGCUueudWgnThl2kSIY8XT/zop0glOS4xKsFcToBcPPJqcUwdDsaIy6aLw/W9qiBBDZi/mBqSJfr0RUHJCHR+4E+ePJYqG8nZxCQm0/wxvZFm07AxLBsV3nnA8S1o4jdxdVjnMYM+jArwlw+5Ta5rnNkqArSn/Kt6yIyPzxW18CS67g6ByOE=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(396003)(346002)(136003)(376002)(39860400002)(46966006)(36840700001)(8936002)(5660300002)(356005)(8676002)(110136005)(47076005)(34070700002)(6666004)(316002)(36756003)(81166007)(36860700001)(86362001)(70586007)(426003)(83380400001)(2906002)(478600001)(82310400003)(7696005)(26005)(82740400003)(1076003)(44832011)(186003)(2616005)(70206006)(336012)(4326008)(2101003)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3880
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT030.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	7fdace4b-3074-4875-041d-08d95cb2545c
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mquuhGLu44v6Kbc0+QdgAOwjJ9ihYI0myf2WCdNxs9iWWfeEMc0OZTeq0oLK/veSEJU6to3PlgRd8LV3jyOT+tDOZ2EXGhFrbTFUzj0tzu+Bg0cz48GvpepnZf2KsMgMVtoIG915tPhnq+VN27MkUSBYonT+HTubt7syLYTtrcSCUDoskvrf+M19zGA/G3a82nmgO2OxkpROKoAZHHDIZE2hQXHFpNwwGEcUxYyro2YpnsynyU53d344ZZMV3ZpVDXj1136byQk1CkIXdBB6qKcAYI7KKDDdRRxOLEHrh+js1Q33bhE/pxji6J8QPCWe073gwXXgreCtz1izQgkC3VQ7nepXFddo3eLzTaT/o1o0QUBoy7T4tWdUbcgY5YpM9/KhINgXD7Ul0qmA9bxiEidul+gHQqZDmD3atKPzQCXdA8v9SP9lnbgf1UJ3XS/FAU0gcvvsoTN+BclCifPLIgDoHeJS5chjqoufUPdwBJhuBiwZiQa4RcdfxyLdJKsiJd6g/yfZ26m2sU+JIt0fzxTb7HBTejWF+LWzJK2vLMenf7WpYPcWZbsisSXyNdAzvhV4kH+JV4/vsZBHWUvtpmNuYBgzsyPaRVwb8Lev5WlFPBJd0ZBi8nowX260ss6nDnARG5yhnwqaXzEILLaML8O1NkdOoSU3bOnwfyhLfTCdcPlyEJhZWaz+ggJxiWJhiWMUGdR67h6FzDvhvnK5SoOMm67cKYXFjyhNoizll/g=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(396003)(39850400004)(376002)(346002)(136003)(36840700001)(46966006)(110136005)(426003)(86362001)(7696005)(36756003)(316002)(2906002)(4326008)(44832011)(82310400003)(336012)(2616005)(8676002)(1076003)(36860700001)(8936002)(83380400001)(82740400003)(70586007)(5660300002)(70206006)(478600001)(81166007)(6666004)(186003)(26005)(47076005)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:25:32.7328
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8cb10df8-21c5-4b73-9be1-08d95cb259a2
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT030.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6428

EFI can get memory map from EFI system table. But EFI system
table doesn't contain memory NUMA information, EFI depends on
ACPI SRAT or device tree memory node to parse memory blocks'
NUMA mapping.

But in current code, when Xen is booting from EFI, it will
delete all memory nodes in device tree. So in UEFI + DTB
boot, we don't have numa-node-id for memory blocks any more.

So in this patch, we will keep memory nodes in device tree for
NUMA code to parse memory numa-node-id later.

As a side effect, if we still parse boot memory information in
early_scan_node, bootmem.info will calculate memory ranges in
memory nodes twice. So we have to prvent early_scan_node to
parse memory nodes in EFI boot.

As EFI APIs only can be used in Arm64, so we introduced a wrapper
in header file to prevent #ifdef CONFIG_ARM_64/32 in code block.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
 xen/arch/arm/bootfdt.c      |  8 +++++++-
 xen/arch/arm/efi/efi-boot.h | 25 -------------------------
 xen/include/asm-arm/setup.h |  6 ++++++
 3 files changed, 13 insertions(+), 26 deletions(-)

diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
index 476e32e0f5..7df149dbca 100644
--- a/xen/arch/arm/bootfdt.c
+++ b/xen/arch/arm/bootfdt.c
@@ -11,6 +11,7 @@
 #include <xen/lib.h>
 #include <xen/kernel.h>
 #include <xen/init.h>
+#include <xen/efi.h>
 #include <xen/device_tree.h>
 #include <xen/libfdt/libfdt.h>
 #include <xen/sort.h>
@@ -335,7 +336,12 @@ static int __init early_scan_node(const void *fdt,
 {
     int rc = 0;
 
-    if ( device_tree_node_matches(fdt, node, "memory") )
+    /*
+     * If system boot from EFI, bootinfo.mem has been set by EFI,
+     * so we don't need to parse memory node from DTB.
+     */
+    if ( device_tree_node_matches(fdt, node, "memory") &&
+         !arch_efi_enabled(EFI_BOOT) )
         rc = process_memory_node(fdt, node, name, depth,
                                  address_cells, size_cells, &bootinfo.mem);
     else if ( depth == 1 && !dt_node_cmp(name, "reserved-memory") )
diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
index cf9c37153f..d0a9987fa4 100644
--- a/xen/arch/arm/efi/efi-boot.h
+++ b/xen/arch/arm/efi/efi-boot.h
@@ -197,33 +197,8 @@ EFI_STATUS __init fdt_add_uefi_nodes(EFI_SYSTEM_TABLE *sys_table,
     int status;
     u32 fdt_val32;
     u64 fdt_val64;
-    int prev;
     int num_rsv;
 
-    /*
-     * Delete any memory nodes present.  The EFI memory map is the only
-     * memory description provided to Xen.
-     */
-    prev = 0;
-    for (;;)
-    {
-        const char *type;
-        int len;
-
-        node = fdt_next_node(fdt, prev, NULL);
-        if ( node < 0 )
-            break;
-
-        type = fdt_getprop(fdt, node, "device_type", &len);
-        if ( type && strncmp(type, "memory", len) == 0 )
-        {
-            fdt_del_node(fdt, node);
-            continue;
-        }
-
-        prev = node;
-    }
-
    /*
     * Delete all memory reserve map entries. When booting via UEFI,
     * kernel will use the UEFI memory map to find reserved regions.
diff --git a/xen/include/asm-arm/setup.h b/xen/include/asm-arm/setup.h
index c4b6af6029..e4fb5f0d49 100644
--- a/xen/include/asm-arm/setup.h
+++ b/xen/include/asm-arm/setup.h
@@ -123,6 +123,12 @@ void device_tree_get_reg(const __be32 **cell, u32 address_cells,
 u32 device_tree_get_u32(const void *fdt, int node,
                         const char *prop_name, u32 dflt);
 
+#if defined(CONFIG_ARM_64)
+#define arch_efi_enabled(x) efi_enabled(x)
+#else
+#define arch_efi_enabled(x) (0)
+#endif
+
 #endif
 /*
  * Local variables:
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:31:26 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:31:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165720.302916 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlWA-0006cX-1z; Wed, 11 Aug 2021 10:31:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165720.302916; Wed, 11 Aug 2021 10:31:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlW9-0006a8-Fp; Wed, 11 Aug 2021 10:31:25 +0000
Received: by outflank-mailman (input) for mailman id 165720;
 Wed, 11 Aug 2021 10:31:21 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlRK-0002Qj-Gg
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:26:26 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com (unknown
 [40.107.6.45]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 7d735e58-fa8e-11eb-a052-12813bfff9fa;
 Wed, 11 Aug 2021 10:25:46 +0000 (UTC)
Received: from FR3P281CA0038.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4a::14)
 by AM0PR08MB3857.eurprd08.prod.outlook.com (2603:10a6:208:104::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.21; Wed, 11 Aug
 2021 10:25:44 +0000
Received: from VE1EUR03FT047.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:d10:4a:cafe::66) by FR3P281CA0038.outlook.office365.com
 (2603:10a6:d10:4a::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.8 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:44 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT047.mail.protection.outlook.com (10.152.19.218) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:25:44 +0000
Received: ("Tessian outbound 312d863716bf:v101");
 Wed, 11 Aug 2021 10:25:43 +0000
Received: from ae3ebfe48086.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 E4103E1B-28E2-42BA-9599-D597A9794027.1; 
 Wed, 11 Aug 2021 10:25:37 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ae3ebfe48086.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:25:37 +0000
Received: from DB7PR05CA0037.eurprd05.prod.outlook.com (2603:10a6:10:2e::14)
 by DB6PR0801MB1637.eurprd08.prod.outlook.com (2603:10a6:4:3a::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.19; Wed, 11 Aug
 2021 10:25:35 +0000
Received: from DB5EUR03FT024.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:2e:cafe::66) by DB7PR05CA0037.outlook.office365.com
 (2603:10a6:10:2e::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:35 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT024.mail.protection.outlook.com (10.152.20.67) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:25:35 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX03.Arm.com
 (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:25:30 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 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: 7d735e58-fa8e-11eb-a052-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EeFam+v6ajvMkhzqL2mzgwF/d0QSwcJY+2wQP0aX944=;
 b=WwhjurqVbqaCK6FSBbiEdvy9S08a0uEw1kf2OT6EtI/gGgxlGZYEIje+rcUYIRFSEQu/aK9Btfk+/sSj33fUVq1M+nLJfFb8k4Eq1QM2dHd243G3WzCvkYOGOS7oikW7f9Vj1LaVVKUg4UI9Rn9Isb7UIyhNBkwT122KJJhV17M=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 2dae50ff4c724ac6
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Me3ZN3wUJZdH+hGDLk9MJEuH+NB7/lh3TDzFeu9gCJ9083G/fZ8MSAZE+q5Wbiove8QCocwZc3mY9W2iqkZoaI3MBSCk5yhZDUYUMlfKi4VpOoFGiw3MEklCq3SaHAqsovsS/cBQtsjc7MA4GiGE19+paKX+H/6rBsiLnqVu5PyItK8zwrz+kRh73klyZKkrLFcbkN+nSRMjqTsNVhsQMqQJc7XgV/cUNqlcCalgUs9GN5KadxcZEKwDYQCaKMygiOTc/ITCTbCiDFwVHtCyPocuOFT9vyv0gUr1G+XkS7ULjoD/dgj05tqxREffbUd/j1R45/Na7nRHr0k4RHK8lg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EeFam+v6ajvMkhzqL2mzgwF/d0QSwcJY+2wQP0aX944=;
 b=hibgSyTZ/I/xQErSKBffncWN+KnkxLgh89zsSZD7M4oMeL0emQltkZe3feRrWEx7pAask3mvPygHBRY/pFNz4t3nJsKwmri0mJ/5iJrCvzbiTyA/7Q3JJpgq1Qlmk5VwErx8qgYcgsAMUzKKjIne0pppJcXoEScW0J8V6BFJwDM7LsGmFzRXh5yhkwFpjW4daGZe19WamkcDBAqHR2X7QwC30j05oVyg5hq6CHooRCiVn7RcRluPuMeN7oWzyKgIyYbDoPi5POAD3Eb+hgs4rxofzM+7qYK9lovqLHHGt4fhBkfzGQVTH4VLwLCqfA+dAR+FnPY6P68bxWzVzFTnzQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EeFam+v6ajvMkhzqL2mzgwF/d0QSwcJY+2wQP0aX944=;
 b=WwhjurqVbqaCK6FSBbiEdvy9S08a0uEw1kf2OT6EtI/gGgxlGZYEIje+rcUYIRFSEQu/aK9Btfk+/sSj33fUVq1M+nLJfFb8k4Eq1QM2dHd243G3WzCvkYOGOS7oikW7f9Vj1LaVVKUg4UI9Rn9Isb7UIyhNBkwT122KJJhV17M=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 24/40] xen/arm: introduce a helper to parse device tree NUMA distance map
Date: Wed, 11 Aug 2021 18:24:07 +0800
Message-ID: <20210811102423.28908-25-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f3fc3f31-6bc4-4723-30a6-08d95cb26085
X-MS-TrafficTypeDiagnostic: DB6PR0801MB1637:|AM0PR08MB3857:
X-Microsoft-Antispam-PRVS:
	<AM0PR08MB3857D7D0C33CE7A34AD169349EF89@AM0PR08MB3857.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:7219;OLM:7219;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 eHhSsoYwZqvxlAMNAvGj7S3LGzH6zAc638L7Cnqejv/rxxKGMuhg2toy7n8OlYE+dAA/dDjMuo4RjBS1ZHd2N+2HQy6R9S9h0X0hoeGi+H6/64TjAe/TH++jhtSXzqgonK/2xRmR7vaaTnb3aWKvwYTzm3zOyCOSx9BixRZMw5xliMzS/CR3gjnWbCpYHDk39UwttNcThyPiTcDWJ1Trw0vZWV17oq8gdunjNPMFyYeB41IwcCZzyGW//s2bdCahz+zneWjqSvKh/jSQPpvc6pQTxZTBEUn2PU05cknM9qk1OXYFPtF84TYfejWZQvpVBlqMZ62nhIA5eTRUjRbOSppEr2TVWyVqe6D5XAH9uuEZUw07r9l76Ud3kgt0chwwqpHk07vvTZWLcaPxnDNYDpICzrv+gaJONfgozlbqvW1oBdljhWn5yrkmRiDeBpj9C00jrStrJC+9h81sFrXSudtr94+NGB2cXwjTfRCXrTJBNKrSFe//LY473Hg4z+quDD6Ugt0KK5M9hdAiIkrdAc/8u2ziyDCmFHLFHoqNc9f8Q7OpzKrDoxu82byVxkj8z/8egZRLPwjmUhcGe4fiZiOR/RLpbS5PPQC0qgU8sHLRHxIZNIYWqxo4dcrGlbnklPtShtVY1NTZdU1V19Z0Sd5M00xG8DbXkMj8MI4LMojzkYZsCh2mspVVVhJWHcWcQQBRiGshKS3r6KpvfPOoDm0qAJ7C6MG6QsOeK41NHn25Tj9FzTPrYt+pBB0OZYO8FkWKsAhqxqnov1pXhvZsJAK9c+46jKcc+zUf4r9Wjsw=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(376002)(396003)(39850400004)(136003)(346002)(46966006)(36840700001)(47076005)(70206006)(70586007)(7696005)(2616005)(8936002)(34070700002)(426003)(44832011)(110136005)(4326008)(86362001)(5660300002)(81166007)(8676002)(6666004)(186003)(356005)(2906002)(36756003)(478600001)(82740400003)(1076003)(83380400001)(82310400003)(26005)(316002)(36860700001)(336012)(36900700001)(2101003);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB1637
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT047.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	5f4fbaee-efb4-4af9-bac7-08d95cb25b55
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Nokllosg8HiW03KDgHDlI/F77T8AJ/WDwwoXsJA1KkUiCrRDipNUdzZOhxwfrJt2coT/0V8mMjxkchdmb32eg5ejJ7r6GtiIlH0RpWASIZW6HPqTr8m9aoFO8BamEIkZX0J/epvpJ0hD0rs7c1T1aCSXVQlgB6M7lSz1rHikAeAWsANE9TFYPSd8ohcCd46KFJohMxZK/vnQt+OzYJw9ofo9oHH8euLhDl4s19oC/s0UVpYTMk+ElzterJpBVFoGlDPhJTCdp3ZzqijfWMJirMP6mDM51pJOdgs2PBUr2BVfmkdyEXl/bnoJe/Bu3064xh4RgauCpPdWtd8oJIbU/xpIwk6MfMzoP1ubAx4LcYxIntzcNucWW/3oeKbrfaz8nyjKzO+dnUuvBlNzdRCxBT6+UueZROcvF8CE/zLkKnIy8hSy+IVIrh99Iao/bLMxSONp9aAsrJ4sUwF06dfFEjFO2hwEhluaEpBrytUqEdRS6Yf2i9nK2i1yi2ecwPpH1cW93gC9+v/TO5V4hQOd2dFP3g4Lc30Gk5itXHOutPrI7BQGkJLk0UyQPxxNB1sQwXqq8sApU+9dFM645PKcueDyT2R47ONl5ce+W3MdHZYHcDqlZFsU52pPl2jlFq/LBtdXtWq0xoolQ9pKO90wh20rp+yPfToqEc5qPRapxU7F+F3Kke4yDb0lX65qA63M3Gl2QaT+3CsNrUsc9iNmtWWY6ArNxYizNuOV3q6STIs=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(396003)(39860400002)(376002)(136003)(346002)(46966006)(36840700001)(4326008)(8676002)(2906002)(316002)(86362001)(336012)(110136005)(7696005)(6666004)(478600001)(70206006)(1076003)(70586007)(47076005)(26005)(82740400003)(5660300002)(426003)(82310400003)(2616005)(44832011)(8936002)(83380400001)(186003)(36860700001)(81166007)(36756003)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:25:44.1721
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f3fc3f31-6bc4-4723-30a6-08d95cb26085
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT047.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3857

A NUMA aware device tree will provide a "distance-map" node to
describe distance between any two nodes. This patch introduce a
new helper to parse this distance map.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
 xen/arch/arm/numa_device_tree.c | 67 +++++++++++++++++++++++++++++++++
 1 file changed, 67 insertions(+)

diff --git a/xen/arch/arm/numa_device_tree.c b/xen/arch/arm/numa_device_tree.c
index bbe081dcd1..6e0d1d3d9f 100644
--- a/xen/arch/arm/numa_device_tree.c
+++ b/xen/arch/arm/numa_device_tree.c
@@ -200,3 +200,70 @@ device_tree_parse_numa_memory_node(const void *fdt, int node,
 
     return 0;
 }
+
+/* Parse NUMA distance map v1 */
+int __init
+device_tree_parse_numa_distance_map_v1(const void *fdt, int node)
+{
+    const struct fdt_property *prop;
+    const __be32 *matrix;
+    int entry_count, len, i;
+
+    printk(XENLOG_INFO "NUMA: parsing numa-distance-map\n");
+
+    prop = fdt_get_property(fdt, node, "distance-matrix", &len);
+    if ( !prop )
+    {
+        printk(XENLOG_WARNING
+               "NUMA: No distance-matrix property in distance-map\n");
+
+        return -EINVAL;
+    }
+
+    if ( len % sizeof(uint32_t) != 0 )
+    {
+        printk(XENLOG_WARNING
+               "distance-matrix in node is not a multiple of u32\n");
+        return -EINVAL;
+    }
+
+    entry_count = len / sizeof(uint32_t);
+    if ( entry_count <= 0 )
+    {
+        printk(XENLOG_WARNING "NUMA: Invalid distance-matrix\n");
+
+        return -EINVAL;
+    }
+
+    matrix = (const __be32 *)prop->data;
+    for ( i = 0; i + 2 < entry_count; i += 3 )
+    {
+        uint32_t from, to, distance;
+
+        from = dt_read_number(matrix, 1);
+        matrix++;
+        to = dt_read_number(matrix, 1);
+        matrix++;
+        distance = dt_read_number(matrix, 1);
+        matrix++;
+
+        if ( (from == to && distance != NUMA_LOCAL_DISTANCE) ||
+            (from != to && distance <= NUMA_LOCAL_DISTANCE) )
+        {
+            printk(XENLOG_WARNING
+                   "Invalid nodes' distance from node#%d to node#%d = %d\n",
+                   from, to, distance);
+            return -EINVAL;
+        }
+
+        printk(XENLOG_INFO "NUMA: distance from node#%d to node#%d = %d\n",
+               from, to, distance);
+        numa_set_distance(from, to, distance);
+
+        /* Set default distance of node B->A same as A->B */
+        if (to > from)
+             numa_set_distance(to, from, distance);
+    }
+
+    return 0;
+}
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:31:28 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:31:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165724.302920 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlWB-0006xH-IK; Wed, 11 Aug 2021 10:31:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165724.302920; Wed, 11 Aug 2021 10:31:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlWA-0006tL-V2; Wed, 11 Aug 2021 10:31:26 +0000
Received: by outflank-mailman (input) for mailman id 165724;
 Wed, 11 Aug 2021 10:31:22 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlSU-0000BQ-G8
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:27:38 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com (unknown
 [40.107.1.54]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id b0d107f6-ed81-4e24-8ce5-e2f934523559;
 Wed, 11 Aug 2021 10:25:58 +0000 (UTC)
Received: from AM5PR0701CA0022.eurprd07.prod.outlook.com
 (2603:10a6:203:51::32) by DBBPR08MB4314.eurprd08.prod.outlook.com
 (2603:10a6:10:ce::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.17; Wed, 11 Aug
 2021 10:25:56 +0000
Received: from AM5EUR03FT016.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:203:51:cafe::9c) by AM5PR0701CA0022.outlook.office365.com
 (2603:10a6:203:51::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.4 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:56 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT016.mail.protection.outlook.com (10.152.16.142) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.14 via Frontend Transport; Wed, 11 Aug 2021 10:25:56 +0000
Received: ("Tessian outbound ab45ca2b67bc:v101");
 Wed, 11 Aug 2021 10:25:56 +0000
Received: from 8eeff61bb6e1.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 76596E82-7C72-4D3F-B57F-77F15178233B.1; 
 Wed, 11 Aug 2021 10:25:34 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 8eeff61bb6e1.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:25:34 +0000
Received: from DB7PR05CA0045.eurprd05.prod.outlook.com (2603:10a6:10:2e::22)
 by AM5PR0802MB2451.eurprd08.prod.outlook.com (2603:10a6:203:9d::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.21; Wed, 11 Aug
 2021 10:25:33 +0000
Received: from DB5EUR03FT024.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:2e:cafe::ad) by DB7PR05CA0045.outlook.office365.com
 (2603:10a6:10:2e::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:33 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT024.mail.protection.outlook.com (10.152.20.67) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:25:33 +0000
Received: from AZ-NEU-EX01.Emea.Arm.com (10.251.26.4) by AZ-NEU-EX03.Arm.com
 (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:25:28 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX01.Emea.Arm.com
 (10.251.26.4) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2308.14; Wed, 11
 Aug 2021 10:25:28 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b0d107f6-ed81-4e24-8ce5-e2f934523559
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iOH05sifhuQzcpRT3Qs8FnL8mDtMKXH8DTapkC3LA0o=;
 b=h7k8kV4sHOqLuCE1j1SJpw/E7leLYZjBAzxBKy5J4YFNrmUFqSrQXa3If964hrSFsCRJ4dffGcNJx1BjSilMjlFd0nZJhaVKLRMdSXt1vdskRtJtl3QLIrMAy/76Fx/Qytppj2/0b4YmvyrDSfINFNc5mIYQKIw43ejwWqRakZM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 0cfbb24433a938be
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SKVsYL2yubwMsE98Gky6IJU/Xe1n6vL2iDeKxH+o5lrEOTnE7ipCXHkinNNw2tjVXoLuDF0f4mn3rvYQcdrzLclG6SadHbnszdX81v6z3ccHtb0POB35csYhNokV2A88G+APeDlaef0WsjraYgIDB60Csf8IZ+Jezbb6f9It0ZsfJUGAV6UQIYIOopgz7aiaQNS8fpm8XMUNEeu3GRiS2r990Lx2ribm75Piu2z0FBvdrMUH/8d2LAA/4veYcGxGmdqvcDJCBkozDlEHNN7z2XVHVcsvnjUon0VGCIklfNPO5xVf88z40NT7ql/AZL6HRLeu17WZCly6AdOoFQDFBg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iOH05sifhuQzcpRT3Qs8FnL8mDtMKXH8DTapkC3LA0o=;
 b=IrfvEmmHoM3h66+KSk7hZERgqwhdx6avDL4WpQHouyzhb6oQGi4Sbc/9zmk33lixvd8T4EcYRGM/XssuwUtbpuHLQFLjiDMofb/sH/TI0wogR6kXsOpCo6VK3mptNXAnTrDj/F3HoRW+CPTybqZwzYPgrDV8IBo97okX2IeW+rEKkBavHAHbn/P21VJn4cc6HFcXBpntMFDd+/VLsbhj//Iwo3XxjZUZtQJDr2ZhK5PY9Pnp/31drCvw8kwkSugYpmXdLbM31YggJLoPztXdj2bGNyPZBODwJjh+AdODPOfBlU+rTtQnw8SOklr1qd0h0J8nlY3LpvzFfyJlj7u12Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iOH05sifhuQzcpRT3Qs8FnL8mDtMKXH8DTapkC3LA0o=;
 b=h7k8kV4sHOqLuCE1j1SJpw/E7leLYZjBAzxBKy5J4YFNrmUFqSrQXa3If964hrSFsCRJ4dffGcNJx1BjSilMjlFd0nZJhaVKLRMdSXt1vdskRtJtl3QLIrMAy/76Fx/Qytppj2/0b4YmvyrDSfINFNc5mIYQKIw43ejwWqRakZM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 23/40] xen/arm: introduce a helper to parse device tree memory node
Date: Wed, 11 Aug 2021 18:24:06 +0800
Message-ID: <20210811102423.28908-24-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 6239f186-01bd-4779-7866-08d95cb267b9
X-MS-TrafficTypeDiagnostic: AM5PR0802MB2451:|DBBPR08MB4314:
X-Microsoft-Antispam-PRVS:
	<DBBPR08MB4314D891A266DEB9C32C6EE39EF89@DBBPR08MB4314.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 3ojiCzWck34GgIl326ga518rTAcUOG2C1VbmrEoevtZSfmmzt4MqDvnbVcw4OWMybOIATiPcqcTQlr0o5mNsyv7iGTwt/RXmYrcf1zK9ca7k7Y36gOjn4mL8bsAglRiRgetxpWGGCxnReuFAGG9NfkHyYlABdPRNJ1OFZgphqv4ahXR2kRtq+12nYdFc1WPtyY/v3gMPHzgo1P3gni5nOc0WzTEDSWMY2NGGBzUqNMBvpAXYNXqc4ohKRyLP0A5Kt8UIwmf2z0RJqVeB6yz2xNJLIx48qnAi1+EHTbSQRyeLXAwOVJuVgmIbDuCqxGOBZGCL5BPVpxqtJhUm/tlYNP8myWCweSGBlXBBGFZXt8+bV9th+Tpp7jgMOwnleBrzgqjES56hKpjfVNuCxnzrPXAmoR+FnnyoVKJFsLRZr1+V15L1X6/69gmOtpZqc4z56V0FNaK0nfwPsQOwSt2+59x95R2OmfyEo0Lkg4KXhwgaxi+enU7t00mLh1WiLcps5TIn4kVuWT/jALdBJ6YzfI7S1wd0LeOy4+OT1d6VzUnet4DlTe9r0a5HEofzwat/Nky97X445M0+Plp1fudh9dogRnKyfZmh+UieuWKuK4w3Rh6v4UNNXvW3DCjHNoAt39Rp/geh+RETPHYLPyRSW/mUM2La2C7A8NAjOw4WvZSaKVrjvebX1D0Zx06WMovS7WElb0hAPO/cLriU7mD/hhKQZ2Uf/v98MuesFpAAZLrrRnpha41aCn9t7ucTafy3qZ3mVSPuuFHW3lD013Lg0e5G0uVTJcRka2NI2amUSSA=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(46966006)(36840700001)(186003)(70206006)(83380400001)(2906002)(8676002)(81166007)(336012)(70586007)(4326008)(8936002)(47076005)(36756003)(508600001)(356005)(7696005)(82310400003)(26005)(36860700001)(2616005)(1076003)(5660300002)(316002)(34070700002)(110136005)(86362001)(6666004)(44832011)(426003)(36900700001)(2101003);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0802MB2451
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT016.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	b39eca59-d21f-4aca-5433-08d95cb259db
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QL92bXEy9IPsxUrun4i5hHHk09CkZKH0pJYm2vn9owbHanq8BRP8M9dWAwNZBKXvz5LdxZo5rsVfo+pVv17DSoBkdR4GvrekgwtZc31CS6l8BxA/BbEQQOxss+HKcM5FujcNiqPCK3yWIhchYuuGxTLSIYE/lJTLFX7tTLsJg3a773iesjp219hFNtekMUBKvSkeHOL4sKIXUs0dobYDeGAG8Qjnyjd81PcLahQLxvta49ev/FXKWffbxejk+OOBVnK+PN0s28SUl9ecpQofntyvs98sNyHWR8QFH444VJY/Gt/UCfkZm00ziovWWrag9RAkbGm5xZblM/HAk2C79NgX11NmHVmvHUiigxTR+AoiK1adpV0mAO3z/HepyeCNJg2+YMKlkVnt+6t6Ro6sGRhFu0qqUKrkHw0X25dU5JwJh7K+Pg6++a+5/ar0aaqQV3+OyYWNtGoWVEtyIAwGhIJv0JDqevXYnzfqtP6N46HWF/LhY66TZg3xjg0wvHAtDKOFyAfptp5GYyB1+Gh2kROGrHgl70S1wJOACTwF9DHpFRDC3LV9+vcherSXqMRodKZEKuziakiRcwh8671yYzMO7kFmcC+tXEaAKd8Kb4zs1+tQoDOGF30loElEhO/i9Ii1v5fHb1GJrOkrLjulfUpMdPPBV3XmoK8D/r0FdOKK44nS9qnt/A12K/PFNDFYlfz6nnBM5KKBIDgzIsb65BfxSC/RAibnAxHv0RBjMNA=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(39860400002)(376002)(396003)(346002)(136003)(36840700001)(46966006)(82310400003)(426003)(26005)(83380400001)(70586007)(4326008)(336012)(1076003)(478600001)(7696005)(2616005)(47076005)(5660300002)(70206006)(86362001)(8936002)(36860700001)(2906002)(8676002)(316002)(44832011)(6666004)(110136005)(82740400003)(186003)(81166007)(36756003)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:25:56.3158
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6239f186-01bd-4779-7866-08d95cb267b9
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT016.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB4314

Memory blocks' NUMA ID information is stored in device tree's
memory nodes as "numa-node-id". We need a new helper to parse
and verify this ID from memory nodes.

In order to support memory affinity in later use, the valid
memory ranges and NUMA ID will be saved to tables.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
 xen/arch/arm/numa_device_tree.c | 130 ++++++++++++++++++++++++++++++++
 1 file changed, 130 insertions(+)

diff --git a/xen/arch/arm/numa_device_tree.c b/xen/arch/arm/numa_device_tree.c
index 37cc56acf3..bbe081dcd1 100644
--- a/xen/arch/arm/numa_device_tree.c
+++ b/xen/arch/arm/numa_device_tree.c
@@ -20,11 +20,13 @@
 #include <xen/init.h>
 #include <xen/nodemask.h>
 #include <xen/numa.h>
+#include <xen/libfdt/libfdt.h>
 #include <xen/device_tree.h>
 #include <asm/setup.h>
 
 s8 device_tree_numa = 0;
 static nodemask_t processor_nodes_parsed __initdata;
+static nodemask_t memory_nodes_parsed __initdata;
 
 static int srat_disabled(void)
 {
@@ -55,6 +57,79 @@ static int __init dtb_numa_processor_affinity_init(nodeid_t node)
     return 0;
 }
 
+/* Callback for parsing of the memory regions affinity */
+static int __init dtb_numa_memory_affinity_init(nodeid_t node,
+                                paddr_t start, paddr_t size)
+{
+    struct node *nd;
+    paddr_t end;
+    int i;
+
+    if ( srat_disabled() )
+        return -EINVAL;
+
+    end = start + size;
+    if ( num_node_memblks >= NR_NODE_MEMBLKS )
+    {
+        dprintk(XENLOG_WARNING,
+                "Too many numa entry, try bigger NR_NODE_MEMBLKS \n");
+        bad_srat();
+        return -EINVAL;
+    }
+
+    /* It is fine to add this area to the nodes data it will be used later */
+    i = conflicting_memblks(start, end);
+    /* No conflicting memory block, we can save it for later usage */;
+    if ( i < 0 )
+        goto save_memblk;
+
+    if ( memblk_nodeid[i] == node ) {
+        /*
+         * Overlaps with other memblk in the same node, warning here.
+         * This memblk will be merged with conflicted memblk later.
+         */
+        printk(XENLOG_WARNING
+               "DT: NUMA NODE %u (%"PRIx64
+               "-%"PRIx64") overlaps with itself (%"PRIx64"-%"PRIx64")\n",
+               node, start, end,
+               node_memblk_range[i].start, node_memblk_range[i].end);
+    } else {
+        /*
+         * Conflict with memblk in other node, this is an error.
+         * The NUMA information is invalid, NUMA will be turn off.
+         */
+        printk(XENLOG_ERR
+               "DT: NUMA NODE %u (%"PRIx64"-%"
+               PRIx64") overlaps with NODE %u (%"PRIx64"-%"PRIx64")\n",
+               node, start, end, memblk_nodeid[i],
+               node_memblk_range[i].start, node_memblk_range[i].end);
+        bad_srat();
+        return -EINVAL;
+    }
+
+save_memblk:
+    nd = &nodes[node];
+    if ( !node_test_and_set(node, memory_nodes_parsed) ) {
+        nd->start = start;
+        nd->end = end;
+    } else {
+        if ( start < nd->start )
+            nd->start = start;
+        if ( nd->end < end )
+            nd->end = end;
+    }
+
+    printk(XENLOG_INFO "DT: NUMA node %u %"PRIx64"-%"PRIx64"\n",
+           node, start, end);
+
+    node_memblk_range[num_node_memblks].start = start;
+    node_memblk_range[num_node_memblks].end = end;
+    memblk_nodeid[num_node_memblks] = node;
+    num_node_memblks++;
+
+    return 0;
+}
+
 /* Parse CPU NUMA node info */
 int __init device_tree_parse_numa_cpu_node(const void *fdt, int node)
 {
@@ -70,3 +145,58 @@ int __init device_tree_parse_numa_cpu_node(const void *fdt, int node)
 
     return dtb_numa_processor_affinity_init(nid);
 }
+
+/* Parse memory node NUMA info */
+int __init
+device_tree_parse_numa_memory_node(const void *fdt, int node,
+    const char *name, uint32_t addr_cells, uint32_t size_cells)
+{
+    uint32_t nid;
+    int ret = 0, len;
+    paddr_t addr, size;
+    const struct fdt_property *prop;
+    uint32_t idx, ranges;
+    const __be32 *addresses;
+
+    nid = device_tree_get_u32(fdt, node, "numa-node-id", MAX_NUMNODES);
+    if ( nid >= MAX_NUMNODES )
+    {
+        printk(XENLOG_WARNING "Node id %u exceeds maximum value\n", nid);
+        return -EINVAL;
+    }
+
+    prop = fdt_get_property(fdt, node, "reg", &len);
+    if ( !prop )
+    {
+        printk(XENLOG_WARNING
+               "fdt: node `%s': missing `reg' property\n", name);
+        return -EINVAL;
+    }
+
+    addresses = (const __be32 *)prop->data;
+    ranges = len / (sizeof(__be32)* (addr_cells + size_cells));
+    for ( idx = 0; idx < ranges; idx++ )
+    {
+        device_tree_get_reg(&addresses, addr_cells, size_cells, &addr, &size);
+        /* Skip zero size ranges */
+        if ( !size )
+            continue;
+
+        ret = dtb_numa_memory_affinity_init(nid, addr, size);
+        if ( ret ) {
+            printk(XENLOG_WARNING
+                   "NUMA: process range#%d addr = %lx size=%lx failed!\n",
+                   idx, addr, size);
+            return -EINVAL;
+        }
+    }
+
+    if ( idx == 0 )
+    {
+        printk(XENLOG_ERR
+               "bad property in memory node, idx=%d ret=%d\n", idx, ret);
+        return -EINVAL;
+    }
+
+    return 0;
+}
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:31:29 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:31:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165726.302929 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlWD-0007IX-73; Wed, 11 Aug 2021 10:31:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165726.302929; Wed, 11 Aug 2021 10:31:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlWC-00079t-F0; Wed, 11 Aug 2021 10:31:28 +0000
Received: by outflank-mailman (input) for mailman id 165726;
 Wed, 11 Aug 2021 10:31:23 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlRR-0000BQ-EW
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:26:33 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com (unknown
 [2a01:111:f400:7e1a::629])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 2afdca48-3fe6-451f-b879-b76fa520a6ca;
 Wed, 11 Aug 2021 10:25:38 +0000 (UTC)
Received: from DB6PR07CA0157.eurprd07.prod.outlook.com (2603:10a6:6:43::11) by
 DB7PR08MB3433.eurprd08.prod.outlook.com (2603:10a6:10:48::30) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.13; Wed, 11 Aug 2021 10:25:36 +0000
Received: from DB5EUR03FT025.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:6:43:cafe::a8) by DB6PR07CA0157.outlook.office365.com
 (2603:10a6:6:43::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.6 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:36 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT025.mail.protection.outlook.com (10.152.20.104) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:25:36 +0000
Received: ("Tessian outbound 077ab11054bf:v101");
 Wed, 11 Aug 2021 10:25:36 +0000
Received: from 7cac37810ffc.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 86FF1607-A9F0-4732-AFC9-5B2442877FEE.1; 
 Wed, 11 Aug 2021 10:25:29 +0000
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 7cac37810ffc.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:25:29 +0000
Received: from DB9PR06CA0028.eurprd06.prod.outlook.com (2603:10a6:10:1db::33)
 by AM6PR08MB5175.eurprd08.prod.outlook.com (2603:10a6:20b:ef::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.19; Wed, 11 Aug
 2021 10:25:25 +0000
Received: from DB5EUR03FT012.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:1db:cafe::11) by DB9PR06CA0028.outlook.office365.com
 (2603:10a6:10:1db::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:25 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT012.mail.protection.outlook.com (10.152.20.161) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:25:25 +0000
Received: from AZ-NEU-EX01.Emea.Arm.com (10.251.26.4) by AZ-NEU-EX04.Arm.com
 (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:25:23 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX01.Emea.Arm.com
 (10.251.26.4) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2308.14; Wed, 11
 Aug 2021 10:25:23 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:25: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: 2afdca48-3fe6-451f-b879-b76fa520a6ca
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=C7gc62amk+AdDN6sirEJxKpJ++i0p773bONvwikpyjY=;
 b=V9yCHIbjtNZjW50ukC6RQwdNrPTniVVOg24brU7RF3K5JfjvUPoCA7Ln+YfaEl4yQMit6OHHFXcsAxzOZ6o4m8RwAZctqTVLsl7T8nhRo6n9jw4tlLpT2s7FaCwq/a5yuUR5XyT+mvlOILEkCD+MuouUWolJv436cPD3CAfv+44=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 02b7615fedc72c2e
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TqLFEiskTVOKDvjS+Tmi08Qn97Vx2tQv3bZkcd2BJn3YJzL1QWMjyvIO+zJ4e8e6W73vMFzUdxvxFRTzJWI1eZPMANwZUTTsrT4XpTzQTsGHWTFdYxYjUdmh5eMW9ULPZkHCmF+/2C6RZu5l9NlIu9tT4EtIYHvDBYUlkS1JgeXC6Exr3aoeuGhQhli4QCdB3Yk0ZaFWQZglKufX9uBqjtinyjF7F3nGKD7Ig3Q+vwkXaEgOXz44919JVC0Ag6LVG/544wDsvO9Rtgfxe3whLgcMSYqm2MPWgnhX56LWV1fG95eXMkWO9WHyqaKjRjEooJ9KAr+GOPBa7TGyICFykQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=C7gc62amk+AdDN6sirEJxKpJ++i0p773bONvwikpyjY=;
 b=BNMxZtmhrMlNsgYDtcFAvgHl2i7SAytbzm7cpXvTj4DvPBw99qON4QrgAFk5jUzNLw9VMsirXyaGGmdN2cF/zqI6OGkQJwLEEL2hUdQEXXBF88FPEc1Lf7zNIPpLotg8KIRRQhaOyrtU8PawATfHEcO/rX/oqOqTZZWc80/2hTyIE3zFxsmAXhffWiIaCwVFTYZ2DnYdMEyBmWqx3nAKzyWzYHpi/LZzZ8WAA6ESHy13te9jxf3at4ixoI80ULWtKlK26zJHcPbgyoEOFNB5O2GjVQzp+OufCLfaNZs5wCRz1Qk68ilYNrPeTqC2bsvGMxl9DirYtwVKShewcXYn0A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=C7gc62amk+AdDN6sirEJxKpJ++i0p773bONvwikpyjY=;
 b=V9yCHIbjtNZjW50ukC6RQwdNrPTniVVOg24brU7RF3K5JfjvUPoCA7Ln+YfaEl4yQMit6OHHFXcsAxzOZ6o4m8RwAZctqTVLsl7T8nhRo6n9jw4tlLpT2s7FaCwq/a5yuUR5XyT+mvlOILEkCD+MuouUWolJv436cPD3CAfv+44=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 21/40] xen/arm: introduce device_tree_numa as a switch for device tree NUMA
Date: Wed, 11 Aug 2021 18:24:04 +0800
Message-ID: <20210811102423.28908-22-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4be59d33-8c33-4edc-d3ea-08d95cb25bf6
X-MS-TrafficTypeDiagnostic: AM6PR08MB5175:|DB7PR08MB3433:
X-Microsoft-Antispam-PRVS:
	<DB7PR08MB3433DA701D40ECAB10A381D69EF89@DB7PR08MB3433.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 09ob8oqXRgcKeOSA9bnr4c6OdqnODOm+bqSHMazmPZL5B1a6o8MHYLARrETK9MwCzwdGzypZvb2kDArr+5BYuuZbd/xsrL+hF8wnsONakXxZAPS9/CWeb4WTZOcTYxavjt1oGNT5IG5WbiltbAlTH0xFdCZdG2++YDO3mFy/48BcSgw5qUhFZ4fkqqFwGcQfBcjub0q4dUG3Vq1mji28ZHvPUrZ8ihyrpVKuy77NPum5ofFkl3HNz4mpOw+RjtFMuf+Aol9ugEgG97UekP1G8U3k6y7/eZaa4kNSPltiBd3bWZtQrT+3ljY34ZcQ2eL72DIsZuWJZD2CuXxtM8Ud6N4kLf4UohAWNGOSMU9wwiCHnvguCNDBYKVpDGuzGXG4qi1qbNTONfDcWivgyUn0G/RhEyfeGKCkp+Fr0f6VOixZpT3qeEHWnZyKw554c9Ph6ypxESyZ6Di8UV9K2V7v//opWkNEhEWPF4/BKl0J/qlK4h5qgkDmt/DbmBrgHzntHIMPs13wd16Ybg5MwU+4YdfqOUV2nEW8492rPzX/WrNnkhRa6njtIlFkV0/rv2tRHzmahhaleMmciZkn/VkkLiddzFeNWtOdWcLSefM9pR8VjcltlyfV8HYlTthQT5Oa/yjW5bkIf9bwR9ck3Pw89DpKycLUt+NSCoZkuNDBAB5I5B9BjQ66eA5v5rRPtRtdVKVrWBiNAvH5odB0x9F9sHnBAIWWZ1X4CjIqueHKgiVJjca0CreTSZ5JNJSxysl1jZdHwfXVtwdruH1Wr5oJoqg5AkSkCuyO8LIjZOUH2mc0JqLVgbNK+adV3p8yOyScgOVqmUiP1LtuUlcfVgwACXvnM+LhzkcPeRDtfdZhxJpRyn9kC7Rph+WL7EpwyLBCpbb2RRGErxT5DMAddJ06Hw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(346002)(376002)(396003)(39860400002)(136003)(36840700001)(46966006)(426003)(2906002)(82310400003)(47076005)(1076003)(6666004)(36860700001)(8936002)(26005)(336012)(36756003)(8676002)(4326008)(34070700002)(478600001)(82740400003)(2616005)(83380400001)(44832011)(356005)(86362001)(70206006)(7696005)(110136005)(5660300002)(316002)(186003)(81166007)(70586007)(2004002)(2101003)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB5175
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT025.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	216fdec2-55a0-4d92-3ae4-08d95cb25588
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rqTMCj9DPWghZYgbzBJuNoHc0BxUP15bvEB1uUGB/g50Oslka9w95egGqLpUuKnH1koiMR5I9cEbwFUp8UF0nDC8Udr2BThD0d/i+S60YhNuSuaf+Zoz5f/o0ozvvVjMejbkCgYbwZMa71Z06VverqkbXFKTwErSbGVvLhysthXPsfiPylDKR5HqdcUii87qAvT9G2QetCuoj9kYXdGrI6UCuuyRgNm7QjfPqQjdcUBPj2gbA0ZwI7slxgv35ekHwXZA7ESYHOzATMOaS8YmzdXYXwIpmDByWSlJkAjlZlbAHDyZNzIwRoYqmQ1ZnMgpnMyBJId/HdVI4Rv5HnUW4J5y28C9rBZeLyv+RmlJhpyh3hEfEFXe2FJpMPYkS4/OLGT1wAWaQZpjE5kz7en9V/f5F2lji4HYqLr18897VUv5yGeLeqVsSVrTXPIx6Rsk+fLP9zU9fq6o7kDAD/mZ9AbRK+bf6NXt3NjRZ5ZeJ7QLvVnUw+3rSsR/tsIRtRp508//Ms0bDN9SwWfcvNA8Ktu7iy/nQNq+8MusBR5SvVQemT++/DLrifvKGk+IvqxClK2xhj4Cz+zsTtxnBtUNlhjb06bgL/h0apVcfyQq7MStzipsiBweE8Zj6zXkD357KUHZkzjYaAFLPW21NwriV9ej3FSR9MB+q7XC09WTlk4gKVDEiK33fOAFZVSqGFqHop2cohexnkie9Nt2x1Jmz/ChVzvZUT9ArxCg4nyuO4C6eJxqqa4zOArfI2WNJ0/ixY3Byg6KJCDiPt/J54Fcc0qpmeAVaNTLjby3rV991ktJsHTecool9dQv1nkiToOMAEQn8um4+IqowhcILnH1nA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(39850400004)(396003)(376002)(136003)(346002)(46966006)(36840700001)(7696005)(8936002)(44832011)(8676002)(70586007)(70206006)(336012)(82310400003)(47076005)(83380400001)(4326008)(186003)(36756003)(26005)(478600001)(316002)(86362001)(81166007)(110136005)(5660300002)(2906002)(2616005)(6666004)(426003)(82740400003)(1076003)(36860700001)(2004002)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:25:36.6402
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4be59d33-8c33-4edc-d3ea-08d95cb25bf6
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT025.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3433

Like acpi_numa in x86 as a switch for ACPI based NUMA, we introduce
device_tree_numa as a switch for Arm device tree based NUMA. When
NUMA information in device tree is invalid, this switch will be set
to -1, then NUMA support for Arm will be disabled, even if user set
numa_off=0.

Keep using bad_srat and srat_disabled functions name, because we will
reuse node_covers_memory and acpi_scan_nodes code for Arm. These
functions are using these two API names. And, as device tree can be
treated as one kind of static resource table. So we keep these two
function names.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
 xen/arch/arm/Makefile           |  1 +
 xen/arch/arm/numa_device_tree.c | 35 +++++++++++++++++++++++++++++++++
 xen/include/asm-arm/numa.h      |  2 ++
 3 files changed, 38 insertions(+)
 create mode 100644 xen/arch/arm/numa_device_tree.c

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 6e3fb8033e..13e1549be0 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -36,6 +36,7 @@ obj-y += mem_access.o
 obj-y += mm.o
 obj-y += monitor.o
 obj-$(CONFIG_NUMA) += numa.o
+obj-$(CONFIG_DEVICE_TREE_NUMA) += numa_device_tree.o
 obj-y += p2m.o
 obj-y += percpu.o
 obj-y += platform.o
diff --git a/xen/arch/arm/numa_device_tree.c b/xen/arch/arm/numa_device_tree.c
new file mode 100644
index 0000000000..1c74ad135d
--- /dev/null
+++ b/xen/arch/arm/numa_device_tree.c
@@ -0,0 +1,35 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Arm Architecture support layer for NUMA.
+ *
+ * Copyright (C) 2021 Arm Ltd
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+#include <xen/init.h>
+#include <xen/nodemask.h>
+#include <xen/numa.h>
+
+s8 device_tree_numa = 0;
+
+int srat_disabled(void)
+{
+    return numa_off || device_tree_numa < 0;
+}
+
+void __init bad_srat(void)
+{
+    printk(KERN_ERR "DT: NUMA information is not used.\n");
+    device_tree_numa = -1;
+}
diff --git a/xen/include/asm-arm/numa.h b/xen/include/asm-arm/numa.h
index 559b028a01..756ad82d07 100644
--- a/xen/include/asm-arm/numa.h
+++ b/xen/include/asm-arm/numa.h
@@ -23,6 +23,8 @@ typedef u8 nodeid_t;
 #define NUMA_LOCAL_DISTANCE     10
 #define NUMA_REMOTE_DISTANCE    20
 
+extern s8 device_tree_numa;
+
 extern void numa_init(bool acpi_off);
 extern void numa_set_distance(nodeid_t from, nodeid_t to, uint32_t distance);
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:31:34 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:31:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165751.302950 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlWI-00007k-D2; Wed, 11 Aug 2021 10:31:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165751.302950; Wed, 11 Aug 2021 10: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 1mDlWH-0008Tf-Ry; Wed, 11 Aug 2021 10:31:33 +0000
Received: by outflank-mailman (input) for mailman id 165751;
 Wed, 11 Aug 2021 10:31:32 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlSj-0000BQ-Gs
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:27:53 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com (unknown
 [40.107.6.59]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c37d5588-c6f8-481f-b70e-563582809505;
 Wed, 11 Aug 2021 10:25:59 +0000 (UTC)
Received: from DU2PR04CA0015.eurprd04.prod.outlook.com (2603:10a6:10:3b::20)
 by AM5PR0801MB2116.eurprd08.prod.outlook.com (2603:10a6:203:31::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.17; Wed, 11 Aug
 2021 10:25:57 +0000
Received: from DB5EUR03FT050.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:3b:cafe::ac) by DU2PR04CA0015.outlook.office365.com
 (2603:10a6:10:3b::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:57 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT050.mail.protection.outlook.com (10.152.21.128) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:25:57 +0000
Received: ("Tessian outbound d9f41274f41a:v101");
 Wed, 11 Aug 2021 10:25:57 +0000
Received: from 1713049aedfc.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 7B0767EE-A0DF-450A-B4F1-3D2F12245A70.1; 
 Wed, 11 Aug 2021 10:25:50 +0000
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 1713049aedfc.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:25:50 +0000
Received: from DB6PR0301CA0077.eurprd03.prod.outlook.com (2603:10a6:6:30::24)
 by AM6PR08MB3751.eurprd08.prod.outlook.com (2603:10a6:20b:84::27)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.19; Wed, 11 Aug
 2021 10:25:49 +0000
Received: from DB5EUR03FT058.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:6:30:cafe::75) by DB6PR0301CA0077.outlook.office365.com
 (2603:10a6:6:30::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:49 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT058.mail.protection.outlook.com (10.152.20.255) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.14 via Frontend Transport; Wed, 11 Aug 2021 10:25:49 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX04.Arm.com
 (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:25:40 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c37d5588-c6f8-481f-b70e-563582809505
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xkva09jfasVoqqDl8pVZ4uwtTmz6YH26qMVoCVfWrk0=;
 b=tdqaV23KQSxe/JMubWYsa3nvkdzZipu4natVed9xYrdEocnQJVwrLBEaxvQInyCx461YC9Oc/CesPTWgu0n4LaftClNpvtSXPhCwxkfgWCdkJPLLKdIholrLscxo5wRmB0i265u3FqxcEeHBiGLurieiE0Usie+iudYEbCZVnpE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: b17d4125fc988081
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QbGOcVPnF+p6Uth0yJ7plyUqlnwMBWCfvFlHmhvCVwEbTxDlgL5EE2BFe2RdEKyrtw6mnhDMAEFW/fYPl9m3tiXxQkHYpKWlcS3nrepJBJLj7B9EdGm1uRgGGxibKIwROgiLR/t37hFJdKL6kQ0dYVPICfmjxsQAtimd3ESQTsX1V30wQHQstB2QaUWIe+7ZoGbs6svZ9ftmIIU8fCaoGXsKu3ygZ6HYHLo7Z98EQB/2IUqsLGYr1HNXfMWJtw27xb7+gNJEePpgaOfXdPDzL9DzRN3SFzJRJpu1M7TI5PTVSKaFVaWCbVKEgCJFCUfBl/EUy74tVrIZEsSfyTahDA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xkva09jfasVoqqDl8pVZ4uwtTmz6YH26qMVoCVfWrk0=;
 b=jmIYUOI3YD7pthEC+ZCIvzr07CC0IDdpjDqvkVBXqgU/jlVNWB3FN9/5awedRM3JKczYflI7fjTtRJwOZrhg/0rNrZD5VcLrPqzsrKf74AoecUSaD6KF5K6eHpcLFV9BxY7I0v+FwRHi/brptY/rbUDCcfsblrG4Wes5SLsiAiSQcppmeVNW6X0kj/dqRJKNIHzgWy/XzaCWz+2iUy1jSuRBzUJE/vy+zmNT0Co2/Iymrhz4aWQQfHxKtCV40LA5xtrwEklsq56aWbZKmKxLfSyN5XnqNVbMLdRTY9Eh5+YPwcxnVH/V6emt+6NK5AScqK0Nw+HP4XYB4aihHcrFLQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xkva09jfasVoqqDl8pVZ4uwtTmz6YH26qMVoCVfWrk0=;
 b=tdqaV23KQSxe/JMubWYsa3nvkdzZipu4natVed9xYrdEocnQJVwrLBEaxvQInyCx461YC9Oc/CesPTWgu0n4LaftClNpvtSXPhCwxkfgWCdkJPLLKdIholrLscxo5wRmB0i265u3FqxcEeHBiGLurieiE0Usie+iudYEbCZVnpE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 28/40] xen/x86: decouple nodes_cover_memory with E820 map
Date: Wed, 11 Aug 2021 18:24:11 +0800
Message-ID: <20210811102423.28908-29-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 99ae0171-5dd0-4bae-3ee5-08d95cb2687b
X-MS-TrafficTypeDiagnostic: AM6PR08MB3751:|AM5PR0801MB2116:
X-Microsoft-Antispam-PRVS:
	<AM5PR0801MB2116B20794FBFFDA9097B0B99EF89@AM5PR0801MB2116.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:1923;OLM:1923;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 +w49qkgSUHnWqNAfPmd/96ZFwkAS6o0285jLGpTX4lX4Wv/5ckhjJLwDc9904a6JAfPZb14sxAS/SrwBesPaTtqcHnHXtrdSa/FJXa9GVKtgtENx7l6YSu9/PifXFP4Iu1Jjv/5/gblYGhngqevWrzVUhfqBznKhBkARZoI7PvkuUj6lXFEScNNvbeQkK73qt6YqiF7zQvZ8OVAkdziLzCpJwIBPCd13DqxHtbt/UnIdNs6Z6SV6AORdqTk/PhdDGEyruhF8BC0HmoosCSeaE+97mD3sQl9WNNtvk+uo9R9DwvTG9hvp22YLZ9JWoZz0vigQ3r1OP/uA7TZRo3ohiQYwKnZ6nzeXAXl/O09nM9P5ofL74FFWiRrGaPorcLQGuFCCGfTn7+bvto1dCPP+vEB6QWNZwPHuXWd3wAVze/xeiBK1n35e1dwHYjZOm9Sl5VFMV4h91K9qEUHbbP72AVJCXrs5lVrNvnZYB9q5MoN9QMxa+9ryr5b4Zdbcc6wffy7t0ON3d7mvYXqvxAhuTtiWzVXfeVohigyHidr8u23cBlFZYpLSGTy1ZQxuOvv2X5BZYshQSM2S0vZ2A4Jm7pggnA7R8NCDL3h00+MLRX1rkJ2pTeONPfRMgyCfq/YNkxOXIXfbvnwvzYHna26UW10DAnTxSRCSvJRtEItDGZ6A3WjgiyJZ/VGDTaWEGFjpuczIKW5qofRTXQ0bk0Uqo0Zor9yKG8L9lXq+tHti9s72ptUI6FA1ri2/NGnn6p/9Er9mhifMBJZgDbhQFii9wEfDIlF9PDEusA6HBybRB+U=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(46966006)(36840700001)(36860700001)(6666004)(70206006)(70586007)(316002)(2906002)(110136005)(336012)(36756003)(81166007)(82310400003)(83380400001)(47076005)(4326008)(426003)(508600001)(8676002)(34070700002)(186003)(86362001)(44832011)(5660300002)(26005)(2616005)(8936002)(356005)(7696005)(1076003)(36900700001)(2101003);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3751
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT050.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	02280acd-b8b1-4893-e707-08d95cb26388
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ay8DxX/HOL5qk1wwEN5dnLZLCpM1fmd9xIoWN9XCYIu3ws94O8zv5cpKO1HDl5eM3BYDxpuJ53ws3gfHbx39LSj5NqYrnKmGWAIx+zd839u087JSBEfIlo2W2JqaRnE1ESlxQxXQ9nrd6mHWwuHQtDuBtqbeSbvIGG21TRsd6DibCWEGQzqTMii0i/PboNWuHA6pImk58p246mfvoFo+b8c57+pXhzrcEYf+B0MjxxhhIpiFG/lKFNYiHGuZ1Z9JerXyhd+Vk/+v5xEZK3PBwa7bpfZZl+/QDoToCAXhCEXfuvaouNfInfOB002n52nnluD8C3ERKUBq2QP9poo21IUG18XD2OhBjNe6Hypg+NQRmt8+mpal3sPnWzTjnE5MYpH8Jw7X0QE2sPaF09FW/MwxBht+uPuahSHGu/VOXg0Z6+ICZ5q52UWl1vkmjxN6ddE22F1Pk70tWvRpDHCSbYetzqRs8ycQGsIg+/+yHSsD/LJErT73F7jyL9ko3bN19TufJZaS6UQY1Q5eJbbK8UVnM9num2kGXjFOLbuk8wZ/p/dNxIc9Ou057B7S33ZwDBUEiSqeuhz6af/vanVwePTggYxthb8Gp6/FUp4MPN28hVaaV+x6C/a6Q9ZZpPxOwTOOBbTVfPKB1dwS8NkmeDwFHvKH9UxIhklfnnMM0OHEuZXKUnvLOeGWk2+c+bzdIfd6ExykvtLaPD6cTAqnixZH8rdCurLF7ENPboJGj6Q=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(376002)(396003)(346002)(39850400004)(136003)(46966006)(36840700001)(86362001)(36860700001)(2616005)(47076005)(36756003)(8676002)(44832011)(426003)(336012)(186003)(4326008)(2906002)(1076003)(7696005)(26005)(70206006)(70586007)(478600001)(82740400003)(8936002)(82310400003)(81166007)(6666004)(110136005)(5660300002)(83380400001)(316002)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:25:57.6407
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 99ae0171-5dd0-4bae-3ee5-08d95cb2687b
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT050.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB2116

We will reuse nodes_cover_memory for Arm to check its bootmem
info. So we introduce two arch helpers to get memory map's
entry number and specified entry's range:
    arch_get_memory_bank_number
    arch_get_memory_bank_range

Depends above two helpers, we make nodes_cover_memory become
architecture independent.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
 xen/arch/x86/numa.c    | 18 ++++++++++++++++++
 xen/arch/x86/srat.c    |  8 +++-----
 xen/include/xen/numa.h |  4 ++++
 3 files changed, 25 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c
index 6908738305..8b43be4aa7 100644
--- a/xen/arch/x86/numa.c
+++ b/xen/arch/x86/numa.c
@@ -128,6 +128,24 @@ unsigned int __init arch_get_dma_bitsize(void)
                  + PAGE_SHIFT, 32);
 }
 
+uint32_t __init arch_meminfo_get_nr_bank(void)
+{
+	return e820.nr_map;
+}
+
+int __init arch_meminfo_get_ram_bank_range(int bank,
+	unsigned long long *start, unsigned long long *end)
+{
+	if (e820.map[bank].type != E820_RAM || !start || !end) {
+		return -1;
+	}
+
+	*start = e820.map[bank].addr;
+	*end = e820.map[bank].addr + e820.map[bank].size;
+
+	return 0;
+}
+
 static void dump_numa(unsigned char key)
 {
     s_time_t now = NOW();
diff --git a/xen/arch/x86/srat.c b/xen/arch/x86/srat.c
index 6d68b8a614..2298353846 100644
--- a/xen/arch/x86/srat.c
+++ b/xen/arch/x86/srat.c
@@ -316,18 +316,16 @@ acpi_numa_memory_affinity_init(const struct acpi_srat_mem_affinity *ma)
 static int __init nodes_cover_memory(void)
 {
 	int i;
+	uint32_t nr_banks = arch_meminfo_get_nr_bank();
 
-	for (i = 0; i < e820.nr_map; i++) {
+	for (i = 0; i < nr_banks; i++) {
 		int j, found;
 		unsigned long long start, end;
 
-		if (e820.map[i].type != E820_RAM) {
+		if (arch_meminfo_get_ram_bank_range(i, &start, &end)) {
 			continue;
 		}
 
-		start = e820.map[i].addr;
-		end = e820.map[i].addr + e820.map[i].size;
-
 		do {
 			found = 0;
 			for_each_node_mask(j, memory_nodes_parsed)
diff --git a/xen/include/xen/numa.h b/xen/include/xen/numa.h
index 0475823b13..6d18059bcd 100644
--- a/xen/include/xen/numa.h
+++ b/xen/include/xen/numa.h
@@ -89,6 +89,10 @@ static inline void clear_node_cpumask(int cpu)
 	cpumask_clear_cpu(cpu, &node_to_cpumask[cpu_to_node(cpu)]);
 }
 
+extern uint32_t arch_meminfo_get_nr_bank(void);
+extern int arch_meminfo_get_ram_bank_range(int bank,
+    unsigned long long *start, unsigned long long *end);
+
 #endif /* CONFIG_NUMA */
 
 #endif /* _XEN_NUMA_H */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:31:36 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:31:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165752.302957 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlWJ-0000Mk-NF; Wed, 11 Aug 2021 10:31:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165752.302957; Wed, 11 Aug 2021 10:31:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlWI-0000Fm-Tp; Wed, 11 Aug 2021 10:31:34 +0000
Received: by outflank-mailman (input) for mailman id 165752;
 Wed, 11 Aug 2021 10:31:32 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlU1-0000BQ-Ju
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:29:13 +0000
Received: from EUR03-AM5-obe.outbound.protection.outlook.com (unknown
 [40.107.3.50]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 6b0b17b2-90a2-4543-b23e-a562baaa68e8;
 Wed, 11 Aug 2021 10:26:15 +0000 (UTC)
Received: from AS8PR04CA0171.eurprd04.prod.outlook.com (2603:10a6:20b:331::26)
 by AM9PR08MB6835.eurprd08.prod.outlook.com (2603:10a6:20b:2ff::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16; Wed, 11 Aug
 2021 10:26:14 +0000
Received: from VE1EUR03FT045.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:331:cafe::15) by AS8PR04CA0171.outlook.office365.com
 (2603:10a6:20b:331::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13 via Frontend
 Transport; Wed, 11 Aug 2021 10:26:14 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT045.mail.protection.outlook.com (10.152.19.51) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:26:13 +0000
Received: ("Tessian outbound 312d863716bf:v101");
 Wed, 11 Aug 2021 10:26:13 +0000
Received: from 6d23c3fb136b.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 23203EB5-D2B6-47A7-AA98-9D8360B2AACA.1; 
 Wed, 11 Aug 2021 10:26:07 +0000
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 6d23c3fb136b.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:26:07 +0000
Received: from DB6PR0201CA0022.eurprd02.prod.outlook.com (2603:10a6:4:3f::32)
 by AM9PR08MB7215.eurprd08.prod.outlook.com (2603:10a6:20b:3de::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.14; Wed, 11 Aug
 2021 10:26:00 +0000
Received: from DB5EUR03FT036.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:3f:cafe::70) by DB6PR0201CA0022.outlook.office365.com
 (2603:10a6:4:3f::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16 via Frontend
 Transport; Wed, 11 Aug 2021 10:26:00 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT036.mail.protection.outlook.com (10.152.20.185) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:26:00 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX04.Arm.com
 (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:25:47 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:25: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: 6b0b17b2-90a2-4543-b23e-a562baaa68e8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HWJHCCjl1hbGXNltzp/ISaOFhGhC8ThEvX0V7WgmkKA=;
 b=2hBEneRsLkoAF0k0FYTM2mRHx+jE+wvJMXyxSNwUT/J+0MH1rpFjZxjbPxjZ3xlOn2RYexxToB1Sdp/18jvKgu7xPxD9KGpi1IPhxTkSsJ+Sq8mz5rtCRdueKMobLBASwXDw1zYgR+U4pWeQnoFJs1zqbM2m8jCD6LSfqic0Nwg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 9edb159b5d36f640
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jAs/WPMFYm763HR2sLlC88pr3/kT/1QLjwlLsg1eW8SxjQPoVu5EJSWmb0lK6dO9opO7ZiD51Bf6foOAiNzQ4VtSjePXh+Q/x/loGzK52J8VKpwo0nJGFpkv9aS0i+0/XftvicTmJ7U1xC/UoeTLA0WNT9dNC+KLmVj5fd9lCzEowfoPXFjsMuQiyw0ILWjgRTp1MRENSc0X4sdeHV8doQLGbvII6HgxtR6OVOJ4ESc6nWXtoPVckODHKoq7zsouwfwlTOVBWjWKQVno6BswYguyVJNX/1nrwTNXx61AFY7M6rG37YdaQa+PgdxSF9LWweYQq+PTjzlxi5nwRkFk1A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HWJHCCjl1hbGXNltzp/ISaOFhGhC8ThEvX0V7WgmkKA=;
 b=aalgA2npBGO6S+2cC0FQL4tEY4uS537fMUU3IJAcyqizi3+b+YQOuEG/iY7vZnO/ntGfyQtO4HRyBjwGhN52oBW4I+Yo5W2UuLMSxXsErSlyTxvnXhOXjA+j0BVridPx4sBGIb0NG/FhjWA9ofYk1f/KXWKax3N8dNskjpWUuE53ZP5AThsJSiqLRHybMewGICu7bxtGujI6i+Os2RiRBGe412IUVFoX2rwfUUd3//ikZvx7yR7drfzfcnkXNZoTVnbr2hgfKiW+6UWbx4YbLEuyDoIX1l+1Erh8U8jEmGeMVc5gYBTkfT6hdyhcW+yxc903ihso6+NhDiGiymbdzQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HWJHCCjl1hbGXNltzp/ISaOFhGhC8ThEvX0V7WgmkKA=;
 b=2hBEneRsLkoAF0k0FYTM2mRHx+jE+wvJMXyxSNwUT/J+0MH1rpFjZxjbPxjZ3xlOn2RYexxToB1Sdp/18jvKgu7xPxD9KGpi1IPhxTkSsJ+Sq8mz5rtCRdueKMobLBASwXDw1zYgR+U4pWeQnoFJs1zqbM2m8jCD6LSfqic0Nwg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 31/40] xen/x86: move nodes_cover_memory to common
Date: Wed, 11 Aug 2021 18:24:14 +0800
Message-ID: <20210811102423.28908-32-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 7d2c7625-58b4-4a55-7df5-08d95cb27233
X-MS-TrafficTypeDiagnostic: AM9PR08MB7215:|AM9PR08MB6835:
X-Microsoft-Antispam-PRVS:
	<AM9PR08MB6835B55599A6D345CB4C8D539EF89@AM9PR08MB6835.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:6790;OLM:6790;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 uAgP5LOZT5isIlo7JvnvliKkkQvb7BGpvvrVIr8FCrNQsBV5tzxjCyRn8Ur1pw2bW2xxl/92v7TxIv7jitljIX3vMWOwDTID2yWYjwS6xkmTG/XYgxFu10omOVFN6v6SgHZkQpTnkvDDSihPmFozGgLPJitcrS2Ox+zoM+LwJWwbdyouf1Yu+yKiXhQpMuF/3dPvps9NtKhTiODzkO0jQUr9BvVLeb1lJGmDxap43GISejAzoMI9/UnHaq1tBffk05tjHdNagKSZOs7J7IQYl1NcWPB9/So4Gy+V7jGbiYl7cIgK+GBLCeRHOLfnBYk/EUj/HM78W4WTKGA48P0SZMhUyDS5GyHiObA3RkNioZmteS4LgCoWqQIGewBn4BX0aOpju3YwRfLtl3DESczB5o7UCnA0sXkYs4Rz2aB226J1qzFSDx8ahh1qghLPKJpl8t0PQYyJ3uzD6PUKTfJNKmeeDG37qvwWDbHiFSkqbpQWEBDuzfWM3moiHmFaJ1BhOzJrVGCMF5ODlb/qwflUYsTSpXuUw40Gaj/0U9hC8HCNsfzoGFfVsY0SvQqMApQRm0B5gGF1UbZF4UvsidVibrE/fREZncm9ZmSa2AG/GztKmFUbN6rmJnJBhNuvr/NjOOSSK51uAI7IQ3K1bar34SocuG/E799XqMt0sZSmW32SgbwraFCxW3c8RX1cq+lB4ZKRjsADRIjDYQNKfIOosRpQMzHEk6yAu+8ti/PnWM2Pj5+YfJUkZCibNILIJkR5mt14wilDqvFFPTS42r4ATzwwZGDAoF30asrRC+5d350=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(39860400002)(376002)(346002)(396003)(136003)(36840700001)(46966006)(4326008)(5660300002)(36756003)(36860700001)(8676002)(47076005)(70586007)(1076003)(336012)(70206006)(82310400003)(81166007)(426003)(110136005)(356005)(83380400001)(26005)(316002)(7696005)(82740400003)(2906002)(34070700002)(86362001)(6666004)(44832011)(8936002)(2616005)(186003)(478600001)(36900700001)(2101003);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB7215
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT045.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	be89c955-fd0a-48d0-6838-08d95cb269e7
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	uvT0E9oq4yz57du8k+s2LsCNOT/SDQEp88q5dF+PnOShUr06yLRuQgfzBq2d9wo5G6UWhmtQvHCQW1VrSt3m7VHgGHapTooBgkAO376lMotwAAFTJ8RUS3ijrj5/rdJQreBPfxG0MTzuqCJlIOzx2+NWTlfM26HHYa2+udt74QiAShw8LjOgE152PNMVSyHvngY26nLNG1CqARGj8ORc7U6ubtzThTZHOk83Hide14J1x66tBriuUYEzSwGHkpV93IYcwxURipJT8cG15UrmJj9+rlbmoPXQCWx36BpzNSj1v8y7HfNFDnqlLOwLeshXUtR1/1pNtPVsT8zOMfnKu+OQIm1aCCjdWGm3FNNjPt0tZNCQ/EpA1GCSOg62h0q09oNowWjtr0Z4QuhHxm9N4Huh+SBY1OyM79euJ1Ru+GM21RCZteY4tXwtkldM0rub+txefGPU2F6NI+/mIyKd33OERoujQjtyph8WFxzaSATfwsDEq5VDgykOKz1Cedx+j07alPFriH1nBr3RhnIz9O6Pa2yasvD93IMfyq/kL6y1nYZSs0DeyMoUUgOGUyrMCyrnzR6/nHEiWcdAgn0RaiETSceOvjGDNJDTsqMQ5msgD7okJ3MkdHCMMWNpTdUIC6J7SPKjSohv3aMSI9CvGgGMIpcsV2r2b1ei1dPw5eNf6Ep14Sq9hLB/VNt2pxKVI5qzw6CiFbdbY5+0CXFbtdxJMc66oCw4v+cPrOYqNQY=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(396003)(376002)(136003)(346002)(39850400004)(36840700001)(46966006)(86362001)(2906002)(7696005)(82740400003)(47076005)(5660300002)(316002)(4326008)(36860700001)(81166007)(83380400001)(70206006)(70586007)(26005)(2616005)(82310400003)(478600001)(1076003)(8676002)(6666004)(8936002)(44832011)(110136005)(336012)(186003)(426003)(36756003)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:26:13.8027
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7d2c7625-58b4-4a55-7df5-08d95cb27233
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT045.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6835

Not only ACPU NUMA, but also Arm device tree based NUMA
will use nodes_cover_memory to do sanity check. So we move
this function from arch/x86 to common.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
 xen/arch/x86/srat.c    | 40 ----------------------------------------
 xen/common/numa.c      | 40 ++++++++++++++++++++++++++++++++++++++++
 xen/include/xen/numa.h |  1 +
 3 files changed, 41 insertions(+), 40 deletions(-)

diff --git a/xen/arch/x86/srat.c b/xen/arch/x86/srat.c
index dd3aa30843..dcebc7adec 100644
--- a/xen/arch/x86/srat.c
+++ b/xen/arch/x86/srat.c
@@ -308,46 +308,6 @@ acpi_numa_memory_affinity_init(const struct acpi_srat_mem_affinity *ma)
 	num_node_memblks++;
 }
 
-/* Sanity check to catch more bad SRATs (they are amazingly common).
-   Make sure the PXMs cover all memory. */
-static int __init nodes_cover_memory(void)
-{
-	int i;
-	uint32_t nr_banks = arch_meminfo_get_nr_bank();
-
-	for (i = 0; i < nr_banks; i++) {
-		int j, found;
-		unsigned long long start, end;
-
-		if (arch_meminfo_get_ram_bank_range(i, &start, &end)) {
-			continue;
-		}
-
-		do {
-			found = 0;
-			for_each_node_mask(j, memory_nodes_parsed)
-				if (start < nodes[j].end
-				    && end > nodes[j].start) {
-					if (start >= nodes[j].start) {
-						start = nodes[j].end;
-						found = 1;
-					}
-					if (end <= nodes[j].end) {
-						end = nodes[j].start;
-						found = 1;
-					}
-				}
-		} while (found && start < end);
-
-		if (start < end) {
-			printk(KERN_ERR "SRAT: No PXM for e820 range: "
-				"%016Lx - %016Lx\n", start, end);
-			return 0;
-		}
-	}
-	return 1;
-}
-
 void __init acpi_numa_arch_fixup(void) {}
 
 static uint64_t __initdata srat_region_mask;
diff --git a/xen/common/numa.c b/xen/common/numa.c
index 79ab250543..74960885a6 100644
--- a/xen/common/numa.c
+++ b/xen/common/numa.c
@@ -193,6 +193,46 @@ void __init cutoff_node(int i, u64 start, u64 end)
 	}
 }
 
+/* Sanity check to catch more bad SRATs (they are amazingly common).
+   Make sure the PXMs cover all memory. */
+int __init nodes_cover_memory(void)
+{
+	int i;
+	uint32_t nr_banks = arch_meminfo_get_nr_bank();
+
+	for (i = 0; i < nr_banks; i++) {
+		int j, found;
+		unsigned long long start, end;
+
+		if (arch_meminfo_get_ram_bank_range(i, &start, &end)) {
+			continue;
+		}
+
+		do {
+			found = 0;
+			for_each_node_mask(j, memory_nodes_parsed)
+				if (start < nodes[j].end
+				    && end > nodes[j].start) {
+					if (start >= nodes[j].start) {
+						start = nodes[j].end;
+						found = 1;
+					}
+					if (end <= nodes[j].end) {
+						end = nodes[j].start;
+						found = 1;
+					}
+				}
+		} while (found && start < end);
+
+		if (start < end) {
+			printk(KERN_ERR "SRAT: No PXM for e820 range: "
+				"%016Lx - %016Lx\n", start, end);
+			return 0;
+		}
+	}
+	return 1;
+}
+
 void numa_add_cpu(int cpu)
 {
     cpumask_set_cpu(cpu, &node_to_cpumask[cpu_to_node(cpu)]);
diff --git a/xen/include/xen/numa.h b/xen/include/xen/numa.h
index 6d18059bcd..094ab904c9 100644
--- a/xen/include/xen/numa.h
+++ b/xen/include/xen/numa.h
@@ -92,6 +92,7 @@ static inline void clear_node_cpumask(int cpu)
 extern uint32_t arch_meminfo_get_nr_bank(void);
 extern int arch_meminfo_get_ram_bank_range(int bank,
     unsigned long long *start, unsigned long long *end);
+extern int nodes_cover_memory(void);
 
 #endif /* CONFIG_NUMA */
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:31:37 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:31:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165753.302964 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlWL-0000j6-B5; Wed, 11 Aug 2021 10:31:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165753.302964; Wed, 11 Aug 2021 10:31:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlWK-0000eq-NT; Wed, 11 Aug 2021 10:31:36 +0000
Received: by outflank-mailman (input) for mailman id 165753;
 Wed, 11 Aug 2021 10:31:33 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlR5-0002Qj-GD
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:26:11 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com (unknown
 [40.107.22.41]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 7a1ddb68-fa8e-11eb-a052-12813bfff9fa;
 Wed, 11 Aug 2021 10:25:41 +0000 (UTC)
Received: from DB9PR02CA0019.eurprd02.prod.outlook.com (2603:10a6:10:1d9::24)
 by DB9PR08MB7097.eurprd08.prod.outlook.com (2603:10a6:10:2c2::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Wed, 11 Aug
 2021 10:25:39 +0000
Received: from DB5EUR03FT049.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:1d9:cafe::64) by DB9PR02CA0019.outlook.office365.com
 (2603:10a6:10:1d9::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.17 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:39 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT049.mail.protection.outlook.com (10.152.20.191) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:25:39 +0000
Received: ("Tessian outbound ab45ca2b67bc:v101");
 Wed, 11 Aug 2021 10:25:39 +0000
Received: from dfd3347eb500.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 22735298-353D-4C27-9057-2E4937A724BF.1; 
 Wed, 11 Aug 2021 10:25:33 +0000
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id dfd3347eb500.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:25:33 +0000
Received: from DB7PR02CA0004.eurprd02.prod.outlook.com (2603:10a6:10:52::17)
 by DB7PR08MB3723.eurprd08.prod.outlook.com (2603:10a6:10:7b::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Wed, 11 Aug
 2021 10:25:26 +0000
Received: from DB5EUR03FT027.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:52:cafe::9a) by DB7PR02CA0004.outlook.office365.com
 (2603:10a6:10:52::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:26 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT027.mail.protection.outlook.com (10.152.20.121) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:25:26 +0000
Received: from AZ-NEU-EX01.Emea.Arm.com (10.251.26.4) by AZ-NEU-EX03.Arm.com
 (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:25:18 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX01.Emea.Arm.com
 (10.251.26.4) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2308.14; Wed, 11
 Aug 2021 10:25:18 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7a1ddb68-fa8e-11eb-a052-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=odN0lHZAsbsVRMXgR2b8ZeF2f7UGOUcwvUmC6yeEvE4=;
 b=6caHZsM8dl0fYrGEkXxCuR/NxH88PHAEWUJnYT+ZOlRi55rWMQYDuqNscdtNySFnum62J+L0QIvTG1S9aEtujZOJMp+lw9Lixz3+STGKDvErX+5GbY0ywp7wovMXAGsQM8IzGW815RL/IXkih3waBcBHs6tCZhSrDFUVrRrACvA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: c2c8e51570f7c19c
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Daizj4Q/2uR2wt2v6T5yYeW8wZNh53EQj9oHSwk5dEDu+9uL2E9XJzDCopF7lbYcaK8WyFUExF0WjNFQrY0nw/3GdmKCbts+pTu6l++VmvjlmLBl7GlPWaDStdtZ/LeHmZ7qp3Gr13I35SMMeYN+RnUbs0Iu4pYKoDURVA5jl85mBl5aM2NJQWr31wFcmlQU+oFAHOSIriPtTEGxYDd4+k3DmHmCQ0fFaDaBuTKYfE6Sr6Kfw6U68FtD5Zbd6gtYQK4bJZo/I/TAyFZtkNeXHLpIgZPU5HgQkue/k6KLQn48B1UJfgsfnSNGS6IIZ69sEzDE6N7pijgJ34jlPGrEew==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=odN0lHZAsbsVRMXgR2b8ZeF2f7UGOUcwvUmC6yeEvE4=;
 b=is5MiMPxrb9RZuFR7mTGsa/PVLhRuxTwc8gdJ45Ss+7PfQQj7RvMOGDFEyw/8Xc0ckVWelMu48AbJKmfz7j2vSoxNYurz7EZZ08vfRd75sZsSnByXPgUXabFVud7csH3qEbAkBfacLRrTbDVqKDEHrtnMGn+euZOYsBKzNLde98OumMuuFZXJfhK5KhETRJLtXsL5BmQf9eBr5kleM2qdjHX2ItzDmYA3hauXOBeEkUlu5fuUtF9ObWzCKz6RfTWdB5dWDo1e+HPS1EU/NC7Nj3pYO107I4uLYJkQ7JuQUV8GyDALxNH+r0T1RF33mG+snbsPrkkT+vqE1n7RKRVUQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=odN0lHZAsbsVRMXgR2b8ZeF2f7UGOUcwvUmC6yeEvE4=;
 b=6caHZsM8dl0fYrGEkXxCuR/NxH88PHAEWUJnYT+ZOlRi55rWMQYDuqNscdtNySFnum62J+L0QIvTG1S9aEtujZOJMp+lw9Lixz3+STGKDvErX+5GbY0ywp7wovMXAGsQM8IzGW815RL/IXkih3waBcBHs6tCZhSrDFUVrRrACvA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 19/40] xen: fdt: Introduce a helper to check fdt node type
Date: Wed, 11 Aug 2021 18:24:02 +0800
Message-ID: <20210811102423.28908-20-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b70631d2-6414-45de-1775-08d95cb25ddf
X-MS-TrafficTypeDiagnostic: DB7PR08MB3723:|DB9PR08MB7097:
X-Microsoft-Antispam-PRVS:
	<DB9PR08MB7097956E502EC8F7072192059EF89@DB9PR08MB7097.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 1KO5nXSYrpAx0UcAhvulIaLhpBurXeXLojtp9FQJR2gDA4+LT3abMGIModWEzul+Y09boyTwAGmHuDUM7ykitAAHrMWF2HBmtgSTvUrE5htJoOhyhfTT8bJv2uR7+6V8n93Ga3TwEHtRnJOtYq+0/rKkomYjS2lQDDKA3pE0yrXsAJEETBz0JnkK98Y6U2wDIzI3V97eco6ppvmCP6gyuCaHTPsUaDs2wW+LuOPpoICjo41wZlaU/a1n1v3DVLahcQZccoCzemQFEUidz0FqOOloMO3XpP7NrL2S40BnsaQt4EdYn9jQ8iRwgqJJBWODtFRaAIl/DHnvdlh1Ja+Hya7GjDXMl4G8yE1DAgFBAuZE7BNI6f68zbIUKFieos3j1cB6E0atj4OIQ3fRBtcEJ9lp6Ea0xqcI+jMx2G11hfIR3IGzHvAo984nICuE7dW8BMAouVjOLlujwRCB5eVqIPe+MY9+B3A+KV44uEjG+ndtR3vAhqAADaICWXiEwNiDZKfI0y/Lnji5sVHhBaDbnTTuNTLYFw1+NUHF5PS5oGeRQLtPVtirEY5BWOLlN5GeCuelBkOnZSz1QFT1FVGSLxcJfLnJWxLxnJ/yiw88kXK+Dw0VldHzwuJQEo4g9uV39Xg4jtg3JiCejbaHKsSAQEZ1EgXgvt0Ol2BDl34t/tIDcUnFwsEcnzjbGw6lu47DogjpskPIGiHoZakzd3X+a4kX8ZKjn1Agtt6N7SXU9aARehKzfJ6TjnV4H2S4jUQoozjzVUi/d26JIuo15WMIgdxHOJ90h96i5AsSxvQ8/4c=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(36840700001)(46966006)(2616005)(336012)(86362001)(2906002)(186003)(36860700001)(1076003)(47076005)(5660300002)(7696005)(36756003)(82310400003)(4326008)(70586007)(70206006)(356005)(44832011)(8936002)(8676002)(26005)(426003)(34070700002)(508600001)(81166007)(316002)(110136005)(6666004)(36900700001)(2101003);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3723
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT049.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	15f0bff1-bb77-4f6e-3f2e-08d95cb255a2
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	RoIUMMmpKDtBrNFzT0L6HqQ6Glr5bL0Fi/Zc/5YL7oMiitid2/ISmxq3M98Q+2/JXFU+lPCk6fVrWjaxFFVut7eV2NZXjeEJKBiLNV+mHk0l5aPrwTQ89eNh/UuBwz+dNqEfWlBdtkNZPBD4aBcVJRmY2Cxdmg0Ie7slulAbQ74xNkaKpnCLT3WfN1XdHk8YLkU+JFdD1Use6mfkOp9h0g3g7GLycfCTV1rV7A0+ETx6QydYLOqQYocw2LKzh+0eRSU55WmX/7il35mPO0Prv8IIc+5jUZuW2SBTonB2ATZk06igPqRDfUFBqEKcJVDSCVeBFF+hydIgriLKQnpuVLC1Cg2DBkFb2Bi+tkpB5do9JYSKmEti12jm6Ho0tgSDw7XJhE47KOD76vJcdWbMxrmJkPymD9nhOfqoGVcYH8MlorfMQoSL3fqexPnvnT+envXrldcyX6SR88KQzmzSjI+isFF/6noqOIFqQD8Lba8wlSaJcHP+nviopyQcvgdFgLB6fb52TBLeRnbyinyGwWYmxNq4kxqD51WLb24rUccpsk4uTRtTjg3uiBSugWOJOeczR/dpagPInP1P3HcH5qJhPcRpskMnXb9aEuRyA+Gh6wiZxPaK1Pwrc39SyWerii3yz4337b8oa6k99Xb4XMB39EL4RC9RR5mkVY+WVIGphFYAdBA6KC6X/ltmMBMqnR/lKAHtfy8oR7YRH6q4YtYAq/hlxsczDcydyMjEL4c=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(396003)(39860400002)(346002)(376002)(136003)(46966006)(36840700001)(110136005)(186003)(426003)(8936002)(82740400003)(36860700001)(26005)(8676002)(478600001)(7696005)(44832011)(316002)(86362001)(47076005)(1076003)(2616005)(6666004)(336012)(70206006)(2906002)(5660300002)(82310400003)(36756003)(81166007)(70586007)(4326008)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:25:39.8401
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b70631d2-6414-45de-1775-08d95cb25ddf
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT049.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB7097

In later patches, we will parse CPU and memory NUMA information
from device tree. FDT is using device type property to indicate
CPU nodes and memory nodes. So we introduce fdt_node_check_type
in this patch to avoid redundant code in subsequent patches.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
 xen/common/libfdt/fdt_ro.c      | 15 +++++++++++++++
 xen/include/xen/libfdt/libfdt.h | 25 +++++++++++++++++++++++++
 2 files changed, 40 insertions(+)

diff --git a/xen/common/libfdt/fdt_ro.c b/xen/common/libfdt/fdt_ro.c
index 36f9b480d1..ae7794d870 100644
--- a/xen/common/libfdt/fdt_ro.c
+++ b/xen/common/libfdt/fdt_ro.c
@@ -545,6 +545,21 @@ int fdt_node_check_compatible(const void *fdt, int nodeoffset,
 		return 1;
 }
 
+int fdt_node_check_type(const void *fdt, int nodeoffset,
+			      const char *type)
+{
+	const void *prop;
+	int len;
+
+	prop = fdt_getprop(fdt, nodeoffset, "device_type", &len);
+	if (!prop)
+		return len;
+	if (fdt_stringlist_contains(prop, len, type))
+		return 0;
+	else
+		return 1;
+}
+
 int fdt_node_offset_by_compatible(const void *fdt, int startoffset,
 				  const char *compatible)
 {
diff --git a/xen/include/xen/libfdt/libfdt.h b/xen/include/xen/libfdt/libfdt.h
index 7c75688a39..7e4930dbcd 100644
--- a/xen/include/xen/libfdt/libfdt.h
+++ b/xen/include/xen/libfdt/libfdt.h
@@ -799,6 +799,31 @@ int fdt_node_offset_by_phandle(const void *fdt, uint32_t phandle);
 int fdt_node_check_compatible(const void *fdt, int nodeoffset,
 			      const char *compatible);
 
+/**
+ * fdt_node_check_type: check a node's device_type property
+ * @fdt: pointer to the device tree blob
+ * @nodeoffset: offset of a tree node
+ * @type: string to match against
+ *
+ *
+ * fdt_node_check_type() returns 0 if the given node contains a 'device_type'
+ * property with the given string as one of its elements, it returns non-zero
+ * otherwise, or on error.
+ *
+ * returns:
+ *	0, if the node has a 'device_type' property listing the given string
+ *	1, if the node has a 'device_type' property, but it does not list
+ *		the given string
+ *	-FDT_ERR_NOTFOUND, if the given node has no 'device_type' property
+ * 	-FDT_ERR_BADOFFSET, if nodeoffset does not refer to a BEGIN_NODE tag
+ *	-FDT_ERR_BADMAGIC,
+ *	-FDT_ERR_BADVERSION,
+ *	-FDT_ERR_BADSTATE,
+ *	-FDT_ERR_BADSTRUCTURE, standard meanings
+ */
+int fdt_node_check_type(const void *fdt, int nodeoffset,
+			      const char *type);
+
 /**
  * fdt_node_offset_by_compatible - find nodes with a given 'compatible' value
  * @fdt: pointer to the device tree blob
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:31:40 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:31:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165760.302972 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlWN-0001HF-MP; Wed, 11 Aug 2021 10:31:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165760.302972; Wed, 11 Aug 2021 10: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 1mDlWN-0001Em-0w; Wed, 11 Aug 2021 10:31:39 +0000
Received: by outflank-mailman (input) for mailman id 165760;
 Wed, 11 Aug 2021 10:31:35 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlS3-0002Qj-Ht
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:27:11 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com (unknown
 [40.107.22.84]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 9914a608-fa8e-11eb-a052-12813bfff9fa;
 Wed, 11 Aug 2021 10:26:33 +0000 (UTC)
Received: from AM6PR01CA0052.eurprd01.prod.exchangelabs.com
 (2603:10a6:20b:e0::29) by AM6PR08MB4230.eurprd08.prod.outlook.com
 (2603:10a6:20b:b3::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.21; Wed, 11 Aug
 2021 10:26:22 +0000
Received: from AM5EUR03FT024.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:e0:cafe::94) by AM6PR01CA0052.outlook.office365.com
 (2603:10a6:20b:e0::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:26:22 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT024.mail.protection.outlook.com (10.152.16.175) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:26:22 +0000
Received: ("Tessian outbound 79bfeeb089c1:v101");
 Wed, 11 Aug 2021 10:26:21 +0000
Received: from 953aac4d7777.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 240EC2A7-6D33-475B-A18B-3652790E2523.1; 
 Wed, 11 Aug 2021 10:26:15 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 953aac4d7777.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:26:15 +0000
Received: from DU2PR04CA0214.eurprd04.prod.outlook.com (2603:10a6:10:2b1::9)
 by VE1PR08MB4655.eurprd08.prod.outlook.com (2603:10a6:802:b2::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.17; Wed, 11 Aug
 2021 10:26:11 +0000
Received: from DB5EUR03FT028.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:2b1:cafe::c8) by DU2PR04CA0214.outlook.office365.com
 (2603:10a6:10:2b1::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.17 via Frontend
 Transport; Wed, 11 Aug 2021 10:26:11 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT028.mail.protection.outlook.com (10.152.20.99) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.14 via Frontend Transport; Wed, 11 Aug 2021 10:26:11 +0000
Received: from AZ-NEU-EX01.Emea.Arm.com (10.251.26.4) by AZ-NEU-EX03.Arm.com
 (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:26:10 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX01.Emea.Arm.com
 (10.251.26.4) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2308.14; Wed, 11
 Aug 2021 10:26:10 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:26:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9914a608-fa8e-11eb-a052-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TC7LKln6ahLVf1ZtsKqkIlBSpfKHZSkuLzsKHx1whuA=;
 b=Uc2JWPzPk4RaPqmlEr/GhDjg2cAz3GGRbv+hvnvaG8jKLqrXJ6GNcynv78wy0/G/kiVN5bQKnFP0a02ewo5q4IZR43fSJnLw4tzN0tR7p9HQJZ0DBsXNYHo55k2KJZgHkSNHNm2xIlDpqgA3rnYH/5b1M7yH7ZpGb3qMYdVfwiU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 3bfa62c877f4a58c
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NdeJ5BlmKjY522cuSEd9qU8CbBDNWUW3iyu9lpoLvLMmRX2XdEDaRJjSQOhXhH2RX8mcM9bqYdl0D/6h4F9WnNs50HMpBx5aYL32For8CW4YYmPhPYjgnVjoyeX/25W+s5OoAtOvTrSObHSzh8uSjzb3q7l120eNKxQ8PnJiGSInx5Ss85cbce9Oiuo7w8fcNRnsedrL2rAm5GJ+sHwpy8dJIwU6d73WLelnti70XQbyI7vz7UteuObHYtSIIA/o0PQv0OooOlASVLK6rUzlVs7LO2FrBgMGWTTp1Q1/pkGsS2ItmiwWSAhyS7ugJokOPrZYAGL/RAojKC/gv8x8xg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TC7LKln6ahLVf1ZtsKqkIlBSpfKHZSkuLzsKHx1whuA=;
 b=ofkOqKaPfY9ht1fZqEGgvNpFknD2uBrC5Nvs718ZXufR40CP0fjI2BEAPtEkR2NX20Tt1qysnekyOyq/KmL5c/q9hPwfYi5yguZjcRdxAp9kPpbMybtqIAYVJqxCloBrG7xvzxOdGyx/qpMjyg7dHCNCW/dOWZExmZfe9TBvPF9c6W0EYd60bsMTIN0NzLED4+ti7lpNO9lp5lp4KNDnYxqbsDvBdXNEVm6Ijaf9A7qck4DRHwE/vht0X4VJBVD4jps5EyyqRVbmVaYqYcOXveWsasaEEfiIp+svHjji3T+OKkOF5oE5moc4HIP5McMeOuF/EQwa8tui7a9O7e8HXQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TC7LKln6ahLVf1ZtsKqkIlBSpfKHZSkuLzsKHx1whuA=;
 b=Uc2JWPzPk4RaPqmlEr/GhDjg2cAz3GGRbv+hvnvaG8jKLqrXJ6GNcynv78wy0/G/kiVN5bQKnFP0a02ewo5q4IZR43fSJnLw4tzN0tR7p9HQJZ0DBsXNYHo55k2KJZgHkSNHNm2xIlDpqgA3rnYH/5b1M7yH7ZpGb3qMYdVfwiU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 40/40] xen/x86: move dump_numa info hotkey to common
Date: Wed, 11 Aug 2021 18:24:23 +0800
Message-ID: <20210811102423.28908-41-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 84d24e0e-22c8-4345-5baa-08d95cb27737
X-MS-TrafficTypeDiagnostic: VE1PR08MB4655:|AM6PR08MB4230:
X-Microsoft-Antispam-PRVS:
	<AM6PR08MB4230C34DAD1B32C5485FBFBF9EF89@AM6PR08MB4230.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:229;OLM:229;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 fFX9f+oxeHoOwV2hfG37Kz7uwFVyY9bLz/MhWCcCkRGrsxLSNVYijVsO1aerGdoIe+o+rd847lXAlXkWg1KWymJoE0TXN+8PBDYAUdfny/drOe0KoGC18LLhSuCW1Wf94D3cgniV23ORrmzZOFVInZWvUmlQDujHgWiZakTxQae+GNdvQqMV/8Yd2/ejsShTjCity6QDbc/CRscZxI371f0W3NhHr5zG7VoHndOBSxuyCd8jhOzU7EZoW50v8wP8Uu/a867tCIi7jMJT678giJxskun9MJ0coCSPIqXpzYZIZ0YSdZCIS7QbzmZuUZVORZwWoXmkJIaiFVGsBZ01hlgYg/DckKT1LsoaDFk6UR9WycE1LKJ4cgrzzHQ4kRY5cldwZdZQ+Oqcv/kDGbWB/we0NN+7nPxaohwB7BZiB7frdjzxAMKPyac28sZ2i3V1CtaIPzI4hUTUZ5oVjPP3XaMC4vFKzVqGMNtzs4V2rBqLa9mKekUJpUksygECdau9XJJFw9Ugn6MpluwgC04P4+GhRce+nEiwjaY9W2cuLGv3rlTUm/+FRirl6FGAv+OjVB2RnK1CconQTMAqMjfZKMxzH46CniVLaeX5V6aoUSGwhWqwIHkBKPLqbiRcXpX1QO54s/3QYrQVkpoVQk0895HJl5lW+u9iFPvVKurxWC1klV8QwMATJfRDzv/65icvQWaRVP9xDGZ9URUP4EO/XFBB48XWa+stEvnao83o5M0rl72QouvxvXwG5PBG3IrHY3y33CR993KKSui5Or0URTR7AKPYmB5TA06KskqPVpM=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(39860400002)(346002)(376002)(136003)(396003)(36840700001)(46966006)(8936002)(8676002)(86362001)(2616005)(6666004)(36756003)(5660300002)(70586007)(82740400003)(44832011)(426003)(81166007)(70206006)(356005)(2906002)(186003)(83380400001)(82310400003)(34070700002)(110136005)(4326008)(478600001)(36860700001)(26005)(336012)(316002)(47076005)(1076003)(7696005)(2101003)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB4655
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT024.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	9b9f83ae-760f-429f-031c-08d95cb270d9
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5DU+2zZSNl1eyuz7qzDXYiED0DI6w7LuuRK1fxt0BQXdqjE4yTFhXwpzZVLUSHR2qTvF0STRV6fR4MhHtZtKoI7cN+PpQBsObeexMOIBPkTuU+ZVBOVXmMVcDF6VJ5mbKYWWrE5++7HcaJ4j5PnHp8a85F2lGPzanVoYVfc+UlCG5MgOaHThchQMkq+UPXraJQGk1J7+R7VO+Mvyiy71bInaEbs8YNHfXDyyHdMXUlh8+vkbITQdH8YDVLL9sflSB/HwLt8xmgZmzCK8k2zGfRr5R+mqcmO1UeL35FvjfYKwD/xKa3nb4nr11+sPemHwEbkiXCazOtLwOcvPUFBNAzXdlqvS8ri86D21UDGWnbLOb+HBTW4hDiN0ueiuNL8l73LUENGNwwfABQON5tO4PY6UYx2dodmCUQkFpxEcjtJ8cYDqFNlOuGjRKXEl/bOrxmB2cVSo7zD3pYpMFkVWgL1TEJmVhsRcFgbkQzU/VX7jccJv7cGplX65pi+rRZs8TDf363Zk2kGY9C1SpqF5UtfXM+DXs3gqx7gIkF3s7gkA/xMcf7Fjl1oeBakMkgQ/EJrCShMJtXIPWsMxWxCuSTOC8ivgl5RynemeeU5AmOyM3ob+uwl1rEC57OTFNVOSCXFmv9F4yT6j4Hkx4DgvDqC8EgN29HX2HdknHJsvSwTTsSPK4Y2NHuQoCJJ4dSMmIGscpCqIhNt8WLPTGvk03ygpq8WB1li1MI6jiXmJhC8=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(36840700001)(46966006)(4326008)(336012)(1076003)(186003)(44832011)(36860700001)(82310400003)(8936002)(81166007)(36756003)(7696005)(5660300002)(86362001)(70206006)(316002)(26005)(2616005)(70586007)(426003)(47076005)(110136005)(6666004)(83380400001)(508600001)(2906002)(8676002)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:26:22.2986
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 84d24e0e-22c8-4345-5baa-08d95cb27737
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT024.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4230

As device tree based NUMA has been enabled for Arm, so not
only x86 needs to dump numa info through hotkey, but also
Arm can use this hotkey to dump numa info.

In this patch, we move this hotkey to common. Arm can use it
to dump its numa information:

(XEN)  key 'u' (ascii '75') => dump NUMA info
(XEN) 'u' pressed -> dumping numa info (now = 8805901249990)
(XEN) NODE0 start->524288 size->520192 free->257673
(XEN) NODE1 start->8912896 size->524288 free->499676
(XEN) CPU0...1 -> NODE0
(XEN) CPU2...3 -> NODE1
(XEN) Memory location of each domain:
(XEN) Domain 0 (total: 262144):
(XEN)     Node 0: 262144
(XEN)     Node 1: 0

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
 xen/arch/x86/numa.c | 142 -------------------------------------------
 xen/common/numa.c   | 144 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 144 insertions(+), 142 deletions(-)

diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c
index 380d8ed6fd..322801cb17 100644
--- a/xen/arch/x86/numa.c
+++ b/xen/arch/x86/numa.c
@@ -112,145 +112,3 @@ int __init arch_meminfo_get_ram_bank_range(int bank,
 
 	return 0;
 }
-
-static void dump_numa(unsigned char key)
-{
-    s_time_t now = NOW();
-    unsigned int i, j, n;
-    struct domain *d;
-    struct page_info *page;
-    unsigned int page_num_node[MAX_NUMNODES];
-    const struct vnuma_info *vnuma;
-
-    printk("'%c' pressed -> dumping numa info (now = %"PRI_stime")\n", key,
-           now);
-
-    for_each_online_node ( i )
-    {
-        paddr_t pa = pfn_to_paddr(node_start_pfn(i) + 1);
-
-        printk("NODE%u start->%lu size->%lu free->%lu\n",
-               i, node_start_pfn(i), node_spanned_pages(i),
-               avail_node_heap_pages(i));
-        /* sanity check phys_to_nid() */
-        if ( phys_to_nid(pa) != i )
-            printk("phys_to_nid(%"PRIpaddr") -> %d should be %u\n",
-                   pa, phys_to_nid(pa), i);
-    }
-
-    j = cpumask_first(&cpu_online_map);
-    n = 0;
-    for_each_online_cpu ( i )
-    {
-        if ( i != j + n || cpu_to_node[j] != cpu_to_node[i] )
-        {
-            if ( n > 1 )
-                printk("CPU%u...%u -> NODE%d\n", j, j + n - 1, cpu_to_node[j]);
-            else
-                printk("CPU%u -> NODE%d\n", j, cpu_to_node[j]);
-            j = i;
-            n = 1;
-        }
-        else
-            ++n;
-    }
-    if ( n > 1 )
-        printk("CPU%u...%u -> NODE%d\n", j, j + n - 1, cpu_to_node[j]);
-    else
-        printk("CPU%u -> NODE%d\n", j, cpu_to_node[j]);
-
-    rcu_read_lock(&domlist_read_lock);
-
-    printk("Memory location of each domain:\n");
-    for_each_domain ( d )
-    {
-        process_pending_softirqs();
-
-        printk("Domain %u (total: %u):\n", d->domain_id, domain_tot_pages(d));
-
-        for_each_online_node ( i )
-            page_num_node[i] = 0;
-
-        spin_lock(&d->page_alloc_lock);
-        page_list_for_each(page, &d->page_list)
-        {
-            i = phys_to_nid(page_to_maddr(page));
-            page_num_node[i]++;
-        }
-        spin_unlock(&d->page_alloc_lock);
-
-        for_each_online_node ( i )
-            printk("    Node %u: %u\n", i, page_num_node[i]);
-
-        if ( !read_trylock(&d->vnuma_rwlock) )
-            continue;
-
-        if ( !d->vnuma )
-        {
-            read_unlock(&d->vnuma_rwlock);
-            continue;
-        }
-
-        vnuma = d->vnuma;
-        printk("     %u vnodes, %u vcpus, guest physical layout:\n",
-               vnuma->nr_vnodes, d->max_vcpus);
-        for ( i = 0; i < vnuma->nr_vnodes; i++ )
-        {
-            unsigned int start_cpu = ~0U;
-
-            if ( vnuma->vnode_to_pnode[i] == NUMA_NO_NODE )
-                printk("       %3u: pnode ???,", i);
-            else
-                printk("       %3u: pnode %3u,", i, vnuma->vnode_to_pnode[i]);
-
-            printk(" vcpus ");
-
-            for ( j = 0; j < d->max_vcpus; j++ )
-            {
-                if ( !(j & 0x3f) )
-                    process_pending_softirqs();
-
-                if ( vnuma->vcpu_to_vnode[j] == i )
-                {
-                    if ( start_cpu == ~0U )
-                    {
-                        printk("%d", j);
-                        start_cpu = j;
-                    }
-                }
-                else if ( start_cpu != ~0U )
-                {
-                    if ( j - 1 != start_cpu )
-                        printk("-%d ", j - 1);
-                    else
-                        printk(" ");
-                    start_cpu = ~0U;
-                }
-            }
-
-            if ( start_cpu != ~0U  && start_cpu != j - 1 )
-                printk("-%d", j - 1);
-
-            printk("\n");
-
-            for ( j = 0; j < vnuma->nr_vmemranges; j++ )
-            {
-                if ( vnuma->vmemrange[j].nid == i )
-                    printk("           %016"PRIx64" - %016"PRIx64"\n",
-                           vnuma->vmemrange[j].start,
-                           vnuma->vmemrange[j].end);
-            }
-        }
-
-        read_unlock(&d->vnuma_rwlock);
-    }
-
-    rcu_read_unlock(&domlist_read_lock);
-}
-
-static __init int register_numa_trigger(void)
-{
-    register_keyhandler('u', dump_numa, "dump NUMA info", 1);
-    return 0;
-}
-__initcall(register_numa_trigger);
diff --git a/xen/common/numa.c b/xen/common/numa.c
index c98eb8d571..eb1950c51a 100644
--- a/xen/common/numa.c
+++ b/xen/common/numa.c
@@ -14,7 +14,9 @@
 #include <xen/smp.h>
 #include <xen/pfn.h>
 #include <xen/sched.h>
+#include <xen/keyhandler.h>
 #include <xen/param.h>
+#include <xen/softirq.h>
 #include <asm/acpi.h>
 
 static int numa_setup(const char *s);
@@ -442,3 +444,145 @@ static __init int numa_setup(const char *opt)
 
     return 0;
 }
+
+static void dump_numa(unsigned char key)
+{
+    s_time_t now = NOW();
+    unsigned int i, j, n;
+    struct domain *d;
+    struct page_info *page;
+    unsigned int page_num_node[MAX_NUMNODES];
+    const struct vnuma_info *vnuma;
+
+    printk("'%c' pressed -> dumping numa info (now = %"PRI_stime")\n", key,
+           now);
+
+    for_each_online_node ( i )
+    {
+        paddr_t pa = pfn_to_paddr(node_start_pfn(i) + 1);
+
+        printk("NODE%u start->%lu size->%lu free->%lu\n",
+               i, node_start_pfn(i), node_spanned_pages(i),
+               avail_node_heap_pages(i));
+        /* sanity check phys_to_nid() */
+        if ( phys_to_nid(pa) != i )
+            printk("phys_to_nid(%"PRIpaddr") -> %d should be %u\n",
+                   pa, phys_to_nid(pa), i);
+    }
+
+    j = cpumask_first(&cpu_online_map);
+    n = 0;
+    for_each_online_cpu ( i )
+    {
+        if ( i != j + n || cpu_to_node[j] != cpu_to_node[i] )
+        {
+            if ( n > 1 )
+                printk("CPU%u...%u -> NODE%d\n", j, j + n - 1, cpu_to_node[j]);
+            else
+                printk("CPU%u -> NODE%d\n", j, cpu_to_node[j]);
+            j = i;
+            n = 1;
+        }
+        else
+            ++n;
+    }
+    if ( n > 1 )
+        printk("CPU%u...%u -> NODE%d\n", j, j + n - 1, cpu_to_node[j]);
+    else
+        printk("CPU%u -> NODE%d\n", j, cpu_to_node[j]);
+
+    rcu_read_lock(&domlist_read_lock);
+
+    printk("Memory location of each domain:\n");
+    for_each_domain ( d )
+    {
+        process_pending_softirqs();
+
+        printk("Domain %u (total: %u):\n", d->domain_id, domain_tot_pages(d));
+
+        for_each_online_node ( i )
+            page_num_node[i] = 0;
+
+        spin_lock(&d->page_alloc_lock);
+        page_list_for_each(page, &d->page_list)
+        {
+            i = phys_to_nid(page_to_maddr(page));
+            page_num_node[i]++;
+        }
+        spin_unlock(&d->page_alloc_lock);
+
+        for_each_online_node ( i )
+            printk("    Node %u: %u\n", i, page_num_node[i]);
+
+        if ( !read_trylock(&d->vnuma_rwlock) )
+            continue;
+
+        if ( !d->vnuma )
+        {
+            read_unlock(&d->vnuma_rwlock);
+            continue;
+        }
+
+        vnuma = d->vnuma;
+        printk("     %u vnodes, %u vcpus, guest physical layout:\n",
+               vnuma->nr_vnodes, d->max_vcpus);
+        for ( i = 0; i < vnuma->nr_vnodes; i++ )
+        {
+            unsigned int start_cpu = ~0U;
+
+            if ( vnuma->vnode_to_pnode[i] == NUMA_NO_NODE )
+                printk("       %3u: pnode ???,", i);
+            else
+                printk("       %3u: pnode %3u,", i, vnuma->vnode_to_pnode[i]);
+
+            printk(" vcpus ");
+
+            for ( j = 0; j < d->max_vcpus; j++ )
+            {
+                if ( !(j & 0x3f) )
+                    process_pending_softirqs();
+
+                if ( vnuma->vcpu_to_vnode[j] == i )
+                {
+                    if ( start_cpu == ~0U )
+                    {
+                        printk("%d", j);
+                        start_cpu = j;
+                    }
+                }
+                else if ( start_cpu != ~0U )
+                {
+                    if ( j - 1 != start_cpu )
+                        printk("-%d ", j - 1);
+                    else
+                        printk(" ");
+                    start_cpu = ~0U;
+                }
+            }
+
+            if ( start_cpu != ~0U  && start_cpu != j - 1 )
+                printk("-%d", j - 1);
+
+            printk("\n");
+
+            for ( j = 0; j < vnuma->nr_vmemranges; j++ )
+            {
+                if ( vnuma->vmemrange[j].nid == i )
+                    printk("           %016"PRIx64" - %016"PRIx64"\n",
+                           vnuma->vmemrange[j].start,
+                           vnuma->vmemrange[j].end);
+            }
+        }
+
+        read_unlock(&d->vnuma_rwlock);
+    }
+
+    rcu_read_unlock(&domlist_read_lock);
+}
+
+static __init int register_numa_trigger(void)
+{
+    register_keyhandler('u', dump_numa, "dump NUMA info", 1);
+    return 0;
+}
+__initcall(register_numa_trigger);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:31:42 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:31:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165768.302984 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlWQ-0001g8-Cs; Wed, 11 Aug 2021 10:31:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165768.302984; Wed, 11 Aug 2021 10: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 1mDlWP-0001cV-45; Wed, 11 Aug 2021 10:31:41 +0000
Received: by outflank-mailman (input) for mailman id 165768;
 Wed, 11 Aug 2021 10:31:39 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlSK-0000BQ-Fp
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:27:28 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com (unknown
 [2a01:111:f400:7e1a::631])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 88972533-0b90-4f21-b6e0-6bc2197160db;
 Wed, 11 Aug 2021 10:25:57 +0000 (UTC)
Received: from AM5PR04CA0034.eurprd04.prod.outlook.com (2603:10a6:206:1::47)
 by AM5PR0801MB1730.eurprd08.prod.outlook.com (2603:10a6:203:38::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.16; Wed, 11 Aug
 2021 10:25:55 +0000
Received: from AM5EUR03FT040.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:206:1:cafe::f7) by AM5PR04CA0034.outlook.office365.com
 (2603:10a6:206:1::47) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:55 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT040.mail.protection.outlook.com (10.152.17.148) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.14 via Frontend Transport; Wed, 11 Aug 2021 10:25:55 +0000
Received: ("Tessian outbound 7b804b1d9bbf:v101");
 Wed, 11 Aug 2021 10:25:55 +0000
Received: from eda043fa79b9.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 55E5BB24-0A5A-4D05-8DD1-5B4E48F96E9C.1; 
 Wed, 11 Aug 2021 10:25:49 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id eda043fa79b9.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:25:49 +0000
Received: from DB9PR05CA0024.eurprd05.prod.outlook.com (2603:10a6:10:1da::29)
 by AM6PR08MB4167.eurprd08.prod.outlook.com (2603:10a6:20b:ad::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Wed, 11 Aug
 2021 10:25:46 +0000
Received: from DB5EUR03FT006.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:1da:cafe::df) by DB9PR05CA0024.outlook.office365.com
 (2603:10a6:10:1da::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:45 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT006.mail.protection.outlook.com (10.152.20.106) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:25:45 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX04.Arm.com
 (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:25:37 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:25: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: 88972533-0b90-4f21-b6e0-6bc2197160db
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UBGY6GfvOKpF4SmINSG8yp2SYCx1tlbM/Wi58rWpnME=;
 b=jEhHCyd2obaX3ip/lUDjS5wjnlrpRbxqhE8M7OaTTlu/EHeZR5RdGCriRB1fAVs8NSy+4Vj5XrqZPlwlbLxH+ps9JbH0NlF0JSuwBedUS5bnAJMMrwSfWSNy2m/ciesGM+iLeyd1U6UeXlRkb/ePAMr0rWjZzENpjQXxQNjnjbs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 088b7758af486d10
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fWsmxw14xGEGX9bmdlN9/IiB4SeDhmH9of7ZXlCmUyTH2iC0zLysBAwzeyvFlH1usbwV1eNwmAEAfz2J90F5y+Zz9Y7uu5x8xKGPsj3BcCwJl6rT3b0zA0E1CWGzGVBPTwiSddWBn62+Fx2IO22IHksVIbWzEecnn/yT8yn/jnqmK5ENO/EYUtBJVU+Lf9O5tqo8spxrZ1kb5sFivP/8GWHvX87YlTJP4xg96szAbGfIjbjheXGW7oXSpjYVWbasax3ZkhuYdknAJ8vpGpQuNOGcVjyS57y7wYpDhcoOduul0WYruABnQj907tPhTGQXRKUOlVAqIFnZXnNXvDaONg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UBGY6GfvOKpF4SmINSG8yp2SYCx1tlbM/Wi58rWpnME=;
 b=TNCN6Dz4152CWug8enbj2mqdlJCPc07aURosEJOPKaSGUge3KAPtv87cNoYPfKN7dJP/FvVV+dE1zwarzRv8tbMKgmslkAlxANtUylDlWM35APevMXDZ1Er3zVS4uH2cQtmnDLQs/uYQOfDcyHYDBKCI+d0o3a0gqZx7jEs+3SO2LJFq0RosjfNdNdDhunGXUlMq6IA1AMg0fSTEBwGvp3Kn2n9LjJeY+zlBjn8d4VfpvKSH/U2Dd5MOR6VFwB9x+okpR8iFLBs3PRbcs8s4kJzZrd2rBunWmNkGltI190PgUtlFOcFV2NuI5khge7k2rHJUIhNSG6xnrRzHCtWHNA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UBGY6GfvOKpF4SmINSG8yp2SYCx1tlbM/Wi58rWpnME=;
 b=jEhHCyd2obaX3ip/lUDjS5wjnlrpRbxqhE8M7OaTTlu/EHeZR5RdGCriRB1fAVs8NSy+4Vj5XrqZPlwlbLxH+ps9JbH0NlF0JSuwBedUS5bnAJMMrwSfWSNy2m/ciesGM+iLeyd1U6UeXlRkb/ePAMr0rWjZzENpjQXxQNjnjbs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 27/40] xen/arm: build CPU NUMA node map while creating cpu_logical_map
Date: Wed, 11 Aug 2021 18:24:10 +0800
Message-ID: <20210811102423.28908-28-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 26edcac0-0236-43ad-b3c1-08d95cb26763
X-MS-TrafficTypeDiagnostic: AM6PR08MB4167:|AM5PR0801MB1730:
X-Microsoft-Antispam-PRVS:
	<AM5PR0801MB17309EEC4B259701ED769E089EF89@AM5PR0801MB1730.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:7691;OLM:7691;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 bbV6pQLYMaQMoXB4LA7CsB8gbR6psS+Vh3S6NFBlQ7Q5JpYeQCIypUdcghyesgeHvGftvAyE0RQqAiLPx/xFOQiE9kR6Bbp/2ESVd+ZPn1Ye7OH3Q3B0KvUO0sQ71yrT1FyWzIk3RToAeJnh++Z7PZWFUWqarCjlSP0arCXDkmmJAB//X20Xxeb2K9PvTkykPaeH2aytOr/GiOzUVahlEM3S0G57zmArUfmuRmMjHsz+f80l5BFUSIq2t0NKhDvEvsZ14NxbJvjl+SRZGkifHSGQmPAeIHIBjykfl7j/tn1IgZ1AkgsXPGQ8XOaOiCohVBuRfV2AIKnLSNR1B8eBt1ntgT+RDcFt0/CmSu7OsK4CS3vNJlQRazZ/QeLSaMK4mfjdFPHvp5MHbKcK1jQFmOjN10ndyPiEuFzgMRYe4RyCA1XwGmp4az05JLokKcIrGm5rWJp4OS7OaDIBQ3Z8Fy1mJaKnJVHGa/ZbjphWS+hJsTbCJjvCqtUUfQw21k9CW3nCK9cteiwePEi8Z3GVoB4YmuVqPZQnB0I5Zd24jXTjHixGHV2qUP/fAdG3KJ8oYzTNQ+H5/K5/Rk1rMxUKqewz+4J99qEC2egEU0mILMVjo5gbQskEdMsgpUIXU8Xrljnl+WFhutAYyPENuyiuBhT0v02zHFH2tQDLkPaFhogfShgKWgtehmwbqlH15HvC44tFaSErMzt2RJLJTh+m8MXq2z03s1kjrJSihueiUOevErMaewTAzdw+aBa4pMg4o91TNVGxpBL8vaSzY4rhUxvU+668NP09BtYIcao41zs=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(136003)(376002)(346002)(396003)(39860400002)(36840700001)(46966006)(36860700001)(34070700002)(110136005)(316002)(86362001)(47076005)(36756003)(8676002)(1076003)(478600001)(8936002)(44832011)(2616005)(7696005)(70586007)(26005)(6666004)(2906002)(82740400003)(83380400001)(70206006)(5660300002)(356005)(81166007)(186003)(82310400003)(426003)(336012)(4326008)(2101003)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4167
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT040.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	80f41c7a-42c6-496d-a68f-08d95cb26188
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	VW8i/e8pNCL7eGrVUPQJ/n50EclPGW1qrsv9T2cGxjRbxYj7XWrnxr+ln6cfJzgTFbWKWy/ivN24+PjIKJsTnzzp7ahGOos4mPuQnh/cPw2vLPsVyHBOjYNMKjeW7I/kmfVc6tGFm5gmhzH4mRz8HNjcxCdYTlsDE3Jukvb4YnhueIWOuM8QSSmBDWi+cwoJ6sgQE1nt4Sc2o8RTaTRRmFc9kZg90tIXXOr269bhcy5HzSEDnrVPy3taEkHgxE2+MnW3mK7qlo+BNi9ck30WrBB4f3pMVm4I9GGlZ8bF6Uy/cXCi8Clqw3OgIPwsQhfsiY1VqLhE6xe7vpzDqRtHmGlOj6MQtPTSbNpuB/egYgdVk+QzZ4VM6mZRqirCjBrMSTLDMB6IM5Gr6TCCazRl5iqNn0cceLXGyUCjlcx7dvH+X95PNwDsPoango45Dj+0P3i83I9Tk3WlSxaf6UgQwBSvhOm7PpO4at2JCFM4RX1VG35awuQ/qbHYaziUkU7amLGymvygPRglhDMF5YyEy/gtpae0lVZaNoR3T5FF90rvfORWBNbsT0G76/xTFhNW97SNW+Z9nHEYZTJ9uvJiclGb5tTx4HDLxs8v5nM9p8p7lN1uXi9/7iubOx0JI2WzOWJdfeBqAFBJRaxB4p45IeLIiXdP2ZFb70oChWLu4gPorguU8zNJ3cGsjA8JVcVQ23cf10YEJePkFV3HV5/gaUVCEHYT6FmUkXId59qv0Fc=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(36840700001)(46966006)(5660300002)(44832011)(426003)(1076003)(70206006)(70586007)(4326008)(2616005)(6666004)(47076005)(7696005)(110136005)(83380400001)(8936002)(508600001)(82310400003)(81166007)(36756003)(8676002)(316002)(26005)(2906002)(186003)(86362001)(336012)(36860700001)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:25:55.7567
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 26edcac0-0236-43ad-b3c1-08d95cb26763
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT040.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1730

Sometimes, CPU logical ID maybe different with physical CPU ID.
Xen is using CPU logial ID for runtime usage, so we should use
CPU logical ID to create map between NUMA node and CPU.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
 xen/arch/arm/smpboot.c | 31 ++++++++++++++++++++++++++++++-
 1 file changed, 30 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index aa78958c07..dd5a45bffc 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -121,7 +121,12 @@ static void __init dt_smp_init_cpus(void)
     {
         [0 ... NR_CPUS - 1] = MPIDR_INVALID
     };
+    static nodeid_t node_map[NR_CPUS] __initdata =
+    {
+        [0 ... NR_CPUS - 1] = NUMA_NO_NODE
+    };
     bool bootcpu_valid = false;
+    uint32_t nid = 0;
     int rc;
 
     mpidr = boot_cpu_data.mpidr.bits & MPIDR_HWID_MASK;
@@ -172,6 +177,26 @@ static void __init dt_smp_init_cpus(void)
             continue;
         }
 
+#ifdef CONFIG_DEVICE_TREE_NUMA
+        /*
+         *  When CONFIG_DEVICE_TREE_NUMA is set, try to fetch numa infomation
+         * from CPU dts node, otherwise the nid is always 0.
+         */
+        if ( !dt_property_read_u32(cpu, "numa-node-id", &nid) )
+        {
+            printk(XENLOG_WARNING
+                "cpu[%d] dts path: %s: doesn't have numa infomation!\n",
+                cpuidx, dt_node_full_name(cpu));
+            /*
+             * The the early stage of NUMA initialization, when Xen found any
+             * CPU dts node doesn't have numa-node-id info, the NUMA will be
+             * treated as off, all CPU will be set to a FAKE node 0. So if we
+             * get numa-node-id failed here, we should set nid to 0.
+             */
+            nid = 0;
+        }
+#endif
+
         /*
          * 8 MSBs must be set to 0 in the DT since the reg property
          * defines the MPIDR[23:0]
@@ -231,9 +256,12 @@ static void __init dt_smp_init_cpus(void)
         {
             printk("cpu%d init failed (hwid %"PRIregister"): %d\n", i, hwid, rc);
             tmp_map[i] = MPIDR_INVALID;
+            node_map[i] = NUMA_NO_NODE;
         }
-        else
+        else {
             tmp_map[i] = hwid;
+            node_map[i] = nid;
+        }
     }
 
     if ( !bootcpu_valid )
@@ -249,6 +277,7 @@ static void __init dt_smp_init_cpus(void)
             continue;
         cpumask_set_cpu(i, &cpu_possible_map);
         cpu_logical_map(i) = tmp_map[i];
+        numa_set_node(i, node_map[i]);
     }
 }
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:31:45 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:31:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165772.302994 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlWS-0002HA-QV; Wed, 11 Aug 2021 10:31:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165772.302994; Wed, 11 Aug 2021 10: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 1mDlWR-00029H-RL; Wed, 11 Aug 2021 10:31:43 +0000
Received: by outflank-mailman (input) for mailman id 165772;
 Wed, 11 Aug 2021 10:31:40 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlRg-0000BQ-Eg
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:26:48 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com (unknown
 [40.107.22.81]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ca0173c4-c714-4ae9-8de7-ede4a1f1d539;
 Wed, 11 Aug 2021 10:25:42 +0000 (UTC)
Received: from DBBPR09CA0031.eurprd09.prod.outlook.com (2603:10a6:10:d4::19)
 by VI1PR08MB4541.eurprd08.prod.outlook.com (2603:10a6:803:f9::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.19; Wed, 11 Aug
 2021 10:25:39 +0000
Received: from DB5EUR03FT035.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:d4:cafe::61) by DBBPR09CA0031.outlook.office365.com
 (2603:10a6:10:d4::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:39 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT035.mail.protection.outlook.com (10.152.20.65) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.14 via Frontend Transport; Wed, 11 Aug 2021 10:25:39 +0000
Received: ("Tessian outbound 7b804b1d9bbf:v101");
 Wed, 11 Aug 2021 10:25:39 +0000
Received: from 6e46e89ab710.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 646000BB-06E3-49E7-BA0F-AA52E0AA75C3.1; 
 Wed, 11 Aug 2021 10:25:32 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 6e46e89ab710.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:25:32 +0000
Received: from DU2PR04CA0230.eurprd04.prod.outlook.com (2603:10a6:10:2b1::25)
 by AM7PR08MB5415.eurprd08.prod.outlook.com (2603:10a6:20b:10d::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.21; Wed, 11 Aug
 2021 10:25:31 +0000
Received: from DB5EUR03FT028.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:2b1:cafe::d6) by DU2PR04CA0230.outlook.office365.com
 (2603:10a6:10:2b1::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:31 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT028.mail.protection.outlook.com (10.152.20.99) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.14 via Frontend Transport; Wed, 11 Aug 2021 10:25:31 +0000
Received: from AZ-NEU-EX01.Emea.Arm.com (10.251.26.4) by AZ-NEU-EX03.Arm.com
 (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:25:25 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX01.Emea.Arm.com
 (10.251.26.4) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2308.14; Wed, 11
 Aug 2021 10:25:26 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:25: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: ca0173c4-c714-4ae9-8de7-ede4a1f1d539
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tJdqw/WESrBdaASbDcLiFFaHTeYsE5uHyM9TMKEbuAg=;
 b=xM06aacso6FJmHHGd+8YXh50A9tLYqAAT5U3JzJFQfr8vLzNuxT/fVLpWwDe1fCaLZK2Bje54b50RwM7WhsdKJoOfdWZL7yY0Ce03g1rnR5p4E2bfSBCshF0lSF26bE5SHqVdsf5T2KIPkbt69XJTzILcYMVtdxEe+kqCDi05EE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 5e180c4a8c8508b1
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UuefLb6Wknlk6Zb1WxqaNj/Oww2DOpwbfPl7I//aK9nSaT93xH2XhTpzOp8CcZq5/UnubsTyq3f1/Q7E5gtBUL7tI5kg/iFTqc7fC6CGBp0MpOWuN2/d0MUwj92jx8vN4v7JUwGxO9tnKtQHEsv1Tw8NBupGZ6VGBterW/nBAOnIrK5/9U10gEtuPMXoVM1AFptIn0IwmRKnEqEkilObUt7yuzf0QSEYZmb/4dJ6I8y6lWZuNcCpDefgr9lQ75IbMJyr/tk4+vQ06voFZehyc2eTUn4RQAwEXHZoHxp4fUSEN5RyKmoUn0jrs6YpE97hYo19A3NgjuItOiS+GlmbCw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tJdqw/WESrBdaASbDcLiFFaHTeYsE5uHyM9TMKEbuAg=;
 b=bgOs3lYnePVKnu4FtcWUB60z70oFi1CBDTMqXitHMmcrSjrxCvUg1bxlTBTv/20D1jhtEGJ4jzwz/GfeJO7NCuLvyfMyJEcWwAVJYaMJriY2b3sCTnvwqReGHyf/LASzY1y85PQ2DFGZvhqfFLdLk9xP5ub/dak0tbBnlKh7M8qwasFNet275VokjVassZ5JG6emhU3Ezu5aFFA7JIxS9s/ohx+ZXymRC72YaBWaaLKcKPow4pZelGSM7UL25+NDLa+NrjkYfxloTaVfKXhOQJdxj+tWutzdORYDb8AkBVv7FxjKPTNtjKAmWF+GjBsQ3lCrHQ2zD7Fc5j16MzCcCw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tJdqw/WESrBdaASbDcLiFFaHTeYsE5uHyM9TMKEbuAg=;
 b=xM06aacso6FJmHHGd+8YXh50A9tLYqAAT5U3JzJFQfr8vLzNuxT/fVLpWwDe1fCaLZK2Bje54b50RwM7WhsdKJoOfdWZL7yY0Ce03g1rnR5p4E2bfSBCshF0lSF26bE5SHqVdsf5T2KIPkbt69XJTzILcYMVtdxEe+kqCDi05EE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 22/40] xen/arm: introduce a helper to parse device tree processor node
Date: Wed, 11 Aug 2021 18:24:05 +0800
Message-ID: <20210811102423.28908-23-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a4962245-712c-433c-6ed8-08d95cb25da9
X-MS-TrafficTypeDiagnostic: AM7PR08MB5415:|VI1PR08MB4541:
X-Microsoft-Antispam-PRVS:
	<VI1PR08MB4541F25B7C7A8FBD25D456BD9EF89@VI1PR08MB4541.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 7ZJeEoHDM/jCTyjusdBToazj8npPidTTW9b50HnBa0x2GaPHZlGe+Yes09GOIKq3rDkTegC7GT+7iy32PJIdjdfzpL9O2nN5zgSnJtcVBFwhQ0tcgoSc+52Sm+LDLhGpqR3NkXxVPFaJSdfICQu1zZzKoajw8hUGcf2+fKoqCvI7vJoEY+TBBSrLLg5R0srXysrKuylilE93AGUC4AzGl0nSN39TRiw5+T2iCLd/iTbQS9gKCEpDrcjyFnqOgkAyEOHAelvfDeWDrAxxmtZ/Vb8vdeESKgwFOoxqGJgbQuaZTnA2x9VFMKjI+IGwLLjaM5S0zjtWp3oXD/sKGcLTxqQOzUl4RjEYE1gxeMf7EStgyuZwbr6kpfAbEK1Er095UnfyjaA2fNO5JittXBFw2GoH9WKWo7caVjueQHpTF6wNSa1fwkaEiQUWhg7idkOA2e4doTcywb6vmEwE8Y+g7TuStK6f35zp1sMYeDP9+o9FyBczMn5amYcIrlTjiCTWyqBTAE/ofwmm8BFvC0bHaHFqR20RqZBroBQUM6An3jUkGr5rVGukxhDN+VmMuxHzIlrAoccVFp53Nkq6NV9qcsjmIjPoNFBgIZel4gzbaDKntZ/Xd8UMsHc2wxlBGyhKkAVjpwBSaDUZ9xXRONThcdhmo/vp8h7IHAbL+M/KFBs7LPkgK73cRwihNpWhQMOL51BfWelRIc0NY9tcirYULn8C3rvgQmVVrUemHzCYt4pRs1RM8IcP950Q2zQ3hecfogQcZhO1pb0DtnyGO/beA+n60xRNtNhpdPTDDLL6Bng=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(346002)(39850400004)(376002)(396003)(136003)(46966006)(36840700001)(316002)(110136005)(356005)(4326008)(2616005)(478600001)(44832011)(47076005)(81166007)(36860700001)(70586007)(86362001)(82740400003)(336012)(426003)(7696005)(70206006)(82310400003)(8936002)(2906002)(8676002)(1076003)(26005)(36756003)(6666004)(34070700002)(5660300002)(83380400001)(186003)(2101003)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5415
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT035.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	67fd6f5b-cb5b-48b3-e9dd-08d95cb258ae
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Bqkz9zJytwuUtozJWDbiVnWJ0Ej4CzGzQ1swrAq5LU/g9RNrMZ9PNGg0fJ1xhBd94g623AaYSI2EVXa07Ne1qPkmmpWV9mKEAbVLBfR9abM4LNfdtCIdV2l6o8bzANaWhNIq67YfS5Nr1s+ECJ2LQPuGonw7Pkb8ZZt73yQrjnIBhK41S+l9xfvOoTMt9HFZbDkxvllxzk7xQ8x/f6DPnQ+DGsE03QcUXyzVMKGQVaztJG1O4M+pXTYTSwS8j2uHgE941vWQNcg5LAxRRZN0cJ433eNLdtlNA6Ovw59kMbNNYbydlPqIsmElDAfY7yw7ig2pGvlBIZJC++pgimdFrSinw8lWb/c1W/Iv3youfbWMc2SwGeCAd4+tOT4RwWWqi5vvRyqI7KulcPDJ63brxAtyFoudIp/Y2PIwe2+IkxEYB6r0Opmhy5igOkLZZvKIwN3SL99OkPN7zh+HMSwkashrb0WYaYGohdtiME/3OrZ6Mhc5iZqltaFqPjSxGh2Ephit/Z0SuaTmu5Rk+VztkmJ7s9WtjWLxyYLDbijKbJrIHnZJc7OWLV5rUCPn1mihayAoxMm9IL0IOsPfvghyaQWMFdl+puBteO+9kjmm8POwO1j29oZrXOeI39cmuv0r4hrTb9LlbDchOv9HNIjBie+LYATwxCwCbO5xmK/BKnJj5rm6Cp6Jw/ami5l4NUlFObqCGSky1TkWL8LAZBWF0xpjBWn7ZRdAf2xTvg87cuU=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(136003)(376002)(346002)(396003)(39860400002)(36840700001)(46966006)(36860700001)(26005)(70586007)(2616005)(86362001)(6666004)(2906002)(186003)(70206006)(44832011)(82310400003)(426003)(478600001)(110136005)(316002)(8936002)(7696005)(4326008)(82740400003)(1076003)(36756003)(8676002)(5660300002)(81166007)(83380400001)(47076005)(336012)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:25:39.4885
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a4962245-712c-433c-6ed8-08d95cb25da9
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT035.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB4541

Processor NUMA ID information is stored in device tree's processor
node as "numa-node-id". We need a new helper to parse this ID from
processor node. If we get this ID from processor node, this ID's
validity still need to be checked. Once we got a invalid NUMA ID
from any processor node, the device tree will be marked as NUMA
information invalid.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
 xen/arch/arm/numa_device_tree.c | 41 +++++++++++++++++++++++++++++++--
 1 file changed, 39 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/numa_device_tree.c b/xen/arch/arm/numa_device_tree.c
index 1c74ad135d..37cc56acf3 100644
--- a/xen/arch/arm/numa_device_tree.c
+++ b/xen/arch/arm/numa_device_tree.c
@@ -20,16 +20,53 @@
 #include <xen/init.h>
 #include <xen/nodemask.h>
 #include <xen/numa.h>
+#include <xen/device_tree.h>
+#include <asm/setup.h>
 
 s8 device_tree_numa = 0;
+static nodemask_t processor_nodes_parsed __initdata;
 
-int srat_disabled(void)
+static int srat_disabled(void)
 {
     return numa_off || device_tree_numa < 0;
 }
 
-void __init bad_srat(void)
+static __init void bad_srat(void)
 {
     printk(KERN_ERR "DT: NUMA information is not used.\n");
     device_tree_numa = -1;
 }
+
+/* Callback for device tree processor affinity */
+static int __init dtb_numa_processor_affinity_init(nodeid_t node)
+{
+    if ( srat_disabled() )
+        return -EINVAL;
+    else if ( node == NUMA_NO_NODE || node >= MAX_NUMNODES ) {
+		bad_srat();
+		return -EINVAL;
+	}
+
+    node_set(node, processor_nodes_parsed);
+
+    device_tree_numa = 1;
+    printk(KERN_INFO "DT: NUMA node %u processor parsed\n", node);
+
+    return 0;
+}
+
+/* Parse CPU NUMA node info */
+int __init device_tree_parse_numa_cpu_node(const void *fdt, int node)
+{
+    uint32_t nid;
+
+    nid = device_tree_get_u32(fdt, node, "numa-node-id", MAX_NUMNODES);
+    printk(XENLOG_WARNING "CPU on NUMA node:%u\n", nid);
+    if ( nid >= MAX_NUMNODES )
+    {
+        printk(XENLOG_WARNING "Node id %u exceeds maximum value\n", nid);
+        return -EINVAL;
+    }
+
+    return dtb_numa_processor_affinity_init(nid);
+}
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:31:50 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:31:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165788.303015 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlWY-0003oJ-E6; Wed, 11 Aug 2021 10:31:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165788.303015; Wed, 11 Aug 2021 10:31:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlWY-0003n0-29; Wed, 11 Aug 2021 10:31:50 +0000
Received: by outflank-mailman (input) for mailman id 165788;
 Wed, 11 Aug 2021 10:31:47 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlR2-0000BQ-Dm
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:26:08 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com (unknown
 [40.107.21.75]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 2fea898c-6117-4051-a62f-be0923dfb5ab;
 Wed, 11 Aug 2021 10:25:31 +0000 (UTC)
Received: from AM6P195CA0027.EURP195.PROD.OUTLOOK.COM (2603:10a6:209:81::40)
 by DB7PR08MB3660.eurprd08.prod.outlook.com (2603:10a6:10:46::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.17; Wed, 11 Aug
 2021 10:25:29 +0000
Received: from VE1EUR03FT029.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:81:cafe::31) by AM6P195CA0027.outlook.office365.com
 (2603:10a6:209:81::40) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:29 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT029.mail.protection.outlook.com (10.152.18.107) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:25:29 +0000
Received: ("Tessian outbound 79bfeeb089c1:v101");
 Wed, 11 Aug 2021 10:25:28 +0000
Received: from 37402230e43f.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 5143B55B-DD05-48B3-A03D-F514DDF2D533.1; 
 Wed, 11 Aug 2021 10:25:22 +0000
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 37402230e43f.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:25:22 +0000
Received: from DB9PR06CA0005.eurprd06.prod.outlook.com (2603:10a6:10:1db::10)
 by VE1PR08MB4800.eurprd08.prod.outlook.com (2603:10a6:802:a9::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.14; Wed, 11 Aug
 2021 10:25:20 +0000
Received: from DB5EUR03FT012.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:1db:cafe::a0) by DB9PR06CA0005.outlook.office365.com
 (2603:10a6:10:1db::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:20 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT012.mail.protection.outlook.com (10.152.20.161) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:25:20 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX04.Arm.com
 (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:25:03 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10: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>
X-Inumbo-ID: 2fea898c-6117-4051-a62f-be0923dfb5ab
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NPe+D+dpN9Fb/d8ivHIUPCK4Pbt5qBhS048EZq+FnSY=;
 b=IdMIZQa27Ls3NUHN9xFQ8mw8ojSegJyxHrHwinmkNTTQ563Oqad2qKMt5/0BAsYLSYMjzkL1O3KDk5NKLyU0jcmw1GtzjXbJR5X+LSDILV/2QaGxgwDo3FuuswVt/OyvMZ2YthPqp+pvz4r17o3bhaagrqMp7CqZ7DzUjcAogW8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 7657802012c66ae9
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EVnuvMI7InkTFqXmlEVZYqi3gbZjTuuyM/9/bMvkIhz/jWU4GMxezyWhFoik7vAlUwWmeiLgsjA4HIilMyiyrtBA4C/xwroNq8PapCFApbfB5MJoCyn1mkmZ3karvY03oArqkHRhrW8OKN3Arx0qT3WVMOIemaNfpk7CfPKawHu3zLS7exxy8WGAr/XdzqPgoHGfrxZ5rFyZRCO5mURlYdO6K+4YmlBoGT6xQfY1VIFMz05bEo954a/W/Sa4/X2rNbrkKHy45HIyh4Lp6Gb5sREtZ0dToIS+anAu4d29Sjqz0x3T1bxpYAbdty+NXbtrCcFO2h4LY0Emsjg4MFkemQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NPe+D+dpN9Fb/d8ivHIUPCK4Pbt5qBhS048EZq+FnSY=;
 b=DTXPJbIk+kIU1FH71xak81YQlJtI7vaaYbi0MQa390i0C37ES+i/5kx1a9dC24NnO3RD0vR3/TRM4M4Cc0nVULMcE/ATJzkj8Ir2oxqrbgk4kQ9IlLvab3PWQ28gDbaQw9tywhZoeL+cOZTrYdtGG8G+0FKmLZUefezxvIjHdRTVovszcTc6ubyLE9eUWhrMaX/67So8hS1GxGlyoj6eSBGT8V22UYJY1JQTcFgscD0p2twN4IYBlHndFRgkqhOQ2On5frisaeiU5dPXACFqJrfKVs0m0wlwXDuX/HjKX6rhSek+49OpKz5dTPVQaFsEkEPQ1Yx+2dCY0K9MX8lEnA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NPe+D+dpN9Fb/d8ivHIUPCK4Pbt5qBhS048EZq+FnSY=;
 b=IdMIZQa27Ls3NUHN9xFQ8mw8ojSegJyxHrHwinmkNTTQ563Oqad2qKMt5/0BAsYLSYMjzkL1O3KDk5NKLyU0jcmw1GtzjXbJR5X+LSDILV/2QaGxgwDo3FuuswVt/OyvMZ2YthPqp+pvz4r17o3bhaagrqMp7CqZ7DzUjcAogW8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 13/40] xen/arm: introduce numa_set_node for Arm
Date: Wed, 11 Aug 2021 18:23:56 +0800
Message-ID: <20210811102423.28908-14-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: e081f2a6-e6f1-406c-9330-08d95cb25783
X-MS-TrafficTypeDiagnostic: VE1PR08MB4800:|DB7PR08MB3660:
X-Microsoft-Antispam-PRVS:
	<DB7PR08MB36602D69094CE4C520C5A9129EF89@DB7PR08MB3660.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 At26H3rHHA/MB594iKXFV8dz7Zu2Jy5WttOeGyO2vH8Ctv9kvCfwqQXP3cqjvNaw1R4z7MU9FAAiCGvXumKhEPxVxVOj7jhFjIn1joEDgw5/t7/tbm4lllIrs8qsp3QlyEKcy8mGPbOc51jiR7mK+D09oYDWUVKAMpByUZemM+D0/2ODEE2qDTDMvgWDZX6yFWWgJ0NelA29U8PVlh5SSIOn1s/DnW95l0IzdZYUiQZUrmV2Md4w7njxR44BlTps2U9wnRNdy3tpbWl72ysS4vBNz8KYRCg2eTQx/hH6AqWPR4KqNIZd8V9LlCMt3s6Wm66k8dZnHJLy8XJDnjrGpJ1djcWqq1n4k0Bta9JC8iip0g5waGnQYJbT/rMH/ymYZlbfkbJs7gEuaB3jhjsWeFvMMvuNKVhfT+C49QiFzPcFTVakKfqA/uIwDklF/5LVn0POZGGMdpfR0Ej+rewbENLldy1bR9YFaZDP1mRVhfIP2g25wOBbA/KBTwCJLfcm7D6cQoyAYi/lVp+O9H+jnXGMCvSbMpV1w2UMTeD72M+kS4BbblR208OD1XwuAEcMqXPJJ/l6B2M1s/HEVPUiM3mxvKba36EVpzrtDBX42rZqsaNrv06wjtj85CIcXxeFjET8Sducp2eZU5b70yaKzHQ4GQDNuY5Dg68aRl7MK6RbHcZxHaqx6A+0ept2aFmEZ9NMugIipc8uDjyxecbKPLUCbKbcrK9fVM8kCuL4loi6taCaesHzmQcga3VVb1ti/ZUC8CG93GgGTVvxRgh+EurijdClqNbjhXs4TtecmubuVOaxR23dDOyiraYC8HJZDakojjsj/agPa7s2zjUaAZemoKYwDhe9OBvP8pArJuC7Na1iavVNlq0h6xE6dklrSVNDjlbKEB3rEo3OKuM5JQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(46966006)(36840700001)(34070700002)(7696005)(81166007)(83380400001)(70586007)(110136005)(2906002)(36756003)(316002)(47076005)(70206006)(86362001)(36860700001)(5660300002)(8936002)(186003)(1076003)(2616005)(26005)(44832011)(508600001)(4326008)(356005)(6666004)(82310400003)(336012)(426003)(8676002)(2004002)(36900700001)(2101003);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB4800
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT029.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	0fbeea89-92b7-4eb2-03d4-08d95cb25258
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0eUBLv3lfkNc/OS5fHHq7EJWprhTG5s0YAVWcBrPFGFW+cDNmWJcd08EpjXiB5DGm1u5nrn6FKd0nctLaoxonFKBszTahdW2ej3aguvp2XYiWLDgQaINwYllZmUX2HNMO/+dbhFljgM6tJPLbn/bA3XaQjxjgoxMNh2rwau5gdcwwPSCJUmaZUnO4YOANrjUJn9LXmtL7/oA6fUF+2B6alhkXXIparPhwNOXd/Kpswl3iMgtDu3B/Lg6hVRsjFrBR3Lfizgir0cE1oMsmPW/BKwaRjLeN09pSoh9Dkm3lO9sKrwNJ/qWOKPUbl4TS/5eqx0+wUyUWgxo1f5DgoBSTn7FeNiEJsrL5dooO6114hQVPoaro01dnFDHUPL9W5A1sFBEvDq4T4VCikr9DGjZfHG5VD6fmXI41NDihN39Xeg7ZFAnFbaV/zPUC19ER0GdeP/1eXgD0CE7k4/UuJI5AT+m9LJUkl4OLcLbl+Vf6TD4fxyNAvYE4FiaMBTqLuACQ188dPyXQ5mgaTBkjDbijfOSIMV9AwcNbkJApWjbUIyvTbh0lZowcX8Ysy2Ahh/Xi8MwqWyva0imW2BuAJil1B3zr5zRNRLTRUa+EESQzvXNRQhVZAmXD7QC8uIPFCGtzBVqGK+Fe7Y3kYkK5rk8r9VH1l7hq7m1NXBvIo6O/zaCRTWpVMJtCTEb5E9FIuoPalB4HTtjPee28Mf6cvQramjhs1T3heZj2Cdmq/TS+8HZUbv0SpUORDm9nFaCF/9kmZ5+Te7ENWWSHYm0sC7m3g/wLf7InJrL854P4ypAMgrsPyLDR8bPoEubWel3531etNAbofE/Tf7rJ5zvfnB9Yg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(36840700001)(46966006)(5660300002)(6666004)(82310400003)(44832011)(86362001)(36860700001)(70206006)(36756003)(47076005)(7696005)(4326008)(2616005)(426003)(81166007)(70586007)(26005)(2906002)(110136005)(336012)(316002)(1076003)(83380400001)(186003)(8676002)(8936002)(508600001)(2004002)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:25:29.0622
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e081f2a6-e6f1-406c-9330-08d95cb25783
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT029.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3660

This API is used to set one CPU to a NUMA node. If the system
configure NUMA off or system initialize NUMA failed, the
online NUMA node would set to only node#0. This will be done
in following patches. When NUMA turn off or init failed,
node_online_map will be cleared and set node#0 online. So we
use node_online_map to prevent to set a CPU to an offline node.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
 xen/arch/arm/Makefile      |  1 +
 xen/arch/arm/numa.c        | 31 +++++++++++++++++++++++++++++++
 xen/include/asm-arm/numa.h |  2 ++
 xen/include/asm-x86/numa.h |  1 -
 xen/include/xen/numa.h     |  1 +
 5 files changed, 35 insertions(+), 1 deletion(-)
 create mode 100644 xen/arch/arm/numa.c

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 3d3b97b5b4..6e3fb8033e 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -35,6 +35,7 @@ obj-$(CONFIG_LIVEPATCH) += livepatch.o
 obj-y += mem_access.o
 obj-y += mm.o
 obj-y += monitor.o
+obj-$(CONFIG_NUMA) += numa.o
 obj-y += p2m.o
 obj-y += percpu.o
 obj-y += platform.o
diff --git a/xen/arch/arm/numa.c b/xen/arch/arm/numa.c
new file mode 100644
index 0000000000..1e30c5bb13
--- /dev/null
+++ b/xen/arch/arm/numa.c
@@ -0,0 +1,31 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Arm Architecture support layer for NUMA.
+ *
+ * Copyright (C) 2021 Arm Ltd
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+#include <xen/init.h>
+#include <xen/nodemask.h>
+#include <xen/numa.h>
+
+void numa_set_node(int cpu, nodeid_t nid)
+{
+    if ( nid >= MAX_NUMNODES ||
+        !nodemask_test(nid, &node_online_map) )
+        nid = 0;
+
+    cpu_to_node[cpu] = nid;
+}
diff --git a/xen/include/asm-arm/numa.h b/xen/include/asm-arm/numa.h
index ab9c4a2448..1162c702df 100644
--- a/xen/include/asm-arm/numa.h
+++ b/xen/include/asm-arm/numa.h
@@ -27,6 +27,8 @@ extern mfn_t first_valid_mfn;
 #define node_start_pfn(nid) (mfn_x(first_valid_mfn))
 #define __node_distance(a, b) (20)
 
+#define numa_set_node(x, y) do { } while (0)
+
 #endif
 
 #endif /* __ARCH_ARM_NUMA_H */
diff --git a/xen/include/asm-x86/numa.h b/xen/include/asm-x86/numa.h
index f8e4e15586..69859b0a57 100644
--- a/xen/include/asm-x86/numa.h
+++ b/xen/include/asm-x86/numa.h
@@ -22,7 +22,6 @@ extern nodeid_t pxm_to_node(unsigned int pxm);
 #define ZONE_ALIGN (1UL << (MAX_ORDER+PAGE_SHIFT))
 
 extern int srat_disabled(void);
-extern void numa_set_node(int cpu, nodeid_t node);
 extern nodeid_t setup_node(unsigned int pxm);
 extern void srat_detect_node(int cpu);
 
diff --git a/xen/include/xen/numa.h b/xen/include/xen/numa.h
index 258a5cb3db..3972aa6b93 100644
--- a/xen/include/xen/numa.h
+++ b/xen/include/xen/numa.h
@@ -70,6 +70,7 @@ extern int valid_numa_range(u64 start, u64 end, nodeid_t node);
 
 extern void numa_init_array(void);
 extern void numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn);
+extern void numa_set_node(int cpu, nodeid_t node);
 extern bool numa_off;
 extern int numa_fake;
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:31:52 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:31:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165791.303023 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlWa-00043O-1K; Wed, 11 Aug 2021 10:31:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165791.303023; Wed, 11 Aug 2021 10:31:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlWZ-00040K-7t; Wed, 11 Aug 2021 10:31:51 +0000
Received: by outflank-mailman (input) for mailman id 165791;
 Wed, 11 Aug 2021 10:31:48 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlRe-0002Qj-H9
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:26:46 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com (unknown
 [40.107.22.48]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 8a308062-fa8e-11eb-a052-12813bfff9fa;
 Wed, 11 Aug 2021 10:26:08 +0000 (UTC)
Received: from AM6PR02CA0007.eurprd02.prod.outlook.com (2603:10a6:20b:6e::20)
 by PAXPR08MB6969.eurprd08.prod.outlook.com (2603:10a6:102:1d8::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.21; Wed, 11 Aug
 2021 10:26:02 +0000
Received: from AM5EUR03FT019.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:6e:cafe::d2) by AM6PR02CA0007.outlook.office365.com
 (2603:10a6:20b:6e::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13 via Frontend
 Transport; Wed, 11 Aug 2021 10:26:02 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT019.mail.protection.outlook.com (10.152.16.104) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.14 via Frontend Transport; Wed, 11 Aug 2021 10:26:02 +0000
Received: ("Tessian outbound 8529ae990a93:v101");
 Wed, 11 Aug 2021 10:26:01 +0000
Received: from b47833e060a2.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 486DFEB5-3FA9-44D3-ACBC-B81E404EA8F5.1; 
 Wed, 11 Aug 2021 10:25:23 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b47833e060a2.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:25:23 +0000
Received: from DB9PR06CA0020.eurprd06.prod.outlook.com (2603:10a6:10:1db::25)
 by VI1PR08MB3901.eurprd08.prod.outlook.com (2603:10a6:803:c3::32)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.14; Wed, 11 Aug
 2021 10:25:21 +0000
Received: from DB5EUR03FT012.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:1db:cafe::96) by DB9PR06CA0020.outlook.office365.com
 (2603:10a6:10:1db::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:21 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT012.mail.protection.outlook.com (10.152.20.161) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:25:21 +0000
Received: from AZ-NEU-EX01.Emea.Arm.com (10.251.26.4) by AZ-NEU-EX04.Arm.com
 (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:25:08 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX01.Emea.Arm.com
 (10.251.26.4) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2308.14; Wed, 11
 Aug 2021 10:25:09 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:25: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: 8a308062-fa8e-11eb-a052-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JGeH1SM1ROZ3KKy1kyx91+XnuUZdgjTfuLm34BheG1s=;
 b=xVtSh09tZM5DeaRSF76/ukS+CwJYT4O3RLztNDPoDsHAouDweOp7z61MfdeNIyhgKKUlq2iEryRQQfbhDW/KQuZCqxTfw90raH9fJZcSPv/Zzg7En6pcT/Vdpobw1CoRig0LD+QCRX12jv6eyLIR2uRBcbpYWwlUaOti+TtmVdw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: d6e8adb5d83350f2
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XJLFbiz0+2S4OvTIOXalxLNggoVsK524UZamCZGpTbMYU660dtmt+BbSDyegth+r/nVGFz/oFFMedLPtpbnyzRWn27IWGYyZQLe6BG/4t91VCpMGaUmCfDFXZSBSytxdvX5s9MEXsK0RbLsUjyvCgj5h+0Ov3jMI4OCPx9ETu1wZOb7KKl01hOB714LDn8gWrEe4l1fb8LpKmiGt1KqEQW5ko4j6Gj5K12ncqsvS+v56u1r7xY8pxjSF2GQykIXLssbmTWTerf9DJhb6KEUCkOLYXUL0I4qfksfXC/pFxeFkTgmk4CLSZ0rRtR7qdA6KNoJZmwbskFpzi5R3QMVZGw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JGeH1SM1ROZ3KKy1kyx91+XnuUZdgjTfuLm34BheG1s=;
 b=PsZKMbNDKOESPkIsfbNnXau+QFjUOgKAxdNSp+0HCBSl710NeWVVoakOgdX0r3/i5W52BKhK/rN79XaMy3Ss/Dm8F6Pr/0vptYTYXX0SU1bLWsFryhRGBqfB8/kfg2cqh+BV4fE4TN3yvUITS6t0Df/qWvOYGfGcwYdgjQIzodu44CwbyFhEneWZWXRYfaY95sFvY3d9MGEe8L+ZgZ059+KSu6vKHOfL3G/T7Cp5+FcTP95pvlkThoSgmRPKwVbRvp26d7PNBXcKofNTrpBvaFhPAlqB/MKCX1H9InRy1GZluDc6o3ROD3ZH6+KZKWk7cCN8gtzEudRx0E+saQAT+Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JGeH1SM1ROZ3KKy1kyx91+XnuUZdgjTfuLm34BheG1s=;
 b=xVtSh09tZM5DeaRSF76/ukS+CwJYT4O3RLztNDPoDsHAouDweOp7z61MfdeNIyhgKKUlq2iEryRQQfbhDW/KQuZCqxTfw90raH9fJZcSPv/Zzg7En6pcT/Vdpobw1CoRig0LD+QCRX12jv6eyLIR2uRBcbpYWwlUaOti+TtmVdw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 15/40] xen/x86: move NUMA API from x86 header to common header
Date: Wed, 11 Aug 2021 18:23:58 +0800
Message-ID: <20210811102423.28908-16-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d2f0d2cf-9192-4a18-45e6-08d95cb26b28
X-MS-TrafficTypeDiagnostic: VI1PR08MB3901:|PAXPR08MB6969:
X-Microsoft-Antispam-PRVS:
	<PAXPR08MB6969F0335BE08BC809EC61989EF89@PAXPR08MB6969.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:5797;OLM:5797;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 HiPW7Kbzdby7W47tWGyG4WhXOdKENTp0OMW3E9xVQlDTku94lkwiM+d5FY8a/WfXOtKYNF4ncRXjz2XlUDheiuZhQaB+gBD1U2H+2BYbuwjTOnod4Oh95rz1bs8Ui+ubdPzHd6yUKLUUZeysXveGqebHa2mRsPSdto221K1SpT17HOqzFZjbV1ybaFdjWzqzvpVu38wQxxi+2J7zh2lppiNsA2lgOHiMkP+KJvrWu4DDTCsbD7wsGF9hMVhdE6dGpXxX5IrUzT+9SvdYOymycVn4T7RObRU9xmvspH6JP1Mieub4Gy/crQ6VECpR2jGMB5pC46EVxQa194VEO7Kkk69tDo3OGQ9ZTHo11b5/jbID3cnx/z5tvNAs2qEc/VwHu53GT4oNlJ/1zll6ucZQNyM+0xWwnzHk9ffVYF9lcTSW60QUcLrDfiD3DbFu79+740J6UgCnE+XDeQvX0U0bCx9Dizix6A0a/psfhgOfb2VeXcY3fm0VYLjTMwAr++qNOQph0KWGSLUY/PPqQWn6gRiDAZ7PQDgp4MCoG5eLC7DR2MbsTPIOAMLnICOiEHMjAcm0yzaCzlU5NlS3YDJWfLeZO+XexqSwMRw6yUtoFKD6TLyxBeq9jvkuWzSMLLMIz6e80JE9T6GxUloATeUuWY21neE523Rl9NBpl7QBmZ0s3lot2gOVjGUm1j7Fu9imy4jM5SjQcfSXmnQ5cMIVHAmr1Z0x1YtFKBxle8cq+rhoRiA+cSjX2BZ7gUihmIOgpt2Q7BCClZFQ85nK1ARU9TEW2VA1HbA/8biScjw8E3g=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(346002)(376002)(396003)(39850400004)(136003)(36840700001)(46966006)(110136005)(356005)(47076005)(44832011)(70206006)(7696005)(186003)(83380400001)(316002)(36756003)(2616005)(1076003)(70586007)(8676002)(86362001)(81166007)(82310400003)(2906002)(478600001)(4326008)(82740400003)(6666004)(26005)(8936002)(36860700001)(426003)(34070700002)(336012)(5660300002)(36900700001)(2101003);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3901
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT019.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	e018031b-5ed4-4a7f-90ed-08d95cb2531e
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5xBQpIJmVi2pgyjabR2+4HCUYVJRt6jYMJWhkJ6ActgRQP3RicJ7CmoR16VTCLzWaV+LMT4Mv2CNuTBNkSuEkcO6XiZhPa7stGp4la/0w1AhEw040+pA3sQy7Zzda8mC69T7NYQGzjL7Jx3HKVUJNOMHC0eJlv4hqFxsuSokV2wX/e3f6hx/ozHGBp7w0yk6NwHcLbh2QLmmijbXSVCSPDykDGHgX9utL0JTf0ALVvYNcsobwbIEDTuq6a2/EsfBgLKIE/jW7NlT7AERj/F71rUbHj2DLe3WR5GcDKShnRPI23dccbaARguX1Bew6IM4ZYajDILzK+mW3Y8V1KrYlOMplqyuSrEmoBbYT7inSUtHTbhrjt4cRxp4iheEiQYN7ZNL4bGSZmHSRukFBPlJPMOh35Hc6UQDJHqEgKT1amNWPHdPRXtYy9HlkTM0VZ8fhAqCq0tcWIChjuygqisq1EUrho40M69sTuoYC5QiSPrU/v41NBXxtkarefxV5abf0i36dnf10oGESzuGBrrE7Hw9ZRABbArCrz8K1IST9MLdma0KuWTUHGvlSAhynOPNpHXusIqdM2eQMofW/+/qsR8w1KQPVg1jOrscG7WJ/zQwRBkYPoVv2beEwkeLXKbmf0xoFNlY8VykUouP4nZdtE9bJaO7l9Zkbvkvl2QlFf4qyy6SnRcOOvqZn5/Ue9v3Cr6wvVR2D5uufKPkveTl1WTfNvGEvqE+b7n/YXiXPBg=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(376002)(396003)(39850400004)(346002)(136003)(46966006)(36840700001)(2616005)(316002)(426003)(44832011)(1076003)(82310400003)(36860700001)(110136005)(47076005)(5660300002)(2906002)(7696005)(478600001)(186003)(86362001)(336012)(81166007)(70206006)(4326008)(8676002)(83380400001)(70586007)(82740400003)(26005)(8936002)(36756003)(6666004)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:26:02.0841
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d2f0d2cf-9192-4a18-45e6-08d95cb26b28
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT019.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6969

As all functions and macros that depends on these NUMA API, like
clear_node_cpumask, have been moved to common header file. In this
case, we can move NUMA API from x86 header file to common header
file, and will not trigger the symbols not found error when
functions in arch NUMA header file depends on the symbols in common
NUMA header file.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
 xen/include/asm-x86/numa.h | 13 -------------
 xen/include/xen/numa.h     | 13 +++++++++++++
 2 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/xen/include/asm-x86/numa.h b/xen/include/asm-x86/numa.h
index 69859b0a57..5a57a51e26 100644
--- a/xen/include/asm-x86/numa.h
+++ b/xen/include/asm-x86/numa.h
@@ -9,14 +9,6 @@ typedef u8 nodeid_t;
 
 extern int srat_rev;
 
-extern nodeid_t      cpu_to_node[NR_CPUS];
-extern cpumask_t     node_to_cpumask[];
-
-#define cpu_to_node(cpu)		(cpu_to_node[cpu])
-#define parent_node(node)		(node)
-#define node_to_first_cpu(node)  (__ffs(node_to_cpumask[node]))
-#define node_to_cpumask(node)    (node_to_cpumask[node])
-
 extern nodeid_t pxm_to_node(unsigned int pxm);
 
 #define ZONE_ALIGN (1UL << (MAX_ORDER+PAGE_SHIFT))
@@ -28,11 +20,6 @@ extern void srat_detect_node(int cpu);
 extern nodeid_t apicid_to_node[];
 extern void init_cpu_to_node(void);
 
-static inline void clear_node_cpumask(int cpu)
-{
-	cpumask_clear_cpu(cpu, &node_to_cpumask[cpu_to_node(cpu)]);
-}
-
 void srat_parse_regions(u64 addr);
 extern u8 __node_distance(nodeid_t a, nodeid_t b);
 unsigned int arch_get_dma_bitsize(void);
diff --git a/xen/include/xen/numa.h b/xen/include/xen/numa.h
index 3972aa6b93..cb08d2eca9 100644
--- a/xen/include/xen/numa.h
+++ b/xen/include/xen/numa.h
@@ -22,6 +22,14 @@
 /* The following content can be used when NUMA feature is enabled */
 #if defined(CONFIG_NUMA)
 
+extern nodeid_t      cpu_to_node[NR_CPUS];
+extern cpumask_t     node_to_cpumask[];
+
+#define cpu_to_node(cpu)		(cpu_to_node[cpu])
+#define parent_node(node)		(node)
+#define node_to_first_cpu(node)  (__ffs(node_to_cpumask[node]))
+#define node_to_cpumask(node)    (node_to_cpumask[node])
+
 /* Simple perfect hash to map pdx to node numbers */
 extern int memnode_shift;
 extern unsigned long memnodemapsize;
@@ -76,6 +84,11 @@ extern int numa_fake;
 
 extern void setup_node_bootmem(nodeid_t nodeid, u64 start, u64 end);
 
+static inline void clear_node_cpumask(int cpu)
+{
+	cpumask_clear_cpu(cpu, &node_to_cpumask[cpu_to_node(cpu)]);
+}
+
 #endif /* CONFIG_NUMA */
 
 #endif /* _XEN_NUMA_H */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:31:53 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:31:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165795.303028 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlWb-0004Kd-5u; Wed, 11 Aug 2021 10:31:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165795.303028; Wed, 11 Aug 2021 10: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 1mDlWa-0004Fr-LB; Wed, 11 Aug 2021 10:31:52 +0000
Received: by outflank-mailman (input) for mailman id 165795;
 Wed, 11 Aug 2021 10:31:49 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlTX-0000BQ-J8
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:28:43 +0000
Received: from EUR02-AM5-obe.outbound.protection.outlook.com (unknown
 [2a01:111:f400:fe07::61c])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 825788ea-0dba-443e-a549-6d2f87a3c23a;
 Wed, 11 Aug 2021 10:26:11 +0000 (UTC)
Received: from PR0P264CA0104.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:19::20)
 by PAXPR08MB6640.eurprd08.prod.outlook.com (2603:10a6:102:dd::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.22; Wed, 11 Aug
 2021 10:26:09 +0000
Received: from VE1EUR03FT008.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:100:19:cafe::dc) by PR0P264CA0104.outlook.office365.com
 (2603:10a6:100:19::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15 via Frontend
 Transport; Wed, 11 Aug 2021 10:26:09 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT008.mail.protection.outlook.com (10.152.18.75) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:26:09 +0000
Received: ("Tessian outbound efa8a7456a86:v101");
 Wed, 11 Aug 2021 10:26:09 +0000
Received: from e85922422c5e.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 5B43F670-27D9-44B6-A926-FC01CB34D019.1; 
 Wed, 11 Aug 2021 10:26:02 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e85922422c5e.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:26:02 +0000
Received: from DB6PR0201CA0010.eurprd02.prod.outlook.com (2603:10a6:4:3f::20)
 by AM9PR08MB6916.eurprd08.prod.outlook.com (2603:10a6:20b:30c::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.17; Wed, 11 Aug
 2021 10:26:00 +0000
Received: from DB5EUR03FT036.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:3f:cafe::27) by DB6PR0201CA0010.outlook.office365.com
 (2603:10a6:4:3f::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16 via Frontend
 Transport; Wed, 11 Aug 2021 10:26:00 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT036.mail.protection.outlook.com (10.152.20.185) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:26:00 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX04.Arm.com
 (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:25:49 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 825788ea-0dba-443e-a549-6d2f87a3c23a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=t/9Z30yQrnVeDNYbOYgNSbsnu664JdEj5BAT/JnizSg=;
 b=ykOvZIoDqxAN0bc6pw6EJ7FpcpVMLTGSnP5PVosztTjah2on64MPUXb7nlDcKOGYFf+d4R3cJ7e7Mmmrp0Hrq/9L/ysGKq8JNe+impg6r7QP23O5qTGgQkDwm+NljRrqRsvaV4OBRL2W84dEBVmLs/auoPs+o0lgACZ8uwSCibg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: c04fb077d407ff8b
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LqDxmdIlMlNad36wj/HNgeinp+CO3m6DbBmuXYgprQx/PSQpJBN2GOhx0fDrL2s7u6tjfwQ3a8NpFMffmF6PsHECbA+bTMMsjoeZM0OrNJC2Os/Ggj0Y5aF2/ELrPZwgPmphHLJWfRBbuc6J+Jh8jld025yGvJJ1dNOS4Nk2j11fLkmxXVqnKY+MUNskllCcN2HazVzL9ufn5lJtAlIJ3B3A0GNrey72l5GvUGn6SibbbZ63PDB61gdaThPGSQ4LwDQDzWlusPCP7pQWvu0rMw1LSYDqGM1iSoj2jEo8HgNGpotTjN1qYIzNBsv860nw0LuFX+Di8l4dtNYj2kvKwg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=t/9Z30yQrnVeDNYbOYgNSbsnu664JdEj5BAT/JnizSg=;
 b=hC2yRKQJJivU4vTsYUSI6HE7lPs5dqosAyDlV4q1ZiqYk03cvkcWZS3wICpozplTFu+/Jt/Vs0fnCwjh2Bj00sbM0tiiA36ZARcVgCysEYLtBptd8rrvDasgVf6hvcjJIROcPB+7gHDump4hNcgyt9eEp5CeKDk8FdQfrZgiswVJ3onnyJEU2ppD7CU3+X63rlToxdt1cXywrag+lSJhy4UT7URVNDmrCTLm5qLZau9akv2JCNk14zSJ/ftL/3bkIVVpeShkkRRIi1Pj2+xzv7EV6NHKUWi0jf3OOfViFcwfq7KwzCBQccDoRElfFbBIK0ti9KIEITgr9lECNKpQ8w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=t/9Z30yQrnVeDNYbOYgNSbsnu664JdEj5BAT/JnizSg=;
 b=ykOvZIoDqxAN0bc6pw6EJ7FpcpVMLTGSnP5PVosztTjah2on64MPUXb7nlDcKOGYFf+d4R3cJ7e7Mmmrp0Hrq/9L/ysGKq8JNe+impg6r7QP23O5qTGgQkDwm+NljRrqRsvaV4OBRL2W84dEBVmLs/auoPs+o0lgACZ8uwSCibg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 32/40] xen/x86: make acpi_scan_nodes to be neutral
Date: Wed, 11 Aug 2021 18:24:15 +0800
Message-ID: <20210811102423.28908-33-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 6cf62339-b5ee-4533-7fc2-08d95cb26f97
X-MS-TrafficTypeDiagnostic: AM9PR08MB6916:|PAXPR08MB6640:
X-Microsoft-Antispam-PRVS:
	<PAXPR08MB664034275840DB1D5248CB559EF89@PAXPR08MB6640.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:6790;OLM:6790;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 q86xrus2iSBNVRhC6K/hxmWwNhjT9LWm6Z5G/1ALFPuM+PmOyCjgLDSv05i33DZQhY8yV+kxmxWQOdga/MEI+Ncz1uA+7WDX/uKUASvZiP8DuWAVe+TKHbnpk1Tj09oKNYT17rn/5c4TVMM4Zgj/XHq1TBLp1FeJVHC33UmtqD0xdM7e2lAdXMTs4CBRK2PvfjGFFbVY9jnTEWxhICv9BBNZFBWc+h/TS/Ztm4kQi9HbItAkwdqPbUj1nX3G1CGkWlcnGRDIrmvY659SYWl9rTQUBJvaIV1fTeTmfPu3XCbVODQIWFniANIQTcxdrobL9ROUAGtkfFwnZdCBbS3zEV4kccr/E+ldWegF3etIdt6CXtS5S7IwVgn7uStCnyRtzttwX0j8vo8XNtsbVu9ABnP3pavwXFkTB/HjlTPeX3VZVzzdWt8O/slIz0W0+2GTb0zH4B0c7buWFgai1Ow4c+YqbHNFKJslR12DPjjoQ4gdRhnEaJxZOJQEb8OCVMmh0yH9Cur6Z6hwnJQZGoDbw7nTk8dsN4zVFieZSBKfm9UNgnQAVeVoFvBeor+Th1rsKSJTHqzztX9RMJuUtHi3X1HA54cHFZ0cUwEnTGXFPLh5728nUejWohXtQcBtLflXhcWxnghbgc+zCcIEiZwJwMsHF7BIcYxCzdZixizhPIX9JshrwzMmnuWc6DOs1rU92TEm1HO0zzwROKpyHTT4Vn5luAv/Qjk1EWQjKrC14796HJhgQUtTq1wbEP86zl5kTy6K4Ba5NPgbTlh4uu+K/SE6TrN01vy4MbyvDtVCdAI=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(376002)(136003)(396003)(39860400002)(346002)(36840700001)(46966006)(81166007)(1076003)(82740400003)(110136005)(426003)(47076005)(70206006)(7696005)(70586007)(36860700001)(5660300002)(2616005)(82310400003)(44832011)(356005)(4326008)(86362001)(316002)(336012)(36756003)(83380400001)(26005)(186003)(2906002)(8936002)(34070700002)(6666004)(8676002)(478600001)(2101003)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6916
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT008.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	7ab51a75-7a37-4b3d-416b-08d95cb26a3f
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	OEs5lv2+kLKykGB7qbXSZHyJcuw9vJ04A7CijnXMzwJThXPso4Y3cTp4VIslijG8Tz6O4QABAXg12aQ/ln/IHeeS+ddqgHShhLBhClbatV7l7DygXX2S0TQr7subuSAJePGYLtkN30h+3g+fQEoCz/zz1LJfyp8Yy5ZuzxhCwtvzGTYQuwRDv7/XCZf6yxBtVDuLcgDjXWIG8+nJ0yVcw4pSkVPkpSGqIZ9ClpRFQEJXLEW4/i9KuMaAsNFq2GJOFc0NE4OuelYs+pqJuEDhGPs686nnOXnXVPBE410Epo4xZVugc199Z0vn58vIb2uD19sZA6syjKRYW64Btu6U066//ppuLgb/70mY1tKMOmQ6VvlOxdRpyG7IdiS9tZqJmZuqjtag6cVOzlB2xUp5FUeZmBBREoR7UiZrdA7wW+u2ReBaNxyNuql3c1NoynquGF0NrE4DTNv1UT8cwBtFKxOOTiv93R9gT3CdHS/cyhcjlQXTOjJP7t2Vg0WNyreu8v4Rn4KaM5kyGKfQ9hQUg2OJ8xYMQvbj+L5BsFvplQGsbPJtRLgGDt0GBRFsyXmcrXudN8dECE7hCq97r4FQAk9nCrl5mhULW8gBDQJdeTvl3MgE79fg0YyqOb+uZiXv+MUAo6FXcg4N3Z/3ybd+yWFUkTUlkACT8TZsjo6FkFZizBNq34Ehn751bx//I6ndv4fjIoh7WYNfYxeoa96wWuIfXp0q+Mz7GKIrMcN1ikw=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(46966006)(36840700001)(8936002)(426003)(70586007)(8676002)(82310400003)(6666004)(70206006)(26005)(508600001)(186003)(47076005)(1076003)(316002)(44832011)(4326008)(2616005)(83380400001)(36860700001)(36756003)(86362001)(2906002)(81166007)(7696005)(5660300002)(110136005)(336012)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:26:09.4570
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6cf62339-b5ee-4533-7fc2-08d95cb26f97
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT008.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6640

The code in acpi_scan_nodes can be reused for device tree based
NUMA. So we rename acpi_scan_nodes to numa_scan_nodes for a neutral
function name. As acpi_numa variable is available in ACPU based NUMA
system only, we use CONFIG_ACPI_NUMA to protect it.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
 xen/arch/x86/srat.c        | 4 +++-
 xen/common/numa.c          | 2 +-
 xen/include/asm-x86/acpi.h | 2 +-
 3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/srat.c b/xen/arch/x86/srat.c
index dcebc7adec..3d4d90a622 100644
--- a/xen/arch/x86/srat.c
+++ b/xen/arch/x86/srat.c
@@ -362,7 +362,7 @@ void __init srat_parse_regions(u64 addr)
 }
 
 /* Use the information discovered above to actually set up the nodes. */
-int __init acpi_scan_nodes(u64 start, u64 end)
+int __init numa_scan_nodes(u64 start, u64 end)
 {
 	int i;
 	nodemask_t all_nodes_parsed;
@@ -371,8 +371,10 @@ int __init acpi_scan_nodes(u64 start, u64 end)
 	for (i = 0; i < MAX_NUMNODES; i++)
 		cutoff_node(i, start, end);
 
+#ifdef CONFIG_ACPI_NUMA
 	if (acpi_numa <= 0)
 		return -1;
+#endif
 
 	if (!nodes_cover_memory()) {
 		bad_srat();
diff --git a/xen/common/numa.c b/xen/common/numa.c
index 74960885a6..4152bbe83b 100644
--- a/xen/common/numa.c
+++ b/xen/common/numa.c
@@ -330,7 +330,7 @@ void __init numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn)
 #endif
 
 #ifdef CONFIG_ACPI_NUMA
-    if ( !numa_off && !acpi_scan_nodes((u64)start_pfn << PAGE_SHIFT,
+    if ( !numa_off && !numa_scan_nodes((u64)start_pfn << PAGE_SHIFT,
          (u64)end_pfn << PAGE_SHIFT) )
         return;
 #endif
diff --git a/xen/include/asm-x86/acpi.h b/xen/include/asm-x86/acpi.h
index d347500a3c..33b71dfb3b 100644
--- a/xen/include/asm-x86/acpi.h
+++ b/xen/include/asm-x86/acpi.h
@@ -102,7 +102,7 @@ extern unsigned long acpi_wakeup_address;
 #define ARCH_HAS_POWER_INIT	1
 
 extern s8 acpi_numa;
-extern int acpi_scan_nodes(u64 start, u64 end);
+extern int numa_scan_nodes(u64 start, u64 end);
 
 extern struct acpi_sleep_info acpi_sinfo;
 #define acpi_video_flags bootsym(video_flags)
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:31:58 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:31:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165808.303047 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlWf-0005PF-Qr; Wed, 11 Aug 2021 10:31:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165808.303047; Wed, 11 Aug 2021 10: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 1mDlWe-0005Ma-VB; Wed, 11 Aug 2021 10:31:56 +0000
Received: by outflank-mailman (input) for mailman id 165808;
 Wed, 11 Aug 2021 10:31:54 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlQi-0000BQ-DC
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:25:48 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com (unknown
 [40.107.22.82]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ee7cf173-2a8d-4b89-a047-364952b5b166;
 Wed, 11 Aug 2021 10:25:23 +0000 (UTC)
Received: from AM5PR0602CA0008.eurprd06.prod.outlook.com
 (2603:10a6:203:a3::18) by HE1PR0802MB2186.eurprd08.prod.outlook.com
 (2603:10a6:3:c2::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.21; Wed, 11 Aug
 2021 10:25:20 +0000
Received: from VE1EUR03FT040.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:203:a3:cafe::c5) by AM5PR0602CA0008.outlook.office365.com
 (2603:10a6:203:a3::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:20 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT040.mail.protection.outlook.com (10.152.18.210) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:25:20 +0000
Received: ("Tessian outbound 8529ae990a93:v101");
 Wed, 11 Aug 2021 10:25:20 +0000
Received: from 3358db577759.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 0A4C8296-03E9-4151-BF62-673E17BFBE0D.1; 
 Wed, 11 Aug 2021 10:25:14 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 3358db577759.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:25:14 +0000
Received: from DB6P18901CA0011.EURP189.PROD.OUTLOOK.COM (2603:10a6:4:16::21)
 by AM0PR08MB4402.eurprd08.prod.outlook.com (2603:10a6:208:147::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.19; Wed, 11 Aug
 2021 10:25:13 +0000
Received: from DB5EUR03FT038.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:16:cafe::1f) by DB6P18901CA0011.outlook.office365.com
 (2603:10a6:4:16::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:13 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT038.mail.protection.outlook.com (10.152.21.84) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:25:13 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX03.Arm.com
 (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:24:53 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:24: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: ee7cf173-2a8d-4b89-a047-364952b5b166
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EmnzUhju9srN188tSaExwiieGSbzaEkgNMCpBSvyPLA=;
 b=Ipy4ShwT/1eiEWDVn5MMEvFRuYed8PJZC4QFJ1cNf5KlU0snfZG4Fnuiee1X+Jfcw+p7Y2QHXyuN72MMv6vUUz4byKAs0F7WwEpDj907Bwow+cISSWand9c0KRqlbU4m/+64qXLQVGl4REgFjjja6gQ4tY3INA8vHGr9NKGLeJo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: fab414aca7c3e418
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CLMu0kFdbJv6AV1F86TAiPhZQjiKAPY8d9PpnRq94AHALBqy2g+6CFZN+d+40ICLTVk8bkz2kJPzbs07/j0IX0+czFqmShK4KbNad7hWIzY2orUV3DJGgPYrbJ1PNm5Px1RZ7NK7PdvTDR1o/JxXHAo17eUJ+d0Ygn/i/1wSXVsFBLP8c+gHFmMuv4bdqL15Bkr2Yt61tW16arFT1zT1NHIO5wOZqh2ev1TxrQLc2G4P24APWEt9ivFrjHab1L0d+pdrc11iJb03dxeNO1Wr8cnjJS7l7UWc/+uLDTNgN3WwQuOzkNquyt/iWDsiJOOxaIkghLQKar37Dzw33hyoZQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EmnzUhju9srN188tSaExwiieGSbzaEkgNMCpBSvyPLA=;
 b=fsaNLtGBM66gxt1G+aQqANQOp/e+5dS4QZEA2NgvtQrqWvi5nJxQ/vv96M2l52YdFIM9nLsbmYLvO1Ix2PGAMJKy1ns+cuJw94pKtAJnS2L1GeP3R2QKya5eRGMc2t/uYozxaAZ1zyJMMb0fo9RPf/eW2X3RgFpVxCX5kxMPNsCJtsw/dy9S2mRDT2NGZ9gzx6HeiPuamx2gGQqG23hTPQty0kbtwUggxfaJDmoHlV0RPvRDk4PDCGrBu0WRIN4UqZoFQq0eZXodayua1q85HAyA6maPMPxUSU58eAM66eiIT6JcKQ+jf8/HS+J3hI+xOUwJCtTgBEeBypHWmgoUTA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EmnzUhju9srN188tSaExwiieGSbzaEkgNMCpBSvyPLA=;
 b=Ipy4ShwT/1eiEWDVn5MMEvFRuYed8PJZC4QFJ1cNf5KlU0snfZG4Fnuiee1X+Jfcw+p7Y2QHXyuN72MMv6vUUz4byKAs0F7WwEpDj907Bwow+cISSWand9c0KRqlbU4m/+64qXLQVGl4REgFjjja6gQ4tY3INA8vHGr9NKGLeJo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 09/40] xen/x86: Move numa_add_cpu_node to common
Date: Wed, 11 Aug 2021 18:23:52 +0800
Message-ID: <20210811102423.28908-10-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a9c0dbb9-090e-4792-2728-08d95cb2527e
X-MS-TrafficTypeDiagnostic: AM0PR08MB4402:|HE1PR0802MB2186:
X-Microsoft-Antispam-PRVS:
	<HE1PR0802MB2186285B235F810D3E9015FE9EF89@HE1PR0802MB2186.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:5797;OLM:5797;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 XWBzrLD3+PECD9WHYpVOtLbtv6qSWXpBjNPRLH5D1vf9pJ1v5G9PlNwEVt3lctpGMzXXPNagv8HxbXmvXBjnvR9ijMsYFOVOJO1HA3gYrFQvSejAPbDJdiBPcBJNOW+rw88umFQAA3JCPHWaG4kdHdboRWdZNLrQ6kVVffaFWVSMDaREMdN0h3tVevMP/bS0GGEiG9ZCziR9nq6Jm0yHxxe0jsaonPbPRh9zYdKeRj0/+qiM4Lu0PF7H1eM1vnuc31EAEjQgWTQ1eWppbgd8rj+gIXT06+LiHQLzEva4jnFM1G9Nj0YF5YCiAVxZBtnIR+T4e2ETLiBGog9pCsjInexmCYpTnS0JUTIilA0bWtwdMYZPtRl8f/ayIrMb6HUVXn5G7MUVxGSfqgxIF5H4uIGDMIzIbWoqTKQu1MPgXtCX7vRrIrEKoxXunwjuqp+nyg1DEtt9tqk3m4pdniJa7KfGygW48fnuGzN158GnJhAN43DmocLEnvrBcgrajAsETzVdHhiFj2Rve48hhawgemB+Ii2y0QgUw4jxI5yiW8JfFgZJhquDOpKx6f0pZRD0x94+GnXmNOnl1muKoTcC0wOPNcpWew2Al7fcxelS0en4b7REIJI97sRA59JEMUPky3f90O67ZwWO+E9F59/TJMPwMck8K1pm4VyKVpXHMTpAAu0Mqoue8/Wbn1PhNxb43kBoFLpvUr018iZPLq/5gIHewa0UAlWMf7lmqYC94XAnsiRM12jiMnXrSJuHZVxwXXCdBS712uwbQv2PvE6V0SdeMDZ5d6TzeisZPYLxjhQ=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(39850400004)(396003)(376002)(346002)(136003)(46966006)(36840700001)(8676002)(316002)(356005)(44832011)(36860700001)(110136005)(5660300002)(82310400003)(8936002)(47076005)(36756003)(426003)(2616005)(7696005)(34070700002)(336012)(2906002)(186003)(26005)(70206006)(81166007)(83380400001)(1076003)(82740400003)(70586007)(478600001)(4326008)(86362001)(36900700001)(2101003);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB4402
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT040.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	555b3839-2917-4d27-9769-08d95cb24e02
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZqLoNq7nbiZkyWxq3DqfCZWdzhz6rDdEZvBHOIlVjUAeKMS2jSZYuhvoMxFViGlrBOgFqAWwHp/H1HvniV3EUqSOpWEh6Ol6gtJsjoAut53qTJO7NELLoRIXvBLiRj1t4uqa0FAvayXkx7a/OUIdJaOc6um6aHpvHPMQ7VXIz7hpT03JnLuIHh7CZiuNkb02yFiIfW7VSLnn+QxamVGQsA7Q1Cc22BATwP6GIrexiZ5oaoZhCtAUGBrsILLFMnsJu2iw1BoV/j7u4jl4SYBUTB7gFi8+J07Qs7FEkFgwcZ/uVe85NVMo6wt6iS2RN6TSBVbczDLal0yt3ZWT2C+w7KwE6UPMWbo6419hbCNGMarRjMwxdIDQViq9mlAknmIlJMiGT2cUtn05q2o6ETRYpCY4jPWUCSSzCBE9dPBwvXOV76In0FaHaOQB9GaIC9xghvW53J16axpLiFqDujNY+WZ+xJhOC2JXIzoqKI2RhWL5yCgyFUVmGcsOZGqOUO6k+ovJ9FIkSmqDK5cjXJGi/cYpmmDzw4G2JBKTJjSOmclbtcEwOuTvER5P4WB1ZV6Lh5tvKn5dxNZ4UvaWYk0AH8V+uIojTGdNkaRHVbwsPgih62S4G04SuMmIyj3JYvwmRfCUKxuUpwFy4x76d9fYO15OL7jmK3KfH5O6kiYmMaAzRINCStn/4bd18+Pt0VuvZ78E6A8VpF9du3w9e9Xgwvu4umP4txcDG2SRKhUWy7U=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(39850400004)(396003)(136003)(376002)(346002)(36840700001)(46966006)(83380400001)(426003)(2616005)(7696005)(44832011)(8936002)(2906002)(70206006)(47076005)(478600001)(8676002)(316002)(1076003)(186003)(82740400003)(36756003)(4326008)(81166007)(110136005)(26005)(82310400003)(336012)(86362001)(36860700001)(5660300002)(70586007)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:25:20.6409
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a9c0dbb9-090e-4792-2728-08d95cb2527e
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT040.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0802MB2186

This function will be reused by Arm later, so we move it
from arch/x86 to common. But we keep cpu_to_node and
node_to_cpumask to x86 header file. Because cpu_to_node and
node_to_cpumask have different implementation for x86 and Arm.
We will move them to common header file when we change the Arm
implementation in later patches.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
 xen/arch/x86/numa.c        |  9 ---------
 xen/common/numa.c          | 11 +++++++++++
 xen/include/asm-x86/numa.h |  1 -
 xen/include/xen/numa.h     |  2 ++
 4 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c
index a6211be121..f2626b3968 100644
--- a/xen/arch/x86/numa.c
+++ b/xen/arch/x86/numa.c
@@ -29,16 +29,12 @@ custom_param("numa", numa_setup);
 /* from proto.h */
 #define round_up(x,y) ((((x)+(y))-1) & (~((y)-1)))
 
-nodeid_t cpu_to_node[NR_CPUS] __read_mostly = {
-    [0 ... NR_CPUS-1] = NUMA_NO_NODE
-};
 /*
  * Keep BIOS's CPU2node information, should not be used for memory allocaion
  */
 nodeid_t apicid_to_node[MAX_LOCAL_APIC] = {
     [0 ... MAX_LOCAL_APIC-1] = NUMA_NO_NODE
 };
-cpumask_t node_to_cpumask[MAX_NUMNODES] __read_mostly;
 
 nodemask_t __read_mostly node_online_map = { { [0] = 1UL } };
 
@@ -167,11 +163,6 @@ void __init numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn)
                     (u64)end_pfn << PAGE_SHIFT);
 }
 
-void numa_add_cpu(int cpu)
-{
-    cpumask_set_cpu(cpu, &node_to_cpumask[cpu_to_node(cpu)]);
-} 
-
 void numa_set_node(int cpu, nodeid_t node)
 {
     cpu_to_node[cpu] = node;
diff --git a/xen/common/numa.c b/xen/common/numa.c
index e65b6a6676..9b6f23dfc1 100644
--- a/xen/common/numa.c
+++ b/xen/common/numa.c
@@ -23,6 +23,12 @@ typeof(*memnodemap) _memnodemap[64];
 unsigned long memnodemapsize;
 u8 *memnodemap;
 
+nodeid_t cpu_to_node[NR_CPUS] __read_mostly = {
+    [0 ... NR_CPUS-1] = NUMA_NO_NODE
+};
+
+cpumask_t node_to_cpumask[MAX_NUMNODES] __read_mostly;
+
 /*
  * Given a shift value, try to populate memnodemap[]
  * Returns :
@@ -129,3 +135,8 @@ int __init compute_hash_shift(struct node *nodes, int numnodes,
 
     return shift;
 }
+
+void numa_add_cpu(int cpu)
+{
+    cpumask_set_cpu(cpu, &node_to_cpumask[cpu_to_node(cpu)]);
+}
diff --git a/xen/include/asm-x86/numa.h b/xen/include/asm-x86/numa.h
index abe5617d01..07ff78ea1b 100644
--- a/xen/include/asm-x86/numa.h
+++ b/xen/include/asm-x86/numa.h
@@ -27,7 +27,6 @@ extern nodeid_t pxm_to_node(unsigned int pxm);
 
 #define ZONE_ALIGN (1UL << (MAX_ORDER+PAGE_SHIFT))
 
-extern void numa_add_cpu(int cpu);
 extern void numa_init_array(void);
 extern bool numa_off;
 
diff --git a/xen/include/xen/numa.h b/xen/include/xen/numa.h
index 39e8a4e00a..f9769cba4b 100644
--- a/xen/include/xen/numa.h
+++ b/xen/include/xen/numa.h
@@ -51,6 +51,8 @@ static inline __attribute__((pure)) nodeid_t phys_to_nid(paddr_t addr)
 #define node_end_pfn(nid)       (NODE_DATA(nid)->node_start_pfn + \
 				 NODE_DATA(nid)->node_spanned_pages)
 
+extern void numa_add_cpu(int cpu);
+
 #endif /* CONFIG_NUMA */
 
 #endif /* _XEN_NUMA_H */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:31:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:31:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165810.303054 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlWh-0005fE-2L; Wed, 11 Aug 2021 10:31:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165810.303054; Wed, 11 Aug 2021 10: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 1mDlWg-0005aU-2b; Wed, 11 Aug 2021 10:31:58 +0000
Received: by outflank-mailman (input) for mailman id 165810;
 Wed, 11 Aug 2021 10:31:55 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlTm-0000BQ-Ji
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:28:58 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com (unknown
 [40.107.2.54]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id b19cbc6f-9eee-46cb-b1be-8ae1a1c5ce56;
 Wed, 11 Aug 2021 10:26:13 +0000 (UTC)
Received: from AM6PR04CA0018.eurprd04.prod.outlook.com (2603:10a6:20b:92::31)
 by DB9PR08MB6348.eurprd08.prod.outlook.com (2603:10a6:10:263::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.17; Wed, 11 Aug
 2021 10:26:11 +0000
Received: from AM5EUR03FT027.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:92:cafe::b6) by AM6PR04CA0018.outlook.office365.com
 (2603:10a6:20b:92::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13 via Frontend
 Transport; Wed, 11 Aug 2021 10:26:11 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT027.mail.protection.outlook.com (10.152.16.138) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:26:11 +0000
Received: ("Tessian outbound 077ab11054bf:v101");
 Wed, 11 Aug 2021 10:26:11 +0000
Received: from db816a265a1c.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 27D4D6AE-CC55-44EF-B201-B565A8CD2269.1; 
 Wed, 11 Aug 2021 10:26:04 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id db816a265a1c.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:26:04 +0000
Received: from DU2P251CA0015.EURP251.PROD.OUTLOOK.COM (2603:10a6:10:230::19)
 by VE1PR08MB5133.eurprd08.prod.outlook.com (2603:10a6:803:109::28) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.17; Wed, 11 Aug
 2021 10:26:01 +0000
Received: from DB5EUR03FT055.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:230:cafe::2) by DU2P251CA0015.outlook.office365.com
 (2603:10a6:10:230::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16 via Frontend
 Transport; Wed, 11 Aug 2021 10:26:01 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT055.mail.protection.outlook.com (10.152.21.30) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:26:01 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX03.Arm.com
 (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:25:59 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b19cbc6f-9eee-46cb-b1be-8ae1a1c5ce56
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1jK2PW/1OK3X6TWEry7lKAeMTQlsnddWZt6g/VQHny0=;
 b=sg0C3ioq+ACGGnKELxsgmh+BHHbvmmIkaWxkwrySzNc7kbFgtVgVPI0hBqCpkOMPaebfOCu5NkemitRGJKtOs/JsuWqYq9NfuY1JRWylQhZ+nuGlgSD/JshYw7gvDGw7eEgrWygGMM9jrFnP0uLDyKrJSpwX+CyDXsJxqfPBNDU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 37e791966c4b9bcc
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QxNHX8MZx05gJtyo6+lS4jeWRHM/30o7f75fCHVbfpUV9cUSmsESI53/8rkBhpxbJ7vsCOvTg2wjxzvRNEMtifD/B22w/KO/JU8QqamoWfzAqPicnXz9U71r8ziE0bPxO4DrS4EOXL8H7e1ODxU9d6OBcgNdgmj5ZyJz2Yeg3Xpvx30aOBai2Z8htACrsKIT95KdbTjuim1dYdDqvAe8Z77depqZ9Ag07wZVbf+p2XpoxcVDBtVBGrTjGUIRAqlOm9dpTcn9Z61pkLE8FXpJHvkVbNv0alLdD64JNzH31V0RF3rSUv0Z94xbz6xE7DdCAnc+L8VbQa/9us+87TzXEQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1jK2PW/1OK3X6TWEry7lKAeMTQlsnddWZt6g/VQHny0=;
 b=fgStff7yY+L1mkSihxdKn7+QWkhKFeUrDuJFMxutfBvJmeT6nlBdn1+mJnBKlGM3nqBqRvFYhfdyrekkQajRnF3inC/HHLckOo8Zc1nyyAQpQc7nGGTqz1BnFjXm5nfBqQIA50pj4jlchmMtYNmjozKGEIvbxFqJtHJETQ86kGjSaFY9uyh8P43ceQ99Hs/JOtIfYYpleioAFS5llBjiUw+GFYVoGK6E9eVck7j6IGanna++mBzFdoFwIEc9RthLKqtdDgAxK+bTV+DZLNeISOrLhTsLUZLykCyLyYWBB29rCLuigPpzC/k2M7Bu7WAm5lbJyKoBCnVgEHZFm/1D3g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1jK2PW/1OK3X6TWEry7lKAeMTQlsnddWZt6g/VQHny0=;
 b=sg0C3ioq+ACGGnKELxsgmh+BHHbvmmIkaWxkwrySzNc7kbFgtVgVPI0hBqCpkOMPaebfOCu5NkemitRGJKtOs/JsuWqYq9NfuY1JRWylQhZ+nuGlgSD/JshYw7gvDGw7eEgrWygGMM9jrFnP0uLDyKrJSpwX+CyDXsJxqfPBNDU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 36/40] xen/arm: keep guest still be NUMA unware
Date: Wed, 11 Aug 2021 18:24:19 +0800
Message-ID: <20210811102423.28908-37-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 424edb30-3815-4983-ade0-08d95cb270aa
X-MS-TrafficTypeDiagnostic: VE1PR08MB5133:|DB9PR08MB6348:
X-Microsoft-Antispam-PRVS:
	<DB9PR08MB63489EB5B69AFE437C22B2769EF89@DB9PR08MB6348.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:6790;OLM:6790;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 pgmEJHhkc+S7yCR7TsJ9+YUM/gvDwc1dysiaIrrVckk2Eqe/LosQP41kHNOf85LcjRFC2i2ldhYXo9JZkEEmklhur8j/cYPpQRFgxWBu5p7p+G+RNn/gjn4LAinC3JjEECNbUAP5uQAG0rZpuLLS32RQNfxP6Wc3ffKmsgEQwawZZynEX7mWkeCb/QDXG/p1mYYJQkypBXzGI6m7cUsTbtkP48vJRUoJCsgR7uvguPZUxq6FNK4RD1Dxht2VE5KKg9BIAu/1kxBS/Pqe1JYdsqbQA9rDeYHNG8YHI0BvD/YJIndC1b170wDpIhXzUX/u4zWK2nZYdKun8xiXGeC6FZL0pwX1lM/hzU0BqnMrg1F3kUkBIfZ1Ts8QILRlRpDWKVKCtzlMnAsdmRYMXmOSGpURYy5hXEexKidnzujZGJMnBNpxZEuPi9BCXsIdbavCyRdgA4QfU8s0a72JBjn6eNqS+BgmcedeegV86Z4pj6TX2sj1n4bb9PHylb7I45VYdzyz/CjOEKzYncb8w2J5xWAetOEMd22Y2Sz78GJ+/PwqunsOH9drRRZhZlcQXqVu4fzYPyg+fR0C+i0Ty/1Io9Ib3DgoKRHnZUP52djp4RVw9jxb5WXaEWgLBHyui0mNGbWnTn7rlKYuXv/P9M6Kpw3k05ZDEs4hLFpj3pwpR9X1nHE1nqh6lnVWBU9tkOnvAmbsCrfDLVSoZXrA5dfgCZnmxX8ipCV2aUg6fsrsenCVO0NyrkMRhc+2Gt1hCDP8DnJdHLGcH4hMUeomgWjZFP/OsGHfRfDkAlob8MqeHIc=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(39860400002)(376002)(346002)(396003)(136003)(36840700001)(46966006)(82310400003)(356005)(426003)(26005)(4326008)(70586007)(336012)(36860700001)(1076003)(478600001)(2616005)(86362001)(5660300002)(47076005)(8936002)(7696005)(70206006)(2906002)(186003)(110136005)(8676002)(316002)(36756003)(82740400003)(44832011)(81166007)(34070700002)(6666004)(36900700001)(2101003);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5133
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT027.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	54d64f97-3fd4-435b-e325-08d95cb26ada
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4QdhahvlHORyZ3sIo8iXC4gWRagCHwh0F00y7nMk0iOAP33vS0MYSPUzVX6hH4EB1CPd+U/zhGOkQcA6EICIjyXL/73hCAJU1qZENjJDnYQVgjZa3Hc70tTquIAF8FmOjnmo8XwZGf+qu9H7nUMkHGMGI6xc4eg0Q6/bsmXrNAArGMi9zIzIWtAMgj4RK8BCD8H6cXlO5u4u4FzsCVQUBvCEhCqnezqV7ZoBarZdzD8JehHaz+VCnwoa9fUEgmOvNgGZ+KFqG2v3mHD1O7nvxbjwL5QVBVcNCh5JfJlnmYbyrKpmRSxHhFuudOBPPwUs0w5HPYMDi/6XVDRd7p8/eGa5Gkyh5Smt2p0hRt/3rexUMyBlGnerQX9jiOu8Gx1/qenz2hD7YtXaW9HWG0F+wSMzSt36VDFW50JtEP8psSMeQnBUei3pnW1NgBIIdQiBKIuidaVr4yPT/BlFL9F5B72XkTrOPJn0AdLBv/VZBI8fQFMB4nk9KnSHDtyElPrMc8uoOqVbFf+Kf6rHB655W9FCv0X8nIHk4F++sfHKRMZMTaetws0NWU8iKMbgA14MeUTay+2jT3j8z+75TNh0iQ3NaCKkMsARMtPN04cBnDqmb9yHbTh0sFWenoZMUG5VsOWG7gx5tIIvA9We8hHdmmJ6uaPmtz2qGnSoqfUibb3Mvocy0o70hDxgjH8Ny7Pjbv3cZ+u0pTTW9tqadiKXEW9bfCOJPka8ydU7TPguV7M=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(376002)(39860400002)(346002)(396003)(136003)(46966006)(36840700001)(82310400003)(426003)(47076005)(82740400003)(110136005)(316002)(2616005)(4326008)(5660300002)(478600001)(81166007)(36860700001)(1076003)(44832011)(2906002)(7696005)(36756003)(336012)(8676002)(8936002)(70206006)(186003)(86362001)(26005)(70586007)(6666004)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:26:11.3144
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 424edb30-3815-4983-ade0-08d95cb270aa
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT027.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6348

We have not wanted to make Xen guest be NUMA aware in this patch
series. So in this patch, Xen will skip NUMA distance matrix node
and skip the numa-node-id property in CPU node and memory node,
when Xen is creating guest device tree binary.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
 xen/arch/arm/domain_build.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index cf341f349f..e62fa761bd 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -584,6 +584,10 @@ static int __init write_properties(struct domain *d, struct kernel_info *kinfo,
                 continue;
         }
 
+        /* Guest is numa unaware in current stage */
+        if ( dt_property_name_is_equal(prop, "numa-node-id") )
+            continue;
+
         res = fdt_property(kinfo->fdt, prop->name, prop_data, prop_len);
 
         if ( res )
@@ -1454,6 +1458,8 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
         DT_MATCH_TYPE("memory"),
         /* The memory mapped timer is not supported by Xen. */
         DT_MATCH_COMPATIBLE("arm,armv7-timer-mem"),
+        /* Numa info doesn't need to be exposed to Domain-0 */
+        DT_MATCH_COMPATIBLE("numa-distance-map-v1"),
         { /* sentinel */ },
     };
     static const struct dt_device_match timer_matches[] __initconst =
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:32:01 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:32:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165816.303061 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlWi-00060Y-JM; Wed, 11 Aug 2021 10:32:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165816.303061; Wed, 11 Aug 2021 10: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 1mDlWh-0005uu-UZ; Wed, 11 Aug 2021 10:31:59 +0000
Received: by outflank-mailman (input) for mailman id 165816;
 Wed, 11 Aug 2021 10:31:57 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9qiF=NC=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mDlRv-0000BQ-F1
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:27:03 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com (unknown
 [40.107.13.78]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 0fea5d40-7657-4aec-8f5c-ffb7632b9478;
 Wed, 11 Aug 2021 10:25:52 +0000 (UTC)
Received: from AM6P192CA0102.EURP192.PROD.OUTLOOK.COM (2603:10a6:209:8d::43)
 by AM6PR08MB5046.eurprd08.prod.outlook.com (2603:10a6:20b:eb::24) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.16; Wed, 11 Aug
 2021 10:25:50 +0000
Received: from AM5EUR03FT014.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:8d:cafe::71) 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.4415.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:50 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT014.mail.protection.outlook.com (10.152.16.130) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:25:50 +0000
Received: ("Tessian outbound 312d863716bf:v101");
 Wed, 11 Aug 2021 10:25:50 +0000
Received: from 465b7ff04c5b.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 BAA518C6-6EBF-4698-9CF6-13D0D50D338E.1; 
 Wed, 11 Aug 2021 10:25:43 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 465b7ff04c5b.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 11 Aug 2021 10:25:43 +0000
Received: from DB9PR05CA0026.eurprd05.prod.outlook.com (2603:10a6:10:1da::31)
 by PR3PR08MB5658.eurprd08.prod.outlook.com (2603:10a6:102:88::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Wed, 11 Aug
 2021 10:25:41 +0000
Received: from DB5EUR03FT006.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:1da:cafe::b3) by DB9PR05CA0026.outlook.office365.com
 (2603:10a6:10:1da::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15 via Frontend
 Transport; Wed, 11 Aug 2021 10:25:41 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT006.mail.protection.outlook.com (10.152.20.106) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 10:25:41 +0000
Received: from AZ-NEU-EX01.Emea.Arm.com (10.251.26.4) by AZ-NEU-EX04.Arm.com
 (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2308.14; Wed, 11 Aug
 2021 10:25:35 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX01.Emea.Arm.com
 (10.251.26.4) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2308.14; Wed, 11
 Aug 2021 10:25:35 +0000
Received: from ais-wip-ds.shanghai.arm.com (10.169.190.87) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Wed, 11 Aug 2021 10:25: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: 0fea5d40-7657-4aec-8f5c-ffb7632b9478
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FMHvog/ZeUKCEsfAn5HVuMBBiWdgn9MS9BQ8ztuD3iQ=;
 b=hjpsSJdYXTyYvwAda35U8lLSSOYRA5wC72SodZJ3KMuQ031Xplmm88P1pONwayRi0dYBzjzODJgmFKYswsMnmv5QxBNEMk6K3+SGbEUr0ekZ/NDmgPKlxpeonuVaz5sCNQ2KiFchNIdTshhEJuHS00VzZddK+1DIZapcmfBC4Hc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 3f86eb01c36ee976
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FHlK1AIPyRH2hEE2cha/yLkFByH8Qe5yGzvIc9p0M3kNcFwXt7l2QDKeKgytLOaXZAdZgbMuOVZ3sBW9yrqC8c1Ad3SYoNv9ia9U7Vziu2HGtad33QsX2fj3tvLv8fe4eDpY6dm6e4k3w0vqpmqjX4WyLFhesKRn5KgxKrqg+mJxRXGSM6mhTkU7OJVI62QoUB3nD6OfNjzN/R+NZb3ay8WHk+G1AiIYTMwiOtNyGaeB9Lxzcms52oG9UQJrMB+yj7KFv6gXbFYYWjoO/xIvi+2BK2lJKSITNQjz5jkNau7Ok21GocSHrDFiFEoiHTd9PG04fPIIGDWC4RumCBPOiQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FMHvog/ZeUKCEsfAn5HVuMBBiWdgn9MS9BQ8ztuD3iQ=;
 b=dQN82trnFkr4OiOHT/NEOdi5zdAjMPIzLXzEOgCVNLAoiatt0U+aT1YuYLBHau1wUN2w6Ui9r8IMvFhC2bEHJvAZJYdoLz7gAjmZhBuHQB8ITwVxwLrxhFx54oTggoM79SXVIDt3Nvk2aaXJX+wDwrTESL1bz8r9pYl8eLq1mDtyA+wTfkT795RIGo1IMV31d6F/mt+avocDHtwYUNuoTLqJCwdVsxf0GgVW1a90P9rV++a3WxF5r3CEJwGgNVB2s8C7nBgo/YEEJmCX0o01diw2x3KjFvMbfNz+kK7uDUmRC+KHQeURo5KgkeMUYyZx4+ZjlzNcDSMBZCHGa2YOUg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FMHvog/ZeUKCEsfAn5HVuMBBiWdgn9MS9BQ8ztuD3iQ=;
 b=hjpsSJdYXTyYvwAda35U8lLSSOYRA5wC72SodZJ3KMuQ031Xplmm88P1pONwayRi0dYBzjzODJgmFKYswsMnmv5QxBNEMk6K3+SGbEUr0ekZ/NDmgPKlxpeonuVaz5sCNQ2KiFchNIdTshhEJuHS00VzZddK+1DIZapcmfBC4Hc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Wei Chen <wei.chen@arm.com>
To: <wei.chen@arm.com>, <xen-devel@lists.xenproject.org>,
	<sstabellini@kernel.org>, <julien@xen.org>, <jbeulich@suse.com>
CC: <Bertrand.Marquis@arm.com>
Subject: [XEN RFC PATCH 26/40] xen/arm: Add boot and secondary CPU to NUMA system
Date: Wed, 11 Aug 2021 18:24:09 +0800
Message-ID: <20210811102423.28908-27-wei.chen@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 6d6a7eab-8080-4cd5-8c4b-08d95cb263fb
X-MS-TrafficTypeDiagnostic: PR3PR08MB5658:|AM6PR08MB5046:
X-Microsoft-Antispam-PRVS:
	<AM6PR08MB5046E16EA1298E5EE6693ED09EF89@AM6PR08MB5046.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 elBIOAUClpZo3bL4M3MJ/kpiTp6ZDVLrJLu2qHUSOf2CeqivQURWOjbMb9h6GPVgNXL/1BwC2+VEP2kGTmB9b3jyhyWF/scT4FUHNepi/igAPMIkpWA29hNEz5eBxmLYliFIEebtfbgpRNqQetSQLvZ8cGDCNxG7iMNWZCFlDL89pUPFbEGAucsTmsG0EQ5Wa3UYWFSVOMICAQimmk9df9NGYtbq0tUr0SjD206c7C5HTsyNmUWMPNazOje1RJ8/VCvl2HyuwIkK8WJl6iMheSQOhRX8BzAozkbywfIm6e+MZ98Phyaz1faJLunWneiFql/pvYCeBFzJG4jnc5ZILHou2ww2Tez841lVweBYMLrOQZlLGMSMN1LErMnCKEVMvyear7aME4aKCSgQd+GNNz3de3YKIocrUDqSXX93SadNLIPcS45n4bMUd8re/egT2dATgnW2cxZULYbLwW8LeuTmKh4GNAQHX+juPbst8cev9EmowRpUnfqoWKYj5WrzHCM32M02/suL2PZe8iJKuDjic+ndNR5BiqnxHOafv9t3xy9NHP3LRY1ZdR6usubqf14P5EJkyJzGwrZPET7bNdgs2ZIx3pbrmH1j5nF5VeK0xzfx+BDOmZ1GV6x13/D7uh0jsVQwPdVc8XTCfOE10cBZR1m5lF+uS0N6KP0jyYelbPgqCR4la2YUREtDK9zr4G8QLZ1+tL+GaldvUzUcaJO6L2GKhVlsGbDDP2QC6PadIa9ukh0LX+MrUm4WLJYXO1gIoR3elWYIrhvDjvo3yiZ9HowcHkA5OL/vnAS5Jmk=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(136003)(346002)(376002)(39850400004)(396003)(46966006)(36840700001)(186003)(36860700001)(44832011)(316002)(478600001)(336012)(7696005)(8676002)(82740400003)(26005)(36756003)(6666004)(1076003)(34070700002)(47076005)(4326008)(110136005)(426003)(86362001)(8936002)(81166007)(356005)(2906002)(83380400001)(2616005)(82310400003)(70586007)(70206006)(5660300002)(36900700001)(2101003);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5658
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT014.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	4e55ccab-78ec-4386-1401-08d95cb25ea0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4heZEKkNvOguc2am60KsCOkyKghgL71Z0PGGV+r+ThxXRnSyBFZRXl5zgX1ZzKFVpYouRmVVJtc72f9zy8NW89zQT8VDuR118FzalQ0qbBNs2XGBv3yMeguA8bONwxsPhumZTm+qiNPyvgJQLf01c+wZYb3bblBdAFnMi3wo3q7TSbf4rj+GSwfC27GKL6oxP0DE0hanx2ix7AE0RsQoRpXDw+ZSOLLMBiJjnCgOGSqjj3/6DPDMf1TZ3cv+RmUv9TjUXjJuUltpt5I43glfSdRbp3n0LInlHiwatnBJGoOh3B7rFmOzA2VthbMm2RisMHmffZsSAsgziG0IirfhrRhW/e5bCEK3ARLdFH8dsca7pM2twItoFfLa/2wpVVY96GWG9w0Bkm+vCR5OL52MvwfQu5heS7MpWTRwvR1LkE7VIOv664yA2aboW3NWZowLAd/udoQQYxt7uOPHByUputR4Kme5KD5Ejg/BU/NRp2K98Mpallsb4CvHdv2RtmNBQqUtbMJ8CPqKohr+q1hkwymqgkMkEeP79RarH7Z0xI3ohg67HIM1KL7OWmkJ5QOL81p1UDDGirlSVwKZ0B2RRznzFdAFulDYfVVVmcJAm07aJWDbTHlzoy7tvNv8GHG+f99+DSV7ePD0q+tWBgjhufc59hJd/HYxgrhTJwg55hhTwrDhSn2y13IA92PxDr79tMpp8Q+HBBhmZ9VSgbBitN5GxvCGkotyuQ0iLWt2Gh4=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(36840700001)(46966006)(1076003)(6666004)(26005)(5660300002)(8676002)(81166007)(47076005)(186003)(316002)(8936002)(83380400001)(86362001)(7696005)(36756003)(110136005)(426003)(70586007)(82310400003)(36860700001)(2906002)(70206006)(336012)(508600001)(4326008)(2616005)(44832011)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:25:50.0420
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6d6a7eab-8080-4cd5-8c4b-08d95cb263fb
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT014.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB5046

When cpu boot up, we have add them to NUMA system. In current
stage, we have not parsed the NUMA data, but we have created
a fake NUMA node. So, in this patch, all CPU will be added
to NUMA node#0. After the NUMA data has been parsed from device
tree, the CPU will be added to correct NUMA node as the NUMA
data described.

Signed-off-by: Wei Chen <wei.chen@arm.com>
---
 xen/arch/arm/setup.c       | 6 ++++++
 xen/arch/arm/smpboot.c     | 6 ++++++
 xen/include/asm-arm/numa.h | 1 +
 3 files changed, 13 insertions(+)

diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 3c58d2d441..7531989f21 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -918,6 +918,12 @@ void __init start_xen(unsigned long boot_phys_offset,
 
     processor_id();
 
+    /*
+     * If Xen is running on a NUMA off system, there will
+     * be a node#0 at least.
+     */
+    numa_add_cpu(0);
+
     smp_init_cpus();
     cpus = smp_get_max_cpus();
     printk(XENLOG_INFO "SMP: Allowing %u CPUs\n", cpus);
diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index a1ee3146ef..aa78958c07 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -358,6 +358,12 @@ void start_secondary(void)
      */
     smp_wmb();
 
+    /*
+     * If Xen is running on a NUMA off system, there will
+     * be a node#0 at least.
+     */
+    numa_add_cpu(cpuid);
+
     /* Now report this CPU is up */
     cpumask_set_cpu(cpuid, &cpu_online_map);
 
diff --git a/xen/include/asm-arm/numa.h b/xen/include/asm-arm/numa.h
index 7a3588ac7f..dd31324b0b 100644
--- a/xen/include/asm-arm/numa.h
+++ b/xen/include/asm-arm/numa.h
@@ -59,6 +59,7 @@ extern mfn_t first_valid_mfn;
 #define __node_distance(a, b) (20)
 
 #define numa_init(x) do { } while (0)
+#define numa_add_cpu(x) do { } while (0)
 #define numa_set_node(x, y) do { } while (0)
 
 #endif
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:41:51 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:41:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165877.303084 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlg9-00033J-Pk; Wed, 11 Aug 2021 10:41:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165877.303084; Wed, 11 Aug 2021 10: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 1mDlg9-00033C-M3; Wed, 11 Aug 2021 10:41:45 +0000
Received: by outflank-mailman (input) for mailman id 165877;
 Wed, 11 Aug 2021 10:41:45 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fjOV=NC=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mDlg9-000332-0T
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:41:45 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id a154665a-e8ef-41c5-81d0-038b09e05cf0;
 Wed, 11 Aug 2021 10:41:43 +0000 (UTC)
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur03lp2054.outbound.protection.outlook.com [104.47.9.54]) (Using
 TLS) by relay.mimecast.com with ESMTP id de-mta-9-0RDScDAMPpCHxMA6PrpD_w-1;
 Wed, 11 Aug 2021 12:41:41 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB6863.eurprd04.prod.outlook.com (2603:10a6:803:12f::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.19; Wed, 11 Aug
 2021 10:41:39 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4394.025; Wed, 11 Aug 2021
 10:41:39 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM3PR04CA0129.eurprd04.prod.outlook.com (2603:10a6:207::13) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.14 via Frontend Transport; Wed, 11 Aug 2021 10:41:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a154665a-e8ef-41c5-81d0-038b09e05cf0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628678502;
	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=oliIBlwtB5aSHfkxuKeSahdgjtCPfzBcf70SieP4HRw=;
	b=CfL3Hm5OHnhA7NLgoDnYaB3Z6xHMFAtKkbQEEpGK1++AskLBYvAhBz+vuC1zx/vnqXYuNb
	afWRDCbD5IgtfBW8zxeT3NkALJNpJ1VSyK+RNgN85/7BpGBpEwjyUpBc9j5cqwma+TTsQ0
	k00C31zae6lo2lnD8C20G4u6mha3r5c=
X-MC-Unique: 0RDScDAMPpCHxMA6PrpD_w-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Xu4M+kL48g/LDF6Nas6K/1y95FdDvocOyx1b48sZO373rMxWnmvOHsrtwmFVoUuHho2+GZB1Y8UBBgD31zINmziQV6TAFxRJMmdoJNeOYneaDOeXiiCE0qgbIQzXm5TUk0O9YAlrDw4LLO+bZ/HlxjV+ZunSMhiOdiJBytUXjI4JytQXdcuVXaGkmhiepX80u4jOwnY4+oMthnWDi/pl33tOf/0hB2R6feKZ1tVh4um3ylA+Un3rZCrpiGtcXZoAy4nNNKzgsKE0clXtC6ld7JNaATDC8DgGObJ9bH/Nj6vrX3cuN7P8xHDYQ+mCTwp1G9GW0FrRMB3NM5ZWSOzeFw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=oliIBlwtB5aSHfkxuKeSahdgjtCPfzBcf70SieP4HRw=;
 b=D410f8x4pdGVeKB5eYcj2yAKD0/rZMYm6FTbBPSXQgCplnPIl862dk3BZ6ZR8H3cyM7A2Gr4YvwOo8GOuGJXrh2qqwGs48fsbjgkXCad9NDVMLpSJqk+Vfpen8XYbrTNK3ABy+CIZArhbzcs/mO1TSTcNdUhwW4tW0GchLmQExImcHKWHujyXUbGbw7/1ld1neAgLCLA0hwmnirCd8be0DTBOMyfPUwsi3wT/1daBaW56LP5KJ52N6gipaAnQ3X+IvL2PshYJ8zqRohRmybZc3FkMA72aN0bYVE0kgR4o+SwjXYoi2Np/CdYCqQKrvn2L3Zutjw9MU3E3x1M/xwGAg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [XEN RFC PATCH 00/40] Add device tree based NUMA support to Arm64
To: Wei Chen <wei.chen@arm.com>
Cc: Bertrand.Marquis@arm.com, sstabellini@kernel.org, julien@xen.org,
 xen-devel@lists.xenproject.org
References: <20210811102423.28908-1-wei.chen@arm.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <bb62f56a-6023-58df-99ed-a4588c4d80b9@suse.com>
Date: Wed, 11 Aug 2021 12:41:36 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM3PR04CA0129.eurprd04.prod.outlook.com (2603:10a6:207::13)
 To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c96bd626-5bb1-449a-6ee9-08d95cb499d3
X-MS-TrafficTypeDiagnostic: VI1PR04MB6863:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB6863A2C2D2943290B7CCA94BB3F89@VI1PR04MB6863.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	VHonVPF8ATvlQVUK5ZM1GU8DfGCgxXY1h43lOaZvGHGvaZxV4SAF1r6+VPDXbqDfEjMPaKs2PABCAcLxiGU+qflLV4MYMJW+LLsdQZrw8xyWkxBnGzFACem7kF8u1aZsyMj64SpKp22kA3bq+T6qRJ7TygPXbInCNoiCItp8/JgA9joZ2ty3vtWuYSrIi7+dZqa3PM6lsYvEP38jOurV4X/rAROqV4g2aS+oHDk9ZO1sWh+gBh/kSXM7N3F2COSioAKk6u+Oep76B2hfeNfBNQXhYQ98SzwKVM4lB56Tq6hjg12JAmt3YI5NYhHVyVtHdOb9lf35DuP1ABXMcu0p/iHjBl7cjeCUIw5wmrJ4ep7HNt2favHkc6q92TbVetDiO2Mq28saRKmJ3ppReBRKG0AufGukjkA3yqJTTcAfy3x3yfnUnOG8Yay1s8quS69ysBkdJs+vdhA81cSP/Jtm7B8ffyOW57LGWthBOrW+qEd3sQYWlWi+xci0piynqssy7S0WVxKTVnZ8NXmeQOJGSipHUQ8CsFaCsua2gWQpHqD9Eq71h1GZV4BFwbfNF3XxK/67MF0bAEFzzyv2tYqi5Gzw+n6yVwi0dwy/It5LcHV69V19ZKsZxkMunKGw70rcwU9or40c9KxwYpu+bBF2QI7Ej14/TG9E9geHTD4NWNi2IUIXVtKd6k+TxZBYnguiGBrF3mj2rXfweY9KSpDcB9okr5BysktzjOWMQvUq+b4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(376002)(366004)(39860400002)(136003)(396003)(6916009)(4326008)(53546011)(8936002)(6486002)(86362001)(31686004)(5660300002)(31696002)(6666004)(8676002)(2906002)(36756003)(83380400001)(16576012)(316002)(478600001)(26005)(186003)(38100700002)(66946007)(66556008)(66476007)(2616005)(956004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T1B1cmtRQVFRRE5yS3VBZ0J0cmZ6Si8za3QxbzVVVUZFMTZpVGZkODRvMEp6?=
 =?utf-8?B?ak9MYWZnSHdjcUhDYlNoTzF1OHJsOEFRWWxoTTFJNlR5UXBXOXhHUk5BVldV?=
 =?utf-8?B?QlVORGVEVStlcDhRRW9pU0VJcGNKY2RLNExtNnZ2WkoxNXhCb0lTRngxeXc1?=
 =?utf-8?B?Tm1YR0dLZjRBOFlGUDVwOXZ0OU1ndVBhek9MY0lsQVorclY1SE11aG1hUEFs?=
 =?utf-8?B?amtBQlVDZWxpaDczV3gwMGVyVEhHZWtoWWlJSDFKdjIwRXV1cDBDdHZIa2xj?=
 =?utf-8?B?RWZBN1ZER1FxQU5WaEhHZFNBZXdXY0F1ZFhKRm9haFdINTUrU0VLOStlVkFM?=
 =?utf-8?B?TjQwSUVCaVlLK0p4cExhaWx3U3hQS2RIY1lOZzlZWDVoaDVaUXMzd01oWkxI?=
 =?utf-8?B?dHVaU2FHSEVGaTZ5VFhIZGJRdXJtNzVSZnlTd3pNb0szTjZMK245TlBNd1Ny?=
 =?utf-8?B?WEZDMDhhYUZwcWNTTGV0cVl1U2xVZTl1a1IzRXgrWEo1TlUybUlIcjFPelQv?=
 =?utf-8?B?RjRsakxhNVZJbFZMV2lPTUF2eStTeFhITURvQUJ5SVFvb2lXMWU1Z1Z4UkQr?=
 =?utf-8?B?alJuMVl3YzRjODlpZ1pmaGhJT3M1YUVtWEp1VjR4YUxOeThqbW1rUmVKWkpX?=
 =?utf-8?B?VEFZN1BCSWRzR3VJYXBqc1NnZks4V0JyN1FCZm5NYzRMV3NFQ1pTRlRyZXlt?=
 =?utf-8?B?VXVLVFc1RVN4bm1VL3V0YkZMaXQwT3doS2l5V0NwVitac0tGdGlTY2k3K1NQ?=
 =?utf-8?B?aTA3b3FDejFjNnMzaEE4TTVlVU4wamhjYWZxMm4rbUxoYmk5aUJTeEEwZHFt?=
 =?utf-8?B?VEM4ZmNpRWsyUkU2VEpIZ0gxRG9Gc0M5YUlNTTg2YVpyQ0pGZnpCcFFvRkF4?=
 =?utf-8?B?SXBaK2ZYWGMzN29RQ3RkMEJEa2hqSStRc2VCK01abkoxZi94QjF6TDg3Yjc2?=
 =?utf-8?B?Zll1R00xOW5NNFVobGRRT1RUcTFLM1hJM3MyV0ZnZGNjZHVMeXlwbEgrVWRW?=
 =?utf-8?B?UjZqVVdLQ2U5TUlubVBCTi9lYjZUeGJ0eEE5U2lnRmI0Nm9lV3Bwdm5ER1RP?=
 =?utf-8?B?bGsvNXgzOHg2QlhwVWZ3a0JRd2EreDB4NDBPVkhPOEdVcnUwWmVOMmxUUGxh?=
 =?utf-8?B?Q01hSVEzaXREd3NXRHRzbHVIeXRqUU5Cd3VXTys0ZTNxMDZwOVhFaVFXcnM2?=
 =?utf-8?B?RjFKUWYvVGJtMTZzdmhHVXp5cHM5T254VXdvNkdpa0dsS1ZuTUlGSXBlK1RP?=
 =?utf-8?B?bkJya0pRdStQdUpudTZFMnViQ2hkbkg0WVdNLzBvcndNUWlzMkl6dThvcU1q?=
 =?utf-8?B?NU5YR1Zsa25DRTBocDM0NnRiVzdpVGZ3cVIrejU4SXJzZmhjL1pzZFlONm1N?=
 =?utf-8?B?bkNwd2Z6dlVMcUZjM1AzR2ptM01oMmt2dXRPWHVqOXFTYUJKM1BMaHNwVWhM?=
 =?utf-8?B?K0ZvdCtjeHFoVFpCVkhNYVc5clNxdkxvYjVNNEducTBzUU5nSzRTU2YwRTBs?=
 =?utf-8?B?NEJRdkhsYzZreEV3U3VqV0kxcHFlaHkxY3ZiYzhyb3AzYnpRV0pGMnVCdXVW?=
 =?utf-8?B?UC84dnQrY3QxNk9KemhMd082UTc1amtoOFF1b1VONVNxMkZxY0grK2JYR0dR?=
 =?utf-8?B?V1FNYnlCWEF1bjFmeTZyTVI1UG1pSmZhVEVtenk3M2MvMnMrejlnODlDVHRm?=
 =?utf-8?B?bUJPenI5SDZiSzljVUlaa3dIMkpTNDRUNStjbTZUWENPbUlEOUhNeEltU1Nl?=
 =?utf-8?Q?emkp7sSi878fX8c8WUEU5NZp7hr40hJ2CLHbc7m?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c96bd626-5bb1-449a-6ee9-08d95cb499d3
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:41:39.5764
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: lqTvgtoRPfp+gokAl5DoRRE8xfJuSG6B8oOsA3REnpqT8Y/2Vq1s26C70DpglAsOQpMafCrPE85uyAWgcIFXnA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6863

On 11.08.2021 12:23, Wei Chen wrote:
> Hongda Deng (2):
>   xen/arm: return default DMA bit width when platform is not set
>   xen/arm: Fix lowmem_bitsize when arch_get_dma_bitsize return 0
> 
> Wei Chen (38):
>   tools: Fix -Werror=maybe-uninitialized for xlu_pci_parse_bdf
>   xen/arm: Print a 64-bit number in hex from early uart
>   xen/x86: Initialize memnodemapsize while faking NUMA node
>   xen: decouple NUMA from ACPI in Kconfig
>   xen/arm: use !CONFIG_NUMA to keep fake NUMA API
>   xen/x86: Move NUMA memory node map functions to common
>   xen/x86: Move numa_add_cpu_node to common
>   xen/x86: Move NR_NODE_MEMBLKS macro to common
>   xen/x86: Move NUMA nodes and memory block ranges to common
>   xen/x86: Move numa_initmem_init to common
>   xen/arm: introduce numa_set_node for Arm
>   xen/arm: set NUMA nodes max number to 64 by default
>   xen/x86: move NUMA API from x86 header to common header
>   xen/arm: Create a fake NUMA node to use common code
>   xen/arm: Introduce DEVICE_TREE_NUMA Kconfig for arm64
>   xen/arm: Keep memory nodes in dtb for NUMA when boot from EFI
>   xen: fdt: Introduce a helper to check fdt node type
>   xen/arm: implement node distance helpers for Arm64
>   xen/arm: introduce device_tree_numa as a switch for device tree NUMA
>   xen/arm: introduce a helper to parse device tree processor node
>   xen/arm: introduce a helper to parse device tree memory node
>   xen/arm: introduce a helper to parse device tree NUMA distance map
>   xen/arm: unified entry to parse all NUMA data from device tree
>   xen/arm: Add boot and secondary CPU to NUMA system
>   xen/arm: build CPU NUMA node map while creating cpu_logical_map
>   xen/x86: decouple nodes_cover_memory with E820 map
>   xen/arm: implement Arm arch helpers Arm to get memory map info
>   xen: move NUMA memory and CPU parsed nodemasks to common
>   xen/x86: move nodes_cover_memory to common
>   xen/x86: make acpi_scan_nodes to be neutral
>   xen: export bad_srat and srat_disabled to extern
>   xen: move numa_scan_nodes from x86 to common
>   xen: enable numa_scan_nodes for device tree based NUMA
>   xen/arm: keep guest still be NUMA unware
>   xen: introduce an arch helper to do NUMA init failed fallback
>   xen/arm: enable device tree based NUMA in system init
>   xen/x86: move numa_setup to common to support NUMA switch in command
>     line
>   xen/x86: move dump_numa info hotkey to common

May I please ask that you follow patch submission guidelines, in that
you send patches To: the list and Cc: relevant people. Furthermore I
doubt that I need to be on Cc: for all 40 of the patches.

Thanks and regards,
Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:50:05 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:50:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165917.303096 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlo9-0003ze-OO; Wed, 11 Aug 2021 10:50:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165917.303096; Wed, 11 Aug 2021 10:50:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlo9-0003yw-KK; Wed, 11 Aug 2021 10:50:01 +0000
Received: by outflank-mailman (input) for mailman id 165917;
 Wed, 11 Aug 2021 10:50:00 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fjOV=NC=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mDlo8-0003y3-66
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:50:00 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id deefa224-fa91-11eb-a056-12813bfff9fa;
 Wed, 11 Aug 2021 10:49:59 +0000 (UTC)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2111.outbound.protection.outlook.com [104.47.17.111])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-14-P-DZsbMuOFSaYHLEYWeEuA-1; Wed, 11 Aug 2021 12:49:57 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB7152.eurprd04.prod.outlook.com (2603:10a6:800:12b::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.20; Wed, 11 Aug
 2021 10:49:54 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4394.025; Wed, 11 Aug 2021
 10:49:54 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR04CA0005.eurprd04.prod.outlook.com (2603:10a6:208:122::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13 via Frontend
 Transport; Wed, 11 Aug 2021 10:49:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: deefa224-fa91-11eb-a056-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628678998;
	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=r6wCmGxzzOHJR43xy+qjJa5sUS/Jj0WuwOZ94L6wVyI=;
	b=KWIuAtY7AjSNth98tmh75NYun7qlL4IYnQdT7Fy0i8zPKnJrrXweM2ZBOkrpK1y4wZyyOY
	FHf4cOd/Fn+l9TzQHrfP81ig1suljeDfH94lqtO8jE2dG5qfcdOfZhC21F3meQiLIBgwwM
	PYdlYU3L2ACkFuaNaBkLTCGZehpvCu0=
X-MC-Unique: P-DZsbMuOFSaYHLEYWeEuA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UEMDLUT2MQdaW6xJmAXKwIFNsNOGTmkXBl8XFTsox16/pEa7Qnhm/1LWRWCTfbye+Gz9I88yYNfz2oTfTrgHRrt8X05N3bZmpFmnjsQLuUvPHnLMzEJ1Yb7hNRmnx+u65AjPEKgnOI/qXDsRywUsXjinzXvEDw+WRh1v8S8i0/Kx9/BaJPyWadFomflwO7d1WGuRr6Yy9MEZKdKWrw3TRZBDcf2K4hlZ9PulMNcGC2N6R38SChchMLgh+ZkyUJlzsrdjLVNmu8xoPjfXY0dponHjoX8PQBgS+Ve7okqpncQptOY9hk+MnQG5vWBPA6HUR4xygMG1V9Jr5nVcCwlB9Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=r6wCmGxzzOHJR43xy+qjJa5sUS/Jj0WuwOZ94L6wVyI=;
 b=lhDOEPJoj1nT2h0YCuyuYWsdlShB0x0kCJPX3b14W6Wu8C9C7TASHjA0Z76UrgkhG0S1VZ3/Prr5iN9HaNjrIKjuuOIUA1bHIO/ulhyKsr92BNZ5Qj3ZRxr1rRZgjHCVR8TtFzxYQhLJXfyqYTSgFDcg2f/XvBQ3KGZfdpsXo078MVxHyigThVKjAPnZKtGwi2fjHU1MpXmVzp5iEGY1QnUii42QfOY3nCAstTCqoFRnYFRF8NCi5wzA7ltU4/Led2efj/znZq7FjSenLCqATmLGQ1iM8lNysqMSHpNI4Y2cZ02h5txCEavQ2OSMEA0+d3Yb7LQhUPGh2NpEIaNKZA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: Re: [XEN RFC PATCH 01/40] tools: Fix -Werror=maybe-uninitialized for
 xlu_pci_parse_bdf
To: Wei Chen <wei.chen@arm.com>
Cc: Bertrand.Marquis@arm.com, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, julien@xen.org
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-2-wei.chen@arm.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <c6048717-a7ba-fe7d-76f0-58d4877492c4@suse.com>
Date: Wed, 11 Aug 2021 12:49:53 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <20210811102423.28908-2-wei.chen@arm.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM0PR04CA0005.eurprd04.prod.outlook.com
 (2603:10a6:208:122::18) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 87b3ecf6-3a68-4ada-18c4-08d95cb5c0ea
X-MS-TrafficTypeDiagnostic: VI1PR04MB7152:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB7152A15E6802838FBF6A6222B3F89@VI1PR04MB7152.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	VXv0yKw8zyZJXcSSvIsmZxgEAxda3Qgkf7I+dSX0yVh43V5kGyKIhXZXRaQE/rltJSd48hy+kTSw9hEvVvT/SEbUDICAgQfkghIJkzmrDN1pFGTthWZ9PhqK5oIRYJ+SUbsXqibQkiGeNbNeeC7Ivo2bT8umBaNMsyX6H5WI3c48zBHPSxc2YHYw7I2I3MOf/E9I1CPy/z8R91JX1zLjCReSCaqr1aQ72AcLhMRDCzfi73Kgd32xTHeVlHlTFuykT6VFFdabtR5RP60d+GZqFCA9LibsgiSIFXX2hKE9KOVjRXjZWGd7MWDntV3y+DOod7zBojscehHFYAKo2nRDD77YGgTiwDjlBkwRjgC8JslxUKGfbw3k6y1nXnzBhLv4YZqPvvxnwQ77zD96caTsd1o41d3pDiZhRqANg5oucYXDv7IeA98EmtxdoQjaUsWXZI3l8g/sy89DTdq9Eq2zMXEGJB7lFYzrx0gBTA+tpDYk+JbilVtbSv2Qju5Fs6K6OJRsuKf8TWP1gOP1LpOAQ3yOtXluvh8qj3NPVPrQQrSpKtDUb7q6e3qnxj7inURbVHeXCBcXr5x1J7DW/bT1AU1kHz5Z30EDhq0zVX1f+98CSV12hTog1wgBrKEQpJ36byywpKYjxRe88ACDIJdGJouufIToL/BhYmHBZnBpw7e0HYCc4WrXYvmUQnoHXy1Xi6WAkaJnHwGAFxVjBnXldW5ZNwCLJYWfkkEbHXsegBQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(39860400002)(136003)(366004)(376002)(396003)(346002)(36756003)(6486002)(478600001)(38100700002)(66556008)(8936002)(8676002)(66946007)(66476007)(4326008)(31696002)(186003)(6916009)(5660300002)(2906002)(86362001)(2616005)(31686004)(956004)(26005)(16576012)(316002)(53546011)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZXRVTFRHNGJQSXZxbWlmbGNSS1FGdE1SUmRodllKbWRvTGpMN0FycWhUeHRs?=
 =?utf-8?B?Z2xjaGVxY05HOGkyM0xiSXVid0RyakNLY1diTnFzYmdLVnE5cnN5TkRBY0tp?=
 =?utf-8?B?emNYUUxOMEF5SkdXc0hmQjJLR1pCTEZzNXlaQ3AycDdqelFCQ0dnN0ZGckpY?=
 =?utf-8?B?L0EzTTFtSHVNcDBHcTJ6MXhNaXpFRjdPWjc5VERrY3Y5VXI0OWkrRE9CTGJp?=
 =?utf-8?B?OWxVQmI2Um9kN1loV3g0NlVOTFMreENSb1ZVU2gxdHoxbXdERFJCa2xPTUlr?=
 =?utf-8?B?d0wvM2RCbWZOL0Rjb3pPZzdlRG1KbG9kenRQWXZVZEZHeXQvdTB1WFUzRWR3?=
 =?utf-8?B?Yjh5OFl1TStYTHduc0NhaVoxNzEyakRNMzd0SmdJQkVsS0xyeUlRRU4rT0dG?=
 =?utf-8?B?S2VBdmZlck5JZjFPbjl5bHNKYTdwbnpIcWtDU1p1ZytuUENuWFlGenlYaHM1?=
 =?utf-8?B?eEhXUTU5RXFNYkozcEp4bU40WFd1Z25CeTNHNGRCbW5wRW14TzZnc1ZpOVA0?=
 =?utf-8?B?SExOTzVZY1IvNFZ1Z3lXK2pKRm5hbTdGcWpNLzUrYzV2ejBDYVRtbW9CRlRU?=
 =?utf-8?B?b3IwSExNcXNsbWdiY0JHR2JOYkoxUHBSQVdFYThvc1hXdTJ1Z3ovMncvaWFk?=
 =?utf-8?B?em9WM3kyQ1k0dVQwdFNDbERxL0Y2RnlDaWoyMG1YbnRCZ2V5ekxWc2pzd3lI?=
 =?utf-8?B?VFh6bjhFUHJyR214empVMTF6RnpHTDJTY3V5cGVUTUFuSFNPbHNvZGN6Wkh4?=
 =?utf-8?B?MlYrMEVVOEZvRitZaVJGNEtlRGZqY3B1QU9PWTI1dWFpbFdjRWd0ZVUyU2ov?=
 =?utf-8?B?MEttRU8wbzBUN3ZBVGhKQkRucTUzbHN4Y214V3Byb1NuYlhGSjZ2WXRYemd4?=
 =?utf-8?B?S0VCVUo0S2k0Q29PeXdENFQxdnhvZFB0eldtZGFQWSt2UG9RODY2c1RpZ05m?=
 =?utf-8?B?TXNGUjF0UWUrMlNHVklZa0pjcVhkWnp5NkdrbW5nNVdjaVFoV1lQTFVQbjgv?=
 =?utf-8?B?MmI5M2taa3pXM0oxL2p6c3NpRXd6aHBhRVc0KzZZMjd4VXNkcVlucExNL3du?=
 =?utf-8?B?YitZSThtWjJ6bmk3dmFxZVFub0lDWEtNR2pvRHZEVUVSV0VOOEpIOXBiMk9I?=
 =?utf-8?B?d1BaMll1Z2tqd1h1dDlUOGpQWG52ck9FcEFrdU1VY3ZBM2lzeE9RNHZZVFdX?=
 =?utf-8?B?M0VtK3JIaFAxVUd4M1pHZ0FNOXJPWVRpc1FPNjNicGp4Z1BMZ3NZYkJIWU1Q?=
 =?utf-8?B?V0puT3E5WFA3OWNPalhoNTlKd0NZMFNJYzM0RzFHVTRzUll2U1E1Z2kydjhj?=
 =?utf-8?B?WDY2V2M5S01BNnVQM1cyUm1ZN3BxVEFxQ3JUU3JQWmtNV2pYblpFaGcwUlQ5?=
 =?utf-8?B?VEVvS2NtM0VlZ3ozaDZObk00enllT0JpN29tRy9EcXpiRjZtTW1zTElaNERL?=
 =?utf-8?B?NUczaUdrSGN5U0xQL1BXcHhpR2tmYlEvRUltMjZVSUw3d3ZCN2JzVXNIcWdT?=
 =?utf-8?B?NWxsSVRUWGszenJaK2p3QkFOTElyVE9TaFByQnZzckU4TXRLWnMrcjEwMFY4?=
 =?utf-8?B?a2ZHbGF2VENqWU0xeERvU2JHeHMyOEVjaHRYejNmZmlISWRhVDdpYWYxenBG?=
 =?utf-8?B?SlZrT1dNTGhlcDZJaVBiTlBqWGRtWlZKUGpMZDRjbHc4dGhzSlVBMVhoTDFO?=
 =?utf-8?B?Snh3akhBSEdCSTRCd29aejhmNlNLYlNQcmNCKy90STEvZk95WTladDJjKzRm?=
 =?utf-8?Q?Pv2bptjbl/+AgCBcsa+1mmjqrVbLbnquPQBeAN9?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 87b3ecf6-3a68-4ada-18c4-08d95cb5c0ea
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:49:54.6238
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: TmmvI78/Xrq0UcJ1n31BJ3NkoC5M1Bb7sXU8LvUL9BpuFlyO5rePJBRqFMJ6s+pOih7cws8s5aXH8SBmpE+Ckg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7152

On 11.08.2021 12:23, Wei Chen wrote:
> | libxlu_pci.c: In function 'xlu_pci_parse_bdf':
> | libxlu_pci.c:32:18: error: 'func' may be used uninitialized in this function [-Werror=maybe-uninitialized]
> |    32 |     pcidev->func = func;
> |       |     ~~~~~~~~~~~~~^~~~~~

I'm afraid I can't spot such an assignment in the file (nor the two
similar ones further down). All I can see is 

    pci->domain = domain;
    pci->bus = bus;
    pci->dev = dev;
    pci->func = func;

> | libxlu_pci.c:51:29: note: 'func' was declared here
> |    51 |     unsigned dom, bus, dev, func, vslot = 0;
> |       |                             ^~~~
> | libxlu_pci.c:31:17: error: 'dev' may be used uninitialized in this function [-Werror=maybe-uninitialized]
> |    31 |     pcidev->dev = dev;
> |       |     ~~~~~~~~~~~~^~~~~
> | libxlu_pci.c:51:24: note: 'dev' was declared here
> |    51 |     unsigned dom, bus, dev, func, vslot = 0;
> |       |                        ^~~
> | libxlu_pci.c:30:17: error: 'bus' may be used uninitialized in this function [-Werror=maybe-uninitialized]
> |    30 |     pcidev->bus = bus;
> |       |     ~~~~~~~~~~~~^~~~~
> | libxlu_pci.c:51:19: note: 'bus' was declared here
> |    51 |     unsigned dom, bus, dev, func, vslot = 0;
> |       |                   ^~~
> | libxlu_pci.c:78:26: error: 'dom' may be used uninitialized in this function [-Werror=maybe-uninitialized]
> |    78 |                 if ( dom & ~0xff )
> |       |                      ~~~~^~~~~~~

I'm afraid I also can't spot a variable named "dom", nor a sufficiently
similar if(). May I ask what code base these were observed with? Is the
change needed at all anymore?

> --- a/tools/libs/util/libxlu_pci.c
> +++ b/tools/libs/util/libxlu_pci.c
> @@ -15,7 +15,7 @@ static int parse_bdf(libxl_device_pci *pci, const char *str, const char **endp)
>  {
>      const char *ptr = str;
>      unsigned int colons = 0;
> -    unsigned int domain, bus, dev, func;
> +    unsigned int domain = 0, bus = 0, dev = 0, func = 0;
>      int n;
>  
>      /* Count occurrences of ':' to detrmine presence/absence of the 'domain' */
> @@ -28,7 +28,6 @@ static int parse_bdf(libxl_device_pci *pci, const char *str, const char **endp)
>      ptr = str;
>      switch (colons) {
>      case 1:
> -        domain = 0;
>          if (sscanf(ptr, "%x:%x.%n", &bus, &dev, &n) != 2)
>              return ERROR_INVAL;
>          break;
> 

Also - which compiler did you encounter this with?

Finally please don't forget to Cc maintainers.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 10:54:32 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 10:54:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165927.303106 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDlsQ-0005RE-8D; Wed, 11 Aug 2021 10:54:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165927.303106; Wed, 11 Aug 2021 10: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 1mDlsQ-0005R7-5F; Wed, 11 Aug 2021 10:54:26 +0000
Received: by outflank-mailman (input) for mailman id 165927;
 Wed, 11 Aug 2021 10:54:24 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fjOV=NC=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mDlsO-0005R1-CG
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 10:54:24 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 2faf49e8-27e9-492a-84db-d9ac0cb429d6;
 Wed, 11 Aug 2021 10:54:23 +0000 (UTC)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2058.outbound.protection.outlook.com [104.47.14.58]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-39-no003Oc5OXWFqaPwtkp-kw-1; Wed, 11 Aug 2021 12:54:21 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0401MB2607.eurprd04.prod.outlook.com (2603:10a6:800:58::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.16; Wed, 11 Aug
 2021 10:54:20 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4394.025; Wed, 11 Aug 2021
 10:54:20 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0091.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:18::31) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.14 via Frontend Transport; Wed, 11 Aug 2021 10:54:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2faf49e8-27e9-492a-84db-d9ac0cb429d6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628679262;
	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=q4i9zPn7wkgsPPfDLAFLhpffoo6NQlQzjC//1V43Y5s=;
	b=Ir4ullbo7AdaALvL5p6eaR6OWHX0zPuZy9KekVHl0Iaw9jBqYCj7Co/D4WgBzdmAsvimD4
	/PbCwtDhLndBpJxO7pyHx74AQT/fBp5t1+lqkHOVBdl6Qx4AvVOwDR2OzklhssrQNnbVIy
	bLma8B9k9IEAaRhz5QzWEQ3A05oDeyM=
X-MC-Unique: no003Oc5OXWFqaPwtkp-kw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TeAcxOsjhxNrjHpsE5FX2A5XRA8oDabWpshzHkvx8XYxAUTmVZGPSQW4KMho5l8o1H9PmiYwj3ODuLlDykbvYhFGNel7sw2huYZC/0Qw0U/bV0z0u8dYuh2HgvxXUQYZ06ENSCcjydj+zSyh35T8RxoiUhWFHatSg0Hzv3+/IMxnb0af1Pl6I1OS6pVWGTdGLNqSBSEhHn78ajLNWsq3p/bwVEdyNrKrJG0iKnDB82JRowXTFjBrb1IdkgLxq5oHW511JM/EBeTyfXaMiR/Lc8dJ/VVsdd+mZ/VEha/s5f+1eJ3aGtlvF7rIVSmaOf3tqKhC0gdI1AFzhm3Di7vUuQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=q4i9zPn7wkgsPPfDLAFLhpffoo6NQlQzjC//1V43Y5s=;
 b=Bj/H7HtJ6vMVk2aS90Ava4rs/RATpvza8mde7OxWIXv1el2bfVZsG2AnEr3q8VA4jI7Ico9uLeJfr9QeCkaHkjiW3HM9eAC9lpzP311IErI8IBlwnFWG4UhktahAubMzGTuGrj/nUL2n7WNAyawexMp04zg5U8CblZxp9CI3EOp5SjOF1keEevHKekRYG2/iUKjmQVVY9u3l6hrizP1AY3KSyqzXg4/GgIn4o9fJSu/mQUxHfjvQt72F/tEr1IF52CLwEk6DPELz1o5a7oeMZCG9tcz2xoIMLWNag7dsqPRucedVuyefJ063Xbm8mRII4RAX1BPea/LlNLY0BeEbyg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: Re: [XEN RFC PATCH 04/40] xen/arm: return default DMA bit width when
 platform is not set
To: Wei Chen <wei.chen@arm.com>
Cc: Bertrand.Marquis@arm.com, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, julien@xen.org
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-5-wei.chen@arm.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <9f3f002d-6919-bcaf-1f00-aa13ec1a2ccb@suse.com>
Date: Wed, 11 Aug 2021 12:54:18 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <20210811102423.28908-5-wei.chen@arm.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0091.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:18::31) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5ac52144-3ac9-486f-6994-08d95cb65f89
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2607:
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB260787EB1E6086B255B95F11B3F89@VI1PR0401MB2607.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:7691;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	EpKTWLWqJ6bt0kufEkVBqr5x5u25jtpFmjKbFsWh6Wen9TmsV4+JCE6H5ROiZk7wBN6VTPclk+Grm32ojR7N8dYO7s1gWBxSIHRG5jg3rELED26i6puGQd/jD3I4dzySM3Xw+7H8O80bkJa32y7V01ilUuDbyo3p629EIZX9hz5rnoZEbo9ZaFj8zf69NWMGL6Y5JfAJT9gUxs6ejBeW9mmgJ+ijlxaGDnOwQqaXW+/+9KWKj1vCfRRd64lQia6NuvyS7mG/49LHKJFp4RQuwVwW2zfoMj/PDln5k7YAWofvVVtEkGIa+4UmtoKi8HGEdrShsaItY3U5Kic3R6XDwrr+CW/Y7NrehlzkgDE0qsEnK1lzzt6Utbi3h2d3jFjFDYgHhPmG7c2iZdg1pQbopbg+AR7JN8WXcyQbBYj1CB8eY+NGTvbLIwDQ86hTBa/ze649Q3jRGwTjmahfbWWY0xK7wjGOMiszxqYf0fwP26+DJupUCKXeKhRfNOl6K4EBMV5GQECpfnkLOrXNhdNnSW6RCh3ukO1HzkK2TdhBPgg7MgD1f7Dvprv0ruHkR6ayVE8dYkjoz+mLG9PvVA7hpTZgqy2mGFQ0pP8BpTwxQ1q5/5h4KZpOIgWlG4Ihhwa5M4fE0xwKGAJ+P2+ryI8chEtCae4cxPitZ7GUcW+xbwuDx5q98D/RYxB4pes8diumF2qUnCuAcRqnrkYt8MS30Fl/Jcnylw4CTfMwvqHVbLo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(396003)(346002)(366004)(376002)(39860400002)(36756003)(186003)(956004)(26005)(6916009)(2906002)(5660300002)(38100700002)(2616005)(53546011)(6486002)(478600001)(31696002)(16576012)(316002)(4326008)(83380400001)(8936002)(8676002)(31686004)(86362001)(66946007)(66476007)(66556008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bkZVNU54N2ZZNDEyYlFkeFMrUkVhR0JGWFQ3cFVTeTlNTXNGRXFKNHhPdlJ4?=
 =?utf-8?B?bHhNS2s1S1RzQjgycy93T0NWZUdaaXJFdzZhWDc5ektETEN6NEN1ZlIzVUFN?=
 =?utf-8?B?SWUvZExlbUZZdU5qTkNOSENlTjBDMDlkMmgzNFpldVo0WW4xd1JDYm5nMUlt?=
 =?utf-8?B?akdjVVF2Tlp1OHJnOVQzMWgwdnRDZTZEOWNvV3huS0psRWd2SUFPcGtiL0JI?=
 =?utf-8?B?NllDNGxuYURxdFlaUjVVTmVyakNQMU1mU1dPRVpMaG5OeXEyYzZlZ2FlK2Vm?=
 =?utf-8?B?RlAwaDFCbGdaZ1lOL0RtcWY1SVpjaktIOWlGdW9FcVFKRVlKV3M3Vmh6M296?=
 =?utf-8?B?czR6YkNSVi9JZHpyc0xhNnEyQUphNHRDMG5aSmtzUlRsc3VOWFgrOCtSRkNX?=
 =?utf-8?B?dDlZVzk5RFlZSlFyME83N0hJS0YyTTY2cnBTSlhoRHlCd1BCcUpKR1RhN2xB?=
 =?utf-8?B?Y1daaHVXNFhSemxLcXZZRnZCN0ZWUUZLL1BSdzJGaGtZRFEzL256dDRWTHZJ?=
 =?utf-8?B?SFhubTN3RldUczNzQ0wvYWloaDNqbjBKMndwb2xCVXFSV1FMdVRjY1J0RXl5?=
 =?utf-8?B?anl3WDJRMkN6MVhZZmQydGJTeWNTZnI0TVA0TEplQXArMmVyMko5bTN6bjhr?=
 =?utf-8?B?MEhBbURDSW8zU1JINUZwYzNNS1FPckdUS0I0R2Rya1N4NnFTRmRTLzYzdzVP?=
 =?utf-8?B?K3VwVHZCVk1HUGN4cmdDR1gwYTJVc3FYekdNWEJCRlpmcmIzT25mWFI5RkU3?=
 =?utf-8?B?L1JRL2lLdnI5NWtjaGRXM29NQmZoelNOdWtuWVlrM0NjWFUrNlZTUzF6bDJS?=
 =?utf-8?B?dXh6V2RQQ1RGcGI1ME9sU1oxTjJaNllHVVpLUXIzT3ZMTzJwVjk1SkhpYWsx?=
 =?utf-8?B?ZmszRmd1dlRrZEVHWGp3aENobXA1alV4RnExOXRnRnh2NURJb2gxV3FUNDd5?=
 =?utf-8?B?Y0JrUlFCMk1DRXBhL2x1Q2FmaFJINkN0UlhQSG1vQ01RRE1kQXFiWUJqNjRK?=
 =?utf-8?B?V1h1UmhaSjhkQmVxMWxDck55UmtqNHBXNlhIcHdtdWRSbkZqWnZSNjEyYWpZ?=
 =?utf-8?B?RnkrUngvL29MQlRxS1JmK1MvRUJJUFpveU8zNXhDRWRKd1p5UlVjVGhoN2NY?=
 =?utf-8?B?Z3JBeHZwUjk1SUR3ZjM1UXJJM2pXUE1iQ3dtZUlKWEtGNUpyZHNIWUZwM2lH?=
 =?utf-8?B?TVF3U3ZhMlFBR0FLdll3VmtiMmQxb2d1VXJWQnN0ckkyUjZRaklBYUhWN0pa?=
 =?utf-8?B?QStFcUcyTm1xVDRZV0VGdHJyZEtubDVsN1NXUEhPbENuQUhJV1Vva3ZmTnNv?=
 =?utf-8?B?OUh5VUZwT20vUGdWb25uODF3ZFFHVm9pS3JPVDV0bGk0SmdwNUpvM3FXN2dN?=
 =?utf-8?B?THRMMkJKcmNFQS9HQmVOZHYxVmczQ3U0VXdYZU1peW5qZVNTSWRxNWR5RjV6?=
 =?utf-8?B?eHhrVnZDdUNabjFtcURyL3FGNXgyYzd3QVdsUWxpNndMdzdvdGJzQWJhaENa?=
 =?utf-8?B?VllrTjhtL2hwenVjMElRRDdYR1hheERWNUdoZ2tzVWJmdDhvWTk3Rk5CeWgw?=
 =?utf-8?B?TVE4OVpyOE9iK0NyWnZPZHJnMnFqeFdxQmI4T0JBMkdHamxidXFraFg1MTl5?=
 =?utf-8?B?a3oxVDExTjlUaUplWnB6L2dwb0dTVE9uTmE4bUViMFlYSXROMDN5S0hkc3NP?=
 =?utf-8?B?MGZYYm5TTVBrYVladmM3VW9weHB3cEZtVG9HaXRYbzJNbFFoM1lqRkREVEhU?=
 =?utf-8?Q?mKyqeKLo2kJQZfie17TQXWBwMug3NK/S6tJY0Mr?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5ac52144-3ac9-486f-6994-08d95cb65f89
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 10:54:20.7349
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: foJjOrQH5IsYUPbYeDJ3ZtaYzTXd6oUbqdvGz8DvcnoYir/F8M37Z42EUb7/I8w64NVnWHrhNG64rkiyQscAOg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2607

On 11.08.2021 12:23, Wei Chen wrote:
> --- a/xen/arch/arm/platform.c
> +++ b/xen/arch/arm/platform.c
> @@ -27,6 +27,7 @@ extern const struct platform_desc _splatform[], _eplatform[];
>  /* Pointer to the current platform description */
>  static const struct platform_desc *platform;
>  
> +extern unsigned int dma_bitsize;

This is a no-go: Declarations need to live in a header which the producer
and all consumers include. Else ...

> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -227,7 +227,7 @@ static bool __read_mostly scrub_debug;
>   * Bit width of the DMA heap -- used to override NUMA-node-first.
>   * allocation strategy, which can otherwise exhaust low memory.
>   */
> -static unsigned int dma_bitsize;
> +unsigned int dma_bitsize;

... a change here (of e.g. the type) will go unnoticed by the compiler,
and the consumer of the variable may no longer work correctly.

Also I'm afraid the description does not make clear why this variable
is what you want to use. Connected to this is the question why you need
to consume it on Arm in the first place, when x86 never had the need.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 12:21:28 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 12:21:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165968.303118 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDnEO-0005Kv-UD; Wed, 11 Aug 2021 12:21:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165968.303118; Wed, 11 Aug 2021 12: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 1mDnEO-0005Ko-PN; Wed, 11 Aug 2021 12:21:12 +0000
Received: by outflank-mailman (input) for mailman id 165968;
 Wed, 11 Aug 2021 12:21:10 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fjOV=NC=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mDnEM-0005Kf-Lu
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 12:21:10 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 9a411d6d-fa9e-11eb-a06c-12813bfff9fa;
 Wed, 11 Aug 2021 12:21:08 +0000 (UTC)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2170.outbound.protection.outlook.com [104.47.17.170])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-19-9HG5KBY1PganD93awxLslQ-1; Wed, 11 Aug 2021 14:21:06 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0402MB3775.eurprd04.prod.outlook.com (2603:10a6:803:1a::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.17; Wed, 11 Aug
 2021 12:21:05 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4394.025; Wed, 11 Aug 2021
 12:21:05 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0065.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1d::29) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 12:21: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: 9a411d6d-fa9e-11eb-a06c-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628684467;
	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=arfFtnI5q92caw+8iTr0ZMbSgToQs9XBJ1/m+4iA+oQ=;
	b=GfV6r7kFRHHxhSAZwLzGRykOU4RqUqBcVi28t95goFR/KME0bfacwWkF8wk82b7J9aGvEr
	GCmX4sBArh94DXtO3ZzO4MNQJe4fw9+IzJStnPC7S3Q+Z3rm03vA6kMsnxSCM3xAPbs9nn
	CJeF8dLEIwyDVVb+ai81eS/krxn9weU=
X-MC-Unique: 9HG5KBY1PganD93awxLslQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FZ/B/Du3Gb7fIQStGXLhdwjT8xy7cJ7Y7A3Pm52urLbs1CHcDtZufkvILOIPe5rkRUrBLgML4RTehBfvbsyTLC5M9B0pzp9e584yjhYk/yAELEksjt9qsp7qg+pMNx/h6epJuGIuUK+CDd4f9kfPO8NuDOtp6glwiZUXCfx07QUI7CbOUjHiPKYn1REX5J58sehcrtZ+UJytHmwcDUL/q15UcZ77mLz19gbxFGCl9XjLI541h/zPT+x2taXnmmu9o+HG1iDqSHRMoKYs43kzIcCgjqJfP6+Z/AL4P3in62AFyzKRiACuO6gD0QkIXiYqfYl3hKLPW2kgp+wmWbl/gw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=arfFtnI5q92caw+8iTr0ZMbSgToQs9XBJ1/m+4iA+oQ=;
 b=BDRsrdJYNvMeVywCRNISg/KRhlQkhrITn42QtYRdT2n0gKYrAjYe5WvfmJ/0y2ZIjeppwx/jTn9nR/Fu3Ju23gHKqMjjK20ctT6HGWsoTNUqJQRuq0Lx2LFkt/WZAYHA32qtb8mbwhz/JP77DhPgiedyyTvUKSAcoivWOz1300hgi01lHFVoAPnWh7d3uPyB9TTjfUyDdwCkrnhcFArqVwjBW+VK2FubVgeXa7WyJldovEpNvP5g38F57qaI/exoGk26hjp2f8lSk80BHFdL+DbHNSznygb+pit3+cyT0LK7jtx2w35dC89lD3E67rMtJ+ZaI0+eXEV2p3raoAVS9Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: citrix.com; dkim=none (message not signed)
 header.d=none;citrix.com; dmarc=none action=none header.from=suse.com;
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 0/7] x86emul: a few small steps towards disintegration
Message-ID: <bdc58964-e2a8-af36-1653-41c7146bdfc9@suse.com>
Date: Wed, 11 Aug 2021 14:21:04 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0065.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1d::29) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 59e56a86-9af4-4a1b-fdb3-08d95cc27de0
X-MS-TrafficTypeDiagnostic: VI1PR0402MB3775:
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB3775455BB51A6F3A7797C8D6B3F89@VI1PR0402MB3775.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:2958;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	EbFlEe/5s3KGCtta+oQXDkOHn8nUTbgFd/8vo8yg9hpc+u4udc1HbdhCxU+mQwBPgdgQC3JxL/OnFEgEWkR5hcPruajKUrgPGSKWl7Rqu6adLm07qEAJzeGg3RcMBZCUN+DmXpNioulAWCVzcL7BzSTC2o5RvjJhZEXUmh01kQ9Lf/nLoLbjuqV8wFFPb1IBGCvaJ2AVeIOyXds8Ijfo+27C1CX4Snu5n525sKSx1LVaSMN/iUXgOTsWQmwY/+3Uztm+HWRfPZjgXGmm4kPM/nawvqjF9qbOP0o7WUbWYrF5uphxd6wgsfudvm9FPMhNXWcerZrB847T/5VVVnaw3P1hFjJagF4Chc8SUSmDjuJSuNslx+WlTYrxFzmfKtJabkqfD6c0Rhu9Q+iFOL/liDfgC47tY4tGipUwf08IkIWSM5iQLUSdhNpHvqs8rONDOiSOgvaBuWGA8A9IoHwV2nLhi0InBOTXVjgDKfA3g+JJgIVPGXyzyVSXM3JuHIiMQCnngW8b/hwV7N2MBp3xQ+670WfVTFMwxdOZnYeaA4g4SlWADuGzoblbHfh+5tpxt/BlBNyjum9ujXFvUDwIWAPfFEsICnr6mt3frBggim4qGzFLetVHTE1pVID5oRY3V7MEOA2pn7YbFzCxrJtxggqMd1UtpFULWUkRw6nfOdM4xC4eVD3ExQD9MJeJZ2wUiy+BByi+fbVDLTJs0yoCpW51e2YAH847K4qGUb3x6w8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(6486002)(6916009)(316002)(8936002)(4744005)(66946007)(8676002)(31696002)(86362001)(186003)(956004)(26005)(16576012)(38100700002)(2616005)(5660300002)(36756003)(2906002)(31686004)(508600001)(66476007)(4326008)(54906003)(66556008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bTNHSWtFOHc4RThCS3IrQXlLQldzL1ZudGJRYVlnanNzMWd2NVlYOUFuSzI3?=
 =?utf-8?B?S25jZFJhV0lhLzFySWpDbHFGSmhBSlQzekwxTndJNmhkOUtXTWFVdmFOcWw2?=
 =?utf-8?B?THFjS0lhbnRha3laNXVxdlNVcjZvRm5ZTFhZSzMyVFhzQ0h4TmtITWFnYzgx?=
 =?utf-8?B?UHNaVE5INXBVaE9wZk9DSStYOWV1QkNWeVNxNER3VTN3ZWY5VWYzazRUK3pU?=
 =?utf-8?B?QjUwdTBvMmxjM0s2ajdscTJ0Z3hmbUxkajlrVUQ2bE44VjdUM0pCK2FOb3Bv?=
 =?utf-8?B?S0ZTZWJ3ZDJ5aGlQeHZndC9FWDVqYktRY1hXcHNOMyt6WFZBbVFJRWJnck1k?=
 =?utf-8?B?bzF1bWdPci83Q0x3dnRmeEJMdmJORTZOcllBbFFKK2Z4U2VLNFVDT01PMmFG?=
 =?utf-8?B?ejRJSjh5TytBaGxHb3FuUSs4cEd5aC83Y251am1IUE8rUjVuS0lKYmVWZ0pt?=
 =?utf-8?B?VHR5Z21RSTRnZDlYY0lmUk9HTjdOTUtPV2FvWWxpMUtRcEVHY1ZnTHB4RTlR?=
 =?utf-8?B?dGhNbmRjU3gySTNyUU1rdXJsZmVRU2N3QVV2V0l5a2lFYVZwVWlYVjlEYjdz?=
 =?utf-8?B?TnlZci9zZzg3SC8wTHM5V3lqS1ZoSnM2eEpoUWJJQjhiZlJ5M1QvQjJZZkZr?=
 =?utf-8?B?TzE0RlAzWkVSMkJVTlFFMkU4aE05bTdNRWlLYXJCZnV1KytwVGdMZDBIaEda?=
 =?utf-8?B?akhvS2UwWWZ6MXJ4QUtXQ0tGOUtFZVdHdS96TGJPbFRjai9MK29Qa1VseXBH?=
 =?utf-8?B?RVdZMit0Vytyblg0aDRFZnpKV0dCOGxmaDRQdHpRVkxhRFdQdkxUeHVwTkFW?=
 =?utf-8?B?L1FUSUtTSFdndU1HcWlhQ0RlZWRnOHJ0Z29zdXRmUE9rdUhFWGNFQ20xRWNq?=
 =?utf-8?B?bkJHYnhiRWo5bUl1dGkrT0lqUTNFUzlTQVpFVVJuY1JQNWU3UXVDb3ZBMEt6?=
 =?utf-8?B?dFB2ZThVYUI5MDZzbi81bjhYQ0dlejV0YzZxUkxDRUt5aUpzQk8zSnFkVWt3?=
 =?utf-8?B?aUNsQmp3V1pmbHloTkdkdmFKeVFFODFEME1aYnp6dXUvenNkbzVscWYzRk9C?=
 =?utf-8?B?TVZ3MXh0NXRDczFYOXlIZTZsK1lnb3Vsc3RLeE1FVk9Uam45b2Nrbkh5UDVw?=
 =?utf-8?B?cEFHaEphVHlsakpaMHI5V0lpK2tRdU1hbmNkL3RkYXdWeWMwSmYyejRPNkFa?=
 =?utf-8?B?dklSYUh4MTJKaEsveUNIMld5NmhQMnpBdmhzK2kzU2Y2Zjk4WTkvUDdVNVA2?=
 =?utf-8?B?U1ozQ09LZDJ0OW9PWTNHd1NKMGxKMW1TZnRKOEI1UFJJN0JsdUxvTnFvOVhj?=
 =?utf-8?B?WndPOGM0RGhoTTF3Y1BkTmdPM0pGc1dhY2ZtOEhFZVNGZHpaZnEzRUIxeVNi?=
 =?utf-8?B?TGhVUFdST0JRa3JvWklndXdjTXpGa3A1Q05OK0hwRHJDNkM5aHBSWWF1NW4r?=
 =?utf-8?B?enYybm1vQk9HandoeVY0MEdJL09sUU1LeVNMMVFNdXcwZHJGZkUyWnFYeVQx?=
 =?utf-8?B?akFVUVhiSWUvMXlVUjdBdU9Eb3pJT1p4cjBhc2cxaFhJR3RyM2NJNEdrRnFS?=
 =?utf-8?B?RGVUV0o1VlpUYkk4N0FnSVlrUjRaYTc4aUVkdXRick91ZzJjQTFYRW9OcTlk?=
 =?utf-8?B?dzRBV2FuWmxRV1cwbFZhNFd4RzRMTHBLOGQ0cVdEMURFd1VsMm5QRjY2N2Nh?=
 =?utf-8?B?L1Niak9VYXlZeUxaK3U0VkpIeG9kN2prQ05PcDdpeG9HUHEyMUo0UFFzY2lZ?=
 =?utf-8?Q?XdJbi2Y0vsuMCOv6eMUx/Ye24JoYqZDEIIQUPQk?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 59e56a86-9af4-4a1b-fdb3-08d95cc27de0
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 12:21:05.5973
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: v86mMYaUNfFt9gT8pyyGxNPlfi0rfc3MYka6kLEfGWTgZ8Pd06r9XpzmSgOk1hH4sFHTfXqVtbq14HkGOKn/fg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3775

... of the huge monolithic source file. The series is largely code
movement and hence has the intention of not incurring any functional
change.

1: split off opcode 0f01 handling
2: split off opcode 0fae handling
3: split off opcode 0fc7 handling
4: split off FPU opcode handling
5: split off insn decoding
6: move x86_emul_blk() to separate source file
7: move various utility functions to separate source files

Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 12:23:04 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 12:23:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165975.303129 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDnGC-0005yG-8b; Wed, 11 Aug 2021 12:23:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165975.303129; Wed, 11 Aug 2021 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 1mDnGC-0005y9-57; Wed, 11 Aug 2021 12:23:04 +0000
Received: by outflank-mailman (input) for mailman id 165975;
 Wed, 11 Aug 2021 12:23:03 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fjOV=NC=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mDnGB-0005y1-GF
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 12:23:03 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id dca93d4c-fa9e-11eb-a06c-12813bfff9fa;
 Wed, 11 Aug 2021 12:22:58 +0000 (UTC)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2169.outbound.protection.outlook.com [104.47.17.169])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-40-29zxl_CDO4K5HE6QqZTecQ-1; Wed, 11 Aug 2021 14:22:55 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0402MB3535.eurprd04.prod.outlook.com (2603:10a6:803:11::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.21; Wed, 11 Aug
 2021 12:22:53 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4394.025; Wed, 11 Aug 2021
 12:22:53 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0P190CA0015.EURP190.PROD.OUTLOOK.COM (2603:10a6:208:190::25) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 12:22: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: dca93d4c-fa9e-11eb-a06c-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628684577;
	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=e8+t6pl6PvtXYXb42f9JTaiE9W++IXan+EkDSi7PXMk=;
	b=Q+Zk9WqbPqbgEHPZUi4w9+XOSgvbRtwigecD8AHcW9DCgjwTM+QNOCxrEP+XmM+px1wcGb
	/KcT4CU3Mz1KadqQu7eWDWDQPvjZdxugFzJzfZMrZ8YyC3iToD2FRHv/f5qkxrWLhTI9mT
	au4pmSEThiBSqB3G3rorOR3ntj2qFK0=
X-MC-Unique: 29zxl_CDO4K5HE6QqZTecQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IkxoTQYBzDDIYq5H9jA4ouzk5B9s1vJK+lDyMGCkuMzd94VT1f/2wvFZkMnbivnhSY3fvtKVmyCsVbD/FhccxFSvXUQYlucsMawPPZwUFbSFsL1Ukqowj0YnXAALH7hj8ALGfbiYdHknu3Ke5LMlGQBmEo4TqVH7pcuV3rup6trQF/ekIdY7iSsq1xX1LWfeMgYWea0cA2sq6uGSdkZGYxyC6vZrXf/9uDzdfAEhPD++SihpsFDRn0uOR4TmY/By47Ffbs2xfT9cBcQVrINzZ7UBxPY7axxBRtS0yEgGyxzw6EzsBmmMRHZTcDSxI31bMGlIG3pR2HCFQ2yTyqmRPQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=e8+t6pl6PvtXYXb42f9JTaiE9W++IXan+EkDSi7PXMk=;
 b=ObD1dSpYGcQxBlz73ozUyOv30QNUyuGEslzfYzuurC96NgQ06Vxerykfumndt6VTtZJUd8ZgJbIYwGGEkumwfaRImc+8YXATZxcu5DU1UZOMjh0q7fCGBO2OqIWIGBkhSyj+BpE4VwN3vdfR649uIxSW9HS7udrLJMf0XP0qtuIUsMnHxfGMUhYrk+0mqzqCd4eamShRqCdzGBR/WEpWIPAJ3LGIbRfU8QyQYkROkBUspo8NxZpISDxNtodKRa6LRsYrafPIVx2xU61lOnGPf4Kaw/saTXzJ17UGuPCHGHpANspeajlbe0fu48mHuwCt9AP9XvaddDzuI+hah5+u3g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: citrix.com; dkim=none (message not signed)
 header.d=none;citrix.com; dmarc=none action=none header.from=suse.com;
Subject: [PATCH 1/7] x86emul: split off opcode 0f01 handling
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <bdc58964-e2a8-af36-1653-41c7146bdfc9@suse.com>
Message-ID: <8b8021e0-f688-54d2-007a-154a39790bd4@suse.com>
Date: Wed, 11 Aug 2021 14:22:52 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <bdc58964-e2a8-af36-1653-41c7146bdfc9@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM0P190CA0015.EURP190.PROD.OUTLOOK.COM
 (2603:10a6:208:190::25) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 0eb4c16a-6210-440f-5a1f-08d95cc2be2d
X-MS-TrafficTypeDiagnostic: VI1PR0402MB3535:
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB353526B258E5F183D14D08F0B3F89@VI1PR0402MB3535.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:983;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	KmGyn62A1dyfw/z+deMQxN6QfjyATd0VKMbF53gJE2o/3dyKi/0JaCoN4db09nr48Y4CEff5DufF7/fw7DHK8hxKDrd65MzffkJJi5vI1IQyT6jUIX7lCMLuh8Af58NSS2wfRMIOCMHC/9oJlTvh2TldlC3ot7doVpXdXf49FaX2xZ0Ks5RGk7BG41bWMySBMZocwNLewHzf7BltXMHGcyb2mUJlHzcsSPIuGS/bCPaREpxGOqtvJ0u52mdM3Xq6wurfuHRTg91+ZxRm4raRAfpgkYHDhK5IIn4/usEC9JskGVkhlr5wWH9v9VOalyh8XjW1zt8U0lHogZbz5w28+DaBeCgujD/DBdHBg1TijxVAWG0ABeD4flvyutZccaTZ00zVnM63tTa/SRH8GDGUILewHNfVr01MB10VoF7j1k7F2dtmrYSp0SWjQSwYKwPpab9xH4o37VUTiCyAWmydpYU+TJfCZ/aIKVXgCUtd/s0YUNz+ewHWN0CvCoTaYHJCQwPFLk4gVtzzqAY9Yxpogdhp2mk0Wl1oKpExoLsFil015Yd4ysCv6e2i2Y5sbVdUKeU3oafTnPe0LoW9tb2vInFP2JSOSrq44r1+qiqjKX8QZ6BxELYGwsCW109q00WGAHq90KN5/eY4EBtaMuWvgUaDtZGA6/CnvOgFAIPW3M0/3DHukhkUTjRL9HxCNRAWDEBZCMJouU1tcYMbIj2m1+8AARNmxS7voRFrPA0jQVKv8tT4PwKGkc2Z68uPA9h+e0H0+W6rk1KcXon08jPeTup2d/Lr6FONHuUM03PNbN+Ftq+qblUJuYkyhcBexNGq7Lj053P42Eve4G+TH3VNsw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(136003)(366004)(346002)(39860400002)(376002)(66574015)(83380400001)(5660300002)(26005)(2906002)(30864003)(956004)(4326008)(2616005)(38100700002)(478600001)(186003)(16576012)(8676002)(316002)(6916009)(66946007)(8936002)(36756003)(31696002)(54906003)(86362001)(66476007)(6486002)(31686004)(66556008)(2004002)(45980500001)(43740500002)(579004)(559001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RkdzMTloTjRJbWMrTlhvV0F0R2dHU1lNc0dmRlFYeDNkNUl3Sk9NbHVTbHMx?=
 =?utf-8?B?b3dBbS9qd1FmbmlhVHM2blI0eWoxcitVaDVISGh3T1dvV25iL3l2YW9jMXg2?=
 =?utf-8?B?MG9jRk9pWVpNTjFGdXg0K3QvcDdqVmJEeGtJNytraW00T1lFZVBTWVQwbnRG?=
 =?utf-8?B?dGN2cjl6Q1NxcFI1b2llbGdRZHh2dUdGK3VOQXJMMVpHdzFLYll2bHFiVk5U?=
 =?utf-8?B?V1ZXeFBjanBuTzcwMnRubVlZVWlTNXJHSS9aM2Zqa0V3S2FoZ2RiN3BBejVS?=
 =?utf-8?B?Mmg0QlRvRzJsQmkza0dFUC96b1Z2U2xaeGY3UHgyblBZSElJeTdkY3Y5dUFp?=
 =?utf-8?B?SEMvVnNNb0lhdlhiUkJVWmVINHhYM3JNbURDOGZBd05nNUVWWHp0bkowdlNu?=
 =?utf-8?B?OU9yd3JJa1M4R2RxRHdwUHNrY05SODVDMlZyR3FrQUVEUVdiaEhaN0loWTVC?=
 =?utf-8?B?MzhoVC9QSWVZaDlOZEpGME5nbVZaT0FsTGxQb05vc2lFN0d0Rm5KdVAwMUZk?=
 =?utf-8?B?YjNNYnZ5OUxjRWgyeDRjOHU4eGJDK0RvNTNzTVRNQzFqY1dZRFZ5WlZKeFdY?=
 =?utf-8?B?cWpVdDZ4TnU5TzduNzJCNTRuM2IvZlJ5cThNbHFJQWxHbEZzZlFDeTBDYU1P?=
 =?utf-8?B?eGUrbzRFL0thZ2hEM1A1VDBUalpmY1BwbUU1WmR1STN5VnVuRVZWSmlnM2JM?=
 =?utf-8?B?Rk9aRVVnSVFjTldXN2lKb21uY09CMVNNMUl3SXI1V0JJa3FrZ2x0a2Vvd3RS?=
 =?utf-8?B?RHpGb2hBaUxqVzlQUlpxMWJYdzRsS1ZnYU8wSXFTNkJhSE1UcXZlLy9Jak04?=
 =?utf-8?B?aitsbEF0dXhkVUFyRjVQc1RPbG9lK1pjODMyVk9FZWdzejhCOFBSblN1VzRs?=
 =?utf-8?B?SlNzY1RudGtKU3B3YWp2ZWhyRWZHWlFnUTB0Zmp0d1pRVGxQdWNSQnFrNlk2?=
 =?utf-8?B?cGJkY2hTNFcycERjSGNZNlY1ck9nQ25JYzBsRzV5bUhyWGJqV1A3RFAxNk1a?=
 =?utf-8?B?Qno5QlBvSzlVRWY2bzhSWDdLYzJNZ1FSdjRiT1J3V1ByUEV4ay9FQjdrcXpQ?=
 =?utf-8?B?QkNTNDFpZy8yU0s2UHRnRGRwaXVpRmI2bk1VRWorTFhUemZUMjJMVUtEMlor?=
 =?utf-8?B?U3l3cU9OUExXUU5KZ2JOblVNLy9ZRXN3VXRqRHNNeFQrMXduU0l2MzVKZkhP?=
 =?utf-8?B?aVNQR0taeEkvR0RSVGJOaVVNdGFVWmtKUDdqOUdtaWUyTDF0N0EyNXRLNVBL?=
 =?utf-8?B?OFFUclVObDB2alh3S2pqTzh5b01DN2g4bjkyS3FLTEFzS1NERzZKM0QrbTVr?=
 =?utf-8?B?aGg5d3VJV1VUdjRIMHk2MEY0NmRnaVNrVEVtUGQ0ZmFucjhka29pbE9KOHIr?=
 =?utf-8?B?MTQwMmpPOTNUTVhhK1JuaGtrU0t1eHJOTG84b2I4bm1FalIyYS90M0plZFh1?=
 =?utf-8?B?bmJQODhtUnh3dXRjL2hidGlsaTNjcUtoL1JpaXlWY2JlOTBDUGJudlJWOUo2?=
 =?utf-8?B?SER5cFg2d0pXblRFaWlZczBNMGIwZ284VlVXVWoxSFFmZ3dPL2ZnVlJ2SXht?=
 =?utf-8?B?dnR2NmxiMUpCcUUzZ1RvbzdUUEd0UGh2TU1VenJUVWVZOWJYS25HN0ZyMmJJ?=
 =?utf-8?B?a1ZYbXAyVVdQamIyWmxrblhZUXR5WXA4VGw0cTBONDJzMjgyVnZSVDZQc0Yx?=
 =?utf-8?B?dU9WbmpsSnlGQS8xOW9BNENyRmtLTzQyeXorK0g5bWQ1eks1cXBZVEpBWmVD?=
 =?utf-8?Q?XQGXoMOhlhMxaP7xcvHL24JNyajpdlAwBaFrXZp?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0eb4c16a-6210-440f-5a1f-08d95cc2be2d
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 12:22:53.5568
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 2n9zdIjpQyLZNyO2KJgKrDAcE/yCV786u5VUCFWJNt0aJC7YQk1EbjPV3OwzDjDDVN5PguVjyFsc0gALqBUvDw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3535

There's a fair amount of sub-cases (with some yet to be implemented), so
a separate function seems warranted.

Code moved gets slightly adjusted in a few places, e.g. replacing EXC_*
by X86_EXC_* (such that EXC_* don't need to move as well; we want these
to be phased out anyway).

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

--- a/tools/fuzz/x86_instruction_emulator/Makefile
+++ b/tools/fuzz/x86_instruction_emulator/Makefile
@@ -11,10 +11,13 @@ endif
 # Add libx86 to the build
 vpath %.c $(XEN_ROOT)/xen/lib/x86
 
+.PHONY: x86_emulate
 x86_emulate:
-	[ -L $@ ] || ln -sf $(XEN_ROOT)/xen/arch/x86/$@
+	mkdir -p $@
+	ln -sf $(XEN_ROOT)/xen/arch/x86/$@/*.[ch] $@/
 
-x86_emulate/%: x86_emulate ;
+x86_emulate/%.c: x86_emulate ;
+x86_emulate/%.h: x86_emulate ;
 
 x86-emulate.c x86-emulate.h wrappers.c: %:
 	[ -L $* ] || ln -sf $(XEN_ROOT)/tools/tests/x86_emulator/$*
@@ -31,18 +34,27 @@ x86.h := $(addprefix $(XEN_ROOT)/tools/i
                      cpuid.h cpuid-autogen.h)
 x86_emulate.h := x86-emulate.h x86_emulate/x86_emulate.h $(x86.h)
 
+OBJS := fuzz-emul.o x86-emulate.o
+OBJS += x86_emulate/0f01.o
+
 # x86-emulate.c will be implicit for both
-x86-emulate.o x86-emulate-cov.o: x86_emulate/x86_emulate.c $(x86_emulate.h)
+x86-emulate.o x86-emulate-cov.o: x86_emulate/x86_emulate.c $(x86_emulate.h) x86_emulate/private.h
 
 fuzz-emul.o fuzz-emulate-cov.o cpuid.o wrappers.o: $(x86_emulate.h)
 
-x86-insn-fuzzer.a: fuzz-emul.o x86-emulate.o cpuid.o
+$(filter x86_emulate/%.o,$(OBJS)): x86_emulate/%.o: x86_emulate/%.c x86_emulate/private.h $(x86_emulate.h)
+	$(CC) $(CPPFLAGS) $(CFLAGS) $(CFLAGS_$*.o) -c -o $@ $< $(APPEND_CFLAGS)
+
+$(patsubst %.o,%-cov.o,$(filter x86_emulate/%.o,$(OBJS))): x86_emulate/%-cov.o: x86_emulate/%.c x86_emulate/private.h $(x86_emulate.h)
+	$(CC) $(CPPFLAGS) $(CFLAGS) $(CFLAGS_$*.o) $(GCOV_FLAGS) -c -o $@ $< $(APPEND_CFLAGS)
+
+x86-insn-fuzzer.a: $(OBJS) cpuid.o
 	$(AR) rc $@ $^
 
-afl-harness: afl-harness.o fuzz-emul.o x86-emulate.o cpuid.o wrappers.o
+afl-harness: afl-harness.o $(OBJS) cpuid.o wrappers.o
 	$(CC) $(CFLAGS) $^ -o $@
 
-afl-harness-cov: afl-harness-cov.o fuzz-emul-cov.o x86-emulate-cov.o cpuid.o wrappers.o
+afl-harness-cov: afl-harness-cov.o $(patsubst %.o,%-cov.o,$(OBJS)) cpuid.o wrappers.o
 	$(CC) $(CFLAGS) $(GCOV_FLAGS) $^ -o $@
 
 # Common targets
--- a/tools/tests/x86_emulator/Makefile
+++ b/tools/tests/x86_emulator/Makefile
@@ -29,7 +29,7 @@ OPMASK := avx512f avx512dq avx512bw
 
 ifeq ($(origin XEN_COMPILE_ARCH),override)
 
-HOSTCFLAGS += -m32
+HOSTCFLAGS += -m32 -I..
 
 else
 
@@ -250,7 +250,10 @@ xop.h avx512f.h: simd-fma.c
 
 endif # 32-bit override
 
-$(TARGET): x86-emulate.o cpuid.o test_x86_emulator.o evex-disp8.o predicates.o wrappers.o
+OBJS := x86-emulate.o cpuid.o test_x86_emulator.o evex-disp8.o predicates.o wrappers.o
+OBJS += x86_emulate/0f01.o
+
+$(TARGET): $(OBJS)
 	$(HOSTCC) $(HOSTCFLAGS) -o $@ $^
 
 .PHONY: clean
@@ -274,8 +277,10 @@ else
 run32 clean32: %32: %
 endif
 
+.PHONY: x86_emulate
 x86_emulate:
-	[ -L $@ ] || ln -sf $(XEN_ROOT)/xen/arch/x86/$@
+	mkdir -p $@
+	ln -sf $(XEN_ROOT)/xen/arch/x86/$@/*.[ch] $@/
 
 x86_emulate/%: x86_emulate ;
 
@@ -287,13 +292,13 @@ x86.h := $(addprefix $(XEN_ROOT)/tools/i
                      x86-vendors.h x86-defns.h msr-index.h) \
          $(addprefix $(XEN_ROOT)/tools/include/xen/lib/x86/, \
                      cpuid.h cpuid-autogen.h)
-x86_emulate.h := x86-emulate.h x86_emulate/x86_emulate.h $(x86.h)
+x86_emulate.h := x86-emulate.h x86_emulate/x86_emulate.h x86_emulate/private.h $(x86.h)
 
-x86-emulate.o cpuid.o test_x86_emulator.o evex-disp8.o predicates.o wrappers.o: %.o: %.c $(x86_emulate.h)
+$(OBJS): %.o: %.c $(x86_emulate.h)
 	$(HOSTCC) $(HOSTCFLAGS) -c -g -o $@ $<
 
 x86-emulate.o: x86_emulate/x86_emulate.c
-x86-emulate.o: HOSTCFLAGS += -D__XEN_TOOLS__
+x86-emulate.o x86_emulate/%.o: HOSTCFLAGS += -D__XEN_TOOLS__
 
 # In order for our custom .type assembler directives to reliably land after
 # gcc's, we need to keep it from re-ordering top-level constructs.
--- a/tools/tests/x86_emulator/x86-emulate.c
+++ b/tools/tests/x86_emulator/x86-emulate.c
@@ -22,11 +22,9 @@
 
 /* For generic assembly code: use macros to define operation/operand sizes. */
 #ifdef __i386__
-# define r(name)       e ## name
 # define __OS          "l"  /* Operation Suffix */
 # define __OP          "e"  /* Operand Prefix */
 #else
-# define r(name)       r ## name
 # define __OS          "q"  /* Operation Suffix */
 # define __OP          "r"  /* Operand Prefix */
 #endif
@@ -265,12 +263,12 @@ void emul_test_put_fpu(
 
 static uint32_t pkru;
 
-static unsigned int rdpkru(void)
+unsigned int rdpkru(void)
 {
     return pkru;
 }
 
-static void wrpkru(unsigned int val)
+void wrpkru(unsigned int val)
 {
     pkru = val;
 }
--- a/tools/tests/x86_emulator/x86-emulate.h
+++ b/tools/tests/x86_emulator/x86-emulate.h
@@ -1,3 +1,6 @@
+#ifndef X86_EMULATE_H
+#define X86_EMULATE_H
+
 #include <assert.h>
 #include <stdbool.h>
 #include <stddef.h>
@@ -128,6 +131,9 @@ static inline bool xcr0_mask(uint64_t ma
     return cpu_has_xsave && ((xgetbv(0) & mask) == mask);
 }
 
+unsigned int rdpkru(void);
+void wrpkru(unsigned int val);
+
 #define cache_line_size() (cp.basic.clflush_size * 8)
 #define cpu_has_fpu        cp.basic.fpu
 #define cpu_has_mmx        cp.basic.mmx
@@ -205,3 +211,5 @@ void emul_test_put_fpu(
     struct x86_emulate_ctxt *ctxt,
     enum x86_emulate_fpu_type backout,
     const struct x86_emul_fpu_aux *aux);
+
+#endif /* X86_EMULATE_H */
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -7,6 +7,7 @@ obj-y += mm/
 obj-$(CONFIG_XENOPROF) += oprofile/
 obj-$(CONFIG_PV) += pv/
 obj-y += x86_64/
+obj-y += x86_emulate/
 
 alternative-y := alternative.init.o
 alternative-$(CONFIG_LIVEPATCH) :=
--- a/xen/arch/x86/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate.c
@@ -23,8 +23,6 @@
 #undef cpuid
 #undef wbinvd
 
-#define r(name) r ## name
-
 #define cpu_has_amd_erratum(nr) \
         cpu_has_amd_erratum(&current_cpu_data, AMD_ERRATUM_##nr)
 
@@ -45,12 +43,6 @@
 
 #define FXSAVE_AREA current->arch.fpu_ctxt
 
-#ifndef CONFIG_HVM
-# define X86EMUL_NO_FPU
-# define X86EMUL_NO_MMX
-# define X86EMUL_NO_SIMD
-#endif
-
 #include "x86_emulate/x86_emulate.c"
 
 int x86emul_read_xcr(unsigned int reg, uint64_t *val,
--- /dev/null
+++ b/xen/arch/x86/x86_emulate/0f01.c
@@ -0,0 +1,349 @@
+/******************************************************************************
+ * 0f01.c - helper for x86_emulate.c
+ *
+ * Generic x86 (32-bit and 64-bit) instruction decoder and emulator.
+ *
+ * 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/>.
+ */
+
+#include "private.h"
+
+#define ad_bytes (s->ad_bytes) /* for truncate_ea() */
+
+int x86emul_0f01(struct x86_emulate_state *s,
+                 struct cpu_user_regs *regs,
+                 struct operand *dst,
+                 struct x86_emulate_ctxt *ctxt,
+                 const struct x86_emulate_ops *ops)
+{
+    enum x86_segment seg = (s->modrm_reg & 1) ? x86_seg_idtr : x86_seg_gdtr;
+    int rc;
+
+    switch ( s->modrm )
+    {
+        unsigned long base, limit, cr0, cr0w, cr4;
+        struct segment_register sreg;
+        uint64_t msr_val;
+
+    case 0xca: /* clac */
+    case 0xcb: /* stac */
+        vcpu_must_have(smap);
+        generate_exception_if(s->vex.pfx || !mode_ring0(), X86_EXC_UD);
+
+        regs->eflags &= ~X86_EFLAGS_AC;
+        if ( s->modrm == 0xcb )
+            regs->eflags |= X86_EFLAGS_AC;
+        break;
+
+    case 0xd0: /* xgetbv */
+        generate_exception_if(s->vex.pfx, X86_EXC_UD);
+        if ( !ops->read_cr || !ops->read_xcr ||
+             ops->read_cr(4, &cr4, ctxt) != X86EMUL_OKAY )
+            cr4 = 0;
+        generate_exception_if(!(cr4 & X86_CR4_OSXSAVE), X86_EXC_UD);
+        rc = ops->read_xcr(regs->ecx, &msr_val, ctxt);
+        if ( rc != X86EMUL_OKAY )
+            goto done;
+        regs->r(ax) = (uint32_t)msr_val;
+        regs->r(dx) = msr_val >> 32;
+        break;
+
+    case 0xd1: /* xsetbv */
+        generate_exception_if(s->vex.pfx, X86_EXC_UD);
+        if ( !ops->read_cr || !ops->write_xcr ||
+             ops->read_cr(4, &cr4, ctxt) != X86EMUL_OKAY )
+            cr4 = 0;
+        generate_exception_if(!(cr4 & X86_CR4_OSXSAVE), X86_EXC_UD);
+        generate_exception_if(!mode_ring0(), X86_EXC_GP, 0);
+        rc = ops->write_xcr(regs->ecx,
+                            regs->eax | ((uint64_t)regs->edx << 32), ctxt);
+        if ( rc != X86EMUL_OKAY )
+            goto done;
+        break;
+
+    case 0xd4: /* vmfunc */
+        generate_exception_if(s->vex.pfx, X86_EXC_UD);
+        fail_if(!ops->vmfunc);
+        if ( (rc = ops->vmfunc(ctxt)) != X86EMUL_OKAY )
+            goto done;
+        break;
+
+    case 0xd5: /* xend */
+        generate_exception_if(s->vex.pfx, X86_EXC_UD);
+        generate_exception_if(!vcpu_has_rtm(), X86_EXC_UD);
+        generate_exception_if(vcpu_has_rtm(), X86_EXC_GP, 0);
+        break;
+
+    case 0xd6: /* xtest */
+        generate_exception_if(s->vex.pfx, X86_EXC_UD);
+        generate_exception_if(!vcpu_has_rtm() && !vcpu_has_hle(),
+                              X86_EXC_UD);
+        /* Neither HLE nor RTM can be active when we get here. */
+        regs->eflags |= X86_EFLAGS_ZF;
+        break;
+
+    case 0xdf: /* invlpga */
+        fail_if(!ops->read_msr);
+        if ( (rc = ops->read_msr(MSR_EFER,
+                                 &msr_val, ctxt)) != X86EMUL_OKAY )
+            goto done;
+        /* Finding SVME set implies vcpu_has_svm(). */
+        generate_exception_if(!(msr_val & EFER_SVME) ||
+                              !in_protmode(ctxt, ops), X86_EXC_UD);
+        generate_exception_if(!mode_ring0(), X86_EXC_GP, 0);
+        fail_if(!ops->tlb_op);
+        if ( (rc = ops->tlb_op(x86emul_invlpga, truncate_ea(regs->r(ax)),
+                               regs->ecx, ctxt)) != X86EMUL_OKAY )
+            goto done;
+        break;
+
+    case 0xe8:
+        switch ( s->vex.pfx )
+        {
+        case vex_none: /* serialize */
+            host_and_vcpu_must_have(serialize);
+            asm volatile ( ".byte 0x0f, 0x01, 0xe8" );
+            break;
+        case vex_f2: /* xsusldtrk */
+            vcpu_must_have(tsxldtrk);
+            /*
+             * We're never in a transactional region when coming here
+             * - nothing else to do.
+             */
+            break;
+        default:
+            return X86EMUL_UNIMPLEMENTED;
+        }
+        break;
+
+    case 0xe9:
+        switch ( s->vex.pfx )
+        {
+        case vex_f2: /* xresldtrk */
+            vcpu_must_have(tsxldtrk);
+            /*
+             * We're never in a transactional region when coming here
+             * - nothing else to do.
+             */
+            break;
+        default:
+            return X86EMUL_UNIMPLEMENTED;
+        }
+        break;
+
+    case 0xee:
+        switch ( s->vex.pfx )
+        {
+        case vex_none: /* rdpkru */
+            if ( !ops->read_cr ||
+                 ops->read_cr(4, &cr4, ctxt) != X86EMUL_OKAY )
+                cr4 = 0;
+            generate_exception_if(!(cr4 & X86_CR4_PKE), X86_EXC_UD);
+            generate_exception_if(regs->ecx, X86_EXC_GP, 0);
+            regs->r(ax) = rdpkru();
+            regs->r(dx) = 0;
+            break;
+        default:
+            return X86EMUL_UNIMPLEMENTED;
+        }
+        break;
+
+    case 0xef:
+        switch ( s->vex.pfx )
+        {
+        case vex_none: /* wrpkru */
+            if ( !ops->read_cr ||
+                 ops->read_cr(4, &cr4, ctxt) != X86EMUL_OKAY )
+                cr4 = 0;
+            generate_exception_if(!(cr4 & X86_CR4_PKE), X86_EXC_UD);
+            generate_exception_if(regs->ecx | regs->edx, X86_EXC_GP, 0);
+            wrpkru(regs->eax);
+            break;
+        default:
+            return X86EMUL_UNIMPLEMENTED;
+        }
+        break;
+
+    case 0xf8: /* swapgs */
+        generate_exception_if(!mode_64bit(), X86_EXC_UD);
+        generate_exception_if(!mode_ring0(), X86_EXC_GP, 0);
+        fail_if(!ops->read_segment || !ops->read_msr ||
+                !ops->write_segment || !ops->write_msr);
+        if ( (rc = ops->read_segment(x86_seg_gs, &sreg,
+                                     ctxt)) != X86EMUL_OKAY ||
+             (rc = ops->read_msr(MSR_SHADOW_GS_BASE, &msr_val,
+                                 ctxt)) != X86EMUL_OKAY ||
+             (rc = ops->write_msr(MSR_SHADOW_GS_BASE, sreg.base,
+                                  ctxt)) != X86EMUL_OKAY )
+            goto done;
+        sreg.base = msr_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;
+
+    case 0xf9: /* rdtscp */
+        fail_if(ops->read_msr == NULL);
+        if ( (rc = ops->read_msr(MSR_TSC_AUX,
+                                 &msr_val, ctxt)) != X86EMUL_OKAY )
+            goto done;
+        regs->r(cx) = (uint32_t)msr_val;
+        return X86EMUL_rdtsc;
+
+    case 0xfc: /* clzero */
+    {
+        unsigned long zero = 0;
+
+        vcpu_must_have(clzero);
+
+        base = ad_bytes == 8 ? regs->r(ax) :
+               ad_bytes == 4 ? regs->eax : regs->ax;
+        limit = ctxt->cpuid->basic.clflush_size * 8;
+        generate_exception_if(limit < sizeof(long) ||
+                              (limit & (limit - 1)), X86_EXC_UD);
+        base &= ~(limit - 1);
+        if ( ops->rep_stos )
+        {
+            unsigned long nr_reps = limit / sizeof(zero);
+
+            rc = ops->rep_stos(&zero, s->ea.mem.seg, base, sizeof(zero),
+                               &nr_reps, ctxt);
+            if ( rc == X86EMUL_OKAY )
+            {
+                base += nr_reps * sizeof(zero);
+                limit -= nr_reps * sizeof(zero);
+            }
+            else if ( rc != X86EMUL_UNHANDLEABLE )
+                goto done;
+        }
+        fail_if(limit && !ops->write);
+        while ( limit )
+        {
+            rc = ops->write(s->ea.mem.seg, base, &zero, sizeof(zero), ctxt);
+            if ( rc != X86EMUL_OKAY )
+                goto done;
+            base += sizeof(zero);
+            limit -= sizeof(zero);
+        }
+        break;
+    }
+
+#define _GRP7(mod, reg) \
+        (((mod) << 6) | ((reg) << 3)) ... (((mod) << 6) | ((reg) << 3) | 7)
+#define GRP7_MEM(reg) _GRP7(0, reg): case _GRP7(1, reg): case _GRP7(2, reg)
+#define GRP7_ALL(reg) GRP7_MEM(reg): case _GRP7(3, reg)
+
+    case GRP7_MEM(0): /* sgdt */
+    case GRP7_MEM(1): /* sidt */
+        ASSERT(s->ea.type == OP_MEM);
+        generate_exception_if(umip_active(ctxt, ops), X86_EXC_GP, 0);
+        fail_if(!ops->read_segment || !ops->write);
+        if ( (rc = ops->read_segment(seg, &sreg, ctxt)) )
+            goto done;
+        if ( mode_64bit() )
+            s->op_bytes = 8;
+        else if ( s->op_bytes == 2 )
+        {
+            sreg.base &= 0xffffff;
+            s->op_bytes = 4;
+        }
+        if ( (rc = ops->write(s->ea.mem.seg, s->ea.mem.off, &sreg.limit,
+                              2, ctxt)) != X86EMUL_OKAY ||
+             (rc = ops->write(s->ea.mem.seg, truncate_ea(s->ea.mem.off + 2),
+                              &sreg.base, s->op_bytes, ctxt)) != X86EMUL_OKAY )
+            goto done;
+        break;
+
+    case GRP7_MEM(2): /* lgdt */
+    case GRP7_MEM(3): /* lidt */
+        ASSERT(s->ea.type == OP_MEM);
+        generate_exception_if(!mode_ring0(), X86_EXC_GP, 0);
+        fail_if(ops->write_segment == NULL);
+        memset(&sreg, 0, sizeof(sreg));
+        if ( (rc = read_ulong(s->ea.mem.seg, s->ea.mem.off,
+                              &limit, 2, ctxt, ops)) ||
+             (rc = read_ulong(s->ea.mem.seg, truncate_ea(s->ea.mem.off + 2),
+                              &base, mode_64bit() ? 8 : 4, ctxt, ops)) )
+            goto done;
+        generate_exception_if(!is_canonical_address(base), X86_EXC_GP, 0);
+        sreg.base = base;
+        sreg.limit = limit;
+        if ( !mode_64bit() && s->op_bytes == 2 )
+            sreg.base &= 0xffffff;
+        if ( (rc = ops->write_segment(seg, &sreg, ctxt)) )
+            goto done;
+        break;
+
+    case GRP7_ALL(4): /* smsw */
+        generate_exception_if(umip_active(ctxt, ops), X86_EXC_GP, 0);
+        if ( s->ea.type == OP_MEM )
+        {
+            fail_if(!ops->write);
+            s->desc |= Mov; /* force writeback */
+            s->ea.bytes = 2;
+        }
+        else
+            s->ea.bytes = s->op_bytes;
+        *dst = s->ea;
+        fail_if(ops->read_cr == NULL);
+        if ( (rc = ops->read_cr(0, &dst->val, ctxt)) )
+            goto done;
+        break;
+
+    case GRP7_ALL(6): /* lmsw */
+        fail_if(ops->read_cr == NULL);
+        fail_if(ops->write_cr == NULL);
+        generate_exception_if(!mode_ring0(), X86_EXC_GP, 0);
+        if ( (rc = ops->read_cr(0, &cr0, ctxt)) )
+            goto done;
+        if ( s->ea.type == OP_REG )
+            cr0w = *s->ea.reg;
+        else if ( (rc = read_ulong(s->ea.mem.seg, s->ea.mem.off,
+                                   &cr0w, 2, ctxt, ops)) )
+            goto done;
+        /* LMSW can: (1) set bits 0-3; (2) clear bits 1-3. */
+        cr0 = (cr0 & ~0xe) | (cr0w & 0xf);
+        if ( (rc = ops->write_cr(0, cr0, ctxt)) )
+            goto done;
+        break;
+
+    case GRP7_MEM(7): /* invlpg */
+        ASSERT(s->ea.type == OP_MEM);
+        generate_exception_if(!mode_ring0(), X86_EXC_GP, 0);
+        fail_if(!ops->tlb_op);
+        if ( (rc = ops->tlb_op(x86emul_invlpg, s->ea.mem.off, s->ea.mem.seg,
+                               ctxt)) != X86EMUL_OKAY )
+            goto done;
+        break;
+
+#undef GRP7_ALL
+#undef GRP7_MEM
+#undef _GRP7
+
+    default:
+        return X86EMUL_UNIMPLEMENTED;
+    }
+
+    rc = X86EMUL_OKAY;
+
+ done:
+    return rc;
+}
--- /dev/null
+++ b/xen/arch/x86/x86_emulate/Makefile
@@ -0,0 +1 @@
+obj-y += 0f01.o
--- /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__
+# define mode_64bit() false
+# define r(name) e ## name
+#else
+# define mode_64bit() (ctxt->addr_size == 64)
+# define r(name) r ## name
+#endif
+
+/* Operand sizes: 8-bit operands or specified/overridden size. */
+#define ByteOp      (1<<0) /* 8-bit operands. */
+/* Destination operand type. */
+#define DstNone     (0<<1) /* No destination operand. */
+#define DstImplicit (0<<1) /* Destination operand is implicit in the opcode. */
+#define DstBitBase  (1<<1) /* Memory operand, bit string. */
+#define DstReg      (2<<1) /* Register operand. */
+#define DstEax      DstReg /* Register EAX (aka DstReg with no ModRM) */
+#define DstMem      (3<<1) /* Memory operand. */
+#define DstMask     (3<<1)
+/* Source operand type. */
+#define SrcNone     (0<<3) /* No source operand. */
+#define SrcImplicit (0<<3) /* Source operand is implicit in the opcode. */
+#define SrcReg      (1<<3) /* Register operand. */
+#define SrcEax      SrcReg /* Register EAX (aka SrcReg with no ModRM) */
+#define SrcMem      (2<<3) /* Memory operand. */
+#define SrcMem16    (3<<3) /* Memory operand (16-bit). */
+#define SrcImm      (4<<3) /* Immediate operand. */
+#define SrcImmByte  (5<<3) /* 8-bit sign-extended immediate operand. */
+#define SrcImm16    (6<<3) /* 16-bit zero-extended immediate operand. */
+#define SrcMask     (7<<3)
+/* Generic ModRM decode. */
+#define ModRM       (1<<6)
+/* vSIB addressing mode (0f38 extension opcodes only), aliasing ModRM. */
+#define vSIB        (1<<6)
+/* Destination is only written; never read. */
+#define Mov         (1<<7)
+/* VEX/EVEX (SIMD only): 2nd source operand unused (must be all ones) */
+#define TwoOp       Mov
+/* All operands are implicit in the opcode. */
+#define ImplicitOps (DstImplicit|SrcImplicit)
+
+typedef uint8_t opcode_desc_t;
+
+/* Type, address-of, and value of an instruction's operand. */
+struct operand {
+    enum { OP_REG, OP_MEM, OP_IMM, OP_NONE } type;
+    unsigned int bytes;
+
+    /* Operand value. */
+    unsigned long val;
+
+    /* Original operand value. */
+    unsigned long orig_val;
+
+    /* OP_REG: Pointer to register field. */
+    unsigned long *reg;
+
+    /* OP_MEM: Segment and offset. */
+    struct {
+        enum x86_segment seg;
+        unsigned long    off;
+    } mem;
+};
+
+#define REX_PREFIX 0x40
+#define REX_B 0x01
+#define REX_X 0x02
+#define REX_R 0x04
+#define REX_W 0x08
+
+enum simd_opsize {
+    simd_none,
+
+    /*
+     * Ordinary packed integers:
+     * - 64 bits without prefix 66 (MMX)
+     * - 128 bits with prefix 66 (SSEn)
+     * - 128/256/512 bits depending on VEX.L/EVEX.LR (AVX+)
+     */
+    simd_packed_int,
+
+    /*
+     * Ordinary packed/scalar floating point:
+     * - 128 bits without prefix or with prefix 66 (SSEn)
+     * - 128/256/512 bits depending on VEX.L/EVEX.LR (AVX+)
+     * - 32 bits with prefix F3 (scalar single)
+     * - 64 bits with prefix F2 (scalar doubgle)
+     */
+    simd_any_fp,
+
+    /*
+     * Packed floating point:
+     * - 128 bits without prefix or with prefix 66 (SSEn)
+     * - 128/256/512 bits depending on VEX.L/EVEX.LR (AVX+)
+     */
+    simd_packed_fp,
+
+    /*
+     * Single precision packed/scalar floating point:
+     * - 128 bits without prefix (SSEn)
+     * - 128/256/512 bits depending on VEX.L/EVEX.LR (AVX+)
+     * - 32 bits with prefix F3 (scalar)
+     */
+    simd_single_fp,
+
+    /*
+     * Scalar floating point:
+     * - 32 bits with low opcode bit clear (scalar single)
+     * - 64 bits with low opcode bit set (scalar double)
+     */
+    simd_scalar_opc,
+
+    /*
+     * Scalar floating point:
+     * - 32/64 bits depending on VEX.W/EVEX.W
+     */
+    simd_scalar_vexw,
+
+    /*
+     * 128 bits of integer or floating point data, with no further
+     * formatting information, or with it encoded by EVEX.W.
+     */
+    simd_128,
+
+    /*
+     * 256 bits of integer or floating point data, with formatting
+     * encoded by EVEX.W.
+     */
+    simd_256,
+
+    /* Operand size encoded in non-standard way. */
+    simd_other
+};
+typedef uint8_t simd_opsize_t;
+
+#define vex_none 0
+
+enum vex_opcx {
+    vex_0f = vex_none + 1,
+    vex_0f38,
+    vex_0f3a,
+};
+
+enum vex_pfx {
+    vex_66 = vex_none + 1,
+    vex_f3,
+    vex_f2
+};
+
+union vex {
+    uint8_t raw[2];
+    struct {             /* SDM names */
+        uint8_t opcx:5;  /* mmmmm */
+        uint8_t b:1;     /* B */
+        uint8_t x:1;     /* X */
+        uint8_t r:1;     /* R */
+        uint8_t pfx:2;   /* pp */
+        uint8_t l:1;     /* L */
+        uint8_t reg:4;   /* vvvv */
+        uint8_t w:1;     /* W */
+    };
+};
+
+union evex {
+    uint8_t raw[3];
+    struct {             /* SDM names */
+        uint8_t opcx:2;  /* mm */
+        uint8_t mbz:2;
+        uint8_t R:1;     /* R' */
+        uint8_t b:1;     /* B */
+        uint8_t x:1;     /* X */
+        uint8_t r:1;     /* R */
+        uint8_t pfx:2;   /* pp */
+        uint8_t mbs:1;
+        uint8_t reg:4;   /* vvvv */
+        uint8_t w:1;     /* W */
+        uint8_t opmsk:3; /* aaa */
+        uint8_t RX:1;    /* V' */
+        uint8_t brs:1;   /* b */
+        uint8_t lr:2;    /* L'L */
+        uint8_t z:1;     /* z */
+    };
+};
+
+struct x86_emulate_state {
+    unsigned int op_bytes, ad_bytes;
+
+    enum {
+        ext_none = vex_none,
+        ext_0f   = vex_0f,
+        ext_0f38 = vex_0f38,
+        ext_0f3a = vex_0f3a,
+        /*
+         * For XOP use values such that the respective instruction field
+         * can be used without adjustment.
+         */
+        ext_8f08 = 8,
+        ext_8f09,
+        ext_8f0a,
+    } ext;
+    enum {
+        rmw_NONE,
+        rmw_adc,
+        rmw_add,
+        rmw_and,
+        rmw_btc,
+        rmw_btr,
+        rmw_bts,
+        rmw_dec,
+        rmw_inc,
+        rmw_neg,
+        rmw_not,
+        rmw_or,
+        rmw_rcl,
+        rmw_rcr,
+        rmw_rol,
+        rmw_ror,
+        rmw_sar,
+        rmw_sbb,
+        rmw_shl,
+        rmw_shld,
+        rmw_shr,
+        rmw_shrd,
+        rmw_sub,
+        rmw_xadd,
+        rmw_xchg,
+        rmw_xor,
+    } rmw;
+    enum {
+        blk_NONE,
+        blk_enqcmd,
+#ifndef X86EMUL_NO_FPU
+        blk_fld, /* FLDENV, FRSTOR */
+        blk_fst, /* FNSTENV, FNSAVE */
+#endif
+#if !defined(X86EMUL_NO_FPU) || !defined(X86EMUL_NO_MMX) || \
+    !defined(X86EMUL_NO_SIMD)
+        blk_fxrstor,
+        blk_fxsave,
+#endif
+        blk_movdir,
+    } blk;
+    uint8_t modrm, modrm_mod, modrm_reg, modrm_rm;
+    uint8_t sib_index, sib_scale;
+    uint8_t rex_prefix;
+    bool lock_prefix;
+    bool not_64bit; /* Instruction not available in 64bit. */
+    bool fpu_ctrl;  /* Instruction is an FPU control one. */
+    opcode_desc_t desc;
+    union vex vex;
+    union evex evex;
+    enum simd_opsize simd_size;
+
+    /*
+     * Data operand effective address (usually computed from ModRM).
+     * Default is a memory operand relative to segment DS.
+     */
+    struct operand ea;
+
+    /* Immediate operand values, if any. Use otherwise unused fields. */
+#define imm1 ea.val
+#define imm2 ea.orig_val
+
+    unsigned long ip;
+    struct cpu_user_regs *regs;
+
+#ifndef NDEBUG
+    /*
+     * Track caller of x86_decode_insn() to spot missing as well as
+     * premature calls to x86_emulate_free_state().
+     */
+    void *caller;
+#endif
+};
+
+/*
+ * Externally visible return codes from x86_emulate() are non-negative.
+ * Use negative values for internal state change indicators from helpers
+ * to the main function.
+ */
+#define X86EMUL_rdtsc        (-1)
+
+/*
+ * These EFLAGS bits are restored from saved value during emulation, and
+ * any changes are written back to the saved value after emulation.
+ */
+#define EFLAGS_MASK (X86_EFLAGS_OF | X86_EFLAGS_SF | X86_EFLAGS_ZF | \
+                     X86_EFLAGS_AF | X86_EFLAGS_PF | X86_EFLAGS_CF)
+
+/*
+ * These EFLAGS bits are modifiable (by POPF and IRET), possibly subject
+ * to further CPL and IOPL constraints.
+ */
+#define EFLAGS_MODIFIABLE (X86_EFLAGS_ID | X86_EFLAGS_AC | X86_EFLAGS_RF | \
+                           X86_EFLAGS_NT | X86_EFLAGS_IOPL | X86_EFLAGS_DF | \
+                           X86_EFLAGS_IF | X86_EFLAGS_TF | EFLAGS_MASK)
+
+#define truncate_word(ea, byte_width)           \
+({  unsigned long __ea = (ea);                  \
+    unsigned int _width = (byte_width);         \
+    ((_width == sizeof(unsigned long)) ? __ea : \
+     (__ea & ((1UL << (_width << 3)) - 1)));    \
+})
+#define truncate_ea(ea) truncate_word((ea), ad_bytes)
+
+#define fail_if(p)                                      \
+do {                                                    \
+    rc = (p) ? X86EMUL_UNHANDLEABLE : X86EMUL_OKAY;     \
+    if ( rc ) goto done;                                \
+} while (0)
+
+#define EXPECT(p)                                       \
+do {                                                    \
+    if ( unlikely(!(p)) )                               \
+    {                                                   \
+        ASSERT_UNREACHABLE();                           \
+        goto unhandleable;                              \
+    }                                                   \
+} while (0)
+
+static inline int mkec(uint8_t e, int32_t ec, ...)
+{
+    return (e < 32 && ((1u << e) & X86_EXC_HAVE_EC)) ? ec : X86_EVENT_NO_EC;
+}
+
+#define generate_exception_if(p, e, ec...)                                \
+({  if ( (p) ) {                                                          \
+        x86_emul_hw_exception(e, mkec(e, ##ec, 0), ctxt);                 \
+        rc = X86EMUL_EXCEPTION;                                           \
+        goto done;                                                        \
+    }                                                                     \
+})
+
+#define generate_exception(e, ec...) generate_exception_if(true, e, ##ec)
+
+static inline bool
+in_realmode(
+    struct x86_emulate_ctxt *ctxt,
+    const struct x86_emulate_ops *ops)
+{
+    unsigned long cr0;
+    int rc;
+
+    if ( ops->read_cr == NULL )
+        return 0;
+
+    rc = ops->read_cr(0, &cr0, ctxt);
+    return (!rc && !(cr0 & X86_CR0_PE));
+}
+
+static inline bool
+in_protmode(
+    struct x86_emulate_ctxt *ctxt,
+    const struct x86_emulate_ops *ops)
+{
+    return !(in_realmode(ctxt, ops) || (ctxt->regs->eflags & X86_EFLAGS_VM));
+}
+
+#define mode_ring0() ({                         \
+    int _cpl = x86emul_get_cpl(ctxt, ops);      \
+    fail_if(_cpl < 0);                          \
+    (_cpl == 0);                                \
+})
+
+#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_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_tsxldtrk()    (ctxt->cpuid->feat.tsxldtrk)
+#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_avx_vnni()    (ctxt->cpuid->feat.avx_vnni)
+#define vcpu_has_avx512_bf16() (ctxt->cpuid->feat.avx512_bf16)
+
+#define vcpu_must_have(feat) \
+    generate_exception_if(!vcpu_has_##feat(), X86_EXC_UD)
+
+#ifdef __XEN__
+/*
+ * Note the difference between vcpu_must_have(<feature>) and
+ * host_and_vcpu_must_have(<feature>): The latter needs to be used when
+ * emulation code is using the same instruction class for carrying out
+ * the actual operation.
+ */
+# define host_and_vcpu_must_have(feat) ({ \
+    generate_exception_if(!cpu_has_##feat, X86_EXC_UD); \
+    vcpu_must_have(feat); \
+})
+#else
+/*
+ * For the test harness both are fine to be used interchangeably, i.e.
+ * features known to always be available (e.g. SSE/SSE2) to (64-bit) Xen
+ * may be checked for by just vcpu_must_have().
+ */
+# define host_and_vcpu_must_have(feat) vcpu_must_have(feat)
+#endif
+
+int x86emul_get_cpl(struct x86_emulate_ctxt *ctxt,
+                    const struct x86_emulate_ops *ops);
+
+int x86emul_0f01(struct x86_emulate_state *s,
+                 struct cpu_user_regs *regs,
+                 struct operand *dst,
+                 struct x86_emulate_ctxt *ctxt,
+                 const struct x86_emulate_ops *ops);
+
+static inline bool umip_active(struct x86_emulate_ctxt *ctxt,
+                               const struct x86_emulate_ops *ops)
+{
+    unsigned long cr4;
+
+    /* Intentionally not using mode_ring0() here to avoid its fail_if(). */
+    return x86emul_get_cpl(ctxt, ops) > 0 &&
+           ops->read_cr && ops->read_cr(4, &cr4, ctxt) == X86EMUL_OKAY &&
+           (cr4 & X86_CR4_UMIP);
+}
+
+/* Compatibility function: read guest memory, zero-extend result to a ulong. */
+static inline int read_ulong(enum x86_segment seg,
+                             unsigned long offset,
+                             unsigned long *val,
+                             unsigned int bytes,
+                             struct x86_emulate_ctxt *ctxt,
+                             const struct x86_emulate_ops *ops)
+{
+    *val = 0;
+    return ops->read(seg, offset, val, bytes, ctxt);
+}
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -20,39 +20,7 @@
  * along with this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
-/* Operand sizes: 8-bit operands or specified/overridden size. */
-#define ByteOp      (1<<0) /* 8-bit operands. */
-/* Destination operand type. */
-#define DstNone     (0<<1) /* No destination operand. */
-#define DstImplicit (0<<1) /* Destination operand is implicit in the opcode. */
-#define DstBitBase  (1<<1) /* Memory operand, bit string. */
-#define DstReg      (2<<1) /* Register operand. */
-#define DstEax      DstReg /* Register EAX (aka DstReg with no ModRM) */
-#define DstMem      (3<<1) /* Memory operand. */
-#define DstMask     (3<<1)
-/* Source operand type. */
-#define SrcNone     (0<<3) /* No source operand. */
-#define SrcImplicit (0<<3) /* Source operand is implicit in the opcode. */
-#define SrcReg      (1<<3) /* Register operand. */
-#define SrcEax      SrcReg /* Register EAX (aka SrcReg with no ModRM) */
-#define SrcMem      (2<<3) /* Memory operand. */
-#define SrcMem16    (3<<3) /* Memory operand (16-bit). */
-#define SrcImm      (4<<3) /* Immediate operand. */
-#define SrcImmByte  (5<<3) /* 8-bit sign-extended immediate operand. */
-#define SrcImm16    (6<<3) /* 16-bit zero-extended immediate operand. */
-#define SrcMask     (7<<3)
-/* Generic ModRM decode. */
-#define ModRM       (1<<6)
-/* vSIB addressing mode (0f38 extension opcodes only), aliasing ModRM. */
-#define vSIB        (1<<6)
-/* Destination is only written; never read. */
-#define Mov         (1<<7)
-/* VEX/EVEX (SIMD only): 2nd source operand unused (must be all ones) */
-#define TwoOp       Mov
-/* All operands are implicit in the opcode. */
-#define ImplicitOps (DstImplicit|SrcImplicit)
-
-typedef uint8_t opcode_desc_t;
+#include "private.h"
 
 static const opcode_desc_t opcode_table[256] = {
     /* 0x00 - 0x07 */
@@ -184,71 +152,6 @@ static const opcode_desc_t opcode_table[
     ImplicitOps, ImplicitOps, ByteOp|DstMem|SrcNone|ModRM, DstMem|SrcNone|ModRM
 };
 
-enum simd_opsize {
-    simd_none,
-
-    /*
-     * Ordinary packed integers:
-     * - 64 bits without prefix 66 (MMX)
-     * - 128 bits with prefix 66 (SSEn)
-     * - 128/256/512 bits depending on VEX.L/EVEX.LR (AVX+)
-     */
-    simd_packed_int,
-
-    /*
-     * Ordinary packed/scalar floating point:
-     * - 128 bits without prefix or with prefix 66 (SSEn)
-     * - 128/256/512 bits depending on VEX.L/EVEX.LR (AVX+)
-     * - 32 bits with prefix F3 (scalar single)
-     * - 64 bits with prefix F2 (scalar doubgle)
-     */
-    simd_any_fp,
-
-    /*
-     * Packed floating point:
-     * - 128 bits without prefix or with prefix 66 (SSEn)
-     * - 128/256/512 bits depending on VEX.L/EVEX.LR (AVX+)
-     */
-    simd_packed_fp,
-
-    /*
-     * Single precision packed/scalar floating point:
-     * - 128 bits without prefix (SSEn)
-     * - 128/256/512 bits depending on VEX.L/EVEX.LR (AVX+)
-     * - 32 bits with prefix F3 (scalar)
-     */
-    simd_single_fp,
-
-    /*
-     * Scalar floating point:
-     * - 32 bits with low opcode bit clear (scalar single)
-     * - 64 bits with low opcode bit set (scalar double)
-     */
-    simd_scalar_opc,
-
-    /*
-     * Scalar floating point:
-     * - 32/64 bits depending on VEX.W/EVEX.W
-     */
-    simd_scalar_vexw,
-
-    /*
-     * 128 bits of integer or floating point data, with no further
-     * formatting information, or with it encoded by EVEX.W.
-     */
-    simd_128,
-
-    /*
-     * 256 bits of integer or floating point data, with formatting
-     * encoded by EVEX.W.
-     */
-    simd_256,
-
-    /* Operand size encoded in non-standard way. */
-    simd_other
-};
-typedef uint8_t simd_opsize_t;
-
 enum disp8scale {
     /* Values 0 ... 4 are explicit sizes. */
     d8s_bw = 5,
@@ -670,45 +573,11 @@ static const struct ext8f09_table {
     [0xe1 ... 0xe3] = { .simd_size = simd_packed_int, .two_op = 1 },
 };
 
-#define REX_PREFIX 0x40
-#define REX_B 0x01
-#define REX_X 0x02
-#define REX_R 0x04
-#define REX_W 0x08
-
-#define vex_none 0
-
-enum vex_opcx {
-    vex_0f = vex_none + 1,
-    vex_0f38,
-    vex_0f3a,
-};
-
-enum vex_pfx {
-    vex_66 = vex_none + 1,
-    vex_f3,
-    vex_f2
-};
-
 #define VEX_PREFIX_DOUBLE_MASK 0x1
 #define VEX_PREFIX_SCALAR_MASK 0x2
 
 static const uint8_t sse_prefix[] = { 0x66, 0xf3, 0xf2 };
 
-union vex {
-    uint8_t raw[2];
-    struct {             /* SDM names */
-        uint8_t opcx:5;  /* mmmmm */
-        uint8_t b:1;     /* B */
-        uint8_t x:1;     /* X */
-        uint8_t r:1;     /* R */
-        uint8_t pfx:2;   /* pp */
-        uint8_t l:1;     /* L */
-        uint8_t reg:4;   /* vvvv */
-        uint8_t w:1;     /* W */
-    };
-};
-
 #ifdef __x86_64__
 # define PFX2 REX_PREFIX
 #else
@@ -748,27 +617,6 @@ union vex {
     } \
 } while (0)
 
-union evex {
-    uint8_t raw[3];
-    struct {             /* SDM names */
-        uint8_t opcx:2;  /* mm */
-        uint8_t mbz:2;
-        uint8_t R:1;     /* R' */
-        uint8_t b:1;     /* B */
-        uint8_t x:1;     /* X */
-        uint8_t r:1;     /* R */
-        uint8_t pfx:2;   /* pp */
-        uint8_t mbs:1;
-        uint8_t reg:4;   /* vvvv */
-        uint8_t w:1;     /* W */
-        uint8_t opmsk:3; /* aaa */
-        uint8_t RX:1;    /* V' */
-        uint8_t brs:1;   /* b */
-        uint8_t lr:2;    /* L'L */
-        uint8_t z:1;     /* z */
-    };
-};
-
 #define EVEX_PFX_BYTES 4
 #define init_evex(stub) ({ \
     uint8_t *buf_ = get_stub(stub); \
@@ -789,118 +637,6 @@ union evex {
 #define repe_prefix()  (vex.pfx == vex_f3)
 #define repne_prefix() (vex.pfx == vex_f2)
 
-/* Type, address-of, and value of an instruction's operand. */
-struct operand {
-    enum { OP_REG, OP_MEM, OP_IMM, OP_NONE } type;
-    unsigned int bytes;
-
-    /* Operand value. */
-    unsigned long val;
-
-    /* Original operand value. */
-    unsigned long orig_val;
-
-    /* OP_REG: Pointer to register field. */
-    unsigned long *reg;
-
-    /* OP_MEM: Segment and offset. */
-    struct {
-        enum x86_segment seg;
-        unsigned long    off;
-    } mem;
-};
-
-struct x86_emulate_state {
-    unsigned int op_bytes, ad_bytes;
-
-    enum {
-        ext_none = vex_none,
-        ext_0f   = vex_0f,
-        ext_0f38 = vex_0f38,
-        ext_0f3a = vex_0f3a,
-        /*
-         * For XOP use values such that the respective instruction field
-         * can be used without adjustment.
-         */
-        ext_8f08 = 8,
-        ext_8f09,
-        ext_8f0a,
-    } ext;
-    enum {
-        rmw_NONE,
-        rmw_adc,
-        rmw_add,
-        rmw_and,
-        rmw_btc,
-        rmw_btr,
-        rmw_bts,
-        rmw_dec,
-        rmw_inc,
-        rmw_neg,
-        rmw_not,
-        rmw_or,
-        rmw_rcl,
-        rmw_rcr,
-        rmw_rol,
-        rmw_ror,
-        rmw_sar,
-        rmw_sbb,
-        rmw_shl,
-        rmw_shld,
-        rmw_shr,
-        rmw_shrd,
-        rmw_sub,
-        rmw_xadd,
-        rmw_xchg,
-        rmw_xor,
-    } rmw;
-    enum {
-        blk_NONE,
-        blk_enqcmd,
-#ifndef X86EMUL_NO_FPU
-        blk_fld, /* FLDENV, FRSTOR */
-        blk_fst, /* FNSTENV, FNSAVE */
-#endif
-#if !defined(X86EMUL_NO_FPU) || !defined(X86EMUL_NO_MMX) || \
-    !defined(X86EMUL_NO_SIMD)
-        blk_fxrstor,
-        blk_fxsave,
-#endif
-        blk_movdir,
-    } blk;
-    uint8_t modrm, modrm_mod, modrm_reg, modrm_rm;
-    uint8_t sib_index, sib_scale;
-    uint8_t rex_prefix;
-    bool lock_prefix;
-    bool not_64bit; /* Instruction not available in 64bit. */
-    bool fpu_ctrl;  /* Instruction is an FPU control one. */
-    opcode_desc_t desc;
-    union vex vex;
-    union evex evex;
-    enum simd_opsize simd_size;
-
-    /*
-     * Data operand effective address (usually computed from ModRM).
-     * Default is a memory operand relative to segment DS.
-     */
-    struct operand ea;
-
-    /* Immediate operand values, if any. Use otherwise unused fields. */
-#define imm1 ea.val
-#define imm2 ea.orig_val
-
-    unsigned long ip;
-    struct cpu_user_regs *regs;
-
-#ifndef NDEBUG
-    /*
-     * Track caller of x86_decode_insn() to spot missing as well as
-     * premature calls to x86_emulate_free_state().
-     */
-    void *caller;
-#endif
-};
-
 #ifdef __x86_64__
 #define PTR_POISON ((void *)0x8086000000008086UL) /* non-canonical */
 #else
@@ -1049,21 +785,6 @@ struct x86_fxsr {
 #define _BYTES_PER_LONG "4"
 #endif
 
-/*
- * These EFLAGS bits are restored from saved value during emulation, and
- * any changes are written back to the saved value after emulation.
- */
-#define EFLAGS_MASK (X86_EFLAGS_OF | X86_EFLAGS_SF | X86_EFLAGS_ZF | \
-                     X86_EFLAGS_AF | X86_EFLAGS_PF | X86_EFLAGS_CF)
-
-/*
- * These EFLAGS bits are modifiable (by POPF and IRET), possibly subject
- * to further CPL and IOPL constraints.
- */
-#define EFLAGS_MODIFIABLE (X86_EFLAGS_ID | X86_EFLAGS_AC | X86_EFLAGS_RF | \
-                           X86_EFLAGS_NT | X86_EFLAGS_IOPL | X86_EFLAGS_DF | \
-                           X86_EFLAGS_IF | X86_EFLAGS_TF | EFLAGS_MASK)
-
 /* Before executing instruction: restore necessary bits in EFLAGS. */
 #define _PRE_EFLAGS(_sav, _msk, _tmp)                           \
 /* EFLAGS = (_sav & _msk) | (EFLAGS & ~_msk); _sav &= ~_msk; */ \
@@ -1223,36 +944,6 @@ do{ asm volatile (
 #define __emulate_1op_8byte(op, dst, eflags, extra...)
 #endif /* __i386__ */
 
-#define fail_if(p)                                      \
-do {                                                    \
-    rc = (p) ? X86EMUL_UNHANDLEABLE : X86EMUL_OKAY;     \
-    if ( rc ) goto done;                                \
-} while (0)
-
-#define EXPECT(p)                                       \
-do {                                                    \
-    if ( unlikely(!(p)) )                               \
-    {                                                   \
-        ASSERT_UNREACHABLE();                           \
-        goto unhandleable;                              \
-    }                                                   \
-} while (0)
-
-static inline int mkec(uint8_t e, int32_t ec, ...)
-{
-    return (e < 32 && ((1u << e) & EXC_HAS_EC)) ? ec : X86_EVENT_NO_EC;
-}
-
-#define generate_exception_if(p, e, ec...)                                \
-({  if ( (p) ) {                                                          \
-        x86_emul_hw_exception(e, mkec(e, ##ec, 0), ctxt);                 \
-        rc = X86EMUL_EXCEPTION;                                           \
-        goto done;                                                        \
-    }                                                                     \
-})
-
-#define generate_exception(e, ec...) generate_exception_if(true, e, ##ec)
-
 #ifdef __XEN__
 # define invoke_stub(pre, post, constraints...) do {                    \
     stub_exn.info = (union stub_exception_token) { .raw = ~0 };         \
@@ -1301,20 +992,6 @@ static inline int mkec(uint8_t e, int32_
 })
 #define insn_fetch_type(_type) ((_type)insn_fetch_bytes(sizeof(_type)))
 
-#define truncate_word(ea, byte_width)           \
-({  unsigned long __ea = (ea);                  \
-    unsigned int _width = (byte_width);         \
-    ((_width == sizeof(unsigned long)) ? __ea : \
-     (__ea & ((1UL << (_width << 3)) - 1)));    \
-})
-#define truncate_ea(ea) truncate_word((ea), ad_bytes)
-
-#ifdef __x86_64__
-# define mode_64bit() (ctxt->addr_size == 64)
-#else
-# define mode_64bit() false
-#endif
-
 /*
  * Given byte has even parity (even number of 1s)? SDM Vol. 1 Sec. 3.4.3.1,
  * "Status Flags": EFLAGS.PF reflects parity of least-sig. byte of result only.
@@ -1655,19 +1332,6 @@ static void __put_rep_prefix(
     ea__;                                                                 \
 })
 
-/* Compatibility function: read guest memory, zero-extend result to a ulong. */
-static int read_ulong(
-        enum x86_segment seg,
-        unsigned long offset,
-        unsigned long *val,
-        unsigned int bytes,
-        struct x86_emulate_ctxt *ctxt,
-        const struct x86_emulate_ops *ops)
-{
-    *val = 0;
-    return ops->read(seg, offset, val, bytes, ctxt);
-}
-
 /*
  * Unsigned multiplication with double-word result.
  * IN:  Multiplicand=m[0], Multiplier=m[1]
@@ -1792,10 +1456,8 @@ test_cc(
     return (!!rc ^ (condition & 1));
 }
 
-static int
-get_cpl(
-    struct x86_emulate_ctxt *ctxt,
-    const struct x86_emulate_ops  *ops)
+int x86emul_get_cpl(struct x86_emulate_ctxt *ctxt,
+                    const struct x86_emulate_ops *ops)
 {
     struct segment_register reg;
 
@@ -1814,17 +1476,12 @@ _mode_iopl(
     struct x86_emulate_ctxt *ctxt,
     const struct x86_emulate_ops  *ops)
 {
-    int cpl = get_cpl(ctxt, ops);
+    int cpl = x86emul_get_cpl(ctxt, ops);
     if ( cpl == -1 )
         return -1;
     return cpl <= MASK_EXTR(ctxt->regs->eflags, X86_EFLAGS_IOPL);
 }
 
-#define mode_ring0() ({                         \
-    int _cpl = get_cpl(ctxt, ops);              \
-    fail_if(_cpl < 0);                          \
-    (_cpl == 0);                                \
-})
 #define mode_iopl() ({                          \
     int _iopl = _mode_iopl(ctxt, ops);          \
     fail_if(_iopl < 0);                         \
@@ -1832,7 +1489,7 @@ _mode_iopl(
 })
 #define mode_vif() ({                                        \
     cr4 = 0;                                                 \
-    if ( ops->read_cr && get_cpl(ctxt, ops) == 3 )           \
+    if ( ops->read_cr && x86emul_get_cpl(ctxt, ops) == 3 )   \
     {                                                        \
         rc = ops->read_cr(4, &cr4, ctxt);                    \
         if ( rc != X86EMUL_OKAY ) goto done;                 \
@@ -1900,29 +1557,6 @@ static int ioport_access_check(
 }
 
 static bool
-in_realmode(
-    struct x86_emulate_ctxt *ctxt,
-    const struct x86_emulate_ops  *ops)
-{
-    unsigned long cr0;
-    int rc;
-
-    if ( ops->read_cr == NULL )
-        return 0;
-
-    rc = ops->read_cr(0, &cr0, ctxt);
-    return (!rc && !(cr0 & X86_CR0_PE));
-}
-
-static bool
-in_protmode(
-    struct x86_emulate_ctxt *ctxt,
-    const struct x86_emulate_ops  *ops)
-{
-    return !(in_realmode(ctxt, ops) || (ctxt->regs->eflags & X86_EFLAGS_VM));
-}
-
-static bool
 _amd_like(const struct cpuid_policy *cp)
 {
     return cp->x86_vendor & (X86_VENDOR_AMD | X86_VENDOR_HYGON);
@@ -1934,107 +1568,6 @@ amd_like(const struct x86_emulate_ctxt *
     return _amd_like(ctxt->cpuid);
 }
 
-#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_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_tsxldtrk()    (ctxt->cpuid->feat.tsxldtrk)
-#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_avx_vnni()    (ctxt->cpuid->feat.avx_vnni)
-#define vcpu_has_avx512_bf16() (ctxt->cpuid->feat.avx512_bf16)
-
-#define vcpu_must_have(feat) \
-    generate_exception_if(!vcpu_has_##feat(), EXC_UD)
-
-#ifdef __XEN__
-/*
- * Note the difference between vcpu_must_have(<feature>) and
- * host_and_vcpu_must_have(<feature>): The latter needs to be used when
- * emulation code is using the same instruction class for carrying out
- * the actual operation.
- */
-#define host_and_vcpu_must_have(feat) ({ \
-    generate_exception_if(!cpu_has_##feat, EXC_UD); \
-    vcpu_must_have(feat); \
-})
-#else
-/*
- * For the test harness both are fine to be used interchangeably, i.e.
- * features known to always be available (e.g. SSE/SSE2) to (64-bit) Xen
- * may be checked for by just vcpu_must_have().
- */
-#define host_and_vcpu_must_have(feat) vcpu_must_have(feat)
-#endif
-
 /* Initialise output state in x86_emulate_ctxt */
 static void init_context(struct x86_emulate_ctxt *ctxt)
 {
@@ -2081,7 +1614,7 @@ protmode_load_seg(
     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;
-    int cpl = get_cpl(ctxt, ops);
+    int cpl = x86emul_get_cpl(ctxt, ops);
     uint32_t a_flag = 0x100;
     int rc, fault_type = EXC_GP;
 
@@ -2481,17 +2014,6 @@ static bool is_branch_step(struct x86_em
            (debugctl & IA32_DEBUGCTLMSR_BTF);
 }
 
-static bool umip_active(struct x86_emulate_ctxt *ctxt,
-                        const struct x86_emulate_ops *ops)
-{
-    unsigned long cr4;
-
-    /* Intentionally not using mode_ring0() here to avoid its fail_if(). */
-    return get_cpl(ctxt, ops) > 0 &&
-           ops->read_cr && ops->read_cr(4, &cr4, ctxt) == X86EMUL_OKAY &&
-           (cr4 & X86_CR4_UMIP);
-}
-
 static void adjust_bnd(struct x86_emulate_ctxt *ctxt,
                        const struct x86_emulate_ops *ops, enum vex_pfx pfx)
 {
@@ -5703,317 +5225,8 @@ x86_emulate(
         break;
 
     case X86EMUL_OPC(0x0f, 0x01): /* Grp7 */
-    {
-        unsigned long base, limit, cr0, cr0w;
-
-        seg = (modrm_reg & 1) ? x86_seg_idtr : x86_seg_gdtr;
-
-        switch( modrm )
-        {
-        case 0xca: /* clac */
-        case 0xcb: /* stac */
-            vcpu_must_have(smap);
-            generate_exception_if(vex.pfx || !mode_ring0(), EXC_UD);
-
-            _regs.eflags &= ~X86_EFLAGS_AC;
-            if ( modrm == 0xcb )
-                _regs.eflags |= X86_EFLAGS_AC;
-            break;
-
-        case 0xd0: /* xgetbv */
-            generate_exception_if(vex.pfx, EXC_UD);
-            if ( !ops->read_cr || !ops->read_xcr ||
-                 ops->read_cr(4, &cr4, ctxt) != X86EMUL_OKAY )
-                cr4 = 0;
-            generate_exception_if(!(cr4 & X86_CR4_OSXSAVE), EXC_UD);
-            rc = ops->read_xcr(_regs.ecx, &msr_val, ctxt);
-            if ( rc != X86EMUL_OKAY )
-                goto done;
-            _regs.r(ax) = (uint32_t)msr_val;
-            _regs.r(dx) = msr_val >> 32;
-            break;
-
-        case 0xd1: /* xsetbv */
-            generate_exception_if(vex.pfx, EXC_UD);
-            if ( !ops->read_cr || !ops->write_xcr ||
-                 ops->read_cr(4, &cr4, ctxt) != X86EMUL_OKAY )
-                cr4 = 0;
-            generate_exception_if(!(cr4 & X86_CR4_OSXSAVE), EXC_UD);
-            generate_exception_if(!mode_ring0(), EXC_GP, 0);
-            rc = ops->write_xcr(_regs.ecx,
-                                _regs.eax | ((uint64_t)_regs.edx << 32), ctxt);
-            if ( rc != X86EMUL_OKAY )
-                goto done;
-            break;
-
-        case 0xd4: /* vmfunc */
-            generate_exception_if(vex.pfx, EXC_UD);
-            fail_if(!ops->vmfunc);
-            if ( (rc = ops->vmfunc(ctxt)) != X86EMUL_OKAY )
-                goto done;
-            break;
-
-        case 0xd5: /* xend */
-            generate_exception_if(vex.pfx, EXC_UD);
-            generate_exception_if(!vcpu_has_rtm(), EXC_UD);
-            generate_exception_if(vcpu_has_rtm(), EXC_GP, 0);
-            break;
-
-        case 0xd6: /* xtest */
-            generate_exception_if(vex.pfx, EXC_UD);
-            generate_exception_if(!vcpu_has_rtm() && !vcpu_has_hle(),
-                                  EXC_UD);
-            /* Neither HLE nor RTM can be active when we get here. */
-            _regs.eflags |= X86_EFLAGS_ZF;
-            break;
-
-        case 0xdf: /* invlpga */
-            fail_if(!ops->read_msr);
-            if ( (rc = ops->read_msr(MSR_EFER,
-                                     &msr_val, ctxt)) != X86EMUL_OKAY )
-                goto done;
-            /* Finding SVME set implies vcpu_has_svm(). */
-            generate_exception_if(!(msr_val & EFER_SVME) ||
-                                  !in_protmode(ctxt, ops), EXC_UD);
-            generate_exception_if(!mode_ring0(), EXC_GP, 0);
-            fail_if(!ops->tlb_op);
-            if ( (rc = ops->tlb_op(x86emul_invlpga, truncate_ea(_regs.r(ax)),
-                                   _regs.ecx, ctxt)) != X86EMUL_OKAY )
-                goto done;
-            break;
-
-        case 0xe8:
-            switch ( vex.pfx )
-            {
-            case vex_none: /* serialize */
-                host_and_vcpu_must_have(serialize);
-                asm volatile ( ".byte 0x0f, 0x01, 0xe8" );
-                break;
-            case vex_f2: /* xsusldtrk */
-                vcpu_must_have(tsxldtrk);
-                /*
-                 * We're never in a transactional region when coming here
-                 * - nothing else to do.
-                 */
-                break;
-            default:
-                goto unimplemented_insn;
-            }
-            break;
-
-        case 0xe9:
-            switch ( vex.pfx )
-            {
-            case vex_f2: /* xresldtrk */
-                vcpu_must_have(tsxldtrk);
-                /*
-                 * We're never in a transactional region when coming here
-                 * - nothing else to do.
-                 */
-                break;
-            default:
-                goto unimplemented_insn;
-            }
-            break;
-
-        case 0xee:
-            switch ( vex.pfx )
-            {
-            case vex_none: /* rdpkru */
-                if ( !ops->read_cr ||
-                     ops->read_cr(4, &cr4, ctxt) != X86EMUL_OKAY )
-                    cr4 = 0;
-                generate_exception_if(!(cr4 & X86_CR4_PKE), EXC_UD);
-                generate_exception_if(_regs.ecx, EXC_GP, 0);
-                _regs.r(ax) = rdpkru();
-                _regs.r(dx) = 0;
-                break;
-            default:
-                goto unimplemented_insn;
-            }
-            break;
-
-        case 0xef:
-            switch ( vex.pfx )
-            {
-            case vex_none: /* wrpkru */
-                if ( !ops->read_cr ||
-                     ops->read_cr(4, &cr4, ctxt) != X86EMUL_OKAY )
-                    cr4 = 0;
-                generate_exception_if(!(cr4 & X86_CR4_PKE), EXC_UD);
-                generate_exception_if(_regs.ecx | _regs.edx, EXC_GP, 0);
-                wrpkru(_regs.eax);
-                break;
-            default:
-                goto unimplemented_insn;
-            }
-            break;
-
-        case 0xf8: /* swapgs */
-            generate_exception_if(!mode_64bit(), EXC_UD);
-            generate_exception_if(!mode_ring0(), EXC_GP, 0);
-            fail_if(!ops->read_segment || !ops->read_msr ||
-                    !ops->write_segment || !ops->write_msr);
-            if ( (rc = ops->read_segment(x86_seg_gs, &sreg,
-                                         ctxt)) != X86EMUL_OKAY ||
-                 (rc = ops->read_msr(MSR_SHADOW_GS_BASE, &msr_val,
-                                     ctxt)) != X86EMUL_OKAY ||
-                 (rc = ops->write_msr(MSR_SHADOW_GS_BASE, sreg.base,
-                                      ctxt)) != X86EMUL_OKAY )
-                goto done;
-            sreg.base = msr_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;
-
-        case 0xf9: /* rdtscp */
-            fail_if(ops->read_msr == NULL);
-            if ( (rc = ops->read_msr(MSR_TSC_AUX,
-                                     &msr_val, ctxt)) != X86EMUL_OKAY )
-                goto done;
-            _regs.r(cx) = (uint32_t)msr_val;
-            goto rdtsc;
-
-        case 0xfc: /* clzero */
-        {
-            unsigned long zero = 0;
-
-            vcpu_must_have(clzero);
-
-            base = ad_bytes == 8 ? _regs.r(ax) :
-                   ad_bytes == 4 ? _regs.eax : _regs.ax;
-            limit = ctxt->cpuid->basic.clflush_size * 8;
-            generate_exception_if(limit < sizeof(long) ||
-                                  (limit & (limit - 1)), EXC_UD);
-            base &= ~(limit - 1);
-            if ( ops->rep_stos )
-            {
-                unsigned long nr_reps = limit / sizeof(zero);
-
-                rc = ops->rep_stos(&zero, ea.mem.seg, base, sizeof(zero),
-                                   &nr_reps, ctxt);
-                if ( rc == X86EMUL_OKAY )
-                {
-                    base += nr_reps * sizeof(zero);
-                    limit -= nr_reps * sizeof(zero);
-                }
-                else if ( rc != X86EMUL_UNHANDLEABLE )
-                    goto done;
-            }
-            fail_if(limit && !ops->write);
-            while ( limit )
-            {
-                rc = ops->write(ea.mem.seg, base, &zero, sizeof(zero), ctxt);
-                if ( rc != X86EMUL_OKAY )
-                    goto done;
-                base += sizeof(zero);
-                limit -= sizeof(zero);
-            }
-            break;
-        }
-
-#define _GRP7(mod, reg) \
-            (((mod) << 6) | ((reg) << 3)) ... (((mod) << 6) | ((reg) << 3) | 7)
-#define GRP7_MEM(reg) _GRP7(0, reg): case _GRP7(1, reg): case _GRP7(2, reg)
-#define GRP7_ALL(reg) GRP7_MEM(reg): case _GRP7(3, reg)
-
-        case GRP7_MEM(0): /* sgdt */
-        case GRP7_MEM(1): /* sidt */
-            ASSERT(ea.type == OP_MEM);
-            generate_exception_if(umip_active(ctxt, ops), EXC_GP, 0);
-            fail_if(!ops->read_segment || !ops->write);
-            if ( (rc = ops->read_segment(seg, &sreg, ctxt)) )
-                goto done;
-            if ( mode_64bit() )
-                op_bytes = 8;
-            else if ( op_bytes == 2 )
-            {
-                sreg.base &= 0xffffff;
-                op_bytes = 4;
-            }
-            if ( (rc = ops->write(ea.mem.seg, ea.mem.off, &sreg.limit,
-                                  2, ctxt)) != X86EMUL_OKAY ||
-                 (rc = ops->write(ea.mem.seg, truncate_ea(ea.mem.off + 2),
-                                  &sreg.base, op_bytes, ctxt)) != X86EMUL_OKAY )
-                goto done;
-            break;
-
-        case GRP7_MEM(2): /* lgdt */
-        case GRP7_MEM(3): /* lidt */
-            ASSERT(ea.type == OP_MEM);
-            generate_exception_if(!mode_ring0(), EXC_GP, 0);
-            fail_if(ops->write_segment == NULL);
-            memset(&sreg, 0, sizeof(sreg));
-            if ( (rc = read_ulong(ea.mem.seg, ea.mem.off,
-                                  &limit, 2, ctxt, ops)) ||
-                 (rc = read_ulong(ea.mem.seg, truncate_ea(ea.mem.off + 2),
-                                  &base, mode_64bit() ? 8 : 4, ctxt, ops)) )
-                goto done;
-            generate_exception_if(!is_canonical_address(base), EXC_GP, 0);
-            sreg.base = base;
-            sreg.limit = limit;
-            if ( !mode_64bit() && op_bytes == 2 )
-                sreg.base &= 0xffffff;
-            if ( (rc = ops->write_segment(seg, &sreg, ctxt)) )
-                goto done;
-            break;
-
-        case GRP7_ALL(4): /* smsw */
-            generate_exception_if(umip_active(ctxt, ops), EXC_GP, 0);
-            if ( ea.type == OP_MEM )
-            {
-                fail_if(!ops->write);
-                d |= Mov; /* force writeback */
-                ea.bytes = 2;
-            }
-            else
-                ea.bytes = op_bytes;
-            dst = ea;
-            fail_if(ops->read_cr == NULL);
-            if ( (rc = ops->read_cr(0, &dst.val, ctxt)) )
-                goto done;
-            break;
-
-        case GRP7_ALL(6): /* lmsw */
-            fail_if(ops->read_cr == NULL);
-            fail_if(ops->write_cr == NULL);
-            generate_exception_if(!mode_ring0(), EXC_GP, 0);
-            if ( (rc = ops->read_cr(0, &cr0, ctxt)) )
-                goto done;
-            if ( ea.type == OP_REG )
-                cr0w = *ea.reg;
-            else if ( (rc = read_ulong(ea.mem.seg, ea.mem.off,
-                                       &cr0w, 2, ctxt, ops)) )
-                goto done;
-            /* LMSW can: (1) set bits 0-3; (2) clear bits 1-3. */
-            cr0 = (cr0 & ~0xe) | (cr0w & 0xf);
-            if ( (rc = ops->write_cr(0, cr0, ctxt)) )
-                goto done;
-            break;
-
-        case GRP7_MEM(7): /* invlpg */
-            ASSERT(ea.type == OP_MEM);
-            generate_exception_if(!mode_ring0(), EXC_GP, 0);
-            fail_if(!ops->tlb_op);
-            if ( (rc = ops->tlb_op(x86emul_invlpg, ea.mem.off, ea.mem.seg,
-                                   ctxt)) != X86EMUL_OKAY )
-                goto done;
-            break;
-
-#undef GRP7_ALL
-#undef GRP7_MEM
-#undef _GRP7
-
-        default:
-            goto unimplemented_insn;
-        }
-        break;
-    }
+        rc = x86emul_0f01(state, &_regs, &dst, ctxt, ops);
+        goto dispatch_from_helper;
 
     case X86EMUL_OPC(0x0f, 0x02): /* lar */
         generate_exception_if(!in_protmode(ctxt, ops), EXC_UD);
@@ -11309,6 +10522,24 @@ x86_emulate(
     unrecognized_insn:
         rc = X86EMUL_UNRECOGNIZED;
         goto done;
+
+    dispatch_from_helper:
+        if ( rc == X86EMUL_OKAY )
+            break;
+
+        switch ( rc )
+        {
+        case X86EMUL_rdtsc:
+            goto rdtsc;
+        }
+
+        /* Internally used state change indicators may not make it here. */
+        if ( rc < 0 )
+        {
+            ASSERT_UNREACHABLE();
+            rc = X86EMUL_UNHANDLEABLE;
+        }
+        goto done;
     }
 
     if ( state->rmw )



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 12:23:33 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 12:23:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165979.303139 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDnGf-0006YW-MD; Wed, 11 Aug 2021 12:23:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165979.303139; Wed, 11 Aug 2021 12: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 1mDnGf-0006YP-JF; Wed, 11 Aug 2021 12:23:33 +0000
Received: by outflank-mailman (input) for mailman id 165979;
 Wed, 11 Aug 2021 12:23:32 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fjOV=NC=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mDnGe-0006Sk-5X
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 12:23:32 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id ef5a70e6-fa9e-11eb-a06d-12813bfff9fa;
 Wed, 11 Aug 2021 12:23:30 +0000 (UTC)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2106.outbound.protection.outlook.com [104.47.18.106])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-17-4fawh-lRMiGodYJoj2iwAw-2; Wed, 11 Aug 2021 14:23:28 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4351.eurprd04.prod.outlook.com (2603:10a6:803:49::33)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.14; Wed, 11 Aug
 2021 12:23:26 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4394.025; Wed, 11 Aug 2021
 12:23:26 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0P190CA0015.EURP190.PROD.OUTLOOK.COM (2603:10a6:208:190::25) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 12:23:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ef5a70e6-fa9e-11eb-a06d-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628684609;
	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=egYmm6Rdb6BBn3/2r9woL+JT7Fq3SyhFNINnv8zofDY=;
	b=YfeuTk8IMADE718jp5dweF7L/jl6PRbIjVY+6VVw/LQ7eulRvK9/vQuSxBR779/DPxXHi0
	8Qo1PsEP/69iCR6JukvQnCHnauoYGfejmdCdX1yXsaLdLdkooCCO93DdKdlqxyaxB3Ajs2
	Wwp+r5CY2h1u7bxkWxqbAJvoxXA3JLo=
X-MC-Unique: 4fawh-lRMiGodYJoj2iwAw-2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TBE7zlGMZUnjglt8w/7ZpcMxoarQIhQlwbdaV1SEgCSFOQr8qQ70WMQdK1FA9CqJ/uoXpjui/kuf0dlI86DxWtkD9If4que/xoqcx6N9J6IstYX3duxnK/7sPAbhAc5A1b5d9g3NbaI8ZFVJ2OM7NdXrZScj/ErXcpQXj/DrkpfAS4u79zx87fovVC/Nlu2i20cM9IOz8ymlfc+BSBIL8Apa1bLBhRtyXdV9KfSC5/WmU1m6ORep+XJ1U1G9vxETiEJPnrrctSyHgf6JZQKcu3xuH1OhcZUcf4PgXduEIsZY/ofQ41D0svQM9v2W/gmhZ0aOVH/+Pp6pvLfFuMtl9g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=egYmm6Rdb6BBn3/2r9woL+JT7Fq3SyhFNINnv8zofDY=;
 b=j9rQqVizuh9mwtm4H1BOTOkthSrVEO6oNBWdonVKkkrpktoW4owgeGiJyMXl1paddLYxAs7TOlEFNq2SnQg1nXpZjLW26DHH3N3dLM2zjcProH2ha8j5JRM/wfgLwLy4g+zfM5tDkoC1PpJ4HD1YVVm3RAPenmN9WMBjaK3XxC1mEYFAclkB0g0EUiqGmlb05IJ/j6soYyMKJOqz31GZ3DKMWr+PJNuiu6vnWWxqDwBvVepCe9//XYIFVu2qaYcuNtZDezRdfmNB3WD5Dr6Z2n6gUZjIT87WmNBoriv9XvWyZ2NYNo3FqctyyhXb3vTyxUFt7uASbdWDJRuDX0ayFQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: citrix.com; dkim=none (message not signed)
 header.d=none;citrix.com; dmarc=none action=none header.from=suse.com;
Subject: [PATCH 2/7] x86emul: split off opcode 0fae handling
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <bdc58964-e2a8-af36-1653-41c7146bdfc9@suse.com>
Message-ID: <9f73d8a9-56a1-7004-7933-48597201565a@suse.com>
Date: Wed, 11 Aug 2021 14:23:25 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <bdc58964-e2a8-af36-1653-41c7146bdfc9@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM0P190CA0015.EURP190.PROD.OUTLOOK.COM
 (2603:10a6:208:190::25) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: fa0363c0-6128-4339-bedb-08d95cc2d1cf
X-MS-TrafficTypeDiagnostic: VI1PR04MB4351:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4351CE807173FE1579052B55B3F89@VI1PR04MB4351.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:5236;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tvVCrCe7oCWp4dNOb/ipol3QRIv4VnyX2KSiY+U2/cexuwO+9TCe2x27AYnUTBsg2YJB19lktNk6TJ85u0dAHWLHbD7ffQ9R5LJI0oXfCgDU9P8Eu/lXyDmAuExMk5Iy5ZYzp7VxtaUaMuTZBcy5o+WLjaXOLVI9GV1GsgsVHMFTZJXFhxwVH+JCIwR5R/XiFJOnt5JcMbNFR3UzOufq2ngaTUvKFNiI1FwEFuWcrj8Xyq2RZQ/DmNLvWh5SwKl2lUJ+4C8LQLJ4KMvSPupn59XqOflwG5sm0GSy2uBJftLWtlQgNiqujTSJg1FN8p4OdMM7M5lS75kgZzaZDuCh7iXoHcsR06609iW8PpWbNZQEWN3xTs/TDrkG2wu0hpYaAJ2DlRqSLCV25EppjfOP/DlcenMLAhVlqwzlfNhHKtZggdtfD01286YTGqlisGmaHJiAf/GztBZ4xd3RE2uHrUjLjKO6RNVx2mLhE83g4v67kWOxcG3qFqjvLE/w+B8BL5MJ/829Sf4Gz1qjKDtGdyZPwAxA/oNf4TzwjJ5lHhIrF0fFIqjOReQ3JpIlzc7Zegfb7C2Qs/oq8mpUB4AmRTfA46iD97WDNwvfc8LlqiOER/ZAjZNeglPNzg/xsj8q/Zw2bFeGdK7+xcBFkkoUNeEsMWr1zphFvJcNuTQCTKfo5LfhfJVIpgU93KgNlg+5UMwE9Pqz4c2lSIznV6nVscakXXhUgyadED7saL3V4BFaX0FkzHhFwnZrtZbyCQTGy9JJHW0XA2bzLw+mqUClSA9FLE5Cr7VhxlG3wZQjG8Nq/z46gNcTXfCy4e5diLn41Wzl7HEYiS6COyu5bZJhCQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(6486002)(8936002)(316002)(16576012)(2616005)(956004)(8676002)(5660300002)(6916009)(66946007)(36756003)(30864003)(31686004)(2906002)(86362001)(31696002)(186003)(26005)(66556008)(83380400001)(54906003)(508600001)(4326008)(38100700002)(66476007)(2004002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WHRRUGZybDB4ZVpvN0wrTU43cngrMVI5SFhvNlNNRmkxUDIrV01yWWw4NW9l?=
 =?utf-8?B?K3hlR0F5RFk0WXJ6SUJ1cGhnQW5nUnFnMkZ4NWljOWY2ZStCRVdFNm1iWnZV?=
 =?utf-8?B?ZFJLN1dHazRCRit0elFwb2twSnhRSG1tNlUwMWE5bUlHZkZhWmJ0NzJRc0J6?=
 =?utf-8?B?bzRpdGpiWlJVZUNyeHkzdlFrWWRuYzhlZG9HNndIbjJYTTd5cUJrVnJBeldN?=
 =?utf-8?B?TTNwZzdkZkxoRnhvN1JnMktXOTdkQlNsTDVJWUVMUWZIVjVOUUFSSzJJc2Vk?=
 =?utf-8?B?OHdCbW9yZy9nZ1dtQUhudVVhc0tOTC90ZERQYXdnSUd5SWRRSzFoV2MvT3pt?=
 =?utf-8?B?MHhhdGtnS2hwQ2lsVkEvNmhydTBBVVg5dklFNVBrOU1LdDVndG85NkNDRktX?=
 =?utf-8?B?NVZObEJCQktEYmxyQ3BReW1aU1B3N0R0MUoxUVpaS1pBUi9veER0ZGplUjNZ?=
 =?utf-8?B?OU5SNDNsaDlEL0tsZE4zU2ova0RReE9yOU1Gb0kxejBkK1NUNEFZYXg5Z0tE?=
 =?utf-8?B?R3F4U0ljZ1hObXVuWTdNZjlFclZpNHE3d1pFNG5PY1M2TEIxSVRLT3Y4aW9K?=
 =?utf-8?B?d1RJQ2lhSVZXWloxWkVzSFQycElIdUl0TWp0Vy9PWUhOT21zcXhlRHJFNTJD?=
 =?utf-8?B?cU4vNkdMVXlwOS9nM2ZLUHZkVXNTdWxnaE5RZEJUWTdTeWRqZ1dWdy9sb3Ji?=
 =?utf-8?B?RUx1OVBmUnRXb0FTUllBUmk5M0phNXVYTTZ2Y2ZCMUtEUzZVSEs2eTFDYTFD?=
 =?utf-8?B?anE3TG1KWmJNbUVGeVhTYkczQmNpODYrSHlLYkhIZEU3V2tLc3lReHhya0U5?=
 =?utf-8?B?dGVBTVM3eldhRTJ6RG5Na2Y0MHRVQnRXTTRQSzB1eVo5MDhrbS8wRnN2Wnpr?=
 =?utf-8?B?UEtHZDQzVHRHMzhDZ3ZSRW5ad2JGTG9mWEFXYi8vR0RuRTN6cDBxUE0yd1R6?=
 =?utf-8?B?bjkxakdBRjZYQTlYam01TytVWmV5Vk9hNTFqeTBoRlBDRzdxR0xONGNlcFRw?=
 =?utf-8?B?aTNuZDRIendzS3hvaDZDbzlQMUl4T0tKMmtQN3YvdFErM21RWlBQUjlnNG1t?=
 =?utf-8?B?VUtidGlIc2YxaW0vZWE0ayswdGlFdnFkRVp2U1hTN0JpQTUvcU9CQVJGVlkx?=
 =?utf-8?B?QnBZN25KR2JnMWFiNGRvZ2dkbnIyOEp5UG5RWVlzUjJ6OXpwa2RlOUI2NUdL?=
 =?utf-8?B?d1VKWk9LcjdJMWg5akVBY2Q4aUZlRzNWd3o3aG1MTnkyWVVJVXIvRVRqUnlJ?=
 =?utf-8?B?QmpaU25oWjA4anB6MWdreVpxTEtWNlp6NENLS0NGb05Ka2U3dG5lMVpVOEFh?=
 =?utf-8?B?UDFZZitMZnFtbVFPb25iVDVIRXkxV0taYUJueDUwdG5IMDd3bGRMdmFOTkgw?=
 =?utf-8?B?eGs2NlBCbEh3cll4Ui9KR29kemdxSUs3Q1pqZUxZSU5JejAzRDZHdkZFNmk4?=
 =?utf-8?B?UGdTc3VVOElZRXNzYWk3TFFMV1ByVmw1V0doeUVxZTZVT2M4OTdvMlkxbWtB?=
 =?utf-8?B?VHBTV3k4cXNRTElrNFV6KzF6Y0Y5K0VwVmNScHZUeEovQy9IdXJrUVdxOTJD?=
 =?utf-8?B?WGt4cEtMNjVqRWRrN3ZIWDF0ZEM0VTk1dVVkbUJsUFR6Wlc1a21sV0JhQTZJ?=
 =?utf-8?B?QVg1YWFUR3FUZlRXZnRFUkVZVG9EMnVka1ZYRGVHaUdxeFN1YlFWY0VUbXo0?=
 =?utf-8?B?TFJOQklMWVI4RE1leEwrby9ON2dJN1BEcysxZFZNYktzTEtmMndkSjVGT0lq?=
 =?utf-8?Q?gmcGi+x5FmC0eu/8AKPICZVtRgTEq12fYmelvmK?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fa0363c0-6128-4339-bedb-08d95cc2d1cf
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 12:23:26.4398
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CP/VIA5UByil8OkSAx5kJMGcznv6rPWcMrxIgrh4liARRerDnIRL91oLyekSF9F4kfogyugfRA8vJhemWp7O5g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4351

There's a fair amount of sub-cases (with some yet to be implemented), so
a separate function seems warranted.

Code moved gets slightly adjusted in a few places, e.g. replacing EXC_*
by X86_EXC_* (such that EXC_* don't need to move as well; we want these
to be phased out anyway).

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

--- a/tools/fuzz/x86_instruction_emulator/Makefile
+++ b/tools/fuzz/x86_instruction_emulator/Makefile
@@ -35,7 +35,7 @@ x86.h := $(addprefix $(XEN_ROOT)/tools/i
 x86_emulate.h := x86-emulate.h x86_emulate/x86_emulate.h $(x86.h)
 
 OBJS := fuzz-emul.o x86-emulate.o
-OBJS += x86_emulate/0f01.o
+OBJS += x86_emulate/0f01.o x86_emulate/0fae.o
 
 # x86-emulate.c will be implicit for both
 x86-emulate.o x86-emulate-cov.o: x86_emulate/x86_emulate.c $(x86_emulate.h) x86_emulate/private.h
--- a/tools/tests/x86_emulator/Makefile
+++ b/tools/tests/x86_emulator/Makefile
@@ -251,7 +251,7 @@ xop.h avx512f.h: simd-fma.c
 endif # 32-bit override
 
 OBJS := x86-emulate.o cpuid.o test_x86_emulator.o evex-disp8.o predicates.o wrappers.o
-OBJS += x86_emulate/0f01.o
+OBJS += x86_emulate/0f01.o x86_emulate/0fae.o
 
 $(TARGET): $(OBJS)
 	$(HOSTCC) $(HOSTCFLAGS) -o $@ $^
--- /dev/null
+++ b/xen/arch/x86/x86_emulate/0fae.c
@@ -0,0 +1,222 @@
+/******************************************************************************
+ * 0fae.c - helper for x86_emulate.c
+ *
+ * Generic x86 (32-bit and 64-bit) instruction decoder and emulator.
+ *
+ * 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 "private.h"
+
+#if defined(__XEN__) && \
+    (!defined(X86EMUL_NO_FPU) || !defined(X86EMUL_NO_MMX) || \
+     !defined(X86EMUL_NO_SIMD))
+# include <asm/xstate.h>
+#endif
+
+int x86emul_0fae(struct x86_emulate_state *s,
+                 struct cpu_user_regs *regs,
+                 struct operand *dst,
+                 const struct operand *src,
+                 struct x86_emulate_ctxt *ctxt,
+                 const struct x86_emulate_ops *ops,
+                 enum x86_emulate_fpu_type *fpu_type)
+#define fpu_type (*fpu_type) /* for get_fpu() */
+{
+    unsigned long cr4;
+    int rc;
+
+    if ( !s->vex.opcx && (!s->vex.pfx || s->vex.pfx == vex_66) )
+    {
+        switch ( s->modrm_reg & 7 )
+        {
+#if !defined(X86EMUL_NO_FPU) || !defined(X86EMUL_NO_MMX) || \
+    !defined(X86EMUL_NO_SIMD)
+        case 0: /* fxsave */
+        case 1: /* fxrstor */
+            generate_exception_if(s->vex.pfx, X86_EXC_UD);
+            vcpu_must_have(fxsr);
+            generate_exception_if(s->ea.type != OP_MEM, X86_EXC_UD);
+            generate_exception_if(!is_aligned(s->ea.mem.seg, s->ea.mem.off, 16,
+                                              ctxt, ops),
+                                  X86_EXC_GP, 0);
+            fail_if(!ops->blk);
+            s->op_bytes =
+#ifdef __x86_64__
+                !mode_64bit() ? offsetof(struct x86_fxsr, xmm[8]) :
+#endif
+                sizeof(struct x86_fxsr);
+            if ( amd_like(ctxt) )
+            {
+                uint64_t msr_val;
+
+                /* Assume "normal" operation in case of missing hooks. */
+                if ( !ops->read_cr ||
+                     ops->read_cr(4, &cr4, ctxt) != X86EMUL_OKAY )
+                    cr4 = X86_CR4_OSFXSR;
+                if ( !ops->read_msr ||
+                     ops->read_msr(MSR_EFER, &msr_val, ctxt) != X86EMUL_OKAY )
+                    msr_val = 0;
+                if ( !(cr4 & X86_CR4_OSFXSR) ||
+                     (mode_64bit() && mode_ring0() && (msr_val & EFER_FFXSE)) )
+                    s->op_bytes = offsetof(struct x86_fxsr, xmm[0]);
+            }
+            /*
+             * This could also be X86EMUL_FPU_mmx, but it shouldn't be
+             * X86EMUL_FPU_xmm, as we don't want CR4.OSFXSR checked.
+             */
+            get_fpu(X86EMUL_FPU_fpu);
+            s->fpu_ctrl = true;
+            s->blk = s->modrm_reg & 1 ? blk_fxrstor : blk_fxsave;
+            if ( (rc = ops->blk(s->ea.mem.seg, s->ea.mem.off, NULL,
+                                sizeof(struct x86_fxsr), &regs->eflags,
+                                s, ctxt)) != X86EMUL_OKAY )
+                goto done;
+            break;
+#endif /* X86EMUL_NO_{FPU,MMX,SIMD} */
+
+#ifndef X86EMUL_NO_SIMD
+        case 2: /* ldmxcsr */
+            generate_exception_if(s->vex.pfx, X86_EXC_UD);
+            vcpu_must_have(sse);
+        ldmxcsr:
+            generate_exception_if(src->type != OP_MEM, X86_EXC_UD);
+            get_fpu(s->vex.opcx ? X86EMUL_FPU_ymm : X86EMUL_FPU_xmm);
+            generate_exception_if(src->val & ~mxcsr_mask, X86_EXC_GP, 0);
+            asm volatile ( "ldmxcsr %0" :: "m" (src->val) );
+            break;
+
+        case 3: /* stmxcsr */
+            generate_exception_if(s->vex.pfx, X86_EXC_UD);
+            vcpu_must_have(sse);
+        stmxcsr:
+            generate_exception_if(dst->type != OP_MEM, X86_EXC_UD);
+            get_fpu(s->vex.opcx ? X86EMUL_FPU_ymm : X86EMUL_FPU_xmm);
+            asm volatile ( "stmxcsr %0" : "=m" (dst->val) );
+            break;
+#endif /* X86EMUL_NO_SIMD */
+
+        case 5: /* lfence */
+            fail_if(s->modrm_mod != 3);
+            generate_exception_if(s->vex.pfx, X86_EXC_UD);
+            vcpu_must_have(sse2);
+            asm volatile ( "lfence" ::: "memory" );
+            break;
+        case 6:
+            if ( s->modrm_mod == 3 ) /* mfence */
+            {
+                generate_exception_if(s->vex.pfx, X86_EXC_UD);
+                vcpu_must_have(sse2);
+                asm volatile ( "mfence" ::: "memory" );
+                break;
+            }
+            /* else clwb */
+            fail_if(!s->vex.pfx);
+            vcpu_must_have(clwb);
+            fail_if(!ops->cache_op);
+            if ( (rc = ops->cache_op(x86emul_clwb, s->ea.mem.seg, s->ea.mem.off,
+                                     ctxt)) != X86EMUL_OKAY )
+                goto done;
+            break;
+        case 7:
+            if ( s->modrm_mod == 3 ) /* sfence */
+            {
+                generate_exception_if(s->vex.pfx, X86_EXC_UD);
+                vcpu_must_have(mmxext);
+                asm volatile ( "sfence" ::: "memory" );
+                break;
+            }
+            /* else clflush{,opt} */
+            if ( !s->vex.pfx )
+                vcpu_must_have(clflush);
+            else
+                vcpu_must_have(clflushopt);
+            fail_if(!ops->cache_op);
+            if ( (rc = ops->cache_op(s->vex.pfx ? x86emul_clflushopt
+                                                : x86emul_clflush,
+                                     s->ea.mem.seg, s->ea.mem.off,
+                                     ctxt)) != X86EMUL_OKAY )
+                goto done;
+            break;
+        default:
+            return X86EMUL_UNIMPLEMENTED;
+        }
+    }
+#ifndef X86EMUL_NO_SIMD
+    else if ( s->vex.opcx && !s->vex.pfx )
+    {
+        switch ( s->modrm_reg & 7 )
+        {
+        case 2: /* vldmxcsr */
+            generate_exception_if(s->vex.l || s->vex.reg != 0xf, X86_EXC_UD);
+            vcpu_must_have(avx);
+            goto ldmxcsr;
+        case 3: /* vstmxcsr */
+            generate_exception_if(s->vex.l || s->vex.reg != 0xf, X86_EXC_UD);
+            vcpu_must_have(avx);
+            goto stmxcsr;
+        }
+        return X86EMUL_UNRECOGNIZED;
+    }
+#endif /* !X86EMUL_NO_SIMD */
+    else if ( !s->vex.opcx && s->vex.pfx == vex_f3 )
+    {
+        enum x86_segment seg;
+        struct segment_register sreg;
+
+        fail_if(s->modrm_mod != 3);
+        generate_exception_if((s->modrm_reg & 4) || !mode_64bit(), X86_EXC_UD);
+        fail_if(!ops->read_cr);
+        if ( (rc = ops->read_cr(4, &cr4, ctxt)) != X86EMUL_OKAY )
+            goto done;
+        generate_exception_if(!(cr4 & X86_CR4_FSGSBASE), X86_EXC_UD);
+        seg = s->modrm_reg & 1 ? x86_seg_gs : x86_seg_fs;
+        fail_if(!ops->read_segment);
+        if ( (rc = ops->read_segment(seg, &sreg, ctxt)) != X86EMUL_OKAY )
+            goto done;
+        dst->reg = decode_gpr(regs, s->modrm_rm);
+        if ( !(s->modrm_reg & 2) )
+        {
+            /* rd{f,g}sbase */
+            dst->type = OP_REG;
+            dst->bytes = (s->op_bytes == 8) ? 8 : 4;
+            dst->val = sreg.base;
+        }
+        else
+        {
+            /* wr{f,g}sbase */
+            if ( s->op_bytes == 8 )
+            {
+                sreg.base = *dst->reg;
+                generate_exception_if(!is_canonical_address(sreg.base),
+                                      X86_EXC_GP, 0);
+            }
+            else
+                sreg.base = (uint32_t)*dst->reg;
+            fail_if(!ops->write_segment);
+            if ( (rc = ops->write_segment(seg, &sreg, ctxt)) != X86EMUL_OKAY )
+                goto done;
+        }
+    }
+    else
+    {
+        ASSERT_UNREACHABLE();
+        return X86EMUL_UNRECOGNIZED;
+    }
+
+    rc = X86EMUL_OKAY;
+
+ done:
+    return rc;
+}
--- a/xen/arch/x86/x86_emulate/Makefile
+++ b/xen/arch/x86/x86_emulate/Makefile
@@ -1 +1,2 @@
 obj-y += 0f01.o
+obj-y += 0fae.o
--- a/xen/arch/x86/x86_emulate/private.h
+++ b/xen/arch/x86/x86_emulate/private.h
@@ -308,6 +308,29 @@ struct x86_emulate_state {
 #endif
 };
 
+struct x86_fxsr {
+    uint16_t fcw;
+    uint16_t fsw;
+    uint8_t ftw, :8;
+    uint16_t fop;
+    union {
+        struct {
+            uint32_t offs;
+            uint16_t sel, :16;
+        };
+        uint64_t addr;
+    } fip, fdp;
+    uint32_t mxcsr;
+    uint32_t mxcsr_mask;
+    struct {
+        uint8_t data[10];
+        uint16_t :16, :16, :16;
+    } fpreg[8];
+    uint64_t __attribute__ ((aligned(16))) xmm[16][2];
+    uint64_t rsvd[6];
+    uint64_t avl[6];
+};
+
 /*
  * Externally visible return codes from x86_emulate() are non-negative.
  * Use negative values for internal state change indicators from helpers
@@ -397,6 +420,18 @@ in_protmode(
     (_cpl == 0);                                \
 })
 
+static inline bool
+_amd_like(const struct cpuid_policy *cp)
+{
+    return cp->x86_vendor & (X86_VENDOR_AMD | X86_VENDOR_HYGON);
+}
+
+static inline bool
+amd_like(const struct x86_emulate_ctxt *ctxt)
+{
+    return _amd_like(ctxt->cpuid);
+}
+
 #define vcpu_has_fpu()         (ctxt->cpuid->basic.fpu)
 #define vcpu_has_sep()         (ctxt->cpuid->basic.sep)
 #define vcpu_has_cx8()         (ctxt->cpuid->basic.cx8)
@@ -501,11 +536,52 @@ in_protmode(
 int x86emul_get_cpl(struct x86_emulate_ctxt *ctxt,
                     const struct x86_emulate_ops *ops);
 
+int x86emul_get_fpu(enum x86_emulate_fpu_type type,
+                    struct x86_emulate_ctxt *ctxt,
+                    const struct x86_emulate_ops *ops);
+
+#define get_fpu(type)                                           \
+do {                                                            \
+    rc = x86emul_get_fpu(fpu_type = (type), ctxt, ops);         \
+    if ( rc ) goto done;                                        \
+} while (0)
+
 int x86emul_0f01(struct x86_emulate_state *s,
                  struct cpu_user_regs *regs,
                  struct operand *dst,
                  struct x86_emulate_ctxt *ctxt,
                  const struct x86_emulate_ops *ops);
+int x86emul_0fae(struct x86_emulate_state *s,
+                 struct cpu_user_regs *regs,
+                 struct operand *dst,
+                 const struct operand *src,
+                 struct x86_emulate_ctxt *ctxt,
+                 const struct x86_emulate_ops *ops,
+                 enum x86_emulate_fpu_type *fpu_type);
+
+static inline bool is_aligned(enum x86_segment seg, unsigned long offs,
+                              unsigned int size, struct x86_emulate_ctxt *ctxt,
+                              const struct x86_emulate_ops *ops)
+{
+    struct segment_register reg;
+
+    /* Expecting powers of two only. */
+    ASSERT(!(size & (size - 1)));
+
+    if ( mode_64bit() && seg < x86_seg_fs )
+        memset(&reg, 0, sizeof(reg));
+    else
+    {
+        /* No alignment checking when we have no way to read segment data. */
+        if ( !ops->read_segment )
+            return true;
+
+        if ( ops->read_segment(seg, &reg, ctxt) != X86EMUL_OKAY )
+            return false;
+    }
+
+    return !((reg.base + offs) & (size - 1));
+}
 
 static inline bool umip_active(struct x86_emulate_ctxt *ctxt,
                                const struct x86_emulate_ops *ops)
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -695,29 +695,6 @@ typedef union {
     uint32_t data32[16];
 } mmval_t;
 
-struct x86_fxsr {
-    uint16_t fcw;
-    uint16_t fsw;
-    uint8_t ftw, :8;
-    uint16_t fop;
-    union {
-        struct {
-            uint32_t offs;
-            uint16_t sel, :16;
-        };
-        uint64_t addr;
-    } fip, fdp;
-    uint32_t mxcsr;
-    uint32_t mxcsr_mask;
-    struct {
-        uint8_t data[10];
-        uint16_t :16, :16, :16;
-    } fpreg[8];
-    uint64_t __attribute__ ((aligned(16))) xmm[16][2];
-    uint64_t rsvd[6];
-    uint64_t avl[6];
-};
-
 /*
  * While proper alignment gets specified above, this doesn't get honored by
  * the compiler for automatic variables. Use this helper to instantiate a
@@ -1063,7 +1040,7 @@ do {
     ops->write_segment(x86_seg_cs, cs, ctxt);                           \
 })
 
-static int _get_fpu(
+int x86emul_get_fpu(
     enum x86_emulate_fpu_type type,
     struct x86_emulate_ctxt *ctxt,
     const struct x86_emulate_ops *ops)
@@ -1102,7 +1079,7 @@ static int _get_fpu(
         break;
     }
 
-    rc = ops->get_fpu(type, ctxt);
+    rc = (ops->get_fpu)(type, ctxt);
 
     if ( rc == X86EMUL_OKAY )
     {
@@ -1146,12 +1123,6 @@ static int _get_fpu(
     return rc;
 }
 
-#define get_fpu(type)                                           \
-do {                                                            \
-    rc = _get_fpu(fpu_type = (type), ctxt, ops);                \
-    if ( rc ) goto done;                                        \
-} while (0)
-
 static void put_fpu(
     enum x86_emulate_fpu_type type,
     bool failed_late,
@@ -1556,18 +1527,6 @@ static int ioport_access_check(
     return rc;
 }
 
-static bool
-_amd_like(const struct cpuid_policy *cp)
-{
-    return cp->x86_vendor & (X86_VENDOR_AMD | X86_VENDOR_HYGON);
-}
-
-static bool
-amd_like(const struct x86_emulate_ctxt *ctxt)
-{
-    return _amd_like(ctxt->cpuid);
-}
-
 /* Initialise output state in x86_emulate_ctxt */
 static void init_context(struct x86_emulate_ctxt *ctxt)
 {
@@ -1980,30 +1939,6 @@ static unsigned int decode_disp8scale(en
     } \
 } while ( false )
 
-static bool is_aligned(enum x86_segment seg, unsigned long offs,
-                       unsigned int size, struct x86_emulate_ctxt *ctxt,
-                       const struct x86_emulate_ops *ops)
-{
-    struct segment_register reg;
-
-    /* Expecting powers of two only. */
-    ASSERT(!(size & (size - 1)));
-
-    if ( mode_64bit() && seg < x86_seg_fs )
-        memset(&reg, 0, sizeof(reg));
-    else
-    {
-        /* No alignment checking when we have no way to read segment data. */
-        if ( !ops->read_segment )
-            return true;
-
-        if ( ops->read_segment(seg, &reg, ctxt) != X86EMUL_OKAY )
-            return false;
-    }
-
-    return !((reg.base + offs) & (size - 1));
-}
-
 static bool is_branch_step(struct x86_emulate_ctxt *ctxt,
                            const struct x86_emulate_ops *ops)
 {
@@ -3346,7 +3281,8 @@ x86_emulate(
 #ifndef X86EMUL_NO_SIMD
     /* With a memory operand, fetch the mask register in use (if any). */
     if ( ea.type == OP_MEM && evex.opmsk &&
-         _get_fpu(fpu_type = X86EMUL_FPU_opmask, ctxt, ops) == X86EMUL_OKAY )
+         x86emul_get_fpu(fpu_type = X86EMUL_FPU_opmask,
+                         ctxt, ops) == X86EMUL_OKAY )
     {
         uint8_t *stb = get_stub(stub);
 
@@ -3369,7 +3305,7 @@ x86_emulate(
 
     if ( fpu_type == X86EMUL_FPU_opmask )
     {
-        /* Squash (side) effects of the _get_fpu() above. */
+        /* Squash (side) effects of the x86emul_get_fpu() above. */
         x86_emul_reset_event(ctxt);
         put_fpu(X86EMUL_FPU_opmask, false, state, ctxt, ops);
         fpu_type = X86EMUL_FPU_none;
@@ -7434,173 +7370,14 @@ x86_emulate(
             emulate_2op_SrcV_nobyte("bts", src, dst, _regs.eflags);
         break;
 
-    case X86EMUL_OPC(0x0f, 0xae): case X86EMUL_OPC_66(0x0f, 0xae): /* Grp15 */
-        switch ( modrm_reg & 7 )
-        {
-#if !defined(X86EMUL_NO_FPU) || !defined(X86EMUL_NO_MMX) || \
-    !defined(X86EMUL_NO_SIMD)
-        case 0: /* fxsave */
-        case 1: /* fxrstor */
-            generate_exception_if(vex.pfx, EXC_UD);
-            vcpu_must_have(fxsr);
-            generate_exception_if(ea.type != OP_MEM, EXC_UD);
-            generate_exception_if(!is_aligned(ea.mem.seg, ea.mem.off, 16,
-                                              ctxt, ops),
-                                  EXC_GP, 0);
-            fail_if(!ops->blk);
-            op_bytes =
-#ifdef __x86_64__
-                !mode_64bit() ? offsetof(struct x86_fxsr, xmm[8]) :
-#endif
-                sizeof(struct x86_fxsr);
-            if ( amd_like(ctxt) )
-            {
-                /* Assume "normal" operation in case of missing hooks. */
-                if ( !ops->read_cr ||
-                     ops->read_cr(4, &cr4, ctxt) != X86EMUL_OKAY )
-                    cr4 = X86_CR4_OSFXSR;
-                if ( !ops->read_msr ||
-                     ops->read_msr(MSR_EFER, &msr_val, ctxt) != X86EMUL_OKAY )
-                    msr_val = 0;
-                if ( !(cr4 & X86_CR4_OSFXSR) ||
-                     (mode_64bit() && mode_ring0() && (msr_val & EFER_FFXSE)) )
-                    op_bytes = offsetof(struct x86_fxsr, xmm[0]);
-            }
-            /*
-             * This could also be X86EMUL_FPU_mmx, but it shouldn't be
-             * X86EMUL_FPU_xmm, as we don't want CR4.OSFXSR checked.
-             */
-            get_fpu(X86EMUL_FPU_fpu);
-            state->fpu_ctrl = true;
-            state->blk = modrm_reg & 1 ? blk_fxrstor : blk_fxsave;
-            if ( (rc = ops->blk(ea.mem.seg, ea.mem.off, NULL,
-                                sizeof(struct x86_fxsr), &_regs.eflags,
-                                state, ctxt)) != X86EMUL_OKAY )
-                goto done;
-            break;
-#endif /* X86EMUL_NO_{FPU,MMX,SIMD} */
-
-#ifndef X86EMUL_NO_SIMD
-        case 2: /* ldmxcsr */
-            generate_exception_if(vex.pfx, EXC_UD);
-            vcpu_must_have(sse);
-        ldmxcsr:
-            generate_exception_if(src.type != OP_MEM, EXC_UD);
-            get_fpu(vex.opcx ? X86EMUL_FPU_ymm : X86EMUL_FPU_xmm);
-            generate_exception_if(src.val & ~mxcsr_mask, EXC_GP, 0);
-            asm volatile ( "ldmxcsr %0" :: "m" (src.val) );
-            break;
-
-        case 3: /* stmxcsr */
-            generate_exception_if(vex.pfx, EXC_UD);
-            vcpu_must_have(sse);
-        stmxcsr:
-            generate_exception_if(dst.type != OP_MEM, EXC_UD);
-            get_fpu(vex.opcx ? X86EMUL_FPU_ymm : X86EMUL_FPU_xmm);
-            asm volatile ( "stmxcsr %0" : "=m" (dst.val) );
-            break;
-#endif /* X86EMUL_NO_SIMD */
-
-        case 5: /* lfence */
-            fail_if(modrm_mod != 3);
-            generate_exception_if(vex.pfx, EXC_UD);
-            vcpu_must_have(sse2);
-            asm volatile ( "lfence" ::: "memory" );
-            break;
-        case 6:
-            if ( modrm_mod == 3 ) /* mfence */
-            {
-                generate_exception_if(vex.pfx, EXC_UD);
-                vcpu_must_have(sse2);
-                asm volatile ( "mfence" ::: "memory" );
-                break;
-            }
-            /* else clwb */
-            fail_if(!vex.pfx);
-            vcpu_must_have(clwb);
-            fail_if(!ops->cache_op);
-            if ( (rc = ops->cache_op(x86emul_clwb, ea.mem.seg, ea.mem.off,
-                                     ctxt)) != X86EMUL_OKAY )
-                goto done;
-            break;
-        case 7:
-            if ( modrm_mod == 3 ) /* sfence */
-            {
-                generate_exception_if(vex.pfx, EXC_UD);
-                vcpu_must_have(mmxext);
-                asm volatile ( "sfence" ::: "memory" );
-                break;
-            }
-            /* else clflush{,opt} */
-            if ( !vex.pfx )
-                vcpu_must_have(clflush);
-            else
-                vcpu_must_have(clflushopt);
-            fail_if(!ops->cache_op);
-            if ( (rc = ops->cache_op(vex.pfx ? x86emul_clflushopt
-                                             : x86emul_clflush,
-                                     ea.mem.seg, ea.mem.off,
-                                     ctxt)) != X86EMUL_OKAY )
-                goto done;
-            break;
-        default:
-            goto unimplemented_insn;
-        }
-        break;
-
+    case X86EMUL_OPC(0x0f, 0xae): /* Grp15 */
+    case X86EMUL_OPC_66(0x0f, 0xae):
+    case X86EMUL_OPC_F3(0x0f, 0xae):
 #ifndef X86EMUL_NO_SIMD
-
-    case X86EMUL_OPC_VEX(0x0f, 0xae): /* Grp15 */
-        switch ( modrm_reg & 7 )
-        {
-        case 2: /* vldmxcsr */
-            generate_exception_if(vex.l || vex.reg != 0xf, EXC_UD);
-            vcpu_must_have(avx);
-            goto ldmxcsr;
-        case 3: /* vstmxcsr */
-            generate_exception_if(vex.l || vex.reg != 0xf, EXC_UD);
-            vcpu_must_have(avx);
-            goto stmxcsr;
-        }
-        goto unrecognized_insn;
-
-#endif /* !X86EMUL_NO_SIMD */
-
-    case X86EMUL_OPC_F3(0x0f, 0xae): /* Grp15 */
-        fail_if(modrm_mod != 3);
-        generate_exception_if((modrm_reg & 4) || !mode_64bit(), EXC_UD);
-        fail_if(!ops->read_cr);
-        if ( (rc = ops->read_cr(4, &cr4, ctxt)) != X86EMUL_OKAY )
-            goto done;
-        generate_exception_if(!(cr4 & X86_CR4_FSGSBASE), EXC_UD);
-        seg = modrm_reg & 1 ? x86_seg_gs : x86_seg_fs;
-        fail_if(!ops->read_segment);
-        if ( (rc = ops->read_segment(seg, &sreg, ctxt)) != X86EMUL_OKAY )
-            goto done;
-        dst.reg = decode_gpr(&_regs, modrm_rm);
-        if ( !(modrm_reg & 2) )
-        {
-            /* rd{f,g}sbase */
-            dst.type = OP_REG;
-            dst.bytes = (op_bytes == 8) ? 8 : 4;
-            dst.val = sreg.base;
-        }
-        else
-        {
-            /* wr{f,g}sbase */
-            if ( op_bytes == 8 )
-            {
-                sreg.base = *dst.reg;
-                generate_exception_if(!is_canonical_address(sreg.base),
-                                      EXC_GP, 0);
-            }
-            else
-                sreg.base = (uint32_t)*dst.reg;
-            fail_if(!ops->write_segment);
-            if ( (rc = ops->write_segment(seg, &sreg, ctxt)) != X86EMUL_OKAY )
-                goto done;
-        }
-        break;
+    case X86EMUL_OPC_VEX(0x0f, 0xae):
+#endif
+        rc = x86emul_0fae(state, &_regs, &dst, &src, ctxt, ops, &fpu_type);
+        goto dispatch_from_helper;
 
     case X86EMUL_OPC(0x0f, 0xaf): /* imul */
         emulate_2op_SrcV_srcmem("imul", src, dst, _regs.eflags);
@@ -10516,7 +10293,7 @@ x86_emulate(
         goto unrecognized_insn;
 
     default:
-    unimplemented_insn:
+    unimplemented_insn: __maybe_unused;
         rc = X86EMUL_UNIMPLEMENTED;
         goto done;
     unrecognized_insn:



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 12:23:54 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 12:23:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165985.303151 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDnH0-0007BD-6K; Wed, 11 Aug 2021 12:23:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165985.303151; Wed, 11 Aug 2021 12:23:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDnH0-0007B3-3C; Wed, 11 Aug 2021 12:23:54 +0000
Received: by outflank-mailman (input) for mailman id 165985;
 Wed, 11 Aug 2021 12:23:52 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fjOV=NC=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mDnGy-0006zb-9G
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 12:23:52 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id fb735281-fa9e-11eb-a06d-12813bfff9fa;
 Wed, 11 Aug 2021 12:23:50 +0000 (UTC)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2109.outbound.protection.outlook.com [104.47.18.109])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-17-JjQl8DwbPcmtETWA6azgwA-1; Wed, 11 Aug 2021 14:23:48 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4351.eurprd04.prod.outlook.com (2603:10a6:803:49::33)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.14; Wed, 11 Aug
 2021 12:23:47 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4394.025; Wed, 11 Aug 2021
 12:23:47 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM3PR03CA0073.eurprd03.prod.outlook.com (2603:10a6:207:5::31) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 12: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: fb735281-fa9e-11eb-a06d-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628684629;
	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=SaQ/k4jYzi7swFYK8gZr5pavMGbFr3WAaLIuEQsIC24=;
	b=HXMcWEl93tut668JRv8PNyx0gmfg2wNEVwBb3JDPn2iYwehuWezWcPQuJFb3BoY8oeFIQQ
	FVe+VCrGW4pN/T3lqzwE66jkIUGWEi1mxIkCUk2n3rYzas1T+XHaMPx+VnMko5y/64ubh/
	GR8NoKlkXTux+oZnqfGfHVXlZVsjroA=
X-MC-Unique: JjQl8DwbPcmtETWA6azgwA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fYo1X8LMAyc/bZjnX0HaRb5KmMPkfcq/8KZfeWEc0a06sYVweRKmTgMK7ZlOQ/A8ROaeeVwJAVEREvPVs1fAHwe8MnUQVJV8PCIlntvvSx9IudslMXXERvZu5Yi8TOPT0jxFfsqLihiaszI3QUjAB4uLFaInr2nmipNmFgTMnphk+aTExDetwNsSPNQ0Nio/0hQPjxzSo6OaHjpQNaKo0ljgB0aUImzUrDLHPAYnbY8e8oijeLJJA0GmSWUe3xKcOJi9XVEhDR29Fef3vB3ubY7Ik7J0X9LUB3U3c++TQ3ki9/dO7QicC78queVohzmk5fBqw1hvl0Au+7l2p1btHw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SaQ/k4jYzi7swFYK8gZr5pavMGbFr3WAaLIuEQsIC24=;
 b=FO9pWYv5xqruIRtLg4bQVu17t8r7H3hg9YjIJSvym6q3dbE2kMmH0kfAW4Fo2Xsgnu19gmXsliBbHRBCVIRka4nmHZcS62042XRpsPz1nr8sqoWQYrjnGbdjKNT32Cvo9jBV9t+aZFE9Pan3EAlyyBuQyLhREn0x61OMpPNAU63A3kvxeEMj0INJOfAWsBxPZ05YSuM1kxgEPbXTlaVNZz93naeq6SGSTRal0O4T0hRIQDpX4dBOZ8ttvi9b/NqifLfHoF67TxO3Foh6EPtj9lktAAtyUztAd54J7Yzqr34BMYDrNIS6QHkf504iDge+UanyALBJMIOfqJxokaLuGQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: citrix.com; dkim=none (message not signed)
 header.d=none;citrix.com; dmarc=none action=none header.from=suse.com;
Subject: [PATCH 3/7] x86emul: split off opcode 0fc7 handling
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <bdc58964-e2a8-af36-1653-41c7146bdfc9@suse.com>
Message-ID: <fd182db0-6f8d-2591-eab7-bbeeac93157b@suse.com>
Date: Wed, 11 Aug 2021 14:23:45 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <bdc58964-e2a8-af36-1653-41c7146bdfc9@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM3PR03CA0073.eurprd03.prod.outlook.com
 (2603:10a6:207:5::31) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 19aaafc8-6827-4304-7b59-08d95cc2de29
X-MS-TrafficTypeDiagnostic: VI1PR04MB4351:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4351746FDED4CEC3BB9A7773B3F89@VI1PR04MB4351.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:989;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	K6CuchdmD+nQxWNonTqd4dMgQr0hbEeCgT4HKtcg2185R6uYe4Pj1aX0VLoMuHG4aVK1VxHWHgEUz20ErTvAat9kt4dBJ3lNqG2HSAh5eXfsnYsmroO4kZ6VcMY0eEDWm1ndRWeaAKN7inB0Ez8ajoDigM/cMul4TX0ij3OZZnJxpKntGzvjQi7oFgkRzyz0uuzVxBuZMJ87TrLl9E2XLnXL6la4LSXw3i3XpxiNfIG8GnLRksFRvgXzgRZlx3MLK2cvM238U+m5bpMoV1ClTwrEpcFbB8F0cu0oB0nNX7EDBqVWDeHmnMhd5pBbELWLdLjJuv/IE8B6MMJ35bc7DnGcIo5Ebd8nHkmhyte7OKKy7LatVnFiws5F59Mpffa3phc5rVRiUTVGu0GgnIPRTT/kdsG4LPtvbn4vNJ1yGFaV/9ijAlBBNdeStVD/yQBgcruM/IKR/3N3c2RBGLlKr0f2LoUoeZXLalNgBjQBbBcaQYpUYFM+eQWf4dY/N3D0GcJ5fNuaKVE4XH4Cdj3116SC9dfqoDpPwZfggTdIRRBbHF/R+ml91Am9GuBLYoNeCwNvoYTMQtq3cTpIstUBLvMvVafYa956GlgTiqbNrMRmd0of8MopWyr7qzl2q59tDpUCxfjYc+9kwTklsV+GdHo1RHNcEmodKV9uWc62jwQhtuC0Mbcxt9rkQTXWTeB3wloOxhedH7zOHaZt3HdE8O/XQq6xjKSVKx87iEtaHx0/Gjt88zCRc+YFCc6KLZxsSKukhaiU81vZNCDG4wJyka0SZrb7iFY4MVMT7o3UJ4l8wb981s9ChCXBwnwFjyEaPz+pgSNrcVOyq2BW2PGANg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(6486002)(8936002)(316002)(16576012)(2616005)(956004)(8676002)(5660300002)(6916009)(66946007)(36756003)(30864003)(31686004)(2906002)(86362001)(31696002)(186003)(26005)(66556008)(83380400001)(54906003)(508600001)(4326008)(38100700002)(66476007)(2004002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SlRzQzY3dlVYcVpsdkRGc1orQXE2R21ScCs3V1BQWnkyeURYQkVUNkoxbk51?=
 =?utf-8?B?dUFiMEszczdRcFBENXZoeTBnTzV4STdDdHlUR3J6bUw2dkFNZkU4UTFjaGFM?=
 =?utf-8?B?Q3Vza2JSQkk3YWw3b1cvMGZqUWVPd29yTGF0dWk4UkZIWmwwcWRQN0lyMkNZ?=
 =?utf-8?B?bC9wN2RUbW5RdTFTeTBZV1dRSFRPeFVxR1hYeDd5QzRhSlY3ZkNtdE93L2VI?=
 =?utf-8?B?Y1NtcDRJSm0wK3BLVHJWUG1KdGNuZkVGRGJUcVVsZmp3c3dUbGRZK0JsTlRK?=
 =?utf-8?B?UEdlRVdOVThzdjdzZjI1VTVMM0ZVUzMvdmVRUnp6bmFVcVNMOWp1UTBldkVu?=
 =?utf-8?B?NE1JczJrMzNtYnNEQjVCeURxYlREYURuNkcybEovV1FPbURrZkdjdTBWWXU1?=
 =?utf-8?B?amhIamloS1B1SEd1MEtCb2lwVVoxeklLSVp4RWJhcVdjY1RiUWhBRGZnSk1r?=
 =?utf-8?B?SXNYck9DWFhocUx3c3gxbkI4aS9FZS9TM0RtVUxtcEg0U0VHQndOUTBTOFZz?=
 =?utf-8?B?b0hLcC83TTJsUnZNazZwd1FPd2JFTzlsMjVTUlZFOHlQZEZXdEM3MGF4MVd6?=
 =?utf-8?B?Q0dOOWdDOStWaDFOQ0pzYUJpNHd1Q25QNkVWSCt6NVFCWTNqNVl5NGZLYXIz?=
 =?utf-8?B?ekFCMUdTcGh0dWE2dUdpck55WDdDZEQwUlROMUpMSElhczhyMlUrWTBjdWVY?=
 =?utf-8?B?dmVTSC9lcHgrMmcySDU0akdUQWthaW5WNTMzemRxM1dhNkMzU0dtR09yRUZO?=
 =?utf-8?B?Ti95ZXR6Ni8xa0RrOUdaSTByY0FMWXByUXZTczhZSDBGL0JHQ2k3VHhJYjJv?=
 =?utf-8?B?dlVBeEVCZ0tHK2hWVmt3YThVQWxZM1hnZ05zbmtLdWJJcGE4a0diVCtkWEc3?=
 =?utf-8?B?aDdyWVMyYjNyeXpMSEd5L1pzNld3Q2Q5MGpEbFVac1NWdU8zS3d1NSsvVjNR?=
 =?utf-8?B?cjFnRnYrVVZ3b0hOYVF1VkhrT0FpUFd3czlVa0lNZHVLV3RiYlVWeHIxUk0w?=
 =?utf-8?B?V3lsakV6ZEk2a01VanVPTEtxL2NmWThuZ0JJTU9XRGJXL3UyRXFpRmJteEls?=
 =?utf-8?B?cWdDQkVUNXJiSjBaQk5uSXFsMWpmZmpMcWF1a21GazV0ZXV1ZGRuUWFuK21H?=
 =?utf-8?B?NzJyMEthTnVnYXg3c2xTRzMzYlFQSm4zTjhacVdhWWZZSUc2UlhXODRBUHNz?=
 =?utf-8?B?Q3dreFNDc0x5MTU4SFBoTTFJSUJmVTFOREVlM2NDSXdaMTJzdWZKcm1Cdm5y?=
 =?utf-8?B?SzNkaEE2ZDc2VnFuRTlNTU5LWGZ6d3oyd1RWbCtVMU9lVmZ4Qis4Wm1DeUFD?=
 =?utf-8?B?WWI5ZVFoV09KU0ZVUXNWQ0o3bGp5OXh1VG5ybS84a285d0ZKcURHLzJuS0JS?=
 =?utf-8?B?WTlxMTgxREtpYU5KTThLWHd2QU4xRW5kZ0p3V3FNZGhCM01obEZ1TVJCUkEw?=
 =?utf-8?B?YU1KQVU5MUZIaHp6empyc3d5ZXNXakhLYWNpRjh6U3ZWTTIrSWVsMXptcWEv?=
 =?utf-8?B?am1pUjMvVy9JTGpESG9jbFN5alNxQmV3SW56bHduVGgvbS9Ud21TREsrcDRr?=
 =?utf-8?B?dEI5dThUMWxiR3Q5WmVDZmlxVHgvNW85UWlvZUNlSnZtNTdHL0pQTXh0L21i?=
 =?utf-8?B?SUtTUW9jRlFIeG5UQURyOGpQcUtkVDlGaGZUWEg1elYzbEo3ZFQ0WVhsV2lq?=
 =?utf-8?B?Q2tyL1ErSTdBM0N0aUJLa0VlQmZ5SU1kR1YwUDhMd3JNdXd0cXl3NWJUTHVM?=
 =?utf-8?Q?v+krhUPE8P574trivqliYWYn8FD0ND6SymO3Tnu?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 19aaafc8-6827-4304-7b59-08d95cc2de29
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 12:23:47.2566
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Si3MwN+hmv/pp73idfJMXX7Dxw8QaVu8XhF/ectFGXsNzMmy/rynNOblZ0ICdZnGtQaTSHSBlXIMrMd/c2L+Qw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4351

There's a fair amount of sub-cases (with some yet to be implemented), so
a separate function seems warranted.

Code moved gets slightly adjusted in a few places, e.g. replacing EXC_*
by X86_EXC_* (such that EXC_* don't need to move as well; we want these
to be phased out anyway).

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

--- a/tools/fuzz/x86_instruction_emulator/Makefile
+++ b/tools/fuzz/x86_instruction_emulator/Makefile
@@ -35,7 +35,7 @@ x86.h := $(addprefix $(XEN_ROOT)/tools/i
 x86_emulate.h := x86-emulate.h x86_emulate/x86_emulate.h $(x86.h)
 
 OBJS := fuzz-emul.o x86-emulate.o
-OBJS += x86_emulate/0f01.o x86_emulate/0fae.o
+OBJS += x86_emulate/0f01.o x86_emulate/0fae.o x86_emulate/0fc7.o
 
 # x86-emulate.c will be implicit for both
 x86-emulate.o x86-emulate-cov.o: x86_emulate/x86_emulate.c $(x86_emulate.h) x86_emulate/private.h
--- a/tools/tests/x86_emulator/Makefile
+++ b/tools/tests/x86_emulator/Makefile
@@ -251,7 +251,7 @@ xop.h avx512f.h: simd-fma.c
 endif # 32-bit override
 
 OBJS := x86-emulate.o cpuid.o test_x86_emulator.o evex-disp8.o predicates.o wrappers.o
-OBJS += x86_emulate/0f01.o x86_emulate/0fae.o
+OBJS += x86_emulate/0f01.o x86_emulate/0fae.o x86_emulate/0fc7.o
 
 $(TARGET): $(OBJS)
 	$(HOSTCC) $(HOSTCFLAGS) -o $@ $^
--- /dev/null
+++ b/xen/arch/x86/x86_emulate/0fc7.c
@@ -0,0 +1,210 @@
+/******************************************************************************
+ * 0fc7.c - helper for x86_emulate.c
+ *
+ * Generic x86 (32-bit and 64-bit) instruction decoder and emulator.
+ *
+ * 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/>.
+ */
+
+#include "private.h"
+
+/* Avoid namespace pollution. */
+#undef cmpxchg
+
+int x86emul_0fc7(struct x86_emulate_state *s,
+                 struct cpu_user_regs *regs,
+                 struct operand *dst,
+                 struct x86_emulate_ctxt *ctxt,
+                 const struct x86_emulate_ops *ops,
+                 mmval_t *mmvalp)
+{
+    int rc;
+
+    if ( s->ea.type == OP_REG )
+    {
+        bool __maybe_unused carry;
+
+        switch ( s->modrm_reg & 7 )
+        {
+        default:
+            return X86EMUL_UNRECOGNIZED;
+
+        case 6: /* rdrand */
+#ifdef HAVE_AS_RDRAND
+            generate_exception_if(s->vex.pfx >= vex_f3, X86_EXC_UD);
+            host_and_vcpu_must_have(rdrand);
+            *dst = s->ea;
+            switch ( s->op_bytes )
+            {
+            case 2:
+                asm ( "rdrand %w0" ASM_FLAG_OUT(, "; setc %1")
+                      : "=r" (dst->val), ASM_FLAG_OUT("=@ccc", "=qm") (carry) );
+                break;
+            default:
+# ifdef __x86_64__
+                asm ( "rdrand %k0" ASM_FLAG_OUT(, "; setc %1")
+                      : "=r" (dst->val), ASM_FLAG_OUT("=@ccc", "=qm") (carry) );
+                break;
+            case 8:
+# endif
+                asm ( "rdrand %0" ASM_FLAG_OUT(, "; setc %1")
+                      : "=r" (dst->val), ASM_FLAG_OUT("=@ccc", "=qm") (carry) );
+                break;
+            }
+            regs->eflags &= ~EFLAGS_MASK;
+            if ( carry )
+                regs->eflags |= X86_EFLAGS_CF;
+            break;
+#else
+            return X86EMUL_UNIMPLEMENTED;
+#endif
+
+        case 7: /* rdseed / rdpid */
+            if ( s->vex.pfx == vex_f3 ) /* rdpid */
+            {
+                uint64_t msr_val;
+
+                generate_exception_if(s->ea.type != OP_REG, X86_EXC_UD);
+                vcpu_must_have(rdpid);
+                fail_if(!ops->read_msr);
+                if ( (rc = ops->read_msr(MSR_TSC_AUX, &msr_val,
+                                         ctxt)) != X86EMUL_OKAY )
+                    goto done;
+                *dst = s->ea;
+                dst->val = msr_val;
+                dst->bytes = 4;
+                break;
+            }
+#ifdef HAVE_AS_RDSEED
+            generate_exception_if(s->vex.pfx >= vex_f3, X86_EXC_UD);
+            host_and_vcpu_must_have(rdseed);
+            *dst = s->ea;
+            switch ( s->op_bytes )
+            {
+            case 2:
+                asm ( "rdseed %w0" ASM_FLAG_OUT(, "; setc %1")
+                      : "=r" (dst->val), ASM_FLAG_OUT("=@ccc", "=qm") (carry) );
+                break;
+            default:
+# ifdef __x86_64__
+                asm ( "rdseed %k0" ASM_FLAG_OUT(, "; setc %1")
+                      : "=r" (dst->val), ASM_FLAG_OUT("=@ccc", "=qm") (carry) );
+                break;
+            case 8:
+# endif
+                asm ( "rdseed %0" ASM_FLAG_OUT(, "; setc %1")
+                      : "=r" (dst->val), ASM_FLAG_OUT("=@ccc", "=qm") (carry) );
+                break;
+            }
+            regs->eflags &= ~EFLAGS_MASK;
+            if ( carry )
+                regs->eflags |= X86_EFLAGS_CF;
+            break;
+#endif
+        }
+    }
+    else
+    {
+        union {
+            uint32_t u32[2];
+            uint64_t u64[2];
+        } *old, *aux;
+
+        /* cmpxchg8b/cmpxchg16b */
+        generate_exception_if((s->modrm_reg & 7) != 1, X86_EXC_UD);
+        fail_if(!ops->cmpxchg);
+        if ( s->rex_prefix & REX_W )
+        {
+            host_and_vcpu_must_have(cx16);
+            generate_exception_if(!is_aligned(s->ea.mem.seg, s->ea.mem.off, 16,
+                                              ctxt, ops),
+                                  X86_EXC_GP, 0);
+            s->op_bytes = 16;
+        }
+        else
+        {
+            vcpu_must_have(cx8);
+            s->op_bytes = 8;
+        }
+
+        old = container_of(&mmvalp->ymm[0], typeof(*old), u64[0]);
+        aux = container_of(&mmvalp->ymm[2], typeof(*aux), u64[0]);
+
+        /* Get actual old value. */
+        if ( (rc = ops->read(s->ea.mem.seg, s->ea.mem.off, old, s->op_bytes,
+                             ctxt)) != X86EMUL_OKAY )
+            goto done;
+
+        /* Get expected value. */
+        if ( s->op_bytes == 8 )
+        {
+            aux->u32[0] = regs->eax;
+            aux->u32[1] = regs->edx;
+        }
+        else
+        {
+            aux->u64[0] = regs->r(ax);
+            aux->u64[1] = regs->r(dx);
+        }
+
+        if ( memcmp(old, aux, s->op_bytes) )
+        {
+        cmpxchgNb_failed:
+            /* Expected != actual: store actual to rDX:rAX and clear ZF. */
+            regs->r(ax) = s->op_bytes == 8 ? old->u32[0] : old->u64[0];
+            regs->r(dx) = s->op_bytes == 8 ? old->u32[1] : old->u64[1];
+            regs->eflags &= ~X86_EFLAGS_ZF;
+        }
+        else
+        {
+            /*
+             * Expected == actual: Get proposed value, attempt atomic cmpxchg
+             * and set ZF if successful.
+             */
+            if ( s->op_bytes == 8 )
+            {
+                aux->u32[0] = regs->ebx;
+                aux->u32[1] = regs->ecx;
+            }
+            else
+            {
+                aux->u64[0] = regs->r(bx);
+                aux->u64[1] = regs->r(cx);
+            }
+
+            switch ( rc = ops->cmpxchg(s->ea.mem.seg, s->ea.mem.off, old, aux,
+                                       s->op_bytes, s->lock_prefix, ctxt) )
+            {
+            case X86EMUL_OKAY:
+                regs->eflags |= X86_EFLAGS_ZF;
+                break;
+
+            case X86EMUL_CMPXCHG_FAILED:
+                rc = X86EMUL_OKAY;
+                goto cmpxchgNb_failed;
+
+            default:
+                goto done;
+            }
+        }
+    }
+
+    rc = X86EMUL_OKAY;
+
+ done:
+    return rc;
+}
--- a/xen/arch/x86/x86_emulate/Makefile
+++ b/xen/arch/x86/x86_emulate/Makefile
@@ -1,2 +1,3 @@
 obj-y += 0f01.o
 obj-y += 0fae.o
+obj-y += 0fc7.o
--- a/xen/arch/x86/x86_emulate/private.h
+++ b/xen/arch/x86/x86_emulate/private.h
@@ -308,6 +308,14 @@ struct x86_emulate_state {
 #endif
 };
 
+typedef union {
+    uint64_t mmx;
+    uint64_t __attribute__ ((aligned(16))) xmm[2];
+    uint64_t __attribute__ ((aligned(32))) ymm[4];
+    uint64_t __attribute__ ((aligned(64))) zmm[8];
+    uint32_t data32[16];
+} mmval_t;
+
 struct x86_fxsr {
     uint16_t fcw;
     uint16_t fsw;
@@ -558,6 +566,12 @@ int x86emul_0fae(struct x86_emulate_stat
                  struct x86_emulate_ctxt *ctxt,
                  const struct x86_emulate_ops *ops,
                  enum x86_emulate_fpu_type *fpu_type);
+int x86emul_0fc7(struct x86_emulate_state *s,
+                 struct cpu_user_regs *regs,
+                 struct operand *dst,
+                 struct x86_emulate_ctxt *ctxt,
+                 const struct x86_emulate_ops *ops,
+                 mmval_t *mmvalp);
 
 static inline bool is_aligned(enum x86_segment seg, unsigned long offs,
                               unsigned int size, struct x86_emulate_ctxt *ctxt,
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -687,17 +687,9 @@ struct x87_env32 {
 };
 #endif
 
-typedef union {
-    uint64_t mmx;
-    uint64_t __attribute__ ((aligned(16))) xmm[2];
-    uint64_t __attribute__ ((aligned(32))) ymm[4];
-    uint64_t __attribute__ ((aligned(64))) zmm[8];
-    uint32_t data32[16];
-} mmval_t;
-
 /*
- * While proper alignment gets specified above, this doesn't get honored by
- * the compiler for automatic variables. Use this helper to instantiate a
+ * While proper alignment gets specified in mmval_t, this doesn't get honored
+ * by the compiler for automatic variables. Use this helper to instantiate a
  * suitably aligned variable, producing a pointer to access it.
  */
 #define DECLARE_ALIGNED(type, var)                                        \
@@ -7681,174 +7673,8 @@ x86_emulate(
 #endif /* X86EMUL_NO_SIMD */
 
     case X86EMUL_OPC(0x0f, 0xc7): /* Grp9 */
-    {
-        union {
-            uint32_t u32[2];
-            uint64_t u64[2];
-        } *old, *aux;
-
-        if ( ea.type == OP_REG )
-        {
-            bool __maybe_unused carry;
-
-            switch ( modrm_reg & 7 )
-            {
-            default:
-                goto unrecognized_insn;
-
-            case 6: /* rdrand */
-#ifdef HAVE_AS_RDRAND
-                generate_exception_if(rep_prefix(), EXC_UD);
-                host_and_vcpu_must_have(rdrand);
-                dst = ea;
-                switch ( op_bytes )
-                {
-                case 2:
-                    asm ( "rdrand %w0" ASM_FLAG_OUT(, "; setc %1")
-                          : "=r" (dst.val), ASM_FLAG_OUT("=@ccc", "=qm") (carry) );
-                    break;
-                default:
-# ifdef __x86_64__
-                    asm ( "rdrand %k0" ASM_FLAG_OUT(, "; setc %1")
-                          : "=r" (dst.val), ASM_FLAG_OUT("=@ccc", "=qm") (carry) );
-                    break;
-                case 8:
-# endif
-                    asm ( "rdrand %0" ASM_FLAG_OUT(, "; setc %1")
-                          : "=r" (dst.val), ASM_FLAG_OUT("=@ccc", "=qm") (carry) );
-                    break;
-                }
-                _regs.eflags &= ~EFLAGS_MASK;
-                if ( carry )
-                    _regs.eflags |= X86_EFLAGS_CF;
-                break;
-#else
-                goto unimplemented_insn;
-#endif
-
-            case 7: /* rdseed / rdpid */
-                if ( repe_prefix() ) /* rdpid */
-                {
-                    generate_exception_if(ea.type != OP_REG, EXC_UD);
-                    vcpu_must_have(rdpid);
-                    fail_if(!ops->read_msr);
-                    if ( (rc = ops->read_msr(MSR_TSC_AUX, &msr_val,
-                                             ctxt)) != X86EMUL_OKAY )
-                        goto done;
-                    dst = ea;
-                    dst.val = msr_val;
-                    dst.bytes = 4;
-                    break;
-                }
-#ifdef HAVE_AS_RDSEED
-                generate_exception_if(rep_prefix(), EXC_UD);
-                host_and_vcpu_must_have(rdseed);
-                dst = ea;
-                switch ( op_bytes )
-                {
-                case 2:
-                    asm ( "rdseed %w0" ASM_FLAG_OUT(, "; setc %1")
-                          : "=r" (dst.val), ASM_FLAG_OUT("=@ccc", "=qm") (carry) );
-                    break;
-                default:
-# ifdef __x86_64__
-                    asm ( "rdseed %k0" ASM_FLAG_OUT(, "; setc %1")
-                          : "=r" (dst.val), ASM_FLAG_OUT("=@ccc", "=qm") (carry) );
-                    break;
-                case 8:
-# endif
-                    asm ( "rdseed %0" ASM_FLAG_OUT(, "; setc %1")
-                          : "=r" (dst.val), ASM_FLAG_OUT("=@ccc", "=qm") (carry) );
-                    break;
-                }
-                _regs.eflags &= ~EFLAGS_MASK;
-                if ( carry )
-                    _regs.eflags |= X86_EFLAGS_CF;
-                break;
-#endif
-            }
-            break;
-        }
-
-        /* cmpxchg8b/cmpxchg16b */
-        generate_exception_if((modrm_reg & 7) != 1, EXC_UD);
-        fail_if(!ops->cmpxchg);
-        if ( rex_prefix & REX_W )
-        {
-            host_and_vcpu_must_have(cx16);
-            generate_exception_if(!is_aligned(ea.mem.seg, ea.mem.off, 16,
-                                              ctxt, ops),
-                                  EXC_GP, 0);
-            op_bytes = 16;
-        }
-        else
-        {
-            vcpu_must_have(cx8);
-            op_bytes = 8;
-        }
-
-        old = container_of(&mmvalp->ymm[0], typeof(*old), u64[0]);
-        aux = container_of(&mmvalp->ymm[2], typeof(*aux), u64[0]);
-
-        /* Get actual old value. */
-        if ( (rc = ops->read(ea.mem.seg, ea.mem.off, old, op_bytes,
-                             ctxt)) != X86EMUL_OKAY )
-            goto done;
-
-        /* Get expected value. */
-        if ( !(rex_prefix & REX_W) )
-        {
-            aux->u32[0] = _regs.eax;
-            aux->u32[1] = _regs.edx;
-        }
-        else
-        {
-            aux->u64[0] = _regs.r(ax);
-            aux->u64[1] = _regs.r(dx);
-        }
-
-        if ( memcmp(old, aux, op_bytes) )
-        {
-        cmpxchgNb_failed:
-            /* Expected != actual: store actual to rDX:rAX and clear ZF. */
-            _regs.r(ax) = !(rex_prefix & REX_W) ? old->u32[0] : old->u64[0];
-            _regs.r(dx) = !(rex_prefix & REX_W) ? old->u32[1] : old->u64[1];
-            _regs.eflags &= ~X86_EFLAGS_ZF;
-        }
-        else
-        {
-            /*
-             * Expected == actual: Get proposed value, attempt atomic cmpxchg
-             * and set ZF if successful.
-             */
-            if ( !(rex_prefix & REX_W) )
-            {
-                aux->u32[0] = _regs.ebx;
-                aux->u32[1] = _regs.ecx;
-            }
-            else
-            {
-                aux->u64[0] = _regs.r(bx);
-                aux->u64[1] = _regs.r(cx);
-            }
-
-            switch ( rc = ops->cmpxchg(ea.mem.seg, ea.mem.off, old, aux,
-                                       op_bytes, lock_prefix, ctxt) )
-            {
-            case X86EMUL_OKAY:
-                _regs.eflags |= X86_EFLAGS_ZF;
-                break;
-
-            case X86EMUL_CMPXCHG_FAILED:
-                rc = X86EMUL_OKAY;
-                goto cmpxchgNb_failed;
-
-            default:
-                goto done;
-            }
-        }
-        break;
-    }
+        rc =  x86emul_0fc7(state, &_regs, &dst, ctxt, ops, mmvalp);
+        goto dispatch_from_helper;
 
     case X86EMUL_OPC(0x0f, 0xc8) ... X86EMUL_OPC(0x0f, 0xcf): /* bswap */
         dst.type = OP_REG;



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 12:24:20 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 12:24:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.165993.303162 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDnHP-0007ld-H9; Wed, 11 Aug 2021 12:24:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 165993.303162; Wed, 11 Aug 2021 12:24: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 1mDnHP-0007lW-E1; Wed, 11 Aug 2021 12:24:19 +0000
Received: by outflank-mailman (input) for mailman id 165993;
 Wed, 11 Aug 2021 12:24:18 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fjOV=NC=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mDnHO-0007lG-NM
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 12:24:18 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id a60dc70b-20ff-48e3-9e6f-73e34d250243;
 Wed, 11 Aug 2021 12:24:12 +0000 (UTC)
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur02lp2057.outbound.protection.outlook.com [104.47.5.57]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-16-XK7VwbYfN7WEqhNEI6A-kg-1; Wed, 11 Aug 2021 14:24:09 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0402MB3390.eurprd04.prod.outlook.com (2603:10a6:803:9::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.19; Wed, 11 Aug
 2021 12:24:07 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4394.025; Wed, 11 Aug 2021
 12:24:07 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3PR09CA0008.eurprd09.prod.outlook.com (2603:10a6:102:b7::13) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.13 via Frontend Transport; Wed, 11 Aug 2021 12:24:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a60dc70b-20ff-48e3-9e6f-73e34d250243
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628684651;
	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=jGpfVZXELTSVn15kpuMDgT5b/YsWYsiBqFOcD7LjBHw=;
	b=EnQF0uT8MPn7c+9u9vgirhoeEmEFoz20SN29FO1W9L2cQrQXWiddhA5JMe+3x2vn/hoLps
	wj/8Ngj3BhiCMCpjB9m/x5c+DJdXLUpGzUi5El4HebmcNmkkmBmcxK5UC2Y4Hof/eSRuqP
	bZi324EtI4xdPT2JCFl2f0QpiPFncY4=
X-MC-Unique: XK7VwbYfN7WEqhNEI6A-kg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RbNzVlPckRs9d79VdFsmbDfGs/g4IfA3LQ1B414trk4sjEUwZYWuOiXak0EHhrN+ZTw76hkJmhotMxzWgmvyj85nFtPnKhti640LGH+56Tys5318tKU8d6VF2yZZuEM4RIdKk9dS9hKO2M0RrrVbCmzXFhRupYt4kdEXT5kcmww/Q2svBnc34si5DNI4PfQgP81cYSLU4oLQbx5LhxgFd2ZZaZtOBb7QclQLzvIdhpets9442iN0foHmIXlJmXnd9JwyH2Lb6/Z+32zFJxmNpCi2Me33JDMmyrEcpaMFJjuzpZlMDaJqwB7umj78Mr25ZMj5hga+TA3ASXZZBjMM3g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jGpfVZXELTSVn15kpuMDgT5b/YsWYsiBqFOcD7LjBHw=;
 b=nGDqP7y4E8fvGlChPMl52mRq43C98p4ByCqx93TeI3uVRYzlu9q851knQgcfiZQv4tigT7bgQywA/7s4iAjxbqycgUu30qh0/Ub9JV4h3va/n0u/m9S+axZd4WnKbMOCIi9JDP/pW+gnP+52mjiYDQLCzvmVM1ht7iC3rSwbNhpoZ6DNvDa/ALtBupsv9Qy7yqbp68RkP/yg+mjRYcPOLeSS2rWUI4t2fpANtNGaBJ8Hw1EWBA4grjgVo3ZyaLT8z7FYQscqdfKw9GgFrH2k9zMqaZogKaRtfLEI3f2XvNSI9YauR8uRT5kL3a2R3uPzr9sQk2VFfCRDdkBxXwciOA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: citrix.com; dkim=none (message not signed)
 header.d=none;citrix.com; dmarc=none action=none header.from=suse.com;
Subject: [PATCH 4/7] x86emul: split off FPU opcode handling
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <bdc58964-e2a8-af36-1653-41c7146bdfc9@suse.com>
Message-ID: <12b26ef4-540c-f453-c17d-d50dbdcef210@suse.com>
Date: Wed, 11 Aug 2021 14:24:04 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <bdc58964-e2a8-af36-1653-41c7146bdfc9@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3PR09CA0008.eurprd09.prod.outlook.com
 (2603:10a6:102:b7::13) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f188e2ef-0ff9-4a7b-7c48-08d95cc2ea3f
X-MS-TrafficTypeDiagnostic: VI1PR0402MB3390:
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB33901DDB3E93906B1FFB2F88B3F89@VI1PR0402MB3390.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:5797;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	g2JMQ4RSe7/RbNY2E8hsYBe31KQo1IilzAPlwYNAwkTTKwWz6f/ts2FGziQ8xCsvh+BN5PSE/VCVWXi2CROMePZrUEvmayPy9XjSZ63D90YgQ8nAXLHa7Dd4reGyeO6UhuSVle2AE63Y9CuXmRgQ/tcTqctoOiGX1VMCSUt4klFQmcLA2iEMmqyepWvfn9zXXosZWGwGvA5EC//7Csh4+5/IHWjuCM1/bwMoH5SR1xU3fa/cE34KhBYSDSkeIRewhvMcYSI4Hp/UTkc5RHJIeM6gMwFoxz+T7NcQO5Vus47sc8NI2tN88EeBSmwPr3nrTCWZm27oVeigwvX3OFOGbb4XO6srL+ABjpLBaqPSiz2DcuduyTxBm8VmMVJk1RAbA8uYcPVt2gKYK6wu37jBinMDo5FjTRD/nX18O0JbQh+HM1TuyoOh1zjMVucSCP1/NodoFUXOoQBljvSGPsy8DoH5Uso/72Oe7bggU+jgKg9SbcgeyZju6NsC5qRF7Sx76hQ03qI2SCI8ZiAbYdHcaOf2+GLkrjZuinNsDeotUCdEZd3wPSyfd4wRK0YK1il8gOpC36WBZ8fo3wAXvg5PLBKiTeRjfMV5XM8W4DNQ2AA1aCkB1c6fOS1CqVnesJxPR2p+wJNabWhhaVJ/xdSYWVIpxDfKCwsIxsiSCAdRA2mmbg20aH3+MYB0aBA6DOKmCj5Uhpc2aDOpB8MzE/AxJXsI/I1y+tU3PnYucMNxpWSYtDiBE46GxLCqSyo6f6Orw7A2YYLuvc8pXor37GVcyTSQCkKpQ1+iepl8misxY/wxycr6Fb/2pOgAf+YPGwXj6ZNgrFFuboGYbAVt1GgE9VmD44Y5zqp0RP2BOGybCLE=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(366004)(396003)(39860400002)(136003)(346002)(30864003)(31686004)(83380400001)(8936002)(2616005)(6486002)(956004)(16576012)(31696002)(36756003)(316002)(6666004)(86362001)(66946007)(478600001)(38100700002)(66556008)(4326008)(54906003)(5660300002)(26005)(2906002)(6916009)(186003)(8676002)(66476007)(2004002)(45980500001)(43740500002)(559001)(579004)(127564004);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cEdpcDZ6SnFtNG5yN3ZLdkNYOE1pZFdRcGFXUnhVMjhJMlI1VjlIMTB5d01F?=
 =?utf-8?B?ZTgrMXZoWSt3OUUwSkpOWTdVOGpLVXF4RTNnNlNjWjlBUTEwTHlXMDduZWpG?=
 =?utf-8?B?LzA1YkpKSXdDTGdud0FNd0llNzB3UHl3blREMlZaai9yNWJzUFBQMENVYUlJ?=
 =?utf-8?B?dGFGN3JUQXM0OEsrM2lEZnM1UGdXeHZTdW9reGdtQ244T2IrVVR5NC92b0xw?=
 =?utf-8?B?QllDMm1ISjdvaTJNRkIwSXBwVGcrd3BOK2hhMXRHb25MRHliTnA2R3pSYWN4?=
 =?utf-8?B?TjlxYStCcGxYQUVhS1daUkYyNWM5b2dIMm01VHZIbmhVbk1yWGwxQXNqaGNM?=
 =?utf-8?B?aVJxTzNKZmhISElkR28ySG5YT2pBeEZoUjNoZTVndzIrWFNmZUFBWFBoZXpR?=
 =?utf-8?B?M0F0cDhWOG9sbktsd2NaQjJlVE5xdTBmcDlVZUEwQUZrWHJQdmg1UkhzNThz?=
 =?utf-8?B?VHVoajQ0WnU3WDhJR1loRzJ3OXl6YUplK0JlN0JqMzFaS2RXTWhxdkdDSDZs?=
 =?utf-8?B?Q25VQ0xtOVcyUHhaaUtCaXZiS25YRzJPZU11M0NEVEJYb2NrY0RWZjM4elZO?=
 =?utf-8?B?Y3FKaFVwbjE1Q0I5dFpIRkM1bVE4b2l1WGxjdk9LeWpiZEFjL0xlZy9SZWpK?=
 =?utf-8?B?L3pMYit4ZUVOVzFoYmpnanJoak9Xb1QrUlZuT1pJVmtWL0RoUTUyb3lQWjZJ?=
 =?utf-8?B?RU5JYkRBTFh3cFdYSU9KQm5LajUxb2FHSGZJSFA2WDEvM0pvRk91VG9kMFRE?=
 =?utf-8?B?eFJBREl3ZEk0MjNoaHN5WW05Nk1xSms1b04rTVlEakNaVittSE56Q0QrSEZN?=
 =?utf-8?B?dDk0N1V4Q1YvQUlTMEtVMnU2d0JIN2VGWDZnOGtnVThVU0UwaFcza3JGMk16?=
 =?utf-8?B?M2FoY0g2aEFIWjJkUzlKVUxGTEIweFpNTUJVWW5nWW5Gb2ptYnhJSFJUNFNZ?=
 =?utf-8?B?dXYyS0E5NWpaVFp5MXZ2SlBsM0tXTzVmQWtUTkpJMksvWUEyOHdheTVQTThu?=
 =?utf-8?B?b3JPZ3lFUW5ZUWdOczAwSnpsbkZDcVd5U2U0SnBsL2swY3lXY29TMFpUYml0?=
 =?utf-8?B?bWxIazBYQ3ZqN2ZQQzE2VElsT1NqcFp6NFRlNXFPalB4RFJXb1RpdEVNT3lt?=
 =?utf-8?B?d0J3REJPalhaaUIxcWFoaG5wVlEwNGZJaUU1elByQnNvYmtoanYvcmFYWTJu?=
 =?utf-8?B?VVFCczV3Q2hDNHJwek1NaWxHRE5KdUpkS2VnRE1SQWcwN1RQT0N4ajRVbTFo?=
 =?utf-8?B?eWthTUVxL3ZKSW05TTdSL0JEU0M3ZDFLVDQvNUQzYTBoc2loT0dTMGRKdHFo?=
 =?utf-8?B?TTRBT2pBZm5VS05uY1ZwSldJckJzME10UGJKWUFQQWI4dTN1dzJWM1NFc0lC?=
 =?utf-8?B?cmJKZHUrRnFzQjdkc001NWFSd2w0V1F2YWtwcWltYkc3QVk3K3d5Qm5jZmhi?=
 =?utf-8?B?b253TWdpK2pHTmErVkxSdlozSElUbjZLdnRmejBiWGppVDNFQ2dRUEwrdklj?=
 =?utf-8?B?VmdHdlRLWlpXajJaaWJwZW1SYUE5UEkxZGZxbG8ybWNGOWoyQ0s5Wks1dnlP?=
 =?utf-8?B?bThBMFJNQWZpS2xKL3EwUXVlbHZwVlFuVDFFZ1RBNEVUeFA3UFRJWEQxdlMz?=
 =?utf-8?B?WTYwMStzeExOWUdidVFDZlIxSm4rZFIvYmZzb3hMODk4VVdFVjJNd2tNbkNv?=
 =?utf-8?B?VEh2L1VINHB0Sk1jZmtqVWNQZVdUTitQS2Z2N0dHVFVxTU9tQlhUbEgzclpi?=
 =?utf-8?Q?vKZ3m0hzC37P/VNT+S5g7rSsx01n499BqSnX2ZE?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f188e2ef-0ff9-4a7b-7c48-08d95cc2ea3f
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 12:24:07.4724
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: z2cJ2yXyDH6uljseKKgcoz3NcPKnzeccaTedPhhhoJzLXvF+K71E9sykIiYg3ArsKugxzifc/z3lv4N3tQYL6w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3390

Some of the helper functions/macros are needed only for this, and the
code is otherwise relatively independent of other parts of the emulator.

Code moved gets slightly adjusted in a few places, e.g. replacing EXC_*
by X86_EXC_* (such that EXC_* don't need to move as well; we want these
to be phased out anyway).

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

--- a/tools/fuzz/x86_instruction_emulator/Makefile
+++ b/tools/fuzz/x86_instruction_emulator/Makefile
@@ -36,6 +36,7 @@ x86_emulate.h := x86-emulate.h x86_emula
 
 OBJS := fuzz-emul.o x86-emulate.o
 OBJS += x86_emulate/0f01.o x86_emulate/0fae.o x86_emulate/0fc7.o
+OBJS += x86_emulate/fpu.o
 
 # x86-emulate.c will be implicit for both
 x86-emulate.o x86-emulate-cov.o: x86_emulate/x86_emulate.c $(x86_emulate.h) x86_emulate/private.h
--- a/tools/tests/x86_emulator/Makefile
+++ b/tools/tests/x86_emulator/Makefile
@@ -252,6 +252,7 @@ endif # 32-bit override
 
 OBJS := x86-emulate.o cpuid.o test_x86_emulator.o evex-disp8.o predicates.o wrappers.o
 OBJS += x86_emulate/0f01.o x86_emulate/0fae.o x86_emulate/0fc7.o
+OBJS += x86_emulate/fpu.o
 
 $(TARGET): $(OBJS)
 	$(HOSTCC) $(HOSTCFLAGS) -o $@ $^
--- a/tools/tests/x86_emulator/x86-emulate.c
+++ b/tools/tests/x86_emulator/x86-emulate.c
@@ -29,12 +29,6 @@
 # define __OP          "r"  /* Operand Prefix */
 #endif
 
-#define get_stub(stb) ({                         \
-    assert(!(stb).addr);                         \
-    (void *)((stb).addr = (uintptr_t)(stb).buf); \
-})
-#define put_stub(stb) ((stb).addr = 0)
-
 uint32_t mxcsr_mask = 0x0000ffbf;
 struct cpuid_policy cp;
 
--- a/xen/arch/x86/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate.c
@@ -9,7 +9,6 @@
  *    Keir Fraser <keir@xen.org>
  */
 
-#include <xen/domain_page.h>
 #include <xen/err.h>
 #include <xen/event.h>
 #include <asm/x86_emulate.h>
@@ -26,21 +25,6 @@
 #define cpu_has_amd_erratum(nr) \
         cpu_has_amd_erratum(&current_cpu_data, AMD_ERRATUM_##nr)
 
-#define get_stub(stb) ({                                        \
-    BUILD_BUG_ON(STUB_BUF_SIZE / 2 < MAX_INST_LEN + 1);         \
-    ASSERT(!(stb).ptr);                                         \
-    (stb).addr = this_cpu(stubs.addr) + STUB_BUF_SIZE / 2;      \
-    memset(((stb).ptr = map_domain_page(_mfn(this_cpu(stubs.mfn)))) +  \
-           ((stb).addr & ~PAGE_MASK), 0xcc, STUB_BUF_SIZE / 2);        \
-})
-#define put_stub(stb) ({                                   \
-    if ( (stb).ptr )                                       \
-    {                                                      \
-        unmap_domain_page((stb).ptr);                      \
-        (stb).ptr = NULL;                                  \
-    }                                                      \
-})
-
 #define FXSAVE_AREA current->arch.fpu_ctxt
 
 #include "x86_emulate/x86_emulate.c"
--- a/xen/arch/x86/x86_emulate/Makefile
+++ b/xen/arch/x86/x86_emulate/Makefile
@@ -1,3 +1,4 @@
 obj-y += 0f01.o
 obj-y += 0fae.o
 obj-y += 0fc7.o
+obj-$(CONFIG_HVM) += fpu.o
--- /dev/null
+++ b/xen/arch/x86/x86_emulate/fpu.c
@@ -0,0 +1,491 @@
+/******************************************************************************
+ * x86_emulate.c
+ *
+ * Generic x86 (32-bit and 64-bit) instruction decoder and emulator.
+ *
+ * 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/>.
+ */
+
+#include "private.h"
+
+#ifdef __XEN__
+# include <asm/amd.h>
+# define cpu_has_amd_erratum(nr) \
+         cpu_has_amd_erratum(&current_cpu_data, AMD_ERRATUM_##nr)
+#else
+# define cpu_has_amd_erratum(nr) 0
+#endif
+
+/* Floating point status word definitions. */
+#define FSW_ES    (1U << 7)
+
+static inline bool fpu_check_write(void)
+{
+    uint16_t fsw;
+
+    asm ( "fnstsw %0" : "=am" (fsw) );
+
+    return !(fsw & FSW_ES);
+}
+
+#define emulate_fpu_insn_memdst(opc, ext, arg)                          \
+do {                                                                    \
+    /* ModRM: mod=0, reg=ext, rm=0, i.e. a (%rax) operand */            \
+    *insn_bytes = 2;                                                    \
+    memcpy(get_stub(stub),                                              \
+           ((uint8_t[]){ opc, ((ext) & 7) << 3, 0xc3 }), 3);            \
+    invoke_stub("", "", "+m" (arg) : "a" (&(arg)));                     \
+    put_stub(stub);                                                     \
+} while (0)
+
+#define emulate_fpu_insn_memsrc(opc, ext, arg)                          \
+do {                                                                    \
+    /* ModRM: mod=0, reg=ext, rm=0, i.e. a (%rax) operand */            \
+    memcpy(get_stub(stub),                                              \
+           ((uint8_t[]){ opc, ((ext) & 7) << 3, 0xc3 }), 3);            \
+    invoke_stub("", "", "=m" (dummy) : "m" (arg), "a" (&(arg)));        \
+    put_stub(stub);                                                     \
+} while (0)
+
+#define emulate_fpu_insn_stub(bytes...)                                 \
+do {                                                                    \
+    unsigned int nr_ = sizeof((uint8_t[]){ bytes });                    \
+    memcpy(get_stub(stub), ((uint8_t[]){ bytes, 0xc3 }), nr_ + 1);      \
+    invoke_stub("", "", "=m" (dummy) : "i" (0));                        \
+    put_stub(stub);                                                     \
+} while (0)
+
+#define emulate_fpu_insn_stub_eflags(bytes...)                          \
+do {                                                                    \
+    unsigned int nr_ = sizeof((uint8_t[]){ bytes });                    \
+    unsigned long tmp_;                                                 \
+    memcpy(get_stub(stub), ((uint8_t[]){ bytes, 0xc3 }), nr_ + 1);      \
+    invoke_stub(_PRE_EFLAGS("[eflags]", "[mask]", "[tmp]"),             \
+                _POST_EFLAGS("[eflags]", "[mask]", "[tmp]"),            \
+                [eflags] "+g" (regs->eflags), [tmp] "=&r" (tmp_)        \
+                : [mask] "i" (X86_EFLAGS_ZF|X86_EFLAGS_PF|X86_EFLAGS_CF)); \
+    put_stub(stub);                                                     \
+} while (0)
+
+int x86emul_fpu(struct x86_emulate_state *s,
+                struct cpu_user_regs *regs,
+                struct operand *dst,
+                struct operand *src,
+                struct x86_emulate_ctxt *ctxt,
+                const struct x86_emulate_ops *ops,
+                unsigned int *insn_bytes,
+                enum x86_emulate_fpu_type *fpu_type,
+#define fpu_type (*fpu_type) /* for get_fpu() */
+                struct stub_exn *stub_exn,
+#define stub_exn (*stub_exn) /* for invoke_stub() */
+                mmval_t *mmvalp)
+{
+    uint8_t b;
+    int rc;
+    struct x86_emulate_stub stub = {};
+
+    switch ( b = ctxt->opcode )
+    {
+        unsigned long dummy;
+
+    case 0x9b:  /* wait/fwait */
+        host_and_vcpu_must_have(fpu);
+        get_fpu(X86EMUL_FPU_wait);
+        emulate_fpu_insn_stub(b);
+        break;
+
+    case 0xd8: /* FPU 0xd8 */
+        host_and_vcpu_must_have(fpu);
+        get_fpu(X86EMUL_FPU_fpu);
+        switch ( s->modrm )
+        {
+        case 0xc0 ... 0xc7: /* fadd %stN,%st */
+        case 0xc8 ... 0xcf: /* fmul %stN,%st */
+        case 0xd0 ... 0xd7: /* fcom %stN,%st */
+        case 0xd8 ... 0xdf: /* fcomp %stN,%st */
+        case 0xe0 ... 0xe7: /* fsub %stN,%st */
+        case 0xe8 ... 0xef: /* fsubr %stN,%st */
+        case 0xf0 ... 0xf7: /* fdiv %stN,%st */
+        case 0xf8 ... 0xff: /* fdivr %stN,%st */
+            emulate_fpu_insn_stub(0xd8, s->modrm);
+            break;
+        default:
+        fpu_memsrc32:
+            ASSERT(s->ea.type == OP_MEM);
+            if ( (rc = ops->read(s->ea.mem.seg, s->ea.mem.off, &src->val,
+                                 4, ctxt)) != X86EMUL_OKAY )
+                goto done;
+            emulate_fpu_insn_memsrc(b, s->modrm_reg & 7, src->val);
+            break;
+        }
+        break;
+
+    case 0xd9: /* FPU 0xd9 */
+        host_and_vcpu_must_have(fpu);
+        get_fpu(X86EMUL_FPU_fpu);
+        switch ( s->modrm )
+        {
+        case 0xfb: /* fsincos */
+            fail_if(cpu_has_amd_erratum(573));
+            /* fall through */
+        case 0xc0 ... 0xc7: /* fld %stN */
+        case 0xc8 ... 0xcf: /* fxch %stN */
+        case 0xd0: /* fnop */
+        case 0xd8 ... 0xdf: /* fstp %stN (alternative encoding) */
+        case 0xe0: /* fchs */
+        case 0xe1: /* fabs */
+        case 0xe4: /* ftst */
+        case 0xe5: /* fxam */
+        case 0xe8: /* fld1 */
+        case 0xe9: /* fldl2t */
+        case 0xea: /* fldl2e */
+        case 0xeb: /* fldpi */
+        case 0xec: /* fldlg2 */
+        case 0xed: /* fldln2 */
+        case 0xee: /* fldz */
+        case 0xf0: /* f2xm1 */
+        case 0xf1: /* fyl2x */
+        case 0xf2: /* fptan */
+        case 0xf3: /* fpatan */
+        case 0xf4: /* fxtract */
+        case 0xf5: /* fprem1 */
+        case 0xf6: /* fdecstp */
+        case 0xf7: /* fincstp */
+        case 0xf8: /* fprem */
+        case 0xf9: /* fyl2xp1 */
+        case 0xfa: /* fsqrt */
+        case 0xfc: /* frndint */
+        case 0xfd: /* fscale */
+        case 0xfe: /* fsin */
+        case 0xff: /* fcos */
+            emulate_fpu_insn_stub(0xd9, s->modrm);
+            break;
+        default:
+            generate_exception_if(s->ea.type != OP_MEM, X86_EXC_UD);
+            switch ( s->modrm_reg & 7 )
+            {
+            case 0: /* fld m32fp */
+                goto fpu_memsrc32;
+            case 2: /* fst m32fp */
+            case 3: /* fstp m32fp */
+            fpu_memdst32:
+                *dst = s->ea;
+                dst->bytes = 4;
+                emulate_fpu_insn_memdst(b, s->modrm_reg & 7, dst->val);
+                break;
+            case 4: /* fldenv */
+                /* Raise #MF now if there are pending unmasked exceptions. */
+                emulate_fpu_insn_stub(0xd9, 0xd0 /* fnop */);
+                /* fall through */
+            case 6: /* fnstenv */
+                fail_if(!ops->blk);
+                s->blk = s->modrm_reg & 2 ? blk_fst : blk_fld;
+                /*
+                 * REX is meaningless for these insns by this point - (ab)use
+                 * the field to communicate real vs protected mode to ->blk().
+                 */
+                s->rex_prefix = in_protmode(ctxt, ops);
+                if ( (rc = ops->blk(s->ea.mem.seg, s->ea.mem.off, NULL,
+                                    s->op_bytes > 2 ? sizeof(struct x87_env32)
+                                                    : sizeof(struct x87_env16),
+                                    &regs->eflags,
+                                    s, ctxt)) != X86EMUL_OKAY )
+                    goto done;
+                s->fpu_ctrl = true;
+                break;
+            case 5: /* fldcw m2byte */
+                s->fpu_ctrl = true;
+            fpu_memsrc16:
+                if ( (rc = ops->read(s->ea.mem.seg, s->ea.mem.off, &src->val,
+                                     2, ctxt)) != X86EMUL_OKAY )
+                    goto done;
+                emulate_fpu_insn_memsrc(b, s->modrm_reg & 7, src->val);
+                break;
+            case 7: /* fnstcw m2byte */
+                s->fpu_ctrl = true;
+            fpu_memdst16:
+                *dst = s->ea;
+                dst->bytes = 2;
+                emulate_fpu_insn_memdst(b, s->modrm_reg & 7, dst->val);
+                break;
+            default:
+                generate_exception(X86_EXC_UD);
+            }
+            /*
+             * Control instructions can't raise FPU exceptions, so we need
+             * to consider suppressing writes only for non-control ones.
+             */
+            if ( dst->type == OP_MEM && !s->fpu_ctrl && !fpu_check_write() )
+                dst->type = OP_NONE;
+        }
+        break;
+
+    case 0xda: /* FPU 0xda */
+        host_and_vcpu_must_have(fpu);
+        get_fpu(X86EMUL_FPU_fpu);
+        switch ( s->modrm )
+        {
+        case 0xc0 ... 0xc7: /* fcmovb %stN */
+        case 0xc8 ... 0xcf: /* fcmove %stN */
+        case 0xd0 ... 0xd7: /* fcmovbe %stN */
+        case 0xd8 ... 0xdf: /* fcmovu %stN */
+            vcpu_must_have(cmov);
+            emulate_fpu_insn_stub_eflags(0xda, s->modrm);
+            break;
+        case 0xe9:          /* fucompp */
+            emulate_fpu_insn_stub(0xda, s->modrm);
+            break;
+        default:
+            generate_exception_if(s->ea.type != OP_MEM, X86_EXC_UD);
+            goto fpu_memsrc32;
+        }
+        break;
+
+    case 0xdb: /* FPU 0xdb */
+        host_and_vcpu_must_have(fpu);
+        get_fpu(X86EMUL_FPU_fpu);
+        switch ( s->modrm )
+        {
+        case 0xc0 ... 0xc7: /* fcmovnb %stN */
+        case 0xc8 ... 0xcf: /* fcmovne %stN */
+        case 0xd0 ... 0xd7: /* fcmovnbe %stN */
+        case 0xd8 ... 0xdf: /* fcmovnu %stN */
+        case 0xe8 ... 0xef: /* fucomi %stN */
+        case 0xf0 ... 0xf7: /* fcomi %stN */
+            vcpu_must_have(cmov);
+            emulate_fpu_insn_stub_eflags(0xdb, s->modrm);
+            break;
+        case 0xe0: /* fneni - 8087 only, ignored by 287 */
+        case 0xe1: /* fndisi - 8087 only, ignored by 287 */
+        case 0xe2: /* fnclex */
+        case 0xe3: /* fninit */
+        case 0xe4: /* fnsetpm - 287 only, ignored by 387 */
+        /* case 0xe5: frstpm - 287 only, #UD on 387 */
+            s->fpu_ctrl = true;
+            emulate_fpu_insn_stub(0xdb, s->modrm);
+            break;
+        default:
+            generate_exception_if(s->ea.type != OP_MEM, X86_EXC_UD);
+            switch ( s->modrm_reg & 7 )
+            {
+            case 0: /* fild m32i */
+                goto fpu_memsrc32;
+            case 1: /* fisttp m32i */
+                host_and_vcpu_must_have(sse3);
+                /* fall through */
+            case 2: /* fist m32i */
+            case 3: /* fistp m32i */
+                goto fpu_memdst32;
+            case 5: /* fld m80fp */
+            fpu_memsrc80:
+                if ( (rc = ops->read(s->ea.mem.seg, s->ea.mem.off, mmvalp,
+                                     10, ctxt)) != X86EMUL_OKAY )
+                    goto done;
+                emulate_fpu_insn_memsrc(b, s->modrm_reg & 7, *mmvalp);
+                break;
+            case 7: /* fstp m80fp */
+            fpu_memdst80:
+                fail_if(!ops->write);
+                emulate_fpu_insn_memdst(b, s->modrm_reg & 7, *mmvalp);
+                if ( fpu_check_write() &&
+                     (rc = ops->write(s->ea.mem.seg, s->ea.mem.off, mmvalp,
+                                      10, ctxt)) != X86EMUL_OKAY )
+                    goto done;
+                break;
+            default:
+                generate_exception(X86_EXC_UD);
+            }
+        }
+        break;
+
+    case 0xdc: /* FPU 0xdc */
+        host_and_vcpu_must_have(fpu);
+        get_fpu(X86EMUL_FPU_fpu);
+        switch ( s->modrm )
+        {
+        case 0xc0 ... 0xc7: /* fadd %st,%stN */
+        case 0xc8 ... 0xcf: /* fmul %st,%stN */
+        case 0xd0 ... 0xd7: /* fcom %stN,%st (alternative encoding) */
+        case 0xd8 ... 0xdf: /* fcomp %stN,%st (alternative encoding) */
+        case 0xe0 ... 0xe7: /* fsubr %st,%stN */
+        case 0xe8 ... 0xef: /* fsub %st,%stN */
+        case 0xf0 ... 0xf7: /* fdivr %st,%stN */
+        case 0xf8 ... 0xff: /* fdiv %st,%stN */
+            emulate_fpu_insn_stub(0xdc, s->modrm);
+            break;
+        default:
+        fpu_memsrc64:
+            ASSERT(s->ea.type == OP_MEM);
+            if ( (rc = ops->read(s->ea.mem.seg, s->ea.mem.off, &src->val,
+                                 8, ctxt)) != X86EMUL_OKAY )
+                goto done;
+            emulate_fpu_insn_memsrc(b, s->modrm_reg & 7, src->val);
+            break;
+        }
+        break;
+
+    case 0xdd: /* FPU 0xdd */
+        host_and_vcpu_must_have(fpu);
+        get_fpu(X86EMUL_FPU_fpu);
+        switch ( s->modrm )
+        {
+        case 0xc0 ... 0xc7: /* ffree %stN */
+        case 0xc8 ... 0xcf: /* fxch %stN (alternative encoding) */
+        case 0xd0 ... 0xd7: /* fst %stN */
+        case 0xd8 ... 0xdf: /* fstp %stN */
+        case 0xe0 ... 0xe7: /* fucom %stN */
+        case 0xe8 ... 0xef: /* fucomp %stN */
+            emulate_fpu_insn_stub(0xdd, s->modrm);
+            break;
+        default:
+            generate_exception_if(s->ea.type != OP_MEM, X86_EXC_UD);
+            switch ( s->modrm_reg & 7 )
+            {
+            case 0: /* fld m64fp */;
+                goto fpu_memsrc64;
+            case 1: /* fisttp m64i */
+                host_and_vcpu_must_have(sse3);
+                /* fall through */
+            case 2: /* fst m64fp */
+            case 3: /* fstp m64fp */
+            fpu_memdst64:
+                *dst = s->ea;
+                dst->bytes = 8;
+                emulate_fpu_insn_memdst(b, s->modrm_reg & 7, dst->val);
+                break;
+            case 4: /* frstor */
+                /* Raise #MF now if there are pending unmasked exceptions. */
+                emulate_fpu_insn_stub(0xd9, 0xd0 /* fnop */);
+                /* fall through */
+            case 6: /* fnsave */
+                fail_if(!ops->blk);
+                s->blk = s->modrm_reg & 2 ? blk_fst : blk_fld;
+                /*
+                 * REX is meaningless for these insns by this point - (ab)use
+                 * the field to communicate real vs protected mode to ->blk().
+                 */
+                s->rex_prefix = in_protmode(ctxt, ops);
+                if ( (rc = ops->blk(s->ea.mem.seg, s->ea.mem.off, NULL,
+                                    s->op_bytes > 2 ? sizeof(struct x87_env32) + 80
+                                                    : sizeof(struct x87_env16) + 80,
+                                    &regs->eflags,
+                                    s, ctxt)) != X86EMUL_OKAY )
+                    goto done;
+                s->fpu_ctrl = true;
+                break;
+            case 7: /* fnstsw m2byte */
+                s->fpu_ctrl = true;
+                goto fpu_memdst16;
+            default:
+                generate_exception(X86_EXC_UD);
+            }
+            /*
+             * Control instructions can't raise FPU exceptions, so we need
+             * to consider suppressing writes only for non-control ones.
+             */
+            if ( dst->type == OP_MEM && !s->fpu_ctrl && !fpu_check_write() )
+                dst->type = OP_NONE;
+        }
+        break;
+
+    case 0xde: /* FPU 0xde */
+        host_and_vcpu_must_have(fpu);
+        get_fpu(X86EMUL_FPU_fpu);
+        switch ( s->modrm )
+        {
+        case 0xc0 ... 0xc7: /* faddp %stN */
+        case 0xc8 ... 0xcf: /* fmulp %stN */
+        case 0xd0 ... 0xd7: /* fcomp %stN (alternative encoding) */
+        case 0xd9: /* fcompp */
+        case 0xe0 ... 0xe7: /* fsubrp %stN */
+        case 0xe8 ... 0xef: /* fsubp %stN */
+        case 0xf0 ... 0xf7: /* fdivrp %stN */
+        case 0xf8 ... 0xff: /* fdivp %stN */
+            emulate_fpu_insn_stub(0xde, s->modrm);
+            break;
+        default:
+            generate_exception_if(s->ea.type != OP_MEM, X86_EXC_UD);
+            emulate_fpu_insn_memsrc(b, s->modrm_reg & 7, src->val);
+            break;
+        }
+        break;
+
+    case 0xdf: /* FPU 0xdf */
+        host_and_vcpu_must_have(fpu);
+        get_fpu(X86EMUL_FPU_fpu);
+        switch ( s->modrm )
+        {
+        case 0xe0:
+            /* fnstsw %ax */
+            s->fpu_ctrl = true;
+            dst->bytes = 2;
+            dst->type = OP_REG;
+            dst->reg = (void *)&regs->ax;
+            emulate_fpu_insn_memdst(b, s->modrm_reg & 7, dst->val);
+            break;
+        case 0xe8 ... 0xef: /* fucomip %stN */
+        case 0xf0 ... 0xf7: /* fcomip %stN */
+            vcpu_must_have(cmov);
+            emulate_fpu_insn_stub_eflags(0xdf, s->modrm);
+            break;
+        case 0xc0 ... 0xc7: /* ffreep %stN */
+        case 0xc8 ... 0xcf: /* fxch %stN (alternative encoding) */
+        case 0xd0 ... 0xd7: /* fstp %stN (alternative encoding) */
+        case 0xd8 ... 0xdf: /* fstp %stN (alternative encoding) */
+            emulate_fpu_insn_stub(0xdf, s->modrm);
+            break;
+        default:
+            generate_exception_if(s->ea.type != OP_MEM, X86_EXC_UD);
+            switch ( s->modrm_reg & 7 )
+            {
+            case 0: /* fild m16i */
+                goto fpu_memsrc16;
+            case 1: /* fisttp m16i */
+                host_and_vcpu_must_have(sse3);
+                /* fall through */
+            case 2: /* fist m16i */
+            case 3: /* fistp m16i */
+                goto fpu_memdst16;
+            case 4: /* fbld m80dec */
+                goto fpu_memsrc80;
+            case 5: /* fild m64i */
+                dst->type = OP_NONE;
+                goto fpu_memsrc64;
+            case 6: /* fbstp packed bcd */
+                goto fpu_memdst80;
+            case 7: /* fistp m64i */
+                goto fpu_memdst64;
+            }
+        }
+        break;
+
+    default:
+        ASSERT_UNREACHABLE();
+        return X86EMUL_UNHANDLEABLE;
+    }
+
+    rc = X86EMUL_OKAY;
+
+ done:
+    put_stub(stub);
+    return rc;
+
+#ifdef __XEN__
+ emulation_stub_failure:
+    return X86EMUL_stub_failure;
+#endif
+}
--- a/xen/arch/x86/x86_emulate/private.h
+++ b/xen/arch/x86/x86_emulate/private.h
@@ -339,12 +339,57 @@ struct x86_fxsr {
     uint64_t avl[6];
 };
 
+#ifndef X86EMUL_NO_FPU
+struct x87_env16 {
+    uint16_t fcw;
+    uint16_t fsw;
+    uint16_t ftw;
+    union {
+        struct {
+            uint16_t fip_lo;
+            uint16_t fop:11, :1, fip_hi:4;
+            uint16_t fdp_lo;
+            uint16_t :12, fdp_hi:4;
+        } real;
+        struct {
+            uint16_t fip;
+            uint16_t fcs;
+            uint16_t fdp;
+            uint16_t fds;
+        } prot;
+    } mode;
+};
+
+struct x87_env32 {
+    uint32_t fcw:16, :16;
+    uint32_t fsw:16, :16;
+    uint32_t ftw:16, :16;
+    union {
+        struct {
+            /* some CPUs/FPUs also store the full FIP here */
+            uint32_t fip_lo:16, :16;
+            uint32_t fop:11, :1, fip_hi:16, :4;
+            /* some CPUs/FPUs also store the full FDP here */
+            uint32_t fdp_lo:16, :16;
+            uint32_t :12, fdp_hi:16, :4;
+        } real;
+        struct {
+            uint32_t fip;
+            uint32_t fcs:16, fop:11, :5;
+            uint32_t fdp;
+            uint32_t fds:16, :16;
+        } prot;
+    } mode;
+};
+#endif
+
 /*
  * Externally visible return codes from x86_emulate() are non-negative.
  * Use negative values for internal state change indicators from helpers
  * to the main function.
  */
 #define X86EMUL_rdtsc        (-1)
+#define X86EMUL_stub_failure (-2)
 
 /*
  * These EFLAGS bits are restored from saved value during emulation, and
@@ -541,6 +586,113 @@ amd_like(const struct x86_emulate_ctxt *
 # define host_and_vcpu_must_have(feat) vcpu_must_have(feat)
 #endif
 
+/*
+ * Instruction emulation:
+ * Most instructions are emulated directly via a fragment of inline assembly
+ * code. This allows us to save/restore EFLAGS and thus very easily pick up
+ * any modified flags.
+ */
+
+#if defined(__x86_64__)
+#define _LO32 "k"          /* force 32-bit operand */
+#define _STK  "%%rsp"      /* stack pointer */
+#define _BYTES_PER_LONG "8"
+#elif defined(__i386__)
+#define _LO32 ""           /* force 32-bit operand */
+#define _STK  "%%esp"      /* stack pointer */
+#define _BYTES_PER_LONG "4"
+#endif
+
+/* Before executing instruction: restore necessary bits in EFLAGS. */
+#define _PRE_EFLAGS(_sav, _msk, _tmp)                           \
+/* EFLAGS = (_sav & _msk) | (EFLAGS & ~_msk); _sav &= ~_msk; */ \
+"movl %"_LO32 _sav",%"_LO32 _tmp"; "                            \
+"push %"_tmp"; "                                                \
+"push %"_tmp"; "                                                \
+"movl %"_msk",%"_LO32 _tmp"; "                                  \
+"andl %"_LO32 _tmp",("_STK"); "                                 \
+"pushf; "                                                       \
+"notl %"_LO32 _tmp"; "                                          \
+"andl %"_LO32 _tmp",("_STK"); "                                 \
+"andl %"_LO32 _tmp",2*"_BYTES_PER_LONG"("_STK"); "              \
+"pop  %"_tmp"; "                                                \
+"orl  %"_LO32 _tmp",("_STK"); "                                 \
+"popf; "                                                        \
+"pop  %"_tmp"; "                                                \
+"movl %"_LO32 _tmp",%"_LO32 _sav"; "
+
+/* After executing instruction: write-back necessary bits in EFLAGS. */
+#define _POST_EFLAGS(_sav, _msk, _tmp)          \
+/* _sav |= EFLAGS & _msk; */                    \
+"pushf; "                                       \
+"pop  %"_tmp"; "                                \
+"andl %"_msk",%"_LO32 _tmp"; "                  \
+"orl  %"_LO32 _tmp",%"_LO32 _sav"; "
+
+#ifdef __XEN__
+
+# include <xen/domain_page.h>
+# include <asm/uaccess.h>
+
+# define get_stub(stb) ({                                             \
+    BUILD_BUG_ON(STUB_BUF_SIZE / 2 < MAX_INST_LEN + 1);               \
+    ASSERT(!(stb).ptr);                                               \
+    (stb).addr = this_cpu(stubs.addr) + STUB_BUF_SIZE / 2;            \
+    memset(((stb).ptr = map_domain_page(_mfn(this_cpu(stubs.mfn)))) + \
+           ((stb).addr & ~PAGE_MASK), 0xcc, STUB_BUF_SIZE / 2);       \
+})
+
+# define put_stub(stb) ({                                  \
+    if ( (stb).ptr )                                       \
+    {                                                      \
+        unmap_domain_page((stb).ptr);                      \
+        (stb).ptr = NULL;                                  \
+    }                                                      \
+})
+
+struct stub_exn {
+    union stub_exception_token info;
+    unsigned int line;
+};
+
+# define invoke_stub(pre, post, constraints...) do {                    \
+    stub_exn.info = (union stub_exception_token) { .raw = ~0 };         \
+    stub_exn.line = __LINE__; /* Utility outweighs livepatching cost */ \
+    block_speculation(); /* SCSB */                                     \
+    asm volatile ( pre "\n\tINDIRECT_CALL %[stub]\n\t" post "\n"        \
+                   ".Lret%=:\n\t"                                       \
+                   ".pushsection .fixup,\"ax\"\n"                       \
+                   ".Lfix%=:\n\t"                                       \
+                   "pop %[exn]\n\t"                                     \
+                   "jmp .Lret%=\n\t"                                    \
+                   ".popsection\n\t"                                    \
+                   _ASM_EXTABLE(.Lret%=, .Lfix%=)                       \
+                   : [exn] "+g" (stub_exn.info) ASM_CALL_CONSTRAINT,    \
+                     constraints,                                       \
+                     [stub] "r" (stub.func),                            \
+                     "m" (*(uint8_t(*)[MAX_INST_LEN + 1])stub.ptr) );   \
+    if ( unlikely(~stub_exn.info.raw) )                                 \
+        goto emulation_stub_failure;                                    \
+} while (0)
+
+#else /* !__XEN__ */
+
+# define get_stub(stb) ({                        \
+    assert(!(stb).addr);                         \
+    (void *)((stb).addr = (uintptr_t)(stb).buf); \
+})
+
+# define put_stub(stb) ((stb).addr = 0)
+
+struct stub_exn {};
+
+# define invoke_stub(pre, post, constraints...)                         \
+    asm volatile ( pre "\n\tcall *%[stub]\n\t" post                     \
+                   : constraints, [stub] "rm" (stub.func),              \
+                     "m" (*(typeof(stub.buf) *)stub.addr) )
+
+#endif /* __XEN__ */
+
 int x86emul_get_cpl(struct x86_emulate_ctxt *ctxt,
                     const struct x86_emulate_ops *ops);
 
@@ -554,6 +706,16 @@ do {
     if ( rc ) goto done;                                        \
 } while (0)
 
+int x86emul_fpu(struct x86_emulate_state *s,
+                struct cpu_user_regs *regs,
+                struct operand *dst,
+                struct operand *src,
+                struct x86_emulate_ctxt *ctxt,
+                const struct x86_emulate_ops *ops,
+                unsigned int *insn_bytes,
+                enum x86_emulate_fpu_type *fpu_type,
+                struct stub_exn *stub_exn,
+                mmval_t *mmvalp);
 int x86emul_0f01(struct x86_emulate_state *s,
                  struct cpu_user_regs *regs,
                  struct operand *dst,
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -643,50 +643,6 @@ static const uint8_t sse_prefix[] = { 0x
 #define PTR_POISON NULL /* 32-bit builds are for user-space, so NULL is OK. */
 #endif
 
-#ifndef X86EMUL_NO_FPU
-struct x87_env16 {
-    uint16_t fcw;
-    uint16_t fsw;
-    uint16_t ftw;
-    union {
-        struct {
-            uint16_t fip_lo;
-            uint16_t fop:11, :1, fip_hi:4;
-            uint16_t fdp_lo;
-            uint16_t :12, fdp_hi:4;
-        } real;
-        struct {
-            uint16_t fip;
-            uint16_t fcs;
-            uint16_t fdp;
-            uint16_t fds;
-        } prot;
-    } mode;
-};
-
-struct x87_env32 {
-    uint32_t fcw:16, :16;
-    uint32_t fsw:16, :16;
-    uint32_t ftw:16, :16;
-    union {
-        struct {
-            /* some CPUs/FPUs also store the full FIP here */
-            uint32_t fip_lo:16, :16;
-            uint32_t fop:11, :1, fip_hi:16, :4;
-            /* some CPUs/FPUs also store the full FDP here */
-            uint32_t fdp_lo:16, :16;
-            uint32_t :12, fdp_hi:16, :4;
-        } real;
-        struct {
-            uint32_t fip;
-            uint32_t fcs:16, fop:11, :5;
-            uint32_t fdp;
-            uint32_t fds:16, :16;
-        } prot;
-    } mode;
-};
-#endif
-
 /*
  * While proper alignment gets specified in mmval_t, this doesn't get honored
  * by the compiler for automatic variables. Use this helper to instantiate a
@@ -704,9 +660,6 @@ struct x87_env32 {
 # define ASM_FLAG_OUT(yes, no) no
 #endif
 
-/* Floating point status word definitions. */
-#define FSW_ES    (1U << 7)
-
 /* MXCSR bit definitions. */
 #define MXCSR_MM  (1U << 17)
 
@@ -737,49 +690,6 @@ struct x87_env32 {
 #define ECODE_IDT (1 << 1)
 #define ECODE_TI  (1 << 2)
 
-/*
- * Instruction emulation:
- * Most instructions are emulated directly via a fragment of inline assembly
- * code. This allows us to save/restore EFLAGS and thus very easily pick up
- * any modified flags.
- */
-
-#if defined(__x86_64__)
-#define _LO32 "k"          /* force 32-bit operand */
-#define _STK  "%%rsp"      /* stack pointer */
-#define _BYTES_PER_LONG "8"
-#elif defined(__i386__)
-#define _LO32 ""           /* force 32-bit operand */
-#define _STK  "%%esp"      /* stack pointer */
-#define _BYTES_PER_LONG "4"
-#endif
-
-/* Before executing instruction: restore necessary bits in EFLAGS. */
-#define _PRE_EFLAGS(_sav, _msk, _tmp)                           \
-/* EFLAGS = (_sav & _msk) | (EFLAGS & ~_msk); _sav &= ~_msk; */ \
-"movl %"_LO32 _sav",%"_LO32 _tmp"; "                            \
-"push %"_tmp"; "                                                \
-"push %"_tmp"; "                                                \
-"movl %"_msk",%"_LO32 _tmp"; "                                  \
-"andl %"_LO32 _tmp",("_STK"); "                                 \
-"pushf; "                                                       \
-"notl %"_LO32 _tmp"; "                                          \
-"andl %"_LO32 _tmp",("_STK"); "                                 \
-"andl %"_LO32 _tmp",2*"_BYTES_PER_LONG"("_STK"); "              \
-"pop  %"_tmp"; "                                                \
-"orl  %"_LO32 _tmp",("_STK"); "                                 \
-"popf; "                                                        \
-"pop  %"_tmp"; "                                                \
-"movl %"_LO32 _tmp",%"_LO32 _sav"; "
-
-/* After executing instruction: write-back necessary bits in EFLAGS. */
-#define _POST_EFLAGS(_sav, _msk, _tmp)          \
-/* _sav |= EFLAGS & _msk; */                    \
-"pushf; "                                       \
-"pop  %"_tmp"; "                                \
-"andl %"_msk",%"_LO32 _tmp"; "                  \
-"orl  %"_LO32 _tmp",%"_LO32 _sav"; "
-
 /* Raw emulation: instruction has two explicit operands. */
 #define __emulate_2op_nobyte(_op, src, dst, sz, eflags, wsx,wsy,wdx,wdy,   \
                              lsx,lsy,ldx,ldy, qsx,qsy,qdx,qdy, extra...)   \
@@ -913,33 +823,6 @@ do{ asm volatile (
 #define __emulate_1op_8byte(op, dst, eflags, extra...)
 #endif /* __i386__ */
 
-#ifdef __XEN__
-# define invoke_stub(pre, post, constraints...) do {                    \
-    stub_exn.info = (union stub_exception_token) { .raw = ~0 };         \
-    stub_exn.line = __LINE__; /* Utility outweighs livepatching cost */ \
-    block_speculation(); /* SCSB */                                     \
-    asm volatile ( pre "\n\tINDIRECT_CALL %[stub]\n\t" post "\n"        \
-                   ".Lret%=:\n\t"                                       \
-                   ".pushsection .fixup,\"ax\"\n"                       \
-                   ".Lfix%=:\n\t"                                       \
-                   "pop %[exn]\n\t"                                     \
-                   "jmp .Lret%=\n\t"                                    \
-                   ".popsection\n\t"                                    \
-                   _ASM_EXTABLE(.Lret%=, .Lfix%=)                       \
-                   : [exn] "+g" (stub_exn.info) ASM_CALL_CONSTRAINT,    \
-                     constraints,                                       \
-                     [stub] "r" (stub.func),                            \
-                     "m" (*(uint8_t(*)[MAX_INST_LEN + 1])stub.ptr) );   \
-    if ( unlikely(~stub_exn.info.raw) )                                 \
-        goto emulation_stub_failure;                                    \
-} while (0)
-#else
-# define invoke_stub(pre, post, constraints...)                         \
-    asm volatile ( pre "\n\tcall *%[stub]\n\t" post                     \
-                   : constraints, [stub] "rm" (stub.func),              \
-                     "m" (*(typeof(stub.buf) *)stub.addr) )
-#endif
-
 #define emulate_stub(dst, src...) do {                                  \
     unsigned long tmp;                                                  \
     invoke_stub(_PRE_EFLAGS("[efl]", "[msk]", "[tmp]"),                 \
@@ -1162,54 +1045,6 @@ static void put_fpu(
         ops->put_fpu(ctxt, X86EMUL_FPU_none, NULL);
 }
 
-static inline bool fpu_check_write(void)
-{
-    uint16_t fsw;
-
-    asm ( "fnstsw %0" : "=am" (fsw) );
-
-    return !(fsw & FSW_ES);
-}
-
-#define emulate_fpu_insn_memdst(opc, ext, arg)                          \
-do {                                                                    \
-    /* ModRM: mod=0, reg=ext, rm=0, i.e. a (%rax) operand */            \
-    insn_bytes = 2;                                                     \
-    memcpy(get_stub(stub),                                              \
-           ((uint8_t[]){ opc, ((ext) & 7) << 3, 0xc3 }), 3);            \
-    invoke_stub("", "", "+m" (arg) : "a" (&(arg)));                     \
-    put_stub(stub);                                                     \
-} while (0)
-
-#define emulate_fpu_insn_memsrc(opc, ext, arg)                          \
-do {                                                                    \
-    /* ModRM: mod=0, reg=ext, rm=0, i.e. a (%rax) operand */            \
-    memcpy(get_stub(stub),                                              \
-           ((uint8_t[]){ opc, ((ext) & 7) << 3, 0xc3 }), 3);            \
-    invoke_stub("", "", "=m" (dummy) : "m" (arg), "a" (&(arg)));        \
-    put_stub(stub);                                                     \
-} while (0)
-
-#define emulate_fpu_insn_stub(bytes...)                                 \
-do {                                                                    \
-    unsigned int nr_ = sizeof((uint8_t[]){ bytes });                    \
-    memcpy(get_stub(stub), ((uint8_t[]){ bytes, 0xc3 }), nr_ + 1);      \
-    invoke_stub("", "", "=m" (dummy) : "i" (0));                        \
-    put_stub(stub);                                                     \
-} while (0)
-
-#define emulate_fpu_insn_stub_eflags(bytes...)                          \
-do {                                                                    \
-    unsigned int nr_ = sizeof((uint8_t[]){ bytes });                    \
-    unsigned long tmp_;                                                 \
-    memcpy(get_stub(stub), ((uint8_t[]){ bytes, 0xc3 }), nr_ + 1);      \
-    invoke_stub(_PRE_EFLAGS("[eflags]", "[mask]", "[tmp]"),             \
-                _POST_EFLAGS("[eflags]", "[mask]", "[tmp]"),            \
-                [eflags] "+g" (_regs.eflags), [tmp] "=&r" (tmp_)        \
-                : [mask] "i" (X86_EFLAGS_ZF|X86_EFLAGS_PF|X86_EFLAGS_CF)); \
-    put_stub(stub);                                                     \
-} while (0)
-
 static inline unsigned long get_loop_count(
     const struct cpu_user_regs *regs,
     int ad_bytes)
@@ -3154,12 +2989,7 @@ x86_emulate(
     enum x86_emulate_fpu_type fpu_type = X86EMUL_FPU_none;
     struct x86_emulate_stub stub = {};
     DECLARE_ALIGNED(mmval_t, mmval);
-#ifdef __XEN__
-    struct {
-        union stub_exception_token info;
-        unsigned int line;
-    } stub_exn;
-#endif
+    struct stub_exn stub_exn = {};
 
     ASSERT(ops->read);
 
@@ -3950,10 +3780,10 @@ x86_emulate(
 
 #ifndef X86EMUL_NO_FPU
     case 0x9b:  /* wait/fwait */
-        host_and_vcpu_must_have(fpu);
-        get_fpu(X86EMUL_FPU_wait);
-        emulate_fpu_insn_stub(b);
-        break;
+    case 0xd8 ... 0xdf: /* FPU */
+        rc = x86emul_fpu(state, &_regs, &dst, &src, ctxt, ops,
+                         &insn_bytes, &fpu_type, &stub_exn, mmvalp);
+        goto dispatch_from_helper;
 #endif
 
     case 0x9c: /* pushf */
@@ -4364,373 +4194,6 @@ x86_emulate(
         break;
     }
 
-#ifndef X86EMUL_NO_FPU
-    case 0xd8: /* FPU 0xd8 */
-        host_and_vcpu_must_have(fpu);
-        get_fpu(X86EMUL_FPU_fpu);
-        switch ( modrm )
-        {
-        case 0xc0 ... 0xc7: /* fadd %stN,%st */
-        case 0xc8 ... 0xcf: /* fmul %stN,%st */
-        case 0xd0 ... 0xd7: /* fcom %stN,%st */
-        case 0xd8 ... 0xdf: /* fcomp %stN,%st */
-        case 0xe0 ... 0xe7: /* fsub %stN,%st */
-        case 0xe8 ... 0xef: /* fsubr %stN,%st */
-        case 0xf0 ... 0xf7: /* fdiv %stN,%st */
-        case 0xf8 ... 0xff: /* fdivr %stN,%st */
-            emulate_fpu_insn_stub(0xd8, modrm);
-            break;
-        default:
-        fpu_memsrc32:
-            ASSERT(ea.type == OP_MEM);
-            if ( (rc = ops->read(ea.mem.seg, ea.mem.off, &src.val,
-                                 4, ctxt)) != X86EMUL_OKAY )
-                goto done;
-            emulate_fpu_insn_memsrc(b, modrm_reg & 7, src.val);
-            break;
-        }
-        break;
-
-    case 0xd9: /* FPU 0xd9 */
-        host_and_vcpu_must_have(fpu);
-        get_fpu(X86EMUL_FPU_fpu);
-        switch ( modrm )
-        {
-        case 0xfb: /* fsincos */
-            fail_if(cpu_has_amd_erratum(573));
-            /* fall through */
-        case 0xc0 ... 0xc7: /* fld %stN */
-        case 0xc8 ... 0xcf: /* fxch %stN */
-        case 0xd0: /* fnop */
-        case 0xd8 ... 0xdf: /* fstp %stN (alternative encoding) */
-        case 0xe0: /* fchs */
-        case 0xe1: /* fabs */
-        case 0xe4: /* ftst */
-        case 0xe5: /* fxam */
-        case 0xe8: /* fld1 */
-        case 0xe9: /* fldl2t */
-        case 0xea: /* fldl2e */
-        case 0xeb: /* fldpi */
-        case 0xec: /* fldlg2 */
-        case 0xed: /* fldln2 */
-        case 0xee: /* fldz */
-        case 0xf0: /* f2xm1 */
-        case 0xf1: /* fyl2x */
-        case 0xf2: /* fptan */
-        case 0xf3: /* fpatan */
-        case 0xf4: /* fxtract */
-        case 0xf5: /* fprem1 */
-        case 0xf6: /* fdecstp */
-        case 0xf7: /* fincstp */
-        case 0xf8: /* fprem */
-        case 0xf9: /* fyl2xp1 */
-        case 0xfa: /* fsqrt */
-        case 0xfc: /* frndint */
-        case 0xfd: /* fscale */
-        case 0xfe: /* fsin */
-        case 0xff: /* fcos */
-            emulate_fpu_insn_stub(0xd9, modrm);
-            break;
-        default:
-            generate_exception_if(ea.type != OP_MEM, EXC_UD);
-            switch ( modrm_reg & 7 )
-            {
-            case 0: /* fld m32fp */
-                goto fpu_memsrc32;
-            case 2: /* fst m32fp */
-            case 3: /* fstp m32fp */
-            fpu_memdst32:
-                dst = ea;
-                dst.bytes = 4;
-                emulate_fpu_insn_memdst(b, modrm_reg & 7, dst.val);
-                break;
-            case 4: /* fldenv */
-                /* Raise #MF now if there are pending unmasked exceptions. */
-                emulate_fpu_insn_stub(0xd9, 0xd0 /* fnop */);
-                /* fall through */
-            case 6: /* fnstenv */
-                fail_if(!ops->blk);
-                state->blk = modrm_reg & 2 ? blk_fst : blk_fld;
-                /*
-                 * REX is meaningless for these insns by this point - (ab)use
-                 * the field to communicate real vs protected mode to ->blk().
-                 */
-                /*state->*/rex_prefix = in_protmode(ctxt, ops);
-                if ( (rc = ops->blk(ea.mem.seg, ea.mem.off, NULL,
-                                    op_bytes > 2 ? sizeof(struct x87_env32)
-                                                 : sizeof(struct x87_env16),
-                                    &_regs.eflags,
-                                    state, ctxt)) != X86EMUL_OKAY )
-                    goto done;
-                state->fpu_ctrl = true;
-                break;
-            case 5: /* fldcw m2byte */
-                state->fpu_ctrl = true;
-            fpu_memsrc16:
-                if ( (rc = ops->read(ea.mem.seg, ea.mem.off, &src.val,
-                                     2, ctxt)) != X86EMUL_OKAY )
-                    goto done;
-                emulate_fpu_insn_memsrc(b, modrm_reg & 7, src.val);
-                break;
-            case 7: /* fnstcw m2byte */
-                state->fpu_ctrl = true;
-            fpu_memdst16:
-                dst = ea;
-                dst.bytes = 2;
-                emulate_fpu_insn_memdst(b, modrm_reg & 7, dst.val);
-                break;
-            default:
-                generate_exception(EXC_UD);
-            }
-            /*
-             * Control instructions can't raise FPU exceptions, so we need
-             * to consider suppressing writes only for non-control ones.
-             */
-            if ( dst.type == OP_MEM && !state->fpu_ctrl && !fpu_check_write() )
-                dst.type = OP_NONE;
-        }
-        break;
-
-    case 0xda: /* FPU 0xda */
-        host_and_vcpu_must_have(fpu);
-        get_fpu(X86EMUL_FPU_fpu);
-        switch ( modrm )
-        {
-        case 0xc0 ... 0xc7: /* fcmovb %stN */
-        case 0xc8 ... 0xcf: /* fcmove %stN */
-        case 0xd0 ... 0xd7: /* fcmovbe %stN */
-        case 0xd8 ... 0xdf: /* fcmovu %stN */
-            vcpu_must_have(cmov);
-            emulate_fpu_insn_stub_eflags(0xda, modrm);
-            break;
-        case 0xe9:          /* fucompp */
-            emulate_fpu_insn_stub(0xda, modrm);
-            break;
-        default:
-            generate_exception_if(ea.type != OP_MEM, EXC_UD);
-            goto fpu_memsrc32;
-        }
-        break;
-
-    case 0xdb: /* FPU 0xdb */
-        host_and_vcpu_must_have(fpu);
-        get_fpu(X86EMUL_FPU_fpu);
-        switch ( modrm )
-        {
-        case 0xc0 ... 0xc7: /* fcmovnb %stN */
-        case 0xc8 ... 0xcf: /* fcmovne %stN */
-        case 0xd0 ... 0xd7: /* fcmovnbe %stN */
-        case 0xd8 ... 0xdf: /* fcmovnu %stN */
-        case 0xe8 ... 0xef: /* fucomi %stN */
-        case 0xf0 ... 0xf7: /* fcomi %stN */
-            vcpu_must_have(cmov);
-            emulate_fpu_insn_stub_eflags(0xdb, modrm);
-            break;
-        case 0xe0: /* fneni - 8087 only, ignored by 287 */
-        case 0xe1: /* fndisi - 8087 only, ignored by 287 */
-        case 0xe2: /* fnclex */
-        case 0xe3: /* fninit */
-        case 0xe4: /* fnsetpm - 287 only, ignored by 387 */
-        /* case 0xe5: frstpm - 287 only, #UD on 387 */
-            state->fpu_ctrl = true;
-            emulate_fpu_insn_stub(0xdb, modrm);
-            break;
-        default:
-            generate_exception_if(ea.type != OP_MEM, EXC_UD);
-            switch ( modrm_reg & 7 )
-            {
-            case 0: /* fild m32i */
-                goto fpu_memsrc32;
-            case 1: /* fisttp m32i */
-                host_and_vcpu_must_have(sse3);
-                /* fall through */
-            case 2: /* fist m32i */
-            case 3: /* fistp m32i */
-                goto fpu_memdst32;
-            case 5: /* fld m80fp */
-            fpu_memsrc80:
-                if ( (rc = ops->read(ea.mem.seg, ea.mem.off, mmvalp,
-                                     10, ctxt)) != X86EMUL_OKAY )
-                    goto done;
-                emulate_fpu_insn_memsrc(b, modrm_reg & 7, *mmvalp);
-                break;
-            case 7: /* fstp m80fp */
-            fpu_memdst80:
-                fail_if(!ops->write);
-                emulate_fpu_insn_memdst(b, modrm_reg & 7, *mmvalp);
-                if ( fpu_check_write() &&
-                     (rc = ops->write(ea.mem.seg, ea.mem.off, mmvalp,
-                                      10, ctxt)) != X86EMUL_OKAY )
-                    goto done;
-                break;
-            default:
-                generate_exception(EXC_UD);
-            }
-        }
-        break;
-
-    case 0xdc: /* FPU 0xdc */
-        host_and_vcpu_must_have(fpu);
-        get_fpu(X86EMUL_FPU_fpu);
-        switch ( modrm )
-        {
-        case 0xc0 ... 0xc7: /* fadd %st,%stN */
-        case 0xc8 ... 0xcf: /* fmul %st,%stN */
-        case 0xd0 ... 0xd7: /* fcom %stN,%st (alternative encoding) */
-        case 0xd8 ... 0xdf: /* fcomp %stN,%st (alternative encoding) */
-        case 0xe0 ... 0xe7: /* fsubr %st,%stN */
-        case 0xe8 ... 0xef: /* fsub %st,%stN */
-        case 0xf0 ... 0xf7: /* fdivr %st,%stN */
-        case 0xf8 ... 0xff: /* fdiv %st,%stN */
-            emulate_fpu_insn_stub(0xdc, modrm);
-            break;
-        default:
-        fpu_memsrc64:
-            ASSERT(ea.type == OP_MEM);
-            if ( (rc = ops->read(ea.mem.seg, ea.mem.off, &src.val,
-                                 8, ctxt)) != X86EMUL_OKAY )
-                goto done;
-            emulate_fpu_insn_memsrc(b, modrm_reg & 7, src.val);
-            break;
-        }
-        break;
-
-    case 0xdd: /* FPU 0xdd */
-        host_and_vcpu_must_have(fpu);
-        get_fpu(X86EMUL_FPU_fpu);
-        switch ( modrm )
-        {
-        case 0xc0 ... 0xc7: /* ffree %stN */
-        case 0xc8 ... 0xcf: /* fxch %stN (alternative encoding) */
-        case 0xd0 ... 0xd7: /* fst %stN */
-        case 0xd8 ... 0xdf: /* fstp %stN */
-        case 0xe0 ... 0xe7: /* fucom %stN */
-        case 0xe8 ... 0xef: /* fucomp %stN */
-            emulate_fpu_insn_stub(0xdd, modrm);
-            break;
-        default:
-            generate_exception_if(ea.type != OP_MEM, EXC_UD);
-            switch ( modrm_reg & 7 )
-            {
-            case 0: /* fld m64fp */;
-                goto fpu_memsrc64;
-            case 1: /* fisttp m64i */
-                host_and_vcpu_must_have(sse3);
-                /* fall through */
-            case 2: /* fst m64fp */
-            case 3: /* fstp m64fp */
-            fpu_memdst64:
-                dst = ea;
-                dst.bytes = 8;
-                emulate_fpu_insn_memdst(b, modrm_reg & 7, dst.val);
-                break;
-            case 4: /* frstor */
-                /* Raise #MF now if there are pending unmasked exceptions. */
-                emulate_fpu_insn_stub(0xd9, 0xd0 /* fnop */);
-                /* fall through */
-            case 6: /* fnsave */
-                fail_if(!ops->blk);
-                state->blk = modrm_reg & 2 ? blk_fst : blk_fld;
-                /*
-                 * REX is meaningless for these insns by this point - (ab)use
-                 * the field to communicate real vs protected mode to ->blk().
-                 */
-                /*state->*/rex_prefix = in_protmode(ctxt, ops);
-                if ( (rc = ops->blk(ea.mem.seg, ea.mem.off, NULL,
-                                    op_bytes > 2 ? sizeof(struct x87_env32) + 80
-                                                 : sizeof(struct x87_env16) + 80,
-                                    &_regs.eflags,
-                                    state, ctxt)) != X86EMUL_OKAY )
-                    goto done;
-                state->fpu_ctrl = true;
-                break;
-            case 7: /* fnstsw m2byte */
-                state->fpu_ctrl = true;
-                goto fpu_memdst16;
-            default:
-                generate_exception(EXC_UD);
-            }
-            /*
-             * Control instructions can't raise FPU exceptions, so we need
-             * to consider suppressing writes only for non-control ones.
-             */
-            if ( dst.type == OP_MEM && !state->fpu_ctrl && !fpu_check_write() )
-                dst.type = OP_NONE;
-        }
-        break;
-
-    case 0xde: /* FPU 0xde */
-        host_and_vcpu_must_have(fpu);
-        get_fpu(X86EMUL_FPU_fpu);
-        switch ( modrm )
-        {
-        case 0xc0 ... 0xc7: /* faddp %stN */
-        case 0xc8 ... 0xcf: /* fmulp %stN */
-        case 0xd0 ... 0xd7: /* fcomp %stN (alternative encoding) */
-        case 0xd9: /* fcompp */
-        case 0xe0 ... 0xe7: /* fsubrp %stN */
-        case 0xe8 ... 0xef: /* fsubp %stN */
-        case 0xf0 ... 0xf7: /* fdivrp %stN */
-        case 0xf8 ... 0xff: /* fdivp %stN */
-            emulate_fpu_insn_stub(0xde, modrm);
-            break;
-        default:
-            generate_exception_if(ea.type != OP_MEM, EXC_UD);
-            emulate_fpu_insn_memsrc(b, modrm_reg & 7, src.val);
-            break;
-        }
-        break;
-
-    case 0xdf: /* FPU 0xdf */
-        host_and_vcpu_must_have(fpu);
-        get_fpu(X86EMUL_FPU_fpu);
-        switch ( modrm )
-        {
-        case 0xe0:
-            /* fnstsw %ax */
-            state->fpu_ctrl = true;
-            dst.bytes = 2;
-            dst.type = OP_REG;
-            dst.reg = (void *)&_regs.ax;
-            emulate_fpu_insn_memdst(b, modrm_reg & 7, dst.val);
-            break;
-        case 0xe8 ... 0xef: /* fucomip %stN */
-        case 0xf0 ... 0xf7: /* fcomip %stN */
-            vcpu_must_have(cmov);
-            emulate_fpu_insn_stub_eflags(0xdf, modrm);
-            break;
-        case 0xc0 ... 0xc7: /* ffreep %stN */
-        case 0xc8 ... 0xcf: /* fxch %stN (alternative encoding) */
-        case 0xd0 ... 0xd7: /* fstp %stN (alternative encoding) */
-        case 0xd8 ... 0xdf: /* fstp %stN (alternative encoding) */
-            emulate_fpu_insn_stub(0xdf, modrm);
-            break;
-        default:
-            generate_exception_if(ea.type != OP_MEM, EXC_UD);
-            switch ( modrm_reg & 7 )
-            {
-            case 0: /* fild m16i */
-                goto fpu_memsrc16;
-            case 1: /* fisttp m16i */
-                host_and_vcpu_must_have(sse3);
-                /* fall through */
-            case 2: /* fist m16i */
-            case 3: /* fistp m16i */
-                goto fpu_memdst16;
-            case 4: /* fbld m80dec */
-                goto fpu_memsrc80;
-            case 5: /* fild m64i */
-                dst.type = OP_NONE;
-                goto fpu_memsrc64;
-            case 6: /* fbstp packed bcd */
-                goto fpu_memdst80;
-            case 7: /* fistp m64i */
-                goto fpu_memdst64;
-            }
-        }
-        break;
-#endif /* !X86EMUL_NO_FPU */
-
     case 0xe0 ... 0xe2: /* loop{,z,nz} */ {
         unsigned long count = get_loop_count(&_regs, ad_bytes);
         int do_jmp = !(_regs.eflags & X86_EFLAGS_ZF); /* loopnz */
@@ -10134,6 +9597,11 @@ x86_emulate(
         {
         case X86EMUL_rdtsc:
             goto rdtsc;
+
+#ifdef __XEN__
+        case X86EMUL_stub_failure:
+            goto emulation_stub_failure;
+#endif
         }
 
         /* Internally used state change indicators may not make it here. */



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 12:24:58 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 12:24:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166002.303173 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDnI2-0008UF-0E; Wed, 11 Aug 2021 12:24:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166002.303173; Wed, 11 Aug 2021 12:24:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDnI1-0008U6-Sz; Wed, 11 Aug 2021 12:24:57 +0000
Received: by outflank-mailman (input) for mailman id 166002;
 Wed, 11 Aug 2021 12:24:56 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fjOV=NC=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mDnI0-0008Tm-Ii
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 12:24:56 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id b6abad94-e9b7-490f-8dd8-6e5abc4ba733;
 Wed, 11 Aug 2021 12:24:46 +0000 (UTC)
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur02lp2050.outbound.protection.outlook.com [104.47.5.50]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-10-VFSt_QXfMeC6b4PDzQXlVw-1; Wed, 11 Aug 2021 14:24:43 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0402MB3390.eurprd04.prod.outlook.com (2603:10a6:803:9::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.19; Wed, 11 Aug
 2021 12:24:40 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4394.025; Wed, 11 Aug 2021
 12:24:40 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P251CA0026.EURP251.PROD.OUTLOOK.COM (2603:10a6:102:b5::30) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4394.17 via Frontend Transport; Wed, 11 Aug 2021 12:24:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b6abad94-e9b7-490f-8dd8-6e5abc4ba733
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628684685;
	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=s8DVOkHW2bPmch43Tk+h/2NJULu3EpE9aZm9uqLJKIY=;
	b=IS6E7Qhk9xtJ4R7mZ708m4chOQxi0PzgGe9gXeYaqCJBdVBeXrjpME+xAlerLWomut+P7a
	gO3HVm3+OoFjMK67th5LrP7a4R0rowRhoc8IoFVqDpKlthstNHmsXTErOSB7Yy4hNAl4pJ
	+0oQ+FusNf76cKSXeqEIDghALIJPkdk=
X-MC-Unique: VFSt_QXfMeC6b4PDzQXlVw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Xf3jG35FZ6nwxXNiVIAeSPvYpl4CpA9hpHg4eIcShSCRSXGtM6ydVrxBFcsCipCTFm2n+LMOUfYJT6PuEpqkNjgUBr/SmyRvz+j9ighcE0EpYDAcMEy/3vZFzQdj3sS5uvj6ItgveJb2oMlbFE7/4is8iusPw/HexkL1UHEhjgdo7jCjfQ9fhreOhDrQU+5EZAIKmGwy8mwL53uhxJVmGWPiS8vFnt2jGplfWM94WJezS1y8tQPjQcmzmHy5CppFtS7ZRSC8eTVc3k9Ol8Mp+mSy2dy5VlhVKVHb6ZOM0ebzs21uxQ47oaRMQBExdZph+pClq9T+Y0n9TDMloFhqVQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=s8DVOkHW2bPmch43Tk+h/2NJULu3EpE9aZm9uqLJKIY=;
 b=Y2aTC2637/MpenOa5qSvWBP4R+opjX3EFbe32iGyL2+Zc8z92gOprV97qiIhFaWPDBNDja9BAuUDM7IM9xYVffjprQFmcrkm8mFY2eMA8cv16ZEDOxN4PKauq2k7yx6eA2lYBAol9om07oXv8vooQ0KFf454hWIQr4oXp4H1otro9+5HS1FgShJ/GrwFaayNTg3Yh8E8QYMznqTLVzNF60FiE6IpMDK9WmNMo6IlFvyBs0P8yg5rzR06+euzzwUzUKHy0GI8razhCH7K43bTfrjjp3NeE4bD7s7mMgK16nIgg6yJKtsQ40gngn37BK+mcwR+CTaIqvDWZgmTeNYkTg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: citrix.com; dkim=none (message not signed)
 header.d=none;citrix.com; dmarc=none action=none header.from=suse.com;
Subject: [PATCH 5/7] x86emul: split off insn decoding
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <bdc58964-e2a8-af36-1653-41c7146bdfc9@suse.com>
Message-ID: <7f324493-6088-9147-4122-4691a86129cd@suse.com>
Date: Wed, 11 Aug 2021 14:24:38 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <bdc58964-e2a8-af36-1653-41c7146bdfc9@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P251CA0026.EURP251.PROD.OUTLOOK.COM
 (2603:10a6:102:b5::30) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5b074968-784d-4d63-baa0-08d95cc2fdde
X-MS-TrafficTypeDiagnostic: VI1PR0402MB3390:
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB3390A3A3A0CEA609D318F77CB3F89@VI1PR0402MB3390.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:5797;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1VR1VqZFrQx6AmPnSmGKDgayTi1FyiawkIGvN+q34DOdo4imrz+UV/xRknp/I7HtoYy2Wd9umwRbUY5utvWn7Z9SJx4E5pc9N1d6e4po/5y/9pO7dyIceY+GuzVu+sZ+44QWdEcM0JLxG/F1bO8c6x1ExURmmcvfwTaRfOhJusTZlxyb07CJo/NAsjxp6VBwGKvHArO/fNJUPZwQSHS4XL+pCdqnIc/BnlkCkDvHYN0JtSIabdOCgvdADZkNnuMV0sPVpEm44yxyDZU3t0oCRYZdFt4Ykbn95v6EcBQ+amIno1Gz9IBMs8EB9vYfDk9Sce4TDWtaZ68hH17jGTwfTQS1T9uap9wMqGgdnvvZbqDB3WggdZXNPy1+85z0BXmOVYxydGyBtYTC+8d/8TdRgf7KJ+6F7t3jciFjt9aV+Zh+Pl7h27/uPooPoBkZPxbOgbh4UQrSQCh64VdN4MEYCHu9zuWkJG2sKJZmhL0yWOQyyWTIMXs78wfRu+/DCCppzsY3nfjbkari5BaQMka80b8WjwKG0yGlLitRIGD1kuuIZnYjsq4/md7yWNcUoNH6tw85S9FcGEC7l7xy+P1DQW8NxYJkwEz2MWbV6jcUgWmO+0qP2YUOIygqfjOqmqRPTuzAmPvvT6pQZv9eIQ9AI/cfkRzFCbPss+PYVkzZlbVpZdrQUBp7ZT5wKezXsXASdDccG0Jeufvsh4XfK0xGqtoMzBODuIHI+90m+q5SXXft1GBZ5hNg6j/aGYtzKHvjuchm+fYo35h0Nn+Y0ho8dN9mR717AIgQZV05oPeTu9qDt4c72ASkrwh9K/G05036tPwt5XDIU6iePzup1xqGZw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(366004)(396003)(39860400002)(136003)(346002)(30864003)(31686004)(83380400001)(8936002)(2616005)(6486002)(956004)(16576012)(31696002)(36756003)(316002)(86362001)(66946007)(478600001)(38100700002)(66556008)(4326008)(54906003)(5660300002)(26005)(2906002)(6916009)(186003)(8676002)(66476007)(2004002)(45980500001)(43740500002)(559001)(579004);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Ny9uUTZ2ZkhsbTJJZm1vQnZ1MUlxNWpBOWhoaU9pQXVDdHJIVGkrMlBlKzVJ?=
 =?utf-8?B?RlN4YjMweXRERVZSUmJwcXNQbWN4VzQ1U21vZndpQTFESlVudytzeTA0c0Fw?=
 =?utf-8?B?alduUmJmSUJrbFUwSDhSUWQ3TVVINVpNdGRmTlJwckVHMDVvZmM3WFNDQVV6?=
 =?utf-8?B?T1F0dXpHKzlDeThzKzJZQmw1c05ONWxLODMrc1hNaGxOZWVFOXUzcEphaHRz?=
 =?utf-8?B?cUhkNmVMak9aQUJRT2IvRjVNbDFWZnNHbUZJdVRzWkZMRTlMUEg5WjhXRi9s?=
 =?utf-8?B?YmlESEpBWGVCaGNJY2ptbHVYblBiakZxZDdjbGs0UGxsRjFiK3p6UTE1ZWNO?=
 =?utf-8?B?MmRsUS82Z0hLNm9lT0l0SWQwMlg5enFEK3UwbGZUZndpaXU5OEJyOVFuREdu?=
 =?utf-8?B?S01QakxYZ24rNldBNGo4YlRmV3cwZHJYN0pibitDN3B5R013aXAzalJMK2Zh?=
 =?utf-8?B?THNBZ1dQVDY5N2VRWTlyZW1kakpUeEVDSnlFMi9ZSXVRVS9nWHVQUUVZdXhi?=
 =?utf-8?B?Rk1DcjlGZ0RNVUpaUUxrODVnelZDYzh2Zmh0UnlTcis5dERyaEI1K0pwekNK?=
 =?utf-8?B?QUJVRXQyZjE4M2Q0b3NhU1F4M1FDNjIvUEdPNUVsM3VjRFl0VTRza3JFNVBY?=
 =?utf-8?B?emRLTml1WGlubEc5OEY0THZZQlN3SFovSUNaOUc5SlBHUlVxanFtWUZSRlk0?=
 =?utf-8?B?MTZEWFMveVZBcHB3QzRIbTRSdHBBd3FhRXhlYjEwT09FSTU0cXF0N3VIVzlT?=
 =?utf-8?B?c2ZVbG9OaW5KaTFVcHhyZlRUTVJLU25ZQTFoNXNZcVpQR0htbmpjRklDM2RS?=
 =?utf-8?B?RXdseGppcVVjYkVTRTQzbWdKNWJlbUQraWVrTm9XWEJRZkltMVVqSkhFVmMx?=
 =?utf-8?B?M3N2NHVUbjRhRGRhK2hGNW9Hd2JKcys1RUNWTWJ6MGREamcvYXhJMFBGMFRq?=
 =?utf-8?B?TS9aS2RadUhKTDlKWWhyNFhrTkI5UXlKVzUwaW1BQnBZQm5lQ0pxVklwbjU2?=
 =?utf-8?B?ako4N3AwTFpHV204ZXZwd3NWV2VWZkhjTU5OTVdlNGMyYWRLZG5zaVZOQkZW?=
 =?utf-8?B?b2VTMWtQcVBWZWNtb2x1ZkZEeTlocW1JTDNWUVAxTDVRUEJvUFN3Uzh5NDlN?=
 =?utf-8?B?U2RlVWNhQS8zRUgvTW1rTXF2dVVFalNBanlTQ2pxcW11cGN2Mm91R1lQNG1C?=
 =?utf-8?B?UnFNaUF1N29uOVpycTM3dzBka2dIcm9PaDI5T3NEQVBlanRDVkVrZ0pZdUdS?=
 =?utf-8?B?STdiVHFtSWZUYjBPaThvVDI2bkxNSElXQXp3RXdyV1gxMU9aSTNTWHBuYVdH?=
 =?utf-8?B?eTdUNDFRRDFQMk1pRWgvWVB6MW1TRGxYN0pVQ200MTBKaFhzYStURVBrcTF5?=
 =?utf-8?B?YTlhaVE5blRCdXR6V1htcnVLaVpuOE02cm1ab093cW9Xbk5FbnFjN0VaR1Fp?=
 =?utf-8?B?ZGxzdGRMcWJRRXRNaTZGOFA1YnFvN2JOUWtRbnl5SGVncUtWYURCUkZ3clJT?=
 =?utf-8?B?RXE5alZwUXFNSnNHbUxEUmV2bEltWkVkVThweFZpZHNBeEhSeW9zMlhwUXU0?=
 =?utf-8?B?YkdicWwyaEl1THorcndGY1RpQUhEd01JUWdqYXBqSFdSZHdGL0dNYWxVcWJn?=
 =?utf-8?B?ZllVUGxzSVMxNThKSXM3TjZaa1NoOWFXaEk0bDNxNU1id3g1cmp0TzBVcFBh?=
 =?utf-8?B?R0hUVmN0ckZPdDB5UCtxSkhyNEF4bS9VclBnY01qWTgveExDWTRzZWltR3do?=
 =?utf-8?Q?XVuPSPVjRPYkWWBvXuxAPYnh6knzQ1da87JxGns?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5b074968-784d-4d63-baa0-08d95cc2fdde
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 12:24:40.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: bYOadVUTPsd/tPuSagqY2zJuj2sGmV8cUf+vOqF3vbxcLGo9e9y9akakKqHMcWARYT6lctpJpLyYehiacnwo7Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3390

This is a fair chunk of code and data and can easily live separate from
the main emulation function.

Code moved gets slightly adjusted in a few places, e.g. replacing EXC_*
by X86_EXC_* (such that EXC_* don't need to move as well; we want these
to be phased out anyway).

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

--- a/tools/fuzz/x86_instruction_emulator/Makefile
+++ b/tools/fuzz/x86_instruction_emulator/Makefile
@@ -36,7 +36,7 @@ x86_emulate.h := x86-emulate.h x86_emula
 
 OBJS := fuzz-emul.o x86-emulate.o
 OBJS += x86_emulate/0f01.o x86_emulate/0fae.o x86_emulate/0fc7.o
-OBJS += x86_emulate/fpu.o
+OBJS += x86_emulate/decode.o x86_emulate/fpu.o
 
 # x86-emulate.c will be implicit for both
 x86-emulate.o x86-emulate-cov.o: x86_emulate/x86_emulate.c $(x86_emulate.h) x86_emulate/private.h
--- a/tools/tests/x86_emulator/Makefile
+++ b/tools/tests/x86_emulator/Makefile
@@ -252,7 +252,7 @@ endif # 32-bit override
 
 OBJS := x86-emulate.o cpuid.o test_x86_emulator.o evex-disp8.o predicates.o wrappers.o
 OBJS += x86_emulate/0f01.o x86_emulate/0fae.o x86_emulate/0fc7.o
-OBJS += x86_emulate/fpu.o
+OBJS += x86_emulate/decode.o x86_emulate/fpu.o
 
 $(TARGET): $(OBJS)
 	$(HOSTCC) $(HOSTCFLAGS) -o $@ $^
--- a/tools/tests/x86_emulator/x86-emulate.c
+++ b/tools/tests/x86_emulator/x86-emulate.c
@@ -3,11 +3,6 @@
 #include <errno.h>
 #include <sys/mman.h>
 
-#define DEFINE_PER_CPU(type, var) type per_cpu_##var
-#define this_cpu(var) per_cpu_##var
-
-#define ERR_PTR(val) NULL
-
 /* See gcc bug 100680, but here don't bother making this version dependent. */
 #define gcc11_wrap(x) ({                  \
     unsigned long x_;                     \
--- a/tools/tests/x86_emulator/x86-emulate.h
+++ b/tools/tests/x86_emulator/x86-emulate.h
@@ -48,6 +48,9 @@
 #define ASSERT assert
 #define ASSERT_UNREACHABLE() assert(!__LINE__)
 
+#define DEFINE_PER_CPU(type, var) type per_cpu_##var
+#define this_cpu(var) per_cpu_##var
+
 #define MASK_EXTR(v, m) (((v) & (m)) / ((m) & -(m)))
 #define MASK_INSR(v, m) (((v) * ((m) & -(m))) & (m))
 
--- a/xen/arch/x86/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate.c
@@ -9,7 +9,6 @@
  *    Keir Fraser <keir@xen.org>
  */
 
-#include <xen/err.h>
 #include <xen/event.h>
 #include <asm/x86_emulate.h>
 #include <asm/processor.h> /* current_cpu_info */
--- a/xen/arch/x86/x86_emulate/Makefile
+++ b/xen/arch/x86/x86_emulate/Makefile
@@ -1,4 +1,5 @@
 obj-y += 0f01.o
 obj-y += 0fae.o
 obj-y += 0fc7.o
+obj-y += decode.o
 obj-$(CONFIG_HVM) += fpu.o
--- /dev/null
+++ b/xen/arch/x86/x86_emulate/decode.c
@@ -0,0 +1,1750 @@
+/******************************************************************************
+ * decode.c - helper for x86_emulate.c
+ *
+ * Generic x86 (32-bit and 64-bit) instruction decoder and emulator.
+ *
+ * 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/>.
+ */
+
+#include "private.h"
+
+#ifdef __XEN__
+# include <xen/err.h>
+#else
+# define ERR_PTR(val) NULL
+#endif
+
+#define evex_encoded() (s->evex.mbs)
+
+struct x86_emulate_state *
+x86_decode_insn(
+    struct x86_emulate_ctxt *ctxt,
+    int (*insn_fetch)(
+        enum x86_segment seg, unsigned long offset,
+        void *p_data, unsigned int bytes,
+        struct x86_emulate_ctxt *ctxt))
+{
+    static DEFINE_PER_CPU(struct x86_emulate_state, state);
+    struct x86_emulate_state *s = &this_cpu(state);
+    const struct x86_emulate_ops ops = {
+        .insn_fetch = insn_fetch,
+        .read       = x86emul_unhandleable_rw,
+    };
+    int rc;
+
+    init_context(ctxt);
+
+    rc = x86emul_decode(s, ctxt, &ops);
+    if ( unlikely(rc != X86EMUL_OKAY) )
+        return ERR_PTR(-rc);
+
+#if defined(__XEN__) && !defined(NDEBUG)
+    /*
+     * While we avoid memory allocation (by use of per-CPU data) above,
+     * nevertheless make sure callers properly release the state structure
+     * for forward compatibility.
+     */
+    if ( s->caller )
+    {
+        printk(XENLOG_ERR "Unreleased emulation state acquired by %ps\n",
+               s->caller);
+        dump_execution_state();
+    }
+    s->caller = __builtin_return_address(0);
+#endif
+
+    return s;
+}
+
+static const opcode_desc_t opcode_table[256] = {
+    /* 0x00 - 0x07 */
+    ByteOp|DstMem|SrcReg|ModRM, DstMem|SrcReg|ModRM,
+    ByteOp|DstReg|SrcMem|ModRM, DstReg|SrcMem|ModRM,
+    ByteOp|DstEax|SrcImm, DstEax|SrcImm, ImplicitOps|Mov, ImplicitOps|Mov,
+    /* 0x08 - 0x0F */
+    ByteOp|DstMem|SrcReg|ModRM, DstMem|SrcReg|ModRM,
+    ByteOp|DstReg|SrcMem|ModRM, DstReg|SrcMem|ModRM,
+    ByteOp|DstEax|SrcImm, DstEax|SrcImm, ImplicitOps|Mov, 0,
+    /* 0x10 - 0x17 */
+    ByteOp|DstMem|SrcReg|ModRM, DstMem|SrcReg|ModRM,
+    ByteOp|DstReg|SrcMem|ModRM, DstReg|SrcMem|ModRM,
+    ByteOp|DstEax|SrcImm, DstEax|SrcImm, ImplicitOps|Mov, ImplicitOps|Mov,
+    /* 0x18 - 0x1F */
+    ByteOp|DstMem|SrcReg|ModRM, DstMem|SrcReg|ModRM,
+    ByteOp|DstReg|SrcMem|ModRM, DstReg|SrcMem|ModRM,
+    ByteOp|DstEax|SrcImm, DstEax|SrcImm, ImplicitOps|Mov, ImplicitOps|Mov,
+    /* 0x20 - 0x27 */
+    ByteOp|DstMem|SrcReg|ModRM, DstMem|SrcReg|ModRM,
+    ByteOp|DstReg|SrcMem|ModRM, DstReg|SrcMem|ModRM,
+    ByteOp|DstEax|SrcImm, DstEax|SrcImm, 0, ImplicitOps,
+    /* 0x28 - 0x2F */
+    ByteOp|DstMem|SrcReg|ModRM, DstMem|SrcReg|ModRM,
+    ByteOp|DstReg|SrcMem|ModRM, DstReg|SrcMem|ModRM,
+    ByteOp|DstEax|SrcImm, DstEax|SrcImm, 0, ImplicitOps,
+    /* 0x30 - 0x37 */
+    ByteOp|DstMem|SrcReg|ModRM, DstMem|SrcReg|ModRM,
+    ByteOp|DstReg|SrcMem|ModRM, DstReg|SrcMem|ModRM,
+    ByteOp|DstEax|SrcImm, DstEax|SrcImm, 0, ImplicitOps,
+    /* 0x38 - 0x3F */
+    ByteOp|DstReg|SrcMem|ModRM, DstReg|SrcMem|ModRM,
+    ByteOp|DstReg|SrcMem|ModRM, DstReg|SrcMem|ModRM,
+    ByteOp|DstEax|SrcImm, DstEax|SrcImm, 0, ImplicitOps,
+    /* 0x40 - 0x4F */
+    ImplicitOps, ImplicitOps, ImplicitOps, ImplicitOps,
+    ImplicitOps, ImplicitOps, ImplicitOps, ImplicitOps,
+    ImplicitOps, ImplicitOps, ImplicitOps, ImplicitOps,
+    ImplicitOps, ImplicitOps, ImplicitOps, ImplicitOps,
+    /* 0x50 - 0x5F */
+    ImplicitOps|Mov, ImplicitOps|Mov, ImplicitOps|Mov, ImplicitOps|Mov,
+    ImplicitOps|Mov, ImplicitOps|Mov, ImplicitOps|Mov, ImplicitOps|Mov,
+    ImplicitOps|Mov, ImplicitOps|Mov, ImplicitOps|Mov, ImplicitOps|Mov,
+    ImplicitOps|Mov, ImplicitOps|Mov, ImplicitOps|Mov, ImplicitOps|Mov,
+    /* 0x60 - 0x67 */
+    ImplicitOps, ImplicitOps, DstReg|SrcMem|ModRM, DstReg|SrcNone|ModRM|Mov,
+    0, 0, 0, 0,
+    /* 0x68 - 0x6F */
+    DstImplicit|SrcImm|Mov, DstReg|SrcImm|ModRM|Mov,
+    DstImplicit|SrcImmByte|Mov, DstReg|SrcImmByte|ModRM|Mov,
+    ImplicitOps|Mov, ImplicitOps|Mov, ImplicitOps|Mov, ImplicitOps|Mov,
+    /* 0x70 - 0x77 */
+    DstImplicit|SrcImmByte, DstImplicit|SrcImmByte,
+    DstImplicit|SrcImmByte, DstImplicit|SrcImmByte,
+    DstImplicit|SrcImmByte, DstImplicit|SrcImmByte,
+    DstImplicit|SrcImmByte, DstImplicit|SrcImmByte,
+    /* 0x78 - 0x7F */
+    DstImplicit|SrcImmByte, DstImplicit|SrcImmByte,
+    DstImplicit|SrcImmByte, DstImplicit|SrcImmByte,
+    DstImplicit|SrcImmByte, DstImplicit|SrcImmByte,
+    DstImplicit|SrcImmByte, DstImplicit|SrcImmByte,
+    /* 0x80 - 0x87 */
+    ByteOp|DstMem|SrcImm|ModRM, DstMem|SrcImm|ModRM,
+    ByteOp|DstMem|SrcImm|ModRM, DstMem|SrcImmByte|ModRM,
+    ByteOp|DstReg|SrcMem|ModRM, DstReg|SrcMem|ModRM,
+    ByteOp|DstMem|SrcReg|ModRM, DstMem|SrcReg|ModRM,
+    /* 0x88 - 0x8F */
+    ByteOp|DstMem|SrcReg|ModRM|Mov, DstMem|SrcReg|ModRM|Mov,
+    ByteOp|DstReg|SrcMem|ModRM|Mov, DstReg|SrcMem|ModRM|Mov,
+    DstMem|SrcReg|ModRM|Mov, DstReg|SrcNone|ModRM,
+    DstReg|SrcMem16|ModRM|Mov, DstMem|SrcNone|ModRM|Mov,
+    /* 0x90 - 0x97 */
+    DstImplicit|SrcEax, DstImplicit|SrcEax,
+    DstImplicit|SrcEax, DstImplicit|SrcEax,
+    DstImplicit|SrcEax, DstImplicit|SrcEax,
+    DstImplicit|SrcEax, DstImplicit|SrcEax,
+    /* 0x98 - 0x9F */
+    ImplicitOps, ImplicitOps, ImplicitOps, ImplicitOps,
+    ImplicitOps|Mov, ImplicitOps|Mov, ImplicitOps, ImplicitOps,
+    /* 0xA0 - 0xA7 */
+    ByteOp|DstEax|SrcMem|Mov, DstEax|SrcMem|Mov,
+    ByteOp|DstMem|SrcEax|Mov, DstMem|SrcEax|Mov,
+    ByteOp|ImplicitOps|Mov, ImplicitOps|Mov,
+    ByteOp|ImplicitOps, ImplicitOps,
+    /* 0xA8 - 0xAF */
+    ByteOp|DstEax|SrcImm, DstEax|SrcImm,
+    ByteOp|DstImplicit|SrcEax|Mov, DstImplicit|SrcEax|Mov,
+    ByteOp|DstEax|SrcImplicit|Mov, DstEax|SrcImplicit|Mov,
+    ByteOp|DstImplicit|SrcEax, DstImplicit|SrcEax,
+    /* 0xB0 - 0xB7 */
+    ByteOp|DstReg|SrcImm|Mov, ByteOp|DstReg|SrcImm|Mov,
+    ByteOp|DstReg|SrcImm|Mov, ByteOp|DstReg|SrcImm|Mov,
+    ByteOp|DstReg|SrcImm|Mov, ByteOp|DstReg|SrcImm|Mov,
+    ByteOp|DstReg|SrcImm|Mov, ByteOp|DstReg|SrcImm|Mov,
+    /* 0xB8 - 0xBF */
+    DstReg|SrcImm|Mov, DstReg|SrcImm|Mov, DstReg|SrcImm|Mov, DstReg|SrcImm|Mov,
+    DstReg|SrcImm|Mov, DstReg|SrcImm|Mov, DstReg|SrcImm|Mov, DstReg|SrcImm|Mov,
+    /* 0xC0 - 0xC7 */
+    ByteOp|DstMem|SrcImm|ModRM, DstMem|SrcImmByte|ModRM,
+    DstImplicit|SrcImm16, ImplicitOps,
+    DstReg|SrcMem|ModRM|Mov, DstReg|SrcMem|ModRM|Mov,
+    ByteOp|DstMem|SrcImm|ModRM|Mov, DstMem|SrcImm|ModRM|Mov,
+    /* 0xC8 - 0xCF */
+    DstImplicit|SrcImm16, ImplicitOps, DstImplicit|SrcImm16, ImplicitOps,
+    ImplicitOps, DstImplicit|SrcImmByte, ImplicitOps, ImplicitOps,
+    /* 0xD0 - 0xD7 */
+    ByteOp|DstMem|SrcImplicit|ModRM, DstMem|SrcImplicit|ModRM,
+    ByteOp|DstMem|SrcImplicit|ModRM, DstMem|SrcImplicit|ModRM,
+    DstImplicit|SrcImmByte, DstImplicit|SrcImmByte, ImplicitOps, ImplicitOps,
+    /* 0xD8 - 0xDF */
+    ImplicitOps|ModRM, ImplicitOps|ModRM|Mov,
+    ImplicitOps|ModRM, ImplicitOps|ModRM|Mov,
+    ImplicitOps|ModRM, ImplicitOps|ModRM|Mov,
+    DstImplicit|SrcMem16|ModRM, ImplicitOps|ModRM|Mov,
+    /* 0xE0 - 0xE7 */
+    DstImplicit|SrcImmByte, DstImplicit|SrcImmByte,
+    DstImplicit|SrcImmByte, DstImplicit|SrcImmByte,
+    DstEax|SrcImmByte, DstEax|SrcImmByte,
+    DstImplicit|SrcImmByte, DstImplicit|SrcImmByte,
+    /* 0xE8 - 0xEF */
+    DstImplicit|SrcImm|Mov, DstImplicit|SrcImm,
+    ImplicitOps, DstImplicit|SrcImmByte,
+    DstEax|SrcImplicit, DstEax|SrcImplicit, ImplicitOps, ImplicitOps,
+    /* 0xF0 - 0xF7 */
+    0, ImplicitOps, 0, 0,
+    ImplicitOps, ImplicitOps, ByteOp|ModRM, ModRM,
+    /* 0xF8 - 0xFF */
+    ImplicitOps, ImplicitOps, ImplicitOps, ImplicitOps,
+    ImplicitOps, ImplicitOps, ByteOp|DstMem|SrcNone|ModRM, DstMem|SrcNone|ModRM
+};
+
+static const struct twobyte_table {
+    opcode_desc_t desc;
+    simd_opsize_t size:4;
+    disp8scale_t d8s:4;
+} twobyte_table[256] = {
+    [0x00] = { ModRM },
+    [0x01] = { ImplicitOps|ModRM },
+    [0x02] = { DstReg|SrcMem16|ModRM },
+    [0x03] = { DstReg|SrcMem16|ModRM },
+    [0x05] = { ImplicitOps },
+    [0x06] = { ImplicitOps },
+    [0x07] = { ImplicitOps },
+    [0x08] = { ImplicitOps },
+    [0x09] = { ImplicitOps },
+    [0x0b] = { ImplicitOps },
+    [0x0d] = { ImplicitOps|ModRM },
+    [0x0e] = { ImplicitOps },
+    [0x0f] = { ModRM|SrcImmByte },
+    [0x10] = { DstImplicit|SrcMem|ModRM|Mov, simd_any_fp, d8s_vl },
+    [0x11] = { DstMem|SrcImplicit|ModRM|Mov, simd_any_fp, d8s_vl },
+    [0x12] = { DstImplicit|SrcMem|ModRM|Mov, simd_other, 3 },
+    [0x13] = { DstMem|SrcImplicit|ModRM|Mov, simd_other, 3 },
+    [0x14 ... 0x15] = { DstImplicit|SrcMem|ModRM, simd_packed_fp, d8s_vl },
+    [0x16] = { DstImplicit|SrcMem|ModRM|Mov, simd_other, 3 },
+    [0x17] = { DstMem|SrcImplicit|ModRM|Mov, simd_other, 3 },
+    [0x18 ... 0x1f] = { ImplicitOps|ModRM },
+    [0x20 ... 0x21] = { DstMem|SrcImplicit|ModRM },
+    [0x22 ... 0x23] = { DstImplicit|SrcMem|ModRM },
+    [0x28] = { DstImplicit|SrcMem|ModRM|Mov, simd_packed_fp, d8s_vl },
+    [0x29] = { DstMem|SrcImplicit|ModRM|Mov, simd_packed_fp, d8s_vl },
+    [0x2a] = { DstImplicit|SrcMem|ModRM|Mov, simd_other, d8s_dq64 },
+    [0x2b] = { DstMem|SrcImplicit|ModRM|Mov, simd_any_fp, d8s_vl },
+    [0x2c ... 0x2d] = { DstImplicit|SrcMem|ModRM|Mov, simd_other },
+    [0x2e ... 0x2f] = { ImplicitOps|ModRM|TwoOp, simd_none, d8s_dq },
+    [0x30 ... 0x35] = { ImplicitOps },
+    [0x37] = { ImplicitOps },
+    [0x38] = { DstReg|SrcMem|ModRM },
+    [0x3a] = { DstReg|SrcImmByte|ModRM },
+    [0x40 ... 0x4f] = { DstReg|SrcMem|ModRM|Mov },
+    [0x50] = { DstReg|SrcImplicit|ModRM|Mov },
+    [0x51] = { DstImplicit|SrcMem|ModRM|TwoOp, simd_any_fp, d8s_vl },
+    [0x52 ... 0x53] = { DstImplicit|SrcMem|ModRM|TwoOp, simd_single_fp },
+    [0x54 ... 0x57] = { DstImplicit|SrcMem|ModRM, simd_packed_fp, d8s_vl },
+    [0x58 ... 0x59] = { DstImplicit|SrcMem|ModRM, simd_any_fp, d8s_vl },
+    [0x5a] = { DstImplicit|SrcMem|ModRM|Mov, simd_any_fp, d8s_vl },
+    [0x5b] = { DstImplicit|SrcMem|ModRM|Mov, simd_packed_fp, d8s_vl },
+    [0x5c ... 0x5f] = { DstImplicit|SrcMem|ModRM, simd_any_fp, d8s_vl },
+    [0x60 ... 0x62] = { DstImplicit|SrcMem|ModRM, simd_other, d8s_vl },
+    [0x63 ... 0x67] = { DstImplicit|SrcMem|ModRM, simd_packed_int, d8s_vl },
+    [0x68 ... 0x6a] = { DstImplicit|SrcMem|ModRM, simd_other, d8s_vl },
+    [0x6b ... 0x6d] = { DstImplicit|SrcMem|ModRM, simd_packed_int, d8s_vl },
+    [0x6e] = { DstImplicit|SrcMem|ModRM|Mov, simd_none, d8s_dq64 },
+    [0x6f] = { DstImplicit|SrcMem|ModRM|Mov, simd_packed_int, d8s_vl },
+    [0x70] = { SrcImmByte|ModRM|TwoOp, simd_other, d8s_vl },
+    [0x71 ... 0x73] = { DstImplicit|SrcImmByte|ModRM, simd_none, d8s_vl },
+    [0x74 ... 0x76] = { DstImplicit|SrcMem|ModRM, simd_packed_int, d8s_vl },
+    [0x77] = { DstImplicit|SrcNone },
+    [0x78 ... 0x79] = { DstImplicit|SrcMem|ModRM|Mov, simd_other, d8s_vl },
+    [0x7a] = { DstImplicit|SrcMem|ModRM|Mov, simd_packed_fp, d8s_vl },
+    [0x7b] = { DstImplicit|SrcMem|ModRM|Mov, simd_other, d8s_dq64 },
+    [0x7c ... 0x7d] = { DstImplicit|SrcMem|ModRM, simd_other },
+    [0x7e] = { DstMem|SrcImplicit|ModRM|Mov, simd_none, d8s_dq64 },
+    [0x7f] = { DstMem|SrcImplicit|ModRM|Mov, simd_packed_int, d8s_vl },
+    [0x80 ... 0x8f] = { DstImplicit|SrcImm },
+    [0x90 ... 0x9f] = { ByteOp|DstMem|SrcNone|ModRM|Mov },
+    [0xa0 ... 0xa1] = { ImplicitOps|Mov },
+    [0xa2] = { ImplicitOps },
+    [0xa3] = { DstBitBase|SrcReg|ModRM },
+    [0xa4] = { DstMem|SrcImmByte|ModRM },
+    [0xa5] = { DstMem|SrcReg|ModRM },
+    [0xa6 ... 0xa7] = { ModRM },
+    [0xa8 ... 0xa9] = { ImplicitOps|Mov },
+    [0xaa] = { ImplicitOps },
+    [0xab] = { DstBitBase|SrcReg|ModRM },
+    [0xac] = { DstMem|SrcImmByte|ModRM },
+    [0xad] = { DstMem|SrcReg|ModRM },
+    [0xae] = { ImplicitOps|ModRM },
+    [0xaf] = { DstReg|SrcMem|ModRM },
+    [0xb0] = { ByteOp|DstMem|SrcReg|ModRM },
+    [0xb1] = { DstMem|SrcReg|ModRM },
+    [0xb2] = { DstReg|SrcMem|ModRM|Mov },
+    [0xb3] = { DstBitBase|SrcReg|ModRM },
+    [0xb4 ... 0xb5] = { DstReg|SrcMem|ModRM|Mov },
+    [0xb6] = { ByteOp|DstReg|SrcMem|ModRM|Mov },
+    [0xb7] = { DstReg|SrcMem16|ModRM|Mov },
+    [0xb8] = { DstReg|SrcMem|ModRM },
+    [0xb9] = { ModRM },
+    [0xba] = { DstBitBase|SrcImmByte|ModRM },
+    [0xbb] = { DstBitBase|SrcReg|ModRM },
+    [0xbc ... 0xbd] = { DstReg|SrcMem|ModRM },
+    [0xbe] = { ByteOp|DstReg|SrcMem|ModRM|Mov },
+    [0xbf] = { DstReg|SrcMem16|ModRM|Mov },
+    [0xc0] = { ByteOp|DstMem|SrcReg|ModRM },
+    [0xc1] = { DstMem|SrcReg|ModRM },
+    [0xc2] = { DstImplicit|SrcImmByte|ModRM, simd_any_fp, d8s_vl },
+    [0xc3] = { DstMem|SrcReg|ModRM|Mov },
+    [0xc4] = { DstImplicit|SrcImmByte|ModRM, simd_none, 1 },
+    [0xc5] = { DstReg|SrcImmByte|ModRM|Mov },
+    [0xc6] = { DstImplicit|SrcImmByte|ModRM, simd_packed_fp, d8s_vl },
+    [0xc7] = { ImplicitOps|ModRM },
+    [0xc8 ... 0xcf] = { ImplicitOps },
+    [0xd0] = { DstImplicit|SrcMem|ModRM, simd_other },
+    [0xd1 ... 0xd3] = { DstImplicit|SrcMem|ModRM, simd_128, 4 },
+    [0xd4 ... 0xd5] = { DstImplicit|SrcMem|ModRM, simd_packed_int, d8s_vl },
+    [0xd6] = { DstMem|SrcImplicit|ModRM|Mov, simd_other, 3 },
+    [0xd7] = { DstReg|SrcImplicit|ModRM|Mov },
+    [0xd8 ... 0xdf] = { DstImplicit|SrcMem|ModRM, simd_packed_int, d8s_vl },
+    [0xe0] = { DstImplicit|SrcMem|ModRM, simd_packed_int, d8s_vl },
+    [0xe1 ... 0xe2] = { DstImplicit|SrcMem|ModRM, simd_128, 4 },
+    [0xe3 ... 0xe5] = { DstImplicit|SrcMem|ModRM, simd_packed_int, d8s_vl },
+    [0xe6] = { DstImplicit|SrcMem|ModRM|Mov, simd_packed_fp, d8s_vl },
+    [0xe7] = { DstMem|SrcImplicit|ModRM|Mov, simd_packed_int, d8s_vl },
+    [0xe8 ... 0xef] = { DstImplicit|SrcMem|ModRM, simd_packed_int, d8s_vl },
+    [0xf0] = { DstImplicit|SrcMem|ModRM|Mov, simd_other },
+    [0xf1 ... 0xf3] = { DstImplicit|SrcMem|ModRM, simd_128, 4 },
+    [0xf4 ... 0xf6] = { DstImplicit|SrcMem|ModRM, simd_packed_int, d8s_vl },
+    [0xf7] = { DstMem|SrcMem|ModRM|Mov, simd_packed_int },
+    [0xf8 ... 0xfe] = { DstImplicit|SrcMem|ModRM, simd_packed_int, d8s_vl },
+    [0xff] = { ModRM }
+};
+
+/*
+ * "two_op" and "four_op" below refer to the number of register operands
+ * (one of which possibly also allowing to be a memory one). The named
+ * operand counts do not include any immediate operands.
+ */
+static const struct ext0f38_table {
+    uint8_t simd_size:5;
+    uint8_t to_mem:1;
+    uint8_t two_op:1;
+    uint8_t vsib:1;
+    disp8scale_t d8s:4;
+} ext0f38_table[256] = {
+    [0x00] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
+    [0x01 ... 0x03] = { .simd_size = simd_packed_int },
+    [0x04] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
+    [0x05 ... 0x0a] = { .simd_size = simd_packed_int },
+    [0x0b] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
+    [0x0c ... 0x0d] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },
+    [0x0e ... 0x0f] = { .simd_size = simd_packed_fp },
+    [0x10 ... 0x12] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
+    [0x13] = { .simd_size = simd_other, .two_op = 1, .d8s = d8s_vl_by_2 },
+    [0x14 ... 0x16] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },
+    [0x17] = { .simd_size = simd_packed_int, .two_op = 1 },
+    [0x18] = { .simd_size = simd_scalar_opc, .two_op = 1, .d8s = 2 },
+    [0x19] = { .simd_size = simd_scalar_opc, .two_op = 1, .d8s = 3 },
+    [0x1a] = { .simd_size = simd_128, .two_op = 1, .d8s = 4 },
+    [0x1b] = { .simd_size = simd_256, .two_op = 1, .d8s = d8s_vl_by_2 },
+    [0x1c ... 0x1f] = { .simd_size = simd_packed_int, .two_op = 1, .d8s = d8s_vl },
+    [0x20] = { .simd_size = simd_other, .two_op = 1, .d8s = d8s_vl_by_2 },
+    [0x21] = { .simd_size = simd_other, .two_op = 1, .d8s = d8s_vl_by_4 },
+    [0x22] = { .simd_size = simd_other, .two_op = 1, .d8s = d8s_vl_by_8 },
+    [0x23] = { .simd_size = simd_other, .two_op = 1, .d8s = d8s_vl_by_2 },
+    [0x24] = { .simd_size = simd_other, .two_op = 1, .d8s = d8s_vl_by_4 },
+    [0x25] = { .simd_size = simd_other, .two_op = 1, .d8s = d8s_vl_by_2 },
+    [0x26 ... 0x29] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
+    [0x2a] = { .simd_size = simd_packed_int, .two_op = 1, .d8s = d8s_vl },
+    [0x2b] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
+    [0x2c] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },
+    [0x2d] = { .simd_size = simd_packed_fp, .d8s = d8s_dq },
+    [0x2e ... 0x2f] = { .simd_size = simd_packed_fp, .to_mem = 1 },
+    [0x30] = { .simd_size = simd_other, .two_op = 1, .d8s = d8s_vl_by_2 },
+    [0x31] = { .simd_size = simd_other, .two_op = 1, .d8s = d8s_vl_by_4 },
+    [0x32] = { .simd_size = simd_other, .two_op = 1, .d8s = d8s_vl_by_8 },
+    [0x33] = { .simd_size = simd_other, .two_op = 1, .d8s = d8s_vl_by_2 },
+    [0x34] = { .simd_size = simd_other, .two_op = 1, .d8s = d8s_vl_by_4 },
+    [0x35] = { .simd_size = simd_other, .two_op = 1, .d8s = d8s_vl_by_2 },
+    [0x36 ... 0x3f] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
+    [0x40] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
+    [0x41] = { .simd_size = simd_packed_int, .two_op = 1 },
+    [0x42] = { .simd_size = simd_packed_fp, .two_op = 1, .d8s = d8s_vl },
+    [0x43] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
+    [0x44] = { .simd_size = simd_packed_int, .two_op = 1, .d8s = d8s_vl },
+    [0x45 ... 0x47] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
+    [0x4c] = { .simd_size = simd_packed_fp, .two_op = 1, .d8s = d8s_vl },
+    [0x4d] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
+    [0x4e] = { .simd_size = simd_packed_fp, .two_op = 1, .d8s = d8s_vl },
+    [0x4f] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
+    [0x50 ... 0x53] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
+    [0x54 ... 0x55] = { .simd_size = simd_packed_int, .two_op = 1, .d8s = d8s_vl },
+    [0x58] = { .simd_size = simd_other, .two_op = 1, .d8s = 2 },
+    [0x59] = { .simd_size = simd_other, .two_op = 1, .d8s = 3 },
+    [0x5a] = { .simd_size = simd_128, .two_op = 1, .d8s = 4 },
+    [0x5b] = { .simd_size = simd_256, .two_op = 1, .d8s = d8s_vl_by_2 },
+    [0x62] = { .simd_size = simd_packed_int, .two_op = 1, .d8s = d8s_bw },
+    [0x63] = { .simd_size = simd_packed_int, .to_mem = 1, .two_op = 1, .d8s = d8s_bw },
+    [0x64 ... 0x66] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
+    [0x68] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
+    [0x70 ... 0x73] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
+    [0x75 ... 0x76] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
+    [0x77] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },
+    [0x78] = { .simd_size = simd_other, .two_op = 1 },
+    [0x79] = { .simd_size = simd_other, .two_op = 1, .d8s = 1 },
+    [0x7a ... 0x7c] = { .simd_size = simd_none, .two_op = 1 },
+    [0x7d ... 0x7e] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
+    [0x7f] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },
+    [0x82] = { .simd_size = simd_other },
+    [0x83] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
+    [0x88] = { .simd_size = simd_packed_fp, .two_op = 1, .d8s = d8s_dq },
+    [0x89] = { .simd_size = simd_packed_int, .two_op = 1, .d8s = d8s_dq },
+    [0x8a] = { .simd_size = simd_packed_fp, .to_mem = 1, .two_op = 1, .d8s = d8s_dq },
+    [0x8b] = { .simd_size = simd_packed_int, .to_mem = 1, .two_op = 1, .d8s = d8s_dq },
+    [0x8c] = { .simd_size = simd_packed_int },
+    [0x8d] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
+    [0x8e] = { .simd_size = simd_packed_int, .to_mem = 1 },
+    [0x8f] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
+    [0x90 ... 0x93] = { .simd_size = simd_other, .vsib = 1, .d8s = d8s_dq },
+    [0x96 ... 0x98] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },
+    [0x99] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
+    [0x9a] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },
+    [0x9b] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
+    [0x9c] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },
+    [0x9d] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
+    [0x9e] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },
+    [0x9f] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
+    [0xa0 ... 0xa3] = { .simd_size = simd_other, .to_mem = 1, .vsib = 1, .d8s = d8s_dq },
+    [0xa6 ... 0xa8] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },
+    [0xa9] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
+    [0xaa] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },
+    [0xab] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
+    [0xac] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },
+    [0xad] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
+    [0xae] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },
+    [0xaf] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
+    [0xb4 ... 0xb5] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
+    [0xb6 ... 0xb8] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },
+    [0xb9] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
+    [0xba] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },
+    [0xbb] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
+    [0xbc] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },
+    [0xbd] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
+    [0xbe] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },
+    [0xbf] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
+    [0xc4] = { .simd_size = simd_packed_int, .two_op = 1, .d8s = d8s_vl },
+    [0xc6 ... 0xc7] = { .simd_size = simd_other, .vsib = 1, .d8s = d8s_dq },
+    [0xc8] = { .simd_size = simd_packed_fp, .two_op = 1, .d8s = d8s_vl },
+    [0xc9] = { .simd_size = simd_other },
+    [0xca] = { .simd_size = simd_packed_fp, .two_op = 1, .d8s = d8s_vl },
+    [0xcb] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
+    [0xcc] = { .simd_size = simd_packed_fp, .two_op = 1, .d8s = d8s_vl },
+    [0xcd] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
+    [0xcf] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
+    [0xdb] = { .simd_size = simd_packed_int, .two_op = 1 },
+    [0xdc ... 0xdf] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
+    [0xf0] = { .two_op = 1 },
+    [0xf1] = { .to_mem = 1, .two_op = 1 },
+    [0xf2 ... 0xf3] = {},
+    [0xf5 ... 0xf7] = {},
+    [0xf8] = { .simd_size = simd_other },
+    [0xf9] = { .to_mem = 1, .two_op = 1 /* Mov */ },
+};
+
+static const struct ext0f3a_table {
+    uint8_t simd_size:5;
+    uint8_t to_mem:1;
+    uint8_t two_op:1;
+    uint8_t four_op:1;
+    disp8scale_t d8s:4;
+} ext0f3a_table[256] = {
+    [0x00] = { .simd_size = simd_packed_int, .two_op = 1, .d8s = d8s_vl },
+    [0x01] = { .simd_size = simd_packed_fp, .two_op = 1, .d8s = d8s_vl },
+    [0x02] = { .simd_size = simd_packed_int },
+    [0x03] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
+    [0x04 ... 0x05] = { .simd_size = simd_packed_fp, .two_op = 1, .d8s = d8s_vl },
+    [0x06] = { .simd_size = simd_packed_fp },
+    [0x08 ... 0x09] = { .simd_size = simd_packed_fp, .two_op = 1, .d8s = d8s_vl },
+    [0x0a ... 0x0b] = { .simd_size = simd_scalar_opc, .d8s = d8s_dq },
+    [0x0c ... 0x0d] = { .simd_size = simd_packed_fp },
+    [0x0e] = { .simd_size = simd_packed_int },
+    [0x0f] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
+    [0x14] = { .simd_size = simd_none, .to_mem = 1, .two_op = 1, .d8s = 0 },
+    [0x15] = { .simd_size = simd_none, .to_mem = 1, .two_op = 1, .d8s = 1 },
+    [0x16] = { .simd_size = simd_none, .to_mem = 1, .two_op = 1, .d8s = d8s_dq64 },
+    [0x17] = { .simd_size = simd_none, .to_mem = 1, .two_op = 1, .d8s = 2 },
+    [0x18] = { .simd_size = simd_128, .d8s = 4 },
+    [0x19] = { .simd_size = simd_128, .to_mem = 1, .two_op = 1, .d8s = 4 },
+    [0x1a] = { .simd_size = simd_256, .d8s = d8s_vl_by_2 },
+    [0x1b] = { .simd_size = simd_256, .to_mem = 1, .two_op = 1, .d8s = d8s_vl_by_2 },
+    [0x1d] = { .simd_size = simd_other, .to_mem = 1, .two_op = 1, .d8s = d8s_vl_by_2 },
+    [0x1e ... 0x1f] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
+    [0x20] = { .simd_size = simd_none, .d8s = 0 },
+    [0x21] = { .simd_size = simd_other, .d8s = 2 },
+    [0x22] = { .simd_size = simd_none, .d8s = d8s_dq64 },
+    [0x23] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
+    [0x25] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
+    [0x26] = { .simd_size = simd_packed_fp, .two_op = 1, .d8s = d8s_vl },
+    [0x27] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
+    [0x30 ... 0x33] = { .simd_size = simd_other, .two_op = 1 },
+    [0x38] = { .simd_size = simd_128, .d8s = 4 },
+    [0x3a] = { .simd_size = simd_256, .d8s = d8s_vl_by_2 },
+    [0x39] = { .simd_size = simd_128, .to_mem = 1, .two_op = 1, .d8s = 4 },
+    [0x3b] = { .simd_size = simd_256, .to_mem = 1, .two_op = 1, .d8s = d8s_vl_by_2 },
+    [0x3e ... 0x3f] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
+    [0x40 ... 0x41] = { .simd_size = simd_packed_fp },
+    [0x42 ... 0x43] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
+    [0x44] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
+    [0x46] = { .simd_size = simd_packed_int },
+    [0x48 ... 0x49] = { .simd_size = simd_packed_fp, .four_op = 1 },
+    [0x4a ... 0x4b] = { .simd_size = simd_packed_fp, .four_op = 1 },
+    [0x4c] = { .simd_size = simd_packed_int, .four_op = 1 },
+    [0x50] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },
+    [0x51] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
+    [0x54] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },
+    [0x55] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
+    [0x56] = { .simd_size = simd_packed_fp, .two_op = 1, .d8s = d8s_vl },
+    [0x57] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
+    [0x5c ... 0x5f] = { .simd_size = simd_packed_fp, .four_op = 1 },
+    [0x60 ... 0x63] = { .simd_size = simd_packed_int, .two_op = 1 },
+    [0x66] = { .simd_size = simd_packed_fp, .two_op = 1, .d8s = d8s_vl },
+    [0x67] = { .simd_size = simd_scalar_vexw, .two_op = 1, .d8s = d8s_dq },
+    [0x68 ... 0x69] = { .simd_size = simd_packed_fp, .four_op = 1 },
+    [0x6a ... 0x6b] = { .simd_size = simd_scalar_opc, .four_op = 1 },
+    [0x6c ... 0x6d] = { .simd_size = simd_packed_fp, .four_op = 1 },
+    [0x6e ... 0x6f] = { .simd_size = simd_scalar_opc, .four_op = 1 },
+    [0x70 ... 0x73] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
+    [0x78 ... 0x79] = { .simd_size = simd_packed_fp, .four_op = 1 },
+    [0x7a ... 0x7b] = { .simd_size = simd_scalar_opc, .four_op = 1 },
+    [0x7c ... 0x7d] = { .simd_size = simd_packed_fp, .four_op = 1 },
+    [0x7e ... 0x7f] = { .simd_size = simd_scalar_opc, .four_op = 1 },
+    [0xcc] = { .simd_size = simd_other },
+    [0xce ... 0xcf] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
+    [0xdf] = { .simd_size = simd_packed_int, .two_op = 1 },
+    [0xf0] = {},
+};
+
+static const opcode_desc_t xop_table[] = {
+    DstReg|SrcImmByte|ModRM,
+    DstReg|SrcMem|ModRM,
+    DstReg|SrcImm|ModRM,
+};
+
+static const struct ext8f08_table {
+    uint8_t simd_size:5;
+    uint8_t two_op:1;
+    uint8_t four_op:1;
+} ext8f08_table[256] = {
+    [0xa2] = { .simd_size = simd_packed_int, .four_op = 1 },
+    [0x85 ... 0x87] = { .simd_size = simd_packed_int, .four_op = 1 },
+    [0x8e ... 0x8f] = { .simd_size = simd_packed_int, .four_op = 1 },
+    [0x95 ... 0x97] = { .simd_size = simd_packed_int, .four_op = 1 },
+    [0x9e ... 0x9f] = { .simd_size = simd_packed_int, .four_op = 1 },
+    [0xa3] = { .simd_size = simd_packed_int, .four_op = 1 },
+    [0xa6] = { .simd_size = simd_packed_int, .four_op = 1 },
+    [0xb6] = { .simd_size = simd_packed_int, .four_op = 1 },
+    [0xc0 ... 0xc3] = { .simd_size = simd_packed_int, .two_op = 1 },
+    [0xcc ... 0xcf] = { .simd_size = simd_packed_int },
+    [0xec ... 0xef] = { .simd_size = simd_packed_int },
+};
+
+static const struct ext8f09_table {
+    uint8_t simd_size:5;
+    uint8_t two_op:1;
+} ext8f09_table[256] = {
+    [0x01 ... 0x02] = { .two_op = 1 },
+    [0x80 ... 0x81] = { .simd_size = simd_packed_fp, .two_op = 1 },
+    [0x82 ... 0x83] = { .simd_size = simd_scalar_opc, .two_op = 1 },
+    [0x90 ... 0x9b] = { .simd_size = simd_packed_int },
+    [0xc1 ... 0xc3] = { .simd_size = simd_packed_int, .two_op = 1 },
+    [0xc6 ... 0xc7] = { .simd_size = simd_packed_int, .two_op = 1 },
+    [0xcb] = { .simd_size = simd_packed_int, .two_op = 1 },
+    [0xd1 ... 0xd3] = { .simd_size = simd_packed_int, .two_op = 1 },
+    [0xd6 ... 0xd7] = { .simd_size = simd_packed_int, .two_op = 1 },
+    [0xdb] = { .simd_size = simd_packed_int, .two_op = 1 },
+    [0xe1 ... 0xe3] = { .simd_size = simd_packed_int, .two_op = 1 },
+};
+
+static unsigned int decode_disp8scale(enum disp8scale scale,
+                                      const struct x86_emulate_state *s)
+{
+    switch ( scale )
+    {
+    case d8s_bw:
+        return s->evex.w;
+
+    default:
+        if ( scale < d8s_vl )
+            return scale;
+        if ( s->evex.brs )
+        {
+    case d8s_dq:
+            return 2 + s->evex.w;
+        }
+        break;
+
+    case d8s_dq64:
+        return 2 + (s->op_bytes == 8);
+    }
+
+    switch ( s->simd_size )
+    {
+    case simd_any_fp:
+    case simd_single_fp:
+        if ( !(s->evex.pfx & VEX_PREFIX_SCALAR_MASK) )
+            break;
+        /* fall through */
+    case simd_scalar_opc:
+    case simd_scalar_vexw:
+        return 2 + s->evex.w;
+
+    case simd_128:
+        /* These should have an explicit size specified. */
+        ASSERT_UNREACHABLE();
+        return 4;
+
+    default:
+        break;
+    }
+
+    return 4 + s->evex.lr - (scale - d8s_vl);
+}
+
+/* Fetch next part of the instruction being emulated. */
+#define insn_fetch_bytes(_size) ({                                    \
+   unsigned long _x = 0, _ip = s->ip;                                 \
+   s->ip += (_size); /* real hardware doesn't truncate */             \
+   generate_exception_if((uint8_t)(s->ip -                            \
+                                   ctxt->regs->r(ip)) > MAX_INST_LEN, \
+                         X86_EXC_GP, 0);                              \
+   rc = ops->insn_fetch(x86_seg_cs, _ip, &_x, _size, ctxt);           \
+   if ( rc ) goto done;                                               \
+   _x;                                                                \
+})
+#define insn_fetch_type(type) ((type)insn_fetch_bytes(sizeof(type)))
+
+static int
+decode_onebyte(struct x86_emulate_state *s,
+               struct x86_emulate_ctxt *ctxt,
+               const struct x86_emulate_ops *ops)
+{
+    int rc = X86EMUL_OKAY;
+
+    switch ( ctxt->opcode )
+    {
+    case 0x06: /* push %%es */
+    case 0x07: /* pop %%es */
+    case 0x0e: /* push %%cs */
+    case 0x16: /* push %%ss */
+    case 0x17: /* pop %%ss */
+    case 0x1e: /* push %%ds */
+    case 0x1f: /* pop %%ds */
+    case 0x27: /* daa */
+    case 0x2f: /* das */
+    case 0x37: /* aaa */
+    case 0x3f: /* aas */
+    case 0x60: /* pusha */
+    case 0x61: /* popa */
+    case 0x62: /* bound */
+    case 0xc4: /* les */
+    case 0xc5: /* lds */
+    case 0xce: /* into */
+    case 0xd4: /* aam */
+    case 0xd5: /* aad */
+    case 0xd6: /* salc */
+        s->not_64bit = true;
+        break;
+
+    case 0x82: /* Grp1 (x86/32 only) */
+        s->not_64bit = true;
+        /* fall through */
+    case 0x80: case 0x81: case 0x83: /* Grp1 */
+        if ( (s->modrm_reg & 7) == 7 ) /* cmp */
+            s->desc = (s->desc & ByteOp) | DstNone | SrcMem;
+        break;
+
+    case 0x90: /* nop / pause */
+        if ( s->vex.pfx == vex_f3 )
+            ctxt->opcode |= X86EMUL_OPC_F3(0, 0);
+        break;
+
+    case 0x9a: /* call (far, absolute) */
+    case 0xea: /* jmp (far, absolute) */
+        generate_exception_if(mode_64bit(), X86_EXC_UD);
+
+        s->imm1 = insn_fetch_bytes(s->op_bytes);
+        s->imm2 = insn_fetch_type(uint16_t);
+        break;
+
+    case 0xa0: case 0xa1: /* mov mem.offs,{%al,%ax,%eax,%rax} */
+    case 0xa2: case 0xa3: /* mov {%al,%ax,%eax,%rax},mem.offs */
+        /* Source EA is not encoded via ModRM. */
+        s->ea.type = OP_MEM;
+        s->ea.mem.off = insn_fetch_bytes(s->ad_bytes);
+        break;
+
+    case 0xb8 ... 0xbf: /* mov imm{16,32,64},r{16,32,64} */
+        if ( s->op_bytes == 8 ) /* Fetch more bytes to obtain imm64. */
+            s->imm1 = ((uint32_t)s->imm1 |
+                       ((uint64_t)insn_fetch_type(uint32_t) << 32));
+        break;
+
+    case 0xc8: /* enter imm16,imm8 */
+        s->imm2 = insn_fetch_type(uint8_t);
+        break;
+
+    case 0xf6: case 0xf7: /* Grp3 */
+        if ( !(s->modrm_reg & 6) ) /* test */
+            s->desc = (s->desc & ByteOp) | DstNone | SrcMem;
+        break;
+
+    case 0xff: /* Grp5 */
+        switch ( s->modrm_reg & 7 )
+        {
+        case 2: /* call (near) */
+        case 4: /* jmp (near) */
+            if ( mode_64bit() && (s->op_bytes == 4 || !amd_like(ctxt)) )
+                s->op_bytes = 8;
+            s->desc = DstNone | SrcMem | Mov;
+            break;
+
+        case 3: /* call (far, absolute indirect) */
+        case 5: /* jmp (far, absolute indirect) */
+            /* REX.W ignored on a vendor-dependent basis. */
+            if ( s->op_bytes == 8 && amd_like(ctxt) )
+                s->op_bytes = 4;
+            s->desc = DstNone | SrcMem | Mov;
+            break;
+
+        case 6: /* push */
+            if ( mode_64bit() && s->op_bytes == 4 )
+                s->op_bytes = 8;
+            s->desc = DstNone | SrcMem | Mov;
+            break;
+        }
+        break;
+    }
+
+ done:
+    return rc;
+}
+
+static int
+decode_twobyte(struct x86_emulate_state *s,
+               struct x86_emulate_ctxt *ctxt,
+               const struct x86_emulate_ops *ops)
+{
+    int rc = X86EMUL_OKAY;
+
+    switch ( ctxt->opcode & X86EMUL_OPC_MASK )
+    {
+    case 0x00: /* Grp6 */
+        switch ( s->modrm_reg & 6 )
+        {
+        case 0:
+            s->desc |= DstMem | SrcImplicit | Mov;
+            break;
+        case 2: case 4:
+            s->desc |= SrcMem16;
+            break;
+        }
+        break;
+
+    case 0x78:
+        s->desc = ImplicitOps;
+        s->simd_size = simd_none;
+        switch ( s->vex.pfx )
+        {
+        case vex_66: /* extrq $imm8, $imm8, xmm */
+        case vex_f2: /* insertq $imm8, $imm8, xmm, xmm */
+            s->imm1 = insn_fetch_type(uint8_t);
+            s->imm2 = insn_fetch_type(uint8_t);
+            break;
+        }
+        /* fall through */
+    case 0x10 ... 0x18:
+    case 0x28 ... 0x2f:
+    case 0x50 ... 0x77:
+    case 0x7a ... 0x7d:
+    case 0x7f:
+    case 0xc2 ... 0xc3:
+    case 0xc5 ... 0xc6:
+    case 0xd0 ... 0xef:
+    case 0xf1 ... 0xfe:
+        ctxt->opcode |= MASK_INSR(s->vex.pfx, X86EMUL_OPC_PFX_MASK);
+        break;
+
+    case 0x20: case 0x22: /* mov to/from cr */
+        if ( s->lock_prefix && vcpu_has_cr8_legacy() )
+        {
+            s->modrm_reg += 8;
+            s->lock_prefix = false;
+        }
+        /* fall through */
+    case 0x21: case 0x23: /* mov to/from dr */
+        ASSERT(s->ea.type == OP_REG); /* Early operand adjustment ensures this. */
+        generate_exception_if(s->lock_prefix, X86_EXC_UD);
+        s->op_bytes = mode_64bit() ? 8 : 4;
+        break;
+
+    case 0x79:
+        s->desc = DstReg | SrcMem;
+        s->simd_size = simd_packed_int;
+        ctxt->opcode |= MASK_INSR(s->vex.pfx, X86EMUL_OPC_PFX_MASK);
+        break;
+
+    case 0x7e:
+        ctxt->opcode |= MASK_INSR(s->vex.pfx, X86EMUL_OPC_PFX_MASK);
+        if ( s->vex.pfx == vex_f3 ) /* movq xmm/m64,xmm */
+        {
+    case X86EMUL_OPC_VEX_F3(0, 0x7e): /* vmovq xmm/m64,xmm */
+    case X86EMUL_OPC_EVEX_F3(0, 0x7e): /* vmovq xmm/m64,xmm */
+            s->desc = DstImplicit | SrcMem | TwoOp;
+            s->simd_size = simd_other;
+            /* Avoid the s->desc clobbering of TwoOp below. */
+            return X86EMUL_OKAY;
+        }
+        break;
+
+    case X86EMUL_OPC_VEX(0, 0x90):    /* kmov{w,q} */
+    case X86EMUL_OPC_VEX_66(0, 0x90): /* kmov{b,d} */
+        s->desc = DstReg | SrcMem | Mov;
+        s->simd_size = simd_other;
+        break;
+
+    case X86EMUL_OPC_VEX(0, 0x91):    /* kmov{w,q} */
+    case X86EMUL_OPC_VEX_66(0, 0x91): /* kmov{b,d} */
+        s->desc = DstMem | SrcReg | Mov;
+        s->simd_size = simd_other;
+        break;
+
+    case 0xae:
+        ctxt->opcode |= MASK_INSR(s->vex.pfx, X86EMUL_OPC_PFX_MASK);
+        /* fall through */
+    case X86EMUL_OPC_VEX(0, 0xae):
+        switch ( s->modrm_reg & 7 )
+        {
+        case 2: /* {,v}ldmxcsr */
+            s->desc = DstImplicit | SrcMem | Mov;
+            s->op_bytes = 4;
+            break;
+
+        case 3: /* {,v}stmxcsr */
+            s->desc = DstMem | SrcImplicit | Mov;
+            s->op_bytes = 4;
+            break;
+        }
+        break;
+
+    case 0xb2: /* lss */
+    case 0xb4: /* lfs */
+    case 0xb5: /* lgs */
+        /* REX.W ignored on a vendor-dependent basis. */
+        if ( s->op_bytes == 8 && amd_like(ctxt) )
+            s->op_bytes = 4;
+        break;
+
+    case 0xb8: /* jmpe / popcnt */
+        if ( s->vex.pfx >= vex_f3 )
+            ctxt->opcode |= MASK_INSR(s->vex.pfx, X86EMUL_OPC_PFX_MASK);
+        break;
+
+        /* Intentionally not handling here despite being modified by F3:
+    case 0xbc: bsf / tzcnt
+    case 0xbd: bsr / lzcnt
+         * They're being dealt with in the execution phase (if at all).
+         */
+
+    case 0xc4: /* pinsrw */
+        ctxt->opcode |= MASK_INSR(s->vex.pfx, X86EMUL_OPC_PFX_MASK);
+        /* fall through */
+    case X86EMUL_OPC_VEX_66(0, 0xc4): /* vpinsrw */
+    case X86EMUL_OPC_EVEX_66(0, 0xc4): /* vpinsrw */
+        s->desc = DstImplicit | SrcMem16;
+        break;
+
+    case 0xf0:
+        ctxt->opcode |= MASK_INSR(s->vex.pfx, X86EMUL_OPC_PFX_MASK);
+        if ( s->vex.pfx == vex_f2 ) /* lddqu mem,xmm */
+        {
+        /* fall through */
+    case X86EMUL_OPC_VEX_F2(0, 0xf0): /* vlddqu mem,{x,y}mm */
+            s->desc = DstImplicit | SrcMem | TwoOp;
+            s->simd_size = simd_other;
+            /* Avoid the s->desc clobbering of TwoOp below. */
+            return X86EMUL_OKAY;
+        }
+        break;
+    }
+
+    /*
+     * Scalar forms of most VEX-/EVEX-encoded TwoOp instructions have
+     * three operands.  Those which do really have two operands
+     * should have exited earlier.
+     */
+    if ( s->simd_size && s->vex.opcx &&
+         (s->vex.pfx & VEX_PREFIX_SCALAR_MASK) )
+        s->desc &= ~TwoOp;
+
+ done:
+    return rc;
+}
+
+static int
+decode_0f38(struct x86_emulate_state *s,
+            struct x86_emulate_ctxt *ctxt,
+            const struct x86_emulate_ops *ops)
+{
+    switch ( ctxt->opcode & X86EMUL_OPC_MASK )
+    {
+    case 0x00 ... 0xef:
+    case 0xf2 ... 0xf5:
+    case 0xf7 ... 0xf8:
+    case 0xfa ... 0xff:
+        s->op_bytes = 0;
+        /* fall through */
+    case 0xf6: /* adcx / adox */
+    case 0xf9: /* movdiri */
+        ctxt->opcode |= MASK_INSR(s->vex.pfx, X86EMUL_OPC_PFX_MASK);
+        break;
+
+    case X86EMUL_OPC_EVEX_66(0, 0x2d): /* vscalefs{s,d} */
+        s->simd_size = simd_scalar_vexw;
+        break;
+
+    case X86EMUL_OPC_EVEX_66(0, 0x7a): /* vpbroadcastb */
+    case X86EMUL_OPC_EVEX_66(0, 0x7b): /* vpbroadcastw */
+    case X86EMUL_OPC_EVEX_66(0, 0x7c): /* vpbroadcast{d,q} */
+        break;
+
+    case 0xf0: /* movbe / crc32 */
+        s->desc |= s->vex.pfx == vex_f2 ? ByteOp : Mov;
+        if ( s->vex.pfx >= vex_f3 )
+            ctxt->opcode |= MASK_INSR(s->vex.pfx, X86EMUL_OPC_PFX_MASK);
+        break;
+
+    case 0xf1: /* movbe / crc32 */
+        if ( s->vex.pfx == vex_f2 )
+            s->desc = DstReg | SrcMem;
+        if ( s->vex.pfx >= vex_f3 )
+            ctxt->opcode |= MASK_INSR(s->vex.pfx, X86EMUL_OPC_PFX_MASK);
+        break;
+
+    case X86EMUL_OPC_VEX(0, 0xf2):    /* andn */
+    case X86EMUL_OPC_VEX(0, 0xf3):    /* Grp 17 */
+    case X86EMUL_OPC_VEX(0, 0xf5):    /* bzhi */
+    case X86EMUL_OPC_VEX_F3(0, 0xf5): /* pext */
+    case X86EMUL_OPC_VEX_F2(0, 0xf5): /* pdep */
+    case X86EMUL_OPC_VEX_F2(0, 0xf6): /* mulx */
+    case X86EMUL_OPC_VEX(0, 0xf7):    /* bextr */
+    case X86EMUL_OPC_VEX_66(0, 0xf7): /* shlx */
+    case X86EMUL_OPC_VEX_F3(0, 0xf7): /* sarx */
+    case X86EMUL_OPC_VEX_F2(0, 0xf7): /* shrx */
+        break;
+
+    default:
+        s->op_bytes = 0;
+        break;
+    }
+
+    return X86EMUL_OKAY;
+}
+
+static int
+decode_0f3a(struct x86_emulate_state *s,
+            struct x86_emulate_ctxt *ctxt,
+            const struct x86_emulate_ops *ops)
+{
+    if ( !s->vex.opcx )
+        ctxt->opcode |= MASK_INSR(s->vex.pfx, X86EMUL_OPC_PFX_MASK);
+
+    switch ( ctxt->opcode & X86EMUL_OPC_MASK )
+    {
+    case X86EMUL_OPC_66(0, 0x14)
+     ... X86EMUL_OPC_66(0, 0x17):     /* pextr*, extractps */
+    case X86EMUL_OPC_VEX_66(0, 0x14)
+     ... X86EMUL_OPC_VEX_66(0, 0x17): /* vpextr*, vextractps */
+    case X86EMUL_OPC_EVEX_66(0, 0x14)
+     ... X86EMUL_OPC_EVEX_66(0, 0x17): /* vpextr*, vextractps */
+    case X86EMUL_OPC_VEX_F2(0, 0xf0): /* rorx */
+        break;
+
+    case X86EMUL_OPC_66(0, 0x20):     /* pinsrb */
+    case X86EMUL_OPC_VEX_66(0, 0x20): /* vpinsrb */
+    case X86EMUL_OPC_EVEX_66(0, 0x20): /* vpinsrb */
+        s->desc = DstImplicit | SrcMem;
+        if ( s->modrm_mod != 3 )
+            s->desc |= ByteOp;
+        break;
+
+    case X86EMUL_OPC_66(0, 0x22):     /* pinsr{d,q} */
+    case X86EMUL_OPC_VEX_66(0, 0x22): /* vpinsr{d,q} */
+    case X86EMUL_OPC_EVEX_66(0, 0x22): /* vpinsr{d,q} */
+        s->desc = DstImplicit | SrcMem;
+        break;
+
+    default:
+        s->op_bytes = 0;
+        break;
+    }
+
+    return X86EMUL_OKAY;
+}
+
+#define ad_bytes (s->ad_bytes) /* for truncate_ea() */
+
+int x86emul_decode(struct x86_emulate_state *s,
+                   struct x86_emulate_ctxt *ctxt,
+                   const struct x86_emulate_ops *ops)
+{
+    uint8_t b, d;
+    unsigned int def_op_bytes, def_ad_bytes, opcode;
+    enum x86_segment override_seg = x86_seg_none;
+    bool pc_rel = false;
+    int rc = X86EMUL_OKAY;
+
+    ASSERT(ops->insn_fetch);
+
+    memset(s, 0, sizeof(*s));
+    s->ea.type = OP_NONE;
+    s->ea.mem.seg = x86_seg_ds;
+    s->ea.reg = PTR_POISON;
+    s->regs = ctxt->regs;
+    s->ip = ctxt->regs->r(ip);
+
+    s->op_bytes = def_op_bytes = ad_bytes = def_ad_bytes =
+        ctxt->addr_size / 8;
+    if ( s->op_bytes == 8 )
+    {
+        s->op_bytes = def_op_bytes = 4;
+#ifndef __x86_64__
+        return X86EMUL_UNHANDLEABLE;
+#endif
+    }
+
+    /* Prefix bytes. */
+    for ( ; ; )
+    {
+        switch ( b = insn_fetch_type(uint8_t) )
+        {
+        case 0x66: /* operand-size override */
+            s->op_bytes = def_op_bytes ^ 6;
+            if ( !s->vex.pfx )
+                s->vex.pfx = vex_66;
+            break;
+        case 0x67: /* address-size override */
+            ad_bytes = def_ad_bytes ^ (mode_64bit() ? 12 : 6);
+            break;
+        case 0x2e: /* CS override / ignored in 64-bit mode */
+            if ( !mode_64bit() )
+                override_seg = x86_seg_cs;
+            break;
+        case 0x3e: /* DS override / ignored in 64-bit mode */
+            if ( !mode_64bit() )
+                override_seg = x86_seg_ds;
+            break;
+        case 0x26: /* ES override / ignored in 64-bit mode */
+            if ( !mode_64bit() )
+                override_seg = x86_seg_es;
+            break;
+        case 0x64: /* FS override */
+            override_seg = x86_seg_fs;
+            break;
+        case 0x65: /* GS override */
+            override_seg = x86_seg_gs;
+            break;
+        case 0x36: /* SS override / ignored in 64-bit mode */
+            if ( !mode_64bit() )
+                override_seg = x86_seg_ss;
+            break;
+        case 0xf0: /* LOCK */
+            s->lock_prefix = true;
+            break;
+        case 0xf2: /* REPNE/REPNZ */
+            s->vex.pfx = vex_f2;
+            break;
+        case 0xf3: /* REP/REPE/REPZ */
+            s->vex.pfx = vex_f3;
+            break;
+        case 0x40 ... 0x4f: /* REX */
+            if ( !mode_64bit() )
+                goto done_prefixes;
+            s->rex_prefix = b;
+            continue;
+        default:
+            goto done_prefixes;
+        }
+
+        /* Any legacy prefix after a REX prefix nullifies its effect. */
+        s->rex_prefix = 0;
+    }
+ done_prefixes:
+
+    if ( s->rex_prefix & REX_W )
+        s->op_bytes = 8;
+
+    /* Opcode byte(s). */
+    d = opcode_table[b];
+    if ( d == 0 && b == 0x0f )
+    {
+        /* Two-byte opcode. */
+        b = insn_fetch_type(uint8_t);
+        d = twobyte_table[b].desc;
+        switch ( b )
+        {
+        default:
+            opcode = b | MASK_INSR(0x0f, X86EMUL_OPC_EXT_MASK);
+            s->ext = ext_0f;
+            s->simd_size = twobyte_table[b].size;
+            break;
+        case 0x38:
+            b = insn_fetch_type(uint8_t);
+            opcode = b | MASK_INSR(0x0f38, X86EMUL_OPC_EXT_MASK);
+            s->ext = ext_0f38;
+            break;
+        case 0x3a:
+            b = insn_fetch_type(uint8_t);
+            opcode = b | MASK_INSR(0x0f3a, X86EMUL_OPC_EXT_MASK);
+            s->ext = ext_0f3a;
+            break;
+        }
+    }
+    else
+        opcode = b;
+
+    /* ModRM and SIB bytes. */
+    if ( d & ModRM )
+    {
+        s->modrm = insn_fetch_type(uint8_t);
+        s->modrm_mod = (s->modrm & 0xc0) >> 6;
+
+        if ( !s->ext && ((b & ~1) == 0xc4 || (b == 0x8f && (s->modrm & 0x18)) ||
+                         b == 0x62) )
+            switch ( def_ad_bytes )
+            {
+            default:
+                BUG(); /* Shouldn't be possible. */
+            case 2:
+                if ( s->regs->eflags & X86_EFLAGS_VM )
+                    break;
+                /* fall through */
+            case 4:
+                if ( s->modrm_mod != 3 || in_realmode(ctxt, ops) )
+                    break;
+                /* fall through */
+            case 8:
+                /* VEX / XOP / EVEX */
+                generate_exception_if(s->rex_prefix || s->vex.pfx, X86_EXC_UD);
+                /*
+                 * With operand size override disallowed (see above), op_bytes
+                 * should not have changed from its default.
+                 */
+                ASSERT(s->op_bytes == def_op_bytes);
+
+                s->vex.raw[0] = s->modrm;
+                if ( b == 0xc5 )
+                {
+                    opcode = X86EMUL_OPC_VEX_;
+                    s->vex.raw[1] = s->modrm;
+                    s->vex.opcx = vex_0f;
+                    s->vex.x = 1;
+                    s->vex.b = 1;
+                    s->vex.w = 0;
+                }
+                else
+                {
+                    s->vex.raw[1] = insn_fetch_type(uint8_t);
+                    if ( mode_64bit() )
+                    {
+                        if ( !s->vex.b )
+                            s->rex_prefix |= REX_B;
+                        if ( !s->vex.x )
+                            s->rex_prefix |= REX_X;
+                        if ( s->vex.w )
+                        {
+                            s->rex_prefix |= REX_W;
+                            s->op_bytes = 8;
+                        }
+                    }
+                    else
+                    {
+                        /* Operand size fixed at 4 (no override via W bit). */
+                        s->op_bytes = 4;
+                        s->vex.b = 1;
+                    }
+                    switch ( b )
+                    {
+                    case 0x62:
+                        opcode = X86EMUL_OPC_EVEX_;
+                        s->evex.raw[0] = s->vex.raw[0];
+                        s->evex.raw[1] = s->vex.raw[1];
+                        s->evex.raw[2] = insn_fetch_type(uint8_t);
+
+                        generate_exception_if(!s->evex.mbs || s->evex.mbz, X86_EXC_UD);
+                        generate_exception_if(!s->evex.opmsk && s->evex.z, X86_EXC_UD);
+
+                        if ( !mode_64bit() )
+                            s->evex.R = 1;
+
+                        s->vex.opcx = s->evex.opcx;
+                        break;
+                    case 0xc4:
+                        opcode = X86EMUL_OPC_VEX_;
+                        break;
+                    default:
+                        opcode = 0;
+                        break;
+                    }
+                }
+                if ( !s->vex.r )
+                    s->rex_prefix |= REX_R;
+
+                s->ext = s->vex.opcx;
+                if ( b != 0x8f )
+                {
+                    b = insn_fetch_type(uint8_t);
+                    switch ( s->ext )
+                    {
+                    case vex_0f:
+                        opcode |= MASK_INSR(0x0f, X86EMUL_OPC_EXT_MASK);
+                        d = twobyte_table[b].desc;
+                        s->simd_size = twobyte_table[b].size;
+                        break;
+                    case vex_0f38:
+                        opcode |= MASK_INSR(0x0f38, X86EMUL_OPC_EXT_MASK);
+                        d = twobyte_table[0x38].desc;
+                        break;
+                    case vex_0f3a:
+                        opcode |= MASK_INSR(0x0f3a, X86EMUL_OPC_EXT_MASK);
+                        d = twobyte_table[0x3a].desc;
+                        break;
+                    default:
+                        rc = X86EMUL_UNRECOGNIZED;
+                        goto done;
+                    }
+                }
+                else if ( s->ext < ext_8f08 + ARRAY_SIZE(xop_table) )
+                {
+                    b = insn_fetch_type(uint8_t);
+                    opcode |= MASK_INSR(0x8f08 + s->ext - ext_8f08,
+                                        X86EMUL_OPC_EXT_MASK);
+                    d = array_access_nospec(xop_table, s->ext - ext_8f08);
+                }
+                else
+                {
+                    rc = X86EMUL_UNRECOGNIZED;
+                    goto done;
+                }
+
+                opcode |= b | MASK_INSR(s->vex.pfx, X86EMUL_OPC_PFX_MASK);
+
+                if ( !evex_encoded() )
+                    s->evex.lr = s->vex.l;
+
+                if ( !(d & ModRM) )
+                    break;
+
+                s->modrm = insn_fetch_type(uint8_t);
+                s->modrm_mod = (s->modrm & 0xc0) >> 6;
+
+                break;
+            }
+    }
+
+    if ( d & ModRM )
+    {
+        unsigned int disp8scale = 0;
+
+        d &= ~ModRM;
+#undef ModRM /* Only its aliases are valid to use from here on. */
+        s->modrm_reg = ((s->rex_prefix & 4) << 1) | ((s->modrm & 0x38) >> 3) |
+                       ((evex_encoded() && !s->evex.R) << 4);
+        s->modrm_rm  = s->modrm & 0x07;
+
+        /*
+         * Early operand adjustments. Only ones affecting further processing
+         * prior to the x86_decode_*() calls really belong here. That would
+         * normally be only addition/removal of SrcImm/SrcImm16, so their
+         * fetching can be taken care of by the common code below.
+         */
+        switch ( s->ext )
+        {
+        case ext_none:
+            switch ( b )
+            {
+            case 0xf6 ... 0xf7: /* Grp3 */
+                switch ( s->modrm_reg & 7 )
+                {
+                case 0 ... 1: /* test */
+                    d |= DstMem | SrcImm;
+                    break;
+                case 2: /* not */
+                case 3: /* neg */
+                    d |= DstMem;
+                    break;
+                case 4: /* mul */
+                case 5: /* imul */
+                case 6: /* div */
+                case 7: /* idiv */
+                    /*
+                     * DstEax isn't really precise for all cases; updates to
+                     * rDX get handled in an open coded manner.
+                     */
+                    d |= DstEax | SrcMem;
+                    break;
+                }
+                break;
+            }
+            break;
+
+        case ext_0f:
+            if ( evex_encoded() )
+                disp8scale = decode_disp8scale(twobyte_table[b].d8s, s);
+
+            switch ( b )
+            {
+            case 0x12: /* vmovsldup / vmovddup */
+                if ( s->evex.pfx == vex_f2 )
+                    disp8scale = s->evex.lr ? 4 + s->evex.lr : 3;
+                /* fall through */
+            case 0x16: /* vmovshdup */
+                if ( s->evex.pfx == vex_f3 )
+                    disp8scale = 4 + s->evex.lr;
+                break;
+
+            case 0x20: /* mov cr,reg */
+            case 0x21: /* mov dr,reg */
+            case 0x22: /* mov reg,cr */
+            case 0x23: /* mov reg,dr */
+                /*
+                 * Mov to/from cr/dr ignore the encoding of Mod, and behave as
+                 * if they were encoded as reg/reg instructions.  No further
+                 * disp/SIB bytes are fetched.
+                 */
+                s->modrm_mod = 3;
+                break;
+
+            case 0x78:
+            case 0x79:
+                if ( !s->evex.pfx )
+                    break;
+                /* vcvt{,t}ps2uqq need special casing */
+                if ( s->evex.pfx == vex_66 )
+                {
+                    if ( !s->evex.w && !s->evex.brs )
+                        --disp8scale;
+                    break;
+                }
+                /* vcvt{,t}s{s,d}2usi need special casing: fall through */
+            case 0x2c: /* vcvtts{s,d}2si need special casing */
+            case 0x2d: /* vcvts{s,d}2si need special casing */
+                if ( evex_encoded() )
+                    disp8scale = 2 + (s->evex.pfx & VEX_PREFIX_DOUBLE_MASK);
+                break;
+
+            case 0x5a: /* vcvtps2pd needs special casing */
+                if ( disp8scale && !s->evex.pfx && !s->evex.brs )
+                    --disp8scale;
+                break;
+
+            case 0x7a: /* vcvttps2qq and vcvtudq2pd need special casing */
+                if ( disp8scale && s->evex.pfx != vex_f2 && !s->evex.w && !s->evex.brs )
+                    --disp8scale;
+                break;
+
+            case 0x7b: /* vcvtp{s,d}2qq need special casing */
+                if ( disp8scale && s->evex.pfx == vex_66 )
+                    disp8scale = (s->evex.brs ? 2 : 3 + s->evex.lr) + s->evex.w;
+                break;
+
+            case 0x7e: /* vmovq xmm/m64,xmm needs special casing */
+                if ( disp8scale == 2 && s->evex.pfx == vex_f3 )
+                    disp8scale = 3;
+                break;
+
+            case 0xe6: /* vcvtdq2pd needs special casing */
+                if ( disp8scale && s->evex.pfx == vex_f3 && !s->evex.w && !s->evex.brs )
+                    --disp8scale;
+                break;
+            }
+            break;
+
+        case ext_0f38:
+            d = ext0f38_table[b].to_mem ? DstMem | SrcReg
+                                        : DstReg | SrcMem;
+            if ( ext0f38_table[b].two_op )
+                d |= TwoOp;
+            if ( ext0f38_table[b].vsib )
+                d |= vSIB;
+            s->simd_size = ext0f38_table[b].simd_size;
+            if ( evex_encoded() )
+            {
+                /*
+                 * VPMOVUS* are identical to VPMOVS* Disp8-scaling-wise, but
+                 * their attributes don't match those of the vex_66 encoded
+                 * insns with the same base opcodes. Rather than adding new
+                 * columns to the table, handle this here for now.
+                 */
+                if ( s->evex.pfx != vex_f3 || (b & 0xf8) != 0x10 )
+                    disp8scale = decode_disp8scale(ext0f38_table[b].d8s, s);
+                else
+                {
+                    disp8scale = decode_disp8scale(ext0f38_table[b ^ 0x30].d8s,
+                                                   s);
+                    s->simd_size = simd_other;
+                }
+
+                switch ( b )
+                {
+                /* vp4dpwssd{,s} need special casing */
+                case 0x52: case 0x53:
+                /* v4f{,n}madd{p,s}s need special casing */
+                case 0x9a: case 0x9b: case 0xaa: case 0xab:
+                    if ( s->evex.pfx == vex_f2 )
+                    {
+                        disp8scale = 4;
+                        s->simd_size = simd_128;
+                    }
+                    break;
+                }
+            }
+            break;
+
+        case ext_0f3a:
+            /*
+             * Cannot update d here yet, as the immediate operand still
+             * needs fetching.
+             */
+            s->simd_size = ext0f3a_table[b].simd_size;
+            if ( evex_encoded() )
+                disp8scale = decode_disp8scale(ext0f3a_table[b].d8s, s);
+            break;
+
+        case ext_8f09:
+            if ( ext8f09_table[b].two_op )
+                d |= TwoOp;
+            s->simd_size = ext8f09_table[b].simd_size;
+            break;
+
+        case ext_8f08:
+        case ext_8f0a:
+            /*
+             * Cannot update d here yet, as the immediate operand still
+             * needs fetching.
+             */
+            break;
+
+        default:
+            ASSERT_UNREACHABLE();
+            return X86EMUL_UNIMPLEMENTED;
+        }
+
+        if ( s->modrm_mod == 3 )
+        {
+            generate_exception_if(d & vSIB, X86_EXC_UD);
+            s->modrm_rm |= ((s->rex_prefix & 1) << 3) |
+                           ((evex_encoded() && !s->evex.x) << 4);
+            s->ea.type = OP_REG;
+        }
+        else if ( ad_bytes == 2 )
+        {
+            /* 16-bit ModR/M decode. */
+            generate_exception_if(d & vSIB, X86_EXC_UD);
+            s->ea.type = OP_MEM;
+            switch ( s->modrm_rm )
+            {
+            case 0:
+                s->ea.mem.off = s->regs->bx + s->regs->si;
+                break;
+            case 1:
+                s->ea.mem.off = s->regs->bx + s->regs->di;
+                break;
+            case 2:
+                s->ea.mem.seg = x86_seg_ss;
+                s->ea.mem.off = s->regs->bp + s->regs->si;
+                break;
+            case 3:
+                s->ea.mem.seg = x86_seg_ss;
+                s->ea.mem.off = s->regs->bp + s->regs->di;
+                break;
+            case 4:
+                s->ea.mem.off = s->regs->si;
+                break;
+            case 5:
+                s->ea.mem.off = s->regs->di;
+                break;
+            case 6:
+                if ( s->modrm_mod == 0 )
+                    break;
+                s->ea.mem.seg = x86_seg_ss;
+                s->ea.mem.off = s->regs->bp;
+                break;
+            case 7:
+                s->ea.mem.off = s->regs->bx;
+                break;
+            }
+            switch ( s->modrm_mod )
+            {
+            case 0:
+                if ( s->modrm_rm == 6 )
+                    s->ea.mem.off = insn_fetch_type(int16_t);
+                break;
+            case 1:
+                s->ea.mem.off += insn_fetch_type(int8_t) * (1 << disp8scale);
+                break;
+            case 2:
+                s->ea.mem.off += insn_fetch_type(int16_t);
+                break;
+            }
+        }
+        else
+        {
+            /* 32/64-bit ModR/M decode. */
+            s->ea.type = OP_MEM;
+            if ( s->modrm_rm == 4 )
+            {
+                uint8_t sib = insn_fetch_type(uint8_t);
+                uint8_t sib_base = (sib & 7) | ((s->rex_prefix << 3) & 8);
+
+                s->sib_index = ((sib >> 3) & 7) | ((s->rex_prefix << 2) & 8);
+                s->sib_scale = (sib >> 6) & 3;
+                if ( unlikely(d & vSIB) )
+                    s->sib_index |= (mode_64bit() && evex_encoded() &&
+                                     !s->evex.RX) << 4;
+                else if ( s->sib_index != 4 )
+                {
+                    s->ea.mem.off = *decode_gpr(s->regs, s->sib_index);
+                    s->ea.mem.off <<= s->sib_scale;
+                }
+                if ( (s->modrm_mod == 0) && ((sib_base & 7) == 5) )
+                    s->ea.mem.off += insn_fetch_type(int32_t);
+                else if ( sib_base == 4 )
+                {
+                    s->ea.mem.seg  = x86_seg_ss;
+                    s->ea.mem.off += s->regs->r(sp);
+                    if ( !s->ext && (b == 0x8f) )
+                        /* POP <rm> computes its EA post increment. */
+                        s->ea.mem.off += ((mode_64bit() && (s->op_bytes == 4))
+                                       ? 8 : s->op_bytes);
+                }
+                else if ( sib_base == 5 )
+                {
+                    s->ea.mem.seg  = x86_seg_ss;
+                    s->ea.mem.off += s->regs->r(bp);
+                }
+                else
+                    s->ea.mem.off += *decode_gpr(s->regs, sib_base);
+            }
+            else
+            {
+                generate_exception_if(d & vSIB, X86_EXC_UD);
+                s->modrm_rm |= (s->rex_prefix & 1) << 3;
+                s->ea.mem.off = *decode_gpr(s->regs, s->modrm_rm);
+                if ( (s->modrm_rm == 5) && (s->modrm_mod != 0) )
+                    s->ea.mem.seg = x86_seg_ss;
+            }
+            switch ( s->modrm_mod )
+            {
+            case 0:
+                if ( (s->modrm_rm & 7) != 5 )
+                    break;
+                s->ea.mem.off = insn_fetch_type(int32_t);
+                pc_rel = mode_64bit();
+                break;
+            case 1:
+                s->ea.mem.off += insn_fetch_type(int8_t) * (1 << disp8scale);
+                break;
+            case 2:
+                s->ea.mem.off += insn_fetch_type(int32_t);
+                break;
+            }
+        }
+    }
+    else
+    {
+        s->modrm_mod = 0xff;
+        s->modrm_reg = s->modrm_rm = s->modrm = 0;
+    }
+
+    if ( override_seg != x86_seg_none )
+        s->ea.mem.seg = override_seg;
+
+    /* Fetch the immediate operand, if present. */
+    switch ( d & SrcMask )
+    {
+        unsigned int bytes;
+
+    case SrcImm:
+        if ( !(d & ByteOp) )
+        {
+            if ( mode_64bit() && !amd_like(ctxt) &&
+                 ((s->ext == ext_none && (b | 1) == 0xe9) /* call / jmp */ ||
+                  (s->ext == ext_0f && (b | 0xf) == 0x8f) /* jcc */ ) )
+                s->op_bytes = 4;
+            bytes = s->op_bytes != 8 ? s->op_bytes : 4;
+        }
+        else
+        {
+    case SrcImmByte:
+            bytes = 1;
+        }
+        /* NB. Immediates are sign-extended as necessary. */
+        switch ( bytes )
+        {
+        case 1: s->imm1 = insn_fetch_type(int8_t);  break;
+        case 2: s->imm1 = insn_fetch_type(int16_t); break;
+        case 4: s->imm1 = insn_fetch_type(int32_t); break;
+        }
+        break;
+    case SrcImm16:
+        s->imm1 = insn_fetch_type(uint16_t);
+        break;
+    }
+
+    ctxt->opcode = opcode;
+    s->desc = d;
+
+    switch ( s->ext )
+    {
+    case ext_none:
+        rc = decode_onebyte(s, ctxt, ops);
+        break;
+
+    case ext_0f:
+        rc = decode_twobyte(s, ctxt, ops);
+        break;
+
+    case ext_0f38:
+        rc = decode_0f38(s, ctxt, ops);
+        break;
+
+    case ext_0f3a:
+        d = ext0f3a_table[b].to_mem ? DstMem | SrcReg : DstReg | SrcMem;
+        if ( ext0f3a_table[b].two_op )
+            d |= TwoOp;
+        else if ( ext0f3a_table[b].four_op && !mode_64bit() && s->vex.opcx )
+            s->imm1 &= 0x7f;
+        s->desc = d;
+        rc = decode_0f3a(s, ctxt, ops);
+        break;
+
+    case ext_8f08:
+        d = DstReg | SrcMem;
+        if ( ext8f08_table[b].two_op )
+            d |= TwoOp;
+        else if ( ext8f08_table[b].four_op && !mode_64bit() )
+            s->imm1 &= 0x7f;
+        s->desc = d;
+        s->simd_size = ext8f08_table[b].simd_size;
+        break;
+
+    case ext_8f09:
+    case ext_8f0a:
+        break;
+
+    default:
+        ASSERT_UNREACHABLE();
+        return X86EMUL_UNIMPLEMENTED;
+    }
+
+    if ( s->ea.type == OP_MEM )
+    {
+        if ( pc_rel )
+            s->ea.mem.off += s->ip;
+
+        s->ea.mem.off = truncate_ea(s->ea.mem.off);
+    }
+
+    /*
+     * Simple op_bytes calculations. More complicated cases produce 0
+     * and are further handled during execute.
+     */
+    switch ( s->simd_size )
+    {
+    case simd_none:
+        /*
+         * When prefix 66 has a meaning different from operand-size override,
+         * operand size defaults to 4 and can't be overridden to 2.
+         */
+        if ( s->op_bytes == 2 &&
+             (ctxt->opcode & X86EMUL_OPC_PFX_MASK) == X86EMUL_OPC_66(0, 0) )
+            s->op_bytes = 4;
+        break;
+
+#ifndef X86EMUL_NO_SIMD
+    case simd_packed_int:
+        switch ( s->vex.pfx )
+        {
+        case vex_none:
+            if ( !s->vex.opcx )
+            {
+                s->op_bytes = 8;
+                break;
+            }
+            /* fall through */
+        case vex_66:
+            s->op_bytes = 16 << s->evex.lr;
+            break;
+        default:
+            s->op_bytes = 0;
+            break;
+        }
+        break;
+
+    case simd_single_fp:
+        if ( s->vex.pfx & VEX_PREFIX_DOUBLE_MASK )
+        {
+            s->op_bytes = 0;
+            break;
+    case simd_packed_fp:
+            if ( s->vex.pfx & VEX_PREFIX_SCALAR_MASK )
+            {
+                s->op_bytes = 0;
+                break;
+            }
+        }
+        /* fall through */
+    case simd_any_fp:
+        switch ( s->vex.pfx )
+        {
+        default:
+            s->op_bytes = 16 << s->evex.lr;
+            break;
+        case vex_f3:
+            generate_exception_if(evex_encoded() && s->evex.w, X86_EXC_UD);
+            s->op_bytes = 4;
+            break;
+        case vex_f2:
+            generate_exception_if(evex_encoded() && !s->evex.w, X86_EXC_UD);
+            s->op_bytes = 8;
+            break;
+        }
+        break;
+
+    case simd_scalar_opc:
+        s->op_bytes = 4 << (ctxt->opcode & 1);
+        break;
+
+    case simd_scalar_vexw:
+        s->op_bytes = 4 << s->vex.w;
+        break;
+
+    case simd_128:
+        /* The special cases here are MMX shift insns. */
+        s->op_bytes = s->vex.opcx || s->vex.pfx ? 16 : 8;
+        break;
+
+    case simd_256:
+        s->op_bytes = 32;
+        break;
+#endif /* !X86EMUL_NO_SIMD */
+
+    default:
+        s->op_bytes = 0;
+        break;
+    }
+
+ done:
+    return rc;
+}
--- a/xen/arch/x86/x86_emulate/private.h
+++ b/xen/arch/x86/x86_emulate/private.h
@@ -37,9 +37,11 @@
 #ifdef __i386__
 # define mode_64bit() false
 # define r(name) e ## name
+# define PTR_POISON NULL /* 32-bit builds are for user-space, so NULL is OK. */
 #else
 # define mode_64bit() (ctxt->addr_size == 64)
 # define r(name) r ## name
+# define PTR_POISON ((void *)0x8086000000008086UL) /* non-canonical */
 #endif
 
 /* Operand sizes: 8-bit operands or specified/overridden size. */
@@ -76,6 +78,23 @@
 
 typedef uint8_t opcode_desc_t;
 
+enum disp8scale {
+    /* Values 0 ... 4 are explicit sizes. */
+    d8s_bw = 5,
+    d8s_dq,
+    /* EVEX.W ignored outside of 64-bit mode */
+    d8s_dq64,
+    /*
+     * All further values must strictly be last and in the order
+     * given so that arithmetic on the values works.
+     */
+    d8s_vl,
+    d8s_vl_by_2,
+    d8s_vl_by_4,
+    d8s_vl_by_8,
+};
+typedef uint8_t disp8scale_t;
+
 /* Type, address-of, and value of an instruction's operand. */
 struct operand {
     enum { OP_REG, OP_MEM, OP_IMM, OP_NONE } type;
@@ -182,6 +201,9 @@ enum vex_pfx {
     vex_f2
 };
 
+#define VEX_PREFIX_DOUBLE_MASK 0x1
+#define VEX_PREFIX_SCALAR_MASK 0x2
+
 union vex {
     uint8_t raw[2];
     struct {             /* SDM names */
@@ -706,6 +728,10 @@ do {
     if ( rc ) goto done;                                        \
 } while (0)
 
+int x86emul_decode(struct x86_emulate_state *s,
+                   struct x86_emulate_ctxt *ctxt,
+                   const struct x86_emulate_ops *ops);
+
 int x86emul_fpu(struct x86_emulate_state *s,
                 struct cpu_user_regs *regs,
                 struct operand *dst,
@@ -735,6 +761,13 @@ int x86emul_0fc7(struct x86_emulate_stat
                  const struct x86_emulate_ops *ops,
                  mmval_t *mmvalp);
 
+/* Initialise output state in x86_emulate_ctxt */
+static inline void init_context(struct x86_emulate_ctxt *ctxt)
+{
+    ctxt->retire.raw = 0;
+    x86_emul_reset_event(ctxt);
+}
+
 static inline bool is_aligned(enum x86_segment seg, unsigned long offs,
                               unsigned int size, struct x86_emulate_ctxt *ctxt,
                               const struct x86_emulate_ops *ops)
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -22,274 +22,6 @@
 
 #include "private.h"
 
-static const opcode_desc_t opcode_table[256] = {
-    /* 0x00 - 0x07 */
-    ByteOp|DstMem|SrcReg|ModRM, DstMem|SrcReg|ModRM,
-    ByteOp|DstReg|SrcMem|ModRM, DstReg|SrcMem|ModRM,
-    ByteOp|DstEax|SrcImm, DstEax|SrcImm, ImplicitOps|Mov, ImplicitOps|Mov,
-    /* 0x08 - 0x0F */
-    ByteOp|DstMem|SrcReg|ModRM, DstMem|SrcReg|ModRM,
-    ByteOp|DstReg|SrcMem|ModRM, DstReg|SrcMem|ModRM,
-    ByteOp|DstEax|SrcImm, DstEax|SrcImm, ImplicitOps|Mov, 0,
-    /* 0x10 - 0x17 */
-    ByteOp|DstMem|SrcReg|ModRM, DstMem|SrcReg|ModRM,
-    ByteOp|DstReg|SrcMem|ModRM, DstReg|SrcMem|ModRM,
-    ByteOp|DstEax|SrcImm, DstEax|SrcImm, ImplicitOps|Mov, ImplicitOps|Mov,
-    /* 0x18 - 0x1F */
-    ByteOp|DstMem|SrcReg|ModRM, DstMem|SrcReg|ModRM,
-    ByteOp|DstReg|SrcMem|ModRM, DstReg|SrcMem|ModRM,
-    ByteOp|DstEax|SrcImm, DstEax|SrcImm, ImplicitOps|Mov, ImplicitOps|Mov,
-    /* 0x20 - 0x27 */
-    ByteOp|DstMem|SrcReg|ModRM, DstMem|SrcReg|ModRM,
-    ByteOp|DstReg|SrcMem|ModRM, DstReg|SrcMem|ModRM,
-    ByteOp|DstEax|SrcImm, DstEax|SrcImm, 0, ImplicitOps,
-    /* 0x28 - 0x2F */
-    ByteOp|DstMem|SrcReg|ModRM, DstMem|SrcReg|ModRM,
-    ByteOp|DstReg|SrcMem|ModRM, DstReg|SrcMem|ModRM,
-    ByteOp|DstEax|SrcImm, DstEax|SrcImm, 0, ImplicitOps,
-    /* 0x30 - 0x37 */
-    ByteOp|DstMem|SrcReg|ModRM, DstMem|SrcReg|ModRM,
-    ByteOp|DstReg|SrcMem|ModRM, DstReg|SrcMem|ModRM,
-    ByteOp|DstEax|SrcImm, DstEax|SrcImm, 0, ImplicitOps,
-    /* 0x38 - 0x3F */
-    ByteOp|DstReg|SrcMem|ModRM, DstReg|SrcMem|ModRM,
-    ByteOp|DstReg|SrcMem|ModRM, DstReg|SrcMem|ModRM,
-    ByteOp|DstEax|SrcImm, DstEax|SrcImm, 0, ImplicitOps,
-    /* 0x40 - 0x4F */
-    ImplicitOps, ImplicitOps, ImplicitOps, ImplicitOps,
-    ImplicitOps, ImplicitOps, ImplicitOps, ImplicitOps,
-    ImplicitOps, ImplicitOps, ImplicitOps, ImplicitOps,
-    ImplicitOps, ImplicitOps, ImplicitOps, ImplicitOps,
-    /* 0x50 - 0x5F */
-    ImplicitOps|Mov, ImplicitOps|Mov, ImplicitOps|Mov, ImplicitOps|Mov,
-    ImplicitOps|Mov, ImplicitOps|Mov, ImplicitOps|Mov, ImplicitOps|Mov,
-    ImplicitOps|Mov, ImplicitOps|Mov, ImplicitOps|Mov, ImplicitOps|Mov,
-    ImplicitOps|Mov, ImplicitOps|Mov, ImplicitOps|Mov, ImplicitOps|Mov,
-    /* 0x60 - 0x67 */
-    ImplicitOps, ImplicitOps, DstReg|SrcMem|ModRM, DstReg|SrcNone|ModRM|Mov,
-    0, 0, 0, 0,
-    /* 0x68 - 0x6F */
-    DstImplicit|SrcImm|Mov, DstReg|SrcImm|ModRM|Mov,
-    DstImplicit|SrcImmByte|Mov, DstReg|SrcImmByte|ModRM|Mov,
-    ImplicitOps|Mov, ImplicitOps|Mov, ImplicitOps|Mov, ImplicitOps|Mov,
-    /* 0x70 - 0x77 */
-    DstImplicit|SrcImmByte, DstImplicit|SrcImmByte,
-    DstImplicit|SrcImmByte, DstImplicit|SrcImmByte,
-    DstImplicit|SrcImmByte, DstImplicit|SrcImmByte,
-    DstImplicit|SrcImmByte, DstImplicit|SrcImmByte,
-    /* 0x78 - 0x7F */
-    DstImplicit|SrcImmByte, DstImplicit|SrcImmByte,
-    DstImplicit|SrcImmByte, DstImplicit|SrcImmByte,
-    DstImplicit|SrcImmByte, DstImplicit|SrcImmByte,
-    DstImplicit|SrcImmByte, DstImplicit|SrcImmByte,
-    /* 0x80 - 0x87 */
-    ByteOp|DstMem|SrcImm|ModRM, DstMem|SrcImm|ModRM,
-    ByteOp|DstMem|SrcImm|ModRM, DstMem|SrcImmByte|ModRM,
-    ByteOp|DstReg|SrcMem|ModRM, DstReg|SrcMem|ModRM,
-    ByteOp|DstMem|SrcReg|ModRM, DstMem|SrcReg|ModRM,
-    /* 0x88 - 0x8F */
-    ByteOp|DstMem|SrcReg|ModRM|Mov, DstMem|SrcReg|ModRM|Mov,
-    ByteOp|DstReg|SrcMem|ModRM|Mov, DstReg|SrcMem|ModRM|Mov,
-    DstMem|SrcReg|ModRM|Mov, DstReg|SrcNone|ModRM,
-    DstReg|SrcMem16|ModRM|Mov, DstMem|SrcNone|ModRM|Mov,
-    /* 0x90 - 0x97 */
-    DstImplicit|SrcEax, DstImplicit|SrcEax,
-    DstImplicit|SrcEax, DstImplicit|SrcEax,
-    DstImplicit|SrcEax, DstImplicit|SrcEax,
-    DstImplicit|SrcEax, DstImplicit|SrcEax,
-    /* 0x98 - 0x9F */
-    ImplicitOps, ImplicitOps, ImplicitOps, ImplicitOps,
-    ImplicitOps|Mov, ImplicitOps|Mov, ImplicitOps, ImplicitOps,
-    /* 0xA0 - 0xA7 */
-    ByteOp|DstEax|SrcMem|Mov, DstEax|SrcMem|Mov,
-    ByteOp|DstMem|SrcEax|Mov, DstMem|SrcEax|Mov,
-    ByteOp|ImplicitOps|Mov, ImplicitOps|Mov,
-    ByteOp|ImplicitOps, ImplicitOps,
-    /* 0xA8 - 0xAF */
-    ByteOp|DstEax|SrcImm, DstEax|SrcImm,
-    ByteOp|DstImplicit|SrcEax|Mov, DstImplicit|SrcEax|Mov,
-    ByteOp|DstEax|SrcImplicit|Mov, DstEax|SrcImplicit|Mov,
-    ByteOp|DstImplicit|SrcEax, DstImplicit|SrcEax,
-    /* 0xB0 - 0xB7 */
-    ByteOp|DstReg|SrcImm|Mov, ByteOp|DstReg|SrcImm|Mov,
-    ByteOp|DstReg|SrcImm|Mov, ByteOp|DstReg|SrcImm|Mov,
-    ByteOp|DstReg|SrcImm|Mov, ByteOp|DstReg|SrcImm|Mov,
-    ByteOp|DstReg|SrcImm|Mov, ByteOp|DstReg|SrcImm|Mov,
-    /* 0xB8 - 0xBF */
-    DstReg|SrcImm|Mov, DstReg|SrcImm|Mov, DstReg|SrcImm|Mov, DstReg|SrcImm|Mov,
-    DstReg|SrcImm|Mov, DstReg|SrcImm|Mov, DstReg|SrcImm|Mov, DstReg|SrcImm|Mov,
-    /* 0xC0 - 0xC7 */
-    ByteOp|DstMem|SrcImm|ModRM, DstMem|SrcImmByte|ModRM,
-    DstImplicit|SrcImm16, ImplicitOps,
-    DstReg|SrcMem|ModRM|Mov, DstReg|SrcMem|ModRM|Mov,
-    ByteOp|DstMem|SrcImm|ModRM|Mov, DstMem|SrcImm|ModRM|Mov,
-    /* 0xC8 - 0xCF */
-    DstImplicit|SrcImm16, ImplicitOps, DstImplicit|SrcImm16, ImplicitOps,
-    ImplicitOps, DstImplicit|SrcImmByte, ImplicitOps, ImplicitOps,
-    /* 0xD0 - 0xD7 */
-    ByteOp|DstMem|SrcImplicit|ModRM, DstMem|SrcImplicit|ModRM,
-    ByteOp|DstMem|SrcImplicit|ModRM, DstMem|SrcImplicit|ModRM,
-    DstImplicit|SrcImmByte, DstImplicit|SrcImmByte, ImplicitOps, ImplicitOps,
-    /* 0xD8 - 0xDF */
-    ImplicitOps|ModRM, ImplicitOps|ModRM|Mov,
-    ImplicitOps|ModRM, ImplicitOps|ModRM|Mov,
-    ImplicitOps|ModRM, ImplicitOps|ModRM|Mov,
-    DstImplicit|SrcMem16|ModRM, ImplicitOps|ModRM|Mov,
-    /* 0xE0 - 0xE7 */
-    DstImplicit|SrcImmByte, DstImplicit|SrcImmByte,
-    DstImplicit|SrcImmByte, DstImplicit|SrcImmByte,
-    DstEax|SrcImmByte, DstEax|SrcImmByte,
-    DstImplicit|SrcImmByte, DstImplicit|SrcImmByte,
-    /* 0xE8 - 0xEF */
-    DstImplicit|SrcImm|Mov, DstImplicit|SrcImm,
-    ImplicitOps, DstImplicit|SrcImmByte,
-    DstEax|SrcImplicit, DstEax|SrcImplicit, ImplicitOps, ImplicitOps,
-    /* 0xF0 - 0xF7 */
-    0, ImplicitOps, 0, 0,
-    ImplicitOps, ImplicitOps, ByteOp|ModRM, ModRM,
-    /* 0xF8 - 0xFF */
-    ImplicitOps, ImplicitOps, ImplicitOps, ImplicitOps,
-    ImplicitOps, ImplicitOps, ByteOp|DstMem|SrcNone|ModRM, DstMem|SrcNone|ModRM
-};
-
-enum disp8scale {
-    /* Values 0 ... 4 are explicit sizes. */
-    d8s_bw = 5,
-    d8s_dq,
-    /* EVEX.W ignored outside of 64-bit mode */
-    d8s_dq64,
-    /*
-     * All further values must strictly be last and in the order
-     * given so that arithmetic on the values works.
-     */
-    d8s_vl,
-    d8s_vl_by_2,
-    d8s_vl_by_4,
-    d8s_vl_by_8,
-};
-typedef uint8_t disp8scale_t;
-
-static const struct twobyte_table {
-    opcode_desc_t desc;
-    simd_opsize_t size:4;
-    disp8scale_t d8s:4;
-} twobyte_table[256] = {
-    [0x00] = { ModRM },
-    [0x01] = { ImplicitOps|ModRM },
-    [0x02] = { DstReg|SrcMem16|ModRM },
-    [0x03] = { DstReg|SrcMem16|ModRM },
-    [0x05] = { ImplicitOps },
-    [0x06] = { ImplicitOps },
-    [0x07] = { ImplicitOps },
-    [0x08] = { ImplicitOps },
-    [0x09] = { ImplicitOps },
-    [0x0b] = { ImplicitOps },
-    [0x0d] = { ImplicitOps|ModRM },
-    [0x0e] = { ImplicitOps },
-    [0x0f] = { ModRM|SrcImmByte },
-    [0x10] = { DstImplicit|SrcMem|ModRM|Mov, simd_any_fp, d8s_vl },
-    [0x11] = { DstMem|SrcImplicit|ModRM|Mov, simd_any_fp, d8s_vl },
-    [0x12] = { DstImplicit|SrcMem|ModRM|Mov, simd_other, 3 },
-    [0x13] = { DstMem|SrcImplicit|ModRM|Mov, simd_other, 3 },
-    [0x14 ... 0x15] = { DstImplicit|SrcMem|ModRM, simd_packed_fp, d8s_vl },
-    [0x16] = { DstImplicit|SrcMem|ModRM|Mov, simd_other, 3 },
-    [0x17] = { DstMem|SrcImplicit|ModRM|Mov, simd_other, 3 },
-    [0x18 ... 0x1f] = { ImplicitOps|ModRM },
-    [0x20 ... 0x21] = { DstMem|SrcImplicit|ModRM },
-    [0x22 ... 0x23] = { DstImplicit|SrcMem|ModRM },
-    [0x28] = { DstImplicit|SrcMem|ModRM|Mov, simd_packed_fp, d8s_vl },
-    [0x29] = { DstMem|SrcImplicit|ModRM|Mov, simd_packed_fp, d8s_vl },
-    [0x2a] = { DstImplicit|SrcMem|ModRM|Mov, simd_other, d8s_dq64 },
-    [0x2b] = { DstMem|SrcImplicit|ModRM|Mov, simd_any_fp, d8s_vl },
-    [0x2c ... 0x2d] = { DstImplicit|SrcMem|ModRM|Mov, simd_other },
-    [0x2e ... 0x2f] = { ImplicitOps|ModRM|TwoOp, simd_none, d8s_dq },
-    [0x30 ... 0x35] = { ImplicitOps },
-    [0x37] = { ImplicitOps },
-    [0x38] = { DstReg|SrcMem|ModRM },
-    [0x3a] = { DstReg|SrcImmByte|ModRM },
-    [0x40 ... 0x4f] = { DstReg|SrcMem|ModRM|Mov },
-    [0x50] = { DstReg|SrcImplicit|ModRM|Mov },
-    [0x51] = { DstImplicit|SrcMem|ModRM|TwoOp, simd_any_fp, d8s_vl },
-    [0x52 ... 0x53] = { DstImplicit|SrcMem|ModRM|TwoOp, simd_single_fp },
-    [0x54 ... 0x57] = { DstImplicit|SrcMem|ModRM, simd_packed_fp, d8s_vl },
-    [0x58 ... 0x59] = { DstImplicit|SrcMem|ModRM, simd_any_fp, d8s_vl },
-    [0x5a] = { DstImplicit|SrcMem|ModRM|Mov, simd_any_fp, d8s_vl },
-    [0x5b] = { DstImplicit|SrcMem|ModRM|Mov, simd_packed_fp, d8s_vl },
-    [0x5c ... 0x5f] = { DstImplicit|SrcMem|ModRM, simd_any_fp, d8s_vl },
-    [0x60 ... 0x62] = { DstImplicit|SrcMem|ModRM, simd_other, d8s_vl },
-    [0x63 ... 0x67] = { DstImplicit|SrcMem|ModRM, simd_packed_int, d8s_vl },
-    [0x68 ... 0x6a] = { DstImplicit|SrcMem|ModRM, simd_other, d8s_vl },
-    [0x6b ... 0x6d] = { DstImplicit|SrcMem|ModRM, simd_packed_int, d8s_vl },
-    [0x6e] = { DstImplicit|SrcMem|ModRM|Mov, simd_none, d8s_dq64 },
-    [0x6f] = { DstImplicit|SrcMem|ModRM|Mov, simd_packed_int, d8s_vl },
-    [0x70] = { SrcImmByte|ModRM|TwoOp, simd_other, d8s_vl },
-    [0x71 ... 0x73] = { DstImplicit|SrcImmByte|ModRM, simd_none, d8s_vl },
-    [0x74 ... 0x76] = { DstImplicit|SrcMem|ModRM, simd_packed_int, d8s_vl },
-    [0x77] = { DstImplicit|SrcNone },
-    [0x78 ... 0x79] = { DstImplicit|SrcMem|ModRM|Mov, simd_other, d8s_vl },
-    [0x7a] = { DstImplicit|SrcMem|ModRM|Mov, simd_packed_fp, d8s_vl },
-    [0x7b] = { DstImplicit|SrcMem|ModRM|Mov, simd_other, d8s_dq64 },
-    [0x7c ... 0x7d] = { DstImplicit|SrcMem|ModRM, simd_other },
-    [0x7e] = { DstMem|SrcImplicit|ModRM|Mov, simd_none, d8s_dq64 },
-    [0x7f] = { DstMem|SrcImplicit|ModRM|Mov, simd_packed_int, d8s_vl },
-    [0x80 ... 0x8f] = { DstImplicit|SrcImm },
-    [0x90 ... 0x9f] = { ByteOp|DstMem|SrcNone|ModRM|Mov },
-    [0xa0 ... 0xa1] = { ImplicitOps|Mov },
-    [0xa2] = { ImplicitOps },
-    [0xa3] = { DstBitBase|SrcReg|ModRM },
-    [0xa4] = { DstMem|SrcImmByte|ModRM },
-    [0xa5] = { DstMem|SrcReg|ModRM },
-    [0xa6 ... 0xa7] = { ModRM },
-    [0xa8 ... 0xa9] = { ImplicitOps|Mov },
-    [0xaa] = { ImplicitOps },
-    [0xab] = { DstBitBase|SrcReg|ModRM },
-    [0xac] = { DstMem|SrcImmByte|ModRM },
-    [0xad] = { DstMem|SrcReg|ModRM },
-    [0xae] = { ImplicitOps|ModRM },
-    [0xaf] = { DstReg|SrcMem|ModRM },
-    [0xb0] = { ByteOp|DstMem|SrcReg|ModRM },
-    [0xb1] = { DstMem|SrcReg|ModRM },
-    [0xb2] = { DstReg|SrcMem|ModRM|Mov },
-    [0xb3] = { DstBitBase|SrcReg|ModRM },
-    [0xb4 ... 0xb5] = { DstReg|SrcMem|ModRM|Mov },
-    [0xb6] = { ByteOp|DstReg|SrcMem|ModRM|Mov },
-    [0xb7] = { DstReg|SrcMem16|ModRM|Mov },
-    [0xb8] = { DstReg|SrcMem|ModRM },
-    [0xb9] = { ModRM },
-    [0xba] = { DstBitBase|SrcImmByte|ModRM },
-    [0xbb] = { DstBitBase|SrcReg|ModRM },
-    [0xbc ... 0xbd] = { DstReg|SrcMem|ModRM },
-    [0xbe] = { ByteOp|DstReg|SrcMem|ModRM|Mov },
-    [0xbf] = { DstReg|SrcMem16|ModRM|Mov },
-    [0xc0] = { ByteOp|DstMem|SrcReg|ModRM },
-    [0xc1] = { DstMem|SrcReg|ModRM },
-    [0xc2] = { DstImplicit|SrcImmByte|ModRM, simd_any_fp, d8s_vl },
-    [0xc3] = { DstMem|SrcReg|ModRM|Mov },
-    [0xc4] = { DstImplicit|SrcImmByte|ModRM, simd_none, 1 },
-    [0xc5] = { DstReg|SrcImmByte|ModRM|Mov },
-    [0xc6] = { DstImplicit|SrcImmByte|ModRM, simd_packed_fp, d8s_vl },
-    [0xc7] = { ImplicitOps|ModRM },
-    [0xc8 ... 0xcf] = { ImplicitOps },
-    [0xd0] = { DstImplicit|SrcMem|ModRM, simd_other },
-    [0xd1 ... 0xd3] = { DstImplicit|SrcMem|ModRM, simd_128, 4 },
-    [0xd4 ... 0xd5] = { DstImplicit|SrcMem|ModRM, simd_packed_int, d8s_vl },
-    [0xd6] = { DstMem|SrcImplicit|ModRM|Mov, simd_other, 3 },
-    [0xd7] = { DstReg|SrcImplicit|ModRM|Mov },
-    [0xd8 ... 0xdf] = { DstImplicit|SrcMem|ModRM, simd_packed_int, d8s_vl },
-    [0xe0] = { DstImplicit|SrcMem|ModRM, simd_packed_int, d8s_vl },
-    [0xe1 ... 0xe2] = { DstImplicit|SrcMem|ModRM, simd_128, 4 },
-    [0xe3 ... 0xe5] = { DstImplicit|SrcMem|ModRM, simd_packed_int, d8s_vl },
-    [0xe6] = { DstImplicit|SrcMem|ModRM|Mov, simd_packed_fp, d8s_vl },
-    [0xe7] = { DstMem|SrcImplicit|ModRM|Mov, simd_packed_int, d8s_vl },
-    [0xe8 ... 0xef] = { DstImplicit|SrcMem|ModRM, simd_packed_int, d8s_vl },
-    [0xf0] = { DstImplicit|SrcMem|ModRM|Mov, simd_other },
-    [0xf1 ... 0xf3] = { DstImplicit|SrcMem|ModRM, simd_128, 4 },
-    [0xf4 ... 0xf6] = { DstImplicit|SrcMem|ModRM, simd_packed_int, d8s_vl },
-    [0xf7] = { DstMem|SrcMem|ModRM|Mov, simd_packed_int },
-    [0xf8 ... 0xfe] = { DstImplicit|SrcMem|ModRM, simd_packed_int, d8s_vl },
-    [0xff] = { ModRM }
-};
-
 /*
  * The next two tables are indexed by high opcode extension byte (the one
  * that's encoded like an immediate) nibble, with each table element then
@@ -325,257 +57,9 @@ static const uint16_t _3dnow_ext_table[1
     [0xb] = (1 << 0xb) /* pswapd */,
 };
 
-/*
- * "two_op" and "four_op" below refer to the number of register operands
- * (one of which possibly also allowing to be a memory one). The named
- * operand counts do not include any immediate operands.
- */
-static const struct ext0f38_table {
-    uint8_t simd_size:5;
-    uint8_t to_mem:1;
-    uint8_t two_op:1;
-    uint8_t vsib:1;
-    disp8scale_t d8s:4;
-} ext0f38_table[256] = {
-    [0x00] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
-    [0x01 ... 0x03] = { .simd_size = simd_packed_int },
-    [0x04] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
-    [0x05 ... 0x0a] = { .simd_size = simd_packed_int },
-    [0x0b] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
-    [0x0c ... 0x0d] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },
-    [0x0e ... 0x0f] = { .simd_size = simd_packed_fp },
-    [0x10 ... 0x12] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
-    [0x13] = { .simd_size = simd_other, .two_op = 1, .d8s = d8s_vl_by_2 },
-    [0x14 ... 0x16] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },
-    [0x17] = { .simd_size = simd_packed_int, .two_op = 1 },
-    [0x18] = { .simd_size = simd_scalar_opc, .two_op = 1, .d8s = 2 },
-    [0x19] = { .simd_size = simd_scalar_opc, .two_op = 1, .d8s = 3 },
-    [0x1a] = { .simd_size = simd_128, .two_op = 1, .d8s = 4 },
-    [0x1b] = { .simd_size = simd_256, .two_op = 1, .d8s = d8s_vl_by_2 },
-    [0x1c ... 0x1f] = { .simd_size = simd_packed_int, .two_op = 1, .d8s = d8s_vl },
-    [0x20] = { .simd_size = simd_other, .two_op = 1, .d8s = d8s_vl_by_2 },
-    [0x21] = { .simd_size = simd_other, .two_op = 1, .d8s = d8s_vl_by_4 },
-    [0x22] = { .simd_size = simd_other, .two_op = 1, .d8s = d8s_vl_by_8 },
-    [0x23] = { .simd_size = simd_other, .two_op = 1, .d8s = d8s_vl_by_2 },
-    [0x24] = { .simd_size = simd_other, .two_op = 1, .d8s = d8s_vl_by_4 },
-    [0x25] = { .simd_size = simd_other, .two_op = 1, .d8s = d8s_vl_by_2 },
-    [0x26 ... 0x29] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
-    [0x2a] = { .simd_size = simd_packed_int, .two_op = 1, .d8s = d8s_vl },
-    [0x2b] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
-    [0x2c] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },
-    [0x2d] = { .simd_size = simd_packed_fp, .d8s = d8s_dq },
-    [0x2e ... 0x2f] = { .simd_size = simd_packed_fp, .to_mem = 1 },
-    [0x30] = { .simd_size = simd_other, .two_op = 1, .d8s = d8s_vl_by_2 },
-    [0x31] = { .simd_size = simd_other, .two_op = 1, .d8s = d8s_vl_by_4 },
-    [0x32] = { .simd_size = simd_other, .two_op = 1, .d8s = d8s_vl_by_8 },
-    [0x33] = { .simd_size = simd_other, .two_op = 1, .d8s = d8s_vl_by_2 },
-    [0x34] = { .simd_size = simd_other, .two_op = 1, .d8s = d8s_vl_by_4 },
-    [0x35] = { .simd_size = simd_other, .two_op = 1, .d8s = d8s_vl_by_2 },
-    [0x36 ... 0x3f] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
-    [0x40] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
-    [0x41] = { .simd_size = simd_packed_int, .two_op = 1 },
-    [0x42] = { .simd_size = simd_packed_fp, .two_op = 1, .d8s = d8s_vl },
-    [0x43] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
-    [0x44] = { .simd_size = simd_packed_int, .two_op = 1, .d8s = d8s_vl },
-    [0x45 ... 0x47] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
-    [0x4c] = { .simd_size = simd_packed_fp, .two_op = 1, .d8s = d8s_vl },
-    [0x4d] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
-    [0x4e] = { .simd_size = simd_packed_fp, .two_op = 1, .d8s = d8s_vl },
-    [0x4f] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
-    [0x50 ... 0x53] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
-    [0x54 ... 0x55] = { .simd_size = simd_packed_int, .two_op = 1, .d8s = d8s_vl },
-    [0x58] = { .simd_size = simd_other, .two_op = 1, .d8s = 2 },
-    [0x59] = { .simd_size = simd_other, .two_op = 1, .d8s = 3 },
-    [0x5a] = { .simd_size = simd_128, .two_op = 1, .d8s = 4 },
-    [0x5b] = { .simd_size = simd_256, .two_op = 1, .d8s = d8s_vl_by_2 },
-    [0x62] = { .simd_size = simd_packed_int, .two_op = 1, .d8s = d8s_bw },
-    [0x63] = { .simd_size = simd_packed_int, .to_mem = 1, .two_op = 1, .d8s = d8s_bw },
-    [0x64 ... 0x66] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
-    [0x68] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
-    [0x70 ... 0x73] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
-    [0x75 ... 0x76] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
-    [0x77] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },
-    [0x78] = { .simd_size = simd_other, .two_op = 1 },
-    [0x79] = { .simd_size = simd_other, .two_op = 1, .d8s = 1 },
-    [0x7a ... 0x7c] = { .simd_size = simd_none, .two_op = 1 },
-    [0x7d ... 0x7e] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
-    [0x7f] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },
-    [0x82] = { .simd_size = simd_other },
-    [0x83] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
-    [0x88] = { .simd_size = simd_packed_fp, .two_op = 1, .d8s = d8s_dq },
-    [0x89] = { .simd_size = simd_packed_int, .two_op = 1, .d8s = d8s_dq },
-    [0x8a] = { .simd_size = simd_packed_fp, .to_mem = 1, .two_op = 1, .d8s = d8s_dq },
-    [0x8b] = { .simd_size = simd_packed_int, .to_mem = 1, .two_op = 1, .d8s = d8s_dq },
-    [0x8c] = { .simd_size = simd_packed_int },
-    [0x8d] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
-    [0x8e] = { .simd_size = simd_packed_int, .to_mem = 1 },
-    [0x8f] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
-    [0x90 ... 0x93] = { .simd_size = simd_other, .vsib = 1, .d8s = d8s_dq },
-    [0x96 ... 0x98] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },
-    [0x99] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
-    [0x9a] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },
-    [0x9b] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
-    [0x9c] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },
-    [0x9d] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
-    [0x9e] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },
-    [0x9f] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
-    [0xa0 ... 0xa3] = { .simd_size = simd_other, .to_mem = 1, .vsib = 1, .d8s = d8s_dq },
-    [0xa6 ... 0xa8] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },
-    [0xa9] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
-    [0xaa] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },
-    [0xab] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
-    [0xac] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },
-    [0xad] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
-    [0xae] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },
-    [0xaf] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
-    [0xb4 ... 0xb5] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
-    [0xb6 ... 0xb8] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },
-    [0xb9] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
-    [0xba] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },
-    [0xbb] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
-    [0xbc] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },
-    [0xbd] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
-    [0xbe] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },
-    [0xbf] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
-    [0xc4] = { .simd_size = simd_packed_int, .two_op = 1, .d8s = d8s_vl },
-    [0xc6 ... 0xc7] = { .simd_size = simd_other, .vsib = 1, .d8s = d8s_dq },
-    [0xc8] = { .simd_size = simd_packed_fp, .two_op = 1, .d8s = d8s_vl },
-    [0xc9] = { .simd_size = simd_other },
-    [0xca] = { .simd_size = simd_packed_fp, .two_op = 1, .d8s = d8s_vl },
-    [0xcb] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
-    [0xcc] = { .simd_size = simd_packed_fp, .two_op = 1, .d8s = d8s_vl },
-    [0xcd] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
-    [0xcf] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
-    [0xdb] = { .simd_size = simd_packed_int, .two_op = 1 },
-    [0xdc ... 0xdf] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
-    [0xf0] = { .two_op = 1 },
-    [0xf1] = { .to_mem = 1, .two_op = 1 },
-    [0xf2 ... 0xf3] = {},
-    [0xf5 ... 0xf7] = {},
-    [0xf8] = { .simd_size = simd_other },
-    [0xf9] = { .to_mem = 1, .two_op = 1 /* Mov */ },
-};
-
 /* Shift values between src and dst sizes of pmov{s,z}x{b,w,d}{w,d,q}. */
 static const uint8_t pmov_convert_delta[] = { 1, 2, 3, 1, 2, 1 };
 
-static const struct ext0f3a_table {
-    uint8_t simd_size:5;
-    uint8_t to_mem:1;
-    uint8_t two_op:1;
-    uint8_t four_op:1;
-    disp8scale_t d8s:4;
-} ext0f3a_table[256] = {
-    [0x00] = { .simd_size = simd_packed_int, .two_op = 1, .d8s = d8s_vl },
-    [0x01] = { .simd_size = simd_packed_fp, .two_op = 1, .d8s = d8s_vl },
-    [0x02] = { .simd_size = simd_packed_int },
-    [0x03] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
-    [0x04 ... 0x05] = { .simd_size = simd_packed_fp, .two_op = 1, .d8s = d8s_vl },
-    [0x06] = { .simd_size = simd_packed_fp },
-    [0x08 ... 0x09] = { .simd_size = simd_packed_fp, .two_op = 1, .d8s = d8s_vl },
-    [0x0a ... 0x0b] = { .simd_size = simd_scalar_opc, .d8s = d8s_dq },
-    [0x0c ... 0x0d] = { .simd_size = simd_packed_fp },
-    [0x0e] = { .simd_size = simd_packed_int },
-    [0x0f] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
-    [0x14] = { .simd_size = simd_none, .to_mem = 1, .two_op = 1, .d8s = 0 },
-    [0x15] = { .simd_size = simd_none, .to_mem = 1, .two_op = 1, .d8s = 1 },
-    [0x16] = { .simd_size = simd_none, .to_mem = 1, .two_op = 1, .d8s = d8s_dq64 },
-    [0x17] = { .simd_size = simd_none, .to_mem = 1, .two_op = 1, .d8s = 2 },
-    [0x18] = { .simd_size = simd_128, .d8s = 4 },
-    [0x19] = { .simd_size = simd_128, .to_mem = 1, .two_op = 1, .d8s = 4 },
-    [0x1a] = { .simd_size = simd_256, .d8s = d8s_vl_by_2 },
-    [0x1b] = { .simd_size = simd_256, .to_mem = 1, .two_op = 1, .d8s = d8s_vl_by_2 },
-    [0x1d] = { .simd_size = simd_other, .to_mem = 1, .two_op = 1, .d8s = d8s_vl_by_2 },
-    [0x1e ... 0x1f] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
-    [0x20] = { .simd_size = simd_none, .d8s = 0 },
-    [0x21] = { .simd_size = simd_other, .d8s = 2 },
-    [0x22] = { .simd_size = simd_none, .d8s = d8s_dq64 },
-    [0x23] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
-    [0x25] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
-    [0x26] = { .simd_size = simd_packed_fp, .two_op = 1, .d8s = d8s_vl },
-    [0x27] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
-    [0x30 ... 0x33] = { .simd_size = simd_other, .two_op = 1 },
-    [0x38] = { .simd_size = simd_128, .d8s = 4 },
-    [0x3a] = { .simd_size = simd_256, .d8s = d8s_vl_by_2 },
-    [0x39] = { .simd_size = simd_128, .to_mem = 1, .two_op = 1, .d8s = 4 },
-    [0x3b] = { .simd_size = simd_256, .to_mem = 1, .two_op = 1, .d8s = d8s_vl_by_2 },
-    [0x3e ... 0x3f] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
-    [0x40 ... 0x41] = { .simd_size = simd_packed_fp },
-    [0x42 ... 0x43] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
-    [0x44] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
-    [0x46] = { .simd_size = simd_packed_int },
-    [0x48 ... 0x49] = { .simd_size = simd_packed_fp, .four_op = 1 },
-    [0x4a ... 0x4b] = { .simd_size = simd_packed_fp, .four_op = 1 },
-    [0x4c] = { .simd_size = simd_packed_int, .four_op = 1 },
-    [0x50] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },
-    [0x51] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
-    [0x54] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },
-    [0x55] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
-    [0x56] = { .simd_size = simd_packed_fp, .two_op = 1, .d8s = d8s_vl },
-    [0x57] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
-    [0x5c ... 0x5f] = { .simd_size = simd_packed_fp, .four_op = 1 },
-    [0x60 ... 0x63] = { .simd_size = simd_packed_int, .two_op = 1 },
-    [0x66] = { .simd_size = simd_packed_fp, .two_op = 1, .d8s = d8s_vl },
-    [0x67] = { .simd_size = simd_scalar_vexw, .two_op = 1, .d8s = d8s_dq },
-    [0x68 ... 0x69] = { .simd_size = simd_packed_fp, .four_op = 1 },
-    [0x6a ... 0x6b] = { .simd_size = simd_scalar_opc, .four_op = 1 },
-    [0x6c ... 0x6d] = { .simd_size = simd_packed_fp, .four_op = 1 },
-    [0x6e ... 0x6f] = { .simd_size = simd_scalar_opc, .four_op = 1 },
-    [0x70 ... 0x73] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
-    [0x78 ... 0x79] = { .simd_size = simd_packed_fp, .four_op = 1 },
-    [0x7a ... 0x7b] = { .simd_size = simd_scalar_opc, .four_op = 1 },
-    [0x7c ... 0x7d] = { .simd_size = simd_packed_fp, .four_op = 1 },
-    [0x7e ... 0x7f] = { .simd_size = simd_scalar_opc, .four_op = 1 },
-    [0xcc] = { .simd_size = simd_other },
-    [0xce ... 0xcf] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
-    [0xdf] = { .simd_size = simd_packed_int, .two_op = 1 },
-    [0xf0] = {},
-};
-
-static const opcode_desc_t xop_table[] = {
-    DstReg|SrcImmByte|ModRM,
-    DstReg|SrcMem|ModRM,
-    DstReg|SrcImm|ModRM,
-};
-
-static const struct ext8f08_table {
-    uint8_t simd_size:5;
-    uint8_t two_op:1;
-    uint8_t four_op:1;
-} ext8f08_table[256] = {
-    [0xa2] = { .simd_size = simd_packed_int, .four_op = 1 },
-    [0x85 ... 0x87] = { .simd_size = simd_packed_int, .four_op = 1 },
-    [0x8e ... 0x8f] = { .simd_size = simd_packed_int, .four_op = 1 },
-    [0x95 ... 0x97] = { .simd_size = simd_packed_int, .four_op = 1 },
-    [0x9e ... 0x9f] = { .simd_size = simd_packed_int, .four_op = 1 },
-    [0xa3] = { .simd_size = simd_packed_int, .four_op = 1 },
-    [0xa6] = { .simd_size = simd_packed_int, .four_op = 1 },
-    [0xb6] = { .simd_size = simd_packed_int, .four_op = 1 },
-    [0xc0 ... 0xc3] = { .simd_size = simd_packed_int, .two_op = 1 },
-    [0xcc ... 0xcf] = { .simd_size = simd_packed_int },
-    [0xec ... 0xef] = { .simd_size = simd_packed_int },
-};
-
-static const struct ext8f09_table {
-    uint8_t simd_size:5;
-    uint8_t two_op:1;
-} ext8f09_table[256] = {
-    [0x01 ... 0x02] = { .two_op = 1 },
-    [0x80 ... 0x81] = { .simd_size = simd_packed_fp, .two_op = 1 },
-    [0x82 ... 0x83] = { .simd_size = simd_scalar_opc, .two_op = 1 },
-    [0x90 ... 0x9b] = { .simd_size = simd_packed_int },
-    [0xc1 ... 0xc3] = { .simd_size = simd_packed_int, .two_op = 1 },
-    [0xc6 ... 0xc7] = { .simd_size = simd_packed_int, .two_op = 1 },
-    [0xcb] = { .simd_size = simd_packed_int, .two_op = 1 },
-    [0xd1 ... 0xd3] = { .simd_size = simd_packed_int, .two_op = 1 },
-    [0xd6 ... 0xd7] = { .simd_size = simd_packed_int, .two_op = 1 },
-    [0xdb] = { .simd_size = simd_packed_int, .two_op = 1 },
-    [0xe1 ... 0xe3] = { .simd_size = simd_packed_int, .two_op = 1 },
-};
-
-#define VEX_PREFIX_DOUBLE_MASK 0x1
-#define VEX_PREFIX_SCALAR_MASK 0x2
-
 static const uint8_t sse_prefix[] = { 0x66, 0xf3, 0xf2 };
 
 #ifdef __x86_64__
@@ -637,12 +121,6 @@ static const uint8_t sse_prefix[] = { 0x
 #define repe_prefix()  (vex.pfx == vex_f3)
 #define repne_prefix() (vex.pfx == vex_f2)
 
-#ifdef __x86_64__
-#define PTR_POISON ((void *)0x8086000000008086UL) /* non-canonical */
-#else
-#define PTR_POISON NULL /* 32-bit builds are for user-space, so NULL is OK. */
-#endif
-
 /*
  * While proper alignment gets specified in mmval_t, this doesn't get honored
  * by the compiler for automatic variables. Use this helper to instantiate a
@@ -831,19 +309,6 @@ do{ asm volatile (
                 : [msk] "i" (EFLAGS_MASK), ## src);                     \
 } while (0)
 
-/* Fetch next part of the instruction being emulated. */
-#define insn_fetch_bytes(_size)                                         \
-({ unsigned long _x = 0, _ip = state->ip;                               \
-   state->ip += (_size); /* real hardware doesn't truncate */           \
-   generate_exception_if((uint8_t)(state->ip -                          \
-                                   ctxt->regs->r(ip)) > MAX_INST_LEN,   \
-                         EXC_GP, 0);                                    \
-   rc = ops->insn_fetch(x86_seg_cs, _ip, &_x, (_size), ctxt);           \
-   if ( rc ) goto done;                                                 \
-   _x;                                                                  \
-})
-#define insn_fetch_type(_type) ((_type)insn_fetch_bytes(sizeof(_type)))
-
 /*
  * Given byte has even parity (even number of 1s)? SDM Vol. 1 Sec. 3.4.3.1,
  * "Status Flags": EFLAGS.PF reflects parity of least-sig. byte of result only.
@@ -1354,13 +819,6 @@ static int ioport_access_check(
     return rc;
 }
 
-/* Initialise output state in x86_emulate_ctxt */
-static void init_context(struct x86_emulate_ctxt *ctxt)
-{
-    ctxt->retire.raw = 0;
-    x86_emul_reset_event(ctxt);
-}
-
 static int
 realmode_load_seg(
     enum x86_segment seg,
@@ -1707,51 +1165,6 @@ static unsigned long *decode_vex_gpr(
     return decode_gpr(regs, ~vex_reg & (mode_64bit() ? 0xf : 7));
 }
 
-static unsigned int decode_disp8scale(enum disp8scale scale,
-                                      const struct x86_emulate_state *state)
-{
-    switch ( scale )
-    {
-    case d8s_bw:
-        return state->evex.w;
-
-    default:
-        if ( scale < d8s_vl )
-            return scale;
-        if ( state->evex.brs )
-        {
-    case d8s_dq:
-            return 2 + state->evex.w;
-        }
-        break;
-
-    case d8s_dq64:
-        return 2 + (state->op_bytes == 8);
-    }
-
-    switch ( state->simd_size )
-    {
-    case simd_any_fp:
-    case simd_single_fp:
-        if ( !(state->evex.pfx & VEX_PREFIX_SCALAR_MASK) )
-            break;
-        /* fall through */
-    case simd_scalar_opc:
-    case simd_scalar_vexw:
-        return 2 + state->evex.w;
-
-    case simd_128:
-        /* These should have an explicit size specified. */
-        ASSERT_UNREACHABLE();
-        return 4;
-
-    default:
-        break;
-    }
-
-    return 4 + state->evex.lr - (scale - d8s_vl);
-}
-
 #define avx512_vlen_check(lig) do { \
     switch ( evex.lr ) \
     { \
@@ -1833,1138 +1246,6 @@ int x86emul_unhandleable_rw(
 #define evex_encoded() (evex.mbs)
 #define ea (state->ea)
 
-static int
-x86_decode_onebyte(
-    struct x86_emulate_state *state,
-    struct x86_emulate_ctxt *ctxt,
-    const struct x86_emulate_ops *ops)
-{
-    int rc = X86EMUL_OKAY;
-
-    switch ( ctxt->opcode )
-    {
-    case 0x06: /* push %%es */
-    case 0x07: /* pop %%es */
-    case 0x0e: /* push %%cs */
-    case 0x16: /* push %%ss */
-    case 0x17: /* pop %%ss */
-    case 0x1e: /* push %%ds */
-    case 0x1f: /* pop %%ds */
-    case 0x27: /* daa */
-    case 0x2f: /* das */
-    case 0x37: /* aaa */
-    case 0x3f: /* aas */
-    case 0x60: /* pusha */
-    case 0x61: /* popa */
-    case 0x62: /* bound */
-    case 0xc4: /* les */
-    case 0xc5: /* lds */
-    case 0xce: /* into */
-    case 0xd4: /* aam */
-    case 0xd5: /* aad */
-    case 0xd6: /* salc */
-        state->not_64bit = true;
-        break;
-
-    case 0x82: /* Grp1 (x86/32 only) */
-        state->not_64bit = true;
-        /* fall through */
-    case 0x80: case 0x81: case 0x83: /* Grp1 */
-        if ( (modrm_reg & 7) == 7 ) /* cmp */
-            state->desc = (state->desc & ByteOp) | DstNone | SrcMem;
-        break;
-
-    case 0x90: /* nop / pause */
-        if ( repe_prefix() )
-            ctxt->opcode |= X86EMUL_OPC_F3(0, 0);
-        break;
-
-    case 0x9a: /* call (far, absolute) */
-    case 0xea: /* jmp (far, absolute) */
-        generate_exception_if(mode_64bit(), EXC_UD);
-
-        imm1 = insn_fetch_bytes(op_bytes);
-        imm2 = insn_fetch_type(uint16_t);
-        break;
-
-    case 0xa0: case 0xa1: /* mov mem.offs,{%al,%ax,%eax,%rax} */
-    case 0xa2: case 0xa3: /* mov {%al,%ax,%eax,%rax},mem.offs */
-        /* Source EA is not encoded via ModRM. */
-        ea.type = OP_MEM;
-        ea.mem.off = insn_fetch_bytes(ad_bytes);
-        break;
-
-    case 0xb8 ... 0xbf: /* mov imm{16,32,64},r{16,32,64} */
-        if ( op_bytes == 8 ) /* Fetch more bytes to obtain imm64. */
-            imm1 = ((uint32_t)imm1 |
-                    ((uint64_t)insn_fetch_type(uint32_t) << 32));
-        break;
-
-    case 0xc8: /* enter imm16,imm8 */
-        imm2 = insn_fetch_type(uint8_t);
-        break;
-
-    case 0xf6: case 0xf7: /* Grp3 */
-        if ( !(modrm_reg & 6) ) /* test */
-            state->desc = (state->desc & ByteOp) | DstNone | SrcMem;
-        break;
-
-    case 0xff: /* Grp5 */
-        switch ( modrm_reg & 7 )
-        {
-        case 2: /* call (near) */
-        case 4: /* jmp (near) */
-            if ( mode_64bit() && (op_bytes == 4 || !amd_like(ctxt)) )
-                op_bytes = 8;
-            state->desc = DstNone | SrcMem | Mov;
-            break;
-
-        case 3: /* call (far, absolute indirect) */
-        case 5: /* jmp (far, absolute indirect) */
-            /* REX.W ignored on a vendor-dependent basis. */
-            if ( op_bytes == 8 && amd_like(ctxt) )
-                op_bytes = 4;
-            state->desc = DstNone | SrcMem | Mov;
-            break;
-
-        case 6: /* push */
-            if ( mode_64bit() && op_bytes == 4 )
-                op_bytes = 8;
-            state->desc = DstNone | SrcMem | Mov;
-            break;
-        }
-        break;
-    }
-
- done:
-    return rc;
-}
-
-static int
-x86_decode_twobyte(
-    struct x86_emulate_state *state,
-    struct x86_emulate_ctxt *ctxt,
-    const struct x86_emulate_ops *ops)
-{
-    int rc = X86EMUL_OKAY;
-
-    switch ( ctxt->opcode & X86EMUL_OPC_MASK )
-    {
-    case 0x00: /* Grp6 */
-        switch ( modrm_reg & 6 )
-        {
-        case 0:
-            state->desc |= DstMem | SrcImplicit | Mov;
-            break;
-        case 2: case 4:
-            state->desc |= SrcMem16;
-            break;
-        }
-        break;
-
-    case 0x78:
-        state->desc = ImplicitOps;
-        state->simd_size = simd_none;
-        switch ( vex.pfx )
-        {
-        case vex_66: /* extrq $imm8, $imm8, xmm */
-        case vex_f2: /* insertq $imm8, $imm8, xmm, xmm */
-            imm1 = insn_fetch_type(uint8_t);
-            imm2 = insn_fetch_type(uint8_t);
-            break;
-        }
-        /* fall through */
-    case 0x10 ... 0x18:
-    case 0x28 ... 0x2f:
-    case 0x50 ... 0x77:
-    case 0x7a ... 0x7d:
-    case 0x7f:
-    case 0xc2 ... 0xc3:
-    case 0xc5 ... 0xc6:
-    case 0xd0 ... 0xef:
-    case 0xf1 ... 0xfe:
-        ctxt->opcode |= MASK_INSR(vex.pfx, X86EMUL_OPC_PFX_MASK);
-        break;
-
-    case 0x20: case 0x22: /* mov to/from cr */
-        if ( lock_prefix && vcpu_has_cr8_legacy() )
-        {
-            modrm_reg += 8;
-            lock_prefix = false;
-        }
-        /* fall through */
-    case 0x21: case 0x23: /* mov to/from dr */
-        ASSERT(ea.type == OP_REG); /* Early operand adjustment ensures this. */
-        generate_exception_if(lock_prefix, EXC_UD);
-        op_bytes = mode_64bit() ? 8 : 4;
-        break;
-
-    case 0x79:
-        state->desc = DstReg | SrcMem;
-        state->simd_size = simd_packed_int;
-        ctxt->opcode |= MASK_INSR(vex.pfx, X86EMUL_OPC_PFX_MASK);
-        break;
-
-    case 0x7e:
-        ctxt->opcode |= MASK_INSR(vex.pfx, X86EMUL_OPC_PFX_MASK);
-        if ( vex.pfx == vex_f3 ) /* movq xmm/m64,xmm */
-        {
-    case X86EMUL_OPC_VEX_F3(0, 0x7e): /* vmovq xmm/m64,xmm */
-    case X86EMUL_OPC_EVEX_F3(0, 0x7e): /* vmovq xmm/m64,xmm */
-            state->desc = DstImplicit | SrcMem | TwoOp;
-            state->simd_size = simd_other;
-            /* Avoid the state->desc clobbering of TwoOp below. */
-            return X86EMUL_OKAY;
-        }
-        break;
-
-    case X86EMUL_OPC_VEX(0, 0x90):    /* kmov{w,q} */
-    case X86EMUL_OPC_VEX_66(0, 0x90): /* kmov{b,d} */
-        state->desc = DstReg | SrcMem | Mov;
-        state->simd_size = simd_other;
-        break;
-
-    case X86EMUL_OPC_VEX(0, 0x91):    /* kmov{w,q} */
-    case X86EMUL_OPC_VEX_66(0, 0x91): /* kmov{b,d} */
-        state->desc = DstMem | SrcReg | Mov;
-        state->simd_size = simd_other;
-        break;
-
-    case 0xae:
-        ctxt->opcode |= MASK_INSR(vex.pfx, X86EMUL_OPC_PFX_MASK);
-        /* fall through */
-    case X86EMUL_OPC_VEX(0, 0xae):
-        switch ( modrm_reg & 7 )
-        {
-        case 2: /* {,v}ldmxcsr */
-            state->desc = DstImplicit | SrcMem | Mov;
-            op_bytes = 4;
-            break;
-
-        case 3: /* {,v}stmxcsr */
-            state->desc = DstMem | SrcImplicit | Mov;
-            op_bytes = 4;
-            break;
-        }
-        break;
-
-    case 0xb2: /* lss */
-    case 0xb4: /* lfs */
-    case 0xb5: /* lgs */
-        /* REX.W ignored on a vendor-dependent basis. */
-        if ( op_bytes == 8 && amd_like(ctxt) )
-            op_bytes = 4;
-        break;
-
-    case 0xb8: /* jmpe / popcnt */
-        if ( rep_prefix() )
-            ctxt->opcode |= MASK_INSR(vex.pfx, X86EMUL_OPC_PFX_MASK);
-        break;
-
-        /* Intentionally not handling here despite being modified by F3:
-    case 0xbc: bsf / tzcnt
-    case 0xbd: bsr / lzcnt
-         * They're being dealt with in the execution phase (if at all).
-         */
-
-    case 0xc4: /* pinsrw */
-        ctxt->opcode |= MASK_INSR(vex.pfx, X86EMUL_OPC_PFX_MASK);
-        /* fall through */
-    case X86EMUL_OPC_VEX_66(0, 0xc4): /* vpinsrw */
-    case X86EMUL_OPC_EVEX_66(0, 0xc4): /* vpinsrw */
-        state->desc = DstImplicit | SrcMem16;
-        break;
-
-    case 0xf0:
-        ctxt->opcode |= MASK_INSR(vex.pfx, X86EMUL_OPC_PFX_MASK);
-        if ( vex.pfx == vex_f2 ) /* lddqu mem,xmm */
-        {
-        /* fall through */
-    case X86EMUL_OPC_VEX_F2(0, 0xf0): /* vlddqu mem,{x,y}mm */
-            state->desc = DstImplicit | SrcMem | TwoOp;
-            state->simd_size = simd_other;
-            /* Avoid the state->desc clobbering of TwoOp below. */
-            return X86EMUL_OKAY;
-        }
-        break;
-    }
-
-    /*
-     * Scalar forms of most VEX-/EVEX-encoded TwoOp instructions have
-     * three operands.  Those which do really have two operands
-     * should have exited earlier.
-     */
-    if ( state->simd_size && vex.opcx &&
-         (vex.pfx & VEX_PREFIX_SCALAR_MASK) )
-        state->desc &= ~TwoOp;
-
- done:
-    return rc;
-}
-
-static int
-x86_decode_0f38(
-    struct x86_emulate_state *state,
-    struct x86_emulate_ctxt *ctxt,
-    const struct x86_emulate_ops *ops)
-{
-    switch ( ctxt->opcode & X86EMUL_OPC_MASK )
-    {
-    case 0x00 ... 0xef:
-    case 0xf2 ... 0xf5:
-    case 0xf7 ... 0xf8:
-    case 0xfa ... 0xff:
-        op_bytes = 0;
-        /* fall through */
-    case 0xf6: /* adcx / adox */
-    case 0xf9: /* movdiri */
-        ctxt->opcode |= MASK_INSR(vex.pfx, X86EMUL_OPC_PFX_MASK);
-        break;
-
-    case X86EMUL_OPC_EVEX_66(0, 0x2d): /* vscalefs{s,d} */
-        state->simd_size = simd_scalar_vexw;
-        break;
-
-    case X86EMUL_OPC_EVEX_66(0, 0x7a): /* vpbroadcastb */
-    case X86EMUL_OPC_EVEX_66(0, 0x7b): /* vpbroadcastw */
-    case X86EMUL_OPC_EVEX_66(0, 0x7c): /* vpbroadcast{d,q} */
-        break;
-
-    case 0xf0: /* movbe / crc32 */
-        state->desc |= repne_prefix() ? ByteOp : Mov;
-        if ( rep_prefix() )
-            ctxt->opcode |= MASK_INSR(vex.pfx, X86EMUL_OPC_PFX_MASK);
-        break;
-
-    case 0xf1: /* movbe / crc32 */
-        if ( repne_prefix() )
-            state->desc = DstReg | SrcMem;
-        if ( rep_prefix() )
-            ctxt->opcode |= MASK_INSR(vex.pfx, X86EMUL_OPC_PFX_MASK);
-        break;
-
-    case X86EMUL_OPC_VEX(0, 0xf2):    /* andn */
-    case X86EMUL_OPC_VEX(0, 0xf3):    /* Grp 17 */
-    case X86EMUL_OPC_VEX(0, 0xf5):    /* bzhi */
-    case X86EMUL_OPC_VEX_F3(0, 0xf5): /* pext */
-    case X86EMUL_OPC_VEX_F2(0, 0xf5): /* pdep */
-    case X86EMUL_OPC_VEX_F2(0, 0xf6): /* mulx */
-    case X86EMUL_OPC_VEX(0, 0xf7):    /* bextr */
-    case X86EMUL_OPC_VEX_66(0, 0xf7): /* shlx */
-    case X86EMUL_OPC_VEX_F3(0, 0xf7): /* sarx */
-    case X86EMUL_OPC_VEX_F2(0, 0xf7): /* shrx */
-        break;
-
-    default:
-        op_bytes = 0;
-        break;
-    }
-
-    return X86EMUL_OKAY;
-}
-
-static int
-x86_decode_0f3a(
-    struct x86_emulate_state *state,
-    struct x86_emulate_ctxt *ctxt,
-    const struct x86_emulate_ops *ops)
-{
-    if ( !vex.opcx )
-        ctxt->opcode |= MASK_INSR(vex.pfx, X86EMUL_OPC_PFX_MASK);
-
-    switch ( ctxt->opcode & X86EMUL_OPC_MASK )
-    {
-    case X86EMUL_OPC_66(0, 0x14)
-     ... X86EMUL_OPC_66(0, 0x17):     /* pextr*, extractps */
-    case X86EMUL_OPC_VEX_66(0, 0x14)
-     ... X86EMUL_OPC_VEX_66(0, 0x17): /* vpextr*, vextractps */
-    case X86EMUL_OPC_EVEX_66(0, 0x14)
-     ... X86EMUL_OPC_EVEX_66(0, 0x17): /* vpextr*, vextractps */
-    case X86EMUL_OPC_VEX_F2(0, 0xf0): /* rorx */
-        break;
-
-    case X86EMUL_OPC_66(0, 0x20):     /* pinsrb */
-    case X86EMUL_OPC_VEX_66(0, 0x20): /* vpinsrb */
-    case X86EMUL_OPC_EVEX_66(0, 0x20): /* vpinsrb */
-        state->desc = DstImplicit | SrcMem;
-        if ( modrm_mod != 3 )
-            state->desc |= ByteOp;
-        break;
-
-    case X86EMUL_OPC_66(0, 0x22):     /* pinsr{d,q} */
-    case X86EMUL_OPC_VEX_66(0, 0x22): /* vpinsr{d,q} */
-    case X86EMUL_OPC_EVEX_66(0, 0x22): /* vpinsr{d,q} */
-        state->desc = DstImplicit | SrcMem;
-        break;
-
-    default:
-        op_bytes = 0;
-        break;
-    }
-
-    return X86EMUL_OKAY;
-}
-
-static int
-x86_decode(
-    struct x86_emulate_state *state,
-    struct x86_emulate_ctxt *ctxt,
-    const struct x86_emulate_ops  *ops)
-{
-    uint8_t b, d;
-    unsigned int def_op_bytes, def_ad_bytes, opcode;
-    enum x86_segment override_seg = x86_seg_none;
-    bool pc_rel = false;
-    int rc = X86EMUL_OKAY;
-
-    ASSERT(ops->insn_fetch);
-
-    memset(state, 0, sizeof(*state));
-    ea.type = OP_NONE;
-    ea.mem.seg = x86_seg_ds;
-    ea.reg = PTR_POISON;
-    state->regs = ctxt->regs;
-    state->ip = ctxt->regs->r(ip);
-
-    op_bytes = def_op_bytes = ad_bytes = def_ad_bytes = ctxt->addr_size/8;
-    if ( op_bytes == 8 )
-    {
-        op_bytes = def_op_bytes = 4;
-#ifndef __x86_64__
-        return X86EMUL_UNHANDLEABLE;
-#endif
-    }
-
-    /* Prefix bytes. */
-    for ( ; ; )
-    {
-        switch ( b = insn_fetch_type(uint8_t) )
-        {
-        case 0x66: /* operand-size override */
-            op_bytes = def_op_bytes ^ 6;
-            if ( !vex.pfx )
-                vex.pfx = vex_66;
-            break;
-        case 0x67: /* address-size override */
-            ad_bytes = def_ad_bytes ^ (mode_64bit() ? 12 : 6);
-            break;
-        case 0x2e: /* CS override / ignored in 64-bit mode */
-            if ( !mode_64bit() )
-                override_seg = x86_seg_cs;
-            break;
-        case 0x3e: /* DS override / ignored in 64-bit mode */
-            if ( !mode_64bit() )
-                override_seg = x86_seg_ds;
-            break;
-        case 0x26: /* ES override / ignored in 64-bit mode */
-            if ( !mode_64bit() )
-                override_seg = x86_seg_es;
-            break;
-        case 0x64: /* FS override */
-            override_seg = x86_seg_fs;
-            break;
-        case 0x65: /* GS override */
-            override_seg = x86_seg_gs;
-            break;
-        case 0x36: /* SS override / ignored in 64-bit mode */
-            if ( !mode_64bit() )
-                override_seg = x86_seg_ss;
-            break;
-        case 0xf0: /* LOCK */
-            lock_prefix = 1;
-            break;
-        case 0xf2: /* REPNE/REPNZ */
-            vex.pfx = vex_f2;
-            break;
-        case 0xf3: /* REP/REPE/REPZ */
-            vex.pfx = vex_f3;
-            break;
-        case 0x40 ... 0x4f: /* REX */
-            if ( !mode_64bit() )
-                goto done_prefixes;
-            rex_prefix = b;
-            continue;
-        default:
-            goto done_prefixes;
-        }
-
-        /* Any legacy prefix after a REX prefix nullifies its effect. */
-        rex_prefix = 0;
-    }
- done_prefixes:
-
-    if ( rex_prefix & REX_W )
-        op_bytes = 8;
-
-    /* Opcode byte(s). */
-    d = opcode_table[b];
-    if ( d == 0 && b == 0x0f )
-    {
-        /* Two-byte opcode. */
-        b = insn_fetch_type(uint8_t);
-        d = twobyte_table[b].desc;
-        switch ( b )
-        {
-        default:
-            opcode = b | MASK_INSR(0x0f, X86EMUL_OPC_EXT_MASK);
-            ext = ext_0f;
-            state->simd_size = twobyte_table[b].size;
-            break;
-        case 0x38:
-            b = insn_fetch_type(uint8_t);
-            opcode = b | MASK_INSR(0x0f38, X86EMUL_OPC_EXT_MASK);
-            ext = ext_0f38;
-            break;
-        case 0x3a:
-            b = insn_fetch_type(uint8_t);
-            opcode = b | MASK_INSR(0x0f3a, X86EMUL_OPC_EXT_MASK);
-            ext = ext_0f3a;
-            break;
-        }
-    }
-    else
-        opcode = b;
-
-    /* ModRM and SIB bytes. */
-    if ( d & ModRM )
-    {
-        modrm = insn_fetch_type(uint8_t);
-        modrm_mod = (modrm & 0xc0) >> 6;
-
-        if ( !ext && ((b & ~1) == 0xc4 || (b == 0x8f && (modrm & 0x18)) ||
-                      b == 0x62) )
-            switch ( def_ad_bytes )
-            {
-            default:
-                BUG(); /* Shouldn't be possible. */
-            case 2:
-                if ( state->regs->eflags & X86_EFLAGS_VM )
-                    break;
-                /* fall through */
-            case 4:
-                if ( modrm_mod != 3 || in_realmode(ctxt, ops) )
-                    break;
-                /* fall through */
-            case 8:
-                /* VEX / XOP / EVEX */
-                generate_exception_if(rex_prefix || vex.pfx, EXC_UD);
-                /*
-                 * With operand size override disallowed (see above), op_bytes
-                 * should not have changed from its default.
-                 */
-                ASSERT(op_bytes == def_op_bytes);
-
-                vex.raw[0] = modrm;
-                if ( b == 0xc5 )
-                {
-                    opcode = X86EMUL_OPC_VEX_;
-                    vex.raw[1] = modrm;
-                    vex.opcx = vex_0f;
-                    vex.x = 1;
-                    vex.b = 1;
-                    vex.w = 0;
-                }
-                else
-                {
-                    vex.raw[1] = insn_fetch_type(uint8_t);
-                    if ( mode_64bit() )
-                    {
-                        if ( !vex.b )
-                            rex_prefix |= REX_B;
-                        if ( !vex.x )
-                            rex_prefix |= REX_X;
-                        if ( vex.w )
-                        {
-                            rex_prefix |= REX_W;
-                            op_bytes = 8;
-                        }
-                    }
-                    else
-                    {
-                        /* Operand size fixed at 4 (no override via W bit). */
-                        op_bytes = 4;
-                        vex.b = 1;
-                    }
-                    switch ( b )
-                    {
-                    case 0x62:
-                        opcode = X86EMUL_OPC_EVEX_;
-                        evex.raw[0] = vex.raw[0];
-                        evex.raw[1] = vex.raw[1];
-                        evex.raw[2] = insn_fetch_type(uint8_t);
-
-                        generate_exception_if(!evex.mbs || evex.mbz, EXC_UD);
-                        generate_exception_if(!evex.opmsk && evex.z, EXC_UD);
-
-                        if ( !mode_64bit() )
-                            evex.R = 1;
-
-                        vex.opcx = evex.opcx;
-                        break;
-                    case 0xc4:
-                        opcode = X86EMUL_OPC_VEX_;
-                        break;
-                    default:
-                        opcode = 0;
-                        break;
-                    }
-                }
-                if ( !vex.r )
-                    rex_prefix |= REX_R;
-
-                ext = vex.opcx;
-                if ( b != 0x8f )
-                {
-                    b = insn_fetch_type(uint8_t);
-                    switch ( ext )
-                    {
-                    case vex_0f:
-                        opcode |= MASK_INSR(0x0f, X86EMUL_OPC_EXT_MASK);
-                        d = twobyte_table[b].desc;
-                        state->simd_size = twobyte_table[b].size;
-                        break;
-                    case vex_0f38:
-                        opcode |= MASK_INSR(0x0f38, X86EMUL_OPC_EXT_MASK);
-                        d = twobyte_table[0x38].desc;
-                        break;
-                    case vex_0f3a:
-                        opcode |= MASK_INSR(0x0f3a, X86EMUL_OPC_EXT_MASK);
-                        d = twobyte_table[0x3a].desc;
-                        break;
-                    default:
-                        rc = X86EMUL_UNRECOGNIZED;
-                        goto done;
-                    }
-                }
-                else if ( ext < ext_8f08 + ARRAY_SIZE(xop_table) )
-                {
-                    b = insn_fetch_type(uint8_t);
-                    opcode |= MASK_INSR(0x8f08 + ext - ext_8f08,
-                                        X86EMUL_OPC_EXT_MASK);
-                    d = array_access_nospec(xop_table, ext - ext_8f08);
-                }
-                else
-                {
-                    rc = X86EMUL_UNRECOGNIZED;
-                    goto done;
-                }
-
-                opcode |= b | MASK_INSR(vex.pfx, X86EMUL_OPC_PFX_MASK);
-
-                if ( !evex_encoded() )
-                    evex.lr = vex.l;
-
-                if ( !(d & ModRM) )
-                    break;
-
-                modrm = insn_fetch_type(uint8_t);
-                modrm_mod = (modrm & 0xc0) >> 6;
-
-                break;
-            }
-    }
-
-    if ( d & ModRM )
-    {
-        unsigned int disp8scale = 0;
-
-        d &= ~ModRM;
-#undef ModRM /* Only its aliases are valid to use from here on. */
-        modrm_reg = ((rex_prefix & 4) << 1) | ((modrm & 0x38) >> 3) |
-                    ((evex_encoded() && !evex.R) << 4);
-        modrm_rm  = modrm & 0x07;
-
-        /*
-         * Early operand adjustments. Only ones affecting further processing
-         * prior to the x86_decode_*() calls really belong here. That would
-         * normally be only addition/removal of SrcImm/SrcImm16, so their
-         * fetching can be taken care of by the common code below.
-         */
-        switch ( ext )
-        {
-        case ext_none:
-            switch ( b )
-            {
-            case 0xf6 ... 0xf7: /* Grp3 */
-                switch ( modrm_reg & 7 )
-                {
-                case 0 ... 1: /* test */
-                    d |= DstMem | SrcImm;
-                    break;
-                case 2: /* not */
-                case 3: /* neg */
-                    d |= DstMem;
-                    break;
-                case 4: /* mul */
-                case 5: /* imul */
-                case 6: /* div */
-                case 7: /* idiv */
-                    /*
-                     * DstEax isn't really precise for all cases; updates to
-                     * rDX get handled in an open coded manner.
-                     */
-                    d |= DstEax | SrcMem;
-                    break;
-                }
-                break;
-            }
-            break;
-
-        case ext_0f:
-            if ( evex_encoded() )
-                disp8scale = decode_disp8scale(twobyte_table[b].d8s, state);
-
-            switch ( b )
-            {
-            case 0x12: /* vmovsldup / vmovddup */
-                if ( evex.pfx == vex_f2 )
-                    disp8scale = evex.lr ? 4 + evex.lr : 3;
-                /* fall through */
-            case 0x16: /* vmovshdup */
-                if ( evex.pfx == vex_f3 )
-                    disp8scale = 4 + evex.lr;
-                break;
-
-            case 0x20: /* mov cr,reg */
-            case 0x21: /* mov dr,reg */
-            case 0x22: /* mov reg,cr */
-            case 0x23: /* mov reg,dr */
-                /*
-                 * Mov to/from cr/dr ignore the encoding of Mod, and behave as
-                 * if they were encoded as reg/reg instructions.  No further
-                 * disp/SIB bytes are fetched.
-                 */
-                modrm_mod = 3;
-                break;
-
-            case 0x78:
-            case 0x79:
-                if ( !evex.pfx )
-                    break;
-                /* vcvt{,t}ps2uqq need special casing */
-                if ( evex.pfx == vex_66 )
-                {
-                    if ( !evex.w && !evex.brs )
-                        --disp8scale;
-                    break;
-                }
-                /* vcvt{,t}s{s,d}2usi need special casing: fall through */
-            case 0x2c: /* vcvtts{s,d}2si need special casing */
-            case 0x2d: /* vcvts{s,d}2si need special casing */
-                if ( evex_encoded() )
-                    disp8scale = 2 + (evex.pfx & VEX_PREFIX_DOUBLE_MASK);
-                break;
-
-            case 0x5a: /* vcvtps2pd needs special casing */
-                if ( disp8scale && !evex.pfx && !evex.brs )
-                    --disp8scale;
-                break;
-
-            case 0x7a: /* vcvttps2qq and vcvtudq2pd need special casing */
-                if ( disp8scale && evex.pfx != vex_f2 && !evex.w && !evex.brs )
-                    --disp8scale;
-                break;
-
-            case 0x7b: /* vcvtp{s,d}2qq need special casing */
-                if ( disp8scale && evex.pfx == vex_66 )
-                    disp8scale = (evex.brs ? 2 : 3 + evex.lr) + evex.w;
-                break;
-
-            case 0x7e: /* vmovq xmm/m64,xmm needs special casing */
-                if ( disp8scale == 2 && evex.pfx == vex_f3 )
-                    disp8scale = 3;
-                break;
-
-            case 0xe6: /* vcvtdq2pd needs special casing */
-                if ( disp8scale && evex.pfx == vex_f3 && !evex.w && !evex.brs )
-                    --disp8scale;
-                break;
-            }
-            break;
-
-        case ext_0f38:
-            d = ext0f38_table[b].to_mem ? DstMem | SrcReg
-                                        : DstReg | SrcMem;
-            if ( ext0f38_table[b].two_op )
-                d |= TwoOp;
-            if ( ext0f38_table[b].vsib )
-                d |= vSIB;
-            state->simd_size = ext0f38_table[b].simd_size;
-            if ( evex_encoded() )
-            {
-                /*
-                 * VPMOVUS* are identical to VPMOVS* Disp8-scaling-wise, but
-                 * their attributes don't match those of the vex_66 encoded
-                 * insns with the same base opcodes. Rather than adding new
-                 * columns to the table, handle this here for now.
-                 */
-                if ( evex.pfx != vex_f3 || (b & 0xf8) != 0x10 )
-                    disp8scale = decode_disp8scale(ext0f38_table[b].d8s, state);
-                else
-                {
-                    disp8scale = decode_disp8scale(ext0f38_table[b ^ 0x30].d8s,
-                                                   state);
-                    state->simd_size = simd_other;
-                }
-
-                switch ( b )
-                {
-                /* vp4dpwssd{,s} need special casing */
-                case 0x52: case 0x53:
-                /* v4f{,n}madd{p,s}s need special casing */
-                case 0x9a: case 0x9b: case 0xaa: case 0xab:
-                    if ( evex.pfx == vex_f2 )
-                    {
-                        disp8scale = 4;
-                        state->simd_size = simd_128;
-                    }
-                    break;
-                }
-            }
-            break;
-
-        case ext_0f3a:
-            /*
-             * Cannot update d here yet, as the immediate operand still
-             * needs fetching.
-             */
-            state->simd_size = ext0f3a_table[b].simd_size;
-            if ( evex_encoded() )
-                disp8scale = decode_disp8scale(ext0f3a_table[b].d8s, state);
-            break;
-
-        case ext_8f09:
-            if ( ext8f09_table[b].two_op )
-                d |= TwoOp;
-            state->simd_size = ext8f09_table[b].simd_size;
-            break;
-
-        case ext_8f08:
-        case ext_8f0a:
-            /*
-             * Cannot update d here yet, as the immediate operand still
-             * needs fetching.
-             */
-            break;
-
-        default:
-            ASSERT_UNREACHABLE();
-            return X86EMUL_UNIMPLEMENTED;
-        }
-
-        if ( modrm_mod == 3 )
-        {
-            generate_exception_if(d & vSIB, EXC_UD);
-            modrm_rm |= ((rex_prefix & 1) << 3) |
-                        ((evex_encoded() && !evex.x) << 4);
-            ea.type = OP_REG;
-        }
-        else if ( ad_bytes == 2 )
-        {
-            /* 16-bit ModR/M decode. */
-            generate_exception_if(d & vSIB, EXC_UD);
-            ea.type = OP_MEM;
-            switch ( modrm_rm )
-            {
-            case 0:
-                ea.mem.off = state->regs->bx + state->regs->si;
-                break;
-            case 1:
-                ea.mem.off = state->regs->bx + state->regs->di;
-                break;
-            case 2:
-                ea.mem.seg = x86_seg_ss;
-                ea.mem.off = state->regs->bp + state->regs->si;
-                break;
-            case 3:
-                ea.mem.seg = x86_seg_ss;
-                ea.mem.off = state->regs->bp + state->regs->di;
-                break;
-            case 4:
-                ea.mem.off = state->regs->si;
-                break;
-            case 5:
-                ea.mem.off = state->regs->di;
-                break;
-            case 6:
-                if ( modrm_mod == 0 )
-                    break;
-                ea.mem.seg = x86_seg_ss;
-                ea.mem.off = state->regs->bp;
-                break;
-            case 7:
-                ea.mem.off = state->regs->bx;
-                break;
-            }
-            switch ( modrm_mod )
-            {
-            case 0:
-                if ( modrm_rm == 6 )
-                    ea.mem.off = insn_fetch_type(int16_t);
-                break;
-            case 1:
-                ea.mem.off += insn_fetch_type(int8_t) * (1 << disp8scale);
-                break;
-            case 2:
-                ea.mem.off += insn_fetch_type(int16_t);
-                break;
-            }
-        }
-        else
-        {
-            /* 32/64-bit ModR/M decode. */
-            ea.type = OP_MEM;
-            if ( modrm_rm == 4 )
-            {
-                uint8_t sib = insn_fetch_type(uint8_t);
-                uint8_t sib_base = (sib & 7) | ((rex_prefix << 3) & 8);
-
-                state->sib_index = ((sib >> 3) & 7) | ((rex_prefix << 2) & 8);
-                state->sib_scale = (sib >> 6) & 3;
-                if ( unlikely(d & vSIB) )
-                    state->sib_index |= (mode_64bit() && evex_encoded() &&
-                                         !evex.RX) << 4;
-                else if ( state->sib_index != 4 )
-                {
-                    ea.mem.off = *decode_gpr(state->regs, state->sib_index);
-                    ea.mem.off <<= state->sib_scale;
-                }
-                if ( (modrm_mod == 0) && ((sib_base & 7) == 5) )
-                    ea.mem.off += insn_fetch_type(int32_t);
-                else if ( sib_base == 4 )
-                {
-                    ea.mem.seg  = x86_seg_ss;
-                    ea.mem.off += state->regs->r(sp);
-                    if ( !ext && (b == 0x8f) )
-                        /* POP <rm> computes its EA post increment. */
-                        ea.mem.off += ((mode_64bit() && (op_bytes == 4))
-                                       ? 8 : op_bytes);
-                }
-                else if ( sib_base == 5 )
-                {
-                    ea.mem.seg  = x86_seg_ss;
-                    ea.mem.off += state->regs->r(bp);
-                }
-                else
-                    ea.mem.off += *decode_gpr(state->regs, sib_base);
-            }
-            else
-            {
-                generate_exception_if(d & vSIB, EXC_UD);
-                modrm_rm |= (rex_prefix & 1) << 3;
-                ea.mem.off = *decode_gpr(state->regs, modrm_rm);
-                if ( (modrm_rm == 5) && (modrm_mod != 0) )
-                    ea.mem.seg = x86_seg_ss;
-            }
-            switch ( modrm_mod )
-            {
-            case 0:
-                if ( (modrm_rm & 7) != 5 )
-                    break;
-                ea.mem.off = insn_fetch_type(int32_t);
-                pc_rel = mode_64bit();
-                break;
-            case 1:
-                ea.mem.off += insn_fetch_type(int8_t) * (1 << disp8scale);
-                break;
-            case 2:
-                ea.mem.off += insn_fetch_type(int32_t);
-                break;
-            }
-        }
-    }
-    else
-    {
-        modrm_mod = 0xff;
-        modrm_reg = modrm_rm = modrm = 0;
-    }
-
-    if ( override_seg != x86_seg_none )
-        ea.mem.seg = override_seg;
-
-    /* Fetch the immediate operand, if present. */
-    switch ( d & SrcMask )
-    {
-        unsigned int bytes;
-
-    case SrcImm:
-        if ( !(d & ByteOp) )
-        {
-            if ( mode_64bit() && !amd_like(ctxt) &&
-                 ((ext == ext_none && (b | 1) == 0xe9) /* call / jmp */ ||
-                  (ext == ext_0f && (b | 0xf) == 0x8f) /* jcc */ ) )
-                op_bytes = 4;
-            bytes = op_bytes != 8 ? op_bytes : 4;
-        }
-        else
-        {
-    case SrcImmByte:
-            bytes = 1;
-        }
-        /* NB. Immediates are sign-extended as necessary. */
-        switch ( bytes )
-        {
-        case 1: imm1 = insn_fetch_type(int8_t);  break;
-        case 2: imm1 = insn_fetch_type(int16_t); break;
-        case 4: imm1 = insn_fetch_type(int32_t); break;
-        }
-        break;
-    case SrcImm16:
-        imm1 = insn_fetch_type(uint16_t);
-        break;
-    }
-
-    ctxt->opcode = opcode;
-    state->desc = d;
-
-    switch ( ext )
-    {
-    case ext_none:
-        rc = x86_decode_onebyte(state, ctxt, ops);
-        break;
-
-    case ext_0f:
-        rc = x86_decode_twobyte(state, ctxt, ops);
-        break;
-
-    case ext_0f38:
-        rc = x86_decode_0f38(state, ctxt, ops);
-        break;
-
-    case ext_0f3a:
-        d = ext0f3a_table[b].to_mem ? DstMem | SrcReg : DstReg | SrcMem;
-        if ( ext0f3a_table[b].two_op )
-            d |= TwoOp;
-        else if ( ext0f3a_table[b].four_op && !mode_64bit() && vex.opcx )
-            imm1 &= 0x7f;
-        state->desc = d;
-        rc = x86_decode_0f3a(state, ctxt, ops);
-        break;
-
-    case ext_8f08:
-        d = DstReg | SrcMem;
-        if ( ext8f08_table[b].two_op )
-            d |= TwoOp;
-        else if ( ext8f08_table[b].four_op && !mode_64bit() )
-            imm1 &= 0x7f;
-        state->desc = d;
-        state->simd_size = ext8f08_table[b].simd_size;
-        break;
-
-    case ext_8f09:
-    case ext_8f0a:
-        break;
-
-    default:
-        ASSERT_UNREACHABLE();
-        return X86EMUL_UNIMPLEMENTED;
-    }
-
-    if ( ea.type == OP_MEM )
-    {
-        if ( pc_rel )
-            ea.mem.off += state->ip;
-
-        ea.mem.off = truncate_ea(ea.mem.off);
-    }
-
-    /*
-     * Simple op_bytes calculations. More complicated cases produce 0
-     * and are further handled during execute.
-     */
-    switch ( state->simd_size )
-    {
-    case simd_none:
-        /*
-         * When prefix 66 has a meaning different from operand-size override,
-         * operand size defaults to 4 and can't be overridden to 2.
-         */
-        if ( op_bytes == 2 &&
-             (ctxt->opcode & X86EMUL_OPC_PFX_MASK) == X86EMUL_OPC_66(0, 0) )
-            op_bytes = 4;
-        break;
-
-#ifndef X86EMUL_NO_SIMD
-    case simd_packed_int:
-        switch ( vex.pfx )
-        {
-        case vex_none:
-            if ( !vex.opcx )
-            {
-                op_bytes = 8;
-                break;
-            }
-            /* fall through */
-        case vex_66:
-            op_bytes = 16 << evex.lr;
-            break;
-        default:
-            op_bytes = 0;
-            break;
-        }
-        break;
-
-    case simd_single_fp:
-        if ( vex.pfx & VEX_PREFIX_DOUBLE_MASK )
-        {
-            op_bytes = 0;
-            break;
-    case simd_packed_fp:
-            if ( vex.pfx & VEX_PREFIX_SCALAR_MASK )
-            {
-                op_bytes = 0;
-                break;
-            }
-        }
-        /* fall through */
-    case simd_any_fp:
-        switch ( vex.pfx )
-        {
-        default:
-            op_bytes = 16 << evex.lr;
-            break;
-        case vex_f3:
-            generate_exception_if(evex_encoded() && evex.w, EXC_UD);
-            op_bytes = 4;
-            break;
-        case vex_f2:
-            generate_exception_if(evex_encoded() && !evex.w, EXC_UD);
-            op_bytes = 8;
-            break;
-        }
-        break;
-
-    case simd_scalar_opc:
-        op_bytes = 4 << (ctxt->opcode & 1);
-        break;
-
-    case simd_scalar_vexw:
-        op_bytes = 4 << vex.w;
-        break;
-
-    case simd_128:
-        /* The special cases here are MMX shift insns. */
-        op_bytes = vex.opcx || vex.pfx ? 16 : 8;
-        break;
-
-    case simd_256:
-        op_bytes = 32;
-        break;
-#endif /* !X86EMUL_NO_SIMD */
-
-    default:
-        op_bytes = 0;
-        break;
-    }
-
- done:
-    return rc;
-}
-
-/* No insn fetching past this point. */
-#undef insn_fetch_bytes
-#undef insn_fetch_type
-
 /* Undo DEBUG wrapper. */
 #undef x86_emulate
 
@@ -3000,7 +1281,7 @@ x86_emulate(
                            (_regs.eflags & X86_EFLAGS_VIP)),
                           EXC_GP, 0);
 
-    rc = x86_decode(&state, ctxt, ops);
+    rc = x86emul_decode(&state, ctxt, ops);
     if ( rc != X86EMUL_OKAY )
         return rc;
 
@@ -10497,46 +8778,6 @@ int x86_emulate_wrapper(
 }
 #endif
 
-struct x86_emulate_state *
-x86_decode_insn(
-    struct x86_emulate_ctxt *ctxt,
-    int (*insn_fetch)(
-        enum x86_segment seg, unsigned long offset,
-        void *p_data, unsigned int bytes,
-        struct x86_emulate_ctxt *ctxt))
-{
-    static DEFINE_PER_CPU(struct x86_emulate_state, state);
-    struct x86_emulate_state *state = &this_cpu(state);
-    const struct x86_emulate_ops ops = {
-        .insn_fetch = insn_fetch,
-        .read       = x86emul_unhandleable_rw,
-    };
-    int rc;
-
-    init_context(ctxt);
-
-    rc = x86_decode(state, ctxt, &ops);
-    if ( unlikely(rc != X86EMUL_OKAY) )
-        return ERR_PTR(-rc);
-
-#if defined(__XEN__) && !defined(NDEBUG)
-    /*
-     * While we avoid memory allocation (by use of per-CPU data) above,
-     * nevertheless make sure callers properly release the state structure
-     * for forward compatibility.
-     */
-    if ( state->caller )
-    {
-        printk(XENLOG_ERR "Unreleased emulation state acquired by %ps\n",
-               state->caller);
-        dump_execution_state();
-    }
-    state->caller = __builtin_return_address(0);
-#endif
-
-    return state;
-}
-
 static inline void check_state(const struct x86_emulate_state *state)
 {
 #if defined(__XEN__) && !defined(NDEBUG)



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 12:25:11 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 12:25:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166003.303184 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDnIF-0000Rc-FT; Wed, 11 Aug 2021 12:25:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166003.303184; Wed, 11 Aug 2021 12:25:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDnIF-0000RP-CF; Wed, 11 Aug 2021 12:25:11 +0000
Received: by outflank-mailman (input) for mailman id 166003;
 Wed, 11 Aug 2021 12:25:09 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fjOV=NC=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mDnID-0000QW-Hn
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 12:25:09 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 2921fac4-fa9f-11eb-a06e-12813bfff9fa;
 Wed, 11 Aug 2021 12:25:07 +0000 (UTC)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2111.outbound.protection.outlook.com [104.47.18.111])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-14-zpVizQREPeWltKaVkRMfXA-1; Wed, 11 Aug 2021 14:25:04 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0401MB2335.eurprd04.prod.outlook.com (2603:10a6:800:2e::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.17; Wed, 11 Aug
 2021 12:25:02 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4394.025; Wed, 11 Aug 2021
 12:25:02 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FR3P281CA0059.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4b::21) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.6 via Frontend Transport; Wed, 11 Aug 2021 12: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: 2921fac4-fa9f-11eb-a06e-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628684706;
	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=xDuVUu/uls/nwQdBKf78ux7Pqg+0gXhI7uyUIB57IBM=;
	b=baHp8KtcoL5criQGzmZ/BFFBPjEq47d1X9jSKaZYAzHMrfEggCMTJQo6n802a9qmmC+irL
	1CafCTXbVl1aSt7b1sQs+1e+dvS7LKjExcsfhf22iXAi0Fwm4FLs+KTt4slP7lvSRbcv1R
	fgV1V4ikg06+bmrcACL04uHBpLRqFgg=
X-MC-Unique: zpVizQREPeWltKaVkRMfXA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EDisUcvY6+co7ZQkKCv2oJmGoFo0SAVg7Nra4wBW7+n8KAaBH5GiEpxWY+TFznVKTJX/p+5bw7FrYrMKO9OQqd4yv+x9r803kl+gG9w6PoHv7EeM+kLik6bUe6zJPCSvTygbGAG2sUGDsJGSqhmCHQsGrb7hePEQMhLLQKZ7aEQOqxmeZqw7bxA5H0Uoir9sOuHg7OLVWq7EXjSJlE05+vzBzVyi7MhxKmBpQNsvITcE/wN7e2xQwnM9FyP+KpnXlDVtsw46TGeDOFXJ0BGGId9fVDFuJGa3YylW7yJYvCqm/EKhzGoAuedDvkFgHAEuQ/54DWpDMfIGBaORGOIHxw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xDuVUu/uls/nwQdBKf78ux7Pqg+0gXhI7uyUIB57IBM=;
 b=cA1gYBXob8J0jN9/u4qS4C+Gdvo6jF3v9feSp6J9oWpibEL6n97EmXaUdqai4FSe/xsokyIzMjRqVedt3IfBzYcr5bSA5ZGarjAhRtwMHJ4sAx4VRNvb1YCsjULcDkRCo2qF1UV36hJPZbebYPbccEQU4tj4U9cOK2adDYFIVNfnruJNOWHBQO8gdxh5k/imWfgx0NHsg4cCMj0QYcsSha6oWu5eQCJhEDAo1GMlRl9dT/cbD+JzV5J9stHZG6UDQBKnOLgNVPDDW4xajJM1rZ7JDgNBcS4L1gB72jIM40FQ21/lh/fBhvz0Y1RvPOlxqx2RX7ihGQeK5nWi2AFM4g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: citrix.com; dkim=none (message not signed)
 header.d=none;citrix.com; dmarc=none action=none header.from=suse.com;
Subject: [PATCH 6/7] x86emul: move x86_emul_blk() to separate source file
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <bdc58964-e2a8-af36-1653-41c7146bdfc9@suse.com>
Message-ID: <03a230d9-d4f5-d3fe-738a-2208a8d56f05@suse.com>
Date: Wed, 11 Aug 2021 14:25:01 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <bdc58964-e2a8-af36-1653-41c7146bdfc9@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0059.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::21) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4e06b252-5fec-4704-4d62-08d95cc30b3a
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2335:
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB233582985F71E00BE2153B1DB3F89@VI1PR0401MB2335.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:3826;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	cGSChJVp1DMizIep/ej/xdHg0FdBdVsP1Y9lGAvOxFRjsCr+kp0uMk5V58QZIhprXBY5nBU81N3tWKQ0fALa+oV/PNuq79/NW3MBhBPQWwSCFD+pm1si5GILkJEyc4VYZOo4gV+8hCfYVC3l+TeAfVuQyCm/t8/z97uM6m28f8N7sOmeauhfD58R2aYwSceuWplNGnUDl21my4pVwR8xbR8++7zbTnLqeZ5VmTdbBr2ru73FSIGwk9s3dD1UVJFYepd8r8AzmGSTJeNT0I6X12O2ZCjalIsH8ddRA9HbnvUC/CE/PuF610+1OHST4/3/a0uV2vwcT10uB9M1GlwrAKHZefHxkcpMR3LF76goKivCP8G+sRpHveciWgUS6/OvGsh32EQB+mpAspQXWnyqsqZLGcDJhsmHb5IsssJJwnBjgWtAzY/2xlwP2DuTZgV+wMnytm4+IIZSXcvqPKGlQF+Nacjq6zbYWmPa5EDtzm3r/ECm7eKL7Q5V+jq6vcjC+q98Q1H8XYwL9SySV8N6bYDKTuhQsbdBmYgxDF9ebizPnLho8m/cAmPNHfKBG35AhoNeF9eTcalxEqdthr3Ii9mbtYORRaR6vBJOgPymrcxJ77L2ZxjeoAou546hjHnHJpw0zXBYBkF83o+mcNTuHjHUz99OLfXV8gA4j8mfpmU+cRzQipnKcftkSUO0uIiSXP/bGeeej82fVQi6WYTrHhxIm8W8KHJiaI7f/cpTRZDkG0Pes36163vClgCg3KxD1RIJQ/rE4xPJS2TD5TmgF3aW9yHR1vxtQomeC4mESoxMQ0Q3Axp4ar/l6zjvwWr/z4mxExBAmV30NmuON3JAKw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(396003)(39860400002)(366004)(346002)(376002)(6916009)(31696002)(316002)(956004)(6486002)(2906002)(36756003)(478600001)(30864003)(86362001)(16576012)(8676002)(31686004)(8936002)(38100700002)(2616005)(66556008)(83380400001)(186003)(66476007)(66946007)(5660300002)(26005)(54906003)(4326008)(2004002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?d0xRQmFRZGRQaEdNQVhUWmdYUFNyS0RoZlMxZk5ZSFBEN3QvLzJ1djZ6bEVP?=
 =?utf-8?B?SEdoTEVncGJab0hpVXo1SnlMV0RDMWFiN2pncFlHeVoxMjJlTmw2Q1RsYkVM?=
 =?utf-8?B?TmFqd1c4R28yUnMrVWFSUEd1VmlwbDE0ZXh6MTM0U3g5ak95aXV4Zk9iZ3lJ?=
 =?utf-8?B?ZEsvWDNBajRRK0wvemNuc0NmcmkrVkhTWlFzTHRJYXBBTzdFLzUyMlBRVS9m?=
 =?utf-8?B?TFh0dnJnQUt2SHRIaXV1aFY5amRUSWtHdFFmZFpFRHZKMXlHbHR4WmUzWk80?=
 =?utf-8?B?WTNBTUZRQUJRYTBGbXJacTdSTkxjamU3dDJIQVlieHViczJIV3phZUZYU3dk?=
 =?utf-8?B?eS9saUVXcEZhS2lmdjB5MTNqQUxrRTQrYTJHcDVDRWlua0xOajhIb3ZhQnNZ?=
 =?utf-8?B?Nkc0amkrd2xBL3RxL0VENFIwV2hweTFSVExIUk5FU3FmRmplZkRwazd2UEJv?=
 =?utf-8?B?VlVvVThtUkFra1hGM0RPcDZMQmZOZmNFMDQ1RE45M0JEeW1JMEFkaTdPVTNw?=
 =?utf-8?B?NFpuQjlRd2tXdG5FR1hLZm5EeUlIL01GNDlWZmtxVHNXR29zejRLZ1BXTnA3?=
 =?utf-8?B?ZEw1ZWFxbXBPM2V1d01LeU5YckY0anJ0Mk9iTDBLaGd0dWk3ZGhCcjFCZTdP?=
 =?utf-8?B?Y3VnbHZYNlFHaE5EZmp2NiszcklyNzB1ZUI2bEdJK0dFQzNpa0tCNi9kUVha?=
 =?utf-8?B?ZE5SRWdCMnBpV0lwS2lqaEJCRysrUWhZc3FJZm02UmF0NmpDTWhzeVpGTjVC?=
 =?utf-8?B?TkhuaU5pYnl4c3RPQnU1WHdWa2piZXZObFU1SEtxM0w3dG5qbjYreXB4MHVH?=
 =?utf-8?B?U244QW1LYyttN3ZvNmtwWG4wY2lZNUR5ajQ4NXZaQzFKZmczVTdtMURBNHlI?=
 =?utf-8?B?UHpaekJnVUt6TlBQSnYvS1crODV1aXlTbnBwVHlNS0lBQkFuWlNmU0J5bFZm?=
 =?utf-8?B?UjVmZ0REYXA1d2djYkFXaE9TUXVsdEtldUtwZytnSjAxUjd4Qi95NnBGd21n?=
 =?utf-8?B?WVJJWWJwWFF5V0pEajFaa3Q5cXJ3Y21jZ01OdGJjL3JoR2o3Z0w3RVJBS0RB?=
 =?utf-8?B?YWFjZUROb1BCUDIrR1lDTFA3U3Nvb0lBaCsyS3ViM2FleGdiTW5XeVhtRDNM?=
 =?utf-8?B?bzBLRFoycHVNbThPdnNOcHZTUklGTUI0Y0ZlZXU5WXRhRXRrcEtIYkVoZlBP?=
 =?utf-8?B?c2FWamczYXhnL3MzSFZBTDUxR1JsNTFWWUxvNXY5ZGQreUIraGIxVWZ3YmdV?=
 =?utf-8?B?M21RTm81SVd3b2tCb2crK1lVSnhKZytWTFg2bHZvSUp0SU5mNENjeGZFQWRy?=
 =?utf-8?B?MVJCK3lOcmNsckxZdDFkd3dEMHFzRVB5aEpRN2p4aTJpSFN2SFQ3enlZTkdZ?=
 =?utf-8?B?QU92VTdDbUs3cEszSjhHK2lJTHZScmdQbmRoeE1sNDh2ZEZRYy9DSkZqOUN3?=
 =?utf-8?B?YVBuZWk5UVY3bGJ1aHdSdHRldVV3cW12N1FDSHNTVU5idjhKTURPNnB3S29N?=
 =?utf-8?B?RXNLdFY5aFMzVHh1NXZwWnVKclZOMmhzam42T1lyb3NCYjdXeDNHczcrOWhK?=
 =?utf-8?B?ZkZrUUJiYlJGTW5MOXlBWDZVU2MrUlEvc0JBeHVoUzdDdGRvUG1peCsyYmhO?=
 =?utf-8?B?M3dSYnlBQXhDRE9sUnVrbXpkNHZQeGY4dEgvL2NFOEZOcTltb1NNaGJYMEVR?=
 =?utf-8?B?ZE5YWGduaWl3d2lNYVRxbDlwN2RYOU5XZmRtVzRUWVRrYmdGRFd5VE1icnJI?=
 =?utf-8?Q?KQWXlDvMUDy/AqKRgiSDeQ+REJydOUwoZ+yDEDb?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4e06b252-5fec-4704-4d62-08d95cc30b3a
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 12:25:02.7553
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: IruX2bTsLOHGc8BUadRGOcrLU2CR15E5J/kzrhhg+qqhuXqQZNui5LRsTxgX2aa2DedmgwGPenEmUS6cKcYwDQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2335

The function is already non-trivial and is expected to further grow.

Code moved gets slightly adjusted in a few places, e.g. replacing EXC_*
by X86_EXC_* (such that EXC_* don't need to move as well; we want these
to be phased out anyway).

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

--- a/tools/tests/x86_emulator/Makefile
+++ b/tools/tests/x86_emulator/Makefile
@@ -252,7 +252,7 @@ endif # 32-bit override
 
 OBJS := x86-emulate.o cpuid.o test_x86_emulator.o evex-disp8.o predicates.o wrappers.o
 OBJS += x86_emulate/0f01.o x86_emulate/0fae.o x86_emulate/0fc7.o
-OBJS += x86_emulate/decode.o x86_emulate/fpu.o
+OBJS += x86_emulate/blk.o x86_emulate/decode.o x86_emulate/fpu.o
 
 $(TARGET): $(OBJS)
 	$(HOSTCC) $(HOSTCFLAGS) -o $@ $^
--- a/tools/tests/x86_emulator/x86-emulate.c
+++ b/tools/tests/x86_emulator/x86-emulate.c
@@ -35,7 +35,10 @@ static bool use_xsave;
  * (When debugging the emulator, care needs to be taken when inserting
  * printf() or alike function calls into regions using this.)
  */
-#define FXSAVE_AREA ((struct x86_fxsr *)fpu_save_area)
+struct x86_fxsr *get_fpu_save_area(void)
+{
+    return (void *)fpu_save_area;
+}
 
 void emul_save_fpu_state(void)
 {
--- a/tools/tests/x86_emulator/x86-emulate.h
+++ b/tools/tests/x86_emulator/x86-emulate.h
@@ -83,6 +83,8 @@ bool emul_test_init(void);
 void emul_save_fpu_state(void);
 void emul_restore_fpu_state(void);
 
+struct x86_fxsr *get_fpu_save_area(void);
+
 /*
  * In order to reasonably use the above, wrap library calls we use and which we
  * think might access any of the FPU state into wrappers saving/restoring state
--- a/xen/arch/x86/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate.c
@@ -24,8 +24,6 @@
 #define cpu_has_amd_erratum(nr) \
         cpu_has_amd_erratum(&current_cpu_data, AMD_ERRATUM_##nr)
 
-#define FXSAVE_AREA current->arch.fpu_ctxt
-
 #include "x86_emulate/x86_emulate.c"
 
 int x86emul_read_xcr(unsigned int reg, uint64_t *val,
--- a/xen/arch/x86/x86_emulate/Makefile
+++ b/xen/arch/x86/x86_emulate/Makefile
@@ -1,5 +1,6 @@
 obj-y += 0f01.o
 obj-y += 0fae.o
 obj-y += 0fc7.o
+obj-y += blk.o
 obj-y += decode.o
 obj-$(CONFIG_HVM) += fpu.o
--- /dev/null
+++ b/xen/arch/x86/x86_emulate/blk.c
@@ -0,0 +1,396 @@
+/******************************************************************************
+ * blk.c - helper for x86_emulate.c
+ *
+ * Generic x86 (32-bit and 64-bit) instruction decoder and emulator.
+ *
+ * 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 "private.h"
+
+#if !defined(X86EMUL_NO_FPU) || !defined(X86EMUL_NO_MMX) || \
+    !defined(X86EMUL_NO_SIMD)
+# ifdef __XEN__
+#  include <asm/xstate.h>
+#  define FXSAVE_AREA current->arch.fpu_ctxt
+# else
+#  define FXSAVE_AREA get_fpu_save_area()
+# endif
+#endif
+
+int x86_emul_blk(
+    void *ptr,
+    void *data,
+    unsigned int bytes,
+    uint32_t *eflags,
+    struct x86_emulate_state *s,
+    struct x86_emulate_ctxt *ctxt)
+{
+    int rc = X86EMUL_OKAY;
+
+    switch ( s->blk )
+    {
+        bool zf;
+#ifndef X86EMUL_NO_FPU
+        struct {
+            struct x87_env32 env;
+            struct {
+               uint8_t bytes[10];
+            } freg[8];
+        } fpstate;
+#endif
+
+        /*
+         * Throughout this switch(), memory clobbers are used to compensate
+         * that other operands may not properly express the (full) memory
+         * ranges covered.
+         */
+    case blk_enqcmd:
+        ASSERT(bytes == 64);
+        if ( ((unsigned long)ptr & 0x3f) )
+        {
+            ASSERT_UNREACHABLE();
+            return X86EMUL_UNHANDLEABLE;
+        }
+        *eflags &= ~EFLAGS_MASK;
+#ifdef HAVE_AS_ENQCMD
+        asm ( "enqcmds (%[src]), %[dst]" ASM_FLAG_OUT(, "; setz %[zf]")
+              : [zf] ASM_FLAG_OUT("=@ccz", "=qm") (zf)
+              : [src] "r" (data), [dst] "r" (ptr) : "memory" );
+#else
+        /* enqcmds (%rsi), %rdi */
+        asm ( ".byte 0xf3, 0x0f, 0x38, 0xf8, 0x3e"
+              ASM_FLAG_OUT(, "; setz %[zf]")
+              : [zf] ASM_FLAG_OUT("=@ccz", "=qm") (zf)
+              : "S" (data), "D" (ptr) : "memory" );
+#endif
+        if ( zf )
+            *eflags |= X86_EFLAGS_ZF;
+        break;
+
+#ifndef X86EMUL_NO_FPU
+
+    case blk_fld:
+        ASSERT(!data);
+
+        /* s->rex_prefix carries CR0.PE && !EFLAGS.VM setting */
+        switch ( bytes )
+        {
+        case sizeof(fpstate.env): /* 32-bit FLDENV */
+        case sizeof(fpstate):     /* 32-bit FRSTOR */
+            memcpy(&fpstate.env, ptr, sizeof(fpstate.env));
+            if ( !s->rex_prefix )
+            {
+                /* Convert 32-bit real/vm86 to 32-bit prot format. */
+                unsigned int fip = fpstate.env.mode.real.fip_lo +
+                                   (fpstate.env.mode.real.fip_hi << 16);
+                unsigned int fdp = fpstate.env.mode.real.fdp_lo +
+                                   (fpstate.env.mode.real.fdp_hi << 16);
+                unsigned int fop = fpstate.env.mode.real.fop;
+
+                fpstate.env.mode.prot.fip = fip & 0xf;
+                fpstate.env.mode.prot.fcs = fip >> 4;
+                fpstate.env.mode.prot.fop = fop;
+                fpstate.env.mode.prot.fdp = fdp & 0xf;
+                fpstate.env.mode.prot.fds = fdp >> 4;
+            }
+
+            if ( bytes == sizeof(fpstate.env) )
+                ptr = NULL;
+            else
+                ptr += sizeof(fpstate.env);
+            break;
+
+        case sizeof(struct x87_env16):                        /* 16-bit FLDENV */
+        case sizeof(struct x87_env16) + sizeof(fpstate.freg): /* 16-bit FRSTOR */
+        {
+            const struct x87_env16 *env = ptr;
+
+            fpstate.env.fcw = env->fcw;
+            fpstate.env.fsw = env->fsw;
+            fpstate.env.ftw = env->ftw;
+
+            if ( s->rex_prefix )
+            {
+                /* Convert 16-bit prot to 32-bit prot format. */
+                fpstate.env.mode.prot.fip = env->mode.prot.fip;
+                fpstate.env.mode.prot.fcs = env->mode.prot.fcs;
+                fpstate.env.mode.prot.fdp = env->mode.prot.fdp;
+                fpstate.env.mode.prot.fds = env->mode.prot.fds;
+                fpstate.env.mode.prot.fop = 0; /* unknown */
+            }
+            else
+            {
+                /* Convert 16-bit real/vm86 to 32-bit prot format. */
+                unsigned int fip = env->mode.real.fip_lo +
+                                   (env->mode.real.fip_hi << 16);
+                unsigned int fdp = env->mode.real.fdp_lo +
+                                   (env->mode.real.fdp_hi << 16);
+                unsigned int fop = env->mode.real.fop;
+
+                fpstate.env.mode.prot.fip = fip & 0xf;
+                fpstate.env.mode.prot.fcs = fip >> 4;
+                fpstate.env.mode.prot.fop = fop;
+                fpstate.env.mode.prot.fdp = fdp & 0xf;
+                fpstate.env.mode.prot.fds = fdp >> 4;
+            }
+
+            if ( bytes == sizeof(*env) )
+                ptr = NULL;
+            else
+                ptr += sizeof(*env);
+            break;
+        }
+
+        default:
+            ASSERT_UNREACHABLE();
+            return X86EMUL_UNHANDLEABLE;
+        }
+
+        if ( ptr )
+        {
+            memcpy(fpstate.freg, ptr, sizeof(fpstate.freg));
+            asm volatile ( "frstor %0" :: "m" (fpstate) );
+        }
+        else
+            asm volatile ( "fldenv %0" :: "m" (fpstate.env) );
+        break;
+
+    case blk_fst:
+        ASSERT(!data);
+
+        /* Don't chance consuming uninitialized data. */
+        memset(&fpstate, 0, sizeof(fpstate));
+        if ( bytes > sizeof(fpstate.env) )
+            asm ( "fnsave %0" : "+m" (fpstate) );
+        else
+            asm ( "fnstenv %0" : "+m" (fpstate.env) );
+
+        /* s->rex_prefix carries CR0.PE && !EFLAGS.VM setting */
+        switch ( bytes )
+        {
+        case sizeof(fpstate.env): /* 32-bit FNSTENV */
+        case sizeof(fpstate):     /* 32-bit FNSAVE */
+            if ( !s->rex_prefix )
+            {
+                /* Convert 32-bit prot to 32-bit real/vm86 format. */
+                unsigned int fip = fpstate.env.mode.prot.fip +
+                                   (fpstate.env.mode.prot.fcs << 4);
+                unsigned int fdp = fpstate.env.mode.prot.fdp +
+                                   (fpstate.env.mode.prot.fds << 4);
+                unsigned int fop = fpstate.env.mode.prot.fop;
+
+                memset(&fpstate.env.mode, 0, sizeof(fpstate.env.mode));
+                fpstate.env.mode.real.fip_lo = fip;
+                fpstate.env.mode.real.fip_hi = fip >> 16;
+                fpstate.env.mode.real.fop = fop;
+                fpstate.env.mode.real.fdp_lo = fdp;
+                fpstate.env.mode.real.fdp_hi = fdp >> 16;
+            }
+            memcpy(ptr, &fpstate.env, sizeof(fpstate.env));
+            if ( bytes == sizeof(fpstate.env) )
+                ptr = NULL;
+            else
+                ptr += sizeof(fpstate.env);
+            break;
+
+        case sizeof(struct x87_env16):                        /* 16-bit FNSTENV */
+        case sizeof(struct x87_env16) + sizeof(fpstate.freg): /* 16-bit FNSAVE */
+            if ( s->rex_prefix )
+            {
+                /* Convert 32-bit prot to 16-bit prot format. */
+                struct x87_env16 *env = ptr;
+
+                env->fcw = fpstate.env.fcw;
+                env->fsw = fpstate.env.fsw;
+                env->ftw = fpstate.env.ftw;
+                env->mode.prot.fip = fpstate.env.mode.prot.fip;
+                env->mode.prot.fcs = fpstate.env.mode.prot.fcs;
+                env->mode.prot.fdp = fpstate.env.mode.prot.fdp;
+                env->mode.prot.fds = fpstate.env.mode.prot.fds;
+            }
+            else
+            {
+                /* Convert 32-bit prot to 16-bit real/vm86 format. */
+                unsigned int fip = fpstate.env.mode.prot.fip +
+                                   (fpstate.env.mode.prot.fcs << 4);
+                unsigned int fdp = fpstate.env.mode.prot.fdp +
+                                   (fpstate.env.mode.prot.fds << 4);
+                struct x87_env16 env = {
+                    .fcw = fpstate.env.fcw,
+                    .fsw = fpstate.env.fsw,
+                    .ftw = fpstate.env.ftw,
+                    .mode.real.fip_lo = fip,
+                    .mode.real.fip_hi = fip >> 16,
+                    .mode.real.fop = fpstate.env.mode.prot.fop,
+                    .mode.real.fdp_lo = fdp,
+                    .mode.real.fdp_hi = fdp >> 16
+                };
+
+                memcpy(ptr, &env, sizeof(env));
+            }
+            if ( bytes == sizeof(struct x87_env16) )
+                ptr = NULL;
+            else
+                ptr += sizeof(struct x87_env16);
+            break;
+
+        default:
+            ASSERT_UNREACHABLE();
+            return X86EMUL_UNHANDLEABLE;
+        }
+
+        if ( ptr )
+            memcpy(ptr, fpstate.freg, sizeof(fpstate.freg));
+        break;
+
+#endif /* X86EMUL_NO_FPU */
+
+#if !defined(X86EMUL_NO_FPU) || !defined(X86EMUL_NO_MMX) || \
+    !defined(X86EMUL_NO_SIMD)
+
+    case blk_fxrstor:
+    {
+        struct x86_fxsr *fxsr = FXSAVE_AREA;
+
+        ASSERT(!data);
+        ASSERT(bytes == sizeof(*fxsr));
+        ASSERT(s->op_bytes <= bytes);
+
+        if ( s->op_bytes < sizeof(*fxsr) )
+        {
+            if ( s->rex_prefix & REX_W )
+            {
+                /*
+                 * The only way to force fxsaveq on a wide range of gas
+                 * versions. On older versions the rex64 prefix works only if
+                 * we force an addressing mode that doesn't require extended
+                 * registers.
+                 */
+                asm volatile ( ".byte 0x48; fxsave (%1)"
+                               : "=m" (*fxsr) : "R" (fxsr) );
+            }
+            else
+                asm volatile ( "fxsave %0" : "=m" (*fxsr) );
+        }
+
+        /*
+         * Don't chance the reserved or available ranges to contain any
+         * data FXRSTOR may actually consume in some way: Copy only the
+         * defined portion, and zero the rest.
+         */
+        memcpy(fxsr, ptr, min(s->op_bytes,
+                              (unsigned int)offsetof(struct x86_fxsr, rsvd)));
+        memset(fxsr->rsvd, 0, sizeof(*fxsr) - offsetof(struct x86_fxsr, rsvd));
+
+        generate_exception_if(fxsr->mxcsr & ~mxcsr_mask, X86_EXC_GP, 0);
+
+        if ( s->rex_prefix & REX_W )
+        {
+            /* See above for why operand/constraints are this way. */
+            asm volatile ( ".byte 0x48; fxrstor (%1)"
+                           :: "m" (*fxsr), "R" (fxsr) );
+        }
+        else
+            asm volatile ( "fxrstor %0" :: "m" (*fxsr) );
+        break;
+    }
+
+    case blk_fxsave:
+    {
+        struct x86_fxsr *fxsr = FXSAVE_AREA;
+
+        ASSERT(!data);
+        ASSERT(bytes == sizeof(*fxsr));
+        ASSERT(s->op_bytes <= bytes);
+
+        if ( s->op_bytes < sizeof(*fxsr) )
+            /* Don't chance consuming uninitialized data. */
+            memset(fxsr, 0, s->op_bytes);
+        else
+            fxsr = ptr;
+
+        if ( s->rex_prefix & REX_W )
+        {
+            /* See above for why operand/constraints are this way. */
+            asm volatile ( ".byte 0x48; fxsave (%1)"
+                           : "=m" (*fxsr) : "R" (fxsr) );
+        }
+        else
+            asm volatile ( "fxsave %0" : "=m" (*fxsr) );
+
+        if ( fxsr != ptr ) /* i.e. s->op_bytes < sizeof(*fxsr) */
+            memcpy(ptr, fxsr, s->op_bytes);
+        break;
+    }
+
+#endif /* X86EMUL_NO_{FPU,MMX,SIMD} */
+
+    case blk_movdir:
+        switch ( bytes )
+        {
+#ifdef __x86_64__
+        case sizeof(uint32_t):
+# ifdef HAVE_AS_MOVDIR
+            asm ( "movdiri %0, (%1)"
+                  :: "r" (*(uint32_t *)data), "r" (ptr) : "memory" );
+# else
+            /* movdiri %esi, (%rdi) */
+            asm ( ".byte 0x0f, 0x38, 0xf9, 0x37"
+                  :: "S" (*(uint32_t *)data), "D" (ptr) : "memory" );
+# endif
+            break;
+#endif
+
+        case sizeof(unsigned long):
+#ifdef HAVE_AS_MOVDIR
+            asm ( "movdiri %0, (%1)"
+                  :: "r" (*(unsigned long *)data), "r" (ptr) : "memory" );
+#else
+            /* movdiri %rsi, (%rdi) */
+            asm ( ".byte 0x48, 0x0f, 0x38, 0xf9, 0x37"
+                  :: "S" (*(unsigned long *)data), "D" (ptr) : "memory" );
+#endif
+            break;
+
+        case 64:
+            if ( ((unsigned long)ptr & 0x3f) )
+            {
+                ASSERT_UNREACHABLE();
+                return X86EMUL_UNHANDLEABLE;
+            }
+#ifdef HAVE_AS_MOVDIR
+            asm ( "movdir64b (%0), %1" :: "r" (data), "r" (ptr) : "memory" );
+#else
+            /* movdir64b (%rsi), %rdi */
+            asm ( ".byte 0x66, 0x0f, 0x38, 0xf8, 0x3e"
+                  :: "S" (data), "D" (ptr) : "memory" );
+#endif
+            break;
+
+        default:
+            ASSERT_UNREACHABLE();
+            return X86EMUL_UNHANDLEABLE;
+        }
+        break;
+
+    default:
+        ASSERT_UNREACHABLE();
+        return X86EMUL_UNHANDLEABLE;
+    }
+
+ done: __maybe_unused;
+    return rc;
+
+}
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -8342,371 +8342,6 @@ int x86_emul_rmw(
     return X86EMUL_OKAY;
 }
 
-int x86_emul_blk(
-    void *ptr,
-    void *data,
-    unsigned int bytes,
-    uint32_t *eflags,
-    struct x86_emulate_state *state,
-    struct x86_emulate_ctxt *ctxt)
-{
-    int rc = X86EMUL_OKAY;
-
-    switch ( state->blk )
-    {
-        bool zf;
-#ifndef X86EMUL_NO_FPU
-        struct {
-            struct x87_env32 env;
-            struct {
-               uint8_t bytes[10];
-            } freg[8];
-        } fpstate;
-#endif
-
-        /*
-         * Throughout this switch(), memory clobbers are used to compensate
-         * that other operands may not properly express the (full) memory
-         * ranges covered.
-         */
-    case blk_enqcmd:
-        ASSERT(bytes == 64);
-        if ( ((unsigned long)ptr & 0x3f) )
-        {
-            ASSERT_UNREACHABLE();
-            return X86EMUL_UNHANDLEABLE;
-        }
-        *eflags &= ~EFLAGS_MASK;
-#ifdef HAVE_AS_ENQCMD
-        asm ( "enqcmds (%[src]), %[dst]" ASM_FLAG_OUT(, "; setz %[zf]")
-              : [zf] ASM_FLAG_OUT("=@ccz", "=qm") (zf)
-              : [src] "r" (data), [dst] "r" (ptr) : "memory" );
-#else
-        /* enqcmds (%rsi), %rdi */
-        asm ( ".byte 0xf3, 0x0f, 0x38, 0xf8, 0x3e"
-              ASM_FLAG_OUT(, "; setz %[zf]")
-              : [zf] ASM_FLAG_OUT("=@ccz", "=qm") (zf)
-              : "S" (data), "D" (ptr) : "memory" );
-#endif
-        if ( zf )
-            *eflags |= X86_EFLAGS_ZF;
-        break;
-
-#ifndef X86EMUL_NO_FPU
-
-    case blk_fld:
-        ASSERT(!data);
-
-        /* state->rex_prefix carries CR0.PE && !EFLAGS.VM setting */
-        switch ( bytes )
-        {
-        case sizeof(fpstate.env): /* 32-bit FLDENV */
-        case sizeof(fpstate):     /* 32-bit FRSTOR */
-            memcpy(&fpstate.env, ptr, sizeof(fpstate.env));
-            if ( !state->rex_prefix )
-            {
-                /* Convert 32-bit real/vm86 to 32-bit prot format. */
-                unsigned int fip = fpstate.env.mode.real.fip_lo +
-                                   (fpstate.env.mode.real.fip_hi << 16);
-                unsigned int fdp = fpstate.env.mode.real.fdp_lo +
-                                   (fpstate.env.mode.real.fdp_hi << 16);
-                unsigned int fop = fpstate.env.mode.real.fop;
-
-                fpstate.env.mode.prot.fip = fip & 0xf;
-                fpstate.env.mode.prot.fcs = fip >> 4;
-                fpstate.env.mode.prot.fop = fop;
-                fpstate.env.mode.prot.fdp = fdp & 0xf;
-                fpstate.env.mode.prot.fds = fdp >> 4;
-            }
-
-            if ( bytes == sizeof(fpstate.env) )
-                ptr = NULL;
-            else
-                ptr += sizeof(fpstate.env);
-            break;
-
-        case sizeof(struct x87_env16):                        /* 16-bit FLDENV */
-        case sizeof(struct x87_env16) + sizeof(fpstate.freg): /* 16-bit FRSTOR */
-        {
-            const struct x87_env16 *env = ptr;
-
-            fpstate.env.fcw = env->fcw;
-            fpstate.env.fsw = env->fsw;
-            fpstate.env.ftw = env->ftw;
-
-            if ( state->rex_prefix )
-            {
-                /* Convert 16-bit prot to 32-bit prot format. */
-                fpstate.env.mode.prot.fip = env->mode.prot.fip;
-                fpstate.env.mode.prot.fcs = env->mode.prot.fcs;
-                fpstate.env.mode.prot.fdp = env->mode.prot.fdp;
-                fpstate.env.mode.prot.fds = env->mode.prot.fds;
-                fpstate.env.mode.prot.fop = 0; /* unknown */
-            }
-            else
-            {
-                /* Convert 16-bit real/vm86 to 32-bit prot format. */
-                unsigned int fip = env->mode.real.fip_lo +
-                                   (env->mode.real.fip_hi << 16);
-                unsigned int fdp = env->mode.real.fdp_lo +
-                                   (env->mode.real.fdp_hi << 16);
-                unsigned int fop = env->mode.real.fop;
-
-                fpstate.env.mode.prot.fip = fip & 0xf;
-                fpstate.env.mode.prot.fcs = fip >> 4;
-                fpstate.env.mode.prot.fop = fop;
-                fpstate.env.mode.prot.fdp = fdp & 0xf;
-                fpstate.env.mode.prot.fds = fdp >> 4;
-            }
-
-            if ( bytes == sizeof(*env) )
-                ptr = NULL;
-            else
-                ptr += sizeof(*env);
-            break;
-        }
-
-        default:
-            ASSERT_UNREACHABLE();
-            return X86EMUL_UNHANDLEABLE;
-        }
-
-        if ( ptr )
-        {
-            memcpy(fpstate.freg, ptr, sizeof(fpstate.freg));
-            asm volatile ( "frstor %0" :: "m" (fpstate) );
-        }
-        else
-            asm volatile ( "fldenv %0" :: "m" (fpstate.env) );
-        break;
-
-    case blk_fst:
-        ASSERT(!data);
-
-        /* Don't chance consuming uninitialized data. */
-        memset(&fpstate, 0, sizeof(fpstate));
-        if ( bytes > sizeof(fpstate.env) )
-            asm ( "fnsave %0" : "+m" (fpstate) );
-        else
-            asm ( "fnstenv %0" : "+m" (fpstate.env) );
-
-        /* state->rex_prefix carries CR0.PE && !EFLAGS.VM setting */
-        switch ( bytes )
-        {
-        case sizeof(fpstate.env): /* 32-bit FNSTENV */
-        case sizeof(fpstate):     /* 32-bit FNSAVE */
-            if ( !state->rex_prefix )
-            {
-                /* Convert 32-bit prot to 32-bit real/vm86 format. */
-                unsigned int fip = fpstate.env.mode.prot.fip +
-                                   (fpstate.env.mode.prot.fcs << 4);
-                unsigned int fdp = fpstate.env.mode.prot.fdp +
-                                   (fpstate.env.mode.prot.fds << 4);
-                unsigned int fop = fpstate.env.mode.prot.fop;
-
-                memset(&fpstate.env.mode, 0, sizeof(fpstate.env.mode));
-                fpstate.env.mode.real.fip_lo = fip;
-                fpstate.env.mode.real.fip_hi = fip >> 16;
-                fpstate.env.mode.real.fop = fop;
-                fpstate.env.mode.real.fdp_lo = fdp;
-                fpstate.env.mode.real.fdp_hi = fdp >> 16;
-            }
-            memcpy(ptr, &fpstate.env, sizeof(fpstate.env));
-            if ( bytes == sizeof(fpstate.env) )
-                ptr = NULL;
-            else
-                ptr += sizeof(fpstate.env);
-            break;
-
-        case sizeof(struct x87_env16):                        /* 16-bit FNSTENV */
-        case sizeof(struct x87_env16) + sizeof(fpstate.freg): /* 16-bit FNSAVE */
-            if ( state->rex_prefix )
-            {
-                /* Convert 32-bit prot to 16-bit prot format. */
-                struct x87_env16 *env = ptr;
-
-                env->fcw = fpstate.env.fcw;
-                env->fsw = fpstate.env.fsw;
-                env->ftw = fpstate.env.ftw;
-                env->mode.prot.fip = fpstate.env.mode.prot.fip;
-                env->mode.prot.fcs = fpstate.env.mode.prot.fcs;
-                env->mode.prot.fdp = fpstate.env.mode.prot.fdp;
-                env->mode.prot.fds = fpstate.env.mode.prot.fds;
-            }
-            else
-            {
-                /* Convert 32-bit prot to 16-bit real/vm86 format. */
-                unsigned int fip = fpstate.env.mode.prot.fip +
-                                   (fpstate.env.mode.prot.fcs << 4);
-                unsigned int fdp = fpstate.env.mode.prot.fdp +
-                                   (fpstate.env.mode.prot.fds << 4);
-                struct x87_env16 env = {
-                    .fcw = fpstate.env.fcw,
-                    .fsw = fpstate.env.fsw,
-                    .ftw = fpstate.env.ftw,
-                    .mode.real.fip_lo = fip,
-                    .mode.real.fip_hi = fip >> 16,
-                    .mode.real.fop = fpstate.env.mode.prot.fop,
-                    .mode.real.fdp_lo = fdp,
-                    .mode.real.fdp_hi = fdp >> 16
-                };
-
-                memcpy(ptr, &env, sizeof(env));
-            }
-            if ( bytes == sizeof(struct x87_env16) )
-                ptr = NULL;
-            else
-                ptr += sizeof(struct x87_env16);
-            break;
-
-        default:
-            ASSERT_UNREACHABLE();
-            return X86EMUL_UNHANDLEABLE;
-        }
-
-        if ( ptr )
-            memcpy(ptr, fpstate.freg, sizeof(fpstate.freg));
-        break;
-
-#endif /* X86EMUL_NO_FPU */
-
-#if !defined(X86EMUL_NO_FPU) || !defined(X86EMUL_NO_MMX) || \
-    !defined(X86EMUL_NO_SIMD)
-
-    case blk_fxrstor:
-    {
-        struct x86_fxsr *fxsr = FXSAVE_AREA;
-
-        ASSERT(!data);
-        ASSERT(bytes == sizeof(*fxsr));
-        ASSERT(state->op_bytes <= bytes);
-
-        if ( state->op_bytes < sizeof(*fxsr) )
-        {
-            if ( state->rex_prefix & REX_W )
-            {
-                /*
-                 * The only way to force fxsaveq on a wide range of gas
-                 * versions. On older versions the rex64 prefix works only if
-                 * we force an addressing mode that doesn't require extended
-                 * registers.
-                 */
-                asm volatile ( ".byte 0x48; fxsave (%1)"
-                               : "=m" (*fxsr) : "R" (fxsr) );
-            }
-            else
-                asm volatile ( "fxsave %0" : "=m" (*fxsr) );
-        }
-
-        /*
-         * Don't chance the reserved or available ranges to contain any
-         * data FXRSTOR may actually consume in some way: Copy only the
-         * defined portion, and zero the rest.
-         */
-        memcpy(fxsr, ptr, min(state->op_bytes,
-                              (unsigned int)offsetof(struct x86_fxsr, rsvd)));
-        memset(fxsr->rsvd, 0, sizeof(*fxsr) - offsetof(struct x86_fxsr, rsvd));
-
-        generate_exception_if(fxsr->mxcsr & ~mxcsr_mask, EXC_GP, 0);
-
-        if ( state->rex_prefix & REX_W )
-        {
-            /* See above for why operand/constraints are this way. */
-            asm volatile ( ".byte 0x48; fxrstor (%1)"
-                           :: "m" (*fxsr), "R" (fxsr) );
-        }
-        else
-            asm volatile ( "fxrstor %0" :: "m" (*fxsr) );
-        break;
-    }
-
-    case blk_fxsave:
-    {
-        struct x86_fxsr *fxsr = FXSAVE_AREA;
-
-        ASSERT(!data);
-        ASSERT(bytes == sizeof(*fxsr));
-        ASSERT(state->op_bytes <= bytes);
-
-        if ( state->op_bytes < sizeof(*fxsr) )
-            /* Don't chance consuming uninitialized data. */
-            memset(fxsr, 0, state->op_bytes);
-        else
-            fxsr = ptr;
-
-        if ( state->rex_prefix & REX_W )
-        {
-            /* See above for why operand/constraints are this way. */
-            asm volatile ( ".byte 0x48; fxsave (%1)"
-                           : "=m" (*fxsr) : "R" (fxsr) );
-        }
-        else
-            asm volatile ( "fxsave %0" : "=m" (*fxsr) );
-
-        if ( fxsr != ptr ) /* i.e. state->op_bytes < sizeof(*fxsr) */
-            memcpy(ptr, fxsr, state->op_bytes);
-        break;
-    }
-
-#endif /* X86EMUL_NO_{FPU,MMX,SIMD} */
-
-    case blk_movdir:
-        switch ( bytes )
-        {
-#ifdef __x86_64__
-        case sizeof(uint32_t):
-# ifdef HAVE_AS_MOVDIR
-            asm ( "movdiri %0, (%1)"
-                  :: "r" (*(uint32_t *)data), "r" (ptr) : "memory" );
-# else
-            /* movdiri %esi, (%rdi) */
-            asm ( ".byte 0x0f, 0x38, 0xf9, 0x37"
-                  :: "S" (*(uint32_t *)data), "D" (ptr) : "memory" );
-# endif
-            break;
-#endif
-
-        case sizeof(unsigned long):
-#ifdef HAVE_AS_MOVDIR
-            asm ( "movdiri %0, (%1)"
-                  :: "r" (*(unsigned long *)data), "r" (ptr) : "memory" );
-#else
-            /* movdiri %rsi, (%rdi) */
-            asm ( ".byte 0x48, 0x0f, 0x38, 0xf9, 0x37"
-                  :: "S" (*(unsigned long *)data), "D" (ptr) : "memory" );
-#endif
-            break;
-
-        case 64:
-            if ( ((unsigned long)ptr & 0x3f) )
-            {
-                ASSERT_UNREACHABLE();
-                return X86EMUL_UNHANDLEABLE;
-            }
-#ifdef HAVE_AS_MOVDIR
-            asm ( "movdir64b (%0), %1" :: "r" (data), "r" (ptr) : "memory" );
-#else
-            /* movdir64b (%rsi), %rdi */
-            asm ( ".byte 0x66, 0x0f, 0x38, 0xf8, 0x3e"
-                  :: "S" (data), "D" (ptr) : "memory" );
-#endif
-            break;
-
-        default:
-            ASSERT_UNREACHABLE();
-            return X86EMUL_UNHANDLEABLE;
-        }
-        break;
-
-    default:
-        ASSERT_UNREACHABLE();
-        return X86EMUL_UNHANDLEABLE;
-    }
-
- done:
-    return rc;
-}
-
 static void __init __maybe_unused build_assertions(void)
 {
     /* Check the values against SReg3 encoding in opcode/ModRM bytes. */



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 12:25:42 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 12:25:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166015.303195 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDnIj-0001Mi-V0; Wed, 11 Aug 2021 12:25:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166015.303195; Wed, 11 Aug 2021 12: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 1mDnIj-0001MZ-Rf; Wed, 11 Aug 2021 12:25:41 +0000
Received: by outflank-mailman (input) for mailman id 166015;
 Wed, 11 Aug 2021 12:25:40 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fjOV=NC=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mDnIi-0001MJ-H0
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 12:25:40 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 3b573b6e-fa9f-11eb-a06e-12813bfff9fa;
 Wed, 11 Aug 2021 12:25:37 +0000 (UTC)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2110.outbound.protection.outlook.com [104.47.18.110])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-21-jsf7zT2MPLaK2ijKyaY8EA-1; Wed, 11 Aug 2021 14:25:35 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0401MB2335.eurprd04.prod.outlook.com (2603:10a6:800:2e::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.17; Wed, 11 Aug
 2021 12:25:34 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4394.025; Wed, 11 Aug 2021
 12:25:34 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0147.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1b::15) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.13 via Frontend Transport; Wed, 11 Aug 2021 12:25: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: 3b573b6e-fa9f-11eb-a06e-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628684736;
	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=61nzHG3t05KhKcSaMocj8vKTFGtTFK0LBUFu1Mp+C7o=;
	b=k1RNEqGgj6OMKEIWvZg+rbRgSaPJQ9dLkhs2+sy6Dhv5+WyUFrvHg0rHnoSXOGhwfyIwSX
	+T3tbtqAwJk2mzA4mw6IX/pwUv9gDYP2uVUp2qAqMhIcsCUFSkDQXju3KGnaPL98elCZOV
	sqGBWjUEKuHRnB5OEBV2ptF+UTmLwlM=
X-MC-Unique: jsf7zT2MPLaK2ijKyaY8EA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LdN8C3k0yr5dcb4RXpl5BevPqL5d5F8GHLu3QPgQn1hI9GJv+l4QEj6DOqmiIEb53dyBsGHtMuwwykHZQQC6UDRbzYn8eYO1gO9XDZ527MBjUHovd2UE8M6+cvuG+ochwyLRz1G59hVAmBMrl0hqvCDmpoHayGC7Tgx5UWETNbWd/2ErcUy0Uo4LYaVEF1Lg1ucrFTJOdZJlN23a47mWTwLlCiqRb1JaUu2rntDHlsIkwFFbX1/+lK+YQ4RIvabxXPPSBikpcyk5DNe9o5a9IgeyFjwiZ7iE6ic6aCgyji4eE+6QqUv5SqbB2QapX8ybt4nU2dTgCz3587SjNfoXrg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=61nzHG3t05KhKcSaMocj8vKTFGtTFK0LBUFu1Mp+C7o=;
 b=V/87wLPEhb33gnRGlAjbiVHaLX1maSZ6RYxJ+7q+0SH2c5HLcM06qUKd5+9vMGY+GVbYFdOrsq+9YkTpy1OcSqLL3JZKcE892hTkqE5wbsy59ercDlf3djduc+SLCDIjuf5wThVIcj5HCaQlz9Ao/y9/uTnCCS3jedBu7bKDVoupl46JkYxUIj9kMNtezqyyyFtxyaXBgz87zO/rZN9HdFnZm2YnK0LXobK1KVE+s60amZV6XNlyipdSsxJyINv34CgHpF396S3sAfRzAPuLcbnNZhghFbMzztxfQB4Oj5cf2SoPCaA6LuG2UNE7O1m8z65hUkQzntRJFt0mkxMKuQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: citrix.com; dkim=none (message not signed)
 header.d=none;citrix.com; dmarc=none action=none header.from=suse.com;
Subject: [PATCH 7/7] x86emul: move various utility functions to separate
 source files
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <bdc58964-e2a8-af36-1653-41c7146bdfc9@suse.com>
Message-ID: <ea88cf39-01cf-a2a9-3ec2-62a3614d3cd3@suse.com>
Date: Wed, 11 Aug 2021 14:25:32 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <bdc58964-e2a8-af36-1653-41c7146bdfc9@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0147.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1b::15) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: dd90436e-ef31-44a8-f014-08d95cc31dca
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2335:
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB23356CD16F769B7D327BF6CAB3F89@VI1PR0401MB2335.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:3276;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	vFBl5dUaz+o3sgzMbQ05UP323dsAOIp2cKHjNSDscFQobl8kKDD5l0xrC855tzKYNMbdBjYbS6j04mqmorIQVHNsE5KqN4qxdbvRSuG/lCZbnOxgNP+14uX1jqBrBl11k6igfasdoBsy+wtLrdep1hdSQDzIHSgC4dd3Dt9pLhvyl8RdJLeYm0OrNbSfqec1WqRwyI9+wUWNscahQlF7i43pkyZcmRjbx/4tr5b4gTGpeJzSO6aVL2xRFaZXrkMuS2EzwSC18Aok4JcDIAb/Qh/H3boXlJEyAqazR4okQ8Af37+Fiy731mPtVi8zJlrS1rt73Cm4Q8fwfzh42ryxcIoJPmL0AhTVUYB7hAenpztNIE/ODKnoDpqAcLA+IvWD3m8xUQ1HL7pOdDB59nWR+L6N8x+qYqWXaODoH4Q4WulsNHp4IvuIGHe5Uhv69JD9JGjLPNbDrFaVReCqHEBagb/vcR41KzeVmgRSNHC8SbtWGIfQ0lF0egpYCh5O6/zuMcl5T3mqmveb/itiYbBTScNyYAcjyFu0FwBwLzON7jqfkoLBQiRZaXesCoOJTkMtVOOWz0/4HH/fljG05TvexX3snKTaFK8z8CSDwpusp7mJbr2bPnwFT/aB+1J7nLw40pAJFBaTgCZ5NSjUlGo+gxMUvyS+RMmNyc9cilKkgwtm8Srpx7XSQhpqo0NAVAr055VculXEpxYW2PW7tiT5lTHbutTNM25tOPmQJQztPGfz5cI6blLNxwSd5EvaV1eY7bA5LKdSM29rybQODJq7Tw6VZpnnRJKLe6klq0Mmu2TZbrJEI6ndE929FZr4JWYeUW7meOoZ73oAZ0XkSf0wCg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(396003)(39860400002)(366004)(346002)(376002)(6916009)(31696002)(316002)(956004)(6486002)(2906002)(36756003)(478600001)(30864003)(86362001)(16576012)(8676002)(31686004)(8936002)(38100700002)(2616005)(66556008)(83380400001)(186003)(66476007)(66946007)(5660300002)(26005)(54906003)(66574015)(4326008)(2004002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?THIrUExPTjZnMmczS0xRemg4R3pVdFBVc2pROTFnaGU3ampocE9tRGRBWjNC?=
 =?utf-8?B?b1JTSzlmSmZJZUs0T21aOVFYU0Y1STJ5MExMTFE3NTlselhSUHRxZmc0cTlh?=
 =?utf-8?B?V2hqTzhJam5VTzBIMXNtYXJUSnhWM1JsM1ZSUFRCZlUxdzFKcTFzTGdqTVE5?=
 =?utf-8?B?Y3Zzb3NUQUJPUWFxSWVWSUFlLyt5TmZtYWt0alg1VFhkMnJsQlhCZzc4NFNJ?=
 =?utf-8?B?VlE5Vi9zc3NMVjZFUFkzQWtQK01nb053QUxuR1FPZUVsL2VCUnQrMHVJVnRD?=
 =?utf-8?B?b3ZGdlVkV0t2dFdEUmxOSllXSVoxVW1VcndudDRxVDNwWUJsNWwrc1pnZStC?=
 =?utf-8?B?bFgrUXRHUTUrM0FhS0s4RkQyRWF1blNXT2xvaUU3ajk3TWl4NVdmM0VhNUhS?=
 =?utf-8?B?NWhDRWRBTEpnUGZsMUI2NGFxSTZmOW5kbFQxMERqemNNdVE3SHd2Nzc1Slgr?=
 =?utf-8?B?NmViTWxEd3dSTU1oekZmNnFneXQ5bWxQLzZmODBHazAwWXVjMGJLVEMrTlhS?=
 =?utf-8?B?ZWRBNSs1MHZMNGVIdUFlSWVIOWhETnVDMG50dUFvMWhkZ2lPdTVQV01jT0U4?=
 =?utf-8?B?cVpxMTlwYS9uL3NNOWUyQ3Brb2JsQ29qY3o0c3pHRUVJVGJwL1IxcC9LUDd0?=
 =?utf-8?B?TEJSQ3JLZWEwcE5ubkwxWHZXRTUrcHM0VS92Vi9udUNHRmxIK3p1WEQ4a3NL?=
 =?utf-8?B?NlJucG1Sb1hwKzJQN2ZpdEJOZHFJcktKM3hBT00zWkNWelVxWjc2cmJaMHN0?=
 =?utf-8?B?T01qYXhlRnFoY3hxeHFHeW93RVVhdExoS1JUczVwVGVSeUtQNFo3Tjl3STg1?=
 =?utf-8?B?YUpsaTZsdHpsUWlDU1E0dDZmeTlHblNISE03WUt2RVhBV25vYysyNk53QzJy?=
 =?utf-8?B?WXdrUjlWR2JRTzFCb2I1em9uOFk3QldKa1JQa3dFckNMdFZ5MER5cUJRRlNn?=
 =?utf-8?B?TXM4Q2c2V3pna3pxQ3ljOTlKK01yK1ZwcHZxWmNXc1JoRXZUZjBXTHRicE5Q?=
 =?utf-8?B?YUplRUJUMWphcVF3YkpxMXNoQTBmYVdHK0RFeTBDQTdpUU50VUh4U1ZNc1do?=
 =?utf-8?B?YzVMSEJBeUNENUNNenhLbXUwTGdtTDc5M2lBaVJxQ3BnMjRSNmpIcStmSjlh?=
 =?utf-8?B?OWMxYys5WGxWbVNYcDlLT0hmTnBDSWRtMjB2SmRTcHpsRS9nRWRuVXJSRjZp?=
 =?utf-8?B?YzBvcHZwQm5zUDlDMHluVk94amFzWnkyeHdiL3d3Q3BXTGNWREZaV1pZM095?=
 =?utf-8?B?S3kzekw4Q3FPNTg1ZHI1aXQyZTJQU2FzNTNiK3RoWTJaMEdQcXdYUVFsVVV4?=
 =?utf-8?B?Z0pWMEhQUkpQMG8xZDQ1VVl3VmtOaHYvRlU3em1lV1BtaU9wVU5hMWhUUENt?=
 =?utf-8?B?K2RVbXUyT01ZTUR3SWJjZm9FNHl1YjlxQkpLNVFrS3FWREtEbFBaOFFUKzFr?=
 =?utf-8?B?QVlTbE5yY0drS2NXRXRxcGVPQ3pVUVhlTGhIRm1GZERlZDA4RXVuMXNZV1FV?=
 =?utf-8?B?ZThSczlialZZSVc1NVpuUldyV1RRbERyRWxpTXlFRjNRdzY5YkJvdWpMeXpB?=
 =?utf-8?B?OStIOUQxQTZYekI0eFlpalN6dHNMRnVDbEN3VFJHRWdvek5MUlZLaFdHdlVo?=
 =?utf-8?B?bXlsMi84R3NWcm04citLSDE3ZTFXL2VSWWVLeEh1RStyMXAyTzU1cFNTYW1O?=
 =?utf-8?B?Z2NmQ0t3eGdReWZaeHVCSDJPbi90cUhtQzAxQW4vdGhpS0xscXQ4bis4dGN3?=
 =?utf-8?Q?BxuaP6PH5biV20wBcNU3+709hzM4hMPI5cTa0Fa?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dd90436e-ef31-44a8-f014-08d95cc31dca
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 12:25:33.9292
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: P9HlXbiA7mDhA9xz4MZajks/5MajZe/RTIV/paer+BZOdkURVyc2XYzFbzvhzqqXojDMjD1VCa0ag2n1cLpRWQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2335

Many are needed by the hypervisor only - have one file for this purpose.
Some are also needed by the harness (but not the fuzzer) - have another
file for these.

Code moved gets slightly adjusted in a few places, e.g. replacing
"state" by "s" (like was done for other that has been split off).

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

--- a/tools/tests/x86_emulator/Makefile
+++ b/tools/tests/x86_emulator/Makefile
@@ -252,7 +252,7 @@ endif # 32-bit override
 
 OBJS := x86-emulate.o cpuid.o test_x86_emulator.o evex-disp8.o predicates.o wrappers.o
 OBJS += x86_emulate/0f01.o x86_emulate/0fae.o x86_emulate/0fc7.o
-OBJS += x86_emulate/blk.o x86_emulate/decode.o x86_emulate/fpu.o
+OBJS += x86_emulate/blk.o x86_emulate/decode.o x86_emulate/fpu.o x86_emulate/util.o
 
 $(TARGET): $(OBJS)
 	$(HOSTCC) $(HOSTCFLAGS) -o $@ $^
--- a/xen/arch/x86/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate.c
@@ -14,7 +14,6 @@
 #include <asm/processor.h> /* current_cpu_info */
 #include <asm/xstate.h>
 #include <asm/amd.h> /* cpu_has_amd_erratum() */
-#include <asm/debugreg.h>
 
 /* Avoid namespace pollution. */
 #undef cmpxchg
@@ -26,128 +25,6 @@
 
 #include "x86_emulate/x86_emulate.c"
 
-int x86emul_read_xcr(unsigned int reg, uint64_t *val,
-                     struct x86_emulate_ctxt *ctxt)
-{
-    switch ( reg )
-    {
-    case 0:
-        *val = current->arch.xcr0;
-        return X86EMUL_OKAY;
-
-    case 1:
-        if ( current->domain->arch.cpuid->xstate.xgetbv1 )
-            break;
-        /* fall through */
-    default:
-        x86_emul_hw_exception(TRAP_gp_fault, 0, ctxt);
-        return X86EMUL_EXCEPTION;
-    }
-
-    *val = xgetbv(reg);
-
-    return X86EMUL_OKAY;
-}
-
-/* Note: May be called with ctxt=NULL. */
-int x86emul_write_xcr(unsigned int reg, uint64_t val,
-                      struct x86_emulate_ctxt *ctxt)
-{
-    switch ( reg )
-    {
-    case 0:
-        break;
-
-    default:
-    gp_fault:
-        if ( ctxt )
-            x86_emul_hw_exception(TRAP_gp_fault, 0, ctxt);
-        return X86EMUL_EXCEPTION;
-    }
-
-    if ( unlikely(handle_xsetbv(reg, val) != 0) )
-        goto gp_fault;
-
-    return X86EMUL_OKAY;
-}
-
-#ifdef CONFIG_PV
-/* Called with NULL ctxt in hypercall context. */
-int x86emul_read_dr(unsigned int reg, unsigned long *val,
-                    struct x86_emulate_ctxt *ctxt)
-{
-    struct vcpu *curr = current;
-
-    /* HVM support requires a bit more plumbing before it will work. */
-    ASSERT(is_pv_vcpu(curr));
-
-    switch ( reg )
-    {
-    case 0 ... 3:
-        *val = array_access_nospec(curr->arch.dr, reg);
-        break;
-
-    case 4:
-        if ( curr->arch.pv.ctrlreg[4] & X86_CR4_DE )
-            goto ud_fault;
-
-        /* Fallthrough */
-    case 6:
-        *val = curr->arch.dr6;
-        break;
-
-    case 5:
-        if ( curr->arch.pv.ctrlreg[4] & X86_CR4_DE )
-            goto ud_fault;
-
-        /* Fallthrough */
-    case 7:
-        *val = curr->arch.dr7 | curr->arch.pv.dr7_emul;
-        break;
-
-    ud_fault:
-    default:
-        if ( ctxt )
-            x86_emul_hw_exception(TRAP_invalid_op, X86_EVENT_NO_EC, ctxt);
-
-        return X86EMUL_EXCEPTION;
-    }
-
-    return X86EMUL_OKAY;
-}
-
-int x86emul_write_dr(unsigned int reg, unsigned long val,
-                     struct x86_emulate_ctxt *ctxt)
-{
-    struct vcpu *curr = current;
-
-    /* HVM support requires a bit more plumbing before it will work. */
-    ASSERT(is_pv_vcpu(curr));
-
-    switch ( set_debugreg(curr, reg, val) )
-    {
-    case 0:
-        return X86EMUL_OKAY;
-
-    case -ENODEV:
-        x86_emul_hw_exception(TRAP_invalid_op, X86_EVENT_NO_EC, ctxt);
-        return X86EMUL_EXCEPTION;
-
-    default:
-        x86_emul_hw_exception(TRAP_gp_fault, 0, ctxt);
-        return X86EMUL_EXCEPTION;
-    }
-}
-#endif /* CONFIG_PV */
-
-int x86emul_cpuid(uint32_t leaf, uint32_t subleaf,
-                  struct cpuid_leaf *res, struct x86_emulate_ctxt *ctxt)
-{
-    guest_cpuid(current, leaf, subleaf, res);
-
-    return X86EMUL_OKAY;
-}
-
 /*
  * Local variables:
  * mode: C
--- a/xen/arch/x86/x86_emulate/Makefile
+++ b/xen/arch/x86/x86_emulate/Makefile
@@ -4,3 +4,5 @@ obj-y += 0fc7.o
 obj-y += blk.o
 obj-y += decode.o
 obj-$(CONFIG_HVM) += fpu.o
+obj-y += util.o
+obj-y += util-xen.o
--- a/xen/arch/x86/x86_emulate/private.h
+++ b/xen/arch/x86/x86_emulate/private.h
@@ -330,6 +330,13 @@ struct x86_emulate_state {
 #endif
 };
 
+static inline void check_state(const struct x86_emulate_state *s)
+{
+#if defined(__XEN__) && !defined(NDEBUG)
+    ASSERT(s->caller);
+#endif
+}
+
 typedef union {
     uint64_t mmx;
     uint64_t __attribute__ ((aligned(16))) xmm[2];
--- /dev/null
+++ b/xen/arch/x86/x86_emulate/util.c
@@ -0,0 +1,298 @@
+/******************************************************************************
+ * util.c
+ *
+ * Generic x86 (32-bit and 64-bit) instruction decoder and emulator 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/>.
+ */
+
+#include "private.h"
+
+unsigned int x86_insn_length(const struct x86_emulate_state *s,
+                             const struct x86_emulate_ctxt *ctxt)
+{
+    check_state(s);
+
+    return s->ip - ctxt->regs->r(ip);
+}
+
+/*
+ * This function means to return 'true' for all supported insns with explicit
+ * accesses to memory.  This means also insns which don't have an explicit
+ * memory operand (like POP), but it does not mean e.g. segment selector
+ * loads, where the descriptor table access is considered an implicit one.
+ */
+bool x86_insn_is_mem_access(const struct x86_emulate_state *s,
+                            const struct x86_emulate_ctxt *ctxt)
+{
+    if ( mode_64bit() && s->not_64bit )
+        return false;
+
+    if ( s->ea.type == OP_MEM )
+    {
+        switch ( ctxt->opcode )
+        {
+        case 0x8d: /* LEA */
+        case X86EMUL_OPC(0x0f, 0x0d): /* PREFETCH */
+        case X86EMUL_OPC(0x0f, 0x18)
+         ... X86EMUL_OPC(0x0f, 0x1f): /* NOP space */
+        case X86EMUL_OPC_66(0x0f, 0x18)
+         ... X86EMUL_OPC_66(0x0f, 0x1f): /* NOP space */
+        case X86EMUL_OPC_F3(0x0f, 0x18)
+         ... X86EMUL_OPC_F3(0x0f, 0x1f): /* NOP space */
+        case X86EMUL_OPC_F2(0x0f, 0x18)
+         ... X86EMUL_OPC_F2(0x0f, 0x1f): /* NOP space */
+        case X86EMUL_OPC(0x0f, 0xb9): /* UD1 */
+        case X86EMUL_OPC(0x0f, 0xff): /* UD0 */
+        case X86EMUL_OPC_EVEX_66(0x0f38, 0xc6): /* V{GATH,SCATT}ERPF*D* */
+        case X86EMUL_OPC_EVEX_66(0x0f38, 0xc7): /* V{GATH,SCATT}ERPF*Q* */
+            return false;
+
+        case X86EMUL_OPC(0x0f, 0x01):
+            return (s->modrm_reg & 7) != 7; /* INVLPG */
+
+        case X86EMUL_OPC(0x0f, 0xae):
+            return (s->modrm_reg & 7) != 7; /* CLFLUSH */
+
+        case X86EMUL_OPC_66(0x0f, 0xae):
+            return (s->modrm_reg & 7) < 6; /* CLWB, CLFLUSHOPT */
+        }
+
+        return true;
+    }
+
+    switch ( ctxt->opcode )
+    {
+    case 0x06 ... 0x07:                  /* PUSH / POP %es */
+    case 0x0e:                           /* PUSH %cs */
+    case 0x16 ... 0x17:                  /* PUSH / POP %ss */
+    case 0x1e ... 0x1f:                  /* PUSH / POP %ds */
+    case 0x50 ... 0x5f:                  /* PUSH / POP reg */
+    case 0x60 ... 0x61:                  /* PUSHA / POPA */
+    case 0x68: case 0x6a:                /* PUSH imm */
+    case 0x6c ... 0x6f:                  /* INS / OUTS */
+    case 0x8f:                           /* POP r/m */
+    case 0x9a:                           /* CALL (far, direct) */
+    case 0x9c ... 0x9d:                  /* PUSHF / POPF */
+    case 0xa4 ... 0xa7:                  /* MOVS / CMPS */
+    case 0xaa ... 0xaf:                  /* STOS / LODS / SCAS */
+    case 0xc2 ... 0xc3:                  /* RET (near) */
+    case 0xc8 ... 0xc9:                  /* ENTER / LEAVE */
+    case 0xca ... 0xcb:                  /* RET (far) */
+    case 0xd7:                           /* XLAT */
+    case 0xe8:                           /* CALL (near, direct) */
+    case X86EMUL_OPC(0x0f, 0xa0):        /* PUSH %fs */
+    case X86EMUL_OPC(0x0f, 0xa1):        /* POP %fs */
+    case X86EMUL_OPC(0x0f, 0xa8):        /* PUSH %gs */
+    case X86EMUL_OPC(0x0f, 0xa9):        /* POP %gs */
+    case X86EMUL_OPC(0x0f, 0xf7):        /* MASKMOVQ */
+    case X86EMUL_OPC_66(0x0f, 0xf7):     /* MASKMOVDQU */
+    case X86EMUL_OPC_VEX_66(0x0f, 0xf7): /* VMASKMOVDQU */
+        return true;
+
+    case 0xff:
+        switch ( s->modrm_reg & 7 )
+        {
+        case 2: /* CALL (near, indirect) */
+        case 6: /* PUSH r/m */
+            return true;
+        }
+        break;
+
+    case X86EMUL_OPC(0x0f, 0x01):
+        /* Cover CLZERO. */
+        return (s->modrm_rm & 7) == 4 && (s->modrm_reg & 7) == 7;
+    }
+
+    return false;
+}
+
+/*
+ * This function means to return 'true' for all supported insns with explicit
+ * writes to memory.  This means also insns which don't have an explicit
+ * memory operand (like PUSH), but it does not mean e.g. segment selector
+ * loads, where the (possible) descriptor table write is considered an
+ * implicit access.
+ */
+bool x86_insn_is_mem_write(const struct x86_emulate_state *s,
+                           const struct x86_emulate_ctxt *ctxt)
+{
+    if ( mode_64bit() && s->not_64bit )
+        return false;
+
+    switch ( s->desc & DstMask )
+    {
+    case DstMem:
+        /* The SrcMem check is to cover {,V}MASKMOV{Q,DQU}. */
+        return s->modrm_mod != 3 || (s->desc & SrcMask) == SrcMem;
+
+    case DstBitBase:
+    case DstImplicit:
+        break;
+
+    default:
+        switch ( ctxt->opcode )
+        {
+        case 0x63:                         /* ARPL */
+            return !mode_64bit();
+
+        case X86EMUL_OPC_66(0x0f38, 0xf8): /* MOVDIR64B */
+        case X86EMUL_OPC_F2(0x0f38, 0xf8): /* ENQCMD */
+        case X86EMUL_OPC_F3(0x0f38, 0xf8): /* ENQCMDS */
+            return true;
+
+        case X86EMUL_OPC_EVEX_F3(0x0f38, 0x10) ...
+             X86EMUL_OPC_EVEX_F3(0x0f38, 0x15): /* VPMOVUS* */
+        case X86EMUL_OPC_EVEX_F3(0x0f38, 0x20) ...
+             X86EMUL_OPC_EVEX_F3(0x0f38, 0x25): /* VPMOVS* */
+        case X86EMUL_OPC_EVEX_F3(0x0f38, 0x30) ...
+             X86EMUL_OPC_EVEX_F3(0x0f38, 0x35): /* VPMOV{D,Q,W}* */
+            return s->modrm_mod != 3;
+        }
+
+        return false;
+    }
+
+    if ( s->modrm_mod == 3 )
+    {
+        switch ( ctxt->opcode )
+        {
+        case 0xff: /* Grp5 */
+            break;
+
+        case X86EMUL_OPC(0x0f, 0x01): /* CLZERO is the odd one. */
+            return (s->modrm_rm & 7) == 4 && (s->modrm_reg & 7) == 7;
+
+        default:
+            return false;
+        }
+    }
+
+    switch ( ctxt->opcode )
+    {
+    case 0x06:                           /* PUSH %es */
+    case 0x0e:                           /* PUSH %cs */
+    case 0x16:                           /* PUSH %ss */
+    case 0x1e:                           /* PUSH %ds */
+    case 0x50 ... 0x57:                  /* PUSH reg */
+    case 0x60:                           /* PUSHA */
+    case 0x68: case 0x6a:                /* PUSH imm */
+    case 0x6c: case 0x6d:                /* INS */
+    case 0x9a:                           /* CALL (far, direct) */
+    case 0x9c:                           /* PUSHF */
+    case 0xa4: case 0xa5:                /* MOVS */
+    case 0xaa: case 0xab:                /* STOS */
+    case 0xc8:                           /* ENTER */
+    case 0xe8:                           /* CALL (near, direct) */
+    case X86EMUL_OPC(0x0f, 0xa0):        /* PUSH %fs */
+    case X86EMUL_OPC(0x0f, 0xa8):        /* PUSH %gs */
+    case X86EMUL_OPC(0x0f, 0xab):        /* BTS */
+    case X86EMUL_OPC(0x0f, 0xb3):        /* BTR */
+    case X86EMUL_OPC(0x0f, 0xbb):        /* BTC */
+        return true;
+
+    case 0xd9:
+        switch ( s->modrm_reg & 7 )
+        {
+        case 2: /* FST m32fp */
+        case 3: /* FSTP m32fp */
+        case 6: /* FNSTENV */
+        case 7: /* FNSTCW */
+            return true;
+        }
+        break;
+
+    case 0xdb:
+        switch ( s->modrm_reg & 7 )
+        {
+        case 1: /* FISTTP m32i */
+        case 2: /* FIST m32i */
+        case 3: /* FISTP m32i */
+        case 7: /* FSTP m80fp */
+            return true;
+        }
+        break;
+
+    case 0xdd:
+        switch ( s->modrm_reg & 7 )
+        {
+        case 1: /* FISTTP m64i */
+        case 2: /* FST m64fp */
+        case 3: /* FSTP m64fp */
+        case 6: /* FNSAVE */
+        case 7: /* FNSTSW */
+            return true;
+        }
+        break;
+
+    case 0xdf:
+        switch ( s->modrm_reg & 7 )
+        {
+        case 1: /* FISTTP m16i */
+        case 2: /* FIST m16i */
+        case 3: /* FISTP m16i */
+        case 6: /* FBSTP */
+        case 7: /* FISTP m64i */
+            return true;
+        }
+        break;
+
+    case 0xff:
+        switch ( s->modrm_reg & 7 )
+        {
+        case 2: /* CALL (near, indirect) */
+        case 3: /* CALL (far, indirect) */
+        case 6: /* PUSH r/m */
+            return true;
+        }
+        break;
+
+    case X86EMUL_OPC(0x0f, 0x01):
+        switch ( s->modrm_reg & 7 )
+        {
+        case 0: /* SGDT */
+        case 1: /* SIDT */
+        case 4: /* SMSW */
+            return true;
+        }
+        break;
+
+    case X86EMUL_OPC(0x0f, 0xae):
+        switch ( s->modrm_reg & 7 )
+        {
+        case 0: /* FXSAVE */
+        /* case 3: STMXCSR - handled above */
+        case 4: /* XSAVE */
+        case 6: /* XSAVEOPT */
+            return true;
+        }
+        break;
+
+    case X86EMUL_OPC(0x0f, 0xba):
+        return (s->modrm_reg & 7) > 4; /* BTS / BTR / BTC */
+
+    case X86EMUL_OPC(0x0f, 0xc7):
+        switch ( s->modrm_reg & 7 )
+        {
+        case 1: /* CMPXCHG{8,16}B */
+        case 4: /* XSAVEC */
+        case 5: /* XSAVES */
+            return true;
+        }
+        break;
+    }
+
+    return false;
+}
--- /dev/null
+++ b/xen/arch/x86/x86_emulate/util-xen.c
@@ -0,0 +1,249 @@
+/******************************************************************************
+ * util-xen.c
+ *
+ * Generic x86 (32-bit and 64-bit) instruction decoder and emulator hypervisor-
+ * only 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/>.
+ */
+
+#include "private.h"
+
+#include <xen/nospec.h>
+#include <xen/sched.h>
+#include <asm/debugreg.h>
+#include <asm/xstate.h>
+
+#ifndef NDEBUG
+void x86_emulate_free_state(struct x86_emulate_state *s)
+{
+    check_state(s);
+    s->caller = NULL;
+}
+#endif
+
+unsigned int x86_insn_opsize(const struct x86_emulate_state *s)
+{
+    check_state(s);
+
+    return s->op_bytes << 3;
+}
+
+int x86_insn_modrm(const struct x86_emulate_state *s,
+                   unsigned int *rm, unsigned int *reg)
+{
+    check_state(s);
+
+    if ( unlikely(s->modrm_mod > 3) )
+    {
+        if ( rm )
+            *rm = ~0U;
+        if ( reg )
+            *reg = ~0U;
+        return -EINVAL;
+    }
+
+    if ( rm )
+        *rm = s->modrm_rm;
+    if ( reg )
+        *reg = s->modrm_reg;
+
+    return s->modrm_mod;
+}
+
+unsigned long x86_insn_operand_ea(const struct x86_emulate_state *s,
+                                  enum x86_segment *seg)
+{
+    *seg = s->ea.type == OP_MEM ? s->ea.mem.seg : x86_seg_none;
+
+    check_state(s);
+
+    return s->ea.mem.off;
+}
+
+bool x86_insn_is_portio(const struct x86_emulate_state *s,
+                        const struct x86_emulate_ctxt *ctxt)
+{
+    switch ( ctxt->opcode )
+    {
+    case 0x6c ... 0x6f: /* INS / OUTS */
+    case 0xe4 ... 0xe7: /* IN / OUT imm8 */
+    case 0xec ... 0xef: /* IN / OUT %dx */
+        return true;
+    }
+
+    return false;
+}
+
+bool x86_insn_is_cr_access(const struct x86_emulate_state *s,
+                           const struct x86_emulate_ctxt *ctxt)
+{
+    switch ( ctxt->opcode )
+    {
+        unsigned int ext;
+
+    case X86EMUL_OPC(0x0f, 0x01):
+        if ( x86_insn_modrm(s, NULL, &ext) >= 0
+             && (ext & 5) == 4 ) /* SMSW / LMSW */
+            return true;
+        break;
+
+    case X86EMUL_OPC(0x0f, 0x06): /* CLTS */
+    case X86EMUL_OPC(0x0f, 0x20): /* MOV from CRn */
+    case X86EMUL_OPC(0x0f, 0x22): /* MOV to CRn */
+        return true;
+    }
+
+    return false;
+}
+
+unsigned long x86_insn_immediate(const struct x86_emulate_state *s,
+                                 unsigned int nr)
+{
+    check_state(s);
+
+    switch ( nr )
+    {
+    case 0:
+        return s->imm1;
+    case 1:
+        return s->imm2;
+    }
+
+    return 0;
+}
+
+int x86emul_read_xcr(unsigned int reg, uint64_t *val,
+                     struct x86_emulate_ctxt *ctxt)
+{
+    switch ( reg )
+    {
+    case 0:
+        *val = current->arch.xcr0;
+        return X86EMUL_OKAY;
+
+    case 1:
+        if ( current->domain->arch.cpuid->xstate.xgetbv1 )
+            break;
+        /* fall through */
+    default:
+        x86_emul_hw_exception(TRAP_gp_fault, 0, ctxt);
+        return X86EMUL_EXCEPTION;
+    }
+
+    *val = xgetbv(reg);
+
+    return X86EMUL_OKAY;
+}
+
+/* Note: May be called with ctxt=NULL. */
+int x86emul_write_xcr(unsigned int reg, uint64_t val,
+                      struct x86_emulate_ctxt *ctxt)
+{
+    switch ( reg )
+    {
+    case 0:
+        break;
+
+    default:
+    gp_fault:
+        if ( ctxt )
+            x86_emul_hw_exception(TRAP_gp_fault, 0, ctxt);
+        return X86EMUL_EXCEPTION;
+    }
+
+    if ( unlikely(handle_xsetbv(reg, val) != 0) )
+        goto gp_fault;
+
+    return X86EMUL_OKAY;
+}
+
+#ifdef CONFIG_PV
+
+/* Called with NULL ctxt in hypercall context. */
+int x86emul_read_dr(unsigned int reg, unsigned long *val,
+                    struct x86_emulate_ctxt *ctxt)
+{
+    struct vcpu *curr = current;
+
+    /* HVM support requires a bit more plumbing before it will work. */
+    ASSERT(is_pv_vcpu(curr));
+
+    switch ( reg )
+    {
+    case 0 ... 3:
+        *val = array_access_nospec(curr->arch.dr, reg);
+        break;
+
+    case 4:
+        if ( curr->arch.pv.ctrlreg[4] & X86_CR4_DE )
+            goto ud_fault;
+
+        /* Fallthrough */
+    case 6:
+        *val = curr->arch.dr6;
+        break;
+
+    case 5:
+        if ( curr->arch.pv.ctrlreg[4] & X86_CR4_DE )
+            goto ud_fault;
+
+        /* Fallthrough */
+    case 7:
+        *val = curr->arch.dr7 | curr->arch.pv.dr7_emul;
+        break;
+
+    ud_fault:
+    default:
+        if ( ctxt )
+            x86_emul_hw_exception(TRAP_invalid_op, X86_EVENT_NO_EC, ctxt);
+
+        return X86EMUL_EXCEPTION;
+    }
+
+    return X86EMUL_OKAY;
+}
+
+int x86emul_write_dr(unsigned int reg, unsigned long val,
+                     struct x86_emulate_ctxt *ctxt)
+{
+    struct vcpu *curr = current;
+
+    /* HVM support requires a bit more plumbing before it will work. */
+    ASSERT(is_pv_vcpu(curr));
+
+    switch ( set_debugreg(curr, reg, val) )
+    {
+    case 0:
+        return X86EMUL_OKAY;
+
+    case -ENODEV:
+        x86_emul_hw_exception(TRAP_invalid_op, X86_EVENT_NO_EC, ctxt);
+        return X86EMUL_EXCEPTION;
+
+    default:
+        x86_emul_hw_exception(TRAP_gp_fault, 0, ctxt);
+        return X86EMUL_EXCEPTION;
+    }
+}
+
+#endif /* CONFIG_PV */
+
+int x86emul_cpuid(uint32_t leaf, uint32_t subleaf,
+                  struct cpuid_leaf *res, struct x86_emulate_ctxt *ctxt)
+{
+    guest_cpuid(current, leaf, subleaf, res);
+
+    return X86EMUL_OKAY;
+}
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -8412,393 +8412,3 @@ int x86_emulate_wrapper(
     return rc;
 }
 #endif
-
-static inline void check_state(const struct x86_emulate_state *state)
-{
-#if defined(__XEN__) && !defined(NDEBUG)
-    ASSERT(state->caller);
-#endif
-}
-
-#if defined(__XEN__) && !defined(NDEBUG)
-void x86_emulate_free_state(struct x86_emulate_state *state)
-{
-    check_state(state);
-    state->caller = NULL;
-}
-#endif
-
-unsigned int
-x86_insn_opsize(const struct x86_emulate_state *state)
-{
-    check_state(state);
-
-    return state->op_bytes << 3;
-}
-
-int
-x86_insn_modrm(const struct x86_emulate_state *state,
-               unsigned int *rm, unsigned int *reg)
-{
-    check_state(state);
-
-    if ( unlikely(state->modrm_mod > 3) )
-    {
-        if ( rm )
-            *rm = ~0U;
-        if ( reg )
-            *reg = ~0U;
-        return -EINVAL;
-    }
-
-    if ( rm )
-        *rm = state->modrm_rm;
-    if ( reg )
-        *reg = state->modrm_reg;
-
-    return state->modrm_mod;
-}
-
-unsigned long
-x86_insn_operand_ea(const struct x86_emulate_state *state,
-                    enum x86_segment *seg)
-{
-    *seg = state->ea.type == OP_MEM ? state->ea.mem.seg : x86_seg_none;
-
-    check_state(state);
-
-    return state->ea.mem.off;
-}
-
-/*
- * This function means to return 'true' for all supported insns with explicit
- * accesses to memory.  This means also insns which don't have an explicit
- * memory operand (like POP), but it does not mean e.g. segment selector
- * loads, where the descriptor table access is considered an implicit one.
- */
-bool
-x86_insn_is_mem_access(const struct x86_emulate_state *state,
-                       const struct x86_emulate_ctxt *ctxt)
-{
-    if ( mode_64bit() && state->not_64bit )
-        return false;
-
-    if ( state->ea.type == OP_MEM )
-    {
-        switch ( ctxt->opcode )
-        {
-        case 0x8d: /* LEA */
-        case X86EMUL_OPC(0x0f, 0x0d): /* PREFETCH */
-        case X86EMUL_OPC(0x0f, 0x18)
-         ... X86EMUL_OPC(0x0f, 0x1f): /* NOP space */
-        case X86EMUL_OPC_66(0x0f, 0x18)
-         ... X86EMUL_OPC_66(0x0f, 0x1f): /* NOP space */
-        case X86EMUL_OPC_F3(0x0f, 0x18)
-         ... X86EMUL_OPC_F3(0x0f, 0x1f): /* NOP space */
-        case X86EMUL_OPC_F2(0x0f, 0x18)
-         ... X86EMUL_OPC_F2(0x0f, 0x1f): /* NOP space */
-        case X86EMUL_OPC(0x0f, 0xb9): /* UD1 */
-        case X86EMUL_OPC(0x0f, 0xff): /* UD0 */
-        case X86EMUL_OPC_EVEX_66(0x0f38, 0xc6): /* V{GATH,SCATT}ERPF*D* */
-        case X86EMUL_OPC_EVEX_66(0x0f38, 0xc7): /* V{GATH,SCATT}ERPF*Q* */
-            return false;
-
-        case X86EMUL_OPC(0x0f, 0x01):
-            return (state->modrm_reg & 7) != 7; /* INVLPG */
-
-        case X86EMUL_OPC(0x0f, 0xae):
-            return (state->modrm_reg & 7) != 7; /* CLFLUSH */
-
-        case X86EMUL_OPC_66(0x0f, 0xae):
-            return (state->modrm_reg & 7) < 6; /* CLWB, CLFLUSHOPT */
-        }
-
-        return true;
-    }
-
-    switch ( ctxt->opcode )
-    {
-    case 0x06 ... 0x07: /* PUSH / POP %es */
-    case 0x0e:          /* PUSH %cs */
-    case 0x16 ... 0x17: /* PUSH / POP %ss */
-    case 0x1e ... 0x1f: /* PUSH / POP %ds */
-    case 0x50 ... 0x5f: /* PUSH / POP reg */
-    case 0x60 ... 0x61: /* PUSHA / POPA */
-    case 0x68: case 0x6a: /* PUSH imm */
-    case 0x6c ... 0x6f: /* INS / OUTS */
-    case 0x8f:          /* POP r/m */
-    case 0x9a:          /* CALL (far, direct) */
-    case 0x9c ... 0x9d: /* PUSHF / POPF */
-    case 0xa4 ... 0xa7: /* MOVS / CMPS */
-    case 0xaa ... 0xaf: /* STOS / LODS / SCAS */
-    case 0xc2 ... 0xc3: /* RET (near) */
-    case 0xc8 ... 0xc9: /* ENTER / LEAVE */
-    case 0xca ... 0xcb: /* RET (far) */
-    case 0xd7:          /* XLAT */
-    case 0xe8:          /* CALL (near, direct) */
-    case X86EMUL_OPC(0x0f, 0xa0):         /* PUSH %fs */
-    case X86EMUL_OPC(0x0f, 0xa1):         /* POP %fs */
-    case X86EMUL_OPC(0x0f, 0xa8):         /* PUSH %gs */
-    case X86EMUL_OPC(0x0f, 0xa9):         /* POP %gs */
-    CASE_SIMD_PACKED_INT_VEX(0x0f, 0xf7): /* MASKMOV{Q,DQU} */
-                                          /* VMASKMOVDQU */
-        return true;
-
-    case 0xff:
-        switch ( state->modrm_reg & 7 )
-        {
-        case 2: /* CALL (near, indirect) */
-        case 6: /* PUSH r/m */
-            return true;
-        }
-        break;
-
-    case X86EMUL_OPC(0x0f, 0x01):
-        /* Cover CLZERO. */
-        return (state->modrm_rm & 7) == 4 && (state->modrm_reg & 7) == 7;
-    }
-
-    return false;
-}
-
-/*
- * This function means to return 'true' for all supported insns with explicit
- * writes to memory.  This means also insns which don't have an explicit
- * memory operand (like PUSH), but it does not mean e.g. segment selector
- * loads, where the (possible) descriptor table write is considered an
- * implicit access.
- */
-bool
-x86_insn_is_mem_write(const struct x86_emulate_state *state,
-                      const struct x86_emulate_ctxt *ctxt)
-{
-    if ( mode_64bit() && state->not_64bit )
-        return false;
-
-    switch ( state->desc & DstMask )
-    {
-    case DstMem:
-        /* The SrcMem check is to cover {,V}MASKMOV{Q,DQU}. */
-        return state->modrm_mod != 3 || (state->desc & SrcMask) == SrcMem;
-
-    case DstBitBase:
-    case DstImplicit:
-        break;
-
-    default:
-        switch ( ctxt->opcode )
-        {
-        case 0x63:                         /* ARPL */
-            return !mode_64bit();
-
-        case X86EMUL_OPC_66(0x0f38, 0xf8): /* MOVDIR64B */
-        case X86EMUL_OPC_F2(0x0f38, 0xf8): /* ENQCMD */
-        case X86EMUL_OPC_F3(0x0f38, 0xf8): /* ENQCMDS */
-            return true;
-
-        case X86EMUL_OPC_EVEX_F3(0x0f38, 0x10) ...
-             X86EMUL_OPC_EVEX_F3(0x0f38, 0x15): /* VPMOVUS* */
-        case X86EMUL_OPC_EVEX_F3(0x0f38, 0x20) ...
-             X86EMUL_OPC_EVEX_F3(0x0f38, 0x25): /* VPMOVS* */
-        case X86EMUL_OPC_EVEX_F3(0x0f38, 0x30) ...
-             X86EMUL_OPC_EVEX_F3(0x0f38, 0x35): /* VPMOV{D,Q,W}* */
-            return state->modrm_mod != 3;
-        }
-
-        return false;
-    }
-
-    if ( state->modrm_mod == 3 )
-    {
-        switch ( ctxt->opcode )
-        {
-        case 0xff: /* Grp5 */
-            break;
-
-        case X86EMUL_OPC(0x0f, 0x01): /* CLZERO is the odd one. */
-            return (state->modrm_rm & 7) == 4 && (state->modrm_reg & 7) == 7;
-
-        default:
-            return false;
-        }
-    }
-
-    switch ( ctxt->opcode )
-    {
-    case 0x06:                           /* PUSH %es */
-    case 0x0e:                           /* PUSH %cs */
-    case 0x16:                           /* PUSH %ss */
-    case 0x1e:                           /* PUSH %ds */
-    case 0x50 ... 0x57:                  /* PUSH reg */
-    case 0x60:                           /* PUSHA */
-    case 0x68: case 0x6a:                /* PUSH imm */
-    case 0x6c: case 0x6d:                /* INS */
-    case 0x9a:                           /* CALL (far, direct) */
-    case 0x9c:                           /* PUSHF */
-    case 0xa4: case 0xa5:                /* MOVS */
-    case 0xaa: case 0xab:                /* STOS */
-    case 0xc8:                           /* ENTER */
-    case 0xe8:                           /* CALL (near, direct) */
-    case X86EMUL_OPC(0x0f, 0xa0):        /* PUSH %fs */
-    case X86EMUL_OPC(0x0f, 0xa8):        /* PUSH %gs */
-    case X86EMUL_OPC(0x0f, 0xab):        /* BTS */
-    case X86EMUL_OPC(0x0f, 0xb3):        /* BTR */
-    case X86EMUL_OPC(0x0f, 0xbb):        /* BTC */
-        return true;
-
-    case 0xd9:
-        switch ( state->modrm_reg & 7 )
-        {
-        case 2: /* FST m32fp */
-        case 3: /* FSTP m32fp */
-        case 6: /* FNSTENV */
-        case 7: /* FNSTCW */
-            return true;
-        }
-        break;
-
-    case 0xdb:
-        switch ( state->modrm_reg & 7 )
-        {
-        case 1: /* FISTTP m32i */
-        case 2: /* FIST m32i */
-        case 3: /* FISTP m32i */
-        case 7: /* FSTP m80fp */
-            return true;
-        }
-        break;
-
-    case 0xdd:
-        switch ( state->modrm_reg & 7 )
-        {
-        case 1: /* FISTTP m64i */
-        case 2: /* FST m64fp */
-        case 3: /* FSTP m64fp */
-        case 6: /* FNSAVE */
-        case 7: /* FNSTSW */
-            return true;
-        }
-        break;
-
-    case 0xdf:
-        switch ( state->modrm_reg & 7 )
-        {
-        case 1: /* FISTTP m16i */
-        case 2: /* FIST m16i */
-        case 3: /* FISTP m16i */
-        case 6: /* FBSTP */
-        case 7: /* FISTP m64i */
-            return true;
-        }
-        break;
-
-    case 0xff:
-        switch ( state->modrm_reg & 7 )
-        {
-        case 2: /* CALL (near, indirect) */
-        case 3: /* CALL (far, indirect) */
-        case 6: /* PUSH r/m */
-            return true;
-        }
-        break;
-
-    case X86EMUL_OPC(0x0f, 0x01):
-        switch ( state->modrm_reg & 7 )
-        {
-        case 0: /* SGDT */
-        case 1: /* SIDT */
-        case 4: /* SMSW */
-            return true;
-        }
-        break;
-
-    case X86EMUL_OPC(0x0f, 0xae):
-        switch ( state->modrm_reg & 7 )
-        {
-        case 0: /* FXSAVE */
-        /* case 3: STMXCSR - handled above */
-        case 4: /* XSAVE */
-        case 6: /* XSAVEOPT */
-            return true;
-        }
-        break;
-
-    case X86EMUL_OPC(0x0f, 0xba):
-        return (state->modrm_reg & 7) > 4; /* BTS / BTR / BTC */
-
-    case X86EMUL_OPC(0x0f, 0xc7):
-        switch ( state->modrm_reg & 7 )
-        {
-        case 1: /* CMPXCHG{8,16}B */
-        case 4: /* XSAVEC */
-        case 5: /* XSAVES */
-            return true;
-        }
-        break;
-    }
-
-    return false;
-}
-
-bool
-x86_insn_is_portio(const struct x86_emulate_state *state,
-                   const struct x86_emulate_ctxt *ctxt)
-{
-    switch ( ctxt->opcode )
-    {
-    case 0x6c ... 0x6f: /* INS / OUTS */
-    case 0xe4 ... 0xe7: /* IN / OUT imm8 */
-    case 0xec ... 0xef: /* IN / OUT %dx */
-        return true;
-    }
-
-    return false;
-}
-
-bool
-x86_insn_is_cr_access(const struct x86_emulate_state *state,
-                      const struct x86_emulate_ctxt *ctxt)
-{
-    switch ( ctxt->opcode )
-    {
-        unsigned int ext;
-
-    case X86EMUL_OPC(0x0f, 0x01):
-        if ( x86_insn_modrm(state, NULL, &ext) >= 0
-             && (ext & 5) == 4 ) /* SMSW / LMSW */
-            return true;
-        break;
-
-    case X86EMUL_OPC(0x0f, 0x06): /* CLTS */
-    case X86EMUL_OPC(0x0f, 0x20): /* MOV from CRn */
-    case X86EMUL_OPC(0x0f, 0x22): /* MOV to CRn */
-        return true;
-    }
-
-    return false;
-}
-
-unsigned long
-x86_insn_immediate(const struct x86_emulate_state *state, unsigned int nr)
-{
-    check_state(state);
-
-    switch ( nr )
-    {
-    case 0:
-        return state->imm1;
-    case 1:
-        return state->imm2;
-    }
-
-    return 0;
-}
-
-unsigned int
-x86_insn_length(const struct x86_emulate_state *state,
-                const struct x86_emulate_ctxt *ctxt)
-{
-    check_state(state);
-
-    return state->ip - ctxt->regs->r(ip);
-}



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 12:30:22 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 12:30:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166024.303207 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDnNC-0002y0-Ns; Wed, 11 Aug 2021 12:30:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166024.303207; Wed, 11 Aug 2021 12:30: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 1mDnNC-0002xt-IP; Wed, 11 Aug 2021 12:30:18 +0000
Received: by outflank-mailman (input) for mailman id 166024;
 Wed, 11 Aug 2021 12:30:17 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fjOV=NC=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mDnNB-0002xn-DV
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 12:30:17 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id e18de7b2-fa9f-11eb-a06f-12813bfff9fa;
 Wed, 11 Aug 2021 12:30:16 +0000 (UTC)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2111.outbound.protection.outlook.com [104.47.18.111])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-8-cb7SduzJOzKOiYzCGpRdGw-1; Wed, 11 Aug 2021 14:30:14 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4845.eurprd04.prod.outlook.com (2603:10a6:803:51::30)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.16; Wed, 11 Aug
 2021 12:30:10 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4394.025; Wed, 11 Aug 2021
 12:30:10 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FRYP281CA0003.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::13) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.5 via Frontend Transport; Wed, 11 Aug 2021 12:30: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: e18de7b2-fa9f-11eb-a06f-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628685015;
	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=zZzJJer0XQpU5PJran3+edB7jLA2yVqcx+tj+afI9/w=;
	b=QXOx4GetAnq0Ze/JrB84YHOtyO+SjtsQ+yd/Tn4/ojZL3EBs41Y0VUErGgPWl2bB/qAtN/
	FAnrP9SBnvB4wbngisMB6Rj6wXHJ4m9HV1bwU1ULXv29xXtLFCVbDhxQn9yf5dRTaMHxle
	hcjy/wme3bIwXuyghDnKsnh+qgZxVFA=
X-MC-Unique: cb7SduzJOzKOiYzCGpRdGw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JlekA9eDUQ8JIxbh0r0GvsrZOPungeGjNpCxKXID6scJiMZ/I1qn5iefSzdzhjHICrM2oa3eAX4JTlFJDbyz8FKaoalhIdRlVdrmDkfq7BnRm/TLJodx+lkVRoD/KPs8xn4hNO9iLn+2l19TaLFz1y4zGOmeV7qaytrtvzsmkdgvSybLYKGhFmKdcejZ5Cow+R/p06ouTGAn+nCQh6EqMwtb2cpJqmFtmaOWJwPF67noIul+sj05pH47+11iq9wBVSwiu6Y1USivH8yrzOeILJeIXNpgFnel/5bUuZD9v2Nwa8R+JWkPmkANtj8jPaCdxqpZWeTBxJ5Ql5N6GhCBZQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zZzJJer0XQpU5PJran3+edB7jLA2yVqcx+tj+afI9/w=;
 b=DtIfBOODuCj/1O5+N1OK8UDFNIpm8dHU2O615FzXsOxxLbVmWZGmxIPaOyUXHSIq7CHqoMEdx6pIN9P/lUgBWaB/W88WZ4N0X93rNCJr7EzWF70m6xlRWPc6yIHaJ0ogtGKPA46ueaqft2zPcdbmzykqscu0DuRmnjOqpGHaqacnIL+B+ALQc9j8xTqLyvZx9UKCQybhZ+2XYLgyJczsbBwTzXRXOxrC1afPgdLXmtKwR7kT62l2NkgTXxkru6cpXWVOlt6JFZ6qxAOuJsDtcYAGG7XDQh6IfKM5B0YEF0gbq87FV/+3DAfh2m/Todr+I0Fq8YJOV5q1+PGJtNALiw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 Juergen Gross <jgross@suse.com>, Julien Grall <julien@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] tests/xenstore: link in librt
Message-ID: <3fe5f85c-3702-286c-46a3-d90eb094123f@suse.com>
Date: Wed, 11 Aug 2021 14:30:08 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FRYP281CA0003.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::13)
 To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 989dacad-305f-4de8-30ac-08d95cc3c279
X-MS-TrafficTypeDiagnostic: VI1PR04MB4845:
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4845100B9E26D483D014EB3BB3F89@VI1PR04MB4845.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:6108;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zqqpKfjmbnwJZTo1yQpa3/tXeUrO8OeUBe85e7rFprACbCmo5Je3f2qYmoiMWx7UoYpWRFIwJgEWNuoE0jcc+iLWzXqY+xM8PM8KXHl4ksoYV5ou7UwGySPkRfYkvN8iVmxRrTl4E5FEr61E7V7xDD1kp0F4VPccx9pyZWURAL5UXRgbLpbciX8HooxJrwyFlhI4YoFK1Y8cmu6BvSP4sXEOVOUbSxSbwi8TJNyo59ELhtZ9RE2bx9Tp9LPQa/xDbgmzIJrDgouHG2TwoPcOZsBS2+8BZe8PxZI8OKn3EpkljM44+TtSoNJCxDa18fr5AafvmNHU4gV7Tk1+28FskR7D1U9gf0yFIi8oBecWxzUqkPLYDniBm4I0fdE/rpUKmjlwtT/msZG8pR/eygxw8TW4eyE0neoj7Ui3Hjooo/KaXEzgJQ3m4ic8Dq9urHBpZnx+PxsAJ8ra85Mps6yG4qzkoWPI6f/yy5Bc6NCqLAtKrBRcGFLpE2EXxiGCEuftriHM0EwOitzS4YdtgVBKHEBi6JKZNJRjtySoxA0+S4zQZdJmYh/h42ljHojReNhWUsdwzb7luOL33XyZTedmq7OWoF0YlX4Z4zac+XxxfjtgLez1NcXIW/OZX8eliGQInNED2J6zg3XcleRVv5CNXVYELM0zyDz8lJd3gUBtcwzf6n0LlvSqYdXs3kRQM9/7t+PPmtlxaa1mPkUBnhbJI58i5+r3eVGgV6RVwV5vJLY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(16576012)(8936002)(31696002)(36756003)(86362001)(508600001)(83380400001)(6916009)(26005)(8676002)(186003)(2906002)(316002)(54906003)(31686004)(66946007)(4326008)(66476007)(5660300002)(66556008)(2616005)(38100700002)(956004)(6486002)(4744005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TVk4U2xLaTg0NHBJS0N1Ly9WandJNzVNeUdwb01GWnA5YjRxT00ydGFYRG0v?=
 =?utf-8?B?OXFqRTNHdEhHRkplVUdWYXpUK0pDaVkxYjRPUmJMZE5TY1UzaEc3NjJqRUx3?=
 =?utf-8?B?UnhHR29qV0hGb0VWNXpScWFhNkxQU1NNZE1EVktaNFBWVmlkNmhNT2h2YTc2?=
 =?utf-8?B?OXExeVh6UE5uVDVLVVVPdXAyVnZUb2Fnc29CQ0dJRDR6TkxuWUdIV1JLLzZF?=
 =?utf-8?B?MGdEdU44bmJvTjNkN3dmTm1VZDJwRHFCRDNYckVmZ2dIanYvVzIvY0lxTHZ5?=
 =?utf-8?B?U21aZVlIMlkyTm9URDZ6NFljWXNONzdva3FRKzQ3a2JkTXpxMVRaVHR3OXh1?=
 =?utf-8?B?a0x0TEVmdytFS3VPWjZDZFBsMFFkWXNVbCtLY0NocjEwU1h4NjZEVWI4UmJn?=
 =?utf-8?B?YS91RUYwc050OFdVOXJXeE8rNmJmNThoOTVvSjEvaGppTm0rajZIQS9xVWgy?=
 =?utf-8?B?TUlocHdmSXptMzR1NEVxOXNmQzArSlFNQ1UySzVxdXBRTDNDWVIvV3hhanBm?=
 =?utf-8?B?QVRPbHN5MWtnLy8xQUZQOGRQcWVWeWkxbk5FTlFxenBYQVFIVkYzRUhibzlm?=
 =?utf-8?B?RGJKb1RueFRUNS9rekVod1pPcktEQzJqRnNIdkNuZ3JTanhJYjhHSktYUHFv?=
 =?utf-8?B?ZVorMEpKZWtOVUU3Y0xBdTVoUHFrMW0rQWYyNlp1dERuZDZjaGtDZjZ2b3Vw?=
 =?utf-8?B?Qld3T2kyV1RvMEFnN0hrbVpqWmJCWGhqeWJtNFI2NjVPSDZYaXBVNUt4MnhQ?=
 =?utf-8?B?SXowbnVnL0tteitXTFAzaXpKQS9DSmx0bmxldWdBaU5zdXRDSzlyNEM5bkll?=
 =?utf-8?B?RkxONFJpNUUwVWdhVXhBc1ZBTkdTZkRLQVpzNHhnNHY5N3BSTzZtUEt1OGZx?=
 =?utf-8?B?N2FMd1N3RlM3UUdWZCtLT00zdmU4aUgzcEY5RVJXeGZ4NDZPc1dzOGVhRFRM?=
 =?utf-8?B?Mlp3MjNxL1UwSkN3TXI4b3pGaHkyMDdlTTVXQkFIbUlMengrY3AzV3J4b0Jr?=
 =?utf-8?B?eTJsR0NFQktSdFQxYzVuSE1jbnREbkJxUWtPWVoyOHduS2VFOHhLQVBRdDdu?=
 =?utf-8?B?aWo4aDZlYTFmdDFxenlHVDQvVWVndFFJYXJCL2l1eExBbVp3OFpkampkZGk0?=
 =?utf-8?B?OFdXSElPN25ldlU2SUN0QUJQeHkybFg4WDZvaVNBWFZOVmZFRGtRYWhFVXRF?=
 =?utf-8?B?UTRIdkkvTkJ2RjdwaVlJQzl6am1JbE5tck9MeXZpZDdTbTR2WFMxYmdkU0tS?=
 =?utf-8?B?SzI3NjJHU2RlUFRGZVRzQ0I3K01vM0pZTThrenRLR3dMaEZnM1I3MzRVQmk4?=
 =?utf-8?B?WWhrVUtLbXpDd1hKT0krMG90ZlhaZGN0MUp4cXJjV2lKZ3NsaTFjNmM0WGFx?=
 =?utf-8?B?MEoxYkM5SHBsMVZoR0pMSmdRSU5pT3AwT1QyTUoxNmkyUGJHMWJxYUU4LzZN?=
 =?utf-8?B?R0ZzSFFFVVg0UWE0bFBYNWViWnpuWVo5aWIrWGk0d3MyeEs3d3FzUlBhZkRB?=
 =?utf-8?B?cXBaOUh5a2cyMXNFMWp0QlBWTmt6R2RveC9uWmJSWSs1L1dmb3p0dFY5akVB?=
 =?utf-8?B?UmtVZ3VyZWRwYW5QWlk1clVrL2F2R2dkUTROUW8wMU1UT0dCakE5Y0dRWnl6?=
 =?utf-8?B?bXlrTmRUNW9JenNQOXllOE9ST2FYNjdpRjRKM2Jpb28wRUt4dGp4NzBSbTRr?=
 =?utf-8?B?b05BOUdJY3lMNlRUQzQxbHUyZklHaElTdWRjc1l2cDVXdm9aTHNqcitXNVZt?=
 =?utf-8?Q?I8hKNmp+BTXK+647YkUoQlGKCIoiukxOrYnxeDt?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 989dacad-305f-4de8-30ac-08d95cc3c279
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 12:30:10.1595
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: gXat3qe1abV03yWTfFJSjgjEMaHWNKVYoB3qXOwKVkldCE3Y42RyPgqpWpyawEvYS1DWM6BsDrdXBe2V+uds1A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4845

Old enough glibc has clock_gettime() in librt.so, hence the library
needs to be specified to the linker.

Fixes: 93c9edbef51b ("tests/xenstore: Rework Makefile")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Cc list based on the assumption that the XENSTORE section of
./MAINTAINERS probably ought to list the containing directory.

--- a/tools/tests/xenstore/Makefile
+++ b/tools/tests/xenstore/Makefile
@@ -31,6 +31,7 @@ CFLAGS += -Werror
 CFLAGS += $(CFLAGS_libxenstore)
 CFLAGS += $(APPEND_CFLAGS)
 
+LDFLAGS += -lrt
 LDFLAGS += $(LDLIBS_libxenstore)
 LDFLAGS += $(APPEND_LDFLAGS)
 



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 12:32:17 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 12:32:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166030.303216 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDnP5-0003bX-2l; Wed, 11 Aug 2021 12:32:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166030.303216; Wed, 11 Aug 2021 12: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 1mDnP4-0003bQ-VG; Wed, 11 Aug 2021 12:32:14 +0000
Received: by outflank-mailman (input) for mailman id 166030;
 Wed, 11 Aug 2021 12:32:12 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=u8Eh=NC=citrix.com=Kevin.Stefanov@srs-us1.protection.inumbo.net>)
 id 1mDnP2-0003bF-MO
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 12:32:12 +0000
Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 25bf3fef-faa0-11eb-a06f-12813bfff9fa;
 Wed, 11 Aug 2021 12:32: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: 25bf3fef-faa0-11eb-a06f-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1628685131;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=Nx5yYUhmyEa/UaDBpvCZ3Y7OdjIpDO3h5T9oWTcQpY4=;
  b=cZ+8u4NnnlE1bUM8wL/Mwfze/UwMAjyNAIRqJT1s/OGlMcsfNJ3qG9eb
   qE9DOXlQUT8V2lSJC+dKvAvS826letQRX7k0ozUQz3vIx53CMwbA65RtC
   hAmMpmfCUkedH4eo2m+8Gr/PTbYtiuPw+tIIgnJEnIXviWKi5PoYDxWiQ
   A=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: xhOju8A7bIEUu0OD6IU9MfpoiIhyLmm3UTZ/uSLVdDYo1g82fLCcc9XDWgra/FyB2l0qXCJGOF
 b6kURIOB3j73CNEuaHXh/dl/T4buI4idaS1gP6tynG+aVTcVUOoyMll3xxFviURycvdZPKx0gI
 VidVmR8YwAyuYHEOV9aDHmKoNDgjLoukxXZ20nLju9zoym5ZW5xqaDX4CllBhNZqM/6BbGHRyG
 HKUib0sVn0yTxMJBX6M795HpW4kbTfBQK/FrTutltMBgBNi3LU4/b70vjdVnpQBEC1ExrXL2iS
 ioMIuomh30enFwhqh2PHnvze
X-SBRS: 5.1
X-MesageID: 51909380
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:TIhvFKqTrwGp4Dslikw+G7UaV5rveYIsimQD101hICG9Evb0qy
 nOpoV/6faQslwssR4b9uxoVJPvfZq+z+8W3WByB9eftWDd0QPFEGgL1+DfKlbbak7DH4BmtJ
 uJc8JFeafN5VoRt7eG3OFveexQvOVu88qT9JjjJ28Gd3APV0n5hT0JcjpyFCdNNW57LKt8Lr
 WwzOxdqQGtfHwGB/7LfUXsD4D41rv2fIuNW29+OyIa
X-IronPort-AV: E=Sophos;i="5.84,311,1620705600"; 
   d="scan'208";a="51909380"
From: Kevin Stefanov <kevin.stefanov@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Kevin Stefanov <kevin.stefanov@citrix.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, Kevin Tian <kevin.tian@intel.com>
Subject: [PATCH v2 2/2] x86/ioapic: Remove use of TRUE/FALSE/1/0
Date: Wed, 11 Aug 2021 13:31:35 +0100
Message-ID: <20210811123135.18195-3-kevin.stefanov@citrix.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811123135.18195-1-kevin.stefanov@citrix.com>
References: <20210811123135.18195-1-kevin.stefanov@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Also fix stray usage in VT-d.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Kevin Stefanov <kevin.stefanov@citrix.com>
---
CC: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: "Roger Pau Monné" <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
CC: Kevin Tian <kevin.tian@intel.com>

v2:
 * Also replace literal 1/0
---
 xen/arch/x86/io_apic.c                 | 38 +++++++++++++-------------
 xen/drivers/passthrough/vtd/intremap.c |  6 ++--
 xen/drivers/passthrough/vtd/utils.c    |  2 +-
 3 files changed, 23 insertions(+), 23 deletions(-)

diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
index 58b26d962c..c3ad9efac8 100644
--- a/xen/arch/x86/io_apic.c
+++ b/xen/arch/x86/io_apic.c
@@ -289,7 +289,7 @@ static void __io_apic_eoi(unsigned int apic, unsigned int vector, unsigned int p
     {
         /* If vector is unknown, read it from the IO-APIC */
         if ( vector == IRQ_VECTOR_UNASSIGNED )
-            vector = __ioapic_read_entry(apic, pin, TRUE).vector;
+            vector = __ioapic_read_entry(apic, pin, true).vector;
 
         *(IO_APIC_BASE(apic)+16) = vector;
     }
@@ -300,28 +300,28 @@ static void __io_apic_eoi(unsigned int apic, unsigned int vector, unsigned int p
         struct IO_APIC_route_entry entry;
         bool need_to_unmask = false;
 
-        entry = __ioapic_read_entry(apic, pin, TRUE);
+        entry = __ioapic_read_entry(apic, pin, true);
 
         if ( ! entry.mask )
         {
             /* If entry is not currently masked, mask it and make
              * a note to unmask it later */
             entry.mask = 1;
-            __ioapic_write_entry(apic, pin, TRUE, entry);
+            __ioapic_write_entry(apic, pin, true, entry);
             need_to_unmask = true;
         }
 
         /* Flip the trigger mode to edge and back */
         entry.trigger = 0;
-        __ioapic_write_entry(apic, pin, TRUE, entry);
+        __ioapic_write_entry(apic, pin, true, entry);
         entry.trigger = 1;
-        __ioapic_write_entry(apic, pin, TRUE, entry);
+        __ioapic_write_entry(apic, pin, true, entry);
 
         if ( need_to_unmask )
         {
             /* Unmask if neccesary */
             entry.mask = 0;
-            __ioapic_write_entry(apic, pin, TRUE, entry);
+            __ioapic_write_entry(apic, pin, true, entry);
         }
     }
 }
@@ -344,7 +344,7 @@ int save_IO_APIC_setup(struct IO_APIC_route_entry **ioapic_entries)
             return -ENOMEM;
 
         for (pin = 0; pin < nr_ioapic_entries[apic]; pin++)
-	    ioapic_entries[apic][pin] = __ioapic_read_entry(apic, pin, 1);
+	    ioapic_entries[apic][pin] = __ioapic_read_entry(apic, pin, true);
     }
 
     return 0;
@@ -374,7 +374,7 @@ void mask_IO_APIC_setup(struct IO_APIC_route_entry **ioapic_entries)
             if (!entry.mask) {
                 entry.mask = 1;
 
-                ioapic_write_entry(apic, pin, 1, entry);
+                ioapic_write_entry(apic, pin, true, entry);
             }
         }
     }
@@ -1047,7 +1047,7 @@ static void __init setup_IO_APIC_irqs(void)
 
             SET_DEST(entry, logical, cpu_mask_to_apicid(TARGET_CPUS));
             spin_lock_irqsave(&ioapic_lock, flags);
-            __ioapic_write_entry(apic, pin, 0, entry);
+            __ioapic_write_entry(apic, pin, false, entry);
             spin_unlock_irqrestore(&ioapic_lock, flags);
         }
     }
@@ -1091,7 +1091,7 @@ static void __init setup_ExtINT_IRQ0_pin(unsigned int apic, unsigned int pin, in
     /*
      * Add it to the IO-APIC irq-routing table:
      */
-    ioapic_write_entry(apic, pin, 0, entry);
+    ioapic_write_entry(apic, pin, false, entry);
 
     enable_8259A_irq(irq_to_desc(0));
 }
@@ -1203,7 +1203,7 @@ static void /*__init*/ __print_IO_APIC(bool boot)
 	for (i = 0; i <= reg_01.bits.entries; i++) {
             struct IO_APIC_route_entry entry;
 
-            entry = ioapic_read_entry(apic, i, 0);
+            entry = ioapic_read_entry(apic, i, false);
 
             if ( x2apic_enabled && iommu_intremap )
                 printk(KERN_DEBUG " %02x %08x", i, entry.dest.dest32);
@@ -1290,7 +1290,7 @@ static void __init enable_IO_APIC(void)
         int pin;
         /* See if any of the pins is in ExtINT mode */
         for (pin = 0; pin < nr_ioapic_entries[apic]; pin++) {
-            struct IO_APIC_route_entry entry = ioapic_read_entry(apic, pin, 0);
+            struct IO_APIC_route_entry entry = ioapic_read_entry(apic, pin, false);
 
             /* If the interrupt line is enabled and in ExtInt mode
              * I have found the pin where the i8259 is connected.
@@ -1361,7 +1361,7 @@ void disable_IO_APIC(void)
         /*
          * Add it to the IO-APIC irq-routing table:
          */
-        ioapic_write_entry(ioapic_i8259.apic, ioapic_i8259.pin, 0, entry);
+        ioapic_write_entry(ioapic_i8259.apic, ioapic_i8259.pin, false, entry);
     }
     disconnect_bsp_APIC(ioapic_i8259.pin != -1);
 }
@@ -1841,7 +1841,7 @@ static void __init unlock_ExtINT_logic(void)
     if ( pin == -1 || apic == -1 )
         return;
 
-    entry0 = ioapic_read_entry(apic, pin, 0);
+    entry0 = ioapic_read_entry(apic, pin, false);
     clear_IO_APIC_pin(apic, pin);
 
     memset(&entry1, 0, sizeof(entry1));
@@ -1854,7 +1854,7 @@ static void __init unlock_ExtINT_logic(void)
     entry1.trigger = 0;
     entry1.vector = 0;
 
-    ioapic_write_entry(apic, pin, 0, entry1);
+    ioapic_write_entry(apic, pin, false, entry1);
 
     save_control = CMOS_READ(RTC_CONTROL);
     save_freq_select = CMOS_READ(RTC_FREQ_SELECT);
@@ -1873,7 +1873,7 @@ static void __init unlock_ExtINT_logic(void)
     CMOS_WRITE(save_freq_select, RTC_FREQ_SELECT);
     clear_IO_APIC_pin(apic, pin);
 
-    ioapic_write_entry(apic, pin, 0, entry0);
+    ioapic_write_entry(apic, pin, false, entry0);
 }
 
 /*
@@ -2287,7 +2287,7 @@ int io_apic_set_pci_routing (int ioapic, int pin, int irq, int edge_level, int a
         disable_8259A_irq(desc);
 
     spin_lock_irqsave(&ioapic_lock, flags);
-    __ioapic_write_entry(ioapic, pin, 0, entry);
+    __ioapic_write_entry(ioapic, pin, false, entry);
     spin_unlock(&ioapic_lock);
 
     spin_lock(&desc->lock);
@@ -2476,7 +2476,7 @@ int ioapic_guest_write(unsigned long physbase, unsigned int reg, u32 val)
         rte.mask = 1;
     }
 
-    __ioapic_write_entry(apic, pin, 0, rte);
+    __ioapic_write_entry(apic, pin, false, rte);
     
     spin_unlock_irqrestore(&ioapic_lock, flags);
 
@@ -2529,7 +2529,7 @@ void dump_ioapic_irq_info(void)
 
             printk("      Apic 0x%02x, Pin %2d: ", entry->apic, pin);
 
-            rte = ioapic_read_entry(entry->apic, pin, 0);
+            rte = ioapic_read_entry(entry->apic, pin, false);
 
             printk("vec=%02x delivery=%-5s dest=%c status=%d "
                    "polarity=%d irr=%d trig=%c mask=%d dest_id:%0*x\n",
diff --git a/xen/drivers/passthrough/vtd/intremap.c b/xen/drivers/passthrough/vtd/intremap.c
index d0f70d90eb..12e647f05a 100644
--- a/xen/drivers/passthrough/vtd/intremap.c
+++ b/xen/drivers/passthrough/vtd/intremap.c
@@ -427,7 +427,7 @@ unsigned int io_apic_read_remap_rte(
         ( (index = apic_pin_2_ir_idx[apic][ioapic_pin]) < 0 ) )
         return __io_apic_read(apic, reg);
 
-    old_rte = __ioapic_read_entry(apic, ioapic_pin, 1);
+    old_rte = __ioapic_read_entry(apic, ioapic_pin, true);
 
     if ( remap_entry_to_ioapic_rte(iommu, index, &old_rte) )
         return __io_apic_read(apic, reg);
@@ -448,7 +448,7 @@ void io_apic_write_remap_rte(
     struct vtd_iommu *iommu = ioapic_to_iommu(IO_APIC_ID(apic));
     int saved_mask;
 
-    old_rte = __ioapic_read_entry(apic, ioapic_pin, 1);
+    old_rte = __ioapic_read_entry(apic, ioapic_pin, false);
 
     remap_rte = (struct IO_APIC_route_remap_entry *) &old_rte;
 
@@ -468,7 +468,7 @@ void io_apic_write_remap_rte(
             __io_apic_write(apic, reg & ~1, *(u32 *)&old_rte);
     }
     else
-        __ioapic_write_entry(apic, ioapic_pin, 1, old_rte);
+        __ioapic_write_entry(apic, ioapic_pin, true, old_rte);
 }
 
 static void set_msi_source_id(struct pci_dev *pdev, struct iremap_entry *ire)
diff --git a/xen/drivers/passthrough/vtd/utils.c b/xen/drivers/passthrough/vtd/utils.c
index 4febcf506d..70add3cc8e 100644
--- a/xen/drivers/passthrough/vtd/utils.c
+++ b/xen/drivers/passthrough/vtd/utils.c
@@ -281,7 +281,7 @@ void vtd_dump_iommu_info(unsigned char key)
             for ( i = 0; i <= reg_01.bits.entries; i++ )
             {
                 struct IO_APIC_route_entry rte =
-                    __ioapic_read_entry(apic, i, TRUE);
+                    __ioapic_read_entry(apic, i, true);
 
                 remap = (struct IO_APIC_route_remap_entry *) &rte;
                 if ( !remap->format )
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 12:32:18 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 12:32:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166031.303228 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDnP8-0003t7-By; Wed, 11 Aug 2021 12:32:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166031.303228; Wed, 11 Aug 2021 12:32: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 1mDnP8-0003t0-81; Wed, 11 Aug 2021 12:32:18 +0000
Received: by outflank-mailman (input) for mailman id 166031;
 Wed, 11 Aug 2021 12:32:17 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=u8Eh=NC=citrix.com=Kevin.Stefanov@srs-us1.protection.inumbo.net>)
 id 1mDnP7-0003bF-Is
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 12:32:17 +0000
Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 2748ab20-faa0-11eb-a06f-12813bfff9fa;
 Wed, 11 Aug 2021 12:32: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: 2748ab20-faa0-11eb-a06f-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1628685132;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=GBzA1+2lZDZlrrlohE88WS+JoD2bi5tDNkhXE97v/oI=;
  b=MxRUYRa62XGTywlYPJYn3KZMCCP+PvdkYuLuLUGaSdFoOgBFgtqfGWrs
   a/wwD7yKtUmq3lto4aMoYgxGdq0M7hrWk7TEcfUVA+caxQqJT4zfQNEd+
   aeM1O+ispgtj3C/7Ofr95Mb7YLICjB+dcYA8st82VRnqR7o4phn/pGThc
   Y=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: b12C4qJVA38ITLJICEkZn+PiTz9iRkhBIxZ1aIWl2ahUx0lBuyE5PksigatYW6oqK2uXMkWZ19
 IG/RI1XrdMc9bmcJ7+95ecjmIFE1m4H+M69dqc6MH7wuazCTU8QG4D9i8LbwqsVY4L0j2hWPvf
 UksNvPEevw76m6fZSgoQycwRjflDZm49aGzv3JzEqdY1c062GfLhpG2TzXWAsxTlw26ExSMSw3
 /3z5LZMa8h0TJq7BKt+j1lv6f5gWw0oiy3iX4fqKGMqQtiopVj6SdZZWeix7AIb9yqNUeDVZUp
 I2gEayGFHUCHF4ZUj+9H0xjP
X-SBRS: 5.1
X-MesageID: 51909381
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:yrGBpq9ps785zN5ceupuk+DWI+orL9Y04lQ7vn2YSXRuE/Bw8P
 re+sjztCWE7wr5N0tQ+uxoVJPufZq+z+8Q3WByB8bBYOCOggLBR+sOgbcKqweQYhEWndQ86U
 4PScZD4aXLfD1Hsfo=
X-IronPort-AV: E=Sophos;i="5.84,311,1620705600"; 
   d="scan'208";a="51909381"
From: Kevin Stefanov <kevin.stefanov@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Kevin Stefanov <kevin.stefanov@citrix.com>, Jan Beulich
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, Kevin Tian <kevin.tian@intel.com>
Subject: [PATCH v2 0/2] xen: Replace uses of TRUE/FALSE
Date: Wed, 11 Aug 2021 13:31:33 +0100
Message-ID: <20210811123135.18195-1-kevin.stefanov@citrix.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Kevin Stefanov (2):
  xen/kexec: Remove use of TRUE/FALSE
  x86/ioapic: Remove use of TRUE/FALSE/1/0

 xen/arch/x86/io_apic.c                 | 38 +++++++++++++-------------
 xen/common/kexec.c                     |  6 ++--
 xen/drivers/passthrough/vtd/intremap.c |  6 ++--
 xen/drivers/passthrough/vtd/utils.c    |  2 +-
 xen/include/xen/kexec.h                |  4 +--
 5 files changed, 28 insertions(+), 28 deletions(-)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 12:32:23 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 12:32:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166032.303239 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDnPD-0004EU-Li; Wed, 11 Aug 2021 12:32:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166032.303239; Wed, 11 Aug 2021 12:32:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDnPD-0004EK-HE; Wed, 11 Aug 2021 12:32:23 +0000
Received: by outflank-mailman (input) for mailman id 166032;
 Wed, 11 Aug 2021 12:32:22 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=u8Eh=NC=citrix.com=Kevin.Stefanov@srs-us1.protection.inumbo.net>)
 id 1mDnPC-0003bF-It
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 12:32:22 +0000
Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 26f9ca29-faa0-11eb-a06f-12813bfff9fa;
 Wed, 11 Aug 2021 12:32: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: 26f9ca29-faa0-11eb-a06f-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1628685133;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=TGd9oCbPhWLBkQ8whA4VOs8vPrbai8+dznFmO2B/H0w=;
  b=hw+ktms0wlKu7Bbs8WM38dPxBptjcJd3Z3MpuctyOI0vwL1FB99O6jpE
   Hf0b/AjIekGAbY20ylTnVNxCuh0Hpe2VITpllUObq7AUwZ5aOvTkPFlv4
   aZ6qTzU8DG2xlqMRmP6YL9v2OEsuMQesFj2+n9ZJn/FQO8nA3bVc3fQ+j
   w=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: 0Pr+/cXMiNF+ductPW+UauNj+pLbwi+9Quh/Ktpe1IXnqZVPorHwVoA3nTd1jbH6rlvbJMgOMb
 zd/CuEpGoRoJGgqReD7rlzpBR1NtrVserPTme3xNaiUKYTR5wd0DoNCKzrpUVfFrUEdVp+i4jx
 6rBDM+x1eCGQkFJPHX5UYEt1sbCWLZ/1HUPaAzrb61s+bBMXQ1240oG2WpTGJOhUlMLJ4GKvgu
 eGfuXfdsXYQBFIAvCf7oAOmH29E1DreBPSsIZHGcGjsepbBw7561IV0FI4UMGqt1QgUyg7QQ5S
 /j8fTwDPnhcEoAkrw3NHZNsm
X-SBRS: 5.1
X-MesageID: 51909393
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:j9dgbqpEV4v1NQiFn5gA3YUaV5oReYIsimQD101hICG8cqSj9v
 xG+85rrCMc6QxhI03I9urwW5VoLUmyyXcx2/h0AV7AZniBhILLFvAB0WKK+VSJcEeSmtK1l5
 0QFJSWYOeAdWSS5vyb3ODXKbgdKaG8gcWVuds=
X-IronPort-AV: E=Sophos;i="5.84,311,1620705600"; 
   d="scan'208";a="51909393"
From: Kevin Stefanov <kevin.stefanov@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Kevin Stefanov <kevin.stefanov@citrix.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2 1/2] xen/kexec: Remove use of TRUE/FALSE
Date: Wed, 11 Aug 2021 13:31:34 +0100
Message-ID: <20210811123135.18195-2-kevin.stefanov@citrix.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210811123135.18195-1-kevin.stefanov@citrix.com>
References: <20210811123135.18195-1-kevin.stefanov@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Whilst fixing this, also changed bool_t to bool, and use __read_mostly.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Kevin Stefanov <kevin.stefanov@citrix.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Jan Beulich <jbeulich@suse.com>

v2:
 *Use __read_mostly
---
 xen/common/kexec.c      | 6 +++---
 xen/include/xen/kexec.h | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/xen/common/kexec.c b/xen/common/kexec.c
index ebeee6405a..c63db618a7 100644
--- a/xen/common/kexec.c
+++ b/xen/common/kexec.c
@@ -35,7 +35,7 @@
 #include <compat/kexec.h>
 #endif
 
-bool_t kexecing = FALSE;
+bool __read_mostly kexecing;
 
 /* Memory regions to store the per cpu register state etc. on a crash. */
 typedef struct { Elf_Note * start; size_t size; } crash_note_range_t;
@@ -383,7 +383,7 @@ void kexec_crash(enum crash_reason reason)
     if ( !test_bit(KEXEC_IMAGE_CRASH_BASE + pos, &kexec_flags) )
         return;
 
-    kexecing = TRUE;
+    kexecing = true;
 
     if ( kexec_common_shutdown() != 0 )
         return;
@@ -399,7 +399,7 @@ static long kexec_reboot(void *_image)
 {
     struct kexec_image *image = _image;
 
-    kexecing = TRUE;
+    kexecing = true;
 
     kexec_common_shutdown();
     machine_reboot_kexec(image);
diff --git a/xen/include/xen/kexec.h b/xen/include/xen/kexec.h
index 9f7a912e97..e66eb6a8e5 100644
--- a/xen/include/xen/kexec.h
+++ b/xen/include/xen/kexec.h
@@ -17,7 +17,7 @@ typedef struct xen_kexec_reserve {
 extern xen_kexec_reserve_t kexec_crash_area;
 extern paddr_t kexec_crash_area_limit;
 
-extern bool_t kexecing;
+extern bool kexecing;
 
 void set_kexec_crash_area_size(u64 system_ram);
 
@@ -81,7 +81,7 @@ void vmcoreinfo_append_str(const char *fmt, ...)
 #else /* !CONFIG_KEXEC */
 
 #define crashinfo_maxaddr_bits 0
-#define kexecing 0
+#define kexecing false
 
 static inline void kexec_early_calculations(void) {}
 static inline void kexec_crash(enum crash_reason reason)
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 12:41:55 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 12:41:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166049.303250 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDnYM-0006LD-K8; Wed, 11 Aug 2021 12:41:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166049.303250; Wed, 11 Aug 2021 12:41: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 1mDnYM-0006L6-Gj; Wed, 11 Aug 2021 12:41:50 +0000
Received: by outflank-mailman (input) for mailman id 166049;
 Wed, 11 Aug 2021 12:41:49 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fjOV=NC=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mDnYL-0006L0-DN
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 12:41:49 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 7de9fb0e-faa1-11eb-a071-12813bfff9fa;
 Wed, 11 Aug 2021 12:41:48 +0000 (UTC)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2113.outbound.protection.outlook.com [104.47.17.113])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-20-VGsDGEeoNkyXpKqIGnUOHw-1; Wed, 11 Aug 2021 14:41:46 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB7087.eurprd04.prod.outlook.com (2603:10a6:800:12a::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16; Wed, 11 Aug
 2021 12:41:44 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4394.025; Wed, 11 Aug 2021
 12:41:44 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P189CA0071.EURP189.PROD.OUTLOOK.COM (2603:10a6:102:b4::16) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.15 via Frontend Transport; Wed, 11 Aug 2021 12: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: 7de9fb0e-faa1-11eb-a071-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628685707;
	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=hJ0VCNioL1Qc6fdOFmswle3K7grO1QbfIHke2H1n6a4=;
	b=PdnwKRxwx3fL69FpRHqtPQ6MPREdzTwVFqsrHHspNALBa9fXUhaF1yc3TI/K4DGncE8VmP
	fqpH0dbMWvY5+nVScAzoWnrhhUGOk2l1kJjB2NHHKs8A9dJ/YO8Zlexuuh7XLUnu5vtVpj
	vOUysjg1EFp3uuPT2l6irFJh8xCXy0w=
X-MC-Unique: VGsDGEeoNkyXpKqIGnUOHw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=elF5jFFME+vB3Qt2NwE1XcjUhJpFDWTPj5vZHA/cd4ZkvnxubpS8/KF/UHlD9AYgNMkWyItiw0vCR0xUMqycCdyZhFwsCoCnrxkQkWXTvO41Kskf4hyI2XVMweWTSMcZE8Pn43idkP0dYX2/j7M2ua89ElwB9PEwC+doJCllQGVrbH9aUumaMdKHkJ5lzSvBJUW5fU8TVfHLb9F0CEYsH5Ii3EHJ5i4Ow7pDQUd/vnSajomM1MzC2RJVpvJrlk3k8SnbPaijumLF6+p6g2GgJm47aez2mP0UG3/ngRlLoavDm+pVHN2ZhnmT9C4nb6pXYqgaxUWVI0M3McdKN7eZJA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hJ0VCNioL1Qc6fdOFmswle3K7grO1QbfIHke2H1n6a4=;
 b=PP07N6QQqiA7P79nE5P4sp9R5dr8D83f/LGJEY6m/iOf8cRrkBxK7Q1MHURO8jbeuBakkXpB6goK3BqmJ3D0sgRHuS9nyYQ/M6CfYFyhETCiUDr1yCj/sAoMTaKX6I6pCJhUhdvGmhLUDuma0F70JNfAxzLUiwUytBCjskLl38sIiKSfpYrJrdwzcHd0ocwOUHYOw4+u+IaHJkEhQNhEpoeSUYdJzauA0kKTqt7TDTXf8rdGDP7FCzF8uqzOX0ZHT6f00ferblSJNDi8sFDEVc33pBb01Mzb873Q7k7++rlEy8q4BrTja71j8Ux8fGNvGVH4wSNhDfN6AVa6ppbwFw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v2 2/2] x86/ioapic: Remove use of TRUE/FALSE/1/0
To: Kevin Stefanov <kevin.stefanov@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>, Kevin Tian <kevin.tian@intel.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20210811123135.18195-1-kevin.stefanov@citrix.com>
 <20210811123135.18195-3-kevin.stefanov@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <c070b7e2-8cc1-0168-4369-5f294c446fbe@suse.com>
Date: Wed, 11 Aug 2021 14:41:42 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <20210811123135.18195-3-kevin.stefanov@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P189CA0071.EURP189.PROD.OUTLOOK.COM
 (2603:10a6:102:b4::16) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 84f2d225-a4ed-459b-8b5c-08d95cc5600a
X-MS-TrafficTypeDiagnostic: VI1PR04MB7087:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB7087EB5E6A45DB3321D7F4F1B3F89@VI1PR04MB7087.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:2582;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jb7LPeoE9nJXqLNx8/x/9bijxP9SyiazdogfA+IBPnVh4Hq3cCF/SCo92lAKF0PEFCwXNCgQ2/0+Wqc7Wu2AkkaUdbzFNC4xrnq0rx9J43UU6XYyo4dHpQDcq1MGJQOXvBa1TN35UGxOTLlpnAXh6QuwcaPy+lfotBWCNTGQn6YAXnRoFox8YETQHmGzVC4rb+nGxkampB70HPDw72LJ5K3Abnh2osHiLTzKnnkGFhKc2H0fc2tBioVAu39cOycH4sRDpmZRkl+h4Ekai5a2GKKbMojuAYY4aJftpyBPIjn/GfUFJGWxjV0ny6yqb5K4Js9gttWjKlRdiWzL0qHBa01sDZUfblADk7XvE185gX+tiVdNWjfr78ZtGoEJgNfltp/5FtRXG08rjhfgrF6Yy8ABIuET7/Dy5DkN8I8krJ4yAL/CwFEJ2Pj4MYJDZPoRavTtLcmqiZ+QbcbA90SJ9V+p7ysn2x9Gd69pFnRSRJX87mA1IPk/gANMRGA0v8V2FxiE4W/twfLLjGFnfXNMV6FcjKZmtIlm6ksBQBIHFBQWrL36zvo2jvcZ7igWW2XbhzgLAFJVo7YkaebVfmrW3sbVWyfj5zcAc/aCMOLM3ac+XjZ+4x49a3Ij3fbQ0CqOC+HwndWkphhaNn/BpNmUR3a/zRtA6AEJoBVdMEqigALN+g+BDFG4xMcRfbSrYRMmTVfRZHmsrui3iC96peTAIIttBqwxs5lSHhNEYh5U32Y=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(366004)(376002)(396003)(39860400002)(346002)(26005)(8676002)(31696002)(31686004)(956004)(186003)(54906003)(66476007)(66556008)(66946007)(53546011)(16576012)(316002)(8936002)(2616005)(478600001)(6486002)(38100700002)(86362001)(36756003)(2906002)(4326008)(5660300002)(6916009)(4744005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bnhpZVQ5bXRmWE9lOG5YZVZVMWJwVENCT2l1M01ZMFF5Y3lMTXp6cHpMdjRn?=
 =?utf-8?B?cHBtK2lwa1lmL3RuY20xM09lZmZPU3FhSTRPVTJXNW5wTzQyS0IzRHNBYklD?=
 =?utf-8?B?dXdQRmlDNVlZQ3J1dzFrZk1kYkhaQzJUTzNDUk1WSmZCeUxsVkppbmFQYTFT?=
 =?utf-8?B?QUxqMXIrZVpQTVYrQUYvSnhTODcxZUJkbENUVnV1REs4RU5IYlM4eTdKOUor?=
 =?utf-8?B?WGRBeHRuNWZnVDRDMDE4WjVPbVhDbjIweERWMHJ4RXpHaTZVSC9IUklMWmlQ?=
 =?utf-8?B?c2tFcnkzbEYwSFU4NGxUZGYwTGY1S3ZHVFZ6bVptNlpsZkRIdmlscjlKVWcx?=
 =?utf-8?B?aGZ5WlNSZHVZV1AxUm5iL2haTWZ2eXljRGNtc1JqNmMrZFdQVG5yTFVJZkdp?=
 =?utf-8?B?QmpvWWkzQldpa2RkSEFZS1BqUXVjS2kxeVQ5RVRQdWpkS1creXpWVnArZ2Na?=
 =?utf-8?B?OWN5L1lOTjRXVnVwOEVjNWRHYnFwMXp0U1dZdmJNcGMyczZjZFNyOGgwR1FC?=
 =?utf-8?B?Y2haQzh1REdMZ2RieVA3bVFUci81TmIyY3p6SDZyT3EyaXNUT0F1MWRGc1Nu?=
 =?utf-8?B?Q0MycTJuTmtOUE9ycldjVjJtbWJtVnBJdUJ3eUE3UFhVT3AycG5RM1JsMGV2?=
 =?utf-8?B?M3lURE9LR0hpU2hpaDYrV24rMytweGV6UGlLL3kvNzZGczZOZ3pVT1JsWGYw?=
 =?utf-8?B?US8wRU1rQTBFeTdoTVFuTlpBQWh4ak4wTUdrZHhmRnlTVWpnL1RLR3Z0STl4?=
 =?utf-8?B?b1lZSUhWY3JxZysxeklYbTQzdjBvRll0QnQ3c045bjlETFpDZW5TeE51VzlV?=
 =?utf-8?B?dFZCa3BlbHZFampJb01rdzVMbm10Vi9hc1ZZbGJZV3dmNkxRQm14dVdyd0dO?=
 =?utf-8?B?c2Fta0x4NFlZdmtNa1MxTlVyU0RiSUhPTFh3b1BMOXhsM1BKYWcvRkdXVGpM?=
 =?utf-8?B?bUJGVUZSc0NlbTRMVFphTTBhRDZSc0FxSjYvOUtjNDNKRlRkVHNkOVNFLzBp?=
 =?utf-8?B?TE43T0NMcVNYOU9ieS9lUVlnbUs4UnJjaE4vMG1sem91c0NjcjIxVUl1cGtQ?=
 =?utf-8?B?M29WaWJ5NDRMdVlIZlJnTEYwUHhFSnVwS3h0eXNDb3N5bHhtdmgzaWtEcThH?=
 =?utf-8?B?NUVkUVcvSVVlazY3eCtUTi8xYkxSUDZyUjIzNXNJRkNNYnBSR1craU9tRS8r?=
 =?utf-8?B?b0NvUTczR2d3RHIzOGkrQ3d2WTBzY0RONXFBVS9jQ1QwQVRYZ1hmWEtpRkNa?=
 =?utf-8?B?TzhNZWN5akYzME1wZWNnUHFLRVFYQzJnOGhhNVF5cGhMcXUrdFpaYnN1bkNm?=
 =?utf-8?B?OTlhY2syVFVEcXBDamdEY0Q5NWtEVkp0UEFCbFRIbHJlSzkyck9Zc0xZNUlu?=
 =?utf-8?B?VC9tQ09jUW5oZTM4R1AvcGh0Z0FmbzljdEFPUUhtWGhRWkZKN2JrUzlyZmJU?=
 =?utf-8?B?QitkWGgvL0ZmSGVjVGRadEtUMXMvYVJTL1FrSUtZWVE0Zzg4a3FiMzFPUXF6?=
 =?utf-8?B?Szl6S0hKdTdKNmxCbzlKekdnSEppcGc1U1lMdkY4NXZqWVhkM2NZY3RuZy9M?=
 =?utf-8?B?Q0ErTldVVTlncGNlVlI1SkNEdThlem9NamdLM042dWlEZ2UyMU0yNmFpYm1N?=
 =?utf-8?B?d2V2bTU3UE5GQ0ZzUGEwaTBIbWUxUjJqZTJENGMydTN4UnJ6d05VQW44ZjZ6?=
 =?utf-8?B?aXhPdGxMdWJyRmdUUWR5aVNVK2txOHhVcFQ2UGQ4R1JsOUo4OEhiZUNDSzJI?=
 =?utf-8?Q?ku9Vz3yVAz+5m2CbWgL59frhWIWOZygLnfSS7C3?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 84f2d225-a4ed-459b-8b5c-08d95cc5600a
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 12:41:44.0261
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: frvHFEbfUfO74xCmVW46t9IaKeHTmqOXS5X2YQz3JWfpnxyTq80fedPwoGaIpH7kAP52DBr3Tg97XcTVNuX/7w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7087

On 11.08.2021 14:31, Kevin Stefanov wrote:
> @@ -448,7 +448,7 @@ void io_apic_write_remap_rte(
>      struct vtd_iommu *iommu = ioapic_to_iommu(IO_APIC_ID(apic));
>      int saved_mask;
>  
> -    old_rte = __ioapic_read_entry(apic, ioapic_pin, 1);
> +    old_rte = __ioapic_read_entry(apic, ioapic_pin, false);

Oops? I'm relatively certain that things wouldn't work this way,
i.e. I'm wondering if you did actually test before submitting.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 13:04:11 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 13:04:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166054.303261 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDntr-0000ER-FB; Wed, 11 Aug 2021 13:04:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166054.303261; Wed, 11 Aug 2021 13: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 1mDntr-0000EK-BE; Wed, 11 Aug 2021 13:04:03 +0000
Received: by outflank-mailman (input) for mailman id 166054;
 Wed, 11 Aug 2021 13:04:01 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QUIh=NC=gmail.com=andr2000@srs-us1.protection.inumbo.net>)
 id 1mDntp-0000EE-I8
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 13:04:01 +0000
Received: from mail-wr1-x435.google.com (unknown [2a00:1450:4864:20::435])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 98525c6a-4e33-45c7-942a-7f3aa700216d;
 Wed, 11 Aug 2021 13:03:59 +0000 (UTC)
Received: by mail-wr1-x435.google.com with SMTP id l18so2960781wrv.5
 for <xen-devel@lists.xenproject.org>; Wed, 11 Aug 2021 06:03:59 -0700 (PDT)
Received: from localhost.localdomain ([185.199.97.5])
 by smtp.gmail.com with ESMTPSA id e25sm14948745wra.90.2021.08.11.06.03.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 11 Aug 2021 06: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: 98525c6a-4e33-45c7-942a-7f3aa700216d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=M7dYvqy2JKnNvZpctQwFCPyCRhTLQAGmnCBzvZ4UvjI=;
        b=puXgpLj5dqm6bodzBvazpSMD2EV81OGf7eZQNUUkQA9CrAqdZjKsx8MCedRByE2rtz
         gYNqTmXSCQUrRaCr9UGoX4jstr0C0Jd2DOlb0aUIrS+DfehpYXYMW4vFoWag0GEgSjPQ
         2sOfyfyUmaHUaICxPTwX4GmUaqLUIszFvwK3Hfs3209Xepb/nmVtDH6mHhETyoImnZcg
         u+dZWC+Mvg8gv+zIEFi8EgDsfM2UfD70ohaVhBpR39NwRYu/r9Cp4dNFUqAAToIcdnSB
         zl+SQ8SlMmuQ3V4qw2UmPLEWxOU/NuWFXlstje7Us1KX4GApPNyV9qZZbKr5wvInyJuv
         JUxA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=M7dYvqy2JKnNvZpctQwFCPyCRhTLQAGmnCBzvZ4UvjI=;
        b=TbklHMsRlAE+NmLhF7NVKpXi8mtotT9fXQXeO5vkC+WTcj9k96HEjh90gNARL3OQ1O
         PvTgdxzesq93m6uBYIpd4pxEdFE8yKS5zHJtb223TfziQBm+7DLvCN8b7WPppA6qCa24
         zi8ih7p+OL1EWqR/ySzQtxS1ObNoKLxsM2euDDDy9aRwGlR2WCMhzet3g2gDB1/x000p
         p8aeGX9vPw+gt7ign+YZbwhFJE82gTqEtCoKmTrc0sm+2u9Xtwi/nnyskY4LbPnREc0X
         0fEbR5BfC77fMKDDYNsZx3TwNAwkgEkMBz3CDKPGspXrWP4YZegWuskWs1sodVjAVthA
         sEGw==
X-Gm-Message-State: AOAM532vrpUTeNmWza48QgEh8WOG0w+eoQe/fNJsVPfG9TW7Y8qGtoJe
	aa4ZOugk2BMCSnub0Q8/pFU=
X-Google-Smtp-Source: ABdhPJwCOcvBt0OZVHzAjko+L3uV+bbR9CscECKdS+zB60fAfyeroqKVSnWH6a4eVUg28sp0SkorHA==
X-Received: by 2002:a5d:464a:: with SMTP id j10mr19304692wrs.190.1628687038800;
        Wed, 11 Aug 2021 06:03:58 -0700 (PDT)
From: Oleksandr Andrushchenko <andr2000@gmail.com>
To: sstabellini@kernel.org,
	julien@xen.org,
	Volodymyr_Babchuk@epam.com,
	xen-devel@lists.xenproject.org
Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH] xen/arm: smmu: Set/clear IOMMU domain for device
Date: Wed, 11 Aug 2021 16:03:56 +0300
Message-Id: <20210811130356.1143743-1-andr2000@gmail.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

When a device is assigned/de-assigned it is required to properly set
IOMMU domain used to protect the device. This assignment was missing,
thus it was not possible to de-assign the device:

(XEN) Deassigning device 0000:03:00.0 from dom2
(XEN) smmu: 0000:03:00.0:  not attached to domain 2
(XEN) d2: deassign (0000:03:00.0) failed (-3)

Fix this by assigning IOMMU domain on arm_smmu_assign_dev and reset it
to NULL on arm_smmu_deassign_dev.

Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
---
 xen/drivers/passthrough/arm/smmu.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/xen/drivers/passthrough/arm/smmu.c b/xen/drivers/passthrough/arm/smmu.c
index c234ad9c7f1e..373d9d4d123a 100644
--- a/xen/drivers/passthrough/arm/smmu.c
+++ b/xen/drivers/passthrough/arm/smmu.c
@@ -2768,6 +2768,7 @@ static int arm_smmu_assign_dev(struct domain *d, u8 devfn,
 			arm_smmu_destroy_iommu_domain(domain);
 	} else {
 		atomic_inc(&domain->ref);
+		dev_iommu_domain(dev) = domain;
 	}
 
 out:
@@ -2794,7 +2795,10 @@ static int arm_smmu_deassign_dev(struct domain *d, struct device *dev)
 	atomic_dec(&domain->ref);
 
 	if (domain->ref.counter == 0)
+	{
 		arm_smmu_destroy_iommu_domain(domain);
+		dev_iommu_domain(dev) = NULL;
+	}
 
 	spin_unlock(&xen_domain->lock);
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 13:32:25 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 13:32:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166060.303272 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDoL5-0003L1-LW; Wed, 11 Aug 2021 13:32:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166060.303272; Wed, 11 Aug 2021 13:32: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 1mDoL5-0003Ku-IA; Wed, 11 Aug 2021 13:32:11 +0000
Received: by outflank-mailman (input) for mailman id 166060;
 Wed, 11 Aug 2021 13:32: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 1mDoL4-0003Kn-LN
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 13:32: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 1mDoL4-0006bA-DT; Wed, 11 Aug 2021 13:32:10 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mDoL4-0003zB-6l; Wed, 11 Aug 2021 13:32:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=Rbd0+v3tZxtRB1VGMg/GjT7C8VAssbcdCSVQ08rPCqU=; b=dmujIkMMiDSIzqMAcCqEO0RBhX
	UGZsZ33n2Ny9Yo9iR5qrn8ugJC4tCnyR0C5M3o/BeWhkf8lxaEDvPFq9sc/xiZfENTv3GXz60disp
	3jDx4GZ5mExvmqNna9guMDNKUoNXdgvcxyKuTMP2k/pwWb1cXKTq/edCgR2kgCqA+ee0=;
Subject: Re: [PATCH V4 01/10] xen/arm: introduce domain on Static Allocation
To: Penny Zheng <penny.zheng@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org
Cc: Bertrand.Marquis@arm.com, Wei.Chen@arm.com, nd@arm.com
References: <20210728102758.3269446-1-penny.zheng@arm.com>
 <20210728102758.3269446-2-penny.zheng@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <7c99d0dd-ef62-10a8-a11e-d2ca52910591@xen.org>
Date: Wed, 11 Aug 2021 14:32:07 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <20210728102758.3269446-2-penny.zheng@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Penny,

On 28/07/2021 11:27, Penny Zheng wrote:
> Static Allocation refers to system or sub-system(domains) for which memory
> areas are pre-defined by configuration using physical address ranges.
> Those pre-defined memory, -- Static Memory, as parts of RAM reserved in the
> beginning, shall never go to heap allocator or boot allocator for any use.
> 
> Domains on Static Allocation is supported through device tree property
> `xen,static-mem` specifying reserved RAM banks as this domain's guest RAM.
> By default, they shall be mapped to the fixed guest RAM address
> `GUEST_RAM0_BASE`, `GUEST_RAM1_BASE`.
> 
> This patch introduces this new `xen,static-mem` feature, and also documents
> and parses this new attribute at boot time and stores related info in
> static_mem for later initialization.
> 
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
> ---
>   docs/misc/arm/device-tree/booting.txt | 40 +++++++++++++++++++++
>   xen/arch/arm/bootfdt.c                | 51 +++++++++++++++++++++++++++
>   xen/include/asm-arm/setup.h           |  2 ++
>   3 files changed, 93 insertions(+)
> 
> diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt
> index 5243bc7fd3..2a1ddca29b 100644
> --- a/docs/misc/arm/device-tree/booting.txt
> +++ b/docs/misc/arm/device-tree/booting.txt
> @@ -268,3 +268,43 @@ The DTB fragment is loaded at 0xc000000 in the example above. It should
>   follow the convention explained in docs/misc/arm/passthrough.txt. The
>   DTB fragment will be added to the guest device tree, so that the guest
>   kernel will be able to discover the device.
> +
> +
> +Static Allocation
> +=============
> +
> +Static Allocation refers to system or sub-system(domains) for which memory
> +areas are pre-defined by configuration using physical address ranges.
> +Those pre-defined memory, -- Static Memory, as parts of RAM reserved in the
> +beginning, shall never go to heap allocator or boot allocator for any use.

I don't understand "as parts of RAM reserved in the beginning". Could 
you clarify it?

> +
> +Domains on Static Allocation is supported through static memory property,
> +defined under according /domUx in the name of "xen,static-mem", which are

We don't require the domU node to be called /domUx.

> +specifying physical RAM as this domain's guest RAM.
>

How about:

Memory can be statically allocated to a domain using the property 
"xen,static-mem" defined in the domain configuration.

> +The size of address-cells/size-cells must be defined in

I would say "The number of cells for the address and the size must be 
defined using respectively the properties..."

> +"#xen,static-mem-address-cells" and "#xen,static-mem-size-cells".
> +
> +On memory allocation, these pre-defined static memory ranges shall be
> +firstly mapped to the fixed guest bank "GUEST_RAM0". Until it exhausts the
> +`GUEST_RAM0_SIZE`, then it will seek to `GUEST_RAM1_BASE`, and so on.
> +`GUEST_RAM0` may take up several pre-defined physical RAM regions.

GUEST_RAM0 & co are not part of the stable ABI. So I don't think the 
documentation should mention them.

But I am not convinced we should provide a guarantee how the allocation 
will happen. Why does it matter?

> +
> +The dtb property should look like as follows:

Do you mean "node" rather than "property"?

> +
> +    / {
> +        chosen {
> +            domU1 {
> +                compatible = "xen,domain";
> +                #address-cells = <0x2>;
> +                #size-cells = <0x2>;
> +                cpus = <2>;
> +                #xen,static-mem-address-cells = <0x1>;
> +                #xen,static-mem-size-cells = <0x1>;
> +                xen,static-mem = <0x30000000 0x20000000>;
> +                ...
> +            };
> +        };
> +    };
> +
> +DomU1 will have a static memory of 512MB reserved from the physical address
> +0x30000000 to 0x50000000.

I would write "This will reserve a 512MB region starting at the host 
physical address 0x30000000 to be exclusively used by DomU1".

> diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
> index 476e32e0f5..d2714446e1 100644
> --- a/xen/arch/arm/bootfdt.c
> +++ b/xen/arch/arm/bootfdt.c
> @@ -193,6 +193,55 @@ static int __init process_reserved_memory_node(const void *fdt, int node,
>       return 0;
>   }
>   
> +static int __init process_static_memory(const void *fdt, int node, void *data)
> +{

This is pretty much a copy of process_memory_node(). So can we avoid the 
duplication?

I think I mentionned it in the past but I can't find the outcome.

> +    int i = 0, banks;
> +    const __be32 *cell;
> +    paddr_t start, size;
> +    u32 address_cells, size_cells, reg_cells;
> +    struct meminfo *mem = data;
> +    const struct fdt_property *prop;
> +
> +
> +    address_cells = device_tree_get_u32(fdt, node,
> +                                        "#xen,static-mem-address-cells", 0);
> +    size_cells = device_tree_get_u32(fdt, node,
> +                                     "#xen,static-mem-size-cells", 0);
> +    if ( (address_cells == 0) || (size_cells == 0) )
> +    {
> +         printk("Missing \"#xen,static-mem-address-cell\" or "
> +                 "\"#xen,static-mem-address-cell\".\n");
> +         return -EINVAL;
> +    }
> +    reg_cells = address_cells + size_cells;
> +
> +    prop = fdt_get_property(fdt, node, "xen,static-mem", NULL);
> +    /*
> +     * Static memory shall belong to a specific domain, that is,
> +     * its node `domUx` has compatible string "xen,domain".
> +     */

This code is just checking the node compatible is "xen,domain". So I 
would drop the "domUx". This is also...

> +    if ( fdt_node_check_compatible(fdt, node, "xen,domain") != 0 )
> +    {
> +        printk("xen,static-mem property can only be located under /domUx node.\n");

... not correct.

> +        return -EINVAL;
> +    }
> +
> +    cell = (const __be32 *)prop->data;
> +    banks = fdt32_to_cpu(prop->len) / (reg_cells * sizeof (u32));
> +
> +    for ( ; i < banks && mem->nr_banks < NR_MEM_BANKS; i++ )
> +    {
> +        device_tree_get_reg(&cell, address_cells, size_cells, &start, &size);
> +        mem->bank[mem->nr_banks].start = start;
> +        mem->bank[mem->nr_banks].size = size;
> +        mem->nr_banks++;
> +    }
> +
> +    if ( i < banks )
> +        return -ENOSPC;
> +    return 0;
> +}
> +
>   static int __init process_reserved_memory(const void *fdt, int node,
>                                             const char *name, int depth,
>                                             u32 address_cells, u32 size_cells)
> @@ -346,6 +395,8 @@ static int __init early_scan_node(const void *fdt,
>           process_multiboot_node(fdt, node, name, address_cells, size_cells);
>       else if ( depth == 1 && device_tree_node_matches(fdt, node, "chosen") )
>           process_chosen_node(fdt, node, name, address_cells, size_cells);
> +    else if ( depth == 2 && fdt_get_property(fdt, node, "xen,static-mem", NULL) )

How about checking the compatible instead?

> +        process_static_memory(fdt, node, &bootinfo.static_mem);

You want "rc = ..." so the error is propaged if there is an issue (e.g. 
we don't have space for more static region).

>   
>       if ( rc < 0 )
>           printk("fdt: node `%s': parsing failed\n", name);
> diff --git a/xen/include/asm-arm/setup.h b/xen/include/asm-arm/setup.h
> index c4b6af6029..e076329fc4 100644
> --- a/xen/include/asm-arm/setup.h
> +++ b/xen/include/asm-arm/setup.h
> @@ -74,6 +74,8 @@ struct bootinfo {
>   #ifdef CONFIG_ACPI
>       struct meminfo acpi;
>   #endif
> +    /* Static Memory */
> +    struct meminfo static_mem;
>   };
>   
>   extern struct bootinfo bootinfo;
> 

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 11 13:35:21 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 13:35:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166067.303282 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDoO8-0003xF-46; Wed, 11 Aug 2021 13:35:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166067.303282; Wed, 11 Aug 2021 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 1mDoO8-0003x8-1K; Wed, 11 Aug 2021 13:35:20 +0000
Received: by outflank-mailman (input) for mailman id 166067;
 Wed, 11 Aug 2021 13:35: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 1mDoO6-0003x2-Vp
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 13:35: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 1mDoO6-0006f1-Qx; Wed, 11 Aug 2021 13:35:18 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mDoO6-0004UN-Km; Wed, 11 Aug 2021 13:35: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:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=ggsBGaK8kKN5q833VK3TF/BRHDnBU5gHpAvHmIMQDNM=; b=5NTU1FHg6uUwoFwePluL+wq3MM
	44twdJbSyDSylWc9hGUmOaOrnz+CE9DvXIs8TzFvpbFftTLIlQn4Dd65wqfHsphWof5WWG7Nmcmmw
	RaeC7nWJ/s6c+M9uGWCqR9AJQhwFU7X+kMfmq2QJ1b698VLJy+TDNK+LrcS4XuKyB3uw=;
Subject: Re: [PATCH V4 02/10] xen/arm: introduce new helper
 device_tree_get_meminfo
To: Penny Zheng <penny.zheng@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org
Cc: Bertrand.Marquis@arm.com, Wei.Chen@arm.com, nd@arm.com
References: <20210728102758.3269446-1-penny.zheng@arm.com>
 <20210728102758.3269446-3-penny.zheng@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <9c4ca259-1a9d-be2c-dd5b-8456f1caaf6e@xen.org>
Date: Wed, 11 Aug 2021 14:35:16 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <20210728102758.3269446-3-penny.zheng@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Penny,

On 28/07/2021 11:27, Penny Zheng wrote:
> A few functions iterate over the device tree property to get memory info,
> like "reg" or "xen,static-mem", so this commit creates a new helper
> device_tree_get_meminfo to extract the
> common codes.
> 
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>

Ah, this is where you did the consolidation. Sorry, I didn't notice this 
patch.

In general, we are avoiding to introduce code and then rework it in the 
same series. Instead, the rework is done first and then the function is 
used.

So can you move this patch first?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 11 13:48:15 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 13:48:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166074.303293 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDoaV-0005SL-94; Wed, 11 Aug 2021 13:48:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166074.303293; Wed, 11 Aug 2021 13:48: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 1mDoaV-0005SE-6A; Wed, 11 Aug 2021 13:48:07 +0000
Received: by outflank-mailman (input) for mailman id 166074;
 Wed, 11 Aug 2021 13:48: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 1mDoaT-0005S8-UU
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 13:48: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 1mDoaT-0006t5-MI; Wed, 11 Aug 2021 13:48:05 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mDoaT-0005xI-Fp; Wed, 11 Aug 2021 13:48: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:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=IkAXXFlsBRUseQzreJ0fv3ZlxizVvRBnP+SmNVx9F1I=; b=6YQaf2Y5rA+GP7YX+EhujNYBwS
	QfrmeNMBcUXnGLbGC608nTLtk58TNiJ7IxjYfcm9KLZprWhwg+iU8IajfTOjvzyHTnN55ZCvrqYi7
	xw4Mc+HGO+ws/wuR0aYIqz/r7r6DWcq2V5ys7MnbuVKHuOm9uJwOpztzzR2GtYHHJoLo=;
Subject: Re: [PATCH V4 03/10] xen/arm: handle static memory in
 dt_unreserved_regions
To: Penny Zheng <penny.zheng@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org
Cc: Bertrand.Marquis@arm.com, Wei.Chen@arm.com, nd@arm.com
References: <20210728102758.3269446-1-penny.zheng@arm.com>
 <20210728102758.3269446-4-penny.zheng@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <c861b7c0-e894-61d0-8b29-77c1753661ee@xen.org>
Date: Wed, 11 Aug 2021 14:48:03 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <20210728102758.3269446-4-penny.zheng@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Penny,

On 28/07/2021 11:27, Penny Zheng wrote:
> static memory regions overlap with memory nodes. The
> overlapping memory is reserved-memory and should be
> handled accordingly:
> dt_unreserved_regions should skip these regions the
> same way they are already skipping mem-reserved regions.
> 
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
> ---
>   xen/arch/arm/setup.c | 47 ++++++++++++++++++++++++++++----------------
>   1 file changed, 30 insertions(+), 17 deletions(-)
> 
> diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
> index 63a908e325..f569134317 100644
> --- a/xen/arch/arm/setup.c
> +++ b/xen/arch/arm/setup.c
> @@ -200,6 +200,13 @@ static void __init dt_unreserved_regions(paddr_t s, paddr_t e,
>                                            int first)
>   {
>       int i, nr = fdt_num_mem_rsv(device_tree_flattened);
> +    /*
> +     * There are two types of reserved memory stored in bootinfo, one defines
> +     * in /reserved-memory node, the other refers to domain on static allocation
> +     * through "xen,static-mem" property.
> +     */
> +    int nr_rsv_type = 2, t = 0, prev_nr;
> +    struct meminfo *rsv_type[2] = {&bootinfo.reserved_mem, &bootinfo.static_mem};

Looking at the rest of the series, it doesn't look like there is a real 
benefits to have the static memory and reserved memory in separate 
arrays as they are walked only a few times and they are both meant to be 
small. In fact, I think this code is lot more difficult to read.

So it would be best to merge the two arrays in one. We can add a flag in 
the structure to differentiate between "static" and "reserved" memory.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 11 14:08:30 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 14:08:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166080.303305 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDou9-0007rU-57; Wed, 11 Aug 2021 14:08:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166080.303305; Wed, 11 Aug 2021 14:08:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDou9-0007rN-1H; Wed, 11 Aug 2021 14:08:25 +0000
Received: by outflank-mailman (input) for mailman id 166080;
 Wed, 11 Aug 2021 14:08: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 1mDou7-0007rH-Ef
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 14:08: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 1mDou7-0007LC-8z; Wed, 11 Aug 2021 14:08:23 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mDou7-0007rx-2n; Wed, 11 Aug 2021 14:08:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=Qb/PZsdrtDCyxxBbF55SW+zD9DaGezK3T8Jd0KmDmPw=; b=CrI/Nqo7uN1FWxuF0GTwQosbbb
	aM0EzRk80KVHlJaDyzl54Ye2FserFW1P205YK2gb4pYN0lIzTszHjuiQwrmzzfAZs3SF0xITDsHsz
	Al5IToyMvQ7/g3poiVcZfmejLhdEvkWdlXnmxlx08f0HXmyUT9g/vgaVDDG2RxdHDWdQ=;
Subject: Re: [PATCH V4 04/10] xen: introduce mark_page_free
To: Penny Zheng <penny.zheng@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org
Cc: Bertrand.Marquis@arm.com, Wei.Chen@arm.com, nd@arm.com
References: <20210728102758.3269446-1-penny.zheng@arm.com>
 <20210728102758.3269446-5-penny.zheng@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <8f5c3632-adf8-86a6-4955-4628c022c098@xen.org>
Date: Wed, 11 Aug 2021 15:08:21 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <20210728102758.3269446-5-penny.zheng@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Penny,

On 28/07/2021 11:27, Penny Zheng wrote:
> This commit defines a new helper mark_page_free to extract common code,
> like following the same cache/TLB coherency policy, between free_heap_pages
> and the new function free_staticmem_pages, which will be introduced later.
> 
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
> Acked-by: Jan Beulich <jbeulich@suse.com>
> ---
>   xen/common/page_alloc.c | 89 ++++++++++++++++++++++-------------------
>   1 file changed, 48 insertions(+), 41 deletions(-)
> 
> diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
> index 958ba0cd92..a3ee5eca9e 100644
> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -1376,6 +1376,53 @@ bool scrub_free_pages(void)
>       return node_to_scrub(false) != NUMA_NO_NODE;
>   }
>   
> +static void mark_page_free(struct page_info *pg, mfn_t mfn)
> +{
> +    ASSERT(mfn_x(mfn) == mfn_x(page_to_mfn(pg)));

NIT: If I got it correctly, the assumption is page_to_mfn() is 
expensive, so we want to avoid the conversation. I am not sure I agree 
with that but I would at least suggest to write it down in the commit 
message.

So it is easier for the next person to figure out the rationale. 
Something like:

"The PDX compression makes makes conversion between the MFN and the page 
can be potentially non-trivial. As the function is internal, pass the 
MFN and the page. They are both expected to match."

For the rest of the patch:

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

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 11 14:08:38 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 14:08:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166081.303316 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDouM-0008BV-EB; Wed, 11 Aug 2021 14:08:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166081.303316; Wed, 11 Aug 2021 14:08:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDouM-0008BO-B6; Wed, 11 Aug 2021 14:08:38 +0000
Received: by outflank-mailman (input) for mailman id 166081;
 Wed, 11 Aug 2021 14:08:37 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vAfO=NC=oracle.com=boris.ostrovsky@srs-us1.protection.inumbo.net>)
 id 1mDouL-0008Al-2F
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 14:08:37 +0000
Received: from mx0b-00069f02.pphosted.com (unknown [205.220.177.32])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 9ddd9284-faad-11eb-a08b-12813bfff9fa;
 Wed, 11 Aug 2021 14:08:35 +0000 (UTC)
Received: from pps.filterd (m0246631.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id
 17BE5Zcm014476; Wed, 11 Aug 2021 14:07:38 GMT
Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71])
 by mx0b-00069f02.pphosted.com with ESMTP id 3aceudr70j-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Wed, 11 Aug 2021 14:07:37 +0000
Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1])
 by aserp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 17BE0c0O065936;
 Wed, 11 Aug 2021 14:07:36 GMT
Received: from nam10-mw2-obe.outbound.protection.outlook.com
 (mail-mw2nam10lp2104.outbound.protection.outlook.com [104.47.55.104])
 by aserp3030.oracle.com with ESMTP id 3abx3vtmjf-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Wed, 11 Aug 2021 14:07:36 +0000
Received: from BLAPR10MB5009.namprd10.prod.outlook.com (2603:10b6:208:321::10)
 by MN2PR10MB4383.namprd10.prod.outlook.com (2603:10b6:208:1d4::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.21; Wed, 11 Aug
 2021 14:07:33 +0000
Received: from BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::7cd0:8600:6e6e:aa8c]) by BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::7cd0:8600:6e6e:aa8c%7]) with mapi id 15.20.4415.016; Wed, 11 Aug 2021
 14:07:33 +0000
Received: from [10.74.99.104] (138.3.201.40) by
 BYAPR02CA0067.namprd02.prod.outlook.com (2603:10b6:a03:54::44) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.13 via Frontend Transport; Wed, 11 Aug 2021 14:07: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: 9ddd9284-faad-11eb-a08b-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=subject : to : cc :
 references : from : message-id : date : in-reply-to : content-type :
 content-transfer-encoding : mime-version; s=corp-2021-07-09;
 bh=pOImKLoaG3NEUcdH9TmpuA+OG810TNyWPXJfSzA99yc=;
 b=htbBlgVi1WumoUza2kQJECPUbrc/WQylh7Pk9tDqfA+TZObFnB8uEwbY5bPOcKjtRnmZ
 1IewIkG4FkQ33C+AefGXtQgzS0QV7T9g4o1WawFQwQz7EVsiVtgt7OSVGJGqvDI0XIfy
 90ErAzZlcrhPQTw3zkpidRa3LQyhKDK4e1pAfj/l4xIq0ZH/XdJHuJ1bYlyD8UOHbG46
 ZybVn8J7UlY59PSDfjn7dT8oH+RPntz5qPomqlIwC3FqXYc9SpvGDDg/gKsOlPm3DLHH
 xeTweR/8mL93zhHrGYbMajCj0QvXeaFp/qGlYn8oO+VeoHagomIjSetOJb2P4wL3gCer 4w== 
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=subject : to : cc :
 references : from : message-id : date : in-reply-to : content-type :
 content-transfer-encoding : mime-version; s=corp-2020-01-29;
 bh=pOImKLoaG3NEUcdH9TmpuA+OG810TNyWPXJfSzA99yc=;
 b=y4WCRMVpM3TTz7RXs5VCr8US/LYM6OD3o1S4HZOdHfTSOdyXy4FRpy/HKFfHK73NnLEE
 QqtA0IoInjDPB44zxHYGRoEg6JGHcRivpc5zGqlqUPI3wsd98KtFNhF1vLdx673vwC+i
 Xg49g10mWnclkg3GFMPuS3oxNmxlYXqljN4A2bLNWW2rPZEangR7Fo3eQUSXzKbyyxAV
 f8sB+KFUPdmNQ5RkmT71WuPK2WbZ0b8htkuVR1e3ZVVVE18YcB2iymwD9JGWYqbjKkp+
 25JAmP363ddoPdgiwR3Amuj2SsvIwIMSkPqDuoQ4N5/d/JiRTW1l1S9ctO9Ff6UlUw2l Jw== 
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JcD6tecuqXHlhqWjolVakgihSfP7tsDVAPR9EIvUvAGBaLSQ+/EU57+eqIpMgELeWunDXM5WPbLD3v8Fn81boBnYk+NNKKCo3Uz67AfRflQBrQ2jUZa/JBi6SugVur0vg6bCq/ULjVgai/4FhddTkwR/9Dvw8QAz0wYN9/a9wHcYbwyiLtA0S2d3U4feICGWxAEE3lww9TDb6HYWP3WvbRl23g8RUyi+oUvx8th96S+7XS96jE7V7+BsyvyRL0dj85c1mz0FvHQx1j+q5OcF1pTGVUMq2rtiQ70DFK2slCoFIVFqo/8pFOQW8MLh3iM3mfwG8s44QE19+dhib3P00w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pOImKLoaG3NEUcdH9TmpuA+OG810TNyWPXJfSzA99yc=;
 b=m9o2oatopRzOmhOy3+ixn4kdYNeNM/uuduVG/7h5Oh3BlyZsVlrEZh+9adrwuxWpqYxiIYiV7nCZ3VDbZYrPV57KDy8+U1T9MOwCgYf7j+qm1QZQo2+9asEDG874LyhvGnKJS+A8CPWbgmnGNUHklLKKATH5Rg+WEK4+Cw+IYiw1wYtSeq2bkIGhhRWDLyi1cFPzX3SaxXW5GADg+mWQJD9iKttVymtmodOFi8xKfLiLwtxrvAmnnHw2XLMZVvboPpf9CRy2j0DTsVuVK++Z9K1BztS94aM2DAIZkgRlF/EeE9nethzeEzgs5Ttz9epFOZZiSOHjuU/FZ40HAjt/yQ==
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=pOImKLoaG3NEUcdH9TmpuA+OG810TNyWPXJfSzA99yc=;
 b=fUs7Ii9YJab4cDa7yxImZTgPE+wooTFsJiF5272pYSZnzRWo4kU1iIJrQG0oCy68whtLhCQFlhNSZUfpYsT30fo02aa64N8+RD29kCyCRrrkshH0S6gyUTsYh1RaXVoF1wJsCGQ0xqkZJY+KU8Z6LAGSGAO6+eNBC5FOuVuoSNU=
Authentication-Results: vger.kernel.org; dkim=none (message not signed)
 header.d=none;vger.kernel.org; dmarc=none action=none header.from=oracle.com;
Subject: Re: [PATCH v3 7/8] PCI: Replace pci_dev::driver usage by
 pci_dev::dev.driver
To: =?UTF-8?Q?Uwe_Kleine-K=c3=b6nig?= <u.kleine-koenig@pengutronix.de>,
        Bjorn Helgaas <helgaas@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>, linux-pci@vger.kernel.org,
        kernel@pengutronix.de, Russell Currey <ruscur@russell.cc>,
        Oliver O'Halloran <oohall@gmail.com>,
        Michael Ellerman <mpe@ellerman.id.au>,
        Benjamin Herrenschmidt <benh@kernel.crashing.org>,
        Paul Mackerras <paulus@samba.org>,
        Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>,
        Arnaldo Carvalho de Melo <acme@kernel.org>,
        Mark Rutland <mark.rutland@arm.com>,
        Alexander Shishkin <alexander.shishkin@linux.intel.com>,
        Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
        Thomas Gleixner <tglx@linutronix.de>, Borislav Petkov <bp@alien8.de>,
        x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
        Frederic Barrat <fbarrat@linux.ibm.com>,
        Andrew Donnellan
 <ajd@linux.ibm.com>, Arnd Bergmann <arnd@arndb.de>,
        Bjorn Helgaas <bhelgaas@google.com>, Juergen Gross <jgross@suse.com>,
        Stefano Stabellini <sstabellini@kernel.org>,
        Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
        Mathias Nyman <mathias.nyman@intel.com>, linuxppc-dev@lists.ozlabs.org,
        linux-perf-users@vger.kernel.org, xen-devel@lists.xenproject.org,
        linux-usb@vger.kernel.org
References: <20210811080637.2596434-1-u.kleine-koenig@pengutronix.de>
 <20210811080637.2596434-8-u.kleine-koenig@pengutronix.de>
From: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Message-ID: <1f843d53-b6ac-762e-eefc-46afd9ae0ff7@oracle.com>
Date: Wed, 11 Aug 2021 10:07:17 -0400
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
In-Reply-To: <20210811080637.2596434-8-u.kleine-koenig@pengutronix.de>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Content-Language: en-US
X-ClientProxiedBy: BYAPR02CA0067.namprd02.prod.outlook.com
 (2603:10b6:a03:54::44) To BLAPR10MB5009.namprd10.prod.outlook.com
 (2603:10b6:208:321::10)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 07a3b679-01e9-44ca-8ff0-08d95cd15d4b
X-MS-TrafficTypeDiagnostic: MN2PR10MB4383:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: 
	<MN2PR10MB4383E6DA2996D6C0C9F08B228AF89@MN2PR10MB4383.namprd10.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:326;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 
	mJ0paZ6vBETkR6J4HwzVLR1fjdkNhZxr/ppMGrmSeAqrWmeNWK6q6wY8G92t9AOnVKJsm0PNHcD9IrW/XXUxID+UAKCk6qooAW0iXSqZWnhVJrxYlDkCBA65f8NK3txkXCOx25Qwm3Np0udtSxLaZgEy1Vk19Rsd7oywIoUr5geUXlsxOiCcqoRc0rMjGOrfSru2BtYGgsC0vvvpW+O3E0k5Px0bWJymOCtdYbMizDXDBDi8oly6k3MHIMHvZkAJ3tbtym0etE9zvlpYjT3ni46Cpooy9u4G6/SufrVUEVT7KMlQAIZ4kfkfc5ewPgzYcfUkiEwLzoQVMcwXwq/GJXc88+ji1kQ3YtKro64yjHiJT8Dg8eRbG3CWIl1WVPnkRfq3+FCBtN2aHUKUSmWraOxWOV9KlBsmjAdWndJ9DX9IycUWfUdVEGOvN5hrT371qnVK2QBcxF/sbeFza4/GoSpfHQoB5zzrCGnQUbToGdqsCOJV8sFQP13JBTXynzqUzkamYqyz6iFdBQc5GP22Hp5o2aFFsVcW0nSh2p0me6dHOYYZnfq7kerQCdUZBoM4JlOD6Vv0q+zfKyC9h+MF0CnDBgezTGH9SOzkjs9XHcwXlbLpVMa8D0e8ffzO1ZeV7H7CQgsTiNZrZ8/x0m2ze13gpS7Xr4E/Uj4hBKveQ/9rstK3lmK+TaaFNJYe2e0geOhdGzyDgQsDBVqR0mK8HJzaxQTHjBCqyazb0vd9SsU=
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:(376002)(39860400002)(136003)(366004)(396003)(346002)(478600001)(53546011)(86362001)(31696002)(36756003)(110136005)(186003)(7416002)(26005)(6666004)(54906003)(2616005)(8676002)(2906002)(44832011)(66556008)(4744005)(6486002)(7406005)(956004)(66946007)(66476007)(8936002)(5660300002)(16576012)(31686004)(316002)(38100700002)(4326008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?utf-8?B?SGRuTmt6aEhSY1ZVb2duVXBHWHNrdjBKQlIrZVEzZG9WV1dIWUhYeGg3eUJM?=
 =?utf-8?B?QmN6VjdhT0RNZXptWldXWDBxd2MyYmxFTERJT3JOZXF3U244MVhBZ1Vqamdo?=
 =?utf-8?B?bFc2K3hCSGNtYVlDaTF5eWliK01DdUFJTTJmWTRjVndPSi9ISGVUSGdNY2xY?=
 =?utf-8?B?V2dSZ0QwV2RaNVFyRWlKSEFKQ3NXL3p2V0hENEJNQXZ2ODI2azFIRStRb3lV?=
 =?utf-8?B?aGdVclpUNURmN3F5Lzd6dGRqdTJUc3FIMm1IZXpWaXpudkt1ZUtVSDBNaHNy?=
 =?utf-8?B?bzZ6N2V1aEtUaFJDRklDSVNKZHIxZks5Q2IxeHRLY1VWK0J6TnluQlZBNkxk?=
 =?utf-8?B?bDgvMDFKU3lJOGN1bzQyUXVOWlRZRTlzaFR5YUtHTlRRRzdaU0tYRDJTZ3Ir?=
 =?utf-8?B?ZDRLSVZ6VFFiYkV3WHFyeXI5MmJqMnpxb1prcWVlQ2VXMU9aOGJ2NHB2cmk1?=
 =?utf-8?B?VWJCU1VpY0MycEtnRmJaRHpWYkxWWk01RGkrVTU1SmFzWDRCSmlqbzhlUmdr?=
 =?utf-8?B?ZXVVNmxGUDV4SWd1S1Q0Y29JSjh3ZTB5TUpTano1ZEg0ZG5Ia0JBUTJDbGVE?=
 =?utf-8?B?WkhtRU4vUWpHZDQ4bW0rdjJaRWpMZ0pmdTh3SFpxdXA4R3BLbjFvL3dwS0xw?=
 =?utf-8?B?UGJQMmJCbDJUL1NwMkpvMTBKMGU1cVU3TUJCb3c5bzBBR0JqdDBOZXIwaTFq?=
 =?utf-8?B?NUNRclB5UTBXT000R0llR2txWmRMbERGbk9LdmpYOGRzQ1hDMDQ2MUUwWEN0?=
 =?utf-8?B?aUoxcXRXNG5mMjB6Rk1zRWY3cWQ1dFBHOUdzQ2ZXbWVTYkdyZ01waGo3dXNv?=
 =?utf-8?B?bVhjOSt3UlYyakRCSEtQdzl3amdhTHVmN1YwekNYajhLbXRTUkN4QVRHcEYw?=
 =?utf-8?B?VDgxRE1qcFJGbTdDanA4QnhKRUdISWZPbG4rbFJWb3FQYTBvVTV6c1cxL1V6?=
 =?utf-8?B?cW5oME1XbGJiWnV6N2NWQlpaZUVVMURrOFM1aml6UlJTaSs4TTQ1NlU3dlBo?=
 =?utf-8?B?UlpxMWNFSExvMkQ0azZLMWpCLzlJam51WTV1ZjJGYktydlJ3OFdwamhFcVdo?=
 =?utf-8?B?VG55aG1yZEhrUDBwZGlmSlg2aDhidEpKUG5YRjcyaHRZTk15cjZxK09ZRFU3?=
 =?utf-8?B?SHNndk80bm1rN1BhKzRNNEJpTXFtUkZCU0VvS1JGY1RQTm80TEVrMWJ3TENI?=
 =?utf-8?B?T0VQd0t2VXlyYk5PTVozK1B3b1ZJTS9wSk5WTnkyWmxzdzd0UHhwdlcyMkFN?=
 =?utf-8?B?aVk1Q0UwWEd4VWZyZFhLdVViRG5qUStqdUtFRXhUMnhZMk9GYzFFdmt4WGEr?=
 =?utf-8?B?aEZmMkJRYzJ3N09IMXJTZHg2Vko2QmpTMzA4Q3lsS2hBcmNXdWphR2JXTDVr?=
 =?utf-8?B?ckZGZmdyUVJuZWM0czdySEc1YkszeGMxUDBIMUcxV1VqTzdycytsdTZCQ25V?=
 =?utf-8?B?NVU4azRiOTB0MGpTMzk3Q1Z3dkFtMmJuTFpvSEJQbjJiNFBsRDFvMnkvYkZT?=
 =?utf-8?B?RHIydjVJeFNGcUJOZ2VXcWhvN3pPelRLNThSb2tlbjRZU29uaTZHSzdmZXM1?=
 =?utf-8?B?aG5tYmwrTDFvbmFsVk5CaHVCMnE3OEdPU1V1YmZ5QUJWU2p3bHI4MVJWS2Iw?=
 =?utf-8?B?SkZzWFNpdmtTNDNlYmtQZGs0S1BodnV1eGh5Rk9FY01CUHhXWnJSSytqS2lx?=
 =?utf-8?B?MUFlVW1qRTUwYnFHT0VpSHNEODJkZDYvQnJzSDQ0akVYU0JSMGg5RmJ5bDd5?=
 =?utf-8?Q?luX84VVeQz3HtwhMslpQxWQyrzW8zrWWGyfQSZz?=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 07a3b679-01e9-44ca-8ff0-08d95cd15d4b
X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5009.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 14:07:33.5666
 (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: jwolo0mL32BhKNdxgkaJuu73dp6oVF9cKNvE7zf4ZLjxzSfrtmEUBgVaa4GyqdHXxilscVUzMHnq7cA2q1UNTfFFxNrq7xFv8SskM2b/DXk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR10MB4383
X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=10072 signatures=668682
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 mlxscore=0 bulkscore=0
 spamscore=0 phishscore=0 mlxlogscore=999 suspectscore=0 malwarescore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2107140000
 definitions=main-2108110095
X-Proofpoint-ORIG-GUID: 35MWkgmyIv3VJo1ExJX6uD_LN4w-vk7O
X-Proofpoint-GUID: 35MWkgmyIv3VJo1ExJX6uD_LN4w-vk7O


On 8/11/21 4:06 AM, Uwe Kleine-König wrote:
> struct pci_dev::driver contains (apart from a constant offset) the same
> data as struct pci_dev::dev->driver. Replace all remaining users of the
> former pointer by the latter to allow removing the former.
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>


Xen:


Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>




From xen-devel-bounces@lists.xenproject.org Wed Aug 11 14:08:43 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 14:08:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166082.303327 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDouR-0008W6-MX; Wed, 11 Aug 2021 14:08:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166082.303327; Wed, 11 Aug 2021 14:08:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDouR-0008Vx-JR; Wed, 11 Aug 2021 14:08:43 +0000
Received: by outflank-mailman (input) for mailman id 166082;
 Wed, 11 Aug 2021 14:08:41 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rQPX=NC=amazon.de=prvs=8505c50af=mheyne@srs-us1.protection.inumbo.net>)
 id 1mDouP-0008Al-Sb
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 14:08:41 +0000
Received: from smtp-fw-33001.amazon.com (unknown [207.171.190.10])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 9e92e635-faad-11eb-a08b-12813bfff9fa;
 Wed, 11 Aug 2021 14:08:36 +0000 (UTC)
Received: from iad12-co-svc-p1-lb1-vlan2.amazon.com (HELO
 email-inbound-relay-2c-c6afef2e.us-west-2.amazon.com) ([10.43.8.2])
 by smtp-border-fw-33001.sea14.amazon.com with ESMTP; 11 Aug 2021 14:08:28 +0000
Received: from EX13D08EUC002.ant.amazon.com
 (pdx1-ws-svc-p6-lb9-vlan2.pdx.amazon.com [10.236.137.194])
 by email-inbound-relay-2c-c6afef2e.us-west-2.amazon.com (Postfix) with ESMTPS
 id 22B19A17BF; Wed, 11 Aug 2021 14:08:26 +0000 (UTC)
Received: from EX13MTAUEA001.ant.amazon.com (10.43.61.82) by
 EX13D08EUC002.ant.amazon.com (10.43.164.124) with Microsoft SMTP Server (TLS)
 id 15.0.1497.23; Wed, 11 Aug 2021 14:08:24 +0000
Received: from dev-dsk-mheyne-1b-c1524648.eu-west-1.amazon.com (10.15.60.66)
 by mail-relay.amazon.com (10.43.61.243) with Microsoft SMTP Server id
 15.0.1497.23 via Frontend Transport; Wed, 11 Aug 2021 14:08:24 +0000
Received: by dev-dsk-mheyne-1b-c1524648.eu-west-1.amazon.com (Postfix,
 from userid 5466572)
 id BA8E84100D; Wed, 11 Aug 2021 14:08: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
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9e92e635-faad-11eb-a08b-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
  d=amazon.de; i=@amazon.de; q=dns/txt; s=amazon201209;
  t=1628690917; x=1660226917;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=oQ5UAM3qsYA8wj/5XJoEDLZTpGAg5BjoV/crxslI2Z0=;
  b=nfLj+J1IXzos6fwPUbJyJL7i2yAIpoIt3d3+jUz+f9wWKBdUVlrdabyZ
   m4D2uPkjLjF/cbUOwT4t5LQHRsf80iC3nPkO05krA5tET4+9YG2ULSYMX
   Z41ip/9oa75yyieqPyn214oRRhNYPMnBoCffkrvn4sET1PGCzvk1g6gxg
   o=;
X-IronPort-AV: E=Sophos;i="5.84,313,1620691200"; 
   d="scan'208";a="141197449"
From: Maximilian Heyne <mheyne@amazon.de>
To: 
CC: Amit Shah <aams@amazon.de>, Maximilian Heyne <mheyne@amazon.de>, Boris
 Ostrovsky <boris.ostrovsky@oracle.com>, Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wei.liu@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>, Jan Beulich <jbeulich@suse.com>,
	Malcolm Crossley <malcolm.crossley@citrix.com>, David Vrabel
	<david.vrabel@citrix.com>, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	<xen-devel@lists.xenproject.org>, <linux-kernel@vger.kernel.org>
Subject: [PATCH] xen/events: Fix race in set_evtchn_to_irq
Date: Wed, 11 Aug 2021 14:08:03 +0000
Message-ID: <20210811140806.75710-1-mheyne@amazon.de>
X-Mailer: git-send-email 2.32.0
MIME-Version: 1.0
Precedence: Bulk
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit

There is a TOCTOU issue in set_evtchn_to_irq. Rows in the evtchn_to_irq
mapping are lazily allocated in this function. The check whether the row
is already present and the row initialization is not synchronized. Two
threads can at the same time allocate a new row for evtchn_to_irq and
add the irq mapping to the their newly allocated row. One thread will
overwrite what the other has set for evtchn_to_irq[row] and therefore
the irq mapping is lost. This will trigger a BUG_ON later in
bind_evtchn_to_cpu:

  INFO: pci 0000:1a:15.4: [1d0f:8061] type 00 class 0x010802
  INFO: nvme 0000:1a:12.1: enabling device (0000 -> 0002)
  INFO: nvme nvme77: 1/0/0 default/read/poll queues
  CRIT: kernel BUG at drivers/xen/events/events_base.c:427!
  WARN: invalid opcode: 0000 [#1] SMP NOPTI
  WARN: Workqueue: nvme-reset-wq nvme_reset_work [nvme]
  WARN: RIP: e030:bind_evtchn_to_cpu+0xc2/0xd0
  WARN: Call Trace:
  WARN:  set_affinity_irq+0x121/0x150
  WARN:  irq_do_set_affinity+0x37/0xe0
  WARN:  irq_setup_affinity+0xf6/0x170
  WARN:  irq_startup+0x64/0xe0
  WARN:  __setup_irq+0x69e/0x740
  WARN:  ? request_threaded_irq+0xad/0x160
  WARN:  request_threaded_irq+0xf5/0x160
  WARN:  ? nvme_timeout+0x2f0/0x2f0 [nvme]
  WARN:  pci_request_irq+0xa9/0xf0
  WARN:  ? pci_alloc_irq_vectors_affinity+0xbb/0x130
  WARN:  queue_request_irq+0x4c/0x70 [nvme]
  WARN:  nvme_reset_work+0x82d/0x1550 [nvme]
  WARN:  ? check_preempt_wakeup+0x14f/0x230
  WARN:  ? check_preempt_curr+0x29/0x80
  WARN:  ? nvme_irq_check+0x30/0x30 [nvme]
  WARN:  process_one_work+0x18e/0x3c0
  WARN:  worker_thread+0x30/0x3a0
  WARN:  ? process_one_work+0x3c0/0x3c0
  WARN:  kthread+0x113/0x130
  WARN:  ? kthread_park+0x90/0x90
  WARN:  ret_from_fork+0x3a/0x50

This patch sets evtchn_to_irq rows via a cmpxchg operation so that they
will be set only once. Clearing the row was moved up before writing the
row to evtchn_to_irq in order to not create a race once the row is
visible for other threads. Accesses to the rows are now guarded by
READ_ONCE and WRITE_ONCE just as for the columns in the data structure.

Signed-off-by: Maximilian Heyne <mheyne@amazon.de>
Fixes: d0b075ffeede ("xen/events: Refactor evtchn_to_irq array to be dynamically allocated")
---
 drivers/xen/events/events_base.c | 35 ++++++++++++++++++++++----------
 1 file changed, 24 insertions(+), 11 deletions(-)

diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/events_base.c
index d7e361fb0548..7582a7f52313 100644
--- a/drivers/xen/events/events_base.c
+++ b/drivers/xen/events/events_base.c
@@ -198,22 +198,24 @@ static void disable_dynirq(struct irq_data *data);
 
 static DEFINE_PER_CPU(unsigned int, irq_epoch);
 
-static void clear_evtchn_to_irq_row(unsigned row)
+static void clear_evtchn_to_irq_row(int *evtchn_row)
 {
 	unsigned col;
 
 	for (col = 0; col < EVTCHN_PER_ROW; col++)
-		WRITE_ONCE(evtchn_to_irq[row][col], -1);
+		WRITE_ONCE(evtchn_row[col], -1);
 }
 
 static void clear_evtchn_to_irq_all(void)
 {
 	unsigned row;
+	int *evtchn_row;
 
 	for (row = 0; row < EVTCHN_ROW(xen_evtchn_max_channels()); row++) {
-		if (evtchn_to_irq[row] == NULL)
+		evtchn_row = READ_ONCE(evtchn_to_irq[row]);
+		if (evtchn_row == NULL)
 			continue;
-		clear_evtchn_to_irq_row(row);
+		clear_evtchn_to_irq_row(evtchn_row);
 	}
 }
 
@@ -221,36 +223,47 @@ static int set_evtchn_to_irq(evtchn_port_t evtchn, unsigned int irq)
 {
 	unsigned row;
 	unsigned col;
+	int *evtchn_row;
 
 	if (evtchn >= xen_evtchn_max_channels())
 		return -EINVAL;
 
 	row = EVTCHN_ROW(evtchn);
 	col = EVTCHN_COL(evtchn);
+	evtchn_row = READ_ONCE(evtchn_to_irq[row]);
 
-	if (evtchn_to_irq[row] == NULL) {
+	if (evtchn_row == NULL) {
 		/* Unallocated irq entries return -1 anyway */
 		if (irq == -1)
 			return 0;
 
-		evtchn_to_irq[row] = (int *)get_zeroed_page(GFP_KERNEL);
-		if (evtchn_to_irq[row] == NULL)
+		evtchn_row = (int *) get_zeroed_page(GFP_KERNEL);
+		if (evtchn_row == NULL)
 			return -ENOMEM;
 
-		clear_evtchn_to_irq_row(row);
+		clear_evtchn_to_irq_row(evtchn_row);
+
+		if (cmpxchg(&evtchn_to_irq[row], NULL, evtchn_row) != NULL) {
+			free_page((unsigned long) evtchn_row);
+			evtchn_row = READ_ONCE(evtchn_to_irq[row]);
+		}
 	}
 
-	WRITE_ONCE(evtchn_to_irq[row][col], irq);
+	WRITE_ONCE(evtchn_row[col], irq);
 	return 0;
 }
 
 int get_evtchn_to_irq(evtchn_port_t evtchn)
 {
+	int *evtchn_row;
+
 	if (evtchn >= xen_evtchn_max_channels())
 		return -1;
-	if (evtchn_to_irq[EVTCHN_ROW(evtchn)] == NULL)
+
+	evtchn_row = READ_ONCE(evtchn_to_irq[EVTCHN_ROW(evtchn)]);
+	if (evtchn_row == NULL)
 		return -1;
-	return READ_ONCE(evtchn_to_irq[EVTCHN_ROW(evtchn)][EVTCHN_COL(evtchn)]);
+	return READ_ONCE(evtchn_row[EVTCHN_COL(evtchn)]);
 }
 
 /* Get info for IRQ */
-- 
2.32.0




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





From xen-devel-bounces@lists.xenproject.org Wed Aug 11 14:13:15 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 14:13:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166100.303338 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDoyo-00020y-BI; Wed, 11 Aug 2021 14:13:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166100.303338; Wed, 11 Aug 2021 14:13:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDoyo-00020r-7t; Wed, 11 Aug 2021 14:13:14 +0000
Received: by outflank-mailman (input) for mailman id 166100;
 Wed, 11 Aug 2021 14:13:12 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fl7y=NC=epam.com=prvs=88576a6db5=roman_skakun@srs-us1.protection.inumbo.net>)
 id 1mDoym-00020l-4V
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 14:13:12 +0000
Received: from mx0b-0039f301.pphosted.com (unknown [148.163.137.242])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 135cc3b8-fb27-4d25-b464-03e4532b2348;
 Wed, 11 Aug 2021 14:13:09 +0000 (UTC)
Received: from pps.filterd (m0174683.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id
 17BE797h002164; Wed, 11 Aug 2021 14:13:06 GMT
Received: from eur05-am6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2106.outbound.protection.outlook.com [104.47.18.106])
 by mx0b-0039f301.pphosted.com with ESMTP id 3acg10r1fu-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 11 Aug 2021 14:13:05 +0000
Received: from AM7PR03MB6593.eurprd03.prod.outlook.com (2603:10a6:20b:1b4::10)
 by AM5PR0301MB2563.eurprd03.prod.outlook.com (2603:10a6:203:9::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Wed, 11 Aug
 2021 14:13:03 +0000
Received: from AM7PR03MB6593.eurprd03.prod.outlook.com
 ([fe80::ec7b:2795:206b:9411]) by AM7PR03MB6593.eurprd03.prod.outlook.com
 ([fe80::ec7b:2795:206b:9411%3]) with mapi id 15.20.4394.025; Wed, 11 Aug 2021
 14:13:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 135cc3b8-fb27-4d25-b464-03e4532b2348
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=By8w4Ks1Vf78SAqh7MOtHZdBeOVp6cYkv7SZfqj+AZcMFRmCV7pV0Mv3fSWhSt4DLooell6d8+p5m6dtf5oPNFPSzz6vNb1Bj+vwdxX9iVsgY2O3Jtm+lItRMTupCK3rgpTLT7QmEQrYsJ2dTnwsn09ze3TqtHw7uiUKMfnw+R6jGklWhG8d97b/oqdALMS9C2HpIuj1gEpvLMiYSVNuMjsAx0Cz78C/4jOayy3vwGob+xggQWD6VYr8qNgdJryBd5g/Hc4WTEjSK7KcrPAEP4isTmR+wKu04PlKjsgwzbugiBjOc0cIfl/GmMoDFFq5Wmf8OxfAYzvn1qHgQ/0W4Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hACsoYZa7Kkv1OQ4DYPclr6M2aPezXioJQ1H/vyUH5c=;
 b=ii9LtXA7dUrcqnfkXW2vT57xBLrSnL5iOU+1Y3T56y5RazNz4Z7q+gij4gdOsyzmg8yvxe5YtzTWl6adgjWBbt7hLZEaoRS7EeGEP4C0nOfnvCOU/g9nFRrdWQmUpaP99T7krNT4Pktw03Ecb3uRG6vwJ1U5GCq9q8xZZTWCHIq0V/QATpwMSd7a7iSgAmAst4YdF0Q4bbV1NxRaHP8Yh/lD5J8pafrqZOTovDvDZnKQJzDE2mFUGTjvocObpd4nBVGv5uvRwGGCF6PoL7wdJs7i7oO1ARZjydk9rVpbMelUVRBnh9OrgOMCQVMmQ+Z5vzXa8e7ShvHt8096cLovsA==
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=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hACsoYZa7Kkv1OQ4DYPclr6M2aPezXioJQ1H/vyUH5c=;
 b=Y/M/zr8Z0oTPcVfSrOvgf6ymGpA2yUkk2XQOycHkAH6pZA2zUtB3JOt0yXWXFTD83Lt6NSCqXcht14hamP3FDjy0Mz2VBzGulkmBtVjYbWEwCW+yha2asvM/nQYhuJbM1X3z7XZ9dWA05VsYA2094Ai3QKkmQ6iqgeibRF2oRbBZLWaXUxQUyBvRyUUZu2+HdkmzbzJ8TXU+iI2/4tgjeB5hVvsopEML+M+0D9D4H6zOg3DTA030sZT08OPYS/yQq1EU4/zV0GZUa6DUBSHZ0nkF2P4ZRYaiNBxoWLxnm09e2KH0aXPOTsHz1iaDqz7ZsC/ooz2bGumdKtHSFR578Q==
From: Roman Skakun <Roman_Skakun@epam.com>
To: Julien Grall <julien@xen.org>,
        "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <bertrand.marquis@arm.com>,
        Andrii Anisov
	<Andrii_Anisov@epam.com>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
        Oleksandr Andrushchenko
	<Oleksandr_Andrushchenko@epam.com>,
        "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>,
        Roman Skakun <rm.skakun@gmail.com>, Jan
 Beulich <jbeulich@suse.com>
Subject: Re: Disable swiotlb for Dom0
Thread-Topic: Disable swiotlb for Dom0
Thread-Index: AQHXjfwJK3kYIT7XAUWdmOu1AWm+tKts6kUAgAD/OfqAADJaAIAAJhCI
Date: Wed, 11 Aug 2021 14:13:03 +0000
Message-ID: 
 <AM7PR03MB6593834BA54AD8A126EF872185F89@AM7PR03MB6593.eurprd03.prod.outlook.com>
References: 
 <AM7PR03MB6593B4461B99297C8650CF1C85F79@AM7PR03MB6593.eurprd03.prod.outlook.com>
 <060b5741-922c-115c-7e8c-97d8aa5f46f4@xen.org>
 <AM7PR03MB65932619505158E3930D8E8785F89@AM7PR03MB6593.eurprd03.prod.outlook.com>,<d616081a-8c60-dcda-ac54-58c5be0c21ce@xen.org>
In-Reply-To: <d616081a-8c60-dcda-ac54-58c5be0c21ce@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
authentication-results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 6793211d-bb25-4d70-b059-08d95cd2220a
x-ms-traffictypediagnostic: AM5PR0301MB2563:
x-ms-exchange-transport-forked: True
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <AM5PR0301MB2563BC4EE13D3C90AB5347BA85F89@AM5PR0301MB2563.eurprd03.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 zlyCi3FW7usoiKEADoOJTX+FT5L8WNqZGt6F0EUmNHM83kMrOwr0SBqzrAzXIy4ANpu3duuaD5dnXDc5plyxjdojS2PhVsApPUYQ6K1o1jPD/te+rSyfkoyjd3rOV872SkfNMVrT873pqVeWckC7ZwzfJtPubFvdBmo+moMBh2kYqRBzStQdPZ61yFE8OREpbQKuOZOt/9UAf1GFtZxSjYsbjhDUD6UftLlICPzoQQAgiGVM+Ncqqpnbc20sMFszjrjk2qPSmnJkUinluy8RpBOEmVQKtBEdRlTudsLb6CXxspbNiO/8uqbhurZ4tCjA0Lu3AZtsfDByAY4KwWiAbjTzBlzvcTJBJzlLkjF1P240C1t/X4sxOODK1sTqEEYaifGkOgs+HMaAdT9D2RUDZtOSmG/QJeVYvXxda2sYCnPPO5sao6wP+ltwtiybqhpzNnT3Kp2tupr0Q7EO8mA4gFzsIQriljs8ueg3XkW7zsmGrI43u6AnlWaImyRQd2k9OwA2QJxY7GoyWO5IP3Tf0Mdd3f2bJUQPo2Ip+1l9lxr4BMF2ReU7kbmWgzq2XHedfgU4Vfm1d6qHdB4eStINNamK/ZbNS4Mewlm0+aCavJtEQ5BnRK9YUwf8PfcOoDMe4uu+nZR63K0qcVznW7XatgkaLcmijqK3WujT35hUxLoLf+4Vmh0vDIyMjTPIhi3XH+lFAfRfS1qEdjD6y/ut2448XiXu76hxpHUWsybAjqWjzCf7X3kO7WLVqSAvmS4SxjoqpaaHMGrIwr5yyw15CMds6TYT3snvJVw2xYs4KruZEqB/QaMqiatlChPldQwV4PTMb0bbOyxR985EX5WzuB0Ww1p7/zdZQOtBVfKBTIo=
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM7PR03MB6593.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(39860400002)(366004)(396003)(376002)(346002)(136003)(8936002)(478600001)(8676002)(66446008)(52536014)(122000001)(66946007)(33656002)(4326008)(66556008)(38100700002)(110136005)(53546011)(316002)(6506007)(38070700005)(26005)(54906003)(55016002)(9686003)(64756008)(166002)(186003)(2906002)(71200400001)(83380400001)(86362001)(18265965003)(76116006)(7696005)(19627405001)(91956017)(966005)(66476007)(5660300002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?us-ascii?Q?k3X/tuCS4ffcvyYF9+7Kd0EeNS6yLdnvIp79Zbom7Twb+vJP+67iU08G/bec?=
 =?us-ascii?Q?shbyo3WGfEa0U/ZDN60J6UEDjdVGM2bbKAuo39jk874NwfJ9jtU1n0fBe5Sh?=
 =?us-ascii?Q?938/wvV+AwOJxBgcFpZ02vumS3y1w3NFG+1LbXzxb/ydOciK571D7zPk9I6/?=
 =?us-ascii?Q?9f3u6IRDyMftg+rYWbHbyYfh7EsawOrqBG0bWbZ8d202wZ+dn2esj9iszXp7?=
 =?us-ascii?Q?oBLfAFHgDsLAOTRAmLPl3bY8ZJe1rMs6NToG5UazHAjuGThcC8KXLdJeAXGH?=
 =?us-ascii?Q?UNGa3P3AmkcDqMoVHH5Jlku+ZWrtH99F3AjK2wWfkEwNPFab31JsM47V8/zo?=
 =?us-ascii?Q?d8buUfeARjliEFVHSpoK0QCbadpZ2iQKHUxVhvb53clE78hImxZsJfW4pj4E?=
 =?us-ascii?Q?hq7Qcaj3GLoWRfayOKKLU/0W9hDhTmKoRni71U221WBhajurChI6wgnxt9my?=
 =?us-ascii?Q?IgIcll/XS8KBtJx4xojDp0SxOqfefJxW0e2UdaS4bR29dM0Y6W1zGZLsYaMK?=
 =?us-ascii?Q?/4ZtMr+qbXRrEh/Lsq6RnYS5iPawND0I7iB8QLL1ynTGCxGsdnyNJH2HQ+sz?=
 =?us-ascii?Q?d2gWyVYfkACi+4a/PaGsodrD+b5W/k5orHXo0kTc4eN9H+o1NhOlqIxYU5jw?=
 =?us-ascii?Q?iaLo65a1mnairj1UUwAGW1nZ6sXYbt8fdzocfUtJhrbnwFdnxwMRgPFsw0P4?=
 =?us-ascii?Q?ZcUSNOM5stKZq7HpmBy1MIKcnLeZDzrbPv1th8y6AsF/DoWPmGtyNMQ48jDP?=
 =?us-ascii?Q?qB9/NWeO39BNBIP3Hc381UHQOnt2jM07L2MDVu84ICYjjIY7JVWSZC+oRdHQ?=
 =?us-ascii?Q?lsfpYPGKKc+o+EE35MVNnWjxRHkH4IKhOfw/qEgTcVTXnopoES11NtybEnhO?=
 =?us-ascii?Q?lW8rFep2Gu+QP5NZYevnDcGE7AnHIypnEY3L/qA1OImeTCq4PoPb0QEg6fRQ?=
 =?us-ascii?Q?Kyz0hefPNBL1yVOaX43qgweme6gBlu0aMvy8fJNPUg/Mhe4X4Er0diJ9IWKI?=
 =?us-ascii?Q?bxlPgkM6bGmJNF78k3N7KZq3VNBjJ4lWLsQ8GC5HNSN6nxfNKmvTQNpeCEZG?=
 =?us-ascii?Q?2UW/m/7HFkkTxirGWPhHumdSqfIYlBDD32yR6i6mtAb3yTmp64L77uvYbhHr?=
 =?us-ascii?Q?mBaAb0NeYPenGtKNVhkUGYlYEw0dYo6WdRb20J159XOiIZlci0Gx1UHxJIqI?=
 =?us-ascii?Q?6G1H+BAvP/wJzaTejbk6G56yikmRftrRjRv42OPwidQg9PSGHttE4LAsVdgV?=
 =?us-ascii?Q?9t23khNj2MnRjYeUAnE4E4sKPvK7yfOcj+BTG5I6zZeKCX6/46M2Vq2/1VoA?=
 =?us-ascii?Q?p3c=3D?=
Content-Type: multipart/alternative;
	boundary="_000_AM7PR03MB6593834BA54AD8A126EF872185F89AM7PR03MB6593eurp_"
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6593.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6793211d-bb25-4d70-b059-08d95cd2220a
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Aug 2021 14:13:03.1707
 (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: uWAyBEiMTFrQgC0mof3Z1YrIPDZYo+daujexEftLk+DzIZucNy9e78OI63Am5Gr3ae2pfd7/gazYg4lRn6msrg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0301MB2563
X-Proofpoint-GUID: 8sgfpSsw19z4QEz_E0Tpn6AEPn9jIQt7
X-Proofpoint-ORIG-GUID: 8sgfpSsw19z4QEz_E0Tpn6AEPn9jIQt7
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.391,18.0.790
 definitions=2021-08-11_05:2021-08-11,2021-08-11 signatures=0
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 suspectscore=0
 impostorscore=0 adultscore=0 mlxlogscore=941 phishscore=0
 priorityscore=1501 bulkscore=0 spamscore=0 clxscore=1015 mlxscore=0
 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2107140000 definitions=main-2108110095

--_000_AM7PR03MB6593834BA54AD8A126EF872185F89AM7PR03MB6593eurp_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

> Hi Roman,
Hi Julien,

>> Also, I added the log in xen_swiotlb_detect() and can see that swiotlb
>> still used (other devices within dom0 used too), when dom0 is direct map=
ped:
>>
>> [    1.870363] xen_swiotlb_detect() dev: rcar-fcp,
>> XENFEAT_direct_mapped, use swiotlb
>> [    1.878352] xen_swiotlb_detect() dev: rcar-fcp,
>> XENFEAT_direct_mapped, use swiotlb
>> [    1.886309] xen_swiotlb_detect() dev: rcar-fcp,
>> XENFEAT_direct_mapped, use swiotlb
>>
>> This means, that all devices are using swiotlb-xen DMA fops.
>> By the way, before applying this patches, dom0 always used swiotlb-xen
>> fops for initial domain by design.

>> This is expected because your domain is direct mapped.

May be, I don't understand right, Stefano reported the same issue when dom0=
 is not direct mapped,
but I have direct mapped dom0 and problem still exists.

>Ok. Would you be able to provide more information on where the dom0
>memory is allocated and the list of host RAM?

Host memory:
DRAM:  7.9 GiB
Bank #0: 0x048000000 - 0x0bfffffff, 1.9 GiB
Bank #1: 0x500000000 - 0x57fffffff, 2 GiB
Bank #2: 0x600000000 - 0x67fffffff, 2 GiB
Bank #3: 0x700000000 - 0x77fffffff, 2 GiB

dom0 memory map:
(XEN) Allocating 1:1 mappings totalling 2048MB for dom0:
(XEN) BANK[0] 0x00000048000000-0x00000050000000 (128MB)
(XEN) BANK[1] 0x00000058000000-0x000000c0000000 (1664MB)
(XEN) BANK[2] 0x00000510000000-0x00000520000000 (256MB)


>> We retrieved dev_addr(64b1d0000) + size > 32bit mask, but fcp driver
>> wants to use only 32 bit boundary address, but that's consequence.
>>
> Ok. So your device is only capable to do a 32-bit DMA. Is that correct?

Yes.

>> I think, the main reason of using bounce buffer is MFN address, not DMA
>> phys address.
>>
>I don't understand this sentence. Can you clarify it?

This address looks like the MFN because I'm using mapped grant tables from =
domU.

I've added the log and see the following:
with swiotlb:
[   78.620386] dma_map_sg_attrs() dev: rcar-du swiotlb, sg_page: fffffe0001=
b80000, page_to_phy: b6000000, xen_phys_to_dma: 64b1d0000

without swiotlb (worked fine):
[   74.456426] dma_map_sg_attrs() dev: rcar-du direct map, sg_page: fffffe0=
001b80000, page_to_phy: b6000000, xen_phys_to_dma: b6000000

I guess, need to figure out why we got a normal dom0 DMA address (b6000000)=
 and why 64b1d0000 when using swiotlb.

________________________________
From: Julien Grall <julien@xen.org>
Sent: Wednesday, August 11, 2021 1:30 PM
To: Roman Skakun <Roman_Skakun@epam.com>; sstabellini@kernel.org <sstabelli=
ni@kernel.org>
Cc: Bertrand Marquis <bertrand.marquis@arm.com>; Andrii Anisov <Andrii_Anis=
ov@epam.com>; Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>; Oleksandr Tys=
hchenko <Oleksandr_Tyshchenko@epam.com>; Oleksandr Andrushchenko <Oleksandr=
_Andrushchenko@epam.com>; xen-devel@lists.xenproject.org <xen-devel@lists.x=
enproject.org>; Roman Skakun <rm.skakun@gmail.com>; Jan Beulich <jbeulich@s=
use.com>
Subject: Re: Disable swiotlb for Dom0



On 11/08/2021 09:49, Roman Skakun wrote:
> Hi, Julien!

Hi Roman,

>> > I have observed your patch here:
>> >https://urldefense.com/v3/__https://patchwork.kernel.org/project/xen-de=
vel/patch/alpine.DEB.2.21.2102161333090.3234@sstabellini-ThinkPad->>T480s/_=
_;!!GF_29dbcQIUBPA!kH5gzG1mxcIgDqMu2cVjTD3ggN9LiPN4OVinOnqrhLQrNr-mRb72udp2=
B5XBqZlW$ <https://urldefense.com/v3/__https://patchwork.kernel.org/project=
/xen-devel/patch/alpine.DEB.2.21.2102161333090.3234@sstabellini-ThinkPad->T=
480s/__;!!GF_29dbcQIUBPA!kH5gzG1mxcIgDqMu2cVjTD3ggN9LiPN4OVinOnqrhLQrNr-mRb=
72udp2B5XBqZlW$>[patchwork[.]kernel[.]org]
>> >
>> > And I collided with the same issue, when Dom0 device trying to use
>> > swiotlb fops for devices which are controlled by IOMMU.
>>
>>The issue Stefano reported was when the dom0 is not direct mapped.
>>However...
>
> I applied these patches:
> https://urldefense.com/v3/__https://github.com/torvalds/linux/commit/f507=
9a9a2a31607a2343e544e9182ce35b030578__;!!GF_29dbcQIUBPA!mZHMTZ8iSAfPg9D1VyO=
4mamUWVxP7K-H26d1jSf4qMsWkB3l92muGUIJPUgqgI9K$ [github[.]com]
> <https://urldefense.com/v3/__https://github.com/torvalds/linux/commit/f50=
79a9a2a31607a2343e544e9182ce35b030578__;!!GF_29dbcQIUBPA!mZHMTZ8iSAfPg9D1Vy=
O4mamUWVxP7K-H26d1jSf4qMsWkB3l92muGUIJPUgqgI9K$ [github[.]com]>
> https://urldefense.com/v3/__https://github.com/xen-project/xen/commit/d66=
bf122c0ab79063a607d6cf68edf5e91d17d5e__;!!GF_29dbcQIUBPA!mZHMTZ8iSAfPg9D1Vy=
O4mamUWVxP7K-H26d1jSf4qMsWkB3l92muGUIJPcdadGTB$ [github[.]com]
> <https://urldefense.com/v3/__https://github.com/xen-project/xen/commit/d6=
6bf122c0ab79063a607d6cf68edf5e91d17d5e__;!!GF_29dbcQIUBPA!mZHMTZ8iSAfPg9D1V=
yO4mamUWVxP7K-H26d1jSf4qMsWkB3l92muGUIJPcdadGTB$ [github[.]com]>
> to check this more pragmatically.
>
> Also, I added the log in xen_swiotlb_detect() and can see that swiotlb
> still used (other devices within dom0 used too), when dom0 is direct mapp=
ed:
>
> [    1.870363] xen_swiotlb_detect() dev: rcar-fcp,
> XENFEAT_direct_mapped, use swiotlb
> [    1.878352] xen_swiotlb_detect() dev: rcar-fcp,
> XENFEAT_direct_mapped, use swiotlb
> [    1.886309] xen_swiotlb_detect() dev: rcar-fcp,
> XENFEAT_direct_mapped, use swiotlb
>
> This means, that all devices are using swiotlb-xen DMA fops.
> By the way, before applying this patches, dom0 always used swiotlb-xen
> fops for initial domain by design.

This is expected because your domain is direct mapped.

>
>
>> Any reason to not use  the stable branch for 5.10? I don't know whether
>> your issue will be  fixed there, but the stable branch usually contains =
a
>> lot of bug fixes (including  security one). So it is a good idea to use
>> it over the first release  of a kernel version.
>
> Yes, sure, current BSP release based on 5.10 kernel:
> https://urldefense.com/v3/__https://github.com/xen-troops/linux/tree/v5.1=
0/rcar-5.0.0.rc4-xt0.1__;!!GF_29dbcQIUBPA!mZHMTZ8iSAfPg9D1VyO4mamUWVxP7K-H2=
6d1jSf4qMsWkB3l92muGUIJPVkpyAnu$ [github[.]com]
> <https://urldefense.com/v3/__https://github.com/xen-troops/linux/tree/v5.=
10/rcar-5.0.0.rc4-xt0.1__;!!GF_29dbcQIUBPA!mZHMTZ8iSAfPg9D1VyO4mamUWVxP7K-H=
26d1jSf4qMsWkB3l92muGUIJPVkpyAnu$ [github[.]com]>
> based on https://urldefense.com/v3/__https://github.com/renesas-rcar/linu=
x-bsp__;!!GF_29dbcQIUBPA!mZHMTZ8iSAfPg9D1VyO4mamUWVxP7K-H26d1jSf4qMsWkB3l92=
muGUIJPWPOIbVJ$ [github[.]com]
> <https://urldefense.com/v3/__https://github.com/renesas-rcar/linux-bsp/tr=
ee/v5.10.41/rcar-5.1.0.rc2__;!!GF_29dbcQIUBPA!mZHMTZ8iSAfPg9D1VyO4mamUWVxP7=
K-H26d1jSf4qMsWkB3l92muGUIJPQXMt_yV$ [github[.]com]>
> BTW, I specified the wrong kernel URL in the previous massage, sorry.
>
>> > Issue caused in xen_swiotlb_map_page():
>> > ```
>> > dev: rcar-fcp, cap: 0, dma_mask: ffffffff, page: fffffe00180c7400,
> page_to_phys: 64b1d0000,
>> > xen_phys_to_dma(phys): 64b1d0000
>> > ```
>>
>>I can't seem to find this printk in Linux 5.10. Did you add it yourself?
>
> Yes, it's my own log.

Ok. Would you be able to provide more information on where the dom0
memory is allocated and the list of host RAM?

>
>
>>This line suggests that the SWIOTLB tried to bounce the DMA buffer. In
>>general, the use of the bounce buffer should be rare. So I would suggest
>>to find out why this is used.
>>
>>Looking at the code, this suggests that one of the following check is fal=
se:
>>
>>/*
>>        * If the address happens to be in the device's DMA window,
>>* we can safely return the device addr and not worry about bounce
>>* buffering it.
>>*/
>>if (dma_capable(dev, dev_addr, size, true) &&
>>!range_straddles_page_boundary(phys, size) &&
>>!xen_arch_need_swiotlb(dev, phys, dev_addr) &&
>>swiotlb_force !=3D SWIOTLB_FORCE)
>>goto done;
>
> I checked this earlier and saw that dma_capable(dev, dev_addr, size,
> true)returns false as expected because
> we got dev_addr equals 64b1d0000 and according to this expression under
> dma_capable():
>
> ```
> dma_addr_t end =3D dev_addr + size - 1;
> return end <=3D min_not_zero(*dev->dma_mask, dev->bus_dma_limit);
> ```
> As result, DMA mask more than 32bit.
>> Let me start with that I agree we should disable swiotlb when we know
>> the device is protected. However, from what you describe, it sounds like
>> the same issue would appear if the IOMMU was disabled.
>
> Yes, it looks like a potential issue. This means that swiotlb should be
> worked correctly, when it's needed, agreed.
> But this is also potential improvement, and I presented this idea to
> discuss and create some patches.

You might be able to remove the Xen swiotlb but I am not sure you will
be able to remove the swiotlb completely if you have a device that only
supports 32-bit DMA.

>
>> Therefore, I think we should first find out why Linux wants to bounce
>> the DMA buffer.
>
> We retrieved dev_addr(64b1d0000) + size > 32bit mask, but fcp driver
> wants to use only 32 bit boundary address, but that's consequence.

Ok. So your device is only capable to do a 32-bit DMA. Is that correct?

> I think, the main reason of using bounce buffer is MFN address, not DMA
> phys address.

I don't understand this sentence. Can you clarify it?

Cheers,

--
Julien Grall

--_000_AM7PR03MB6593834BA54AD8A126EF872185F89AM7PR03MB6593eurp_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<style type=3D"text/css" style=3D"display:none;"> P {margin-top:0;margin-bo=
ttom:0;} </style>
</head>
<body dir=3D"ltr">
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;&nbsp;<span sty=
le=3D"background-color:rgb(255, 255, 255);display:inline !important">Hi
 Roman,</span><br>
</span><span style=3D"background-color: rgb(255, 255, 255); display: inline=
 !important; font-size: 12pt;">Hi&nbsp;</span><span style=3D"background-col=
or:rgb(255, 255, 255);display:inline !important"><span style=3D"font-family=
:Calibri, Arial, Helvetica, sans-serif;font-size:16px;background-color:rgb(=
255, 255, 255);display:inline !important">Julien,</span><br>
<br>
&gt;</span>&gt; Also, I added the log in xen_swiotlb_detect() and can see t=
hat swiotlb</span><br>
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;</span>&gt;
 still used (other devices within dom0 used too), when dom0 is direct mappe=
d:</span><br style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web =
(West European)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemF=
ont, Roboto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;bac=
kground-color:rgb(255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;</span>&gt;</sp=
an><br style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West =
European)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, R=
oboto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;backgroun=
d-color:rgb(255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;</span>&gt;
 [ &nbsp; &nbsp;1.870363] xen_swiotlb_detect() dev: rcar-fcp,</span><br sty=
le=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West European)&=
quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Roboto, &qu=
ot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background-color:rg=
b(255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;</span>&gt;
 XENFEAT_direct_mapped, use swiotlb</span><br style=3D"font-family:&quot;Se=
goe UI&quot;, &quot;Segoe UI Web (West European)&quot;, &quot;Segoe UI&quot=
;, -apple-system, BlinkMacSystemFont, Roboto, &quot;Helvetica Neue&quot;, s=
ans-serif;font-size:14.6667px;background-color:rgb(255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;</span>&gt;
 [ &nbsp; &nbsp;1.878352] xen_swiotlb_detect() dev: rcar-fcp,</span><br sty=
le=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West European)&=
quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Roboto, &qu=
ot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background-color:rg=
b(255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;</span>&gt;
 XENFEAT_direct_mapped, use swiotlb</span><br style=3D"font-family:&quot;Se=
goe UI&quot;, &quot;Segoe UI Web (West European)&quot;, &quot;Segoe UI&quot=
;, -apple-system, BlinkMacSystemFont, Roboto, &quot;Helvetica Neue&quot;, s=
ans-serif;font-size:14.6667px;background-color:rgb(255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;</span>&gt;
 [ &nbsp; &nbsp;1.886309] xen_swiotlb_detect() dev: rcar-fcp,</span><br sty=
le=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West European)&=
quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Roboto, &qu=
ot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background-color:rg=
b(255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;</span>&gt;
 XENFEAT_direct_mapped, use swiotlb</span><br style=3D"font-family:&quot;Se=
goe UI&quot;, &quot;Segoe UI Web (West European)&quot;, &quot;Segoe UI&quot=
;, -apple-system, BlinkMacSystemFont, Roboto, &quot;Helvetica Neue&quot;, s=
ans-serif;font-size:14.6667px;background-color:rgb(255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;</span>&gt;</sp=
an><br style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West =
European)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, R=
oboto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;backgroun=
d-color:rgb(255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important">&gt;&gt; This means, t=
hat all
 devices are using swiotlb-xen DMA fops.</span><br style=3D"font-family:&qu=
ot;Segoe UI&quot;, &quot;Segoe UI Web (West European)&quot;, &quot;Segoe UI=
&quot;, -apple-system, BlinkMacSystemFont, Roboto, &quot;Helvetica Neue&quo=
t;, sans-serif;font-size:14.6667px;background-color:rgb(255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;</span>&gt;
 By the way, before applying this patches, dom0 always used swiotlb-xen</sp=
an><br style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West =
European)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, R=
oboto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;backgroun=
d-color:rgb(255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;</span>&gt;
 fops for initial domain by design.</span><br style=3D"font-family:&quot;Se=
goe UI&quot;, &quot;Segoe UI Web (West European)&quot;, &quot;Segoe UI&quot=
;, -apple-system, BlinkMacSystemFont, Roboto, &quot;Helvetica Neue&quot;, s=
ans-serif;font-size:14.6667px;background-color:rgb(255, 255, 255)">
<br style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West Eur=
opean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Robo=
to, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background-c=
olor:rgb(255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"margin:=
0px;background-color:rgb(255, 255, 255);display:inline !important">&gt;</sp=
an><span style=3D"background-color:rgb(255, 255, 255);display:inline !impor=
tant">&gt;<span>&nbsp;</span></span>This
 is expected because your domain is direct mapped.<br>
</span><br>
May be, I don't understand right, Stefano reported the same issue when dom0=
 is not direct mapped,</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);">
but I have direct mapped dom0 and problem still exists.&nbsp;<br>
<br>
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"margin:=
0px;background-color:rgb(255, 255, 255);display:inline !important">&gt;</sp=
an>Ok.
 Would you be able to provide more information on where the dom0</span><br>
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important">&gt;memory is allocate=
d
 and the list of host RAM?<br>
<br>
Host memory:<br>
<div>DRAM: &nbsp;7.9 GiB</div>
<div>Bank #0: 0x048000000 - 0x0bfffffff, 1.9 GiB</div>
<div>Bank #1: 0x500000000 - 0x57fffffff, 2 GiB</div>
<div>Bank #2: 0x600000000 - 0x67fffffff, 2 GiB</div>
Bank #3: 0x700000000 - 0x77fffffff, 2 GiB<br>
<br>
dom0 memory map:<br>
(XEN) Allocating 1:1 mappings totalling 2048MB for dom0:
<div>(XEN) BANK[0] 0x00000048000000-0x00000050000000 (128MB)</div>
<div>(XEN) BANK[1] 0x00000058000000-0x000000c0000000 (1664MB)</div>
<span>(XEN) BANK[2] 0x00000510000000-0x00000520000000 (256MB)</span><br>
</span><br>
<br>
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important">&gt;&gt; We retrieved =
dev_addr(64b1d0000)
 + size &gt; 32bit mask, but fcp driver</span><br>
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important">&gt;&gt; wants to use =
only
 32 bit boundary address, but that's consequence.</span><br style=3D"font-f=
amily:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West European)&quot;, &quot=
;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Roboto, &quot;Helvetica=
 Neue&quot;, sans-serif;font-size:14.6667px;background-color:rgb(255, 255, =
255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important">&gt;&gt;</span><br sty=
le=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West European)&=
quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Roboto, &qu=
ot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background-color:rg=
b(255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;&nbsp;</span>Ok=
.
 So your device is only capable to do a 32-bit DMA. Is that correct?</span>=
<br>
<br>
Yes.&nbsp;<br>
<br>
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;</span>&gt;
 I think, the main reason of using bounce buffer is&nbsp;MFN address, not D=
MA</span><br>
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important">&gt;<span style=3D"bac=
kground-color:rgb(255, 255, 255);display:inline !important">&gt;</span>
 phys address.</span><br style=3D"font-family:&quot;Segoe UI&quot;, &quot;S=
egoe UI Web (West European)&quot;, &quot;Segoe UI&quot;, -apple-system, Bli=
nkMacSystemFont, Roboto, &quot;Helvetica Neue&quot;, sans-serif;font-size:1=
4.6667px;background-color:rgb(255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important">&gt;</span><span style=
=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West European)&qu=
ot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Roboto, &quot=
;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background-color:rgb(=
255, 255, 255);display:inline !important">&gt;</span><br style=3D"font-fami=
ly:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West European)&quot;, &quot;Se=
goe UI&quot;, -apple-system, BlinkMacSystemFont, Roboto, &quot;Helvetica Ne=
ue&quot;, sans-serif;font-size:14.6667px;background-color:rgb(255, 255, 255=
)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;</span>I
 don't understand this sentence. Can you clarify it?</span><br>
<br>
This address looks like the<span style=3D"background-color:rgb(255, 255, 25=
5);display:inline !important">&nbsp;</span>MFN because I'm using mapped gra=
nt tables from domU.<br>
<br>
I've added the log and see the following:<br>
with swiotlb:<br>
<span style=3D"font-size: 12pt;">[ &nbsp; 78.620386] dma_map_sg_attrs() dev=
: rcar-du swiotlb</span><span style=3D"font-size: 12pt;">, sg_page: fffffe0=
001b80000, page_to_phy: b6000000, xen_phys_to_dma:
</span><span style=3D"font-family: &quot;Segoe UI&quot;, &quot;Segoe UI Web=
 (West European)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystem=
Font, Roboto, &quot;Helvetica Neue&quot;, sans-serif; font-size: 12pt; back=
ground-color: rgb(255, 255, 255); display: inline !important;">64b1d0000<br=
>
</span><br>
without swiotlb (worked fine):<br>
[ &nbsp; 74.456426] dma_map_sg_attrs() dev: rcar-du direct map, sg_page: ff=
fffe0001b80000, page_to_phy: b6000000,&nbsp;<span style=3D"margin:0px;font-=
size:12pt;background-color:rgb(255, 255, 255)">xen_phys_to_dma:<span>&nbsp;=
</span></span><span style=3D"margin:0px;font-size:12pt;font-family:&quot;Se=
goe UI&quot;, &quot;Segoe UI Web (West European)&quot;, &quot;Segoe UI&quot=
;, -apple-system, BlinkMacSystemFont, Roboto, &quot;Helvetica Neue&quot;, s=
ans-serif;background-color:rgb(255, 255, 255);display:inline !important"><s=
pan style=3D"font-family:Calibri, Arial, Helvetica, sans-serif;background-c=
olor:rgb(255, 255, 255);display:inline !important">b6000000</span></span><b=
r>
<br>
I guess, need to figure out why we got a normal dom0 DMA address (<span sty=
le=3D"background-color:rgb(255, 255, 255);display:inline !important">b60000=
00) and why&nbsp;<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Seg=
oe UI Web (West European)&quot;, &quot;Segoe UI&quot;, -apple-system, Blink=
MacSystemFont, Roboto, &quot;Helvetica Neue&quot;, sans-serif;background-co=
lor:rgb(255, 255, 255);display:inline !important">64b1d0000
 when using swiotlb.&nbsp;<br>
<br>
</span></span></div>
<div id=3D"appendonsend"></div>
<hr style=3D"display:inline-block;width:98%" tabindex=3D"-1">
<div id=3D"divRplyFwdMsg" dir=3D"ltr"><font face=3D"Calibri, sans-serif" st=
yle=3D"font-size:11pt" color=3D"#000000"><b>From:</b> Julien Grall &lt;juli=
en@xen.org&gt;<br>
<b>Sent:</b> Wednesday, August 11, 2021 1:30 PM<br>
<b>To:</b> Roman Skakun &lt;Roman_Skakun@epam.com&gt;; sstabellini@kernel.o=
rg &lt;sstabellini@kernel.org&gt;<br>
<b>Cc:</b> Bertrand Marquis &lt;bertrand.marquis@arm.com&gt;; Andrii Anisov=
 &lt;Andrii_Anisov@epam.com&gt;; Volodymyr Babchuk &lt;Volodymyr_Babchuk@ep=
am.com&gt;; Oleksandr Tyshchenko &lt;Oleksandr_Tyshchenko@epam.com&gt;; Ole=
ksandr Andrushchenko &lt;Oleksandr_Andrushchenko@epam.com&gt;;
 xen-devel@lists.xenproject.org &lt;xen-devel@lists.xenproject.org&gt;; Rom=
an Skakun &lt;rm.skakun@gmail.com&gt;; Jan Beulich &lt;jbeulich@suse.com&gt=
;<br>
<b>Subject:</b> Re: Disable swiotlb for Dom0</font>
<div>&nbsp;</div>
</div>
<div class=3D"BodyFragment"><font size=3D"2"><span style=3D"font-size:11pt;=
">
<div class=3D"PlainText"><br>
<br>
On 11/08/2021 09:49, Roman Skakun wrote:<br>
&gt; Hi, Julien!<br>
<br>
Hi Roman,<br>
<br>
&gt;&gt; &gt; I have observed your patch here:<br>
&gt;&gt; &gt;<a href=3D"https://urldefense.com/v3/__https://patchwork.kerne=
l.org/project/xen-devel/patch/alpine.DEB.2.21.2102161333090.3234@sstabellin=
i-ThinkPad-&gt;&gt;T480s/__;!!GF_29dbcQIUBPA!kH5gzG1mxcIgDqMu2cVjTD3ggN9LiP=
N4OVinOnqrhLQrNr-mRb72udp2B5XBqZlW$">https://urldefense.com/v3/__https://pa=
tchwork.kernel.org/project/xen-devel/patch/alpine.DEB.2.21.2102161333090.32=
34@sstabellini-ThinkPad-&gt;&gt;T480s/__;!!GF_29dbcQIUBPA!kH5gzG1mxcIgDqMu2=
cVjTD3ggN9LiPN4OVinOnqrhLQrNr-mRb72udp2B5XBqZlW$</a>
 &lt;<a href=3D"https://urldefense.com/v3/__https://patchwork.kernel.org/pr=
oject/xen-devel/patch/alpine.DEB.2.21.2102161333090.3234@sstabellini-ThinkP=
ad-&gt;T480s/__;!!GF_29dbcQIUBPA!kH5gzG1mxcIgDqMu2cVjTD3ggN9LiPN4OVinOnqrhL=
QrNr-mRb72udp2B5XBqZlW$&gt;[patchwork[.]kernel[.]org">https://urldefense.co=
m/v3/__https://patchwork.kernel.org/project/xen-devel/patch/alpine.DEB.2.21=
.2102161333090.3234@sstabellini-ThinkPad-&gt;T480s/__;!!GF_29dbcQIUBPA!kH5g=
zG1mxcIgDqMu2cVjTD3ggN9LiPN4OVinOnqrhLQrNr-mRb72udp2B5XBqZlW$&gt;[patchwork=
[.]kernel[.]org</a>]<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; And I collided with the same issue, when Dom0 device trying t=
o use<br>
&gt;&gt; &gt; swiotlb fops for devices which are controlled by IOMMU.<br>
&gt;&gt;<br>
&gt;&gt;The issue Stefano reported was when the dom0 is not direct mapped.<=
br>
&gt;&gt;However...<br>
&gt; <br>
&gt; I applied these patches:<br>
&gt; <a href=3D"https://urldefense.com/v3/__https://github.com/torvalds/lin=
ux/commit/f5079a9a2a31607a2343e544e9182ce35b030578__;!!GF_29dbcQIUBPA!mZHMT=
Z8iSAfPg9D1VyO4mamUWVxP7K-H26d1jSf4qMsWkB3l92muGUIJPUgqgI9K$">
https://urldefense.com/v3/__https://github.com/torvalds/linux/commit/f5079a=
9a2a31607a2343e544e9182ce35b030578__;!!GF_29dbcQIUBPA!mZHMTZ8iSAfPg9D1VyO4m=
amUWVxP7K-H26d1jSf4qMsWkB3l92muGUIJPUgqgI9K$</a> [github[.]com]
<br>
&gt; &lt;<a href=3D""></a>https://urldefense.com/v3/__https://github.com/to=
rvalds/linux/commit/f5079a9a2a31607a2343e544e9182ce35b030578__;!!GF_29dbcQI=
UBPA!mZHMTZ8iSAfPg9D1VyO4mamUWVxP7K-H26d1jSf4qMsWkB3l92muGUIJPUgqgI9K$ [git=
hub[.]com]&gt;<br>
&gt; <a href=3D"https://urldefense.com/v3/__https://github.com/xen-project/=
xen/commit/d66bf122c0ab79063a607d6cf68edf5e91d17d5e__;!!GF_29dbcQIUBPA!mZHM=
TZ8iSAfPg9D1VyO4mamUWVxP7K-H26d1jSf4qMsWkB3l92muGUIJPcdadGTB$">
https://urldefense.com/v3/__https://github.com/xen-project/xen/commit/d66bf=
122c0ab79063a607d6cf68edf5e91d17d5e__;!!GF_29dbcQIUBPA!mZHMTZ8iSAfPg9D1VyO4=
mamUWVxP7K-H26d1jSf4qMsWkB3l92muGUIJPcdadGTB$</a> [github[.]com]
<br>
&gt; &lt;<a href=3D""></a>https://urldefense.com/v3/__https://github.com/xe=
n-project/xen/commit/d66bf122c0ab79063a607d6cf68edf5e91d17d5e__;!!GF_29dbcQ=
IUBPA!mZHMTZ8iSAfPg9D1VyO4mamUWVxP7K-H26d1jSf4qMsWkB3l92muGUIJPcdadGTB$ [gi=
thub[.]com]&gt;<br>
&gt; to check this more pragmatically.<br>
&gt; <br>
&gt; Also, I added the log in xen_swiotlb_detect() and can see that swiotlb=
 <br>
&gt; still used (other devices within dom0 used too), when dom0 is direct m=
apped:<br>
&gt; <br>
&gt; [ &nbsp; &nbsp;1.870363] xen_swiotlb_detect() dev: rcar-fcp, <br>
&gt; XENFEAT_direct_mapped, use swiotlb<br>
&gt; [ &nbsp; &nbsp;1.878352] xen_swiotlb_detect() dev: rcar-fcp, <br>
&gt; XENFEAT_direct_mapped, use swiotlb<br>
&gt; [ &nbsp; &nbsp;1.886309] xen_swiotlb_detect() dev: rcar-fcp, <br>
&gt; XENFEAT_direct_mapped, use swiotlb<br>
&gt; <br>
&gt; This means, that all devices are using swiotlb-xen DMA fops.<br>
&gt; By the way, before applying this patches, dom0 always used swiotlb-xen=
 <br>
&gt; fops for initial domain by design.<br>
<br>
This is expected because your domain is direct mapped.<br>
<br>
&gt; <br>
&gt; <br>
&gt;&gt; Any reason to not use&nbsp; the stable branch for 5.10? I don't kn=
ow whether<br>
&gt;&gt; your issue will be&nbsp; fixed there, but the stable branch usuall=
y contains a<br>
&gt;&gt; lot of bug fixes (including&nbsp; security one). So it is a good i=
dea to use<br>
&gt;&gt; it over the first release&nbsp; of a kernel version.<br>
&gt; <br>
&gt; Yes, sure, current BSP release based on 5.10 kernel:<br>
&gt; <a href=3D"https://urldefense.com/v3/__https://github.com/xen-troops/l=
inux/tree/v5.10/rcar-5.0.0.rc4-xt0.1__;!!GF_29dbcQIUBPA!mZHMTZ8iSAfPg9D1VyO=
4mamUWVxP7K-H26d1jSf4qMsWkB3l92muGUIJPVkpyAnu$">
https://urldefense.com/v3/__https://github.com/xen-troops/linux/tree/v5.10/=
rcar-5.0.0.rc4-xt0.1__;!!GF_29dbcQIUBPA!mZHMTZ8iSAfPg9D1VyO4mamUWVxP7K-H26d=
1jSf4qMsWkB3l92muGUIJPVkpyAnu$</a> [github[.]com]
<br>
&gt; &lt;<a href=3D""></a>https://urldefense.com/v3/__https://github.com/xe=
n-troops/linux/tree/v5.10/rcar-5.0.0.rc4-xt0.1__;!!GF_29dbcQIUBPA!mZHMTZ8iS=
AfPg9D1VyO4mamUWVxP7K-H26d1jSf4qMsWkB3l92muGUIJPVkpyAnu$ [github[.]com]&gt;=
<br>
&gt; based on <a href=3D"https://urldefense.com/v3/__https://github.com/ren=
esas-rcar/linux-bsp__;!!GF_29dbcQIUBPA!mZHMTZ8iSAfPg9D1VyO4mamUWVxP7K-H26d1=
jSf4qMsWkB3l92muGUIJPWPOIbVJ$">
https://urldefense.com/v3/__https://github.com/renesas-rcar/linux-bsp__;!!G=
F_29dbcQIUBPA!mZHMTZ8iSAfPg9D1VyO4mamUWVxP7K-H26d1jSf4qMsWkB3l92muGUIJPWPOI=
bVJ$</a> [github[.]com]
<br>
&gt; &lt;<a href=3D""></a>https://urldefense.com/v3/__https://github.com/re=
nesas-rcar/linux-bsp/tree/v5.10.41/rcar-5.1.0.rc2__;!!GF_29dbcQIUBPA!mZHMTZ=
8iSAfPg9D1VyO4mamUWVxP7K-H26d1jSf4qMsWkB3l92muGUIJPQXMt_yV$ [github[.]com]&=
gt;<br>
&gt; BTW, I specified the wrong kernel URL&nbsp;in the previous massage, so=
rry.<br>
&gt; <br>
&gt;&gt; &gt; Issue caused in xen_swiotlb_map_page():<br>
&gt;&gt; &gt; ```<br>
&gt;&gt; &gt; dev: rcar-fcp, cap: 0, dma_mask: ffffffff, page: fffffe00180c=
7400, <br>
&gt; page_to_phys: 64b1d0000,<br>
&gt;&gt; &gt; xen_phys_to_dma(phys): 64b1d0000<br>
&gt;&gt; &gt; ```<br>
&gt;&gt;<br>
&gt;&gt;I can't seem to find this printk in Linux 5.10. Did you add it your=
self?<br>
&gt; <br>
&gt; Yes, it's my own log.<br>
<br>
Ok. Would you be able to provide more information on where the dom0 <br>
memory is allocated and the list of host RAM?<br>
<br>
&gt; <br>
&gt; <br>
&gt;&gt;This line suggests that the SWIOTLB tried to bounce the DMA buffer.=
 In<br>
&gt;&gt;general, the use of the bounce buffer should be rare. So I would su=
ggest<br>
&gt;&gt;to find out why this is used.<br>
&gt;&gt;<br>
&gt;&gt;Looking at the code, this suggests that one of the following check =
is false:<br>
&gt;&gt;<br>
&gt;&gt;/*<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp;* If the address happens to be in the d=
evice's DMA window,<br>
&gt;&gt;* we can safely return the device addr and not worry about bounce<b=
r>
&gt;&gt;* buffering it.<br>
&gt;&gt;*/<br>
&gt;&gt;if (dma_capable(dev, dev_addr, size, true) &amp;&amp;<br>
&gt;&gt;!range_straddles_page_boundary(phys, size) &amp;&amp;<br>
&gt;&gt;!xen_arch_need_swiotlb(dev, phys, dev_addr) &amp;&amp;<br>
&gt;&gt;swiotlb_force !=3D SWIOTLB_FORCE)<br>
&gt;&gt;goto done;<br>
&gt; <br>
&gt; I checked this earlier and saw that dma_capable(dev, dev_addr, size, <=
br>
&gt; true)returns false as expected because<br>
&gt; we got dev_addr equals 64b1d0000 and according to this expression unde=
r <br>
&gt; dma_capable():<br>
&gt; <br>
&gt; ```<br>
&gt; dma_addr_t end =3D dev_addr + size - 1;<br>
&gt; return end &lt;=3D min_not_zero(*dev-&gt;dma_mask, dev-&gt;bus_dma_lim=
it);<br>
&gt; ```<br>
&gt; As result, DMA mask more than&nbsp;32bit.<br>
&gt;&gt; Let me start with that I agree we should disable swiotlb when we k=
now<br>
&gt;&gt; the device is protected. However, from what you describe, it sound=
s like<br>
&gt;&gt; the same issue would appear if the IOMMU was disabled.<br>
&gt; <br>
&gt; Yes, it looks like a potential issue. This means that swiotlb should b=
e <br>
&gt; worked correctly, when it's needed, agreed.<br>
&gt; But this is also potential improvement, and I presented this idea to <=
br>
&gt; discuss and create some patches.<br>
<br>
You might be able to remove the Xen swiotlb but I am not sure you will <br>
be able to remove the swiotlb completely if you have a device that only <br=
>
supports 32-bit DMA.<br>
<br>
&gt; <br>
&gt;&gt; Therefore, I think we should first find out why Linux wants to bou=
nce<br>
&gt;&gt; the DMA buffer.<br>
&gt; <br>
&gt; We retrieved dev_addr(64b1d0000) + size &gt; 32bit mask, but fcp drive=
r <br>
&gt; wants to use only 32 bit boundary address, but that's consequence.<br>
<br>
Ok. So your device is only capable to do a 32-bit DMA. Is that correct?<br>
<br>
&gt; I think, the main reason of using bounce buffer is&nbsp;MFN address, n=
ot DMA <br>
&gt; phys address.<br>
<br>
I don't understand this sentence. Can you clarify it?<br>
<br>
Cheers,<br>
<br>
-- <br>
Julien Grall<br>
</div>
</span></font></div>
</body>
</html>

--_000_AM7PR03MB6593834BA54AD8A126EF872185F89AM7PR03MB6593eurp_--


From xen-devel-bounces@lists.xenproject.org Wed Aug 11 14:14:58 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 14:14:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166105.303348 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDp0Q-0002fR-QL; Wed, 11 Aug 2021 14:14:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166105.303348; Wed, 11 Aug 2021 14:14: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 1mDp0Q-0002fK-NJ; Wed, 11 Aug 2021 14:14:54 +0000
Received: by outflank-mailman (input) for mailman id 166105;
 Wed, 11 Aug 2021 14:14:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mDp0Q-0002f6-A0; Wed, 11 Aug 2021 14:14:54 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mDp0Q-0007SV-2v; Wed, 11 Aug 2021 14:14:54 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mDp0P-0001fR-QF; Wed, 11 Aug 2021 14:14:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mDp0P-00065F-Pn; Wed, 11 Aug 2021 14: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Nnp9Ty2H0okXoFfZ5xd+C765PMCPMA51Q1r84fxAx4Q=; b=1BWkqdsHG185Dn0NiXfx645XQ+
	UPf0kTxqZWB29SV+hFh4qS63qu7zkhWfffANsfR7zsgecv3X/duKtJTLAkWLY8RTkSBWE6jtKeGG5
	Er9C04H3PL1h+YY1p3rwMZHVLfTQF+yoyLyiPqRE0wboaZNrhvCNaH/aywWFeFoDUr5A=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164159-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 164159: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=7311e9641785bbcdf2925bfc91b92e43a6158a7d
X-Osstest-Versions-That:
    ovmf=3d359ff90571704b53f19bf95aa797337c041abc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 11 Aug 2021 14:14:53 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 7311e9641785bbcdf2925bfc91b92e43a6158a7d
baseline version:
 ovmf                 3d359ff90571704b53f19bf95aa797337c041abc

Last test of basis   164155  2021-08-11 01:55:18 Z    0 days
Testing same since   164159  2021-08-11 10:41:15 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abner Chang <abner.chang@hpe.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
   3d359ff905..7311e96417  7311e9641785bbcdf2925bfc91b92e43a6158a7d -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Aug 11 14:57:09 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 14:57:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166117.303362 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDpeu-0006g1-34; Wed, 11 Aug 2021 14:56:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166117.303362; Wed, 11 Aug 2021 14:56:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDpet-0006fu-WA; Wed, 11 Aug 2021 14:56:43 +0000
Received: by outflank-mailman (input) for mailman id 166117;
 Wed, 11 Aug 2021 14:56: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 1mDpet-0006fk-6y; Wed, 11 Aug 2021 14:56: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 1mDpes-0008As-V7; Wed, 11 Aug 2021 14:56: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 1mDpes-0002jR-I3; Wed, 11 Aug 2021 14:56:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mDpes-00008Q-HT; Wed, 11 Aug 2021 14:56:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=kPyiHSqXjOyParpDcuHq3Q+ZfARAKZKjncQTggyl9QY=; b=JjSQgazkRlYkDuUtUxGaquwe9g
	NmTNYpe5TArqvg6C/Yeve1k6EPOI3yHxyj2PhefDefhRBS7vQiwOQhz8uHv0rB9271eMFL/AaeAG7
	3Sr3e30oTnvyCSrsrfE9cvj4+lBqnuHbh1EHMuxivh+mV+TwHC6MKJGm9mFgnXkU6+1c=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164154-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 164154: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-xl-rtds:guest-stop:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-start/debianhvm.repeat:fail:heisenbug
    xen-unstable:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt: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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm: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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=25da9455f1bb8a6d33039575a7b28bdfc4e3fcfe
X-Osstest-Versions-That:
    xen=25da9455f1bb8a6d33039575a7b28bdfc4e3fcfe
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 11 Aug 2021 14:56:42 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-rtds     17 guest-stop                 fail pass in 164149
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 20 guest-start/debianhvm.repeat fail pass in 164149

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-rtds 18 guest-start/debian.repeat fail in 164149 blocked in 164154
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 164149
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164149
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164149
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164149
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 164149
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 164149
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164149
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 164149
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164149
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164149
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164149
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 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-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 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  25da9455f1bb8a6d33039575a7b28bdfc4e3fcfe
baseline version:
 xen                  25da9455f1bb8a6d33039575a7b28bdfc4e3fcfe

Last test of basis   164154  2021-08-11 01:54:04 Z    0 days
Testing same since                          (not found)         0 attempts

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


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

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

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

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


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 15:06:17 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 15:06:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166123.303377 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDpnz-00088R-1c; Wed, 11 Aug 2021 15:06:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166123.303377; Wed, 11 Aug 2021 15: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 1mDpny-00088K-Us; Wed, 11 Aug 2021 15:06:06 +0000
Received: by outflank-mailman (input) for mailman id 166123;
 Wed, 11 Aug 2021 15:06:05 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vAfO=NC=oracle.com=boris.ostrovsky@srs-us1.protection.inumbo.net>)
 id 1mDpnx-00088E-QG
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 15:06:05 +0000
Received: from mx0a-00069f02.pphosted.com (unknown [205.220.165.32])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id a3e280f7-fab5-11eb-a09b-12813bfff9fa;
 Wed, 11 Aug 2021 15:06:03 +0000 (UTC)
Received: from pps.filterd (m0246617.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id
 17BF5nwI003926; Wed, 11 Aug 2021 15:05:50 GMT
Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71])
 by mx0b-00069f02.pphosted.com with ESMTP id 3abwqgtdv6-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Wed, 11 Aug 2021 15:05:49 +0000
Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1])
 by aserp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 17BF1mJq078862;
 Wed, 11 Aug 2021 15:05:48 GMT
Received: from nam02-bn1-obe.outbound.protection.outlook.com
 (mail-bn1nam07lp2048.outbound.protection.outlook.com [104.47.51.48])
 by aserp3030.oracle.com with ESMTP id 3abx3vw8ew-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Wed, 11 Aug 2021 15:05:48 +0000
Received: from BLAPR10MB5009.namprd10.prod.outlook.com (2603:10b6:208:321::10)
 by MN2PR10MB4062.namprd10.prod.outlook.com (2603:10b6:208:180::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16; Wed, 11 Aug
 2021 15:05:41 +0000
Received: from BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::7cd0:8600:6e6e:aa8c]) by BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::7cd0:8600:6e6e:aa8c%7]) with mapi id 15.20.4415.016; Wed, 11 Aug 2021
 15:05:41 +0000
Received: from [10.74.99.104] (160.34.89.104) by
 SA9P221CA0012.NAMP221.PROD.OUTLOOK.COM (2603:10b6:806:25::17) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.13 via Frontend Transport; Wed, 11 Aug 2021 15:05: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: a3e280f7-fab5-11eb-a09b-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=subject : to : cc :
 references : from : message-id : date : in-reply-to : content-type :
 content-transfer-encoding : mime-version; s=corp-2021-07-09;
 bh=IDo6EbQYrFmrwedcp0gCuD2MALZNysVxehj98xOOmVc=;
 b=t1Xpw8W1eRzW3/uI7bHvz1Jk1lxtw3Bvu5nDjMmlxBKPpB99bTceWJEN6D7QclZCAnCF
 yHJRiWyuu2940qkq8+jBDoypyDNRrThRPlYhgYnmzzYQMK7t0X+nPI0etmN2QzRc7+6U
 7Wgyz8bEFmNvH4NaWj0cKNxcMuxzqjA3tw2LrBEOaTtRCzNBxnihFimkv8r9+N80j5Yb
 IDPtdcxoN7ozo/ksN278udPleIlNkExsZWA36ESMxBAT+aaFbL7jIfBRkkccaJSpkeOa
 amLNCRYbbaiOYf5nJ/Pf403OBYxaT2N/sc3rZQF5UCEWq1B5cEQhxWwebFwH4fA4r8d3 cw== 
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=subject : to : cc :
 references : from : message-id : date : in-reply-to : content-type :
 content-transfer-encoding : mime-version; s=corp-2020-01-29;
 bh=IDo6EbQYrFmrwedcp0gCuD2MALZNysVxehj98xOOmVc=;
 b=dy+H6lfyvWHFQA8YQrxLSDfS/VVF++gxrskL/UeZHlmDsaXIZUBBvgBvm12WcNHyJwUH
 2fXHnVbOEHB3clb3huIW3QIZouvQEavHEhlvW0ejyB6nRqcVHSPy5RA3HBh1GTeK6ds7
 rJMNOseY8LQQwlurXBjX1cwu+nw3rcBliDLDKdH0T3g2TtaXWfpISXu7aaAfBC2wydS/
 4WCU54OJ87SI58b12sHtPleN0IiEV0BmBnz7/xANJy4hP3Ob2DB5uJqDtQhp5gZr0NPx
 5bUw3zAhsse8UmrsEnbuf132t/1Y+2U/oEd/HvpqgirSJlK3u4hEugGGrw4185xqFs5F YA== 
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eWBdar1msZVvkQucbytL54g2ldkHkH15KgL2f2fjPHYXqO+0fAg4z2D/PfZZqKbXd+5Fa1AkTFJkqCJ9UtxkV3kMmcTG3hqie/xnhoIw+0PiZtRDtuOxIQZ8KsFYHW5vmtwHXfoeN+6qmOlFrTvRJuxFm8mQGJ0ouwai4WsDKZjcTKlqIxGddAGU9kZO1S//UTN6sVK+5z4MJKHxq2H5LXny6HPF40QHmWo4r+96df6dBfLLJm8SIumsdxT+mQlEK+rngFB/38XAyTjzQyepWkpM1oIOHoMRZ4YR3Zdvk2B9bpMaJei3rvbMkuhw3sRGB5C7xvcCxyHmilC0E0YIBQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IDo6EbQYrFmrwedcp0gCuD2MALZNysVxehj98xOOmVc=;
 b=QO+7BHN6vTAZ05d2FFpsvCMmtdi3PDgaM+F4NbQ9q8qlhDlCqFa/RhbCyvNxIa2CNA9nAJtQVelgHlidNynblldIkyAjSyTHUaZdn/KAujnNWKLuEtsE05S7I/Fi/FPALTjFI3zcVTAq6yQD5msRcKuUCizOpjxVgEbUp2amU65Ve3Jdk/ZmNYB1BsORmtmYSwV1pFCMjc63o8+bXefP1U1ZTyrIn7FTFFOGef3+UWHC86XjyfI1hmfGfk204hEf+PEI5t/BD68/voOOiVLHL3RnlWjdKdG1qWStg1KsvuI5wf0jL500dBcKOXluHK49mRRuurYIuG1qv4ncBZN54A==
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=IDo6EbQYrFmrwedcp0gCuD2MALZNysVxehj98xOOmVc=;
 b=w9fwpfAQLvp9m2BR+soEAHhcESqgMMgWXtBma3Dkz7rkkwrxyaS3cV12JGgdbfhW4fZXwngpTJgt5oAm9VDh6VabrmsxuytfQjZPYsJga3oODiiTXjwg0ss2Is+9Sz6ljeeMR63QIJWSa/h/MyJ8Q+9k7CzREVJAA9suRytzNXI=
Authentication-Results: vger.kernel.org; dkim=none (message not signed)
 header.d=none;vger.kernel.org; dmarc=none action=none header.from=oracle.com;
Subject: Re: [PATCH] xen/events: Fix race in set_evtchn_to_irq
To: Maximilian Heyne <mheyne@amazon.de>
Cc: Amit Shah <aams@amazon.de>, Juergen Gross <jgross@suse.com>,
        Stefano Stabellini <sstabellini@kernel.org>,
        Wei Liu <wei.liu@kernel.org>, Thomas Gleixner <tglx@linutronix.de>,
        Jan Beulich <jbeulich@suse.com>,
        Malcolm Crossley <malcolm.crossley@citrix.com>,
        David Vrabel <david.vrabel@citrix.com>,
        Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
        xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20210811140806.75710-1-mheyne@amazon.de>
From: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Message-ID: <482af7c4-ad9e-6054-db45-ec05249a2517@oracle.com>
Date: Wed, 11 Aug 2021 11:05:33 -0400
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
In-Reply-To: <20210811140806.75710-1-mheyne@amazon.de>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Content-Language: en-US
X-ClientProxiedBy: SA9P221CA0012.NAMP221.PROD.OUTLOOK.COM
 (2603:10b6:806:25::17) To BLAPR10MB5009.namprd10.prod.outlook.com
 (2603:10b6:208:321::10)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 9421e239-e915-4cea-31a3-08d95cd97c71
X-MS-TrafficTypeDiagnostic: MN2PR10MB4062:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: 
	<MN2PR10MB40623EEE954B99B689F6730E8AF89@MN2PR10MB4062.namprd10.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 
	kIGKsSuwbk9wcAFbVc8LBE6/X+XLLBiSLxM6MHoAjQuUasTfcaHb3in83SV4nE/tqz1P9qlvMTH+v5IMf6Fe0/D6W7o4ZPauzNhX9tbpWIKgaMgrAkQG/FSb6Ya3l9ePclyzMSd/im9OI4uTjjntDX/jUHgnAKIOK/52OGde7UR3esJUtEidjlk8dlaLaMubsbVCCJ4o9Barxum17Fk9sgftGXfbgWwpsEEFrxHHi6q44d5EEmZeONu5Jy8HBrTpqOao4ZkmluVs+rlAYefziz8/alLXLLC9MHUHY9u6XMhsztfteA8HXID3+qHzeZoNHk8MWlaq78fQIMohEowwCqgpAzBTeOHGgT9yqnZk93bd5YfBeOT9TuIH579kWwObCxQ1IQhIpUjIIIpX0sApriVxeGGj9WxSkljh3pjP2HLQXnq2C2VXYQvMGVZ5AyclJt870Upl7X7+pGPrnOl/NzbgDfHmQIA5zYi7N7VcNhWywpana8btP7MUWzBtlWO1ZbQLvuGGUHnVE9PjBlkfEQfwV+i1ekPRxX2S9R2DPbA8DcxOYxVzr+j+INpqRzVjatxlMDHXXrzSy0YkVklqRhwU/KK/zoW644DKO1rGzVe15BbhsRjNFMslc5gaQb8QVqvTIxVD09Y1aB0eoxyOn/EFXJWgw+kwVVRaWndvnFmqyuhsb1zzSP2pDJsOP0fkNovOXQceZPn36ubDns4ek5kjusgIQ/8k95mmEpEBAWo=
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:(136003)(396003)(39860400002)(346002)(366004)(376002)(31696002)(36756003)(83380400001)(4326008)(316002)(86362001)(7416002)(478600001)(8936002)(8676002)(6916009)(16576012)(6666004)(38100700002)(54906003)(66476007)(5660300002)(6486002)(66556008)(26005)(66946007)(53546011)(956004)(44832011)(2616005)(31686004)(186003)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?utf-8?B?bW5oN1l4SkhkaWNKZW9GR0hsb0NaeUhvby9IZWZFWmRzOWxBUmUzSEJpOGdJ?=
 =?utf-8?B?THoxMFlwRVJ5M0NMcEFJV1VzWjZoU2YyalpZcS9GcjZMdE1vMmZKejNPZGlZ?=
 =?utf-8?B?dDdSRURDWHg1R1c1bjVyQjB5Y2RoOUZUcHZuc3gwN0hJU2txdEhSMHdXTDFt?=
 =?utf-8?B?VHhyQWVSWWxRTDRVcTFmdHVROGpGNUlOekJiMHVrSytwRk5YUlFaZThxU0tP?=
 =?utf-8?B?czhaemlGcWFnSlA2OUdPRGhQSnN0M1dFUDM5S0owWnpkbzA2RXhNclJNc3FP?=
 =?utf-8?B?OGU2NTlOa2tEWlFFZlpMNm5jTnV5UjVTZVl5OElqbGdmZnBuQ0xYWGJSZll2?=
 =?utf-8?B?NlJnQy8zRWwwUWU2WEFkdkk0aEYzMFJJSFVrWlgxbTU3T0VNek5UTHEydkZi?=
 =?utf-8?B?ZVZvOTJ5Tnp2ME0rYUxNY1RUNW93ZmNsc0ZCbjNiUDJCbDNCL3FVMVMyaU5V?=
 =?utf-8?B?Mm9ER1NsUUZURzZRa1NwQWVkcnBCc21nSXhXYkd0eGNtQ3JzR0ZTTFRvN1ZY?=
 =?utf-8?B?bmxOenhVNll4UnZEUHphZFREYy9ZZVhuWEdVVDFLTHNVSnRDOGRmcUp5ZUEy?=
 =?utf-8?B?ZXB0czJTL3JpSzZiZ1dYb1k4cGptcGkyRUxiUEtENk5sVE9odVVVNHRqVk0w?=
 =?utf-8?B?djlPT2RSZXJQZEV4RThKd2RzMVY1WjhKek1ZVGJqV0JMSWNMZnQrWUxFYkkz?=
 =?utf-8?B?UlRKbFpPbU9IRW94Q2xQN05nLytKeEFYTEZORHFyeE1vYjIwWGVoYVRGNkpa?=
 =?utf-8?B?Y0lLQzB1UVEyZ1RueTFUNUovZlhybDdwZDVnV3ZqOUc3RFpRekFrNjFkUFlp?=
 =?utf-8?B?YzNKb0NPdldBNkNyK2Z6Y0ZvRU5VRFZ2NFBCMUMwNUJ4MTk4c25rZTBMdktZ?=
 =?utf-8?B?QW44V0oza1cwUWNUb21MczFSWENPWGRXTXY3SDhJZnp2eE5lQ2J2VmFSUDV4?=
 =?utf-8?B?YzQ5aW9XOFp1WnNUWTVIcGNHREdDZUd1T1ZxUDNJRUJXeVJXVnRmcTEvenVF?=
 =?utf-8?B?ZHdzaTJTZmd4TzJMeEM3bUdZSlFpWWVUNEt6QWJrSXpMWktILzQyaEI5cnFk?=
 =?utf-8?B?cmdibEtYaWRydlY0bld2cU00UW9IR25obFNlUlZJU1hRVFVzY3k0N210bndG?=
 =?utf-8?B?a0NPSm1FcE1mNWVtQk1OSlZBaEk2WmNhdXlucnhTYUxubFJ5QlJkUG5QZXMw?=
 =?utf-8?B?bnBnb1RUa3ZBMEFHaW5iZHoxMGhBZDYxRHZ6R0c5d3dONVAvbm1OaFQzVG1x?=
 =?utf-8?B?MUxvQWl3UkNvR1lURWJhT3Y5ajBWRjQvRUR0TkRJQWtCUXRuUEQyejErWFFl?=
 =?utf-8?B?b3UrdWpqaTFoS1RnZ1FmTyttMmhOQ3RVRE9rVWRxakRvcGIxMU8rQW5tR0hP?=
 =?utf-8?B?TlhyYW43alVSRDVsQ3k5RXg1R2haRjgwcWFkYTIvQ3JEWlJsSGRWdEwyRHFY?=
 =?utf-8?B?d3haMDBzNWhkTWpjeFRPbkRoN3ZaNlRXbHVyaEpKaHAraUR1bm5JNG90NWVJ?=
 =?utf-8?B?WEIxQU9qYm1QdThIeEhreW5ISUQvY2l0SlpGYzluM0hPbjQzVHVOTVFpbkRQ?=
 =?utf-8?B?ZDN0a2xyMTRkWmJLTEcwMm56bDc2YzV6R3o4VXRlVWZkYU01UUpvQ1BkN3Fn?=
 =?utf-8?B?K2RjSXpJQVFvUFQ2aDhSZ0VxZUZmZjd3MTh0a1llT1p1cFFJa0NOWWFiSWNQ?=
 =?utf-8?B?RGpHSFRTRE02Z09ldVkyNG04aU5zalZMM2VNdEFWbWw0R1BPUDNhbG5BNFdZ?=
 =?utf-8?Q?Kw9bN0Fw5M+WBqPd0IvqGOVIrH7VqmGIKcT3QIm?=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9421e239-e915-4cea-31a3-08d95cd97c71
X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5009.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 15:05:41.5744
 (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: IZpdoqsqxd1qjdb0iIoE1n22LkLGHTr8XvTw32+grNIefOskwvVSj1ql3vz1wChajdyZ79GHIAEC4Q8syHAKp1hDBZpblAIeNoqM/2viPrA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR10MB4062
X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=10072 signatures=668682
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 mlxscore=0 bulkscore=0
 spamscore=0 phishscore=0 mlxlogscore=844 suspectscore=0 malwarescore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2107140000
 definitions=main-2108110101
X-Proofpoint-ORIG-GUID: YnaBpIpl3LJ3d-hhg-PW9E01XoZSRxLz
X-Proofpoint-GUID: YnaBpIpl3LJ3d-hhg-PW9E01XoZSRxLz


On 8/11/21 10:08 AM, Maximilian Heyne wrote:
>
> This patch sets evtchn_to_irq rows via a cmpxchg operation so that they
> will be set only once. Clearing the row was moved up before writing the
> row to evtchn_to_irq in order to not create a race once the row is
> visible for other threads. Accesses to the rows are now guarded by
> READ_ONCE and WRITE_ONCE just as for the columns in the data structure.


Is this last part really needed? We needed to do that for array elements to avoid an interrupt handler from seeing a partially updated entry but I am not sure I see how this can happen to the row pointer. The only place where it might be important is when we update the pointer to the new page but you are using cmpxchg there already.


>  
> -		evtchn_to_irq[row] = (int *)get_zeroed_page(GFP_KERNEL);
> -		if (evtchn_to_irq[row] == NULL)
> +		evtchn_row = (int *) get_zeroed_page(GFP_KERNEL);


Not directly related to this patch but I don't think we need to get a zeroed page --- we will initialize it to -1 immediately below.



-boris



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 15:20:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 15:20:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166130.303387 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDq2B-0001yC-H9; Wed, 11 Aug 2021 15:20:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166130.303387; Wed, 11 Aug 2021 15:20:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDq2B-0001y5-DX; Wed, 11 Aug 2021 15:20:47 +0000
Received: by outflank-mailman (input) for mailman id 166130;
 Wed, 11 Aug 2021 15:20: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 1mDq2A-0001xz-6w
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 15:20: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 1mDq29-00009u-AM; Wed, 11 Aug 2021 15:20:45 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mDq29-00075y-2U; Wed, 11 Aug 2021 15: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=h6pvGcwmLzOojSISgrl3LkHzXQIhFp6MwiStpQlWDHM=; b=Xhr7IqTorDZiCAZ4Ysw0z50j9Z
	gBG2Y0qWWKkJRgR8C9chbmCqRZfbrFIxIJpxqWYxmnVF8cACLhyDNCnQSv3Oau/OMQ8JWpFtt0H6i
	dn5Y794an8gcZOXFghkqVhPYTfuR3NEQDlSeaMbjxzGC2uMog7677t82E+8oi9g7cxrg=;
Subject: Re: Disable swiotlb for Dom0
To: Roman Skakun <Roman_Skakun@epam.com>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
 Andrii Anisov <Andrii_Anisov@epam.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Roman Skakun <rm.skakun@gmail.com>, Jan Beulich <jbeulich@suse.com>
References: <AM7PR03MB6593B4461B99297C8650CF1C85F79@AM7PR03MB6593.eurprd03.prod.outlook.com>
 <060b5741-922c-115c-7e8c-97d8aa5f46f4@xen.org>
 <AM7PR03MB65932619505158E3930D8E8785F89@AM7PR03MB6593.eurprd03.prod.outlook.com>
 <d616081a-8c60-dcda-ac54-58c5be0c21ce@xen.org>
 <AM7PR03MB6593834BA54AD8A126EF872185F89@AM7PR03MB6593.eurprd03.prod.outlook.com>
From: Julien Grall <julien@xen.org>
Message-ID: <691e31db-c79b-9196-53e1-cbbdc9bd3a54@xen.org>
Date: Wed, 11 Aug 2021 16:20:42 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <AM7PR03MB6593834BA54AD8A126EF872185F89@AM7PR03MB6593.eurprd03.prod.outlook.com>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit

Hi,

On 11/08/2021 15:13, Roman Skakun wrote:
>> > Also, I added the log in xen_swiotlb_detect() and can see that swiotlb
>> > still used (other devices within dom0 used too), when dom0 is direct 
> mapped:
>> >
>> > [  1.870363] xen_swiotlb_detect() dev: rcar-fcp,
>> > XENFEAT_direct_mapped, use swiotlb
>> > [  1.878352] xen_swiotlb_detect() dev: rcar-fcp,
>> > XENFEAT_direct_mapped, use swiotlb
>> > [  1.886309] xen_swiotlb_detect() dev: rcar-fcp,
>> > XENFEAT_direct_mapped, use swiotlb
>> >
>>> This means, that all  devices are using swiotlb-xen DMA fops.
>> > By the way, before applying this patches, dom0 always used swiotlb-xen
>> > fops for initial domain by design.
> 
>> >This is expected because your domain is direct mapped.
> 
> May be, I don't understand right, Stefano reported the same issue when 
> dom0 is not direct mapped,
> but I have direct mapped dom0 and problem still exists.

I am not entirely sure why you think this is the same problem as 
Stefano. He asked to bypass the swiotlb, but AFAIK, this is not because 
the buffer get bounced.

Instead, it is because swiotlb-xen on Arm has been relying on its RAM to 
be direct-mapped (GFN == MFN). With cache coloring, the memory will not 
be direct-mapped, hence it will be broken.

> 
>>Ok. Would you be able to provide more information on where the dom0
>>memory is allocated  and the list of host RAM?
> 
> Host memory:
> DRAM: 7.9 GiB
> Bank #0: 0x048000000 - 0x0bfffffff, 1.9 GiB
> Bank #1: 0x500000000 - 0x57fffffff, 2 GiB
> Bank #2: 0x600000000 - 0x67fffffff, 2 GiB
> Bank #3: 0x700000000 - 0x77fffffff, 2 GiB
> 
> dom0 memory map:
> (XEN) Allocating 1:1 mappings totalling 2048MB for dom0:
> (XEN) BANK[0] 0x00000048000000-0x00000050000000 (128MB)
> (XEN) BANK[1] 0x00000058000000-0x000000c0000000 (1664MB)
> (XEN) BANK[2] 0x00000510000000-0x00000520000000 (256MB)

Thanks! So you have some memory assigned above 4GB to dom0 as well.

>>> We retrieved dev_addr(64b1d0000)  + size > 32bit mask, but fcp driver
>>> wants to use only  32 bit boundary address, but that's consequence.
>>>
>> Ok. So your device is only capable to do a 32-bit DMA. Is that correct?
> 
> Yes.
> 
>> > I think, the main reason of using bounce buffer isMFN address, not DMA
>> > phys address.
>> >
>>I don't understand this sentence. Can you clarify it?
> 
> This address looks like theMFN because I'm using mapped grant tables 
> from domU.
> 
> I've added the log and see the following:
> with swiotlb:
> [  78.620386] dma_map_sg_attrs() dev: rcar-du swiotlb, sg_page: 
> fffffe0001b80000, page_to_phy: b6000000, xen_phys_to_dma: 64b1d0000
> 
> without swiotlb (worked fine):
> [  74.456426] dma_map_sg_attrs() dev: rcar-du direct map, sg_page: 
> fffffe0001b80000, page_to_phy: b6000000, xen_phys_to_dma:b6000000
> 
> I guess, need to figure out why we got a normal dom0 DMA address 
> (b6000000) and why 64b1d0000 when using swiotlb.

So 0xb6000000 is most likely the GFN used to mapped the grant from the domU.

swiotlb-xen on Arm will convert it to the MFN because it is not aware 
whether the device is behind an IOMMU.

As the address is too high to be handled by the device, swiotlb will try 
to bounce it. I think it is correct to bounce the page but I am not sure 
why it can't. What the size of the DMA transaction?

However, even if you disable xen-swiotlb, you are likely going to face 
the same issue sooner or later because the grant can be mapped anywhere 
in the memory of dom0 (the balloon code doesn't look to restrict where 
the memory can be allocated). So it is possible for the grant to be 
mapped in the dom0 memory above 4GB.

Oleksandr is also looking to provide a safe range which would be outside 
of the existing RAM. So, I believe, you will have to bounce the DMA 
buffer unless we always force the grant/foreign mapping to be mapped 
below 4GB.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 11 15:21:34 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 15:21:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166136.303399 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDq2v-0002Wr-QX; Wed, 11 Aug 2021 15:21:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166136.303399; Wed, 11 Aug 2021 15: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 1mDq2v-0002Wk-NS; Wed, 11 Aug 2021 15:21:33 +0000
Received: by outflank-mailman (input) for mailman id 166136;
 Wed, 11 Aug 2021 15:21:32 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wrQt=NC=citrix.com=Jane.Malalane@srs-us1.protection.inumbo.net>)
 id 1mDq2u-0002Wa-Kw
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 15:21:32 +0000
Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id cdc785d6-fab7-11eb-a09b-12813bfff9fa;
 Wed, 11 Aug 2021 15:21: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: cdc785d6-fab7-11eb-a09b-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1628695291;
  h=from:to:cc:subject:date:message-id:mime-version;
  bh=eCKeutI27x2rCC5owfVia7tk2HpSAR1VD75w6n4F5QQ=;
  b=N7AKZRj1px9HlSm5I7ZnLZkJXWBn/j5KIFLY14I2B6gwN6ITpH0trIbD
   pwUaFKfVVSzTeeKzycR9T6sFT2/ITP+I7oIonR+gOviwxgH39klUq2zIf
   8ywtnHUQ6VTiugrtWqSNe9hQTQdphYPHy+/nLKz1N6KxEFGmSLDpO88Mj
   A=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: mllvw5Ah7dOv3sTIV03vzLNpVF3aaNgMPs+rIXGBHqCTNrcNS99mZtlQE+B8YQtb0ulpgvcOFC
 lpjvqsALTCgEzuSXX1vk1fYapQE8HEkOAgI25q42lis9yi1MDR3ouG66Vj4rqjWowLAK8lUmJi
 hYRpCoDz4DTaeCEW+4hawM2wFdZdsLET9FHUhvz1aqK3Iu7rZPxNhCFIxgTYDdwPPvZsdRTNb+
 fwC2AeAoWRFnUXb8U+K6/+/u/rM3VtC2ddUFmfqJ48p6mHgZfcGKpzZnlxJ/8zrP/yPXMIXuSk
 uWn8K6XJ2i9F7kJtElmcdHYc
X-SBRS: 5.1
X-MesageID: 50223934
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:6YfCRqD0MoWQgmjlHem655DYdb4zR+YMi2TC1yhKJyC9E/bo8P
 xG88566faZslossRIb6LS90cu7MBDhHPdOiOF7V9qftWHdyQ6VxepZjLcKrQeOJ8SHzJ8+6Z
 td
X-IronPort-AV: E=Sophos;i="5.84,313,1620705600"; 
   d="scan'208";a="50223934"
From: Jane Malalane <jane.malalane@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Jane Malalane <jane.malalane@citrix.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Ian
 Jackson" <iwj@xenproject.org>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>
Subject: [PATCH] xen/bitmap: Don't open code DIV_ROUND_UP()
Date: Wed, 11 Aug 2021 16:20:55 +0100
Message-ID: <20210811152055.22962-1-jane.malalane@citrix.com>
X-Mailer: git-send-email 2.11.0
MIME-Version: 1.0
Content-Type: text/plain

Also, change bitmap_long_to_byte() and bitmap_byte_to_long() to take
'unsigned int' instead of 'int' number of bits, to match the type of
their callers.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jane Malalane <jane.malalane@citrix.com>
---
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: George Dunlap <george.dunlap@citrix.com>
CC: Ian Jackson <iwj@xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>
CC: Julien Grall <julien@xen.org>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Wei Liu <wl@xen.org>
---
 xen/common/bitmap.c | 27 +++++++++++++++------------
 1 file changed, 15 insertions(+), 12 deletions(-)

diff --git a/xen/common/bitmap.c b/xen/common/bitmap.c
index bbc3554ae1..b78cb6029f 100644
--- a/xen/common/bitmap.c
+++ b/xen/common/bitmap.c
@@ -10,6 +10,7 @@
 #include <xen/bitmap.h>
 #include <xen/bitops.h>
 #include <xen/cpumask.h>
+#include <xen/lib.h>
 #include <xen/guest_access.h>
 #include <asm/byteorder.h>
 
@@ -338,7 +339,7 @@ EXPORT_SYMBOL(bitmap_allocate_region);
 
 #ifdef __BIG_ENDIAN
 
-static void bitmap_long_to_byte(uint8_t *bp, const unsigned long *lp, int nbits)
+static void bitmap_long_to_byte(uint8_t *bp, const unsigned long *lp, unsigned int nbits)
 {
 	unsigned long l;
 	int i, j, b;
@@ -354,7 +355,7 @@ static void bitmap_long_to_byte(uint8_t *bp, const unsigned long *lp, int nbits)
 	clamp_last_byte(bp, nbits);
 }
 
-static void bitmap_byte_to_long(unsigned long *lp, const uint8_t *bp, int nbits)
+static void bitmap_byte_to_long(unsigned long *lp, const uint8_t *bp, unsigned int nbits)
 {
 	unsigned long l;
 	int i, j, b;
@@ -371,18 +372,18 @@ static void bitmap_byte_to_long(unsigned long *lp, const uint8_t *bp, int nbits)
 
 #elif defined(__LITTLE_ENDIAN)
 
-static void bitmap_long_to_byte(uint8_t *bp, const unsigned long *lp, int nbits)
+static void bitmap_long_to_byte(uint8_t *bp, const unsigned long *lp, unsigned int nbits)
 {
-	memcpy(bp, lp, (nbits+7)/8);
+	memcpy(bp, lp, DIV_ROUND_UP(nbits, BITS_PER_BYTE));
 	clamp_last_byte(bp, nbits);
 }
 
-static void bitmap_byte_to_long(unsigned long *lp, const uint8_t *bp, int nbits)
+static void bitmap_byte_to_long(unsigned long *lp, const uint8_t *bp, unsigned int nbits)
 {
 	/* We may need to pad the final longword with zeroes. */
 	if (nbits & (BITS_PER_LONG-1))
 		lp[BITS_TO_LONGS(nbits)-1] = 0;
-	memcpy(lp, bp, (nbits+7)/8);
+	memcpy(lp, bp, DIV_ROUND_UP(nbits, BITS_PER_BYTE));
 }
 
 #endif
@@ -393,13 +394,14 @@ int bitmap_to_xenctl_bitmap(struct xenctl_bitmap *xenctl_bitmap,
     unsigned int guest_bytes, copy_bytes, i;
     uint8_t zero = 0;
     int err = 0;
-    uint8_t *bytemap = xmalloc_array(uint8_t, (nbits + 7) / 8);
+    unsigned int xen_bytes = DIV_ROUND_UP(nbits, BITS_PER_BYTE);
+    uint8_t *bytemap = xmalloc_array(uint8_t, xen_bytes);
 
     if ( !bytemap )
         return -ENOMEM;
 
-    guest_bytes = (xenctl_bitmap->nr_bits + 7) / 8;
-    copy_bytes  = min(guest_bytes, (nbits + 7) / 8);
+    guest_bytes = DIV_ROUND_UP(xenctl_bitmap->nr_bits, BITS_PER_BYTE);
+    copy_bytes  = min(guest_bytes, xen_bytes);
 
     bitmap_long_to_byte(bytemap, bitmap, nbits);
 
@@ -422,13 +424,14 @@ int xenctl_bitmap_to_bitmap(unsigned long *bitmap,
 {
     unsigned int guest_bytes, copy_bytes;
     int err = 0;
-    uint8_t *bytemap = xzalloc_array(uint8_t, (nbits + 7) / 8);
+    unsigned int xen_bytes = DIV_ROUND_UP(nbits, BITS_PER_BYTE);
+    uint8_t *bytemap = xzalloc_array(uint8_t, xen_bytes);
 
     if ( !bytemap )
         return -ENOMEM;
 
-    guest_bytes = (xenctl_bitmap->nr_bits + 7) / 8;
-    copy_bytes  = min(guest_bytes, (nbits + 7) / 8);
+    guest_bytes = DIV_ROUND_UP(xenctl_bitmap->nr_bits, BITS_PER_BYTE);
+    copy_bytes  = min(guest_bytes, xen_bytes);
 
     if ( copy_bytes )
     {
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 15:40:17 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 15:40:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166144.303410 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDqKv-0004r9-EC; Wed, 11 Aug 2021 15:40:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166144.303410; Wed, 11 Aug 2021 15:40:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDqKv-0004r2-BB; Wed, 11 Aug 2021 15:40:09 +0000
Received: by outflank-mailman (input) for mailman id 166144;
 Wed, 11 Aug 2021 15:40:07 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fjOV=NC=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mDqKt-0004qw-Th
 for xen-devel@lists.xenproject.org; Wed, 11 Aug 2021 15:40:07 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 2003b13f-c280-4ab1-985b-1a767809a0ec;
 Wed, 11 Aug 2021 15:40:06 +0000 (UTC)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2058.outbound.protection.outlook.com [104.47.13.58]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-11-eM4lIozTOHmKbdTvhdiJrw-1; Wed, 11 Aug 2021 17:40:04 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB6303.eurprd04.prod.outlook.com (2603:10a6:803:f2::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.21; Wed, 11 Aug
 2021 15:40:02 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4394.025; Wed, 11 Aug 2021
 15:40:01 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0065.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1d::29) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Wed, 11 Aug 2021 15:40:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2003b13f-c280-4ab1-985b-1a767809a0ec
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628696405;
	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=Vex7xXiURIoZrr3tbOgfQTP5BlYPm1n/DRPu02KIjvg=;
	b=SEH0T84733q6wRzCvsihIHunPLxiIwcdqyuyCpYX8oS0spausx6y9ZREYnAmO9tw8B85S8
	1jUyo8O3cU9YNwL9zacjGX+snHaTInXgt03bDOWg+afreMrfbu0etmL/GxswEmvmG+HB5+
	0P0T2Ei65Ygs07PWAwghz6srDX6oZS4=
X-MC-Unique: eM4lIozTOHmKbdTvhdiJrw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hRYYPnaf6z1qNRczi+PvoINT7BJumtW2phC4Ke77ItAgdK47GYT0SPdGuq2RnxU+l9oEDRTqBlBoz16Dh+UkOKpWGvit1qcHFrw+lMNkPDJAITuBsVJZlBc1TGn4z37768ySBQcnkqI8CFiVTO1qZ+yf2AskTuBfHX+ifpza0e5ezc99gqDGpLHIRrg5cVxXpXq2eciMwGaZu32jKOt6i73tFzh5Mbvmf83/OA5WZ+25nyiqCMT8whnyeZKhdczpm658HnqNcJMksgucOPaXE8xjAgTRiUkRA7KzmVBO9Iyz7HW8dDfKGoDD4OgHKZ28AUnWWLme1V3ITNODPH7TAw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Vex7xXiURIoZrr3tbOgfQTP5BlYPm1n/DRPu02KIjvg=;
 b=UHCHIdfdvTCA5mnqDysYS+QF91M2bj7QN+o1HsZWWmhxNh/8cfOQ9OXQoRqUMPuLnbwa1M22t2LAau2kyTuXGuQxN5yoPvpdxLaXX9wur181bUaohfhhtK86trpE6GF80nRtye+s5v9JNd2YcXKsGdYVtotR8zHejqDpqPgOuSPhy+DVNPzAPrrTm33pvddly1BC08u7HtC4wqz/BUZduCM8hlgQXV/VIOC+9jawcwBBqLaYa3choJH1ac3c3sM0czkQTEwiPw7mR+CdB/z7wYKuR1ad/pN6SWUydgPO5h3mI2u6uWH+6wi7z2fV1dc/0Bpg4HfGGj7yXe6OfTK/Sg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH] xen/bitmap: Don't open code DIV_ROUND_UP()
To: Jane Malalane <jane.malalane@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20210811152055.22962-1-jane.malalane@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <fafa45b2-10a1-e5fb-3fa7-755300f14651@suse.com>
Date: Wed, 11 Aug 2021 17:39:59 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <20210811152055.22962-1-jane.malalane@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0065.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1d::29) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 33596bed-eefa-49ac-2697-08d95cde4875
X-MS-TrafficTypeDiagnostic: VI1PR04MB6303:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB6303CC6A07501821ED5D1A28B3F89@VI1PR04MB6303.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:3044;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	E30dFULhALbucYfAyA49nYBeRig0b/9OaVumyi7KOxJFyuCC1fYc+LOUaKg0RJkBdiecXjEcs2UiZ0lY+HSMlDYSmePITqCKj+xrhxxUMKLg/q/WMGhGLs0yxaqFCk2GWxo4Xhlbferw9/DVmyzhEUWgRPa7w5LptAMcOpJryRRGUrse7GvRSqZrTwjauxLWZFW1BavIDnmP+EATeLmNBXw9J5NSiNMGwcn1+3wPqDOOtcV38/5WavkLFIB/J31NTw9mBdNgErlO2bGkMIsLcBEPxC9+TsuBSgdcvsTWsOdxfEKLqcQ6aV1qCNFdJW2VqHHOKbR/Apg8lox/4n4HTtX0NEODzt5X5RypW9gmyUDaSzaMQepJgQDOZcb1GMH/O6Kbkhx036aptGNU8gPEQj35SwfsmGPAobQ4jkTul5pv5Ig9/qkoxmP9t/52P+XkJQKHnNbkfa+pmV+BHFxFGsMblwNSevpw5BZw75sBUdVwFdhrVZMIaHTS3upPU0/AitLCgYlxDL5DzKEQOWHl8DJmYt+VHk2yv4zsa0vMLmrEGkcswT98p0ODCDD/pclN/7MTY6k8KAvuv61s5e+pyPP4w2nI/lOIPmK0p8ipmL1dxeNpdM+UGnXWK+fvlOhZHavnWOp3UGSK55RdG4X4LSidHmZS0UPWhdM+8a2wVxQR+2URS1GT6YTfRog6d5RGHd1/exFurCqEKsvSQYFpZvCreHXkiPpo0ODNPv37Zb0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(8936002)(5660300002)(8676002)(4326008)(36756003)(86362001)(2616005)(26005)(956004)(66946007)(38100700002)(2906002)(186003)(31686004)(83380400001)(16576012)(53546011)(6916009)(508600001)(6486002)(54906003)(31696002)(66476007)(316002)(66556008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WFE2OWk4QUZWTk52SmNYNUw5eUNqdU5QdlhwekVhVk9IOFdWMFlJdUNvUFBG?=
 =?utf-8?B?bVhGSmN3dXBPSVNRQUVwazBHUWIva0dDTU45TFdaMWFzaHhaZW5YQW5uUkFF?=
 =?utf-8?B?RWV1T1ZQYW5HZTNRbXRvYXhiMUVzWDhKUm0wMlZUeXRLSTBJN0N2QXJSV1BD?=
 =?utf-8?B?VHllZ3ZNanU1dEtnd1BSNnpZT2g1ZnhkUmU1U21RYWpMUXB6VE5OWGM3T1Q0?=
 =?utf-8?B?TjQxd293NzNyU1BhSXRFTnJza01tTVFmWWxUc3ZsdCt6L3gzbVJ3QU5kVzZv?=
 =?utf-8?B?SHh0U29oS2QyaTlSd3hlVEZuQ3VTNEpnT3RFakxXenFjZ1NYMnlCN2NyZlhB?=
 =?utf-8?B?dVNGdUF5dUU1cFY1QWl0MkVTcnp4QVMya2xmUmZ0cmY4ZmozT2tnclFEN09r?=
 =?utf-8?B?QUdHN2ViOGtKazJXNkxtQ0YzTnF4UnROMlJOQWZxMkxuQlBrWC8xRWUyditW?=
 =?utf-8?B?SUo3YjZ1MmZZcXhGSE9PdHRRN3ZnS3FFYUY5SDE5allKNDg3R0RyUjBsMkxw?=
 =?utf-8?B?d2F4VmkwK1J6WENIYzJNeEp5WGd6VnUydXFKaG9wcll1OWN4NFBKZXkvckw2?=
 =?utf-8?B?Y2FIZGVoMVYvQno5SjlZb1VLQTZiUjlMRVdmT3lFbmw0VmEvYjZ0TCs0Uzdv?=
 =?utf-8?B?aW9PMEh6UDJ0UzRrQm1vNksyTk5STm9HdEV3MEU3MEhXcnBkUHdnb0I1RDJB?=
 =?utf-8?B?cjJ5ZmJiMGFaVW13cittZzVVc0JpelVFdjhLcmpFNkg5V3JQdFFieTVHOUhk?=
 =?utf-8?B?MkJuN0VCeG04d3VHd0FxYkJnTElJcTZIaWVGYUZzN0V3cWhTWXE0WEl6bmt6?=
 =?utf-8?B?TDBiMDRBbDlRaFFqSGVqRVNCQzEyaW1pVzhFS3NteStMUGxkVWg4SElVYzQ1?=
 =?utf-8?B?Vkl2d1JySVV4NnlTM3lkdjFtVGdpN3NwSTk5SWhrRXhPcXN4Q0ovQW95VGRm?=
 =?utf-8?B?aWlTd1lwYmI1L2xUZ3BGODhwTHBFNWJ5NW13a05CQmhRN2tSZHd5Y3dXelcx?=
 =?utf-8?B?V1VFV1RpNkRPMVp3ZGd5Yk9tWG92SEJrRzhubmx6VEJ1KzVUMUN5QzZJZElz?=
 =?utf-8?B?Q3NoWmRCN1ZQNm5WOGJSUS9EQzh6UWVtcjc4ZlNFa1pRZENJR1JxWnVMd1hi?=
 =?utf-8?B?cW5jelVLVU1vK3VMalgyZVp1UWYvdmpEaHpJMmxqZ3BqbDdydUVCdmhoK0Nu?=
 =?utf-8?B?WGxLMzl1VkdyT0ZRL1pWbWJqeVQ3Z3g1UUp2ZEdqSm1BRjJ4OTZUcDRmdUw0?=
 =?utf-8?B?NzhhdERleXQ4U2JBWDl1Z1ZjUlVuWEZnQlpmd2EySmZNeTB1NzZCZFNYYWl2?=
 =?utf-8?B?Y1VOaWd3QmFWM0owS3VNUWxsRHVRRFBqK3FNOGxYSFdHRGlZZmRkbWtEY20y?=
 =?utf-8?B?ZWlXZi84aDhtUHI2b0tocnRkTk5tUkh2TnBXbjZBVFZ5NTFZbXE0NmNYOU9s?=
 =?utf-8?B?N1BZU1hsUFJOWndmVTdkRGwzekJTTnVHZlJkNWNYN2FSc1UzZmNlemRhcDFp?=
 =?utf-8?B?NG5QVzdmQUtCeUxObHNQcFM0M2x4Yk0wNmhid2phWVR0TldyRit6bFZNczdy?=
 =?utf-8?B?V3dhNFVDd2FIUDdhNXpISHF1a2JyL09jcVVjanhoMGhVNU5jVFBUT1gxR0Rs?=
 =?utf-8?B?bE5McDFuM1pFS2dGWWh6ZTk2U20xMExiV1VOVHVzOGNnVkFmRjZmTDJ4VFh1?=
 =?utf-8?B?akdyYlNYSFd5QWlOajE5UDB6V1ZCZW45ZDVTZ3dGdHBWR2toT1F4eWZVbTZO?=
 =?utf-8?Q?i3MzWPgFt8jcwqbi/Xk/8G2fgzK7/pqQJ9KMy2B?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 33596bed-eefa-49ac-2697-08d95cde4875
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2021 15:40:01.9097
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: tEKqLSoF+q7yOcHpsR+UmcSxMst0HEbCC29QL+c/mTtc6GKUGLbUjY2gSZtGKKBo9ONA0G03nxwHp3nNE7xkQg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6303

On 11.08.2021 17:20, Jane Malalane wrote:
> --- a/xen/common/bitmap.c
> +++ b/xen/common/bitmap.c
> @@ -10,6 +10,7 @@
>  #include <xen/bitmap.h>
>  #include <xen/bitops.h>
>  #include <xen/cpumask.h>
> +#include <xen/lib.h>
>  #include <xen/guest_access.h>
>  #include <asm/byteorder.h>

I'm curious how you've chosen this insertion point. While the first
two #include-s (just out of context) are still unsorted, the rest
currently matches our goal of alphabetical sorting (within the
sub-groups, i.e. xen/, asm/, and public/), unless there's an actual
reason to violate this pattern. Hence please don't violate this
partial sorting and move the insertion one line down.

> @@ -338,7 +339,7 @@ EXPORT_SYMBOL(bitmap_allocate_region);
>  
>  #ifdef __BIG_ENDIAN
>  
> -static void bitmap_long_to_byte(uint8_t *bp, const unsigned long *lp, int nbits)
> +static void bitmap_long_to_byte(uint8_t *bp, const unsigned long *lp, unsigned int nbits)

This now exceeds 80 chars, which is the limit per line. Please wrap
accordingly.

With these taken care of
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 11 16:00:38 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 16:00:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166161.303436 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDqeM-0007vL-EM; Wed, 11 Aug 2021 16:00:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166161.303436; Wed, 11 Aug 2021 16: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 1mDqeM-0007vE-Ax; Wed, 11 Aug 2021 16:00:14 +0000
Received: by outflank-mailman (input) for mailman id 166161;
 Wed, 11 Aug 2021 16:00: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 1mDqeK-0007v4-EL; Wed, 11 Aug 2021 16:00: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 1mDqeJ-0001U1-6u; Wed, 11 Aug 2021 16:00: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 1mDqeI-0004Ho-S9; Wed, 11 Aug 2021 16:00:10 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mDqeI-0005so-Rd; Wed, 11 Aug 2021 16:00: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=kjCEDwnDZTrmOWf026Y1XuKRXJTlCdTMvK6z2hypHss=; b=08BAi+zOatV31UafDG2WC8fPbK
	FCmYSCZ09UGD2wezmOeWq9Mwx9U8iJbmrBgWRSA7l50a1c76yrRNjHLYIgtDsnOqlRF7TCF8OK9xW
	mfRiwdZwIIWuIYcGfFvyMYJ0HtH1lb+T8ZmkFXs5igV9SHq8DscEmHIsH0QBLyZ9I67s=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164157-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164157: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt:<job status>:broken:regression
    linux-linus:test-armhf-armhf-xl-credit2:<job status>:broken:regression
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-qemuu-freebsd11-amd64:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:regression
    linux-linus:test-armhf-armhf-libvirt:host-install(5):broken:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:host-install(5):broken:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=761c6d7ec820f123b931e7b8ef7ec7c8564e450f
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 11 Aug 2021 16:00:10 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-libvirt        <job status>                 broken
 test-armhf-armhf-xl-credit2     <job status>                 broken
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop              fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-qemuu-freebsd11-amd64 19 guest-localmigrate/x10 fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 20 guest-stop               fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  13 debian-fixup             fail REGR. vs. 152332

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

version targeted for testing:
 linux                761c6d7ec820f123b931e7b8ef7ec7c8564e450f
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  375 days
Failing since        152366  2020-08-01 20:49:34 Z  374 days  659 attempts
Testing same since   164157  2021-08-11 06:49:01 Z    0 days    1 attempts

------------------------------------------------------------
6782 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              fail    
 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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  broken  
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     broken  
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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

broken-job test-armhf-armhf-libvirt broken
broken-job test-armhf-armhf-xl-credit2 broken
broken-step test-armhf-armhf-libvirt host-install(5)
broken-step test-armhf-armhf-xl-credit2 host-install(5)

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Wed Aug 11 16:15:10 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 16:15:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166169.303450 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDqsj-00019u-1n; Wed, 11 Aug 2021 16:15:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166169.303450; Wed, 11 Aug 2021 16:15:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDqsi-00019n-Uo; Wed, 11 Aug 2021 16:15:04 +0000
Received: by outflank-mailman (input) for mailman id 166169;
 Wed, 11 Aug 2021 16:15: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 1mDqsi-00019d-7Z; Wed, 11 Aug 2021 16:15: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 1mDqsi-0001iI-0r; Wed, 11 Aug 2021 16:15: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 1mDqsh-0004dx-NK; Wed, 11 Aug 2021 16:15:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mDqsh-0000Cz-Mn; Wed, 11 Aug 2021 16:15: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=Spf5+UY86hTqrPDbvg60FTJ5YwaMZ0p6351EE8aH0DY=; b=XzN1ui5H1OOwR1SDwg//tbsXsJ
	S3OjjrkxnarUDGkrIUombQM09UcfoJL9tKtc2ziEA882YzDKnKjEbhdbASNLsdVsu11UchcpxS4yQ
	iDEaEFLs1BP6tINlLXXPCkmMweKE53g0rd12+ZngQSzEY6n2+69KFBAZYNrf6L4Fg3Hg=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164160-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 164160: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=a776bbabd9e8f370feb089cdc016324b1d6a37c7
X-Osstest-Versions-That:
    ovmf=7311e9641785bbcdf2925bfc91b92e43a6158a7d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 11 Aug 2021 16:15:03 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 a776bbabd9e8f370feb089cdc016324b1d6a37c7
baseline version:
 ovmf                 7311e9641785bbcdf2925bfc91b92e43a6158a7d

Last test of basis   164159  2021-08-11 10:41:15 Z    0 days
Testing same since   164160  2021-08-11 14:41:07 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Etienne Carriere <etienne.carriere@linaro.org>
  Jiewen Yao <Jiewen.yao@intel.com>
  Liming Gao <gaoliming@byosoft.com.cn>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   7311e96417..a776bbabd9  a776bbabd9e8f370feb089cdc016324b1d6a37c7 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Aug 11 21:55:39 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Aug 2021 21:55:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166176.303464 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDwC5-0005KR-PE; Wed, 11 Aug 2021 21:55:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166176.303464; Wed, 11 Aug 2021 21: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 1mDwC5-0005KK-Ll; Wed, 11 Aug 2021 21:55:25 +0000
Received: by outflank-mailman (input) for mailman id 166176;
 Wed, 11 Aug 2021 21:55:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mDwC3-0005KA-OA; Wed, 11 Aug 2021 21:55:23 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mDwC3-0007Qb-HF; Wed, 11 Aug 2021 21:55:23 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mDwC3-0007Xk-8c; Wed, 11 Aug 2021 21:55:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mDwC3-0006ae-7v; Wed, 11 Aug 2021 21:55: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=pokhCZybTpqt5QnAn04vA0pVqlkzzCaXEY/4lfyvR6k=; b=cXkLZW+Pq4gplf1RRkz+6yMlup
	j1VDDwkIuLS5EFxYGDBUea+CtNTKdgSM/whPt14FAdhNmihfX40EUDO0cYTFUmnNFoDeUmFMTseXL
	KejanPlEvBuddbEJ1abhirZEWGzyJ4eIV8QtLE2s3iO+UDyzP7KX7kRLQYOmlkDxVarI=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164161-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164161: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt:<job status>:broken:regression
    linux-linus:test-armhf-armhf-xl:<job status>:broken:regression
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:regression
    linux-linus:test-armhf-armhf-libvirt:host-install(5):broken:nonblocking
    linux-linus:test-armhf-armhf-xl:host-install(5):broken:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=761c6d7ec820f123b931e7b8ef7ec7c8564e450f
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 11 Aug 2021 21:55:23 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-libvirt        <job status>                 broken
 test-armhf-armhf-xl             <job status>                 broken
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop              fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 20 guest-stop               fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  13 debian-fixup             fail REGR. vs. 152332

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

version targeted for testing:
 linux                761c6d7ec820f123b931e7b8ef7ec7c8564e450f
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  376 days
Failing since        152366  2020-08-01 20:49:34 Z  375 days  660 attempts
Testing same since   164157  2021-08-11 06:49:01 Z    0 days    2 attempts

------------------------------------------------------------
6782 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          broken  
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     broken  
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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

broken-job test-armhf-armhf-libvirt broken
broken-job test-armhf-armhf-xl broken
broken-step test-armhf-armhf-libvirt host-install(5)
broken-step test-armhf-armhf-xl host-install(5)

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Thu Aug 12 00:58:08 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 00:58:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166183.303478 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mDz2d-0004zU-4C; Thu, 12 Aug 2021 00:57:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166183.303478; Thu, 12 Aug 2021 00: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 1mDz2d-0004zN-1G; Thu, 12 Aug 2021 00:57:51 +0000
Received: by outflank-mailman (input) for mailman id 166183;
 Thu, 12 Aug 2021 00:57:49 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4db+=ND=gmail.com=jandryuk@srs-us1.protection.inumbo.net>)
 id 1mDz2b-0004zH-10
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 00:57:49 +0000
Received: from mail-qt1-x82d.google.com (unknown [2607:f8b0:4864:20::82d])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id f1c70254-ef12-4253-9944-5b3a59bbb42d;
 Thu, 12 Aug 2021 00:57:47 +0000 (UTC)
Received: by mail-qt1-x82d.google.com with SMTP id l24so3738645qtj.4
 for <xen-devel@lists.xenproject.org>; Wed, 11 Aug 2021 17:57:47 -0700 (PDT)
Received: from shine.lan ([2001:470:8:67e:9a6d:dce3:ac2:6190])
 by smtp.gmail.com with ESMTPSA id i18sm485260qkk.115.2021.08.11.17.57.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 11 Aug 2021 17:57: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: f1c70254-ef12-4253-9944-5b3a59bbb42d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=YZFpHqZ18RAHlwIBW8zPlfdiJZMmIECW9lTEa+PkGTg=;
        b=JaPiE5rMz/BT/SKoDeuKeIsM5ZL56sbHBv+sDzJMRWNJZrzDI+lnNCXLgoXeC1IPhH
         a4BXKZWyZlmJH57Fq//t/Ha1TVa+uf2COlut5ERX3R5Xu/SdPUPw3mJbCGro0uBQeHBr
         VVW7Pzo8qMB769qEkH1MNOt2ZfiEZwiJ91Z2bVQbinO7RroiQQLuEQQ7N2EJ6xZFhBMW
         iFKYInc6TpjqGAk+e/8iCMnvHQnRDjpasijWB56czwq5oMyU/gGDvMWFf8shdzBSPatY
         yP3+SmfGfS8tsfXiQWzpEx1qik9DMQRj8SUotZ15QbsSGBYQnFaD99schRjOgo5aHZVX
         8C6A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=YZFpHqZ18RAHlwIBW8zPlfdiJZMmIECW9lTEa+PkGTg=;
        b=omX+U0gy68GCNp0+tnvfhfW1rdUlxcJpykG9m6us5OaGYQqv7DViTCHQxOJmRewtTi
         FdOv3oGU4OViyqeFst1gNvxCHq7tdkN68D5eMmzu2q/CneEiQ85fmOrYpxYIUK3BxNpA
         2NlGDtQpo1oQmYpgsCaZggTRuShOmspn7uweyV5rEq9GeK5Unh8IIDk/XZJTd+f5o4pR
         0N+fZHBKPI7N1tZajNsau2nMxbHievAGFoUtm9VazF0XWxh3+OcgLO7VAKJxa0iOTd3e
         UnGGkWl23IRRJrfT3fLX/+jfHh+rQuzqGgfLfhTsRvfMvS9cD+OkkZN5PVzGGWKQMs8K
         Z2Uw==
X-Gm-Message-State: AOAM531fksa3zZ223EjqraVtokdzfatTCP1hHB3oQTniE1McYiTIKyQo
	dhFVF17tczfdFRvHbRoMEBCrkZ21RdI=
X-Google-Smtp-Source: ABdhPJxdDfySv+Iakuj0bi7vNSAhCiKDRa/EzM+GZXORGegIwLqWJtIM8BOVe8B7gPTvEvbWULRJWA==
X-Received: by 2002:a05:622a:1183:: with SMTP id m3mr1415553qtk.323.1628729867151;
        Wed, 11 Aug 2021 17:57:47 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: pdurrant@amazon.com,
	Jason Andryuk <jandryuk@gmail.com>,
	Ian Jackson <iwj@xenproject.org>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2] libxl: Fix stubdom PCI passthrough
Date: Wed, 11 Aug 2021 20:57:00 -0400
Message-Id: <20210812005700.3159-1-jandryuk@gmail.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

commit 0fdb48ffe7a1 "libxl: Make sure devices added by pci-attach are
reflected in the config" broken stubdom PCI passthrough when it moved
libxl__create_pci_backend later in the function.  xl pci-attach for a
running PV domain may also have been broken, but that was not verified.

The stubdomain is running (!starting) and PV, so it calls
libxl__wait_for_backend.  With the new placement of
libxl__create_pci_backend, the path does not exist and the call
immediately fails.
libxl: error: libxl_device.c:1388:libxl__wait_for_backend: Backend /local/domain/0/backend/pci/43/0 does not exist
libxl: error: libxl_pci.c:1764:device_pci_add_done: Domain 42:libxl__device_pci_add failed for PCI device 0:2:0.0 (rc -3)
libxl: error: libxl_create.c:1857:domcreate_attach_devices: Domain 42:unable to add pci devices

The wait is only relevant when the backend is already present.  num_devs
is already used to determine if the backend needs to be created.  Re-use
num_devs to determine if the backend wait is necessary.  The wait is
necessary to avoid racing with another PCI attachment reconfiguring the
front/back. If we are creating the backend, then we don't have to worry
about a racing reconfigure.

Fixes: 0fdb48ffe7a1 ("libxl: Make sure devices added by pci-attach are
reflected in the config")

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
---
v2:
Add Fixes
Expand num_devs use in commit message
---
 tools/libs/light/libxl_pci.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
index 1a1c263080..19daf1d4ee 100644
--- a/tools/libs/light/libxl_pci.c
+++ b/tools/libs/light/libxl_pci.c
@@ -157,8 +157,10 @@ static int libxl__device_pci_add_xenstore(libxl__gc *gc,
     if (domtype == LIBXL_DOMAIN_TYPE_INVALID)
         return ERROR_FAIL;
 
-    if (!starting && domtype == LIBXL_DOMAIN_TYPE_PV) {
-        if (libxl__wait_for_backend(gc, be_path, GCSPRINTF("%d", XenbusStateConnected)) < 0)
+    /* wait is only needed if the backend already exists (num_devs != NULL) */
+    if (num_devs && !starting && domtype == LIBXL_DOMAIN_TYPE_PV) {
+        if (libxl__wait_for_backend(gc, be_path,
+                                    GCSPRINTF("%d", XenbusStateConnected)) < 0)
             return ERROR_FAIL;
     }
 
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Thu Aug 12 03:54:12 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 03:54:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166192.303489 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mE1n4-0002Oe-MX; Thu, 12 Aug 2021 03:53:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166192.303489; Thu, 12 Aug 2021 03:53:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mE1n4-0002OV-Fp; Thu, 12 Aug 2021 03:53:58 +0000
Received: by outflank-mailman (input) for mailman id 166192;
 Thu, 12 Aug 2021 03:53: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 1mE1n3-0002OL-BU; Thu, 12 Aug 2021 03:53: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 1mE1n3-0003mY-3G; Thu, 12 Aug 2021 03:53: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 1mE1n2-0003sk-Ji; Thu, 12 Aug 2021 03:53:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mE1n2-0000pr-J1; Thu, 12 Aug 2021 03:53:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=02PvQ2YnKsbn6h4C8pKLn+OS/oXVK10imXelIfODMCM=; b=xQoZrL1tSMGOLyO/Jr3/5k+thS
	QwSauEDx8E9ToCzD/L12vEsegt+Xt+t/vX0OKPhPtdqEYRKKfnPCctoz3kNTD6fFB1zuwKgNBdAX2
	HgB024BvLBvqf1KjDzSULyNXxjYqMLL5mgqvM6N4XGbb5FYQ4ezcG9D4VlfAfvnWSBE0=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164162-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164162: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt:<job status>:broken:regression
    linux-linus:test-armhf-armhf-xl:<job status>:broken:regression
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:host-install(5):broken:nonblocking
    linux-linus:test-armhf-armhf-xl:host-install(5):broken:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=761c6d7ec820f123b931e7b8ef7ec7c8564e450f
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 12 Aug 2021 03:53:56 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-libvirt        <job status>                 broken
 test-armhf-armhf-xl             <job status>                 broken
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop              fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 20 guest-stop               fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  13 debian-fixup             fail REGR. vs. 152332

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl          13 debian-fixup     fail in 164161 pass in 164162
 test-amd64-amd64-xl-rtds     20 guest-localmigrate/x10     fail pass in 164161

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

version targeted for testing:
 linux                761c6d7ec820f123b931e7b8ef7ec7c8564e450f
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  376 days
Failing since        152366  2020-08-01 20:49:34 Z  375 days  661 attempts
Testing same since   164157  2021-08-11 06:49:01 Z    0 days    3 attempts

------------------------------------------------------------
6782 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          broken  
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     broken  
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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

broken-job test-armhf-armhf-libvirt broken
broken-job test-armhf-armhf-xl broken
broken-step test-armhf-armhf-libvirt host-install(5)
broken-step test-armhf-armhf-xl host-install(5)
broken-job test-armhf-armhf-libvirt broken
broken-job test-armhf-armhf-xl broken

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Thu Aug 12 06:19:23 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 06:19:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166198.303503 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mE43X-00070F-95; Thu, 12 Aug 2021 06:19:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166198.303503; Thu, 12 Aug 2021 06: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 1mE43X-000708-66; Thu, 12 Aug 2021 06:19:07 +0000
Received: by outflank-mailman (input) for mailman id 166198;
 Thu, 12 Aug 2021 06:19:06 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=QHFb=ND=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mE43V-000702-UT
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 06:19:05 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 306763e8-fb35-11eb-a122-12813bfff9fa;
 Thu, 12 Aug 2021 06:19:03 +0000 (UTC)
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur03lp2053.outbound.protection.outlook.com [104.47.10.53]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-24-Hpb9fKVyPaK-91vJtGOzxA-1; Thu, 12 Aug 2021 08:19:01 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB7149.eurprd04.prod.outlook.com (2603:10a6:800:12e::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13; Thu, 12 Aug
 2021 06:18:58 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.017; Thu, 12 Aug 2021
 06:18:57 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR10CA0014.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:17c::24) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16 via Frontend
 Transport; Thu, 12 Aug 2021 06:18:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 306763e8-fb35-11eb-a122-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628749142;
	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=OmTiY1w5jVT0tuKdZpAX6o+y1qfIcJz67cooNmJd/DY=;
	b=fZeKuJP9Qt2eFjVcqc7EIwfhCS1VnwrA9qiqdCphuSWyXxDveTu9++uAFLm7ZuflLOedVC
	3q5sThvVJkyr4wCJZ5Q3s7FiNuQqxe6YEjS9nm8/lYmhebwFceZJ40z6jzDYmafluIHdjV
	+cKlo86S2FDY1tjbmJUnwUDHzefF/oY=
X-MC-Unique: Hpb9fKVyPaK-91vJtGOzxA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=F+8mVmcGrlbtdF4YaLofOQincWPdOGbmCD99zMHdHPWyYbvI/tM+XPstYCg+T+JjumSaYkSQaNB4StE233tJ4ZNuwXvBSc0S6Xo+ahaq/3RZjocLaPoTRZLnfJyz0tJRlbZSbGUZbtrHkCZLywNnnHYnVd1KgwOq0JhD8DQptisu5l3bGnC/yvlo7y3AjxQ/fMIcwBBLs05HMc38YIQJGewSNBr1TM6utU4ws4z9gkwYHJQHeypTH5XBJIHBm8nP09ljVkltj5yshWr/2PZEnzVOGAd7ki5gPT+2N6/Twtz7D0mnI1D5c0ybm+cCIOA2e4D8dPUfutH9+85cvcUQnw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OmTiY1w5jVT0tuKdZpAX6o+y1qfIcJz67cooNmJd/DY=;
 b=YWJCwAd8GrXTKqR4sjoDIzXtBEW9z6R/1xvkPFOABMA+CZrGiVVraN5iheaVheyjIW9Jv75vMJZVNjcmWa2ritIg7yR0ahNYLhAj/uGMi6wRrrYsAoyzIowQ10TfjF5qPgPh2o5x9ucEQElWd4WYkapNZxjhVg+e3Uru9Gk6f9Qy6cBtkG4u5qJbHjQ5rbOodTa8lFKa+o+ktrU7oyOt/JoM/Fj6/YY4T9PiVfkQPnxrxzInZ0FQDyEosPn+5/Clenm3BKcboWE1F2xzLmvvlzzSGdFj3JdIi6Jgjhxh6nohB93ctY7X17lyEhITtYoU04v8vVQQ8rz8og2ESIHuHw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v2] libxl: Fix stubdom PCI passthrough
To: Jason Andryuk <jandryuk@gmail.com>
Cc: pdurrant@amazon.com, Ian Jackson <iwj@xenproject.org>,
 Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
References: <20210812005700.3159-1-jandryuk@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <30354256-4527-d909-8453-28dd384a35dc@suse.com>
Date: Thu, 12 Aug 2021 08:18:50 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210812005700.3159-1-jandryuk@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM0PR10CA0014.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:208:17c::24) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 9b02e836-0432-430b-556a-08d95d591150
X-MS-TrafficTypeDiagnostic: VI1PR04MB7149:
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB71490D83E792F07BCC453913B3F99@VI1PR04MB7149.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:4303;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	YhTzJpx4uvg8P3SxCyHQOKHc+vzwFCPgbmJdruYKKn1XmbEHFLLDNw9M0nopEtpz1oqP4OMrJw94dYS8pQmlzk732r7QARUTUSgsipzvM2dB3p4B1unNwSlryhHKqsiQGKxYpf3wwr0cQTkKCFYikTKExaWAq+V9PGf0F5Go7uZguOmswUTtEdCrEuUDph6NyFvY0wDpAToycSLlKqUje640qfESfxMWJ3OiueNROttajKVA60oUvQJp018C3h6n6g/i9358lwV5Ddne78WIL2JCZ7FxeLP+Ua/ku2oKMrLz4mINbClbKgHmP+i+whjIm3f0n3/jmtJoVedshqyu8+dpwOG7UrmcA4+pw7emGVujF4hjq0i72SzhKBZm/q9hC+jHDUwKpFzq833XA4dvu2rPmzz5z/tMMttSU15Qbz54WibhU+hQTj5pkNZcbE2wzi2+WN/u4eBZC+mY3Ee83eOiYGO9H6VYgMvMNqbgW8omvh6K6LPQYWHmU+oqajpuj5hsEJEZDt9fthfwc+i7ruwUdWBAY9H3QnhaHEJL2CngSWVYppYqmr8hrPjTlxoKI/aML2vtQ26fFAzvPIWf4Sl00gU4rCvhmfVTRsmTMGZ/3czCnjewGGj7e6ciyaMVDmOSxLoSpG7zbKMWor+0NzE4DHkdtNy0M6583bOC5l7de/evYASFVkW+Pd9Okw2GQ1uMXeHblm39wMIXIjEoKspQmFE8Ad5pGLgKmlfHdnM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(26005)(316002)(4326008)(16576012)(66556008)(54906003)(508600001)(36756003)(8676002)(53546011)(6666004)(66476007)(5660300002)(8936002)(2906002)(83380400001)(31686004)(66946007)(6486002)(186003)(31696002)(38100700002)(6916009)(2616005)(956004)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aHkvcTQzdVVSRUkwd1AzSjUzbE4yd3J6Tk5SaHVPVWZmSkZzN1ZQVkZaaUZx?=
 =?utf-8?B?WDE2RTYwZ2lCNGVOdm1qK1p5NmlUd2NLeEF3azVuMXpJUVdYbDFUU0hFc2RL?=
 =?utf-8?B?RlgvaWdQVXVRbno1dkorZUN3bWpoRTVjemI2bTZXamhreWkwMHc0OE1ZZysx?=
 =?utf-8?B?R3pvRmFnaklwTTg4TDIwdUlEZHNaMkpRSmd0MzVnYUZjREgvK1Y5ajhuRFk1?=
 =?utf-8?B?MkU5K2F6RW5jZktTREhjenhKUVh3ckZMS2VPWW5DTmk0Yit2bkVEVndpMWxY?=
 =?utf-8?B?S2ZxME5hUEc2YTVxTE1jUlBjb2s0N1BaaVNhQ3Z6TldpMWcxV3pLN28xUGU1?=
 =?utf-8?B?U1pIQm9xZ1ZPZUlMdkJaU21MUzZCVHliZ3JKVXQ3UCsxQjdteTVlRmFiK0xv?=
 =?utf-8?B?U1JWSmxhZFFmeHNFTERXSWJwVmtVd3Z6TTN0OExROWJGdytEQXpoanJUbDZh?=
 =?utf-8?B?cG8wM2lhSFAwV1FoZGE5L20wOU9PdTZCcXJMNi9VWWhPVHM2blgzK1Z1dnZm?=
 =?utf-8?B?aThrTGJCKzZaVTRqL1kzbWphcnJTcnpSUU5CQm5WQmhERWphbEs1Q1RGSWRQ?=
 =?utf-8?B?eXkyVGVzZEllQmVqaDYvZk1jcHlNUzJoWkJpTVRWeFlBQjFnbGVtdENVay9x?=
 =?utf-8?B?MUxjUmZJMzFHVG5ya09RZkxBN05iSTNmTERoKzhlSllDMytvMUt3ald6VXRV?=
 =?utf-8?B?QTRJUnJVOTZUZklxc21XLzN3WWJOUm9pMkxUUnpRY21xY2JONWZWaE4vMkly?=
 =?utf-8?B?VVlSM0tMdlpVaFIwSUdWSVBLQW1GbmJKcjZIOUVsMU4vUUNzMkF5MkZOZmNL?=
 =?utf-8?B?S2xsZTZOVm93VVl0VUZwUUZNbmZQbjhlTC9xQzZIM0JwcmY1QUN1WjVIVmtG?=
 =?utf-8?B?MTdSRzJ0SWVKTDRFT1RlZW9vcW1tWkhPa0xnaE5JYzdsMlpEWHpWZmFiZkk4?=
 =?utf-8?B?TTd6eFRQZFQvc1pnT1c4aGdoWEttVW5odS9sV3ZYS1I2YmNiRHROTzdrdmsv?=
 =?utf-8?B?MFlGckxvaXVKUEorZGNwK2NvcGYxdEcxa2RpaWlVaHM2dnN4bURla212Yk15?=
 =?utf-8?B?RXZBcmkyTm9Na29ubjdyWkRGdFUzYWM4OFA4cUtxVkZXbHNtR0ZNZnJtejJC?=
 =?utf-8?B?MHA3OUZFeGZVNnNabUFzYXRWcy9zR1k0aUlTTHo0eUUvYk1TWm05RnVwWTlZ?=
 =?utf-8?B?aXhISlNBSk11SWRVOGQ5clhkL3crTExlaE1wM0xsRkhiT2dOUWgvdHRkUE1y?=
 =?utf-8?B?dnlYdCtVMnFTSnNTcWsvZTJ5ejh5azY3TDdEUUxhdytIVE5PSHlsdkEyZWlz?=
 =?utf-8?B?M3F4U2drM2xuRmxhQ0IvSDlRV0QrWFFVcnpEM2hSMjVpM3dmSTBOeEhnM2Zw?=
 =?utf-8?B?Zk5FMitudFhJUTJqTXpUME5TVlJVZzFYOVRvTU93UWlyNVFKMzYwMWJ1MW5p?=
 =?utf-8?B?eTN0UFpJU2R3ODYzalN6djdNcmF2a29LOWg3M0l1cFJkT1djZ0NmcFJXNFBk?=
 =?utf-8?B?QmJrZG1ENTNxR284dVFPRXgySFh4NGl4dSt6V0hCeDRaMzI5L3pVZ3NTWmoz?=
 =?utf-8?B?SFhxOUFoS1V6RW1zbnM4N1UwRUk5UFowcFVyMHlEUUkvQUttZGhyeTFicU5O?=
 =?utf-8?B?M2RFbXFsdHhIU0VaSk9xQXpTd01GbW1wOXFWajU3Ymo2ZEhoTXVsZ252Z1pH?=
 =?utf-8?B?NFl5VU1WQkhkVkJrRjRrRGowQVRyS243R1hPU0NMMlk4R2lqRXBrbm1xL01C?=
 =?utf-8?Q?vLtOgXbwszj9ZzJxq8tO/Heg2ozqdgLBUT/AiyU?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9b02e836-0432-430b-556a-08d95d591150
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2021 06:18:57.6574
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rONGUSv9Zp2ecwUaQ/nbwOg9UEWX+NfYMPUHSGeUdXCjFqPqBZAN+RoB8oZwEXKZ0qXUy8hZTTll5+paqNSyvA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7149

On 12.08.2021 02:57, Jason Andryuk wrote:
> commit 0fdb48ffe7a1 "libxl: Make sure devices added by pci-attach are
> reflected in the config" broken stubdom PCI passthrough when it moved
> libxl__create_pci_backend later in the function.  xl pci-attach for a
> running PV domain may also have been broken, but that was not verified.
> 
> The stubdomain is running (!starting) and PV, so it calls
> libxl__wait_for_backend.  With the new placement of
> libxl__create_pci_backend, the path does not exist and the call
> immediately fails.
> libxl: error: libxl_device.c:1388:libxl__wait_for_backend: Backend /local/domain/0/backend/pci/43/0 does not exist
> libxl: error: libxl_pci.c:1764:device_pci_add_done: Domain 42:libxl__device_pci_add failed for PCI device 0:2:0.0 (rc -3)
> libxl: error: libxl_create.c:1857:domcreate_attach_devices: Domain 42:unable to add pci devices
> 
> The wait is only relevant when the backend is already present.  num_devs
> is already used to determine if the backend needs to be created.  Re-use
> num_devs to determine if the backend wait is necessary.  The wait is
> necessary to avoid racing with another PCI attachment reconfiguring the
> front/back. If we are creating the backend, then we don't have to worry
> about a racing reconfigure.

And why is such a race possible in the first place? If two independent
actions are permitted in parallel on a domain, wouldn't there better
be synchronization closer to the root of the call tree?

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 12 09:10:43 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 09:10:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166224.303516 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mE6jK-0006Rj-Hf; Thu, 12 Aug 2021 09:10:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166224.303516; Thu, 12 Aug 2021 09: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 1mE6jK-0006Rc-EL; Thu, 12 Aug 2021 09:10:26 +0000
Received: by outflank-mailman (input) for mailman id 166224;
 Thu, 12 Aug 2021 09: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 1mE6jI-0006RS-V8; Thu, 12 Aug 2021 09:10: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 1mE6jI-00020M-Oj; Thu, 12 Aug 2021 09: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 1mE6jI-0003Qz-Do; Thu, 12 Aug 2021 09:10:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mE6jI-0003Bh-DL; Thu, 12 Aug 2021 09: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=JU9d1XOHmzM1HEKFgyDd9KSwKrnySX2bg4z9v2faBCE=; b=WChlF8jb92dDbTQfCee01WqBTZ
	x68RBygMAxMdsjZ5hoKJ+95ODsyLdBozhnymPKsL/U4hvy4Lc9QzB8ub0+5jA+K8nZdjBXWm5RN0t
	4GZLzfBqS6FJT9irkJxublvNzQpS7JUDTYt1S4l4sG3Gsbg30GoVuOo7EqWIrTbxoB9Q=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164163-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 164163: trouble: broken/fail/pass
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-libvirt:<job status>:broken:regression
    xen-unstable:test-armhf-armhf-libvirt:host-install(5):broken:heisenbug
    xen-unstable:test-armhf-armhf-xl-rtds:guest-stop:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-start/debianhvm.repeat:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-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-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt: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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm: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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=25da9455f1bb8a6d33039575a7b28bdfc4e3fcfe
X-Osstest-Versions-That:
    xen=25da9455f1bb8a6d33039575a7b28bdfc4e3fcfe
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 12 Aug 2021 09:10:24 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-libvirt        <job status>                 broken

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt      5 host-install(5)          broken pass in 164154
 test-armhf-armhf-xl-rtds     17 guest-stop       fail in 164154 pass in 164163
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 20 guest-start/debianhvm.repeat fail in 164154 pass in 164163

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

version targeted for testing:
 xen                  25da9455f1bb8a6d33039575a7b28bdfc4e3fcfe
baseline version:
 xen                  25da9455f1bb8a6d33039575a7b28bdfc4e3fcfe

Last test of basis   164163  2021-08-12 01:52:47 Z    0 days
Testing same since                          (not found)         0 attempts

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


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

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

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

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

broken-job test-armhf-armhf-libvirt broken
broken-step test-armhf-armhf-libvirt host-install(5)

Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Thu Aug 12 09:11:53 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 09:11:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166231.303531 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mE6ki-00071e-Tr; Thu, 12 Aug 2021 09:11:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166231.303531; Thu, 12 Aug 2021 09: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 1mE6ki-00071X-Qu; Thu, 12 Aug 2021 09:11:52 +0000
Received: by outflank-mailman (input) for mailman id 166231;
 Thu, 12 Aug 2021 09:11: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 1mE6kh-00071K-L8; Thu, 12 Aug 2021 09:11: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 1mE6kh-00021k-E1; Thu, 12 Aug 2021 09:11: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 1mE6kh-0003TI-5J; Thu, 12 Aug 2021 09:11:51 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mE6kh-0004Gy-4p; Thu, 12 Aug 2021 09:11: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=GwQ4dHpszMm2ZK/VPS/YOvTcHcSjEO+DmPH54ejybcc=; b=mjaQLKezyH+Z27OtyVXJ+soKMd
	Q29tPqSj7tom9eWGTEIYUaDQQM/rLAuyaJOQDBLErGrorU4vA8uEjliUi4m0mWhZKL3/8BrWaGV5b
	7C32LdZsohAVKmHiH70YSEd4Ud7r9E+uyH55dWGxAsN/CfIaPGaZ2LiWtBX+1VBxjVls=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164165-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 164165: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=630b0dd6c38ffbe599dec1ff5530851e04b36365
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 12 Aug 2021 09:11:51 +0000

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

Regressions :-(

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

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

version targeted for testing:
 libvirt              630b0dd6c38ffbe599dec1ff5530851e04b36365
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  398 days
Failing since        151818  2020-07-11 04:18:52 Z  397 days  389 attempts
Testing same since   164165  2021-08-12 04:18:52 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  Cédric Bosdonnat <cbosdonnat@suse.com>
  Côme Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano Fidêncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Ian Wienand <iwienand@redhat.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  John Ferlan <jferlan@redhat.com>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  Ján Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Michał Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  Moshe Levi <moshele@nvidia.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr Drąg <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tomáš Golembiovský <tgolembi@redhat.com>
  Tomáš Janoušek <tomi@nomi.cz>
  Tuguoyi <tu.guoyi@h3c.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  William Douglas <william.douglas@intel.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.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                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Thu Aug 12 10:02:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 10:02:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166240.303545 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mE7Y3-0003dF-V8; Thu, 12 Aug 2021 10:02:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166240.303545; Thu, 12 Aug 2021 10: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 1mE7Y3-0003d8-SE; Thu, 12 Aug 2021 10:02:51 +0000
Received: by outflank-mailman (input) for mailman id 166240;
 Thu, 12 Aug 2021 10:02:51 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EyNM=ND=citrix.com=Jane.Malalane@srs-us1.protection.inumbo.net>)
 id 1mE7Y2-0003d2-W7
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 10:02:51 +0000
Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 727e195f-fb54-11eb-a143-12813bfff9fa;
 Thu, 12 Aug 2021 10:02: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: 727e195f-fb54-11eb-a143-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1628762568;
  h=from:to:cc:subject:date:message-id:mime-version;
  bh=itNvF37HisPGqME7wUhpuGr7Ake5JLmxHXB6g8r082c=;
  b=GombGYj+C1x3BEH/WlVvKMG5Vklx6jWSoqF0m/r5SzM96jynl4qHqbqb
   sl0IhMmryLsFF/SS5FgjnQN9WD1aCjWsxK3WzKLnSukbLBnND9+4kH7zS
   Kd+muGKnC5JrjOgxMajTp0Tuu9cnDz0Oma9j5aq8cxfh4dlKcPZabbg9W
   s=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: lEVOfWRU9cVk+zbyFsdbwMuJ9kCSBxsoUEssdCPbRiJcDa7AzqsWe9LW8GWGAKW2BZmg2ee2PJ
 C42yd60bOT+xs06L4Lh7CbJ/ktUlDPyCSpG5u+Lac9mpZEpzysGoYBpQQvkmEhMykpMss/aCSR
 atulQyVufSEJEAw2y58tMIH9Fkf2RTtv8UsUJf6YTQ4MEfU21JURfz20EcMK28ORsBl28JyK63
 wXcFeucqQ7oGgK81GNfixvbEwNbFE9jYLREfAZAN3il5Ajv3SA42UboUNvsq2lxhgr1Bnn7RXn
 XDef6EIAkpiuLQBl+5+UZnsD
X-SBRS: 5.1
X-MesageID: 50673457
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:kIDnR6qQHQO1du11pmC6+rcaV5ojeYIsimQD101hICG8cqSj9v
 xG/c5rsyMc5wxhO03I9eruBEDiewK6yXcW2/hyAV7KZmCP0wHEQL2KhbGSpwEIcBefygcy78
 ldmtBFebjNMWQ=
X-IronPort-AV: E=Sophos;i="5.84,315,1620705600"; 
   d="scan'208";a="50673457"
From: Jane Malalane <jane.malalane@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Jane Malalane <jane.malalane@citrix.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Ian
 Jackson" <iwj@xenproject.org>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>
Subject: [PATCH v2] xen/bitmap: Don't open code DIV_ROUND_UP()
Date: Thu, 12 Aug 2021 11:02:25 +0100
Message-ID: <20210812100225.20037-1-jane.malalane@citrix.com>
X-Mailer: git-send-email 2.11.0
MIME-Version: 1.0
Content-Type: text/plain

Also, change bitmap_long_to_byte() and bitmap_byte_to_long() to take
'unsigned int' instead of 'int' number of bits, to match the type of
their callers.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jane Malalane <jane.malalane@citrix.com>
---
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: George Dunlap <george.dunlap@citrix.com>
CC: Ian Jackson <iwj@xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>
CC: Julien Grall <julien@xen.org>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Wei Liu <wl@xen.org>

v2:
 * Reorder #include and wrap text
---
 xen/common/bitmap.c | 31 +++++++++++++++++++------------
 1 file changed, 19 insertions(+), 12 deletions(-)

diff --git a/xen/common/bitmap.c b/xen/common/bitmap.c
index bbc3554ae1..7d4551f782 100644
--- a/xen/common/bitmap.c
+++ b/xen/common/bitmap.c
@@ -11,6 +11,7 @@
 #include <xen/bitops.h>
 #include <xen/cpumask.h>
 #include <xen/guest_access.h>
+#include <xen/lib.h>
 #include <asm/byteorder.h>
 
 /*
@@ -338,7 +339,8 @@ EXPORT_SYMBOL(bitmap_allocate_region);
 
 #ifdef __BIG_ENDIAN
 
-static void bitmap_long_to_byte(uint8_t *bp, const unsigned long *lp, int nbits)
+static void bitmap_long_to_byte(uint8_t *bp, const unsigned long *lp,
+				unsigned int nbits)
 {
 	unsigned long l;
 	int i, j, b;
@@ -354,7 +356,8 @@ static void bitmap_long_to_byte(uint8_t *bp, const unsigned long *lp, int nbits)
 	clamp_last_byte(bp, nbits);
 }
 
-static void bitmap_byte_to_long(unsigned long *lp, const uint8_t *bp, int nbits)
+static void bitmap_byte_to_long(unsigned long *lp, const uint8_t *bp,
+				unsigned int nbits)
 {
 	unsigned long l;
 	int i, j, b;
@@ -371,18 +374,20 @@ static void bitmap_byte_to_long(unsigned long *lp, const uint8_t *bp, int nbits)
 
 #elif defined(__LITTLE_ENDIAN)
 
-static void bitmap_long_to_byte(uint8_t *bp, const unsigned long *lp, int nbits)
+static void bitmap_long_to_byte(uint8_t *bp, const unsigned long *lp,
+				unsigned int nbits)
 {
-	memcpy(bp, lp, (nbits+7)/8);
+	memcpy(bp, lp, DIV_ROUND_UP(nbits, BITS_PER_BYTE));
 	clamp_last_byte(bp, nbits);
 }
 
-static void bitmap_byte_to_long(unsigned long *lp, const uint8_t *bp, int nbits)
+static void bitmap_byte_to_long(unsigned long *lp, const uint8_t *bp,
+				unsigned int nbits)
 {
 	/* We may need to pad the final longword with zeroes. */
 	if (nbits & (BITS_PER_LONG-1))
 		lp[BITS_TO_LONGS(nbits)-1] = 0;
-	memcpy(lp, bp, (nbits+7)/8);
+	memcpy(lp, bp, DIV_ROUND_UP(nbits, BITS_PER_BYTE));
 }
 
 #endif
@@ -393,13 +398,14 @@ int bitmap_to_xenctl_bitmap(struct xenctl_bitmap *xenctl_bitmap,
     unsigned int guest_bytes, copy_bytes, i;
     uint8_t zero = 0;
     int err = 0;
-    uint8_t *bytemap = xmalloc_array(uint8_t, (nbits + 7) / 8);
+    unsigned int xen_bytes = DIV_ROUND_UP(nbits, BITS_PER_BYTE);
+    uint8_t *bytemap = xmalloc_array(uint8_t, xen_bytes);
 
     if ( !bytemap )
         return -ENOMEM;
 
-    guest_bytes = (xenctl_bitmap->nr_bits + 7) / 8;
-    copy_bytes  = min(guest_bytes, (nbits + 7) / 8);
+    guest_bytes = DIV_ROUND_UP(xenctl_bitmap->nr_bits, BITS_PER_BYTE);
+    copy_bytes  = min(guest_bytes, xen_bytes);
 
     bitmap_long_to_byte(bytemap, bitmap, nbits);
 
@@ -422,13 +428,14 @@ int xenctl_bitmap_to_bitmap(unsigned long *bitmap,
 {
     unsigned int guest_bytes, copy_bytes;
     int err = 0;
-    uint8_t *bytemap = xzalloc_array(uint8_t, (nbits + 7) / 8);
+    unsigned int xen_bytes = DIV_ROUND_UP(nbits, BITS_PER_BYTE);
+    uint8_t *bytemap = xzalloc_array(uint8_t, xen_bytes);
 
     if ( !bytemap )
         return -ENOMEM;
 
-    guest_bytes = (xenctl_bitmap->nr_bits + 7) / 8;
-    copy_bytes  = min(guest_bytes, (nbits + 7) / 8);
+    guest_bytes = DIV_ROUND_UP(xenctl_bitmap->nr_bits, BITS_PER_BYTE);
+    copy_bytes  = min(guest_bytes, xen_bytes);
 
     if ( copy_bytes )
     {
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 12 11:21:03 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 11:21:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166248.303561 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mE8lS-0002Wu-R3; Thu, 12 Aug 2021 11:20:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166248.303561; Thu, 12 Aug 2021 11:20:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mE8lS-0002Wn-OC; Thu, 12 Aug 2021 11:20:46 +0000
Received: by outflank-mailman (input) for mailman id 166248;
 Thu, 12 Aug 2021 11:20:45 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mE8lR-0002Wh-M9
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 11:20:45 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mE8lR-0004Hj-JQ
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 11:20:45 +0000
Received: from iwj (helo=mariner.uk.xensource.com)
 by xenbits.xenproject.org with local-bsmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mE8lR-0003IZ-IO
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 11:20:45 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.89)
 (envelope-from <iwj@xenproject.org>)
 id 1mE8lG-0006l3-BG; Thu, 12 Aug 2021 12:20:34 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=References:In-Reply-To:Subject:Cc:To:Date
	:Message-ID:Content-Transfer-Encoding:Content-Type:MIME-Version:From;
	bh=l1SptzCkxZvIkTSkAep65X/cYJpY2C/9RPljtk21y7E=; b=vDNRTn7PLuVfyV9OHV6+gnzUrF
	jcs5hJS5YO/SpW7ScIBzwE4Zoro08/FzEn8bQvLhlOCBGtsyR1wYL76XTXDgwdl77NNAhgrwA/Bmc
	QEKvvl2RzimXg2pi9rO6RQje0m7Ux8y6aTOhQPlPjbXWCOHfZWOVAUV56awEUnXtfP/M=;
From: Ian Jackson <iwj@xenproject.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <24853.1026.39229.230658@mariner.uk.xensource.com>
Date: Thu, 12 Aug 2021 12:20:34 +0100
To: Jan Beulich <jbeulich@suse.com>
Cc: Jason Andryuk <jandryuk@gmail.com>,
    pdurrant@amazon.com,
    Wei Liu <wl@xen.org>,
    Anthony PERARD <anthony.perard@citrix.com>,
    Juergen Gross <jgross@suse.com>,
    xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2] libxl: Fix stubdom PCI passthrough
In-Reply-To: <30354256-4527-d909-8453-28dd384a35dc@suse.com>
References: <20210812005700.3159-1-jandryuk@gmail.com>
	<30354256-4527-d909-8453-28dd384a35dc@suse.com>
X-Mailer: VM 8.2.0b under 24.5.1 (i686-pc-linux-gnu)

Jan Beulich writes ("Re: [PATCH v2] libxl: Fix stubdom PCI passthrough"):
> On 12.08.2021 02:57, Jason Andryuk wrote:
> > commit 0fdb48ffe7a1 "libxl: Make sure devices added by pci-attach are
> > reflected in the config" broken stubdom PCI passthrough when it moved
> > libxl__create_pci_backend later in the function.  xl pci-attach for a
> > running PV domain may also have been broken, but that was not verified.
> > 
> > The stubdomain is running (!starting) and PV, so it calls
> > libxl__wait_for_backend.  With the new placement of
> > libxl__create_pci_backend, the path does not exist and the call
> > immediately fails.
> > libxl: error: libxl_device.c:1388:libxl__wait_for_backend: Backend /local/domain/0/backend/pci/43/0 does not exist
> > libxl: error: libxl_pci.c:1764:device_pci_add_done: Domain 42:libxl__device_pci_add failed for PCI device 0:2:0.0 (rc -3)
> > libxl: error: libxl_create.c:1857:domcreate_attach_devices: Domain 42:unable to add pci devices
> > 
> > The wait is only relevant when the backend is already present.  num_devs
> > is already used to determine if the backend needs to be created.  Re-use
> > num_devs to determine if the backend wait is necessary.  The wait is
> > necessary to avoid racing with another PCI attachment reconfiguring the
> > front/back. If we are creating the backend, then we don't have to worry
> > about a racing reconfigure.
> 
> And why is such a race possible in the first place? If two independent
> actions are permitted in parallel on a domain, wouldn't there better
> be synchronization closer to the root of the call tree?

libxl does not have a per-domain lock that would prevent this kind of
thing.  Individual operations that might malfunction if done
concurrently are supposed to take appropriate precautions.

I think that this patch is trying to be those precautions.  It's not
clear to me whether it's correct, though.  I (or another mailntainer)
will have to look at it properly...

Thanks,
Ian.


From xen-devel-bounces@lists.xenproject.org Thu Aug 12 11:24:47 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 11:24:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166254.303572 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mE8pL-0003Bt-97; Thu, 12 Aug 2021 11:24:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166254.303572; Thu, 12 Aug 2021 11:24:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mE8pL-0003Bm-5a; Thu, 12 Aug 2021 11:24:47 +0000
Received: by outflank-mailman (input) for mailman id 166254;
 Thu, 12 Aug 2021 11:24:45 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mE8pJ-0003Bg-KV
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 11:24:45 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mE8pJ-0004Kq-Jd
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 11:24:45 +0000
Received: from iwj (helo=mariner.uk.xensource.com)
 by xenbits.xenproject.org with local-bsmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mE8pJ-0003nm-Ip
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 11:24:45 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.89)
 (envelope-from <iwj@xenproject.org>)
 id 1mE8pG-0006mN-Al; Thu, 12 Aug 2021 12:24:42 +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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=References:In-Reply-To:Subject:Cc:To:Date
	:Message-ID:Content-Transfer-Encoding:Content-Type:MIME-Version:From;
	bh=XMV6M/SiklNU5dzwA9GDgpAdmx0iS//fONcI8E11YU4=; b=I+k1BW7EBHBOiB9O2sm01uasqY
	5cXzRlGV94uCaJZyqt3M0VIlYEWGeRxeWV44cVdlMJcL1GAWx/ta++WNmhYgDvbIVt5g21JPuswPk
	KA/3tkkJeOVl9EG9TLGt4YQxGzA/uAGE+PWyeQQlYPzPWN3HckDUFUPpbkE1pT43t+S0=;
From: Ian Jackson <iwj@xenproject.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <24853.1273.985325.539310@mariner.uk.xensource.com>
Date: Thu, 12 Aug 2021 12:24:41 +0100
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel\@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
    Wei Liu <wl@xen.org>,
    Juergen Gross <jgross@suse.com>,
    Julien Grall <julien@xen.org>
Subject: [PATCH] tests/xenstore: link in librt
In-Reply-To: <3fe5f85c-3702-286c-46a3-d90eb094123f@suse.com>
References: <3fe5f85c-3702-286c-46a3-d90eb094123f@suse.com>
X-Mailer: VM 8.2.0b under 24.5.1 (i686-pc-linux-gnu)

Jan Beulich writes ("[PATCH] tests/xenstore: link in librt"):
> Old enough glibc has clock_gettime() in librt.so, hence the library
> needs to be specified to the linker.
> 
> Fixes: 93c9edbef51b ("tests/xenstore: Rework Makefile")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> Cc list based on the assumption that the XENSTORE section of
> ./MAINTAINERS probably ought to list the containing directory.
> 
> --- a/tools/tests/xenstore/Makefile
> +++ b/tools/tests/xenstore/Makefile
> @@ -31,6 +31,7 @@ CFLAGS += -Werror
>  CFLAGS += $(CFLAGS_libxenstore)
>  CFLAGS += $(APPEND_CFLAGS)
>  
> +LDFLAGS += -lrt

Don't this unconditionally is definitely not right.

How old a glibc are we talking about ?  (I looked at the minimum
versions listed in README and there's notthing about glibc; perhaps
should be.)

Ian.


From xen-devel-bounces@lists.xenproject.org Thu Aug 12 11:34:16 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 11:34:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166258.303583 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mE8yS-0004cr-64; Thu, 12 Aug 2021 11:34:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166258.303583; Thu, 12 Aug 2021 11:34:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mE8yS-0004ck-3D; Thu, 12 Aug 2021 11:34:12 +0000
Received: by outflank-mailman (input) for mailman id 166258;
 Thu, 12 Aug 2021 11:34: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 1mE8yQ-0004ca-Ev; Thu, 12 Aug 2021 11:34: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 1mE8yQ-0004Uj-5J; Thu, 12 Aug 2021 11:34: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 1mE8yP-00006P-Rz; Thu, 12 Aug 2021 11:34:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mE8yP-0007lt-RR; Thu, 12 Aug 2021 11:34: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=5JmQen2XlT+o3rT9Enzrst/Jo7jgxP2vPCfNR0zswnI=; b=wZVLWTmbfy1tl1RYfOoz+pXFg7
	oiDbi/8rmGwHuqisq80VgOI8KF0toe/dn0ViTBnVrd0rPJZePl8fYKlNbklGgUKa4fcvi8oLHY6Gz
	6FBer1FxeHJt4JLGKDOXZxUfV+bB18va5S6PjkgLyIlUZt990bxiLyqlc17G16hVzrX4=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164166-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 164166: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=ac826886c98524e918753419c039d8b44198943f
X-Osstest-Versions-That:
    ovmf=a776bbabd9e8f370feb089cdc016324b1d6a37c7
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 12 Aug 2021 11:34:09 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 ac826886c98524e918753419c039d8b44198943f
baseline version:
 ovmf                 a776bbabd9e8f370feb089cdc016324b1d6a37c7

Last test of basis   164160  2021-08-11 14:41:07 Z    0 days
Testing same since   164166  2021-08-12 08:41:16 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Wenyi Xie <xiewenyi2@huawei.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
   a776bbabd9..ac826886c9  ac826886c98524e918753419c039d8b44198943f -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Aug 12 11:49:19 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 11:49:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166264.303598 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mE9D0-00067q-Hr; Thu, 12 Aug 2021 11:49:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166264.303598; Thu, 12 Aug 2021 11:49:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mE9D0-00067j-E0; Thu, 12 Aug 2021 11:49:14 +0000
Received: by outflank-mailman (input) for mailman id 166264;
 Thu, 12 Aug 2021 11:49:13 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EyNM=ND=citrix.com=Jane.Malalane@srs-us1.protection.inumbo.net>)
 id 1mE9Cz-00067d-6l
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 11:49:13 +0000
Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id e7f33599-53e2-4d6c-9d50-45a9279917f1;
 Thu, 12 Aug 2021 11:49: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: e7f33599-53e2-4d6c-9d50-45a9279917f1
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1628768951;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=CL3znfpWELLv4litjeLtI8c/M9lffSXcm1hEov0YUxw=;
  b=PW5I+1Q79QPnu8c5lCFBCNk5RC0B4uXQmSbC93UZxtdOSKCcB4xDHFb3
   +C6PviVYz/k7HFcCxmNUv5ch0LtgVCoGqcYptSWeBQnr+rqfiKGvYkavF
   JLY7Cn/XJUF7jfGRj1RjFLrAqn36gQzdGf//dZGvENLpqgTK25K2q/145
   A=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: R27mI2Eir9g7r4EgxXd8icAcU6DDlliLE5l86UHKaeY+w/LCTcNnPaTAgqlMvPZ2pvvg/L+jtX
 RzzMkb89c4tcFalCDJ03rvJebHGqsO01leWKSsmzcBzoxDbnWeBLPZLnqZBGK3De1eEvgqh6CP
 UwjVoPRh1wYcV6daVGVsfhjt7CRvLXktlSKGS9mvTaQN+yfz5MZotcQdi8ev0vRGmdn+IP8i5P
 sFAvU/TrzfgjpEl3CZH3kSCfmVrfeO2rXhaxbrf9fjW0ptpT6P4f4bFqg43Wze7HIE0bSTsDli
 QnZxwkXEZCeaw0iovqt/kmBS
X-SBRS: 5.1
X-MesageID: 50296498
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:LGD9Gq0TjgIuHByJ3XsUyAqjBLwkLtp133Aq2lEZdPRUGvb4qy
 nIpoV86faUskd3ZJhOo6HiBEDtexzhHP1OkO0s1NWZLWvbUQKTRekIh+aP/9SJIVyGygc378
 ddmsZFZuEYdWIK6PrH3A==
X-IronPort-AV: E=Sophos;i="5.84,315,1620705600"; 
   d="scan'208";a="50296498"
From: Jane Malalane <jane.malalane@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Jane Malalane <jane.malalane@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>
Subject: [PATCH] x86/pv: Provide more helpful error when CONFIG_PV32 is absent
Date: Thu, 12 Aug 2021 12:48:57 +0100
Message-ID: <20210812114857.20971-1-jane.malalane@citrix.com>
X-Mailer: git-send-email 2.11.0
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Currently, when booting a 32bit dom0 kernel, the message isn't very
helpful:

  (XEN)  Xen  kernel: 64-bit, lsb
  (XEN)  Dom0 kernel: 32-bit, PAE, lsb, paddr 0x100000 -> 0x112000
  (XEN) Mismatch between Xen and DOM0 kernel
  (XEN)
  (XEN) ****************************************
  (XEN) Panic on CPU 0:
  (XEN) Could not construct domain 0
  (XEN) ****************************************

With this adjustment, it now looks like this:

  (XEN)  Xen  kernel: 64-bit, lsb
  (XEN) Found 32-bit PV kernel, but CONFIG_PV32 missing
  (XEN)
  (XEN) ****************************************
  (XEN) Panic on CPU 0:
  (XEN) Could not construct domain 0
  (XEN) ****************************************

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jane Malalane <jane.malalane@citrix.com>
---
CC: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: "Roger Pau Monné" <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 xen/arch/x86/pv/dom0_build.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/pv/dom0_build.c b/xen/arch/x86/pv/dom0_build.c
index af47615b22..80e6c6e35b 100644
--- a/xen/arch/x86/pv/dom0_build.c
+++ b/xen/arch/x86/pv/dom0_build.c
@@ -362,9 +362,9 @@ int __init dom0_construct_pv(struct domain *d,
     compatible = false;
     machine = elf_uval(&elf, elf.ehdr, e_machine);
 
-#ifdef CONFIG_PV32
     if ( elf_32bit(&elf) )
     {
+#ifdef CONFIG_PV32
         if ( parms.pae == XEN_PAE_BIMODAL )
             parms.pae = XEN_PAE_EXTCR3;
         if ( parms.pae && machine == EM_386 )
@@ -377,8 +377,12 @@ int __init dom0_construct_pv(struct domain *d,
 
             compatible = true;
         }
-    }
+#else
+        printk("Found 32-bit PV kernel, but CONFIG_PV32 missing\n");
+        rc = -ENODEV;
+        goto out;
 #endif
+    }
 
     compat = is_pv_32bit_domain(d);
 
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 12 11:59:05 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 11:59:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166270.303608 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mE9MU-0007Ya-F1; Thu, 12 Aug 2021 11:59:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166270.303608; Thu, 12 Aug 2021 11:59: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 1mE9MU-0007YT-By; Thu, 12 Aug 2021 11:59:02 +0000
Received: by outflank-mailman (input) for mailman id 166270;
 Thu, 12 Aug 2021 11:59: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 1mE9MT-0007YJ-Sn; Thu, 12 Aug 2021 11:59: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 1mE9MT-0004vH-LZ; Thu, 12 Aug 2021 11:59: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 1mE9MT-0000gy-9R; Thu, 12 Aug 2021 11:59:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mE9MT-00066t-8x; Thu, 12 Aug 2021 11:59:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=tZrzg/9iVjp9oXk86m3Kw/AZFoE5WpFytLmcOe5Q/ww=; b=LLHDlgTNYWzlY+aU7tsr7ejfYn
	JmKjQcYZ5o985R7zKMBdZrn/Smu1ix62tsmh5G4QFQjvDC1WEiTpi3OY4oyNoZm5JsX6sHAP/GCSq
	nk6vQBZaqrtvWCI9HTMpL234ImzVi+Y+21h812/F4wCXpsC9JlYxboDx6O9H1gEYSheI=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164164-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164164: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt:<job status>:broken:regression
    linux-linus:test-armhf-armhf-xl:<job status>:broken:regression
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:host-install(5):broken:nonblocking
    linux-linus:test-armhf-armhf-xl:host-install(5):broken:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=761c6d7ec820f123b931e7b8ef7ec7c8564e450f
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 12 Aug 2021 11:59:01 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-libvirt        <job status>                 broken
 test-armhf-armhf-xl             <job status>                 broken
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop              fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 20 guest-stop               fail REGR. vs. 152332
 test-arm64-arm64-xl          14 guest-start    fail in 164162 REGR. vs. 152332

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-rtds     20 guest-localmigrate/x10     fail pass in 164161
 test-arm64-arm64-xl          13 debian-fixup               fail pass in 164162

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

version targeted for testing:
 linux                761c6d7ec820f123b931e7b8ef7ec7c8564e450f
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  376 days
Failing since        152366  2020-08-01 20:49:34 Z  375 days  662 attempts
Testing same since   164157  2021-08-11 06:49:01 Z    1 days    4 attempts

------------------------------------------------------------
6782 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          broken  
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     broken  
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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

broken-job test-armhf-armhf-libvirt broken
broken-job test-armhf-armhf-xl broken
broken-step test-armhf-armhf-libvirt host-install(5)
broken-step test-armhf-armhf-xl host-install(5)
broken-job test-armhf-armhf-libvirt broken
broken-job test-armhf-armhf-xl broken
broken-job test-armhf-armhf-xl broken
broken-job test-armhf-armhf-libvirt broken

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Thu Aug 12 12:02:25 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 12:02:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166278.303623 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mE9Pk-0000bl-5j; Thu, 12 Aug 2021 12:02:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166278.303623; Thu, 12 Aug 2021 12:02:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mE9Pk-0000be-2l; Thu, 12 Aug 2021 12:02:24 +0000
Received: by outflank-mailman (input) for mailman id 166278;
 Thu, 12 Aug 2021 12:02:23 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=s3DI=ND=amazon.de=prvs=85146eb54=mheyne@srs-us1.protection.inumbo.net>)
 id 1mE9Pj-0000bQ-2M
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 12:02:23 +0000
Received: from smtp-fw-9102.amazon.com (unknown [207.171.184.29])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id d12fbad9-13f3-4f33-af3a-d5ec3de09e2a;
 Thu, 12 Aug 2021 12:02:22 +0000 (UTC)
Received: from pdx4-co-svc-p1-lb2-vlan3.amazon.com (HELO
 email-inbound-relay-2a-538b0bfb.us-west-2.amazon.com) ([10.25.36.214])
 by smtp-border-fw-9102.sea19.amazon.com with ESMTP; 12 Aug 2021 12:02:15 +0000
Received: from EX13D18EUC001.ant.amazon.com
 (pdx1-ws-svc-p6-lb9-vlan3.pdx.amazon.com [10.236.137.198])
 by email-inbound-relay-2a-538b0bfb.us-west-2.amazon.com (Postfix) with ESMTPS
 id DF4CCA0624; Thu, 12 Aug 2021 12:02:13 +0000 (UTC)
Received: from EX13D08EUC004.ant.amazon.com (10.43.164.176) by
 EX13D18EUC001.ant.amazon.com (10.43.164.108) with Microsoft SMTP Server (TLS)
 id 15.0.1497.23; Thu, 12 Aug 2021 12:02:12 +0000
Received: from EX13D08EUC004.ant.amazon.com ([10.43.164.176]) by
 EX13D08EUC004.ant.amazon.com ([10.43.164.176]) with mapi id 15.00.1497.023;
 Thu, 12 Aug 2021 12:02:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d12fbad9-13f3-4f33-af3a-d5ec3de09e2a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
  d=amazon.de; i=@amazon.de; q=dns/txt; s=amazon201209;
  t=1628769743; x=1660305743;
  h=from:to:cc:date:message-id:references:in-reply-to:
   content-id:mime-version:content-transfer-encoding:subject;
  bh=ORzTm8jq97PwIjMpp8YDkacjBMA3fJWfWZ7VPexNmNc=;
  b=CU2dTcjKxjWtlq+WwX1rjG2J1Hk+vHZRFA4OjLNv2i80Mocu7Oedw6rm
   S68OXs1U2y8KAtzwKj2KccqHIa8q29dkurIZmoQRVnVRPmFRWtncKMqss
   nqnxUJF8lmyKvhk33dhja8Q1tGJsN4CffEmA/FPffC8nKoVyLH8gSEHxB
   w=;
X-IronPort-AV: E=Sophos;i="5.84,315,1620691200"; 
   d="scan'208";a="152066052"
Subject: Re: [PATCH] xen/events: Fix race in set_evtchn_to_irq
Thread-Topic: [PATCH] xen/events: Fix race in set_evtchn_to_irq
From: "Heyne, Maximilian" <mheyne@amazon.de>
To: "boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>
CC: "jbeulich@suse.com" <jbeulich@suse.com>, "jgross@suse.com"
	<jgross@suse.com>, "sstabellini@kernel.org" <sstabellini@kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"tglx@linutronix.de" <tglx@linutronix.de>, "Shah, Amit" <aams@amazon.de>,
	"david.vrabel@citrix.com" <david.vrabel@citrix.com>,
	"malcolm.crossley@citrix.com" <malcolm.crossley@citrix.com>,
	"wei.liu@kernel.org" <wei.liu@kernel.org>, "konrad.wilk@oracle.com"
	<konrad.wilk@oracle.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Thread-Index: AQHXjrpZaLuu4Oit+USMDY60w1pC6qtuZzWAgAFfGYA=
Date: Thu, 12 Aug 2021 12:02:12 +0000
Message-ID: <361b90c3ec8dc89fa67fb7795d20400f45b53f85.camel@amazon.de>
References: <20210811140806.75710-1-mheyne@amazon.de>
	 <482af7c4-ad9e-6054-db45-ec05249a2517@oracle.com>
In-Reply-To: <482af7c4-ad9e-6054-db45-ec05249a2517@oracle.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.43.164.211]
Content-Type: text/plain; charset="utf-8"
Content-ID: <8B2862D234C8694D8F78BFF297FB2AEC@amazon.com>
MIME-Version: 1.0
Precedence: Bulk
Content-Transfer-Encoding: base64

T24gV2VkLCAyMDIxLTA4LTExIGF0IDExOjA1IC0wNDAwLCBCb3JpcyBPc3Ryb3Zza3kgd3JvdGU6
DQo+IE9uIDgvMTEvMjEgMTA6MDggQU0sIE1heGltaWxpYW4gSGV5bmUgd3JvdGU6DQo+ID4gVGhp
cyBwYXRjaCBzZXRzIGV2dGNobl90b19pcnEgcm93cyB2aWEgYSBjbXB4Y2hnIG9wZXJhdGlvbiBz
byB0aGF0DQo+ID4gdGhleQ0KPiA+IHdpbGwgYmUgc2V0IG9ubHkgb25jZS4gQ2xlYXJpbmcgdGhl
IHJvdyB3YXMgbW92ZWQgdXAgYmVmb3JlIHdyaXRpbmcNCj4gPiB0aGUNCj4gPiByb3cgdG8gZXZ0
Y2huX3RvX2lycSBpbiBvcmRlciB0byBub3QgY3JlYXRlIGEgcmFjZSBvbmNlIHRoZSByb3cgaXMN
Cj4gPiB2aXNpYmxlIGZvciBvdGhlciB0aHJlYWRzLiBBY2Nlc3NlcyB0byB0aGUgcm93cyBhcmUg
bm93IGd1YXJkZWQgYnkNCj4gPiBSRUFEX09OQ0UgYW5kIFdSSVRFX09OQ0UganVzdCBhcyBmb3Ig
dGhlIGNvbHVtbnMgaW4gdGhlIGRhdGENCj4gPiBzdHJ1Y3R1cmUuDQo+IA0KPiBJcyB0aGlzIGxh
c3QgcGFydCByZWFsbHkgbmVlZGVkPyBXZSBuZWVkZWQgdG8gZG8gdGhhdCBmb3IgYXJyYXkNCj4g
ZWxlbWVudHMgdG8gYXZvaWQgYW4gaW50ZXJydXB0IGhhbmRsZXIgZnJvbSBzZWVpbmcgYSBwYXJ0
aWFsbHkNCj4gdXBkYXRlZCBlbnRyeSBidXQgSSBhbSBub3Qgc3VyZSBJIHNlZSBob3cgdGhpcyBj
YW4gaGFwcGVuIHRvIHRoZSByb3cNCj4gcG9pbnRlci4gVGhlIG9ubHkgcGxhY2Ugd2hlcmUgaXQg
bWlnaHQgYmUgaW1wb3J0YW50IGlzIHdoZW4gd2UgdXBkYXRlDQo+IHRoZSBwb2ludGVyIHRvIHRo
ZSBuZXcgcGFnZSBidXQgeW91IGFyZSB1c2luZyBjbXB4Y2hnIHRoZXJlIGFscmVhZHkuDQoNCkkg
dGhpbmsgeW91IGFyZSByaWdodC4gSSB3aWxsIHJlbW92ZSB0aGUgY2hhbmdlcyByZWxhdGVkIHRv
IHRoZQ0KUkVBRF9PTkNFLg0KDQo+IA0KPiANCj4gPiAtICAgICAgICAgICAgIGV2dGNobl90b19p
cnFbcm93XSA9IChpbnQNCj4gPiAqKWdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMKTsNCj4gPiAt
ICAgICAgICAgICAgIGlmIChldnRjaG5fdG9faXJxW3Jvd10gPT0gTlVMTCkNCj4gPiArICAgICAg
ICAgICAgIGV2dGNobl9yb3cgPSAoaW50ICopIGdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMKTsN
Cj4gDQo+IE5vdCBkaXJlY3RseSByZWxhdGVkIHRvIHRoaXMgcGF0Y2ggYnV0IEkgZG9uJ3QgdGhp
bmsgd2UgbmVlZCB0byBnZXQgYQ0KPiB6ZXJvZWQgcGFnZSAtLS0gd2Ugd2lsbCBpbml0aWFsaXpl
IGl0IHRvIC0xIGltbWVkaWF0ZWx5IGJlbG93Lg0KDQpUaGF0IGlzIGNvcnJlY3QuIEkgd2lsbCBq
dXN0IGZpeCB0aGlzIGluIHRoZSBuZXh0IHZlcnNpb24gb2YgdGhlIHBhdGNoLg0KDQpNYXgNCgoK
CkFtYXpvbiBEZXZlbG9wbWVudCBDZW50ZXIgR2VybWFueSBHbWJICktyYXVzZW5zdHIuIDM4CjEw
MTE3IEJlcmxpbgpHZXNjaGFlZnRzZnVlaHJ1bmc6IENocmlzdGlhbiBTY2hsYWVnZXIsIEpvbmF0
aGFuIFdlaXNzCkVpbmdldHJhZ2VuIGFtIEFtdHNnZXJpY2h0IENoYXJsb3R0ZW5idXJnIHVudGVy
IEhSQiAxNDkxNzMgQgpTaXR6OiBCZXJsaW4KVXN0LUlEOiBERSAyODkgMjM3IDg3OQoKCg==



From xen-devel-bounces@lists.xenproject.org Thu Aug 12 12:11:46 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 12:11:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166284.303634 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mE9Yj-00022i-3A; Thu, 12 Aug 2021 12:11:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166284.303634; Thu, 12 Aug 2021 12:11:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mE9Yj-00022b-0C; Thu, 12 Aug 2021 12:11:41 +0000
Received: by outflank-mailman (input) for mailman id 166284;
 Thu, 12 Aug 2021 12:11:39 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=QHFb=ND=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mE9Yh-00022V-ET
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 12:11:39 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 71778148-fb66-11eb-a179-12813bfff9fa;
 Thu, 12 Aug 2021 12:11:38 +0000 (UTC)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2109.outbound.protection.outlook.com [104.47.18.109])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-2-xRAhhCGOOZmBBZxG3Og_Fw-1; Thu, 12 Aug 2021 14:11:35 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0401MB2608.eurprd04.prod.outlook.com (2603:10a6:800:4f::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.19; Thu, 12 Aug
 2021 12:11:34 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.017; Thu, 12 Aug 2021
 12:11:34 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0245.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100::17) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.13 via Frontend Transport; Thu, 12 Aug 2021 12:11: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: 71778148-fb66-11eb-a179-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628770297;
	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=2VXQ/m6HeLComOVKMfR2AcrhEukYLkAe4zniaD4SiOk=;
	b=KdGziO8vvkuIK2YMox6xap96wZWEfcsGB+GrApDOn4OAumk5N43DU3WgxX/YSI7EZah+zp
	GwPmFnsX/3hC1riRqxU7bdJtzqbXNAgpAhrbEuADJZVqhNAgRFZCrEau/vCHIfK9wlGZop
	ymDpHPLmb9t2nUIMeTuvyul1mzADraE=
X-MC-Unique: xRAhhCGOOZmBBZxG3Og_Fw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mAb8JkeCNnh8h4Q8AldxoxdxDL8lxpKph+rXMkNGo0tWbbRDtIYhStGAaC32rB+2m/zVUEyLGgX9xbjFcHsGOJWEIeQd66JCFoATAEDeqB9x0y4tG2PB6B8DFoff8+IiH9MPyungrYyLF9SfbDiiKMCo1xmFjrftaWvwIvqOx/vvNUjZqZfRNo4s04upf6jKepI6D0T+vQ/ZjXtqwMwI1N6x1xv8UyOFV7OwsLcvFLlqT+NrQdo1cqLkGbCv3ogQBLYePKGYdQz+YSs8BqloVE0aNR0SbUAArJPmPVRpAgrJRew2sKL8/eGdyOjaLYnoYl0N0GVznD9Gbxrwwj5gEw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2VXQ/m6HeLComOVKMfR2AcrhEukYLkAe4zniaD4SiOk=;
 b=dxGsYacYvU/8m5eFVXndtPL83C7jPD3jiJIcCnF+u6xeM69cR/DaK3yaHRmKs3OpOpkQDGbDI1IKlDTAuYanaIWKuQqxOKiCqpYfOG9aX4+rPOk4p7MIpwWeY2znycbOBJuwPG60HGspLbqouXhbDOKMM7oAV3nAS9pkQmf1ESsEkI9uL18jYA9zN+Y7sLEsd/LDT7lLI+MzIndMKsd6blKsR2U7fLYMUMgwXvQUEdzVmF1eh5vHjRaSmOzUCZmuNSMCkmKFfULY/8oAb1ySNqO7nqt0yZKMVPo3H+iYG/FR3VvxxEVdaWUgOod5zZzr5DdngzkC/PexQ8B0q9WTIA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: Re: [PATCH] tests/xenstore: link in librt
To: Ian Jackson <iwj@xenproject.org>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Wei Liu <wl@xen.org>, Juergen Gross <jgross@suse.com>,
 Julien Grall <julien@xen.org>
References: <3fe5f85c-3702-286c-46a3-d90eb094123f@suse.com>
 <24853.1273.985325.539310@mariner.uk.xensource.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <74fde732-c2bb-168f-a51c-74e2220c87c5@suse.com>
Date: Thu, 12 Aug 2021 14:11:32 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <24853.1273.985325.539310@mariner.uk.xensource.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0245.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100::17)
 To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ceeb353c-7bbe-4570-c131-08d95d8a53d6
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2608:
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB2608D367D0B0A7514DE22F39B3F99@VI1PR0401MB2608.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LRWZ3vniRlPdIADuTiCBdwHBsTYVp6eoj812Tg8Jq1tWC4Xiq5yudQeATjmW6ayTbolrF6P4JMIJVFZPurvMMF95o646ncw4pvrfL39n1Y8S1WM6WOyoIOEFJJri8XCIxsELtOVfVoxhT/nSQQcjqdmq4QD1aHhQWLc/nQcv5MDuJ8BztOPRsotCims6NcBKKYbCO61x1Znh0Xq6AjsZK6wbmajmZeuiTpDPfM8ajaJd70FlK/PdSHXEAorEQ9wl0evXdsC/OySmtNw2UgCZL4FTO+mFfWhGL/L62aHlkCzwwlryGoSws1HsxU/dtIv6lJnz4S1P03a6bBPwAFLQ50s4Fv/8JxiCnAdylJn+QvOHXDO+bD8XHyB1xWKL+s+r+WWHB9iUUWP/3L014Hn7HhHXW8iqxsSyykrGUNjJNrzGnVDjYIAfcpYc4X2o/grTnG92OqpFNLE9ANCk4p9K/+Ffba1W05QMb4iGcgZOETYb7KenDAPS62H7wZOKIJEvKK7qgdxqftOs1WHxpOLmvTCve6FgaHEvSVqgqtjzr1ejbrDw/kymYfluVgCkkGkwUEoqrksIoiSazEnP/PaSy0RVZsgn8YCjEIpJBFc8vb+xvLjtugCwWJcdaTGMfLFQNqq8TC68HeCBzMgUrAR/60AssFtLlWO4X4pDvxGr981wbu59ZMGt+Kn7qaFauWkqdBYfveM+Y6ol0ycwDQgh0SJurq7Cf7wEnS6IHjf/zvg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(186003)(53546011)(26005)(4326008)(5660300002)(2906002)(31686004)(66946007)(6486002)(2616005)(956004)(36756003)(508600001)(8676002)(83380400001)(8936002)(54906003)(31696002)(86362001)(38100700002)(66556008)(66476007)(6916009)(316002)(16576012)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?N0VheEhNeTkwTmdwMlkrMHNNUEplbGdEK21od0NQcG9TN09KRVFOL3VPajZY?=
 =?utf-8?B?Zzk3VWtFeWFMa2FWdVdJRU1kNzlzNW5XOW12MUt5alF6TUUwa0RFdzBIZWcx?=
 =?utf-8?B?UXN5eXJMVHh6anJGNVpKVUh6bUxjV05LeklmWjVzcjE0Sno2MC9IL2ZGYmF1?=
 =?utf-8?B?dEhMd2VHcytaMGFPekhaaC9TRDA4UXRiRjU5QkZ1WnFvVnFUbzRtVEZyL3E5?=
 =?utf-8?B?dzVoZlpEb0g1ajhuTXZ0eWdDeE5sbTVuaTlxYlFQN2pvL1Nnc1Z3cUtCN3lS?=
 =?utf-8?B?UUl4UGJYQ0t4Wlp5d3dxcFc4dUdxZzd6NXYybjQ3STAxS2tzcnBGMVZPdE9M?=
 =?utf-8?B?UVhsM1JVczZIR093ZDlzLzViK0pwVlhHNlVFMWUxM0ttVjBXNDBrOG92bmY1?=
 =?utf-8?B?VVhPdldYM0NVclpLVHNWeTFPTk9sZWtGQnppa3lVR29lQ3VDQlY3NlZCQ3NS?=
 =?utf-8?B?VG9BWEhXenFsd2MvR3ZOb1BtTnd5UFJJMDluK3ZtYjc3Vy8wMHYyMnJCVVhG?=
 =?utf-8?B?ZzZtWitQNllVU1NaWjR4bTB2Rk02c3dtU1hrYUZWcFFZZDdkMHJnSlk5YStT?=
 =?utf-8?B?N1o4OFNVVEhZWEVmdE52eUdPdC92a2t6ZzhhK1QrNVJQcFRXMHo0U1VvR1NM?=
 =?utf-8?B?VzNzQTlPNmRzU2w1SDdKanJ1V0RDNjRuZDZNVlRkeGk0WXhyMTdXaWt0dDNL?=
 =?utf-8?B?QmVwcXgxZlFLODRRdDBTWlVOb1V3bGg4WEtYNlZnMFpTUXJQYTl4anRVUGV4?=
 =?utf-8?B?YmlCVkplblRrV1B6dzY4TkxzQjdPYlRhZ3JRVzVCZE9oV3g4cm1KQ0o2YlpC?=
 =?utf-8?B?SW1GNTFlRWtDMU9NRTRWK0U0YVBwODcrblpVWXQ5SHd4UnFmM21BYXlRVGZU?=
 =?utf-8?B?K0JKaTNkQktwd0Yrb0I5d2dhM25QcFVZYVdvTXAwV3pJL3VKVzVnb2lZck1l?=
 =?utf-8?B?aEptWlVrMGVzZ2tSVmhlNlJOQ2I4RG5XMm9Ldk00UVhSNEliSHlxbU5mQWlP?=
 =?utf-8?B?bE9GcXQ0Z29aVzd6cHByRnJGK21kY0ZDSW93NXBKd3VCMTZpNWlLVzZzbTVF?=
 =?utf-8?B?VE9yc2JUbndTTDBYOWQra1BuNUZMK2VGZm1lVGkzUGl3M0QyVTVYd01CeDJG?=
 =?utf-8?B?UXpieU9zT0ZRd2hMcm1ZbXgrV2Q5cFlPUU5zdGJZL25Gb3lzaFRoRTBpaEZO?=
 =?utf-8?B?S2dwdkhpaU1Vcmt2R0x1NXhqRGlRNHpsV3pGY0FjTmdSeXVacmVnMVdYM0FV?=
 =?utf-8?B?bWNjOUphYkRQNm1YQ29oRHV3a3hYM2pGaEdISi9qZHdYaUJZSlR3a1UrZWVy?=
 =?utf-8?B?YTJoMG4wa2ZBRUpRMXZGQjZoVVRYbWMvZjgvLzhibjBsbnkyYUkvbmRqekIr?=
 =?utf-8?B?WEoreFg3MFVjRHpIT0s3MkViQWYvRUlzTWhKRlVoZDl4UzlHUmdMS2p2eXBI?=
 =?utf-8?B?QldIcWlrSnJ6YjM3VnIrYjFCQ1Fkd2Y0VXRVamozTDE5K2JYdlJMWFlqNXI3?=
 =?utf-8?B?UlVHaGNMNzMyTTd1U2dhZkJBTFA1TGVrL0dhL1FFMlBQTTM5aDBZeW5RbkFr?=
 =?utf-8?B?VHRvazJEZ0dldGdLZlREeDFockhWTURzZGZPS25VdUFOUG55Nm5CYURDbERT?=
 =?utf-8?B?TlpPbVNoTVpMVkdsdDIxb3U0RVBpVU44WEVBbDdOZDZtRmxpQnZKT1R6UHNx?=
 =?utf-8?B?MDJ3VnRWR29DU0FROXIveTVaRjJqUERJQ3o4N01UQWd2T1BTZEhuWnBLZGV6?=
 =?utf-8?Q?Ao+Gh8lFYFD21bjCczNwrB9dsVq9K6E4E0qOaCA?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ceeb353c-7bbe-4570-c131-08d95d8a53d6
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2021 12:11:34.4418
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: H8ho0MAQZjc/w1vYoXj3s7Ls+/IdACciM/Z9geKZLc0sD8hTNyJqLky4Yd7q0mEptO0N9E0EIBJ0/AFxqaVjGg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2608

On 12.08.2021 13:24, Ian Jackson wrote:
> Jan Beulich writes ("[PATCH] tests/xenstore: link in librt"):
>> Old enough glibc has clock_gettime() in librt.so, hence the library
>> needs to be specified to the linker.
>>
>> Fixes: 93c9edbef51b ("tests/xenstore: Rework Makefile")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> Cc list based on the assumption that the XENSTORE section of
>> ./MAINTAINERS probably ought to list the containing directory.
>>
>> --- a/tools/tests/xenstore/Makefile
>> +++ b/tools/tests/xenstore/Makefile
>> @@ -31,6 +31,7 @@ CFLAGS += -Werror
>>  CFLAGS += $(CFLAGS_libxenstore)
>>  CFLAGS += $(APPEND_CFLAGS)
>>  
>> +LDFLAGS += -lrt
> 
> Don't this unconditionally is definitely not right.

Assuming you meant "Doing this ..." - why? If the concern is that
librt.so may needlessly get recorded in a DT_NEEDED entry, then I
can replace the early addition with a late

LDFLAGS += -Wl,--as-needed -lc -lrt

one.

> How old a glibc are we talking about ?  (I looked at the minimum
> versions listed in README and there's notthing about glibc; perhaps
> should be.)

I've hit this with 2.11.3. I guess it has been made available by
libc.so from 2.17 onwards, considering the symbol version is
GLIBC_2.17.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 12 12:15:30 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 12:15:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166289.303645 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mE9cP-0002hs-K2; Thu, 12 Aug 2021 12:15:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166289.303645; Thu, 12 Aug 2021 12: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 1mE9cP-0002hl-GJ; Thu, 12 Aug 2021 12:15:29 +0000
Received: by outflank-mailman (input) for mailman id 166289;
 Thu, 12 Aug 2021 12:15:27 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=QHFb=ND=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mE9cN-0002he-Jm
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 12:15:27 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id f9a50fcb-fb66-11eb-a17c-12813bfff9fa;
 Thu, 12 Aug 2021 12:15:26 +0000 (UTC)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2177.outbound.protection.outlook.com [104.47.17.177])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-8-wxuXNEpkN5-bq8caEemngA-1; Thu, 12 Aug 2021 14:15:24 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB2959.eurprd04.prod.outlook.com (2603:10a6:802:8::25) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.22; Thu, 12 Aug
 2021 12:15:22 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.017; Thu, 12 Aug 2021
 12:15:22 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P195CA0002.EURP195.PROD.OUTLOOK.COM (2603:10a6:102:b6::7) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Thu, 12 Aug 2021 12:15: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: f9a50fcb-fb66-11eb-a17c-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628770525;
	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=mkf6V7zT4J0SpR+fo+2rTnEN4sEJNLZ5v6v5QNFoTBY=;
	b=RBzfrXNJEbXJ4fH8g65QSs6JmCsAaYmarPpKV2LDWjDy7Pfy/VWWOd4vsDQ8GgJ7+YE7hu
	zn0X8PzZhuFM+JBzLIyVKROrnzQsTD9bkaxn32cl5GkbxWRP6tLuurLAG0aSWRqqJOVUKs
	OuhbK22gpBvlcF+rlFa6xT4GZNiy0/g=
X-MC-Unique: wxuXNEpkN5-bq8caEemngA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=K8JQ7TlL3je5+rfE93Z5nqaVVo5tv/bo0IUgrU0C2+AhY6l+qmlha8yuSDcuVfHGzagrRAIEWB67iCxSs2Mu+qQ79K2epyOLOPbTPGnbX0O07EVA2jb0YuLv/QXnw0Ep69uDhjM0li6dcIvr8d/c3eRu8K/cRvN3ysHxTyAM1eS0BpdQm2TYWPP6f699c1g4KW0S0EwcT/62yrf5GZGwSWSj2lOFsUYa8+5VdD846LVYQ9IbnEKh2MhUgyLBv0arCufw/KwbvxQV/PAIr+YkDH6PIOhyazhlW22g/aYiLxN6C2VhGbVr3kfGzcNuaPujJw06z/2uozTdV4s4H+HXfA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mkf6V7zT4J0SpR+fo+2rTnEN4sEJNLZ5v6v5QNFoTBY=;
 b=GePx9AggRT3bmYZFWnrXALe8aYBN/hd8cDex9ZtitZ0ZpUTRjrc6k//Qc44KjcpZAbKiswFXb8GSK4MRq7+ER2vCO/w+wUaazSeUZ4Nb29HGm/kOztex07qDTB0Yqzm93Xw+dyrjc9gjpOdJDqDE0fe4MmZqYZz3JcBDAfzGThwumnGq0B6OVc5CWrQN/YCvE0OSFddHFvzl5HWltMojR/JxFO8PuJB0nY4GNEXu2PU5mHs/MI9jT8vkzsino++2+kM4o4KZ/6PgiK8z6jRHypgV4815zCRa0TVoVF1Nc7i7rTWe3/6SKidh5QLnZxKvgqhlPBq9EjMBseIHDj2pug==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v2] xen/bitmap: Don't open code DIV_ROUND_UP()
To: Jane Malalane <jane.malalane@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20210812100225.20037-1-jane.malalane@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <870c7889-bade-26cd-2544-0a77e470b42d@suse.com>
Date: Thu, 12 Aug 2021 14:15:20 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210812100225.20037-1-jane.malalane@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P195CA0002.EURP195.PROD.OUTLOOK.COM
 (2603:10a6:102:b6::7) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 210a9e2b-6ad6-4cc0-61c1-08d95d8adbf1
X-MS-TrafficTypeDiagnostic: VI1PR04MB2959:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB2959E9396745E356100BA882B3F99@VI1PR04MB2959.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:1107;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	u1H8nuXXsYlFUITf4/ZiwbqQdQGDmhOEoDk7Q/Qq/0Gfc0cW58BP3WasMaOOUfchCMUJbrV2so+24n+QHYQrgyIqTf3zSaGGecdRpgKXF7oarFfCYao1meM/OS5YWIwpUyLDnU1SaXtzWtz0xDFOOEVDXEXdxcQo60WZP/hXl7/wrasACDVx1ssTXGi34TQQJNGkLLMpY6VgiwNSzffDoRIwf9Y1F7qlK3fkrNkPw7gSQTI4ha3SDONRq9jBXCL+c+20y10ATgmlJZVuw3ZNMMXcO7NqmaMDqNCvbtokd9w42/Tst1OdLcIYyJfRBIgOZIN22RygI+wBemOFNVWsp0hjNx7gM99bpxV9MfmnHWzpqaT0A/hRvuX1R6gPDFoBrkpnRkCTfTcVCPiS1HRQyL3O6y71OJvdCiDvt3XnkdiX1ZCP+Nh0wYNBvE7I3TuONVoG8+U+6nbkxr1LA+91dxUVRXc9XVJU+KiVhh8yNpUQVY5O15LjxE1acnjjuMMIOJO1/gU1yIA1PF9MElR4OroGJBEl+RI7cpLOy7SpYbht0QneP7e3bfwW9a6AZwZ33bbxNKB064MUrmCirR2Z57MLTA22VCvbCmAOKbYaY+Jnm1ELTbNGEUjaRVcM2UVZy3OfbvJjusOW26+2yNJ1aVJbGSyrzS/L6UlZx9JvP75ebV+zMnsvDsFf2i0RJFTyTbYFMYIEPPne5j3hhrDRUc3VdMGukGvWDogp6iDSnIE=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(4744005)(508600001)(8676002)(31696002)(2616005)(6916009)(186003)(66946007)(36756003)(38100700002)(31686004)(316002)(5660300002)(4326008)(6486002)(86362001)(8936002)(66476007)(2906002)(53546011)(54906003)(66556008)(26005)(16576012)(956004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TjUvc1hNUUY1djdZSFlGdS9OMXZVNVhlQ3l4YkRqUnJBUUxtc3djODUyRVcr?=
 =?utf-8?B?eGsvcFViaXJRTFlzakduSEc5U3BlemVDUXQ5Tk13Z1ZXWVQrNXppMEdxMExX?=
 =?utf-8?B?MmdlYXo5UGU3SEhoYlhzc2FlUXpEUDN3TDFLSU44eW5ZMnE2WVU2R2dUeXVj?=
 =?utf-8?B?OFVKUkhqYlVwdGcxeGpCZ2VJZ3ozSkZqVTJnUThCSzdkeHZTQ2dTSGZ4OGdo?=
 =?utf-8?B?dkF2OFhBcWJBdlptSGhJMXVTcE5MM0o4RWcxekw2TllWakkrQVBtWVE5V0Vy?=
 =?utf-8?B?blhFajgxMy85WmI2N1U5RjVZU2VWM0djU0thTTdzR25qT1Evem9YcklwckRP?=
 =?utf-8?B?ZExkVHJKcE1mcG1lR0d2NFdtT2YvanY1ajhJcnZHQm1GVmZLVVdwR3hRTnFn?=
 =?utf-8?B?bFNteURjYVNIY0VkU3dNcXcrT2RnMzlNemxQN2EzbXozWW1iQjR1SmVrcGFJ?=
 =?utf-8?B?YWxhTkhmVzIrL1RKZCtqbEc1QUg0QTZOWkFuL1FuR0lyZUc0QnlIOXlKWDlJ?=
 =?utf-8?B?aXErUlI5MEt5SGpQNkdEL3I5bzVRMWp0T1JmUllrdHMxcTJhc3NCb1ZDVmww?=
 =?utf-8?B?eEJ6WUFjbktJNDlUdnhlYWhnTDFKdm1RUytxV1AwSmtDSWZsWFVTNlljSUZH?=
 =?utf-8?B?T25NS0EyTFd1OThkVjBVSy9LNW1SS2M4bW8wUlVPSnJzRUNjNm0rQ3F2UmU0?=
 =?utf-8?B?UmNJclRPL0MxT3hkRyt3Q2VvM1VSZWZ6dFBSMWdLSGhNQW0zdG1yUWs3VmRY?=
 =?utf-8?B?UTVNU01GWW9vMkEvbFZmNDdFVkJnMG9sOS8zaWJzSHo3a1dMTFYxN2FPV3RD?=
 =?utf-8?B?MitMZUxSaklxY2c1Z2UvQnQzVjdEejFNZTdIQ2tmVTRCaitaUmJDZlB4Z2dr?=
 =?utf-8?B?SCtQdG02SGQ5blBMRy9HdzNoQzUwY01BcURxeHRyRVJPdkdIYnVpa1h1SlNK?=
 =?utf-8?B?bTFLMHJQaTZhRkFvSkRQczBqSEhGOCtCcTFzLzhGNll1UzVacGxhWFp4R0ZJ?=
 =?utf-8?B?UWNtWFRZVTJlbllqT1g3aXdHZDJHdkVvUXlReVd5VVRwYmRQdGVkTHJNYldv?=
 =?utf-8?B?a1FjU1lpS0tQQ3pmWFdRZERRWklLb1plWURFdHNyL3AzN2RtcUMzdTl1V1Vu?=
 =?utf-8?B?SFM0a2IrcWU5eldRNDRQTjUzMTVQa3JSbWtsYWJRSExaUkFwQ2JMWFVXZnho?=
 =?utf-8?B?cHo4ak5LUHB5RE0xWG9aNW91NFpvWmdxVkVsUGNYdmxvRXllNWlaZ3VqTE9H?=
 =?utf-8?B?OEdrMGpPRnRuOEdkNjBGTVhIT25SbWxiU1RFNmg1MkcxdG1LazVwN25mdEVI?=
 =?utf-8?B?R0JUKzJoOU1KenJUc2YzWE1BZU5ONzNOUDd6ZStBTmlkTmJMVnVCMFg4TU5Q?=
 =?utf-8?B?S042VFhCZ0hIaThkR0QzUWdKU0JlWGFwblFIaGxYa0JUWW5GdHEvNmlReWRu?=
 =?utf-8?B?NzU0WHp5b01sR2o0QzBJMU9oVUp2dDRMaldSMUtNRmhwNHBGd0IzVUlaSVc5?=
 =?utf-8?B?SFNTSEM1UFVEVW0raEVHQTNjN292alpkcjU1TTNkZHNPYTAxV2RHdWtHVEpV?=
 =?utf-8?B?RDI4dXFsNXBKUmtHam8wWFExN0M5ODNlc3pVNGdseERub1dBd2JySUFvbUxU?=
 =?utf-8?B?WkdCVWlNSnZiZUZaT0tVTkNhSHB3dEFEa2xseS9mc3l2LzlxT3BudUtIVDBa?=
 =?utf-8?B?YlhYRFJnLzZoOG9GeHZKMU1qU3ZRK2tJNnlyc0swRFA4cHA5UkF2K2FkR2Rs?=
 =?utf-8?Q?D1020mkbHwbaQq4Sc5kmxl0+HtPDRO1lcnBfna/?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 210a9e2b-6ad6-4cc0-61c1-08d95d8adbf1
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2021 12:15:22.7474
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZhQ0lHhJ7mf/2H48Am5N2Gzg4HPPDu/HyboCmeLsYYxov0wcGpM+lrs+UWypeHBE6ug1SbKwXzKeD2ynrHJSSQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB2959

On 12.08.2021 12:02, Jane Malalane wrote:
> Also, change bitmap_long_to_byte() and bitmap_byte_to_long() to take
> 'unsigned int' instead of 'int' number of bits, to match the type of
> their callers.
> 
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Jane Malalane <jane.malalane@citrix.com>

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



From xen-devel-bounces@lists.xenproject.org Thu Aug 12 12:22:58 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 12:22:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166295.303656 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mE9jL-00047Z-Bn; Thu, 12 Aug 2021 12:22:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166295.303656; Thu, 12 Aug 2021 12:22: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 1mE9jL-00047S-8J; Thu, 12 Aug 2021 12:22:39 +0000
Received: by outflank-mailman (input) for mailman id 166295;
 Thu, 12 Aug 2021 12:22:38 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=QHFb=ND=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mE9jK-00047M-7z
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 12:22:38 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 35f6945e-986e-4462-a172-47adadfb8b5c;
 Thu, 12 Aug 2021 12:22:37 +0000 (UTC)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2058.outbound.protection.outlook.com [104.47.12.58]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-10-3NOWCOmaOmGIkhmqnvmFFA-1; Thu, 12 Aug 2021 14:22:34 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5328.eurprd04.prod.outlook.com (2603:10a6:803:59::25)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.19; Thu, 12 Aug
 2021 12:22:32 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.017; Thu, 12 Aug 2021
 12:22:32 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR02CA0139.eurprd02.prod.outlook.com (2603:10a6:20b:28d::6) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.13 via Frontend Transport; Thu, 12 Aug 2021 12:22: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: 35f6945e-986e-4462-a172-47adadfb8b5c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628770955;
	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=zO3HYKwDpapNdXciIMOATOXVAvLlsB7Ob1p036QeBLY=;
	b=C8iTWbgoF42TrBou9xNcUDPEeFqwtx4glNCIfWV9MYvoS8qIUKm9wp8T2QgRLNX4BaHdvW
	1xxz9onHiyIuT9CpkrclvROqoTHmNXrveBL4mrFP2uoeqJefhTiVHt9uVgnpsOZ6y7Bj1j
	Vw4vqawSFqTS3YRo1vDuWYme2sxsZYE=
X-MC-Unique: 3NOWCOmaOmGIkhmqnvmFFA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LixRwQuXdwPKbnR79oHfitpLqyhT8VFam4cnynmA+KEklZPTS/hS4OjfObvX/nGba9OT89gR/zIxv0qGaSatMh84/y2OJbbfSj/k/BAtVOqITI+MHics1ucaIrm/zsTeWdVHlGkh9jvEd5W5bhx62sio9ZcujXD3CVv9i55mnKuT09kER9wosslKay7Ykfs2aS0s8GCj0soDOkMErnYTxFOrIZogUYb8MDBA+ZNdsG/XgfOnShZLFeyHa2xa5AtQl1n2ESg1vwkenPprFArp+GtkMFc2s6I46A/5Q6NOj1NL6TzOQKGYaa+gj8wXNST7Il+yrTNQy7dukkrSS2uYMQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jc5UOJNVYigHrspVHTFQjALjNXWNmEuCuqHYBt8M8Ik=;
 b=Sul0AixpDfmrv5uiCbULLIkuRCduVj7Ykl/EPjQWzS0EnfYKQoxCALW6zEo9y6euWsunaCANw2J0D6nckwhgLKNMLdKfNCyfvWRCGXp491Tb9mA9fpzMl0HINVRCuRwGsBgvotk1K5Jn361u+qXS+BzZaInZkKtaHNiLR+/AApYTNnRxKZKMIwAydZGwSitxYoBAZ7tRM+jqzKbqUip3Q5Q6ZSyfHEU+1mqkncbJ5zgbdziGYIC868dEf/dJ7i7tuvbpPcB/c3vMM6FYhe25bWqQmtj9ZIV18Ld84UqpLKD7AB+vFUaZ8mbXW+hSbHbOiXnyg4A7Ro72Vr063HMo3w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: Re: [PATCH] x86/pv: Provide more helpful error when CONFIG_PV32 is
 absent
To: Jane Malalane <jane.malalane@citrix.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>
References: <20210812114857.20971-1-jane.malalane@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <251d2de3-5bad-9765-0b30-b8f0c7a9c689@suse.com>
Date: Thu, 12 Aug 2021 14:22:30 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210812114857.20971-1-jane.malalane@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM0PR02CA0139.eurprd02.prod.outlook.com
 (2603:10a6:20b:28d::6) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a1a0f5c6-0ebe-48fd-1059-08d95d8bdbd4
X-MS-TrafficTypeDiagnostic: VI1PR04MB5328:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB5328D4415F11D378041AD668B3F99@VI1PR04MB5328.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	iPdA1StTYKhC/pu+DGKH8nvIDwoFhlxesUEECqIhtfH1nxPP9CAHxuRggsi6aHzrG5vliLtOVeU0JoWeZU17r0GurIG7HzcQ+qX+1mfiKSY/eOojW8k8FPjLqbmS4dZZ8QJlgZY3eiem/shBuMjC/4mvUvDBn2MPH8JYw89+YhqfAholGx/+HTgb5w8QanoH/qpXSi9bkWyhMSLLkDGmJg8VJ63V3aIug2uZnHZeNYFwkihlj1lnB5g/toc0Mykh9pME/exzG58VdsYaeoYaupCWD2ZfRdPYrDL7a8Apcuvl8BXM8qnCQbtIJBEhkvwGNOEGWJdwCiYQwUCLUW1Obu5uoCb17OVNNX3YMTP4PfccplN05M4wLgyjWXTJW7TZLJ56+PDJFtWQ9HNVKy3zHzzFs/cLEDHaPjtLaCsAm9ySd64iE8RH1gEDW9Yf643EHPILbNiKZgaLJZYjAzujX8YZovDjcusPZNvHN9s5x6DL2Pn2PzBEZdL4CYVhfQ931OZePKbzUWrJSnxgVT63K85+efZFpvacOOzd4ArCv8cXkdS0/mcm6DEw74TtfDqBUsMKGpZPyr1IvhxZq5lne8UqRhKCZhm09FcNrMxo9V6PEpXLuc7YjgCTdfjK4u9F3rqih47/+ukycYi9bQqZuDXVE9I3ixQ1cOQf5ai612tvhNsU2a4bbPWCxirKCVR8P+YTQySbejuwgOmpEBgO/+oyXvAb4lXczsHn1RDy0vI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(346002)(136003)(39860400002)(376002)(366004)(4326008)(186003)(26005)(5660300002)(8676002)(66946007)(66556008)(956004)(2616005)(6916009)(316002)(8936002)(53546011)(16576012)(2906002)(83380400001)(31686004)(66476007)(6486002)(478600001)(36756003)(86362001)(54906003)(31696002)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?qN3xFXnGy0j3E2uSPKYyAfS4CSjE2vXoy/EEE9OKySqzAALjEp1zfGoCccf/?=
 =?us-ascii?Q?S5q4VildMKDUaTYsy4l3hFpV0r2yOtDSofvFeVZh0fohRjKlH3w8ULfQSMHf?=
 =?us-ascii?Q?Aa/A8m/zT9Gaz90XmPb8LTji+Kpeo7qFO3dvhmGL3Os14mPyFKS6QHiYtLB8?=
 =?us-ascii?Q?/O5yNY5/lmprs8FRwm31t4wefkAwGbKD6aPOCnNHg2N0wuaS7oOgyWBuS+TO?=
 =?us-ascii?Q?YWaohtVpLsScJZoWqe3U7FFFA2oWFQhAO1fWPVb4WUULsQw5BEI/Chm4MEZ7?=
 =?us-ascii?Q?wirrNDTh3Fv5Y/Lx56TkPTX4iwnNWH11DLtHHkF8U5wL5Jk0ROp2HaXfWLG7?=
 =?us-ascii?Q?WjDv/zRpNT9dqHuqYTb/lKnxNrv0BxWfd8PvLQVwcMDkri/0m7X0aN37+zgq?=
 =?us-ascii?Q?H4DvylzVzGhWIOy/DDhwSZTGg9eUQzbIZx64Cmp3lNUJKpBP3apCxrRzI57J?=
 =?us-ascii?Q?cOGWOPB19QBpunFp6PfC1wh+VxDBQl3rb5PgNqUT1VZzzr/31MJNyeG31cxO?=
 =?us-ascii?Q?t5QgTvS0ctZGYAy1I+7dwe2m85oD66zjs6IAi7thSCk/b7vH01W+tsxki2cE?=
 =?us-ascii?Q?bt5ZS5epBtFlFHiw+PTOAIcxj+CvMhPTW6ba1gZbCjylH8Lq6TblLWsk/HMs?=
 =?us-ascii?Q?Ui0ieiFUAJLw22N38kMWChf7eLEUQnWkD/ENtYy5IWXK/v07jxbeF8KmjJIL?=
 =?us-ascii?Q?67Q4+5pFcE9S3W1gGjpM73vBxorp7WcMLJUbUy75I4f+WQP2DeE1+Wissvcy?=
 =?us-ascii?Q?fCsLJqW60v0W19ysKtTUY5+uZDpV7qP118gZg4s2z5StaQFAm5pcqmcP5jEb?=
 =?us-ascii?Q?lTAhFKlXKTelBca8gnzRLmDsFlB1eTxI5U0sHw2W79O5ktTl7DohWr9AY9vq?=
 =?us-ascii?Q?rblMPRrkn/R7xtKxJBEgmndQd6IyQt9+TFuiJVjJ+CZ85yMV2cbqnfDPFZNW?=
 =?us-ascii?Q?JheNVHogd9fVlzg7218XtIK6Vh/zbp2gweqSAOGPiO+KslDUjB2pxHmein5q?=
 =?us-ascii?Q?V22bnEzkRJ6tv1O++k3CcL5L7NEHtTKVcG/gKbSeFLMQCUyGpqsyHBdvgzrO?=
 =?us-ascii?Q?PQI6ue8zpgVu7G6r+xqXg7DuWwylRIv5bIROUuwaU7bnwu7EkxU7N5S8qtLN?=
 =?us-ascii?Q?BTjc1O0m3P0KKBbBHQCWCo9G+cEfq3rnig9bNtxjt/HLP4bttgLI1oao5slE?=
 =?us-ascii?Q?ddAisfdVzobYP6j3a6bwtD/lNZS3x3aIagAWLEnQEl9RutF0p2X7LKVmz98M?=
 =?us-ascii?Q?V2e+ZUOZeE+khd5Bkhkxq/ZlxvKvZvrerhJDAd5dYyJ8Kp5DketyJ7TqBx5+?=
 =?us-ascii?Q?SG96klNJ4tIJ3PEQdJbR/2ef?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a1a0f5c6-0ebe-48fd-1059-08d95d8bdbd4
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2021 12:22:32.0250
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 2J25cgwW7U2JJu7M0Zz84Ux6/drz0gkqynbl4yNTW+Qcmw8SVR8BzywYQcPJnwWIx98uxWbh6y98E2yyX46+dQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5328

On 12.08.2021 13:48, Jane Malalane wrote:
> Currently, when booting a 32bit dom0 kernel, the message isn't very
> helpful:
>=20
>   (XEN)  Xen  kernel: 64-bit, lsb
>   (XEN)  Dom0 kernel: 32-bit, PAE, lsb, paddr 0x100000 -> 0x112000
>   (XEN) Mismatch between Xen and DOM0 kernel
>   (XEN)
>   (XEN) ****************************************
>   (XEN) Panic on CPU 0:
>   (XEN) Could not construct domain 0
>   (XEN) ****************************************
>=20
> With this adjustment, it now looks like this:
>=20
>   (XEN)  Xen  kernel: 64-bit, lsb
>   (XEN) Found 32-bit PV kernel, but CONFIG_PV32 missing
>   (XEN)
>   (XEN) ****************************************
>   (XEN) Panic on CPU 0:
>   (XEN) Could not construct domain 0
>   (XEN) ****************************************
>=20
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Jane Malalane <jane.malalane@citrix.com>
> ---
> CC: Jan Beulich <jbeulich@suse.com>
> CC: Andrew Cooper <andrew.cooper3@citrix.com>
> CC: "Roger Pau Monn=C3=A9" <roger.pau@citrix.com>
> CC: Wei Liu <wl@xen.org>
> ---
>  xen/arch/x86/pv/dom0_build.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
>=20
> diff --git a/xen/arch/x86/pv/dom0_build.c b/xen/arch/x86/pv/dom0_build.c
> index af47615b22..80e6c6e35b 100644
> --- a/xen/arch/x86/pv/dom0_build.c
> +++ b/xen/arch/x86/pv/dom0_build.c
> @@ -362,9 +362,9 @@ int __init dom0_construct_pv(struct domain *d,
>      compatible =3D false;
>      machine =3D elf_uval(&elf, elf.ehdr, e_machine);
> =20
> -#ifdef CONFIG_PV32
>      if ( elf_32bit(&elf) )
>      {
> +#ifdef CONFIG_PV32
>          if ( parms.pae =3D=3D XEN_PAE_BIMODAL )
>              parms.pae =3D XEN_PAE_EXTCR3;
>          if ( parms.pae && machine =3D=3D EM_386 )
> @@ -377,8 +377,12 @@ int __init dom0_construct_pv(struct domain *d,
> =20
>              compatible =3D true;
>          }
> -    }
> +#else
> +        printk("Found 32-bit PV kernel, but CONFIG_PV32 missing\n");
> +        rc =3D -ENODEV;
> +        goto out;

I don't see the "goto" as warranted here, not the least because the
code fragment right above the "#else" you add also uses plain "return".
With just "return -ENODEV;" (or maybe better "return -EOPNOTSUPP;")
Reviewed-by: Jan Beulich <jbeulich@suse.com>

In fact I think most "goto out;" are unwarranted in this function.
The only two places that want elf_check_broken() to be invoked are
after elf_xen_parse() and after elf_load_binary(). You'd be welcome
to add a 2nd patch to clean this up.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 12 12:27:06 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 12:27:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166302.303667 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mE9nc-0004ok-0c; Thu, 12 Aug 2021 12:27:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166302.303667; Thu, 12 Aug 2021 12:27:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mE9nb-0004od-Tk; Thu, 12 Aug 2021 12:27:03 +0000
Received: by outflank-mailman (input) for mailman id 166302;
 Thu, 12 Aug 2021 12:27:02 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=T2cV=ND=lst.de=hch@srs-us1.protection.inumbo.net>)
 id 1mE9na-0004oX-Cl
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 12:27:02 +0000
Received: from verein.lst.de (unknown [213.95.11.211])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 97a886e2-fb68-11eb-a17e-12813bfff9fa;
 Thu, 12 Aug 2021 12:27:01 +0000 (UTC)
Received: by verein.lst.de (Postfix, from userid 2407)
 id 97D3B68B05; Thu, 12 Aug 2021 14:26: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: 97a886e2-fb68-11eb-a17e-12813bfff9fa
Date: Thu, 12 Aug 2021 14:26:57 +0200
From: Christoph Hellwig <hch@lst.de>
To: Tianyu Lan <ltykernel@gmail.com>
Cc: kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com,
	wei.liu@kernel.org, decui@microsoft.com, tglx@linutronix.de,
	mingo@redhat.com, bp@alien8.de, x86@kernel.org, hpa@zytor.com,
	dave.hansen@linux.intel.com, luto@kernel.org, peterz@infradead.org,
	konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, jgross@suse.com,
	sstabellini@kernel.org, joro@8bytes.org, will@kernel.org,
	davem@davemloft.net, kuba@kernel.org, jejb@linux.ibm.com,
	martin.petersen@oracle.com, arnd@arndb.de, hch@lst.de,
	m.szyprowski@samsung.com, robin.murphy@arm.com,
	thomas.lendacky@amd.com, brijesh.singh@amd.com, ardb@kernel.org,
	Tianyu.Lan@microsoft.com, pgonda@google.com,
	martin.b.radev@gmail.com, akpm@linux-foundation.org,
	kirill.shutemov@linux.intel.com, rppt@kernel.org,
	sfr@canb.auug.org.au, saravanand@fb.com, krish.sadhukhan@oracle.com,
	aneesh.kumar@linux.ibm.com, xen-devel@lists.xenproject.org,
	rientjes@google.com, hannes@cmpxchg.org, tj@kernel.org,
	michael.h.kelley@microsoft.com, iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org, linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org, vkuznets@redhat.com, parri.andrea@gmail.com,
	dave.hansen@intel.com
Subject: Re: [PATCH V3 09/13] DMA: Add
 dma_map_decrypted/dma_unmap_encrypted() function
Message-ID: <20210812122657.GB19050@lst.de>
References: <20210809175620.720923-1-ltykernel@gmail.com> <20210809175620.720923-10-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20210809175620.720923-10-ltykernel@gmail.com>
User-Agent: Mutt/1.5.17 (2007-11-01)

On Mon, Aug 09, 2021 at 01:56:13PM -0400, Tianyu Lan wrote:
> From: Tianyu Lan <Tianyu.Lan@microsoft.com>
> 
> In Hyper-V Isolation VM with AMD SEV, swiotlb boucne buffer
> needs to be mapped into address space above vTOM and so
> introduce dma_map_decrypted/dma_unmap_encrypted() to map/unmap
> bounce buffer memory. The platform can populate man/unmap callback
> in the dma memory decrypted ops.

Nothing here looks actually DMA related, and the names are horribly
confusing vs the actual dma_map_* calls.


From xen-devel-bounces@lists.xenproject.org Thu Aug 12 12:27:48 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 12:27:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166307.303678 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mE9oH-0005Np-AM; Thu, 12 Aug 2021 12:27:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166307.303678; Thu, 12 Aug 2021 12:27:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mE9oH-0005Ni-7I; Thu, 12 Aug 2021 12:27:45 +0000
Received: by outflank-mailman (input) for mailman id 166307;
 Thu, 12 Aug 2021 12:27:43 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=T2cV=ND=lst.de=hch@srs-us1.protection.inumbo.net>)
 id 1mE9oF-0005Nc-T4
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 12:27:43 +0000
Received: from verein.lst.de (unknown [213.95.11.211])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id b0e5bdaa-fb68-11eb-a17e-12813bfff9fa;
 Thu, 12 Aug 2021 12:27:43 +0000 (UTC)
Received: by verein.lst.de (Postfix, from userid 2407)
 id 9A64768B05; Thu, 12 Aug 2021 14:27: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: b0e5bdaa-fb68-11eb-a17e-12813bfff9fa
Date: Thu, 12 Aug 2021 14:27:41 +0200
From: Christoph Hellwig <hch@lst.de>
To: Tianyu Lan <ltykernel@gmail.com>
Cc: kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com,
	wei.liu@kernel.org, decui@microsoft.com, tglx@linutronix.de,
	mingo@redhat.com, bp@alien8.de, x86@kernel.org, hpa@zytor.com,
	dave.hansen@linux.intel.com, luto@kernel.org, peterz@infradead.org,
	konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, jgross@suse.com,
	sstabellini@kernel.org, joro@8bytes.org, will@kernel.org,
	davem@davemloft.net, kuba@kernel.org, jejb@linux.ibm.com,
	martin.petersen@oracle.com, arnd@arndb.de, hch@lst.de,
	m.szyprowski@samsung.com, robin.murphy@arm.com,
	thomas.lendacky@amd.com, brijesh.singh@amd.com, ardb@kernel.org,
	Tianyu.Lan@microsoft.com, pgonda@google.com,
	martin.b.radev@gmail.com, akpm@linux-foundation.org,
	kirill.shutemov@linux.intel.com, rppt@kernel.org,
	sfr@canb.auug.org.au, saravanand@fb.com, krish.sadhukhan@oracle.com,
	aneesh.kumar@linux.ibm.com, xen-devel@lists.xenproject.org,
	rientjes@google.com, hannes@cmpxchg.org, tj@kernel.org,
	michael.h.kelley@microsoft.com, iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org, linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org, vkuznets@redhat.com, parri.andrea@gmail.com,
	dave.hansen@intel.com
Subject: Re: [PATCH V3 10/13] x86/Swiotlb: Add Swiotlb bounce buffer remap
 function for HV IVM
Message-ID: <20210812122741.GC19050@lst.de>
References: <20210809175620.720923-1-ltykernel@gmail.com> <20210809175620.720923-11-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20210809175620.720923-11-ltykernel@gmail.com>
User-Agent: Mutt/1.5.17 (2007-11-01)

This is still broken.  You need to make sure the actual DMA allocations
do have struct page backing.


From xen-devel-bounces@lists.xenproject.org Thu Aug 12 13:10:32 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 13:10:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166437.303756 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEATa-0002u9-Ft; Thu, 12 Aug 2021 13:10:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166437.303756; Thu, 12 Aug 2021 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 1mEATa-0002u2-Cw; Thu, 12 Aug 2021 13:10:26 +0000
Received: by outflank-mailman (input) for mailman id 166437;
 Thu, 12 Aug 2021 13:10:24 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=s3DI=ND=amazon.de=prvs=85146eb54=mheyne@srs-us1.protection.inumbo.net>)
 id 1mEATY-0002tu-CM
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 13:10:24 +0000
Received: from smtp-fw-6001.amazon.com (unknown [52.95.48.154])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id b997d692-70ae-4df6-8504-bb17473f7e00;
 Thu, 12 Aug 2021 13:10:23 +0000 (UTC)
Received: from iad12-co-svc-p1-lb1-vlan3.amazon.com (HELO
 email-inbound-relay-2c-397e131e.us-west-2.amazon.com) ([10.43.8.6])
 by smtp-border-fw-6001.iad6.amazon.com with ESMTP; 12 Aug 2021 13:10:15 +0000
Received: from EX13D08EUC001.ant.amazon.com
 (pdx1-ws-svc-p6-lb9-vlan3.pdx.amazon.com [10.236.137.198])
 by email-inbound-relay-2c-397e131e.us-west-2.amazon.com (Postfix) with ESMTPS
 id 00A58A3AE5; Thu, 12 Aug 2021 13:10:13 +0000 (UTC)
Received: from EX13MTAUEE002.ant.amazon.com (10.43.62.24) by
 EX13D08EUC001.ant.amazon.com (10.43.164.184) with Microsoft SMTP Server (TLS)
 id 15.0.1497.23; Thu, 12 Aug 2021 13:10:12 +0000
Received: from dev-dsk-mheyne-1b-c1524648.eu-west-1.amazon.com (10.15.60.66)
 by mail-relay.amazon.com (10.43.62.224) with Microsoft SMTP Server id
 15.0.1497.23 via Frontend Transport; Thu, 12 Aug 2021 13:10:11 +0000
Received: by dev-dsk-mheyne-1b-c1524648.eu-west-1.amazon.com (Postfix,
 from userid 5466572)
 id D8E744100E; Thu, 12 Aug 2021 13:10: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
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b997d692-70ae-4df6-8504-bb17473f7e00
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
  d=amazon.de; i=@amazon.de; q=dns/txt; s=amazon201209;
  t=1628773823; x=1660309823;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=zr1ZMwzvRcUxU3ViT69L/5vEXJCAOHMhOQBirbMXXDs=;
  b=KRKO4RSH3NqXbuIs0pFPDDlZ6scuHCVfy0cgIfB6+FkDhP388n4fyOx/
   W2D3IsUkYSrUnxx4kldgVs+P/stKm7UUefOthEX93szpDZVsoLkswUbsM
   D9wMS6ZkeR5ASce1XyZLukgEYZ2cQ6HAhnRjnt2qflq8bLgL//DymgN6j
   k=;
X-IronPort-AV: E=Sophos;i="5.84,315,1620691200"; 
   d="scan'208";a="133462453"
From: Maximilian Heyne <mheyne@amazon.de>
To: 
CC: Amit Shah <aams@amazon.de>, Maximilian Heyne <mheyne@amazon.de>, Boris
 Ostrovsky <boris.ostrovsky@oracle.com>, Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wei.liu@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>, Jan Beulich <jbeulich@suse.com>,
	Malcolm Crossley <malcolm.crossley@citrix.com>, David Vrabel
	<david.vrabel@citrix.com>, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	<xen-devel@lists.xenproject.org>, <linux-kernel@vger.kernel.org>
Subject: [PATCH v2] xen/events: Fix race in set_evtchn_to_irq
Date: Thu, 12 Aug 2021 13:09:27 +0000
Message-ID: <20210812130930.127134-1-mheyne@amazon.de>
X-Mailer: git-send-email 2.32.0
MIME-Version: 1.0
Precedence: Bulk
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit

There is a TOCTOU issue in set_evtchn_to_irq. Rows in the evtchn_to_irq
mapping are lazily allocated in this function. The check whether the row
is already present and the row initialization is not synchronized. Two
threads can at the same time allocate a new row for evtchn_to_irq and
add the irq mapping to the their newly allocated row. One thread will
overwrite what the other has set for evtchn_to_irq[row] and therefore
the irq mapping is lost. This will trigger a BUG_ON later in
bind_evtchn_to_cpu:

  INFO: pci 0000:1a:15.4: [1d0f:8061] type 00 class 0x010802
  INFO: nvme 0000:1a:12.1: enabling device (0000 -> 0002)
  INFO: nvme nvme77: 1/0/0 default/read/poll queues
  CRIT: kernel BUG at drivers/xen/events/events_base.c:427!
  WARN: invalid opcode: 0000 [#1] SMP NOPTI
  WARN: Workqueue: nvme-reset-wq nvme_reset_work [nvme]
  WARN: RIP: e030:bind_evtchn_to_cpu+0xc2/0xd0
  WARN: Call Trace:
  WARN:  set_affinity_irq+0x121/0x150
  WARN:  irq_do_set_affinity+0x37/0xe0
  WARN:  irq_setup_affinity+0xf6/0x170
  WARN:  irq_startup+0x64/0xe0
  WARN:  __setup_irq+0x69e/0x740
  WARN:  ? request_threaded_irq+0xad/0x160
  WARN:  request_threaded_irq+0xf5/0x160
  WARN:  ? nvme_timeout+0x2f0/0x2f0 [nvme]
  WARN:  pci_request_irq+0xa9/0xf0
  WARN:  ? pci_alloc_irq_vectors_affinity+0xbb/0x130
  WARN:  queue_request_irq+0x4c/0x70 [nvme]
  WARN:  nvme_reset_work+0x82d/0x1550 [nvme]
  WARN:  ? check_preempt_wakeup+0x14f/0x230
  WARN:  ? check_preempt_curr+0x29/0x80
  WARN:  ? nvme_irq_check+0x30/0x30 [nvme]
  WARN:  process_one_work+0x18e/0x3c0
  WARN:  worker_thread+0x30/0x3a0
  WARN:  ? process_one_work+0x3c0/0x3c0
  WARN:  kthread+0x113/0x130
  WARN:  ? kthread_park+0x90/0x90
  WARN:  ret_from_fork+0x3a/0x50

This patch sets evtchn_to_irq rows via a cmpxchg operation so that they
will be set only once. The row is now cleared before writing it to
evtchn_to_irq in order to not create a race once the row is visible for
other threads.

While at it, do not require the page to be zeroed, because it will be
overwritten with -1's in clear_evtchn_to_irq_row anyway.

Signed-off-by: Maximilian Heyne <mheyne@amazon.de>
Fixes: d0b075ffeede ("xen/events: Refactor evtchn_to_irq array to be dynamically allocated")
---
 drivers/xen/events/events_base.c | 20 ++++++++++++++------
 1 file changed, 14 insertions(+), 6 deletions(-)

diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/events_base.c
index d7e361fb0548..0e44098f3977 100644
--- a/drivers/xen/events/events_base.c
+++ b/drivers/xen/events/events_base.c
@@ -198,12 +198,12 @@ static void disable_dynirq(struct irq_data *data);
 
 static DEFINE_PER_CPU(unsigned int, irq_epoch);
 
-static void clear_evtchn_to_irq_row(unsigned row)
+static void clear_evtchn_to_irq_row(int *evtchn_row)
 {
 	unsigned col;
 
 	for (col = 0; col < EVTCHN_PER_ROW; col++)
-		WRITE_ONCE(evtchn_to_irq[row][col], -1);
+		WRITE_ONCE(evtchn_row[col], -1);
 }
 
 static void clear_evtchn_to_irq_all(void)
@@ -213,7 +213,7 @@ static void clear_evtchn_to_irq_all(void)
 	for (row = 0; row < EVTCHN_ROW(xen_evtchn_max_channels()); row++) {
 		if (evtchn_to_irq[row] == NULL)
 			continue;
-		clear_evtchn_to_irq_row(row);
+		clear_evtchn_to_irq_row(evtchn_to_irq[row]);
 	}
 }
 
@@ -221,6 +221,7 @@ static int set_evtchn_to_irq(evtchn_port_t evtchn, unsigned int irq)
 {
 	unsigned row;
 	unsigned col;
+	int *evtchn_row;
 
 	if (evtchn >= xen_evtchn_max_channels())
 		return -EINVAL;
@@ -233,11 +234,18 @@ static int set_evtchn_to_irq(evtchn_port_t evtchn, unsigned int irq)
 		if (irq == -1)
 			return 0;
 
-		evtchn_to_irq[row] = (int *)get_zeroed_page(GFP_KERNEL);
-		if (evtchn_to_irq[row] == NULL)
+		evtchn_row = (int *) __get_free_pages(GFP_KERNEL, 0);
+		if (evtchn_row == NULL)
 			return -ENOMEM;
 
-		clear_evtchn_to_irq_row(row);
+		clear_evtchn_to_irq_row(evtchn_row);
+
+		/*
+		 * We've prepared an empty row for the mapping. If a different
+		 * thread was faster inserting it, we can drop ours.
+		 */
+		if (cmpxchg(&evtchn_to_irq[row], NULL, evtchn_row) != NULL)
+			free_page((unsigned long) evtchn_row);
 	}
 
 	WRITE_ONCE(evtchn_to_irq[row][col], irq);
-- 
2.32.0




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





From xen-devel-bounces@lists.xenproject.org Thu Aug 12 13:51:39 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 13:51:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166446.303766 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEB7D-0006r6-Mw; Thu, 12 Aug 2021 13:51:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166446.303766; Thu, 12 Aug 2021 13:51:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEB7D-0006qz-Jv; Thu, 12 Aug 2021 13:51:23 +0000
Received: by outflank-mailman (input) for mailman id 166446;
 Thu, 12 Aug 2021 13:51:23 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rsMc=ND=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mEB7C-0006qt-Qf
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 13:51:22 +0000
Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 5f8b263c-fb74-11eb-a1a2-12813bfff9fa;
 Thu, 12 Aug 2021 13:51:20 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5f8b263c-fb74-11eb-a1a2-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1628776280;
  h=from:to:cc:subject:date:message-id:mime-version;
  bh=qQyMiQ6Z7hc4qdDW3IMyVg3qE3ezglmAlkD1tFRvu08=;
  b=dqiFeNGXdamdYCms0qTsa4kLDDSe2DfFLdsGXTDS7VMVW7584mBs2kgd
   X8LCqmRhS8MUrhOxP7UVGRjSYXb+WnAicd3NKiEHFN5FX74/xJUroO4yR
   bM1QH1nleMYJ5UOjJoVzwD1nNjd78nb/c5nKz13A01dHCJNmCq5R450QQ
   Q=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: eCGN0yTLj4vvhHfT8cxWWjhmOKS3/Sy43l2jS6/OJ1umkP3kmwKjHYvCnz0d7Bvm120m+PEvM3
 wGkqQwVsmYOhIjJnTSuLDQJbo1jUTSp7I6pcrJIkm1uRXGVYQar8fhq/lYTrX3sc/6NcmUlsR7
 X5M7DeQvEwxgwl5vQ5XvqI71cGRGAiRibpOlL0heGSr8ok+3n5ut4JjvBYlRGDOg+eQovmDiOI
 yZxXObl2LyDRfn62w4BLnIuimIbMIknNJwN0TeSghkLOvKQ7SiETwhzvUtzjrtAk5JJz+RHB8G
 QuaEX11SThIPNKnVcgqaGLFm
X-SBRS: 5.1
X-MesageID: 50692826
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:jqoy4aoq2cehwgS6gT7LNDEaV5rReYIsimQD101hICG9Evb0qy
 lhppQmPH7P+VIssRQb8+xoV5PufZqxz/BICOoqTNKftWvdyQiVxehZhOOP/9SJIUbDH4VmpM
 VdmsZFaeEZDTJB/LvHCAvTKadd/DFQmprY+ts3zB1WPH9Xg7kL1XYfNu4CeHcGPzWvA/ACZf
 yhz/sCnRWMU1INYP+2A3EUNtKz3eEixPrdEGc77wdM0nj3sQ+V
X-IronPort-AV: E=Sophos;i="5.84,316,1620705600"; 
   d="scan'208";a="50692826"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<George.Dunlap@eu.citrix.com>, Ian Jackson <iwj@xenproject.org>, Jan Beulich
	<JBeulich@suse.com>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>, Julien Grall <julien@xen.org>
Subject: [PATCH] MAINTAINERS: Fix file path for kexec headers
Date: Thu, 12 Aug 2021 14:51:01 +0100
Message-ID: <20210812135101.27618-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
MIME-Version: 1.0
Content-Type: text/plain

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: George Dunlap <George.Dunlap@eu.citrix.com>
CC: Ian Jackson <iwj@xenproject.org>
CC: Jan Beulich <JBeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Wei Liu <wl@xen.org>
CC: Julien Grall <julien@xen.org>
---
 MAINTAINERS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 56d16e4328cf..9be4ad653af8 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -370,7 +370,7 @@ KEXEC
 M:	Andrew Cooper <andrew.cooper3@citrix.com>
 S:	Supported
 F:	xen/common/{kexec,kimage}.c
-F:	xen/include/{kexec,kimage}.h
+F:	xen/include/xen/{kexec,kimage}.h
 F:	xen/arch/x86/machine_kexec.c
 F:	xen/arch/x86/x86_64/kexec_reloc.S
 
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 12 13:54:25 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 13:54:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166451.303778 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEBA8-0007U0-5n; Thu, 12 Aug 2021 13:54:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166451.303778; Thu, 12 Aug 2021 13:54:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEBA8-0007Tt-2c; Thu, 12 Aug 2021 13:54:24 +0000
Received: by outflank-mailman (input) for mailman id 166451;
 Thu, 12 Aug 2021 13:54:23 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=QHFb=ND=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mEBA6-0007Tl-VB
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 13:54:22 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id cb446578-fb74-11eb-a1a2-12813bfff9fa;
 Thu, 12 Aug 2021 13:54:21 +0000 (UTC)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2108.outbound.protection.outlook.com [104.47.17.108])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-32-geaR24mdP46VIUqfM5wToA-1; Thu, 12 Aug 2021 15:54:19 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB7150.eurprd04.prod.outlook.com (2603:10a6:800:12a::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16; Thu, 12 Aug
 2021 13:54:17 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.017; Thu, 12 Aug 2021
 13:54:17 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FR0P281CA0001.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:15::6) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.9 via Frontend Transport; Thu, 12 Aug 2021 13:54: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: cb446578-fb74-11eb-a1a2-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628776460;
	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=BKiZY5axLlrvrW0I1NV7wtB/gErHq0jms8DzQDCP2G0=;
	b=Y6zDkexJRHL5nVJEI4KKHDbLuV10Fy5DlKzzSEAqLLuwyhr+TgD0E1NdxdhcKSg1de2R/1
	5F3YFinEc84BLYLKPYQCie1c0x46w6aTynCC3jFPGOoH7gBuoWtCKVQYSEd4Ci0glDTN0c
	2jeoA/H2yKZy4GHUhnSfIJTD7jMwb8A=
X-MC-Unique: geaR24mdP46VIUqfM5wToA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VejGDy/zktZilq3hqq45q7pZuYxCJFIqsTi0aTPgT2YXI+A/Ee4bQOUOibUHCXIjODxiYYZiS9zXlviqluQU5TDXiMNWz7JOKw/I4bAP5+UrgAo903AXJj8tGBt8xYOnOkgmVapjCnO/+R+VsYgio56hYvyCpnbNzkQ5UXYa/+OmZXzMSywz+4AdMougpPBaezuiG0b1FNU3fVzZf+EOsad/PAWKBiYmxa4SqbJ8iWMtIqsJ6ACnXBRLYrsZA5TBrNEH6zp07PIlXDuUqJIsT53YDuZap2rMuSvpe/nRxar8bdnewHgJgGt0MlVrs5cD7fvw53xBd0B79tuvaODR0g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BKiZY5axLlrvrW0I1NV7wtB/gErHq0jms8DzQDCP2G0=;
 b=HilhyLB+jj4diHZ7S8nRGfdLIj5LzUTF851uX9UZ1GU5MapC01LfKGvfjmi935ESenIZp3VmP8XUJqLJgyzms79V2czrnbhmw9qR8RbjCHogjvpH1jhQ2lsfaEUYASg0Ko1XSvVEWEYbySN1s1sWhXDOXt2QRE8zLGgTT1bwZgM4n4DII5nGE9ThRw1s90cukhXVJSC7ZnF7i6KzRQCHCJ8LcdwBMJwKqhxlT3EdsbUwJr87DEuRzr5ANxyHLYHL7U+Ui4Bg6tjLWxFZbLIYhX3TI5K3F8pe/C3u+225ZxnNn6M1ZBOgOlEs4gMX59A+uhbads9++IBT+zAy41gUrg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH] MAINTAINERS: Fix file path for kexec headers
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
 Ian Jackson <iwj@xenproject.org>, Stefano Stabellini
 <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Julien Grall
 <julien@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20210812135101.27618-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <4508a1c5-06c8-e789-e357-631f1fc28747@suse.com>
Date: Thu, 12 Aug 2021 15:54:16 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210812135101.27618-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0001.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::6) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5bf80d17-402a-4d61-bc2f-08d95d98ad5c
X-MS-TrafficTypeDiagnostic: VI1PR04MB7150:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB715036892606EDB2EA733D34B3F99@VI1PR04MB7150.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:400;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dmQLOM2iyG4S1dNCXwviVQkKxZvNrH3QV1BqHNCExVW6HN5BLKDWwDgwo8M5hPJBCBlcIgLGofR2eKSWmIK/lGLo5p6vgzPR5CJqnIiYbNlbw2o5NumaIPvkdt30TQhqu2wXBNN4sawA3o7owzfAN9cNTNlYI+uR3/I6aSuG+XDptDT0E9M4k8zrStYl6fCCnuy/V0s0y+zXC5HrANJ4PC3nfpzKmDVQmeaEtKhbMLEU+CbsvRaK1jbbiS5zAVb7TfMBelOcjJhAPghVO10i4vHomXCCS2K7ng2uhukr40WK9tNDSVocl0k25IYNpmfcbIzGMYFcKTcXe0vCt7GS4Hx5U4BpEWYFXxbzvgKdZlGX0/zKuiVS3z3ABD4BbraGTOV8NAv9PCZY3QEuMqv7F8+kmYMRU8QaYlyKSFDcPKl2ZeLEQjcP/L9ENzTQnPKtVse8yrBCruRNsqoMYZ3W9IfDETWh8yo/kN1oSze3hc6e16M+fpEVueZq2j3CHhyAlGSAlJiJxMl9Uo4GijsvgpkbR4bHdb9bAsf2GGtLXlJ9Ts8id2CCjXEgwirfQ21fpc3Hsbi2RxUTAZHkXpmjcgkJY3sGyJsMPD/0E9TyicF0MC//Int3agJAZvfrwyXbn53KkkLdPQoIoCKq+qr1qCNEL88pcXbXynwpnDfpD/8fVfbK4lEBjPVJxNv0qT1ePzsPAUSSZ1bzdbsfcDhWfxDms6V1V6kXPV5kJXWmrtM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(39850400004)(366004)(136003)(376002)(396003)(4326008)(6916009)(36756003)(5660300002)(558084003)(2906002)(186003)(54906003)(66946007)(31696002)(8676002)(26005)(31686004)(956004)(6486002)(66476007)(316002)(2616005)(66556008)(53546011)(478600001)(8936002)(38100700002)(16576012)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OGZNYk1Tby9yMzY0ZmVKTjdiMytycldPN00wa1Z5NWhyZFZXbEpGTlFsaGxJ?=
 =?utf-8?B?SVBoQjNBVVJlVk9PNy9NVGVWdCtLNUo5Q2NyWS9nMjVYTHJ5dTl1blh6ZkMr?=
 =?utf-8?B?NWZuMkV6bVM0VENqdlUxQmhTcGwvb2wxWmJyeVJtZVN1MVk2QU00S1FKOVlh?=
 =?utf-8?B?cU1TU2FEb2w3MVVCOUxXbVA3ZGZvN0ZUbFRPK3AxWjJKQWZQMjIrNEgzVjZ4?=
 =?utf-8?B?aTBRY3czd2NhTVcyR2tsNW84aDRBaTRCaUo5NjNlMGduZVdhWDlja0tXZjQz?=
 =?utf-8?B?ZEx1NlEwYk82dTNxWHRRNGJnK0pyYlpnc2J0dDBRNCtnYWQvTTY0RXB1bHIw?=
 =?utf-8?B?dUx4Q3BKM0JxVGZBY0JPYVVQazJlQnBWbUFxOEY4NjdsQWlOdEw2OXhjWTB3?=
 =?utf-8?B?WjFKOHArQzJzcElYWklaaGd6V1pLaEJDZ1RFdUpPRUplU3BUSkFGNTBtTFc4?=
 =?utf-8?B?eXQ5K0UrM1ZaSGhCNGRTd2FnTng5S1V1aXYvb3Y0elM5MG5KR014czlHbVZ4?=
 =?utf-8?B?dHdaamorMUEya0xlQ28vMzNUVkl4RUt4TVBjcGR5aDFnamU0V3RhWldFcXI1?=
 =?utf-8?B?cno5LzlxSkFDd1pjZ2V2ek5JZW1QWjJuRWNuM3E2b0E4Q0NObitTYlV5RC9D?=
 =?utf-8?B?eHdIa0pwSHViZHF4amxuUTFKWXpLcm5nM3hpSG1TbVY4WHcxcFBFTGRkdEZm?=
 =?utf-8?B?VHhaS1J2dVlhalpxd0lYMUt4R1llTHpTY0k2MlBzSzk4MEhhMjZnWVNrdTJM?=
 =?utf-8?B?MXFUVHZJSnJydG1ESzlqd2h3TEhsZnNWOVpGNTJESFkzR3JVV0NTVXhBYWMr?=
 =?utf-8?B?emtEZm1FRVplZm1KUjk4THprZzkvajM1VDI3blRncS9MWXdRZllCbnF3eFRR?=
 =?utf-8?B?SnpqZFdPQ1BtSXJtM0hMYlZhelNzc1YvS3hKRkNVdkZNeFVVNGY4RWJCMEZV?=
 =?utf-8?B?YzZlQjBBTkR5U3JiSnFOb1lyc1FFb2kza1dMMFNHSytHeTRsTndvekQvN0Za?=
 =?utf-8?B?SEVmQ1hDdU9vWE9oRmVQK1BsUjFPekJtT0RDRjFHNW1yM2NweGlPazdlU2Fv?=
 =?utf-8?B?aGk0eFExdTF1U1dnbFJxOXNKYXlKZDYxbWZLNGc2WVRKZHRaY012KzhpaWlk?=
 =?utf-8?B?YlMyc3MxbHBTbUd0bW44ZGozUW1IaGRobG8zVzlaNUE1eHlZM2lIUk81UXRS?=
 =?utf-8?B?bGFkZXZDT2Z1VGN6NVRIRnJzS0hVUU9kSWI2V3Y3TGRleForVjlxWklkR3Jw?=
 =?utf-8?B?USt0Q1BROUZBZDZPV3RuZ0pGYkpWVFRwWG5UV2NBdU9ZQ1EzYjhJT3B1NTNw?=
 =?utf-8?B?eGEvSUZQVUI3aGRkc3FDWE9xZ1Z0TXd5dmZkRSs1ZmI4MVNkdjNGbGxjd0pD?=
 =?utf-8?B?U2JMYlJzY1pnbkt4b0NTYVg4ZHlXMm9vRnA2Ynd0NFFETllWaFZ0TG11cE9k?=
 =?utf-8?B?NlFGY1JoQlY5K2lncVZtdld3cVZib0Z0NDViajNvY1JIZ25uZ1FDYlNDM2NO?=
 =?utf-8?B?WjdEUERWQnUyUHp0eHRaSVZJbEhiTFBSajFFeERGYnl3Wm92d1d6WFU4ZGxR?=
 =?utf-8?B?b1RUZkRsdjdBeTF2ZXowMVUrazAvRTZvdStkcnBObEZXbHJVczlvazhhK2dI?=
 =?utf-8?B?b1BhckZYWk1sd2JUbk1yKzI5Z1JZVzF1bEZuMUZDR0M4ZktPSEdaNmJwZ2s4?=
 =?utf-8?B?Q2piYnR1c1doa0VxVloyQWFLdmhJSDZzQWZZeHpPWGhXVElmRjkrRmxTVmdS?=
 =?utf-8?Q?Sxzvjd2dQzM+EUFM0hJz9E78ClPCwOrpoY6guFO?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5bf80d17-402a-4d61-bc2f-08d95d98ad5c
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2021 13:54:17.5193
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9gly0ZT+tVAipc9/ZIi3s00Dx7yRpdf1xfq1sv9i3Q0EqAt/Q3PRc3+6zlnHqCS0EfFbtCF5FPABLI4ppF6drQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7150

On 12.08.2021 15:51, Andrew Cooper wrote:
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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



From xen-devel-bounces@lists.xenproject.org Thu Aug 12 14:22:44 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 14:22:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166457.303800 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEBbW-0002hQ-ST; Thu, 12 Aug 2021 14:22:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166457.303800; Thu, 12 Aug 2021 14: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 1mEBbW-0002hJ-PB; Thu, 12 Aug 2021 14:22:42 +0000
Received: by outflank-mailman (input) for mailman id 166457;
 Thu, 12 Aug 2021 14:22:41 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tERp=ND=gmail.com=vicooodin@srs-us1.protection.inumbo.net>)
 id 1mEBbU-0002Q2-Ug
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 14:22:40 +0000
Received: from mail-lf1-x133.google.com (unknown [2a00:1450:4864:20::133])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 04f3e53c-e01f-4b37-950c-1653ded55785;
 Thu, 12 Aug 2021 14:22:36 +0000 (UTC)
Received: by mail-lf1-x133.google.com with SMTP id r9so4320564lfn.3
 for <xen-devel@lists.xenproject.org>; Thu, 12 Aug 2021 07:22:36 -0700 (PDT)
Received: from localhost.localdomain (host-176-36-213-80.b024.la.net.ua.
 [176.36.213.80])
 by smtp.gmail.com with ESMTPSA id s16sm329678ljj.48.2021.08.12.07.22.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 12 Aug 2021 07:22: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: 04f3e53c-e01f-4b37-950c-1653ded55785
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references;
        bh=oJL+jaD3j+tB2hFVXmAv2nPtE4uqfFnnjmMp4UudG8E=;
        b=Ok0YewcvgGM4yeJGorn27Lv/uQbCmYa+oYSKajj4ZrE5uDL9uGeWVcjQljD3XjBDQ+
         sKaUSJX93gXiRpO3QAB5afdUc1IjgkENfwYx5TYrAVDvzeHo3LM2PGbckFyFrpiLMcEr
         fEUTVs09hQjcgdT2UdNdEd5IgEzop3H+qDiBQSH6csiwegggo5sOt/6qKcv0Z54/rWxs
         hGpze9dvH8YwgaM+CGuX5PtVQcwPU/IahzIQpw0s+w+3bQRqR9MbmB/yt1yEWjb1nXJ4
         aGGiDAePxeXv2Zt2JcaWKCnhijOFYPVq+wr+f+cg26ol4sk9JFeLg1Zw4RAc30dtEFJX
         JVIA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references;
        bh=oJL+jaD3j+tB2hFVXmAv2nPtE4uqfFnnjmMp4UudG8E=;
        b=taHVG89kwMVDIVsN/rxz2DVPIrKNimMhHCQQxzEIjP8FGXfJ5WL35oRpM1PNOXrI36
         obWi7v5xagPRHLzdfudGkpF/in+e0Dm7kcSDG5w9vDLov00R8liyRJ3cFQBPa5IGZABc
         2lrys7JvW4FHic+2MWH9cHjZWxId4h4QhRWUdsc/iNP2ClvxWP8zD2GMdP7MWaVIuBlh
         yl6wyYGRKWPOK3+j8WFPKxDVlwloMnw/KOWDN868U4qPjG2DmZPVqzIUdIbqm9busScS
         sfGyTfwagPHlONPqQBZgTndWBMYoY4n1xQnTVFqKaoeXO/9yVwJcxByiTce+eMDmFQmq
         HqnA==
X-Gm-Message-State: AOAM531LAH096+ZB3m9JQREunILtc/jEr808PbZMoLZdROtFJvZo4OzC
	0nrLvQSFYvUIl0rmVi902oFz2P3StyyXWA==
X-Google-Smtp-Source: ABdhPJzTKbIO03oj9tadXceoS/j+YjCsBYKcGbGLpbBoMkCEdQJKKVTNO8JK8n9uGEbU70Ysc2xF+g==
X-Received: by 2002:a05:6512:1148:: with SMTP id m8mr2664586lfg.53.1628778153388;
        Thu, 12 Aug 2021 07:22:33 -0700 (PDT)
From: Anastasiia Lukianenko <vicooodin@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: oleksandr_tyshchenko@epam.com,
	artem_mygaiev@epam.com,
	rahul.singh@arm.com,
	bertrand.marquis@arm.com,
	oleksandr_andrushchenko@epam.com,
	roger.pau@citrix.com,
	julien@xen.org,
	sstabellini@kernel.org,
	andr2000@gmail.com,
	vicooodin@gmail.com,
	Anastasiia Lukianenko <anastasiia_lukianenko@epam.com>
Subject: [PATCH 1/9] tools/libs/light: Add vchan support to libxl
Date: Thu, 12 Aug 2021 17:22:22 +0300
Message-Id: <20210812142230.19353-2-vicooodin@gmail.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20210812142230.19353-1-vicooodin@gmail.com>
References: <20210812142230.19353-1-vicooodin@gmail.com>

From: Anastasiia Lukianenko <anastasiia_lukianenko@epam.com>

Add possibility to send commands from libxl and execute them on server
side. Libxl vchan adds support for JSON messages processing.

The using of libxl vchan is preventing the client from libxl from reading
and writing from / to the local sysfs directly.To do this, the libxl vchan
was added - instead of working with the read and write functions from / to
the sysfs, functionality allows to send requests to the server, then
receive and process the response.

Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Signed-off-by: Anastasiia Lukianenko <anastasiia_lukianenko@epam.com>
---
 tools/helpers/Makefile         |   4 +-
 tools/libs/light/Makefile      |   7 +-
 tools/libs/light/libxl_vchan.c | 359 +++++++++++++++++++++++++++++++++
 tools/libs/light/libxl_vchan.h |  81 ++++++++
 tools/xl/Makefile              |   3 +-
 5 files changed, 448 insertions(+), 6 deletions(-)
 create mode 100644 tools/libs/light/libxl_vchan.c
 create mode 100644 tools/libs/light/libxl_vchan.h

diff --git a/tools/helpers/Makefile b/tools/helpers/Makefile
index 1bcc97ea8a..ad2cdf32ad 100644
--- a/tools/helpers/Makefile
+++ b/tools/helpers/Makefile
@@ -29,12 +29,12 @@ $(INIT_XENSTORE_DOMAIN_OBJS): CFLAGS += $(CFLAGS_libxenlight)
 all: $(PROGS)
 
 xen-init-dom0: $(XEN_INIT_DOM0_OBJS)
-	$(CC) $(LDFLAGS) -o $@ $(XEN_INIT_DOM0_OBJS) $(LDLIBS_libxenctrl) $(LDLIBS_libxentoollog) $(LDLIBS_libxenstore) $(LDLIBS_libxenlight) $(APPEND_LDFLAGS)
+	$(CC) $(LDFLAGS) -o $@ $(XEN_INIT_DOM0_OBJS) $(LDLIBS_libxenctrl) $(LDLIBS_libxentoollog) $(LDLIBS_libxenstore) $(LDLIBS_libxenlight) $(LDLIBS_libxenvchan) $(APPEND_LDFLAGS)
 
 $(INIT_XENSTORE_DOMAIN_OBJS): _paths.h
 
 init-xenstore-domain: $(INIT_XENSTORE_DOMAIN_OBJS)
-	$(CC) $(LDFLAGS) -o $@ $(INIT_XENSTORE_DOMAIN_OBJS) $(LDLIBS_libxentoollog) $(LDLIBS_libxenstore) $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(LDLIBS_libxenlight) $(APPEND_LDFLAGS)
+	$(CC) $(LDFLAGS) -o $@ $(INIT_XENSTORE_DOMAIN_OBJS) $(LDLIBS_libxentoollog) $(LDLIBS_libxenstore) $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(LDLIBS_libxenlight) $(LDLIBS_libxenvchan) $(APPEND_LDFLAGS)
 
 .PHONY: install
 install: all
diff --git a/tools/libs/light/Makefile b/tools/libs/light/Makefile
index 4a4de12610..f5d34b3371 100644
--- a/tools/libs/light/Makefile
+++ b/tools/libs/light/Makefile
@@ -76,6 +76,7 @@ SRCS-y += libxl.c
 SRCS-y += libxl_create.c
 SRCS-y += libxl_dm.c
 SRCS-y += libxl_pci.c
+SRCS-y += libxl_vchan.c
 SRCS-y += libxl_dom.c
 SRCS-y += libxl_exec.c
 SRCS-y += libxl_xshelp.c
@@ -176,7 +177,7 @@ LDUSELIBS-y += $(PTHREAD_LIBS)
 LDUSELIBS-y += -lyajl
 LDUSELIBS += $(LDUSELIBS-y)
 
-$(LIB_OBJS) $(PIC_OBJS) $(LIBXL_TEST_OBJS): CFLAGS += $(CFLAGS_LIBXL) -include $(XEN_ROOT)/tools/config.h
+$(LIB_OBJS) $(PIC_OBJS) $(LIBXL_TEST_OBJS): CFLAGS += $(CFLAGS_LIBXL) $(CFLAGS_libxenevtchn) -include $(XEN_ROOT)/tools/config.h
 $(ACPI_OBJS) $(ACPI_PIC_OBJS): CFLAGS += -I. -DLIBACPI_STDUTILS=\"$(CURDIR)/libxl_x86_acpi.h\"
 $(TEST_PROG_OBJS) _libxl.api-for-check: CFLAGS += $(CFLAGS_libxentoollog) $(CFLAGS_libxentoolcore)
 libxl_dom.o libxl_dom.opic: CFLAGS += -I$(XEN_ROOT)/tools  # include libacpi/x86.h
@@ -240,13 +241,13 @@ libxenlight_test.so: $(PIC_OBJS) $(LIBXL_TEST_OBJS)
 	$(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxenlight.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $^ $(LDUSELIBS) $(APPEND_LDFLAGS)
 
 test_%: test_%.o test_common.o libxenlight_test.so
-	$(CC) $(LDFLAGS) -o $@ $^ $(filter-out %libxenlight.so, $(LDLIBS_libxenlight)) $(LDLIBS_libxentoollog) $(LDLIBS_libxentoolcore) -lyajl $(APPEND_LDFLAGS)
+	$(CC) $(LDFLAGS) -o $@ $^ $(filter-out %libxenlight.so, $(LDLIBS_libxenlight)) $(LDLIBS_libxentoollog) $(LDLIBS_libxentoolcore) $(LDLIBS_libxenvchan) -lyajl $(APPEND_LDFLAGS)
 
 libxl-save-helper: $(SAVE_HELPER_OBJS) libxenlight.so
 	$(CC) $(LDFLAGS) -o $@ $(SAVE_HELPER_OBJS) $(LDLIBS_libxentoollog) $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(LDLIBS_libxentoolcore) $(APPEND_LDFLAGS)
 
 testidl: testidl.o libxenlight.so
-	$(CC) $(LDFLAGS) -o $@ testidl.o $(LDLIBS_libxenlight) $(LDLIBS_libxentoollog) $(LDLIBS_libxentoolcore) $(APPEND_LDFLAGS)
+	$(CC) $(LDFLAGS) -o $@ testidl.o $(LDLIBS_libxenlight) $(LDLIBS_libxentoollog) $(LDLIBS_libxentoolcore) $(LDLIBS_libxenvchan) $(APPEND_LDFLAGS)
 
 install: installlocal $(LIBHEADERS)
 
diff --git a/tools/libs/light/libxl_vchan.c b/tools/libs/light/libxl_vchan.c
new file mode 100644
index 0000000000..b533243fd3
--- /dev/null
+++ b/tools/libs/light/libxl_vchan.c
@@ -0,0 +1,359 @@
+/*
+ * Vchan support for JSON messages processing
+ *
+ * Copyright (C) 2021 EPAM Systems Inc.
+ * Author: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
+ * Author: Anastasiia Lukianenko <anastasiia_lukianenko@epam.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+#include "libxl_osdeps.h" /* must come before any other headers */
+
+#include "libxl_internal.h"
+#include "libxl_vchan.h"
+
+/* Based on QMP Parameters Helpers */
+static void vchan_parameters_common_add(libxl__gc *gc, libxl__json_object **param,
+                                        const char *name, libxl__json_object *obj)
+{
+    libxl__json_map_node *arg = NULL;
+
+    if (!*param) {
+        *param = libxl__json_object_alloc(gc, JSON_MAP);
+    }
+
+    GCNEW(arg);
+
+    arg->map_key = libxl__strdup(gc, name);
+    arg->obj = obj;
+
+    flexarray_append((*param)->u.map, arg);
+}
+
+
+void libxl__vchan_param_add_string(libxl__gc *gc, libxl__json_object **param,
+                                   const char *name, const char *s)
+{
+    libxl__json_object *obj;
+
+    obj = libxl__json_object_alloc(gc, JSON_STRING);
+    obj->u.string = libxl__strdup(gc, s);
+
+    vchan_parameters_common_add(gc, param, name, obj);
+}
+
+void libxl__vchan_param_add_integer(libxl__gc *gc, libxl__json_object **param,
+                                    const char *name, const long long i)
+{
+    libxl__json_object *obj;
+
+    obj = libxl__json_object_alloc(gc, JSON_INTEGER);
+    obj->u.i = i;
+
+    vchan_parameters_common_add(gc, param, name, obj);
+}
+
+/* Returns 1 if path exists, 0 if not, ERROR_* (<0) on error. */
+int xs_path_exists(libxl__gc *gc, const char *xs_path)
+{
+    int rc;
+    const char *dir;
+
+    rc = libxl__xs_read_checked(gc, XBT_NULL, xs_path, &dir);
+    if (rc)
+        return rc;
+    if (dir)
+        return 1;
+    return 0;
+}
+
+libxl_domid vchan_find_server(libxl__gc *gc, char *xs_dir, char *xs_path)
+{
+    char **domains;
+    unsigned int i, n;
+    libxl_domid domid = DOMID_INVALID;
+
+    domains = libxl__xs_directory(gc, XBT_NULL, "/local/domain", &n);
+    if (!n)
+        goto out;
+
+    for (i = 0; i < n; i++) {
+        int d;
+
+        if (sscanf(domains[i], "%d", &d) != 1)
+            continue;
+        if (xs_path_exists(gc, GCSPRINTF("%s%d%s", xs_dir, d, xs_path)) > 0) {
+            /* Found the domain where the server lives. */
+            domid = d;
+            break;
+        }
+    }
+
+out:
+    return domid;
+}
+
+static int vchan_init_client(libxl__gc *gc, struct vchan_state *state, int is_server)
+{
+	if (is_server) {
+		state->ctrl = libxenvchan_server_init(NULL, state->domid, state->xs_path, 0, 0);
+	    if (!state->ctrl) {
+	        perror("Libxenvchan server init failed\n");
+	        exit(1);
+	    }
+	} else {
+		state->ctrl = libxenvchan_client_init(CTX->lg, state->domid,
+                                          state->xs_path);
+	    if (!state->ctrl) {
+	        LOGE(ERROR, "Couldn't intialize vchan client");
+	        return ERROR_FAIL;
+	    }
+	}
+
+    state->select_fd = libxenvchan_fd_for_select(state->ctrl);
+    if (state->select_fd < 0) {
+        LOGE(ERROR, "Couldn't read file descriptor for vchan client");
+        return ERROR_FAIL;
+    }
+
+    LOG(DEBUG, "Intialized vchan client, server at %s", state->xs_path);
+
+    return 0;
+}
+
+/*
+ * TODO: Running this code in multi-threaded environment
+ * The code now assumes that there is only one client invocation process
+ * in one domain. In the future, it is necessary to take into account cases
+ * when within one domain there will be several requests from a client at the
+ * same time. Therefore, it will be necessary to regulate the multithreading
+ * of processes.
+ */
+struct vchan_state *vchan_get_instance(libxl__gc *gc, libxl_domid domid,
+                                       char *vchan_xs_path, int is_server)
+{
+    static struct vchan_state *state = NULL;
+    int ret;
+
+    if (state)
+        return state;
+
+    state = libxl__zalloc(gc, sizeof(*state));
+    state->domid = domid;
+    state->xs_path = vchan_xs_path;
+    ret = vchan_init_client(gc, state, is_server);
+    if (ret)
+        state = NULL;
+
+    return state;
+}
+
+/*
+ * Find a JSON object and store it in o_r.
+ * return ERROR_NOTFOUND if no object is found.
+ */
+static int vchan_get_next_msg(libxl__gc *gc, struct vchan_state *state,
+                              libxl__json_object **o_r)
+{
+    size_t len;
+    char *end = NULL;
+    const size_t eoml = sizeof(END_OF_MESSAGE) - 1;
+    libxl__json_object *o = NULL;
+
+    if (!state->rx_buf_used)
+        return ERROR_NOTFOUND;
+
+    /* Search for the end of a message: "\r\n" */
+    end = memmem(state->rx_buf, state->rx_buf_used, END_OF_MESSAGE, eoml);
+    if (!end)
+        return ERROR_NOTFOUND;
+    len = (end - state->rx_buf) + eoml;
+
+    LOGD(DEBUG, state->domid, "parsing %zuB: '%.*s'", len, (int)len,
+         state->rx_buf);
+
+    /* Replace \r by \0 so that libxl__json_parse can use strlen */
+    state->rx_buf[len - eoml] = '\0';
+    o = libxl__json_parse(gc, state->rx_buf);
+
+    if (!o) {
+        LOGD(ERROR, state->domid, "Parse error");
+        return ERROR_FAIL;
+    }
+
+    state->rx_buf_used -= len;
+    memmove(state->rx_buf, state->rx_buf + len, state->rx_buf_used);
+
+    LOGD(DEBUG, state->domid, "JSON object received: %s", JSON(o));
+
+    *o_r = o;
+
+    return 0;
+}
+
+static libxl__json_object *vchan_handle_message(libxl__gc *gc,
+                                                struct vchan_info *vchan,
+                                                const libxl__json_object *request)
+{
+	libxl__json_object *result = NULL;
+	const libxl__json_object *command_obj;
+	int ret;
+
+	ret = vchan->handle_msg(gc, request, &result);
+	if (ret == ERROR_FAIL) {
+		LOGE(ERROR, "Message handling failed\n");
+	} else if (ret == ERROR_NOTFOUND) {
+		command_obj = libxl__json_map_get(VCHAN_MSG_EXECUTE, request, JSON_ANY);
+		LOGE(ERROR, "Unknown command: %s\n", command_obj->u.string);
+	}
+    return result;
+}
+
+static int set_nonblocking(int fd, int nonblocking)
+{
+    int flags = fcntl(fd, F_GETFL);
+    if (flags == -1)
+        return -1;
+
+    if (nonblocking)
+        flags |= O_NONBLOCK;
+    else
+        flags &= ~O_NONBLOCK;
+
+    if (fcntl(fd, F_SETFL, flags) == -1)
+        return -1;
+
+    return 0;
+}
+
+static libxl__json_object *vchan_process_request(libxl__gc *gc,
+                                                 struct vchan_info *vchan)
+{
+    int rc, ret;
+    ssize_t r;
+    fd_set rfds;
+    fd_set wfds;
+
+    while (true) {
+        FD_ZERO(&rfds);
+        FD_ZERO(&wfds);
+        FD_SET(vchan->state->select_fd, &rfds);
+        ret = select(vchan->state->select_fd + 1, &rfds, &wfds, NULL, NULL);
+        if (ret < 0) {
+            LOGE(ERROR, "Error occured during the libxenvchan fd monitoring\n");
+            return NULL;
+        }
+        if (FD_ISSET(vchan->state->select_fd, &rfds))
+            libxenvchan_wait(vchan->state->ctrl);
+        /* Check if the buffer still have space, or increase size */
+        if (vchan->state->rx_buf_size - vchan->state->rx_buf_used < vchan->receive_buf_size) {
+            size_t newsize = vchan->state->rx_buf_size * 2 + vchan->receive_buf_size;
+
+            if (newsize > vchan->max_buf_size) {
+                LOGD(ERROR, vchan->state->domid,
+                     "receive buffer is too big (%zu > %zu)",
+                     newsize, vchan->max_buf_size);
+                return NULL;
+            }
+            vchan->state->rx_buf_size = newsize;
+            vchan->state->rx_buf = libxl__realloc(gc, vchan->state->rx_buf,
+                                                  vchan->state->rx_buf_size);
+        }
+
+        while (libxenvchan_data_ready(vchan->state->ctrl)) {
+            r = libxenvchan_read(vchan->state->ctrl,
+                                 vchan->state->rx_buf + vchan->state->rx_buf_used,
+                                 vchan->state->rx_buf_size - vchan->state->rx_buf_used);
+            if (r < 0) {
+                LOGED(ERROR, vchan->state->domid, "error reading");
+                return NULL;
+            }
+
+            LOG(DEBUG, "received %zdB: '%.*s'", r,
+                (int)r, vchan->state->rx_buf + vchan->state->rx_buf_used);
+
+            vchan->state->rx_buf_used += r;
+            assert(vchan->state->rx_buf_used <= vchan->state->rx_buf_size);
+
+            libxl__json_object *o = NULL;
+            /* parse rx buffer to find one json object */
+            rc = vchan_get_next_msg(gc, vchan->state, &o);
+            if (rc == ERROR_NOTFOUND)
+                break;
+            else if (rc)
+                return NULL;
+
+            return vchan_handle_message(gc, vchan, o);
+        }
+        if ( !libxenvchan_is_open(vchan->state->ctrl)) {
+            if (set_nonblocking(1, 0))
+                return NULL;
+        }
+    }
+    return NULL;
+}
+
+static int vchan_write(libxl__gc *gc, struct vchan_state *state, char *cmd)
+{
+    size_t len;
+    int ret;
+
+    len = strlen(cmd);
+    while (len) {
+        ret = libxenvchan_write(state->ctrl, cmd, len);
+        if (ret < 0) {
+            LOGE(ERROR, "vchan write failed");
+            return ERROR_FAIL;
+        }
+        cmd += ret;
+        len -= ret;
+    }
+    return 0;
+}
+
+libxl__json_object *vchan_send_command(libxl__gc *gc, struct vchan_info *vchan,
+                                       const char *cmd, libxl__json_object *args)
+{
+    libxl__json_object *result;
+    char *json;
+    int ret;
+
+    json = vchan->prepare_cmd(gc, cmd, args, 0);
+    if (!json)
+        return NULL;
+
+    ret = vchan_write(gc, vchan->state, json);
+    if (ret < 0)
+        return NULL;
+
+    result = vchan_process_request(gc, vchan);
+    return result;
+}
+
+int vchan_process_command(libxl__gc *gc, struct vchan_info *vchan)
+{
+    libxl__json_object *result;
+    char *json;
+    int ret;
+
+    result = vchan_process_request(gc, vchan);
+
+    json = vchan->prepare_cmd(gc, NULL, result, 0);
+    if (!json)
+        return -1;
+
+    ret = vchan_write(gc, vchan->state, json);
+    if (ret < 0)
+        return -1;
+
+    return 0;
+}
diff --git a/tools/libs/light/libxl_vchan.h b/tools/libs/light/libxl_vchan.h
new file mode 100644
index 0000000000..7ded416447
--- /dev/null
+++ b/tools/libs/light/libxl_vchan.h
@@ -0,0 +1,81 @@
+/*
+    Common definitions for JSON messages processing by vchan
+    Copyright (C) 2021 EPAM Systems Inc.
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef LIBXL_VCHAN_H
+#define LIBXL_VCHAN_H
+
+#include <libxenvchan.h>
+
+#define VCHAN_SERVER 1
+#define VCHAN_CLIENT 0
+
+#define END_OF_MESSAGE "\r\n"
+
+#define VCHAN_MSG_EXECUTE         "execute"
+#define VCHAN_MSG_RETURN          "return"
+#define VCHAN_MSG_ERROR           "error"
+
+struct vchan_state {
+    /* Server domain ID. */
+    libxl_domid domid;
+    /* XenStore path of the server with the ring buffer and event channel. */
+    char *xs_path;
+    struct libxenvchan *ctrl;
+    int select_fd;
+    /* receive buffer */
+    char *rx_buf;
+    size_t rx_buf_size; /* current allocated size */
+    size_t rx_buf_used; /* actual data in the buffer */
+};
+
+typedef int (*vchan_handle_t)(libxl__gc *gc, const libxl__json_object *request,
+                              libxl__json_object **result);
+typedef char* (*vchan_prepare_t)(libxl__gc *gc, const char *cmd,
+                                 libxl__json_object *args, int id);
+struct vchan_info {
+    struct vchan_state *state;
+    vchan_handle_t handle_msg;
+    vchan_prepare_t prepare_cmd;
+    /* buffer info */
+    size_t receive_buf_size;
+    size_t max_buf_size;
+};
+
+void libxl__vchan_param_add_string(libxl__gc *gc, libxl__json_object **param,
+                                   const char *name, const char *s);
+void libxl__vchan_param_add_integer(libxl__gc *gc, libxl__json_object **param,
+                                    const char *name, const long long i);
+int xs_path_exists(libxl__gc *gc, const char *xs_path);
+libxl_domid vchan_find_server(libxl__gc *gc, char *xs_dir, char *xs_path);
+struct vchan_state *vchan_get_instance(libxl__gc *gc, libxl_domid domid,
+                                       char *vchan_xs_path, int is_server);
+libxl__json_object *vchan_send_command(libxl__gc *gc, struct vchan_info *vchan,
+                                       const char *cmd, libxl__json_object *args);
+int vchan_process_command(libxl__gc *gc, struct vchan_info *vchan);
+
+#endif /* LIBXL_VCHAN_H */
+
+/*
+ * Local variables:
+ *  mode: C
+ *  c-file-style: "linux"
+ *  indent-tabs-mode: t
+ *  c-basic-offset: 8
+ *  tab-width: 8
+ * End:
+ */
diff --git a/tools/xl/Makefile b/tools/xl/Makefile
index a5d2ee4528..d35570c343 100644
--- a/tools/xl/Makefile
+++ b/tools/xl/Makefile
@@ -15,6 +15,7 @@ LDFLAGS += $(PTHREAD_LDFLAGS)
 CFLAGS_XL += $(CFLAGS_libxenlight)
 CFLAGS_XL += $(CFLAGS_libxenutil)
 CFLAGS_XL += -Wshadow
+CFLAGS_XL += $(CFLAGS_libxenvchan)
 
 XL_OBJS-$(CONFIG_X86) = xl_psr.o
 XL_OBJS = xl.o xl_cmdtable.o xl_sxp.o xl_utils.o $(XL_OBJS-y)
@@ -38,7 +39,7 @@ $(XL_OBJS): _paths.h
 all: xl
 
 xl: $(XL_OBJS)
-	$(CC) $(LDFLAGS) -o $@ $(XL_OBJS) $(LDLIBS_libxenutil) $(LDLIBS_libxenlight) $(LDLIBS_libxentoollog) -lyajl $(APPEND_LDFLAGS)
+	$(CC) $(LDFLAGS) -o $@ $(XL_OBJS) $(LDLIBS_libxenutil) $(LDLIBS_libxenlight) $(LDLIBS_libxentoollog) $(LDLIBS_libxenvchan) -lyajl $(APPEND_LDFLAGS)
 
 .PHONY: install
 install: all
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 12 14:22:44 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 14:22:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166456.303789 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEBbR-0002QF-Fp; Thu, 12 Aug 2021 14:22:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166456.303789; Thu, 12 Aug 2021 14:22:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEBbR-0002Q8-BR; Thu, 12 Aug 2021 14:22:37 +0000
Received: by outflank-mailman (input) for mailman id 166456;
 Thu, 12 Aug 2021 14:22:36 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tERp=ND=gmail.com=vicooodin@srs-us1.protection.inumbo.net>)
 id 1mEBbQ-0002Q2-10
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 14:22:36 +0000
Received: from mail-lf1-x12d.google.com (unknown [2a00:1450:4864:20::12d])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id b9471ba9-25a8-4c68-b704-9c1c40272e21;
 Thu, 12 Aug 2021 14:22:34 +0000 (UTC)
Received: by mail-lf1-x12d.google.com with SMTP id z20so13830068lfd.2
 for <xen-devel@lists.xenproject.org>; Thu, 12 Aug 2021 07:22:34 -0700 (PDT)
Received: from localhost.localdomain (host-176-36-213-80.b024.la.net.ua.
 [176.36.213.80])
 by smtp.gmail.com with ESMTPSA id s16sm329678ljj.48.2021.08.12.07.22.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 12 Aug 2021 07: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: b9471ba9-25a8-4c68-b704-9c1c40272e21
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=3nTkbFC6VPgkXI+Td1poqg1KtjwvUzhEe3OsoddMAzY=;
        b=BpIJkeUxQlTpymrA8Ji3pS5j71Be13pmrSvMSSoHnFjKAN9a/kMl06n2MusdQQ/Uuh
         ElpydyABMe8SxQRt8V2aAbAVxJSsZIfttngO7UVDflCQ4fNNWOgMfMsrUcvdXoeRI23z
         GqUzZ2vsbaZPuDNhjEN8VNokT82rgtTo9bpF/FdL9pAqOpCWDWfMPhedcGBsI+xufdPE
         ErMRrimhbXBDjh/dn/Ps6qpOFLQg22PGUZ2Lx9oAy+yzLSl8sB9DRt48Fy3z+f2GC2+3
         jZCzvklY+w9dVP8AZI7H3KAme4bmZdOLOsrx1MvhZciZLxHPaWllMG9onMzY7xaR5ydH
         ifkw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=3nTkbFC6VPgkXI+Td1poqg1KtjwvUzhEe3OsoddMAzY=;
        b=IyNLdEKeI2KJblpSqjGmxtJq3DCa63SVPZHmda4347N5f/ukobIafNVawhH/ffIVeb
         +bdt5Ek0Qr1nK0hc1dr8PQ2r/vjNQEuOxP7TXlg+6d8uXsMXd+Mh3SC+aMl7bT3gFJBB
         dokEDwYXpehhPxJPREKkWuWrwQeF66fKYITaIpFnQYh3kOEm7WSl4IrlrCqQTufVZbk8
         kbmhPGQoFm35Aa6nnwRy6sraPtmK5fWkslixzE2oXPMfzLiWwgwe7VDnYK6qTN8YLA6v
         FB9xYC0wAlJUpsO+aOVZif1VvJlBax1G2xkasIN5X80QnOLVFyA/KhC9m/XXAN3DZFyg
         4Fgw==
X-Gm-Message-State: AOAM531B1W9PPtbItJi85FHDngQQu1LRrZlVUwIL+Ay0s3Bgvnd2mySB
	AHIyazNu+//X6GL7j+Z9FdvTR1KyrTGRbw==
X-Google-Smtp-Source: ABdhPJwbyQOtyTaf17yHanepFukJRlB84Q+/57rn4oN5onVZJyTm8Y0Ryy9EDW/+riLXgk1QfUO9fA==
X-Received: by 2002:a19:4349:: with SMTP id m9mr2730964lfj.404.1628778152116;
        Thu, 12 Aug 2021 07:22:32 -0700 (PDT)
From: Anastasiia Lukianenko <vicooodin@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: oleksandr_tyshchenko@epam.com,
	artem_mygaiev@epam.com,
	rahul.singh@arm.com,
	bertrand.marquis@arm.com,
	oleksandr_andrushchenko@epam.com,
	roger.pau@citrix.com,
	julien@xen.org,
	sstabellini@kernel.org,
	andr2000@gmail.com,
	vicooodin@gmail.com,
	Anastasiia Lukianenko <anastasiia_lukianenko@epam.com>
Subject: [PATCH 0/9] Add xl PCI daemon (server for libxl PCI) 
Date: Thu, 12 Aug 2021 17:22:21 +0300
Message-Id: <20210812142230.19353-1-vicooodin@gmail.com>
X-Mailer: git-send-email 2.17.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Anastasiia Lukianenko <anastasiia_lukianenko@epam.com>

This work introduces xl PCI daemon that acts as a server for the client
in the libxl PCI. The toolstack in Dom0 accesses sysfs to get information
about PCI devices and in case of Hardware Domain that sysfs lives in
Hardware Domain, so Dom0 can't read that information directly anymore.
For that reason we introduce a "proxy" which directs requests from Dom0 to
the domain which owns PCI devices, being it Dom0 itself or any other domain,
e.g. Hardware Domain. xl PCI daemon is based on vchan-node2 tool and uses
the libxenvchan library for messaging transport.

It was verified that this model works both remotely (in different domains)
and locally (within one domain) as requested by Xen community [1]. The
server processes the requests that come from the client. For better
interoperability between guest OSes, e.g. Linux vs FreeBSD, the path in the
request is not a direct sysfs entry as seen in Dom0, but instead it is a
key-word defined in the protocol. For now libxl PCI refers to sysfs in the
following functions, therefore such a subset was implemented in xl PCI
daemon commands handling:
* ‘ls’ - the server receives "dir_id" as a parameter. Xl pcid server
  transmits information about devices assigned to the PCI driver by sending
  a reply with the remote directory listing. Client cannot pass the sysfs
  path, as it is not the same on different operating systems. Therefore,
  for example, we pass parameter "pciback_driver" and on the server side
  we refer to "/sys/bus/pci/drivers/pciback" if Linux is used);
* ‘write’- the server receives the file name and value as parameters where
  and what to write;
* ‘read_hex’ - xl PCI daemon returns hex value read from the given path;
* ‘exists’ - check if path exists;
* ‘read_resources’ - returns an array of PCI device resources (start, end,
   flags) read from given path;
* ‘unbind’ - unbinds PCI device;
* ‘reset’ - resets PCI device.

Requests and responses are formed in the form of a json which is already
used by libxenlight (xl). The commands are aimed at preventing the libxl
PCI from reading / writing from / to the local sysfs directly. To do this,
the libxl PCI itself was changed, vchan and pcid support was added to
libxl - instead of working with the read and write functions from / to the
sysfs, functionality was added to send requests to the server, then receive
and process the response.

Libxl vchan is used as transport between libxl and the server side. Libxl
vchan adds support for JSON messages processing. Libxl pcid functions allow
to process the received message from PCI server and to generate a reply in
JSON format for the client. The pcid functions in the libxl allow the use
of internal libxl structures and functions, so there is no code duplications
on server side.

The issue of simultaneous access of several processes to the channel is not
resolved as well. For example, the commands “xl pci-assignable-list” and
“xl pci-assignable-add” will be sent at the same time. Due to the fact that
there is only one channel, the processing of two requests will cause
undefined behavior on the server side. In the future, it is necessary to
take into account cases when from different domains there can be several
requests from a client at the same time or from the same but xl commands are
executed concurrently.

[1] - https://www.mail-archive.com/xen-devel@lists.xenproject.org/msg84452.html

Regards,
Anastasiia

Anastasiia Lukianenko (9):
  tools/libs/light: Add vchan support to libxl
  tools/libs/light: Add functions for handling PCI messages in JSON
    format
  tools/xl: Add pcid daemon to xl
  tools/libs/light: Add "ls" command processing to xl pcid daemon and
    libxl PCI
  tools/libs/light: Add "write" command to xl pcid and libxl PCI
  tools/libs/light: Add "read" command to xl pcid and libxl PCI
  tools/libs/light: Make Libxl PCI get values from xl pcid instead of
    libxl side
  tools/libs/light: Add "unbind" and "read resources" commands to libxl
    PCI and xl pcid
  tools/libs/light: Add "reset" and "remove" PCI dev commands to xl pcid
    daemon and libxl PCI

 tools/configure                           |   5 +-
 tools/helpers/Makefile                    |   4 +-
 tools/hotplug/FreeBSD/rc.d/xlpcid.in      |  75 +++
 tools/hotplug/Linux/init.d/xlpcid.in      |  76 +++
 tools/hotplug/NetBSD/rc.d/xlpcid.in       |  75 +++
 tools/include/pcid.h                      |  73 +++
 tools/libs/light/Makefile                 |   8 +-
 tools/libs/light/libxl_pci.c              | 566 ++++++++++++++--------
 tools/libs/light/libxl_pcid.c             | 527 ++++++++++++++++++++
 tools/libs/light/libxl_types.idl          |   1 +
 tools/libs/light/libxl_types_internal.idl |   6 +
 tools/libs/light/libxl_vchan.c            | 359 ++++++++++++++
 tools/libs/light/libxl_vchan.h            |  81 ++++
 tools/xl/Makefile                         |   5 +-
 tools/xl/xl.h                             |   1 +
 tools/xl/xl_cmdtable.c                    |   7 +
 tools/xl/xl_pcid.c                        |  79 +++
 17 files changed, 1727 insertions(+), 221 deletions(-)
 create mode 100644 tools/hotplug/FreeBSD/rc.d/xlpcid.in
 create mode 100644 tools/hotplug/Linux/init.d/xlpcid.in
 create mode 100644 tools/hotplug/NetBSD/rc.d/xlpcid.in
 create mode 100644 tools/include/pcid.h
 create mode 100644 tools/libs/light/libxl_pcid.c
 create mode 100644 tools/libs/light/libxl_vchan.c
 create mode 100644 tools/libs/light/libxl_vchan.h
 create mode 100644 tools/xl/xl_pcid.c

-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 12 14:22:47 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 14:22:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166458.303811 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEBbb-00031H-7F; Thu, 12 Aug 2021 14:22:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166458.303811; Thu, 12 Aug 2021 14:22:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEBbb-00031A-1i; Thu, 12 Aug 2021 14:22:47 +0000
Received: by outflank-mailman (input) for mailman id 166458;
 Thu, 12 Aug 2021 14:22:46 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tERp=ND=gmail.com=vicooodin@srs-us1.protection.inumbo.net>)
 id 1mEBbZ-0002Q2-Ur
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 14:22:45 +0000
Received: from mail-lf1-x135.google.com (unknown [2a00:1450:4864:20::135])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id dbfc7067-d493-430c-82db-cee0258dc3e7;
 Thu, 12 Aug 2021 14:22:37 +0000 (UTC)
Received: by mail-lf1-x135.google.com with SMTP id z20so13830266lfd.2
 for <xen-devel@lists.xenproject.org>; Thu, 12 Aug 2021 07:22:37 -0700 (PDT)
Received: from localhost.localdomain (host-176-36-213-80.b024.la.net.ua.
 [176.36.213.80])
 by smtp.gmail.com with ESMTPSA id s16sm329678ljj.48.2021.08.12.07.22.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 12 Aug 2021 07:22: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: dbfc7067-d493-430c-82db-cee0258dc3e7
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references;
        bh=JdPxHs8pmc5umX+oWUld/sGpQUemWUwM1K9E4JXG7Fw=;
        b=e4/bORrc7EIG5RcPhOR2s5nYwwOjF3V/SZY0Pg4tvMA7pSAB/dgfAngE1qul2z5JGV
         l43BDLzGd9wkdFllMqtAxBQxN7mtB72DpdJKWQji34l+QDFP/2iOTtA9cnKqIOjTam7j
         g/QxwV6EDe7rlE3tWs2ZLABjyoOKFDI8FbDDpc6OhsoCaMujRpZtaF6d5XbZYMZk/1/A
         LcRD+qKwg5lv3sOsC/MotURnrWJ6b62soupvU+fIZE629cO63DXHiZkjPoQ3Xx9p6UqY
         4NAUs1bSRpegeQRGYKoTIqSEsUHARVWHLk7QXjZv/GJpHOB9lNuUlMmnKXEHJLTcKJR0
         /FYg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references;
        bh=JdPxHs8pmc5umX+oWUld/sGpQUemWUwM1K9E4JXG7Fw=;
        b=QhVxrrQYzMOCKlYKdnjO2HhTGz9oPcEAaz1JbbiARHqy0zvMC5aYNQHzqwI87Vydwy
         DS0sZ8rsKiSNmzVST2NCXwObbi7BA78ubXWA6PxvdD3FYrTFgsFzHc7z+v5VEWITKozp
         jmzYA7EpvkPinC9dGLap58afQqNEJcRV6QBJRR6ZCO0tLW/5L2nP56cMbs9QDkGNMO4+
         nbKELU5jINT9RU310xKXBUA9sFrUAflNZ3VM3hsEB7HCboH5h17tgROyXqE/BmflBJhv
         mBzRpMEHma+NAlMW7dBCzqQJbqAmtxLXBes+eF/WF85BPBVVPjxQ0Wzvhei0eJZpygAr
         mQJw==
X-Gm-Message-State: AOAM531xbKXJkGLyavOCPuIqFwzPgB0IiIY1BzLjvAwWbLJWttTQ3KxE
	yYSHBLL/owsmA0KxH9XOeMKlFbqjond+zg==
X-Google-Smtp-Source: ABdhPJxP/uirSlE99zuR7nj0wlbr6O8tgDNBgu5mFUKVrxO12qW4mXOBZ2wrFGq31IKhpRu89hwanQ==
X-Received: by 2002:ac2:53a8:: with SMTP id j8mr2940005lfh.477.1628778154463;
        Thu, 12 Aug 2021 07:22:34 -0700 (PDT)
From: Anastasiia Lukianenko <vicooodin@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: oleksandr_tyshchenko@epam.com,
	artem_mygaiev@epam.com,
	rahul.singh@arm.com,
	bertrand.marquis@arm.com,
	oleksandr_andrushchenko@epam.com,
	roger.pau@citrix.com,
	julien@xen.org,
	sstabellini@kernel.org,
	andr2000@gmail.com,
	vicooodin@gmail.com,
	Anastasiia Lukianenko <anastasiia_lukianenko@epam.com>
Subject: [PATCH 2/9] tools/libs/light: Add functions for handling PCI messages in JSON format
Date: Thu, 12 Aug 2021 17:22:23 +0300
Message-Id: <20210812142230.19353-3-vicooodin@gmail.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20210812142230.19353-1-vicooodin@gmail.com>
References: <20210812142230.19353-1-vicooodin@gmail.com>

From: Anastasiia Lukianenko <anastasiia_lukianenko@epam.com>

These functions allow to process the received message from PCI server and
to generate a reply in JSON format for the client.

Signed-off-by: Anastasiia Lukianenko <anastasiia_lukianenko@epam.com>
---
 tools/include/pcid.h                      |  49 ++++++++
 tools/libs/light/Makefile                 |   1 +
 tools/libs/light/libxl_pcid.c             | 134 ++++++++++++++++++++++
 tools/libs/light/libxl_types.idl          |   1 +
 tools/libs/light/libxl_types_internal.idl |   6 +
 5 files changed, 191 insertions(+)
 create mode 100644 tools/include/pcid.h
 create mode 100644 tools/libs/light/libxl_pcid.c

diff --git a/tools/include/pcid.h b/tools/include/pcid.h
new file mode 100644
index 0000000000..59a7aad64a
--- /dev/null
+++ b/tools/include/pcid.h
@@ -0,0 +1,49 @@
+/*
+    Common definitions for Xen PCI client-server protocol.
+    Copyright (C) 2021 EPAM Systems Inc.
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef PCID_H
+#define PCID_H
+
+#define PCID_XS_DIR             "/local/domain/"
+#define PCID_XS_PATH            "/data/pcid-vchan"
+
+#define PCI_RECEIVE_BUFFER_SIZE 4096
+#define PCI_MAX_SIZE_RX_BUF     MB(1)
+
+#define PCID_MSG_FIELD_ID        "id"
+#define PCID_MSG_FIELD_ARGS      "arguments"
+
+#define PCID_PCIBACK_DRIVER      "pciback_driver"
+
+#if defined(__linux__)
+#define SYSFS_PCIBACK_DRIVER   "/sys/bus/pci/drivers/pciback"
+#endif
+
+int libxl_pcid_process(libxl_ctx *ctx);
+
+#endif /* PCID_H */
+
+/*
+ * Local variables:
+ *  mode: C
+ *  c-file-style: "linux"
+ *  indent-tabs-mode: t
+ *  c-basic-offset: 8
+ *  tab-width: 8
+ * End:
+ */
diff --git a/tools/libs/light/Makefile b/tools/libs/light/Makefile
index f5d34b3371..40e3a7d7ce 100644
--- a/tools/libs/light/Makefile
+++ b/tools/libs/light/Makefile
@@ -76,6 +76,7 @@ SRCS-y += libxl.c
 SRCS-y += libxl_create.c
 SRCS-y += libxl_dm.c
 SRCS-y += libxl_pci.c
+SRCS-y += libxl_pcid.c
 SRCS-y += libxl_vchan.c
 SRCS-y += libxl_dom.c
 SRCS-y += libxl_exec.c
diff --git a/tools/libs/light/libxl_pcid.c b/tools/libs/light/libxl_pcid.c
new file mode 100644
index 0000000000..6317c77a3c
--- /dev/null
+++ b/tools/libs/light/libxl_pcid.c
@@ -0,0 +1,134 @@
+/*
+    Utils for xl pcid daemon
+
+    Copyright (C) 2021 EPAM Systems Inc.
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#define _GNU_SOURCE  // required for strchrnul()
+
+#include "libxl_osdeps.h" /* must come before any other headers */
+
+#include "libxl_internal.h"
+#include "libxl_vchan.h"
+
+#include <libxl_utils.h>
+#include <libxlutil.h>
+
+#include <pcid.h>
+#include <xenstore.h>
+
+#include <libxl.h>
+#include <libxl_json.h>
+#include <dirent.h>
+
+#define DOM0_ID 0
+
+static int pcid_handle_message(libxl__gc *gc, const libxl__json_object *request,
+                               libxl__json_object **result)
+{
+    const libxl__json_object *command_obj;
+    char *command_name;
+
+    command_obj = libxl__json_map_get(VCHAN_MSG_EXECUTE, request, JSON_ANY);
+    if (!command_obj) {
+        LOGE(ERROR, "Execution command not found\n");
+        return ERROR_FAIL;
+    }
+    command_name = command_obj->u.string;
+
+    return 0;
+}
+
+static char *pcid_prepare_reply(libxl__gc *gc, const char *cmd,
+                                libxl__json_object *result, int id)
+{
+    yajl_gen hand = NULL;
+    /* memory for 'buf' is owned by 'hand' */
+    const unsigned char *buf;
+    libxl_yajl_length len;
+    yajl_gen_status s;
+    char *ret = NULL;
+    int rc;
+
+    hand = libxl_yajl_gen_alloc(NULL);
+    if (!hand) {
+        LOGE(ERROR, "Error with hand allocation\n");
+        goto out;
+    }
+
+#if HAVE_YAJL_V2
+    /* Disable beautify for data */
+    yajl_gen_config(hand, yajl_gen_beautify, 0);
+#endif
+
+    yajl_gen_map_open(hand);
+    if ( !result )
+        libxl__yajl_gen_asciiz(hand, VCHAN_MSG_ERROR);
+    else {
+        libxl__yajl_gen_asciiz(hand, VCHAN_MSG_RETURN);
+        rc = libxl__json_object_to_yajl_gen(gc, hand, result);
+        if (rc)
+            goto get_buf_fail;
+    }
+    libxl__yajl_gen_asciiz(hand, PCID_MSG_FIELD_ID);
+    yajl_gen_integer(hand, id);
+    yajl_gen_map_close(hand);
+
+    s = yajl_gen_get_buf(hand, &buf, &len);
+    if (s != yajl_gen_status_ok) {
+        goto get_buf_fail;
+    }
+
+    ret = libxl__sprintf(gc, "%*.*s" END_OF_MESSAGE, (int)len, (int)len, buf);
+
+get_buf_fail:
+    yajl_gen_free(hand);
+out:
+
+    return ret;
+}
+
+int libxl_pcid_process(libxl_ctx *ctx)
+{
+    GC_INIT(ctx);
+    struct vchan_info *vchan;
+    char *xs_path;
+    int ret = 0;
+
+    vchan = libxl__zalloc(gc, sizeof(*vchan));
+    xs_path = GCSPRINTF(PCID_XS_DIR"%d"PCID_XS_PATH, DOM0_ID);
+
+    vchan->state = vchan_get_instance(gc, DOM0_ID, xs_path, VCHAN_SERVER);
+    if (!(vchan->state)) {
+        ret = -1;
+        goto out;
+    }
+
+    vchan->handle_msg = pcid_handle_message;
+    vchan->prepare_cmd = pcid_prepare_reply;
+    vchan->receive_buf_size = PCI_RECEIVE_BUFFER_SIZE;
+    vchan->max_buf_size = PCI_MAX_SIZE_RX_BUF;
+
+    while (true) {
+        ret = vchan_process_command(gc, vchan);
+        if (ret < 0)
+            break;
+    }
+
+out:
+    GC_FREE;
+    return ret;
+}
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index 395165d801..d89c3ac1eb 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -76,6 +76,7 @@ libxl_error = Enumeration("error", [
     (-30, "QMP_DEVICE_NOT_ACTIVE"), # a device has failed to be become active
     (-31, "QMP_DEVICE_NOT_FOUND"), # the requested device has not been found
     (-32, "QEMU_API"), # QEMU's replies don't contains expected members
+    (-33, "PROTOCOL_ERROR_PCID"),
     ], value_namespace = "")
 
 libxl_domain_type = Enumeration("domain_type", [
diff --git a/tools/libs/light/libxl_types_internal.idl b/tools/libs/light/libxl_types_internal.idl
index d66da13764..b9cee64d41 100644
--- a/tools/libs/light/libxl_types_internal.idl
+++ b/tools/libs/light/libxl_types_internal.idl
@@ -58,3 +58,9 @@ libxl__device_action = Enumeration("device_action", [
     (1, "ADD"),
     (2, "REMOVE"),
     ])
+
+libxl__pcid_message_type = Enumeration("pcid_message_type", [
+    (1, "return"),
+    (2, "error"),
+    (3, "invalid"),
+    ])
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 12 14:22:52 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 14:22:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166459.303822 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEBbg-0003PR-Jj; Thu, 12 Aug 2021 14:22:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166459.303822; Thu, 12 Aug 2021 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 1mEBbg-0003PK-Eq; Thu, 12 Aug 2021 14:22:52 +0000
Received: by outflank-mailman (input) for mailman id 166459;
 Thu, 12 Aug 2021 14:22:51 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tERp=ND=gmail.com=vicooodin@srs-us1.protection.inumbo.net>)
 id 1mEBbe-0002Q2-V5
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 14:22:50 +0000
Received: from mail-lj1-x231.google.com (unknown [2a00:1450:4864:20::231])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 5bfdb2b2-699a-4f18-8ccb-a597d9fd501f;
 Thu, 12 Aug 2021 14:22:38 +0000 (UTC)
Received: by mail-lj1-x231.google.com with SMTP id m17so7048914ljp.7
 for <xen-devel@lists.xenproject.org>; Thu, 12 Aug 2021 07:22:38 -0700 (PDT)
Received: from localhost.localdomain (host-176-36-213-80.b024.la.net.ua.
 [176.36.213.80])
 by smtp.gmail.com with ESMTPSA id s16sm329678ljj.48.2021.08.12.07.22.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 12 Aug 2021 07:22: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: 5bfdb2b2-699a-4f18-8ccb-a597d9fd501f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references;
        bh=ffOhNeCRLI4R9q5Bex6AKuS0TCu8t1Ca81Imzl0FQU4=;
        b=Gidp/hw+hCR9SMN+KU8OZJAxlHMv/Gq6dX5jJOR3MhqwwLUNH/pwgHAyAiE+JrROpH
         7HgWPDPoB7dPv1R+HLSnuZIlowvJBOjHq7ki/+dQ6XLxWyGsJH+PhXyOEVryp88Pd+TU
         FJo/T1kZVT88jFeQbsHLHoGMSvIlUp+FslrM9eWFExYhUmD4SI4i1GV/ioU4HYpzC4kk
         oXRGdDtXvkPliFKHdfp97W+m3kaCaFqjX5mOapXce37aVOh4PaqtyRlnLD7uEquFOpc+
         Z9H/PTVIsC2xDUfhOjuxv3l8t7XWsKOcvuOi869gEQXr7gqDLhUW2fpq7ifcdQe+ui4x
         hOMw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references;
        bh=ffOhNeCRLI4R9q5Bex6AKuS0TCu8t1Ca81Imzl0FQU4=;
        b=MqX8W8YMCsZnve+SmqJ053IrQhFd0IkfYpxm7SVLXMjPAUyAm6vjBOrhsYlRbq7XwA
         PJosD0XRRI1m90lYb2hkSVnWtFYUcgA8zzkJ92AGQ0fK0/XD3W0W8ZzjYduOKMw8PH2t
         G0ss0AX+d0ihVNIvjEYtug0M3V+nweyiiz4Ms3jmAZgOHU2W5m0emhDwMV8wSHP54x4+
         T+9c0JCHT3PxeS/4YZDZIPkgulXt5f4ksRoGvqtzAFSjoB3naR1rMQUEj8OlOFKmmbVc
         fD+3kCNr0fsP6HQbG4gfhKvDLS8wMNM2X466AXZlmsz1b7lv8ctjHp0d0R4wJWDhKVAI
         7fQw==
X-Gm-Message-State: AOAM530me4baAt5kEpRoixtSe/G0A2McxRHq/jPo2jXu+vV4QdptHNzS
	30QT9/asSfoEtHUQu0oPCc3eMQZy+poE3Q==
X-Google-Smtp-Source: ABdhPJw+s2eXh1HJSYkLLdDN0DRHU9Z9wDzvN5DARCbRXs6Jpf6MaUB0Rkse7zLIw2qsL99LEbUU3w==
X-Received: by 2002:a05:651c:20f:: with SMTP id y15mr3054743ljn.137.1628778156977;
        Thu, 12 Aug 2021 07:22:36 -0700 (PDT)
From: Anastasiia Lukianenko <vicooodin@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: oleksandr_tyshchenko@epam.com,
	artem_mygaiev@epam.com,
	rahul.singh@arm.com,
	bertrand.marquis@arm.com,
	oleksandr_andrushchenko@epam.com,
	roger.pau@citrix.com,
	julien@xen.org,
	sstabellini@kernel.org,
	andr2000@gmail.com,
	vicooodin@gmail.com,
	Anastasiia Lukianenko <anastasiia_lukianenko@epam.com>
Subject: [PATCH 4/9] tools/libs/light: Add "ls" command processing to xl pcid daemon and libxl PCI
Date: Thu, 12 Aug 2021 17:22:25 +0300
Message-Id: <20210812142230.19353-5-vicooodin@gmail.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20210812142230.19353-1-vicooodin@gmail.com>
References: <20210812142230.19353-1-vicooodin@gmail.com>

From: Anastasiia Lukianenko <anastasiia_lukianenko@epam.com>

Messaging format is based on json style. Xl pcid receives "ls" command from
client and sends a reply:
1. success case - array of directory's names
2. error case - message with "error" in return

Xl pcid server transmits information about devices assigned to the PCI
driver by sending reply with directory's names. Libxl PCI processes reply
message instead of opening directory in libxl side.

Signed-off-by: Anastasiia Lukianenko <anastasiia_lukianenko@epam.com>
---
 tools/include/pcid.h          |   7 ++
 tools/libs/light/libxl_pci.c  | 136 +++++++++++++++++++++++++++++-----
 tools/libs/light/libxl_pcid.c |  59 +++++++++++++++
 3 files changed, 184 insertions(+), 18 deletions(-)

diff --git a/tools/include/pcid.h b/tools/include/pcid.h
index 59a7aad64a..e9c3c497c6 100644
--- a/tools/include/pcid.h
+++ b/tools/include/pcid.h
@@ -28,12 +28,19 @@
 #define PCID_MSG_FIELD_ID        "id"
 #define PCID_MSG_FIELD_ARGS      "arguments"
 
+#define PCID_CMD_LIST            "ls"
+#define PCID_CMD_DIR_ID          "dir_id"
+
 #define PCID_PCIBACK_DRIVER      "pciback_driver"
 
 #if defined(__linux__)
 #define SYSFS_PCIBACK_DRIVER   "/sys/bus/pci/drivers/pciback"
 #endif
 
+#define PCI_INFO_PATH "/libxl/pci"
+#define PCI_BDF_XSPATH         "%04x-%02x-%02x-%01x"
+#define PCI_BDF                "%04x:%02x:%02x.%01x"
+
 int libxl_pcid_process(libxl_ctx *ctx);
 
 #endif /* PCID_H */
diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
index 30e203c264..6534b70777 100644
--- a/tools/libs/light/libxl_pci.c
+++ b/tools/libs/light/libxl_pci.c
@@ -17,6 +17,9 @@
 #include "libxl_osdeps.h" /* must come before any other headers */
 
 #include "libxl_internal.h"
+#include "libxl_vchan.h"
+
+#include <pcid.h>
 
 #define PCI_BDF                "%04x:%02x:%02x.%01x"
 #define PCI_BDF_SHORT          "%02x:%02x.%01x"
@@ -47,6 +50,100 @@ static void pci_struct_fill(libxl_device_pci *pci, unsigned int domain,
     pci->func = func;
 }
 
+static libxl__pcid_message_type pci_response_type(const libxl__json_object *o)
+{
+    libxl__pcid_message_type type;
+    libxl__json_map_node *node = NULL;
+    int i;
+
+    for (i = 0; (node = libxl__json_map_node_get(o, i)); i++) {
+        if (libxl__pcid_message_type_from_string(node->map_key, &type) == 0)
+            return type;
+    }
+    return LIBXL__PCID_MESSAGE_TYPE_INVALID;
+}
+
+static int pci_handle_msg(libxl__gc *gc, const libxl__json_object *request,
+                          libxl__json_object **result)
+{
+    libxl__pcid_message_type type = pci_response_type(request);
+
+    if (type == LIBXL__PCID_MESSAGE_TYPE_RETURN)
+        *result = (libxl__json_object *)libxl__json_map_get(VCHAN_MSG_RETURN,
+                                                            request, JSON_ANY);
+
+    return 0;
+}
+
+static char *pci_prepare_cmd(libxl__gc *gc, const char *cmd,
+                             libxl__json_object *args, int id)
+{
+    yajl_gen hand = NULL;
+    /* memory for 'buf' is owned by 'hand' */
+    const unsigned char *buf;
+    libxl_yajl_length len;
+    yajl_gen_status s;
+    char *ret = NULL;
+
+    hand = libxl_yajl_gen_alloc(NULL);
+
+    if (!hand)
+        return NULL;
+
+#if HAVE_YAJL_V2
+    /* Disable beautify for data */
+    yajl_gen_config(hand, yajl_gen_beautify, 0);
+#endif
+
+    yajl_gen_map_open(hand);
+    libxl__yajl_gen_asciiz(hand, VCHAN_MSG_EXECUTE);
+    libxl__yajl_gen_asciiz(hand, cmd);
+    libxl__yajl_gen_asciiz(hand, PCID_MSG_FIELD_ID);
+    yajl_gen_integer(hand, id);
+    if (args) {
+        libxl__yajl_gen_asciiz(hand, PCID_MSG_FIELD_ARGS);
+        libxl__json_object_to_yajl_gen(gc, hand, args);
+    }
+    yajl_gen_map_close(hand);
+
+    s = yajl_gen_get_buf(hand, &buf, &len);
+
+    if (s != yajl_gen_status_ok)
+        goto out;
+
+    ret = libxl__sprintf(gc, "%*.*s" END_OF_MESSAGE,
+                         (int)len, (int)len, buf);
+
+out:
+    yajl_gen_free(hand);
+    return ret;
+}
+
+static struct vchan_info *pci_prepare_vchan(libxl__gc *gc)
+{
+    struct vchan_info *vchan;
+    libxl_domid domid;
+    char *xs_path;
+
+    domid = vchan_find_server(gc, PCID_XS_DIR, PCID_XS_PATH);
+    if (domid == DOMID_INVALID) {
+        LOGE(ERROR, "Can't find vchan server");
+        return NULL;
+    }
+    vchan = libxl__zalloc(gc, sizeof(*vchan));
+    xs_path = GCSPRINTF(PCID_XS_DIR"%d"PCID_XS_PATH, domid);
+    vchan->state = vchan_get_instance(gc, domid, xs_path, VCHAN_CLIENT);
+    if (!(vchan->state))
+        return NULL;
+
+    vchan->handle_msg = pci_handle_msg;
+    vchan->prepare_cmd = pci_prepare_cmd;
+    vchan->receive_buf_size = PCI_RECEIVE_BUFFER_SIZE;
+    vchan->max_buf_size = PCI_MAX_SIZE_RX_BUF;
+
+    return vchan;
+}
+
 static void libxl_create_pci_backend_device(libxl__gc *gc,
                                             flexarray_t *back,
                                             int num,
@@ -429,33 +526,37 @@ static void pci_info_xs_remove(libxl__gc *gc, libxl_device_pci *pci,
 
 libxl_device_pci *libxl_device_pci_assignable_list(libxl_ctx *ctx, int *num)
 {
-    GC_INIT(ctx);
     libxl_device_pci *pcis = NULL, *new;
-    struct dirent *de;
-    DIR *dir;
 
+    GC_INIT(ctx);
     *num = 0;
+    struct vchan_info *vchan;
+    libxl__json_object *args = NULL, *result = NULL, *dir;
+    int i;
+    const char *dir_name;
 
-    dir = opendir(SYSFS_PCIBACK_DRIVER);
-    if (NULL == dir) {
-        if (errno == ENOENT) {
-            LOG(ERROR, "Looks like pciback driver not loaded");
-        } else {
-            LOGE(ERROR, "Couldn't open %s", SYSFS_PCIBACK_DRIVER);
-        }
+    vchan = pci_prepare_vchan(gc);
+    if (!vchan)
         goto out;
-    }
 
-    while((de = readdir(dir))) {
-        unsigned int dom, bus, dev, func;
-        char *name;
+    libxl__vchan_param_add_string(gc, &args, PCID_CMD_DIR_ID,
+                                  PCID_PCIBACK_DRIVER);
+    result = vchan_send_command(gc, vchan, PCID_CMD_LIST, args);
+    if (!result)
+        goto out;
 
-        if (sscanf(de->d_name, PCI_BDF, &dom, &bus, &dev, &func) != 4)
+    for (i = 0; (dir = libxl__json_array_get(result, i)); i++) {
+        dir_name = libxl__json_object_get_string(dir);
+        unsigned dom, bus, dev, func;
+        char *name;
+        if (sscanf(dir_name, PCI_BDF, &dom, &bus, &dev, &func) != 4)
             continue;
 
         new = realloc(pcis, ((*num) + 1) * sizeof(*new));
-        if (NULL == new)
-            continue;
+        if (new == NULL) {
+            LOGE(ERROR, "Couldn't realloc pcis struct for new entry");
+            break;
+        }
 
         pcis = new;
         new = pcis + *num;
@@ -472,7 +573,6 @@ libxl_device_pci *libxl_device_pci_assignable_list(libxl_ctx *ctx, int *num)
         (*num)++;
     }
 
-    closedir(dir);
 out:
     GC_FREE;
     return pcis;
diff --git a/tools/libs/light/libxl_pcid.c b/tools/libs/light/libxl_pcid.c
index 6317c77a3c..c897244e8a 100644
--- a/tools/libs/light/libxl_pcid.c
+++ b/tools/libs/light/libxl_pcid.c
@@ -36,6 +36,57 @@
 
 #define DOM0_ID 0
 
+static struct libxl__json_object *process_ls_cmd(libxl__gc *gc,
+                                                 const struct libxl__json_object *resp)
+{
+    libxl__json_object *result = NULL;
+    const libxl__json_object *args, *dir_id;
+    struct libxl__json_object *node;
+    char *dir_name;
+    struct dirent *de;
+    DIR *dir = NULL;
+
+    args = libxl__json_map_get(PCID_MSG_FIELD_ARGS, resp, JSON_MAP);
+    if (!args)
+        goto out;
+    dir_id = libxl__json_map_get(PCID_CMD_DIR_ID, args, JSON_ANY);
+    if (!dir_id)
+        goto out;
+
+    dir_name = dir_id->u.string;
+
+    if (strcmp(PCID_PCIBACK_DRIVER, dir_name) == 0)
+        dir = opendir(SYSFS_PCIBACK_DRIVER);
+    else {
+        LOGE(ERROR, "Unknown directory: %s\n", dir_name);
+        goto out;
+    }
+
+    if (dir == NULL) {
+        if (errno == ENOENT)
+            LOGE(ERROR, "Looks like pciback driver not loaded\n");
+        else
+            LOGE(ERROR, "Couldn't open %s\n", dir_name);
+        goto out;
+    }
+
+    result = libxl__json_object_alloc(gc, JSON_ARRAY);
+    if (!result) {
+        LOGE(ERROR, "Memory allocation failed\n");
+        goto out;
+    }
+    while ((de = readdir(dir))) {
+        node = libxl__json_object_alloc(gc, JSON_STRING);
+        node->u.string = de->d_name;
+        flexarray_append(result->u.array, node);
+    }
+
+    closedir(dir);
+
+out:
+    return result;
+}
+
 static int pcid_handle_message(libxl__gc *gc, const libxl__json_object *request,
                                libxl__json_object **result)
 {
@@ -49,6 +100,14 @@ static int pcid_handle_message(libxl__gc *gc, const libxl__json_object *request,
     }
     command_name = command_obj->u.string;
 
+    if (strcmp(command_name, PCID_CMD_LIST) == 0)
+       *result = process_ls_cmd(gc, request);
+    else
+        return ERROR_NOTFOUND;
+
+    if (!result)
+        return ERROR_FAIL;
+
     return 0;
 }
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 12 14:22:58 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 14:22:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166460.303833 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEBbl-0003sQ-Tw; Thu, 12 Aug 2021 14:22:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166460.303833; Thu, 12 Aug 2021 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 1mEBbl-0003sE-O1; Thu, 12 Aug 2021 14:22:57 +0000
Received: by outflank-mailman (input) for mailman id 166460;
 Thu, 12 Aug 2021 14:22:56 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tERp=ND=gmail.com=vicooodin@srs-us1.protection.inumbo.net>)
 id 1mEBbj-0002Q2-VE
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 14:22:56 +0000
Received: from mail-lf1-x130.google.com (unknown [2a00:1450:4864:20::130])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c5532888-2723-4c75-ab13-552b949f56b7;
 Thu, 12 Aug 2021 14:22:38 +0000 (UTC)
Received: by mail-lf1-x130.google.com with SMTP id g13so13686930lfj.12
 for <xen-devel@lists.xenproject.org>; Thu, 12 Aug 2021 07:22:38 -0700 (PDT)
Received: from localhost.localdomain (host-176-36-213-80.b024.la.net.ua.
 [176.36.213.80])
 by smtp.gmail.com with ESMTPSA id s16sm329678ljj.48.2021.08.12.07.22.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 12 Aug 2021 07:22: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: c5532888-2723-4c75-ab13-552b949f56b7
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references;
        bh=Srj9DO7HVVk4SzWRcp//DEXK7xs3aikVhiiKYWb+whk=;
        b=rgLgCupz5GKxOgQiBQHystEjZ8v7jBsCfY5WsVatRepq2ou5Q6crGH1bGccnwCOLv7
         o7+fg/VazGEO2bJdDDlVYc48eFcFhhvSU3Wx5QHSJXp45RLLN6UXm2tolRSrRhTXC4Nw
         DaENImdI1zuEc9dLeO72Vr8Jz1c6beLbawCjJ0m59fqh+PJ1sdzUD6qtNrAcJyVg0cIr
         KK1EuBWk8XAHYI00Fs0mOWjSPh0YndNGeof0yaONGKqELy19t78p5LZWhhrflpl0+Tv6
         2fqyMFhr+9FapyEHnHSQiunEgiTKr+p3gEUJqPWGeKturu0um8/bI+XINSE6VY0sFTb3
         tuKw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references;
        bh=Srj9DO7HVVk4SzWRcp//DEXK7xs3aikVhiiKYWb+whk=;
        b=GDMkdMqTxwiVnYn+vZIYEhKUfFQjrT695gCHqHk7EuoavZQDabj/pRTr244PVrrs2t
         UzmtMxInOi+M6ifi1usqrW5CPM/y9I+T/F989t0Euwo8q5jMJX0Q92a1NvrT3IZAYNf1
         +LLwxHDousSPeKBlFH8IcOP+z/PbDufgxOvfOlaGOqaE5odyYEvmJ9px/ap3vMjkDImP
         ZNtfLLog/RHtwLroZyMk6fDyTQQ+JSCcOnp/99BvQAKOQyzU7DA+jE9nSDAmCVoUGMDO
         EA4bRqK6VAW6qOJ38H92/eDF9FA8OiaRfkfAzXVYH//yhGIj6x4/5L2FPleo+d0c0RT9
         uOoQ==
X-Gm-Message-State: AOAM533/wu4jFQo1lt/S1t7ThEEAsQ3TV6ejPmKOVM0eXi8s4kAvCTFh
	IwJrZ7xgPrBBmJJlE0NliEQZH12AIosMew==
X-Google-Smtp-Source: ABdhPJzIDmPpI2NV1Z+nnvGRy+mYxm9LgTsqof4DzsgEkpP6Lpe6fOLwjWLgBlSWzrZfZ7P5DkTTyA==
X-Received: by 2002:a05:6512:6b:: with SMTP id i11mr2602548lfo.499.1628778155747;
        Thu, 12 Aug 2021 07:22:35 -0700 (PDT)
From: Anastasiia Lukianenko <vicooodin@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: oleksandr_tyshchenko@epam.com,
	artem_mygaiev@epam.com,
	rahul.singh@arm.com,
	bertrand.marquis@arm.com,
	oleksandr_andrushchenko@epam.com,
	roger.pau@citrix.com,
	julien@xen.org,
	sstabellini@kernel.org,
	andr2000@gmail.com,
	vicooodin@gmail.com,
	Anastasiia Lukianenko <anastasiia_lukianenko@epam.com>
Subject: [PATCH 3/9] tools/xl: Add pcid daemon to xl
Date: Thu, 12 Aug 2021 17:22:24 +0300
Message-Id: <20210812142230.19353-4-vicooodin@gmail.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20210812142230.19353-1-vicooodin@gmail.com>
References: <20210812142230.19353-1-vicooodin@gmail.com>

From: Anastasiia Lukianenko <anastasiia_lukianenko@epam.com>

Add draft version of pcid server (based on vchan-node2), which can receive
messages from the client.

Signed-off-by: Anastasiia Lukianenko <anastasiia_lukianenko@epam.com>
---
 tools/configure                      |  5 +-
 tools/hotplug/FreeBSD/rc.d/xlpcid.in | 75 ++++++++++++++++++++++++++
 tools/hotplug/Linux/init.d/xlpcid.in | 76 ++++++++++++++++++++++++++
 tools/hotplug/NetBSD/rc.d/xlpcid.in  | 75 ++++++++++++++++++++++++++
 tools/xl/Makefile                    |  4 +-
 tools/xl/xl.h                        |  1 +
 tools/xl/xl_cmdtable.c               |  7 +++
 tools/xl/xl_pcid.c                   | 79 ++++++++++++++++++++++++++++
 8 files changed, 319 insertions(+), 3 deletions(-)
 create mode 100644 tools/hotplug/FreeBSD/rc.d/xlpcid.in
 create mode 100644 tools/hotplug/Linux/init.d/xlpcid.in
 create mode 100644 tools/hotplug/NetBSD/rc.d/xlpcid.in
 create mode 100644 tools/xl/xl_pcid.c

diff --git a/tools/configure b/tools/configure
index b21ade08c0..be9fc9b1d4 100755
--- a/tools/configure
+++ b/tools/configure
@@ -2454,7 +2454,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-ac_config_files="$ac_config_files ../config/Tools.mk hotplug/FreeBSD/rc.d/xencommons hotplug/FreeBSD/rc.d/xendriverdomain hotplug/Linux/init.d/sysconfig.xencommons hotplug/Linux/init.d/sysconfig.xendomains hotplug/Linux/init.d/xen-watchdog hotplug/Linux/init.d/xencommons hotplug/Linux/init.d/xendomains hotplug/Linux/init.d/xendriverdomain hotplug/Linux/launch-xenstore hotplug/Linux/vif-setup hotplug/Linux/xen-hotplug-common.sh hotplug/Linux/xendomains hotplug/NetBSD/rc.d/xencommons hotplug/NetBSD/rc.d/xendriverdomain ocaml/xenstored/oxenstored.conf"
+ac_config_files="$ac_config_files ../config/Tools.mk hotplug/FreeBSD/rc.d/xencommons hotplug/FreeBSD/rc.d/xendriverdomain hotplug/FreeBSD/rc.d/xlpcid hotplug/Linux/init.d/sysconfig.xencommons hotplug/Linux/init.d/sysconfig.xendomains hotplug/Linux/init.d/xlpcid 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 hotplug/NetBSD/rc.d/xlpcid ocaml/xenstored/oxenstored.conf"
 
 ac_config_headers="$ac_config_headers config.h"
 
@@ -10892,8 +10892,10 @@ do
     "../config/Tools.mk") CONFIG_FILES="$CONFIG_FILES ../config/Tools.mk" ;;
     "hotplug/FreeBSD/rc.d/xencommons") CONFIG_FILES="$CONFIG_FILES hotplug/FreeBSD/rc.d/xencommons" ;;
     "hotplug/FreeBSD/rc.d/xendriverdomain") CONFIG_FILES="$CONFIG_FILES hotplug/FreeBSD/rc.d/xendriverdomain" ;;
+    "hotplug/FreeBSD/rc.d/xlpcid") CONFIG_FILES="$CONFIG_FILES hotplug/FreeBSD/rc.d/xlpcid" ;;
     "hotplug/Linux/init.d/sysconfig.xencommons") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/init.d/sysconfig.xencommons" ;;
     "hotplug/Linux/init.d/sysconfig.xendomains") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/init.d/sysconfig.xendomains" ;;
+    "hotplug/Linux/init.d/xlpcid") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/init.d/xlpcid" ;;
     "hotplug/Linux/init.d/xen-watchdog") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/init.d/xen-watchdog" ;;
     "hotplug/Linux/init.d/xencommons") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/init.d/xencommons" ;;
     "hotplug/Linux/init.d/xendomains") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/init.d/xendomains" ;;
@@ -10904,6 +10906,7 @@ do
     "hotplug/Linux/xendomains") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/xendomains" ;;
     "hotplug/NetBSD/rc.d/xencommons") CONFIG_FILES="$CONFIG_FILES hotplug/NetBSD/rc.d/xencommons" ;;
     "hotplug/NetBSD/rc.d/xendriverdomain") CONFIG_FILES="$CONFIG_FILES hotplug/NetBSD/rc.d/xendriverdomain" ;;
+    "hotplug/NetBSD/rc.d/xlpcid") CONFIG_FILES="$CONFIG_FILES hotplug/NetBSD/rc.d/xlpcid" ;;
     "ocaml/xenstored/oxenstored.conf") CONFIG_FILES="$CONFIG_FILES ocaml/xenstored/oxenstored.conf" ;;
     "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
     "hotplug/Linux/systemd/proc-xen.mount") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/systemd/proc-xen.mount" ;;
diff --git a/tools/hotplug/FreeBSD/rc.d/xlpcid.in b/tools/hotplug/FreeBSD/rc.d/xlpcid.in
new file mode 100644
index 0000000000..2817bfaeed
--- /dev/null
+++ b/tools/hotplug/FreeBSD/rc.d/xlpcid.in
@@ -0,0 +1,75 @@
+#! /bin/bash
+#
+# xlpcid
+#
+# description: Run xlpcid daemon
+### BEGIN INIT INFO
+# Provides:          xlpcid
+# Short-Description: Start/stop xlpcid
+# Description:       Run xlpcid daemon
+### END INIT INFO
+#
+
+. @XEN_SCRIPT_DIR@/hotplugpath.sh
+
+xencommons_config=@CONFIG_DIR@/@CONFIG_LEAF_DIR@
+
+test -f $xencommons_config/xencommons && . $xencommons_config/xencommons
+
+XLPCID_PIDFILE="@XEN_RUN_DIR@/xlpcid.pid"
+
+# Source function library.
+if [ -e  /etc/init.d/functions ] ; then
+    . /etc/init.d/functions
+elif [ -e /lib/lsb/init-functions ] ; then
+    . /lib/lsb/init-functions
+    success () {
+        log_success_msg $*
+    }
+    failure () {
+        log_failure_msg $*
+    }
+else
+    success () {
+        echo $*
+    }
+    failure () {
+        echo $*
+    }
+fi
+
+start() {
+  echo Starting xl pcid...
+  ${sbindir}/xl pcid --pidfile=$XLPCID_PIDFILE $XLPCID_ARGS
+}
+
+stop() {
+  echo Stopping xl pcid...
+  if read 2>/dev/null <$XLPCID_PIDFILE pid; then
+    kill $pid
+    while kill -9 $pid >/dev/null 2>&1; do sleep 1; done
+    rm -f $XLPCID_PIDFILE
+  fi
+}
+
+case "$1" in
+  start)
+    start
+	;;
+  stop)
+	stop
+	;;
+  restart)
+	stop
+	start
+	;;
+  status)
+	;;
+  condrestart)
+	stop
+	start
+	;;
+  *)
+	echo $"Usage: $0 {start|stop|status|restart|condrestart}"
+	exit 1
+esac
diff --git a/tools/hotplug/Linux/init.d/xlpcid.in b/tools/hotplug/Linux/init.d/xlpcid.in
new file mode 100644
index 0000000000..dce660098c
--- /dev/null
+++ b/tools/hotplug/Linux/init.d/xlpcid.in
@@ -0,0 +1,76 @@
+#! /bin/bash
+#
+# xlpcid
+#
+# description: Run xlpcid daemon
+### BEGIN INIT INFO
+# Provides:          xlpcid
+# Short-Description: Start/stop xlpcid
+# Description:       Run xlpcid daemon
+### END INIT INFO
+#
+
+. @XEN_SCRIPT_DIR@/hotplugpath.sh
+
+xencommons_config=@CONFIG_DIR@/@CONFIG_LEAF_DIR@
+
+test -f $xencommons_config/xencommons && . $xencommons_config/xencommons
+
+XLPCID_PIDFILE="@XEN_RUN_DIR@/xlpcid.pid"
+
+# Source function library.
+if [ -e  /etc/init.d/functions ] ; then
+    . /etc/init.d/functions
+elif [ -e /lib/lsb/init-functions ] ; then
+    . /lib/lsb/init-functions
+    success () {
+        log_success_msg $*
+    }
+    failure () {
+        log_failure_msg $*
+    }
+else
+    success () {
+        echo $*
+    }
+    failure () {
+        echo $*
+    }
+fi
+
+start() {
+  echo Starting xl pcid...
+  ${sbindir}/xl pcid --pidfile=$XLPCID_PIDFILE $XLPCID_ARGS
+}
+
+stop() {
+  echo Stopping xl pcid...
+  if read 2>/dev/null <$XLPCID_PIDFILE pid; then
+    kill $pid
+    while kill -9 $pid >/dev/null 2>&1; do sleep 1; done
+    rm -f $XLPCID_PIDFILE
+  fi
+}
+
+case "$1" in
+  start)
+    start
+	;;
+  stop)
+	stop
+	;;
+  restart)
+	stop
+	start
+	;;
+  status)
+	;;
+  condrestart)
+	stop
+	start
+	;;
+  *)
+	echo $"Usage: $0 {start|stop|status|restart|condrestart}"
+	exit 1
+esac
+
diff --git a/tools/hotplug/NetBSD/rc.d/xlpcid.in b/tools/hotplug/NetBSD/rc.d/xlpcid.in
new file mode 100644
index 0000000000..2817bfaeed
--- /dev/null
+++ b/tools/hotplug/NetBSD/rc.d/xlpcid.in
@@ -0,0 +1,75 @@
+#! /bin/bash
+#
+# xlpcid
+#
+# description: Run xlpcid daemon
+### BEGIN INIT INFO
+# Provides:          xlpcid
+# Short-Description: Start/stop xlpcid
+# Description:       Run xlpcid daemon
+### END INIT INFO
+#
+
+. @XEN_SCRIPT_DIR@/hotplugpath.sh
+
+xencommons_config=@CONFIG_DIR@/@CONFIG_LEAF_DIR@
+
+test -f $xencommons_config/xencommons && . $xencommons_config/xencommons
+
+XLPCID_PIDFILE="@XEN_RUN_DIR@/xlpcid.pid"
+
+# Source function library.
+if [ -e  /etc/init.d/functions ] ; then
+    . /etc/init.d/functions
+elif [ -e /lib/lsb/init-functions ] ; then
+    . /lib/lsb/init-functions
+    success () {
+        log_success_msg $*
+    }
+    failure () {
+        log_failure_msg $*
+    }
+else
+    success () {
+        echo $*
+    }
+    failure () {
+        echo $*
+    }
+fi
+
+start() {
+  echo Starting xl pcid...
+  ${sbindir}/xl pcid --pidfile=$XLPCID_PIDFILE $XLPCID_ARGS
+}
+
+stop() {
+  echo Stopping xl pcid...
+  if read 2>/dev/null <$XLPCID_PIDFILE pid; then
+    kill $pid
+    while kill -9 $pid >/dev/null 2>&1; do sleep 1; done
+    rm -f $XLPCID_PIDFILE
+  fi
+}
+
+case "$1" in
+  start)
+    start
+	;;
+  stop)
+	stop
+	;;
+  restart)
+	stop
+	start
+	;;
+  status)
+	;;
+  condrestart)
+	stop
+	start
+	;;
+  *)
+	echo $"Usage: $0 {start|stop|status|restart|condrestart}"
+	exit 1
+esac
diff --git a/tools/xl/Makefile b/tools/xl/Makefile
index d35570c343..d46a9ad24a 100644
--- a/tools/xl/Makefile
+++ b/tools/xl/Makefile
@@ -22,7 +22,7 @@ XL_OBJS = xl.o xl_cmdtable.o xl_sxp.o xl_utils.o $(XL_OBJS-y)
 XL_OBJS += xl_parse.o xl_cpupool.o xl_flask.o
 XL_OBJS += xl_vtpm.o xl_block.o xl_nic.o xl_usb.o
 XL_OBJS += xl_sched.o xl_pci.o xl_vcpu.o xl_cdrom.o xl_mem.o
-XL_OBJS += xl_info.o xl_console.o xl_misc.o
+XL_OBJS += xl_info.o xl_console.o xl_misc.o xl_pcid.o
 XL_OBJS += xl_vmcontrol.o xl_saverestore.o xl_migrate.o
 XL_OBJS += xl_vdispl.o xl_vsnd.o xl_vkb.o xl_vcamera.o
 
@@ -39,7 +39,7 @@ $(XL_OBJS): _paths.h
 all: xl
 
 xl: $(XL_OBJS)
-	$(CC) $(LDFLAGS) -o $@ $(XL_OBJS) $(LDLIBS_libxenutil) $(LDLIBS_libxenlight) $(LDLIBS_libxentoollog) $(LDLIBS_libxenvchan) -lyajl $(APPEND_LDFLAGS)
+	$(CC) $(LDFLAGS) -o $@ $(XL_OBJS) $(LDLIBS_libxenstore) $(LDLIBS_libxenutil) $(LDLIBS_libxenlight) $(LDLIBS_libxentoollog) $(LDLIBS_libxenvchan) -lyajl $(APPEND_LDFLAGS)
 
 .PHONY: install
 install: all
diff --git a/tools/xl/xl.h b/tools/xl/xl.h
index e1d5190cc8..a88f03c624 100644
--- a/tools/xl/xl.h
+++ b/tools/xl/xl.h
@@ -206,6 +206,7 @@ int main_loadpolicy(int argc, char **argv);
 int main_remus(int argc, char **argv);
 #endif
 int main_devd(int argc, char **argv);
+int main_pcid(int argc, char **argv);
 #if defined(__i386__) || defined(__x86_64__)
 int main_psr_hwinfo(int argc, char **argv);
 int main_psr_cmt_attach(int argc, char **argv);
diff --git a/tools/xl/xl_cmdtable.c b/tools/xl/xl_cmdtable.c
index c3cb515348..dfc4386b35 100644
--- a/tools/xl/xl_cmdtable.c
+++ b/tools/xl/xl_cmdtable.c
@@ -560,6 +560,13 @@ const struct cmd_spec cmd_table[] = {
       "-F                      Run in the foreground.\n"
       "-p, --pidfile [FILE]    Write PID to pidfile when daemonizing.",
     },
+    { "pcid",
+      &main_pcid, 0, 1,
+      "Daemon that acts as a server for the client in the libxl PCI",
+      "[options]",
+      "-F                      Run in the foreground.\n"
+      "-p, --pidfile [FILE]    Write PID to pidfile when daemonizing.",
+    },
 #if defined(__i386__) || defined(__x86_64__)
     { "psr-hwinfo",
       &main_psr_hwinfo, 0, 1,
diff --git a/tools/xl/xl_pcid.c b/tools/xl/xl_pcid.c
new file mode 100644
index 0000000000..f0635579ca
--- /dev/null
+++ b/tools/xl/xl_pcid.c
@@ -0,0 +1,79 @@
+/*
+    Pcid daemon that acts as a server for the client in the libxl PCI
+
+    Copyright (C) 2021 EPAM Systems Inc.
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#define _GNU_SOURCE  // required for strchrnul()
+
+#include <libxl_utils.h>
+#include <libxlutil.h>
+
+#include "xl.h"
+#include "xl_utils.h"
+#include "xl_parse.h"
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <errno.h>
+
+#include <pcid.h>
+#include <xenstore.h>
+
+/*
+ * TODO: Running this code in multi-threaded environment
+ * Now the code is designed so that only one request to the server
+ * from the client is made in one domain. In the future, it is necessary
+ * to take into account cases when from different domains there can be
+ * several requests from a client at the same time. Therefore, it will be
+ * necessary to regulate the multithreading of processes for global variables.
+ */
+
+int main_pcid(int argc, char *argv[])
+{
+    int opt = 0, daemonize = 1, ret;
+    const char *pidfile = NULL;
+    static const struct option opts[] = {
+        {"pidfile", 1, 0, 'p'},
+        COMMON_LONG_OPTS,
+        {0, 0, 0, 0}
+    };
+
+    SWITCH_FOREACH_OPT(opt, "Fp:", opts, "pcid", 0) {
+    case 'F':
+        daemonize = 0;
+        break;
+    case 'p':
+        pidfile = optarg;
+        break;
+    }
+
+    if (daemonize) {
+        ret = do_daemonize("xlpcid", pidfile);
+        if (ret) {
+            ret = (ret == 1) ? 0 : ret;
+            goto out_daemon;
+        }
+    }
+
+    libxl_pcid_process(ctx);
+
+out_daemon:
+    exit(1);
+}
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 12 14:23:02 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 14:23:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166463.303844 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEBbq-0004SH-86; Thu, 12 Aug 2021 14:23:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166463.303844; Thu, 12 Aug 2021 14:23:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEBbq-0004Ru-2R; Thu, 12 Aug 2021 14:23:02 +0000
Received: by outflank-mailman (input) for mailman id 166463;
 Thu, 12 Aug 2021 14:23:01 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tERp=ND=gmail.com=vicooodin@srs-us1.protection.inumbo.net>)
 id 1mEBbo-0002Q2-VG
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 14:23:00 +0000
Received: from mail-lj1-x232.google.com (unknown [2a00:1450:4864:20::232])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 8f146ec4-2442-4c88-866a-7dd44b380abc;
 Thu, 12 Aug 2021 14:22:39 +0000 (UTC)
Received: by mail-lj1-x232.google.com with SMTP id n6so10773714ljp.9
 for <xen-devel@lists.xenproject.org>; Thu, 12 Aug 2021 07:22:39 -0700 (PDT)
Received: from localhost.localdomain (host-176-36-213-80.b024.la.net.ua.
 [176.36.213.80])
 by smtp.gmail.com with ESMTPSA id s16sm329678ljj.48.2021.08.12.07.22.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 12 Aug 2021 07:22: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: 8f146ec4-2442-4c88-866a-7dd44b380abc
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references;
        bh=lsigEyEQd5J6XuvBHqhWnDNkEtofXcrhnILksWH00iM=;
        b=XyW1gb9bH2YdxMPJ5EwY0SDVcFa6MyntkX+DUja59K3IcDwcEmCfkdsV32BYA+RPv4
         bDDabzVqHhitdbLHZ0MR/dvQ4e9fwOO5xAyij8dPQRy8x/jV+W+ENMMwOxIzRkk5GPJM
         yGkphC405Ein9DH5GvASUlaXeqZOubYkohAdBVPXko53WimlfEVU9DNgB7z5lJOvdnsV
         UCELcjqjCpqIl1ueiPoUOT7fNQVJy5JMYZkkmUGC4SnYCxNJnmNTgrV8f1vSxeNSH1SO
         x0IWtSS4UytuDrA9t2U8vVkSKOMomFZg9D6uBh07IqhUu5M7ExpEhAdwInOu0NEbHCDz
         2F3A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references;
        bh=lsigEyEQd5J6XuvBHqhWnDNkEtofXcrhnILksWH00iM=;
        b=t1QGYLoLi3NONAZkESyqG9ZbYx1+sqWQwsXBzuYoJBhkwvjNznY/i/V7f4zULee0km
         k5KcYXgXiNaGhmBsFxMThpLEOhQlSFbBjHoQgJML27hkXh39NNHTA4tl0fmB79VDoWwq
         /i1BU1v5AIk+wtZgvU/S2jIpUhRYXvcy8CYQZEo2NddRdVlyVYi5QA56Iv+CwAidYaDN
         EWRchnTVz2Eqqi6JRnGPTxr2uGhraLjf6p74ywcnVgPwAzhcRh78njY7l0xX61WXAOJZ
         N3R7f5NksN6mmrGoaNenBzkEjpAXabPdQyalij8LvZ23bCRVBkpw27M+XSNzkoe7mWWn
         XmRw==
X-Gm-Message-State: AOAM533vrZcMTNedPLaAjRX763ihZRg8pSd+ROr3uR6VOvKXbkb982XU
	Q8zDKE7QG1AI22HzNDzsmcqEnkTOvjY2dw==
X-Google-Smtp-Source: ABdhPJxpz+xwdDf79Qy6LV8TTfBxB1VIPh8lU4qbF2yk0zFZkGDacHUowCUjhRFubiTJor/5+QTm4w==
X-Received: by 2002:a2e:9a50:: with SMTP id k16mr3146463ljj.308.1628778158297;
        Thu, 12 Aug 2021 07:22:38 -0700 (PDT)
From: Anastasiia Lukianenko <vicooodin@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: oleksandr_tyshchenko@epam.com,
	artem_mygaiev@epam.com,
	rahul.singh@arm.com,
	bertrand.marquis@arm.com,
	oleksandr_andrushchenko@epam.com,
	roger.pau@citrix.com,
	julien@xen.org,
	sstabellini@kernel.org,
	andr2000@gmail.com,
	vicooodin@gmail.com,
	Anastasiia Lukianenko <anastasiia_lukianenko@epam.com>
Subject: [PATCH 5/9] tools/libs/light: Add "write" command to xl pcid and libxl PCI
Date: Thu, 12 Aug 2021 17:22:26 +0300
Message-Id: <20210812142230.19353-6-vicooodin@gmail.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20210812142230.19353-1-vicooodin@gmail.com>
References: <20210812142230.19353-1-vicooodin@gmail.com>

From: Anastasiia Lukianenko <anastasiia_lukianenko@epam.com>

Add functions for handling "write" command on xl pcid side. Libxl PCI side
receives reply:
1. success - string in "return" message
2. fail - error type of reply message

Signed-off-by: Anastasiia Lukianenko <anastasiia_lukianenko@epam.com>
---
 tools/include/pcid.h          |  7 ++++
 tools/libs/light/libxl_pci.c  | 69 +++++++++++++++++++----------------
 tools/libs/light/libxl_pcid.c | 69 +++++++++++++++++++++++++++++++++++
 3 files changed, 113 insertions(+), 32 deletions(-)

diff --git a/tools/include/pcid.h b/tools/include/pcid.h
index e9c3c497c6..935d99b186 100644
--- a/tools/include/pcid.h
+++ b/tools/include/pcid.h
@@ -31,7 +31,14 @@
 #define PCID_CMD_LIST            "ls"
 #define PCID_CMD_DIR_ID          "dir_id"
 
+#define PCID_CMD_WRITE           "write"
+#define PCID_CMD_PCI_PATH        "pci_path"
+#define PCID_CMD_PCI_INFO        "pci_info"
+
 #define PCID_PCIBACK_DRIVER      "pciback_driver"
+#define PCID_PCI_DEV             "pci_dev"
+
+#define SYSFS_DRIVER_PATH        "driver_path"
 
 #if defined(__linux__)
 #define SYSFS_PCIBACK_DRIVER   "/sys/bus/pci/drivers/pciback"
diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
index 6534b70777..03ce42dec3 100644
--- a/tools/libs/light/libxl_pci.c
+++ b/tools/libs/light/libxl_pci.c
@@ -455,28 +455,34 @@ static bool is_pci_in_array(libxl_device_pci *pcis, int num,
 }
 
 /* Write the standard BDF into the sysfs path given by sysfs_path. */
-static int sysfs_write_bdf(libxl__gc *gc, const char * sysfs_path,
+static int sysfs_write_bdf(libxl__gc *gc, const char *sysfs_path,
+                           const char *pci_path,
                            libxl_device_pci *pci)
 {
-    int rc, fd;
     char *buf;
 
-    fd = open(sysfs_path, O_WRONLY);
-    if (fd < 0) {
-        LOGE(ERROR, "Couldn't open %s", sysfs_path);
-        return ERROR_FAIL;
-    }
+    struct vchan_info *vchan;
+    libxl__json_object *args = NULL, *result = NULL;
 
-    buf = GCSPRINTF(PCI_BDF, pci->domain, pci->bus,
-                    pci->dev, pci->func);
-    rc = write(fd, buf, strlen(buf));
-    /* Annoying to have two if's, but we need the errno */
-    if (rc < 0)
-        LOGE(ERROR, "write to %s returned %d", sysfs_path, rc);
-    close(fd);
+    vchan = pci_prepare_vchan(gc);
+    if (!vchan)
+        return ERROR_FAIL;
 
-    if (rc < 0)
+    buf = GCSPRINTF(PCI_BDF, pci->domain, pci->bus, pci->dev, pci->func);
+    if (strcmp(SYSFS_PCI_DEV, sysfs_path) == 0)
+        libxl__vchan_param_add_string(gc, &args, PCID_CMD_DIR_ID, PCID_PCI_DEV);
+    else if (strcmp(SYSFS_PCIBACK_DRIVER, sysfs_path) == 0)
+        libxl__vchan_param_add_string(gc, &args, PCID_CMD_DIR_ID, PCID_PCIBACK_DRIVER);
+    else if (strcmp(SYSFS_DRIVER_PATH, sysfs_path) == 0)
+        libxl__vchan_param_add_string(gc, &args, PCID_CMD_DIR_ID, SYSFS_DRIVER_PATH);
+
+    libxl__vchan_param_add_string(gc, &args, PCID_CMD_PCI_PATH, pci_path);
+    libxl__vchan_param_add_string(gc, &args, PCID_CMD_PCI_INFO, buf);
+    result = vchan_send_command(gc, vchan, PCID_CMD_WRITE, args);
+    if (!result) {
+        LOGE(WARN, "Write %s to %s failed\n", buf, sysfs_path);
         return ERROR_FAIL;
+    }
 
     return 0;
 }
@@ -593,14 +599,13 @@ void libxl_device_pci_assignable_list_free(libxl_device_pci *list, int num)
 static int sysfs_dev_unbind(libxl__gc *gc, libxl_device_pci *pci,
                             char **driver_path)
 {
-    char * spath, *dp = NULL;
+    char *spath, *pci_path, *dp = NULL;
     struct stat st;
 
-    spath = GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF"/driver",
-                           pci->domain,
-                           pci->bus,
-                           pci->dev,
-                           pci->func);
+    pci_path = GCSPRINTF("/"PCI_BDF"/driver", pci->domain, pci->bus,
+                         pci->dev, pci->func);
+
+    spath = GCSPRINTF(SYSFS_PCI_DEV"%s", pci_path);
     if ( !lstat(spath, &st) ) {
         /* Find the canonical path to the driver. */
         dp = libxl__zalloc(gc, PATH_MAX);
@@ -614,7 +619,7 @@ static int sysfs_dev_unbind(libxl__gc *gc, libxl_device_pci *pci,
 
         /* Unbind from the old driver */
         spath = GCSPRINTF("%s/unbind", dp);
-        if ( sysfs_write_bdf(gc, spath, pci) < 0 ) {
+        if (sysfs_write_bdf(gc, SYSFS_PCI_DEV, pci_path, pci) < 0) {
             LOGE(ERROR, "Couldn't unbind device");
             return -1;
         }
@@ -816,14 +821,14 @@ static int pciback_dev_assign(libxl__gc *gc, libxl_device_pci *pci)
         LOGE(ERROR, "Error checking for pciback slot");
         return ERROR_FAIL;
     } else if (rc == 0) {
-        if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/new_slot",
-                             pci) < 0 ) {
+        if (sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER, "/new_slot",
+                            pci) < 0) {
             LOGE(ERROR, "Couldn't bind device to pciback!");
             return ERROR_FAIL;
         }
     }
 
-    if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/bind", pci) < 0 ) {
+    if (sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER, "/bind", pci) < 0) {
         LOGE(ERROR, "Couldn't bind device to pciback!");
         return ERROR_FAIL;
     }
@@ -840,8 +845,8 @@ static int pciback_dev_unassign(libxl__gc *gc, libxl_device_pci *pci)
 
     /* Remove slot if necessary */
     if ( pciback_dev_has_slot(gc, pci) > 0 ) {
-        if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/remove_slot",
-                             pci) < 0 ) {
+        if (sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER, "/remove_slot",
+                            pci) < 0) {
             LOGE(ERROR, "Couldn't remove pciback slot");
             return ERROR_FAIL;
         }
@@ -1022,9 +1027,9 @@ static int libxl__device_pci_assignable_remove(libxl__gc *gc,
         if ( rebind ) {
             LOG(INFO, "Rebinding to driver at %s", driver_path);
 
-            if ( sysfs_write_bdf(gc,
-                                 GCSPRINTF("%s/bind", driver_path),
-                                 pci) < 0 ) {
+            if (sysfs_write_bdf(gc, SYSFS_DRIVER_PATH,
+                                GCSPRINTF("%s/bind", driver_path),
+                                pci) < 0) {
                 LOGE(ERROR, "Couldn't bind device to %s", driver_path);
                 return -1;
             }
@@ -1565,8 +1570,8 @@ static void pci_add_dm_done(libxl__egc *egc,
 
     /* Don't restrict writes to the PCI config space from this VM */
     if (pci->permissive) {
-        if ( sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER"/permissive",
-                             pci) < 0 ) {
+        if (sysfs_write_bdf(gc, SYSFS_PCIBACK_DRIVER, "/permissive",
+                            pci) < 0) {
             LOGD(ERROR, domainid, "Setting permissive for device");
             rc = ERROR_FAIL;
             goto out;
diff --git a/tools/libs/light/libxl_pcid.c b/tools/libs/light/libxl_pcid.c
index c897244e8a..ee4c832779 100644
--- a/tools/libs/light/libxl_pcid.c
+++ b/tools/libs/light/libxl_pcid.c
@@ -87,6 +87,73 @@ out:
     return result;
 }
 
+static int handle_write_cmd(libxl__gc *gc, char *sysfs_path, char *pci_info)
+{
+    int rc, fd;
+
+    fd = open(sysfs_path, O_WRONLY);
+    if (fd < 0) {
+        LOGE(ERROR, "Couldn't open %s\n", sysfs_path);
+        return ERROR_FAIL;
+    }
+
+    rc = write(fd, pci_info, strlen(pci_info));
+    close(fd);
+    if (rc < 0) {
+        LOGE(ERROR, "write to %s returned %d\n", sysfs_path, rc);
+        return ERROR_FAIL;
+    }
+
+    return 0;
+}
+
+static libxl__json_object *process_write_cmd(libxl__gc *gc,
+                                             const struct libxl__json_object *resp)
+{
+    libxl__json_object *result = NULL;
+    const struct libxl__json_object *args, *dir_id, *pci_path, *pci_info;
+    char *full_path;
+    int ret;
+
+    args = libxl__json_map_get(PCID_MSG_FIELD_ARGS, resp, JSON_MAP);
+    if (!args)
+        goto out;
+    dir_id = libxl__json_map_get(PCID_CMD_DIR_ID, args, JSON_ANY);
+    if (!dir_id)
+        goto out;
+    pci_path = libxl__json_map_get(PCID_CMD_PCI_PATH, args, JSON_ANY);
+    if (!pci_path)
+        goto out;
+    pci_info = libxl__json_map_get(PCID_CMD_PCI_INFO, args, JSON_ANY);
+    if (!pci_info)
+        goto out;
+
+    if (strcmp(dir_id->u.string, PCID_PCI_DEV) == 0)
+        full_path = libxl__sprintf(gc, SYSFS_PCI_DEV"%s", pci_path->u.string);
+    else if (strcmp(dir_id->u.string, PCID_PCIBACK_DRIVER) == 0)
+        full_path = libxl__sprintf(gc, SYSFS_PCIBACK_DRIVER"%s", pci_path->u.string);
+    else if (strcmp(dir_id->u.string, SYSFS_DRIVER_PATH) == 0)
+        full_path = pci_path->u.string;
+    else {
+        LOGE(ERROR, "Unknown write directory %s\n", dir_id->u.string);
+        goto out;
+    }
+
+    ret = handle_write_cmd(gc, full_path, pci_info->u.string);
+    if (ret != 0)
+        goto out;
+
+    result = libxl__json_object_alloc(gc, JSON_STRING);
+    if (!result) {
+        LOGE(ERROR, "Memory allocation failed\n");
+        goto out;
+    }
+    result->u.string = pci_path->u.string;
+
+out:
+    return result;
+}
+
 static int pcid_handle_message(libxl__gc *gc, const libxl__json_object *request,
                                libxl__json_object **result)
 {
@@ -102,6 +169,8 @@ static int pcid_handle_message(libxl__gc *gc, const libxl__json_object *request,
 
     if (strcmp(command_name, PCID_CMD_LIST) == 0)
        *result = process_ls_cmd(gc, request);
+    else if (strcmp(PCID_CMD_WRITE, command_name) == 0)
+       *result = process_write_cmd(gc, request);
     else
         return ERROR_NOTFOUND;
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 12 14:23:07 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 14:23:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166469.303855 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEBbv-00051K-MF; Thu, 12 Aug 2021 14:23:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166469.303855; Thu, 12 Aug 2021 14:23:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEBbv-00051D-IM; Thu, 12 Aug 2021 14:23:07 +0000
Received: by outflank-mailman (input) for mailman id 166469;
 Thu, 12 Aug 2021 14:23:06 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tERp=ND=gmail.com=vicooodin@srs-us1.protection.inumbo.net>)
 id 1mEBbt-0002Q2-VL
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 14:23:05 +0000
Received: from mail-lj1-x22c.google.com (unknown [2a00:1450:4864:20::22c])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id cc5747a4-339f-47a8-9a74-7e8db8049f43;
 Thu, 12 Aug 2021 14:22:40 +0000 (UTC)
Received: by mail-lj1-x22c.google.com with SMTP id n7so10906079ljq.0
 for <xen-devel@lists.xenproject.org>; Thu, 12 Aug 2021 07:22:40 -0700 (PDT)
Received: from localhost.localdomain (host-176-36-213-80.b024.la.net.ua.
 [176.36.213.80])
 by smtp.gmail.com with ESMTPSA id s16sm329678ljj.48.2021.08.12.07.22.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 12 Aug 2021 07:22: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: cc5747a4-339f-47a8-9a74-7e8db8049f43
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references;
        bh=inCVhx2xTjXRTUWKhimZDtGVbzmLyu/AE4x7F5P7a2A=;
        b=BKNQKgQfIFzmnp49yQKqVc+Wv10iSeHUsbMgMt+mD6Wu3tsk/Lm4F/t4nTzrnt7EEk
         J7VKbpCbwnPg+4Ai593QxG8urtUKJP8jyI5BcXXtH5vtmZro3JSwuWxieqQPHDenqwO5
         i0YZlVICZE5C0zzRH2SDHqPbQGF/vDiZ1nR8/rdyTxHBRAmYf19r1yW0y+WqHk9vA+ci
         I+8VTApj1PGd4Hx1YuZmOWHtMN1xlse0LfZNGXRKbrjZ3y3o2S7tAgQxgOURM5dFEp58
         +yNnjFkjQU21d73zNPWqI8gX9otcPRYXUNsxK3sBhhV4/Jyw6rUzI+EVK0Mgi82/aR8d
         Xd4A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references;
        bh=inCVhx2xTjXRTUWKhimZDtGVbzmLyu/AE4x7F5P7a2A=;
        b=TPY6geC/dBkIfaa77bLplyftA+c9LfixGMauoU9nxQ6T7n3EU4PdRwrPs4b+HYxZuD
         lz/YrVjRxwCFAkbzd+nlOggFImVWbyJy4OHuoxLlAuyYZCQCDeHNjWpSIrlea+8qFHcs
         vh66tl3lQj27nDO2mhl8gxtOCd97nffOIxxRNUHC9VbsDb7uZFtWIAaczvI2dDmoK6eH
         3+9Q1dWuj6aLd/NS9b711S3dHxrikuKDmJU4TIVJBRd2O/9JlBEtjv1yS3Tf5/DTT6Y2
         twX3lqWiiBZD3RJfKPl4/ipJ3dHTFtyxzDlior/g7f9gh9L50ZRUYizAJf1oVKjjVLRd
         ys5g==
X-Gm-Message-State: AOAM530+7BkI31P5yFsF/niZJDxOJyCw3AA4ZyHtrQhEjUwMUzn8tdj6
	xYaDo3bswJwFs3dg4LQlBSxTy32k7xUOAQ==
X-Google-Smtp-Source: ABdhPJxwm3kLJPptggDG2RO5Tjk5OHMSKE1fExFYfWB0/fupslRtVvVWhlmtzLwgbvYJAdn2Gdrz9Q==
X-Received: by 2002:a05:651c:554:: with SMTP id q20mr3224240ljp.390.1628778159379;
        Thu, 12 Aug 2021 07:22:39 -0700 (PDT)
From: Anastasiia Lukianenko <vicooodin@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: oleksandr_tyshchenko@epam.com,
	artem_mygaiev@epam.com,
	rahul.singh@arm.com,
	bertrand.marquis@arm.com,
	oleksandr_andrushchenko@epam.com,
	roger.pau@citrix.com,
	julien@xen.org,
	sstabellini@kernel.org,
	andr2000@gmail.com,
	vicooodin@gmail.com,
	Anastasiia Lukianenko <anastasiia_lukianenko@epam.com>
Subject: [PATCH 6/9] tools/libs/light: Add "read" command to xl pcid and libxl PCI
Date: Thu, 12 Aug 2021 17:22:27 +0300
Message-Id: <20210812142230.19353-7-vicooodin@gmail.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20210812142230.19353-1-vicooodin@gmail.com>
References: <20210812142230.19353-1-vicooodin@gmail.com>

From: Anastasiia Lukianenko <anastasiia_lukianenko@epam.com>

Libxl PCI can use xl pcid server to read integer value from the given path.

Signed-off-by: Anastasiia Lukianenko <anastasiia_lukianenko@epam.com>
---
 tools/include/pcid.h          |   1 +
 tools/libs/light/libxl_pci.c  | 125 ++++++++++++++++++----------------
 tools/libs/light/libxl_pcid.c |  50 ++++++++++++++
 3 files changed, 119 insertions(+), 57 deletions(-)

diff --git a/tools/include/pcid.h b/tools/include/pcid.h
index 935d99b186..f39011ecb8 100644
--- a/tools/include/pcid.h
+++ b/tools/include/pcid.h
@@ -32,6 +32,7 @@
 #define PCID_CMD_DIR_ID          "dir_id"
 
 #define PCID_CMD_WRITE           "write"
+#define PCID_CMD_READ_HEX        "read_hex"
 #define PCID_CMD_PCI_PATH        "pci_path"
 #define PCID_CMD_PCI_INFO        "pci_info"
 
diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
index 03ce42dec3..d5ddca4964 100644
--- a/tools/libs/light/libxl_pci.c
+++ b/tools/libs/light/libxl_pci.c
@@ -634,83 +634,94 @@ static int sysfs_dev_unbind(libxl__gc *gc, libxl_device_pci *pci,
 static uint16_t sysfs_dev_get_vendor(libxl__gc *gc, libxl_device_pci *pci)
 {
     char *pci_device_vendor_path =
-            GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF"/vendor",
-                      pci->domain, pci->bus, pci->dev, pci->func);
-    uint16_t read_items;
+            GCSPRINTF("/"PCI_BDF"/vendor", pci->domain, pci->bus,
+                      pci->dev, pci->func);
     uint16_t pci_device_vendor;
+    struct vchan_info *vchan;
+    libxl__json_object *args = NULL, *result = NULL;
 
-    FILE *f = fopen(pci_device_vendor_path, "r");
-    if (!f) {
-        LOGE(ERROR,
-             "pci device "PCI_BDF" does not have vendor attribute",
-             pci->domain, pci->bus, pci->dev, pci->func);
-        return 0xffff;
-    }
-    read_items = fscanf(f, "0x%hx\n", &pci_device_vendor);
-    fclose(f);
-    if (read_items != 1) {
-        LOGE(ERROR,
-             "cannot read vendor of pci device "PCI_BDF,
-             pci->domain, pci->bus, pci->dev, pci->func);
-        return 0xffff;
-    }
+    vchan = pci_prepare_vchan(gc);
+    if (!vchan)
+        goto fail;
+    libxl__vchan_param_add_string(gc, &args, PCID_CMD_PCI_INFO,
+                                  pci_device_vendor_path);
+    libxl__vchan_param_add_string(gc, &args, PCID_CMD_DIR_ID,
+                                  PCID_PCI_DEV);
+    result = vchan_send_command(gc, vchan, PCID_CMD_READ_HEX, args);
+    if (!result)
+        goto fail;
+
+    pci_device_vendor = libxl__json_object_get_integer(result);
 
     return pci_device_vendor;
+
+fail:
+    LOGE(ERROR,
+         "cannot read vendor of pci device "PCI_BDF,
+         pci->domain, pci->bus, pci->dev, pci->func);
+    return 0xffff;
 }
 
 static uint16_t sysfs_dev_get_device(libxl__gc *gc, libxl_device_pci *pci)
 {
     char *pci_device_device_path =
-            GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF"/device",
-                      pci->domain, pci->bus, pci->dev, pci->func);
-    uint16_t read_items;
+            GCSPRINTF("/"PCI_BDF"/device", pci->domain, pci->bus,
+                      pci->dev, pci->func);
     uint16_t pci_device_device;
+    struct vchan_info *vchan;
+    libxl__json_object *args = NULL, *result = NULL;
 
-    FILE *f = fopen(pci_device_device_path, "r");
-    if (!f) {
-        LOGE(ERROR,
-             "pci device "PCI_BDF" does not have device attribute",
-             pci->domain, pci->bus, pci->dev, pci->func);
-        return 0xffff;
-    }
-    read_items = fscanf(f, "0x%hx\n", &pci_device_device);
-    fclose(f);
-    if (read_items != 1) {
-        LOGE(ERROR,
-             "cannot read device of pci device "PCI_BDF,
-             pci->domain, pci->bus, pci->dev, pci->func);
-        return 0xffff;
-    }
+    vchan = pci_prepare_vchan(gc);
+    if (!vchan)
+        goto fail;
+    libxl__vchan_param_add_string(gc, &args, PCID_CMD_PCI_INFO,
+                                  pci_device_device_path);
+    libxl__vchan_param_add_string(gc, &args, PCID_CMD_DIR_ID,
+                                  PCID_PCI_DEV);
+    result = vchan_send_command(gc, vchan, PCID_CMD_READ_HEX, args);
+    if (!result)
+        goto fail;
+
+    pci_device_device = libxl__json_object_get_integer(result);
 
     return pci_device_device;
+
+fail:
+    LOGE(ERROR,
+         "cannot read device of pci device "PCI_BDF,
+         pci->domain, pci->bus, pci->dev, pci->func);
+    return 0xffff;
 }
 
 static int sysfs_dev_get_class(libxl__gc *gc, libxl_device_pci *pci,
                                unsigned long *class)
 {
-    char *pci_device_class_path = GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF"/class",
-                     pci->domain, pci->bus, pci->dev, pci->func);
-    int read_items, ret = 0;
+    char *pci_device_class_path = GCSPRINTF("/"PCI_BDF"/class",
+                                            pci->domain, pci->bus,
+                                            pci->dev, pci->func);
+    struct vchan_info *vchan;
+    libxl__json_object *args = NULL, *result = NULL;
 
-    FILE *f = fopen(pci_device_class_path, "r");
-    if (!f) {
-        LOGE(ERROR,
-             "pci device "PCI_BDF" does not have class attribute",
-             pci->domain, pci->bus, pci->dev, pci->func);
-        ret = ERROR_FAIL;
-        goto out;
-    }
-    read_items = fscanf(f, "0x%lx\n", class);
-    fclose(f);
-    if (read_items != 1) {
-        LOGE(ERROR,
-             "cannot read class of pci device "PCI_BDF,
-             pci->domain, pci->bus, pci->dev, pci->func);
-        ret = ERROR_FAIL;
-    }
+    vchan = pci_prepare_vchan(gc);
+    if (!vchan)
+        goto fail;
+    libxl__vchan_param_add_string(gc, &args, PCID_CMD_PCI_INFO,
+                                  pci_device_class_path);
+    libxl__vchan_param_add_string(gc, &args, PCID_CMD_DIR_ID,
+                                  PCID_PCI_DEV);
+    result = vchan_send_command(gc, vchan, PCID_CMD_READ_HEX, args);
+    if (!result)
+        goto fail;
 
-out:
-    return ret;
+    *class = libxl__json_object_get_integer(result);
+
+    return 0;
+
+fail:
+    LOGE(ERROR,
+         "cannot read class of pci device "PCI_BDF,
+         pci->domain, pci->bus, pci->dev, pci->func);
+    return ERROR_FAIL;
 }
 
 /*
diff --git a/tools/libs/light/libxl_pcid.c b/tools/libs/light/libxl_pcid.c
index ee4c832779..0f736c68af 100644
--- a/tools/libs/light/libxl_pcid.c
+++ b/tools/libs/light/libxl_pcid.c
@@ -154,6 +154,54 @@ out:
     return result;
 }
 
+static libxl__json_object *process_read_hex_cmd(libxl__gc *gc,
+                                                const struct libxl__json_object *resp)
+{
+    libxl__json_object *result = NULL;
+    const struct libxl__json_object *args, *dir_id, *pci_info;
+    char *full_path;
+    uint16_t read_items;
+    long long read_number;
+
+    args = libxl__json_map_get(PCID_MSG_FIELD_ARGS, resp, JSON_MAP);
+    if (!args)
+        goto out;
+    dir_id = libxl__json_map_get(PCID_CMD_DIR_ID, args, JSON_ANY);
+    if (!dir_id)
+        goto out;
+    pci_info = libxl__json_map_get(PCID_CMD_PCI_INFO, args, JSON_ANY);
+    if (!pci_info)
+        goto out;
+
+    if (strcmp(PCID_PCI_DEV, dir_id->u.string) == 0)
+        full_path = libxl__sprintf(gc, SYSFS_PCI_DEV"%s", pci_info->u.string);
+    else
+        full_path = pci_info->u.string;
+
+    FILE *f = fopen(full_path, "r");
+    if (!f) {
+        LOGE(ERROR, "PCI device %s does not have needed attribute\n",
+                full_path);
+        goto out;
+    }
+    read_items = fscanf(f, "0x%llx\n", &read_number);
+    fclose(f);
+    if (read_items != 1) {
+        LOGE(ERROR, "Cannot read attribute of pci device %s\n", full_path);
+        goto out;
+    }
+
+    result = libxl__json_object_alloc(gc, JSON_INTEGER);
+    if (!result) {
+        LOGE(ERROR, "Memory allocation failed\n");
+        goto out;
+    }
+    result->u.i = read_number;
+
+out:
+    return result;
+}
+
 static int pcid_handle_message(libxl__gc *gc, const libxl__json_object *request,
                                libxl__json_object **result)
 {
@@ -171,6 +219,8 @@ static int pcid_handle_message(libxl__gc *gc, const libxl__json_object *request,
        *result = process_ls_cmd(gc, request);
     else if (strcmp(PCID_CMD_WRITE, command_name) == 0)
        *result = process_write_cmd(gc, request);
+    else if (strcmp(command_name, PCID_CMD_READ_HEX) == 0)
+        *result = process_read_hex_cmd(gc, request);
     else
         return ERROR_NOTFOUND;
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 12 14:23:13 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 14:23:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166471.303866 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEBc1-0005ct-3s; Thu, 12 Aug 2021 14:23:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166471.303866; Thu, 12 Aug 2021 14:23:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEBc0-0005cY-Ui; Thu, 12 Aug 2021 14:23:12 +0000
Received: by outflank-mailman (input) for mailman id 166471;
 Thu, 12 Aug 2021 14:23:11 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tERp=ND=gmail.com=vicooodin@srs-us1.protection.inumbo.net>)
 id 1mEBby-0002Q2-VW
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 14:23:11 +0000
Received: from mail-lj1-x235.google.com (unknown [2a00:1450:4864:20::235])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 31167468-c47a-46b5-96f1-b5e6333f52bd;
 Thu, 12 Aug 2021 14:22:42 +0000 (UTC)
Received: by mail-lj1-x235.google.com with SMTP id h11so10767961ljo.12
 for <xen-devel@lists.xenproject.org>; Thu, 12 Aug 2021 07:22:42 -0700 (PDT)
Received: from localhost.localdomain (host-176-36-213-80.b024.la.net.ua.
 [176.36.213.80])
 by smtp.gmail.com with ESMTPSA id s16sm329678ljj.48.2021.08.12.07.22.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 12 Aug 2021 07:22: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: 31167468-c47a-46b5-96f1-b5e6333f52bd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references;
        bh=k2neQYpzxMDHJ24D/F3vy55NfEdiyR+99TzkM/Q5nvs=;
        b=YjO7J84WGgQnejYXEteDMmXUZ1mtrw3o2iQ86nTaqnlb5BKnXNta8AsjUCrp/Q3Qwk
         m9nFOKN0DslGnwUphW0JynglEdFbJq1UZ53QKnUvWhaUNSxXL8RpFInJmN4+8dd57hxl
         EG4j9HUiGs25BGAAW5O8UAGBB76D86QC3U0ZWJAqHUqceFKtpNmphEy6vDymaflHND+U
         C+B1CXmhjDFxC6Z+v9WomoXXf5iDkM2ildaXHUCj2j0pnc9glOMftnuM7V3YcdEpHH9E
         U22TpL9nCMLrBBuBRhm5BXIPRY54etcH2oq0k5F56JZ4nVLOczJDVTQFLNNx3P7ZtySv
         KOVg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references;
        bh=k2neQYpzxMDHJ24D/F3vy55NfEdiyR+99TzkM/Q5nvs=;
        b=eFhGTCjmGlzwFrueXFCw35Pjr+AB3Sgcx8mc7X/kO2TsyugEmEkMxjEWPwe2bqmVU9
         BQeJ174RiiE0pl1x3QfvQE6MYpOI/7iSnY4k7tbJ5lGiFxpOyIk7dRviSEtwKrFOQWBn
         UIfGGsqxGN2pYIkGh1YI0TObqsHB0CwuUthfJ+me0xSbkjzX7z+y9d+xY+AeYd7P+ttz
         lohktB1qIMeZhnMX/ZCxSHU7g9QbXJ7m/7NGOgiBHDSs7MKzV88JWnk4++5HwTMD9D0n
         NpWrtgDxd3qjTp+bSppUruD+9dWGSYgxXn0KwuG6DYRQFFRpfrv666BhWEUwcs7xjoCz
         RN+w==
X-Gm-Message-State: AOAM532uA3Kpow/9ctS7IznpOKqWpSFhVdf3pn2gMFxTUQ93YojIlxyT
	5i1apGYbWJTWnZ/OfEm3NXCu0LDV/xntVA==
X-Google-Smtp-Source: ABdhPJz5IVi2+4nToSisUryNM41G0uPelSFULQEuB4cFeY3QvOLyCJIxc+cJSaoWywqkceI3PMVlCQ==
X-Received: by 2002:a2e:9ec8:: with SMTP id h8mr3111661ljk.454.1628778161267;
        Thu, 12 Aug 2021 07:22:41 -0700 (PDT)
From: Anastasiia Lukianenko <vicooodin@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: oleksandr_tyshchenko@epam.com,
	artem_mygaiev@epam.com,
	rahul.singh@arm.com,
	bertrand.marquis@arm.com,
	oleksandr_andrushchenko@epam.com,
	roger.pau@citrix.com,
	julien@xen.org,
	sstabellini@kernel.org,
	andr2000@gmail.com,
	vicooodin@gmail.com,
	Anastasiia Lukianenko <anastasiia_lukianenko@epam.com>
Subject: [PATCH 8/9] tools/libs/light: Add "unbind" and "read resources" commands to libxl PCI and xl pcid
Date: Thu, 12 Aug 2021 17:22:29 +0300
Message-Id: <20210812142230.19353-9-vicooodin@gmail.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20210812142230.19353-1-vicooodin@gmail.com>
References: <20210812142230.19353-1-vicooodin@gmail.com>

From: Anastasiia Lukianenko <anastasiia_lukianenko@epam.com>

Send requests to xl pcid from libxl PCI to prevent the libxl PCI from
reading / writing from / to the local sysfs directly.

"Unbind" command returns driver's path or "nolstat" result in success and
NULL if writing to PCI path failed.

"Read resources" command returns an array of PCI resources - start, end and
flags in success, NULL if getting resources from PCI path failed.

Signed-off-by: Anastasiia Lukianenko <anastasiia_lukianenko@epam.com>
---
 tools/include/pcid.h          |   7 +++
 tools/libs/light/libxl_pci.c  |  99 ++++++++++++++++++--------------
 tools/libs/light/libxl_pcid.c | 105 ++++++++++++++++++++++++++++++++++
 3 files changed, 169 insertions(+), 42 deletions(-)

diff --git a/tools/include/pcid.h b/tools/include/pcid.h
index 5c8efbb435..3153bafb19 100644
--- a/tools/include/pcid.h
+++ b/tools/include/pcid.h
@@ -29,11 +29,13 @@
 #define PCID_MSG_FIELD_ARGS      "arguments"
 
 #define PCID_CMD_LIST            "ls"
+#define PCID_CMD_UNBIND          "unbind"
 #define PCID_CMD_DIR_ID          "dir_id"
 
 #define PCID_CMD_WRITE           "write"
 #define PCID_CMD_READ_HEX        "read_hex"
 #define PCID_CMD_EXISTS          "exists"
+#define PCID_CMD_READ_RESOURCES  "read_resources"
 #define PCID_CMD_PCI_PATH        "pci_path"
 #define PCID_CMD_PCI_INFO        "pci_info"
 
@@ -44,12 +46,17 @@
 
 #if defined(__linux__)
 #define SYSFS_PCIBACK_DRIVER   "/sys/bus/pci/drivers/pciback"
+#define SYSFS_PCI_DEV          "/sys/bus/pci/devices"
 #endif
 
 #define PCI_INFO_PATH "/libxl/pci"
 #define PCI_BDF_XSPATH         "%04x-%02x-%02x-%01x"
 #define PCI_BDF                "%04x:%02x:%02x.%01x"
 
+#define RESOURCE_START "start"
+#define RESOURCE_END   "end"
+#define RESOURCE_FLAGS "flags"
+
 int libxl_pcid_process(libxl_ctx *ctx);
 
 #endif /* PCID_H */
diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
index ab6709890e..3d9bf4830b 100644
--- a/tools/libs/light/libxl_pci.c
+++ b/tools/libs/light/libxl_pci.c
@@ -599,34 +599,32 @@ void libxl_device_pci_assignable_list_free(libxl_device_pci *list, int num)
 static int sysfs_dev_unbind(libxl__gc *gc, libxl_device_pci *pci,
                             char **driver_path)
 {
-    char *spath, *pci_path, *dp = NULL;
-    struct stat st;
+    char *pci_path, *dp = NULL;
 
     pci_path = GCSPRINTF("/"PCI_BDF"/driver", pci->domain, pci->bus,
                          pci->dev, pci->func);
+    char *pci_info;
+    struct vchan_info *vchan;
+    libxl__json_object *args = NULL, *result = NULL;
 
-    spath = GCSPRINTF(SYSFS_PCI_DEV"%s", pci_path);
-    if ( !lstat(spath, &st) ) {
-        /* Find the canonical path to the driver. */
-        dp = libxl__zalloc(gc, PATH_MAX);
-        dp = realpath(spath, dp);
-        if ( !dp ) {
-            LOGE(ERROR, "realpath() failed");
-            return -1;
-        }
-
-        LOG(DEBUG, "Driver re-plug path: %s", dp);
+    vchan = pci_prepare_vchan(gc);
+    if (!vchan)
+        return ERROR_FAIL;
 
-        /* Unbind from the old driver */
-        spath = GCSPRINTF("%s/unbind", dp);
-        if (sysfs_write_bdf(gc, SYSFS_PCI_DEV, pci_path, pci) < 0) {
-            LOGE(ERROR, "Couldn't unbind device");
-            return -1;
-        }
+    pci_info = GCSPRINTF(PCI_BDF, pci->domain, pci->bus, pci->dev, pci->func);
+    libxl__vchan_param_add_string(gc, &args, PCID_CMD_PCI_PATH, pci_path);
+    libxl__vchan_param_add_string(gc, &args, PCID_CMD_PCI_INFO, pci_info);
+    result = vchan_send_command(gc, vchan, PCID_CMD_UNBIND, args);
+    if (!result) {
+        LOGE(WARN, "Write to %s%s failed\n", SYSFS_PCI_DEV, pci_path);
+        return -1;
     }
 
-    if ( driver_path )
+    if (driver_path) {
+        if (strcmp(result->u.string, "nolstat") != 0)
+            dp = (char *)libxl__json_object_get_string(result);
         *driver_path = dp;
+    }
 
     return 0;
 }
@@ -1488,8 +1486,6 @@ static void pci_add_dm_done(libxl__egc *egc,
     STATE_AO_GC(pas->aodev->ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
     libxl_domid domid = pas->pci_domid;
-    char *sysfs_path;
-    FILE *f;
     unsigned long long start, end, flags, size;
     int irq, i;
     int r;
@@ -1510,20 +1506,38 @@ static void pci_add_dm_done(libxl__egc *egc,
     if (isstubdom)
         starting = false;
 
-    sysfs_path = GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF"/resource", pci->domain,
-                           pci->bus, pci->dev, pci->func);
-    f = fopen(sysfs_path, "r");
-    start = end = flags = size = 0;
-    irq = 0;
+    struct vchan_info *vchan;
+    libxl__json_object *result = NULL, *args = NULL;
+    const libxl__json_object *addr, *node;
+    char *resource_path, *irq_path;
 
-    if (f == NULL) {
-        LOGED(ERROR, domainid, "Couldn't open %s", sysfs_path);
+    vchan = pci_prepare_vchan(gc);
+    if (!vchan)
+        goto out;
+
+    resource_path = GCSPRINTF("/"PCI_BDF"/resource", pci->domain,
+                              pci->bus, pci->dev, pci->func);
+    libxl__vchan_param_add_string(gc, &args, PCID_CMD_PCI_INFO, resource_path);
+    result = vchan_send_command(gc, vchan, PCID_CMD_READ_RESOURCES, args);
+    if (!result) {
+        LOGED(ERROR, domainid, "Couldn't get resources from %s", resource_path);
         rc = ERROR_FAIL;
         goto out;
     }
+
+    start = end = flags = size = 0;
+    irq = 0;
+
     for (i = 0; i < PROC_PCI_NUM_RESOURCES; i++) {
-        if (fscanf(f, "0x%llx 0x%llx 0x%llx\n", &start, &end, &flags) != 3)
-            continue;
+        node = libxl__json_array_get(result, i);
+
+        addr = libxl__json_map_get(RESOURCE_START, node, JSON_INTEGER);
+        start = libxl__json_object_get_integer(addr);
+        addr = libxl__json_map_get(RESOURCE_END, node, JSON_INTEGER);
+        end = libxl__json_object_get_integer(addr);
+        addr = libxl__json_map_get(RESOURCE_FLAGS, node, JSON_INTEGER);
+        flags = libxl__json_object_get_integer(addr);
+
         size = end - start + 1;
         if (start) {
             if (flags & PCI_BAR_IO) {
@@ -1532,7 +1546,6 @@ static void pci_add_dm_done(libxl__egc *egc,
                     LOGED(ERROR, domainid,
                           "xc_domain_ioport_permission 0x%llx/0x%llx (error %d)",
                           start, size, r);
-                    fclose(f);
                     rc = ERROR_FAIL;
                     goto out;
                 }
@@ -1543,27 +1556,30 @@ static void pci_add_dm_done(libxl__egc *egc,
                     LOGED(ERROR, domainid,
                           "xc_domain_iomem_permission 0x%llx/0x%llx (error %d)",
                           start, size, r);
-                    fclose(f);
                     rc = ERROR_FAIL;
                     goto out;
                 }
             }
         }
     }
-    fclose(f);
-    sysfs_path = GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF"/irq", pci->domain,
-                                pci->bus, pci->dev, pci->func);
-    f = fopen(sysfs_path, "r");
-    if (f == NULL) {
-        LOGED(ERROR, domainid, "Couldn't open %s", sysfs_path);
+
+    irq_path = GCSPRINTF("/"PCI_BDF"/irq", pci->domain,
+                         pci->bus, pci->dev, pci->func);
+    libxl__vchan_param_add_string(gc, &args, PCID_CMD_PCI_INFO, irq_path);
+    libxl__vchan_param_add_string(gc, &args, PCID_CMD_DIR_ID, PCID_PCI_DEV);
+    result = vchan_send_command(gc, vchan, PCID_CMD_READ_HEX, args);
+    if (!result) {
+        LOGED(ERROR, domainid, "Couldn't get irq from %s", irq_path);
+        rc = ERROR_FAIL;
         goto out_no_irq;
     }
-    if ((fscanf(f, "%u", &irq) == 1) && irq) {
+
+    irq = libxl__json_object_get_integer(result);
+    if (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)",
                   irq, r);
-            fclose(f);
             rc = ERROR_FAIL;
             goto out;
         }
@@ -1578,7 +1594,6 @@ static void pci_add_dm_done(libxl__egc *egc,
         }
 #endif
     }
-    fclose(f);
 
     /* Don't restrict writes to the PCI config space from this VM */
     if (pci->permissive) {
diff --git a/tools/libs/light/libxl_pcid.c b/tools/libs/light/libxl_pcid.c
index 28d773f48d..7dd8f53f78 100644
--- a/tools/libs/light/libxl_pcid.c
+++ b/tools/libs/light/libxl_pcid.c
@@ -247,6 +247,107 @@ out:
     return result;
 }
 
+static libxl__json_object *process_read_rsc_cmd(libxl__gc *gc,
+                                                const struct libxl__json_object *resp)
+{
+    libxl__json_object *result = NULL;
+    const libxl__json_object *args, *pci_info;
+    libxl__json_object *node;
+    unsigned long long start, end, flags;
+    int i;
+    char *sysfs_path;
+    FILE *f;
+
+    args = libxl__json_map_get(PCID_MSG_FIELD_ARGS, resp, JSON_MAP);
+    if (!args)
+        goto out;
+    pci_info = libxl__json_map_get(PCID_CMD_PCI_INFO, args, JSON_ANY);
+    if (!pci_info)
+        goto out;
+
+    sysfs_path = libxl__sprintf(gc, SYSFS_PCI_DEV"%s", pci_info->u.string);
+    f = fopen(sysfs_path, "r");
+    if (!f) {
+        LOGE(ERROR, "Failed to open %s\n", sysfs_path);
+        goto out;
+    }
+
+    result = libxl__json_object_alloc(gc, JSON_ARRAY);
+    if (!result) {
+        LOGE(ERROR, "Memory allocation failed\n");
+        goto fail_mem_alloc;
+    }
+
+    for (i = 0; i < PROC_PCI_NUM_RESOURCES; i++) {
+        if (fscanf(f, "0x%llx 0x%llx 0x%llx\n", &start, &end, &flags) != 3)
+            continue;
+
+        node = libxl__json_object_alloc(gc, JSON_MAP);
+        if (!node) {
+            LOGE(ERROR, "Memory allocation failed\n");
+            goto fail_mem_alloc;
+        }
+        libxl__vchan_param_add_integer(gc, &node, RESOURCE_START, start);
+        libxl__vchan_param_add_integer(gc, &node, RESOURCE_END, end);
+        libxl__vchan_param_add_integer(gc, &node, RESOURCE_FLAGS, flags);
+        flexarray_append(result->u.array, node);
+    }
+
+fail_mem_alloc:
+    fclose(f);
+out:
+    return result;
+}
+
+static libxl__json_object *process_unbind_cmd(libxl__gc *gc,
+                                              const struct libxl__json_object *resp)
+{
+    libxl__json_object *result = NULL;
+    const struct libxl__json_object *args, *pci_path, *pci_info;
+    char *msg, *spath, *new_path, *dp = NULL;
+    struct stat st;
+
+    args = libxl__json_map_get(PCID_MSG_FIELD_ARGS, resp, JSON_MAP);
+    if (!args)
+        goto out;
+    pci_info = libxl__json_map_get(PCID_CMD_PCI_INFO, args, JSON_ANY);
+    if (!pci_info)
+        goto out;
+    pci_path = libxl__json_map_get(PCID_CMD_PCI_PATH, args, JSON_ANY);
+    if (!pci_path)
+        goto out;
+
+    spath = libxl__sprintf(gc, SYSFS_PCI_DEV"%s", pci_path->u.string);
+
+    if (!lstat(spath, &st)) {
+        /* Find the canonical path to the driver. */
+        dp = libxl__zalloc(gc, PATH_MAX);
+        if (!(realpath(spath, dp))) {
+            LOGE(ERROR, "realpath() failed\n");
+            goto out;
+        }
+        msg = dp;
+        /* Unbind from the old driver */
+        new_path = libxl__sprintf(gc, "%s/unbind", dp);
+
+        if (handle_write_cmd(gc, new_path, pci_info->u.string) != 0) {
+            LOGE(ERROR, "Couldn't unbind device\n");
+            goto out;
+        }
+    } else {
+        msg = libxl__sprintf(gc, "nolstat");
+    }
+    result = libxl__json_object_alloc(gc, JSON_STRING);
+    if (!result) {
+        LOGE(ERROR, "Memory allocation failed\n");
+        goto out;
+    }
+    result->u.string = msg;
+
+out:
+    return result;
+}
+
 static int pcid_handle_message(libxl__gc *gc, const libxl__json_object *request,
                                libxl__json_object **result)
 {
@@ -268,6 +369,10 @@ static int pcid_handle_message(libxl__gc *gc, const libxl__json_object *request,
         *result = process_read_hex_cmd(gc, request);
     else if (strcmp(command_name, PCID_CMD_EXISTS) == 0)
         *result = process_exists_cmd(gc, request);
+    else if (strcmp(command_name, PCID_CMD_READ_RESOURCES) == 0)
+        *result = process_read_rsc_cmd(gc, request);
+    else if (strcmp(command_name, PCID_CMD_UNBIND) == 0)
+        *result = process_unbind_cmd(gc, request);
     else
         return ERROR_NOTFOUND;
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 12 14:23:17 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 14:23:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166478.303876 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEBc5-0006F4-Ef; Thu, 12 Aug 2021 14:23:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166478.303876; Thu, 12 Aug 2021 14: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 1mEBc5-0006EQ-9g; Thu, 12 Aug 2021 14:23:17 +0000
Received: by outflank-mailman (input) for mailman id 166478;
 Thu, 12 Aug 2021 14:23:16 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tERp=ND=gmail.com=vicooodin@srs-us1.protection.inumbo.net>)
 id 1mEBc3-0002Q2-Vu
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 14:23:16 +0000
Received: from mail-lf1-x135.google.com (unknown [2a00:1450:4864:20::135])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 8c57d227-a9ca-4282-96d4-222312233d86;
 Thu, 12 Aug 2021 14:22:43 +0000 (UTC)
Received: by mail-lf1-x135.google.com with SMTP id z20so13830899lfd.2
 for <xen-devel@lists.xenproject.org>; Thu, 12 Aug 2021 07:22:42 -0700 (PDT)
Received: from localhost.localdomain (host-176-36-213-80.b024.la.net.ua.
 [176.36.213.80])
 by smtp.gmail.com with ESMTPSA id s16sm329678ljj.48.2021.08.12.07.22.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 12 Aug 2021 07:22: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: 8c57d227-a9ca-4282-96d4-222312233d86
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references;
        bh=mRu1nhbLdCG3tjQcY0lNShHW8lgPAtPkcfN4T//o5X4=;
        b=TsmtWtJS9CZTcjwYV8nlT64CwRYGtU17kWngeHIA6EfJAvRvqjyWr2IVNiXsoAQ7+Y
         ucooQelHRR3+fkHW2uBzPe7yAVyJ7saiqYttALbKFdARwjs32v17kZ9iUycLN71+IPWf
         V2fzgKaQUUfL8fPAN4WihEUHFxZjXfyWX+2AJsrnANjC47vo8QUvnNESvCYxu+/IUtah
         JWCWlEHca2MsB3LayUHVY6rNHfi5kD9gvx3ehxrbP2gZksVruQEghkVPIzq3CALgT3Kl
         Tzq6UqiGCKkOvkDfh+1waTPQJnt9OjB4KOz32VxAQmcAfBNgTWdkrVDAOEmu7VEhxzvm
         u16w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references;
        bh=mRu1nhbLdCG3tjQcY0lNShHW8lgPAtPkcfN4T//o5X4=;
        b=bott3QLs4vuI5EGwIvFcfIRruscfbKm62eL1qUK+W6t9yi3+XzGFsgTLFFQOSAsF7+
         9FPzTN56sqqfcIsFvBgoj8GSJg+lWIF+jQd5y33vO2VN0Irl6ie+ODHEW7+uMDPuq+zP
         QHBBwDasux2xJpUlIQfub7KbkzlsdTAjR1/ppFOZgcrVK3wMjg4naeQwlpw5hJJscsoa
         h6Zvie4r2Lb8LRRfZSB8ATIslMoTZr+A7o2vC8GMWDhnHVeK6n3hhOXyyTgaZ1z3LKsh
         kZfujjTygzgTpHLSQkQpnPFXJC/pDCXgQgbOy5UtS/y5XEb2UBkP3uL6CRLRvcvVfZId
         FZHg==
X-Gm-Message-State: AOAM532dB1Lm2fofi51sAqgQ5Mcjt5lsirWWK8+0/tZz5DkjyqMdcRk3
	G0PdMRomXCvPccfRY6UYo28PKWCjtvKm+w==
X-Google-Smtp-Source: ABdhPJyKYLsBa6gX9NJCphm/jfMzDBnLENzVcaDQ0n1Va8qU3IYb0qb5sxZmkrYIh+wdOfIwCJ1JuA==
X-Received: by 2002:a05:6512:3884:: with SMTP id n4mr2763937lft.313.1628778160317;
        Thu, 12 Aug 2021 07:22:40 -0700 (PDT)
From: Anastasiia Lukianenko <vicooodin@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: oleksandr_tyshchenko@epam.com,
	artem_mygaiev@epam.com,
	rahul.singh@arm.com,
	bertrand.marquis@arm.com,
	oleksandr_andrushchenko@epam.com,
	roger.pau@citrix.com,
	julien@xen.org,
	sstabellini@kernel.org,
	andr2000@gmail.com,
	vicooodin@gmail.com,
	Anastasiia Lukianenko <anastasiia_lukianenko@epam.com>
Subject: [PATCH 7/9] tools/libs/light: Make Libxl PCI get values from xl pcid instead of libxl side
Date: Thu, 12 Aug 2021 17:22:28 +0300
Message-Id: <20210812142230.19353-8-vicooodin@gmail.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20210812142230.19353-1-vicooodin@gmail.com>
References: <20210812142230.19353-1-vicooodin@gmail.com>

From: Anastasiia Lukianenko <anastasiia_lukianenko@epam.com>

pci_multifunction_check needs to use "ls" and "lstat" commands to get
information from sysfs.
Add "is_exists" command processing to xl pcid daemon to make possible
pci_multifunction_check read directories and check lstat by using xl pcid.

Signed-off-by: Anastasiia Lukianenko <anastasiia_lukianenko@epam.com>
---
 tools/include/pcid.h          |  1 +
 tools/libs/light/libxl_pci.c  | 47 ++++++++++++++++++-----------------
 tools/libs/light/libxl_pcid.c | 47 +++++++++++++++++++++++++++++++++++
 3 files changed, 72 insertions(+), 23 deletions(-)

diff --git a/tools/include/pcid.h b/tools/include/pcid.h
index f39011ecb8..5c8efbb435 100644
--- a/tools/include/pcid.h
+++ b/tools/include/pcid.h
@@ -33,6 +33,7 @@
 
 #define PCID_CMD_WRITE           "write"
 #define PCID_CMD_READ_HEX        "read_hex"
+#define PCID_CMD_EXISTS          "exists"
 #define PCID_CMD_PCI_PATH        "pci_path"
 #define PCID_CMD_PCI_INFO        "pci_info"
 
diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
index d5ddca4964..ab6709890e 100644
--- a/tools/libs/light/libxl_pci.c
+++ b/tools/libs/light/libxl_pci.c
@@ -1091,45 +1091,46 @@ int libxl_device_pci_assignable_remove(libxl_ctx *ctx, libxl_device_pci *pci,
 */
 static int pci_multifunction_check(libxl__gc *gc, libxl_device_pci *pci, unsigned int *func_mask)
 {
-    struct dirent *de;
-    DIR *dir;
-
     *func_mask = 0;
+    struct vchan_info *vchan;
+    libxl__json_object *result = NULL, *args = NULL;
+    const libxl__json_object *lstat_obj, *dir;
+    const char *dir_name;
+    int i;
 
-    dir = opendir(SYSFS_PCI_DEV);
-    if ( NULL == dir ) {
-        LOGE(ERROR, "Couldn't open %s", SYSFS_PCI_DEV);
+    vchan = pci_prepare_vchan(gc);
+    if (!vchan)
         return -1;
-    }
 
-    while( (de = readdir(dir)) ) {
+    libxl__vchan_param_add_string(gc, &args, PCID_CMD_DIR_ID, PCID_PCI_DEV);
+    result = vchan_send_command(gc, vchan, PCID_CMD_LIST, args);
+    if (!result)
+        return -1;
+
+    for (i = 0; (dir = libxl__json_array_get(result, i)); i++) {
+        dir_name = libxl__json_object_get_string(dir);
         unsigned dom, bus, dev, func;
-        struct stat st;
         char *path;
 
-        if ( sscanf(de->d_name, PCI_BDF, &dom, &bus, &dev, &func) != 4 )
+        if (sscanf(dir_name, PCI_BDF, &dom, &bus, &dev, &func) != 4)
             continue;
-        if ( pci->domain != dom )
+        if (pci->domain != dom)
             continue;
-        if ( pci->bus != bus )
+        if (pci->bus != bus)
             continue;
-        if ( pci->dev != dev )
+        if (pci->dev != dev)
             continue;
 
-        path = GCSPRINTF("%s/" PCI_BDF, SYSFS_PCIBACK_DRIVER, dom, bus, dev, func);
-        if ( lstat(path, &st) ) {
-            if ( errno == ENOENT )
-                LOG(ERROR, PCI_BDF " is not assigned to pciback driver",
-                    dom, bus, dev, func);
-            else
-                LOGE(ERROR, "Couldn't lstat %s", path);
-            closedir(dir);
+        path = GCSPRINTF("/" PCI_BDF, dom, bus, dev, func);
+        libxl__vchan_param_add_string(gc, &args, PCID_CMD_DIR_ID, PCID_PCIBACK_DRIVER);
+        libxl__vchan_param_add_string(gc, &args, PCID_CMD_PCI_INFO, path);
+        lstat_obj = vchan_send_command(gc, vchan, PCID_CMD_EXISTS, args);
+        if (!lstat_obj)
             return -1;
-        }
+
         (*func_mask) |= (1 << func);
     }
 
-    closedir(dir);
     return 0;
 }
 
diff --git a/tools/libs/light/libxl_pcid.c b/tools/libs/light/libxl_pcid.c
index 0f736c68af..28d773f48d 100644
--- a/tools/libs/light/libxl_pcid.c
+++ b/tools/libs/light/libxl_pcid.c
@@ -34,6 +34,10 @@
 #include <libxl_json.h>
 #include <dirent.h>
 
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+
 #define DOM0_ID 0
 
 static struct libxl__json_object *process_ls_cmd(libxl__gc *gc,
@@ -202,6 +206,47 @@ out:
     return result;
 }
 
+static libxl__json_object *process_exists_cmd(libxl__gc *gc,
+                                              const struct libxl__json_object *resp)
+{
+    libxl__json_object *result = NULL;
+    const struct libxl__json_object *args, *pci_path, *pci_info;
+    char *full_path;
+    struct stat st;
+
+    args = libxl__json_map_get(PCID_MSG_FIELD_ARGS, resp, JSON_MAP);
+    if (!args)
+        goto out;
+    pci_path = libxl__json_map_get(PCID_CMD_DIR_ID, args, JSON_ANY);
+    if (!pci_path)
+        goto out;
+    pci_info = libxl__json_map_get(PCID_CMD_PCI_INFO, args, JSON_ANY);
+    if (!pci_info)
+        goto out;
+    if (strcmp(pci_path->u.string, PCID_PCIBACK_DRIVER) == 0)
+        full_path = libxl__sprintf(gc, SYSFS_PCIBACK_DRIVER"%s", pci_info->u.string);
+    else
+        full_path = pci_info->u.string;
+
+    if (lstat(full_path, &st)) {
+        if (errno == ENOENT)
+            LOGE(ERROR, "%s is not assigned to pciback driver", full_path);
+        else
+            LOGE(ERROR, "Couldn't lstat %s", full_path);
+        goto out;
+    }
+
+    result = libxl__json_object_alloc(gc, JSON_STRING);
+    if (!result) {
+        LOGE(ERROR, "Memory allocation failed\n");
+        goto out;
+    }
+    result->u.string = pci_path->u.string;
+
+out:
+    return result;
+}
+
 static int pcid_handle_message(libxl__gc *gc, const libxl__json_object *request,
                                libxl__json_object **result)
 {
@@ -221,6 +266,8 @@ static int pcid_handle_message(libxl__gc *gc, const libxl__json_object *request,
        *result = process_write_cmd(gc, request);
     else if (strcmp(command_name, PCID_CMD_READ_HEX) == 0)
         *result = process_read_hex_cmd(gc, request);
+    else if (strcmp(command_name, PCID_CMD_EXISTS) == 0)
+        *result = process_exists_cmd(gc, request);
     else
         return ERROR_NOTFOUND;
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 12 14:23:23 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 14:23:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166483.303888 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEBcA-0006qT-SW; Thu, 12 Aug 2021 14:23:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166483.303888; Thu, 12 Aug 2021 14:23:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEBcA-0006qF-O2; Thu, 12 Aug 2021 14:23:22 +0000
Received: by outflank-mailman (input) for mailman id 166483;
 Thu, 12 Aug 2021 14:23:21 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tERp=ND=gmail.com=vicooodin@srs-us1.protection.inumbo.net>)
 id 1mEBc8-0002Q2-Vs
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 14:23:21 +0000
Received: from mail-lf1-x136.google.com (unknown [2a00:1450:4864:20::136])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id db15243a-4c8e-4db6-8c86-b145e29ded7f;
 Thu, 12 Aug 2021 14:22:43 +0000 (UTC)
Received: by mail-lf1-x136.google.com with SMTP id z20so13830951lfd.2
 for <xen-devel@lists.xenproject.org>; Thu, 12 Aug 2021 07:22:43 -0700 (PDT)
Received: from localhost.localdomain (host-176-36-213-80.b024.la.net.ua.
 [176.36.213.80])
 by smtp.gmail.com with ESMTPSA id s16sm329678ljj.48.2021.08.12.07.22.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 12 Aug 2021 07:22: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: db15243a-4c8e-4db6-8c86-b145e29ded7f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references;
        bh=fF0wInCslqTLQh+Fbjb4/Af105vv4ysHAegwrEvgNV8=;
        b=Ve7AJGKRku9ZVNMC2JNKBULinWP6TztmfyDhHotFGk8aNVwpO/+p1cMs8cnJ4hSlNk
         3EaUfi7v8yBA/Gc7Emcp7oV7MC6HDE/QnMYwkfMZClIqEOxUPuxPvsJtZzc/jcYbEV3n
         a/ISC8EIQBVKHk1YZlUil0Xl+wcZ/MdqwcbVQfEfjlLSjKAQWXU+l/hKFLQ297HhdSu3
         nAlpSwzNwMDZ5Ri8uOjByEMV8K4lVZplrKC0DI9BN/iuuj0ullGaMgQfgyEJevzz+9rT
         rDCVCPVvaL6Iv0TTC8jqDbKOHshkaO8DmxY6CHLK/baX79YOBClGJvvrqqsTGyp7uewC
         R45w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references;
        bh=fF0wInCslqTLQh+Fbjb4/Af105vv4ysHAegwrEvgNV8=;
        b=DpbLHqg3MyaYvTaNProZ4hlamKWurjtKpU5kqB4ssC5BuSPsjD6ojdlw0VRq23v+wv
         eeAelN/d5VUlqQxu9qRgwT8F9095vH4JYb7MdOBdHnjyH9T6vedpDBUIK6Fnuy36R9GC
         kNTAyk3zSjA0Pov6B0D44OwkT97bljy5d2M4b9cNzfQ0WdtTm4wK0q2nYtQaICcQJWJn
         BYF1zSGl7ILuX9zoxHrAMcDwU00RUwHGFzgi8zNIqS11nX7pppNHKR7HNSLzW3qCnO67
         j/S2XqCgUDMKu55bBQwM6as+uLXh0ZUxiG3QaY+gRx6Jwvcyr/5TaVeBQ1WAbJhei+/i
         dWnA==
X-Gm-Message-State: AOAM532stQiKF9T7wqNXvQkdl73l+dE33JTf2gc/Fpx9cCELwZqhsfUv
	/48oYgsI2JiN5O8AfbGvTdB0HGSSCgHgOg==
X-Google-Smtp-Source: ABdhPJwrGBoi301pR4qIn8rI0NK6QKJqJOB5rjIuuUqbLBpA6iIl2wUOg6077nFXDEMgesdUwig7pA==
X-Received: by 2002:a05:6512:118a:: with SMTP id g10mr2708865lfr.491.1628778162524;
        Thu, 12 Aug 2021 07:22:42 -0700 (PDT)
From: Anastasiia Lukianenko <vicooodin@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: oleksandr_tyshchenko@epam.com,
	artem_mygaiev@epam.com,
	rahul.singh@arm.com,
	bertrand.marquis@arm.com,
	oleksandr_andrushchenko@epam.com,
	roger.pau@citrix.com,
	julien@xen.org,
	sstabellini@kernel.org,
	andr2000@gmail.com,
	vicooodin@gmail.com,
	Anastasiia Lukianenko <anastasiia_lukianenko@epam.com>
Subject: [PATCH 9/9] tools/libs/light: Add "reset" and "remove" PCI dev commands to xl pcid daemon and libxl PCI
Date: Thu, 12 Aug 2021 17:22:30 +0300
Message-Id: <20210812142230.19353-10-vicooodin@gmail.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20210812142230.19353-1-vicooodin@gmail.com>
References: <20210812142230.19353-1-vicooodin@gmail.com>

From: Anastasiia Lukianenko <anastasiia_lukianenko@epam.com>

Add "reset" command processing to xl pcid daemon.
Make possible sending "reset"/"remove" PCI device requests from libxl PCI
to xl pcid daemon instead of using sysfs on libxl side.

Signed-off-by: Anastasiia Lukianenko <anastasiia_lukianenko@epam.com>
---
 tools/include/pcid.h          |  1 +
 tools/libs/light/libxl_pci.c  | 94 +++++++++++++++++++----------------
 tools/libs/light/libxl_pcid.c | 63 +++++++++++++++++++++++
 3 files changed, 115 insertions(+), 43 deletions(-)

diff --git a/tools/include/pcid.h b/tools/include/pcid.h
index 3153bafb19..38ea06c602 100644
--- a/tools/include/pcid.h
+++ b/tools/include/pcid.h
@@ -30,6 +30,7 @@
 
 #define PCID_CMD_LIST            "ls"
 #define PCID_CMD_UNBIND          "unbind"
+#define PCID_CMD_RESET           "reset"
 #define PCID_CMD_DIR_ID          "dir_id"
 
 #define PCID_CMD_WRITE           "write"
diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
index 3d9bf4830b..0498baa47e 100644
--- a/tools/libs/light/libxl_pci.c
+++ b/tools/libs/light/libxl_pci.c
@@ -1635,37 +1635,26 @@ static int libxl__device_pci_reset(libxl__gc *gc, unsigned int domain, unsigned
                                    unsigned int dev, unsigned int func)
 {
     char *reset;
-    int fd, rc;
-
-    reset = GCSPRINTF("%s/do_flr", SYSFS_PCIBACK_DRIVER);
-    fd = open(reset, O_WRONLY);
-    if (fd >= 0) {
-        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);
-        close(fd);
-        return rc < 0 ? rc : 0;
-    }
-    if (errno != ENOENT)
-        LOGED(ERROR, domain, "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);
-        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);
-    } else {
-        LOGED(ERROR, domain, "Failed to access reset path %s", reset);
+    char *buf;
+    struct vchan_info *vchan;
+    libxl__json_object *args = NULL, *result = NULL;
+
+    vchan = pci_prepare_vchan(gc);
+    if (!vchan)
+        return -1;
+
+    reset = GCSPRINTF("%s", "/do_flr");
+    buf = GCSPRINTF(PCI_BDF, domain, bus, dev, func);
+
+    libxl__vchan_param_add_string(gc, &args, PCID_CMD_PCI_PATH, reset);
+    libxl__vchan_param_add_string(gc, &args, PCID_CMD_PCI_INFO, buf);
+    result = vchan_send_command(gc, vchan, PCID_CMD_RESET, args);
+    if (!result) {
+        LOGD(ERROR, domain, "write to %s returned error", reset);
+        return -1;
     }
-    return -1;
+
+    return 0;
 }
 
 int libxl__device_pci_setdefault(libxl__gc *gc, uint32_t domid,
@@ -2085,20 +2074,35 @@ static void do_pci_remove(libxl__egc *egc, pci_remove_state *prs)
             goto out_fail;
         }
     } else {
-        char *sysfs_path = GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF"/resource", pci->domain,
+        char *sysfs_path = GCSPRINTF("/"PCI_BDF"/resource", pci->domain,
                                      pci->bus, pci->dev, pci->func);
-        FILE *f = fopen(sysfs_path, "r");
         unsigned int start = 0, end = 0, flags = 0, size = 0;
         int irq = 0;
         int i;
+        struct vchan_info *vchan;
+        libxl__json_object *args = NULL, *result = NULL;
+        const libxl__json_object *addr;
+        int j = 0;
 
-        if (f == NULL) {
-            LOGED(ERROR, domainid, "Couldn't open %s", sysfs_path);
+        vchan = pci_prepare_vchan(gc);
+        if (!vchan)
+            goto out_fail;
+        libxl__vchan_param_add_string(gc, &args, PCID_CMD_PCI_INFO, sysfs_path);
+        result = vchan_send_command(gc, vchan, PCID_CMD_READ_RESOURCES, args);
+        if (!result) {
+            LOGED(ERROR, domainid, "Couldn't get resources from %s", sysfs_path);
+            rc = ERROR_FAIL;
             goto skip1;
         }
+
         for (i = 0; i < PROC_PCI_NUM_RESOURCES; i++) {
-            if (fscanf(f, "0x%x 0x%x 0x%x\n", &start, &end, &flags) != 3)
-                continue;
+            addr = libxl__json_array_get(result, j++);
+            start = libxl__json_object_get_integer(addr);
+            addr = libxl__json_array_get(result, j++);
+            end = libxl__json_object_get_integer(addr);
+            addr = libxl__json_array_get(result, j++);
+            flags = libxl__json_object_get_integer(addr);
+
             size = end - start + 1;
             if (start) {
                 if (flags & PCI_BAR_IO) {
@@ -2119,16 +2123,21 @@ static void do_pci_remove(libxl__egc *egc, pci_remove_state *prs)
                 }
             }
         }
-        fclose(f);
+
 skip1:
-        sysfs_path = GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF"/irq", pci->domain,
+        sysfs_path = GCSPRINTF("/"PCI_BDF"/irq", pci->domain,
                                pci->bus, pci->dev, pci->func);
-        f = fopen(sysfs_path, "r");
-        if (f == NULL) {
-            LOGED(ERROR, domainid, "Couldn't open %s", sysfs_path);
+        libxl__vchan_param_add_string(gc, &args, PCID_CMD_PCI_INFO, sysfs_path);
+        libxl__vchan_param_add_string(gc, &args, PCID_CMD_DIR_ID, PCID_PCI_DEV);
+        result = vchan_send_command(gc, vchan, PCID_CMD_READ_HEX, args);
+        if (!result) {
+            LOGED(ERROR, domainid, "Couldn't get irq from %s", sysfs_path);
+            rc = ERROR_FAIL;
             goto skip_irq;
         }
-        if ((fscanf(f, "%u", &irq) == 1) && irq) {
+
+        irq = libxl__json_object_get_integer(result);
+        if (irq) {
             rc = xc_physdev_unmap_pirq(ctx->xch, domid, irq);
             if (rc < 0) {
                 LOGED(ERROR, domainid, "xc_physdev_unmap_pirq irq=%d", irq);
@@ -2138,7 +2147,6 @@ skip1:
                 LOGED(ERROR, domainid, "xc_domain_irq_permission irq=%d", irq);
             }
         }
-        fclose(f);
     }
 skip_irq:
     rc = 0;
diff --git a/tools/libs/light/libxl_pcid.c b/tools/libs/light/libxl_pcid.c
index 7dd8f53f78..a4669b9533 100644
--- a/tools/libs/light/libxl_pcid.c
+++ b/tools/libs/light/libxl_pcid.c
@@ -348,6 +348,67 @@ out:
     return result;
 }
 
+static libxl__json_object *process_reset_cmd(libxl__gc *gc,
+                                             const struct libxl__json_object *resp)
+{
+    libxl__json_object *result = NULL;
+    const libxl__json_object *args, *pci_path, *pci_info;
+    char *reset;
+    int rc, fd;
+
+    args = libxl__json_map_get(PCID_MSG_FIELD_ARGS, resp, JSON_MAP);
+    if (!args)
+        goto out;
+    pci_info = libxl__json_map_get(PCID_CMD_PCI_INFO, args, JSON_ANY);
+    if (!pci_info)
+        goto out;
+    pci_path = libxl__json_map_get(PCID_CMD_PCI_PATH, args, JSON_ANY);
+
+    reset = libxl__sprintf(gc, SYSFS_PCIBACK_DRIVER"%s", pci_path->u.string);
+    fd = open(reset, O_WRONLY);
+    if (fd >= 0) {
+        rc = write(fd, pci_info->u.string, strlen(pci_info->u.string));
+        if (rc < 0) {
+            LOGE(ERROR, "write to %s returned %d\n", reset, rc);
+            goto out;
+        }
+        close(fd);
+        goto success;
+    }
+    if (errno != ENOENT)
+        LOGE(ERROR, "Failed to access pciback path %s\n", reset);
+
+    reset = libxl__sprintf(gc, "%s/%s/reset", SYSFS_PCI_DEV, pci_info->u.string);
+    fd = open(reset, O_WRONLY);
+    if (fd >= 0) {
+        rc = write(fd, "1", 1);
+        if (rc < 0) {
+            LOGE(ERROR, "write to %s returned %d\n", reset, rc);
+            goto out;
+        }
+        close(fd);
+        goto success;
+    }
+    if (errno == ENOENT)
+        LOGE(ERROR,
+                "The kernel doesn't support reset from sysfs for PCI device %s\n",
+                pci_info->u.string);
+    else
+        LOGE(ERROR, "Failed to access reset path %s\n", reset);
+    goto out;
+
+success:
+    result = libxl__json_object_alloc(gc, JSON_STRING);
+    if (!result) {
+        LOGE(ERROR, "Memory allocation failed\n");
+        goto out;
+    }
+    result->u.string = pci_path->u.string;
+
+out:
+    return result;
+}
+
 static int pcid_handle_message(libxl__gc *gc, const libxl__json_object *request,
                                libxl__json_object **result)
 {
@@ -373,6 +434,8 @@ static int pcid_handle_message(libxl__gc *gc, const libxl__json_object *request,
         *result = process_read_rsc_cmd(gc, request);
     else if (strcmp(command_name, PCID_CMD_UNBIND) == 0)
         *result = process_unbind_cmd(gc, request);
+    else if (strcmp(command_name, PCID_CMD_RESET) == 0)
+        *result = process_reset_cmd(gc, request);
     else
         return ERROR_NOTFOUND;
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 12 15:33:20 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 15:33:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166515.303907 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEChe-0006O4-AE; Thu, 12 Aug 2021 15:33:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166515.303907; Thu, 12 Aug 2021 15: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 1mEChe-0006Nx-6L; Thu, 12 Aug 2021 15:33:06 +0000
Received: by outflank-mailman (input) for mailman id 166515;
 Thu, 12 Aug 2021 15:33:05 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=QHFb=ND=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mEChd-0006Nr-0c
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 15:33:05 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 828995e6-1ed2-4f07-b5e9-9b8ff4b0b052;
 Thu, 12 Aug 2021 15:33:04 +0000 (UTC)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2055.outbound.protection.outlook.com [104.47.14.55]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-20-qqJ2jD8mNSOwkGUbo8AYcQ-1; Thu, 12 Aug 2021 17:33:01 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB6304.eurprd04.prod.outlook.com (2603:10a6:803:fd::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Thu, 12 Aug
 2021 15:32:59 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.017; Thu, 12 Aug 2021
 15:32:59 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM8P190CA0019.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:219::24) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Thu, 12 Aug 2021 15: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: 828995e6-1ed2-4f07-b5e9-9b8ff4b0b052
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628782383;
	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=R+eK3KoTdo7kEAFGExDlCPWWKIpE75nvxUk259FvVhE=;
	b=bXKeoJSHGfVHqY2KxqwidGZQXJ+c2gkTmhZSFHbmahORz2nEQwnfLf2IOWiq0wGVep1CXN
	q/t7lBdNgnHyS7LRb/5wU/ptpY1AuSIJ2dhsHUxXok1BXh4z3K2VsgzrWLQJZERMW5YkJd
	908TdyLsr5XCX6r/3JkMOpGpAmHMH+Q=
X-MC-Unique: qqJ2jD8mNSOwkGUbo8AYcQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DcslH116eTT+hcLYgPHpxP0LB2ywGij8KgO1fklKdNN/+EIi6eR8w6h9DCUV7vDFyr1rZ1lAwPe5vbhXfADR1NLAKkVUcO+IC1rj/aerDbYYDYD7fcq0WQbRS11R2+NilOfGcJdUFwA/uq1L/ucGAzaEVyC9xqeHvNOY/4cXsFSsqM7sCHRpKCqAn/WPHYf2yZFf/GlUu5H4XmxU43v1gvlJU4uWD/5d/30uJHb235uwj5zS9eVykhtZpXqOHin2Ue1o7pA1+pOc1Jvd4mn242RCZI2NjYOiuueUlK1uAhP6nuTDcM+kdThVg4MSubKC9KN9yVGVC9cSif04C08z4A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=R+eK3KoTdo7kEAFGExDlCPWWKIpE75nvxUk259FvVhE=;
 b=BAI2DWGA5la88lMrmO+x9nvat7LOQTCulOXUi8m/r+LvvMkHV/CTqv1MQ+EXsr6gdnduMLG52MtyKHtIXCG75f0AB5w4ihyNrX/D4AM/2btkyUWAumJd/46OKghdJnVrftp9lzTm5KT6NN2ZpVcqxfEiUofuT4KAWLoQKh9MwlkdMSDkutZk61Y528BpuSHBWXTb25rjtqWKFKxoCNONSOk78X9n/MVkURvE2jk9ac1Z4ZEAp+nLy914403eS5XR5PCKdJKyBnti0xMRS+eUkYi6hZqU9BEJoerUBrH3ACA/5pzQW+J/tBy/c+1LvOsHKhW3dA2jYZEomr8BeQ/NnQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: Re: [XEN RFC PATCH 03/40] xen/x86: Initialize memnodemapsize while
 faking NUMA node
To: Wei Chen <wei.chen@arm.com>
Cc: Bertrand.Marquis@arm.com, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, julien@xen.org
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-4-wei.chen@arm.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <106dff13-e997-db8d-babf-0d6a73146ca3@suse.com>
Date: Thu, 12 Aug 2021 17:32:57 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210811102423.28908-4-wei.chen@arm.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM8P190CA0019.EURP190.PROD.OUTLOOK.COM
 (2603:10a6:20b:219::24) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 0a73c2cd-37fa-469d-e0dd-08d95da676fc
X-MS-TrafficTypeDiagnostic: VI1PR04MB6304:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB6304DE2B2EF86AA9CE4B29B2B3F99@VI1PR04MB6304.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	93km1pkx27FUpmEDWpCQt0EwUscqIgUa8/jlS5r0ORY5sdRVrGGcqiw3pP4mKbFcSptWW7sBqNOsyKVpQQQnYuEjS1X/Ac7l0tu1cOrWomZJjkAuWTxpyfvC+8T2/aimhTe4fHMuU2N6686MSLzYsyCc9Eswy6/vD09c0iL8JASSbcIDVAhUvhT65nhgnNkc0pnyqR7aUvMH9n9ePyWU106WyL0Gx0ybB4/aGSueWx5VTPz5F2+J3Eso8DlgSjXzaKGunNoSHp29d10SIACKVSi89eHJw3i8cA3iAwAFcgvsxfWo+6E5ClyF8EYhStw3l7fd/P08mNwGqGcN+BEIsBoG2vaodjlSHuDTSlq3UyKFw44ax2O7lnvMczV3Tx3RJZ89h5uoEoh8Q+1i5J/4iZT6sayWKqku+rwxUPTchPn6NB4yPY6zKS20izjqtfqi+lhfn+YKCfxns3XoVSpSe2rX4Hnq9+AuJe7lKTUTn9LXe86swJqKXQUz61Y/9RqJKAhupCXeLH3aVuwhiFpTr0+XVX5iOe45B3RHl9fiT2n9MUc8MnEwosa/pgL88JEebKgaQu7Sfxp/g51I/0icmPRlxAFbkkKDjSng7SaTMR4i5rkuxVw8PgI2v2zYgMUz+R3hYOS/weyURh8zNe91B5vqgabdE6EI1yuDcOOtPQrPiXEQsu2s8EYspNie7Tfk+neY1gI4Gi/EbVzB8jPR3pGHJiGoQhnUDEpv0ktFNCQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(366004)(39860400002)(346002)(396003)(136003)(4326008)(53546011)(5660300002)(26005)(4744005)(478600001)(6916009)(8936002)(16576012)(6486002)(316002)(66946007)(2616005)(31686004)(66556008)(66476007)(186003)(8676002)(956004)(2906002)(36756003)(31696002)(86362001)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bjN4VldEVHZqVUlFbGFFSysvWkpWRm1XWGYyRXh1Zk5SQ2dBay9vejdZVFhk?=
 =?utf-8?B?YVBwTGZvczlPaFBTcXR5T1E4WVVtM1Q0dXJUYU4ycnpCK1NpMjBUd3ZqTTMx?=
 =?utf-8?B?bjh3Z05zQ2tzamtpRER2dG84UW03Vnp0a1gyYzdTSk5GWmJMVmdMaXlFRHlr?=
 =?utf-8?B?OGtuOWJnMEdxWlBNQ2lYZVFIMGNJSHp4djdjUjNoaFVvdkxnUU02WWE0V1hz?=
 =?utf-8?B?Uk5rRkxPVWlpZnBFQ1ZPQVprNzFPUnp1R3FxSFd1MWx1Z0V6M0l2b0FGWG9p?=
 =?utf-8?B?anRUNGVpTU10dDArcjVQYklLZmlBV3ZwNVJweS8zc0N3Z241VDU3S2JtMndS?=
 =?utf-8?B?YTZ6SE4yUjhSeDFqLzhNRVlEOU13aGdXTzRBdnpaN3kzbzJsUWtJT29MRkZ3?=
 =?utf-8?B?MzBCN0hlQTl1M3BnYkNxWmZ2ZndJanJYdUkxRkQ1MncyVXhUc2plb0Z2OUFo?=
 =?utf-8?B?K3pBdHNGbU5tcFZ6UFZkZmxYeHJtdU4rVUFOWlo2dHoxRitzOHJTUHAzSTRL?=
 =?utf-8?B?TmpFdFRGU3JiL2Z3T3hsc2YzQXZUREQ5aFNCZFRTQ0lkeDFKakFLbGI0dzc5?=
 =?utf-8?B?T05BakY5R2x3d1l1YXVHNW1DS05aSHp6Q2o2NllKVndqYjM1Ynl3ZG9GYVFQ?=
 =?utf-8?B?VDhkNy9MUFFFYWpHNHJ3T3I0T01RODJ1UjhCWmV4RHhoQzJNLzdRUEtmM3do?=
 =?utf-8?B?K01wbWxERmJ0ZUFyMmhiNTdLd082QXZqclBFb2s1dHVBcURnK1d3SEp3YjNG?=
 =?utf-8?B?S0hHdnZaNzBMZm9nMGFDaFd6SDNXNEhod2ZFb3p1dXUwb2pkempCRnA4YTVQ?=
 =?utf-8?B?eHZ3YXdJZVlSbTFVcngvcUp0cU13eUdYaTVrczNCMnhITnhJOGZzL3p0ZU9t?=
 =?utf-8?B?eUZ5WlRYSFdnWGttVjZzeEpLMlJIb3FYOFVqTDNjSjRZRTI5L0FFSUU5NlBk?=
 =?utf-8?B?SWhFdENiSk5LYjNmUDVMcjdTNTJHQkhjbk5yank4S01KVG5FYmRYclFoWFMw?=
 =?utf-8?B?VjgxN1pNV2QvdGxtdzBNUUM3NE9ER3hmK2ZQMEh3SXRGT2FWNWtuVjBTdHdO?=
 =?utf-8?B?NkRTMkVzR0JTOXBsSy83dURKdXlsQjJjZVZvM0hDQW90YUcvOWNnUkpod3hh?=
 =?utf-8?B?ZXdRNnlmY2U4REdpc2Q1Y3JvN0VFWmk3NzBFRExRbmpYa3NUanBOUll5VHpD?=
 =?utf-8?B?ektGTHdqemRwYVd6bkFwVEZPOVgxUWJhbExOUVRCUlhNL3dyVUQwL0JqTTF3?=
 =?utf-8?B?ZS9Fa3hmOUlIZWxUY0U5eFl6dGJMVzVxdnZqaVlvVlVodkhoQ1o0dHJqVVFV?=
 =?utf-8?B?b3R2NFB4TWNtTC9COEtvR2RFZXl2cFVlQlVIaWl4czZPcUpiUXV6VVV3ZjA4?=
 =?utf-8?B?S2FrVVpPdnhNRTd1Y0Y2eTJwMGsybVBiWEs2MEZ0RlZwamhjcnRzeEhJQ1RG?=
 =?utf-8?B?azkvS0FmQ25uWkMrNHpqcmVaSmVYYVY0M00wQzI3NW9MbWxMRlJaRDNoR3hJ?=
 =?utf-8?B?WmZKUkQrSEs0WWY0eEpYVjVpb1REeStBRUd0TmpSWWRIcTNySmNwckxsWVVt?=
 =?utf-8?B?cnpVZVdDY3BYZjFOMVNLa21HRFMweG51dVNiUUgrQVA2MVRZTUVKeHlsMkxE?=
 =?utf-8?B?TVROV0tCTHI3aXZZRm9oMGVkNFpFQnlxUGlFUi81S1RqNEEyU0hqTS92T0xP?=
 =?utf-8?B?cmd0aDhaV3FEWG9SekNVbE9IRnE0N1lsQUpEZ211RXJhL1I0Z2F3TzZRL0U1?=
 =?utf-8?Q?y61I4s+U8if3a/Bqr9ITilsIgv6duKULO1zVlZY?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0a73c2cd-37fa-469d-e0dd-08d95da676fc
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2021 15:32:59.2573
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mQ/k/g/K3hYa9GEUjDOlNOHJyzUsuS9M/V3zH6WnSUYIv5Yo0P8Bep8COPUhuSIh6oP8jT4KXDoMtRU8Q9UVmQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6304

On 11.08.2021 12:23, Wei Chen wrote:
> When system turns NUMA off or system lacks of NUMA support,
> Xen will fake a NUMA node to make system works as a single
> node NUMA system.
> 
> In this case the memory node map doesn't need to be allocated
> from boot pages. But we should set the memnodemapsize to the
> array size of _memnodemap. Xen hadn't done it, and Xen should
> assert in phys_to_nid. But because x86 was using an empty
> macro "VIRTUAL_BUG_ON" to replace ASSERT, this bug will not
> be triggered.

How about we promote VIRTUAL_BUG_ON() to expand to at least ASSERT()?

> --- a/xen/arch/x86/numa.c
> +++ b/xen/arch/x86/numa.c
> @@ -270,6 +270,8 @@ void __init numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn)
>      /* setup dummy node covering all memory */
>      memnode_shift = BITS_PER_LONG - 1;
>      memnodemap = _memnodemap;
> +    memnodemapsize = ARRAY_SIZE(_memnodemap);

But this doesn't reflect reality then, does it? We'd rather want to
set the size to 1, I would think.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 12 15:36:58 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 15:36:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166520.303918 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEClN-00070a-RS; Thu, 12 Aug 2021 15:36:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166520.303918; Thu, 12 Aug 2021 15:36:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEClN-00070T-O5; Thu, 12 Aug 2021 15:36:57 +0000
Received: by outflank-mailman (input) for mailman id 166520;
 Thu, 12 Aug 2021 15:36:56 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=QHFb=ND=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mEClM-00070K-FU
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 15:36:56 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 1f32d616-fb83-11eb-a1cd-12813bfff9fa;
 Thu, 12 Aug 2021 15:36:55 +0000 (UTC)
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur02lp2052.outbound.protection.outlook.com [104.47.4.52]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-39-5qoWwU5XPdylvL9TnHbp8A-1; Thu, 12 Aug 2021 17:36:53 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5327.eurprd04.prod.outlook.com (2603:10a6:803:5c::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Thu, 12 Aug
 2021 15:36:52 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.017; Thu, 12 Aug 2021
 15:36:52 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FR0P281CA0044.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:48::7) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.7 via Frontend Transport; Thu, 12 Aug 2021 15:36: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: 1f32d616-fb83-11eb-a1cd-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628782614;
	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=KIjJYMM+luisI8ZoY4bFx47BA3/mHXMPG72vy79//f4=;
	b=MkradBnWLqqjlKKVZbSanR87wV+K9QiyVISCZ9uSWWEzfYdPBM6ayn75AkOcTuMowS9+hh
	7V81YKQHpp5rdNoATDVixRQ0+8sUQgiVqWl8YEoTZAD88LaTNlKzfgWuoo2/SjbfrgI2WO
	/Ud6g2t1m3yp35jRl1UT7/aOJCSPO3M=
X-MC-Unique: 5qoWwU5XPdylvL9TnHbp8A-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RkHPfR3t5fr6Ff05tXK8mOXgIoHgQxgek+poB7o1St3km7W6BGNxa1q5cC9B4aKi8ijBYyjevk7mKRRkHTzljVKFOUjexcJlLbBOmGrDaNGcFckTM4rz/viVaVlOOaoyTft3nNpB8fKYAsnqIWC/1APVMtJMrvN0B0uKE5tI3zVMLFLTYcaaL3qvbyy70ppqBl8L6lL51sixd2bDmweQaV9sfw9dRr3s48jEMpvBWVEUKL2uocpef1x/D7178RZg8vjg99bAJEm2MXngdQR7KJ/HSFH/c2+qLb9GgpYbRfYkQ2+lYkIxvrBkVv4cwuyKxQbtQz6qRayM8PLB8Jb+Ew==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KIjJYMM+luisI8ZoY4bFx47BA3/mHXMPG72vy79//f4=;
 b=EcownSIR0BU2VTvzDK6y5A2L7LBb6IaVKqa1A0p8m9SbadMlp7rDAvQwWnXpICUidkJhz1Z8TSYtsV/7tixpG/p6ZSwpY0uvJfzR+CRH5eLdNnV7TJj9ytHh/FohBJCTiC/PTnLifZVUA8nkltPBEF9rVoBwOCP6105NVv+hKSvUZqZkGgYDlNOS+YaE8IHlvnqrVkuJzgg3u7o7hvY5rNQFbXJVA/CCi6C/wWT1YyNRMAzlZB7uI+2rP/6Xlcl0GnxfUfnhwHUvO3sDeyvti7Y+cJt1ZO+USf3FvBLX+AC1IFQsnaFX1BzDHiBi4ilXLoNv7Hm7DiGCLLfjnE8KqQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: Re: [XEN RFC PATCH 06/40] xen: decouple NUMA from ACPI in Kconfig
To: Wei Chen <wei.chen@arm.com>
Cc: Bertrand.Marquis@arm.com, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, julien@xen.org
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-7-wei.chen@arm.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <d7d52c5e-6c55-4491-3794-681b0e8df9ab@suse.com>
Date: Thu, 12 Aug 2021 17:36:50 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210811102423.28908-7-wei.chen@arm.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0044.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::7) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 9b65c06a-9153-4ef9-f0fc-08d95da701dc
X-MS-TrafficTypeDiagnostic: VI1PR04MB5327:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB5327D77305F4E2FD4F4F5F2FB3F99@VI1PR04MB5327.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:5516;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	x4y7ctbn9iOvkaHNqr4abihkV4TevZPt4CoLkbjFlTxHWdrtwlVZQaBooRsjysYKQDSKRpyrhZtS/u3tmf1owK2d0/4hhl4erzIwAXqqkowjK9AQB9MPkzoqnH32y7S23Fly9nA/G3e8yABGGKmvJZGNc0NHqP4KJUC3+XphTJWw9kAyrlCk5oqmt1s8ncsq/lZ1cna2mMnWrSFHtnwPN8D8Y0pBjlKfjC19NY/9yC6h0PNvlO9IZ3uqsbXujv59LH/eWxfsRKKMGOk65YMahl1iJUseKxk4MEd+cyOCiOw1uMbsqUpNHL/InWctS1XZqz2isr7lWEtGJcY0/O8OLfPWGAw7BvjHvlhTL+/yBTyrO0vTHmH8UMA4PW+PAUjJvnKxuPQsDWTD8So19axYMN4Na+8j6rKMd5RLMoOmKtLIUT8zM512OSY+ItO1WkGa08RQua2ynccjsTaz3LZe7RW1KxaIjg3B5CExEKXQD6QCfYbC9f5CIbxyTykIzq0BvPRSX1qcmSXtwcelY4/DBAtn8Csrwd0AQjYJ1RuX4BIS/L0KrRzxhFvrF9zbAEQOlhehHi2dj4m40m3GkK/a9/zyD7NGWxMBJfyoRon9orK4kryF2XUZwSJj7q6l6TPXg1QSD1yqne4XSRLMFqPZ35LpeF60Rdc1/7f1A6mYoM0gIMlUAMl2m31qxjRpRdT93yewiOgg6IDvzgNVuWqez0RvMXfHS3TeT5rPSKG1NRo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(376002)(39850400004)(396003)(136003)(346002)(4326008)(316002)(38100700002)(66556008)(16576012)(36756003)(31696002)(66946007)(2906002)(66476007)(8936002)(186003)(26005)(2616005)(5660300002)(478600001)(31686004)(86362001)(6486002)(53546011)(8676002)(6916009)(956004)(4744005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bWJaNW1saHVSc2JUbDEzNllUMWR2UW1FZVlwWXFXN0pzMEdOeU1IZHU0STZq?=
 =?utf-8?B?aU05MUhPLzJuVUNJckwwYmpJV1QwSXNnUzFYQWZBVFVuek5jSFJjSDZCUndm?=
 =?utf-8?B?M2ExeEYyWFBNMThib0FEOGxGTUJLMXFhVndVVW5GUWZDRUxCNytpNnp6OGIz?=
 =?utf-8?B?SW5LRFdjanZBc1BmWUJvenFBaUMvVTM0ZUlwS3F4SCtBS2h6Ny9BcFppNjdK?=
 =?utf-8?B?b3NOODQzbVZjRElkbm1PbHdMRzRjb3lWRnJwdDZzR2E5NTV3YURmRlQzbU1V?=
 =?utf-8?B?Qmt1N05JUW5mUHowN1V6VlgvNENBckFYMWRmMmNuUzRYclhOL3IxVGI5UTAx?=
 =?utf-8?B?NUU0Y2gwNEZYaFFBajhGM2tIcnB2UHI1Z3FIZUhSa3l6cmJYL0FuTCtLeDdR?=
 =?utf-8?B?M2FkYlhXeXVhYlBlVS81eVZYajN3dndZbGcwc2hYQkZpd1lIMWNueWw4NW9r?=
 =?utf-8?B?bVNXKzdmUk56SzZZNGNCSE4ybWIxcjgyaU80SWpvWk56czFVcnhCVkd2a2R2?=
 =?utf-8?B?eXRVSFB6OXVrQUE2ZzV3c2o2RDJCekV1Z0ZGM0ZCbUR3QUkwUFJUNzBNdzNn?=
 =?utf-8?B?dGdjRGl4dnRLQ2RzUWQ0bGxySm1hR1NidGE0NGd6M0NrQkt2VjZOOENabDVj?=
 =?utf-8?B?VHpVTHgzczlLSFNWV1k5TFpFWjhiMVFJWEJ3dVgxWklqTG1mYm5yb0NuR00v?=
 =?utf-8?B?TWh2TFBoOEg3bUkwZnY4QXhYY0I0V2thQUZuZEY3ZExZbG1zUlFkYkNYeFFl?=
 =?utf-8?B?ODNmNzAvRGtxSTZEWENZaUNZZDBWYVdIOHM3Vkh5R1dHMkRyZU5xOWFueTdn?=
 =?utf-8?B?bWt5QnRQd0xiaEdxK1NZL2VyZ1JYK2NkZ2grMWFYMS8zSmN5aU54eGt1TGFs?=
 =?utf-8?B?LzlSZi9PVjFBa3lKN0VMNFRLUjNXSHJFdE9zbWxTaFpSeVRKR2RpclRyUGFi?=
 =?utf-8?B?UEQ0am8yYVIrdXQ4UCtSdzRzUzNhWmVDb1g2dllVc0loSmY1RVhNbnVXT0U1?=
 =?utf-8?B?UGFOYktQVXNhQlh4ZmxuZVFROXcvYkxzbDhLNkQ5OU1uc1JxaDZDUDNWOGUr?=
 =?utf-8?B?NWR0UHJrYUF1K1hWc0s5WEVvajB4N1RZcnRXVEptcytzRkJSVGF0cm9LQ1RI?=
 =?utf-8?B?MEZ3eVhXZmZSZHpSNmUvSVlCcHVKWFpobVZENkNJa2RQNFhaMVpxeVhwOTBN?=
 =?utf-8?B?UUpVa1U5eDFTbExzU0cwWHlsNDhtSzNLc3F0MnVlTlhMZFhmVkZXZy81ejFG?=
 =?utf-8?B?WG0zeHpSekJpM05JNm9ITXl3Q3FoRC9YM3UzOVBCN2VvbGVQZzJXeC9TdDFr?=
 =?utf-8?B?RlFOY0kyYWtpaW8xT3JGSm5QUlo1VjN0dUcwbTlPbmlvUmF6VlNtdnBvUlJH?=
 =?utf-8?B?cGdQanl2UlIvbzNLK0w5UGlQZi9kUHRjMHpaak90WFN1NjNGL24xRE0wR2V5?=
 =?utf-8?B?c0V3U3VOQXBzZW83VXM0TElYYTIvaExNM2VuSm9mNkd3VkdVRjFFc05GVlYv?=
 =?utf-8?B?MUVwQ0U5N05FdmoxeE45YXNmZ0h6SjRpTSs5Yytaa005MjVJU2ZWWmd5aHhP?=
 =?utf-8?B?T2Foam9QOGdHRENJVkZRZjNmSnRSZThiZ1o2aExRMG90d2pqa0RNSCtJVkhU?=
 =?utf-8?B?dHRhTVdLdm1RY1FneVVOcHJkNW8wZkNiamo1dm1MbUtnYlZZMHdwZ0FoNEx1?=
 =?utf-8?B?enplcXJXNDkxeE9OWjB5UkpFMHdOT2gzempXS1ZYYnNSRkhBblNjRXJhT0hu?=
 =?utf-8?Q?+JaqL5x1gWjRyuVEkD4X+Hfe9PVe2kie0Sxooth?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9b65c06a-9153-4ef9-f0fc-08d95da701dc
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2021 15:36:52.2423
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9hHAjH7XrpLpO9UXCF8TCou+FHGsePo2vZJizLKmisFcUxWmblFzAuMOJ7V/Pjsx1Uk9MyE52CvlUeSpWnQPCA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5327

On 11.08.2021 12:23, Wei Chen wrote:
> --- a/xen/arch/x86/Kconfig
> +++ b/xen/arch/x86/Kconfig
> @@ -24,7 +24,7 @@ config X86
>  	select HAS_UBSAN
>  	select HAS_VPCI if HVM
>  	select NEEDS_LIBELF
> -	select NUMA
> +	select ACPI_NUMA

We try to keep this alphabetically sorted, so please move up the
replacement line. Then
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 12 15:38:49 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 15:38:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166526.303929 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mECn8-0007hP-Dc; Thu, 12 Aug 2021 15:38:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166526.303929; Thu, 12 Aug 2021 15:38:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mECn8-0007hI-8K; Thu, 12 Aug 2021 15:38:46 +0000
Received: by outflank-mailman (input) for mailman id 166526;
 Thu, 12 Aug 2021 15:38:44 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=L4zR=ND=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mECn6-0007hC-Qc
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 15:38:44 +0000
Received: from mail-pl1-x62a.google.com (unknown [2607:f8b0:4864:20::62a])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 30ef41ca-7bed-4c19-a248-08cce6496e5f;
 Thu, 12 Aug 2021 15:38:44 +0000 (UTC)
Received: by mail-pl1-x62a.google.com with SMTP id q2so7782013plr.11
 for <xen-devel@lists.xenproject.org>; Thu, 12 Aug 2021 08:38:44 -0700 (PDT)
Received: from ?IPv6:2404:f801:0:5:8000::4b1? ([2404:f801:9000:1a:efea::4b1])
 by smtp.gmail.com with ESMTPSA id
 y7sm4139094pfp.102.2021.08.12.08.38.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 Aug 2021 08:38: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: 30ef41ca-7bed-4c19-a248-08cce6496e5f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=JDlSeWOgXcTARSX0Sb/7iqT+nIM3mRl7e9seVpJTDsQ=;
        b=eKwdoqgzbDwCSyrgnVW4fQAzUSWeoRx/kyQpFmKK+Fp7BDnr2/nHtS2A8lP7dy74pV
         DhjbUbYBUBvR9ptLkWXPFGdb66asLd49SRfdmf9wxKJzWqlZ8T7NSu4mDDdOyr8QYGjC
         0lNFiTw2Utqsdhq+i1tE7yKdLkrhwYJ4GcUjf5y7cP+4awTK44NJV01YV+BxlT3oQexu
         0CRKAKLjxtq43dNgpQlyRzLdedFvCS41p+H+3bYjSaKBrgs7oVUsW9kyJWLlM734zPxy
         UEVzFvb9jP9wMt2dE2D+cHyIUPC4b4v/Fn8lr0Ong2WornEq8pHks9kPtVFyDLYSburS
         y7eQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=JDlSeWOgXcTARSX0Sb/7iqT+nIM3mRl7e9seVpJTDsQ=;
        b=FTZyYKvcuhFdKCHRQ4SWvQ9gDlL/kB2DSnZk9cfiba+GIyMwzFX47o9AfNglXrV3TV
         zZQVlKyJf/ojuXUkDuEhFrn2iZ8ol5Ss6TeXl+/gdFCHV1/Rj3nAMBem2YJp0S5PdjKy
         F4lEMjk75mxYmkdBkm510bO/vzCeFn8Iadj7WUrwTif+nlINpXTVN88Uu6dyDTydEx6e
         vMoAHOnoP2faW59iY6OUh+tCwfVerbNx/9Z9oF2FNObWylVwsmNhvreq2NEWbdhdAnSO
         8OC2pv+2cW5XvVUCkg9yI8YfHt91RdsHnPvyjJBWYPXrHrzxFHz80HcjCHp1h+zKJMAm
         uBMQ==
X-Gm-Message-State: AOAM531+CIZnsq6nH4C6Zj4PFmK32leomBnOlkh/nkL+oVOMcnTyCYi/
	FNf02VFQ+kovC/qJ4W7ffqc=
X-Google-Smtp-Source: ABdhPJzM/sI+FsioyGJB+Q38ExsQyZIIBjJUHCnSB8L/yQaI33b3CkRfajWOppoDj5zZgXKq84mYaQ==
X-Received: by 2002:a17:90a:648b:: with SMTP id h11mr5000375pjj.141.1628782723341;
        Thu, 12 Aug 2021 08:38:43 -0700 (PDT)
Subject: Re: [PATCH V3 09/13] DMA: Add dma_map_decrypted/dma_unmap_encrypted()
 function
To: Christoph Hellwig <hch@lst.de>
Cc: kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com,
 wei.liu@kernel.org, decui@microsoft.com, tglx@linutronix.de,
 mingo@redhat.com, bp@alien8.de, x86@kernel.org, hpa@zytor.com,
 dave.hansen@linux.intel.com, luto@kernel.org, peterz@infradead.org,
 konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, jgross@suse.com,
 sstabellini@kernel.org, joro@8bytes.org, will@kernel.org,
 davem@davemloft.net, kuba@kernel.org, jejb@linux.ibm.com,
 martin.petersen@oracle.com, arnd@arndb.de, m.szyprowski@samsung.com,
 robin.murphy@arm.com, thomas.lendacky@amd.com, brijesh.singh@amd.com,
 ardb@kernel.org, Tianyu.Lan@microsoft.com, pgonda@google.com,
 martin.b.radev@gmail.com, akpm@linux-foundation.org,
 kirill.shutemov@linux.intel.com, rppt@kernel.org, sfr@canb.auug.org.au,
 saravanand@fb.com, krish.sadhukhan@oracle.com, aneesh.kumar@linux.ibm.com,
 xen-devel@lists.xenproject.org, rientjes@google.com, hannes@cmpxchg.org,
 tj@kernel.org, michael.h.kelley@microsoft.com,
 iommu@lists.linux-foundation.org, linux-arch@vger.kernel.org,
 linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
 linux-scsi@vger.kernel.org, netdev@vger.kernel.org, vkuznets@redhat.com,
 parri.andrea@gmail.com, dave.hansen@intel.com
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-10-ltykernel@gmail.com>
 <20210812122657.GB19050@lst.de>
From: Tianyu Lan <ltykernel@gmail.com>
Message-ID: <0598906d-9a47-34a9-16bf-4bacff7fa058@gmail.com>
Date: Thu, 12 Aug 2021 23:38:27 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210812122657.GB19050@lst.de>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit



On 8/12/2021 8:26 PM, Christoph Hellwig wrote:
> On Mon, Aug 09, 2021 at 01:56:13PM -0400, Tianyu Lan wrote:
>> From: Tianyu Lan <Tianyu.Lan@microsoft.com>
>>
>> In Hyper-V Isolation VM with AMD SEV, swiotlb boucne buffer
>> needs to be mapped into address space above vTOM and so
>> introduce dma_map_decrypted/dma_unmap_encrypted() to map/unmap
>> bounce buffer memory. The platform can populate man/unmap callback
>> in the dma memory decrypted ops.
> 
> Nothing here looks actually DMA related, and the names are horribly
> confusing vs the actual dma_map_* calls.
> 

OK. So this still need to keep in the set_memory.c file.


From xen-devel-bounces@lists.xenproject.org Thu Aug 12 16:55:12 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 16:55:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166532.303943 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEDyn-000764-5o; Thu, 12 Aug 2021 16:54:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166532.303943; Thu, 12 Aug 2021 16:54: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 1mEDyn-00075x-26; Thu, 12 Aug 2021 16:54:53 +0000
Received: by outflank-mailman (input) for mailman id 166532;
 Thu, 12 Aug 2021 16:54:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mEDym-00075r-3z
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 16:54:52 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mEDyl-000275-2n; Thu, 12 Aug 2021 16:54:51 +0000
Received: from 54-240-197-230.amazon.com ([54.240.197.230]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mEDyk-0000Y9-T5; Thu, 12 Aug 2021 16:54:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=DH/7h575LFUbdz+1ex+SrhGydlPy5xBbM+E/28JiPZU=; b=FDk7vFzM7nGJhnpcqgkWI8QOgp
	UGOIl0Z7p9IF/nu0PtauIL3EagTevU0BMxCDfFpqJj2AzGfiiA/0EVwCMZOgGmrbvJT3F8sB2TgQX
	U8ImrVPTzZmhF5CuA3LxqkFRiiwuCOWqwnEg83utppvqxYkz15Pzid7n7wKZVCWprdaE=;
Subject: Re: [XEN RFC PATCH 06/40] xen: decouple NUMA from ACPI in Kconfig
To: Wei Chen <wei.chen@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, jbeulich@suse.com
Cc: Bertrand.Marquis@arm.com
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-7-wei.chen@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <5ad90b2a-c440-3488-fe2d-fd89db1ca3b3@xen.org>
Date: Thu, 12 Aug 2021 17:54:49 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <20210811102423.28908-7-wei.chen@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Wei,

On 11/08/2021 11:23, Wei Chen wrote:
> In current Xen code only implments x86 ACPI-based NUMA support.

s/implments/implements/

> So in Xen Kconfig system, NUMA equals to ACPI_NUMA. x86 selects
> NUMA by default, and CONFIG_ACPI_NUMA is hardcode in config.h.
> 
> In this patch series, we introduced device tree based NUMA for
> Arm.

The concept of patch series only applies to the ML. Once checked-in this 
is only a series of commit. So I would write:

"In a follow-up patch, we will introduce support for NUMA using the 
Device-Tree".

>  That means we will have two NUMA implemetations, so in this

s/implemetations/implementations/

> patch we decouple NUMA from ACPI based NUMA in Kconfig. Make NUMA
> as a common feature, that device tree based NUMA also can select it.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 12 17:10:28 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 17:10:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166538.303954 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEEDj-0000uV-H7; Thu, 12 Aug 2021 17:10:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166538.303954; Thu, 12 Aug 2021 17:10:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEEDj-0000uO-Dx; Thu, 12 Aug 2021 17:10:19 +0000
Received: by outflank-mailman (input) for mailman id 166538;
 Thu, 12 Aug 2021 17:10:17 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rsMc=ND=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mEEDh-0000uI-Cw
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 17:10:17 +0000
Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 28f3e700-fb90-11eb-a1e2-12813bfff9fa;
 Thu, 12 Aug 2021 17:10: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: 28f3e700-fb90-11eb-a1e2-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1628788215;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=2vk+22CWLeGFKU7TFxSSBYCGeIcpf60UuRjuX3+Sgek=;
  b=VqWHjrTeqpTglnpYZpKhVUO07XePjXbH+0QBcdCVbBaQsepkGr9YZpl4
   AcyOK7VMrrOeOImkdHLw1mkJZ4NlXFAvtemCf3qR5rkuE9CXIPB3SAAU2
   X21Ctq3kUy5g6AvWP+JbcQOnx8MdDbjAckrjBuayAkqldiWAucZM5aWfY
   w=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: GPYmbTzhh2ySuasRWmQ1JLB/2GsEMOcXaTltihiZl3bQbJFQHG58xR+XQJ/V2PAx5UV8r1qZrt
 vhcwlg9xz6pV6ZTJj+Z6pmJ2Bge/TX7i2+XuQNU9gZMyahJiAZgV+WqlP4uhVYkEy7++kVuoIl
 1tBT6+sRlEgaZ2NPcSdAdSBP5Ld2Hr4+HyJTkfkN3pODzEz1er5Yla4T5cjKmU1h8FuKAEIZdX
 J3uMpG0Z5n5nd5IFrVaWSItcK8Zemb34LsSWtgTAzlIEKCh/oww774VbBb4M1ya1JGPlgN90pi
 LHeTVznhFKIWa4xOELgvfqgl
X-SBRS: 5.1
X-MesageID: 52046591
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:EzCN06tmk1sPFCCCVc+KkKNi7skDdtV00zEX/kB9WHVpmszxra
 CTdZMgpGbJYVcqKRcdcL+7Scu9qB/nm6KdgrNhWotKPjOW3VdARbsKheCJrlGOJ8SXzJ8k6U
 4KSdkcNDSfNzlHZL7BkW2FL+o=
X-IronPort-AV: E=Sophos;i="5.84,316,1620705600"; 
   d="scan'208";a="52046591"
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>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?=
	<marmarek@invisiblethingslab.com>
Subject: [PATCH] x86/cet: Fix shskt manipulation error with BUGFRAME_{warn,run_fn}
Date: Thu, 12 Aug 2021 18:03:50 +0100
Message-ID: <20210812170350.23543-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

This was a clear oversight in the original CET work.  The BUGFRAME_run_fn and
BUGFRAME_warn paths update regs->rip without an equivlenet adjustment to the
shadow stack, causes IRET to suffer #CP due to the mismatch.

One subtle, and therefore fragile, aspect of extable_shstk_fixup() was that it
required regs->rip to have its old value as a cross-check that the correct
word in the shadow stack was being adjusted.

Rework extable_shstk_fixup() into fixup_exception_return() which takes
ownership of the update to both the regular and shadow stacks, ensuring that
the regs->rip update is ordered suitably.

Use the new fixup_exception_return() for BUGFRAME_run_fn and BUGFRAME_warn to
ensure that the shadow stack is updated too.

Fixes: 209fb9919b50 ("x86/extable: Adjust extable handling to be shadow stack compatible")
Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
CC: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

Backport to 4.14

Only compile tested so far.  My one CET-SS machine is in use for other
purposes right now.

I'm not a massive fan of the large ifdef area.  The logic could be rearranged
to use IS_ENABLED(CONFIG_XEN_SHSTK) by indenting most of the function, but I
can't see any way to drop the goto's, and this is certainly the least-invasive
diff.
---
 xen/arch/x86/traps.c | 23 ++++++++++++++---------
 1 file changed, 14 insertions(+), 9 deletions(-)

diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index e60af16ddd8c..30eefbad4863 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -777,13 +777,15 @@ static void do_reserved_trap(struct cpu_user_regs *regs)
           trapnr, vec_name(trapnr), regs->error_code);
 }
 
-static void extable_shstk_fixup(struct cpu_user_regs *regs, unsigned long fixup)
+static void fixup_exception_return(struct cpu_user_regs *regs,
+                                   unsigned long fixup)
 {
+#ifdef CONFIG_XEN_SHSTK
     unsigned long ssp, *ptr, *base;
 
     asm ( "rdsspq %0" : "=r" (ssp) : "0" (1) );
     if ( ssp == 1 )
-        return;
+        goto shstk_done;
 
     ptr = _p(ssp);
     base = _p(get_shstk_bottom(ssp));
@@ -814,7 +816,7 @@ static void extable_shstk_fixup(struct cpu_user_regs *regs, unsigned long fixup)
             asm ( "wrssq %[fix], %[stk]"
                   : [stk] "=m" (ptr[0])
                   : [fix] "r" (fixup) );
-            return;
+            goto shstk_done;
         }
     }
 
@@ -824,6 +826,12 @@ static void extable_shstk_fixup(struct cpu_user_regs *regs, unsigned long fixup)
      * executing the interrupted context.
      */
     BUG();
+
+ shstk_done:
+#endif /* CONFIG_XEN_SHSTK */
+
+    /* Fixup the regular stack. */
+    regs->rip = fixup;
 }
 
 static bool extable_fixup(struct cpu_user_regs *regs, bool print)
@@ -842,10 +850,7 @@ static bool extable_fixup(struct cpu_user_regs *regs, bool print)
                vec_name(regs->entry_vector), regs->error_code,
                _p(regs->rip), _p(regs->rip), _p(fixup));
 
-    if ( IS_ENABLED(CONFIG_XEN_SHSTK) )
-        extable_shstk_fixup(regs, fixup);
-
-    regs->rip = fixup;
+    fixup_exception_return(regs, fixup);
     this_cpu(last_extable_addr) = regs->rip;
 
     return true;
@@ -1138,7 +1143,7 @@ void do_invalid_op(struct cpu_user_regs *regs)
         void (*fn)(struct cpu_user_regs *) = bug_ptr(bug);
 
         fn(regs);
-        regs->rip = (unsigned long)eip;
+        fixup_exception_return(regs, (unsigned long)eip);
         return;
     }
 
@@ -1159,7 +1164,7 @@ void do_invalid_op(struct cpu_user_regs *regs)
     case BUGFRAME_warn:
         printk("Xen WARN at %s%s:%d\n", prefix, filename, lineno);
         show_execution_state(regs);
-        regs->rip = (unsigned long)eip;
+        fixup_exception_return(regs, (unsigned long)eip);
         return;
 
     case BUGFRAME_bug:
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 12 18:06:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 18:06:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166543.303964 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEF6L-0005qs-JQ; Thu, 12 Aug 2021 18:06:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166543.303964; Thu, 12 Aug 2021 18:06:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEF6L-0005ql-GX; Thu, 12 Aug 2021 18:06:45 +0000
Received: by outflank-mailman (input) for mailman id 166543;
 Thu, 12 Aug 2021 18:06:44 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mEF6K-0005qb-CI; Thu, 12 Aug 2021 18:06:44 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mEF6K-0003R6-1z; Thu, 12 Aug 2021 18:06:44 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mEF6J-0001Xf-P7; Thu, 12 Aug 2021 18:06:43 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mEF6J-0005IC-OE; Thu, 12 Aug 2021 18:06:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=aXvOF8eomMb1JnJoNl6F42WCkFSesNxjMvBq6u/sKW4=; b=np4QifLCqJy+722H2F+1JA7RvF
	BWKhDFGzJ9G+dwJrvHcdayDrlx6FSDUvuO9RKmNrtyLDAWFGuIL7JLst1jVDIGKH5S6egPwHylyyo
	LZjGnW8JE3qQiaQLGCd8FCmowbAocxmIh3kbqaeWV7Ts6zCdLV/d6z7Lr+J/lLGUq2/4=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164167-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 164167: trouble: broken/fail/pass
X-Osstest-Failures:
    linux-5.4:test-armhf-armhf-xl-arndale:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-arndale:host-install(5):broken: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-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check: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-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check: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-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt: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-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-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-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=a998faa9c4cee7dc68f3f6f82be93bbb99dda322
X-Osstest-Versions-That:
    linux=e350cd02e293be9a6b93398b2d3ff1edf7695ab2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 12 Aug 2021 18:06:43 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl-arndale     <job status>                 broken
 test-armhf-armhf-xl-arndale   5 host-install(5)        broken REGR. vs. 164131

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164131
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 164131
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 164131
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164131
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164131
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164131
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 164131
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164131
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 164131
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164131
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164131
 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-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      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-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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                a998faa9c4cee7dc68f3f6f82be93bbb99dda322
baseline version:
 linux                e350cd02e293be9a6b93398b2d3ff1edf7695ab2

Last test of basis   164131  2021-08-08 07:11:59 Z    4 days
Testing same since   164167  2021-08-12 11:47:56 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex Xu (Hello71) <alex_y_xu@yahoo.ca>
  Alexander Monakov <amonakov@ispras.ru>
  Alexander Tsoy <alexander@tsoy.me>
  Alexei Starovoitov <ast@kernel.org>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Anirudh Rayabharam <mail@anirudhrb.com>
  Antoine Tenart <atenart@kernel.org>
  Arnd Bergmann <arnd@arndb.de>
  Bartosz Golaszewski <bgolaszewski@baylibre.com>
  Brian Norris <briannorris@chromium.org>
  Catalin Marinas <catalin.marinas@arm.com>
  Chanho Park <chanho61.park@samsung.com>
  chihhao.chen <chihhao.chen@mediatek.com>
  Christoph Hellwig <hch@lst.de>
  Colin Ian King <colin.king@canonical.com>
  Dan Carpenter <dan.carpenter@oracle.com>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniele Palmas <dnlplm@gmail.com>
  Dario Binacchi <dariobin@libero.it>
  David Bauer <mail@david-bauer.net>
  David S. Miller <davem@davemloft.net>
  Dmitry Osipenko <digetx@gmail.com>
  Dominik Brodowski <linux@dominikbrodowski.net>
  Dongliang Mu <mudongliangabcd@gmail.com>
  Eero Lehtinen <debiangamer2@gmail.com>
  Fei Qin <fei.qin@corigine.com>
  Felipe Balbi <balbi@kernel.org>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Gregory CLEMENT <gregory.clement@bootlin.com>
  Guenter Roeck <linux@roeck-us.net>
  Guido Kiener <guido.kiener@rohde-schwarz.com>
  Guoqing Jiang <jiangguoqing@kylinos.cn>
  H. Nikolaus Schaller <hns@goldelico.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Hervé Codina <herve.codina@bootlin.com>
  Hui Su <suhui@zeku.com>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jan Kara <jack@suse.cz>
  Jarkko Sakkinen <jarkko@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jens Wiklander <jens.wiklander@linaro.org>
  Johan Hovold <johan@kernel.org>
  Johannes Berg <johannes.berg@intel.com>
  Jon Hunter <jonathanh@nvidia.com>
  Juergen Borleis <jbe@pengutronix.de>
  Kieran Bingham <kieran.bingham@ideasonboard.com>
  Kim Phillips <kim.phillips@amd.com>
  Letu Ren <fantasquex@gmail.com>
  Li Manyi <limanyi@uniontech.com>
  Liam Merwick <liam.merwick@oracle.com>
  Like Xu <likexu@tencent.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Louis Peens <louis.peens@corigine.com>
  Luis Chamberlain <mcgrof@kernel.org>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Maciej W. Rozycki <macro@orcam.me.uk>
  Marek Vasut <marex@denx.de>
  Mario Kleiner <mario.kleiner.de@gmail.com>
  Mark Brown <broonie@kernel.org>
  Mark Rutland <mark.rutland@arm.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Matt Turner <mattst88@gmail.com>
  Matteo Croce <mcroce@microsoft.com>
  Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
  Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Maxim Devaev <mdevaev@gmail.com>
  Maxime Chevallier <maxime.chevallier@bootlin.com>
  Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Pali Rohár <pali@kernel.org>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Skripkin <paskripkin@gmail.com>
  Pawel Laszczak <pawell@cadence.com>
  Peter Chen <peter.chen@kernel.org>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Phil Elwell <phil@raspberrypi.com>
  Prarit Bhargava <prarit@redhat.com>
  Qiang.zhang <qiang.zhang@windriver.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Sasha Levin <sashal@kernel.org>
  Sean Christopherson <seanjc@google.com>
  Sean Young <sean@mess.org>
  Sebastian Andrzej Siewior <bigeasy@linutronix.de>
  Shawn Guo <shawnguo@kernel.org>
  Shreyansh Chouhan <chouhan.shreyansh630@gmail.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Song Liu <song@kernel.org>
  Stas Sergeev <stsp2@yandex.ru>
  Stephen Boyd <sboyd@kernel.org>
  Steve Bennett <steveb@workware.net.au>
  Steven Rostedt (VMware) <rostedt@goodmis.org>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  syzbot+de271708674e2093097b@syzkaller.appspotmail.com
  Takashi Iwai <tiwai@suse.de>
  Tejun Heo <tj@kernel.org>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Theodore Ts'o <tytso@mit.edu>
  Thierry Reding <treding@nvidia.com>
  Thomas Gleixner <tglx@linutronix.de>
  Tony Lindgren <tony@atomide.com>
  Tyler Hicks <tyhicks@linux.microsoft.com>
  Vinod Koul <vkoul@kernel.org>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Wang Hai <wanghai38@huawei.com>
  Wei Shuyu <wsy@dogben.com>
  Will Deacon <will@kernel.org>
  Willy Tarreau <w@1wt.eu>
  Xiangyang Zhang <xyz.sun.ok@gmail.com>
  Xin Long <lucien.xin@gmail.com>
  Yang Yingliang <yangyingliang@huawei.com>
  Yu Kuai <yukuai3@huawei.com>
  Zheyu Ma <zheyuma97@gmail.com>
  Zhiyong Tao <zhiyong.tao@mediatek.com>

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


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

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

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

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

broken-job test-armhf-armhf-xl-arndale broken
broken-step test-armhf-armhf-xl-arndale host-install(5)

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Thu Aug 12 18:17:06 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 18:17:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166549.303979 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEFGH-0007Ms-Q3; Thu, 12 Aug 2021 18:17:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166549.303979; Thu, 12 Aug 2021 18: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 1mEFGH-0007Ml-Mz; Thu, 12 Aug 2021 18:17:01 +0000
Received: by outflank-mailman (input) for mailman id 166549;
 Thu, 12 Aug 2021 18:17:01 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ckIB=ND=invisiblethingslab.com=marmarek@srs-us1.protection.inumbo.net>)
 id 1mEFGG-0007Me-V5
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 18:17:01 +0000
Received: from out4-smtp.messagingengine.com (unknown [66.111.4.28])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 7c48db28-fb99-11eb-a1f6-12813bfff9fa;
 Thu, 12 Aug 2021 18:16:59 +0000 (UTC)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailout.nyi.internal (Postfix) with ESMTP id A3AA05C006F;
 Thu, 12 Aug 2021 14:16:59 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute1.internal (MEProxy); Thu, 12 Aug 2021 14:16:59 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 12 Aug 2021 14:16:58 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7c48db28-fb99-11eb-a1f6-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=qbz+nu
	Dfc54vSIjdJZhDygAZiZbGMDMrw5j49nmRxWo=; b=rcpSdXnjaYDvZrbmrOEFDR
	tmI4KwEYcRTUSUvLufyQnFQnuhw01FMsawH0YRTDz9EX9eXv3QjHSerKB+ShPFFI
	7rxDVeMIkDYXE9DeiTMnY/PMl75RGHRThkWrAS1dFODyBrBktrguked4L7Me3GDm
	/4tfWKYER+cQNfKKUqlmHMe3YC60MAT42QYfuMN2TFRNfGzFpRQ5B7C5O4HGifKZ
	juE5D6nK+2sH2uLXJM4XpLhCH9C8LYkhJC7zIwh2JTFHznYUGT568UsAlMINXMTq
	dL+gysSlomc7HqPiHB/iD35IRnZt/qcakd3QzvZ7Zx6IuG4JeGbwWDq40/OFE/fA
	==
X-ME-Sender: <xms:mmUVYSG7NillsEQKQcVe3hyt_10HQY4ayFxlbqFzwpGPFH_7B0gDsQ>
    <xme:mmUVYTVvzyDZqQtsEhTBAfy0tRGVAo9kuYQzVVsw5y9E6qnTS7SaYfZl9p9dDg14W
    7CPMP0g3_WNdw>
X-ME-Received: <xmr:mmUVYcJPeMinRBtPeNKRbU7vF_9ufrsHubP1vqVl1o4zSdsnT5waAgGA-xxqRNZNO5iWCzNFHzlFwWB4WRGu2qdZKE34a63N>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrkeefgdduvddvucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvffukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpeforghrvghk
    ucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesihhnvh
    hishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeetveff
    iefghfekhffggeeffffhgeevieektedthfehveeiheeiiedtudegfeetffenucevlhhush
    htvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhes
    ihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:m2UVYcGtnXo5e2bhHC14uaH8eLihA7i5rN73FvvtNBmmzHUyeHhY-Q>
    <xmx:m2UVYYUlbqdfr2b-XtrfU6P8Te4zY6_1mSZRT0sBS-QywYuJhkuQnw>
    <xmx:m2UVYfMTHq1dO1cOpRkUNXiAtYlg4tZmPtNgKtWfeZgPkitR0V0YPg>
    <xmx:m2UVYVh-hMJCtj-9DfQu14h13ENBhnmX-t-pMEjXqSJJEDsDLhAeJg>
Date: Thu, 12 Aug 2021 20:16:53 +0200
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>,
	Jan Beulich <JBeulich@suse.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: Re: [PATCH] x86/cet: Fix shskt manipulation error with
 BUGFRAME_{warn,run_fn}
Message-ID: <YRVllTyg8SpsvzMA@mail-itl>
References: <20210812170350.23543-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="zZ9X58O/aGMGCIb8"
Content-Disposition: inline
In-Reply-To: <20210812170350.23543-1-andrew.cooper3@citrix.com>


--zZ9X58O/aGMGCIb8
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 12 Aug 2021 20:16:53 +0200
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>,
	Jan Beulich <JBeulich@suse.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: Re: [PATCH] x86/cet: Fix shskt manipulation error with
 BUGFRAME_{warn,run_fn}

On Thu, Aug 12, 2021 at 06:03:50PM +0100, Andrew Cooper wrote:
> This was a clear oversight in the original CET work.  The BUGFRAME_run_fn=
 and
> BUGFRAME_warn paths update regs->rip without an equivlenet adjustment to =
the
> shadow stack, causes IRET to suffer #CP due to the mismatch.
>=20
> One subtle, and therefore fragile, aspect of extable_shstk_fixup() was th=
at it
> required regs->rip to have its old value as a cross-check that the correct
> word in the shadow stack was being adjusted.
>=20
> Rework extable_shstk_fixup() into fixup_exception_return() which takes
> ownership of the update to both the regular and shadow stacks, ensuring t=
hat
> the regs->rip update is ordered suitably.
>=20
> Use the new fixup_exception_return() for BUGFRAME_run_fn and BUGFRAME_war=
n to
> ensure that the shadow stack is updated too.
>=20
> Fixes: 209fb9919b50 ("x86/extable: Adjust extable handling to be shadow s=
tack compatible")
> Reported-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab=
=2Ecom>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

With this path, I don't observe the crash anymore. Thanks!

Tested-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com>

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

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

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmEVZZUACgkQ24/THMrX
1yydKwgAjpzXEY+YiPmk5nvhO51Ilw8OrTVzfaG4u02M5DQeude7nOvtf2NT+g9R
HXlWJsDyfyhbV01dki/mrzuot9kP8ZeJm7BZBTRi/Mxjg4Vm6+8I2LFUYEUifeho
pp7ekJZcRt8x1i+t/6lhYIC1KP8FPAGEANkQKp6hBqxdr8bO3KVygIXokomZpubt
7LnqyFPzWfkKwuMJ3nnlBlHCcKce1FRO0IbtR736cAOt36/HLkIVz6G8gqNj5rZw
IdJJdUClcOhKnchwF5yhHpnrz8Xf/dqQa+bU+xE07KKqp8ncyLePjyn2PUun2m3B
pI3P8SR7tdJ4gZsckVpXNl2brt2SCg==
=XshT
-----END PGP SIGNATURE-----

--zZ9X58O/aGMGCIb8--


From xen-devel-bounces@lists.xenproject.org Thu Aug 12 18:20:47 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 18:20:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166555.303989 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEFJp-0000I5-9A; Thu, 12 Aug 2021 18:20:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166555.303989; Thu, 12 Aug 2021 18: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 1mEFJp-0000Hy-6J; Thu, 12 Aug 2021 18:20:41 +0000
Received: by outflank-mailman (input) for mailman id 166555;
 Thu, 12 Aug 2021 18:20:40 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4db+=ND=gmail.com=jandryuk@srs-us1.protection.inumbo.net>)
 id 1mEFJo-0000Hq-3f
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 18:20:40 +0000
Received: from mail-lj1-x235.google.com (unknown [2a00:1450:4864:20::235])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 8491edd4-efec-4a8c-9dc9-59c1230e9439;
 Thu, 12 Aug 2021 18:20:39 +0000 (UTC)
Received: by mail-lj1-x235.google.com with SMTP id h2so11845391lji.6
 for <xen-devel@lists.xenproject.org>; Thu, 12 Aug 2021 11:20: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: 8491edd4-efec-4a8c-9dc9-59c1230e9439
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=mime-version:from:date:message-id:subject:to;
        bh=vWKiQ3ZNZNwQK3mX4sb/Ko9XjGPRK0bLeasj+2svlnA=;
        b=ZJK/rk05MS1EBZ34y6PAURX+5/Yo/iE0e5VMvJvPr2I6pFoXoCVmWymMyY6UOINEaA
         7VN5n/KdnsyoC+Rye/ZKQ6qrVokaXwq591+WRFOFoVO8LfCcHctIkkP6cawLFc0Ge9/z
         40lx78EIDpD4XRAMe4/SzGUJqP43wCa/ip1/j8DvWi8qZJVNVEl8FYOrABOf/RAAgdxD
         43S17yjrPj2FVtYn/7J/enTjQ7dAF8PY2G02dnjgdsbn3hibMX/RXLtZhgGnhOVjJIoS
         iThfzX1QdCy+8/g6rW6G436yXqIcWimyZkMedH4zQ6GLyzz07f9EbRhojL7EFbrmzuCL
         dGWA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:mime-version:from:date:message-id:subject:to;
        bh=vWKiQ3ZNZNwQK3mX4sb/Ko9XjGPRK0bLeasj+2svlnA=;
        b=arBMh0ooXTFKh9xXZ/440vToCz0GQ3kLwg44lqiSa3EJpOyF4WfLAUYmQOLB8ttHWF
         Dhte4+YgImfDzIRhLogSPw2FwjicYvE/nrZQ9qPmJs6g0pEXHZGl3SlvPmJFmyW/PGzQ
         7VntWCoOhf0jXgAyOMrZMMbWn8BlkKj8AyP0MKTCyBd8pFmV1wI723cvQ6FvtyzqZi54
         nmmSup86iSUavHg6h5ftRk+GxD3gXx9FNblqzK/Hgtv4I+Wmu6s0IpVozNJXSNobdxmq
         1CFlb3nfGaZdyKG5cMexYdY+uDcrfhFzOpJL9KYDQbn5nesWgM6i35ULaEPZuv5FSi87
         w3EQ==
X-Gm-Message-State: AOAM5334N7dxxZQaUI4w6z54Qy4yNAYT47IRWrwZmGyGb9HB2gZRYi2A
	x8hZogd+bq1bAQVa4tZ3gVi31j6YfTAxjmRgmaxwEHdgnP8=
X-Google-Smtp-Source: ABdhPJwKv+pGRIm+TgEQ1j0iO+INuhUpNbLEtirz5JBEGMnawpXB+QKfVC5Aq3r3JS2aXUWoJhc2zUcgWXh+vmWUweI=
X-Received: by 2002:a05:651c:2127:: with SMTP id a39mr987609ljq.378.1628792438163;
 Thu, 12 Aug 2021 11:20:38 -0700 (PDT)
MIME-Version: 1.0
From: Jason Andryuk <jandryuk@gmail.com>
Date: Thu, 12 Aug 2021 14:20:27 -0400
Message-ID: <CAKf6xpuFEhyrhk8N3mDP=F4jmpN=EHxw47e+PPAuJ15+XZL7xw@mail.gmail.com>
Subject: Issue with waitqueues and Intel CET-SS
To: xen-devel <xen-devel@lists.xenproject.org>
Content-Type: text/plain; charset="UTF-8"

Hi,

I was reviewing xen/common/wait.c:__prepare_to_wait() and I think I've
identified an incompatibility with shadow stacks like Intel CET-SS.

The inline asm does:

        "call 1f;"
        "1: addq $2f-1b,(%%rsp);"
        "sub %%esp,%%ecx;"
        "cmp %3,%%ecx;"
        "ja 3f;"
        "mov %%rsp,%%rsi;"

        /* check_wakeup_from_wait() longjmp()'s to this point. */
        "2: rep movsb;"
        "mov %%rsp,%%rsi;"
        "3: pop %%rax;"

`call 1f` gets the address of the code, but the address is popped off
without ret.  This will leave the shadow stack out-of-sync which will
trigger the protection.  Is my analysis correct?

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Thu Aug 12 19:15:21 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 19:15:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166561.304000 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEGAU-0005Aj-C2; Thu, 12 Aug 2021 19:15:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166561.304000; Thu, 12 Aug 2021 19:15:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEGAU-0005Ac-91; Thu, 12 Aug 2021 19:15:06 +0000
Received: by outflank-mailman (input) for mailman id 166561;
 Thu, 12 Aug 2021 19:15:04 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7bPv=ND=microsoft.com=mikelley@srs-us1.protection.inumbo.net>)
 id 1mEGAS-0005AW-Jz
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 19:15:04 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com (unknown
 [40.107.223.99]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 9827fda8-fba1-11eb-a207-12813bfff9fa;
 Thu, 12 Aug 2021 19:15:03 +0000 (UTC)
Received: from MWHPR21MB1593.namprd21.prod.outlook.com (2603:10b6:301:7c::11)
 by CO1PR21MB1283.namprd21.prod.outlook.com (2603:10b6:303:162::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.1; Thu, 12 Aug
 2021 19:14:58 +0000
Received: from MWHPR21MB1593.namprd21.prod.outlook.com
 ([fe80::e8f7:b582:9e2d:ba55]) by MWHPR21MB1593.namprd21.prod.outlook.com
 ([fe80::e8f7:b582:9e2d:ba55%2]) with mapi id 15.20.4436.012; Thu, 12 Aug 2021
 19: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: 9827fda8-fba1-11eb-a207-12813bfff9fa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XoNYOIx8mL8Q0zXc4H/tpK2UjuuQWJd/TLI8X5tXOVOzasgZYTv2cFOOejs7re+zxJ/B1+4okdzGzwGi9iyDz3uPwfMWMcugmgnAG7Hf1YCpPiY76UF61aJ0mkfEVFRUqrXGbipmw49si2hO5qpk3BshGQ/r9KTegZj70nQLNm9L7lf69YOzsIZXcHHlQpA9MEn1g5d6z0jYQ/auw0/CJMjgRTpty6HeC9FI8Tc7OC1YKQ50JVJZKybD+fn63ttyemj5w2edujf7EnlZkVrTH6odPUwdPAc64moVU1Vr+yIQA824GyoMgUNR+7Otr2bkDbvVdcssaQ2GPWAci2q3Og==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Gpuys++vcODbpsGWQB3uRlx1IdhYOTtNFDrliIJ2G1M=;
 b=jpNpNIB50R7wxjmxlcO75VvEtK3X9yiHPsnEyIkgB+a9BXgcZvpfkNepO84mzCZKAoQv4b/IbVX2oPwPU9zUH6mO/lqR27fShUPsFcBACEklTh7pCc/KmExFd4RfyHNQKroW91ki2pqw8ihBdmUYNP14vXgkETCnhFnrPl+MzYgCTPGBJxfCnuchjWtMloeCW8pzudhu56sOKhfWN7oyHyEABysoM5fXziPuNpMCmdBH4sYD2t+FTrnABWpFCVSOA0pCXKMoX5kmy76mYpqvMyXDxVpai50d2jmnOwpAKx14YWEsaHSsz29IUXWZ/ulaLnu4r176nR21rTu5vQPtzg==
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=Gpuys++vcODbpsGWQB3uRlx1IdhYOTtNFDrliIJ2G1M=;
 b=abE98PLm6OZPm1OQ5pzOqnitEm2AusVKl7dyz4ig24zxA81NIASpgwR84oD6hvPpOKMohWx59HKw5+3KnBCU3FyMCAfjHM5qn9HnIMdQBm4qrHs0OqjCU6cM/3D6Vo8EwFe9uBihQWIFjEDimR9tuchm2yQjIKIVq9Z4RHYfAMw=
From: Michael Kelley <mikelley@microsoft.com>
To: Tianyu Lan <ltykernel@gmail.com>, KY Srinivasan <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>, Stephen Hemminger
	<sthemmin@microsoft.com>, "wei.liu@kernel.org" <wei.liu@kernel.org>, Dexuan
 Cui <decui@microsoft.com>, "tglx@linutronix.de" <tglx@linutronix.de>,
	"mingo@redhat.com" <mingo@redhat.com>, "bp@alien8.de" <bp@alien8.de>,
	"x86@kernel.org" <x86@kernel.org>, "hpa@zytor.com" <hpa@zytor.com>,
	"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
	"luto@kernel.org" <luto@kernel.org>, "peterz@infradead.org"
	<peterz@infradead.org>, "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	"boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>, "jgross@suse.com"
	<jgross@suse.com>, "sstabellini@kernel.org" <sstabellini@kernel.org>,
	"joro@8bytes.org" <joro@8bytes.org>, "will@kernel.org" <will@kernel.org>,
	"davem@davemloft.net" <davem@davemloft.net>, "kuba@kernel.org"
	<kuba@kernel.org>, "jejb@linux.ibm.com" <jejb@linux.ibm.com>,
	"martin.petersen@oracle.com" <martin.petersen@oracle.com>, "arnd@arndb.de"
	<arnd@arndb.de>, "hch@lst.de" <hch@lst.de>, "m.szyprowski@samsung.com"
	<m.szyprowski@samsung.com>, "robin.murphy@arm.com" <robin.murphy@arm.com>,
	"thomas.lendacky@amd.com" <thomas.lendacky@amd.com>, "brijesh.singh@amd.com"
	<brijesh.singh@amd.com>, "ardb@kernel.org" <ardb@kernel.org>, Tianyu Lan
	<Tianyu.Lan@microsoft.com>, "pgonda@google.com" <pgonda@google.com>,
	"martin.b.radev@gmail.com" <martin.b.radev@gmail.com>,
	"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
	"kirill.shutemov@linux.intel.com" <kirill.shutemov@linux.intel.com>,
	"rppt@kernel.org" <rppt@kernel.org>, "sfr@canb.auug.org.au"
	<sfr@canb.auug.org.au>, "saravanand@fb.com" <saravanand@fb.com>,
	"krish.sadhukhan@oracle.com" <krish.sadhukhan@oracle.com>,
	"aneesh.kumar@linux.ibm.com" <aneesh.kumar@linux.ibm.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"rientjes@google.com" <rientjes@google.com>, "hannes@cmpxchg.org"
	<hannes@cmpxchg.org>, "tj@kernel.org" <tj@kernel.org>
CC: "iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org>,
	"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
	"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>, vkuznets
	<vkuznets@redhat.com>, "parri.andrea@gmail.com" <parri.andrea@gmail.com>,
	"dave.hansen@intel.com" <dave.hansen@intel.com>
Subject: RE: [PATCH V3 01/13] x86/HV: Initialize GHCB page in Isolation VM
Thread-Topic: [PATCH V3 01/13] x86/HV: Initialize GHCB page in Isolation VM
Thread-Index: AQHXjUfh3L5oGAIB0EmHDBGVrpI9rKtwO+iQ
Date: Thu, 12 Aug 2021 19:14:58 +0000
Message-ID:
 <MWHPR21MB1593BDFA4A71CE6882E25400D7F99@MWHPR21MB1593.namprd21.prod.outlook.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-2-ltykernel@gmail.com>
In-Reply-To: <20210809175620.720923-2-ltykernel@gmail.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=3bfdd0db-44ef-4cc1-aacb-5c4b1161b694;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=2021-08-12T18:52: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-office365-filtering-correlation-id: ed154913-3150-4242-52eb-08d95dc579f5
x-ms-traffictypediagnostic: CO1PR21MB1283:
x-ms-exchange-transport-forked: True
x-ld-processed: 72f988bf-86f1-41af-91ab-2d7cd011db47,ExtAddr
x-microsoft-antispam-prvs:
 <CO1PR21MB12831F14641653FFE1CF4DD0D7F99@CO1PR21MB1283.namprd21.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:9508;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 zAD0zptds3QUECqmDgLegJBW91ZPMlqGKdut1uA3XaBDTuKO0q/qQQ7g2mD1MHD3ZFTOeVKv1/DKxLqzfz7VokK1yy+5UN94nBv04f5p1mogCXwu+YSfxURVo0LD7lZmG6RFUwOjZVTNxwEJ3JbpmAwn3EpR2rvpMiOXbDMA6rrqaRdOehSBgGpW47NqaPZ6D5vp7zOUfhxDOHovn9OCSin+kAEXgJVAkwFKCeCjY3W4XX09Aa3hFIihwdJl26RiW27Evt4pL+mL4159hu81PhFj1TlAXYE2C0uRJWE2OC6+lzptfHflK00YA6sr6JW3SE4GBuD75abFn1r1pywwGij05foKb1l31IMoM+MsZB7TkDLi+41dOaMfdE9QvsZkAtsvIjVF2tTtcbPyXd47vU1qwwuY2ngsUcl/nowv74x8ROmoX7OR3qFZ4zTck0pwwodqAWOTz3IN+EYVjedb1CYxenFzbAJFdWejTWMfqBEPPNigeblgv7HdW932U6HWZpX3vsDPfAbdPFH8ntZNZGV7eKwSyC6AIjU3qkEm+DcinAzYpsgClpzPQDk7dlhwOvwHa22BFFXgyZ/8/zaaLEaliGortWoZa+MaMO/Lxxit55VCvtCRdy77zqkuUxk/aRenSvzCsw9f8ojjj6aBY1UWiwqdDqQmbBjGOwGijptlYXgX+BNdvy3JZ/O5zsBxyb2vrTLytVSkKjKx1sd+aR9x2H4rhHVH89Ig4mGMRSg=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR21MB1593.namprd21.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(53546011)(82950400001)(6506007)(82960400001)(71200400001)(2906002)(921005)(10290500003)(7696005)(508600001)(86362001)(26005)(186003)(4326008)(7416002)(122000001)(7406005)(54906003)(8676002)(8936002)(9686003)(110136005)(5660300002)(66446008)(64756008)(76116006)(66946007)(33656002)(83380400001)(55016002)(38070700005)(316002)(52536014)(8990500004)(38100700002)(66476007)(66556008);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?JJx9OHqprqGIl6IOQ06tKcKLUkeM5tuZVvsOA81J8By+5kpUL0nipy9GsNcN?=
 =?us-ascii?Q?5ruSTsR6FxEmDqS/fS3yDQc5pmqEfYJpvZSVJ3t1+MRTckQr/x2NN42qEN0L?=
 =?us-ascii?Q?CvluYUEBQuc+Y8Dl5Sc8drYd6tWKU2tT4sBt2oZn97e3olXJCBP8LP00nSzL?=
 =?us-ascii?Q?P3Xr1h9pz2LdsbEMsDkqe8KzLOgtSyRWL1u0flhe2vwGKaHOypt+jMZvFuKB?=
 =?us-ascii?Q?zmYoNJc5rcBF/PL8gmVMA6IwGLm0xvXSZoDks4LyHBnNrJvHjqmKKaXRYm84?=
 =?us-ascii?Q?augBx89owdqlUQMCQC9EKLRn468uWOtb9rQE6eWcvCl8ZqXnTZrwI9aOef0+?=
 =?us-ascii?Q?TMl1d66HAXSyS5iK1HLIVhCP8VoTezEwQjxChUplQyeFeO2bwJBjGmgZLQ2t?=
 =?us-ascii?Q?BAcOvICD9tmk+mz393k5Rgr0GQ0Ly4CPUx0xv8ubisbezSJutl93DNMdHN1p?=
 =?us-ascii?Q?SXy89DGHocXm9OgHjMgT0mTSrDNjnYnVMe0o5VsdMqzONiKa9ay9M2A7NhPu?=
 =?us-ascii?Q?SgsuvOicCFLQA+cdGuWW1skgu9g/wF8e8Yz8pnaFjz3mv0mepSv1fgohRw88?=
 =?us-ascii?Q?ja+XVY3mNhznPC2vmJvr5W/7M4Vp5Kt0wUFtNeYbPxVGIIjV8MWvjTRCiQSt?=
 =?us-ascii?Q?566SGD8uYnLq4o6MqAMnVhVelgE26P8GH/BgFvKq7kycD1wUIB13l35eXYso?=
 =?us-ascii?Q?DlTwqZUNJnexg9YqPY3HEx2eqmdbYSckkYRk5jlvbMtuXx5i37xROwl2G0QV?=
 =?us-ascii?Q?V9nCZCrXpILARBJui6q+bzi5dBD7VHwjCiDn4VxGNnmOQHcjcTKEnjl8dyrz?=
 =?us-ascii?Q?c7MqJPIfFMDkrtKORQRiYbaFPAteMDjwQGYFeOEedXg7Oqym8yHrD3/ufVLz?=
 =?us-ascii?Q?eBUfTCAuZGoOD7KwP+AsFaZZfEd3F0XnI0ecnVXjC2dGMOmoBEsvKZvwRCdU?=
 =?us-ascii?Q?KSgz+kPUez9irY8hbPcIT8rlTPzArb2b2qfJa7yh/nMlwQ6Yd3V93nGoSkL6?=
 =?us-ascii?Q?XnDbXhJ8kO//i9u5gD5INOGZHQqAEUUAGXxrAGSjbDf739/3b2nZ8UiUBiL7?=
 =?us-ascii?Q?P3jhMa8vYddnJvSIqxXeISLCpcnlLe+hT4YRil/i7mj4B5jAkaYT+Wytd5OR?=
 =?us-ascii?Q?crmKwkYg0oXxfa+K09H23q+V9DzkRUaeqpmvkAy/ngCMSK3njXATmDv48qNW?=
 =?us-ascii?Q?RpY2+hh6oeRm30nWS1APOtaaqFrhxsk8+AOSLqk5eZOv+cLFgw6YW7PWzJP9?=
 =?us-ascii?Q?Ubv9mCSuj3O3I7/I/9edQWRw+dj9lOkFjrdOBQ+sYovZJSbYCMZCUg9OL2aC?=
 =?us-ascii?Q?6fTVaFauNRWI+qF0gCQ993/h?=
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: MWHPR21MB1593.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ed154913-3150-4242-52eb-08d95dc579f5
X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Aug 2021 19:14:58.4607
 (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: HdbeV510yJExLu5WL5x/AdyPokhvnPDxIsh21pCyfFEUrpXKjFBQDx+vb1GTCUcx2gk+5xk8zIUmI4i3mFL+7OqPgZbtGl5JsNZCtLQuibc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR21MB1283

From: Tianyu Lan <ltykernel@gmail.com> Sent: Monday, August 9, 2021 10:56 A=
M
> Subject: [PATCH V3 01/13] x86/HV: Initialize GHCB page in Isolation VM

The subject line tag on patches under arch/x86/hyperv is generally "x86/hyp=
erv:".
There's some variation in the spelling of "hyperv", but let's go with the a=
ll
lowercase "hyperv".

>=20
> Hyper-V exposes GHCB page via SEV ES GHCB MSR for SNP guest
> to communicate with hypervisor. Map GHCB page for all
> cpus to read/write MSR register and submit hvcall request
> via GHCB.
>=20
> Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
> ---
>  arch/x86/hyperv/hv_init.c       | 66 +++++++++++++++++++++++++++++++--
>  arch/x86/include/asm/mshyperv.h |  2 +
>  include/asm-generic/mshyperv.h  |  2 +
>  3 files changed, 66 insertions(+), 4 deletions(-)
>=20
> diff --git a/arch/x86/hyperv/hv_init.c b/arch/x86/hyperv/hv_init.c
> index 708a2712a516..0bb4d9ca7a55 100644
> --- a/arch/x86/hyperv/hv_init.c
> +++ b/arch/x86/hyperv/hv_init.c
> @@ -20,6 +20,7 @@
>  #include <linux/kexec.h>
>  #include <linux/version.h>
>  #include <linux/vmalloc.h>
> +#include <linux/io.h>
>  #include <linux/mm.h>
>  #include <linux/hyperv.h>
>  #include <linux/slab.h>
> @@ -42,6 +43,31 @@ static void *hv_hypercall_pg_saved;
>  struct hv_vp_assist_page **hv_vp_assist_page;
>  EXPORT_SYMBOL_GPL(hv_vp_assist_page);
>=20
> +static int hyperv_init_ghcb(void)
> +{
> +	u64 ghcb_gpa;
> +	void *ghcb_va;
> +	void **ghcb_base;
> +
> +	if (!ms_hyperv.ghcb_base)
> +		return -EINVAL;
> +
> +	/*
> +	 * GHCB page is allocated by paravisor. The address
> +	 * returned by MSR_AMD64_SEV_ES_GHCB is above shared
> +	 * ghcb boundary and map it here.
> +	 */
> +	rdmsrl(MSR_AMD64_SEV_ES_GHCB, ghcb_gpa);
> +	ghcb_va =3D memremap(ghcb_gpa, HV_HYP_PAGE_SIZE, MEMREMAP_WB);
> +	if (!ghcb_va)
> +		return -ENOMEM;
> +
> +	ghcb_base =3D (void **)this_cpu_ptr(ms_hyperv.ghcb_base);
> +	*ghcb_base =3D ghcb_va;
> +
> +	return 0;
> +}
> +
>  static int hv_cpu_init(unsigned int cpu)
>  {
>  	union hv_vp_assist_msr_contents msr =3D { 0 };
> @@ -85,6 +111,8 @@ static int hv_cpu_init(unsigned int cpu)
>  		}
>  	}
>=20
> +	hyperv_init_ghcb();
> +
>  	return 0;
>  }
>=20
> @@ -177,6 +205,14 @@ static int hv_cpu_die(unsigned int cpu)
>  {
>  	struct hv_reenlightenment_control re_ctrl;
>  	unsigned int new_cpu;
> +	void **ghcb_va =3D NULL;

I'm not seeing any reason why this needs to be initialized.

> +
> +	if (ms_hyperv.ghcb_base) {
> +		ghcb_va =3D (void **)this_cpu_ptr(ms_hyperv.ghcb_base);
> +		if (*ghcb_va)
> +			memunmap(*ghcb_va);
> +		*ghcb_va =3D NULL;
> +	}
>=20
>  	hv_common_cpu_die(cpu);
>=20
> @@ -383,9 +419,19 @@ void __init hyperv_init(void)
>  			VMALLOC_END, GFP_KERNEL, PAGE_KERNEL_ROX,
>  			VM_FLUSH_RESET_PERMS, NUMA_NO_NODE,
>  			__builtin_return_address(0));
> -	if (hv_hypercall_pg =3D=3D NULL) {
> -		wrmsrl(HV_X64_MSR_GUEST_OS_ID, 0);
> -		goto remove_cpuhp_state;
> +	if (hv_hypercall_pg =3D=3D NULL)
> +		goto clean_guest_os_id;
> +
> +	if (hv_isolation_type_snp()) {
> +		ms_hyperv.ghcb_base =3D alloc_percpu(void *);
> +		if (!ms_hyperv.ghcb_base)
> +			goto clean_guest_os_id;
> +
> +		if (hyperv_init_ghcb()) {
> +			free_percpu(ms_hyperv.ghcb_base);
> +			ms_hyperv.ghcb_base =3D NULL;
> +			goto clean_guest_os_id;
> +		}

Having the GHCB setup code here splits the hypercall page setup into
two parts, which is unexpected.  First the memory is allocated
for the hypercall page, then the GHCB stuff is done, then the hypercall
MSR is setup.  Is there a need to do this split?  Also, if the GHCB stuff
fails and you goto clean_guest_os_id, the memory allocated for the
hypercall page is never freed.

It's also unexpected to have hyperv_init_ghcb() called here and called
in hv_cpu_init().  Wouldn't it be possible to setup ghcb_base *before*
cpu_setup_state() is called, so that hv_cpu_init() would take care of
calling hyperv_init_ghcb() for the boot CPU?  That's the pattern used
by the VP assist page, the percpu input page, etc.

>  	}
>=20
>  	rdmsrl(HV_X64_MSR_HYPERCALL, hypercall_msr.as_uint64);
> @@ -456,7 +502,8 @@ void __init hyperv_init(void)
>  	hv_query_ext_cap(0);
>  	return;
>=20
> -remove_cpuhp_state:
> +clean_guest_os_id:
> +	wrmsrl(HV_X64_MSR_GUEST_OS_ID, 0);
>  	cpuhp_remove_state(cpuhp);
>  free_vp_assist_page:
>  	kfree(hv_vp_assist_page);
> @@ -484,6 +531,9 @@ void hyperv_cleanup(void)
>  	 */
>  	hv_hypercall_pg =3D NULL;
>=20
> +	if (ms_hyperv.ghcb_base)
> +		free_percpu(ms_hyperv.ghcb_base);
> +

I don't think this cleanup is necessary.  The primary purpose of
hyperv_cleanup() is to ensure that things like overlay pages are
properly reset in Hyper-V before doing a kexec(), or before
panic'ing and running the kdump kernel.  There's no need to do
general memory free'ing in Linux.  Doing so just adds to the risk
that the panic path could itself fail.

>  	/* Reset the hypercall page */
>  	hypercall_msr.as_uint64 =3D 0;
>  	wrmsrl(HV_X64_MSR_HYPERCALL, hypercall_msr.as_uint64);
> @@ -559,3 +609,11 @@ bool hv_is_isolation_supported(void)
>  {
>  	return hv_get_isolation_type() !=3D HV_ISOLATION_TYPE_NONE;
>  }
> +
> +DEFINE_STATIC_KEY_FALSE(isolation_type_snp);
> +
> +bool hv_isolation_type_snp(void)
> +{
> +	return static_branch_unlikely(&isolation_type_snp);
> +}
> +EXPORT_SYMBOL_GPL(hv_isolation_type_snp);
> diff --git a/arch/x86/include/asm/mshyperv.h b/arch/x86/include/asm/mshyp=
erv.h
> index adccbc209169..6627cfd2bfba 100644
> --- a/arch/x86/include/asm/mshyperv.h
> +++ b/arch/x86/include/asm/mshyperv.h
> @@ -11,6 +11,8 @@
>  #include <asm/paravirt.h>
>  #include <asm/mshyperv.h>
>=20
> +DECLARE_STATIC_KEY_FALSE(isolation_type_snp);
> +
>  typedef int (*hyperv_fill_flush_list_func)(
>  		struct hv_guest_mapping_flush_list *flush,
>  		void *data);
> diff --git a/include/asm-generic/mshyperv.h b/include/asm-generic/mshyper=
v.h
> index c1ab6a6e72b5..4269f3174e58 100644
> --- a/include/asm-generic/mshyperv.h
> +++ b/include/asm-generic/mshyperv.h
> @@ -36,6 +36,7 @@ struct ms_hyperv_info {
>  	u32 max_lp_index;
>  	u32 isolation_config_a;
>  	u32 isolation_config_b;
> +	void  __percpu **ghcb_base;

This doesn't feel like the right place to put this pointer.  The other
fields in the ms_hyperv_info structure are just fixed values obtained
from the CPUID instruction.   The existing patterns similar to ghcb_base
are the VP assist page and the percpu input and output args.  They are
all based on standalone global variables.  It would be more consistent
to do the same with the ghcb_base.

>  };
>  extern struct ms_hyperv_info ms_hyperv;
>=20
> @@ -237,6 +238,7 @@ bool hv_is_hyperv_initialized(void);
>  bool hv_is_hibernation_supported(void);
>  enum hv_isolation_type hv_get_isolation_type(void);
>  bool hv_is_isolation_supported(void);
> +bool hv_isolation_type_snp(void);
>  void hyperv_cleanup(void);
>  bool hv_query_ext_cap(u64 cap_query);
>  #else /* CONFIG_HYPERV */
> --
> 2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 12 19:18:32 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 19:18:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166566.304012 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEGDn-0005oK-SZ; Thu, 12 Aug 2021 19:18:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166566.304012; Thu, 12 Aug 2021 19:18:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEGDn-0005oD-P8; Thu, 12 Aug 2021 19:18:31 +0000
Received: by outflank-mailman (input) for mailman id 166566;
 Thu, 12 Aug 2021 19:18:30 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rsMc=ND=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mEGDm-0005o7-Ls
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 19:18:30 +0000
Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 3c2dedbc-c910-42ac-b137-2ee558ecfd41;
 Thu, 12 Aug 2021 19:18: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: 3c2dedbc-c910-42ac-b137-2ee558ecfd41
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1628795908;
  h=to:references:cc:from:subject:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=E3inFrKOeHXXutYvPOd/1AyXP88D5pQ/LLnRAueGoY8=;
  b=JmyxYcT8DrVWYGeLWtHeCKIJZS01L8Xm87jOe2cshz40oQySFjN4G/Ek
   p4dApdVs22FyLXI3pbwgOxFQkPIS66lrwdUEgRbqXhhugkeSemIT1PbxO
   ALOxqXwd2MZsFAUK8GqxitRWGP9aI3vEPR8FZ9lQmPEpLdgMbz6swhjce
   w=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: ox13Jfo4lao8veH/ZLISjnxABgbNZ584dH/gSnwYjmNc7Z/U6P1bn/DSOgxmDdpTsbhCA6CUWq
 +Y9Sp0ZSw02UXiX4jKt+9MzADEC/ChF74Y6PDFuGi8MqqYltf/9yKog8GdO25JuFUS+uwwBxPl
 fjCV7zIcWWYf3WcpBjexI1DELkdTaji7yyfBgE0QsmdJ2tVm44nYLvV3mF8uYuU84f4ZaCLyTg
 x0tROonXjVcUhrKAvYqRyz5kihnyA1bK4v0DhcWY616I2GcBnRNwVTHrpmuQy7pBMKeO99XGkQ
 tm3a2U1RFMCDAh3zQm3H/Dvy
X-SBRS: 5.1
X-MesageID: 50348034
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:JDSUVq+Y6QKHE7jbQdRuk+FWdb1zdoMgy1knxilNoENuGPBwxv
 rEoB1E73fJYW4qKQkdcdDpAsm9qADnhOVICOgqTP2ftWzd1VdAQ7sSibcKrwePJ8S6zJ8l6U
 4CSdkyNDSTNykcsS+S2mDVfOrIguP3lpxA7t2urEuFODsaDp2ImD0JaDpzfHcWeCB2Qb4CUL
 aM7MtOoDStPV4NaN6gO3UDV+/f4/XWiZPPe3c9dlEawTjLqQntxK/xEhCe0BtbeShI260e/W
 /MlBG8zrm/ssu81gTX2wbontprcZrau5p+7f63+4sowwbX+0SVjbFaKv2/VX4O0aSSAR0R4a
 PxSl8bTrlOAjXqDy2ISFLWqnXd+Sdr5Hn4xVCCh3z/5cT/WTIhEsJEwZlUax3D9iMbzZhBOY
 9wrhWkXqBsfGX9deXGlqv1fgAvklDxrWspkOYVgXAaWYwCaKVJpYha+E9OCp8PEC/z9YhiSY
 BVfYrhzecTdUnfY2HSv2FpztDpVnMvHg2eSkxHvsCOyTBZkH1w0kNdzs0CmXUL8o47VvB/lq
 z5G7UtkKsLQt4dbKp7CutEScyrCnbVSRaJK26WKUSPLtByB5sMke+D3FwR3pDbRHUl9upNpH
 3xaiIriYdpQTOQNSSn5uw7zizw
X-IronPort-AV: E=Sophos;i="5.84,316,1620705600"; 
   d="scan'208";a="50348034"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BZ0HCDpBsiAj9WQ4axrAXaaq2HJd8TQEt1kTNktqpyMjHzKJecs0iNzWB4Z8HntxXMJY/eR01l8UnfGThWCsOjnAlLOjiRPyRZd1B2U8iigJwP/eSSjky+Wos5h3pCv7/CQGtb7FUZULx4J6MPlkHvCBJ+r9IYXoTG43/hhVT7GFY9CWzSHnAtvcou2gu4RX6ujcr02bDLIZ+9i/aLhxCZFt9mX5KFTIwXoeNE6Bz85L5tf8TAHZBYnNeFQ5GKcjtCXncT/24VJi50sI/u6qHQ07GS4aL8y55Z0T+9zHedNRS4+ZkPXQo84j9EudUNJSH00RTOr+oZcs7BT9DtF0hg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YkmZLF6b+epKsmv6mrPF6MxaDlvZ75ZCJBjXBq06Rew=;
 b=bA0qpLfoJG33j74MhJBaAOC8PUyUGxfirtseE33w9hh3uhHULh45xz/fxwndcMc3Ugat26U5XwkD7aLEQMA/trtTruOrOb17dguHhpV/cL0NEDJmZtFWbvMSSzC5gvAIwF6Dn5kqAqDXoLBn09VfmTJtiSSY21NmTGhYT0NjVwS4ZoIqKc8Obaej5QO41A4+7ircyt1i2ZrzcFR5NYdvl9A3my4ztECAdE9b00nqjxN4l4yUpFee0dXhQlo/QD+m+JPbVlGugeZnIZu+HGAJo1Lijo05M1a8gIHgdkk52WqZhfpuMznKaCX/VmapstsZEJe2r4oHkZEBjYRTVYBW7Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YkmZLF6b+epKsmv6mrPF6MxaDlvZ75ZCJBjXBq06Rew=;
 b=gdbKxwnLwkO3A9OTtpAo2WSgLRZRk6KlooNq6CbyKMskJfBEDpa5H5inaDbg38UeJ5n231HliMjYUGhcMT0ynKlAsT3sm4KtTE46OVIbGwlT08R+9AXtZWN27i/9ivrJRqCD3+wSNJJ4fdMinh5cjAuBsShkIpdNSKJm/KQEun0=
To: <xen-devel@lists.xenproject.org>
References: <CAKf6xpuFEhyrhk8N3mDP=F4jmpN=EHxw47e+PPAuJ15+XZL7xw@mail.gmail.com>
CC: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Tamas K Lengyel
	<tamas@tklengyel.com>, Alexandru Isaila <aisaila@bitdefender.com>, Petre
 Pircalabu <ppircalabu@bitdefender.com>, Andrei LUTAS
	<vlutas@bitdefender.com>, =?UTF-8?Q?Mihai_Don=c8=9bu?=
	<mdontu@bitdefender.com>, =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
	<marmarek@invisiblethingslab.com>, Jason Andryuk <jandryuk@gmail.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: Issue with waitqueues and Intel CET-SS
Message-ID: <352fb0bc-ce16-f167-da8d-99424228445b@citrix.com>
Date: Thu, 12 Aug 2021 20:18:17 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <CAKf6xpuFEhyrhk8N3mDP=F4jmpN=EHxw47e+PPAuJ15+XZL7xw@mail.gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-GB
X-ClientProxiedBy: LO2P265CA0024.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:62::36) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 85b27d9a-57af-4f94-3e13-08d95dc5f3f5
X-MS-TrafficTypeDiagnostic: SJ0PR03MB5854:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <SJ0PR03MB58540B6FECBE06EF51488819BAF99@SJ0PR03MB5854.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: wTCzwfo5KGkThzPOXoqaRwSj9tSXqDcatkgWZZv7/xOy6iweTvwcJwJeREpQP7+z0TpzryFijuE1hU+ONgQNWkeH5jehxjUFwm/HmcsZ83hanoe6/w2MCkpYKbehFPVyf8dHgX74uTJgqZMcSjD+p6a9xYoLXmqMzc0V4ScgLojZwqbqsMxkJy8Dq6DxnBrXIee6128LBthjvtODK43bJ8p15kSTaHPY3YOuiiPHV+QsrEhhQWA+/oDEXWpjPmw1W0QgJ5FphWygGwWZWbph490RzDG8S4p4/K6YcfTlQ/WOirrXeAoOgkbMSPQwmJzuKKelQU40IQdcSHiEvTIZjgd7txoGwES0aWbi+KR3fE4MBhPH0lXVXuyfWGAcMB7uKq67eDMrn2h5yJlklrq10mMQtirCS0GzdeYAFksQun8pPVqWoZ659iAweZYkrzinDb9KgkMFMzJvQNj8hNCZOaElJ2WCBEZ24h+90+brXfZTGf4axFSqIL/e+ldJMCsL99GaSpcpen+YWAzPiRbG6YyQ9nvNg1HfDvwn2md84MTRQon+joszJQ/J0wQt+mRITG2gT0G7WDj3kcyTNf/F/Hhs2wQglQT+PS/M11SLnpZjMjRpfdzxv6ca5WrksOVPDqCz/WPMxDmJy3HO0ogOJ+lFYiF964OHpuymvZLeK8UR48i0hVWLUWSQfOF8mDHMmKd84pNIcUEl3J23G+CCwzD0bPBIVnq7OucbMxQKB6E=
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:(4636009)(396003)(39860400002)(366004)(376002)(346002)(136003)(4326008)(6666004)(31696002)(16576012)(38100700002)(316002)(83380400001)(66556008)(54906003)(36756003)(66476007)(2906002)(8936002)(66946007)(186003)(7416002)(2616005)(26005)(478600001)(5660300002)(31686004)(6486002)(966005)(53546011)(956004)(6916009)(8676002)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cW9ZM2Y0ckhvNnJGSHhTbGNFUThPcHJLREJoOWpXWjNsMUJDME14ZlNIT3pR?=
 =?utf-8?B?NWNuck1ub0xXVkF6cVBERjhMYlVWamoycE5XNVpIdTZLQ2RFMVhNeUQ3eGFC?=
 =?utf-8?B?eWdoRnZJa2pMVVhoQW1pOHh5YjRQdXRQcmJjRGFLSjhlYkpudlB2SGlLR2Er?=
 =?utf-8?B?YU5SeVJpN2RIVkhMeW5hZXpETkhGVnF2VUVxVjVPYS9iM0tLYkxIc2MvVFVQ?=
 =?utf-8?B?SGUzZUdGdis5dlNnQmVkSVRRM0luZzBuZ0FYM0xCeUNNWDdlaDluT1A1R2dy?=
 =?utf-8?B?Q2NvRi9lMG92NG5aTE9vdS9mcm56VnFhSXBvNG55WEcvNEdSS2EzUGN5d2ZY?=
 =?utf-8?B?YXdjVitaNWpkTmx1MlB0R2IyUHplWVZ3V2F3ZFdmRmg1eU1xeXZCTjNUeks4?=
 =?utf-8?B?cjJlYzJNRlRKRlJ5ejlWdUNnQXd2Ry94NzJrRlV3dlcyeDlBN1VpRzEwMVBm?=
 =?utf-8?B?Y3p2cEtoeXVHckFZRHZyWVBLaEp6TnU4MTRwczRmNldWYXJSeFZUbGRmcmRa?=
 =?utf-8?B?R2I4NnNjSDRydzNhWENKSFoyTG5hRHZZYjdxNk02L2xxTlJlZlZLaUNnVkR5?=
 =?utf-8?B?aHJYUmlEL1Q4ZUg3c0F4OUdHMVJIUkQvbVlRV2FsMUlHTk9sWGR3NTVUc04v?=
 =?utf-8?B?VGpZenFFRzZua3d1MEs4Mkg1Q1JMWXY2VW9GdXZyNjdkWDN1TnQzUVc4ZlUy?=
 =?utf-8?B?QzBWZDNJUk03SEo2dFhGR0YwcjNoWkZSL2xWVTd1RHVIUEEweFg0d0RzRHJk?=
 =?utf-8?B?eGFRK1JVbzl6YzhXRGhtbFY3aXJ6eUM2UDdxeXNzU2lDdi9PemdiQjZXRjdn?=
 =?utf-8?B?VEc4ZVkwcGsyS3Z6WXBqMnZHSmwzSzJ3emsxc1lqdXh1L05SYTk2WHF0SmF5?=
 =?utf-8?B?bXk2c3Z1OGVmblhTaXptOFBpYlcwOWhzay9kcGxDNXFFYzJoNm93N2gwVkFn?=
 =?utf-8?B?WHQ4ZEJrQ0svVmh0bGdpcllXNGo4NmY5VzR4THNlSEdybXh4UkFyazl3c2NV?=
 =?utf-8?B?VTM0cWVuK1ZVai9kczBaa0ZDZUZyRlpJd0VkNzBiN2lMbWlyYTZjWDhWMnRk?=
 =?utf-8?B?d3UxVStEM0cxYTZ5WFVZcmNGeUs2VFVSdlIzTW8zbG01ZjdVdTQ4dnhyZjZ1?=
 =?utf-8?B?c28xdUFQS0M1WWl4Nm1yYndtV1k3VDdaVGhNdyt4cXo3eTdrR3Iwemk1R0JE?=
 =?utf-8?B?WUMvdVRPVlh0cHpBeXpwVnl3dUI5WHRMK245UkFFcm5BRTRuS3o0SSs1ODM3?=
 =?utf-8?B?NzNBbUNVbXF0RXM1RVR3ZHNGcHV6NGZ3SkdqbG5oTjFUNWRrZm9qN2Z1SDh5?=
 =?utf-8?B?OWpVMGtES1QrdERMZ0dVVWkwZzJYcXJaSGJWTzhhQXN1SXZGS2tUeXhoTGc4?=
 =?utf-8?B?Zmg4ZkJhTWtOTFkzRG9IQ1Y4MGVPWHM1UjUwbGttY216bnpVRWNVUzNnM0w5?=
 =?utf-8?B?WDVqRzlhY2gza3hNOXVtVVEyVHJrbFVxVEtadVIyb09uTDBZZTlBUGVUTk5W?=
 =?utf-8?B?blJvZUhXWk5RdlZaYTN6aW1pVVNuWlFmMFdCZkovTFI4SEtSWG42cmUrdldI?=
 =?utf-8?B?SjF5QkZBUk9TM0hQMXdoSU1UQmlOdnIrMFF3WHFTOC82TTRmZXZtWE55WFBG?=
 =?utf-8?B?dUJLdDBZenlhK3QzV24rUkk3Ni9BR2dOYlBpYXN4NFVyVEVLNVlNK0psSTE2?=
 =?utf-8?B?TEdzSlBucmZrQ1BhS1RZb3M4eGl5NlUyb3hMVU42YURoWlg4U0dhR01RSGtD?=
 =?utf-8?Q?LDiXV8zLzb9mBHTwf3noEA0kqkY0GKhvB9hhNdG?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 85b27d9a-57af-4f94-3e13-08d95dc5f3f5
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2021 19:18:23.4750
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: buLD9PIpBSRxRb31OjUgI+//V6I24iFPt3ioFvL1N81Bivg4kTm/7r11nWJXCrtw4x9PaA/oPV4rrMxR+YgBT503NbphTfe2by8KjDEDeSM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5854
X-OriginatorOrg: citrix.com

On 12/08/2021 19:20, Jason Andryuk wrote:
> Hi,
>
> I was reviewing xen/common/wait.c:__prepare_to_wait() and I think I've
> identified an incompatibility with shadow stacks like Intel CET-SS.
>
> The inline asm does:
>
>         "call 1f;"
>         "1: addq $2f-1b,(%%rsp);"
>         "sub %%esp,%%ecx;"
>         "cmp %3,%%ecx;"
>         "ja 3f;"
>         "mov %%rsp,%%rsi;"
>
>         /* check_wakeup_from_wait() longjmp()'s to this point. */
>         "2: rep movsb;"
>         "mov %%rsp,%%rsi;"
>         "3: pop %%rax;"
>
> `call 1f` gets the address of the code, but the address is popped off
> without ret.  This will leave the shadow stack out-of-sync which will
> trigger the protection.  Is my analysis correct?

There is a shadow stack bug here, but it isn't this.

A CALL with 0 displacement explicitly doesn't push a return address onto
the shadow stack, because CALL; POP is a common technique used in 32bit
PIC logic.=C2=A0 Similarly, 0-displacement calls don't enter the RSB/RAS
branch predictor (and why the safety of retpoline depends on using
non-zero displacements).

However, the fact we copy the regular stack sideways and totally skip
the shadow stack is a problem.=C2=A0 We'll survive the setjmp(), but the
longjmp() will explode because of trying to use the old context's shstk
with the new context's regular stack.

There is no credible way to make the waitqueue infrastructure compatible
with shadow stacks.

Furthermore, the infrastructure is an eyesore and we've discussed how to
go about deleting it several times in the past - it is only needed
because of an shortcut taken in the monitor/sharing/paging ring handling
with dom0.

In the short term, we should have logic to perform a boot-time disable
of monitor/sharing/paging if CET is wanted, which works in exactly the
same way as opt_pv32.=C2=A0 This will prevent Xen from exploding on a CET
system when you first try to introspect a VM with more than 7(?) vcpus,
and will let the user choose between "working introspection" and
"working CET".

As a tangent, if we know that waitqueues aren't in use, then it is safe
to turn off HVM RSB stuffing, which is enough of a perf win to actively
chase.=C2=A0 I already have some work in progress for disabling PV RSB
stuffing, and the raw perf numbers are
https://paste.debian.net/hidden/0d59b024/ for anyone interested.


As for monitor/sharing/paging, their dependence on the waitqueue
infrastructure is easy to remove, now that we've got the
acquire_resource infrastructure.

The problem is that, given a 4k ring shared between all vcpus, Xen may
need to wait for space on the ring in the middle of a logical action,
necessitating scheduling the vcpu out while retaining the interim state
which isn't at a clean return-to-guest boundary.=C2=A0 The problem is
exasperated by the fact that monitor in particular allows for sync or
async notifications, meaning that one single vcpu could consume all room
in the ring in very short order.

The fix is also easy.=C2=A0 For the sync interface, switch to a slot-per-vc=
pu
model exactly like the IOREQ interface.=C2=A0 This simplifies Xen and the
userspace agent, and improves performance because you don't need to
marshal data in and out of the ring.=C2=A0 Also offers an opportunity to
switch to evtchn-per-vcpu rather than having to scan all vcpus on every
interrupt.

For the async ring, we can either delete that functionality (it is
unclear whether it is actually used at all) or we can implement a
multi-page ring similar to the vmtrace buffer (actually easier, because
there is no requirement to be physically contiguous).

As long as the ring is at least big enough for one entry per vcpu, we
can rearrange the logic to never need to sleep before putting an entry
into the ring.=C2=A0 Specifically, pause the current vCPU after writing the
entry if the remaining space is smaller than $N * d->max_vcpus, after
which we can return to the scheduler like all other operations which
pause a vCPU, and the waitqueue logic loses its only caller.


If anyone has time to address any parts of this, I'll happily provide as
much guidance as I can.

~Andrew



From xen-devel-bounces@lists.xenproject.org Thu Aug 12 19:18:36 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 19:18:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166567.304023 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEGDs-00066k-9x; Thu, 12 Aug 2021 19:18:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166567.304023; Thu, 12 Aug 2021 19:18:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEGDs-00066b-5R; Thu, 12 Aug 2021 19:18:36 +0000
Received: by outflank-mailman (input) for mailman id 166567;
 Thu, 12 Aug 2021 19:18:35 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7bPv=ND=microsoft.com=mikelley@srs-us1.protection.inumbo.net>)
 id 1mEGDq-00065x-W4
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 19:18:35 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com (unknown
 [40.107.244.93]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 15f0a0b4-fba2-11eb-a207-12813bfff9fa;
 Thu, 12 Aug 2021 19:18:34 +0000 (UTC)
Received: from MWHPR21MB1593.namprd21.prod.outlook.com (2603:10b6:301:7c::11)
 by MWHPR21MB0861.namprd21.prod.outlook.com (2603:10b6:300:77::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.6; Thu, 12 Aug
 2021 19:18:30 +0000
Received: from MWHPR21MB1593.namprd21.prod.outlook.com
 ([fe80::e8f7:b582:9e2d:ba55]) by MWHPR21MB1593.namprd21.prod.outlook.com
 ([fe80::e8f7:b582:9e2d:ba55%2]) with mapi id 15.20.4436.012; Thu, 12 Aug 2021
 19:18:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 15f0a0b4-fba2-11eb-a207-12813bfff9fa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ftWryGqzH6vvqKzIYFd1fo9gg3tixhYCixF+Wr005TEepGPCCaqMX17CkaongcoLbZtmUtp3fnXqwJY+bYdNwoeja6RgxMyoSxBnT8ChOq4JDvojC0Q65bHSO6g+gQ8HatzxFkVN+W9eNhvRL7WMhQWhefavo6o56IAAo6942aPQ5NlZIa7n2Cs2S4HHdTyfJnYKS9+QgdAo9Gaqsw5UPOpguubmZHzAu2QE5XSdUnzgTS5ZcqVG+i6KmvojsfAXxLCktwroNYdYRDze8zYsK+MrYHtIoGsJDiCbkRi4Qi0NsqfOMlbqg6K6Cvw+iG1kMQoEpEWCGuM80XLAMByNqQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7Ml/pDsLQ8y9j5HouSL5yGOSfNnF2kN6EzPfxU2Kbf0=;
 b=fKE0T92NgibawBd7zdFhAmADACvbJp5B5f7RxbwKKZ5dVLNZkYGUfi/nMIFvcleBzc28Vy26U58SIja/RfW7XNnGTuCvf92+G5FZ3OfpZEXhigPB9z9XYrDFw8FYsJopkGVlSozWjogYBs34p/+Xv28XpX6Yc8ioditCNg9UYBdcoGm9dOlNcQ1w5M1g0TrfjltxLbhlkGGgHttPYCzYeMyIgRvIitgF8bj4AfsdWNZsbWiTnkMhsOcCROBd+siv9p1f88LALWKa5ARBENUGFwsHqw/HlX/88pt29d+u5DV8Aq2vAwz6U4tMgM3gz5Ahras6xy45le2WtfeEBSri7Q==
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=7Ml/pDsLQ8y9j5HouSL5yGOSfNnF2kN6EzPfxU2Kbf0=;
 b=GbsBnOZdqcWwEMUfr9qsB+qIyRFp+JDDqP/Q92Y/aHF0DtQsQdaVW2XBAr1lfUYwQc4V9eJfCod7Mikdkm378fnthKduGUNrNFQbPqKKKGWX+4fc9VRi2fScdfnzMnXj9PAt5uNagHFfs8j4r5m/Bo7SAzPTqPW3U+MDqyGb1vI=
From: Michael Kelley <mikelley@microsoft.com>
To: Tianyu Lan <ltykernel@gmail.com>, KY Srinivasan <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>, Stephen Hemminger
	<sthemmin@microsoft.com>, "wei.liu@kernel.org" <wei.liu@kernel.org>, Dexuan
 Cui <decui@microsoft.com>, "tglx@linutronix.de" <tglx@linutronix.de>,
	"mingo@redhat.com" <mingo@redhat.com>, "bp@alien8.de" <bp@alien8.de>,
	"x86@kernel.org" <x86@kernel.org>, "hpa@zytor.com" <hpa@zytor.com>,
	"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
	"luto@kernel.org" <luto@kernel.org>, "peterz@infradead.org"
	<peterz@infradead.org>, "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	"boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>, "jgross@suse.com"
	<jgross@suse.com>, "sstabellini@kernel.org" <sstabellini@kernel.org>,
	"joro@8bytes.org" <joro@8bytes.org>, "will@kernel.org" <will@kernel.org>,
	"davem@davemloft.net" <davem@davemloft.net>, "kuba@kernel.org"
	<kuba@kernel.org>, "jejb@linux.ibm.com" <jejb@linux.ibm.com>,
	"martin.petersen@oracle.com" <martin.petersen@oracle.com>, "arnd@arndb.de"
	<arnd@arndb.de>, "hch@lst.de" <hch@lst.de>, "m.szyprowski@samsung.com"
	<m.szyprowski@samsung.com>, "robin.murphy@arm.com" <robin.murphy@arm.com>,
	"thomas.lendacky@amd.com" <thomas.lendacky@amd.com>, "brijesh.singh@amd.com"
	<brijesh.singh@amd.com>, "ardb@kernel.org" <ardb@kernel.org>, Tianyu Lan
	<Tianyu.Lan@microsoft.com>, "pgonda@google.com" <pgonda@google.com>,
	"martin.b.radev@gmail.com" <martin.b.radev@gmail.com>,
	"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
	"kirill.shutemov@linux.intel.com" <kirill.shutemov@linux.intel.com>,
	"rppt@kernel.org" <rppt@kernel.org>, "sfr@canb.auug.org.au"
	<sfr@canb.auug.org.au>, "saravanand@fb.com" <saravanand@fb.com>,
	"krish.sadhukhan@oracle.com" <krish.sadhukhan@oracle.com>,
	"aneesh.kumar@linux.ibm.com" <aneesh.kumar@linux.ibm.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"rientjes@google.com" <rientjes@google.com>, "hannes@cmpxchg.org"
	<hannes@cmpxchg.org>, "tj@kernel.org" <tj@kernel.org>
CC: "iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org>,
	"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
	"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>, vkuznets
	<vkuznets@redhat.com>, "parri.andrea@gmail.com" <parri.andrea@gmail.com>,
	"dave.hansen@intel.com" <dave.hansen@intel.com>
Subject: RE: [PATCH V3 02/13] x86/HV: Initialize shared memory boundary in the
 Isolation VM.
Thread-Topic: [PATCH V3 02/13] x86/HV: Initialize shared memory boundary in
 the Isolation VM.
Thread-Index: AQHXjUfnHZ9QYgRpj0m0r+snbnmZg6twQiTQ
Date: Thu, 12 Aug 2021 19:18:30 +0000
Message-ID:
 <MWHPR21MB159376E024639D8F0465BCA2D7F99@MWHPR21MB1593.namprd21.prod.outlook.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-3-ltykernel@gmail.com>
In-Reply-To: <20210809175620.720923-3-ltykernel@gmail.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=554cbf34-fbb7-44b9-8159-933acafadcb9;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=2021-08-12T19:15:02Z;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-office365-filtering-correlation-id: e0e43c59-6a82-4e84-1131-08d95dc5f87a
x-ms-traffictypediagnostic: MWHPR21MB0861:
x-ms-exchange-transport-forked: True
x-ld-processed: 72f988bf-86f1-41af-91ab-2d7cd011db47,ExtAddr
x-microsoft-antispam-prvs:
 <MWHPR21MB086139FC4B3AE2C13677FF8BD7F99@MWHPR21MB0861.namprd21.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:5236;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 k4h0lSuYoZKNBm7yODlYkyykM+eKlWUfkryGyFa6mwk7nbyBl0dgw7qf7/wl2nAss91euPoXtlEGtdyXp0w1mZhv2j8fZ/0h+0OUUUf/iWkHAaj1jf7XS/B53LDfzM4M8Qbum20FqU9gZSlZiL+s/xyXz5L38QDKhyVbzFOJkG4J6g4IlkCSSIr0hWd6M4EL7jwtM/Hx1OocwXF7rwrjU90mlfsa8uGq+a72+1ItmexgO0mNiYtNROns5TV8dIXdPYa6J0KtuK1E/rvuRkuHrQyCPjt0EqZOjOBQnkK5YevNAEWuxn4jwA/tnG16/34kBR6wr9rJezvyTR5lyeqdlf3GctBNDJWWwXD37EDSxJVDGcz6zzRtWniskslldJ6Wm6ZzbJ9J7mBX9X4grnS0kXU0fNUi76FLYzfBQS9bqmJQ4PH+IaaebMLF1qlz2/xUU406fqEXQoJHFQ3/nBX4QttsdYwcMh8DihlFWoMlKoBfaZd7iTkZLwt42BeDZ++u+qCJuf7MoOYh+fbI0n41RUDvGEo92cGcm6885Tu3cTbZZDxkX0HNMMuHh5C2fK37DCdW7P3z3PcmbB0SwVSZ4LaJanPmoKO//wd05Gmvw0xItoh0oyosYHAIbsJGkxHZgpjyOBGkxJfW8NI49u9EQ2uEEcNnXf6OqyTxoBZ9eVIQwHgZWt0/h0zkT9AdKN6A61dtEsXEOUzKv4Jt94Ec+GotrUadBKZ3YSdyIw4Ydqg=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR21MB1593.namprd21.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(66476007)(5660300002)(110136005)(66946007)(54906003)(66556008)(508600001)(71200400001)(122000001)(64756008)(8676002)(66446008)(76116006)(316002)(33656002)(26005)(7696005)(52536014)(10290500003)(2906002)(186003)(55016002)(7416002)(38070700005)(7406005)(921005)(8936002)(9686003)(83380400001)(6506007)(53546011)(82950400001)(4326008)(82960400001)(8990500004)(38100700002)(86362001);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?CH5vmLBRd+jug8MHuck4kGKLBac5ncTT2zkTplxQ1SJTLnC0ycSP+bFSFW3R?=
 =?us-ascii?Q?0HHt+kX+Vw1y44bkRGb80GZgX1LpNGajdP07FcMAEF6daimiXBDP69PMZqrY?=
 =?us-ascii?Q?FOORhqWIsvNMrO+gfyOH6x3Ht0vU+R2aWZEV6U38gkXKYupI6rcfMiLwARN9?=
 =?us-ascii?Q?M1asT87vQ6zzeobRahWhVoVmayaz0ON+47mfLUkEIJWeU3oZzBdBQAaQyqV2?=
 =?us-ascii?Q?WTyGMHhiYUaP3wrxxn3mBEbwlr3gmNIq17rT/KVxkafXBmAVkcHvpOrz6nNu?=
 =?us-ascii?Q?pvwmymyQEualti2M/4LoQzADPdWIxbbt4KF0eqeU34+2+bfVknDao5Z7srXH?=
 =?us-ascii?Q?34RjVXQ03qvDWLH0TXGwVF+g/T8J5Qc8JAd7c3W6aRw+b54sAqy1JPmB8nX0?=
 =?us-ascii?Q?5D9KkhCPw3cpFeqs1kRRTNCSLUF7ZwpExYg1llKLcyhCGWD0fYmwiU1z04EN?=
 =?us-ascii?Q?qSgAPXuVMkwVSpDXY2bKxNU8PmTytSLFQxS0S64fDDicEJxAQdoi7xPOs0gy?=
 =?us-ascii?Q?RdQYza7ilRMdSEZhsdzfIMkivo685k5PW30W6Uy8bXaztWduAfTEQek70eA2?=
 =?us-ascii?Q?cgG9tRfx/afTg/pqoJETJkKko5D6TrcWQ+FbgQvj3O8LGfwRIsc6WMhZN8ne?=
 =?us-ascii?Q?vx3knkXHnvbcLhYikECppUr4rjBEAuITRfZQl20OIupA/RblaSGQ5BZxpfcm?=
 =?us-ascii?Q?VsblSNQQz9ardZ8U3Qgwtgd637q9zEuryXl5H/vw/kUWcpYMCr70NaNR6wrr?=
 =?us-ascii?Q?wp5PEXWwadyWRL1Zm3v7VR3S7bJbcHPvLZsQL1/a24Hupd9C/yWqqnOY37R3?=
 =?us-ascii?Q?JRemBqtLwXUkzFiIPYN3YSDmTF6nao8c4cJ2w8+7m68SPKZDfsAqyIoBBVRg?=
 =?us-ascii?Q?A0j7bUolSUIN/Au4jI1s9GHpp6bG0s51aLnsOoHWvZjDfHQKXKxB7Fujomz0?=
 =?us-ascii?Q?ePvRKGqTgh03cAmD0se1Y+Pn7zJOZPnmB4jzpS+P+o1yUVsClEW/HY3a95p7?=
 =?us-ascii?Q?/WeoQMYLvaBOhsafO87P8NgV48f0y+xi3A3OhQ7gWQTh6NgCJQ5EDGDX65iY?=
 =?us-ascii?Q?EEwWzT/kji5+vtVko4M5K4oJgMI8YSzj6CcUGNP+59Lb7O4QzivPXIyJNGVW?=
 =?us-ascii?Q?U+1Hv3/qIXPlNm5JKGxEK+mrBPzXd1QnPqCB6cDkBJCkl7ljo6dZwoguql/f?=
 =?us-ascii?Q?XsiD+/DHY4NU18xTerZivtL5aB0sIsM9CoV2Wn7K8QOA+AiM0Nod9XFqAfi6?=
 =?us-ascii?Q?huzxLjrtsrUa1JKElngKuNT8E/fj1+DxNHhuYAEOi3F285VEMTquoZv+2R0b?=
 =?us-ascii?Q?rN0JHZ5szfphmrlWLznCoy8k?=
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: MWHPR21MB1593.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e0e43c59-6a82-4e84-1131-08d95dc5f87a
X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Aug 2021 19:18:30.7416
 (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: dTbwBIc20NOA+EWIaqRsudNGaQ8BeMq7shzU8tr3ThCtGGe5Wtx7pa7WF20ZojFJc78hP0wovlJniZwpiVCRmcNOePzSXW9w1mRs6NO3FOI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR21MB0861

From: Tianyu Lan <ltykernel@gmail.com> Sent: Monday, August 9, 2021 10:56 A=
M
> Subject: [PATCH V3 02/13] x86/HV: Initialize shared memory boundary in th=
e Isolation VM.

As with Patch 1, use the "x86/hyperv:" tag in the Subject line.

>=20
> From: Tianyu Lan <Tianyu.Lan@microsoft.com>
>=20
> Hyper-V exposes shared memory boundary via cpuid
> HYPERV_CPUID_ISOLATION_CONFIG and store it in the
> shared_gpa_boundary of ms_hyperv struct. This prepares
> to share memory with host for SNP guest.
>=20
> Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
> ---
>  arch/x86/kernel/cpu/mshyperv.c |  2 ++
>  include/asm-generic/mshyperv.h | 12 +++++++++++-
>  2 files changed, 13 insertions(+), 1 deletion(-)
>=20
> diff --git a/arch/x86/kernel/cpu/mshyperv.c b/arch/x86/kernel/cpu/mshyper=
v.c
> index 6b5835a087a3..2b7f396ef1a5 100644
> --- a/arch/x86/kernel/cpu/mshyperv.c
> +++ b/arch/x86/kernel/cpu/mshyperv.c
> @@ -313,6 +313,8 @@ static void __init ms_hyperv_init_platform(void)
>  	if (ms_hyperv.priv_high & HV_ISOLATION) {
>  		ms_hyperv.isolation_config_a =3D cpuid_eax(HYPERV_CPUID_ISOLATION_CONF=
IG);
>  		ms_hyperv.isolation_config_b =3D cpuid_ebx(HYPERV_CPUID_ISOLATION_CONF=
IG);
> +		ms_hyperv.shared_gpa_boundary =3D
> +			(u64)1 << ms_hyperv.shared_gpa_boundary_bits;

You could use BIT_ULL() here, but it's kind of a shrug.

>=20
>  		pr_info("Hyper-V: Isolation Config: Group A 0x%x, Group B 0x%x\n",
>  			ms_hyperv.isolation_config_a, ms_hyperv.isolation_config_b);
> diff --git a/include/asm-generic/mshyperv.h b/include/asm-generic/mshyper=
v.h
> index 4269f3174e58..aa26d24a5ca9 100644
> --- a/include/asm-generic/mshyperv.h
> +++ b/include/asm-generic/mshyperv.h
> @@ -35,8 +35,18 @@ struct ms_hyperv_info {
>  	u32 max_vp_index;
>  	u32 max_lp_index;
>  	u32 isolation_config_a;
> -	u32 isolation_config_b;
> +	union {
> +		u32 isolation_config_b;
> +		struct {
> +			u32 cvm_type : 4;
> +			u32 Reserved11 : 1;
> +			u32 shared_gpa_boundary_active : 1;
> +			u32 shared_gpa_boundary_bits : 6;
> +			u32 Reserved12 : 20;

Any reason to name the reserved fields as "11" and "12"?  It
just looks a bit unusual.  And I'd suggest lowercase "r".

> +		};
> +	};
>  	void  __percpu **ghcb_base;
> +	u64 shared_gpa_boundary;
>  };
>  extern struct ms_hyperv_info ms_hyperv;
>=20
> --
> 2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 12 19:32:29 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 19:32:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166577.304034 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEGRE-0000Hg-Im; Thu, 12 Aug 2021 19:32:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166577.304034; Thu, 12 Aug 2021 19:32: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 1mEGRE-0000HZ-Fu; Thu, 12 Aug 2021 19:32:24 +0000
Received: by outflank-mailman (input) for mailman id 166577;
 Thu, 12 Aug 2021 19:32: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 1mEGRC-0000HP-Ml; Thu, 12 Aug 2021 19:32: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 1mEGRC-0004s9-Hu; Thu, 12 Aug 2021 19:32: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 1mEGRC-0004wL-7C; Thu, 12 Aug 2021 19:32:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mEGRC-0000KB-6h; Thu, 12 Aug 2021 19: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=vYwQAyu0Y67VcEGCE58NxV0gMeoIm5lizuXDgshGlUc=; b=4a6x8izFfJD/lDi1i3/yBHxUVK
	uhpt9Ng3genML72r2iZKl7kGbcPmZn4FhcZtZDaIv+rgRBO25K1zQrxiUXu7TA4BihVadjp1vsqQT
	fHgqrxbYlAdZzcENPkhrgjdsX30E9OvfeoLEjqvFpCaHez64PFkz0BKTCo/HzLoD0gQ4=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164169-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 164169: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=5a88d524857e5bf78b077d30ea515fcaac061bfc
X-Osstest-Versions-That:
    xen=25da9455f1bb8a6d33039575a7b28bdfc4e3fcfe
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 12 Aug 2021 19:32:22 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  5a88d524857e5bf78b077d30ea515fcaac061bfc
baseline version:
 xen                  25da9455f1bb8a6d33039575a7b28bdfc4e3fcfe

Last test of basis   164148  2021-08-10 08:01:38 Z    2 days
Testing same since   164169  2021-08-12 16:01:46 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jane Malalane <jane.malalane@citrix.com>
  Kevin Stefanov <kevin.stefanov@citrix.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   25da9455f1..5a88d52485  5a88d524857e5bf78b077d30ea515fcaac061bfc -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Aug 12 19:36:15 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 19:36:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166583.304048 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEGUw-0000xC-4W; Thu, 12 Aug 2021 19:36:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166583.304048; Thu, 12 Aug 2021 19: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 1mEGUw-0000x5-0o; Thu, 12 Aug 2021 19:36:14 +0000
Received: by outflank-mailman (input) for mailman id 166583;
 Thu, 12 Aug 2021 19:36:13 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7bPv=ND=microsoft.com=mikelley@srs-us1.protection.inumbo.net>)
 id 1mEGUv-0000wz-2E
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 19:36:13 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com (unknown
 [2a01:111:f400:7eb2::719])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c71acaaf-0948-429d-ab97-e2bfd47288ef;
 Thu, 12 Aug 2021 19:36:11 +0000 (UTC)
Received: from MWHPR21MB1593.namprd21.prod.outlook.com (2603:10b6:301:7c::11)
 by MW2PR2101MB1036.namprd21.prod.outlook.com (2603:10b6:302:a::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.4; Thu, 12 Aug
 2021 19:36:06 +0000
Received: from MWHPR21MB1593.namprd21.prod.outlook.com
 ([fe80::e8f7:b582:9e2d:ba55]) by MWHPR21MB1593.namprd21.prod.outlook.com
 ([fe80::e8f7:b582:9e2d:ba55%2]) with mapi id 15.20.4436.012; Thu, 12 Aug 2021
 19:36:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c71acaaf-0948-429d-ab97-e2bfd47288ef
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UNEx1uto80Ra+gK6zSmrf+7BFPzLQXo2y2CBzVUmPvRYpk3Bl4xwYsrYnuFPTGxajgn7BpQTuiOde1JDE/ZOmBQ73R+QcTWPvB46ER1BEdvs0lwAy8TMitEYfNsxt+ZbEYCn1zQTF267d/NgkxSp+BPU4DX5BjT30bTG4UYFuhK8h3lQFP/i7+C8qOWJz+zuLXD0FEq+JkoGflWV9Dz0TXIbd9MK+nQp8nLppasiBLMVhONsmF+BS2UJTFMH9jTin58yJ+mFKsPCmmxf78jrqa53avv4TJx0OGCLakG4Ht1QXjoE9JOUgQ7L4f4OFvTLsTEkUL0yuX43x+Orh5vh5Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wM25SJ3Up4/7J7O8staMgksHsHt0fEx4uZJw6yF05n8=;
 b=BmsqndxNfvdfkECVmVzP5Mnugf1hVqhkq192zW8FfAdGs1OHn3ojzHTSUQD2svWIyWP5BR5MPlPmWRckXjuyZxk+BcglR/p1bwNNkpOVeGQXDDZSGQcUzrZxE3s8w/uu3kZIvxEGW/pEN1ttQJEpYIXC6LqFBTEe/xtp8bBT4nTMRdWstxzwjPdVnNQ7JlOpEh1iYbVayB+rUnZTcNOkfe+2jOwypDC+ibtvMm8BclDPFhAYtzhH8GvdXThV8J2WtBo3TfQFLybqmW+Obu0V27Rz6BwyloA5U+Gh+U/PbpErI6Oom1BEcijpXdOumtMCK5tIH6rXrlaw61++kQ/P7Q==
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=wM25SJ3Up4/7J7O8staMgksHsHt0fEx4uZJw6yF05n8=;
 b=fmzqNw7t4u+fvYRgd13bCgilff6/91mqpTwkwiW8u7l6sHXnlvi5gPY0c/nAEgDXkZFbwRjtliEDYEks+ZxxG95H+ZMY4R32Oz8t28UD5rVLjBGFqiJsnX4gXxhhzMmY+uUDM88+TNlou0CHld+d5eAcoUK7AhHrtD3RHDMVEmU=
From: Michael Kelley <mikelley@microsoft.com>
To: Tianyu Lan <ltykernel@gmail.com>, KY Srinivasan <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>, Stephen Hemminger
	<sthemmin@microsoft.com>, "wei.liu@kernel.org" <wei.liu@kernel.org>, Dexuan
 Cui <decui@microsoft.com>, "tglx@linutronix.de" <tglx@linutronix.de>,
	"mingo@redhat.com" <mingo@redhat.com>, "bp@alien8.de" <bp@alien8.de>,
	"x86@kernel.org" <x86@kernel.org>, "hpa@zytor.com" <hpa@zytor.com>,
	"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
	"luto@kernel.org" <luto@kernel.org>, "peterz@infradead.org"
	<peterz@infradead.org>, "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	"boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>, "jgross@suse.com"
	<jgross@suse.com>, "sstabellini@kernel.org" <sstabellini@kernel.org>,
	"joro@8bytes.org" <joro@8bytes.org>, "will@kernel.org" <will@kernel.org>,
	"davem@davemloft.net" <davem@davemloft.net>, "kuba@kernel.org"
	<kuba@kernel.org>, "jejb@linux.ibm.com" <jejb@linux.ibm.com>,
	"martin.petersen@oracle.com" <martin.petersen@oracle.com>, "arnd@arndb.de"
	<arnd@arndb.de>, "hch@lst.de" <hch@lst.de>, "m.szyprowski@samsung.com"
	<m.szyprowski@samsung.com>, "robin.murphy@arm.com" <robin.murphy@arm.com>,
	"thomas.lendacky@amd.com" <thomas.lendacky@amd.com>, "brijesh.singh@amd.com"
	<brijesh.singh@amd.com>, "ardb@kernel.org" <ardb@kernel.org>, Tianyu Lan
	<Tianyu.Lan@microsoft.com>, "pgonda@google.com" <pgonda@google.com>,
	"martin.b.radev@gmail.com" <martin.b.radev@gmail.com>,
	"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
	"kirill.shutemov@linux.intel.com" <kirill.shutemov@linux.intel.com>,
	"rppt@kernel.org" <rppt@kernel.org>, "sfr@canb.auug.org.au"
	<sfr@canb.auug.org.au>, "saravanand@fb.com" <saravanand@fb.com>,
	"krish.sadhukhan@oracle.com" <krish.sadhukhan@oracle.com>,
	"aneesh.kumar@linux.ibm.com" <aneesh.kumar@linux.ibm.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"rientjes@google.com" <rientjes@google.com>, "hannes@cmpxchg.org"
	<hannes@cmpxchg.org>, "tj@kernel.org" <tj@kernel.org>
CC: "iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org>,
	"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
	"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>, vkuznets
	<vkuznets@redhat.com>, "parri.andrea@gmail.com" <parri.andrea@gmail.com>,
	"dave.hansen@intel.com" <dave.hansen@intel.com>
Subject: RE: [PATCH V3 03/13] x86/HV: Add new hvcall guest address host
 visibility support
Thread-Topic: [PATCH V3 03/13] x86/HV: Add new hvcall guest address host
 visibility support
Thread-Index: AQHXjUfncf0WY7cz0E6uX1luWMHXpKtwQyKw
Date: Thu, 12 Aug 2021 19:36:05 +0000
Message-ID:
 <MWHPR21MB1593076766939A1FEC36AFB9D7F99@MWHPR21MB1593.namprd21.prod.outlook.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-4-ltykernel@gmail.com>
In-Reply-To: <20210809175620.720923-4-ltykernel@gmail.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=f59d3f6e-54e2-48d7-ba3a-4be654f8ed09;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=2021-08-12T19:18:35Z;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-office365-filtering-correlation-id: aebc45f2-bacc-446b-28b1-08d95dc86d50
x-ms-traffictypediagnostic: MW2PR2101MB1036:
x-ms-exchange-transport-forked: True
x-ld-processed: 72f988bf-86f1-41af-91ab-2d7cd011db47,ExtAddr
x-microsoft-antispam-prvs:
 <MW2PR2101MB1036C7E924ED7AAF33BED868D7F99@MW2PR2101MB1036.namprd21.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:6790;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 4zpU7/rxMBy8o3RIzEOzI4zyyYL/J1yxvVhmheK2h50lClh13F4csT42lWQHRzIZvvDmzx4gdBAyWMWjmA3IvP8jso3M1H+qKoEs9vyc70KrRsSBqPkzyL5i6QDTRlqS5vuNwT6dWSG7sKV6PSQx59jJuBfMKMEMs/57lf7zaey8rKJs+OEUPZ8cmxVYlvO/8rp9Y9UYJo6kBS93FF84on83+TlY0m34P4CCodHvTTj8lK/tgDqKYvdlLC/FmVPWJaQrIm5o53/gnHLhR5TQjeMd64axO1myHfhRE+21AupfuIgeeAaPut3HShI/pbRuyfVUJskmH0Cri+64dz7Ka3jF0UA8Gc/UFal3mmqsdcqaox/DqbCM978cvyC07uZWhKzL0vpR7fuoTKL89E38omJpSGPMqZy3Uatnf5i3uQ0GMkj/0Y0Bgh21M3HFLEUwdtmMVWmhkcHMuDBbuqUJWgCHSSioa8Gyfr0rfBBc8W5HyvF3Iuags3MebHinUlN55lstqoRCdfvitbkkk6qyoXvxcL7VRgbTQv7aqcx5HZqcJfoYwnvt3WlafvF1+fgfKGoZE77HDOX2iQVO6qnLRqzEU6UKRBvG+ejcxm5w4hNjRsBlB+Gbz6xwdRBVj7eVKGLMP8AlgxM3hg/sLRFUoNKcFopIFmap9BvgoNkkXAD4fZjSwucoD5rN27bmN8mtR05a9laawxKla4zRL9UUigCEa5ZkwcA2f2XoRJTAdrg=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR21MB1593.namprd21.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(186003)(5660300002)(53546011)(122000001)(26005)(8936002)(6506007)(38100700002)(4326008)(7416002)(38070700005)(2906002)(921005)(8990500004)(7406005)(82960400001)(82950400001)(52536014)(7696005)(9686003)(8676002)(76116006)(55016002)(86362001)(508600001)(33656002)(71200400001)(10290500003)(83380400001)(110136005)(66476007)(66556008)(54906003)(66446008)(64756008)(316002)(30864003)(66946007);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?UNz+PLuMNgcBzWPw2v6ezG7Aokw/qh+OHNLej2hL8iR52U7PtUiDbkofLeIn?=
 =?us-ascii?Q?pTrtpcsVqnawuQi6MXjPSdYCm/ZNwKWLXyr1fVF87jWsW6UzKan5MmcTw4G2?=
 =?us-ascii?Q?2RswgNa+tLLy1wrR45J4+uxh9hY097lMRvoUimi0LcYtBfHG86apKM4+H80h?=
 =?us-ascii?Q?roBY/ip2B1dgb3K0m1/G9r4VI+sHhDGf/vmXjIQubXYbqynzvVedtBefR2gF?=
 =?us-ascii?Q?5ExxB6CYTwYMDBl6PuOmYtepYxD/DbWrP9K4guwXlmYRHp42XgTkVF1YAZPE?=
 =?us-ascii?Q?2zkt80Hi2f0iVB0+bL7qrns208JjruM46Spwb8U93cMPn9OiTGR11NX5ptH4?=
 =?us-ascii?Q?rs0WU06HmltI3ERu1feFuu8L3ZGpcbu0eM/As4l8s2XPkPjTJdnJlZ3/NDd+?=
 =?us-ascii?Q?nKl62JFo1sp5WxhkuuqEXZ8bk5kCPGkjoEUA37clGPmAMBw5jEsXRDAvl+wd?=
 =?us-ascii?Q?ZzUXgk+eujVpXdcW7lFjWZ1QAtAW4jgupR0xG9j9KMoexFDpZbnOog2LAsi8?=
 =?us-ascii?Q?J2FKklCU6G1lwLg3uEJY/C4jt1SS6Pj9RyZg/J6RMIVQyEYBYRYtB7UKTEAj?=
 =?us-ascii?Q?2XRZaAxXOBsHjvDWLMIL3vvu1kszL5x3k5pMB2AoTKW/0/MdRYZ/D+G/47BE?=
 =?us-ascii?Q?Ib8Zh231D+FImLvrBzlS/Qd/FIB/P3GT/mhfPBv8o8FMfUHeDEEHEUuF3A1z?=
 =?us-ascii?Q?MYQzQShblw+WqZb+GcHm6Ee67wVuhhSAUln33Tr3DyuBfwJnf4aXM77CuzWe?=
 =?us-ascii?Q?O8q5RGQpgrUdSTvVtYV6MxJSDQCoIMFVGnjtxSIkvzakPiWAr6utrWdPvX6z?=
 =?us-ascii?Q?E6DSf844PdkJptidrUbNZVuI6MeyaSOdqCTTQx427xXPOcOBpmHUOw4tsvMY?=
 =?us-ascii?Q?rI6h69JtPT5D7dqn14GyTisDqQ5m6sXyZqc1v8lc/KJu6Ml8/s7aWlyBbDio?=
 =?us-ascii?Q?EVO55h9tjU9OXJEHZq2TGMjxDw7IKHnDnX3bL2qealcOFWqmxhqKjfk6kqQl?=
 =?us-ascii?Q?sjbVXAH9ZtkHy4ziCc52s2nMQzcQwt6RE6FVSkFiJRzQwyKJhwa47EQhrDD6?=
 =?us-ascii?Q?HJVBFq5FBKVLvFxtkpmY7sZz3Di2pfhRWtGvQgmyLOULzOau1yWHRBmIPyMq?=
 =?us-ascii?Q?tLVIAJN/WyVz0IogucgOQqdkZHLAkOGGbWM7UIZGLThlbkIVevH1kVGdPoaB?=
 =?us-ascii?Q?EQI5wUFTjMjmcOuwWxbzyoWg+EujCdhUAljwTHbDjirDz7nuV2AmwNf1EfOG?=
 =?us-ascii?Q?34XJ7xX5YVeDfS9S7/r9U3GVjBmWdbG20cu0kaa5jm0XCZ3GajJ7N76aokHX?=
 =?us-ascii?Q?KxW18rdfjWjH3vmim1ITo6YD?=
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: MWHPR21MB1593.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: aebc45f2-bacc-446b-28b1-08d95dc86d50
X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Aug 2021 19:36:05.7148
 (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: /WVT5CCoUtRHvjNRck0rLCN2qEM9h+0plrC2oM5vBphBhj3Ot3y4cS9w73MR+EVNFJ4xcZz5Cp02eMYPFSCq7iGrgG4AdKDlI+8B630vRNU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW2PR2101MB1036

From: Tianyu Lan <ltykernel@gmail.com> Sent: Monday, August 9, 2021 10:56 A=
M
> Subject: [PATCH V3 03/13] x86/HV: Add new hvcall guest address host visib=
ility support

Use "x86/hyperv:" tag in the Subject line.

>=20
> From: Tianyu Lan <Tianyu.Lan@microsoft.com>
>=20
> Add new hvcall guest address host visibility support to mark
> memory visible to host. Call it inside set_memory_decrypted
> /encrypted(). Add HYPERVISOR feature check in the
> hv_is_isolation_supported() to optimize in non-virtualization
> environment.
>=20
> Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
> ---
> Change since v2:
>        * Rework __set_memory_enc_dec() and call Hyper-V and AMD function
>          according to platform check.
>=20
> Change since v1:
>        * Use new staic call x86_set_memory_enc to avoid add Hyper-V
>          specific check in the set_memory code.
> ---
>  arch/x86/hyperv/Makefile           |   2 +-
>  arch/x86/hyperv/hv_init.c          |   6 ++
>  arch/x86/hyperv/ivm.c              | 114 +++++++++++++++++++++++++++++
>  arch/x86/include/asm/hyperv-tlfs.h |  20 +++++
>  arch/x86/include/asm/mshyperv.h    |   4 +-
>  arch/x86/mm/pat/set_memory.c       |  19 +++--
>  include/asm-generic/hyperv-tlfs.h  |   1 +
>  include/asm-generic/mshyperv.h     |   1 +
>  8 files changed, 160 insertions(+), 7 deletions(-)
>  create mode 100644 arch/x86/hyperv/ivm.c
>=20
> diff --git a/arch/x86/hyperv/Makefile b/arch/x86/hyperv/Makefile
> index 48e2c51464e8..5d2de10809ae 100644
> --- a/arch/x86/hyperv/Makefile
> +++ b/arch/x86/hyperv/Makefile
> @@ -1,5 +1,5 @@
>  # SPDX-License-Identifier: GPL-2.0-only
> -obj-y			:=3D hv_init.o mmu.o nested.o irqdomain.o
> +obj-y			:=3D hv_init.o mmu.o nested.o irqdomain.o ivm.o
>  obj-$(CONFIG_X86_64)	+=3D hv_apic.o hv_proc.o
>=20
>  ifdef CONFIG_X86_64
> diff --git a/arch/x86/hyperv/hv_init.c b/arch/x86/hyperv/hv_init.c
> index 0bb4d9ca7a55..b3683083208a 100644
> --- a/arch/x86/hyperv/hv_init.c
> +++ b/arch/x86/hyperv/hv_init.c
> @@ -607,6 +607,12 @@ EXPORT_SYMBOL_GPL(hv_get_isolation_type);
>=20
>  bool hv_is_isolation_supported(void)
>  {
> +	if (!cpu_feature_enabled(X86_FEATURE_HYPERVISOR))
> +		return 0;
> +
> +	if (!hypervisor_is_type(X86_HYPER_MS_HYPERV))
> +		return 0;
> +
>  	return hv_get_isolation_type() !=3D HV_ISOLATION_TYPE_NONE;

Could all of the tests in this function be run at initialization time, and
a single Boolean value pre-computed that this function returns?  I don't
think any of tests would change during the lifetime of the Linux instance,
so running the tests every time is slower than it needs to be.

>  }
>=20
> diff --git a/arch/x86/hyperv/ivm.c b/arch/x86/hyperv/ivm.c
> new file mode 100644
> index 000000000000..8c905ffdba7f
> --- /dev/null
> +++ b/arch/x86/hyperv/ivm.c
> @@ -0,0 +1,114 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Hyper-V Isolation VM interface with paravisor and hypervisor
> + *
> + * Author:
> + *  Tianyu Lan <Tianyu.Lan@microsoft.com>
> + */
> +
> +#include <linux/hyperv.h>
> +#include <linux/types.h>
> +#include <linux/bitfield.h>
> +#include <linux/slab.h>
> +#include <asm/io.h>
> +#include <asm/mshyperv.h>
> +
> +/*
> + * hv_mark_gpa_visibility - Set pages visible to host via hvcall.
> + *
> + * In Isolation VM, all guest memory is encripted from host and guest
> + * needs to set memory visible to host via hvcall before sharing memory
> + * with host.
> + */
> +int hv_mark_gpa_visibility(u16 count, const u64 pfn[],
> +			   enum hv_mem_host_visibility visibility)
> +{
> +	struct hv_gpa_range_for_visibility **input_pcpu, *input;
> +	u16 pages_processed;
> +	u64 hv_status;
> +	unsigned long flags;
> +
> +	/* no-op if partition isolation is not enabled */
> +	if (!hv_is_isolation_supported())
> +		return 0;
> +
> +	if (count > HV_MAX_MODIFY_GPA_REP_COUNT) {
> +		pr_err("Hyper-V: GPA count:%d exceeds supported:%lu\n", count,
> +			HV_MAX_MODIFY_GPA_REP_COUNT);
> +		return -EINVAL;
> +	}
> +
> +	local_irq_save(flags);
> +	input_pcpu =3D (struct hv_gpa_range_for_visibility **)
> +			this_cpu_ptr(hyperv_pcpu_input_arg);
> +	input =3D *input_pcpu;
> +	if (unlikely(!input)) {
> +		local_irq_restore(flags);
> +		return -EINVAL;
> +	}
> +
> +	input->partition_id =3D HV_PARTITION_ID_SELF;
> +	input->host_visibility =3D visibility;
> +	input->reserved0 =3D 0;
> +	input->reserved1 =3D 0;
> +	memcpy((void *)input->gpa_page_list, pfn, count * sizeof(*pfn));
> +	hv_status =3D hv_do_rep_hypercall(
> +			HVCALL_MODIFY_SPARSE_GPA_PAGE_HOST_VISIBILITY, count,
> +			0, input, &pages_processed);
> +	local_irq_restore(flags);
> +
> +	if (!(hv_status & HV_HYPERCALL_RESULT_MASK))
> +		return 0;

pages_processed should also be checked to ensure that it equals count.
If not, something has gone wrong in the hypercall.

> +
> +	return hv_status & HV_HYPERCALL_RESULT_MASK;
> +}
> +EXPORT_SYMBOL(hv_mark_gpa_visibility);
> +
> +static int __hv_set_mem_host_visibility(void *kbuffer, int pagecount,
> +				      enum hv_mem_host_visibility visibility)
> +{
> +	u64 *pfn_array;
> +	int ret =3D 0;
> +	int i, pfn;
> +
> +	if (!hv_is_isolation_supported() || !ms_hyperv.ghcb_base)
> +		return 0;
> +
> +	pfn_array =3D kzalloc(HV_HYP_PAGE_SIZE, GFP_KERNEL);

Does the page need to be zero'ed?  All bytes that are used will
be explicitly written in the loop below.

> +	if (!pfn_array)
> +		return -ENOMEM;
> +
> +	for (i =3D 0, pfn =3D 0; i < pagecount; i++) {
> +		pfn_array[pfn] =3D virt_to_hvpfn(kbuffer + i * HV_HYP_PAGE_SIZE);
> +		pfn++;
> +
> +		if (pfn =3D=3D HV_MAX_MODIFY_GPA_REP_COUNT || i =3D=3D pagecount - 1) =
{
> +			ret |=3D hv_mark_gpa_visibility(pfn, pfn_array,
> +					visibility);

I don't see why value of "ret" is OR'ed.   If the result of hv_mark_gpa_vis=
ibility()
is ever non-zero, we'll exit immediately.  There's no need to accumulate th=
e
results of multiple calls to hv_mark_gpa_visibility().

> +			pfn =3D 0;
> +
> +			if (ret)
> +				goto err_free_pfn_array;
> +		}
> +	}
> +
> + err_free_pfn_array:
> +	kfree(pfn_array);
> +	return ret;
> +}
> +
> +/*
> + * hv_set_mem_host_visibility - Set specified memory visible to host.
> + *
> + * In Isolation VM, all guest memory is encrypted from host and guest
> + * needs to set memory visible to host via hvcall before sharing memory
> + * with host. This function works as wrap of hv_mark_gpa_visibility()
> + * with memory base and size.
> + */
> +int hv_set_mem_host_visibility(unsigned long addr, int numpages, bool vi=
sible)
> +{
> +	enum hv_mem_host_visibility visibility =3D visible ?
> +			VMBUS_PAGE_VISIBLE_READ_WRITE : VMBUS_PAGE_NOT_VISIBLE;
> +
> +	return __hv_set_mem_host_visibility((void *)addr, numpages, visibility)=
;
> +}
> diff --git a/arch/x86/include/asm/hyperv-tlfs.h b/arch/x86/include/asm/hy=
perv-tlfs.h
> index 2322d6bd5883..1691d2bce0b7 100644
> --- a/arch/x86/include/asm/hyperv-tlfs.h
> +++ b/arch/x86/include/asm/hyperv-tlfs.h
> @@ -276,6 +276,13 @@ enum hv_isolation_type {
>  #define HV_X64_MSR_TIME_REF_COUNT	HV_REGISTER_TIME_REF_COUNT
>  #define HV_X64_MSR_REFERENCE_TSC	HV_REGISTER_REFERENCE_TSC
>=20
> +/* Hyper-V memory host visibility */
> +enum hv_mem_host_visibility {
> +	VMBUS_PAGE_NOT_VISIBLE		=3D 0,
> +	VMBUS_PAGE_VISIBLE_READ_ONLY	=3D 1,
> +	VMBUS_PAGE_VISIBLE_READ_WRITE	=3D 3
> +};
> +
>  /*
>   * Declare the MSR used to setup pages used to communicate with the hype=
rvisor.
>   */
> @@ -587,4 +594,17 @@ enum hv_interrupt_type {
>=20
>  #include <asm-generic/hyperv-tlfs.h>
>=20
> +/* All input parameters should be in single page. */
> +#define HV_MAX_MODIFY_GPA_REP_COUNT		\
> +	((PAGE_SIZE / sizeof(u64)) - 2)
> +
> +/* HvCallModifySparseGpaPageHostVisibility hypercall */
> +struct hv_gpa_range_for_visibility {
> +	u64 partition_id;
> +	u32 host_visibility:2;
> +	u32 reserved0:30;
> +	u32 reserved1;
> +	u64 gpa_page_list[HV_MAX_MODIFY_GPA_REP_COUNT];
> +} __packed;
> +

We should avoid adding definitions *after* the #include of
<asm-generic/hyperv-tlfs.h>.   That #include should be last.  Any
reason these can't go earlier?  And they really go together with
enum hv_mem_host_visibility.

Separately, take a look at how the structure hv_memory_hint
and HV_MEMORY_HINT_MAX_GPA_PAGE_RANGES is handled.
It's a close parallel to what you are doing above, and is a slightly
cleaner approach.

>  #endif
> diff --git a/arch/x86/include/asm/mshyperv.h b/arch/x86/include/asm/mshyp=
erv.h
> index 6627cfd2bfba..87a386fa97f7 100644
> --- a/arch/x86/include/asm/mshyperv.h
> +++ b/arch/x86/include/asm/mshyperv.h
> @@ -190,7 +190,9 @@ struct irq_domain *hv_create_pci_msi_domain(void);
>  int hv_map_ioapic_interrupt(int ioapic_id, bool level, int vcpu, int vec=
tor,
>  		struct hv_interrupt_entry *entry);
>  int hv_unmap_ioapic_interrupt(int ioapic_id, struct hv_interrupt_entry *=
entry);
> -
> +int hv_mark_gpa_visibility(u16 count, const u64 pfn[],
> +			   enum hv_mem_host_visibility visibility);
> +int hv_set_mem_host_visibility(unsigned long addr, int numpages, bool vi=
sible);
>  #else /* CONFIG_HYPERV */
>  static inline void hyperv_init(void) {}
>  static inline void hyperv_setup_mmu_ops(void) {}
> diff --git a/arch/x86/mm/pat/set_memory.c b/arch/x86/mm/pat/set_memory.c
> index ad8a5c586a35..1e4a0882820a 100644
> --- a/arch/x86/mm/pat/set_memory.c
> +++ b/arch/x86/mm/pat/set_memory.c
> @@ -29,6 +29,8 @@
>  #include <asm/proto.h>
>  #include <asm/memtype.h>
>  #include <asm/set_memory.h>
> +#include <asm/hyperv-tlfs.h>
> +#include <asm/mshyperv.h>
>=20
>  #include "../mm_internal.h"
>=20
> @@ -1980,15 +1982,11 @@ int set_memory_global(unsigned long addr, int num=
pages)
>  				    __pgprot(_PAGE_GLOBAL), 0);
>  }
>=20
> -static int __set_memory_enc_dec(unsigned long addr, int numpages, bool e=
nc)
> +static int __set_memory_enc_pgtable(unsigned long addr, int numpages, bo=
ol enc)
>  {
>  	struct cpa_data cpa;
>  	int ret;
>=20
> -	/* Nothing to do if memory encryption is not active */
> -	if (!mem_encrypt_active())
> -		return 0;
> -
>  	/* Should not be working on unaligned addresses */
>  	if (WARN_ONCE(addr & ~PAGE_MASK, "misaligned address: %#lx\n", addr))
>  		addr &=3D PAGE_MASK;
> @@ -2023,6 +2021,17 @@ static int __set_memory_enc_dec(unsigned long addr=
, int numpages, bool enc)
>  	return ret;
>  }
>=20
> +static int __set_memory_enc_dec(unsigned long addr, int numpages, bool e=
nc)
> +{
> +	if (hv_is_isolation_supported())
> +		return hv_set_mem_host_visibility(addr, numpages, !enc);
> +
> +	if (mem_encrypt_active())
> +		return __set_memory_enc_pgtable(addr, numpages, enc);
> +
> +	return 0;
> +}
> +
>  int set_memory_encrypted(unsigned long addr, int numpages)
>  {
>  	return __set_memory_enc_dec(addr, numpages, true);
> diff --git a/include/asm-generic/hyperv-tlfs.h b/include/asm-generic/hype=
rv-tlfs.h
> index 56348a541c50..8ed6733d5146 100644
> --- a/include/asm-generic/hyperv-tlfs.h
> +++ b/include/asm-generic/hyperv-tlfs.h
> @@ -158,6 +158,7 @@ struct ms_hyperv_tsc_page {
>  #define HVCALL_RETARGET_INTERRUPT		0x007e
>  #define HVCALL_FLUSH_GUEST_PHYSICAL_ADDRESS_SPACE 0x00af
>  #define HVCALL_FLUSH_GUEST_PHYSICAL_ADDRESS_LIST 0x00b0
> +#define HVCALL_MODIFY_SPARSE_GPA_PAGE_HOST_VISIBILITY 0x00db
>=20
>  /* Extended hypercalls */
>  #define HV_EXT_CALL_QUERY_CAPABILITIES		0x8001
> diff --git a/include/asm-generic/mshyperv.h b/include/asm-generic/mshyper=
v.h
> index aa26d24a5ca9..079988ed45b9 100644
> --- a/include/asm-generic/mshyperv.h
> +++ b/include/asm-generic/mshyperv.h
> @@ -255,6 +255,7 @@ bool hv_query_ext_cap(u64 cap_query);
>  static inline bool hv_is_hyperv_initialized(void) { return false; }
>  static inline bool hv_is_hibernation_supported(void) { return false; }
>  static inline void hyperv_cleanup(void) {}
> +static inline hv_is_isolation_supported(void);
>  #endif /* CONFIG_HYPERV */
>=20
>  #endif
> --
> 2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 12 20:24:12 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 20:24:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166588.304059 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEHF6-0005ww-Ua; Thu, 12 Aug 2021 20:23:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166588.304059; Thu, 12 Aug 2021 20:23:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEHF6-0005wp-RF; Thu, 12 Aug 2021 20:23:56 +0000
Received: by outflank-mailman (input) for mailman id 166588;
 Thu, 12 Aug 2021 20:23:55 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3EhH=ND=oracle.com=boris.ostrovsky@srs-us1.protection.inumbo.net>)
 id 1mEHF5-0005wQ-Eo
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 20:23:55 +0000
Received: from mx0a-00069f02.pphosted.com (unknown [205.220.165.32])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 1141c4d6-8158-4c24-b1f0-68e9f5f3f3d0;
 Thu, 12 Aug 2021 20:23:54 +0000 (UTC)
Received: from pps.filterd (m0246627.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id
 17CKHAYv020500; Thu, 12 Aug 2021 20:23:36 GMT
Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79])
 by mx0b-00069f02.pphosted.com with ESMTP id 3acd64by13-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Thu, 12 Aug 2021 20:23:36 +0000
Received: from pps.filterd (userp3020.oracle.com [127.0.0.1])
 by userp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 17CKGOlf113465;
 Thu, 12 Aug 2021 20:23:35 GMT
Received: from nam12-mw2-obe.outbound.protection.outlook.com
 (mail-mw2nam12lp2045.outbound.protection.outlook.com [104.47.66.45])
 by userp3020.oracle.com with ESMTP id 3aa3xy056h-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Thu, 12 Aug 2021 20:23:34 +0000
Received: from BLAPR10MB5009.namprd10.prod.outlook.com (2603:10b6:208:321::10)
 by BL3PR10MB5489.namprd10.prod.outlook.com (2603:10b6:208:33c::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16; Thu, 12 Aug
 2021 20:23:32 +0000
Received: from BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::7cd0:8600:6e6e:aa8c]) by BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::7cd0:8600:6e6e:aa8c%7]) with mapi id 15.20.4415.016; Thu, 12 Aug 2021
 20:23:32 +0000
Received: from [10.74.96.128] (160.34.88.128) by
 SA0PR11CA0032.namprd11.prod.outlook.com (2603:10b6:806:d0::7) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Thu, 12 Aug 2021 20:23: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: 1141c4d6-8158-4c24-b1f0-68e9f5f3f3d0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=subject : to : cc :
 references : from : message-id : date : in-reply-to : content-type :
 content-transfer-encoding : mime-version; s=corp-2021-07-09;
 bh=+cHFl4S4x3A3CoBLHrWAHSPt4KftRBb3k0RmckBdrUk=;
 b=UI381mrKqJMC28oxek3BaujuEsCvD7wjLhyrk5wdO7qMrV6mBlTKQJg/TRuFeEZVpP1w
 bDw5aD/MCaN4wZaDk+KnfLe0bc4gfnnk8bgusnwGCg8lIjrapGkX+CVGNA2ueTX41Gfq
 hRBoYiJEihSk/t63+1KnMa4rQbpHotaPOlveMaH34ufYvggJWfdNZslWN8V42pHPGQ5Z
 lRpwXu/P5k5sdwAS0BrrkD+zzVSd3g+9o6Q2TnttTW4E4sukAK4SBnxz8filKMJgF71U
 pYzojBhk1H2USqCZ9488T3LG7Yn/JBvk9b2Jz9wFExVSFmdHAsP6eiApUAIov09h8FSv Yw== 
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=subject : to : cc :
 references : from : message-id : date : in-reply-to : content-type :
 content-transfer-encoding : mime-version; s=corp-2020-01-29;
 bh=+cHFl4S4x3A3CoBLHrWAHSPt4KftRBb3k0RmckBdrUk=;
 b=XI2Q/AanXiimzSG4UtJQuNaFlFMDDrk+IWUSb4ucDt91pst7zkdHu321mddr90p9KXzM
 L6xGSOF1Eycj8HHgSOwVhpDZar3PpcPaJMNqAY8qJ54llGGTVeq40Ph63FwaYKywmo7O
 +jSA1omJPfH2bgv35FYM5xwLSYTf8q7Loby8pFeYUCJ7xrPXQTGbY/zIMyFUVgfIcJ+I
 ilW5v0jnQMIcC6b6rZbhyiubuArmPs5gEJ05AYq8YTwHpmS6efHLr4WW//pi9YBUwDgo
 VkfyCizxlbVsjbuVugKGY3g1QsYFPhywdHnALlNKUi+p2tPq4gHfa4LwLU/RVyqhbMHK Ig== 
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZyuI+zMJniSEt2I6ZzFxdAfcIvZHBTP1GLgTQcvNA1OUUG6PEbwnRuriQhle21jb0oTVIM3ichx3cP8gkixIkTgbgTbn3zXKK2Ie1kShAINcYAQivSaweQxySRXnl8bH0vHu197HUjL5nY+XWp/HhUFUGifamhdMJvw+Pn3v9ZIH6mPVUtifVajKnPBjbgZ636srTIsk3WSIQL8cmydQ0JgC6r4QrVliZRxtCrtIKNioqnAvHxCFXQXdd0gcQ7zvtq8AwR7tpCEwhiy7J4g97rABHaSDuPNIJnan4yQfL3S3SH90lgUeduvNVLrSZf1yG2Ux8ZF7EeBrhsh0Ha0KAA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+cHFl4S4x3A3CoBLHrWAHSPt4KftRBb3k0RmckBdrUk=;
 b=mGHfZrJZP6rPl2hfnCGZta2czULK7+5i191yMhwwRJUvEiuASmT4Pycv7EpD6RbE7HNS08EoAjz4PNWxjqSk4g93EZfAcDmhKigq9WSKI4WE7niEVLs0MNOr0hrzErrfxNUqllmoSerJQAkPEobd6hmD7cdYZZjsM1anLu8W4R8M+rnfJKFMoEbflerZox4RYRWq7LsWE7aGQzLXpqMr/jFmWM1Ro/SBrPV2jzHq7JK7PAB8LNc8OSD8yXlYZLlf9+BYFDRrs6wkS1bFF2H9dl30WdLv+8yCDwCZg0ZoQL1wxj/Y3IHkFYWuVx0qwe6xrOcy7GQGPu2yf9O5YACQqg==
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=+cHFl4S4x3A3CoBLHrWAHSPt4KftRBb3k0RmckBdrUk=;
 b=YAaebgp3IGHdgTCwLoySYjwZVcInNo2V218LFGTeAIUYvkA3Xguv72fcUAcx4beW22lH+8rVM+xEx8kZL76EvuVfYIGVcO7zcStsRzZLqKTPLdvjc/bjOAq/v7+/0jNMvrhrlt31HfU+6EWxNXGxpGOaD+5waecuOxjsTvMXAfo=
Authentication-Results: vger.kernel.org; dkim=none (message not signed)
 header.d=none;vger.kernel.org; dmarc=none action=none header.from=oracle.com;
Subject: Re: [PATCH v2] xen/events: Fix race in set_evtchn_to_irq
To: Maximilian Heyne <mheyne@amazon.de>
Cc: Amit Shah <aams@amazon.de>, Juergen Gross <jgross@suse.com>,
        Stefano Stabellini <sstabellini@kernel.org>,
        Wei Liu <wei.liu@kernel.org>, Thomas Gleixner <tglx@linutronix.de>,
        Jan Beulich <jbeulich@suse.com>,
        Malcolm Crossley <malcolm.crossley@citrix.com>,
        David Vrabel <david.vrabel@citrix.com>,
        Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
        xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20210812130930.127134-1-mheyne@amazon.de>
From: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Message-ID: <da6174e0-3c1e-190e-6181-5c83f724a417@oracle.com>
Date: Thu, 12 Aug 2021 16:23:27 -0400
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
In-Reply-To: <20210812130930.127134-1-mheyne@amazon.de>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Content-Language: en-US
X-ClientProxiedBy: SA0PR11CA0032.namprd11.prod.outlook.com
 (2603:10b6:806:d0::7) To BLAPR10MB5009.namprd10.prod.outlook.com
 (2603:10b6:208:321::10)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 25dcba26-f649-428d-0b76-08d95dcf0db9
X-MS-TrafficTypeDiagnostic: BL3PR10MB5489:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: 
	<BL3PR10MB54896C1AC3E3C491EDE50C768AF99@BL3PR10MB5489.namprd10.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 
	U1OUQrZ3OjDP9oL3vh+AdEgwcc4CaNrsQdAlxP/AGeT3dav6BrueL28Gre5htR+2d20LkKBVb63IfViqU7JgOPBcdvJ/C/5zo0J5IZ8EnqjBo1+N7auXB8EmGVmXz+5lZAyjTiU+fo3m0duVSmV4zenzd+CO1SztViNlFoh7+D/xUZVIDy65QZnzkiHogQasEhAlyWM81OwKeLgElZdV/edhLcCAhxIqSJB+z0xdTKU/xHUT8zaE5OfPVnanRcNnGI9c1x8zpyXq8aXJbYM3kvpcEZDTW2UQksHkCItV6JmmZIAT45/r3iF7aWP12k5bI8KUv8PPCUPMYY3YEkv/MJ4PrMCG+wQVVgCrNJg/+9I6H8KkzUnVij9OlyGfuxC7h3cluWlW6Gr18IMiN5qt0XCwTmr6pz2DUiwb14L+WNnQVGmIW/g6PZFRuhwQaVMi+3RUcZ8nAGJI9OVmuFriF5sz9fI6SgQd1vYcmmKRFEw5zuirq9/XQ8DNasUY0MK/GRR41cUdOk3HZhSYdtPeI+aIMHJacHE1zgnpR+wU7B0Yjpqi6PxgLyaj3B1xTwmdteN0/R1sq9SlVtK2jQDWuY8Y6sKrYjWzexox8ke4h2oBv0BXv8gzsgkt/hm1nVu9unvhFyv/YJqTQs6DdfDTQWCkfv0lo4wiiBX2CNFD8CJCq/IuCwDnWWY01/wx/G44Ry1KBAsCxaFPY+aMEt91tNR2hL1W2oEzWIeiWJC+fhiqCMTTbhpOGbMXJgGXk+Ih
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:(366004)(7416002)(316002)(16576012)(38100700002)(66946007)(6666004)(66556008)(31686004)(53546011)(4326008)(66476007)(6916009)(6486002)(2906002)(8676002)(5660300002)(31696002)(508600001)(2616005)(186003)(956004)(44832011)(8936002)(83380400001)(86362001)(26005)(54906003)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?utf-8?B?RENQNzAzY2ZlQ3FwcU42cExzR3V2dzdQUjVMRjlsbTlYQjhSUFBmcDVLd1JW?=
 =?utf-8?B?QzcrRGY3eHRhM25xUjgxUkV2RXpQVGpVZis1bnZsR2hNVFVvM2RJWEdpNzNV?=
 =?utf-8?B?Lzl4NngvaXZWR0QzZjlnb0VvOGNTS0lrck9seG1BV1BWOXkwNUJvSXVvSUtS?=
 =?utf-8?B?VjcrcCtMeitvN3JnRURmU3ZtVkU2K2NhN1dyVTRjZlNYMXBGcXBuUVhVY0Zl?=
 =?utf-8?B?RzlWdkdqcnk5QmJGOGFDTFRQa1RDSUtlWFBqclBnUitmdkpBLzdxTWRmblFS?=
 =?utf-8?B?TGdFckxubm1qbjFZSTJ4MUNnREFxNDJ5c005MloxRU44RTNBQXJQU0ZTWlRS?=
 =?utf-8?B?RVhWbFJBYlV6T0JZellyZ3FhWFlrcXBITFd4Z1pJNEw4MmdWT0xkenBwejA5?=
 =?utf-8?B?ZWJaams2U2I2TVNOcGg0TFdUaHNZTGphQlhvWk9RMk45eVRXZDU4ZDdFazNr?=
 =?utf-8?B?L1RoYUR4elNJUGtLclJjLytNODR0dUtuVWx5ZzF5QUhzdlpsQlplK1BIdmwz?=
 =?utf-8?B?U21ydVI5NkE5L3lyVExTeHd1MUdleUxYUTRxbXVaOEZpOVhLcnZHRlc5Wmx6?=
 =?utf-8?B?TmVJSk9RT2IyS0FlUGprUUIreGx3TmJuai8xQTBYL1MvcXpXazFSVnAwZDI1?=
 =?utf-8?B?Q1M3TGN5cDN4Y2RBY3IvKzZOWDM2Y1J4cWhPOHh5dDgvaHA4b0dlcXZjTG5Y?=
 =?utf-8?B?MTFvZE81dnNqVUJ4Nk1kT2ZqdnFMSjdUTWhsLzNaWVNac3JRWldPMGl2dUFG?=
 =?utf-8?B?akxZYTNEQVJhZFVvTnZoaExwdGdnbTI3dnFmVGZCRys3QzVsUWlCN05LQlUv?=
 =?utf-8?B?VTNkWmJjbmhnZVBUSmhBQmtTWWJMclUxMTRmelBVRDNHUjVtZGVJaHZmNW5R?=
 =?utf-8?B?K0kzWmsydEE3SE11ekw5SW5yQUwvd2VUbERFaFlUNk0xNVJaVG1zWURscFJS?=
 =?utf-8?B?TDc2dlpEdkxSV1R3TldKZzVURXl2RDk1Y3I1SUVaRGkrL2JkU2kyZU0yUU1k?=
 =?utf-8?B?TkNyWXN4QmxVK0gyYWcxbDdoQ1RmYUNiNHIvUy80eUcwUlBJTlgrUk9hME5x?=
 =?utf-8?B?M0IxNWdTa0xjR29xdklBNzNiSHNiSWpSbk5kMjgvdzQreUZuMFY3TWhvcDho?=
 =?utf-8?B?cTlzMlZENlhVbS9vNkZrTVB0YmxOVUMybXF5SXJ6UU1zTTJIQXZORVhZT3FT?=
 =?utf-8?B?NVhZbHhYeksxMDdYWlY4TWVFRktycHNYRkVDNHBqTFovVzdhSnRLWE1RWEVQ?=
 =?utf-8?B?OXQ0K1V6VmZOMzl4VlVNWkJoVUdrYTQyQTlaUUt3WERwWExEdExMY1NjWmlq?=
 =?utf-8?B?cEltelQ3TlZBQVF1bDlKQ2w4V1BRSEFiRTFySGVreTNBL3Rhek1Zb01xa0Uy?=
 =?utf-8?B?QWhpVW1Oa2RQUFJ0Y1pHWGYxMDVldmhBa2pmaVRVZThQSjllNitJNlZzbWR6?=
 =?utf-8?B?WnJiWG44ZzJKWUJEYmtVWklTVHNsaVBBRnhOMmtpc2k5WjJXVnN4Z0lSclph?=
 =?utf-8?B?U08rK1hyVlpvTnpOYUtIcUxUeWM4SVozYWN6eElzSW9GSDR2VWNwUG1yZ0Zv?=
 =?utf-8?B?TFZlUndVRTFYWUVSRFRGcWtqdEpVRnpCQzZHQmhGdkFMNUlRRFVDMjl0cFdT?=
 =?utf-8?B?b0tieFNnL3VmaFZuUXF3dEcwcHgzTXA3U3k5enNnWDVFU2c2aWRZbzBVMWNJ?=
 =?utf-8?B?b2ErMlA5WEl4cXQ4Z1kvTHlOOTJ4RHIzSmduUUVNSnNSV2hVR2JWUWZhSVlN?=
 =?utf-8?Q?wgKP+I6kwakSUlpdtHOFLCattNr2Oco502YPvyU?=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 25dcba26-f649-428d-0b76-08d95dcf0db9
X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5009.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2021 20:23:32.1262
 (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: AksGuPL1n9JUZoKRgjvL9MrAR2VDUGEVdDUXfHz7JkkS+G7joSepNRFlahuOT1zV0SdPYelvTT9pdSRnmg7wVPv5vDVqwPeZ7wH/JjOq1Hs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR10MB5489
X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=10074 signatures=668682
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 mlxscore=0
 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 spamscore=0
 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2107140000 definitions=main-2108120132
X-Proofpoint-GUID: itarf4YV2cm3Or6BVqk-_ptLKOQXjn9J
X-Proofpoint-ORIG-GUID: itarf4YV2cm3Or6BVqk-_ptLKOQXjn9J


On 8/12/21 9:09 AM, Maximilian Heyne wrote:
> There is a TOCTOU issue in set_evtchn_to_irq. Rows in the evtchn_to_irq
> mapping are lazily allocated in this function. The check whether the row
> is already present and the row initialization is not synchronized. Two
> threads can at the same time allocate a new row for evtchn_to_irq and
> add the irq mapping to the their newly allocated row. One thread will
> overwrite what the other has set for evtchn_to_irq[row] and therefore
> the irq mapping is lost. This will trigger a BUG_ON later in
> bind_evtchn_to_cpu:
>
>   INFO: pci 0000:1a:15.4: [1d0f:8061] type 00 class 0x010802
>   INFO: nvme 0000:1a:12.1: enabling device (0000 -> 0002)
>   INFO: nvme nvme77: 1/0/0 default/read/poll queues
>   CRIT: kernel BUG at drivers/xen/events/events_base.c:427!
>   WARN: invalid opcode: 0000 [#1] SMP NOPTI
>   WARN: Workqueue: nvme-reset-wq nvme_reset_work [nvme]
>   WARN: RIP: e030:bind_evtchn_to_cpu+0xc2/0xd0
>   WARN: Call Trace:
>   WARN:  set_affinity_irq+0x121/0x150
>   WARN:  irq_do_set_affinity+0x37/0xe0
>   WARN:  irq_setup_affinity+0xf6/0x170
>   WARN:  irq_startup+0x64/0xe0
>   WARN:  __setup_irq+0x69e/0x740
>   WARN:  ? request_threaded_irq+0xad/0x160
>   WARN:  request_threaded_irq+0xf5/0x160
>   WARN:  ? nvme_timeout+0x2f0/0x2f0 [nvme]
>   WARN:  pci_request_irq+0xa9/0xf0
>   WARN:  ? pci_alloc_irq_vectors_affinity+0xbb/0x130
>   WARN:  queue_request_irq+0x4c/0x70 [nvme]
>   WARN:  nvme_reset_work+0x82d/0x1550 [nvme]
>   WARN:  ? check_preempt_wakeup+0x14f/0x230
>   WARN:  ? check_preempt_curr+0x29/0x80
>   WARN:  ? nvme_irq_check+0x30/0x30 [nvme]
>   WARN:  process_one_work+0x18e/0x3c0
>   WARN:  worker_thread+0x30/0x3a0
>   WARN:  ? process_one_work+0x3c0/0x3c0
>   WARN:  kthread+0x113/0x130
>   WARN:  ? kthread_park+0x90/0x90
>   WARN:  ret_from_fork+0x3a/0x50
>
> This patch sets evtchn_to_irq rows via a cmpxchg operation so that they
> will be set only once. The row is now cleared before writing it to
> evtchn_to_irq in order to not create a race once the row is visible for
> other threads.
>
> While at it, do not require the page to be zeroed, because it will be
> overwritten with -1's in clear_evtchn_to_irq_row anyway.
>
> Signed-off-by: Maximilian Heyne <mheyne@amazon.de>
> Fixes: d0b075ffeede ("xen/events: Refactor evtchn_to_irq array to be dynamically allocated")


Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>




From xen-devel-bounces@lists.xenproject.org Thu Aug 12 21:10:24 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 21:10:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166593.304070 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEHxx-0002FA-GZ; Thu, 12 Aug 2021 21:10:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166593.304070; Thu, 12 Aug 2021 21: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 1mEHxx-0002F3-Dd; Thu, 12 Aug 2021 21:10:17 +0000
Received: by outflank-mailman (input) for mailman id 166593;
 Thu, 12 Aug 2021 21:10:15 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7bPv=ND=microsoft.com=mikelley@srs-us1.protection.inumbo.net>)
 id 1mEHxv-0002Ex-CS
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 21:10:15 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com (unknown
 [40.107.223.126]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id afa1a6d6-fbb1-11eb-a21a-12813bfff9fa;
 Thu, 12 Aug 2021 21:10:14 +0000 (UTC)
Received: from MWHPR21MB1593.namprd21.prod.outlook.com (2603:10b6:301:7c::11)
 by MW4PR21MB1972.namprd21.prod.outlook.com (2603:10b6:303:7a::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.4; Thu, 12 Aug
 2021 21:10:03 +0000
Received: from MWHPR21MB1593.namprd21.prod.outlook.com
 ([fe80::e8f7:b582:9e2d:ba55]) by MWHPR21MB1593.namprd21.prod.outlook.com
 ([fe80::e8f7:b582:9e2d:ba55%2]) with mapi id 15.20.4436.012; Thu, 12 Aug 2021
 21:10: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: afa1a6d6-fbb1-11eb-a21a-12813bfff9fa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HAFSKyy1Wwq/aEngCLmKgpGO2v96s7o6pZWUYhj47UfaYAtb1nFXqb93lAZ91LCDOWMsRzSbmk6fWcddpy1oRJEqS16alKnMNW18YDDSYSB8o/+K1+ldtqscgrnkF/fLmt5sD+wkE0THUviLZZc0BY87/Lsdkh8x0btJM3nC1RUijQrPpfr9TaJ6EM7OouRkkg9kg0Zr0PwTdBcK34UbrMy3hYg0h9r6nJsaFNAQEN/v+Z8Za2YTvi5xzx6MhLxbz0IS7IccYdozJjK+uNkZsCf03QusKYgaRcYG1YXK7xhea68dJ++pzN+uwuSkXrMdwRHc+NDjn4K1gYZKJaDi/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-SenderADCheck;
 bh=M0YAk3Z5trLg6GO81eYdvJZXwxwS/QbJTJ56Ic4R8to=;
 b=foSgRqY7+JhYQLI6VVBfOorAAH9l0EcRJlh+F9LDo6Oaww4OyLyRUK+V2hyP5qF+aoaJHiHgqO3d6x9oNa2X104/4lQoWufQBrs7ZTh6QkIkvT6jMKH2MYqLx8ASOsDwbFe00NXEWqyZBnXwrLpn7HgSBPKjEe0JAWqMcm6iotGbsflg+o9sZQZpxbxNNYNTQ2qB4mtq0H9jv7TVgIU7fl/3VwFQ9eCz+GxA55tSHUnqdLKr9upbDlS/OyPvZucnbSM/h+6fyOWh8ookHUNbVyx+c4dxthlZnMAK8zOcZkw7sH2mDgmxO6PCs8CwrZKbiy0BDvBPsIJLAa1qNxiUTw==
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=M0YAk3Z5trLg6GO81eYdvJZXwxwS/QbJTJ56Ic4R8to=;
 b=VfOrovqCfHN1M+Ezsfdr5sd6q2oV5uxX+TBB0Z7PN8ZU5F6R7VBPwmXFZ8iwja+GSwzYAhi5+rVGCK3LpGfrMvLaLROUX1SuIPJlXi7iqI0sOfnhhJdbAwVE3kWJJnLRkiDDnvdUW/1+38PfCaJuK6+mtu70uvGPABlgvscZuII=
From: Michael Kelley <mikelley@microsoft.com>
To: Tianyu Lan <ltykernel@gmail.com>, KY Srinivasan <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>, Stephen Hemminger
	<sthemmin@microsoft.com>, "wei.liu@kernel.org" <wei.liu@kernel.org>, Dexuan
 Cui <decui@microsoft.com>, "tglx@linutronix.de" <tglx@linutronix.de>,
	"mingo@redhat.com" <mingo@redhat.com>, "bp@alien8.de" <bp@alien8.de>,
	"x86@kernel.org" <x86@kernel.org>, "hpa@zytor.com" <hpa@zytor.com>,
	"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
	"luto@kernel.org" <luto@kernel.org>, "peterz@infradead.org"
	<peterz@infradead.org>, "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	"boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>, "jgross@suse.com"
	<jgross@suse.com>, "sstabellini@kernel.org" <sstabellini@kernel.org>,
	"joro@8bytes.org" <joro@8bytes.org>, "will@kernel.org" <will@kernel.org>,
	"davem@davemloft.net" <davem@davemloft.net>, "kuba@kernel.org"
	<kuba@kernel.org>, "jejb@linux.ibm.com" <jejb@linux.ibm.com>,
	"martin.petersen@oracle.com" <martin.petersen@oracle.com>, "arnd@arndb.de"
	<arnd@arndb.de>, "hch@lst.de" <hch@lst.de>, "m.szyprowski@samsung.com"
	<m.szyprowski@samsung.com>, "robin.murphy@arm.com" <robin.murphy@arm.com>,
	"thomas.lendacky@amd.com" <thomas.lendacky@amd.com>, "brijesh.singh@amd.com"
	<brijesh.singh@amd.com>, "ardb@kernel.org" <ardb@kernel.org>, Tianyu Lan
	<Tianyu.Lan@microsoft.com>, "pgonda@google.com" <pgonda@google.com>,
	"martin.b.radev@gmail.com" <martin.b.radev@gmail.com>,
	"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
	"kirill.shutemov@linux.intel.com" <kirill.shutemov@linux.intel.com>,
	"rppt@kernel.org" <rppt@kernel.org>, "sfr@canb.auug.org.au"
	<sfr@canb.auug.org.au>, "saravanand@fb.com" <saravanand@fb.com>,
	"krish.sadhukhan@oracle.com" <krish.sadhukhan@oracle.com>,
	"aneesh.kumar@linux.ibm.com" <aneesh.kumar@linux.ibm.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"rientjes@google.com" <rientjes@google.com>, "hannes@cmpxchg.org"
	<hannes@cmpxchg.org>, "tj@kernel.org" <tj@kernel.org>
CC: "iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org>,
	"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
	"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>, vkuznets
	<vkuznets@redhat.com>, "parri.andrea@gmail.com" <parri.andrea@gmail.com>,
	"dave.hansen@intel.com" <dave.hansen@intel.com>
Subject: RE: [PATCH V3 03/13] x86/HV: Add new hvcall guest address host
 visibility support
Thread-Topic: [PATCH V3 03/13] x86/HV: Add new hvcall guest address host
 visibility support
Thread-Index: AQHXjUfncf0WY7cz0E6uX1luWMHXpKtwXLrA
Date: Thu, 12 Aug 2021 21:10:03 +0000
Message-ID:
 <MWHPR21MB1593764639725AA5B777F8DAD7F99@MWHPR21MB1593.namprd21.prod.outlook.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-4-ltykernel@gmail.com>
In-Reply-To: <20210809175620.720923-4-ltykernel@gmail.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=467437d6-f82e-42f0-8c74-6bc6e6910b3c;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=2021-08-12T20:50:11Z;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-office365-filtering-correlation-id: 4c40f350-fb33-4410-9cf8-08d95dd58db7
x-ms-traffictypediagnostic: MW4PR21MB1972:
x-ms-exchange-transport-forked: True
x-ld-processed: 72f988bf-86f1-41af-91ab-2d7cd011db47,ExtAddr
x-microsoft-antispam-prvs:
 <MW4PR21MB1972A75CA89454C6D0972EF2D7F99@MW4PR21MB1972.namprd21.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:4502;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 ZH2QQTQ5QJlpRKPh9NNo3oZVxP+pmVI/xNE1unAfRsXcr9a7E60vukqXaEOk3sqMcC++8qdG2dhq5gmb+yPVZoUHxY6T2Ck3GD1FTVazmCb5a7sC4u/KVTGmL7gllnqsFjg+qfIWr5v5wmH4qxh9dWecVZsOewrjr2eRou75SjhnaqoE17cpSEHOHDieZbFHTZq6GATOrzISwcWQcy7g3Mcz7qRdvFbqstkKEOlX9T2q5vVpPvcQ1eLY3p50nLH5qz4Iz0aaVRSWwdQFiCWPR8FgYl23/2M+W2WSylhSIM4IjcSid2sdDMWlFMhOLTUcia6yhqKsN5rrTiZNi9ZWfQ1VBweHyXoFgmsZ6HbbT3OMroIR3/EwU8sjy63AnbCg2JYen8JvTO5oc2gWquOkSAdWb40pkRg3DrlGxEYjJbVSAWt2Hjo8+rgpyubDJyUHDo6nxkw/M/WggrJskW8PzjP+Fyy/eFBTs+THKHUonNjvEraX2UxJoASiIvHtSAEj7tNuIZB3KatA9uVi4nLvVd8kURDxPohiTex6dMYYNerRutxP+XFAHeoKcNdJlGYnHe3ROkWdAtnGGL05Ha1VVv5ArIlDadULltsA8b6xdYovTyt9rZYztLmkXay5OD9i6UO4JGCLZ0MKWjOG3Lpe8S+5k0zOejk4+g7H/f9IRcANswHAekk5gH3LpsUR2mOfV9rLHOY0C6zORLmT5TZhLKxRwuGz/Vye/z3ZeIf5ihzBwiX8nr9B3bEq6r5Ou+Sr6Nntt/f0IjG+Sn2v2aJ0cAnBNc7dV0AEJ5qsKDxycu+DZRvheCn01XJgHLKxXk4r
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR21MB1593.namprd21.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(508600001)(9686003)(38070700005)(82950400001)(110136005)(10290500003)(86362001)(316002)(71200400001)(64756008)(66556008)(82960400001)(66946007)(8936002)(66476007)(54906003)(26005)(66446008)(186003)(76116006)(55016002)(2906002)(7406005)(921005)(4326008)(8990500004)(5660300002)(7696005)(122000001)(6506007)(33656002)(7416002)(38100700002)(52536014)(966005)(8676002);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?GFUPMdIah5HICk16JE/lGvZF9aDaDEAoaJR3dV1rTGvzhQe0GLD0bT1S9VGp?=
 =?us-ascii?Q?d3Tqq21ulLg59jmxst86678vsocurFjDr38mI8ArRilM+NuZ/ZBE3oCbXfg6?=
 =?us-ascii?Q?tSmeDaF6dnko2fsMJK8YCE1Wo8wObavhrcDqPgdDJXbnlKdlNaolTo1Lxqdm?=
 =?us-ascii?Q?9SVFP4xhq2wiuAoBh0MbXYKrEVIP9OBrMLZe9CWinoPZPXpXOPm6FEUsy+Tx?=
 =?us-ascii?Q?zGG+HiLxcg0fN8E3ceoLPSXk7OrzNS/g7WaE8DYurq92lRV6oBcFX0E7rteH?=
 =?us-ascii?Q?Q4/48glkXSTsnulh+GZR88yEs/60Ip3FTfsIJK10xSCRVQubNAlhRqLDUjka?=
 =?us-ascii?Q?Olj+t9pw19CFaChsyhDSVA6jGTaJEBxLL1HjdODhTIqsMlzs37tEiMmODfOa?=
 =?us-ascii?Q?TJeAUq7pPsN4EDQseiPUVHtFqLnBvoumoUOMd7XdEBRZQa7s3ktJYa4r+qMW?=
 =?us-ascii?Q?UdJPdYy+MwfaHouDObdYVGRtWsfY3Knmw7nhfJ2xjpo/Xy3fkvk9xmg+foO7?=
 =?us-ascii?Q?mPdDX63HLFjAmCNKz3Dd8NMgp3Yv+ZDS3IZ2nvNY1QJIyNedBBZZBc42yYRk?=
 =?us-ascii?Q?rnt6ymQvmkqZMW8hWhFO/iY+EJVw0tcV0p0iR17DxUukwCmscs3yuTxraJqV?=
 =?us-ascii?Q?HZlIZ73j3g4k1dtudPGnZx+ytnVnIweycbQaxDx+4aPT85ERd2DyZ91aWkQE?=
 =?us-ascii?Q?F0xeDebGZ1zVZFnmde2zQQc+ejtbPdD2Imk0jDHaPhAPBg4UPcDpHVWk8eQm?=
 =?us-ascii?Q?xHGtYyLYX8j79NA3l9WIw02AFxNHyDXNGQ76Q3zNc0aBSZbMLNrKHf5o6TKH?=
 =?us-ascii?Q?HNfySZweqUNjTcZ5mU5dvJgo20qN7HCl7/6Db+sTKPYwTnBYAYJKi861PCnx?=
 =?us-ascii?Q?PTwDxa5mSWcTxTL7oVPZVr/xZeyFPjMAaW+ppXvi1f2xlkP9EtPWXvNFwyQJ?=
 =?us-ascii?Q?ksMAJ1IO9uj2adk2aqI4iVZHCdKygts9ek6WH8PBdZDZqiD+6gm7TUttKTt7?=
 =?us-ascii?Q?IkVURoAAH/NzIghhzONXb51+5cMmbByVPMM46z9mg0YBrbm7VnWpWSpwEVEh?=
 =?us-ascii?Q?c+3Qc53qtZCwIC1js6FKMhhaQllVetUXn5yXL6KZWFsNMlO2rLh1Z2oEZnRr?=
 =?us-ascii?Q?8URRNZAcU3VVmQH5Gb9hUy782PmTFWQbhIK2T49Jb6zsblblqk/3zmuX/H/r?=
 =?us-ascii?Q?UUVbPM8J5HpWH41t96kPhHbW+zawrigAyez9LOf8VzjUIqjk/o/ZZ3+Q1cKH?=
 =?us-ascii?Q?9ygpENM+pyvRjqZRhi8yT7mxpRNvOKIzc1Z4y3QFKN4yIcMCbW0s5fviPz3G?=
 =?us-ascii?Q?gDnO6Z20w1pIOmKvJyZtMCIi?=
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: MWHPR21MB1593.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4c40f350-fb33-4410-9cf8-08d95dd58db7
X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Aug 2021 21:10:03.4015
 (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: bHTYbuxmShv7X3eptuEZ2EnHpyfYQCQZ/KOGBMymmy976HxPEgsvKyXHDX/CgTA4Djc+cG64qiZPGYbPeoFiWOVqJo6C/gJpYF9zJXRwWjY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR21MB1972

From: Tianyu Lan <ltykernel@gmail.com> Sent: Monday, August 9, 2021 10:56 A=
M

[snip]

> diff --git a/arch/x86/mm/pat/set_memory.c b/arch/x86/mm/pat/set_memory.c
> index ad8a5c586a35..1e4a0882820a 100644
> --- a/arch/x86/mm/pat/set_memory.c
> +++ b/arch/x86/mm/pat/set_memory.c
> @@ -29,6 +29,8 @@
>  #include <asm/proto.h>
>  #include <asm/memtype.h>
>  #include <asm/set_memory.h>
> +#include <asm/hyperv-tlfs.h>
> +#include <asm/mshyperv.h>
>=20
>  #include "../mm_internal.h"
>=20
> @@ -1980,15 +1982,11 @@ int set_memory_global(unsigned long addr, int num=
pages)
>  				    __pgprot(_PAGE_GLOBAL), 0);
>  }
>=20
> -static int __set_memory_enc_dec(unsigned long addr, int numpages, bool e=
nc)
> +static int __set_memory_enc_pgtable(unsigned long addr, int numpages, bo=
ol enc)
>  {
>  	struct cpa_data cpa;
>  	int ret;
>=20
> -	/* Nothing to do if memory encryption is not active */
> -	if (!mem_encrypt_active())
> -		return 0;
> -
>  	/* Should not be working on unaligned addresses */
>  	if (WARN_ONCE(addr & ~PAGE_MASK, "misaligned address: %#lx\n", addr))
>  		addr &=3D PAGE_MASK;
> @@ -2023,6 +2021,17 @@ static int __set_memory_enc_dec(unsigned long addr=
, int numpages, bool enc)
>  	return ret;
>  }
>=20
> +static int __set_memory_enc_dec(unsigned long addr, int numpages, bool e=
nc)
> +{
> +	if (hv_is_isolation_supported())
> +		return hv_set_mem_host_visibility(addr, numpages, !enc);
> +
> +	if (mem_encrypt_active())
> +		return __set_memory_enc_pgtable(addr, numpages, enc);
> +
> +	return 0;
> +}
> +

FYI, this not-yet-accepted patch
https://lore.kernel.org/lkml/ab5a7a983a943e7ca0a7ad28275a2d094c62c371.16234=
21410.git.ashish.kalra@amd.com/
looks to be providing a generic hook to notify the hypervisor when the
encryption status of a memory range changes.

Michael


From xen-devel-bounces@lists.xenproject.org Thu Aug 12 21:29:48 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 21:29:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166598.304080 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEIGb-0003pe-4F; Thu, 12 Aug 2021 21:29:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166598.304080; Thu, 12 Aug 2021 21: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 1mEIGb-0003pX-1C; Thu, 12 Aug 2021 21:29:33 +0000
Received: by outflank-mailman (input) for mailman id 166598;
 Thu, 12 Aug 2021 21:29: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 1mEIGa-0003pN-4d; Thu, 12 Aug 2021 21:29: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 1mEIGZ-0007D8-VJ; Thu, 12 Aug 2021 21:29: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 1mEIGZ-00011F-Ex; Thu, 12 Aug 2021 21:29:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mEIGZ-0002m8-EB; Thu, 12 Aug 2021 21:29: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=6Nc0z08GFSHEZeO0pUTjdl3DR8fT4GPgjq9YaCHgulA=; b=gWtFW3DfxWGQh3xDsDmRa2MIXN
	03wUKkziyoKklsx26UWBeK7Ou5K7qvZE+gGJwpi9eQIIhdcq/rJnEVNWmzbcXLorP4aWxDOLV0wut
	TVhc3ls3LR34ake0xbEvmy9k+QbSujL+B624Yoya3MasCIyUdd5/+1YV/smEJmGyZ9h0=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164168-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164168: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt:<job status>:broken:regression
    linux-linus:test-armhf-armhf-xl:<job status>:broken:regression
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-stop:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:allowable
    linux-linus:test-armhf-armhf-xl-rtds:guest-start:fail:allowable
    linux-linus:test-armhf-armhf-libvirt:host-install(5):broken:nonblocking
    linux-linus:test-armhf-armhf-xl:host-install(5):broken:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=1746f4db513563bb22e0ba0c419d0c90912dfae1
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 12 Aug 2021 21:29:31 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-libvirt        <job status>                 broken
 test-armhf-armhf-xl             <job status>                 broken
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop              fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 20 guest-stop               fail REGR. vs. 152332

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

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

version targeted for testing:
 linux                1746f4db513563bb22e0ba0c419d0c90912dfae1
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  377 days
Failing since        152366  2020-08-01 20:49:34 Z  376 days  663 attempts
Testing same since   164168  2021-08-12 12:10:47 Z    0 days    1 attempts

------------------------------------------------------------
6784 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          broken  
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     broken  
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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

broken-job test-armhf-armhf-libvirt broken
broken-job test-armhf-armhf-xl broken
broken-step test-armhf-armhf-libvirt host-install(5)
broken-step test-armhf-armhf-xl host-install(5)

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Thu Aug 12 22:21:08 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Aug 2021 22:21:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166605.304095 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEJ4P-00011O-9g; Thu, 12 Aug 2021 22:21:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166605.304095; Thu, 12 Aug 2021 22:21:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEJ4P-00011H-4T; Thu, 12 Aug 2021 22:21:01 +0000
Received: by outflank-mailman (input) for mailman id 166605;
 Thu, 12 Aug 2021 22:21:00 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7bPv=ND=microsoft.com=mikelley@srs-us1.protection.inumbo.net>)
 id 1mEJ4O-00011B-19
 for xen-devel@lists.xenproject.org; Thu, 12 Aug 2021 22:21:00 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com (unknown
 [40.107.94.124]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 916250c6-fbbb-11eb-a224-12813bfff9fa;
 Thu, 12 Aug 2021 22:20:58 +0000 (UTC)
Received: from MWHPR21MB1593.namprd21.prod.outlook.com (2603:10b6:301:7c::11)
 by MW4PR21MB2028.namprd21.prod.outlook.com (2603:10b6:303:11f::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.9; Thu, 12 Aug
 2021 22:20:46 +0000
Received: from MWHPR21MB1593.namprd21.prod.outlook.com
 ([fe80::e8f7:b582:9e2d:ba55]) by MWHPR21MB1593.namprd21.prod.outlook.com
 ([fe80::e8f7:b582:9e2d:ba55%2]) with mapi id 15.20.4436.012; Thu, 12 Aug 2021
 22:20: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: 916250c6-fbbb-11eb-a224-12813bfff9fa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kK4SO3ztPBOQkZKkQPTe77bwluzZV9djyzIGP+aczqLblLvcSIDPAuSUH+vB3fChI16WEefyGIyL54c6C4z5jwQrr8WJU9t+YrdDs4IGL4zi+Kou5TDPdhwL25S+QZUz84Xm5BsfACeWCWZBm6KWjXbc/IOVsY1Lz9jMNzjnsKkE5YZvrfV2FQrdjQwRaBWbwcGiN9cbyX1crG7mhuclR7FWEttwWi6X2XnCbEuk6beouyGNFrF5iF1nhMO92DR63KPDq7nEHLZczY/e4ESqVEDxrhTb5EqJIBWKilsW2Sv4qnwiHFx2UyIRNAr1y7CUQbIvOb/Ne7zM3W/v/jHEaA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zOYu3quSV0ofQ2yQ86AJoRS0udsqWiS3jqNjlfnxl1A=;
 b=js3T+qGMr8Pcs4HJ2+LLLJRChR1sJKby9jgLn7MtAiUCkmfzVd27YXeu4G60U7y6oHFQ2erVMg/fJPVVWDNvB/7I6gpkfmYF6qSRBxeT2Cnms70KROvMl2oEQGL3U5Q5zIK1+o9utx6ICL4R2GYZmQl+9CJlFsuNJr7h9bp4y33sybMdbQk+tipX4DHYX5A16iglihgziZc8jOwwk+URWd04P9vBRQ93o648YJLyXgdE0Gw/VxUAZWAE28G9OdB+FLJRzpc+ipI4Xpg5gTHVFstoDCRnj2+gjDEqnMJVMazwyIwb9hJFq9PCj4jEEYB2zh0Ui6kZyNqV+rXN8WEp4g==
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=zOYu3quSV0ofQ2yQ86AJoRS0udsqWiS3jqNjlfnxl1A=;
 b=bgimrThB75ZLcR677oDL/wyaMnF7qB8UKDjUhMPJqVzS5m0k40iXIPzsPo3IL6WQtWoJbWZB/IGB6BBJ4pdYBtiJKEMdPV83XKP25vHC7SomTAmES/qVmiuCViL3+IknTZgsh6penNzM4XNUOPXe54KyaU1ddiQESjbGR+Xj9lU=
From: Michael Kelley <mikelley@microsoft.com>
To: Tianyu Lan <ltykernel@gmail.com>, KY Srinivasan <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>, Stephen Hemminger
	<sthemmin@microsoft.com>, "wei.liu@kernel.org" <wei.liu@kernel.org>, Dexuan
 Cui <decui@microsoft.com>, "tglx@linutronix.de" <tglx@linutronix.de>,
	"mingo@redhat.com" <mingo@redhat.com>, "bp@alien8.de" <bp@alien8.de>,
	"x86@kernel.org" <x86@kernel.org>, "hpa@zytor.com" <hpa@zytor.com>,
	"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
	"luto@kernel.org" <luto@kernel.org>, "peterz@infradead.org"
	<peterz@infradead.org>, "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	"boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>, "jgross@suse.com"
	<jgross@suse.com>, "sstabellini@kernel.org" <sstabellini@kernel.org>,
	"joro@8bytes.org" <joro@8bytes.org>, "will@kernel.org" <will@kernel.org>,
	"davem@davemloft.net" <davem@davemloft.net>, "kuba@kernel.org"
	<kuba@kernel.org>, "jejb@linux.ibm.com" <jejb@linux.ibm.com>,
	"martin.petersen@oracle.com" <martin.petersen@oracle.com>, "arnd@arndb.de"
	<arnd@arndb.de>, "hch@lst.de" <hch@lst.de>, "m.szyprowski@samsung.com"
	<m.szyprowski@samsung.com>, "robin.murphy@arm.com" <robin.murphy@arm.com>,
	"thomas.lendacky@amd.com" <thomas.lendacky@amd.com>, "brijesh.singh@amd.com"
	<brijesh.singh@amd.com>, "ardb@kernel.org" <ardb@kernel.org>, Tianyu Lan
	<Tianyu.Lan@microsoft.com>, "pgonda@google.com" <pgonda@google.com>,
	"martin.b.radev@gmail.com" <martin.b.radev@gmail.com>,
	"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
	"kirill.shutemov@linux.intel.com" <kirill.shutemov@linux.intel.com>,
	"rppt@kernel.org" <rppt@kernel.org>, "sfr@canb.auug.org.au"
	<sfr@canb.auug.org.au>, "saravanand@fb.com" <saravanand@fb.com>,
	"krish.sadhukhan@oracle.com" <krish.sadhukhan@oracle.com>,
	"aneesh.kumar@linux.ibm.com" <aneesh.kumar@linux.ibm.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"rientjes@google.com" <rientjes@google.com>, "hannes@cmpxchg.org"
	<hannes@cmpxchg.org>, "tj@kernel.org" <tj@kernel.org>
CC: "iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org>,
	"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
	"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>, vkuznets
	<vkuznets@redhat.com>, "parri.andrea@gmail.com" <parri.andrea@gmail.com>,
	"dave.hansen@intel.com" <dave.hansen@intel.com>
Subject: RE: [PATCH V3 04/13] HV: Mark vmbus ring buffer visible to host in
 Isolation VM
Thread-Topic: [PATCH V3 04/13] HV: Mark vmbus ring buffer visible to host in
 Isolation VM
Thread-Index: AQHXjUfqCaYLLBWw5kOeNCdGavVaB6twbYXA
Date: Thu, 12 Aug 2021 22:20:46 +0000
Message-ID:
 <MWHPR21MB1593CCBBBB83E721F8FDACD3D7F99@MWHPR21MB1593.namprd21.prod.outlook.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-5-ltykernel@gmail.com>
In-Reply-To: <20210809175620.720923-5-ltykernel@gmail.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=360a1553-80d6-4b98-af48-a6ed69a048d8;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=2021-08-12T21:50:18Z;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-office365-filtering-correlation-id: f81e2ea8-e287-4a18-a7b3-08d95ddf6eb1
x-ms-traffictypediagnostic: MW4PR21MB2028:
x-ms-exchange-transport-forked: True
x-ld-processed: 72f988bf-86f1-41af-91ab-2d7cd011db47,ExtAddr
x-microsoft-antispam-prvs:
 <MW4PR21MB2028B1ACC85CCDF6566D1134D7F99@MW4PR21MB2028.namprd21.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:117;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 rYCsX8VbVeNt46iWhFLS4tEu4bZ6vGOyVOrXzwfFXEa9C2zdNglejIjknkYkMNpB75Pq/JMMaqvZemNeCkw9gNPD9xhI5WW3FdjJQcuano+1DydLGMMTAGEwC0uAV5ILEm0g9ueuBcjyG8yh7Cjk4KXI6T/aGw/r5WpxuBCvR//qLEAVg4dIEYVrlysffKg12N2BZr9U+tMn3wup5n+t1fO2QkDSII3Li2g96DCix88PnR8FxMLeC1DCENttV+hX1CLITuPiahEo25gA3bpX6ZyQEYzWLtIqnwb9nDW3JHdvZTMk53713ZEOiaqoGA5R90DZpL/jXy+o5/Zv+DPwIaIgjpBfDWmEY1xptO9FBaoBZYoMHgwlK2LfRp9cpWiD74WrsOj2/zeD1isdvAd4jHKQGtwoM/ockmlgQClExUlIDsXLxb33ltEt1MObeZF8enfQZILSBBEYN88xq/hqVX1YCHhdq2OT7AnTWn4uuS3pW284ByRFk64gC7kTgO5recx04A3f/kS3807qkn1xyJ+c9UASTLlFDt/hK2WVOYpk+HcXkHTnEpnm9CWnuj86x001T2nFlQuzywdw3P11jchWefHS3ISVMVbo7d2rWW/w/0ZYEXkuNCONdQCFHrO45XfnYDLmWfisV1XIKd9OulsAPgIO3ZyQWZsiIoWI8kwwBlZhoExj4L3lW8PA8rIdV5aD6d/29L4v7nFwkbHbtjDSkeYuHHSnD0mMpfYml9s=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR21MB1593.namprd21.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(52536014)(5660300002)(921005)(83380400001)(55016002)(9686003)(8936002)(54906003)(8676002)(110136005)(7406005)(8990500004)(86362001)(7416002)(186003)(508600001)(71200400001)(38070700005)(76116006)(122000001)(33656002)(10290500003)(26005)(66946007)(66556008)(66446008)(7696005)(64756008)(66476007)(38100700002)(53546011)(6506007)(82950400001)(4326008)(82960400001)(316002)(2906002);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?jPd7poM9icPyar8JZNozthl5E+U0PZQjtUnpBwt1F9Oxh8sG+TvjsI95qjoi?=
 =?us-ascii?Q?3jwCYkJmTBOGa5dKqBjvnRb/BdAgdJMXvf4TELBSVoMIaQcnF6SQOK1pTJ29?=
 =?us-ascii?Q?8xEKOCSloQzTvRO8koyXZK543bvUlKH8Sb8JYLL4Nim1+FBv07I1eFuFpNIm?=
 =?us-ascii?Q?AjKQCfw21C50JhyP+eF4CrTKnKbg/QG/Jj94VRwdIpgz4UAcTHRvFyugnw9a?=
 =?us-ascii?Q?RaOELwv65+rbr+UUSMf4DjVwTuztj9ZatbcswlUw08qo6hxT2yXkzwWrlmbU?=
 =?us-ascii?Q?m6dwxLRrpdo5IbmklZ8e/VVQPndy6Q4a/wR9C6camuukEOKD0f+UbSaGjhKU?=
 =?us-ascii?Q?CzWKPuvwwoPWnDvQksbruTe70NEOTW8HmdqCVnJ5USf/ZifaPgVR/+09S9Z6?=
 =?us-ascii?Q?gxY3l84uXHUsq4dxCOxTxnCUeZ0WFwlMBtTAR1XGzsR9krZ0mIoXUUIaWV3L?=
 =?us-ascii?Q?p6Q/c4OQsNvYGS9ts+czg30KxzwrEDofOi1l9mKJJiiMY46+TuukpNuO8Bow?=
 =?us-ascii?Q?FIOuo6Om12VhYNI7NyOObSKctSHBcUZpzPMwxLG0axXY+0KEdkrvL057CgJd?=
 =?us-ascii?Q?bgA6IXmvJbMVmiDJS/26I5jsZiJ55LPNVcYMowMjaDOKXWqozYbOe+CV6Wtx?=
 =?us-ascii?Q?0aQRvMy7b+y6DfKFDPW8sg1iQZzzLw6h7EwQus/mRANqMlQiVC2Ri6VegGpR?=
 =?us-ascii?Q?uSa6ODbyV7ui72Aw/m0lI2FIFKgnyGWzFtof5Pc9VwArqG3BsGNMZRaizws2?=
 =?us-ascii?Q?79P9PcaqATlJjKfQXdTxLR7TFrIjeoz2LDgiKAgiIwt4aVIDho9rWSGVB3id?=
 =?us-ascii?Q?LuI65ab3kjGtBK5dksxn6pQM8CMqqlb8SA0pXzaiaRjQ972bCWEi116PSCUh?=
 =?us-ascii?Q?cuAp9zYf4IEa27bgy07m3/OM7f8kuxQmzTCHgvNMp5sGYEUdKzQSG0UjV//C?=
 =?us-ascii?Q?5+bFk8WmodidqFYMaJJc01ZSqq+aiPaOQFtRpHDrp8YuCKU9aVZHAiD1t2bT?=
 =?us-ascii?Q?PMvDuHe9zpXfyZKLQ5XD6FZFDuwFYxY5jPx4+v1/7SmYVfQkXF3/2Ys+Eps/?=
 =?us-ascii?Q?2PP4wCinOCQm6LNSpTNMkanMsmJsqsaG6LHqPIEpRm6cl0A76+ZWXejC4ElN?=
 =?us-ascii?Q?EuPLHvk6Tj3Fu8hmE1kus6JFQvxQ9XREGwdjCV1cjQpXujcuZ4PWE5VfsxsB?=
 =?us-ascii?Q?XpRlLzWwlX4Lo6NyM7p6Yg2tHO1rVS4dBGwU11Hf3wLf33zfV/4Boe46BVol?=
 =?us-ascii?Q?bsro0xZoDwYqWiYnFkb1PdmxxB2WxvEf2GIDhVOWP8ED8dWdtjMCz7TrWT4K?=
 =?us-ascii?Q?q5+90GUPtowOZ1rbCTBKCIl2?=
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: MWHPR21MB1593.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f81e2ea8-e287-4a18-a7b3-08d95ddf6eb1
X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Aug 2021 22:20:46.2594
 (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: 0vZECvQwyCv58s0VsEIe1ffCd+2LLgWpfn4gbwYOfLDSCVl+IQ9EFpWSO/dP6dWVfk8yNB2x93MEAaenaaojtR5/qWNSqQKyzjGARfGDJJs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR21MB2028

From: Tianyu Lan <ltykernel@gmail.com> Sent: Monday, August 9, 2021 10:56 A=
M
> Subject: [PATCH V3 04/13] HV: Mark vmbus ring buffer visible to host in I=
solation VM
>=20

Use tag "Drivers: hv: vmbus:" in the Subject line.

> Mark vmbus ring buffer visible with set_memory_decrypted() when
> establish gpadl handle.
>=20
> Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
> ---
>  drivers/hv/channel.c   | 44 ++++++++++++++++++++++++++++++++++++++++--
>  include/linux/hyperv.h | 11 +++++++++++
>  2 files changed, 53 insertions(+), 2 deletions(-)
>=20
> diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c
> index f3761c73b074..4c4717c26240 100644
> --- a/drivers/hv/channel.c
> +++ b/drivers/hv/channel.c
> @@ -17,6 +17,7 @@
>  #include <linux/hyperv.h>
>  #include <linux/uio.h>
>  #include <linux/interrupt.h>
> +#include <linux/set_memory.h>
>  #include <asm/page.h>
>  #include <asm/mshyperv.h>
>=20
> @@ -465,7 +466,14 @@ static int __vmbus_establish_gpadl(struct vmbus_chan=
nel *channel,
>  	struct list_head *curr;
>  	u32 next_gpadl_handle;
>  	unsigned long flags;
> -	int ret =3D 0;
> +	int ret =3D 0, index;
> +
> +	index =3D atomic_inc_return(&channel->gpadl_index) - 1;
> +
> +	if (index > VMBUS_GPADL_RANGE_COUNT - 1) {
> +		pr_err("Gpadl handle position(%d) has been occupied.\n", index);
> +		return -ENOSPC;
> +	}
>=20
>  	next_gpadl_handle =3D
>  		(atomic_inc_return(&vmbus_connection.next_gpadl_handle) - 1);
> @@ -474,6 +482,13 @@ static int __vmbus_establish_gpadl(struct vmbus_chan=
nel *channel,
>  	if (ret)
>  		return ret;
>=20
> +	ret =3D set_memory_decrypted((unsigned long)kbuffer,
> +				   HVPFN_UP(size));
> +	if (ret) {
> +		pr_warn("Failed to set host visibility.\n");

Enhance this message a bit.  "Failed to set host visibility for new GPADL\n=
"
and also output the value of ret.

> +		return ret;
> +	}
> +
>  	init_completion(&msginfo->waitevent);
>  	msginfo->waiting_channel =3D channel;
>=20
> @@ -539,6 +554,10 @@ static int __vmbus_establish_gpadl(struct vmbus_chan=
nel *channel,
>  	/* At this point, we received the gpadl created msg */
>  	*gpadl_handle =3D gpadlmsg->gpadl;
>=20
> +	channel->gpadl_array[index].size =3D size;
> +	channel->gpadl_array[index].buffer =3D kbuffer;
> +	channel->gpadl_array[index].gpadlhandle =3D *gpadl_handle;
> +

I can see the merits of transparently stashing the memory address and size
that will be needed by vmbus_teardown_gpadl(), so that the callers of
__vmbus_establish_gpadl() don't have to worry about it.  But doing the
stashing transparently is somewhat messy.

Given that the callers are already have memory allocated to save the
GPADL handle, a little refactoring would make for a much cleaner solution.
Instead of having memory allocated for the 32-bit GPADL handle, callers
should allocate the slightly larger struct vmbus_gpadl that you've
defined below.  The calling interfaces can be updated to take a pointer
to this structure instead of a pointer to the 32-bit GPADL handle, and
you can save the memory address and size right along with the GPADL
handle.  This approach touches a few more files, but I think there are
only two callers outside of the channel management code -- netvsc
and hv_uio -- so it's not a big change.

>  cleanup:
>  	spin_lock_irqsave(&vmbus_connection.channelmsg_lock, flags);
>  	list_del(&msginfo->msglistentry);
> @@ -549,6 +568,13 @@ static int __vmbus_establish_gpadl(struct vmbus_chan=
nel *channel,
>  	}
>=20
>  	kfree(msginfo);
> +
> +	if (ret) {
> +		set_memory_encrypted((unsigned long)kbuffer,
> +				     HVPFN_UP(size));
> +		atomic_dec(&channel->gpadl_index);
> +	}
> +
>  	return ret;
>  }
>=20
> @@ -676,6 +702,7 @@ static int __vmbus_open(struct vmbus_channel *newchan=
nel,
>=20
>  	/* Establish the gpadl for the ring buffer */
>  	newchannel->ringbuffer_gpadlhandle =3D 0;
> +	atomic_set(&newchannel->gpadl_index, 0);
>=20
>  	err =3D __vmbus_establish_gpadl(newchannel, HV_GPADL_RING,
>  				      page_address(newchannel->ringbuffer_page),
> @@ -811,7 +838,7 @@ int vmbus_teardown_gpadl(struct vmbus_channel *channe=
l, u32 gpadl_handle)
>  	struct vmbus_channel_gpadl_teardown *msg;
>  	struct vmbus_channel_msginfo *info;
>  	unsigned long flags;
> -	int ret;
> +	int ret, i;
>=20
>  	info =3D kzalloc(sizeof(*info) +
>  		       sizeof(struct vmbus_channel_gpadl_teardown), GFP_KERNEL);
> @@ -859,6 +886,19 @@ int vmbus_teardown_gpadl(struct vmbus_channel *chann=
el, u32 gpadl_handle)
>  	spin_unlock_irqrestore(&vmbus_connection.channelmsg_lock, flags);
>=20
>  	kfree(info);
> +
> +	/* Find gpadl buffer virtual address and size. */
> +	for (i =3D 0; i < VMBUS_GPADL_RANGE_COUNT; i++)
> +		if (channel->gpadl_array[i].gpadlhandle =3D=3D gpadl_handle)
> +			break;
> +
> +	if (set_memory_encrypted((unsigned long)channel->gpadl_array[i].buffer,
> +			HVPFN_UP(channel->gpadl_array[i].size)))
> +		pr_warn("Fail to set mem host visibility.\n");

Enhance this message a bit: "Failed to set host visibility in GPADL teardow=
n\n".
Also output the returned error code to help in debugging any occurrences of
a failure.

> +
> +	channel->gpadl_array[i].gpadlhandle =3D 0;
> +	atomic_dec(&channel->gpadl_index);

Note that the array entry being cleared (index "i") may not
be the last used entry in the array, so decrementing the gpadl_index
might not have the right behavior.  But I'm pretty sure that all
GPADL's for a channel are freed in sequence with no intervening
allocations, so nothing actually breaks.  But this is one of the=20
messy areas with stashing the memory address and size transparently
to the caller.

> +
>  	return ret;
>  }
>  EXPORT_SYMBOL_GPL(vmbus_teardown_gpadl);
> diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
> index ddc8713ce57b..90b542597143 100644
> --- a/include/linux/hyperv.h
> +++ b/include/linux/hyperv.h
> @@ -803,6 +803,14 @@ struct vmbus_device {
>=20
>  #define VMBUS_DEFAULT_MAX_PKT_SIZE 4096
>=20
> +struct vmbus_gpadl {
> +	u32 gpadlhandle;
> +	u32 size;
> +	void *buffer;
> +};
> +
> +#define VMBUS_GPADL_RANGE_COUNT		3
> +
>  struct vmbus_channel {
>  	struct list_head listentry;
>=20
> @@ -823,6 +831,9 @@ struct vmbus_channel {
>  	struct completion rescind_event;
>=20
>  	u32 ringbuffer_gpadlhandle;
> +	/* GPADL_RING and Send/Receive GPADL_BUFFER. */
> +	struct vmbus_gpadl gpadl_array[VMBUS_GPADL_RANGE_COUNT];
> +	atomic_t gpadl_index;
>=20
>  	/* Allocated memory for ring buffer */
>  	struct page *ringbuffer_page;
> --
> 2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 13 01:22:48 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 01:22:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166611.304106 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mELu8-0007Hb-Ek; Fri, 13 Aug 2021 01:22:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166611.304106; Fri, 13 Aug 2021 01: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 1mELu8-0007HU-Bg; Fri, 13 Aug 2021 01:22:36 +0000
Received: by outflank-mailman (input) for mailman id 166611;
 Fri, 13 Aug 2021 01:22:34 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=OsaJ=NE=gmail.com=jandryuk@srs-us1.protection.inumbo.net>)
 id 1mELu6-0007HO-AW
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 01:22:34 +0000
Received: from mail-lf1-x12b.google.com (unknown [2a00:1450:4864:20::12b])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 1e197710-29b6-41b0-85d4-6545343c3076;
 Fri, 13 Aug 2021 01:22:33 +0000 (UTC)
Received: by mail-lf1-x12b.google.com with SMTP id n17so16932144lft.13
 for <xen-devel@lists.xenproject.org>; Thu, 12 Aug 2021 18: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: 1e197710-29b6-41b0-85d4-6545343c3076
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc;
        bh=wmrcw/N71vvTrVh1SBuD/Rt2CzlEcsATYPEQyLT0wfA=;
        b=ZmhhzW4a8yxGCjAx+VqFNb6EL3ZlmtwXeGmE/Uw86Y5Q6eIi4sbm7jtnFHTcxWeKIt
         PpKwjjNW5vn9vTOjTEaPsgSkUqUcjGRl2oVuqxObAYM4US69o4E8UcOT465SVIsSD8dG
         SrtOSeczp8pLgLGcVMlpyDKzKw9m6qkMju+/0PcdboZwkznNzoo7VQCyWKMawWCMmsxS
         btcuWo6F0dIxJ0FP4npsnguSAarSO1M7AyvKfmMSxL1e1ocKAcKH6YZ6VFzB/Iiy9htM
         HWoeN/oFpaIp+1Otu9Ars3B10+d7ZCkvkulxbeCh1mjmCrvNS2vy279rIHNLKf2I/KzW
         uLuQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=wmrcw/N71vvTrVh1SBuD/Rt2CzlEcsATYPEQyLT0wfA=;
        b=bdEpHkzcbs03gK9wz/vhw9hX1Y9OKQ2N5IOQjRe8NCUcAzCIiAkSz5QAO8OtWVg7NR
         L0ic3dJIe0RMC2mgk1wuUIlojjfqIrMkDfYBy/gIycxTj8ACeMjzMwFPs0HwWG3ZmsRQ
         vAjDeE5Js+XacZAG3FszIbnUsiFutvg9YBA0Td2n9155QJDbQtSudfbtRs8qokt++SJJ
         GBGySFBBAOBScdSUUMuWH528NROlh6V4OsrdrxaC0ET/EaNE68+2D7L0s49lCFOWD2G/
         d+xSYYWzFYDBvquQtlCro7xhVn8+caosyuSXEBFXEo+KIeICY8ydyuzJFG78BdNTTDL1
         AYGA==
X-Gm-Message-State: AOAM533z6zLYCEdYPyQm0uJpsyCCXXHTjJ/P+8yy71rtPwM/mcqcp/yQ
	DHCEv9gg9wIAvYWcZzjtYfWB0AH7YiehkPQ1QbY=
X-Google-Smtp-Source: ABdhPJwLnAggYhk4A3b7EkOUVe1xsF76XjE5UBObjnkwpVztezxRnCQIYes94gmTRXnQjLACcqZ5exETHmIlNIaGfO4=
X-Received: by 2002:ac2:4564:: with SMTP id k4mr3777767lfm.150.1628817751971;
 Thu, 12 Aug 2021 18:22:31 -0700 (PDT)
MIME-Version: 1.0
References: <20210812005700.3159-1-jandryuk@gmail.com> <30354256-4527-d909-8453-28dd384a35dc@suse.com>
 <24853.1026.39229.230658@mariner.uk.xensource.com>
In-Reply-To: <24853.1026.39229.230658@mariner.uk.xensource.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Thu, 12 Aug 2021 21:22:19 -0400
Message-ID: <CAKf6xptUu7hxfmGDWBd50Vy6rESiLvZdaum39YWZX3n0yasVyQ@mail.gmail.com>
Subject: Re: [PATCH v2] libxl: Fix stubdom PCI passthrough
To: Ian Jackson <iwj@xenproject.org>
Cc: Jan Beulich <jbeulich@suse.com>, Paul Durrant <pdurrant@amazon.com>, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, 
	xen-devel <xen-devel@lists.xenproject.org>
Content-Type: text/plain; charset="UTF-8"

On Thu, Aug 12, 2021 at 7:20 AM Ian Jackson <iwj@xenproject.org> wrote:
>
> Jan Beulich writes ("Re: [PATCH v2] libxl: Fix stubdom PCI passthrough"):
> > On 12.08.2021 02:57, Jason Andryuk wrote:
> > > commit 0fdb48ffe7a1 "libxl: Make sure devices added by pci-attach are
> > > reflected in the config" broken stubdom PCI passthrough when it moved
> > > libxl__create_pci_backend later in the function.  xl pci-attach for a
> > > running PV domain may also have been broken, but that was not verified.
> > >
> > > The stubdomain is running (!starting) and PV, so it calls
> > > libxl__wait_for_backend.  With the new placement of
> > > libxl__create_pci_backend, the path does not exist and the call
> > > immediately fails.
> > > libxl: error: libxl_device.c:1388:libxl__wait_for_backend: Backend /local/domain/0/backend/pci/43/0 does not exist
> > > libxl: error: libxl_pci.c:1764:device_pci_add_done: Domain 42:libxl__device_pci_add failed for PCI device 0:2:0.0 (rc -3)
> > > libxl: error: libxl_create.c:1857:domcreate_attach_devices: Domain 42:unable to add pci devices
> > >
> > > The wait is only relevant when the backend is already present.  num_devs
> > > is already used to determine if the backend needs to be created.  Re-use
> > > num_devs to determine if the backend wait is necessary.  The wait is
> > > necessary to avoid racing with another PCI attachment reconfiguring the
> > > front/back. If we are creating the backend, then we don't have to worry
> > > about a racing reconfigure.
> >
> > And why is such a race possible in the first place? If two independent
> > actions are permitted in parallel on a domain, wouldn't there better
> > be synchronization closer to the root of the call tree?

It is possible because pci front/back share the single xenstore state
node but have multiple sub-devices.    "The wait is necessary to avoid
racing with another PCI attachment reconfiguring the front/back" is my
determination after thinking through the code.  xl is poking at the
frontend and backend domains, which are running independently and
their state is not under xl's control.  Connected is the quiescent
state, so it makes sense to wait for it before switching to
Reconfigurating.  That was the old behavior which I am restoring.

> libxl does not have a per-domain lock that would prevent this kind of
> thing.  Individual operations that might malfunction if done
> concurrently are supposed to take appropriate precautions.
>
> I think that this patch is trying to be those precautions.  It's not
> clear to me whether it's correct, though.  I (or another mailntainer)
> will have to look at it properly...

Please do :)

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Fri Aug 13 02:33:45 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 02:33:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166616.304117 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEN0n-0005hd-Vy; Fri, 13 Aug 2021 02:33:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166616.304117; Fri, 13 Aug 2021 02: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 1mEN0n-0005hU-PD; Fri, 13 Aug 2021 02:33:33 +0000
Received: by outflank-mailman (input) for mailman id 166616;
 Fri, 13 Aug 2021 02:33:32 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=F9ox=NE=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mEN0l-0005hO-WE
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 02:33:32 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com (unknown
 [40.107.5.87]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id d82c9638-fbde-11eb-a247-12813bfff9fa;
 Fri, 13 Aug 2021 02:33:29 +0000 (UTC)
Received: from AM6PR10CA0049.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:209:80::26)
 by VI1PR0802MB2141.eurprd08.prod.outlook.com (2603:10a6:800:99::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Fri, 13 Aug
 2021 02:33:28 +0000
Received: from VE1EUR03FT045.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:80:cafe::30) by AM6PR10CA0049.outlook.office365.com
 (2603:10a6:209:80::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13 via Frontend
 Transport; Fri, 13 Aug 2021 02:33:27 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT045.mail.protection.outlook.com (10.152.19.51) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Fri, 13 Aug 2021 02:33:27 +0000
Received: ("Tessian outbound 6ba9ec11d42b:v103");
 Fri, 13 Aug 2021 02:33:27 +0000
Received: from c62b779bcd5c.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 D12B0596-396E-4B51-9084-09E579D8B577.1; 
 Fri, 13 Aug 2021 02:33:17 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c62b779bcd5c.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 13 Aug 2021 02:33:17 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB6PR08MB2872.eurprd08.prod.outlook.com (2603:10a6:6:24::33) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Fri, 13 Aug
 2021 02:33:15 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%6]) with mapi id 15.20.4415.019; Fri, 13 Aug 2021
 02:33:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d82c9638-fbde-11eb-a247-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sRy9fdmkwQoI6f2ZMyk9mX7UsReHdeE+mbBwUyJHijE=;
 b=MACb/G6tYqIu7i4nJcLUs7cJeit6bRK2uQe+llWAuGa59Nor5Rxv6vPbkzYV5QrpoHqW5cQ28TQlqvrtOSRMNL9rZTpljemfNm0wh6Ci0yItcuZH7p46UP8HoUXCHlNICCMoJexBEsq7GwwInFDezdbsR38DrTWzSWNr042sGLk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Y99+/DL5vnXpLGGoWGUpJuBKGj+cSIfYqxAhNLQAyKMpt2Xqez1Hzh0qt7AcBY8K4Zgxt7gWuEKsP9RCpeyVk7+q7sZSVErSNEez6bNeJClUaZpEPNjXrtBgzlQLm2z1VUaWX7TgPNGDz0Rdxp2M+K7QJjj7dlDrq326iGaJ+eJB1f9eQxGnSmxnOampMUYYtCLmhdr+G8yBBzaUX/Bo4vnB7NAzi2tbtD4BZDnhsE93RjuCiBblxhQAXAvz3z3flyuuGhxwo2jtjKTsj0WyDpqnM6eWmH3nOxUD0ZnZM3VpJpf/fO0yiFESO+bZzjTtvL6pWyRFwp7Rnkf+sKzN6g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sRy9fdmkwQoI6f2ZMyk9mX7UsReHdeE+mbBwUyJHijE=;
 b=oDiJm+PWY0BU+f7PZJQkaYTIbkMlZ9662e1DQfxsz1RZH7JUPOpMhSorSiPLG2paI8bLHYkWpG1Li440k+F7IuCCOIr6bk0bNhoIzFY7WutFb49Wcx+ZNkGy7kVLS/Hsl9Cec9GJVi6CXTH+BgzMYyPridT9kqPtsrri6UQAKdGSzpgk3Ctgy8Xzx/97fzgRPX2a9yb/i9i6MZPw6fMckpBoTjFtvtRswl5CwMZdAQZ/uTYaQUnaLJsY2bx1XOZD5E6QkdvmbhNPUKqrsPYz/sF8NFkC7iBMsWm8kWptPqdxXoaoKB4HtbJkc202zdRCV/Gp8kew5Vb2ky7fl2fsyw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sRy9fdmkwQoI6f2ZMyk9mX7UsReHdeE+mbBwUyJHijE=;
 b=MACb/G6tYqIu7i4nJcLUs7cJeit6bRK2uQe+llWAuGa59Nor5Rxv6vPbkzYV5QrpoHqW5cQ28TQlqvrtOSRMNL9rZTpljemfNm0wh6Ci0yItcuZH7p46UP8HoUXCHlNICCMoJexBEsq7GwwInFDezdbsR38DrTWzSWNr042sGLk=
From: Wei Chen <Wei.Chen@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>, "julien@xen.org" <julien@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: RE: [XEN RFC PATCH 00/40] Add device tree based NUMA support to Arm64
Thread-Topic: [XEN RFC PATCH 00/40] Add device tree based NUMA support to
 Arm64
Thread-Index: AQHXjpsd4nR+5Zr0JUK+Jd3HYcfrq6tuHbQAgAKaELA=
Date: Fri, 13 Aug 2021 02:33:15 +0000
Message-ID:
 <DB9PR08MB6857FD05AA5D73C8C59C9E419EFA9@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <bb62f56a-6023-58df-99ed-a4588c4d80b9@suse.com>
In-Reply-To: <bb62f56a-6023-58df-99ed-a4588c4d80b9@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 32DA4CF67AAB8848891395D352AA466E.0
x-checkrecipientchecked: true
Authentication-Results-Original: suse.com; dkim=none (message not signed)
 header.d=none;suse.com; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 312c94aa-14f0-43d0-9177-08d95e02bb72
x-ms-traffictypediagnostic: DB6PR08MB2872:|VI1PR0802MB2141:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR0802MB21419B7C61FABEB3C6F034EF9EFA9@VI1PR0802MB2141.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 RJIpTbnJPc+pVoWGwsjSvJIGATw3R21QAtuNG3bZcjcVaA86diOW7y6sY8/bqW9lDKI0zkM1vNQsVaGAXSgqLKurI1ojCRJtDgvz4nZ5OJKjMzF9u8gVAfU9JmYoQJVcKzm4s/8zRn1sqycBiOQGROul+DB5eGg6MKxqAGGe5/HS2+l7OHaHHPjWdldFggGjKPYEgQAVTT62ZdHNnptusDkMMx5caw8bOwexUM0H3r8Iovh4+W4f8LzEHVUcJEqqdr+nbHoktBkS/ymVUJPH0+v46JDG942mzovGlGj4gve2NZefDbJvekTGfwBlD8+XYyKoy2x2AmCLYSfM3GHFxRFZNqSG5p0yHoIPJOgK6xR1noDjCldV45xxEQX22GTVQgkncMxIO2Gxq4Md6W+cWDEjBhNyDmFGdKBM19nD3qhuXfZ/SnB//y/bZbkbdhzXY0A9PVW3ngEnuGG8tseVw/195b2nqbtf2g4diE81bv51vn33Hc85ptC4aovnI/CWUlnlz31Q61mEarPBi0LGH9StGxweG02X4eAj7wBI4F+wirqj6Uqq3aAVvQKjkyu/gzNFm5DNOg9/VWo8gWhwzq5Z68tpcZeHmGHjRom5B6n2vo3OKqIi2spIojFAoBsqXKQUBs5tOCX2G/NPiB8DGojTi+A2HzJt80sT79dixYqdXsCiZIdrhdBQGVSzabiQSi30HR/lNg/kDIAVpM/Grw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(39850400004)(396003)(376002)(346002)(136003)(122000001)(55016002)(66556008)(6506007)(53546011)(186003)(38100700002)(4326008)(8936002)(33656002)(7696005)(66446008)(2906002)(86362001)(9686003)(26005)(66476007)(76116006)(8676002)(66946007)(71200400001)(64756008)(54906003)(6916009)(83380400001)(316002)(478600001)(52536014)(5660300002)(38070700005);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?NmYrWlU1dExCdVZwNkFaT3ptRzY3N0RtejFxM1RJQnl5R0t4UkNJTllIRTF0?=
 =?utf-8?B?MzFLMWQ4ODR5NGZuMkFDRGpmbmZHdFd2aGs5dnlTTGFsMExUZjc5SEZweHcw?=
 =?utf-8?B?TU4xVUpNcVRaemRoeWdVUHVrNkUyY3VETHF1VTBBeHplTTNleWpHL3lwL2tR?=
 =?utf-8?B?aDJ4dkR4eDJMZ1gwZzBRVEZSUm9SMFFycG5ldCtNdkU4WWlvZVg2NUNlU2tk?=
 =?utf-8?B?dGdjUzVFZFlXbmt5RGEvay9yUnFrOVpBT3dCbkt0SjcwVStIcE1YNmhGSmdn?=
 =?utf-8?B?b0QrbjBCZi9ZV0I5a1p5NzVwVXpjR3UwNmhFbGt2bE5uVWExUHpCOUxjMDZX?=
 =?utf-8?B?Y1VRR25jSVFNcVN0c0N3TTJyV3hMcEZvRVE0TnE3Rm9jR2lDU2l2MW8ySGdw?=
 =?utf-8?B?N0tDbWtHN2Zwdzd0RXZsdk8xZlQ2L2t2bXVEU28xZEQvcnlIN2dSdXh3ZHR2?=
 =?utf-8?B?N1YrWTZ6VU4yOVB3VkZJWjhJNTdoVitOVFh6TFZzbFZ3MVNsV3lweHM2R1Nk?=
 =?utf-8?B?SEU5RTgxUGFXRVdDSVNZcWE0cURxb1JiT1N6OWFGZUJUTDk0dUxOWTdZaStx?=
 =?utf-8?B?MEJtMGFTeFpsVnNzUHZqd1RHZ2krMXlCTzBuZ2xsUVdOMG1nRWllNEtaK3Fj?=
 =?utf-8?B?UjBWRXZ2UElzZ2tRc2VQZDJqdGNoM24ydjNxU3lYY0pwblM3RGt2ZlJqaHI2?=
 =?utf-8?B?YkczektGTmpHbGd3SzJIb0dkUGdyem1rTktldVArWjZDbER4RW8wQUh0a0lJ?=
 =?utf-8?B?ZXpPWVlLL1JoNUtxNUpTNWo1ekZpOU10d1NGSnFCbis4WjUzN1hjczFTa2Jv?=
 =?utf-8?B?Y1JSSWgvZE5MMUkweWFwNFBqL0x4Sml1b1czYzVUY2dhQ2QvdEpRbWJxQUZz?=
 =?utf-8?B?eWtkU1Zkc1Z6QWJyYnY2TWZYaitmU29CZVF3dXluZFFxQnVSYVBNTnUvZkxi?=
 =?utf-8?B?WnpKWTlrQk9wMUtURElQTkFlQnh0a1BhNVppQnV0YWRyUCtYNmZMNER2QmVF?=
 =?utf-8?B?L3gwNG45VVZEcjFCU0R3WVBNWGkyb1NSOEYzL3pkUkd1bm5oaGVLNzZxejdm?=
 =?utf-8?B?aEpvYjNsZzlOU0Q5aWp6RFJOZTRkTno5dTNtOWE5d3I3NEdpWm9DaTV2UnlY?=
 =?utf-8?B?bW1WYnp6c1lFT05BV2ZCMUNZRlVjRHZRMmt0M1JxVEptbU9SOWxsTGNtSGFj?=
 =?utf-8?B?UFZJajdaK0FvZ3RoMTNnbTNYZFI5R1lYMjE1MEZwcWc4Uy93STY1dy93NDVx?=
 =?utf-8?B?MHBSS1pzb2lPOVR2L09Cc1NDdDhTUGtndGxOcHYwZTgvdnBTWUNPclpsTjcy?=
 =?utf-8?B?TkQ4OUwwVVQ2Q1RIL2ZPTS9NVC9STEtYYXVyZ3FLcnNsTmlNeUY4SXU1RTU5?=
 =?utf-8?B?WjdLVmRkWVlraUcxNnZDOVZVdFZFMzVvSmZQbVNacldSQTIwYXBBbGoyTFI5?=
 =?utf-8?B?T2RUL0UzWFNZbDFkbmp4UkZ1VytPaGl1d0ZwSXR5NE83UU9ldDlhTDFOY2Nn?=
 =?utf-8?B?L2djQzUwRU9TQVpUemQxbUpqbFhrck9JbzdVTEhjcjc3TXNiak9NU00wdHMv?=
 =?utf-8?B?Y0xYUnBBRiticEtJcVVCeERWUUlXU3lsUUFiSndnMEtXSEJ4MUUvQ2hmT1d1?=
 =?utf-8?B?dkhydS9kQWhpUmM4MUcxR2VZUVZTcDh6UG5ZaTJMN1JIVDlxV1M4dDB3eGhP?=
 =?utf-8?B?bDNyK2ZVV1pKblQvLzRNS2JYeHorY2FFQW42MmJBYWg0MGdYR3U5ZXBDbjQ4?=
 =?utf-8?Q?d+k7lDbmQ5oXGUfRTY=3D?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR08MB2872
Original-Authentication-Results: suse.com; dkim=none (message not signed)
 header.d=none;suse.com; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT045.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	051bf2ca-e7d0-42fb-c807-08d95e02b413
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Deok13j70nhLdHZpIJ/cadMBfM9O6h8paj/6BVyd88EEe4MFeinPd4xyxm+f8yKOZw+AsjBjZ/m0uJ/P1sJCv1r+vt0owOYf+utsgmjJ/sDBowXtaaKIqlvVbHBp3aW12cK2bOez9FVl+DODrHMvopQJX401/jgzw9OZA48LpYDguNgzmKXG98DnigxdxAcTxW2wQVNr11myZPwxZy5kJ/IRuRQnp/Vz04kf0w5tIlRMKoxjEUsKa+cTbp7cTL6L2KN4jI7FvwyV0zsg5ZF3gxcw473ndEzoF3UIaMkv5S3muJrzIr9rprZL0G/TXAE29dKJE2Rfjd3HezVD8KTeQma5TcuuijAP0ygk1PStIU/5oTiT3d3GZkkqgSpxFekSPLlUsbOF9W95TChFntknhulwALULYyp+owYdnE2ba19PDJcyyMyUOmBWXAn5v0opkrNY+yA2+Ph4hH9uBEHZPboKxxG2NtUQzXW3+9Roa+qV6nP0rUyMdcYaKYeUvQdbmDZ56uHq1TX2pJ5mHdyPlU3UmIOIskxKI/hQoarxm5Nk5jMAgTlk+Q39bTBDgxWsgyLGjszmBJjihpBYzraVHr48AJHrsBx/wZ3+qgZ16p+IA9LrFpHw2VKMjV7mHsg7dUY+whdMocdQ+B3b7r/Q9ouHqXFp6bSPb9/e1zUPCXeJ2vB37X9P6QrwvTpFN3fb4CTRUCEIPt6Ql7hHdW+Z0w==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(39850400004)(396003)(346002)(136003)(376002)(46966006)(36840700001)(55016002)(316002)(36860700001)(47076005)(54906003)(9686003)(70206006)(6506007)(7696005)(186003)(70586007)(26005)(478600001)(53546011)(8936002)(82310400003)(5660300002)(52536014)(356005)(82740400003)(8676002)(86362001)(83380400001)(81166007)(33656002)(4326008)(336012)(6862004)(2906002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2021 02:33:27.6289
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 312c94aa-14f0-43d0-9177-08d95e02bb72
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT045.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0802MB2141

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMeW5tDjmnIgxMeaXpSAxODo0Mg0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiBCZXJ0cmFuZCBNYXJxdWlz
IDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+OyBzc3RhYmVsbGluaUBrZXJuZWwub3JnOw0KPiBq
dWxpZW5AeGVuLm9yZzsgeGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnDQo+IFN1YmplY3Q6
IFJlOiBbWEVOIFJGQyBQQVRDSCAwMC80MF0gQWRkIGRldmljZSB0cmVlIGJhc2VkIE5VTUEgc3Vw
cG9ydCB0bw0KPiBBcm02NA0KPiANCj4gT24gMTEuMDguMjAyMSAxMjoyMywgV2VpIENoZW4gd3Jv
dGU6DQo+ID4gSG9uZ2RhIERlbmcgKDIpOg0KPiA+ICAgeGVuL2FybTogcmV0dXJuIGRlZmF1bHQg
RE1BIGJpdCB3aWR0aCB3aGVuIHBsYXRmb3JtIGlzIG5vdCBzZXQNCj4gPiAgIHhlbi9hcm06IEZp
eCBsb3dtZW1fYml0c2l6ZSB3aGVuIGFyY2hfZ2V0X2RtYV9iaXRzaXplIHJldHVybiAwDQo+ID4N
Cj4gPiBXZWkgQ2hlbiAoMzgpOg0KPiA+ICAgdG9vbHM6IEZpeCAtV2Vycm9yPW1heWJlLXVuaW5p
dGlhbGl6ZWQgZm9yIHhsdV9wY2lfcGFyc2VfYmRmDQo+ID4gICB4ZW4vYXJtOiBQcmludCBhIDY0
LWJpdCBudW1iZXIgaW4gaGV4IGZyb20gZWFybHkgdWFydA0KPiA+ICAgeGVuL3g4NjogSW5pdGlh
bGl6ZSBtZW1ub2RlbWFwc2l6ZSB3aGlsZSBmYWtpbmcgTlVNQSBub2RlDQo+ID4gICB4ZW46IGRl
Y291cGxlIE5VTUEgZnJvbSBBQ1BJIGluIEtjb25maWcNCj4gPiAgIHhlbi9hcm06IHVzZSAhQ09O
RklHX05VTUEgdG8ga2VlcCBmYWtlIE5VTUEgQVBJDQo+ID4gICB4ZW4veDg2OiBNb3ZlIE5VTUEg
bWVtb3J5IG5vZGUgbWFwIGZ1bmN0aW9ucyB0byBjb21tb24NCj4gPiAgIHhlbi94ODY6IE1vdmUg
bnVtYV9hZGRfY3B1X25vZGUgdG8gY29tbW9uDQo+ID4gICB4ZW4veDg2OiBNb3ZlIE5SX05PREVf
TUVNQkxLUyBtYWNybyB0byBjb21tb24NCj4gPiAgIHhlbi94ODY6IE1vdmUgTlVNQSBub2RlcyBh
bmQgbWVtb3J5IGJsb2NrIHJhbmdlcyB0byBjb21tb24NCj4gPiAgIHhlbi94ODY6IE1vdmUgbnVt
YV9pbml0bWVtX2luaXQgdG8gY29tbW9uDQo+ID4gICB4ZW4vYXJtOiBpbnRyb2R1Y2UgbnVtYV9z
ZXRfbm9kZSBmb3IgQXJtDQo+ID4gICB4ZW4vYXJtOiBzZXQgTlVNQSBub2RlcyBtYXggbnVtYmVy
IHRvIDY0IGJ5IGRlZmF1bHQNCj4gPiAgIHhlbi94ODY6IG1vdmUgTlVNQSBBUEkgZnJvbSB4ODYg
aGVhZGVyIHRvIGNvbW1vbiBoZWFkZXINCj4gPiAgIHhlbi9hcm06IENyZWF0ZSBhIGZha2UgTlVN
QSBub2RlIHRvIHVzZSBjb21tb24gY29kZQ0KPiA+ICAgeGVuL2FybTogSW50cm9kdWNlIERFVklD
RV9UUkVFX05VTUEgS2NvbmZpZyBmb3IgYXJtNjQNCj4gPiAgIHhlbi9hcm06IEtlZXAgbWVtb3J5
IG5vZGVzIGluIGR0YiBmb3IgTlVNQSB3aGVuIGJvb3QgZnJvbSBFRkkNCj4gPiAgIHhlbjogZmR0
OiBJbnRyb2R1Y2UgYSBoZWxwZXIgdG8gY2hlY2sgZmR0IG5vZGUgdHlwZQ0KPiA+ICAgeGVuL2Fy
bTogaW1wbGVtZW50IG5vZGUgZGlzdGFuY2UgaGVscGVycyBmb3IgQXJtNjQNCj4gPiAgIHhlbi9h
cm06IGludHJvZHVjZSBkZXZpY2VfdHJlZV9udW1hIGFzIGEgc3dpdGNoIGZvciBkZXZpY2UgdHJl
ZSBOVU1BDQo+ID4gICB4ZW4vYXJtOiBpbnRyb2R1Y2UgYSBoZWxwZXIgdG8gcGFyc2UgZGV2aWNl
IHRyZWUgcHJvY2Vzc29yIG5vZGUNCj4gPiAgIHhlbi9hcm06IGludHJvZHVjZSBhIGhlbHBlciB0
byBwYXJzZSBkZXZpY2UgdHJlZSBtZW1vcnkgbm9kZQ0KPiA+ICAgeGVuL2FybTogaW50cm9kdWNl
IGEgaGVscGVyIHRvIHBhcnNlIGRldmljZSB0cmVlIE5VTUEgZGlzdGFuY2UgbWFwDQo+ID4gICB4
ZW4vYXJtOiB1bmlmaWVkIGVudHJ5IHRvIHBhcnNlIGFsbCBOVU1BIGRhdGEgZnJvbSBkZXZpY2Ug
dHJlZQ0KPiA+ICAgeGVuL2FybTogQWRkIGJvb3QgYW5kIHNlY29uZGFyeSBDUFUgdG8gTlVNQSBz
eXN0ZW0NCj4gPiAgIHhlbi9hcm06IGJ1aWxkIENQVSBOVU1BIG5vZGUgbWFwIHdoaWxlIGNyZWF0
aW5nIGNwdV9sb2dpY2FsX21hcA0KPiA+ICAgeGVuL3g4NjogZGVjb3VwbGUgbm9kZXNfY292ZXJf
bWVtb3J5IHdpdGggRTgyMCBtYXANCj4gPiAgIHhlbi9hcm06IGltcGxlbWVudCBBcm0gYXJjaCBo
ZWxwZXJzIEFybSB0byBnZXQgbWVtb3J5IG1hcCBpbmZvDQo+ID4gICB4ZW46IG1vdmUgTlVNQSBt
ZW1vcnkgYW5kIENQVSBwYXJzZWQgbm9kZW1hc2tzIHRvIGNvbW1vbg0KPiA+ICAgeGVuL3g4Njog
bW92ZSBub2Rlc19jb3Zlcl9tZW1vcnkgdG8gY29tbW9uDQo+ID4gICB4ZW4veDg2OiBtYWtlIGFj
cGlfc2Nhbl9ub2RlcyB0byBiZSBuZXV0cmFsDQo+ID4gICB4ZW46IGV4cG9ydCBiYWRfc3JhdCBh
bmQgc3JhdF9kaXNhYmxlZCB0byBleHRlcm4NCj4gPiAgIHhlbjogbW92ZSBudW1hX3NjYW5fbm9k
ZXMgZnJvbSB4ODYgdG8gY29tbW9uDQo+ID4gICB4ZW46IGVuYWJsZSBudW1hX3NjYW5fbm9kZXMg
Zm9yIGRldmljZSB0cmVlIGJhc2VkIE5VTUENCj4gPiAgIHhlbi9hcm06IGtlZXAgZ3Vlc3Qgc3Rp
bGwgYmUgTlVNQSB1bndhcmUNCj4gPiAgIHhlbjogaW50cm9kdWNlIGFuIGFyY2ggaGVscGVyIHRv
IGRvIE5VTUEgaW5pdCBmYWlsZWQgZmFsbGJhY2sNCj4gPiAgIHhlbi9hcm06IGVuYWJsZSBkZXZp
Y2UgdHJlZSBiYXNlZCBOVU1BIGluIHN5c3RlbSBpbml0DQo+ID4gICB4ZW4veDg2OiBtb3ZlIG51
bWFfc2V0dXAgdG8gY29tbW9uIHRvIHN1cHBvcnQgTlVNQSBzd2l0Y2ggaW4gY29tbWFuZA0KPiA+
ICAgICBsaW5lDQo+ID4gICB4ZW4veDg2OiBtb3ZlIGR1bXBfbnVtYSBpbmZvIGhvdGtleSB0byBj
b21tb24NCj4gDQo+IE1heSBJIHBsZWFzZSBhc2sgdGhhdCB5b3UgZm9sbG93IHBhdGNoIHN1Ym1p
c3Npb24gZ3VpZGVsaW5lcywgaW4gdGhhdA0KPiB5b3Ugc2VuZCBwYXRjaGVzIFRvOiB0aGUgbGlz
dCBhbmQgQ2M6IHJlbGV2YW50IHBlb3BsZS4gRnVydGhlcm1vcmUgSQ0KPiBkb3VidCB0aGF0IEkg
bmVlZCB0byBiZSBvbiBDYzogZm9yIGFsbCA0MCBvZiB0aGUgcGF0Y2hlcy4NCj4gDQoNClRoYW5r
cyBmb3IgeW91ciByZW1pbmRlci4gQmVmb3JlIEkgc2VudCB0aGlzIHNlcmllcywgSSBoYWQgcGFp
ZA0Kc29tZXRpbWUgdG8gY29uc2lkZXIgQ0Mgb3IgVE8geW91LCBJIGZvdW5kIHlvdSBhcmUgaW4g
dGhlIFg4NiBBcmNoLA0KeDg2IG1lbW9yeSBtYW5hZ2VtZW50IG1haW50YWluZXIgbGlzdHMuIEFu
ZCBpbiB0aGlzIHBhdGNoIHNlcmllcywNCkkgaGF2ZSBkb25lIHNvbWUgY2hhbmdlcyB0aGF0IGFm
ZmVjdHMgeDg2LCBzbyBJIGFkZGVkIHlvdSBpbiBUTyBsaXN0Lg0KT2J2aW91c2x5LCBteSB1bmRl
cnN0YW5kaW5nIGhhZCBzb21lIG1pc3Rha2UuIEkgd2lsbCBhZGQgeW91IHRvIENDDQpsaXN0IGlu
IG5leHQgdmVyc2lvbi4NCg0KPiBUaGFua3MgYW5kIHJlZ2FyZHMsDQo+IEphbg0KDQo=


From xen-devel-bounces@lists.xenproject.org Fri Aug 13 03:22:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 03:22:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166621.304128 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mENmX-0002A3-LG; Fri, 13 Aug 2021 03:22:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166621.304128; Fri, 13 Aug 2021 03:22:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mENmX-00029w-IG; Fri, 13 Aug 2021 03:22:53 +0000
Received: by outflank-mailman (input) for mailman id 166621;
 Fri, 13 Aug 2021 03:22: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 1mENmV-00029m-P9; Fri, 13 Aug 2021 03:22: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 1mENmV-0003be-I4; Fri, 13 Aug 2021 03:22: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 1mENmV-0002Dd-5M; Fri, 13 Aug 2021 03:22:51 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mENmV-0008Ja-4G; Fri, 13 Aug 2021 03:22:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=0xwMM+ANYVT55kL2SiAHCaLGt1dSHg+raCZokDFkYuY=; b=NZeEGbxi7mzohUUqMa+9mwLB5F
	t23g92FBHjh27is0fFOOluBPrAsfrQ/bP+EFG68KBM0uzWPOAZNRNYdfX+ap3xfrieQAZ9RM4+ngt
	ApHlhUFKxLvZcEvaKfjTftMWNC4oDnLfiFTPuecmumpUP5vJ3gfnQJy8C4lApKyz7wjI=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164170-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 164170: trouble: broken/fail/pass
X-Osstest-Failures:
    linux-5.4:test-armhf-armhf-xl-arndale:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-multivcpu:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-vhd:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-arndale:host-install(5):broken:regression
    linux-5.4:test-armhf-armhf-xl-multivcpu:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-vhd:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check: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-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check: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-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-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-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-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1: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-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-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-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=a998faa9c4cee7dc68f3f6f82be93bbb99dda322
X-Osstest-Versions-That:
    linux=e350cd02e293be9a6b93398b2d3ff1edf7695ab2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 13 Aug 2021 03:22:51 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl-arndale     <job status>                 broken
 test-armhf-armhf-xl-multivcpu    <job status>                 broken
 test-armhf-armhf-xl-vhd         <job status>                 broken
 test-armhf-armhf-xl-arndale   5 host-install(5)        broken REGR. vs. 164131

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-multivcpu  5 host-install(5)         broken pass in 164167
 test-armhf-armhf-xl-vhd       5 host-install(5)          broken pass in 164167

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check fail in 164167 never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check fail in 164167 never pass
 test-armhf-armhf-xl-vhd     14 migrate-support-check fail in 164167 never pass
 test-armhf-armhf-xl-vhd 15 saverestore-support-check fail in 164167 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164131
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 164131
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 164131
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164131
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164131
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164131
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 164131
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164131
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 164131
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164131
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164131
 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-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-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-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                a998faa9c4cee7dc68f3f6f82be93bbb99dda322
baseline version:
 linux                e350cd02e293be9a6b93398b2d3ff1edf7695ab2

Last test of basis   164131  2021-08-08 07:11:59 Z    4 days
Testing same since   164167  2021-08-12 11:47:56 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex Xu (Hello71) <alex_y_xu@yahoo.ca>
  Alexander Monakov <amonakov@ispras.ru>
  Alexander Tsoy <alexander@tsoy.me>
  Alexei Starovoitov <ast@kernel.org>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Anirudh Rayabharam <mail@anirudhrb.com>
  Antoine Tenart <atenart@kernel.org>
  Arnd Bergmann <arnd@arndb.de>
  Bartosz Golaszewski <bgolaszewski@baylibre.com>
  Brian Norris <briannorris@chromium.org>
  Catalin Marinas <catalin.marinas@arm.com>
  Chanho Park <chanho61.park@samsung.com>
  chihhao.chen <chihhao.chen@mediatek.com>
  Christoph Hellwig <hch@lst.de>
  Colin Ian King <colin.king@canonical.com>
  Dan Carpenter <dan.carpenter@oracle.com>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniele Palmas <dnlplm@gmail.com>
  Dario Binacchi <dariobin@libero.it>
  David Bauer <mail@david-bauer.net>
  David S. Miller <davem@davemloft.net>
  Dmitry Osipenko <digetx@gmail.com>
  Dominik Brodowski <linux@dominikbrodowski.net>
  Dongliang Mu <mudongliangabcd@gmail.com>
  Eero Lehtinen <debiangamer2@gmail.com>
  Fei Qin <fei.qin@corigine.com>
  Felipe Balbi <balbi@kernel.org>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Gregory CLEMENT <gregory.clement@bootlin.com>
  Guenter Roeck <linux@roeck-us.net>
  Guido Kiener <guido.kiener@rohde-schwarz.com>
  Guoqing Jiang <jiangguoqing@kylinos.cn>
  H. Nikolaus Schaller <hns@goldelico.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Hervé Codina <herve.codina@bootlin.com>
  Hui Su <suhui@zeku.com>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jan Kara <jack@suse.cz>
  Jarkko Sakkinen <jarkko@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jens Wiklander <jens.wiklander@linaro.org>
  Johan Hovold <johan@kernel.org>
  Johannes Berg <johannes.berg@intel.com>
  Jon Hunter <jonathanh@nvidia.com>
  Juergen Borleis <jbe@pengutronix.de>
  Kieran Bingham <kieran.bingham@ideasonboard.com>
  Kim Phillips <kim.phillips@amd.com>
  Letu Ren <fantasquex@gmail.com>
  Li Manyi <limanyi@uniontech.com>
  Liam Merwick <liam.merwick@oracle.com>
  Like Xu <likexu@tencent.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Louis Peens <louis.peens@corigine.com>
  Luis Chamberlain <mcgrof@kernel.org>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Maciej W. Rozycki <macro@orcam.me.uk>
  Marek Vasut <marex@denx.de>
  Mario Kleiner <mario.kleiner.de@gmail.com>
  Mark Brown <broonie@kernel.org>
  Mark Rutland <mark.rutland@arm.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Matt Turner <mattst88@gmail.com>
  Matteo Croce <mcroce@microsoft.com>
  Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
  Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Maxim Devaev <mdevaev@gmail.com>
  Maxime Chevallier <maxime.chevallier@bootlin.com>
  Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Pali Rohár <pali@kernel.org>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Skripkin <paskripkin@gmail.com>
  Pawel Laszczak <pawell@cadence.com>
  Peter Chen <peter.chen@kernel.org>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Phil Elwell <phil@raspberrypi.com>
  Prarit Bhargava <prarit@redhat.com>
  Qiang.zhang <qiang.zhang@windriver.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Sasha Levin <sashal@kernel.org>
  Sean Christopherson <seanjc@google.com>
  Sean Young <sean@mess.org>
  Sebastian Andrzej Siewior <bigeasy@linutronix.de>
  Shawn Guo <shawnguo@kernel.org>
  Shreyansh Chouhan <chouhan.shreyansh630@gmail.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Song Liu <song@kernel.org>
  Stas Sergeev <stsp2@yandex.ru>
  Stephen Boyd <sboyd@kernel.org>
  Steve Bennett <steveb@workware.net.au>
  Steven Rostedt (VMware) <rostedt@goodmis.org>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  syzbot+de271708674e2093097b@syzkaller.appspotmail.com
  Takashi Iwai <tiwai@suse.de>
  Tejun Heo <tj@kernel.org>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Theodore Ts'o <tytso@mit.edu>
  Thierry Reding <treding@nvidia.com>
  Thomas Gleixner <tglx@linutronix.de>
  Tony Lindgren <tony@atomide.com>
  Tyler Hicks <tyhicks@linux.microsoft.com>
  Vinod Koul <vkoul@kernel.org>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Wang Hai <wanghai38@huawei.com>
  Wei Shuyu <wsy@dogben.com>
  Will Deacon <will@kernel.org>
  Willy Tarreau <w@1wt.eu>
  Xiangyang Zhang <xyz.sun.ok@gmail.com>
  Xin Long <lucien.xin@gmail.com>
  Yang Yingliang <yangyingliang@huawei.com>
  Yu Kuai <yukuai3@huawei.com>
  Zheyu Ma <zheyuma97@gmail.com>
  Zhiyong Tao <zhiyong.tao@mediatek.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  broken  
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                broken  
 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-amd64-pvgrub                                pass    
 test-amd64-amd64-i386-pvgrub                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      broken  


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

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

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

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

broken-job test-armhf-armhf-xl-arndale broken
broken-job test-armhf-armhf-xl-multivcpu broken
broken-job test-armhf-armhf-xl-vhd broken
broken-step test-armhf-armhf-xl-arndale host-install(5)
broken-step test-armhf-armhf-xl-multivcpu host-install(5)
broken-step test-armhf-armhf-xl-vhd host-install(5)
broken-job test-armhf-armhf-xl-arndale broken

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Fri Aug 13 05:11:06 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 05:11:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166628.304142 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEPT1-000406-My; Fri, 13 Aug 2021 05:10:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166628.304142; Fri, 13 Aug 2021 05: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 1mEPT1-0003zz-Jq; Fri, 13 Aug 2021 05:10:51 +0000
Received: by outflank-mailman (input) for mailman id 166628;
 Fri, 13 Aug 2021 05:10:50 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fUGX=NE=linaro.org=takahiro.akashi@srs-us1.protection.inumbo.net>)
 id 1mEPT0-0003zt-CS
 for xen-devel@lists.xen.org; Fri, 13 Aug 2021 05:10:50 +0000
Received: from mail-pl1-x62b.google.com (unknown [2607:f8b0:4864:20::62b])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 1e4eb541-7f29-47ee-b1d0-0e04e3daf6d1;
 Fri, 13 Aug 2021 05:10:46 +0000 (UTC)
Received: by mail-pl1-x62b.google.com with SMTP id e19so10338131pla.10
 for <xen-devel@lists.xen.org>; Thu, 12 Aug 2021 22:10:46 -0700 (PDT)
Received: from laputa (pdb6272e8.tkyea130.ap.so-net.ne.jp. [219.98.114.232])
 by smtp.gmail.com with ESMTPSA id g19sm475037pjl.25.2021.08.12.22.10.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 12 Aug 2021 22:10: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: 1e4eb541-7f29-47ee-b1d0-0e04e3daf6d1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=date:from:to:cc:subject:message-id:references:mime-version
         :content-disposition:content-transfer-encoding:in-reply-to;
        bh=uDve4X7h8e8+uUqd0ZdOH0jv/o3f2LQrqEakHw/ja08=;
        b=TB/x0SMvGRKPYfx1/6yzgN0De41ffm8XOyPB8zlAoEwQAiejjn3/2NwiLRHC6THP5L
         zI5GYwAfCZ9A46FUZnkZ4X3hr3p3HHxykfjZyR/gs7lcBErQ9zjV2u1bYMSi084uWeUV
         lRbpQ/g5rnGHhSnvp5ROkllQRhABt3w8nru6n4KvvIOtppTDsdw4AGAyuhZt6/h6NVev
         neJsp4LugUF4hmd/prqZDOj3DX/tce5/YswRb5LCVGIh/Rx5F/q3oubrFIOpyYt7MJYY
         DOQ/znqdcEyL9lBAcK8QxkgUyVv1cFY+XSGQgzaw7MrLeZcjRsfdBHGY3gpwjak4boy+
         Spiw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:date:from:to:cc:subject:message-id:references
         :mime-version:content-disposition:content-transfer-encoding
         :in-reply-to;
        bh=uDve4X7h8e8+uUqd0ZdOH0jv/o3f2LQrqEakHw/ja08=;
        b=o0Z9rMJNXX2MmGX9/pgnFdrTxhF3PmBwfwJ/1Zo5nLeMUGa6NhuZm+QhiGPKgIGdr8
         E32mv1WyybS139wEwb8BdaLf0NiMLSOeMDzBlJv843OybBIpzXh8SgtDj4oekY85XD/w
         +N8TILPg45ZNc4t0Se56kqB2I9lQHTBLDXBSMxE4anWri4yFtqUAVCckJqkQ0Nl/5qvJ
         OU1CvPNSdI1vH3lI4O+5uPdPnqxLFiyNU1syripqTjSMalH/n7QCVFC0KxzP9LSFhmVS
         3pbUWA5NmbBQZLZAbZ66jYbojKoiG1jwdjPZ/bSPnYWaB5wy+ZjVdr3Xin83as7WemOx
         WdGg==
X-Gm-Message-State: AOAM5333bqFfGDJw0ZHzdNPAcD0BLzKy4hOlrfNUau0pShQ3e5nEuuDa
	sZtiR3TXh3FpLrfsnT28UJn5Qw==
X-Google-Smtp-Source: ABdhPJyif4UnArl6HX/KgdVqwjCT4kmq89eYVfXEoyFzqHtVpSsjLxuY9Iiz8QRWCQcvnrVOoBOFVQ==
X-Received: by 2002:a17:90a:2f88:: with SMTP id t8mr860094pjd.2.1628831445717;
        Thu, 12 Aug 2021 22:10:45 -0700 (PDT)
Date: Fri, 13 Aug 2021 14:10:38 +0900
From: AKASHI Takahiro <takahiro.akashi@linaro.org>
To: Fran??ois Ozog <francois.ozog@linaro.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>, paul@xen.org,
	Stratos Mailing List <stratos-dev@op-lists.linaro.org>,
	virtio-dev@lists.oasis-open.org,
	Jan Kiszka <jan.kiszka@siemens.com>,
	Arnd Bergmann <arnd.bergmann@linaro.org>, jgross@suse.com,
	julien@xen.org, Carl van Schaik <cvanscha@qti.qualcomm.com>,
	Bertrand.Marquis@arm.com, stefanha@redhat.com,
	Artem_Mygaiev@epam.com, xen-devel@lists.xen.org,
	olekstysh@gmail.com, Oleksandr_Tyshchenko@epam.com
Subject: Re: [Stratos-dev] Enabling hypervisor agnosticism for VirtIO backends
Message-ID: <20210813051038.GA77540@laputa>
References: <87v94ldrqq.fsf@linaro.org>
 <alpine.DEB.2.21.2108041055390.9768@sstabellini-ThinkPad-T480s>
 <0100017b33e585a5-06d4248e-b1a7-485e-800c-7ead89e5f916-000000@email.amazonses.com>
 <CAHFG_=WKjJ1riKtaWC8jm13shc3RtVsNNqd3j9WD9Fq0NeRS2Q@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CAHFG_=WKjJ1riKtaWC8jm13shc3RtVsNNqd3j9WD9Fq0NeRS2Q@mail.gmail.com>

Hi François,

On Thu, Aug 12, 2021 at 09:55:52AM +0200, Fran??ois Ozog wrote:
> I top post as I find it difficult to identify where to make the comments.

Thank you for the posting. 
I think that we should first discuss more about the goal/requirements/
practical use cases for the framework.

> 1) BE acceleration
> Network and storage backends may actually be executed in SmartNICs. As
> virtio 1.1 is hardware friendly, there may be SmartNICs with virtio 1.1 PCI
> VFs. Is it a valid use case for the generic BE framework to be used in this
> context?
> DPDK is used in some BE to significantly accelerate switching. DPDK is also
> used sometimes in guests. In that case, there are no event injection but
> just high performance memory scheme. Is this considered as a use case?

I'm not quite familiar with DPDK but it seems to be heavily reliant
on not only virtqueues but also kvm/linux features/functionality, say,
according to [1].
I'm afraid that DPDK is not suitable for primary (at least, initial)
target use.
# In my proposal, virtio-proxy, I have in mind the assumption that we would
# create BE VM as a baremetal application on RTOS (and/or unikernel.)

But as far as virtqueue is concerned, I think we can discuss in general
technical details as Alex suggested, including:
- sharing or mapping memory regions for data payload
- efficient notification mechanism

[1] https://www.redhat.com/en/blog/journey-vhost-users-realm

> 2) Virtio as OS HAL
> Panasonic CTO has been calling for a virtio based HAL and based on the
> teachings of Google GKI, an internal HAL seem inevitable in the long term.
> Virtio is then a contender to Google promoted Android HAL. Could the
> framework be used in that context?

In this case, where will the implementation of "HAL" reside?
I don't think the portability of "HAL" code (as a set of virtio BEs)
is a requirement here.

-Takahiro Akashi

> On Wed, 11 Aug 2021 at 08:28, AKASHI Takahiro via Stratos-dev <
> stratos-dev@op-lists.linaro.org> wrote:
> 
> > On Wed, Aug 04, 2021 at 12:20:01PM -0700, Stefano Stabellini wrote:
> > > CCing people working on Xen+VirtIO and IOREQs. Not trimming the original
> > > email to let them read the full context.
> > >
> > > My comments below are related to a potential Xen implementation, not
> > > because it is the only implementation that matters, but because it is
> > > the one I know best.
> >
> > Please note that my proposal (and hence the working prototype)[1]
> > is based on Xen's virtio implementation (i.e. IOREQ) and particularly
> > EPAM's virtio-disk application (backend server).
> > It has been, I believe, well generalized but is still a bit biased
> > toward this original design.
> >
> > So I hope you like my approach :)
> >
> > [1]
> > https://op-lists.linaro.org/pipermail/stratos-dev/2021-August/000546.html
> >
> > Let me take this opportunity to explain a bit more about my approach below.
> >
> > > Also, please see this relevant email thread:
> > > https://marc.info/?l=xen-devel&m=162373754705233&w=2
> > >
> > >
> > > On Wed, 4 Aug 2021, Alex Bennée wrote:
> > > > Hi,
> > > >
> > > > One of the goals of Project Stratos is to enable hypervisor agnostic
> > > > backends so we can enable as much re-use of code as possible and avoid
> > > > repeating ourselves. This is the flip side of the front end where
> > > > multiple front-end implementations are required - one per OS, assuming
> > > > you don't just want Linux guests. The resultant guests are trivially
> > > > movable between hypervisors modulo any abstracted paravirt type
> > > > interfaces.
> > > >
> > > > In my original thumb nail sketch of a solution I envisioned vhost-user
> > > > daemons running in a broadly POSIX like environment. The interface to
> > > > the daemon is fairly simple requiring only some mapped memory and some
> > > > sort of signalling for events (on Linux this is eventfd). The idea was
> > a
> > > > stub binary would be responsible for any hypervisor specific setup and
> > > > then launch a common binary to deal with the actual virtqueue requests
> > > > themselves.
> > > >
> > > > Since that original sketch we've seen an expansion in the sort of ways
> > > > backends could be created. There is interest in encapsulating backends
> > > > in RTOSes or unikernels for solutions like SCMI. There interest in Rust
> > > > has prompted ideas of using the trait interface to abstract differences
> > > > away as well as the idea of bare-metal Rust backends.
> > > >
> > > > We have a card (STR-12) called "Hypercall Standardisation" which
> > > > calls for a description of the APIs needed from the hypervisor side to
> > > > support VirtIO guests and their backends. However we are some way off
> > > > from that at the moment as I think we need to at least demonstrate one
> > > > portable backend before we start codifying requirements. To that end I
> > > > want to think about what we need for a backend to function.
> > > >
> > > > Configuration
> > > > =============
> > > >
> > > > In the type-2 setup this is typically fairly simple because the host
> > > > system can orchestrate the various modules that make up the complete
> > > > system. In the type-1 case (or even type-2 with delegated service VMs)
> > > > we need some sort of mechanism to inform the backend VM about key
> > > > details about the system:
> > > >
> > > >   - where virt queue memory is in it's address space
> > > >   - how it's going to receive (interrupt) and trigger (kick) events
> > > >   - what (if any) resources the backend needs to connect to
> > > >
> > > > Obviously you can elide over configuration issues by having static
> > > > configurations and baking the assumptions into your guest images
> > however
> > > > this isn't scalable in the long term. The obvious solution seems to be
> > > > extending a subset of Device Tree data to user space but perhaps there
> > > > are other approaches?
> > > >
> > > > Before any virtio transactions can take place the appropriate memory
> > > > mappings need to be made between the FE guest and the BE guest.
> > >
> > > > Currently the whole of the FE guests address space needs to be visible
> > > > to whatever is serving the virtio requests. I can envision 3
> > approaches:
> > > >
> > > >  * BE guest boots with memory already mapped
> > > >
> > > >  This would entail the guest OS knowing where in it's Guest Physical
> > > >  Address space is already taken up and avoiding clashing. I would
> > assume
> > > >  in this case you would want a standard interface to userspace to then
> > > >  make that address space visible to the backend daemon.
> >
> > Yet another way here is that we would have well known "shared memory"
> > between
> > VMs. I think that Jailhouse's ivshmem gives us good insights on this matter
> > and that it can even be an alternative for hypervisor-agnostic solution.
> >
> > (Please note memory regions in ivshmem appear as a PCI device and can be
> > mapped locally.)
> >
> > I want to add this shared memory aspect to my virtio-proxy, but
> > the resultant solution would eventually look similar to ivshmem.
> >
> > > >  * BE guests boots with a hypervisor handle to memory
> > > >
> > > >  The BE guest is then free to map the FE's memory to where it wants in
> > > >  the BE's guest physical address space.
> > >
> > > I cannot see how this could work for Xen. There is no "handle" to give
> > > to the backend if the backend is not running in dom0. So for Xen I think
> > > the memory has to be already mapped
> >
> > In Xen's IOREQ solution (virtio-blk), the following information is expected
> > to be exposed to BE via Xenstore:
> > (I know that this is a tentative approach though.)
> >    - the start address of configuration space
> >    - interrupt number
> >    - file path for backing storage
> >    - read-only flag
> > And the BE server have to call a particular hypervisor interface to
> > map the configuration space.
> >
> > In my approach (virtio-proxy), all those Xen (or hypervisor)-specific
> > stuffs are contained in virtio-proxy, yet another VM, to hide all details.
> >
> > # My point is that a "handle" is not mandatory for executing mapping.
> >
> > > and the mapping probably done by the
> > > toolstack (also see below.) Or we would have to invent a new Xen
> > > hypervisor interface and Xen virtual machine privileges to allow this
> > > kind of mapping.
> >
> > > If we run the backend in Dom0 that we have no problems of course.
> >
> > One of difficulties on Xen that I found in my approach is that calling
> > such hypervisor intefaces (registering IOREQ, mapping memory) is only
> > allowed on BE servers themselvies and so we will have to extend those
> > interfaces.
> > This, however, will raise some concern on security and privilege
> > distribution
> > as Stefan suggested.
> > >
> > >
> > > > To activate the mapping will
> > > >  require some sort of hypercall to the hypervisor. I can see two
> > options
> > > >  at this point:
> > > >
> > > >   - expose the handle to userspace for daemon/helper to trigger the
> > > >     mapping via existing hypercall interfaces. If using a helper you
> > > >     would have a hypervisor specific one to avoid the daemon having to
> > > >     care too much about the details or push that complexity into a
> > > >     compile time option for the daemon which would result in different
> > > >     binaries although a common source base.
> > > >
> > > >   - expose a new kernel ABI to abstract the hypercall differences away
> > > >     in the guest kernel. In this case the userspace would essentially
> > > >     ask for an abstract "map guest N memory to userspace ptr" and let
> > > >     the kernel deal with the different hypercall interfaces. This of
> > > >     course assumes the majority of BE guests would be Linux kernels and
> > > >     leaves the bare-metal/unikernel approaches to their own devices.
> > > >
> > > > Operation
> > > > =========
> > > >
> > > > The core of the operation of VirtIO is fairly simple. Once the
> > > > vhost-user feature negotiation is done it's a case of receiving update
> > > > events and parsing the resultant virt queue for data. The vhost-user
> > > > specification handles a bunch of setup before that point, mostly to
> > > > detail where the virt queues are set up FD's for memory and event
> > > > communication. This is where the envisioned stub process would be
> > > > responsible for getting the daemon up and ready to run. This is
> > > > currently done inside a big VMM like QEMU but I suspect a modern
> > > > approach would be to use the rust-vmm vhost crate. It would then either
> > > > communicate with the kernel's abstracted ABI or be re-targeted as a
> > > > build option for the various hypervisors.
> > >
> > > One thing I mentioned before to Alex is that Xen doesn't have VMMs the
> > > way they are typically envisioned and described in other environments.
> > > Instead, Xen has IOREQ servers. Each of them connects independently to
> > > Xen via the IOREQ interface. E.g. today multiple QEMUs could be used as
> > > emulators for a single Xen VM, each of them connecting to Xen
> > > independently via the IOREQ interface.
> > >
> > > The component responsible for starting a daemon and/or setting up shared
> > > interfaces is the toolstack: the xl command and the libxl/libxc
> > > libraries.
> >
> > I think that VM configuration management (or orchestration in Startos
> > jargon?) is a subject to debate in parallel.
> > Otherwise, is there any good assumption to avoid it right now?
> >
> > > Oleksandr and others I CCed have been working on ways for the toolstack
> > > to create virtio backends and setup memory mappings. They might be able
> > > to provide more info on the subject. I do think we miss a way to provide
> > > the configuration to the backend and anything else that the backend
> > > might require to start doing its job.
> > >
> > >
> > > > One question is how to best handle notification and kicks. The existing
> > > > vhost-user framework uses eventfd to signal the daemon (although QEMU
> > > > is quite capable of simulating them when you use TCG). Xen has it's own
> > > > IOREQ mechanism. However latency is an important factor and having
> > > > events go through the stub would add quite a lot.
> > >
> > > Yeah I think, regardless of anything else, we want the backends to
> > > connect directly to the Xen hypervisor.
> >
> > In my approach,
> >  a) BE -> FE: interrupts triggered by BE calling a hypervisor interface
> >               via virtio-proxy
> >  b) FE -> BE: MMIO to config raises events (in event channels), which is
> >               converted to a callback to BE via virtio-proxy
> >               (Xen's event channel is internnally implemented by
> > interrupts.)
> >
> > I don't know what "connect directly" means here, but sending interrupts
> > to the opposite side would be best efficient.
> > Ivshmem, I suppose, takes this approach by utilizing PCI's msi-x mechanism.
> >
> > >
> > > > Could we consider the kernel internally converting IOREQ messages from
> > > > the Xen hypervisor to eventfd events? Would this scale with other
> > kernel
> > > > hypercall interfaces?
> > > >
> > > > So any thoughts on what directions are worth experimenting with?
> > >
> > > One option we should consider is for each backend to connect to Xen via
> > > the IOREQ interface. We could generalize the IOREQ interface and make it
> > > hypervisor agnostic. The interface is really trivial and easy to add.
> >
> > As I said above, my proposal does the same thing that you mentioned here :)
> > The difference is that I do call hypervisor interfaces via virtio-proxy.
> >
> > > The only Xen-specific part is the notification mechanism, which is an
> > > event channel. If we replaced the event channel with something else the
> > > interface would be generic. See:
> > >
> > https://gitlab.com/xen-project/xen/-/blob/staging/xen/include/public/hvm/ioreq.h#L52
> > >
> > > I don't think that translating IOREQs to eventfd in the kernel is a
> > > good idea: if feels like it would be extra complexity and that the
> > > kernel shouldn't be involved as this is a backend-hypervisor interface.
> >
> > Given that we may want to implement BE as a bare-metal application
> > as I did on Zephyr, I don't think that the translation would not be
> > a big issue, especially on RTOS's.
> > It will be some kind of abstraction layer of interrupt handling
> > (or nothing but a callback mechanism).
> >
> > > Also, eventfd is very Linux-centric and we are trying to design an
> > > interface that could work well for RTOSes too. If we want to do
> > > something different, both OS-agnostic and hypervisor-agnostic, perhaps
> > > we could design a new interface. One that could be implementable in the
> > > Xen hypervisor itself (like IOREQ) and of course any other hypervisor
> > > too.
> > >
> > >
> > > There is also another problem. IOREQ is probably not be the only
> > > interface needed. Have a look at
> > > https://marc.info/?l=xen-devel&m=162373754705233&w=2. Don't we also need
> > > an interface for the backend to inject interrupts into the frontend? And
> > > if the backend requires dynamic memory mappings of frontend pages, then
> > > we would also need an interface to map/unmap domU pages.
> >
> > My proposal document might help here; All the interfaces required for
> > virtio-proxy (or hypervisor-related interfaces) are listed as
> > RPC protocols :)
> >
> > > These interfaces are a lot more problematic than IOREQ: IOREQ is tiny
> > > and self-contained. It is easy to add anywhere. A new interface to
> > > inject interrupts or map pages is more difficult to manage because it
> > > would require changes scattered across the various emulators.
> >
> > Exactly. I have no confident yet that my approach will also apply
> > to other hypervisors than Xen.
> > Technically, yes, but whether people can accept it or not is a different
> > matter.
> >
> > Thanks,
> > -Takahiro Akashi
> >
> > --
> > Stratos-dev mailing list
> > Stratos-dev@op-lists.linaro.org
> > https://op-lists.linaro.org/mailman/listinfo/stratos-dev
> >
> 
> 
> -- 
> François-Frédéric Ozog | *Director Business Development*
> T: +33.67221.6485
> francois.ozog@linaro.org | Skype: ffozog


From xen-devel-bounces@lists.xenproject.org Fri Aug 13 06:29:07 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 06:29:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166635.304153 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEQgZ-0002SH-MP; Fri, 13 Aug 2021 06:28:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166635.304153; Fri, 13 Aug 2021 06:28:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEQgZ-0002SA-JA; Fri, 13 Aug 2021 06:28:55 +0000
Received: by outflank-mailman (input) for mailman id 166635;
 Fri, 13 Aug 2021 06:28:54 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=F9ox=NE=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mEQgY-0002S4-Fc
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 06:28:54 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com (unknown
 [40.107.8.88]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id b99fb396-fbff-11eb-a25b-12813bfff9fa;
 Fri, 13 Aug 2021 06:28:52 +0000 (UTC)
Received: from AM9P250CA0026.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:21c::31)
 by AM0PR08MB3057.eurprd08.prod.outlook.com (2603:10a6:208:57::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.21; Fri, 13 Aug
 2021 06:28:41 +0000
Received: from VE1EUR03FT011.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:21c:cafe::8c) by AM9P250CA0026.outlook.office365.com
 (2603:10a6:20b:21c::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15 via Frontend
 Transport; Fri, 13 Aug 2021 06:28:41 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT011.mail.protection.outlook.com (10.152.18.134) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Fri, 13 Aug 2021 06:28:41 +0000
Received: ("Tessian outbound 6ba9ec11d42b:v103");
 Fri, 13 Aug 2021 06:28:40 +0000
Received: from 9a68ddd570c9.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 07A90AD0-C4A9-499A-989E-09AFBA974CCA.1; 
 Fri, 13 Aug 2021 06:28:35 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 9a68ddd570c9.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 13 Aug 2021 06:28:35 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB8PR08MB4170.eurprd08.prod.outlook.com (2603:10a6:10:a7::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.19; Fri, 13 Aug
 2021 06:28:32 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%6]) with mapi id 15.20.4415.019; Fri, 13 Aug 2021
 06:28: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: b99fb396-fbff-11eb-a25b-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QsoC1JKFxOYQzfsJ+7RRD+xWmeHR80dUYyVqKZ4y788=;
 b=bmXO384aTr+Ifv/kKqLWpQ/mGtlMo4HRGkdl658ViP4oPhRMqjxG36Jlw8qxPrENLOLJt0+8tjXgPvNWsmB4Iwt60bkpph7qdQKuiEagupLBceaoreyQKQtck9MSaRgfXC/yvqX+nLgUqvpFmQMPp/uefXRu3O5R+nts4zSB33A=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RYXB4pHR23tlZdFW7atmAZlE3KuIvjO8nLm8X1jUIuKVY7CgjvjII2e8L0GOfEEWgVOYUKv1XjYjpT2IMMNilQxlxweJaGJbP1OJXYGbu1f55zisnfT3EIQBy6gSiMTtUSj0R+jf8Z40qULC206k2+74FrgpOStXbqoRZCpxdA9kkC7Y3aA3yN4VWPUfJXrd610Yb9a6TC6FMS1IC9cH5vKa1BXxdOGeEsIg05GGd8ZXSPZbHLiVeM6+6GVl0q/zQiGxMAJXElKzZvbhHCDNxmbvMcF3aghUrnCrU7z13+YVXtdvYYj+y2FujjLvFBcNeap4D0QerVNWa6eFUAzOcg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QsoC1JKFxOYQzfsJ+7RRD+xWmeHR80dUYyVqKZ4y788=;
 b=E10g75nq4469J9T6bptJfy0Flk8hqXcd8QGqQa8eUag+y14Ptkx0g/Xwru7ftukYzbd0Wnr6KBi6RMOKeAbqYvBEWmoD2/fh8aRnNNGFjh19dmLDp2G7x8ULfxyFH3P5vWyT7cc836/zRNW+WCnp8BxoKMO6dFwGQo7uG8wAw8odtYrTeoqPteahmtIMFczuMjMbDwp/5cL+bhEGuRXlCzXJP/WWVZFhLy1Y1htuEGwH61IjCpDyNnHMyyb/H/cQJYI0Nqwgvt7h6YyHmsb/6gCca6Isa9Vdm2JY0jbLUAgy2Rl1IgPQL+HwcDNCpV9qU1Xzy+DLDFZ8Z2KBc3V7fQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QsoC1JKFxOYQzfsJ+7RRD+xWmeHR80dUYyVqKZ4y788=;
 b=bmXO384aTr+Ifv/kKqLWpQ/mGtlMo4HRGkdl658ViP4oPhRMqjxG36Jlw8qxPrENLOLJt0+8tjXgPvNWsmB4Iwt60bkpph7qdQKuiEagupLBceaoreyQKQtck9MSaRgfXC/yvqX+nLgUqvpFmQMPp/uefXRu3O5R+nts4zSB33A=
From: Wei Chen <Wei.Chen@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"sstabellini@kernel.org" <sstabellini@kernel.org>, "julien@xen.org"
	<julien@xen.org>
Subject: RE: [XEN RFC PATCH 01/40] tools: Fix -Werror=maybe-uninitialized for
 xlu_pci_parse_bdf
Thread-Topic: [XEN RFC PATCH 01/40] tools: Fix -Werror=maybe-uninitialized for
 xlu_pci_parse_bdf
Thread-Index: AQHXjpsap9qHPnLZB0C8E1beBnV9NKtuIASAgALaSHA=
Date: Fri, 13 Aug 2021 06:28:32 +0000
Message-ID:
 <DB9PR08MB68574A7E5DCFD8EF51205A699EFA9@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-2-wei.chen@arm.com>
 <c6048717-a7ba-fe7d-76f0-58d4877492c4@suse.com>
In-Reply-To: <c6048717-a7ba-fe7d-76f0-58d4877492c4@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: EB36CCE83301EF4897CA3EDA8B85144C.0
x-checkrecipientchecked: true
Authentication-Results-Original: suse.com; dkim=none (message not signed)
 header.d=none;suse.com; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 60168ac1-8de4-4817-0e53-08d95e2397d1
x-ms-traffictypediagnostic: DB8PR08MB4170:|AM0PR08MB3057:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM0PR08MB305743D4DE93BBBA99960A549EFA9@AM0PR08MB3057.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 /ZvWKZp36hVt9oSF1H/39mr5X8ATb2WHqv6FkhglBSpGPiOv+AAMJlL+Ib9jNWnKA0ex32RMHRuq3KOPOURqZmqcNs23iwWpBAd6Hyuy6xrTIquA6WfXPqmTekOtdfWEFPXlGz7B0IEVds6ZV8OtoBjg0fRtOd7Zs3h5KQnkh3CxySa5RmwU0d5XJ1HljL2wz2W3I2NqmkvCHDlLOeto8NDjNW1ebldxjmahlTiz78Kjg6LoWSjdPVTVwdyfXCYxrTWsPY0rPfpg7YEPgYCSAPpJv9u4CU8PJwkonLnrNbvRJcp1CAdLp788rKwPEzN+4AQPRSDtEYYfWG4xCUVKKb/GhoRqbysYz2yumChIS6I9+q3vh00tB0lM6GW9OP8uTr9sB0WhvgwytiWZuJ1KBFaGJWxbWi+nJcWn3A0iXbOTgATUrGn8w4kPrg2k2DhX1P8yJni5ReYRnvZnoSeVvgGrFShodiOHIIHgfZW3tiaCWDeMFqcdo8TUxsR3FY4FbxV7Je89ZbHcje1kzCWTOBOB0GXstIoxSLjmeFPf/w+BMmixbgYj7zVKZQ9n0oo/Brq/cSqorHXZFNnOKYg1IY/pyuCQUUcYjdq/ZAsfpB+A5yiGAygRuITCbxCU1x2MzFPQX3ut7cm9Zs8xrYJLcVDAIRxUX7Jq3Vm2Rn2aIXFswCbhwpc5jNQV/0Pr3SgezJMFKBYBo5CitadwSpTEsA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(66946007)(26005)(64756008)(66556008)(66476007)(55016002)(52536014)(9686003)(71200400001)(122000001)(6506007)(86362001)(7696005)(76116006)(186003)(66446008)(38100700002)(5660300002)(53546011)(38070700005)(83380400001)(8936002)(6916009)(8676002)(33656002)(4326008)(2906002)(508600001)(54906003)(316002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?NFRGQUFBdmtCZ2xnQnJ1K3h0cDdVVGZHNmxSaVFjQ0JiUXd0NkdhYWQzNGcr?=
 =?utf-8?B?cC9iSXM3Y3hQdUovTFpTdEx0WmxxUW9lWVNOTW1nNzhUeXdaRHEvQmtYMkpB?=
 =?utf-8?B?WE1DMk9uaXAzZkhJa2p1ZWh6OExuRmlseTIzRzVvZ01FVHEzdzdyK0t0em1o?=
 =?utf-8?B?MjZKN1FlS0Fsbnl6VGRSZE8xdXBRRmJtWU5BckVyam85WkQ4dW5XZml1ZjFt?=
 =?utf-8?B?UDVuWFhOLysvMjBrYTNPNWRHTGhpQktZbk5KUG84K2cwT1FtMDZYU0JucWl4?=
 =?utf-8?B?d2tkb2R5dmhpUmtRa0QxVXlTaXRmc2x4U2FJK2J0enFJamhRUDI3aTAwL3Yv?=
 =?utf-8?B?VzlPY3h4ell0NEtXZU0vam9VM1lmMSt2eUtNVVdOSUhVUnhjQ25SVXhSZVQ1?=
 =?utf-8?B?MkFCTFgrY1hjcWlpY2ZWU2xrUmxDbHFvY2U2dW1IN0xVaGg2TWZqTmtpVUor?=
 =?utf-8?B?R1hWWUVHSnc3N1VaWHJSQUJIcXNtLzRROEFSZmNuYVRuQkgreDR6NEV5SzRW?=
 =?utf-8?B?U2pSWnNUdTJkZlNhVEd5cHFjZHphKzRqU0hqVEJnN2luMi9hZjhub2xtK2NC?=
 =?utf-8?B?SWtLdlJoZERNc3RiRVloajhHaW9xUVJhdHpYRDkvNExHRVNhSTRjT2daVXNu?=
 =?utf-8?B?YlJ0UisrcERDNFpabkFhcEVrVVdTSWNCUzNNYjlwRUpFTnQ0K0ZCYVFTY0FE?=
 =?utf-8?B?QWxQMlVTb1NmamN0MWQ1cmNkeGZEOG5zWXBTN2NHTHdWS2FSVDIrY3B4TmVQ?=
 =?utf-8?B?VDNFS01nYmVoWW1qNVMrWU1EcUhTQWNYZGt2MDJGU0hWbWwyNGQwWG14Ui9a?=
 =?utf-8?B?cmxqZDZWSkZoWnNwSGxtNHRYeUhMblpFZVI3bzRKT05XR05HY2lUWS91VE9i?=
 =?utf-8?B?Q2xyaDByOGh3N29idS9wZU5zbTJrUysyRTVrcTcvK2JIaXBvd2U0dUlsMWll?=
 =?utf-8?B?NEtwaUhEUzNVTUtiMEZlejNPaUp2bTl2TUhYdmVkcG9qY2s0YzRrOUZYNER1?=
 =?utf-8?B?cnhra1Zrc0dBeDQvUFZYc3Bwb2JrV2RXcTIvcUlpQS9tYTB0SVp4UFpjN0Fo?=
 =?utf-8?B?SzErMlRJVGJFb3VZRERvSjVkSElXc2phR0FGMTh5VVZPbGZjMFRTSVcxTWpm?=
 =?utf-8?B?Wmx0Z00rcTdGY0lOTDZSK3JPM1NyVUhrRWtKOTRNZWNyNnJGYjhYY1dWT1JS?=
 =?utf-8?B?TmZJMlcvSytmMDFyWktPb0poRU1Delo0OExaNmRzVUFYb2hJU3UzVDhlZ3lJ?=
 =?utf-8?B?Z1FaaTBRbTZsQ01Lb0FuUmo2eEs0VVhlanZ2QWpPWmt1YlNlSjZBYytLcGlq?=
 =?utf-8?B?Sml4RnVEOXZXNEZETFdncENZMVR0cTc4MWUvUS9EcWZBL25CMDhPbUtrSThU?=
 =?utf-8?B?OS9nQVZhYS9LWjAzbWxqb0k0TFFNTmk0T3NFNVBiUEx4Mm4yR0o3RHM0Y0p4?=
 =?utf-8?B?dmsxTTcxUFpvMWM2OXZObVdlYktUNDlOUS8yTVA4NldsTTNleUNSZ2xMSEJN?=
 =?utf-8?B?NE1MOWFMRGNCL2E0MXdtdGUwcUxFUGkyQVcvdHI1bjBINkl2UkRHZkFGRlpM?=
 =?utf-8?B?dFV2NmYwVFRac0ErNGZ0TE9ZMkoyb0R3YXg4T1gxUEsrOGlFYUxZNllNUC9k?=
 =?utf-8?B?QXphTWp2VElyOVpSS0FPZHFwNzlaUVZPVzY2ajdhTGtMY1AvaFVkdmJkOWo2?=
 =?utf-8?B?RUdUd2FKejN5U2hCeXBMTGpyRGJ6c0ZCc09qemVOdGhIamdrZGhoNXUyTEdn?=
 =?utf-8?Q?EYQRYhGwwFopPXTjf0gZkzPvFk4IHFLw4S1Vld6?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB4170
Original-Authentication-Results: suse.com; dkim=none (message not signed)
 header.d=none;suse.com; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT011.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	fdbf59f0-55e6-4186-a88a-08d95e23929e
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZmHHJbCa9/QdlN9v5N6SjlMjDBLC/p777WeznkCloVMDHKOW2MjT+ui/MVXIVWnGzL6PLd2nyH2uFMeaOsZPds9X7j0/A4X4cVdFfrbFcp3edVFF3vBwkhfeAbP/o3RZ1aZgNLG042r7nd5fT2IcjR/g3+4JC2N2Au5O9jEVmhpTgOjWfmzEzimQyUN0H40e7SCls7YjJY6rQPIV0CjBl6EyMohijMLRIE8kNQLG75tX86dphE+DPtPnAtnqDQEUdLdv04zDVEZuxIaoV7nG9+PQZWhqzeGxSwK8KfJLcsrKsvrnhu1kbsLNo+xvG0hqQRAKtB9ihQqbP4+9owRsJ+n3axXt7UIb1HhNi4ZTjm4wuQbZJ0Xr0bFeFma+3g1RGP77dJBiV7AYLDbVnxgLwnZN++dMv5pOhEM1eKLn2JD5SPa9zdX+WlTAmw4K7s7qjWfkchlyxnPjaUwOtATGHnStnX80YZYVYyYnMZVlSi7vrucMqy7cBlpCv7XE78VHThg6ZE5SyXcipXdYfwHlTJbSnGtZqweFBdW1glQxVqWO9ZSb8jOAYhxbGZMD3ZVfRt6pN1viFLJD1CYMR+2FxfsO5d6dIZ5xrZIN8/vOpah8SSvmRMxyFbSefWTFd5jleruiB98Y6F1cwDhMUhwIIYAyv2S8iBEPXsg25hSG3BW6t7kPDkks+E3LdgHCT7uur4mF/Yd9xaSlKGLoqoukew==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(39850400004)(136003)(346002)(396003)(376002)(46966006)(36840700001)(26005)(82740400003)(8936002)(6862004)(54906003)(82310400003)(36860700001)(70586007)(70206006)(83380400001)(186003)(4326008)(55016002)(336012)(33656002)(478600001)(2906002)(9686003)(6506007)(53546011)(7696005)(5660300002)(356005)(8676002)(52536014)(86362001)(81166007)(47076005)(316002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2021 06:28:41.2013
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 60168ac1-8de4-4817-0e53-08d95e2397d1
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT011.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3057

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMeW5tDjmnIgxMeaXpSAxODo1MA0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiBCZXJ0cmFuZCBNYXJxdWlz
IDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+OyB4ZW4tDQo+IGRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnOyBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqdWxpZW5AeGVuLm9yZw0KPiBTdWJqZWN0
OiBSZTogW1hFTiBSRkMgUEFUQ0ggMDEvNDBdIHRvb2xzOiBGaXggLVdlcnJvcj1tYXliZS11bmlu
aXRpYWxpemVkDQo+IGZvciB4bHVfcGNpX3BhcnNlX2JkZg0KPiANCj4gT24gMTEuMDguMjAyMSAx
MjoyMywgV2VpIENoZW4gd3JvdGU6DQo+ID4gfCBsaWJ4bHVfcGNpLmM6IEluIGZ1bmN0aW9uICd4
bHVfcGNpX3BhcnNlX2JkZic6DQo+ID4gfCBsaWJ4bHVfcGNpLmM6MzI6MTg6IGVycm9yOiAnZnVu
YycgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzDQo+IGZ1bmN0aW9uIFstV2Vycm9y
PW1heWJlLXVuaW5pdGlhbGl6ZWRdDQo+ID4gfCAgICAzMiB8ICAgICBwY2lkZXYtPmZ1bmMgPSBm
dW5jOw0KPiA+IHwgICAgICAgfCAgICAgfn5+fn5+fn5+fn5+fl5+fn5+fg0KPiANCj4gSSdtIGFm
cmFpZCBJIGNhbid0IHNwb3Qgc3VjaCBhbiBhc3NpZ25tZW50IGluIHRoZSBmaWxlIChub3IgdGhl
IHR3bw0KPiBzaW1pbGFyIG9uZXMgZnVydGhlciBkb3duKS4gQWxsIEkgY2FuIHNlZSBpcw0KPiAN
Cj4gICAgIHBjaS0+ZG9tYWluID0gZG9tYWluOw0KPiAgICAgcGNpLT5idXMgPSBidXM7DQo+ICAg
ICBwY2ktPmRldiA9IGRldjsNCj4gICAgIHBjaS0+ZnVuYyA9IGZ1bmM7DQo+IA0KDQpTb3JyeSwg
SSBmb3Jnb3QgdG8gdXBkYXRlIG15IGNvbW1pdCBsb2cgd2l0aCB0aGUgbGF0ZXN0IGNvZGUgYmFz
ZS4NCkkgcmV2ZXJ0IHRoaXMgY2hhbmdlIGluIG15IGN1cnJlbnQgY29kZSwgSSBjYW4ndCByZXBy
b2R1Y2UgaXQuDQpJJ20gbm90IHN1cmUgaWYgaXQncyBiZWNhdXNlIEkgdXBncmFkZWQgbXkgYnVp
bGQgZW52aXJvbm1lbnQuDQpHaXZlIG1lIHNvbWV0aW1lLCBpZiBJIGNhbiByZXByb2R1Y2UgaXQg
SSB3aWxsIHVwZGF0ZSB0aGUgY29tbWl0DQpsb2cgaW4gbmV4dCB2ZXJzaW9uLiBJZiBpdCdzIG5v
IGxvbmdlciBuZWVkZWQsIEkgd2lsbCByZW1vdmUgdGhpcw0KcGF0Y2ggZnJvbSB0aGlzIHNlcmll
cy4NCg0KPiA+IHwgbGlieGx1X3BjaS5jOjUxOjI5OiBub3RlOiAnZnVuYycgd2FzIGRlY2xhcmVk
IGhlcmUNCj4gPiB8ICAgIDUxIHwgICAgIHVuc2lnbmVkIGRvbSwgYnVzLCBkZXYsIGZ1bmMsIHZz
bG90ID0gMDsNCj4gPiB8ICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn4N
Cj4gPiB8IGxpYnhsdV9wY2kuYzozMToxNzogZXJyb3I6ICdkZXYnIG1heSBiZSB1c2VkIHVuaW5p
dGlhbGl6ZWQgaW4gdGhpcw0KPiBmdW5jdGlvbiBbLVdlcnJvcj1tYXliZS11bmluaXRpYWxpemVk
XQ0KPiA+IHwgICAgMzEgfCAgICAgcGNpZGV2LT5kZXYgPSBkZXY7DQo+ID4gfCAgICAgICB8ICAg
ICB+fn5+fn5+fn5+fn5efn5+fg0KPiA+IHwgbGlieGx1X3BjaS5jOjUxOjI0OiBub3RlOiAnZGV2
JyB3YXMgZGVjbGFyZWQgaGVyZQ0KPiA+IHwgICAgNTEgfCAgICAgdW5zaWduZWQgZG9tLCBidXMs
IGRldiwgZnVuYywgdnNsb3QgPSAwOw0KPiA+IHwgICAgICAgfCAgICAgICAgICAgICAgICAgICAg
ICAgIF5+fg0KPiA+IHwgbGlieGx1X3BjaS5jOjMwOjE3OiBlcnJvcjogJ2J1cycgbWF5IGJlIHVz
ZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzDQo+IGZ1bmN0aW9uIFstV2Vycm9yPW1heWJlLXVuaW5p
dGlhbGl6ZWRdDQo+ID4gfCAgICAzMCB8ICAgICBwY2lkZXYtPmJ1cyA9IGJ1czsNCj4gPiB8ICAg
ICAgIHwgICAgIH5+fn5+fn5+fn5+fl5+fn5+DQo+ID4gfCBsaWJ4bHVfcGNpLmM6NTE6MTk6IG5v
dGU6ICdidXMnIHdhcyBkZWNsYXJlZCBoZXJlDQo+ID4gfCAgICA1MSB8ICAgICB1bnNpZ25lZCBk
b20sIGJ1cywgZGV2LCBmdW5jLCB2c2xvdCA9IDA7DQo+ID4gfCAgICAgICB8ICAgICAgICAgICAg
ICAgICAgIF5+fg0KPiA+IHwgbGlieGx1X3BjaS5jOjc4OjI2OiBlcnJvcjogJ2RvbScgbWF5IGJl
IHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzDQo+IGZ1bmN0aW9uIFstV2Vycm9yPW1heWJlLXVu
aW5pdGlhbGl6ZWRdDQo+ID4gfCAgICA3OCB8ICAgICAgICAgICAgICAgICBpZiAoIGRvbSAmIH4w
eGZmICkNCj4gPiB8ICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfn5+fl5+fn5+fn4NCj4g
DQo+IEknbSBhZnJhaWQgSSBhbHNvIGNhbid0IHNwb3QgYSB2YXJpYWJsZSBuYW1lZCAiZG9tIiwg
bm9yIGEgc3VmZmljaWVudGx5DQo+IHNpbWlsYXIgaWYoKS4gTWF5IEkgYXNrIHdoYXQgY29kZSBi
YXNlIHRoZXNlIHdlcmUgb2JzZXJ2ZWQgd2l0aD8gSXMgdGhlDQo+IGNoYW5nZSBuZWVkZWQgYXQg
YWxsIGFueW1vcmU/DQo+IA0KDQpzYW1lIGFzIGFib3ZlLg0KDQo+ID4gLS0tIGEvdG9vbHMvbGli
cy91dGlsL2xpYnhsdV9wY2kuYw0KPiA+ICsrKyBiL3Rvb2xzL2xpYnMvdXRpbC9saWJ4bHVfcGNp
LmMNCj4gPiBAQCAtMTUsNyArMTUsNyBAQCBzdGF0aWMgaW50IHBhcnNlX2JkZihsaWJ4bF9kZXZp
Y2VfcGNpICpwY2ksIGNvbnN0IGNoYXINCj4gKnN0ciwgY29uc3QgY2hhciAqKmVuZHApDQo+ID4g
IHsNCj4gPiAgICAgIGNvbnN0IGNoYXIgKnB0ciA9IHN0cjsNCj4gPiAgICAgIHVuc2lnbmVkIGlu
dCBjb2xvbnMgPSAwOw0KPiA+IC0gICAgdW5zaWduZWQgaW50IGRvbWFpbiwgYnVzLCBkZXYsIGZ1
bmM7DQo+ID4gKyAgICB1bnNpZ25lZCBpbnQgZG9tYWluID0gMCwgYnVzID0gMCwgZGV2ID0gMCwg
ZnVuYyA9IDA7DQo+ID4gICAgICBpbnQgbjsNCj4gPg0KPiA+ICAgICAgLyogQ291bnQgb2NjdXJy
ZW5jZXMgb2YgJzonIHRvIGRldHJtaW5lIHByZXNlbmNlL2Fic2VuY2Ugb2YgdGhlDQo+ICdkb21h
aW4nICovDQo+ID4gQEAgLTI4LDcgKzI4LDYgQEAgc3RhdGljIGludCBwYXJzZV9iZGYobGlieGxf
ZGV2aWNlX3BjaSAqcGNpLCBjb25zdCBjaGFyDQo+ICpzdHIsIGNvbnN0IGNoYXIgKiplbmRwKQ0K
PiA+ICAgICAgcHRyID0gc3RyOw0KPiA+ICAgICAgc3dpdGNoIChjb2xvbnMpIHsNCj4gPiAgICAg
IGNhc2UgMToNCj4gPiAtICAgICAgICBkb21haW4gPSAwOw0KPiA+ICAgICAgICAgIGlmIChzc2Nh
bmYocHRyLCAiJXg6JXguJW4iLCAmYnVzLCAmZGV2LCAmbikgIT0gMikNCj4gPiAgICAgICAgICAg
ICAgcmV0dXJuIEVSUk9SX0lOVkFMOw0KPiA+ICAgICAgICAgIGJyZWFrOw0KPiA+DQo+IA0KPiBB
bHNvIC0gd2hpY2ggY29tcGlsZXIgZGlkIHlvdSBlbmNvdW50ZXIgdGhpcyB3aXRoPw0KPiANCj4g
RmluYWxseSBwbGVhc2UgZG9uJ3QgZm9yZ2V0IHRvIENjIG1haW50YWluZXJzLg0KPiANCg0KSWYg
dGhpcyBwYXRjaCBzdGlsbCBuZWVkZWQsIEkgd2lsbCBkbyBpbiBuZXh0IHZlcnNpb24uDQoNCj4g
SmFuDQoNCg==


From xen-devel-bounces@lists.xenproject.org Fri Aug 13 06:53:54 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 06:53:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166640.304164 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mER4d-0005Tc-AF; Fri, 13 Aug 2021 06:53:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166640.304164; Fri, 13 Aug 2021 06:53:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mER4d-0005TV-59; Fri, 13 Aug 2021 06:53:47 +0000
Received: by outflank-mailman (input) for mailman id 166640;
 Fri, 13 Aug 2021 06:53:46 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ewIu=NE=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mER4c-0005TP-35
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 06:53:46 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 33376ab6-fc03-11eb-a25f-12813bfff9fa;
 Fri, 13 Aug 2021 06:53:44 +0000 (UTC)
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01lp2053.outbound.protection.outlook.com [104.47.1.53]) (Using
 TLS) by relay.mimecast.com with ESMTP id de-mta-8-1UhRmV_2N-m4OtHFYCXIxg-1;
 Fri, 13 Aug 2021 08:53:42 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB6864.eurprd04.prod.outlook.com (2603:10a6:803:138::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16; Fri, 13 Aug
 2021 06:53:41 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.019; Fri, 13 Aug 2021
 06:53:40 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P195CA0013.EURP195.PROD.OUTLOOK.COM (2603:10a6:102:b6::18) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.15 via Frontend Transport; Fri, 13 Aug 2021 06:53:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 33376ab6-fc03-11eb-a25f-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628837623;
	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=4r4/U0Sd+x/vw8oKi4pjEa/i83aELXdDLXnT4NlCX2c=;
	b=bYIvr/5P+tuigkf1SztppH4cs4I5FxtCWAyQJ7rjbdN0s9A4UOW58HH1RaK/VWXceaHB1c
	9H3KTy5g5/hIgAMjWKE042a+n5S04wMIKdlRcnSevjsHdUnBQXuaJaFZXk11TkF0EoYFZl
	OQxvUZHJ/x77QuLagZAi7CFGI/0sKN8=
X-MC-Unique: 1UhRmV_2N-m4OtHFYCXIxg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DzkyfpsKu6cMqXpjfnPlAD+5zFJKtmHv1W/pfhq5Wjr6/T9Ymlo66S9+pTxb06kDcYH9i9wkeXRjcscWt3w5EUpfcnNVOQ5b4SwL9uEocWpiMydEzHA8WbbTKG37gygMGd9UyJxZvNWGgajxYENafuKC4vpz5b2b0Xvx14wV3DHTH4MIDtyKb6i1cobucGEs6fwrgbRpRZbiRoDrYrzp5F45Kci8s6K/YqU3qi3rElp6lcHyVvNEY6ixsWW5VBDRZQYzGmZPv1oXXwlGitfgugHGpu7mhlNn5qDCoCOhtbcVIT+8/OSrErmjelH1oXIH+8qnpd0vqy+SxRBkj45h0w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RCotReDo8e92hL89D1hHb/VtVR0xTLg4xltv/0BRQ94=;
 b=GP1P74U3meiaMdU8lyYW+y6/iX8CFmwjtJawePSXLcsZ243TCDbSOcsWJp3PcIrV4cMZ/zzMFQ6K5G36uNkmj3ChJWsaBKMLOwZHv4ft/OhrYhtrCcqtxxeUEfO/6NL90OzYGw1/2vhgL4G4mKMSwdBO5GRE/7v92/eeEuhZMj0/UcAgceZYZsWIe5S+NBQCBi3EdLrVtjSq4A02T3nfgrIrRg/Uld/vUaMIeLG7RNrhxu8gHENzaP4ZE/dm6mWnrrlxWjq0MblxLAdAA7QhpwnBeb6ZG94Qehhv8IjXCKb+VfeKvmsRUrzF6aekm100Em7ZQE1GJw+vk/1CAfF1mw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [XEN RFC PATCH 00/40] Add device tree based NUMA support to Arm64
To: Wei Chen <Wei.Chen@arm.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>,
 "julien@xen.org" <julien@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <bb62f56a-6023-58df-99ed-a4588c4d80b9@suse.com>
 <DB9PR08MB6857FD05AA5D73C8C59C9E419EFA9@DB9PR08MB6857.eurprd08.prod.outlook.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <a2b99f42-9829-13f0-cbf1-c823386f12d4@suse.com>
Date: Fri, 13 Aug 2021 08:53:38 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <DB9PR08MB6857FD05AA5D73C8C59C9E419EFA9@DB9PR08MB6857.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: PR3P195CA0013.EURP195.PROD.OUTLOOK.COM
 (2603:10a6:102:b6::18) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: fe2752bd-62ce-4b43-d06a-08d95e271569
X-MS-TrafficTypeDiagnostic: VI1PR04MB6864:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB686486FA6607A192CA011670B3FA9@VI1PR04MB6864.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2WJPp945+Fu1hkHgUXCd1HuRabb73kt3pIGbeDiNj0Ef6zj0o753cz49xGTD+k/8vZorwka3zla0aTeflw2O2sDbE0naBT+AatcTsrGSb3TZG16mnisgHNJtJUwKT9jlue4PqTR4vDFjWkEqcnzVddTF4r6QTl4yWEpIfXJS1OR0H6Ae+6qCT118VftJtKQt09dlW39fcpxh62U8rMDUnXocgTZXC7WzAd9VGa23r5mpZdlMSA+UgDT2x+8Q+xT7g6biRuSWjxLQz7R9YhdgpQNwFxKRZBRxk7AxfADORpv3C4J10fCpCg5CG880UAbbGZM0LPujs7bFd4cVawa7iJHj9sE2SC+foALWsJtQxVqMo4I1fRCt2XTSnYlBDTXOcJX/qVA1+qyYOplY79e+g8McDGlCNtw1WDAXhEjOLEBE/KNXEZI/BXiwU0f6LUryH/I1NRP3dn8JdVVgDoccocbBx4CPIjXNQEz6p7KeRrlKjtPxEuyWkWTg6P5ikIpbyKN8pPZG+qOjTmy6Yzw8n6ngEZ7kQeIRC1o1U7DiDChnfQyyiGRDjZ4hSlJRvuRvmD3JMJfcbzvgD53KLAQH5lqL2Y7Awaa6HrwPBOvbu8E/DTIfPMyrSIzNhbRcsfTKS3FT+JjHVOBdP9fcq7lhR/3DkceMWbIlad3TgxIJ9znNE8Hpg6r4PkFSKZYxpAlIGp3+3jJYMInqbQ7bZD1G165X6YkFPvHPjjOTEYSlE8w=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(86362001)(4326008)(316002)(6916009)(2906002)(5660300002)(16576012)(956004)(31686004)(83380400001)(53546011)(508600001)(38100700002)(186003)(26005)(2616005)(66556008)(66946007)(66476007)(8676002)(8936002)(54906003)(36756003)(31696002)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?0xHfDSegp21fxErsvocGQTTfqMpfg7KQ1btLe38sFWrMf9xK3xPiViptAnjP?=
 =?us-ascii?Q?GBdKNlul3pge/jDnOEcTopBRLa7jF5dQ5FI4vDKqjFgM0b8S4/DCRleJszCE?=
 =?us-ascii?Q?xMFfZwIGL7GBK//uXOhG2XO2nNEO+1uKF8baXvOVoNrydFUA/jmC4mrXHhs8?=
 =?us-ascii?Q?XQtxrJxqIYOpVmjk7R73rDyNo0oggi8dOEW5S9XROO1dw8RGaKRBLGGWF3eB?=
 =?us-ascii?Q?TFVpmJ0FaD6jzd8KyDi1skNvAXOSIWXk9fl4A1x3kEx0/rNlC2+JSPu/bnee?=
 =?us-ascii?Q?bgK2OK3kbt0O3yYfIK4gT19/zF5Hqb6nti1WVRY0Y4wH8ieRGogkWoPtxhCT?=
 =?us-ascii?Q?amnq5licc1RGdj3U7OSlBED+tCRsNw3szisVHAYjZ89ACihin9BNQfE7yAML?=
 =?us-ascii?Q?SV1ZrcGuRgN6Pf1466Q6AuDf3/2MSl5W22BzykCei2trV1v4/mDLrqQ6MH3V?=
 =?us-ascii?Q?+Xjvvs6yOdfg5EiG8pVWjqM2zPTii204/a0Y9GFKvhVHm54SwDXyecbDL4/J?=
 =?us-ascii?Q?r7JZG2f05D9YBcvhL0VS/ONnkchIMBAOX1yjRJ56efiLgHHLPpF1Q/Y1PjME?=
 =?us-ascii?Q?oa4L0smRXrayBnqsYmnd5WlUad87bSTxOMHvoy8kceuHUnvdNe7aJHMSqYpM?=
 =?us-ascii?Q?+cSF39laM7xH68ADFx53d/sKoE6QAlZQyl3PayM14PsUmTcOTZg+OtUIjMSW?=
 =?us-ascii?Q?jim/ZeyeglOxTg9aXhmMvXdYQAAfj9FnesjLnzWRN+r/qWyBOM0krEdAknpJ?=
 =?us-ascii?Q?gNnxfosdhbrPjJd/Ehs5rOMVsnxIQaBiVwFkcwFQniz8notP5ccvjMebggml?=
 =?us-ascii?Q?xvv+bVn0K0/75fvkxhUqA7VM5/AAulOj9Tj8glTPItfOBIFm/zQJnm8611EO?=
 =?us-ascii?Q?236eg1BXWXIH4PB7neLSpEmkDC7vSm0keUCfsyGTpS6IDU8MC7+EbpVLeuXJ?=
 =?us-ascii?Q?Hj4k34ue2FpfV+HqB0POkXidVjf5PBG3KKgXXSHqWx5VzCMCHLjusZfhKtT0?=
 =?us-ascii?Q?hgEB7LXer5SpbuMARzrGdsT5q4pGBnA9u9SwwPrpYnzjIL56C+bVFWQ3r5yV?=
 =?us-ascii?Q?p+MGECRqDJ8OfV1lJ9s6B858sVcRSVx7+2oB/DDQV6UyLvBvu8GSlfqtz438?=
 =?us-ascii?Q?0Zayh/Rvu1QsBI/jc3Wh3Tk6HqpsaVTdu52C7VVOJrV4EFTo495wsEMk81X9?=
 =?us-ascii?Q?mG+Eua3z2zHJT9DvId/2edKw4AHAhwgs4BhUvpSoAhwvE7Sj8ucqcxIbsWrc?=
 =?us-ascii?Q?IQs5u+QAZNudSx6nHEfJK3EFV4UqDKH+y/yhMJRF2rY0BI8zm51m5SNKdcUr?=
 =?us-ascii?Q?XcCXD8H5TCRlB4Ty5zreKfr+?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fe2752bd-62ce-4b43-d06a-08d95e271569
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2021 06:53:40.8495
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: vc+Q6e7iZ/p/kCZaefhXyh2G9q5GD2yxLgfC58xEnmmXE9+5W9plB5VP1/LbmnoRZFiTuNRcLdk8gwGBXfo6WA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6864

On 13.08.2021 04:33, Wei Chen wrote:
>> From: Jan Beulich <jbeulich@suse.com>
>> Sent: 2021=E5=B9=B48=E6=9C=8811=E6=97=A5 18:42
>>
>> On 11.08.2021 12:23, Wei Chen wrote:
>>> Hongda Deng (2):
>>>   xen/arm: return default DMA bit width when platform is not set
>>>   xen/arm: Fix lowmem_bitsize when arch_get_dma_bitsize return 0
>>>
>>> Wei Chen (38):
>>>   tools: Fix -Werror=3Dmaybe-uninitialized for xlu_pci_parse_bdf
>>>   xen/arm: Print a 64-bit number in hex from early uart
>>>   xen/x86: Initialize memnodemapsize while faking NUMA node
>>>   xen: decouple NUMA from ACPI in Kconfig
>>>   xen/arm: use !CONFIG_NUMA to keep fake NUMA API
>>>   xen/x86: Move NUMA memory node map functions to common
>>>   xen/x86: Move numa_add_cpu_node to common
>>>   xen/x86: Move NR_NODE_MEMBLKS macro to common
>>>   xen/x86: Move NUMA nodes and memory block ranges to common
>>>   xen/x86: Move numa_initmem_init to common
>>>   xen/arm: introduce numa_set_node for Arm
>>>   xen/arm: set NUMA nodes max number to 64 by default
>>>   xen/x86: move NUMA API from x86 header to common header
>>>   xen/arm: Create a fake NUMA node to use common code
>>>   xen/arm: Introduce DEVICE_TREE_NUMA Kconfig for arm64
>>>   xen/arm: Keep memory nodes in dtb for NUMA when boot from EFI
>>>   xen: fdt: Introduce a helper to check fdt node type
>>>   xen/arm: implement node distance helpers for Arm64
>>>   xen/arm: introduce device_tree_numa as a switch for device tree NUMA
>>>   xen/arm: introduce a helper to parse device tree processor node
>>>   xen/arm: introduce a helper to parse device tree memory node
>>>   xen/arm: introduce a helper to parse device tree NUMA distance map
>>>   xen/arm: unified entry to parse all NUMA data from device tree
>>>   xen/arm: Add boot and secondary CPU to NUMA system
>>>   xen/arm: build CPU NUMA node map while creating cpu_logical_map
>>>   xen/x86: decouple nodes_cover_memory with E820 map
>>>   xen/arm: implement Arm arch helpers Arm to get memory map info
>>>   xen: move NUMA memory and CPU parsed nodemasks to common
>>>   xen/x86: move nodes_cover_memory to common
>>>   xen/x86: make acpi_scan_nodes to be neutral
>>>   xen: export bad_srat and srat_disabled to extern
>>>   xen: move numa_scan_nodes from x86 to common
>>>   xen: enable numa_scan_nodes for device tree based NUMA
>>>   xen/arm: keep guest still be NUMA unware
>>>   xen: introduce an arch helper to do NUMA init failed fallback
>>>   xen/arm: enable device tree based NUMA in system init
>>>   xen/x86: move numa_setup to common to support NUMA switch in command
>>>     line
>>>   xen/x86: move dump_numa info hotkey to common
>>
>> May I please ask that you follow patch submission guidelines, in that
>> you send patches To: the list and Cc: relevant people. Furthermore I
>> doubt that I need to be on Cc: for all 40 of the patches.
>>
>=20
> Thanks for your reminder. Before I sent this series, I had paid
> sometime to consider CC or TO you, I found you are in the X86 Arch,
> x86 memory management maintainer lists. And in this patch series,
> I have done some changes that affects x86, so I added you in TO list.
> Obviously, my understanding had some mistake. I will add you to CC
> list in next version.

And then on a patch-by-patch basis please, unless you see a specific
need to also Cc my on certain Arm-only patches. Thanks.

Jan



From xen-devel-bounces@lists.xenproject.org Fri Aug 13 06:54:30 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 06:54:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166646.304175 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mER5K-000654-My; Fri, 13 Aug 2021 06:54:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166646.304175; Fri, 13 Aug 2021 06:54: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 1mER5K-00064x-Ja; Fri, 13 Aug 2021 06:54:30 +0000
Received: by outflank-mailman (input) for mailman id 166646;
 Fri, 13 Aug 2021 06:54:29 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=F9ox=NE=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mER5J-00064n-30
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 06:54:29 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com (unknown
 [40.107.21.45]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ae835256-81f8-47cc-9518-d69f6bc51ca2;
 Fri, 13 Aug 2021 06:54:26 +0000 (UTC)
Received: from DB6PR1001CA0010.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:4:b7::20)
 by VE1PR08MB4702.eurprd08.prod.outlook.com (2603:10a6:802:ab::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Fri, 13 Aug
 2021 06:54:24 +0000
Received: from DB5EUR03FT005.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:b7:cafe::ad) by DB6PR1001CA0010.outlook.office365.com
 (2603:10a6:4:b7::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16 via Frontend
 Transport; Fri, 13 Aug 2021 06:54:24 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT005.mail.protection.outlook.com (10.152.20.122) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Fri, 13 Aug 2021 06:54:23 +0000
Received: ("Tessian outbound f11f34576ce3:v103");
 Fri, 13 Aug 2021 06:54:23 +0000
Received: from d62c7fd72215.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B950FFBF-1E69-444C-9B44-6EFABE2A72E9.1; 
 Fri, 13 Aug 2021 06:54:18 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d62c7fd72215.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 13 Aug 2021 06:54:18 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB6PR0801MB2037.eurprd08.prod.outlook.com (2603:10a6:4:74::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.19; Fri, 13 Aug
 2021 06:54:17 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%6]) with mapi id 15.20.4415.019; Fri, 13 Aug 2021
 06:54:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ae835256-81f8-47cc-9518-d69f6bc51ca2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lahISmC2Rj4Z/MZivjs2/ulJG1zQFRm3Al1OekUNb24=;
 b=m1R21ax+CeDSZIA3vktBlyRMUQA21PatxbO5oXUbL92IusH+FcAkdJuTKvmpe1V0/mgQt6vLSmeXmUpPsKtmWwJ7ER/PQKRLQ/wSrF/Hy7YhZtmsyKu/1ClEoGhKtrLzKACTm44oak5kx0PaPPvh2kR6KdRggJ64Dmy3vkJ3ahw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hrYSTBhgxYasOuxsbzZSEqJYtKUU9D14xdJyV07P1kXgEYyOS0qSMU32Oc9nEqTJeTFM3bENbcveaO1vxORRkRN5gL4/UXY0mdX8uwX1/4Ehpwui3hbtEr/EDkpMiA53AqrM4WczuCy9qLfoPKZJ7K6CMcN8pbiEJXSzbhmtjz69Tw9r7a5RC/u7qs0TwI9SuYUfxux0f5/RCrhX/VRxMVF0NbOZKQKZEI/oied5NG+dYmR0IArRVeUGN+1wsDiWA5JN5i1Mog2/Ul5wjxHx4fcFBlTE1oybeFsatZwVP8K4Zbo77p3A+YVNbLL8qDjcdnal57FE32byA4yAdTx+fA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lahISmC2Rj4Z/MZivjs2/ulJG1zQFRm3Al1OekUNb24=;
 b=HTP/hl88RC4Y/RXWL0MfVcFJNDmqdFmUxOQhbTRqkewIwjfQDecnr6nFV26cJbTi18WfZWq/COfmSbYMkimrP0yvithL1QGYe1yo5eTqLnbLya9Syc2KtDBcF6NHoUx7Zn+JH2plTJXVGBuJTcSJh3/otLc2EcZY5/L55g9us5PKbeG1H0kT2EYh8CpeNYTbUuquYsZj1Du2sV38lY9K07QSpOxVJujerXSVTyuwJ+MVVdrYJdwwoQzpwwAFu2zeUreKoDEDzI4iMhJPFTmarqiu7Vu7tuXJDsPSL4eVnQOVsXIsf/EgKGsLCoiX+Ejw1ZE5YcMg94M2B2IKSQttAg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lahISmC2Rj4Z/MZivjs2/ulJG1zQFRm3Al1OekUNb24=;
 b=m1R21ax+CeDSZIA3vktBlyRMUQA21PatxbO5oXUbL92IusH+FcAkdJuTKvmpe1V0/mgQt6vLSmeXmUpPsKtmWwJ7ER/PQKRLQ/wSrF/Hy7YhZtmsyKu/1ClEoGhKtrLzKACTm44oak5kx0PaPPvh2kR6KdRggJ64Dmy3vkJ3ahw=
From: Wei Chen <Wei.Chen@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"sstabellini@kernel.org" <sstabellini@kernel.org>, "julien@xen.org"
	<julien@xen.org>
Subject: RE: [XEN RFC PATCH 04/40] xen/arm: return default DMA bit width when
 platform is not set
Thread-Topic: [XEN RFC PATCH 04/40] xen/arm: return default DMA bit width when
 platform is not set
Thread-Index: AQHXjpsgsRofIZVQlECQrMelX8MpkqtuIUAAgALdEnA=
Date: Fri, 13 Aug 2021 06:54:16 +0000
Message-ID:
 <DB9PR08MB6857BDA872A6271EDE37A4DE9EFA9@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-5-wei.chen@arm.com>
 <9f3f002d-6919-bcaf-1f00-aa13ec1a2ccb@suse.com>
In-Reply-To: <9f3f002d-6919-bcaf-1f00-aa13ec1a2ccb@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: F55DBB9300A76943BFF2F41537EDA9A8.0
x-checkrecipientchecked: true
Authentication-Results-Original: suse.com; dkim=none (message not signed)
 header.d=none;suse.com; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 8ebf798c-5312-4af0-48e0-08d95e272f3d
x-ms-traffictypediagnostic: DB6PR0801MB2037:|VE1PR08MB4702:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<VE1PR08MB470234E9FB46C5F27842C1379EFA9@VE1PR08MB4702.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:9508;OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 e/X7wFvelkoW4tR9kLrtB7k/rmIurDj2xN96+YrSma/2wVRAh6hjFmemGzPIhx/lSOgvrJg2PHti20oRsD5Uh1VK3dSXP6gjoq8jDeg6wmTTIRa9dqDwr+t8FYoIbYyK0vHWJ+Gf0fkfwuP/LDqc3LO7q2Ycg4IMhf/5Dr1lMdw+BFlFynM6FBmw3h6O92wrm3Ctp0x31cppkySUgmpjO2//fSrT933nGYV6HLeL9YPrao/mnJzDVshBxowWnGkczw2wHGvF+cKT9w6dHyXvgSWIeOHyOU9PL9LG8c9+IcFXVZxr69+PX0kehZDO/fw5C1/qxTbPYoGH5vXAi3/x0GPUVaGND2x6QJobD8xmkywp2HnEgzA24lvN8b13CzoN3DDaFRd1G98AJpkSt0gllAmlCimCeGB/g7nHzPiT/fONawptxJffyUBePhKLXYbVQaOX5mE8x7m5YQd4F1A6BVTmv6LCYHCxoZYn8L7Jgzi2Msy+4ieLtmdHouz8eqyLghAsQkgR5nYyoRDw3sLDPpgg4u11FcUEQabCMpdEGYRfbvyvmcdY896CfKh/fARBQk60owHyf2fXhQUpsppLVIPQatsYxxU+sSHV0pZNpFA5I0DeZzDrp5v/1Gi5IiBhwJYvblC4bHLpS+lfASfT68TmTEpdmFGhWA48W2X4Msj9ZNCNtc+y/px4a3VWBT5Q4+UOoBR9hemmPdUxRmq6yg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(346002)(39850400004)(396003)(136003)(376002)(366004)(66556008)(122000001)(54906003)(83380400001)(8676002)(66446008)(38100700002)(66946007)(478600001)(8936002)(76116006)(66476007)(9686003)(316002)(64756008)(33656002)(86362001)(2906002)(55016002)(6916009)(186003)(6506007)(71200400001)(4326008)(38070700005)(52536014)(53546011)(7696005)(5660300002)(26005);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?T1dLVzZJdmtuOFpkT3J3eGhlUm83dngwdVVvZzhROUJPVW9Ra0Y2Ny9ua3Np?=
 =?utf-8?B?T2hhSXR2WmxNSlcyNGQxS2dnb1ZXNUo3RzJJVTBkUG5yWWJtbS8rMWdBS29r?=
 =?utf-8?B?TXIxYmx4VXpEOEx0QjlNQmNhYjRNam1LQm90Ui9TK1NwUUZjbHo3WCsvQlp5?=
 =?utf-8?B?TDFoc0VOOHZkTjhrUUlXOFJxYW9VVmhQK3dXS2FHYVdwY3NZZ2s5d1VKWGRq?=
 =?utf-8?B?ZEtHZ2sxUG5sOU9KVDQwUzRPRGt1dVdDN1BjYmpmRDRyNXR6cGw4allUK3dO?=
 =?utf-8?B?cUMzR2d6MzdKMnd4RWZ4ZDNBMmRHbGxqbXB3RnRBdUlYdTBtUHlBQ0Q1NEE3?=
 =?utf-8?B?SENXRGpPT1dDdXcxaDkzZWxjMnpRUW0rOWZnMTRicHU3S2c3NmxGRmF2Zm85?=
 =?utf-8?B?STRnclRLZ1B2TG43SzRXZ0RtQk5xWDNVV3JMSlA2d21HeE1RbHNKeEphZ010?=
 =?utf-8?B?b21mbTRocFpGNVBhMTBBU2x6ak9nNXh4M2FpbzRyZ0VtVzBrWk43VXFBU0JM?=
 =?utf-8?B?d3l5TjYrdU01Vk9UVGQyTEFuMUxUZUd6NlBVeW00cHQwQkZZS1ltVG50ZXRS?=
 =?utf-8?B?djhrZXBrMTdSMDhqMTBlMm85dWxtNTdqSDFCbXlzd1ZjRzZSQno4alhEbmdx?=
 =?utf-8?B?N0RMU1JwcVJZdnJ0TzE4eXdlQTJRTndueTRpaS9oOEVUYXM3dWJ1T3NkQnpI?=
 =?utf-8?B?Ym43RzVBRFZHZEgycXkxSkRBb2RSbFJ0cmJ0aEQ1dHFQdkFaZlI1bms3NE4x?=
 =?utf-8?B?cVpabExEZnhlc29wVFlYa3RLNzU3RnY1ZWQ3L3ZxMW50cGlMbGg1dzlzLzgx?=
 =?utf-8?B?S0x3eWZ1V0xqc3duZ1h3NjJhV3llTk00NlUxT2FmcEV5NmVzSTdNaEd0akJN?=
 =?utf-8?B?NjMvNFNkRG9oeTg1RmYwM0pRWTIzSGZyU29LOVM4MGs0S2p4Q090aUN2TUkx?=
 =?utf-8?B?aGhjdzRjZ3BlZVVHTnNhTklWRFdkbllxNkovRHhCTGN6NEdUQXBHMUpRSFN4?=
 =?utf-8?B?cWdKZGY5c1pEelU5cnQ0cW8yY1hQZkxhNzIyZEVZc0hTYU5OY3Z2cHlXdkQr?=
 =?utf-8?B?c1ZhOSs2VHVIb1R4STFqdm5LaCtvd2xQTnZNMjV6c3RZWlVMOGlUUm5XTmta?=
 =?utf-8?B?RVJvcjU2c0FLUlBvTGJBTnRuNW83M291dmdyMzRRd3l3Y2JFTG9TcjBNRzhT?=
 =?utf-8?B?T3VnSlIwN0JrZ1JMT0VnT2ZNcXpNa1RrdnpqZ1BtN0xzYjdxVFhBcHRWQzhl?=
 =?utf-8?B?MnBMZVBXOXZNNExPM284Z1VIZlVraTZqUG1ZdGdId3BXaVIrVUd4WlVyc0cr?=
 =?utf-8?B?NlBOOUxSOXQ4WGdXcWhhNnFQRTZmRyswcS83cnE5S1A2MVV2N29yQTRtcmIv?=
 =?utf-8?B?Nld0RGY3aEhtZXZpcW5tYmxWU0txcXZGTW0yU1BobUlLdTV0cmZGVHBWQkEy?=
 =?utf-8?B?aHdhRGhVZUN1Qm10MDViU2VwUWZ4azJmYS8yZDdBeHpqbUpXOFNDTFBrTVpJ?=
 =?utf-8?B?K1ovUHUyd3NFV3lleFdaYlljMFhoYnBneWZlK0Z2dm1PSnJtM0R6K3pRVWVv?=
 =?utf-8?B?Q1F0MnI1QUd4NjVVYjQwMzFzWkZVZWp3blI2cnRrTnN4aHJSeC9IajdVUW0y?=
 =?utf-8?B?SXNvMW8zbkVsL2FhS1RWeGJRc2tmMXFDZ08rdFVIMjJHZVVnWlFiTlVLdEVQ?=
 =?utf-8?B?L0VieStveVUzWlR5R0JTM0tmeVp3M0QwS1ZtSWVqOW5MTlZaNGpRdlMreWRU?=
 =?utf-8?Q?IKKpQ/4kK1AFPtG5rndyaywy7JYktwe+dv+xogB?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB2037
Original-Authentication-Results: suse.com; dkim=none (message not signed)
 header.d=none;suse.com; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT005.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	4d6b3558-a2d4-48c5-ed7a-08d95e272b06
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	kWwQFNIMJF07NP/X0zFV90VqnBpbd3nUlwui+uUKzrrUoKHZShMh5NNQ3sWfnk8nzFFrWGYzTdsYb/gH9FReq150oIR7RPYP5r3aRrehTW/JJHb8xHIYyaBPAMzJ2VAPrbFdgMhDnEMXFsyDNcEhvoEz0e5renYMMRQFSz2hGFomebeyLMDFq+lhkGvzZOXJXWXnAi8DYScSRaCbqDWkrR2rvfk/M/jbBhW8tAAXZJ2Ukzh7zGuIOTyC7Fv+wJiZt64FlbYkefzwlG+flZPzDHZu4GECBOFFCI4pFAhY9SDmrW2JFVrvB6T21tDV9DjBwWF7a9xOF25R0ESAVvhuahn2lqw9XUE16/injLueulnXIAA72ioCS8jxChZ5Z1Qdc0GC6QNo+GSLf4qObkSnJ+BtFe1tqfppYkUbHKkZ7al/XdpB4Q2HMq1aoEyG04/Zowuq6MFqtXoXkTSuO1hTkkwT12u1a4LWrA5qJaAzbp+UaKihAlwrukERFsNp8ANI1NckeiFW3ocrv9DhKNJ30/Uam/1SKcnchnT1Phw0+FFj9iv8Rzz9zoF8KEENoj9OT2B8+hKR5vpxyO92Lae+9vnbPgxRGV+D/HZF5831OLky9r60GQWr109fkYD3MTNN3xgbrwpWkjMRa8zfBFS3WzRnC24vXfMF59INcnhDYq2Ooyojx4ePqYmZ/DeFO4ObslqK7A2i2upc/jn0jlHPSg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(136003)(346002)(376002)(396003)(39850400004)(36840700001)(46966006)(53546011)(478600001)(47076005)(6506007)(26005)(36860700001)(83380400001)(6862004)(4326008)(7696005)(82310400003)(33656002)(8676002)(186003)(8936002)(336012)(82740400003)(9686003)(52536014)(70206006)(70586007)(81166007)(5660300002)(86362001)(356005)(54906003)(55016002)(316002)(2906002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2021 06:54:23.8816
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8ebf798c-5312-4af0-48e0-08d95e272f3d
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT005.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB4702

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMeW5tDjmnIgxMeaXpSAxODo1NA0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiBCZXJ0cmFuZCBNYXJxdWlz
IDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+OyB4ZW4tDQo+IGRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnOyBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqdWxpZW5AeGVuLm9yZw0KPiBTdWJqZWN0
OiBSZTogW1hFTiBSRkMgUEFUQ0ggMDQvNDBdIHhlbi9hcm06IHJldHVybiBkZWZhdWx0IERNQSBi
aXQgd2lkdGgNCj4gd2hlbiBwbGF0Zm9ybSBpcyBub3Qgc2V0DQo+IA0KPiBPbiAxMS4wOC4yMDIx
IDEyOjIzLCBXZWkgQ2hlbiB3cm90ZToNCj4gPiAtLS0gYS94ZW4vYXJjaC9hcm0vcGxhdGZvcm0u
Yw0KPiA+ICsrKyBiL3hlbi9hcmNoL2FybS9wbGF0Zm9ybS5jDQo+ID4gQEAgLTI3LDYgKzI3LDcg
QEAgZXh0ZXJuIGNvbnN0IHN0cnVjdCBwbGF0Zm9ybV9kZXNjIF9zcGxhdGZvcm1bXSwNCj4gX2Vw
bGF0Zm9ybVtdOw0KPiA+ICAvKiBQb2ludGVyIHRvIHRoZSBjdXJyZW50IHBsYXRmb3JtIGRlc2Ny
aXB0aW9uICovDQo+ID4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGxhdGZvcm1fZGVzYyAqcGxhdGZv
cm07DQo+ID4NCj4gPiArZXh0ZXJuIHVuc2lnbmVkIGludCBkbWFfYml0c2l6ZTsNCj4gDQo+IFRo
aXMgaXMgYSBuby1nbzogRGVjbGFyYXRpb25zIG5lZWQgdG8gbGl2ZSBpbiBhIGhlYWRlciB3aGlj
aCB0aGUgcHJvZHVjZXINCj4gYW5kIGFsbCBjb25zdW1lcnMgaW5jbHVkZS4gRWxzZSAuLi4NCg0K
T2ssIEkgd2lsbCBwbGFjZSBpdCB0byBhIGhlYWRlci4NCg0KPiANCj4gPiAtLS0gYS94ZW4vY29t
bW9uL3BhZ2VfYWxsb2MuYw0KPiA+ICsrKyBiL3hlbi9jb21tb24vcGFnZV9hbGxvYy5jDQo+ID4g
QEAgLTIyNyw3ICsyMjcsNyBAQCBzdGF0aWMgYm9vbCBfX3JlYWRfbW9zdGx5IHNjcnViX2RlYnVn
Ow0KPiA+ICAgKiBCaXQgd2lkdGggb2YgdGhlIERNQSBoZWFwIC0tIHVzZWQgdG8gb3ZlcnJpZGUg
TlVNQS1ub2RlLWZpcnN0Lg0KPiA+ICAgKiBhbGxvY2F0aW9uIHN0cmF0ZWd5LCB3aGljaCBjYW4g
b3RoZXJ3aXNlIGV4aGF1c3QgbG93IG1lbW9yeS4NCj4gPiAgICovDQo+ID4gLXN0YXRpYyB1bnNp
Z25lZCBpbnQgZG1hX2JpdHNpemU7DQo+ID4gK3Vuc2lnbmVkIGludCBkbWFfYml0c2l6ZTsNCj4g
DQo+IC4uLiBhIGNoYW5nZSBoZXJlIChvZiBlLmcuIHRoZSB0eXBlKSB3aWxsIGdvIHVubm90aWNl
ZCBieSB0aGUgY29tcGlsZXIsDQo+IGFuZCB0aGUgY29uc3VtZXIgb2YgdGhlIHZhcmlhYmxlIG1h
eSBubyBsb25nZXIgd29yayBjb3JyZWN0bHkuDQo+IA0KDQpTb3JyeSwgSSBhbSBub3QgdmVyeSBj
bGVhciBhYm91dCB0aGlzIGNvbW1lbnQuDQoNCj4gQWxzbyBJJ20gYWZyYWlkIHRoZSBkZXNjcmlw
dGlvbiBkb2VzIG5vdCBtYWtlIGNsZWFyIHdoeSB0aGlzIHZhcmlhYmxlDQo+IGlzIHdoYXQgeW91
IHdhbnQgdG8gdXNlLiBDb25uZWN0ZWQgdG8gdGhpcyBpcyB0aGUgcXVlc3Rpb24gd2h5IHlvdSBu
ZWVkDQo+IHRvIGNvbnN1bWUgaXQgb24gQXJtIGluIHRoZSBmaXJzdCBwbGFjZSwgd2hlbiB4ODYg
bmV2ZXIgaGFkIHRoZSBuZWVkLg0KPiANCg0KRGlmZmVyZW50IEFybSBwbGF0Zm9ybXMgbWF5IGhh
dmUgZGlmZmVyZW50IERNQSBiaXRzaXplLiBTbyBpbiBteSBwcmV2aW91cw0KdGhvdWdodCwgSWYg
QXJtIHBsYXRmb3JtIGRvZXNuJ3QgcHJvdmlkZSBhbnkgRE1BIGJpdHNpemUgaW5mbywgSSB3aWxs
DQpyZXR1cm4gdGhlIHN5c3RlbSBETUEgYml0c2l6ZSAoZG1hX2JpdHNpemUpIGluIGFyY2hfZ2V0
X2RtYV9iaXRzaXplLg0KQnV0IHlvdXIgY29tbWVudCBtYWRlIG1lIHRoaW5rIGFnYWluLiBNeSBj
dXJyZW50IGNoYW5nZSBtYXkgaGF2ZSBmYWxsZW4NCmludG8gYSBsb2dpY2FsIGxvb3Bob2xlLiBk
bWFfYml0c2l6ZSBhcyBhIGhpZ2ggbGV2ZWwgdmFyaWFibGUsIGl0J3MNCnZhbHVlIGRlcGVuZHMg
b24geGVuIGJvb3QgY29tbWFuZCBsaW5lIG9yIGFyY2hfZ2V0X2RtYV9iaXRzaXplLg0KSSBjYW4n
dCB1c2UgaXQgZm9yIGFyY2hfZ2V0X2RtYV9iaXRzaXplJ3MgaW5wdXQuDQoNClNvIEkgdGhpbmss
IGluIG5leHQgdmVyc2lvbiwgSSB3aWxsIGRpc2NhcmQgdGhlIGNoYW5nZXMgb2YgZG1hX2JpdHNp
emUsDQpqdXN0IGtlZXAgdGhlIGNoYW5nZXMgaW4gYXJjaF9nZXRfZG1hX2JpdHNpemUgdG8gcmV0
dXJuIDAsIHdoZW4gcGxhdGZvcm0NCmhhc24ndCBzcGVjaWZ5IHRoZSBETUEgYml0c2l6ZS4gSnVz
dCBsaWtlOg0KDQp1bnNpZ25lZCBpbnQgYXJjaF9nZXRfZG1hX2JpdHNpemUodm9pZCkNCiB7DQot
ICAgIHJldHVybiAoIHBsYXRmb3JtICYmIHBsYXRmb3JtLT5kbWFfYml0c2l6ZSApID8gcGxhdGZv
cm0tPmRtYV9iaXRzaXplIDogMzI7DQorICAgIHJldHVybiAoIHBsYXRmb3JtICYmIHBsYXRmb3Jt
LT5kbWFfYml0c2l6ZSApID8gcGxhdGZvcm0tPmRtYV9iaXRzaXplDQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogMDsNCiB9DQoNClRoYW5rcywNCldl
aSBDaGVuDQoNCj4gSmFuDQoNCg==


From xen-devel-bounces@lists.xenproject.org Fri Aug 13 06:56:08 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 06:56:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166651.304186 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mER6u-0006jR-2V; Fri, 13 Aug 2021 06:56:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166651.304186; Fri, 13 Aug 2021 06:56:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mER6t-0006jK-Vh; Fri, 13 Aug 2021 06:56:07 +0000
Received: by outflank-mailman (input) for mailman id 166651;
 Fri, 13 Aug 2021 06:56:06 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ewIu=NE=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mER6s-0006jC-Nu
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 06:56:06 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 8766e53a-fc03-11eb-a25f-12813bfff9fa;
 Fri, 13 Aug 2021 06:56:05 +0000 (UTC)
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2058.outbound.protection.outlook.com [104.47.0.58]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-26-PWAXmOg8MZ-5GPMuxril9g-1; Fri, 13 Aug 2021 08:56:03 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB6864.eurprd04.prod.outlook.com (2603:10a6:803:138::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16; Fri, 13 Aug
 2021 06:56:02 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.019; Fri, 13 Aug 2021
 06:56:02 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0192.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1c::36) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.15 via Frontend Transport; Fri, 13 Aug 2021 06:56: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: 8766e53a-fc03-11eb-a25f-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628837765;
	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=kQ8iN2HmwXT8aMDM0QQrRUm0E3KZ90ZjQ1txQyFPUtY=;
	b=dbRgbXpTmlBuK1gN28LVDJnzxhSU0R8f48/TyjVgl3gSlmHzppnp4g7Wr86ESv1F2smnR4
	uNlsZvc/TsKlwiU5r32Q8tap+SB2mWXbb76lZb6nRC1ci5Q+mhqkbVatCJB5mrSUbt63mU
	lHj9x8DzBWZuuOWIa0Xx7/niA+dIZ1k=
X-MC-Unique: PWAXmOg8MZ-5GPMuxril9g-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BqygkNx4u5O3c1TqMjxIQS/XFxSUi/DGeas3u9jNxT4UxwDe4ogW4G0EODiIHZ0x+aCvRMktxEU0aCrhnDgsvHZULAqzxa9zVQUuhqwESGbONuqQzLjPR6Tjax0bf729+DxeYd+JK08bJr8b6PtwqWaHiG+6tASE9UrtTkLBN45UCHAElSJBYEX4kpCYKM74oUoYncHamhRVJsot9dVh614GaXAev9/pxndFhnPTCVZjVb0Q51CrFmmJnZ13Yqr6NszUvqgFond0vmplHKzM33964I2BL90NMamoGMJ+QNFJiXHZsYjhI9QMkOhL1SJcLpiuRm6Tuxl3agoMtWe/lQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bCzRmmkQnWmJojPOPOlxiAyqEbOUIZf/WSJPKdTenkE=;
 b=JyCOpRi95onrRt90U4aMQ4nRAmf7dXy0COE4BpZ8yL6yrAOcP4BehiJKbPeUwBvdaqSB4n/YwJN5BUHlq3aqNlYKmmZQnsJnr2LUFDqMGtz4BygSbr5qp1j0xuW9wu7qSvTQLrqxd9LX+M6sSbbz50rLFx0j7DZJQ/gdi6NotD04pLtcvpRDgmlyrPUliFDXDd/sUNLJbR56bN6RjfyNUh8eV7xOHBN1G7Gm48r5YcPYv1X9BmjrQndITc5DGpM8XLtzIBnvAaRI/Gv+KUMOdDLTCvjFB/Fd6oTsXrq9mv4iyMKqMKT1DAgHYvCqM3NIHoLjsEOS22gZMRL+5OqinQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: Re: [XEN RFC PATCH 04/40] xen/arm: return default DMA bit width when
 platform is not set
To: Wei Chen <Wei.Chen@arm.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>,
 "julien@xen.org" <julien@xen.org>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-5-wei.chen@arm.com>
 <9f3f002d-6919-bcaf-1f00-aa13ec1a2ccb@suse.com>
 <DB9PR08MB6857BDA872A6271EDE37A4DE9EFA9@DB9PR08MB6857.eurprd08.prod.outlook.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <873d9cac-194e-bd4c-57bf-5789b50512e8@suse.com>
Date: Fri, 13 Aug 2021 08:56:00 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <DB9PR08MB6857BDA872A6271EDE37A4DE9EFA9@DB9PR08MB6857.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: PR0P264CA0192.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1c::36) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 93d49f7b-18c3-480c-887d-08d95e2769c7
X-MS-TrafficTypeDiagnostic: VI1PR04MB6864:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB6864635E234F2E67F5A36358B3FA9@VI1PR04MB6864.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	06zR8EW9ZAcTzbKEtkQRZ4MzKkkcPbwd7k0I2DaPHd3bQq/Wq2I7iJDTctQ6pTz5gD+0MM5xlRkp2XY3X0AtQ0IFwWDxJHdd2rwzWvOaSLEXy9Fvrb83GbgjxyXiJPjF2qGNJm/LUlrkFvThCD5ZuNzLQYk+gwWPdQHmtU1FmAc4YBP9TvAZMwvm30J/2/VaE4udvwgp74lR9Q1ircqh2h6BIMbzxVEwpJsWl4crG59xYqhEGpLCbnmDazA4KPnFNQ+BlAArwBSbllSL7Q62wYdsE4bT4Ypr04fKp4ie1993jx6aO1D1L+61D8gNEzxIbzVMwaZtnwpPFkGTMZJFDSwu0E8QQoaQIwxFic0DXel/ZSHzfWRy9TB2ISHWJss0viHLyVmiouGYVnMOoXB4IjReGN3hb6Wp/aO2UOr+kCgbVGX2IoCrmfJCPDO97gYu3wl7x7CUqJqtf/RJAcdspXYadKkYD76FE9siN8On+/z8Y4nfsXCVYB8vRnFB/lYvxvTnW5a17O45GSbzAeo5bBEEADup0T6KRFQ8xoz1QlFUFpQiLzFLJOt/I/kCTRzTyDBz6UI9cA8h+BlmuPooBdkh5uoS83XQ8wzuWeXm90ELrQiRsMd/DLUtJ3FNSPMWMhBlVK36TvYiW4V66nuN+z5Nqpr7N1GqnUkwU+1z2X+n/TSimn4SZ52Hk2NF7JKcrhlApfsSuJ+0NgBXkFq8xpptrj9iqWphs8dIHypFhAQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(86362001)(4326008)(316002)(6916009)(2906002)(5660300002)(16576012)(956004)(31686004)(83380400001)(53546011)(508600001)(38100700002)(186003)(26005)(2616005)(66556008)(66946007)(66476007)(8676002)(8936002)(54906003)(36756003)(31696002)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?rOhiiyksjBwyAJZFo3M6NVtmwvlS17YgKhqfpNlaCIXKah6Z7l4IvJ+QnOGv?=
 =?us-ascii?Q?09twgIyqGzMnFAntwQFgkoEe/sMpEdECc9pHTut1imcvjfJhSPGzbXPQ4UPd?=
 =?us-ascii?Q?TPM64bHcmJUP0I/obD/FYZqWBxjI627MgvSq6GHufdW6G0NNG7kZQabvx75L?=
 =?us-ascii?Q?xGwiwobDO58ESa3+sGjdGWhYG8vzW6zziKwv5HbGiBKggASDWv190KRySLHJ?=
 =?us-ascii?Q?NlnZBpoYwRT9IB7vFiuow4PHoqdAClAb9Sed07wHov+IswgQy+1PMxP0cv/A?=
 =?us-ascii?Q?7FebV0D9qOpOtDgtX4CT5vilJn7RA7Ev8uUS7pYQqOZTDwMz3pIlw0LZl2YU?=
 =?us-ascii?Q?lvDpLEDmVt+kjoPVVDsP+cyHpUPxDrnUi1Hbnw/EVh12MeyPFUv+mUagFAgw?=
 =?us-ascii?Q?lXAETLk51nX1VB4ZQyzZIiSvnjSABd1yluYwEKo5op9x5xsW45UVKhDob2AL?=
 =?us-ascii?Q?BACrZF5LbX2uUUG/MLkU7/g4I0JM2Q2XbfMsBhm4w7lqRmgVPqrrEmU1xiIo?=
 =?us-ascii?Q?XrONK9DQGuBl+cxLE4YJRdwxXmwD2Mi74rWhOIDconKsCP5Blyv515mjqsVs?=
 =?us-ascii?Q?wJUgFIa+Wi30Qyisjh9KKfolsWUXcgKdWY75wW8PkYy7AmdCo9ypVZJD8ozR?=
 =?us-ascii?Q?xJVvnFcEhqxvqz19zapjcLO6P1cXHetqI1QPwuDJJVdS94p/WhocHE+Mv1A2?=
 =?us-ascii?Q?8CzoX3yDsVOrO+G4LdL43tR4iW9WSSOGm4eJyUXaarZYVQqZcVqAlIPGJPtQ?=
 =?us-ascii?Q?Kw7MZcklP+BKu6VsOaMr0ML3OxJvszX+oItde+n0FfpKBilMPP2uVro/TlRS?=
 =?us-ascii?Q?uR6Th9TO+ot9FjBf5bCaUuo2Ub7G9T80G5xlxaplGpPB2IkWOrv4KjqHswSv?=
 =?us-ascii?Q?NAiTcPD/tq/fA1PtujWcW/23QLTGEAcFFTFkDRfEa0OvAG6dN8ATqnEymmUQ?=
 =?us-ascii?Q?10IDZV36HL6Qv7EG/DxdmLEzV01/vi15OVvcw/6xJ7zxZEvJnru6mudn2JOC?=
 =?us-ascii?Q?cCG/Ynepk0DCuiFIdaxk9nb+dBFxDkw+QjxP7ZM/Mtn6zQusPt5bLOCIfnoC?=
 =?us-ascii?Q?PD58cbb/FP0dyMZbg9GiRU2X8TIeWmVjWNeJsWuvuoeNj6KdqdhcuBToQm5D?=
 =?us-ascii?Q?WbfEdwcd5YterBq52VGLwDaK1fWNZlwqDqjW8v7GfFS5WsqG1IYalpQPFl8z?=
 =?us-ascii?Q?CvTmggIl69SsCpxifZbWIrtvfh8Tf1zjsJykFXNE731ue4YSVSMFihTG5bKW?=
 =?us-ascii?Q?K75kUKLX/VdSK8lzkVssxh006bJyKoaW6atwKq7rncLD85F3AUCMH5AbSfEs?=
 =?us-ascii?Q?EjFOE5YZ/SEmu0jDeN2FEnlT?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 93d49f7b-18c3-480c-887d-08d95e2769c7
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2021 06:56:02.2154
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Vq6x4j0SlVkfMQ9jG5sfiwB/4Cm3UdonFl1OYov8D6Ol43pHWWG5iPY+l6xPP7IWEuSii8dDrfNxuFyqpwb5tQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6864

On 13.08.2021 08:54, Wei Chen wrote:
>> From: Jan Beulich <jbeulich@suse.com>
>> Sent: 2021=E5=B9=B48=E6=9C=8811=E6=97=A5 18:54
>>
>> On 11.08.2021 12:23, Wei Chen wrote:
>>> --- a/xen/arch/arm/platform.c
>>> +++ b/xen/arch/arm/platform.c
>>> @@ -27,6 +27,7 @@ extern const struct platform_desc _splatform[],
>> _eplatform[];
>>>  /* Pointer to the current platform description */
>>>  static const struct platform_desc *platform;
>>>
>>> +extern unsigned int dma_bitsize;
>>
>> This is a no-go: Declarations need to live in a header which the produce=
r
>> and all consumers include. Else ...
>=20
> Ok, I will place it to a header.
>=20
>>
>>> --- a/xen/common/page_alloc.c
>>> +++ b/xen/common/page_alloc.c
>>> @@ -227,7 +227,7 @@ static bool __read_mostly scrub_debug;
>>>   * Bit width of the DMA heap -- used to override NUMA-node-first.
>>>   * allocation strategy, which can otherwise exhaust low memory.
>>>   */
>>> -static unsigned int dma_bitsize;
>>> +unsigned int dma_bitsize;
>>
>> ... a change here (of e.g. the type) will go unnoticed by the compiler,
>> and the consumer of the variable may no longer work correctly.
>>
>=20
> Sorry, I am not very clear about this comment.

I've merely been trying to explain _why_ the declaration needs to be
in a header.

Jan



From xen-devel-bounces@lists.xenproject.org Fri Aug 13 07:27:14 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 07:27:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166656.304196 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mERas-0001WY-Cm; Fri, 13 Aug 2021 07:27:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166656.304196; Fri, 13 Aug 2021 07:27:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mERas-0001WR-9u; Fri, 13 Aug 2021 07:27:06 +0000
Received: by outflank-mailman (input) for mailman id 166656;
 Fri, 13 Aug 2021 07:27:05 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=F9ox=NE=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mERar-0001WL-7u
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 07:27:05 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com (unknown
 [40.107.7.70]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 14f422ac-4f5e-4891-a199-b7a1aab9edcd;
 Fri, 13 Aug 2021 07:27:02 +0000 (UTC)
Received: from AM7PR04CA0021.eurprd04.prod.outlook.com (2603:10a6:20b:110::31)
 by AS8PR08MB5877.eurprd08.prod.outlook.com (2603:10a6:20b:291::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Fri, 13 Aug
 2021 07:26:52 +0000
Received: from AM5EUR03FT013.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:110:cafe::1f) by AM7PR04CA0021.outlook.office365.com
 (2603:10a6:20b:110::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15 via Frontend
 Transport; Fri, 13 Aug 2021 07:26:52 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT013.mail.protection.outlook.com (10.152.16.140) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Fri, 13 Aug 2021 07:26:51 +0000
Received: ("Tessian outbound 8b41f5fb4e9e:v103");
 Fri, 13 Aug 2021 07:26:51 +0000
Received: from 130f74c92ffb.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 9A4E689D-B6B2-4EE6-A469-858037017277.1; 
 Fri, 13 Aug 2021 07:26:40 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 130f74c92ffb.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 13 Aug 2021 07:26:40 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB9PR08MB6412.eurprd08.prod.outlook.com (2603:10a6:10:23d::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.16; Fri, 13 Aug
 2021 07:26:38 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%6]) with mapi id 15.20.4415.019; Fri, 13 Aug 2021
 07: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: 14f422ac-4f5e-4891-a199-b7a1aab9edcd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=waBnRL6mZlYP/FHo3pZ55grBJQsKkASeMrp/wNsqN6E=;
 b=6qvwWXIxix74XPvaZzIB6K6ItFu98WxJEAd9mJmlQd2kR5FXBUfoIFi37agJ2YTFq0v208rcm8dK1H9/6nTV8wBBBdwNQAeOfYAtgHMmHC7HKY7OvQRZ5QATyScfhOQPy+hgfyfOe7qNEUCuJilchYtVtGaEO3GbILiRdFBRD0E=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=J1YLTtOQ2psqFrzwrR5MIoDbY6CUyNBsptglAILBj1VOorMGU+gLWlrUBtHS9xB/eeE39vf0DsyZGrigaaNHpLhGg2NJp+02aokHaCD9BDpJQcetsozy+mWLXXz+41sWXmXoJNoWdIRBrEarn686Y1GIua14slHYilzdLrLh1Q7EkfQOiAjv+JH9jTALWfiSLRLJuQxYeSeP1rIwGEhh3sUU7WL9vjVIeSxIs/4Rz9OqdGN0oEnSnxGDzrTGuRJYUXAKnkjhAKugtUXxgnshcpzeoHpWyAIa69D7quLj89X56wNiq/h1Sldobjqe0r8UEo3mFvVYVW25qa9z5LK7JQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=waBnRL6mZlYP/FHo3pZ55grBJQsKkASeMrp/wNsqN6E=;
 b=dhOxhHrtmrRZx1YHgSzhAyDQFNX2lTTN+aBgzQkgMzXK+blZeypRPK8Jc8MUJUuJpnQtT2BlqCH91DVU//yCBJfwASGOsYd2IuFzSxVtEn+ZApEuh6tDFKP0HA8oMcXu6sWeFXmi7kYFoUtnVSQrXlh4pweFb5UNNj+2iQcsvGLTRnsbBjyG9Jhjbhm5BFWuSIp93wbHwRil+KYoFdN6H073McmjZ1dK2G4BwvGAWo97lWB4wKG+XPMDzWI/cFuVDIxAaqTZ/FN2qKJB6lgoLOqitQfDJdpYWcPqBpv/KNjPoUQclVs5E40zG6u2a4jZZI1yd5rTuN2zdhV9MQ58Cg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=waBnRL6mZlYP/FHo3pZ55grBJQsKkASeMrp/wNsqN6E=;
 b=6qvwWXIxix74XPvaZzIB6K6ItFu98WxJEAd9mJmlQd2kR5FXBUfoIFi37agJ2YTFq0v208rcm8dK1H9/6nTV8wBBBdwNQAeOfYAtgHMmHC7HKY7OvQRZ5QATyScfhOQPy+hgfyfOe7qNEUCuJilchYtVtGaEO3GbILiRdFBRD0E=
From: Wei Chen <Wei.Chen@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"sstabellini@kernel.org" <sstabellini@kernel.org>, "julien@xen.org"
	<julien@xen.org>
Subject: RE: [XEN RFC PATCH 03/40] xen/x86: Initialize memnodemapsize while
 faking NUMA node
Thread-Topic: [XEN RFC PATCH 03/40] xen/x86: Initialize memnodemapsize while
 faking NUMA node
Thread-Index: AQHXjpsc6z0fOQXTYEKFO+6xoMr0S6twAXCAgAECu5A=
Date: Fri, 13 Aug 2021 07:26:38 +0000
Message-ID:
 <DB9PR08MB68571676C6528B0AA56CB1659EFA9@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-4-wei.chen@arm.com>
 <106dff13-e997-db8d-babf-0d6a73146ca3@suse.com>
In-Reply-To: <106dff13-e997-db8d-babf-0d6a73146ca3@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 9302568A130EB449BFFB7C695C85EF43.0
x-checkrecipientchecked: true
Authentication-Results-Original: suse.com; dkim=none (message not signed)
 header.d=none;suse.com; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 51a8d2fe-ca10-4890-c695-08d95e2bb84d
x-ms-traffictypediagnostic: DB9PR08MB6412:|AS8PR08MB5877:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AS8PR08MB5877F3FBB2F95A06C9B687039EFA9@AS8PR08MB5877.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:9508;OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 VvD0YaOONismAnExJSMh+G9A3lYBbE7FCcOOJJ+UmTRavpJkfMHs5GGj52C24gfWPKxs6E87sZkd1gJVszCAJxcSU5Y2s6yioIhKY9nNf5qGqDLg7ohS09pkJ6yXQeHitBo0tTKMmGEF7OpVNC3gxjyn2LTersX/1hkjOHoIzbTMLfSo292wQYP/CVEDiS7r4QCxR9R/9tJHs1JEJojMBI8E8DyDcLa3pD+uSnX8pfjuPtCbdpwbwpRq71zNs//XA5sf9Y+eyQfFGsrS+K7JalxhWx/43+1Ad+iJTEGNWHaqjYW3kwr/z9EorPfFiNu9L8a5SCFhhoDb3Jopq7c9rAh1EowUe/izRd7riJ9kRdOzQxPOaONp9pLC5uVt0v1qkeqqq1fvYFpJYRJH7XMfVy3BBhxebPPFwSOa/pkviCpfQTXTNO2HUVRecKYwJNuuypHpQUHHglbZXSTWPWgy+G34A0bqjojW54p2c9O63dXRvhd3FMKvhzGcJqToarSdhtHHJJyRkIguBgEWeoRVavncKyjT1FIFadq7q4qsD/zuB5hSiKkHHE4tq5RmKtaUJIl16JbHBiW2vHLsnysPdEANBtUdixQhhZEHhoIhlMcy0fSeGsy3ytpMqL0GHErvNFok+jgXj6DbmcwRABN25I0x20SN7clrtn8CEmU5JDVV7KD4LEaeCdo44i+uCRQ7xU2kOnGSaLzphSt3ecTT6g==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(39850400004)(396003)(136003)(346002)(366004)(376002)(83380400001)(8676002)(86362001)(33656002)(478600001)(2906002)(316002)(6916009)(186003)(66446008)(52536014)(4326008)(66476007)(66946007)(64756008)(26005)(9686003)(66556008)(7696005)(8936002)(38070700005)(54906003)(53546011)(6506007)(5660300002)(76116006)(71200400001)(38100700002)(55016002)(122000001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?ekJkc0U4TGJaTkxEamNRb2lWZzJBeHdDMk91dkdVTnhGYkZaeXNVUHNXTkNI?=
 =?utf-8?B?UjVqY1FzWWhLWEExY3FpRVhBQ092TW1sYWV1dG9yK2VjNU5TSmVhVjd6TmRK?=
 =?utf-8?B?S1ZOZE84YzBNcUFNaFZIM0xlSWlReWlIa1V4WmRmRi94TVYyY1pjaVBuN3ZC?=
 =?utf-8?B?d1VPU0RJa2JpNXZMMVoyQlMvcmJSOGlCcVpQZW5HblFrTm04a3NaUWNNRHFs?=
 =?utf-8?B?RFpjRDNMK2RYZFhyWGwwWTAxSjFIVWNPaFJFU2JXNFozQW1UK3BUSk5sa1k4?=
 =?utf-8?B?dEJXR2M2d0FSRWlGejF3ditudzFiYlNndnNkZ1llYUlQQThEanpuWUpaNzBT?=
 =?utf-8?B?NFBoUklHREhCNmluR0ZabDBnQ3FUcXkreFptU1l6TEp6VVlQcC9GMzRFc1Jr?=
 =?utf-8?B?bDhRYkZIM0orTDA5TTdBUTkyVmdDb29QbUxGbm5jVzMxRndKM1dIN01TamtV?=
 =?utf-8?B?ckh1eDJtYUZDV3ZZQk9YZS96SG1HWW91eWZGeDgwanJ6MXNueHpLSEw0bXpo?=
 =?utf-8?B?ZkVwVzZvanRidzMvc0pZVW5oVnc4NnpmcWNhY1ROVXhSSkJ4V25HQjBhQUR0?=
 =?utf-8?B?OThNY3NZZHdLZEZBVGdaT051OForb2luZDNZc1JmYlExRWU0TFF6aXlPcEFX?=
 =?utf-8?B?Nkkvc2NvM2pURWI3ZGxuYnpVYmxlTWI5TUFoZGkzNVNoTm5qMDhQeTNiNFZP?=
 =?utf-8?B?NjQxSjZFbmtTMTZ5TFVRWmhQcGtsVURuNE1mSTVIbmFWV1BTYlJpYjVGcVZ6?=
 =?utf-8?B?a2I1UG9SZ282WnRnSm1JSk1wdWlqVUtXaldTZHI0NzE4VGdCcG9wVm81OXVv?=
 =?utf-8?B?bDBsUHB2OGlPM0dHZVdLSG1XU2VuNWx2SDNSNGlZNDRHekxKUkxPckdTbjVG?=
 =?utf-8?B?OEZWc1hIcVFYd2RSMlplQnNjaUhaN056ZkFjcGhtelJycEN1SG5QRzZld0Zo?=
 =?utf-8?B?K0kxSHJuUk5vT1BmSzVKODUwNXhwenZPTVl1VTZyNGphRXRVb2hCNi81QUVW?=
 =?utf-8?B?ZUUyZXZFWCtNWTMwR1oyWHpvdXhCTkpvRkZtL25IblR2ZzBpTVRaZE1KQWJM?=
 =?utf-8?B?ODZoRC85cFhxSHZOM3NDbVEveDFpT1JvNzZWVEFuaktncmhBa1JWUkJDamg1?=
 =?utf-8?B?c3hPc0hTYWsvZkM3RjN6WEJzeFQ2cHRFWUFCK2tXR2xSTEhEVU9uNGhFQ0Rp?=
 =?utf-8?B?UXpZTkVUUHBJV1c3UWpWV2Q3UDV4RE1oR0lZSWZLZVo1ZWpXcG4vTXVMTmdR?=
 =?utf-8?B?Ukxad0xOQkIya0FPcDcxblRUTjhPaVcvVlFUR0RHc0pjRm8xK3AxcWdWN243?=
 =?utf-8?B?ME5qSUwwcy9nMW5pcWZhbC9xM1QvbHVtNm5NSmw3VDA0Vi9lVDNjME92c2Vj?=
 =?utf-8?B?bzhNU25QTzdEdmE1UUVSOUZLYWRZa2MrZ3cwUVl6eVhiK3VCMUR2Z2o0QTF5?=
 =?utf-8?B?YmJzVFl6N0xBbEVBaDhqMU94UW0ycC92cVpETUZOeXUxT2JRV21COE1oa1dh?=
 =?utf-8?B?b3RENll2aVRGUjBWV3BwNVFjbWFBUG5Ja20wRThHRGZHQ29yZFJTREZtaHdl?=
 =?utf-8?B?Y3JZakZrQkM0ck5zR1NVVkRUVjFDY3p4TVh0S2lCK3NaMUhad1lUWVNWeWtz?=
 =?utf-8?B?WmNEa2RFWC82Qk9iWENuT1dtTTNPdXZudEUxL0tKdWROVDZoa21NQ3ZuZjc4?=
 =?utf-8?B?QWNEMEQ3NHo3ZFJrVkcxckdENTA0aUsvc3IzUjQ4WXBGNjc0ZlJEbTlZcTZt?=
 =?utf-8?Q?p2zuKnoA94ya2OELs1thfdP092X76cVuS9gryAH?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6412
Original-Authentication-Results: suse.com; dkim=none (message not signed)
 header.d=none;suse.com; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT013.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	ae1ba68e-38ae-4a13-373c-08d95e2bb08d
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	DGy81ql8dhE6WdVXCXx/CK1CLZIz6RZOPda1JKuFUlVaa6z4MjxTAh7NYBDfv5zo8DwQpv6fWAivQOs+n4sE1kFyFTqlqpD/yVnYFdqdsWoOWlQWqX4kOvl6QiaxsDQju2bUmPUjdn1XYyyfK4ESr7tswqsQrcxWV/NST2/IIRardgMYROxLJ54SVmpHl/oNUTu82g3SODxFTXwAd85YeRtPMBuE00jO+RuccRVNDIyWualgSLw+sRQ6vkvhCGBYQINS6/MT6noqT11xrn08VeCa5Erg2vv0jYGNICQPpYJ8cJSJ4QLH/QaWEmxaNW3fZkShulEgVMhjNJDKXIDqwsiYyoQvTtr+3PwsV1S558vAEhauhRa4UDdPrr3dRiFUv4VHxZcTYpVWps1Sr6uS72nM8cHI2oe66rUhB3B+C3bnkg+S7cVAL620lG2myLxxP2w3czGYSj1r5WzsLfderyeDsNNh2GjUiZII+1yX10S5UDVjUjKJOGdmeute4ZCvDMjn9wtgh9OPe5kcZfyE4lT79nloOMnZhfsty1BX59Tj2qGoHnxHFLvfOuifDYZPODlbTYxpfGEt9hgWViinwSh22fhdURX+SfhQysmFl61WfIkRrWMHOTcNh6DfumkjF1sBquqSzl3VtMx2cbHEDwhagHXx72QpsWqk7uDIyHyhhDf9PpMCA54Z8ejmg9BiW1hlXL1K2ZI2viWo/kd63g==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(346002)(396003)(39850400004)(376002)(136003)(36840700001)(46966006)(55016002)(36860700001)(5660300002)(81166007)(82740400003)(186003)(356005)(8936002)(8676002)(478600001)(70206006)(52536014)(86362001)(53546011)(2906002)(9686003)(6506007)(26005)(336012)(83380400001)(6862004)(33656002)(47076005)(316002)(4326008)(54906003)(7696005)(70586007)(82310400003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2021 07:26:51.7745
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 51a8d2fe-ca10-4890-c695-08d95e2bb84d
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT013.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB5877

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMeW5tDjmnIgxMuaXpSAyMzozMw0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiBCZXJ0cmFuZCBNYXJxdWlz
IDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+OyB4ZW4tDQo+IGRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnOyBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqdWxpZW5AeGVuLm9yZw0KPiBTdWJqZWN0
OiBSZTogW1hFTiBSRkMgUEFUQ0ggMDMvNDBdIHhlbi94ODY6IEluaXRpYWxpemUgbWVtbm9kZW1h
cHNpemUNCj4gd2hpbGUgZmFraW5nIE5VTUEgbm9kZQ0KPiANCj4gT24gMTEuMDguMjAyMSAxMjoy
MywgV2VpIENoZW4gd3JvdGU6DQo+ID4gV2hlbiBzeXN0ZW0gdHVybnMgTlVNQSBvZmYgb3Igc3lz
dGVtIGxhY2tzIG9mIE5VTUEgc3VwcG9ydCwNCj4gPiBYZW4gd2lsbCBmYWtlIGEgTlVNQSBub2Rl
IHRvIG1ha2Ugc3lzdGVtIHdvcmtzIGFzIGEgc2luZ2xlDQo+ID4gbm9kZSBOVU1BIHN5c3RlbS4N
Cj4gPg0KPiA+IEluIHRoaXMgY2FzZSB0aGUgbWVtb3J5IG5vZGUgbWFwIGRvZXNuJ3QgbmVlZCB0
byBiZSBhbGxvY2F0ZWQNCj4gPiBmcm9tIGJvb3QgcGFnZXMuIEJ1dCB3ZSBzaG91bGQgc2V0IHRo
ZSBtZW1ub2RlbWFwc2l6ZSB0byB0aGUNCj4gPiBhcnJheSBzaXplIG9mIF9tZW1ub2RlbWFwLiBY
ZW4gaGFkbid0IGRvbmUgaXQsIGFuZCBYZW4gc2hvdWxkDQo+ID4gYXNzZXJ0IGluIHBoeXNfdG9f
bmlkLiBCdXQgYmVjYXVzZSB4ODYgd2FzIHVzaW5nIGFuIGVtcHR5DQo+ID4gbWFjcm8gIlZJUlRV
QUxfQlVHX09OIiB0byByZXBsYWNlIEFTU0VSVCwgdGhpcyBidWcgd2lsbCBub3QNCj4gPiBiZSB0
cmlnZ2VyZWQuDQo+IA0KPiBIb3cgYWJvdXQgd2UgcHJvbW90ZSBWSVJUVUFMX0JVR19PTigpIHRv
IGV4cGFuZCB0byBhdCBsZWFzdCBBU1NFUlQoKT8NCj4gDQoNClRoYXQgd291bGQgYmUgZ29vZC4g
RnJhbmtseSwgd2UgZGlzY292ZXJlZCB0aGlzIGJlY2F1c2Ugd2UgdXNlZCBBU1NFUlQNCmluIEFy
bSBhbmQgdGhlbiBub3RpY2VkIHRoYXQgeDg2IHdhcyB1c2luZyBWSVJUVUFMX0JVR19PTi4NCg0K
PiA+IC0tLSBhL3hlbi9hcmNoL3g4Ni9udW1hLmMNCj4gPiArKysgYi94ZW4vYXJjaC94ODYvbnVt
YS5jDQo+ID4gQEAgLTI3MCw2ICsyNzAsOCBAQCB2b2lkIF9faW5pdCBudW1hX2luaXRtZW1faW5p
dCh1bnNpZ25lZCBsb25nDQo+IHN0YXJ0X3BmbiwgdW5zaWduZWQgbG9uZyBlbmRfcGZuKQ0KPiA+
ICAgICAgLyogc2V0dXAgZHVtbXkgbm9kZSBjb3ZlcmluZyBhbGwgbWVtb3J5ICovDQo+ID4gICAg
ICBtZW1ub2RlX3NoaWZ0ID0gQklUU19QRVJfTE9ORyAtIDE7DQo+ID4gICAgICBtZW1ub2RlbWFw
ID0gX21lbW5vZGVtYXA7DQo+ID4gKyAgICBtZW1ub2RlbWFwc2l6ZSA9IEFSUkFZX1NJWkUoX21l
bW5vZGVtYXApOw0KPiANCj4gQnV0IHRoaXMgZG9lc24ndCByZWZsZWN0IHJlYWxpdHkgdGhlbiwg
ZG9lcyBpdD8gV2UnZCByYXRoZXIgd2FudCB0bw0KPiBzZXQgdGhlIHNpemUgdG8gMSwgSSB3b3Vs
ZCB0aGluay4NCj4gDQoNClllcywgeW91J3JlIHJpZ2h0LiBBY3R1YWxseSwgd2UganVzdCBvbmx5
IHVzZWQgMSBzbG90LiBCdXQgZnVydGhlcm1vcmUsDQptZW1ub2RlbWFwWzBdIG1heSBiZSBzZXQg
aW4gYWNwaV9zY2FuX25vZGVzLCBidXQgYWNwaV9zY2FuX25vZGVzIGRvZXNuJ3QNCnJlc2V0IG1l
bW5vZGVtYXAgd2hlbiBpdCBmYWlsZWQuIEkgdGhpbmsgbWF5YmUgd2UgY2FuIGFkZDoNCiAgICBt
ZW1ub2RlbWFwWzBdID0gMDsNCiAgICBtZW1ub2RlbWFwc2l6ZSA9IDE7DQpIb3cgZG8geW91IHRo
aW5rIGFib3V0IGl0Pw0KDQo+IEphbg0KDQo=


From xen-devel-bounces@lists.xenproject.org Fri Aug 13 07:27:23 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 07:27:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166657.304208 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mERb9-0001wW-Rk; Fri, 13 Aug 2021 07:27:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166657.304208; Fri, 13 Aug 2021 07: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 1mERb9-0001wP-Nl; Fri, 13 Aug 2021 07:27:23 +0000
Received: by outflank-mailman (input) for mailman id 166657;
 Fri, 13 Aug 2021 07:27:22 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=F9ox=NE=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mERb8-0001vz-Qv
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 07:27:22 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com (unknown
 [40.107.8.71]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id e5824f84-fc07-11eb-a260-12813bfff9fa;
 Fri, 13 Aug 2021 07:27:21 +0000 (UTC)
Received: from AM6P193CA0113.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:85::18)
 by AM6PR08MB4471.eurprd08.prod.outlook.com (2603:10a6:20b:b9::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Fri, 13 Aug
 2021 07:27:18 +0000
Received: from VE1EUR03FT055.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:85:cafe::73) by AM6P193CA0113.outlook.office365.com
 (2603:10a6:209:85::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15 via Frontend
 Transport; Fri, 13 Aug 2021 07:27:18 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT055.mail.protection.outlook.com (10.152.19.158) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Fri, 13 Aug 2021 07:27:18 +0000
Received: ("Tessian outbound 5918cb94a4b5:v103");
 Fri, 13 Aug 2021 07:27:18 +0000
Received: from 3e75efe2cdfa.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 FDD021DD-1193-4EAD-B16E-31F1BFCDE3C4.1; 
 Fri, 13 Aug 2021 07:27:12 +0000
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 3e75efe2cdfa.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 13 Aug 2021 07:27:12 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DBBPR08MB6092.eurprd08.prod.outlook.com (2603:10a6:10:20e::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Fri, 13 Aug
 2021 07:27:10 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%6]) with mapi id 15.20.4415.019; Fri, 13 Aug 2021
 07:27:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e5824f84-fc07-11eb-a260-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5cqbnegvR/6xcObDdwBgtdl9A518y7RmQ6eyBVXMuio=;
 b=gtfmwDpZhK0Qj2hvNRHJrXk63H8hPF62sP0wvjc1SSbp+paFTGJdK4KfG8h58ktGuwRDHAaybR9OO2nef+W/ZDoj7Os4R2iCm1mnPBJtCSPAfoGn6+gD7hmPxAdlOojH3xhbFGj+arfEZ8/tmv96YPrIQLV/+DCQysZ1j+dCYAA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lTqmwmxuqwpnvdQ7VmzHeT/batrebaWAt6zabAcTdcfQO5/as65EQusKtKo7Vw8oiI3yHi52bGjagybNpZ8kgA8xW/4o9YQvYlZKS3zjob8mZWxjUeA6WQDguqLmldYrWtWn6HzmX9dKrWK+g9Y4BqknO0XyJRMc6kT/xM9aOo/3Uz7zuHzE3xc0n7HuFJxTSnW38U2aGMv6IMdIKPhW3fQmVTx2ig7TPQay1aBj3LyPAxHsiOjALk7+K0iDdJc0EDXy9hrlelZvYKPXT7G0tvbIaziNntBJdWL1sIgOlZ8h+NrikVi0XVUQNDeHTsoGe6oPBhhPcvV0CoJxFoM6kQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5cqbnegvR/6xcObDdwBgtdl9A518y7RmQ6eyBVXMuio=;
 b=F4ATw9aVe/FZfAN8zDY0Npp8zCuOwsYMu+GWnTOk8DZe4Y404y1wwrBoBNSj9yP4imn5DSt3fvPZbz8NaXCgp2e/I0KJTzSaRFdrXbT886n9KGdCpgciqhJm60xSUZcjXqmv03ZXKFAqpREi/a8b3BWRuVm+cHhy/s+/Zylcv6yC83S0aCu9FTkYM+ZAEMNP3us1/uj7h4gWHclRzAXvcubKoUe1fjLV9ScV4yEkEJXKIPDx0iXCBRAXWFs2mxtoCptWO9AeE5NVy8SBd8rkhUh+eWwid3QtXOaaaRfeBYes+z2Ra+8CcMCbaXrWyeokk0naLBX3UnlTG2ctgMsP8A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5cqbnegvR/6xcObDdwBgtdl9A518y7RmQ6eyBVXMuio=;
 b=gtfmwDpZhK0Qj2hvNRHJrXk63H8hPF62sP0wvjc1SSbp+paFTGJdK4KfG8h58ktGuwRDHAaybR9OO2nef+W/ZDoj7Os4R2iCm1mnPBJtCSPAfoGn6+gD7hmPxAdlOojH3xhbFGj+arfEZ8/tmv96YPrIQLV/+DCQysZ1j+dCYAA=
From: Wei Chen <Wei.Chen@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"sstabellini@kernel.org" <sstabellini@kernel.org>, "julien@xen.org"
	<julien@xen.org>
Subject: RE: [XEN RFC PATCH 06/40] xen: decouple NUMA from ACPI in Kconfig
Thread-Topic: [XEN RFC PATCH 06/40] xen: decouple NUMA from ACPI in Kconfig
Thread-Index: AQHXjpsj2PxHFai2b0GMDOvdzCQyuqtwAoUAgAEJbcA=
Date: Fri, 13 Aug 2021 07:27:10 +0000
Message-ID:
 <DB9PR08MB6857006E5EC6F5D0B0ED9EA39EFA9@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-7-wei.chen@arm.com>
 <d7d52c5e-6c55-4491-3794-681b0e8df9ab@suse.com>
In-Reply-To: <d7d52c5e-6c55-4491-3794-681b0e8df9ab@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 6C27AE4672ECDC4FAA9333F11AA97773.0
x-checkrecipientchecked: true
Authentication-Results-Original: suse.com; dkim=none (message not signed)
 header.d=none;suse.com; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 28c3852d-9e4f-4bfb-5f4e-08d95e2bc841
x-ms-traffictypediagnostic: DBBPR08MB6092:|AM6PR08MB4471:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM6PR08MB4471B438675104DC3E3A18689EFA9@AM6PR08MB4471.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:8273;OLM:8273;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 lbthCzgPOI1nkHM3l4Pqy5t7i9smftPF/wPdfvcb9ZoOyCx6bSZwmWRkjR8G0EW8kFT2ZNKygs8ZAnSRDOJjVyFZuRyigo0OFv/sHPOSNA9Li+xaxP8BrLjhzzkZox5pkWmfp85P61AfwNzb0v/e36A3VBgz5LaG7cGN7KHnKuBbZrUClg7XMez3xUyZCZMHw6py9ji6qe9pnKW1ICxFyoetED53HWXB7yMYP2CrPGia8d4zh10Cf6uN7cNdpObiuaeSvZBn1J2P8JWSo2AeWCxC/IMemOuZF2rtAalwaO3fpC0E7NaECF101qihw1sGOSC2B3vrqS7bDy1B4IV7IiQlc5T3xipelxe681CQL4aKJx5i+6uL/0TsWCMIR2YoRALSU/mi+BMk50zNXwwLwrm4oqWU+aMbifFB6LDSK0mBbwONYDTR26A8vOoow2lHOA7jfGVaSHbT8Zq2CfEp/fnEYCIIXWuiA+A5LMQOzxyIJ/BpsRWJ5X6aCh8o3M40rXBRwJSBnuReQId1cuYrga7e7Rlv3dDOS9Uz1+LDYQpxw/KjuoEHu9oyq6ZQeDgyFHU6/Gzj3FopZwFegnXY1XDnk4KVXu6+2JiuUr9EWUqsZi803nyrcxdL/qj53qdhLYy3aunhHtm5wz663vYevX7Gjr+e4ycPuJ9ihwcjBv2BVNpERYUmU4EnrS9luB00FiJBWXoWIqUDHNETRMxrFQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(39850400004)(346002)(396003)(376002)(136003)(366004)(4744005)(26005)(7696005)(38100700002)(5660300002)(122000001)(55016002)(33656002)(86362001)(4326008)(9686003)(38070700005)(186003)(2906002)(8676002)(6506007)(8936002)(53546011)(478600001)(52536014)(71200400001)(76116006)(54906003)(66476007)(66556008)(64756008)(66446008)(66946007)(6916009)(316002)(83380400001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?ZmRaMGgyM0ZTLzZya0ZEQm5lRStnNGkrVVpwcHhITm1RZWVxZEdhUVJjRWVq?=
 =?utf-8?B?UXE0eU9qU1dkSm8rV0NYazBCSjY2Y0tReDNzWnlVenVMYllSMHg1cE1GcXRV?=
 =?utf-8?B?MStpSEhTaXg3emltb1N0VVpNRVRjSWRnOE5kWXVrMUlTanY5YU02RjZsWHAz?=
 =?utf-8?B?RFlmNXFsVnNiNE5jbklTYTc1NGN6UFVqN3pyN1BieWFGbXpPZytMMS80R2I4?=
 =?utf-8?B?dHAyUjM4YXJ0bk0xd2hFeU5uU0IyS2p5Y2xlQVNiTmc0U0RnelZxOTBNeThx?=
 =?utf-8?B?ejhrUDIrUWE4NHdFU1BvZDVCcjZPdlpBMWJvU0NXZFhlVVNqWnlON1hYblZR?=
 =?utf-8?B?TkVhSkdQMmZ4Q3lhb28weGtqanlsblNwdmZaM3UrY1I2cTg0Rk9aOGwyeEZ0?=
 =?utf-8?B?RGxUWURZSUFXZnQ1OTBObFJSU1Vob3J0WkFzM1BrU2JkWlg3dDM3L3Q2cW5G?=
 =?utf-8?B?ck5ta3NDc3BhbnhRbXV5V3dVb0gvL3psViszbWJLWnVhbXdzN3N5VFJDVTZr?=
 =?utf-8?B?MkR4WTZFd05hL29lVUorU2I5QlpISHgvOUo1aXVMaHVuRFhsam1tZll2OFJz?=
 =?utf-8?B?VENiMDE3eWwyTittb09NNS9LSG1nOEtJU1MxbGJMQjFuZFEwOHlsVmNPTEV6?=
 =?utf-8?B?SW5QcmJxbVBac3VobFlMSGliMmNwR2NicFZsQUpFbW9LcGxVQlh3Mytoalhj?=
 =?utf-8?B?Wi8rZ2tVWVlCS2FRV1hEaXE2dzg3T0JPV1J5S21reFN2N2ZtOS9UeVVEc1dR?=
 =?utf-8?B?eHc5ek9UcGtSOTl4VHdtWW1ZbS94bmZzVlZUVzZ6d0hmMlpGV3Vvank0QWMz?=
 =?utf-8?B?UHhyOEZBTTVGSGVJZXV3cE5KeGw0M0RWck05S1B5OTgyT3BpSTloMGFZRnFY?=
 =?utf-8?B?U2ZVTGtnZTNLQjRUUTk4NTZ1NVhLNHcxREt4RU80UFBoejZYS1BvUVRPY2d0?=
 =?utf-8?B?TFFuN2xsUTdvODFsbFZNNVJwTUdkTnhIdGp4WTJCdkZ6aWl6ZVZhcU5vV0xW?=
 =?utf-8?B?Smp3OFNGSVNLSllacTdMQVZXeG9kM1UrT1pMK1VrVWhEZTduRXM5cjA3Tnln?=
 =?utf-8?B?VHYyMXJvOUkwcURKZno2U1JqbnRIb20vZWxiK0s3YWdVZEtVQmpWVGpiLzM1?=
 =?utf-8?B?Q2srTjBKN093MVNqT0xWT0RHMWsyUzdqT2JnNVRIVmVyazhiSU9sTHZwUmow?=
 =?utf-8?B?SFhpdUx6MzBEeUt6a0graS9nNkU5Z05rNUZQMWFoT29RWkQ0VDcyM1h3NXk2?=
 =?utf-8?B?TzVuMnk3ODEwZTVUVmpGMlF0T0xFdHB4MU5ISVlUREhOR0tRWHphT3JOVlpQ?=
 =?utf-8?B?TUhYZWpCNEl0SFUwZ21nb3VSdFl0WlRJeXFSZGo5emNJR29sbWg2MmNFM3dZ?=
 =?utf-8?B?SGYxRXRKWWl2T1dIRmtwQkxneXdEalc0N01scEtZalJkcHFnb003cFNLeFBP?=
 =?utf-8?B?bzVvNzNaaDdGVUxrZm10Qm9pa3A3Q2QxSzlMQXNodFd3SlZHbkVuZFNKU2xW?=
 =?utf-8?B?cGkzN2Y5c3VIbDF5NU9aMXd5cXdMZ3BiU1BrcXlXSlRwaFRNdFlqN0JidlFS?=
 =?utf-8?B?U2daU25XTE9OcVhoNFZwWVJDdFZCQXZwZktJWFJBWTA1YTVNd1JZd2UyWjI2?=
 =?utf-8?B?RVZvbGZmL0RTc2tBcTZKR3BqUUtEQ3Z0TWxuRVk2cFVvQTBpczdVMk9HVG9Q?=
 =?utf-8?B?V1pkS2lQOURQdWd6UlVLZXY0ZkFXRGh2RjZ0ckJTbDYyczA2YnhaNk5rMDRa?=
 =?utf-8?Q?/uJ/wqaBkYC7U/kuziyCT500cnAkzn+Eooj8wpq?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB6092
Original-Authentication-Results: suse.com; dkim=none (message not signed)
 header.d=none;suse.com; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT055.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	1fe9df52-0c02-4c66-345a-08d95e2bc398
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NM5Oq5i7/Y4/ZNT6LCqZhHel2ye/M27NkJNS+3uquXw0eDwIhLwgzMjp6qVC++dHeYR1ti/zgj4tCBFyF/wrB6DvEB3snbJHXpbUD4c+/nlLGvackNFvejXEy1y43uDc9n6VpxRS/s+/NRn1WkTgSr0OLtcUTddWVW5pmxwo85dHxgFfJlmXfUHjbYfPGKHKgaQ8y/MVdcJitM1G2BX/aiBMv1tRIWF0HFVfTC2tUYhBo2WDysWplthVLwVRHs+Kg2spmi4KYCcbWN/03Jd6yJCikvEqQfDBgxZYmcP1He71jtyEjlvINFpeRfLyBR3JgdmquDpNurOQImg9ArzGBgozmemlDVp+BVWxQFaGjvtZpRfiCm7X4Rkgf4Nn2ndLKED7jhBin1pIwauXezRIcp7J17M6G4ZTyNmD9bJC00rZ7nKswULWsj3CkmmuT29mDlkkW0SnlAjBIzGQvG6E6joHqypetAPQdGBI+lYVxc6dv7q41dg0EJYczKi+W49lro0RefQC97xdsPcY2TRYUCLywm+UvT5ufJi4r25e47m9wtO4KsVCp3rJSqwJWgAvO+Y6xs0RyE00z2RFt3CD4RMTYtonXkWWYM9knY3IzzdqwVhG5hvvILT0I18dE2e5Ks6aiJXW/cUERwa9nVcNYNCfeU9X+C17rCYWcDV+Spo+O/HWwGedHq6Pa3A8Ohqrj9fJ3Js6/l0s25xx4GQEfw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(396003)(376002)(136003)(346002)(39850400004)(46966006)(36840700001)(356005)(8936002)(82310400003)(52536014)(4326008)(70206006)(33656002)(70586007)(478600001)(8676002)(9686003)(6862004)(81166007)(54906003)(53546011)(6506007)(316002)(55016002)(26005)(86362001)(83380400001)(186003)(4744005)(36860700001)(47076005)(336012)(7696005)(5660300002)(2906002)(82740400003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2021 07:27:18.4788
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 28c3852d-9e4f-4bfb-5f4e-08d95e2bc841
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT055.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4471

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMeW5tDjmnIgxMuaXpSAyMzozNw0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiBCZXJ0cmFuZCBNYXJxdWlz
IDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+OyB4ZW4tDQo+IGRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnOyBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqdWxpZW5AeGVuLm9yZw0KPiBTdWJqZWN0
OiBSZTogW1hFTiBSRkMgUEFUQ0ggMDYvNDBdIHhlbjogZGVjb3VwbGUgTlVNQSBmcm9tIEFDUEkg
aW4gS2NvbmZpZw0KPiANCj4gT24gMTEuMDguMjAyMSAxMjoyMywgV2VpIENoZW4gd3JvdGU6DQo+
ID4gLS0tIGEveGVuL2FyY2gveDg2L0tjb25maWcNCj4gPiArKysgYi94ZW4vYXJjaC94ODYvS2Nv
bmZpZw0KPiA+IEBAIC0yNCw3ICsyNCw3IEBAIGNvbmZpZyBYODYNCj4gPiAgCXNlbGVjdCBIQVNf
VUJTQU4NCj4gPiAgCXNlbGVjdCBIQVNfVlBDSSBpZiBIVk0NCj4gPiAgCXNlbGVjdCBORUVEU19M
SUJFTEYNCj4gPiAtCXNlbGVjdCBOVU1BDQo+ID4gKwlzZWxlY3QgQUNQSV9OVU1BDQo+IA0KPiBX
ZSB0cnkgdG8ga2VlcCB0aGlzIGFscGhhYmV0aWNhbGx5IHNvcnRlZCwgc28gcGxlYXNlIG1vdmUg
dXAgdGhlDQo+IHJlcGxhY2VtZW50IGxpbmUuIFRoZW4NCj4gUmV2aWV3ZWQtYnk6IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gDQoNClRoYW5rcywgSSB3aWxsIGRvIGl0IGluIG5l
eHQgdmVyc2lvbi4NCg0KPiBKYW4NCg0K


From xen-devel-bounces@lists.xenproject.org Fri Aug 13 07:28:42 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 07:28:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166667.304219 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mERcQ-0002lI-7s; Fri, 13 Aug 2021 07:28:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166667.304219; Fri, 13 Aug 2021 07:28: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 1mERcQ-0002lB-4V; Fri, 13 Aug 2021 07:28:42 +0000
Received: by outflank-mailman (input) for mailman id 166667;
 Fri, 13 Aug 2021 07:28:41 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=F9ox=NE=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mERcO-0002l3-Vo
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 07:28:41 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com (unknown
 [40.107.6.64]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id a788e748-ae88-43fd-83de-4106404e2679;
 Fri, 13 Aug 2021 07:28:39 +0000 (UTC)
Received: from AS8P189CA0029.EURP189.PROD.OUTLOOK.COM (2603:10a6:20b:31f::15)
 by AM9PR08MB7276.eurprd08.prod.outlook.com (2603:10a6:20b:437::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Fri, 13 Aug
 2021 07:28:28 +0000
Received: from AM5EUR03FT052.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:31f:cafe::a3) by AS8P189CA0029.outlook.office365.com
 (2603:10a6:20b:31f::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15 via Frontend
 Transport; Fri, 13 Aug 2021 07:28:28 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT052.mail.protection.outlook.com (10.152.17.161) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.14 via Frontend Transport; Fri, 13 Aug 2021 07:28:28 +0000
Received: ("Tessian outbound 5918cb94a4b5:v103");
 Fri, 13 Aug 2021 07:28:27 +0000
Received: from e1b22bee447e.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 AC04CE73-0EB8-47D5-B212-13E34C2C7B95.1; 
 Fri, 13 Aug 2021 07:28:17 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e1b22bee447e.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 13 Aug 2021 07:28:17 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB6PR0802MB2198.eurprd08.prod.outlook.com (2603:10a6:4:84::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Fri, 13 Aug
 2021 07:28:15 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%6]) with mapi id 15.20.4415.019; Fri, 13 Aug 2021
 07:28: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: a788e748-ae88-43fd-83de-4106404e2679
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ci9TPY2/u/eaEnThdJ/q0nnOONaG/rLVeodMy2M2xk8=;
 b=l6xTAJbzsVNEGaWdn5sqP7xArrGXa1Oha5rRn/AcugVSg+7tO73jHvyH8LgC9yeQE1biCbPJ8/JqWSPblOqEwMBk7NnUJSWU8EXnZPSjRF6c1WdjCwjeTryRdOilyXlx9m+tzsHoAiwgs0B22zN/il+u70J/xRoFd2b17xe7Svo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OZhDCgjZ1Z77rvM37EK6Dp/BpM5aozLMR4lQ+TN03Xh4ZvmdboxXzeQ0NOoM7x/BtQm7P4QjR3XSjjIiTsePjJSJUgbYZ9QiLV9oJZUpcMmEXuqh0mZbDV6ImRG+TnvOTJ3t+bDVFRdLM3y1R7p8LArWpMOd4J3NQXY70UQgczn9Njyv6UM7BqADpgI+MIYQnbnCMw+rzSwuk/tbTNro7vLY+JUJ2uD+OQgPTBkiL8SYA24/ft9iBv6Nrd7FfI6Xmin6GOReytJ5zXOfXKKXXE+fKs0wjNJaKCdVjPPfc0BEjDdvOfrW1fpCy0uQilAe1igctyGji2Kc6odBPflmig==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ci9TPY2/u/eaEnThdJ/q0nnOONaG/rLVeodMy2M2xk8=;
 b=MTKQdvkuAmvHTDK0FjnuHQtH2cb3MKnRozkQWZeISkCRn0BoS/cNj7R38GHE3UgSZwGieV5B2d1sa9vt/CiU4qO0v/J6ogCqw8a3plO6BvigQ49hv0r5got1WuCa+CndrtFuP5aQLfK0p4l8tyJD5W2rLiO0m1f/bxWmgCBeFQrxkk+jFrDjLcyPUP5sPX04DOkwoKDi+mUpqsKJuDwuJVFdDVs3ALzqUcDSlOxaM2ENDAXB2PM8uuLMy5AY8xMwoHw4UWI0MYRmnqBftWSPIr2gkohQwfdrLq0srrMv5kj6RpuB39K/902cpEcSTj/pu7l/yq0YoD4yw633GBFUlQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ci9TPY2/u/eaEnThdJ/q0nnOONaG/rLVeodMy2M2xk8=;
 b=l6xTAJbzsVNEGaWdn5sqP7xArrGXa1Oha5rRn/AcugVSg+7tO73jHvyH8LgC9yeQE1biCbPJ8/JqWSPblOqEwMBk7NnUJSWU8EXnZPSjRF6c1WdjCwjeTryRdOilyXlx9m+tzsHoAiwgs0B22zN/il+u70J/xRoFd2b17xe7Svo=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>, "jbeulich@suse.com" <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 06/40] xen: decouple NUMA from ACPI in Kconfig
Thread-Topic: [XEN RFC PATCH 06/40] xen: decouple NUMA from ACPI in Kconfig
Thread-Index: AQHXjpsj2PxHFai2b0GMDOvdzCQyuqtwGE+AgADzwpA=
Date: Fri, 13 Aug 2021 07:28:15 +0000
Message-ID:
 <DB9PR08MB685796AC99CC892AB4FAA1979EFA9@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-7-wei.chen@arm.com>
 <5ad90b2a-c440-3488-fe2d-fd89db1ca3b3@xen.org>
In-Reply-To: <5ad90b2a-c440-3488-fe2d-fd89db1ca3b3@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: E63C9A6EDFE62743BA5DA0DFD3105361.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: cd009585-613f-4b1a-e11f-08d95e2bf1ed
x-ms-traffictypediagnostic: DB6PR0802MB2198:|AM9PR08MB7276:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM9PR08MB7276D727D148326838E92D9E9EFA9@AM9PR08MB7276.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:4125;OLM:4125;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 LLONNTcqNUFMcLmRcnr4hnFebAqTsdh51Rj62qVaWn6Bu+mnqLVb94+ekQb1QJJzSXPK9G7h4imqmzuE1BQrLku0ZoxhpkLsxnEntj0VeaHIUHiZTPbdkyJOOEBfz8AHg9p3/BDhUIcEj8OH4JiVRfDKBNdzXBVT7at8uS/lrVkR1BqV0GdXx6JxUJmwM+JnB3CAZODdbAjKf9hnJifUikB5McmRhPEaJiRcZqlG9oHDcoCsRvb2G3KVP2sFZaB36kD0AjZIxQFqPgFpxv59n862qJsy3HHb1ThxkslcgMur2ekm0npCw0m5kp2eSluxOuITTkv+Tt3ElmYbBuLYUvSJZh0Diejxgml0KHYp6FkeMisCubhNzasDFQtqYo9rSn2is7nNaRQzAyiCEWSAOHRUuqCNbgj5eXE5ba438Qr6SYi0s6jm+VheBNiEDnUwMnzpApqcJmwv5fE8dLqG+U8AXX5WgAsCS1Ch0utgfQEDbXuyc4CmjEXcebnTaiDh971UAOQiIQNGa5sxGaCmkfCgc9EDlDYa8j6t7RFaDXRkSzL2tUrL9ttBllZbB/i26jG9mLjSePXMVKWEZkp8HCsIfNAu5pv3trvgat0PF4MXAvj02YXuo59aOduFcNpHqPK3hfcBfsVK0fJgs2ush8KCgVWZkfphNWpxjeSUG0il4L9RW5+87jFh0Cv6wHtCuxUdFB5Qko05p6pGIh3GUg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(376002)(346002)(366004)(39850400004)(396003)(136003)(8676002)(122000001)(478600001)(8936002)(316002)(2906002)(4326008)(110136005)(38100700002)(71200400001)(83380400001)(5660300002)(55016002)(26005)(9686003)(33656002)(76116006)(86362001)(66946007)(38070700005)(7696005)(52536014)(66556008)(186003)(66476007)(53546011)(66446008)(64756008)(6506007);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?blVQT0w1NGQ2aVhQMHE0Q0wxMEU4NlVISXl1QzVHeEg5NG9lcC85UnhBZVR4?=
 =?utf-8?B?TFQrMEdyV0RwN0t2bGplUk02WWg3ZjBTKzdXYi9heWZ1SjVUSGdZMUtwb0xi?=
 =?utf-8?B?ZHQ5K200bEU1Nm5NL2FkU2hiWDJhUldMUUtONGxZT3BSMXBNRVdiVjZFWU4y?=
 =?utf-8?B?andtVzB4U2NkSmxWdmJFS0NhcEp4Q3VKVnBJMDJnaXFsTWg1bnB6RFVQc0tz?=
 =?utf-8?B?dGloVkw4Y1ZaTGN3L1FEdHNpcDF0Q1ZMOGFXdGViUVRkdWRWSnZpMFB3ODFW?=
 =?utf-8?B?a0hMckVxejcvenVxVFVmWlFwMGZnbFE5bWhtUTNEdUNkRkd4ZEUyOHNYSGtU?=
 =?utf-8?B?ai9jNUZiZDdPV20wSXZaU3ZPVXhEc0xoUmRZOXRzbGZrU0hiM1NMemdYckE3?=
 =?utf-8?B?UmZXaVVXU3k1azdaT2E3dkhQUFJqdzQ5RUFKT1lHMzZJYkR6UDZlTURGWnlZ?=
 =?utf-8?B?K2FkU3BWY2JDNGhSdmRNakRkZUNtSmFkTGN0TDh3UjVpSnJVMTJrRlFWdFYy?=
 =?utf-8?B?dENLUjZuOHBlVFJaZnhnVnduQkxvN3c4cEtkT1J4N2NlcnNsOVJDckhOMXNa?=
 =?utf-8?B?MlZyMWlra29xclJCRW0yOVhObjBwTGQvUUVvV0NHV2lneXdzcGZJUE52UXl6?=
 =?utf-8?B?SUdHeHRRaWt3ZDc5cnNRRzRlcVg5ZmsvZ0Q1TjVyb3FybGRrUHBVNGRPNzBU?=
 =?utf-8?B?RHhucVQ2S0VkQjQ3ZEJEUk5aQzZ0M3RRM2hpUFFndTVoaTBCTXNGT21pTTBD?=
 =?utf-8?B?a0x6Njd2aGsyZWZkd1ZhTmQvVkpJdXlYZy9YemowaGNRSTZpMGpIa3U1MW1R?=
 =?utf-8?B?cVVnY1ZnWDNrS3Arc3ZtWERWR2FjVVZZY0lkSlFQWEh3RTJDdnp2QmNYcCtD?=
 =?utf-8?B?bU9RLzh3R1lsR2ZsZ1Jqc0ZtYi84VkZHWVlTdk93VWtRYXMvdU9pdlg2bGp0?=
 =?utf-8?B?b2FrVWZ6am91b1FmVEZiRE1iU3IrMXpEdGpuVldodnlOZGptTHpXRE12S3N2?=
 =?utf-8?B?OFh3bmJmVTgwNVNlNXppV3IxRDdGSzkwbS9HSkp3ZDlRMjlMUzNiQmR5Z00v?=
 =?utf-8?B?TUJzQW84Tytrb1VUbTU4M2hHeTV3RWhndFVWWTVORU1qS0tsbUQ3dUpKOVFC?=
 =?utf-8?B?d3NCQnBwZE5ZdmxEVDRQUDFGTTljcWJ5Z00ybysvMWp3K0UzOTdqQURUZjdU?=
 =?utf-8?B?VWxNa282MWdBVTUra0t2YnhNKzBmZDRDWGR6Q2hGWkFiS0o2WGpXT1EwdWJ4?=
 =?utf-8?B?V2t2d3k3WmxXMFBNbFk1K2VOOWYwdGtnM2JLT29icjBqZWo4elh3aVRuY3FJ?=
 =?utf-8?B?dmVtRC90TjVKdFpwU2ZyeW9PNmQ3WllPMWduY2dTMUZTbDdUeUxpMStlTjFW?=
 =?utf-8?B?bXhZK1VGOGVyYVkxL3ZDMmRWZFEzRnhjVnYrcUc0MFlEVWh4M0xReW9GRnRp?=
 =?utf-8?B?ajdPNWsvWEtLbkFqM0JBeHFQUTJPR3R0aDcwU2RQWmc0bmoxdFJVamlQL085?=
 =?utf-8?B?ODZOWGIrSlVUcjBMM2xLQnhJREdNYUNnZHhLeWhaOWtZQTJrTTBCQlhKL3lm?=
 =?utf-8?B?Q2V1MldZMHRqZ0ZXaHBEWGdzdGJmdHd0RUV3OHhGdFdRd1ppRHhuVjVCS3Vu?=
 =?utf-8?B?Z1h2c0Y3eHYyMi9GcmxyajFrS3VZby9IQ0FKZEFJakIrUS9iZUtoMkxYZXNk?=
 =?utf-8?B?UWcvWVlZMFl0SVJxV1p0ZVR5ampDK2ovMGNiWUY4VFpuaUFKenU5QUFRT0xt?=
 =?utf-8?Q?zB0xJ0SlUdbKfbZExqy/7o5fT4IdnkbadPaqhz5?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2198
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT052.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	99f96d55-d911-4515-6f14-08d95e2bea19
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZaMTyyrbVvQtYAo0OC6WeURoAXQDYA5DkkrhtW52HhUMSNPhwWf9aKyUH/zwCvTqLai76YpesR7mP/T7jlcr2TgN7pZs7TCv4HvijUONcDm6jg+OwDGdhcKmZOFgHvOEJwVEzK4vV55drd7a9NQdJLBt1N2m1T9OZrmNkiT6VpEuLqzIcLXZfKROnnWfx50cmYSP6mVHeyId7U0KcNICN4HspwGIQuC87Kkef4e9S3nWMmvsIwtt1HFqFs3E2MOD+KoBJPHhrzLyVTqjzNXloPNJTZV9jBSWL7y5yMT3jMOX1r8EWheLq0Bt1ARRcGAOKs+hNg07RRXepmap1KZfuslVpuFYSg9aVdnq5FxeDZTqmVKdMHOxfkCcOg/hlKJiEzMVQ4emL3T27q5q8vVW4o0fYVQJaXcU7pWOwa9ar7jDkvOPgNA0y+JDoQgdmtrYWtd/r3lKEZQIr0O1sH3jSkIDtBYXvhJaOrE2J8TvunsJZJF9ZFqxIF9bMQANx9ILzqVY/rOUS+3unXGr5c/C789ClGdyd4WKekijVnbv1YAw2PJkdtAckQtkSfT0hfP8nSh97aPL7EZw/rIVVi/wFAwSmFjpsVenByqFUEVeSaRhshoJpc61DggF5j0RYZhDYsRldAD/MH2c8AaO/ntXMe3MVB/+EAjVyF1yie1h9e7x8zKh6hXGqFfaJPg8jJ1NpckaIj+C9fvs0h90ak1h2g==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(376002)(346002)(39850400004)(396003)(136003)(36840700001)(46966006)(110136005)(47076005)(36860700001)(186003)(33656002)(52536014)(316002)(336012)(53546011)(6506007)(9686003)(7696005)(26005)(86362001)(82310400003)(55016002)(5660300002)(4326008)(2906002)(70586007)(70206006)(83380400001)(8676002)(81166007)(478600001)(356005)(8936002)(82740400003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2021 07:28:28.4565
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cd009585-613f-4b1a-e11f-08d95e2bf1ed
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT052.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB7276

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMTPml6UgMDo1NQ0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+OyB4ZW4tZGV2ZWxAbGlzdHMueGVucHJv
amVjdC5vcmc7DQo+IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc7IGpiZXVsaWNoQHN1c2UuY29tDQo+
IENjOiBCZXJ0cmFuZCBNYXJxdWlzIDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+DQo+IFN1Ympl
Y3Q6IFJlOiBbWEVOIFJGQyBQQVRDSCAwNi80MF0geGVuOiBkZWNvdXBsZSBOVU1BIGZyb20gQUNQ
SSBpbiBLY29uZmlnDQo+IA0KPiBIaSBXZWksDQo+IA0KPiBPbiAxMS8wOC8yMDIxIDExOjIzLCBX
ZWkgQ2hlbiB3cm90ZToNCj4gPiBJbiBjdXJyZW50IFhlbiBjb2RlIG9ubHkgaW1wbG1lbnRzIHg4
NiBBQ1BJLWJhc2VkIE5VTUEgc3VwcG9ydC4NCj4gDQo+IHMvaW1wbG1lbnRzL2ltcGxlbWVudHMv
DQoNCkdvdCBpdC4NCg0KPiANCj4gPiBTbyBpbiBYZW4gS2NvbmZpZyBzeXN0ZW0sIE5VTUEgZXF1
YWxzIHRvIEFDUElfTlVNQS4geDg2IHNlbGVjdHMNCj4gPiBOVU1BIGJ5IGRlZmF1bHQsIGFuZCBD
T05GSUdfQUNQSV9OVU1BIGlzIGhhcmRjb2RlIGluIGNvbmZpZy5oLg0KPiA+DQo+ID4gSW4gdGhp
cyBwYXRjaCBzZXJpZXMsIHdlIGludHJvZHVjZWQgZGV2aWNlIHRyZWUgYmFzZWQgTlVNQSBmb3IN
Cj4gPiBBcm0uDQo+IA0KPiBUaGUgY29uY2VwdCBvZiBwYXRjaCBzZXJpZXMgb25seSBhcHBsaWVz
IHRvIHRoZSBNTC4gT25jZSBjaGVja2VkLWluIHRoaXMNCj4gaXMgb25seSBhIHNlcmllcyBvZiBj
b21taXQuIFNvIEkgd291bGQgd3JpdGU6DQo+IA0KPiAiSW4gYSBmb2xsb3ctdXAgcGF0Y2gsIHdl
IHdpbGwgaW50cm9kdWNlIHN1cHBvcnQgZm9yIE5VTUEgdXNpbmcgdGhlDQo+IERldmljZS1UcmVl
Ii4NCj4gDQo+ID4gIFRoYXQgbWVhbnMgd2Ugd2lsbCBoYXZlIHR3byBOVU1BIGltcGxlbWV0YXRp
b25zLCBzbyBpbiB0aGlzDQo+IA0KPiBzL2ltcGxlbWV0YXRpb25zL2ltcGxlbWVudGF0aW9ucy8N
Cj4gDQoNClRoYW5rcywgSSB3aWxsIHVwZGF0ZSB0aGUgY29tbWl0IGxvZyBpbiBuZXh0IHZlcnNp
b24uDQoNCj4gPiBwYXRjaCB3ZSBkZWNvdXBsZSBOVU1BIGZyb20gQUNQSSBiYXNlZCBOVU1BIGlu
IEtjb25maWcuIE1ha2UgTlVNQQ0KPiA+IGFzIGEgY29tbW9uIGZlYXR1cmUsIHRoYXQgZGV2aWNl
IHRyZWUgYmFzZWQgTlVNQSBhbHNvIGNhbiBzZWxlY3QgaXQuDQo+IA0KPiBDaGVlcnMsDQo+IA0K
PiAtLQ0KPiBKdWxpZW4gR3JhbGwNCg==


From xen-devel-bounces@lists.xenproject.org Fri Aug 13 08:29:37 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 08:29:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166681.304230 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mESZ9-0000ZA-4w; Fri, 13 Aug 2021 08:29:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166681.304230; Fri, 13 Aug 2021 08: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 1mESZ9-0000Z3-1H; Fri, 13 Aug 2021 08:29:23 +0000
Received: by outflank-mailman (input) for mailman id 166681;
 Fri, 13 Aug 2021 08:29:22 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ewIu=NE=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mESZ8-0000Yx-8E
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 08:29:22 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 8df7d492-fc10-11eb-a264-12813bfff9fa;
 Fri, 13 Aug 2021 08:29:20 +0000 (UTC)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2052.outbound.protection.outlook.com [104.47.13.52]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-39-Gu2EbNICNVyfKZy3AsWjRQ-1; Fri, 13 Aug 2021 10:29:18 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4350.eurprd04.prod.outlook.com (2603:10a6:803:3e::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13; Fri, 13 Aug
 2021 08:29:17 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.019; Fri, 13 Aug 2021
 08:29:17 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR03CA0099.eurprd03.prod.outlook.com (2603:10a6:208:69::40) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.18 via Frontend Transport; Fri, 13 Aug 2021 08:29: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: 8df7d492-fc10-11eb-a264-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628843359;
	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=iGKjXDLYENGLSrSimZ6sXwXBoh5c/+auGDgoybxCfow=;
	b=IRV8sQm6LCkkS2XsyjFIGlmgIPZPK1s52K+CXx+P0K5bh5PJDKfkgOdUJEZkf5j2t0rI/J
	Dwsbm3lluCFRW3Hi7LiY1/NwDzFpfV1FCSjTRlw3NKMlDoiehy4bxYRItFuDhQAFHDYzRb
	aQUOKedaF0kGxrO2TL4frYO40KsZvMs=
X-MC-Unique: Gu2EbNICNVyfKZy3AsWjRQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CbFBvbDmdGOtam1CQRwJq1xbYI+UpQBmpkZm7bpcZYKTIm4LEHMTzTStONpvs/Ed64sosyNp9vRqXNbN38171q1pU2AostzQIyCcNFWVDtfoA7GhFSyKT3Y0UfyCzlDDskfKZRZVg+DVKNUUNJXixdCpH/oSP8dF+WMqHRfFNnvI0xtYYSyeLI6ZB3vsmf033Yz3yX1i0tOb6MndnfDti7OAso8HWKxR9DQZPM1yrqciEXE6l4l1ob8CX3TPdhRItDqcD0m2fW5mSJhtPvDIjUARv7YcmeqYncMqVler+oAlx1gLIdH4VYOwviTmCnDrqMpRBkgNpIXOI+CO48zizQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cgHFpBPUTtKPSQ12C2/+K29SL7vgOoAvq5winQVXTLI=;
 b=TCCIaV3Q3mLXNRCPdeNL6x6iDfE0p6In/+AkXLCbWTwdc9D5uURpicyaDnfnI+6nWYRlA7B15m13TXCZP7gwQUxp9DdNiYqVkqt+fGBQXxAY3obkMnGjPjwn787gO4pzdojBwaXL4/HkzrozDeokbTxDlc6Gj3wpfsc34aE6pjs2l03NhbEalmplCMdBVUqU/CNEzI8Ptt7rVB3ydWKxHfrKL8jtnseo8VecpHIXZJDkzSC5vXbsrT61e1Lt0J0vsZSXbxG83cly5zyj6pui5ZmoeadX5m9JkdZXHhk3Z6TJHuUq6JF54KKI+9QOm98JoEFhIDcEu1nhcnwj/Gs/qw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: Re: [XEN RFC PATCH 03/40] xen/x86: Initialize memnodemapsize while
 faking NUMA node
To: Wei Chen <Wei.Chen@arm.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>,
 "julien@xen.org" <julien@xen.org>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-4-wei.chen@arm.com>
 <106dff13-e997-db8d-babf-0d6a73146ca3@suse.com>
 <DB9PR08MB68571676C6528B0AA56CB1659EFA9@DB9PR08MB6857.eurprd08.prod.outlook.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <127b586e-088e-e004-8320-c1f60930bf59@suse.com>
Date: Fri, 13 Aug 2021 10:29:15 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <DB9PR08MB68571676C6528B0AA56CB1659EFA9@DB9PR08MB6857.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM0PR03CA0099.eurprd03.prod.outlook.com
 (2603:10a6:208:69::40) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3e6444c0-32a3-4e9b-1ed5-08d95e34708a
X-MS-TrafficTypeDiagnostic: VI1PR04MB4350:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4350DBF134BA6006488D4DF3B3FA9@VI1PR04MB4350.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8273;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ly5o0DSS+ALSeRyR+OSHG0St1bvB+sL5cKnveFTIxoV+IPgepHH3srJXucZZAhb82F7vVo4NIR/OnXwIw5g9AmyrCA0K5Uc35GSJRpk+XiZo0IJMhx0Zlj6M/G1MOZQiwMailYA6dX71a9dwHERg4VF36TnwH0htSFSO5ilRfqdV0w1oXiIE3qnsjKdwlvQ3cDyfwfrEzjYVWCwwovMiaJxLQTJSXsG9BoDecnIVpQ5Az1ktaAGRqJwvtdrtZFx1zatkaEBtLQYOlgzagUkuOCwWja6y005p0coqMM4UTiJAswCHh8Xz+mSONcTsbdKeZ5FCvEIhtNYxGiEGq2v816/GNxXZlGan1pQzxN1KqiF5gtcBCtUKqQu9oQ2Q+4JnhQHsAigITfOELTrKLfwifp1/N/OfgFnJnpp2FFS2NEYnUnUFQV354PRj/LDHD4HXs8MPLTlv8zYUi8AnkcjNbvao1U2zIq6J49ZzquDUcKE9SudrKL9K4GanTEF7guF68HrARWfbi+eEBdm74LNYPkRWFHGDUHDqdqOQd3tKED4T1ds7KxtoZ7wONpydGSUsQ74MWBviAqNeGJpOwEFyWSZecJvDCcv+QQ73igeWaS0Mfmh1XtdM0EEbKPCllud7qXlwS9IyR0/95usF04ZpsEPR5G+ppSK7KMwmBa2eIzpAdcY7c864ZYlSUnOjA6BD4LsSKq10NC6OTaNx/U9DNKGHQCsbFrrYAgLPnRX770k=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(31696002)(66556008)(6916009)(316002)(86362001)(4744005)(6486002)(8936002)(2616005)(5660300002)(2906002)(4326008)(8676002)(26005)(38100700002)(186003)(31686004)(956004)(508600001)(36756003)(16576012)(66476007)(66946007)(54906003)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?H0LL0h/+9jZ3/LBCdSp9dgUXchrxFgWuCGQQauLYVZQKOHMTmajq/i8POcZP?=
 =?us-ascii?Q?TYPdpD27Ynf+SmUk7eCEds+RNEfnVdtUNr8tqIlWE/Bc0NSco4MtvNSJs06Z?=
 =?us-ascii?Q?QUiaUCcXcoV+nAJF7pr5hmFeqtzQXrusrtmJjUW/IFKl1Nw3butytC/mhfXN?=
 =?us-ascii?Q?i5ZcWP/FBCUBM8uqAQhE1xeJ+EhW0hMgrTXi3+JCvBximPsk98GNjhRSdaIs?=
 =?us-ascii?Q?/aaJrnJ5mo8T2Sd2N7nI8xAK/78j5zEwBCTRR0gO7sWXjzUIogkUR8jzFjvN?=
 =?us-ascii?Q?AkyrZMmgQGweD8U3fTigc8U1EvoBgKmh82zcR804HDyJLvmWnzrw/hdPebDC?=
 =?us-ascii?Q?buuiYys5XgHuFUGNXtb651vGiEAAYetR8w52qa2AJu6C0kQ/6wTUWfhXP4s4?=
 =?us-ascii?Q?msy4PHEB07vBXBbFpjy7FPAw/UTZyMznSlapVDP319XQr+oGXwqdUDkSPnTy?=
 =?us-ascii?Q?DWZ7c1aot0At4alu+a0dm9AzU3EXw6LWQGaF6FlrpcZZF+hXfWCpZX2xk+b4?=
 =?us-ascii?Q?jb+MFKmNyCfzV7/J4K/5g85wYgdQLr6F8tUFQBD60amD9+uaLTCfLBBHvgm8?=
 =?us-ascii?Q?bAkVvh4k7axGcxnLlqfpIRZMeC0gjcJ1P6zHhZK6n0I66fd5DeFv056w93kc?=
 =?us-ascii?Q?Uj/hYbZ10THOegSBgLXbwTE7wrfJ3X1NqBeXnsRhm6wqPFBvs5PnfeNcBYyj?=
 =?us-ascii?Q?QaGpr5M012JGeUZJkklGLJc1jm9hlXoeK2EeOIgC5+2ewF5lplBWqsFLfz1x?=
 =?us-ascii?Q?Fc3e6LSz63C5Z/kXfGWSeJxLJiSWzCG3Okoo0ZkTbUd3z+jjrcsX2hibWJaC?=
 =?us-ascii?Q?UbZdd2a6VI/mgj9is53lD8TZYrAuYE0AM70cb1/Eo/oRqA5yQdnJ1IusYYuH?=
 =?us-ascii?Q?kYO9Uws2qNhZmEEbROWo6DJbbu4g3qaY9iIaQ6DljR68XooY2lkQdR9KDPt7?=
 =?us-ascii?Q?2nENtjtA11Atyashygw51UJk0Kc3NII6cOMgH19FotqHLm9L8cwY0C/UDu4l?=
 =?us-ascii?Q?0OCLiKbpj9kypcfXWjQURIlsN1FiIBfC7ZBh1pIZcNDsRFWA6Cd+uUGN2b8S?=
 =?us-ascii?Q?2KVZTVu5wBbXAJUbyWLN+RlQzZP6ORvKNL1PFQ1++PSwyvfjaN/HW25Fu0c0?=
 =?us-ascii?Q?czWzSDubQSHDNBF7J2FYDrJ+yYlULkXqcDGQZMv0cz1hogym9y5eyBaGPLyW?=
 =?us-ascii?Q?SIOcJv0JVF3els9FdAjd7T//t7jdgyF8jSyysjyLxeZlGtmoJ7vvWaen/fRW?=
 =?us-ascii?Q?iiWP+bR3ZGqQnTNQyrOH4oq0LiMZJdmw0jtyNjRhfprvdthlOnZtSNeMQK7Y?=
 =?us-ascii?Q?+vA4RzesnM7+36rooEDihxbb?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3e6444c0-32a3-4e9b-1ed5-08d95e34708a
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2021 08:29:17.0375
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: iGdL9mC0H5aCzZGpcWgb+IDMztWgJE/hXrNRwkxZJfW6BUhY/HtcC5D+sXIGNmYzdxnx5VH/mJnafknnJZgxyw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4350

On 13.08.2021 09:26, Wei Chen wrote:
>> From: Jan Beulich <jbeulich@suse.com>
>> Sent: 2021=E5=B9=B48=E6=9C=8812=E6=97=A5 23:33
>>
>> On 11.08.2021 12:23, Wei Chen wrote:
>>> --- a/xen/arch/x86/numa.c
>>> +++ b/xen/arch/x86/numa.c
>>> @@ -270,6 +270,8 @@ void __init numa_initmem_init(unsigned long
>> start_pfn, unsigned long end_pfn)
>>>      /* setup dummy node covering all memory */
>>>      memnode_shift =3D BITS_PER_LONG - 1;
>>>      memnodemap =3D _memnodemap;
>>> +    memnodemapsize =3D ARRAY_SIZE(_memnodemap);
>>
>> But this doesn't reflect reality then, does it? We'd rather want to
>> set the size to 1, I would think.
>>
>=20
> Yes, you're right. Actually, we just only used 1 slot. But furthermore,
> memnodemap[0] may be set in acpi_scan_nodes, but acpi_scan_nodes doesn't
> reset memnodemap when it failed. I think maybe we can add:
>     memnodemap[0] =3D 0;
>     memnodemapsize =3D 1;
> How do you think about it?

Well, yes, if data may have been put there, then resetting of course
makes sense.

Jan



From xen-devel-bounces@lists.xenproject.org Fri Aug 13 08:42:28 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 08:42:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166687.304240 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mESlj-0002qp-Cq; Fri, 13 Aug 2021 08:42:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166687.304240; Fri, 13 Aug 2021 08:42:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mESlj-0002qi-9z; Fri, 13 Aug 2021 08:42:23 +0000
Received: by outflank-mailman (input) for mailman id 166687;
 Fri, 13 Aug 2021 08:42: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 1mESli-0002qY-7O; Fri, 13 Aug 2021 08:42: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 1mESli-0001hZ-0z; Fri, 13 Aug 2021 08:42: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 1mESlh-0002Tm-Np; Fri, 13 Aug 2021 08:42:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mESlh-0004Tk-NM; Fri, 13 Aug 2021 08:42:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=c87VHU76NpoUB5vClSH8c9tIwzg9yLncNbIPz5giipI=; b=JYLrUoMC+LJatkEG4ce8ceuj6C
	f3UoUvl00z708A9rGL55PtbHlR4QgeOAvGN/F0Ozmkzhz9J1AHC2PrDsMgUgyfuwbRzLmaMsvZscF
	JXnu/WCxXyQJQM3fMVb+4ohKJNXaeqD8SpdQPcBI7Mh0Xf8byw1y6ao+dLDsMKY9f1Kk=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164173-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 164173: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=6fdd1c13a734609aff68d37e606e995d673d9aeb
X-Osstest-Versions-That:
    ovmf=ac826886c98524e918753419c039d8b44198943f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 13 Aug 2021 08:42:21 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 6fdd1c13a734609aff68d37e606e995d673d9aeb
baseline version:
 ovmf                 ac826886c98524e918753419c039d8b44198943f

Last test of basis   164166  2021-08-12 08:41:16 Z    1 days
Testing same since   164173  2021-08-13 01:56:17 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  GregX Yeh <gregx.yeh@intel.com>
  Yeh, GregX <gregx.yeh@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
   ac826886c9..6fdd1c13a7  6fdd1c13a734609aff68d37e606e995d673d9aeb -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Aug 13 09:25:13 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 09:25:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166696.304255 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mETQz-0006pL-OS; Fri, 13 Aug 2021 09:25:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166696.304255; Fri, 13 Aug 2021 09:25:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mETQz-0006pE-LB; Fri, 13 Aug 2021 09:25:01 +0000
Received: by outflank-mailman (input) for mailman id 166696;
 Fri, 13 Aug 2021 09:25:00 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ewIu=NE=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mETQy-0006p8-03
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 09:25:00 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 53da0728-fc18-11eb-a269-12813bfff9fa;
 Fri, 13 Aug 2021 09:24:58 +0000 (UTC)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2111.outbound.protection.outlook.com [104.47.17.111])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-25--mMEewZ1PSeiXYQEO8fu-Q-2; Fri, 13 Aug 2021 11:24:57 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB6863.eurprd04.prod.outlook.com (2603:10a6:803:12f::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Fri, 13 Aug
 2021 09:24:53 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.019; Fri, 13 Aug 2021
 09:24:53 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0240.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1e::36) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.13 via Frontend Transport; Fri, 13 Aug 2021 09:24: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: 53da0728-fc18-11eb-a269-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628846697;
	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=qGQKct7tizpFHXxACTjP3YHEf7m8sWOe8Y9pm4LfNfY=;
	b=ODuteRkRuuW6ZcG/n3E6ziGCAbrFTLyMubmSZaQWpkBrgjl4ESCSsqbTJXAhTm1Z477tdf
	GKt9bLIT+HtVEZUJweLyEvyfslxiEqXI3muG/jrlcmpGrdM72Lcq48oPDK1F3UbYeL589v
	lckAvMiwnI4KKEG1yY/G//Dx2ivrnQA=
X-MC-Unique: -mMEewZ1PSeiXYQEO8fu-Q-2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lc5iqOqQ0Xy0Z0TIaYQiZiKLjwqVBjV6oQAzvpj5dqwJ/6dWCgvMEZYT/zRFlf7agiCVU6oquVKkQBH2ndJyQXh7o1/Wh0dguv9UnzYpqasob6ZBr2Oi/+BWXbEYXV+TTxpNzSuGJQuFzAe/5Go0x2kp61UcMREfjPYiQhCpLiwjjcHHLrIHFLCr4rkZdJO2J1+GVAXDREF+YeW2YeVY90jubHGvZK5BrWdwP/mlx5CYj7Xe+pYjJZF4SFhUPnRNLR2IjBmdfJjGuo4o3kLUkKgM9+EKQVkW194GI7nZMiAWY8YSBcR5FIKtvGlRF8NVIFF7jQOdwFlotjH4NLe6Ng==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qGQKct7tizpFHXxACTjP3YHEf7m8sWOe8Y9pm4LfNfY=;
 b=N069IAfZ4ik7IH/UzJharBCo6CSTH6nb4cFjgqGlRPjrzt3HHxR3DRPwOT6yeoIGHGoqHQkJS/mCGl1JyQisMyo80+xV5wj6PhmTFY1t2Rqp3mI90XRBodIraU4I2zgpcCaL0+as8DbpZ3oNIxzyxLxFAXbYi5eJA8r71RSOPfQ5C8DAfnBRpNm694gi8WnLNK6o3aR0nqe7azwL9W76ExmvgmB+rdVtAfRHog7dRL3gaLP+KEGt8HiHy7WZwK7kbsD5zSrn9UxKkUAbwJxsAdkMgJPO1pgO9Nt3+Gk0hIIBWZVI/CkwHSZrwawRtpyVnizSDzVsC7pJZHd21t8BLA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: Ping: [PATCH v2 00/13] x86: more or less log-dirty related
 improvements
From: Jan Beulich <jbeulich@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Ian Jackson <iwj@xenproject.org>
Cc: Juergen Gross <jgross@suse.com>, George Dunlap
 <george.dunlap@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <0bebfe8c-6897-dc8b-7fe0-9127d4996eb8@suse.com>
 <b77e536e-1113-6fc2-55b0-b6b4f7b91b18@suse.com>
Message-ID: <37066499-a50d-d0fc-6443-f122ba08bf72@suse.com>
Date: Fri, 13 Aug 2021 11:24:51 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <b77e536e-1113-6fc2-55b0-b6b4f7b91b18@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0240.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1e::36) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 42f0b1ad-4df7-4b3b-d053-08d95e3c34e8
X-MS-TrafficTypeDiagnostic: VI1PR04MB6863:
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB6863631C8F32EBBA23CB33C5B3FA9@VI1PR04MB6863.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:6790;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZGb0Qm8D33ac47yNGdTB775hvo1e60FTWB1cJ99fXk7tAIeAxuZW0YwzSJDRdfD6kzThPUnpENKzgNvsXTlUuHIutSE5BdJcA2zsAnm7bbmAzsKNW61Pn8vSZ4YAgLuoRHhzWABfpUw37kOZtA4zSWseeZH1kVQJJJlO0zxWvwDZB0olzmJB3wEIH1FO0fnloKJgVlg+K+RhY16C1rZ917E0OAga77qAuh+fP4djwAfWGXWZuX2MIOYrX/9MkUAhzOekQlVraMmm0aiXajLBOdQUJkBO9j0u8H11A0It7N8P+yfW3oIIipw9L0SdAcM8neTkCeP34+z2gMFrihIoKbUkICdtiX2vd0WsvAEpkb3quLgE8w6YXjXLm3EvV+KQt6/f2UsJDlIOVdsmmN2aU70fmNMTn2FmIJwNaL0NkW6hB3QbAwd9lC58rhZl44qXcbYjI15qZMDeC1I9mX/ElifCUf5c6S3Accs2xQ+D6JSDcL7Q3fqAwX9I1ZxN5mVm44yfEfiJ7EbgYajLe6qBGE1ljImvmlr90Bpy+/1ZmqGypc6BG/DMLY01jKpWBagbbRR1AN4ZZ0z4uNrxu6eamGN11BY2XOU9ZkA+1rSbXxAVBfDvsnaQTpGE7Cxr7fMscLaH26ia4+Q91WXaW743Wo9qnKbXgUj0IksRg9fbE8/aCzxNd6WbhXS1GGeNPGe4mDxa+cpU2UTBzYbt6d+nJvd6WZBBXckcD9/MZOa4DB//Uc5zHZb11XQlpTX9zK16
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(366004)(376002)(396003)(39850400004)(346002)(31696002)(36756003)(66946007)(6486002)(26005)(38100700002)(8936002)(8676002)(186003)(66556008)(2906002)(66476007)(83380400001)(86362001)(110136005)(316002)(54906003)(16576012)(31686004)(4326008)(956004)(478600001)(5660300002)(2616005)(53546011)(14143004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NEVkQ1FPd2M4RmJjcnFFYlRKQ09aeEZLOGp2MEx2S3JJdUwvUWtYclRubTFK?=
 =?utf-8?B?a2EvK3BVUGFwMml4enZQR09EOFFSY2JoOWN4UTZCQlJVWDg1YWYxeGZpQmMw?=
 =?utf-8?B?WEwxOXRIdFBHSTJlK0lJdCtmSnQxK1hnMG9SV1Jhb2pDc213K1lsQTBNMEdJ?=
 =?utf-8?B?MmJ2YnpvdHcyOHBPRC9Ed2NWb0VlaXBLYWxnU2o0cGFML05DQkZjUkxKMTZV?=
 =?utf-8?B?RXVCOGM5eml5QnpFZlZBanQxUzg3SkFEcEdqMlZHbXZURXMybWFXd1lZUXds?=
 =?utf-8?B?YUdIOXJkK29DYVdxVjdDcmhERW1TK3dZakp0cFN6Z2VIaUZ2TGlKMHZOMHJt?=
 =?utf-8?B?SVlZcVZMRnFNOFZRUVVZeFM5cXRoZ08wL3M3Z1FOdXB3R0tOemtuN1hGNXJR?=
 =?utf-8?B?Zzk4OXpOQk1iNXdoNnNOS1d4ckFIN3pmd2lYUlk0RFJHRjFsN3dlQmNPZG9o?=
 =?utf-8?B?YnV4KzhqZnRjak5WNGVwWWNURnBObnhadGtvWHhRQkRRVkhndHBtOVFjajRt?=
 =?utf-8?B?bThQN1M3RjNoL3FENmFVVjVXNytaQkEwT2lKOVZpanZSckNrazltVjBKdFFi?=
 =?utf-8?B?N2tmUFhTZ1cvK28xRkZrVlpZRUhSZ1FmMmFpNk82RjQvWUFlSXpiUFdxSkU2?=
 =?utf-8?B?emwvNERtaHhsdm9YODd1QzZlRmpGayt1TnBXYXhFbWRPTVVVbEhES1o5QTZh?=
 =?utf-8?B?NGNNUHZLUTdHMUpOaEdDSlpwN0xad0ZJUGN5NUlKQko4T1dXVHRUUy9tYi9l?=
 =?utf-8?B?cW9uOFFZYmErZ0VxNDJhOTVtMGlYYjliRWFrY2tJZ0wyVTREZ2FnejMwY21v?=
 =?utf-8?B?UENxaUY0RXgvbXNsMjEyVS95SFAzMFZFRXNVY3grTUVFRnBtV0VoRnF1dGQx?=
 =?utf-8?B?QytHeGxRamFGUkh0MVp4WkNiUGhWTlVKYkk2YVRsSThvOXVFQ2tmUzBSSDVS?=
 =?utf-8?B?ZHVXU3R1RjFkdUlLdnJPOVo2Zkg2bHlUMXhybmw2TTQ4Q0drZFBiaEJ4aXNy?=
 =?utf-8?B?SU1kWFFDdW9yeXkzajZvZmttVW9VVDYwSDVnQjJrMTkrcHRxZk81QTk0QUpF?=
 =?utf-8?B?NmVpYVVWdzQ0WU5pVFVwakhoM0FTYjRzTFE1R2F6bW9qYUZpMWVzNVdnZnZN?=
 =?utf-8?B?eG8rQXRNQVFWQkpLQThNRGhzNWJjL0dKOGNOWHh2ZkF2a2s1ZmZiNzU2d3I1?=
 =?utf-8?B?anhXb2QzNHJZQ1h2QjM5dlZOemRaNEJOeGJ0S1l4MUw5L2I1Z0lJSEV5TmtG?=
 =?utf-8?B?Kzl6T2p0djI0VXIyYzA1dkpnTjlLMWd1Qk5ONVkrUEhiOGNJdU1MczEyY1BL?=
 =?utf-8?B?VThpVHUwWGlKNUh1NFRXYnczMmtFN0pSSWZUQWtDdys3MjU3MUttRU16bC8x?=
 =?utf-8?B?K3FvZjlaU3RnSWg2MDVOOHVPQUNqR1RzRVdiZkNjU2xxc2tJVkNlME5JRFdq?=
 =?utf-8?B?eDkzUkhrbDJlVjVGMFJOSmdQbWEzYllpSmNRUENXWlNRYmZkRkRxT25sK05K?=
 =?utf-8?B?aSt6YUlOUGJPdFRoUTJmOFZEV2l1VW5xamhISkV5NXlsdFA3WC9pNGZZNEZa?=
 =?utf-8?B?MjdDczlpbkdJNGMrRmpJWDV6RmlqcFAycnMydndVVGNLZFk2OVFQeEwySmJP?=
 =?utf-8?B?M2c1OFVUWEVzMGkyU2kzTmEweWo2L3ZmUlJBb1pDYldLS1cxUHdWVGo2MFVW?=
 =?utf-8?B?TWpHSk4xdDBMazdFNUExZVdUWk84TVVnMXMwRVFad1NRemlvUUpNRzlKUkZM?=
 =?utf-8?Q?j4LEx/EGCAAXTJa5gKzssMW2t5Xo1OdOWkjJZ3n?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 42f0b1ad-4df7-4b3b-d053-08d95e3c34e8
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2021 09:24:53.0046
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0mo4rrJXuCmhy1Ltsy5JZwm9iS+ynsBFZBqISpi3lwq+xlsVlroXu9w6VYs29f9o9AIFgJvDyfdSuSp/WaHf4g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6863

On 19.07.2021 09:46, Jan Beulich wrote:
> On 05.07.2021 17:09, Jan Beulich wrote:
>> ... or so I hope. This series continues the attempt to deal with
>> the ovmf change putting the shared info page at a very high address
>> (which is now planned to get reverted there, but the general
>> problem doesn't go away by them doing so). There are further issues
>> with truncated value, which are being dealt with here. But there
>> are also not directly related changes, when I simply spotted things
>> that aren't very likely to be right the way they are. And then
>> there are also adjustments to the underlying hypervisor
>> implementation, with the goal of making the returned data more
>> useful to the consumers.
>>
>> With these changes in place, a 1Gb guest which has "inflated"
>> itself by putting a page right below the 16Tb boundary migrates
>> successfully, albeit the process takes from some 20 minutes to over
>> half an hour on my test system.
>>
>> In v2, besides integrating 2 patches that were previously sent,
>> there's one new patch and otherwise review feedback addressed
>> (albeit there wasn't any for a number of patches).
>>
>> 01: libxl/x86: check return value of SHADOW_OP_SET_ALLOCATION domctl
> 
> while I did get an R-b from Anthony on this one, but ...
> 
>> 02: libxc: split xc_logdirty_control() from xc_shadow_control()
>> 03: libxenguest: deal with log-dirty op stats overflow
>> 04: libxenguest: short-circuit "all-dirty" handling
>> 05: libxenguest: avoid allocating unused deferred-pages bitmap
>> 06: libxenguest: complete loops in xc_map_domain_meminfo()
>> 07: libxenguest: guard against overflow from too large p2m when checkpointing
>> 08: libxenguest: fix off-by-1 in colo-secondary-bitmap merging
>> 09: libxenguest: restrict PV guest size
>> 10: libxc: simplify HYPERCALL_BUFFER()
>> 11: x86/paging: supply more useful log-dirty page count
>> 12: x86/mm: update log-dirty bitmap when manipulating P2M
> 
> ... all of these are still in needed of suitable acks (patches 8
> and 10 have an R-b though, and are independent of earlier parts of
> this series).

Since I've not had any feedback since the ping, I'm intending to
commit the patches that have acks / R-b by Andrew (which actually
also includes patch 6), on the basis that informally (iirc
mentioned on irc more than once, in other but similar contexts)
this was indicated to be okay by the maintainers.

For all other patches here I'd like to renew the ping. I have to
admit that I'm unclear about what else I can do to progress this
series.

Jan

> Patches 3 and 5 have objections pending by Andrew,
> which I did reply to verbally without it having become clear
> whether these replies were addressing the concerns, or what exactly
> the misunderstanding on either side is (and hence which, if any,
> changes I should make).
> 
> Thanks, Jan



From xen-devel-bounces@lists.xenproject.org Fri Aug 13 09:39:02 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 09:39:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166702.304265 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mETeO-0008Jc-00; Fri, 13 Aug 2021 09:38:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166702.304265; Fri, 13 Aug 2021 09:38: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 1mETeN-0008JV-TG; Fri, 13 Aug 2021 09:38:51 +0000
Received: by outflank-mailman (input) for mailman id 166702;
 Fri, 13 Aug 2021 09:38:50 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=USBj=NE=epam.com=prvs=885989f52f=roman_skakun@srs-us1.protection.inumbo.net>)
 id 1mETeL-0008JP-QV
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 09:38:50 +0000
Received: from mx0a-0039f301.pphosted.com (unknown [148.163.133.242])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 31cbcf73-e85f-4398-af2c-057d41692d3c;
 Fri, 13 Aug 2021 09:38:46 +0000 (UTC)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id
 17D9aCuV003545; Fri, 13 Aug 2021 09:38:43 GMT
Received: from eur04-he1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2055.outbound.protection.outlook.com [104.47.13.55])
 by mx0a-0039f301.pphosted.com with ESMTP id 3admgc8j03-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 13 Aug 2021 09:38:43 +0000
Received: from AM7PR03MB6593.eurprd03.prod.outlook.com (2603:10a6:20b:1b4::10)
 by AM6PR03MB5559.eurprd03.prod.outlook.com (2603:10a6:20b:f3::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Fri, 13 Aug
 2021 09:38:39 +0000
Received: from AM7PR03MB6593.eurprd03.prod.outlook.com
 ([fe80::ec7b:2795:206b:9411]) by AM7PR03MB6593.eurprd03.prod.outlook.com
 ([fe80::ec7b:2795:206b:9411%3]) with mapi id 15.20.4415.019; Fri, 13 Aug 2021
 09: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: 31cbcf73-e85f-4398-af2c-057d41692d3c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=g8/XH8z1zQGJfKGbhBYTdIkftBBPs3YJOR9+8CuvqOTSHUUfmp4BhxcMHbnAJkQnN25PvMIo9DrcNSCBFbTl2wFtFmiQl34yhAMo8jrDlRnvQjJAxO+MwGhJbs3QGi46neXNkPegW9Uk5U8etQaD6v8VeNag6NpE+wI1srJKttHdWtkuTjHeE9iCMYWPdn9P2fxynAkgsDGqPbI+Il42PQi1jiHb0zotxdl48Xa4PAQ8mGsD2B4WAeqT+waXZv6OINUL3ce6pdsuqrx8znewOJIGhPckYD/VeFFTo2qLJzBRwcenHU0Xn+xq0SFIyHsFjmlPKf6EoJazDh6Gwy9Evg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Lzy7zXXYf7jTDgNIqezDGk9DuL+e8hsSodxBaXVur0s=;
 b=H6+rVH/2qYp4bzOuiyNEaVXcSO/O6Lb2XfAi05wE+DoSkAAfErU/B6LwQT1R9XmJ+MhhlW4IKg/h0oCX7b+aoKZwHBqgudCSgd5l3ZH8aLcWmKszQPcwSNi65rkACbSNVqAiD7fUzd69yhNahbdM3AMnVKRSTq6mVLCTC7ZdMbntaKE8L9rlI8q9XRUXhNlWXW0UsA0j0U8NtZ7nbYc16ZMhYFPRwWbq2q7oGPkfgJa5ihL6sInOiKOXYRGBm4HwDwbbRfi6I9TeQ0471IjDxdNdyCZrBGcUn2LaEg1LtBgXvtENMsXig3d7sZiCveeLbPYxwjvGkuyQtA5kbh0xrQ==
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=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Lzy7zXXYf7jTDgNIqezDGk9DuL+e8hsSodxBaXVur0s=;
 b=ExKUoYFcUeA8J4mZdlhB2ReuKGkqTjS0hTUO1OfB58Tk5aebq8pwDChGuGbWgIH7n9Cg8ww5QEbwb63ddy5vLjZWXQ5Wj2dO4jtBdNF4Q9aa5l5nez0QU8/a9mmGsfSXOGQSGvlhqJ7hDdhyQkCikodsbpGLC8PzN1JPMl+zzQXbXwthJkfR2pz6SarzOUcvrZTgnX56cBumNGbJQLyMEJVa5uSfuX7R8kVCAUuTOYAlU/yCE8DZCJ6wenAHhAyi5BIqSvZQue5eZLct3T1P6bd/rIAJF1iOXbmdHYLtOroRo1PMIL0c25vxacTGjC7/EWAu4a+2JGunvK4WCvEF8Q==
From: Roman Skakun <Roman_Skakun@epam.com>
To: Julien Grall <julien@xen.org>,
        "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <bertrand.marquis@arm.com>,
        Andrii Anisov
	<Andrii_Anisov@epam.com>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
        Oleksandr Andrushchenko
	<Oleksandr_Andrushchenko@epam.com>,
        "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>,
        Roman Skakun <rm.skakun@gmail.com>, Jan
 Beulich <jbeulich@suse.com>,
        Roman Skakun <Roman_Skakun@epam.com>
Subject: Re: Disable swiotlb for Dom0
Thread-Topic: Disable swiotlb for Dom0
Thread-Index: 
 AQHXjfwJK3kYIT7XAUWdmOu1AWm+tKts6kUAgAD/OfqAADJaAIAAJhCIgAArBQCAAqGMMQ==
Date: Fri, 13 Aug 2021 09:38:39 +0000
Message-ID: 
 <AM7PR03MB659376E041306352B583060185FA9@AM7PR03MB6593.eurprd03.prod.outlook.com>
References: 
 <AM7PR03MB6593B4461B99297C8650CF1C85F79@AM7PR03MB6593.eurprd03.prod.outlook.com>
 <060b5741-922c-115c-7e8c-97d8aa5f46f4@xen.org>
 <AM7PR03MB65932619505158E3930D8E8785F89@AM7PR03MB6593.eurprd03.prod.outlook.com>
 <d616081a-8c60-dcda-ac54-58c5be0c21ce@xen.org>
 <AM7PR03MB6593834BA54AD8A126EF872185F89@AM7PR03MB6593.eurprd03.prod.outlook.com>
 <691e31db-c79b-9196-53e1-cbbdc9bd3a54@xen.org>
In-Reply-To: <691e31db-c79b-9196-53e1-cbbdc9bd3a54@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
authentication-results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: b7907af9-9951-4b61-6a0e-08d95e3e2178
x-ms-traffictypediagnostic: AM6PR03MB5559:
x-ms-exchange-transport-forked: True
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <AM6PR03MB5559D1D0E220D322E1EFD7E385FA9@AM6PR03MB5559.eurprd03.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 gUyedQmKfi8V35jmlO9akksxfnJUhytX7xI2PGqoo6neHoLjj3vtachLYtmgobvfdO0WU400gOfSwksK2Ho/4/gzCruJR6hsO2XNSbm7d1EJ7u2p/O1EF1Ipl3VgobWDIDeC9x8q7MMnY5Yeb7PXx8SBiMqPJjWih1UgxYhpU/G32VpOvlHsVOvGgv5X+KnadT/vCmZiLzdlq6t67jW+SZIt6yMlT2709Wxxd2pwzRjddahxlMY4Id7AtYo6OtdGGG3l5xBXV0HGZSwQsOY4/DpqlW9sQ8i3ZGwJrXEMolELXwEETlzIobnn1s+0sySTbyGBaYDOnjpNqmoI6FsjlQ3LDkflRhJr9qMtD+VNBTWS91kHqPyFIl6NkFE5M5oMvpWIAKZvd9AVE187CEj5kYaK7jnPSaGhWsEGWEQ7WU5gzFGj383AgXeZ6LTH7Vf59v2aMg4o9+Nq5c/hexO2jE0FZ+ciRf2S/wv8gH5itrdKUHRJ5Zkq7Eza1tlrjJiBKAaEhYO/vZWVbM1I0kP3bPu+hkDYDdW9j3h6o/nkaJqXppQWnvji20A3oUO+3vyEQ2PYXnEC4nKw+8wU1VLDIG4ca92ZjC1fa8QCA61RMYbcug2Lek7+IRndYw1Y13E59edu3VqrHq+EiioEiNI/HUOaJB44LMLNJPO5/u2/hq3Tgey0AFnbIWQfHMBtnu9gyF3PRHBBxidWsC+npOxjig==
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM7PR03MB6593.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(396003)(376002)(39860400002)(136003)(346002)(4326008)(5660300002)(86362001)(19627405001)(55016002)(66556008)(26005)(64756008)(66946007)(83380400001)(71200400001)(66476007)(8676002)(8936002)(122000001)(66446008)(2906002)(38100700002)(478600001)(38070700005)(110136005)(54906003)(30864003)(6506007)(9686003)(53546011)(107886003)(76116006)(91956017)(7696005)(316002)(33656002)(186003)(52536014);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?us-ascii?Q?ejpr9FnBvjnqnFi4FUyEGBXHZyI91g8MivSb9JbjimMaLuEH1+V95dFml/1j?=
 =?us-ascii?Q?tZN1p53SgpI8lYMLte1F9Qd2VBipSeJhiL7gdyz08SbEPp/xjPj4E+EYZ09P?=
 =?us-ascii?Q?Pcs78OGq8fQgeDLyK6Dj5ixDHOrm5VLFTurnuws44bGcarPqLUr54V3CJDbm?=
 =?us-ascii?Q?PZNEkCcBjgOTByckyhxsnDleobbqb6/DK889gjyZPQ/bbSWrRpVQtEVviFeN?=
 =?us-ascii?Q?Y5yG1vgzZr9xBjYr4WJEJFL7i14ppsAaypQbh82pyasEPEUIt6X8kGCULAl/?=
 =?us-ascii?Q?xI21T7/F+6E3DSKfwVUuKVGgMfpVMwE5FrrmMze9V2e/zd7cZJZzCXs7A78e?=
 =?us-ascii?Q?p7S7AICriGQzL7FxcAUBqG+KxlQxD61w0ApcMVRq94Oneod+Qe1RgV5DzdQ1?=
 =?us-ascii?Q?cyFY81zSFXkRdBU7MPyEbRMFnnAEl0LLVJ8awOyq9hLOPcTHZFZRZnixKKCw?=
 =?us-ascii?Q?bV/jTbf0DlTOnvOl92i0zOFJCV7mJsUYSnJSeV0W2axuIp3KBj5zJTBkUcFk?=
 =?us-ascii?Q?GAyESAUjofUFwa59fkhzIpkZHL25Q8FxVHc/DRpwsCzHqGKatXMDNr50CAcO?=
 =?us-ascii?Q?Dj5g+bmiKEx9mqTJQzXnj1zYjTqvJEFdmWn06obCE160yioq98e/zKJTH5KW?=
 =?us-ascii?Q?VJdH7JkpIWbsM895gc7Sy8psI5GvczDG6aAoPUCXlIt2GyxtJdq4w3JipccQ?=
 =?us-ascii?Q?yEJGuClyHDnrYs2rwvVmcjSCRBqH0Te6djvMP6KcojbTxEEO5xAFw+fKOLfv?=
 =?us-ascii?Q?6QbazlD4AaL24ns6wrrhDI2jmFZ66OwEcbsy3Kco/opnXyrsNsKcPvYelR1G?=
 =?us-ascii?Q?3Vw6G1x7F+vmczQIAzgeSqlRvPjItb8+b9cCajtjo8odiKKObYbwIW7ZKXZo?=
 =?us-ascii?Q?84VXOiKkKnwxIiyyb39Fwx1I4odVK6V8tyPLMtxeHHY/DQei1S3kP+s5wDag?=
 =?us-ascii?Q?zSar6k5QiMYVCw2QASMLi/WZyQiAwsulaW7K9bZ16qKtde97Phh2zBMj5pbz?=
 =?us-ascii?Q?ulxmYF2NKU2V4dk/ruAF9J1V9SWziwcihte7DioQCKBzwgAHy6huRo7U6pyW?=
 =?us-ascii?Q?8XYymnq4mXqxlZHLCIq/wiJvagqrZ08aI1XUMsTQN7K5pXOGfT+/S8gn4JFV?=
 =?us-ascii?Q?87E+qXwGHNpwxmXTcH0NKSPMIMAqXAFwpE1/gF2nbnp+pJI5a++47+OBtE/n?=
 =?us-ascii?Q?Y+WY75zMApXK25FE/GZkmPQhv4gd+bgL2HeohG2mcLoXrrAkwm0FsI6Lmg+N?=
 =?us-ascii?Q?jIYk3e96JVdSjIK0X7FMWR1iGWv85VsZIlf6Fh1FGpf2itHD0RZ8n8URASXf?=
 =?us-ascii?Q?yvQ=3D?=
Content-Type: multipart/alternative;
	boundary="_000_AM7PR03MB659376E041306352B583060185FA9AM7PR03MB6593eurp_"
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6593.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b7907af9-9951-4b61-6a0e-08d95e3e2178
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Aug 2021 09:38:39.1501
 (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: bcd35lleqyZmcs3lRgMHV7cnD2iQEhJwPwvC+nGLcEbcsrJ8JbxcARmlo985b0D//yth7KZGbSRLtPYfIU6GEw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR03MB5559
X-Proofpoint-GUID: E7aXWfiBR3XWfIXHQPtyxFzsWmvc4vzY
X-Proofpoint-ORIG-GUID: E7aXWfiBR3XWfIXHQPtyxFzsWmvc4vzY
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.391,18.0.790
 definitions=2021-08-13_03:2021-08-12,2021-08-13 signatures=0
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501
 adultscore=0 suspectscore=0 impostorscore=0 clxscore=1015 spamscore=0
 bulkscore=0 lowpriorityscore=0 phishscore=0 malwarescore=0 mlxscore=0
 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2107140000 definitions=main-2108130057

--_000_AM7PR03MB659376E041306352B583060185FA9AM7PR03MB6593eurp_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hi Julien,

> So 0xb6000000 is most likely the GFN used to mapped the grant from the do=
mU.
>
> swiotlb-xen on Arm will convert it to the MFN because it is not aware
> whether the device is behind an IOMMU.

If I'm understand right, it seems like that swiotlb-xen is not ready to wor=
k properly in case
when we retrieved MFN instead of proper GFN mapped to Dom0 memory.
Maybe you know some ideas to overcome this condition?

>  As the address is too high to be handled by the device, swiotlb will try
>  to bounce it. I think it is correct to bounce the page but I am not sure
>  why it can't. What the size of the DMA transaction?

The DMA map size is 3686400 bytes.

I've added several logs to swiotlb map_single() and see:
[  151.298455] <SWIOTLB> swiotlb_tbl_map_single() origin_addr: 64af97000, n=
eeded: 708,
avail: 7fc0, stride: 2, index: 4160

It's expected because:
....
[  259.468006] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31742]=3D2 sl=
ots < 708 nslots. Continue...
[  259.477070] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31744]=3D80 s=
lots < 708 nslots. Continue...
[  259.486229] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31746]=3D7e s=
lots < 708 nslots. Continue...
[  259.495387] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31748]=3D7c s=
lots < 708 nslots. Continue...
[  259.504546] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31750]=3D7a s=
lots < 708 nslots. Continue...
[  259.513704] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31752]=3D78 s=
lots < 708 nslots. Continue...
[  259.522863] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31754]=3D76 s=
lots < 708 nslots. Continue...
[  259.532021] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31756]=3D74 s=
lots < 708 nslots. Continue...
[  259.541179] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31758]=3D72 s=
lots < 708 nslots. Continue...
[  259.550338] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31760]=3D70 s=
lots < 708 nslots. Continue...
[  259.559496] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31762]=3D6e s=
lots < 708 nslots. Continue...
[  259.568660] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31764]=3D6c s=
lots < 708 nslots. Continue...
[  259.577813] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31766]=3D6a s=
lots < 708 nslots. Continue...
[  259.586972] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31768]=3D68 s=
lots < 708 nslots. Continue...
[  259.596130] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31770]=3D66 s=
lots < 708 nslots. Continue...
[  259.605289] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31772]=3D64 s=
lots < 708 nslots. Continue...
[  259.614447] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31774]=3D62 s=
lots < 708 nslots. Continue...
[  259.623606] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31776]=3D60 s=
lots < 708 nslots. Continue...
[  259.632764] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31778]=3D5e s=
lots < 708 nslots. Continue...
[  259.641922] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31780]=3D5c s=
lots < 708 nslots. Continue...
[  259.651081] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31782]=3D5a s=
lots < 708 nslots. Continue...
[  259.660239] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31784]=3D58 s=
lots < 708 nslots. Continue...
[  259.669398] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31786]=3D56 s=
lots < 708 nslots. Continue...
[  259.678563] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31788]=3D54 s=
lots < 708 nslots. Continue...
[  259.687714] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31790]=3D52 s=
lots < 708 nslots. Continue...
[  259.696873] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31792]=3D50 s=
lots < 708 nslots. Continue...
[  259.706032] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31794]=3D4e s=
lots < 708 nslots. Continue...
[  259.715190] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31796]=3D4c s=
lots < 708 nslots. Continue...
[  259.724348] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31798]=3D4a s=
lots < 708 nslots. Continue...
[  259.733507] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31800]=3D48 s=
lots < 708 nslots. Continue...
[  259.742665] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31802]=3D46 s=
lots < 708 nslots. Continue...
[  259.751824] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31804]=3D44 s=
lots < 708 nslots. Continue...
[  259.760982] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31806]=3D42 s=
lots < 708 nslots. Continue...
[  259.770141] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31808]=3D40 s=
lots < 708 nslots. Continue...
[  259.779299] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31810]=3D3e s=
lots < 708 nslots. Continue...
[  259.788466] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31812]=3D3c s=
lots < 708 nslots. Continue...
[  259.797615] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31814]=3D3a s=
lots < 708 nslots. Continue...
[  259.806774] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31816]=3D38 s=
lots < 708 nslots. Continue...
[  259.815933] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31818]=3D36 s=
lots < 708 nslots. Continue...
[  259.825091] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31820]=3D34 s=
lots < 708 nslots. Continue...
[  259.834249] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31822]=3D32 s=
lots < 708 nslots. Continue...
[  259.843408] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31824]=3D30 s=
lots < 708 nslots. Continue...
[  259.852567] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31826]=3D2e s=
lots < 708 nslots. Continue...
[  259.861725] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31828]=3D2c s=
lots < 708 nslots. Continue...
[  259.870883] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31830]=3D2a s=
lots < 708 nslots. Continue...
[  259.880042] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31832]=3D28 s=
lots < 708 nslots. Continue...
[  259.889200] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31834]=3D26 s=
lots < 708 nslots. Continue...
[  259.898365] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31836]=3D24 s=
lots < 708 nslots. Continue...
[  259.907516] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31838]=3D22 s=
lots < 708 nslots. Continue...
[  259.916676] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31840]=3D20 s=
lots < 708 nslots. Continue...
[  259.925834] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31842]=3D1e s=
lots < 708 nslots. Continue...
[  259.934992] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31844]=3D1c s=
lots < 708 nslots. Continue...
[  259.944151] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31846]=3D1a s=
lots < 708 nslots. Continue...
[  259.953309] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31848]=3D18 s=
lots < 708 nslots. Continue...
[  259.962468] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31850]=3D16 s=
lots < 708 nslots. Continue...
[  259.971626] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31852]=3D14 s=
lots < 708 nslots. Continue...
[  259.980784] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31854]=3D12 s=
lots < 708 nslots. Continue...
[  259.989943] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31856]=3D10 s=
lots < 708 nslots. Continue...
[  259.999102] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31858]=3De sl=
ots < 708 nslots. Continue...
[  260.008181] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31860]=3Dc sl=
ots < 708 nslots. Continue...
[  260.017245] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31862]=3Da sl=
ots < 708 nslots. Continue...
[  260.026318] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31864]=3D8 sl=
ots < 708 nslots. Continue...
[  260.035389] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31866]=3D6 sl=
ots < 708 nslots. Continue...
[  260.044461] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31868]=3D4 sl=
ots < 708 nslots. Continue...
[  260.053533] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31870]=3D2 sl=
ots < 708 nslots. Continue...
[  260.062606] <SWIOTLB> swiotlb_tbl_map_single() io_tlb_list[31872]=3D80 s=
lots < 708 nslots. Continue...
....

Swiotlb did not fit requested slots because the maximum slot size equals IO=
_TLB_SEGSIZE=3D128 by default.
But I think, we cannot use 64af97000 address in the swiotlb_bounce() direct=
ly.

________________________________
From: Julien Grall <julien@xen.org>
Sent: Wednesday, August 11, 2021 6:20 PM
To: Roman Skakun <Roman_Skakun@epam.com>; sstabellini@kernel.org <sstabelli=
ni@kernel.org>
Cc: Bertrand Marquis <bertrand.marquis@arm.com>; Andrii Anisov <Andrii_Anis=
ov@epam.com>; Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>; Oleksandr Tys=
hchenko <Oleksandr_Tyshchenko@epam.com>; Oleksandr Andrushchenko <Oleksandr=
_Andrushchenko@epam.com>; xen-devel@lists.xenproject.org <xen-devel@lists.x=
enproject.org>; Roman Skakun <rm.skakun@gmail.com>; Jan Beulich <jbeulich@s=
use.com>
Subject: Re: Disable swiotlb for Dom0

Hi,

On 11/08/2021 15:13, Roman Skakun wrote:
>> > Also, I added the log in xen_swiotlb_detect() and can see that swiotlb
>> > still used (other devices within dom0 used too), when dom0 is direct
> mapped:
>> >
>> > [    1.870363] xen_swiotlb_detect() dev: rcar-fcp,
>> > XENFEAT_direct_mapped, use swiotlb
>> > [    1.878352] xen_swiotlb_detect() dev: rcar-fcp,
>> > XENFEAT_direct_mapped, use swiotlb
>> > [    1.886309] xen_swiotlb_detect() dev: rcar-fcp,
>> > XENFEAT_direct_mapped, use swiotlb
>> >
>>> This means, that all  devices are using swiotlb-xen DMA fops.
>> > By the way, before applying this patches, dom0 always used swiotlb-xen
>> > fops for initial domain by design.
>
>> >This is expected because your domain is direct mapped.
>
> May be, I don't understand right, Stefano reported the same issue when
> dom0 is not direct mapped,
> but I have direct mapped dom0 and problem still exists.

I am not entirely sure why you think this is the same problem as
Stefano. He asked to bypass the swiotlb, but AFAIK, this is not because
the buffer get bounced.

Instead, it is because swiotlb-xen on Arm has been relying on its RAM to
be direct-mapped (GFN =3D=3D MFN). With cache coloring, the memory will not
be direct-mapped, hence it will be broken.

>
>>Ok. Would you be able to provide more information on where the dom0
>>memory is allocated  and the list of host RAM?
>
> Host memory:
> DRAM:  7.9 GiB
> Bank #0: 0x048000000 - 0x0bfffffff, 1.9 GiB
> Bank #1: 0x500000000 - 0x57fffffff, 2 GiB
> Bank #2: 0x600000000 - 0x67fffffff, 2 GiB
> Bank #3: 0x700000000 - 0x77fffffff, 2 GiB
>
> dom0 memory map:
> (XEN) Allocating 1:1 mappings totalling 2048MB for dom0:
> (XEN) BANK[0] 0x00000048000000-0x00000050000000 (128MB)
> (XEN) BANK[1] 0x00000058000000-0x000000c0000000 (1664MB)
> (XEN) BANK[2] 0x00000510000000-0x00000520000000 (256MB)

Thanks! So you have some memory assigned above 4GB to dom0 as well.

>>> We retrieved dev_addr(64b1d0000)  + size > 32bit mask, but fcp driver
>>> wants to use only  32 bit boundary address, but that's consequence.
>>>
>> Ok. So your device is only capable to do a 32-bit DMA. Is that correct?
>
> Yes.
>
>> > I think, the main reason of using bounce buffer is MFN address, not DM=
A
>> > phys address.
>> >
>>I don't understand this sentence. Can you clarify it?
>
> This address looks like theMFN because I'm using mapped grant tables
> from domU.
>
> I've added the log and see the following:
> with swiotlb:
> [   78.620386] dma_map_sg_attrs() dev: rcar-du swiotlb, sg_page:
> fffffe0001b80000, page_to_phy: b6000000, xen_phys_to_dma: 64b1d0000
>
> without swiotlb (worked fine):
> [   74.456426] dma_map_sg_attrs() dev: rcar-du direct map, sg_page:
> fffffe0001b80000, page_to_phy: b6000000, xen_phys_to_dma:b6000000
>
> I guess, need to figure out why we got a normal dom0 DMA address
> (b6000000) and why 64b1d0000 when using swiotlb.

So 0xb6000000 is most likely the GFN used to mapped the grant from the domU=
.

swiotlb-xen on Arm will convert it to the MFN because it is not aware
whether the device is behind an IOMMU.

As the address is too high to be handled by the device, swiotlb will try
to bounce it. I think it is correct to bounce the page but I am not sure
why it can't. What the size of the DMA transaction?

However, even if you disable xen-swiotlb, you are likely going to face
the same issue sooner or later because the grant can be mapped anywhere
in the memory of dom0 (the balloon code doesn't look to restrict where
the memory can be allocated). So it is possible for the grant to be
mapped in the dom0 memory above 4GB.

Oleksandr is also looking to provide a safe range which would be outside
of the existing RAM. So, I believe, you will have to bounce the DMA
buffer unless we always force the grant/foreign mapping to be mapped
below 4GB.

Cheers,

--
Julien Grall

--_000_AM7PR03MB659376E041306352B583060185FA9AM7PR03MB6593eurp_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<style type=3D"text/css" style=3D"display:none;"> P {margin-top:0;margin-bo=
ttom:0;} </style>
</head>
<body dir=3D"ltr">
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);">
Hi&nbsp;Julien,<br>
<br>
</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;&nbsp;</span>So
 0xb6000000 is most likely the GFN used to mapped the grant from the domU.<=
/span><br>
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important">&gt;</span><br style=
=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West European)&qu=
ot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Roboto, &quot=
;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background-color:rgb(=
255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;&nbsp;</span>sw=
iotlb-xen
 on Arm will convert it to the MFN because it is not aware</span><br style=
=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West European)&qu=
ot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Roboto, &quot=
;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background-color:rgb(=
255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;&nbsp;</span>wh=
ether
 the device is behind an IOMMU.<br>
</span><br>
If I'm understand right, it seems like that swiotlb-xen is not ready to wor=
k properly in case&nbsp;</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);">
when we retrieved MFN instead of proper GFN mapped to Dom0 memory.<br>
Maybe you know some ideas to overcome this condition?<br>
<br>
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;&nbsp;&nbsp;</s=
pan>As
 the address is too high to be handled by the device, swiotlb will try</spa=
n><br>
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;&nbsp;&nbsp;</s=
pan>to
 bounce it. I think it is correct to bounce the page but I am not sure</spa=
n><br style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;&nbsp;&nbsp;</s=
pan>why
 it can't. What the size of the DMA transaction?<br>
</span><br>
<span style=3D"background-color:rgb(255, 255, 255);display:inline !importan=
t">The DMA map size is 3686400 bytes.<br>
</span><br>
I've added several logs to swiotlb <span style=3D"background-color:rgb(255,=
 255, 255);display:inline !important">
map_single() and see:</span><br>
[ &nbsp;151.298455] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() origin_addr: 6=
4af97000, needed: 708,&nbsp;</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);">
avail: 7fc0, stride: 2, index: 4160<br>
<br>
It's expected because:<br>
....<br>
[ &nbsp;259.468006] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_list[31=
742]=3D2 slots &lt; 708 nslots. Continue...
<div>[ &nbsp;259.477070] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31744]=3D80 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.486229] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31746]=3D7e slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.495387] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31748]=3D7c slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.504546] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31750]=3D7a slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.513704] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31752]=3D78 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.522863] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31754]=3D76 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.532021] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31756]=3D74 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.541179] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31758]=3D72 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.550338] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31760]=3D70 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.559496] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31762]=3D6e slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.568660] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31764]=3D6c slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.577813] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31766]=3D6a slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.586972] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31768]=3D68 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.596130] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31770]=3D66 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.605289] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31772]=3D64 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.614447] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31774]=3D62 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.623606] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31776]=3D60 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.632764] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31778]=3D5e slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.641922] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31780]=3D5c slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.651081] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31782]=3D5a slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.660239] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31784]=3D58 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.669398] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31786]=3D56 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.678563] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31788]=3D54 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.687714] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31790]=3D52 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.696873] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31792]=3D50 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.706032] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31794]=3D4e slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.715190] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31796]=3D4c slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.724348] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31798]=3D4a slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.733507] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31800]=3D48 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.742665] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31802]=3D46 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.751824] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31804]=3D44 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.760982] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31806]=3D42 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.770141] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31808]=3D40 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.779299] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31810]=3D3e slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.788466] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31812]=3D3c slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.797615] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31814]=3D3a slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.806774] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31816]=3D38 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.815933] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31818]=3D36 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.825091] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31820]=3D34 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.834249] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31822]=3D32 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.843408] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31824]=3D30 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.852567] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31826]=3D2e slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.861725] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31828]=3D2c slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.870883] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31830]=3D2a slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.880042] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31832]=3D28 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.889200] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31834]=3D26 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.898365] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31836]=3D24 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.907516] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31838]=3D22 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.916676] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31840]=3D20 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.925834] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31842]=3D1e slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.934992] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31844]=3D1c slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.944151] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31846]=3D1a slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.953309] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31848]=3D18 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.962468] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31850]=3D16 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.971626] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31852]=3D14 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.980784] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31854]=3D12 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.989943] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31856]=3D10 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;259.999102] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31858]=3De slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;260.008181] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31860]=3Dc slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;260.017245] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31862]=3Da slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;260.026318] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31864]=3D8 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;260.035389] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31866]=3D6 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;260.044461] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31868]=3D4 slots &lt; 708 nslots. Continue...</div>
<div>[ &nbsp;260.053533] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_li=
st[31870]=3D2 slots &lt; 708 nslots. Continue...</div>
[ &nbsp;260.062606] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() io_tlb_list[31=
872]=3D80 slots &lt; 708 nslots. Continue...<br>
....<br>
<br>
Swiotlb did not fit requested slots because the maximum slot size equals IO=
_TLB_SEGSIZE=3D128 by default.</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);">
<span style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-siz=
e: 12pt; color: rgb(0, 0, 0);"><span style=3D"background-color:rgb(255, 255=
, 255);display:inline !important">But I think, we cannot use<span>&nbsp;</s=
pan></span><span style=3D"margin:0px;background-color:rgb(255, 255, 255);di=
splay:inline !important">64af97000
 address&nbsp;</span><span style=3D"background-color:rgb(255, 255, 255);dis=
play:inline !important">in the&nbsp;swiotlb_bounce() directly.</span><br>
<br>
</span></div>
<div id=3D"appendonsend"></div>
<hr style=3D"display:inline-block;width:98%" tabindex=3D"-1">
<div id=3D"divRplyFwdMsg" dir=3D"ltr"><font face=3D"Calibri, sans-serif" st=
yle=3D"font-size:11pt" color=3D"#000000"><b>From:</b> Julien Grall &lt;juli=
en@xen.org&gt;<br>
<b>Sent:</b> Wednesday, August 11, 2021 6:20 PM<br>
<b>To:</b> Roman Skakun &lt;Roman_Skakun@epam.com&gt;; sstabellini@kernel.o=
rg &lt;sstabellini@kernel.org&gt;<br>
<b>Cc:</b> Bertrand Marquis &lt;bertrand.marquis@arm.com&gt;; Andrii Anisov=
 &lt;Andrii_Anisov@epam.com&gt;; Volodymyr Babchuk &lt;Volodymyr_Babchuk@ep=
am.com&gt;; Oleksandr Tyshchenko &lt;Oleksandr_Tyshchenko@epam.com&gt;; Ole=
ksandr Andrushchenko &lt;Oleksandr_Andrushchenko@epam.com&gt;;
 xen-devel@lists.xenproject.org &lt;xen-devel@lists.xenproject.org&gt;; Rom=
an Skakun &lt;rm.skakun@gmail.com&gt;; Jan Beulich &lt;jbeulich@suse.com&gt=
;<br>
<b>Subject:</b> Re: Disable swiotlb for Dom0</font>
<div>&nbsp;</div>
</div>
<div class=3D"BodyFragment"><font size=3D"2"><span style=3D"font-size:11pt;=
">
<div class=3D"PlainText">Hi,<br>
<br>
On 11/08/2021 15:13, Roman Skakun wrote:<br>
&gt;&gt; &gt; Also, I added the log in xen_swiotlb_detect() and can see tha=
t swiotlb<br>
&gt;&gt; &gt; still used (other devices within dom0 used too), when dom0 is=
 direct <br>
&gt; mapped:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; [ &nbsp; &nbsp;1.870363] xen_swiotlb_detect() dev: rcar-fcp,<=
br>
&gt;&gt; &gt; XENFEAT_direct_mapped, use swiotlb<br>
&gt;&gt; &gt; [ &nbsp; &nbsp;1.878352] xen_swiotlb_detect() dev: rcar-fcp,<=
br>
&gt;&gt; &gt; XENFEAT_direct_mapped, use swiotlb<br>
&gt;&gt; &gt; [ &nbsp; &nbsp;1.886309] xen_swiotlb_detect() dev: rcar-fcp,<=
br>
&gt;&gt; &gt; XENFEAT_direct_mapped, use swiotlb<br>
&gt;&gt; &gt;<br>
&gt;&gt;&gt; This means, that all&nbsp; devices are using swiotlb-xen DMA f=
ops.<br>
&gt;&gt; &gt; By the way, before applying this patches, dom0 always used sw=
iotlb-xen<br>
&gt;&gt; &gt; fops for initial domain by design.<br>
&gt; <br>
&gt;&gt; &gt;This is expected because your domain is direct mapped.<br>
&gt; <br>
&gt; May be, I don't understand right, Stefano reported the same issue when=
 <br>
&gt; dom0 is not direct mapped,<br>
&gt; but I have direct mapped dom0 and problem still exists.<br>
<br>
I am not entirely sure why you think this is the same problem as <br>
Stefano. He asked to bypass the swiotlb, but AFAIK, this is not because <br=
>
the buffer get bounced.<br>
<br>
Instead, it is because swiotlb-xen on Arm has been relying on its RAM to <b=
r>
be direct-mapped (GFN =3D=3D MFN). With cache coloring, the memory will not=
 <br>
be direct-mapped, hence it will be broken.<br>
<br>
&gt; <br>
&gt;&gt;Ok. Would you be able to provide more information on where the dom0=
<br>
&gt;&gt;memory is allocated&nbsp; and the list of host RAM?<br>
&gt; <br>
&gt; Host memory:<br>
&gt; DRAM: &nbsp;7.9 GiB<br>
&gt; Bank #0: 0x048000000 - 0x0bfffffff, 1.9 GiB<br>
&gt; Bank #1: 0x500000000 - 0x57fffffff, 2 GiB<br>
&gt; Bank #2: 0x600000000 - 0x67fffffff, 2 GiB<br>
&gt; Bank #3: 0x700000000 - 0x77fffffff, 2 GiB<br>
&gt; <br>
&gt; dom0 memory map:<br>
&gt; (XEN) Allocating 1:1 mappings totalling 2048MB for dom0:<br>
&gt; (XEN) BANK[0] 0x00000048000000-0x00000050000000 (128MB)<br>
&gt; (XEN) BANK[1] 0x00000058000000-0x000000c0000000 (1664MB)<br>
&gt; (XEN) BANK[2] 0x00000510000000-0x00000520000000 (256MB)<br>
<br>
Thanks! So you have some memory assigned above 4GB to dom0 as well.<br>
<br>
&gt;&gt;&gt; We retrieved dev_addr(64b1d0000)&nbsp; + size &gt; 32bit mask,=
 but fcp driver<br>
&gt;&gt;&gt; wants to use only&nbsp; 32 bit boundary address, but that's co=
nsequence.<br>
&gt;&gt;&gt;<br>
&gt;&gt; Ok. So your device is only capable to do a 32-bit DMA. Is that cor=
rect?<br>
&gt; <br>
&gt; Yes.<br>
&gt; <br>
&gt;&gt; &gt; I think, the main reason of using bounce buffer is&nbsp;MFN a=
ddress, not DMA<br>
&gt;&gt; &gt; phys address.<br>
&gt;&gt; &gt;<br>
&gt;&gt;I don't understand this sentence. Can you clarify it?<br>
&gt; <br>
&gt; This address looks like theMFN because I'm using mapped grant tables <=
br>
&gt; from domU.<br>
&gt; <br>
&gt; I've added the log and see the following:<br>
&gt; with swiotlb:<br>
&gt; [ &nbsp; 78.620386] dma_map_sg_attrs() dev: rcar-du swiotlb, sg_page: =
<br>
&gt; fffffe0001b80000, page_to_phy: b6000000, xen_phys_to_dma: 64b1d0000<br=
>
&gt; <br>
&gt; without swiotlb (worked fine):<br>
&gt; [ &nbsp; 74.456426] dma_map_sg_attrs() dev: rcar-du direct map, sg_pag=
e: <br>
&gt; fffffe0001b80000, page_to_phy: b6000000, xen_phys_to_dma:b6000000<br>
&gt; <br>
&gt; I guess, need to figure out why we got a normal dom0 DMA address <br>
&gt; (b6000000) and why 64b1d0000 when using swiotlb.<br>
<br>
So 0xb6000000 is most likely the GFN used to mapped the grant from the domU=
.<br>
<br>
swiotlb-xen on Arm will convert it to the MFN because it is not aware <br>
whether the device is behind an IOMMU.<br>
<br>
As the address is too high to be handled by the device, swiotlb will try <b=
r>
to bounce it. I think it is correct to bounce the page but I am not sure <b=
r>
why it can't. What the size of the DMA transaction?<br>
<br>
However, even if you disable xen-swiotlb, you are likely going to face <br>
the same issue sooner or later because the grant can be mapped anywhere <br=
>
in the memory of dom0 (the balloon code doesn't look to restrict where <br>
the memory can be allocated). So it is possible for the grant to be <br>
mapped in the dom0 memory above 4GB.<br>
<br>
Oleksandr is also looking to provide a safe range which would be outside <b=
r>
of the existing RAM. So, I believe, you will have to bounce the DMA <br>
buffer unless we always force the grant/foreign mapping to be mapped <br>
below 4GB.<br>
<br>
Cheers,<br>
<br>
-- <br>
Julien Grall<br>
</div>
</span></font></div>
</body>
</html>

--_000_AM7PR03MB659376E041306352B583060185FA9AM7PR03MB6593eurp_--


From xen-devel-bounces@lists.xenproject.org Fri Aug 13 10:19:44 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 10:19:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166708.304276 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEUHo-00041N-BP; Fri, 13 Aug 2021 10:19:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166708.304276; Fri, 13 Aug 2021 10:19:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEUHo-00041G-8X; Fri, 13 Aug 2021 10:19:36 +0000
Received: by outflank-mailman (input) for mailman id 166708;
 Fri, 13 Aug 2021 10:19: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 1mEUHn-000416-Nj; Fri, 13 Aug 2021 10:19: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 1mEUHn-0003NR-Hv; Fri, 13 Aug 2021 10:19: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 1mEUHn-0006Ye-6L; Fri, 13 Aug 2021 10:19:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mEUHn-0007Ut-5o; Fri, 13 Aug 2021 10:19: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=7HZD6W+gHBWUElZ2trNrPNQMx/F4XrE9IemixvlihiM=; b=v2kyP0B9e8S0Mzm2fLLb8GmnOr
	7mKYioPh5fdOxIXv2QCsi6RQf3rg1pe7PPa5FvAyKZQ0Ryp1iQcl5Crpbf2K36pfnZiQGsTZW7SUB
	0NuQKYQcMw80UIb4IUqx3VGztt9X7VTx3Ewy/oyeOidVO2LYkxrxMw58a6nFUrPP0LrY=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164175-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 164175: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=69e810945e8bf970923b77f60c1d0a8699a2d48d
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 13 Aug 2021 10:19:35 +0000

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

Regressions :-(

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

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

version targeted for testing:
 libvirt              69e810945e8bf970923b77f60c1d0a8699a2d48d
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  399 days
Failing since        151818  2020-07-11 04:18:52 Z  398 days  390 attempts
Testing same since   164175  2021-08-13 04:18:59 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  Cédric Bosdonnat <cbosdonnat@suse.com>
  Côme Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano Fidêncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Ian Wienand <iwienand@redhat.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  John Ferlan <jferlan@redhat.com>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  Ján Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Michał Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  Moshe Levi <moshele@nvidia.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr Drąg <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tomáš Golembiovský <tgolembi@redhat.com>
  Tomáš Janoušek <tomi@nomi.cz>
  Tuguoyi <tu.guoyi@h3c.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  William Douglas <william.douglas@intel.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.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                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Fri Aug 13 10:31:58 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 10:31:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166715.304291 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEUTg-0006Br-Hw; Fri, 13 Aug 2021 10:31:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166715.304291; Fri, 13 Aug 2021 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 1mEUTg-0006Bk-ES; Fri, 13 Aug 2021 10:31:52 +0000
Received: by outflank-mailman (input) for mailman id 166715;
 Fri, 13 Aug 2021 10:31: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 1mEUTf-0006Ba-K3; Fri, 13 Aug 2021 10:31: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 1mEUTf-0003bK-DV; Fri, 13 Aug 2021 10:31: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 1mEUTf-00071b-2Z; Fri, 13 Aug 2021 10:31:51 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mEUTf-0005AI-20; Fri, 13 Aug 2021 10: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=8vbG7vevRiYtA/DqtrjYaE9wQ5UNv2ekBA0x6Z8iSEU=; b=yMKhJ17omhlkPGMUInGtJyx0nM
	Pt8gwHhjcINbR1YdDYWK3iB3t6IuA6EOS3Sx9D7U0DHyTKMAZVHi+sSUFMWtbt8rkGpWVtTQRu8bx
	IPdD/4hkGF4EwB1JX7JMqKPucaIahOBsQKAeBJeHvkpNnY6+7pAQrhGpeBR0I0lQ17+M=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164172-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164172: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt:<job status>:broken:regression
    linux-linus:test-armhf-armhf-examine:host-install:broken:regression
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-stop:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:leak-check/check:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:allowable
    linux-linus:test-armhf-armhf-libvirt:host-install(5):broken:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=f8fbb47c6e86c0b75f8df864db702c3e3f757361
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 13 Aug 2021 10:31:51 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-libvirt        <job status>                 broken
 test-armhf-armhf-examine      5 host-install           broken REGR. vs. 152332
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop              fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 20 guest-stop               fail REGR. vs. 152332
 test-amd64-amd64-xl-credit2 22 guest-start/debian.repeat fail REGR. vs. 152332
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 21 leak-check/check fail REGR. vs. 152332

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

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

version targeted for testing:
 linux                f8fbb47c6e86c0b75f8df864db702c3e3f757361
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  377 days
Failing since        152366  2020-08-01 20:49:34 Z  376 days  664 attempts
Testing same since   164172  2021-08-12 21:42:25 Z    0 days    1 attempts

------------------------------------------------------------
6785 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     fail    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     broken  
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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

broken-job test-armhf-armhf-libvirt broken
broken-step test-armhf-armhf-examine host-install
broken-step test-armhf-armhf-libvirt host-install(5)

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Fri Aug 13 10:40:50 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 10:40:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166723.304304 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEUcC-0007iE-IQ; Fri, 13 Aug 2021 10:40:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166723.304304; Fri, 13 Aug 2021 10:40:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEUcC-0007i7-FW; Fri, 13 Aug 2021 10:40:40 +0000
Received: by outflank-mailman (input) for mailman id 166723;
 Fri, 13 Aug 2021 10:40:39 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8rK1=NE=citrix.com=Jane.Malalane@srs-us1.protection.inumbo.net>)
 id 1mEUcB-0007i1-60
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 10:40:39 +0000
Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id e4ed2ee8-fc22-11eb-a275-12813bfff9fa;
 Fri, 13 Aug 2021 10:40: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: e4ed2ee8-fc22-11eb-a275-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1628851237;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=CL3znfpWELLv4litjeLtI8c/M9lffSXcm1hEov0YUxw=;
  b=bSe65Wzv+NxBHpifTcRlh03zTsmKKeJqB36g3wedL0hIVHbTAPlVFOoc
   P9d89foetvbHp54ThbW2L3ShB4FCA31D/20yujqfjZWlvnbs3kB10RZ2D
   nFSNz0grCp4f2cIZO1POC5zs0+zd57Nb/W6CtwwMltSBuwlxEtggYDCUe
   Y=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: Jdp/9oH666MMhv76DXNHRE93TGnOjwO9Pk92Z9WuDQBlyLmLSUcweu8ocuSwiRuMm0jz0knCNZ
 AW2dS/lSkBrKk++LIYnwulisQD839IGMiPZ1eWHrOTdbuwjNJ1hzfi/tikrp6ZzFOAaz9ZkPuU
 ZdiT0JxSDD85y9RbY05vNs0hc9FCR4j/7EWlCl73ZBvaHZGUxtEU/rJKXETENjzlwSy40FTV4R
 4mgXfzxFPxl4z8M0qHftvs1hZF3AwtcC8M7V2t7pIUaSLhNP8TtX3dvoFgc/oowziBVcbBQ6AG
 C5tvwA8Mb2P+kJZXMoErdhFN
X-SBRS: 5.1
X-MesageID: 50373501
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:nFboU6j8QM9HRew3ct/Zo5C2pXBQXh4ji2hC6mlwRA09TyX5ra
 2TdZUgpHrJYVMqMk3I9uruBEDtex3hHP1OkOss1NWZPDUO0VHARO1fBOPZqAEIcBeOldK1u5
 0AT0B/YueAd2STj6zBkXSF+wBL+qj6zEiq792usEuEVWtRGsVdB58SMHfiLqVxLjM2YqYRJd
 6nyedsgSGvQngTZtTTPAh/YwCSz+e78q4PeHQ9dmca1DU=
X-IronPort-AV: E=Sophos;i="5.84,318,1620705600"; 
   d="scan'208";a="50373501"
From: Jane Malalane <jane.malalane@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Jane Malalane <jane.malalane@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>
Subject: [PATCH 1/2] x86/pv: Provide more helpful error when CONFIG_PV32 is absent
Date: Fri, 13 Aug 2021 11:40:24 +0100
Message-ID: <20210813104025.2063-1-jane.malalane@citrix.com>
X-Mailer: git-send-email 2.11.0
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Currently, when booting a 32bit dom0 kernel, the message isn't very
helpful:

  (XEN)  Xen  kernel: 64-bit, lsb
  (XEN)  Dom0 kernel: 32-bit, PAE, lsb, paddr 0x100000 -> 0x112000
  (XEN) Mismatch between Xen and DOM0 kernel
  (XEN)
  (XEN) ****************************************
  (XEN) Panic on CPU 0:
  (XEN) Could not construct domain 0
  (XEN) ****************************************

With this adjustment, it now looks like this:

  (XEN)  Xen  kernel: 64-bit, lsb
  (XEN) Found 32-bit PV kernel, but CONFIG_PV32 missing
  (XEN)
  (XEN) ****************************************
  (XEN) Panic on CPU 0:
  (XEN) Could not construct domain 0
  (XEN) ****************************************

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jane Malalane <jane.malalane@citrix.com>
---
CC: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: "Roger Pau Monné" <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 xen/arch/x86/pv/dom0_build.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/pv/dom0_build.c b/xen/arch/x86/pv/dom0_build.c
index af47615b22..80e6c6e35b 100644
--- a/xen/arch/x86/pv/dom0_build.c
+++ b/xen/arch/x86/pv/dom0_build.c
@@ -362,9 +362,9 @@ int __init dom0_construct_pv(struct domain *d,
     compatible = false;
     machine = elf_uval(&elf, elf.ehdr, e_machine);
 
-#ifdef CONFIG_PV32
     if ( elf_32bit(&elf) )
     {
+#ifdef CONFIG_PV32
         if ( parms.pae == XEN_PAE_BIMODAL )
             parms.pae = XEN_PAE_EXTCR3;
         if ( parms.pae && machine == EM_386 )
@@ -377,8 +377,12 @@ int __init dom0_construct_pv(struct domain *d,
 
             compatible = true;
         }
-    }
+#else
+        printk("Found 32-bit PV kernel, but CONFIG_PV32 missing\n");
+        rc = -ENODEV;
+        goto out;
 #endif
+    }
 
     compat = is_pv_32bit_domain(d);
 
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Fri Aug 13 10:45:26 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 10:45:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166732.304324 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEUgm-0008TA-8I; Fri, 13 Aug 2021 10:45:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166732.304324; Fri, 13 Aug 2021 10:45:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEUgm-0008T3-4F; Fri, 13 Aug 2021 10:45:24 +0000
Received: by outflank-mailman (input) for mailman id 166732;
 Fri, 13 Aug 2021 10:45: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 1mEUgl-0008St-Mv; Fri, 13 Aug 2021 10:45: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 1mEUgl-0003qV-Ij; Fri, 13 Aug 2021 10:45: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 1mEUgl-0007Ws-AZ; Fri, 13 Aug 2021 10:45:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mEUgl-0002yn-A6; Fri, 13 Aug 2021 10: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=PhXPXTC9poi7Wte68yZ5DyfGgsjq/cikCXor0c9P4HU=; b=Cc7XDhhaPwTD3ztgdF52kmOEyd
	5xT7HQ2/mRH6SjZI6KU9z8tt4F2gBSNsHvbGI78n+VNvUYLR5Sd8cEVZ1U2w3LbyEYrYrKIFLJYMN
	bZbKCcqFdOXsPOiIyR9bcN6kIBXO7DumC0ZgO6ZFi/kPoZ+Mc9xza9bNymoK9M5A9V7Q=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164171-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 164171: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt: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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm: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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=5a88d524857e5bf78b077d30ea515fcaac061bfc
X-Osstest-Versions-That:
    xen=25da9455f1bb8a6d33039575a7b28bdfc4e3fcfe
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 13 Aug 2021 10:45:23 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 164176-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 164149
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164154
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 164163
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164163
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164163
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 164163
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 164163
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164163
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 164163
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164163
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164163
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164163
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 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-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 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  5a88d524857e5bf78b077d30ea515fcaac061bfc
baseline version:
 xen                  25da9455f1bb8a6d33039575a7b28bdfc4e3fcfe

Last test of basis   164163  2021-08-12 01:52:47 Z    1 days
Testing same since   164171  2021-08-12 19:36:46 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jane Malalane <jane.malalane@citrix.com>
  Kevin Stefanov <kevin.stefanov@citrix.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   25da9455f1..5a88d52485  5a88d524857e5bf78b077d30ea515fcaac061bfc -> master


From xen-devel-bounces@lists.xenproject.org Fri Aug 13 10:51:55 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 10:51:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166738.304338 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEUn2-0001Rb-1W; Fri, 13 Aug 2021 10:51:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166738.304338; Fri, 13 Aug 2021 10: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 1mEUn1-0001RU-TS; Fri, 13 Aug 2021 10:51:51 +0000
Received: by outflank-mailman (input) for mailman id 166738;
 Fri, 13 Aug 2021 10:51: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 1mEUn0-0001RO-Oq
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 10:51: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 1mEUmz-0003wt-Ni; Fri, 13 Aug 2021 10:51:49 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mEUmz-0006U2-HK; Fri, 13 Aug 2021 10: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=+tMzSgNzRjFy+PDaDtEDQ0moqHqk5fHbOx92koaUkrg=; b=dT0tjP8yR4hND1RbtKOQBWuX/O
	45yjlP1Aqpjud2ddzbOoVGUKgmLUcGY+Btl8JNh6RsoqVpNx4l4FgiRQ4nS8d3Yy82W2NXrN8KXow
	r4YuGiZMVFAuQQncRO6NJbF4qPPW7eDVa6kC90EFJ2ryriE9bM69lyAaSeEFwgovKAdA=;
Subject: Re: Disable swiotlb for Dom0
To: Roman Skakun <Roman_Skakun@epam.com>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
 Andrii Anisov <Andrii_Anisov@epam.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Roman Skakun <rm.skakun@gmail.com>, Jan Beulich <jbeulich@suse.com>
References: <AM7PR03MB6593B4461B99297C8650CF1C85F79@AM7PR03MB6593.eurprd03.prod.outlook.com>
 <060b5741-922c-115c-7e8c-97d8aa5f46f4@xen.org>
 <AM7PR03MB65932619505158E3930D8E8785F89@AM7PR03MB6593.eurprd03.prod.outlook.com>
 <d616081a-8c60-dcda-ac54-58c5be0c21ce@xen.org>
 <AM7PR03MB6593834BA54AD8A126EF872185F89@AM7PR03MB6593.eurprd03.prod.outlook.com>
 <691e31db-c79b-9196-53e1-cbbdc9bd3a54@xen.org>
 <AM7PR03MB659376E041306352B583060185FA9@AM7PR03MB6593.eurprd03.prod.outlook.com>
From: Julien Grall <julien@xen.org>
Message-ID: <d77e3b8e-ebd5-b4de-e516-9c5c69626678@xen.org>
Date: Fri, 13 Aug 2021 11:51:47 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <AM7PR03MB659376E041306352B583060185FA9@AM7PR03MB6593.eurprd03.prod.outlook.com>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit



On 13/08/2021 10:38, Roman Skakun wrote:
> HiJulien,

Hi Roman,

>> So 0xb6000000 is most likely the GFN used to mapped the grant from the domU.
>>
>> swiotlb-xen on Arm will convert it to the MFN because it is not aware
>> whether the device is behind an IOMMU.
> 
> If I'm understand right, it seems like that swiotlb-xen is not ready to 
> work properly in case
> when we retrieved MFN instead of proper GFN mapped to Dom0 memory.
> Maybe you know some ideas to overcome this condition?

swiotlb-xen work as intended. You have a DMA buffer at an address that 
your device cannot deal with. So it will try to bounce it.

> 
>>  As the address is too high to be handled by the device, swiotlb will try
>>  to bounce it. I think it is correct to bounce the page but I am not sure
>>  why it can't. What the size of the DMA transaction?
> 
> The DMA map size is 3686400 bytes.

So that's a 3MB buffer. I am slightly confused because in an earlier 
message you wrote that the memory is coming from the guest. How did you 
map it?

> 
> I've added several logs to swiotlb map_single() and see:
> [ 151.298455] <SWIOTLB> swiotlb_tbl_map_single() origin_addr: 
> 64af97000, needed: 708,
> avail: 7fc0, stride: 2, index: 4160

I am not sure how to read the logs... Are the number in hexadecimal or 
decimal? It might be useful if you post the diff of your changes.

[...]

> Swiotlb did not fit requested slots because the maximum slot size equals 
> IO_TLB_SEGSIZE=128 by default.

Ok. So it sounds like your problem is the have a DMA buffer that is too 
large for the default swiotlb. Did you try to bump the value from the 
command line?

> But I think, we cannot use64af97000 address in theswiotlb_bounce() 
> directly.

I am not sure to understand what you mean. Can you clarify?

Cheers,

[...]

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 13 10:59:09 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 10:59:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166744.304349 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEUty-0002Cp-Qx; Fri, 13 Aug 2021 10:59:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166744.304349; Fri, 13 Aug 2021 10:59: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 1mEUty-0002Ci-Nn; Fri, 13 Aug 2021 10:59:02 +0000
Received: by outflank-mailman (input) for mailman id 166744;
 Fri, 13 Aug 2021 10:59:01 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8rK1=NE=citrix.com=Jane.Malalane@srs-us1.protection.inumbo.net>)
 id 1mEUtw-0002Cc-Or
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 10:59:00 +0000
Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 5dcd8d3e-c4ce-4b15-abae-6de0f5b90726;
 Fri, 13 Aug 2021 10:58: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: 5dcd8d3e-c4ce-4b15-abae-6de0f5b90726
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1628852339;
  h=subject:to:cc:references:from:message-id:date:
   in-reply-to:mime-version;
  bh=7zSjsGVLyKBQ5gcI2A6x9booPcmlTWdsE0DJB76BrCk=;
  b=KgDpbNgd6XtnczxQ6suEoUR2BwEFIZ5PKK11ATPfdmIIceHTq2rS6hJO
   kzysSld1drscvdDkVZn2I+lWRft7kkzfKJEdvO9hHQ2UUrL+W8AtwluX/
   0U6hlWO0ArXZ021oKHUQwK6L/DlUJuM6Hk33DIn4TGgr+ClrBtGcHTF15
   c=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: Z/+fQLko007yjPPp0M89r8lnUwI7X3s84aDFGj8eGGgX8FcPLnvi6N7T9lTZns53pKvP4SMQfb
 t2Us9jwiHuOXvzGNFAwnxzmWOX5+1LGxto/nGM5LNOhsWl4CDZPtxzNYKlcwBNM6v1ocCLYk6/
 W7hnRFFG7lij+tkBHLO3AANQUqpfh9h19LaNLHgMKEwxADsxFNWhepN+qkJvhL7hVcuJ3Q7Zhe
 BpUFjDULNQPs8iVlAxjkllkYA6nI3N/hGtc4V/Hig5v5EKyiLWiy2+p1ELLA141qXcgt7E9bTL
 1OUSAHnKuhsKq7l17KBJgpG/
X-SBRS: 5.1
X-MesageID: 50393087
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:bJMQ56M2hYBaIMBcT0n155DYdb4zR+YMi2TDiHofdfUFSKClfp
 6V8cjztSWUtN4QMEtQ/exoS5PwPU80lKQFnLX5WI3NYOCIghrREGgP1/qF/9SkIVyFygc/79
 YQT0EdMqyIMbESt6+Ti2PZYrVQs+VvsprY4ts2p00dMz2CAJsQjTuRZDzrd3GeCDM2fqbQQ/
 Gnl7V6TnebCDgqR/X+IkNAc/nIptXNmp6jSRkaByQ/4A3LqT+z8rb1HzWRwx9bClp0sPkf2F
 mAtza8yrSosvm9xBOZ/2jP765OkN+k7tdYHsSDhuUcNz2poAe1Y4ZKXaGEoVkO0a6SwWdvtO
 OJjwYrPsx15X+UVmapoSH10w2l6zoq42+K8y7SvVLT5ejCAB4qActIgoxUNjHD7VA7gd162K
 VXm0qEqpt+F3r77WfAzumNcysvulu/oHIkn+JWpWdYS5EiZLhYqpFa1F9JEa0HADnx5OkcYa
 lT5fnnlbNrmG6hHjTkVjEF+q3qYp1zJGbGfqE6gL3W79AM90oJiXfxrack7wc9HJFUcegN2w
 2LCNUwqFniJvVmGp6VP91xNPdfPFa9CC4kAFjiU2gPK5t3T04li6SHqondt9vaNaDh8vMJ6e
 L8uRVjxDYPR34=
X-IronPort-AV: E=Sophos;i="5.84,318,1620705600"; 
   d="scan'208,217";a="50393087"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RYxpUKstZzPSxGe1Jr+GfZslR1HXQLLrtAKyiz7CuR7s/fnQftpbL0cW/oe8Dtc/xdGP6OQkpVgVua7u235kU83a4+RfWWam5OgeI8ebqdP4XSRVTlR72Bq8Cc4egoTEkgViRAtH9pDGPhDypf7fgqayFbVsjz96qJPG/7Upgr08dVs85kBY9pDnb+4CZCU638wYTBCWspOVzy35rBIOq+8iC35IS/HxuKcwU0Vl1lw83OU573o11CqdJ+fcuk7mB0ndMk3F2r6p9LtxNnM4ruU8W+Or5OHsVG6n8ublXigOYXufuxHlucNzq+ub6+XnTCQUhiNTrtzMk745DrdBtw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=T3/e8AjzcKfOner9xW4sxlg0J3YyNW6VYaWT9/AaHwc=;
 b=mto8jzP7SRu1NRxGTlV49yk/7Nh8zO+3lpIzK+U5EPZVkAku+L1t2sTg0bNbr+IdhGcZ3fcd7Ud3OjFzffQcb4T+A94xIQW66+503Sdhj23gyLDCiwcFREKxnmQETAGSxuLEvIurR+pgnH/MHlCcG3hpbgGQSxhpJOtRpQAbDCFMBhUjb9qAWhX14Wf/R0Gd4+uInWfe39swVWd9BENEawsiJX5KC5245h1xurC8rCj5WiIt6duJr0OL2HP84SrcGoxmnDkGUTZzgrC15cG1reSZGt5VFsgCTUJ0BrPWxqXEZ4LUoILc9MxDecVPYAAX+bMNriOHrHdUkaq9NOHAyw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=T3/e8AjzcKfOner9xW4sxlg0J3YyNW6VYaWT9/AaHwc=;
 b=esQTwfSwdWA24ZLZZf73lkRI+AMibhmD1W0KRfzhVR0p5jAE5BodaWLEIVqb0USysBWHzCotm2OT2E/0B3zsnN/HUcoCOu50f0nsW4T1/gnV+8/1VXSxRQjq9HolWqtlaf758Yy64Y+EyZ5m6gzHgXvED+10DxunS5aKI3TQXFw=
Subject: Re: [PATCH 1/2] x86/pv: Provide more helpful error when CONFIG_PV32
 is absent
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
References: <20210813104025.2063-1-jane.malalane@citrix.com>
From: Jane Malalane <jane.malalane@citrix.com>
Message-ID: <4dbea9b7-0388-942b-bcf8-88edf6fe7ffb@citrix.com>
Date: Fri, 13 Aug 2021 11:58:44 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
In-Reply-To: <20210813104025.2063-1-jane.malalane@citrix.com>
Content-Type: multipart/alternative;
 boundary="------------9CE85B8894A1EA4DAEC1A850"
Content-Language: en-GB
X-ClientProxiedBy: PR2P264CA0026.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:101:1::14) To MW4PR03MB6330.namprd03.prod.outlook.com
 (2603:10b6:303:11d::11)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5976a8ba-daa0-40d0-dcfe-08d95e4957a8
X-MS-TrafficTypeDiagnostic: MWHPR03MB3310:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <MWHPR03MB3310875A1E2AD715F0C8254B81FA9@MWHPR03MB3310.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:5797;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: mGRAuxDcpBfj/KB9h16tZU0VzxPBA44sCXw1Awfdfxh+AOK+2h7G9UOg43blX8uGj3tvamgj3lFEQXNuImz5QTvOgu+db3EKuxPQyqHVzl5yQlW5ZXOYUA9O5k1C51WMGtuDZIqn27NwIymupZ14JJNDDMbygFqZ/EGv00oPv/lU9jGARoJoPUO4pSuVY9rcixPewS4+lrF36cNx1R/veapLP0MpxAL/cWhx9wqwLUxUyeG2QrvUmtjFtKgydClqnk+ddSxNoVj/e9hvlpet/Uvn96tj5N8VyeH+belfuAffoMY/djfBeswLhPgW3UECnVvUI8t3T/U/TLA3LzbOGWqjpfUllkkCSTB195sD+RCo10+PTO4NeMOGk7YM0LhMi1usx0cjjq1bsXq9CNmXg4dmvct5WWyuHeROB3pp5/64mN3DzD7hG3bRqLgCBRt3JX2HJIzzLTXshb3/y0fziPQlWkfQdDpkCUlX0MwYXKSnCa1gGNCCzxpWfLFqN03pl4jE73Nk3IXbrJPZBuhJRJSk2IjwEraVtIy+zlhSYgSItvz6eSsirAV+DYQIB5V89w223DIpYgf2ZIhXKa4pxK71YvP+EGViSkD5lXx2hjehDcX1r0ZrfOp3V6YH7V2lK4rKdbOYN5wybagqJhG3RAbzGlncgTjWmlYms5HU8KuY+waB4ZAma1+kixLPg3jiGV7adTvN4EGwo8VO0ZwMZuJfMFuB5DcjmoCwj0tFfkqgdaYcV1EJxfS1C8MpcBd7rj9BZor2Hgm94dWyWzw0UQ==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW4PR03MB6330.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(136003)(396003)(39860400002)(346002)(376002)(8936002)(66476007)(6666004)(478600001)(66946007)(66556008)(54906003)(36756003)(31696002)(6916009)(83380400001)(86362001)(6486002)(16576012)(316002)(4326008)(2616005)(5660300002)(53546011)(38100700002)(38350700002)(956004)(186003)(8676002)(33964004)(26005)(52116002)(2906002)(31686004)(44832011)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dXJIeTlaaEJpbmIyTTNhTkFYMkVNUmhjSVA0NDUxb3lwZFVJZ01KeTJvTlBC?=
 =?utf-8?B?dnN0aUdKSUxLNkR2NitnelhGSG0zZGNkc2hVTWdyaTU1TmFtY3pRZkg5OHdo?=
 =?utf-8?B?UFZXTlRtNjA2Smo5RmRQa0Ftd2Fac1BtSk5DSHEvSzJFNHhtVFovdXE3L2Ex?=
 =?utf-8?B?dDZVd0QxZjg2NnZWUHVpNzF4ZFB3eGprTlhodU0zQ0FiVjAwY2dIRUc0MXpW?=
 =?utf-8?B?N3FNUHJReTFFYW5sUHk2VXBJSVlkM2pKRmQrVUN3NkNSM2FhbGJFRGxyQkw0?=
 =?utf-8?B?eCs2S1lva1QwZ0NRRkNJSSttQWlmZDFXeU50b1E4NFVPWHBYbmsrOEFiSnYr?=
 =?utf-8?B?WHYvWHBMNjNySHl4am1YU1NyekFrMW1tMnY2NnAySTA5WDlnN0pueFQyYnBB?=
 =?utf-8?B?enVMNnVoVUZvb1MyWmVGazhiWUREYXh4MEozbUVmM3VYNWRyZmoxQkxVUDFF?=
 =?utf-8?B?cjJZUkhaNC9Uanc2Y0daeFU4TGZWS2Z3VEh5S1JlS2VMMFhnOWw3R01KZE90?=
 =?utf-8?B?ZTB1eTRoSVFFOEY2YzBMVERTQ29ESFJzNGdZcUJrRE8vY0dzWnlDcDVBNkQx?=
 =?utf-8?B?dUFyNGNERXkyamtKbTArcldQOStkNVY2ZTRmOXpoWFhxcVRtNURxaVpaS1Z0?=
 =?utf-8?B?NGhDWjk0SXdxRys1UzVEeG5wZnk3K1RLaW5ZUElVdi9iOTRkTmMwaTFkeDA1?=
 =?utf-8?B?azBEZUhRVDhkeEsvMk9ZZ2JFQ0dpanp5SmVVMW5veHUxSVZXUC9HZ2libmg3?=
 =?utf-8?B?dmJJcDlBVG5tajRraU1aNFpWVjRpczN3alRwU0tKOFBRQzVBelNqbDRXNGgy?=
 =?utf-8?B?RW1OQk9vMG1qZDEyRnFXSmZWRGc0QStFZjdmcVhqSVVuZEkwanB6bEZBWmZx?=
 =?utf-8?B?MVg0VXZ2U2xqUlpDTmlzZ0pJODZiSlR1V3pRcStpeXJkNnYrUW5URWVHaW9H?=
 =?utf-8?B?VVNxNHF0WEJma3dyR3dpeXBpMlpKL1BkSDlXaUhad3NjaURFeStOeHYvMWpB?=
 =?utf-8?B?Y2swZGdpQkdaMzdvVC9rYkFiOVRTUXB4c21lK2lYYzNaSmJJTHo3U1JybXpV?=
 =?utf-8?B?L1RWWVZMaG9vdUxtK1hzQnQ0MmcxelU5cEc2REZ2MnpkcUZaSlhDNkRSRTRW?=
 =?utf-8?B?N3ZBVVM3Z3FraVp3dytkZkhSTVB3QkpUMnNNQWcrWGs2aU9GV2Z1T2VTd2cw?=
 =?utf-8?B?MVhVZDhWaS96T09FU25wc3dhWk9iTE11dVg4VVZGR2JHcHpNenFzV2pSNUIr?=
 =?utf-8?B?OXdzSmhnei9QOURzby9SUm1pOWtDNXRjZy8wNzRlN2hPKzlYVEZkNWw4WGN2?=
 =?utf-8?B?ZmRCT0tHcjY3SGdra1hCNTFudEJPSVN1b2YzY01sUjhub0swVURsOHY1ekhB?=
 =?utf-8?B?UUtVb1oyV3QxMkhXRE14anE3SkVHaFpKcEZXZldmc2dmY2lnMmpRMm5xWVg4?=
 =?utf-8?B?Wm0wYno4blI2WXRWbjNwK0VJcGNOQ1krQ3dENHl6ZHRIRXNOZVF6ZnJyQjVS?=
 =?utf-8?B?VjlSdkk2cnc1ajF2Vk5ZMlN5Vk04emtiS0JXazAzdk1tWGFkWGludXI4ME1W?=
 =?utf-8?B?WEVxNDREdzlCd3Fob211QjNVL0g3RHNyZmZDVlNycG8wWXdFb1F2U2JVMFBF?=
 =?utf-8?B?Sm1JK0x5TGZ0eENISTV5SFJDRWRpUmJIMkt3VmFzZDFjWXk2NXBPaTdRWkVz?=
 =?utf-8?B?SXc1enJwRUdLYXN1SVR1ZkxVNkdVajBzWU16SFlNSHFuUnNoQ0NxWktsSGhP?=
 =?utf-8?Q?AtDOIbw/GVCB2DaM6y/nmAnyTczFjiYmUW9iALc?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 5976a8ba-daa0-40d0-dcfe-08d95e4957a8
X-MS-Exchange-CrossTenant-AuthSource: MW4PR03MB6330.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2021 10:58:54.7417
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZUaOhbHYenHBEdE2Hcc5+8p8zm6zEsPuNuZLFx+FG5odsgPe6zk0tdYhgxYmPnHSqnp9A2hUBLdtm7nt+C0TXws/Z3YZsaP3YTvIzUbjBDE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR03MB3310
X-OriginatorOrg: citrix.com

--------------9CE85B8894A1EA4DAEC1A850
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit

On 13/08/2021 11:40, Jane Malalane wrote:
> Currently, when booting a 32bit dom0 kernel, the message isn't very
> helpful:
>
>    (XEN)  Xen  kernel: 64-bit, lsb
>    (XEN)  Dom0 kernel: 32-bit, PAE, lsb, paddr 0x100000 -> 0x112000
>    (XEN) Mismatch between Xen and DOM0 kernel
>    (XEN)
>    (XEN) ****************************************
>    (XEN) Panic on CPU 0:
>    (XEN) Could not construct domain 0
>    (XEN) ****************************************
>
> With this adjustment, it now looks like this:
>
>    (XEN)  Xen  kernel: 64-bit, lsb
>    (XEN) Found 32-bit PV kernel, but CONFIG_PV32 missing
>    (XEN)
>    (XEN) ****************************************
>    (XEN) Panic on CPU 0:
>    (XEN) Could not construct domain 0
>    (XEN) ****************************************
>
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Jane Malalane <jane.malalane@citrix.com>
>
Sorry, sent in error - please ignore.


--------------9CE85B8894A1EA4DAEC1A850
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 13/08/2021 11:40, Jane Malalane
      wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:20210813104025.2063-1-jane.malalane@citrix.com">
      <pre class="moz-quote-pre" wrap="">Currently, when booting a 32bit dom0 kernel, the message isn't very
helpful:

  (XEN)  Xen  kernel: 64-bit, lsb
  (XEN)  Dom0 kernel: 32-bit, PAE, lsb, paddr 0x100000 -&gt; 0x112000
  (XEN) Mismatch between Xen and DOM0 kernel
  (XEN)
  (XEN) ****************************************
  (XEN) Panic on CPU 0:
  (XEN) Could not construct domain 0
  (XEN) ****************************************

With this adjustment, it now looks like this:

  (XEN)  Xen  kernel: 64-bit, lsb
  (XEN) Found 32-bit PV kernel, but CONFIG_PV32 missing
  (XEN)
  (XEN) ****************************************
  (XEN) Panic on CPU 0:
  (XEN) Could not construct domain 0
  (XEN) ****************************************

Suggested-by: Andrew Cooper <a class="moz-txt-link-rfc2396E" href="mailto:andrew.cooper3@citrix.com">&lt;andrew.cooper3@citrix.com&gt;</a>
Signed-off-by: Jane Malalane <a class="moz-txt-link-rfc2396E" href="mailto:jane.malalane@citrix.com">&lt;jane.malalane@citrix.com&gt;</a>

</pre>
    </blockquote>
    <pre>Sorry, sent in error - please ignore.</pre>
  </body>
</html>

--------------9CE85B8894A1EA4DAEC1A850--


From xen-devel-bounces@lists.xenproject.org Fri Aug 13 11:03:16 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 11:03:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166750.304360 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEUy3-0003bY-Ce; Fri, 13 Aug 2021 11:03:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166750.304360; Fri, 13 Aug 2021 11: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 1mEUy3-0003bR-9F; Fri, 13 Aug 2021 11:03:15 +0000
Received: by outflank-mailman (input) for mailman id 166750;
 Fri, 13 Aug 2021 11:03:13 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8rK1=NE=citrix.com=Jane.Malalane@srs-us1.protection.inumbo.net>)
 id 1mEUy1-0003bL-D3
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 11:03:13 +0000
Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 0ccd5958-fc26-11eb-a278-12813bfff9fa;
 Fri, 13 Aug 2021 11:03: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: 0ccd5958-fc26-11eb-a278-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1628852592;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=VTtXdfmHWN3UTQRMXbEyPVPeXu58zs2GlFEQM3mE6aI=;
  b=Jp4eM1ePgZkMZp/Fxchar1cES8WjenuVxc8WDCpiPKWAAn8pVadYOf7w
   x2ZpDsOnSyHeTYXuWqEIQsLt8FcWgSy/yvDLyUpo+VDraC0LqQ/ual1SX
   8HM2ukF0MybbuA6QCe75Vxe4guHEN3Ni8EnWzRViRC631xn+6gaTd7zWl
   Q=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: 4YCVcmoxdc15E5oYmarOCg8zC79FXxL3WKhjiS2pG7YwlBr9cehpVYzGO1S61bTve5aj3riibr
 wJJbxea1fpHNDiCiOXrkSYRrW2EIVBOeHxLj/0u5O5XXL6h/R4tp/aznQAxCFZjl3qRg8UP5E4
 Zi48AyxWLJSD2i7cfWCDUfOix/g8inMqbJfVHES9e5RnOv/qywtnFh3UnPEePRHBBLRF8riTcL
 TPQPETzp3qx0E6ydkVCFcZlN3poTY42YBayHeFr8Z+7P/krU3wmDnzYv+x8+swjGqO0uhJi/+O
 EjpCJvVX2Sx9fFdw8Gy0J4Qw
X-SBRS: 5.1
X-MesageID: 52103811
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:DTRa7q5/SDnBBYGujQPXwMTXdLJyesId70hD6qhwISY6TiX+rb
 HIoB17726RtN9/YhEdcLy7VJVoIkmskKKdg7NhXotKNTOO0ADDQb2KhbGSpQEIcBeeygcy78
 hdmtBFeb/NMWQ=
X-IronPort-AV: E=Sophos;i="5.84,318,1620705600"; 
   d="scan'208";a="52103811"
From: Jane Malalane <jane.malalane@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Jane Malalane <jane.malalane@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>
Subject: [PATCH] x86/pv: remove unnecessary use of goto out in construct_dom0()
Date: Fri, 13 Aug 2021 12:02:24 +0100
Message-ID: <20210813110224.14820-1-jane.malalane@citrix.com>
X-Mailer: git-send-email 2.11.0
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

elf_check_broken() only needs to be invoked after elf_xen_parse() and
after elf_load_binary().

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Jane Malalane <jane.malalane@citrix.com>
---
CC: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: "Roger Pau Monné" <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 xen/arch/x86/pv/dom0_build.c | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

diff --git a/xen/arch/x86/pv/dom0_build.c b/xen/arch/x86/pv/dom0_build.c
index 80e6c6e35b..db1e1e5edd 100644
--- a/xen/arch/x86/pv/dom0_build.c
+++ b/xen/arch/x86/pv/dom0_build.c
@@ -379,8 +379,7 @@ int __init dom0_construct_pv(struct domain *d,
         }
 #else
         printk("Found 32-bit PV kernel, but CONFIG_PV32 missing\n");
-        rc = -ENODEV;
-        goto out;
+        return -ENODEV;
 #endif
     }
 
@@ -404,8 +403,7 @@ int __init dom0_construct_pv(struct domain *d,
     if ( !compatible )
     {
         printk("Mismatch between Xen and DOM0 kernel\n");
-        rc = -EINVAL;
-        goto out;
+        return -EINVAL;
     }
 
     if ( parms.elf_notes[XEN_ELFNOTE_SUPPORTED_FEATURES].type != XEN_ENT_NONE )
@@ -413,8 +411,7 @@ int __init dom0_construct_pv(struct domain *d,
         if ( !pv_shim && !test_bit(XENFEAT_dom0, parms.f_supported) )
         {
             printk("Kernel does not support Dom0 operation\n");
-            rc = -EINVAL;
-            goto out;
+            return -EINVAL;
         }
     }
 
@@ -611,8 +608,7 @@ int __init dom0_construct_pv(struct domain *d,
          : (v_start < HYPERVISOR_VIRT_END) && (v_end > HYPERVISOR_VIRT_START) )
     {
         printk("DOM0 image overlaps with Xen private area.\n");
-        rc = -EINVAL;
-        goto out;
+        return -EINVAL;
     }
 
     if ( compat )
@@ -757,8 +753,7 @@ int __init dom0_construct_pv(struct domain *d,
             mapcache_override_current(NULL);
             switch_cr3_cr4(current->arch.cr3, read_cr4());
             printk("Invalid HYPERCALL_PAGE field in ELF notes.\n");
-            rc = -EINVAL;
-            goto out;
+            return -EINVAL;
         }
         init_hypercall_page(d, _p(parms.virt_hypercall));
     }
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Fri Aug 13 11:09:32 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 11:09:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166754.304371 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEV43-0004Gn-2G; Fri, 13 Aug 2021 11:09:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166754.304371; Fri, 13 Aug 2021 11: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 1mEV42-0004Gg-Uv; Fri, 13 Aug 2021 11:09:26 +0000
Received: by outflank-mailman (input) for mailman id 166754;
 Fri, 13 Aug 2021 11:09:26 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mEV42-0004Ga-94
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 11:09:26 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mEV41-0004Fr-OH
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 11:09:25 +0000
Received: from iwj (helo=mariner.uk.xensource.com)
 by xenbits.xenproject.org with local-bsmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mEV41-0008Qz-NL
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 11:09:25 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.89)
 (envelope-from <iwj@xenproject.org>)
 id 1mEV3y-00019A-7M; Fri, 13 Aug 2021 12:09:22 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=References:In-Reply-To:Subject:Cc:To:Date
	:Message-ID:Content-Transfer-Encoding:Content-Type:MIME-Version:From;
	bh=k357fCtaJ0yEVW58F8Zan4AZMTwdQ+4oQZj5tN9TPB4=; b=LcCMju0fu7Hi7Up/XwzmsEgQoF
	Ct2i90wFzZXebcec1OH403hTN0ZjrkCKS3NS3Yt8ky+SBqmhvfsy+H4dng0aLkyK/Y/WU2yV5ALic
	z4bxdBxajM52e9K4TRjdiMx1DtSItVnjRtY9/3lhN4bidSnW7hmLxmaOP9T+USHFFR1w=;
From: Ian Jackson <iwj@xenproject.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <24854.21217.976758.626859@mariner.uk.xensource.com>
Date: Fri, 13 Aug 2021 12:09:21 +0100
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel\@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
    Wei Liu <wl@xen.org>,
    Juergen Gross <jgross@suse.com>,
    Julien Grall <julien@xen.org>
Subject: Re: [PATCH] tests/xenstore: link in librt
In-Reply-To: <74fde732-c2bb-168f-a51c-74e2220c87c5@suse.com>
References: <3fe5f85c-3702-286c-46a3-d90eb094123f@suse.com>
	<24853.1273.985325.539310@mariner.uk.xensource.com>
	<74fde732-c2bb-168f-a51c-74e2220c87c5@suse.com>
X-Mailer: VM 8.2.0b under 24.5.1 (i686-pc-linux-gnu)

Jan Beulich writes ("Re: [PATCH] tests/xenstore: link in librt"):
> On 12.08.2021 13:24, Ian Jackson wrote:
> >> +LDFLAGS += -lrt
> > 
> > Don't this unconditionally is definitely not right.
> 
> Assuming you meant "Doing this ..." - why? If the concern is that
> librt.so may needlessly get recorded in a DT_NEEDED entry, then I
> can replace the early addition with a late
> 
> LDFLAGS += -Wl,--as-needed -lc -lrt
> 
> one.

librt might not exist at all on some platforms.

> > How old a glibc are we talking about ?  (I looked at the minimum
> > versions listed in README and there's notthing about glibc; perhaps
> > should be.)
> 
> I've hit this with 2.11.3. I guess it has been made available by
> libc.so from 2.17 onwards, considering the symbol version is
> GLIBC_2.17.

According to
  https://www.sourceware.org/glibc/wiki/Glibc%20Timeline
glibc 2.17 was released more than eight years ago on 2012-12-25.

Ian.


From xen-devel-bounces@lists.xenproject.org Fri Aug 13 11:37:46 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 11:37:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166760.304382 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEVVL-0007Lo-Ab; Fri, 13 Aug 2021 11:37:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166760.304382; Fri, 13 Aug 2021 11: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 1mEVVL-0007Lh-7G; Fri, 13 Aug 2021 11:37:39 +0000
Received: by outflank-mailman (input) for mailman id 166760;
 Fri, 13 Aug 2021 11:37:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <ijackson@chiark.greenend.org.uk>) id 1mEVVK-0007Lb-CO
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 11:37:38 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <ijackson@chiark.greenend.org.uk>) id 1mEVVK-0004ji-95
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 11:37:38 +0000
Received: from iwj (helo=mariner.uk.xensource.com)
 by xenbits.xenproject.org with local-bsmtp (Exim 4.92)
 (envelope-from <ijackson@chiark.greenend.org.uk>) id 1mEVVK-000324-7x
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 11:37:38 +0000
Received: from [172.18.45.5] (helo=zealot.relativity.greenend.org.uk)
 by mariner.uk.xensource.com with esmtp (Exim 4.89)
 (envelope-from <ijackson@chiark.greenend.org.uk>)
 id 1mEVVI-0001Cq-EB; Fri, 13 Aug 2021 12:37:36 +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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:
	Message-Id:Date:Subject:Cc:To:From;
	bh=E/ZfXHENP7P55HzjubU2iwB//gmRG6iBP57sfbVEeNk=; b=XR/aFWfdWFLG1Pg3mtNSaqRMri
	ms3zzh+dOu7uePrQnNZ1hP1W16Xh+5sbmlzh6HyElCy0ZF7lYTnauUNwiV7nMVFRCsVIzzwT48hp5
	zH4bbDkkn00wRhPXDTlsz9WJGMkKkte+m8vC6p6St2w6gh4oemm28BxTkA2KSG77YDRE=;
From: Ian Jackson <iwj@xenproject.org>
To: 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>
Cc: iwj@xenproject.org,
	committers@xenproject.org
Subject: [PATCH] RFC: Version support policy
Date: Fri, 13 Aug 2021 12:37:27 +0100
Message-Id: <20210813113727.6028-1-iwj@xenproject.org>
X-Mailer: git-send-email 2.20.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The current policy for minimum supported versions of tools, compilers,
etc. is unsatisfactory: For many dependencies no minimum version is
specified.  For those where a version is stated, updating it is a
decision that has to be explicitly taken for that tool.

The result is persistent debates over what is good to support,
conducted in detail in the context of individual patches.

Decisions about support involve tradeoffs, often tradeoffs between the
interests of different people.  Currently we don't have anything
resembling a guideline.  The result is that the individual debates are
inconclusive; and also, this framework does not lead to good feelings
amongst participants.

I suggest instead that we adopt a date-based policy: we define a
maximum *age* of dependencies that we will support.

The existing documentation about actually known working versions
then becomes a practical consequence of that policy.

In this patch I propose a cutoff of 6 years.
Obviously there will be debate about the precise value.

It will also be necessary to make exceptions, and/or to make different
rules for different architectures.  In particular, new architectures,
new configurations, or new features, may need an absolute earliest
tooling date which is considerably less than the usual limit.

I have tried to transcribe the current compiler version info into this
format.  The dates in the exceptions are all more recent than my
suggested 6 year cutoff, so if this patch is applied to staging and
not applied retrospectively, they could be removed.

I'm not sure if this policy should be here in README (where the
version support was until now) or in SUPPORT.md.

Signed-off-by: Ian Jackson <iwj@xenproject.org>
---
 README | 38 +++++++++++++++++++++++++-------------
 1 file changed, 25 insertions(+), 13 deletions(-)

diff --git a/README b/README
index 562b808080..5859f8bbf4 100644
--- a/README
+++ b/README
@@ -35,19 +35,8 @@ Second, there are a number of prerequisites for building a Xen source
 release. Make sure you have all the following installed, either by
 visiting the project webpage or installing a pre-built package
 provided by your OS distributor:
-    * GNU Make v3.80 or later
-    * C compiler and linker:
-      - For x86:
-        - GCC 4.1.2_20070115 or later
-        - GNU Binutils 2.16.91.0.5 or later
-        or
-        - Clang/LLVM 3.5 or later
-      - For ARM 32-bit:
-        - GCC 4.9 or later
-        - GNU Binutils 2.24 or later
-      - For ARM 64-bit:
-        - GCC 5.1 or later
-        - GNU Binutils 2.24 or later
+    * GNU Make
+    * C compiler and linker (x86: GCC or CLang; ARM: GCC)
     * Development install of zlib (e.g., zlib-dev)
     * Development install of Python 2.6 or later (e.g., python-dev)
     * Development install of curses (e.g., libncurses-dev)
@@ -65,6 +54,29 @@ provided by your OS distributor:
     * GNU bison and GNU flex
     * ACPI ASL compiler (iasl)
 
+In general, tools and compilers no more than 6 years old are
+supported (measured from the release date of the Xen version).
+However:
+    * x86: CLang/LLVM earlier than 3.5 is unsppported
+    * ARM 64-bit, dependencies older than 2015-04-22 are unsupported
+    * ARM 32-bit, dependencies older than 2014-04-22 are unsupported
+
+FYI, we believe the following versions work with this version of Xen:
+    * GNU Make
+       - v3.80 or later
+    * C compiler and linker:
+      - For x86:
+        - GCC 4.1.2_20070115 or later
+        - GNU Binutils 2.16.91.0.5 or later
+        or
+        - Clang/LLVM 3.5 or later
+      - For ARM 32-bit:
+        - GCC 4.9 or later
+        - GNU Binutils 2.24 or later
+      - For ARM 64-bit:
+        - GCC 5.1 or later
+        - GNU Binutils 2.24 or later
+
 In addition to the above there are a number of optional build
 prerequisites. Omitting these will cause the related features to be
 disabled at compile time:
-- 
2.20.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 13 12:21:04 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 12:21:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166768.304392 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEWB8-0003id-Rc; Fri, 13 Aug 2021 12:20:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166768.304392; Fri, 13 Aug 2021 12:20:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEWB8-0003iW-Ot; Fri, 13 Aug 2021 12:20:50 +0000
Received: by outflank-mailman (input) for mailman id 166768;
 Fri, 13 Aug 2021 12:20: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 1mEWB6-0003iQ-Ss
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 12:20: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 1mEWB6-0005Uc-MT; Fri, 13 Aug 2021 12:20:48 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mEWB6-0007Cr-Gg; Fri, 13 Aug 2021 12:20:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=Z4cZSiy3Lsa12mbm+nQyoN1NBBlIKFCv6vtaLUye23g=; b=fHg60slP8TMG5yXaR2iEjmsKDl
	KlftYNfx/lu6eCLVRCVrZ4BwdFfZAzRZ2HlhsP9d+J+jJCYvdd1E6JYqzgYIPpxmYZ0ouWkE6Pz09
	eIfLW63D/40zVaOjoB+czhRkAJupNJLUlnD0Vq++6b903Jw8sqtUKdwSTlYYifFesGRM=;
Subject: Re: [PATCH V4 05/10] xen/arm: static memory initialization
To: Penny Zheng <penny.zheng@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org
Cc: Bertrand.Marquis@arm.com, Wei.Chen@arm.com, nd@arm.com
References: <20210728102758.3269446-1-penny.zheng@arm.com>
 <20210728102758.3269446-6-penny.zheng@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <6d131379-68e8-ff26-d579-db2afd678072@xen.org>
Date: Fri, 13 Aug 2021 13:20:46 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <20210728102758.3269446-6-penny.zheng@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Penny,

On 28/07/2021 11:27, Penny Zheng wrote:
> This patch introduces static memory initialization, during system boot up.
> 
> The new function init_staticmem_pages is responsible for static memory
> initialization.
> 
> Helper free_staticmem_pages is the equivalent of free_heap_pages, to free
> nr_mfns pages of static memory.
> 
> This commit also introduces new CONFIG_STATIC_MEMORY to avoid bringing dead
> codes in other archs.
> 
> Put asynchronous scrubbing for pages of static memory in TODO list.
> 
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
> ---
> v4 change:
> - move the option CONFIG_STATIC_MEMORY to common code, and with Arm
> "select"ing it
> - replace round_pg{down,up}() with PFN_DOWN()/PFN_UP()
> ---
>   xen/arch/arm/Kconfig    |  1 +
>   xen/arch/arm/setup.c    | 24 ++++++++++++++++++++++++
>   xen/common/Kconfig      |  3 +++
>   xen/common/page_alloc.c | 20 ++++++++++++++++++++
>   xen/include/xen/mm.h    |  6 ++++++
>   5 files changed, 54 insertions(+)
> 
> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> index ecfa6822e4..cc7a943d27 100644
> --- a/xen/arch/arm/Kconfig
> +++ b/xen/arch/arm/Kconfig
> @@ -15,6 +15,7 @@ config ARM
>   	select HAS_PASSTHROUGH
>   	select HAS_PDX
>   	select IOMMU_FORCE_PT_SHARE
> +	select STATIC_MEMORY

Given the list of TODOs, I think it would be better if STATIC_MEMORY is 
user selectable and gated by UNSUPPORTED.

We can remove the dependency on UNSUPPORTED once every have been addressed.

>   
>   config ARCH_DEFCONFIG
>   	string
> diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
> index f569134317..369f6631ee 100644
> --- a/xen/arch/arm/setup.c
> +++ b/xen/arch/arm/setup.c
> @@ -622,6 +622,26 @@ static void __init init_pdx(void)
>       }
>   }
>   
> +/* Static memory initialization */
> +static void __init init_staticmem_pages(void)
> +{
> +    unsigned int bank;
> +
> +    /* TODO: Considering NUMA-support scenario. */
> +    for ( bank = 0 ; bank < bootinfo.static_mem.nr_banks; bank++ )
> +    {
> +        unsigned long bank_start = PFN_UP(bootinfo.static_mem.bank[bank].start);

I would prefer if bank_start is a mfn_t.

> +        unsigned long bank_size = PFN_DOWN(bootinfo.static_mem.bank[bank].size);

NIT: I would suggest to name it bank_pages or bank_nr_pages. This would 
make clear in the user that this contains pages.

> +        unsigned long bank_end = bank_start + bank_size;

mfn_t please.

> +
> +        if ( bank_end <= bank_start )

This will mean you will need to use mfn_x() for both. This code would be 
less nice but at least it avoids mixing address and MFN.

> +            return;
> +
> +        free_staticmem_pages(mfn_to_page(_mfn(bank_start)),
> +                             bank_size, false);
> +    }
> +}
> +
>   #ifdef CONFIG_ARM_32
>   static void __init setup_mm(void)
>   {
> @@ -749,6 +769,8 @@ static void __init setup_mm(void)
>       /* Add xenheap memory that was not already added to the boot allocator. */
>       init_xenheap_pages(mfn_to_maddr(xenheap_mfn_start),
>                          mfn_to_maddr(xenheap_mfn_end));
> +
> +    init_staticmem_pages();
>   }
>   #else /* CONFIG_ARM_64 */
>   static void __init setup_mm(void)
> @@ -802,6 +824,8 @@ static void __init setup_mm(void)
>   
>       setup_frametable_mappings(ram_start, ram_end);
>       max_page = PFN_DOWN(ram_end);
> +
> +    init_staticmem_pages();
>   }
>   #endif
>   
> diff --git a/xen/common/Kconfig b/xen/common/Kconfig
> index 0ddd18e11a..8f736eea82 100644
> --- a/xen/common/Kconfig
> +++ b/xen/common/Kconfig
> @@ -67,6 +67,9 @@ config MEM_ACCESS
>   config NEEDS_LIBELF
>   	bool
>   
> +config STATIC_MEMORY
> +	bool
> +
>   menu "Speculative hardening"
>   
>   config SPECULATIVE_HARDEN_ARRAY
> diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
> index a3ee5eca9e..2acb73e323 100644
> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -1519,6 +1519,26 @@ static void free_heap_pages(
>       spin_unlock(&heap_lock);
>   }
>   
> +#ifdef CONFIG_STATIC_MEMORY
> +/* Equivalent of free_heap_pages to free nr_mfns pages of static memory. */
> +void __init free_staticmem_pages(struct page_info *pg, unsigned long nr_mfns,
> +                                 bool need_scrub)
> +{
> +    mfn_t mfn = page_to_mfn(pg);
> +    unsigned long i;
> +
> +    for ( i = 0; i < nr_mfns; i++ )
> +    {
> +        mark_page_free(&pg[i], mfn_add(mfn, i));
> +
> +        if ( need_scrub )
> +        {
> +            /* TODO: asynchronous scrubbing for pages of static memory. */
> +            scrub_one_page(pg);
> +        }
> +    }
> +}
> +#endif
>   
>   /*
>    * Following rules applied for page offline:
> diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
> index 667f9dac83..8e8fb5a615 100644
> --- a/xen/include/xen/mm.h
> +++ b/xen/include/xen/mm.h
> @@ -85,6 +85,12 @@ bool scrub_free_pages(void);
>   } while ( false )
>   #define FREE_XENHEAP_PAGE(p) FREE_XENHEAP_PAGES(p, 0)
>   
> +#ifdef CONFIG_STATIC_MEMORY
> +/* These functions are for static memory */
> +void free_staticmem_pages(struct page_info *pg, unsigned long nr_mfns,
> +                          bool need_scrub);
> +#endif
> +
>   /* Map machine page range in Xen virtual address space. */
>   int map_pages_to_xen(
>       unsigned long virt,
> 

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 13 12:21:41 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 12:21:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166772.304403 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEWBx-0004Go-5N; Fri, 13 Aug 2021 12:21:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166772.304403; Fri, 13 Aug 2021 12: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 1mEWBx-0004Gh-1d; Fri, 13 Aug 2021 12:21:41 +0000
Received: by outflank-mailman (input) for mailman id 166772;
 Fri, 13 Aug 2021 12:21: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 1mEWBv-0004GZ-JJ
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 12:21: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 1mEWBv-0005VR-GL; Fri, 13 Aug 2021 12:21:39 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mEWBv-0007Gv-AY; Fri, 13 Aug 2021 12:21:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=m+QtAK1EBJ9L98PWpc5rJzGwU7tebvYWA+S7+qWflbw=; b=YyqdGD21AMNEBRa2BQxiV0O/PX
	iqIXOEP6T00uOpWTqt0IQ2aUHCDEB+xBLqu3r98NXRJQ+ZCaXtn+HD5W+oRmnB+9oTmTjdq3emVUp
	vsntqOiMCsjviAovB/1q89t0RhviO1fX5HsJLxrgYoCIMgl0NXxEa8Uxv1BnqOeTxoC4=;
Subject: Re: [PATCH V4 06/10] xen/arm: introduce PGC_reserved
To: Penny Zheng <penny.zheng@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org
Cc: Bertrand.Marquis@arm.com, Wei.Chen@arm.com, nd@arm.com
References: <20210728102758.3269446-1-penny.zheng@arm.com>
 <20210728102758.3269446-7-penny.zheng@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <cdccfb6b-33d9-b8cc-6efe-3828278f9b4c@xen.org>
Date: Fri, 13 Aug 2021 13:21:37 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <20210728102758.3269446-7-penny.zheng@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Penny,

On 28/07/2021 11:27, Penny Zheng wrote:
> This patch introduces a new page flag PGC_reserved in order to differentiate
> pages of static memory from those allocated from heap.
> 
> Mark pages of static memory PGC_reserved when initializing them.
> 
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>

I think this want to be folded in patch #7.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 13 12:27:25 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 12:27:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166777.304415 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEWHR-00051e-Kp; Fri, 13 Aug 2021 12:27:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166777.304415; Fri, 13 Aug 2021 12: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 1mEWHR-00051X-Hk; Fri, 13 Aug 2021 12:27:21 +0000
Received: by outflank-mailman (input) for mailman id 166777;
 Fri, 13 Aug 2021 12:27: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 1mEWHQ-00051R-Qv
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 12:27: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 1mEWHQ-0005bc-Km; Fri, 13 Aug 2021 12:27:20 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mEWHQ-0007yr-F3; Fri, 13 Aug 2021 12: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=Co6/rkCbXULJ+8XHyOWhAfFATVkJb4c83OusJy+XS44=; b=MjlleSLSqftwLrFCHHXgUmXJln
	ALNeuHv9I+j1ob3VpA4oxWB3245Q4nVuSoreYJzhtVoYqmbjoAB7rK+X7shzTC5cURT/Sqie4ICaY
	d+Y03nRKNtvpK/3N7y/GBBwrD4RPuFzrpE8c/FIKNGFZ8/YACRgGCN9zO3gbKBxMHIxU=;
Subject: Re: [PATCH V4 07/10] xen: re-define assign_pages and introduce
 assign_page
To: Penny Zheng <penny.zheng@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org
Cc: Bertrand.Marquis@arm.com, Wei.Chen@arm.com, nd@arm.com
References: <20210728102758.3269446-1-penny.zheng@arm.com>
 <20210728102758.3269446-8-penny.zheng@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <58be6daa-d8d1-1907-c549-585f56075a99@xen.org>
Date: Fri, 13 Aug 2021 13:27:18 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <20210728102758.3269446-8-penny.zheng@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Penny,

On 28/07/2021 11:27, Penny Zheng wrote:
> In order to deal with the trouble of count-to-order conversion when page number
> is not in a power-of-two, this commit re-define assign_pages for nr pages and
> assign_page for original page with a single order.
> 
> Backporting confusion could be helped by altering the order of assign_page
> parameters, such that the compiler would point out that adjustments at call
> sites are needed.

Looking at the code, you don't alter the order of assign_page() 
parameters. So did you mean to refer to "assign_pages()"?

> 
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
> ---
> v4 change:
> - in all cases where order-0 pages get passed, prefer using assign_pages
> to pass literal 1
> - reconstruct the order of assign_pages parameters
> - remove the unnecessary parentheses
> ---
>   xen/arch/x86/pv/dom0_build.c |  2 +-
>   xen/common/grant_table.c     |  2 +-
>   xen/common/memory.c          |  4 ++--
>   xen/common/page_alloc.c      | 23 ++++++++++++++---------
>   xen/include/xen/mm.h         |  6 ++++++
>   5 files changed, 24 insertions(+), 13 deletions(-)
> 
> diff --git a/xen/arch/x86/pv/dom0_build.c b/xen/arch/x86/pv/dom0_build.c
> index af47615b22..9142f359da 100644
> --- a/xen/arch/x86/pv/dom0_build.c
> +++ b/xen/arch/x86/pv/dom0_build.c
> @@ -556,7 +556,7 @@ int __init dom0_construct_pv(struct domain *d,
>           else
>           {
>               while ( count-- )
> -                if ( assign_pages(d, mfn_to_page(_mfn(mfn++)), 0, 0) )
> +                if ( assign_pages(mfn_to_page(_mfn(mfn++)), 1, d, 0) )
>                       BUG();
>           }
>           initrd->mod_end = 0;
> diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c
> index fab77ab9cc..1f6b89bff4 100644
> --- a/xen/common/grant_table.c
> +++ b/xen/common/grant_table.c
> @@ -2342,7 +2342,7 @@ gnttab_transfer(
>            * is respected and speculative execution is blocked accordingly
>            */
>           if ( unlikely(!evaluate_nospec(okay)) ||
> -            unlikely(assign_pages(e, page, 0, MEMF_no_refcount)) )
> +            unlikely(assign_pages(page, 1, e, MEMF_no_refcount)) )
>           {
>               bool drop_dom_ref;
>   
> diff --git a/xen/common/memory.c b/xen/common/memory.c
> index e07bd9a5ea..083e14b84f 100644
> --- a/xen/common/memory.c
> +++ b/xen/common/memory.c
> @@ -728,7 +728,7 @@ static long memory_exchange(XEN_GUEST_HANDLE_PARAM(xen_memory_exchange_t) arg)
>           /* Assign each output page to the domain. */
>           for ( j = 0; (page = page_list_remove_head(&out_chunk_list)); ++j )
>           {
> -            if ( assign_pages(d, page, exch.out.extent_order,
> +            if ( assign_page(d, page, exch.out.extent_order,
>                                 MEMF_no_refcount) )
>               {
>                   unsigned long dec_count;
> @@ -797,7 +797,7 @@ static long memory_exchange(XEN_GUEST_HANDLE_PARAM(xen_memory_exchange_t) arg)
>        * cleared PGC_allocated.
>        */
>       while ( (page = page_list_remove_head(&in_chunk_list)) )
> -        if ( assign_pages(d, page, 0, MEMF_no_refcount) )
> +        if ( assign_pages(page, 1, d, MEMF_no_refcount) )
>           {
>               BUG_ON(!d->is_dying);
>               free_domheap_page(page);
> diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
> index f51e406401..e279c6f713 100644
> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -2282,9 +2282,9 @@ void init_domheap_pages(paddr_t ps, paddr_t pe)
>   
>   
>   int assign_pages(
> -    struct domain *d,
>       struct page_info *pg,
> -    unsigned int order,
> +    unsigned long nr,
> +    struct domain *d,
>       unsigned int memflags)
>   {
>       int rc = 0;
> @@ -2304,7 +2304,7 @@ int assign_pages(
>       {
>           unsigned int extra_pages = 0;
>   
> -        for ( i = 0; i < (1ul << order); i++ )
> +        for ( i = 0; i < nr; i++ )
>           {
>               ASSERT(!(pg[i].count_info & ~PGC_extra));
>               if ( pg[i].count_info & PGC_extra )
> @@ -2313,18 +2313,18 @@ int assign_pages(
>   
>           ASSERT(!extra_pages ||
>                  ((memflags & MEMF_no_refcount) &&
> -                extra_pages == 1u << order));
> +                extra_pages == nr));
>       }
>   #endif
>   
>       if ( pg[0].count_info & PGC_extra )
>       {
> -        d->extra_pages += 1u << order;
> +        d->extra_pages += nr;
>           memflags &= ~MEMF_no_refcount;
>       }
>       else if ( !(memflags & MEMF_no_refcount) )
>       {
> -        unsigned int tot_pages = domain_tot_pages(d) + (1 << order);
> +        unsigned int tot_pages = domain_tot_pages(d) + nr;
>   
>           if ( unlikely(tot_pages > d->max_pages) )
>           {
> @@ -2336,10 +2336,10 @@ int assign_pages(
>       }
>   
>       if ( !(memflags & MEMF_no_refcount) &&
> -         unlikely(domain_adjust_tot_pages(d, 1 << order) == (1 << order)) )
> +         unlikely(domain_adjust_tot_pages(d, nr) == nr) )
>           get_knownalive_domain(d);
>   
> -    for ( i = 0; i < (1 << order); i++ )
> +    for ( i = 0; i < nr; i++ )
>       {
>           ASSERT(page_get_owner(&pg[i]) == NULL);
>           page_set_owner(&pg[i], d);
> @@ -2354,6 +2354,11 @@ int assign_pages(
>       return rc;
>   }
>   
> +int assign_page(struct domain *d, struct page_info *pg, unsigned int order,
> +                unsigned int memflags)
> +{
> +    return assign_pages(pg, 1UL << order, d, memflags);
> +}
>   
>   struct page_info *alloc_domheap_pages(
>       struct domain *d, unsigned int order, unsigned int memflags)
> @@ -2396,7 +2401,7 @@ struct page_info *alloc_domheap_pages(
>                   pg[i].count_info = PGC_extra;
>               }
>           }
> -        if ( assign_pages(d, pg, order, memflags) )
> +        if ( assign_page(d, pg, order, memflags) )
>           {
>               free_heap_pages(pg, order, memflags & MEMF_no_scrub);
>               return NULL;
> diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
> index 8e8fb5a615..2e75cdcbb7 100644
> --- a/xen/include/xen/mm.h
> +++ b/xen/include/xen/mm.h
> @@ -132,6 +132,12 @@ int query_page_offline(mfn_t mfn, uint32_t *status);
>   void heap_init_late(void);
>   
>   int assign_pages(
> +    struct page_info *pg,
> +    unsigned long nr,
> +    struct domain *d,
> +    unsigned int memflags);
> +
> +int assign_page(
>       struct domain *d,
>       struct page_info *pg,
>       unsigned int order,

I find a bit odd that the parameters are ordered differently between 
assign_pages() and assign_page(). They are similar interface after all.

I don't think it would be a problem for backporting purpose if 
assign_page() has a different order for the arguments.

Jan, what do you think?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 13 12:33:09 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 12:33:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166782.304426 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEWMz-0006OV-9Z; Fri, 13 Aug 2021 12:33:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166782.304426; Fri, 13 Aug 2021 12:33:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEWMz-0006OO-6U; Fri, 13 Aug 2021 12:33:05 +0000
Received: by outflank-mailman (input) for mailman id 166782;
 Fri, 13 Aug 2021 12:33:04 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ewIu=NE=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mEWMx-0006OI-U9
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 12:33:03 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 9974a062-fc32-11eb-a28f-12813bfff9fa;
 Fri, 13 Aug 2021 12:33:02 +0000 (UTC)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2050.outbound.protection.outlook.com [104.47.14.50]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-37-MtFkcKSZOVqltWI7ViIKaQ-1; Fri, 13 Aug 2021 14:33:00 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB6173.eurprd04.prod.outlook.com (2603:10a6:803:ff::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Fri, 13 Aug
 2021 12:32:58 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.019; Fri, 13 Aug 2021
 12:32:58 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P195CA0015.EURP195.PROD.OUTLOOK.COM (2603:10a6:102:b6::20) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Fri, 13 Aug 2021 12:32: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: 9974a062-fc32-11eb-a28f-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628857981;
	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=DvMmR/9mCn/kuHaEconYQz8kajc6oHyUAPnssf+vABs=;
	b=NYsE8G7DzNIYAFfkhKCi31EJr+Lg8k6jGLoxXRL+6jdI7hlkaWmucmTN43LzE1D4eFvOZh
	H+NjvglsoO71Oz7/+sdLHML18WZdVkK35Z+DtSi6HHX+7HZRG5LilMpPb0b0mg3q6lJoul
	mPSCMmov9fNfSe8bu6gjD14RFSsnpj4=
X-MC-Unique: MtFkcKSZOVqltWI7ViIKaQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HKeh5vs8CswjGlkaVwYwDBG6oZUmso14IvoCnPgMnHkYpPRWSu8meEtcUoZmjFbR7DozD55pSUheV/Nm/UGxEMRKhM/I+ncwBDOnhXDCksIFYOQOOxfnBSA25Au6ItVZwHr+JC7i3j3vc1otOIJXjo3ADe6c37kXCpa/NcjgIzxVHYF+IT+U4Qx+Xzj1eXQ/DFCSKUn4cBxxBpYNRcwnRBEFdmQMAoMwLGE020b8omHSZ60RTWmZbAX0xEfBGL2X9+pZkWw4ayvyBJNRF18XEOSAz2RuhdLo2h0p0Uo82CpKe0Sx0nkt54IhtjQe5MAWQ+aw4+xN2r2jMs9bDnQm8w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DvMmR/9mCn/kuHaEconYQz8kajc6oHyUAPnssf+vABs=;
 b=K8gSL6GJKrdx2BhklurPkPEUmoMs4LnCCo3BVojtH1RcgUiO/fNA1CN3guB/CfaKGT2k2Ps6eJm/acoWEs9wpy3tnYBXQtJooU8RKr5q7TeRAR5SZiK8VyJ3xiJJuMrFd8brVRrkjh3rcEdKlWaD7bXP6kooKU7aO3AeZnUytmJnttg1WYjDFunkWiWhQ33dr4iSsSlThRiP2cpq7ceUNdAWexxEpKzPqunWswWMqyCG5KRStIc/CRmw250h/X3LK4V6DaboGRmW70cyEqHyBBJ0yqWGNOnF96cB8tIObDlKslqgGKx0oZ15APYQlZkRppn5o1+oP+/nrcfE4V8TLw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: kernel.org; dkim=none (message not signed)
 header.d=none;kernel.org; dmarc=none action=none header.from=suse.com;
Subject: Re: [PATCH V4 07/10] xen: re-define assign_pages and introduce
 assign_page
To: Julien Grall <julien@xen.org>, Penny Zheng <penny.zheng@arm.com>
Cc: Bertrand.Marquis@arm.com, Wei.Chen@arm.com, nd@arm.com,
 xen-devel@lists.xenproject.org, sstabellini@kernel.org
References: <20210728102758.3269446-1-penny.zheng@arm.com>
 <20210728102758.3269446-8-penny.zheng@arm.com>
 <58be6daa-d8d1-1907-c549-585f56075a99@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <22a377a2-86c8-9c9f-1249-73c9d903269c@suse.com>
Date: Fri, 13 Aug 2021 14:32:56 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <58be6daa-d8d1-1907-c549-585f56075a99@xen.org>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P195CA0015.EURP195.PROD.OUTLOOK.COM
 (2603:10a6:102:b6::20) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d33e870b-c919-40d9-1002-08d95e567b68
X-MS-TrafficTypeDiagnostic: VI1PR04MB6173:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB617329C2BDCA4D22B5EB6CC6B3FA9@VI1PR04MB6173.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:7219;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	u5YmreQNRVKmygq8P+a60ZePYuzVkJVO5A29NA+pOkUqC/L3ePhb8oZ2qvttTizPbkWOKVxNckMLpcW4RfmF5nlpfg7ksduWAgy7YW5Ejhe2iEylJFMcr+YUUEOnwCMb5oj/TH8i7WXRRuG4tdsKSTNllCxbvkXaLEvSMlOqR3sevXMMKbDjJWSfMyEn8geT75Qw44m1bEvfCoLE0J9gO7g2EVBHaj5/fzoCmvE4D4Hj1OYgpuoJMOqRwDFF8UD3sHUoV0bwJlgIZirMCwMVKRT3lLl3WQuqU2aodMxN1AG5r1gxxo+HBirkopmnOeeEHVxVQncG8UTNT0QRiqFWIKMblFmO1jyTFOow7It+rLZxXxyrVxhMPOcF+VnmxWCt2Tj8F11aC8U+YT2qhZMoWXcQwCmd8CtnjiewJT1ofWgTxosQsoDHhWFbv36Y5U75wSD6R/uCS5XAz/8SnRI5TxZTEKXPo9Bm971P+jmFWlV9rOqCPL4ZwvLLzii50ARV1idxynsJqKf6XBuJnnoQ2EHDBoB+92bxBtaam50vgaSZNPrR4krJYMhtr9z03aTvr5D+omq1ewa/Yg1jSrpDgkSpvr8gG7FLLT+zQYcduZiFwm4O6Hu43kury4FUZmmlEPGyB4x/LA25mdp+ntCa46q+iHc/ob8+9XRIQJIcYZVXENd3TLSAhCfKM6oKBCzEZKLRZ3FURiktsTUZM7iidN/X1GPIYsJagTwtz3pD8l8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(366004)(39860400002)(376002)(396003)(346002)(53546011)(66556008)(110136005)(38100700002)(186003)(36756003)(26005)(2616005)(4326008)(86362001)(83380400001)(956004)(2906002)(8676002)(31686004)(478600001)(6486002)(5660300002)(4744005)(316002)(8936002)(31696002)(16576012)(66476007)(66946007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZEtkanFiMlZERGNSdFBINFdVSG5sVURyNXg4RkNKaFRaYW56VkptTERqbENq?=
 =?utf-8?B?a1V5aEVqak52Qk00VzJZaEtKRG04ZUhoSU95ME02Y1U1QXFOTUVSUW9hN2lp?=
 =?utf-8?B?c3cxMjJBaDNkUVlTRVFITVdoeU9VSTdZcTMxczFEQVNxajhHSCtpVURpUWU0?=
 =?utf-8?B?ZFFsaUFXL3pFalgrVDUzOTB5Ym1OYTErVUlPUDVYdTdsRXNLaUtKL1FCRnZt?=
 =?utf-8?B?WDQyZHhndk04NFpzRktScWVMeUxCNEEvWkdHMUdOUnNDUE5PUmlCdDRXY3hu?=
 =?utf-8?B?NHBNeXJ3ZitrMGV0RVU2MkYydUx0aEViNW1lcS9aQWVaOERFQ3JCMDdZQjJC?=
 =?utf-8?B?WHNpdDNra0tHM25mQ2MzUXY5UTFsenZESXVCYU1tcEtzQWl0c2RYdUk5UUNw?=
 =?utf-8?B?cU81YVdWSEw0Y3F4TUI2SXN6NFoyZEVQaXFZb3ZHNWFOallVdFFub0Q4a1U4?=
 =?utf-8?B?cHUwRis1bitaN2hUdlFKbWRNNC8xcjJOOTgyM3NDR1JzSzU3dzFMTG0zditw?=
 =?utf-8?B?TDJmdlFnckQyVTgzMjRyZzE1eHNsWjBRbC8xOFQyZGRTSnJPeWVNM1FjU3Nj?=
 =?utf-8?B?L0JzZTRYSWRGai9VeEVycjhSNWZoYWVmbzdzSzJlQnk3YnI4WHFFcXAzKzRI?=
 =?utf-8?B?NEt0TXRYcXY2RHREMEt0S2pEU1R3bEF5MzJlSTNsenRpcnJ4WncyMWRpdkRS?=
 =?utf-8?B?d255RXdSeGJlZURwd3VodjdaendLMDZaMCttQUIvcTJxOENJYjhVM1d0ZGxo?=
 =?utf-8?B?N1E2d3d6djArUEEyNDdGWE9sSForY2Z1UFJLRVpJRUc0SUk2cGxTUk5Ja1RP?=
 =?utf-8?B?UVY0bURCWXJ5MStjaUk2T3EwZzdTS0FOcHlZUDdjb2ttdVpDR3RvS25oSEU2?=
 =?utf-8?B?Yk5qVEN3dEhLNjRoYVpZZ0gwQkc5ZUlDbmpKVW14cFFDY1UrZmp4dXFaNmdE?=
 =?utf-8?B?ZXdGM1Q3ZE5hdndGbEtWblNXeXlnU0RGdmRsWGZWUkdEWjFxeWk0cC8rc0Y0?=
 =?utf-8?B?TUEzZW5SL0pFZ2hueitxdmJSZ3lnQVd3VkRZcUFkVzV0Yit5WnZNcVdwS0Nk?=
 =?utf-8?B?UUJGV09ycVRmTiswVm05RzV0dGZjMU8xMVhUU3U3cXpKVlc4WCsxbTA5QmdE?=
 =?utf-8?B?ejhIMFRVdDVJVzZrekwrZC9pSk5SV1cxMnl2UlBpNmtWQmI2RlB4SWNacWZx?=
 =?utf-8?B?bkxBUW85UEErUDVRc1N3WTJrV3NHazRPOWo4eDVycG02akMweDdpdmI0ejYy?=
 =?utf-8?B?dVZKNmVHK0N5QjVCYVdRSWxMd3N0TEdtWktFYmNOSWRlWkpvNTdKbERGTFBK?=
 =?utf-8?B?Z2F1N1UzMmM0TnR1blVVeENGWEpMemFqR0NDbUNJMVhuRkpqUlFkeDVRMmdT?=
 =?utf-8?B?S3p3RElRanYrbHB0OEJIYXVqUHVQelRhM0luakRyRndiK0tJdk5IZGk3dHFM?=
 =?utf-8?B?RmZyNUlhWXNZQnVRMnRqSnNPSG9TUGN3UXZYRWlZVll5ckFweFlRaXRnY3Zh?=
 =?utf-8?B?VzdQSVVuaDVzS0cwZEQ2eWFwNUc2OENpeEhtUUZQZ0xxdE5wRlh0VG1oQU5q?=
 =?utf-8?B?enE5SW9BZzdCVTQ3NlgzdjBIaXRKek1IM1Y4QTRzek1LMTNJdElsOE9IQkJD?=
 =?utf-8?B?VkxuaExaVWtBNkFzckpPMVJJN1htYjJKc2pJZWExN3k5WmFIV243c2szYWRS?=
 =?utf-8?B?cDVOa1BmdlBGLzFsTTd2citadEVjS2xxZXNmVFh1SUhBNk5nMkFtc0duU1Nq?=
 =?utf-8?Q?P/hsHKGspSizHMYwjPTdm4SX7TK68RliuaM/ana?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d33e870b-c919-40d9-1002-08d95e567b68
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2021 12:32:58.1860
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: iMEs7xycnGN9A8eHtXaQRWMF+WNQ+V11gX2hfCBfzdOenTfuqQ9bbq3xR+q+qdN26HoG4RrvxmTQOv3qy6OdYg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6173

On 13.08.2021 14:27, Julien Grall wrote:
> On 28/07/2021 11:27, Penny Zheng wrote:
>> --- a/xen/include/xen/mm.h
>> +++ b/xen/include/xen/mm.h
>> @@ -132,6 +132,12 @@ int query_page_offline(mfn_t mfn, uint32_t *status);
>>   void heap_init_late(void);
>>   
>>   int assign_pages(
>> +    struct page_info *pg,
>> +    unsigned long nr,
>> +    struct domain *d,
>> +    unsigned int memflags);
>> +
>> +int assign_page(
>>       struct domain *d,
>>       struct page_info *pg,
>>       unsigned int order,
> 
> I find a bit odd that the parameters are ordered differently between 
> assign_pages() and assign_page(). They are similar interface after all.
> 
> I don't think it would be a problem for backporting purpose if 
> assign_page() has a different order for the arguments.
> 
> Jan, what do you think?

Having both functions with similar parameter arrangement would
certainly seem better to me, too.

Jan



From xen-devel-bounces@lists.xenproject.org Fri Aug 13 12:35:53 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 12:35:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166788.304437 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEWPg-00074L-RO; Fri, 13 Aug 2021 12:35:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166788.304437; Fri, 13 Aug 2021 12:35:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEWPg-00074E-Nb; Fri, 13 Aug 2021 12:35:52 +0000
Received: by outflank-mailman (input) for mailman id 166788;
 Fri, 13 Aug 2021 12:35:51 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ewIu=NE=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mEWPf-000748-4D
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 12:35:51 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 271ac63f-42ef-4515-a317-7ce433f023b9;
 Fri, 13 Aug 2021 12:35:50 +0000 (UTC)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2170.outbound.protection.outlook.com [104.47.17.170])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-34-kXh1UKFcNPuKp98o9g3qeQ-1; Fri, 13 Aug 2021 14:35:48 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VE1PR04MB7360.eurprd04.prod.outlook.com (2603:10a6:800:1a3::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13; Fri, 13 Aug
 2021 12:35:45 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.019; Fri, 13 Aug 2021
 12:35:45 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P191CA0048.EURP191.PROD.OUTLOOK.COM (2603:10a6:102:55::23) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4308.22 via Frontend Transport; Fri, 13 Aug 2021 12:35:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 271ac63f-42ef-4515-a317-7ce433f023b9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628858149;
	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=P56ITVavRR7rAmONoTimKF5xpeKb2AXY2002iQih6cg=;
	b=VECFXkaq7bCmw9Z8L0UdkzZuzTG+YNnq89gS/nA5DvTko6usRquDkt+LdwTApJsohJ6HdS
	xr0ZzoQ8VUNr6nnlIK5gPJ2Y7rkv3Qw1u6MILq+WoOeWhnm2CsFvUI+EqG/cBYlh+1eG+8
	7rDFzJdsKJ1GN+rddTE7ymq1Sgvxv8Y=
X-MC-Unique: kXh1UKFcNPuKp98o9g3qeQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NV2/bHL7vCqGpdh6j3So8UaRPNm64BR4AR2Wal4hDfHPi39q2z1xoynxqWVDDwWMQviKlKAUHbyqWqhinPmVrg2bf+/KCbup3l97LokcfASeaYJT2HLX/gqdDGHw/v1h/rqMjsNA4c9sS4rkM8kYa96RyvM6sbVN6YeepmYPjkWCL180aMxBmk/Xfhdjmhe98imv66/gPwcyRHMSZiIbiiHIPq2T92lzpSM31gMP0Nnt4AWLZuau1kiDUSYAmTinUKVnivRd3LRZ/IaUMFUNbd4MO5/d9GBEo7RDlEgxlGweiKHxLzx3eUYaEA4gilzAAyIvwavXGpaBv5tQrIIq4g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=P56ITVavRR7rAmONoTimKF5xpeKb2AXY2002iQih6cg=;
 b=NrSFKJQNFwuHeKljP+clDXjzOgPhYZFZiYecxzLFwyiosHPuB1BEG4qYDVL6qZrC1+oSTIaws+Iuisx1KY3mMPIXkW3DB3KUdaosr3nmguzsWLDWNwmLV6uXaoCw1vskaApu9uJl6KjmFFA2zkIrowe+yDXaouhTpgd5gbqUOTZHJfvfDcBk93FdWvYfo8LQnDJHZ0ZQAWPzwvioGzsn37UgxqYm+07jGCd9AK1D+ILsywIGWNIx+0zw/VRHJeboWnFWWo3KzzkxOUncDpDlRwB6mskbN/SiUSiQSsgM/JcEsjlqIEaZprfk47pSLf5RozgyxvSpSrJBiUKJmK73og==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: Re: [PATCH] tests/xenstore: link in librt
To: Ian Jackson <iwj@xenproject.org>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Wei Liu <wl@xen.org>, Juergen Gross <jgross@suse.com>,
 Julien Grall <julien@xen.org>
References: <3fe5f85c-3702-286c-46a3-d90eb094123f@suse.com>
 <24853.1273.985325.539310@mariner.uk.xensource.com>
 <74fde732-c2bb-168f-a51c-74e2220c87c5@suse.com>
 <24854.21217.976758.626859@mariner.uk.xensource.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <2fbd9038-8603-da23-ce7f-1544f7c04d55@suse.com>
Date: Fri, 13 Aug 2021 14:35:43 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <24854.21217.976758.626859@mariner.uk.xensource.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P191CA0048.EURP191.PROD.OUTLOOK.COM
 (2603:10a6:102:55::23) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3e27fcab-74ef-406d-3825-08d95e56defc
X-MS-TrafficTypeDiagnostic: VE1PR04MB7360:
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB7360AC8C52C88C06627509A3B3FA9@VE1PR04MB7360.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8273;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yK/HmuWYwnIBB4O62tVeUapooCzGFuL0yYGCtWembdmUzfOoRpEDMejH3gmDRfexjo7GzvojIwKB4iwXCPW1dJAyXa8jUFlHtC/IYXVkkaP96Vufj/i+bEGOzg97EFsnPU/Wz6Xv46TsHjJCKtQYSQcsowbDyzCnI2Rh7G+YLScvUUtc0/M5v5HWLWF65L7W4yPUqsiHQ8fcmCaU2lHsZBfZlr4dfLXrKdiDpBbYUuLi1ELrnbbdgcDOFLV7ui8cKpvE00jD3lnYT0PU53YptYV+fY1vG2W65zScjQb+F9XoqK/IpRqBYArwQU8VOe1z0y6EqphTG595+ZxkeEjH9DVTWXVymx/f/E2uSrB9HQ6Pqkj2erDuvyERtfADwABV+9DHkIb6rENZ6LL5knfmqHVD4oz8RwA+2Ui5rWrXG/OzqcXapAgkxpFeDCesIndkyD3GiMoKfTvdxAqi3V58CY3+dn28QkHIg0TB1ASHP8NXNwHN3h1wPO+oRFcIdFnQA1TragrLozVyC6b8iN+/vokVagiZc12RT+D2m8RmG7kjvJf+Gt34QzYe3qSioXYfhJJIom+D9mq0Mbps+e+4+IZnTgV17/CQpoHecdzFYypKyh9XlldaPMrmuNrHLTmKr/ojB+T+vtVWfdXORS998tdjlZ6Fydz6U7CCILcQENAQTZ5JzBhizOmQM9YgBiGUjRYWZBnJ56Kg4h9ICHVJoSQ6myw7QlFMo5fw2yR+vfs=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(376002)(346002)(366004)(396003)(39850400004)(316002)(83380400001)(36756003)(5660300002)(31696002)(186003)(38100700002)(4744005)(4326008)(54906003)(26005)(66476007)(2616005)(6486002)(956004)(66946007)(31686004)(8936002)(53546011)(6916009)(16576012)(66556008)(478600001)(86362001)(8676002)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cVBiSjdsRXF0VjJlWmd3QnVXdE84Z1dIeVhnQjFjdnFpYVU4VkhGUFFObjFB?=
 =?utf-8?B?ZzNvL25XSStoeVhCZjd3RGZEWE5vMnZCK3dtUjBLUGRxdDBIVVprMDREVmRD?=
 =?utf-8?B?VkxKS3U3c1lJMkFPRHpkN2FEa0xHTWdvN3A5dm1qTnBHelo3OUtVeGo4ejdT?=
 =?utf-8?B?dSs0Y2phNEt0TkRNbld5alBsOWY1bGpOL1A0dXp3U1J5TGt0Z0hIV2NoTWtB?=
 =?utf-8?B?bXN0TzNGSE5QQWZnajNpSzlvbHNTVVhYellYUmxRSVdrdkFqV0M0T3JFYXJX?=
 =?utf-8?B?Vk81aWRmZ25FN3d6UVROb2tOQVRxd1ZhNmN6ZnFpS2Y0YUIvVVh6UklLZ2dt?=
 =?utf-8?B?dndvNjI5TDlyRWJYODNXMVkwd2RwSEZMa21xN3JTUlBHSko3bTFwaHVoRXNR?=
 =?utf-8?B?OHFza2x3TlJFcm05K0pVTE8wblAxais1ZlZ5djA3VXE0Uk1DYkQ0enhXcExU?=
 =?utf-8?B?czhOOFJrUzBoUXcyT0drQkpzNTM0NnZuNERvNFRrZ09lSDF3bFVMVUZTN0I0?=
 =?utf-8?B?alJuazBIaVhib0RnSktRZDl5cjlmQWpRUVdpVHBCbWNaTzA5bUJodmZNVk9K?=
 =?utf-8?B?dG81ZVRVK2Y2Ykc0R2UzcWVPRXdYeSsxdEU2cE5leTBTMkl3eEUrVmx3SlhG?=
 =?utf-8?B?a2lDNG85TWh2ZVBra1pZbHE0MnFzR1k5L0R5cG1LMi90K2JsT0oxZEFqQWFq?=
 =?utf-8?B?cUhPd2tRb08veCtHbVpaVkZOUkVpVXV4ejZFVVZNdVZBZkc1TE1XcTJUSU1k?=
 =?utf-8?B?RUp4VURQZkhqUkxJUXRONEhTa0dqT1J2Q28xRnh3eURZV2VNaHRTemxzOEVo?=
 =?utf-8?B?V2hnYkhLdEViRVZsTGFFbkNPcVdQaUVpdEh1eGpCeGtYemlIeUhTRTNlNDVY?=
 =?utf-8?B?UStqdGVUQlh0S25QT1BndU9jN2VwOWQyYUVMT2hTNmpvKzBEaDh1dWtoV2w5?=
 =?utf-8?B?WXgxUVB2L2Z4U3RkNVpqTFF5YnVqRCtyK0UyeWp2UEhoaFRRT3V6UlJwWER5?=
 =?utf-8?B?R3JTWWtSNFZWRjJCNTFYRzM3QkNheFpBTXQ4c3JBVXBodytxQjJETHVzTnpv?=
 =?utf-8?B?ODkxRkkzVGFCWEJOSU14WFQrbnhCaGs3Q0FWdFJhL0ZJVG11WE91ckdyVXJC?=
 =?utf-8?B?TnBuWTdDclJ1emNFWjkxd0JBb3owMEYzdlJQUzRBcDJYREtpMkNoamdCdit6?=
 =?utf-8?B?SVZXR2lSdmhBNndDUUNXcTZmY1BwSnlJMkU0WVhjcVI3Y055MmRna1pZYm5q?=
 =?utf-8?B?alNBZWpzTDBLZ1ZoR2tWTy9Vc3VVQThxczN1djZ6bWF3WXFjRjJMMjAxWGdr?=
 =?utf-8?B?ZkhpL1Q1K1cwZHF3bFVkbXQ4MEpvN1FWbmxUcXV4T3Rxa2NRR2x3UlBnY3B1?=
 =?utf-8?B?SDRMcXpDQ0FKY2o4K25McTdsK3BreHdzYlVNTC8rS1Zld1BROHY3SFlYR3hG?=
 =?utf-8?B?cWx2d2FkR0lHQ3Zkbnh2WTZBbm9hOGFaL1F2RjEzdWdMNm1IVGZnS3o5MThL?=
 =?utf-8?B?WTlvdDJpNlRRMXBrQXJ1bXRNRkJWdkJnbXJoZUhOaEdJb0ZscXMxV2RycllN?=
 =?utf-8?B?YWRoZUJScVgvVEdZMjBlcFdVUVdWZGxrZHZlUlBqY25NdG5YWTdaalpIc2Vi?=
 =?utf-8?B?ZlZhMWFicE90U1lYNk5vaGJBWHYvSlZsSXVnNmZ6SmdoZjRDUXNtUzJ1VGxU?=
 =?utf-8?B?YzhSL0lsR3JaOWREYU9nVGVUeFlDeEZ2dlNDd0c3RnUzVGova1JhWnpFdjFB?=
 =?utf-8?Q?LNWJ3exd21YDG34XA8mIYUFHizGa8d9ppyEcC4K?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3e27fcab-74ef-406d-3825-08d95e56defc
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2021 12:35:45.2404
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: PY85k5gW6NHVJVYQrkr0KkCB+oi+R2uPQTqWFlULDzFAB/niENXNMBAdSFD0k++ykavi7YwcxBXrjZzzbTKhzw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7360

On 13.08.2021 13:09, Ian Jackson wrote:
> Jan Beulich writes ("Re: [PATCH] tests/xenstore: link in librt"):
>> On 12.08.2021 13:24, Ian Jackson wrote:
>>>> +LDFLAGS += -lrt
>>>
>>> Don't this unconditionally is definitely not right.
>>
>> Assuming you meant "Doing this ..." - why? If the concern is that
>> librt.so may needlessly get recorded in a DT_NEEDED entry, then I
>> can replace the early addition with a late
>>
>> LDFLAGS += -Wl,--as-needed -lc -lrt
>>
>> one.
> 
> librt might not exist at all on some platforms.

Hmm, indeed. Do you have any suggestion then? Adding a ./configure
check is going to be beyond what I'd we willing to spend time on ...

Jan



From xen-devel-bounces@lists.xenproject.org Fri Aug 13 12:38:07 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 12:38:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166792.304448 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEWRq-0007hA-7L; Fri, 13 Aug 2021 12:38:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166792.304448; Fri, 13 Aug 2021 12: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 1mEWRq-0007h3-4U; Fri, 13 Aug 2021 12:38:06 +0000
Received: by outflank-mailman (input) for mailman id 166792;
 Fri, 13 Aug 2021 12:38: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 1mEWRo-0007gq-W2
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 12:38:04 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mEWRo-0005n8-Nn; Fri, 13 Aug 2021 12:38:04 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mEWRo-0000ep-I1; Fri, 13 Aug 2021 12:38: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:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=FSHAQuD72Dpnk6fZ3Y/N822KAqDxa/7LY8sxuD0D6Do=; b=H3046KqSAEv/xlUsQ1uVqUBFdG
	7AWHSWqfhCDX8b43Bv71YiwAYyBmEyg5Gs/7KGKrP0O+UQQJjHIl2E85qohyTDOL1U+uBXLv1+nM3
	rmQ1D7ue/5yUoPPff4aF951KYC2UTOUaWkTtQFlHHZgl1NKhD9zoTFWbhppIeQUbaC5Q=;
Subject: Re: [PATCH V4 05/10] xen/arm: static memory initialization
To: Penny Zheng <penny.zheng@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org
Cc: Bertrand.Marquis@arm.com, Wei.Chen@arm.com, nd@arm.com
References: <20210728102758.3269446-1-penny.zheng@arm.com>
 <20210728102758.3269446-6-penny.zheng@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <0fb3df68-c94c-c4da-bcd1-f1fbdf429d37@xen.org>
Date: Fri, 13 Aug 2021 13:38:02 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <20210728102758.3269446-6-penny.zheng@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Penny,

On 28/07/2021 11:27, Penny Zheng wrote:
> +/* Static memory initialization */
> +static void __init init_staticmem_pages(void)
> +{
> +    unsigned int bank;
> +
> +    /* TODO: Considering NUMA-support scenario. */

I forgot to ask about this. What do you expect to be different with NUMA?

> +    for ( bank = 0 ; bank < bootinfo.static_mem.nr_banks; bank++ )
> +    {
> +        unsigned long bank_start = PFN_UP(bootinfo.static_mem.bank[bank].start);
> +        unsigned long bank_size = PFN_DOWN(bootinfo.static_mem.bank[bank].size);
> +        unsigned long bank_end = bank_start + bank_size;
> +
> +        if ( bank_end <= bank_start )
> +            return;
> +
> +        free_staticmem_pages(mfn_to_page(_mfn(bank_start)),
> +                             bank_size, false);
> +    }
> +}
> +

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 13 13:00:25 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 13:00:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166798.304459 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEWnM-0002KE-3F; Fri, 13 Aug 2021 13:00:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166798.304459; Fri, 13 Aug 2021 13: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 1mEWnL-0002K7-WB; Fri, 13 Aug 2021 13:00:20 +0000
Received: by outflank-mailman (input) for mailman id 166798;
 Fri, 13 Aug 2021 13:00: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 1mEWnK-0002K1-5U
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 13:00: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 1mEWnJ-0006Bi-U0; Fri, 13 Aug 2021 13:00:17 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mEWnJ-0002zq-OU; Fri, 13 Aug 2021 13:00:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=sM7KzT7uLNBnwlR0FRwHL60SEQ0ToAb23Qnxy1hEr/g=; b=iL8Ci6PGasC3mboFox+TA0gp1H
	QKWxH0mFNuYZzhPDRrHY7c07gEM0gTNeEMRT8anRk05nSA766JW3MiqEA0q+WMpvCdNQ7chTpWbYb
	KcernmS8NiAphWlKqVjT5Bh7RI2k3clpEGiFT2KCxuhivFY30z7q7FRIDYSXswfhmlTk=;
Subject: Re: [PATCH V4 08/10] xen/arm: introduce acquire_staticmem_pages and
 acquire_domstatic_pages
To: Penny Zheng <penny.zheng@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org
Cc: Bertrand.Marquis@arm.com, Wei.Chen@arm.com, nd@arm.com
References: <20210728102758.3269446-1-penny.zheng@arm.com>
 <20210728102758.3269446-9-penny.zheng@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <611fc504-c866-647e-01f3-0614238c3aca@xen.org>
Date: Fri, 13 Aug 2021 14:00:15 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <20210728102758.3269446-9-penny.zheng@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Penny,

On 28/07/2021 11:27, Penny Zheng wrote:
> alloc_staticmem_pages aims to acquire nr_mfns contiguous pages of
> static memory. And it is the equivalent of alloc_heap_pages for static
> memory. Here only covers acquiring pre-configured static memory.
> 
> For each page, it shall check if the page is reserved(PGC_reserved)
> and free. It shall also do a set of necessary initialization, which are
> mostly the same ones in alloc_heap_pages, like, following the same
> cache-coherency policy and turning page status into PGC_state_inuse, etc.
> 
> acquire_domstatic_pages is the equivalent of alloc_domheap_pages for
> static memory, and it is to acquire nr_mfns contiguous pages of static memory
> and assign them to one specific domain.
> 
> It uses acquire_staticmem_pages to acquire nr_mfns pre-configured pages of
> static memory, then on success, it will use assign_pages to assign those pages
> to one specific domain.
> 
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
> ---
> v4 change:
> - moving tlb/cache flush outside of the locked region, considering XSA-364
> and reducing the amount of work happening with the heap_lock held
> - remove MEMF_no_refcount case
> - make acquire_staticmem_pages/acquire_domstatic_pages being __init
> ---
>   xen/common/page_alloc.c | 108 +++++++++++++++++++++++++++++++++++++++-
>   xen/include/xen/mm.h    |   3 ++
>   2 files changed, 109 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
> index e279c6f713..b0edaf12b3 100644
> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -151,6 +151,10 @@
>   #define p2m_pod_offline_or_broken_replace(pg) BUG_ON(pg != NULL)
>   #endif
>   
> +#ifndef CONFIG_STATIC_MEMORY
> +#define PGC_reserved 0
> +#endif
> +
>   /*
>    * Comma-separated list of hexadecimal page numbers containing bad bytes.
>    * e.g. 'badpage=0x3f45,0x8a321'.
> @@ -1065,6 +1069,73 @@ static struct page_info *alloc_heap_pages(
>       return pg;
>   }
>   
> +#ifdef CONFIG_STATIC_MEMORY

Rather than having multiple #ifdef in the code. Could we bundle all the 
functions for static allocation in a single place?

> +/*
> + * Acquire nr_mfns contiguous reserved pages, starting at #smfn, of
> + * static memory.
> + */
> +static struct page_info * __init acquire_staticmem_pages(unsigned long nr_mfns,
> +                                                         mfn_t smfn,
> +                                                         unsigned int memflags)

NIT: I find more intuitive if we pass the start MFN first and then the 
number of pages. So this can be seen as a range.

If you agree with that, then the caller would also have to be changed.

> +{
> +    bool need_tlbflush = false;
> +    uint32_t tlbflush_timestamp = 0;
> +    unsigned long i;
> +    struct page_info *pg;
> +
> +    /* For now, it only supports pre-configured static memory. */

This comment doesn't seem to match the check below.

> +    if ( !mfn_valid(smfn) || !nr_mfns )

This check only guarantees that there will be a page for the first MFN. 
Shouldn't we also check for the other MFNs?

> +        return NULL;
> +
> +    spin_lock(&heap_lock);
> +
> +    pg = mfn_to_page(smfn);
> +
> +    for ( i = 0; i < nr_mfns; i++ )
> +    {
> +        /*
> +         * Reference count must continuously be zero for free pages
> +         * of static memory(PGC_reserved).
> +         */

How about: "The page should be reserved and not yet allocated"?

> +        if ( pg[i].count_info != (PGC_state_free | PGC_reserved) )
> +        {
> +            printk(XENLOG_ERR
> +                   "pg[%lu] Static MFN %"PRI_mfn" c=%#lx t=%#x\n",
> +                   i, mfn_x(page_to_mfn(pg + i)),
> +                   pg[i].count_info, pg[i].tlbflush_timestamp);
> +            BUG();

This BUG() can be easily hit by misconfiguring the Device-Tree. I think 
it would be best if we return an error and revert the changes.

> +        }
> +
> +        if ( !(memflags & MEMF_no_tlbflush) )
> +            accumulate_tlbflush(&need_tlbflush, &pg[i],
> +                                &tlbflush_timestamp);
> +
> +        /*
> +         * Preserve flag PGC_reserved and change page state
> +         * to PGC_state_inuse.
> +         */
> +        pg[i].count_info = (PGC_reserved | PGC_state_inuse);
> +        /* Initialise fields which have other uses for free pages. */
> +        pg[i].u.inuse.type_info = 0;
> +        page_set_owner(&pg[i], NULL);
> +    }
> +
> +    spin_unlock(&heap_lock);
> +
> +    if ( need_tlbflush )
> +        filtered_flush_tlb_mask(tlbflush_timestamp);
> +
> +    /*
> +     * Ensure cache and RAM are consistent for platforms where the guest
> +     * can control its own visibility of/through the cache.
> +     */
> +    for ( i = 0; i < nr_mfns; i++ )
> +        flush_page_to_ram(mfn_x(smfn) + i, !(memflags & MEMF_no_icache_flush));
> +
> +    return pg;
> +}
> +#endif
> +
>   /* Remove any offlined page in the buddy pointed to by head. */
>   static int reserve_offlined_page(struct page_info *head)
>   {
> @@ -2306,7 +2377,7 @@ int assign_pages(
>   
>           for ( i = 0; i < nr; i++ )
>           {
> -            ASSERT(!(pg[i].count_info & ~PGC_extra));
> +            ASSERT(!(pg[i].count_info & ~(PGC_extra | PGC_reserved)));
>               if ( pg[i].count_info & PGC_extra )
>                   extra_pages++;
>           }
> @@ -2345,7 +2416,8 @@ int assign_pages(
>           page_set_owner(&pg[i], d);
>           smp_wmb(); /* Domain pointer must be visible before updating refcnt. */
>           pg[i].count_info =
> -            (pg[i].count_info & PGC_extra) | PGC_allocated | 1;
> +            (pg[i].count_info & (PGC_extra | PGC_reserved)) | PGC_allocated | 1;
> +
>           page_list_add_tail(&pg[i], page_to_list(d, &pg[i]));
>       }
>   
> @@ -2411,6 +2483,38 @@ struct page_info *alloc_domheap_pages(
>       return pg;
>   }
>   
> +#ifdef CONFIG_STATIC_MEMORY
> +/*
> + * Acquire nr_mfns contiguous pages, starting at #smfn, of static memory,
> + * then assign them to one specific domain #d.
> + */
> +struct page_info * __init acquire_domstatic_pages(struct domain *d,
> +                                                  unsigned long nr_mfns,
> +                                                  mfn_t smfn, unsigned int memflags)
> +{
> +    struct page_info *pg = NULL;
> +
> +    ASSERT(!in_irq());
> +
> +    pg = acquire_staticmem_pages(nr_mfns, smfn, memflags);
> +    if ( !pg )
> +        return NULL;
> +
> +    /*
> +     * MEMF_no_owner/MEMF_no_refcount cases are missing here because
> +     * right now, acquired static memory is only for guest RAM.
> +     */
> +    ASSERT(d);
> +    if ( assign_pages(pg, nr_mfns, d, memflags) )
> +    {
> +        free_staticmem_pages(pg, nr_mfns, memflags & MEMF_no_scrub);
> +        return NULL;
> +    }
> +
> +    return pg;
> +}
> +#endif
> +
>   void free_domheap_pages(struct page_info *pg, unsigned int order)
>   {
>       struct domain *d = page_get_owner(pg);
> diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
> index 2e75cdcbb7..62e8e2ad61 100644
> --- a/xen/include/xen/mm.h
> +++ b/xen/include/xen/mm.h
> @@ -89,6 +89,9 @@ bool scrub_free_pages(void);
>   /* These functions are for static memory */
>   void free_staticmem_pages(struct page_info *pg, unsigned long nr_mfns,
>                             bool need_scrub);
> +struct page_info *acquire_domstatic_pages(struct domain *d,
> +                                          unsigned long nr_mfns, mfn_t smfn,
> +                                          unsigned int memflags);
>   #endif
>   
>   /* Map machine page range in Xen virtual address space. */
> 

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 13 13:12:23 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 13:12:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166802.304470 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEWyx-0003nf-5g; Fri, 13 Aug 2021 13:12:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166802.304470; Fri, 13 Aug 2021 13:12:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEWyx-0003nY-2S; Fri, 13 Aug 2021 13:12:19 +0000
Received: by outflank-mailman (input) for mailman id 166802;
 Fri, 13 Aug 2021 13:12: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 1mEWyw-0003nK-1B
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 13:12: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 1mEWyv-0006NM-QS; Fri, 13 Aug 2021 13:12:17 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mEWyv-0004DJ-Kr; Fri, 13 Aug 2021 13:12:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=YoBpmUY41pS4/1G2KQwInQItCFgrO9vEF5W2caDnQZI=; b=lMvewBwdBQUupL6qiWq93li+8a
	WtwS73v4aiSJYHR15JARuh6UjS1WXNCDB24JpAGtw/kwSraHgQMCfXz+YKaq0IWIsrOwbP8VMFitZ
	Fep5ubSEUIhbiC911AulUtNUupkdKRzVY816xFt9Kby7O3zbQBeAN/9ey+6cDABodIzw=;
Subject: Re: [PATCH V4 09/10] xen/arm: check "xen,static-mem" property during
 domain construction
To: Penny Zheng <penny.zheng@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org
Cc: Bertrand.Marquis@arm.com, Wei.Chen@arm.com, nd@arm.com
References: <20210728102758.3269446-1-penny.zheng@arm.com>
 <20210728102758.3269446-10-penny.zheng@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <bf4f8cb1-b8c1-a8f5-0aa4-1616cf161f2b@xen.org>
Date: Fri, 13 Aug 2021 14:12:15 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <20210728102758.3269446-10-penny.zheng@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi,

On 28/07/2021 11:27, Penny Zheng wrote:
> This commit checks "xen,static-mem" device tree property in /domUx node,
> to determine whether domain is on Static Allocation, when constructing
> domain during boot-up.
> 
> Right now, the implementation of allocate_static_memory is missing, and
> will be introduced later. It just BUG() out at the moment.

I think the code is small enough to fold it in patch #10. In fact...

> 
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
> ---
>   xen/arch/arm/domain_build.c | 37 ++++++++++++++++++++++++++++++++++++-
>   1 file changed, 36 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 6c86d52781..cdb16f2086 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -2425,6 +2425,37 @@ static int __init construct_domU(struct domain *d,
>       struct kernel_info kinfo = {};
>       int rc;
>       u64 mem;
> +    const struct dt_property *static_mem_prop;
> +    u32 static_mem_addr_cells, static_mem_size_cells;
> +    bool static_mem = false;

You don't need those information outside of allocate_static_memory(). So 
I think it would be best to move the code in that function.

> +
> +    /*
> +     * Guest RAM could be static memory which will be specified through
> +     * "xen,static-mem" property.
> +     */
> +    static_mem_prop = dt_find_property(node, "xen,static-mem", NULL);
> +    if ( static_mem_prop )
> +    {
> +        static_mem = true;
> +
> +        if ( !dt_property_read_u32(node, "#xen,static-mem-address-cells",
> +                                   &static_mem_addr_cells) )
> +        {
> +            printk("Error building DomU: cannot read "
> +                   "\"#xen,static-mem-address-cells\" property\n");
We don't split comment over multi-line (even they are more than 80 
characters). This is to help grep message in the code.

Although for this one I would replaced "Error building Domu:" with 
simply with the domain ID (you can use %pd and 'd'). The caller will 
then print there was an error during building.


> +            return -EINVAL;
> +        }
> +
> +        if ( !dt_property_read_u32(node, "#xen,static-mem-size-cells",
> +                                   &static_mem_size_cells) )
> +        {
> +            printk("Error building DomU: cannot read "
> +                   "\"#xen,static-mem-size-cells\" property\n");

My remark applies here as well.

> +            return -EINVAL;
> +        }
> +
> +        BUG_ON(static_mem_size_cells > 2 || static_mem_addr_cells > 2);

Did we validate the DT before hand? If not, then I think

> +    }


>   
>       rc = dt_property_read_u64(node, "memory", &mem);
>       if ( !rc )
> @@ -2452,7 +2483,11 @@ static int __init construct_domU(struct domain *d,
>       /* type must be set before allocate memory */
>       d->arch.type = kinfo.type;
>   #endif
> -    allocate_memory(d, &kinfo);
> +    if ( !static_mem )

With my suggestion above, the check can be replaced with:

if ( !dt_find_property(node, "xen,static-mem", NULL) )

> +        allocate_memory(d, &kinfo);
> +    else
> +        /* TODO: allocate_static_memory(...). */
> +        BUG();
>   
>       rc = prepare_dtb_domU(d, &kinfo);
>       if ( rc < 0 )
> 

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 13 13:37:02 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 13:37:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166807.304481 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEXMh-000659-2r; Fri, 13 Aug 2021 13:36:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166807.304481; Fri, 13 Aug 2021 13: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 1mEXMg-000652-W3; Fri, 13 Aug 2021 13:36:50 +0000
Received: by outflank-mailman (input) for mailman id 166807;
 Fri, 13 Aug 2021 13:36:49 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mEXMf-00064w-TP
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 13:36:49 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mEXMf-0006lJ-LY; Fri, 13 Aug 2021 13:36:49 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mEXMf-0006TV-Fw; Fri, 13 Aug 2021 13:36: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:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=pbrdx0r08rStSVL6c/ZftZSuT3s7Ff/PHtC80qyqJuw=; b=6TRiS8nmRoisb76UFT+2aLPaMn
	I1iOVn+ylh+P3suh9uo9Ws+POQ6PfhiLe94hGcE5aJ5jE4Ekj7tNa4BKH1eqIELD03SpiqH6FTiXA
	ccDt4ZPnhSWdkTCt1nQbn2EmnbppaWA9C/Xwtmve1djGoGXlDrU+ZJQyMrfdr3gK9w78=;
Subject: Re: [PATCH V4 10/10] xen/arm: introduce allocate_static_memory
To: Penny Zheng <penny.zheng@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org
Cc: Bertrand.Marquis@arm.com, Wei.Chen@arm.com, nd@arm.com
References: <20210728102758.3269446-1-penny.zheng@arm.com>
 <20210728102758.3269446-11-penny.zheng@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <11d38943-444d-80d1-5fd5-98cbc24e6b7e@xen.org>
Date: Fri, 13 Aug 2021 14:36:47 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <20210728102758.3269446-11-penny.zheng@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Penny,

On 28/07/2021 11:27, Penny Zheng wrote:
> This commit introduces allocate_static_memory to allocate static memory as
> guest RAM for Domain on Static Allocation.
> 
> It uses acquire_domstatic_pages to acquire pre-configured static memory
> for this domain, and uses guest_physmap_add_page to set up P2M table.
> These pre-defined static memory banks shall be firstly mapped to the
> fixed guest RAM address `GUEST_RAM0_BASE`. And until it exhausts the
> `GUEST_RAM0_SIZE`, it will seek to `GUEST_RAM1_BASE`, and so on.
> `GUEST_RAM0` may take up several pre-defined physical RAM regions.
> 
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
> ---
>   xen/arch/arm/domain_build.c | 137 +++++++++++++++++++++++++++++++++++-
>   1 file changed, 135 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index cdb16f2086..ed290ee31b 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -480,6 +480,139 @@ fail:
>             (unsigned long)kinfo->unassigned_mem >> 10);
>   }
>   
> +static bool __init append_static_memory_to_bank(struct domain *d,
> +                                                struct membank *bank,
> +                                                mfn_t smfn,
> +                                                paddr_t size)
> +{
> +    int res;
> +    paddr_t tot_size = size;
> +    /* Infer next GFN. */
> +    gfn_t sgfn = gaddr_to_gfn(bank->start + bank->size);
> +
> +    while ( tot_size > 0 )
> +    {
> +        unsigned int order = get_allocation_size(tot_size);
> +
> +        res = guest_physmap_add_page(d, sgfn, smfn, order);
> +        if ( res )
> +        {
> +            dprintk(XENLOG_ERR, "Failed map pages to DOMU: %d", res);
> +            return false;
> +        }
> +
> +        smfn = mfn_add(smfn, 1UL << order);
> +        tot_size -= (1UL << (PAGE_SHIFT + order));
> +    }

AFAICT, the loop is only here to suit guest_physmap_add_page(). Further 
down the line, the order will be converted back to a number of pages 
before calling p2m_insert_mapping().

So how about exporting p2m_insert_mapping() and use it?

> + > +    bank->size = bank->size + size;

We usually add a newline before the last return of the function.

> +    return true;
> +}
> +
> +/* Allocate memory from static memory as RAM for one specific domain d. */
> +static void __init allocate_static_memory(struct domain *d,
> +                                          struct kernel_info *kinfo,
> +                                          const struct dt_property *prop,
> +                                          u32 addr_cells, u32 size_cells)
> +{
> +    unsigned int nr_banks, gbank, bank = 0;
> +    const uint64_t rambase[] = GUEST_RAM_BANK_BASES;
> +    const uint64_t ramsize[] = GUEST_RAM_BANK_SIZES;
> +    const __be32 *cell;
> +    u32 reg_cells = addr_cells + size_cells;
> +    u64 tot_size = 0;
> +    paddr_t pbase, psize, gsize;
> +    mfn_t smfn;
> +
> +    /* Start with GUEST_RAM0. */
> +    kinfo->mem.nr_banks = 0;
> +    gbank = 0;
> +    gsize = ramsize[gbank];
> +    kinfo->mem.bank[gbank].start = rambase[gbank];
> +
> +    cell = (const __be32 *)prop->value;
> +    nr_banks = (prop->length) / (reg_cells * sizeof (u32));
> +    BUG_ON(nr_banks > NR_MEM_BANKS);
> +
> +    while ( bank < nr_banks )
> +    {
> +        device_tree_get_reg(&cell, addr_cells, size_cells, &pbase, &psize);
> +        tot_size += psize;
> +        smfn = maddr_to_mfn(pbase);
> +
> +        if ( !acquire_domstatic_pages(d, psize >> PAGE_SHIFT, smfn, 0) )

I think we want to check that both pbase and psize are page aligned 
first. This can be done here or earlier when reserving the pages (this 
would be a previous patch).

Also, given that you can easily figure out the page from the mfn. I 
think it would be better for acquire_domstatic_pages() to return an 
error. This could be helpful to figure out an error.

> +        {
> +            printk(XENLOG_ERR
> +                    "%pd: cannot acquire static memory "
> +                    "(0x%"PRIpaddr" - 0x%"PRIpaddr").\n",
> +                    d, pbase, pbase + psize);
> +            goto fail;
> +        }
> +
> +        printk(XENLOG_INFO "%pd: STATIC BANK[%d] %#"PRIpaddr"-%#"PRIpaddr"\n",

bank is unsigned so s/%d/%u/

> +               d, bank, pbase, pbase + psize);
> +
> +        /*
> +         * It shall be mapped to the fixed guest RAM address rambase[i],
> +         * And until it exhausts the ramsize[i], it will seek to the next
> +         * rambase[i+1].
> +         */
> +        while ( 1 )
> +        {
> +            /*
> +             * The current physical bank is fully mapped.
> +             * Handle the next physical bank.
> +             */
> +            if ( gsize >= psize )
> +            {
> +                if ( !append_static_memory_to_bank(d, &kinfo->mem.bank[gbank],
> +                                                   smfn, psize) )
> +                    goto fail;
> +
> +                gsize = gsize - psize;
> +                bank++;
> +                break;
> +            }
> +            /*
> +             * Current guest bank memory is not enough to map.
> +             * Check if we have another guest bank available.
> +             * gbank refers guest memory bank index.
> +             */
> +            else if ( (gbank + 2) > GUEST_RAM_BANKS ) {

I don't understand the +2. Can you clarify it?

Also, the coding style for Xen requires the { to be on a separate line.

> +                printk("Exhausted the number of guest bank\n");
> +                goto fail;
> +            }
> +            else
> +            {
> +                if ( !append_static_memory_to_bank(d, &kinfo->mem.bank[gbank],
> +                                                   smfn, gsize) )
> +                    goto fail;

As I may have mentionned earlier, I find the double loop quite difficult 
to read. I don't think we can drop the double loop, but we can at least 
try to simplify the code in the loops.

The one I can think right now is moving allocate_static_memory_to_bank() 
outside of the if/else. Something like:

/* Map as much as possible the static range to the guest bank */
if ( !allocate_static_bank(.., min(psize, gize)) )

> +
> +                psize = psize - gsize;
> +                smfn = mfn_add(smfn, gsize >> PAGE_SHIFT);
> +                /* Update to the next guest bank. */
> +                gbank++;
> +                gsize = ramsize[gbank];
> +                kinfo->mem.bank[gbank].start = rambase[gbank];
> +            }
> +        }
> +    }
> +
> +    kinfo->mem.nr_banks = ++gbank;
> +    kinfo->unassigned_mem -= tot_size;
> +    if ( kinfo->unassigned_mem )
> +        printk(XENLOG_ERR
> +               "Size of \"memory\" property doesn't match up with the ones "
> +               "defined in \"xen,static-mem\".\n");

We don't split the single line message accross multi-line even if the 
result code is more than 80 characters long.

> +
> +    return;
> +
> +fail:
> +    panic("Failed to allocate requested static memory for domain %pd."
> +          "Fix the VMs configurations.\n",

Same here.

> +          d);
> +}
> +
>   static int __init write_properties(struct domain *d, struct kernel_info *kinfo,
>                                      const struct dt_device_node *node)
>   {
> @@ -2486,8 +2619,8 @@ static int __init construct_domU(struct domain *d,
>       if ( !static_mem )
>           allocate_memory(d, &kinfo);
>       else
> -        /* TODO: allocate_static_memory(...). */
> -        BUG();
> +        allocate_static_memory(d, &kinfo, static_mem_prop,
> +                               static_mem_addr_cells, static_mem_size_cells);
>   
>       rc = prepare_dtb_domU(d, &kinfo);
>       if ( rc < 0 )
> 

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 13 14:00:56 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 14:00:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166813.304492 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEXju-0000qH-5r; Fri, 13 Aug 2021 14:00:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166813.304492; Fri, 13 Aug 2021 14: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 1mEXju-0000qA-0u; Fri, 13 Aug 2021 14:00:50 +0000
Received: by outflank-mailman (input) for mailman id 166813;
 Fri, 13 Aug 2021 14:00:48 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ewIu=NE=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mEXjs-0000q4-RV
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 14:00:48 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id dbcbded8-fc3e-11eb-a2b0-12813bfff9fa;
 Fri, 13 Aug 2021 14:00:47 +0000 (UTC)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2056.outbound.protection.outlook.com [104.47.12.56]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-13-nYeJ2EI4PcqKH9B0Sni7tQ-1; Fri, 13 Aug 2021 16:00:45 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0401MB2608.eurprd04.prod.outlook.com (2603:10a6:800:4f::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.19; Fri, 13 Aug
 2021 14:00:43 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.019; Fri, 13 Aug 2021
 14:00:43 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0209.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1f::29) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.17 via Frontend Transport; Fri, 13 Aug 2021 14:00:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dbcbded8-fc3e-11eb-a2b0-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628863246;
	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=AEOW0kWsmOUnWbQAIRKotlauaCHcBX1jh8PqMUdhEfI=;
	b=kajEkYlz6mo2/b0JXFYU45OvbbOfl8C7k10IzNB1lqJz0E9ZZvFGDl2YjQ9wIeXEMJ2dvw
	PtUfJKtT2Wzm+iTZrSclUyGJkkdn2ySwrp28LWOKIguF8EBAntcCFuRTpZqj/M+oBrZXxF
	1xGzbPj1LdTcxsOuT2R4dNOJQViTlEo=
X-MC-Unique: nYeJ2EI4PcqKH9B0Sni7tQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=L8WKAaesP/+38guImEMtuU3F9eRRuKTIyLxOdR1lrNDbuQ3relZYFDkbeWH8WPk0AH+potXqgzFIlDQErYRn3HSqr6xAG3d/F9VyDXymlz3MhLx6iGyBJwiCQjmxDXNbyv95+tLOhzb9xy2gbHACxwR73K4VpTANLjkDdziWCoJ9v+BapBvAOtU4zundZQYQrPzENS5/U3Ow8kng7BBShneFVHRj4J7550hd6mdG1oHcUxOJ70TU7yTRJdcVK2XsO2meys9CuTEDuaPvNLbgAo72OwDaqVpfv3fooYqFKbuFckeaxHbEK994ML2z4Ae/GntMCO2a3IpH5AQXj+3T0w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ikvUIVVD7Jdc0rntdl62pdakrVq+rqyhTr09oVykQbI=;
 b=XLasQ62WdiKrp6X36n/9oHYuCwQIAY3Jtb9LBS+aLNrPziNS6W7ftBDrFjha/UP1Sl+7cbvTeXNNbDc0E0lPM5ecXnuecUOnBB/qw7mDBrOWgxq2yYnW4pXHnr44RTHn+2elagHNacgBGP2wCosev7iAxGwNLebjBGMyOS15IGWntPKQL79wjhuIS7r2GXk8tDBoPttjXyDmif5/XTq4/VBtykrm7mj6MAG2+iufrX4ICT8o0seh7Drs2oGq41Nrnact/dgAScnv0ZyXe2n6OTVLE8HcPrGbPX+SraW9gPpCUKlrrsnn374VymPAzxk3Cv2dRQ6lNtdqu44GmBSdYg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH] x86/cet: Fix shskt manipulation error with
 BUGFRAME_{warn,run_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>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20210812170350.23543-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <94239a81-1d8a-e6ec-f572-9c8d5f3ec50f@suse.com>
Date: Fri, 13 Aug 2021 16:00:41 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210812170350.23543-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: PR0P264CA0209.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1f::29) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: af2fd814-070c-43fb-af2b-08d95e62bd84
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2608:
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB2608FDF80C83540E6B99A247B3FA9@VI1PR0401MB2608.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	YBbHgZoNNLaYbLL7vHb+h66hDo+NWnoaaFNJcgpuMs1hSZgaVnyo3iSpNDeZmO8NlGZoG6a4gwL6dFzmWrDjEfhpumMq5UCNrj5OJuTarICsBlbpv7Z1L18HBwQhFx2UJ9C9xlUoQufnKgWx7XH/J2bZfOmCA/N34Das0xpYms2IKmCpSY9+d2YYYxCnLPs2Jng7KHyTi2/Ff7x+/f1zQfJzOZfLhneLxegyBGlxGtLjp6onpk3NLZcC5Tfe5uPA/JfpuxFUBbmA/soehjRCJwDT3refrM1KtbxpfdZg0kpfaWfIW+jPOcBGFbMEAKqN7VeivdD7uGtw+V1DyvQtVQ95aq0XkY52ktBWJqGjhkyI6zv6IO9JHupg4yy4Ix0FRZeWDJhaBWAT9hKd17GJQ0T1J+Bxhi9mz+uTwbIl7CDoVOELXz277TChLxJKg4iA1YR7x1r+KmN01EOWxIuF4BlOwAcHCwITAQFUnmV867ul28ZOHO8TjfwdtIKJPonaOUvdakfqkHPsZwOw3hcXHDv0tR/WJ3qdaCUZmIUfSJCwUM4PWDD4sFpwUtv3cYXG5kbiCnGtFeq2c9gVgK3XH0AXEqO85sOvDxf2/2fyE4CCZubrfUL6bknolxpKPdE4HpWndtGCgaO3OEIIy7+2lrDjnZyMDMohFcDoeR6b3NtmgxTAeTjrjMr9MZJZ4DoxAQj1WzEwFJ32oUilSFaC2Q/qy/nkIOGctKzUPDUvEtQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(66574015)(16576012)(38100700002)(316002)(4326008)(54906003)(31686004)(26005)(956004)(36756003)(186003)(86362001)(8676002)(2616005)(5660300002)(6916009)(53546011)(508600001)(31696002)(8936002)(2906002)(83380400001)(6486002)(66946007)(66556008)(66476007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?xQZ54q4XyFXHN21rI71U4rGMRU6bl/zsvxv0SYLpznNTdw9nJDemHSHJ7WD8?=
 =?us-ascii?Q?+IhcnMjxIz+plNjNlCxoaHOttiEQL9h0+hB4pDFlBMEZqqpvDesKIR4GfFr0?=
 =?us-ascii?Q?27/h0HtrSeDNLT8wLDRTAXiflQVbWWJBOf4v3Z4Yvn/V76XfGHXSHD1epiap?=
 =?us-ascii?Q?QJvaOqRdOU3za/zU/X+lpuZfDpNver4Hbvq9GsASV6sDmCFLMJiJQu231Oet?=
 =?us-ascii?Q?mCZ7UE9WpK4d8c+USQg+mLGjosb7dLHM4cJ2ezDzknayJe5B0bMc86rUMRZs?=
 =?us-ascii?Q?kTT2mqj8NpumovVitejO0u+vBB4i17zApb6fCpndOpdgYPnED6qd8E8abMwO?=
 =?us-ascii?Q?lQGy60yh5hzFtaVQ2cC1FuqfvBv2BmORMQAQ/ZoUuC9lMsvaQDlyOajgiSdm?=
 =?us-ascii?Q?BM0upiNymhXzt1YOJum5x0WWDby7L1lzvIgkng+LBgzDMvUjwEMoqeohouQs?=
 =?us-ascii?Q?sZuxNzgu7R/63I8ylBMCVLt74mthjU3NeoMt3nLD64C80TAgA0HvOULiPAdN?=
 =?us-ascii?Q?vGEyjNVmIPiFbg6v2wDpLvFXrkyi2l+15nWTzvRgGCMnSO12Uscbz+AZQJC4?=
 =?us-ascii?Q?gdTUfeY7t+/bPND2WzwmKiRT0XxTxZmYIwXxgi66zK0rdE3xh9gziKkMYNi9?=
 =?us-ascii?Q?Y6lOvStD0MpnN86BxFSkTNIpr47NyOmmqkU0VEztnuLs/UDQhVLuOOdPv5Po?=
 =?us-ascii?Q?1D7sctlWk0mSG7SreOdJePG0Tjs0AdFxLtx+l0URdY0jP+n6EM7ptw2Hqbwp?=
 =?us-ascii?Q?QKu7GmZ77A2qKDzLWUOk/cOGTawsfE/O0WwvKj5EWmjxWqRG7a/aOXBI3eqL?=
 =?us-ascii?Q?lgTIRBCzLlaT6IJWmxPZ2wgM1YeLvQNivOPeJ+CgHiU6GHIKwLwyPb68Vork?=
 =?us-ascii?Q?CKoPdFZ7yXTu1nc2a3Uads4g/89XYQXQOetRn4CrjNG9uUPI5JYBjYFP6Y/S?=
 =?us-ascii?Q?tF95Kj0V2mAySMxolB/P8SPeH2ozKXxZLyoQVIU2uBMJmAI02Uncfkn9xtyg?=
 =?us-ascii?Q?65g5wsj87AwvJyMx0ALsK5uKQpqyhW0zgDl8pNMaVE7mSkmKROUJSeXjWTLw?=
 =?us-ascii?Q?ymkuL4kOEmV2K4wROCBxC1+LRlQ10MvYiT+bC1zg3nnkHTLqcXRL5apgFVdN?=
 =?us-ascii?Q?6yWv2FH2AGrxR2Sgri+1ilgJu8ApgOT1b1+aWVUPiCOWfYy7BpRlA631FHRp?=
 =?us-ascii?Q?fgORVVTeJQJT3XkZizUeAb5f+gWxtMEzY0WQ67v577+gDYRcibVcQrrD0dki?=
 =?us-ascii?Q?y5mSvwY8HmR5FzfgQrN+xEyzRHyJ1HWc/3S78+xqbAwwodnlq/fVfHTb3UOM?=
 =?us-ascii?Q?usRJuRb5z4qPv2XIUrD8ZwAY?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: af2fd814-070c-43fb-af2b-08d95e62bd84
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2021 14:00:43.0480
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: B91qx9g7rTxpfCYs+E2C3vQoW24Mcwp1CYGyjyOkWbGQb1eA3otS4gGrZfjsxZkWRRj1uoP0JWrbQHWTLk+3WA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2608

On 12.08.2021 19:03, Andrew Cooper wrote:
> This was a clear oversight in the original CET work.  The BUGFRAME_run_fn=
 and
> BUGFRAME_warn paths update regs->rip without an equivlenet adjustment to =
the
> shadow stack, causes IRET to suffer #CP due to the mismatch.
>=20
> One subtle, and therefore fragile, aspect of extable_shstk_fixup() was th=
at it
> required regs->rip to have its old value as a cross-check that the correc=
t
> word in the shadow stack was being adjusted.
>=20
> Rework extable_shstk_fixup() into fixup_exception_return() which takes
> ownership of the update to both the regular and shadow stacks, ensuring t=
hat
> the regs->rip update is ordered suitably.
>=20
> Use the new fixup_exception_return() for BUGFRAME_run_fn and BUGFRAME_war=
n to
> ensure that the shadow stack is updated too.
>=20
> Fixes: 209fb9919b50 ("x86/extable: Adjust extable handling to be shadow s=
tack compatible")
> Reported-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab=
.com>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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

> I'm not a massive fan of the large ifdef area.  The logic could be rearra=
nged
> to use IS_ENABLED(CONFIG_XEN_SHSTK) by indenting most of the function, bu=
t I
> can't see any way to drop the goto's, and this is certainly the least-inv=
asive
> diff.

It's not really neat, but we've got worse code elsewhere.

I wonder whether gdb_arch_resume() and gdb_arch_write_reg() also
need some sort of similar adjustment.

Jan



From xen-devel-bounces@lists.xenproject.org Fri Aug 13 14:06:55 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 14:06:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166818.304502 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEXpj-0001Wy-Pa; Fri, 13 Aug 2021 14:06:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166818.304502; Fri, 13 Aug 2021 14:06:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEXpj-0001Wr-MV; Fri, 13 Aug 2021 14:06:51 +0000
Received: by outflank-mailman (input) for mailman id 166818;
 Fri, 13 Aug 2021 14:06:49 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ewIu=NE=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mEXph-0001Wl-NQ
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 14:06:49 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id b2d9c336-fc3f-11eb-a2b1-12813bfff9fa;
 Fri, 13 Aug 2021 14:06:48 +0000 (UTC)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2051.outbound.protection.outlook.com [104.47.13.51]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-34-A5Bv7XI8Pl6ItAX6ZG0UGQ-1; Fri, 13 Aug 2021 16:06:46 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0401MB2336.eurprd04.prod.outlook.com (2603:10a6:800:27::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13; Fri, 13 Aug
 2021 14:06:44 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.019; Fri, 13 Aug 2021
 14:06:44 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR10CA0016.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:17c::26) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15 via Frontend
 Transport; Fri, 13 Aug 2021 14:06:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b2d9c336-fc3f-11eb-a2b1-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1628863607;
	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=ruYCt2JKyn4B3mc286X/id6dOyCoYFUnChvb27HZxc8=;
	b=F8wYTpl/KzGUT00fEqlq6xoodUGO++AFrmRKK+edTPILe9Cjn3917WgI8LXXvURHhbHRgc
	O8m8ST+zRq62uwC7Ro4WLpgwPiuIsLolNAfNEQ3QrFSAtydM3eMSJRzqy7VygDa40WM2lR
	wO+906qvaMwUqlsMCPCAylBHR6G8XsM=
X-MC-Unique: A5Bv7XI8Pl6ItAX6ZG0UGQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VA+tjZxMBvhRIJHtocQ5p9ha/EnGK55hJvyzeGzKK4cYuewlpRHKmOEdI3nQZLciKNVw1Qz2N0t4IUn3M/o1CVuG8qPnf0uOodXqs3iY4muWCSfawKWHQVBl/UoMHyu+EI6DD5s9lEcQaqbiuC5KAe9E7SVww4c8XB8wfXfbO+Z7s6hKv0nqa/kLTp0Oa43F3xEORHClUDj/7SEWTE9xaipLXDutJdXrXFAvbmw3b5THw7r7BDXw9kssapwgbpUwp56mH1Gbrse/Xq8Nu0067ubGZQN0IGsZ7IG1lmHLW0Y6nbuhmBKflZIrYuTBcjkBsdly9JYc/aLkWdlVpzE54g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ruYCt2JKyn4B3mc286X/id6dOyCoYFUnChvb27HZxc8=;
 b=RVohmispn5LSCLgzbgAXDv0qCwvzAWhlPOUtLkrNUYgIuHm7XWLrTjKFqufUN4r+U3B5BYK6lZqtrzr5yS1L0EXOx9oBiW9sKbDqcow/Ok7ne6SnRRG3IGg9pnhjn37wCvXiUVnWphr+6Dp9W53+MYQqA9aekFg4DueGABmLV6g/MVyzyTHPkC3sIiHTXVPLZJeg2nc8r9oYxZqzRh/JmbnSOojEt2lG6CyA2EtFn3e/p/kNRbiK0nm00hxVkH8qWf+P5GoX6uWDacK4IvNmu1mtfyy15vJk+6m9Wmz5H/lT+SKJtW3np1W2AbR7Mjw6R/Jg2z+9H7LRzJ3Xl5Bzkg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH] x86/pv: remove unnecessary use of goto out in
 construct_dom0()
To: Jane Malalane <jane.malalane@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20210813110224.14820-1-jane.malalane@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <18136ae8-cb66-0bc8-e5de-b1117b2f1c19@suse.com>
Date: Fri, 13 Aug 2021 16:06:43 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210813110224.14820-1-jane.malalane@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM0PR10CA0016.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:208:17c::26) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b25b325e-7295-4e35-4aea-08d95e639516
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2336:
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB233649F1CF1B3F3CD497FEEAB3FA9@VI1PR0401MB2336.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:311;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TO2REO7eACmd8eT8jUMS8YV3nKIpqep7RAq59UBH5Jk+gPR9dL6XzK0CLUljo+Rpp3ZagUwd/MtA7cYPlj074Gh4mYCwgyUnyP3cqxzQYv9kiOdP1r678nr6Pcw1BzoxZX3uyUvA+Oy/A/WHwXmkwHEruRy9nh7Sg9kKVTl6qj+0UM9Dwz/zh+WGTtYS8dGt1sH0JY5rqQSv4gOmjPV74VLZGwxEt+krdquJuMWWM+ksW5BNQeE+rJgW9ejQDkMhZJa+hBFJld8FtXHIWx2x0NGGmgfZg4AzfHZzNB7t1RQ6h0VMYgvU77h9I8MyIaStp6CrI1yfrYsqVt1c/gs0SqO0l7Ct/fX3iBg3R8oXz63HJfEJpYGI/bSq4zRFteJrVE+VAafuvOvJwMmkm6+1RrpnEHqypMtjMN4OdW9zlFo45L1qjWsGtG4Vk/Q2afe+rOmuvctqEjfsl6be7j8ki/RLb91aJuWz2O2xx9RoqZpfHRHXDOkIIbo7uDS6QJR3WFtbqzIYvERRzXGlallYkVxgQ3pZKiqTedG1X2aEcIkohJXLAXPxvxaBQ0AJvVRmL+Y8iCoxsNCK8j1BZHkWp6z4eiuw0+gHbqnDbY4o+zKvVjHKBTbDQos8mfjfSOHLTj2XiLeZafj3pa2DGi0MtTKljP1JPNVyPuYoqxy8NvL40s1mm9QR72c12GUAJ2kZ3QCPndDmWBU5bcFFw4Q/v6wYnnpnk9Ln8f5ukomnQw8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(39850400004)(376002)(136003)(346002)(366004)(396003)(86362001)(66946007)(66556008)(316002)(6916009)(4744005)(31696002)(2616005)(6486002)(4326008)(5660300002)(8936002)(2906002)(54906003)(83380400001)(26005)(8676002)(38100700002)(186003)(31686004)(956004)(478600001)(66476007)(53546011)(36756003)(16576012)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SVoyajI3anl5cVp6SUdCTkZKQW1zU2dnZkhkRlB0dVoxcWdlQzRmdmhDZ1lX?=
 =?utf-8?B?NTRCdndjZzM4a2RMSmVuR281aFdxNnNBeEJaTkxKdUtZNHJyb0ZlRjAzbmJT?=
 =?utf-8?B?ZGpLYWpDa1NoODB4cXMzUTBlc080bHlNQzhMV0toRHczS09SSmJIRnZkWHRH?=
 =?utf-8?B?U251anZsbG5SWUFQcUFyVWRBemdwYzA2bzc4NE9VRUtDTVp2c3EvcTIrRUcv?=
 =?utf-8?B?MHV2bS9GcUV3S2N4b0ZlQTBZSTVaUEdHK0w5Rm9qL1JuTzVndmc4MXAxbHJF?=
 =?utf-8?B?eFhIRVNYb1dZakIzVlN6VFg4L1diL1g2ci9aQzNVSWhMaGIxeWwrWEV0UEx6?=
 =?utf-8?B?czJpR3NUUERwVFZMcERndHhSY2tuWXpZU3ppZ1hpekV5SEVaNllPT29rbDFu?=
 =?utf-8?B?UkNIRWtpaWg3UXlxdi9oL2kweEI0N0tkc0hrN1FTVis1T2E4TWtSVCtuYy95?=
 =?utf-8?B?ZUJDWWVNRXErU3JBdExiYWVsZEl1QnVDR0hXS3JQcWJRam5jZXorUHlMQ1Ns?=
 =?utf-8?B?VEFrN2tzY0RrT0ZzTFpSVGcxSzN0UFhWV3FvVVdmTmhncTFETnU0SGFOOXU3?=
 =?utf-8?B?Q0piZGtMNUVYMENTbTVNMkdRWVVQRW9hSkVrWmRFUGhieXBPRmxZaUVYdmo4?=
 =?utf-8?B?S2lCMmxURGhybWl1clVYeTBuZ3k3bmlnTHhzeVR0UUV4c2ZSTGo0dEg2Q1dr?=
 =?utf-8?B?NVcyMVB5MkNGUXNYY1dGOFRVd09DSVlBWWZkSGNNVk1FWW9ON1d3VkpZZ2Vj?=
 =?utf-8?B?Q2JldkU2b0J4bExiT3A5c0FpQjFRWXNyUEI0VXFoMnI0MERzaVV2ZkVJbHRr?=
 =?utf-8?B?YTNxZEpvTUxaaWh0UURidWs3YVlQQ3NzWksrNXEzUEUzMEJDeUdpbnIyaW1t?=
 =?utf-8?B?YWtJT3lpbDFtTDlZUHpkS3JCRXhBb3RnT0xTeG15bnY4aFlVem5xb0JrcVFm?=
 =?utf-8?B?RTRGbldEbHh3dFZmUVU2OEJGOTUyTVBYT3NOdjFleXErNXlRenQ1dkhlT2J6?=
 =?utf-8?B?cmZ0Ky9lblZ3Y3BFbTBoUmZwL0liUW5nZ1JPUjZGSXpSTk1xYXc5L2pmaEpW?=
 =?utf-8?B?aDFtbDNMcVA4RVA1bmg0UVUvWmtpK2pPZGF6akxYVTVhcjJMc0pqeTRKTWw4?=
 =?utf-8?B?ZlhLY1ZQbnNhWGNBaElYdVRZNjk5VXF2cTlFdFFZZ20zUkt0OEpaQU8zWDdB?=
 =?utf-8?B?SmtPL1pvNG15SlZzYm5sWmlTcHNxK0N6M0owSmxXdDY4UGtoTnh1ZWJzeTJD?=
 =?utf-8?B?T1ZVWHpXRmpQMDF4bThpYTNoVTFzU3MvNEFqdHIxclNxejhhZ0JLeWE4MHJQ?=
 =?utf-8?B?dXJBWXRDaU4yRkhnckQ5dVdrTllLWFZBVnpGWWp1ZTEzZkRuNjk3N08rd3NH?=
 =?utf-8?B?QUVITXpvbTBUelVuVzhlZUJiV2JBVWNybzF3a0FERVlFVWFwRXBmRXpQL3RS?=
 =?utf-8?B?d3ZMMk5DdG1HVFdIOHZ1K2JrYUNJMmdYZmJZdkJ1ZVExbUFOdWJoRUcwVjZz?=
 =?utf-8?B?RlVJQ0JlaU1ZL3pXenYvN2M1ajRYT0lvaXdZWHI1UVI3ZXl5Mm15akRRRXI0?=
 =?utf-8?B?M09PaGdRdlA4OTJtT3IvaEpxY0VKOTZlRHl6TnNsZFkxTis1RTNzbkNzQVRm?=
 =?utf-8?B?TUFQSEhIWXF3bE15YVpXQ0xpV1J5OUFteXhDY1JwMlhrUlpGeGltejJyT0lB?=
 =?utf-8?B?V1c2OGJ6d3RLNHNaSFRZVU5MTnMxQ3lVelFaelVtTGpSem1ManlUOVRISkZU?=
 =?utf-8?Q?lJt/43bymYFUSC2+gsy3PalH1UxKtMZcCazAHGb?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b25b325e-7295-4e35-4aea-08d95e639516
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2021 14:06:44.7194
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5MSsKLAprPrVcQmGHRk3qJmplv3BrywT+z911RSyW4dKYg8rwyhpjJXp3lsVR5txvH6KxNebYJ/dTpFCCT0OuQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2336

On 13.08.2021 13:02, Jane Malalane wrote:
> --- a/xen/arch/x86/pv/dom0_build.c
> +++ b/xen/arch/x86/pv/dom0_build.c
> @@ -379,8 +379,7 @@ int __init dom0_construct_pv(struct domain *d,
>          }
>  #else
>          printk("Found 32-bit PV kernel, but CONFIG_PV32 missing\n");
> -        rc = -ENODEV;
> -        goto out;
> +        return -ENODEV;
>  #endif
>      }

Afaict here you're fixing up your own earlier patch, which hasn't gone
in yet. I did expect you to alter that patch and resubmit, to then
omit this hunk here (again in a resubmission). With that the patch here
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Note that generally when a patch depends on another one which hasn't
been committed yet, you'd point out this fact in a post-commit-message
remark, so that reviewers (and possibly committer) are aware.

Jan



From xen-devel-bounces@lists.xenproject.org Fri Aug 13 14:51:48 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 14:51:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166824.304514 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEYX1-0006E1-90; Fri, 13 Aug 2021 14:51:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166824.304514; Fri, 13 Aug 2021 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 1mEYX1-0006Du-5N; Fri, 13 Aug 2021 14:51:35 +0000
Received: by outflank-mailman (input) for mailman id 166824;
 Fri, 13 Aug 2021 14:51:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mEYX0-0006Dk-AJ; Fri, 13 Aug 2021 14:51:34 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mEYX0-00083V-50; Fri, 13 Aug 2021 14:51: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 1mEYWz-0003DX-Pi; Fri, 13 Aug 2021 14:51:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mEYWz-0007as-P7; Fri, 13 Aug 2021 14:51:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=+Dmp8PD1FgIKEMqTsoi50T1y5nc4zhlK/kS9wGHBi14=; b=FWW1hJduRBM6Ie0VDIByu21T+Y
	+0eKC0FtUG+IyJMBH2ionvNXw8QSD4VEo3KWoGzkqkiomU4rflJB1x6LLTPncDYtiJkjO7ZsXp6qD
	q8pAnzCdVRVaJH3IZKWRqGUuMPAaxG+MJZ7EFiusq9T8xPiDhSraHFTcYFIaV2FHrxQw=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164174-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 164174: trouble: broken/fail/pass
X-Osstest-Failures:
    linux-5.4:test-armhf-armhf-xl-arndale:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-rtds:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-arndale:host-install(5):broken:regression
    linux-5.4:test-armhf-armhf-xl-vhd:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-multivcpu:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-multivcpu:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-vhd:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:guest-start/debianhvm.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check: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-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check: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-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-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-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-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1: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-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-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-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-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=a998faa9c4cee7dc68f3f6f82be93bbb99dda322
X-Osstest-Versions-That:
    linux=e350cd02e293be9a6b93398b2d3ff1edf7695ab2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 13 Aug 2021 14:51:33 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl-arndale     <job status>                 broken
 test-armhf-armhf-xl-rtds        <job status>                 broken
 test-armhf-armhf-xl-arndale   5 host-install(5)        broken REGR. vs. 164131
 test-armhf-armhf-xl-vhd         <job status>                 broken  in 164170
 test-armhf-armhf-xl-multivcpu    <job status>                 broken in 164170

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-multivcpu 5 host-install(5) broken in 164170 pass in 164174
 test-armhf-armhf-xl-vhd      5 host-install(5) broken in 164170 pass in 164174
 test-armhf-armhf-xl-rtds      5 host-install(5)          broken pass in 164170
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 20 guest-start/debianhvm.repeat fail pass in 164170
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 164170

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-rtds    15 migrate-support-check fail in 164170 never pass
 test-armhf-armhf-xl-rtds 16 saverestore-support-check fail in 164170 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164131
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 164131
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 164131
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164131
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164131
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164131
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 164131
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164131
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 164131
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164131
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164131
 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-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-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-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-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-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                a998faa9c4cee7dc68f3f6f82be93bbb99dda322
baseline version:
 linux                e350cd02e293be9a6b93398b2d3ff1edf7695ab2

Last test of basis   164131  2021-08-08 07:11:59 Z    5 days
Testing same since   164167  2021-08-12 11:47:56 Z    1 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex Xu (Hello71) <alex_y_xu@yahoo.ca>
  Alexander Monakov <amonakov@ispras.ru>
  Alexander Tsoy <alexander@tsoy.me>
  Alexei Starovoitov <ast@kernel.org>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Anirudh Rayabharam <mail@anirudhrb.com>
  Antoine Tenart <atenart@kernel.org>
  Arnd Bergmann <arnd@arndb.de>
  Bartosz Golaszewski <bgolaszewski@baylibre.com>
  Brian Norris <briannorris@chromium.org>
  Catalin Marinas <catalin.marinas@arm.com>
  Chanho Park <chanho61.park@samsung.com>
  chihhao.chen <chihhao.chen@mediatek.com>
  Christoph Hellwig <hch@lst.de>
  Colin Ian King <colin.king@canonical.com>
  Dan Carpenter <dan.carpenter@oracle.com>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniele Palmas <dnlplm@gmail.com>
  Dario Binacchi <dariobin@libero.it>
  David Bauer <mail@david-bauer.net>
  David S. Miller <davem@davemloft.net>
  Dmitry Osipenko <digetx@gmail.com>
  Dominik Brodowski <linux@dominikbrodowski.net>
  Dongliang Mu <mudongliangabcd@gmail.com>
  Eero Lehtinen <debiangamer2@gmail.com>
  Fei Qin <fei.qin@corigine.com>
  Felipe Balbi <balbi@kernel.org>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Gregory CLEMENT <gregory.clement@bootlin.com>
  Guenter Roeck <linux@roeck-us.net>
  Guido Kiener <guido.kiener@rohde-schwarz.com>
  Guoqing Jiang <jiangguoqing@kylinos.cn>
  H. Nikolaus Schaller <hns@goldelico.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Hervé Codina <herve.codina@bootlin.com>
  Hui Su <suhui@zeku.com>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jan Kara <jack@suse.cz>
  Jarkko Sakkinen <jarkko@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jens Wiklander <jens.wiklander@linaro.org>
  Johan Hovold <johan@kernel.org>
  Johannes Berg <johannes.berg@intel.com>
  Jon Hunter <jonathanh@nvidia.com>
  Juergen Borleis <jbe@pengutronix.de>
  Kieran Bingham <kieran.bingham@ideasonboard.com>
  Kim Phillips <kim.phillips@amd.com>
  Letu Ren <fantasquex@gmail.com>
  Li Manyi <limanyi@uniontech.com>
  Liam Merwick <liam.merwick@oracle.com>
  Like Xu <likexu@tencent.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Louis Peens <louis.peens@corigine.com>
  Luis Chamberlain <mcgrof@kernel.org>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Maciej W. Rozycki <macro@orcam.me.uk>
  Marek Vasut <marex@denx.de>
  Mario Kleiner <mario.kleiner.de@gmail.com>
  Mark Brown <broonie@kernel.org>
  Mark Rutland <mark.rutland@arm.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Matt Turner <mattst88@gmail.com>
  Matteo Croce <mcroce@microsoft.com>
  Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
  Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Maxim Devaev <mdevaev@gmail.com>
  Maxime Chevallier <maxime.chevallier@bootlin.com>
  Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Pali Rohár <pali@kernel.org>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Skripkin <paskripkin@gmail.com>
  Pawel Laszczak <pawell@cadence.com>
  Peter Chen <peter.chen@kernel.org>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Phil Elwell <phil@raspberrypi.com>
  Prarit Bhargava <prarit@redhat.com>
  Qiang.zhang <qiang.zhang@windriver.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Sasha Levin <sashal@kernel.org>
  Sean Christopherson <seanjc@google.com>
  Sean Young <sean@mess.org>
  Sebastian Andrzej Siewior <bigeasy@linutronix.de>
  Shawn Guo <shawnguo@kernel.org>
  Shreyansh Chouhan <chouhan.shreyansh630@gmail.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Song Liu <song@kernel.org>
  Stas Sergeev <stsp2@yandex.ru>
  Stephen Boyd <sboyd@kernel.org>
  Steve Bennett <steveb@workware.net.au>
  Steven Rostedt (VMware) <rostedt@goodmis.org>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  syzbot+de271708674e2093097b@syzkaller.appspotmail.com
  Takashi Iwai <tiwai@suse.de>
  Tejun Heo <tj@kernel.org>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Theodore Ts'o <tytso@mit.edu>
  Thierry Reding <treding@nvidia.com>
  Thomas Gleixner <tglx@linutronix.de>
  Tony Lindgren <tony@atomide.com>
  Tyler Hicks <tyhicks@linux.microsoft.com>
  Vinod Koul <vkoul@kernel.org>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Wang Hai <wanghai38@huawei.com>
  Wei Shuyu <wsy@dogben.com>
  Will Deacon <will@kernel.org>
  Willy Tarreau <w@1wt.eu>
  Xiangyang Zhang <xyz.sun.ok@gmail.com>
  Xin Long <lucien.xin@gmail.com>
  Yang Yingliang <yangyingliang@huawei.com>
  Yu Kuai <yukuai3@huawei.com>
  Zheyu Ma <zheyuma97@gmail.com>
  Zhiyong Tao <zhiyong.tao@mediatek.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  broken  
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-amd64-pvgrub                                pass    
 test-amd64-amd64-i386-pvgrub                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     broken  
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-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-armhf-armhf-xl-vhd                                      pass    


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

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

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

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

broken-job test-armhf-armhf-xl-arndale broken
broken-job test-armhf-armhf-xl-rtds broken
broken-step test-armhf-armhf-xl-arndale host-install(5)
broken-step test-armhf-armhf-xl-rtds host-install(5)
broken-job test-armhf-armhf-xl-vhd broken
broken-job test-armhf-armhf-xl-multivcpu broken
broken-job test-armhf-armhf-xl-arndale broken

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Fri Aug 13 15:46:48 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 15:46:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166835.304540 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEZOK-0002xh-GT; Fri, 13 Aug 2021 15:46:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166835.304540; Fri, 13 Aug 2021 15: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 1mEZOK-0002xa-DM; Fri, 13 Aug 2021 15:46:40 +0000
Received: by outflank-mailman (input) for mailman id 166835;
 Fri, 13 Aug 2021 15:46:38 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=reJ5=NE=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mEZOI-0002xU-Od
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 15:46:38 +0000
Received: from mail-pl1-x630.google.com (unknown [2607:f8b0:4864:20::630])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id d0994bb2-0e62-4ebc-8ca5-04c84c38392a;
 Fri, 13 Aug 2021 15:46:37 +0000 (UTC)
Received: by mail-pl1-x630.google.com with SMTP id q2so12454372plr.11
 for <xen-devel@lists.xenproject.org>; Fri, 13 Aug 2021 08:46:37 -0700 (PDT)
Received: from ?IPv6:2404:f801:0:5:8000::50b? ([2404:f801:9000:18:efec::50b])
 by smtp.gmail.com with ESMTPSA id
 g26sm3345160pgb.45.2021.08.13.08.46.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 13 Aug 2021 08:46: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: d0994bb2-0e62-4ebc-8ca5-04c84c38392a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:subject:to:cc:references:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=wKFFzJ6O/UU/EGmVRS4t6oCyritoPh4g9td5WczAyTo=;
        b=gpOB0Y8XQiqz1aLvaU6jIg9RPMX5OaDCdWoo9W0/Q2q+kzIydjrOBlFyjP7UzB3kKu
         pKC5fQKwcstAd0YQI+OOMc+Hph81qJBcgd6a6j/eZV4DZzaRXi8P0eE9TkqFFEfuP6Fs
         nqc3F+blWCYXnhrDhS5Xax0X9UD9UA1rqQ97e73U530OMewKqtQ32RmFCPlsK9QLyJDd
         JzDYB4UO2udw85z6h2dZ4RGC4/E80VSb0OqYVuR0Ko6CkL954JcBoU8gKe0yErZye0/l
         hpIPQs5WrePOhscpt5NogL/l9EEbPoUJkMopea8nPd8pJVwp5GuAwu7eXpiJmMd23C80
         v3rQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:subject:to:cc:references:message-id:date
         :user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=wKFFzJ6O/UU/EGmVRS4t6oCyritoPh4g9td5WczAyTo=;
        b=WSZcJc1ik4W4l9DZ51Nf4mE2aOJGRlGMreL8HpuXv82UuBSMVeaIztMHohUbPowEcp
         X/ptLYAERwySEwTskYx7BrjnddP0Mh4gvNECNLhiTGpnNSdrQLpRb25fKwwDsHslfJ7x
         2XGsXIO6UppNGZRslLhDsOq6DUTyvXKe+Yz0tW+enYZNd2zgwu/qkSx1Q4cr3FaxAfgT
         FDlrp4t2q/elGF9WW6VGxtY4ksAxR8SMT/hpspF46uQYqZ6yXbnMq2WNM4XHieUXI0wc
         TuRKbVXcyeGhw2c+PQyvRlngH8xKHM9Tt3FKVtubORrWRyEgqe5U8dS3+6TUZiBJpw4l
         Tf4Q==
X-Gm-Message-State: AOAM533FOwipmtSzOxOUm4SkRzCZ/Uct/TMKK+UBlt2V8NrL+5On7S4j
	Y3CSUtQeBai/NYn7NIqZMow=
X-Google-Smtp-Source: ABdhPJzk13A/+fCbnakCVSOwZJNHKGdKPt2T4sFIbI1aKCvZDK2x7JFoHkEcCMPEgs+3McCqxtRHYw==
X-Received: by 2002:a65:6894:: with SMTP id e20mr2777702pgt.419.1628869596537;
        Fri, 13 Aug 2021 08:46:36 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
Subject: Re: [PATCH V3 01/13] x86/HV: Initialize GHCB page in Isolation VM
To: Michael Kelley <mikelley@microsoft.com>, KY Srinivasan
 <kys@microsoft.com>, Haiyang Zhang <haiyangz@microsoft.com>,
 Stephen Hemminger <sthemmin@microsoft.com>,
 "wei.liu@kernel.org" <wei.liu@kernel.org>, Dexuan Cui <decui@microsoft.com>,
 "tglx@linutronix.de" <tglx@linutronix.de>,
 "mingo@redhat.com" <mingo@redhat.com>, "bp@alien8.de" <bp@alien8.de>,
 "x86@kernel.org" <x86@kernel.org>, "hpa@zytor.com" <hpa@zytor.com>,
 "dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
 "luto@kernel.org" <luto@kernel.org>,
 "peterz@infradead.org" <peterz@infradead.org>,
 "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
 "boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>,
 "jgross@suse.com" <jgross@suse.com>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>,
 "joro@8bytes.org" <joro@8bytes.org>, "will@kernel.org" <will@kernel.org>,
 "davem@davemloft.net" <davem@davemloft.net>,
 "kuba@kernel.org" <kuba@kernel.org>, "jejb@linux.ibm.com"
 <jejb@linux.ibm.com>, "martin.petersen@oracle.com"
 <martin.petersen@oracle.com>, "arnd@arndb.de" <arnd@arndb.de>,
 "hch@lst.de" <hch@lst.de>,
 "m.szyprowski@samsung.com" <m.szyprowski@samsung.com>,
 "robin.murphy@arm.com" <robin.murphy@arm.com>,
 "thomas.lendacky@amd.com" <thomas.lendacky@amd.com>,
 "brijesh.singh@amd.com" <brijesh.singh@amd.com>,
 "ardb@kernel.org" <ardb@kernel.org>, Tianyu Lan <Tianyu.Lan@microsoft.com>,
 "pgonda@google.com" <pgonda@google.com>,
 "martin.b.radev@gmail.com" <martin.b.radev@gmail.com>,
 "akpm@linux-foundation.org" <akpm@linux-foundation.org>,
 "kirill.shutemov@linux.intel.com" <kirill.shutemov@linux.intel.com>,
 "rppt@kernel.org" <rppt@kernel.org>,
 "sfr@canb.auug.org.au" <sfr@canb.auug.org.au>,
 "saravanand@fb.com" <saravanand@fb.com>,
 "krish.sadhukhan@oracle.com" <krish.sadhukhan@oracle.com>,
 "aneesh.kumar@linux.ibm.com" <aneesh.kumar@linux.ibm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "rientjes@google.com" <rientjes@google.com>,
 "hannes@cmpxchg.org" <hannes@cmpxchg.org>, "tj@kernel.org" <tj@kernel.org>
Cc: "iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org>,
 "linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
 "linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
 "linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
 "netdev@vger.kernel.org" <netdev@vger.kernel.org>,
 vkuznets <vkuznets@redhat.com>,
 "parri.andrea@gmail.com" <parri.andrea@gmail.com>,
 "dave.hansen@intel.com" <dave.hansen@intel.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-2-ltykernel@gmail.com>
 <MWHPR21MB1593BDFA4A71CE6882E25400D7F99@MWHPR21MB1593.namprd21.prod.outlook.com>
Message-ID: <ec1b8b47-46b7-910e-df87-584bce585999@gmail.com>
Date: Fri, 13 Aug 2021 23:46:20 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <MWHPR21MB1593BDFA4A71CE6882E25400D7F99@MWHPR21MB1593.namprd21.prod.outlook.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 8bit

Hi Michael:
      Thanks for your review.

On 8/13/2021 3:14 AM, Michael Kelley wrote:
> From: Tianyu Lan <ltykernel@gmail.com> Sent: Monday, August 9, 2021 10:56 AM
>> Subject: [PATCH V3 01/13] x86/HV: Initialize GHCB page in Isolation VM
> 
> The subject line tag on patches under arch/x86/hyperv is generally "x86/hyperv:".
> There's some variation in the spelling of "hyperv", but let's go with the all
> lowercase "hyperv".

OK. Will update.

> 
>>
>> Hyper-V exposes GHCB page via SEV ES GHCB MSR for SNP guest
>> to communicate with hypervisor. Map GHCB page for all
>> cpus to read/write MSR register and submit hvcall request
>> via GHCB.
>>
>> Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
>> ---
>>   arch/x86/hyperv/hv_init.c       | 66 +++++++++++++++++++++++++++++++--
>>   arch/x86/include/asm/mshyperv.h |  2 +
>>   include/asm-generic/mshyperv.h  |  2 +
>>   3 files changed, 66 insertions(+), 4 deletions(-)
>>
>> diff --git a/arch/x86/hyperv/hv_init.c b/arch/x86/hyperv/hv_init.c
>> index 708a2712a516..0bb4d9ca7a55 100644
>> --- a/arch/x86/hyperv/hv_init.c
>> +++ b/arch/x86/hyperv/hv_init.c
>> @@ -20,6 +20,7 @@
>>   #include <linux/kexec.h>
>>   #include <linux/version.h>
>>   #include <linux/vmalloc.h>
>> +#include <linux/io.h>
>>   #include <linux/mm.h>
>>   #include <linux/hyperv.h>
>>   #include <linux/slab.h>
>> @@ -42,6 +43,31 @@ static void *hv_hypercall_pg_saved;
>>   struct hv_vp_assist_page **hv_vp_assist_page;
>>   EXPORT_SYMBOL_GPL(hv_vp_assist_page);
>>
>> +static int hyperv_init_ghcb(void)
>> +{
>> +	u64 ghcb_gpa;
>> +	void *ghcb_va;
>> +	void **ghcb_base;
>> +
>> +	if (!ms_hyperv.ghcb_base)
>> +		return -EINVAL;
>> +
>> +	/*
>> +	 * GHCB page is allocated by paravisor. The address
>> +	 * returned by MSR_AMD64_SEV_ES_GHCB is above shared
>> +	 * ghcb boundary and map it here.
>> +	 */
>> +	rdmsrl(MSR_AMD64_SEV_ES_GHCB, ghcb_gpa);
>> +	ghcb_va = memremap(ghcb_gpa, HV_HYP_PAGE_SIZE, MEMREMAP_WB);
>> +	if (!ghcb_va)
>> +		return -ENOMEM;
>> +
>> +	ghcb_base = (void **)this_cpu_ptr(ms_hyperv.ghcb_base);
>> +	*ghcb_base = ghcb_va;
>> +
>> +	return 0;
>> +}
>> +
>>   static int hv_cpu_init(unsigned int cpu)
>>   {
>>   	union hv_vp_assist_msr_contents msr = { 0 };
>> @@ -85,6 +111,8 @@ static int hv_cpu_init(unsigned int cpu)
>>   		}
>>   	}
>>
>> +	hyperv_init_ghcb();
>> +
>>   	return 0;
>>   }
>>
>> @@ -177,6 +205,14 @@ static int hv_cpu_die(unsigned int cpu)
>>   {
>>   	struct hv_reenlightenment_control re_ctrl;
>>   	unsigned int new_cpu;
>> +	void **ghcb_va = NULL;
> 
> I'm not seeing any reason why this needs to be initialized.
> 
>> +
>> +	if (ms_hyperv.ghcb_base) {
>> +		ghcb_va = (void **)this_cpu_ptr(ms_hyperv.ghcb_base);
>> +		if (*ghcb_va)
>> +			memunmap(*ghcb_va);
>> +		*ghcb_va = NULL;
>> +	}
>>
>>   	hv_common_cpu_die(cpu);
>>
>> @@ -383,9 +419,19 @@ void __init hyperv_init(void)
>>   			VMALLOC_END, GFP_KERNEL, PAGE_KERNEL_ROX,
>>   			VM_FLUSH_RESET_PERMS, NUMA_NO_NODE,
>>   			__builtin_return_address(0));
>> -	if (hv_hypercall_pg == NULL) {
>> -		wrmsrl(HV_X64_MSR_GUEST_OS_ID, 0);
>> -		goto remove_cpuhp_state;
>> +	if (hv_hypercall_pg == NULL)
>> +		goto clean_guest_os_id;
>> +
>> +	if (hv_isolation_type_snp()) {
>> +		ms_hyperv.ghcb_base = alloc_percpu(void *);
>> +		if (!ms_hyperv.ghcb_base)
>> +			goto clean_guest_os_id;
>> +
>> +		if (hyperv_init_ghcb()) {
>> +			free_percpu(ms_hyperv.ghcb_base);
>> +			ms_hyperv.ghcb_base = NULL;
>> +			goto clean_guest_os_id;
>> +		}
> 
> Having the GHCB setup code here splits the hypercall page setup into
> two parts, which is unexpected.  First the memory is allocated
> for the hypercall page, then the GHCB stuff is done, then the hypercall
> MSR is setup.  Is there a need to do this split?  Also, if the GHCB stuff
> fails and you goto clean_guest_os_id, the memory allocated for the
> hypercall page is never freed.


Just not enable hypercall when fails to setup ghcb. Otherwise, we need 
to disable hypercall in the failure code path.

Yes，hypercall page should be freed in the clean_guest_os_id path.

> 
> It's also unexpected to have hyperv_init_ghcb() called here and called
> in hv_cpu_init().  Wouldn't it be possible to setup ghcb_base *before*
> cpu_setup_state() is called, so that hv_cpu_init() would take care of
> calling hyperv_init_ghcb() for the boot CPU?  That's the pattern used
> by the VP assist page, the percpu input page, etc.

I will have a try and report back. Thanks for suggestion.

> 
>>   	}
>>
>>   	rdmsrl(HV_X64_MSR_HYPERCALL, hypercall_msr.as_uint64);
>> @@ -456,7 +502,8 @@ void __init hyperv_init(void)
>>   	hv_query_ext_cap(0);
>>   	return;
>>
>> -remove_cpuhp_state:
>> +clean_guest_os_id:
>> +	wrmsrl(HV_X64_MSR_GUEST_OS_ID, 0);
>>   	cpuhp_remove_state(cpuhp);
>>   free_vp_assist_page:
>>   	kfree(hv_vp_assist_page);
>> @@ -484,6 +531,9 @@ void hyperv_cleanup(void)
>>   	 */
>>   	hv_hypercall_pg = NULL;
>>
>> +	if (ms_hyperv.ghcb_base)
>> +		free_percpu(ms_hyperv.ghcb_base);
>> +
> 
> I don't think this cleanup is necessary.  The primary purpose of
> hyperv_cleanup() is to ensure that things like overlay pages are
> properly reset in Hyper-V before doing a kexec(), or before
> panic'ing and running the kdump kernel.  There's no need to do
> general memory free'ing in Linux.  Doing so just adds to the risk
> that the panic path could itself fail.

Nice catch. I will remove this.

> 
>>   	/* Reset the hypercall page */
>>   	hypercall_msr.as_uint64 = 0;
>>   	wrmsrl(HV_X64_MSR_HYPERCALL, hypercall_msr.as_uint64);
>> @@ -559,3 +609,11 @@ bool hv_is_isolation_supported(void)
>>   {
>>   	return hv_get_isolation_type() != HV_ISOLATION_TYPE_NONE;
>>   }
>> +
>> +DEFINE_STATIC_KEY_FALSE(isolation_type_snp);
>> +
>> +bool hv_isolation_type_snp(void)
>> +{
>> +	return static_branch_unlikely(&isolation_type_snp);
>> +}
>> +EXPORT_SYMBOL_GPL(hv_isolation_type_snp);
>> diff --git a/arch/x86/include/asm/mshyperv.h b/arch/x86/include/asm/mshyperv.h
>> index adccbc209169..6627cfd2bfba 100644
>> --- a/arch/x86/include/asm/mshyperv.h
>> +++ b/arch/x86/include/asm/mshyperv.h
>> @@ -11,6 +11,8 @@
>>   #include <asm/paravirt.h>
>>   #include <asm/mshyperv.h>
>>
>> +DECLARE_STATIC_KEY_FALSE(isolation_type_snp);
>> +
>>   typedef int (*hyperv_fill_flush_list_func)(
>>   		struct hv_guest_mapping_flush_list *flush,
>>   		void *data);
>> diff --git a/include/asm-generic/mshyperv.h b/include/asm-generic/mshyperv.h
>> index c1ab6a6e72b5..4269f3174e58 100644
>> --- a/include/asm-generic/mshyperv.h
>> +++ b/include/asm-generic/mshyperv.h
>> @@ -36,6 +36,7 @@ struct ms_hyperv_info {
>>   	u32 max_lp_index;
>>   	u32 isolation_config_a;
>>   	u32 isolation_config_b;
>> +	void  __percpu **ghcb_base;
> 
> This doesn't feel like the right place to put this pointer.  The other
> fields in the ms_hyperv_info structure are just fixed values obtained
> from the CPUID instruction.   The existing patterns similar to ghcb_base
> are the VP assist page and the percpu input and output args.  They are
> all based on standalone global variables.  It would be more consistent
> to do the same with the ghcb_base.

OK. I will update in the next version.

> 
>>   };
>>   extern struct ms_hyperv_info ms_hyperv;
>>
>> @@ -237,6 +238,7 @@ bool hv_is_hyperv_initialized(void);
>>   bool hv_is_hibernation_supported(void);
>>   enum hv_isolation_type hv_get_isolation_type(void);
>>   bool hv_is_isolation_supported(void);
>> +bool hv_isolation_type_snp(void);
>>   void hyperv_cleanup(void);
>>   bool hv_query_ext_cap(u64 cap_query);
>>   #else /* CONFIG_HYPERV */
>> --
>> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Aug 13 16:00:20 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 16:00:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166840.304551 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEZbK-0005cJ-PU; Fri, 13 Aug 2021 16:00:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166840.304551; Fri, 13 Aug 2021 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 1mEZbK-0005cC-Lv; Fri, 13 Aug 2021 16:00:06 +0000
Received: by outflank-mailman (input) for mailman id 166840;
 Fri, 13 Aug 2021 16:00:04 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=USBj=NE=epam.com=prvs=885989f52f=roman_skakun@srs-us1.protection.inumbo.net>)
 id 1mEZbI-0005IV-9d
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 16:00:04 +0000
Received: from mx0a-0039f301.pphosted.com (unknown [148.163.133.242])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 844aaf7a-fc4f-11eb-a2ec-12813bfff9fa;
 Fri, 13 Aug 2021 16:00:02 +0000 (UTC)
Received: from pps.filterd (m0174676.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id
 17DFtW99011679; Fri, 13 Aug 2021 15:59:59 GMT
Received: from eur03-am5-obe.outbound.protection.outlook.com
 (mail-am5eur03lp2059.outbound.protection.outlook.com [104.47.8.59])
 by mx0a-0039f301.pphosted.com with ESMTP id 3adrurrweq-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 13 Aug 2021 15:59:58 +0000
Received: from AM7PR03MB6593.eurprd03.prod.outlook.com (2603:10a6:20b:1b4::10)
 by AM6PR03MB4054.eurprd03.prod.outlook.com (2603:10a6:20b:16::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.21; Fri, 13 Aug
 2021 15:59:54 +0000
Received: from AM7PR03MB6593.eurprd03.prod.outlook.com
 ([fe80::ec7b:2795:206b:9411]) by AM7PR03MB6593.eurprd03.prod.outlook.com
 ([fe80::ec7b:2795:206b:9411%3]) with mapi id 15.20.4415.019; Fri, 13 Aug 2021
 15: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: 844aaf7a-fc4f-11eb-a2ec-12813bfff9fa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VicMO0YRfpMYBEavh5Dzk6sbQNOHoXjFGgv21Ps9keHjxjZHmyXMz4bgY34Scok0SNrtv3BrUN8sS1g+Dzb9qf9kLaVKLOfpduVenHTXUBw86x7g3P3KwVKkvs3gPXv9wEPIoVgIo+TCdxUCp1iLuy9kx2+ufgTAJcol/0sNaCkxhlZ/0urizSosheFWZghNx1v67kr4UqWyXcKwSWi5jdfzhcXKFlzmTSARGqHj3FgK+YPRpryhU49Q6xobyjc5a0T94ZdkvO04fuErqDnxerEHVdmKBhysrZdqljTufshyQ7WU8yh2kHrDJgP3NQhzjNHfnv4l4OL2m2n+oUQXzA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZregRLNf01nj4+DF+xNM1YazSprrtjcYbgSgxKQ5sBc=;
 b=fCQxRyeRHM93qKI7fLYwaDQnnwNaBJb0OW3IoG57XGIuew92Di1u7fyJcqqstc8+R6VyRZ7sjQZTZ1mjwmowiFyzXXNSfzDnGAlkJZpEe6q5k3878EtDww/xC0wv4cCCvtntVPOxoATxZfsfF1NRnn1K2S4xMwr4YmjTu9MkS5jUts0v0D1bt4/o1fYP/6AWdrMmkTdy9lDbx0Z15hMZi4DPBEj+J7tH17TQZ5zssk8qkz8Q14GgWHyvQFOt/VGdqCfoMnNQ4VF97fzRdaMOKj1QhS5uHnp6k2dmuSwqu6dFwJ+uThSnTrrdPTV1gke6L+X2Tm/T2mpgWl2/HBFq9g==
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=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZregRLNf01nj4+DF+xNM1YazSprrtjcYbgSgxKQ5sBc=;
 b=EEGjOUutYkNpFcWqOg9+YETncOPj3y8FcDcggCIEy+kpPqszMS4+tEclumBjnH5iIIZe02JnkLckBGrEQ/c21hoWiZSDYdhqt6UWgkMeMF5db3YFJSshLGqBQjnsdD3OrPKrpKiscIxUnlRxjgBytp5QWUWZ7XhiSVYWDylHoJRF8S6NXmvV+sC7LY6VIjQZYF9i6BtBn3kV7GFVXPjCtY19ndvmjJXmBziXygOTkKrKnUhE/ZEpGaKqsXkZpRoir40L/JvUQgKaIpJ6ZGgH7nEWzGPLACH16RI7HKXlv8UPWwj6G/su0nB/a88QKykrz/LHLA5RUKvv7/3g/72p1g==
From: Roman Skakun <Roman_Skakun@epam.com>
To: Julien Grall <julien@xen.org>,
        "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <bertrand.marquis@arm.com>,
        Andrii Anisov
	<Andrii_Anisov@epam.com>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
        Oleksandr Andrushchenko
	<Oleksandr_Andrushchenko@epam.com>,
        "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>,
        Roman Skakun <rm.skakun@gmail.com>, Jan
 Beulich <jbeulich@suse.com>,
        Roman Skakun <Roman_Skakun@epam.com>
Subject: Re: Disable swiotlb for Dom0
Thread-Topic: Disable swiotlb for Dom0
Thread-Index: 
 AQHXjfwJK3kYIT7XAUWdmOu1AWm+tKts6kUAgAD/OfqAADJaAIAAJhCIgAArBQCAAqGMMYAAN/uAgABIigY=
Date: Fri, 13 Aug 2021 15:59:53 +0000
Message-ID: 
 <AM7PR03MB65932EEF162F76F482BF4F8C85FA9@AM7PR03MB6593.eurprd03.prod.outlook.com>
References: 
 <AM7PR03MB6593B4461B99297C8650CF1C85F79@AM7PR03MB6593.eurprd03.prod.outlook.com>
 <060b5741-922c-115c-7e8c-97d8aa5f46f4@xen.org>
 <AM7PR03MB65932619505158E3930D8E8785F89@AM7PR03MB6593.eurprd03.prod.outlook.com>
 <d616081a-8c60-dcda-ac54-58c5be0c21ce@xen.org>
 <AM7PR03MB6593834BA54AD8A126EF872185F89@AM7PR03MB6593.eurprd03.prod.outlook.com>
 <691e31db-c79b-9196-53e1-cbbdc9bd3a54@xen.org>
 <AM7PR03MB659376E041306352B583060185FA9@AM7PR03MB6593.eurprd03.prod.outlook.com>
 <d77e3b8e-ebd5-b4de-e516-9c5c69626678@xen.org>
In-Reply-To: <d77e3b8e-ebd5-b4de-e516-9c5c69626678@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
authentication-results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: f840a54e-1a64-4898-0d53-08d95e7363f3
x-ms-traffictypediagnostic: AM6PR03MB4054:
x-ms-exchange-transport-forked: True
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <AM6PR03MB40542D926C0034AC0F16870685FA9@AM6PR03MB4054.eurprd03.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 IgeWdp5qmnaP770/ebnXzG+FdZLxdyIY5tLCItoaqXyDSkCT37w2P4dxXA7Axvk3MOQ87HqvZn5Dj2IpbIIlqNOPQOiXspFAxUGNYpLN0XwAzyYA7uh9t3gGEuelJEu9LTdo90grMUGvap6cTuIehU+EhUCkENmLbktmlmhoil1n6kZwHCpdbvKLS3UXM3ekGxL4kIxzAanVJKIX3nXWdN8nL/Y9WDUoiRegNAQjehXUdioKhz3F3miYjUj0OdhQfKAm+q/d+YWckEwNtpwO5eRksYAwF+3xWcb5lxJiZk1kouro+xb7vI2g1GAyo7sJVhl/mf/7b8gf26EOmvkRCkI2B4iJAEmNObUmZl9+G3ww6jmdRgPNa/4pbLBor3uDEk1iRA+A9ndOxC4F4tyf1csZaGGb1umOvNOohwIwqMA0s5pbdC+7MjFNFn21iRSHRbpeJ72wSexbxIQGAjcS/NQqMmOsV6InabzjK3yiyLBJzew3ijOPrYcpf4d+WOkqiuPapG+6yEqZIBQCaYgdU30bQDr65b8RKyFxzRb2tQAzv1tFchVLUXKiIY3qBKtqepeV3llA57fwbvtpwjrg9sQ2ZrFhCMtqZAGHh6z4tgUZeX1TywAF54SFOlSq34EQcfYh9Fm6nK4UaYHW/efG+1Zrp7ZkON2UT0gd0K47M+Np7M9JH5wBelnoQvUlfYYpFLP+2KD0FMvCOmckuiHnbBDlDY4XqXBIqGl+mCRfPEnTvvT63Wyk+HFGGzQyVHaSREDd3X9vKACWPn7MGJoleTpKP6MIn2RRdG2dvDIZk3I=
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM7PR03MB6593.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(366004)(39860400002)(136003)(346002)(376002)(26005)(55016002)(122000001)(9686003)(86362001)(2906002)(38100700002)(186003)(83380400001)(6506007)(8676002)(19627235002)(53546011)(71200400001)(107886003)(4326008)(7696005)(38070700005)(19627405001)(8936002)(21615005)(166002)(478600001)(5660300002)(33656002)(966005)(52536014)(76116006)(110136005)(66556008)(66946007)(66476007)(64756008)(66446008)(316002)(91956017)(54906003);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?us-ascii?Q?6lijdyGlRmZpQ7TagL1Ni7ao6wLYtkmpkFvKO8zHNzO699hG7AiyMhcqKrfg?=
 =?us-ascii?Q?9JRT0TkQccCgTzPHYCyEQjiGp+ZwK7NpOd2gT1v+JccwFes6+/yFhnj8Nzdf?=
 =?us-ascii?Q?qUuJr2eFNMLjndb2lt22CTxh7noKV3KXZPJQ2aXb4cbNWfDzdyNO0t98fvlj?=
 =?us-ascii?Q?EuvkDzy/lKLr6DxO32IQ2etZ2OsX8KF5Pw8oMs2AVwQLuEWiogQ+BNxv2l6A?=
 =?us-ascii?Q?lxQIKkY3KX1YJ0iyrgaYs6HQWRy9wrRebM4ArJaj+vIZPoFPdINFG2M9MaHI?=
 =?us-ascii?Q?yjazdbkqe/CGCST2ynwmzzCigGPnyotiW/52JWGj0CyqsTATApZVgcQdWiM6?=
 =?us-ascii?Q?v+Hmpt/oaBRZmNzUjloM05OXuNgCVWW3YTw5zWpnGENoz0st9XbGNeu39niX?=
 =?us-ascii?Q?YIiXFGHZwbsPkIk49QJM45v6lwHNY9kR89aLxnGHehNEXH7eEqL6uu1vXT5N?=
 =?us-ascii?Q?UQv6B40vu9hbJb7ME11jWJomuMirsg/y8ItuJWbqzwzTBOm0/dPEA2Dlbdmr?=
 =?us-ascii?Q?ZYQLUpdZ1FO60zxNJpQ/hyjOJairEdKtB7ZNh6Sq+a4X8szZKE7HB6SVq96w?=
 =?us-ascii?Q?Hcdo4TUMBVDKgBr9onfr6E9hXdz/pAO2PAR8f0ESZtRNHMZGqBCTP4Z/doQ9?=
 =?us-ascii?Q?PE5cmawVyn2tcDJa9ngqWXCBkP5MewWYDzeq5StTI2UBPRu37ErDOz5AHDHj?=
 =?us-ascii?Q?6zJ0UJ2+fYu4xJMA4mO0fzjri53KRAWnJxg0lg/ix4SCNMcHwc2y221wPLY2?=
 =?us-ascii?Q?/wJg7gL0m/jb6zvIamxiyDiQcqlrvwinoARvn+YA2B/nLRq5pUZg5joYixUH?=
 =?us-ascii?Q?NNjo/W22VkfEc+fn/Xzz/tukvDHh0A1Ap8rt9qMcYEjp/TEYTRmDanFOgIiY?=
 =?us-ascii?Q?wabkMKlLqZmjigvlXBDi24WegCQ+8eQCFjAGLJwY6SQIQo+YozfaaCarks1w?=
 =?us-ascii?Q?vhHFeSMWAQHOG+CbWnG7m+eUQKS8ekHMBeSN1xL/DPaReXrwAhRhrspPxBRM?=
 =?us-ascii?Q?B5iYWhf6yMHwOqmF8RxVdE7JV4kFM38R8SW82/JFN5iCQnxHD53fl8Ius3CN?=
 =?us-ascii?Q?W9t/Y4uVgYXDrglWXGFUbJZBY+n/AmrvTfBTWdQRiMNGuOMwPXBhnKP3JB+S?=
 =?us-ascii?Q?eznCAuoUCBgZi3yoOKbz4kT0s2zBIq9dAewuctgr08nSPENezUZTg+T9XhaZ?=
 =?us-ascii?Q?PM/oJUiHbqXgyc8xR4mkSLhSzikYc3hkH5md79IDXUmepcHmK+U7XT1W1Q7j?=
 =?us-ascii?Q?MyY4SLFQVIJ2sm+8jectert1oHxyWVg5pZYPZIuHQCIUlyWsfjPtdobcXHlp?=
 =?us-ascii?Q?4/w=3D?=
Content-Type: multipart/alternative;
	boundary="_000_AM7PR03MB65932EEF162F76F482BF4F8C85FA9AM7PR03MB6593eurp_"
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6593.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f840a54e-1a64-4898-0d53-08d95e7363f3
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Aug 2021 15:59:53.9424
 (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: jXeMVWFksVAbqbjanqOEpijHjvFbAkz2+c0PnEu6HFor79mhsTtbzasqJqB30qSRfe9ainJmvAQEppnga1aF6w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR03MB4054
X-Proofpoint-GUID: AAxinX7iljIulfRLy981o-0OH18_uD6C
X-Proofpoint-ORIG-GUID: AAxinX7iljIulfRLy981o-0OH18_uD6C
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.391,18.0.790
 definitions=2021-08-13_05:2021-08-13,2021-08-13 signatures=0
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 mlxlogscore=999
 spamscore=0 impostorscore=0 bulkscore=0 priorityscore=1501 mlxscore=0
 adultscore=0 clxscore=1015 suspectscore=0 malwarescore=0
 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2107140000 definitions=main-2108130095

--_000_AM7PR03MB65932EEF162F76F482BF4F8C85FA9AM7PR03MB6593eurp_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable


>> But I think, we cannot use64af97000 address in the swiotlb_bounce()
>> directly.
>>
>I am not sure to understand what you mean. Can you clarify?

I thought, that the address 64af97000 can be used directly here:
https://elixir.bootlin.com/linux/v5.10/source/kernel/dma/swiotlb.c#L572
and I was confused about it.
After some diggings I realized that this code is not reachable because
DMA_ATTR_SKIP_CPU_SYNC is active.

>> Swiotlb did not fit requested slots because the maximum slot size equals
>> IO_TLB_SEGSIZE=3D128 by default.
>
>> Ok. So it sounds like your problem is the have a DMA buffer that is too
>> large for the default swiotlb. Did you try to bump the value from the
>> command line?

Yes, you are right. I checked the implementation more detailed and figured =
out that
swiotlb tries to find a contiguous segment that is a big enough, as shown h=
ere:
https://elixir.bootlin.com/linux/v5.10/source/kernel/dma/swiotlb.c#L528,

But the maximum TLB segment equals 128K by default in accordance with
https://elixir.bootlin.com/linux/v5.10/source/include/linux/swiotlb.h#L25

This means that the max size of TLB segment equals:
128 * 2048 =3D 256K

After this, I tried to increase the TLB segment size like this:

diff --git a/include/linux/swiotlb.h b/include/linux/swiotlb.h
index fbdc65782195..85f32865bb6c 100644
--- a/include/linux/swiotlb.h
+++ b/include/linux/swiotlb.h
@@ -22,7 +22,7 @@ enum swiotlb_force {
  * must be a power of 2.  What is the appropriate value ?
  * The complexity of {map,unmap}_single is linearly dependent on this valu=
e.
  */
-#define IO_TLB_SEGSIZE 128
+#define IO_TLB_SEGSIZE 2048

 /*
  * log of the size of each IO TLB slab.  The number of slabs is command li=
ne

and the problem is gone.

Also, I found the article https://www.xilinx.com/support/answers/72694.html=
,
where I believe the same issue was mentioned.

Thank you so much for your time and help!

________________________________
From: Julien Grall <julien@xen.org>
Sent: Friday, August 13, 2021 1:51 PM
To: Roman Skakun <Roman_Skakun@epam.com>; sstabellini@kernel.org <sstabelli=
ni@kernel.org>
Cc: Bertrand Marquis <bertrand.marquis@arm.com>; Andrii Anisov <Andrii_Anis=
ov@epam.com>; Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>; Oleksandr Tys=
hchenko <Oleksandr_Tyshchenko@epam.com>; Oleksandr Andrushchenko <Oleksandr=
_Andrushchenko@epam.com>; xen-devel@lists.xenproject.org <xen-devel@lists.x=
enproject.org>; Roman Skakun <rm.skakun@gmail.com>; Jan Beulich <jbeulich@s=
use.com>
Subject: Re: Disable swiotlb for Dom0



On 13/08/2021 10:38, Roman Skakun wrote:
> Hi Julien,

Hi Roman,

>> So 0xb6000000 is most likely the GFN used to mapped the grant from the d=
omU.
>>
>> swiotlb-xen on Arm will convert it to the MFN because it is not aware
>> whether the device is behind an IOMMU.
>
> If I'm understand right, it seems like that swiotlb-xen is not ready to
> work properly in case
> when we retrieved MFN instead of proper GFN mapped to Dom0 memory.
> Maybe you know some ideas to overcome this condition?

swiotlb-xen work as intended. You have a DMA buffer at an address that
your device cannot deal with. So it will try to bounce it.

>
>>  As the address is too high to be handled by the device, swiotlb will tr=
y
>>  to bounce it. I think it is correct to bounce the page but I am not sur=
e
>>  why it can't. What the size of the DMA transaction?
>
> The DMA map size is 3686400 bytes.

So that's a 3MB buffer. I am slightly confused because in an earlier
message you wrote that the memory is coming from the guest. How did you
map it?

>
> I've added several logs to swiotlb map_single() and see:
> [  151.298455] <SWIOTLB> swiotlb_tbl_map_single() origin_addr:
> 64af97000, needed: 708,
> avail: 7fc0, stride: 2, index: 4160

I am not sure how to read the logs... Are the number in hexadecimal or
decimal? It might be useful if you post the diff of your changes.

[...]

> Swiotlb did not fit requested slots because the maximum slot size equals
> IO_TLB_SEGSIZE=3D128 by default.

Ok. So it sounds like your problem is the have a DMA buffer that is too
large for the default swiotlb. Did you try to bump the value from the
command line?

> But I think, we cannot use64af97000 address in the swiotlb_bounce()
> directly.

I am not sure to understand what you mean. Can you clarify?

Cheers,

[...]

--
Julien Grall

--_000_AM7PR03MB65932EEF162F76F482BF4F8C85FA9AM7PR03MB6593eurp_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<style type=3D"text/css" style=3D"display:none;"> P {margin-top:0;margin-bo=
ttom:0;} </style>
</head>
<body dir=3D"ltr">
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);">
<span style=3D"font-family: &quot;Segoe UI&quot;, &quot;Segoe UI Web (West =
European)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, R=
oboto, &quot;Helvetica Neue&quot;, sans-serif; font-size: 14.6667px;"><br>
&gt;</span><span style=3D"font-family: &quot;Segoe UI&quot;, &quot;Segoe UI=
 Web (West European)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSy=
stemFont, Roboto, &quot;Helvetica Neue&quot;, sans-serif; font-size: 14.666=
7px;">&gt; But I think, we cannot use64af97000 address in the&nbsp;swiotlb_=
bounce()</span><br>
</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;</span>&gt;
 directly.</span><br style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe=
 UI Web (West European)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMa=
cSystemFont, Roboto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.66=
67px;background-color:rgb(255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;</span>&gt;</sp=
an><br style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West =
European)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, R=
oboto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;backgroun=
d-color:rgb(255, 255, 255)">
<span style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West E=
uropean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Ro=
boto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background=
-color:rgb(255, 255, 255);display:inline !important"><span style=3D"backgro=
und-color:rgb(255, 255, 255);display:inline !important">&gt;</span>I
 am not sure to understand what you mean. Can you clarify?</span><br>
<br>
I thought, that the address&nbsp;<span style=3D"font-family:&quot;Segoe UI&=
quot;, &quot;Segoe UI Web (West European)&quot;, &quot;Segoe UI&quot;, -app=
le-system, BlinkMacSystemFont, Roboto, &quot;Helvetica Neue&quot;, sans-ser=
if;font-size:14.6667px;background-color:rgb(255, 255, 255);display:inline !=
important">64af97000
</span><span style=3D"font-family: &quot;Segoe UI&quot;, &quot;Segoe UI Web=
 (West European)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystem=
Font, Roboto, &quot;Helvetica Neue&quot;, sans-serif; font-size: 12pt; back=
ground-color: rgb(255, 255, 255); display: inline !important;">can be used
 directly here</span><span style=3D"font-family:&quot;Segoe UI&quot;, &quot=
;Segoe UI Web (West European)&quot;, &quot;Segoe UI&quot;, -apple-system, B=
linkMacSystemFont, Roboto, &quot;Helvetica Neue&quot;, sans-serif;font-size=
:14.6667px;background-color:rgb(255, 255, 255);display:inline !important">:=
<br>
</span><a href=3D"https://elixir.bootlin.com/linux/v5.10/source/kernel/dma/=
swiotlb.c#L572" id=3D"LPlnk">https://elixir.bootlin.com/linux/v5.10/source/=
kernel/dma/swiotlb.c#L572</a><br>
and I was confused about it.<br>
<div class=3D"_Entity _EType_OWALinkPreview _EId_OWALinkPreview _EReadonly_=
1"></div>
<span style=3D"color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica,=
 sans-serif; font-size: 12pt;">After some diggings I realized that this cod=
e is not reachable because&nbsp;</span><br>
DMA_ATTR_SKIP_CPU_SYNC is active.<br>
<br>
<div style=3D"margin:0px;font-size:12pt"><span style=3D"margin:0px;font-siz=
e:14.6667px;font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West Euro=
pean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Robot=
o, &quot;Helvetica Neue&quot;, sans-serif;background-color:rgb(255, 255, 25=
5);display:inline !important"><span style=3D"margin:0px;background-color:rg=
b(255, 255, 255);display:inline !important">&gt;</span>&gt;
 Swiotlb did not fit requested slots because the maximum slot size equals</=
span><br>
<span style=3D"margin:0px;font-size:14.6667px;font-family:&quot;Segoe UI&qu=
ot;, &quot;Segoe UI Web (West European)&quot;, &quot;Segoe UI&quot;, -apple=
-system, BlinkMacSystemFont, Roboto, &quot;Helvetica Neue&quot;, sans-serif=
;background-color:rgb(255, 255, 255);display:inline !important">&gt;<span s=
tyle=3D"margin:0px;background-color:rgb(255, 255, 255);display:inline !impo=
rtant">&gt;</span><span>&nbsp;</span>IO_TLB_SEGSIZE=3D128
 by default.</span><br style=3D"font-family:&quot;Segoe UI&quot;, &quot;Seg=
oe UI Web (West European)&quot;, &quot;Segoe UI&quot;, -apple-system, Blink=
MacSystemFont, Roboto, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.=
6667px;background-color:rgb(255, 255, 255)">
<span style=3D"margin:0px;font-size:14.6667px;font-family:&quot;Segoe UI&qu=
ot;, &quot;Segoe UI Web (West European)&quot;, &quot;Segoe UI&quot;, -apple=
-system, BlinkMacSystemFont, Roboto, &quot;Helvetica Neue&quot;, sans-serif=
;background-color:rgb(255, 255, 255);display:inline !important">&gt;</span>=
<br style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West Eur=
opean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Robo=
to, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background-c=
olor:rgb(255, 255, 255)">
<span style=3D"margin:0px;font-size:14.6667px;font-family:&quot;Segoe UI&qu=
ot;, &quot;Segoe UI Web (West European)&quot;, &quot;Segoe UI&quot;, -apple=
-system, BlinkMacSystemFont, Roboto, &quot;Helvetica Neue&quot;, sans-serif=
;background-color:rgb(255, 255, 255);display:inline !important"><span style=
=3D"margin:0px;background-color:rgb(255, 255, 255);display:inline !importan=
t">&gt;</span><span style=3D"margin:0px;background-color:rgb(255, 255, 255)=
;display:inline !important">&gt;&nbsp;</span>Ok.
 So it sounds like your problem is the have a DMA buffer that is too</span>=
<br style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West Eur=
opean)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Robo=
to, &quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background-c=
olor:rgb(255, 255, 255)">
<span style=3D"margin:0px;font-size:14.6667px;font-family:&quot;Segoe UI&qu=
ot;, &quot;Segoe UI Web (West European)&quot;, &quot;Segoe UI&quot;, -apple=
-system, BlinkMacSystemFont, Roboto, &quot;Helvetica Neue&quot;, sans-serif=
;background-color:rgb(255, 255, 255);display:inline !important"><span style=
=3D"margin:0px;background-color:rgb(255, 255, 255);display:inline !importan=
t">&gt;</span><span style=3D"margin:0px;background-color:rgb(255, 255, 255)=
;display:inline !important">&gt;&nbsp;</span>large
 for the default swiotlb. Did you try to bump the value from the</span><br =
style=3D"font-family:&quot;Segoe UI&quot;, &quot;Segoe UI Web (West Europea=
n)&quot;, &quot;Segoe UI&quot;, -apple-system, BlinkMacSystemFont, Roboto, =
&quot;Helvetica Neue&quot;, sans-serif;font-size:14.6667px;background-color=
:rgb(255, 255, 255)">
<span style=3D"margin:0px;font-size:14.6667px;font-family:&quot;Segoe UI&qu=
ot;, &quot;Segoe UI Web (West European)&quot;, &quot;Segoe UI&quot;, -apple=
-system, BlinkMacSystemFont, Roboto, &quot;Helvetica Neue&quot;, sans-serif=
;background-color:rgb(255, 255, 255);display:inline !important"><span style=
=3D"margin:0px;background-color:rgb(255, 255, 255);display:inline !importan=
t">&gt;<span style=3D"margin:0px;background-color:rgb(255, 255, 255);displa=
y:inline !important">&gt;&nbsp;</span></span>command
 line?</span><br>
<br>
Yes, you are right. I checked<span>&nbsp;</span><span style=3D"margin:0px;b=
ackground-color:rgb(255, 255, 255);display:inline !important">the implement=
ation&nbsp;</span>more detailed and figured out that<br>
<span style=3D"background-color:rgb(255, 255, 255);display:inline !importan=
t">swiotlb tries to find a contiguous segment that is a big enough, as show=
n here:</span><br>
<a href=3D"https://elixir.bootlin.com/linux/v5.10/source/kernel/dma/swiotlb=
.c#L528" style=3D"margin:0px;background-color:rgb(255, 255, 255)">https://e=
lixir.bootlin.com/linux/v5.10/source/kernel/dma/swiotlb.c#L528</a>,</div>
<div style=3D"margin:0px;font-size:12pt"><br>
</div>
<div style=3D"margin:0px;font-size:12pt">But the maximum TLB segment equals=
 128K by default in accordance with<br>
<a href=3D"https://elixir.bootlin.com/linux/v5.10/source/include/linux/swio=
tlb.h#L25" id=3D"LPlnk">https://elixir.bootlin.com/linux/v5.10/source/inclu=
de/linux/swiotlb.h#L25</a><br>
<div class=3D"_Entity _EType_OWALinkPreview _EId_OWALinkPreview_2 _EReadonl=
y_1"></div>
<br>
This means that the max size of TLB segment equals:<br>
128 * 2048 =3D 256K<br>
&nbsp;<br>
After this, I tried to increase the TLB segment size like this:<br>
<br>
diff --git a/include/linux/swiotlb.h b/include/linux/swiotlb.h
<div style=3D"margin:0px">index fbdc65782195..85f32865bb6c 100644</div>
<div style=3D"margin:0px">--- a/include/linux/swiotlb.h</div>
<div style=3D"margin:0px">+++ b/include/linux/swiotlb.h</div>
<div style=3D"margin:0px">@@ -22,7 +22,7 @@ enum swiotlb_force {</div>
<div style=3D"margin:0px">&nbsp; * must be a power of 2. &nbsp;What is the =
appropriate value ?</div>
<div style=3D"margin:0px">&nbsp; * The complexity of {map,unmap}_single is =
linearly dependent on this value.</div>
<div style=3D"margin:0px">&nbsp; */</div>
<div style=3D"margin:0px">-#define IO_TLB_SEGSIZE 128</div>
<div style=3D"margin:0px">+#define IO_TLB_SEGSIZE 2048</div>
<div style=3D"margin:0px">&nbsp;</div>
<div style=3D"margin:0px">&nbsp;/*</div>
&nbsp; * log of the size of each IO TLB slab. &nbsp;The number of slabs is =
command line<br>
<br>
and the problem is gone.<br>
<br>
Also, I found the article&nbsp;<a href=3D"https://www.xilinx.com/support/an=
swers/72694.html" style=3D"margin:0px">https://www.xilinx.com/support/answe=
rs/72694.html</a>,&nbsp;<br>
<span style=3D"margin:0px;background-color:rgb(255, 255, 255);display:inlin=
e !important">where I believe the same issue was mentioned.</span></div>
<br>
<div class=3D"_Entity _EType_OWALinkPreview _EId_OWALinkPreview_1 _EReadonl=
y_1"></div>
Thank you so much for your time and help!<br>
<br>
</div>
<div id=3D"appendonsend"></div>
<hr style=3D"display:inline-block;width:98%" tabindex=3D"-1">
<div id=3D"divRplyFwdMsg" dir=3D"ltr"><font face=3D"Calibri, sans-serif" st=
yle=3D"font-size:11pt" color=3D"#000000"><b>From:</b> Julien Grall &lt;juli=
en@xen.org&gt;<br>
<b>Sent:</b> Friday, August 13, 2021 1:51 PM<br>
<b>To:</b> Roman Skakun &lt;Roman_Skakun@epam.com&gt;; sstabellini@kernel.o=
rg &lt;sstabellini@kernel.org&gt;<br>
<b>Cc:</b> Bertrand Marquis &lt;bertrand.marquis@arm.com&gt;; Andrii Anisov=
 &lt;Andrii_Anisov@epam.com&gt;; Volodymyr Babchuk &lt;Volodymyr_Babchuk@ep=
am.com&gt;; Oleksandr Tyshchenko &lt;Oleksandr_Tyshchenko@epam.com&gt;; Ole=
ksandr Andrushchenko &lt;Oleksandr_Andrushchenko@epam.com&gt;;
 xen-devel@lists.xenproject.org &lt;xen-devel@lists.xenproject.org&gt;; Rom=
an Skakun &lt;rm.skakun@gmail.com&gt;; Jan Beulich &lt;jbeulich@suse.com&gt=
;<br>
<b>Subject:</b> Re: Disable swiotlb for Dom0</font>
<div>&nbsp;</div>
</div>
<div class=3D"BodyFragment"><font size=3D"2"><span style=3D"font-size:11pt;=
">
<div class=3D"PlainText"><br>
<br>
On 13/08/2021 10:38, Roman Skakun wrote:<br>
&gt; Hi&nbsp;Julien,<br>
<br>
Hi Roman,<br>
<br>
&gt;&gt; So 0xb6000000 is most likely the GFN used to mapped the grant from=
 the domU.<br>
&gt;&gt;<br>
&gt;&gt; swiotlb-xen on Arm will convert it to the MFN because it is not aw=
are<br>
&gt;&gt; whether the device is behind an IOMMU.<br>
&gt; <br>
&gt; If I'm understand right, it seems like that swiotlb-xen is not ready t=
o <br>
&gt; work properly in case<br>
&gt; when we retrieved MFN instead of proper GFN mapped to Dom0 memory.<br>
&gt; Maybe you know some ideas to overcome this condition?<br>
<br>
swiotlb-xen work as intended. You have a DMA buffer at an address that <br>
your device cannot deal with. So it will try to bounce it.<br>
<br>
&gt; <br>
&gt;&gt;&nbsp; As the address is too high to be handled by the device, swio=
tlb will try<br>
&gt;&gt;&nbsp; to bounce it. I think it is correct to bounce the page but I=
 am not sure<br>
&gt;&gt;&nbsp; why it can't. What the size of the DMA transaction?<br>
&gt; <br>
&gt; The DMA map size is 3686400 bytes.<br>
<br>
So that's a 3MB buffer. I am slightly confused because in an earlier <br>
message you wrote that the memory is coming from the guest. How did you <br=
>
map it?<br>
<br>
&gt; <br>
&gt; I've added several logs to swiotlb map_single() and see:<br>
&gt; [ &nbsp;151.298455] &lt;SWIOTLB&gt; swiotlb_tbl_map_single() origin_ad=
dr: <br>
&gt; 64af97000, needed: 708,<br>
&gt; avail: 7fc0, stride: 2, index: 4160<br>
<br>
I am not sure how to read the logs... Are the number in hexadecimal or <br>
decimal? It might be useful if you post the diff of your changes.<br>
<br>
[...]<br>
<br>
&gt; Swiotlb did not fit requested slots because the maximum slot size equa=
ls <br>
&gt; IO_TLB_SEGSIZE=3D128 by default.<br>
<br>
Ok. So it sounds like your problem is the have a DMA buffer that is too <br=
>
large for the default swiotlb. Did you try to bump the value from the <br>
command line?<br>
<br>
&gt; But I think, we cannot use64af97000 address in the&nbsp;swiotlb_bounce=
() <br>
&gt; directly.<br>
<br>
I am not sure to understand what you mean. Can you clarify?<br>
<br>
Cheers,<br>
<br>
[...]<br>
<br>
-- <br>
Julien Grall<br>
</div>
</span></font></div>
</body>
</html>

--_000_AM7PR03MB65932EEF162F76F482BF4F8C85FA9AM7PR03MB6593eurp_--


From xen-devel-bounces@lists.xenproject.org Fri Aug 13 16:43:41 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 16:43:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166849.304562 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEaHP-0001Mw-BJ; Fri, 13 Aug 2021 16:43:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166849.304562; Fri, 13 Aug 2021 16: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 1mEaHP-0001Mp-8A; Fri, 13 Aug 2021 16:43:35 +0000
Received: by outflank-mailman (input) for mailman id 166849;
 Fri, 13 Aug 2021 16:43:34 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=reJ5=NE=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mEaHO-0001Mj-2k
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 16:43:34 +0000
Received: from mail-pl1-x62f.google.com (unknown [2607:f8b0:4864:20::62f])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 18c5388d-a597-4fda-8866-ff387186b4fc;
 Fri, 13 Aug 2021 16:43:33 +0000 (UTC)
Received: by mail-pl1-x62f.google.com with SMTP id a5so12715017plh.5
 for <xen-devel@lists.xenproject.org>; Fri, 13 Aug 2021 09:43:33 -0700 (PDT)
Received: from ?IPv6:2404:f801:0:5:8000::50b? ([2404:f801:9000:1a:efea::50b])
 by smtp.gmail.com with ESMTPSA id
 q5sm2573972pfu.185.2021.08.13.09.43.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 13 Aug 2021 09:43: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: 18c5388d-a597-4fda-8866-ff387186b4fc
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=Br8kWTJBYxAsDNXsgBmQPMZlHU8mozxNfYo/9WDsR4I=;
        b=aoTndkeVaHx+xBp7rqX3zmRgkXAUaeWNU6g1W5l6j2h14KXWDt/4KR1/vs8KQLuFc+
         34iHxz0QkWtvArbfHie0V+3SpbV3Etyaux0TSLQVrp+6lyKitKxYLcmpKDuBa3hKgs1Q
         L+HBlJsf1N4PmA7Lhrcv6XYigXfGievs/en9zESUnFG4qu4IHQbnz7Fh+vazW6arL56N
         dGeRpy35Kd27RqG5JRWguH9nICCCpQJez7lwxLr0P4Fr+rJHgUPVJfNeUcfFFOMN0Pib
         ad4dksepULIsumOQAu+X2SAOKzn90wqArATLcQxfXs2NZOHu8wo377ndiUdyqLv8zpwd
         Rq0A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=Br8kWTJBYxAsDNXsgBmQPMZlHU8mozxNfYo/9WDsR4I=;
        b=eKLmMHkmYz39bixgXrXLswSODuhF2kPsFAuj6+QDTL44UJWYKVFCk89vdkx1x6+Smi
         pmWA26dZ9iY2gs5OpVv0mASB+pQrpqNu41FabR3ds8+rcmYrz19QDQyZXJHI+PeWyGcU
         cDma8DtefaT4Bt09BTlW9RD2HsHrgxGer1GiTei3tA+Duo36Pt8kExwlUDBA4EJi+lo2
         6clARI1/Y9ojFh6QTOivx+qon5IiZ7iMms6d2zUKh06cVucHaHIVAldFiWG0wRUI1sw+
         0xCpJXD30XKK6NTOpDVlv2YO1bv8nNSCHbbrRMyOyKUSdstI1J31lBVsBAxyAU+aBi6N
         AT6Q==
X-Gm-Message-State: AOAM531pa4hr8YCtMWD6QYWGaQUOjQcMz1WQ+PMIUkJ8pnY4mDhv/Q41
	fzqLOOARIg3iDvLf6hjq9JU=
X-Google-Smtp-Source: ABdhPJzF5OxYFo7ub8a8o5Dc0QIjyn2ULZzeCAc9wcqXWRPO4wbeX7mR+yOK6dhKrmTMKf5MwdVa8w==
X-Received: by 2002:a17:90a:c2:: with SMTP id v2mr3374490pjd.96.1628873012452;
        Fri, 13 Aug 2021 09:43:32 -0700 (PDT)
Subject: Re: [Resend RFC PATCH V4 09/13] x86/Swiotlb/HV: Add Swiotlb bounce
 buffer remap function for HV IVM
To: Christoph Hellwig <hch@lst.de>
Cc: kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com,
 wei.liu@kernel.org, decui@microsoft.com, tglx@linutronix.de,
 mingo@redhat.com, bp@alien8.de, x86@kernel.org, hpa@zytor.com,
 dave.hansen@linux.intel.com, luto@kernel.org, peterz@infradead.org,
 konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, jgross@suse.com,
 sstabellini@kernel.org, joro@8bytes.org, will@kernel.org,
 davem@davemloft.net, kuba@kernel.org, jejb@linux.ibm.com,
 martin.petersen@oracle.com, arnd@arndb.de, m.szyprowski@samsung.com,
 robin.murphy@arm.com, kirill.shutemov@linux.intel.com,
 akpm@linux-foundation.org, rppt@kernel.org, Tianyu.Lan@microsoft.com,
 thomas.lendacky@amd.com, ardb@kernel.org, robh@kernel.org,
 nramas@linux.microsoft.com, pgonda@google.com, martin.b.radev@gmail.com,
 david@redhat.com, krish.sadhukhan@oracle.com, saravanand@fb.com,
 xen-devel@lists.xenproject.org, keescook@chromium.org, rientjes@google.com,
 hannes@cmpxchg.org, michael.h.kelley@microsoft.com,
 iommu@lists.linux-foundation.org, linux-arch@vger.kernel.org,
 linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
 linux-scsi@vger.kernel.org, netdev@vger.kernel.org, vkuznets@redhat.com,
 brijesh.singh@amd.com, anparri@microsoft.com
References: <20210707154629.3977369-1-ltykernel@gmail.com>
 <20210707154629.3977369-10-ltykernel@gmail.com>
 <20210720135437.GA13554@lst.de>
From: Tianyu Lan <ltykernel@gmail.com>
Message-ID: <20926467-6f67-9549-1c34-1841f597b977@gmail.com>
Date: Sat, 14 Aug 2021 00:43:16 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210720135437.GA13554@lst.de>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit

Hi Christoph:
       I followed your this suggestion to rework the latest
version(https://lkml.org/lkml/2021/8/9/805). I just remove the arch
prefix from your suggested name arch_dma_map_decrypted because the 
platform may populate their map/umap callback in the ops. But from your 
latest comment(https://lkml.org/lkml/2021/8/12/149), these names confuse 
vs the actual dma_map_* calls... Could you help to give the right 
function name? The new map function is to map bounce buffer in the 
trust/Isolation VM and these buffers are DMA memory.



On 7/20/2021 9:54 PM, Christoph Hellwig wrote:
>> -	set_memory_decrypted((unsigned long)vaddr, bytes >> PAGE_SHIFT);
>> -	memset(vaddr, 0, bytes);
>> +	mem->vstart = (void *)set_memory_decrypted_map((unsigned long)vaddr, bytes);
> Please always pass kernel virtual addresses as pointers.
> 
> And I think these APIs might need better names, e.g.
> 
> arch_dma_map_decrypted and arch_dma_unmap_decrypted.
> 
> Also these will need fallback versions for non-x86 architectures that
> currently use memory encryption.


From xen-devel-bounces@lists.xenproject.org Fri Aug 13 17:21:43 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 17:21:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166855.304573 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEas5-0005Gu-V6; Fri, 13 Aug 2021 17:21:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166855.304573; Fri, 13 Aug 2021 17: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 1mEas5-0005Gn-S2; Fri, 13 Aug 2021 17:21:29 +0000
Received: by outflank-mailman (input) for mailman id 166855;
 Fri, 13 Aug 2021 17:21: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 1mEas4-0005Gc-I3; Fri, 13 Aug 2021 17:21: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 1mEas4-0002jt-88; Fri, 13 Aug 2021 17:21: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 1mEas3-0008OQ-SH; Fri, 13 Aug 2021 17:21:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mEas3-00044U-Rk; Fri, 13 Aug 2021 17: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=QCt7qGc/b6JOv6IyZz4Tm8lWYMhhyUOGjSfbCBc8XRc=; b=fCbY7GwdMoqBI9Yptmmp3TbRkm
	WqP3fymvmHVEZiZOpMcxKZF+1dr/t9E+z+vWkn4/VIb4nsaXeaXjFvLsG7LrusAr5zZRlc0mf9szW
	yLJ6+lAKIPNRdplLyk/W8RFEQkE1Ae9ypmj0z34kPrDPb0AR9mS10CkN7hm1U9LeJaOU=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164177-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164177: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt:<job status>:broken:regression
    linux-linus:test-armhf-armhf-examine:host-install:broken:regression
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-stop:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:allowable
    linux-linus:test-armhf-armhf-libvirt:host-install(5):broken:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=f8e6dfc64f6135d1b6c5215c14cd30b9b60a0008
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 13 Aug 2021 17:21:27 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-libvirt        <job status>                 broken
 test-armhf-armhf-examine      5 host-install           broken REGR. vs. 152332
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop              fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 20 guest-stop               fail REGR. vs. 152332

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

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      5 host-install(5)       broken blocked in 152332
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 152332
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 152332
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 152332
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 152332
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 152332
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 152332
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 152332
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                f8e6dfc64f6135d1b6c5215c14cd30b9b60a0008
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  377 days
Failing since        152366  2020-08-01 20:49:34 Z  376 days  665 attempts
Testing same since   164177  2021-08-13 10:36:03 Z    0 days    1 attempts

------------------------------------------------------------
6795 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 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-qemut-rhel6hvm-amd                           fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     fail    
 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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     fail    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     broken  
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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

broken-job test-armhf-armhf-libvirt broken
broken-step test-armhf-armhf-examine host-install
broken-step test-armhf-armhf-libvirt host-install(5)

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Fri Aug 13 17:58:57 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 17:58:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166861.304587 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEbSE-00006S-VH; Fri, 13 Aug 2021 17:58:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166861.304587; Fri, 13 Aug 2021 17: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 1mEbSE-00006L-Ra; Fri, 13 Aug 2021 17:58:50 +0000
Received: by outflank-mailman (input) for mailman id 166861;
 Fri, 13 Aug 2021 17:58:49 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=reJ5=NE=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mEbSD-00006F-Eq
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 17:58:49 +0000
Received: from mail-pj1-x1029.google.com (unknown [2607:f8b0:4864:20::1029])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 6cfb4bf0-67aa-4d52-90f0-0d928a09dfb3;
 Fri, 13 Aug 2021 17:58:48 +0000 (UTC)
Received: by mail-pj1-x1029.google.com with SMTP id
 u21-20020a17090a8915b02901782c36f543so21752263pjn.4
 for <xen-devel@lists.xenproject.org>; Fri, 13 Aug 2021 10:58:48 -0700 (PDT)
Received: from ?IPv6:2404:f801:0:5:8000::50b? ([2404:f801:9000:1a:efea::50b])
 by smtp.gmail.com with ESMTPSA id
 19sm2945794pfw.203.2021.08.13.10.58.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 13 Aug 2021 10:58: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: 6cfb4bf0-67aa-4d52-90f0-0d928a09dfb3
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=di7QngSrp4FnsSGO3LSu9eV65mIJNW5jKf6yiG0+RuU=;
        b=dQXLqc5X8fIsHbzymW3PLJOTOjlQdK8tcmZqLFzG352erBCZhuDdyQp5dJjpAxQs4B
         JeaS1pyddkxqdfr1t8ujRcY12W0PqS0hXNNOXZ0wFZF2oaeKK3/1DVpmWTSnCW6zOWzY
         gqsqTLjc9I8480wq1q6uBW3m6zMSJpXzGOBUxY9waV/oC7JaNorcF8JKXWehHZRJ5RUq
         g7RNoWhlraHMPVn4DI6/rTvyrmiPeXKT3mG72JAOtuEM7ufjtq62UA9Nz9UYy2mJkzEG
         NpAl0ATS3TPxm1KRHOuuzcztGTWzT/f9vfWyWDsL/FUIc3fxfMILeA2ztqpuFTME9rw+
         80RQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=di7QngSrp4FnsSGO3LSu9eV65mIJNW5jKf6yiG0+RuU=;
        b=OLbc0KBUJf0BWagBCVKPBMSz3gcxKR61MoY1kRl2o8fzeQ8vpNM7YNySeUJUZY312Z
         YduP6le9DLmV0DvcEvAHLx6PX2PoaHekYnTC1JfD5AuP7qhQqxsGICnqxOM9qq85TpLH
         0YUKGIx0qr9a6rlkUNqJ0EFXtBZqvuvtqiAuZcZ1hm+aGgAoB7dbseN6YCZ/JX8/nMPT
         eqsw3HXI5U0lTlKrNwXvheKRfLN2oVBCO6qQXw6f7JGg/LD9NE0NZGRG+T6Pgs89M0jS
         UszpnhiMV3bpZel47KyXpRnIGXP45O39yeS+i3UuJdMA3dEGgWYC1Mmm+PD5Lcf+rguT
         zvYw==
X-Gm-Message-State: AOAM533iIlOrIAv/Jb5JscwtYYfHEnqSfiDjFLwm826hTDOu5/RGvnhg
	dQADvOeqGqFhSwFD+RemCmA=
X-Google-Smtp-Source: ABdhPJwzwumzRBi1BCTF3AFHLjIkjk9cXsbjw6TqqLX1fdRzbRFo7tzsATIv9gSPcOccSh8E3bFC/Q==
X-Received: by 2002:a63:f749:: with SMTP id f9mr3387048pgk.77.1628877527474;
        Fri, 13 Aug 2021 10:58:47 -0700 (PDT)
Subject: Re: [PATCH V3 10/13] x86/Swiotlb: Add Swiotlb bounce buffer remap
 function for HV IVM
To: Christoph Hellwig <hch@lst.de>
Cc: kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com,
 wei.liu@kernel.org, decui@microsoft.com, tglx@linutronix.de,
 mingo@redhat.com, bp@alien8.de, x86@kernel.org, hpa@zytor.com,
 dave.hansen@linux.intel.com, luto@kernel.org, peterz@infradead.org,
 konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, jgross@suse.com,
 sstabellini@kernel.org, joro@8bytes.org, will@kernel.org,
 davem@davemloft.net, kuba@kernel.org, jejb@linux.ibm.com,
 martin.petersen@oracle.com, arnd@arndb.de, m.szyprowski@samsung.com,
 robin.murphy@arm.com, thomas.lendacky@amd.com, brijesh.singh@amd.com,
 ardb@kernel.org, Tianyu.Lan@microsoft.com, pgonda@google.com,
 martin.b.radev@gmail.com, akpm@linux-foundation.org,
 kirill.shutemov@linux.intel.com, rppt@kernel.org, sfr@canb.auug.org.au,
 saravanand@fb.com, krish.sadhukhan@oracle.com, aneesh.kumar@linux.ibm.com,
 xen-devel@lists.xenproject.org, rientjes@google.com, hannes@cmpxchg.org,
 tj@kernel.org, michael.h.kelley@microsoft.com,
 iommu@lists.linux-foundation.org, linux-arch@vger.kernel.org,
 linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
 linux-scsi@vger.kernel.org, netdev@vger.kernel.org, vkuznets@redhat.com,
 parri.andrea@gmail.com, dave.hansen@intel.com
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-11-ltykernel@gmail.com>
 <20210812122741.GC19050@lst.de>
From: Tianyu Lan <ltykernel@gmail.com>
Message-ID: <d18ae061-6fc2-e69e-fc2c-2e1a1114c4b4@gmail.com>
Date: Sat, 14 Aug 2021 01:58:32 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210812122741.GC19050@lst.de>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit

On 8/12/2021 8:27 PM, Christoph Hellwig wrote:
> This is still broken.  You need to make sure the actual DMA allocations
> do have struct page backing.
> 

Hi Christoph:
      swiotlb_tbl_map_single() still returns PA below vTOM/share_gpa_
boundary. These PAs has backing pages and belong to system memory.
In other word, all PAs passed to DMA API have backing pages and these is 
no difference between Isolation guest and traditional guest for DMA API.
The new mapped VA for PA above vTOM here is just to access the bounce 
buffer in the swiotlb code and isn't exposed to outside.


From xen-devel-bounces@lists.xenproject.org Fri Aug 13 18:15:01 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 18:15:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166869.304598 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEbhn-0002VD-Eh; Fri, 13 Aug 2021 18:14:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166869.304598; Fri, 13 Aug 2021 18: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 1mEbhn-0002V6-9r; Fri, 13 Aug 2021 18:14:55 +0000
Received: by outflank-mailman (input) for mailman id 166869;
 Fri, 13 Aug 2021 18:14: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 1mEbhl-0002Us-Hb; Fri, 13 Aug 2021 18:14: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 1mEbhl-0003fS-Ba; Fri, 13 Aug 2021 18:14: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 1mEbhl-000346-1Y; Fri, 13 Aug 2021 18:14:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mEbhl-0006mp-15; Fri, 13 Aug 2021 18: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ms7NZrp6EOEp2/3xHnIux7oKfDJ8LzHjv02/iAYB4zg=; b=3Zv+3qYU/ztjE4qDRh1zWb0nrx
	nD3dr/hyvt0DPxEWpzEUxZeUdp4NtWpgXw1gpQkJLzic4xzhnpwWTBXVEcUWtqxOvD5IeRwSbnV4+
	RHMlK/wEYXVstAXdntoiyzN6R6PMtgR3PiS8RgSrnf2TviMzDyFXzKevBRKjiAF1rcFw=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164179-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 164179: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=5c34b9af05b9e5abd25d88efc4fb783136547810
X-Osstest-Versions-That:
    xen=5a88d524857e5bf78b077d30ea515fcaac061bfc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 13 Aug 2021 18:14:53 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  5c34b9af05b9e5abd25d88efc4fb783136547810
baseline version:
 xen                  5a88d524857e5bf78b077d30ea515fcaac061bfc

Last test of basis   164169  2021-08-12 16:01:46 Z    1 days
Testing same since   164179  2021-08-13 15:02:55 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   5a88d52485..5c34b9af05  5c34b9af05b9e5abd25d88efc4fb783136547810 -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Aug 13 18:32:42 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 18:32:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166875.304623 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEbyk-00051F-7V; Fri, 13 Aug 2021 18:32:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166875.304623; Fri, 13 Aug 2021 18: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 1mEbyk-000518-2F; Fri, 13 Aug 2021 18:32:26 +0000
Received: by outflank-mailman (input) for mailman id 166875;
 Fri, 13 Aug 2021 18:32:25 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EvoD=NE=invisiblethingslab.com=marmarek@srs-us1.protection.inumbo.net>)
 id 1mEbyj-0004kY-De
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 18:32:25 +0000
Received: from out1-smtp.messagingengine.com (unknown [66.111.4.25])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c8d68a2a-5ecf-43bb-a11a-d9afcc7bf99f;
 Fri, 13 Aug 2021 18:32:21 +0000 (UTC)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.42])
 by mailout.nyi.internal (Postfix) with ESMTP id 55AB85C012A;
 Fri, 13 Aug 2021 14:32:21 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Fri, 13 Aug 2021 14:32:21 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 13 Aug 2021 14:32: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: c8d68a2a-5ecf-43bb-a11a-d9afcc7bf99f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-transfer-encoding:content-type
	:date:from:in-reply-to:message-id:mime-version:references
	:subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm3; bh=IKoBgzHmgDOlfPQ1xeHDTqsV+rETVf6ViwxBjXKEv
	as=; b=TMYghqOBgVzEwHL9479rfZDdn53w53KW6PXRVZJ5TjPgEQbby+JXXukT7
	xuxsaWJoDcWxpXkEfgO9lFbbL1tfyd4kgmtx2oiaiatze/rsMpTK8S7uZwpV0oOV
	HGQQHSxB1zQTUt1cyIwMsDTonKIehLoGU05c7OdF9Ma/d8jYbzTGbrf2ADhRJ24/
	XATIln0iH2yiwS0WMGuG4604fQCHysveqdcoQGy52PQPTQEXPk2UbkkEME5yrpb7
	02Rj65ueRTEFYAyVJ8fgX7os8QMEKUx6R49Bu6Dh7u+K2eBPLdKopLBbXNls/YF3
	YtHPwSqEpy+REBNl72GveTzU1yRIQ==
X-ME-Sender: <xms:tboWYfA8I6ZaNbepiQyEr0VFkLDVmPpTxVe6YMmso3IS0UwNxBSSrg>
    <xme:tboWYViu9vrhOrFrBOlSRauaUm2SXWg2wOi3ir_FgjQksh9TqKevSLri_zgYW6pke
    0KPD32yEU8k5Q>
X-ME-Received: <xmr:tboWYamjK3xjCZkACZYOcjKBLbTwa6Jq_k0Q1Gz8ISxQxgoC7WyuRJk06DSi8efLUUopnXZ4jE5LTEhiHsHjURQ3vPPvmVLd0Xz17GOfz_Fkzgm29g>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrkeehgdduvdejucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvufffkffojghfgggtohfgsehtkeertdertdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeek
    jefhkeffkeekkeffiefhhffhledtgfejleeikeevffegfeelueehueeuleeljeenucevlh
    hushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgv
    khesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:tboWYRzxTcaZolbGt24LuGuOSlPKcDOzwEulSSyovCaHXnvJ3ZhsBg>
    <xmx:tboWYUSV4j_6qFyiI1UdCrFNwfBsmoPp6GrofHqrb5ZqZ3ZaOuYuUw>
    <xmx:tboWYUZCK9kB2fc68Yv345x2LvkvdBw8nUwBwSPwBj9adehd4aSvzA>
    <xmx:tboWYTG-mb0LvYE7Nt47kVz-jX1f7d2TRcUeBDQjj2-2RROjVpY53g>
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>,
	Ian Jackson <iwj@xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH 2/2] ns16550: add Exar dual PCIe UART card support
Date: Fri, 13 Aug 2021 20:31:39 +0200
Message-Id: <20210813183139.391546-2-marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20210813183139.391546-1-marmarek@invisiblethingslab.com>
References: <20210813183139.391546-1-marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Organization: Invisible Things Lab
Content-Transfer-Encoding: 8bit

Besides standard UART setup, this device needs enabling
(vendor-specific) "Enhanced Control Bits" - otherwise disabling hardware
control flow (MCR[2]) is ignored. Add appropriate quirk to the
ns16550_setup_preirq(), similar to the handle_dw_usr_busy_quirk(). The
new function act on Exar cards only (based on vendor ID).

Additionally, Exar card supports fractional divisor (DLD[3:0] register,
at 0x10). This part is not supported here yet, and seems to not
be required for working 115200bps at the very least.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
 xen/drivers/char/ns16550.c  | 39 +++++++++++++++++++++++++++++++++++--
 xen/include/xen/8250-uart.h |  4 ++++
 xen/include/xen/pci_ids.h   |  2 ++
 3 files changed, 43 insertions(+), 2 deletions(-)

diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index 97b85b0225cc..540124b198df 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -88,6 +88,7 @@ struct ns16550_config {
         param_pericom_2port,
         param_pericom_4port,
         param_pericom_8port,
+        param_exar_xr17v3521,
     } param;
 };
 
@@ -169,6 +170,21 @@ static void handle_dw_usr_busy_quirk(struct ns16550 *uart)
     }
 }
 
+static void enable_exar_enhanced_bits(struct ns16550 *uart)
+{
+#ifdef NS16550_PCI
+    if ( uart->bar &&
+         pci_conf_read16(PCI_SBDF(0, uart->ps_bdf[0], uart->ps_bdf[2],
+                         uart->ps_bdf[2]), PCI_VENDOR_ID) == PCI_VENDOR_ID_EXAR )
+    {
+        /* Exar cards ignores setting MCR[2] (hardware flow control) unless
+         * "Enhanced control bits" is enabled.
+         */
+        ns_write_reg(uart, UART_XR_EFR, UART_EFR_ECB);
+    }
+#endif
+}
+
 static void ns16550_interrupt(
     int irq, void *dev_id, struct cpu_user_regs *regs)
 {
@@ -303,6 +319,9 @@ static void ns16550_setup_preirq(struct ns16550 *uart)
     /* Handle the DesignWare 8250 'busy-detect' quirk. */
     handle_dw_usr_busy_quirk(uart);
 
+    /* Enable Exar "Enhanced function bits" */
+    enable_exar_enhanced_bits(uart);
+
     /* Line control and baud-rate generator. */
     ns_write_reg(uart, UART_LCR, lcr | UART_LCR_DLAB);
     if ( uart->baud != BAUD_AUTO )
@@ -781,7 +800,17 @@ static const struct ns16550_config_param __initconst uart_param[] = {
         .lsr_mask = UART_LSR_THRE,
         .bar0 = 1,
         .max_ports = 8,
-    }
+    },
+    [param_exar_xr17v3521] = {
+        .base_baud = 7812500,
+        .uart_offset = 0x400,
+        .reg_width = 1,
+        .fifo_size = 256,
+        .lsr_mask = UART_LSR_THRE,
+        .bar0 = 1,
+        .mmio = 1,
+        .max_ports = 2,
+    },
 };
 
 static const struct ns16550_config __initconst uart_config[] =
@@ -1007,7 +1036,13 @@ static const struct ns16550_config __initconst uart_config[] =
         .vendor_id = PCI_VENDOR_ID_PERICOM,
         .dev_id = 0x7958,
         .param = param_pericom_8port
-    }
+    },
+    /* Exar Corp. XR17V3521 Dual PCIe UART */
+    {
+        .vendor_id = PCI_VENDOR_ID_EXAR,
+        .dev_id = 0x0352,
+        .param = param_exar_xr17v3521
+    },
 };
 
 static int __init
diff --git a/xen/include/xen/8250-uart.h b/xen/include/xen/8250-uart.h
index 5c3bac33221e..8c12fbbb3d5a 100644
--- a/xen/include/xen/8250-uart.h
+++ b/xen/include/xen/8250-uart.h
@@ -121,6 +121,10 @@
 /* Frequency of external clock source. This definition assumes PC platform. */
 #define UART_CLOCK_HZ     1843200
 
+/* Exar specific */
+#define UART_XR_EFR       0x09
+#define UART_EFR_ECB      0x10
+
 /* Resume retry settings */
 #define RESUME_DELAY      MILLISECS(10)
 #define RESUME_RETRIES    100
diff --git a/xen/include/xen/pci_ids.h b/xen/include/xen/pci_ids.h
index 7788ba9d2f34..e798477a7e23 100644
--- a/xen/include/xen/pci_ids.h
+++ b/xen/include/xen/pci_ids.h
@@ -4,6 +4,8 @@
 
 #define PCI_VENDOR_ID_PERICOM            0x12d8
 
+#define PCI_VENDOR_ID_EXAR               0x13a8
+
 #define PCI_VENDOR_ID_OXSEMI             0x1415
 
 #define PCI_VENDOR_ID_BROADCOM           0x14e4
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 13 18:32:42 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 18:32:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166874.304612 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEbyf-0004kl-To; Fri, 13 Aug 2021 18:32:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166874.304612; Fri, 13 Aug 2021 18: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 1mEbyf-0004ke-Qf; Fri, 13 Aug 2021 18:32:21 +0000
Received: by outflank-mailman (input) for mailman id 166874;
 Fri, 13 Aug 2021 18:32:20 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EvoD=NE=invisiblethingslab.com=marmarek@srs-us1.protection.inumbo.net>)
 id 1mEbye-0004kY-FW
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 18:32:20 +0000
Received: from out1-smtp.messagingengine.com (unknown [66.111.4.25])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 2eb9a1eb-3476-46fb-9352-08ae86850b45;
 Fri, 13 Aug 2021 18:32:19 +0000 (UTC)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.nyi.internal (Postfix) with ESMTP id 9B9605C0127;
 Fri, 13 Aug 2021 14:32:19 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute4.internal (MEProxy); Fri, 13 Aug 2021 14:32:19 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 13 Aug 2021 14:32:17 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2eb9a1eb-3476-46fb-9352-08ae86850b45
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-transfer-encoding:content-type
	:date:from:message-id:mime-version:subject:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=tzcGpq
	uqEMxLUV7wXKWsl7IgLxKOwcw/8mp2lR4H8qs=; b=PDaXNWQrMcEOibPW5UU1Mg
	ZTuJZ+LFUiloLz6F/bSFZVWyOiyorUJj8hHhyes79dG96vDEdTkwr3Yveh7/L84i
	O8X6gSwxM6T4+5nuEynN3U02R9qpPJGDhGghWmQ6oms+vWjPn6UjbGLZ95usN0xG
	6xBWSaaYVG3UwS1PZIJPNAxMlgP22fdAQzdeF50Zb0pMSrlFTqG8k/fCnjlIJAnv
	pipXTOixXeIKEZKeJ5NypC5YTwrgGUV3kpdmL1koPWDrbzfEHn9Jifr5wN/AvLzc
	8mnUy6kcPlwgyFlUm8ww0iQdITtsHcUvDwnQAfMCst8SG2BsfHKWa1rzjjz3iSSw
	==
X-ME-Sender: <xms:sroWYcI3KqmfyNVTSm7WN5IvCrBkA0VLZglXjKVoDDAwf03cZUv4Rg>
    <xme:sroWYcIl4N-Yv6F4pWJ_NJsVYftMBELeqV-kGAWCqkMowuFDHZTIejBQKIQ_ylvqF
    OEEJh7xA3BSuA>
X-ME-Received: <xmr:sroWYcu3lLZ2Ig49C51dAxUpYXQ7A1zzJxShd5WJyFCOgqOOV0q5VGwXKemt8s2sL_3bYESssLjxyYSQ_kGvSKrlgvGB3XLc43IOGgXU-PJDX81ZWQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrkeehgdduvdejucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvufffkffogggtohfgsehtkeertdertdejnecuhfhrohhmpeforghrvghk
    ucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesihhnvh
    hishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeetgeet
    keeukeffhfejueeludehtedtkeeuiedtgffgtdfhveefueeiiefhudehgeenucevlhhush
    htvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhes
    ihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:sroWYZYPehi41AQfUEmO10o6hQonK_PdVA8YmD__z6Rlk2srFV27GA>
    <xmx:sroWYTYrhcQ4d6TdZ5TvY2aCDEMfca2SUfYjdwivZycB5hkCWUONtg>
    <xmx:sroWYVCGNHwWFrkV_HRLnmHVndLDyY-i5tMse_-lh-fdgrKHWs4sHA>
    <xmx:s7oWYYMRffe0NgRrbptqEVQayIzP14qr9ZwNzQjGwbV3dy49E5zhLA>
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>,
	Ian Jackson <iwj@xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH 1/2] ns16550: do not override fifo size if explicitly set
Date: Fri, 13 Aug 2021 20:31:38 +0200
Message-Id: <20210813183139.391546-1-marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.31.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Organization: Invisible Things Lab
Content-Transfer-Encoding: 8bit

If fifo size is already set via uart_params, do not force it to 16 - which
may not match the actual hardware. Specifically Exar cards have fifo of
256 bytes.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
 xen/drivers/char/ns16550.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index 16a73d0c0e47..97b85b0225cc 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -357,7 +357,8 @@ static void __init ns16550_init_preirq(struct serial_port *port)
     ns16550_setup_preirq(uart);
 
     /* Check this really is a 16550+. Otherwise we have no FIFOs. */
-    if ( ((ns_read_reg(uart, UART_IIR) & 0xc0) == 0xc0) &&
+    if ( uart->fifo_size <= 1 &&
+         ((ns_read_reg(uart, UART_IIR) & 0xc0) == 0xc0) &&
          ((ns_read_reg(uart, UART_FCR) & UART_FCR_TRG14) == UART_FCR_TRG14) )
         uart->fifo_size = 16;
 }
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 13 19:31:24 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 19:31:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166886.304633 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEctg-0002YD-Ou; Fri, 13 Aug 2021 19:31:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166886.304633; Fri, 13 Aug 2021 19:31:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEctg-0002Y6-LM; Fri, 13 Aug 2021 19:31:16 +0000
Received: by outflank-mailman (input) for mailman id 166886;
 Fri, 13 Aug 2021 19:31:15 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mPiC=NE=microsoft.com=mikelley@srs-us1.protection.inumbo.net>)
 id 1mEcte-0002Y0-Qm
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 19:31:15 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com (unknown
 [40.107.237.111]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id d8d8ebbb-4179-4a60-bf45-1e64723c93fb;
 Fri, 13 Aug 2021 19:31:11 +0000 (UTC)
Received: from MWHPR21MB1593.namprd21.prod.outlook.com (2603:10b6:301:7c::11)
 by MW4PR21MB1953.namprd21.prod.outlook.com (2603:10b6:303:74::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.5; Fri, 13 Aug
 2021 19:31:08 +0000
Received: from MWHPR21MB1593.namprd21.prod.outlook.com
 ([fe80::e8f7:b582:9e2d:ba55]) by MWHPR21MB1593.namprd21.prod.outlook.com
 ([fe80::e8f7:b582:9e2d:ba55%2]) with mapi id 15.20.4436.012; Fri, 13 Aug 2021
 19:31: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: d8d8ebbb-4179-4a60-bf45-1e64723c93fb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AWJaxu7GN/aPdLTUyfcdv0QLmIrTYqv+39q25mOaftFC871Uw5hfnAhJ73nmycc9XgqmfWTT6hBlowNq0hXI1mFSx3BpAybLzcNlsJ9fLY0o4FcguiHex29ThrsbyBsGyTVhAwTi0dhgxFAlLsl+N2ctElm1hURE7icy0LmLdubOSoElRKlM2FkhYps4sn24b9soLm9oSTp4tA2rGjDEaxRMSp5fg/C3pRUCaOpduiaUzO8zPdfe4vHEYPIAGl9xA72dt14MV4VphItHg8tpGpTmTR54Y9oByrMj6lR9r8zp+lBmsuZu/3+5b4VsDpuM9nbIOaVptIyoKvPRlwkTvg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=N0OFrDlirRTgp9grW+dRUWAvCttNe5zyD+0jp89Tm7Q=;
 b=N2FNKod0G56kPAkXBdf1a3Lv3VUDRLEv/kCEjxJCTnES3Kie3PGV0+sj1wcFEo+928Me2WLQxvnl/XF90nP0x78Oh+bDdmLgOM4Wr6iPtj6ZuMi+PKnrOJhZCkic5VI5ALkJN/SLAlrar1khW+fVpWVneDKn5lXmBmecNp+0BlwR+gF8o66CA3f7XG0AiNVy9/spwIfQBUdl94JdQwhXJMCNEyYf6NVuO0XJ0z2WBMb+6DkLIJ6dE0w0Cu0Cdto8wkgoSvUGTHztl/pTa11NyzOgSYEbZllEu30JPAu0HGbERqppH3low+B/DOFG6cQCAk7CVFNypCjvFab6JJybxQ==
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=N0OFrDlirRTgp9grW+dRUWAvCttNe5zyD+0jp89Tm7Q=;
 b=KwbGXdQwTCOmZxRDGn7Gow/4xF+KmYW2DShhUuxCbSmbYydr7gUnLrN7/4lp+khyPcHKiaUVg4h+0QL5MNh1v9PwXgD3tdYFt7eh6RLFzhxoWZgPvW+CNh/e6J+QiV4ZBexdSov4LHs6MzNlwrPtjeI1waSl/ul+bbZuwkkyI2A=
From: Michael Kelley <mikelley@microsoft.com>
To: Tianyu Lan <ltykernel@gmail.com>, KY Srinivasan <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>, Stephen Hemminger
	<sthemmin@microsoft.com>, "wei.liu@kernel.org" <wei.liu@kernel.org>, Dexuan
 Cui <decui@microsoft.com>, "tglx@linutronix.de" <tglx@linutronix.de>,
	"mingo@redhat.com" <mingo@redhat.com>, "bp@alien8.de" <bp@alien8.de>,
	"x86@kernel.org" <x86@kernel.org>, "hpa@zytor.com" <hpa@zytor.com>,
	"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
	"luto@kernel.org" <luto@kernel.org>, "peterz@infradead.org"
	<peterz@infradead.org>, "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	"boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>, "jgross@suse.com"
	<jgross@suse.com>, "sstabellini@kernel.org" <sstabellini@kernel.org>,
	"joro@8bytes.org" <joro@8bytes.org>, "will@kernel.org" <will@kernel.org>,
	"davem@davemloft.net" <davem@davemloft.net>, "kuba@kernel.org"
	<kuba@kernel.org>, "jejb@linux.ibm.com" <jejb@linux.ibm.com>,
	"martin.petersen@oracle.com" <martin.petersen@oracle.com>, "arnd@arndb.de"
	<arnd@arndb.de>, "hch@lst.de" <hch@lst.de>, "m.szyprowski@samsung.com"
	<m.szyprowski@samsung.com>, "robin.murphy@arm.com" <robin.murphy@arm.com>,
	"thomas.lendacky@amd.com" <thomas.lendacky@amd.com>, "brijesh.singh@amd.com"
	<brijesh.singh@amd.com>, "ardb@kernel.org" <ardb@kernel.org>, Tianyu Lan
	<Tianyu.Lan@microsoft.com>, "pgonda@google.com" <pgonda@google.com>,
	"martin.b.radev@gmail.com" <martin.b.radev@gmail.com>,
	"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
	"kirill.shutemov@linux.intel.com" <kirill.shutemov@linux.intel.com>,
	"rppt@kernel.org" <rppt@kernel.org>, "sfr@canb.auug.org.au"
	<sfr@canb.auug.org.au>, "saravanand@fb.com" <saravanand@fb.com>,
	"krish.sadhukhan@oracle.com" <krish.sadhukhan@oracle.com>,
	"aneesh.kumar@linux.ibm.com" <aneesh.kumar@linux.ibm.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"rientjes@google.com" <rientjes@google.com>, "hannes@cmpxchg.org"
	<hannes@cmpxchg.org>, "tj@kernel.org" <tj@kernel.org>
CC: "iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org>,
	"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
	"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>, vkuznets
	<vkuznets@redhat.com>, "parri.andrea@gmail.com" <parri.andrea@gmail.com>,
	"dave.hansen@intel.com" <dave.hansen@intel.com>
Subject: RE: [PATCH V3 05/13] HV: Add Write/Read MSR registers via ghcb page
Thread-Topic: [PATCH V3 05/13] HV: Add Write/Read MSR registers via ghcb page
Thread-Index: AQHXjUfuQqXPk5/9iUqTH41i8so9wqtxzWQQ
Date: Fri, 13 Aug 2021 19:31:08 +0000
Message-ID:
 <MWHPR21MB15931FEC5CE9383B385C263CD7FA9@MWHPR21MB1593.namprd21.prod.outlook.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-6-ltykernel@gmail.com>
In-Reply-To: <20210809175620.720923-6-ltykernel@gmail.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=d2377fda-39f2-4403-a606-910723ff0f1f;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=2021-08-13T18:49:42Z;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-office365-filtering-correlation-id: 97c79cf5-55d5-4806-cd45-08d95e90e664
x-ms-traffictypediagnostic: MW4PR21MB1953:
x-ms-exchange-transport-forked: True
x-ld-processed: 72f988bf-86f1-41af-91ab-2d7cd011db47,ExtAddr
x-microsoft-antispam-prvs:
 <MW4PR21MB19538DE1BA94379EA16F46EDD7FA9@MW4PR21MB1953.namprd21.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:178;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 au52+EnZex4BLaEiMHMz8gya0QDg6AFZdlPDEkEzVIO8FzH2G4fo0Hna6OO6LC3DcejPIsYTdr/99E0r3nXTlDCXAWhD96eNapCkaYQxklMDIi0035FEB8liUBQwNXzLwwOxlUO4mICsoY/Sq/h6u9XuGYaCG9ff3WAu4SOxS8c5YIiof/T9jc/7BZObsDvlmig5D/r9ek8fHbZk8JlGgSrYtF6jm5N13KM9TMz/PVjV18g/xmgs4UF/gccjSK3Y9Fcz4pPtX8MeYYWgfwoR9jSxPQAzyu0HUmCxXKnZ8okh3n1zkEM3YFL0Ry5BHTEmqce1NfHK/8rg8pKEVeB5oi/1W9Lvr8/JRe6VktUSK8arhCmubs+WUJZpihqHbPND54lAg/x5mBKA12wsHAmi9nqs5HHS6YJ0XXl6IWmB/PY+DMgPEasQterTtWqQz3nnPCmQaubzA2OlmRjoFeR7u8LT+BAv6tl6jTxTWCDhIsDRINVibP/A657f/RH/tq89DnosZwM/iWmnCLJqxcQi3IPNDM3W94zmet9KAedAIaepKXHOWbw2yTw3DW7dZPlfmisT74oc+DRba91Cq7FBJK3rIGqQlVqeO41lCJXG1Wy6Bm3+Miu/uBXrbsnMYLvmSYF6cGTGqWtPYOAOXMLLRyqv+vKO/Yqm9C/rERXdQae0xxYUoiYYpGZ7Qz0GY1hWkzQMj/rGeouNCXNlkBgbH6r77NpVlD5Z//AkdUVfETQ=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR21MB1593.namprd21.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(2906002)(66476007)(52536014)(8676002)(76116006)(26005)(38100700002)(66556008)(186003)(55016002)(921005)(64756008)(66446008)(53546011)(7696005)(9686003)(38070700005)(6506007)(122000001)(7416002)(83380400001)(33656002)(54906003)(5660300002)(7406005)(316002)(110136005)(4326008)(8990500004)(8936002)(71200400001)(66946007)(10290500003)(508600001)(82950400001)(82960400001)(86362001)(30864003)(559001)(579004);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?KgmMrBmhTIw7tuG8WTTrU2Djnik1N5qdqROFwWn5B+iHe752lBv+yoKtVIPb?=
 =?us-ascii?Q?j+EmofG2ZOpTWI7kFZmcVs+liJuFkBeWiyXYMYYXdzluzfOCKlRMF7dh9jQg?=
 =?us-ascii?Q?bZMQR453XTNGkWk4SKdo6D+ad5FTUQkDDYuHpLd6CZBVASX6tKIdlhmwEMwF?=
 =?us-ascii?Q?kgru1mZfXN3P6tiyq5faVMZn+JwtwGAviknvZp1on7A/aCU0FQXOobdz3HS3?=
 =?us-ascii?Q?rBl2PAp2L0ZBfrQqdfNCe0NbQUOCI39HhB4zkZWEVggK2Rrl2vcnaiRf8WL2?=
 =?us-ascii?Q?03qcnwI1xVW2FaoWgQa414wc7HzItC4zn0anR0RhdgHRjIClFyBKLNy9ufBA?=
 =?us-ascii?Q?kS/Lf1xC1huHDwd8ZgVxXOOUnedchRsDk6cww/74C67hyPMsKD6g08VIzOHn?=
 =?us-ascii?Q?PX5H6o2TpcvremviXYB39MieEQ9VyM8o7qLPnbSPnIE9aO5Z57JalJ6WNyDf?=
 =?us-ascii?Q?AVejdzN7ki+I0ZHfuQpeN3L53sI+FJnU4mvJnc8J9h6FG1m5N2Bk8Fvh6m8j?=
 =?us-ascii?Q?mSfQF4Vj35M1vgYsDdx42mEugEVrQ0N6cSbBMcTs5bEc21K25cTlkP7im8dA?=
 =?us-ascii?Q?HSXoOYtcCAVeyZS7X0MTsvXk+TP0BiyqXLsPCua1QEzxYpxML16nQIYo7XZv?=
 =?us-ascii?Q?az1od99pZtEbPSIKmsOL2KDKOmw09oW9+QdG6NrONK9uU0C9MFdHdwPkzaqe?=
 =?us-ascii?Q?M+I+33LneXPKftOvGlUMTbJ5lXqf4t96y2JeBVbnMo9joePORoglBzj4VSNj?=
 =?us-ascii?Q?RuQEuu2sduaFsbDS3EdeQhICKwqS4dgcEtGKkspbvB63gV5/KGYRLtWHiS83?=
 =?us-ascii?Q?lILCG/E+YJli/nvSLrc3uh7AGlDaXgUBNU+Vv07uGKEgLamGK1quiTp4xx40?=
 =?us-ascii?Q?0vqOg/S8UC2k23n7Jmxyt82V/YvUz4Hc7FRvf+fsPm23ze1gUqW0/bsC2A/t?=
 =?us-ascii?Q?n8vJHUTxn3aixOnmhE5lJJPFg3+wuhad5z3O2lHammMFm6AeUW00vbHMKj5G?=
 =?us-ascii?Q?v93OhhSJDjdae3Rrw5odsCI6NP23AyzScZCoOamfultTRgnfbYPfpLrlMeXT?=
 =?us-ascii?Q?zw7p56ZPa4ojpePwKEk5k49U56WXSITK0xFQU0qaeGhPhMW7RzfyyK6jpgUZ?=
 =?us-ascii?Q?jq24RP9XXnsuqiAs2nQKhbQbNzDycTrCnOovRmuWVOz9gEWOsMobzgAIClrW?=
 =?us-ascii?Q?IMvv2r+rZ91ryqnrtwSDSbm2Bq0cvBk+ih/mLQED12ugMF2IKrKp19ib19U0?=
 =?us-ascii?Q?1MfiZ0Lw4J3UIf7q6WhPmtuuyFv5Mkfc8GERjGctOnfrVbpVOxoaJA50w+6j?=
 =?us-ascii?Q?a1fsOLYUoyL4Zn44P2Y0Qg26?=
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: MWHPR21MB1593.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 97c79cf5-55d5-4806-cd45-08d95e90e664
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Aug 2021 19:31:08.0344
 (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: ESTBDW2syx1QGsd4Vbii4VFaFQ1+pPdtm3iH5SJclBYZcc3l/Tss08Jtd8NALjweW9OeDGULNraQFsk5WBR766Q2w66Qs5m/Cb3HEpaUKAc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR21MB1953

From: Tianyu Lan <ltykernel@gmail.com> Sent: Monday, August 9, 2021 10:56 A=
M
> Subject: [PATCH V3 05/13] HV: Add Write/Read MSR registers via ghcb page

See previous comments about tag in the Subject line.

> Hyper-V provides GHCB protocol to write Synthetic Interrupt
> Controller MSR registers in Isolation VM with AMD SEV SNP
> and these registers are emulated by hypervisor directly.
> Hyper-V requires to write SINTx MSR registers twice. First
> writes MSR via GHCB page to communicate with hypervisor
> and then writes wrmsr instruction to talk with paravisor
> which runs in VMPL0. Guest OS ID MSR also needs to be set
> via GHCB.
>=20
> Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
> ---
> Change since v1:
>          * Introduce sev_es_ghcb_hv_call_simple() and share code
>            between SEV and Hyper-V code.
> ---
>  arch/x86/hyperv/hv_init.c       |  33 ++-------
>  arch/x86/hyperv/ivm.c           | 110 +++++++++++++++++++++++++++++
>  arch/x86/include/asm/mshyperv.h |  78 +++++++++++++++++++-
>  arch/x86/include/asm/sev.h      |   3 +
>  arch/x86/kernel/cpu/mshyperv.c  |   3 +
>  arch/x86/kernel/sev-shared.c    |  63 ++++++++++-------
>  drivers/hv/hv.c                 | 121 ++++++++++++++++++++++----------
>  include/asm-generic/mshyperv.h  |  12 +++-
>  8 files changed, 329 insertions(+), 94 deletions(-)
>=20
> diff --git a/arch/x86/hyperv/hv_init.c b/arch/x86/hyperv/hv_init.c
> index b3683083208a..ab0b33f621e7 100644
> --- a/arch/x86/hyperv/hv_init.c
> +++ b/arch/x86/hyperv/hv_init.c
> @@ -423,7 +423,7 @@ void __init hyperv_init(void)
>  		goto clean_guest_os_id;
>=20
>  	if (hv_isolation_type_snp()) {
> -		ms_hyperv.ghcb_base =3D alloc_percpu(void *);
> +		ms_hyperv.ghcb_base =3D alloc_percpu(union hv_ghcb __percpu *);

union hv_ghcb isn't defined.  It is not added until patch 6 of the series.

>  		if (!ms_hyperv.ghcb_base)
>  			goto clean_guest_os_id;
>=20
> @@ -432,6 +432,9 @@ void __init hyperv_init(void)
>  			ms_hyperv.ghcb_base =3D NULL;
>  			goto clean_guest_os_id;
>  		}
> +
> +		/* Hyper-V requires to write guest os id via ghcb in SNP IVM. */
> +		hv_ghcb_msr_write(HV_X64_MSR_GUEST_OS_ID, guest_id);
>  	}
>=20
>  	rdmsrl(HV_X64_MSR_HYPERCALL, hypercall_msr.as_uint64);
> @@ -523,6 +526,7 @@ void hyperv_cleanup(void)
>=20
>  	/* Reset our OS id */
>  	wrmsrl(HV_X64_MSR_GUEST_OS_ID, 0);
> +	hv_ghcb_msr_write(HV_X64_MSR_GUEST_OS_ID, 0);
>=20
>  	/*
>  	 * Reset hypercall page reference before reset the page,
> @@ -596,30 +600,3 @@ bool hv_is_hyperv_initialized(void)
>  	return hypercall_msr.enable;
>  }
>  EXPORT_SYMBOL_GPL(hv_is_hyperv_initialized);
> -
> -enum hv_isolation_type hv_get_isolation_type(void)
> -{
> -	if (!(ms_hyperv.priv_high & HV_ISOLATION))
> -		return HV_ISOLATION_TYPE_NONE;
> -	return FIELD_GET(HV_ISOLATION_TYPE, ms_hyperv.isolation_config_b);
> -}
> -EXPORT_SYMBOL_GPL(hv_get_isolation_type);
> -
> -bool hv_is_isolation_supported(void)
> -{
> -	if (!cpu_feature_enabled(X86_FEATURE_HYPERVISOR))
> -		return 0;
> -
> -	if (!hypervisor_is_type(X86_HYPER_MS_HYPERV))
> -		return 0;
> -
> -	return hv_get_isolation_type() !=3D HV_ISOLATION_TYPE_NONE;
> -}
> -
> -DEFINE_STATIC_KEY_FALSE(isolation_type_snp);
> -
> -bool hv_isolation_type_snp(void)
> -{
> -	return static_branch_unlikely(&isolation_type_snp);
> -}
> -EXPORT_SYMBOL_GPL(hv_isolation_type_snp);
> diff --git a/arch/x86/hyperv/ivm.c b/arch/x86/hyperv/ivm.c
> index 8c905ffdba7f..ec0e5c259740 100644
> --- a/arch/x86/hyperv/ivm.c
> +++ b/arch/x86/hyperv/ivm.c
> @@ -6,6 +6,8 @@
>   *  Tianyu Lan <Tianyu.Lan@microsoft.com>
>   */
>=20
> +#include <linux/types.h>
> +#include <linux/bitfield.h>
>  #include <linux/hyperv.h>
>  #include <linux/types.h>
>  #include <linux/bitfield.h>
> @@ -13,6 +15,114 @@
>  #include <asm/io.h>
>  #include <asm/mshyperv.h>
>=20
> +void hv_ghcb_msr_write(u64 msr, u64 value)
> +{
> +	union hv_ghcb *hv_ghcb;
> +	void **ghcb_base;
> +	unsigned long flags;
> +
> +	if (!ms_hyperv.ghcb_base)
> +		return;
> +
> +	WARN_ON(in_nmi());
> +
> +	local_irq_save(flags);
> +	ghcb_base =3D (void **)this_cpu_ptr(ms_hyperv.ghcb_base);
> +	hv_ghcb =3D (union hv_ghcb *)*ghcb_base;
> +	if (!hv_ghcb) {
> +		local_irq_restore(flags);
> +		return;
> +	}
> +
> +	ghcb_set_rcx(&hv_ghcb->ghcb, msr);
> +	ghcb_set_rax(&hv_ghcb->ghcb, lower_32_bits(value));
> +	ghcb_set_rdx(&hv_ghcb->ghcb, value >> 32);

Having used lower_32_bits() in the previous line, perhaps use
upper_32_bits() here?

> +
> +	if (sev_es_ghcb_hv_call_simple(&hv_ghcb->ghcb, SVM_EXIT_MSR, 1, 0))
> +		pr_warn("Fail to write msr via ghcb %llx.\n", msr);
> +
> +	local_irq_restore(flags);
> +}
> +
> +void hv_ghcb_msr_read(u64 msr, u64 *value)
> +{
> +	union hv_ghcb *hv_ghcb;
> +	void **ghcb_base;
> +	unsigned long flags;
> +
> +	if (!ms_hyperv.ghcb_base)
> +		return;
> +
> +	WARN_ON(in_nmi());
> +
> +	local_irq_save(flags);
> +	ghcb_base =3D (void **)this_cpu_ptr(ms_hyperv.ghcb_base);
> +	hv_ghcb =3D (union hv_ghcb *)*ghcb_base;
> +	if (!hv_ghcb) {
> +		local_irq_restore(flags);
> +		return;
> +	}
> +
> +	ghcb_set_rcx(&hv_ghcb->ghcb, msr);
> +	if (sev_es_ghcb_hv_call_simple(&hv_ghcb->ghcb, SVM_EXIT_MSR, 0, 0))
> +		pr_warn("Fail to read msr via ghcb %llx.\n", msr);
> +	else
> +		*value =3D (u64)lower_32_bits(hv_ghcb->ghcb.save.rax)
> +			| ((u64)lower_32_bits(hv_ghcb->ghcb.save.rdx) << 32);
> +	local_irq_restore(flags);
> +}
> +
> +void hv_sint_rdmsrl_ghcb(u64 msr, u64 *value)
> +{
> +	hv_ghcb_msr_read(msr, value);
> +}
> +EXPORT_SYMBOL_GPL(hv_sint_rdmsrl_ghcb);
> +
> +void hv_sint_wrmsrl_ghcb(u64 msr, u64 value)
> +{
> +	hv_ghcb_msr_write(msr, value);
> +
> +	/* Write proxy bit vua wrmsrl instruction. */

s/vua/via/

> +	if (msr >=3D HV_X64_MSR_SINT0 && msr <=3D HV_X64_MSR_SINT15)
> +		wrmsrl(msr, value | 1 << 20);
> +}
> +EXPORT_SYMBOL_GPL(hv_sint_wrmsrl_ghcb);
> +
> +void hv_signal_eom_ghcb(void)
> +{
> +	hv_sint_wrmsrl_ghcb(HV_X64_MSR_EOM, 0);
> +}
> +EXPORT_SYMBOL_GPL(hv_signal_eom_ghcb);

Is there a reason for this to be a function instead of a #define?
Seemingly parallel calls such as  hv_set_synic_state_ghcb()
are #defines.

> +
> +enum hv_isolation_type hv_get_isolation_type(void)
> +{
> +	if (!(ms_hyperv.priv_high & HV_ISOLATION))
> +		return HV_ISOLATION_TYPE_NONE;
> +	return FIELD_GET(HV_ISOLATION_TYPE, ms_hyperv.isolation_config_b);
> +}
> +EXPORT_SYMBOL_GPL(hv_get_isolation_type);
> +
> +/*
> + * hv_is_isolation_supported - Check system runs in the Hyper-V
> + * isolation VM.
> + */
> +bool hv_is_isolation_supported(void)
> +{
> +	return hv_get_isolation_type() !=3D HV_ISOLATION_TYPE_NONE;
> +}
> +
> +DEFINE_STATIC_KEY_FALSE(isolation_type_snp);
> +
> +/*
> + * hv_isolation_type_snp - Check system runs in the AMD SEV-SNP based
> + * isolation VM.
> + */
> +bool hv_isolation_type_snp(void)
> +{
> +	return static_branch_unlikely(&isolation_type_snp);
> +}
> +EXPORT_SYMBOL_GPL(hv_isolation_type_snp);
> +

hv_isolation_type_snp() is implemented here in a file under arch/x86,
but it is called from architecture independent code in drivers/hv, so it
needs to do the right thing on ARM64 as well as x86.  For an example,
see the handling of hv_is_isolation_supported() in the latest linux-next
tree.

>  /*
>   * hv_mark_gpa_visibility - Set pages visible to host via hvcall.
>   *
> diff --git a/arch/x86/include/asm/mshyperv.h b/arch/x86/include/asm/mshyp=
erv.h
> index 87a386fa97f7..730985676ea3 100644
> --- a/arch/x86/include/asm/mshyperv.h
> +++ b/arch/x86/include/asm/mshyperv.h
> @@ -30,6 +30,63 @@ static inline u64 hv_get_register(unsigned int reg)
>  	return value;
>  }
>=20
> +#define hv_get_sint_reg(val, reg) {		\
> +	if (hv_isolation_type_snp())		\
> +		hv_get_##reg##_ghcb(&val);	\
> +	else					\
> +		rdmsrl(HV_X64_MSR_##reg, val);	\
> +	}
> +
> +#define hv_set_sint_reg(val, reg) {		\
> +	if (hv_isolation_type_snp())		\
> +		hv_set_##reg##_ghcb(val);	\
> +	else					\
> +		wrmsrl(HV_X64_MSR_##reg, val);	\
> +	}
> +
> +
> +#define hv_get_simp(val) hv_get_sint_reg(val, SIMP)
> +#define hv_get_siefp(val) hv_get_sint_reg(val, SIEFP)
> +
> +#define hv_set_simp(val) hv_set_sint_reg(val, SIMP)
> +#define hv_set_siefp(val) hv_set_sint_reg(val, SIEFP)
> +
> +#define hv_get_synic_state(val) {			\
> +	if (hv_isolation_type_snp())			\
> +		hv_get_synic_state_ghcb(&val);		\
> +	else						\
> +		rdmsrl(HV_X64_MSR_SCONTROL, val);	\

Many of these registers that exist on x86 and ARM64 architectures
have new names without the "X64_MSR" portion.  For
example, include/asm-generic/hyperv-tlfs.h defines
HV_REGISTER_SCONTROL.  The x86-specific version of=20
hyperv-tlfs.h currently has a #define for HV_X64_MSR_SCONTROL,
but we would like to get rid of these temporary aliases.
So prefer to use HV_REGISTER_SCONTROL.

Same comment applies several places in this code for other
similar registers.

> +	}
> +#define hv_set_synic_state(val) {			\
> +	if (hv_isolation_type_snp())			\
> +		hv_set_synic_state_ghcb(val);		\
> +	else						\
> +		wrmsrl(HV_X64_MSR_SCONTROL, val);	\
> +	}
> +
> +#define hv_get_vp_index(index) rdmsrl(HV_X64_MSR_VP_INDEX, index)
> +
> +#define hv_signal_eom() {			 \
> +	if (hv_isolation_type_snp() &&		 \
> +	    old_msg_type !=3D HVMSG_TIMER_EXPIRED) \

Why is a test of the old_msg_type embedded in this macro?
And given that old_msg_type isn't a parameter of the
macro, its use is really weird.

> +		hv_signal_eom_ghcb();		 \
> +	else					 \
> +		wrmsrl(HV_X64_MSR_EOM, 0);	 \
> +	}
> +
> +#define hv_get_synint_state(int_num, val) {		\
> +	if (hv_isolation_type_snp())			\0
> +		hv_get_synint_state_ghcb(int_num, &val);\
> +	else						\
> +		rdmsrl(HV_X64_MSR_SINT0 + int_num, val);\
> +	}
> +#define hv_set_synint_state(int_num, val) {		\
> +	if (hv_isolation_type_snp())			\
> +		hv_set_synint_state_ghcb(int_num, val);	\
> +	else						\
> +		wrmsrl(HV_X64_MSR_SINT0 + int_num, val);\
> +	}
> +
>  #define hv_get_raw_timer() rdtsc_ordered()
>=20
>  void hyperv_vector_handler(struct pt_regs *regs);
> @@ -193,6 +250,25 @@ int hv_unmap_ioapic_interrupt(int ioapic_id, struct =
hv_interrupt_entry *entry);
>  int hv_mark_gpa_visibility(u16 count, const u64 pfn[],
>  			   enum hv_mem_host_visibility visibility);
>  int hv_set_mem_host_visibility(unsigned long addr, int numpages, bool vi=
sible);
> +void hv_sint_wrmsrl_ghcb(u64 msr, u64 value);
> +void hv_sint_rdmsrl_ghcb(u64 msr, u64 *value);
> +void hv_signal_eom_ghcb(void);
> +void hv_ghcb_msr_write(u64 msr, u64 value);
> +void hv_ghcb_msr_read(u64 msr, u64 *value);
> +
> +#define hv_get_synint_state_ghcb(int_num, val)			\
> +	hv_sint_rdmsrl_ghcb(HV_X64_MSR_SINT0 + int_num, val)
> +#define hv_set_synint_state_ghcb(int_num, val) \
> +	hv_sint_wrmsrl_ghcb(HV_X64_MSR_SINT0 + int_num, val)
> +
> +#define hv_get_SIMP_ghcb(val) hv_sint_rdmsrl_ghcb(HV_X64_MSR_SIMP, val)
> +#define hv_set_SIMP_ghcb(val) hv_sint_wrmsrl_ghcb(HV_X64_MSR_SIMP, val)
> +
> +#define hv_get_SIEFP_ghcb(val) hv_sint_rdmsrl_ghcb(HV_X64_MSR_SIEFP, val=
)
> +#define hv_set_SIEFP_ghcb(val) hv_sint_wrmsrl_ghcb(HV_X64_MSR_SIEFP, val=
)
> +
> +#define hv_get_synic_state_ghcb(val) hv_sint_rdmsrl_ghcb(HV_X64_MSR_SCON=
TROL, val)
> +#define hv_set_synic_state_ghcb(val) hv_sint_wrmsrl_ghcb(HV_X64_MSR_SCON=
TROL, val)
>  #else /* CONFIG_HYPERV */
>  static inline void hyperv_init(void) {}
>  static inline void hyperv_setup_mmu_ops(void) {}
> @@ -209,9 +285,9 @@ static inline int hyperv_flush_guest_mapping_range(u6=
4 as,
>  {
>  	return -1;
>  }
> +static inline void hv_signal_eom_ghcb(void) { };
>  #endif /* CONFIG_HYPERV */
>=20
> -
>  #include <asm-generic/mshyperv.h>
>=20
>  #endif
> diff --git a/arch/x86/include/asm/sev.h b/arch/x86/include/asm/sev.h
> index fa5cd05d3b5b..81beb2a8031b 100644
> --- a/arch/x86/include/asm/sev.h
> +++ b/arch/x86/include/asm/sev.h
> @@ -81,6 +81,9 @@ static __always_inline void sev_es_nmi_complete(void)
>  		__sev_es_nmi_complete();
>  }
>  extern int __init sev_es_efi_map_ghcbs(pgd_t *pgd);
> +extern enum es_result sev_es_ghcb_hv_call_simple(struct ghcb *ghcb,
> +				   u64 exit_code, u64 exit_info_1,
> +				   u64 exit_info_2);
>  #else
>  static inline void sev_es_ist_enter(struct pt_regs *regs) { }
>  static inline void sev_es_ist_exit(void) { }
> diff --git a/arch/x86/kernel/cpu/mshyperv.c b/arch/x86/kernel/cpu/mshyper=
v.c
> index 2b7f396ef1a5..3633f871ac1e 100644
> --- a/arch/x86/kernel/cpu/mshyperv.c
> +++ b/arch/x86/kernel/cpu/mshyperv.c
> @@ -318,6 +318,9 @@ static void __init ms_hyperv_init_platform(void)
>=20
>  		pr_info("Hyper-V: Isolation Config: Group A 0x%x, Group B 0x%x\n",
>  			ms_hyperv.isolation_config_a, ms_hyperv.isolation_config_b);
> +
> +		if (hv_get_isolation_type() =3D=3D HV_ISOLATION_TYPE_SNP)
> +			static_branch_enable(&isolation_type_snp);
>  	}
>=20
>  	if (hv_max_functions_eax >=3D HYPERV_CPUID_NESTED_FEATURES) {
> diff --git a/arch/x86/kernel/sev-shared.c b/arch/x86/kernel/sev-shared.c
> index 9f90f460a28c..dd7f37de640b 100644
> --- a/arch/x86/kernel/sev-shared.c
> +++ b/arch/x86/kernel/sev-shared.c
> @@ -94,10 +94,9 @@ static void vc_finish_insn(struct es_em_ctxt *ctxt)
>  	ctxt->regs->ip +=3D ctxt->insn.length;
>  }
>=20
> -static enum es_result sev_es_ghcb_hv_call(struct ghcb *ghcb,
> -					  struct es_em_ctxt *ctxt,
> -					  u64 exit_code, u64 exit_info_1,
> -					  u64 exit_info_2)
> +enum es_result sev_es_ghcb_hv_call_simple(struct ghcb *ghcb,
> +				   u64 exit_code, u64 exit_info_1,
> +				   u64 exit_info_2)
>  {
>  	enum es_result ret;
>=20
> @@ -109,29 +108,45 @@ static enum es_result sev_es_ghcb_hv_call(struct gh=
cb *ghcb,
>  	ghcb_set_sw_exit_info_1(ghcb, exit_info_1);
>  	ghcb_set_sw_exit_info_2(ghcb, exit_info_2);
>=20
> -	sev_es_wr_ghcb_msr(__pa(ghcb));
>  	VMGEXIT();
>=20
> -	if ((ghcb->save.sw_exit_info_1 & 0xffffffff) =3D=3D 1) {
> -		u64 info =3D ghcb->save.sw_exit_info_2;
> -		unsigned long v;
> -
> -		info =3D ghcb->save.sw_exit_info_2;
> -		v =3D info & SVM_EVTINJ_VEC_MASK;
> -
> -		/* Check if exception information from hypervisor is sane. */
> -		if ((info & SVM_EVTINJ_VALID) &&
> -		    ((v =3D=3D X86_TRAP_GP) || (v =3D=3D X86_TRAP_UD)) &&
> -		    ((info & SVM_EVTINJ_TYPE_MASK) =3D=3D SVM_EVTINJ_TYPE_EXEPT)) {
> -			ctxt->fi.vector =3D v;
> -			if (info & SVM_EVTINJ_VALID_ERR)
> -				ctxt->fi.error_code =3D info >> 32;
> -			ret =3D ES_EXCEPTION;
> -		} else {
> -			ret =3D ES_VMM_ERROR;
> -		}
> -	} else {
> +	if ((ghcb->save.sw_exit_info_1 & 0xffffffff) =3D=3D 1)
> +		ret =3D ES_VMM_ERROR;
> +	else
>  		ret =3D ES_OK;
> +
> +	return ret;
> +}
> +
> +static enum es_result sev_es_ghcb_hv_call(struct ghcb *ghcb,
> +				   struct es_em_ctxt *ctxt,
> +				   u64 exit_code, u64 exit_info_1,
> +				   u64 exit_info_2)
> +{
> +	unsigned long v;
> +	enum es_result ret;
> +	u64 info;
> +
> +	sev_es_wr_ghcb_msr(__pa(ghcb));
> +
> +	ret =3D sev_es_ghcb_hv_call_simple(ghcb, exit_code, exit_info_1,
> +					 exit_info_2);
> +	if (ret =3D=3D ES_OK)
> +		return ret;
> +
> +	info =3D ghcb->save.sw_exit_info_2;
> +	v =3D info & SVM_EVTINJ_VEC_MASK;
> +
> +	/* Check if exception information from hypervisor is sane. */
> +	if ((info & SVM_EVTINJ_VALID) &&
> +	    ((v =3D=3D X86_TRAP_GP) || (v =3D=3D X86_TRAP_UD)) &&
> +	    ((info & SVM_EVTINJ_TYPE_MASK) =3D=3D SVM_EVTINJ_TYPE_EXEPT)) {
> +		ctxt->fi.vector =3D v;
> +		if (info & SVM_EVTINJ_VALID_ERR)
> +			ctxt->fi.error_code =3D info >> 32;
> +		ret =3D ES_EXCEPTION;
> +	} else {
> +		ret =3D ES_VMM_ERROR;
>  	}
>=20
>  	return ret;
> diff --git a/drivers/hv/hv.c b/drivers/hv/hv.c
> index e83507f49676..59f7173c4d9f 100644
> --- a/drivers/hv/hv.c
> +++ b/drivers/hv/hv.c
> @@ -8,6 +8,7 @@
>   */
>  #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
>=20
> +#include <linux/io.h>
>  #include <linux/kernel.h>
>  #include <linux/mm.h>
>  #include <linux/slab.h>
> @@ -136,17 +137,24 @@ int hv_synic_alloc(void)
>  		tasklet_init(&hv_cpu->msg_dpc,
>  			     vmbus_on_msg_dpc, (unsigned long) hv_cpu);
>=20
> -		hv_cpu->synic_message_page =3D
> -			(void *)get_zeroed_page(GFP_ATOMIC);
> -		if (hv_cpu->synic_message_page =3D=3D NULL) {
> -			pr_err("Unable to allocate SYNIC message page\n");
> -			goto err;
> -		}
> +		/*
> +		 * Synic message and event pages are allocated by paravisor.
> +		 * Skip these pages allocation here.
> +		 */
> +		if (!hv_isolation_type_snp()) {
> +			hv_cpu->synic_message_page =3D
> +				(void *)get_zeroed_page(GFP_ATOMIC);
> +			if (hv_cpu->synic_message_page =3D=3D NULL) {
> +				pr_err("Unable to allocate SYNIC message page\n");
> +				goto err;
> +			}
>=20
> -		hv_cpu->synic_event_page =3D (void *)get_zeroed_page(GFP_ATOMIC);
> -		if (hv_cpu->synic_event_page =3D=3D NULL) {
> -			pr_err("Unable to allocate SYNIC event page\n");
> -			goto err;
> +			hv_cpu->synic_event_page =3D
> +				(void *)get_zeroed_page(GFP_ATOMIC);
> +			if (hv_cpu->synic_event_page =3D=3D NULL) {
> +				pr_err("Unable to allocate SYNIC event page\n");
> +				goto err;
> +			}
>  		}
>=20
>  		hv_cpu->post_msg_page =3D (void *)get_zeroed_page(GFP_ATOMIC);
> @@ -173,10 +181,17 @@ void hv_synic_free(void)
>  	for_each_present_cpu(cpu) {
>  		struct hv_per_cpu_context *hv_cpu
>  			=3D per_cpu_ptr(hv_context.cpu_context, cpu);
> +		free_page((unsigned long)hv_cpu->post_msg_page);
> +
> +		/*
> +		 * Synic message and event pages are allocated by paravisor.
> +		 * Skip free these pages here.
> +		 */
> +		if (hv_isolation_type_snp())
> +			continue;
>=20
>  		free_page((unsigned long)hv_cpu->synic_event_page);
>  		free_page((unsigned long)hv_cpu->synic_message_page);
> -		free_page((unsigned long)hv_cpu->post_msg_page);

You could skip making these changes to hv_synic_free().  If the message
and event pages aren't allocated, the pointers will be NULL and
free_page() will happily do nothing.

>  	}
>=20
>  	kfree(hv_context.hv_numa_map);
> @@ -199,26 +214,43 @@ void hv_synic_enable_regs(unsigned int cpu)
>  	union hv_synic_scontrol sctrl;
>=20
>  	/* Setup the Synic's message page */
> -	simp.as_uint64 =3D hv_get_register(HV_REGISTER_SIMP);
> +	hv_get_simp(simp.as_uint64);

This code is intended to be architecture independent and builds for
x86 and for ARM64.  Changing the use of hv_get_register() and hv_set_regist=
er()
will fail badly when built for ARM64.   I haven't completely thought throug=
h
what the best solution might be, but the current set of mappings from
hv_get_simp() down to hv_ghcb_msr_read() isn't going to work on ARM64.

Is it possible to hide all the x86-side complexity in the implementation of
hv_get_register()?   Certain MSRs would have to be special-cased when
SNP isolation is enabled, but that might be easier than trying to no-op out
the ghcb machinery on the ARM64 side.=20

>  	simp.simp_enabled =3D 1;
> -	simp.base_simp_gpa =3D virt_to_phys(hv_cpu->synic_message_page)
> -		>> HV_HYP_PAGE_SHIFT;
>=20
> -	hv_set_register(HV_REGISTER_SIMP, simp.as_uint64);
> +	if (hv_isolation_type_snp()) {
> +		hv_cpu->synic_message_page
> +			=3D memremap(simp.base_simp_gpa << HV_HYP_PAGE_SHIFT,
> +				   HV_HYP_PAGE_SIZE, MEMREMAP_WB);
> +		if (!hv_cpu->synic_message_page)
> +			pr_err("Fail to map syinc message page.\n");
> +	} else {
> +		simp.base_simp_gpa =3D virt_to_phys(hv_cpu->synic_message_page)
> +			>> HV_HYP_PAGE_SHIFT;
> +	}
> +
> +	hv_set_simp(simp.as_uint64);
>=20
>  	/* Setup the Synic's event page */
> -	siefp.as_uint64 =3D hv_get_register(HV_REGISTER_SIEFP);
> +	hv_get_siefp(siefp.as_uint64);
>  	siefp.siefp_enabled =3D 1;
> -	siefp.base_siefp_gpa =3D virt_to_phys(hv_cpu->synic_event_page)
> -		>> HV_HYP_PAGE_SHIFT;
>=20
> -	hv_set_register(HV_REGISTER_SIEFP, siefp.as_uint64);
> +	if (hv_isolation_type_snp()) {
> +		hv_cpu->synic_event_page =3D
> +			memremap(siefp.base_siefp_gpa << HV_HYP_PAGE_SHIFT,
> +				 HV_HYP_PAGE_SIZE, MEMREMAP_WB);
> +
> +		if (!hv_cpu->synic_event_page)
> +			pr_err("Fail to map syinc event page.\n");
> +	} else {
> +		siefp.base_siefp_gpa =3D virt_to_phys(hv_cpu->synic_event_page)
> +			>> HV_HYP_PAGE_SHIFT;
> +	}
> +	hv_set_siefp(siefp.as_uint64);
>=20
>  	/* Setup the shared SINT. */
>  	if (vmbus_irq !=3D -1)
>  		enable_percpu_irq(vmbus_irq, 0);
> -	shared_sint.as_uint64 =3D hv_get_register(HV_REGISTER_SINT0 +
> -					VMBUS_MESSAGE_SINT);
> +	hv_get_synint_state(VMBUS_MESSAGE_SINT, shared_sint.as_uint64);
>=20
>  	shared_sint.vector =3D vmbus_interrupt;
>  	shared_sint.masked =3D false;
> @@ -233,14 +265,12 @@ void hv_synic_enable_regs(unsigned int cpu)
>  #else
>  	shared_sint.auto_eoi =3D 0;
>  #endif
> -	hv_set_register(HV_REGISTER_SINT0 + VMBUS_MESSAGE_SINT,
> -				shared_sint.as_uint64);
> +	hv_set_synint_state(VMBUS_MESSAGE_SINT, shared_sint.as_uint64);
>=20
>  	/* Enable the global synic bit */
> -	sctrl.as_uint64 =3D hv_get_register(HV_REGISTER_SCONTROL);
> +	hv_get_synic_state(sctrl.as_uint64);
>  	sctrl.enable =3D 1;
> -
> -	hv_set_register(HV_REGISTER_SCONTROL, sctrl.as_uint64);
> +	hv_set_synic_state(sctrl.as_uint64);
>  }
>=20
>  int hv_synic_init(unsigned int cpu)
> @@ -257,37 +287,50 @@ int hv_synic_init(unsigned int cpu)
>   */
>  void hv_synic_disable_regs(unsigned int cpu)
>  {
> +	struct hv_per_cpu_context *hv_cpu
> +		=3D per_cpu_ptr(hv_context.cpu_context, cpu);
>  	union hv_synic_sint shared_sint;
>  	union hv_synic_simp simp;
>  	union hv_synic_siefp siefp;
>  	union hv_synic_scontrol sctrl;
>=20
> -	shared_sint.as_uint64 =3D hv_get_register(HV_REGISTER_SINT0 +
> -					VMBUS_MESSAGE_SINT);
> -
> +	hv_get_synint_state(VMBUS_MESSAGE_SINT, shared_sint.as_uint64);
>  	shared_sint.masked =3D 1;
> +	hv_set_synint_state(VMBUS_MESSAGE_SINT, shared_sint.as_uint64);
> +
>=20
>  	/* Need to correctly cleanup in the case of SMP!!! */
>  	/* Disable the interrupt */
> -	hv_set_register(HV_REGISTER_SINT0 + VMBUS_MESSAGE_SINT,
> -				shared_sint.as_uint64);
> +	hv_get_simp(simp.as_uint64);
>=20
> -	simp.as_uint64 =3D hv_get_register(HV_REGISTER_SIMP);
> +	/*
> +	 * In Isolation VM, sim and sief pages are allocated by
> +	 * paravisor. These pages also will be used by kdump
> +	 * kernel. So just reset enable bit here and keep page
> +	 * addresses.
> +	 */
>  	simp.simp_enabled =3D 0;
> -	simp.base_simp_gpa =3D 0;
> +	if (hv_isolation_type_snp())
> +		memunmap(hv_cpu->synic_message_page);
> +	else
> +		simp.base_simp_gpa =3D 0;
>=20
> -	hv_set_register(HV_REGISTER_SIMP, simp.as_uint64);
> +	hv_set_simp(simp.as_uint64);
>=20
> -	siefp.as_uint64 =3D hv_get_register(HV_REGISTER_SIEFP);
> +	hv_get_siefp(siefp.as_uint64);
>  	siefp.siefp_enabled =3D 0;
> -	siefp.base_siefp_gpa =3D 0;
>=20
> -	hv_set_register(HV_REGISTER_SIEFP, siefp.as_uint64);
> +	if (hv_isolation_type_snp())
> +		memunmap(hv_cpu->synic_event_page);
> +	else
> +		siefp.base_siefp_gpa =3D 0;
> +
> +	hv_set_siefp(siefp.as_uint64);
>=20
>  	/* Disable the global synic bit */
> -	sctrl.as_uint64 =3D hv_get_register(HV_REGISTER_SCONTROL);
> +	hv_get_synic_state(sctrl.as_uint64);
>  	sctrl.enable =3D 0;
> -	hv_set_register(HV_REGISTER_SCONTROL, sctrl.as_uint64);
> +	hv_set_synic_state(sctrl.as_uint64);
>=20
>  	if (vmbus_irq !=3D -1)
>  		disable_percpu_irq(vmbus_irq);
> diff --git a/include/asm-generic/mshyperv.h b/include/asm-generic/mshyper=
v.h
> index 079988ed45b9..90dac369a2dc 100644
> --- a/include/asm-generic/mshyperv.h
> +++ b/include/asm-generic/mshyperv.h
> @@ -23,9 +23,16 @@
>  #include <linux/bitops.h>
>  #include <linux/cpumask.h>
>  #include <linux/nmi.h>
> +#include <asm/svm.h>
> +#include <asm/sev.h>
>  #include <asm/ptrace.h>
> +#include <asm/mshyperv.h>
>  #include <asm/hyperv-tlfs.h>
>=20
> +union hv_ghcb {
> +	struct ghcb ghcb;
> +} __packed __aligned(PAGE_SIZE);
> +
>  struct ms_hyperv_info {
>  	u32 features;
>  	u32 priv_high;
> @@ -45,7 +52,7 @@ struct ms_hyperv_info {
>  			u32 Reserved12 : 20;
>  		};
>  	};
> -	void  __percpu **ghcb_base;
> +	union hv_ghcb __percpu **ghcb_base;
>  	u64 shared_gpa_boundary;
>  };
>  extern struct ms_hyperv_info ms_hyperv;
> @@ -55,6 +62,7 @@ extern void  __percpu  **hyperv_pcpu_output_arg;
>=20
>  extern u64 hv_do_hypercall(u64 control, void *inputaddr, void *outputadd=
r);
>  extern u64 hv_do_fast_hypercall8(u16 control, u64 input8);
> +extern bool hv_isolation_type_snp(void);
>=20
>  /* Helper functions that provide a consistent pattern for checking Hyper=
-V hypercall status. */
>  static inline int hv_result(u64 status)
> @@ -149,7 +157,7 @@ static inline void vmbus_signal_eom(struct hv_message=
 *msg, u32 old_msg_type)
>  		 * possibly deliver another msg from the
>  		 * hypervisor
>  		 */
> -		hv_set_register(HV_REGISTER_EOM, 0);
> +		hv_signal_eom();
>  	}
>  }
>=20
> --
> 2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 13 20:26:52 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 20:26:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166893.304644 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEdl8-0007Wj-04; Fri, 13 Aug 2021 20:26:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166893.304644; Fri, 13 Aug 2021 20:26:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEdl7-0007Wc-TT; Fri, 13 Aug 2021 20:26:29 +0000
Received: by outflank-mailman (input) for mailman id 166893;
 Fri, 13 Aug 2021 20:26:28 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mPiC=NE=microsoft.com=mikelley@srs-us1.protection.inumbo.net>)
 id 1mEdl6-0007WW-R3
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 20:26:28 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com (unknown
 [40.107.95.111]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id bc006e08-fc74-11eb-a325-12813bfff9fa;
 Fri, 13 Aug 2021 20:26:26 +0000 (UTC)
Received: from MWHPR21MB1593.namprd21.prod.outlook.com (2603:10b6:301:7c::11)
 by MW4PR21MB1972.namprd21.prod.outlook.com (2603:10b6:303:7a::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.4; Fri, 13 Aug
 2021 20:26:22 +0000
Received: from MWHPR21MB1593.namprd21.prod.outlook.com
 ([fe80::e8f7:b582:9e2d:ba55]) by MWHPR21MB1593.namprd21.prod.outlook.com
 ([fe80::e8f7:b582:9e2d:ba55%2]) with mapi id 15.20.4436.012; Fri, 13 Aug 2021
 20:26: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: bc006e08-fc74-11eb-a325-12813bfff9fa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=A6g6l9cYis25WihgKlGKU/RZDzLQjOKNlvRAHPr3qeWLroP+nVKXkTefKHtCJYvIKHnQmTMlaBXOQ3GRPa6EXXTGKP9Eh1Y7VaMjMsfrY7Acj0/7MMaX2tKAF0EndebJNjhNBk8dIITXIsrtXjz0CbhbSMYhZASakOTK4C3mZ4VOyMl6ldknmeFgY+z6uIqxTCgmY560r3aUrChk0p9AuD1y0rzLFwHqse4WR/OLP5ZYxdqhFlQe54yw/7HvaSpFoGHrzf/MyNZD7SRvKTg2Ao6tJpuh+vNPV1+HFahiTvRUywNJ0SNb5LiWRap7V7sYPKzgm9fzJeUGOj6N3q+PFA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uSjZFw4IYdkuV55KvpmYCB+d8Z/zYCy0L7lVeoa3LBM=;
 b=K947ukP0YWv+I2nRFEcIidwNXTLXNVTGv5Z96kLDRrmBSJQJB+pwI7NF4drCuTLNN0Pr61OAhRGh0vR9x5wQBd8fJayjMT4FyNUjfAjvC5spVhH8TyRL8Adr35FZKB5FY4l1U3tkERSWMmJxmOwWzbHEfj6YQbhN6arVypA0PWxCeehLOfMaSAvLCUIxB/KkiUfR+M2APQElmRzCq+0N1VeI7Af9/kQz/tMu7M/QBIHFyfvnTumQV7WBpzVgeNcVj1gCCNeJLx82gnltOaQUa+HU675I+Ig0zV6crusNPtGjcysAULQt5awd8WMavZvY8BTcKcJ/atkjX8XdmtBGag==
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=uSjZFw4IYdkuV55KvpmYCB+d8Z/zYCy0L7lVeoa3LBM=;
 b=YuF1pqVifVtgz4pRoMPWPtGqUXVt56tmGUa6QHC62OZv/io67f30CvM1oct8P+C9HuodCsF4xqRldBii0gl4lFqJR77IVGToFHvGg9mavvJWDuVktIYy+2yexJ5VMqQdkROw6NZj5gLXpNd8ELUoLbDIEUvZ0jg7xSRC6DScYdU=
From: Michael Kelley <mikelley@microsoft.com>
To: Tianyu Lan <ltykernel@gmail.com>, KY Srinivasan <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>, Stephen Hemminger
	<sthemmin@microsoft.com>, "wei.liu@kernel.org" <wei.liu@kernel.org>, Dexuan
 Cui <decui@microsoft.com>, "tglx@linutronix.de" <tglx@linutronix.de>,
	"mingo@redhat.com" <mingo@redhat.com>, "bp@alien8.de" <bp@alien8.de>,
	"x86@kernel.org" <x86@kernel.org>, "hpa@zytor.com" <hpa@zytor.com>,
	"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
	"luto@kernel.org" <luto@kernel.org>, "peterz@infradead.org"
	<peterz@infradead.org>, "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	"boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>, "jgross@suse.com"
	<jgross@suse.com>, "sstabellini@kernel.org" <sstabellini@kernel.org>,
	"joro@8bytes.org" <joro@8bytes.org>, "will@kernel.org" <will@kernel.org>,
	"davem@davemloft.net" <davem@davemloft.net>, "kuba@kernel.org"
	<kuba@kernel.org>, "jejb@linux.ibm.com" <jejb@linux.ibm.com>,
	"martin.petersen@oracle.com" <martin.petersen@oracle.com>, "arnd@arndb.de"
	<arnd@arndb.de>, "hch@lst.de" <hch@lst.de>, "m.szyprowski@samsung.com"
	<m.szyprowski@samsung.com>, "robin.murphy@arm.com" <robin.murphy@arm.com>,
	"thomas.lendacky@amd.com" <thomas.lendacky@amd.com>, "brijesh.singh@amd.com"
	<brijesh.singh@amd.com>, "ardb@kernel.org" <ardb@kernel.org>, Tianyu Lan
	<Tianyu.Lan@microsoft.com>, "pgonda@google.com" <pgonda@google.com>,
	"martin.b.radev@gmail.com" <martin.b.radev@gmail.com>,
	"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
	"kirill.shutemov@linux.intel.com" <kirill.shutemov@linux.intel.com>,
	"rppt@kernel.org" <rppt@kernel.org>, "sfr@canb.auug.org.au"
	<sfr@canb.auug.org.au>, "saravanand@fb.com" <saravanand@fb.com>,
	"krish.sadhukhan@oracle.com" <krish.sadhukhan@oracle.com>,
	"aneesh.kumar@linux.ibm.com" <aneesh.kumar@linux.ibm.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"rientjes@google.com" <rientjes@google.com>, "hannes@cmpxchg.org"
	<hannes@cmpxchg.org>, "tj@kernel.org" <tj@kernel.org>
CC: "iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org>,
	"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
	"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>, vkuznets
	<vkuznets@redhat.com>, "parri.andrea@gmail.com" <parri.andrea@gmail.com>,
	"dave.hansen@intel.com" <dave.hansen@intel.com>
Subject: RE: [PATCH V3 05/13] HV: Add Write/Read MSR registers via ghcb page
Thread-Topic: [PATCH V3 05/13] HV: Add Write/Read MSR registers via ghcb page
Thread-Index: AQHXjUfuQqXPk5/9iUqTH41i8so9wqtxzWQQgAAaltA=
Date: Fri, 13 Aug 2021 20:26:21 +0000
Message-ID:
 <MWHPR21MB1593964D1B17870038EC2D2CD7FA9@MWHPR21MB1593.namprd21.prod.outlook.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-6-ltykernel@gmail.com>
 <MWHPR21MB15931FEC5CE9383B385C263CD7FA9@MWHPR21MB1593.namprd21.prod.outlook.com>
In-Reply-To:
 <MWHPR21MB15931FEC5CE9383B385C263CD7FA9@MWHPR21MB1593.namprd21.prod.outlook.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=d2377fda-39f2-4403-a606-910723ff0f1f;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=2021-08-13T18:49:42Z;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-office365-filtering-correlation-id: 4c56698d-081e-41c7-2bc6-08d95e989d80
x-ms-traffictypediagnostic: MW4PR21MB1972:
x-ms-exchange-transport-forked: True
x-ld-processed: 72f988bf-86f1-41af-91ab-2d7cd011db47,ExtAddr
x-microsoft-antispam-prvs:
 <MW4PR21MB197224FE64D6649E7A5940ECD7FA9@MW4PR21MB1972.namprd21.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:3826;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 w21FqFgu2tAmBXktQZxkbrfccvEy0zOvJN6YSvT1ju7DfH7QkE22lowUbmO4XT2d7T3RLyS7ilggytk6Z1jqEz+VQadXgJm/pA3aNRLVuiV7YKYxf9WbUSgg8VXg9tGX2ccVERe8DE9rM4bIIYzT74X0R+AowG3j7aVCZg1izm9WGwdGY4EH6ItLcJ9h9X+417kzb4tE4lgPkamjzzgfVpT/eEZr/81TaXYiJwbIPXND0yR4magal+2uqWw9gv/MOH6aLo6O6vGGu1N2CTFX3+U5/ZG4c6YHcgVBoA8VMzaWrx2weJcnXwK7OKwQwlI9DSWT2Rwa0ZuqE5D9rWTRNbiFz+7x7+Vz8XSkBW0o1pwmPff3yFoIdR7YMlU+PAMGECfTwJZvorClzv6jV5+gb22Eblc2aRhwQkOaaZwWYq1nYDQ6yspWzxLxZQjDWA/rxhiEMNdC0gUnBsLG6ucebJ96jDhf3ep2tI6Md5CkcLhUN4XIwMIDrUTgRy2lCe2ORlAHvE/lskHzQJC9tX4LmspUEfT1wxtPSL/SQVp72Ylxha5Ac2v6OtkV+Jh6woAqBQtSDQcUUn9ANRfGTTKjjRSGECQUDyDZ7gYUv7WcDHQNC/KYwPDgI8J7qGSnYYv+yPbbh33tm+L4kZ7JH+oTnmg3e247z1rFItDnjSOxV5td3dc3vnnzO84cq2w9kq8aa/sIJb67OhrUHkJvWofW7n4Iad2CGNVf+dddUKh4bx8=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR21MB1593.namprd21.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(921005)(8990500004)(4326008)(122000001)(8936002)(66946007)(7696005)(52536014)(8676002)(53546011)(7406005)(38100700002)(2940100002)(5660300002)(2906002)(33656002)(6506007)(7416002)(86362001)(316002)(83380400001)(10290500003)(508600001)(9686003)(38070700005)(66446008)(76116006)(186003)(82950400001)(110136005)(55016002)(71200400001)(64756008)(66556008)(26005)(66476007)(82960400001)(54906003);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?HHnguf8k2A0ke1C/g43w8Bu1Ts6Hdd2fq+nZyXM2Vlyi6iYPhCNPJdZ1Q/Uf?=
 =?us-ascii?Q?M7OqArgQBB8UR0o6XdwdodOF7zMgx7z/7jvA98B2OgTJwKCx/lHgcqJLOOVn?=
 =?us-ascii?Q?RBKnuGZx/E1lp4OzQVoueFJ+5ntLf5oUGdytGG6Su+qy14KLL+7TSyIimCsO?=
 =?us-ascii?Q?Dc0nd44cU9NeOaE0Q66lZma+ShGkLA48A5EVkWpPsuaXCM912tYb5+QkahF8?=
 =?us-ascii?Q?zZYN+b4S71rtrj0yRYKpupMa3GSE5S6er3rX88RBRLKOWyq/Tbmk3B6X4PGh?=
 =?us-ascii?Q?ASYEwimno/wWrvw01ZYctpOut8yEKcP+Z1yuygM6shEo0c0uUeZgn2+rf2xG?=
 =?us-ascii?Q?8zTCBTM7YMT4PL9uyThSLrpoq7lhBSujoZr2uB/s8IstgDBilTT5QCE2TClT?=
 =?us-ascii?Q?jEpRlnVG/bmoWLyrYVzn11T/KQJOg1RmbuEN5X+q4TKz/rvmLYB3+aI43Ybb?=
 =?us-ascii?Q?NzjG+QxU+QZFWBe/st7opXSb5lXVy/DAqWZhjVTFozwNNi14kRWCvZS6s60f?=
 =?us-ascii?Q?gQ7DDuZCyTP45Kb61VTsWTMfJMfeX8SIlueXnAjKpUzF/3jjhzqfvNcIUQjP?=
 =?us-ascii?Q?hYNLXf9Lp68p4UfV3W4Zk3gA+EDZ1twkthiCeikHrX0A8zbLOlO+Gx+ib4u2?=
 =?us-ascii?Q?k1g/+vREUkO6u5gPSErkSYbMuhOyqRSulL8+vOD2JwwobIrFsZlf6dHeGKyW?=
 =?us-ascii?Q?KE/eDArLWCqKVJgQourBtgdmIBkhdj7t2BMejVSXrueAh50B+hbSr8gZpgvX?=
 =?us-ascii?Q?tOF+YxFrQ1WFahpo8vBajPAoBNsSKHTMKsGDmx6zvMIB2QYG6UDG2gTFVrC8?=
 =?us-ascii?Q?GhqhnmeINuvFwbp4vltyTua94yXxQvtRMeJOH82izjCW3mbFhFug2L0rRPEG?=
 =?us-ascii?Q?gfPji9aAsEUvlOSEIT5zUoRbaZiDUl7xb9Hn9haAoigcdr3SEnimFxQgfZoy?=
 =?us-ascii?Q?iPRJB0hY1Vds4TI3Mxd7CT1ySfKGGHL3lAjslHbpRcs0LD4rIf+vz7xtJ3L/?=
 =?us-ascii?Q?xcJlkhRcW9Hw3f7L3XzXFAqA4gS4NZEHAS7oEu2ctO/BoNT8ETdafjMox+S7?=
 =?us-ascii?Q?MADAs+wgwCVYJJLvmkkrY/W2Wx5TGH2zxBt+t/PkldZI+sjy2+359PLPgoWC?=
 =?us-ascii?Q?6StwsXBi5D3gdgiM9qQiiGCU+0WxuSMPoRRjX67KvBFf7UgfGkdfrMYfY1kx?=
 =?us-ascii?Q?MeMdq6Gg24tMu25K7HpB3D6MZrFgF/P+BybXaG7joub9Nmbr6YNzysjwQSd4?=
 =?us-ascii?Q?OnqrceeUQ5xTAeFtIGsE5ubJ+aYx/S3ngKD9AkK6qOZOL+Igy/NE1z3DQs+U?=
 =?us-ascii?Q?EbRyAa4Ct1E4YrOoD6q+8ax4?=
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: MWHPR21MB1593.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4c56698d-081e-41c7-2bc6-08d95e989d80
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Aug 2021 20:26:21.8499
 (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: xzWN79PcQkKD4LoVtmx3Si4TxYUrZymDvPd+0ZpDE3+bJuoVwR5oWB8lLB4IMuKobBU2cozGDSwdWjXw577Uj4mz9rpJqZsucZrCN72tcnk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR21MB1972

From: Michael Kelley <mikelley@microsoft.com> Sent: Friday, August 13, 2021=
 12:31 PM
> To: Tianyu Lan <ltykernel@gmail.com>; KY Srinivasan <kys@microsoft.com>; =
Haiyang Zhang <haiyangz@microsoft.com>;
> Stephen Hemminger <sthemmin@microsoft.com>; wei.liu@kernel.org; Dexuan Cu=
i <decui@microsoft.com>;
> tglx@linutronix.de; mingo@redhat.com; bp@alien8.de; x86@kernel.org; hpa@z=
ytor.com; dave.hansen@linux.intel.com;
> luto@kernel.org; peterz@infradead.org; konrad.wilk@oracle.com; boris.ostr=
ovsky@oracle.com; jgross@suse.com;
> sstabellini@kernel.org; joro@8bytes.org; will@kernel.org; davem@davemloft=
.net; kuba@kernel.org; jejb@linux.ibm.com;
> martin.petersen@oracle.com; arnd@arndb.de; hch@lst.de; m.szyprowski@samsu=
ng.com; robin.murphy@arm.com;
> thomas.lendacky@amd.com; brijesh.singh@amd.com; ardb@kernel.org; Tianyu L=
an <Tianyu.Lan@microsoft.com>;
> pgonda@google.com; martin.b.radev@gmail.com; akpm@linux-foundation.org; k=
irill.shutemov@linux.intel.com;
> rppt@kernel.org; sfr@canb.auug.org.au; saravanand@fb.com; krish.sadhukhan=
@oracle.com;
> aneesh.kumar@linux.ibm.com; xen-devel@lists.xenproject.org; rientjes@goog=
le.com; hannes@cmpxchg.org;
> tj@kernel.org
> Cc: iommu@lists.linux-foundation.org; linux-arch@vger.kernel.org; linux-h=
yperv@vger.kernel.org; linux-
> kernel@vger.kernel.org; linux-scsi@vger.kernel.org; netdev@vger.kernel.or=
g; vkuznets <vkuznets@redhat.com>;
> parri.andrea@gmail.com; dave.hansen@intel.com
> Subject: RE: [PATCH V3 05/13] HV: Add Write/Read MSR registers via ghcb p=
age
>=20
> From: Tianyu Lan <ltykernel@gmail.com> Sent: Monday, August 9, 2021 10:56=
 AM
> > Subject: [PATCH V3 05/13] HV: Add Write/Read MSR registers via ghcb pag=
e
>=20
> See previous comments about tag in the Subject line.
>=20
> > Hyper-V provides GHCB protocol to write Synthetic Interrupt
> > Controller MSR registers in Isolation VM with AMD SEV SNP
> > and these registers are emulated by hypervisor directly.
> > Hyper-V requires to write SINTx MSR registers twice. First
> > writes MSR via GHCB page to communicate with hypervisor
> > and then writes wrmsr instruction to talk with paravisor
> > which runs in VMPL0. Guest OS ID MSR also needs to be set
> > via GHCB.
> >
> > Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
> > ---
> > Change since v1:
> >          * Introduce sev_es_ghcb_hv_call_simple() and share code
> >            between SEV and Hyper-V code.
> > ---
> >  arch/x86/hyperv/hv_init.c       |  33 ++-------
> >  arch/x86/hyperv/ivm.c           | 110 +++++++++++++++++++++++++++++
> >  arch/x86/include/asm/mshyperv.h |  78 +++++++++++++++++++-
> >  arch/x86/include/asm/sev.h      |   3 +
> >  arch/x86/kernel/cpu/mshyperv.c  |   3 +
> >  arch/x86/kernel/sev-shared.c    |  63 ++++++++++-------
> >  drivers/hv/hv.c                 | 121 ++++++++++++++++++++++----------
> >  include/asm-generic/mshyperv.h  |  12 +++-
> >  8 files changed, 329 insertions(+), 94 deletions(-)
> >
> > diff --git a/arch/x86/hyperv/hv_init.c b/arch/x86/hyperv/hv_init.c
> > index b3683083208a..ab0b33f621e7 100644
> > --- a/arch/x86/hyperv/hv_init.c
> > +++ b/arch/x86/hyperv/hv_init.c
> > @@ -423,7 +423,7 @@ void __init hyperv_init(void)
> >  		goto clean_guest_os_id;
> >
> >  	if (hv_isolation_type_snp()) {
> > -		ms_hyperv.ghcb_base =3D alloc_percpu(void *);
> > +		ms_hyperv.ghcb_base =3D alloc_percpu(union hv_ghcb __percpu *);
>=20
> union hv_ghcb isn't defined.  It is not added until patch 6 of the series=
.
>=20

Ignore this comment.  My mistake.

Michael


From xen-devel-bounces@lists.xenproject.org Fri Aug 13 20:42:39 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 20:42:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166898.304656 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEe0f-0001LG-FE; Fri, 13 Aug 2021 20:42:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166898.304656; Fri, 13 Aug 2021 20: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 1mEe0f-0001L9-BC; Fri, 13 Aug 2021 20:42:33 +0000
Received: by outflank-mailman (input) for mailman id 166898;
 Fri, 13 Aug 2021 20:42:32 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mPiC=NE=microsoft.com=mikelley@srs-us1.protection.inumbo.net>)
 id 1mEe0e-0001L3-2L
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 20:42:32 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com (unknown
 [40.107.94.125]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id fa81e60a-fc76-11eb-a325-12813bfff9fa;
 Fri, 13 Aug 2021 20:42:30 +0000 (UTC)
Received: from MWHPR21MB1593.namprd21.prod.outlook.com (2603:10b6:301:7c::11)
 by MW4PR21MB1986.namprd21.prod.outlook.com (2603:10b6:303:7d::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.4; Fri, 13 Aug
 2021 20:42:21 +0000
Received: from MWHPR21MB1593.namprd21.prod.outlook.com
 ([fe80::e8f7:b582:9e2d:ba55]) by MWHPR21MB1593.namprd21.prod.outlook.com
 ([fe80::e8f7:b582:9e2d:ba55%2]) with mapi id 15.20.4436.012; Fri, 13 Aug 2021
 20:42:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fa81e60a-fc76-11eb-a325-12813bfff9fa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=M/PmMgenu25aFfpENzd6BmNaINIatJBdK2kHTs0T2C3eLzR8bAMCN69/sCgY1lPaegteFUYw++/VftAaOKEJfCia0cbNX6Q5+VFEkzXeDpWOkt7pL5hSbB4xG1g87g8Mgxzz8ul3WGIo3oBk+VctzH9HIjuWwNtSiCoe9riZ15pNOYC/RaZjvX1PMh7HyWwPcqiO1nWzNSI53V0oGkcB0Oi417sk6bh9cRQeq1i50AIAbWVvboaKBv9RkldIo82yOusTxqsoEyecfVLLcIzvMiPYYVK11jHnofInj3ck6CGpaBsY7nAyxYPDeOKP2c248a/vy/y2gfLXEOYfXyYD1g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Rypb+JEQTEQG5iMVSpatMOsXM7AJYRPM5NrU66ByIpU=;
 b=iMnW0KJKcevpVH2R6PmizDV+Un1DhRG6mjf7AxHpTNfdn4fK34/Vfg8QFdkt9qkl4LO9Rbb7NCmaho3AgHJ1og5XTlshxeveSS7+uuinLoc8MiT4/m7ZWEexlEucu4NwtnO7kgl3rUn+a0ImZW7B2J3pk0MUrVY1j67YargmRt9cGoD6utHnZqrX9nSGgjwbfLfsRNlfDuV5LA95yNrOaWgexwiiov+ZaZh7A0RZa7+FwaAMvTrZYT943JM8TukcIB3nxkPYzl4gU49QG+AwS+01gPGJS3CSdoFGNuMVKPmKcWRphtR2DEL+uE4YyaEsbdSzFPtqUREOjGVCwXJdpA==
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=Rypb+JEQTEQG5iMVSpatMOsXM7AJYRPM5NrU66ByIpU=;
 b=OrkvDOb9QchvZJTeA7Lm7wexaNiL6C/cxYw9/VfOynVZuDgbqbUJUh7Nnf5WilcHFrwbNbIF1usDaJnYY0DDiJoHntne9+qeK8io5D4Ii6FCK1R+FxkpToq2mMSarstHebLhNqSf11Ybp47M0+nOnMlqLVvXK//FRV5LeAKirGw=
From: Michael Kelley <mikelley@microsoft.com>
To: Tianyu Lan <ltykernel@gmail.com>, KY Srinivasan <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>, Stephen Hemminger
	<sthemmin@microsoft.com>, "wei.liu@kernel.org" <wei.liu@kernel.org>, Dexuan
 Cui <decui@microsoft.com>, "tglx@linutronix.de" <tglx@linutronix.de>,
	"mingo@redhat.com" <mingo@redhat.com>, "bp@alien8.de" <bp@alien8.de>,
	"x86@kernel.org" <x86@kernel.org>, "hpa@zytor.com" <hpa@zytor.com>,
	"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
	"luto@kernel.org" <luto@kernel.org>, "peterz@infradead.org"
	<peterz@infradead.org>, "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	"boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>, "jgross@suse.com"
	<jgross@suse.com>, "sstabellini@kernel.org" <sstabellini@kernel.org>,
	"joro@8bytes.org" <joro@8bytes.org>, "will@kernel.org" <will@kernel.org>,
	"davem@davemloft.net" <davem@davemloft.net>, "kuba@kernel.org"
	<kuba@kernel.org>, "jejb@linux.ibm.com" <jejb@linux.ibm.com>,
	"martin.petersen@oracle.com" <martin.petersen@oracle.com>, "arnd@arndb.de"
	<arnd@arndb.de>, "hch@lst.de" <hch@lst.de>, "m.szyprowski@samsung.com"
	<m.szyprowski@samsung.com>, "robin.murphy@arm.com" <robin.murphy@arm.com>,
	"thomas.lendacky@amd.com" <thomas.lendacky@amd.com>, "brijesh.singh@amd.com"
	<brijesh.singh@amd.com>, "ardb@kernel.org" <ardb@kernel.org>, Tianyu Lan
	<Tianyu.Lan@microsoft.com>, "pgonda@google.com" <pgonda@google.com>,
	"martin.b.radev@gmail.com" <martin.b.radev@gmail.com>,
	"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
	"kirill.shutemov@linux.intel.com" <kirill.shutemov@linux.intel.com>,
	"rppt@kernel.org" <rppt@kernel.org>, "sfr@canb.auug.org.au"
	<sfr@canb.auug.org.au>, "saravanand@fb.com" <saravanand@fb.com>,
	"krish.sadhukhan@oracle.com" <krish.sadhukhan@oracle.com>,
	"aneesh.kumar@linux.ibm.com" <aneesh.kumar@linux.ibm.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"rientjes@google.com" <rientjes@google.com>, "hannes@cmpxchg.org"
	<hannes@cmpxchg.org>, "tj@kernel.org" <tj@kernel.org>
CC: "iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org>,
	"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
	"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>, vkuznets
	<vkuznets@redhat.com>, "parri.andrea@gmail.com" <parri.andrea@gmail.com>,
	"dave.hansen@intel.com" <dave.hansen@intel.com>
Subject: RE: [PATCH V3 06/13] HV: Add ghcb hvcall support for SNP VM
Thread-Topic: [PATCH V3 06/13] HV: Add ghcb hvcall support for SNP VM
Thread-Index: AQHXjUfzslCDYD8zc0CR/lAuMVKshKtx61Hg
Date: Fri, 13 Aug 2021 20:42:20 +0000
Message-ID:
 <MWHPR21MB159387555A5405E07A2935D7D7FA9@MWHPR21MB1593.namprd21.prod.outlook.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-7-ltykernel@gmail.com>
In-Reply-To: <20210809175620.720923-7-ltykernel@gmail.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=dd098ba2-7655-44ee-883c-b53605cbede8;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=2021-08-13T20:36:48Z;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-office365-filtering-correlation-id: d96ae8e2-a7fa-465d-b2bb-08d95e9ad92b
x-ms-traffictypediagnostic: MW4PR21MB1986:
x-ms-exchange-transport-forked: True
x-ld-processed: 72f988bf-86f1-41af-91ab-2d7cd011db47,ExtAddr
x-microsoft-antispam-prvs:
 <MW4PR21MB1986E8A0FE134FF4F3050788D7FA9@MW4PR21MB1986.namprd21.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:5236;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 uPUYC4yfmDYLNp847IY/NfmVOn708h40sC/iPq6OV4i8qhcDyxZE2oSiYBn2O/cMjy3sCzwdTVW9+9mqy4BhWQHBP3baaJPCn5lfhFGdwUKoi4nbD8EdTd1KeqjSkw4/5jc1acThW4oqR2sMkEc5SwKCCjT7Yfe5MmsDuqbaAoHf81C8PMz8WvnZJHDAd3cWFNiDiOmuknXi8Ies0xByPnQVKK0PA0REXd9W/RsYfOqWmHAC7EWMtOMicA3EDBL0rSln8wh448tW2DU4uYgQMecOvxGMuFgDqBl/u4jOICHXd3b++JjDgR4GejyiRqP6XPiAueGUtqQfsMC12MIeNLVjtdRMkzLHhODdcBYqkz2lYSZLNd/3UswFbbfJStFXAPPsatHh9D2jWHiCV6436MZ2Fo+TutO8R4BzIshfv5hZPQxubtIBwC3MGiPSdWtgfE4e/EfEUl63GY4cdx0k9cJQHj7wdo5Y0jcpVtSZ3GT74P5Xcb8ExvVXw+a3QzTRfhShVaoL6CQBu0oJTOeBDKb/cewOjEG451ZteZxoThy+rAfCrsCz0rZDdjVGNz6vpzjDaHyvS6DvLAXfNjUN0IR9jVWx2nPpdq7nWw3BGIXq9B8GJvpbOZyG8P79Cg7McD43KSJIjvFElMNvm9x8DSLaISQatZ3PVcV4kRgH8OvD6rjcvTfBIU61U/QxbBkmrfyE/ElgtuOIUFNWsVHkcdQ+J+/myBNKlLojSE3s5+4=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR21MB1593.namprd21.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(5660300002)(83380400001)(186003)(71200400001)(110136005)(66946007)(54906003)(9686003)(921005)(66556008)(64756008)(66446008)(66476007)(8676002)(86362001)(10290500003)(26005)(76116006)(52536014)(122000001)(38100700002)(2906002)(7696005)(316002)(7416002)(7406005)(4326008)(6506007)(38070700005)(82950400001)(33656002)(82960400001)(8990500004)(55016002)(8936002)(508600001);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?TtEpRuBy04VIdx/dcG9yXpycNPRk6aDHFV1oCjpVxCy/w6AkrSw9Xdc0lrwz?=
 =?us-ascii?Q?QUGdfD+vQ2TaAbYddX+T30dhYf8XScCmrF9gPMIBgVyYmYNxLnJ6YtPVwiVn?=
 =?us-ascii?Q?8CwoE7Y4XnAen+zkFixPe9TQGD3JFrniY/JWrK1wwJtyRVfUOBKNuD4sts4T?=
 =?us-ascii?Q?pP0jwcQEJ/0gysYpjMF8y6WkIRMaUPTJO8yhtCjCxLnZLatOR60KfruJK1Hn?=
 =?us-ascii?Q?l1FOdDFwMzfQ3NdHDfzJZorruJZCo4yG9mDDzOc9UwTvrS3XUlzbxQ4Z/ZRe?=
 =?us-ascii?Q?7EYj1gAx71DOckYKlIepQL22M+uS1CF2EBotHuC1OwyrLkczCgTW+wb2+2pf?=
 =?us-ascii?Q?LvBhFZ8mGVuvz/sYF3whCMJkxhCcnDPKCabzWw0E1ROS7yiFzOP16EYm3mR6?=
 =?us-ascii?Q?rH/H50uD32UsB3/nNkwFSuAmVZldpZ5ZJrDkpyKFKs2cTQ1JEXoHfbZVdO6p?=
 =?us-ascii?Q?n+bRbnszgjqeWxxvvTUnSYygYKJ74oGax6XldBKPYDxMIMpBELNqobt8+u8D?=
 =?us-ascii?Q?mHz43mSzOuMS0SFyyyBegxZZcJZRYsRtcjsF1Odfq7j6EqlVyHTeeZ0CengX?=
 =?us-ascii?Q?6RbnCDdc+uc3lMU29Tds3sDv5UdIixxGJ2N0p47JYRX5+vn2iubsRFalbFqw?=
 =?us-ascii?Q?1CdJocZZrQMk/cM5vbTSQiHdmEZw+CxnDrNbhJKzYsU9hW3P/O4Paw5S091Y?=
 =?us-ascii?Q?AzKG5sW96b2XTxaE6nhaoG0thV8N/Yd2LEGjoM9owNFDPLDkMxKpKgFUNG/6?=
 =?us-ascii?Q?yErCSmhMigFr6qDbA2GAFg8msdNMs6KV7esPyPVp30TQr2HT8VevqAntZhW1?=
 =?us-ascii?Q?f7KpNBbC4bXnHfHaT6Oqi/dRZDGgzhdAkFoZNhhGL6CB+3pSDnDrqoJpTzPM?=
 =?us-ascii?Q?Kc2E3ckopeXB2aNETvst/o1KqUB0pW62oEfVrFxcmG28jp4GAUWF+7mTPncZ?=
 =?us-ascii?Q?c1JGbZcg9/fOU4qq138NBN8oOmg7fiqZ8svCMQFJNYNz5AXVeirBlkdN9mId?=
 =?us-ascii?Q?DwdpDx+712M2QwS0nwncGLqEQUf1otmGgQGS4eEKCnSCoqVAy5jgfmo66/yC?=
 =?us-ascii?Q?w/wRzwtklnjkp31FyNbt0rQgf59glwT6uJ0mc/2AJ1HA58waeO1XqK9AIliQ?=
 =?us-ascii?Q?+xVrZ547stu/zk8sdCNS3UQKz11Sv8En/g6LwBChRWh5zp1XulvxBb5vg1Vj?=
 =?us-ascii?Q?uHOSWVnr2cpHHZ/KSqPNcAWjp8dgZGRicR9cfk86A3S24OwjAT1UT+5oshFt?=
 =?us-ascii?Q?D7AhQWqPC40tVdD81vcbv8TCC/XORXWohlc82dEfcNMvMjTNf95sPlD9coa9?=
 =?us-ascii?Q?XH1PZoTiLIhajHysssBnkqM9?=
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: MWHPR21MB1593.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d96ae8e2-a7fa-465d-b2bb-08d95e9ad92b
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Aug 2021 20:42:20.9371
 (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: yK8TOzD/DV0Z6f+xokh0xsHxAdMIhcIgYHZI/BHSNO0OkTR6ZX03jxOHZ0JLmKPp1VGFFKNMdSMFFqTB1zxIy0PvXdK5+ihzztRvkbH/Q+Q=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR21MB1986

From: Tianyu Lan <ltykernel@gmail.com> Sent: Monday, August 9, 2021 10:56 A=
M
>=20
> Hyper-V provides ghcb hvcall to handle VMBus
> HVCALL_SIGNAL_EVENT and HVCALL_POST_MESSAGE
> msg in SNP Isolation VM. Add such support.
>=20
> Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
> ---
>  arch/x86/hyperv/ivm.c           | 43 +++++++++++++++++++++++++++++++++
>  arch/x86/include/asm/mshyperv.h |  1 +
>  drivers/hv/connection.c         |  6 ++++-
>  drivers/hv/hv.c                 |  8 +++++-
>  include/asm-generic/mshyperv.h  | 29 ++++++++++++++++++++++
>  5 files changed, 85 insertions(+), 2 deletions(-)
>=20
> diff --git a/arch/x86/hyperv/ivm.c b/arch/x86/hyperv/ivm.c
> index ec0e5c259740..c13ec5560d73 100644
> --- a/arch/x86/hyperv/ivm.c
> +++ b/arch/x86/hyperv/ivm.c
> @@ -15,6 +15,49 @@
>  #include <asm/io.h>
>  #include <asm/mshyperv.h>
>=20
> +#define GHCB_USAGE_HYPERV_CALL	1
> +
> +u64 hv_ghcb_hypercall(u64 control, void *input, void *output, u32 input_=
size)
> +{
> +	union hv_ghcb *hv_ghcb;
> +	void **ghcb_base;
> +	unsigned long flags;
> +
> +	if (!ms_hyperv.ghcb_base)
> +		return -EFAULT;
> +
> +	WARN_ON(in_nmi());
> +
> +	local_irq_save(flags);
> +	ghcb_base =3D (void **)this_cpu_ptr(ms_hyperv.ghcb_base);
> +	hv_ghcb =3D (union hv_ghcb *)*ghcb_base;
> +	if (!hv_ghcb) {
> +		local_irq_restore(flags);
> +		return -EFAULT;
> +	}
> +
> +	hv_ghcb->ghcb.protocol_version =3D GHCB_PROTOCOL_MAX;
> +	hv_ghcb->ghcb.ghcb_usage =3D GHCB_USAGE_HYPERV_CALL;
> +
> +	hv_ghcb->hypercall.outputgpa =3D (u64)output;
> +	hv_ghcb->hypercall.hypercallinput.asuint64 =3D 0;
> +	hv_ghcb->hypercall.hypercallinput.callcode =3D control;
> +
> +	if (input_size)
> +		memcpy(hv_ghcb->hypercall.hypercalldata, input, input_size);
> +
> +	VMGEXIT();
> +
> +	hv_ghcb->ghcb.ghcb_usage =3D 0xffffffff;
> +	memset(hv_ghcb->ghcb.save.valid_bitmap, 0,
> +	       sizeof(hv_ghcb->ghcb.save.valid_bitmap));
> +
> +	local_irq_restore(flags);
> +
> +	return hv_ghcb->hypercall.hypercalloutput.callstatus;
> +}
> +EXPORT_SYMBOL_GPL(hv_ghcb_hypercall);

This function is called from architecture independent code, so it needs a
default no-op stub to enable the code to compile on ARM64.  The stub should
always return failure.

> +
>  void hv_ghcb_msr_write(u64 msr, u64 value)
>  {
>  	union hv_ghcb *hv_ghcb;
> diff --git a/arch/x86/include/asm/mshyperv.h b/arch/x86/include/asm/mshyp=
erv.h
> index 730985676ea3..a30c60f189a3 100644
> --- a/arch/x86/include/asm/mshyperv.h
> +++ b/arch/x86/include/asm/mshyperv.h
> @@ -255,6 +255,7 @@ void hv_sint_rdmsrl_ghcb(u64 msr, u64 *value);
>  void hv_signal_eom_ghcb(void);
>  void hv_ghcb_msr_write(u64 msr, u64 value);
>  void hv_ghcb_msr_read(u64 msr, u64 *value);
> +u64 hv_ghcb_hypercall(u64 control, void *input, void *output, u32 input_=
size);
>=20
>  #define hv_get_synint_state_ghcb(int_num, val)			\
>  	hv_sint_rdmsrl_ghcb(HV_X64_MSR_SINT0 + int_num, val)
> diff --git a/drivers/hv/connection.c b/drivers/hv/connection.c
> index 5e479d54918c..6d315c1465e0 100644
> --- a/drivers/hv/connection.c
> +++ b/drivers/hv/connection.c
> @@ -447,6 +447,10 @@ void vmbus_set_event(struct vmbus_channel *channel)
>=20
>  	++channel->sig_events;
>=20
> -	hv_do_fast_hypercall8(HVCALL_SIGNAL_EVENT, channel->sig_event);
> +	if (hv_isolation_type_snp())
> +		hv_ghcb_hypercall(HVCALL_SIGNAL_EVENT, &channel->sig_event,
> +				NULL, sizeof(u64));
> +	else
> +		hv_do_fast_hypercall8(HVCALL_SIGNAL_EVENT, channel->sig_event);
>  }
>  EXPORT_SYMBOL_GPL(vmbus_set_event);
> diff --git a/drivers/hv/hv.c b/drivers/hv/hv.c
> index 59f7173c4d9f..e5c9fc467893 100644
> --- a/drivers/hv/hv.c
> +++ b/drivers/hv/hv.c
> @@ -98,7 +98,13 @@ int hv_post_message(union hv_connection_id connection_=
id,
>  	aligned_msg->payload_size =3D payload_size;
>  	memcpy((void *)aligned_msg->payload, payload, payload_size);
>=20
> -	status =3D hv_do_hypercall(HVCALL_POST_MESSAGE, aligned_msg, NULL);
> +	if (hv_isolation_type_snp())
> +		status =3D hv_ghcb_hypercall(HVCALL_POST_MESSAGE,
> +				(void *)aligned_msg, NULL,
> +				sizeof(struct hv_input_post_message));
> +	else
> +		status =3D hv_do_hypercall(HVCALL_POST_MESSAGE,
> +				aligned_msg, NULL);
>=20
>  	/* Preemption must remain disabled until after the hypercall
>  	 * so some other thread can't get scheduled onto this cpu and
> diff --git a/include/asm-generic/mshyperv.h b/include/asm-generic/mshyper=
v.h
> index 90dac369a2dc..400181b855c1 100644
> --- a/include/asm-generic/mshyperv.h
> +++ b/include/asm-generic/mshyperv.h
> @@ -31,6 +31,35 @@
>=20
>  union hv_ghcb {
>  	struct ghcb ghcb;
> +	struct {
> +		u64 hypercalldata[509];
> +		u64 outputgpa;
> +		union {
> +			union {
> +				struct {
> +					u32 callcode        : 16;
> +					u32 isfast          : 1;
> +					u32 reserved1       : 14;
> +					u32 isnested        : 1;
> +					u32 countofelements : 12;
> +					u32 reserved2       : 4;
> +					u32 repstartindex   : 12;
> +					u32 reserved3       : 4;
> +				};
> +				u64 asuint64;
> +			} hypercallinput;
> +			union {
> +				struct {
> +					u16 callstatus;
> +					u16 reserved1;
> +					u32 elementsprocessed : 12;
> +					u32 reserved2         : 20;
> +				};
> +				u64 asunit64;
> +			} hypercalloutput;
> +		};
> +		u64 reserved2;
> +	} hypercall;
>  } __packed __aligned(PAGE_SIZE);

Alignment should be to HV_HYP_PAGE_SIZE.  And it would be a good safety
play to have a BUILD_BUG_ON() somewhere asserting that
sizeof(union hv_ghcb) =3D=3D HV_HYP_PAGE_SIZE.

>=20
>  struct ms_hyperv_info {
> --
> 2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 13 21:28:19 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 21:28:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166918.304685 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEeij-0006Sq-Jt; Fri, 13 Aug 2021 21:28:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166918.304685; Fri, 13 Aug 2021 21:28:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEeij-0006Sj-Fy; Fri, 13 Aug 2021 21:28:05 +0000
Received: by outflank-mailman (input) for mailman id 166918;
 Fri, 13 Aug 2021 21:28:04 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/Iem=NE=gmail.com=olekstysh@srs-us1.protection.inumbo.net>)
 id 1mEeii-0006Sd-Ex
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 21:28:04 +0000
Received: from mail-lf1-x133.google.com (unknown [2a00:1450:4864:20::133])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 710639fc-84e7-49c3-8e82-5d2ab5e00a5a;
 Fri, 13 Aug 2021 21:28:02 +0000 (UTC)
Received: by mail-lf1-x133.google.com with SMTP id c24so22287115lfi.11
 for <xen-devel@lists.xenproject.org>; Fri, 13 Aug 2021 14:28:02 -0700 (PDT)
Received: from otyshchenko.router ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id br41sm250528lfb.281.2021.08.13.14.28.00
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Fri, 13 Aug 2021 14:28: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: 710639fc-84e7-49c3-8e82-5d2ab5e00a5a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id;
        bh=8KJMZ+WDswslvVk3meizbvx1QEbOYR4SETvZl+Ww/7Y=;
        b=LjauUZOMDkP9fXItd0If8pjVq1zhY+ELYvMVYtxNJUSkbMDszcZf3Z1QZmb/4yu1SA
         ThyJGaPK/31fh/tNkgtmjAbopWQTQFC5M7kpCMCnW5qZhcOegsp+gUUG1ZycbbgSOh5h
         iyV2MAqZoW/yzyg3WuKZ5BTpmb8swvlO/SxgqGOh/xwctgMmEbUDnXT3NZh4j3jxtu8b
         cUnEIuVNbUOXkP9GyPd6wVS2raV0sJSRl2sOuJ3JKE6ub9AgLqRCvV1aIIMDRFvMFx3Y
         JVwS93vGtSoUdQWTCJcnCCeIzFQ1poxMPzg9qicDYhBzCaTtMJuKY0QLd3YafayctrN8
         /1WQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id;
        bh=8KJMZ+WDswslvVk3meizbvx1QEbOYR4SETvZl+Ww/7Y=;
        b=oBISssFL8eL6cySq6c45xh3hAewIXRRL/HOXAkygqJiGGVwpjEYgD9C/2jiUQ7ym3p
         f4NECPDdM7lNpo4YsW1DnZjZWk5yrT9APUl7Zp3FT2Yj9Yy1e6rsXDUjmGGWLkEhC1TM
         3vzvIfpet1msuQiH3cOflBh06mH8wNzxY4jwTms7DvrM/FfcxhGmNXVobSRNJ370oal2
         vFjEJtga8chwZSjxa/BNcY+CXD/7ZO70UPXBFXytoeNhcqfPgAR4PNv7jQCAJaaTYvjD
         DLXJr0E9Ah7lDGvuOaqM4EIxfHaUU1Y4ztLQpTxdGbvO4gnv6zLcL03bIaW8FtN4Co3X
         85qw==
X-Gm-Message-State: AOAM5300EMzR2Rh0Wcv7EI4BlUuykIL8kA61zbX3U31yuSj68AxFF1zW
	hlIT6seMf/vI7YRrFujbHcg6YJCQdEs=
X-Google-Smtp-Source: ABdhPJzpXIFMYWtxSYk/v3v9MUVFm3SvtuMtdQnrU/3XgPz+J2SbQVGC6S6ISn1u3ezlyqVqb1hcUw==
X-Received: by 2002:ac2:50c6:: with SMTP id h6mr2969536lfm.343.1628890081246;
        Fri, 13 Aug 2021 14:28:01 -0700 (PDT)
From: Oleksandr Tyshchenko <olekstysh@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.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>,
	Ian Jackson <iwj@xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH] xen/grant-table: Add a mechanism for cleaning frame GFN
Date: Sat, 14 Aug 2021 00:27:57 +0300
Message-Id: <1628890077-12545-1-git-send-email-olekstysh@gmail.com>
X-Mailer: git-send-email 2.7.4

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

Introduce new gnttab_clean_frame_gfn() which purpose is to
locate a GFN corresponding to the passed MFN and remove it
from the gnttab database. This manual updating is only needed
on arch without M2P support.
So, call it from p2m_put_l3_page() on Arm after making sure
that we release a grant table page.

This patch is intended to fix a possible bug on Arm which might
happen when remapping grant-table frame. From the discussion
on the ML:
"The function gnttab_map_frame() is used to map the grant table
frame. If there is an old mapping, it will first remove it.
The function is using the helper gnttab_get_frame_gfn() to find
the corresponding GFN or return INVALID_GFN if not mapped.
On Arm, gnttab_map_frame() is implementing using an array index
by the grant table frame number. The trouble is we don't update
the array when the page is unmapped. So if the GFN is re-used
before the grant-table is remapped, then we will end up to remove
whatever was mapped there (this could be a foreign page...)."

Suggested-by: Julien Grall <jgrall@amazon.com>
Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
---
You can find the discussion at:
https://lore.kernel.org/xen-devel/93d0df14-2c8a-c2e3-8c51-54412190171c@xen.org/

I am sure that gnttab_clean_frame_gfn() is not needed on x86 which
has M2P support. But, I was thinking where to keep it, but couldn't
find any suitable place other than common grant_table.c.
I thought, new function could be neither placed in arch header as
static inline nor in "new" arch C file without reworking common
grant_table.c by moving all involved stuff (struct declarations,
helpers, etc) to the common header to make them visible from
the outside.
---
 xen/arch/arm/p2m.c            | 20 ++++++++++++++++----
 xen/common/grant_table.c      | 42 ++++++++++++++++++++++++++++++++++++++++++
 xen/include/xen/grant_table.h |  4 ++++
 3 files changed, 62 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index eff9a10..e921be2 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -2,6 +2,7 @@
 #include <xen/domain_page.h>
 #include <xen/iocap.h>
 #include <xen/ioreq.h>
+#include <xen/grant_table.h>
 #include <xen/lib.h>
 #include <xen/sched.h>
 #include <xen/softirq.h>
@@ -718,8 +719,10 @@ static int p2m_mem_access_radix_set(struct p2m_domain *p2m, gfn_t gfn,
  * TODO: Handle superpages, for now we only take special references for leaf
  * pages (specifically foreign ones, which can't be super mapped today).
  */
-static void p2m_put_l3_page(const lpae_t pte)
+static void p2m_put_l3_page(struct p2m_domain *p2m, const lpae_t pte)
 {
+    mfn_t mfn = lpae_get_mfn(pte);
+
     ASSERT(p2m_is_valid(pte));
 
     /*
@@ -731,11 +734,20 @@ static void p2m_put_l3_page(const lpae_t pte)
      */
     if ( p2m_is_foreign(pte.p2m.type) )
     {
-        mfn_t mfn = lpae_get_mfn(pte);
-
         ASSERT(mfn_valid(mfn));
         put_page(mfn_to_page(mfn));
     }
+
+#ifdef CONFIG_GRANT_TABLE
+    /*
+     * Check whether we deal with grant-table page which GFN is stored
+     * in the gnttab database, so also needs to be marked as invalid.
+     * As the grant-table page is xen_heap page and its entry has known
+     * p2m type, detect it and let the gnttab code do the job.
+     */
+    if ( p2m_is_ram(pte.p2m.type) && is_xen_heap_mfn(mfn) )
+        gnttab_clean_frame_gfn(p2m->domain, mfn);
+#endif
 }
 
 /* Free lpae sub-tree behind an entry */
@@ -768,7 +780,7 @@ static void p2m_free_entry(struct p2m_domain *p2m,
         p2m->stats.mappings[level]--;
         /* Nothing to do if the entry is a super-page. */
         if ( level == 3 )
-            p2m_put_l3_page(entry);
+            p2m_put_l3_page(p2m, entry);
         return;
     }
 
diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c
index fab77ab..4559524 100644
--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -4104,6 +4104,48 @@ int gnttab_map_frame(struct domain *d, unsigned long idx, gfn_t gfn, mfn_t *mfn)
     return rc;
 }
 
+/*
+ * The only purpose of this function is to locate GFN corresponding to
+ * the passed MFN and remove it from the gnttab database.
+ */
+void gnttab_clean_frame_gfn(struct domain *d, mfn_t mfn)
+{
+    struct grant_table *gt = d->grant_table;
+    unsigned int i;
+    mfn_t tmp;
+
+    grant_write_lock(gt);
+
+    for ( i = 0; i < gt->max_grant_frames; i++ )
+    {
+        if ( gt->shared_raw[i] == NULL )
+            continue;
+
+        tmp = _mfn(virt_to_mfn(gt->shared_raw[i]));
+        if ( mfn_eq(tmp, mfn) )
+        {
+            gnttab_set_frame_gfn(gt, false, i, INVALID_GFN);
+            goto unlock;
+        }
+    }
+
+    for ( i = 0; i < grant_to_status_frames(gt->max_grant_frames); i++ )
+    {
+        if ( gt->status[i] == NULL )
+            continue;
+
+        tmp = _mfn(virt_to_mfn(gt->status[i]));
+        if ( mfn_eq(tmp, mfn) )
+        {
+            gnttab_set_frame_gfn(gt, true, i, INVALID_GFN);
+            goto unlock;
+        }
+    }
+
+unlock:
+    grant_write_unlock(gt);
+}
+
 static void gnttab_usage_print(struct domain *rd)
 {
     int first = 1;
diff --git a/xen/include/xen/grant_table.h b/xen/include/xen/grant_table.h
index 9f8b7e6..62bae72 100644
--- a/xen/include/xen/grant_table.h
+++ b/xen/include/xen/grant_table.h
@@ -63,6 +63,8 @@ int gnttab_acquire_resource(
     struct domain *d, unsigned int id, unsigned int frame,
     unsigned int nr_frames, xen_pfn_t mfn_list[]);
 
+void gnttab_clean_frame_gfn(struct domain *d, mfn_t mfn);
+
 #else
 
 #define opt_max_grant_frames 0
@@ -108,6 +110,8 @@ static inline int gnttab_acquire_resource(
     return -EINVAL;
 }
 
+static inline void gnttab_clean_frame_gfn(struct domain *d, mfn_t mfn) {}
+
 #endif /* CONFIG_GRANT_TABLE */
 
 #endif /* __XEN_GRANT_TABLE_H__ */
-- 
2.7.4



From xen-devel-bounces@lists.xenproject.org Fri Aug 13 21:28:51 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 21:28:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166921.304695 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEejS-00070u-Sk; Fri, 13 Aug 2021 21:28:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166921.304695; Fri, 13 Aug 2021 21: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 1mEejS-00070n-Pn; Fri, 13 Aug 2021 21:28:50 +0000
Received: by outflank-mailman (input) for mailman id 166921;
 Fri, 13 Aug 2021 21:28:49 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mPiC=NE=microsoft.com=mikelley@srs-us1.protection.inumbo.net>)
 id 1mEejQ-0006yO-Um
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 21:28:49 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com (unknown
 [40.107.220.130]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 71282bc4-fc7d-11eb-a32b-12813bfff9fa;
 Fri, 13 Aug 2021 21:28:47 +0000 (UTC)
Received: from MWHPR21MB1593.namprd21.prod.outlook.com (2603:10b6:301:7c::11)
 by CO1PR21MB1297.namprd21.prod.outlook.com (2603:10b6:303:160::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.4; Fri, 13 Aug
 2021 21:28:42 +0000
Received: from MWHPR21MB1593.namprd21.prod.outlook.com
 ([fe80::e8f7:b582:9e2d:ba55]) by MWHPR21MB1593.namprd21.prod.outlook.com
 ([fe80::e8f7:b582:9e2d:ba55%2]) with mapi id 15.20.4436.012; Fri, 13 Aug 2021
 21:28: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: 71282bc4-fc7d-11eb-a32b-12813bfff9fa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lM9GMkQ0CZSF6GcW8MmJykNorU4W3vROSFp9OpMWUpORxqWGY2xKiKRyW/DYdbXHcp+hv75N6vxrYIwD0+BXgRasvE/lCKf8xBHZz0JGe48Pgv+uM2M7PWqgGDtwAJ4z68HVLgk2ltpRiSpTNxY94o/Oqir1sBCVHozLuB4chZMsbFvFpcMfqX82Z3pIrSTvXg9xG07vu4Supnd0kpTwivtQITp6oJRbgAUfJnmoI8P59Hncx8mbGRdWyO2ftnuKaT6ndR2PldfI0tzBOMdJS51Ed8D/VSuaBg5aM/gF13cdikt/R7SoT6Voc4kXudJZy7780fJS9DJUrFgk/QPytA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vFr/KaTPD182VDnGFw4G1DU5W3PZzQMKCsybADs7tdw=;
 b=IGlght9cNCY9OCkHeWUQmBMXCJPDJsKmWdD14PA/LMEFBjfqLMK7AIARIjWcinqwpCEgfZLyRzHtqf7D24HJM14+tjDlh6SmBVsGaoCSO6cHxh6GXXQJN8djcGIk3OBHp8L3djn29E4+WSu8ct2TqPPEc96Axm9jqpPMrWEvbzPCgqJm5N0kb1Unf0YHdGXzSxV+SMnvxEZkzCKcAEp+fgcQvqrz/sOSWkZDpBSWU/GBUbmAuLxI5KbRnqRHn/o3Afd5Gsj0WQeZiDSEgAikLeq5/mtUzRxe0PD0d+GdvPNmNolKxg04W47U9sSfP8J6y5F4kmJqI9mu6Hj/qb8gVg==
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=vFr/KaTPD182VDnGFw4G1DU5W3PZzQMKCsybADs7tdw=;
 b=Ma8Sdr4yWNsaxQT5BfRvtkuXHY1ZDOPqnYs9FecMsAq5GAnUJPdmim7Inid47cWpOzoKKKFZTar/y+BhP4a14UReRxWJkfkgPzrBVyHAJobC79WQ6GP1mZ4hk2vWHs8C/q7w0eTeF1uO0sDKmf4jmXLs6rhirn/TbTq7jCoSzzk=
From: Michael Kelley <mikelley@microsoft.com>
To: Tianyu Lan <ltykernel@gmail.com>, KY Srinivasan <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>, Stephen Hemminger
	<sthemmin@microsoft.com>, "wei.liu@kernel.org" <wei.liu@kernel.org>, Dexuan
 Cui <decui@microsoft.com>, "tglx@linutronix.de" <tglx@linutronix.de>,
	"mingo@redhat.com" <mingo@redhat.com>, "bp@alien8.de" <bp@alien8.de>,
	"x86@kernel.org" <x86@kernel.org>, "hpa@zytor.com" <hpa@zytor.com>,
	"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
	"luto@kernel.org" <luto@kernel.org>, "peterz@infradead.org"
	<peterz@infradead.org>, "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	"boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>, "jgross@suse.com"
	<jgross@suse.com>, "sstabellini@kernel.org" <sstabellini@kernel.org>,
	"joro@8bytes.org" <joro@8bytes.org>, "will@kernel.org" <will@kernel.org>,
	"davem@davemloft.net" <davem@davemloft.net>, "kuba@kernel.org"
	<kuba@kernel.org>, "jejb@linux.ibm.com" <jejb@linux.ibm.com>,
	"martin.petersen@oracle.com" <martin.petersen@oracle.com>, "arnd@arndb.de"
	<arnd@arndb.de>, "hch@lst.de" <hch@lst.de>, "m.szyprowski@samsung.com"
	<m.szyprowski@samsung.com>, "robin.murphy@arm.com" <robin.murphy@arm.com>,
	"thomas.lendacky@amd.com" <thomas.lendacky@amd.com>, "brijesh.singh@amd.com"
	<brijesh.singh@amd.com>, "ardb@kernel.org" <ardb@kernel.org>, Tianyu Lan
	<Tianyu.Lan@microsoft.com>, "pgonda@google.com" <pgonda@google.com>,
	"martin.b.radev@gmail.com" <martin.b.radev@gmail.com>,
	"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
	"kirill.shutemov@linux.intel.com" <kirill.shutemov@linux.intel.com>,
	"rppt@kernel.org" <rppt@kernel.org>, "sfr@canb.auug.org.au"
	<sfr@canb.auug.org.au>, "saravanand@fb.com" <saravanand@fb.com>,
	"krish.sadhukhan@oracle.com" <krish.sadhukhan@oracle.com>,
	"aneesh.kumar@linux.ibm.com" <aneesh.kumar@linux.ibm.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"rientjes@google.com" <rientjes@google.com>, "hannes@cmpxchg.org"
	<hannes@cmpxchg.org>, "tj@kernel.org" <tj@kernel.org>
CC: "iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org>,
	"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
	"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>, vkuznets
	<vkuznets@redhat.com>, "parri.andrea@gmail.com" <parri.andrea@gmail.com>,
	"dave.hansen@intel.com" <dave.hansen@intel.com>
Subject: RE: [PATCH V3 07/13] HV/Vmbus: Add SNP support for VMbus channel
 initiate message
Thread-Topic: [PATCH V3 07/13] HV/Vmbus: Add SNP support for VMbus channel
 initiate message
Thread-Index: AQHXjUfv24BSqXdZjUClmJbxPo3yw6tx7wUg
Date: Fri, 13 Aug 2021 21:28:42 +0000
Message-ID:
 <MWHPR21MB15934F9D5617224608073CE7D7FA9@MWHPR21MB1593.namprd21.prod.outlook.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-8-ltykernel@gmail.com>
In-Reply-To: <20210809175620.720923-8-ltykernel@gmail.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=4db12a68-da5e-4335-95dc-8738a43aac1e;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=2021-08-13T20:50:04Z;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-office365-filtering-correlation-id: 98b0b9a1-c51b-4bba-9ca6-08d95ea15337
x-ms-traffictypediagnostic: CO1PR21MB1297:
x-ms-exchange-transport-forked: True
x-ld-processed: 72f988bf-86f1-41af-91ab-2d7cd011db47,ExtAddr
x-microsoft-antispam-prvs:
 <CO1PR21MB12972358D5949C41735B40B8D7FA9@CO1PR21MB1297.namprd21.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:6430;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 3gdBQr+uaC/cH62f4x1FyA31Ggv7YkIy0azhogOJsnsNNDB0j3b+JRim3OKb74MQFbxb7RlIeQm5EhnB9Y1281XA0XpgSxvH3VYFNQgMqB92WaodbZ3GFqUZ53OLqJ0xz65i9EmvfRt3EKohriAnKNoPUn/MTKUjfylwHBI4oESuB41+4nU+Ebv/EP/R6XluxyOWw5zEqbbWD4h2b0s3cdtfVOC/38xJUUM9X0itbiC2i3mkmg+BDaAH9MYOMGZxYyIyz2cfaAYQYIZhSOs2qB6RPi8JFxFAJrrC8nG/zM6nTVhQgi4GLr933+wKrisfTfJrFG+a+3G0+J159C903tLRgQInrG3dgi3F6Ly12DvBbSukuA0fHL+ppjgU6QPEMRKAq9wlK5BB53/iJzlMLbEsg5WDyDkIpB3sdcOARlnnFHAyG41tGpkWvve7gzcTV4EAE2BAj740v1Sfbj1Aln9CYYQ34qEtJOp/KUzDxcEEV8NtLXp1FLWh/nU27fm7oakeF0Q4ZMgHZA1qxlU/MzYtMm42x45MRq5xM3ZEBI5TXxA4AW5SNfiMjqh7wrGpaFPc55H6aQsTxs7SPA6g7LRHt+SSaxUlz2m5MGGQMnNA7qvk4It/Jt+JxSECGZYk7ohCeeWIJ0JGFxSWFv1endAKgcvNdzfW2IZBzoOvsZiBtGMomHpdrDroGf2yxmzxsUu54WcqBpRyo5PL2UNsPJxz4KOJB1n97Tsr1roDYxI=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR21MB1593.namprd21.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(508600001)(55016002)(6506007)(10290500003)(5660300002)(9686003)(76116006)(82950400001)(8936002)(122000001)(38100700002)(66556008)(8676002)(64756008)(66946007)(66446008)(110136005)(52536014)(71200400001)(33656002)(38070700005)(86362001)(316002)(15650500001)(66476007)(54906003)(82960400001)(7696005)(921005)(8990500004)(83380400001)(2906002)(7416002)(186003)(4326008)(26005)(7406005);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?PI8niaD816S/UGWfeiG2CzBZYApmgTd1MXNm3ntN3Gu/tVDMXv9DoBc6+t1v?=
 =?us-ascii?Q?R1kfPCnSRpSiG57uJJOrntPgM7HcfVpJ15sGD4RZP7Fl13UwITUC3LDcQeit?=
 =?us-ascii?Q?97+PbvTZElm1FDv8E75dOPhheZYTiRuBLRv9JG2spF6cK5kTvSCIDtKB6Au2?=
 =?us-ascii?Q?RRj6soRUmFkOEn9F2N9mEvtqkhwRBh3XvY+yx0SwL6dW1MjDkGUWtX45EmuD?=
 =?us-ascii?Q?YEeHqwijiNdTjSVjMVwURfHFaudSSssyG5KJi/8fY0ydY+iRErRjyboWBHnN?=
 =?us-ascii?Q?2DLoMWjTiUmGx/lxb9SY8OfMN+tDOjF+msaMXnlYdOsARNh69o4PKIz4QrIw?=
 =?us-ascii?Q?itAAUiygWh6JD1TvLmoAF7F1DPmgNmao3GaGcBpATHo+EM1SrklyJvClAjKp?=
 =?us-ascii?Q?ob3uM/+LqaQrfGWy//1SGK0lQ8dzrMcn6TxH7Ug4DqjF6Y06kF6uWDGoPk9f?=
 =?us-ascii?Q?sUmQA0Q+vjGWTHiYgwl7aybYPwOGPYTbcocwhC5waln4I6D0ip0F5tX1qFpr?=
 =?us-ascii?Q?uewC/TURDW3EZ/DdCuCTTzi4GzAOu4Xpvt0o9DSKh7/lUqTRFqLHGmAgoUPe?=
 =?us-ascii?Q?7E3WYvb3NoWDlp8k8gcavnkouazT1YJat1RtRVY5jppHM1+Wc/kHoXjoyxTg?=
 =?us-ascii?Q?ai7VTSFmbjH1sc64jwChCcQwFblmuo52S9XfHVzzpT9d1jL5kM5QV+afLoyA?=
 =?us-ascii?Q?B4UeuadKypZ9ExzPw44217pZ33mCl145cfk+P02hWcp8p0GP2iJ9wpaGXz/w?=
 =?us-ascii?Q?uZ8s68l+l8TKzUbq88JEmtJScpmu9izs3M5EUwxrM4PNp9ti9WGyg/WWkYW3?=
 =?us-ascii?Q?7DKhptunUpT+JWb648aYcswGLLaQa8hLXe9+dBFx3ngkZU2miH46UlrPvrV6?=
 =?us-ascii?Q?871GN4VB5cdv1R2owKu4y8l6MZIj/qtMOMulHLkaxbPYHCee5II++OUAyual?=
 =?us-ascii?Q?Rvs4bCeQT8s6Ezm7dmkAz+DNit6XiMZncUU3W7JuR7JTNpflcZUXOn+sR+CX?=
 =?us-ascii?Q?ax737yG6smY4+c9Aa1mOBdA2hX0t3Cbg4tiP2SOBzJyq3K57KDAamcXagxk/?=
 =?us-ascii?Q?BKOmQzAtHPZZj6Bi73t8evdDVGfhp0ne5dfAQ0dtbUqSxjIZ9bsHuAzcV5tP?=
 =?us-ascii?Q?njY1LDSOJEO1lm/z9DBQz4b+leOi7XznGhOMEU0wyYKoldN6MVe32msRcCFX?=
 =?us-ascii?Q?BtM+vIoFISIURMxKFe7zoHXm7goQTXm0ozp96edgQ6R30AgPkpncsUNDYg5T?=
 =?us-ascii?Q?8nWrRLZYOCEsTMWzJdBUywik7C3XWpNtXEdNgwRqLdSyEfQiEPuD3sGnMbQL?=
 =?us-ascii?Q?97gmhx77iDT7wLoRxXQLJG7W?=
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: MWHPR21MB1593.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 98b0b9a1-c51b-4bba-9ca6-08d95ea15337
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Aug 2021 21:28:42.5526
 (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: 2GlRry51dOGFLEy7qqNRQefh0YZsixtx9+RUI/RWWHP4M+m1dHGK/+j6WV1ge08uWzwqfz1rLzM7tiftV89eEyF/cN1aHAL+veCkNvjH/Wo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR21MB1297

From: Tianyu Lan <ltykernel@gmail.com> Sent: Monday, August 9, 2021 10:56 A=
M
>=20
> The monitor pages in the CHANNELMSG_INITIATE_CONTACT msg are shared
> with host in Isolation VM and so it's necessary to use hvcall to set
> them visible to host. In Isolation VM with AMD SEV SNP, the access
> address should be in the extra space which is above shared gpa
> boundary. So remap these pages into the extra address(pa +
> shared_gpa_boundary). Introduce monitor_pages_va to store
> the remap address and unmap these va when disconnect vmbus.
>=20
> Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
> ---
> Change since v1:
>         * Not remap monitor pages in the non-SNP isolation VM.
> ---
>  drivers/hv/connection.c   | 65 +++++++++++++++++++++++++++++++++++++++
>  drivers/hv/hyperv_vmbus.h |  1 +
>  2 files changed, 66 insertions(+)
>=20
> diff --git a/drivers/hv/connection.c b/drivers/hv/connection.c
> index 6d315c1465e0..bf0ac3167bd2 100644
> --- a/drivers/hv/connection.c
> +++ b/drivers/hv/connection.c
> @@ -19,6 +19,7 @@
>  #include <linux/vmalloc.h>
>  #include <linux/hyperv.h>
>  #include <linux/export.h>
> +#include <linux/io.h>
>  #include <asm/mshyperv.h>
>=20
>  #include "hyperv_vmbus.h"
> @@ -104,6 +105,12 @@ int vmbus_negotiate_version(struct vmbus_channel_msg=
info *msginfo, u32 version)
>=20
>  	msg->monitor_page1 =3D virt_to_phys(vmbus_connection.monitor_pages[0]);
>  	msg->monitor_page2 =3D virt_to_phys(vmbus_connection.monitor_pages[1]);
> +
> +	if (hv_isolation_type_snp()) {
> +		msg->monitor_page1 +=3D ms_hyperv.shared_gpa_boundary;
> +		msg->monitor_page2 +=3D ms_hyperv.shared_gpa_boundary;
> +	}
> +
>  	msg->target_vcpu =3D hv_cpu_number_to_vp_number(VMBUS_CONNECT_CPU);
>=20
>  	/*
> @@ -148,6 +155,31 @@ int vmbus_negotiate_version(struct vmbus_channel_msg=
info *msginfo, u32 version)
>  		return -ECONNREFUSED;
>  	}
>=20
> +	if (hv_isolation_type_snp()) {
> +		vmbus_connection.monitor_pages_va[0]
> +			=3D vmbus_connection.monitor_pages[0];
> +		vmbus_connection.monitor_pages[0]
> +			=3D memremap(msg->monitor_page1, HV_HYP_PAGE_SIZE,
> +				   MEMREMAP_WB);
> +		if (!vmbus_connection.monitor_pages[0])
> +			return -ENOMEM;

This error case causes vmbus_negotiate_version() to return with
vmbus_connection.con_state set to CONNECTED.  But the caller never checks t=
he
returned error code except for ETIMEDOUT.  So the caller will think that
vmbus_negotiate_version() succeeded when it didn't.  There may be some
existing bugs in that error handling code. :-(

> +
> +		vmbus_connection.monitor_pages_va[1]
> +			=3D vmbus_connection.monitor_pages[1];
> +		vmbus_connection.monitor_pages[1]
> +			=3D memremap(msg->monitor_page2, HV_HYP_PAGE_SIZE,
> +				   MEMREMAP_WB);
> +		if (!vmbus_connection.monitor_pages[1]) {
> +			memunmap(vmbus_connection.monitor_pages[0]);
> +			return -ENOMEM;
> +		}
> +
> +		memset(vmbus_connection.monitor_pages[0], 0x00,
> +		       HV_HYP_PAGE_SIZE);
> +		memset(vmbus_connection.monitor_pages[1], 0x00,
> +		       HV_HYP_PAGE_SIZE);
> +	}
> +

I don't think the memset() calls are needed.  The memory was originally
allocated with hv_alloc_hyperv_zeroed_page(), so it should already be zeroe=
d.

>  	return ret;
>  }
>=20
> @@ -159,6 +191,7 @@ int vmbus_connect(void)
>  	struct vmbus_channel_msginfo *msginfo =3D NULL;
>  	int i, ret =3D 0;
>  	__u32 version;
> +	u64 pfn[2];
>=20
>  	/* Initialize the vmbus connection */
>  	vmbus_connection.conn_state =3D CONNECTING;
> @@ -216,6 +249,16 @@ int vmbus_connect(void)
>  		goto cleanup;
>  	}
>=20
> +	if (hv_is_isolation_supported()) {
> +		pfn[0] =3D virt_to_hvpfn(vmbus_connection.monitor_pages[0]);
> +		pfn[1] =3D virt_to_hvpfn(vmbus_connection.monitor_pages[1]);
> +		if (hv_mark_gpa_visibility(2, pfn,
> +				VMBUS_PAGE_VISIBLE_READ_WRITE)) {

Note that hv_mark_gpa_visibility() will need an appropriate no-op stub so
that this architecture independent code will compile for ARM64.

> +			ret =3D -EFAULT;
> +			goto cleanup;
> +		}
> +	}
> +
>  	msginfo =3D kzalloc(sizeof(*msginfo) +
>  			  sizeof(struct vmbus_channel_initiate_contact),
>  			  GFP_KERNEL);
> @@ -284,6 +327,8 @@ int vmbus_connect(void)
>=20
>  void vmbus_disconnect(void)
>  {
> +	u64 pfn[2];
> +
>  	/*
>  	 * First send the unload request to the host.
>  	 */
> @@ -303,6 +348,26 @@ void vmbus_disconnect(void)
>  		vmbus_connection.int_page =3D NULL;
>  	}
>=20
> +	if (hv_is_isolation_supported()) {
> +		if (vmbus_connection.monitor_pages_va[0]) {
> +			memunmap(vmbus_connection.monitor_pages[0]);
> +			vmbus_connection.monitor_pages[0]
> +				=3D vmbus_connection.monitor_pages_va[0];
> +			vmbus_connection.monitor_pages_va[0] =3D NULL;
> +		}
> +
> +		if (vmbus_connection.monitor_pages_va[1]) {
> +			memunmap(vmbus_connection.monitor_pages[1]);
> +			vmbus_connection.monitor_pages[1]
> +				=3D vmbus_connection.monitor_pages_va[1];
> +			vmbus_connection.monitor_pages_va[1] =3D NULL;
> +		}
> +
> +		pfn[0] =3D virt_to_hvpfn(vmbus_connection.monitor_pages[0]);
> +		pfn[1] =3D virt_to_hvpfn(vmbus_connection.monitor_pages[1]);
> +		hv_mark_gpa_visibility(2, pfn, VMBUS_PAGE_NOT_VISIBLE);
> +	}
> +

The code in this patch feels a bit more complicated than it needs to be.  A=
ltogether,
there are two different virtual addresses and one physical address for each=
 monitor
page.  The two virtual addresses are the one obtained from the original mem=
ory
allocation, and which will be used to free the memory.  The second virtual =
address
is the one used to actually access the data, which is the same as the first=
 virtual
address for a non-isolated VM.  The second VA is the result of memremap() c=
all for an
isolated VM.  The vmbus_connection data structure should save all three val=
ues for
each monitor page so they don't need to recomputed or moved around.  Then:

1) For isolated and for non-isolated VMs, setup the virtual and physical ad=
dresses
of the monitor pages in vmbus_connect(), and store them in the vmbus_connec=
tion
data structure.  The physical address should include the shared_gpa_boundar=
y offset
in the case of an isolated VM.  At this point the two virtual addresses are=
 the same.

2) vmbus_negotiate_version() just grabs the physical address from the
vmbus_connection data structure.  It doesn't make any changes to the virtua=
l
or physical addresses, which keeps it focused just on version negotiation.

3) Once vmbus_negotiate_version() is done, vmbus_connect() can determine
the remapped virtual address, and store that.  It can also change the visib=
ility
of the two pages using the previously stored physical address.

4) vmbus_disconnect() can do the memunmaps() and change the visibility if n=
eeded,
and then free the memory using the address from the original allocation in =
Step 1.

>  	hv_free_hyperv_page((unsigned long)vmbus_connection.monitor_pages[0]);
>  	hv_free_hyperv_page((unsigned long)vmbus_connection.monitor_pages[1]);
>  	vmbus_connection.monitor_pages[0] =3D NULL;
> diff --git a/drivers/hv/hyperv_vmbus.h b/drivers/hv/hyperv_vmbus.h
> index 42f3d9d123a1..40bc0eff6665 100644
> --- a/drivers/hv/hyperv_vmbus.h
> +++ b/drivers/hv/hyperv_vmbus.h
> @@ -240,6 +240,7 @@ struct vmbus_connection {
>  	 * is child->parent notification
>  	 */
>  	struct hv_monitor_page *monitor_pages[2];
> +	void *monitor_pages_va[2];
>  	struct list_head chn_msg_list;
>  	spinlock_t channelmsg_lock;
>=20
> --
> 2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 13 21:45:24 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 21:45:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166927.304707 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEezN-0000sj-Ac; Fri, 13 Aug 2021 21:45:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166927.304707; Fri, 13 Aug 2021 21: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 1mEezN-0000sc-7O; Fri, 13 Aug 2021 21:45:17 +0000
Received: by outflank-mailman (input) for mailman id 166927;
 Fri, 13 Aug 2021 21:45:15 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/Iem=NE=gmail.com=olekstysh@srs-us1.protection.inumbo.net>)
 id 1mEezL-0000sU-Lw
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 21:45:15 +0000
Received: from mail-lf1-x12e.google.com (unknown [2a00:1450:4864:20::12e])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id e033cc89-fa00-4f44-8d18-a655e831e82a;
 Fri, 13 Aug 2021 21:45:14 +0000 (UTC)
Received: by mail-lf1-x12e.google.com with SMTP id n17so22348790lft.13
 for <xen-devel@lists.xenproject.org>; Fri, 13 Aug 2021 14:45:14 -0700 (PDT)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id c13sm253547lfv.133.2021.08.13.14.45.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 13 Aug 2021 14:45: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: e033cc89-fa00-4f44-8d18-a655e831e82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-transfer-encoding:content-language;
        bh=lxcjhUazLVa3sWBGA1sU9XXPAd+MdzYWvpCzlHEoKUQ=;
        b=le07xKNqR2DZhwwHfwMb20aGOo2SxcVsxwqx9XUfcBfUViKwvh4JKeOX3Mc9HZjyoB
         Iva83Tiagn0qjnfd8z7ML6XaVpVBdYpq+SQY/8d5j3WLw4l+WorcexjECdkThUfCly5N
         eAPxTpNdH4Uk3f2VhKIkr+fyX6oxpkpbRWtOc6dJH7jvJrudxBPWZWNUT8V7lOUt2qr7
         vzgEl/ZF/5Dyo6Pwy1jCwIh0JL6OwMlne92URkea4QDNTZfaQm1wdnsWhpOsP8Xy9NLw
         ud325LgCUwxSPT/Qdo1mxlp9/L/xjUhZz6pmDwNbEwM0j7phkkbt+1M7N+F80lBcl8cP
         SW5Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-transfer-encoding
         :content-language;
        bh=lxcjhUazLVa3sWBGA1sU9XXPAd+MdzYWvpCzlHEoKUQ=;
        b=jVCGtTI5aueAAS+akOsq1lYkLQAvGJrQnreXw5pqbMHWlqU4mhGa9mHNkkxOvYm7fd
         VnkGXXuo0MOn7vg+jF+UrhFuQULKMY1cVCCBMnxxxnkWkex6qAUML3Y7RA3+voazX9bI
         +W5hycPwusCQ7/1yIf2OsdA5jvYJPDDFMec/vpllxSfRY8lEGYpRduVq0ckvYTAe8ybk
         TZxoH8ihkSF7kwembuob9DtaFcsnv654wPNgmvQcOm4V2Bo2i3V8l7siaHF8qqG67NDj
         03hWoUbkqLfrNz9yN54FKrHvg9OHH3YjB9p6VLTUANu1C9Ln61epTDvE0GEABfJ9F1nn
         Clew==
X-Gm-Message-State: AOAM532WnlIWNcIVpX95LsTsSR45s60FNKJiC0ERF2pbhc2LgyacFSil
	n2LBqzQYpB6+hJaXXoPB2hY=
X-Google-Smtp-Source: ABdhPJwa9myeFmdjDIMUQP8r5H/8xW3VW/sFJeq/kJMpyz5aiq2W5TT0S7KsnpZ6WL67z61vefQH0Q==
X-Received: by 2002:ac2:5fd1:: with SMTP id q17mr3096725lfg.439.1628891113172;
        Fri, 13 Aug 2021 14:45:13 -0700 (PDT)
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
To: Julien Grall <julien@xen.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <80fafc01-f063-d6e5-1c08-7ad64550310c@citrix.com>
 <e8db3021-78a5-e040-a70b-62ca5b500149@xen.org>
 <4de5ed21-379e-b618-44c8-924d88b1a519@citrix.com>
 <bbc7f597-5249-20a0-cac9-13f594268299@xen.org>
 <6a633f4e-13e0-4a2b-cf6e-35ef90ae977c@gmail.com>
 <alpine.DEB.2.21.2107301630510.10122@sstabellini-ThinkPad-T480s>
 <f6b2e6c6-bf58-960f-4a09-f05ebcf1f566@gmail.com>
 <5643d414-0b76-74a4-2c37-c7a99338d547@gmail.com>
 <c83378af-4d3b-9256-0e0d-f88c43c6de2f@xen.org>
 <93d0df14-2c8a-c2e3-8c51-54412190171c@xen.org>
From: Oleksandr <olekstysh@gmail.com>
Message-ID: <c89c7e97-810d-8c1b-e9c2-bf583b1bf5c5@gmail.com>
Date: Sat, 14 Aug 2021 00:45:11 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.10.0
MIME-Version: 1.0
In-Reply-To: <93d0df14-2c8a-c2e3-8c51-54412190171c@xen.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US


On 09.08.21 17:51, Julien Grall wrote:
> Hi,

Hi Julien, all


>
> I am writing down here what we discussed on another thread and on IRC. 
> This will be easier to track in a single thread.
>
> On 04/08/2021 23:00, Julien Grall wrote:
>> On 04/08/2021 21:56, Oleksandr wrote:
>>> Now, I am wondering, would it be possible to update/clarify the 
>>> current "reg" purpose and use it to pass a safe unallocated space 
>>> for any Xen specific mappings (grant, foreign, whatever) instead of 
>>> just for the grant table region. In case, it is not allowed for any 
>>> reason (compatibility PoV, etc), would it be possible to extend a 
>>> property by passing an extra range separately, something similar to 
>>> how I described above?
>>
>> I think it should be fine to re-use the same region so long the size 
>> of the first bank is at least the size of the original region.
>
> While answering to the DT binding question on the DT ML, I realized 
> that this is probably not going to be fine because there is a bug in 
> Xen when mapping grant-table frame.
>
> The function gnttab_map_frame() is used to map the grant table frame. 
> If there is an old mapping, it will first remove it.
>
> The function is using the helper gnttab_map_frame() to find the 
> corresponding GFN or return INVALID_GFN if not mapped.
>
> On Arm, gnttab_map_frame() is implementing using an array index by the 
> grant table frame number. The trouble is we don't update the array 
> when the page is unmapped. So if the GFN is re-used before the 
> grant-table is remapped, then we will end up to remove whatever was 
> mapped there (this could be a foreign page...).
>
> This behavior already happens today as the toolstack will use the 
> first GFN of the region if Linux doesn't support the acquire resource 
> interface. We are getting away in the Linux because the toolstack only 
> map the first grant table frame and:
>  - Newer Linux will not used the region provided by the DT and nothing 
> will be mapped there.
>  - Older Linux will use the region but still map the grant table frame 
> 0 to the same GFN.
>
> I am not sure about U-boot and other OSes here.
>
> This is not new but it is going to be become a bigger source of 
> problem (read more chance to hit it) as we try to re-use the first 
> region.
>
> This means the first region should exclusively used for the 
> grant-table (in a specific order) until the issue is properly fixed.
>
> A potential fix is to update the array in p2m_put_l3_page(). The 
> default max size of the array is 1024, so it might be fine to just 
> walk it (it would be simply a comparison).
>
> Note that this is not a problem on x86 because the is using the M2P. 
> So when a mapping is removed, the mapping MFN -> GFN will also be 
> removed.
>
> Cheers,


The fix is already pushed:

https://lore.kernel.org/xen-devel/1628890077-12545-1-git-send-email-olekstysh@gmail.com/


Thanks!




-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Fri Aug 13 23:29:11 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 23:29:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166934.304718 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEgbj-0001by-19; Fri, 13 Aug 2021 23:28:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166934.304718; Fri, 13 Aug 2021 23:28:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEgbi-0001br-UO; Fri, 13 Aug 2021 23:28:58 +0000
Received: by outflank-mailman (input) for mailman id 166934;
 Fri, 13 Aug 2021 23:28:57 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/Iem=NE=gmail.com=olekstysh@srs-us1.protection.inumbo.net>)
 id 1mEgbh-0001bl-0t
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 23:28:57 +0000
Received: from mail-lj1-x232.google.com (unknown [2a00:1450:4864:20::232])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 128c0fae-e929-4917-adeb-e41488eda545;
 Fri, 13 Aug 2021 23:28:55 +0000 (UTC)
Received: by mail-lj1-x232.google.com with SMTP id m17so14200682ljp.7
 for <xen-devel@lists.xenproject.org>; Fri, 13 Aug 2021 16:28:55 -0700 (PDT)
Received: from otyshchenko.router ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id o10sm272915lfl.129.2021.08.13.16.28.52
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Fri, 13 Aug 2021 16:28:53 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 128c0fae-e929-4917-adeb-e41488eda545
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id;
        bh=IzbPSa3YJJJXFN8JtH2LLjIoe7AguUHWgJC9L1kFdHw=;
        b=gJuI/2v0hop2Hjw7c7d/WPe8lwO0vgn4bTACwms2J+XkTtZHRh7RKI8xFnSuASH34M
         y/xsdPDyC5QGK6ObH/nEBaJTGXL9AK6YdV6xce641j624tsOObcg/UdfX7OxERKt4Z5F
         blSUAR/0NGy+P9Ebsyj3oMDX/dgW2heHeu4ROXKIEYszp+tPVX+TWwAIPxjwBBScdjgh
         NPEVWS/+9JBsOzIn8gKKF72Ytp8MoVjx6GRw6XLRW3j0AzTPHVLhX0bI7jDMQFCrVWvc
         f4B8giIcGah0UGgqfbS3SsBDEUanSq4RkXxY28/l2TxSfvi7F8gsZkAFBL2vZPxfhToc
         Xpbw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id;
        bh=IzbPSa3YJJJXFN8JtH2LLjIoe7AguUHWgJC9L1kFdHw=;
        b=CAGn9BHtZPguf/V5UiIKGTWklAzJGmklMmxPE8ZTmKbmPhYJ5asFA6WvBais058851
         f03yv1/7cVGiTV3IpzpcV8YdqEogRY453Oy/dz4dNBUCjOSG4fh+tdEZzJjWG6zgaV5c
         OEVpfsxBOvh8L/EvCKn0LxLSS9tDZf2xP+7WnuRO3hIhVaeoy5UQrqniwdhULRNA/YZ7
         g4/jceh5EzLcMBkniRh3gF/FQPw8IJvdB7cYMU+Mt7R8q7HET5MkFS+iexXFi+3tf10C
         qjabb3DgGgIU4CopUtKiEJtHqdMYbHKGU6EBipM5R6lBawOYbtH+acbBe9K+/Dg68arY
         MtFA==
X-Gm-Message-State: AOAM532AESDGka//jT2vPDxcmlVZAdZpyUNhbDQiMAztcyUFxWFRjAJe
	u5H4HpmYvS40WVKzWfHpbeqE6L+ZDbE=
X-Google-Smtp-Source: ABdhPJwoNbfRzlJZI1FIT5kDT+z8XUWxTgf3Y5iUj2HZWkf4/M+gnWpmEmZ+k6nuMIxpWfjhNrurtg==
X-Received: by 2002:a05:651c:1184:: with SMTP id w4mr3487382ljo.126.1628897333935;
        Fri, 13 Aug 2021 16:28:53 -0700 (PDT)
From: Oleksandr Tyshchenko <olekstysh@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Ian Jackson <iwj@xenproject.org>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [RFC PATCH] xen: Introduce arch specific field to XEN_SYSCTL_physinfo
Date: Sat, 14 Aug 2021 02:28:24 +0300
Message-Id: <1628897304-20793-1-git-send-email-olekstysh@gmail.com>
X-Mailer: git-send-email 2.7.4

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

We need to pass info about maximum supported address space size
to the toolstack on Arm in order to properly calculate the base
and size of the safe range for the guest. Use p2m_ipa_bits variable
which purpose is to hold the bit size of IPAs in P2M tables.

As we change the size of structure bump the interface version.

Suggested-by: Julien Grall <jgrall@amazon.com>
Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
---
You can find the discussion at:
https://lore.kernel.org/xen-devel/cb1c8fd4-a4c5-c18e-c8db-f8e317d95526@xen.org/

Another possible option could be to introduce new Arm specific SYSCTL
to pass such info. But, it was initially decided to not expand the SYSCTL
range and reuse existing which context would fit.
---
 tools/include/libxl.h             | 7 +++++++
 tools/libs/light/libxl.c          | 3 +++
 tools/libs/light/libxl_arch.h     | 5 +++++
 tools/libs/light/libxl_arm.c      | 7 +++++++
 tools/libs/light/libxl_types.idl  | 5 +++++
 tools/libs/light/libxl_x86.c      | 6 ++++++
 xen/arch/arm/sysctl.c             | 1 +
 xen/include/public/arch-arm.h     | 5 +++++
 xen/include/public/arch-x86/xen.h | 2 ++
 xen/include/public/sysctl.h       | 3 ++-
 10 files changed, 43 insertions(+), 1 deletion(-)

diff --git a/tools/include/libxl.h b/tools/include/libxl.h
index b9ba16d..fabd7fb 100644
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -855,6 +855,13 @@ typedef struct libxl__ctx libxl_ctx;
  */
 #define LIBXL_HAVE_PHYSINFO_MAX_POSSIBLE_MFN 1
 
+ /*
+  * LIBXL_HAVE_PHYSINFO_ARCH
+  *
+  * If this is defined, libxl_physinfo has a "arch" field.
+  */
+ #define LIBXL_HAVE_PHYSINFO_ARCH 1
+
 /*
  * LIBXL_HAVE_DOMINFO_OUTSTANDING_MEMKB 1
  *
diff --git a/tools/libs/light/libxl.c b/tools/libs/light/libxl.c
index 204eb0b..5387d50 100644
--- a/tools/libs/light/libxl.c
+++ b/tools/libs/light/libxl.c
@@ -15,6 +15,7 @@
 #include "libxl_osdeps.h"
 
 #include "libxl_internal.h"
+#include "libxl_arch.h"
 
 int libxl_ctx_alloc(libxl_ctx **pctx, int version,
                     unsigned flags, xentoollog_logger * lg)
@@ -405,6 +406,8 @@ int libxl_get_physinfo(libxl_ctx *ctx, libxl_physinfo *physinfo)
     physinfo->cap_vmtrace =
         !!(xcphysinfo.capabilities & XEN_SYSCTL_PHYSCAP_vmtrace);
 
+    libxl__arch_get_physinfo(gc, physinfo, &xcphysinfo);
+
     GC_FREE;
     return 0;
 }
diff --git a/tools/libs/light/libxl_arch.h b/tools/libs/light/libxl_arch.h
index 8527fc5..f3c6e75 100644
--- a/tools/libs/light/libxl_arch.h
+++ b/tools/libs/light/libxl_arch.h
@@ -90,6 +90,11 @@ void libxl__arch_update_domain_config(libxl__gc *gc,
                                       libxl_domain_config *dst,
                                       const libxl_domain_config *src);
 
+_hidden
+void libxl__arch_get_physinfo(libxl__gc *gc,
+                              libxl_physinfo *to,
+                              xc_physinfo_t *from);
+
 #if defined(__i386__) || defined(__x86_64__)
 
 #define LAPIC_BASE_ADDRESS  0xfee00000
diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index e3140a6..7304e25 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -1236,6 +1236,13 @@ void libxl__arch_update_domain_config(libxl__gc *gc,
 {
 }
 
+void libxl__arch_get_physinfo(libxl__gc *gc,
+                              libxl_physinfo *to,
+                              xc_physinfo_t *from)
+{
+    to->arch_arm.p2m_ipa_bits = from->arch.p2m_ipa_bits;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index 3f9fff6..519e787 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -1061,6 +1061,11 @@ libxl_physinfo = Struct("physinfo", [
     ("cap_shadow", bool),
     ("cap_iommu_hap_pt_share", bool),
     ("cap_vmtrace", bool),
+
+    ("arch_arm", Struct(None, [("p2m_ipa_bits", uint32),
+                              ])),
+    ("arch_x86", Struct(None, [
+                              ])),
     ], dir=DIR_OUT)
 
 libxl_connectorinfo = Struct("connectorinfo", [
diff --git a/tools/libs/light/libxl_x86.c b/tools/libs/light/libxl_x86.c
index 18c3c77..0fb13ee 100644
--- a/tools/libs/light/libxl_x86.c
+++ b/tools/libs/light/libxl_x86.c
@@ -882,6 +882,12 @@ void libxl__arch_update_domain_config(libxl__gc *gc,
                     libxl_defbool_val(src->b_info.arch_x86.msr_relaxed));
 }
 
+void libxl__arch_get_physinfo(libxl__gc *gc,
+                              libxl_physinfo *to,
+                              xc_physinfo_t *from)
+{
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/arm/sysctl.c b/xen/arch/arm/sysctl.c
index f87944e..4e7e209 100644
--- a/xen/arch/arm/sysctl.c
+++ b/xen/arch/arm/sysctl.c
@@ -15,6 +15,7 @@
 void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
 {
     pi->capabilities |= XEN_SYSCTL_PHYSCAP_hvm | XEN_SYSCTL_PHYSCAP_hap;
+    pi->arch.p2m_ipa_bits = p2m_ipa_bits;
 }
 
 long arch_do_sysctl(struct xen_sysctl *sysctl,
diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
index 64a2ca3..36b1eef 100644
--- a/xen/include/public/arch-arm.h
+++ b/xen/include/public/arch-arm.h
@@ -332,6 +332,11 @@ struct xen_arch_domainconfig {
      */
     uint32_t clock_frequency;
 };
+
+struct arch_physinfo {
+    /* Holds the bit size of IPAs in p2m tables. */
+    uint32_t p2m_ipa_bits;
+};
 #endif /* __XEN__ || __XEN_TOOLS__ */
 
 struct arch_vcpu_info {
diff --git a/xen/include/public/arch-x86/xen.h b/xen/include/public/arch-x86/xen.h
index 7acd94c..8d2c05e 100644
--- a/xen/include/public/arch-x86/xen.h
+++ b/xen/include/public/arch-x86/xen.h
@@ -346,6 +346,8 @@ typedef struct xen_msr_entry {
 } xen_msr_entry_t;
 DEFINE_XEN_GUEST_HANDLE(xen_msr_entry_t);
 
+struct arch_physinfo {
+};
 #endif /* !__ASSEMBLY__ */
 
 /*
diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h
index 039ccf8..2727f21 100644
--- a/xen/include/public/sysctl.h
+++ b/xen/include/public/sysctl.h
@@ -35,7 +35,7 @@
 #include "domctl.h"
 #include "physdev.h"
 
-#define XEN_SYSCTL_INTERFACE_VERSION 0x00000013
+#define XEN_SYSCTL_INTERFACE_VERSION 0x00000014
 
 /*
  * Read console content from Xen buffer ring.
@@ -120,6 +120,7 @@ struct xen_sysctl_physinfo {
     uint64_aligned_t outstanding_pages;
     uint64_aligned_t max_mfn; /* Largest possible MFN on this host */
     uint32_t hw_cap[8];
+    struct arch_physinfo arch;
 };
 
 /*
-- 
2.7.4



From xen-devel-bounces@lists.xenproject.org Fri Aug 13 23:49:45 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Aug 2021 23:49:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166939.304728 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEgvj-0003sZ-PT; Fri, 13 Aug 2021 23:49:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166939.304728; Fri, 13 Aug 2021 23: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 1mEgvj-0003sS-MX; Fri, 13 Aug 2021 23:49:39 +0000
Received: by outflank-mailman (input) for mailman id 166939;
 Fri, 13 Aug 2021 23:49:38 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/Iem=NE=gmail.com=olekstysh@srs-us1.protection.inumbo.net>)
 id 1mEgvi-0003sM-Qp
 for xen-devel@lists.xenproject.org; Fri, 13 Aug 2021 23:49:38 +0000
Received: from mail-lf1-x12c.google.com (unknown [2a00:1450:4864:20::12c])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 815972c2-ac72-4ce1-b7eb-e371f44c63d6;
 Fri, 13 Aug 2021 23:49:37 +0000 (UTC)
Received: by mail-lf1-x12c.google.com with SMTP id z20so23006591lfd.2
 for <xen-devel@lists.xenproject.org>; Fri, 13 Aug 2021 16:49:37 -0700 (PDT)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id a1sm304993ljj.97.2021.08.13.16.49.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 13 Aug 2021 16:49:35 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 815972c2-ac72-4ce1-b7eb-e371f44c63d6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-transfer-encoding:content-language;
        bh=0q+7gjglTPZEYExFLLSUAZgcEA4riN5g57SyZeqsjdg=;
        b=UoLmvaYFTKKfMmz2EJT0YWKbT0Oa8MGoSyiqUxUP9ukQA9GNQhd50B84qBauvPWePx
         NfnkrSetffrTowleUxqDfzsY6+WD+0aLWlpMACOBYJUwRWDsglYCMXl2hK3Nnt5t+IJO
         3UtTW5mw0W+jxfNCu2Ja22JjTeO0Yi0iQ8c0OgbwzvsYjYi6BFcFcBsIdtSnBNtNqfJo
         UdGiaa8mk+Ij/ZTEucIS0F+3FFBTBG7fawydGmCn0/wSZftjcYPvAxOkK/tykdBxEtP2
         DJmKZfIP46MDfiJRAr+TzgRRPtcs9LX/2cdu7GPFGzoccdvOLmCm29xQmNQTv5MiqyCh
         K7Dw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-transfer-encoding
         :content-language;
        bh=0q+7gjglTPZEYExFLLSUAZgcEA4riN5g57SyZeqsjdg=;
        b=odMOcqyVUAhUkJ1UU8Kq0AnCVVORlyODX8+7PDi2NGr5a5BRSsmKRfFgFaTXumm/In
         11+WjKXghset8NXVsQb8o3apQ8NSU+9s/Sv2mLMBw0P1epCHugSQ2XM1WsbxPYMTGiE/
         JBXnBr7Q9yDN68PYb3ZI/MASlqAr4Efl5pCsRGrIABiziQVS8bemFVCyVRrrPFPbgdQ6
         iDW4AXHQ6esVUzK56aP9bFEANozYwN+4ygxYZuoslczCwSCeJDjJ/UsjS270DIDc7oOL
         6qNSSePr5YHKyLJ1x4EN0pKDmghSChB7bzRX6W0xBUttPj93cSXTEAVZItr7YbpS8Uq7
         QxXQ==
X-Gm-Message-State: AOAM53328U9UlMaBO46kTVtkpcRdg5lFh68/V4mSKnEgZV4vXn4a4LsF
	FUXeV1hmjpQcteQSMsA1Qwc=
X-Google-Smtp-Source: ABdhPJyQsUPEHBai2krvC1/GzQCnuH+Dicmw1ghMWYS7I9YNco+ikapmswoF52lEdvpSZIDFXgEq3w==
X-Received: by 2002:a05:6512:13a9:: with SMTP id p41mr3397081lfa.403.1628898575959;
        Fri, 13 Aug 2021 16:49:35 -0700 (PDT)
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
To: Julien Grall <julien@xen.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <80fafc01-f063-d6e5-1c08-7ad64550310c@citrix.com>
 <e8db3021-78a5-e040-a70b-62ca5b500149@xen.org>
 <4de5ed21-379e-b618-44c8-924d88b1a519@citrix.com>
 <bbc7f597-5249-20a0-cac9-13f594268299@xen.org>
 <6a633f4e-13e0-4a2b-cf6e-35ef90ae977c@gmail.com>
 <alpine.DEB.2.21.2107301630510.10122@sstabellini-ThinkPad-T480s>
 <f6b2e6c6-bf58-960f-4a09-f05ebcf1f566@gmail.com>
 <5643d414-0b76-74a4-2c37-c7a99338d547@gmail.com>
 <c83378af-4d3b-9256-0e0d-f88c43c6de2f@xen.org>
 <775a2c0b-fbcc-db6d-c2a1-4ad350448c92@gmail.com>
 <cb1c8fd4-a4c5-c18e-c8db-f8e317d95526@xen.org>
From: Oleksandr <olekstysh@gmail.com>
Message-ID: <44361530-4f23-cfd9-64b0-8d60fa5fd1cf@gmail.com>
Date: Sat, 14 Aug 2021 02:49:34 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.10.0
MIME-Version: 1.0
In-Reply-To: <cb1c8fd4-a4c5-c18e-c8db-f8e317d95526@xen.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US


On 05.08.21 20:25, Julien Grall wrote:
> Hi Oleksandr,


Hi Julien, all


>
> On 05/08/2021 15:52, Oleksandr wrote:
>>
>> On 05.08.21 01:00, Julien Grall wrote:
>>>
>>>
>>> On 04/08/2021 21:56, Oleksandr wrote:
>>>>
>>>> Hi Julien, Stefano.
>>>
>>> Hi Oleksandr,
>>
>>
>> Hi, Julien
>>
>>
>> Thank you for the prompt reply and explanations.
>>
>>
>>>
>>>>
>>>> On 02.08.21 22:12, Oleksandr wrote:
>>>> I have done some experiments with Xen and toolstack according to 
>>>> the discussion above. So, I re-used DTB to pass a safe range to the 
>>>> domain. For the range I borrowed some space from the second RAM bank.
>>>>
>>>> -#define GUEST_RAM1_BASE   xen_mk_ullong(0x0200000000) /* 1016GB of 
>>>> RAM @ 8GB */
>>>> -#define GUEST_RAM1_SIZE   xen_mk_ullong(0xfe00000000)
>>>> +#define GUEST_RAM1_BASE   xen_mk_ullong(0x0200000000) /* 888GB of 
>>>> RAM @ 8GB */
>>>> +#define GUEST_RAM1_SIZE   xen_mk_ullong(0xDE00000000)
>>>> +
>>>
>>> I am a bit split with reducing the amount of RAM. On one hand large 
>>> guest is not unheard on the server side (at least in the x86 world). 
>>> On the other hand, I am not aware of anyone using Xen on Arm in such 
>>> setup.
>>>
>>> So technically this will be a regression, but it may be OK.
>>
>> I got it.
>>
>>
>>>
>>>
>>> Regarding the range, this will be a problem as Xen configure the 
>>> number of the IPA bits based on the PA bits. The lowest possible 
>>> address space ize on 64-bit is 4GB.
>>>
>>> From my understanding, this is because the number of IPA bits 
>>> supported is contrained by the PA bits. So the position and the size 
>>> of the region
>>> would need to depend on the P2M configuration.
>>
>> Indeed, I missed these bits that IPA bits on Arm64 might be < 40 bit, 
>> I remember, we select p2m_ipa_bits in setup_virt_paging() depending 
>> on pabits, moreover the p2m_ipa_bits might be even restricted by some 
>> external entity (IOMMU, if P2M is shared).
>>
>>
>>>
>>> For simplicity, this could be the last few X bytes of the supported 
>>> address space.
>> ok, agree. To summarize, so it sounds like we can't use the fixed 
>> safe range as in my example, it must be variable. Well, I hope, we 
>> will be able to achieve this without reducing the total amount of 
>> domain RAM in front (GUEST_RAM1_SIZE). After all, we know the IPA 
>> size and the domain RAM in advance, so we certainly can choose the 
>> start and size of the range. In case, we won't be able to find a 
>> suitable large chunk (for example, when IPA bits = 32, and domain has 
>> a lot of RAM assigned and as the result - almost all address space 
>> below 4GB is in use), we won't expose a safe range to a domain at 
>> all, and domain will just fall back to use real pages instead 
>> (actually, how it currently behaves on Arm).
>
> I think it would be fine for a first approach. We can refine it in the 
> future. What matters is that we correctly define the binding/hypercall.
>
>>
>> A side note: we would likely need the toolstack (that generates 
>> device-tree for guests) to query IPA size, or similar.
>
> I think we can use XEN_SYSCTL_* (or possibly hypfs) for that.

The RFC patch (which is one of the prereq patches for safe range) is 
already pushed:
https://lore.kernel.org/xen-devel/1628897304-20793-1-git-send-email-olekstysh@gmail.com/
What we need is to reach an agreement regarding the interface. We can 
discuss it there.


Thanks!


>
>>>
>>>
>>> For 32-bit domain, we also need to make sure the address is usable 
>>> for domain short page tables (not too long ago Debian was shipping 
>>> the kernel with them rather than LPAE). I haven't yet checked what's 
>>> the limit here.
>>
>> Hmm, I didn't take this use-case into the account. So, I assume we 
>> need the safe range to be located below 4GB if is_32bit_domain() 
>> returns true.
>
> Yes. Or we can say that if you are using a 32-bit domain then we don't 
> (yet) support a safe range for range.
>>> So we would need some heuristic to decide whether to stole some RAM 
>>> or use the safe space.
>>> Another possibility would be to add a new compatible in the DT that 
>>> indicates the region is "big" enough.
>> I like the last idea, did you perhaps mean new property (optional) 
>> rather than new compatible? Let's say "xen, safe-range" or "xen, 
>> extended-regions"  ...
>
> I actually meant adding an extra compatible because this is 
> technically a change of the binding (even though it is backward 
> compatible).
>
> Although, I would be OK with the property. You may first want to ask 
> the Device-Tree folks how they expect a binding to be extended in a 
> backward compatible way.
>
> Cheers,
>
-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Sat Aug 14 00:21:41 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 14 Aug 2021 00:21:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166944.304740 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEhQb-0008LX-P9; Sat, 14 Aug 2021 00:21:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166944.304740; Sat, 14 Aug 2021 00: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 1mEhQb-0008LQ-L3; Sat, 14 Aug 2021 00:21:33 +0000
Received: by outflank-mailman (input) for mailman id 166944;
 Sat, 14 Aug 2021 00:21:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mEhQa-0008LG-Cy; Sat, 14 Aug 2021 00:21:32 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mEhQa-0002Ds-3e; Sat, 14 Aug 2021 00:21:32 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mEhQZ-0004yK-Rh; Sat, 14 Aug 2021 00:21:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mEhQZ-0002Rq-RA; Sat, 14 Aug 2021 00:21:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=eUgZ/+p9QXXkAxsKnY22WR9lzDAxx64mOWJygMIhqKY=; b=EjVWgUMOrIDScr41X/jXV6vzc3
	OanHRR0ozPOCXgd5EEXMJQUrNI/Y1gqNppn6OrPrCciGfXfFF3YMeXiEY8hRFYZ9G5AeaVE5umH4d
	bSCPkj5Y+RiR+nxbZ05ocFtmSDr2BAx9xpoT3K7+Mx1ifpVz9Mgulc2gw80FJhOX/lsQ=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164178-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 164178: trouble: broken/fail/pass
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-xl:<job status>:broken:regression
    xen-unstable:test-armhf-armhf-xl:host-install(5):broken:heisenbug
    xen-unstable:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-examine:memdisk-try-append:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt: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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm: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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=5a88d524857e5bf78b077d30ea515fcaac061bfc
X-Osstest-Versions-That:
    xen=5a88d524857e5bf78b077d30ea515fcaac061bfc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 14 Aug 2021 00:21:31 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl             <job status>                 broken

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl           5 host-install(5)          broken pass in 164171
 test-armhf-armhf-xl-rtds 18 guest-start/debian.repeat fail in 164171 pass in 164178
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail in 164171 pass in 164178
 test-amd64-amd64-examine      4 memdisk-try-append         fail pass in 164171
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 164171

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

version targeted for testing:
 xen                  5a88d524857e5bf78b077d30ea515fcaac061bfc
baseline version:
 xen                  5a88d524857e5bf78b077d30ea515fcaac061bfc

Last test of basis   164178  2021-08-13 10:47:20 Z    0 days
Testing same since                          (not found)         0 attempts

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


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

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

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

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

broken-job test-armhf-armhf-xl broken
broken-step test-armhf-armhf-xl host-install(5)

Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Sat Aug 14 03:26:22 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 14 Aug 2021 03:26:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166952.304754 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEkJE-0006Bb-A7; Sat, 14 Aug 2021 03:26:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166952.304754; Sat, 14 Aug 2021 03: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 1mEkJE-0006B9-3W; Sat, 14 Aug 2021 03:26:08 +0000
Received: by outflank-mailman (input) for mailman id 166952;
 Sat, 14 Aug 2021 03:26: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 1mEkJD-0006Az-1W; Sat, 14 Aug 2021 03:26: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 1mEkJC-0003Vu-Ql; Sat, 14 Aug 2021 03:26: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 1mEkJC-0006ax-Gu; Sat, 14 Aug 2021 03:26:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mEkJC-0005IQ-GH; Sat, 14 Aug 2021 03:26: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=JGTwH0QTuRXne77NRu6rnVvXlwyapb5TSgP3Wxr/aKE=; b=UzrYA1kYJhAWiTkOhIi8X5XHr7
	LIqLEUYxnzf6Aensj0Mjl9B1PCr/OPwzremwI4frHUnOiX23tot/fstX34agEBHo1SjFEL+6k8+tj
	5a0zMk+txnDJ6JwN34qaXCnhPV/5p7Yq/V8si0evOlQ4DMVSI2k3mp95CFKQbpgnb0qc=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164180-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 164180: trouble: broken/fail/pass
X-Osstest-Failures:
    linux-5.4:test-armhf-armhf-libvirt:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-arndale:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-credit1:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-arndale:host-install(5):broken:regression
    linux-5.4:test-armhf-armhf-xl-multivcpu:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-vhd:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-rtds:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-multivcpu:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-vhd:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-libvirt:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:guest-start/debianhvm.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemuu-ovmf-amd64:guest-localmigrate:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:guest-start/debianhvm.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-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-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check: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-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl: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: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-credit1: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-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-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-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-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=a998faa9c4cee7dc68f3f6f82be93bbb99dda322
X-Osstest-Versions-That:
    linux=e350cd02e293be9a6b93398b2d3ff1edf7695ab2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 14 Aug 2021 03:26:06 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-libvirt        <job status>                 broken
 test-armhf-armhf-xl-arndale     <job status>                 broken
 test-armhf-armhf-xl-credit1     <job status>                 broken
 test-armhf-armhf-xl-arndale   5 host-install(5)        broken REGR. vs. 164131
 test-armhf-armhf-xl-multivcpu    <job status>                 broken in 164170
 test-armhf-armhf-xl-vhd         <job status>                 broken  in 164170
 test-armhf-armhf-xl-rtds        <job status>                 broken  in 164174

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-multivcpu 5 host-install(5) broken in 164170 pass in 164180
 test-armhf-armhf-xl-vhd      5 host-install(5) broken in 164170 pass in 164180
 test-armhf-armhf-xl-rtds     5 host-install(5) broken in 164174 pass in 164180
 test-armhf-armhf-libvirt      5 host-install(5)          broken pass in 164174
 test-armhf-armhf-xl-credit1   5 host-install(5)          broken pass in 164174
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 20 guest-start/debianhvm.repeat fail in 164174 pass in 164180
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 164170
 test-amd64-amd64-xl-qemuu-ovmf-amd64 16 guest-localmigrate fail pass in 164174
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 20 guest-start/debianhvm.repeat fail pass in 164174

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt 16 saverestore-support-check fail in 164174 like 164131
 test-armhf-armhf-xl-credit1 15 migrate-support-check fail in 164174 never pass
 test-armhf-armhf-xl-credit1 16 saverestore-support-check fail in 164174 never pass
 test-armhf-armhf-libvirt    15 migrate-support-check fail in 164174 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164131
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 164131
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 164131
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164131
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164131
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 164131
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164131
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 164131
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164131
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164131
 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-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  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-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-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-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                a998faa9c4cee7dc68f3f6f82be93bbb99dda322
baseline version:
 linux                e350cd02e293be9a6b93398b2d3ff1edf7695ab2

Last test of basis   164131  2021-08-08 07:11:59 Z    5 days
Testing same since   164167  2021-08-12 11:47:56 Z    1 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex Xu (Hello71) <alex_y_xu@yahoo.ca>
  Alexander Monakov <amonakov@ispras.ru>
  Alexander Tsoy <alexander@tsoy.me>
  Alexei Starovoitov <ast@kernel.org>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Anirudh Rayabharam <mail@anirudhrb.com>
  Antoine Tenart <atenart@kernel.org>
  Arnd Bergmann <arnd@arndb.de>
  Bartosz Golaszewski <bgolaszewski@baylibre.com>
  Brian Norris <briannorris@chromium.org>
  Catalin Marinas <catalin.marinas@arm.com>
  Chanho Park <chanho61.park@samsung.com>
  chihhao.chen <chihhao.chen@mediatek.com>
  Christoph Hellwig <hch@lst.de>
  Colin Ian King <colin.king@canonical.com>
  Dan Carpenter <dan.carpenter@oracle.com>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniele Palmas <dnlplm@gmail.com>
  Dario Binacchi <dariobin@libero.it>
  David Bauer <mail@david-bauer.net>
  David S. Miller <davem@davemloft.net>
  Dmitry Osipenko <digetx@gmail.com>
  Dominik Brodowski <linux@dominikbrodowski.net>
  Dongliang Mu <mudongliangabcd@gmail.com>
  Eero Lehtinen <debiangamer2@gmail.com>
  Fei Qin <fei.qin@corigine.com>
  Felipe Balbi <balbi@kernel.org>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Gregory CLEMENT <gregory.clement@bootlin.com>
  Guenter Roeck <linux@roeck-us.net>
  Guido Kiener <guido.kiener@rohde-schwarz.com>
  Guoqing Jiang <jiangguoqing@kylinos.cn>
  H. Nikolaus Schaller <hns@goldelico.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Hervé Codina <herve.codina@bootlin.com>
  Hui Su <suhui@zeku.com>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jan Kara <jack@suse.cz>
  Jarkko Sakkinen <jarkko@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jens Wiklander <jens.wiklander@linaro.org>
  Johan Hovold <johan@kernel.org>
  Johannes Berg <johannes.berg@intel.com>
  Jon Hunter <jonathanh@nvidia.com>
  Juergen Borleis <jbe@pengutronix.de>
  Kieran Bingham <kieran.bingham@ideasonboard.com>
  Kim Phillips <kim.phillips@amd.com>
  Letu Ren <fantasquex@gmail.com>
  Li Manyi <limanyi@uniontech.com>
  Liam Merwick <liam.merwick@oracle.com>
  Like Xu <likexu@tencent.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Louis Peens <louis.peens@corigine.com>
  Luis Chamberlain <mcgrof@kernel.org>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Maciej W. Rozycki <macro@orcam.me.uk>
  Marek Vasut <marex@denx.de>
  Mario Kleiner <mario.kleiner.de@gmail.com>
  Mark Brown <broonie@kernel.org>
  Mark Rutland <mark.rutland@arm.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Matt Turner <mattst88@gmail.com>
  Matteo Croce <mcroce@microsoft.com>
  Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
  Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Maxim Devaev <mdevaev@gmail.com>
  Maxime Chevallier <maxime.chevallier@bootlin.com>
  Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Pali Rohár <pali@kernel.org>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Skripkin <paskripkin@gmail.com>
  Pawel Laszczak <pawell@cadence.com>
  Peter Chen <peter.chen@kernel.org>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Phil Elwell <phil@raspberrypi.com>
  Prarit Bhargava <prarit@redhat.com>
  Qiang.zhang <qiang.zhang@windriver.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Sasha Levin <sashal@kernel.org>
  Sean Christopherson <seanjc@google.com>
  Sean Young <sean@mess.org>
  Sebastian Andrzej Siewior <bigeasy@linutronix.de>
  Shawn Guo <shawnguo@kernel.org>
  Shreyansh Chouhan <chouhan.shreyansh630@gmail.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Song Liu <song@kernel.org>
  Stas Sergeev <stsp2@yandex.ru>
  Stephen Boyd <sboyd@kernel.org>
  Steve Bennett <steveb@workware.net.au>
  Steven Rostedt (VMware) <rostedt@goodmis.org>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  syzbot+de271708674e2093097b@syzkaller.appspotmail.com
  Takashi Iwai <tiwai@suse.de>
  Tejun Heo <tj@kernel.org>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Theodore Ts'o <tytso@mit.edu>
  Thierry Reding <treding@nvidia.com>
  Thomas Gleixner <tglx@linutronix.de>
  Tony Lindgren <tony@atomide.com>
  Tyler Hicks <tyhicks@linux.microsoft.com>
  Vinod Koul <vkoul@kernel.org>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Wang Hai <wanghai38@huawei.com>
  Wei Shuyu <wsy@dogben.com>
  Will Deacon <will@kernel.org>
  Willy Tarreau <w@1wt.eu>
  Xiangyang Zhang <xyz.sun.ok@gmail.com>
  Xin Long <lucien.xin@gmail.com>
  Yang Yingliang <yangyingliang@huawei.com>
  Yu Kuai <yukuai3@huawei.com>
  Zheyu Ma <zheyuma97@gmail.com>
  Zhiyong Tao <zhiyong.tao@mediatek.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  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                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  broken  
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  broken  
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     broken  
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-amd64-pvgrub                                pass    
 test-amd64-amd64-i386-pvgrub                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 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-armhf-armhf-xl-vhd                                      pass    


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

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

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

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

broken-job test-armhf-armhf-libvirt broken
broken-job test-armhf-armhf-xl-arndale broken
broken-job test-armhf-armhf-xl-credit1 broken
broken-step test-armhf-armhf-libvirt host-install(5)
broken-step test-armhf-armhf-xl-credit1 host-install(5)
broken-step test-armhf-armhf-xl-arndale host-install(5)
broken-job test-armhf-armhf-xl-rtds broken
broken-job test-armhf-armhf-xl-arndale broken
broken-job test-armhf-armhf-xl-multivcpu broken
broken-job test-armhf-armhf-xl-arndale broken
broken-job test-armhf-armhf-xl-vhd broken

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sat Aug 14 06:20:50 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 14 Aug 2021 06:20:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166958.304768 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEn26-0005f3-1O; Sat, 14 Aug 2021 06:20:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166958.304768; Sat, 14 Aug 2021 06:20:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEn25-0005ew-TT; Sat, 14 Aug 2021 06:20:37 +0000
Received: by outflank-mailman (input) for mailman id 166958;
 Sat, 14 Aug 2021 06:20: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 1mEn24-0005em-II; Sat, 14 Aug 2021 06:20: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 1mEn24-0006zn-Av; Sat, 14 Aug 2021 06:20: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 1mEn23-0005IK-Rp; Sat, 14 Aug 2021 06:20:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mEn23-00059F-R9; Sat, 14 Aug 2021 06:20:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=qDf0YYD4Ay4UWcbvkB0neHznVY6U9IueY9qQklfJm/M=; b=Vs7nPgF34BUN5OGav3XoeUikc8
	Zq7vZRjpyANrm0dynrs8K6DmbcxcKXIAL2TfCvo2IVfj6gC2bAB2jQyILkGSnp5y9qy9xkflr86KV
	QHfQE+QUnyf8WHph+RsKxQ2XDhKJG09mf6oDstCktWDjW0ClJyHoVCE+6q3vQUbr3Q30=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164181-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164181: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt:<job status>:broken:regression
    linux-linus:test-armhf-armhf-examine:host-install:broken:regression
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:host-install(5):broken:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=f8e6dfc64f6135d1b6c5215c14cd30b9b60a0008
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 14 Aug 2021 06:20:35 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-libvirt        <job status>                 broken
 test-armhf-armhf-examine      5 host-install           broken REGR. vs. 152332
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop              fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 20 guest-stop               fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 14 guest-start    fail in 164177 REGR. vs. 152332

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-rtds 20 guest-localmigrate/x10 fail in 164177 pass in 164181
 test-arm64-arm64-libvirt-xsm 13 debian-fixup               fail pass in 164177

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      5 host-install(5)       broken blocked in 152332
 test-armhf-armhf-xl-rtds 18 guest-start/debian.repeat fail in 164177 like 152332
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 152332
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 152332
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 152332
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 152332
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 152332
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 152332
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                f8e6dfc64f6135d1b6c5215c14cd30b9b60a0008
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  378 days
Failing since        152366  2020-08-01 20:49:34 Z  377 days  666 attempts
Testing same since   164177  2021-08-13 10:36:03 Z    0 days    2 attempts

------------------------------------------------------------
6795 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 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-qemut-rhel6hvm-amd                           fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     fail    
 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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     fail    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     broken  
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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

broken-job test-armhf-armhf-libvirt broken
broken-step test-armhf-armhf-examine host-install
broken-step test-armhf-armhf-libvirt host-install(5)
broken-job test-armhf-armhf-libvirt broken

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sat Aug 14 08:44:35 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 14 Aug 2021 08:44:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166973.304782 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEpH7-0001ti-TT; Sat, 14 Aug 2021 08:44:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166973.304782; Sat, 14 Aug 2021 08:44:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEpH7-0001tb-Q8; Sat, 14 Aug 2021 08:44:17 +0000
Received: by outflank-mailman (input) for mailman id 166973;
 Sat, 14 Aug 2021 08:44:16 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Jipu=NF=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mEpH6-0001tV-Pn
 for xen-devel@lists.xenproject.org; Sat, 14 Aug 2021 08:44:16 +0000
Received: from smtp-out1.suse.de (unknown [195.135.220.28])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 68403981-3de4-4b07-91b9-3f932e4a5d3d;
 Sat, 14 Aug 2021 08:44:15 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 886D82226B;
 Sat, 14 Aug 2021 08:44:14 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 4E2C91374B;
 Sat, 14 Aug 2021 08:44:14 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id vqbyEF6CF2GlIAAAGKfGzw
 (envelope-from <jgross@suse.com>); Sat, 14 Aug 2021 08:44: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: 68403981-3de4-4b07-91b9-3f932e4a5d3d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1628930654; 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=DAVLXJ0IXAU+QKBWPzDuqylSvV4KktT+rntSNNfQix8=;
	b=rzhbBDyrjPOoX6CN8W3ohduzsy4YgQucxquaCeO6AM5nDMhzZo1sRWLUYhvtPWWR0Jtayw
	G7s+oVT63M++To0bNMmlxDf7JxcmssSr2tHw/R4YwA4G6DTycrslS2rq4Wdnfi2tsd/yA/
	8m2EKOZEzKUVNBUP3sKSnXXOPyzBxe8=
From: Juergen Gross <jgross@suse.com>
To: torvalds@linux-foundation.org
Cc: linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	boris.ostrovsky@oracle.com
Subject: [GIT PULL] xen: branch for v5.14-rc6
Date: Sat, 14 Aug 2021 10:44:13 +0200
Message-Id: <20210814084413.12168-1-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
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-5.14-rc6-tag

xen: branch for v5.14-rc6

It contains a small cleanup patch and a fix of a rare race in the Xen
evtchn driver.

Thanks.

Juergen

 drivers/xen/events/events_base.c | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

Colin Ian King (1):
      xen/events: remove redundant initialization of variable irq

Maximilian Heyne (1):
      xen/events: Fix race in set_evtchn_to_irq


From xen-devel-bounces@lists.xenproject.org Sat Aug 14 09:37:27 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 14 Aug 2021 09:37:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166979.304793 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEq6I-0006nB-04; Sat, 14 Aug 2021 09:37:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166979.304793; Sat, 14 Aug 2021 09:37:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEq6H-0006my-Rn; Sat, 14 Aug 2021 09:37:09 +0000
Received: by outflank-mailman (input) for mailman id 166979;
 Sat, 14 Aug 2021 09:37:08 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mEq6G-0006lV-Bp; Sat, 14 Aug 2021 09:37:08 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mEq6G-0002Lv-6D; Sat, 14 Aug 2021 09:37: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 1mEq6F-0007Qs-UR; Sat, 14 Aug 2021 09:37:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mEq6F-0005Zp-Tw; Sat, 14 Aug 2021 09:37:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=KES5C9OQ0vpQCC7ZqCTlcpbrk9c/OFOTPWMxNu0//yk=; b=lSe1VmdkM/PQIrDJ9rRz2j9V9p
	fyzW5WqwyIMjSHIYgV4v0QFvKaojupXnQCpjSAoF4u0s1hCPSLAljEBKSz8+AXLDkC/BbxdiAtmQg
	M6oSMm93EEPEVKRU2ZbYvcQehtOLmyp1cfUnMW6kzQSDO+R3il3j4klw9EAESBJ3GQrc=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164184-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 164184: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=42158b8936e492d71b00ad480683c45c2dbb65f5
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 14 Aug 2021 09:37:07 +0000

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

Regressions :-(

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

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

version targeted for testing:
 libvirt              42158b8936e492d71b00ad480683c45c2dbb65f5
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  400 days
Failing since        151818  2020-07-11 04:18:52 Z  399 days  391 attempts
Testing same since   164184  2021-08-14 04:20:09 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  Cédric Bosdonnat <cbosdonnat@suse.com>
  Côme Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano Fidêncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Ian Wienand <iwienand@redhat.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  John Ferlan <jferlan@redhat.com>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  Ján Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Michał Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  Moshe Levi <moshele@nvidia.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr Drąg <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tomáš Golembiovský <tgolembi@redhat.com>
  Tomáš Janoušek <tomi@nomi.cz>
  Tuguoyi <tu.guoyi@h3c.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  William Douglas <william.douglas@intel.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.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                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sat Aug 14 13:15:45 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 14 Aug 2021 13:15:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166990.304807 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEtVZ-00014N-SF; Sat, 14 Aug 2021 13:15:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166990.304807; Sat, 14 Aug 2021 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 1mEtVZ-00014G-PK; Sat, 14 Aug 2021 13:15:29 +0000
Received: by outflank-mailman (input) for mailman id 166990;
 Sat, 14 Aug 2021 13:15:28 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mEtVY-000146-KJ; Sat, 14 Aug 2021 13:15:28 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mEtVY-0005z0-Do; Sat, 14 Aug 2021 13:15: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 1mEtVY-0000hq-0d; Sat, 14 Aug 2021 13:15:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mEtVY-00071p-09; Sat, 14 Aug 2021 13:15: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=aWnVjHG6qOkfaCm6FylixFKHdyCv5dHGd8SZY0Su5D0=; b=0QntZg6tiE3qz2LN3oNwrz87Ku
	pqERvLjgmsWPsn4RF1l/jQmgrpAZ74RFC5dde/1Gj/++oE4OWfnwHG/QqiaOMTvghtw5Ib0k6CecG
	g6ISxb1HzsV7k1sIp2ZPD076xmxsB0Uapd6NqRt3caJ+rJET7TuZpfct2ZqH8/hadZqA=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164182-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 164182: trouble: broken/fail/pass
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-xl:<job status>:broken:regression
    xen-unstable:test-armhf-armhf-xl-arndale:<job status>:broken:regression
    xen-unstable:test-armhf-armhf-xl-arndale:host-install(5):broken:regression
    xen-unstable:test-armhf-armhf-xl:host-install(5):broken:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt: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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=5c34b9af05b9e5abd25d88efc4fb783136547810
X-Osstest-Versions-That:
    xen=5a88d524857e5bf78b077d30ea515fcaac061bfc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 14 Aug 2021 13:15:28 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl             <job status>                 broken
 test-armhf-armhf-xl-arndale     <job status>                 broken
 test-armhf-armhf-xl-arndale   5 host-install(5)        broken REGR. vs. 164178

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl           5 host-install(5)             broken like 164178
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 164178
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164178
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164178
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164178
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 164178
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 164178
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164178
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 164178
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164178
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164178
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164178
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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 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-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  5c34b9af05b9e5abd25d88efc4fb783136547810
baseline version:
 xen                  5a88d524857e5bf78b077d30ea515fcaac061bfc

Last test of basis   164178  2021-08-13 10:47:20 Z    1 days
Testing same since   164182  2021-08-14 00:39:12 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>

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


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

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

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

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

broken-job test-armhf-armhf-xl broken
broken-job test-armhf-armhf-xl-arndale broken
broken-step test-armhf-armhf-xl host-install(5)
broken-step test-armhf-armhf-xl-arndale host-install(5)

Not pushing.

------------------------------------------------------------
commit 5c34b9af05b9e5abd25d88efc4fb783136547810
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Aug 13 16:50:09 2021 +0200

    libxc: simplify HYPERCALL_BUFFER()
    
    _hcbuf_buf1 has been there only for a pointer comparison to validate
    type compatibility. The same can be achieved by not using typeof() on
    the definition of what so far was _hcbuf_buf2, as the initializer has
    to also be type-compatible. Drop _hcbuf_buf1 and the comaprison;
    rename _hcbuf_buf2.
    
    Since we're already using compiler extensions here, don't be shy and
    also omit the middle operand of the involved ?: operator.
    
    Bring line continuation character placement in line with that of
    related macros.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit e241d15f1c8a8a02baa401af857393f9ada5aeb3
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Aug 13 16:49:46 2021 +0200

    libxenguest: fix off-by-1 in colo-secondary-bitmap merging
    
    Valid GFNs (having a representation in the dirty bitmap) need to be
    strictly below p2m_size.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 1a838bf72584788310496ba5f3d865457c80727f
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Aug 13 16:49:10 2021 +0200

    libxenguest: complete loops in xc_map_domain_meminfo()
    
    minfo->p2m_size may have more than 31 significant bits. Change the
    induction variable to unsigned long, and (largely for signed-ness
    consistency) a helper variable to unsigned int. While there also avoid
    open-coding min().
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Sat Aug 14 13:33:25 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 14 Aug 2021 13:33:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166997.304821 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEtmp-0003KW-7N; Sat, 14 Aug 2021 13:33:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166997.304821; Sat, 14 Aug 2021 13:33:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEtmp-0003KP-4D; Sat, 14 Aug 2021 13:33:19 +0000
Received: by outflank-mailman (input) for mailman id 166997;
 Sat, 14 Aug 2021 13:33:17 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1KBs=NF=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mEtmn-0003KJ-Ej
 for xen-devel@lists.xenproject.org; Sat, 14 Aug 2021 13:33:17 +0000
Received: from mail-pj1-x102e.google.com (unknown [2607:f8b0:4864:20::102e])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 2947a95b-9143-4bdc-8edb-83b7cd07df2b;
 Sat, 14 Aug 2021 13:33:16 +0000 (UTC)
Received: by mail-pj1-x102e.google.com with SMTP id
 28-20020a17090a031cb0290178dcd8a4d1so13605962pje.0
 for <xen-devel@lists.xenproject.org>; Sat, 14 Aug 2021 06:33:16 -0700 (PDT)
Received: from ?IPv6:2404:f801:0:5:8000::50b? ([2404:f801:9000:1a:efea::50b])
 by smtp.gmail.com with ESMTPSA id
 n31sm2319766pfv.22.2021.08.14.06.33.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sat, 14 Aug 2021 06:33: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: 2947a95b-9143-4bdc-8edb-83b7cd07df2b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=E3l49fTTRVE56Vn9goxprKRxj2T85G+ePpi3voIcgqM=;
        b=UOFvhoKWqadKBxrSEwyDxHW1dWTJrafMlGKdpwz34n27UmdJ5/7Kx0SVLSJnJnFQc0
         nBK93oRsNiOTXjOfX8P7bs71iCBHOyCMi130oWpbhdiSiTZv1X/wd8e1Dj3KcUJudx+R
         IiqXfbcAXEMH0PHFY4CPHcc6MLxtKitkrnXiZwk/JUIU/s315UCEdfhd1VSWcmQTQ7bc
         88Mt4SuCTPB8JkUJy7jP8ClgGplB8Sp8dTkRZqlPwgTonhZ6vEZD5ZWAEDT99qVSUv5r
         jvnFloTwcCW37+swxtjfc/+FSQfYl++e87I3fcJuYu/lMrJjsO1ALvs02uq1jjhNUXax
         DYCg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=E3l49fTTRVE56Vn9goxprKRxj2T85G+ePpi3voIcgqM=;
        b=DWOtvqvibcx4Tp7PIvplo6hxPhvZchR1Kx0ZgGxj8rFz5pD9u8NcI5686dDvxqfAON
         5V/DiLNx0Cct0rkyza5TA0hFDN8zZORcvrnMEPYCm5M8ncQCQzpVl1eoQK4NXHgfVaeY
         uOgCkjJ6fIRENPHeYLsxg8PFHDQThEIN41Nss1WwbvqWeG4QBKFtmEX+AJknn6KPWENV
         caf70If5W7/JlFz/gKeGkx3YrJ/MLRFvRq+DQqmH8rKt7M8Yb4RRYx+RKVz9ay+o1HzQ
         Lm8n+8abU6mBA8iMu4dpbJae7dD9iDCmrIFHF2pWzxc/QJrgtmgY/AyT1Z5TSNbTadxC
         rM0Q==
X-Gm-Message-State: AOAM5332+q2ocS+DoCtROWXbU7Zk8F375SfJf3wSfaa/yKohn/U4por5
	u7MwWk/OSsCFJalLm1JnWTo=
X-Google-Smtp-Source: ABdhPJxx4GFAlWpOOAKq3xGwVTJFNnwgLV853vArASgiLYYXySIM5R+pCZYOCQaXwPK3prs4ee+uNQ==
X-Received: by 2002:a17:90a:ad07:: with SMTP id r7mr7575975pjq.110.1628947995429;
        Sat, 14 Aug 2021 06:33:15 -0700 (PDT)
Subject: Re: [PATCH V3 02/13] x86/HV: Initialize shared memory boundary in the
 Isolation VM.
To: Michael Kelley <mikelley@microsoft.com>, KY Srinivasan
 <kys@microsoft.com>, Haiyang Zhang <haiyangz@microsoft.com>,
 Stephen Hemminger <sthemmin@microsoft.com>,
 "wei.liu@kernel.org" <wei.liu@kernel.org>, Dexuan Cui <decui@microsoft.com>,
 "tglx@linutronix.de" <tglx@linutronix.de>,
 "mingo@redhat.com" <mingo@redhat.com>, "bp@alien8.de" <bp@alien8.de>,
 "x86@kernel.org" <x86@kernel.org>, "hpa@zytor.com" <hpa@zytor.com>,
 "dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
 "luto@kernel.org" <luto@kernel.org>,
 "peterz@infradead.org" <peterz@infradead.org>,
 "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
 "boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>,
 "jgross@suse.com" <jgross@suse.com>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>,
 "joro@8bytes.org" <joro@8bytes.org>, "will@kernel.org" <will@kernel.org>,
 "davem@davemloft.net" <davem@davemloft.net>,
 "kuba@kernel.org" <kuba@kernel.org>, "jejb@linux.ibm.com"
 <jejb@linux.ibm.com>, "martin.petersen@oracle.com"
 <martin.petersen@oracle.com>, "arnd@arndb.de" <arnd@arndb.de>,
 "hch@lst.de" <hch@lst.de>,
 "m.szyprowski@samsung.com" <m.szyprowski@samsung.com>,
 "robin.murphy@arm.com" <robin.murphy@arm.com>,
 "thomas.lendacky@amd.com" <thomas.lendacky@amd.com>,
 "brijesh.singh@amd.com" <brijesh.singh@amd.com>,
 "ardb@kernel.org" <ardb@kernel.org>, Tianyu Lan <Tianyu.Lan@microsoft.com>,
 "pgonda@google.com" <pgonda@google.com>,
 "martin.b.radev@gmail.com" <martin.b.radev@gmail.com>,
 "akpm@linux-foundation.org" <akpm@linux-foundation.org>,
 "kirill.shutemov@linux.intel.com" <kirill.shutemov@linux.intel.com>,
 "rppt@kernel.org" <rppt@kernel.org>,
 "sfr@canb.auug.org.au" <sfr@canb.auug.org.au>,
 "saravanand@fb.com" <saravanand@fb.com>,
 "krish.sadhukhan@oracle.com" <krish.sadhukhan@oracle.com>,
 "aneesh.kumar@linux.ibm.com" <aneesh.kumar@linux.ibm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "rientjes@google.com" <rientjes@google.com>,
 "hannes@cmpxchg.org" <hannes@cmpxchg.org>, "tj@kernel.org" <tj@kernel.org>
Cc: "iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org>,
 "linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
 "linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
 "linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
 "netdev@vger.kernel.org" <netdev@vger.kernel.org>,
 vkuznets <vkuznets@redhat.com>,
 "parri.andrea@gmail.com" <parri.andrea@gmail.com>,
 "dave.hansen@intel.com" <dave.hansen@intel.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-3-ltykernel@gmail.com>
 <MWHPR21MB159376E024639D8F0465BCA2D7F99@MWHPR21MB1593.namprd21.prod.outlook.com>
From: Tianyu Lan <ltykernel@gmail.com>
Message-ID: <03fea66e-b2b4-af9c-5e06-2de63960a8b4@gmail.com>
Date: Sat, 14 Aug 2021 21:32:59 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <MWHPR21MB159376E024639D8F0465BCA2D7F99@MWHPR21MB1593.namprd21.prod.outlook.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit


On 8/13/2021 3:18 AM, Michael Kelley wrote:
> From: Tianyu Lan <ltykernel@gmail.com> Sent: Monday, August 9, 2021 10:56 AM
>> Subject: [PATCH V3 02/13] x86/HV: Initialize shared memory boundary in the Isolation VM.
> 
> As with Patch 1, use the "x86/hyperv:" tag in the Subject line.
> 
>>
>> From: Tianyu Lan <Tianyu.Lan@microsoft.com>
>>
>> Hyper-V exposes shared memory boundary via cpuid
>> HYPERV_CPUID_ISOLATION_CONFIG and store it in the
>> shared_gpa_boundary of ms_hyperv struct. This prepares
>> to share memory with host for SNP guest.
>>
>> Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
>> ---
>>   arch/x86/kernel/cpu/mshyperv.c |  2 ++
>>   include/asm-generic/mshyperv.h | 12 +++++++++++-
>>   2 files changed, 13 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/x86/kernel/cpu/mshyperv.c b/arch/x86/kernel/cpu/mshyperv.c
>> index 6b5835a087a3..2b7f396ef1a5 100644
>> --- a/arch/x86/kernel/cpu/mshyperv.c
>> +++ b/arch/x86/kernel/cpu/mshyperv.c
>> @@ -313,6 +313,8 @@ static void __init ms_hyperv_init_platform(void)
>>   	if (ms_hyperv.priv_high & HV_ISOLATION) {
>>   		ms_hyperv.isolation_config_a = cpuid_eax(HYPERV_CPUID_ISOLATION_CONFIG);
>>   		ms_hyperv.isolation_config_b = cpuid_ebx(HYPERV_CPUID_ISOLATION_CONFIG);
>> +		ms_hyperv.shared_gpa_boundary =
>> +			(u64)1 << ms_hyperv.shared_gpa_boundary_bits;
> 
> You could use BIT_ULL() here, but it's kind of a shrug.


Good suggestion. Thanks.

> 
>>
>>   		pr_info("Hyper-V: Isolation Config: Group A 0x%x, Group B 0x%x\n",
>>   			ms_hyperv.isolation_config_a, ms_hyperv.isolation_config_b);
>> diff --git a/include/asm-generic/mshyperv.h b/include/asm-generic/mshyperv.h
>> index 4269f3174e58..aa26d24a5ca9 100644
>> --- a/include/asm-generic/mshyperv.h
>> +++ b/include/asm-generic/mshyperv.h
>> @@ -35,8 +35,18 @@ struct ms_hyperv_info {
>>   	u32 max_vp_index;
>>   	u32 max_lp_index;
>>   	u32 isolation_config_a;
>> -	u32 isolation_config_b;
>> +	union {
>> +		u32 isolation_config_b;
>> +		struct {
>> +			u32 cvm_type : 4;
>> +			u32 Reserved11 : 1;
>> +			u32 shared_gpa_boundary_active : 1;
>> +			u32 shared_gpa_boundary_bits : 6;
>> +			u32 Reserved12 : 20;
> 
> Any reason to name the reserved fields as "11" and "12"?  It
> just looks a bit unusual.  And I'd suggest lowercase "r".
> 

Yes, will update in the next version.

>> +		};
>> +	};
>>   	void  __percpu **ghcb_base;
>> +	u64 shared_gpa_boundary;
>>   };
>>   extern struct ms_hyperv_info ms_hyperv;
>>
>> --
>> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Sat Aug 14 15:38:04 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 14 Aug 2021 15:38:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167005.304832 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEvjK-0005q8-9c; Sat, 14 Aug 2021 15:37:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167005.304832; Sat, 14 Aug 2021 15:37:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEvjK-0005q1-6H; Sat, 14 Aug 2021 15:37:50 +0000
Received: by outflank-mailman (input) for mailman id 167005;
 Sat, 14 Aug 2021 15:37:49 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mEvjI-0005pr-Vy; Sat, 14 Aug 2021 15:37:48 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mEvjI-0008N8-PJ; Sat, 14 Aug 2021 15:37:48 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mEvjI-0008CH-Ez; Sat, 14 Aug 2021 15:37:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mEvjI-00042h-EQ; Sat, 14 Aug 2021 15:37:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=bve1FKXhL1bIN9hv4UvM9m6llHYpulKb8Hehxl3w4wQ=; b=4T5wmsGnDu1pQ5HWnTony3oxcC
	+ErzCV/G5rg+57lx9Mwoe/uL6kkhykio5/ndG5vD3PMhOzP8wS5Iz6y/JU+kT9GEK99PV3PGPMvF3
	X0s5Gq/JhdYzOJKeXlZwJsIeTzXLOAKol7nLVWoOloDeAa4S4jFximchh4kEvPessKh0=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164183-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 164183: trouble: broken/fail/pass
X-Osstest-Failures:
    linux-5.4:test-armhf-armhf-xl-credit1:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-credit2:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-rtds:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-arndale:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-libvirt:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-rtds:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-libvirt:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-arndale:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit2:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:guest-start/debianhvm.repeat:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemuu-ovmf-amd64:guest-localmigrate:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:guest-start/debianhvm.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check: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-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check: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-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt: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-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1: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-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-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-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-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=a998faa9c4cee7dc68f3f6f82be93bbb99dda322
X-Osstest-Versions-That:
    linux=e350cd02e293be9a6b93398b2d3ff1edf7695ab2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 14 Aug 2021 15:37:48 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl-credit1     <job status>                 broken
 test-armhf-armhf-xl-credit2     <job status>                 broken
 test-armhf-armhf-xl-rtds        <job status>                 broken  in 164174
 test-armhf-armhf-xl-arndale     <job status>                 broken  in 164180
 test-armhf-armhf-libvirt        <job status>                 broken  in 164180

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-rtds     5 host-install(5) broken in 164174 pass in 164183
 test-armhf-armhf-libvirt     5 host-install(5) broken in 164180 pass in 164183
 test-armhf-armhf-xl-arndale  5 host-install(5) broken in 164180 pass in 164183
 test-armhf-armhf-xl-credit1   5 host-install(5)          broken pass in 164174
 test-armhf-armhf-xl-credit2   5 host-install(5)          broken pass in 164180
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 20 guest-start/debianhvm.repeat fail in 164174 pass in 164180
 test-amd64-amd64-xl-qemuu-ovmf-amd64 16 guest-localmigrate fail in 164180 pass in 164183
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 20 guest-start/debianhvm.repeat fail in 164180 pass in 164183
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail in 164180 pass in 164183
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat  fail pass in 164180
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 164180

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

version targeted for testing:
 linux                a998faa9c4cee7dc68f3f6f82be93bbb99dda322
baseline version:
 linux                e350cd02e293be9a6b93398b2d3ff1edf7695ab2

Last test of basis   164131  2021-08-08 07:11:59 Z    6 days
Testing same since   164167  2021-08-12 11:47:56 Z    2 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex Xu (Hello71) <alex_y_xu@yahoo.ca>
  Alexander Monakov <amonakov@ispras.ru>
  Alexander Tsoy <alexander@tsoy.me>
  Alexei Starovoitov <ast@kernel.org>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Anirudh Rayabharam <mail@anirudhrb.com>
  Antoine Tenart <atenart@kernel.org>
  Arnd Bergmann <arnd@arndb.de>
  Bartosz Golaszewski <bgolaszewski@baylibre.com>
  Brian Norris <briannorris@chromium.org>
  Catalin Marinas <catalin.marinas@arm.com>
  Chanho Park <chanho61.park@samsung.com>
  chihhao.chen <chihhao.chen@mediatek.com>
  Christoph Hellwig <hch@lst.de>
  Colin Ian King <colin.king@canonical.com>
  Dan Carpenter <dan.carpenter@oracle.com>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniele Palmas <dnlplm@gmail.com>
  Dario Binacchi <dariobin@libero.it>
  David Bauer <mail@david-bauer.net>
  David S. Miller <davem@davemloft.net>
  Dmitry Osipenko <digetx@gmail.com>
  Dominik Brodowski <linux@dominikbrodowski.net>
  Dongliang Mu <mudongliangabcd@gmail.com>
  Eero Lehtinen <debiangamer2@gmail.com>
  Fei Qin <fei.qin@corigine.com>
  Felipe Balbi <balbi@kernel.org>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Gregory CLEMENT <gregory.clement@bootlin.com>
  Guenter Roeck <linux@roeck-us.net>
  Guido Kiener <guido.kiener@rohde-schwarz.com>
  Guoqing Jiang <jiangguoqing@kylinos.cn>
  H. Nikolaus Schaller <hns@goldelico.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Hervé Codina <herve.codina@bootlin.com>
  Hui Su <suhui@zeku.com>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jan Kara <jack@suse.cz>
  Jarkko Sakkinen <jarkko@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jens Wiklander <jens.wiklander@linaro.org>
  Johan Hovold <johan@kernel.org>
  Johannes Berg <johannes.berg@intel.com>
  Jon Hunter <jonathanh@nvidia.com>
  Juergen Borleis <jbe@pengutronix.de>
  Kieran Bingham <kieran.bingham@ideasonboard.com>
  Kim Phillips <kim.phillips@amd.com>
  Letu Ren <fantasquex@gmail.com>
  Li Manyi <limanyi@uniontech.com>
  Liam Merwick <liam.merwick@oracle.com>
  Like Xu <likexu@tencent.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Louis Peens <louis.peens@corigine.com>
  Luis Chamberlain <mcgrof@kernel.org>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Maciej W. Rozycki <macro@orcam.me.uk>
  Marek Vasut <marex@denx.de>
  Mario Kleiner <mario.kleiner.de@gmail.com>
  Mark Brown <broonie@kernel.org>
  Mark Rutland <mark.rutland@arm.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Matt Turner <mattst88@gmail.com>
  Matteo Croce <mcroce@microsoft.com>
  Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
  Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Maxim Devaev <mdevaev@gmail.com>
  Maxime Chevallier <maxime.chevallier@bootlin.com>
  Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Pali Rohár <pali@kernel.org>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Skripkin <paskripkin@gmail.com>
  Pawel Laszczak <pawell@cadence.com>
  Peter Chen <peter.chen@kernel.org>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Phil Elwell <phil@raspberrypi.com>
  Prarit Bhargava <prarit@redhat.com>
  Qiang.zhang <qiang.zhang@windriver.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Sasha Levin <sashal@kernel.org>
  Sean Christopherson <seanjc@google.com>
  Sean Young <sean@mess.org>
  Sebastian Andrzej Siewior <bigeasy@linutronix.de>
  Shawn Guo <shawnguo@kernel.org>
  Shreyansh Chouhan <chouhan.shreyansh630@gmail.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Song Liu <song@kernel.org>
  Stas Sergeev <stsp2@yandex.ru>
  Stephen Boyd <sboyd@kernel.org>
  Steve Bennett <steveb@workware.net.au>
  Steven Rostedt (VMware) <rostedt@goodmis.org>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  syzbot+de271708674e2093097b@syzkaller.appspotmail.com
  Takashi Iwai <tiwai@suse.de>
  Tejun Heo <tj@kernel.org>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Theodore Ts'o <tytso@mit.edu>
  Thierry Reding <treding@nvidia.com>
  Thomas Gleixner <tglx@linutronix.de>
  Tony Lindgren <tony@atomide.com>
  Tyler Hicks <tyhicks@linux.microsoft.com>
  Vinod Koul <vkoul@kernel.org>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Wang Hai <wanghai38@huawei.com>
  Wei Shuyu <wsy@dogben.com>
  Will Deacon <will@kernel.org>
  Willy Tarreau <w@1wt.eu>
  Xiangyang Zhang <xyz.sun.ok@gmail.com>
  Xin Long <lucien.xin@gmail.com>
  Yang Yingliang <yangyingliang@huawei.com>
  Yu Kuai <yukuai3@huawei.com>
  Zheyu Ma <zheyuma97@gmail.com>
  Zhiyong Tao <zhiyong.tao@mediatek.com>

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


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

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

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

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

broken-job test-armhf-armhf-xl-credit1 broken
broken-job test-armhf-armhf-xl-credit2 broken
broken-step test-armhf-armhf-xl-credit2 host-install(5)
broken-step test-armhf-armhf-xl-credit1 host-install(5)
broken-job test-armhf-armhf-xl-credit1 broken
broken-job test-armhf-armhf-xl-arndale broken
broken-job test-armhf-armhf-libvirt broken
broken-job test-armhf-armhf-xl-rtds broken
broken-job test-armhf-armhf-xl-arndale broken

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sat Aug 14 15:38:04 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 14 Aug 2021 15:38:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167007.304846 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEvjW-0006AH-L0; Sat, 14 Aug 2021 15:38:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167007.304846; Sat, 14 Aug 2021 15:38:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEvjW-0006A7-HB; Sat, 14 Aug 2021 15:38:02 +0000
Received: by outflank-mailman (input) for mailman id 167007;
 Sat, 14 Aug 2021 15:38:02 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=itrD=NF=gmail.com=olekstysh@srs-us1.protection.inumbo.net>)
 id 1mEvjV-00069W-Vc
 for xen-devel@lists.xen.org; Sat, 14 Aug 2021 15:38:02 +0000
Received: from mail-wm1-x335.google.com (unknown [2a00:1450:4864:20::335])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id b4a4f1e7-543f-460e-9154-8e1b0aac7b0d;
 Sat, 14 Aug 2021 15:37:56 +0000 (UTC)
Received: by mail-wm1-x335.google.com with SMTP id
 w21-20020a7bc1150000b02902e69ba66ce6so8804708wmi.1
 for <xen-devel@lists.xen.org>; Sat, 14 Aug 2021 08:37: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: b4a4f1e7-543f-460e-9154-8e1b0aac7b0d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc;
        bh=URJcXGL0b260lpuAUm45ktGMt5jJtT0HI4iDrItDnyY=;
        b=UdqzIZCiHFb0/E8NimEPMKjyTzpLCw3iPYszSSQUtzaJQdeLih7Ser5CJmA5Q9K6g6
         HYRSz3llSG2NTqlK8HBixS8lxmNkY6tv6QxrF+fX4KVj3w+0cBrF3dfiwzAvaTkvFRl9
         SnYDYQnnPG2Dds6v+rI+KFyLcjT9ClMbhXwvFY/Zv20EfqaHJPuK1Z0h/9lro3k7/OIp
         XxqvlAU2weQP5DY1d/L0kw45cGdP5VRu5ZKzKnG+ez+IxciIYLtgBzoE8QUegATvDBcS
         tHJI4JwITkJwkEf7qPV3vDTQci6tIFTS9T3C6A14AYKA/uEKg8gotSDxJU7WFMZB1Iaa
         QaEQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=URJcXGL0b260lpuAUm45ktGMt5jJtT0HI4iDrItDnyY=;
        b=mb3em9uAvkO3MwjkdB1+wpSQdInN3eVAn00pGuBWEIQbVJV3x92BtuJpjvZq+lh6ce
         20azLYXkRf25XYX2JBGEVYMF57McaLOymRdBumgzgjJ+RfmgAAoL/Gn14VC8Du4oFxJ2
         NZSsusF9RDEdRWn3v61esGeFzjtQJqlPzRN0r1B4JRyArQmAHxuYGB/FfcBskxdv5ZBY
         r+I/FgbndwrgfP8fowpv8f+a15hNFbVjS9tvkg8cXVbXxoZWgcVBvs5s37wvwhg1I6Ea
         XQxqMmLtVPvtsi91ulIt+klOI2sU19P4peAFXjtsqUcrLFmW164Kw9KXuKBigF8Tk9rx
         haFg==
X-Gm-Message-State: AOAM5305ZzAb+sdYWB6xeAc21zUeqEtj3GP8TxQiBxP8VR19P/zP/z49
	JSBxeNjKDKSfOO558LVq62uaEsLQTJHphGxaUVU=
X-Google-Smtp-Source: ABdhPJwgcMwHzRft+Q+Du7nRaw6pyVw43I1+Fv7DubGUgEhKGbmlAFMxtdinuh2+ZWyZS6hcjs6dVFK1kkq6PPOGaCk=
X-Received: by 2002:a1c:7503:: with SMTP id o3mr7833835wmc.129.1628955475705;
 Sat, 14 Aug 2021 08:37:55 -0700 (PDT)
MIME-Version: 1.0
References: <87v94ldrqq.fsf@linaro.org> <alpine.DEB.2.21.2108041055390.9768@sstabellini-ThinkPad-T480s>
 <20210811062748.GB54169@laputa>
In-Reply-To: <20210811062748.GB54169@laputa>
From: Oleksandr Tyshchenko <olekstysh@gmail.com>
Date: Sat, 14 Aug 2021 18:37:44 +0300
Message-ID: <CAPD2p-mMeY=MDbAdLGrmmioSkJo147aMDrK=Qzr=PCa4jztGGg@mail.gmail.com>
Subject: Re: Enabling hypervisor agnosticism for VirtIO backends
To: AKASHI Takahiro <takahiro.akashi@linaro.org>, Stefano Stabellini <sstabellini@kernel.org>
Cc: "Alex Benn??e" <alex.bennee@linaro.org>, 
	Stratos Mailing List <stratos-dev@op-lists.linaro.org>, virtio-dev@lists.oasis-open.org, 
	Arnd Bergmann <arnd.bergmann@linaro.org>, Viresh Kumar <viresh.kumar@linaro.org>, 
	Stefano Stabellini <stefano.stabellini@xilinx.com>, stefanha@redhat.com, 
	Jan Kiszka <jan.kiszka@siemens.com>, Carl van Schaik <cvanscha@qti.qualcomm.com>, pratikp@quicinc.com, 
	Srivatsa Vaddagiri <vatsa@codeaurora.org>, Jean-Philippe Brucker <jean-philippe@linaro.org>, 
	Mathieu Poirier <mathieu.poirier@linaro.org>, Wei Chen <Wei.Chen@arm.com>, 
	Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>, Bertrand Marquis <Bertrand.Marquis@arm.com>, 
	Artem Mygaiev <Artem_Mygaiev@epam.com>, Julien Grall <julien@xen.org>, Juergen Gross <jgross@suse.com>, 
	Paul Durrant <paul@xen.org>, Xen Devel <xen-devel@lists.xen.org>
Content-Type: multipart/alternative; boundary="0000000000007c03fa05c986c0a8"

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

Hello, all.

Please see some comments below. And sorry for the possible format issues.

On Wed, Aug 11, 2021 at 9:27 AM AKASHI Takahiro <takahiro.akashi@linaro.org=
>
wrote:

> On Wed, Aug 04, 2021 at 12:20:01PM -0700, Stefano Stabellini wrote:
> > CCing people working on Xen+VirtIO and IOREQs. Not trimming the origina=
l
> > email to let them read the full context.
> >
> > My comments below are related to a potential Xen implementation, not
> > because it is the only implementation that matters, but because it is
> > the one I know best.
>
> Please note that my proposal (and hence the working prototype)[1]
> is based on Xen's virtio implementation (i.e. IOREQ) and particularly
> EPAM's virtio-disk application (backend server).
> It has been, I believe, well generalized but is still a bit biased
> toward this original design.
>
> So I hope you like my approach :)
>
> [1]
> https://op-lists.linaro.org/pipermail/stratos-dev/2021-August/000546.html
>
> Let me take this opportunity to explain a bit more about my approach belo=
w.
>
> > Also, please see this relevant email thread:
> > https://marc.info/?l=3Dxen-devel&m=3D162373754705233&w=3D2
> >
> >
> > On Wed, 4 Aug 2021, Alex Benn=C3=A9e wrote:
> > > Hi,
> > >
> > > One of the goals of Project Stratos is to enable hypervisor agnostic
> > > backends so we can enable as much re-use of code as possible and avoi=
d
> > > repeating ourselves. This is the flip side of the front end where
> > > multiple front-end implementations are required - one per OS, assumin=
g
> > > you don't just want Linux guests. The resultant guests are trivially
> > > movable between hypervisors modulo any abstracted paravirt type
> > > interfaces.
> > >
> > > In my original thumb nail sketch of a solution I envisioned vhost-use=
r
> > > daemons running in a broadly POSIX like environment. The interface to
> > > the daemon is fairly simple requiring only some mapped memory and som=
e
> > > sort of signalling for events (on Linux this is eventfd). The idea wa=
s
> a
> > > stub binary would be responsible for any hypervisor specific setup an=
d
> > > then launch a common binary to deal with the actual virtqueue request=
s
> > > themselves.
> > >
> > > Since that original sketch we've seen an expansion in the sort of way=
s
> > > backends could be created. There is interest in encapsulating backend=
s
> > > in RTOSes or unikernels for solutions like SCMI. There interest in Ru=
st
> > > has prompted ideas of using the trait interface to abstract differenc=
es
> > > away as well as the idea of bare-metal Rust backends.
> > >
> > > We have a card (STR-12) called "Hypercall Standardisation" which
> > > calls for a description of the APIs needed from the hypervisor side t=
o
> > > support VirtIO guests and their backends. However we are some way off
> > > from that at the moment as I think we need to at least demonstrate on=
e
> > > portable backend before we start codifying requirements. To that end =
I
> > > want to think about what we need for a backend to function.
> > >
> > > Configuration
> > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> > >
> > > In the type-2 setup this is typically fairly simple because the host
> > > system can orchestrate the various modules that make up the complete
> > > system. In the type-1 case (or even type-2 with delegated service VMs=
)
> > > we need some sort of mechanism to inform the backend VM about key
> > > details about the system:
> > >
> > >   - where virt queue memory is in it's address space
> > >   - how it's going to receive (interrupt) and trigger (kick) events
> > >   - what (if any) resources the backend needs to connect to
> > >
> > > Obviously you can elide over configuration issues by having static
> > > configurations and baking the assumptions into your guest images
> however
> > > this isn't scalable in the long term. The obvious solution seems to b=
e
> > > extending a subset of Device Tree data to user space but perhaps ther=
e
> > > are other approaches?
> > >
> > > Before any virtio transactions can take place the appropriate memory
> > > mappings need to be made between the FE guest and the BE guest.
> >
> > > Currently the whole of the FE guests address space needs to be visibl=
e
> > > to whatever is serving the virtio requests. I can envision 3
> approaches:
> > >
> > >  * BE guest boots with memory already mapped
> > >
> > >  This would entail the guest OS knowing where in it's Guest Physical
> > >  Address space is already taken up and avoiding clashing. I would
> assume
> > >  in this case you would want a standard interface to userspace to the=
n
> > >  make that address space visible to the backend daemon.
>
> Yet another way here is that we would have well known "shared memory"
> between
> VMs. I think that Jailhouse's ivshmem gives us good insights on this matt=
er
> and that it can even be an alternative for hypervisor-agnostic solution.
>
> (Please note memory regions in ivshmem appear as a PCI device and can be
> mapped locally.)
>
> I want to add this shared memory aspect to my virtio-proxy, but
> the resultant solution would eventually look similar to ivshmem.
>
> > >  * BE guests boots with a hypervisor handle to memory
> > >
> > >  The BE guest is then free to map the FE's memory to where it wants i=
n
> > >  the BE's guest physical address space.
> >
> > I cannot see how this could work for Xen. There is no "handle" to give
> > to the backend if the backend is not running in dom0. So for Xen I thin=
k
> > the memory has to be already mapped
>
> In Xen's IOREQ solution (virtio-blk), the following information is expect=
ed
> to be exposed to BE via Xenstore:
> (I know that this is a tentative approach though.)
>    - the start address of configuration space
>    - interrupt number
>    - file path for backing storage
>    - read-only flag
> And the BE server have to call a particular hypervisor interface to
> map the configuration space.
>

Yes, Xenstore was chosen as a simple way to pass configuration info to the
backend running in a non-toolstack domain.
I remember, there was a wish to avoid using Xenstore in Virtio backend
itself if possible, so for non-toolstack domain, this could done with
adjusting devd (daemon that listens for devices and launches backends)
to read backend configuration from the Xenstore anyway and pass it to the
backend via command line arguments.

But, if ...


>
> In my approach (virtio-proxy), all those Xen (or hypervisor)-specific
> stuffs are contained in virtio-proxy, yet another VM, to hide all details=
.
>

... the solution how to overcome that is already found and proven to work
then even better.



>
> # My point is that a "handle" is not mandatory for executing mapping.
>
> > and the mapping probably done by the
> > toolstack (also see below.) Or we would have to invent a new Xen
> > hypervisor interface and Xen virtual machine privileges to allow this
> > kind of mapping.
>
> > If we run the backend in Dom0 that we have no problems of course.
>
> One of difficulties on Xen that I found in my approach is that calling
> such hypervisor intefaces (registering IOREQ, mapping memory) is only
> allowed on BE servers themselvies and so we will have to extend those
> interfaces.
> This, however, will raise some concern on security and privilege
> distribution
> as Stefan suggested.
>

We also faced policy related issues with Virtio backend running in other
than Dom0 domain in a "dummy" xsm mode. In our target system we run the
backend in a driver
domain (we call it DomD) where the underlying H/W resides. We trust it, so
we wrote policy rules (to be used in "flask" xsm mode) to provide it with a
little bit more privileges than a simple DomU had.
Now it is permitted to issue device-model, resource and memory mappings,
etc calls.


> >
> >
> > > To activate the mapping will
> > >  require some sort of hypercall to the hypervisor. I can see two
> options
> > >  at this point:
> > >
> > >   - expose the handle to userspace for daemon/helper to trigger the
> > >     mapping via existing hypercall interfaces. If using a helper you
> > >     would have a hypervisor specific one to avoid the daemon having t=
o
> > >     care too much about the details or push that complexity into a
> > >     compile time option for the daemon which would result in differen=
t
> > >     binaries although a common source base.
> > >
> > >   - expose a new kernel ABI to abstract the hypercall differences awa=
y
> > >     in the guest kernel. In this case the userspace would essentially
> > >     ask for an abstract "map guest N memory to userspace ptr" and let
> > >     the kernel deal with the different hypercall interfaces. This of
> > >     course assumes the majority of BE guests would be Linux kernels a=
nd
> > >     leaves the bare-metal/unikernel approaches to their own devices.
> > >
> > > Operation
> > > =3D=3D=3D=3D=3D=3D=3D=3D=3D
> > >
> > > The core of the operation of VirtIO is fairly simple. Once the
> > > vhost-user feature negotiation is done it's a case of receiving updat=
e
> > > events and parsing the resultant virt queue for data. The vhost-user
> > > specification handles a bunch of setup before that point, mostly to
> > > detail where the virt queues are set up FD's for memory and event
> > > communication. This is where the envisioned stub process would be
> > > responsible for getting the daemon up and ready to run. This is
> > > currently done inside a big VMM like QEMU but I suspect a modern
> > > approach would be to use the rust-vmm vhost crate. It would then eith=
er
> > > communicate with the kernel's abstracted ABI or be re-targeted as a
> > > build option for the various hypervisors.
> >
> > One thing I mentioned before to Alex is that Xen doesn't have VMMs the
> > way they are typically envisioned and described in other environments.
> > Instead, Xen has IOREQ servers. Each of them connects independently to
> > Xen via the IOREQ interface. E.g. today multiple QEMUs could be used as
> > emulators for a single Xen VM, each of them connecting to Xen
> > independently via the IOREQ interface.
> >
> > The component responsible for starting a daemon and/or setting up share=
d
> > interfaces is the toolstack: the xl command and the libxl/libxc
> > libraries.
>
> I think that VM configuration management (or orchestration in Startos
> jargon?) is a subject to debate in parallel.
> Otherwise, is there any good assumption to avoid it right now?
>
> > Oleksandr and others I CCed have been working on ways for the toolstack
> > to create virtio backends and setup memory mappings. They might be able
> > to provide more info on the subject. I do think we miss a way to provid=
e
> > the configuration to the backend and anything else that the backend
> > might require to start doing its job.
>

Yes, some work has been done for the toolstack to handle Virtio MMIO
devices in
general and Virtio block devices in particular. However, it has not been
upstreaned yet.
Updated patches on review now:
https://lore.kernel.org/xen-devel/1621626361-29076-1-git-send-email-oleksty=
sh@gmail.com/

There is an additional (also important) activity to improve/fix foreign
memory mapping on Arm which I am also involved in.
The foreign memory mapping is proposed to be used for Virtio backends
(device emulators) if there is a need to run guest OS completely unmodified=
.
Of course, the more secure way would be to use grant memory mapping.
Brietly, the main difference between them is that with foreign mapping the
backend
can map any guest memory it wants to map, but with grant mapping it is
allowed to map only what was previously granted by the frontend.

So, there might be a problem if we want to pre-map some guest memory in
advance or to cache mappings in the backend in order to improve performance
(because the mapping/unmapping guest pages every request requires a lot of
back and forth to Xen + P2M updates). In a nutshell, currently, in order to
map a guest page into the backend address space we need to steal a real
physical page from the backend domain. So, with the said optimizations we
might end up with no free memory in the backend domain (see XSA-300).
And what we try to achieve is to not waste a real domain memory at all by
providing safe non-allocated-yet (so unused) address space for the foreign
(and grant) pages to be mapped into, this enabling work implies Xen and
Linux (and likely DTB bindings) changes. However, as it turned out, for
this to work in a proper and safe way some prereq work needs to be done.
You can find the related Xen discussion at:
https://lore.kernel.org/xen-devel/1627489110-25633-1-git-send-email-oleksty=
sh@gmail.com/



> >
> >
> > > One question is how to best handle notification and kicks. The existi=
ng
> > > vhost-user framework uses eventfd to signal the daemon (although QEMU
> > > is quite capable of simulating them when you use TCG). Xen has it's o=
wn
> > > IOREQ mechanism. However latency is an important factor and having
> > > events go through the stub would add quite a lot.
> >
> > Yeah I think, regardless of anything else, we want the backends to
> > connect directly to the Xen hypervisor.
>
> In my approach,
>  a) BE -> FE: interrupts triggered by BE calling a hypervisor interface
>               via virtio-proxy
>  b) FE -> BE: MMIO to config raises events (in event channels), which is
>               converted to a callback to BE via virtio-proxy
>               (Xen's event channel is internnally implemented by
> interrupts.)
>
> I don't know what "connect directly" means here, but sending interrupts
> to the opposite side would be best efficient.
> Ivshmem, I suppose, takes this approach by utilizing PCI's msi-x mechanis=
m.
>

Agree that MSI would be more efficient than SPI...
At the moment, in order to notify the frontend, the backend issues a
specific device-model call to query Xen to inject a corresponding SPI to
the guest.



>
> >
> > > Could we consider the kernel internally converting IOREQ messages fro=
m
> > > the Xen hypervisor to eventfd events? Would this scale with other
> kernel
> > > hypercall interfaces?
> > >
> > > So any thoughts on what directions are worth experimenting with?
> >
> > One option we should consider is for each backend to connect to Xen via
> > the IOREQ interface. We could generalize the IOREQ interface and make i=
t
> > hypervisor agnostic. The interface is really trivial and easy to add.
>
> As I said above, my proposal does the same thing that you mentioned here =
:)
> The difference is that I do call hypervisor interfaces via virtio-proxy.
>
> > The only Xen-specific part is the notification mechanism, which is an
> > event channel. If we replaced the event channel with something else the
> > interface would be generic. See:
> >
> https://gitlab.com/xen-project/xen/-/blob/staging/xen/include/public/hvm/=
ioreq.h#L52
> >
> > I don't think that translating IOREQs to eventfd in the kernel is a
> > good idea: if feels like it would be extra complexity and that the
> > kernel shouldn't be involved as this is a backend-hypervisor interface.
>
> Given that we may want to implement BE as a bare-metal application
> as I did on Zephyr, I don't think that the translation would not be
> a big issue, especially on RTOS's.
> It will be some kind of abstraction layer of interrupt handling
> (or nothing but a callback mechanism).
>
> > Also, eventfd is very Linux-centric and we are trying to design an
> > interface that could work well for RTOSes too. If we want to do
> > something different, both OS-agnostic and hypervisor-agnostic, perhaps
> > we could design a new interface. One that could be implementable in the
> > Xen hypervisor itself (like IOREQ) and of course any other hypervisor
> > too.
> >
> >
> > There is also another problem. IOREQ is probably not be the only
> > interface needed. Have a look at
> > https://marc.info/?l=3Dxen-devel&m=3D162373754705233&w=3D2. Don't we al=
so need
> > an interface for the backend to inject interrupts into the frontend? An=
d
> > if the backend requires dynamic memory mappings of frontend pages, then
> > we would also need an interface to map/unmap domU pages.
>
> My proposal document might help here; All the interfaces required for
> virtio-proxy (or hypervisor-related interfaces) are listed as
> RPC protocols :)
>
> > These interfaces are a lot more problematic than IOREQ: IOREQ is tiny
> > and self-contained. It is easy to add anywhere. A new interface to
> > inject interrupts or map pages is more difficult to manage because it
> > would require changes scattered across the various emulators.
>
> Exactly. I have no confident yet that my approach will also apply
> to other hypervisors than Xen.
> Technically, yes, but whether people can accept it or not is a different
> matter.
>
> Thanks,
> -Takahiro Akashi
>
>

--=20
Regards,

Oleksandr Tyshchenko

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

<div dir=3D"ltr"><div>Hello, all.</div><div><br></div><div>Please see some =
comments below. And sorry for the possible format issues.</div><br><div cla=
ss=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Wed, Aug 11, 20=
21 at 9:27 AM AKASHI Takahiro &lt;<a href=3D"mailto:takahiro.akashi@linaro.=
org" target=3D"_blank">takahiro.akashi@linaro.org</a>&gt; wrote:<br></div><=
blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-l=
eft:1px solid rgb(204,204,204);padding-left:1ex">On Wed, Aug 04, 2021 at 12=
:20:01PM -0700, Stefano Stabellini wrote:<br>
&gt; CCing people working on Xen+VirtIO and IOREQs. Not trimming the origin=
al<br>
&gt; email to let them read the full context.<br>
&gt; <br>
&gt; My comments below are related to a potential Xen implementation, not<b=
r>
&gt; because it is the only implementation that matters, but because it is<=
br>
&gt; the one I know best.<br>
<br>
Please note that my proposal (and hence the working prototype)[1]<br>
is based on Xen&#39;s virtio implementation (i.e. IOREQ) and particularly<b=
r>
EPAM&#39;s virtio-disk application (backend server).<br>
It has been, I believe, well generalized but is still a bit biased<br>
toward this original design.<br>
<br>
So I hope you like my approach :)<br>
<br>
[1] <a href=3D"https://op-lists.linaro.org/pipermail/stratos-dev/2021-Augus=
t/000546.html" rel=3D"noreferrer" target=3D"_blank">https://op-lists.linaro=
.org/pipermail/stratos-dev/2021-August/000546.html</a><br>
<br>
Let me take this opportunity to explain a bit more about my approach below.=
<br>
<br>
&gt; Also, please see this relevant email thread:<br>
&gt; <a href=3D"https://marc.info/?l=3Dxen-devel&amp;m=3D162373754705233&am=
p;w=3D2" rel=3D"noreferrer" target=3D"_blank">https://marc.info/?l=3Dxen-de=
vel&amp;m=3D162373754705233&amp;w=3D2</a><br>
&gt; <br>
&gt; <br>
&gt; On Wed, 4 Aug 2021, Alex Benn=C3=A9e wrote:<br>
&gt; &gt; Hi,<br>
&gt; &gt; <br>
&gt; &gt; One of the goals of Project Stratos is to enable hypervisor agnos=
tic<br>
&gt; &gt; backends so we can enable as much re-use of code as possible and =
avoid<br>
&gt; &gt; repeating ourselves. This is the flip side of the front end where=
<br>
&gt; &gt; multiple front-end implementations are required - one per OS, ass=
uming<br>
&gt; &gt; you don&#39;t just want Linux guests. The resultant guests are tr=
ivially<br>
&gt; &gt; movable between hypervisors modulo any abstracted paravirt type<b=
r>
&gt; &gt; interfaces.<br>
&gt; &gt; <br>
&gt; &gt; In my original thumb nail sketch of a solution I envisioned vhost=
-user<br>
&gt; &gt; daemons running in a broadly POSIX like environment. The interfac=
e to<br>
&gt; &gt; the daemon is fairly simple requiring only some mapped memory and=
 some<br>
&gt; &gt; sort of signalling for events (on Linux this is eventfd). The ide=
a was a<br>
&gt; &gt; stub binary would be responsible for any hypervisor specific setu=
p and<br>
&gt; &gt; then launch a common binary to deal with the actual virtqueue req=
uests<br>
&gt; &gt; themselves.<br>
&gt; &gt; <br>
&gt; &gt; Since that original sketch we&#39;ve seen an expansion in the sor=
t of ways<br>
&gt; &gt; backends could be created. There is interest in encapsulating bac=
kends<br>
&gt; &gt; in RTOSes or unikernels for solutions like SCMI. There interest i=
n Rust<br>
&gt; &gt; has prompted ideas of using the trait interface to abstract diffe=
rences<br>
&gt; &gt; away as well as the idea of bare-metal Rust backends.<br>
&gt; &gt; <br>
&gt; &gt; We have a card (STR-12) called &quot;Hypercall Standardisation&qu=
ot; which<br>
&gt; &gt; calls for a description of the APIs needed from the hypervisor si=
de to<br>
&gt; &gt; support VirtIO guests and their backends. However we are some way=
 off<br>
&gt; &gt; from that at the moment as I think we need to at least demonstrat=
e one<br>
&gt; &gt; portable backend before we start codifying requirements. To that =
end I<br>
&gt; &gt; want to think about what we need for a backend to function.<br>
&gt; &gt; <br>
&gt; &gt; Configuration<br>
&gt; &gt; =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>
&gt; &gt; <br>
&gt; &gt; In the type-2 setup this is typically fairly simple because the h=
ost<br>
&gt; &gt; system can orchestrate the various modules that make up the compl=
ete<br>
&gt; &gt; system. In the type-1 case (or even type-2 with delegated service=
 VMs)<br>
&gt; &gt; we need some sort of mechanism to inform the backend VM about key=
<br>
&gt; &gt; details about the system:<br>
&gt; &gt; <br>
&gt; &gt;=C2=A0 =C2=A0- where virt queue memory is in it&#39;s address spac=
e<br>
&gt; &gt;=C2=A0 =C2=A0- how it&#39;s going to receive (interrupt) and trigg=
er (kick) events<br>
&gt; &gt;=C2=A0 =C2=A0- what (if any) resources the backend needs to connec=
t to<br>
&gt; &gt; <br>
&gt; &gt; Obviously you can elide over configuration issues by having stati=
c<br>
&gt; &gt; configurations and baking the assumptions into your guest images =
however<br>
&gt; &gt; this isn&#39;t scalable in the long term. The obvious solution se=
ems to be<br>
&gt; &gt; extending a subset of Device Tree data to user space but perhaps =
there<br>
&gt; &gt; are other approaches?<br>
&gt; &gt; <br>
&gt; &gt; Before any virtio transactions can take place the appropriate mem=
ory<br>
&gt; &gt; mappings need to be made between the FE guest and the BE guest.<b=
r>
&gt; <br>
&gt; &gt; Currently the whole of the FE guests address space needs to be vi=
sible<br>
&gt; &gt; to whatever is serving the virtio requests. I can envision 3 appr=
oaches:<br>
&gt; &gt; <br>
&gt; &gt;=C2=A0 * BE guest boots with memory already mapped<br>
&gt; &gt; <br>
&gt; &gt;=C2=A0 This would entail the guest OS knowing where in it&#39;s Gu=
est Physical<br>
&gt; &gt;=C2=A0 Address space is already taken up and avoiding clashing. I =
would assume<br>
&gt; &gt;=C2=A0 in this case you would want a standard interface to userspa=
ce to then<br>
&gt; &gt;=C2=A0 make that address space visible to the backend daemon.<br>
<br>
Yet another way here is that we would have well known &quot;shared memory&q=
uot; between<br>
VMs. I think that Jailhouse&#39;s ivshmem gives us good insights on this ma=
tter<br>
and that it can even be an alternative for hypervisor-agnostic solution. <b=
r>
<br>
(Please note memory regions in ivshmem appear as a PCI device and can be<br=
>
mapped locally.)<br>
<br>
I want to add this shared memory aspect to my virtio-proxy, but<br>
the resultant solution would eventually look similar to ivshmem.<br>
<br>
&gt; &gt;=C2=A0 * BE guests boots with a hypervisor handle to memory<br>
&gt; &gt; <br>
&gt; &gt;=C2=A0 The BE guest is then free to map the FE&#39;s memory to whe=
re it wants in<br>
&gt; &gt;=C2=A0 the BE&#39;s guest physical address space.<br>
&gt; <br>
&gt; I cannot see how this could work for Xen. There is no &quot;handle&quo=
t; to give<br>
&gt; to the backend if the backend is not running in dom0. So for Xen I thi=
nk<br>
&gt; the memory has to be already mapped<br>
<br>
In Xen&#39;s IOREQ solution (virtio-blk), the following information is expe=
cted<br>
to be exposed to BE via Xenstore:<br>
(I know that this is a tentative approach though.)<br>
=C2=A0 =C2=A0- the start address of configuration space<br>
=C2=A0 =C2=A0- interrupt number<br>
=C2=A0 =C2=A0- file path for backing storage<br>
=C2=A0 =C2=A0- read-only flag<br>
And the BE server have to call a particular hypervisor interface to<br>
map the configuration space.<br></blockquote><div>=C2=A0</div><div>Yes, Xen=
store was chosen=C2=A0as a simple way to pass configuration info to the bac=
kend running in a non-toolstack domain.</div><div>I remember, there was a w=
ish to avoid using Xenstore in Virtio backend itself if possible, so for=C2=
=A0non-toolstack domain, this could done with adjusting devd (daemon that l=
istens for devices and launches backends)</div><div>to read backend configu=
ration from the Xenstore=C2=A0anyway and pass it to the backend via command=
 line arguments.=C2=A0</div><div><br></div><div>But, if ...</div><div>=C2=
=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8e=
x;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
In my approach (virtio-proxy), all those Xen (or hypervisor)-specific<br>
stuffs are contained in virtio-proxy, yet another VM, to hide all details.<=
br></blockquote><div>=C2=A0</div><div>... the solution how to=C2=A0overcome=
 that is already found and proven to work then even better.=C2=A0</div><div=
><br></div><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"marg=
in:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1e=
x">
<br>
# My point is that a &quot;handle&quot; is not mandatory for executing mapp=
ing.<br>
<br>
&gt; and the mapping probably done by the<br>
&gt; toolstack (also see below.) Or we would have to invent a new Xen<br>
&gt; hypervisor interface and Xen virtual machine privileges to allow this<=
br>
&gt; kind of mapping.<br>
<br>
&gt; If we run the backend in Dom0 that we have no problems of course.<br>
<br>
One of difficulties on Xen that I found in my approach is that calling<br>
such hypervisor intefaces (registering IOREQ, mapping memory) is only<br>
allowed on BE servers themselvies and so we will have to extend those<br>
interfaces.<br>
This, however, will raise some concern on security and privilege distributi=
on<br>
as Stefan suggested.<br></blockquote><div><br></div><div>We also faced poli=
cy=C2=A0related issues with Virtio backend running in other than Dom0 domai=
n in a &quot;dummy&quot; xsm mode. In our target system we run the backend =
in a driver</div><div>domain (we call it DomD) where the underlying=C2=A0H/=
W resides. We trust it, so we wrote policy rules (to be used in &quot;flask=
&quot; xsm mode) to provide it with a little bit more privileges than a sim=
ple DomU had.</div><div>Now it is permitted to issue device-model, resource=
 and memory mappings, etc calls.</div><div>=C2=A0</div><blockquote class=3D=
"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(2=
04,204,204);padding-left:1ex">
&gt; <br>
&gt; <br>
&gt; &gt; To activate the mapping will<br>
&gt; &gt;=C2=A0 require some sort of hypercall to the hypervisor. I can see=
 two options<br>
&gt; &gt;=C2=A0 at this point:<br>
&gt; &gt; <br>
&gt; &gt;=C2=A0 =C2=A0- expose the handle to userspace for daemon/helper to=
 trigger the<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0mapping via existing hypercall interfaces. If =
using a helper you<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0would have a hypervisor specific one to avoid =
the daemon having to<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0care too much about the details or push that c=
omplexity into a<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0compile time option for the daemon which would=
 result in different<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0binaries although a common source base.<br>
&gt; &gt; <br>
&gt; &gt;=C2=A0 =C2=A0- expose a new kernel ABI to abstract the hypercall d=
ifferences away<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0in the guest kernel. In this case the userspac=
e would essentially<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0ask for an abstract &quot;map guest N memory t=
o userspace ptr&quot; and let<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0the kernel deal with the different hypercall i=
nterfaces. This of<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0course assumes the majority of BE guests would=
 be Linux kernels and<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0leaves the bare-metal/unikernel approaches to =
their own devices.<br>
&gt; &gt; <br>
&gt; &gt; Operation<br>
&gt; &gt; =3D=3D=3D=3D=3D=3D=3D=3D=3D<br>
&gt; &gt; <br>
&gt; &gt; The core of the operation of VirtIO is fairly simple. Once the<br=
>
&gt; &gt; vhost-user feature negotiation is done it&#39;s a case of receivi=
ng update<br>
&gt; &gt; events and parsing the resultant virt queue for data. The vhost-u=
ser<br>
&gt; &gt; specification handles a bunch of setup before that point, mostly =
to<br>
&gt; &gt; detail where the virt queues are set up FD&#39;s for memory and e=
vent<br>
&gt; &gt; communication. This is where the envisioned stub process would be=
<br>
&gt; &gt; responsible for getting the daemon up and ready to run. This is<b=
r>
&gt; &gt; currently done inside a big VMM like QEMU but I suspect a modern<=
br>
&gt; &gt; approach would be to use the rust-vmm vhost crate. It would then =
either<br>
&gt; &gt; communicate with the kernel&#39;s abstracted ABI or be re-targete=
d as a<br>
&gt; &gt; build option for the various hypervisors.<br>
&gt; <br>
&gt; One thing I mentioned before to Alex is that Xen doesn&#39;t have VMMs=
 the<br>
&gt; way they are typically envisioned and described in other environments.=
<br>
&gt; Instead, Xen has IOREQ servers. Each of them connects independently to=
<br>
&gt; Xen via the IOREQ interface. E.g. today multiple QEMUs could be used a=
s<br>
&gt; emulators for a single Xen VM, each of them connecting to Xen<br>
&gt; independently via the IOREQ interface.<br>
&gt; <br>
&gt; The component responsible for starting a daemon and/or setting up shar=
ed<br>
&gt; interfaces is the toolstack: the xl command and the libxl/libxc<br>
&gt; libraries.<br>
<br>
I think that VM configuration management (or orchestration in Startos<br>
jargon?) is a subject to debate in parallel.<br>
Otherwise, is there any good assumption to avoid it right now?<br>
<br>
&gt; Oleksandr and others I CCed have been working on ways for the toolstac=
k<br>
&gt; to create virtio backends and setup memory mappings. They might be abl=
e<br>
&gt; to provide more info on the subject. I do think we miss a way to provi=
de<br>
&gt; the configuration to the backend and anything else that the backend<br=
>
&gt; might require to start doing its job.<br></blockquote><div>=C2=A0</div=
><div>Yes, some work has been done for the toolstack to handle Virtio MMIO =
devices in<br>general and Virtio block devices in particular. However, it h=
as not been upstreaned yet.<br>Updated patches on review now: <br><a href=
=3D"https://lore.kernel.org/xen-devel/1621626361-29076-1-git-send-email-ole=
kstysh@gmail.com/">https://lore.kernel.org/xen-devel/1621626361-29076-1-git=
-send-email-olekstysh@gmail.com/</a><br><br>There is an additional (also im=
portant) activity to improve/fix foreign memory mapping on Arm which I am a=
lso involved in.<br>The foreign memory mapping is proposed to be used for V=
irtio backends (device emulators) if there is a need to run guest OS comple=
tely unmodified.<br>Of course, the more secure way would be to use grant me=
mory mapping. Brietly, the main difference between them is that with foreig=
n mapping the backend<br>can map any guest memory it wants to map, but with=
 grant mapping it is allowed to map only what was previously granted by the=
 frontend.<br><br>So, there might be a problem if we want to pre-map some g=
uest memory in advance or to cache mappings in the backend in order to impr=
ove performance (because the mapping/unmapping guest pages every request re=
quires a lot of back and forth to Xen + P2M updates). In a nutshell, curren=
tly, in order to map a guest page into the backend address space we need to=
 steal a real physical page from the backend domain. So, with the said opti=
mizations we might end up with no free memory in the backend domain (see XS=
A-300). And=C2=A0what we try to achieve is to not waste a real domain memor=
y at all by providing safe non-allocated-yet (so unused) address space for =
the foreign (and grant) pages to be mapped into, this enabling work implies=
 Xen and Linux (and likely DTB bindings) changes. However, as it turned out=
, for this to work in a proper and safe way some prereq work needs to be do=
ne. =C2=A0<br>You can find the related Xen discussion at:<br><a href=3D"htt=
ps://lore.kernel.org/xen-devel/1627489110-25633-1-git-send-email-olekstysh@=
gmail.com/">https://lore.kernel.org/xen-devel/1627489110-25633-1-git-send-e=
mail-olekstysh@gmail.com/</a><br></div><div><br></div><div>=C2=A0</div><blo=
ckquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left=
:1px solid rgb(204,204,204);padding-left:1ex">
&gt; <br>
&gt; <br>
&gt; &gt; One question is how to best handle notification and kicks. The ex=
isting<br>
&gt; &gt; vhost-user framework uses eventfd to signal the daemon (although =
QEMU<br>
&gt; &gt; is quite capable of simulating them when you use TCG). Xen has it=
&#39;s own<br>
&gt; &gt; IOREQ mechanism. However latency is an important factor and havin=
g<br>
&gt; &gt; events go through the stub would add quite a lot.<br>
&gt; <br>
&gt; Yeah I think, regardless of anything else, we want the backends to<br>
&gt; connect directly to the Xen hypervisor.<br>
<br>
In my approach,<br>
=C2=A0a) BE -&gt; FE: interrupts triggered by BE calling a hypervisor inter=
face<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 via virtio-proxy<br>
=C2=A0b) FE -&gt; BE: MMIO to config raises events (in event channels), whi=
ch is<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 converted to a callback to=
 BE via virtio-proxy<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (Xen&#39;s event channel i=
s internnally implemented by interrupts.)<br>
<br>
I don&#39;t know what &quot;connect directly&quot; means here, but sending =
interrupts<br>
to the opposite side would be best efficient.<br>
Ivshmem, I suppose, takes this approach by utilizing PCI&#39;s msi-x mechan=
ism.<br></blockquote><div>=C2=A0</div><div>Agree that MSI would be more=C2=
=A0efficient than SPI...</div><div>At the moment, in order to notify the fr=
ontend, the backend issues a specific device-model call to query Xen to inj=
ect=C2=A0a corresponding SPI to the guest.=C2=A0 =C2=A0=C2=A0</div><div><br=
></div><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0=
px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
&gt; <br>
&gt; &gt; Could we consider the kernel internally converting IOREQ messages=
 from<br>
&gt; &gt; the Xen hypervisor to eventfd events? Would this scale with other=
 kernel<br>
&gt; &gt; hypercall interfaces?<br>
&gt; &gt; <br>
&gt; &gt; So any thoughts on what directions are worth experimenting with?<=
br>
&gt;=C2=A0 <br>
&gt; One option we should consider is for each backend to connect to Xen vi=
a<br>
&gt; the IOREQ interface. We could generalize the IOREQ interface and make =
it<br>
&gt; hypervisor agnostic. The interface is really trivial and easy to add.<=
br>
<br>
As I said above, my proposal does the same thing that you mentioned here :)=
<br>
The difference is that I do call hypervisor interfaces via virtio-proxy.<br=
>
<br>
&gt; The only Xen-specific part is the notification mechanism, which is an<=
br>
&gt; event channel. If we replaced the event channel with something else th=
e<br>
&gt; interface would be generic. See:<br>
&gt; <a href=3D"https://gitlab.com/xen-project/xen/-/blob/staging/xen/inclu=
de/public/hvm/ioreq.h#L52" rel=3D"noreferrer" target=3D"_blank">https://git=
lab.com/xen-project/xen/-/blob/staging/xen/include/public/hvm/ioreq.h#L52</=
a><br>
&gt; <br>
&gt; I don&#39;t think that translating IOREQs to eventfd in the kernel is =
a<br>
&gt; good idea: if feels like it would be extra complexity and that the<br>
&gt; kernel shouldn&#39;t be involved as this is a backend-hypervisor inter=
face.<br>
<br>
Given that we may want to implement BE as a bare-metal application<br>
as I did on Zephyr, I don&#39;t think that the translation would not be<br>
a big issue, especially on RTOS&#39;s.<br>
It will be some kind of abstraction layer of interrupt handling<br>
(or nothing but a callback mechanism).<br>
<br>
&gt; Also, eventfd is very Linux-centric and we are trying to design an<br>
&gt; interface that could work well for RTOSes too. If we want to do<br>
&gt; something different, both OS-agnostic and hypervisor-agnostic, perhaps=
<br>
&gt; we could design a new interface. One that could be implementable in th=
e<br>
&gt; Xen hypervisor itself (like IOREQ) and of course any other hypervisor<=
br>
&gt; too.<br>
&gt; <br>
&gt; <br>
&gt; There is also another problem. IOREQ is probably not be the only<br>
&gt; interface needed. Have a look at<br>
&gt; <a href=3D"https://marc.info/?l=3Dxen-devel&amp;m=3D162373754705233&am=
p;w=3D2" rel=3D"noreferrer" target=3D"_blank">https://marc.info/?l=3Dxen-de=
vel&amp;m=3D162373754705233&amp;w=3D2</a>. Don&#39;t we also need<br>
&gt; an interface for the backend to inject interrupts into the frontend? A=
nd<br>
&gt; if the backend requires dynamic memory mappings of frontend pages, the=
n<br>
&gt; we would also need an interface to map/unmap domU pages.<br>
<br>
My proposal document might help here; All the interfaces required for<br>
virtio-proxy (or hypervisor-related interfaces) are listed as<br>
RPC protocols :)<br>
<br>
&gt; These interfaces are a lot more problematic than IOREQ: IOREQ is tiny<=
br>
&gt; and self-contained. It is easy to add anywhere. A new interface to<br>
&gt; inject interrupts or map pages is more difficult to manage because it<=
br>
&gt; would require changes scattered across the various emulators.<br>
<br>
Exactly. I have no confident yet that my approach will also apply<br>
to other hypervisors than Xen.<br>
Technically, yes, but whether people can accept it or not is a different<br=
>
matter.<br>
<br>
Thanks,<br>
-Takahiro Akashi<br>
<br>
</blockquote></div><br clear=3D"all"><div><br></div>-- <br><div dir=3D"ltr"=
><div dir=3D"ltr"><div><div dir=3D"ltr"><div><div dir=3D"ltr"><span style=
=3D"background-color:rgb(255,255,255)"><font size=3D"2"><span style=3D"colo=
r:rgb(51,51,51);font-family:Arial,sans-serif">Regards,</span></font></span>=
</div><div dir=3D"ltr"><br></div><div dir=3D"ltr"><div><span style=3D"backg=
round-color:rgb(255,255,255)"><font size=3D"2">Oleksandr Tyshchenko</font><=
/span></div></div></div></div></div></div></div></div>

--0000000000007c03fa05c986c0a8--


From xen-devel-bounces@lists.xenproject.org Sat Aug 14 16:38:43 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 14 Aug 2021 16:38:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167018.304857 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEwg0-0004TD-CV; Sat, 14 Aug 2021 16:38:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167018.304857; Sat, 14 Aug 2021 16:38: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 1mEwg0-0004T6-7u; Sat, 14 Aug 2021 16:38:28 +0000
Received: by outflank-mailman (input) for mailman id 167018;
 Sat, 14 Aug 2021 16:38:27 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=k0b7=NF=kernel.org=pr-tracker-bot@srs-us1.protection.inumbo.net>)
 id 1mEwfz-0004T0-F6
 for xen-devel@lists.xenproject.org; Sat, 14 Aug 2021 16:38:27 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 0bb0a7f3-fd1e-11eb-a3ad-12813bfff9fa;
 Sat, 14 Aug 2021 16:38:26 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPS id 8AE8160F48;
 Sat, 14 Aug 2021 16:38:25 +0000 (UTC)
Received: from pdx-korg-docbuild-2.ci.codeaurora.org (localhost.localdomain
 [127.0.0.1])
 by pdx-korg-docbuild-2.ci.codeaurora.org (Postfix) with ESMTP id 7626060A4D;
 Sat, 14 Aug 2021 16:38:25 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0bb0a7f3-fd1e-11eb-a3ad-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1628959105;
	bh=SxWq7pHIT4K1dHKgYgPBmmsWYv4UTB9/RSUM/XQtUNY=;
	h=Subject:From:In-Reply-To:References:Date:To:Cc:From;
	b=qXBdScxnl9wiVZGAB2J5fiVfY6KY4bu0FhcRAaFSsSzlgQYfgPs84MBO/FAotjMY0
	 aQi0y/HkLlLp+vyc4MclKc+r3bCxANcUwOKTs1uR+y6t0fedAiAHEumAdcYMqQ3ErQ
	 3eVPgBteCsTl0+fBE9FHnadBF+KhGtnrUV3JwZpQ1KrtMhs53UDohY7PSuXNMic1cz
	 pbrBnmtecNdGywl2bBbbKCZazyGjvm5/x1YdhSoyKQ4+AGcJ+jeKetWQusb1t712wT
	 dr/9QVBtdwMbZLJUjmZhfYrVYT6Wwwk1sAvWiuQEjhr411Gq5sb32tpWh4XK73ZnIi
	 twVO//utXgvFA==
Subject: Re: [GIT PULL] xen: branch for v5.14-rc6
From: pr-tracker-bot@kernel.org
In-Reply-To: <20210814084413.12168-1-jgross@suse.com>
References: <20210814084413.12168-1-jgross@suse.com>
X-PR-Tracked-List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
X-PR-Tracked-Message-Id: <20210814084413.12168-1-jgross@suse.com>
X-PR-Tracked-Remote: git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-5.14-rc6-tag
X-PR-Tracked-Commit-Id: 88ca2521bd5b4e8b83743c01a2d4cb09325b51e9
X-PR-Merge-Tree: torvalds/linux.git
X-PR-Merge-Refname: refs/heads/master
X-PR-Merge-Commit-Id: ba31f97d43be41ca99ab72a6131d7c226306865f
Message-Id: <162895910542.32142.3445606001241634698.pr-tracker-bot@kernel.org>
Date: Sat, 14 Aug 2021 16:38:25 +0000
To: Juergen Gross <jgross@suse.com>
Cc: torvalds@linux-foundation.org, linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, boris.ostrovsky@oracle.com

The pull request you sent on Sat, 14 Aug 2021 10:44:13 +0200:

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

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

Thank you!

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


From xen-devel-bounces@lists.xenproject.org Sat Aug 14 18:30:58 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 14 Aug 2021 18:30:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167023.304868 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEyQg-0006mL-1I; Sat, 14 Aug 2021 18:30:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167023.304868; Sat, 14 Aug 2021 18:30:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mEyQf-0006mE-U9; Sat, 14 Aug 2021 18:30:45 +0000
Received: by outflank-mailman (input) for mailman id 167023;
 Sat, 14 Aug 2021 18:30: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 1mEyQe-0006m4-Cm; Sat, 14 Aug 2021 18:30: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 1mEyQe-0003P3-5t; Sat, 14 Aug 2021 18:30: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 1mEyQd-0007I4-O3; Sat, 14 Aug 2021 18:30:43 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mEyQd-0000Og-Mv; Sat, 14 Aug 2021 18:30: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=DJ8nQs1CvzkRdRShCY6op0HnROVEfq3N4nLkE3dRp7o=; b=abUPcnSxagDNvkiiMbmoXzlJga
	mPsvoncFiatles2cuQCeUvyzV4NzB5j/VVfYiEYRoEHqd1G5uqJpG3nN7Ycb973oeiBRJxRoHArHm
	AVQIoH0T9G4Ee5hH/I8PfaNljmWIqOPdRr9tdUUDqvg5qenbiNINbSe9CF3SwcdMoP1Y=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164185-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164185: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt:<job status>:broken:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:<job status>:broken:regression
    linux-linus:test-armhf-armhf-xl-vhd:<job status>:broken:regression
    linux-linus:test-armhf-armhf-examine:host-install:broken:regression
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:guest-stop:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:host-install(5):broken:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:host-install(5):broken:nonblocking
    linux-linus:test-armhf-armhf-libvirt:host-install(5):broken:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=dfa377c35d70c31139b1274ec49f87d380996c42
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 14 Aug 2021 18:30:43 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-libvirt        <job status>                 broken
 test-armhf-armhf-xl-multivcpu    <job status>                 broken
 test-armhf-armhf-xl-vhd         <job status>                 broken
 test-armhf-armhf-examine      5 host-install           broken REGR. vs. 152332
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 20 guest-stop              fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 20 guest-stop               fail REGR. vs. 152332
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 152332

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

version targeted for testing:
 linux                dfa377c35d70c31139b1274ec49f87d380996c42
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  378 days
Failing since        152366  2020-08-01 20:49:34 Z  377 days  667 attempts
Testing same since   164185  2021-08-14 06:24:02 Z    0 days    1 attempts

------------------------------------------------------------
6796 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     fail    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     broken  
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                broken  
 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-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      broken  


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

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

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

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

broken-job test-armhf-armhf-libvirt broken
broken-job test-armhf-armhf-xl-multivcpu broken
broken-job test-armhf-armhf-xl-vhd broken
broken-step test-armhf-armhf-xl-multivcpu host-install(5)
broken-step test-armhf-armhf-xl-vhd host-install(5)
broken-step test-armhf-armhf-examine host-install
broken-step test-armhf-armhf-libvirt host-install(5)

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Aug 15 01:20:53 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 15 Aug 2021 01:20:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167029.304881 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mF4pH-0007KS-V2; Sun, 15 Aug 2021 01:20:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167029.304881; Sun, 15 Aug 2021 01:20:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mF4pH-0007KL-RT; Sun, 15 Aug 2021 01:20:35 +0000
Received: by outflank-mailman (input) for mailman id 167029;
 Sun, 15 Aug 2021 01:20: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 1mF4pF-0007KB-UQ; Sun, 15 Aug 2021 01:20:33 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mF4pF-0000RE-KX; Sun, 15 Aug 2021 01:20:33 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mF4pF-0002qh-6t; Sun, 15 Aug 2021 01:20:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mF4pF-00071x-6P; Sun, 15 Aug 2021 01:20:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=5WFmSd3VuwQprzBtwXgAakU9aP7gCztaildIPVxHj4Y=; b=Daz31yOPdZtuIs0GdiuTFxq/kf
	oxJobw0qdXt96LFMevnFuOVZBt5VYTgj1akuUpcC+O1m3pWnYVzqIc+cXGb8Wb5WwSkcTY+uPiBZ8
	HUz7g8cg1+JKJmzuA6CNR+bx5fWIFKew9bdOtvgYzcwJcdxMu6xe7279NUYIOrCf97Lw=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164186-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 164186: trouble: broken/fail/pass
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-libvirt:<job status>:broken:regression
    xen-unstable:test-armhf-armhf-xl:<job status>:broken:regression
    xen-unstable:test-armhf-armhf-xl-arndale:<job status>:broken:regression
    xen-unstable:test-armhf-armhf-xl-arndale:host-install(5):broken:heisenbug
    xen-unstable:test-armhf-armhf-libvirt:host-install(5):broken:heisenbug
    xen-unstable:test-armhf-armhf-xl:host-install(5):broken:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-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-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt: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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-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-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=5c34b9af05b9e5abd25d88efc4fb783136547810
X-Osstest-Versions-That:
    xen=5a88d524857e5bf78b077d30ea515fcaac061bfc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 15 Aug 2021 01:20:33 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-libvirt        <job status>                 broken
 test-armhf-armhf-xl             <job status>                 broken  in 164182
 test-armhf-armhf-xl-arndale     <job status>                 broken  in 164182

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-arndale  5 host-install(5) broken in 164182 pass in 164186
 test-armhf-armhf-libvirt      5 host-install(5)          broken pass in 164182

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl           5 host-install(5)   broken in 164182 like 164178
 test-armhf-armhf-libvirt 16 saverestore-support-check fail in 164182 like 164178
 test-armhf-armhf-libvirt    15 migrate-support-check fail in 164182 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 164178
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164178
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164178
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 164178
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 164178
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164178
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 164178
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164178
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164178
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164178
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  5c34b9af05b9e5abd25d88efc4fb783136547810
baseline version:
 xen                  5a88d524857e5bf78b077d30ea515fcaac061bfc

Last test of basis   164178  2021-08-13 10:47:20 Z    1 days
Testing same since   164182  2021-08-14 00:39:12 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>

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


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

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

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

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

broken-job test-armhf-armhf-libvirt broken
broken-step test-armhf-armhf-libvirt host-install(5)
broken-job test-armhf-armhf-xl broken
broken-job test-armhf-armhf-xl-arndale broken

Not pushing.

------------------------------------------------------------
commit 5c34b9af05b9e5abd25d88efc4fb783136547810
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Aug 13 16:50:09 2021 +0200

    libxc: simplify HYPERCALL_BUFFER()
    
    _hcbuf_buf1 has been there only for a pointer comparison to validate
    type compatibility. The same can be achieved by not using typeof() on
    the definition of what so far was _hcbuf_buf2, as the initializer has
    to also be type-compatible. Drop _hcbuf_buf1 and the comaprison;
    rename _hcbuf_buf2.
    
    Since we're already using compiler extensions here, don't be shy and
    also omit the middle operand of the involved ?: operator.
    
    Bring line continuation character placement in line with that of
    related macros.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit e241d15f1c8a8a02baa401af857393f9ada5aeb3
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Aug 13 16:49:46 2021 +0200

    libxenguest: fix off-by-1 in colo-secondary-bitmap merging
    
    Valid GFNs (having a representation in the dirty bitmap) need to be
    strictly below p2m_size.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 1a838bf72584788310496ba5f3d865457c80727f
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Aug 13 16:49:10 2021 +0200

    libxenguest: complete loops in xc_map_domain_meminfo()
    
    minfo->p2m_size may have more than 31 significant bits. Change the
    induction variable to unsigned long, and (largely for signed-ness
    consistency) a helper variable to unsigned int. While there also avoid
    open-coding min().
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Sun Aug 15 05:40:49 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 15 Aug 2021 05:40:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167036.304895 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mF8st-0005h9-UA; Sun, 15 Aug 2021 05:40:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167036.304895; Sun, 15 Aug 2021 05:40: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 1mF8st-0005h2-Qc; Sun, 15 Aug 2021 05:40:35 +0000
Received: by outflank-mailman (input) for mailman id 167036;
 Sun, 15 Aug 2021 05:40: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 1mF8ss-0005gs-KX; Sun, 15 Aug 2021 05:40: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 1mF8ss-0005bO-Dy; Sun, 15 Aug 2021 05:40:34 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mF8ss-0007JJ-1K; Sun, 15 Aug 2021 05:40:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mF8sr-0008FO-WE; Sun, 15 Aug 2021 05:40:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=XGOCZAIb7G2l1za2t5cfIy2c0v6hY+qUcUwnuKj8MnU=; b=eHGNqpmhfupKaZefkEL7fG3nxH
	F3nV7MuHLaSe1q7jTXehPRmpVS9PVyyKlDVhGbtECJGisSUiOxkY8XEEzGbAYkJLJa6Fc3sr5+gnu
	e4cDZeMRZ6IyCtmbQM+8MAi0RJfoBGEwCsjzPGimNLsC3/yC6cQRma6VekcQ8gR1z+LE=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164187-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 164187: trouble: broken/fail/pass
X-Osstest-Failures:
    linux-5.4:test-armhf-armhf-xl:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-arndale:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-credit2:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-libvirt:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-credit1:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-libvirt:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit2:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-arndale:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemuu-ovmf-amd64:guest-localmigrate:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:guest-start/debianhvm.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-amd64-amd64-pvgrub:debian-di-install:fail:heisenbug
    linux-5.4:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl: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-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check: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-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check: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-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt: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-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1: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-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-libvirt-xsm: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-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=a998faa9c4cee7dc68f3f6f82be93bbb99dda322
X-Osstest-Versions-That:
    linux=e350cd02e293be9a6b93398b2d3ff1edf7695ab2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 15 Aug 2021 05:40:34 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl             <job status>                 broken
 test-armhf-armhf-xl-arndale     <job status>                 broken
 test-armhf-armhf-xl-credit2     <job status>                 broken
 test-armhf-armhf-libvirt        <job status>                 broken  in 164180
 test-armhf-armhf-xl-credit1     <job status>                 broken  in 164183

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt     5 host-install(5) broken in 164180 pass in 164187
 test-armhf-armhf-xl-credit1  5 host-install(5) broken in 164183 pass in 164187
 test-armhf-armhf-xl-credit2   5 host-install(5)          broken pass in 164180
 test-armhf-armhf-xl           5 host-install(5)          broken pass in 164183
 test-armhf-armhf-xl-arndale   5 host-install(5)          broken pass in 164183
 test-amd64-amd64-xl-qemuu-ovmf-amd64 16 guest-localmigrate fail in 164180 pass in 164187
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 20 guest-start/debianhvm.repeat fail in 164180 pass in 164187
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail in 164180 pass in 164187
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 164183 pass in 164187
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat  fail pass in 164180
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install         fail pass in 164183
 test-amd64-amd64-i386-pvgrub 12 debian-di-install          fail pass in 164183

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-credit2 15 migrate-support-check fail in 164180 never pass
 test-armhf-armhf-xl-credit2 16 saverestore-support-check fail in 164180 never pass
 test-armhf-armhf-xl-arndale 15 migrate-support-check fail in 164183 never pass
 test-armhf-armhf-xl-arndale 16 saverestore-support-check fail in 164183 never pass
 test-armhf-armhf-xl         15 migrate-support-check fail in 164183 never pass
 test-armhf-armhf-xl     16 saverestore-support-check fail in 164183 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164131
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 164131
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 164131
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164131
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164131
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164131
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 164131
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164131
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 164131
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164131
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164131
 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-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-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-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                a998faa9c4cee7dc68f3f6f82be93bbb99dda322
baseline version:
 linux                e350cd02e293be9a6b93398b2d3ff1edf7695ab2

Last test of basis   164131  2021-08-08 07:11:59 Z    6 days
Testing same since   164167  2021-08-12 11:47:56 Z    2 days    6 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex Xu (Hello71) <alex_y_xu@yahoo.ca>
  Alexander Monakov <amonakov@ispras.ru>
  Alexander Tsoy <alexander@tsoy.me>
  Alexei Starovoitov <ast@kernel.org>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Anirudh Rayabharam <mail@anirudhrb.com>
  Antoine Tenart <atenart@kernel.org>
  Arnd Bergmann <arnd@arndb.de>
  Bartosz Golaszewski <bgolaszewski@baylibre.com>
  Brian Norris <briannorris@chromium.org>
  Catalin Marinas <catalin.marinas@arm.com>
  Chanho Park <chanho61.park@samsung.com>
  chihhao.chen <chihhao.chen@mediatek.com>
  Christoph Hellwig <hch@lst.de>
  Colin Ian King <colin.king@canonical.com>
  Dan Carpenter <dan.carpenter@oracle.com>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniele Palmas <dnlplm@gmail.com>
  Dario Binacchi <dariobin@libero.it>
  David Bauer <mail@david-bauer.net>
  David S. Miller <davem@davemloft.net>
  Dmitry Osipenko <digetx@gmail.com>
  Dominik Brodowski <linux@dominikbrodowski.net>
  Dongliang Mu <mudongliangabcd@gmail.com>
  Eero Lehtinen <debiangamer2@gmail.com>
  Fei Qin <fei.qin@corigine.com>
  Felipe Balbi <balbi@kernel.org>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Gregory CLEMENT <gregory.clement@bootlin.com>
  Guenter Roeck <linux@roeck-us.net>
  Guido Kiener <guido.kiener@rohde-schwarz.com>
  Guoqing Jiang <jiangguoqing@kylinos.cn>
  H. Nikolaus Schaller <hns@goldelico.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Hervé Codina <herve.codina@bootlin.com>
  Hui Su <suhui@zeku.com>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jan Kara <jack@suse.cz>
  Jarkko Sakkinen <jarkko@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jens Wiklander <jens.wiklander@linaro.org>
  Johan Hovold <johan@kernel.org>
  Johannes Berg <johannes.berg@intel.com>
  Jon Hunter <jonathanh@nvidia.com>
  Juergen Borleis <jbe@pengutronix.de>
  Kieran Bingham <kieran.bingham@ideasonboard.com>
  Kim Phillips <kim.phillips@amd.com>
  Letu Ren <fantasquex@gmail.com>
  Li Manyi <limanyi@uniontech.com>
  Liam Merwick <liam.merwick@oracle.com>
  Like Xu <likexu@tencent.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Louis Peens <louis.peens@corigine.com>
  Luis Chamberlain <mcgrof@kernel.org>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Maciej W. Rozycki <macro@orcam.me.uk>
  Marek Vasut <marex@denx.de>
  Mario Kleiner <mario.kleiner.de@gmail.com>
  Mark Brown <broonie@kernel.org>
  Mark Rutland <mark.rutland@arm.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Matt Turner <mattst88@gmail.com>
  Matteo Croce <mcroce@microsoft.com>
  Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
  Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Maxim Devaev <mdevaev@gmail.com>
  Maxime Chevallier <maxime.chevallier@bootlin.com>
  Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Pali Rohár <pali@kernel.org>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Skripkin <paskripkin@gmail.com>
  Pawel Laszczak <pawell@cadence.com>
  Peter Chen <peter.chen@kernel.org>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Phil Elwell <phil@raspberrypi.com>
  Prarit Bhargava <prarit@redhat.com>
  Qiang.zhang <qiang.zhang@windriver.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Sasha Levin <sashal@kernel.org>
  Sean Christopherson <seanjc@google.com>
  Sean Young <sean@mess.org>
  Sebastian Andrzej Siewior <bigeasy@linutronix.de>
  Shawn Guo <shawnguo@kernel.org>
  Shreyansh Chouhan <chouhan.shreyansh630@gmail.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Song Liu <song@kernel.org>
  Stas Sergeev <stsp2@yandex.ru>
  Stephen Boyd <sboyd@kernel.org>
  Steve Bennett <steveb@workware.net.au>
  Steven Rostedt (VMware) <rostedt@goodmis.org>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  syzbot+de271708674e2093097b@syzkaller.appspotmail.com
  Takashi Iwai <tiwai@suse.de>
  Tejun Heo <tj@kernel.org>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Theodore Ts'o <tytso@mit.edu>
  Thierry Reding <treding@nvidia.com>
  Thomas Gleixner <tglx@linutronix.de>
  Tony Lindgren <tony@atomide.com>
  Tyler Hicks <tyhicks@linux.microsoft.com>
  Vinod Koul <vkoul@kernel.org>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Wang Hai <wanghai38@huawei.com>
  Wei Shuyu <wsy@dogben.com>
  Will Deacon <will@kernel.org>
  Willy Tarreau <w@1wt.eu>
  Xiangyang Zhang <xyz.sun.ok@gmail.com>
  Xin Long <lucien.xin@gmail.com>
  Yang Yingliang <yangyingliang@huawei.com>
  Yu Kuai <yukuai3@huawei.com>
  Zheyu Ma <zheyuma97@gmail.com>
  Zhiyong Tao <zhiyong.tao@mediatek.com>

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


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

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

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

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

broken-job test-armhf-armhf-xl broken
broken-job test-armhf-armhf-xl-arndale broken
broken-job test-armhf-armhf-xl-credit2 broken
broken-step test-armhf-armhf-xl host-install(5)
broken-step test-armhf-armhf-xl-credit2 host-install(5)
broken-step test-armhf-armhf-xl-arndale host-install(5)
broken-job test-armhf-armhf-xl-credit2 broken
broken-job test-armhf-armhf-xl-credit1 broken
broken-job test-armhf-armhf-xl-credit1 broken
broken-job test-armhf-armhf-libvirt broken
broken-job test-armhf-armhf-xl-arndale broken

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Aug 15 07:01:49 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 15 Aug 2021 07:01:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167043.304910 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFA9K-0004lW-Tc; Sun, 15 Aug 2021 07:01:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167043.304910; Sun, 15 Aug 2021 07: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 1mFA9K-0004lP-Pi; Sun, 15 Aug 2021 07:01:38 +0000
Received: by outflank-mailman (input) for mailman id 167043;
 Sun, 15 Aug 2021 07:01: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 1mFA9J-0004lF-RL; Sun, 15 Aug 2021 07:01: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 1mFA9J-00070U-Hl; Sun, 15 Aug 2021 07:01: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 1mFA9J-0001oM-7i; Sun, 15 Aug 2021 07:01:37 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mFA9J-00048a-7D; Sun, 15 Aug 2021 07:01:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=oPQ/L7AAd6JeKuM1s0UBlpv7Ywqd5U5mHKtptw+pydA=; b=U8dAqKVGKQNgeb2xxGV0HTfxIX
	zhn+oOLhO6gCk+lEVy5k4wkDtRq5maCO+b2k27GP7kAOpDorwTdGLo9n069EY1QNDdZeClUdMRP9e
	Gyr8a4o8S9qKaJVGhsxNTygb8vP8n1H5Bq7l6LXPZbt1ki5/0MvxosvjaVMoJR8cZcC8=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164190-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 164190: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=42158b8936e492d71b00ad480683c45c2dbb65f5
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 15 Aug 2021 07:01:37 +0000

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

Regressions :-(

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

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

version targeted for testing:
 libvirt              42158b8936e492d71b00ad480683c45c2dbb65f5
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  401 days
Failing since        151818  2020-07-11 04:18:52 Z  400 days  392 attempts
Testing same since   164184  2021-08-14 04:20:09 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  Cédric Bosdonnat <cbosdonnat@suse.com>
  Côme Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano Fidêncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Ian Wienand <iwienand@redhat.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  John Ferlan <jferlan@redhat.com>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  Ján Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Michał Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  Moshe Levi <moshele@nvidia.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr Drąg <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tomáš Golembiovský <tgolembi@redhat.com>
  Tomáš Janoušek <tomi@nomi.cz>
  Tuguoyi <tu.guoyi@h3c.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  William Douglas <william.douglas@intel.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.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                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Aug 15 09:02:58 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 15 Aug 2021 09:02:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167057.304924 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFC2V-0007qI-Gp; Sun, 15 Aug 2021 09:02:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167057.304924; Sun, 15 Aug 2021 09: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 1mFC2V-0007qB-Dj; Sun, 15 Aug 2021 09:02:43 +0000
Received: by outflank-mailman (input) for mailman id 167057;
 Sun, 15 Aug 2021 09:02: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 1mFC2U-0007q1-2P; Sun, 15 Aug 2021 09:02: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 1mFC2T-0001AJ-St; Sun, 15 Aug 2021 09:02:41 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mFC2T-0000K0-JL; Sun, 15 Aug 2021 09:02:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mFC2T-0006Zs-Is; Sun, 15 Aug 2021 09:02: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=nnfTmVy1QFpJpKyGTupQlTA93T9xpaf1L5EvlSq9yPM=; b=2dx57TzxmXM3VWc1IUHSxpq9aW
	VKOkCP8R4MSCTIwSjMVU0dJNyBqcmOUK1cUQ4cNwGO07nm/zRANPi8Nw7HBKcgePpnAgh8AUEhiYV
	zL42omab5n4pP6ZBLzsGj3B8EmK+7jEQOc4jcgHujJGu/1jHuXq+HLVTWXPWqpO9hqGA=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164188-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164188: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt:<job status>:broken:regression
    linux-linus:test-armhf-armhf-examine:host-install:broken:regression
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:regression
    linux-linus:test-armhf-armhf-libvirt:host-install(5):broken:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=ba31f97d43be41ca99ab72a6131d7c226306865f
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 15 Aug 2021 09:02:41 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-libvirt        <job status>                 broken
 test-armhf-armhf-examine      5 host-install           broken REGR. vs. 152332
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install       fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 12 debian-di-install        fail REGR. vs. 152332

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

version targeted for testing:
 linux                ba31f97d43be41ca99ab72a6131d7c226306865f
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  379 days
Failing since        152366  2020-08-01 20:49:34 Z  378 days  668 attempts
Testing same since   164188  2021-08-14 18:42:34 Z    0 days    1 attempts

------------------------------------------------------------
6796 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     fail    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     broken  
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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

broken-job test-armhf-armhf-libvirt broken
broken-step test-armhf-armhf-examine host-install
broken-step test-armhf-armhf-libvirt host-install(5)

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Aug 15 10:30:06 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 15 Aug 2021 10:30:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167064.304938 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFDOk-0006rA-Us; Sun, 15 Aug 2021 10:29:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167064.304938; Sun, 15 Aug 2021 10:29:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFDOk-0006r3-Ru; Sun, 15 Aug 2021 10:29:46 +0000
Received: by outflank-mailman (input) for mailman id 167064;
 Sun, 15 Aug 2021 10:29: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 1mFDOj-0006qt-F6; Sun, 15 Aug 2021 10:29: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 1mFDOj-0002nE-6T; Sun, 15 Aug 2021 10:29: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 1mFDOi-0004lU-UB; Sun, 15 Aug 2021 10:29:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mFDOi-0007Nv-Tj; Sun, 15 Aug 2021 10: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ZhEetUxhW3HcW43zCEMRClLceLods/aSFHfNCFsXv3E=; b=g8B4z0Glr2noQrosMa6Vt1Ovhq
	7cu0ISno4BZbB6SlUCSLzTdp+guBMOq18oUtFMCUEppfQlDDbo/EZXz9QNQGt9tlVqmq1blN+8WHH
	IbFr9I7YUTQJzCyRUr1keQHx4MyYvXqP2yeU6XsnnIrsuKGwktweHDa1feqxeg65C74Q=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164193-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-coverity test] 164193: all pass - PUSHED
X-Osstest-Versions-This:
    xen=5c34b9af05b9e5abd25d88efc4fb783136547810
X-Osstest-Versions-That:
    xen=25da9455f1bb8a6d33039575a7b28bdfc4e3fcfe
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 15 Aug 2021 10:29:44 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 xen                  5c34b9af05b9e5abd25d88efc4fb783136547810
baseline version:
 xen                  25da9455f1bb8a6d33039575a7b28bdfc4e3fcfe

Last test of basis   164158  2021-08-11 09:19:40 Z    4 days
Testing same since   164193  2021-08-15 09:18:30 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jane Malalane <jane.malalane@citrix.com>
  Kevin Stefanov <kevin.stefanov@citrix.com>

jobs:
 coverity-amd64                                               pass    


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

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

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

Test harness 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
   25da9455f1..5c34b9af05  5c34b9af05b9e5abd25d88efc4fb783136547810 -> coverity-tested/smoke


From xen-devel-bounces@lists.xenproject.org Sun Aug 15 13:49:07 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 15 Aug 2021 13:49:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167072.304951 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFGVP-0007pf-2W; Sun, 15 Aug 2021 13:48:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167072.304951; Sun, 15 Aug 2021 13:48:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFGVO-0007pY-Vl; Sun, 15 Aug 2021 13:48:50 +0000
Received: by outflank-mailman (input) for mailman id 167072;
 Sun, 15 Aug 2021 13: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 1mFGVN-0007pO-Qe; Sun, 15 Aug 2021 13: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 1mFGVN-0006Di-HQ; Sun, 15 Aug 2021 13: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 1mFGVN-0005aC-50; Sun, 15 Aug 2021 13:48:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mFGVN-0000Wh-4R; Sun, 15 Aug 2021 13: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=aESFAKQr0W1K/19BxIQbeAYpUeXZBl1zRUC2zNzBJAE=; b=fTfXammzuR2xUjBr/WBqWlnRBe
	pJ9GmWISOFLJHfn+ukWNfFLBormRu5C8hHsV2tFw8tV+zS8QbCq9oVna737sP9hgnoQkLpDYRNGuX
	5qm9OXQwCK9nE1IruXgaJ6TbfwQBkrsW/NBxzwdqHonAOWm/8gbOdclkWxJPwJej8g+w=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164189-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 164189: FAIL
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-libvirt:<job status>:broken:regression
    xen-unstable:test-armhf-armhf-libvirt:host-install(5):broken:heisenbug
    xen-unstable:test-armhf-armhf-examine:host-install:broken:heisenbug
    xen-unstable:test-amd64-amd64-amd64-pvgrub:debian-di-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt: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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-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-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-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=5c34b9af05b9e5abd25d88efc4fb783136547810
X-Osstest-Versions-That:
    xen=5a88d524857e5bf78b077d30ea515fcaac061bfc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 15 Aug 2021 13:48:49 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-libvirt        <job status>                 broken  in 164186

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt     5 host-install(5) broken in 164186 pass in 164189
 test-armhf-armhf-examine      5 host-install             broken pass in 164186
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install         fail pass in 164186
 test-amd64-amd64-i386-pvgrub 12 debian-di-install          fail pass in 164186

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

version targeted for testing:
 xen                  5c34b9af05b9e5abd25d88efc4fb783136547810
baseline version:
 xen                  5a88d524857e5bf78b077d30ea515fcaac061bfc

Last test of basis   164178  2021-08-13 10:47:20 Z    2 days
Testing same since   164182  2021-08-14 00:39:12 Z    1 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>

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


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

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

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

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

broken-step test-armhf-armhf-examine host-install
broken-job test-armhf-armhf-libvirt broken

Not pushing.

------------------------------------------------------------
commit 5c34b9af05b9e5abd25d88efc4fb783136547810
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Aug 13 16:50:09 2021 +0200

    libxc: simplify HYPERCALL_BUFFER()
    
    _hcbuf_buf1 has been there only for a pointer comparison to validate
    type compatibility. The same can be achieved by not using typeof() on
    the definition of what so far was _hcbuf_buf2, as the initializer has
    to also be type-compatible. Drop _hcbuf_buf1 and the comaprison;
    rename _hcbuf_buf2.
    
    Since we're already using compiler extensions here, don't be shy and
    also omit the middle operand of the involved ?: operator.
    
    Bring line continuation character placement in line with that of
    related macros.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit e241d15f1c8a8a02baa401af857393f9ada5aeb3
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Aug 13 16:49:46 2021 +0200

    libxenguest: fix off-by-1 in colo-secondary-bitmap merging
    
    Valid GFNs (having a representation in the dirty bitmap) need to be
    strictly below p2m_size.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 1a838bf72584788310496ba5f3d865457c80727f
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Aug 13 16:49:10 2021 +0200

    libxenguest: complete loops in xc_map_domain_meminfo()
    
    minfo->p2m_size may have more than 31 significant bits. Change the
    induction variable to unsigned long, and (largely for signed-ness
    consistency) a helper variable to unsigned int. While there also avoid
    open-coding min().
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Sun Aug 15 15:21:46 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 15 Aug 2021 15:21:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167079.304965 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFHx6-0008Nz-3H; Sun, 15 Aug 2021 15:21:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167079.304965; Sun, 15 Aug 2021 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 1mFHx6-0008Ns-0L; Sun, 15 Aug 2021 15:21:32 +0000
Received: by outflank-mailman (input) for mailman id 167079;
 Sun, 15 Aug 2021 15:21:31 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=782z=NG=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mFHx4-0008Nm-VM
 for xen-devel@lists.xenproject.org; Sun, 15 Aug 2021 15:21:31 +0000
Received: from mail-pl1-x633.google.com (unknown [2607:f8b0:4864:20::633])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ca17943f-15f8-44b5-ab24-1a9f8ab2f164;
 Sun, 15 Aug 2021 15:21:29 +0000 (UTC)
Received: by mail-pl1-x633.google.com with SMTP id u1so880697plr.1
 for <xen-devel@lists.xenproject.org>; Sun, 15 Aug 2021 08:21:29 -0700 (PDT)
Received: from ?IPv6:2404:f801:0:5:8000::50b? ([2404:f801:9000:18:efec::50b])
 by smtp.gmail.com with ESMTPSA id
 nn18sm6289319pjb.21.2021.08.15.08.21.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 15 Aug 2021 08:21: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: ca17943f-15f8-44b5-ab24-1a9f8ab2f164
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:subject:to:cc:references:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=lqJuD6ruM5b7S82+pL+Pgu4dT3Aqj2AS9hae1tFkdRo=;
        b=UDo6cP9FMCJZ7xCJSIXhjRcP0ErAenE3P03nucshW6LzGwza1JB05cdoyvyJEbpJya
         8aLc4Djx0DAWFPSijwKCksggpzGOsA8NJq7xgbAAE0ffHXqq0QXSiy6tfbcSn5jEQof6
         2ma3PA51qPRAxAYmuW2j7KtkKsDVNuEpegmAaBxh1f/jI4N5cAWqPcx4oFXN2pO1Ashc
         87gLBUkKiBVoGeCUHLrBIQIIXvlCZHYUAOsOdCOfo4PAkq83QiSfgI8TAI23zhfr8YUr
         vMCV/udIh/MHgkHngzhYrcPnpUZMQSk6GK/ENzO0mZC8nGBR7d73iCxBtmg3WUTr+cQr
         /F0g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:subject:to:cc:references:message-id:date
         :user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=lqJuD6ruM5b7S82+pL+Pgu4dT3Aqj2AS9hae1tFkdRo=;
        b=mhAn79nqQAJTpTA23JcrQETQ9C4F8XXES8NL9SWMQD1MDaP4yy4Z7qIugjWWB6IflZ
         uVzoZSw0K27D8UQCFLeJt9ixTKidhrPKvk40mGaZ7DIcEIuq0d0vLDiuISM7GUbZQfL2
         9tni19/4jeVDR6wkBmpiQisQ15QFdeN/KpLDZY5UHPM6HVmBObekr1pZ3FkN9YVGveSH
         4E6QdFb2a8SrllGjjogAbAAJLP0rGmreLTDp2f2VLn5G6nWoRmEazzDEv+/O3mY961lS
         cpXvl0DYVgtFbGoj4n7On8qHK3M2QFbiXINNAtVMJqRoNWUU8XAwTZdj1vAu78Y/A0+Q
         HGug==
X-Gm-Message-State: AOAM5333BSwpJIfD/bdIw0ubbMi92eN2PkWfUz/qlt7n4Sy4+w0sU/RW
	eU/0hE7SJqniaAH/2GJp8WY=
X-Google-Smtp-Source: ABdhPJxpcs+C9yGRhB/oJwUav2sPEXUGNBEjk6Xqpn3/4lgsrB3QPLQ97I5YOwA+8w9+RuIKBCv5Rw==
X-Received: by 2002:a63:770f:: with SMTP id s15mr11711033pgc.137.1629040889118;
        Sun, 15 Aug 2021 08:21:29 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
Subject: Re: [PATCH V3 04/13] HV: Mark vmbus ring buffer visible to host in
 Isolation VM
To: Michael Kelley <mikelley@microsoft.com>, KY Srinivasan
 <kys@microsoft.com>, Haiyang Zhang <haiyangz@microsoft.com>,
 Stephen Hemminger <sthemmin@microsoft.com>,
 "wei.liu@kernel.org" <wei.liu@kernel.org>, Dexuan Cui <decui@microsoft.com>,
 "tglx@linutronix.de" <tglx@linutronix.de>,
 "mingo@redhat.com" <mingo@redhat.com>, "bp@alien8.de" <bp@alien8.de>,
 "x86@kernel.org" <x86@kernel.org>, "hpa@zytor.com" <hpa@zytor.com>,
 "dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
 "luto@kernel.org" <luto@kernel.org>,
 "peterz@infradead.org" <peterz@infradead.org>,
 "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
 "boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>,
 "jgross@suse.com" <jgross@suse.com>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>,
 "joro@8bytes.org" <joro@8bytes.org>, "will@kernel.org" <will@kernel.org>,
 "davem@davemloft.net" <davem@davemloft.net>,
 "kuba@kernel.org" <kuba@kernel.org>, "jejb@linux.ibm.com"
 <jejb@linux.ibm.com>, "martin.petersen@oracle.com"
 <martin.petersen@oracle.com>, "arnd@arndb.de" <arnd@arndb.de>,
 "hch@lst.de" <hch@lst.de>,
 "m.szyprowski@samsung.com" <m.szyprowski@samsung.com>,
 "robin.murphy@arm.com" <robin.murphy@arm.com>,
 "thomas.lendacky@amd.com" <thomas.lendacky@amd.com>,
 "brijesh.singh@amd.com" <brijesh.singh@amd.com>,
 "ardb@kernel.org" <ardb@kernel.org>, Tianyu Lan <Tianyu.Lan@microsoft.com>,
 "pgonda@google.com" <pgonda@google.com>,
 "martin.b.radev@gmail.com" <martin.b.radev@gmail.com>,
 "akpm@linux-foundation.org" <akpm@linux-foundation.org>,
 "kirill.shutemov@linux.intel.com" <kirill.shutemov@linux.intel.com>,
 "rppt@kernel.org" <rppt@kernel.org>,
 "sfr@canb.auug.org.au" <sfr@canb.auug.org.au>,
 "saravanand@fb.com" <saravanand@fb.com>,
 "krish.sadhukhan@oracle.com" <krish.sadhukhan@oracle.com>,
 "aneesh.kumar@linux.ibm.com" <aneesh.kumar@linux.ibm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "rientjes@google.com" <rientjes@google.com>,
 "hannes@cmpxchg.org" <hannes@cmpxchg.org>, "tj@kernel.org" <tj@kernel.org>
Cc: "iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org>,
 "linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
 "linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
 "linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
 "netdev@vger.kernel.org" <netdev@vger.kernel.org>,
 vkuznets <vkuznets@redhat.com>,
 "parri.andrea@gmail.com" <parri.andrea@gmail.com>,
 "dave.hansen@intel.com" <dave.hansen@intel.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-5-ltykernel@gmail.com>
 <MWHPR21MB1593CCBBBB83E721F8FDACD3D7F99@MWHPR21MB1593.namprd21.prod.outlook.com>
Message-ID: <43d4cb59-5ddd-516d-1f5c-4a1a799a9f2d@gmail.com>
Date: Sun, 15 Aug 2021 23:21:14 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <MWHPR21MB1593CCBBBB83E721F8FDACD3D7F99@MWHPR21MB1593.namprd21.prod.outlook.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit



On 8/13/2021 6:20 AM, Michael Kelley wrote:
>> @@ -474,6 +482,13 @@ static int __vmbus_establish_gpadl(struct vmbus_channel *channel,
>>   	if (ret)
>>   		return ret;
>>
>> +	ret = set_memory_decrypted((unsigned long)kbuffer,
>> +				   HVPFN_UP(size));
>> +	if (ret) {
>> +		pr_warn("Failed to set host visibility.\n");
> Enhance this message a bit.  "Failed to set host visibility for new GPADL\n"
> and also output the value of ret.

OK. This looks better. Thanks.

> 
>> @@ -539,6 +554,10 @@ static int __vmbus_establish_gpadl(struct vmbus_channel *channel,
>>   	/* At this point, we received the gpadl created msg */
>>   	*gpadl_handle = gpadlmsg->gpadl;
>>
>> +	channel->gpadl_array[index].size = size;
>> +	channel->gpadl_array[index].buffer = kbuffer;
>> +	channel->gpadl_array[index].gpadlhandle = *gpadl_handle;
>> +
> I can see the merits of transparently stashing the memory address and size
> that will be needed by vmbus_teardown_gpadl(), so that the callers of
> __vmbus_establish_gpadl() don't have to worry about it.  But doing the
> stashing transparently is somewhat messy.
> 
> Given that the callers are already have memory allocated to save the
> GPADL handle, a little refactoring would make for a much cleaner solution.
> Instead of having memory allocated for the 32-bit GPADL handle, callers
> should allocate the slightly larger struct vmbus_gpadl that you've
> defined below.  The calling interfaces can be updated to take a pointer
> to this structure instead of a pointer to the 32-bit GPADL handle, and
> you can save the memory address and size right along with the GPADL
> handle.  This approach touches a few more files, but I think there are
> only two callers outside of the channel management code -- netvsc
> and hv_uio -- so it's not a big change.

Yes, this is a good suggestion and Will update in the next version.

> 
>> @@ -859,6 +886,19 @@ int vmbus_teardown_gpadl(struct vmbus_channel *channel, u32 gpadl_handle)
>>   	spin_unlock_irqrestore(&vmbus_connection.channelmsg_lock, flags);
>>
>>   	kfree(info);
>> +
>> +	/* Find gpadl buffer virtual address and size. */
>> +	for (i = 0; i < VMBUS_GPADL_RANGE_COUNT; i++)
>> +		if (channel->gpadl_array[i].gpadlhandle == gpadl_handle)
>> +			break;
>> +
>> +	if (set_memory_encrypted((unsigned long)channel->gpadl_array[i].buffer,
>> +			HVPFN_UP(channel->gpadl_array[i].size)))
>> +		pr_warn("Fail to set mem host visibility.\n");
> Enhance this message a bit: "Failed to set host visibility in GPADL teardown\n".
> Also output the returned error code to help in debugging any occurrences of
> a failure
Yes, agree. Will update.

Thanks.


From xen-devel-bounces@lists.xenproject.org Sun Aug 15 18:29:42 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 15 Aug 2021 18:29:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167087.304977 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFKsx-00085B-CQ; Sun, 15 Aug 2021 18:29:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167087.304977; Sun, 15 Aug 2021 18:29:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFKsx-000854-9D; Sun, 15 Aug 2021 18:29:27 +0000
Received: by outflank-mailman (input) for mailman id 167087;
 Sun, 15 Aug 2021 18:29: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 1mFKsv-00084u-MQ; Sun, 15 Aug 2021 18:29: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 1mFKsv-000352-Fk; Sun, 15 Aug 2021 18:29: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 1mFKsu-0002VX-VO; Sun, 15 Aug 2021 18:29:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mFKsu-0007z6-Ut; Sun, 15 Aug 2021 18: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=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=SFPYkRngfIAu8JtKV/zkmD5CHS9fkFGrEUwTjcNmqC0=; b=k9LXiN4zv7lYzX34gp5PZbQFk7
	Vzxk6+GpnaNTnv3HhNAJ09PwEJCt05ED3qYZ4AmxjORQNRJlBLOMPxkIOMUkBCY1dPxHzmKx6UWAg
	z9j7lQoWNRcxrURVTD3i0OxgPGU3bE5yzRJZc8O/+WIQ+h/BYyTPCQC6D8QdPkgPjvbA=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164191-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 164191: trouble: broken/fail/pass
X-Osstest-Failures:
    linux-5.4:test-armhf-armhf-libvirt:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-arndale:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-multivcpu:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-vhd:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-credit1:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-credit2:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-credit2:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-arndale:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-examine:host-install:broken:heisenbug
    linux-5.4:test-armhf-armhf-libvirt:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-vhd:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-5.4:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:heisenbug
    linux-5.4:test-amd64-amd64-amd64-pvgrub:debian-di-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-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-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt: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-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1: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-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-libvirt-xsm: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-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=a998faa9c4cee7dc68f3f6f82be93bbb99dda322
X-Osstest-Versions-That:
    linux=e350cd02e293be9a6b93398b2d3ff1edf7695ab2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 15 Aug 2021 18:29:24 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-libvirt        <job status>                 broken
 test-armhf-armhf-xl-arndale     <job status>                 broken
 test-armhf-armhf-xl-multivcpu    <job status>                 broken
 test-armhf-armhf-xl-vhd         <job status>                 broken
 test-armhf-armhf-xl-credit1     <job status>                 broken  in 164183
 test-armhf-armhf-xl-credit2     <job status>                 broken  in 164183
 test-armhf-armhf-xl             <job status>                 broken  in 164187

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-credit2  5 host-install(5) broken in 164183 pass in 164191
 test-armhf-armhf-xl-credit1  5 host-install(5) broken in 164183 pass in 164191
 test-armhf-armhf-xl          5 host-install(5) broken in 164187 pass in 164191
 test-armhf-armhf-xl-arndale   5 host-install(5)          broken pass in 164183
 test-armhf-armhf-examine      5 host-install             broken pass in 164187
 test-armhf-armhf-libvirt      5 host-install(5)          broken pass in 164187
 test-armhf-armhf-xl-multivcpu  5 host-install(5)         broken pass in 164187
 test-armhf-armhf-xl-vhd       5 host-install(5)          broken pass in 164187
 test-armhf-armhf-xl-rtds 18 guest-start/debian.repeat fail in 164183 pass in 164191
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 164183 pass in 164191
 test-amd64-amd64-i386-pvgrub 12 debian-di-install          fail pass in 164183
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install         fail pass in 164183

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt 16 saverestore-support-check fail in 164183 like 164131
 test-armhf-armhf-xl-arndale 15 migrate-support-check fail in 164183 never pass
 test-armhf-armhf-xl-arndale 16 saverestore-support-check fail in 164183 never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check fail in 164183 never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check fail in 164183 never pass
 test-armhf-armhf-libvirt    15 migrate-support-check fail in 164183 never pass
 test-armhf-armhf-xl-vhd     14 migrate-support-check fail in 164183 never pass
 test-armhf-armhf-xl-vhd 15 saverestore-support-check fail in 164183 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164131
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 164131
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 164131
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164131
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164131
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 164131
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164131
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 164131
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164131
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164131
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                a998faa9c4cee7dc68f3f6f82be93bbb99dda322
baseline version:
 linux                e350cd02e293be9a6b93398b2d3ff1edf7695ab2

Last test of basis   164131  2021-08-08 07:11:59 Z    7 days
Testing same since   164167  2021-08-12 11:47:56 Z    3 days    7 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex Xu (Hello71) <alex_y_xu@yahoo.ca>
  Alexander Monakov <amonakov@ispras.ru>
  Alexander Tsoy <alexander@tsoy.me>
  Alexei Starovoitov <ast@kernel.org>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Anirudh Rayabharam <mail@anirudhrb.com>
  Antoine Tenart <atenart@kernel.org>
  Arnd Bergmann <arnd@arndb.de>
  Bartosz Golaszewski <bgolaszewski@baylibre.com>
  Brian Norris <briannorris@chromium.org>
  Catalin Marinas <catalin.marinas@arm.com>
  Chanho Park <chanho61.park@samsung.com>
  chihhao.chen <chihhao.chen@mediatek.com>
  Christoph Hellwig <hch@lst.de>
  Colin Ian King <colin.king@canonical.com>
  Dan Carpenter <dan.carpenter@oracle.com>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniele Palmas <dnlplm@gmail.com>
  Dario Binacchi <dariobin@libero.it>
  David Bauer <mail@david-bauer.net>
  David S. Miller <davem@davemloft.net>
  Dmitry Osipenko <digetx@gmail.com>
  Dominik Brodowski <linux@dominikbrodowski.net>
  Dongliang Mu <mudongliangabcd@gmail.com>
  Eero Lehtinen <debiangamer2@gmail.com>
  Fei Qin <fei.qin@corigine.com>
  Felipe Balbi <balbi@kernel.org>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Gregory CLEMENT <gregory.clement@bootlin.com>
  Guenter Roeck <linux@roeck-us.net>
  Guido Kiener <guido.kiener@rohde-schwarz.com>
  Guoqing Jiang <jiangguoqing@kylinos.cn>
  H. Nikolaus Schaller <hns@goldelico.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Hervé Codina <herve.codina@bootlin.com>
  Hui Su <suhui@zeku.com>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jan Kara <jack@suse.cz>
  Jarkko Sakkinen <jarkko@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jens Wiklander <jens.wiklander@linaro.org>
  Johan Hovold <johan@kernel.org>
  Johannes Berg <johannes.berg@intel.com>
  Jon Hunter <jonathanh@nvidia.com>
  Juergen Borleis <jbe@pengutronix.de>
  Kieran Bingham <kieran.bingham@ideasonboard.com>
  Kim Phillips <kim.phillips@amd.com>
  Letu Ren <fantasquex@gmail.com>
  Li Manyi <limanyi@uniontech.com>
  Liam Merwick <liam.merwick@oracle.com>
  Like Xu <likexu@tencent.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Louis Peens <louis.peens@corigine.com>
  Luis Chamberlain <mcgrof@kernel.org>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Maciej W. Rozycki <macro@orcam.me.uk>
  Marek Vasut <marex@denx.de>
  Mario Kleiner <mario.kleiner.de@gmail.com>
  Mark Brown <broonie@kernel.org>
  Mark Rutland <mark.rutland@arm.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Matt Turner <mattst88@gmail.com>
  Matteo Croce <mcroce@microsoft.com>
  Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
  Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Maxim Devaev <mdevaev@gmail.com>
  Maxime Chevallier <maxime.chevallier@bootlin.com>
  Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Pali Rohár <pali@kernel.org>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Skripkin <paskripkin@gmail.com>
  Pawel Laszczak <pawell@cadence.com>
  Peter Chen <peter.chen@kernel.org>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Phil Elwell <phil@raspberrypi.com>
  Prarit Bhargava <prarit@redhat.com>
  Qiang.zhang <qiang.zhang@windriver.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Sasha Levin <sashal@kernel.org>
  Sean Christopherson <seanjc@google.com>
  Sean Young <sean@mess.org>
  Sebastian Andrzej Siewior <bigeasy@linutronix.de>
  Shawn Guo <shawnguo@kernel.org>
  Shreyansh Chouhan <chouhan.shreyansh630@gmail.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Song Liu <song@kernel.org>
  Stas Sergeev <stsp2@yandex.ru>
  Stephen Boyd <sboyd@kernel.org>
  Steve Bennett <steveb@workware.net.au>
  Steven Rostedt (VMware) <rostedt@goodmis.org>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  syzbot+de271708674e2093097b@syzkaller.appspotmail.com
  Takashi Iwai <tiwai@suse.de>
  Tejun Heo <tj@kernel.org>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Theodore Ts'o <tytso@mit.edu>
  Thierry Reding <treding@nvidia.com>
  Thomas Gleixner <tglx@linutronix.de>
  Tony Lindgren <tony@atomide.com>
  Tyler Hicks <tyhicks@linux.microsoft.com>
  Vinod Koul <vkoul@kernel.org>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Wang Hai <wanghai38@huawei.com>
  Wei Shuyu <wsy@dogben.com>
  Will Deacon <will@kernel.org>
  Willy Tarreau <w@1wt.eu>
  Xiangyang Zhang <xyz.sun.ok@gmail.com>
  Xin Long <lucien.xin@gmail.com>
  Yang Yingliang <yangyingliang@huawei.com>
  Yu Kuai <yukuai3@huawei.com>
  Zheyu Ma <zheyuma97@gmail.com>
  Zhiyong Tao <zhiyong.tao@mediatek.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  broken  
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     fail    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     broken  
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                broken  
 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-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      broken  


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

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

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

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

broken-job test-armhf-armhf-libvirt broken
broken-job test-armhf-armhf-xl-arndale broken
broken-job test-armhf-armhf-xl-multivcpu broken
broken-job test-armhf-armhf-xl-vhd broken
broken-step test-armhf-armhf-examine host-install
broken-step test-armhf-armhf-libvirt host-install(5)
broken-step test-armhf-armhf-xl-arndale host-install(5)
broken-step test-armhf-armhf-xl-multivcpu host-install(5)
broken-step test-armhf-armhf-xl-vhd host-install(5)
broken-job test-armhf-armhf-xl-credit1 broken
broken-job test-armhf-armhf-xl-credit2 broken
broken-job test-armhf-armhf-xl broken
broken-job test-armhf-armhf-xl-arndale broken
broken-job test-armhf-armhf-xl-credit2 broken

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Aug 15 20:40:52 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 15 Aug 2021 20:40:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167093.304990 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFMvr-0003aD-UH; Sun, 15 Aug 2021 20:40:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167093.304990; Sun, 15 Aug 2021 20:40: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 1mFMvr-0003a6-RG; Sun, 15 Aug 2021 20:40:35 +0000
Received: by outflank-mailman (input) for mailman id 167093;
 Sun, 15 Aug 2021 20:40: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 1mFMvp-0003Zw-Ns; Sun, 15 Aug 2021 20:40: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 1mFMvp-0005NO-Ch; Sun, 15 Aug 2021 20:40: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 1mFMvp-0008Vd-0X; Sun, 15 Aug 2021 20:40:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mFMvo-0006JL-WF; Sun, 15 Aug 2021 20:40: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=41i03VeHtLOyPgU58jMNsC4jghXl1s7Qyq17NNjUmRI=; b=qrFAo0Mlfb9MCnSvvbvhsnHiOY
	cCV3uRr6KdybfX6lR0N/cvDNriprlfpBcsX5LX4iCEJErm8e3lIxHnSCkgxWyknyj4l13rf0Jyoc1
	sg5Ap8wf33sJWisZuPIrBlezQt4Dc5VwLWSsGG+eqJauJ5VPGgrnEuPCtkqqdblch6G8=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164192-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164192: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt:<job status>:broken:regression
    linux-linus:test-armhf-armhf-examine:host-install:broken:regression
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:regression
    linux-linus:test-armhf-armhf-libvirt:host-install(5):broken:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=0aa78d17099b04fd9d36fe338af48ad6fe2d7fca
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 15 Aug 2021 20:40:33 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-libvirt        <job status>                 broken
 test-armhf-armhf-examine      5 host-install           broken REGR. vs. 152332
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install       fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 12 debian-di-install        fail REGR. vs. 152332

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

version targeted for testing:
 linux                0aa78d17099b04fd9d36fe338af48ad6fe2d7fca
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  380 days
Failing since        152366  2020-08-01 20:49:34 Z  378 days  669 attempts
Testing same since   164192  2021-08-15 09:06:51 Z    0 days    1 attempts

------------------------------------------------------------
6796 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     fail    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     broken  
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

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

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

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

broken-job test-armhf-armhf-libvirt broken
broken-step test-armhf-armhf-examine host-install
broken-step test-armhf-armhf-libvirt host-install(5)

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Aug 16 03:00:19 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 03:00:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167101.305005 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFSr4-0001V5-Dx; Mon, 16 Aug 2021 03:00:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167101.305005; Mon, 16 Aug 2021 03:00:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFSr4-0001Tu-9T; Mon, 16 Aug 2021 03:00:02 +0000
Received: by outflank-mailman (input) for mailman id 167101;
 Mon, 16 Aug 2021 03:00:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mFSr3-0001Gu-MN; Mon, 16 Aug 2021 03:00:01 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mFSr3-00023l-DG; Mon, 16 Aug 2021 03:00:01 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mFSr3-0002qr-2g; Mon, 16 Aug 2021 03:00:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mFSr3-00050X-10; Mon, 16 Aug 2021 03: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=CQJOrWm+PuOAvIIQVw2PGvGpjOQBIbVxjwax0WLLv1w=; b=WTF5NkZPbSgeomGHpjvAZLJEvW
	4AtFr9OT4tdeF2UbXiiuVpFk4rEYNR38FUny0Qh1QvQlClUKo/u78hDE5Kd6GZC+qYIHGQt+CF1jL
	zYe8GCiHjlBCNAuThWt92ntUr13ao3GusBOg3evP+uS9xQnszOqGMNUJBJBI+MX2Mnbo=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164194-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 164194: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-amd64-pvgrub:debian-di-install:fail:regression
    qemu-mainline:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:allowable
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check: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-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl: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-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx: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-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=2edf8ac5bdd0ae1624dea2a8d5784f7a33745901
X-Osstest-Versions-That:
    qemuu=703e8cd6189cf699c8d5c094bc68b5f3afa6ad71
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 16 Aug 2021 03:00:01 +0000

flight 164194 qemu-mainline real [real]
flight 164198 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/164194/
http://logs.test-lab.xenproject.org/osstest/logs/164198/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-i386-pvgrub 12 debian-di-install        fail REGR. vs. 164152
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install       fail REGR. vs. 164152

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds    18 guest-start/debian.repeat fail REGR. vs. 164152

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164152
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164152
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164152
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164152
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164152
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164152
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164152
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-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-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                2edf8ac5bdd0ae1624dea2a8d5784f7a33745901
baseline version:
 qemuu                703e8cd6189cf699c8d5c094bc68b5f3afa6ad71

Last test of basis   164152  2021-08-10 21:08:02 Z    5 days
Testing same since   164194  2021-08-15 10:38:08 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Daniel P. Berrangé <berrange@redhat.com>
  Lara Lazier <laramglazier@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 2edf8ac5bdd0ae1624dea2a8d5784f7a33745901
Merge: 703e8cd618 ea0aa1752c
Author: Peter Maydell <peter.maydell@linaro.org>
Date:   Fri Aug 13 17:52:19 2021 +0100

    Merge remote-tracking branch 'remotes/bonzini-gitlab/tags/for-upstream' into staging
    
    Fixes for -smp, and for x86 TCG on Windows.
    
    # gpg: Signature made Fri 13 Aug 2021 13:43:46 BST
    # gpg:                using RSA key F13338574B662389866C7682BFFBD25F78C7AE83
    # gpg:                issuer "pbonzini@redhat.com"
    # gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" [full]
    # gpg:                 aka "Paolo Bonzini <pbonzini@redhat.com>" [full]
    # Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4  E2F7 7E15 100C CD36 69B1
    #      Subkey fingerprint: F133 3857 4B66 2389 866C  7682 BFFB D25F 78C7 AE83
    
    * remotes/bonzini-gitlab/tags/for-upstream:
      hw/core: fix error checking in smp_parse
      hw/core: Add missing return on error
      target/i386: Fixed size of constant for Windows
    
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

commit ea0aa1752ca88f7856cbf40eef0db62f90f28dcd
Author: Daniel P. Berrangé <berrange@redhat.com>
Date:   Thu Aug 12 18:53:53 2021 +0100

    hw/core: fix error checking in smp_parse
    
    machine_set_smp() mistakenly checks 'errp' not '*errp',
    and so thinks there is an error every single time it runs.
    This causes it to jump to the end of the method, skipping
    the max CPUs checks. The caller meanwhile sees no error
    and so carries on execution. The result of all this is:
    
     $ qemu-system-x86_64 -smp -1
     qemu-system-x86_64: GLib: ../glib/gmem.c:142: failed to allocate 481036337048 bytes
    
    instead of
    
     $ qemu-system-x86_64 -smp -1
     qemu-system-x86_64: Invalid SMP CPUs -1. The max CPUs supported by machine 'pc-i440fx-6.1' is 255
    
    This is a regression from
    
      commit fe68090e8fbd6e831aaf3fc3bb0459c5cccf14cf
      Author: Paolo Bonzini <pbonzini@redhat.com>
      Date:   Thu May 13 09:03:48 2021 -0400
    
        machine: add smp compound property
    
    Closes: https://gitlab.com/qemu-project/qemu/-/issues/524
    Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
    Message-Id: <20210812175353.4128471-1-berrange@redhat.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

commit 0b46318170bf2782564e1c444e01a47cda308c7f
Author: Philippe Mathieu-Daudé <philmd@redhat.com>
Date:   Fri Aug 13 13:26:06 2021 +0200

    hw/core: Add missing return on error
    
    If dies is not supported by this machine's CPU topology, don't
    keep processing options and return directly.
    
    Fixes: 0aebebb561c ("machine: reject -smp dies!=1 for non-PC machines")
    Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
    Message-Id: <20210813112608.1452541-2-philmd@redhat.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

commit 24d84c7e4806da0c362edd2ee76678f15becd17d
Author: Lara Lazier <laramglazier@gmail.com>
Date:   Thu Aug 12 13:10:56 2021 +0200

    target/i386: Fixed size of constant for Windows
    
    ~0UL has 64 bits on Linux and 32 bits on Windows.
    
    Fixes: https://gitlab.com/qemu-project/qemu/-/issues/512
    Reported-by: Volker Rümelin <vr_qemu@t-online.de>
    Signed-off-by: Lara Lazier <laramglazier@gmail.com>
    Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
    Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
    Message-Id: <20210812111056.26926-1-laramglazier@gmail.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


From xen-devel-bounces@lists.xenproject.org Mon Aug 16 05:22:09 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 05:22:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167108.305022 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFV4O-0006jB-6B; Mon, 16 Aug 2021 05:21:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167108.305022; Mon, 16 Aug 2021 05: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 1mFV4O-0006j4-2c; Mon, 16 Aug 2021 05:21:56 +0000
Received: by outflank-mailman (input) for mailman id 167108;
 Mon, 16 Aug 2021 05:21:55 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eR/w=NH=arm.com=Penny.Zheng@srs-us1.protection.inumbo.net>)
 id 1mFV4M-0006iy-QS
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 05:21:55 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com (unknown
 [40.107.22.76]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id dd094aa0-fe51-11eb-a440-12813bfff9fa;
 Mon, 16 Aug 2021 05:21:52 +0000 (UTC)
Received: from PR1P264CA0007.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:19e::12)
 by VI1PR08MB5421.eurprd08.prod.outlook.com (2603:10a6:803:132::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Mon, 16 Aug
 2021 05:21:49 +0000
Received: from VE1EUR03FT043.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:102:19e:cafe::a9) by PR1P264CA0007.outlook.office365.com
 (2603:10a6:102:19e::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13 via Frontend
 Transport; Mon, 16 Aug 2021 05:21:49 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT043.mail.protection.outlook.com (10.152.19.122) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Mon, 16 Aug 2021 05:21:48 +0000
Received: ("Tessian outbound f11f34576ce3:v103");
 Mon, 16 Aug 2021 05:21:48 +0000
Received: from 9bf9eb269fde.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 8AADB6A9-C0E6-4436-A44A-FA1E12C88932.1; 
 Mon, 16 Aug 2021 05:21:43 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 9bf9eb269fde.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 16 Aug 2021 05:21:43 +0000
Received: from VE1PR08MB5215.eurprd08.prod.outlook.com (2603:10a6:803:10a::33)
 by VI1PR0802MB2592.eurprd08.prod.outlook.com (2603:10a6:800:ae::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Mon, 16 Aug
 2021 05:21:39 +0000
Received: from VE1PR08MB5215.eurprd08.prod.outlook.com
 ([fe80::adf8:8d6f:2a30:b60c]) by VE1PR08MB5215.eurprd08.prod.outlook.com
 ([fe80::adf8:8d6f:2a30:b60c%5]) with mapi id 15.20.4415.022; Mon, 16 Aug 2021
 05:21: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: dd094aa0-fe51-11eb-a440-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XrZ7ulkz6GDXP1xryWMwPX8a+l/tgx7Tat9wEi9/6m8=;
 b=CycCUMH/VSef5+lOTAHf1z1KsYSP680P/fzIYzjEax5Ov99gEEdlUXe1X6xu6zv+DdikhB5NJAD8wSxUtmUKT5TnZzPKGA25VV21zmPGD33xXne9sPa/3KxYYzss/rywK3y+Rjhp0Id4xWXQStUtql9z465pKXEPvFCYk5pFYk8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=etXbdosgPCi4GVcN7eRcRJyzLK69UxOpx0NLrYKV6BFiC/JYi50VtiFsCMABWhHw8QhxcnCjn55RMKhXCMyB6uS8wB3BsvcBsYvBC9rtiw94dEiBTNaFpObEveT/7dOHUsVbJ+cp8zJoS6x5v8L0+2MuVWl2bbiZMaMSr/oJct19fFalTTiaKRIpqJxKTX7SQr76RZZd/C9MFZFHLH53Ru64Rl+NPy2oGsqX6ZjzidAL9GZ7n8y2lMLrmhiclVPySv8btGAD9U/2YhSmud5tjVHwbjU2XKEqbLtxRsQTBlieUeTe2gmETQVkBkJkLc6ax2OIlVmqIgjF4TotqsflmQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XrZ7ulkz6GDXP1xryWMwPX8a+l/tgx7Tat9wEi9/6m8=;
 b=G9Xai8FpXqNgwFw9sdhdLG8xYrulMsUVype3ZEtcq/+J3+Nj3Dp7QsV4EF41rS+pX7qGvkdXeLjXY5hVrA65lok8bXEb3hdBNHi2FCEroFw6DVx3H1KfNXh0Wp81DqnDAQJqw/AfOInzX30pawzoAFDOIuJMdIipQ6H64+uKKe+sRaYgfh1ooLDRUqT85t3XFZOdlYtPtr+RXtUMEqrQqqYKkvAl6MbZYBP9qKjFmi6MtJ0rGipHangrWueOKH6vkCwvrRBcBq1Gixx/Sr2JknV1giRfCL0FbJR/95BF/h2gWGtJmO8ufaQ4O7CpnKymSEWW7lgEDKOS6y4wIswEVA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XrZ7ulkz6GDXP1xryWMwPX8a+l/tgx7Tat9wEi9/6m8=;
 b=CycCUMH/VSef5+lOTAHf1z1KsYSP680P/fzIYzjEax5Ov99gEEdlUXe1X6xu6zv+DdikhB5NJAD8wSxUtmUKT5TnZzPKGA25VV21zmPGD33xXne9sPa/3KxYYzss/rywK3y+Rjhp0Id4xWXQStUtql9z465pKXEPvFCYk5pFYk8=
From: Penny Zheng <Penny.Zheng@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
	nd <nd@arm.com>
Subject: RE: [PATCH V4 01/10] xen/arm: introduce domain on Static Allocation
Thread-Topic: [PATCH V4 01/10] xen/arm: introduce domain on Static Allocation
Thread-Index: AQHXg5tT+SWyG6li/k6wFxy4MgT6GKtuY1iAgAcolIA=
Date: Mon, 16 Aug 2021 05:21:37 +0000
Message-ID:
 <VE1PR08MB521506FADC3CC8096D9B98DFF7FD9@VE1PR08MB5215.eurprd08.prod.outlook.com>
References: <20210728102758.3269446-1-penny.zheng@arm.com>
 <20210728102758.3269446-2-penny.zheng@arm.com>
 <7c99d0dd-ef62-10a8-a11e-d2ca52910591@xen.org>
In-Reply-To: <7c99d0dd-ef62-10a8-a11e-d2ca52910591@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 8906F37A7B931B4C974DF9A2910E64B5.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 81c22ff6-77e2-4f4a-caca-08d96075bf93
x-ms-traffictypediagnostic: VI1PR0802MB2592:|VI1PR08MB5421:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR08MB54215997B33039CE00EA4B63F7FD9@VI1PR08MB5421.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 ijH2pkzvIqGi025esJXobyO0gcUH1OZ1V7jSq1CRH/Yc4ZnsjiDTLEkyAGw7y1eAqLz686ONZ78aBP8PieBUKRhMNQWpU599/93+HVQgvS0v2D0NEy95dIXzJVgvaO1iAtVxTGYbboz6ti4Ryz9g7HQfTU3YaEiM/bZhekRRYevm468zXmo64/OYe7DsV0HlMaMwBFrp2sCLPo6mQXqQ00wYEDPU8ANMQrZBMQcKzsCXqVqcCdFpCtwMuIv+Qn3LkYCoRiTp3CCpMzVLs73jnnQkv+j4qv97y4Khcj8+6kRh3Xntsjt+dyJJEUsLgTqCJ4KCCD7/E8KY1ENHTf9KqwzHvd6AYitjjVFr0gG5maqONSb2RXnNS13qkX+2hyKWc7DrPflyvDQ28QnRowMMy3ILTIv0fBb+4hYxoGnSia21rUpUhIlRvPRrdnPudiM1dhc4TPrfl0PMy35CTuM0NH5Fs3mMj2jn5SXSJLPFtSHXiCICE5iYDSj6vp4fQk8qpl++hnIpIbOvxI4ajFDDsq2mXVPjk969YdYmNWohvgYU503ekoNiuBPb+Kjx2mVv1BCf0rr3onvMBMO5GtaW42epXXYoKs5OBl0r8Le736hYNV6OGu8VVVpHVWBzBAaZJvOYdQKNud4TqLLjcJXRJwFVoun3Jsmxfirq8vGlH+iBRh8uSJlcoj2qOIeWr/yYTurYiCRyNl7453jln8YBGw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR08MB5215.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(2906002)(9686003)(186003)(54906003)(71200400001)(55016002)(26005)(7696005)(52536014)(33656002)(5660300002)(53546011)(4326008)(6506007)(110136005)(86362001)(38100700002)(8676002)(38070700005)(122000001)(316002)(76116006)(8936002)(66446008)(64756008)(66556008)(66476007)(66946007)(508600001)(83380400001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?bDcrUzhJeUZDQ25mZHZva0ZYSDNpWVg0RzRpaW9UdUdPR1lVR1V0Q1FVWHdV?=
 =?utf-8?B?QkxoS3M2NThPTTAwd25WendIa1Zva2JRQUQ3Ni9WM0dMSE1JbzkxOStMOEFp?=
 =?utf-8?B?Z21vVXloTXFUUTFIdDN5Q1RWSG1GeVRNbnZtR3FPd1ZDbXZsRUJPeVhWNkEw?=
 =?utf-8?B?dnR0QTV1Q3UxeEh2MUs2bjZpcEUwcUEwaTNNSXN6ZHFyN0FkeGl5RE4zdnZ0?=
 =?utf-8?B?ZTNtN3FjdC8vZ1lpNjFmU2tsZHhuQXloejl0MXFvbFNjcmQrVXlXYnp0RUhC?=
 =?utf-8?B?N1orc20vRTVuaVdWR2thZlB0a0p0ZU03ZFF2VmYyb0l3eEdqdzNGOUE0QlVj?=
 =?utf-8?B?YmdoZTJ6bWhhNEJxV0VSVVkreXB2bXEyQWsxRFM5VlUrV1Y5Q3g0Tmg0eHJn?=
 =?utf-8?B?OGR6Z3JFbkJvZ3dzdEFrSEVsSmllbDUwc0R5cWJpVm9lbzdSR2V3T2dQVG9M?=
 =?utf-8?B?ZGlrTm9FMHY4QkJZYUxhcndtYW0zMFhuaDYzeXNZL2RIQVpLYWpDbXE5U0hM?=
 =?utf-8?B?WjBjUlY3MmIwT1FWNWZqVjhoVXNvMTFOT1ZYcUtBa2ZCYlV2dHlRMk4ySWY3?=
 =?utf-8?B?U2NwQnIvcVVrajdBTGF4L0htTEFaMFFaQjlIRTY0STJlVU9wdW9aUllVblQ4?=
 =?utf-8?B?NHBMQUNMbU1PTGlRbWFJSEtkL3U0cFo0d0dVM0EzV3dRKzFhVTIwZkRJUHNT?=
 =?utf-8?B?MFpud2dBZ05yZk1Wd0xWMXJtUDRlTnVHMUFSUVFQTGZTMFo3SU9nWWlDSkIx?=
 =?utf-8?B?bDhiRG1qblRrNkU4aFlnNDFOMkt6U3dDc2psdkdNc1RVYytySFJFUXRZTTd4?=
 =?utf-8?B?UGJqYjNycXRDM1pqNjB2c0JDbDZHS0dtbE9FM3ExbHQvTTlCRG5ieWp0M2I2?=
 =?utf-8?B?TkI4cVdMTDdvSEsrTHIwRlZmOFpkTTEvUVFCR2tMWWpBZ0lyYkNOY2dxcnZJ?=
 =?utf-8?B?eU54OFJuWDBGa0l5Nmcrb0liaTQwQ3FGZkI5Y3h5OVFla2JhcjJnSjk2V1V6?=
 =?utf-8?B?cysxSXdaZTlRNWFIeG5VSXVZTGtvc0FxUWVRT0tzcjVrWStIM3pPbjJMMVJ2?=
 =?utf-8?B?Yms3QWxjaFpzNytYcGI5ZGZvUnVCUCtQR3dISjcyZTMvRGZDbjY1bjdYSG1t?=
 =?utf-8?B?SlBDbTgxc2RJeE14enhSWGNxZmRTYVJFWEhvV0VoekNBQTFBVHNJV05wYVpz?=
 =?utf-8?B?NFE4YldvNnJ5Rjh3N05xYlNjMngvTmM2STRhRm9IZUxDbng1VE1XK3ZMRUdO?=
 =?utf-8?B?dEZVeWhZa01TaW5jQ1JSbDg1S3hYTXZtbHNvdmxvMUpXVG5XOXg0cTZMRDJU?=
 =?utf-8?B?YVBkYUYvZXNGK21YU0F5bjg0ZmkxSThpSis4MHo5Q1E0dFFTWFhHby9oZ3pz?=
 =?utf-8?B?YUxFaVZyK1FBRU80YXdoSmNBaWdSZ0o3eWhRYk8zZlp1WnRyaGZJSHNRblpk?=
 =?utf-8?B?bWJoU042N0dZSWVMc2lBRUFUWFluOXZaYXU2L3lBckh1TElYOVZrZGhUS0c1?=
 =?utf-8?B?OVJEVVRCSFlIaGdEOSt0ejhYMmY0L3ZxdVZrTCt3RTNVcEd4NnBnaTNQY0Rx?=
 =?utf-8?B?ZUlQZGJzNmNOa0d6YmtvQVZvTmthZEpaV05ILzhyL2tEMUl5Znk1eGFxbEkw?=
 =?utf-8?B?VjJZWU84YmFLOGplR2xaNW9VMyt6RnRkbXczZ3Z0YzR0QXlob1dVekpkMDVj?=
 =?utf-8?B?OFFqbUlEY0F0MlNCMWhRNHFWTUg0STR5UGxwV0JzazlQaDFtK241UHk0WHg2?=
 =?utf-8?Q?U2IZyHdKBilcVEPCjY=3D?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0802MB2592
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT043.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a62d9735-e3b9-451a-6383-08d96075b968
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	A9KlBuTpHCt2g6j2u519mofReVXGx2xZl1zpJ1HDpcQ0q4E3By11k7Gm2riViN/80rRmR6ZcKnw4Q34W0NzwLk/3F0URX7mOpHilRq9zSaI6oah9b1klxP83v4yhLdJlNWu8TyLMcDZVSXp0R1TOjghGFRgv53SAJQtW2f8Tnun3aFgpW/deKAkH+H50TJs2B6o815igJWbrBp8AqRSXcIedIdUmfujaP6Tjh4zT2Lmb4HzJKuXKeY+B+mCMtonpt5PbK/J415I/tBP3Om9jVgf49VQuwqOPPDMyjvIsGD8ycCxENcWjS8WdknCaNdwiOchs3xd6mJuPlzE50Mz+m4rNBrALksfGo3FG/SgBNexeB5NU8oZ4TglZUnietIft5l7pF9f+h1FY1Ewv4ZJWMCQvpKXUWMhiCJi+fNQOUMagQ4Med0nH6TmUSEh5yDYdLK/8ZAuLYZhw71CIeJQGMm6QrXLSnj9JydGA3mWudWOy2UX85zpdtIgcCeD6Gq1luAf7oK4yQfzJkjmGwdm8VHPFV6rEP0w8mHonfdxl5bziJbpP4m31cBAV2O33btEyqhNvgxDiH7nIrJ1oCGso7w+B+TfSqFUSjZAVFPpHGnpoS1jd0WizKLp1TkMojQsm/W+admiJVF1VtAbB7HQYYCnjFp4BUTIIwjwhgec6ekPlGcaI01MchbgsZ/6WKTAcZxV/XoW0zfv+4kuEghRjdg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(36840700001)(46966006)(54906003)(8676002)(7696005)(110136005)(316002)(26005)(47076005)(86362001)(70206006)(33656002)(70586007)(186003)(4326008)(6506007)(8936002)(36860700001)(336012)(2906002)(55016002)(82310400003)(5660300002)(53546011)(81166007)(508600001)(9686003)(356005)(52536014)(83380400001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2021 05:21:48.9710
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 81c22ff6-77e2-4f4a-caca-08d96075bf93
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT043.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB5421

SGkgSnVsaWVuDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSnVsaWVu
IEdyYWxsIDxqdWxpZW5AeGVuLm9yZz4NCj4gU2VudDogV2VkbmVzZGF5LCBBdWd1c3QgMTEsIDIw
MjEgOTozMiBQTQ0KPiBUbzogUGVubnkgWmhlbmcgPFBlbm55LlpoZW5nQGFybS5jb20+OyB4ZW4t
ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmc7DQo+IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmcNCj4g
Q2M6IEJlcnRyYW5kIE1hcnF1aXMgPEJlcnRyYW5kLk1hcnF1aXNAYXJtLmNvbT47IFdlaSBDaGVu
DQo+IDxXZWkuQ2hlbkBhcm0uY29tPjsgbmQgPG5kQGFybS5jb20+DQo+IFN1YmplY3Q6IFJlOiBb
UEFUQ0ggVjQgMDEvMTBdIHhlbi9hcm06IGludHJvZHVjZSBkb21haW4gb24gU3RhdGljIEFsbG9j
YXRpb24NCj4gDQo+IEhpIFBlbm55LA0KPiANCj4gT24gMjgvMDcvMjAyMSAxMToyNywgUGVubnkg
Wmhlbmcgd3JvdGU6DQo+ID4gU3RhdGljIEFsbG9jYXRpb24gcmVmZXJzIHRvIHN5c3RlbSBvciBz
dWItc3lzdGVtKGRvbWFpbnMpIGZvciB3aGljaA0KPiA+IG1lbW9yeSBhcmVhcyBhcmUgcHJlLWRl
ZmluZWQgYnkgY29uZmlndXJhdGlvbiB1c2luZyBwaHlzaWNhbCBhZGRyZXNzDQo+IHJhbmdlcy4N
Cj4gPiBUaG9zZSBwcmUtZGVmaW5lZCBtZW1vcnksIC0tIFN0YXRpYyBNZW1vcnksIGFzIHBhcnRz
IG9mIFJBTSByZXNlcnZlZA0KPiA+IGluIHRoZSBiZWdpbm5pbmcsIHNoYWxsIG5ldmVyIGdvIHRv
IGhlYXAgYWxsb2NhdG9yIG9yIGJvb3QgYWxsb2NhdG9yIGZvciBhbnkNCj4gdXNlLg0KPiA+DQo+
ID4gRG9tYWlucyBvbiBTdGF0aWMgQWxsb2NhdGlvbiBpcyBzdXBwb3J0ZWQgdGhyb3VnaCBkZXZp
Y2UgdHJlZSBwcm9wZXJ0eQ0KPiA+IGB4ZW4sc3RhdGljLW1lbWAgc3BlY2lmeWluZyByZXNlcnZl
ZCBSQU0gYmFua3MgYXMgdGhpcyBkb21haW4ncyBndWVzdCBSQU0uDQo+ID4gQnkgZGVmYXVsdCwg
dGhleSBzaGFsbCBiZSBtYXBwZWQgdG8gdGhlIGZpeGVkIGd1ZXN0IFJBTSBhZGRyZXNzDQo+ID4g
YEdVRVNUX1JBTTBfQkFTRWAsIGBHVUVTVF9SQU0xX0JBU0VgLg0KPiA+DQo+ID4gVGhpcyBwYXRj
aCBpbnRyb2R1Y2VzIHRoaXMgbmV3IGB4ZW4sc3RhdGljLW1lbWAgZmVhdHVyZSwgYW5kIGFsc28N
Cj4gPiBkb2N1bWVudHMgYW5kIHBhcnNlcyB0aGlzIG5ldyBhdHRyaWJ1dGUgYXQgYm9vdCB0aW1l
IGFuZCBzdG9yZXMNCj4gPiByZWxhdGVkIGluZm8gaW4gc3RhdGljX21lbSBmb3IgbGF0ZXIgaW5p
dGlhbGl6YXRpb24uDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBQZW5ueSBaaGVuZyA8cGVubnku
emhlbmdAYXJtLmNvbT4NCj4gPiAtLS0NCj4gPiAgIGRvY3MvbWlzYy9hcm0vZGV2aWNlLXRyZWUv
Ym9vdGluZy50eHQgfCA0MCArKysrKysrKysrKysrKysrKysrKysNCj4gPiAgIHhlbi9hcmNoL2Fy
bS9ib290ZmR0LmMgICAgICAgICAgICAgICAgfCA1MSArKysrKysrKysrKysrKysrKysrKysrKysr
KysNCj4gPiAgIHhlbi9pbmNsdWRlL2FzbS1hcm0vc2V0dXAuaCAgICAgICAgICAgfCAgMiArKw0K
PiA+ICAgMyBmaWxlcyBjaGFuZ2VkLCA5MyBpbnNlcnRpb25zKCspDQo+ID4NCj4gPiBkaWZmIC0t
Z2l0IGEvZG9jcy9taXNjL2FybS9kZXZpY2UtdHJlZS9ib290aW5nLnR4dA0KPiA+IGIvZG9jcy9t
aXNjL2FybS9kZXZpY2UtdHJlZS9ib290aW5nLnR4dA0KPiA+IGluZGV4IDUyNDNiYzdmZDMuLjJh
MWRkY2EyOWIgMTAwNjQ0DQo+ID4gLS0tIGEvZG9jcy9taXNjL2FybS9kZXZpY2UtdHJlZS9ib290
aW5nLnR4dA0KPiA+ICsrKyBiL2RvY3MvbWlzYy9hcm0vZGV2aWNlLXRyZWUvYm9vdGluZy50eHQN
Cj4gPiBAQCAtMjY4LDMgKzI2OCw0MyBAQCBUaGUgRFRCIGZyYWdtZW50IGlzIGxvYWRlZCBhdCAw
eGMwMDAwMDAgaW4gdGhlDQo+IGV4YW1wbGUgYWJvdmUuIEl0IHNob3VsZA0KPiA+ICAgZm9sbG93
IHRoZSBjb252ZW50aW9uIGV4cGxhaW5lZCBpbiBkb2NzL21pc2MvYXJtL3Bhc3N0aHJvdWdoLnR4
dC4gVGhlDQo+ID4gICBEVEIgZnJhZ21lbnQgd2lsbCBiZSBhZGRlZCB0byB0aGUgZ3Vlc3QgZGV2
aWNlIHRyZWUsIHNvIHRoYXQgdGhlIGd1ZXN0DQo+ID4gICBrZXJuZWwgd2lsbCBiZSBhYmxlIHRv
IGRpc2NvdmVyIHRoZSBkZXZpY2UuDQo+ID4gKw0KPiA+ICsNCj4gPiArU3RhdGljIEFsbG9jYXRp
b24NCj4gPiArPT09PT09PT09PT09PQ0KPiA+ICsNCj4gPiArU3RhdGljIEFsbG9jYXRpb24gcmVm
ZXJzIHRvIHN5c3RlbSBvciBzdWItc3lzdGVtKGRvbWFpbnMpIGZvciB3aGljaA0KPiA+ICttZW1v
cnkgYXJlYXMgYXJlIHByZS1kZWZpbmVkIGJ5IGNvbmZpZ3VyYXRpb24gdXNpbmcgcGh5c2ljYWwg
YWRkcmVzcw0KPiByYW5nZXMuDQo+ID4gK1Rob3NlIHByZS1kZWZpbmVkIG1lbW9yeSwgLS0gU3Rh
dGljIE1lbW9yeSwgYXMgcGFydHMgb2YgUkFNIHJlc2VydmVkDQo+ID4gK2luIHRoZSBiZWdpbm5p
bmcsIHNoYWxsIG5ldmVyIGdvIHRvIGhlYXAgYWxsb2NhdG9yIG9yIGJvb3QgYWxsb2NhdG9yIGZv
ciBhbnkNCj4gdXNlLg0KPiANCj4gSSBkb24ndCB1bmRlcnN0YW5kICJhcyBwYXJ0cyBvZiBSQU0g
cmVzZXJ2ZWQgaW4gdGhlIGJlZ2lubmluZyIuIENvdWxkIHlvdQ0KPiBjbGFyaWZ5IGl0Pw0KPiAN
Cg0KSSBtZWFuLCBzdGF0aWMgbWVtb3J5IGlzIHZlcnkgYWxpa2UgcmVzZXJ2ZWQgbWVtb3J5LCBy
ZXNlcnZlZCBkdXJpbmcgc3lzdGVtIGJvb3QgdGltZSwNCm5vdCBkeW5hbWljYWxseSBhbGxvY2F0
ZWQgYXQgcnVudGltZS4NCg0KPiA+ICsNCj4gPiArRG9tYWlucyBvbiBTdGF0aWMgQWxsb2NhdGlv
biBpcyBzdXBwb3J0ZWQgdGhyb3VnaCBzdGF0aWMgbWVtb3J5DQo+ID4gK3Byb3BlcnR5LCBkZWZp
bmVkIHVuZGVyIGFjY29yZGluZyAvZG9tVXggaW4gdGhlIG5hbWUgb2YNCj4gPiArInhlbixzdGF0
aWMtbWVtIiwgd2hpY2ggYXJlDQo+IA0KPiBXZSBkb24ndCByZXF1aXJlIHRoZSBkb21VIG5vZGUg
dG8gYmUgY2FsbGVkIC9kb21VeC4NCj4gDQoNCk9oLCB0aHggZm9yIGV4cGxhbmF0aW9uLiBJIHdp
bGwgdGFrZSBkb21VIG5vZGUgaW5zdGVhZC4NCg0KPiA+ICtzcGVjaWZ5aW5nIHBoeXNpY2FsIFJB
TSBhcyB0aGlzIGRvbWFpbidzIGd1ZXN0IFJBTS4NCj4gPg0KPiANCj4gSG93IGFib3V0Og0KPiAN
Cj4gTWVtb3J5IGNhbiBiZSBzdGF0aWNhbGx5IGFsbG9jYXRlZCB0byBhIGRvbWFpbiB1c2luZyB0
aGUgcHJvcGVydHkgInhlbixzdGF0aWMtDQo+IG1lbSIgZGVmaW5lZCBpbiB0aGUgZG9tYWluIGNv
bmZpZ3VyYXRpb24uDQo+IA0KPiA+ICtUaGUgc2l6ZSBvZiBhZGRyZXNzLWNlbGxzL3NpemUtY2Vs
bHMgbXVzdCBiZSBkZWZpbmVkIGluDQo+IA0KPiBJIHdvdWxkIHNheSAiVGhlIG51bWJlciBvZiBj
ZWxscyBmb3IgdGhlIGFkZHJlc3MgYW5kIHRoZSBzaXplIG11c3QgYmUgZGVmaW5lZA0KPiB1c2lu
ZyByZXNwZWN0aXZlbHkgdGhlIHByb3BlcnRpZXMuLi4iDQo+IA0KDQpTdXJlLiBUaHggZm9yIHRo
ZSByZXBocmFzaW5nLg0KDQo+ID4gKyIjeGVuLHN0YXRpYy1tZW0tYWRkcmVzcy1jZWxscyIgYW5k
ICIjeGVuLHN0YXRpYy1tZW0tc2l6ZS1jZWxscyIuDQo+ID4gKw0KPiA+ICtPbiBtZW1vcnkgYWxs
b2NhdGlvbiwgdGhlc2UgcHJlLWRlZmluZWQgc3RhdGljIG1lbW9yeSByYW5nZXMgc2hhbGwgYmUN
Cj4gPiArZmlyc3RseSBtYXBwZWQgdG8gdGhlIGZpeGVkIGd1ZXN0IGJhbmsgIkdVRVNUX1JBTTAi
LiBVbnRpbCBpdA0KPiA+ICtleGhhdXN0cyB0aGUgYEdVRVNUX1JBTTBfU0laRWAsIHRoZW4gaXQg
d2lsbCBzZWVrIHRvIGBHVUVTVF9SQU0xX0JBU0VgLA0KPiBhbmQgc28gb24uDQo+ID4gK2BHVUVT
VF9SQU0wYCBtYXkgdGFrZSB1cCBzZXZlcmFsIHByZS1kZWZpbmVkIHBoeXNpY2FsIFJBTSByZWdp
b25zLg0KPiANCj4gR1VFU1RfUkFNMCAmIGNvIGFyZSBub3QgcGFydCBvZiB0aGUgc3RhYmxlIEFC
SS4gU28gSSBkb24ndCB0aGluayB0aGUNCj4gZG9jdW1lbnRhdGlvbiBzaG91bGQgbWVudGlvbiB0
aGVtLg0KPiANCj4gQnV0IEkgYW0gbm90IGNvbnZpbmNlZCB3ZSBzaG91bGQgcHJvdmlkZSBhIGd1
YXJhbnRlZSBob3cgdGhlIGFsbG9jYXRpb24gd2lsbA0KPiBoYXBwZW4uIFdoeSBkb2VzIGl0IG1h
dHRlcj8NCj4gDQoNClllYWgsIEkgcHV0IGl0IGhlcmUgdG8gYmUgaW4gY29tcGFyaXNvbiB3aXRo
IHRoZSBsYXRlciAxOjEgZGlyZWN0LW1hcCwgaG93ZXZlciwgaXQgaXMgdHJ1bHkgbm90DQpwYXJ0
IG9mIHRoZSBzdGFibGUgQUJJLCBzbyBJIHdpbGwgZGVsZXRlIGl0IGluIGRvY3VtZW50YXRpb24g
aGVyZSwNCg0KPiA+ICsNCj4gPiArVGhlIGR0YiBwcm9wZXJ0eSBzaG91bGQgbG9vayBsaWtlIGFz
IGZvbGxvd3M6DQo+IA0KPiBEbyB5b3UgbWVhbiAibm9kZSIgcmF0aGVyIHRoYW4gInByb3BlcnR5
Ij8NCj4gDQoNCk9oLCBzdXJlLiBNYXliZSAiYXMgYW4gZXhhbXBsZSIgc2hhbGwgYmUgbW9yZSBj
bGFyaWZpZWQuDQoNCj4gPiArICAgICAgICAgICAgICAgIGNvbXBhdGlibGUgPSAieGVuLGRvbWFp
biI7DQo+ID4gKyAgICAgICAgICAgICAgICAjYWRkcmVzcy1jZWxscyA9IDwweDI+Ow0KPiA+ICsg
ICAgICAgICAgICAgICAgI3NpemUtY2VsbHMgPSA8MHgyPjsNCj4gPiArICAgICAgICAgICAgICAg
IGNwdXMgPSA8Mj47DQo+ID4gKyAgICAgICAgICAgICAgICAjeGVuLHN0YXRpYy1tZW0tYWRkcmVz
cy1jZWxscyA9IDwweDE+Ow0KPiA+ICsgICAgICAgICAgICAgICAgI3hlbixzdGF0aWMtbWVtLXNp
emUtY2VsbHMgPSA8MHgxPjsNCj4gPiArICAgICAgICAgICAgICAgIHhlbixzdGF0aWMtbWVtID0g
PDB4MzAwMDAwMDAgMHgyMDAwMDAwMD47DQo+ID4gKyAgICAgICAgICAgICAgICAuLi4NCj4gPiAr
ICAgICAgICAgICAgfTsNCj4gPiArICAgICAgICB9Ow0KPiA+ICsgICAgfTsNCj4gPiArDQo+ID4g
K0RvbVUxIHdpbGwgaGF2ZSBhIHN0YXRpYyBtZW1vcnkgb2YgNTEyTUIgcmVzZXJ2ZWQgZnJvbSB0
aGUgcGh5c2ljYWwNCj4gPiArYWRkcmVzcw0KPiA+ICsweDMwMDAwMDAwIHRvIDB4NTAwMDAwMDAu
DQo+IA0KPiBJIHdvdWxkIHdyaXRlICJUaGlzIHdpbGwgcmVzZXJ2ZSBhIDUxMk1CIHJlZ2lvbiBz
dGFydGluZyBhdCB0aGUgaG9zdCBwaHlzaWNhbA0KPiBhZGRyZXNzIDB4MzAwMDAwMDAgdG8gYmUg
ZXhjbHVzaXZlbHkgdXNlZCBieSBEb21VMSIuDQo+DQoNClN1cmUsIHRoeC4NCiANCj4gPiBkaWZm
IC0tZ2l0IGEveGVuL2FyY2gvYXJtL2Jvb3RmZHQuYyBiL3hlbi9hcmNoL2FybS9ib290ZmR0LmMg
aW5kZXgNCj4gPiA0NzZlMzJlMGY1Li5kMjcxNDQ0NmUxIDEwMDY0NA0KPiA+IC0tLSBhL3hlbi9h
cmNoL2FybS9ib290ZmR0LmMNCj4gPiArKysgYi94ZW4vYXJjaC9hcm0vYm9vdGZkdC5jDQo+ID4g
QEAgLTE5Myw2ICsxOTMsNTUgQEAgc3RhdGljIGludCBfX2luaXQNCj4gcHJvY2Vzc19yZXNlcnZl
ZF9tZW1vcnlfbm9kZShjb25zdCB2b2lkICpmZHQsIGludCBub2RlLA0KPiA+ICAgICAgIHJldHVy
biAwOw0KPiA+ICAgfQ0KPiA+DQo+ID4gK3N0YXRpYyBpbnQgX19pbml0IHByb2Nlc3Nfc3RhdGlj
X21lbW9yeShjb25zdCB2b2lkICpmZHQsIGludCBub2RlLA0KPiA+ICt2b2lkICpkYXRhKSB7DQo+
IA0KPiBUaGlzIGlzIHByZXR0eSBtdWNoIGEgY29weSBvZiBwcm9jZXNzX21lbW9yeV9ub2RlKCku
IFNvIGNhbiB3ZSBhdm9pZCB0aGUNCj4gZHVwbGljYXRpb24/DQo+IA0KPiBJIHRoaW5rIEkgbWVu
dGlvbm5lZCBpdCBpbiB0aGUgcGFzdCBidXQgSSBjYW4ndCBmaW5kIHRoZSBvdXRjb21lLg0KPiAN
Cj4gPiArICAgIGludCBpID0gMCwgYmFua3M7DQo+ID4gKyAgICBjb25zdCBfX2JlMzIgKmNlbGw7
DQo+ID4gKyAgICBwYWRkcl90IHN0YXJ0LCBzaXplOw0KPiA+ICsgICAgdTMyIGFkZHJlc3NfY2Vs
bHMsIHNpemVfY2VsbHMsIHJlZ19jZWxsczsNCj4gPiArICAgIHN0cnVjdCBtZW1pbmZvICptZW0g
PSBkYXRhOw0KPiA+ICsgICAgY29uc3Qgc3RydWN0IGZkdF9wcm9wZXJ0eSAqcHJvcDsNCj4gPiAr
DQo+ID4gKw0KPiA+ICsgICAgYWRkcmVzc19jZWxscyA9IGRldmljZV90cmVlX2dldF91MzIoZmR0
LCBub2RlLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiN4
ZW4sc3RhdGljLW1lbS1hZGRyZXNzLWNlbGxzIiwgMCk7DQo+ID4gKyAgICBzaXplX2NlbGxzID0g
ZGV2aWNlX3RyZWVfZ2V0X3UzMihmZHQsIG5vZGUsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiI3hlbixzdGF0aWMtbWVtLXNpemUtY2VsbHMiLCAwKTsNCj4gPiAr
ICAgIGlmICggKGFkZHJlc3NfY2VsbHMgPT0gMCkgfHwgKHNpemVfY2VsbHMgPT0gMCkgKQ0KPiA+
ICsgICAgew0KPiA+ICsgICAgICAgICBwcmludGsoIk1pc3NpbmcgXCIjeGVuLHN0YXRpYy1tZW0t
YWRkcmVzcy1jZWxsXCIgb3IgIg0KPiA+ICsgICAgICAgICAgICAgICAgICJcIiN4ZW4sc3RhdGlj
LW1lbS1hZGRyZXNzLWNlbGxcIi5cbiIpOw0KPiA+ICsgICAgICAgICByZXR1cm4gLUVJTlZBTDsN
Cj4gPiArICAgIH0NCj4gPiArICAgIHJlZ19jZWxscyA9IGFkZHJlc3NfY2VsbHMgKyBzaXplX2Nl
bGxzOw0KPiA+ICsNCj4gPiArICAgIHByb3AgPSBmZHRfZ2V0X3Byb3BlcnR5KGZkdCwgbm9kZSwg
InhlbixzdGF0aWMtbWVtIiwgTlVMTCk7DQo+ID4gKyAgICAvKg0KPiA+ICsgICAgICogU3RhdGlj
IG1lbW9yeSBzaGFsbCBiZWxvbmcgdG8gYSBzcGVjaWZpYyBkb21haW4sIHRoYXQgaXMsDQo+ID4g
KyAgICAgKiBpdHMgbm9kZSBgZG9tVXhgIGhhcyBjb21wYXRpYmxlIHN0cmluZyAieGVuLGRvbWFp
biIuDQo+ID4gKyAgICAgKi8NCj4gDQo+IFRoaXMgY29kZSBpcyBqdXN0IGNoZWNraW5nIHRoZSBu
b2RlIGNvbXBhdGlibGUgaXMgInhlbixkb21haW4iLiBTbyBJIHdvdWxkDQo+IGRyb3AgdGhlICJk
b21VeCIuIFRoaXMgaXMgYWxzby4uLg0KPiANCj4gPiArICAgIGlmICggZmR0X25vZGVfY2hlY2tf
Y29tcGF0aWJsZShmZHQsIG5vZGUsICJ4ZW4sZG9tYWluIikgIT0gMCApDQo+ID4gKyAgICB7DQo+
ID4gKyAgICAgICAgcHJpbnRrKCJ4ZW4sc3RhdGljLW1lbSBwcm9wZXJ0eSBjYW4gb25seSBiZSBs
b2NhdGVkIHVuZGVyDQo+ID4gKyAvZG9tVXggbm9kZS5cbiIpOw0KPiANCj4gLi4uIG5vdCBjb3Jy
ZWN0Lg0KPiANCg0KSSBjaGVja2VkIGl0IGhlcmUsIHRvIG1ha2Ugc3VyZSB0aGUgInhlbixzdGF0
aWMtbWVtIiBwcm9wZXJ0eSBtdXN0IGJlIHVzZWQgaW4gYSBkb21haW4gbm9kZSwgc2luY2UNCmZv
ciBub3csIHN0YXRpYyBtZW1vcnkgY291bGQgYmUgb25seSBjb25maWd1cmVkIGFzIGd1ZXN0IFJB
TS4gDQoNCldoaWNoIHBhcnQgZG8geW91IHRoaW5rIGl0IGlzIG5vdCBhcHByb3ByaWF0ZSBoZXJl
Pw0KDQo+ID4gKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+ID4gKyAgICB9DQo+ID4gKw0KPiA+
ICsgICAgY2VsbCA9IChjb25zdCBfX2JlMzIgKilwcm9wLT5kYXRhOw0KPiA+ICsgICAgYmFua3Mg
PSBmZHQzMl90b19jcHUocHJvcC0+bGVuKSAvIChyZWdfY2VsbHMgKiBzaXplb2YgKHUzMikpOw0K
PiA+ICsNCj4gPiArICAgIGZvciAoIDsgaSA8IGJhbmtzICYmIG1lbS0+bnJfYmFua3MgPCBOUl9N
RU1fQkFOS1M7IGkrKyApDQo+ID4gKyAgICB7DQo+ID4gKyAgICAgICAgZGV2aWNlX3RyZWVfZ2V0
X3JlZygmY2VsbCwgYWRkcmVzc19jZWxscywgc2l6ZV9jZWxscywgJnN0YXJ0LCAmc2l6ZSk7DQo+
ID4gKyAgICAgICAgbWVtLT5iYW5rW21lbS0+bnJfYmFua3NdLnN0YXJ0ID0gc3RhcnQ7DQo+ID4g
KyAgICAgICAgbWVtLT5iYW5rW21lbS0+bnJfYmFua3NdLnNpemUgPSBzaXplOw0KPiA+ICsgICAg
ICAgIG1lbS0+bnJfYmFua3MrKzsNCj4gPiArICAgIH0NCj4gPiArDQo+ID4gKyAgICBpZiAoIGkg
PCBiYW5rcyApDQo+ID4gKyAgICAgICAgcmV0dXJuIC1FTk9TUEM7DQo+ID4gKyAgICByZXR1cm4g
MDsNCj4gPiArfQ0KPiA+ICsNCj4gPiAgIHN0YXRpYyBpbnQgX19pbml0IHByb2Nlc3NfcmVzZXJ2
ZWRfbWVtb3J5KGNvbnN0IHZvaWQgKmZkdCwgaW50IG5vZGUsDQo+ID4gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpuYW1lLCBpbnQgZGVwdGgs
DQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1MzIgYWRk
cmVzc19jZWxscywgdTMyDQo+ID4gc2l6ZV9jZWxscykgQEAgLTM0Niw2ICszOTUsOCBAQCBzdGF0
aWMgaW50IF9faW5pdCBlYXJseV9zY2FuX25vZGUoY29uc3QNCj4gdm9pZCAqZmR0LA0KPiA+ICAg
ICAgICAgICBwcm9jZXNzX211bHRpYm9vdF9ub2RlKGZkdCwgbm9kZSwgbmFtZSwgYWRkcmVzc19j
ZWxscywgc2l6ZV9jZWxscyk7DQo+ID4gICAgICAgZWxzZSBpZiAoIGRlcHRoID09IDEgJiYgZGV2
aWNlX3RyZWVfbm9kZV9tYXRjaGVzKGZkdCwgbm9kZSwgImNob3NlbiIpICkNCj4gPiAgICAgICAg
ICAgcHJvY2Vzc19jaG9zZW5fbm9kZShmZHQsIG5vZGUsIG5hbWUsIGFkZHJlc3NfY2VsbHMsDQo+
ID4gc2l6ZV9jZWxscyk7DQo+ID4gKyAgICBlbHNlIGlmICggZGVwdGggPT0gMiAmJiBmZHRfZ2V0
X3Byb3BlcnR5KGZkdCwgbm9kZSwNCj4gPiArICJ4ZW4sc3RhdGljLW1lbSIsIE5VTEwpICkNCj4g
DQo+IEhvdyBhYm91dCBjaGVja2luZyB0aGUgY29tcGF0aWJsZSBpbnN0ZWFkPw0KPg0KDQpobW0s
IHNpbmNlIGl0IGlzIGEgcHJvcGVydHksIG5vdCBhIG5vZGUuIHNvLi4uDQogDQo+ID4gKyAgICAg
ICAgcHJvY2Vzc19zdGF0aWNfbWVtb3J5KGZkdCwgbm9kZSwgJmJvb3RpbmZvLnN0YXRpY19tZW0p
Ow0KPiANCj4gWW91IHdhbnQgInJjID0gLi4uIiBzbyB0aGUgZXJyb3IgaXMgcHJvcGFnZWQgaWYg
dGhlcmUgaXMgYW4gaXNzdWUgKGUuZy4NCj4gd2UgZG9uJ3QgaGF2ZSBzcGFjZSBmb3IgbW9yZSBz
dGF0aWMgcmVnaW9uKS4NCj4gDQoNClllcywgbXkgbmVnbGVjdC4gSSdsbCBtYWtlIHN1cmUgdGhl
IGVycm9yIGdldCBwcm9wYWdhdGVkIGhlcmUuDQoNCj4gPg0KPiA+ICAgICAgIGlmICggcmMgPCAw
ICkNCj4gPiAgICAgICAgICAgcHJpbnRrKCJmZHQ6IG5vZGUgYCVzJzogcGFyc2luZyBmYWlsZWRc
biIsIG5hbWUpOyBkaWZmIC0tZ2l0DQo+ID4gYS94ZW4vaW5jbHVkZS9hc20tYXJtL3NldHVwLmgg
Yi94ZW4vaW5jbHVkZS9hc20tYXJtL3NldHVwLmggaW5kZXgNCj4gPiBjNGI2YWY2MDI5Li5lMDc2
MzI5ZmM0IDEwMDY0NA0KPiA+IC0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vc2V0dXAuaA0KPiA+
ICsrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vc2V0dXAuaA0KPiA+IEBAIC03NCw2ICs3NCw4IEBA
IHN0cnVjdCBib290aW5mbyB7DQo+ID4gICAjaWZkZWYgQ09ORklHX0FDUEkNCj4gPiAgICAgICBz
dHJ1Y3QgbWVtaW5mbyBhY3BpOw0KPiA+ICAgI2VuZGlmDQo+ID4gKyAgICAvKiBTdGF0aWMgTWVt
b3J5ICovDQo+ID4gKyAgICBzdHJ1Y3QgbWVtaW5mbyBzdGF0aWNfbWVtOw0KPiA+ICAgfTsNCj4g
Pg0KPiA+ICAgZXh0ZXJuIHN0cnVjdCBib290aW5mbyBib290aW5mbzsNCj4gPg0KPiANCj4gQ2hl
ZXJzLA0KPiANCj4gLS0NCg0KQ2hlZXJzDQoNClBlbm55DQo+IEp1bGllbiBHcmFsbA0K


From xen-devel-bounces@lists.xenproject.org Mon Aug 16 05:25:30 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 05:25:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167114.305033 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFV7p-0007Qd-Pu; Mon, 16 Aug 2021 05:25:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167114.305033; Mon, 16 Aug 2021 05:25: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 1mFV7p-0007QW-Ll; Mon, 16 Aug 2021 05:25:29 +0000
Received: by outflank-mailman (input) for mailman id 167114;
 Mon, 16 Aug 2021 05:25:28 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Usjg=NH=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mFV7o-0007QQ-9Z
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 05:25:28 +0000
Received: from smtp-out1.suse.de (unknown [195.135.220.28])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 5cd77252-fe52-11eb-a440-12813bfff9fa;
 Mon, 16 Aug 2021 05:25:27 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 F25D921E87;
 Mon, 16 Aug 2021 05:25:25 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 9EB8D136A6;
 Mon, 16 Aug 2021 05:25:25 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id UlKcJMX2GWHMTAAAGKfGzw
 (envelope-from <jgross@suse.com>); Mon, 16 Aug 2021 05:25:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5cd77252-fe52-11eb-a440-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1629091526; 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=Vzu71VUIg1vRD5P7AR20Dhir23vGcrVJQz6gDZnXydQ=;
	b=jUjkXHpplHCp2uBXm0JucoxPi0NWQ8y8BzVRf1OlPf+UKbt4Uit9FChtOiCKbjhi3Xq/Ya
	+LSh6voPGOzewe/PqYQ2rBHTDmQGowwwbu8hB9Bb3k0KqgSPjS4pYJzC4r/fTKsl/IBRGQ
	1gPXSrO/bRhZgC14DP62OuCOQA+LK+M=
Subject: Re: [PATCH 2/2] xen: rename wrong named pfn related variables
To: Jan Beulich <jbeulich@suse.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, "H. Peter Anvin" <hpa@zytor.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org, x86@kernel.org
References: <20210616073007.5215-1-jgross@suse.com>
 <20210616073007.5215-3-jgross@suse.com>
 <8dbeb9ea-56c9-de30-4d5f-fc9c0ced6ac4@suse.com>
 <79434ec4-4543-97ad-b010-3f2c1b6a55ad@suse.com>
 <b9c64bcd-4192-0075-ddf5-711e84301063@suse.com>
 <94d629fd-27e2-f2be-ed26-c3e04e95c5b4@suse.com>
From: Juergen Gross <jgross@suse.com>
Message-ID: <4a5d8b43-7ffa-cbcd-943c-3c459d56e55e@suse.com>
Date: Mon, 16 Aug 2021 07:25:24 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <94d629fd-27e2-f2be-ed26-c3e04e95c5b4@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="0YDAgvSxZoXES2DPafGWXKRmkt5woajup"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--0YDAgvSxZoXES2DPafGWXKRmkt5woajup
Content-Type: multipart/mixed; boundary="rzMeFHTewOMb9kUZ2EUuDzcoIDVYioMoT";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, "H. Peter Anvin" <hpa@zytor.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org, x86@kernel.org
Message-ID: <4a5d8b43-7ffa-cbcd-943c-3c459d56e55e@suse.com>
Subject: Re: [PATCH 2/2] xen: rename wrong named pfn related variables
References: <20210616073007.5215-1-jgross@suse.com>
 <20210616073007.5215-3-jgross@suse.com>
 <8dbeb9ea-56c9-de30-4d5f-fc9c0ced6ac4@suse.com>
 <79434ec4-4543-97ad-b010-3f2c1b6a55ad@suse.com>
 <b9c64bcd-4192-0075-ddf5-711e84301063@suse.com>
 <94d629fd-27e2-f2be-ed26-c3e04e95c5b4@suse.com>
In-Reply-To: <94d629fd-27e2-f2be-ed26-c3e04e95c5b4@suse.com>

--rzMeFHTewOMb9kUZ2EUuDzcoIDVYioMoT
Content-Type: multipart/mixed;
 boundary="------------0DF83859D78268D39CC7BA70"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------0DF83859D78268D39CC7BA70
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 03.08.21 12:42, Jan Beulich wrote:
> On 30.07.2021 11:00, Juergen Gross wrote:
>> On 16.06.21 12:43, Juergen Gross wrote:
>>> On 16.06.21 11:56, Jan Beulich wrote:
>>>> On 16.06.2021 09:30, Juergen Gross wrote:
>>>>> --- a/arch/x86/xen/p2m.c
>>>>> +++ b/arch/x86/xen/p2m.c
>>>>> @@ -95,8 +95,8 @@ unsigned long *xen_p2m_addr __read_mostly;
>>>>>  =C2=A0 EXPORT_SYMBOL_GPL(xen_p2m_addr);
>>>>>  =C2=A0 unsigned long xen_p2m_size __read_mostly;
>>>>>  =C2=A0 EXPORT_SYMBOL_GPL(xen_p2m_size);
>>>>> -unsigned long xen_max_p2m_pfn __read_mostly;
>>>>> -EXPORT_SYMBOL_GPL(xen_max_p2m_pfn);
>>>>> +unsigned long xen_p2m_max_size __read_mostly;
>>>>> +EXPORT_SYMBOL_GPL(xen_p2m_max_size);
>>>>
>>>> Instead of renaming the exported variable (which will break consumer=
s
>>>> anyway), how about dropping the apparently unneeded export at this
>>>> occasion?
>>>
>>> Why do you think it isn't needed? It is being referenced via the inli=
ne
>>> function __pfn_to_mfn() in arch/x86/include/asm/xen/page.h. And
>>> __pfn_to_mfn() is used via lots of other inline functions and macros.=

>>>
>>>> Further it looks to me as if xen_p2m_size and this variable
>>>> were actually always kept in sync, so I'd like to put up the questio=
n
>>>> of dropping one of the two.
>>>
>>> Hmm, should be possible, yes.
>>
>> Looking into this it seems this is not possible.
>>
>> xen_p2m_size always holds the number of p2m entries in the p2m table,
>> including invalid ones at the end. xen_p2m_pfn_limit however contains
>> the (rounded up) index after the last valid p2m entry.
>=20
> I'm afraid I can't follow:
>=20
> xen_build_dynamic_phys_to_machine() sets xen_p2m_size and then syncs
> its value to what so far has been xen_max_p2m_pfn.
>=20
> xen_vmalloc_p2m_tree() sets xen_max_p2m_pfn and then syncs its value
> to xen_p2m_size.
>=20
> I therefore can't see how the two values would hold different values,
> except for the brief periods between updating one and then the other.

The brief period in xen_vmalloc_p2m_tree() is the problematic one. The
different values are especially important for the calls of
__pfn_to_mfn() during xen_rebuild_p2m_list().


Juergen

--------------0DF83859D78268D39CC7BA70
Content-Type: application/pgp-keys;
 name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Transfer-Encoding: quoted-printable
Content-Description: OpenPGP public key
Content-Disposition: attachment;
 filename="OpenPGP_0xB0DE9DD628BF132F.asc"

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOBy=
cWx
w3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJvedYm8O=
f8Z
d621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y=
9bf
IhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xq=
G7/
377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR=
3Jv
c3MgPGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsEFgIDA=
QIe
AQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4FUGNQH2lvWAUy+dnyT=
hpw
dtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3TyevpB0CA3dbBQp0OW0fgCetToGIQrg0=
MbD
1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbv=
oPH
Z8SlM4KWm8rG+lIkGurqqu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v=
5QL
+qHI3EIPtyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVyZ=
2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJCAcDAgEGFQgCC=
QoL
BBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4RF7HoZhPVPogNVbC4YA6lW7Dr=
Wf0
teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz78X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC=
/nu
AFVGy+67q2DH8As3KPu0344TBDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0Lh=
ITT
d9jLzdDad1pQSToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLm=
XBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkMnQfvUewRz=
80h
SnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMBAgAjBQJTjHDXAhsDBwsJC=
AcD
AgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJn=
FOX
gMLdBQgBlVPO3/D9R8LtF9DBAFPNhlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1=
jnD
kfJZr6jrbjgyoZHiw/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0=
N51
N5JfVRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwPOoE+l=
otu
fe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK/1xMI3/+8jbO0tsn1=
tqS
EUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuZGU+wsB5BBMBAgAjBQJTjHDrA=
hsD
BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3=
g3O
ZUEBmDHVVbqMtzwlmNC4k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5=
dM7
wRqzgJpJwK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu5=
D+j
LRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzBTNh30FVKK1Evm=
V2x
AKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37IoN1EblHI//x/e2AaIHpzK5h88N=
Eaw
QsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpW=
nHI
s98ndPUDpnoxWQugJ6MpMncr0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZR=
wgn
BC5mVM6JjQ5xDk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNV=
bVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mmwe0icXKLk=
pEd
IXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0Iv3OOImwTEe4co3c1mwARA=
QAB
wsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMvQ/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEw=
Tbe
8YFsw2V/Buv6Z4Mysln3nQK5ZadD534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1=
vJz
Q1fOU8lYFpZXTXIHb+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8=
VGi
wXvTyJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqcsuylW=
svi
uGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5BjR/i1DG86lem3iBDX=
zXs
ZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------0DF83859D78268D39CC7BA70--

--rzMeFHTewOMb9kUZ2EUuDzcoIDVYioMoT--

--0YDAgvSxZoXES2DPafGWXKRmkt5woajup
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmEZ9sQFAwAAAAAACgkQsN6d1ii/Ey9w
LAf/XPiKmcqLWZ4tf5OuXTWeJfyvPNH0d8TDXfb8n58gakD42EGqUloV+fZWYox4UBmOPkQTtGWG
TOwPdMvuLm4urjZKoZh/Fkwl2YIi259zRV7IrRbT++qh1NoLPgGaI6vjDcIs7r1pVQ2c8zxjDSLO
b7e32b3hHSdK++bJMQwsDYjT013mMxOOWFxQBA5oUSf4Hwv5x9iy3xdny4ioSXb3vTHlGgSUjQJD
/GvldPCYgUZtuLPTxRJIy2+1Y9YGeK2tsJXs/ggwJ4bseGYEkJLWg0sX8K2mn6eGX3LdJ0oOtD3c
Lv0FKzDPbiMZPyMytSsjCzZ3otBlK0kgt3xJ1fqdUQ==
=D0Cp
-----END PGP SIGNATURE-----

--0YDAgvSxZoXES2DPafGWXKRmkt5woajup--


From xen-devel-bounces@lists.xenproject.org Mon Aug 16 05:28:00 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 05:28:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167119.305044 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFVAD-00084m-6I; Mon, 16 Aug 2021 05:27:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167119.305044; Mon, 16 Aug 2021 05:27:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFVAD-00084f-3H; Mon, 16 Aug 2021 05:27:57 +0000
Received: by outflank-mailman (input) for mailman id 167119;
 Mon, 16 Aug 2021 05:27:55 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eR/w=NH=arm.com=Penny.Zheng@srs-us1.protection.inumbo.net>)
 id 1mFVAB-00084Z-Rr
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 05:27:55 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com (unknown
 [2a01:111:f400:fe05::630])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 0f232ad1-a9a6-4040-88c2-4599b4eb6673;
 Mon, 16 Aug 2021 05:27:53 +0000 (UTC)
Received: from AM6PR04CA0072.eurprd04.prod.outlook.com (2603:10a6:20b:f0::49)
 by AM0PR08MB4098.eurprd08.prod.outlook.com (2603:10a6:208:12f::33)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.14; Mon, 16 Aug
 2021 05:27:50 +0000
Received: from AM5EUR03FT033.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:f0:cafe::19) by AM6PR04CA0072.outlook.office365.com
 (2603:10a6:20b:f0::49) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17 via Frontend
 Transport; Mon, 16 Aug 2021 05:27:50 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT033.mail.protection.outlook.com (10.152.16.99) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.14 via Frontend Transport; Mon, 16 Aug 2021 05:27:50 +0000
Received: ("Tessian outbound 56612e04f172:v103");
 Mon, 16 Aug 2021 05:27:49 +0000
Received: from e1b6e626f001.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 DA80B89A-AD79-4F85-A589-80398AD1E264.1; 
 Mon, 16 Aug 2021 05:27:43 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e1b6e626f001.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 16 Aug 2021 05:27:43 +0000
Received: from VE1PR08MB5215.eurprd08.prod.outlook.com (2603:10a6:803:10a::33)
 by VE1PR08MB4976.eurprd08.prod.outlook.com (2603:10a6:803:105::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.19; Mon, 16 Aug
 2021 05:27:40 +0000
Received: from VE1PR08MB5215.eurprd08.prod.outlook.com
 ([fe80::adf8:8d6f:2a30:b60c]) by VE1PR08MB5215.eurprd08.prod.outlook.com
 ([fe80::adf8:8d6f:2a30:b60c%5]) with mapi id 15.20.4415.022; Mon, 16 Aug 2021
 05:27: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: 0f232ad1-a9a6-4040-88c2-4599b4eb6673
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BQbwQzP/Vhqpq9jFB656TS0YekquWI1007vKKnp85jM=;
 b=4iMoY3ums6O7WS1P/DOUExHNNyq7zFzmQZ7JU4GUEcZ6CKsjChHTQzIP2wmD5QLIFCquja4y1kohR33Va2QtuGDqN7E+P+YtjWqqYEFw1gz7rPrqvFwgDCZ7hCii6Jt/gMCDiZxB84U+i2sDBrhl4FXcJ/itsfCydnEhqLStV0Y=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=imCgqtu/ny0B9QF+/Mlh5OKD1zrJbaEyAknaHUbPgWr3u8ZE7kLqaPw7uNLh13IeBwKaYMgVaa1BgG+nsWldVlqGVQ3RVsKYDWkHVgmlNNCujIbHqb7PeKH2BhMTAz+NCeuiJl4filVlwlkrUWGEykN+8MrXzF5ilN0pIaJNMwqNruxCiLC1sw+ow9EhO5B8J59iCidVsyPVgCEb2i4/bXEWgkeEkktf9aNSpR3gMHuh6aGRg1v5S604iu8FVrioNfBtlNKba/qK9rHuQeEJhad4EV8Fd6p7bbhrwo4w2LR4g+Iv6I1CQJc+dsn5JrD4QCV9VTpqrqlEtV50Hu3M0Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BQbwQzP/Vhqpq9jFB656TS0YekquWI1007vKKnp85jM=;
 b=WdR+NbgqXBDWYimOWUhkX6dS7p7ZuSjn/IWC4zwLoRgQPhSQAuJu8csMIDx8HcjapDauVvNi+tmCwN2ni6HIiMkhvm1Fzq6usSxFVgMcwosg10hGSEJT9SpTkQmsGJFHdbvRQEXih1+ApUijewf4H0dOgs+zon6g+bvKZSO6JZjsHE6/YxyC9aEfnV4/ft7MyXmB3rjmGXZ2hA2a9GlQ6rwJKOh+OxQU/xBZpggMRf6XaU2/6vTAvLxBiqpYqxSMJdE5Vih4MzkLj6DToRYkq4I19FQja85xKQEJMwIiuVjzKc+wqqLMLAEOtD6MUGgHHsxRU8tT9LgyTTBeyX5xag==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BQbwQzP/Vhqpq9jFB656TS0YekquWI1007vKKnp85jM=;
 b=4iMoY3ums6O7WS1P/DOUExHNNyq7zFzmQZ7JU4GUEcZ6CKsjChHTQzIP2wmD5QLIFCquja4y1kohR33Va2QtuGDqN7E+P+YtjWqqYEFw1gz7rPrqvFwgDCZ7hCii6Jt/gMCDiZxB84U+i2sDBrhl4FXcJ/itsfCydnEhqLStV0Y=
From: Penny Zheng <Penny.Zheng@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
	nd <nd@arm.com>
Subject: RE: [PATCH V4 02/10] xen/arm: introduce new helper
 device_tree_get_meminfo
Thread-Topic: [PATCH V4 02/10] xen/arm: introduce new helper
 device_tree_get_meminfo
Thread-Index: AQHXg5tWRKlXTTX13kmrw+bRqBLzp6tuZDkAgAdTFRA=
Date: Mon, 16 Aug 2021 05:27:40 +0000
Message-ID:
 <VE1PR08MB5215312E34AC5F1D15CA21F2F7FD9@VE1PR08MB5215.eurprd08.prod.outlook.com>
References: <20210728102758.3269446-1-penny.zheng@arm.com>
 <20210728102758.3269446-3-penny.zheng@arm.com>
 <9c4ca259-1a9d-be2c-dd5b-8456f1caaf6e@xen.org>
In-Reply-To: <9c4ca259-1a9d-be2c-dd5b-8456f1caaf6e@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 73B2B1566614B0428CD19382C5902428.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 6169ba95-1b3e-41a1-ae2c-08d9607696d1
x-ms-traffictypediagnostic: VE1PR08MB4976:|AM0PR08MB4098:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM0PR08MB40986523F93FCC8F4A4C501CF7FD9@AM0PR08MB4098.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:595;OLM:595;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 mS4OuemyR4OYwk6Lgh+6vzWmr7UMRCc9ZZTAU0bDIsHYaMKrF8m+6+XRJvXsQK4yEbHQWs2QTdy+l+EvdeDQvJjMdRfk2X2dANbbqEqDII7WG9bsa0dDZJcQ6g/LMFkvJrSc6NNgmnNx/2xy8FR8idtsY2CpqRle+H/qAHtsZyzFjYcrRZyP5e7W2R18byFw/10xKdPYM1j6rdzuBU4Nbk5bD6oXVBzUXq4vsmlm2FLbhK6h97IalbPtIbX23IKJUmcXTTSMpz191b/cjZlk6H9V2L+veDHSpQI3hGV7ovfqiy8sdDcexLIkhWTC2B3cASEcwI2AXZKV7oPwa2b0Cbt0UaXviXbDEYrv4/QnafAaLKSw1nyp/Fgdu7m+TShRkEzWnrL7uoYbeNnGKz/tulfTuyTefzO0folVXJLUA9H8DyhP5hnlaI+MXcX/goAHrAeGyY6UgTfPEOSSlfoyzbf+02cQac9Euz6n1igrnczzaDFPamztM1rxz6vEaOIvB1fgZ84TN0rv3uFtOUbn3oPEtTDlZIHlCMUhAWRSTIs1zkSNk18fl7c9EszZn26TLkuyzQ0UzPQrOx4vIVC4XFBObQMbqk5t4QDkjX2qMCsqccAQIN38hqOJy4HS7Yu3hSLIk58cck9t9wOs1Fbond/QmRuWNkaHKdI6G522xLUlAwAKCJ+M/DAkvC3PB8jyTQTM7mRe3j+cbQO1IiOOBw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR08MB5215.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(346002)(376002)(39850400004)(366004)(396003)(136003)(186003)(86362001)(53546011)(8936002)(66446008)(66556008)(66946007)(4744005)(64756008)(4326008)(66476007)(83380400001)(33656002)(8676002)(110136005)(54906003)(7696005)(2906002)(9686003)(38100700002)(316002)(76116006)(26005)(5660300002)(38070700005)(52536014)(6506007)(478600001)(55016002)(122000001)(71200400001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?Mm1NTnM3WlI3cis3S0hhSU1FWGxvWSswTGhIOGUyTDB3T1QzcmRYWWJ4S2RP?=
 =?utf-8?B?c3g2WnFXNmhobGszek0ybE5sWkM3MFJJYnluTVJmUVJ4dVVFalE0SUdWeWRN?=
 =?utf-8?B?K09jUXFkK0pmdy85MWtJUnJRSlRiUnpHQ250UElOdjZvRUJXck1zcGZKSGpL?=
 =?utf-8?B?MlFVTzdOS3M0VytRV3J0aWR6dGFIeXF6Q2p3OUlOZnBKcVI4YU9TTGt6d3RJ?=
 =?utf-8?B?SDlvWVFJaGhCTVh3UmllOTczNDJrVkhOZ0NsMWdpZlVpRXRnV29ndkNGMks4?=
 =?utf-8?B?b1M5MjVPVnRCa3dpamZ1bW00dmJGeGlSaXpqUmJlbUZKUVFpdDEwRG53ai9G?=
 =?utf-8?B?QzIyVFZXMW5XRmZJR2MrbnBtVXdNeVhWelhIU0VvVmc5VFF5Skh2cTc0YjRJ?=
 =?utf-8?B?M1BJdVcrQlhSMWlWRkUzN2ZvMWZ6QnEvWUtMaEVpVVNJcE53eXJvdEc3WHJ5?=
 =?utf-8?B?WmxnZHlrK2piUjM5bVpXM1ZpaWMyc0YzalMxZ0xuQkZ5UlBoSTduMVc1ckw1?=
 =?utf-8?B?UWxxS2o0c09CZ0pDemI2ejRaMHNYRVY5dGg3T0JIRE1sbVhqY0VseUhnQlpC?=
 =?utf-8?B?dUJackhDL1htMW5uTkRKZkZtcjE3TU5EbFlvbHFMUS9sb2ZxaW0rOUpWN1Zq?=
 =?utf-8?B?VVZKVXk0MVhxQVFaVTJEZk1iRU9HVlZOR3F0WkhUeGNtVm14Ky9ZK0dndGNh?=
 =?utf-8?B?bHd2ejVmQlA3RUMxU0g5MERNUHliV1NQR3dJeHEya09nUzFnMWlwQ1I3YURr?=
 =?utf-8?B?UklxK1RVYWQySDVSMk5oVEVsWStCNjlERmdZd2ZNNHZhdjlwM1M3L2g1eW42?=
 =?utf-8?B?NWN1dDNXQ0tsUmE2VmQzZGRGUWUzcTVNZWhXSURWdDFJVDNXYy9mYWRwc2N2?=
 =?utf-8?B?VTFqN2xXdjIway9HTUFYVnd4VmNmTlR6R3dwcEEzOHROR2E0OGRDMlpkbi8v?=
 =?utf-8?B?QjFPT20rbHYxOFgxMEoxaXdSZWhHNHJXbXl1RlFQTkx6Y3NmUFplUDRFUGZ1?=
 =?utf-8?B?Zjg0OE05dXNsV0MrQWljZFViMURGSDc1K1Q0UmZZRm8xY0JRbFdJTHI5UGto?=
 =?utf-8?B?emllamIxeTFaNGNHQkhGM1IzMWdobXRQQStRZWcvUER3RHlJNlA2akhaMlcy?=
 =?utf-8?B?K3k2N21Od1FOS1A2S0FCdndtdzhLN2k2YVpBQnZydkR5S0d1aFg4NkRlU1l2?=
 =?utf-8?B?cTk1OWJoT00zMTcxT2hFbC9JdVk1SzFwSWN1bTAwVUVyb1dwb0FPZG42dmVW?=
 =?utf-8?B?Z21TUW94NVdsNGFwdUhRbjRDaGZHcW1aeVdITG1yWU1FQ2Ywc0E2YUo0TTZm?=
 =?utf-8?B?RXVITXJ4T001NUNJbEJWY3NQUEFPc1NhVnNGTUU3VVA5Ym1MKzlxaC9yT3Nk?=
 =?utf-8?B?bE00b09DQlJRWnptVG44d3lwbFg5WXlLM002SUh5Q2Z4dGJ0T3AzSU9kcCsv?=
 =?utf-8?B?ekIwUkJtS1VGTUhXS0IvajlHQ3Zxcmd4RDhraGd6UmhGSXdsbXV5ZHFNN0xs?=
 =?utf-8?B?Nm5pSEpTZDRHUVhlakZXTnJ2VzF5Q0pLamRMU0E4RU1YZy94cFcyd3BvV1Zk?=
 =?utf-8?B?eWttSjJuT1lSTm0vWWFZRWhUcUtvUi80Y3V1WE9TRUJ1WW9NRUxvaGZucU9P?=
 =?utf-8?B?eUhtWWI5UGppVHNlcnJEUTJqY21IWUcvR3haSzZtUXFjK2M4cnk1VjFpN3Zn?=
 =?utf-8?B?ekw1d2Y0Y0VyM2pCUkF0Q2FWRWhtWEdsQWZueEI3elk1QVAwbHh5dElTT0Rq?=
 =?utf-8?Q?nAEFsCjjoD/+P0X5wocvnj0XFRcAY3anbfggA+9?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB4976
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT033.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	c5b914b2-1b57-4657-b5a6-08d9607690f5
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	iUIZ2HFp8CVaySLq+6edPpu3iI8JnEYbiVfxAi/SyC0q+jvuwB9M/VNbxOtawk5yGMTvLhsopnxMUyn/FquXGXZwsBm2Gcx8uBYhRrAsy4z14SKtnb17fJ5CzQ/He2o62fV5dZl1/kbHM5XmX96trqobyWn4gi2n/184wsBbBSpfoRAOFQWjJJZBryNuI+6f8S3fZKWPAgTfHDUdjEDQ9p3OPhjYZlxquJIdC6AMBsrOGesAn9lY+8faOr1fBWJY02lkza36Pvk1/CpbhjfkR2LwMqM5bH1+ZBWdpcfgHwH8kD034DdOYEfLP7vA0xXpxXCKPXDC2TBqbigLUQpvmQj09f2btvWQq3++kLd0A23no3kWfCCBkvzMsr4zL1uCvG16pPld7q5WrEWLr9u5OODrMkNS6tKzc2OgmFk1vhmCEN+K/Grk9ssgXFi5qvmZMxnDCqrLT93p7cdpqFKOn52hY8iXS2eobeNMWAjE2KvUJ1lplBRTxDXRZe0xqWphjjwbilgU2OkD7Ac2GnLnse/YqqF2Ar6aecjNioJfKjB6aKYTOctLF5+HIvGV64pG+tdw4Jp0C1UKGOqRRGLyYSzowsz+wox+ediUsOa0KIm2OP3evuLvtbwe6s5P5JgZ9/iPRprEdH5OGJ/+GgfGIspg3dy1z+D41uENVv+7bNBhRGBaoN5mLwoL9Vfz2q6maGiWuMaDDKTREcVngC6plw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(39850400004)(346002)(396003)(136003)(376002)(46966006)(36840700001)(5660300002)(2906002)(316002)(54906003)(110136005)(47076005)(7696005)(52536014)(336012)(36860700001)(82310400003)(82740400003)(478600001)(53546011)(33656002)(9686003)(55016002)(8936002)(81166007)(6506007)(4326008)(70206006)(70586007)(86362001)(186003)(356005)(83380400001)(8676002)(26005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2021 05:27:50.1727
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6169ba95-1b3e-41a1-ae2c-08d9607696d1
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT033.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB4098

SGkgSnVsaWVuDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSnVsaWVu
IEdyYWxsIDxqdWxpZW5AeGVuLm9yZz4NCj4gU2VudDogV2VkbmVzZGF5LCBBdWd1c3QgMTEsIDIw
MjEgOTozNSBQTQ0KPiBUbzogUGVubnkgWmhlbmcgPFBlbm55LlpoZW5nQGFybS5jb20+OyB4ZW4t
ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmc7DQo+IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmcNCj4g
Q2M6IEJlcnRyYW5kIE1hcnF1aXMgPEJlcnRyYW5kLk1hcnF1aXNAYXJtLmNvbT47IFdlaSBDaGVu
DQo+IDxXZWkuQ2hlbkBhcm0uY29tPjsgbmQgPG5kQGFybS5jb20+DQo+IFN1YmplY3Q6IFJlOiBb
UEFUQ0ggVjQgMDIvMTBdIHhlbi9hcm06IGludHJvZHVjZSBuZXcgaGVscGVyDQo+IGRldmljZV90
cmVlX2dldF9tZW1pbmZvDQo+IA0KPiBIaSBQZW5ueSwNCj4gDQo+IE9uIDI4LzA3LzIwMjEgMTE6
MjcsIFBlbm55IFpoZW5nIHdyb3RlOg0KPiA+IEEgZmV3IGZ1bmN0aW9ucyBpdGVyYXRlIG92ZXIg
dGhlIGRldmljZSB0cmVlIHByb3BlcnR5IHRvIGdldCBtZW1vcnkNCj4gPiBpbmZvLCBsaWtlICJy
ZWciIG9yICJ4ZW4sc3RhdGljLW1lbSIsIHNvIHRoaXMgY29tbWl0IGNyZWF0ZXMgYSBuZXcNCj4g
PiBoZWxwZXIgZGV2aWNlX3RyZWVfZ2V0X21lbWluZm8gdG8gZXh0cmFjdCB0aGUgY29tbW9uIGNv
ZGVzLg0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogUGVubnkgWmhlbmcgPHBlbm55LnpoZW5nQGFy
bS5jb20+DQo+IA0KPiBBaCwgdGhpcyBpcyB3aGVyZSB5b3UgZGlkIHRoZSBjb25zb2xpZGF0aW9u
LiBTb3JyeSwgSSBkaWRuJ3Qgbm90aWNlIHRoaXMgcGF0Y2guDQo+IA0KPiBJbiBnZW5lcmFsLCB3
ZSBhcmUgYXZvaWRpbmcgdG8gaW50cm9kdWNlIGNvZGUgYW5kIHRoZW4gcmV3b3JrIGl0IGluIHRo
ZSBzYW1lDQo+IHNlcmllcy4gSW5zdGVhZCwgdGhlIHJld29yayBpcyBkb25lIGZpcnN0IGFuZCB0
aGVuIHRoZSBmdW5jdGlvbiBpcyB1c2VkLg0KPiANCj4gU28gY2FuIHlvdSBtb3ZlIHRoaXMgcGF0
Y2ggZmlyc3Q/DQo+IA0KDQpUaHggZm9yIHRoZSBleHBsYW5hdGlvbi4gSSdsbCByZW9yZ2FuaXpl
LiA7KQ0KDQo+IENoZWVycywNCj4gDQo+IC0tDQoNCkNoZWVycywNCg0KUGVubnkNCg0KDQo+IEp1
bGllbiBHcmFsbA0K


From xen-devel-bounces@lists.xenproject.org Mon Aug 16 05:38:53 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 05:38:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167125.305054 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFVKi-00016y-6b; Mon, 16 Aug 2021 05:38:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167125.305054; Mon, 16 Aug 2021 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 1mFVKi-00016r-3e; Mon, 16 Aug 2021 05:38:48 +0000
Received: by outflank-mailman (input) for mailman id 167125;
 Mon, 16 Aug 2021 05:38:46 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Usjg=NH=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mFVKg-00016l-SP
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 05:38:46 +0000
Received: from smtp-out1.suse.de (unknown [195.135.220.28])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 217dc736-47e6-4576-9478-db0dd2f115ef;
 Mon, 16 Aug 2021 05:38:46 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 2F4C021E8A;
 Mon, 16 Aug 2021 05:38:45 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id F2244136A6;
 Mon, 16 Aug 2021 05:38:44 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id ueL9OOT5GWEvTgAAGKfGzw
 (envelope-from <jgross@suse.com>); Mon, 16 Aug 2021 05:38: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: 217dc736-47e6-4576-9478-db0dd2f115ef
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1629092325; 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=1xaC8qgp42+JgsZAMy0738oUwYglHbF8KNfGlNsKt18=;
	b=L7ZxUhQwHmE/hDAlWsTDfBWAsz6s+/ET+52G35nIbUYvmXn0vY9q0t69EyBe/N7SUHEcWG
	5A/kXzaa+4OUH4xmtPhROIb8bB78gcjsWdhPloaiRypjhu+AaWyn8QaH7X7cXEs0Y7W/XH
	jGXMtyVkvBL49ZtT7+6NxI1fn4uFnz0=
Subject: Re: [PATCH] tests/xenstore: link in librt
To: Jan Beulich <jbeulich@suse.com>, Ian Jackson <iwj@xenproject.org>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Wei Liu <wl@xen.org>, Julien Grall <julien@xen.org>
References: <3fe5f85c-3702-286c-46a3-d90eb094123f@suse.com>
 <24853.1273.985325.539310@mariner.uk.xensource.com>
 <74fde732-c2bb-168f-a51c-74e2220c87c5@suse.com>
 <24854.21217.976758.626859@mariner.uk.xensource.com>
 <2fbd9038-8603-da23-ce7f-1544f7c04d55@suse.com>
From: Juergen Gross <jgross@suse.com>
Message-ID: <8da19f9f-2a7b-1f9b-f999-364bdec4af72@suse.com>
Date: Mon, 16 Aug 2021 07:38:44 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <2fbd9038-8603-da23-ce7f-1544f7c04d55@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="efXpP5L2mHnbNRkzt3eCAz9CDPae5wOQy"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--efXpP5L2mHnbNRkzt3eCAz9CDPae5wOQy
Content-Type: multipart/mixed; boundary="L29RAxij1ycepfbwK157glOYy4Kh19EW5";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>, Ian Jackson <iwj@xenproject.org>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Wei Liu <wl@xen.org>, Julien Grall <julien@xen.org>
Message-ID: <8da19f9f-2a7b-1f9b-f999-364bdec4af72@suse.com>
Subject: Re: [PATCH] tests/xenstore: link in librt
References: <3fe5f85c-3702-286c-46a3-d90eb094123f@suse.com>
 <24853.1273.985325.539310@mariner.uk.xensource.com>
 <74fde732-c2bb-168f-a51c-74e2220c87c5@suse.com>
 <24854.21217.976758.626859@mariner.uk.xensource.com>
 <2fbd9038-8603-da23-ce7f-1544f7c04d55@suse.com>
In-Reply-To: <2fbd9038-8603-da23-ce7f-1544f7c04d55@suse.com>

--L29RAxij1ycepfbwK157glOYy4Kh19EW5
Content-Type: multipart/mixed;
 boundary="------------BDC531FA2AB3E8C91C78EA05"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------BDC531FA2AB3E8C91C78EA05
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 13.08.21 14:35, Jan Beulich wrote:
> On 13.08.2021 13:09, Ian Jackson wrote:
>> Jan Beulich writes ("Re: [PATCH] tests/xenstore: link in librt"):
>>> On 12.08.2021 13:24, Ian Jackson wrote:
>>>>> +LDFLAGS +=3D -lrt
>>>>
>>>> Don't this unconditionally is definitely not right.
>>>
>>> Assuming you meant "Doing this ..." - why? If the concern is that
>>> librt.so may needlessly get recorded in a DT_NEEDED entry, then I
>>> can replace the early addition with a late
>>>
>>> LDFLAGS +=3D -Wl,--as-needed -lc -lrt
>>>
>>> one.
>>
>> librt might not exist at all on some platforms.
>=20
> Hmm, indeed. Do you have any suggestion then? Adding a ./configure
> check is going to be beyond what I'd we willing to spend time on ...

libxl is using (probably due to the same problem):

LDUSELIBS-$(CONFIG_Linux) +=3D -lrt

So I guess the same construct is possible here, too.


Juergen

--------------BDC531FA2AB3E8C91C78EA05
Content-Type: application/pgp-keys;
 name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Transfer-Encoding: quoted-printable
Content-Description: OpenPGP public key
Content-Disposition: attachment;
 filename="OpenPGP_0xB0DE9DD628BF132F.asc"

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOBy=
cWx
w3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJvedYm8O=
f8Z
d621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y=
9bf
IhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xq=
G7/
377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR=
3Jv
c3MgPGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsEFgIDA=
QIe
AQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4FUGNQH2lvWAUy+dnyT=
hpw
dtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3TyevpB0CA3dbBQp0OW0fgCetToGIQrg0=
MbD
1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbv=
oPH
Z8SlM4KWm8rG+lIkGurqqu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v=
5QL
+qHI3EIPtyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVyZ=
2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJCAcDAgEGFQgCC=
QoL
BBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4RF7HoZhPVPogNVbC4YA6lW7Dr=
Wf0
teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz78X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC=
/nu
AFVGy+67q2DH8As3KPu0344TBDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0Lh=
ITT
d9jLzdDad1pQSToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLm=
XBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkMnQfvUewRz=
80h
SnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMBAgAjBQJTjHDXAhsDBwsJC=
AcD
AgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJn=
FOX
gMLdBQgBlVPO3/D9R8LtF9DBAFPNhlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1=
jnD
kfJZr6jrbjgyoZHiw/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0=
N51
N5JfVRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwPOoE+l=
otu
fe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK/1xMI3/+8jbO0tsn1=
tqS
EUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuZGU+wsB5BBMBAgAjBQJTjHDrA=
hsD
BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3=
g3O
ZUEBmDHVVbqMtzwlmNC4k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5=
dM7
wRqzgJpJwK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu5=
D+j
LRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzBTNh30FVKK1Evm=
V2x
AKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37IoN1EblHI//x/e2AaIHpzK5h88N=
Eaw
QsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpW=
nHI
s98ndPUDpnoxWQugJ6MpMncr0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZR=
wgn
BC5mVM6JjQ5xDk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNV=
bVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mmwe0icXKLk=
pEd
IXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0Iv3OOImwTEe4co3c1mwARA=
QAB
wsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMvQ/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEw=
Tbe
8YFsw2V/Buv6Z4Mysln3nQK5ZadD534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1=
vJz
Q1fOU8lYFpZXTXIHb+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8=
VGi
wXvTyJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqcsuylW=
svi
uGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5BjR/i1DG86lem3iBDX=
zXs
ZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------BDC531FA2AB3E8C91C78EA05--

--L29RAxij1ycepfbwK157glOYy4Kh19EW5--

--efXpP5L2mHnbNRkzt3eCAz9CDPae5wOQy
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmEZ+eQFAwAAAAAACgkQsN6d1ii/Ey++
9Af/TynUxUMgZhoZvbzSfai0qvNauf/0Vfibcughc05hO6ydOwwzGIQGPn88N7A/9md4wu5lKHeK
yVzkR9W2vOKGBfvwGi9pO/HAOewziORS9I4BZtqSy+RlkwSLGvdujVWtv648CVMLXXFs4BZOoT2N
hHjfKYwIWX2d6aomUbumd2Evx0CNNz8cID/TDnZQl807Vk7SGGreHwofIbw9QyWzOmgDVkn93Hyb
bLjT2miu/lZUx8L64p0dbTBRG2lftRenPbjKQGq1r6XtGfcctTYr5/H/BMalMcdbolcV5DSzguut
OTfVHUJhgGMTIfvFD2qgbSR90Hs4yqfVrfxpoLCDbw==
=8Ype
-----END PGP SIGNATURE-----

--efXpP5L2mHnbNRkzt3eCAz9CDPae5wOQy--


From xen-devel-bounces@lists.xenproject.org Mon Aug 16 05:50:12 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 05:50:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167132.305066 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFVVf-0003LO-Bh; Mon, 16 Aug 2021 05:50:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167132.305066; Mon, 16 Aug 2021 05:50:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFVVf-0003LH-8k; Mon, 16 Aug 2021 05:50:07 +0000
Received: by outflank-mailman (input) for mailman id 167132;
 Mon, 16 Aug 2021 05:50: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 1mFVVd-0003L7-W4; Mon, 16 Aug 2021 05:50: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 1mFVVd-0005ty-Po; Mon, 16 Aug 2021 05:50: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 1mFVVd-0001j1-H6; Mon, 16 Aug 2021 05:50:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mFVVd-0005AD-Gb; Mon, 16 Aug 2021 05: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=xU02Ek2CHDMrKSvBO2U0780L/OwQn/k3rJ0/AMud8ew=; b=jhLmp6IXxP4MG8jTCIJF9Ua0jd
	/i3MfvXKs6w/FPUGIE7gc9t8n5verBlO/1d2CbFzK7U37ztkqlfet5qEHSC0fGGuGeZ7ZGd6vhjrH
	xBYJ8RgaLZUcjcP7jqbtJt6+HWy6QjRrOtjL+GTgPUy+0j21q74fOR/6il/oe5PNDTgE=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164195-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 164195: FAIL
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-libvirt:<job status>:broken:regression
    xen-unstable:test-armhf-armhf-libvirt:host-install(5):broken:heisenbug
    xen-unstable:test-armhf-armhf-examine:host-install:broken:heisenbug
    xen-unstable:test-amd64-amd64-amd64-pvgrub:debian-di-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-start/debianhvm.repeat:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-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-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt: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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-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-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-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=5c34b9af05b9e5abd25d88efc4fb783136547810
X-Osstest-Versions-That:
    xen=5a88d524857e5bf78b077d30ea515fcaac061bfc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 16 Aug 2021 05:50:05 +0000

flight 164195 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164195/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-libvirt        <job status>                 broken  in 164186

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt     5 host-install(5) broken in 164186 pass in 164195
 test-armhf-armhf-examine      5 host-install             broken pass in 164186
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install         fail pass in 164186
 test-amd64-amd64-i386-pvgrub 12 debian-di-install          fail pass in 164186
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 20 guest-start/debianhvm.repeat fail pass in 164189

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 164178
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164178
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164178
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 164178
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 164178
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164178
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164178
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 164178
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164178
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164178
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164178
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  5c34b9af05b9e5abd25d88efc4fb783136547810
baseline version:
 xen                  5a88d524857e5bf78b077d30ea515fcaac061bfc

Last test of basis   164178  2021-08-13 10:47:20 Z    2 days
Testing same since   164182  2021-08-14 00:39:12 Z    2 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     fail    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-step test-armhf-armhf-examine host-install
broken-job test-armhf-armhf-libvirt broken

Not pushing.

------------------------------------------------------------
commit 5c34b9af05b9e5abd25d88efc4fb783136547810
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Aug 13 16:50:09 2021 +0200

    libxc: simplify HYPERCALL_BUFFER()
    
    _hcbuf_buf1 has been there only for a pointer comparison to validate
    type compatibility. The same can be achieved by not using typeof() on
    the definition of what so far was _hcbuf_buf2, as the initializer has
    to also be type-compatible. Drop _hcbuf_buf1 and the comaprison;
    rename _hcbuf_buf2.
    
    Since we're already using compiler extensions here, don't be shy and
    also omit the middle operand of the involved ?: operator.
    
    Bring line continuation character placement in line with that of
    related macros.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit e241d15f1c8a8a02baa401af857393f9ada5aeb3
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Aug 13 16:49:46 2021 +0200

    libxenguest: fix off-by-1 in colo-secondary-bitmap merging
    
    Valid GFNs (having a representation in the dirty bitmap) need to be
    strictly below p2m_size.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 1a838bf72584788310496ba5f3d865457c80727f
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Aug 13 16:49:10 2021 +0200

    libxenguest: complete loops in xc_map_domain_meminfo()
    
    minfo->p2m_size may have more than 31 significant bits. Change the
    induction variable to unsigned long, and (largely for signed-ness
    consistency) a helper variable to unsigned int. While there also avoid
    open-coding min().
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Mon Aug 16 06:01:24 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 06:01:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167148.305098 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFVgY-0005gR-SO; Mon, 16 Aug 2021 06:01:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167148.305098; Mon, 16 Aug 2021 06:01:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFVgY-0005gK-Ov; Mon, 16 Aug 2021 06:01:22 +0000
Received: by outflank-mailman (input) for mailman id 167148;
 Mon, 16 Aug 2021 06:01:21 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eR/w=NH=arm.com=Penny.Zheng@srs-us1.protection.inumbo.net>)
 id 1mFVgX-0005g8-GP
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 06:01:21 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com (unknown
 [40.107.20.68]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 24b8885f-bb49-4060-90c8-7f5ffadc7e8d;
 Mon, 16 Aug 2021 06:01:18 +0000 (UTC)
Received: from AS8PR04CA0130.eurprd04.prod.outlook.com (2603:10a6:20b:127::15)
 by AM6PR08MB4040.eurprd08.prod.outlook.com (2603:10a6:20b:a2::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.19; Mon, 16 Aug
 2021 06:01:16 +0000
Received: from AM5EUR03FT055.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:127:cafe::16) by AS8PR04CA0130.outlook.office365.com
 (2603:10a6:20b:127::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17 via Frontend
 Transport; Mon, 16 Aug 2021 06:01:16 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT055.mail.protection.outlook.com (10.152.17.214) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Mon, 16 Aug 2021 06:01:14 +0000
Received: ("Tessian outbound f11f34576ce3:v103");
 Mon, 16 Aug 2021 06:01:14 +0000
Received: from 879637ac3c36.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 A8023B98-98FE-45D5-AC88-7603E352B46B.1; 
 Mon, 16 Aug 2021 06:01:08 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 879637ac3c36.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 16 Aug 2021 06:01:08 +0000
Received: from VE1PR08MB5215.eurprd08.prod.outlook.com (2603:10a6:803:10a::33)
 by VI1PR0802MB2493.eurprd08.prod.outlook.com (2603:10a6:800:b3::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.19; Mon, 16 Aug
 2021 06:01:00 +0000
Received: from VE1PR08MB5215.eurprd08.prod.outlook.com
 ([fe80::adf8:8d6f:2a30:b60c]) by VE1PR08MB5215.eurprd08.prod.outlook.com
 ([fe80::adf8:8d6f:2a30:b60c%5]) with mapi id 15.20.4415.022; Mon, 16 Aug 2021
 06: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: 24b8885f-bb49-4060-90c8-7f5ffadc7e8d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CXfxLL4+fn4ZMdjKRhjbeDDPs9CeA+0ru8EKsiuVlUE=;
 b=Xx35v+uLxSizkh1euSZDrJu9s6Pde+mLdE+c5sgqmPVA2uh0UBr0xNv7teluxXv/iEShSMP5KDmiL94efHCKmG0lRiHN0f0USDZuckpgc6SgxOHrB8bLrSV1igY4JtlhRzHLCZYLBK49nIT7fTk9/Z7iNvboJgK5W6QiSMBKXYs=
X-MS-Exchange-Authentication-Results: spf=temperror (sender IP is
 63.35.35.123) smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass
 (signature was verified) header.d=armh.onmicrosoft.com;lists.xenproject.org;
 dmarc=temperror action=none header.from=arm.com;
Received-SPF: TempError (protection.outlook.com: error in processing during
 lookup of arm.com: DNS Timeout)
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FdIAEWMbhrOj0Vc0RRo6TJbVG5MaHavw502kdYTpnrQbNuuYhmDvrQQjVQZKMmcvPQ+tXXWIQB74/AmSavlSJ0nIBrQ5GAN44xsmsd6YDAavA40nkZZGxOp6b3eNLIkIxulDdvd/NAqrKIIwvhSPBT0RiRKeyVXHXkACYAQU5iudpw5405nedMK/meja2pkoNTIHtxcU3URhAFjsUK5T7tNIEKbmwz2EtkbBF9xj9rLyjjIiYqvxf5gAM6l3UOv12bPTnuFms6uTjOKuJizcGwG42Rgd2QtcQOFXtmlI+tV9wuzoNSo2M7absn8CxN+LlzJhYMcIrbsZobiEXnN7jg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CXfxLL4+fn4ZMdjKRhjbeDDPs9CeA+0ru8EKsiuVlUE=;
 b=KObs18iUEWOTQJU6807P01hWSNY8zL+pNsiQ8hiJQp5MqwCPbUzF0T8grgxchYXdXyzxicg4CGCBqZVxwmRd8eT+tag6ApDGtue8NtYWKOzaZvwXOE/wzog1EQX6QLoKFY0FQDVhhRKGuy2p6TPh+/dWTESNi8aiAUjDpYPfd6Iil/hm2QZu9mAkLetLT7tGqc3wutFFYinpTvhbBWpEHpjU+tidusvERCMM+4dxuH8Coa4+h0fxhtq2O3zgXY7O81eNOXXLZGGkUf8BO8OhzQ9gQ9jGHTs2u6harnqDeLybELbsZ7O4024aWuJtVCQcrx94I6BTJugR2cLJ18Hobg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CXfxLL4+fn4ZMdjKRhjbeDDPs9CeA+0ru8EKsiuVlUE=;
 b=Xx35v+uLxSizkh1euSZDrJu9s6Pde+mLdE+c5sgqmPVA2uh0UBr0xNv7teluxXv/iEShSMP5KDmiL94efHCKmG0lRiHN0f0USDZuckpgc6SgxOHrB8bLrSV1igY4JtlhRzHLCZYLBK49nIT7fTk9/Z7iNvboJgK5W6QiSMBKXYs=
From: Penny Zheng <Penny.Zheng@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
	nd <nd@arm.com>
Subject: RE: [PATCH V4 03/10] xen/arm: handle static memory in
 dt_unreserved_regions
Thread-Topic: [PATCH V4 03/10] xen/arm: handle static memory in
 dt_unreserved_regions
Thread-Index: AQHXg5tYZY2FWDgBY02KHlfAdkOUMKtuZ8uAgAdTnkA=
Date: Mon, 16 Aug 2021 06:00:58 +0000
Message-ID:
 <VE1PR08MB5215A60D3603AA8D48128F67F7FD9@VE1PR08MB5215.eurprd08.prod.outlook.com>
References: <20210728102758.3269446-1-penny.zheng@arm.com>
 <20210728102758.3269446-4-penny.zheng@arm.com>
 <c861b7c0-e894-61d0-8b29-77c1753661ee@xen.org>
In-Reply-To: <c861b7c0-e894-61d0-8b29-77c1753661ee@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: C8272E7CBBF3E84FADC9AEE6F4682829.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: f8c9e7a8-531d-4208-1315-08d9607b41c5
x-ms-traffictypediagnostic: VI1PR0802MB2493:|AM6PR08MB4040:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM6PR08MB40400590570D5E36A24643C3F7FD9@AM6PR08MB4040.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:8882;OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 OF2y/Xb9CcZmGYVKcrGmNgwZBI8d6Nvb7UwAUeoQU/9jsdxvvr49mt9X4kbMLJ/JXopcCGWEJ+OZRMqFbvIN+m/P10EgRy4AC1rg5TiOfKp4HloUp6zbSv07MkSmP32lDzy19N9HoYWxxDNAyMbZYywcvfzpMbgphmxo339rXudP2PZj3cybGzLgC2FOLc7xruW2/kN1OqKWAJUVeHpmEB+eyJIlRDnvOj8+PwjdhX3c2yKOrcvTT9uF/HLZfvUrZLRhU/HnzlZlWw9qJW6XaEGjs02JzVKzj93eCo2GjQWp98RmVYpRBiKjRyMW7BpmagYtEsFLNBnX/5Fkhc7xUbdgCLQnbgPyWBa8UdaUTjAKPoESmGWNJkC2Eixk6DD5tttayYzGvk7gvcdCXmKbaUCeQGWbhiY3TKz3NE6d2qCvz8nVffCQ5TCgeNGjVfy6ZP1NpjeNqD9VLJcAaB4+5B5TiQAN/4uq8bbdcFPAqqcIrKJhGAlcoPw640JZSaAOHm5FhSs/KXdIScsaWKsx4qh+AROEoyq0ERlrYq6/0iT9oE4dX/7mNJ3rQgZTjaTAlVAk5VKr51fU06dZtr0Zk1bwDtZgIOoB2/UQpaAsck/0+QfqSuAUCbeDFvfcLGRz0XYpK4NNlO99t1sUHGDFnolA/vQX7v/rXvbqFSVW7C8z87Hf+KvdqZ+BeAgwg/DogyLMF7kxLOgq1ie748Gogw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR08MB5215.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(39850400004)(376002)(346002)(366004)(136003)(396003)(38070700005)(38100700002)(122000001)(86362001)(5660300002)(8676002)(83380400001)(64756008)(66446008)(9686003)(66556008)(55016002)(52536014)(66946007)(66476007)(76116006)(71200400001)(33656002)(478600001)(2906002)(8936002)(186003)(4326008)(7696005)(54906003)(110136005)(316002)(26005)(53546011)(6506007);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?NTNiYzVqSFRFQWtndlE0UmNBTXlSdkNGbmpaT0JHdUljMWFLM1VGampQNFdo?=
 =?utf-8?B?ZmpZaGN2MnJQTWZUNlBaUnNKemJiWDdzOG1tNXNQdm1oSU9oOElvOXdZUXFF?=
 =?utf-8?B?czU4OVMwU1RER2E4aDN4VW1HcjlxK3BrTTZvOUdJNlVrZ01QV0c1VTdrSXE1?=
 =?utf-8?B?RUh2MnNlTStiSklLUnpGeXdjRTg1ZlE0dkZrQ1hKYThhOXFSVDhzQVl0bFNJ?=
 =?utf-8?B?bHQ2YXdOekZIUldJL3dVSDF0UWNmaWpMZ3BHSFRRWHJqWFNZSFJSUko4aXFr?=
 =?utf-8?B?ZFR0Sm1YcGNXWkxwVEVtZTk5RHNlSURnaCtLaE9jcURveHFRMFdYN0hyeVdm?=
 =?utf-8?B?TGJZbm9ZejZiY1R4em5XVE53WWRJRy9KbEtnYVFHMG4rVjZIbnFLZ1VGbktL?=
 =?utf-8?B?OVJ4eEw2Y0VXQkh5TEFhRmxVWjBTKzdwM25JRkh5ZHpxMzNhZnQ4YTZ0OC9h?=
 =?utf-8?B?bGFlMlYvYVJyNy9WbHI2M1ZPV0hJQUltUVNFVCs5RXdJa2hhdUZXb2Zndk9v?=
 =?utf-8?B?S3NURWZ5NWFMK2RUamlCL1lJN0tKK091ZldIWWU0d0R2bGtvSFNCVDAzbVo4?=
 =?utf-8?B?aGprSW11Q1hmelhIakxhb0xnZ2VvcDJWMG5OQ2JFQjZxSllZUkI4QkJ3SWxI?=
 =?utf-8?B?Q29UNGQ3S2NkQ1dISWJ0Mm80ZUhhRmpWK0hiaXhyb3lmM2JvZnNmTDhxYWNj?=
 =?utf-8?B?MHQzQmx3L0VxRjF3TTlubE02ZmUrYnRic0c2Z0pSSDFnTUpyTEpuK0xMRHda?=
 =?utf-8?B?TzRjR0ppWmZKMkZkTDZmR0tvUTNycTdBZmlTSElRQlhOam0zNlpTdktVSHc5?=
 =?utf-8?B?bDAvMitnTkZsdlJzZmFidFJ3bFhub2xDVm00WkZEN0ljNnR0OXpOWmFCUTBh?=
 =?utf-8?B?d2JESWROQm9UUEFtZjNCMmRIc3VUcGNtMFI0aksyQUQ5S0JrcXk2TjIyZktR?=
 =?utf-8?B?ODEwS1gyRnFlRGNzbUtkeHNWMDBaNmE3MUd4QXZ2OUtPZmYrR1JQWHhGMnBL?=
 =?utf-8?B?enZud0RYTXVLSEFubDV5UnFCeUJ5S0ovNnpXOTMyQmE0Rm95cGhYMUpsS2dY?=
 =?utf-8?B?Rkorem9BUmRNSTBvQURRbC9qeXZCOEpYeWFDRCt6OEZXUnVFOWl3dFBub3VM?=
 =?utf-8?B?andDTFJsNWZkWWdZUDdWdUxWR2ZIT1duVHdaL2FMMTkxelNPQ0tFTURYR1Ba?=
 =?utf-8?B?UUxBMzNSVFVOczQzbnBCZHdmYmdSS2xhamJwU3pLUEVZQzN0bDV6TzFVcnNZ?=
 =?utf-8?B?Q2RiM2hWSlRzNS93cW8vbll6ZFRSMHk2Sm84U2lXUVA4Y0RZU3ErckFqZ0pO?=
 =?utf-8?B?U1FkaTRlekFUa3BqamVqMkdQcERrUjZ6OTVaVmdpMy9Dc1VpeFc3M0ZVYVlS?=
 =?utf-8?B?QXJQMGk3elFwTTVBZk9wRG5DZ0tKZEpwZnNEbzQ1K1RTZFZmRDlNby9FbVdD?=
 =?utf-8?B?RTNtTUtMaXY5TjV6U2VJaHM4NHFueTRsYWpWTEg2N2ZadWxDNXJxREozSnF5?=
 =?utf-8?B?Nml3cHhjNzlhMm0yamNRbjRTMTFBbnpRbzBwS0o4QUlHdjJRRngydDErNUtk?=
 =?utf-8?B?NVFKUC9tL3ZIcXhoelV4MDBoSFd2WTVuNnRwSnhSaFlFY01ub3NLQVBPeXQ5?=
 =?utf-8?B?cGFGQVNMa3JiSlBwby9zZXdCK1Z0ZWtjMXNPL1lmUzZWMG5TS1kxL05Vc2NN?=
 =?utf-8?B?V2hrejJMclM5S0pYdmJVaG1PdHFtenlNSHRPWExzNklYRFd1dUE3UFJlZklM?=
 =?utf-8?Q?Xdinx3mXHnIFyrmGWYpZlbb5TNLyyuvWVJ6o+g0?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0802MB2493
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT055.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	f6d62ce6-dd1a-4519-0f56-08d9607b3844
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	kD5y2X0mxQunz8a3jy/jYq1r1AtQTXkWI8xgnr4+ljUHSKaBQsZZp/FIK67h2zb3/iR9y+5wOMkcPw6Ifx19ZiyPhCA12pqEq6dRViuJcN/KwGqJSPbWYi2fcpIwXJ2xePJGS6tanVSIpYXld+XMyhmEruiQGB0MsOhKHgMc7I4Q0caEuAjVBnH5/UURYBB+E0oEN4Z8TRWgI+1lkT7yZ0+S3YEsXb60C5FbX66LzyJ5by7oqBs+Xkzvm0h77UVckouIQPKM4bjM9/8FiZO6tggsIPao/UDZj5HN35Q24Hvgy1UocDDi5x3sNU3HE/1tMoIjOv29noNpWlND4YQrhubDfLeSxBw3khIUUr8SSL+w1NtEsT58RJlEI3oVCgiBatIyzKynWUrYrq2ys6hTobXcUEUiHj9Y9kQpyt70QUSW3CFpYWeado+MWnQYachn55KSN6AwoK5YbJBqRsdWK9ENqIRa/FNjG8XCL8aU/yyCB5WqpUPa0IK62Xjh0CmCHhia34nsipkm0/40j1hQv3POnS43E6vMG8n67X6p96Q8uA4kiWxgyd/OmhybtqVqFKAPB/vBiZT/7OheQlvWWKCx4oEIV24Cy4PXziCkGHLbxEQAM0bi3PAeAWKLDRHm/myB99uB8wDG1YsonJFpNmYVBP0ycTKUGO51p4EMVvq/fXrBy+eMUI3tgCv2dB8eN7I6M5K60uF8QGoMAn3RNw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(136003)(346002)(396003)(39850400004)(376002)(46966006)(36840700001)(478600001)(186003)(8936002)(33656002)(356005)(4326008)(2906002)(7696005)(63350400001)(63370400001)(53546011)(6506007)(54906003)(110136005)(316002)(336012)(26005)(81166007)(83380400001)(82740400003)(82310400003)(47076005)(52536014)(9686003)(55016002)(70586007)(70206006)(5660300002)(36860700001)(86362001)(8676002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2021 06:01:14.9770
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f8c9e7a8-531d-4208-1315-08d9607b41c5
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT055.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4040

SGkgSnVsaWVuIA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IFdlZG5lc2RheSwgQXVndXN0IDExLCAy
MDIxIDk6NDggUE0NCj4gVG86IFBlbm55IFpoZW5nIDxQZW5ueS5aaGVuZ0Bhcm0uY29tPjsgeGVu
LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnOw0KPiBzc3RhYmVsbGluaUBrZXJuZWwub3JnDQo+
IENjOiBCZXJ0cmFuZCBNYXJxdWlzIDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+OyBXZWkgQ2hl
bg0KPiA8V2VpLkNoZW5AYXJtLmNvbT47IG5kIDxuZEBhcm0uY29tPg0KPiBTdWJqZWN0OiBSZTog
W1BBVENIIFY0IDAzLzEwXSB4ZW4vYXJtOiBoYW5kbGUgc3RhdGljIG1lbW9yeSBpbg0KPiBkdF91
bnJlc2VydmVkX3JlZ2lvbnMNCj4gDQo+IEhpIFBlbm55LA0KPiANCj4gT24gMjgvMDcvMjAyMSAx
MToyNywgUGVubnkgWmhlbmcgd3JvdGU6DQo+ID4gc3RhdGljIG1lbW9yeSByZWdpb25zIG92ZXJs
YXAgd2l0aCBtZW1vcnkgbm9kZXMuIFRoZSBvdmVybGFwcGluZw0KPiA+IG1lbW9yeSBpcyByZXNl
cnZlZC1tZW1vcnkgYW5kIHNob3VsZCBiZSBoYW5kbGVkIGFjY29yZGluZ2x5Og0KPiA+IGR0X3Vu
cmVzZXJ2ZWRfcmVnaW9ucyBzaG91bGQgc2tpcCB0aGVzZSByZWdpb25zIHRoZSBzYW1lIHdheSB0
aGV5IGFyZQ0KPiA+IGFscmVhZHkgc2tpcHBpbmcgbWVtLXJlc2VydmVkIHJlZ2lvbnMuDQo+ID4N
Cj4gPiBTaWduZWQtb2ZmLWJ5OiBQZW5ueSBaaGVuZyA8cGVubnkuemhlbmdAYXJtLmNvbT4NCj4g
PiAtLS0NCj4gPiAgIHhlbi9hcmNoL2FybS9zZXR1cC5jIHwgNDcgKysrKysrKysrKysrKysrKysr
KysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0NCj4gPiAgIDEgZmlsZSBjaGFuZ2VkLCAzMCBpbnNl
cnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS94ZW4vYXJj
aC9hcm0vc2V0dXAuYyBiL3hlbi9hcmNoL2FybS9zZXR1cC5jIGluZGV4DQo+ID4gNjNhOTA4ZTMy
NS4uZjU2OTEzNDMxNyAxMDA2NDQNCj4gPiAtLS0gYS94ZW4vYXJjaC9hcm0vc2V0dXAuYw0KPiA+
ICsrKyBiL3hlbi9hcmNoL2FybS9zZXR1cC5jDQo+ID4gQEAgLTIwMCw2ICsyMDAsMTMgQEAgc3Rh
dGljIHZvaWQgX19pbml0IGR0X3VucmVzZXJ2ZWRfcmVnaW9ucyhwYWRkcl90IHMsDQo+IHBhZGRy
X3QgZSwNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IGZpcnN0KQ0KPiA+ICAgew0KPiA+ICAgICAgIGludCBpLCBuciA9IGZkdF9udW1fbWVtX3Jzdihk
ZXZpY2VfdHJlZV9mbGF0dGVuZWQpOw0KPiA+ICsgICAgLyoNCj4gPiArICAgICAqIFRoZXJlIGFy
ZSB0d28gdHlwZXMgb2YgcmVzZXJ2ZWQgbWVtb3J5IHN0b3JlZCBpbiBib290aW5mbywgb25lDQo+
IGRlZmluZXMNCj4gPiArICAgICAqIGluIC9yZXNlcnZlZC1tZW1vcnkgbm9kZSwgdGhlIG90aGVy
IHJlZmVycyB0byBkb21haW4gb24gc3RhdGljDQo+IGFsbG9jYXRpb24NCj4gPiArICAgICAqIHRo
cm91Z2ggInhlbixzdGF0aWMtbWVtIiBwcm9wZXJ0eS4NCj4gPiArICAgICAqLw0KPiA+ICsgICAg
aW50IG5yX3Jzdl90eXBlID0gMiwgdCA9IDAsIHByZXZfbnI7DQo+ID4gKyAgICBzdHJ1Y3QgbWVt
aW5mbyAqcnN2X3R5cGVbMl0gPSB7JmJvb3RpbmZvLnJlc2VydmVkX21lbSwNCj4gPiArICZib290
aW5mby5zdGF0aWNfbWVtfTsNCj4gDQo+IExvb2tpbmcgYXQgdGhlIHJlc3Qgb2YgdGhlIHNlcmll
cywgaXQgZG9lc24ndCBsb29rIGxpa2UgdGhlcmUgaXMgYSByZWFsIGJlbmVmaXRzIHRvDQo+IGhh
dmUgdGhlIHN0YXRpYyBtZW1vcnkgYW5kIHJlc2VydmVkIG1lbW9yeSBpbiBzZXBhcmF0ZSBhcnJh
eXMgYXMgdGhleSBhcmUNCj4gd2Fsa2VkIG9ubHkgYSBmZXcgdGltZXMgYW5kIHRoZXkgYXJlIGJv
dGggbWVhbnQgdG8gYmUgc21hbGwuIEluIGZhY3QsIEkgdGhpbmsNCj4gdGhpcyBjb2RlIGlzIGxv
dCBtb3JlIGRpZmZpY3VsdCB0byByZWFkLg0KPiANCj4gU28gaXQgd291bGQgYmUgYmVzdCB0byBt
ZXJnZSB0aGUgdHdvIGFycmF5cyBpbiBvbmUuIFdlIGNhbiBhZGQgYSBmbGFnIGluIHRoZQ0KPiBz
dHJ1Y3R1cmUgdG8gZGlmZmVyZW50aWF0ZSBiZXR3ZWVuICJzdGF0aWMiIGFuZCAicmVzZXJ2ZWQi
IG1lbW9yeS4NCj4gDQoNCkhvdyBhYm91dCBhZGRpbmcgYSAic3RhdGljIiBmbGFnIGluICJzdHJ1
Y3QgbWVtaW5mbyIgdG8gdGVsbC4gU2VlIHRoZSBiZWxvdyBleGFtcGxlOg0KIg0Kc3RydWN0IG1l
bWluZm8gew0KICAgIGludCBucl9iYW5rczsNCiAgICBzdHJ1Y3QgbWVtYmFuayBiYW5rW05SX01F
TV9CQU5LU107DQogICAgYm9vbCBzdGF0aWM7ICAvKiB3aGV0aGVyIG1lbW9yeSBpcyByZXNlcnZl
ZCBhcyBzdGF0aWMgbWVtb3J5LiAqLw0KfTsNCiINCg0KQW5kIEkgd2lsbCBkZWxldGUgInN0cnVj
dCBtZW1pbmZvIHN0YXRpY19tZW0iIGFycmF5LCBhbGwgInN0YXRpYyIgYW5kICJyZXNlcnZlZCIg
bWVtb3J5DQp3aWxsIGJlIHN0b3JlZCBpbiBvbmUgInN0cnVjdCBtZW1pbmZvIHJlc2VydmVkX21l
bSIgYXJyYXkuDQoNCj4gQ2hlZXJzLA0KPiANCj4gLS0NCg0KQ2hlZXJzLA0KDQotLQ0KPiBKdWxp
ZW4gR3JhbGwNCg==


From xen-devel-bounces@lists.xenproject.org Mon Aug 16 06:13:07 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 06:13:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167163.305109 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFVrr-0007Ut-53; Mon, 16 Aug 2021 06:13:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167163.305109; Mon, 16 Aug 2021 06:13:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFVrr-0007Um-1b; Mon, 16 Aug 2021 06:13:03 +0000
Received: by outflank-mailman (input) for mailman id 167163;
 Mon, 16 Aug 2021 06:13:01 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eR/w=NH=arm.com=Penny.Zheng@srs-us1.protection.inumbo.net>)
 id 1mFVrp-0007Ug-QM
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 06:13:01 +0000
Received: from EUR03-AM5-obe.outbound.protection.outlook.com (unknown
 [40.107.3.48]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 014ef70a-fe59-11eb-a442-12813bfff9fa;
 Mon, 16 Aug 2021 06:12:59 +0000 (UTC)
Received: from DU2PR04CA0258.eurprd04.prod.outlook.com (2603:10a6:10:28e::23)
 by PAXPR08MB6350.eurprd08.prod.outlook.com (2603:10a6:102:15b::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Mon, 16 Aug
 2021 06:12:57 +0000
Received: from DB5EUR03FT015.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:28e:cafe::27) 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.4415.13 via Frontend
 Transport; Mon, 16 Aug 2021 06:12:57 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT015.mail.protection.outlook.com (10.152.20.145) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.14 via Frontend Transport; Mon, 16 Aug 2021 06:12:57 +0000
Received: ("Tessian outbound f11f34576ce3:v103");
 Mon, 16 Aug 2021 06:12:57 +0000
Received: from 716b5b8c657f.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 60DA8248-7124-46E8-BC4D-FE6770124EC1.1; 
 Mon, 16 Aug 2021 06:12:46 +0000
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 716b5b8c657f.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 16 Aug 2021 06:12:46 +0000
Received: from VE1PR08MB5215.eurprd08.prod.outlook.com (2603:10a6:803:10a::33)
 by VI1PR08MB3952.eurprd08.prod.outlook.com (2603:10a6:803:de::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Mon, 16 Aug
 2021 06:12:44 +0000
Received: from VE1PR08MB5215.eurprd08.prod.outlook.com
 ([fe80::adf8:8d6f:2a30:b60c]) by VE1PR08MB5215.eurprd08.prod.outlook.com
 ([fe80::adf8:8d6f:2a30:b60c%5]) with mapi id 15.20.4415.022; Mon, 16 Aug 2021
 06:12:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 014ef70a-fe59-11eb-a442-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TvwoCVA58ndNI2NI0XBZln8fgZlsgMf1RkcRUufc6So=;
 b=S+Wzo+vLhwrobWr6WMIzEhDtB0Gkh1d5rzkJycX3/6qeo56pjbYDWdLWwmn6soQpZGLs9uuVk0iv6Exw98hodfUcyS7nBrtFabPTqRM4rrHZO4qIEusCkXkfW6mNv8nhoUswtVwSbKSTPYKblvnYyCW5pIFZBBSHMoq2ULxE2KI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=n/H7U8WlB4Ur1+AapX1pfU7CzkwGfjYRdCYZaVRZw4Td6ItCQnQK1J/orMMg74HUqa+gnW0XNU4hvOz8RRJWumdrkNSMgpZWPmkoghSuuKZ5o7m5JKfQf3xZl6tO/eH7uZWeB0pEBZKgXwR7TgN1L+KO23ANrddLt2yT+Qs9QMfaPKZHEoxKBXg10FmFgTRhfxQjgXoM0+4gXeQmVEYuydwdfwGYeg/ubFyLAPo3Wvo+VzqWH/iWloO0qAfd1f79kwifVbs4DTk5c1SdexGfo0uttbmcIJjIDiGUh9/4GZXcZ13DMik7kJXEpVy0XWqBpP5n8lKdwb3O5Ygm34pqXg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TvwoCVA58ndNI2NI0XBZln8fgZlsgMf1RkcRUufc6So=;
 b=jCKHYNRdCs4WBfQ4uCCYPd58+bX9lttOaKicPTlDGbs3fs8YI3d/M/W+Vill4gHyNuL4cPaSN0hnpMg7PraAmP3u20DuTtx3kYc4/Ddo/q2c+RqBlOll1y6/+dl5ZVkI2QC+lKTAv/iQ652bRfFpHlZfVSukbreqttke7cZcxCz+3/Z1i0rD4ALcPvWKpanDVagfS7bl+at395PrczjNv5/C1M7YjYsorzkQKQintbWUW0Z2jZrsYvz3H2NfxwtrHs8vogu++XLvsbadKSPBH5U9MhorUlWFBFsX8c+bIgQ/mRzPuzk5pcvbHUv20aN8w0wgOgRyk2jAvMLimaNKew==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TvwoCVA58ndNI2NI0XBZln8fgZlsgMf1RkcRUufc6So=;
 b=S+Wzo+vLhwrobWr6WMIzEhDtB0Gkh1d5rzkJycX3/6qeo56pjbYDWdLWwmn6soQpZGLs9uuVk0iv6Exw98hodfUcyS7nBrtFabPTqRM4rrHZO4qIEusCkXkfW6mNv8nhoUswtVwSbKSTPYKblvnYyCW5pIFZBBSHMoq2ULxE2KI=
From: Penny Zheng <Penny.Zheng@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
	nd <nd@arm.com>
Subject: RE: [PATCH V4 05/10] xen/arm: static memory initialization
Thread-Topic: [PATCH V4 05/10] xen/arm: static memory initialization
Thread-Index: AQHXg5tWmR00uV2Z30qwTXivYZepy6txdBIAgARN83A=
Date: Mon, 16 Aug 2021 06:12:44 +0000
Message-ID:
 <VE1PR08MB52159DE4BEF0755B8FEF687DF7FD9@VE1PR08MB5215.eurprd08.prod.outlook.com>
References: <20210728102758.3269446-1-penny.zheng@arm.com>
 <20210728102758.3269446-6-penny.zheng@arm.com>
 <6d131379-68e8-ff26-d579-db2afd678072@xen.org>
In-Reply-To: <6d131379-68e8-ff26-d579-db2afd678072@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 09D2B7ACD894FA439C6D68E6AE4A7AF1.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: e6a1f4b3-588b-4a56-d774-08d9607ce485
x-ms-traffictypediagnostic: VI1PR08MB3952:|PAXPR08MB6350:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<PAXPR08MB635055FE3EB9133BDFAFD917F7FD9@PAXPR08MB6350.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:6430;OLM:6430;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 wU69MY1M0g/IJdhxeB73l5fvfFDQEOzCJSOk1fqz0kw/km1cPGu57sUjnJJhUvrRJJwZZtoh+MgvbYTPpBHhJYbWn6OVfgtPlPiKRp+y+4A1XRC1gnUg58oinOLsaVNxjPa0g/MLstF5GVFF2Pk7d3Ixmc8a0A3y/yBgWTchBGOiVetkOxaKo2b6TXnjrQ1mYeiYUi2MEvRKNpPmbJWYo4hKvCTCZv38XAPHFfd7GCoOBBnGEFw3bw6BIi0EXrbLYT6dTO2MiquOSwDlUZPStldXuGK/7qLBwylaq7ZSFZgz0Gx7H4xSabLhHt4m9C0WAf2iJIuFoNWEYugo0LbKVPmtNEUikbjjJDg6cmh6yc1BbXO3AYtJY4ul1ydw3SggSo7KFnobit7EESaZj1ImkDHte7H2U8nanpckPTRoy2hcSH/F3Nd/Ma9fTt0eDKYrv07KAYiWcHULbQlrsxnps01nEcNcwRACoxxHZ5eKGF1pt0cjMXwKFVqNhF43+XE/H47CNgytuukhhHetrpqLvC/QE0ggSo93XIF+5xlVffsxdpwTGaZ+QG8mPTkfLXASXiS17WwP7evzmjTUn+zUGe5jOqlpZstNi6+2pI3NmJCICJNgJbLLt2y+x2+z30Wri+tw75EPtuFZat2ybcGIJ8+V2d5f8/0wA6BetAwtI7wvQ9tmd9EpUTy/+fNa/9dqABHHgw6nXWnQbeV+DPVtNA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR08MB5215.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(26005)(9686003)(53546011)(2906002)(8936002)(110136005)(66946007)(66446008)(4326008)(5660300002)(66556008)(86362001)(76116006)(64756008)(66476007)(33656002)(52536014)(498600001)(54906003)(186003)(38070700005)(8676002)(6506007)(71200400001)(55016002)(83380400001)(7696005)(122000001)(38100700002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?dGdIcy9nV05ZbGNHM0R3UHUxMnBzd0tFaU8rTGZBTEYzVHVjNk50M0N3VTNr?=
 =?utf-8?B?R1BnMDZrYVpFY085ckZXVGxMU25tRlYyQS9pdVNkV055ano4a0lTS2QvNVBx?=
 =?utf-8?B?RUVjQ0xsQnhiRUhrVHJMcCt0eFhteHJCZUFEYTB5bjNaQ0I0blBIR2tBZGt5?=
 =?utf-8?B?Nm5nR0Z2Wkp5dVVYdTN0RGxLOVprVlNCbXRJbjNLTG9JTDJhcXpjVGlnSnhu?=
 =?utf-8?B?d0dJa1pGeW8yN3Btck05NDdPOXltT2ZUeXdIcUdrMDFGSkxLNyt1Q3g0OXM2?=
 =?utf-8?B?dDI5RERHZjFrUjB3T0k2K3pla2VmMXRBTUNLSldNQ1hkNFgwWW4yZC9JTFNN?=
 =?utf-8?B?RUZ0VEN0NGh0bTVYdGVYSkRiajVqMlVScFRzbUVBZ2U0eThRc3p5RjBNdXdK?=
 =?utf-8?B?aElCTGo3U080YnJIRlV6S1dLYk5CUWhkZVFGdmtQb1dkRFZhZzlseHV5MWRO?=
 =?utf-8?B?clRhRlptSm9Cc0dYR2lsYUV5YzMzeG9uRG1qeUZwL2crVUJEQVhnU2FEUStw?=
 =?utf-8?B?ZVJNRHJmd2hmb1VSVGVzTG0yQ2Q4a2kzQkpIaTZtZTB0Y0VPUTFmalNueTNo?=
 =?utf-8?B?NEpHZFdjeld1bnUwWk5DZjFaTmh3dVpNV3FGRzNVYVR2dG9weDViaVZYaytL?=
 =?utf-8?B?amJaMXNQbk9XcGFFeVZXZUk0eDJ2aUdMd21IRm1XdS9yQ2w2MG5rMUFNUHB2?=
 =?utf-8?B?ZmdPNTRxMW0wNEllQzhxQ1RvOXF6dFVqYWgwcndIaVFPelQyemVCcTcyWG8y?=
 =?utf-8?B?WHdIRCtxVzdJcGNYWGFoRmVNVnFVR09BaWUwWTNLenEwWWNqSDc0SHlqeUM3?=
 =?utf-8?B?anBiNG5kbmVJNlROdjBEUzNXdDJKSWJkUDdBR3Y3Tmp2bkgzbDJsYzBWN2lm?=
 =?utf-8?B?bUI3L0NJNGk3ajlRMFJRUW5ZNUFTV3U4RjFSTC9TUnNlZStqZi9EZncwUHpB?=
 =?utf-8?B?SUlNZm1xK3AwNmlYY1haclRkcmpSSXBvZ0lKbnAyUkF1UnRIQ1ZEQTAyS1hU?=
 =?utf-8?B?cVFRdkZFWW5zTHM5cHo1VHh0UFBsL1RsamE1ZExQVmVuRWh1NHJXUVk0ejdk?=
 =?utf-8?B?QlduVGxmU2NLWjE1c0dVeTNzZ3p4NEs3aEpVdmJOcFVwblhUczZLNXdlQk1I?=
 =?utf-8?B?NFhMeGJmY1ZoNVdrNXJwS3hRUysvYXlpNFJGOHRHTE5SRnkvWnVUelRkdUhR?=
 =?utf-8?B?am9teXdGK0wxdmJkWXRIaUowRXA2aDJMd0lWTW5YMW9ZWnZDZDRoSkh6eVhu?=
 =?utf-8?B?cERxRXVGazdMOUluOWFSdk4wYzM0QTk0K1RvQlpvVWZyWnI5MkoxbWxIVkJY?=
 =?utf-8?B?eGFVWHlQWm1xdVJtRitpWGJMaDFmTGJnQ3hmaGFqQVVKTWpaNjFWZ3p4WnBM?=
 =?utf-8?B?M1kveGVJU2RXLzRuRFBNREk2VjhkMEtMOXp3TDA3cmtpZG04bFVzcFovMGZj?=
 =?utf-8?B?TjAwNSsvclFCckdaOHJoZU0wSEJpN241V1dqUnZVazliYmg4ZDVNK1cxWUNo?=
 =?utf-8?B?K09yM3pNV2NmZXRPVHJjRW1jTDVHTGRMV01CMHBtZUxXZzg3OVQ2TTdZTm9J?=
 =?utf-8?B?aDRNNUhiSm5YSFplNVRFZEZzdVU1UmtNcTZiTkNXekxacWpwRVUrRTBJWFZ4?=
 =?utf-8?B?d2RCY3RaVjNvaUM1OWs4UGlTM2k5U0NaNkZUOEhQTjRRVnVlOHhNTFY3WVpt?=
 =?utf-8?B?Y3dla2o3RW1iZmlWYjVNbDZVa0RtQXI5dTJrak9lWXRCbnBGbWFMNVlvTjc0?=
 =?utf-8?Q?RBFgNiBCs89AWpGcnTRhpmkMbViW0iN/OEmWzUL?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3952
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT015.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	42019a45-0432-48cc-c0b3-08d9607cdcb0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZgfQz/4Zoy6wJ0lw7mxNtBdbPaKevNUlpr0hQkShN4ARUSQRHGyDgwx4YVd4X+m5kJMFF7ukcE2UDTsByMycnnkrqGTjZyVppDAxOL//HeGtpA4lh8gPo/4TS9uEfhnTI8qG/5doEpPGWz3QoSTJXoxWz0y8twTk75erjw8twBno4jkT6+ByQl50J6X0H72sr7+5MABr34LELhBkURACOOwaInjDqEZJWJa45AkJ40ayi0zRuBT1XgonF8/yK//KoWKvWX0Bj1K8RszTIqrSDiTm6M/He3FjDV5YDWUcpBo1Rs+84eOyq7hJpepbdi/+qHT6UCh6N48VvdKDpQaI9aVKUSu/VmfyGgDdLyewHO5HWxQf1wfn5VvjpG84KW0Rm0OsNMFYLkp1nNYCzYxV31EllfpSoskbXMli9MY9csQJuQ8RCNHmI3EHwhKeuLBNXK57T2IUng6AxB4IdR5kF/PPjaE/BegSvdYoJGKIc0W/dXX3ifHbQvBPp12C+kXw+dA76NdYvJrb2fXBz5Hq9SIn1UqImTQedcegsml3uze5aOpOkHwqm/btQ8X+b2FfUhta8q8v+D54YnEl7P/TYg0AYrd3vQOULzjA9Kw3mbD+w3Td9dDUn7afzOMKe2DEWuKbjw1AL2etewu5YrJk8KsT4Zgt6npmORiGzaJEiMb/Idn9xaVgS4xGGTV4vmGJ06fw3E6RvDpaa+YXZh+/rQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(396003)(376002)(39830400003)(346002)(46966006)(36840700001)(86362001)(6506007)(47076005)(356005)(53546011)(2906002)(508600001)(33656002)(81166007)(36860700001)(8676002)(8936002)(7696005)(5660300002)(186003)(9686003)(55016002)(4326008)(336012)(110136005)(70586007)(70206006)(83380400001)(52536014)(54906003)(82310400003)(26005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2021 06:12:57.5733
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e6a1f4b3-588b-4a56-d774-08d9607ce485
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT015.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6350

SGkgSnVsaWVuDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSnVsaWVu
IEdyYWxsIDxqdWxpZW5AeGVuLm9yZz4NCj4gU2VudDogRnJpZGF5LCBBdWd1c3QgMTMsIDIwMjEg
ODoyMSBQTQ0KPiBUbzogUGVubnkgWmhlbmcgPFBlbm55LlpoZW5nQGFybS5jb20+OyB4ZW4tZGV2
ZWxAbGlzdHMueGVucHJvamVjdC5vcmc7DQo+IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmcNCj4gQ2M6
IEJlcnRyYW5kIE1hcnF1aXMgPEJlcnRyYW5kLk1hcnF1aXNAYXJtLmNvbT47IFdlaSBDaGVuDQo+
IDxXZWkuQ2hlbkBhcm0uY29tPjsgbmQgPG5kQGFybS5jb20+DQo+IFN1YmplY3Q6IFJlOiBbUEFU
Q0ggVjQgMDUvMTBdIHhlbi9hcm06IHN0YXRpYyBtZW1vcnkgaW5pdGlhbGl6YXRpb24NCj4gDQo+
IEhpIFBlbm55LA0KPiANCj4gT24gMjgvMDcvMjAyMSAxMToyNywgUGVubnkgWmhlbmcgd3JvdGU6
DQo+ID4gVGhpcyBwYXRjaCBpbnRyb2R1Y2VzIHN0YXRpYyBtZW1vcnkgaW5pdGlhbGl6YXRpb24s
IGR1cmluZyBzeXN0ZW0gYm9vdCB1cC4NCj4gPg0KPiA+IFRoZSBuZXcgZnVuY3Rpb24gaW5pdF9z
dGF0aWNtZW1fcGFnZXMgaXMgcmVzcG9uc2libGUgZm9yIHN0YXRpYyBtZW1vcnkNCj4gPiBpbml0
aWFsaXphdGlvbi4NCj4gPg0KPiA+IEhlbHBlciBmcmVlX3N0YXRpY21lbV9wYWdlcyBpcyB0aGUg
ZXF1aXZhbGVudCBvZiBmcmVlX2hlYXBfcGFnZXMsIHRvDQo+ID4gZnJlZSBucl9tZm5zIHBhZ2Vz
IG9mIHN0YXRpYyBtZW1vcnkuDQo+ID4NCj4gPiBUaGlzIGNvbW1pdCBhbHNvIGludHJvZHVjZXMg
bmV3IENPTkZJR19TVEFUSUNfTUVNT1JZIHRvIGF2b2lkDQo+IGJyaW5naW5nDQo+ID4gZGVhZCBj
b2RlcyBpbiBvdGhlciBhcmNocy4NCj4gPg0KPiA+IFB1dCBhc3luY2hyb25vdXMgc2NydWJiaW5n
IGZvciBwYWdlcyBvZiBzdGF0aWMgbWVtb3J5IGluIFRPRE8gbGlzdC4NCj4gPg0KPiA+IFNpZ25l
ZC1vZmYtYnk6IFBlbm55IFpoZW5nIDxwZW5ueS56aGVuZ0Bhcm0uY29tPg0KPiA+IC0tLQ0KPiA+
IHY0IGNoYW5nZToNCj4gPiAtIG1vdmUgdGhlIG9wdGlvbiBDT05GSUdfU1RBVElDX01FTU9SWSB0
byBjb21tb24gY29kZSwgYW5kIHdpdGgNCj4gQXJtDQo+ID4gInNlbGVjdCJpbmcgaXQNCj4gPiAt
IHJlcGxhY2Ugcm91bmRfcGd7ZG93bix1cH0oKSB3aXRoIFBGTl9ET1dOKCkvUEZOX1VQKCkNCj4g
PiAtLS0NCj4gPiAgIHhlbi9hcmNoL2FybS9LY29uZmlnICAgIHwgIDEgKw0KPiA+ICAgeGVuL2Fy
Y2gvYXJtL3NldHVwLmMgICAgfCAyNCArKysrKysrKysrKysrKysrKysrKysrKysNCj4gPiAgIHhl
bi9jb21tb24vS2NvbmZpZyAgICAgIHwgIDMgKysrDQo+ID4gICB4ZW4vY29tbW9uL3BhZ2VfYWxs
b2MuYyB8IDIwICsrKysrKysrKysrKysrKysrKysrDQo+ID4gICB4ZW4vaW5jbHVkZS94ZW4vbW0u
aCAgICB8ICA2ICsrKysrKw0KPiA+ICAgNSBmaWxlcyBjaGFuZ2VkLCA1NCBpbnNlcnRpb25zKCsp
DQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL0tjb25maWcgYi94ZW4vYXJjaC9h
cm0vS2NvbmZpZyBpbmRleA0KPiA+IGVjZmE2ODIyZTQuLmNjN2E5NDNkMjcgMTAwNjQ0DQo+ID4g
LS0tIGEveGVuL2FyY2gvYXJtL0tjb25maWcNCj4gPiArKysgYi94ZW4vYXJjaC9hcm0vS2NvbmZp
Zw0KPiA+IEBAIC0xNSw2ICsxNSw3IEBAIGNvbmZpZyBBUk0NCj4gPiAgIAlzZWxlY3QgSEFTX1BB
U1NUSFJPVUdIDQo+ID4gICAJc2VsZWN0IEhBU19QRFgNCj4gPiAgIAlzZWxlY3QgSU9NTVVfRk9S
Q0VfUFRfU0hBUkUNCj4gPiArCXNlbGVjdCBTVEFUSUNfTUVNT1JZDQo+IA0KPiBHaXZlbiB0aGUg
bGlzdCBvZiBUT0RPcywgSSB0aGluayBpdCB3b3VsZCBiZSBiZXR0ZXIgaWYgU1RBVElDX01FTU9S
WSBpcyB1c2VyDQo+IHNlbGVjdGFibGUgYW5kIGdhdGVkIGJ5IFVOU1VQUE9SVEVELg0KPiANCj4g
V2UgY2FuIHJlbW92ZSB0aGUgZGVwZW5kZW5jeSBvbiBVTlNVUFBPUlRFRCBvbmNlIGV2ZXJ5IGhh
dmUgYmVlbg0KPiBhZGRyZXNzZWQuDQo+IA0KDQpTdXJlLiBJJ2xsIGNoYW5nZSBpdCBVTlNVUFBP
UlRFRC4NCiANCmNvbmZpZyBTVEFUSUNfQUxMT0NBVElPTg0KICAgICAgICBib29sICJTdGF0aWMg
QWxsb2NhdGlvbiBTdXBwb3J0IChVTlNVUFBPUlRFRCkiIGlmIFVOU1VQUE9SVEVEDQoNCj4gPg0K
PiA+ICAgY29uZmlnIEFSQ0hfREVGQ09ORklHDQo+ID4gICAJc3RyaW5nDQo+ID4gZGlmZiAtLWdp
dCBhL3hlbi9hcmNoL2FybS9zZXR1cC5jIGIveGVuL2FyY2gvYXJtL3NldHVwLmMgaW5kZXgNCj4g
PiBmNTY5MTM0MzE3Li4zNjlmNjYzMWVlIDEwMDY0NA0KPiA+IC0tLSBhL3hlbi9hcmNoL2FybS9z
ZXR1cC5jDQo+ID4gKysrIGIveGVuL2FyY2gvYXJtL3NldHVwLmMNCj4gPiBAQCAtNjIyLDYgKzYy
MiwyNiBAQCBzdGF0aWMgdm9pZCBfX2luaXQgaW5pdF9wZHgodm9pZCkNCj4gPiAgICAgICB9DQo+
ID4gICB9DQo+ID4NCj4gPiArLyogU3RhdGljIG1lbW9yeSBpbml0aWFsaXphdGlvbiAqLw0KPiA+
ICtzdGF0aWMgdm9pZCBfX2luaXQgaW5pdF9zdGF0aWNtZW1fcGFnZXModm9pZCkgew0KPiA+ICsg
ICAgdW5zaWduZWQgaW50IGJhbms7DQo+ID4gKw0KPiA+ICsgICAgLyogVE9ETzogQ29uc2lkZXJp
bmcgTlVNQS1zdXBwb3J0IHNjZW5hcmlvLiAqLw0KPiA+ICsgICAgZm9yICggYmFuayA9IDAgOyBi
YW5rIDwgYm9vdGluZm8uc3RhdGljX21lbS5ucl9iYW5rczsgYmFuaysrICkNCj4gPiArICAgIHsN
Cj4gPiArICAgICAgICB1bnNpZ25lZCBsb25nIGJhbmtfc3RhcnQgPQ0KPiA+ICsgUEZOX1VQKGJv
b3RpbmZvLnN0YXRpY19tZW0uYmFua1tiYW5rXS5zdGFydCk7DQo+IA0KPiBJIHdvdWxkIHByZWZl
ciBpZiBiYW5rX3N0YXJ0IGlzIGEgbWZuX3QuDQo+IA0KDQpTdXJlLCBpdCdzIG1vcmUgYXBwcm9w
cmlhdGUuDQoNCj4gPiArICAgICAgICB1bnNpZ25lZCBsb25nIGJhbmtfc2l6ZSA9DQo+ID4gKyBQ
Rk5fRE9XTihib290aW5mby5zdGF0aWNfbWVtLmJhbmtbYmFua10uc2l6ZSk7DQo+IA0KPiBOSVQ6
IEkgd291bGQgc3VnZ2VzdCB0byBuYW1lIGl0IGJhbmtfcGFnZXMgb3IgYmFua19ucl9wYWdlcy4g
VGhpcyB3b3VsZA0KPiBtYWtlIGNsZWFyIGluIHRoZSB1c2VyIHRoYXQgdGhpcyBjb250YWlucyBw
YWdlcy4NCj4gDQoNClN1cmUuDQoNCj4gPiArICAgICAgICB1bnNpZ25lZCBsb25nIGJhbmtfZW5k
ID0gYmFua19zdGFydCArIGJhbmtfc2l6ZTsNCj4gDQo+IG1mbl90IHBsZWFzZS4NCj4gDQoNClN1
cmUuDQoNCj4gPiArDQo+ID4gKyAgICAgICAgaWYgKCBiYW5rX2VuZCA8PSBiYW5rX3N0YXJ0ICkN
Cj4gDQo+IFRoaXMgd2lsbCBtZWFuIHlvdSB3aWxsIG5lZWQgdG8gdXNlIG1mbl94KCkgZm9yIGJv
dGguIFRoaXMgY29kZSB3b3VsZCBiZSBsZXNzDQo+IG5pY2UgYnV0IGF0IGxlYXN0IGl0IGF2b2lk
cyBtaXhpbmcgYWRkcmVzcyBhbmQgTUZOLg0KPg0KDQpTdXJlLg0KDQo+ID4gKyAgICAgICAgICAg
IHJldHVybjsNCj4gPiArDQo+ID4gKyAgICAgICAgZnJlZV9zdGF0aWNtZW1fcGFnZXMobWZuX3Rv
X3BhZ2UoX21mbihiYW5rX3N0YXJ0KSksDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYmFua19zaXplLCBmYWxzZSk7DQo+ID4gKyAgICB9DQo+ID4gK30NCj4gPiArDQo+ID4gICAj
aWZkZWYgQ09ORklHX0FSTV8zMg0KPiA+ICAgc3RhdGljIHZvaWQgX19pbml0IHNldHVwX21tKHZv
aWQpDQo+ID4gICB7DQo+ID4gQEAgLTc0OSw2ICs3NjksOCBAQCBzdGF0aWMgdm9pZCBfX2luaXQg
c2V0dXBfbW0odm9pZCkNCj4gPiAgICAgICAvKiBBZGQgeGVuaGVhcCBtZW1vcnkgdGhhdCB3YXMg
bm90IGFscmVhZHkgYWRkZWQgdG8gdGhlIGJvb3QgYWxsb2NhdG9yLg0KPiAqLw0KPiA+ICAgICAg
IGluaXRfeGVuaGVhcF9wYWdlcyhtZm5fdG9fbWFkZHIoeGVuaGVhcF9tZm5fc3RhcnQpLA0KPiA+
ICAgICAgICAgICAgICAgICAgICAgICAgICBtZm5fdG9fbWFkZHIoeGVuaGVhcF9tZm5fZW5kKSk7
DQo+ID4gKw0KPiA+ICsgICAgaW5pdF9zdGF0aWNtZW1fcGFnZXMoKTsNCj4gPiAgIH0NCj4gPiAg
ICNlbHNlIC8qIENPTkZJR19BUk1fNjQgKi8NCj4gPiAgIHN0YXRpYyB2b2lkIF9faW5pdCBzZXR1
cF9tbSh2b2lkKQ0KPiA+IEBAIC04MDIsNiArODI0LDggQEAgc3RhdGljIHZvaWQgX19pbml0IHNl
dHVwX21tKHZvaWQpDQo+ID4NCj4gPiAgICAgICBzZXR1cF9mcmFtZXRhYmxlX21hcHBpbmdzKHJh
bV9zdGFydCwgcmFtX2VuZCk7DQo+ID4gICAgICAgbWF4X3BhZ2UgPSBQRk5fRE9XTihyYW1fZW5k
KTsNCj4gPiArDQo+ID4gKyAgICBpbml0X3N0YXRpY21lbV9wYWdlcygpOw0KPiA+ICAgfQ0KPiA+
ICAgI2VuZGlmDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9LY29uZmlnIGIveGVu
L2NvbW1vbi9LY29uZmlnIGluZGV4DQo+ID4gMGRkZDE4ZTExYS4uOGY3MzZlZWE4MiAxMDA2NDQN
Cj4gPiAtLS0gYS94ZW4vY29tbW9uL0tjb25maWcNCj4gPiArKysgYi94ZW4vY29tbW9uL0tjb25m
aWcNCj4gPiBAQCAtNjcsNiArNjcsOSBAQCBjb25maWcgTUVNX0FDQ0VTUw0KPiA+ICAgY29uZmln
IE5FRURTX0xJQkVMRg0KPiA+ICAgCWJvb2wNCj4gPg0KPiA+ICtjb25maWcgU1RBVElDX01FTU9S
WQ0KPiA+ICsJYm9vbA0KPiA+ICsNCj4gPiAgIG1lbnUgIlNwZWN1bGF0aXZlIGhhcmRlbmluZyIN
Cj4gPg0KPiA+ICAgY29uZmlnIFNQRUNVTEFUSVZFX0hBUkRFTl9BUlJBWQ0KPiA+IGRpZmYgLS1n
aXQgYS94ZW4vY29tbW9uL3BhZ2VfYWxsb2MuYyBiL3hlbi9jb21tb24vcGFnZV9hbGxvYy5jIGlu
ZGV4DQo+ID4gYTNlZTVlY2E5ZS4uMmFjYjczZTMyMyAxMDA2NDQNCj4gPiAtLS0gYS94ZW4vY29t
bW9uL3BhZ2VfYWxsb2MuYw0KPiA+ICsrKyBiL3hlbi9jb21tb24vcGFnZV9hbGxvYy5jDQo+ID4g
QEAgLTE1MTksNiArMTUxOSwyNiBAQCBzdGF0aWMgdm9pZCBmcmVlX2hlYXBfcGFnZXMoDQo+ID4g
ICAgICAgc3Bpbl91bmxvY2soJmhlYXBfbG9jayk7DQo+ID4gICB9DQo+ID4NCj4gPiArI2lmZGVm
IENPTkZJR19TVEFUSUNfTUVNT1JZDQo+ID4gKy8qIEVxdWl2YWxlbnQgb2YgZnJlZV9oZWFwX3Bh
Z2VzIHRvIGZyZWUgbnJfbWZucyBwYWdlcyBvZiBzdGF0aWMNCj4gPiArbWVtb3J5LiAqLyB2b2lk
IF9faW5pdCBmcmVlX3N0YXRpY21lbV9wYWdlcyhzdHJ1Y3QgcGFnZV9pbmZvICpwZywNCj4gdW5z
aWduZWQgbG9uZyBucl9tZm5zLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBib29sIG5lZWRfc2NydWIpIHsNCj4gPiArICAgIG1mbl90IG1mbiA9IHBhZ2VfdG9fbWZuKHBn
KTsNCj4gPiArICAgIHVuc2lnbmVkIGxvbmcgaTsNCj4gPiArDQo+ID4gKyAgICBmb3IgKCBpID0g
MDsgaSA8IG5yX21mbnM7IGkrKyApDQo+ID4gKyAgICB7DQo+ID4gKyAgICAgICAgbWFya19wYWdl
X2ZyZWUoJnBnW2ldLCBtZm5fYWRkKG1mbiwgaSkpOw0KPiA+ICsNCj4gPiArICAgICAgICBpZiAo
IG5lZWRfc2NydWIgKQ0KPiA+ICsgICAgICAgIHsNCj4gPiArICAgICAgICAgICAgLyogVE9ETzog
YXN5bmNocm9ub3VzIHNjcnViYmluZyBmb3IgcGFnZXMgb2Ygc3RhdGljIG1lbW9yeS4gKi8NCj4g
PiArICAgICAgICAgICAgc2NydWJfb25lX3BhZ2UocGcpOw0KPiA+ICsgICAgICAgIH0NCj4gPiAr
ICAgIH0NCj4gPiArfQ0KPiA+ICsjZW5kaWYNCj4gPg0KPiA+ICAgLyoNCj4gPiAgICAqIEZvbGxv
d2luZyBydWxlcyBhcHBsaWVkIGZvciBwYWdlIG9mZmxpbmU6DQo+ID4gZGlmZiAtLWdpdCBhL3hl
bi9pbmNsdWRlL3hlbi9tbS5oIGIveGVuL2luY2x1ZGUveGVuL21tLmggaW5kZXgNCj4gPiA2Njdm
OWRhYzgzLi44ZThmYjVhNjE1IDEwMDY0NA0KPiA+IC0tLSBhL3hlbi9pbmNsdWRlL3hlbi9tbS5o
DQo+ID4gKysrIGIveGVuL2luY2x1ZGUveGVuL21tLmgNCj4gPiBAQCAtODUsNiArODUsMTIgQEAg
Ym9vbCBzY3J1Yl9mcmVlX3BhZ2VzKHZvaWQpOw0KPiA+ICAgfSB3aGlsZSAoIGZhbHNlICkNCj4g
PiAgICNkZWZpbmUgRlJFRV9YRU5IRUFQX1BBR0UocCkgRlJFRV9YRU5IRUFQX1BBR0VTKHAsIDAp
DQo+ID4NCj4gPiArI2lmZGVmIENPTkZJR19TVEFUSUNfTUVNT1JZDQo+ID4gKy8qIFRoZXNlIGZ1
bmN0aW9ucyBhcmUgZm9yIHN0YXRpYyBtZW1vcnkgKi8gdm9pZA0KPiA+ICtmcmVlX3N0YXRpY21l
bV9wYWdlcyhzdHJ1Y3QgcGFnZV9pbmZvICpwZywgdW5zaWduZWQgbG9uZyBucl9tZm5zLA0KPiA+
ICsgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgbmVlZF9zY3J1Yik7ICNlbmRpZg0KPiA+
ICsNCj4gPiAgIC8qIE1hcCBtYWNoaW5lIHBhZ2UgcmFuZ2UgaW4gWGVuIHZpcnR1YWwgYWRkcmVz
cyBzcGFjZS4gKi8NCj4gPiAgIGludCBtYXBfcGFnZXNfdG9feGVuKA0KPiA+ICAgICAgIHVuc2ln
bmVkIGxvbmcgdmlydCwNCj4gPg0KPiANCj4gQ2hlZXJzLA0KPiANCj4gLS0NCg0KQ2hlZXJzDQoN
Ci0tDQo+IEp1bGllbiBHcmFsbA0K


From xen-devel-bounces@lists.xenproject.org Mon Aug 16 06:14:11 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 06:14:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167169.305120 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFVsx-00084I-Fg; Mon, 16 Aug 2021 06:14:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167169.305120; Mon, 16 Aug 2021 06: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 1mFVsx-00084B-Cl; Mon, 16 Aug 2021 06:14:11 +0000
Received: by outflank-mailman (input) for mailman id 167169;
 Mon, 16 Aug 2021 06:14:09 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eR/w=NH=arm.com=Penny.Zheng@srs-us1.protection.inumbo.net>)
 id 1mFVsv-000841-Ml
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 06:14:09 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com (unknown
 [40.107.7.54]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 29d29c9b-fe59-11eb-a442-12813bfff9fa;
 Mon, 16 Aug 2021 06:14:08 +0000 (UTC)
Received: from AM6P193CA0053.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:8e::30)
 by DB8PR08MB4121.eurprd08.prod.outlook.com (2603:10a6:10:aa::33) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13; Mon, 16 Aug
 2021 06:14:05 +0000
Received: from AM5EUR03FT025.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:8e:cafe::ea) by AM6P193CA0053.outlook.office365.com
 (2603:10a6:209:8e::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16 via Frontend
 Transport; Mon, 16 Aug 2021 06:14:04 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT025.mail.protection.outlook.com (10.152.16.157) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Mon, 16 Aug 2021 06:14:03 +0000
Received: ("Tessian outbound 19a632698c93:v103");
 Mon, 16 Aug 2021 06:14:03 +0000
Received: from 3c9255fd1332.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 55AF1D03-A290-4ACE-932D-9922C4D0B8C6.1; 
 Mon, 16 Aug 2021 06:13:53 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 3c9255fd1332.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 16 Aug 2021 06:13:53 +0000
Received: from VE1PR08MB5215.eurprd08.prod.outlook.com (2603:10a6:803:10a::33)
 by VE1PR08MB5581.eurprd08.prod.outlook.com (2603:10a6:800:1a0::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Mon, 16 Aug
 2021 06:13:50 +0000
Received: from VE1PR08MB5215.eurprd08.prod.outlook.com
 ([fe80::adf8:8d6f:2a30:b60c]) by VE1PR08MB5215.eurprd08.prod.outlook.com
 ([fe80::adf8:8d6f:2a30:b60c%5]) with mapi id 15.20.4415.022; Mon, 16 Aug 2021
 06:13: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: 29d29c9b-fe59-11eb-a442-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qWXZxKP2hXXx2vPbd/ZccMAN5SZaEqoQOhRfcZEnLQk=;
 b=35qQYV0dz3yTKB0C7uCqQnrO3N8qRODsJBTNiza4rTmNNC4N+H/9p3gN+E+Gx2eegvIWKTL0GvW2/JreGjeiEGwJQQlwExIPbXHqHqSfIkXArvZPiWKtseD2KUNi7rzD/g6ksLH8nN9G0B+OL3o4bF1ihmkQgU3i61RX+Ot+wuU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NMhcZBSWwxqN2JUwOEFfYK0ksVvjemsvy+7G7r6z70HigkMs47q2tMABxmKQhJRsBWYLIS/oL8kZ2g09BRGLkB7H3CMxY6NWHmGULpez4CVDknNugHdbaJujeSxyxSTjWJDJh+fTAjIP8Q8rzrkVCNuaLpbDZ84SywdMEp9kTSpbuB4JEQ7dojez+TYWZ1xcBE8CW40Lb2G52x3kvWgDAS3idt588vq+TqlZrpLVe5oYIO5YPbnCPqukQ3OHx3YOAX1Pf4B54Mdk76Xi0l7e5gmCWE6D/KcpKWWTwb0IgiQqxACQGYS6YCMZYRf4yD4uhCJzwvFv5rUD/C634Pmnkw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qWXZxKP2hXXx2vPbd/ZccMAN5SZaEqoQOhRfcZEnLQk=;
 b=OEprbh+C/MGy/ITntuUCVEOAX20qL+hRd1uzOLlFUw7wET7Qoi/iGU60z2+8B450G63HrFhbHAzNY4Ptj9n4Feu0rVZa7dfmmYF/th3yDuxTF3jnF7etB5WoHf7/TbsEGObi3pJeOV5cpEFUasMAUSBQInq8rhTw5ZkMbORZIFgsdAdc9V38iVym6836fgTki+PQMdz5M33NNlqtryiv4Z0Gdc/TUlyLcbh3j3oLkdWGPZ/SfsCYcn04WSdrWvNhMGDsD8EZTYJwil58r7/8EGMM7tTZecmGQqjmudUqxkKp2oUA41EPLvVEJfqg33BoWSATTQVOqqrVmS6ysq7CrQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qWXZxKP2hXXx2vPbd/ZccMAN5SZaEqoQOhRfcZEnLQk=;
 b=35qQYV0dz3yTKB0C7uCqQnrO3N8qRODsJBTNiza4rTmNNC4N+H/9p3gN+E+Gx2eegvIWKTL0GvW2/JreGjeiEGwJQQlwExIPbXHqHqSfIkXArvZPiWKtseD2KUNi7rzD/g6ksLH8nN9G0B+OL3o4bF1ihmkQgU3i61RX+Ot+wuU=
From: Penny Zheng <Penny.Zheng@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
	nd <nd@arm.com>
Subject: RE: [PATCH V4 06/10] xen/arm: introduce PGC_reserved
Thread-Topic: [PATCH V4 06/10] xen/arm: introduce PGC_reserved
Thread-Index: AQHXg5tYfiHwEiCVZ0Wdq3o73JubLqtxdE+AgARP/xA=
Date: Mon, 16 Aug 2021 06:13:50 +0000
Message-ID:
 <VE1PR08MB5215942EB423D8823B758E33F7FD9@VE1PR08MB5215.eurprd08.prod.outlook.com>
References: <20210728102758.3269446-1-penny.zheng@arm.com>
 <20210728102758.3269446-7-penny.zheng@arm.com>
 <cdccfb6b-33d9-b8cc-6efe-3828278f9b4c@xen.org>
In-Reply-To: <cdccfb6b-33d9-b8cc-6efe-3828278f9b4c@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: D31D02B108113C4FAD29CFC7B61ACEB7.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: e5f4f16c-7bc5-4913-f630-08d9607d0c12
x-ms-traffictypediagnostic: VE1PR08MB5581:|DB8PR08MB4121:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<DB8PR08MB4121ED578B52963B398A6BAEF7FD9@DB8PR08MB4121.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:3276;OLM:3276;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 hiu4zO0D9SztExV2L/3YK9XOBfkuNK9U1R+yjGS+ParqJMvAe0OKK6EhcUbeJ8soAbzWOc/vemiMNUABgLEyx055d79MG2g7qFmMpPO1fZZT5vd32MxCx1FXG8Pd1uni1Cdh/vV6xoASz0zz2VBU4tJ10uoqex58MF+VjEubDuiGI+5VemvkV1JKLzw07aYRS4UVghTgT6IQ/JgO4yhwkTZWtpq6K6no/WpM2cO6JPBmSesoUTVEc+qGPVNk5tn2ScvX5XGK4ERzTulW55CSAy1QccncvIb1RGj7R4YxhnPyxQox39XE9IPLA57KIVvixUAbYIe0yJTRHaF1TreTroUQzFXqRJRiF+1EPwBRH7j+6tBCRXx+rFzaUsvusX6RnWT8CSgQW4XnHS90uxpFyaq+wYpUjg7GYkWjg0CMdphxOU3HCT23pkJyCtmfWviD6DY+pRUzuFsCS4DQx4U+gXJHdQWswlAsn2Ri8F6IcTHmCwcFjEbhNVmNPvswn9XuM12LmteMg4YnF/x6G0lJ05rPqLNTPhq39ERwdXsXRuQvOl0nGONg+CDC99dXyYdGW22y1yxzicMGl9i8Ok4pMy65S1qYxmhN/MZ4xCc3MhxV6BGBrCk21ar1reWTQCXdAhnSEAHOTk2MFbAM+VP8JAqgOO6CQK7esEjTg8ucrTV1BAT2mk0l4ovbXcMfocBuRQm8zvnxcJ5Zrw4nrsKvcA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR08MB5215.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(376002)(366004)(396003)(346002)(136003)(39850400004)(55016002)(9686003)(122000001)(4326008)(38100700002)(5660300002)(4744005)(186003)(54906003)(26005)(52536014)(83380400001)(71200400001)(110136005)(76116006)(66946007)(2906002)(66556008)(64756008)(66446008)(38070700005)(6506007)(86362001)(53546011)(66476007)(8936002)(7696005)(8676002)(478600001)(316002)(33656002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?ZWVKVU9HTVF5bHRHVlNuS1NxYnRoZ3ZhcUtKeWM0U1lVd2thLzNLY200TDdT?=
 =?utf-8?B?S2twdS9CdWNCNjJIZnNQY0MyR2dkRmErdGEvaDcxdGhVcUFPbjRSbmtyVzFV?=
 =?utf-8?B?aUwzUXQ5cDA5Umh5QnpVbUpyNmE0Ym1NbDFmSlZlWmwyKzhleW1xbVNJR1M2?=
 =?utf-8?B?SVV5WGRJQUdnVWs0VDVyalg3b2RXdVpCVFp0VS9aZGZjNWQ0MGlIU2UwVk1T?=
 =?utf-8?B?TXZLeDB6c1UrVXBuVWNlTHBBVzh5cG4vNWg2Wjc1d1VDY0NDci9jdlhTc1dN?=
 =?utf-8?B?SWkrSnh3T2xmS1RLVEliQXhlMXlEWE5zbUExS2g4OXpTb3p6bSt2U1UvVHFX?=
 =?utf-8?B?RWpCNXU4R0pVLzBQdVFBZTVXcldKQWNrUGppVUdtWTUvTEROTGNGczdObEZy?=
 =?utf-8?B?VUpQYmZ1UlpDRHdVQ2dxa3lyay9XaE1xSTFsV1FqZDFhTnlDRnJad0NWQmlM?=
 =?utf-8?B?KzIwYnlIM1crOEpKRFpLeUszSkQzZDZMVE1PY0pJc2tFRkNOVzA2VVdvV1Nz?=
 =?utf-8?B?SWowV05zMTBHM0pxWmZTRno1Q05hNWVVLzhGYTNEK3o5T2tQWFNiVzRmVzd0?=
 =?utf-8?B?aXdIeEFoL0h0QVBBTjB1ZE52UXhUQ0g0T2pDRjB3eS9lZU1iWHAvd01PWU1R?=
 =?utf-8?B?T3g3dUtKSnpxYVF5V21pTTFrWDhpT1E1NWdiYjZnQWYrNXBzSS8xMTArRnJl?=
 =?utf-8?B?eFNuYTZDUlp4SkgyU3ZFalA4VW1SR0FRRGVCK2NWSmVCTmNwMW14SlRVdTY0?=
 =?utf-8?B?VE9PTm1DRjYycG9aUHVNdFIwT0NSaWg1RGt3cHp6Q2pwL0lvTjJ6RFdBTzNQ?=
 =?utf-8?B?ZjFYQlFrdVZGM2pmL1ZPME4rdFVHQ0tKZkFTbnV1TGdLb25vTkRJbXNzcHpW?=
 =?utf-8?B?MVp1T25WNGEyNFVvVUNZNit5Mm1WVzAwT3lhTGxaOUxXRVlVU1p4Y0FYcUJC?=
 =?utf-8?B?YzJNTVBqUTZXV1pXelFCWlc5TThSVXdHeTJ2U3Z5dEdXR00yVHA5ZEk4Nzg1?=
 =?utf-8?B?RTBMT3FyalgycUlBSXg3WXpQeG9lMFFSWU5aS1JNUHB3M1BsdG9ZcFU1c21S?=
 =?utf-8?B?elI2ZHV3SHRLeFNGc21xTFI5MHhxVDdLNEp0Y1lBOWZQbkN6a1JBdjB0YWR5?=
 =?utf-8?B?REtBZmJMMEVsR0VFc3huTHhFelUvWkl2elJpakE5RzBVR1BzYk9ZSndlbnoz?=
 =?utf-8?B?MjVDUVJ3b1ZwcEI1NGZHaXd1My9CK1d1N05lOUJiQ1B6RGRJeDRqU09USjdr?=
 =?utf-8?B?N2JVUjlhUGlHYks1Y0ZSWGd5YUdGSnA3eDB6dVh6QkpSOWtmeTd3ZjgrVGpZ?=
 =?utf-8?B?MmM0S2JpcXJmUmk4cndMRWFqRkhFVXQzVnEyckplVUxMNGl4eU1HT3FBMXQ5?=
 =?utf-8?B?aEhtTmR1cGlUbG04VDJmTVR6aWNJZUl3T0Z6T3N3N2NwR21QQzJXeng1Znps?=
 =?utf-8?B?NFZ0OHYrZjR3cS9UZ3hSckxubFVzdVk1bHoxUzBFMlpFWEloMU5FcFpCR21M?=
 =?utf-8?B?N2x3OWUwdlY3TjNSUFhubE44Z01GWWEvMDRwazlRMVBWajNGOUo1MXVJd05t?=
 =?utf-8?B?QVlsaUF3cUwvd1oxNWFJY3hGUG80QmhoK0N6QmtkalczNHoyQ1ZQZXdKc3lp?=
 =?utf-8?B?RXYzQVMwMGFVdHRmc2ZZRE5ISUV3cktPR0NJekcwTENCVVJxKzJiWXJUNzVm?=
 =?utf-8?B?Ty9FMGpFMndqdE5TSit3SlN4VkxiNFRHajdZdUFJbXRGTHNtTk14Q1ZVZkh5?=
 =?utf-8?Q?P8Qe4uZpWPnrbhAscff3jU/RRlMwdjOArv/Unln?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5581
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT025.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	2fbe8de0-9004-477b-8504-08d9607d0444
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	wtWoXnt1Pk4OXRn6DCKzxVFg1ncBP8BWFW19Ku/iqoOIfBLxuZZVR4uu2qGdgIp64LNhSdJWVHHsUekFyOcR/SG6x+NFNDNq2tJEuaYuP82FcbHGM5ctnEhQ00Z8knuu5ctsmxFxp58q9CzF4nIjZ0hXf4k6M/b72pQst/A8Ty9WmzXTzKNZEJbMPFQM6ePNzo2qjZDB+O8i1GZ7zzatXmTOyZHyzDMg5pL2CDkFM/udzmC6SuNtqiz/MVsr4l9BZo+Gg5pUHGoT1/fbMUJ5Xcl6JM4MsBp5aYVuVTpoDabH9XtLP4kz6ibDUx1I3MjsJb5ue179R71qChn+aBb4KHfFUmI7uXCFte3KFa7zpD5lr33VQgYTCm4Kt/GZ1eMc52FbMHUIXAgr6vjDZXnvs/yCPk9hfcphIbBDPVRGVLtxaFK/zjZ4yU/oM0bRoEZcOGU2nZh2SWANC9zLrnC6qTiG64i/wy5T8usCntEaRP/MtzOs7URySFOajWcxp/8OiOwWwiGRTnZog2JCvywcGCqOS7P+RWPoTjhDkN6cAH3konGF+7Hi9N1dkzceF202LM+oL8b2WNlrErCsHt7djGiWhegzME50qxQj9LnzhvDnNnMDVag6REfcZBwrCKut6WAYklwooWgC0/l8ct6U3+mAVSP7MSqXn2aun3kyxhEbal71BOp/nGDwOmYfFV4VR0GIg1kdwLoJTEwcPjHqZg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(346002)(396003)(376002)(39830400003)(36840700001)(46966006)(81166007)(356005)(8936002)(86362001)(26005)(2906002)(70206006)(70586007)(5660300002)(36860700001)(336012)(47076005)(55016002)(4744005)(9686003)(110136005)(186003)(33656002)(8676002)(7696005)(82310400003)(54906003)(4326008)(6506007)(83380400001)(508600001)(52536014)(53546011);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2021 06:14:03.8794
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e5f4f16c-7bc5-4913-f630-08d9607d0c12
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT025.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB4121

SGkgSnVsaWVuDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSnVsaWVu
IEdyYWxsIDxqdWxpZW5AeGVuLm9yZz4NCj4gU2VudDogRnJpZGF5LCBBdWd1c3QgMTMsIDIwMjEg
ODoyMiBQTQ0KPiBUbzogUGVubnkgWmhlbmcgPFBlbm55LlpoZW5nQGFybS5jb20+OyB4ZW4tZGV2
ZWxAbGlzdHMueGVucHJvamVjdC5vcmc7DQo+IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmcNCj4gQ2M6
IEJlcnRyYW5kIE1hcnF1aXMgPEJlcnRyYW5kLk1hcnF1aXNAYXJtLmNvbT47IFdlaSBDaGVuDQo+
IDxXZWkuQ2hlbkBhcm0uY29tPjsgbmQgPG5kQGFybS5jb20+DQo+IFN1YmplY3Q6IFJlOiBbUEFU
Q0ggVjQgMDYvMTBdIHhlbi9hcm06IGludHJvZHVjZSBQR0NfcmVzZXJ2ZWQNCj4gDQo+IEhpIFBl
bm55LA0KPiANCj4gT24gMjgvMDcvMjAyMSAxMToyNywgUGVubnkgWmhlbmcgd3JvdGU6DQo+ID4g
VGhpcyBwYXRjaCBpbnRyb2R1Y2VzIGEgbmV3IHBhZ2UgZmxhZyBQR0NfcmVzZXJ2ZWQgaW4gb3Jk
ZXIgdG8NCj4gPiBkaWZmZXJlbnRpYXRlIHBhZ2VzIG9mIHN0YXRpYyBtZW1vcnkgZnJvbSB0aG9z
ZSBhbGxvY2F0ZWQgZnJvbSBoZWFwLg0KPiA+DQo+ID4gTWFyayBwYWdlcyBvZiBzdGF0aWMgbWVt
b3J5IFBHQ19yZXNlcnZlZCB3aGVuIGluaXRpYWxpemluZyB0aGVtLg0KPiA+DQo+ID4gU2lnbmVk
LW9mZi1ieTogUGVubnkgWmhlbmcgPHBlbm55LnpoZW5nQGFybS5jb20+DQo+IA0KPiBJIHRoaW5r
IHRoaXMgd2FudCB0byBiZSBmb2xkZWQgaW4gcGF0Y2ggIzcuDQo+IA0KDQpPay4gV2lsbCBkby4N
Cg0KPiBDaGVlcnMsDQo+IA0KPiAtLQ0KDQpDaGVlcnMsDQoNCi0tDQpQZW5ueSBaaGVuZw0KDQo+
IEp1bGllbiBHcmFsbA0K


From xen-devel-bounces@lists.xenproject.org Mon Aug 16 06:44:07 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 06:44:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167176.305131 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFWLg-0002ra-Uc; Mon, 16 Aug 2021 06:43:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167176.305131; Mon, 16 Aug 2021 06:43:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFWLg-0002rT-RQ; Mon, 16 Aug 2021 06:43:52 +0000
Received: by outflank-mailman (input) for mailman id 167176;
 Mon, 16 Aug 2021 06:43:52 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eR/w=NH=arm.com=Penny.Zheng@srs-us1.protection.inumbo.net>)
 id 1mFWLg-0002rN-7r
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 06:43:52 +0000
Received: from EUR03-DB5-obe.outbound.protection.outlook.com (unknown
 [40.107.4.83]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 58fcd4c7-208d-450d-9518-3a65e2ba8104;
 Mon, 16 Aug 2021 06:43:48 +0000 (UTC)
Received: from DB9PR02CA0028.eurprd02.prod.outlook.com (2603:10a6:10:1d9::33)
 by HE1PR0802MB2602.eurprd08.prod.outlook.com (2603:10a6:3:e2::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Mon, 16 Aug
 2021 06:43:37 +0000
Received: from DB5EUR03FT036.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:1d9:cafe::b) by DB9PR02CA0028.outlook.office365.com
 (2603:10a6:10:1d9::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.14 via Frontend
 Transport; Mon, 16 Aug 2021 06:43:36 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT036.mail.protection.outlook.com (10.152.20.185) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Mon, 16 Aug 2021 06:43:36 +0000
Received: ("Tessian outbound 8b41f5fb4e9e:v103");
 Mon, 16 Aug 2021 06:43:36 +0000
Received: from 4983fe3d8bb0.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 4F74E513-D5C4-4317-A1D2-551CCE3E6F8A.1; 
 Mon, 16 Aug 2021 06:43:30 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 4983fe3d8bb0.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 16 Aug 2021 06:43:30 +0000
Received: from VE1PR08MB5215.eurprd08.prod.outlook.com (2603:10a6:803:10a::33)
 by VE1PR08MB5806.eurprd08.prod.outlook.com (2603:10a6:800:1b1::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16; Mon, 16 Aug
 2021 06:43:29 +0000
Received: from VE1PR08MB5215.eurprd08.prod.outlook.com
 ([fe80::adf8:8d6f:2a30:b60c]) by VE1PR08MB5215.eurprd08.prod.outlook.com
 ([fe80::adf8:8d6f:2a30:b60c%5]) with mapi id 15.20.4415.022; Mon, 16 Aug 2021
 06: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: 58fcd4c7-208d-450d-9518-3a65e2ba8104
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=p0gzLnJRj+X762S8bPc9YNkS3+2ndBlKfd4BotdaZzU=;
 b=AXm6XWbiJliN0a2G5VGgxKRf09k03yYAGmURbHDZCGd8b4nZD5tvfpVLxufxZtlpMolu/ZSrBfLNgYpjJVRiQg/X3KfDHjQG6T04JhaM81ZpZZeG15s/OqazkjxofGz3eQ7B0JlavchOzOUHUqJyFZEmNZX0L8UwVlm0xEXOyBI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TRPD65OYc9JkI3pthXYudcnSyRdSLUYxnShP7FHRPSYv90g3rjApTHwz1yCJvBFYEQAQ9Lyb75zdhCIwfEoA6yB9S26t840RMkgJvIh17cZIK0Z6z/J0OHlxKEjAw3S4HR3hy/O1az8uDwb83N8GLM2QJuSwBo0vyoNd4YF48uoUKsyfeWTy3PTaeAB8HIcp9pl9gtBt5RzJ8cO80gyluFE6aTDJgSjLtLqmm60KvUA3STKpTdy/OcuBykNQxvHNyVDfl3kiXYnG7QDT1WGAZstDJnV+a06CtpQx1gQLP6PHVyENZyyr/Boe4GybsEsL2gCC93nWwHzTeQ/3p4ZBJA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=p0gzLnJRj+X762S8bPc9YNkS3+2ndBlKfd4BotdaZzU=;
 b=GBAzrm4S2oF703PIe80SEgEimSJfxCwVQsuZgyz4enkfPDj+6dvydIV/IT0NnR8CQ+gE4KK6+q8lPlylG20STwR/ux2VW2264Jv/xhk3igrPHUmE9UdX/41OpNefLJugej8QyQZ8AldslaTATOkoSyi0S4UgX00DhHLCQ015VBumHWGtp3ltnRiz2BFOPjbpxr5lOPE0aL2L5trXRzTk8Sc6DxQ1ja9mO2sZUMRsH2tzFcenByWRYsvkVeAHhP0OL16p2udMqRMudC0u3ZXGeGI/WnLnILYlYTz+tcOz21KDqS25jwmI8dbYVBHIoSK/glVAvF/JNktU7CJl9iZcNA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=p0gzLnJRj+X762S8bPc9YNkS3+2ndBlKfd4BotdaZzU=;
 b=AXm6XWbiJliN0a2G5VGgxKRf09k03yYAGmURbHDZCGd8b4nZD5tvfpVLxufxZtlpMolu/ZSrBfLNgYpjJVRiQg/X3KfDHjQG6T04JhaM81ZpZZeG15s/OqazkjxofGz3eQ7B0JlavchOzOUHUqJyFZEmNZX0L8UwVlm0xEXOyBI=
From: Penny Zheng <Penny.Zheng@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
	nd <nd@arm.com>
Subject: RE: [PATCH V4 08/10] xen/arm: introduce acquire_staticmem_pages and
 acquire_domstatic_pages
Thread-Topic: [PATCH V4 08/10] xen/arm: introduce acquire_staticmem_pages and
 acquire_domstatic_pages
Thread-Index: AQHXg5tbU50GA1cFbUmCTz4Yb/U8oatxfxqAgARG2HA=
Date: Mon, 16 Aug 2021 06:43:29 +0000
Message-ID:
 <VE1PR08MB5215022EC0300A85B0017EEFF7FD9@VE1PR08MB5215.eurprd08.prod.outlook.com>
References: <20210728102758.3269446-1-penny.zheng@arm.com>
 <20210728102758.3269446-9-penny.zheng@arm.com>
 <611fc504-c866-647e-01f3-0614238c3aca@xen.org>
In-Reply-To: <611fc504-c866-647e-01f3-0614238c3aca@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: E44CEE2E5941854E90C9589E03DF745C.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 9b97f086-6828-4f5f-63a0-08d960812c9d
x-ms-traffictypediagnostic: VE1PR08MB5806:|HE1PR0802MB2602:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<HE1PR0802MB2602D0D4E582F7016E41DD6DF7FD9@HE1PR0802MB2602.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:8273;OLM:8273;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 uYCsUqpcCQ6bVqiCA3u1VlU7zP1qvhtubWZJ21O1s3Yk42vw8FefEsG+SNajc89pGDf/nUVuaVWSMeWWhCaIIec+qBs3oSA4Nb0LVzjkj9enTA/cXguhJTwunFVi/NKZ4I9GkSvoqpycVR9atMWMJQG2w4ZQyMUkzpFjeKUQhKdffVsKnAbefmR9O1GS5LRsiDQNuHercORDDHnW13GdpnAn480+7/VOILbMLqCPmh0x+fVG/c8dKFOg1QSRho8n3jODIhrUT76grV3dBUNpIOLZQNGr+FyYxTDIcDKf0+il+C7pSS2rB8MQC9NWpBcpT/Nigw754vzMrucXje8Tl3uZWgNcZgruv3M4LaaR8ilu09RIMcEfZtbdOY3V7Q3Z2LTPduhJhGNpgl090Uy7397EqRqjNcYIWMmuXYN/Zq91GKzzKqFtWygt/aBZZPyPWyYdn8YKRxnKFd8RDK/VzVPIxvzVJHcO6SWOiQgsTqhKHIXvLO4vGkDwc5Fgd1Z9vG1Et86S2+D1vshCwVUbdiet5IpQWhhJWq+AmEZaGZxhxuYmbiga+8B8Q1BNx0iIy5DQhN3xhNPxgCMwPBKFzyhOZXJFtlJ7dRcySDMqW611oj9o9GUlZZBh1krENTgi9N0iLI/xhyF+UGYNk7M/2yY3z0EtEtlpgPjcQBUJ62rQMktxIunSD1jdzFdQ4DAKWW5F757ZeFOrk1rMVWgaXA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR08MB5215.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(376002)(396003)(136003)(366004)(39850400004)(346002)(66446008)(186003)(26005)(4326008)(71200400001)(5660300002)(316002)(2906002)(83380400001)(66476007)(54906003)(86362001)(110136005)(52536014)(66946007)(7696005)(8936002)(478600001)(38100700002)(122000001)(66556008)(9686003)(33656002)(64756008)(76116006)(53546011)(55016002)(8676002)(6506007)(38070700005);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?RGJmOHpGYmVHRk5PTS9mU2FJSUtlT3hBTUY4RUROdHREN3ovVUQ2dWlwaUp2?=
 =?utf-8?B?MDE4OEtzeUdwZzRoQytSTXVqT2t2U3FiRVZRUzJzQjM1cy9NT2NIbEJqbHFs?=
 =?utf-8?B?Y3VMOWJXVERZTkE4bUJxU0NEam9uZWdYTXVFMzdHTTZBNHppSkZiZHJCSmZQ?=
 =?utf-8?B?M2dtengxTWlKM2E2Q3MyVW95Ujh1eFAvYW1PUVROQk5hMEhYSjBWbVJKdVVy?=
 =?utf-8?B?Qjl1Nk5VS21LUzV0MXIrS3h6aU9MaDE1aHRIZDFsMS8vSkNNazRQbDRPdnhV?=
 =?utf-8?B?MmdUUmpWRGZzQi9RR2lBcHRzMHlLMmY1Y1lTSDVDZ3o1SXdGazFYS1RUd3Zz?=
 =?utf-8?B?eHRmd2hrNHVNV21qYUk3MVJ5bHFmVkkwSkN6eXB2Zi8zRmdYazRhc2tjUXNk?=
 =?utf-8?B?T1lHMmlWbThheGdTcVZDNFVsRXAxTlBGcWRycGdFakRnSzVEUnJudGlkVTRs?=
 =?utf-8?B?QlJFblhnR2JwVU9Hbi9wUG9aMUFiMzVMajlDNWdYaW1GZ2JreGJHMEs0NGVU?=
 =?utf-8?B?WHdlL0pSbkt4dHRxL3FNd2dEZHBRTHdtdGRsMS9iTG1URmt1bUpSM3AwRGNE?=
 =?utf-8?B?azdFUDdrOGk5dGpNbDBjeDdwUkcrbXpjWU5OT2dDT3hjQURTS3QwSVZ4Zk5K?=
 =?utf-8?B?VDJLdmRvVW5qVys2RU9pRTN0d1FqSm1ZblhFSHhzUnR2d3Z5NjJxeTY2azFG?=
 =?utf-8?B?ZlZmekVyY0JUTkkyMko4cDZvd1Q2TzBJUFY5TFNLZTBBUXUvUURMVUlHSkhE?=
 =?utf-8?B?ZGtDL0Nqei94ZWJnZTJGenZYaVQwZTEzV2EzY1haQWZDNTBNQllFelBaUUZT?=
 =?utf-8?B?TEwweEZha1VuTk5MNnFIcW03N0d1WnUxc3VsUnR4cEJHZGV3WitqTWtsOVZI?=
 =?utf-8?B?S0FNSlV5TXN5OUFYT3FCYklhQzBrZzkyS2tTRmxMbUMrbWp4NmttcmNkeG14?=
 =?utf-8?B?c0NmaEFmQlJmdUZza1RaMzZVUnJVcXgzTUdaeXdZd1FsWnN6WXVtbjVxUzVX?=
 =?utf-8?B?VzNKY3lXYlBuR1pJZVl1VjA1OEdhNkl6azhmQlRVZm5uWlNlOWVPZU0rMFdn?=
 =?utf-8?B?ekdHT0E1L2gzWnlzeXZiSzZTU0F0QWRzL3l5QnBrTndxZlFVWklUQXdzaWxv?=
 =?utf-8?B?clpBT2V0YUdERjE5bXZ2M1drZ0V5Z3RENGgreUxrczU0blhCd2NmdnhBNURy?=
 =?utf-8?B?MHp2Q0ZzMEk4RXAxenZFaUw2d0pPNlJOelk3bVlDS3BEM1pjSys3MU1jN0ov?=
 =?utf-8?B?dTZTekg3bzI5T2ZiUEppNDNOVFBuQ2Y3OXlZSU5wTzRQNlRDbzN3TzZPSFMy?=
 =?utf-8?B?SVhxYTRLRW9McHVYcHFLRm1WMXF3SzFiNjROQWpDMC9kTkZJM2x1YXpBOUZO?=
 =?utf-8?B?dWhvbk9LZFhKTUs3L0dKaEcyZURPS1RUWG82bWwwd3JrNzRCdjMreEVpdWlR?=
 =?utf-8?B?akI2VTEwMGJGVDAzZ2I0U0x6b0d3U3pRRjMyeEhWYW80bk4xM2VpOWRjaEtw?=
 =?utf-8?B?LzgwMHI2TG9vMWIzZXhlZWtVSHZZOXczcUFWVWJZdlNGS21mYU4rTmVpa0Nx?=
 =?utf-8?B?UUJ5a2xhMWx1UWJXL0d6L24vUmhxUkNLWXR5SkJSRjlYYjEvMHFUdVhQNzdG?=
 =?utf-8?B?RGhVR3VoZm5nYXBYWjZEcjJjeHMySHJLa2ZqemRPbzVQMFdHMnVNWmVXZnFy?=
 =?utf-8?B?cU5GcHRKM2U3QmRsYURGbVJIbWMzNlk2enlncmI1alg3ZFFkMU5JUTNxSkZt?=
 =?utf-8?Q?18EfRhtCVJGZRvPEANzGcjFWjQz6EhY3iuyQm6C?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5806
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT036.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	3f01c992-17e1-4063-338d-08d960812850
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	p8Sen+1aDmwJSIJyRqAZ0+8sxooopeUIlf6cjouFhdp0UcCnAXIauBPjsou20hbVh4T+aN75GTGoggCukzltUe6JepE99dDVVXacgx+HMoCXp31q4H0QlZlpp1KO9mxilLCGLzyFkDj1agRYx7IVpDh3nTuej7StIwSCaX2atyyEDd/DnkYs6oXSahCjPLRryZW1TgKE5eKFtU42bDkrvoqWhjvAJOh44rHWPfsC39H4MLswv70I+MKoYjc028MkpIgRCh9y6Ap8CG+H+PYKlHcH1dJV335QFdHNXY9u4uv8JbcjRa8f1Cptqnl3M3oFWtZaFTtJTHVAjwHCdLbFYQT/EGAliV9+3wz9lgE1Rj73LYuygQ1ptG9L2A5Z9LthcMqZs6GKQyZZml6tnRlaDRbtKyy61h3kB7tJ8VGQnJeKl6LcZut2fxOIDHTAFud3mmxs233W9+V3hhEfaIar6h9FvjILHQ8T9eWeJaAfyUYWjDOMwQL3KwfxH+6mFo6T3+t+ts0BdPPrugYtlW65HqV2D0FxkXqGLtzqWYH7yo1N2lDtmDDhoq52YGFtSKV2e4hbgMo4IzFECCS+pimePkpjkTu4IISrJyjG6JPaymJIqqYvmIpOl7G+VPypKo+mf98q86HEPFDv3o9BJc7ucvULYqfwk9ff24Sa6UNkmU2a+HUTngdlW2rzrALAbLV//eRsjUThCKLVr8wvucYX3w==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(136003)(346002)(376002)(396003)(39840400004)(46966006)(36840700001)(55016002)(336012)(82310400003)(52536014)(7696005)(5660300002)(6506007)(53546011)(2906002)(186003)(36860700001)(70586007)(9686003)(26005)(70206006)(4326008)(316002)(81166007)(86362001)(47076005)(356005)(33656002)(478600001)(110136005)(54906003)(8676002)(8936002)(83380400001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2021 06:43:36.5105
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9b97f086-6828-4f5f-63a0-08d960812c9d
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT036.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0802MB2602

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IEZyaWRheSwgQXVndXN0IDEzLCAyMDIx
IDk6MDAgUE0NCj4gVG86IFBlbm55IFpoZW5nIDxQZW5ueS5aaGVuZ0Bhcm0uY29tPjsgeGVuLWRl
dmVsQGxpc3RzLnhlbnByb2plY3Qub3JnOw0KPiBzc3RhYmVsbGluaUBrZXJuZWwub3JnDQo+IENj
OiBCZXJ0cmFuZCBNYXJxdWlzIDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+OyBXZWkgQ2hlbg0K
PiA8V2VpLkNoZW5AYXJtLmNvbT47IG5kIDxuZEBhcm0uY29tPg0KPiBTdWJqZWN0OiBSZTogW1BB
VENIIFY0IDA4LzEwXSB4ZW4vYXJtOiBpbnRyb2R1Y2UgYWNxdWlyZV9zdGF0aWNtZW1fcGFnZXMN
Cj4gYW5kIGFjcXVpcmVfZG9tc3RhdGljX3BhZ2VzDQo+IA0KPiBIaSBQZW5ueSwNCj4gDQo+IE9u
IDI4LzA3LzIwMjEgMTE6MjcsIFBlbm55IFpoZW5nIHdyb3RlOg0KPiA+IGFsbG9jX3N0YXRpY21l
bV9wYWdlcyBhaW1zIHRvIGFjcXVpcmUgbnJfbWZucyBjb250aWd1b3VzIHBhZ2VzIG9mDQo+ID4g
c3RhdGljIG1lbW9yeS4gQW5kIGl0IGlzIHRoZSBlcXVpdmFsZW50IG9mIGFsbG9jX2hlYXBfcGFn
ZXMgZm9yIHN0YXRpYw0KPiA+IG1lbW9yeS4gSGVyZSBvbmx5IGNvdmVycyBhY3F1aXJpbmcgcHJl
LWNvbmZpZ3VyZWQgc3RhdGljIG1lbW9yeS4NCj4gPg0KPiA+IEZvciBlYWNoIHBhZ2UsIGl0IHNo
YWxsIGNoZWNrIGlmIHRoZSBwYWdlIGlzIHJlc2VydmVkKFBHQ19yZXNlcnZlZCkNCj4gPiBhbmQg
ZnJlZS4gSXQgc2hhbGwgYWxzbyBkbyBhIHNldCBvZiBuZWNlc3NhcnkgaW5pdGlhbGl6YXRpb24s
IHdoaWNoDQo+ID4gYXJlIG1vc3RseSB0aGUgc2FtZSBvbmVzIGluIGFsbG9jX2hlYXBfcGFnZXMs
IGxpa2UsIGZvbGxvd2luZyB0aGUgc2FtZQ0KPiA+IGNhY2hlLWNvaGVyZW5jeSBwb2xpY3kgYW5k
IHR1cm5pbmcgcGFnZSBzdGF0dXMgaW50byBQR0Nfc3RhdGVfaW51c2UsIGV0Yy4NCj4gPg0KPiA+
IGFjcXVpcmVfZG9tc3RhdGljX3BhZ2VzIGlzIHRoZSBlcXVpdmFsZW50IG9mIGFsbG9jX2RvbWhl
YXBfcGFnZXMgZm9yDQo+ID4gc3RhdGljIG1lbW9yeSwgYW5kIGl0IGlzIHRvIGFjcXVpcmUgbnJf
bWZucyBjb250aWd1b3VzIHBhZ2VzIG9mIHN0YXRpYw0KPiA+IG1lbW9yeSBhbmQgYXNzaWduIHRo
ZW0gdG8gb25lIHNwZWNpZmljIGRvbWFpbi4NCj4gPg0KPiA+IEl0IHVzZXMgYWNxdWlyZV9zdGF0
aWNtZW1fcGFnZXMgdG8gYWNxdWlyZSBucl9tZm5zIHByZS1jb25maWd1cmVkDQo+ID4gcGFnZXMg
b2Ygc3RhdGljIG1lbW9yeSwgdGhlbiBvbiBzdWNjZXNzLCBpdCB3aWxsIHVzZSBhc3NpZ25fcGFn
ZXMgdG8NCj4gPiBhc3NpZ24gdGhvc2UgcGFnZXMgdG8gb25lIHNwZWNpZmljIGRvbWFpbi4NCj4g
Pg0KPiA+IFNpZ25lZC1vZmYtYnk6IFBlbm55IFpoZW5nIDxwZW5ueS56aGVuZ0Bhcm0uY29tPg0K
PiA+IC0tLQ0KPiA+IHY0IGNoYW5nZToNCj4gPiAtIG1vdmluZyB0bGIvY2FjaGUgZmx1c2ggb3V0
c2lkZSBvZiB0aGUgbG9ja2VkIHJlZ2lvbiwgY29uc2lkZXJpbmcNCj4gPiBYU0EtMzY0IGFuZCBy
ZWR1Y2luZyB0aGUgYW1vdW50IG9mIHdvcmsgaGFwcGVuaW5nIHdpdGggdGhlIGhlYXBfbG9jaw0K
PiA+IGhlbGQNCj4gPiAtIHJlbW92ZSBNRU1GX25vX3JlZmNvdW50IGNhc2UNCj4gPiAtIG1ha2Ug
YWNxdWlyZV9zdGF0aWNtZW1fcGFnZXMvYWNxdWlyZV9kb21zdGF0aWNfcGFnZXMgYmVpbmcgX19p
bml0DQo+ID4gLS0tDQo+ID4gICB4ZW4vY29tbW9uL3BhZ2VfYWxsb2MuYyB8IDEwOA0KPiArKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystDQo+ID4gICB4ZW4vaW5jbHVkZS94
ZW4vbW0uaCAgICB8ICAgMyArKw0KPiA+ICAgMiBmaWxlcyBjaGFuZ2VkLCAxMDkgaW5zZXJ0aW9u
cygrKSwgMiBkZWxldGlvbnMoLSkNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS94ZW4vY29tbW9uL3Bh
Z2VfYWxsb2MuYyBiL3hlbi9jb21tb24vcGFnZV9hbGxvYy5jIGluZGV4DQo+ID4gZTI3OWM2Zjcx
My4uYjBlZGFmMTJiMyAxMDA2NDQNCj4gPiAtLS0gYS94ZW4vY29tbW9uL3BhZ2VfYWxsb2MuYw0K
PiA+ICsrKyBiL3hlbi9jb21tb24vcGFnZV9hbGxvYy5jDQo+ID4gQEAgLTE1MSw2ICsxNTEsMTAg
QEANCj4gPiAgICNkZWZpbmUgcDJtX3BvZF9vZmZsaW5lX29yX2Jyb2tlbl9yZXBsYWNlKHBnKSBC
VUdfT04ocGcgIT0gTlVMTCkNCj4gPiAgICNlbmRpZg0KPiA+DQo+ID4gKyNpZm5kZWYgQ09ORklH
X1NUQVRJQ19NRU1PUlkNCj4gPiArI2RlZmluZSBQR0NfcmVzZXJ2ZWQgMA0KPiA+ICsjZW5kaWYN
Cj4gPiArDQo+ID4gICAvKg0KPiA+ICAgICogQ29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgaGV4YWRl
Y2ltYWwgcGFnZSBudW1iZXJzIGNvbnRhaW5pbmcgYmFkDQo+IGJ5dGVzLg0KPiA+ICAgICogZS5n
LiAnYmFkcGFnZT0weDNmNDUsMHg4YTMyMScuDQo+ID4gQEAgLTEwNjUsNiArMTA2OSw3MyBAQCBz
dGF0aWMgc3RydWN0IHBhZ2VfaW5mbyAqYWxsb2NfaGVhcF9wYWdlcygNCj4gPiAgICAgICByZXR1
cm4gcGc7DQo+ID4gICB9DQo+ID4NCj4gPiArI2lmZGVmIENPTkZJR19TVEFUSUNfTUVNT1JZDQo+
IA0KPiBSYXRoZXIgdGhhbiBoYXZpbmcgbXVsdGlwbGUgI2lmZGVmIGluIHRoZSBjb2RlLiBDb3Vs
ZCB3ZSBidW5kbGUgYWxsIHRoZQ0KPiBmdW5jdGlvbnMgZm9yIHN0YXRpYyBhbGxvY2F0aW9uIGlu
IGEgc2luZ2xlIHBsYWNlPw0KPiANCg0KU3VyZS4gSSdsbCByZW9yZ2FuaXplIHRoZW0uIA0KDQo+
ID4gKy8qDQo+ID4gKyAqIEFjcXVpcmUgbnJfbWZucyBjb250aWd1b3VzIHJlc2VydmVkIHBhZ2Vz
LCBzdGFydGluZyBhdCAjc21mbiwgb2YNCj4gPiArICogc3RhdGljIG1lbW9yeS4NCj4gPiArICov
DQo+ID4gK3N0YXRpYyBzdHJ1Y3QgcGFnZV9pbmZvICogX19pbml0IGFjcXVpcmVfc3RhdGljbWVt
X3BhZ2VzKHVuc2lnbmVkIGxvbmcNCj4gbnJfbWZucywNCj4gPiArICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWZuX3Qgc21mbiwNCj4gPiAr
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5zaWduZWQgaW50DQo+ID4gK21lbWZsYWdzKQ0KPiANCj4gTklUOiBJIGZpbmQgbW9yZSBpbnR1
aXRpdmUgaWYgd2UgcGFzcyB0aGUgc3RhcnQgTUZOIGZpcnN0IGFuZCB0aGVuIHRoZSBudW1iZXIg
b2YNCj4gcGFnZXMuIFNvIHRoaXMgY2FuIGJlIHNlZW4gYXMgYSByYW5nZS4NCj4gDQo+IElmIHlv
dSBhZ3JlZSB3aXRoIHRoYXQsIHRoZW4gdGhlIGNhbGxlciB3b3VsZCBhbHNvIGhhdmUgdG8gYmUg
Y2hhbmdlZC4NCj4gDQoNClN1cmUsIGl0J3MgbW9yZSBjbGVhciBpbiB5b3VyIHdheS4NCg0KPiA+
ICt7DQo+ID4gKyAgICBib29sIG5lZWRfdGxiZmx1c2ggPSBmYWxzZTsNCj4gPiArICAgIHVpbnQz
Ml90IHRsYmZsdXNoX3RpbWVzdGFtcCA9IDA7DQo+ID4gKyAgICB1bnNpZ25lZCBsb25nIGk7DQo+
ID4gKyAgICBzdHJ1Y3QgcGFnZV9pbmZvICpwZzsNCj4gPiArDQo+ID4gKyAgICAvKiBGb3Igbm93
LCBpdCBvbmx5IHN1cHBvcnRzIHByZS1jb25maWd1cmVkIHN0YXRpYyBtZW1vcnkuICovDQo+IA0K
PiBUaGlzIGNvbW1lbnQgZG9lc24ndCBzZWVtIHRvIG1hdGNoIHRoZSBjaGVjayBiZWxvdy4NCj4g
DQo+ID4gKyAgICBpZiAoICFtZm5fdmFsaWQoc21mbikgfHwgIW5yX21mbnMgKQ0KPiANCj4gVGhp
cyBjaGVjayBvbmx5IGd1YXJhbnRlZXMgdGhhdCB0aGVyZSB3aWxsIGJlIGEgcGFnZSBmb3IgdGhl
IGZpcnN0IE1GTi4NCj4gU2hvdWxkbid0IHdlIGFsc28gY2hlY2sgZm9yIHRoZSBvdGhlciBNRk5z
Pw0KPiANCg0KSG1tLCBEbyB5b3UgdGhpbmsgdGhhdCBpdCBzaG91bGQgYmUgYWxsIGNoZWNrZWQs
IHRoZSB3aG9sZSByYW5nZSwgW3NtZm4sIHNtZm4gKyBucl9tZm5zKS4NClNpbmNlIGl0IGlzIGlu
IGxpbmVhciBncm93dGgsIG1heWJlIGFkZGluZyBhbm90aGVyIGNoZWNrIG9mICIhbWZuX3ZhbGlk
KHNtZm4gKyBucl9tZm5zIC0gMSkiDQppcyBlbm91Z2g/DQoNCj4gPiArICAgICAgICByZXR1cm4g
TlVMTDsNCj4gPiArDQo+ID4gKyAgICBzcGluX2xvY2soJmhlYXBfbG9jayk7DQo+ID4gKw0KPiA+
ICsgICAgcGcgPSBtZm5fdG9fcGFnZShzbWZuKTsNCj4gPiArDQo+ID4gKyAgICBmb3IgKCBpID0g
MDsgaSA8IG5yX21mbnM7IGkrKyApDQo+ID4gKyAgICB7DQo+ID4gKyAgICAgICAgLyoNCj4gPiAr
ICAgICAgICAgKiBSZWZlcmVuY2UgY291bnQgbXVzdCBjb250aW51b3VzbHkgYmUgemVybyBmb3Ig
ZnJlZSBwYWdlcw0KPiA+ICsgICAgICAgICAqIG9mIHN0YXRpYyBtZW1vcnkoUEdDX3Jlc2VydmVk
KS4NCj4gPiArICAgICAgICAgKi8NCj4gDQo+IEhvdyBhYm91dDogIlRoZSBwYWdlIHNob3VsZCBi
ZSByZXNlcnZlZCBhbmQgbm90IHlldCBhbGxvY2F0ZWQiPw0KPg0KDQpTdXJlLg0KDQo+ID4gKyAg
ICAgICAgaWYgKCBwZ1tpXS5jb3VudF9pbmZvICE9IChQR0Nfc3RhdGVfZnJlZSB8IFBHQ19yZXNl
cnZlZCkgKQ0KPiA+ICsgICAgICAgIHsNCj4gPiArICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19F
UlINCj4gPiArICAgICAgICAgICAgICAgICAgICJwZ1slbHVdIFN0YXRpYyBNRk4gJSJQUklfbWZu
IiBjPSUjbHggdD0lI3hcbiIsDQo+ID4gKyAgICAgICAgICAgICAgICAgICBpLCBtZm5feChwYWdl
X3RvX21mbihwZyArIGkpKSwNCj4gPiArICAgICAgICAgICAgICAgICAgIHBnW2ldLmNvdW50X2lu
Zm8sIHBnW2ldLnRsYmZsdXNoX3RpbWVzdGFtcCk7DQo+ID4gKyAgICAgICAgICAgIEJVRygpOw0K
PiANCj4gVGhpcyBCVUcoKSBjYW4gYmUgZWFzaWx5IGhpdCBieSBtaXNjb25maWd1cmluZyB0aGUg
RGV2aWNlLVRyZWUuIEkgdGhpbmsgaXQgd291bGQNCj4gYmUgYmVzdCBpZiB3ZSByZXR1cm4gYW4g
ZXJyb3IgYW5kIHJldmVydCB0aGUgY2hhbmdlcy4NCj4gDQoNCk9rLiBJJ2xsIHJldHVybiBOVUxM
Lg0KDQpBbmQgYWJvdXQgdGhlIHJldmVydGluZyBwYXJ0LCBkbyB5b3UgbWVhbiBjaGFuZ2luZyB0
aGUgc3RhdGUgb2YgcGFnZXMgYmFjayB0byAiUEdDX3N0YXRlX2ZyZWUgfCBQR0NfcmVzZXJ2ZWQi
LA0KbGlrZSBzb21ldGhpbmcgYXMgZm9sbG93czoNCiINCm91dF9lcnJvcjoNCmZvciAoIHVuc2ln
bmVkIGxvbmcgaiA9IDA7IGogPCBpOyBqKysgKQ0KCXBnW2pdLmNvdW50X2luZm8gPSBQR0Nfc3Rh
dGVfZnJlZSB8IFBHQ19yZXNlcnZlZDsNCiINCiANCj4gPiArICAgICAgICB9DQo+ID4gKw0KPiA+
ICsgICAgICAgIGlmICggIShtZW1mbGFncyAmIE1FTUZfbm9fdGxiZmx1c2gpICkNCj4gPiArICAg
ICAgICAgICAgYWNjdW11bGF0ZV90bGJmbHVzaCgmbmVlZF90bGJmbHVzaCwgJnBnW2ldLA0KPiA+
ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ0bGJmbHVzaF90aW1lc3RhbXApOw0K
PiA+ICsNCj4gPiArICAgICAgICAvKg0KPiA+ICsgICAgICAgICAqIFByZXNlcnZlIGZsYWcgUEdD
X3Jlc2VydmVkIGFuZCBjaGFuZ2UgcGFnZSBzdGF0ZQ0KPiA+ICsgICAgICAgICAqIHRvIFBHQ19z
dGF0ZV9pbnVzZS4NCj4gPiArICAgICAgICAgKi8NCj4gPiArICAgICAgICBwZ1tpXS5jb3VudF9p
bmZvID0gKFBHQ19yZXNlcnZlZCB8IFBHQ19zdGF0ZV9pbnVzZSk7DQo+ID4gKyAgICAgICAgLyog
SW5pdGlhbGlzZSBmaWVsZHMgd2hpY2ggaGF2ZSBvdGhlciB1c2VzIGZvciBmcmVlIHBhZ2VzLiAq
Lw0KPiA+ICsgICAgICAgIHBnW2ldLnUuaW51c2UudHlwZV9pbmZvID0gMDsNCj4gPiArICAgICAg
ICBwYWdlX3NldF9vd25lcigmcGdbaV0sIE5VTEwpOw0KPiA+ICsgICAgfQ0KPiA+ICsNCj4gPiAr
ICAgIHNwaW5fdW5sb2NrKCZoZWFwX2xvY2spOw0KPiA+ICsNCj4gPiArICAgIGlmICggbmVlZF90
bGJmbHVzaCApDQo+ID4gKyAgICAgICAgZmlsdGVyZWRfZmx1c2hfdGxiX21hc2sodGxiZmx1c2hf
dGltZXN0YW1wKTsNCj4gPiArDQo+ID4gKyAgICAvKg0KPiA+ICsgICAgICogRW5zdXJlIGNhY2hl
IGFuZCBSQU0gYXJlIGNvbnNpc3RlbnQgZm9yIHBsYXRmb3JtcyB3aGVyZSB0aGUgZ3Vlc3QNCj4g
PiArICAgICAqIGNhbiBjb250cm9sIGl0cyBvd24gdmlzaWJpbGl0eSBvZi90aHJvdWdoIHRoZSBj
YWNoZS4NCj4gPiArICAgICAqLw0KPiA+ICsgICAgZm9yICggaSA9IDA7IGkgPCBucl9tZm5zOyBp
KysgKQ0KPiA+ICsgICAgICAgIGZsdXNoX3BhZ2VfdG9fcmFtKG1mbl94KHNtZm4pICsgaSwgISht
ZW1mbGFncyAmDQo+ID4gKyBNRU1GX25vX2ljYWNoZV9mbHVzaCkpOw0KPiA+ICsNCj4gPiArICAg
IHJldHVybiBwZzsNCj4gPiArfQ0KPiA+ICsjZW5kaWYNCj4gPiArDQo+ID4gICAvKiBSZW1vdmUg
YW55IG9mZmxpbmVkIHBhZ2UgaW4gdGhlIGJ1ZGR5IHBvaW50ZWQgdG8gYnkgaGVhZC4gKi8NCj4g
PiAgIHN0YXRpYyBpbnQgcmVzZXJ2ZV9vZmZsaW5lZF9wYWdlKHN0cnVjdCBwYWdlX2luZm8gKmhl
YWQpDQo+ID4gICB7DQo+ID4gQEAgLTIzMDYsNyArMjM3Nyw3IEBAIGludCBhc3NpZ25fcGFnZXMo
DQo+ID4NCj4gPiAgICAgICAgICAgZm9yICggaSA9IDA7IGkgPCBucjsgaSsrICkNCj4gPiAgICAg
ICAgICAgew0KPiA+IC0gICAgICAgICAgICBBU1NFUlQoIShwZ1tpXS5jb3VudF9pbmZvICYgflBH
Q19leHRyYSkpOw0KPiA+ICsgICAgICAgICAgICBBU1NFUlQoIShwZ1tpXS5jb3VudF9pbmZvICYg
fihQR0NfZXh0cmEgfA0KPiA+ICsgUEdDX3Jlc2VydmVkKSkpOw0KPiA+ICAgICAgICAgICAgICAg
aWYgKCBwZ1tpXS5jb3VudF9pbmZvICYgUEdDX2V4dHJhICkNCj4gPiAgICAgICAgICAgICAgICAg
ICBleHRyYV9wYWdlcysrOw0KPiA+ICAgICAgICAgICB9DQo+ID4gQEAgLTIzNDUsNyArMjQxNiw4
IEBAIGludCBhc3NpZ25fcGFnZXMoDQo+ID4gICAgICAgICAgIHBhZ2Vfc2V0X293bmVyKCZwZ1tp
XSwgZCk7DQo+ID4gICAgICAgICAgIHNtcF93bWIoKTsgLyogRG9tYWluIHBvaW50ZXIgbXVzdCBi
ZSB2aXNpYmxlIGJlZm9yZSB1cGRhdGluZyByZWZjbnQuDQo+ICovDQo+ID4gICAgICAgICAgIHBn
W2ldLmNvdW50X2luZm8gPQ0KPiA+IC0gICAgICAgICAgICAocGdbaV0uY291bnRfaW5mbyAmIFBH
Q19leHRyYSkgfCBQR0NfYWxsb2NhdGVkIHwgMTsNCj4gPiArICAgICAgICAgICAgKHBnW2ldLmNv
dW50X2luZm8gJiAoUEdDX2V4dHJhIHwgUEdDX3Jlc2VydmVkKSkgfA0KPiA+ICsgUEdDX2FsbG9j
YXRlZCB8IDE7DQo+ID4gKw0KPiA+ICAgICAgICAgICBwYWdlX2xpc3RfYWRkX3RhaWwoJnBnW2ld
LCBwYWdlX3RvX2xpc3QoZCwgJnBnW2ldKSk7DQo+ID4gICAgICAgfQ0KPiA+DQo+ID4gQEAgLTI0
MTEsNiArMjQ4MywzOCBAQCBzdHJ1Y3QgcGFnZV9pbmZvICphbGxvY19kb21oZWFwX3BhZ2VzKA0K
PiA+ICAgICAgIHJldHVybiBwZzsNCj4gPiAgIH0NCj4gPg0KPiA+ICsjaWZkZWYgQ09ORklHX1NU
QVRJQ19NRU1PUlkNCj4gPiArLyoNCj4gPiArICogQWNxdWlyZSBucl9tZm5zIGNvbnRpZ3VvdXMg
cGFnZXMsIHN0YXJ0aW5nIGF0ICNzbWZuLCBvZiBzdGF0aWMNCj4gPiArbWVtb3J5LA0KPiA+ICsg
KiB0aGVuIGFzc2lnbiB0aGVtIHRvIG9uZSBzcGVjaWZpYyBkb21haW4gI2QuDQo+ID4gKyAqLw0K
PiA+ICtzdHJ1Y3QgcGFnZV9pbmZvICogX19pbml0IGFjcXVpcmVfZG9tc3RhdGljX3BhZ2VzKHN0
cnVjdCBkb21haW4gKmQsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBucl9tZm5zLA0KPiA+ICsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1mbl90IHNtZm4sDQo+ID4gK3Vu
c2lnbmVkIGludCBtZW1mbGFncykgew0KPiA+ICsgICAgc3RydWN0IHBhZ2VfaW5mbyAqcGcgPSBO
VUxMOw0KPiA+ICsNCj4gPiArICAgIEFTU0VSVCghaW5faXJxKCkpOw0KPiA+ICsNCj4gPiArICAg
IHBnID0gYWNxdWlyZV9zdGF0aWNtZW1fcGFnZXMobnJfbWZucywgc21mbiwgbWVtZmxhZ3MpOw0K
PiA+ICsgICAgaWYgKCAhcGcgKQ0KPiA+ICsgICAgICAgIHJldHVybiBOVUxMOw0KPiA+ICsNCj4g
PiArICAgIC8qDQo+ID4gKyAgICAgKiBNRU1GX25vX293bmVyL01FTUZfbm9fcmVmY291bnQgY2Fz
ZXMgYXJlIG1pc3NpbmcgaGVyZSBiZWNhdXNlDQo+ID4gKyAgICAgKiByaWdodCBub3csIGFjcXVp
cmVkIHN0YXRpYyBtZW1vcnkgaXMgb25seSBmb3IgZ3Vlc3QgUkFNLg0KPiA+ICsgICAgICovDQo+
ID4gKyAgICBBU1NFUlQoZCk7DQo+ID4gKyAgICBpZiAoIGFzc2lnbl9wYWdlcyhwZywgbnJfbWZu
cywgZCwgbWVtZmxhZ3MpICkNCj4gPiArICAgIHsNCj4gPiArICAgICAgICBmcmVlX3N0YXRpY21l
bV9wYWdlcyhwZywgbnJfbWZucywgbWVtZmxhZ3MgJiBNRU1GX25vX3NjcnViKTsNCj4gPiArICAg
ICAgICByZXR1cm4gTlVMTDsNCj4gPiArICAgIH0NCj4gPiArDQo+ID4gKyAgICByZXR1cm4gcGc7
DQo+ID4gK30NCj4gPiArI2VuZGlmDQo+ID4gKw0KPiA+ICAgdm9pZCBmcmVlX2RvbWhlYXBfcGFn
ZXMoc3RydWN0IHBhZ2VfaW5mbyAqcGcsIHVuc2lnbmVkIGludCBvcmRlcikNCj4gPiAgIHsNCj4g
PiAgICAgICBzdHJ1Y3QgZG9tYWluICpkID0gcGFnZV9nZXRfb3duZXIocGcpOyBkaWZmIC0tZ2l0
DQo+ID4gYS94ZW4vaW5jbHVkZS94ZW4vbW0uaCBiL3hlbi9pbmNsdWRlL3hlbi9tbS5oIGluZGV4
DQo+ID4gMmU3NWNkY2JiNy4uNjJlOGUyYWQ2MSAxMDA2NDQNCj4gPiAtLS0gYS94ZW4vaW5jbHVk
ZS94ZW4vbW0uaA0KPiA+ICsrKyBiL3hlbi9pbmNsdWRlL3hlbi9tbS5oDQo+ID4gQEAgLTg5LDYg
Kzg5LDkgQEAgYm9vbCBzY3J1Yl9mcmVlX3BhZ2VzKHZvaWQpOw0KPiA+ICAgLyogVGhlc2UgZnVu
Y3Rpb25zIGFyZSBmb3Igc3RhdGljIG1lbW9yeSAqLw0KPiA+ICAgdm9pZCBmcmVlX3N0YXRpY21l
bV9wYWdlcyhzdHJ1Y3QgcGFnZV9pbmZvICpwZywgdW5zaWduZWQgbG9uZyBucl9tZm5zLA0KPiA+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIG5lZWRfc2NydWIpOw0KPiA+ICtzdHJ1
Y3QgcGFnZV9pbmZvICphY3F1aXJlX2RvbXN0YXRpY19wYWdlcyhzdHJ1Y3QgZG9tYWluICpkLA0K
PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBs
b25nIG5yX21mbnMsIG1mbl90IHNtZm4sDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBtZW1mbGFncyk7DQo+ID4gICAjZW5kaWYNCj4g
Pg0KPiA+ICAgLyogTWFwIG1hY2hpbmUgcGFnZSByYW5nZSBpbiBYZW4gdmlydHVhbCBhZGRyZXNz
IHNwYWNlLiAqLw0KPiA+DQo+IA0KPiBDaGVlcnMsDQo+IA0KPiAtLQ0KDQpDaGVlcnMNCg0KLS0N
ClBlbm55IFpoZW5nDQo+IEp1bGllbiBHcmFsbA0K


From xen-devel-bounces@lists.xenproject.org Mon Aug 16 06:53:57 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 06:53:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167181.305142 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFWVN-0004Jr-TB; Mon, 16 Aug 2021 06:53:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167181.305142; Mon, 16 Aug 2021 06: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 1mFWVN-0004Jk-Q3; Mon, 16 Aug 2021 06:53:53 +0000
Received: by outflank-mailman (input) for mailman id 167181;
 Mon, 16 Aug 2021 06:53:52 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eR/w=NH=arm.com=Penny.Zheng@srs-us1.protection.inumbo.net>)
 id 1mFWVM-0004Je-Pm
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 06:53:52 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com (unknown
 [40.107.1.61]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id b6222800-fe5e-11eb-a444-12813bfff9fa;
 Mon, 16 Aug 2021 06:53:50 +0000 (UTC)
Received: from DBBPR09CA0031.eurprd09.prod.outlook.com (2603:10a6:10:d4::19)
 by DB7PR08MB3017.eurprd08.prod.outlook.com (2603:10a6:5:1f::31) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13; Mon, 16 Aug
 2021 06:53:40 +0000
Received: from DB5EUR03FT049.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:d4:cafe::4f) by DBBPR09CA0031.outlook.office365.com
 (2603:10a6:10:d4::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15 via Frontend
 Transport; Mon, 16 Aug 2021 06:53:40 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT049.mail.protection.outlook.com (10.152.20.191) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Mon, 16 Aug 2021 06:53:40 +0000
Received: ("Tessian outbound 1a0c40aa17d8:v103");
 Mon, 16 Aug 2021 06:53:40 +0000
Received: from e5421e735887.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 BBF9B9A0-121D-4B3C-AEC7-1237AAB4F293.1; 
 Mon, 16 Aug 2021 06:53:34 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e5421e735887.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 16 Aug 2021 06:53:34 +0000
Received: from VE1PR08MB5215.eurprd08.prod.outlook.com (2603:10a6:803:10a::33)
 by VE1PR08MB4672.eurprd08.prod.outlook.com (2603:10a6:802:a3::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Mon, 16 Aug
 2021 06:53:28 +0000
Received: from VE1PR08MB5215.eurprd08.prod.outlook.com
 ([fe80::adf8:8d6f:2a30:b60c]) by VE1PR08MB5215.eurprd08.prod.outlook.com
 ([fe80::adf8:8d6f:2a30:b60c%5]) with mapi id 15.20.4415.022; Mon, 16 Aug 2021
 06:53:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b6222800-fe5e-11eb-a444-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KQ3Z+6TOAiht3xRCIb175VCSVQUdnZDbOMKYc+Ef+q8=;
 b=Z7/OhZG7Hd0VsjfJSpnIJninTDwxaelEABXgRDXsjbWqWZWrKVjvRtDWE5maX3FVxiwKMOkULOaQyCY42bI5W0IHdkXLdpfivEZpOgUhfuw2KOUVEcNzDuRBBkWdCupkc/WB+o94f1nb2TxwThnpFao20BFVIzIQ4yJpcvBkS9c=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cqIdeIupNbK9xJTzbqWd4fO1tZJBamI7eTHpjd444huIrl6rSBJ870Z7z0NVAK5t6NXAkhJN8gqI0fQoRk6D13FRjjpv0DneBLGo6CHZXuj0ETKiZm2W6N05Mr+rQicZzax9piFz/D1mUvkq47VJJFUN+EPL+KIUlGyJZE5txRQfFm4zUXtW9I7A8s69W1Jq4Jj/jfPq64PKktn8sBYnGTFEZcAbLLjHkSZasJQylGEl4p1X6X1z6mCyXOuIXjMD1KHA7G7cTOYwegCraRF+S8IGHol4oOUpJqMNq0wPb5IPAuM7hzp6yDhMlneOMVAHhMg6VbqDlEgHvm5HpNwLbQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KQ3Z+6TOAiht3xRCIb175VCSVQUdnZDbOMKYc+Ef+q8=;
 b=el6dnMHs3ZuQwvoS8X9ppdNP9FqJfSfVTKBdZx94KjRj3X5YJkytTo4iP6pgcbQyAvqT81YfIwzY1bSZFV7JC9Khg8sfQIbVLbTCKeitYertkMmmcu3XUxxhZe1+XsY7lk/3dvAsz6AiJfqAvq5uc4sQwt4gQGTMmm2vYofKbRGHSyuTYyAeUaV/RzDSjAxnse1/2xZnhkdz5O08RM2ELkOcKa7RMeXEsHU6O0vDDSRg9RRMQHUH60V1pBgKI9PDBwBu3a0rKte9i11e3wNhNbMAwdkMQF9VDr00V0U39rBkQCBJuuVbkpXZzqiZAtzHlH/x6JsnswvTAAHl/er7OA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KQ3Z+6TOAiht3xRCIb175VCSVQUdnZDbOMKYc+Ef+q8=;
 b=Z7/OhZG7Hd0VsjfJSpnIJninTDwxaelEABXgRDXsjbWqWZWrKVjvRtDWE5maX3FVxiwKMOkULOaQyCY42bI5W0IHdkXLdpfivEZpOgUhfuw2KOUVEcNzDuRBBkWdCupkc/WB+o94f1nb2TxwThnpFao20BFVIzIQ4yJpcvBkS9c=
From: Penny Zheng <Penny.Zheng@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
	nd <nd@arm.com>
Subject: RE: [PATCH V4 09/10] xen/arm: check "xen,static-mem" property during
 domain construction
Thread-Topic: [PATCH V4 09/10] xen/arm: check "xen,static-mem" property during
 domain construction
Thread-Index: AQHXg5tiMODi8hcS0EmLPkxlV9QLy6txgnSAgARLnoA=
Date: Mon, 16 Aug 2021 06:53:27 +0000
Message-ID:
 <VE1PR08MB5215636D42110D632C6EF471F7FD9@VE1PR08MB5215.eurprd08.prod.outlook.com>
References: <20210728102758.3269446-1-penny.zheng@arm.com>
 <20210728102758.3269446-10-penny.zheng@arm.com>
 <bf4f8cb1-b8c1-a8f5-0aa4-1616cf161f2b@xen.org>
In-Reply-To: <bf4f8cb1-b8c1-a8f5-0aa4-1616cf161f2b@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 76609259E8DE2145B9FF6495E179B941.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 4f5f1c19-96c5-4832-2eca-08d9608294b8
x-ms-traffictypediagnostic: VE1PR08MB4672:|DB7PR08MB3017:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<DB7PR08MB3017898B792B11BE515F881BF7FD9@DB7PR08MB3017.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 +3sm2JrPb/w0eydsZj76nf6VThpAhcNcDsru8J1UX36YJbQXlTzjxdjxtOYfRXybRQRRhpCsRUmTs4BOvSMcruadWV3nwbRjI8WIPhQIJgKI2i+3i3sCW2HYCr6Fw+pUnBhNv/e5BYoFiakxGJvYBMRADCOmbVa0khgBy2OURFs1aeWYf4BBJujrQAtSv9eTfCqN4dIOUKSY6VK5eASgeFV60p5alhYa2zg3LG31WXbFbO1IkcndcxrPebkkpKmGtHAZHgKull11bzc/3qsprh/AL0L2Pf3Vnt1gNS8nSM1PPP7+9HrJA3Er2kUEHpMzLq0KMXSOjjNzqwrFg12g+HD4hzOkM1wq/5UgnQQicvuFdom9ITB0XpTNTUfJ81DH+VSskrC0DxBq3TFzdhw+gIDtfDXlDT1bFYmnNdIUtUiejqbgJZkXHUclBJF6wtNFxZDr8EU044Aqa3rFoATGmiK3mQ45Hbhzz/0TZmbaqsGA81bhDerGoN89bHI8hmpNOXITVJzPvkkUScZHTvb5uz0m6XJDgy9H8spmBI4nwpjn9Lg1YtWXmetK29XRvBbOYcJBCc887jpXlOFaLP/jJECcbTaEzQKTxoRW21ztVSLTRBM/G/tJAFyvhAjnwUtnKy7VOsfSincRnzs7+Rb0VApD/EcpVaJHoNa1+u658FrW5YLj9Ehe1OisFpwvjpHd9xLe7RIztbsg83fE3Bq+VQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR08MB5215.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(346002)(366004)(376002)(136003)(396003)(39840400004)(86362001)(4326008)(8676002)(8936002)(33656002)(2906002)(71200400001)(38100700002)(83380400001)(478600001)(55016002)(186003)(38070700005)(7696005)(5660300002)(53546011)(6506007)(26005)(52536014)(316002)(110136005)(54906003)(66446008)(64756008)(122000001)(76116006)(66476007)(66556008)(66946007)(9686003);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?SnUwK2Z2NUNNRk1meUpwcmtqR0ZRTXYvQTlJTUZOOUhwVlNKUmVNUjlPWVFC?=
 =?utf-8?B?czJnNk1vaXRnd2I5U0RORmR4M1pIRlk4T09zckdKbVJKMENwVlJQNUpXamZ6?=
 =?utf-8?B?bGJuMUo0bXRWd0QwYWEwK2VlMDhrbCs3Q20xVE5oa2MwRzcvekhSZDZzdm1Z?=
 =?utf-8?B?NWlMcGh3Y2dnaXhmTXU5TTJuUWNjY3Jzc09qKzBjWGJ4S2d0eVNMeExJRzF6?=
 =?utf-8?B?YnFpZFlkZVMzYkxMcnYyczY0ZnlSZUJzN1dkakNPYjlCaW40aDcrVEZGdFhU?=
 =?utf-8?B?Z010ajJKdEJZNHNOem4zQmQvdjVrT0gzNmZra256eE1Fa01RRlBweHluakph?=
 =?utf-8?B?Q1Zpazd3N01YUHlRUmpSb0p5ODF6OVoyWSsrQVhQV2JOUDc5Skk2d1ZTRmlM?=
 =?utf-8?B?NkZSbFRwZVF4N08xMk43QkpCdXNGMW1NOTM2ejdyR1d2ekkvT0pOaUZPWkw0?=
 =?utf-8?B?NkVnQXRoWU4yQmpRZFg2WUNYSXBJRURhNy9hMHd3RHI5WnFQSCtpSXhXbkQ0?=
 =?utf-8?B?dDlkNkcyNDNrRDJJTHpWRnJpZEdDM2lUWVpnMTNnNjZZRjcrWklJTmFxK0pY?=
 =?utf-8?B?VjdxNyt6aWVjTjJMSyt1VzU3UWFDemFrVUtIRzB0aUZSdm92YnNUdzlKQWtw?=
 =?utf-8?B?VEZwM1NiYkhoNEszSXZFNWpkaWYzTUFkc1ZsMXhEektaQXlUQkt5VEVVaHg3?=
 =?utf-8?B?UFJiTEFUaytteENEWEZqTHVyNGduMnJJMDhGeExlZHQ0NFg3R1FqUU41MXpl?=
 =?utf-8?B?RkphYmhuMzNnU2szRXArVUZDVUFONGNFMThuQndCb1FteGRORE95OEpJWC9V?=
 =?utf-8?B?eVdXK0FLVUV0anFxSzAxTkJQU1k5eUtYSUxFRGF0RG45U0dodlBrWHI3c0Zu?=
 =?utf-8?B?N2hCM2hFQkV4UzNKZ3FEN2hSUjFrK2tEdHE0Q21vK3VZRVlpbVRtZDNQZytj?=
 =?utf-8?B?K1hwVjJSQkd1bjlndkpVKzVRQ2tDaWdsQjJ1VmFER3VHNU44YmRvaWJneHow?=
 =?utf-8?B?RHpvdjFNbUZDY2svSExWcGJkMXBOb2lSV3R2S3o3eTE4TjRKd2t3ektxclBm?=
 =?utf-8?B?U0wvU29UbEp5UHpTSS9RVm83djlkSUNBbURPY2dvcVVoeXVLLzJBK014MlAr?=
 =?utf-8?B?WVlNSW1wYVp5TXBoZ1ZQcVN6Y2pCZU1Nd2Q4YWRMWUFVMkc5eVkwclo5ZUR2?=
 =?utf-8?B?QVJUN2tDV0ZOTmJNcDJsRWdjUGZIRno5QTRYQlNxd3lQVjJEQWkwUE9iSmU3?=
 =?utf-8?B?amxWTzFaV1ptNnppRkZkRVZYUVAyVnhlc3dXSkVxWGFFaUkxZi9ieVZtaXpp?=
 =?utf-8?B?cWdoVmx5UC8xZS9LbGFTNFhvTTZIRWQ4QnpaVk1hdDRQUTVsVWwvV1J3MjVD?=
 =?utf-8?B?eXMyRWVNbWxOSkdDRVMxM3F6OUhmK3ZKZDEzM3VsTmxMMEhDVUlZclp3bW5W?=
 =?utf-8?B?c2l4Vk9vNnp4UFh3MWE4MzZtZC9HVDFPRTJmbUtVUWxqcHByTnBLM3FEaENW?=
 =?utf-8?B?cHp6ejdwNW5zSXVWeTdxNFViaE8yQUpSU2ZyTjRlZkYxOGF0QU0rYjFaakIy?=
 =?utf-8?B?U3BrUzUyYUE5NElORnVKRFdqcVYvaDg0LzZHRHd3bXZZMTA3aUtaRTNGcUZR?=
 =?utf-8?B?QjdDVGlMSmZxRnpHbkR6dDd4VXV3MW1yaWRVRlZXb282VEh5MnhZb1FvTHN3?=
 =?utf-8?B?Wk92cVcyWGVOVExZcGQzNVRLb29Hclppc2E0M3JsU21BMmFOTndaeDVtcnhH?=
 =?utf-8?Q?gbpwAP4NEOc0AT7efz7Hbb10kZJonfsts/xbo7i?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB4672
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT049.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	8b494757-bcf4-4de9-08bc-08d960828d3f
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	6XCUewJPZXvucTSXtzvpSAewep+DsvKqSX9YjfDHraRPmLLqdA1i6qJydecVpZajh0IVbqwWAUebuzG0RNK4FJS87hDUWvuAU/zU+pD9u9H0/tHP92fBYcDkzBgL2ofCumYpb6ciJ4YWY2vxeWRGcp7yzqx1T++NUbRhiEPcchSgk1z7Eig1EpZOpdE43fOqiIRiPlB34ipqDhqPzkbwSFk/FOKrxeqAHhumV94zOJpJsbS6+Qn+EfFvOu2zs5EeqC8k6LO3VsJBWV/7Ylb9rQoVophtAqepzVK0d/V0X+dxIQconDP2mqPz61XuVS9ZQyDoLF+CGR1cIOeZtaYClveVEbUh7S6jIGsdsEIBDvy0qb/O0N4Z5e3F18Q+28XvUDIzVth7MQ863ajnA7ePV/oobuNlrtgoZ1e7KsAF6M4aDuc3kGk9COI8mVE/VqiCF8q7quWxypjIaEEfB0zsO73Rex9Ad2QvY4n4MuSQHJ6RavAKJv9goVHTbBvAiKzdTP8dw9KRvO4BVL0MwQE55oRzwqfz125DaOkvKABvATbsjX+E0KgXf6SWOWuieNLDTGqYXV/0111vc2aP+aq541t8+fpajAaEcZZUZI4Fcq9Vse/zLNNKaQ10x66K6YyJQ3snbKDsIHmAJbRodX9Dw67SSJ5GzUBV5Hp0ziIgeoabjzAqmR6KEPjjop4tH/LNrneka5DXswHGqKc1uBf47Q==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(46966006)(36840700001)(2906002)(70586007)(82310400003)(186003)(4326008)(9686003)(36860700001)(47076005)(70206006)(55016002)(8676002)(26005)(8936002)(508600001)(6506007)(53546011)(86362001)(110136005)(33656002)(5660300002)(336012)(52536014)(81166007)(83380400001)(316002)(356005)(54906003)(7696005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2021 06:53:40.6669
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4f5f1c19-96c5-4832-2eca-08d9608294b8
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT049.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3017

SGkgSnVsaWVuDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSnVsaWVu
IEdyYWxsIDxqdWxpZW5AeGVuLm9yZz4NCj4gU2VudDogRnJpZGF5LCBBdWd1c3QgMTMsIDIwMjEg
OToxMiBQTQ0KPiBUbzogUGVubnkgWmhlbmcgPFBlbm55LlpoZW5nQGFybS5jb20+OyB4ZW4tZGV2
ZWxAbGlzdHMueGVucHJvamVjdC5vcmc7DQo+IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmcNCj4gQ2M6
IEJlcnRyYW5kIE1hcnF1aXMgPEJlcnRyYW5kLk1hcnF1aXNAYXJtLmNvbT47IFdlaSBDaGVuDQo+
IDxXZWkuQ2hlbkBhcm0uY29tPjsgbmQgPG5kQGFybS5jb20+DQo+IFN1YmplY3Q6IFJlOiBbUEFU
Q0ggVjQgMDkvMTBdIHhlbi9hcm06IGNoZWNrICJ4ZW4sc3RhdGljLW1lbSIgcHJvcGVydHkNCj4g
ZHVyaW5nIGRvbWFpbiBjb25zdHJ1Y3Rpb24NCj4gDQo+IEhpLA0KPiANCj4gT24gMjgvMDcvMjAy
MSAxMToyNywgUGVubnkgWmhlbmcgd3JvdGU6DQo+ID4gVGhpcyBjb21taXQgY2hlY2tzICJ4ZW4s
c3RhdGljLW1lbSIgZGV2aWNlIHRyZWUgcHJvcGVydHkgaW4gL2RvbVV4DQo+ID4gbm9kZSwgdG8g
ZGV0ZXJtaW5lIHdoZXRoZXIgZG9tYWluIGlzIG9uIFN0YXRpYyBBbGxvY2F0aW9uLCB3aGVuDQo+
ID4gY29uc3RydWN0aW5nIGRvbWFpbiBkdXJpbmcgYm9vdC11cC4NCj4gPg0KPiA+IFJpZ2h0IG5v
dywgdGhlIGltcGxlbWVudGF0aW9uIG9mIGFsbG9jYXRlX3N0YXRpY19tZW1vcnkgaXMgbWlzc2lu
ZywNCj4gPiBhbmQgd2lsbCBiZSBpbnRyb2R1Y2VkIGxhdGVyLiBJdCBqdXN0IEJVRygpIG91dCBh
dCB0aGUgbW9tZW50Lg0KPiANCj4gSSB0aGluayB0aGUgY29kZSBpcyBzbWFsbCBlbm91Z2ggdG8g
Zm9sZCBpdCBpbiBwYXRjaCAjMTAuIEluIGZhY3QuLi4NCj4gDQoNCk9rLiBJJ2xsIGNvbWJpbmUu
DQoNCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IFBlbm55IFpoZW5nIDxwZW5ueS56aGVuZ0Bhcm0u
Y29tPg0KPiA+IC0tLQ0KPiA+ICAgeGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jIHwgMzcNCj4g
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQ0KPiA+ICAgMSBmaWxlIGNoYW5n
ZWQsIDM2IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCj4gPg0KPiA+IGRpZmYgLS1naXQg
YS94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMgYi94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxk
LmMNCj4gPiBpbmRleCA2Yzg2ZDUyNzgxLi5jZGIxNmYyMDg2IDEwMDY0NA0KPiA+IC0tLSBhL3hl
bi9hcmNoL2FybS9kb21haW5fYnVpbGQuYw0KPiA+ICsrKyBiL3hlbi9hcmNoL2FybS9kb21haW5f
YnVpbGQuYw0KPiA+IEBAIC0yNDI1LDYgKzI0MjUsMzcgQEAgc3RhdGljIGludCBfX2luaXQgY29u
c3RydWN0X2RvbVUoc3RydWN0IGRvbWFpbiAqZCwNCj4gPiAgICAgICBzdHJ1Y3Qga2VybmVsX2lu
Zm8ga2luZm8gPSB7fTsNCj4gPiAgICAgICBpbnQgcmM7DQo+ID4gICAgICAgdTY0IG1lbTsNCj4g
PiArICAgIGNvbnN0IHN0cnVjdCBkdF9wcm9wZXJ0eSAqc3RhdGljX21lbV9wcm9wOw0KPiA+ICsg
ICAgdTMyIHN0YXRpY19tZW1fYWRkcl9jZWxscywgc3RhdGljX21lbV9zaXplX2NlbGxzOw0KPiA+
ICsgICAgYm9vbCBzdGF0aWNfbWVtID0gZmFsc2U7DQo+IA0KPiBZb3UgZG9uJ3QgbmVlZCB0aG9z
ZSBpbmZvcm1hdGlvbiBvdXRzaWRlIG9mIGFsbG9jYXRlX3N0YXRpY19tZW1vcnkoKS4gU28gSQ0K
PiB0aGluayBpdCB3b3VsZCBiZSBiZXN0IHRvIG1vdmUgdGhlIGNvZGUgaW4gdGhhdCBmdW5jdGlv
bi4NCj4gDQoNClN1cmUuDQoNCj4gPiArDQo+ID4gKyAgICAvKg0KPiA+ICsgICAgICogR3Vlc3Qg
UkFNIGNvdWxkIGJlIHN0YXRpYyBtZW1vcnkgd2hpY2ggd2lsbCBiZSBzcGVjaWZpZWQgdGhyb3Vn
aA0KPiA+ICsgICAgICogInhlbixzdGF0aWMtbWVtIiBwcm9wZXJ0eS4NCj4gPiArICAgICAqLw0K
PiA+ICsgICAgc3RhdGljX21lbV9wcm9wID0gZHRfZmluZF9wcm9wZXJ0eShub2RlLCAieGVuLHN0
YXRpYy1tZW0iLCBOVUxMKTsNCj4gPiArICAgIGlmICggc3RhdGljX21lbV9wcm9wICkNCj4gPiAr
ICAgIHsNCj4gPiArICAgICAgICBzdGF0aWNfbWVtID0gdHJ1ZTsNCj4gPiArDQo+ID4gKyAgICAg
ICAgaWYgKCAhZHRfcHJvcGVydHlfcmVhZF91MzIobm9kZSwgIiN4ZW4sc3RhdGljLW1lbS1hZGRy
ZXNzLWNlbGxzIiwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc3Rh
dGljX21lbV9hZGRyX2NlbGxzKSApDQo+ID4gKyAgICAgICAgew0KPiA+ICsgICAgICAgICAgICBw
cmludGsoIkVycm9yIGJ1aWxkaW5nIERvbVU6IGNhbm5vdCByZWFkICINCj4gPiArICAgICAgICAg
ICAgICAgICAgICJcIiN4ZW4sc3RhdGljLW1lbS1hZGRyZXNzLWNlbGxzXCIgcHJvcGVydHlcbiIp
Ow0KPiBXZSBkb24ndCBzcGxpdCBjb21tZW50IG92ZXIgbXVsdGktbGluZSAoZXZlbiB0aGV5IGFy
ZSBtb3JlIHRoYW4gODANCj4gY2hhcmFjdGVycykuIFRoaXMgaXMgdG8gaGVscCBncmVwIG1lc3Nh
Z2UgaW4gdGhlIGNvZGUuDQo+IA0KPiBBbHRob3VnaCBmb3IgdGhpcyBvbmUgSSB3b3VsZCByZXBs
YWNlZCAiRXJyb3IgYnVpbGRpbmcgRG9tdToiIHdpdGggc2ltcGx5DQo+IHdpdGggdGhlIGRvbWFp
biBJRCAoeW91IGNhbiB1c2UgJXBkIGFuZCAnZCcpLiBUaGUgY2FsbGVyIHdpbGwgdGhlbiBwcmlu
dCB0aGVyZQ0KPiB3YXMgYW4gZXJyb3IgZHVyaW5nIGJ1aWxkaW5nLg0KPiANCg0KVGhhbmtzIGZv
ciB0aGUgZXhwbGFuYXRpb24sIGxlYXJuZWQuDQoNCj4gDQo+ID4gKyAgICAgICAgICAgIHJldHVy
biAtRUlOVkFMOw0KPiA+ICsgICAgICAgIH0NCj4gPiArDQo+ID4gKyAgICAgICAgaWYgKCAhZHRf
cHJvcGVydHlfcmVhZF91MzIobm9kZSwgIiN4ZW4sc3RhdGljLW1lbS1zaXplLWNlbGxzIiwNCj4g
PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc3RhdGljX21lbV9zaXplX2Nl
bGxzKSApDQo+ID4gKyAgICAgICAgew0KPiA+ICsgICAgICAgICAgICBwcmludGsoIkVycm9yIGJ1
aWxkaW5nIERvbVU6IGNhbm5vdCByZWFkICINCj4gPiArICAgICAgICAgICAgICAgICAgICJcIiN4
ZW4sc3RhdGljLW1lbS1zaXplLWNlbGxzXCIgcHJvcGVydHlcbiIpOw0KPiANCj4gTXkgcmVtYXJr
IGFwcGxpZXMgaGVyZSBhcyB3ZWxsLg0KPiANCj4gPiArICAgICAgICAgICAgcmV0dXJuIC1FSU5W
QUw7DQo+ID4gKyAgICAgICAgfQ0KPiA+ICsNCj4gPiArICAgICAgICBCVUdfT04oc3RhdGljX21l
bV9zaXplX2NlbGxzID4gMiB8fCBzdGF0aWNfbWVtX2FkZHJfY2VsbHMgPg0KPiA+ICsgMik7DQo+
IA0KPiBEaWQgd2UgdmFsaWRhdGUgdGhlIERUIGJlZm9yZSBoYW5kPyBJZiBub3QsIHRoZW4gSSB0
aGluaw0KPiANCg0KWWVhaC4uLiBJIHRoaW5rIEkgZGlkIHRoZSBjaGVjayBpbiBmaXJzdCBwYXJz
ZS4gSXQncyByZWR1bmRhbnQuDQoNCj4gPiArICAgIH0NCj4gDQo+IA0KPiA+DQo+ID4gICAgICAg
cmMgPSBkdF9wcm9wZXJ0eV9yZWFkX3U2NChub2RlLCAibWVtb3J5IiwgJm1lbSk7DQo+ID4gICAg
ICAgaWYgKCAhcmMgKQ0KPiA+IEBAIC0yNDUyLDcgKzI0ODMsMTEgQEAgc3RhdGljIGludCBfX2lu
aXQgY29uc3RydWN0X2RvbVUoc3RydWN0IGRvbWFpbiAqZCwNCj4gPiAgICAgICAvKiB0eXBlIG11
c3QgYmUgc2V0IGJlZm9yZSBhbGxvY2F0ZSBtZW1vcnkgKi8NCj4gPiAgICAgICBkLT5hcmNoLnR5
cGUgPSBraW5mby50eXBlOw0KPiA+ICAgI2VuZGlmDQo+ID4gLSAgICBhbGxvY2F0ZV9tZW1vcnko
ZCwgJmtpbmZvKTsNCj4gPiArICAgIGlmICggIXN0YXRpY19tZW0gKQ0KPiANCj4gV2l0aCBteSBz
dWdnZXN0aW9uIGFib3ZlLCB0aGUgY2hlY2sgY2FuIGJlIHJlcGxhY2VkIHdpdGg6DQo+IA0KPiBp
ZiAoICFkdF9maW5kX3Byb3BlcnR5KG5vZGUsICJ4ZW4sc3RhdGljLW1lbSIsIE5VTEwpICkNCj4g
DQoNClN1cmUsIFRoYXTigJlzIG1vcmUgc2ltcGxlLg0KDQo+ID4gKyAgICAgICAgYWxsb2NhdGVf
bWVtb3J5KGQsICZraW5mbyk7DQo+ID4gKyAgICBlbHNlDQo+ID4gKyAgICAgICAgLyogVE9ETzog
YWxsb2NhdGVfc3RhdGljX21lbW9yeSguLi4pLiAqLw0KPiA+ICsgICAgICAgIEJVRygpOw0KPiA+
DQo+ID4gICAgICAgcmMgPSBwcmVwYXJlX2R0Yl9kb21VKGQsICZraW5mbyk7DQo+ID4gICAgICAg
aWYgKCByYyA8IDAgKQ0KPiA+DQo+IA0KPiBDaGVlcnMsDQo+IA0KPiAtLQ0KDQpDaGVlcnMNCg0K
LS0NClBlbm55DQo+IEp1bGllbiBHcmFsbA0K


From xen-devel-bounces@lists.xenproject.org Mon Aug 16 07:01:17 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 07:01:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167188.305152 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFWcN-0005py-Po; Mon, 16 Aug 2021 07:01:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167188.305152; Mon, 16 Aug 2021 07:01:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFWcN-0005pr-Mp; Mon, 16 Aug 2021 07:01:07 +0000
Received: by outflank-mailman (input) for mailman id 167188;
 Mon, 16 Aug 2021 07:01:06 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/vaJ=NH=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mFWcM-0005pl-8v
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 07:01:06 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com (unknown
 [40.107.7.42]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id b820fa04-fe5f-11eb-a444-12813bfff9fa;
 Mon, 16 Aug 2021 07:01:03 +0000 (UTC)
Received: from DB6PR1001CA0004.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:4:b7::14)
 by VI1PR08MB4591.eurprd08.prod.outlook.com (2603:10a6:803:b5::25)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Mon, 16 Aug
 2021 07:01:01 +0000
Received: from DB5EUR03FT015.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:b7:cafe::43) by DB6PR1001CA0004.outlook.office365.com
 (2603:10a6:4:b7::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13 via Frontend
 Transport; Mon, 16 Aug 2021 07:01:01 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT015.mail.protection.outlook.com (10.152.20.145) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.14 via Frontend Transport; Mon, 16 Aug 2021 07:01:01 +0000
Received: ("Tessian outbound 1a0c40aa17d8:v103");
 Mon, 16 Aug 2021 07:01:01 +0000
Received: from dff8ee2b4aec.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 E1B6E372-DA83-4032-9A84-360A65E19198.1; 
 Mon, 16 Aug 2021 07:00:55 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id dff8ee2b4aec.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 16 Aug 2021 07:00:55 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB8PR08MB4572.eurprd08.prod.outlook.com (2603:10a6:10:b0::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Mon, 16 Aug
 2021 07:00:54 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%6]) with mapi id 15.20.4415.023; Mon, 16 Aug 2021
 07:00:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b820fa04-fe5f-11eb-a444-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=omgbgecN/jUL3ruQrEfCmnS27o6FWHsQS+xkrzBDVlc=;
 b=FAn62FsPKjv3eXE8gmbID7zqRJaw1pEewiTdbMskA8jho0yrhkdEIuBHVy6o6VUZYBYlGqU5Oy4kUXnwZaIPXobSnUdFnV0ZxZx4DxMdp+DHRT0FLtIktzPHRMY3do9Mb3I7nnjTnUR5TyjgaliNgkUWxkMcUgs9D/rAPuwKnCY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TUaq1wjgDIy8p8R9wWVrqqbZff/eCjyBenpy5Vp+puY/cD0K9DLqvjAOYmoZDrOxtDrE4x7IhYGYWtADHCNxdMGdkywKlpO7NSUuR281flx9njxIxuD4BSay48XwGosq0+SECjn/I/tl8+FeYzIO1YhRzg7vJG/osbTc/aZ6303Bt4MO3RWot1Fx+qTorP7o+AC3B64yALrYh7BRMIBei9R3NmK3D/8YF7l4D6NBrd2RR2QwJ2s9MEsjwVWpQrE2M7qsj+/gFyJtZLeHPosjPpTp0xslC4U4bv4NMfMyqjCoI8HLVYubaRlKhAGV/NLTHdyh+AfK0RHCitWW38jUbw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=omgbgecN/jUL3ruQrEfCmnS27o6FWHsQS+xkrzBDVlc=;
 b=bwEjjX+/n23RRm2ip/Zsq+V2vbrXvbtNtK0UTclp7H6wo5izjnPBufs02lbSqDr9NlMIQU4LrGFHHYMpyMqcDXWp1WkhbzJsmfEjMvBvDm9JcitQWHyubw0ZT2ou3L0zu1WHBDITzcuhYxMMcqFrlVDIjX4QLKJd9I4ax1siwmle33a81x0b5PSnuLkCVUPF9r/+aOVmU0eVn09ucT1I9KrqD3+x+w+yMQN4PmfOReAPCJmbtBK0r2iB6lnQEkqcRhEElqIymnusqcXPEu4ajbquPg3uECbz4fgxkcUjoeASeX8sCLE36YOBL6z+H8+0FVvryTErYeAbxVsCmQjJjg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=omgbgecN/jUL3ruQrEfCmnS27o6FWHsQS+xkrzBDVlc=;
 b=FAn62FsPKjv3eXE8gmbID7zqRJaw1pEewiTdbMskA8jho0yrhkdEIuBHVy6o6VUZYBYlGqU5Oy4kUXnwZaIPXobSnUdFnV0ZxZx4DxMdp+DHRT0FLtIktzPHRMY3do9Mb3I7nnjTnUR5TyjgaliNgkUWxkMcUgs9D/rAPuwKnCY=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, Penny Zheng <Penny.Zheng@arm.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"sstabellini@kernel.org" <sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, nd <nd@arm.com>
Subject: RE: [PATCH V4 05/10] xen/arm: static memory initialization
Thread-Topic: [PATCH V4 05/10] xen/arm: static memory initialization
Thread-Index: AQHXg5tWhKjEMj8fikey5jo8McJgaKtxeOUAgARWM0A=
Date: Mon, 16 Aug 2021 07:00:54 +0000
Message-ID:
 <DB9PR08MB6857FEB31CB6AEB6753519FF9EFD9@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210728102758.3269446-1-penny.zheng@arm.com>
 <20210728102758.3269446-6-penny.zheng@arm.com>
 <0fb3df68-c94c-c4da-bcd1-f1fbdf429d37@xen.org>
In-Reply-To: <0fb3df68-c94c-c4da-bcd1-f1fbdf429d37@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: D1C48AFAA24311448A4F381BF8E1FB87.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 3af97044-354a-4a29-6503-08d960839b52
x-ms-traffictypediagnostic: DB8PR08MB4572:|VI1PR08MB4591:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR08MB459122D812FBAF45BDFC547C9EFD9@VI1PR08MB4591.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:1360;OLM:1360;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 8uSg6yxrYli8W84qY//sgtupU7RrfXsFfk3qW9mVBVv+uPtglKJSPrFL8dka5nTMXFZ85M+xaBrdC5MlXGhCN0Bh6yX0M6vIiClQvZRz5lripkr/4DBC2Rsi8sKr+1/yhZUSnS7yn4Qo8MQO5QgkSwYk1BD/EIn6snatbHr702UgcSbhDn9VHtgK2NqNVX88c8DnRAVHufsQ+aAAkjOgffykYuTJLBt5VU0meYiX4R7ZDmyxdljCuuivRYjwX1VbOPax5zWcE9Q31sdGHwHJFez/0qqdxVjhNLnOyoNq9ARX51BpTl+HWur7cswOpnogXr3tbfzPMt62wdkkmBbZ4Q0FISRtuo4avCJvGryuy5oCeXpaF0nkYefCWqDoMj4tYvB93bHBuI8UcIF6MUddapAvh/xfnY+U8buDmkIuRAJfIPyUXWAQakaQysOGJvUnzCzK3ycyrGuxHLozCHs+KSoI+QV3Ivoe++nz+ixPPBVJl/1Sru1qWLKFkVsa7iEiLQ2FpjLHRWg5nJVlAlZXHzOh3L0BGuXGW47+shD3FNGo1AzbNeFRJrspsev0cd9xizE02fK5iL+pk/GsGOTA0bOWt6B2HVT//jzQ0wQMAyc3oAwINdO4f86Mz1X+2Nr976PM/YKos7UorxwiyQ3XTBXhBk0JxqabZDXmTTVoo3DIx+Ci3qHpUmbgKDlnueNah5uXVBQuvl5zxQGWPUDHVg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(346002)(136003)(39840400004)(396003)(376002)(366004)(2906002)(478600001)(4326008)(8676002)(83380400001)(26005)(38100700002)(71200400001)(76116006)(186003)(122000001)(316002)(66476007)(66556008)(52536014)(64756008)(66446008)(54906003)(8936002)(38070700005)(55016002)(66946007)(9686003)(110136005)(6506007)(86362001)(53546011)(33656002)(5660300002)(7696005);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?OXRod25pODdCUU5YeURTbzNUMW16WGp1bTNGODBveS93Y2RuMjdKU0NyVEly?=
 =?utf-8?B?SDB1b0o5aEF2c3ZOSVpUQkpqaWdDeHRnMEJVOHVueElOT3RzMGgwTGVkc3Fw?=
 =?utf-8?B?N3h6SFROdVNSVjFDVlYvY0F0UE1oZFNKRWVXZUpnN3FiWkpiWlpoMHNBcDY4?=
 =?utf-8?B?U3AyeUg0Tm9NcHlISGRMYTQ3M0FlcUprY0NvYlU4L2ZpMzZ4WFoyK1YxOW9y?=
 =?utf-8?B?TUxJTFhWVzdWNUJFSnYxd0g2Nm1XdjJNWFM4MXRIdXFYWmZCWGJYMkRON2JV?=
 =?utf-8?B?d3oydytyQndmcTd1Ti9kTjdlWlZmU3FOK1ZGQ3JBcWtUaENCK2VhVnBLNDR5?=
 =?utf-8?B?WExoUit0em1qb1V2c2Jka2ZGcGtxdVQxdWkxZVRqbnd1N0V5bFNtaTRxOU02?=
 =?utf-8?B?VVBmR2FMcU41UHBkOVRqZmg2cnRqSzlnL3JhWVJ0TUtYWVE1cGI3THdpaXVE?=
 =?utf-8?B?ZmNrYkh4M3dDbnNFMVgxbEJhcisrSkZlazhQcG4vUlQxaWxuNjQzM0w3VWox?=
 =?utf-8?B?dUQxVEZyNjR5ci9nU2ZZaGFFU2R2eTNMQ3pYNG83WlhSUkFoLzVhbTkrMnhu?=
 =?utf-8?B?K21RS2pYL2l5dHU5VEdZb2JWRk9vbUhZRFJYSVQ4YjB3MlNzcTA2YXZWN24v?=
 =?utf-8?B?eGxvVEljaDBqNkdhSUg5UjUzbjZLOE0vMEowUmNUZVMzK0NtazdzOHUycUhw?=
 =?utf-8?B?RzMrMmhsc1NETDFpWGdvQkY4TWQ3WHdqanRGYWM4R3ByM09PWE5uZEpnRnU2?=
 =?utf-8?B?OTlsV0dwbW9zSkRpRFpObXk5M2xwbzY2TWhkcXJucmg2OHUrcjZGL0N0RjAy?=
 =?utf-8?B?djE5RWcvMlcreTNFMWZIQUVHSk5NK2RPV2FxSjVhOU8wR09UTzVYYXNWZ25i?=
 =?utf-8?B?ZFREZlZ0WFJkRmZiYnU5dUF2dmppN1k0VU4yK3lsUng2aENOVkpXQWM0RFVE?=
 =?utf-8?B?YjRTOHd4RHBTTlF2RlZ5Qmk3YVBvdC9TM0ZvWDRlNkJPNEVQU01ZQXpLbDVE?=
 =?utf-8?B?VnhDZE0rL0J5OHVjSGxNSDkrK0tNb0I0UnpWNTN4LzZGMDhQVElvaXJ0SW55?=
 =?utf-8?B?MDdFTDNYeVpVRFl5Ni9PVC9ZdlNuOVFjNGVRWHFZMDBBdzgzb2VrYUVwdFox?=
 =?utf-8?B?VWtwWGFFN2RxMlFxdy9nS3pFeDlFNTNWSWhza2pRcklDeU42YU9VTVJyQWdE?=
 =?utf-8?B?dkc4eVk1SHBoK0t1elZzcGdkZzBXMTh0TGhsUEliSWJJYWw5OXkwbjhYeXVo?=
 =?utf-8?B?K3BhcUVWMVRrOXF0RFdwNjdPbTdpZnBJOHVrMVF5akdpZEJTSjlkWGVvdTE4?=
 =?utf-8?B?QjFsM2xSTFNOWmxSRGdZaTVLYVpYQkQyTzFXZk1IOTNJOW5OUmVodXl6c2Nk?=
 =?utf-8?B?VzBycGF5VGowZ1lKc2hkRER6bE5mQnZyckZnVGN1V2k3a2syYXhtQjRHQzF4?=
 =?utf-8?B?ZmtEbE9Ob09sdENXY2hKV0pqemIycEYvNXY0S0tTdnRiOWhKRHpUOWdYNGZF?=
 =?utf-8?B?UVh1RUFHZnY5VmZNQm5RM3JDS2VQL0lkQTBjZ2hRbE1GUzdIejZBQmExaUF2?=
 =?utf-8?B?aXc3TmoxQkpVaFpqVDE4WVRFNHF0NXpGMTIzcC9tZFJ1WHZueHFhYnV6di9S?=
 =?utf-8?B?T1U3OS8rdC8yaVZRaWFkUW9id2VpVndjanY5TUtUR0tVd3p6S1U4MFl3eTB3?=
 =?utf-8?B?WjJINmpzSEkyTGpHc0lBYTBDT043WVhBUkZvVHJveEQvSkhMY3lRaXFCYjd2?=
 =?utf-8?Q?zAHBoMKQzexd6FHTVevbnYcHP1k0VzTI6Gl8ytt?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB4572
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT015.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	bb1647b1-e6cb-427a-0fcb-08d960839734
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZODKgpiqCQRaA61OvWkjF5q6NY5nWXpa35aG4on/EV9MVXRwWt0ewVaQ3w8BILJv+DcNOGzpbtFes5xTQS9ekzBGDam31FeIyESu7WIAPlBsKnQEUDbef/ArWbIpHNQu6NeLVckPr4XpBprGwvciTbWyCrdZbqpTi1ttmj26BA/B51LXaagGkAMVkJdcrTRfJ+tL0O4eCMDlHMD1aG9Qs5y/nus3kXa+nubAt7XO4O325m+cMI+XNcwWyU7JXSG9CwQ1BgUBskte9SLxcYWIG59Xi8KMekw18AdkrbgTKmUMJ8nCZ7+BnFQ1jAgJE0/Mxaxyxbe6FZ6QslhB/DGr3/atN322+rpIPO7maPYUhGLpCd81aB1PipCwlNKEKL5iMWqs/Hzfi0LEtVpBMQcQcJDUT8RMI9buLF59go38CEJehNFyykhd5ahQB9wG1nJXZkxUdtzGG/CX/izBMxQ7/Hfjj2M1tmfrV7dww3UYwIprOlKXnTXfkt0hrUuNaV750cc/d773HaQHndZr90wQrjB3MwjZL+Eomr3nGoZv7jcHFj9m7N9nzmht3BGcxGnlFM7t82caUnPQ/gNG+l1YAf2M8JHWbROJUy2A4zjb9AI1vwQh2QBeRgtW66vD6nrqwnyR4Bq3uCigvqj2QQMzLtp9bMDGfIm/yvCB3tDmOZqulS7jzRiRnlY8bld1Ev6XLgKtkuJxnV4ll5Fq9ASEkA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(39840400004)(396003)(346002)(136003)(376002)(36840700001)(46966006)(52536014)(6506007)(9686003)(86362001)(7696005)(53546011)(55016002)(356005)(54906003)(110136005)(26005)(2906002)(36860700001)(5660300002)(81166007)(316002)(70206006)(478600001)(70586007)(186003)(4326008)(33656002)(47076005)(83380400001)(82310400003)(8936002)(336012)(8676002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2021 07:01:01.2416
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3af97044-354a-4a29-6503-08d960839b52
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT015.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB4591

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMTPml6UgMjA6MzgN
Cj4gVG86IFBlbm55IFpoZW5nIDxQZW5ueS5aaGVuZ0Bhcm0uY29tPjsgeGVuLWRldmVsQGxpc3Rz
LnhlbnByb2plY3Qub3JnOw0KPiBzc3RhYmVsbGluaUBrZXJuZWwub3JnDQo+IENjOiBCZXJ0cmFu
ZCBNYXJxdWlzIDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+OyBXZWkgQ2hlbg0KPiA8V2VpLkNo
ZW5AYXJtLmNvbT47IG5kIDxuZEBhcm0uY29tPg0KPiBTdWJqZWN0OiBSZTogW1BBVENIIFY0IDA1
LzEwXSB4ZW4vYXJtOiBzdGF0aWMgbWVtb3J5IGluaXRpYWxpemF0aW9uDQo+IA0KPiBIaSBQZW5u
eSwNCj4gDQo+IE9uIDI4LzA3LzIwMjEgMTE6MjcsIFBlbm55IFpoZW5nIHdyb3RlOg0KPiA+ICsv
KiBTdGF0aWMgbWVtb3J5IGluaXRpYWxpemF0aW9uICovDQo+ID4gK3N0YXRpYyB2b2lkIF9faW5p
dCBpbml0X3N0YXRpY21lbV9wYWdlcyh2b2lkKQ0KPiA+ICt7DQo+ID4gKyAgICB1bnNpZ25lZCBp
bnQgYmFuazsNCj4gPiArDQo+ID4gKyAgICAvKiBUT0RPOiBDb25zaWRlcmluZyBOVU1BLXN1cHBv
cnQgc2NlbmFyaW8uICovDQo+IA0KPiBJIGZvcmdvdCB0byBhc2sgYWJvdXQgdGhpcy4gV2hhdCBk
byB5b3UgZXhwZWN0IHRvIGJlIGRpZmZlcmVudCB3aXRoIE5VTUE/DQo+IA0KDQpGcm9tIG91ciBj
dXJyZW50IE5VTUEgaW1wbGVtZW50YXRpb24sIEkgdGhpbmsgdGhlcmUgaXMgbm8gZGlmZmVyZW5j
ZQ0KYmV0d2VlbiBOVU1BIGFuZCBOb24tTlVNQSBzeXN0ZW0gZm9yIHN0YXRpYyBhbGxvY2F0aW9u
LiBNYXliZSBpbiB0aGUNCmZ1dHVyZSwgd2Ugd2lsbCBhZGQgc29tZSBjaGVja3MgdG8gd2Fybmlu
ZyB1c2VyIGFib3V0IGNyb3NzLW5vZGVzDQpjb25maWd1cmF0aW9uLiBCdXQgbm93LCBJIHRoaW5r
IGl0J3MgYmV0dGVyIGZvciBQZW5ueSB0byByZW1vdmUgdGhpcw0KY29tbWVudC4NCg0KPiA+ICsg
ICAgZm9yICggYmFuayA9IDAgOyBiYW5rIDwgYm9vdGluZm8uc3RhdGljX21lbS5ucl9iYW5rczsg
YmFuaysrICkNCj4gPiArICAgIHsNCj4gPiArICAgICAgICB1bnNpZ25lZCBsb25nIGJhbmtfc3Rh
cnQgPQ0KPiBQRk5fVVAoYm9vdGluZm8uc3RhdGljX21lbS5iYW5rW2JhbmtdLnN0YXJ0KTsNCj4g
PiArICAgICAgICB1bnNpZ25lZCBsb25nIGJhbmtfc2l6ZSA9DQo+IFBGTl9ET1dOKGJvb3RpbmZv
LnN0YXRpY19tZW0uYmFua1tiYW5rXS5zaXplKTsNCj4gPiArICAgICAgICB1bnNpZ25lZCBsb25n
IGJhbmtfZW5kID0gYmFua19zdGFydCArIGJhbmtfc2l6ZTsNCj4gPiArDQo+ID4gKyAgICAgICAg
aWYgKCBiYW5rX2VuZCA8PSBiYW5rX3N0YXJ0ICkNCj4gPiArICAgICAgICAgICAgcmV0dXJuOw0K
PiA+ICsNCj4gPiArICAgICAgICBmcmVlX3N0YXRpY21lbV9wYWdlcyhtZm5fdG9fcGFnZShfbWZu
KGJhbmtfc3RhcnQpKSwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYW5rX3Np
emUsIGZhbHNlKTsNCj4gPiArICAgIH0NCj4gPiArfQ0KPiA+ICsNCj4gDQo+IENoZWVycywNCj4g
DQo+IC0tDQo+IEp1bGllbiBHcmFsbA0K


From xen-devel-bounces@lists.xenproject.org Mon Aug 16 07:03:57 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 07:03:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167193.305163 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFWf6-0006UT-7v; Mon, 16 Aug 2021 07:03:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167193.305163; Mon, 16 Aug 2021 07: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 1mFWf6-0006UM-52; Mon, 16 Aug 2021 07:03:56 +0000
Received: by outflank-mailman (input) for mailman id 167193;
 Mon, 16 Aug 2021 07:03:54 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=3tuO=NH=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mFWf4-0006UG-Mq
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 07:03:54 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 1ce424ac-fe60-11eb-a444-12813bfff9fa;
 Mon, 16 Aug 2021 07:03:52 +0000 (UTC)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2051.outbound.protection.outlook.com [104.47.13.51]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-38-dTPtAkxEPqGv5Bn1D-OxfQ-1; Mon, 16 Aug 2021 09:03:50 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5741.eurprd04.prod.outlook.com (2603:10a6:803:df::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Mon, 16 Aug
 2021 07:03:48 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.023; Mon, 16 Aug 2021
 07:03:48 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR10CA0047.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:150::27) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16 via Frontend
 Transport; Mon, 16 Aug 2021 07:03: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: 1ce424ac-fe60-11eb-a444-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629097431;
	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=1xGu9G/uWz3ddAtWlgVp54klV3LYSk/IFZxilkBLbiw=;
	b=V5CanD5adZ1BiZ1lfxPXMLKIBqwD1m9QPSRCj4A89YNrsgVJ4oLBzaJJ8FDv6dQAVBfLRa
	x0jSpHa5CyWv+skV/72uBbYmo/RUhcZm0s90XxN34zBxBqjVRKCZ3VOZ7nUGKoUKH2qk8V
	55YguaEZnfBH0j8X+wWwvQEbb4CRSA0=
X-MC-Unique: dTPtAkxEPqGv5Bn1D-OxfQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VKyvR3A3qu/KoBFlqR54FCaFFxNL/50ZdwuQThFc/12EqV8E7ZP1zWketrZWDXJ3TqBQ61s6Bq4zwnZw6d1S2vwcJVccWPKOtpQKrVFsu3mDlrCMHLzI+SFzF8ZIN1tB2sK3zuUOQjIJwRfT5fsizEXQIVOb929G7xCj+08ixqHwWKE5VYNas+ePAN7OvkzRT7oqvMIRvoJUl1nLr1FAiQSG3vabYONP92WwFE1pJhIOngdIIRromBNXFWxM0Bq+XbPyhGVAZtSF2WR2Pn9xOsnyiby7tLGJwJXAu/LOboBvE2jVEXfww2MY4VkmOjTggf751j2qoagRM7WOLEIFEA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1xGu9G/uWz3ddAtWlgVp54klV3LYSk/IFZxilkBLbiw=;
 b=Xl3YmjO0PU1zEngehpfbAfdpqvJShOAmUKc/KxkY9dZ4H7vB6h3/t/i4cvtc70NZIbTbZinMKAml0g80rT73hxHbocrX8PArRf8BNTCBBi5I7M4X10Z6l6+APkgd8p86a+IdBXgTuUvNtR2XGpFXYmh1ropEJ0RHbULkkbC8PR4GfiHaKug+98gUFaPtszVtSwoJxryO4p6F0l9/Jjy+11FACd3ofW2OohvGQHyRaqxvq1z5WV8Xgdrplrrzla3md9aj87IYc47qiq/wTXBvPa+/IjMCfcdmXq+JRWY6m47ce42g24UeyVhyLVSyZEXLlVpWS6O4UnKKYGCKBDxmcQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [xen-unstable test] 164195: FAIL
To: osstest service owner <osstest-admin@xenproject.org>
References: <osstest-164195-mainreport@xen.org>
Cc: xen-devel@lists.xenproject.org
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <0ee3f99c-0ca1-18e3-f8ab-e2f10f435720@suse.com>
Date: Mon, 16 Aug 2021 09:03:50 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <osstest-164195-mainreport@xen.org>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM0PR10CA0047.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:20b:150::27) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 9ecef39c-c252-4941-74c7-08d96083feff
X-MS-TrafficTypeDiagnostic: VI1PR04MB5741:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB5741BB5B839CC4ED29612861B3FD9@VI1PR04MB5741.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8273;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	q0LdY+yngQHXcRjd1jXm8kGHqu7ubYDaualp8qZ8mHKJvlwklGgUDjMSD3FAlSTcsUDCXtv5j1t4WFioWaYlau5UvJQL8IqWJ/CkqVWXU4+TFI2cid7MBtMei0oKPauqzMCdSOM/RIJ84uIo56UnZ5PzRJZJsfHqTgdfuRHFiKq052WRO9FQmWXYLPpH2aNYhIOqxzPXa2TcEd4IrdeFdcsBA7mSF0Xz+0rpXmCaET/DWiNCrtS2jJ2VGeAxncrdjaQ2pdqEuShpzouxTOSe9WXg455ymYfghsP6cJlC2crzyT3erVJerrQCTHvoxhKcKn/Vp2vRKFqPB+lwW/X5qzY3yMemmOcAmKxg/KIw23hibZOpO5f7dk59pewhf4dBgCr9kiXr3OgCSVHixnoCZY4LMjSy6Ue7ayt0r7ErHtLOfx03bcMGo9xtcuzHAiUey5efy5pECKJYBtweHsGlBTaTV7QEzSi3wwPaUrfF1GD2w2059TxAyBt05+nPjSHxsvAG2YhEHTle2uKfTGsp4rQ3smH13c8dJf6A3rLg2umzaz7muT61WeLtQmx8NNgiWvMnjCeJJIqdPYq4Lo9+hF8i9Jtie4UGPAY0dMIJAyEj1rQWso6nTknzrKtPycYNXAtR9CU5dn5kZ92u4ben0csNMQMm/cFrKbWeXw5X6BoF71vl2LDKZY+toPOX62Ox1ryfsHp/UpbDIiACgDkMKLjFYNyUZx8JTQ0RHaJYJDPx1+o8gFq9F3zioBPFcJkJ38MbspSLTFO5pKk0vxWLu34cI2yAv2M2pFs1u98pMqjau5XiEn7v3tH4rtgWGxWZ
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(26005)(36756003)(31686004)(508600001)(53546011)(8676002)(38100700002)(186003)(966005)(8936002)(316002)(16576012)(956004)(2616005)(31696002)(6486002)(66476007)(66556008)(4326008)(83380400001)(6666004)(5660300002)(2906002)(86362001)(6916009)(66946007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MCtNcDd3cEwzQkk3K0NSVnNkZGxGYzNDYmpmU1IvN3lCZ2NsRW5VdHREUjll?=
 =?utf-8?B?UUVadzA4ZFh4OWtsaEFUNzZ5M0JocDRadzRscTZUYi8rNmQyY2JNeWZocTRI?=
 =?utf-8?B?MjVyTW5kc2diUU0vSVBhcHo5VlcyL05Za3lPK1VxR0JNT0lKTXE4N3RpTW1i?=
 =?utf-8?B?eTdWWnJzbXkvOFpHU1lHUVpzaVFyYWhXNytXOFhsK3ZCUDhxUHlGUStPT3Fy?=
 =?utf-8?B?QjRsblhCaFlYM0wvS3hOMXY3QXo5Y0V1TGFib0U1WFNLcXN0b3VXL2dvaGM1?=
 =?utf-8?B?NmV6Z2ROT29UK1MvZGp4RTJLVnYrYWN1MjdaQlFGZG1tNTZlZVU5VnNBS0Fu?=
 =?utf-8?B?bC9PcmxQNTZzaExnZlFFeVdBSWZKa3BJRnF3Ukw5ME1DRHltaVZGWUp4SlMx?=
 =?utf-8?B?SmhMSjZ3a0Z3NW5QWVYxcUt6WmhCNzJESnk0S2Vhc3ZudUFmV1JXdDUyOHFH?=
 =?utf-8?B?T054bExwUWJCSFpKT1V1VXlLKyt5aThTTUs0SWdIMmdBb2JqN2lxR0JZdGhI?=
 =?utf-8?B?cEdGeTQrcUpCc2t1SUNlVG1xbE5aNG1JT2EydlY3c2hqamdMeFdDcld1MVo3?=
 =?utf-8?B?aEt2aHlkSzZjaUxKUStBZlRyNThrZ2daNGhIdkhieEg1bG8vQmdPWFl4R0da?=
 =?utf-8?B?eEdUbjdRVFdkc0t4dFBrOUlBTEhJRlAvMVlKaytaS0R6NGg5Mkh1b3hiK2Jk?=
 =?utf-8?B?eUMyVmNHdXRoM3FlZDJIV3lISHNWVHR6S0dyYm5mTG14VVhnZUNmZkVobis0?=
 =?utf-8?B?eG5QQTBIWFQzN1lLZ2JzbVRlNWFGVXZ5TTVVSkhNa2JnVWtLRjJFMHVRL2Fn?=
 =?utf-8?B?Y3NqR3lPWjlEQUptNkJua3pCRDVMR1ZJaS8zbUo2QTlQZElqby9SM0ZCam5I?=
 =?utf-8?B?a2FKdmdMUlFBSHJvSFVMZG1hOE8xdUNVMnV4Vjl2SkxzQ1U5dmxpeiswL29Z?=
 =?utf-8?B?QlI4bUk0VXV4bzVqQWNpL0hsdkFiTU1mNDZ5NE1maGZ4UUx0RityNTdtNS9y?=
 =?utf-8?B?TUxodGZucmFmbi8rQnlLU2JKZ0pmQ3JBVTdlZzZYaXdIUnFSc200YWhaUFBQ?=
 =?utf-8?B?Uk1YNUM1Y2IyMDhYK0RIa2Y3NjVIakh1ZmFUTXFMT1dVcTVsRjdPT0NmaDRQ?=
 =?utf-8?B?U0tOZXVRcDk1K1JqU3o3OThzL0RVaXRJd1puY200dUsyTHNveTlKeGN2bjJE?=
 =?utf-8?B?RU5rVm10N0dycExXS09EdklhWDlrUUl2RWp2VStkSEZKSnpCVGV4U3FzSDhk?=
 =?utf-8?B?YklybGU2dXV1eDVxRURyOXNxUitTRXVVR1ZNZlJTZ3lTSHpUNGhvczJzWmt0?=
 =?utf-8?B?cnU5TFVOc0pFc0VxbkNTMndlbWtveHFZUmdvVG9DWExnbytIYUpscGF0WGJk?=
 =?utf-8?B?UDhmcDVsLzNYSGNkWnJQU2piS2FtS3h3MXpxS2ZlWlNHMWtHWmhWbGM0YlF3?=
 =?utf-8?B?WW0wc3prL0ZVc2pZS21rSVhydU84cXA1VG4wa1JTaUFSNTNSYms4ODd0dEFG?=
 =?utf-8?B?NWRRZGxVOE8wWWpId2dlQVBhTGcxOFY4TWo3N1JTVmJQREV1ZXpiUno0Z2p3?=
 =?utf-8?B?OWFLOGo3ekZvZ25BQ1dFbm13ckpidUlkbmtkWitzTTRiYUJGVlpHVjNvblBV?=
 =?utf-8?B?SzBRbkFnWUw3VlR0d3FiQk1La1pCUUIxQkJHT2k0QXhtSnJQVVlFV1dRMGtV?=
 =?utf-8?B?aGRFNmtkTkpVNUNydzNLdmRGOTdvSnYxOWZocCs4N1BFVUhDd1FsallxZDdk?=
 =?utf-8?Q?2KshgZt2EM7vIPcsmdsUiAk9fRGrG8B2ojTPMRz?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9ecef39c-c252-4941-74c7-08d96083feff
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2021 07:03:48.5761
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +kn9eV1FqnmUOnAzBsl4FE7TEGZDzA5mOkQS/rBL4cWpw/ZKZtRBvsWfLpO+oTUeiVmWxffpjUI7RmqGkITYEg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5741

On 16.08.2021 07:50, osstest service owner wrote:
> flight 164195 xen-unstable real [real]
> http://logs.test-lab.xenproject.org/osstest/logs/164195/
> 
> Failures and problems with tests :-(
> 
> Tests which did not succeed and are blocking,
> including tests which could not be run:
>  test-armhf-armhf-libvirt        <job status>                 broken  in 164186
> 
> Tests which are failing intermittently (not blocking):
>  test-armhf-armhf-libvirt     5 host-install(5) broken in 164186 pass in 164195
>  test-armhf-armhf-examine      5 host-install             broken pass in 164186
>  test-amd64-amd64-amd64-pvgrub 12 debian-di-install         fail pass in 164186
>  test-amd64-amd64-i386-pvgrub 12 debian-di-install          fail pass in 164186

Are the last two perhaps connected to

Checking the Debian archive mirror  ... 25%... 50%... 75%... 100%
Choose a mirror of the Debian archive
-------------------------------------

!! ERROR: Bad archive mirror

An error has been detected while trying to use the specified Debian archive 
mirror.

Possible reasons for the error are: incorrect mirror specified; mirror is not 
available (possibly due to an unreliable network connection); mirror is broken 
(for example because an invalid Release file was found); mirror does not 
support the correct Debian version.

Additional details may be available in /var/log/syslog or on virtual console 4.

Please check the specified mirror or try a different one.
[Press enter to continue] 

in the guest log?

Jan



From xen-devel-bounces@lists.xenproject.org Mon Aug 16 07:34:08 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 07:34:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167199.305174 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFX8D-0001BT-Id; Mon, 16 Aug 2021 07:34:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167199.305174; Mon, 16 Aug 2021 07: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 1mFX8D-0001BM-Fl; Mon, 16 Aug 2021 07:34:01 +0000
Received: by outflank-mailman (input) for mailman id 167199;
 Mon, 16 Aug 2021 07:34:00 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=3tuO=NH=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mFX8C-0001BG-Cu
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 07:34:00 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 5128d6a0-fe64-11eb-a446-12813bfff9fa;
 Mon, 16 Aug 2021 07:33:58 +0000 (UTC)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2052.outbound.protection.outlook.com [104.47.13.52]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-21-o2D_vRRsPGmG8glei9UT2w-2; Mon, 16 Aug 2021 09:33:56 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0401MB2336.eurprd04.prod.outlook.com (2603:10a6:800:27::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13; Mon, 16 Aug
 2021 07:33:52 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.023; Mon, 16 Aug 2021
 07:33:52 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR01CA0168.eurprd01.prod.exchangelabs.com (2603:10a6:208:aa::37) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16 via Frontend
 Transport; Mon, 16 Aug 2021 07: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: 5128d6a0-fe64-11eb-a446-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629099237;
	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=hRsf1eJwiMmHTAqVEBhOweeGc6Jif7zqzzKVDHl+gvs=;
	b=mZY+X1NI7OLLGBcoKENKMSoOl8svXTmaf3KC0vI0fZ3a+xYhHOdFrkDefHNYBGdNtEk4bU
	Flf+LmN57fl11+ZHJFlJCEeWe02jvMDYShAUFVSy296DO+UxzL+x8OVQQTOQUqe+XXJy+/
	NSswXH2Y1o4ioqmAd1VJ918dqwHpAS8=
X-MC-Unique: o2D_vRRsPGmG8glei9UT2w-2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZthXemOsl13j0q/+y1tfrzr0sxk0RQRmE4kvLQSuuJmLbjl5m/X+vVYFzB3R2Z0TayxR0IHNb6GyzdfEkGEHolM2m8zp+m8TEl68law6Vde0pCLMMhLRh8zLF8DRJcGyeDcsdkUhxDrORnIBD3+RcMuQvsF2QaTsqL8gzS/cRRkmuuHj0LhUcQ2qtxSnb4k615SNCF1rp2+0vdLSQuZHredK1WUeWRCaq2VZDSnK6pdNUcNVdxqzPrSy498ALdEyMG9dDyq6sNR0doZEorNE6d03SESK93AQn/TrmuUSjrXIQRO3kL/HG9fF/SQL6Mx1oMt7gXu+UT/jXO20F8pT/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-SenderADCheck;
 bh=hRsf1eJwiMmHTAqVEBhOweeGc6Jif7zqzzKVDHl+gvs=;
 b=ivBO3dA6jKi2RuuOYulbMjUMY5tMtDSTZU3qAA806iaOVUh+IZF8mG93/LsUD3hfHTbSD8BWnnOMuC4aqxAwWeSn4KY/qtE/qPdGK/UzTnAHWfUqb06jXv6d+Ub8BClmimzI5LVxbgjIfhnNQtBIgkLEMLfQ6VBWWWH7GSc6Uik0VVcQRXDQ0xmly4n4lBbe3mu9dXPnH177En2mJ72QsOaYIx+uknr2LyMVu0Durh7q8W9dPfQR6m/CROEEnrnE1BhbOzSEFNjZE89oYXg8K4e5RrEbOsUIwEdark8PvAUy6QJuY8/KznYKpBf7abXOIH3qmriAgcz2wbEoq+Lv+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
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [RFC PATCH] xen: Introduce arch specific field to
 XEN_SYSCTL_physinfo
To: Oleksandr Tyshchenko <olekstysh@gmail.com>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Juergen Gross
 <jgross@suse.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <1628897304-20793-1-git-send-email-olekstysh@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <908e2d59-41f0-3bad-6030-b2889d9c5cc2@suse.com>
Date: Mon, 16 Aug 2021 09:33:53 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <1628897304-20793-1-git-send-email-olekstysh@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM0PR01CA0168.eurprd01.prod.exchangelabs.com
 (2603:10a6:208:aa::37) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: dbe3b8f4-5e04-4491-fb8e-08d96088325a
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2336:
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB233691F4FABC82E959EE4D1EB3FD9@VI1PR0401MB2336.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1oxdFssjpO4mMzlGhqYKs1NbbRBvWBHq0OPed8Y7XEv2JY7kP5kgfhhERM7l/A6LoJdyfqbqtTyEVv1P3e8VPG/IFYktf9NSGQj2Lh4ksH5sXa2z6BdXwXJCdm3IBN58HZxSuKg7ud4SH31GD7P8LclJOxagOYZdzF38OIVFBkicaUhHx2no7o1Tg6eT5SxWJgL4Pf7DHakrpirU5aBocAIsQWiDpe6zzvh+v8dDpxMeMdAdzKg9KTPnP7Is98feJFLjgkds5xgxqDNxQcArCUQXFt7K9De5UhaNVGmqQG7MlAU5Dwk1X6dL+g1XjwF2TYRkLbhTxKYRw3dLgrPmNIhbqS39g1xvXYsJzdJPLjoX6O948owtTL0DXqJop/JwNAbMU4BDC3fatZfzLJsb2Geu3jzgTwBGEHEiX4zOjk9ZXE3/IcJy6qe24aReR+67EloY5Iiu/wdpwZ+qJI1daKqIJRYYXL7ulhqwqd9qn3JIqg9iJDIs96uM2dI+YXp9Xsz3bbfZ2q+qAAGJi62itN6vJBAXPyers/MXBll+NvQ2hNEMV1tEdac8YqyitHK+vrydJ49OhQY2q8iCPSo6QWtLwd9bB4ZKO+cMuJzd+R2lq9V1oVmfhQZ+nqKLqSbB/SD+ZynZ5WNyqEkD6K8iKlybKX4ZRk0mw/Dz2ZPBudXiPzfYYMBObPO/33ZBURT7YRuSrihimq0fX5JFVZaSjQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(366004)(136003)(39850400004)(346002)(376002)(31686004)(186003)(6916009)(16576012)(7416002)(54906003)(26005)(2616005)(2906002)(5660300002)(83380400001)(316002)(4326008)(956004)(8676002)(36756003)(6486002)(66476007)(66556008)(66946007)(53546011)(31696002)(8936002)(86362001)(478600001)(38100700002)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K256QUF1UU9udmM1MkpER2d1MjBqK2hzZEVRYUVjSGdRUWU5a3UzYmYzQUE1?=
 =?utf-8?B?Sk5meGhURUQzTU95UnlmdWxSUW14bzdHNnNoMkhwYWk2bnRnTGlDNGhmOWFs?=
 =?utf-8?B?dFVTczdycXRmVXlJck5HUy9ML1JUUkk3cERmTlZvUmFkQm1kckk4TDYyRVZu?=
 =?utf-8?B?cjJzOVlvMVVKUlMvUitGb3JvajZ5SGNDc0JpcitBZWV3NmVYeUVxeEJzeENp?=
 =?utf-8?B?QXpTTWJSVCttZmloZUtvVUlvNUdnS3JJSUNJUS9tSU5Ycm9WTzFJaWRiZWRI?=
 =?utf-8?B?azFlSExONnJtVXAvSWVyZk5hcVhOR09HUW1ub2JCQVJvNXpzQ09TZEpwZXB1?=
 =?utf-8?B?ZGdUQUk0aUpKN0szN3JnVVJUZ2RPM0FFVDRuV0tLT0NxdG5SeERUdmpjMW9u?=
 =?utf-8?B?ZDRlWW9HdE1DQm45bjhLeDJ6RUhLekxneWRHcExMNVFReW12TFRzYVVhcE51?=
 =?utf-8?B?UVoveUl0VExlNStZZjFsNytjMjdUZmVrNlFqL3hraEZiQ1I4MTY2S1EwMVVh?=
 =?utf-8?B?TGNjSEQ4THhOQlphdjhnZEFpenF3Z2sySGRUUzF6MWs4OE93S29SMjU3SEdN?=
 =?utf-8?B?a3NYVTA0ZWZicUlaMVVZakl3M3VsZkZ6c3BwMlNWSTBXSUNQcVZqbW5FdDBV?=
 =?utf-8?B?R3FpU0psbmhZTnNvMlBqV21QTUxqcXIzWWNMVjV5cHEvcy91U051aFdCQkQy?=
 =?utf-8?B?QjBXb3haOXV3Q2pZaDFncTBLZFM2NW05cEV3ZTBmcGxnaDdQR0lQZS9lMnVs?=
 =?utf-8?B?Y1I3UGE4ZmQ1QURkYzJib1lDazBETE5RVWdoUVZKTnhBR2o5N2RCYVJwejQ3?=
 =?utf-8?B?WWhsMXRic2RwNW9KbHN5c2VRSVZwSkEyZkZTZkNzRlBPQUdpTURoenJKVmFO?=
 =?utf-8?B?WUJzeFliWUM2cjhUUFFWaXJEbkRuZHF2cVF5UVJXZndFWENTV3hLNm12Wita?=
 =?utf-8?B?REtpV3VQT1lPemo2ZEdqVnl5VzlkRzNmOGtTbjR1bUFKdTFOOEw5eEl6aFY4?=
 =?utf-8?B?SWFzYWJtNyt0eFJGbmhvdDU4TUNTNGFkU09aZ1QwN0kyaXBJZlp5UnpqU3VD?=
 =?utf-8?B?MENra2VSR1dhZWpDWlE2OHo5bmd1ZU9Yelo2UEIwbndRUDNHaUtNSjNVSENj?=
 =?utf-8?B?b3hoM3lqTG1zSDZ2UzR6NkF1aHp2ZzBwMnRjanQ4VHJRNi9uREZNd1ZMNnNa?=
 =?utf-8?B?ZnRib0h3MnpxOC90VFFtQ0JGT0xzN292ZFNXMW5PSDFDeDNNTWtoRFJiMFc3?=
 =?utf-8?B?RWtqRjZXZEJ4V0tIRVVZdWlEOUhNdUpFOEMrTEFMRXVGRDNKdWtBUWdsdjNz?=
 =?utf-8?B?N2lxUmFNNGhEcnRkR3I5eitBOXo3T3VpLzdrTnQxYnI0K1NrNDY3anFkQjBi?=
 =?utf-8?B?Rkg4SjJ5cVlQaWxmV1IrM1AyU0JYZlQyMUExRW5hcVA4QVJzaXRjYTlKSnhn?=
 =?utf-8?B?Y3U2dEFnTHc2YkoxZXh3STZpa3dpNVp1VTJKQjVkcG5Ha3BCbjJxU2t5OVN0?=
 =?utf-8?B?SnNZZ2FCdXVNR2lPVXZDbXRQZWtLYU0vOXQyRlU1eGNHdElrNTR1alV1eklW?=
 =?utf-8?B?UlN5OXlZclcyN0x5VnRtQkNqRFpmWEVxMlBLQkZoeWY0VXBoSGNXZ0RJVUtU?=
 =?utf-8?B?VXgyRHVRVFFMejNTVW1rRE8xNWpaWGR1alg3TjlMNkpPMFpBQzBvVHBMWkhz?=
 =?utf-8?B?b2U4NzVscjkxRUFjeG9Gcy9GcjhBZ1FMM29vaTZxbkRZNDJUQUhBSG1DcEVT?=
 =?utf-8?Q?IafFRw7XtCk1RBdLngbYt5wht/YFNP5dY9nRaPC?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dbe3b8f4-5e04-4491-fb8e-08d96088325a
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2021 07:33:52.6957
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: sykiDi2cao+R/8RblrAa+zjlNdT0VCk+QoMCfK7+2iSDsW2PmWGn94ZGFFuOcizEeRHEF3jaUbo3yA9wvS30HA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2336

On 14.08.2021 01:28, Oleksandr Tyshchenko wrote:
> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> 
> We need to pass info about maximum supported address space size
> to the toolstack on Arm in order to properly calculate the base
> and size of the safe range for the guest. Use p2m_ipa_bits variable
> which purpose is to hold the bit size of IPAs in P2M tables.

What is "the safe range"?

> --- a/xen/include/public/arch-arm.h
> +++ b/xen/include/public/arch-arm.h
> @@ -332,6 +332,11 @@ struct xen_arch_domainconfig {
>       */
>      uint32_t clock_frequency;
>  };
> +
> +struct arch_physinfo {
> +    /* Holds the bit size of IPAs in p2m tables. */
> +    uint32_t p2m_ipa_bits;
> +};
>  #endif /* __XEN__ || __XEN_TOOLS__ */
>  
>  struct arch_vcpu_info {
> --- a/xen/include/public/arch-x86/xen.h
> +++ b/xen/include/public/arch-x86/xen.h
> @@ -346,6 +346,8 @@ typedef struct xen_msr_entry {
>  } xen_msr_entry_t;
>  DEFINE_XEN_GUEST_HANDLE(xen_msr_entry_t);
>  
> +struct arch_physinfo {
> +};
>  #endif /* !__ASSEMBLY__ */

While the term "p2m_ipa_bits" surely isn't arch-agnostic, I wonder
whether the expressed information is (the x86 equivalent being
hap_paddr_bits, at a guess), and hence whether this really ought
to live in an arch-specific sub-struct. If indeed so, please name
the struct in a name space clean way, i.e. add xen_ as prefix.

Also please retain a blank line before the #endif. I wonder whether
on Arm you wouldn't want to add one at this occasion.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Aug 16 07:42:28 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 07:42:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167206.305185 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFXGL-0002gc-Ih; Mon, 16 Aug 2021 07:42:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167206.305185; Mon, 16 Aug 2021 07: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 1mFXGL-0002gV-Fi; Mon, 16 Aug 2021 07:42:25 +0000
Received: by outflank-mailman (input) for mailman id 167206;
 Mon, 16 Aug 2021 07:42:24 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=3tuO=NH=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mFXGK-0002gP-Cb
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 07:42:24 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id bc4cba46-5666-47a1-abcd-28997cda72ea;
 Mon, 16 Aug 2021 07:42:23 +0000 (UTC)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2058.outbound.protection.outlook.com [104.47.13.58]) (Using
 TLS) by relay.mimecast.com with ESMTP id de-mta-5-9CuptK8ePDSmxgPha5KMGA-1;
 Mon, 16 Aug 2021 09:42:21 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB7038.eurprd04.prod.outlook.com (2603:10a6:800:12d::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.19; Mon, 16 Aug
 2021 07:42:20 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.023; Mon, 16 Aug 2021
 07:42:19 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FR0P281CA0012.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:15::17) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.9 via Frontend Transport; Mon, 16 Aug 2021 07: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: bc4cba46-5666-47a1-abcd-28997cda72ea
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629099742;
	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=bnJ+xxq9ZFGYCNpJ4DOduOBNEmyZdlG+wADsSLwFbNI=;
	b=OGkcVc+0IR4n9nb+mvgwgTA6Zav0LYlP/JWruwBhvvC5KheVom8fYSfbxz9XgYUTA5Seb3
	OJIrxeFTkUsGN1JDBlwx5QaI4mY2bORdLX9Cy++lXWjAnsA7SoQ17aiAvPURuFoJBABa3m
	VS60+oQ0q+Jq0gma3S8CeEU5IFTjORY=
X-MC-Unique: 9CuptK8ePDSmxgPha5KMGA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gFtULm446CooVDytmhpSvTdsPzoF4IfGO21SNZvQQmrZXzp4v3J5axvyY5Orlcpvrhn6Cm/6UeUNLqNFRtQMQ+WRUun+l6xK4D2DRz3a+/JNuzuN524w6DnM2SknCMYTPW3WDuQJxp/hSRo9e7DBzAWOc/j/qn54UPt0Onf/M2LGJ1lSxaY6QQr6qnwa+VGFIr6AVMHzMzpIyUPo/UaPklILOv10bLHd2843fbyG4XbMFDwzdeKWx9PdH7fjfdRBBSl8ndO+2XAPc5jTiowEh12GbK/hqNqWb72EbvxkqFg1ep548adCcgFBoxTFRvLyRfP2NuD9B6vGwyeFyMfp1w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cEOafbqeScSI2giSwrVPUok6Ozu0erytyMmcGHPGAZU=;
 b=QaLFxAyrwkDakajbM1w1fKUPCFs4qxG2mSrIge9zlYyoIvBde2DZbGplQQSPTixNDEMDBFp7vWn9XdEQ4vldFa74qVkb1iVFzSI6fL/Jpx9syxrwxdtEL3lHOmr5O0s0tYe+ZUvnB0CONnvhNTc7xvCZWUcduEuGjdNNqKzP2COuNrKMwrXGe/NWU+jLukij0JJR7wHmzHzaUcM/hmKAsWjWzIcYTXsHQFnAD8VrBwa6m3JFTJxcBsFcgnUZ+w1FW0cjcy/25Hxu2Fq2lrNs0MF7ezqBLTA0aq8v9Efj1H/9wuU3dj/rg7lZXQa50xmeNE8tW8a3wIGQL94PVclEew==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH 1/2] ns16550: do not override fifo size if explicitly set
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>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <20210813183139.391546-1-marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <f69eff5b-cc3d-58bc-3646-7c20edea9fac@suse.com>
Date: Mon, 16 Aug 2021 09:42:20 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210813183139.391546-1-marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: FR0P281CA0012.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::17) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 59278516-38ca-4f10-c652-08d96089609e
X-MS-TrafficTypeDiagnostic: VI1PR04MB7038:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB70389D141AC49E13169325FFB3FD9@VI1PR04MB7038.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:1227;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1K4KZkby4rsThamsT7q30tGVY0XzOtm+wkLCgMpqWHRrKgG/t/Et03v7VQD1pNUudFGw9Z1GRGoyDQXYnPjuZ1eIDc/o1c6I3pedHhkxwKFC73TgRhEQQWgSOs/3TaLrZY77Oj5NnZbhoyXE8KKIWho8QEoEywb1uGtrStNBK+FRjWs4SkYnytIwhzXVCq3fPmXx5C60fR4KNOJJwYyYysGppWZH/kyCxfVg3MwKRBP5dg7cmZbvBsYNqmBoWRvb1hxAAI3dN3+MCiO0gi6Kzb8P/QuR0L+deIBVOmdnDUTLNndmaWo0h5sFEaDId1UjhY6EGXsDKg4ZxdJfeVW9/rbDA1rBMW/+Ww/PaRbk7D1jmAbjILa3nFm2VX2ZPW2oHrXvo4m1X74ch7+I7im29qrNQUH2tnTogAW0LpPRx1v83NXDuj0RtSNyMHaMiQrIZ4Nx4tWZS+iSTZ6887DeE7bFsPkBa8GKNYxHFnJ9iDB9245wL5tdAo1xZy8SbIjcxdDKP75A3vJ/qQq5TkliL6NdOzL52wtfAEfioUlh1YEeTdPjbVnkoFtARuMfyUWd0K7zT5ypWI8LgZzhRndaJQ0Nv2opYGc7E1xL5NWx6/5/pAJeNk9lRTt1HS1IcReAKdOtmoIgFdFMI/9da19z+DUKQpE9lcG6PCsUZd8sW42tyeSzlQotWB1ZmWBHzyay+NVlZQb6CuThiSQwtIDmqRoB9SHhQOxSakxs15ADBOk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(39850400004)(136003)(346002)(366004)(376002)(2906002)(86362001)(8936002)(6916009)(478600001)(31696002)(316002)(186003)(5660300002)(6486002)(6666004)(8676002)(66556008)(66476007)(54906003)(16576012)(66946007)(4744005)(53546011)(31686004)(26005)(956004)(2616005)(38100700002)(4326008)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?J7zyUgv/VliBBPcZUIA8/b+Z10P3cMDXFjDkftSX2e30SU4t7dfpdXgEpoSA?=
 =?us-ascii?Q?C2Bm7S+9+lGE1dHpw2wcS9JwcYuoqCwGZiJhOEijCtL9aZxtUSlMPWh3tkaI?=
 =?us-ascii?Q?OviWRx/zA+BK65V3zN67vsG4NSLqXfwdjxveH92Th04dJfCqg0t+cAAB4eZM?=
 =?us-ascii?Q?6roN7+/MnfZELOB2BKHpJS+bD+MuRQkxNTgxdNvWsao5tAdHINPiFhmnkyaa?=
 =?us-ascii?Q?vFQuyj9DzHIh/g2BAXyLjbeTGMibdHu5sfHvhwLQdptiAAHbTZqGxz7ctVMQ?=
 =?us-ascii?Q?ZzWPkFOG6/O5nE5MFNLc7cBRDjNI3/Lh7fMdRrPQEPQPmHL+2icRKA1gHcCt?=
 =?us-ascii?Q?IviK4pcRGSwIyDcVcMEeNibOZfgGmGqrvydVULn5CYVAV3Uc560G9XuOr/fN?=
 =?us-ascii?Q?spVcSqT1Zfny1mJoEnbw5lw5l/rWfFLYAO8wa4WmsYBxnhHN2Zhb4lyrd/Z6?=
 =?us-ascii?Q?WsNjxfwrBUksRiTp71KHVqYAvvPeof0yl+4H5UR4DG2zFrx9zG/DbCFRK3A9?=
 =?us-ascii?Q?HOiXRqYxmcf/YJaDSi/eYZMu1Rx+A7S4mBBVMxNQ0MFHsqKzZFRvyLNFpbNC?=
 =?us-ascii?Q?uuAuQiSjmdfCRfz3F5Q2feBvsr7iOCh9gtPQJYEcDaaorNg+xd9ekU4LDQHU?=
 =?us-ascii?Q?AsV6HbBCN8BT3ThE5/sBK6hxhbiyuvssj3Y4zsIUKO7vU9+xoRW4UzK5g/vj?=
 =?us-ascii?Q?dfmG0rLTrzuedKl0t3LiJduUL3b/lqREM8lvX7FGEfDfx06QT7W2goraNfMs?=
 =?us-ascii?Q?m+LI3KPpkq6jh6IwiDTOwwq3+145AehPrkjJiptN+yNQMaihpUDJxHXsXEwV?=
 =?us-ascii?Q?mp2mW4J+Ym7CuEWFki6RBvthI7UtcmYn2zX5xm0GWdUAuG/eAmR0ZM+PMySK?=
 =?us-ascii?Q?FcmcndKRLQUJz9r9cPR5v5JxT6B28xmK9UYCk2jN1TYH2rH/jLkwrCT17CV4?=
 =?us-ascii?Q?PogbXCyUperH8eLxOhL+ICt+BOFz9bFv6Sumb6cqZSDYelEBkpvda5twBZzr?=
 =?us-ascii?Q?D/w9XY7aVOMl+caGsDp0x7a/BkYbs/kC3fWrdfwig+tb3yOr89iooAxmQtv9?=
 =?us-ascii?Q?fL5qYD2kcZuugfbXgD4XeqCyvlDtu4KwSjodqw1cfm4jz28dcU3XE0hNlnYo?=
 =?us-ascii?Q?qg/b9IDFHK5AU6XuHEoWKvny9snORPOhCWhKuBktMfWwg01GWZg6L59xiN11?=
 =?us-ascii?Q?aDAsYi8L2aufPgNtoKv9FiqJX3g0Xb0VX31OyBi5uF+LmDaN3IhtkMLPJChu?=
 =?us-ascii?Q?Jtvxq1esf7bHIWH3RIrQXm/yn9CZt17SBzzDYiJkGrHpr7BKj7hXp/nft57r?=
 =?us-ascii?Q?OmdWPA8fsYs6Bf4fKmhJmyKS?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 59278516-38ca-4f10-c652-08d96089609e
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2021 07:42:19.8099
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: g4divGVADGaRIh1iIm9wyuUJbZhgEjKYRnmX35IR4u4mCqcwAu/f1zyr3DhAPuZCy8WIqJeiomOBGV+YGj2gFg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7038

On 13.08.2021 20:31, Marek Marczykowski-G=C3=B3recki wrote:
> If fifo size is already set via uart_params, do not force it to 16 - whic=
h
> may not match the actual hardware. Specifically Exar cards have fifo of
> 256 bytes.
>=20
> Signed-off-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingsl=
ab.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Mon Aug 16 07:52:36 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 07:52:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167211.305197 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFXQ0-000482-Ed; Mon, 16 Aug 2021 07:52:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167211.305197; Mon, 16 Aug 2021 07:52: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 1mFXQ0-00047v-Al; Mon, 16 Aug 2021 07:52:24 +0000
Received: by outflank-mailman (input) for mailman id 167211;
 Mon, 16 Aug 2021 07:52:22 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eR/w=NH=arm.com=Penny.Zheng@srs-us1.protection.inumbo.net>)
 id 1mFXPy-00047p-J4
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 07:52:22 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com (unknown
 [40.107.20.88]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id e20f2032-fe66-11eb-a446-12813bfff9fa;
 Mon, 16 Aug 2021 07:52:20 +0000 (UTC)
Received: from DU2PR04CA0332.eurprd04.prod.outlook.com (2603:10a6:10:2b4::20)
 by DB6PR0802MB2486.eurprd08.prod.outlook.com (2603:10a6:4:a0::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.14; Mon, 16 Aug
 2021 07:52:18 +0000
Received: from DB5EUR03FT013.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:2b4:cafe::e6) by DU2PR04CA0332.outlook.office365.com
 (2603:10a6:10:2b4::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13 via Frontend
 Transport; Mon, 16 Aug 2021 07:52:18 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT013.mail.protection.outlook.com (10.152.20.105) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Mon, 16 Aug 2021 07:52:18 +0000
Received: ("Tessian outbound 19a632698c93:v103");
 Mon, 16 Aug 2021 07:52:18 +0000
Received: from 0c97d67b0497.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 978A4F0A-DBFA-4ACD-A694-53F814F98D87.1; 
 Mon, 16 Aug 2021 07:52:07 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 0c97d67b0497.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 16 Aug 2021 07:52:07 +0000
Received: from VE1PR08MB5215.eurprd08.prod.outlook.com (2603:10a6:803:10a::33)
 by VI1PR0802MB2176.eurprd08.prod.outlook.com (2603:10a6:800:99::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16; Mon, 16 Aug
 2021 07:51:59 +0000
Received: from VE1PR08MB5215.eurprd08.prod.outlook.com
 ([fe80::adf8:8d6f:2a30:b60c]) by VE1PR08MB5215.eurprd08.prod.outlook.com
 ([fe80::adf8:8d6f:2a30:b60c%5]) with mapi id 15.20.4415.022; Mon, 16 Aug 2021
 07:51:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e20f2032-fe66-11eb-a446-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=L3t2xalSUt8SK0O78r+hsoLCE5vx7w2Ifq9cr52eMjk=;
 b=BhvnwPdS9n5mvZiZaDEROc7CKHehGwkHYrsSb0ajC4wrxlRM/bf9A+/8rJhocBacYjyHaE5c+Nqi7CYjQDtSsNownpQHT0F8EN9aJzw+Ole9seIWB/emhc9JrrteJqm5OoxiNQ2aALyaovYTy9h5Cc+zVcIjIo/Bn29/sZHfQ9w=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LFWKBuoIzcYF2SigcRIXCI6b33Vw80X8N5Lz17iCg1aTzwMQyekXXG35uDttg0GYbuC/QfGnpUSu6TqYGH6oCvrd1N44rhghQSV47uQw/yJ+V80gVlCuhWYmK3WjiKZg8D4oPFqP3qBr4jL4yzvx4KbIljt+35rlhPRmi29nEamuUZoSoHFKWLttjQ0PiwbPAVaEyUMrt7FnNRuD4f+pZGAasm8Obo0qO6XBGIpQrOOQ99IXhVFG93P2Y6EVrYVMS8oEctM24YBJ05ikwwMgWRSBUyzycGdGdMVM2O/DCIL9M9XhIcte2f7Xm8Te87Fp09jO77kR6QJbRcZBuilvaQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=L3t2xalSUt8SK0O78r+hsoLCE5vx7w2Ifq9cr52eMjk=;
 b=MEhB8dqEh4+mwMEmSsd3cOED538PYjzSU8JHArSIUT7v8pK6yVxQditW52cI9uBWOZa1YpgjGCrgKL2LMYQMUc8tuSsnl4/Ws47NpBo0M5Fq0F6fYFyXHEFrgvkVXoU09+354kTe2yn5NbvYBvw/OnUiaslKlvH2D5OWVQdbacDObo9fQFrsqMWBCdpIAjtCfv7M5iA2BeRe8FgY1tQ0stcDg3NNLNQ6rjSWf9vVLs3Sfpj7TBPZ6NWY8azDYXSG22rFfY+JtqWH3EYs9yZPRccLvkCzka090k5iPBygr2mgQv5t8+U+fJAa/YeY1klN+0oJi1M1stfHYooFLAkSyA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=L3t2xalSUt8SK0O78r+hsoLCE5vx7w2Ifq9cr52eMjk=;
 b=BhvnwPdS9n5mvZiZaDEROc7CKHehGwkHYrsSb0ajC4wrxlRM/bf9A+/8rJhocBacYjyHaE5c+Nqi7CYjQDtSsNownpQHT0F8EN9aJzw+Ole9seIWB/emhc9JrrteJqm5OoxiNQ2aALyaovYTy9h5Cc+zVcIjIo/Bn29/sZHfQ9w=
From: Penny Zheng <Penny.Zheng@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
	nd <nd@arm.com>
Subject: RE: [PATCH V4 10/10] xen/arm: introduce allocate_static_memory
Thread-Topic: [PATCH V4 10/10] xen/arm: introduce allocate_static_memory
Thread-Index: AQHXg5tmckYE8huhnkmylKsegZp2dKtxiU+AgARGWQA=
Date: Mon, 16 Aug 2021 07:51:58 +0000
Message-ID:
 <VE1PR08MB52155AED4031436410203304F7FD9@VE1PR08MB5215.eurprd08.prod.outlook.com>
References: <20210728102758.3269446-1-penny.zheng@arm.com>
 <20210728102758.3269446-11-penny.zheng@arm.com>
 <11d38943-444d-80d1-5fd5-98cbc24e6b7e@xen.org>
In-Reply-To: <11d38943-444d-80d1-5fd5-98cbc24e6b7e@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 70089E22CA8049449A5889770162FAF8.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: d33580aa-34ce-4002-4b9f-08d9608ac557
x-ms-traffictypediagnostic: VI1PR0802MB2176:|DB6PR0802MB2486:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<DB6PR0802MB2486C4C3C92AB9915A3AFCAAF7FD9@DB6PR0802MB2486.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 X8vxQKDqtu7H+PVlA8UrtL6Up1rK8W1D4gryUU5LdjjGBtOMdynft4SxY8Jnp7XZbFpA0qTr1wnq/A2lPy7WgC3fbXWaE+75b3sUn9oC5D7SeA2abIb22bPVP+g2WeKV/Zmhxp9kqLL87TMks4TJA3CsSKegeSf7Z50jkqzLtf8gTKVlFUOn4nOuKDkN5illzGcgWni6qWNND9XwYc8JJeC361qwqr/EJ6uqXD7AaKFE9ZDccLuvkREI/FRizFx6gU6be/7drTi9XyXzgd30RIzLo7cBNqCCwTS3zCYhRmCeVmAFsgtt0A26ixxnidXMbpVDM+linkivii+Q+W9GFahYLmWWpaA+NVxz+xhD4fb3t25r+hq4G196KWQhqw0NkuRQ8C7YZzu08zcGiPOrP/NlpSaGTxQAQdn4K460py5pHTHo6DzMEG3GhL9vghBVnLUkAC1isxesdglbSZEVQqG5ngTpmB3n9fBtqkgS2sNgXM4ifyVn+v/z/rIJOrcuhwDJ5MjYpN5tsnTtLnlpBVv34RuDN0xPKj+/5VsNFT0IXALL+bjx/KTYdcapCqjsU3vM/NnCd3eNkoS1Ve32B8EsK5tIUiIJPKfEuljT4OjyjIv/k86lqnJAOjHPfnk11lBnI3H9ZjK4iU0w8+KRE+cvx++R5U8QAEuoMhNHypr+9w+ssiId723dS3jS0rl8CzySK534CcPTCoPv3MjfWg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR08MB5215.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(376002)(39840400004)(396003)(366004)(136003)(346002)(5660300002)(55016002)(9686003)(8936002)(64756008)(66446008)(66946007)(71200400001)(66556008)(8676002)(66476007)(53546011)(6506007)(52536014)(478600001)(7696005)(76116006)(26005)(186003)(2906002)(54906003)(110136005)(4326008)(86362001)(122000001)(38070700005)(38100700002)(316002)(83380400001)(33656002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?VkVwSWRuczNMZ1hBcHhjckRKMGtzSTBsUFFvZFVkYjI1bjhEY2Z0RUtjRWhD?=
 =?utf-8?B?VWYrZ3QrblJXa0ludFJIWGpEK3VLYWsyQndSVk1UQWZ5V0oxYzVDOExGQVUx?=
 =?utf-8?B?cTRNMnpPUFJlYjIxWFlmVHBTT0JucEVKTlBJSjlMUldaOGZzNW5paGZaZWFE?=
 =?utf-8?B?SWZjYkd1c3J4UnhGRmxlU05GYnppTDlhcWd6eFNOU0VzeUdPcnFLb3dJbkhU?=
 =?utf-8?B?K2xzYmgyRDllbEkwT2tmUzBJeXlXU2hvQzNWVmhvcUlTUmIzTTQ3Wk41TC9W?=
 =?utf-8?B?cnR2bjlpNVRCdUlyQUM3UXM5QllxQ3FmdG5Vd2NVdjB3ZGdZcGxUVmlMdUsy?=
 =?utf-8?B?L0hCbExvTVZzTGJQcVQ5dXFlNXQ3bDgxYUo3d29xZ29LcW5ZSC9CNzhqQlZ5?=
 =?utf-8?B?aHltT3BWOE4vd3Z1aDY3NmFMMnY2cHQ1dmlCdDV6cDBISTZTbUVBNm1iZHFy?=
 =?utf-8?B?eG11YXRpMzM0d2sveUlNY1puS1g3MVJaNm8vU1hQOGlKZXlRYklQWTF1K05G?=
 =?utf-8?B?UlJBbXAwK0xPc1dMWGNsSWxjaktFVi9iNjErNTJIdjZEN2lxR0VZLzhWcHBG?=
 =?utf-8?B?YTNxM1g0WkJXM09WOEtsTExwWDdxWVV0bXNWaUdaZ1NlVVdQYUtnNGNwSlBW?=
 =?utf-8?B?ODQxTnZzR21LRXVRcmRuVWh0ZS91eEZQakRsMzR0c3EwTU16aXdOYzRuc3pw?=
 =?utf-8?B?MG5wTnFHb1dTUDduR3d2OE1sbUhlQ29SRnBxbDd4OWduNjJkbTZmTmZGczZh?=
 =?utf-8?B?cE9raTU3NVFFTzF5MG9NbndBS1FVVUlyQloxQ2N1dVVYUHBZMzloMFhWakdJ?=
 =?utf-8?B?NFZ0SDd2WFV4NVRrZHF1dVNqUVpHL3FNQ1JXUUFTdHJjVm5ub2xUYWQ3OFdW?=
 =?utf-8?B?bFRFZW4yT1VVbDZMU1pITEFraFhvSGFVL0h5T0ZXc3Izank2NGxDMWdSNEdu?=
 =?utf-8?B?SmZLN2ZIVFc1bmdXVnd4WTNLanNQRDdkaUp1bzlxdmdwY3ZVRlpORStFSmNj?=
 =?utf-8?B?eE1PeHhaSXQ5YkpYand6Q0xia244a005cE15U0krZ0ltWG9KZVdYenpIYTdt?=
 =?utf-8?B?dFA3cnRXRUl5YmxnZnM3VGRhUnZkRlVncjNqL2hvMVFkYjFUSEtPdC9Pb3Bj?=
 =?utf-8?B?ZXpWYkxWbjM2VUVBRS9pRHRNcWtyRTZtUng5MmZTZUdFK3JrZ3l0K0cyK1hC?=
 =?utf-8?B?a3dSNWNPRDBQY3BIT2pRdnVxV1VZdnpVckZhalE0bEp4bEo2dUlnTmY3K2JK?=
 =?utf-8?B?VUowVGt0dytqTkRzaThJVVN3NVZjbnFPbHFBZHIxWHJyYndNM3JNMTRCekpn?=
 =?utf-8?B?NEdEdU5aOHpCSUZQckNNd3A4NGo3SmZPVVpDNGdmK0swbnRwQ3hNOGhjUG1C?=
 =?utf-8?B?VEM5OGtxbHpTWVIrcTBSMGwvUHJFSTJnKzByZ0ZxaWx0eDU0ZVFoQklocDk3?=
 =?utf-8?B?N3FWaXlUNHFueFl2Y1R3OWg5WEIwdmZwaFA0a0krZVFYb3pUMTBPbWFreXdt?=
 =?utf-8?B?eWZad2IxY1RSMEJYa1o0SEo1RVkvQ1NzeEl3dlV2L3RlYndndHZxOFNFQ0ZY?=
 =?utf-8?B?cGlpNmd6UTNaOWFVNHVtUGw4Wk1WdnNwck1lUkFLdlM2Q3FMY0tQUUFlcllQ?=
 =?utf-8?B?aG1iMGdxTHREVklOUlRMQ21BTGxCQWNwZEZoZE1heHUwSXlieHlzaXVrZVo0?=
 =?utf-8?B?VGJ3Y3VJODVDUUh4T3E1TW1FWVdzWDBlSjNkYWxDQjJGc1RBQWtIQkUxakN5?=
 =?utf-8?Q?6mTF8zofWxBUjXUHArvCO0xoUQrcSgqpFQ+JUBK?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0802MB2176
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT013.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	1b95a68a-96d5-48a0-23ed-08d9608ab9f3
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LCnRwXdKRFQWnO0ysZR5EahlpFTHxI/htMtIzV59MhngKr6XPxkU/y/egtSy8QIsgxVipyTipavikWBcq8O2IBqPWd5PgLZ1+tFu3/LVSP7ZZrrl4xxVOfYW/ViC+iui/OMSodKPK4NMkNI1PQqvaKnwuQdN0YscjXnnO4L/J8qLNLpoIArhMnR6JGSDxYskQM8cmVD8FbyHbpmfbJqAq2CgGw68opB0KLjvvumhun6IftywluFOq7SpS6WSVhQzBetcKECJ2il84oc1mDRX7xYa4bGqt5CO1I0HCrE5PmdaITUAkHEK6Nt4Gx3Qb7s5cKI5KL9PivgdT3FAvi/4I15H59xBv8ayNeWEWYM02gsr70mfK9SBhBI0+98KreizhZOwKerxmnfaMgWhffRMHvPl3FRj1aUurN0hcv/bLq0SHh8guqW2fcIQIHB+Yqu8VmSl0SPru33PMQqSI6U/WC1lj+D120xPw7NvEbQ0PnbM3wqyXYzCndhqrJFMP6rRCrgREFbw6y1ZSczn2J6X+J0F+cgvuvY6qLOOfGPi5lmFOmjTRIxfhz6GbWQdDm4QpVKl1XnVCKMsmiyUmRw8/Jzwos9vgh8WWzAP9yF8Y8TDf5qwpH6piY9SvPJzA5JlY3gq+ZcnKQa/Wxfpv+/3dD8WHikju8Wm5O9EjoGZXb+3ow1HR6fm66RSwmVe/sqzIwPVWNS5JJumglKowxDa1A==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(396003)(39840400004)(376002)(346002)(136003)(36840700001)(46966006)(33656002)(110136005)(7696005)(5660300002)(336012)(52536014)(81166007)(356005)(54906003)(316002)(83380400001)(186003)(82310400003)(4326008)(9686003)(70586007)(2906002)(8936002)(8676002)(26005)(86362001)(6506007)(53546011)(478600001)(36860700001)(47076005)(70206006)(55016002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2021 07:52:18.2141
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d33580aa-34ce-4002-4b9f-08d9608ac557
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT013.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2486

SGkganVsaWVuDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSnVsaWVu
IEdyYWxsIDxqdWxpZW5AeGVuLm9yZz4NCj4gU2VudDogRnJpZGF5LCBBdWd1c3QgMTMsIDIwMjEg
OTozNyBQTQ0KPiBUbzogUGVubnkgWmhlbmcgPFBlbm55LlpoZW5nQGFybS5jb20+OyB4ZW4tZGV2
ZWxAbGlzdHMueGVucHJvamVjdC5vcmc7DQo+IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmcNCj4gQ2M6
IEJlcnRyYW5kIE1hcnF1aXMgPEJlcnRyYW5kLk1hcnF1aXNAYXJtLmNvbT47IFdlaSBDaGVuDQo+
IDxXZWkuQ2hlbkBhcm0uY29tPjsgbmQgPG5kQGFybS5jb20+DQo+IFN1YmplY3Q6IFJlOiBbUEFU
Q0ggVjQgMTAvMTBdIHhlbi9hcm06IGludHJvZHVjZSBhbGxvY2F0ZV9zdGF0aWNfbWVtb3J5DQo+
IA0KPiBIaSBQZW5ueSwNCj4gDQo+IE9uIDI4LzA3LzIwMjEgMTE6MjcsIFBlbm55IFpoZW5nIHdy
b3RlOg0KPiA+IFRoaXMgY29tbWl0IGludHJvZHVjZXMgYWxsb2NhdGVfc3RhdGljX21lbW9yeSB0
byBhbGxvY2F0ZSBzdGF0aWMNCj4gPiBtZW1vcnkgYXMgZ3Vlc3QgUkFNIGZvciBEb21haW4gb24g
U3RhdGljIEFsbG9jYXRpb24uDQo+ID4NCj4gPiBJdCB1c2VzIGFjcXVpcmVfZG9tc3RhdGljX3Bh
Z2VzIHRvIGFjcXVpcmUgcHJlLWNvbmZpZ3VyZWQgc3RhdGljDQo+ID4gbWVtb3J5IGZvciB0aGlz
IGRvbWFpbiwgYW5kIHVzZXMgZ3Vlc3RfcGh5c21hcF9hZGRfcGFnZSB0byBzZXQgdXAgUDJNDQo+
IHRhYmxlLg0KPiA+IFRoZXNlIHByZS1kZWZpbmVkIHN0YXRpYyBtZW1vcnkgYmFua3Mgc2hhbGwg
YmUgZmlyc3RseSBtYXBwZWQgdG8gdGhlDQo+ID4gZml4ZWQgZ3Vlc3QgUkFNIGFkZHJlc3MgYEdV
RVNUX1JBTTBfQkFTRWAuIEFuZCB1bnRpbCBpdCBleGhhdXN0cyB0aGUNCj4gPiBgR1VFU1RfUkFN
MF9TSVpFYCwgaXQgd2lsbCBzZWVrIHRvIGBHVUVTVF9SQU0xX0JBU0VgLCBhbmQgc28gb24uDQo+
ID4gYEdVRVNUX1JBTTBgIG1heSB0YWtlIHVwIHNldmVyYWwgcHJlLWRlZmluZWQgcGh5c2ljYWwg
UkFNIHJlZ2lvbnMuDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBQZW5ueSBaaGVuZyA8cGVubnku
emhlbmdAYXJtLmNvbT4NCj4gPiAtLS0NCj4gPiAgIHhlbi9hcmNoL2FybS9kb21haW5fYnVpbGQu
YyB8IDEzNw0KPiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0NCj4gPiAgIDEg
ZmlsZSBjaGFuZ2VkLCAxMzUgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkNCj4gPg0KPiA+
IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMgYi94ZW4vYXJjaC9hcm0v
ZG9tYWluX2J1aWxkLmMNCj4gPiBpbmRleCBjZGIxNmYyMDg2Li5lZDI5MGVlMzFiIDEwMDY0NA0K
PiA+IC0tLSBhL3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYw0KPiA+ICsrKyBiL3hlbi9hcmNo
L2FybS9kb21haW5fYnVpbGQuYw0KPiA+IEBAIC00ODAsNiArNDgwLDEzOSBAQCBmYWlsOg0KPiA+
ICAgICAgICAgICAgICh1bnNpZ25lZCBsb25nKWtpbmZvLT51bmFzc2lnbmVkX21lbSA+PiAxMCk7
DQo+ID4gICB9DQo+ID4NCj4gPiArc3RhdGljIGJvb2wgX19pbml0IGFwcGVuZF9zdGF0aWNfbWVt
b3J5X3RvX2Jhbmsoc3RydWN0IGRvbWFpbiAqZCwNCj4gPiArICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG1lbWJhbmsgKmJhbmssDQo+ID4gKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1mbl90IHNtZm4s
DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBh
ZGRyX3Qgc2l6ZSkgew0KPiA+ICsgICAgaW50IHJlczsNCj4gPiArICAgIHBhZGRyX3QgdG90X3Np
emUgPSBzaXplOw0KPiA+ICsgICAgLyogSW5mZXIgbmV4dCBHRk4uICovDQo+ID4gKyAgICBnZm5f
dCBzZ2ZuID0gZ2FkZHJfdG9fZ2ZuKGJhbmstPnN0YXJ0ICsgYmFuay0+c2l6ZSk7DQo+ID4gKw0K
PiA+ICsgICAgd2hpbGUgKCB0b3Rfc2l6ZSA+IDAgKQ0KPiA+ICsgICAgew0KPiA+ICsgICAgICAg
IHVuc2lnbmVkIGludCBvcmRlciA9IGdldF9hbGxvY2F0aW9uX3NpemUodG90X3NpemUpOw0KPiA+
ICsNCj4gPiArICAgICAgICByZXMgPSBndWVzdF9waHlzbWFwX2FkZF9wYWdlKGQsIHNnZm4sIHNt
Zm4sIG9yZGVyKTsNCj4gPiArICAgICAgICBpZiAoIHJlcyApDQo+ID4gKyAgICAgICAgew0KPiA+
ICsgICAgICAgICAgICBkcHJpbnRrKFhFTkxPR19FUlIsICJGYWlsZWQgbWFwIHBhZ2VzIHRvIERP
TVU6ICVkIiwgcmVzKTsNCj4gPiArICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KPiA+ICsgICAg
ICAgIH0NCj4gPiArDQo+ID4gKyAgICAgICAgc21mbiA9IG1mbl9hZGQoc21mbiwgMVVMIDw8IG9y
ZGVyKTsNCj4gPiArICAgICAgICB0b3Rfc2l6ZSAtPSAoMVVMIDw8IChQQUdFX1NISUZUICsgb3Jk
ZXIpKTsNCj4gPiArICAgIH0NCj4gDQo+IEFGQUlDVCwgdGhlIGxvb3AgaXMgb25seSBoZXJlIHRv
IHN1aXQgZ3Vlc3RfcGh5c21hcF9hZGRfcGFnZSgpLiBGdXJ0aGVyDQo+IGRvd24gdGhlIGxpbmUs
IHRoZSBvcmRlciB3aWxsIGJlIGNvbnZlcnRlZCBiYWNrIHRvIGEgbnVtYmVyIG9mIHBhZ2VzIGJl
Zm9yZQ0KPiBjYWxsaW5nIHAybV9pbnNlcnRfbWFwcGluZygpLg0KPiANCj4gU28gaG93IGFib3V0
IGV4cG9ydGluZyBwMm1faW5zZXJ0X21hcHBpbmcoKSBhbmQgdXNlIGl0Pw0KPiANCg0KU3VyZS4g
TG9va3MgcGVyZmVjdCB0byBtZS4gDQoNCj4gPiArID4gKyAgICBiYW5rLT5zaXplID0gYmFuay0+
c2l6ZSArIHNpemU7DQo+IA0KPiBXZSB1c3VhbGx5IGFkZCBhIG5ld2xpbmUgYmVmb3JlIHRoZSBs
YXN0IHJldHVybiBvZiB0aGUgZnVuY3Rpb24uDQo+IA0KPiA+ICsgICAgcmV0dXJuIHRydWU7DQo+
ID4gK30NCj4gPiArDQo+ID4gKy8qIEFsbG9jYXRlIG1lbW9yeSBmcm9tIHN0YXRpYyBtZW1vcnkg
YXMgUkFNIGZvciBvbmUgc3BlY2lmaWMgZG9tYWluDQo+ID4gK2QuICovIHN0YXRpYyB2b2lkIF9f
aW5pdCBhbGxvY2F0ZV9zdGF0aWNfbWVtb3J5KHN0cnVjdCBkb21haW4gKmQsDQo+ID4gKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBrZXJuZWxfaW5mbyAq
a2luZm8sDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHN0cnVjdCBkdF9wcm9wZXJ0eSAqcHJvcCwNCj4gPiArICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdTMyIGFkZHJfY2VsbHMsIHUzMg0KPiA+ICtzaXplX2NlbGxz
KSB7DQo+ID4gKyAgICB1bnNpZ25lZCBpbnQgbnJfYmFua3MsIGdiYW5rLCBiYW5rID0gMDsNCj4g
PiArICAgIGNvbnN0IHVpbnQ2NF90IHJhbWJhc2VbXSA9IEdVRVNUX1JBTV9CQU5LX0JBU0VTOw0K
PiA+ICsgICAgY29uc3QgdWludDY0X3QgcmFtc2l6ZVtdID0gR1VFU1RfUkFNX0JBTktfU0laRVM7
DQo+ID4gKyAgICBjb25zdCBfX2JlMzIgKmNlbGw7DQo+ID4gKyAgICB1MzIgcmVnX2NlbGxzID0g
YWRkcl9jZWxscyArIHNpemVfY2VsbHM7DQo+ID4gKyAgICB1NjQgdG90X3NpemUgPSAwOw0KPiA+
ICsgICAgcGFkZHJfdCBwYmFzZSwgcHNpemUsIGdzaXplOw0KPiA+ICsgICAgbWZuX3Qgc21mbjsN
Cj4gPiArDQo+ID4gKyAgICAvKiBTdGFydCB3aXRoIEdVRVNUX1JBTTAuICovDQo+ID4gKyAgICBr
aW5mby0+bWVtLm5yX2JhbmtzID0gMDsNCj4gPiArICAgIGdiYW5rID0gMDsNCj4gPiArICAgIGdz
aXplID0gcmFtc2l6ZVtnYmFua107DQo+ID4gKyAgICBraW5mby0+bWVtLmJhbmtbZ2JhbmtdLnN0
YXJ0ID0gcmFtYmFzZVtnYmFua107DQo+ID4gKw0KPiA+ICsgICAgY2VsbCA9IChjb25zdCBfX2Jl
MzIgKilwcm9wLT52YWx1ZTsNCj4gPiArICAgIG5yX2JhbmtzID0gKHByb3AtPmxlbmd0aCkgLyAo
cmVnX2NlbGxzICogc2l6ZW9mICh1MzIpKTsNCj4gPiArICAgIEJVR19PTihucl9iYW5rcyA+IE5S
X01FTV9CQU5LUyk7DQo+ID4gKw0KPiA+ICsgICAgd2hpbGUgKCBiYW5rIDwgbnJfYmFua3MgKQ0K
PiA+ICsgICAgew0KPiA+ICsgICAgICAgIGRldmljZV90cmVlX2dldF9yZWcoJmNlbGwsIGFkZHJf
Y2VsbHMsIHNpemVfY2VsbHMsICZwYmFzZSwgJnBzaXplKTsNCj4gPiArICAgICAgICB0b3Rfc2l6
ZSArPSBwc2l6ZTsNCj4gPiArICAgICAgICBzbWZuID0gbWFkZHJfdG9fbWZuKHBiYXNlKTsNCj4g
PiArDQo+ID4gKyAgICAgICAgaWYgKCAhYWNxdWlyZV9kb21zdGF0aWNfcGFnZXMoZCwgcHNpemUg
Pj4gUEFHRV9TSElGVCwgc21mbiwNCj4gPiArIDApICkNCj4gDQo+IEkgdGhpbmsgd2Ugd2FudCB0
byBjaGVjayB0aGF0IGJvdGggcGJhc2UgYW5kIHBzaXplIGFyZSBwYWdlIGFsaWduZWQgZmlyc3Qu
IFRoaXMNCj4gY2FuIGJlIGRvbmUgaGVyZSBvciBlYXJsaWVyIHdoZW4gcmVzZXJ2aW5nIHRoZSBw
YWdlcyAodGhpcyB3b3VsZCBiZSBhIHByZXZpb3VzDQo+IHBhdGNoKS4NCj4gDQoNCkkgd2lsbCBk
byB0aGUgY2hlY2sgaW4gc3RhdGljIG1lbW9yeSBpbml0aWFsaXphdGlvbiwgaW4gZnVuY3Rpb24g
aW5pdF9zdGF0aWNtZW1fcGFnZXMuDQoNCj4gQWxzbywgZ2l2ZW4gdGhhdCB5b3UgY2FuIGVhc2ls
eSBmaWd1cmUgb3V0IHRoZSBwYWdlIGZyb20gdGhlIG1mbi4gSSB0aGluayBpdA0KPiB3b3VsZCBi
ZSBiZXR0ZXIgZm9yIGFjcXVpcmVfZG9tc3RhdGljX3BhZ2VzKCkgdG8gcmV0dXJuIGFuIGVycm9y
LiBUaGlzIGNvdWxkDQo+IGJlIGhlbHBmdWwgdG8gZmlndXJlIG91dCBhbiBlcnJvci4NCj4gDQoN
ClN1cmUuIEknbGwgcmV0dXJuIHRoZSBlcnJuby4NCg0KPiA+ICsgICAgICAgIHsNCj4gPiArICAg
ICAgICAgICAgcHJpbnRrKFhFTkxPR19FUlINCj4gPiArICAgICAgICAgICAgICAgICAgICAiJXBk
OiBjYW5ub3QgYWNxdWlyZSBzdGF0aWMgbWVtb3J5ICINCj4gPiArICAgICAgICAgICAgICAgICAg
ICAiKDB4JSJQUklwYWRkciIgLSAweCUiUFJJcGFkZHIiKS5cbiIsDQo+ID4gKyAgICAgICAgICAg
ICAgICAgICAgZCwgcGJhc2UsIHBiYXNlICsgcHNpemUpOw0KPiA+ICsgICAgICAgICAgICBnb3Rv
IGZhaWw7DQo+ID4gKyAgICAgICAgfQ0KPiA+ICsNCj4gPiArICAgICAgICBwcmludGsoWEVOTE9H
X0lORk8gIiVwZDogU1RBVElDIEJBTktbJWRdDQo+ID4gKyAlIyJQUklwYWRkciItJSMiUFJJcGFk
ZHIiXG4iLA0KPiANCj4gYmFuayBpcyB1bnNpZ25lZCBzbyBzLyVkLyV1Lw0KPg0KDQpPaCwgdGh4
Lg0KDQo+ID4gKyAgICAgICAgICAgICAgIGQsIGJhbmssIHBiYXNlLCBwYmFzZSArIHBzaXplKTsN
Cj4gPiArDQo+ID4gKyAgICAgICAgLyoNCj4gPiArICAgICAgICAgKiBJdCBzaGFsbCBiZSBtYXBw
ZWQgdG8gdGhlIGZpeGVkIGd1ZXN0IFJBTSBhZGRyZXNzIHJhbWJhc2VbaV0sDQo+ID4gKyAgICAg
ICAgICogQW5kIHVudGlsIGl0IGV4aGF1c3RzIHRoZSByYW1zaXplW2ldLCBpdCB3aWxsIHNlZWsg
dG8gdGhlIG5leHQNCj4gPiArICAgICAgICAgKiByYW1iYXNlW2krMV0uDQo+ID4gKyAgICAgICAg
ICovDQo+ID4gKyAgICAgICAgd2hpbGUgKCAxICkNCj4gPiArICAgICAgICB7DQo+ID4gKyAgICAg
ICAgICAgIC8qDQo+ID4gKyAgICAgICAgICAgICAqIFRoZSBjdXJyZW50IHBoeXNpY2FsIGJhbmsg
aXMgZnVsbHkgbWFwcGVkLg0KPiA+ICsgICAgICAgICAgICAgKiBIYW5kbGUgdGhlIG5leHQgcGh5
c2ljYWwgYmFuay4NCj4gPiArICAgICAgICAgICAgICovDQo+ID4gKyAgICAgICAgICAgIGlmICgg
Z3NpemUgPj0gcHNpemUgKQ0KPiA+ICsgICAgICAgICAgICB7DQo+ID4gKyAgICAgICAgICAgICAg
ICBpZiAoICFhcHBlbmRfc3RhdGljX21lbW9yeV90b19iYW5rKGQsICZraW5mby0+bWVtLmJhbmtb
Z2JhbmtdLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzbWZuLCBwc2l6ZSkgKQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFp
bDsNCj4gPiArDQo+ID4gKyAgICAgICAgICAgICAgICBnc2l6ZSA9IGdzaXplIC0gcHNpemU7DQo+
ID4gKyAgICAgICAgICAgICAgICBiYW5rKys7DQo+ID4gKyAgICAgICAgICAgICAgICBicmVhazsN
Cj4gPiArICAgICAgICAgICAgfQ0KPiA+ICsgICAgICAgICAgICAvKg0KPiA+ICsgICAgICAgICAg
ICAgKiBDdXJyZW50IGd1ZXN0IGJhbmsgbWVtb3J5IGlzIG5vdCBlbm91Z2ggdG8gbWFwLg0KPiA+
ICsgICAgICAgICAgICAgKiBDaGVjayBpZiB3ZSBoYXZlIGFub3RoZXIgZ3Vlc3QgYmFuayBhdmFp
bGFibGUuDQo+ID4gKyAgICAgICAgICAgICAqIGdiYW5rIHJlZmVycyBndWVzdCBtZW1vcnkgYmFu
ayBpbmRleC4NCj4gPiArICAgICAgICAgICAgICovDQo+ID4gKyAgICAgICAgICAgIGVsc2UgaWYg
KCAoZ2JhbmsgKyAyKSA+IEdVRVNUX1JBTV9CQU5LUyApIHsNCj4gDQo+IEkgZG9uJ3QgdW5kZXJz
dGFuZCB0aGUgKzIuIENhbiB5b3UgY2xhcmlmeSBpdD8NCj4gDQoNCmdiYW5rIHJlZmVycyB0byB0
aGUgaW5kZXggb2YgdGhlIGd1ZXN0IGJhbmssIGFuZCBoZXJlIHNpbmNlIGN1cnJlbnQgZ3Vlc3Qg
YmFuayhnYmFuaykNCiBtZW1vcnkgaXMgbm90IGVub3VnaCB0byBtYXAsIHVzZXJzIHNlZWtzIHRv
IHRoZSBuZXh0IG9uZShnYmFuayArIDEpLA0KDQpnYmFuayArIDIgaXMgdGhlIG51bWJlciBvZiBy
ZXF1ZXN0ZWQgZ3Vlc3QgbWVtb3J5IGJhbmtzIHJpZ2h0IG5vdywgYW5kIHNoYWxsIG5vdCBiZQ0K
bGFyZ2VyIHRoYW4gR1VFU1RfUkFNX0JBTktTLg0KIA0KPiBBbHNvLCB0aGUgY29kaW5nIHN0eWxl
IGZvciBYZW4gcmVxdWlyZXMgdGhlIHsgdG8gYmUgb24gYSBzZXBhcmF0ZSBsaW5lLg0KPiANCg0K
U3VyZS4NCg0KPiA+ICsgICAgICAgICAgICAgICAgcHJpbnRrKCJFeGhhdXN0ZWQgdGhlIG51bWJl
ciBvZiBndWVzdCBiYW5rXG4iKTsNCj4gPiArICAgICAgICAgICAgICAgIGdvdG8gZmFpbDsNCj4g
PiArICAgICAgICAgICAgfQ0KPiA+ICsgICAgICAgICAgICBlbHNlDQo+ID4gKyAgICAgICAgICAg
IHsNCj4gPiArICAgICAgICAgICAgICAgIGlmICggIWFwcGVuZF9zdGF0aWNfbWVtb3J5X3RvX2Jh
bmsoZCwgJmtpbmZvLT5tZW0uYmFua1tnYmFua10sDQo+ID4gKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNtZm4sIGdzaXplKSApDQo+ID4gKyAgICAg
ICAgICAgICAgICAgICAgZ290byBmYWlsOw0KPiANCj4gQXMgSSBtYXkgaGF2ZSBtZW50aW9ubmVk
IGVhcmxpZXIsIEkgZmluZCB0aGUgZG91YmxlIGxvb3AgcXVpdGUgZGlmZmljdWx0IHRvIHJlYWQu
DQo+IEkgZG9uJ3QgdGhpbmsgd2UgY2FuIGRyb3AgdGhlIGRvdWJsZSBsb29wLCBidXQgd2UgY2Fu
IGF0IGxlYXN0IHRyeSB0byBzaW1wbGlmeQ0KPiB0aGUgY29kZSBpbiB0aGUgbG9vcHMuDQo+IA0K
PiBUaGUgb25lIEkgY2FuIHRoaW5rIHJpZ2h0IG5vdyBpcyBtb3ZpbmcgYWxsb2NhdGVfc3RhdGlj
X21lbW9yeV90b19iYW5rKCkNCj4gb3V0c2lkZSBvZiB0aGUgaWYvZWxzZS4gU29tZXRoaW5nIGxp
a2U6DQo+IA0KPiAvKiBNYXAgYXMgbXVjaCBhcyBwb3NzaWJsZSB0aGUgc3RhdGljIHJhbmdlIHRv
IHRoZSBndWVzdCBiYW5rICovIGlmDQo+ICggIWFsbG9jYXRlX3N0YXRpY19iYW5rKC4uLCBtaW4o
cHNpemUsIGdpemUpKSApDQo+IA0KDQpTdXJlLCB3aWxsIGRvLg0KDQo+ID4gKw0KPiA+ICsgICAg
ICAgICAgICAgICAgcHNpemUgPSBwc2l6ZSAtIGdzaXplOw0KPiA+ICsgICAgICAgICAgICAgICAg
c21mbiA9IG1mbl9hZGQoc21mbiwgZ3NpemUgPj4gUEFHRV9TSElGVCk7DQo+ID4gKyAgICAgICAg
ICAgICAgICAvKiBVcGRhdGUgdG8gdGhlIG5leHQgZ3Vlc3QgYmFuay4gKi8NCj4gPiArICAgICAg
ICAgICAgICAgIGdiYW5rKys7DQo+ID4gKyAgICAgICAgICAgICAgICBnc2l6ZSA9IHJhbXNpemVb
Z2JhbmtdOw0KPiA+ICsgICAgICAgICAgICAgICAga2luZm8tPm1lbS5iYW5rW2diYW5rXS5zdGFy
dCA9IHJhbWJhc2VbZ2JhbmtdOw0KPiA+ICsgICAgICAgICAgICB9DQo+ID4gKyAgICAgICAgfQ0K
PiA+ICsgICAgfQ0KPiA+ICsNCj4gPiArICAgIGtpbmZvLT5tZW0ubnJfYmFua3MgPSArK2diYW5r
Ow0KPiA+ICsgICAga2luZm8tPnVuYXNzaWduZWRfbWVtIC09IHRvdF9zaXplOw0KPiA+ICsgICAg
aWYgKCBraW5mby0+dW5hc3NpZ25lZF9tZW0gKQ0KPiA+ICsgICAgICAgIHByaW50ayhYRU5MT0df
RVJSDQo+ID4gKyAgICAgICAgICAgICAgICJTaXplIG9mIFwibWVtb3J5XCIgcHJvcGVydHkgZG9l
c24ndCBtYXRjaCB1cCB3aXRoIHRoZSBvbmVzICINCj4gPiArICAgICAgICAgICAgICAgImRlZmlu
ZWQgaW4gXCJ4ZW4sc3RhdGljLW1lbVwiLlxuIik7DQo+IA0KPiBXZSBkb24ndCBzcGxpdCB0aGUg
c2luZ2xlIGxpbmUgbWVzc2FnZSBhY2Nyb3NzIG11bHRpLWxpbmUgZXZlbiBpZiB0aGUgcmVzdWx0
IGNvZGUNCj4gaXMgbW9yZSB0aGFuIDgwIGNoYXJhY3RlcnMgbG9uZy4NCj4gDQoNClN1cmUuDQoN
Cj4gPiArDQo+ID4gKyAgICByZXR1cm47DQo+ID4gKw0KPiA+ICtmYWlsOg0KPiA+ICsgICAgcGFu
aWMoIkZhaWxlZCB0byBhbGxvY2F0ZSByZXF1ZXN0ZWQgc3RhdGljIG1lbW9yeSBmb3IgZG9tYWlu
ICVwZC4iDQo+ID4gKyAgICAgICAgICAiRml4IHRoZSBWTXMgY29uZmlndXJhdGlvbnMuXG4iLA0K
PiANCj4gU2FtZSBoZXJlLg0KPiANCj4gPiArICAgICAgICAgIGQpOw0KPiA+ICt9DQo+ID4gKw0K
PiA+ICAgc3RhdGljIGludCBfX2luaXQgd3JpdGVfcHJvcGVydGllcyhzdHJ1Y3QgZG9tYWluICpk
LCBzdHJ1Y3Qga2VybmVsX2luZm8gKmtpbmZvLA0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgZHRfZGV2aWNlX25vZGUgKm5vZGUpDQo+ID4gICB7
DQo+ID4gQEAgLTI0ODYsOCArMjYxOSw4IEBAIHN0YXRpYyBpbnQgX19pbml0IGNvbnN0cnVjdF9k
b21VKHN0cnVjdCBkb21haW4gKmQsDQo+ID4gICAgICAgaWYgKCAhc3RhdGljX21lbSApDQo+ID4g
ICAgICAgICAgIGFsbG9jYXRlX21lbW9yeShkLCAma2luZm8pOw0KPiA+ICAgICAgIGVsc2UNCj4g
PiAtICAgICAgICAvKiBUT0RPOiBhbGxvY2F0ZV9zdGF0aWNfbWVtb3J5KC4uLikuICovDQo+ID4g
LSAgICAgICAgQlVHKCk7DQo+ID4gKyAgICAgICAgYWxsb2NhdGVfc3RhdGljX21lbW9yeShkLCAm
a2luZm8sIHN0YXRpY19tZW1fcHJvcCwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHN0YXRpY19tZW1fYWRkcl9jZWxscywNCj4gPiArIHN0YXRpY19tZW1fc2l6ZV9jZWxscyk7
DQo+ID4NCj4gPiAgICAgICByYyA9IHByZXBhcmVfZHRiX2RvbVUoZCwgJmtpbmZvKTsNCj4gPiAg
ICAgICBpZiAoIHJjIDwgMCApDQo+ID4NCj4gDQo+IENoZWVycywNCj4gDQo+IC0tDQoNCkNoZWVy
cw0KDQpQZW5ueQ0KPiBKdWxpZW4gR3JhbGwNCg==


From xen-devel-bounces@lists.xenproject.org Mon Aug 16 07:55:23 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 07:55:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167217.305208 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFXSt-0004oo-1R; Mon, 16 Aug 2021 07:55:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167217.305208; Mon, 16 Aug 2021 07: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 1mFXSs-0004oh-Th; Mon, 16 Aug 2021 07:55:22 +0000
Received: by outflank-mailman (input) for mailman id 167217;
 Mon, 16 Aug 2021 07:55:21 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=3tuO=NH=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mFXSr-0004oZ-5L
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 07:55:21 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 4d0f9a6a-fe67-11eb-a447-12813bfff9fa;
 Mon, 16 Aug 2021 07:55:20 +0000 (UTC)
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2053.outbound.protection.outlook.com [104.47.2.53]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-10-EzRdqzXXPDKtcubA0f5tzw-1; Mon, 16 Aug 2021 09:55:17 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4848.eurprd04.prod.outlook.com (2603:10a6:803:55::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.17; Mon, 16 Aug
 2021 07:55:16 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.023; Mon, 16 Aug 2021
 07:55:16 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR06CA0128.eurprd06.prod.outlook.com (2603:10a6:208:ab::33) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.17 via Frontend Transport; Mon, 16 Aug 2021 07:55:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4d0f9a6a-fe67-11eb-a447-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629100519;
	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=GBeqSVe7TY9AdmaPAyvIh9BsyGoNW4bFgLClWkxfydY=;
	b=ZC55I0N207FVdZx4err+pIQ63HqhqY1B+EbCIfcLt/VpryuzS4O55rkA97R78KQ1dd7YW1
	HfAfLkloNcgfPeHZDdvSG7H0FaLwiHjtBPgJkVvZ1NfyonJW4+rIOmP8BZSeAP6KE30b/j
	qkcFJp7m4Lqlrv3B7Pcb+YKLMSDqLcQ=
X-MC-Unique: EzRdqzXXPDKtcubA0f5tzw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RFwU4NtIHrV3O74N9KnB/emxBOZ86NemWJ0IQ2+YUp3KSD0YwZwoHVS5po58orO0eW81jILxVZ6jJE0iLprptMNic561ZnRsKSMGMTHs5aows1BtZLiaMOp8zTg6oy9o6W3KJpHw9nbMrYRkHZBdz2bOtNSf5P6GgPtfb2MMS4AfBhVEx8ApnxqBha6h6nugvY6LepQoUtY64lmc+LcM/AUgnu0s/nEVHBnG9ETPZ9CVS43D5FZE82gH2jxMImI2JaQmALY3wsIpVlBrbhSd28JpSm0FeHAEpxScyKsG3KEW/5quoKvGboIDBPQl8+3MSPFRtlpC3/G+ScUQUqpwWg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QKFeOKusJpquxtd00pOoP6vf9uFbiqjeRB5MQoS5kfE=;
 b=Rj1MfK+aUgwu8oSlphIbwcQaNFOW5oRRJROw3rhs95pK5BHeUAGqN1KqfUbZGxMZQK+Q64bsPBu9CVsTAynBZDV7nNqHdQEESImIhedq0mGKo6PC73ejus/QfV3s1AOXRQdseuOpIJmrxmILIpZ0ELjZfkHMRksdJgCazEq7vZffSlvhUgmzXdG2oGRxv/nE5hUKAhF7loor/4TsM9EftOJ4avmWIZKY06SHsiV3fYKf02PDtX/yHU2zTmWF8mpkEIRUl2L/Dka+NhlqAQ/1uMVkoW05vUChDWRGF7tv4Y2Bi8j59a4+xyfbMggV2C3+P79m6fAh7hkxuLumYetL9g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH 2/2] ns16550: add Exar dual PCIe UART card support
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>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <20210813183139.391546-1-marmarek@invisiblethingslab.com>
 <20210813183139.391546-2-marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <0326eebe-2ec8-1c2d-bf2c-8cb4c16312af@suse.com>
Date: Mon, 16 Aug 2021 09:55:16 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210813183139.391546-2-marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM0PR06CA0128.eurprd06.prod.outlook.com
 (2603:10a6:208:ab::33) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 51b04212-5cc8-4806-2c02-08d9608b2f3e
X-MS-TrafficTypeDiagnostic: VI1PR04MB4848:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB48483BA6CA38CFE0604F3903B3FD9@VI1PR04MB4848.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	uT66AEajXcwsp0MJPyYBvkv912qP0oIpPgF3YIwdYT7fUTATugKQhOdwWdEzDOcx8k+5Lk3PRFc3wkjGfVp5SeGKBozGWSFOxkhXmahFVqDVwdpHU34/MtuKqgp/HWDnV5Gb0AXSYo9++R0SlAsFoXcG/1ifrGmqwZQXOyh1Bh3Bf7Ji1XeG90DWCaZgdrDx3CIF4QL6eRF/ENrIfj6Qp0l7VwGv4FN9x7sPks3k84SWs33mTpubSy2i8Bm77xubjEH2koS8aRYaFHjQ47jE117EFY3TJdZSjMoo3/VxxPZL39xRerBpX+zTcpivHTWOEuODoaN5b/bWqTOKcBDgomrvNWePw8vHykxQukEjZMXv2qRSsgbbHzBEqI6e01/kohWr1rJ5dpUTTlBO4T3fs4vQ0CniLtqHaYYnLNOY1VSojX0qgKlLsTYVwvtKfHhc1QTGt1IKggAqT0d7WLggpM7QQfr6gQSu1SH4BbEsrQOet+tSYa75qbAK+fn9s43dMwEWoHqOyziaLUkLiuf660r82swe6czf+vJX6MlDeP/KKQ4VZ4JZy+jyeE2IoD+J6B7cKHIRlSneg0SiEVdgCVl4YfXgDjHvA0PmTneTlhfEunF4nWCWxICxsShtcPBNk0VMK8mmyaEHUAUps+x7jNqd4L3A0qIj2CrGlioMkjlS8HGkj6Ketnce5gSEN12YckFRAD4KM1mTeSkmNeQeEQ7qa0uYmK27r5cqwoCGb/Q=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(346002)(366004)(376002)(396003)(39850400004)(2906002)(66476007)(8936002)(26005)(8676002)(66946007)(86362001)(31696002)(66556008)(316002)(956004)(53546011)(6486002)(16576012)(5660300002)(36756003)(186003)(54906003)(38100700002)(2616005)(4326008)(83380400001)(478600001)(6916009)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?wVnnd2bSgPQvbmxnMAY8zmjQZs6nLsoEzPmS0Gy3ljCaDRrzpDLOSO7klq2N?=
 =?us-ascii?Q?0wVfHlZGtb6VGHiL2quqK9FjykzkqeykL234nWMrvqSaxkNlHqsem/PWGuLf?=
 =?us-ascii?Q?2DinjGQ+qsyy+rgFOuFR/mWrCLkviJsNOO4y/RV8GzMW2JJ3xc7okKyhmac7?=
 =?us-ascii?Q?HIocpTyky57+CjalbmxhQwXiBt6FHCAZh3mXj9B2ebIB4NEsdeFe409jPpqL?=
 =?us-ascii?Q?nbbiIb7Z95OZb2DTZdJJfmgda+maxwKXOqHgmfcXwgBulDljN66eHFaLYH/u?=
 =?us-ascii?Q?UQ3mcIE35Ul6YmhGetnX4yke+x3Si5+DclFuMR/eSlUDS71LCRH5Pt2utn1I?=
 =?us-ascii?Q?ZHLzgQZR+6tg+F9u4POS5CtMT0xSJk+eYB23Z1jLW+Z0++IXm9XNAf/9X7YN?=
 =?us-ascii?Q?OPi2g8kYFlG3yCmyyg5rVbKK2aKXICsgRUztrFFi+izzFpX/muyDDX+eiX2f?=
 =?us-ascii?Q?yEdu7eIzoqkF2Pn2PUMtvH+YiUvsH9rrDrd7tXlxF2Vds0Bjvf/wjTxUYEcE?=
 =?us-ascii?Q?0DAmF4Lwu0BdcG6f7etEfRy7vYOczn326fJdUUJan5DANdGZksneJ4LKkowb?=
 =?us-ascii?Q?W5nqPKjpM7wbzApf6IiypNgxydp01Wcf7D4sMZbjXY96SDk7VdXjcud+Ubmi?=
 =?us-ascii?Q?V9SuCJKwpvu09WP5Xp0yXoqDohp8+9ucmrsvByE5Ju4JafOM6qJga48CkEaW?=
 =?us-ascii?Q?SMHClg7K5JgHnopdlF4pYZJrftSG4xWkdABMVAshAv8rz3kEktPim+ppw3OL?=
 =?us-ascii?Q?lOJqFaC6i/DYTcG6H3LZQocJDETeU7D+KOaP/9pZaNY0Wf9OrIXSUWt4bG3v?=
 =?us-ascii?Q?XxS3qK88mr/R47vVpdnVpZozvybZ+I8vMcTGeYm7VTDp66qa7e6c8zc6xvrq?=
 =?us-ascii?Q?KN6bD/ymUvLMdDsl+WfHnogsBo8wTDk+KjyaSugmWq4/bWM1IJ80x9AZMLhi?=
 =?us-ascii?Q?fWdEq3bk70mvYMtXrMPLNcsUiiBaTugXofUR4KNefdk0SLT1yiGK+rAHnLLB?=
 =?us-ascii?Q?spgTbUew8LQEEHFixi0eaGMVsWthp0Wf/Lq9hGaWLDS5ZZwb7YzdL4dvSXmw?=
 =?us-ascii?Q?2GoRydlb3X4+nrlnc6eTcoll8HABBBr5Z/QTpv9p/iozzFEuu/cjUsDBlltT?=
 =?us-ascii?Q?0XFu51xedj65c8YBRhKiwde/g/o6rLR5utt6q/IwLv/qV7J0ZKtZz5GLeXMS?=
 =?us-ascii?Q?pSofRt4NfJCFk5yrgJQLcJZJiLxdXmFSbiHM6qeYRqsxZEahtXtwDiOXJmyR?=
 =?us-ascii?Q?x+WimqAFfRxdjrG6uB0qQdERx7KdkmSNBBhjSjT6iwvbAG2xdWgpsGNun7Z5?=
 =?us-ascii?Q?fiLcoAI/PeOrK+vJDbGMQFkc?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 51b04212-5cc8-4806-2c02-08d9608b2f3e
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2021 07:55:15.9729
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +7JVJHvX70kaqvS/jB9OND3PUz8mMfqeacNkR3WMir74Ia8bCvVworhyzM6X6YkP61SZ7KwlbO7BgbudqxQIWQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4848

On 13.08.2021 20:31, Marek Marczykowski-G=C3=B3recki wrote:
> Besides standard UART setup, this device needs enabling
> (vendor-specific) "Enhanced Control Bits" - otherwise disabling hardware
> control flow (MCR[2]) is ignored. Add appropriate quirk to the
> ns16550_setup_preirq(), similar to the handle_dw_usr_busy_quirk(). The
> new function act on Exar cards only (based on vendor ID).

While on IRC you did say you have a datasheet or alike for the specific
card you have in use, may I ask that you clarify why the logic is
applicable to all (past, present, and future) Exar cards?

> @@ -169,6 +170,21 @@ static void handle_dw_usr_busy_quirk(struct ns16550 =
*uart)
>      }
>  }
> =20
> +static void enable_exar_enhanced_bits(struct ns16550 *uart)
> +{
> +#ifdef NS16550_PCI
> +    if ( uart->bar &&
> +         pci_conf_read16(PCI_SBDF(0, uart->ps_bdf[0], uart->ps_bdf[2],
> +                         uart->ps_bdf[2]), PCI_VENDOR_ID) =3D=3D PCI_VEN=
DOR_ID_EXAR )
> +    {
> +        /* Exar cards ignores setting MCR[2] (hardware flow control) unl=
ess
> +         * "Enhanced control bits" is enabled.
> +         */

Style nit: /* belongs on its own line as per ./CODING_STYLE.

> +        ns_write_reg(uart, UART_XR_EFR, UART_EFR_ECB);

Wouldn't this better be a read-modify-write operation?

> --- a/xen/include/xen/8250-uart.h
> +++ b/xen/include/xen/8250-uart.h
> @@ -121,6 +121,10 @@
>  /* Frequency of external clock source. This definition assumes PC platfo=
rm. */
>  #define UART_CLOCK_HZ     1843200
> =20
> +/* Exar specific */
> +#define UART_XR_EFR       0x09
> +#define UART_EFR_ECB      0x10

Please move the former into the group after the "/* Register offsets */"
comment and extend the comment on the latter to establish a link to
UART_XR_EFR.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Aug 16 08:02:00 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 08:02:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.166207.305219 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFXZF-0006nn-6I; Mon, 16 Aug 2021 08:01:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 166207.305219; Mon, 16 Aug 2021 08:01:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFXZF-0006ng-2D; Mon, 16 Aug 2021 08:01:57 +0000
Received: by outflank-mailman (input) for mailman id 166207;
 Thu, 12 Aug 2021 07:56:10 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4UnZ=ND=linaro.org=francois.ozog@srs-us1.protection.inumbo.net>)
 id 1mE5ZR-0007ZL-Vd
 for xen-devel@lists.xen.org; Thu, 12 Aug 2021 07:56:10 +0000
Received: from mail-ej1-x636.google.com (unknown [2a00:1450:4864:20::636])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 4728203e-623f-41d3-a3ef-e69951aa1c98;
 Thu, 12 Aug 2021 07:56:04 +0000 (UTC)
Received: by mail-ej1-x636.google.com with SMTP id hs10so9892909ejc.0
 for <xen-devel@lists.xen.org>; Thu, 12 Aug 2021 00:56: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: 4728203e-623f-41d3-a3ef-e69951aa1c98
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc;
        bh=t7flhKne5lFX+8emYXP1QWGTy3UXwrCNvyt7HDWl/jU=;
        b=d1m+Grzf3lR4EtKjvlMAF2Wc6FMYJHuJx0CqijoTEK8cy833ORkQEMc0wnqWoRejHr
         R5xUcLVUjopkjRZByASykbq6QQtwJf+T4mm0C4tQqmpxQADWIXTRWP4uF/1UbZGsyGvA
         YIAFp/pTdEIjELnW6n5i7Ahu9lCr3ilPglqHnOgYixbRtMs8IkSRmgD3Xut45wJ9+iSZ
         oA7Xk+IfQee5BmWRUuUadsoGKalY40T+xKFUQvPY3UU393D081KdXLiWNsC5eB6LR94q
         QqGDm7/w14jYI7e+uRw8KEz+kW1ZiBDFwBgLKr4dp5TP96Cy1PrM7oeqt3Xab/5QQdSg
         4tqA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=t7flhKne5lFX+8emYXP1QWGTy3UXwrCNvyt7HDWl/jU=;
        b=YoGkyieiWGGFO1mccGj/Kghn0CPNLpihyJeW2vhih+6jKlTjwR4DXrMJFKXIreCrkm
         GX/Npx6QrucH9rppKdcmkFf9e1y8uI237yqAGSwLtHEtyLt9p+BrYqc/fBSSLUkrMRBq
         87coJK4MZgbp0AYrj+DqBAPwBxb9rYJbEC+cX8+ZPAuLIaM+AMSaZn1G9v8FDGWmf4mR
         ZA/0mHy4+Pd4bLbHF88InCE+Fp6Eb9FW4Z7xSrg7eVOLkLBxOJ86Vv7k63SJhQqBi1bN
         YPsj96QqvhuvcpN/PRcXL+mqJ7LcITDXhLJiTbfT08h+rPOZNvToOFgWCR0hdxFIMCiQ
         og1g==
X-Gm-Message-State: AOAM531/kraMwT1XJyAv3qlO6vuhGeN5ILmKYwMGVRkbMUsworxBnxcL
	rJ+nI9N3ukcLC8LrctR+nQVIE1j193q6Y8ho/lm5hQ==
X-Google-Smtp-Source: ABdhPJxvhmRzxDJgeO0hubHbUN5/YKr38ZETbR9nAxqfdOETXduqZO5u946ZxoDqXjkQj3qJUJtSHNfiYvADY/mqmJ0=
X-Received: by 2002:a17:906:2844:: with SMTP id s4mr2389222ejc.263.1628754963248;
 Thu, 12 Aug 2021 00:56:03 -0700 (PDT)
MIME-Version: 1.0
References: <87v94ldrqq.fsf@linaro.org> <alpine.DEB.2.21.2108041055390.9768@sstabellini-ThinkPad-T480s>
 <0100017b33e585a5-06d4248e-b1a7-485e-800c-7ead89e5f916-000000@email.amazonses.com>
In-Reply-To: <0100017b33e585a5-06d4248e-b1a7-485e-800c-7ead89e5f916-000000@email.amazonses.com>
From: =?UTF-8?Q?Fran=C3=A7ois_Ozog?= <francois.ozog@linaro.org>
Date: Thu, 12 Aug 2021 09:55:52 +0200
Message-ID: <CAHFG_=WKjJ1riKtaWC8jm13shc3RtVsNNqd3j9WD9Fq0NeRS2Q@mail.gmail.com>
Subject: Re: [Stratos-dev] Enabling hypervisor agnosticism for VirtIO backends
To: AKASHI Takahiro <takahiro.akashi@linaro.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>, paul@xen.org, 
	Stratos Mailing List <stratos-dev@op-lists.linaro.org>, virtio-dev@lists.oasis-open.org, 
	Jan Kiszka <jan.kiszka@siemens.com>, Arnd Bergmann <arnd.bergmann@linaro.org>, jgross@suse.com, 
	julien@xen.org, Carl van Schaik <cvanscha@qti.qualcomm.com>, Bertrand.Marquis@arm.com, 
	stefanha@redhat.com, Artem_Mygaiev@epam.com, xen-devel@lists.xen.org, 
	olekstysh@gmail.com, Oleksandr_Tyshchenko@epam.com
Content-Type: multipart/alternative; boundary="00000000000002d7a005c9581158"

--00000000000002d7a005c9581158
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

I top post as I find it difficult to identify where to make the comments.

1) BE acceleration
Network and storage backends may actually be executed in SmartNICs. As
virtio 1.1 is hardware friendly, there may be SmartNICs with virtio 1.1 PCI
VFs. Is it a valid use case for the generic BE framework to be used in this
context?
DPDK is used in some BE to significantly accelerate switching. DPDK is also
used sometimes in guests. In that case, there are no event injection but
just high performance memory scheme. Is this considered as a use case?

2) Virtio as OS HAL
Panasonic CTO has been calling for a virtio based HAL and based on the
teachings of Google GKI, an internal HAL seem inevitable in the long term.
Virtio is then a contender to Google promoted Android HAL. Could the
framework be used in that context?

On Wed, 11 Aug 2021 at 08:28, AKASHI Takahiro via Stratos-dev <
stratos-dev@op-lists.linaro.org> wrote:

> On Wed, Aug 04, 2021 at 12:20:01PM -0700, Stefano Stabellini wrote:
> > CCing people working on Xen+VirtIO and IOREQs. Not trimming the origina=
l
> > email to let them read the full context.
> >
> > My comments below are related to a potential Xen implementation, not
> > because it is the only implementation that matters, but because it is
> > the one I know best.
>
> Please note that my proposal (and hence the working prototype)[1]
> is based on Xen's virtio implementation (i.e. IOREQ) and particularly
> EPAM's virtio-disk application (backend server).
> It has been, I believe, well generalized but is still a bit biased
> toward this original design.
>
> So I hope you like my approach :)
>
> [1]
> https://op-lists.linaro.org/pipermail/stratos-dev/2021-August/000546.html
>
> Let me take this opportunity to explain a bit more about my approach belo=
w.
>
> > Also, please see this relevant email thread:
> > https://marc.info/?l=3Dxen-devel&m=3D162373754705233&w=3D2
> >
> >
> > On Wed, 4 Aug 2021, Alex Benn=C3=A9e wrote:
> > > Hi,
> > >
> > > One of the goals of Project Stratos is to enable hypervisor agnostic
> > > backends so we can enable as much re-use of code as possible and avoi=
d
> > > repeating ourselves. This is the flip side of the front end where
> > > multiple front-end implementations are required - one per OS, assumin=
g
> > > you don't just want Linux guests. The resultant guests are trivially
> > > movable between hypervisors modulo any abstracted paravirt type
> > > interfaces.
> > >
> > > In my original thumb nail sketch of a solution I envisioned vhost-use=
r
> > > daemons running in a broadly POSIX like environment. The interface to
> > > the daemon is fairly simple requiring only some mapped memory and som=
e
> > > sort of signalling for events (on Linux this is eventfd). The idea wa=
s
> a
> > > stub binary would be responsible for any hypervisor specific setup an=
d
> > > then launch a common binary to deal with the actual virtqueue request=
s
> > > themselves.
> > >
> > > Since that original sketch we've seen an expansion in the sort of way=
s
> > > backends could be created. There is interest in encapsulating backend=
s
> > > in RTOSes or unikernels for solutions like SCMI. There interest in Ru=
st
> > > has prompted ideas of using the trait interface to abstract differenc=
es
> > > away as well as the idea of bare-metal Rust backends.
> > >
> > > We have a card (STR-12) called "Hypercall Standardisation" which
> > > calls for a description of the APIs needed from the hypervisor side t=
o
> > > support VirtIO guests and their backends. However we are some way off
> > > from that at the moment as I think we need to at least demonstrate on=
e
> > > portable backend before we start codifying requirements. To that end =
I
> > > want to think about what we need for a backend to function.
> > >
> > > Configuration
> > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> > >
> > > In the type-2 setup this is typically fairly simple because the host
> > > system can orchestrate the various modules that make up the complete
> > > system. In the type-1 case (or even type-2 with delegated service VMs=
)
> > > we need some sort of mechanism to inform the backend VM about key
> > > details about the system:
> > >
> > >   - where virt queue memory is in it's address space
> > >   - how it's going to receive (interrupt) and trigger (kick) events
> > >   - what (if any) resources the backend needs to connect to
> > >
> > > Obviously you can elide over configuration issues by having static
> > > configurations and baking the assumptions into your guest images
> however
> > > this isn't scalable in the long term. The obvious solution seems to b=
e
> > > extending a subset of Device Tree data to user space but perhaps ther=
e
> > > are other approaches?
> > >
> > > Before any virtio transactions can take place the appropriate memory
> > > mappings need to be made between the FE guest and the BE guest.
> >
> > > Currently the whole of the FE guests address space needs to be visibl=
e
> > > to whatever is serving the virtio requests. I can envision 3
> approaches:
> > >
> > >  * BE guest boots with memory already mapped
> > >
> > >  This would entail the guest OS knowing where in it's Guest Physical
> > >  Address space is already taken up and avoiding clashing. I would
> assume
> > >  in this case you would want a standard interface to userspace to the=
n
> > >  make that address space visible to the backend daemon.
>
> Yet another way here is that we would have well known "shared memory"
> between
> VMs. I think that Jailhouse's ivshmem gives us good insights on this matt=
er
> and that it can even be an alternative for hypervisor-agnostic solution.
>
> (Please note memory regions in ivshmem appear as a PCI device and can be
> mapped locally.)
>
> I want to add this shared memory aspect to my virtio-proxy, but
> the resultant solution would eventually look similar to ivshmem.
>
> > >  * BE guests boots with a hypervisor handle to memory
> > >
> > >  The BE guest is then free to map the FE's memory to where it wants i=
n
> > >  the BE's guest physical address space.
> >
> > I cannot see how this could work for Xen. There is no "handle" to give
> > to the backend if the backend is not running in dom0. So for Xen I thin=
k
> > the memory has to be already mapped
>
> In Xen's IOREQ solution (virtio-blk), the following information is expect=
ed
> to be exposed to BE via Xenstore:
> (I know that this is a tentative approach though.)
>    - the start address of configuration space
>    - interrupt number
>    - file path for backing storage
>    - read-only flag
> And the BE server have to call a particular hypervisor interface to
> map the configuration space.
>
> In my approach (virtio-proxy), all those Xen (or hypervisor)-specific
> stuffs are contained in virtio-proxy, yet another VM, to hide all details=
.
>
> # My point is that a "handle" is not mandatory for executing mapping.
>
> > and the mapping probably done by the
> > toolstack (also see below.) Or we would have to invent a new Xen
> > hypervisor interface and Xen virtual machine privileges to allow this
> > kind of mapping.
>
> > If we run the backend in Dom0 that we have no problems of course.
>
> One of difficulties on Xen that I found in my approach is that calling
> such hypervisor intefaces (registering IOREQ, mapping memory) is only
> allowed on BE servers themselvies and so we will have to extend those
> interfaces.
> This, however, will raise some concern on security and privilege
> distribution
> as Stefan suggested.
> >
> >
> > > To activate the mapping will
> > >  require some sort of hypercall to the hypervisor. I can see two
> options
> > >  at this point:
> > >
> > >   - expose the handle to userspace for daemon/helper to trigger the
> > >     mapping via existing hypercall interfaces. If using a helper you
> > >     would have a hypervisor specific one to avoid the daemon having t=
o
> > >     care too much about the details or push that complexity into a
> > >     compile time option for the daemon which would result in differen=
t
> > >     binaries although a common source base.
> > >
> > >   - expose a new kernel ABI to abstract the hypercall differences awa=
y
> > >     in the guest kernel. In this case the userspace would essentially
> > >     ask for an abstract "map guest N memory to userspace ptr" and let
> > >     the kernel deal with the different hypercall interfaces. This of
> > >     course assumes the majority of BE guests would be Linux kernels a=
nd
> > >     leaves the bare-metal/unikernel approaches to their own devices.
> > >
> > > Operation
> > > =3D=3D=3D=3D=3D=3D=3D=3D=3D
> > >
> > > The core of the operation of VirtIO is fairly simple. Once the
> > > vhost-user feature negotiation is done it's a case of receiving updat=
e
> > > events and parsing the resultant virt queue for data. The vhost-user
> > > specification handles a bunch of setup before that point, mostly to
> > > detail where the virt queues are set up FD's for memory and event
> > > communication. This is where the envisioned stub process would be
> > > responsible for getting the daemon up and ready to run. This is
> > > currently done inside a big VMM like QEMU but I suspect a modern
> > > approach would be to use the rust-vmm vhost crate. It would then eith=
er
> > > communicate with the kernel's abstracted ABI or be re-targeted as a
> > > build option for the various hypervisors.
> >
> > One thing I mentioned before to Alex is that Xen doesn't have VMMs the
> > way they are typically envisioned and described in other environments.
> > Instead, Xen has IOREQ servers. Each of them connects independently to
> > Xen via the IOREQ interface. E.g. today multiple QEMUs could be used as
> > emulators for a single Xen VM, each of them connecting to Xen
> > independently via the IOREQ interface.
> >
> > The component responsible for starting a daemon and/or setting up share=
d
> > interfaces is the toolstack: the xl command and the libxl/libxc
> > libraries.
>
> I think that VM configuration management (or orchestration in Startos
> jargon?) is a subject to debate in parallel.
> Otherwise, is there any good assumption to avoid it right now?
>
> > Oleksandr and others I CCed have been working on ways for the toolstack
> > to create virtio backends and setup memory mappings. They might be able
> > to provide more info on the subject. I do think we miss a way to provid=
e
> > the configuration to the backend and anything else that the backend
> > might require to start doing its job.
> >
> >
> > > One question is how to best handle notification and kicks. The existi=
ng
> > > vhost-user framework uses eventfd to signal the daemon (although QEMU
> > > is quite capable of simulating them when you use TCG). Xen has it's o=
wn
> > > IOREQ mechanism. However latency is an important factor and having
> > > events go through the stub would add quite a lot.
> >
> > Yeah I think, regardless of anything else, we want the backends to
> > connect directly to the Xen hypervisor.
>
> In my approach,
>  a) BE -> FE: interrupts triggered by BE calling a hypervisor interface
>               via virtio-proxy
>  b) FE -> BE: MMIO to config raises events (in event channels), which is
>               converted to a callback to BE via virtio-proxy
>               (Xen's event channel is internnally implemented by
> interrupts.)
>
> I don't know what "connect directly" means here, but sending interrupts
> to the opposite side would be best efficient.
> Ivshmem, I suppose, takes this approach by utilizing PCI's msi-x mechanis=
m.
>
> >
> > > Could we consider the kernel internally converting IOREQ messages fro=
m
> > > the Xen hypervisor to eventfd events? Would this scale with other
> kernel
> > > hypercall interfaces?
> > >
> > > So any thoughts on what directions are worth experimenting with?
> >
> > One option we should consider is for each backend to connect to Xen via
> > the IOREQ interface. We could generalize the IOREQ interface and make i=
t
> > hypervisor agnostic. The interface is really trivial and easy to add.
>
> As I said above, my proposal does the same thing that you mentioned here =
:)
> The difference is that I do call hypervisor interfaces via virtio-proxy.
>
> > The only Xen-specific part is the notification mechanism, which is an
> > event channel. If we replaced the event channel with something else the
> > interface would be generic. See:
> >
> https://gitlab.com/xen-project/xen/-/blob/staging/xen/include/public/hvm/=
ioreq.h#L52
> >
> > I don't think that translating IOREQs to eventfd in the kernel is a
> > good idea: if feels like it would be extra complexity and that the
> > kernel shouldn't be involved as this is a backend-hypervisor interface.
>
> Given that we may want to implement BE as a bare-metal application
> as I did on Zephyr, I don't think that the translation would not be
> a big issue, especially on RTOS's.
> It will be some kind of abstraction layer of interrupt handling
> (or nothing but a callback mechanism).
>
> > Also, eventfd is very Linux-centric and we are trying to design an
> > interface that could work well for RTOSes too. If we want to do
> > something different, both OS-agnostic and hypervisor-agnostic, perhaps
> > we could design a new interface. One that could be implementable in the
> > Xen hypervisor itself (like IOREQ) and of course any other hypervisor
> > too.
> >
> >
> > There is also another problem. IOREQ is probably not be the only
> > interface needed. Have a look at
> > https://marc.info/?l=3Dxen-devel&m=3D162373754705233&w=3D2. Don't we al=
so need
> > an interface for the backend to inject interrupts into the frontend? An=
d
> > if the backend requires dynamic memory mappings of frontend pages, then
> > we would also need an interface to map/unmap domU pages.
>
> My proposal document might help here; All the interfaces required for
> virtio-proxy (or hypervisor-related interfaces) are listed as
> RPC protocols :)
>
> > These interfaces are a lot more problematic than IOREQ: IOREQ is tiny
> > and self-contained. It is easy to add anywhere. A new interface to
> > inject interrupts or map pages is more difficult to manage because it
> > would require changes scattered across the various emulators.
>
> Exactly. I have no confident yet that my approach will also apply
> to other hypervisors than Xen.
> Technically, yes, but whether people can accept it or not is a different
> matter.
>
> Thanks,
> -Takahiro Akashi
>
> --
> Stratos-dev mailing list
> Stratos-dev@op-lists.linaro.org
> https://op-lists.linaro.org/mailman/listinfo/stratos-dev
>


--=20
Fran=C3=A7ois-Fr=C3=A9d=C3=A9ric Ozog | *Director Business Development*
T: +33.67221.6485
francois.ozog@linaro.org | Skype: ffozog

--00000000000002d7a005c9581158
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>I top post as I find it difficult to identify where t=
o make the comments.</div><div><br></div><div>1) BE acceleration</div><div>=
Network and storage backends may actually be executed in SmartNICs. As virt=
io 1.1 is hardware friendly, there may be SmartNICs with virtio 1.1 PCI VFs=
. Is it a valid use case for the generic BE framework to be used in this co=
ntext?</div><div>DPDK is used in some BE to significantly accelerate switch=
ing. DPDK is also used sometimes in guests. In that case, there are no even=
t injection but just high performance memory scheme. Is this considered as =
a use case?</div><div><br></div><div>2) Virtio as OS HAL</div><div>Panasoni=
c CTO has been calling for a virtio based HAL and based on the teachings of=
 Google GKI, an internal HAL seem inevitable in the long term. Virtio is th=
en a contender to Google promoted Android HAL. Could the framework be used =
in that context?</div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=
=3D"gmail_attr">On Wed, 11 Aug 2021 at 08:28, AKASHI Takahiro via Stratos-d=
ev &lt;<a href=3D"mailto:stratos-dev@op-lists.linaro.org">stratos-dev@op-li=
sts.linaro.org</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" st=
yle=3D"margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:sol=
id;border-left-color:rgb(204,204,204);padding-left:1ex">On Wed, Aug 04, 202=
1 at 12:20:01PM -0700, Stefano Stabellini wrote:<br>
&gt; CCing people working on Xen+VirtIO and IOREQs. Not trimming the origin=
al<br>
&gt; email to let them read the full context.<br>
&gt; <br>
&gt; My comments below are related to a potential Xen implementation, not<b=
r>
&gt; because it is the only implementation that matters, but because it is<=
br>
&gt; the one I know best.<br>
<br>
Please note that my proposal (and hence the working prototype)[1]<br>
is based on Xen&#39;s virtio implementation (i.e. IOREQ) and particularly<b=
r>
EPAM&#39;s virtio-disk application (backend server).<br>
It has been, I believe, well generalized but is still a bit biased<br>
toward this original design.<br>
<br>
So I hope you like my approach :)<br>
<br>
[1] <a href=3D"https://op-lists.linaro.org/pipermail/stratos-dev/2021-Augus=
t/000546.html" rel=3D"noreferrer" target=3D"_blank">https://op-lists.linaro=
.org/pipermail/stratos-dev/2021-August/000546.html</a><br>
<br>
Let me take this opportunity to explain a bit more about my approach below.=
<br>
<br>
&gt; Also, please see this relevant email thread:<br>
&gt; <a href=3D"https://marc.info/?l=3Dxen-devel&amp;m=3D162373754705233&am=
p;w=3D2" rel=3D"noreferrer" target=3D"_blank">https://marc.info/?l=3Dxen-de=
vel&amp;m=3D162373754705233&amp;w=3D2</a><br>
&gt; <br>
&gt; <br>
&gt; On Wed, 4 Aug 2021, Alex Benn=C3=A9e wrote:<br>
&gt; &gt; Hi,<br>
&gt; &gt; <br>
&gt; &gt; One of the goals of Project Stratos is to enable hypervisor agnos=
tic<br>
&gt; &gt; backends so we can enable as much re-use of code as possible and =
avoid<br>
&gt; &gt; repeating ourselves. This is the flip side of the front end where=
<br>
&gt; &gt; multiple front-end implementations are required - one per OS, ass=
uming<br>
&gt; &gt; you don&#39;t just want Linux guests. The resultant guests are tr=
ivially<br>
&gt; &gt; movable between hypervisors modulo any abstracted paravirt type<b=
r>
&gt; &gt; interfaces.<br>
&gt; &gt; <br>
&gt; &gt; In my original thumb nail sketch of a solution I envisioned vhost=
-user<br>
&gt; &gt; daemons running in a broadly POSIX like environment. The interfac=
e to<br>
&gt; &gt; the daemon is fairly simple requiring only some mapped memory and=
 some<br>
&gt; &gt; sort of signalling for events (on Linux this is eventfd). The ide=
a was a<br>
&gt; &gt; stub binary would be responsible for any hypervisor specific setu=
p and<br>
&gt; &gt; then launch a common binary to deal with the actual virtqueue req=
uests<br>
&gt; &gt; themselves.<br>
&gt; &gt; <br>
&gt; &gt; Since that original sketch we&#39;ve seen an expansion in the sor=
t of ways<br>
&gt; &gt; backends could be created. There is interest in encapsulating bac=
kends<br>
&gt; &gt; in RTOSes or unikernels for solutions like SCMI. There interest i=
n Rust<br>
&gt; &gt; has prompted ideas of using the trait interface to abstract diffe=
rences<br>
&gt; &gt; away as well as the idea of bare-metal Rust backends.<br>
&gt; &gt; <br>
&gt; &gt; We have a card (STR-12) called &quot;Hypercall Standardisation&qu=
ot; which<br>
&gt; &gt; calls for a description of the APIs needed from the hypervisor si=
de to<br>
&gt; &gt; support VirtIO guests and their backends. However we are some way=
 off<br>
&gt; &gt; from that at the moment as I think we need to at least demonstrat=
e one<br>
&gt; &gt; portable backend before we start codifying requirements. To that =
end I<br>
&gt; &gt; want to think about what we need for a backend to function.<br>
&gt; &gt; <br>
&gt; &gt; Configuration<br>
&gt; &gt; =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>
&gt; &gt; <br>
&gt; &gt; In the type-2 setup this is typically fairly simple because the h=
ost<br>
&gt; &gt; system can orchestrate the various modules that make up the compl=
ete<br>
&gt; &gt; system. In the type-1 case (or even type-2 with delegated service=
 VMs)<br>
&gt; &gt; we need some sort of mechanism to inform the backend VM about key=
<br>
&gt; &gt; details about the system:<br>
&gt; &gt; <br>
&gt; &gt;=C2=A0 =C2=A0- where virt queue memory is in it&#39;s address spac=
e<br>
&gt; &gt;=C2=A0 =C2=A0- how it&#39;s going to receive (interrupt) and trigg=
er (kick) events<br>
&gt; &gt;=C2=A0 =C2=A0- what (if any) resources the backend needs to connec=
t to<br>
&gt; &gt; <br>
&gt; &gt; Obviously you can elide over configuration issues by having stati=
c<br>
&gt; &gt; configurations and baking the assumptions into your guest images =
however<br>
&gt; &gt; this isn&#39;t scalable in the long term. The obvious solution se=
ems to be<br>
&gt; &gt; extending a subset of Device Tree data to user space but perhaps =
there<br>
&gt; &gt; are other approaches?<br>
&gt; &gt; <br>
&gt; &gt; Before any virtio transactions can take place the appropriate mem=
ory<br>
&gt; &gt; mappings need to be made between the FE guest and the BE guest.<b=
r>
&gt; <br>
&gt; &gt; Currently the whole of the FE guests address space needs to be vi=
sible<br>
&gt; &gt; to whatever is serving the virtio requests. I can envision 3 appr=
oaches:<br>
&gt; &gt; <br>
&gt; &gt;=C2=A0 * BE guest boots with memory already mapped<br>
&gt; &gt; <br>
&gt; &gt;=C2=A0 This would entail the guest OS knowing where in it&#39;s Gu=
est Physical<br>
&gt; &gt;=C2=A0 Address space is already taken up and avoiding clashing. I =
would assume<br>
&gt; &gt;=C2=A0 in this case you would want a standard interface to userspa=
ce to then<br>
&gt; &gt;=C2=A0 make that address space visible to the backend daemon.<br>
<br>
Yet another way here is that we would have well known &quot;shared memory&q=
uot; between<br>
VMs. I think that Jailhouse&#39;s ivshmem gives us good insights on this ma=
tter<br>
and that it can even be an alternative for hypervisor-agnostic solution. <b=
r>
<br>
(Please note memory regions in ivshmem appear as a PCI device and can be<br=
>
mapped locally.)<br>
<br>
I want to add this shared memory aspect to my virtio-proxy, but<br>
the resultant solution would eventually look similar to ivshmem.<br>
<br>
&gt; &gt;=C2=A0 * BE guests boots with a hypervisor handle to memory<br>
&gt; &gt; <br>
&gt; &gt;=C2=A0 The BE guest is then free to map the FE&#39;s memory to whe=
re it wants in<br>
&gt; &gt;=C2=A0 the BE&#39;s guest physical address space.<br>
&gt; <br>
&gt; I cannot see how this could work for Xen. There is no &quot;handle&quo=
t; to give<br>
&gt; to the backend if the backend is not running in dom0. So for Xen I thi=
nk<br>
&gt; the memory has to be already mapped<br>
<br>
In Xen&#39;s IOREQ solution (virtio-blk), the following information is expe=
cted<br>
to be exposed to BE via Xenstore:<br>
(I know that this is a tentative approach though.)<br>
=C2=A0 =C2=A0- the start address of configuration space<br>
=C2=A0 =C2=A0- interrupt number<br>
=C2=A0 =C2=A0- file path for backing storage<br>
=C2=A0 =C2=A0- read-only flag<br>
And the BE server have to call a particular hypervisor interface to<br>
map the configuration space.<br>
<br>
In my approach (virtio-proxy), all those Xen (or hypervisor)-specific<br>
stuffs are contained in virtio-proxy, yet another VM, to hide all details.<=
br>
<br>
# My point is that a &quot;handle&quot; is not mandatory for executing mapp=
ing.<br>
<br>
&gt; and the mapping probably done by the<br>
&gt; toolstack (also see below.) Or we would have to invent a new Xen<br>
&gt; hypervisor interface and Xen virtual machine privileges to allow this<=
br>
&gt; kind of mapping.<br>
<br>
&gt; If we run the backend in Dom0 that we have no problems of course.<br>
<br>
One of difficulties on Xen that I found in my approach is that calling<br>
such hypervisor intefaces (registering IOREQ, mapping memory) is only<br>
allowed on BE servers themselvies and so we will have to extend those<br>
interfaces.<br>
This, however, will raise some concern on security and privilege distributi=
on<br>
as Stefan suggested.<br>
&gt; <br>
&gt; <br>
&gt; &gt; To activate the mapping will<br>
&gt; &gt;=C2=A0 require some sort of hypercall to the hypervisor. I can see=
 two options<br>
&gt; &gt;=C2=A0 at this point:<br>
&gt; &gt; <br>
&gt; &gt;=C2=A0 =C2=A0- expose the handle to userspace for daemon/helper to=
 trigger the<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0mapping via existing hypercall interfaces. If =
using a helper you<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0would have a hypervisor specific one to avoid =
the daemon having to<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0care too much about the details or push that c=
omplexity into a<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0compile time option for the daemon which would=
 result in different<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0binaries although a common source base.<br>
&gt; &gt; <br>
&gt; &gt;=C2=A0 =C2=A0- expose a new kernel ABI to abstract the hypercall d=
ifferences away<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0in the guest kernel. In this case the userspac=
e would essentially<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0ask for an abstract &quot;map guest N memory t=
o userspace ptr&quot; and let<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0the kernel deal with the different hypercall i=
nterfaces. This of<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0course assumes the majority of BE guests would=
 be Linux kernels and<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0leaves the bare-metal/unikernel approaches to =
their own devices.<br>
&gt; &gt; <br>
&gt; &gt; Operation<br>
&gt; &gt; =3D=3D=3D=3D=3D=3D=3D=3D=3D<br>
&gt; &gt; <br>
&gt; &gt; The core of the operation of VirtIO is fairly simple. Once the<br=
>
&gt; &gt; vhost-user feature negotiation is done it&#39;s a case of receivi=
ng update<br>
&gt; &gt; events and parsing the resultant virt queue for data. The vhost-u=
ser<br>
&gt; &gt; specification handles a bunch of setup before that point, mostly =
to<br>
&gt; &gt; detail where the virt queues are set up FD&#39;s for memory and e=
vent<br>
&gt; &gt; communication. This is where the envisioned stub process would be=
<br>
&gt; &gt; responsible for getting the daemon up and ready to run. This is<b=
r>
&gt; &gt; currently done inside a big VMM like QEMU but I suspect a modern<=
br>
&gt; &gt; approach would be to use the rust-vmm vhost crate. It would then =
either<br>
&gt; &gt; communicate with the kernel&#39;s abstracted ABI or be re-targete=
d as a<br>
&gt; &gt; build option for the various hypervisors.<br>
&gt; <br>
&gt; One thing I mentioned before to Alex is that Xen doesn&#39;t have VMMs=
 the<br>
&gt; way they are typically envisioned and described in other environments.=
<br>
&gt; Instead, Xen has IOREQ servers. Each of them connects independently to=
<br>
&gt; Xen via the IOREQ interface. E.g. today multiple QEMUs could be used a=
s<br>
&gt; emulators for a single Xen VM, each of them connecting to Xen<br>
&gt; independently via the IOREQ interface.<br>
&gt; <br>
&gt; The component responsible for starting a daemon and/or setting up shar=
ed<br>
&gt; interfaces is the toolstack: the xl command and the libxl/libxc<br>
&gt; libraries.<br>
<br>
I think that VM configuration management (or orchestration in Startos<br>
jargon?) is a subject to debate in parallel.<br>
Otherwise, is there any good assumption to avoid it right now?<br>
<br>
&gt; Oleksandr and others I CCed have been working on ways for the toolstac=
k<br>
&gt; to create virtio backends and setup memory mappings. They might be abl=
e<br>
&gt; to provide more info on the subject. I do think we miss a way to provi=
de<br>
&gt; the configuration to the backend and anything else that the backend<br=
>
&gt; might require to start doing its job.<br>
&gt; <br>
&gt; <br>
&gt; &gt; One question is how to best handle notification and kicks. The ex=
isting<br>
&gt; &gt; vhost-user framework uses eventfd to signal the daemon (although =
QEMU<br>
&gt; &gt; is quite capable of simulating them when you use TCG). Xen has it=
&#39;s own<br>
&gt; &gt; IOREQ mechanism. However latency is an important factor and havin=
g<br>
&gt; &gt; events go through the stub would add quite a lot.<br>
&gt; <br>
&gt; Yeah I think, regardless of anything else, we want the backends to<br>
&gt; connect directly to the Xen hypervisor.<br>
<br>
In my approach,<br>
=C2=A0a) BE -&gt; FE: interrupts triggered by BE calling a hypervisor inter=
face<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 via virtio-proxy<br>
=C2=A0b) FE -&gt; BE: MMIO to config raises events (in event channels), whi=
ch is<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 converted to a callback to=
 BE via virtio-proxy<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (Xen&#39;s event channel i=
s internnally implemented by interrupts.)<br>
<br>
I don&#39;t know what &quot;connect directly&quot; means here, but sending =
interrupts<br>
to the opposite side would be best efficient.<br>
Ivshmem, I suppose, takes this approach by utilizing PCI&#39;s msi-x mechan=
ism.<br>
<br>
&gt; <br>
&gt; &gt; Could we consider the kernel internally converting IOREQ messages=
 from<br>
&gt; &gt; the Xen hypervisor to eventfd events? Would this scale with other=
 kernel<br>
&gt; &gt; hypercall interfaces?<br>
&gt; &gt; <br>
&gt; &gt; So any thoughts on what directions are worth experimenting with?<=
br>
&gt;=C2=A0 <br>
&gt; One option we should consider is for each backend to connect to Xen vi=
a<br>
&gt; the IOREQ interface. We could generalize the IOREQ interface and make =
it<br>
&gt; hypervisor agnostic. The interface is really trivial and easy to add.<=
br>
<br>
As I said above, my proposal does the same thing that you mentioned here :)=
<br>
The difference is that I do call hypervisor interfaces via virtio-proxy.<br=
>
<br>
&gt; The only Xen-specific part is the notification mechanism, which is an<=
br>
&gt; event channel. If we replaced the event channel with something else th=
e<br>
&gt; interface would be generic. See:<br>
&gt; <a href=3D"https://gitlab.com/xen-project/xen/-/blob/staging/xen/inclu=
de/public/hvm/ioreq.h#L52" rel=3D"noreferrer" target=3D"_blank">https://git=
lab.com/xen-project/xen/-/blob/staging/xen/include/public/hvm/ioreq.h#L52</=
a><br>
&gt; <br>
&gt; I don&#39;t think that translating IOREQs to eventfd in the kernel is =
a<br>
&gt; good idea: if feels like it would be extra complexity and that the<br>
&gt; kernel shouldn&#39;t be involved as this is a backend-hypervisor inter=
face.<br>
<br>
Given that we may want to implement BE as a bare-metal application<br>
as I did on Zephyr, I don&#39;t think that the translation would not be<br>
a big issue, especially on RTOS&#39;s.<br>
It will be some kind of abstraction layer of interrupt handling<br>
(or nothing but a callback mechanism).<br>
<br>
&gt; Also, eventfd is very Linux-centric and we are trying to design an<br>
&gt; interface that could work well for RTOSes too. If we want to do<br>
&gt; something different, both OS-agnostic and hypervisor-agnostic, perhaps=
<br>
&gt; we could design a new interface. One that could be implementable in th=
e<br>
&gt; Xen hypervisor itself (like IOREQ) and of course any other hypervisor<=
br>
&gt; too.<br>
&gt; <br>
&gt; <br>
&gt; There is also another problem. IOREQ is probably not be the only<br>
&gt; interface needed. Have a look at<br>
&gt; <a href=3D"https://marc.info/?l=3Dxen-devel&amp;m=3D162373754705233&am=
p;w=3D2" rel=3D"noreferrer" target=3D"_blank">https://marc.info/?l=3Dxen-de=
vel&amp;m=3D162373754705233&amp;w=3D2</a>. Don&#39;t we also need<br>
&gt; an interface for the backend to inject interrupts into the frontend? A=
nd<br>
&gt; if the backend requires dynamic memory mappings of frontend pages, the=
n<br>
&gt; we would also need an interface to map/unmap domU pages.<br>
<br>
My proposal document might help here; All the interfaces required for<br>
virtio-proxy (or hypervisor-related interfaces) are listed as<br>
RPC protocols :)<br>
<br>
&gt; These interfaces are a lot more problematic than IOREQ: IOREQ is tiny<=
br>
&gt; and self-contained. It is easy to add anywhere. A new interface to<br>
&gt; inject interrupts or map pages is more difficult to manage because it<=
br>
&gt; would require changes scattered across the various emulators.<br>
<br>
Exactly. I have no confident yet that my approach will also apply<br>
to other hypervisors than Xen.<br>
Technically, yes, but whether people can accept it or not is a different<br=
>
matter.<br>
<br>
Thanks,<br>
-Takahiro Akashi<br>
<br>
-- <br>
Stratos-dev mailing list<br>
<a href=3D"mailto:Stratos-dev@op-lists.linaro.org" target=3D"_blank">Strato=
s-dev@op-lists.linaro.org</a><br>
<a href=3D"https://op-lists.linaro.org/mailman/listinfo/stratos-dev" rel=3D=
"noreferrer" target=3D"_blank">https://op-lists.linaro.org/mailman/listinfo=
/stratos-dev</a><br>
</blockquote></div><br clear=3D"all"><div><br></div>-- <br><div dir=3D"ltr"=
 class=3D"gmail_signature"><div dir=3D"ltr"><div><div dir=3D"ltr"><div><div=
 dir=3D"ltr"><div><div dir=3D"ltr"><div><div dir=3D"ltr"><div><div dir=3D"l=
tr"><div><div dir=3D"ltr"><div><div><div><div dir=3D"ltr"><div dir=3D"ltr">=
<div dir=3D"ltr"><table style=3D"font-size:small" border=3D"0" cellpadding=
=3D"0" cellspacing=3D"0"><tbody><tr><td style=3D"padding-right:10px" valign=
=3D"top"><img src=3D"https://drive.google.com/a/linaro.org/uc?id=3D0BxTAygk=
us3RgQVhuNHMwUi1mYWc&amp;export=3Ddownload" width=3D"96" height=3D"53"></td=
><td valign=3D"top"><table border=3D"0" cellpadding=3D"0" cellspacing=3D"0"=
><tbody><tr><td style=3D"font-family:Arial,Helvetica,&quot;Sans Serif&quot;=
;white-space:nowrap;font-size:9pt;padding-top:0px;color:rgb(87,87,87)" vali=
gn=3D"top"><span style=3D"font-weight:bold">Fran=C3=A7ois-Fr=C3=A9d=C3=A9ri=
c Ozog</span>=C2=A0<span style=3D"color:rgb(161,161,161)">|</span>=C2=A0<i>=
Director Business Development</i></td></tr><tr><td style=3D"font-family:Ari=
al,Helvetica,&quot;Sans Serif&quot;;white-space:nowrap;font-size:9pt;paddin=
g-top:2px;color:rgb(87,87,87)" valign=3D"top">T:=C2=A0<a value=3D"+39338407=
5993" style=3D"color:rgb(17,85,204)">+33.67221.6485</a><br><a href=3D"mailt=
o:francois.ozog@linaro.org" style=3D"color:rgb(87,87,87);text-decoration:no=
ne" target=3D"_blank">francois.ozog@linaro.org</a>=C2=A0<span style=3D"colo=
r:rgb(161,161,161)">|</span>=C2=A0Skype:=C2=A0ffozog</td></tr></tbody></tab=
le></td></tr></tbody></table></div></div></div></div></div><div><div><br st=
yle=3D"font-size:small"></div></div></div></div></div></div></div></div></d=
iv></div></div></div></div></div></div></div></div></div>

--00000000000002d7a005c9581158--


From xen-devel-bounces@lists.xenproject.org Mon Aug 16 08:39:32 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 08:39:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167236.305230 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFY9V-0001fz-8e; Mon, 16 Aug 2021 08:39:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167236.305230; Mon, 16 Aug 2021 08: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 1mFY9V-0001fs-4s; Mon, 16 Aug 2021 08:39:25 +0000
Received: by outflank-mailman (input) for mailman id 167236;
 Mon, 16 Aug 2021 08:39:23 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uRT6=NH=invisiblethingslab.com=marmarek@srs-us1.protection.inumbo.net>)
 id 1mFY9T-0001fm-L2
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 08:39:23 +0000
Received: from wout4-smtp.messagingengine.com (unknown [64.147.123.20])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 73fc38db-fe6d-11eb-a44c-12813bfff9fa;
 Mon, 16 Aug 2021 08:39:22 +0000 (UTC)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.42])
 by mailout.west.internal (Postfix) with ESMTP id 789463200916;
 Mon, 16 Aug 2021 04:39:20 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute2.internal (MEProxy); Mon, 16 Aug 2021 04:39:21 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 16 Aug 2021 04:39: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: 73fc38db-fe6d-11eb-a44c-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=3gXrD6
	LgLtaee33DjFPkQncOgPc+H6UrzlJByicUzZc=; b=WdBhNybgRnQTxNW707rBk/
	mmw6eXm9Q8WRdM++iQFL3hBdzumoZ50PRU9LNiBTmjjxsI+rzsXaGK2DDzfLk3ry
	wUTclq9snUOqP478UdgaXlNmVijmmQWYS5Ls5tHQod91yudZ0Bt0fVn0zKyvvNrN
	EUfLYqu9Q8C4lbyaRzIFPitCO8sHgRJcNx+fg3XfzxO+Lgyj9eMH3nap8U5vtaJE
	/PAMBLKsb+ZfQKdsOpAmhi2EttiWPPgFvmKKaobDgIBSP1eF37T9E3bO1Z2Qhs1c
	YeJFrdVlEkqDmFRteBF+pp0qYt066ffL4EfXEtiJL6OOINNLIyT3tZ9jf/q8CfnQ
	==
X-ME-Sender: <xms:NyQaYb6q1mSSMvP48kFnQEmkjL2-xa5zCNNGyCaysSBSR1y_l1M0Mg>
    <xme:NyQaYQ6D6z83mpp_mIDR-Qktk3x5EkF_r89jiO9U0Ye28ezJB1rCsz99aLG_jND2C
    GtXGFra-ogKFg>
X-ME-Received: <xmr:NyQaYSe5TbvpaoOEz0HQO-3J3Q7oLesMGmdfzNucSEEw3F9FclRlyMawpwi05oUhs9oei7EZ3d9yL-Me5okMTX69Ei8YMMzw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrledugddthecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgvkhcu
    ofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinhhvih
    hsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepteevffei
    gffhkefhgfegfeffhfegveeikeettdfhheevieehieeitddugeefteffnecuvehluhhsth
    gvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehi
    nhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:NyQaYcJLSFsscga_0SyuAaar2ETVkvQEhu-JEQ_tbBr26qRPi3RCYQ>
    <xmx:NyQaYfJR9CBFVE4Mh65PjKYdl6GAZ-YJw53ODjyqNJUOmyZgUFug4w>
    <xmx:NyQaYVzspHG-5n5DrbZSRBqx-x5j_RD_ZBhbIF1pCtluRek2CymGPA>
    <xmx:OCQaYViRazI1723SH7t54nfu3fc6v83yrMTS7ws85OPep5SIDaXA0Q>
Date: Mon, 16 Aug 2021 10:39:12 +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>,
	Ian Jackson <iwj@xenproject.org>, 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] ns16550: add Exar dual PCIe UART card support
Message-ID: <YRokMeJ2bMLAZFD4@mail-itl>
References: <20210813183139.391546-1-marmarek@invisiblethingslab.com>
 <20210813183139.391546-2-marmarek@invisiblethingslab.com>
 <0326eebe-2ec8-1c2d-bf2c-8cb4c16312af@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="wim6xTOmTFBaY54I"
Content-Disposition: inline
In-Reply-To: <0326eebe-2ec8-1c2d-bf2c-8cb4c16312af@suse.com>


--wim6xTOmTFBaY54I
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Mon, 16 Aug 2021 10:39:12 +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>,
	Ian Jackson <iwj@xenproject.org>, 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] ns16550: add Exar dual PCIe UART card support

On Mon, Aug 16, 2021 at 09:55:16AM +0200, Jan Beulich wrote:
> On 13.08.2021 20:31, Marek Marczykowski-G=C3=B3recki wrote:
> > Besides standard UART setup, this device needs enabling
> > (vendor-specific) "Enhanced Control Bits" - otherwise disabling hardware
> > control flow (MCR[2]) is ignored. Add appropriate quirk to the
> > ns16550_setup_preirq(), similar to the handle_dw_usr_busy_quirk(). The
> > new function act on Exar cards only (based on vendor ID).
>=20
> While on IRC you did say you have a datasheet or alike for the specific
> card you have in use, may I ask that you clarify why the logic is
> applicable to all (past, present, and future) Exar cards?

The spec I looked is specifically about 2-port variant (XR17V352), but
there are also 4 and 8 port variants (XR17V354 and XR17V358) and the
Linux driver applies this change there as well. But indeed applying it
to all the future cards may not be the smartest thing to do.

The Linux driver checks Exar specific register to identify the device,
instead of using PCI product ID, for some reason - I guess they use the
same chip in different devices?
Would you like thing like that (after checking vendor id), or turn it on
just for this product id I have?

> > @@ -169,6 +170,21 @@ static void handle_dw_usr_busy_quirk(struct ns1655=
0 *uart)
> >      }
> >  }
> > =20
> > +static void enable_exar_enhanced_bits(struct ns16550 *uart)
> > +{
> > +#ifdef NS16550_PCI
> > +    if ( uart->bar &&
> > +         pci_conf_read16(PCI_SBDF(0, uart->ps_bdf[0], uart->ps_bdf[2],
> > +                         uart->ps_bdf[2]), PCI_VENDOR_ID) =3D=3D PCI_V=
ENDOR_ID_EXAR )
> > +    {
> > +        /* Exar cards ignores setting MCR[2] (hardware flow control) u=
nless
> > +         * "Enhanced control bits" is enabled.
> > +         */
>=20
> Style nit: /* belongs on its own line as per ./CODING_STYLE.
>=20
> > +        ns_write_reg(uart, UART_XR_EFR, UART_EFR_ECB);
>=20
> Wouldn't this better be a read-modify-write operation?

Honestly, I'm simply mirroring Linux driver behavior here. But also,
all the bits in EFR are 0 after device reset, so it should work fine.

> > --- a/xen/include/xen/8250-uart.h
> > +++ b/xen/include/xen/8250-uart.h
> > @@ -121,6 +121,10 @@
> >  /* Frequency of external clock source. This definition assumes PC plat=
form. */
> >  #define UART_CLOCK_HZ     1843200
> > =20
> > +/* Exar specific */
> > +#define UART_XR_EFR       0x09
> > +#define UART_EFR_ECB      0x10
>=20
> Please move the former into the group after the "/* Register offsets */"
> comment and extend the comment on the latter to establish a link to
> UART_XR_EFR.

ok

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--wim6xTOmTFBaY54I
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmEaJDAACgkQ24/THMrX
1yxUtgf/eVN8uX8ALzRuVdE+gXm622sJtFgKmw+m53t3Ajc0/FGadGhEB+FxJc9n
Rv3oX4bLrgR4rbhpLbSKy1ExPVn9lhb3PVqb8Cd04X33uQ7PXEsJSheWRsot0lqu
3LpXmZhmBKgNGoQHwW2Xxm0tb5vVgkAXzOkja6eRjn6PeVN0onVSsYa4gkskQ8o/
jrqyoK0pf2IESfS+4b31Y6x23ElM/s6TAbPunCAya2suSDQF1IsjFPTYw2B851ro
lsl2paxzzruqdIsVEts3cTtpDKGyyG7tvs6JkcOB0raWoahg4oXlrFtTHBqQT3Hg
x5MQFxAQchWTKgd/gpr8O7BHmX5cvg==
=Ezw1
-----END PGP SIGNATURE-----

--wim6xTOmTFBaY54I--


From xen-devel-bounces@lists.xenproject.org Mon Aug 16 09:18:52 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 09:18:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167241.305241 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFYlT-0005gu-4M; Mon, 16 Aug 2021 09:18:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167241.305241; Mon, 16 Aug 2021 09:18:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFYlT-0005gn-0E; Mon, 16 Aug 2021 09:18:39 +0000
Received: by outflank-mailman (input) for mailman id 167241;
 Mon, 16 Aug 2021 09:18:38 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=3tuO=NH=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mFYlS-0005gh-JX
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 09:18:38 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id dec79e47-6a5d-405a-9673-6c5e73f4277c;
 Mon, 16 Aug 2021 09:18:37 +0000 (UTC)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2112.outbound.protection.outlook.com [104.47.17.112])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-13-oPpCPJEwNUqeeI9mfL6USw-1; Mon, 16 Aug 2021 11:18:34 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VE1PR04MB7375.eurprd04.prod.outlook.com (2603:10a6:800:1a8::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Mon, 16 Aug
 2021 09:18:33 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.023; Mon, 16 Aug 2021
 09:18:32 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM4P190CA0023.EURP190.PROD.OUTLOOK.COM (2603:10a6:200:56::33) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Mon, 16 Aug 2021 09: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>
X-Inumbo-ID: dec79e47-6a5d-405a-9673-6c5e73f4277c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629105516;
	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=gqb/rbn5ujRn5w3B0hTPkYnWMlkb4WEBUQ6ZcUlJtYY=;
	b=L8DbAjfsF9I/9nyL6FPe5qJ3oGMmpKnbKkVnuUsLV1fPgZhPJ3OuQNJOEpiOkN66+JLGS2
	TBrDuJZvj6w9olrNGGb3UtZusVT/Dk3GHjig6ZRuKFFUOmTBzGRU69xjbQbwIfSPrz+EBi
	WlHU6pIh1jk3AF9n9N8cRa8nhTPlXkE=
X-MC-Unique: oPpCPJEwNUqeeI9mfL6USw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LclOxcO/DOFglve1TXOdXJUYwEXGQalP8DYC9vZKbaZ7aFEHGTF4UGosU/n8aVEJ5A7oDvVLo4wW2fpwvBsrSl0srKUiG1jMc3GM+IbwnQ+JsbemUlgwIvAO3HQKc6/GpOoJ0C2KLYXjGxwsusU7LSB5NhuUKTy91Aq7qCtdci4O92txZi9nER2gJpUujVYwUNbDQXBtVPyJ4i2Sd1PBt9eRVOUjXfNmfgdTn1lVsvsSMRCJvaWDgfQUZUfT3JCNcXtReojoqyvr5RsFyIp0WfYRPQ4zI2wRqbaheM58d4qLU6+fFaORRU+78+cz0LBP5TojDMfREdMR45h65vmfww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MlakNnHzr1nAjIYUHdvxbM8XKy3vYgEQkQoY+C2m2Qg=;
 b=KwFuJrXSuJeSDNZ3oskxxOm0fPHaip08toFhI0vSg+cISEj+Vgk8rB653MpkbcpD0hl+GOgRqYMfEI772iPZTnnfMq/NU5fkA2AZe/+tuMd8M11BCdufDbenKPJgqwUEzsA03KbZ1jb/5b6KRFheXM3Lh4stc1Hm4CYZhrPrVLkgmQjbhxaGUzD4UbmEVFxaSU7AtnGqySomI0Z+eHkrLmLxmPLCMDrtXE1xWIPIpmqP7K/X5falnwy+U3PcdqScKnA1EcydN7mpxEUg6iPBVFXS0ksZMGDv5ZK3g2lDlpXsHGDXmnxleqJWbJYda1tNCTSrH37p6ogX1o+jR8+/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
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH 2/2] ns16550: add Exar dual PCIe UART card support
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>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <20210813183139.391546-1-marmarek@invisiblethingslab.com>
 <20210813183139.391546-2-marmarek@invisiblethingslab.com>
 <0326eebe-2ec8-1c2d-bf2c-8cb4c16312af@suse.com> <YRokMeJ2bMLAZFD4@mail-itl>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <7e88f6f7-afd6-d12c-8a14-a5c3853d0a90@suse.com>
Date: Mon, 16 Aug 2021 11:18:31 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <YRokMeJ2bMLAZFD4@mail-itl>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM4P190CA0023.EURP190.PROD.OUTLOOK.COM
 (2603:10a6:200:56::33) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 73b5e704-53cc-4620-d01e-08d96096d19d
X-MS-TrafficTypeDiagnostic: VE1PR04MB7375:
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB7375F4F2FDF16288F68D3287B3FD9@VE1PR04MB7375.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4zlGml+6s5LGsANAbCMBsrM4vPpYePbCWSvNmSOOh65g9fRnSJllw0XrSn1nS5uIN1KhEpr3VPfjlfO4MMAzdiQy2bmIcQBUaP+4e0zTO2K+EDBQlK5Wvo74A9UQYLRC/ZyGJYjDGKBjHk2Cro5xsB0p75xFlRmdCBdczeDXTLjmR26ZWleKZkdk+VAHyimLMMvSXJqsA4vMHM+0Jj6HMMLVdugi8fOw4I5Df2cY2CgBX0aPHlkLQnvfS7uWglNKsepX3Toi1yZdrCQpO/MHtHl4+nntr/d1KbdfW0FxFs9vpUc5Ef93a6A6S2Ss+J7pT3+6y4JwYf+++FoImYiGRcsYWckGtVJipZWYk6FcmrOFmXLZkhlFkeUejuUZ9iiYSqmv4C4O+3Y8VN8j+tlftFwKgjGh6QNeuJJgobv3r2gOhY23BR7gCJl99w3cZtjY4gWyd1w3UJau62xm0ischpmCkoE3I1rVWYxFUHTh/qGUlGWZSiZg/uHx5BPD7BONz8TsFA7rxIPqXVCcVwzRK7/31TB1+FQr7XyN7iP+BH45UUG4vt23N8RYgwYhelrNtub8cwHvT4SGQbh2NS50qeKg2ZN03AbahKO2RwsnGjrjTPpLk2tp8vOZlWezh7hdtLeKaMpRzEAkx+XPXZa57dSxO+ItkxZncv/lCsnX1j5i6fydC0Lfy55n6YC5HQ7AKoUL/DpsJC1jUhN5YbSm/hiWCR5kU6iSZmAq1+XlVno=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(39860400002)(346002)(376002)(136003)(366004)(5660300002)(53546011)(6486002)(26005)(186003)(2616005)(36756003)(956004)(66476007)(66556008)(66946007)(478600001)(6916009)(316002)(54906003)(16576012)(86362001)(4326008)(31696002)(31686004)(83380400001)(2906002)(8676002)(8936002)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?Ss39cG7CvHUjESXYmorBgvKRU5XRcCrtXVrfwQNNFOtDc7vl69x9AClEQFAl?=
 =?us-ascii?Q?DnTEw6zl8beLYdqyODANyr5gcbD4lDlnn+zaTzQ1Deke0pZJlK9xlS3/u022?=
 =?us-ascii?Q?4IDKttJ9jZfBP5QcFheGcmlnlaaHwtZMwOhoikB6wWWmcm4/FF2zhVnFWxk9?=
 =?us-ascii?Q?5h6CBPlfk9FSNMwUW/5l+riusrp6Z30GTHdORVqrtePsoSU7gNVbg1V2iyZJ?=
 =?us-ascii?Q?7/UJC3RPV+bK6IhxjEDmtM6c0umntJzUDDhtX+JggLssQHooJ/zP0R5Dpujc?=
 =?us-ascii?Q?EJuUxmXg7WyVLKS/WTJEFECczjZxmvbvhLiPBx7upTvKlYQuiJsDQPuH7sZF?=
 =?us-ascii?Q?nbQsYIb+gr8kGW9LtSKRKmu9/ldoIDagvMB5/1Td2Y0I9OdNe6Y9gGcKzHAu?=
 =?us-ascii?Q?cWawwoHX1Z0SRIALNTFiZvIf/+g0SvoP1qQ1Ogq1EjrZS3/hDxBPtA8TAMac?=
 =?us-ascii?Q?UcRMblnWjylhXj5/CTZZn9guvbBbHyn0LXmoPotkbARZrjGCovFTv57PLokL?=
 =?us-ascii?Q?0EbpJFydWZ6bQac6HUUMzCwf8MgXwB+8N4krZvlaovh92s0byr7wAZ2ILde0?=
 =?us-ascii?Q?Q7WGskvWNrGxa5/FXrwojiUw73apb8kvvryI10h9BsB6d3okSA4gCfGyWutN?=
 =?us-ascii?Q?axoBDc2B3xpmFi4O8RVx0FLUNuCRKwNAnv70pBK+6gldwOa7ztdA5Q22tvSM?=
 =?us-ascii?Q?q4h5soz1sgHANkiTszhEKiPof1upLNoc8MWEyxNuUdaZxfu/Tj7ElxYagdRs?=
 =?us-ascii?Q?dzJVpGzE+8agwkEBA/jT8fJYmcriHFylNgGM4/jb6lsP5cVf+nX3v/PO6CFS?=
 =?us-ascii?Q?CF5wf5i2FO7hwX49G6NQpz2ES2zVVayT2GU3yXRtxVE0unHGhnZJlzB/yPk+?=
 =?us-ascii?Q?o+rxFztRD7do72Aq4ZywvlTbPpSauhgGwi/SgZfUUR8lSPGB8tPBLMO0zUY5?=
 =?us-ascii?Q?831FiMsQsFBIJRCnza+NJNQnXsnkpYFmitEtjlgqxwusFlRwVadL6W5YNQYx?=
 =?us-ascii?Q?byUrwoFC1HGCJHAeIo/KBmfcp8PgkKmBPuQQMsnvWnsIg8CnC9d/yKnPT0h7?=
 =?us-ascii?Q?M+QduprzmbnWNyInD/hawAyTv58To20HKlyUGYM7YYU05aQkuFUOli1oxQZ8?=
 =?us-ascii?Q?GX/47yX+nh/lxqhdhD4ZaUB/8xUw/6d7IWGfPJYSnC/ojHhDTOZJ+VoubGDV?=
 =?us-ascii?Q?RezSmL3QeCynvB9SVtCkS9xZJ4elanfVdUUIvSeHwYA7fmQv0+EJPV/Qe5sq?=
 =?us-ascii?Q?cdK6dN6xSS7+VZ+tm3Fy90pkloPuR8TD3SLQx6DbyIuAPtuBTjnvRA8Yn5Hi?=
 =?us-ascii?Q?/NO3tLvnSajd6Rk+IYhqYKoN?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 73b5e704-53cc-4620-d01e-08d96096d19d
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2021 09:18:32.8836
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: YLQ9ltB0yCwlRz4ITTeIDCIIrzVr9C1HadZLWcHHkMgtB3dRl5FG2hrOMGHbhqK6WJ4XCaK9XKcg4DizC066Iw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7375

On 16.08.2021 10:39, Marek Marczykowski-G=C3=B3recki wrote:
> On Mon, Aug 16, 2021 at 09:55:16AM +0200, Jan Beulich wrote:
>> On 13.08.2021 20:31, Marek Marczykowski-G=C3=B3recki wrote:
>>> Besides standard UART setup, this device needs enabling
>>> (vendor-specific) "Enhanced Control Bits" - otherwise disabling hardwar=
e
>>> control flow (MCR[2]) is ignored. Add appropriate quirk to the
>>> ns16550_setup_preirq(), similar to the handle_dw_usr_busy_quirk(). The
>>> new function act on Exar cards only (based on vendor ID).
>>
>> While on IRC you did say you have a datasheet or alike for the specific
>> card you have in use, may I ask that you clarify why the logic is
>> applicable to all (past, present, and future) Exar cards?
>=20
> The spec I looked is specifically about 2-port variant (XR17V352), but
> there are also 4 and 8 port variants (XR17V354 and XR17V358) and the
> Linux driver applies this change there as well. But indeed applying it
> to all the future cards may not be the smartest thing to do.
>=20
> The Linux driver checks Exar specific register to identify the device,
> instead of using PCI product ID, for some reason - I guess they use the
> same chip in different devices?
> Would you like thing like that (after checking vendor id), or turn it on
> just for this product id I have?

Hard to tell without knowing whether the extra reg - as per the spec -
is connected to any of these. Is the spec you have publicly available?
If so, could you share a pointer? If not, are you permitted to share
the spec?

>>> @@ -169,6 +170,21 @@ static void handle_dw_usr_busy_quirk(struct ns1655=
0 *uart)
>>>      }
>>>  }
>>> =20
>>> +static void enable_exar_enhanced_bits(struct ns16550 *uart)
>>> +{
>>> +#ifdef NS16550_PCI
>>> +    if ( uart->bar &&
>>> +         pci_conf_read16(PCI_SBDF(0, uart->ps_bdf[0], uart->ps_bdf[2],
>>> +                         uart->ps_bdf[2]), PCI_VENDOR_ID) =3D=3D PCI_V=
ENDOR_ID_EXAR )
>>> +    {
>>> +        /* Exar cards ignores setting MCR[2] (hardware flow control) u=
nless
>>> +         * "Enhanced control bits" is enabled.
>>> +         */
>>
>> Style nit: /* belongs on its own line as per ./CODING_STYLE.
>>
>>> +        ns_write_reg(uart, UART_XR_EFR, UART_EFR_ECB);
>>
>> Wouldn't this better be a read-modify-write operation?
>=20
> Honestly, I'm simply mirroring Linux driver behavior here. But also,
> all the bits in EFR are 0 after device reset, so it should work fine.

Firmware or a boot loader may play with hardware before Xen takes control.
I'm also not convinced there would have been a device reset in all cases
where execution may make it here. (Note in particular that the function
and its caller aren't __init.)

A plain write might be okay if the spec for devices with the specific
device ID documented all other bits as "must be zero" ("reserved" would
not be sufficient imo), and if the function was invoked for only such
devices.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Aug 16 10:04:28 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 10:04:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167246.305251 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFZTg-00026g-N7; Mon, 16 Aug 2021 10:04:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167246.305251; Mon, 16 Aug 2021 10:04: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 1mFZTg-00026Z-Jw; Mon, 16 Aug 2021 10:04:20 +0000
Received: by outflank-mailman (input) for mailman id 167246;
 Mon, 16 Aug 2021 10:04:19 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/vaJ=NH=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mFZTf-00026T-Bs
 for xen-devel@lists.xen.org; Mon, 16 Aug 2021 10:04:19 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com (unknown
 [40.107.5.45]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 5027b5cc-fe79-11eb-a452-12813bfff9fa;
 Mon, 16 Aug 2021 10:04:16 +0000 (UTC)
Received: from AM6PR10CA0061.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:209:80::38)
 by AM6PR08MB4643.eurprd08.prod.outlook.com (2603:10a6:20b:c8::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.19; Mon, 16 Aug
 2021 10:04:13 +0000
Received: from AM5EUR03FT062.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:80:cafe::83) by AM6PR10CA0061.outlook.office365.com
 (2603:10a6:209:80::38) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16 via Frontend
 Transport; Mon, 16 Aug 2021 10:04:13 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT062.mail.protection.outlook.com (10.152.17.120) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Mon, 16 Aug 2021 10:04:12 +0000
Received: ("Tessian outbound 56612e04f172:v103");
 Mon, 16 Aug 2021 10:04:11 +0000
Received: from cb419f15f744.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 1B4B4B5B-4015-460B-BAF3-1CE1C97336A7.1; 
 Mon, 16 Aug 2021 10:04:05 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id cb419f15f744.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 16 Aug 2021 10:04:05 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB6PR0801MB2037.eurprd08.prod.outlook.com (2603:10a6:4:74::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.21; Mon, 16 Aug
 2021 10:04:03 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%6]) with mapi id 15.20.4415.023; Mon, 16 Aug 2021
 10:04:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5027b5cc-fe79-11eb-a452-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mk6epcLTR+JaNpt1CGPsq5JWwwnAtf/laLWEQwmeqxE=;
 b=hLEmB8opNgROVPl59/i5Ua14runqqq/nyx+aiNxFl7jr4hqX64G/4jJ5twiUNuUs10hCqhpBxbCR5ANWZFEe/UrqMG9v1MKqvFEgQsFzmDCePRrVnvqifPDLMXQjPZ4OsTrTpSJRDXj/HTnFcCdqXXDmAEfKSi0USSgeQ5R3nWc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xen.org; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;lists.xen.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aWk/4NulyK8BwKOj6eeVogflYFa/ogUzGpsDdpORGaURJvT5EPq9xsjvwFZuZnWy1MTdU1iMCu9iRljYYfNEyv3Wyfl6QamTOZwMZAhdEs98G4JFQFs/NikXso4pMyE+ljqflsrm5AwOonTZKFrH72faXYwfvJpbGX/BTMISxlhf5Abyzt45Tc2Fhoxjj+TJLArRPG+LnIpfJF5uD1HLF+i6utPVSuqIsyguquDmqiUqb7bsUiPE70JYr89EkzMQKhmrqkjhRmlo+2L7wfaE9RzQbCWf+kAIv91quXI2K0yjje2Qkv8usUjDaGDjii5atMnW9qF9Xi1UNnGQCF6ETA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mk6epcLTR+JaNpt1CGPsq5JWwwnAtf/laLWEQwmeqxE=;
 b=YQ1MwLU5+/HTboB4gliBF9dNUo62JEIlh34O4di+xLQ7+Ov63YR+CftQ6qeSA8Pf0qd90Jba2fFk5WKEerytRcNny4FJ2wji4Pdn+roLlWcLRPcu/Av4zhRAfKMTZm/nBzw1hWDTP5pCpDe2gguGb1+rXqUau0d2Nbu5flP7rcWFYa7t4lKJ2YixZNKPFycqDBsZNGi7GZ8wIiGg7YL7PQ7jkDYdPLY70NbQ1ArK7Eux/foX1YLTkpw5ZmQi5UOvw8AUCoo1com4NmT/u2Ga02oJse16AShRkniPQNMg89KWudVHRhSkx9GTgyW/VN4uvfgR8L14jgXel+yPHUXwBw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mk6epcLTR+JaNpt1CGPsq5JWwwnAtf/laLWEQwmeqxE=;
 b=hLEmB8opNgROVPl59/i5Ua14runqqq/nyx+aiNxFl7jr4hqX64G/4jJ5twiUNuUs10hCqhpBxbCR5ANWZFEe/UrqMG9v1MKqvFEgQsFzmDCePRrVnvqifPDLMXQjPZ4OsTrTpSJRDXj/HTnFcCdqXXDmAEfKSi0USSgeQ5R3nWc=
From: Wei Chen <Wei.Chen@arm.com>
To: Oleksandr Tyshchenko <olekstysh@gmail.com>, AKASHI Takahiro
	<takahiro.akashi@linaro.org>, Stefano Stabellini <sstabellini@kernel.org>
CC: Alex Benn??e <alex.bennee@linaro.org>, Stratos Mailing List
	<stratos-dev@op-lists.linaro.org>, "virtio-dev@lists.oasis-open.org"
	<virtio-dev@lists.oasis-open.org>, Arnd Bergmann <arnd.bergmann@linaro.org>,
	Viresh Kumar <viresh.kumar@linaro.org>, Stefano Stabellini
	<stefano.stabellini@xilinx.com>, "stefanha@redhat.com" <stefanha@redhat.com>,
	Jan Kiszka <jan.kiszka@siemens.com>, Carl van Schaik
	<cvanscha@qti.qualcomm.com>, "pratikp@quicinc.com" <pratikp@quicinc.com>,
	Srivatsa Vaddagiri <vatsa@codeaurora.org>, Jean-Philippe Brucker
	<jean-philippe@linaro.org>, Mathieu Poirier <mathieu.poirier@linaro.org>,
	Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Artem Mygaiev <Artem_Mygaiev@epam.com>, Julien
 Grall <julien@xen.org>, Juergen Gross <jgross@suse.com>, Paul Durrant
	<paul@xen.org>, Xen Devel <xen-devel@lists.xen.org>
Subject: RE: Enabling hypervisor agnosticism for VirtIO backends
Thread-Topic: Enabling hypervisor agnosticism for VirtIO backends
Thread-Index: AQHXiWXOlXnRp9GT30mY/CfP5cid16tt4TUAgAVQpQCAAsKLQA==
Date: Mon, 16 Aug 2021 10:04:03 +0000
Message-ID:
 <DB9PR08MB685767CFAA4A8BCE7D2225A89EFD9@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <87v94ldrqq.fsf@linaro.org>
 <alpine.DEB.2.21.2108041055390.9768@sstabellini-ThinkPad-T480s>
 <20210811062748.GB54169@laputa>
 <CAPD2p-mMeY=MDbAdLGrmmioSkJo147aMDrK=Qzr=PCa4jztGGg@mail.gmail.com>
In-Reply-To:
 <CAPD2p-mMeY=MDbAdLGrmmioSkJo147aMDrK=Qzr=PCa4jztGGg@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 4B0F8924C9CC9D4297F13770327DECE9.0
x-checkrecipientchecked: true
Authentication-Results-Original: gmail.com; dkim=none (message not signed)
 header.d=none;gmail.com; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: c6c4edd1-27c1-4da1-0a7a-08d9609d32db
x-ms-traffictypediagnostic: DB6PR0801MB2037:|AM6PR08MB4643:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM6PR08MB464387F535BAEC972DD1DEC39EFD9@AM6PR08MB4643.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:8882;OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 Uj5gKcNYb2XkuHvlizm6vhJ/VRhuG/e7O6GS1uM7Oh628BkPmEyQHNwLr5rQ0f/AQySRgpkm/J7dYPCeQ4O/IGaQ2LCV9v3qXh9aWegN/6DHNpuS87B+K0ORrFrHyV5Mt5FcyGKy3EMFNhE7dB28T+83MaVeZlsIhhgNxO1cSGfXZ8h9H62NGJ3zPDr9+VZgr67lpO1a90EQvuUDxHp6EtV9PyhrH7Y4qR32g23dNOkbWOuBITjhx2VjCTYDkQm5ZTXUbK1j4rHZ/yTD2sR3ESKchCL/wND2/KadmpSzSphRJC6b4N7Iek9RIU4uYom+9YbdIH+yUD7bghCg25btHGCNG/YBLTlBmNAtSJcfWWgo1yDkIcKE7TjdF9DqfSXBY5S/5gfn2+GUvF6wNZ6xFXG68nhirfzzOcqm97+Tq+0d7WkM59h+wPMmXCGrnYscVcUMK58ReAAxIA1UIamutFZDggbQg/5w986MIXYGNn9X0dJMSBUkrS1wJ3GqvrXzdic/43+cvS0PvJhNtvDohHovTt13lI0ckiLYIPMnoTBn1CYdHxKl4pcRsY7UNAqvlEoVvcwg1zKN2bVDS5v2M6VUUqBWlGd0NVaXKZ8ZhXh9tAIDsecm64Rl22SXmsfaA//MDQy4Egb4X9pxeXYuKr3szqAnL7ULCWhzIL45pBgbRWOiktbO7kPDItX8bxlGYQ/Q1raQfSu0KntAN/NNZCzY8i+GDBv4NqF74GzjVzMb/PzbET2WX8Oev+InVv0BQ4cac/Bw0Ods19xFdQRFFXqlP2qnzxqu/0rBzgOwd/oGAepFIR1bTP1baWexYI0IM5qdP7VpNenXXJMgQpxgjgepju+ZqhBJn4yj5jbMwzA=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(39860400002)(136003)(366004)(376002)(346002)(396003)(76116006)(66476007)(64756008)(66556008)(110136005)(316002)(66946007)(8936002)(54906003)(8676002)(86362001)(52536014)(71200400001)(66446008)(5660300002)(30864003)(7696005)(2906002)(9686003)(66574015)(6506007)(53546011)(26005)(55016002)(186003)(33656002)(38100700002)(122000001)(38070700005)(83380400001)(966005)(478600001)(4326008)(7416002)(69594002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?RzZzU0p3NHF6NTRFN3BxWGg3UXcxQVQxVTBVeVp1RSs0MmRjYjRNL2ZGdVRJ?=
 =?utf-8?B?ajlsSzNxWmZ3N0RJRUR3YkZKb2Rmdzh5bUVNNnlQeTA4WUpFV29Ub0pxSUhW?=
 =?utf-8?B?bDNpTWNPQ29ZaThaM1laeWY3RStFc2JwWEpqWDF0RUhGc3Vpa2QxZkpKVzBY?=
 =?utf-8?B?QVd6c1FYTFM4SUJ5NzI5SzIrTUU0S3V0Yy9ZVkxxMjZydjMrTDJkR3UrOVdj?=
 =?utf-8?B?bHJ5SjNKaERMRFVzNEVRSnZ3TFV5V2x1QXhScjNhVWxWOGRoYnFGdVdaZHRG?=
 =?utf-8?B?bWdOelhYYXoydXNxUE9kd2szelV3U3NuZkJDUEk1bXVibHgyQWQ3aHBYZ2hx?=
 =?utf-8?B?cVRsZGIvbmdqSXoyTHpBczQrQXF4Y1ZmeEhlODZGTVN4VHQxc1oxcGN1SHVP?=
 =?utf-8?B?VllBeXdlRVVacVdwSy9JWHprWVlsa0t2amNZNjBPeHZQb0xkRm9QWUpWZWIx?=
 =?utf-8?B?WmF4RjR4RGRqeDNhY3JLYUdqWlhoNS9zaEhvdEpsUitiN3UrK1NXRnZERElk?=
 =?utf-8?B?YVlKNTlLYmZnYUtSMzFnMlpZbEtOSnNFNmRKdS8wMnF2UTkrZTRSNW55TjVM?=
 =?utf-8?B?RmtkMG9MMmVqK2E4TkJ1NVZtb2lranE0TFYyajJYeHY3am0xSkdieDFkc0JM?=
 =?utf-8?B?Sks1UzExc0h6SzVHbGkvMzJPbmpnWm4waHVsOU5vMGlMOTl0YlZHUjUrOXdh?=
 =?utf-8?B?MXdHSm9SV2xVQW4wZkxWRkRtcXJkaFRSbElUUjRjNXNKdTdLbTM4TmExZVRG?=
 =?utf-8?B?M3ZzMTU5emFKQUpiS0dnVTAwSE9DZDN2alpTQzdFNWlIUEZpZE9XVVdyL1J1?=
 =?utf-8?B?cW1tdkFJbjNLRVRiSWl4K3AwRVFoYi9vbjhCNlhZdXE1UlZZU21lOGxZWGZ3?=
 =?utf-8?B?YUVrV3lNdTRleHRWb0Z5MzRUN3JFbm4zRmJEa3VYTDNiNEdDaFFLL2FlcWJD?=
 =?utf-8?B?a2FmU0wycmExTDNnaWlXUkhIdTB2dzBCTDVZSmtwUVlkWHFhd3dTSFdMQnJR?=
 =?utf-8?B?a1hNeEtycVViZTNUNDZnRXZnRnNmZ3o4MEdIeWlObWJERlJYWFh2UFNnQndl?=
 =?utf-8?B?RHFpMmNaVTNVanpSUTd4UmYzTUVsM2k3dDcwVllFZFBMMWtuNHZ0L1V6elJ4?=
 =?utf-8?B?cnZzRUUvTHJQWGZwMFBIem9haUljWFliRVJhZGlQcDlNR2FwV0d5NjFxcVhU?=
 =?utf-8?B?SzhtcG1LMGdLQVVJNmMyMDV3MGFBdEc2dUoyVHdYR0NXSWlWdkNnSFVKSGJD?=
 =?utf-8?B?K0JndnVOdElIVFRocDU3K0lNb1pwS296QURiNG8xWmtRaWtDa2RSKzZ4SEZ4?=
 =?utf-8?B?c3g1eUdjSW9IbFVNOVBMdDVrVndlZ1dzcDYrMEVJMWxKN1JseDl4OUYrcXFP?=
 =?utf-8?B?SjE2dWYzUG1TT3gxdXJNTXJkbTNiWDk4T25TNGdBQ0x1UU5MUlVDZG91NHE1?=
 =?utf-8?B?U1ZsUGdLQXVGWGlMeUVtT045RTYxK2RmUnkxQ1F3cys0R1BObTBVM21laGpw?=
 =?utf-8?B?UlB4c2NZOUE0QjlTRjdNRG1WMG1LQTd6ZlYxNHVURFBaTUhaNklvM09GZWRQ?=
 =?utf-8?B?NVRHdEROMUJNV0dDNEo1UllzZkJNdjdmYTZxVnJYc2dNeGtKekh1Zk1qVnpT?=
 =?utf-8?B?YTFKYkh5MUZwWk4wQ01ld25uRGF5UVBZU2kwMGpEQ2kwOXpBS1RrdEdQRnIv?=
 =?utf-8?B?dWp4QmNlaWJKUjAzU0RFREdKNnh2ZTBuMG5xQjkraGp5MFk1S3ZiYUVaelpt?=
 =?utf-8?Q?/GeE9+mksk3Sa73+bYTmIa+NrssBiVrcVKyzbKH?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB2037
Original-Authentication-Results: gmail.com; dkim=none (message not signed)
 header.d=none;gmail.com; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT062.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	6b71f8ef-1624-4b19-7465-08d9609d2d5c
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	IpkqTLrW37XB+jjxO15NFqeQjkMgy6mFWbeRMvU6sN7465VpHht6W29eZFsXJRZ1L7zILaPu4NuGwyiEmIB0/ZqnIIUpbQiN8XZ2xAG49fIrRLjqO4grRbsASYrR/ZP1TtkhTJf9IKCZ8fyLWmvEwOaCga8lyQdfpF/qRdHdeDqv1b2D6+rE8bgfj3/moCnzKk6akKW10y8qNe0lCsMfJORFNuzG3pDkVnxLxF70IWmjCpFqplkmMx7fCqS06FoAqrew/qgETkon2WRFz5VxaluvcPimMflkh11DX54N5DI0hyMV2szTl1CsGieM3zSaLPw1+53jTM1DC0jmmQfZsiaobctF/3O5k+egT3Ju5RdI6VEdkoEXGobBXBDBeOny/lungK4EQGBgJFgdBShX3Kk/HduRNne3kNJLFLXkvTEFnZ5HGPbX7OSxVtTXny2p1LbBvIUvSsH7doEMzHIucRtDFzeNvTFsIPWFbtcoF7tTgSsC38JQe7xaGXxvaSN0TCI1HTNhOi399DF9OOzC30Fo9HJZJDJMRbsxsSpjOIFzPNt/uDAMFxIK/+QAImyF6MuQdgOUjT/G3xuqd8ERPQAUx4VWr8dQzULdagvOcSAD+4ls1SSJIkuFO3i4GrreZDS+ZsZx2ofR2dKjTZAlyq5DNuYyCwmt+u5+jbwR2xtxmcHHIPqy4sl0MYTCo1z5ex8jeVV57JzXlvwP4tARJM7nJ5WvnPjvbgfdFKu9q/e9/nxHsusYHbwH/1kHDS4V3/xJouY1DKQqeG/Q4uG/w2SeXd3iJrnNK+h8SyWSK6hd+kk3HQ+34+s8++8SADN47gLFjNmlqhjMvdBcgLIZpRXnm+RuQi1F15H9j+au+ck=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(46966006)(36840700001)(508600001)(30864003)(186003)(8936002)(33656002)(356005)(966005)(4326008)(2906002)(66574015)(53546011)(6506007)(7696005)(54906003)(110136005)(316002)(336012)(26005)(81166007)(82310400003)(47076005)(52536014)(9686003)(55016002)(70586007)(70206006)(83380400001)(86362001)(8676002)(36860700001)(5660300002)(69594002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2021 10:04:12.8294
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c6c4edd1-27c1-4da1-0a7a-08d9609d32db
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT062.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4643

SGkgQWxsLA0KDQpUaGFua3MgZm9yIFN0ZWZhbm8gdG8gbGluayBteSBrdm10b29sIGZvciBYZW4g
cHJvcG9zYWwgaGVyZS4NClRoaXMgcHJvcG9zYWwgaXMgc3RpbGwgZGlzY3Vzc2luZyBpbiBYZW4g
YW5kIEtWTSBjb21tdW5pdGllcy4NClRoZSBtYWluIHdvcmsgaXMgdG8gZGVjb3VwbGUgdGhlIGt2
bXRvb2wgZnJvbSBLVk0gYW5kIG1ha2UNCm90aGVyIGh5cGVydmlzb3JzIGNhbiByZXVzZSB0aGUg
dmlydHVhbCBkZXZpY2UgaW1wbGVtZW50YXRpb25zLg0KDQpJbiB0aGlzIGNhc2UsIHdlIG5lZWQg
dG8gaW50cm9kdWNlIGFuIGludGVybWVkaWF0ZSBoeXBlcnZpc29yDQpsYXllciBmb3IgVk1NIGFi
c3RyYWN0aW9uLCBXaGljaCBpcywgSSB0aGluayBpdCdzIHZlcnkgY2xvc2UNCnRvIHN0cmF0b3Mn
IHZpcnRpbyBoeXBlcnZpc29yIGFnbm9zdGljaXNtIHdvcmsuDQoNCg0KPiBGcm9tOiBPbGVrc2Fu
ZHIgVHlzaGNoZW5rbyA8b2xla3N0eXNoQGdtYWlsLmNvbT4NCj4gU2VudDogMjAyMeW5tDjmnIgx
NOaXpSAyMzozOA0KPiBUbzogQUtBU0hJIFRha2FoaXJvIDx0YWthaGlyby5ha2FzaGlAbGluYXJv
Lm9yZz47IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4NCj4gQ2M6
IEFsZXggQmVubj8/ZSA8YWxleC5iZW5uZWVAbGluYXJvLm9yZz47IFN0cmF0b3MgTWFpbGluZyBM
aXN0IDxzdHJhdG9zLWRldkBvcC1saXN0cy5saW5hcm8ub3JnPjsgdmlydGlvLWRldkBsaXN0cy5v
YXNpcy1vcGVuLm9yZzsgQXJuZCBCZXJnbWFubiA8YXJuZC5iZXJnbWFubkBsaW5hcm8ub3JnPjsg
VmlyZXNoIEt1bWFyIDx2aXJlc2gua3VtYXJAbGluYXJvLm9yZz47IFN0ZWZhbm8gU3RhYmVsbGlu
aSA8c3RlZmFuby5zdGFiZWxsaW5pQHhpbGlueC5jb20+OyBzdGVmYW5oYUByZWRoYXQuY29tOyBK
YW4gS2lzemthIDxqYW4ua2lzemthQHNpZW1lbnMuY29tPjsgQ2FybCB2YW4gU2NoYWlrIDxjdmFu
c2NoYUBxdGkucXVhbGNvbW0uY29tPjsgcHJhdGlrcEBxdWljaW5jLmNvbTsgU3JpdmF0c2EgVmFk
ZGFnaXJpIDx2YXRzYUBjb2RlYXVyb3JhLm9yZz47IEplYW4tUGhpbGlwcGUgQnJ1Y2tlciA8amVh
bi1waGlsaXBwZUBsaW5hcm8ub3JnPjsgTWF0aGlldSBQb2lyaWVyIDxtYXRoaWV1LnBvaXJpZXJA
bGluYXJvLm9yZz47IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgT2xla3NhbmRyIFR5c2hj
aGVua28gPE9sZWtzYW5kcl9UeXNoY2hlbmtvQGVwYW0uY29tPjsgQmVydHJhbmQgTWFycXVpcyA8
QmVydHJhbmQuTWFycXVpc0Bhcm0uY29tPjsgQXJ0ZW0gTXlnYWlldiA8QXJ0ZW1fTXlnYWlldkBl
cGFtLmNvbT47IEp1bGllbiBHcmFsbCA8anVsaWVuQHhlbi5vcmc+OyBKdWVyZ2VuIEdyb3NzIDxq
Z3Jvc3NAc3VzZS5jb20+OyBQYXVsIER1cnJhbnQgPHBhdWxAeGVuLm9yZz47IFhlbiBEZXZlbCA8
eGVuLWRldmVsQGxpc3RzLnhlbi5vcmc+DQo+IFN1YmplY3Q6IFJlOiBFbmFibGluZyBoeXBlcnZp
c29yIGFnbm9zdGljaXNtIGZvciBWaXJ0SU8gYmFja2VuZHMNCj4NCj4gSGVsbG8sIGFsbC4NCj4N
Cj4gUGxlYXNlIHNlZSBzb21lIGNvbW1lbnRzIGJlbG93LiBBbmQgc29ycnkgZm9yIHRoZSBwb3Nz
aWJsZSBmb3JtYXQgaXNzdWVzLg0KPg0KPiA+IE9uIFdlZCwgQXVnIDExLCAyMDIxIGF0IDk6Mjcg
QU0gQUtBU0hJIFRha2FoaXJvIDxtYWlsdG86dGFrYWhpcm8uYWthc2hpQGxpbmFyby5vcmc+IHdy
b3RlOg0KPiA+IE9uIFdlZCwgQXVnIDA0LCAyMDIxIGF0IDEyOjIwOjAxUE0gLTA3MDAsIFN0ZWZh
bm8gU3RhYmVsbGluaSB3cm90ZToNCj4gPiA+IENDaW5nIHBlb3BsZSB3b3JraW5nIG9uIFhlbitW
aXJ0SU8gYW5kIElPUkVRcy4gTm90IHRyaW1taW5nIHRoZSBvcmlnaW5hbA0KPiA+ID4gZW1haWwg
dG8gbGV0IHRoZW0gcmVhZCB0aGUgZnVsbCBjb250ZXh0Lg0KPiA+ID4NCj4gPiA+IE15IGNvbW1l
bnRzIGJlbG93IGFyZSByZWxhdGVkIHRvIGEgcG90ZW50aWFsIFhlbiBpbXBsZW1lbnRhdGlvbiwg
bm90DQo+ID4gPiBiZWNhdXNlIGl0IGlzIHRoZSBvbmx5IGltcGxlbWVudGF0aW9uIHRoYXQgbWF0
dGVycywgYnV0IGJlY2F1c2UgaXQgaXMNCj4gPiA+IHRoZSBvbmUgSSBrbm93IGJlc3QuDQo+ID4N
Cj4gPiBQbGVhc2Ugbm90ZSB0aGF0IG15IHByb3Bvc2FsIChhbmQgaGVuY2UgdGhlIHdvcmtpbmcg
cHJvdG90eXBlKVsxXQ0KPiA+IGlzIGJhc2VkIG9uIFhlbidzIHZpcnRpbyBpbXBsZW1lbnRhdGlv
biAoaS5lLiBJT1JFUSkgYW5kIHBhcnRpY3VsYXJseQ0KPiA+IEVQQU0ncyB2aXJ0aW8tZGlzayBh
cHBsaWNhdGlvbiAoYmFja2VuZCBzZXJ2ZXIpLg0KPiA+IEl0IGhhcyBiZWVuLCBJIGJlbGlldmUs
IHdlbGwgZ2VuZXJhbGl6ZWQgYnV0IGlzIHN0aWxsIGEgYml0IGJpYXNlZA0KPiA+IHRvd2FyZCB0
aGlzIG9yaWdpbmFsIGRlc2lnbi4NCj4gPg0KPiA+IFNvIEkgaG9wZSB5b3UgbGlrZSBteSBhcHBy
b2FjaCA6KQ0KPiA+DQo+ID4gWzFdIGh0dHBzOi8vb3AtbGlzdHMubGluYXJvLm9yZy9waXBlcm1h
aWwvc3RyYXRvcy1kZXYvMjAyMS1BdWd1c3QvMDAwNTQ2Lmh0bWwNCj4gPg0KPiA+IExldCBtZSB0
YWtlIHRoaXMgb3Bwb3J0dW5pdHkgdG8gZXhwbGFpbiBhIGJpdCBtb3JlIGFib3V0IG15IGFwcHJv
YWNoIGJlbG93Lg0KPiA+DQo+ID4gPiBBbHNvLCBwbGVhc2Ugc2VlIHRoaXMgcmVsZXZhbnQgZW1h
aWwgdGhyZWFkOg0KPiA+ID4gaHR0cHM6Ly9tYXJjLmluZm8vP2w9eGVuLWRldmVsJm09MTYyMzcz
NzU0NzA1MjMzJnc9Mg0KPiA+ID4NCj4gPiA+DQo+ID4gPiBPbiBXZWQsIDQgQXVnIDIwMjEsIEFs
ZXggQmVubsOpZSB3cm90ZToNCj4gPiA+ID4gSGksDQo+ID4gPiA+DQo+ID4gPiA+IE9uZSBvZiB0
aGUgZ29hbHMgb2YgUHJvamVjdCBTdHJhdG9zIGlzIHRvIGVuYWJsZSBoeXBlcnZpc29yIGFnbm9z
dGljDQo+ID4gPiA+IGJhY2tlbmRzIHNvIHdlIGNhbiBlbmFibGUgYXMgbXVjaCByZS11c2Ugb2Yg
Y29kZSBhcyBwb3NzaWJsZSBhbmQgYXZvaWQNCj4gPiA+ID4gcmVwZWF0aW5nIG91cnNlbHZlcy4g
VGhpcyBpcyB0aGUgZmxpcCBzaWRlIG9mIHRoZSBmcm9udCBlbmQgd2hlcmUNCj4gPiA+ID4gbXVs
dGlwbGUgZnJvbnQtZW5kIGltcGxlbWVudGF0aW9ucyBhcmUgcmVxdWlyZWQgLSBvbmUgcGVyIE9T
LCBhc3N1bWluZw0KPiA+ID4gPiB5b3UgZG9uJ3QganVzdCB3YW50IExpbnV4IGd1ZXN0cy4gVGhl
IHJlc3VsdGFudCBndWVzdHMgYXJlIHRyaXZpYWxseQ0KPiA+ID4gPiBtb3ZhYmxlIGJldHdlZW4g
aHlwZXJ2aXNvcnMgbW9kdWxvIGFueSBhYnN0cmFjdGVkIHBhcmF2aXJ0IHR5cGUNCj4gPiA+ID4g
aW50ZXJmYWNlcy4NCj4gPiA+ID4NCj4gPiA+ID4gSW4gbXkgb3JpZ2luYWwgdGh1bWIgbmFpbCBz
a2V0Y2ggb2YgYSBzb2x1dGlvbiBJIGVudmlzaW9uZWQgdmhvc3QtdXNlcg0KPiA+ID4gPiBkYWVt
b25zIHJ1bm5pbmcgaW4gYSBicm9hZGx5IFBPU0lYIGxpa2UgZW52aXJvbm1lbnQuIFRoZSBpbnRl
cmZhY2UgdG8NCj4gPiA+ID4gdGhlIGRhZW1vbiBpcyBmYWlybHkgc2ltcGxlIHJlcXVpcmluZyBv
bmx5IHNvbWUgbWFwcGVkIG1lbW9yeSBhbmQgc29tZQ0KPiA+ID4gPiBzb3J0IG9mIHNpZ25hbGxp
bmcgZm9yIGV2ZW50cyAob24gTGludXggdGhpcyBpcyBldmVudGZkKS4gVGhlIGlkZWEgd2FzIGEN
Cj4gPiA+ID4gc3R1YiBiaW5hcnkgd291bGQgYmUgcmVzcG9uc2libGUgZm9yIGFueSBoeXBlcnZp
c29yIHNwZWNpZmljIHNldHVwIGFuZA0KPiA+ID4gPiB0aGVuIGxhdW5jaCBhIGNvbW1vbiBiaW5h
cnkgdG8gZGVhbCB3aXRoIHRoZSBhY3R1YWwgdmlydHF1ZXVlIHJlcXVlc3RzDQo+ID4gPiA+IHRo
ZW1zZWx2ZXMuDQo+ID4gPiA+DQo+ID4gPiA+IFNpbmNlIHRoYXQgb3JpZ2luYWwgc2tldGNoIHdl
J3ZlIHNlZW4gYW4gZXhwYW5zaW9uIGluIHRoZSBzb3J0IG9mIHdheXMNCj4gPiA+ID4gYmFja2Vu
ZHMgY291bGQgYmUgY3JlYXRlZC4gVGhlcmUgaXMgaW50ZXJlc3QgaW4gZW5jYXBzdWxhdGluZyBi
YWNrZW5kcw0KPiA+ID4gPiBpbiBSVE9TZXMgb3IgdW5pa2VybmVscyBmb3Igc29sdXRpb25zIGxp
a2UgU0NNSS4gVGhlcmUgaW50ZXJlc3QgaW4gUnVzdA0KPiA+ID4gPiBoYXMgcHJvbXB0ZWQgaWRl
YXMgb2YgdXNpbmcgdGhlIHRyYWl0IGludGVyZmFjZSB0byBhYnN0cmFjdCBkaWZmZXJlbmNlcw0K
PiA+ID4gPiBhd2F5IGFzIHdlbGwgYXMgdGhlIGlkZWEgb2YgYmFyZS1tZXRhbCBSdXN0IGJhY2tl
bmRzLg0KPiA+ID4gPg0KPiA+ID4gPiBXZSBoYXZlIGEgY2FyZCAoU1RSLTEyKSBjYWxsZWQgIkh5
cGVyY2FsbCBTdGFuZGFyZGlzYXRpb24iIHdoaWNoDQo+ID4gPiA+IGNhbGxzIGZvciBhIGRlc2Ny
aXB0aW9uIG9mIHRoZSBBUElzIG5lZWRlZCBmcm9tIHRoZSBoeXBlcnZpc29yIHNpZGUgdG8NCj4g
PiA+ID4gc3VwcG9ydCBWaXJ0SU8gZ3Vlc3RzIGFuZCB0aGVpciBiYWNrZW5kcy4gSG93ZXZlciB3
ZSBhcmUgc29tZSB3YXkgb2ZmDQo+ID4gPiA+IGZyb20gdGhhdCBhdCB0aGUgbW9tZW50IGFzIEkg
dGhpbmsgd2UgbmVlZCB0byBhdCBsZWFzdCBkZW1vbnN0cmF0ZSBvbmUNCj4gPiA+ID4gcG9ydGFi
bGUgYmFja2VuZCBiZWZvcmUgd2Ugc3RhcnQgY29kaWZ5aW5nIHJlcXVpcmVtZW50cy4gVG8gdGhh
dCBlbmQgSQ0KPiA+ID4gPiB3YW50IHRvIHRoaW5rIGFib3V0IHdoYXQgd2UgbmVlZCBmb3IgYSBi
YWNrZW5kIHRvIGZ1bmN0aW9uLg0KPiA+ID4gPg0KPiA+ID4gPiBDb25maWd1cmF0aW9uDQo+ID4g
PiA+ID09PT09PT09PT09PT0NCj4gPiA+ID4NCj4gPiA+ID4gSW4gdGhlIHR5cGUtMiBzZXR1cCB0
aGlzIGlzIHR5cGljYWxseSBmYWlybHkgc2ltcGxlIGJlY2F1c2UgdGhlIGhvc3QNCj4gPiA+ID4g
c3lzdGVtIGNhbiBvcmNoZXN0cmF0ZSB0aGUgdmFyaW91cyBtb2R1bGVzIHRoYXQgbWFrZSB1cCB0
aGUgY29tcGxldGUNCj4gPiA+ID4gc3lzdGVtLiBJbiB0aGUgdHlwZS0xIGNhc2UgKG9yIGV2ZW4g
dHlwZS0yIHdpdGggZGVsZWdhdGVkIHNlcnZpY2UgVk1zKQ0KPiA+ID4gPiB3ZSBuZWVkIHNvbWUg
c29ydCBvZiBtZWNoYW5pc20gdG8gaW5mb3JtIHRoZSBiYWNrZW5kIFZNIGFib3V0IGtleQ0KPiA+
ID4gPiBkZXRhaWxzIGFib3V0IHRoZSBzeXN0ZW06DQo+ID4gPiA+DQo+ID4gPiA+ICAgLSB3aGVy
ZSB2aXJ0IHF1ZXVlIG1lbW9yeSBpcyBpbiBpdCdzIGFkZHJlc3Mgc3BhY2UNCj4gPiA+ID4gICAt
IGhvdyBpdCdzIGdvaW5nIHRvIHJlY2VpdmUgKGludGVycnVwdCkgYW5kIHRyaWdnZXIgKGtpY2sp
IGV2ZW50cw0KPiA+ID4gPiAgIC0gd2hhdCAoaWYgYW55KSByZXNvdXJjZXMgdGhlIGJhY2tlbmQg
bmVlZHMgdG8gY29ubmVjdCB0bw0KPiA+ID4gPg0KPiA+ID4gPiBPYnZpb3VzbHkgeW91IGNhbiBl
bGlkZSBvdmVyIGNvbmZpZ3VyYXRpb24gaXNzdWVzIGJ5IGhhdmluZyBzdGF0aWMNCj4gPiA+ID4g
Y29uZmlndXJhdGlvbnMgYW5kIGJha2luZyB0aGUgYXNzdW1wdGlvbnMgaW50byB5b3VyIGd1ZXN0
IGltYWdlcyBob3dldmVyDQo+ID4gPiA+IHRoaXMgaXNuJ3Qgc2NhbGFibGUgaW4gdGhlIGxvbmcg
dGVybS4gVGhlIG9idmlvdXMgc29sdXRpb24gc2VlbXMgdG8gYmUNCj4gPiA+ID4gZXh0ZW5kaW5n
IGEgc3Vic2V0IG9mIERldmljZSBUcmVlIGRhdGEgdG8gdXNlciBzcGFjZSBidXQgcGVyaGFwcyB0
aGVyZQ0KPiA+ID4gPiBhcmUgb3RoZXIgYXBwcm9hY2hlcz8NCj4gPiA+ID4NCj4gPiA+ID4gQmVm
b3JlIGFueSB2aXJ0aW8gdHJhbnNhY3Rpb25zIGNhbiB0YWtlIHBsYWNlIHRoZSBhcHByb3ByaWF0
ZSBtZW1vcnkNCj4gPiA+ID4gbWFwcGluZ3MgbmVlZCB0byBiZSBtYWRlIGJldHdlZW4gdGhlIEZF
IGd1ZXN0IGFuZCB0aGUgQkUgZ3Vlc3QuDQo+ID4gPg0KPiA+ID4gPiBDdXJyZW50bHkgdGhlIHdo
b2xlIG9mIHRoZSBGRSBndWVzdHMgYWRkcmVzcyBzcGFjZSBuZWVkcyB0byBiZSB2aXNpYmxlDQo+
ID4gPiA+IHRvIHdoYXRldmVyIGlzIHNlcnZpbmcgdGhlIHZpcnRpbyByZXF1ZXN0cy4gSSBjYW4g
ZW52aXNpb24gMyBhcHByb2FjaGVzOg0KPiA+ID4gPg0KPiA+ID4gPiAgKiBCRSBndWVzdCBib290
cyB3aXRoIG1lbW9yeSBhbHJlYWR5IG1hcHBlZA0KPiA+ID4gPg0KPiA+ID4gPiAgVGhpcyB3b3Vs
ZCBlbnRhaWwgdGhlIGd1ZXN0IE9TIGtub3dpbmcgd2hlcmUgaW4gaXQncyBHdWVzdCBQaHlzaWNh
bA0KPiA+ID4gPiAgQWRkcmVzcyBzcGFjZSBpcyBhbHJlYWR5IHRha2VuIHVwIGFuZCBhdm9pZGlu
ZyBjbGFzaGluZy4gSSB3b3VsZCBhc3N1bWUNCj4gPiA+ID4gIGluIHRoaXMgY2FzZSB5b3Ugd291
bGQgd2FudCBhIHN0YW5kYXJkIGludGVyZmFjZSB0byB1c2Vyc3BhY2UgdG8gdGhlbg0KPiA+ID4g
PiAgbWFrZSB0aGF0IGFkZHJlc3Mgc3BhY2UgdmlzaWJsZSB0byB0aGUgYmFja2VuZCBkYWVtb24u
DQo+ID4NCj4gPiBZZXQgYW5vdGhlciB3YXkgaGVyZSBpcyB0aGF0IHdlIHdvdWxkIGhhdmUgd2Vs
bCBrbm93biAic2hhcmVkIG1lbW9yeSIgYmV0d2Vlbg0KPiA+IFZNcy4gSSB0aGluayB0aGF0IEph
aWxob3VzZSdzIGl2c2htZW0gZ2l2ZXMgdXMgZ29vZCBpbnNpZ2h0cyBvbiB0aGlzIG1hdHRlcg0K
PiA+IGFuZCB0aGF0IGl0IGNhbiBldmVuIGJlIGFuIGFsdGVybmF0aXZlIGZvciBoeXBlcnZpc29y
LWFnbm9zdGljIHNvbHV0aW9uLg0KPiA+DQo+ID4gKFBsZWFzZSBub3RlIG1lbW9yeSByZWdpb25z
IGluIGl2c2htZW0gYXBwZWFyIGFzIGEgUENJIGRldmljZSBhbmQgY2FuIGJlDQo+ID4gbWFwcGVk
IGxvY2FsbHkuKQ0KPiA+DQo+ID4gSSB3YW50IHRvIGFkZCB0aGlzIHNoYXJlZCBtZW1vcnkgYXNw
ZWN0IHRvIG15IHZpcnRpby1wcm94eSwgYnV0DQo+ID4gdGhlIHJlc3VsdGFudCBzb2x1dGlvbiB3
b3VsZCBldmVudHVhbGx5IGxvb2sgc2ltaWxhciB0byBpdnNobWVtLg0KPiA+DQo+ID4gPiA+ICAq
IEJFIGd1ZXN0cyBib290cyB3aXRoIGEgaHlwZXJ2aXNvciBoYW5kbGUgdG8gbWVtb3J5DQo+ID4g
PiA+DQo+ID4gPiA+ICBUaGUgQkUgZ3Vlc3QgaXMgdGhlbiBmcmVlIHRvIG1hcCB0aGUgRkUncyBt
ZW1vcnkgdG8gd2hlcmUgaXQgd2FudHMgaW4NCj4gPiA+ID4gIHRoZSBCRSdzIGd1ZXN0IHBoeXNp
Y2FsIGFkZHJlc3Mgc3BhY2UuDQo+ID4gPg0KPiA+ID4gSSBjYW5ub3Qgc2VlIGhvdyB0aGlzIGNv
dWxkIHdvcmsgZm9yIFhlbi4gVGhlcmUgaXMgbm8gImhhbmRsZSIgdG8gZ2l2ZQ0KPiA+ID4gdG8g
dGhlIGJhY2tlbmQgaWYgdGhlIGJhY2tlbmQgaXMgbm90IHJ1bm5pbmcgaW4gZG9tMC4gU28gZm9y
IFhlbiBJIHRoaW5rDQo+ID4gPiB0aGUgbWVtb3J5IGhhcyB0byBiZSBhbHJlYWR5IG1hcHBlZA0K
PiA+DQo+ID4gSW4gWGVuJ3MgSU9SRVEgc29sdXRpb24gKHZpcnRpby1ibGspLCB0aGUgZm9sbG93
aW5nIGluZm9ybWF0aW9uIGlzIGV4cGVjdGVkDQo+ID4gdG8gYmUgZXhwb3NlZCB0byBCRSB2aWEg
WGVuc3RvcmU6DQo+ID4gKEkga25vdyB0aGF0IHRoaXMgaXMgYSB0ZW50YXRpdmUgYXBwcm9hY2gg
dGhvdWdoLikNCj4gPiAgICAtIHRoZSBzdGFydCBhZGRyZXNzIG9mIGNvbmZpZ3VyYXRpb24gc3Bh
Y2UNCj4gPiAgICAtIGludGVycnVwdCBudW1iZXINCj4gPiAgICAtIGZpbGUgcGF0aCBmb3IgYmFj
a2luZyBzdG9yYWdlDQo+ID4gICAgLSByZWFkLW9ubHkgZmxhZw0KPiA+IEFuZCB0aGUgQkUgc2Vy
dmVyIGhhdmUgdG8gY2FsbCBhIHBhcnRpY3VsYXIgaHlwZXJ2aXNvciBpbnRlcmZhY2UgdG8NCj4g
PiBtYXAgdGhlIGNvbmZpZ3VyYXRpb24gc3BhY2UuDQo+DQo+IFllcywgWGVuc3RvcmUgd2FzIGNo
b3NlbiBhcyBhIHNpbXBsZSB3YXkgdG8gcGFzcyBjb25maWd1cmF0aW9uIGluZm8gdG8gdGhlIGJh
Y2tlbmQgcnVubmluZyBpbiBhIG5vbi10b29sc3RhY2sgZG9tYWluLg0KPiBJIHJlbWVtYmVyLCB0
aGVyZSB3YXMgYSB3aXNoIHRvIGF2b2lkIHVzaW5nIFhlbnN0b3JlIGluIFZpcnRpbyBiYWNrZW5k
IGl0c2VsZiBpZiBwb3NzaWJsZSwgc28gZm9yIG5vbi10b29sc3RhY2sgZG9tYWluLCB0aGlzIGNv
dWxkIGRvbmUgd2l0aCBhZGp1c3RpbmcgZGV2ZCAoZGFlbW9uIHRoYXQgbGlzdGVucyBmb3IgZGV2
aWNlcyBhbmQgbGF1bmNoZXMgYmFja2VuZHMpDQo+IHRvIHJlYWQgYmFja2VuZCBjb25maWd1cmF0
aW9uIGZyb20gdGhlIFhlbnN0b3JlIGFueXdheSBhbmQgcGFzcyBpdCB0byB0aGUgYmFja2VuZCB2
aWEgY29tbWFuZCBsaW5lIGFyZ3VtZW50cy4NCj4NCg0KWWVzLCBpbiBjdXJyZW50IFBvQyBjb2Rl
IHdlJ3JlIHVzaW5nIHhlbnN0b3JlIHRvIHBhc3MgZGV2aWNlIGNvbmZpZ3VyYXRpb24uDQpXZSBh
bHNvIGRlc2lnbmVkIGEgc3RhdGljIGRldmljZSBjb25maWd1cmF0aW9uIHBhcnNlIG1ldGhvZCBm
b3IgRG9tMGxlc3Mgb3INCm90aGVyIHNjZW5hcmlvcyBkb24ndCBoYXZlIHhlbnRvb2wuIHllcywg
aXQncyBmcm9tIGRldmljZSBtb2RlbCBjb21tYW5kIGxpbmUNCm9yIGEgY29uZmlnIGZpbGUuDQoN
Cj4gQnV0LCBpZiAuLi4NCj4NCj4gPg0KPiA+IEluIG15IGFwcHJvYWNoICh2aXJ0aW8tcHJveHkp
LCBhbGwgdGhvc2UgWGVuIChvciBoeXBlcnZpc29yKS1zcGVjaWZpYw0KPiA+IHN0dWZmcyBhcmUg
Y29udGFpbmVkIGluIHZpcnRpby1wcm94eSwgeWV0IGFub3RoZXIgVk0sIHRvIGhpZGUgYWxsIGRl
dGFpbHMuDQo+DQo+IC4uLiB0aGUgc29sdXRpb24gaG93IHRvIG92ZXJjb21lIHRoYXQgaXMgYWxy
ZWFkeSBmb3VuZCBhbmQgcHJvdmVuIHRvIHdvcmsgdGhlbiBldmVuIGJldHRlci4NCj4NCj4NCj4N
Cj4gPiAjIE15IHBvaW50IGlzIHRoYXQgYSAiaGFuZGxlIiBpcyBub3QgbWFuZGF0b3J5IGZvciBl
eGVjdXRpbmcgbWFwcGluZy4NCj4gPg0KPiA+ID4gYW5kIHRoZSBtYXBwaW5nIHByb2JhYmx5IGRv
bmUgYnkgdGhlDQo+ID4gPiB0b29sc3RhY2sgKGFsc28gc2VlIGJlbG93LikgT3Igd2Ugd291bGQg
aGF2ZSB0byBpbnZlbnQgYSBuZXcgWGVuDQo+ID4gPiBoeXBlcnZpc29yIGludGVyZmFjZSBhbmQg
WGVuIHZpcnR1YWwgbWFjaGluZSBwcml2aWxlZ2VzIHRvIGFsbG93IHRoaXMNCj4gPiA+IGtpbmQg
b2YgbWFwcGluZy4NCj4gPg0KPiA+ID4gSWYgd2UgcnVuIHRoZSBiYWNrZW5kIGluIERvbTAgdGhh
dCB3ZSBoYXZlIG5vIHByb2JsZW1zIG9mIGNvdXJzZS4NCj4gPg0KPiA+IE9uZSBvZiBkaWZmaWN1
bHRpZXMgb24gWGVuIHRoYXQgSSBmb3VuZCBpbiBteSBhcHByb2FjaCBpcyB0aGF0IGNhbGxpbmcN
Cj4gPiBzdWNoIGh5cGVydmlzb3IgaW50ZWZhY2VzIChyZWdpc3RlcmluZyBJT1JFUSwgbWFwcGlu
ZyBtZW1vcnkpIGlzIG9ubHkNCj4gPiBhbGxvd2VkIG9uIEJFIHNlcnZlcnMgdGhlbXNlbHZpZXMg
YW5kIHNvIHdlIHdpbGwgaGF2ZSB0byBleHRlbmQgdGhvc2UNCj4gPiBpbnRlcmZhY2VzLg0KPiA+
IFRoaXMsIGhvd2V2ZXIsIHdpbGwgcmFpc2Ugc29tZSBjb25jZXJuIG9uIHNlY3VyaXR5IGFuZCBw
cml2aWxlZ2UgZGlzdHJpYnV0aW9uDQo+ID4gYXMgU3RlZmFuIHN1Z2dlc3RlZC4NCj4NCj4gV2Ug
YWxzbyBmYWNlZCBwb2xpY3kgcmVsYXRlZCBpc3N1ZXMgd2l0aCBWaXJ0aW8gYmFja2VuZCBydW5u
aW5nIGluIG90aGVyIHRoYW4gRG9tMCBkb21haW4gaW4gYSAiZHVtbXkiIHhzbSBtb2RlLiBJbiBv
dXIgdGFyZ2V0IHN5c3RlbSB3ZSBydW4gdGhlIGJhY2tlbmQgaW4gYSBkcml2ZXINCj4gZG9tYWlu
ICh3ZSBjYWxsIGl0IERvbUQpIHdoZXJlIHRoZSB1bmRlcmx5aW5nIEgvVyByZXNpZGVzLiBXZSB0
cnVzdCBpdCwgc28gd2Ugd3JvdGUgcG9saWN5IHJ1bGVzICh0byBiZSB1c2VkIGluICJmbGFzayIg
eHNtIG1vZGUpIHRvIHByb3ZpZGUgaXQgd2l0aCBhIGxpdHRsZSBiaXQgbW9yZSBwcml2aWxlZ2Vz
IHRoYW4gYSBzaW1wbGUgRG9tVSBoYWQuDQo+IE5vdyBpdCBpcyBwZXJtaXR0ZWQgdG8gaXNzdWUg
ZGV2aWNlLW1vZGVsLCByZXNvdXJjZSBhbmQgbWVtb3J5IG1hcHBpbmdzLCBldGMgY2FsbHMuDQo+
DQo+ID4gPg0KPiA+ID4NCj4gPiA+ID4gVG8gYWN0aXZhdGUgdGhlIG1hcHBpbmcgd2lsbA0KPiA+
ID4gPiAgcmVxdWlyZSBzb21lIHNvcnQgb2YgaHlwZXJjYWxsIHRvIHRoZSBoeXBlcnZpc29yLiBJ
IGNhbiBzZWUgdHdvIG9wdGlvbnMNCj4gPiA+ID4gIGF0IHRoaXMgcG9pbnQ6DQo+ID4gPiA+DQo+
ID4gPiA+ICAgLSBleHBvc2UgdGhlIGhhbmRsZSB0byB1c2Vyc3BhY2UgZm9yIGRhZW1vbi9oZWxw
ZXIgdG8gdHJpZ2dlciB0aGUNCj4gPiA+ID4gICAgIG1hcHBpbmcgdmlhIGV4aXN0aW5nIGh5cGVy
Y2FsbCBpbnRlcmZhY2VzLiBJZiB1c2luZyBhIGhlbHBlciB5b3UNCj4gPiA+ID4gICAgIHdvdWxk
IGhhdmUgYSBoeXBlcnZpc29yIHNwZWNpZmljIG9uZSB0byBhdm9pZCB0aGUgZGFlbW9uIGhhdmlu
ZyB0bw0KPiA+ID4gPiAgICAgY2FyZSB0b28gbXVjaCBhYm91dCB0aGUgZGV0YWlscyBvciBwdXNo
IHRoYXQgY29tcGxleGl0eSBpbnRvIGENCj4gPiA+ID4gICAgIGNvbXBpbGUgdGltZSBvcHRpb24g
Zm9yIHRoZSBkYWVtb24gd2hpY2ggd291bGQgcmVzdWx0IGluIGRpZmZlcmVudA0KPiA+ID4gPiAg
ICAgYmluYXJpZXMgYWx0aG91Z2ggYSBjb21tb24gc291cmNlIGJhc2UuDQo+ID4gPiA+DQo+ID4g
PiA+ICAgLSBleHBvc2UgYSBuZXcga2VybmVsIEFCSSB0byBhYnN0cmFjdCB0aGUgaHlwZXJjYWxs
IGRpZmZlcmVuY2VzIGF3YXkNCj4gPiA+ID4gICAgIGluIHRoZSBndWVzdCBrZXJuZWwuIEluIHRo
aXMgY2FzZSB0aGUgdXNlcnNwYWNlIHdvdWxkIGVzc2VudGlhbGx5DQo+ID4gPiA+ICAgICBhc2sg
Zm9yIGFuIGFic3RyYWN0ICJtYXAgZ3Vlc3QgTiBtZW1vcnkgdG8gdXNlcnNwYWNlIHB0ciIgYW5k
IGxldA0KPiA+ID4gPiAgICAgdGhlIGtlcm5lbCBkZWFsIHdpdGggdGhlIGRpZmZlcmVudCBoeXBl
cmNhbGwgaW50ZXJmYWNlcy4gVGhpcyBvZg0KPiA+ID4gPiAgICAgY291cnNlIGFzc3VtZXMgdGhl
IG1ham9yaXR5IG9mIEJFIGd1ZXN0cyB3b3VsZCBiZSBMaW51eCBrZXJuZWxzIGFuZA0KPiA+ID4g
PiAgICAgbGVhdmVzIHRoZSBiYXJlLW1ldGFsL3VuaWtlcm5lbCBhcHByb2FjaGVzIHRvIHRoZWly
IG93biBkZXZpY2VzLg0KPiA+ID4gPg0KPiA+ID4gPiBPcGVyYXRpb24NCj4gPiA+ID4gPT09PT09
PT09DQo+ID4gPiA+DQo+ID4gPiA+IFRoZSBjb3JlIG9mIHRoZSBvcGVyYXRpb24gb2YgVmlydElP
IGlzIGZhaXJseSBzaW1wbGUuIE9uY2UgdGhlDQo+ID4gPiA+IHZob3N0LXVzZXIgZmVhdHVyZSBu
ZWdvdGlhdGlvbiBpcyBkb25lIGl0J3MgYSBjYXNlIG9mIHJlY2VpdmluZyB1cGRhdGUNCj4gPiA+
ID4gZXZlbnRzIGFuZCBwYXJzaW5nIHRoZSByZXN1bHRhbnQgdmlydCBxdWV1ZSBmb3IgZGF0YS4g
VGhlIHZob3N0LXVzZXINCj4gPiA+ID4gc3BlY2lmaWNhdGlvbiBoYW5kbGVzIGEgYnVuY2ggb2Yg
c2V0dXAgYmVmb3JlIHRoYXQgcG9pbnQsIG1vc3RseSB0bw0KPiA+ID4gPiBkZXRhaWwgd2hlcmUg
dGhlIHZpcnQgcXVldWVzIGFyZSBzZXQgdXAgRkQncyBmb3IgbWVtb3J5IGFuZCBldmVudA0KPiA+
ID4gPiBjb21tdW5pY2F0aW9uLiBUaGlzIGlzIHdoZXJlIHRoZSBlbnZpc2lvbmVkIHN0dWIgcHJv
Y2VzcyB3b3VsZCBiZQ0KPiA+ID4gPiByZXNwb25zaWJsZSBmb3IgZ2V0dGluZyB0aGUgZGFlbW9u
IHVwIGFuZCByZWFkeSB0byBydW4uIFRoaXMgaXMNCj4gPiA+ID4gY3VycmVudGx5IGRvbmUgaW5z
aWRlIGEgYmlnIFZNTSBsaWtlIFFFTVUgYnV0IEkgc3VzcGVjdCBhIG1vZGVybg0KPiA+ID4gPiBh
cHByb2FjaCB3b3VsZCBiZSB0byB1c2UgdGhlIHJ1c3Qtdm1tIHZob3N0IGNyYXRlLiBJdCB3b3Vs
ZCB0aGVuIGVpdGhlcg0KPiA+ID4gPiBjb21tdW5pY2F0ZSB3aXRoIHRoZSBrZXJuZWwncyBhYnN0
cmFjdGVkIEFCSSBvciBiZSByZS10YXJnZXRlZCBhcyBhDQo+ID4gPiA+IGJ1aWxkIG9wdGlvbiBm
b3IgdGhlIHZhcmlvdXMgaHlwZXJ2aXNvcnMuDQo+ID4gPg0KPiA+ID4gT25lIHRoaW5nIEkgbWVu
dGlvbmVkIGJlZm9yZSB0byBBbGV4IGlzIHRoYXQgWGVuIGRvZXNuJ3QgaGF2ZSBWTU1zIHRoZQ0K
PiA+ID4gd2F5IHRoZXkgYXJlIHR5cGljYWxseSBlbnZpc2lvbmVkIGFuZCBkZXNjcmliZWQgaW4g
b3RoZXIgZW52aXJvbm1lbnRzLg0KPiA+ID4gSW5zdGVhZCwgWGVuIGhhcyBJT1JFUSBzZXJ2ZXJz
LiBFYWNoIG9mIHRoZW0gY29ubmVjdHMgaW5kZXBlbmRlbnRseSB0bw0KPiA+ID4gWGVuIHZpYSB0
aGUgSU9SRVEgaW50ZXJmYWNlLiBFLmcuIHRvZGF5IG11bHRpcGxlIFFFTVVzIGNvdWxkIGJlIHVz
ZWQgYXMNCj4gPiA+IGVtdWxhdG9ycyBmb3IgYSBzaW5nbGUgWGVuIFZNLCBlYWNoIG9mIHRoZW0g
Y29ubmVjdGluZyB0byBYZW4NCj4gPiA+IGluZGVwZW5kZW50bHkgdmlhIHRoZSBJT1JFUSBpbnRl
cmZhY2UuDQo+ID4gPg0KPiA+ID4gVGhlIGNvbXBvbmVudCByZXNwb25zaWJsZSBmb3Igc3RhcnRp
bmcgYSBkYWVtb24gYW5kL29yIHNldHRpbmcgdXAgc2hhcmVkDQo+ID4gPiBpbnRlcmZhY2VzIGlz
IHRoZSB0b29sc3RhY2s6IHRoZSB4bCBjb21tYW5kIGFuZCB0aGUgbGlieGwvbGlieGMNCj4gPiA+
IGxpYnJhcmllcy4NCj4gPg0KPiA+IEkgdGhpbmsgdGhhdCBWTSBjb25maWd1cmF0aW9uIG1hbmFn
ZW1lbnQgKG9yIG9yY2hlc3RyYXRpb24gaW4gU3RhcnRvcw0KPiA+IGphcmdvbj8pIGlzIGEgc3Vi
amVjdCB0byBkZWJhdGUgaW4gcGFyYWxsZWwuDQo+ID4gT3RoZXJ3aXNlLCBpcyB0aGVyZSBhbnkg
Z29vZCBhc3N1bXB0aW9uIHRvIGF2b2lkIGl0IHJpZ2h0IG5vdz8NCj4gPg0KPiA+ID4gT2xla3Nh
bmRyIGFuZCBvdGhlcnMgSSBDQ2VkIGhhdmUgYmVlbiB3b3JraW5nIG9uIHdheXMgZm9yIHRoZSB0
b29sc3RhY2sNCj4gPiA+IHRvIGNyZWF0ZSB2aXJ0aW8gYmFja2VuZHMgYW5kIHNldHVwIG1lbW9y
eSBtYXBwaW5ncy4gVGhleSBtaWdodCBiZSBhYmxlDQo+ID4gPiB0byBwcm92aWRlIG1vcmUgaW5m
byBvbiB0aGUgc3ViamVjdC4gSSBkbyB0aGluayB3ZSBtaXNzIGEgd2F5IHRvIHByb3ZpZGUNCj4g
PiA+IHRoZSBjb25maWd1cmF0aW9uIHRvIHRoZSBiYWNrZW5kIGFuZCBhbnl0aGluZyBlbHNlIHRo
YXQgdGhlIGJhY2tlbmQNCj4gPiA+IG1pZ2h0IHJlcXVpcmUgdG8gc3RhcnQgZG9pbmcgaXRzIGpv
Yi4NCj4NCj4gWWVzLCBzb21lIHdvcmsgaGFzIGJlZW4gZG9uZSBmb3IgdGhlIHRvb2xzdGFjayB0
byBoYW5kbGUgVmlydGlvIE1NSU8gZGV2aWNlcyBpbg0KPiBnZW5lcmFsIGFuZCBWaXJ0aW8gYmxv
Y2sgZGV2aWNlcyBpbiBwYXJ0aWN1bGFyLiBIb3dldmVyLCBpdCBoYXMgbm90IGJlZW4gdXBzdHJl
YW5lZCB5ZXQuDQo+IFVwZGF0ZWQgcGF0Y2hlcyBvbiByZXZpZXcgbm93Og0KPiBodHRwczovL2xv
cmUua2VybmVsLm9yZy94ZW4tZGV2ZWwvMTYyMTYyNjM2MS0yOTA3Ni0xLWdpdC1zZW5kLWVtYWls
LW9sZWtzdHlzaEBnbWFpbC5jb20vDQo+DQo+IFRoZXJlIGlzIGFuIGFkZGl0aW9uYWwgKGFsc28g
aW1wb3J0YW50KSBhY3Rpdml0eSB0byBpbXByb3ZlL2ZpeCBmb3JlaWduIG1lbW9yeSBtYXBwaW5n
IG9uIEFybSB3aGljaCBJIGFtIGFsc28gaW52b2x2ZWQgaW4uDQo+IFRoZSBmb3JlaWduIG1lbW9y
eSBtYXBwaW5nIGlzIHByb3Bvc2VkIHRvIGJlIHVzZWQgZm9yIFZpcnRpbyBiYWNrZW5kcyAoZGV2
aWNlIGVtdWxhdG9ycykgaWYgdGhlcmUgaXMgYSBuZWVkIHRvIHJ1biBndWVzdCBPUyBjb21wbGV0
ZWx5IHVubW9kaWZpZWQuDQo+IE9mIGNvdXJzZSwgdGhlIG1vcmUgc2VjdXJlIHdheSB3b3VsZCBi
ZSB0byB1c2UgZ3JhbnQgbWVtb3J5IG1hcHBpbmcuIEJyaWV0bHksIHRoZSBtYWluIGRpZmZlcmVu
Y2UgYmV0d2VlbiB0aGVtIGlzIHRoYXQgd2l0aCBmb3JlaWduIG1hcHBpbmcgdGhlIGJhY2tlbmQN
Cj4gY2FuIG1hcCBhbnkgZ3Vlc3QgbWVtb3J5IGl0IHdhbnRzIHRvIG1hcCwgYnV0IHdpdGggZ3Jh
bnQgbWFwcGluZyBpdCBpcyBhbGxvd2VkIHRvIG1hcCBvbmx5IHdoYXQgd2FzIHByZXZpb3VzbHkg
Z3JhbnRlZCBieSB0aGUgZnJvbnRlbmQuDQo+DQo+IFNvLCB0aGVyZSBtaWdodCBiZSBhIHByb2Js
ZW0gaWYgd2Ugd2FudCB0byBwcmUtbWFwIHNvbWUgZ3Vlc3QgbWVtb3J5IGluIGFkdmFuY2Ugb3Ig
dG8gY2FjaGUgbWFwcGluZ3MgaW4gdGhlIGJhY2tlbmQgaW4gb3JkZXIgdG8gaW1wcm92ZSBwZXJm
b3JtYW5jZSAoYmVjYXVzZSB0aGUgbWFwcGluZy91bm1hcHBpbmcgZ3Vlc3QgcGFnZXMgZXZlcnkg
cmVxdWVzdCByZXF1aXJlcyBhIGxvdCBvZiBiYWNrIGFuZCBmb3J0aCB0byBYZW4gKyBQMk0gdXBk
YXRlcykuIEluIGEgbnV0c2hlbGwsIGN1cnJlbnRseSwgaW4gb3JkZXIgdG8gbWFwIGEgZ3Vlc3Qg
cGFnZSBpbnRvIHRoZSBiYWNrZW5kIGFkZHJlc3Mgc3BhY2Ugd2UgbmVlZCB0byBzdGVhbCBhIHJl
YWwgcGh5c2ljYWwgcGFnZSBmcm9tIHRoZSBiYWNrZW5kIGRvbWFpbi4gU28sIHdpdGggdGhlIHNh
aWQgb3B0aW1pemF0aW9ucyB3ZSBtaWdodCBlbmQgdXAgd2l0aCBubyBmcmVlIG1lbW9yeSBpbiB0
aGUgYmFja2VuZCBkb21haW4gKHNlZSBYU0EtMzAwKS4gQW5kIHdoYXQgd2UgdHJ5IHRvIGFjaGll
dmUgaXMgdG8gbm90IHdhc3RlIGEgcmVhbCBkb21haW4gbWVtb3J5IGF0IGFsbCBieSBwcm92aWRp
bmcgc2FmZSBub24tYWxsb2NhdGVkLXlldCAoc28gdW51c2VkKSBhZGRyZXNzIHNwYWNlIGZvciB0
aGUgZm9yZWlnbiAoYW5kIGdyYW50KSBwYWdlcyB0byBiZSBtYXBwZWQgaW50bywgdGhpcyBlbmFi
bGluZyB3b3JrIGltcGxpZXMgWGVuIGFuZCBMaW51eCAoYW5kIGxpa2VseSBEVEIgYmluZGluZ3Mp
IGNoYW5nZXMuIEhvd2V2ZXIsIGFzIGl0IHR1cm5lZCBvdXQsIGZvciB0aGlzIHRvIHdvcmsgaW4g
YSBwcm9wZXIgYW5kIHNhZmUgd2F5IHNvbWUgcHJlcmVxIHdvcmsgbmVlZHMgdG8gYmUgZG9uZS4N
Cj4gWW91IGNhbiBmaW5kIHRoZSByZWxhdGVkIFhlbiBkaXNjdXNzaW9uIGF0Og0KPiBodHRwczov
L2xvcmUua2VybmVsLm9yZy94ZW4tZGV2ZWwvMTYyNzQ4OTExMC0yNTYzMy0xLWdpdC1zZW5kLWVt
YWlsLW9sZWtzdHlzaEBnbWFpbC5jb20vDQo+DQo+DQo+ID4gPg0KPiA+ID4NCj4gPiA+ID4gT25l
IHF1ZXN0aW9uIGlzIGhvdyB0byBiZXN0IGhhbmRsZSBub3RpZmljYXRpb24gYW5kIGtpY2tzLiBU
aGUgZXhpc3RpbmcNCj4gPiA+ID4gdmhvc3QtdXNlciBmcmFtZXdvcmsgdXNlcyBldmVudGZkIHRv
IHNpZ25hbCB0aGUgZGFlbW9uIChhbHRob3VnaCBRRU1VDQo+ID4gPiA+IGlzIHF1aXRlIGNhcGFi
bGUgb2Ygc2ltdWxhdGluZyB0aGVtIHdoZW4geW91IHVzZSBUQ0cpLiBYZW4gaGFzIGl0J3Mgb3du
DQo+ID4gPiA+IElPUkVRIG1lY2hhbmlzbS4gSG93ZXZlciBsYXRlbmN5IGlzIGFuIGltcG9ydGFu
dCBmYWN0b3IgYW5kIGhhdmluZw0KPiA+ID4gPiBldmVudHMgZ28gdGhyb3VnaCB0aGUgc3R1YiB3
b3VsZCBhZGQgcXVpdGUgYSBsb3QuDQo+ID4gPg0KPiA+ID4gWWVhaCBJIHRoaW5rLCByZWdhcmRs
ZXNzIG9mIGFueXRoaW5nIGVsc2UsIHdlIHdhbnQgdGhlIGJhY2tlbmRzIHRvDQo+ID4gPiBjb25u
ZWN0IGRpcmVjdGx5IHRvIHRoZSBYZW4gaHlwZXJ2aXNvci4NCj4gPg0KPiA+IEluIG15IGFwcHJv
YWNoLA0KPiA+ICBhKSBCRSAtPiBGRTogaW50ZXJydXB0cyB0cmlnZ2VyZWQgYnkgQkUgY2FsbGlu
ZyBhIGh5cGVydmlzb3IgaW50ZXJmYWNlDQo+ID4gICAgICAgICAgICAgICB2aWEgdmlydGlvLXBy
b3h5DQo+ID4gIGIpIEZFIC0+IEJFOiBNTUlPIHRvIGNvbmZpZyByYWlzZXMgZXZlbnRzIChpbiBl
dmVudCBjaGFubmVscyksIHdoaWNoIGlzDQo+ID4gICAgICAgICAgICAgICBjb252ZXJ0ZWQgdG8g
YSBjYWxsYmFjayB0byBCRSB2aWEgdmlydGlvLXByb3h5DQo+ID4gICAgICAgICAgICAgICAoWGVu
J3MgZXZlbnQgY2hhbm5lbCBpcyBpbnRlcm5uYWxseSBpbXBsZW1lbnRlZCBieSBpbnRlcnJ1cHRz
LikNCj4gPg0KPiA+IEkgZG9uJ3Qga25vdyB3aGF0ICJjb25uZWN0IGRpcmVjdGx5IiBtZWFucyBo
ZXJlLCBidXQgc2VuZGluZyBpbnRlcnJ1cHRzDQo+ID4gdG8gdGhlIG9wcG9zaXRlIHNpZGUgd291
bGQgYmUgYmVzdCBlZmZpY2llbnQuDQo+ID4gSXZzaG1lbSwgSSBzdXBwb3NlLCB0YWtlcyB0aGlz
IGFwcHJvYWNoIGJ5IHV0aWxpemluZyBQQ0kncyBtc2kteCBtZWNoYW5pc20uDQo+DQo+IEFncmVl
IHRoYXQgTVNJIHdvdWxkIGJlIG1vcmUgZWZmaWNpZW50IHRoYW4gU1BJLi4uDQo+IEF0IHRoZSBt
b21lbnQsIGluIG9yZGVyIHRvIG5vdGlmeSB0aGUgZnJvbnRlbmQsIHRoZSBiYWNrZW5kIGlzc3Vl
cyBhIHNwZWNpZmljIGRldmljZS1tb2RlbCBjYWxsIHRvIHF1ZXJ5IFhlbiB0byBpbmplY3QgYSBj
b3JyZXNwb25kaW5nIFNQSSB0byB0aGUgZ3Vlc3QuDQo+DQo+DQo+DQo+ID4gPg0KPiA+ID4gPiBD
b3VsZCB3ZSBjb25zaWRlciB0aGUga2VybmVsIGludGVybmFsbHkgY29udmVydGluZyBJT1JFUSBt
ZXNzYWdlcyBmcm9tDQo+ID4gPiA+IHRoZSBYZW4gaHlwZXJ2aXNvciB0byBldmVudGZkIGV2ZW50
cz8gV291bGQgdGhpcyBzY2FsZSB3aXRoIG90aGVyIGtlcm5lbA0KPiA+ID4gPiBoeXBlcmNhbGwg
aW50ZXJmYWNlcz8NCj4gPiA+ID4NCj4gPiA+ID4gU28gYW55IHRob3VnaHRzIG9uIHdoYXQgZGly
ZWN0aW9ucyBhcmUgd29ydGggZXhwZXJpbWVudGluZyB3aXRoPw0KPiA+ID4NCj4gPiA+IE9uZSBv
cHRpb24gd2Ugc2hvdWxkIGNvbnNpZGVyIGlzIGZvciBlYWNoIGJhY2tlbmQgdG8gY29ubmVjdCB0
byBYZW4gdmlhDQo+ID4gPiB0aGUgSU9SRVEgaW50ZXJmYWNlLiBXZSBjb3VsZCBnZW5lcmFsaXpl
IHRoZSBJT1JFUSBpbnRlcmZhY2UgYW5kIG1ha2UgaXQNCj4gPiA+IGh5cGVydmlzb3IgYWdub3N0
aWMuIFRoZSBpbnRlcmZhY2UgaXMgcmVhbGx5IHRyaXZpYWwgYW5kIGVhc3kgdG8gYWRkLg0KPiA+
DQo+ID4gQXMgSSBzYWlkIGFib3ZlLCBteSBwcm9wb3NhbCBkb2VzIHRoZSBzYW1lIHRoaW5nIHRo
YXQgeW91IG1lbnRpb25lZCBoZXJlIDopDQo+ID4gVGhlIGRpZmZlcmVuY2UgaXMgdGhhdCBJIGRv
IGNhbGwgaHlwZXJ2aXNvciBpbnRlcmZhY2VzIHZpYSB2aXJ0aW8tcHJveHkuDQo+ID4NCj4gPiA+
IFRoZSBvbmx5IFhlbi1zcGVjaWZpYyBwYXJ0IGlzIHRoZSBub3RpZmljYXRpb24gbWVjaGFuaXNt
LCB3aGljaCBpcyBhbg0KPiA+ID4gZXZlbnQgY2hhbm5lbC4gSWYgd2UgcmVwbGFjZWQgdGhlIGV2
ZW50IGNoYW5uZWwgd2l0aCBzb21ldGhpbmcgZWxzZSB0aGUNCj4gPiA+IGludGVyZmFjZSB3b3Vs
ZCBiZSBnZW5lcmljLiBTZWU6DQo+ID4gPiBodHRwczovL2dpdGxhYi5jb20veGVuLXByb2plY3Qv
eGVuLy0vYmxvYi9zdGFnaW5nL3hlbi9pbmNsdWRlL3B1YmxpYy9odm0vaW9yZXEuaCNMNTINCj4g
PiA+DQo+ID4gPiBJIGRvbid0IHRoaW5rIHRoYXQgdHJhbnNsYXRpbmcgSU9SRVFzIHRvIGV2ZW50
ZmQgaW4gdGhlIGtlcm5lbCBpcyBhDQo+ID4gPiBnb29kIGlkZWE6IGlmIGZlZWxzIGxpa2UgaXQg
d291bGQgYmUgZXh0cmEgY29tcGxleGl0eSBhbmQgdGhhdCB0aGUNCj4gPiA+IGtlcm5lbCBzaG91
bGRuJ3QgYmUgaW52b2x2ZWQgYXMgdGhpcyBpcyBhIGJhY2tlbmQtaHlwZXJ2aXNvciBpbnRlcmZh
Y2UuDQo+ID4NCj4gPiBHaXZlbiB0aGF0IHdlIG1heSB3YW50IHRvIGltcGxlbWVudCBCRSBhcyBh
IGJhcmUtbWV0YWwgYXBwbGljYXRpb24NCj4gPiBhcyBJIGRpZCBvbiBaZXBoeXIsIEkgZG9uJ3Qg
dGhpbmsgdGhhdCB0aGUgdHJhbnNsYXRpb24gd291bGQgbm90IGJlDQo+ID4gYSBiaWcgaXNzdWUs
IGVzcGVjaWFsbHkgb24gUlRPUydzLg0KPiA+IEl0IHdpbGwgYmUgc29tZSBraW5kIG9mIGFic3Ry
YWN0aW9uIGxheWVyIG9mIGludGVycnVwdCBoYW5kbGluZw0KPiA+IChvciBub3RoaW5nIGJ1dCBh
IGNhbGxiYWNrIG1lY2hhbmlzbSkuDQo+ID4NCj4gPiA+IEFsc28sIGV2ZW50ZmQgaXMgdmVyeSBM
aW51eC1jZW50cmljIGFuZCB3ZSBhcmUgdHJ5aW5nIHRvIGRlc2lnbiBhbg0KPiA+ID4gaW50ZXJm
YWNlIHRoYXQgY291bGQgd29yayB3ZWxsIGZvciBSVE9TZXMgdG9vLiBJZiB3ZSB3YW50IHRvIGRv
DQo+ID4gPiBzb21ldGhpbmcgZGlmZmVyZW50LCBib3RoIE9TLWFnbm9zdGljIGFuZCBoeXBlcnZp
c29yLWFnbm9zdGljLCBwZXJoYXBzDQo+ID4gPiB3ZSBjb3VsZCBkZXNpZ24gYSBuZXcgaW50ZXJm
YWNlLiBPbmUgdGhhdCBjb3VsZCBiZSBpbXBsZW1lbnRhYmxlIGluIHRoZQ0KPiA+ID4gWGVuIGh5
cGVydmlzb3IgaXRzZWxmIChsaWtlIElPUkVRKSBhbmQgb2YgY291cnNlIGFueSBvdGhlciBoeXBl
cnZpc29yDQo+ID4gPiB0b28uDQo+ID4gPg0KPiA+ID4NCj4gPiA+IFRoZXJlIGlzIGFsc28gYW5v
dGhlciBwcm9ibGVtLiBJT1JFUSBpcyBwcm9iYWJseSBub3QgYmUgdGhlIG9ubHkNCj4gPiA+IGlu
dGVyZmFjZSBuZWVkZWQuIEhhdmUgYSBsb29rIGF0DQo+ID4gPiBodHRwczovL21hcmMuaW5mby8/
bD14ZW4tZGV2ZWwmbT0xNjIzNzM3NTQ3MDUyMzMmdz0yLiBEb24ndCB3ZSBhbHNvIG5lZWQNCj4g
PiA+IGFuIGludGVyZmFjZSBmb3IgdGhlIGJhY2tlbmQgdG8gaW5qZWN0IGludGVycnVwdHMgaW50
byB0aGUgZnJvbnRlbmQ/IEFuZA0KPiA+ID4gaWYgdGhlIGJhY2tlbmQgcmVxdWlyZXMgZHluYW1p
YyBtZW1vcnkgbWFwcGluZ3Mgb2YgZnJvbnRlbmQgcGFnZXMsIHRoZW4NCj4gPiA+IHdlIHdvdWxk
IGFsc28gbmVlZCBhbiBpbnRlcmZhY2UgdG8gbWFwL3VubWFwIGRvbVUgcGFnZXMuDQo+ID4NCj4g
PiBNeSBwcm9wb3NhbCBkb2N1bWVudCBtaWdodCBoZWxwIGhlcmU7IEFsbCB0aGUgaW50ZXJmYWNl
cyByZXF1aXJlZCBmb3INCj4gPiB2aXJ0aW8tcHJveHkgKG9yIGh5cGVydmlzb3ItcmVsYXRlZCBp
bnRlcmZhY2VzKSBhcmUgbGlzdGVkIGFzDQo+ID4gUlBDIHByb3RvY29scyA6KQ0KPiA+DQo+ID4g
PiBUaGVzZSBpbnRlcmZhY2VzIGFyZSBhIGxvdCBtb3JlIHByb2JsZW1hdGljIHRoYW4gSU9SRVE6
IElPUkVRIGlzIHRpbnkNCj4gPiA+IGFuZCBzZWxmLWNvbnRhaW5lZC4gSXQgaXMgZWFzeSB0byBh
ZGQgYW55d2hlcmUuIEEgbmV3IGludGVyZmFjZSB0bw0KPiA+ID4gaW5qZWN0IGludGVycnVwdHMg
b3IgbWFwIHBhZ2VzIGlzIG1vcmUgZGlmZmljdWx0IHRvIG1hbmFnZSBiZWNhdXNlIGl0DQo+ID4g
PiB3b3VsZCByZXF1aXJlIGNoYW5nZXMgc2NhdHRlcmVkIGFjcm9zcyB0aGUgdmFyaW91cyBlbXVs
YXRvcnMuDQo+ID4NCj4gPiBFeGFjdGx5LiBJIGhhdmUgbm8gY29uZmlkZW50IHlldCB0aGF0IG15
IGFwcHJvYWNoIHdpbGwgYWxzbyBhcHBseQ0KPiA+IHRvIG90aGVyIGh5cGVydmlzb3JzIHRoYW4g
WGVuLg0KPiA+IFRlY2huaWNhbGx5LCB5ZXMsIGJ1dCB3aGV0aGVyIHBlb3BsZSBjYW4gYWNjZXB0
IGl0IG9yIG5vdCBpcyBhIGRpZmZlcmVudA0KPiA+IG1hdHRlci4NCj4gPg0KPiA+IFRoYW5rcywN
Cj4gPiAtVGFrYWhpcm8gQWthc2hpDQo+DQo+DQo+DQo+IC0tDQo+IFJlZ2FyZHMsDQo+DQo+IE9s
ZWtzYW5kciBUeXNoY2hlbmtvDQpJTVBPUlRBTlQgTk9USUNFOiBUaGUgY29udGVudHMgb2YgdGhp
cyBlbWFpbCBhbmQgYW55IGF0dGFjaG1lbnRzIGFyZSBjb25maWRlbnRpYWwgYW5kIG1heSBhbHNv
IGJlIHByaXZpbGVnZWQuIElmIHlvdSBhcmUgbm90IHRoZSBpbnRlbmRlZCByZWNpcGllbnQsIHBs
ZWFzZSBub3RpZnkgdGhlIHNlbmRlciBpbW1lZGlhdGVseSBhbmQgZG8gbm90IGRpc2Nsb3NlIHRo
ZSBjb250ZW50cyB0byBhbnkgb3RoZXIgcGVyc29uLCB1c2UgaXQgZm9yIGFueSBwdXJwb3NlLCBv
ciBzdG9yZSBvciBjb3B5IHRoZSBpbmZvcm1hdGlvbiBpbiBhbnkgbWVkaXVtLiBUaGFuayB5b3Uu
DQo=


From xen-devel-bounces@lists.xenproject.org Mon Aug 16 10:26:13 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 10:26:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167253.305263 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFZoe-0004Ut-My; Mon, 16 Aug 2021 10:26:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167253.305263; Mon, 16 Aug 2021 10: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 1mFZoe-0004Um-Jm; Mon, 16 Aug 2021 10:26:00 +0000
Received: by outflank-mailman (input) for mailman id 167253;
 Mon, 16 Aug 2021 10:25:58 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uRT6=NH=invisiblethingslab.com=marmarek@srs-us1.protection.inumbo.net>)
 id 1mFZoc-0004Ug-NO
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 10:25:58 +0000
Received: from wout5-smtp.messagingengine.com (unknown [64.147.123.21])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 57b6e6e8-fe7c-11eb-a452-12813bfff9fa;
 Mon, 16 Aug 2021 10:25:57 +0000 (UTC)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id 7E07F3200903;
 Mon, 16 Aug 2021 06:25:55 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute6.internal (MEProxy); Mon, 16 Aug 2021 06:25:56 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 16 Aug 2021 06:25: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: 57b6e6e8-fe7c-11eb-a452-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=09soMf
	DyDlFP7loLQAuRNw6NuoM+NouSETA1RvVGBKs=; b=GWkCB4ly2+UZlSZKXtvKjh
	uuF0xXoka0/MvEIHoMHHYYD8V3z2F1HuqY4O6fA55+pRjOj6giJRHCTvquIu17Bc
	6EbUBKlmaY1kCzT7m4tfZFMycnOdrMEGzV2p/Mf18CkgpwfU8F1rHGlZcBuVt75u
	jVDtE8AIIHcO/svnyX8uejb5KqXUUSJsXJ1R/yUWBjM9z0NmiVx8RfMo7wDu/Sm/
	UE2ZDhIJq7Lu0ywDBKiom6gjDVbpUbxN+FahKGU+LdFfat62Kwrbu2m0ahygYgwT
	OLBQ0a59CpIwrp+R+nKdTmhqyup7m1sMPTs3MY7Yucy4TKJDab1pL3AQGts9d1QQ
	==
X-ME-Sender: <xms:Mj0aYayNgpRor_ss4TC5ZrQ-yclb2hRwhsqhpm7Wimd16m89vqrEXQ>
    <xme:Mj0aYWT2ZJH-RDTKiu2Gkw4lR33lGvQVRJf5pK--q5rKp_WMeg2ZsT9__CyGQQu5M
    k58con3pFpLkw>
X-ME-Received: <xmr:Mj0aYcUY63CklJaMSPZ97z2x4QgH-TGkhzlwfyx_fQ0mQIramlN8ouE6EC9ADu9Ahl0AZIH6icyzoLivWXG2GTh1ssfrVq8S>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrledugddvjecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgvkhcu
    ofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinhhvih
    hsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepteekleeh
    heeiudejkeelvddtleehgffgueekkeekfeehtdevudfgtdelueejieeunecuffhomhgrih
    hnpehmrgiglhhinhgvrghrrdgtohhmnecuvehluhhsthgvrhfuihiivgeptdenucfrrghr
    rghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhngh
    hslhgrsgdrtghomh
X-ME-Proxy: <xmx:Mj0aYQj22TxBRdjWK8xUET_hMaQia_ofLA6fecdzcaOBmw5x2jGUmw>
    <xmx:Mj0aYcC1fLcsr6PVlZcAp9dokMvINU_4L_4FbM8OCxBCEv3sU8hGdQ>
    <xmx:Mj0aYRJ_Srn5fWnHkmK7oL2SxPicKIvJh7gRrTRW6xsE_TnMwiWZKw>
    <xmx:Mz0aYb4I9kgNCX4r2roImJKIdgGRz8cUYTtYNDfGoJFbHNw3sydVGQ>
Date: Mon, 16 Aug 2021 12:25:50 +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>,
	Ian Jackson <iwj@xenproject.org>, 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] ns16550: add Exar dual PCIe UART card support
Message-ID: <YRo9LrkAhkDSF1iq@mail-itl>
References: <20210813183139.391546-1-marmarek@invisiblethingslab.com>
 <20210813183139.391546-2-marmarek@invisiblethingslab.com>
 <0326eebe-2ec8-1c2d-bf2c-8cb4c16312af@suse.com>
 <YRokMeJ2bMLAZFD4@mail-itl>
 <7e88f6f7-afd6-d12c-8a14-a5c3853d0a90@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="sv90lLm1Hp4VaMCV"
Content-Disposition: inline
In-Reply-To: <7e88f6f7-afd6-d12c-8a14-a5c3853d0a90@suse.com>


--sv90lLm1Hp4VaMCV
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Mon, 16 Aug 2021 12:25:50 +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>,
	Ian Jackson <iwj@xenproject.org>, 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] ns16550: add Exar dual PCIe UART card support

On Mon, Aug 16, 2021 at 11:18:31AM +0200, Jan Beulich wrote:
> On 16.08.2021 10:39, Marek Marczykowski-G=C3=B3recki wrote:
> > On Mon, Aug 16, 2021 at 09:55:16AM +0200, Jan Beulich wrote:
> >> On 13.08.2021 20:31, Marek Marczykowski-G=C3=B3recki wrote:
> >>> Besides standard UART setup, this device needs enabling
> >>> (vendor-specific) "Enhanced Control Bits" - otherwise disabling hardw=
are
> >>> control flow (MCR[2]) is ignored. Add appropriate quirk to the
> >>> ns16550_setup_preirq(), similar to the handle_dw_usr_busy_quirk(). The
> >>> new function act on Exar cards only (based on vendor ID).
> >>
> >> While on IRC you did say you have a datasheet or alike for the specific
> >> card you have in use, may I ask that you clarify why the logic is
> >> applicable to all (past, present, and future) Exar cards?
> >=20
> > The spec I looked is specifically about 2-port variant (XR17V352), but
> > there are also 4 and 8 port variants (XR17V354 and XR17V358) and the
> > Linux driver applies this change there as well. But indeed applying it
> > to all the future cards may not be the smartest thing to do.
> >=20
> > The Linux driver checks Exar specific register to identify the device,
> > instead of using PCI product ID, for some reason - I guess they use the
> > same chip in different devices?
> > Would you like thing like that (after checking vendor id), or turn it on
> > just for this product id I have?
>=20
> Hard to tell without knowing whether the extra reg - as per the spec -
> is connected to any of these. Is the spec you have publicly available?

Yes, here: https://www.maxlinear.com/document/index?id=3D1585&languageid=3D=
1033&type=3DDatasheet&partnumber=3DXR17V352&filename=3DXR17V352.pdf&part=3D=
XR17V352
(and few more links on https://www.maxlinear.com/product/interface/uarts/pc=
ie-uarts/xr17v352, but mostly the above PDF)

Hmm, maybe I should add the link to the commit message?

> If so, could you share a pointer? If not, are you permitted to share
> the spec?
>=20
> >>> @@ -169,6 +170,21 @@ static void handle_dw_usr_busy_quirk(struct ns16=
550 *uart)
> >>>      }
> >>>  }
> >>> =20
> >>> +static void enable_exar_enhanced_bits(struct ns16550 *uart)
> >>> +{
> >>> +#ifdef NS16550_PCI
> >>> +    if ( uart->bar &&
> >>> +         pci_conf_read16(PCI_SBDF(0, uart->ps_bdf[0], uart->ps_bdf[2=
],
> >>> +                         uart->ps_bdf[2]), PCI_VENDOR_ID) =3D=3D PCI=
_VENDOR_ID_EXAR )
> >>> +    {
> >>> +        /* Exar cards ignores setting MCR[2] (hardware flow control)=
 unless
> >>> +         * "Enhanced control bits" is enabled.
> >>> +         */
> >>
> >> Style nit: /* belongs on its own line as per ./CODING_STYLE.
> >>
> >>> +        ns_write_reg(uart, UART_XR_EFR, UART_EFR_ECB);
> >>
> >> Wouldn't this better be a read-modify-write operation?
> >=20
> > Honestly, I'm simply mirroring Linux driver behavior here. But also,
> > all the bits in EFR are 0 after device reset, so it should work fine.
>=20
> Firmware or a boot loader may play with hardware before Xen takes control.
> I'm also not convinced there would have been a device reset in all cases
> where execution may make it here. (Note in particular that the function
> and its caller aren't __init.)
>=20
> A plain write might be okay if the spec for devices with the specific
> device ID documented all other bits as "must be zero" ("reserved" would
> not be sufficient imo), and if the function was invoked for only such
> devices.

Other bits are defined and are things IMO we want to keep disabled. See top
of the page 40 in the PDF.

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--sv90lLm1Hp4VaMCV
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmEaPS4ACgkQ24/THMrX
1yzLRwf9HIsHAsFTdIcjp+A8etH5TAZ1DDXAmM8ZM3oYDvNkCcWsxf/h04m+hjq7
A9lIMbz+N/ff5RtTs2ZSRMKe5KQ7VTF9Kh3wB13jlQEga0JRaa3RQDC8hVicMs4A
54U1NEVXHLAdxyMBlOIPYM0LYmGrLA7Sw/sPxNxJPS6npPjdzk+sesxK1gImCnkB
0v3oU61tSs3gUoFF0ekphtB5X1iT2u5bwDmXwZEE7piG5IrZAv/eiJQwvQ0hxVOL
m5kV4WjSHQpF730BB1uGG4ArslWLZo8qe/WFOMJD2+RX3wKUpgo6loVtrgxV2e4R
CE1BA8Ys+GacBXzkGtpJQiD8lrqTQA==
=Dzf2
-----END PGP SIGNATURE-----

--sv90lLm1Hp4VaMCV--


From xen-devel-bounces@lists.xenproject.org Mon Aug 16 10:32:12 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 10:32:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167258.305274 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFZuV-0005w3-Dy; Mon, 16 Aug 2021 10:32:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167258.305274; Mon, 16 Aug 2021 10: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 1mFZuV-0005vw-AF; Mon, 16 Aug 2021 10:32:03 +0000
Received: by outflank-mailman (input) for mailman id 167258;
 Mon, 16 Aug 2021 10:32:02 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Flmd=NH=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mFZuT-0005vo-Sp
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 10:32:02 +0000
Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id bb00ea9b-1f6c-4330-b265-d506aee2a75f;
 Mon, 16 Aug 2021 10:32: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: bb00ea9b-1f6c-4330-b265-d506aee2a75f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629109920;
  h=to:cc:references:from:subject:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=orKZuIT7n/wKuPPsjaxRVAutlRfxC5UU9XrpFxFbks0=;
  b=Q2Pw/5LT81zGWlHd6OBP5bJyirYHcRq9JYLrsx8RZUdVnRKEG6cU+ncJ
   BIRdtKZpfc+WiP5M0UAklsmcu2gQjXQ86MmNejWyhyXyiDFPflMyH8lt/
   SFn4ZU3OwkIVvtg0+YeMvRF3354S8jA3FAUn/U6jd7gCatd5w8a3BrN/K
   U=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: wOnH8AmcZEloZjRx8aOQw4/v4dIXWNv5KJLd/W4Oyw8xMdLp9xnZsquuRNATv27iDGFgEKC1sI
 mNAyZyg4PQ0g9Z4zIUKV8GxO0KWHuuQpf+Ph+oJ2d26TzXyaJ+QdYf9gOSkGeNizO0bIX/DowV
 3us81Rau/Yw+VQGA1H5zfTJ74t37xfYp6SJbTixzC+bGBhjlrpSDUTqC6cYrUV7anK6pDAQWEr
 54gMIwsM4fAo1ZapqUstEpIANe27AvhywqAWsQMk1Ov7e4BXsWoNY/6ApvsogY/97P/s8W9+s8
 ASog3i5E3ZWeb09cOp7PBoym
X-SBRS: 5.1
X-MesageID: 50531046
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:SQzKgqxaUpUYos1gFZuIKrPwG71zdoMgy1knxilNoHtuHvBw9v
 rAoB1/73TJYVkqNk3I9ergBEDjewK4yXcF2+ks1N6ZNWGN1VdASrsSjrcK7AeQfREWndQtsZ
 uIHZIOauHYPBxXitv7/Rn9M/tI+qj+zElwv5am85/mJzsaDJ1d0w==
X-IronPort-AV: E=Sophos;i="5.84,324,1620705600"; 
   d="scan'208";a="50531046"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eVwzTJnW4E6upXmNl79lb8qsWH/Zpv9DnaKFqdahbfapnHwsKtsUiAVVeJcASbJEzYxsG4Quj6wnvWOzHqtvvCFCSj7aYuxW/IrdesN7ndTRp42tqV08ZtZ+YmFVdQDI9NgBU50aYlj/NUcfUuMgLJ5TJDadj/8JGwdNP3YSRTLhSD9x9khCddoI5WNefxiun4wPx4NtXFCfFvrrOzebow9BbCNX7D2q7gSopbxND397T0G0SxrUW7egh8cLGap8g0RcRSbmEKJN0ReST4LxXj0aUFX2FDgIWEd0+o25hXNaGq/OZsEebBDmMleeBq6jI2IwBYNJAhyLBVSJxRENCQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=u94Ph1b3saNQ/nnS2pLXJOXiK8NtOEiZm3XUeuodqZA=;
 b=i/GiPBdlAN5GDrValfokV3okx6lC+HfQRoEpXygxfSbg1xb5FiyXl7Iv8adROm4LpQx2DE/HXnwR6n/jW8Wz+dKUXu+NZkUUpYOfFLHk+JJx1OYO9/cA8018ssgt8eN4xwR/d0cQFAdVyBNcUDBc35oKd99mSf8MKWXXgsFuo1bMy0CWViKc41rP89poIjsVYic2VezGl1kHeSmJ+GlPaSCnhVB/T7nfCbEnDMukCboAIrzCMobkZK9rVGYtfYleNVPfbG7lHCthu0dTU9oMQPFGUH4/ZuDwQU4xxZf7SgVRaIFI0Ox9eDR9CD8aXPaxxi85r3cUa2DzfCiNymNxvw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=u94Ph1b3saNQ/nnS2pLXJOXiK8NtOEiZm3XUeuodqZA=;
 b=QeTTequfIXO8QtfISY/hGOeq3fCWQbyrlihBggLTWUuNyvl10bvw8AdhgAK00xec8Ee2rWyiKkliaIg+9YIu6Xp9kuYADOmum/N7MOMPT6TbZ0oyZn1iT6N06RYuB7jrjb4byYszr1ITPS8AgyDGH24dZTI4VDSehWA/Q27CGP4=
To: Jan Beulich <jbeulich@suse.com>
CC: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
	<marmarek@invisiblethingslab.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20210812170350.23543-1-andrew.cooper3@citrix.com>
 <94239a81-1d8a-e6ec-f572-9c8d5f3ec50f@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] x86/cet: Fix shskt manipulation error with
 BUGFRAME_{warn,run_fn}
Message-ID: <1c1f92bd-f8de-d21c-6dfa-2bb811f7b814@citrix.com>
Date: Mon, 16 Aug 2021 11:31:51 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <94239a81-1d8a-e6ec-f572-9c8d5f3ec50f@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-GB
X-ClientProxiedBy: LO2P265CA0230.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:b::26) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ffba540d-8284-4067-10a5-08d960a11310
X-MS-TrafficTypeDiagnostic: SJ0PR03MB5854:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <SJ0PR03MB5854E6236CDAE9075551E6ECBAFD9@SJ0PR03MB5854.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: uB3BHR0Id2rLMplaeKpv9HdqVHeZENUD+pV5A1FHGlAlKiMlu6Wbrn1z/CcXSOF2hQOuIbFYtTaXs3Ytqw/Prg/iYNCUmT40SHJSiDykowRQnauJzlunSRbesZcI3UlI3BuHIKkelHM7AYGpv3HW6dJdzwlo1zWzlXYdHRiElGppAWArKyJSBWSwcmiA548Lb7h1bm8g3zDPTTMZQdwqTgB+VCblqjptNQ7c8tl8QpW5/8PkE4T+0FAncC0J3a+O6+tB2wHNuKFtxBmcCW8y2Dw2nsQsLdl7qxcOhzijYq89fw+uBcnRk7XE8dvN4E6/xF7tbOWuOS10gNf9PwsrFmwoluwOvBabt9cokbaFi4PUpzH6a01c8BmEeipb46Mju507dYCja6ZvZIsCVvU5ZbGcPcDbm6zcQJTMF3ItwXiu+C0d/IIhRUSv4Us9r+LrIrp9Eb8zNhY8WbjDkRp2mjjveOYH/mU7k4QVMibznDyw7Z8irg1SYhrA1IleKvxcL/HGLlEjWKhp2KFt3lTFJ9xb8NE/99eYSa2QylkTGAcDWTENXNjALWeGWL/U0dB4c2RkHNFTKAxymJPeGFCOEjY1jOWbM8E+lSJ4Siem7VRNmPwDRpQQgd61FLRfm1nhNPg1UKAKFk6md8JKcBYFDgUe4PJtjgGGvcakakR1B0fJcLUCxpBSmpA8t5beP45mS7/Nf670opzS5DKHUFH4KPxi/o85VPLVuPvxC2eZ9Vs=
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:(4636009)(376002)(396003)(366004)(346002)(136003)(39860400002)(6666004)(31686004)(66946007)(66476007)(86362001)(316002)(54906003)(53546011)(66556008)(16576012)(31696002)(4326008)(83380400001)(956004)(186003)(2616005)(66574015)(478600001)(36756003)(8936002)(26005)(6486002)(38100700002)(6916009)(5660300002)(8676002)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?WHU0SFAwSTVQYnFadHZ5WVE0NmNXL2VUdW1nVTZiUG5oeU9KdmNkMDJ6M2hS?=
 =?utf-8?B?dkZiVHN2cUNOM1kyZEJZNzZHNTZpTFJZWHYrTWhQem5pQytQUUV3V2w0WUl4?=
 =?utf-8?B?cmJJWjRYTm5LNndvY0krQ2xXRjVqcjNjSk1zZVZaREREQTdhbkNhZ3h0aERE?=
 =?utf-8?B?bGRPN21LREhoODV5ck55bGl1dk5ReEY0MnBlTTVObHJHYUFCZk5BZnpacmZC?=
 =?utf-8?B?RzlQSC9nbURNdmFsSjJsSjA2MUttdk5pZHBYNFVYdzlUUmJBSW5YOThDVVB1?=
 =?utf-8?B?RzY4Wk9nakRlYXcwR3BBaStaSUpvNlg1cXk4dk1MenREeER2Z3p5M0ZJRHcv?=
 =?utf-8?B?REZhSGMzbUNoTktSK3NGNkpqbXRmcnJFbFhwZ2hsQkhlZTAzRjdpTW5idVNF?=
 =?utf-8?B?MWE4UUdpcG9KT0MrejNuUkRpb0tSeFMwMTk2Y0M4dEI0U0RiQWZ1cHlWYmJ5?=
 =?utf-8?B?WEpqRXUyelg0dGRVV3N3dDBmOExYMFV5VjZPM1FnTk1PbjkzS2RHbkFGRVN1?=
 =?utf-8?B?SjlMVUlYaHBKekxxeUQrcWlyNDdEcEdsVldRSVBsdTlkYkNtYnNFVG9Wcndw?=
 =?utf-8?B?VldKYVYzU2V2S1JMbkdObExIMDV0U1lFbjh4QU5tWEQ1YU5GelZKM3pmbGU4?=
 =?utf-8?B?Smh6Sm9Nd0JGWnN2R1BiTFVxdDVHaEZSVS91OHdtYWU2aDZEQnNCNWpKYXVM?=
 =?utf-8?B?L0dhdXFlYnBoaHJnRUI1L3lPdGFXSXFmSUNYMDlucWdEaUtyUGVhOXdac2Jz?=
 =?utf-8?B?WXVLQTlXMU11ejdmcXB4eEdCbDJOemovTGVYUjV0S21VTkRhendtckdpNk1z?=
 =?utf-8?B?Nmxzcm03elhPbkp6MXB5U08yNy9TcmROcFFDRGNWZ2lNbWdHUFpDaU9qUVdr?=
 =?utf-8?B?eVZWcnlaMHhDQXlMeUZXeWFDbzlXTVNCYWZHQ2ZxSXlkbkVYRDQwN0VxRURH?=
 =?utf-8?B?am8rMTVSdkkwS0FnWjA2NDRKK3Q2ZVpXVkNnSUFoR3YvMzcraHBxcjVKRS80?=
 =?utf-8?B?d3NUTDhNb2xZdVZpczRiWnR0NWZRZ1YzOWRXQjBkUGFZb3UycGpBSkQyaW1r?=
 =?utf-8?B?NE1LZU43dTVBbUdRSFZmNXVPWVhPRUZCdVRYeC9HK3dDbjJxWThJVHAwQSs3?=
 =?utf-8?B?eC9XYnNzRjBISm11VTI3WVY3WElSZEJRMXFmeU5vOVdOdVZiaURFRDVkUXk4?=
 =?utf-8?B?MFZUbG1OT1VKR1lscmpnTVY4MWJqaHN3NkNnRG1pNHMxZ1BReUhxNFJERnUz?=
 =?utf-8?B?NEtpekpQTG5rRGZrWlUrSkFsdlBzak5YNmdNcU11Y29qUThTTDgwakJPRmxs?=
 =?utf-8?B?eC92bnk2QkhKaXRDQiswT3plb2k4ZkNWcGVPTUp6U2paaDhMbnltQ1ZHN0lO?=
 =?utf-8?B?V2lDMnB4b2FrNnlkVjhyYnZzNDlVdUdWd1pXUzM4aythUUxlRTI2WHVRa3F6?=
 =?utf-8?B?VFJHR1k3Q0wzVlZ1L1drbUlUS1Nsald2SVQvNDM1eWYwRDJRbmxKWUN3ZzQ5?=
 =?utf-8?B?K2pZWFE0endYR0V0K1RCOEU2Ujd2L2t2V1RrYmxEU2hIVTcySGVZU1VMV2do?=
 =?utf-8?B?Vi9rQkZzVUllSjZPMjd6ZXF3R1ZnZHpXdUJ3Z2loZGZEL3NSY2pPK2lBT09Y?=
 =?utf-8?B?M0Ezc1BhV2F1TWZLZzFvRTdISVE0NXFhbmJjWjRvOG1vRzMwWXVRQXZOSUhJ?=
 =?utf-8?B?Q1orVEFtUDJ6ZkFUQjJRaHQ5akFNTVBSMmxZeUV2aGhuRFNVZkE1dDYzcmhz?=
 =?utf-8?Q?eJ3e8aH+KKp7vk79WR4MZq37tMqJOQ3v3OUDEzJ?=
X-MS-Exchange-CrossTenant-Network-Message-Id: ffba540d-8284-4067-10a5-08d960a11310
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2021 10:31:57.6556
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: kzPu5c5m61r0/qzZMy0A4bigaXfXJqZRPWQ9OYzSTgk5dmF1ObL3j4/5Ur7EHlESdehBO64mU/YSbW5z9MjXmrIXd/l46cj7/hu9lWzoOCE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5854
X-OriginatorOrg: citrix.com

On 13/08/2021 15:00, Jan Beulich wrote:
> On 12.08.2021 19:03, Andrew Cooper wrote:
>> This was a clear oversight in the original CET work.  The BUGFRAME_run_f=
n and
>> BUGFRAME_warn paths update regs->rip without an equivlenet adjustment to=
 the
>> shadow stack, causes IRET to suffer #CP due to the mismatch.
>>
>> One subtle, and therefore fragile, aspect of extable_shstk_fixup() was t=
hat it
>> required regs->rip to have its old value as a cross-check that the corre=
ct
>> word in the shadow stack was being adjusted.
>>
>> Rework extable_shstk_fixup() into fixup_exception_return() which takes
>> ownership of the update to both the regular and shadow stacks, ensuring =
that
>> the regs->rip update is ordered suitably.
>>
>> Use the new fixup_exception_return() for BUGFRAME_run_fn and BUGFRAME_wa=
rn to
>> ensure that the shadow stack is updated too.
>>
>> Fixes: 209fb9919b50 ("x86/extable: Adjust extable handling to be shadow =
stack compatible")
>> Reported-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingsla=
b.com>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks.

>
>> I'm not a massive fan of the large ifdef area.  The logic could be rearr=
anged
>> to use IS_ENABLED(CONFIG_XEN_SHSTK) by indenting most of the function, b=
ut I
>> can't see any way to drop the goto's, and this is certainly the least-in=
vasive
>> diff.
> It's not really neat, but we've got worse code elsewhere.
>
> I wonder whether gdb_arch_resume() and gdb_arch_write_reg() also
> need some sort of similar adjustment.

Hmm.

So there's nothing we can do right now, because GDB has yet to gain an
understanding of shadow stacks (or rather, the prototype so far is still
under discussion on LKML, given that CET support has yet to be included
into Linux).

Beyond that, I haven't seen gdbstub modified in a decade, nor have I
found anyone who's used it.=C2=A0 I'd be astounded if it actually works.

I think its fine for people using GDB to know that they need to turn off
CET first, but I don't expect anyone to have a pleasant time trying to
use gdbstub to begin with in Xen.

~Andrew



From xen-devel-bounces@lists.xenproject.org Mon Aug 16 10:34:26 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 10:34:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167264.305285 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFZwn-0006av-S6; Mon, 16 Aug 2021 10:34:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167264.305285; Mon, 16 Aug 2021 10: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 1mFZwn-0006ao-On; Mon, 16 Aug 2021 10:34:25 +0000
Received: by outflank-mailman (input) for mailman id 167264;
 Mon, 16 Aug 2021 10: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 1mFZwm-0006ae-Kv; Mon, 16 Aug 2021 10: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 1mFZwm-0002zN-EO; Mon, 16 Aug 2021 10: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 1mFZwm-0007mE-2t; Mon, 16 Aug 2021 10:34:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mFZwm-0007fi-1w; Mon, 16 Aug 2021 10: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=8jE9z8NAuTy63xcLrZ0FZ3zXHbp1q9tyEePw8+oeSck=; b=6jrTk1ZPizETQFhnVy4trGE+Eg
	oDXzx9Kd4tyfdTMmgyM3fNv1v8glxqp7YYiclUrXZ+6iaJsxyh369kJbqr29BjwvywakvE7xoEbND
	CNC/WxNd8aAhr8QCohcFLgjZ7NBEgULq+XpkypyCgVW41xD0iafZnxagcNvDBortkJS0=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164196-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 164196: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    linux-5.4:test-armhf-armhf-libvirt:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-arndale:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-credit1:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-credit2:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-credit2:host-install(5):broken:regression
    linux-5.4:test-armhf-armhf-xl-arndale:host-install(5):broken:regression
    linux-5.4:test-armhf-armhf-xl-credit1:host-install(5):broken:regression
    linux-5.4:test-armhf-armhf-xl:host-install(5):broken:regression
    linux-5.4:test-armhf-armhf-libvirt:host-install(5):broken:regression
    linux-5.4:test-armhf-armhf-examine:host-install:broken:regression
    linux-5.4:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:regression
    linux-5.4:test-amd64-amd64-amd64-pvgrub:debian-di-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-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-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt: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-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1: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-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-libvirt-xsm: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-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=b704883aa8dc4d1d232d3a3cdc438a64889fcc6e
X-Osstest-Versions-That:
    linux=e350cd02e293be9a6b93398b2d3ff1edf7695ab2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 16 Aug 2021 10:34:24 +0000

flight 164196 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164196/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-libvirt        <job status>                 broken
 test-armhf-armhf-xl             <job status>                 broken
 test-armhf-armhf-xl-arndale     <job status>                 broken
 test-armhf-armhf-xl-credit1     <job status>                 broken
 test-armhf-armhf-xl-credit2     <job status>                 broken
 test-armhf-armhf-xl-credit2   5 host-install(5)        broken REGR. vs. 164131
 test-armhf-armhf-xl-arndale   5 host-install(5)        broken REGR. vs. 164131
 test-armhf-armhf-xl-credit1   5 host-install(5)        broken REGR. vs. 164131
 test-armhf-armhf-xl           5 host-install(5)        broken REGR. vs. 164131
 test-armhf-armhf-libvirt      5 host-install(5)        broken REGR. vs. 164131
 test-armhf-armhf-examine      5 host-install           broken REGR. vs. 164131
 test-amd64-amd64-i386-pvgrub 12 debian-di-install        fail REGR. vs. 164131
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install       fail REGR. vs. 164131

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164131
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 164131
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 164131
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164131
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164131
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 164131
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164131
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 164131
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164131
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164131
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-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-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                b704883aa8dc4d1d232d3a3cdc438a64889fcc6e
baseline version:
 linux                e350cd02e293be9a6b93398b2d3ff1edf7695ab2

Last test of basis   164131  2021-08-08 07:11:59 Z    8 days
Failing since        164167  2021-08-12 11:47:56 Z    3 days    8 attempts
Testing same since   164196  2021-08-15 18:44:07 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alan Stern <stern@rowland.harvard.edu>
  Alex Xu (Hello71) <alex_y_xu@yahoo.ca>
  Alexander Monakov <amonakov@ispras.ru>
  Alexander Tsoy <alexander@tsoy.me>
  Alexandre Courbot <gnurou@gmail.com>
  Alexei Starovoitov <ast@kernel.org>
  Anand Jain <anand.jain@oracle.com>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Anirudh Rayabharam <mail@anirudhrb.com>
  Antoine Tenart <atenart@kernel.org>
  Arnd Bergmann <arnd@arndb.de>
  Bartosz Golaszewski <bgolaszewski@baylibre.com>
  Brian Norris <briannorris@chromium.org>
  Catalin Marinas <catalin.marinas@arm.com>
  Chanho Park <chanho61.park@samsung.com>
  chihhao.chen <chihhao.chen@mediatek.com>
  Christoph Hellwig <hch@lst.de>
  Colin Ian King <colin.king@canonical.com>
  Dan Carpenter <dan.carpenter@oracle.com>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniele Palmas <dnlplm@gmail.com>
  Dario Binacchi <dariobin@libero.it>
  David Bauer <mail@david-bauer.net>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Dmitry Osipenko <digetx@gmail.com>
  Dominik Brodowski <linux@dominikbrodowski.net>
  Dongliang Mu <mudongliangabcd@gmail.com>
  Eero Lehtinen <debiangamer2@gmail.com>
  Fei Qin <fei.qin@corigine.com>
  Felipe Balbi <balbi@kernel.org>
  Filipe Manana <fdmanana@suse.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Gregory CLEMENT <gregory.clement@bootlin.com>
  Guenter Roeck <linux@roeck-us.net>
  Guido Kiener <guido.kiener@rohde-schwarz.com>
  Guoqing Jiang <jiangguoqing@kylinos.cn>
  H. Nikolaus Schaller <hns@goldelico.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Hervé Codina <herve.codina@bootlin.com>
  Hui Su <suhui@zeku.com>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jan Kara <jack@suse.cz>
  Jarkko Sakkinen <jarkko@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jens Wiklander <jens.wiklander@linaro.org>
  Johan Hovold <johan@kernel.org>
  Johannes Berg <johannes.berg@intel.com>
  Jon Hunter <jonathanh@nvidia.com>
  Juergen Borleis <jbe@pengutronix.de>
  Kieran Bingham <kieran.bingham@ideasonboard.com>
  Kim Phillips <kim.phillips@amd.com>
  Lai Jiangshan <laijs@linux.alibaba.com>
  Letu Ren <fantasquex@gmail.com>
  Li Manyi <limanyi@uniontech.com>
  Liam Merwick <liam.merwick@oracle.com>
  Like Xu <likexu@tencent.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Longfang Liu <liulongfang@huawei.com>
  Louis Peens <louis.peens@corigine.com>
  Luis Chamberlain <mcgrof@kernel.org>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Luke D Jones <luke@ljones.dev>
  Maciej W. Rozycki <macro@orcam.me.uk>
  Marek Szyprowski <m.szyprowski@samsung.com>
  Marek Vasut <marex@denx.de>
  Mario Kleiner <mario.kleiner.de@gmail.com>
  Mark Brown <broonie@kernel.org>
  Mark Rutland <mark.rutland@arm.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Masami Hiramatsu <mhiramat@kernel.org>
  Matt Turner <mattst88@gmail.com>
  Matteo Croce <mcroce@microsoft.com>
  Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
  Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Maxim Devaev <mdevaev@gmail.com>
  Maxime Chevallier <maxime.chevallier@bootlin.com>
  Michael Tretter <m.tretter@pengutronix.de>
  Miklos Szeredi <mszeredi@redhat.com>
  Nikolay Borisov <nborisov@suse.com>
  Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Pali Rohár <pali@kernel.org>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Machek (CIP) <pavel@denx.de>
  Pavel Skripkin <paskripkin@gmail.com>
  Pawel Laszczak <pawell@cadence.com>
  Peter Chen <peter.chen@kernel.org>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Phil Elwell <phil@raspberrypi.com>
  Prarit Bhargava <prarit@redhat.com>
  Qiang.zhang <qiang.zhang@windriver.com>
  Qu Wenruo <wqu@suse.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Sasha Levin <sashal@kernel.org>
  Sean Christopherson <seanjc@google.com>
  Sean Young <sean@mess.org>
  Sebastian Andrzej Siewior <bigeasy@linutronix.de>
  Shawn Guo <shawnguo@kernel.org>
  Shreyansh Chouhan <chouhan.shreyansh630@gmail.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Song Liu <song@kernel.org>
  Stas Sergeev <stsp2@yandex.ru>
  Stephen Boyd <sboyd@kernel.org>
  Steve Bennett <steveb@workware.net.au>
  Steven Rostedt (VMware) <rostedt@goodmis.org>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Sumit Garg <sumit.garg@linaro.org>
  syzbot+de271708674e2093097b@syzkaller.appspotmail.com
  Takashi Iwai <tiwai@suse.de>
  Tejun Heo <tj@kernel.org>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Theodore Ts'o <tytso@mit.edu>
  Thierry Reding <treding@nvidia.com>
  Thomas Gleixner <tglx@linutronix.de>
  Tony Lindgren <tony@atomide.com>
  Tyler Hicks <tyhicks@linux.microsoft.com>
  Vinod Koul <vkoul@kernel.org>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Wang Hai <wanghai38@huawei.com>
  Wei Shuyu <wsy@dogben.com>
  Wesley Cheng <wcheng@codeaurora.org>
  Will Deacon <will@kernel.org>
  Willy Tarreau <w@1wt.eu>
  Xiangyang Zhang <xyz.sun.ok@gmail.com>
  Xin Long <lucien.xin@gmail.com>
  Yang Yingliang <yangyingliang@huawei.com>
  Yu Kuai <yukuai3@huawei.com>
  YueHaibing <yuehaibing@huawei.com>
  Zheyu Ma <zheyuma97@gmail.com>
  Zhiyong Tao <zhiyong.tao@mediatek.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          broken  
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  broken  
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  broken  
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  broken  
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     fail    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     broken  
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-armhf-armhf-libvirt broken
broken-job test-armhf-armhf-xl broken
broken-job test-armhf-armhf-xl-arndale broken
broken-job test-armhf-armhf-xl-credit1 broken
broken-job test-armhf-armhf-xl-credit2 broken
broken-step test-armhf-armhf-xl-credit2 host-install(5)
broken-step test-armhf-armhf-xl-arndale host-install(5)
broken-step test-armhf-armhf-xl-credit1 host-install(5)
broken-step test-armhf-armhf-xl host-install(5)
broken-step test-armhf-armhf-libvirt host-install(5)
broken-step test-armhf-armhf-examine host-install

Not pushing.

(No revision log; it would be 3656 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 16 11:10:02 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 11:10:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167270.305299 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFaV9-0001fX-RU; Mon, 16 Aug 2021 11:09:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167270.305299; Mon, 16 Aug 2021 11:09:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFaV9-0001fQ-OP; Mon, 16 Aug 2021 11:09:55 +0000
Received: by outflank-mailman (input) for mailman id 167270;
 Mon, 16 Aug 2021 11:09:54 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Usjg=NH=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mFaV8-0001fG-Oi
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 11:09:54 +0000
Received: from smtp-out1.suse.de (unknown [195.135.220.28])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 83d72cbb-2c52-4ba8-8907-5d75b215ba10;
 Mon, 16 Aug 2021 11:09:53 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 DBF9621E39;
 Mon, 16 Aug 2021 11:09:52 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id AF7E613301;
 Mon, 16 Aug 2021 11:09:52 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id PsiWKIBHGmEOFQAAGKfGzw
 (envelope-from <jgross@suse.com>); Mon, 16 Aug 2021 11:09:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 83d72cbb-2c52-4ba8-8907-5d75b215ba10
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1629112192; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type;
	bh=9NOIui/CRANOt1LqBUbSkRzMaQcQb4fD117fFVSTtGU=;
	b=oedJMYbe/dhBBxyFHgLZzG2HuP8Lp8uJCw9pZSaticCLq0gRBAKT8Bim3HdjRk8s+h2TF7
	CE06+kiw0nG+105EKnLcTDx6Ub0SUyZMbUWQ38iybxArxQHJ3lAbHhwkqZFkccYCaQsJ6X
	n1brdRCxz+YpntSKlMPTtuFgWN1C+Js=
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Christoph Hellwig <hch@infradead.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>
From: Juergen Gross <jgross@suse.com>
Subject: Request for adding patch to stable-5.13
Message-ID: <954399ab-d057-47c1-e417-0848a466fed2@suse.com>
Date: Mon, 16 Aug 2021 13:09:52 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="47cgjYiZJTAsRiiv0uCZOo9xatlDlHonL"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--47cgjYiZJTAsRiiv0uCZOo9xatlDlHonL
Content-Type: multipart/mixed; boundary="Thv14yWeczAuEVheyTCXUqXg0g5dWTXDS";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Christoph Hellwig <hch@infradead.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>
Message-ID: <954399ab-d057-47c1-e417-0848a466fed2@suse.com>
Subject: Request for adding patch to stable-5.13

--Thv14yWeczAuEVheyTCXUqXg0g5dWTXDS
Content-Type: multipart/mixed;
 boundary="------------B1EEA3296F2BF856507A20B6"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------B1EEA3296F2BF856507A20B6
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

Greg,

could you please add upstream commit 05d69d950d9d8 ("xen-blkfront:
sanitize the removal state machine") to the stable 5.13 kernel?

The patch seems not to have a "Cc: stable" tag while it fixes an
issue introduced in 5.13.


Juergen

--------------B1EEA3296F2BF856507A20B6
Content-Type: application/pgp-keys;
 name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Transfer-Encoding: quoted-printable
Content-Description: OpenPGP public key
Content-Disposition: attachment;
 filename="OpenPGP_0xB0DE9DD628BF132F.asc"

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOBy=
cWx
w3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJvedYm8O=
f8Z
d621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y=
9bf
IhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xq=
G7/
377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR=
3Jv
c3MgPGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsEFgIDA=
QIe
AQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4FUGNQH2lvWAUy+dnyT=
hpw
dtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3TyevpB0CA3dbBQp0OW0fgCetToGIQrg0=
MbD
1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbv=
oPH
Z8SlM4KWm8rG+lIkGurqqu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v=
5QL
+qHI3EIPtyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVyZ=
2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJCAcDAgEGFQgCC=
QoL
BBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4RF7HoZhPVPogNVbC4YA6lW7Dr=
Wf0
teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz78X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC=
/nu
AFVGy+67q2DH8As3KPu0344TBDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0Lh=
ITT
d9jLzdDad1pQSToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLm=
XBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkMnQfvUewRz=
80h
SnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMBAgAjBQJTjHDXAhsDBwsJC=
AcD
AgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJn=
FOX
gMLdBQgBlVPO3/D9R8LtF9DBAFPNhlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1=
jnD
kfJZr6jrbjgyoZHiw/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0=
N51
N5JfVRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwPOoE+l=
otu
fe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK/1xMI3/+8jbO0tsn1=
tqS
EUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuZGU+wsB5BBMBAgAjBQJTjHDrA=
hsD
BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3=
g3O
ZUEBmDHVVbqMtzwlmNC4k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5=
dM7
wRqzgJpJwK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu5=
D+j
LRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzBTNh30FVKK1Evm=
V2x
AKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37IoN1EblHI//x/e2AaIHpzK5h88N=
Eaw
QsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpW=
nHI
s98ndPUDpnoxWQugJ6MpMncr0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZR=
wgn
BC5mVM6JjQ5xDk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNV=
bVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mmwe0icXKLk=
pEd
IXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0Iv3OOImwTEe4co3c1mwARA=
QAB
wsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMvQ/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEw=
Tbe
8YFsw2V/Buv6Z4Mysln3nQK5ZadD534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1=
vJz
Q1fOU8lYFpZXTXIHb+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8=
VGi
wXvTyJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqcsuylW=
svi
uGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5BjR/i1DG86lem3iBDX=
zXs
ZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------B1EEA3296F2BF856507A20B6--

--Thv14yWeczAuEVheyTCXUqXg0g5dWTXDS--

--47cgjYiZJTAsRiiv0uCZOo9xatlDlHonL
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmEaR4AFAwAAAAAACgkQsN6d1ii/Ey9s
hwf/TKqU6jD0kTFNNQneczrPV9JIMaC+pJr68s1BREVk8pVHmQi2a1r9WvX5B/mkDjo6EG113bsw
Peb5pv+rjen0rhTDSjz5eYQpbPsnCkm8UR8uSe3yo2Lb1+/xNFsuCUOz7yWzMXFvknccwQfCxyED
6TSv18G6IM3cRB6ew7FDG+Ma+Od0iyvAtUqBW1hHqtlCQ/KA3LfCRbc+Mpt1o1gfmA7sO6ZacnHy
J4CuXtOj7GgdlQ1U91w3b4o0bKBmZ24XFHy8sjcIimQNMdd9L6f2V233HwgyViNIk3L8c8prqvg7
za+9yN4uMYtiQgrx+YFNFhKdB9Ufv/WpLSnzfTa3ZQ==
=LAYs
-----END PGP SIGNATURE-----

--47cgjYiZJTAsRiiv0uCZOo9xatlDlHonL--


From xen-devel-bounces@lists.xenproject.org Mon Aug 16 11:19:57 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 11:19:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167274.305310 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFaeo-00036I-Qg; Mon, 16 Aug 2021 11:19:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167274.305310; Mon, 16 Aug 2021 11:19: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 1mFaeo-00036B-NU; Mon, 16 Aug 2021 11:19:54 +0000
Received: by outflank-mailman (input) for mailman id 167274;
 Mon, 16 Aug 2021 11:19:53 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kJmv=NH=citrix.com=Jane.Malalane@srs-us1.protection.inumbo.net>)
 id 1mFaen-00035f-H4
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 11:19:53 +0000
Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id e01af9f0-fe83-11eb-a455-12813bfff9fa;
 Mon, 16 Aug 2021 11:19: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: e01af9f0-fe83-11eb-a455-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629112792;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=eZGCsi9t1GABGryHezRKz32WbdimWXysSFPvtFDYCSE=;
  b=TikO7SPokLLpu/QhxOHDgDYek+fDoddWGnz71gkNmVulYPX4zALPE1cs
   s/BlN2Q2liVNcwQYpMtdwv5h1qc7sKzS+bEj0vMFj5v4moFurlLSEuEdT
   xWDO29ZOrCiuarsJSiFQUB6TVVR2ZLyJeZSZyN00YTHnI97kdRl+5Fx7O
   E=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: jDIadCDHANfFkp2+vmqpho2R7NyLPdQ9ETwrJku1Wi4H9F6yOUIxbfwbXN5IAXSEkqbNTVDHrT
 DhcMMy9TslGG4D7Q4HAAprJcwOm8Pq6uVn1NJbKB+vNZUm0RuJfdfNJtLrZKMBDvyYP5G3JBmI
 VhcjXHLMlLxUUnBh0AN/Kgt4mO4YKCDV6IBDfNhgQApQ4oF3ARmnZBnbRShD9OurzrEOkGkpqa
 gY7F7v6urugvOFShCbgfWbcUCFyOTiGTaxI6Rfv+Bh8oNQiSaoHIUo2yRlZQNbR2a4bFJ702md
 87GmHcNLp7IZQ7TRTwVQn/58
X-SBRS: 5.1
X-MesageID: 52241875
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:NyTIcqhgwymo1Fkgle9mYdOo3nBQXtYji2hC6mlwRA09TySZ//
 rBoB19726StN9xYgBFpTnuAsm9qB/nmaKdgrNhWItKPjOW21dARbsKheCJrgEIcxeOkNK1vp
 0AT0ERMrLN5CBB/KTH3DU=
X-IronPort-AV: E=Sophos;i="5.84,324,1620705600"; 
   d="scan'208";a="52241875"
From: Jane Malalane <jane.malalane@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Jane Malalane <jane.malalane@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>
Subject: [PATCH 0/2] xen/pv: Improvements to construct_dom0()
Date: Mon, 16 Aug 2021 12:19:25 +0100
Message-ID: <20210816111927.16913-1-jane.malalane@citrix.com>
X-Mailer: git-send-email 2.11.0
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Jane Malalane (2):
  x86/pv: remove unnecessary use of goto out in construct_dom0()
  x86/pv: Provide more helpful error when CONFIG_PV32 is absent

 xen/arch/x86/pv/dom0_build.c | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 16 11:19:57 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 11:19:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167275.305315 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFaep-00039a-4H; Mon, 16 Aug 2021 11:19:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167275.305315; Mon, 16 Aug 2021 11:19: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 1mFaep-000397-0O; Mon, 16 Aug 2021 11:19:55 +0000
Received: by outflank-mailman (input) for mailman id 167275;
 Mon, 16 Aug 2021 11:19:53 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kJmv=NH=citrix.com=Jane.Malalane@srs-us1.protection.inumbo.net>)
 id 1mFaen-00035k-Qj
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 11:19:53 +0000
Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 26164abd-8000-429c-adc3-3f943538038c;
 Mon, 16 Aug 2021 11:19: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: 26164abd-8000-429c-adc3-3f943538038c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629112792;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=twjVT0hpM+jfF0v59i+A2bLDQBPw7Rbw47Q79jWXs1Y=;
  b=TNDGPf0I1TkUdP1ObXus+SFrOX914GYP/WB11f+ZPYYH+gW8xP1U+uMx
   JSGoonc88gELpaUBGayuaC0Ee1QkoFk6hZsoR1GUj/5gZDq5r9591wFad
   DsGh/fI+2InpHvv7DWNnVZd19BuLD4X5Y83tM8Vu/YaTT9vT4CpHoizqy
   k=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: N6oGc2WK4UymlR6aYbVvQzsu7BDTS1kGx/krzmmk8nXBgcHbnD/f6gy3pHspphQrnkRGAusgIp
 q2HvTqj6D/vg2cWn603tiZk+JGWCApPUTNe89V3yOlubRPK+rqggg6s157m41p9N/me/fnEwH3
 jUdHPtkxPfcxoN9F59UV65a9Yw6tpH4pyR0vLziHShigQHMoqNPo40cG5d8NJVwJn2dBA4iyCv
 2lLBOU2oFBvFEMf4zMhO2HPrJkhUwvQzz0q9mU1lJw7EY4RsbO+ZGiJ4c5i/xs8qah8NmPltsk
 aKKiwmhF5n9YBXl8JXLGnD32
X-SBRS: 5.1
X-MesageID: 50533571
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:yz4jaa6bOuPanSlyfQPXwPLXdLJyesId70hD6qhwISY1TiX+rb
 HXoB17726MtN9/YgBCpTntAsa9qDbnhPpICOoqTNGftWvdyQmVxehZhOOIqVCNJ8S9zJ876U
 4JSdkENDSaNzhHZKjBjjVQa+xQpeW6zA==
X-IronPort-AV: E=Sophos;i="5.84,324,1620705600"; 
   d="scan'208";a="50533571"
From: Jane Malalane <jane.malalane@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Jane Malalane <jane.malalane@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>
Subject: [PATCH 1/2] x86/pv: remove unnecessary use of goto out in construct_dom0()
Date: Mon, 16 Aug 2021 12:19:26 +0100
Message-ID: <20210816111927.16913-2-jane.malalane@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20210816111927.16913-1-jane.malalane@citrix.com>
References: <20210816111927.16913-1-jane.malalane@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

elf_check_broken() only needs to be invoked after elf_xen_parse() and
after elf_load_binary().

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Jane Malalane <jane.malalane@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
CC: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: "Roger Pau Monné" <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>

v2:
 * add into series
 * fixup ordering error with CONFIG_PV32 change
---
 xen/arch/x86/pv/dom0_build.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/xen/arch/x86/pv/dom0_build.c b/xen/arch/x86/pv/dom0_build.c
index af47615b22..8712baccc1 100644
--- a/xen/arch/x86/pv/dom0_build.c
+++ b/xen/arch/x86/pv/dom0_build.c
@@ -400,8 +400,7 @@ int __init dom0_construct_pv(struct domain *d,
     if ( !compatible )
     {
         printk("Mismatch between Xen and DOM0 kernel\n");
-        rc = -EINVAL;
-        goto out;
+        return -EINVAL;
     }
 
     if ( parms.elf_notes[XEN_ELFNOTE_SUPPORTED_FEATURES].type != XEN_ENT_NONE )
@@ -409,8 +408,7 @@ int __init dom0_construct_pv(struct domain *d,
         if ( !pv_shim && !test_bit(XENFEAT_dom0, parms.f_supported) )
         {
             printk("Kernel does not support Dom0 operation\n");
-            rc = -EINVAL;
-            goto out;
+            return -EINVAL;
         }
     }
 
@@ -607,8 +605,7 @@ int __init dom0_construct_pv(struct domain *d,
          : (v_start < HYPERVISOR_VIRT_END) && (v_end > HYPERVISOR_VIRT_START) )
     {
         printk("DOM0 image overlaps with Xen private area.\n");
-        rc = -EINVAL;
-        goto out;
+        return -EINVAL;
     }
 
     if ( compat )
@@ -753,8 +750,7 @@ int __init dom0_construct_pv(struct domain *d,
             mapcache_override_current(NULL);
             switch_cr3_cr4(current->arch.cr3, read_cr4());
             printk("Invalid HYPERCALL_PAGE field in ELF notes.\n");
-            rc = -EINVAL;
-            goto out;
+            return -EINVAL;
         }
         init_hypercall_page(d, _p(parms.virt_hypercall));
     }
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 16 11:19:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 11:19:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167276.305332 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFaet-0003fn-CH; Mon, 16 Aug 2021 11:19:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167276.305332; Mon, 16 Aug 2021 11:19:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFaet-0003fc-8U; Mon, 16 Aug 2021 11:19:59 +0000
Received: by outflank-mailman (input) for mailman id 167276;
 Mon, 16 Aug 2021 11:19:58 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kJmv=NH=citrix.com=Jane.Malalane@srs-us1.protection.inumbo.net>)
 id 1mFaes-00035f-Bu
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 11:19:58 +0000
Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id e0f44f5c-fe83-11eb-a455-12813bfff9fa;
 Mon, 16 Aug 2021 11:19: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: e0f44f5c-fe83-11eb-a455-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629112793;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=T9jifUsBPMFYoxfOQRqxjgyngUYneVp/G9jmw1xPbXY=;
  b=Q9NoCGfocjnpoSJWbOjnudKqoQQM2SQR1QnDlecUl/7NhIhmU1KbVDT3
   1oh7vc9+Xd6vWhMInodsgcpBGyjQXfilqPhH+Uwx/JgdOpFZWOXqnOpOa
   I9decznwK1l9Awr6ee6FMXM14ETY7To1rThuX/+OYL0f3htv1tlpde34Y
   8=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: t5DE/kdH4a0O/Lrh5Q5BHnyA2jQKni/xQVWXq/I/jFmvNm+/L7gRSgEP6ARpcIywZRjSZY9TBR
 gJ3fZ4IxjcYmW/x2hu98e45WoEbKPm3OmD29cgEWbBY8WxuYGa3eeP9nymi8oTucsmjbm/ElNI
 E5vrcE2f3S5CdrGMS+lT4fzynwVstXhDb9IqFWSSlXg388g7pGezdxEsu9Buw6tIKoVhOOFIqJ
 q7gnDSj+W4beyMztxOlyRFM2t27f8cfMWZU92Zd2yfX7OGKI8x1doE5xVCrX+vEZBR4Zw/UZKP
 Qv90XSMRiRn5aRjZAEbfuvr/
X-SBRS: 5.1
X-MesageID: 52241876
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:/ZxsL6Oxu3N8bcBcTvmjsMiBIKoaSvp037Eqv3oedfUzSL3gqy
 nOpoV86faaslYssR0b9exofZPwJE80lqQFhrX5X43SPzUO0VHAROoJgLcKgQeQfxEWntQtrZ
 uIGJIeNDSfNzdHZL7BkWuFL+o=
X-IronPort-AV: E=Sophos;i="5.84,324,1620705600"; 
   d="scan'208";a="52241876"
From: Jane Malalane <jane.malalane@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Jane Malalane <jane.malalane@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>
Subject: [PATCH 2/2] x86/pv: Provide more helpful error when CONFIG_PV32 is absent
Date: Mon, 16 Aug 2021 12:19:27 +0100
Message-ID: <20210816111927.16913-3-jane.malalane@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20210816111927.16913-1-jane.malalane@citrix.com>
References: <20210816111927.16913-1-jane.malalane@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Currently, when booting a 32bit dom0 kernel, the message isn't very
helpful:

  (XEN)  Xen  kernel: 64-bit, lsb
  (XEN)  Dom0 kernel: 32-bit, PAE, lsb, paddr 0x100000 -> 0x112000
  (XEN) Mismatch between Xen and DOM0 kernel
  (XEN)
  (XEN) ****************************************
  (XEN) Panic on CPU 0:
  (XEN) Could not construct domain 0
  (XEN) ****************************************

With this adjustment, it now looks like this:

  (XEN)  Xen  kernel: 64-bit, lsb
  (XEN) Found 32-bit PV kernel, but CONFIG_PV32 missing
  (XEN)
  (XEN) ****************************************
  (XEN) Panic on CPU 0:
  (XEN) Could not construct domain 0
  (XEN) ****************************************

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jane Malalane <jane.malalane@citrix.com>
---
CC: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: "Roger Pau Monné" <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>

v2:
 * switch to EOPNOTSUPP
---
 xen/arch/x86/pv/dom0_build.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/pv/dom0_build.c b/xen/arch/x86/pv/dom0_build.c
index 8712baccc1..d5a1a6a4e2 100644
--- a/xen/arch/x86/pv/dom0_build.c
+++ b/xen/arch/x86/pv/dom0_build.c
@@ -362,9 +362,9 @@ int __init dom0_construct_pv(struct domain *d,
     compatible = false;
     machine = elf_uval(&elf, elf.ehdr, e_machine);
 
-#ifdef CONFIG_PV32
     if ( elf_32bit(&elf) )
     {
+#ifdef CONFIG_PV32
         if ( parms.pae == XEN_PAE_BIMODAL )
             parms.pae = XEN_PAE_EXTCR3;
         if ( parms.pae && machine == EM_386 )
@@ -377,8 +377,11 @@ int __init dom0_construct_pv(struct domain *d,
 
             compatible = true;
         }
-    }
+#else
+        printk("Found 32-bit PV kernel, but CONFIG_PV32 missing\n");
+        return -EOPNOTSUPP;
 #endif
+    }
 
     compat = is_pv_32bit_domain(d);
 
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 16 11:20:21 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 11:20:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167281.305344 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFafE-0005Md-OT; Mon, 16 Aug 2021 11:20:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167281.305344; Mon, 16 Aug 2021 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 1mFafE-0005Ls-HY; Mon, 16 Aug 2021 11:20:20 +0000
Received: by outflank-mailman (input) for mailman id 167281;
 Mon, 16 Aug 2021 11:20:19 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0BJ1=NH=linuxfoundation.org=gregkh@srs-us1.protection.inumbo.net>)
 id 1mFafD-0005Ed-B2
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 11:20:19 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 2df73ba6-2e98-4fac-932f-aa9f4a275520;
 Mon, 16 Aug 2021 11:20:15 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id 66E7761B5D;
 Mon, 16 Aug 2021 11:20:14 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2df73ba6-2e98-4fac-932f-aa9f4a275520
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org;
	s=korg; t=1629112814;
	bh=tvuOcAsTqYNr9qumWqjlIbRaX5HA1Ww35jwIsEFbzNc=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=hSuS15gqRTRYtrNyAh5VROOjJ7/FeAEVolJ/HiQCsiiKkFJD9EB1W/P+X4oCEXNyi
	 2JIWdQ+sDNuH2aH3udfvOSevqpV7eaIaXZ5WM+ouNQsolqoN1vLTn99lSmbx6e40Fe
	 wpQuzbUPfvIUkfdVcjXsg/wnPCU2vtIc+1ajx0fg=
Date: Mon, 16 Aug 2021 13:20:12 +0200
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Juergen Gross <jgross@suse.com>
Cc: Christoph Hellwig <hch@infradead.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>
Subject: Re: Request for adding patch to stable-5.13
Message-ID: <YRpJ7O+ftUh1xa+t@kroah.com>
References: <954399ab-d057-47c1-e417-0848a466fed2@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <954399ab-d057-47c1-e417-0848a466fed2@suse.com>

On Mon, Aug 16, 2021 at 01:09:52PM +0200, Juergen Gross wrote:
> Greg,
> 
> could you please add upstream commit 05d69d950d9d8 ("xen-blkfront:
> sanitize the removal state machine") to the stable 5.13 kernel?
> 
> The patch seems not to have a "Cc: stable" tag while it fixes an
> issue introduced in 5.13.

Please always cc: stable@vger.kernel.org with these requests in the
future...

Anyway, the commit does not cleanly apply, so we will need a working
backport if you want to see it added to that tree.

thanks,

greg k-h


From xen-devel-bounces@lists.xenproject.org Mon Aug 16 11:41:24 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 11:41:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167294.305353 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFazL-0007uI-D4; Mon, 16 Aug 2021 11:41:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167294.305353; Mon, 16 Aug 2021 11:41: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 1mFazL-0007uB-9o; Mon, 16 Aug 2021 11:41:07 +0000
Received: by outflank-mailman (input) for mailman id 167294;
 Mon, 16 Aug 2021 11:41:05 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=3tuO=NH=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mFazJ-0007u5-Fu
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 11:41:05 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 8c27c4c4-bc2d-4fa1-bc0c-5eff72e8cdde;
 Mon, 16 Aug 2021 11:41:02 +0000 (UTC)
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur03lp2054.outbound.protection.outlook.com [104.47.10.54]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-24-w3C7kaWMNg68Jr25Hu8aLQ-1; Mon, 16 Aug 2021 13:41:00 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0401MB2445.eurprd04.prod.outlook.com (2603:10a6:800:55::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Mon, 16 Aug
 2021 11:40:58 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.023; Mon, 16 Aug 2021
 11:40:58 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P251CA0018.EURP251.PROD.OUTLOOK.COM (2603:10a6:102:b5::26) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.14 via Frontend Transport; Mon, 16 Aug 2021 11: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>
X-Inumbo-ID: 8c27c4c4-bc2d-4fa1-bc0c-5eff72e8cdde
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629114061;
	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=Jd4KT21H2fHTncs6vdf4WkWuTtDrXk1Xd3XvwNSwKd0=;
	b=g/lX0u6wfnWYqCCQGFbBiHgdLP87yM3ljPJzJeHt+8qpEUlbRw/yftiv9Z9VAb30h9xwZp
	v6UpjeGjfB3Ae6FpZJhF7cvimyi5K293Oje29xVACZHes+StBU8uiXZ2zOym2UDZnzQx/0
	s6Sc1+wY54Jn24IQNGXWbOBsc1fBKlc=
X-MC-Unique: w3C7kaWMNg68Jr25Hu8aLQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PoNaV6WmxDWBVjWZ1x9zB1TIn26LUtiLZQh4TsBQxmVeMnCZFWMl6iYYzsA0HN87o4mTC0IqxM93fgbMH+JnKY9GKHGrGAh2dOtfUWs7jdP8tbBCmobKP9ANy6uSmj9Z2MutW4z7HVCMmlStIW9yOK421Zc/ZwHJeMLvToGCzQAhThYjjlUKA7FwJxOusD6Eo3Sc+XPcTmihmwDhY7pXOkMKgUDoIguK+Y0//kfZIkFaqRgk8y4QEybezG+A/imQZuXBvCtJ7WW7NZTGYkiuuzryOxEGLrgJpRehHXGTjpQbQt4x9eknTY4nYP/caxt712bSAToDl1vIk53IZmloRQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Jd4KT21H2fHTncs6vdf4WkWuTtDrXk1Xd3XvwNSwKd0=;
 b=RlespkhcxLxwLE+momXKt0YNcf94wbDW3FrNNM3WokIeYutiEBbLAa9wgISzrkjBTSB4rsW+UPPJIuHIa+AFz9HbiL4FBz41ZaWkUy0mqAGfxHb9VniF8Nc4QY2KB/zk7PnJcVdTra3Fq4oeqSerVJi3UPejXmOG/VQ3HYwwaA3REO+wHLNOXfOeBC/KIHrDusmWaoozSC4htzmlvkk1D8BRjwMgp/uS7CatBmwai7ScoKIrs32H9TPF+P70B2qX6dKcrXHsB6YpTZKxA6gbKiFKpkX0+ihgZtbmEUWIIsd0bS9K9U/Ep8CnghfeQMhRxt842bRSYw1Z89c7ek1+aQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH 2/2] x86/pv: Provide more helpful error when CONFIG_PV32
 is absent
To: Jane Malalane <jane.malalane@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20210816111927.16913-1-jane.malalane@citrix.com>
 <20210816111927.16913-3-jane.malalane@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <aeb14367-4292-bb6c-1a5d-181ebb79331a@suse.com>
Date: Mon, 16 Aug 2021 13:40:56 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210816111927.16913-3-jane.malalane@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P251CA0018.EURP251.PROD.OUTLOOK.COM
 (2603:10a6:102:b5::26) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: fa570924-b908-4c33-3d0d-08d960aab72e
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2445:
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB244557A43ABCDD3E464B1D18B3FD9@VI1PR0401MB2445.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:1923;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3GLAOF2SZz1zONeVwERMHsMtbOUO7Rb4tvtfKYRUyY4xtbFmJRJBejftDJNnxTxRCtbQ6NkH14dLa6dIer9K44UL7osCwpnJ59DAjXTNJ/6hL2FhLcTjn5bWW+1zbjDvtSbFLp3/D4StsqE7J0dxS48V0vnP86nt2mWXvJ2jIsHQ4HKuPRL6mIns+1/hTSGH1GMWfXlF/ZDjb+3JAE59MiPnDSh/GAEtOLACVkzEwD+HjjzMoM4GwFySUcTfShVtdQejmYGQsaVngNDPsOA35HpZOoFBUqxZ0ZvpPL0U80l6ao+WRvjLhyloBgs0LSA3pPGtP5IOZTKwVIZvdP7KP+Rb6s9vYbgoklhsMpiANzgKx9dzzx57dx5Bi6gT4lwqaOcRXj8EVOddhH0s5W0aE5+luKVo8BhNrLAxwcHfz8PeEvKK0o+VXdgkLSc91nH8ws5yXPDjkVsP1wrluNAhKzyGLkD1w0oAVKwS/PBvbGw1MT428fvx9X9kUv28UituAI9DjSB7Y3lqZ6Da6YGvE7HNXyclCWniMGGpo8a27gXhmrTim+2A1TmGr0gubMholRlTUa2GCZJqOTIfkFUhwSJVIRpQqDZC+U5v/shSEQK/4lb+3bYjSmO/XhCrIjlvDanFzLiixZicjnR0k1bqrQOUAJdmwQhzZl1i0va03h5HSVeRXBdDARgyJcTV5tlWqIhKdxbKemdCZmn9FAmUY6L1mAZxLQQPLWuxUM2KnlM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(39850400004)(366004)(396003)(136003)(376002)(6916009)(54906003)(53546011)(956004)(2616005)(26005)(186003)(316002)(6486002)(83380400001)(16576012)(86362001)(4326008)(8676002)(66946007)(66476007)(31696002)(2906002)(38100700002)(8936002)(5660300002)(478600001)(66556008)(31686004)(36756003)(4744005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WjdFcFN1N3ZEdDRLVUNBMndvS2d5Yk5FL2VmaEMwYzJQWTVpR0ZDU3o1TERh?=
 =?utf-8?B?SUVkWmU2alZHa1dBYXBkUEpOMXFaeG1ZRTFGOXRscVluNWxHUytMNHh1TXEr?=
 =?utf-8?B?dDdSYUZ0WVFTaUpWOGNha1QraEFSemdoQk5HK3BCaWhrZURvN2tiN3g4QXNP?=
 =?utf-8?B?S0lyS1gvZXZkVEVuNGcrOW11WE1QQTZIMWRHSEpjeVFSZFJTNk14bWN3Slc0?=
 =?utf-8?B?SUtzb2JqdS9zdkFvVkhuQ0d5NStJSDB2emEyL1NMSzVrYklObmk1c2VVaUdn?=
 =?utf-8?B?YngyODFabDVPRExNMjBnLzFqemd1TjdJV1ZXNHh1ZlEwU3JOMXhkZFlyQ2Vw?=
 =?utf-8?B?bTR3VENQWXdkODNNRDB0UE1UQk1VRXZ2amFPa2VoM3d2OXhVVy9LUVVyZ284?=
 =?utf-8?B?UVpkc1RuTzRoLzltWk5CbXZMNEUyNTc2QjRhaFBibGdwRVJOWjRmNEw5S2ov?=
 =?utf-8?B?ZEpaY1BXVlBQdGJ1dk1MQUtPR01tTzQ3ZStwZHZ4SElxTmtHbVhKazlRcFVZ?=
 =?utf-8?B?ZVlrQitnRkZJSkppdFVWZmdzWXAxTG5KSEIrNHF3c1hnclRsRWY1QnJtdElo?=
 =?utf-8?B?N1UwUmg0WjE2ck5NWFNja3NxRWNWMkNMRDRKbzBObFNJcWFPQW1icmVHbzhN?=
 =?utf-8?B?eUpnMTg0MlR2NXBWS2h3ZVYrQjFXRGsvSm5OZ3J1UzVUWmRIUXE4SHRRMlNB?=
 =?utf-8?B?YmpLMm9SOGZHdFdJRjBIdW9YSmc2eUt6U2hlZC90NnRmZ25tbUR0bkdob01W?=
 =?utf-8?B?TVdjWG05dXFiRjdhZ0lzZHJyVUV5RWZXMVpFeEl3QkpVUU8vZURTNEZFYUM1?=
 =?utf-8?B?MmlDbDVNaVBiWlk0NllzYm5XUitwT3dwTkd3Z0E4YngvVi9TQS9MWlBiS3Va?=
 =?utf-8?B?S1ZRMndqZ21SMzZ4Q3AzQVVtdllYRDN6KzZrdWczMUJRbjZJTGIrQytmRXRX?=
 =?utf-8?B?WHh5blBIbGlldEFKMzJvY0FWK0o3b0FXTzBQNk9IMEdxK2JKNzNQMlRlWFQr?=
 =?utf-8?B?NnlwNGhqT0ZUZ3RSYnhzTmRqajZRQlM0ZmIzMVNwdFRZQ1JqUGI4MG1qOHNo?=
 =?utf-8?B?T0lVWU9HdEIvNmRKSXJ2ZmdXWERCOGw1SnRKY25ENkFIYi9vN0hyVHBSM3lK?=
 =?utf-8?B?dWdFMnpjc01nM08yWDBDWXpCc3N5cXF1NnFMN01IUDFoMjhKR0ZMR0NEaGN6?=
 =?utf-8?B?NjNzeDJOcW5PdnBNd0pmeXg3N1NiZGZTc0UwWHJISlc3WVlXOFlmbmZjdGUw?=
 =?utf-8?B?L0IzS2VlQW9oa0RvVU5ZZXVESHdlak1nMDZVU0tKT2JJdmhXMER1YzFJVjd5?=
 =?utf-8?B?NmlHOEdoeSt1RDVudHozNzZtV2VMWkdkbjNaTE9OQnhURHlwQmhQOWd1alZJ?=
 =?utf-8?B?UU01V29MVm5XT1JBKzJ4d3VzWUw5UlBBcnRiZnBhSmpDazlFTklBQ3hPaHJl?=
 =?utf-8?B?bXdmZ3Y5ZWp3dFQ5cWhiWDE0dmU2dVFWTEJQSzVsRFlwa1UwRmRGcUEvd3VB?=
 =?utf-8?B?ZzhUQmVzYkU1eXlESnBjK2k3MHNTSUl4YWVTNi9DdFRLUnBXaHlubzVuVXk3?=
 =?utf-8?B?cStBd3dBTFNRNkJRVjFsU2JjUGlDZHBhNERvM1lOak40RW94anBnY1BpVExU?=
 =?utf-8?B?UHJhMVBrMnowVGQxdW5WQmtiWVNBSFhpRmU0SDZ3MHNwVDZLMzQzYmJ1UENq?=
 =?utf-8?B?S1A4aUJJRittcmZOa3FTOHZzeUlCYUpPcFk2Tm4rS0JyTy9lRDNtOGw0OTU1?=
 =?utf-8?Q?1oW33W5UQy/f3ZJox0TWzdGCnGM0ecRPry3XMYx?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fa570924-b908-4c33-3d0d-08d960aab72e
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2021 11:40:58.4592
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6gGRjghMWIQiw0JiBd1IlP5g+j3C9WCwVtL/UiY0R14lB+o4PEsYnwo29ZISLJgBcn8DIfZ8LBYfXpzZ6PXlqw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2445

On 16.08.2021 13:19, Jane Malalane wrote:
> Currently, when booting a 32bit dom0 kernel, the message isn't very
> helpful:
> 
>   (XEN)  Xen  kernel: 64-bit, lsb
>   (XEN)  Dom0 kernel: 32-bit, PAE, lsb, paddr 0x100000 -> 0x112000
>   (XEN) Mismatch between Xen and DOM0 kernel
>   (XEN)
>   (XEN) ****************************************
>   (XEN) Panic on CPU 0:
>   (XEN) Could not construct domain 0
>   (XEN) ****************************************
> 
> With this adjustment, it now looks like this:
> 
>   (XEN)  Xen  kernel: 64-bit, lsb
>   (XEN) Found 32-bit PV kernel, but CONFIG_PV32 missing
>   (XEN)
>   (XEN) ****************************************
>   (XEN) Panic on CPU 0:
>   (XEN) Could not construct domain 0
>   (XEN) ****************************************
> 
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Jane Malalane <jane.malalane@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Mon Aug 16 11:53:23 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 11:53:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167303.305371 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFbB8-00012w-OA; Mon, 16 Aug 2021 11:53:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167303.305371; Mon, 16 Aug 2021 11:53:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFbB8-00012p-L5; Mon, 16 Aug 2021 11:53:18 +0000
Received: by outflank-mailman (input) for mailman id 167303;
 Mon, 16 Aug 2021 11:53:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mFbB7-00012f-8o; Mon, 16 Aug 2021 11:53:17 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mFbB7-0004MF-2d; Mon, 16 Aug 2021 11:53:17 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mFbB6-0002S2-QZ; Mon, 16 Aug 2021 11:53:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mFbB6-00066S-Q4; Mon, 16 Aug 2021 11:53:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ZzjczBkTWtjv+FRYPKYNgpk9bUTRaPyxSNwt0sl3ohc=; b=Zl28Er3DHbV+RT+06ce6IP2DkX
	C7GxwkMtqVS3+U84SA2BN0nHgfbkdtJx6eluqw1RCFO0O6iENFu2kdYUQ7XD2JlF7xl6V4s2R6jQt
	IUSRlK1CSVtZer57mhV7nNQPi/ZtBpFZH+nTZ+IpwwQwTWd8KGx7HWIq/SlhsUDdU238=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164201-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 164201: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=42158b8936e492d71b00ad480683c45c2dbb65f5
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 16 Aug 2021 11:53:16 +0000

flight 164201 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164201/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              42158b8936e492d71b00ad480683c45c2dbb65f5
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  402 days
Failing since        151818  2020-07-11 04:18:52 Z  401 days  393 attempts
Testing same since   164184  2021-08-14 04:20:09 Z    2 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  Cédric Bosdonnat <cbosdonnat@suse.com>
  Côme Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano Fidêncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Ian Wienand <iwienand@redhat.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  John Ferlan <jferlan@redhat.com>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  Ján Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Michał Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  Moshe Levi <moshele@nvidia.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr Drąg <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tomáš Golembiovský <tgolembi@redhat.com>
  Tomáš Janoušek <tomi@nomi.cz>
  Tuguoyi <tu.guoyi@h3c.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  William Douglas <william.douglas@intel.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.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                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 68643 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 16 12:18:50 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 12:18:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167314.305385 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFbZk-0003fH-3w; Mon, 16 Aug 2021 12:18:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167314.305385; Mon, 16 Aug 2021 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 1mFbZk-0003fA-04; Mon, 16 Aug 2021 12:18:44 +0000
Received: by outflank-mailman (input) for mailman id 167314;
 Mon, 16 Aug 2021 12:18:42 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=3tuO=NH=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mFbZi-0003f4-3Z
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 12:18:42 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id e24506de-e292-464d-bd75-945aef955593;
 Mon, 16 Aug 2021 12:18:40 +0000 (UTC)
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur02lp2055.outbound.protection.outlook.com [104.47.5.55]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-31-laEcj0KmPTa_CXdPoi-gAw-1; Mon, 16 Aug 2021 14:18:38 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB3118.eurprd04.prod.outlook.com (2603:10a6:802:a::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.19; Mon, 16 Aug
 2021 12:18:35 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.023; Mon, 16 Aug 2021
 12:18:35 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM3PR07CA0136.eurprd07.prod.outlook.com (2603:10a6:207:8::22) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.8 via Frontend Transport; Mon, 16 Aug 2021 12: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
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e24506de-e292-464d-bd75-945aef955593
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629116319;
	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=UewiwcEhmm0LvOEalgiQfprYe3IhHLTTcM1LZ2QaKTs=;
	b=lsMuBmF4hTDHIv1yYeKvkmL91eyD0ot2j59P0nxrmfQjUXIbDhgLwmm9aLajg1X0v3om+V
	D8DgRGQrP2WjJWVUDEiZAGZZUs1LMmlWmQ08MmQnG2JTV9tE1umd/7w5lg4Rz3cWBlw0p5
	D/RvvFb7GKdRxQp3jfyVLMFGp2jfss0=
X-MC-Unique: laEcj0KmPTa_CXdPoi-gAw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iEb6M5xll7AcrdZP7NgYYJHI5kUrCsn1knmQK/pLw5lSWAC8/K8SSeFv+nWFO4ZCkz5z2soFZ4Gbk/Isd3d85m31yclSYM5BUmjaxzSCOIde0brF6WkMvjRjOaKlgZrSBFzXz7M8ds9l5G7Y65d+ckZ8W1jGW3KOa1oijfJF9MgjZbRmTlovK6ZEYjST9Cl+0CWS43vvqjKcFYs92HSonvZd+Z/C6pe5KwuWVA043d8jE5Y2IP9U0QvC+T+/e9TuZe0EOwsGUb8J5CTZ2tt34dPzOa+UDhSQI9YqgzpU4djDOhqF8rQBaETVclxxZieELFNhA1ZXjfRWcJ3Xx9iRUQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sLdrxTGdZFCryAH4GWRA2jk7HUt4Rx9l8xGQOGwP3H0=;
 b=loZkZQUyxBJMX22ySK3AAa+joX/75ewAt791bdWzw/mfzDKGIkevXMQoUbaF2U2JSXASuRNHp1Ygzgt2r6itKbUkL9eaQ0ER75cDKEv/ZZl0M6ye8bSPwCBtvsh7PP8JRLPDG91N0tFsUl1GKr2dSNFdOMho9vwusBxnmRot9U/0WdQozcBt/OCQblwcrI5jD+IcvmEwjEJtLRmbGzsI+4YejHrgte/V7T7lpC7kQdTi/30o2wRO1BaFzjfgXrubEGQhgqQk4foy78XLk5fMjxfWoeBxC6gvoIwIfG6XoGGxphe7n+tP68stba/ExOEYIm2CEIuN84e8ReqyA3wDsQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH 2/2] ns16550: add Exar dual PCIe UART card support
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>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <20210813183139.391546-1-marmarek@invisiblethingslab.com>
 <20210813183139.391546-2-marmarek@invisiblethingslab.com>
 <0326eebe-2ec8-1c2d-bf2c-8cb4c16312af@suse.com> <YRokMeJ2bMLAZFD4@mail-itl>
 <7e88f6f7-afd6-d12c-8a14-a5c3853d0a90@suse.com> <YRo9LrkAhkDSF1iq@mail-itl>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <33258024-41f5-5a39-3549-df424f995513@suse.com>
Date: Mon, 16 Aug 2021 14:18:33 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <YRo9LrkAhkDSF1iq@mail-itl>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM3PR07CA0136.eurprd07.prod.outlook.com
 (2603:10a6:207:8::22) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 732efe71-d63a-4098-4334-08d960aff84f
X-MS-TrafficTypeDiagnostic: VI1PR04MB3118:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB311878C1627D8E670B22F32CB3FD9@VI1PR04MB3118.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	t97GP5da1yflZ4Tv3xTPN19HNcF4YyWhiiTv+liXMh+qHMbp5mxQs7BVo5BgcVncBErVwkVA8Z/Q03mwAAUibWplfuZ//TeAniOJSWZg5ZHrLy2kOXWO5NqWci5g/I4pmxWs54hRyp6+b7wvF9dwANYPHqCVun2FQakZkt0/gzGnB/RS0DUJYw/e5049LnZYafSrZAq2Yfre94L/LzukE5Vymrdzj6i4kMg/72/P1fUkHjPuKkgwcRSboLPmgFbd9AB25sM8/TNJmnC2x/F5Ndj3Az6yOgxQFB6adm0C4qzt2kAQM678PQ+VghIr2oKW7x+dyi20s3JsE/sZfr8CwaVfnizbcO/rm9PZsNCYFzl/nAnQKFezs861VfG1qRygc4AFHYOSj1wI1HPOLBDuto5Qtvf14ce/96gYZc7SwNwckFCXpKwhyid3w2cmUsIS15d3X9eg2/N/4V9W8dkegvuTwfwq2iTeOQQ62P78weY0z/N4eqFkg+9e5cWiDbIM5uClGdstzNz3b2EDYwdECxBUCEud4HNdFI2lCDqQpGKQ0IxDoaF92LWrabOx2BveFifqIzIiMgqGnNswh3sFapTrHOR2IzaE1RmuK3J91eJwTkdQeuj6NjTeLH/cBIPZ3YoK2WiJvDK6JuEyExGUI9FhUPlYkUPjFjPhduZABjcAHtor/xx1lB+waNI++AxYOqKOecC76OghIrIfLWuCV3estnN2D27rekuYOaUyRykoWM8sRNAiAWrIs9DMTqFHPH4lj4dX4Jdlpa/LQsN6p2wtpORnvPgBICzDWX+kfsgMCpsWctNuh4NwqZdzc2T7
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(346002)(136003)(366004)(39850400004)(376002)(956004)(2616005)(66946007)(66556008)(66476007)(66574015)(83380400001)(36756003)(2906002)(186003)(316002)(16576012)(5660300002)(54906003)(6916009)(26005)(86362001)(966005)(31696002)(8936002)(478600001)(53546011)(38100700002)(8676002)(6486002)(31686004)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?9nmuZDZLQaX2IvBEkXcHg4fMxYESeQA/tpnivrJR3o1BQPYoShqwR7AR16Ef?=
 =?us-ascii?Q?REfAYuq2oqgne7Cky82iRKe1lphD0s8B7M2N8BfrD5We8x2fb9XVmc8Oxxps?=
 =?us-ascii?Q?vcQTEpZjaoA3LtvDZ5zNy4SSX4iK3dj91VEmAn6YxFs0tt9Un9gES7w4gaWH?=
 =?us-ascii?Q?5IJNa7xNsho9ohMH8AxR7KtzZgjSI1WwguuU07dTrPArjV5v/ulu8f5MHAEf?=
 =?us-ascii?Q?axW+CwVqNvOcRxZLTLgyWqwmdlqCLzjNnQ289hWPsDsFmAAnijsiY6N3TOkN?=
 =?us-ascii?Q?3jNQ6bhMZNMKbLG1HRLtbix81KkVpwodW6nXUdiwQgP6Pi6dk0v8gGTbLR+R?=
 =?us-ascii?Q?4a1EyRjG1KXQfBEMCy2k2DY8G4teBKqKWNoLPw3YYZcJyJscJQSrziJWwRrr?=
 =?us-ascii?Q?2Wg5CZaRo8jekVpsDOhNMiMaFAE9GLyTv8dV4jOdSS87FYdOHQnPS0qMvY6y?=
 =?us-ascii?Q?Be1kac3KuTC4G4ZeroZjD/M8DUp4cNOJyEnxEoiWN2EdWIkbP9cJAUpxZOHm?=
 =?us-ascii?Q?Uh7B0Q8nFn8VvCmdYZ8nMt86/kqYYKTImDlPirr8tMmoGDFwJBXg4KNcC6X/?=
 =?us-ascii?Q?chYjE84hW4VdWKe6fKHCJmIJJZqte40j8Fcu/sq6XtY3aqYKPfdpiIQ7/fmE?=
 =?us-ascii?Q?SEJRdvqLLCzkC1kOYxO4HuBLb3KTKtpBWnj5ssRvwMuOBXnnWMq7WilfPx0p?=
 =?us-ascii?Q?AiBRoDcgqTgdn11mx64YRp5mTsSBbriHisqdTuziiLC/cw09vYwNlDDRBk94?=
 =?us-ascii?Q?2F8Q3dKU8bBq54+WiMfkx9rdQlXQAbj+N/uywoBNGTTrm1qrJtuhKTbx1u5P?=
 =?us-ascii?Q?N9RRyAYWPROq5sUwCAW/u/Iz4HkU7cD9w5Hq6PVKmb93r4YwUOF/7It0Fc09?=
 =?us-ascii?Q?/RicL9PDxBmngcUFB10uWLt9NKml4kUpS7E8dcK+pj656XmQTdhL5qUp+S6j?=
 =?us-ascii?Q?AgxYYP6LqThNelnNS9nxE4UckY5xk5jyIyh5SJYnRe/chd+DQID7WmnlJgMn?=
 =?us-ascii?Q?nrfZYSFyYID5wBaiTPt3HpQTsQCHZJur9sk8MOUkGaqp0u8m8g5FSNaLC8FV?=
 =?us-ascii?Q?OCi3dqzhxy1TV4S+WNQ31sI63L/AXUzsmXj0h7457yXc7PkBQnGIdcMizmpU?=
 =?us-ascii?Q?y9hXMe/UvQ6t2NMX/bYeveJ1qtjZmtCOfVKkXiCWLZzT8KEMVIglF1anZYgH?=
 =?us-ascii?Q?KCQNOWcabvt6ihmFC3hVKPtWXvgdIlrI98GzmKN1q+J6vsTHiinYmxoTLSCV?=
 =?us-ascii?Q?XpzrkILTc2IE4tQIYbITUHsTdATvPBc0INS5md13KWukS/UcEbtDL4H+KfmZ?=
 =?us-ascii?Q?NMxTpJKXcywdpuTMelhxn6Cm?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 732efe71-d63a-4098-4334-08d960aff84f
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2021 12:18:35.2482
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: u9otsvjlR9GteqqEqsB3nd/X94c+y1G5eZhpUiqKTO2e+Zn5TtlcoQKIbV7fPpUyjTdvC/Nql7svsH/OJDOhjw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3118

On 16.08.2021 12:25, Marek Marczykowski-G=C3=B3recki wrote:
> On Mon, Aug 16, 2021 at 11:18:31AM +0200, Jan Beulich wrote:
>> On 16.08.2021 10:39, Marek Marczykowski-G=C3=B3recki wrote:
>>> On Mon, Aug 16, 2021 at 09:55:16AM +0200, Jan Beulich wrote:
>>>> On 13.08.2021 20:31, Marek Marczykowski-G=C3=B3recki wrote:
>>>>> Besides standard UART setup, this device needs enabling
>>>>> (vendor-specific) "Enhanced Control Bits" - otherwise disabling hardw=
are
>>>>> control flow (MCR[2]) is ignored. Add appropriate quirk to the
>>>>> ns16550_setup_preirq(), similar to the handle_dw_usr_busy_quirk(). Th=
e
>>>>> new function act on Exar cards only (based on vendor ID).
>>>>
>>>> While on IRC you did say you have a datasheet or alike for the specifi=
c
>>>> card you have in use, may I ask that you clarify why the logic is
>>>> applicable to all (past, present, and future) Exar cards?
>>>
>>> The spec I looked is specifically about 2-port variant (XR17V352), but
>>> there are also 4 and 8 port variants (XR17V354 and XR17V358) and the
>>> Linux driver applies this change there as well. But indeed applying it
>>> to all the future cards may not be the smartest thing to do.
>>>
>>> The Linux driver checks Exar specific register to identify the device,
>>> instead of using PCI product ID, for some reason - I guess they use the
>>> same chip in different devices?
>>> Would you like thing like that (after checking vendor id), or turn it o=
n
>>> just for this product id I have?
>>
>> Hard to tell without knowing whether the extra reg - as per the spec -
>> is connected to any of these. Is the spec you have publicly available?
>=20
> Yes, here: https://www.maxlinear.com/document/index?id=3D1585&languageid=
=3D1033&type=3DDatasheet&partnumber=3DXR17V352&filename=3DXR17V352.pdf&part=
=3DXR17V352
> (and few more links on https://www.maxlinear.com/product/interface/uarts/=
pcie-uarts/xr17v352, but mostly the above PDF)

Ah yes, thanks.

> Hmm, maybe I should add the link to the commit message?

Wouldn't hurt; question is how likely it is for the link to become stale
in the next couple of years.

>>>>> @@ -169,6 +170,21 @@ static void handle_dw_usr_busy_quirk(struct ns16=
550 *uart)
>>>>>      }
>>>>>  }
>>>>> =20
>>>>> +static void enable_exar_enhanced_bits(struct ns16550 *uart)
>>>>> +{
>>>>> +#ifdef NS16550_PCI
>>>>> +    if ( uart->bar &&
>>>>> +         pci_conf_read16(PCI_SBDF(0, uart->ps_bdf[0], uart->ps_bdf[2=
],
>>>>> +                         uart->ps_bdf[2]), PCI_VENDOR_ID) =3D=3D PCI=
_VENDOR_ID_EXAR )
>>>>> +    {
>>>>> +        /* Exar cards ignores setting MCR[2] (hardware flow control)=
 unless
>>>>> +         * "Enhanced control bits" is enabled.
>>>>> +         */
>>>>
>>>> Style nit: /* belongs on its own line as per ./CODING_STYLE.
>>>>
>>>>> +        ns_write_reg(uart, UART_XR_EFR, UART_EFR_ECB);
>>>>
>>>> Wouldn't this better be a read-modify-write operation?
>>>
>>> Honestly, I'm simply mirroring Linux driver behavior here. But also,
>>> all the bits in EFR are 0 after device reset, so it should work fine.
>>
>> Firmware or a boot loader may play with hardware before Xen takes contro=
l.
>> I'm also not convinced there would have been a device reset in all cases
>> where execution may make it here. (Note in particular that the function
>> and its caller aren't __init.)
>>
>> A plain write might be okay if the spec for devices with the specific
>> device ID documented all other bits as "must be zero" ("reserved" would
>> not be sufficient imo), and if the function was invoked for only such
>> devices.
>=20
> Other bits are defined and are things IMO we want to keep disabled. See t=
op
> of the page 40 in the PDF.

To be honest, in particular for the low 4 bits I'm not sure we should
alter them if they turn out non-zero (e.g. due to firmware or boot
loader action).

Jan



From xen-devel-bounces@lists.xenproject.org Mon Aug 16 12:40:39 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 12:40:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167319.305396 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFbup-0006hg-UG; Mon, 16 Aug 2021 12:40:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167319.305396; Mon, 16 Aug 2021 12: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 1mFbup-0006hZ-Ql; Mon, 16 Aug 2021 12:40:31 +0000
Received: by outflank-mailman (input) for mailman id 167319;
 Mon, 16 Aug 2021 12:40: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 1mFbuo-0006hP-Gn; Mon, 16 Aug 2021 12:40: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 1mFbuo-0005AZ-93; Mon, 16 Aug 2021 12:40: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 1mFbun-00046a-Tq; Mon, 16 Aug 2021 12:40:30 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mFbun-0004wf-T1; Mon, 16 Aug 2021 12:40: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=JHzKg7lsf38T6mifiLUPoOEQVH9lc3nS57N7Z4hOEwg=; b=PtEAEi6jW0hIUGw6qZhUmLNGBr
	TYpgtP/ieQ986YiOmoi5SeIzHX75BGwBYtKWOdmpLMVUaGNKh7mjxDhI4c46Dzh+TrpGBmCnfyDiB
	GLo9jOAYjtjwWFe056w2d36Kfm+x/UG47GXNUgnsx4PH/O3Oj5IgOX7B3tZqbYoUU0+o=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164197-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164197: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt:<job status>:broken:regression
    linux-linus:test-armhf-armhf-examine:host-install:broken:regression
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:regression
    linux-linus:test-armhf-armhf-libvirt:host-install(5):broken:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=ecf93431963a95c0f475921101bedc0dd62ec96d
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 16 Aug 2021 12:40:29 +0000

flight 164197 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164197/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-libvirt        <job status>                 broken
 test-armhf-armhf-examine      5 host-install           broken REGR. vs. 152332
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-xl         22 guest-start/debian.repeat fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install       fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 12 debian-di-install        fail REGR. vs. 152332

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      5 host-install(5)       broken blocked in 152332
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 152332
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 152332
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 152332
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 152332
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 152332
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 152332
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                ecf93431963a95c0f475921101bedc0dd62ec96d
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  380 days
Failing since        152366  2020-08-01 20:49:34 Z  379 days  670 attempts
Testing same since   164197  2021-08-15 21:11:00 Z    0 days    1 attempts

------------------------------------------------------------
6798 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 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-qemut-rhel6hvm-amd                           fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     fail    
 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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     fail    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     broken  
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-armhf-armhf-libvirt broken
broken-step test-armhf-armhf-examine host-install
broken-step test-armhf-armhf-libvirt host-install(5)

Not pushing.

(No revision log; it would be 2010927 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 16 12:43:15 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 12:43:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167326.305410 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFbxM-0007Q6-Hv; Mon, 16 Aug 2021 12:43:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167326.305410; Mon, 16 Aug 2021 12:43: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 1mFbxM-0007Pz-EB; Mon, 16 Aug 2021 12:43:08 +0000
Received: by outflank-mailman (input) for mailman id 167326;
 Mon, 16 Aug 2021 12:43:07 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=oPOO=NH=citrix.com=Kevin.Stefanov@srs-us1.protection.inumbo.net>)
 id 1mFbxL-0007Ps-H1
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 12:43:07 +0000
Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id b329adfb-bfab-4c87-b9a1-ccb317e811e4;
 Mon, 16 Aug 2021 12:43: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: b329adfb-bfab-4c87-b9a1-ccb317e811e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629117786;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=ZRQsmpW7kZ2clhRw912uyvaL6Oimr2PVP4zb5KUA3o8=;
  b=FLpNqU894iPkngW8pz0wH2Oezo7CJAo1o1G/+KC4MnbruMBxFB6LFsTU
   PBsdbxJ9x59pdWAg9HFJoL/4UKWsX7T1yZJxDLY0kmgRlXLSjQ6OcTtZr
   FQTcDBzjBsL4qN0mFf1HkLZxjkG00edexBAxv4Szm0WkKnMuen6LDFWwC
   c=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: ruEs6ssYXbV2KJctjH9qmBpMyYdwBPXinglJxo6NGmWR+VOeCePUz3xXZ8qc7WWdi8+QGITlRC
 PbgE5DaaTjIxf1AkE7t1e0BBkBjs668HxPH+vGeWO3bcAR+AoTACjPcr5ryTiAzEw9YyIyQ2n7
 F8Uaa336jyDRbnz3eyUc9ahLkv25fiP2G0D7lWdihALhHYeDwr57e/HEuYth4I+d8PiGg4GmOw
 gLlKMA6u1RI3mGGYY6yyvMS+FPgeD+5fEWhuaB3+iAiJ06WutPXO0FRKLEE2PlgSRCCMANtOEJ
 xY1vEhy4+Ab9Kx/bepAWVVfN
X-SBRS: 5.1
X-MesageID: 50521113
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:A/NsrKiAl72j819BxH7FEcw5mnBQXtYji2hC6mlwRA09TySZ//
 rBoB19726StN9xYgBFpTnuAsm9qB/nmaKdgrNhWItKPjOW21dARbsKheCJrgEIcxeOkNK1vp
 0AT0ERMrLN5CBB/KTH3DU=
X-IronPort-AV: E=Sophos;i="5.84,324,1620705600"; 
   d="scan'208";a="50521113"
From: Kevin Stefanov <kevin.stefanov@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Kevin Stefanov <kevin.stefanov@citrix.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, Kevin Tian <kevin.tian@intel.com>
Subject: [PATCH v3] x86/ioapic: Remove use of TRUE/FALSE/1/0
Date: Mon, 16 Aug 2021 13:42:55 +0100
Message-ID: <20210816124255.27405-1-kevin.stefanov@citrix.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Also fix stray usage in VT-d.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Kevin Stefanov <kevin.stefanov@citrix.com>
---
CC: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: "Roger Pau Monné" <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
CC: Kevin Tian <kevin.tian@intel.com>

v2:
 * Also replace literal 1/0
v3:
 * Fix 1->false conversion error
---
 xen/arch/x86/io_apic.c                 | 38 +++++++++++++-------------
 xen/drivers/passthrough/vtd/intremap.c |  6 ++--
 xen/drivers/passthrough/vtd/utils.c    |  2 +-
 3 files changed, 23 insertions(+), 23 deletions(-)

diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
index 58b26d962c..c3ad9efac8 100644
--- a/xen/arch/x86/io_apic.c
+++ b/xen/arch/x86/io_apic.c
@@ -289,7 +289,7 @@ static void __io_apic_eoi(unsigned int apic, unsigned int vector, unsigned int p
     {
         /* If vector is unknown, read it from the IO-APIC */
         if ( vector == IRQ_VECTOR_UNASSIGNED )
-            vector = __ioapic_read_entry(apic, pin, TRUE).vector;
+            vector = __ioapic_read_entry(apic, pin, true).vector;
 
         *(IO_APIC_BASE(apic)+16) = vector;
     }
@@ -300,28 +300,28 @@ static void __io_apic_eoi(unsigned int apic, unsigned int vector, unsigned int p
         struct IO_APIC_route_entry entry;
         bool need_to_unmask = false;
 
-        entry = __ioapic_read_entry(apic, pin, TRUE);
+        entry = __ioapic_read_entry(apic, pin, true);
 
         if ( ! entry.mask )
         {
             /* If entry is not currently masked, mask it and make
              * a note to unmask it later */
             entry.mask = 1;
-            __ioapic_write_entry(apic, pin, TRUE, entry);
+            __ioapic_write_entry(apic, pin, true, entry);
             need_to_unmask = true;
         }
 
         /* Flip the trigger mode to edge and back */
         entry.trigger = 0;
-        __ioapic_write_entry(apic, pin, TRUE, entry);
+        __ioapic_write_entry(apic, pin, true, entry);
         entry.trigger = 1;
-        __ioapic_write_entry(apic, pin, TRUE, entry);
+        __ioapic_write_entry(apic, pin, true, entry);
 
         if ( need_to_unmask )
         {
             /* Unmask if neccesary */
             entry.mask = 0;
-            __ioapic_write_entry(apic, pin, TRUE, entry);
+            __ioapic_write_entry(apic, pin, true, entry);
         }
     }
 }
@@ -344,7 +344,7 @@ int save_IO_APIC_setup(struct IO_APIC_route_entry **ioapic_entries)
             return -ENOMEM;
 
         for (pin = 0; pin < nr_ioapic_entries[apic]; pin++)
-	    ioapic_entries[apic][pin] = __ioapic_read_entry(apic, pin, 1);
+	    ioapic_entries[apic][pin] = __ioapic_read_entry(apic, pin, true);
     }
 
     return 0;
@@ -374,7 +374,7 @@ void mask_IO_APIC_setup(struct IO_APIC_route_entry **ioapic_entries)
             if (!entry.mask) {
                 entry.mask = 1;
 
-                ioapic_write_entry(apic, pin, 1, entry);
+                ioapic_write_entry(apic, pin, true, entry);
             }
         }
     }
@@ -1047,7 +1047,7 @@ static void __init setup_IO_APIC_irqs(void)
 
             SET_DEST(entry, logical, cpu_mask_to_apicid(TARGET_CPUS));
             spin_lock_irqsave(&ioapic_lock, flags);
-            __ioapic_write_entry(apic, pin, 0, entry);
+            __ioapic_write_entry(apic, pin, false, entry);
             spin_unlock_irqrestore(&ioapic_lock, flags);
         }
     }
@@ -1091,7 +1091,7 @@ static void __init setup_ExtINT_IRQ0_pin(unsigned int apic, unsigned int pin, in
     /*
      * Add it to the IO-APIC irq-routing table:
      */
-    ioapic_write_entry(apic, pin, 0, entry);
+    ioapic_write_entry(apic, pin, false, entry);
 
     enable_8259A_irq(irq_to_desc(0));
 }
@@ -1203,7 +1203,7 @@ static void /*__init*/ __print_IO_APIC(bool boot)
 	for (i = 0; i <= reg_01.bits.entries; i++) {
             struct IO_APIC_route_entry entry;
 
-            entry = ioapic_read_entry(apic, i, 0);
+            entry = ioapic_read_entry(apic, i, false);
 
             if ( x2apic_enabled && iommu_intremap )
                 printk(KERN_DEBUG " %02x %08x", i, entry.dest.dest32);
@@ -1290,7 +1290,7 @@ static void __init enable_IO_APIC(void)
         int pin;
         /* See if any of the pins is in ExtINT mode */
         for (pin = 0; pin < nr_ioapic_entries[apic]; pin++) {
-            struct IO_APIC_route_entry entry = ioapic_read_entry(apic, pin, 0);
+            struct IO_APIC_route_entry entry = ioapic_read_entry(apic, pin, false);
 
             /* If the interrupt line is enabled and in ExtInt mode
              * I have found the pin where the i8259 is connected.
@@ -1361,7 +1361,7 @@ void disable_IO_APIC(void)
         /*
          * Add it to the IO-APIC irq-routing table:
          */
-        ioapic_write_entry(ioapic_i8259.apic, ioapic_i8259.pin, 0, entry);
+        ioapic_write_entry(ioapic_i8259.apic, ioapic_i8259.pin, false, entry);
     }
     disconnect_bsp_APIC(ioapic_i8259.pin != -1);
 }
@@ -1841,7 +1841,7 @@ static void __init unlock_ExtINT_logic(void)
     if ( pin == -1 || apic == -1 )
         return;
 
-    entry0 = ioapic_read_entry(apic, pin, 0);
+    entry0 = ioapic_read_entry(apic, pin, false);
     clear_IO_APIC_pin(apic, pin);
 
     memset(&entry1, 0, sizeof(entry1));
@@ -1854,7 +1854,7 @@ static void __init unlock_ExtINT_logic(void)
     entry1.trigger = 0;
     entry1.vector = 0;
 
-    ioapic_write_entry(apic, pin, 0, entry1);
+    ioapic_write_entry(apic, pin, false, entry1);
 
     save_control = CMOS_READ(RTC_CONTROL);
     save_freq_select = CMOS_READ(RTC_FREQ_SELECT);
@@ -1873,7 +1873,7 @@ static void __init unlock_ExtINT_logic(void)
     CMOS_WRITE(save_freq_select, RTC_FREQ_SELECT);
     clear_IO_APIC_pin(apic, pin);
 
-    ioapic_write_entry(apic, pin, 0, entry0);
+    ioapic_write_entry(apic, pin, false, entry0);
 }
 
 /*
@@ -2287,7 +2287,7 @@ int io_apic_set_pci_routing (int ioapic, int pin, int irq, int edge_level, int a
         disable_8259A_irq(desc);
 
     spin_lock_irqsave(&ioapic_lock, flags);
-    __ioapic_write_entry(ioapic, pin, 0, entry);
+    __ioapic_write_entry(ioapic, pin, false, entry);
     spin_unlock(&ioapic_lock);
 
     spin_lock(&desc->lock);
@@ -2476,7 +2476,7 @@ int ioapic_guest_write(unsigned long physbase, unsigned int reg, u32 val)
         rte.mask = 1;
     }
 
-    __ioapic_write_entry(apic, pin, 0, rte);
+    __ioapic_write_entry(apic, pin, false, rte);
     
     spin_unlock_irqrestore(&ioapic_lock, flags);
 
@@ -2529,7 +2529,7 @@ void dump_ioapic_irq_info(void)
 
             printk("      Apic 0x%02x, Pin %2d: ", entry->apic, pin);
 
-            rte = ioapic_read_entry(entry->apic, pin, 0);
+            rte = ioapic_read_entry(entry->apic, pin, false);
 
             printk("vec=%02x delivery=%-5s dest=%c status=%d "
                    "polarity=%d irr=%d trig=%c mask=%d dest_id:%0*x\n",
diff --git a/xen/drivers/passthrough/vtd/intremap.c b/xen/drivers/passthrough/vtd/intremap.c
index d0f70d90eb..01152f2006 100644
--- a/xen/drivers/passthrough/vtd/intremap.c
+++ b/xen/drivers/passthrough/vtd/intremap.c
@@ -427,7 +427,7 @@ unsigned int io_apic_read_remap_rte(
         ( (index = apic_pin_2_ir_idx[apic][ioapic_pin]) < 0 ) )
         return __io_apic_read(apic, reg);
 
-    old_rte = __ioapic_read_entry(apic, ioapic_pin, 1);
+    old_rte = __ioapic_read_entry(apic, ioapic_pin, true);
 
     if ( remap_entry_to_ioapic_rte(iommu, index, &old_rte) )
         return __io_apic_read(apic, reg);
@@ -448,7 +448,7 @@ void io_apic_write_remap_rte(
     struct vtd_iommu *iommu = ioapic_to_iommu(IO_APIC_ID(apic));
     int saved_mask;
 
-    old_rte = __ioapic_read_entry(apic, ioapic_pin, 1);
+    old_rte = __ioapic_read_entry(apic, ioapic_pin, true);
 
     remap_rte = (struct IO_APIC_route_remap_entry *) &old_rte;
 
@@ -468,7 +468,7 @@ void io_apic_write_remap_rte(
             __io_apic_write(apic, reg & ~1, *(u32 *)&old_rte);
     }
     else
-        __ioapic_write_entry(apic, ioapic_pin, 1, old_rte);
+        __ioapic_write_entry(apic, ioapic_pin, true, old_rte);
 }
 
 static void set_msi_source_id(struct pci_dev *pdev, struct iremap_entry *ire)
diff --git a/xen/drivers/passthrough/vtd/utils.c b/xen/drivers/passthrough/vtd/utils.c
index 4febcf506d..70add3cc8e 100644
--- a/xen/drivers/passthrough/vtd/utils.c
+++ b/xen/drivers/passthrough/vtd/utils.c
@@ -281,7 +281,7 @@ void vtd_dump_iommu_info(unsigned char key)
             for ( i = 0; i <= reg_01.bits.entries; i++ )
             {
                 struct IO_APIC_route_entry rte =
-                    __ioapic_read_entry(apic, i, TRUE);
+                    __ioapic_read_entry(apic, i, true);
 
                 remap = (struct IO_APIC_route_remap_entry *) &rte;
                 if ( !remap->format )
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 16 12:58:08 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 12:58:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167331.305421 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFcBn-0000WH-Pf; Mon, 16 Aug 2021 12:58:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167331.305421; Mon, 16 Aug 2021 12:58: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 1mFcBn-0000WA-MZ; Mon, 16 Aug 2021 12:58:03 +0000
Received: by outflank-mailman (input) for mailman id 167331;
 Mon, 16 Aug 2021 12:58:02 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=3tuO=NH=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mFcBm-0000W4-HJ
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 12:58:02 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id b02be02f-d70f-4e58-b029-d1c99d983d44;
 Mon, 16 Aug 2021 12:58:01 +0000 (UTC)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2057.outbound.protection.outlook.com [104.47.13.57]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-28-vrIqcS-jP8aXeHX6ir7Z6Q-2; Mon, 16 Aug 2021 14:57:59 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4190.eurprd04.prod.outlook.com (2603:10a6:803:4b::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Mon, 16 Aug
 2021 12:57:55 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.023; Mon, 16 Aug 2021
 12:57:55 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0207.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1f::27) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Mon, 16 Aug 2021 12:57: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: b02be02f-d70f-4e58-b029-d1c99d983d44
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629118680;
	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=LoVMMJnXTuj51mnjJV/gHxsypoXFIvEdXo8115uGv7g=;
	b=eN+H76BipD3OFX/An6LtTR9TMNioFpMJ4Ouy3iaDWBGoREr2CeJxFI77BeAxYIEaqQ6OgQ
	cxu/1QsTNlQ0A1DLXCDy52OwWIWJ2aVfH6KZkVgLIByLpkaGg0iubFBzTTmYJ6lfhT+x1M
	j6OZIs8NMMEB9SLFEDFyRjhyo8qrQ7I=
X-MC-Unique: vrIqcS-jP8aXeHX6ir7Z6Q-2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lhvTNbNqPR8ZUfcgHUPrx8kz/VwqU+6ms4Lnm6pkLt9DUB7+9ByMRawd0pHFWOSZIOWI8sIZn78piRevkp2+OF1E1HdngcH8V9y/w2w1yFoqQJuicJZDoqZJcWkMuCELxWI+quEaoJ2OiaDMIwW/yjqXyg6Kh0QHzfidA4k8oKhsnUunc+kCU0RWRcCfBa3b4ifC/N2His1sQMVg/+bhEWjITEN6Ty82DoF0sajh6SCiJm64POhbyHsG4j1Fn415ZOcj2dekb5Z3rIHH6Js5+j2HN7/MFFLvm4sTtbYXCPm/kCURxq+kBxBwWHaonRNPuekKOm2taGyAwSFqhEYSWA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=K9vFlkNw0IMkPaHSuMlVQuZNTssPIbuL561oH5v+rFg=;
 b=WEcP6H+t0otIs5XDNeXurSwIAC/p7j979o1PkA+iPvPn4Av+wkTjcq1BhC38MqaAiqlfAR701dGcn5MnBwwux4XSGI4ZCPJK/S+Y5I61NuDQ2oV3QNU7LdgUYnL0Ny+WeNF5ED05MvEaD2Dk+pk7HkiFEL11KiKRA30tpqxvs7vAF6KNvgBL5chdf4xaPe3XjOmxlDEpWzq1PH3CYUxDr/hTGQdb+QX/tkHSXIdmm9GocXVWUxXuLksNTuZOLMlX5arWvC3iopBAPNFZjPWMrCVjDXK0UpnMTDttyW8Ivt3NKLosf0noAnLYk6xX0ZEDQBoUN5VqO6hFYjM4/tXXXw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: kernel.org; dkim=none (message not signed)
 header.d=none;kernel.org; dmarc=none action=none header.from=suse.com;
Subject: Re: [PATCH 2/2] xen: rename wrong named pfn related variables
To: Juergen Gross <jgross@suse.com>
CC: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, "H. Peter Anvin" <hpa@zytor.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org, x86@kernel.org
References: <20210616073007.5215-1-jgross@suse.com>
 <20210616073007.5215-3-jgross@suse.com>
 <8dbeb9ea-56c9-de30-4d5f-fc9c0ced6ac4@suse.com>
 <79434ec4-4543-97ad-b010-3f2c1b6a55ad@suse.com>
 <b9c64bcd-4192-0075-ddf5-711e84301063@suse.com>
 <94d629fd-27e2-f2be-ed26-c3e04e95c5b4@suse.com>
 <4a5d8b43-7ffa-cbcd-943c-3c459d56e55e@suse.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <257be998-be20-407b-144b-db66ca4b5928@suse.com>
Date: Mon, 16 Aug 2021 14:57:53 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <4a5d8b43-7ffa-cbcd-943c-3c459d56e55e@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: PR0P264CA0207.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1f::27) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 967e1384-69f1-4a9c-d9f9-08d960b576e2
X-MS-TrafficTypeDiagnostic: VI1PR04MB4190:
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4190B39D2641F9AC999418C4B3FD9@VI1PR04MB4190.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	sr08BwiFnwCCCu8YLVGMfPKHJNaONDAgyctAagvmdFWmwUsXY6Ot3yyyx5TULRwBhJ+VXaCl3+i0nYfyKIq39SOOZ1YPFUxZbNszcTEH9Bx7AXGgYibOFs6sQ5+XaQgAfiI3Xb2rnAMNIApwsUw+HFqG4ZcrRYRmqfB3ncFMW4QDe8X1qtcr1kNZMcj74QayW+TgSOO7t4hzqq39ZvQY6Hh6niv9PgLcCGJYJJ6peyro2Pn5HXLDWmnBcDn+51eipI4EvdQlAEDpqLSDen3Q0Un/lydevBOxzi7pXiW8KR+CNwQzcsQidHjW9HEzVXPVD8hqm8DqdXUujtdHwxlhI3CzAg1rHtP7M5tRCQLSK3IeQ4FvzMMsuTWfsOeLIiA7mrOW+iLBDIAm5iCz81kDtiyE2hmlaaHtj2cX7Dy3Avfj9FctQgXfFvitg7MfSZmi9achCnj3mfM72sIZuQ9/2E5hsrKVGxP0dKXhj/oZFzK2zFc8DhAbnnsKbucNYCsTP3g9T1HABFJrgo/OBZY4td5snedcLMvUvetUcI5xysGabGslPXKU7s/yEl7RgTUNyPmfeOP6yAYlM23qUAgEtXAK71pc2XorSnrz1AYWasbt5q7T8i6T+HWuhGCUQsRWe6YYz3riuG1+j71faxi4XD5cQTo1K5YGhQj8W8KU7LBvSVtd03deXzMi7zcVwITo3hLHE2F3AQhzhq3yznwgbiwoCObAqmVthIPTyvSf2ns=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(39860400002)(396003)(346002)(366004)(376002)(136003)(36756003)(2906002)(186003)(54906003)(26005)(6486002)(6862004)(6636002)(5660300002)(53546011)(4326008)(316002)(31686004)(956004)(2616005)(16576012)(31696002)(38100700002)(8676002)(37006003)(8936002)(66556008)(66476007)(66946007)(478600001)(83380400001)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?I4qaslQkdHfNBJM+Lb1E1PKA4lkvRuq1UZgw8+ve0eeBI18z0LGNrlmWIKlQ?=
 =?us-ascii?Q?9mX9N/SkWeLCMEKVmaNtPW8l1QHzhTwPzTD+0JhJUqaCusOtn/X9PKhIs+K5?=
 =?us-ascii?Q?/j3WXkJX3i2znLqniUDwU2F5rUVg9qTf8+Nog1RpE4bGsu3e/fMmXkXTlrwa?=
 =?us-ascii?Q?1aq72n1KtcS2ay70lBDYPwP4ujDfmppjOwsyek/LQ8v066Pu1KbhU3fPW/UL?=
 =?us-ascii?Q?tcozelMVnFNvcSW7YVyeNBhgvfidnPmJKrhxfNwqFNrTR88lMpRuRREwCDrs?=
 =?us-ascii?Q?KMc615cFgRLEGf/nV9q82UpCHM15CGgG2jqTWRs/UCxdEWiOCPisjLvSRVL3?=
 =?us-ascii?Q?+/04YICsy46fpWzGT3pO6pClvRdI22WmzSMN75SKdlYvgqbuNb6CCz6h4/bd?=
 =?us-ascii?Q?Lltj7XHZ4vGhzkJAi100aRBVbeyxqmFOP4YlQ8od9qKwXNwoqBiV5NqJ7qKM?=
 =?us-ascii?Q?+ioYjvChpEtNpbyO9dQnOeZ/rJLZyzWvd0QeQkwl+KLJzK9u45YZ0knjw+FH?=
 =?us-ascii?Q?GL6DrjijhrwS2NgjX1IH7YzAn1snf44OIX0lGWmcL42YJLQuNwPcuOIuA+50?=
 =?us-ascii?Q?UTomW3rYanKclAZC1MLLArkenQPImJZ2K9tIzwDQUZPOr9DC+RnrB5Fxxd33?=
 =?us-ascii?Q?S0t3OMzDyHVCP4tza1oChx4NrLjCvvpGCdR5Yg5xBDkkPJSWOyCXb52000Eb?=
 =?us-ascii?Q?47O+UPzT1TAw2IACnDQezgNmwYOIspl8Thnm6025IifDg0Gl8t/PumsJRorb?=
 =?us-ascii?Q?ImiVDOrCtCeVaPYp6AjgSedxTJ8h+z3U1OdxncZTOd78geRp5JDdIZoL7WjS?=
 =?us-ascii?Q?hr7s1shNNkzW+sDGQUSeBIrnYBsEOVbPkHMccp0QfUHvx9w4FJuJbYBKW415?=
 =?us-ascii?Q?pDEDOcL88QjncUjH2cXfHXcW3VKtchVcS17LjkPHBk2NSZuM/uYf/VpN0C/K?=
 =?us-ascii?Q?9HpJMjiJr6HtccjLbT7G8e/BzFfEW0BSuu/G3FdkWDnXDKL8ARaMVqz4Nsct?=
 =?us-ascii?Q?tFM7q8EImRhLkoyk/j81hqsRPoHLUP7rtQWpl9QYl+ijPVTFF0wj4AWUigJz?=
 =?us-ascii?Q?ebSAXoz4FogAw0JqYOI4b2FPzOv0sj9vVUPgmtjdFsCUffliIhBWuDVIDgHu?=
 =?us-ascii?Q?vsBBX1O0GQ1c5Kyi/EL7TknlG7kIrjaKlHbXOUwNVMMTUwjen1KhXNGjrN9Y?=
 =?us-ascii?Q?YHTjC0J8HSd/Oh+y9JUbn0UJKyBJHTQ+P5hyaICeRZDV/DhyTTemktNJrxgX?=
 =?us-ascii?Q?A0/Ekt4BW9ED+ev4bgWWNNaL78OcgJj6pfjvBFiZmq1cmTMcg9YIL49q8Gqe?=
 =?us-ascii?Q?rQh39kfcq8DMx9SkaMXrScnw?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 967e1384-69f1-4a9c-d9f9-08d960b576e2
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2021 12:57:55.0330
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: LWSrbIdoZqOUV9krrMhJ1mEEXbc73B4YH78DqRVhgoThRmraMowl6xIWlEDMrMmZvSC/J//QyHo0a3vzfZe2IA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4190

On 16.08.2021 07:25, Juergen Gross wrote:
> On 03.08.21 12:42, Jan Beulich wrote:
>> On 30.07.2021 11:00, Juergen Gross wrote:
>>> On 16.06.21 12:43, Juergen Gross wrote:
>>>> On 16.06.21 11:56, Jan Beulich wrote:
>>>>> On 16.06.2021 09:30, Juergen Gross wrote:
>>>>>> --- a/arch/x86/xen/p2m.c
>>>>>> +++ b/arch/x86/xen/p2m.c
>>>>>> @@ -95,8 +95,8 @@ unsigned long *xen_p2m_addr __read_mostly;
>>>>>>  =C2=A0 EXPORT_SYMBOL_GPL(xen_p2m_addr);
>>>>>>  =C2=A0 unsigned long xen_p2m_size __read_mostly;
>>>>>>  =C2=A0 EXPORT_SYMBOL_GPL(xen_p2m_size);
>>>>>> -unsigned long xen_max_p2m_pfn __read_mostly;
>>>>>> -EXPORT_SYMBOL_GPL(xen_max_p2m_pfn);
>>>>>> +unsigned long xen_p2m_max_size __read_mostly;
>>>>>> +EXPORT_SYMBOL_GPL(xen_p2m_max_size);
>>>>>
>>>>> Instead of renaming the exported variable (which will break consumers
>>>>> anyway), how about dropping the apparently unneeded export at this
>>>>> occasion?
>>>>
>>>> Why do you think it isn't needed? It is being referenced via the inlin=
e
>>>> function __pfn_to_mfn() in arch/x86/include/asm/xen/page.h. And
>>>> __pfn_to_mfn() is used via lots of other inline functions and macros.
>>>>
>>>>> Further it looks to me as if xen_p2m_size and this variable
>>>>> were actually always kept in sync, so I'd like to put up the question
>>>>> of dropping one of the two.
>>>>
>>>> Hmm, should be possible, yes.
>>>
>>> Looking into this it seems this is not possible.
>>>
>>> xen_p2m_size always holds the number of p2m entries in the p2m table,
>>> including invalid ones at the end. xen_p2m_pfn_limit however contains
>>> the (rounded up) index after the last valid p2m entry.
>>
>> I'm afraid I can't follow:
>>
>> xen_build_dynamic_phys_to_machine() sets xen_p2m_size and then syncs
>> its value to what so far has been xen_max_p2m_pfn.
>>
>> xen_vmalloc_p2m_tree() sets xen_max_p2m_pfn and then syncs its value
>> to xen_p2m_size.
>>
>> I therefore can't see how the two values would hold different values,
>> except for the brief periods between updating one and then the other.
>=20
> The brief period in xen_vmalloc_p2m_tree() is the problematic one. The
> different values are especially important for the calls of
> __pfn_to_mfn() during xen_rebuild_p2m_list().

I'm still in trouble: Such __pfn_to_mfn() invocations would, afaics,
occur only in the context of page directory entry manipulation. Isn't
it the case that all valid RAM is below xen_p2m_size, and hence no
use of

	else if (unlikely(pfn < xen_max_p2m_pfn))
		return get_phys_to_machine(pfn);

would occur during that time window? (We're still way ahead of SMP
init, so what other CPUs might do does not look to be of concern
here.)

Jan



From xen-devel-bounces@lists.xenproject.org Mon Aug 16 13:08:52 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 13:08:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167336.305432 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFcMB-00020f-Ro; Mon, 16 Aug 2021 13:08:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167336.305432; Mon, 16 Aug 2021 13: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 1mFcMB-00020Y-OT; Mon, 16 Aug 2021 13:08:47 +0000
Received: by outflank-mailman (input) for mailman id 167336;
 Mon, 16 Aug 2021 13:08:46 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=3tuO=NH=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mFcM9-00020S-UX
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 13:08:45 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 151284de-fe93-11eb-a45e-12813bfff9fa;
 Mon, 16 Aug 2021 13:08:44 +0000 (UTC)
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2059.outbound.protection.outlook.com [104.47.0.59]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-10-o_Wpqe2UNCKzYaEpvF7NKw-1; Mon, 16 Aug 2021 15:08:42 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0401MB2446.eurprd04.prod.outlook.com (2603:10a6:800:4e::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Mon, 16 Aug
 2021 13:08:37 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.023; Mon, 16 Aug 2021
 13:08:37 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0236.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1e::32) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.13 via Frontend Transport; Mon, 16 Aug 2021 13:08: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: 151284de-fe93-11eb-a45e-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629119323;
	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=j5azVcgwWP9+6tMcIcckGSE2Y3aiVNJlyXCWibodJzg=;
	b=lWriwrJLJZRkMupviypgyAz27BiWoSyOQZM4RJzKEz6UJsZ8KtIlFwPLzO7jAv2Ldcm5qE
	weirD7y+EaTLsNDsHI5EvKDV0gxILTBVh33JAjItcOrP6Vojli8iQt7x5ddF+EikNX5uX8
	GB8WV+zyAoTX9ozcJkqimNElZbqo0+I=
X-MC-Unique: o_Wpqe2UNCKzYaEpvF7NKw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=X0wfOwkGK83Cj2XqMUBu1PFG8M2rnpEJnlgntUuGEYO6R22JOaVVY5YtZU0iwx+z1d/tQv2rn4JOYwRja2SlIp2qlTpQ2r0TDxFbnb0TDnEE+ZyJQB482dEAYjj+Iq+2ZJraXXttHoUI/wf14vxes8Q9A/JABMMPYH/8wbv+z+bRntOXKCGWYh3wPtNsQmu2H6j21XBhu+Ks9U1pZdaxWClBysCs6PgP7gnlsivj/H2u3GlyUp3l2u/gKNrj1QqBOFSobAja2aBMsePFdF0UtnAJZfKTatvjZMwIW2ZRQy2qkgSaYOMiIVQoikLSI5qZM/gnYWFW0RfGPp05zYWNwg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=j5azVcgwWP9+6tMcIcckGSE2Y3aiVNJlyXCWibodJzg=;
 b=jECgMyNh76l3y5S+0qgPSCHRphfnde4Zhbh8DqVGrbVFxPIoOVuU5cS+Sl+eIMKDet5ARQ2G2UQXwkpZX7McVEXt2GK+LK7I1ctTOAdpkVsDleO5eGs3x3HEQYy60meXoE/2VW2A10dXQM9tAX/szKYxvQ2hLN+zBQvmvkourYmWynq/9qIvfKL1LRIRv+52BlnLuEze/cLY7vVjrXV/IXBb4ZFrBpXKqN7VkfN5A71PJezl4CbEfTq7h5F8Jy2L8ug4KpwB00QvBilPa5grOQ5KUw8ecCVQ7JFd5d6l6kyycYwapUy1au58PvAt1VlWZxcumwmwHWE5+4JS6aWpZA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v3] x86/ioapic: Remove use of TRUE/FALSE/1/0
To: Kevin Stefanov <kevin.stefanov@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>, Kevin Tian <kevin.tian@intel.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20210816124255.27405-1-kevin.stefanov@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <57dbe75c-4dfa-f640-ad8f-1ba5c5af628c@suse.com>
Date: Mon, 16 Aug 2021 15:08:35 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210816124255.27405-1-kevin.stefanov@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0236.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1e::32) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: bf5edc70-51bc-404d-2bf1-08d960b6f5d5
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2446:
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB2446F1B087DB498F653CF347B3FD9@VI1PR0401MB2446.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:1247;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qE8YH14ArMCkebbv/55VXqtcwOh2Pr+mqrPl6sPwKnsIPAo0fpHxpglwPVGlCYAKoF07SQBeYJqXp05EsyPN6AbhkWk/KELcQ/IpPMpmytTZOJ8f1RKUP26BTi0ny/3Bcp/nvWRptGe9WNZrPoUIzd381ax/jRcqOtSF5coy9KBgiBbSOazVXJXaJJUVK5bJ9rYmzQoputWA4NcYCCBMOPWkfyhwUTBqnA/fkV7bL52qLcvKj3y+PYlxJ/+npgLoqNxaWdbQBFWginlcNI2ifAlQ04CRMuQMZ0yBWgquYDjtArmH83s5rvhYyJLGU+lCshdIzsdGchdQvXuY52uI9gi3K03oArmfhNnpwPvwNclFpuE9VQ9f7Azsuc06flFvJBhb80R4DqZHvLLkem8gLUuN6m9cFAUcHhmbBWyGhSMcchdrflV/uxhwLEEd24Lj79pUSfGoKmLjkxemOxX2XvZo2KubZI4KJ7eJ9ZF+nk45LLsanzMjhIEY4xmMGwlzTwEtTehoC37HEwbZDaAwFmLJtkHQC9NbgPaF63//KzDeLEUWS1435QmF4iaU/kqp9oGlc3pzzBJeu0itxq5zJRkj828jOZi3906RRhWa/RZOM4okKVSP2+dOEfxApL5heB45Q+JTqI2mHZtOpjyrTXxYKcAk0+fWzrejceZMwPfqMVYTjeKwLR/7vpdtrT50Cauo55cZN/+jx+56Y0x1wbP9X0lNV3Vru8Zoq3nccqM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(346002)(136003)(396003)(39860400002)(376002)(26005)(66946007)(53546011)(16576012)(2906002)(8936002)(31696002)(4326008)(478600001)(5660300002)(316002)(66556008)(86362001)(66476007)(54906003)(186003)(8676002)(31686004)(38100700002)(2616005)(558084003)(6916009)(956004)(6486002)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QkhwR0xmeDdHTVBOTzhJaHI2VTJSRXBpejIrblNwdVFOQ0h3d2xLb0MxZW1u?=
 =?utf-8?B?TVZ1c2NuRS9MUU02aitpMTloRFNVM051VWNnbUVUakRoZ3NWSnByc3hleWRm?=
 =?utf-8?B?Rk9BaWVoSVVjbVRhL2xRVEl5QjFteTN3Y0E0eDBoWHIyZm1scEtsWXVjczZW?=
 =?utf-8?B?TDlURFVlMHN6OFdZclNJOTRQSlBFYm5KWWxta01VOGJpWGUvZ2VaUEZyeXVT?=
 =?utf-8?B?M0tTdkJSS084S0lDREtHOGFIdjAraXBPSXFha0N1TndETzFJSFZrdFZUS0JI?=
 =?utf-8?B?R09iZ2g4ZXFUaTIwUFJaYWxBUVp4R1RxNlRSV3dWWHZuYmpTS3hsU0FsWDNC?=
 =?utf-8?B?aGc1dHU4MnBZQWNCdndKSktLQ1oxblJ4RXB4Rk9EMnMzTmFVS2MyMWc4UnRn?=
 =?utf-8?B?OC9qZGxRMXVTS056cGJIQ3NPd3dKWXU4NEprUUIvS3FOUksvMGp3eU5kVkRw?=
 =?utf-8?B?Sm90ZWw5a3VsUFRCUG1IYys3QWV5Q2VCbCszQ3lueVM2SG1uZXo1ZGZXakR5?=
 =?utf-8?B?YUhLNXhYaTFXamdjRG9xSjJNRnJZU3NCUStzRVRmYlBSRE9xN0RNbGJlMU5w?=
 =?utf-8?B?ZUd6YW5wTGo5ZERRUkFyeFd5eTBnUkVTQ0QzTHJTVmFwcGorWXgwc3NyTk93?=
 =?utf-8?B?ZkhEVm1VRkFMdTNSUElwaHZoQ3FBTHFBa21IOXpTU3I2SExvQldrMkxwa1Fo?=
 =?utf-8?B?VzFPWXNSK3FwbkI2c0dacGdDK0hYMU44ektkLy9KVTc4eS9HelR6dlVKcjBU?=
 =?utf-8?B?alJaOGdXWDZLR2UwV3ZxZUZ6ZnpzVU5RV3NMdUFjeVRrbFBPb0h3anNJWS9j?=
 =?utf-8?B?Zi9YMVROVlV1NGVGeFIwa3IrRXNENTV0N01RNk9td1IwOG1hNCt2bW41NkRP?=
 =?utf-8?B?dE0yVTVrQkZvU1gzUWVud2hQVERSbXliZVBWV2dxQVFlLytuLzVER2FkNnlu?=
 =?utf-8?B?VWI3c25PODBTTFU5ZnVVNnhOTEIxY2RnK0VVMmJLSHFEKzBtcHo1U3o2akhC?=
 =?utf-8?B?anBwR3pYRTlLbDFlM0NjSUlrWUFNM05ndFRqbnVmUVo2eE9ZTStCMTV5Y3N4?=
 =?utf-8?B?ZWlCL3RtY1d5QktQcFFDVUJJL3M3U2owMUVCY1J1ZlBDU1M3STFUeSswaFBB?=
 =?utf-8?B?UWkvY21QYWE3NVVqKzJaU05LSlRDbHJONU1aRUZLQ2M4V3RjaUdUN0ZvTndG?=
 =?utf-8?B?VGh0SXUzeitxUzlaQlBDMmpkc3UxdG4wblZKTTZQZlRQcWhEQm5rMk9aR2N5?=
 =?utf-8?B?RmtGdkh4bFpGL2xVdHEwSS9ZRmVMSHJ2eTJBcGVVK0pRb2hiYXRwejRmZzBy?=
 =?utf-8?B?UHpsVlFOOUY0QjQ5b3VvVWdFYW9iaDVpNXFLWDRFVXRod2J6aEw0ZU1KTDZz?=
 =?utf-8?B?YnZmb1UzME9FZnplcjNkcjVsbTFNRmhpay9ybVpwRmxlQTlraVhTeTJwTEFx?=
 =?utf-8?B?cmQzMTVsMTdUU0VZWUU2dFVhMlhVTnBvZ2lRRVJTMzlLZ1RmamVpemtYNFEv?=
 =?utf-8?B?NC9pbG9LUHhDZkE3eDBGL2p3UERqbG5RZ0lvVDhGdk8zQjU1M0k0S2RlQ01s?=
 =?utf-8?B?Tk1jQVlxZzlQeWNTU3Rnc2pGdnUyMHlodHZVYWZTaVZQS3JwMkVyQ3AwanRv?=
 =?utf-8?B?NmEwbE5IYi9HTmhScDRjWTJZdzBuaG5INGhUOEFvT3FEMVhPVk5qMjlkOTFh?=
 =?utf-8?B?UUxqb0MwZ3VQNGQ3bjAwa25ITlMwbTlVSjhNc2FTZlBqVTZFdWR1UkJGeERj?=
 =?utf-8?Q?OHHGTevKcU67LWhg3ZZVKGKokSlnpsth3cq5PXM?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bf5edc70-51bc-404d-2bf1-08d960b6f5d5
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2021 13:08:37.5308
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xpKRKbGFauwtTKmV4AercELfiaajnnqgr9F93XLbNAvFCrrf0u+xwS66967ujMawTxGrVtmwgLwko8b3gFgvNQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2446

On 16.08.2021 14:42, Kevin Stefanov wrote:
> Also fix stray usage in VT-d.
> 
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Kevin Stefanov <kevin.stefanov@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Mon Aug 16 13:35:30 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 13:35:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167348.305459 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFclo-0005Wm-AL; Mon, 16 Aug 2021 13:35:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167348.305459; Mon, 16 Aug 2021 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 1mFclo-0005Wf-6t; Mon, 16 Aug 2021 13:35:16 +0000
Received: by outflank-mailman (input) for mailman id 167348;
 Mon, 16 Aug 2021 13:35:14 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Flmd=NH=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mFclm-0005WX-JT
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 13:35:14 +0000
Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 9cd43071-3a08-48ee-867c-bef8d2ab4669;
 Mon, 16 Aug 2021 13:35: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: 9cd43071-3a08-48ee-867c-bef8d2ab4669
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629120913;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=J3Rz2pdrx18ZZ+7VvhEz+bCgJyTqT/VHf8O3JBJwNHM=;
  b=g11IB4PSQH4/8zcca4O/Aon7Q3Lyj0Bb88vNwdpCebJJTry6xKa9uzSB
   RhmsDDa21grmvuz1baYHUI9VycLAnefQIGe60qRjJbNsIQQbrRXeOrHE5
   P+ZksRqV/jZAtivifpFZBTLkLj1s9ZJRz29J2qrudbsuJf2h97KqziSSs
   Y=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: nNue01P5FLgoYh+xBhs4YIh16TNPfWBgrZvqWI45iUDd17kox+qCjxF8ZoZ78XKeucBIrNKjSL
 eSDUOOWACCfmsmNH9epUiwlc6cL6qw6Zf4Q4q98khZ19Uz0d1KEq5vkdMe8xpdXLEtHnqC95CS
 iUbY+8n2g8ClNObjX9AsmsN0dQLE8NnPFYSh1x2w9HsHl5VTvxsz2qlY96xgEmgh5MznpWEENh
 tVGVzGoFiK4aYtN68B8l7TjS5xbPgRqwhatU86wxtvoYzVENosqEu+HctFebxEyNlH3UFJrJf6
 1IZipsiKRNENmBX7AXsPb6yT
X-SBRS: 5.1
X-MesageID: 50526644
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:Gp7mI6Psp5xmS8BcTs2jsMiBIKoaSvp037Eqv3oedfUzSL3+qy
 nOpoV+6faaslYssR0b9exoW5PwJE80l6QFgrX5VI3KNGKN1VdARLsSi7cKqAeAJ8SRzIFgPN
 9bAspDNOE=
X-IronPort-AV: E=Sophos;i="5.84,326,1620705600"; 
   d="scan'208";a="50526644"
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/ACPI: Insert missing newlines into FACS error messages
Date: Mon, 16 Aug 2021 14:35:05 +0100
Message-ID: <20210816133505.32484-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Booting Xen as a PVH guest currently yields:

  (XEN) ACPI: SLEEP INFO: pm1x_cnt[1:b004,1:0], pm1x_evt[1:b000,1:0]
  (XEN) ACPI: FACS is not 64-byte aligned: 0xfc001010<2>ACPI: wakeup_vec[fc00101c], vec_size[20]
  (XEN) ACPI: Local APIC address 0xfee00000

Insert newlines as appropriate.

Fixes: d3faf9badf52 ("[host s3] Retrieve necessary sleep information from plain-text ACPI tables (FADT/FACS), and keep one hypercall remained for sleep notification.")
Fixes: 0f089bbf43ec ("x86/ACPI: fix S3 wakeup vector mapping")
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>

As to why the FACS is misaligned, clearly that is a bug in the domain builder
for PVH guests, but I don't have time to go debugging.
---
 xen/arch/x86/acpi/boot.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/acpi/boot.c b/xen/arch/x86/acpi/boot.c
index ff4685279f68..8fe2d6fe0f42 100644
--- a/xen/arch/x86/acpi/boot.c
+++ b/xen/arch/x86/acpi/boot.c
@@ -432,19 +432,19 @@ acpi_fadt_parse_sleep_info(const struct acpi_table_fadt *fadt)
 	}
 
 	if (facs->length < 24) {
-		printk(KERN_ERR PREFIX "Invalid FACS table length: %#x",
+		printk(KERN_ERR PREFIX "Invalid FACS table length: %#x\n",
 			facs->length);
 		goto done;
 	}
 
 	if (facs->length < 64)
 		printk(KERN_WARNING PREFIX
-			"FACS is shorter than ACPI spec allow: %#x",
+			"FACS is shorter than ACPI spec allow: %#x\n",
 			facs->length);
 
 	if (facs_pa % 64)
 		printk(KERN_WARNING PREFIX
-			"FACS is not 64-byte aligned: %#lx",
+			"FACS is not 64-byte aligned: %#lx\n",
 			facs_pa);
 
 	acpi_sinfo.wakeup_vector = facs_pa + 
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 16 13:59:02 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 13:59:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167354.305469 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFd8b-0007vB-5P; Mon, 16 Aug 2021 13:58:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167354.305469; Mon, 16 Aug 2021 13:58: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 1mFd8b-0007v4-2W; Mon, 16 Aug 2021 13:58:49 +0000
Received: by outflank-mailman (input) for mailman id 167354;
 Mon, 16 Aug 2021 13:58:47 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=3tuO=NH=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mFd8Z-0007uw-7h
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 13:58:47 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 1177a9bb-fe9a-11eb-a45e-12813bfff9fa;
 Mon, 16 Aug 2021 13:58:45 +0000 (UTC)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2107.outbound.protection.outlook.com [104.47.17.107])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-21-kMUgs-rDMk6WNzwZocpKhg-1; Mon, 16 Aug 2021 15:58:43 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0401MB2447.eurprd04.prod.outlook.com (2603:10a6:800:53::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13; Mon, 16 Aug
 2021 13:58:41 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.023; Mon, 16 Aug 2021
 13:58:40 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR02CA0036.eurprd02.prod.outlook.com (2603:10a6:208:3e::49) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Mon, 16 Aug 2021 13: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>
X-Inumbo-ID: 1177a9bb-fe9a-11eb-a45e-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629122324;
	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=cawSzcYJfROd2jb4EE2GMwzerhen/U4FzMbtEMqPZnY=;
	b=FVx+NgHLFWxW89MZ9sqYRnJZwP2JATHjQMbgrfUBpnG8QSjadHxnDnMfofJDbJVIxAgjZP
	KaNfiT5l1pBvXKB9OV1e1fyEOmK/upgNyQORbWybU0y2A4JxZchnk0pH0/bXyeHkPLUL5b
	7EkuF2W40GbB89awj1BOAIYnx72Imc8=
X-MC-Unique: kMUgs-rDMk6WNzwZocpKhg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=C7KKW8IcaQKxA5sRcRg2LBFzGy3M1ExlZHF0X9i5QP4Z9R7KyEOpBrWfar8ywTzd/3xNUE4c/P5QSzJfzY2KpvnSgg1zlNXVsF5uVmI1SEe2ZxqwaPEEhvhbgrMDCRidbeOBHJXsvPZm1DacVSyFgC0u6OFO+qv90DEkYpMFmHz3aFGLvgTGf7at2UcxmgRKFv3q0Jp03Q/VNLOAy68KAQLsbVY/bCvLmSEkPAEViwXjuKe+w7QWt2SS96JRCRK3JNa8Us+3B6N3fGWT+3lNARB0rPCB04YCe1hqdx+GWCvU+avY7A87ZvjmYFupOc+MkUWMheTrWVmaANgDNEJ5KA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cawSzcYJfROd2jb4EE2GMwzerhen/U4FzMbtEMqPZnY=;
 b=BBj39jka9Rzh0Jjflj/oNhUPa7jhl3brJE76NA+IrAg+cw/Xb2UCtFFbDnfL2W39aeLMP5ga3Wc6vpuQ2tM5yHgFTinEhJ2eXfSstBsj/DYC3s+XigfKKDX05rlNgv8IfEIFbm1bvBR2emnrtDqI6gKHrQ3vBaF7l/qgjeJRtJdkL9CGG6/FGm5glZpBezeGKG+9M/LYbkdZRHZ5E9JdoJP9jDYLd4aI6O79ohTZM0VGQ1fEl4f73EiGtQ9lBD5hP5Fnwp8T4slbwWSNOs5kUSdGChmgX4W1k2O8GDtWuQB0OzT2S1aFYMTGQgGgTfio13Hg4jdZAf7AN1DEy/4vIQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH] x86/ACPI: Insert missing newlines into FACS error
 messages
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: <20210816133505.32484-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <72a41c5c-5d4e-ed4f-dd3a-e41d13447000@suse.com>
Date: Mon, 16 Aug 2021 15:58:38 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210816133505.32484-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM0PR02CA0036.eurprd02.prod.outlook.com
 (2603:10a6:208:3e::49) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f9434f01-2663-435c-1d1f-08d960bdf3f2
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2447:
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB24479A72EC0CC518D369D0DAB3FD9@VI1PR0401MB2447.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:7691;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8w2j4ZukClVEL1HmRNkTL8Nb4mwNFJXRrJgY0mU8ADBWk8XCuZsHbWDYQ6YkGrZ2GdV+ZhduScjV+VWhBAyI64Qr2vDqhHhR1HN/B5wxkHU3HauCpKd0qeodu7CfLYQU/94YHgSirNXjH2Mun3f2wJJK1/FpPP7V8bt8O9uoNirXCxYKXCkn+Do88bYzbrCEDaIe/3yNDSQbVJmU4PMnbUbt0MPUyjT9t//sVV/myiQqkE32twndnqh/o8/mr9ZIuUb0HOTvAzulJnLXjGgALw6/K8Ffx6MO3LqCXZkDJ5YYV6S3w519UF/o+eDB9Su3mI+9/0JeWuF1tLTHPi0ijU0JXGpuB4CBf7jbb+gAH3XmZ9shRSU/6as7t9nfUu9o3zUOq0G9HUvTaJ8wPRXA3dpryQ/eq9pmN7x37cS6QtBLuhtiVtI7t3P6lJbVPO7a8Kvm+BDTp7MZpGLRndCEa8tEDot6L+HUkdimZXfPawn8H3pOE3kMNzwGxbTpV3+lG6WVwc+Xo7RpWhAXFQC6bCbj3KEb/RaPfK7/XWRsZuc4ghlqa7x5Me537QlgfRRmn7HntQWuJvtYquzvJb6zw4TdmW7V/LJ1C0KiknXtCdIrxtQCclYpG7iivZDE4X88DslxhDEJRrVeobUwJfOvUqSzikm2hOBq6FVIssNDECs3c1BpUu5KrVS9wTpqWGZwc7xtoxhwjGcR6Fr3nncjzt84lwdTCjHOxyWovSGyfq4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(31686004)(186003)(54906003)(6916009)(15650500001)(16576012)(26005)(4744005)(2616005)(2906002)(5660300002)(83380400001)(4326008)(956004)(31696002)(66946007)(38100700002)(36756003)(8676002)(6486002)(66556008)(66476007)(53546011)(8936002)(86362001)(498600001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OWJ2b2FKVWZkZC9aOUwxY3BqSUgzd0tqOVRReUVWMVpiZHk2bkhKTXdXYUNl?=
 =?utf-8?B?ZkN1SDc4YW1Fand6MDgybkd1bDl5S05rU0JBd3gwVVEyVFhYWHcvcEdrdmVG?=
 =?utf-8?B?YS9PNG1VZTIxYUdYd0JydFQ2T1ptSTVka0k2VU5HV0RMZFZrUHIxVlpJUXB1?=
 =?utf-8?B?U01seFRndWtHbUF5QUllOGxxNTcwRXh0dkg0d0RBUXU1ZTdXUTJILzFQa3Zr?=
 =?utf-8?B?Y3dneVBzSjQvUHJOaklnbUJmY0RFWGtCTG8yQlFSaThnTGg4VGRyMGJjRms1?=
 =?utf-8?B?cUZjR0ZSL2RGVWZQOTdaeEE4MkdYVXc2clBqd0pPeGYvdFM4b0thVWVxQzJk?=
 =?utf-8?B?aTN1Q1Baem83cUFFWW12NU1Gb3RDWmE2MzdXK0Uwci9UejlTYzlabG1DUkxC?=
 =?utf-8?B?c1lsdmJLRE9jaTM5UTRiYWszZDhEbGNYeElsZjJsUkdUaEc5S2Q0NllYejRI?=
 =?utf-8?B?Ly9lTDBaVEZ2bXlzV2NOZGQ5VVN1VUFTaW8zeWJTTEJnZ0RYUUF6N3pqZWpO?=
 =?utf-8?B?ZmE4aE0zUU45YXRQeE9MeXN0ZVlncStvUFdmTkdUOW9jOWdzemFaT2pYOFNB?=
 =?utf-8?B?TTBZT0FGNzIwa0VkQzJKejZMaEpJVXBqNi9hWlBkNHg1UXo1L0ZxdFU2Vm9y?=
 =?utf-8?B?OUtlYkpCdHlBN09sSGRlTU55RGNuUCtHY2k2R2F1dThFUzJPRnhLbE4vNDFM?=
 =?utf-8?B?UVJ1K3hrbVVBazhPYWhjS09GRVR6WngwUDIvU0dLYjNKdWlIMjdoOFczWGxD?=
 =?utf-8?B?VWRGS3dlNUQydjZycm1pdC9hbGt6cExVNEFzODlvUHpzSmtYRVZjYTA4TVpD?=
 =?utf-8?B?SmJFbGJ3eXBCM0pXYlVZYmU1SWF5WlAyNEpGOXZyZ2ZaYjFMRFg1WC82d00w?=
 =?utf-8?B?NzVVVjgvV1BJK0U2bWwrcUJkWXpSS0l4MzcwbE9yY2cybmFxc0FvcFdORnZz?=
 =?utf-8?B?U0ZYTnZHSCtOeUV6SFYwUG9HajBtMHBKd0k0TWhoZDlsRVNXVjhYaUQwaVg2?=
 =?utf-8?B?b3pnRHpPLzcxUFR1VU82b3czNkt2aktpRUNOdmVWZzFVSWFXMXorSHVSRmlO?=
 =?utf-8?B?VUlBdWh4TEVNQmRsRkNXMDZoYm5PTHAxOE5ML0ExZUdYRDdrVzN0dzJPVG1j?=
 =?utf-8?B?NzkxckR2QVQyTzlWUjd1S0N5MlU5dFNzUnFtRGRVb3pDdHRYejAvTGM5OXZZ?=
 =?utf-8?B?YzllT29KVDZiM3NzTFFXd21renhVSkpGcVl3U0djeVFlQmpNZGR4K24xRmtn?=
 =?utf-8?B?MFZQK3phVG55bFovMDUrdzR1OTZFUHZGaUszbU4rYzA1S0hlbGI1YlJiU1h2?=
 =?utf-8?B?N1paRkZmRVYxSU0yMkVDb3hzdXpSRTZKME9TcFRQQjBSQkU2ZDNSSTN0cHJ1?=
 =?utf-8?B?VE1Dbm5UN0JhOGM2Q3Rmc2Z5RGFrSGxYbTlYS3h1S0JJZkppcTJ6MWlCdm1u?=
 =?utf-8?B?VkhjZml3bXJ4SVhjdFpWa2dDTXMzeFN4RXhtZnVHZzlqQUpSSFFoN0MwNGZt?=
 =?utf-8?B?eGlHZjFIZHBxYVA2WmhIQ1c0ak8yZlpEdklpTlQwMVBwdk1EaWY3blBXb3pz?=
 =?utf-8?B?bnI0VEJCK2tHZTR6eGoxWm5uRXdaTmpGOUN6eDBHK1VDRG5jQWtTVGhMYnUr?=
 =?utf-8?B?Z3dxaVVkVjEwaFRwTnZJRTVTUVV1WFN0Mnp0Zm1qMnNIY0FMOWM0S0ZhRjNR?=
 =?utf-8?B?QTJvZjZhV2FrcURoaVpNOXdZbFJBditYZW0wREVZazZqcWJwZGRPcGdyTENa?=
 =?utf-8?Q?+VwBVRNtr0VY9ZoN/GkO5OQ3TV2j3XnVEPNWP/n?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f9434f01-2663-435c-1d1f-08d960bdf3f2
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2021 13:58:40.8631
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: tQH3oC2N/sz0+eCRq6gvZGLP5TDfHj0W8Nm5EM+fanQNns+sAJvH61I9k32/DejwCnVi50cUY7WO6g7JcFE78g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2447

On 16.08.2021 15:35, Andrew Cooper wrote:
> Booting Xen as a PVH guest currently yields:
> 
>   (XEN) ACPI: SLEEP INFO: pm1x_cnt[1:b004,1:0], pm1x_evt[1:b000,1:0]
>   (XEN) ACPI: FACS is not 64-byte aligned: 0xfc001010<2>ACPI: wakeup_vec[fc00101c], vec_size[20]
>   (XEN) ACPI: Local APIC address 0xfee00000
> 
> Insert newlines as appropriate.
> 
> Fixes: d3faf9badf52 ("[host s3] Retrieve necessary sleep information from plain-text ACPI tables (FADT/FACS), and keep one hypercall remained for sleep notification.")
> Fixes: 0f089bbf43ec ("x86/ACPI: fix S3 wakeup vector mapping")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>

I'm curious though how you came to notice: I hope there isn't any
hardware/firmware actually triggering emission of these log messages?

Jan



From xen-devel-bounces@lists.xenproject.org Mon Aug 16 14:00:00 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 14:00:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167360.305480 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFd9k-0008V5-GT; Mon, 16 Aug 2021 14:00:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167360.305480; Mon, 16 Aug 2021 14: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 1mFd9k-0008Uy-DS; Mon, 16 Aug 2021 14:00:00 +0000
Received: by outflank-mailman (input) for mailman id 167360;
 Mon, 16 Aug 2021 13:59:58 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=3tuO=NH=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mFd9i-0008Uo-LP
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 13:59:58 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 3d3af945-fe9a-11eb-a45e-12813bfff9fa;
 Mon, 16 Aug 2021 13:59:57 +0000 (UTC)
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2052.outbound.protection.outlook.com [104.47.0.52]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-36-tRxGcTbJNVqLB1wqMl_ArQ-1; Mon, 16 Aug 2021 15:59:55 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB7149.eurprd04.prod.outlook.com (2603:10a6:800:12e::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13; Mon, 16 Aug
 2021 13:59:53 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.023; Mon, 16 Aug 2021
 13:59:53 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P189CA0019.EURP189.PROD.OUTLOOK.COM (2603:10a6:102:52::24) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Mon, 16 Aug 2021 13: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: 3d3af945-fe9a-11eb-a45e-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629122396;
	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=nHGdIT/k1e3/378aeJhojl4+/o0GWC7nFlC5UmTd7mw=;
	b=XF+tMNm6umNMi3hm0MfIY3JoxoimrH1+FAEoUZtG8QHcBh6O79edcpfxScD+t8+1tU+NX9
	oYf3E/DY8XEniJwzp37DIw7VRY3nXqfL+Eg9TNQ1epuigvv97MvyP712EwIVq0X8nD9j7G
	yTLT4/Pc/qrMCgyK8iXH/ixMKi/gR2A=
X-MC-Unique: tRxGcTbJNVqLB1wqMl_ArQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iI9zSKteAAlV9q45p2g2Gb2xs79c23cncpkmX6sUhC+JBikmQL7eMyBgwKj4z+rMcu3t2g2eKj/Jc1ZLYfIinloEQPom2/2UjvJBZDEUV6T3As9qJcTdpKnb5H+O/KI6tGbmL9BVQt656q8Z5HdjrmqZM6OL3BzsO8WpbMa6fuTljzI8qOb3F3nkPLzNycBO6C+AqJkBhnVEy87WiX/1aTQzLO3y4PI2UyoOvgXfMWMXvCf9s/1mn25DWIxYw6KBPZV5bQlACi28oi1DFJXQK8dB1ZvnAKd9lbB+9QMKp4zIfDrz7Stu01leFlPZc0xYYvqrui17n8OrPZXgvZPq9g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nHGdIT/k1e3/378aeJhojl4+/o0GWC7nFlC5UmTd7mw=;
 b=G5ldgVK/B5UaemBRuqajOXd3IBcYP0jRmWA9GLNkPmLDNKHk3eirC/slzQjJa2gidBEt5zxkEmx8QUjuuaWrIrWon4EmhCr/DdGOEg7UxgPETJ+W0a78lkqvJJJS/z+WX5mqUEgUFfqY4rnzR/MN6VZaO+l7TKvIp9Ll9AEDBKOeOXug5jIfcd/dhkRK6AbbpNDYnRgt5Qlr3medXYptlBgzGw1os26K1V7WNxAo3mDUs+c0h6oSDZoXhbpfiIypXv3BWe14rtOxv1tB3vu9QQ3KBFtGI456iQDfBo/zSXiR0DnHBiZLwRis4QbeR7s0WoPBeyL7ga6lkCDdRK2O2Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH] x86/ACPI: Insert missing newlines into FACS error
 messages
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: <20210816133505.32484-1-andrew.cooper3@citrix.com>
 <72a41c5c-5d4e-ed4f-dd3a-e41d13447000@suse.com>
Message-ID: <0c4c8d8d-c42c-968a-7d4b-5a8700c4fc68@suse.com>
Date: Mon, 16 Aug 2021 15:59:52 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <72a41c5c-5d4e-ed4f-dd3a-e41d13447000@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P189CA0019.EURP189.PROD.OUTLOOK.COM
 (2603:10a6:102:52::24) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f37593f2-440b-4058-60f6-08d960be1f2e
X-MS-TrafficTypeDiagnostic: VI1PR04MB7149:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB7149B6C04904807310C9BACAB3FD9@VI1PR04MB7149.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QwjDyI2/ZyTzWwdVqOIBgcMZjYAG9OhgT/BHJxSKxeWr1QnfxFuHpkQ8qQ5XlWL+o9Xer+s8Ax7NSSi+l6HWQcsBh1WYN37/EnhmzfcHmp1mwA/lZAiAMfmNJAEkSbb1w3PKHiPmnnQtrQl0XrQ469xuIvJ3NEsmtw/mHpMV/L1vH/7ozePK57drSRn9aYNNc5MoplRK9pyGI6rzsEG053wVFnNsDbFf7UG93hiashJH7cUPZo8azC6wXXv+DVThDK778DAv+rzmT+tuF+JdddycQvtneQXfia9LoVCA3iU1EO1up3QEP5Cp+5V27opQSnrpwofzWE9wMdrHxrX+9rT7p80dg6zpOG22fcjkqQgX8LXK2mvANNHJ8S9KprD/rE6cKwgDRrwsTsRSnyFBVvgKfGcEMBk3oQjAjPehu7qhapLvMaSdJhaaB0DW7137msOytMb2JWybOTrKNxlCDZGrPard/VP1hrH0fq5J8VMoojmXFwlnMceafyg2kvFPeOqgqMle5RSpLL3ngIKOiPOBaX6votiCXYV0PGezamvEL4OyAc98tfHrzOuKfeUfj7MBQcNRteQmRPM26+IdmxvuIlz86aVnepiu2l8+EbHiWoh9I9HJCbmZbF96sdWH+I6mnJuExas96FVlxUuyz/TeIbExRgAQbRsTbHQiF0UvByupokNLrBmyXUylL3KEHYFi1YjBYPI83vHFuO96omGf2gW0rDZh+NJqXyKBpYk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(8676002)(186003)(83380400001)(6916009)(508600001)(36756003)(53546011)(6486002)(4326008)(54906003)(15650500001)(956004)(316002)(8936002)(2906002)(26005)(38100700002)(86362001)(16576012)(31686004)(66946007)(66556008)(31696002)(66476007)(2616005)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UzQ5Y0k3L3ZlNnRIZlNmbFJXM2tKZitibVdQYlJZcTF6REV0d25NV3BlR0NH?=
 =?utf-8?B?NzIwM05HUS9wci9INmRUeENPc1VHQjhQTXhxV21jOHRGUHlnV2xxOE9kejBO?=
 =?utf-8?B?bDVuYm9rTGxMUEFGWmU3TzZUc213UlpoZ2hyKytYVGw4aHJrMFdTQXphMGRZ?=
 =?utf-8?B?UXJiTXhVTEFWOW5ob21SZXR5Q1VyTWorUkhRZWJMWG8wQlcxNlBUS1RJczhN?=
 =?utf-8?B?MWlZbzlCUS9OYmFFbnNmUzdQVlZ4eEVBb0dpeVJjWUdlNEdEVWVoeVh6eE9P?=
 =?utf-8?B?OVE5blBGeldQeGZQUDcvMnFOa3JoYWhsRVV3K0NBNlphR2syYWhkaWc3UzY0?=
 =?utf-8?B?REFNRmNZQndUMG56cmM4aVp5NTJYVEZQOVliY2FuZnlRU2pyT0E0dFdGMU13?=
 =?utf-8?B?cDV1cVE3blVkREk5L0x5WG1MbTI3Q0RIMDZGdEJ4cnh4YkhvaVBoOUFHdHR5?=
 =?utf-8?B?ZzlPWm1jZUcyMnlBbDNyU2tGTjZQR1dhbzBEMUJITDkwNitSUlZYZFhSQmRG?=
 =?utf-8?B?Vk1uZUpiV0dvdDdSRW1tYUhiaVdVUFFpTUJ6WUs1aEtPemdyS3NvQlJBZkpI?=
 =?utf-8?B?QzViN3NDN3VtZVVuQ3NkMVIrTHZxWGNreHQ5ZjJmWUlqNVpjUVBIdFMyRkJ2?=
 =?utf-8?B?TnR6K1F1MlJzb3Q4aThXbXF2VGpqMmhJbTZnMXhieSt3Y21sMmJiT2JibExQ?=
 =?utf-8?B?R2RJZG5NS0doQ29kVmZMenRyVlRINDBua2hoWWhDdXo5Vkp2aU12TGV5bjJW?=
 =?utf-8?B?eDlTaDNuRmppZS9iWktIaDkyVFppMm56M0E4VlUyY1RrR1RhcFlxZ29TODJ1?=
 =?utf-8?B?RFROenJjMWQ1aHpMT0hXTGlTWHA5UldTZmM2dE4yeDdDWW50L3hleWR3UFNh?=
 =?utf-8?B?TStTL2thQldYQ085QjJiTitLQW5xeWRBTW04eDhmR0VYUnV2ekREMUxPUTZi?=
 =?utf-8?B?b1ZJY0lDWXE1bjNSVHhJbjZvTGc2a1pFbmhXbFVVek5mYTJoNVk2Q1NRN21n?=
 =?utf-8?B?ZTRJa2l3WTlvZkNDRVR1a2VweDNReGlrdVNNUzdXeXYzc1JhQXZDeU1iWWk1?=
 =?utf-8?B?WkIxNnBvY1ZJb0lQSklpcTlmS2hsOEs3dlFpdTlsT0QxdjlQSGpVaHF4eXAx?=
 =?utf-8?B?U1Bobmtibi96WldLLzlsZDZRa0tXVFBEOVVRWXkvc2dlWm9aemVtS1Btcmsv?=
 =?utf-8?B?R3FmVHJyQTZKLzRHVVZrbkdvYklyc2svZzhHK0JlOFJzZUs0QW43ZGJPdWI4?=
 =?utf-8?B?b3FmUDd1TnpkZXR5MXRxUnhVWXVOR3lJS1lseG5IcXBHYlJ0UUUvWElmcVRx?=
 =?utf-8?B?czRUQ1plZXpMTXdNRG95RXVLSDh3UmFLTE1oSDVUZDVDUU5HMHBRUnZhelox?=
 =?utf-8?B?UHBlazFXcTBPU1BoVmhSZ0tjY2dtQythZER5WVlKQzZxODR4cUNLb1ZoMEJW?=
 =?utf-8?B?RVBHUGRFMXBTdDhUNGoxMHFjWUI2LzUxeUdFK081aG1vcUh1bmN6OUhDY2lk?=
 =?utf-8?B?VGkvM2NoNjBuem1KSGRPQlRLZGMvSjhzWkJEZDFHdDhOYk1DTkVNZ1dnaXdZ?=
 =?utf-8?B?d0FubUIrN1pWcnRTaFEveGxxWG00S3B4VmhSYjVqeGVjU2hhbHhwaXNoeUE1?=
 =?utf-8?B?UUsxeGZyNDZiYnZsaFJhRkU3SXMxK1FCQTExMnZVa1J3ZWcxdVNKcmx0UmtM?=
 =?utf-8?B?aXZzQTBWYldVdEN4M0tENmhnQ2c2Qko0RWQ1a0FTYTNnd3cwYWQrWnJuRUhp?=
 =?utf-8?Q?UtOe/jFzc5I4GxLc3rEkeXLEHj65vi1x1w5CObx?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f37593f2-440b-4058-60f6-08d960be1f2e
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2021 13:59:53.4011
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: w0W7CjQeRUK+WT5bgWL3WyKH1ADWlfCNGLhfsTyFvlESACOuaJ/g+8dZD96L3gZ8+3vsn1czF74Xxs4CI9h5bw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7149

On 16.08.2021 15:58, Jan Beulich wrote:
> On 16.08.2021 15:35, Andrew Cooper wrote:
>> Booting Xen as a PVH guest currently yields:
>>
>>   (XEN) ACPI: SLEEP INFO: pm1x_cnt[1:b004,1:0], pm1x_evt[1:b000,1:0]
>>   (XEN) ACPI: FACS is not 64-byte aligned: 0xfc001010<2>ACPI: wakeup_vec[fc00101c], vec_size[20]
>>   (XEN) ACPI: Local APIC address 0xfee00000
>>
>> Insert newlines as appropriate.
>>
>> Fixes: d3faf9badf52 ("[host s3] Retrieve necessary sleep information from plain-text ACPI tables (FADT/FACS), and keep one hypercall remained for sleep notification.")
>> Fixes: 0f089bbf43ec ("x86/ACPI: fix S3 wakeup vector mapping")
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> 
> Acked-by: Jan Beulich <jbeulich@suse.com>
> 
> I'm curious though how you came to notice: I hope there isn't any
> hardware/firmware actually triggering emission of these log messages?

And actually you answer this in the first line of the description,
while when reading I skipped straight to the quoted output. I'm sorry.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Aug 16 14:00:47 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 14:00:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167365.305492 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFdAU-0001Sr-QQ; Mon, 16 Aug 2021 14:00:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167365.305492; Mon, 16 Aug 2021 14:00:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFdAU-0001Sk-N5; Mon, 16 Aug 2021 14:00:46 +0000
Received: by outflank-mailman (input) for mailman id 167365;
 Mon, 16 Aug 2021 14:00:46 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Flmd=NH=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mFdAT-0001Qa-Og
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 14:00:46 +0000
Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 86dfb6fb-c73f-4f1f-84ae-135c088db315;
 Mon, 16 Aug 2021 14:00: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: 86dfb6fb-c73f-4f1f-84ae-135c088db315
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629122443;
  h=subject:to:cc:references:from:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=njHOorlnmlp3lNrLXmg2PT939lTFePqFHQlmOUv6LnY=;
  b=BtM/FEJJQo8h31UEozBlWyXmY5lOhHLiHAAiwnoS5L1IGp9ytqNPbdZ/
   pgPoDaFAy42LGixO/MNvuvLy8F1Oy413K1/8oFIaJnkjqPuT8JtkdJYJe
   Lmm7HiJ3g7b5J2JR0FEEoR6Seoq9Zz3QbcnBU3mFmveyMMjLTWbmfs8Lv
   A=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: aR6A5WTbr3pYN3kbULYJR1GRIQK3k8MrM4IWhrnKkt8wDXK/QrnCHEfYCBbJDB22eeJJpaDwO5
 +ZyND4Lw35nlTJwZVZBMm4MbglzKgL1SgBJKc9iFCoJvEngZvWAnuZL/4nAywDuV10p0AHYtNw
 HaMcpnxkwPOeL3A0O2rsxicQzVSWMLGOUoHBntf8nwSbgmNs0IpSaJ4WQldyIR4coHMcQ+Ur8E
 3K4r7NcmdIxOAocuspwsmkttW52Q19t3IpB4YnHemNoMY/4TB/aJgmjw6XLygaeL+hlclk3Ybj
 l7jn/FUy5z+zS0NEe3QyMUYo
X-SBRS: 5.1
X-MesageID: 50934956
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:dbZT/60gfJ6WcyurYewMEAqjBR9yeYIsimQD101hICG9Kvbo8P
 xG785rsyMc6QxhHE3I9urwXZVoLUmzyXcX2/hXAV7BZniDhILAFugLh+aPrAEIcBefygcp79
 YDT0EIMqySMbEVt6fHCFbSKb0dKZK8gdmVbK/lvg9QpKtRGuddBk5Ce3ym+pAffngFOXLofK
 DspfZvtn6uf28aYd+8AWRAV+/fp8fTnJajehIeAQU7gTP++A9AR4SKbSRw8y1uIA+n+41Sg1
 Ttgkj8/OGuovu7whjT2yva6IlXgsLozp9GCNaXgsYYJz3wgkLwDb4RLIGqrXQwuqWi+VwqmN
 7Dr1MpONly8WrYeiWwrQH20wft3T4y4zvpyEOeg3HkvcvlLQhKf/aoyeliA2rkwltluMs53L
 NA3mqfuZYSBxvEkCPx78ONTR1wlkav5Xoki/MaiHZSFYsSAYUh0LA37QdQCtMNDSj64IcoHK
 1lF8fH/utbdluccjTQonRvyMbEZAV7Ij6WBkwZ/sCF2Tlfm350i0ECwtYEg3sG/JUhD5FZ+u
 XfNLhynr0mdL5fUUo1bN1xDPdefAT2MF7x2Ez4GyWpKElHU0i94KIel90OlauXkLxi9up9pH
 yzOGko9FLaXnief/Fm8Kc7jiwlcV/NLQgFkPsunKSRkoeMO4YC5kW4ORATe8nJmYRbPvHm
X-IronPort-AV: E=Sophos;i="5.84,326,1620705600"; 
   d="scan'208";a="50934956"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eb/7Yth9DDW7X0J9MJMY5nfIQicLq+BV2rHBiMZEVulpGRE2gTtrZ+6GiQwB7Y4mHDI5a6H1G2VoqayIyTyT4NEz1bMk1rqs9Hr9JcctClRY7DhfxQpJCF79Z7NOP8CXQXebdIw+A8Sl4dm++8cEggWSpuuN2IZoBs8J8X/6qxm8zO8hTTTN9hF+/vAOyCgo1ixRfKBks74OVw/5g2mHhdpyke4JwLUBenoIpMFuuYJAylmSUIwxYbRAVuTB5fdps9ai6wR+j5wF2gKw715pZa154+6QIhRgnzNvWrNGaR62TdmWZstiiIFZpH4tGYS5/+J8bpW03PTLBpAdb5NYcA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/wUf89sJM5UOBMZUN7iSg3veu8b/JGT0Qra9r6kMJ58=;
 b=MGaW8NPy+BCq74xDoHiaKHs5mQBoJ8mXEt2lnHQIah0TfW8Lqm1FwhnM+hZQQdfnBpbLKmKSrkJ2eqcXACLYzFt4ldiR2+8iitKBz6xH/5u9b6UABXwnYf4GAzlERiLT+iAvctzIWO9ujCjLFZy+Jc1EgVYj8wna8CvuhC2EAhOVbVHEM0BpKlwe1CVqyxSRdimmzXD1QgLR6fNA7QkqKzudEIGLQ32Znv8ZnnZ2IGXu9kFGRIVBL6guDWmOG6CZHa1e/vqy07EB2nr9ctrxsvPlFZdhlk64s4YHx8x/zWwb3ePAOxj60lJ78zUOQSkMJC2idGE26jIJZnLsu/VdZw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/wUf89sJM5UOBMZUN7iSg3veu8b/JGT0Qra9r6kMJ58=;
 b=H9KygYAp5y8XZKzHLlWg+JwHUG8+5h8e9AMY9g09gvlWwedW6Lv+fpK+BJpsYmthan3YXxtWjOjSLNVu8ixUXJCdExFbXCTrUniBSV6BJLlDsFRo6mlq3IigSRSx9NzYBsuswrQi7lU24LRMS2vh5Z4C3KA5JORzMun+AvwYS4M=
Subject: Re: [PATCH] x86/ACPI: Insert missing newlines into FACS error
 messages
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: <20210816133505.32484-1-andrew.cooper3@citrix.com>
 <72a41c5c-5d4e-ed4f-dd3a-e41d13447000@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Message-ID: <bf683e6d-e044-3a6d-3f77-2cc7a478e76d@citrix.com>
Date: Mon, 16 Aug 2021 15:00:34 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <72a41c5c-5d4e-ed4f-dd3a-e41d13447000@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Content-Language: en-GB
X-ClientProxiedBy: LNXP265CA0018.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:5e::30) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 28ab039c-8ad4-495a-55a2-08d960be3b25
X-MS-TrafficTypeDiagnostic: SJ0PR03MB5757:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <SJ0PR03MB575714411FA39FB7CC48EE02BAFD9@SJ0PR03MB5757.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 00pLCAxaNVjukfoHm8ARiK1yIaZNFRZfDfyOtjeIGXndsiVCraRV2lGf1WJYC6HwZDzjAJRPxSSLnNtRkx6n6+DP7GZd1WIe4t3r2fZJt8BMdBsY48n6kKG0biyXgL9hoD+mTXuNK9xwFr5npzxPsxHa4q1MHnIcQx91freewbNlAP31a+/BqRClW+r3ZIG9CF85hrpLGDPz2/Ze/CBUK/JnS07mRQkBcXS03+shp9qBjRb9rwVP1d7wM+AlgaoXOjaXWSDgSVtaoIeoarUhC2A040cbmDczPGvqjG/PBJAkvW4QRI2mHJ42avQ6S4JJNWncPzc5NXZ3byTURCDWijyS/yUmkXz8Z1b7WTxpB4ukN6gAhA3zVae/IVQsuMvwB6h69OMcumBvIEbteTZXkL39Y1KVDw2ZuchfHvvZQtoxSmE/7SMwvOPqTN+oz3YrDozS+mL5DCOs63ery8d/qUnvM3gv1T/xiJztNKyaFvrQ8DPviehH5LA+cFRk8xih4uXIWN0skVHgzDB1Jg5ATAAuH2DrNM9moO6jS3CHDOVutiuEoEWDIF0ZMaqR2F9vwniMBaCW2yrOEspLpv1U2UPew21LX5uG80KBd4AD/AiAm0OqhMcE3vddQhE4Zhtth2IPd9sNxXalms+JHd4j8V2fRRs7Ozw9raKqOrJbfWRmm4cEb6wEj088aJ3xBtaVJA/EuRDpkqU+VsFnsIe1PXJqzSsbGxxcE/9Sw3um8rQ=
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:(4636009)(136003)(346002)(366004)(376002)(39860400002)(396003)(66946007)(478600001)(53546011)(16576012)(66556008)(36756003)(83380400001)(31686004)(8676002)(6486002)(15650500001)(316002)(186003)(66476007)(6666004)(31696002)(6916009)(4744005)(26005)(5660300002)(2906002)(956004)(86362001)(8936002)(2616005)(54906003)(38100700002)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cjFvQkg5MGJnTVIzMUlzV3pEb2lsTk03NTVUZ3J0cDJoK1ErdTRiZ25Kc1Qv?=
 =?utf-8?B?alljOUk4dXcrOWxHRFlPQkVnQ2l5ZDNUKzdUTUtVdXFCc0ZFME9TTjdWd21y?=
 =?utf-8?B?L083dGJvUitvSG54L0dTaitSNC9xTU9BT0htd2NkSGsvQTV6QTdURHZvVEpq?=
 =?utf-8?B?S1Q0YXdxTmRzTFN1N1dLTll2SkVpeUp2UURsMHlzTUFJRFlUY2tKd2tmMjFC?=
 =?utf-8?B?Q3puczg0ck5qQk5oYlpIUm1xekpiU083ZzJGcXNFK0hKa2NGRjNsWnlWVjd2?=
 =?utf-8?B?eTI4UTdickpabWdTbm1DY01jYnBwKzMvT0Fja0tDemQ5RWR6L2t0TVV2dHRm?=
 =?utf-8?B?cUhvYk1MNXJYTlhyanBSbWh6TXhRa2c2L1pqYlpSTDdzbm81Q2J1V0psN1BC?=
 =?utf-8?B?dWZpWmR6NHREM0NLbHlTV25BQXlXK1NDV3ZFRFhFME0xQUVHbXRmTEkzemF5?=
 =?utf-8?B?MEYzVW9vNUoxWkYra0FzbCtBUEZKN2d6a0I4YlNlT3pXN3pQTmUwQ09qdXFm?=
 =?utf-8?B?MWpERWxsanBRWENHcjZQWlJUM0RoNG1IVzdid3JhZCsyRVRvNnBJelF0MmJY?=
 =?utf-8?B?TzcwOXpNM203ais3THBrTzYvbkQ0UmtEV2V4UmxoZUVva0x0OU9yQXlmalRO?=
 =?utf-8?B?UGhCSmF2T1lQMU45M3hicWVuR29rOUJzOHR0TDA0aTRvekpwQzBHZ0xRNzB0?=
 =?utf-8?B?TzBCalhzNkRiN3k0M0duZ0NqL3k1Zng2anMrcmwzVVVoOXZPTVFEK3Q4MFhW?=
 =?utf-8?B?VEZxNzVmNmxyUFFtZDBpZTJDczA4MjRBbmpwdXJjaGdrdjhRUDVUZXB0elFj?=
 =?utf-8?B?UVRucWlaODUyVHFGUk05blUwemw1MitZaXFTNXJ5dTRiVWpIOVAvdCtYemNP?=
 =?utf-8?B?cWlIc291VHZPcXhkZDZSOWlSUnMxWnBpaDlHcllYdEdobTd0Njd4SGdZOW8r?=
 =?utf-8?B?d2diNk9Ec3l0bE4xWWhpZmVVeFR5aE5ScFhuZ0hQTUFZV0R6bGhCUEJMaDl3?=
 =?utf-8?B?NEROKy94VzZWbU1xdUZGL3hpOG5yV2ZZUG5SREp4UGhLQ0s0TlRiZ3ExT0Za?=
 =?utf-8?B?dCs0RkxJM0N1VitWb2dhZTd5NjdIOGxjVXQvTG9CeVJWQUxPTm1GQ2piU1pF?=
 =?utf-8?B?VENCbGIyOU5lcWo3V281Q1Z3MjM2cCtnRURPaVp3a29xM3ZQbHpBQ1BPMHZj?=
 =?utf-8?B?TzVZL0hNVytOVVFMLzRUSXRzK243dEFmREdEb1RsRk04ZXNEQTRENHNUU0p6?=
 =?utf-8?B?cGxNK2lCWWU0MTlCa2tWUEozS1RYb1BFcFBrK216RVpPcFFGejJHWnFKWVp6?=
 =?utf-8?B?RVlmK0s5VGlzUGcrRlp0aGFOUmJCanVMaG5IOVZreFdWcFhnSHpPT1R1enpr?=
 =?utf-8?B?cnJLT1QvUGMxbjhUR3ovcmZKVi9mUXFmbW5aTFhBNTNNVXBwcE9TY0NCVEoz?=
 =?utf-8?B?Unl3bjdqWTVRaEVuWXRZSkZSS0FqRVJtOFNwdFF1QUNidE0vNlZBVXlaZnFX?=
 =?utf-8?B?dEh6NTl2WGVzUUhMTGVxNDVIb3h0M3ZabHQ4UUxxVENWR3VMSWJIWk9xU3pH?=
 =?utf-8?B?T3NpakVNZGdReVBGOEprWkhaSDV6bG95ck16ZC9Ha1JNOVJvTC9WRXdVbHRI?=
 =?utf-8?B?bmVMN2FCeHJ0TUs5bUt0S0RHTVM2Mjkza3E0R05aaFd6M2JOSTVha21FSXU0?=
 =?utf-8?B?aFVKMWtPemNiU1NCMnRBLzYwY3NnWC9EcjBPUm5VRXdzbDlxYkt0TlVFWElz?=
 =?utf-8?Q?/GJTRX3CjpUm9QVQdNAVHDO0bUVsHIn/a6D9VI5?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 28ab039c-8ad4-495a-55a2-08d960be3b25
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2021 14:00:40.3550
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: WmXfaEU1x6W5XIv71Bb+W2qC43l3sMB4283TlkvzPRyUiqclUjO9ilD0iGUC3vafSawF3XToGmpgK8cxyotljxiaCR1HX8Dda0lVMxucWdY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5757
X-OriginatorOrg: citrix.com

On 16/08/2021 14:58, Jan Beulich wrote:
> On 16.08.2021 15:35, Andrew Cooper wrote:
>> Booting Xen as a PVH guest currently yields:
>>
>>   (XEN) ACPI: SLEEP INFO: pm1x_cnt[1:b004,1:0], pm1x_evt[1:b000,1:0]
>>   (XEN) ACPI: FACS is not 64-byte aligned: 0xfc001010<2>ACPI: wakeup_vec[fc00101c], vec_size[20]
>>   (XEN) ACPI: Local APIC address 0xfee00000
>>
>> Insert newlines as appropriate.
>>
>> Fixes: d3faf9badf52 ("[host s3] Retrieve necessary sleep information from plain-text ACPI tables (FADT/FACS), and keep one hypercall remained for sleep notification.")
>> Fixes: 0f089bbf43ec ("x86/ACPI: fix S3 wakeup vector mapping")
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Acked-by: Jan Beulich <jbeulich@suse.com>
>
> I'm curious though how you came to notice: I hope there isn't any
> hardware/firmware actually triggering emission of these log messages?

I was demoing "boot Xen/XTF as virtual machine".  It will be the
dombuilder in libxenguest which is causing the error.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Aug 16 14:50:53 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 14:50:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167374.305506 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFdwr-0006Ui-SH; Mon, 16 Aug 2021 14:50:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167374.305506; Mon, 16 Aug 2021 14:50:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFdwr-0006Ub-P7; Mon, 16 Aug 2021 14:50:45 +0000
Received: by outflank-mailman (input) for mailman id 167374;
 Mon, 16 Aug 2021 14:50:44 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=A//C=NH=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mFdwq-0006UV-4g
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 14:50:44 +0000
Received: from mail-pj1-x102c.google.com (unknown [2607:f8b0:4864:20::102c])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id e832a7e2-0f12-4a21-b720-5f2eb6752c42;
 Mon, 16 Aug 2021 14:50:43 +0000 (UTC)
Received: by mail-pj1-x102c.google.com with SMTP id j1so26907623pjv.3
 for <xen-devel@lists.xenproject.org>; Mon, 16 Aug 2021 07:50:43 -0700 (PDT)
Received: from ?IPv6:2404:f801:0:5:8000::50b? ([2404:f801:9000:18:efec::50b])
 by smtp.gmail.com with ESMTPSA id
 z2sm6264141pgb.33.2021.08.16.07.50.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 16 Aug 2021 07:50: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: e832a7e2-0f12-4a21-b720-5f2eb6752c42
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:from:to:cc:references:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=WJWFiW1tNTGnEXAY83sW/96pfLutJ+nc92p/dxWLkZg=;
        b=NXbT1zLrDuMqskh2PkrXNK2vbCTKyrRJCbfTY5Bly9fYQ/XU0SfRcVq5Opg7hJuYPq
         WAHFOfTPq1K1gGqDqCEl7LfXOVRnVK+Trx+MMYCG7OPlcmQ484293t+hm2eNoNgWwPWn
         FMa4FwwJpv6nh2ij8bhxvHhBGoaIurIFplj7wnpKTSuRMnyldRdPcAWWcSmd+W7oZuoa
         90O5BmPR7Iyg7k9vnQyRNKKQWgQWCvIDkqkqBKagNtE87pOxDe8b9ZAS8kRj2RhhMem8
         RcODv8S8rQQKapLBdjj/yipP4YK2d1vrMKq6Wk4vAH1jeB7D9R7aSg32dzMV4dgTGHNn
         cHbg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:from:to:cc:references:message-id:date
         :user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=WJWFiW1tNTGnEXAY83sW/96pfLutJ+nc92p/dxWLkZg=;
        b=dI6ceklrMV/1G6CTROJyU2q3pAe9i4fTl4ZRQTgfDhRkDHBt0s1kx9fwrNFflK22Kq
         irXDa7PntpNr3jipsuDWWwKF+Tl9uN9PuqBcH/cgGd3YGx4wLhebPoBIv81BXtPcU36I
         5C3rErQ/gubNb04EOTZNucMOD1Y/cKZEOVmx/REkKxOIWa9eyLNI1kUZ1y+8fBpckvto
         jYrEsU/8bVasicMxzk9jg7g1ZU+7YF7b4yqeH8kwvwp/2qAhrUwVLKMaTWpEfcOicaoU
         eGxX2EnKjGqjd6cj5veEiOMGYU0KywKf6yXIhorsbmykhYlIM2KfKlzblNnKd9nvTkT8
         tkdQ==
X-Gm-Message-State: AOAM531s9yVllHjhrDkWz6HCKDWO3WcvtiewB0c9hq0EcMEwZvNinPMR
	l3UrzIH3ZgMT48Jc4IXHa6Y=
X-Google-Smtp-Source: ABdhPJwwGaWbF5lMH7zWG8CjOdMFhlJFveeUXJRyURV3wu36AAVQm0z4EMghAqWltWQj3nIzdJtriw==
X-Received: by 2002:a17:90b:3014:: with SMTP id hg20mr17976900pjb.140.1629125442297;
        Mon, 16 Aug 2021 07:50:42 -0700 (PDT)
Subject: Re: [PATCH V3 10/13] x86/Swiotlb: Add Swiotlb bounce buffer remap
 function for HV IVM
From: Tianyu Lan <ltykernel@gmail.com>
To: Christoph Hellwig <hch@lst.de>
Cc: kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com,
 wei.liu@kernel.org, decui@microsoft.com, tglx@linutronix.de,
 mingo@redhat.com, bp@alien8.de, x86@kernel.org, hpa@zytor.com,
 dave.hansen@linux.intel.com, luto@kernel.org, peterz@infradead.org,
 konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, jgross@suse.com,
 sstabellini@kernel.org, joro@8bytes.org, will@kernel.org,
 davem@davemloft.net, kuba@kernel.org, jejb@linux.ibm.com,
 martin.petersen@oracle.com, arnd@arndb.de, m.szyprowski@samsung.com,
 robin.murphy@arm.com, thomas.lendacky@amd.com, brijesh.singh@amd.com,
 ardb@kernel.org, Tianyu.Lan@microsoft.com, pgonda@google.com,
 martin.b.radev@gmail.com, akpm@linux-foundation.org,
 kirill.shutemov@linux.intel.com, rppt@kernel.org, sfr@canb.auug.org.au,
 saravanand@fb.com, krish.sadhukhan@oracle.com, aneesh.kumar@linux.ibm.com,
 xen-devel@lists.xenproject.org, rientjes@google.com, hannes@cmpxchg.org,
 tj@kernel.org, michael.h.kelley@microsoft.com,
 iommu@lists.linux-foundation.org, linux-arch@vger.kernel.org,
 linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
 linux-scsi@vger.kernel.org, netdev@vger.kernel.org, vkuznets@redhat.com,
 parri.andrea@gmail.com, dave.hansen@intel.com
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-11-ltykernel@gmail.com>
 <20210812122741.GC19050@lst.de>
 <d18ae061-6fc2-e69e-fc2c-2e1a1114c4b4@gmail.com>
Message-ID: <890e5e21-714a-2db6-f68a-6211a69bebb9@gmail.com>
Date: Mon, 16 Aug 2021 22:50:26 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <d18ae061-6fc2-e69e-fc2c-2e1a1114c4b4@gmail.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 8bit

On 8/14/2021 1:58 AM, Tianyu Lan wrote:
> On 8/12/2021 8:27 PM, Christoph Hellwig wrote:
>> This is still broken.  You need to make sure the actual DMA allocations
>> do have struct page backing.
>>
> 
> Hi Christoph:
>       swiotlb_tbl_map_single() still returns PA below vTOM/share_gpa_ > boundary. These PAs has backing pages and belong to system memory.
> In other word, all PAs passed to DMA API have backing pages and these is 
> no difference between Isolation guest and traditional guest for DMA API.
> The new mapped VA for PA above vTOM here is just to access the bounce 
> buffer in the swiotlb code and isn't exposed to outside.

Hi Christoph:
       Sorry to bother you.Please double check with these two patches
" [PATCH V3 10/13] x86/Swiotlb: Add Swiotlb bounce buffer remap function 
for HV IVM" and "[PATCH V3 09/13] DMA: Add dma_map_decrypted/dma_
unmap_encrypted() function".
       The swiotlb bounce buffer in the isolation VM are allocated in the
low end memory and these memory has struct page backing. All dma address
returned by swiotlb/DMA API are low end memory and this is as same as 
what happen in the traditional VM.So this means all PAs passed to DMA 
API have struct page backing. The difference in Isolation VM is to 
access bounce buffer via address space above vTOM/shared_guest_memory
_boundary. To access bounce buffer shared with host, the guest needs to
mark the memory visible to host via hypercall and map bounce buffer in 
the extra address space(PA + shared_guest_memory_boundary). The vstart
introduced in this patch is to store va of extra address space and it's 
only used to access bounce buffer in the swiotlb_bounce(). The PA in 
extra space is only in the Hyper-V map function and won't be passed to 
DMA API or other components.
       The API dma_map_decrypted() introduced in the patch 9 is to map 
the bounce buffer in the extra space and these memory in the low end 
space are used as DMA memory in the driver. Do you prefer these APIs
still in the set_memory.c? I move the API to dma/mapping.c due to the
suggested name arch_dma_map_decrypted() in the previous mail
(https://lore.kernel.org/netdev/20210720135437.GA13554@lst.de/).
       If there are something unclear, please let me know. Hope this
still can catch the merge window.

Thanks.






From xen-devel-bounces@lists.xenproject.org Mon Aug 16 14:55:38 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 14:55:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167379.305517 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFe1Z-0007Ag-FF; Mon, 16 Aug 2021 14:55:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167379.305517; Mon, 16 Aug 2021 14: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 1mFe1Z-0007AZ-C9; Mon, 16 Aug 2021 14:55:37 +0000
Received: by outflank-mailman (input) for mailman id 167379;
 Mon, 16 Aug 2021 14:55:35 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=InwN=NH=microsoft.com=mikelley@srs-us1.protection.inumbo.net>)
 id 1mFe1X-0007AT-8p
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 14:55:35 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com (unknown
 [40.107.223.139]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 023423c2-fea2-11eb-a45f-12813bfff9fa;
 Mon, 16 Aug 2021 14:55:34 +0000 (UTC)
Received: from MWHPR21MB1593.namprd21.prod.outlook.com (2603:10b6:301:7c::11)
 by MW4PR21MB1985.namprd21.prod.outlook.com (2603:10b6:303:7a::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.1; Mon, 16 Aug
 2021 14:55:31 +0000
Received: from MWHPR21MB1593.namprd21.prod.outlook.com
 ([fe80::e8f7:b582:9e2d:ba55]) by MWHPR21MB1593.namprd21.prod.outlook.com
 ([fe80::e8f7:b582:9e2d:ba55%2]) with mapi id 15.20.4436.012; Mon, 16 Aug 2021
 14:55:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 023423c2-fea2-11eb-a45f-12813bfff9fa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cYPZPBrdoT8R74rquah5lgauhnvLokIe1ecH3IW6S3uPQ7n52fbAAJWhapP8+ma3nufYH/vlSCQumPCHEkpB/nzS/63UiVvh5SzzhRTYZ7KMqA94/GZ826qjWBZs8y1wpokliXyyXQRmzBFmEdsoZtnfVNFw1ekFCVTSJQg4UFdmNia2jKW460YHk+MzxZCG2KfPGWvPxF9Dl+t4v4b4kNu1YfEEksuAhX7+97dB5JFJ9N6/Cg1Qib19kkJc1ZLOyCw4R8ITvTCjguAAAIBy/pyuH085twdARrHuWoGgqliQv8SMYwzdWSJdYnX8f73Zwv9l45FKtNP4CzybOheAtw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nKzz6N353kemN5JnE9uEYBWK6Hu8GEiFzCv6Noxw+q0=;
 b=akUcDZ6JABkJw9sdzpfnYA2FpUiLGIYRBdlkWit/+cUVYR8hQLOiWYy1onjBdVpK1fRzl+2XtN2Q9SJ0WP6ElZ7iGXgOW4VoPS26JFF746HRRpbgDeqJ3CO8Ua66iPENOzeu7dGP9KX/B129//OShLXJh8VH2JfIBUVfo/gGH9dFfO14crQGetxaeD4anGOIxRlqNvIxIi1zljP7CiJrsQ3wTnFV9bLvgFiXQZMvuyhrGPqjbMgnbQZD4LKxJ7ZfsMZz9kyKl8RrmB8JSkIT8FT2lqFiXD9U6LY3YxExdbxDuQ2GOK+F0+wkWhlYFfnPu1aHiX5Aq1I+lBrh2R5BIA==
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=nKzz6N353kemN5JnE9uEYBWK6Hu8GEiFzCv6Noxw+q0=;
 b=HcdiBg9E3fV94D/anNUZhTlbtIU9eQJ0+IDKiTZCDbyImD183D1Y5vCKfkOwuulkvcPGF+BK/zIna05Hkdr64cFYPjlZ4+macxrAfuX6PmsIQqWSlE+91rJs9SBzEJge9HJsCwHZbfsoyKpG0OIL5OSaN57rPIdrnkhpertJlog=
From: Michael Kelley <mikelley@microsoft.com>
To: Tianyu Lan <ltykernel@gmail.com>, KY Srinivasan <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>, Stephen Hemminger
	<sthemmin@microsoft.com>, "wei.liu@kernel.org" <wei.liu@kernel.org>, Dexuan
 Cui <decui@microsoft.com>, "tglx@linutronix.de" <tglx@linutronix.de>,
	"mingo@redhat.com" <mingo@redhat.com>, "bp@alien8.de" <bp@alien8.de>,
	"x86@kernel.org" <x86@kernel.org>, "hpa@zytor.com" <hpa@zytor.com>,
	"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
	"luto@kernel.org" <luto@kernel.org>, "peterz@infradead.org"
	<peterz@infradead.org>, "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	"boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>, "jgross@suse.com"
	<jgross@suse.com>, "sstabellini@kernel.org" <sstabellini@kernel.org>,
	"joro@8bytes.org" <joro@8bytes.org>, "will@kernel.org" <will@kernel.org>,
	"davem@davemloft.net" <davem@davemloft.net>, "kuba@kernel.org"
	<kuba@kernel.org>, "jejb@linux.ibm.com" <jejb@linux.ibm.com>,
	"martin.petersen@oracle.com" <martin.petersen@oracle.com>, "arnd@arndb.de"
	<arnd@arndb.de>, "hch@lst.de" <hch@lst.de>, "m.szyprowski@samsung.com"
	<m.szyprowski@samsung.com>, "robin.murphy@arm.com" <robin.murphy@arm.com>,
	"thomas.lendacky@amd.com" <thomas.lendacky@amd.com>, "brijesh.singh@amd.com"
	<brijesh.singh@amd.com>, "ardb@kernel.org" <ardb@kernel.org>, Tianyu Lan
	<Tianyu.Lan@microsoft.com>, "pgonda@google.com" <pgonda@google.com>,
	"martin.b.radev@gmail.com" <martin.b.radev@gmail.com>,
	"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
	"kirill.shutemov@linux.intel.com" <kirill.shutemov@linux.intel.com>,
	"rppt@kernel.org" <rppt@kernel.org>, "sfr@canb.auug.org.au"
	<sfr@canb.auug.org.au>, "saravanand@fb.com" <saravanand@fb.com>,
	"krish.sadhukhan@oracle.com" <krish.sadhukhan@oracle.com>,
	"aneesh.kumar@linux.ibm.com" <aneesh.kumar@linux.ibm.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"rientjes@google.com" <rientjes@google.com>, "hannes@cmpxchg.org"
	<hannes@cmpxchg.org>, "tj@kernel.org" <tj@kernel.org>
CC: "iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org>,
	"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
	"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>, vkuznets
	<vkuznets@redhat.com>, "parri.andrea@gmail.com" <parri.andrea@gmail.com>,
	"dave.hansen@intel.com" <dave.hansen@intel.com>
Subject: RE: [PATCH V3 00/13] x86/Hyper-V: Add Hyper-V Isolation VM support
Thread-Topic: [PATCH V3 00/13] x86/Hyper-V: Add Hyper-V Isolation VM support
Thread-Index: AQHXjUfkLHG5EyKjREma0XuJC95pyqt2O57g
Date: Mon, 16 Aug 2021 14:55:31 +0000
Message-ID:
 <MWHPR21MB1593FFA5FD713BF42D4197F3D7FD9@MWHPR21MB1593.namprd21.prod.outlook.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
In-Reply-To: <20210809175620.720923-1-ltykernel@gmail.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=e5108425-7e30-462e-9c4f-9a4d55c1d719;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=2021-08-16T14:29:15Z;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-office365-filtering-correlation-id: 5cb51cd8-4e1a-41ad-3182-08d960c5e4da
x-ms-traffictypediagnostic: MW4PR21MB1985:
x-ms-exchange-transport-forked: True
x-ld-processed: 72f988bf-86f1-41af-91ab-2d7cd011db47,ExtAddr
x-microsoft-antispam-prvs:
 <MW4PR21MB19850244BC52090E5955B0BDD7FD9@MW4PR21MB1985.namprd21.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:8273;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 LXdGonL+GQ7wkn9qSGEuLb/pD/790fWt7wYOmALo37wzWnjOcZ/Xc3ZLgvqLlueIWCUOvJ/Rj9RwG5baXYuboLTBAiTq9VN0YmcQohZu/hFb6LWPaPmjxZ3YwNbov78fJn+3BYDWUWHHQbkDPBYY/crte26xqnDFgZw10P71Lb1QHCICOr6xJSELER8qs2n/us2UWUeBy9BSESAOnFLP44sQD1L5PMXNXbap4Ur3mRezoa4GxemwECKudpcuq09Gm4xxZUWdnF9+29xNyqgxF1c1rb90CSpCYxZTprDn9X63Kc16iKNi7k/STajc6QQJZsmRXjn1qwDQCuNMAebIBcaR7wpg5TwESXe+IxE6HBD6JN1RPsIuUYh9b4M4KHuIIKoXhY445PkBPooMOGf61QO6Ph3mQ2vC55sWd74VMpWP79v9grwbm7qRQtGitrP4QkVwlAP8pQSRl2CXefZGgdbnk6St7w+gtS2Fl3peUXTVenTr6EB71e14EY5htt4F43p4tdi81OASxYKn9mWcx5xgiSYGI+M3bxXVCPmcr3mlzqOHZmXp2SvGTG91bmQY86srDiJqQ7uTxC2Vhy0qzPxVjJ0ALnIe9dyz04rLwwFxTEUTASgx7xRY4meCoNI3/PYrg73UVn9+5C2cw3PXCX8akPu9HEqWvnLtkdv83LFpxianauK8ldEx4BY6dE0eJLhU5wIAg3q0KPbdGvVSDu5ZLtDl0KiILMD6vya/RTI=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR21MB1593.namprd21.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(508600001)(8676002)(8936002)(186003)(86362001)(7696005)(2906002)(26005)(6506007)(9686003)(38100700002)(122000001)(55016002)(71200400001)(82950400001)(10290500003)(82960400001)(33656002)(52536014)(7406005)(83380400001)(66946007)(5660300002)(76116006)(54906003)(316002)(4326008)(7416002)(110136005)(921005)(38070700005)(66446008)(64756008)(66556008)(66476007)(8990500004);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?YkqcmjMKPb3HT/QrqCP4mnZgrNiTeEOLvYLS23s/yWEIohQd7vhVvJ03xobV?=
 =?us-ascii?Q?DKTG56hOOAlWa63ymtq2rDk05ToSdxbDZMYouS2yvIAnRnthmBikcVWfBr98?=
 =?us-ascii?Q?2veinR9pm+ofHLqP8xJeL4+QW6y7fQ4iB68wM/K7DdQ0MRPXUQh78Sth4cai?=
 =?us-ascii?Q?36iqIwM+Q5viDsH9Fu8Snc+IHZSnqiXnNEcEWXbxF0vNN+3Zb7ojwLElTsW8?=
 =?us-ascii?Q?8jIr3iFEMX29vauhDKff+P/cRiDT9YMsIEk4D3YxPp0KA16svmW5dNZoEPdf?=
 =?us-ascii?Q?zrETSvhrgKjcS/U6jZCt1b+VoIo3PIlRoU2wAGbI5bVwmISAgYcmqJzzYCP3?=
 =?us-ascii?Q?pOjjqLKr3LlT4xRk4XYID5gyuKIpjLJXZ0GV+O2bWCsCA9qV1qz275FsAb52?=
 =?us-ascii?Q?FKHQlr5KA0ME82dyG1phfAukrpY1ZwA2AVsewLqqC+fDu6G/55PQeTzzgor8?=
 =?us-ascii?Q?7N1mXV+qYHwdzFCQBDH2Bad/4H7WVt24C6oroHjdAangjC1qKltZEMhjOnHL?=
 =?us-ascii?Q?8/HzWNaRtCCvV187DrMRqvjwYTYPVqveayp3LGU4/tb+A6NBy2DN06oPlmOI?=
 =?us-ascii?Q?onLsduZx2HmMOJJxA+uGMGERqIvrKlYuHrBqf7vnAQx1eLJ8Ku7yc4gZCqqI?=
 =?us-ascii?Q?BICj4bMjGS28A9fKQW9/ifwIfpNUa5PqQkKsWC7fwCn1IS5Jv0Rfshv0w7mk?=
 =?us-ascii?Q?uWqYUc0xUEAhch4TnRDuxCYvDEBKji/TpvziimW/TA8eDRwp8tLA4kRzEdJ/?=
 =?us-ascii?Q?25XH+ebiDDKC56cm4NITU1AkvAAEF03u+yfsJmHv+957Rk7Hc1JEh3ocwCIm?=
 =?us-ascii?Q?UyVg2t80I+vIa1v4mzPRJgi4vO3tvc5j6FISY75d/ByjbvfAB4T58nrV0IqA?=
 =?us-ascii?Q?jFMmhLnJw8iJNky8gzeJKIziWxRGlLLJbq3pE9pe7IjyWZl6Pc4322ZM+S5H?=
 =?us-ascii?Q?o2zSIsM6KBNBjKR6EX+ZkBJ/NqVEdc+kBfdp2HuOrhhgVE+9nF836hvX6Hb2?=
 =?us-ascii?Q?czHqpzm26M+r/J/Hk32Asg+TYNVfh6eilGR/jjTFKy78rs61UttZLTYWUu/P?=
 =?us-ascii?Q?+vuudZFW32MewTRkSgukyZGY0n5if4Di5WuqaLCSdOhI2fpxZHQDg9YiegMr?=
 =?us-ascii?Q?Hrbw9JAo/k5uiUfOckSeV4qt9XpgeA8Cb7CG85NcqsyqoRAiscRWuyOC2g5v?=
 =?us-ascii?Q?RfQjq/5HIoh6WG+ex+wqUQ9dGqFsVKzMuxoUxhzSUG2RLATtYnLFc6U/rPHW?=
 =?us-ascii?Q?B7wJQH4mMHEKj/td+ZupRNwCXEDjy4yX8l/Ap0UZQHcksnbMnXhORIMRqnVI?=
 =?us-ascii?Q?uwEneH54fAvzvEtP7wrzth2/?=
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: MWHPR21MB1593.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5cb51cd8-4e1a-41ad-3182-08d960c5e4da
X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Aug 2021 14:55:31.1315
 (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: mNMDXffLalYM6/VJnYA1mgeiJVxoSvIRZZJOCsjpNwoRTVAC8hlzNEeA3ZwUw1FIB7SuPQJ5Hve6JAKWWDXpfGDppi9IMIpgHtJ4BFsCcR4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR21MB1985

From: Tianyu Lan <ltykernel@gmail.com> Sent: Monday, August 9, 2021 10:56 A=
M
>=20
> Hyper-V provides two kinds of Isolation VMs. VBS(Virtualization-based
> security) and AMD SEV-SNP unenlightened Isolation VMs. This patchset
> is to add support for these Isolation VM support in Linux.
>=20

A general comment about this series:  I have not seen any statements
made about whether either type of Isolated VM is supported for 32-bit
Linux guests.   arch/x86/Kconfig has CONFIG_AMD_MEM_ENCRYPT as
64-bit only, so evidently SEV-SNP Isolated VMs would be 64-bit only.
But I don't know if VBS VMs are any different.

I didn't track down what happens if a 32-bit Linux is booted in
a VM that supports SEV-SNP.  Presumably some kind of message
is output that no encryption is being done.  But at a slightly
higher level, the Hyper-V initialization path should probably
also check for 32-bit and output a clear message that no isolation
is being provided.  At that point, I don't know if it is possible to
continue in non-isolated mode or whether the only choice is to
panic.  Continuing in non-isolated mode might be a bad idea
anyway since presumably the user has explicitly requested an
Isolated VM.

Related, I noticed usage of "unsigned long" for holding physical
addresses, which works when running 64-bit, but not when running
32-bit.  But even if Isolated VMs are always 64-bit, it would be still be
better to clean this up and use phys_addr_t instead.  Unfortunately,
more generic functions like set_memory_encrypted() and
set_memory_decrypted() have physical address arguments that
are of type unsigned long.

Michael


From xen-devel-bounces@lists.xenproject.org Mon Aug 16 15:29:27 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 15:29:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167390.305540 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFeY4-000262-Az; Mon, 16 Aug 2021 15:29:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167390.305540; Mon, 16 Aug 2021 15:29:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFeY4-00025v-7a; Mon, 16 Aug 2021 15:29:12 +0000
Received: by outflank-mailman (input) for mailman id 167390;
 Mon, 16 Aug 2021 15:29:11 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=3tuO=NH=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mFeY3-00025p-10
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 15:29:11 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id b33b23ce-fea6-11eb-a45f-12813bfff9fa;
 Mon, 16 Aug 2021 15:29:09 +0000 (UTC)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2055.outbound.protection.outlook.com [104.47.14.55]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-17-sWugtaLUP2qGSfRUoq0SWA-1; Mon, 16 Aug 2021 17:29:07 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4445.eurprd04.prod.outlook.com (2603:10a6:803:6e::33)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Mon, 16 Aug
 2021 15:29:06 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.023; Mon, 16 Aug 2021
 15:29:06 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FR0P281CA0058.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:49::19) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.9 via Frontend Transport; Mon, 16 Aug 2021 15: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: b33b23ce-fea6-11eb-a45f-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629127748;
	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=e34TaObqebYYNOnrJ2Uk48Z9gMDnN/4F0FjiG6Xfpcg=;
	b=bbtKGXbGbsEeijk9Yw8h2dfobYGJfiHwG1OkiY/7z+kyNMAN87sEHHoYYQJutz3BkjMtgm
	cC9H9NJ2nM8Ee2wd3SbXqhkYlh+ndjwWmc8h7fGt9wCPcBDmdHtYM+gmQd8zmNQZHzn6m1
	IufPnkV8lXf2WXUfvxNyNKP++knsLRE=
X-MC-Unique: sWugtaLUP2qGSfRUoq0SWA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RwMFSrzDTGFhXUfzUzSuibDdNxsGgL41PpShrzq99+Ii6i+FMTVpONIAb5E5zUwJRAUbQo2USN0qlVZkhr3SohBdQUwZF7ehphjmNnXC+bzfFDtfOLbZIrZd3un21jOd9CtlkphOXt2WxvQXlkBZ2mvPuNlSER/mPjphW/BFR1qCmYH2gtSBcmrAnFaK+Qiw13ABIkAD0aFaXav0LpclqIoQ/H7/jom1C9fRhAmJESnxngrFEBhvDO9xEdGTou65ilrSJ5oxkKezm5VNZb23JesslfRbpn0yif1ZAgqaymL4Gy6vdzO9vcbcvmzxy7Xy+WTFnegOq+H943UDbAM1tQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=e34TaObqebYYNOnrJ2Uk48Z9gMDnN/4F0FjiG6Xfpcg=;
 b=SuZok7sKL2bSre1nR/T4lyghXK7hOrH3ox2W8FYUNaSuYMZcmylqeSfhEJjcV5VR+fSEEh1wn1Tzk6lO9dxUnEi6NSNqqSgBhUyKdnPheMuM4gvW67Dja9k9T2xWrOlB/KMXbO6BQs0/ymuVXo4WC+q86ZmuoJjophUoSEealm/oIXysbsE0dDXPx7G1ZtOpn7sAJkHT+/OTBv952SQWVGiAr/MJi9yiPSJYXm8ZyQLhxHLU2ySd7pR1QvI2NXKm/mSm3AMMP1QrGqhPQ1I2a+qAxOrEEjGrxNXqvbk8UVl/nlMZHaOqr+DwkvWknEkF5xMtFVYq/7DBDMtJv1985w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: citrix.com; dkim=none (message not signed)
 header.d=none;citrix.com; dmarc=none action=none header.from=suse.com;
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/PV: assert page state in mark_pv_pt_pages_rdonly()
Message-ID: <cbe46564-74ab-af38-7e31-2f0a3f46ab41@suse.com>
Date: Mon, 16 Aug 2021 17:29:04 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0058.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::19) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 2b9b1f1b-ce14-4789-d72f-08d960ca95bd
X-MS-TrafficTypeDiagnostic: VI1PR04MB4445:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4445237A1DCC6227B6099774B3FD9@VI1PR04MB4445.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8273;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	C+1h6iK6pLwT4Fvss86QYG/p1Fh+dgwnLOKMQG8H36BqfJSjmEt7Jr2gLbvaCzmEyBZpAzoQFt4Cl9CyAw9xLhZAKf0eUZ+mYMZJRKuvX/XYPM2vBG3S3K2Z8Nxx1ofM0+ZAOdqc7mfXgatr3HITEtH8HhjaGOvGiYJYEwaoQ0ZME+CyIui+jgoOzRzZATH1nggJmzZ6EXqe+uoM26byjf3MutKeGpupltaDRKH0N//rLWfLRccaSb/UQJHK6dRhsO8bGZsifOQkCsKrv5Ei8c1fs7t0RdFJ3SqYU4SStwc/rCaDlfa8e6unbl2pqVKUOtIa509tLpGqjYtCgS4XtssEoeGfK7mKANfziLLUVqHjRCvalt7mG905fcw2uvVr5QpnZ2Lawsmm473yBN2DNdho0GjmgzPi/UUV+tviQG7CMdYMgYMEQcO6q60b7A5fkXaKjUo91cUOUtgZCBxKGmpCa6UP3QKubbxMKRFHT+Ndd216l6xBtKQaBj2dx9IHvlHD1h2DGj8mUYCpk8VAm3KmBGOl+uJ3l8BZB6ij/PV8andE66h1gRby4QLF1ewg2VOxjdHpuvG6CTLA8vcYRQZJRUcocJ1/ySpdtAUgQF1nR5G0F9YWg5FgusNmb+TDH7HU1x//oxn6VNn4NL5wWKzFKuFcPdm6zmTNtEngrR6Cr0amKsZ9ewOR6dHSB9s8lGz+c8wxNiSb4h7YYsFmeVZcc7B4D+aNxrj49JIWkHzMjWHzFOuYI7Q1n4c6cQ1n
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(86362001)(54906003)(26005)(31686004)(2906002)(508600001)(956004)(5660300002)(6486002)(6916009)(66556008)(66476007)(2616005)(66946007)(31696002)(316002)(16576012)(36756003)(4326008)(38100700002)(186003)(83380400001)(8936002)(8676002)(45980500001)(43740500002)(357404004);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TEFsL1BRREZlai9xaXh2S3YycEVlUzQ0Mi9ka1NoSGYreTRWT3loTGFHYlp4?=
 =?utf-8?B?NUxUc0JaWUhUWjhJYnkxWlBFSm5SQURTaTFQemFKc2hkTTNpM1JMejVDaVMv?=
 =?utf-8?B?cWpMakxJN2ZZR0RHRzBGSWk2dEE5Y0VxRUpDZ2xVRHpSNHBEZWRhb0pZamp1?=
 =?utf-8?B?ZHZyYytnbjdiWTFuUUs5TDdLY2xpc1NqNkc1OVJUaVplK3BVcDhQZDQ1UHJF?=
 =?utf-8?B?WmJ6VUQ4STZTdWVSR2Fjdk00TXF4TEsrbDY0ajVuU240T2pTenZJR3VNQlF6?=
 =?utf-8?B?Ri9ONGFSc2ZCRlBUY083SGFIWlc3UytBWUUrWEMwMC9UczJlakxvZGRPMjEv?=
 =?utf-8?B?Nkw0cVovbUdsNFQ4VEp6SUhsSHl2RXEvcVZCZFB3WUpHaWZMQWxNYkdxMS9u?=
 =?utf-8?B?dkliUTZmRDRhL0hxV1F3QkZQTG1xU3A2a000NHpDcnZ0amtxeGxsc29ObTRF?=
 =?utf-8?B?SWtuUmZ5RUhXWnJRemxxKzc4TVhPRWpwTEppRUdmN3pJTm04TnNNZ01wenlr?=
 =?utf-8?B?ZHlGOU1udmV0b0YyY29iYWF1Rmo0YWV6T3VqWDV1VUJSTkZSdlllQWRQL29C?=
 =?utf-8?B?YXFHZVhmbGlMSlJnRGtjWmlvRU5PNTMrNDU4YVNpeHd0dFFSbUY0VTVjL1NL?=
 =?utf-8?B?NzJoeWJvMjhVNHQ3S2Fhb0lnOUFJRVV6anVxbW12YjZZcFZVenZaV2Fsb1lP?=
 =?utf-8?B?cVEwcUxWbHFFQVJrYVhtNTZ1cmZMM0hHWDIwNGJDMjRpcWhick9BempXV2dp?=
 =?utf-8?B?cm1zazNQSHR2a1V5KytYSUtWWjUxOFJPY2lQMDhZL0JmUnZIV3hQcjhQM25M?=
 =?utf-8?B?ekhXamlTTzFHenI0a1FKY1FQMk9VZ0tkNU4zTmp1eUlZTFFFU2ZSWjRBeEpj?=
 =?utf-8?B?YkpIMlN6b3U0dGJUcERMbStZbktISGV5R2Vyb2xBM0dkSkxRT3BpS1lCRFVY?=
 =?utf-8?B?S2R0U1ZTenlFWXdPSDhLVzlwYzJGZnR4UlBsS2hTRjA3Z1VuWVpybDNvL0xM?=
 =?utf-8?B?S2pYdmxvT3lGYkRYdi9DU3drckJZQXk4TXFwbnJsOUQydDdxUThQaXV2cFBK?=
 =?utf-8?B?SjZnLzdPQU5pZnI2Y2I4NnJ2b1JBWmxYeDAzVEFhWTQ4SEhDNTlzQUMxMUh4?=
 =?utf-8?B?S0ZVdmNXNGozZUhOcnFkZ2xQNFFUZUZ1RWVscjdvQXZEOWRxM1czdmZUVWhh?=
 =?utf-8?B?NkxpeXdtcGREREJTajBQb1lYUjBTa0NrbjNoL1Yxb3JOWVNQOHl4L1NKaXcv?=
 =?utf-8?B?Ym92SEhaUXBvMDhOK0pzMnBYMFFzb3F4eXVwd3NCZGx4OWk2QWNoTzVLQ3lr?=
 =?utf-8?B?Qk4ycDVJQTJoaGtLdER1OEgvdUFWMUZpZWp3dURmeVczVXdzSytpaU5DbzYv?=
 =?utf-8?B?dlVLNnpBVElUSXRLb0FpVVdXSlJLbXhpL1RJeklaTDNSR0lPOE1ySi9DSXk4?=
 =?utf-8?B?T3Jycjc4cnl0RDJubjY1c003ZEF1dlNQcVAxTEVXMU8zSmJEU2JZMFcvM25O?=
 =?utf-8?B?VE56a2k2SU5XOFZiTUxSSjZvNi9vcGhvSXJseUJsUDdaVGF1TExsSGRWZUVP?=
 =?utf-8?B?eWN2Q0s4VlBNUHV5ZWVuQ0NkZ2pLUTkvSGdzZFBHMFJDdkpMNWc5U2l6L01v?=
 =?utf-8?B?Y0trUDY0MnBmWTZwZjZpRkFsUWQ3K08rUWtUamp6QlBjWVEyckJ4dlNkb1ZI?=
 =?utf-8?B?V1FwSU04T3N4SWhvelRJTGlvTUloTnQ5cmFnY2R6YTc3ZzdodmNaU09ZdDRs?=
 =?utf-8?Q?Y7y1ALgMapYUOFGTevDmVXILLhsEYMktjPNMWu8?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2b9b1f1b-ce14-4789-d72f-08d960ca95bd
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2021 15:29:06.4161
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: WzydXOzZ8VcHzWC4Qr8hIzLvv5KKccA6xfz+6pP6z/w90ChZ1ByOd1wAWnJ7ySjMKV2BN4t4MJOe/9H1psHAPw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4445

About every time I look at dom0_construct_pv()'s "calculation" of
nr_pt_pages I question (myself) whether the result is precise or merely
an upper bound. I think it is meant to be precise, but I think we would
be better off having some checking in place. Hence add ASSERT()s to
verify that
- all pages have a valid L1...Ln (currently L4) page table type and
- no other bits are set, in particular the type refcount is still zero.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
There are (at least) two factors supporting my uncertainty about the
"calculation" being precise: The loop starting from 2 (which clearly is
too small for a possible result) and an apparently wrong comment stating
that not only v_end but also v_start would be superpage aligned (in fact
v_end is 4MiB aligned, which is the superpage size only on long
abandoned [by us] non-PAE x86-32).

--- a/xen/arch/x86/pv/dom0_build.c
+++ b/xen/arch/x86/pv/dom0_build.c
@@ -59,6 +59,10 @@ static __init void mark_pv_pt_pages_rdon
         l1e_remove_flags(*pl1e, _PAGE_RW);
         page = mfn_to_page(l1e_get_mfn(*pl1e));
 
+        ASSERT(page->u.inuse.type_info & PGT_type_mask);
+        ASSERT((page->u.inuse.type_info & PGT_type_mask) <= PGT_root_page_table);
+        ASSERT(!(page->u.inuse.type_info & ~PGT_type_mask));
+
         /* Read-only mapping + PGC_allocated + page-table page. */
         page->count_info         = PGC_allocated | 3;
         page->u.inuse.type_info |= PGT_validated | 1;



From xen-devel-bounces@lists.xenproject.org Mon Aug 16 15:30:19 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 15:30:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167397.305551 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFeZ8-0003Q5-Q1; Mon, 16 Aug 2021 15:30:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167397.305551; Mon, 16 Aug 2021 15:30: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 1mFeZ8-0003Py-Mq; Mon, 16 Aug 2021 15:30:18 +0000
Received: by outflank-mailman (input) for mailman id 167397;
 Mon, 16 Aug 2021 15:30:17 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=3tuO=NH=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mFeZ7-0003Pq-5f
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 15:30:17 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id da8ed812-fea6-11eb-a45f-12813bfff9fa;
 Mon, 16 Aug 2021 15:30:15 +0000 (UTC)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2176.outbound.protection.outlook.com [104.47.17.176])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-1-f7xHX3qcOKmrZT2Fe-bGGw-1; Mon, 16 Aug 2021 17:30:13 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB3295.eurprd04.prod.outlook.com (2603:10a6:802:f::25) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Mon, 16 Aug
 2021 15:30:11 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.023; Mon, 16 Aug 2021
 15:30:11 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FR0P281CA0018.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:15::23) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.9 via Frontend Transport; Mon, 16 Aug 2021 15:30:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: da8ed812-fea6-11eb-a45f-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629127814;
	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=c2FQqTC+7zHg8fr8cX2PKnhOZ11ZlAANFIcYhl89bXs=;
	b=jXdswPfrj9yW8kwOvJlRA4tciaOrBPqfgeBiIy9RPyMIc3cIydUWo5tXTcYejYYLWu9QNN
	a+BMbN03PmRKBYGGA8+BeI/g+XFrRCx3++y8j4vfY+rENcLEF6JWTB2ZMN4J6699VK1qPp
	uZfw3QaBF66Fc3PNeWGIZsbTCIjjUbE=
X-MC-Unique: f7xHX3qcOKmrZT2Fe-bGGw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=j/C9knEVGXa2aG8lUcffbHT6jXFhBL0Y+3+mV5zUiPhk6phHNSDJkmXZlbkO7R8V6mkner370ccHY5po8MvKxk12sbZ3ifzLlmJJEU2fKFrpd9KU3N+pa77gGaoFB6V9V0omiMwSRSwePCYuTLWA1l973UGHJGCt7Hmo6N4Xiyg22vcAPTDRzF8nyv05s2okESf7gxduA9xnl7SpPpTOBqPLBO+UCb1yERmU5FSboAB52mJY+tUouDzqBmeAnw6OTPeyQvLa8MH3kdGD0TqqAOmiBLpHqOCPPocbwoo+hrQusIOp3RZ+44wQMk7u2h/ijRbjit8sj0zz0jabYoctow==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=c2FQqTC+7zHg8fr8cX2PKnhOZ11ZlAANFIcYhl89bXs=;
 b=DraB1OXsSQc2PQLp9TjELMzaBug+BVBblUONto0GK9Ojq2iB+VrSciylOhTCVpu2wN2Semsc5nejAeXCannTz4HFKKUEcjTOjvvsrxLe44Tr4i19eTO1B3ers5P3xtuVVVtVi6F4nL4PdSsPwQm+DAWSOlYXEmqDzGc3rhcT5ETSCEl1idEFEWOXMF4r/WgVH3ReTHO41kGQ2Fwvas6w4kW8YSInEjHCZPrL1LkniNGJpQBBIGgQi3g81C07d12ppmf2pSBsrynLA7lee0t6fZUjk8kUNln55Veg6jXKhy8TgxN1q9qxP6mHWhoUjXAhLYw6zwr5qodzmSsgXPr56w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: citrix.com; dkim=none (message not signed)
 header.d=none;citrix.com; dmarc=none action=none header.from=suse.com;
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/PV: suppress unnecessary Dom0 construction output
Message-ID: <bed8e679-b531-e1b4-5ef9-79019fa230dc@suse.com>
Date: Mon, 16 Aug 2021 17:30:10 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0018.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::23) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ed85aaa3-f7fa-454b-4f92-08d960cabcb1
X-MS-TrafficTypeDiagnostic: VI1PR04MB3295:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB32955AC1E427CCE560CF6A34B3FD9@VI1PR04MB3295.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:7691;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5m+Y9JRoy/8eB/gb9TpObHy4qCaN8MCS6aCUl4SD8CAM/ASuLADx4pZJdTo8gFni0YdtVBMsvrjHod/18VMVIDIed2JyMcMKnIVgrByn2hDQ82SjK/iTGYDCe+VL4rjWS5CARqvkCwivnDltYU3Ne9Uf8+uhoH6WctK7UbBZeoveGQiCIKjqhvLCiewtT0hZHjLVQBNXXGrUfDgssxptIeZ1CPaB3IEPHbOwcxAsuIfdBMuyaGpA7TV9WtfQc1gw9/9XFYAyaOvUc9Osq5XDL4Ep/jxigGFis/w1YsuY5PoQuA7ro8FdgfG4oBWqXMjXG5r+LHye0rqi9y8R6TcsZTIygbK6qOjEHm+YFVg5E3BWCAnZao9/XKRP45IWaeZYmFmY5LVmHXCexIy/nbRla5GLKE6RNJ4HGVBu77wTGc2yMlKu3twB56z5RMVKyzqUVlG6BNXKiodIxJsjuv/JQjYtFRFfhUt7CnSKhoa6z8pSpLrnpLvTYVV4let+2qQZ6wy/5oH5RnI2zGlwR3euktjagtE97+6ftH8jMqs0Bfh3UknHOVEbh8APE430FrA+q3Ziqk3IgDKDD6q+tmQK+PXEOM5cqZi/2s2hMGrR6Kfa6wKtj+byywOABGWsUaVlAppDMCx/yY8+MklnOOL007HsSdGcx1V/WoMOwCWYbIUKd20QpC/4kMVQzzs4pIhp9KC+nPDnD8yZ2V1DjqjfE4VWiRNl+DZS2EaOp2Nao3E=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(39860400002)(376002)(346002)(396003)(136003)(366004)(16576012)(2616005)(54906003)(5660300002)(36756003)(956004)(8936002)(316002)(6916009)(26005)(66476007)(86362001)(186003)(2906002)(66946007)(66556008)(4326008)(38100700002)(31686004)(31696002)(6486002)(8676002)(478600001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z3JyTEJMdHdGUDVGbVcza0xKWG5sbVozU3pRT3NnU3FuSGVraVNXYVI5ZDc4?=
 =?utf-8?B?VkE4cHB0VVQ3TDE2anhjZnlOeW5Vd1RSaGNXc3BFYW9ScElZdkdtdS9QbVlm?=
 =?utf-8?B?U1BUNFo5REdXOUQ4THNGOFlBYVFPcnR2TWMzVGRyUGhma0VPZHRramdqSjRF?=
 =?utf-8?B?UkJiRXRlUEFIWmwvVUY5T3RlZllrVXFScUxacmh2dm1GZ3E4N0hvTFh5MjFO?=
 =?utf-8?B?eUpSU1ZEWnh0WUQ2RnhSSTVZc29mUEIyemFIVUYzcHA2eEUvOFN1T3liRmFZ?=
 =?utf-8?B?U1VOZlp6N3puODk1cXNQelpFdG5OaDhaN0g1NGpoK2Y5OXVaZ1dSQWYxYVRD?=
 =?utf-8?B?cHlkWXpHOHlDNXFGd0ZOeGNTR2R6cVNmTHkvcnBYUFliOWpocnJvTkNXWTlN?=
 =?utf-8?B?b2t4N2pza2RUajF0UU03elJydFdhV0xSdWZ6YXFLYzZSUFpjL2hJbkpTWnY4?=
 =?utf-8?B?WkoreFUvVi9DUmZlUVV0MXgrdmFwSFpEVXNhVnB4dnBoSDZ0bzFBdjFmeW15?=
 =?utf-8?B?ajNBWlE2cHAxT2F3dDg2T2tGaTJ0L3JlUWNCOXMzWTBQOEJuOWpGT1R3Q3A2?=
 =?utf-8?B?elVwbWE1SUJhVGZVNktQamxyQkZFMUYvZnFOaVNsWUNUWU82VXNzdDdGY2Ju?=
 =?utf-8?B?OENaNGpQekM1YUNVNlp1YzZTeDRZbEJLb1R0STFYS1dPS2FEZ0J3UmVnOGxC?=
 =?utf-8?B?RnpnNWJ3L2VLVk02a2wvRDhmclpDek1xdUN6R3ZYVDZKSWV0MW5VK0dOdU1L?=
 =?utf-8?B?bzUxNVBkWWVkd1c1VE1HZ2VDbnRHR2hNUkVSUEZsM0VESk9aSFJWWldWeWVr?=
 =?utf-8?B?SEZkNy9KN0Q4NzJ1UW9ZUUZSS1ZlcmJLV1VyRmxacXptVlNsSHhReDZkTlN6?=
 =?utf-8?B?ZURTZjQyOFFGb0t5ZmVscm85YkNPWWtlamswaEZmdGZNN0hEVHBGQlJCRkNm?=
 =?utf-8?B?TlpVUFVPbHNrT21PT0dTalNYazA3N1lJdHpsc3J1YVF1WUtDcGRFZTJXS1p5?=
 =?utf-8?B?QmhCV2NpWnJLUE9wZmpEZlltaEhTRnJVM3lOL1dJamErNkQvZGx5QkNGVEN2?=
 =?utf-8?B?TUNXeEJTaDhaOTEzdVQ0R3ByVEhQblBoK3FZQ2NpekkwamJIaWVSbldQaGMv?=
 =?utf-8?B?SGlpdmh0UDZJbGxxaW4vSFRreXRJcEdxcjZGZW94TXVZQ1gremo1aTJMcHg2?=
 =?utf-8?B?UWY5TW5BaXFtNUhuZDBRSVdObG1KaDJOS0JjZUFjME1MSDJYaXNxQVlxejdU?=
 =?utf-8?B?SGJBMWFWdWdYbzNoOVl4ZVdpYmlad1dmTUd5NFVyWGwxTzJmUDJNRVRDMVZP?=
 =?utf-8?B?TWhmMU5wMG0zcDZKdjhnMnIra2RWQm9DM3FhM2VYNTBMMXdzR050RVZTUnd1?=
 =?utf-8?B?UHEwNFdyd0FWM0FrbW9BYjFyZW9sOWZlTW81dnR1NVZxVnAyckxYVkIrVWcx?=
 =?utf-8?B?dk43UmM5WUVWcWMrWUFqTSs2QytYVnZVTVlaWUs5eFR6NkRQU0xKbXBPcWV6?=
 =?utf-8?B?VFJKT3NVR01HY1NadlJXT0t2MGt2WGdIZlAxK2RTMWpSWUhpRFg1WDFPZUNO?=
 =?utf-8?B?QnV1b1FqQmVzeGZHOTBrR2V4K3BMWWVoZHExbFpLUlY4MThqSi9ybWp2N3Fv?=
 =?utf-8?B?Wm5kT2JGa0tETWxTaXBSSUdZSW40UjcrUGc5REk3V0F6bG9QODBXbEF1TkdN?=
 =?utf-8?B?bHRPeWhFbW82M1ptS3JoTWp3cklMV0xWOWtNQ2N6Wm9lZG9UMWk5dFN4Q0gv?=
 =?utf-8?Q?Txwy6IjjcwQBHfYFT5jlO2B+4Mv65DadGwvHGu3?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ed85aaa3-f7fa-454b-4f92-08d960cabcb1
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2021 15:30:11.6132
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: w6G8NZPjGoZ6/THZd5MXa2T9EI6GbdlCmF93RfRLXOFSwQaNM3Wg+4PSG9Q13tN1FzvcQzYnL+rfLJRI5euNxg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3295

Especially with XEN_GUEST, being a prereq of PV_SHIM, defaulting to N,
v{xenstore,console}_{start,end} can only ever be zero in such default
configurations. And in case video is the only output configured, space
is scarce. Omit the two lines carrying no information at all in this
case.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/pv/dom0_build.c
+++ b/xen/arch/x86/pv/dom0_build.c
@@ -580,8 +580,10 @@ int __init dom0_construct_pv(struct doma
            " Init. ramdisk: %p->%p\n"
            " Phys-Mach map: %p->%p\n"
            " Start info:    %p->%p\n"
+#ifdef CONFIG_PV_SHIM
            " Xenstore ring: %p->%p\n"
            " Console ring:  %p->%p\n"
+#endif
            " Page tables:   %p->%p\n"
            " Boot stack:    %p->%p\n"
            " TOTAL:         %p->%p\n",
@@ -589,8 +591,10 @@ int __init dom0_construct_pv(struct doma
            _p(vinitrd_start), _p(vinitrd_end),
            _p(vphysmap_start), _p(vphysmap_end),
            _p(vstartinfo_start), _p(vstartinfo_end),
+#ifdef CONFIG_PV_SHIM
            _p(vxenstore_start), _p(vxenstore_end),
            _p(vconsole_start), _p(vconsole_end),
+#endif
            _p(vpt_start), _p(vpt_end),
            _p(vstack_start), _p(vstack_end),
            _p(v_start), _p(v_end));



From xen-devel-bounces@lists.xenproject.org Mon Aug 16 15:32:02 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 15:32:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167403.305562 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFean-00044S-5U; Mon, 16 Aug 2021 15:32:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167403.305562; Mon, 16 Aug 2021 15:32:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFean-00044J-2L; Mon, 16 Aug 2021 15:32:01 +0000
Received: by outflank-mailman (input) for mailman id 167403;
 Mon, 16 Aug 2021 15:31:59 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=3tuO=NH=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mFeal-00044D-CH
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 15:31:59 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id a6b52372-3952-4938-ac2c-bcd408aa82be;
 Mon, 16 Aug 2021 15:31:58 +0000 (UTC)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2054.outbound.protection.outlook.com [104.47.14.54]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-13-gu5T-ul5PBecywOUwMWc5Q-1; Mon, 16 Aug 2021 17:31:56 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VE1PR04MB6381.eurprd04.prod.outlook.com (2603:10a6:803:119::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13; Mon, 16 Aug
 2021 15:31:55 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.023; Mon, 16 Aug 2021
 15:31:55 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FR3P281CA0010.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1d::9) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.9 via Frontend Transport; Mon, 16 Aug 2021 15:31:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a6b52372-3952-4938-ac2c-bcd408aa82be
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629127917;
	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=rk5bsRVmd168z5+RIwq3jLAB6dql/1sgp2aT+H6oh1A=;
	b=IPg264ZN9KzYwe47Oyx5h/X7DZ4EUmrpF0hotGwGv/NWfjRlO2JJxw6by2A3vTCeYFVQzc
	NI+tg4s1D4pLGQGWrVqt4zY5X+vwxuqFVjng2zFS4JrGtsoG/VuIjo257IkhccEK7aVGDD
	RUvrLvT2vh0Zi5LVoiUIah2QxRZY2WE=
X-MC-Unique: gu5T-ul5PBecywOUwMWc5Q-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TJJeGuszG1fwDILxAXQ7RRkNwd0y6s0u5Sd+zv4QQwIro5almD+c0c0O32P6XKS/U8bCzSD/HwZ7GkVVFUQTIv6tQprJRfeeBooMNM+I+n8bWm8SIfUU2TUbxX0dLuY7kC91xapzLyxkZtInl1GRLOCoQqxFHphhVF+WDqOnofZ05i2P1o6CcvoyuFTnv4XmiQwpyyvyf6s6FWuqHUXQXchazP45dVNPUUtJxjGYCNiExHR+bkSvAUwAVLRuTvtqFyhx//vdAdegk6vc+QSnPAmdAoG5ldVVIlHfmNq19FStzikJlJBdRko77K249dxjL4AVAFe4eYhXXpyLV/JJAg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rk5bsRVmd168z5+RIwq3jLAB6dql/1sgp2aT+H6oh1A=;
 b=dFbgplexrXGnSHh/MMgxfmvp34mkR41CajD+Xh+LE5p0xoitdjeqdFXC7XrUfnWv4HSMsX8Cl4hE8v8GaRKO+qQ+O7Y2wMqqZ8QvULve8fTGqEvflZXfyGSLQvOLzvNEB704O6efgAbrjSfQf0+sJJOoZqbcqq2iBr+g2VkpaZ7MyEiWQrGJy0iZED1VMTGnw6QSvu1ZfiZS1jNNYwJrZcHXLcplimV2/5BRNbYKNi2gt+BFWw2HtfD1UHtoIB/MkgPZcAYdXWL4EZJ6BezooOTWiH1uA0HOgwM+aK8OC0cAIhYAYlolThUkTK8qG6YBXkPajnYBvc1pmsRW8yUVmQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
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: [PATCH] IOMMU/x86: don't map IO-APICs for PV Dom0
Message-ID: <d01563bc-ae9c-fe91-b313-19a30af09170@suse.com>
Date: Mon, 16 Aug 2021 17:31:53 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0010.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::9) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a564d33d-1c1a-4082-1f41-08d960cafa6e
X-MS-TrafficTypeDiagnostic: VE1PR04MB6381:
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB63811F7072DD13B26C23DD4EB3FD9@VE1PR04MB6381.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:2449;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xbr2cnnGcWRph5tLpuSP9jZloElWgi1x9PijZtCDALY8IB16r3meUhXIxi4+t1vUtl15AuHDgjdft//RmtR8dnaugEwrfz6tG/0W5KYpaJ8FreFEOH9bST8/4W6cwp4FmnKYstlkcZowJaeS3a9hiUhfw6xavhugY2jhZQmERvMPMucONG3F6M5kZ0U7VSrsX7mT8fb+/WlwdcP2qrMGta8YyESV1npFPsPg8X+JRt+YsxJu+LWdAAPMrXvAYh3KuiZQP9MfaGEwL6yfp4EM8lbS4FxxgrD5oHkNf1RZSm8ggCg9F5pqsdOG24ng8E2DxzIFgn9LP3wnGPozczgXDqvwx0k26gUnhH17P7D8Mdnu1V/WymMq4bYM8R/KlgLUt/fDb+PPulL5Rbq4Y6Nbpznk4RJ3eUJiHPVVrLNiKXvMS34YsJIF/OlHaiC+C2zYKXtus+IaT6VfIBA4qunOXCrtnZjUng5fWWueg3itTzMN4NYKyl+ypBUEAuH7b7t7WJSnBmPtyD8/UvZTa7uFFNmnStmIDTNtLoq/A/yOa8wHosX8Zf+m4A8ZJuTrQNr6IhQ5viCc7y1ymcDKFJbYjKhdVpgcoyMg1getD/hdMG5gBMFkm3MrObWaXwCEsJIL0IjZ6zR88gu3JODmNgYZtk9IvvXsEGIRsStxmqo3y8iRBEJAUgVSDQLbZbY1pDrsSlsAmtaMWfQMOSWnotboKVzvs+FOSICmzww/MIRBj3I=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(39860400002)(396003)(366004)(376002)(346002)(31686004)(16576012)(956004)(316002)(8936002)(26005)(38100700002)(86362001)(2906002)(31696002)(66556008)(66946007)(5660300002)(66476007)(2616005)(478600001)(4744005)(186003)(8676002)(54906003)(6486002)(4326008)(6916009)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WWJ5a0RQWWc0cHRrMHZQOHR1NWxVVE1HT2dlSElieG5zN29wdm05cEkzMkJh?=
 =?utf-8?B?emhEa2MzMVRPRHlpSTBveHdYU3FUYU1zZCtjd2xxTjduWHJpTHBNemxnMEgx?=
 =?utf-8?B?ejJFOWROTTBpMnZFYy9pUWlXY1hTT0wwMThKYzBWSXRrS1laaTdwbEJkWXkz?=
 =?utf-8?B?QXh2QUlER0JJaWtwM0ZhOTBqOE5TaGNwcGxVcG1vYWxreTVrNzcyaTBLWllI?=
 =?utf-8?B?WmJ5dzdDczFOVzN0ZGZBUFZTdG9rTE1QN1NLVFAwMFFEZGlGckI4NGVaNER1?=
 =?utf-8?B?K0dVLzB6enk0cDh6SElkRXZESXFwODFTRk5kNms4TnBRSzJOOGtpL2kyWkZW?=
 =?utf-8?B?Zmx0dk5aSGlRa3hncGw1b2V4Zjd0ZVgzZWF1VlhNSWFhdXlCVXJhU0JhOHVJ?=
 =?utf-8?B?d0lXZUM1U09seDNqVmJrVlo0Sy9lU3MwKzhqWmVlOEZBTWwrNWVLOURCTWMr?=
 =?utf-8?B?cHM3OG5FUWZlMm14c2N2L2dINDMwRm80THpzWnlmem92dmJjbURocnZKL25w?=
 =?utf-8?B?V3JMT1lRNWhWdzFpZlFOaEhmaENXOWt6ak95ZTgwbWZKWmZSc1M0S1lFM1Vz?=
 =?utf-8?B?QnJDKzJtelROUldWdGRwT3JzZWdtOFBaTDBvRjVuM2VlZExiSEFqWXY5ajhq?=
 =?utf-8?B?T2phZ1NRMWZLKy9kTEpwWlh2Ym1DVzJDaXJ0RXZsdmlGYTN4U1EveVR6c00w?=
 =?utf-8?B?eThvaDNDN3lvN1MxdlMxMEhpUnljSFNld0hqUlJHVFM3bTE0aVlxQWRzYmxE?=
 =?utf-8?B?ZktWSVJtc20ycXc4R3k2TEVmOGlvUjMxcHVUcXRUblREU2FHTmM3ZDFIeU10?=
 =?utf-8?B?SzR2UTQ4V3huNTBSc2xtQ3NVM2d5VDdRSnJjWklUMDByYll3R3BsMTQ2Z2sw?=
 =?utf-8?B?YjIrTm5pRXMvemVkb1Fvbnl5YTA2UDNLOU5LcHhDTTN5cWFpcGQ3UjhaZUk3?=
 =?utf-8?B?enFsZ2M4SDY1Nm4vWDNyZ2dwTUh4QXZxT1VtRzB3RU0rWkI5cFQ4eWtmdk1L?=
 =?utf-8?B?dk56eDlKZVBYWHA1RmJRQXVVcTdySWVCKzJ3WDNpSHA2NHMwN0VBZ1JCOEV1?=
 =?utf-8?B?S2djREpDU3FxQU9YVjlJSDJHUHlaYzFpUkRxbWkvbFJnVmVwWjA5Vmc5QVQ5?=
 =?utf-8?B?YUxKbHZuUTBvOU5BTW1valhvc1Njd2VsWHFiSE52MjBFelJ5TUVQc3NibU5x?=
 =?utf-8?B?dnU5c1kwNzRldEN4MTFmM3dkeEhNSDFoMTVQWGMrMi82dnVDbTdvOGlLMDZG?=
 =?utf-8?B?bTEzQnVaZEJjWE5yVjBpdkEzUEhZdjBqN2x4U0NEN2dFOVFZcXYxc0EyYWcx?=
 =?utf-8?B?VUdxNnZvQjRGWDkwMGtDZVpYSDNJTnZ0NUlsdXRRYVE0Q0tTNkZaL1Q0SmpY?=
 =?utf-8?B?Zi9tMGVuNm9ZSGFPRXE3eGI2dk9TbU5BaWhyaTVUVVhldjR1RWF3alBLZzNJ?=
 =?utf-8?B?MHlvMWJZZ1lMdERIcm4xUFFQL21PYjVSN2RjbkRzUnRNWUVUWGhlNDlBcEU5?=
 =?utf-8?B?a2ZDTUcyMWVhNHQ0WCtNSjE0TnZ1eTRwTVFMVTl6eUN3QW9ZTUJzdFUvaXJO?=
 =?utf-8?B?T2s4Zkd2L1VKMTVBU3RlTUZ3SitNYktSOEtqbTR3YzI4ejBvekxSa1dmSnBU?=
 =?utf-8?B?dUJvNzNieXo5U3VpVC96TlZQRExWNzBVd1BzN24xSVVYdFhwWlR0dTZ6TXN0?=
 =?utf-8?B?Yzc2dmhvaUZ3cjZ5RzVMTkMrOFN3T2VVMm1rRDRSQTdwK3JoZzcrZ3o2eEdi?=
 =?utf-8?Q?P6cRDAvdBphR9Go+lSPuw1NlkRm5S6VJQcvTWgF?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a564d33d-1c1a-4082-1f41-08d960cafa6e
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2021 15:31:55.1716
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: GStgEkS1SWgRRyitjzOd0ClIn7vDn70bdu4U3Ev6GJA0/HL3i0dyFIZy7XS0c6pmHmDyjm2DDP7apm16hh4fDw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6381

While already the case for PVH, there's no reason to treat PV
differently here (except of course where to take the addresses from).

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/passthrough/x86/iommu.c
+++ b/xen/drivers/passthrough/x86/iommu.c
@@ -199,9 +199,18 @@ static bool __hwdom_init hwdom_iommu_map
     if ( pfn >= 0xfee00 && pfn <= 0xfeeff )
         return false;
     /* ... or the IO-APIC */
-    for ( i = 0; has_vioapic(d) && i < d->arch.hvm.nr_vioapics; i++ )
-        if ( pfn == PFN_DOWN(domain_vioapic(d, i)->base_address) )
-            return false;
+    if ( has_vioapic(d) )
+    {
+        for ( i = 0; i < d->arch.hvm.nr_vioapics; i++ )
+            if ( pfn == PFN_DOWN(domain_vioapic(d, i)->base_address) )
+                return false;
+    }
+    else
+    {
+        for ( i = 0; i < nr_ioapics; i++ )
+            if ( pfn == PFN_DOWN(mp_ioapics[i].mpc_apicaddr) )
+                return false;
+    }
     /*
      * ... or the PCIe MCFG regions.
      * TODO: runtime added MMCFG regions are not checked to make sure they



From xen-devel-bounces@lists.xenproject.org Mon Aug 16 15:44:07 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 15:44:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167408.305573 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFemQ-0005aj-9u; Mon, 16 Aug 2021 15:44:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167408.305573; Mon, 16 Aug 2021 15: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 1mFemQ-0005ac-5r; Mon, 16 Aug 2021 15:44:02 +0000
Received: by outflank-mailman (input) for mailman id 167408;
 Mon, 16 Aug 2021 15:44:00 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=3tuO=NH=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mFemO-0005aW-Fk
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 15:44:00 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id c565ce6c-fea8-11eb-a460-12813bfff9fa;
 Mon, 16 Aug 2021 15:43:59 +0000 (UTC)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2113.outbound.protection.outlook.com [104.47.18.113])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-36-e6n_MgQgOgqjLFQvOgxN_Q-1; Mon, 16 Aug 2021 17:43:57 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB3295.eurprd04.prod.outlook.com (2603:10a6:802:f::25) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Mon, 16 Aug
 2021 15:43:56 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.023; Mon, 16 Aug 2021
 15:43:56 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FR3P281CA0022.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1c::10) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.9 via Frontend Transport; Mon, 16 Aug 2021 15:43: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: c565ce6c-fea8-11eb-a460-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629128638;
	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=QQ6Ni4tb2I4yG+Vc0STXp/JQ8EwjwQ1iCtPSbEVLvs8=;
	b=KtyfXnDepGC4Dsj7S8rMjG5TnjsklgPufdFYyw5rMOvSlJVXS7g/2MB4/vHg8nnZO6u9cr
	QkeJzrPc+xTY0T5D3VwGHcrVdKGQbQnG+sMfNVoJHOB1bbY6SHSBn5tZ7XW/I8UQEIh/na
	fJfqlYj3WQKwtnrGkES6LR5xrBlGPTo=
X-MC-Unique: e6n_MgQgOgqjLFQvOgxN_Q-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AfSGfU3CgjAxqL06rgsEODnLbCXtard96WrNlFtryk0Sl9FAqF7+WFRrUObpnIvAuCXSthiLJDluAC5OsJaC9xke/3lVvL6m5ui9/AM3PpI4KYpGUwxgSEl85iVLnJFaLhpASiVyiTeTOMqwdyEI5+sTqVNvC+WDCCb/JE2P0e/DGb38TGniPCK4ZxhVKHaUXDuTomRUJzobAOyeOtTd+E/17/4Eg2D2Sj+UKCsRUz3MG6bfJ6jvHBkLPZI8tlxg6vC7O7vWaFzC8zvVpvZZtU0MEOPyrNLBse2FCBBx3/axnbcN2V5CQTkNh9D/1YRe7d6O6bVkAsBbWbWfz5upwA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BMn6eybIX4RyhUSyE7uOxwLitQXQN/tNiFn+dm5R3Kw=;
 b=kAd0D6B+DRVby993wPX1G8EScqsRTkkJVAc8V4rRtT2v/+OSzKePrwXrJPVLj63/mOhFcf0vtsMYj+OrZgDGK7Og2RxhyttOUY66rkznQa6Egy1zA9/THtVIiTrSJcOtuKyVbms5IIKLc9E1sZxBBOhirlUoNr1SjuYPRyK4AF428mavhuaffDJxq9HTrtJLEyAqf7ts4pxaprCTfBsAEWVdMLj92xMUsV87FOBxKh3bxf5YBoExgcwvHKH7lnG2aAhgHbM0xOgDQ87BEs0KoqKoGeF1W71Fayv4Za4lC+xD1aKmxmy2I1TD3BUUuC5N0hWOj3seFJV469TBDPCWkA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH] x86: work around build issue with GNU ld 2.37
From: Jan Beulich <jbeulich@suse.com>
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: <2e0beb7e-022f-efb3-3adc-4877c60bfeba@suse.com>
 <69a34c1f-0df8-47c2-4c67-2b22abb9fd21@citrix.com>
 <28bc0732-9c20-c670-4485-8b39bc595eff@suse.com>
 <b310f267-c478-15b7-7e1d-19a650d0a891@citrix.com>
 <ee086e0a-f0c7-51c1-5be2-0610b6c78628@suse.com>
Message-ID: <2557c71b-37af-2eed-c122-831391ce085a@suse.com>
Date: Mon, 16 Aug 2021 17:43:54 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <ee086e0a-f0c7-51c1-5be2-0610b6c78628@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: FR3P281CA0022.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::10) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ed016e13-b844-4b2d-92fa-08d960cca836
X-MS-TrafficTypeDiagnostic: VI1PR04MB3295:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB3295AAC31E7153F85CFD3BCEB3FD9@VI1PR04MB3295.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:5797;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1zqwFY+6aytG6p/vJZk43gGbrOWoQ4Xylqa+pKT7PTamcpX4xLkqN+ZM/2ZG36ci193QALK2Dqlcq5E7iuB2Qk+fBXgHcDUlvS7X6GiyPKIOHydwYF95yZYK6dU3QrS3+WTinhXYs7hIfU6Z/gYgbtJV+QfUXGCyFnm2ftPuAtnt8+GVUTL1SI1oDmjp7fZoe+6P7pNza3/Ryt+Kx8IsDMnbW8ZZeAHNsbdfOqjekZtDQCD2/8IoTTQQMCD6DUhdRDad1/SrPsigNsePV1sduL+GLivytn/V9M0x0UzA7CdO6rGN9R3CjEJgFfjtstPO4teJstjbOUN/0OJHjAMVFyW6AxbzSeCB0h9XNPvtuknTMJzH1XuSI/Jp3CfPfQ1PTW+jHqifIVUm+IcGj9qSVZuNF76xDKh/cpGYiw6/Qr133X8le6FjFLhalpSziPddSdpM1TfI8oYbsR/7HWVcS4jwJ9yjcvOqDn94fAX9DGCsG0PnKFVydJzbsJzfm5SGVO+8MJy9DvY2rZz0i29TZvy7Ld9V8MIpcNx/3dxLpJeClrqns17BV4bacO5TG3tVrD9z3NdxGohhWjJC9zBHzmXYHNIkLusPLI5DiVloga86RMHsIZUBfdX40uzi8sm9LHiNebHMWSmd1BcZYD7xDG1kdGaNo2Yvlw2TIKKsXFCqUN9Ii9+I2yHoO3Uz25wqSa3HfliJY0csuEgfIiSX4i8GrEuEPuh2XUhdoui3hu11cuQl80iebVd0fMCw9c4aE0YmHwuvjwH6HW0zjh3oYeLgXXzdlLlixeuKBUh1r4tHgkYGCve0eC44ACmrG3nA
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(366004)(136003)(346002)(376002)(39860400002)(186003)(2906002)(66476007)(86362001)(31696002)(31686004)(66556008)(4326008)(38100700002)(966005)(6486002)(8676002)(478600001)(66946007)(5660300002)(2616005)(54906003)(16576012)(36756003)(6916009)(316002)(26005)(53546011)(956004)(8936002)(83380400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?igrUj7RTIKsJ9FWN+sRUt4ylA+Fc+YRI0fcH2jGI3vef6y4gxNZIEnZhBF/X?=
 =?us-ascii?Q?CzafA4GQno5PcHhta/leC5umyGdcjeSZW3jDMz4h0bO5zCgWOu/fhg9EQg2+?=
 =?us-ascii?Q?IPRz2qnYwRhApC545r11PtJZVfXRGvWzXArs2OLedM4rrK0ZaadC052GUP/l?=
 =?us-ascii?Q?mkHMSZAl3GIKB1g2QufY0Xr84J+0/FJAebekoWvaWBsOd2t4Hm07qOEtXUhm?=
 =?us-ascii?Q?RsIgI7KOpMkZFJeUmt4Cqf8fGo54PMqarKOb5R7+P45OHY1+JPjKb3Y30HS6?=
 =?us-ascii?Q?NOkCIYdQm334f0nnTiMxaLsdBEZhIQsw6zLu2udTXvxrAZt1L0qZ9XOPqpXr?=
 =?us-ascii?Q?BLJPjjmzwwpbhJJwp8msIFSuyPsG2J/fh6+v2DgW30JTnnYcjU4uav1GRCir?=
 =?us-ascii?Q?ZrUB32v+JD15FyzTIo9H3Qfl+iCmMZQYfPfa3F/a9C2hpBn1iHcUrKRKWXLP?=
 =?us-ascii?Q?QXjK75HB+UAWHmSwdmIvtCcwTVuz/+6RKsrJ83+zk6jmig2i83c3+xHDXg6O?=
 =?us-ascii?Q?LFk7FMk5xVQOo9vFUenVHNyZSNBieIdlKMH596+kYpXiCyAfP+2H58kMNyN/?=
 =?us-ascii?Q?/icBZGug+OweyeOt+b9c/pEj2QMR4tW/S3ZBRB1+HjOUKwJUC2BpQSJ2y60p?=
 =?us-ascii?Q?aMVJtXdk2e/J41OzbDKeb7PmnNuQWRfol9m2Ibu17QH67Eg0nLeEZx0/xW++?=
 =?us-ascii?Q?pTpHUsIvkWg6j3y8iMeRxJ+yQ19omHrlgwrdcToA0k8eLRdhfDsTSI6A2QSr?=
 =?us-ascii?Q?2zE2Q6rGGgCUD1OFCem1yehd7vT6DuKvnZTJLzM5oVMuyYoFViJHnlFShD4f?=
 =?us-ascii?Q?fdNwAshwzvU5+OEtz5aLTQ+Y/A0RynegdKSIpGrGw+aA09+scteQ9/Q9LrVC?=
 =?us-ascii?Q?+hYLhx8uiYeP9RwFbbGyC7kXEoEAkLFhR7ZZJORXGvztiWVbJogglPIsB3Bm?=
 =?us-ascii?Q?/RfgGqqcMhbIDONq7O00lq/evtmd+UXFf2zZV8xpCMPtsuIzLO/af0GV+8s8?=
 =?us-ascii?Q?zz9BW5SpMOAZFBdVzU5F9L+CXmF3/UeeqwZvCeYHYc8tOJGu6btcRo2sa4Gd?=
 =?us-ascii?Q?bgKVAlPg7IK1hOwFSaKIk3DykWBPSaKDQtko8ErVMfllNsL+aKnXABJtRtcq?=
 =?us-ascii?Q?ErWdCPitCwhUABQSmlMgiPGm6JY6F9zLcrC84kX2HAQlBIKSUPmGjXBwXz2j?=
 =?us-ascii?Q?SztluOwVbyWEtKaa4+8nF959p8tIUItQ57FcyvFgDvi7sYqcuU1Y3VLcyv3d?=
 =?us-ascii?Q?JJ+VVvNnsGKwhLBBzUU6rHAyiw3NVCMvu5Lt2g6bXi5BWlFrOpKKHj8aHhBD?=
 =?us-ascii?Q?XNHT7192x+GcGeet1fxtbGNQ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ed016e13-b844-4b2d-92fa-08d960cca836
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2021 15:43:56.2968
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: XM5ROLb6UGfE2i1PP2P+rwz55cov+BmbA8M7UQxxLmKEdAIbSQPVsbc7U2gpsddwDbqrk8rp3W72svD45aLLVw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3295

On 10.08.2021 10:50, Jan Beulich wrote:
> On 10.08.2021 10:33, Andrew Cooper wrote:
>> On 03/08/2021 07:37, Jan Beulich wrote:
>>> On 27.07.2021 14:33, Andrew Cooper wrote:
>>>> On 22/07/2021 10:20, Jan Beulich wrote:
>>>>> I suspect it is commit 40726f16a8d7 ("ld script expression parsing")
>>>>> which broke the hypervisor build, by no longer accepting section name=
s
>>>>> with a dash in them inside ADDR() (and perhaps other script directive=
s
>>>>> expecting just a section name, not an expression): .note.gnu.build-id
>>>>> is such a section.
>>>> Are binutils going to fix their testing to reduce the number of seriou=
s
>>>> regressions they're releasing?
>>> To be honest - I simply don't know.
>>>
>>>>> Quoting all section names passed to ADDR() via DECL_SECTION() works
>>>>> around the regression.
>>>>>
>>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>> I guess we've got no choice.=C2=A0 Acked-by: Andrew Cooper
>>>> <andrew.cooper3@citrix.com>
>>> Thanks. I see you've committed this already.
>>
>> Actually, it unilaterally breaks FreeBSD builds:=C2=A0
>> https://cirrus-ci.com/task/5417332467040256
>>
>> I'm not sure why my build tests didn't notice, but obviously this patch
>> isn't a workable option.
>=20
> I'm confused: Is the tool called "ld" there something that's not only not
> GNU ld, but not even compatible with GNU ld? (Iirc clang's linker is name=
d
> differently. Or maybe that's just on Linux? In any event I've just checke=
d
> with clang5 [on Linux], and the build worked fine there. But this looks t=
o
> be using GNU ld irrespective of the compiler choice, and I also don't see=
m
> to have anything named "llvm-ld" on that system, despite there being a lo=
t
> of other "llvm-*".)

So I've looked at their man pages. From version 11 to version 12 the
linker changed from GNU ld to LLVM's. Interestingly the respective man
page says

     ld.lld is a drop-in replacement for the GNU BFD and gold linkers.	It a=
c-
     cepts most	of the same command line arguments and linker scripts as GN=
U
     linkers.

To me "most of the same" isn't quite enough to claim "drop-in
replacement", but I guess that's just me ... Anyway - short of Roger
being around to ask, I'll try to locate a means to tell the two apart
from a linker script.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Aug 16 16:21:15 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 16:21:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167416.305584 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFfMK-0001gn-10; Mon, 16 Aug 2021 16:21:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167416.305584; Mon, 16 Aug 2021 16: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 1mFfMJ-0001gg-T7; Mon, 16 Aug 2021 16:21:07 +0000
Received: by outflank-mailman (input) for mailman id 167416;
 Mon, 16 Aug 2021 16:21:07 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Flmd=NH=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mFfMJ-0001ga-7i
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 16:21:07 +0000
Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id f4b46304-fead-11eb-a462-12813bfff9fa;
 Mon, 16 Aug 2021 16:21: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: f4b46304-fead-11eb-a462-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629130865;
  h=to:cc:references:from:subject:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=JIy/G0yIBdOD7DjFG5VmrJ+6lI/ivmSzVqrhV3lRyXU=;
  b=SzaIC5Fp3VE6l1AekvDLVsFVFQwvsd9+ommn+kt5KrxrXO4EXukDayks
   J3mSYzLdOEqFyzUNRoemfQcg+/zFfh/U6zhZofzmehnLmKns6+tZXWFeQ
   AKGnDJ+kwRaRjPYo0MrmD9Kz90u1PyN4x2Huy5HaJIiuSU7O3I0/pPtmp
   4=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: eSSlIEV8pAooJlgsFb6Jy+Cu3VX+unJIzbl+M1YncoLTAEkwUftA5RM0IoO5Adbp89An7YLSGh
 oIQsvZPji9tvY1T2L9WXerWHcpwU37M0DA7TdIknerdYaCGOHtXDF3ipDpKhzWaLwAeYRFD8A2
 kQNNrnEhUH7A8YBcQZRVL7urrV2IW5i3CrA3cjvXe04YOwyZySqhS32Cc4X5JQAfRFzdG3DNsV
 QCoEhPa8T5dFTdQX2fXrLFbM+iOoi8PDbc5tZPmABDpeGApa8mjyMqPVFNJOz02+mKYzkH8f50
 d0YgClYAjnkfAgbLGJHpZA3T
X-SBRS: 5.1
X-MesageID: 50544226
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:yhJnmK4pR+yuKCVdhwPXwUaBI+orL9Y04lQ7vn2ZFiY7TiXIra
 yTdaoguCMc6AxxZJkh8erwXZVoMkmsiqKdhrNhQYtKPTOWxVdASbsN0WKM+UyZJ8STzJ876U
 4kSdkFNDSSNykLsS+Z2njALz9I+rDum8rJ9ISuvUuFDzsaD52Ihz0JezpzeXcGIjWua6BJdq
 Z0qvA33AZJLh8sH7qG7zQ+Lqf+juyOsKijTQ8NBhYh5gXLpTS06ITiGxzd+hsFSTtAzZor7G
 CAymXCl+SemsD+7iWZ+37Y7pxQltek4txfBPaUgsxQDjn3kA6naKloRrXHljEop+OE7kosjb
 D30lkdFvU2z0mUUnC+oBPr1QWl+DEy60X6wVvdunfnqdyRfkNxN+NxwaZiNjfJ4Uspu99xlI
 hR2XiCipZRBRTc2Azg+tnhTXhR5wiJiEtntdRWo21UUIMYZrMUh5cY5llpHJAJGz+/wJw7Ed
 NpENrX6J9tABCnhkjizy1SKeGXLzMO9k/seDlFhiXV6UkXoJlB9Tpc+CRF9U1wra7UIvJ/lp
 f52qcBrsAEciZZV9MkOA+tKfHHfFAleii8RF56F26XXJ3vC0i93qIf349Fk91CWKZ4gafay6
 6xHG+xiwYJCgvT4Iu1rcZ2ziw=
X-IronPort-AV: E=Sophos;i="5.84,326,1620705600"; 
   d="scan'208";a="50544226"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eoQdC7qgIH8Yeignzavo3B5hCcH5U7pjNXvy4Q1wK+/rhG8YkS2jKxsFLeXXCLlnMKJi1JHLJ0CxDDbhpMDixpmiTTzNoVEcfKCuoOfU807vXgXzhUXXbK9Ah0qany9gOu6QOpdGAlXUPtznsmX2UtRSq5ZhagYrS4epRD6nS4Gudz0AMFwxUeArbQKLlvZeu0OxLP+Q+3mhgyBkic/X6L2Qjd56tQ7NXcyCcMVJTb2+XgjGeIUxaZ8atvZD6RQfL5kYH6rZou+O8tPWvjKGxHg2AHphzyyTr+97gZ9ZOgiF8n1H0fPTixvVD/tNBskighpqdlkdGQUMSdOA05EauQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JIy/G0yIBdOD7DjFG5VmrJ+6lI/ivmSzVqrhV3lRyXU=;
 b=gqoAeDXqNoNMGojP/vb+NpK30cTdT5XYJHX9Zw+j8tbp/w1sEe9sbF0O5+ZzC5v1bY94GItPwnoQFKYsDJjhdBdgH4TXVF7w0yppQS4KOpplyd1DKQdDsyiLFNUsRAxmTHwp+mZ3RlZIgHxwwKmKYLXin20OBADzb9IcsBnAnGNzpkTLiQ1Nl++BvrkoECHK/p5ujdzfeZuB1bxzL72CwUym2rlPt216rryrPHiAcRmMvE62E39LCQOjVqPN0B2PRA6Rnt6mvvhTeDEB8t1gq7vnNEw2gcE7tVz32iC1GTUIJqoSB1uDXSwwsSNKmutHS6IgWY6j2fW+SGWyRf586w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JIy/G0yIBdOD7DjFG5VmrJ+6lI/ivmSzVqrhV3lRyXU=;
 b=SXXlBi9w1sCwnFAnxfM0R4OryYI/jN5eUWj1hjMgy/8sbo6qPQRmadhONDnADRNNmesqE5GEOPPbMpIiap4WYIVVP8AdAa49yCYxoIqs/X60/qARRe4+1hxIU810dXvpIs3GXqdcZVNkBwZvNo5oqmov39byGsDTyuKIid6T4jY=
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: <bed8e679-b531-e1b4-5ef9-79019fa230dc@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] x86/PV: suppress unnecessary Dom0 construction output
Message-ID: <a7b79e6e-ff66-2f5b-eda9-75552fb8a686@citrix.com>
Date: Mon, 16 Aug 2021 17:20:56 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <bed8e679-b531-e1b4-5ef9-79019fa230dc@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-GB
X-ClientProxiedBy: LO4P123CA0284.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:195::19) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3e090f23-7327-47d6-1a47-08d960d1d749
X-MS-TrafficTypeDiagnostic: BYAPR03MB4807:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <BYAPR03MB4807A3A0DFBCD71C213202E7BAFD9@BYAPR03MB4807.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: xPMVeY0ocqngrJlHDPHtIKG9boxrLHeXbobodlED7wPjsNKc7Sf3Mkz6654ABHNmytwOee3zdwh0/eqZzYpEeXwyfxPjx/PDvRD/10K5aEzV6X+EF3pAGCm3xTWIMkwGM1lokbVS64Nl+X7TtzgDweBR6d/vull4Gm+fEpA2nftWM3NU6Zrinsn/2wKE3MPr8MxpHlWBh2isWDvW5iUhYdMc47VDaAKIEjxAYD6ZQAHtzCgBHR49G2Mz4iMg2UckBjP1v1H58Rfw2l/UOXpP2pu0qaNsJ9Lpz8r3E7A0CsdIVCiab0x0VIDLi19GvFLhr289+ax7GjwMJfJ6PcQ28Q1Gl2y/mbkjzN4Ni3kgi+md3XBc9rJCJcCjDIlsCkad5r5CziSS5Ox7VIxoUGsn+iee7bc3OVIZs0JaD0j/Uy0L6UDCGbcsVM/98AuWXyfylwK9/NbMkttgzkS8pl0RdSVoeRX3PZrROcv/bZXCNZNjgCVl02db7e6RIlLZii4yNrSPR0Uwa7OeQtZ6gVlY41iwlrz8mZb+iI2UDlphBqG2mqmcRUajOsrLi0cLnBIBhsueEDgd6oPvtku0G3YZz9BhMEfPruQGPkD3poUuWBfiicM2i6h67APJJDyPVSstS4AmltbXxmRmiyKkRM70Aij94zPBD2kwwtZTvO/LKNfw/Xi8DIhTUWj6Xn2wXhjVxoBPk6Z6cMbpr6WvS5eb4stfVx6yLteRiGL6SDEysco=
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:(4636009)(366004)(396003)(346002)(136003)(39860400002)(376002)(38100700002)(83380400001)(5660300002)(316002)(53546011)(6666004)(86362001)(2616005)(956004)(66946007)(66556008)(31696002)(66476007)(36756003)(478600001)(6486002)(107886003)(4326008)(54906003)(186003)(2906002)(8936002)(8676002)(26005)(110136005)(31686004)(16576012)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bzMrSEx6azZnWHo5M2FYSGlvaUZnbXRvYVRRWjZ2eng1UWk1NnpETGlKQnlC?=
 =?utf-8?B?eldPYjRoTlBnOElvdHlrcWVLWFB5WnUyNEtsb0dXTEdFQnlGSzZLUm5weFI0?=
 =?utf-8?B?d09GaW9jWEhCZEFZOCs2YWNMK2czNjVPdjJISnFQWmxOUndmWWNVdEFZSjBS?=
 =?utf-8?B?c0t0MitNUXRuQWV1ckdOUDB3Mnc2dTEwMHlMZEEyMysweTdueW9rOTBnV01n?=
 =?utf-8?B?eHQ5MEJSUU9BWVEzYjVXek1zbGFwRXgvU0ZkKzc1OEd6Q1FHelhVdUVrYm9v?=
 =?utf-8?B?RUlZclYzNmcyUEozdkZ1SFd2anBUallWTXY5bHJjQ2FGdGx3WkNBZWtzejQx?=
 =?utf-8?B?OTl6YUJZcWJNeGlYVzd5TVdwV0Q2RndZbTVoRTQ2bGJXbzIzUDRsZzlnY3VW?=
 =?utf-8?B?UUVldDNtVkF3RUpkZVJJd05nRXNWb2g3a0lIczJUdWVLWXR0OVpqQUxEN0pN?=
 =?utf-8?B?YU5xVnZYeUlXNGRPVkszaXBnY2Q5Q0swT1c2cDE1L1hDK2YzdzdidHlDZ0tZ?=
 =?utf-8?B?eDdoNXJkck5mY2FkemprcGcyTFp1S25SWEVBSEg5TS9CaGFNZFJzSUNxRVJY?=
 =?utf-8?B?SXFBVS9TYUFTOWNZNWMrZVozRlNrcS9zOEgvT0h2YWIvYU15YkhjT2xQcmlW?=
 =?utf-8?B?ZUZNOTZJTXF6NXMzTmhIZ1pLTC9DOVd3Mk05V1Z3QnQ0L3NXaFA3MXdKNEdJ?=
 =?utf-8?B?NjE4a08waGZ3SHprYjdxWHhFRXNkTjNCcU9ETDJFNDg3akU1TXhyMVgwZkRz?=
 =?utf-8?B?MGVEamNGUGpNZUJLeHV6MW9TUVdCL2xoMzFEY05nTk11NjdWTXQyN2U1YmJ0?=
 =?utf-8?B?Ym9wWXpXeDc5SmNKb3NKSXYzSkMrV0cyUGlGWDZlRWZrWkN0TGNkRjZreUpU?=
 =?utf-8?B?dUN2c1AxUXhZMGVyc1BUbDZna2Z3MDVLb0dyVlhydGRDQk44VjdzVmFwYVU3?=
 =?utf-8?B?SmFkSW9sK0tad01PNmc1M0kwRkpubmxpKzN1R29FMmhGWEllRTU2UGhUaDY0?=
 =?utf-8?B?M0duNjB4bEF6cDQ3THlneUorakdGNjNTSVZZUDBPTVlVY2VsSWJ0b1U4MFB6?=
 =?utf-8?B?cHliNVRMOFJsY0hvQXA1Z0d2TzlucjhtU1YyanhZYlhPRXV0NGFmTTZJTXMx?=
 =?utf-8?B?ZmltckQzcjVVaWR2cDNHWVlEcVdDM25YWC9GWlMvemxhODhQYzdRZWR2OU1N?=
 =?utf-8?B?eW5MZ2dCUWpRNWhtN2puYVBpaTlRRElLR2JoR25tRmR1V1diOHo0SU5MYm1R?=
 =?utf-8?B?QjhjSkcyLzVZczBxTkd5UmpSUHdPTFUvY2Z3aWVqeUNsb01XOVFMWjNHR2Vy?=
 =?utf-8?B?VjA0WVF0NjFONzBMMlJqV04zVVcwL2oyL0VyU2NISmVBTDFRQVkvWDRQSm45?=
 =?utf-8?B?aXg3WEg2Wjhnd1dUeGhUVEFTR0hYWk1JUW5Kc0dIYU9GQjhlVXJuSnVoT0Zh?=
 =?utf-8?B?ZEdzSDN1ei93dnlaaER1QkZXbFNpYWdSUmRlckVnTTlMNGppNDZBeEVnN3Bs?=
 =?utf-8?B?MzZRejVBMjJnd0o1Z1ZuOVVWdTdYK0RVSzVzakVSR2lucjIyVHc1eGRJTEhK?=
 =?utf-8?B?RnNRMzZadE9VRVdWM1k4NDJ2THA0WFo2Vm9nblNHTXZnWDFWUTlOa3NTZ21k?=
 =?utf-8?B?VjJYZllxNXJJV2JHVHdIYVlZeWNqN01ZbkYvcXNOb3lZWFlCcE1DemdJSUVU?=
 =?utf-8?B?V1QvRVpsakt3NExvSmZ3T3dzTUYrUHplRi8yeVg1ejVJTWRabEhjM3VSbDB4?=
 =?utf-8?Q?Td1x9DMehl+0MLOk/Pw70H7/3GQrfbERC2H0/hY?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 3e090f23-7327-47d6-1a47-08d960d1d749
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2021 16:21:02.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: ZRTGU8I3UdksOHbi/H265LASLigYjD+/XBQ0kSsVFUVQkOcY9DDRGqOWzQWzyc5bHIHj0izc/JPpMac56b6ZCK00GCLbdVgsOwkcOMpVuU4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB4807
X-OriginatorOrg: citrix.com

On 16/08/2021 16:30, Jan Beulich wrote:
> Especially with XEN_GUEST, being a prereq of PV_SHIM, defaulting to N,
> v{xenstore,console}_{start,end} can only ever be zero in such default
> configurations. And in case video is the only output configured, space
> is scarce. Omit the two lines carrying no information at all in this
> case.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com> as this is an
improvement, but honestly I think it would be better done differently.

Each line ought be a separate printk() in the first place, and these two
messages should be conditional on opt_pv_shim rather than
CONFIG_PV_SHIM.=C2=A0 That will also shrink the output for native boot when
SHIM is enabled.

It also lets you conditionally drop the ramdisk line which has some
conditional printing a few lines earlier for the physical layout, but
unconditional printing for the virtual layout.

And on that note, the earlier few printk()'s really need some newline
corrections.

If you do go with this approach, feel free to retain my Ack.

~Andrew



From xen-devel-bounces@lists.xenproject.org Mon Aug 16 16:47:44 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 16:47:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167420.305595 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFflp-00044k-6p; Mon, 16 Aug 2021 16:47:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167420.305595; Mon, 16 Aug 2021 16:47:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFflp-00044d-3f; Mon, 16 Aug 2021 16:47:29 +0000
Received: by outflank-mailman (input) for mailman id 167420;
 Mon, 16 Aug 2021 16:47:28 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hvJI=NH=gmail.com=xadimgnik@srs-us1.protection.inumbo.net>)
 id 1mFfln-00044X-U7
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 16:47:27 +0000
Received: from mail-wm1-x333.google.com (unknown [2a00:1450:4864:20::333])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 28b1aed9-0a1f-452a-bcb5-fad4d9a16c87;
 Mon, 16 Aug 2021 16:47:27 +0000 (UTC)
Received: by mail-wm1-x333.google.com with SMTP id
 c129-20020a1c35870000b02902e6b6135279so400112wma.0
 for <xen-devel@lists.xenproject.org>; Mon, 16 Aug 2021 09:47:26 -0700 (PDT)
Received: from ?IPv6:2a00:23c5:5785:9a01:88bc:11a:65ad:250e?
 ([2a00:23c5:5785:9a01:88bc:11a:65ad:250e])
 by smtp.gmail.com with ESMTPSA id n3sm52403wms.2.2021.08.16.09.47.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 16 Aug 2021 09:47: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: 28b1aed9-0a1f-452a-bcb5-fad4d9a16c87
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:reply-to:subject:to:cc:references:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=gMA0HOQ4Jmz58VzAkG1T8ITvAX1Ssdrkkr3LjJu2r5g=;
        b=CivmiZF4ckPtHtVusbkwrnqNQ7K8hittOSO4nvBojW4Z3cPZA6tspdPwnumURNamGb
         kUf+65AdVGx0y0smJR2Irjttg3bYeIFXHswQNOOybfzyNbfimqn8tNcDtAinDE5XoGIY
         DL4S5T2jnJ/yGJ4QzK0WsxHxcjY0QIc8yQvi2XUZs6lfFEyLpJKhxCAWahsc8dPlChmc
         HMCJShObOyhkh9DZf1YqHbNnabV8s6OJpKTpC2LuklLKVQrxsnVbsi6G7Oiv5Hpe+3kO
         /r3MK4Y9lgOOjlxZAMjgGEuKtZtETTYPd49Rt2n+VHh7RhKB8HEOcBfpN9QZilOxA3EI
         tkwQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:reply-to:subject:to:cc:references
         :message-id:date:user-agent:mime-version:in-reply-to
         :content-language:content-transfer-encoding;
        bh=gMA0HOQ4Jmz58VzAkG1T8ITvAX1Ssdrkkr3LjJu2r5g=;
        b=Y336fdU2oodWl0ODRrxLr1ZUJoOdm1JkmoJmeonLxc9IEd16PFOxiznIMUzu/MpKtb
         vuelQmoa95kDQuwjFOzTdfhdhQRJni7CC5bDt00cB1urjhTujSbGe8eSQHm8smeSNRlc
         o3bjGYbwcb0zwHMdL5Xei4TyLoPiXxezpkDqRI8iO0wXlbURZ3v9PN8NRI98e3Ef5OQ0
         8vhbOPld2bMRKzMgBf0jQidM0akXeK3pS9wLlkZuRmzjaSXfYbYKebzhvXnqlmJCqlBO
         hUIXdN3P+w2dITk6vpHvbZmWdQW/W54pr7sdIBoF8EJfpgE3tRuktvh4prvCAEglWYqx
         O4KA==
X-Gm-Message-State: AOAM530r7hWLxSEGOtOuF1BE4iGXV6LmPC3x+PYzdhR8MkP9sMXvwlu2
	Z59IBgkK/iejFJ9pbY2MaiubOy+ThO4=
X-Google-Smtp-Source: ABdhPJzJTAeIwDrOHMeDosBKU2+x+VOozDkIB6m/30hWSQFRxvBNeO9TRLx/Z/fTg+liyEphcKZDxw==
X-Received: by 2002:a05:600c:2046:: with SMTP id p6mr39418wmg.164.1629132446202;
        Mon, 16 Aug 2021 09:47:26 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Reply-To: paul@xen.org
Subject: Re: IOMMU page table freeing
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <d1aa9fe4-870d-8a02-9cef-af1be617252e@suse.com>
Message-ID: <9ba8896e-ba4d-53ae-83b1-10588e13a07b@xen.org>
Date: Mon, 16 Aug 2021 17:47:24 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <d1aa9fe4-870d-8a02-9cef-af1be617252e@suse.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit

On 10/08/2021 14:37, Jan Beulich wrote:
> Hello,
> 
> while I don't expect this case to occur often in practice, for
> superpage support we will need to be able to correctly free a
> page table (hierarchy) after replacing its mapping range by a
> superpage. Following P2M by carrying out an immediate iotlb flush
> prior to synchronously freeing the memory looks, to me at least,
> out of question as an option - the latest when considering ATS
> the flush may simply take too long.
> 
> Making use of RCU doesn't look like a good option either, as
> this would require callers of map/unmap + flush to enclose the
> whole group of operations in an RCU-read-locked region. Yet I
> think we want to avoid to concern callers with details of the
> implementation of the IOMMU operations.
> 
> Which I think leaves deferring the freeing to a softirq or
> tasklet, of which the latter - to me - would seem the better
> (easier) choice. If you have any alternative / better suggestions
> I'd appreciate a reply; ideally you would also reply if you
> simply agree.
> 

I agree, I can't think of a more preferable option.

   Paul

> FAOD I don't think I want to make an attempt just yet to care
> about the case of flushes getting carried out asynchronously:
> That would require a means to signal to the freeing function
> which prior page table pages are ready to be freed. For now I'm
> rather considering to merely accumulate these pages simply on a
> (perhaps per-CPU) list, for the tasklet handler to consume.
> 
> Thanks, Jan
> 



From xen-devel-bounces@lists.xenproject.org Mon Aug 16 16:57:56 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 16:57:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167440.305623 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFfvr-0006XF-IG; Mon, 16 Aug 2021 16:57:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167440.305623; Mon, 16 Aug 2021 16: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 1mFfvr-0006X8-FQ; Mon, 16 Aug 2021 16:57:51 +0000
Received: by outflank-mailman (input) for mailman id 167440;
 Mon, 16 Aug 2021 16:57:49 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mFfvp-0006Wy-GE; Mon, 16 Aug 2021 16:57:49 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mFfvp-0001ja-7B; Mon, 16 Aug 2021 16:57:49 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mFfvo-0006wl-TX; Mon, 16 Aug 2021 16:57:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mFfvo-0001hQ-T3; Mon, 16 Aug 2021 16:57:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=6GFuo2u9qfzy1jEN4WyMfdoL/eZ8Bd7DEmtWG5ypPLI=; b=kyD1hqqJRMmBV0OHkKh3xqeXfy
	gn++B9ilbZe1hxEFr47JvbrHxMrEa6innjiju2TP++vJnzvqKABfZV4OFo2hGyF+uZxa77yTgdCAl
	6fkw3n/cY5a52+k+lTV6JlQEy6DRKrUIXEoJiqYMjk1/fBe0e0fP2oTvpik4eO325J48=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164206-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 164206: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=274c5e79c792ce0331d0d8cd9a01545dea5a48fd
X-Osstest-Versions-That:
    xen=5c34b9af05b9e5abd25d88efc4fb783136547810
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 16 Aug 2021 16:57:48 +0000

flight 164206 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164206/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  274c5e79c792ce0331d0d8cd9a01545dea5a48fd
baseline version:
 xen                  5c34b9af05b9e5abd25d88efc4fb783136547810

Last test of basis   164179  2021-08-13 15:02:55 Z    3 days
Testing same since   164206  2021-08-16 14:01:35 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jane Malalane <jane.malalane@citrix.com>
  Kevin Stefanov <kevin.stefanov@citrix.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   5c34b9af05..274c5e79c7  274c5e79c792ce0331d0d8cd9a01545dea5a48fd -> smoke


From xen-devel-bounces@lists.xenproject.org Mon Aug 16 17:27:56 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 17:27:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167447.305638 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFgOr-0001JZ-PA; Mon, 16 Aug 2021 17:27:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167447.305638; Mon, 16 Aug 2021 17: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 1mFgOr-0001JS-Kv; Mon, 16 Aug 2021 17:27:49 +0000
Received: by outflank-mailman (input) for mailman id 167447;
 Mon, 16 Aug 2021 17:27: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 1mFgOq-0001JM-BV
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 17:27: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 1mFgOq-0002Eq-7c; Mon, 16 Aug 2021 17:27:48 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mFgOq-0000JU-1l; Mon, 16 Aug 2021 17:27:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=7YQd6Gv3J2Lw7IlmQtF3GJRr5aJTiiNuYYUP+LFYnSk=; b=wTfFPkb6fXdUVtKqcqoUGB/mby
	+4Egk4H3I3TjbLbc8D1yyjuIxm8TcpVdSYkidEbT5kZ/Tez1z9RMp0O67NeQ6mu2znZeGEHEN9ovY
	J8nv7bAeo085NA8psbQ6quIyemI7Qc9evDrc7mmanIwwpuoPzzohR86JluxZnnsil3HU=;
Subject: Re: [PATCH V4 01/10] xen/arm: introduce domain on Static Allocation
To: Penny Zheng <Penny.Zheng@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>
Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
 nd <nd@arm.com>
References: <20210728102758.3269446-1-penny.zheng@arm.com>
 <20210728102758.3269446-2-penny.zheng@arm.com>
 <7c99d0dd-ef62-10a8-a11e-d2ca52910591@xen.org>
 <VE1PR08MB521506FADC3CC8096D9B98DFF7FD9@VE1PR08MB5215.eurprd08.prod.outlook.com>
From: Julien Grall <julien@xen.org>
Message-ID: <9a6e7689-50e2-f046-4ebb-ebbafc769f26@xen.org>
Date: Mon, 16 Aug 2021 18:27:46 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <VE1PR08MB521506FADC3CC8096D9B98DFF7FD9@VE1PR08MB5215.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit



On 16/08/2021 06:21, Penny Zheng wrote:
> Hi Julien

Hi Penny,

>> -----Original Message-----
>> From: Julien Grall <julien@xen.org>
>> Sent: Wednesday, August 11, 2021 9:32 PM
>> To: Penny Zheng <Penny.Zheng@arm.com>; xen-devel@lists.xenproject.org;
>> sstabellini@kernel.org
>> Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>; Wei Chen
>> <Wei.Chen@arm.com>; nd <nd@arm.com>
>> Subject: Re: [PATCH V4 01/10] xen/arm: introduce domain on Static Allocation
>>
>> Hi Penny,
>>
>> On 28/07/2021 11:27, Penny Zheng wrote:
>>> Static Allocation refers to system or sub-system(domains) for which
>>> memory areas are pre-defined by configuration using physical address
>> ranges.
>>> Those pre-defined memory, -- Static Memory, as parts of RAM reserved
>>> in the beginning, shall never go to heap allocator or boot allocator for any
>> use.
>>>
>>> Domains on Static Allocation is supported through device tree property
>>> `xen,static-mem` specifying reserved RAM banks as this domain's guest RAM.
>>> By default, they shall be mapped to the fixed guest RAM address
>>> `GUEST_RAM0_BASE`, `GUEST_RAM1_BASE`.
>>>
>>> This patch introduces this new `xen,static-mem` feature, and also
>>> documents and parses this new attribute at boot time and stores
>>> related info in static_mem for later initialization.
>>>
>>> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
>>> ---
>>>    docs/misc/arm/device-tree/booting.txt | 40 +++++++++++++++++++++
>>>    xen/arch/arm/bootfdt.c                | 51 +++++++++++++++++++++++++++
>>>    xen/include/asm-arm/setup.h           |  2 ++
>>>    3 files changed, 93 insertions(+)
>>>
>>> diff --git a/docs/misc/arm/device-tree/booting.txt
>>> b/docs/misc/arm/device-tree/booting.txt
>>> index 5243bc7fd3..2a1ddca29b 100644
>>> --- a/docs/misc/arm/device-tree/booting.txt
>>> +++ b/docs/misc/arm/device-tree/booting.txt
>>> @@ -268,3 +268,43 @@ The DTB fragment is loaded at 0xc000000 in the
>> example above. It should
>>>    follow the convention explained in docs/misc/arm/passthrough.txt. The
>>>    DTB fragment will be added to the guest device tree, so that the guest
>>>    kernel will be able to discover the device.
>>> +
>>> +
>>> +Static Allocation
>>> +=============
>>> +
>>> +Static Allocation refers to system or sub-system(domains) for which
>>> +memory areas are pre-defined by configuration using physical address
>> ranges.
>>> +Those pre-defined memory, -- Static Memory, as parts of RAM reserved
>>> +in the beginning, shall never go to heap allocator or boot allocator for any
>> use.
>>
>> I don't understand "as parts of RAM reserved in the beginning". Could you
>> clarify it?
>>
> 
> I mean, static memory is very alike reserved memory, reserved during system boot time,
> not dynamically allocated at runtime.

Thanks for the clarification. The documentation is meant to be for the 
users, so I would suggest to drop the "-- Static memory, as parse of RAM 
reserved" because it doesn't add any value to know we treat the static 
memory and reserved memory the same way.

>>> +
>>> +The dtb property should look like as follows:
>>
>> Do you mean "node" rather than "property"?
>>
> 
> Oh, sure. Maybe "as an example" shall be more clarified.

I would write "Below an example on how to specific the static memory 
region in the device-tree".

> 
>>> +                compatible = "xen,domain";
>>> +                #address-cells = <0x2>;
>>> +                #size-cells = <0x2>;
>>> +                cpus = <2>;
>>> +                #xen,static-mem-address-cells = <0x1>;
>>> +                #xen,static-mem-size-cells = <0x1>;
>>> +                xen,static-mem = <0x30000000 0x20000000>;
>>> +                ...
>>> +            };
>>> +        };
>>> +    };
>>> +
>>> +DomU1 will have a static memory of 512MB reserved from the physical
>>> +address
>>> +0x30000000 to 0x50000000.
>>
>> I would write "This will reserve a 512MB region starting at the host physical
>> address 0x30000000 to be exclusively used by DomU1".
>>
> 
> Sure, thx.
>   
>>> diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c index
>>> 476e32e0f5..d2714446e1 100644
>>> --- a/xen/arch/arm/bootfdt.c
>>> +++ b/xen/arch/arm/bootfdt.c
>>> @@ -193,6 +193,55 @@ static int __init
>> process_reserved_memory_node(const void *fdt, int node,
>>>        return 0;
>>>    }
>>>
>>> +static int __init process_static_memory(const void *fdt, int node,
>>> +void *data) {
>>
>> This is pretty much a copy of process_memory_node(). So can we avoid the
>> duplication?
>>
>> I think I mentionned it in the past but I can't find the outcome.
>>
>>> +    int i = 0, banks;
>>> +    const __be32 *cell;
>>> +    paddr_t start, size;
>>> +    u32 address_cells, size_cells, reg_cells;
>>> +    struct meminfo *mem = data;
>>> +    const struct fdt_property *prop;
>>> +
>>> +
>>> +    address_cells = device_tree_get_u32(fdt, node,
>>> +                                        "#xen,static-mem-address-cells", 0);
>>> +    size_cells = device_tree_get_u32(fdt, node,
>>> +                                     "#xen,static-mem-size-cells", 0);
>>> +    if ( (address_cells == 0) || (size_cells == 0) )
>>> +    {
>>> +         printk("Missing \"#xen,static-mem-address-cell\" or "
>>> +                 "\"#xen,static-mem-address-cell\".\n");
>>> +         return -EINVAL;
>>> +    }
>>> +    reg_cells = address_cells + size_cells;
>>> +
>>> +    prop = fdt_get_property(fdt, node, "xen,static-mem", NULL);
>>> +    /*
>>> +     * Static memory shall belong to a specific domain, that is,
>>> +     * its node `domUx` has compatible string "xen,domain".
>>> +     */
>>
>> This code is just checking the node compatible is "xen,domain". So I would
>> drop the "domUx". This is also...
>>
>>> +    if ( fdt_node_check_compatible(fdt, node, "xen,domain") != 0 )
>>> +    {
>>> +        printk("xen,static-mem property can only be located under
>>> + /domUx node.\n");
>>
>> ... not correct.
>>
> 
> I checked it here, to make sure the "xen,static-mem" property must be used in a domain node, since
> for now, static memory could be only configured as guest RAM.
> 
> Which part do you think it is not appropriate here?

You wrote "... can only be located under /domUx". That's not correct 
because we don't force (or even mention to) the user to name the node 
that way.


> 
>>> +        return -EINVAL;
>>> +    }
>>> +
>>> +    cell = (const __be32 *)prop->data;
>>> +    banks = fdt32_to_cpu(prop->len) / (reg_cells * sizeof (u32));
>>> +
>>> +    for ( ; i < banks && mem->nr_banks < NR_MEM_BANKS; i++ )
>>> +    {
>>> +        device_tree_get_reg(&cell, address_cells, size_cells, &start, &size);
>>> +        mem->bank[mem->nr_banks].start = start;
>>> +        mem->bank[mem->nr_banks].size = size;
>>> +        mem->nr_banks++;
>>> +    }
>>> +
>>> +    if ( i < banks )
>>> +        return -ENOSPC;
>>> +    return 0;
>>> +}
>>> +
>>>    static int __init process_reserved_memory(const void *fdt, int node,
>>>                                              const char *name, int depth,
>>>                                              u32 address_cells, u32
>>> size_cells) @@ -346,6 +395,8 @@ static int __init early_scan_node(const
>> void *fdt,
>>>            process_multiboot_node(fdt, node, name, address_cells, size_cells);
>>>        else if ( depth == 1 && device_tree_node_matches(fdt, node, "chosen") )
>>>            process_chosen_node(fdt, node, name, address_cells,
>>> size_cells);
>>> +    else if ( depth == 2 && fdt_get_property(fdt, node,
>>> + "xen,static-mem", NULL) )
>>
>> How about checking the compatible instead?
>>
> 
> hmm, since it is a property, not a node. so...
Right, but you could write:

device_tree_node_compatible(fdt, node, "xen,domain")

This would be more correct because we are interested in node using the 
Xen domain binding that contains the property "xen,static-mem".

All the other nodes with the property "xen,static-mem" should be left 
alone because it may have a different meaning.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 16 17:28:46 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 17:28:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167454.305649 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFgPm-0001w0-7M; Mon, 16 Aug 2021 17:28:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167454.305649; Mon, 16 Aug 2021 17: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 1mFgPm-0001vt-3y; Mon, 16 Aug 2021 17:28:46 +0000
Received: by outflank-mailman (input) for mailman id 167454;
 Mon, 16 Aug 2021 17:28:45 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=InwN=NH=microsoft.com=mikelley@srs-us1.protection.inumbo.net>)
 id 1mFgPk-0001vh-UI
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 17:28:45 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com (unknown
 [40.107.94.105]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 6705929e-feb7-11eb-a464-12813bfff9fa;
 Mon, 16 Aug 2021 17:28:43 +0000 (UTC)
Received: from MWHPR21MB1593.namprd21.prod.outlook.com (2603:10b6:301:7c::11)
 by MW2PR2101MB1820.namprd21.prod.outlook.com (2603:10b6:302:b::32)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.7; Mon, 16 Aug
 2021 17:28:31 +0000
Received: from MWHPR21MB1593.namprd21.prod.outlook.com
 ([fe80::e8f7:b582:9e2d:ba55]) by MWHPR21MB1593.namprd21.prod.outlook.com
 ([fe80::e8f7:b582:9e2d:ba55%2]) with mapi id 15.20.4436.012; Mon, 16 Aug 2021
 17: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: 6705929e-feb7-11eb-a464-12813bfff9fa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kkDMkuYinqTWXuSGdKjWplTTLVEYvD0n0AeitWm68HT1vey6j7JHipo85rlV/nMKmxxxeqM89noq4tBX4DUdFyekQfcpoDxpfxUaoeaXeWw6ZB1pwtNGtLbycDiD6IGyo2Z7F04Do67d6+U9bTGST+Q6Sx86ZwuzHsg2ZQmpRxRf6L7fktyrIRjAV72WG9DC3B/R7NvQOLPD/+Bvdt2AS3DRJb4/9zFNThUswrRhDaVpqe+u4glsW6TyZlbhbJQ5mplEAj+0by7AElewzldRTWUhNWiViKWLoO/WJ4pnDthRAu7T3UZPLPICKgFCEwwnYG9DGivY0gPZxhspBZxCsw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hHYh+59p26U2UEzCDzT7jwLliJZHyK2g/ne2bVbIPAI=;
 b=VK3flP4Xsefbxbx6oEQvBWLJPos4oPreI9oPA4YhfmI0/NcV19rDwoa1HYHMQfdp3rNLTNwKOUqIwJXiWym/Se+M51DwyeGbXxDcD/LbC73aJrRUoN0v/3ixnD4ApOaHn5u+REjlwSDZoj4j2+hTbpaDtt5OqamqshJ0ySZWIxNo84IoqtX4dWivnxtjfZkxUM/KUq+R+YaoxHTKM9P7bZZaZ9maRTRD3Pfua7YnfLbl5VeeO/+Iqu7wUIbLxGFJHA+mtvtZy4h+KSVVbJjD9QLpO7bLPwtvaG3S5C+d++7Hsfv65f58uFhJHJLKhit//og6igVzvghTPKfK6vEjkQ==
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=hHYh+59p26U2UEzCDzT7jwLliJZHyK2g/ne2bVbIPAI=;
 b=Y2wLsNBjtIbhX2b89vDjzy5ketAUC/2M5O/sWgybGg1fgH3/Xk9ADGV2VIBkGQb8Ua831dvUEwT1E+zdc9EfR4zNnveKlGnWcnUpMte9a0I8W+3ep0NUFBjlxZb5jcfRL09PhDj1Aub5LifuwlwV2R51MW6yvpU7jhmJT7Tmh+o=
From: Michael Kelley <mikelley@microsoft.com>
To: Tianyu Lan <ltykernel@gmail.com>, KY Srinivasan <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>, Stephen Hemminger
	<sthemmin@microsoft.com>, "wei.liu@kernel.org" <wei.liu@kernel.org>, Dexuan
 Cui <decui@microsoft.com>, "tglx@linutronix.de" <tglx@linutronix.de>,
	"mingo@redhat.com" <mingo@redhat.com>, "bp@alien8.de" <bp@alien8.de>,
	"x86@kernel.org" <x86@kernel.org>, "hpa@zytor.com" <hpa@zytor.com>,
	"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
	"luto@kernel.org" <luto@kernel.org>, "peterz@infradead.org"
	<peterz@infradead.org>, "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	"boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>, "jgross@suse.com"
	<jgross@suse.com>, "sstabellini@kernel.org" <sstabellini@kernel.org>,
	"joro@8bytes.org" <joro@8bytes.org>, "will@kernel.org" <will@kernel.org>,
	"davem@davemloft.net" <davem@davemloft.net>, "kuba@kernel.org"
	<kuba@kernel.org>, "jejb@linux.ibm.com" <jejb@linux.ibm.com>,
	"martin.petersen@oracle.com" <martin.petersen@oracle.com>, "arnd@arndb.de"
	<arnd@arndb.de>, "hch@lst.de" <hch@lst.de>, "m.szyprowski@samsung.com"
	<m.szyprowski@samsung.com>, "robin.murphy@arm.com" <robin.murphy@arm.com>,
	"thomas.lendacky@amd.com" <thomas.lendacky@amd.com>, "brijesh.singh@amd.com"
	<brijesh.singh@amd.com>, "ardb@kernel.org" <ardb@kernel.org>, Tianyu Lan
	<Tianyu.Lan@microsoft.com>, "pgonda@google.com" <pgonda@google.com>,
	"martin.b.radev@gmail.com" <martin.b.radev@gmail.com>,
	"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
	"kirill.shutemov@linux.intel.com" <kirill.shutemov@linux.intel.com>,
	"rppt@kernel.org" <rppt@kernel.org>, "sfr@canb.auug.org.au"
	<sfr@canb.auug.org.au>, "saravanand@fb.com" <saravanand@fb.com>,
	"krish.sadhukhan@oracle.com" <krish.sadhukhan@oracle.com>,
	"aneesh.kumar@linux.ibm.com" <aneesh.kumar@linux.ibm.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"rientjes@google.com" <rientjes@google.com>, "hannes@cmpxchg.org"
	<hannes@cmpxchg.org>, "tj@kernel.org" <tj@kernel.org>
CC: "iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org>,
	"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
	"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>, vkuznets
	<vkuznets@redhat.com>, "parri.andrea@gmail.com" <parri.andrea@gmail.com>,
	"dave.hansen@intel.com" <dave.hansen@intel.com>
Subject: RE: [PATCH V3 08/13] HV/Vmbus: Initialize VMbus ring buffer for
 Isolation VM
Thread-Topic: [PATCH V3 08/13] HV/Vmbus: Initialize VMbus ring buffer for
 Isolation VM
Thread-Index: AQHXjUfrruzh6q5VrEqe79CjktZwpKt2SJQQ
Date: Mon, 16 Aug 2021 17:28:30 +0000
Message-ID:
 <MWHPR21MB1593FFD7F3402753751F433CD7FD9@MWHPR21MB1593.namprd21.prod.outlook.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-9-ltykernel@gmail.com>
In-Reply-To: <20210809175620.720923-9-ltykernel@gmail.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=151d8e1b-315b-4252-a2ea-b7f2a7065a33;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=2021-08-16T15:15:38Z;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-office365-filtering-correlation-id: fa5be945-23b3-4ed1-df7c-08d960db447d
x-ms-traffictypediagnostic: MW2PR2101MB1820:
x-ms-exchange-transport-forked: True
x-ld-processed: 72f988bf-86f1-41af-91ab-2d7cd011db47,ExtAddr
x-microsoft-antispam-prvs:
 <MW2PR2101MB1820F281C0DAC2708EC4E328D7FD9@MW2PR2101MB1820.namprd21.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:4125;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 Cy1VRzpxjngCTtD+qEfFJY00HjkGcEaStnVTRNFU6y1O13ZQLFZKFSxdfHf/+QqYgpCedc0SZ1CWAGNTsKy1TBF6x6+lJSLB9mtGeH5K1GtsfLsjB160btEG3867oJNlMTPviOaei9km64uNhBe2HnMiuB33yhkvbgPFODMbJ0BP7Br8DGKtyPgXh1nxwMDdofSDR6YOpRWoNHecKi8DCkfhIwbVJmimFuEoBLw0KCsJyBPtoKYRMSRCKFDxmFL6zwLSfOeIaczASCa1aMJ1sgP3w76hFgc1iV3kmscUEUs8C6owAOzskGO7RfmjMmqjAR3/LkqoHpnc8Z5vdOX/YMoCZB1yTYyWyhM61EMoCuRv6Do/lMcTbYs1ADp22nQ2tG9Pmo5O5JJCRft5XeZjCrulyjqwV5+36dKTZ1z9IVL09SYmGHn8ezW8uqG9UwTETZciM0B4FnNNNiHpgXsmRDFC75EGrHsXIJRM0ZaLP38C7EWsKDSObAeKsfzCjK6IzkXnvNpJCWzGOPGtyh8OT5PWQsm6q3stGP7uqCdI4glnxRvFBZH3nfZ2254yVj1ksQOWOboqhMx5dhsYDfZBE4V6hsYSfyU3LA9sUycKQ6gxO6iWZtURlE4P5//DsX1bQvkYylE2ijry3PKZ0qFwXCHyknwv8Hn3mOSluXPLy1KSplmZWTbBd9DGdxTs+9PC7mUSbBlqyMR7njvxCt2ft/3J+ERcOOEWsYZ+qbXevyQ=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR21MB1593.namprd21.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(6506007)(52536014)(7696005)(55016002)(5660300002)(71200400001)(122000001)(54906003)(8990500004)(38100700002)(110136005)(316002)(8936002)(921005)(8676002)(86362001)(83380400001)(82950400001)(82960400001)(508600001)(10290500003)(7406005)(2906002)(9686003)(7416002)(38070700005)(66946007)(66556008)(66476007)(33656002)(64756008)(26005)(66446008)(4326008)(186003)(76116006);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?ben7dDwl6TZm/A+N/mESE+SLutP1QPFf2Evz2K8zpwOXL+3Fw4+ul9VQ4Byi?=
 =?us-ascii?Q?7Gf+0dYjVak0urDn4bWjGwnmm//jxOh5Cuvt9B3BBX/4hF/P/pq8m6b9Fuvo?=
 =?us-ascii?Q?Y+hXelCN97QDw9MBF4eJkiTZ6BHoox3CUGWhZBoKicY3QRLEU99MN7mb6RDF?=
 =?us-ascii?Q?ItRMBNO/Ih+8+Wq/HbdwnP4chSQaD+v74qs0UnSfgnJX/noEqATo2GZVWzEz?=
 =?us-ascii?Q?zq+8Ty733WGSxfI/w0v8yClegLTL562gLcezYYNwAspfZedQo3i/GZpim/OD?=
 =?us-ascii?Q?kjZ1/nnc12JsPyueFETezNo2QFSjqrCzhhdond423+RvT1fGuVBMo+uKA2a5?=
 =?us-ascii?Q?eVIT/x3YTT9szUYUox6KHY24Cyjp0HM9G62kPuHLcZNjdlbOSvGx6SrwOgGY?=
 =?us-ascii?Q?iFDl9L3uo2IL+OjfmPZjsIeqsBqEiF9IGSqrelaEIG9XQ+8ZRhp/VndPGDC3?=
 =?us-ascii?Q?XBB6kDyUkmzNI6KTqCRsjcnNzz6dzPmBQ3kr+OwOSXjEMfcHWIDNPYllANVY?=
 =?us-ascii?Q?h+h1fk028vIxt+73vPzCngrznAjrnYEJTFKBtNMSdfZS57viSgBMf0hSuysY?=
 =?us-ascii?Q?am2Gl8qESbs9/SHNNwYpIT9yFkApIhsNvdSVEJcNHxMo5DdGdy1+UkB8FaAC?=
 =?us-ascii?Q?R4Bp924wI+MLpwVVfCxylPPIiUz7Qa6WSe8V2eKb9wn6S4i3SAFFfgGkqKwg?=
 =?us-ascii?Q?2OpesXz6Fgo/qsZbxz+VEhLXHQQPFPIuBnOsOT31IVw0BxM76J4gIFOGSDPn?=
 =?us-ascii?Q?KxZFlzvZai8C9rjiLMR4t5tWEmS2fbrVqyUMfvXd+Mah4jieWwnOwUv0sWmW?=
 =?us-ascii?Q?rdMlLRz8lPuoyv6o2FdOt6RNZ5ln2gR3QRdOBiNfaA60xBT/otCkoUO8m5IN?=
 =?us-ascii?Q?0EODYclRNbkRDBt19m32vrgirCZd/5sXQ8SYDUbc5vYY5pSDjC0+A+9h00uE?=
 =?us-ascii?Q?/0x8r6vTDOTaFP4HmeMAkGfHETbt7TwmBEo1S55Pmg9OsWUWFhlXCTUrQE3h?=
 =?us-ascii?Q?VT0V5NcDWrY1fuFfKLIbfFkTOhMBpT11mpdQ/1WsA7xSuyS27AhAUdUWTb/j?=
 =?us-ascii?Q?qCfbkGfmfsZLkiDbvZ0obXWsWPsETqKLNn9r1MNpI3JVrZx2SrzU9jLZmrap?=
 =?us-ascii?Q?4DrRcFfT86vru5OOiFY8brUK+nsNEOclgh6tQwYmcbdaPaH1536wsFI5Gzje?=
 =?us-ascii?Q?nnV4sT41eduDc4Xo5GDjg2+4D9Ll4pngjhtNbmakUwmRpfWkMx3zddtYMhNc?=
 =?us-ascii?Q?/rTCWr6WOk2VpjF1suaymdG3sBEGdsuHVYdJe1en7H7tndS8MJ91SpOE29kf?=
 =?us-ascii?Q?GLDSGqMPurTGO/wsxu9yMAws?=
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: MWHPR21MB1593.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fa5be945-23b3-4ed1-df7c-08d960db447d
X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Aug 2021 17:28:31.0231
 (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: tT+BSF4rsIeFfkzSAY0V79Lyuyb8X0fbhGGUrf8L36tusFWN9emLBabBYYeM164icPiU94iltqVfQ5nefEVEmFVU5KOQeQQLV9kdItNYO6c=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW2PR2101MB1820

From: Tianyu Lan <ltykernel@gmail.com> Sent: Monday, August 9, 2021 10:56 A=
M
>=20
> VMbus ring buffer are shared with host and it's need to

s/it's need/it needs/

> be accessed via extra address space of Isolation VM with
> SNP support. This patch is to map the ring buffer
> address in extra address space via ioremap(). HV host

It's actually using vmap_pfn(), not ioremap().

> visibility hvcall smears data in the ring buffer and
> so reset the ring buffer memory to zero after calling
> visibility hvcall.
>=20
> Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
> ---
>  drivers/hv/Kconfig        |  1 +
>  drivers/hv/channel.c      | 10 +++++
>  drivers/hv/hyperv_vmbus.h |  2 +
>  drivers/hv/ring_buffer.c  | 84 ++++++++++++++++++++++++++++++---------
>  4 files changed, 79 insertions(+), 18 deletions(-)
>=20
> diff --git a/drivers/hv/Kconfig b/drivers/hv/Kconfig
> index d1123ceb38f3..dd12af20e467 100644
> --- a/drivers/hv/Kconfig
> +++ b/drivers/hv/Kconfig
> @@ -8,6 +8,7 @@ config HYPERV
>  		|| (ARM64 && !CPU_BIG_ENDIAN))
>  	select PARAVIRT
>  	select X86_HV_CALLBACK_VECTOR if X86
> +	select VMAP_PFN
>  	help
>  	  Select this option to run Linux as a Hyper-V client operating
>  	  system.
> diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c
> index 4c4717c26240..60ef881a700c 100644
> --- a/drivers/hv/channel.c
> +++ b/drivers/hv/channel.c
> @@ -712,6 +712,16 @@ static int __vmbus_open(struct vmbus_channel *newcha=
nnel,
>  	if (err)
>  		goto error_clean_ring;
>=20
> +	err =3D hv_ringbuffer_post_init(&newchannel->outbound,
> +				      page, send_pages);
> +	if (err)
> +		goto error_free_gpadl;
> +
> +	err =3D hv_ringbuffer_post_init(&newchannel->inbound,
> +				      &page[send_pages], recv_pages);
> +	if (err)
> +		goto error_free_gpadl;
> +
>  	/* Create and init the channel open message */
>  	open_info =3D kzalloc(sizeof(*open_info) +
>  			   sizeof(struct vmbus_channel_open_channel),
> diff --git a/drivers/hv/hyperv_vmbus.h b/drivers/hv/hyperv_vmbus.h
> index 40bc0eff6665..15cd23a561f3 100644
> --- a/drivers/hv/hyperv_vmbus.h
> +++ b/drivers/hv/hyperv_vmbus.h
> @@ -172,6 +172,8 @@ extern int hv_synic_cleanup(unsigned int cpu);
>  /* Interface */
>=20
>  void hv_ringbuffer_pre_init(struct vmbus_channel *channel);
> +int hv_ringbuffer_post_init(struct hv_ring_buffer_info *ring_info,
> +		struct page *pages, u32 page_cnt);
>=20
>  int hv_ringbuffer_init(struct hv_ring_buffer_info *ring_info,
>  		       struct page *pages, u32 pagecnt, u32 max_pkt_size);
> diff --git a/drivers/hv/ring_buffer.c b/drivers/hv/ring_buffer.c
> index 2aee356840a2..d4f93fca1108 100644
> --- a/drivers/hv/ring_buffer.c
> +++ b/drivers/hv/ring_buffer.c
> @@ -17,6 +17,8 @@
>  #include <linux/vmalloc.h>
>  #include <linux/slab.h>
>  #include <linux/prefetch.h>
> +#include <linux/io.h>
> +#include <asm/mshyperv.h>
>=20
>  #include "hyperv_vmbus.h"
>=20
> @@ -179,43 +181,89 @@ void hv_ringbuffer_pre_init(struct vmbus_channel *c=
hannel)
>  	mutex_init(&channel->outbound.ring_buffer_mutex);
>  }
>=20
> -/* Initialize the ring buffer. */
> -int hv_ringbuffer_init(struct hv_ring_buffer_info *ring_info,
> -		       struct page *pages, u32 page_cnt, u32 max_pkt_size)
> +int hv_ringbuffer_post_init(struct hv_ring_buffer_info *ring_info,
> +		       struct page *pages, u32 page_cnt)
>  {
> +	u64 physic_addr =3D page_to_pfn(pages) << PAGE_SHIFT;
> +	unsigned long *pfns_wraparound;
> +	void *vaddr;
>  	int i;
> -	struct page **pages_wraparound;
>=20
> -	BUILD_BUG_ON((sizeof(struct hv_ring_buffer) !=3D PAGE_SIZE));
> +	if (!hv_isolation_type_snp())
> +		return 0;
> +
> +	physic_addr +=3D ms_hyperv.shared_gpa_boundary;
>=20
>  	/*
>  	 * First page holds struct hv_ring_buffer, do wraparound mapping for
>  	 * the rest.
>  	 */
> -	pages_wraparound =3D kcalloc(page_cnt * 2 - 1, sizeof(struct page *),
> +	pfns_wraparound =3D kcalloc(page_cnt * 2 - 1, sizeof(unsigned long),
>  				   GFP_KERNEL);
> -	if (!pages_wraparound)
> +	if (!pfns_wraparound)
>  		return -ENOMEM;
>=20
> -	pages_wraparound[0] =3D pages;
> +	pfns_wraparound[0] =3D physic_addr >> PAGE_SHIFT;
>  	for (i =3D 0; i < 2 * (page_cnt - 1); i++)
> -		pages_wraparound[i + 1] =3D &pages[i % (page_cnt - 1) + 1];
> -
> -	ring_info->ring_buffer =3D (struct hv_ring_buffer *)
> -		vmap(pages_wraparound, page_cnt * 2 - 1, VM_MAP, PAGE_KERNEL);
> -
> -	kfree(pages_wraparound);
> +		pfns_wraparound[i + 1] =3D (physic_addr >> PAGE_SHIFT) +
> +			i % (page_cnt - 1) + 1;
>=20
> -
> -	if (!ring_info->ring_buffer)
> +	vaddr =3D vmap_pfn(pfns_wraparound, page_cnt * 2 - 1, PAGE_KERNEL_IO);
> +	kfree(pfns_wraparound);
> +	if (!vaddr)
>  		return -ENOMEM;
>=20
> -	ring_info->ring_buffer->read_index =3D
> -		ring_info->ring_buffer->write_index =3D 0;
> +	/* Clean memory after setting host visibility. */
> +	memset((void *)vaddr, 0x00, page_cnt * PAGE_SIZE);
> +
> +	ring_info->ring_buffer =3D (struct hv_ring_buffer *)vaddr;
> +	ring_info->ring_buffer->read_index =3D 0;
> +	ring_info->ring_buffer->write_index =3D 0;
>=20
>  	/* Set the feature bit for enabling flow control. */
>  	ring_info->ring_buffer->feature_bits.value =3D 1;
>=20
> +	return 0;
> +}
> +
> +/* Initialize the ring buffer. */
> +int hv_ringbuffer_init(struct hv_ring_buffer_info *ring_info,
> +		       struct page *pages, u32 page_cnt, u32 max_pkt_size)
> +{
> +	int i;
> +	struct page **pages_wraparound;
> +
> +	BUILD_BUG_ON((sizeof(struct hv_ring_buffer) !=3D PAGE_SIZE));
> +
> +	if (!hv_isolation_type_snp()) {
> +		/*
> +		 * First page holds struct hv_ring_buffer, do wraparound mapping for
> +		 * the rest.
> +		 */
> +		pages_wraparound =3D kcalloc(page_cnt * 2 - 1, sizeof(struct page *),
> +					   GFP_KERNEL);
> +		if (!pages_wraparound)
> +			return -ENOMEM;
> +
> +		pages_wraparound[0] =3D pages;
> +		for (i =3D 0; i < 2 * (page_cnt - 1); i++)
> +			pages_wraparound[i + 1] =3D &pages[i % (page_cnt - 1) + 1];
> +
> +		ring_info->ring_buffer =3D (struct hv_ring_buffer *)
> +			vmap(pages_wraparound, page_cnt * 2 - 1, VM_MAP, PAGE_KERNEL);
> +
> +		kfree(pages_wraparound);
> +
> +		if (!ring_info->ring_buffer)
> +			return -ENOMEM;
> +
> +		ring_info->ring_buffer->read_index =3D
> +			ring_info->ring_buffer->write_index =3D 0;
> +
> +		/* Set the feature bit for enabling flow control. */
> +		ring_info->ring_buffer->feature_bits.value =3D 1;
> +	}
> +
>  	ring_info->ring_size =3D page_cnt << PAGE_SHIFT;
>  	ring_info->ring_size_div10_reciprocal =3D
>  		reciprocal_value(ring_info->ring_size / 10);
> --
> 2.25.1

This patch does the following:

1) The existing ring buffer wrap-around mapping functionality is still
executed in hv_ringbuffer_init() when not doing SNP isolation.
This mapping is based on an array of struct page's that describe the
contiguous physical memory.

2) New ring buffer wrap-around mapping functionality is added in
hv_ringbuffer_post_init() for the SNP isolation case.  The case is
handled in hv_ringbuffer_post_init() because it must be done after
the GPADL is established, since that's where the host visibility
is set.  What's interesting is that this case is exactly the same
as #1 above, except that the mapping is based on physical
memory addresses instead of struct page's.  We have to use physical
addresses because of applying the GPA boundary, and there are no
struct page's for those physical addresses.

Unfortunately, this duplicates a lot of logic in #1 and #2, except
for the struct page vs. physical address difference.

Proposal:  Couldn't we always do #2, even for the normal case
where SNP isolation is not being used?   The difference would
only be in whether the GPA boundary is added.  And it looks like
the normal case could be done after the GPADL is established,
as setting up the GPADL doesn't have any dependencies on
having the ring buffer mapped.  This approach would remove
a lot of duplication.  Just move the calls to hv_ringbuffer_init()
to after the GPADL is established, and do all the work there for
both cases.

Michael


From xen-devel-bounces@lists.xenproject.org Mon Aug 16 17:33:42 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 17:33:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167457.305659 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFgUV-0003M9-Qy; Mon, 16 Aug 2021 17:33:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167457.305659; Mon, 16 Aug 2021 17:33:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFgUV-0003M2-O2; Mon, 16 Aug 2021 17:33:39 +0000
Received: by outflank-mailman (input) for mailman id 167457;
 Mon, 16 Aug 2021 17:33:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mFgUU-0003Lu-OS
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 17:33:38 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mFgUU-0002L3-Hr; Mon, 16 Aug 2021 17:33:38 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mFgUU-00013c-By; Mon, 16 Aug 2021 17:33:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=+DETZw/kDc+vhi56Itl5outY6kEM3xQCySiZNRkQnjE=; b=PaWgJf8nNSeEwPpZVUgNxgVC2w
	XOVu2OyhAiLKM906dqYooz1aFq5bJmGYzoxALfRyq7UbSPG+5pMamD9vonqEKp3YfV9jZPVjn2QsT
	NeEXB59Xv+tGa2oSHjY46rL+nfsec3Cw46pZRmv/aCKcUE13YLQHjLBVM2m5aUOXcbcw=;
Subject: Re: [PATCH V4 03/10] xen/arm: handle static memory in
 dt_unreserved_regions
To: Penny Zheng <Penny.Zheng@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>
Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
 nd <nd@arm.com>
References: <20210728102758.3269446-1-penny.zheng@arm.com>
 <20210728102758.3269446-4-penny.zheng@arm.com>
 <c861b7c0-e894-61d0-8b29-77c1753661ee@xen.org>
 <VE1PR08MB5215A60D3603AA8D48128F67F7FD9@VE1PR08MB5215.eurprd08.prod.outlook.com>
From: Julien Grall <julien@xen.org>
Message-ID: <ccbccca1-2397-c3dc-6e81-7873c9a28d1e@xen.org>
Date: Mon, 16 Aug 2021 18:33:36 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <VE1PR08MB5215A60D3603AA8D48128F67F7FD9@VE1PR08MB5215.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit



On 16/08/2021 07:00, Penny Zheng wrote:
> Hi Julien

Hi Penny,

>> -----Original Message-----
>> From: Julien Grall <julien@xen.org>
>> Sent: Wednesday, August 11, 2021 9:48 PM
>> To: Penny Zheng <Penny.Zheng@arm.com>; xen-devel@lists.xenproject.org;
>> sstabellini@kernel.org
>> Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>; Wei Chen
>> <Wei.Chen@arm.com>; nd <nd@arm.com>
>> Subject: Re: [PATCH V4 03/10] xen/arm: handle static memory in
>> dt_unreserved_regions
>>
>> Hi Penny,
>>
>> On 28/07/2021 11:27, Penny Zheng wrote:
>>> static memory regions overlap with memory nodes. The overlapping
>>> memory is reserved-memory and should be handled accordingly:
>>> dt_unreserved_regions should skip these regions the same way they are
>>> already skipping mem-reserved regions.
>>>
>>> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
>>> ---
>>>    xen/arch/arm/setup.c | 47 ++++++++++++++++++++++++++++----------------
>>>    1 file changed, 30 insertions(+), 17 deletions(-)
>>>
>>> diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c index
>>> 63a908e325..f569134317 100644
>>> --- a/xen/arch/arm/setup.c
>>> +++ b/xen/arch/arm/setup.c
>>> @@ -200,6 +200,13 @@ static void __init dt_unreserved_regions(paddr_t s,
>> paddr_t e,
>>>                                             int first)
>>>    {
>>>        int i, nr = fdt_num_mem_rsv(device_tree_flattened);
>>> +    /*
>>> +     * There are two types of reserved memory stored in bootinfo, one
>> defines
>>> +     * in /reserved-memory node, the other refers to domain on static
>> allocation
>>> +     * through "xen,static-mem" property.
>>> +     */
>>> +    int nr_rsv_type = 2, t = 0, prev_nr;
>>> +    struct meminfo *rsv_type[2] = {&bootinfo.reserved_mem,
>>> + &bootinfo.static_mem};
>>
>> Looking at the rest of the series, it doesn't look like there is a real benefits to
>> have the static memory and reserved memory in separate arrays as they are
>> walked only a few times and they are both meant to be small. In fact, I think
>> this code is lot more difficult to read.
>>
>> So it would be best to merge the two arrays in one. We can add a flag in the
>> structure to differentiate between "static" and "reserved" memory.
>>
> 
> How about adding a "static" flag in "struct meminfo" to tell. See the below example:
> "
> struct meminfo {
>      int nr_banks;
>      struct membank bank[NR_MEM_BANKS];
>      bool static;  /* whether memory is reserved as static memory. */
> };
> "
> 
> And I will delete "struct meminfo static_mem" array, all "static" and "reserved" memory
> will be stored in one "struct meminfo reserved_mem" array.

Did you intend to suggest to add the new member in struct membank rather 
than struct meminfo?

If not, then I don't understand how this would help have the static and 
reserved region in a single array and avoid the extra loop you added.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 16 17:44:00 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 17:44:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167463.305671 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFgeP-0004p0-PW; Mon, 16 Aug 2021 17:43:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167463.305671; Mon, 16 Aug 2021 17: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 1mFgeP-0004ot-MV; Mon, 16 Aug 2021 17:43:53 +0000
Received: by outflank-mailman (input) for mailman id 167463;
 Mon, 16 Aug 2021 17:43:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mFgeO-0004om-ER
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 17:43:52 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mFgeO-0002V3-7S; Mon, 16 Aug 2021 17:43:52 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mFgeO-0001xd-1k; Mon, 16 Aug 2021 17:43:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=MauaWJDFyPPbiRkzTltfDY9ZzFr6tBkU4kdfOmFp7Ws=; b=tC9MDSjBO2ohQ5LY2XltoHpYsK
	6RZH7nUg2+AUr5hhq4dvSgLt5Mmorx0v3PlxVME3opeXnJ6abGQLKo8Lby4VDQzz3kxC4+DwLC+7u
	q84BsNnjnPmhSALJrCaqIXbn/w0LcBS7yRPLQ7FhADQ2b8ShPEYzGMsR1PmDtiZ9kYeo=;
Subject: Re: [PATCH V4 08/10] xen/arm: introduce acquire_staticmem_pages and
 acquire_domstatic_pages
To: Penny Zheng <Penny.Zheng@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>
Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
 nd <nd@arm.com>
References: <20210728102758.3269446-1-penny.zheng@arm.com>
 <20210728102758.3269446-9-penny.zheng@arm.com>
 <611fc504-c866-647e-01f3-0614238c3aca@xen.org>
 <VE1PR08MB5215022EC0300A85B0017EEFF7FD9@VE1PR08MB5215.eurprd08.prod.outlook.com>
From: Julien Grall <julien@xen.org>
Message-ID: <481f4d7d-2ca6-e338-3b62-af86bd419b82@xen.org>
Date: Mon, 16 Aug 2021 18:43:50 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <VE1PR08MB5215022EC0300A85B0017EEFF7FD9@VE1PR08MB5215.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit



On 16/08/2021 07:43, Penny Zheng wrote:
> Hi Julien,

Hi,

>>> +{
>>> +    bool need_tlbflush = false;
>>> +    uint32_t tlbflush_timestamp = 0;
>>> +    unsigned long i;
>>> +    struct page_info *pg;
>>> +
>>> +    /* For now, it only supports pre-configured static memory. */
>>
>> This comment doesn't seem to match the check below.
>>
>>> +    if ( !mfn_valid(smfn) || !nr_mfns )
>>
>> This check only guarantees that there will be a page for the first MFN.
>> Shouldn't we also check for the other MFNs?
>>
> 
> Hmm, Do you think that it should be all checked, the whole range, [smfn, smfn + nr_mfns).
> Since it is in linear growth, maybe adding another check of "!mfn_valid(smfn + nr_mfns - 1)"
> is enough?

The only requirement for Xen is to provide a valid struct page for each 
RAM page. So checking the first and end page may not be sufficient if 
there is a hole in the middle.

My point here is either:
   - we trust the callers so we remove the mfn_valid() check
   - we don't trust the callers so we check the MFN is valid for every page

My preference is the latter, the more if we plan to us the helper after 
boot in the future. An possible compromise is to add a comment that this 
function needs to be reworked if used outside of boot.

Cheers,


-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 16 17:55:31 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 17:55:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167468.305682 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFgpT-0006Gw-Qh; Mon, 16 Aug 2021 17:55:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167468.305682; Mon, 16 Aug 2021 17: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 1mFgpT-0006Gp-N7; Mon, 16 Aug 2021 17:55:19 +0000
Received: by outflank-mailman (input) for mailman id 167468;
 Mon, 16 Aug 2021 17:55:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mFgpR-0006Gj-HC
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 17:55:17 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mFgpR-0002iF-8m; Mon, 16 Aug 2021 17:55:17 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mFgpR-0003FH-2t; Mon, 16 Aug 2021 17: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=VBuIrp8shPmmTAxg2m/Et3G7xBH/L6XaZHOXXr8H7m8=; b=6G6uMDuQhsdAnpaJJsa7Cju9w6
	gnq/ifBt5S9JEC3yXsETFE+EkHHDKWIxDPPaBTWXZl3dKDNQ09IC1LfZaYNtwu42n0zXEiUi2wKUo
	TrCDzdQdkCDgBNvR5rs0qXgG6lEHF0CI0+vBSTMnG/YNn7WO74jw97DrlYLqRxaT18vQ=;
Subject: Re: [PATCH V4 10/10] xen/arm: introduce allocate_static_memory
To: Penny Zheng <Penny.Zheng@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>
Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
 nd <nd@arm.com>
References: <20210728102758.3269446-1-penny.zheng@arm.com>
 <20210728102758.3269446-11-penny.zheng@arm.com>
 <11d38943-444d-80d1-5fd5-98cbc24e6b7e@xen.org>
 <VE1PR08MB52155AED4031436410203304F7FD9@VE1PR08MB5215.eurprd08.prod.outlook.com>
From: Julien Grall <julien@xen.org>
Message-ID: <dbed44c8-13c9-6f2e-1f18-44eb3f74c67f@xen.org>
Date: Mon, 16 Aug 2021 18:55:15 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <VE1PR08MB52155AED4031436410203304F7FD9@VE1PR08MB5215.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit



On 16/08/2021 08:51, Penny Zheng wrote:
>>> +               d, bank, pbase, pbase + psize);
>>> +
>>> +        /*
>>> +         * It shall be mapped to the fixed guest RAM address rambase[i],
>>> +         * And until it exhausts the ramsize[i], it will seek to the next
>>> +         * rambase[i+1].
>>> +         */
>>> +        while ( 1 )
>>> +        {
>>> +            /*
>>> +             * The current physical bank is fully mapped.
>>> +             * Handle the next physical bank.
>>> +             */
>>> +            if ( gsize >= psize )
>>> +            {
>>> +                if ( !append_static_memory_to_bank(d, &kinfo->mem.bank[gbank],
>>> +                                                   smfn, psize) )
>>> +                    goto fail;
>>> +
>>> +                gsize = gsize - psize;
>>> +                bank++;
>>> +                break;
>>> +            }
>>> +            /*
>>> +             * Current guest bank memory is not enough to map.
>>> +             * Check if we have another guest bank available.
>>> +             * gbank refers guest memory bank index.
>>> +             */
>>> +            else if ( (gbank + 2) > GUEST_RAM_BANKS ) {
>>
>> I don't understand the +2. Can you clarify it?
>>
> 
> gbank refers to the index of the guest bank, and here since current guest bank(gbank)
>   memory is not enough to map, users seeks to the next one(gbank + 1),
> 
> gbank + 2 is the number of requested guest memory banks right now, and shall not be
> larger than GUEST_RAM_BANKS.

Thanks for the clarification. When I read "2" I tend to think we are 
checking the bank after the next. How about writing:

(gbank + 1) >= GUEST_RAM_BANKS

or

gbank >= (GUEST_RAM_BANKS - 1)

This as the same end results, but we check the index rather than the 
number of banks.

Anyway, I can settle with 2 if you really prefer it.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 16 18:32:25 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 18:32:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167475.305693 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFhPF-0001ws-Qq; Mon, 16 Aug 2021 18:32:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167475.305693; Mon, 16 Aug 2021 18:32: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 1mFhPF-0001wl-Ni; Mon, 16 Aug 2021 18:32:17 +0000
Received: by outflank-mailman (input) for mailman id 167475;
 Mon, 16 Aug 2021 18:32:16 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Flmd=NH=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mFhPE-0001wf-L9
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 18:32:16 +0000
Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 161b342e-b5e2-41f8-bef6-6ee4d9037384;
 Mon, 16 Aug 2021 18:32: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: 161b342e-b5e2-41f8-bef6-6ee4d9037384
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629138734;
  h=to:cc:references:from:subject:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=nSZ6GGW4N2MsPrIhY5ytWlKRnTwUYmKAZrG4hv0VyIg=;
  b=eXe7oid8eY4nurEGI2w6Fbd72qgURpv4UNtDjsGLoWG3K4+iJVgL6jlx
   VuEy12mjWl47wrj0PgpHStyP7WxiK02mxAiIuttE/1IW4gR4kXy0e58mN
   uCi+c0pYnXJuPOi9vdWkBEjwMGJ9+nFyPOZagzCQIN7Ob4XkiF1X7dVPZ
   s=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: m9n+MaCjuueQ0l/BH9mgwhbrP22MWVzs7gaElf9GLpokgineD4mH3ubMYL6Em4M9eoeZTgPg0P
 IYv1ZqwtsON2s2CE6EHY2Xu1u1j+FAjDADKP5IZjIkn0QrYKOGJfNpwnRiyjqKX2E+JpOFCSYp
 AmTWhf3wi3+dZoTe0j8NSwjrwbqWUwOMACbEIbGwgKYASSLRXQScaaa0DxZJBCzTTGkRomXMJ4
 TFWxki6FEL5AmICFEU2+h0S71r6HCfq4w+LJFoIyWrM52R6zBHhthJJhPMjXzk/6UJl7zIlJ1L
 68rNCqSBTvErAoeoMwA5VqcK
X-SBRS: 5.1
X-MesageID: 50554937
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:amTtK6EXm5fuai8SpLqFaJHXdLJyesId70hD6qkvc3Jom52j+P
 xGws526faVslYssHFJo6HlBEDyewKjyXcT2/hvAV7CZnibhILMFuBfBOTZskbd8kHFh4hgPO
 JbAtVD4b7LfCtHZKTBkXGF+r8bqbHtms3Y5pa9vgJQpENRGsZdBm9Ce3am+yZNNXB77PQCZf
 +hD4Z81kCdkSN9VLXLOpBJZZmMm/T70LbdJTIWDR8u7weDyRuu9b7BChCdmjMTSSlGz7sO+X
 XM11WR3NTij9iLjjvnk0PD5ZVfn9XsjvNFGcy3k8AQbhHhkByhaohNU6CL+Bo1vOaswlA3l8
 SkmWZgA+1Dr1fqOk2lqxrk3AftlB4o9n/Z0FedxUDupMToLQhKRvZptMZ8SF/0+kAgtNZz3O
 ZgxGSCradaChvGgWDU+8XIfwsCrDvwnVMS1cooy1BPW4oXb7Fc6aYF+llOLZsGFCXmrKg6De
 hVCt3G7vo+SyLZU5nghBgp/DWQZAV0Iv/fKXJy4/B9kgIm30yR9nFogPD2xRw7hcoAo/Au3Z
 W3Dkxq/Is+BPP+I5gNX9vo7KOMeyXwqCn3QRWvyGLcZeo60kL22urKCYoOlZeXkbwzvdcPcc
 f6IRxlXVBbQTOnNSTJ5uwQzizw
X-IronPort-AV: E=Sophos;i="5.84,326,1620705600"; 
   d="scan'208";a="50554937"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JB8Tt+OO+Kw2w94wTCXGrzJc+I2fioaH1ohqWCk3bVjvR+C6Noq87Sm8PaDNOD+CbuLJEa7+/J7L1y50zCpX6jkaDLi5j+LAMabc24AKi1kFN9pr32VFyp6vLYnFGqEgckytq4Be/DF9sA0NPUJJvzHhqu95qr0Ro0XXb5srGZrFXLMJqNeYNXtcOS19+YG+BT2ZY+P/cJLMU67xWw1dQVdMXSSLKxkTh+99MvzxriI58L1+6K+8K70dcIu6eZPsVmmUZbvO6sgj3BrN0ogwhYEv6eUL5PD5su3A/iqjunB/FYHtvNRW2Ygg/nitStgefe8TyrtIprvnzg9rGYT26Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nSZ6GGW4N2MsPrIhY5ytWlKRnTwUYmKAZrG4hv0VyIg=;
 b=Wrhm889Ed8VTzcsD50ZiZV3cMi0WerdZIMS3CHU4U9kvz+lP83yhlNxhJZFI8pIM8bkhrI/b+34pDSN+SdKz8Jfn6auj1ztSyoq5iYhR7sRxWdPW99l35f7MiJhO6piWGC1uy5uo3SIoooSNjjBDrDLOZSi0LRsq9MU0y0TZE/gWtxe9+uqJ9nucwevs8Ro1lUj+h7g/8IDl5yVTfdDAmMQzxrfK+ExbB8P/+w9vnIPigIpDVeXHVSmb//BeYM0Zl+Ng3j9WysbF5RJEFwC4epmP9aTMmW13WroHmrTqez1jaQYeRli27IQ9/w2294o8g2TaC9iSOjQ4+i9d1GHUgQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nSZ6GGW4N2MsPrIhY5ytWlKRnTwUYmKAZrG4hv0VyIg=;
 b=JrbBEWy4v3pfZJHuDQYNxy5sIemXTH514EUQZy9dcAx/C51C8sGA+WjEgEUd8EGP501IGaxVXwtvdTgNLU0WsMHpitCGk3toiBM5mf8d0JqV0AxF5V+i/lSSdPXYcB35A3JSWW1hrJl/S5LERV2u3l0epSq0aa6CKpIdYV29uxw=
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
	<roger.pau@citrix.com>, Paul Durrant <paul@xen.org>
References: <d01563bc-ae9c-fe91-b313-19a30af09170@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] IOMMU/x86: don't map IO-APICs for PV Dom0
Message-ID: <2edfe6a7-a69a-df75-a11d-ee8348235c54@citrix.com>
Date: Mon, 16 Aug 2021 19:31:59 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <d01563bc-ae9c-fe91-b313-19a30af09170@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-GB
X-ClientProxiedBy: LO3P265CA0017.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:bb::22) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f52c1c5f-e1e7-47bb-8d0f-08d960e426b9
X-MS-TrafficTypeDiagnostic: SJ0PR03MB5759:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <SJ0PR03MB57591BDFB2C529D8AEF41249BAFD9@SJ0PR03MB5759.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: c7pIWk8axAp6ADevyMwtO1kLE121+63AgA1+85GoRTroXSu7KZ118PtGtAmQ2toMFlruEZLz2hKpcNwAPRAgvfvjpG2HGK/Pf4sR8PaH5a+BszUHkC/HLW7JY8jZegYWiEHUhQ+9dsvY9PyuML4WzcO2BG7OtzvN8q5x6EHWomdmAO1pqjeVlzCRQ9thAqW5BOunthHyQx115TvvFCuRITVhS48u+2TQhAMxNZ7U7OkxP6lxbxM1kSknyT7EmITChGJAv+YoMq89e32WwvmlsCB6YHvG8NWGkVqCmbAxwGmdrQer619p7E2lT+b9B/fFCyhNq6k1sKIw8VMSDm+uuXSozaBxfxQsHI+ax55fCGIYEWBsGfZoX99UC4ZQyW81TB29u6Ln6UjhRG3R5l1SIKcyiiHy1xe/SGwG+twH/w2PRJrsSQ41N6bpVvAVB4XPOd1Y9vyt2ZGYnBvcm6Iodpvbu15TWc9c3oVi0MjPBgQ8CQLc29ybo3rqNPIF3UkseJRxagRyX5jbMUXk475sbmNKPFcyCZQsM48I8StXiapo6wnQD6Y+cf1sqB2oA7ZpeSs1AJ3kTQNBQpJi7GIZ2ltZ9xlBksEkqFsd3OvnZfyajhgPbh99hZKiwn8xvGkmhAZftIfO93iyrM5jKWkjVAUHMpeMTkj5E8f2oz5gG9zXZKu8icCu5dL58AHwrodEWuM+nk9UB6Jt9QxThi+L/gtS9L1RLen4LItJ2youzOo=
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:(4636009)(366004)(5660300002)(8676002)(2906002)(508600001)(186003)(36756003)(53546011)(4326008)(66946007)(6666004)(26005)(66476007)(66556008)(38100700002)(2616005)(86362001)(16576012)(316002)(110136005)(956004)(54906003)(31686004)(6486002)(31696002)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MDRFS2ltekFIanlFY1FGbVFMdmhCcTdCQlRrRkZSWXFMZzlNc0FhdmRkTHVu?=
 =?utf-8?B?cEdjVGdSTlB0TXdpMUZTa2hYa2I0SmtWUWdELzR3Qzhmb3ZGbEhUclFUald3?=
 =?utf-8?B?a0FIaERBdGdvV1VjSjhEbjV6SURuaEZnaG55MjA5NWE4YnRGY25VYXJYSFEv?=
 =?utf-8?B?dXd3QnVQc1NDUXpYczlDVnFXOE92SnBGa2Y2bCtKa2x2QmkvSE84MFBvbE9Z?=
 =?utf-8?B?K2huL0V0VXR3ZkZBYU00ZWlzVXc4VGZ2aVFQNzJlZisrOWgreG5aKzNTMHhl?=
 =?utf-8?B?UHJYeHkxM2o5dlpqY1dtQllRWWRvTDJsZkIrT1N5eWxsVlEyWkNhVEtsdDlO?=
 =?utf-8?B?dnJCYlhLUm5pMnU3RlcwTWkzU1lRYUEvdnVFS3U3Mjg3WW5FYzRORDZ0YWdI?=
 =?utf-8?B?clA4cGJzeE8yK3VDN1NRUXp4bGs4SE5PUU5pdjVJNi91N0FtM0dZZTB2UGE0?=
 =?utf-8?B?VzdqRVJYNm1JV0Jvd0Z0VnRPYkQvSGR0UEdmcm9MSHlNTHRUZ2VXdEYwa09i?=
 =?utf-8?B?emJNcWk3VWR2WldCSm5TQ3gwK0JzWjV3bGQyQW1lN2R6VFdrQ3VRVXFXbmpp?=
 =?utf-8?B?azhyQTIycWh0blUxSndJQ3dleDduL1ovS0V6NjRBZXR3RkpkNG1aQldBTzIz?=
 =?utf-8?B?dkJIWlF5VGpxOXZNK1dvdUw5dE9pblpZc2VPV0FRRXY1VkQ3ek9xbmV2Q0da?=
 =?utf-8?B?MU5hdGsvalpETUkyRm1HS3Ezcng4MDFtUGVnZk9XNjBzcUZ0UlVPSWpRakNx?=
 =?utf-8?B?TmNIUTloTmdsTlVRai9RWDZUVXhSb0tIbVlwZXFmeXhucWJONXRBb1pYbUVP?=
 =?utf-8?B?QTY1U3dRdUpUZy8ydXJ0cUFZbXdZTXR4YWxiUjUyUmVsYWI5N2hUREw2N2pl?=
 =?utf-8?B?ZWVtMVUzVzk5Y25FODRhdzRRSmRwTUdxMWZOOHhPUEtCSnhRZ0J2dzNLMk5N?=
 =?utf-8?B?d0czWGNDNkJ6NVdpbTZSMldrdnJjTGdnOFBGSmFWVFFaQ0dNenBuQlh2aThh?=
 =?utf-8?B?MVBMNWlUYlRxWGR0TzZTbnlBNGF5ejdObWZNT0x2TDc4UTdmd0h0VFVWa25k?=
 =?utf-8?B?R2pTTDN5TFJVUDZrY1VrT0dPUU5uOFN6T2lKbzdXZWFUdkM3YjkxTGtXc24w?=
 =?utf-8?B?RmprU09kcTFnQUF0aERlUnNUWmQ4aVdCMmhucDZReWJLaW5FUzVRRFdVbHRS?=
 =?utf-8?B?Z003T0s5L3NiSjh4YiswUUNMejVxYjloV3ltc2dFNXFiVk5SdnhlY3N0cDZI?=
 =?utf-8?B?S2hFazBiNWE2NWRjcmdROEFTa28wbmJEU3hZZFlhanVjaitCMGFCaDdWYTVj?=
 =?utf-8?B?NTJ3R0tONEk5cHpjNFU0WVI5TmQrSUZvYnBCVEtYZWZ6ZSt5T0tqckVPRnlQ?=
 =?utf-8?B?VWNyVm9tNzBvVi9SaEVBVnk1ZTRkQVVaZlU4Mjl3MWdsUWlKK0x4YXFnLzk5?=
 =?utf-8?B?NWxvWDAzMm5OT09nck1SbEVLdWZUL2FCWTJvTTBZZUlSYUk3YjQzNUpGSjRP?=
 =?utf-8?B?amtiY3V2VXh6UDVEOWpCREdTRWFyUk1INy9QVVFaTlpWSHFJcDZXNE1zUktJ?=
 =?utf-8?B?OVViNHV2d2NTVm9wbFdMNFd5RlVJV3dHMGZkczFzM1loMkE4b3g1Q1VwaEV1?=
 =?utf-8?B?Uy9VWDkwRlF4Q3c3bmJScEZ2Z2czbExhUUFJcTN6N2o2SWZnSnhxb0pXN0Ra?=
 =?utf-8?B?K3dGY1NRbVFTTUc5NXZpR21xY2xwZUg2OFltR0VDdG55aTNUN0NKMFBFMnRN?=
 =?utf-8?Q?6Payh1AOJqavHZGPAB/evpH787t4KTW3NFlNsfF?=
X-MS-Exchange-CrossTenant-Network-Message-Id: f52c1c5f-e1e7-47bb-8d0f-08d960e426b9
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2021 18:32:06.9109
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: tFmr92+hev/J47cK+AzD0MP1kH9OZep9Vrp+eMoMm/DgGTLOzvjV+FW/oLrSITwQRAP15nXrGDWcQeV4iPzhMgdAIa2XibyZHpPeaHcD5hw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5759
X-OriginatorOrg: citrix.com

On 16/08/2021 16:31, Jan Beulich wrote:
> While already the case for PVH, there's no reason to treat PV
> differently here (except of course where to take the addresses from).
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Honestly, this is already a mess but I think the change is making things
worse rather than better.

To start with, IO-APIC windows are 1k not 4k, except that no-one added a
"4k safe" flag because IO-APICs weren't mapped into userspace by Linux
at the time.

More generally though, if something is safe to let dom0 map in the CPU
pagetables, it is safe to go in the IOMMU pagetables.=C2=A0 Conversely, if
it's not safe to go in one, it's not safe to go in either.

Mappings (or at least mapability) of everything/anything should be
uniform between the CPU and IOMMU pagetables for any kind of sanity to
prevail.

This is most easily demonstrated with PVH dom0 and shared vs split EPT
tables.=C2=A0 Split vs shared is an internal choice within Xen, and shouldn=
't
cause in any change in static DMA behaviour (obviously - there is
transient difference with logdirty but that's not relevant here).

~Andrew



From xen-devel-bounces@lists.xenproject.org Mon Aug 16 19:26:16 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 19:26:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167481.305704 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFiF7-0006sG-T8; Mon, 16 Aug 2021 19:25:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167481.305704; Mon, 16 Aug 2021 19:25:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFiF7-0006s9-PP; Mon, 16 Aug 2021 19:25:53 +0000
Received: by outflank-mailman (input) for mailman id 167481;
 Mon, 16 Aug 2021 19:25:51 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Flmd=NH=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mFiF5-0006s3-PT
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 19:25:51 +0000
Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id a90785a6-7a9c-42a9-965c-9a2effefb96c;
 Mon, 16 Aug 2021 19:25: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: a90785a6-7a9c-42a9-965c-9a2effefb96c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629141950;
  h=to:cc:references:from:subject:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=jzTvYbUCuZsC7Yr41B/1wQZPfZ8E4tcjpTbNrxHGfU8=;
  b=KIrIPkvYerCUiao++lH5eElt4oDqWwDExEZy6VzN6WCd75xj7xkHyN7+
   BDTzYULweQtbAE8tYdUmLMUN5BDHCzZ5Im+DQx8PPJGRRpcNN6tmALTMn
   yGQ9tOyazIz9D7Md6lU2bNnQ953Uc4BAMV+fGJ9jERqyELngPfQKc88Sk
   U=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: mRVdNEgzFTb0UO/nl2MLCBvvC7cuSfcdTU0SS7da11bua5VJfu0Jb7PEdHsuq+Q0iHPd2zdXVp
 6tRRtMUZCmqTcZo9lAB8aRTEHfqmIpp1tBw+I2Y9HDBtI49ewS7QbhVuhZXYHjHY8bIxZ00ul7
 v6zBGyE3MPpeaMI73AWaLkoFF8jaSaKJLGJIyl+1dv5k9RRRCqrOatYCgKrEG5mZ6g3x6ICd+9
 i1vOzdaMMih7VKJQzXk7Sj0lrGQwAkZ5x27sqpL1aNg6abqnogMoyrsj6PvcZ5u9pGYJhXwcck
 E8ae0CG1Zs6tU7vysQq8j1zV
X-SBRS: 5.1
X-MesageID: 50576883
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:pSVE0q/Nj342pcdlCWNuk+AiI+orL9Y04lQ7vn2ZKSY5TiVXra
 CTdZUgpHvJYVMqMk3I9uruBEDtex3hHP1OkOws1NWZLWrbUQKTRekP0WKL+Vbd8kbFh4xgPM
 lbEpSXCLfLfCVHZcSR2njFLz73quP3j5xBho3lvglQpRkBUdAG0+/gYDzraXGfQmN9dPwEPa
 vZ3OVrjRy6d08aa8yqb0N1JdQq97Xw5evbiQdtPW9e1DWz
X-IronPort-AV: E=Sophos;i="5.84,326,1620705600"; 
   d="scan'208";a="50576883"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oPyFQ6aPCt/gSTw77Q/VbDkVxHi58M3ASkfnMGZCFsAXQbpm7qDZmqAeCJsTvLGdKWusrirTRilUvugwI+D1oporWRPFI660v++rPe1zuvDjy+/DWJatJsuPpLIwBjyTbIQx4CxYK178sjpaXlkokt9UhyICxN+hpvF6FJZyIScAIbWtMsslTLbDBrUKKsNkz4t+3sunag5cHj9TbbfwgfJWhmRl0tUuliVTxKgRKWr/P1JE45GQpVNaBu0alUzAcSccMtxN2KHHiXOkQhNTPyW/nqdrc2mK29IrQpwEFddfXotfl9enPMGy0hUPL1cLp6ZYsyGXUP1xk/7r5uxYkQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=B3Y0Cyf/fLxod5qFC7RFXVKHndxprCsGWTyFr1qqzoo=;
 b=DBJnZHUR6ZRLb7eP90+kBqphvmnemAx20PQfknoBabCEWc/X8RRj9JtdnesP2ZCxUphIa5j4E9Wo0GCmYW9BWw3K5+GqLVHj86TIktNTxYtwD+Suw9zFG0bdeTv/R+IZB905W+2FVX8DahGwCPFGp6D1RWkzAJNcxGhIsqA5dpa0/bcWBSb4DrA7a0bplzRAnfKLRE13LPQALkORXQ+7Ivo9PIYyxCwxU1UqRihmQIwP8dES0apgFCw5PdzRyGTa74WhqmtKytaxRJ4Sc4RJCMrGaU4BByJStDySdpWlLZ1ba27WVwc6c1Md7SvR+1TmhJSn9BOdUZf1pmA3kKRbfw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=B3Y0Cyf/fLxod5qFC7RFXVKHndxprCsGWTyFr1qqzoo=;
 b=Fw4fRiWHqWzeFjwbLhbnjOUUG1HPntRvECQT0DAW2OnUOn++dAqh6lhVZ9bB4D5BwQLIADXSMkb5uo8hDfqu+i5FjfkVKOGcmgvvzlHOnj1vlXwCOogLhpnyM8ISEHkdwHjq3RINE9QhV8DVqIKlP5MxTc4ivP4KQMG0KtpndpM=
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: <cbe46564-74ab-af38-7e31-2f0a3f46ab41@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] x86/PV: assert page state in mark_pv_pt_pages_rdonly()
Message-ID: <d72d072f-d785-f90b-4e91-5ef7e8f17862@citrix.com>
Date: Mon, 16 Aug 2021 20:25:40 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <cbe46564-74ab-af38-7e31-2f0a3f46ab41@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-GB
X-ClientProxiedBy: LO4P123CA0431.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18b::22) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5df713a5-afe6-47d5-8951-08d960eba545
X-MS-TrafficTypeDiagnostic: SJ0PR03MB5567:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <SJ0PR03MB5567428A1E449D4912E88412BAFD9@SJ0PR03MB5567.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8273;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: EK/UnhRwKwwos5APhAlJ65Pp8H0XI7KF5784Y6JzSrQRUD9q+0ISz/sZNxNWPzyoJpo1eWZpP6bQTySEecHDqAIcrIXvR60pa7Dkq36LWN9v45XXleZJcWqLC9AW0mcE5uCuaybQccX+ImquVCk8wuWziiHa3Vjn7aessrCgcoICAUlrlSWFtaTHenkiSUugA2mMoflQV5tNVLCv6X/kLynMQ+bWhRxoiolaZUXV8uYugRriNv4cQbfz++8PQVS9tmpXUgapzN2U4joDcOWlSmU/Y98iWAKRQg0Eoh29V6Vjdif/6g8XPB6BhNHQgGKE/DVCNNR1POcpN1iN8zcmrdr8rLtn/Lnr3IImGz4oDjaMKnt99umIBR4ac0IuwbGBFuQvzvuwUAA33KmmpcWLQPlYsVq21TQqr7O8JPjWwbsI98kbgC5AsaSLsVv9CVfXQEzHn7NZHP4fovYYvxy/vlQPT+6hPY40MnZVmTVRIZHq7c5ExSBdLoummtgDpXQc++Xm/0gIF/fs27YPrXMH5VUvEb0r3lRctqnpcn4JXPkZRgG0SdJIQOea0MhwCOVu/Xolsu1yYeaF8ZgZgDf4RLysq0bN6bsqTHnDXfv2ZvTjtQBoL+8/YyMUUIgSazkBd5Hq3NnhEX1pqL8jruAm4QNm+l/hmU7CtTwlK08dtYPRJAIOHNJH0iKWvoNCruIia+15BR/1Txfwy3gBjmamt3tsspcyvedxGBnZ3vf67SDJAlghyXYKHIwrGqLlyZqxh6ht7UcXpvNTyMrzCF3KBA==
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:(4636009)(376002)(346002)(39860400002)(366004)(136003)(396003)(38100700002)(31686004)(6666004)(6486002)(8936002)(86362001)(316002)(478600001)(66946007)(66476007)(107886003)(66556008)(31696002)(36756003)(8676002)(956004)(110136005)(54906003)(53546011)(2616005)(83380400001)(186003)(4326008)(2906002)(16576012)(26005)(5660300002)(45980500001)(43740500002)(357404004);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Zm9hbGlTL1NXTkgxdEl6eXBZK3c1Szd3OEpLdnlEYzZnU2RIM3pHUWtsckx6?=
 =?utf-8?B?c0xxLzJXeXdHVy9hWDgrZEN2b0M5WnNXaFpETWgxYWJNZEU4VHdqVWpISVVW?=
 =?utf-8?B?SjI3R3NybVpYZGZrazFnaEJBWUVsUWhoUGhwUGVuRmNJM002VERSemJJaVlh?=
 =?utf-8?B?Q1ZOdFg2allLSnJhYjhDSDd0aFhTRWZobHRvTXg0cEpvZ3diemJ4eUl3VVFR?=
 =?utf-8?B?MUF5cUxRT2xyclZjUzZaRUhLaVk5UE9pWm95TGlTUUExdVVMQkZIaW1mUWdC?=
 =?utf-8?B?b0p2cllhVDgyb3FOU096dnI0akI0ZTZpdkVQVUQzREVsZTdLWVp5d2E0RTV6?=
 =?utf-8?B?SExDbG9vV2tIUnQreS9rSHJpZ01rU3BKanMwVDNMKzZyNGRTR3lnWURMNTRt?=
 =?utf-8?B?Szcvb2Z5WWlCZEw5KzBmZmx4U2tmZUJRT09BdmdlVlNPMVRPV2lZcVVJMkdO?=
 =?utf-8?B?L0MxSmhpVW1KbzBMRVRjZFBHY3BSQ3luTUt2NkcvaGpFQXg5V3ZWVTltREw1?=
 =?utf-8?B?MERDY21SeWdqeVVZOXhVTTdvdTUwUXFTenFlZFlxVDRXMEtweFpnLzhPMlNI?=
 =?utf-8?B?S1lQd3FQcTlTR0VJU0tBSnRCYXcwamRYMWtkR2F5eGtmNHh1bHF4QUZJSUZu?=
 =?utf-8?B?NlhneEJ1azFJOWw2Z1VsYkxiYWYxWk9DZlFoa01uMVRFRFRkUllQRlFxcEpu?=
 =?utf-8?B?Wm1nRGhucUJlYXRJdGdnSlRnYkdjbG1WZ3lHQ2RIS0Q5RlJMdmJrNzFveXY3?=
 =?utf-8?B?MFo3cURQK2VSTlVTcnJ3alZNL1k2RnRJK01NRjUvYTJjdjVuZ0kxOEd1NTl4?=
 =?utf-8?B?TXIvSWdvN1p4eGFwTDdVQVA4UUJKcWRGZk5ob0k2MjJEaVFPUnVkWm1jOEVy?=
 =?utf-8?B?ZWN2TU0zaEtuOHMyNks1WTVwSHFwUnNCWFdhcUdaN2NCWXdVVW5EOC9hUmlq?=
 =?utf-8?B?K3BFdnovTXUrZUVCK1hVa3dMZkFUVlVwYUQ1Z3hkYXkrV2Q3RGI5K24xL29M?=
 =?utf-8?B?a1QxOFUvUUs1bjY1RDNydHo4NjRvTUFCRkN5Q08ycmZhcjJCcnp5ZnpGRkpI?=
 =?utf-8?B?VWF6VW44SWVDY0M4K3ZDYWdsVTdOQ0gvdzgxUTh5K3JOanpoYzhFa0UzVGxR?=
 =?utf-8?B?UFNMN3h2UlN2WVJwZnVZQkNGSFRLc2NoRXY1enJxWi9sRmU5SGgyYU9HMFV3?=
 =?utf-8?B?SCs3RFpoSGNqeENLTjF6TXY4amE1ZGdDMVdjTmNaNS9JL0JucEg1QW5FZGFy?=
 =?utf-8?B?M0FZTWNHN1d3Y2JvUitOL2ZObWVyR1hOMXRLeUR5MGlJUVdzZEhvTGNuVG04?=
 =?utf-8?B?V3ArVWRGdWF2NkE3YUVacENCWUxRUUpzRjFoNXFFb3dOUzl1dTVadlpuQldR?=
 =?utf-8?B?QStocEtzNHRqN0hHL3dHV256emM3UlZOUmxWNGZtWEJ3cklHNjBLUFBwNXN1?=
 =?utf-8?B?L2R3ZmZ4SWtVbk9xSWl6SHc4dDJ1MnFYOVk0dVdkSEVUQ0gvVHZ4dHcwdlpC?=
 =?utf-8?B?SDZ0eUFBK3ZOK21lVldMcm9pcVRuY3pPNmUzUnRDZmlvd1ozejQyM3lwNndy?=
 =?utf-8?B?QkVxS3ZzTE91ajB4NCtranhXL1RCWFpxaWV5aXcwSmY1b0oxdDZhOUIvTG45?=
 =?utf-8?B?U0VOeHozM3RwaVpaK3I4OXVTYmxVeTBsNlZaKzFkMmZlamprTnBOK21ZalJH?=
 =?utf-8?B?ZEhRZWR1YVhjQTBtNkZyUktpcjJ5NTIwckpMVUdaQXVHRmdUelZaYmNPbzdy?=
 =?utf-8?Q?PpnoDbWOfR27+87GkF9kUk/gEWDrmSgFJV/wTj7?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 5df713a5-afe6-47d5-8951-08d960eba545
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2021 19:25:46.9356
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: npEuppJ3rSPHZ33IeSTfp8/ymCH2PIhpb9dpDo1BjRUnw7+aPHwGTgMMY0M6goA5zShcA0wBWOSWDs0bIBq71cB5WyEPdH+OrdrHijRrJhg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5567
X-OriginatorOrg: citrix.com

On 16/08/2021 16:29, Jan Beulich wrote:
> About every time I look at dom0_construct_pv()'s "calculation" of
> nr_pt_pages I question (myself) whether the result is precise or merely
> an upper bound. I think it is meant to be precise, but I think we would
> be better off having some checking in place. Hence add ASSERT()s to
> verify that
> - all pages have a valid L1...Ln (currently L4) page table type and
> - no other bits are set, in particular the type refcount is still zero.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> There are (at least) two factors supporting my uncertainty about the
> "calculation" being precise: The loop starting from 2 (which clearly is
> too small for a possible result)

2 was the correct absolute minimum for 2-level guests.

XTF kernels don't exceed the 2M boundary (at least, not currently), so
they can be mapped with only 3 or 4 pagetables, except:

* 3-level guests are created with 4 L2's for no obvious reason.=C2=A0 This =
is
nothing to do with legacy PAE paging, nor with how a typical Linux/BSD
kernel works.=C2=A0 The requirement to make 3-level guests work (and even
then, only under 32bit Xen) is to create a PGT_pae_xen_l2 if not already
covered by the other mappings.=C2=A0 Any non-toy kernel discards these
pagetables in favour of its own idea of pagetables.

* v_end is rounded up to 4MB.

Most XTF guests will operate entirely happily in a few hundred kb of
space, and the same will be true of other microservices.=C2=A0 The rounding
up of memory might be helpful for the traditional big VMs case, but it
isn't correct or useful for other usecases.

> and an apparently wrong comment stating
> that not only v_end but also v_start would be superpage aligned

Which comment?=C2=A0 The only one I see about 4M has nothing to do with
superpages.

>  (in fact
> v_end is 4MiB aligned, which is the superpage size only on long
> abandoned [by us] non-PAE x86-32).

Tangentially, that code needs some serious work to use ROUNDUP/DOWN
macros for clarity.

>
> --- a/xen/arch/x86/pv/dom0_build.c
> +++ b/xen/arch/x86/pv/dom0_build.c
> @@ -59,6 +59,10 @@ static __init void mark_pv_pt_pages_rdon
>          l1e_remove_flags(*pl1e, _PAGE_RW);
>          page =3D mfn_to_page(l1e_get_mfn(*pl1e));
> =20
> +        ASSERT(page->u.inuse.type_info & PGT_type_mask);
> +        ASSERT((page->u.inuse.type_info & PGT_type_mask) <=3D PGT_root_p=
age_table);

This is an obfuscated

ASSERT((page->u.inuse.type_info & PGT_type_mask) >=3D PGT_l1_page_table &&
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (page->u.inuse.type_info & PGT_type_ma=
sk) <=3D PGT_root_page_table);

and

> +        ASSERT(!(page->u.inuse.type_info & ~PGT_type_mask));

this has no context.

At a bare minimum, you need a comment stating what properties we're
looking for, so anyone suffering an assertion failure has some clue as
to what may have gone wrong.

~Andrew



From xen-devel-bounces@lists.xenproject.org Mon Aug 16 20:24:40 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 20:24:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167486.305715 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFj9s-0004Ol-8Q; Mon, 16 Aug 2021 20:24:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167486.305715; Mon, 16 Aug 2021 20: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 1mFj9s-0004Oe-3u; Mon, 16 Aug 2021 20:24:32 +0000
Received: by outflank-mailman (input) for mailman id 167486;
 Mon, 16 Aug 2021 20:24: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 1mFj9r-0004OU-E4; Mon, 16 Aug 2021 20:24: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 1mFj9r-0005MQ-AM; Mon, 16 Aug 2021 20:24: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 1mFj9q-0001bc-VF; Mon, 16 Aug 2021 20:24:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mFj9q-0007uC-Ul; Mon, 16 Aug 2021 20:24: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=v1KBS28QDol2pkwp8jQ4v0hm+DWu62ekC/a069TQ//M=; b=kwqczAhNiThObzq6f2rUk+whRf
	EZk9pci30EZ9spEDdQQEAq6RNY85XQcfFHmNUv/CfTnsW8P0Ekg3r8xLg6tsdGmvCx3gSomdKoLs8
	j+y9JWNf7xgkSMGDYoFLnvV1scVayR2vs4+5Y0E8PfnKA8S+0snCOU9TU5GpUCSJR/Eo=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164207-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 164207: regressions - FAIL
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:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=35727551c0703493a2240e967cffc3063b13d49c
X-Osstest-Versions-That:
    xen=274c5e79c792ce0331d0d8cd9a01545dea5a48fd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 16 Aug 2021 20:24:30 +0000

flight 164207 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164207/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                   6 xen-build                fail REGR. vs. 164206

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          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  35727551c0703493a2240e967cffc3063b13d49c
baseline version:
 xen                  274c5e79c792ce0331d0d8cd9a01545dea5a48fd

Last test of basis   164206  2021-08-16 14:01:35 Z    0 days
Testing same since   164207  2021-08-16 17:01:34 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>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  fail    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          blocked 
 test-armhf-armhf-xl                                          pass    
 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 35727551c0703493a2240e967cffc3063b13d49c
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Thu Aug 12 17:39:16 2021 +0100

    x86/cet: Fix shskt manipulation error with BUGFRAME_{warn,run_fn}
    
    This was a clear oversight in the original CET work.  The BUGFRAME_run_fn and
    BUGFRAME_warn paths update regs->rip without an equivalent adjustment to the
    shadow stack, causing IRET to suffer #CP because of the mismatch.
    
    One subtle, and therefore fragile, aspect of extable_shstk_fixup() was that it
    required regs->rip to have its old value as a cross-check that the right word
    in the shadow stack was being edited.
    
    Rework extable_shstk_fixup() into fixup_exception_return() which takes
    ownership of the update to both the regular and shadow stacks, ensuring that
    the regs->rip update is ordered correctly.
    
    Use the new fixup_exception_return() for BUGFRAME_run_fn and BUGFRAME_warn to
    ensure that the shadow stack is updated too.
    
    Fixes: 209fb9919b50 ("x86/extable: Adjust extable handling to be shadow stack compatible")
    Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Tested-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit bc141e8ca56200bdd0a12e04a6ebff3c19d6c27b
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Mon Aug 16 14:24:44 2021 +0100

    x86/ACPI: Insert missing newlines into FACS error messages
    
    Booting Xen as a PVH guest currently yields:
    
      (XEN) ACPI: SLEEP INFO: pm1x_cnt[1:b004,1:0], pm1x_evt[1:b000,1:0]
      (XEN) ACPI: FACS is not 64-byte aligned: 0xfc001010<2>ACPI: wakeup_vec[fc00101c], vec_size[20]
      (XEN) ACPI: Local APIC address 0xfee00000
    
    Insert newlines as appropriate.
    
    Fixes: d3faf9badf52 ("[host s3] Retrieve necessary sleep information from plain-text ACPI tables (FADT/FACS), and keep one hypercall remained for sleep notification.")
    Fixes: 0f089bbf43ec ("x86/ACPI: fix S3 wakeup vector mapping")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit 6928bc511399fd8f593fe49a3241212860a6a1b5
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Thu Aug 12 14:49:57 2021 +0100

    MAINTAINERS: Fix file path for kexec headers
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Mon Aug 16 21:11:26 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 21:11:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167500.305744 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFjsu-000138-VI; Mon, 16 Aug 2021 21:11:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167500.305744; Mon, 16 Aug 2021 21:11: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 1mFjsu-000131-S8; Mon, 16 Aug 2021 21:11:04 +0000
Received: by outflank-mailman (input) for mailman id 167500;
 Mon, 16 Aug 2021 21:11: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 1mFjst-00012r-J8; Mon, 16 Aug 2021 21:11: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 1mFjst-0006Bc-AX; Mon, 16 Aug 2021 21:11: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 1mFjss-0004GH-TZ; Mon, 16 Aug 2021 21:11:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mFjss-0002WZ-T3; Mon, 16 Aug 2021 21:11:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=YJQ11HFV1eqYg0Zoq9hYJwFrVBvX9NRtLu2YcOgM4L0=; b=YHlMKHuk+CIekVdf/dzeUXvhk3
	vqQyCJa8Lf/74wx6md3ZJhYnwZU+AknAfEyKcQhnBpfXpw24kZWCqP+a1XxEQYwcB9D6vgvl1Nllr
	MFdRAdp72r1r50fsKb0rj6EGy8owlcJTmkH/Q8/LeaUHNPoygmfpyEtvh35dsLhiQ8Qs=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164199-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 164199: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-amd64-pvgrub:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:regression
    qemu-mainline:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:allowable
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check: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-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-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-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-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-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx: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-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=80c9d104a10b1be410136471407dd7d5dba516a6
X-Osstest-Versions-That:
    qemuu=703e8cd6189cf699c8d5c094bc68b5f3afa6ad71
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 16 Aug 2021 21:11:02 +0000

flight 164199 qemu-mainline real [real]
flight 164208 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/164199/
http://logs.test-lab.xenproject.org/osstest/logs/164208/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install       fail REGR. vs. 164152
 test-amd64-amd64-i386-pvgrub 12 debian-di-install        fail REGR. vs. 164152

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds    18 guest-start/debian.repeat fail REGR. vs. 164152

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164152
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164152
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164152
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164152
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164152
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164152
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164152
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-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-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-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                80c9d104a10b1be410136471407dd7d5dba516a6
baseline version:
 qemuu                703e8cd6189cf699c8d5c094bc68b5f3afa6ad71

Last test of basis   164152  2021-08-10 21:08:02 Z    5 days
Failing since        164194  2021-08-15 10:38:08 Z    1 days    2 attempts
Testing same since   164199  2021-08-16 03:03:23 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Daniel P. Berrangé <berrange@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Lara Lazier <laramglazier@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@redhat.com>
  Taylor Simpson <tsimpson@quicinc.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 80c9d104a10b1be410136471407dd7d5dba516a6
Merge: f1a1a93646 a4de5e8a06
Author: Peter Maydell <peter.maydell@linaro.org>
Date:   Sun Aug 15 13:23:20 2021 +0100

    Merge remote-tracking branch 'remotes/kraxel/tags/maintainers-20210811-pull-request' into staging
    
    MAINTAINERS: update kraxel's entries.
    
    # gpg: Signature made Wed 11 Aug 2021 07:41:07 BST
    # gpg:                using RSA key A0328CFFB93A17A79901FE7D4CB6D8EED3E87138
    # gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" [full]
    # gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>" [full]
    # gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>" [full]
    # Primary key fingerprint: A032 8CFF B93A 17A7 9901  FE7D 4CB6 D8EE D3E8 7138
    
    * remotes/kraxel/tags/maintainers-20210811-pull-request:
      MAINTAINERS: update virtio-gpu entry.
      MAINTAINERS: update virtio-input entry.
      MAINTAINERS: update usb entries.
      MAINTAINERS: update spice entry.
      MAINTAINERS: update audio entry.
      MAINTAINERS: update sockets entry.
      MAINTAINERS: update edk2 entry.
    
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

commit f1a1a93646f49d710bc3937dd72e7a53b4a2fc6a
Merge: 2edf8ac5bd a7686d5d85
Author: Peter Maydell <peter.maydell@linaro.org>
Date:   Sun Aug 15 11:14:23 2021 +0100

    Merge remote-tracking branch 'remotes/quic/tags/pull-hex-20210812' into staging
    
    Hexagon (disas/hexagon.c) fix memory leak for early exit
    
    Don't allocate the string until error conditions have been checked
    
    Fixes: a00cfed0e ("Hexagon (disas) disassembler")
    Eliminate Coverity CID 1460121 (Resource leak)
    
    # gpg: Signature made Fri 13 Aug 2021 04:03:00 BST
    # gpg:                using RSA key 7B0244FB12DE4422
    # gpg: Good signature from "Taylor Simpson (Rock on) <tsimpson@quicinc.com>" [undefined]
    # gpg: WARNING: This key is not certified with a trusted signature!
    # gpg:          There is no indication that the signature belongs to the owner.
    # Primary key fingerprint: 3635 C788 CE62 B91F D4C5  9AB4 7B02 44FB 12DE 4422
    
    * remotes/quic/tags/pull-hex-20210812:
      Hexagon (disas/hexagon.c) fix memory leak for early exit cases
    
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

commit 2edf8ac5bdd0ae1624dea2a8d5784f7a33745901
Merge: 703e8cd618 ea0aa1752c
Author: Peter Maydell <peter.maydell@linaro.org>
Date:   Fri Aug 13 17:52:19 2021 +0100

    Merge remote-tracking branch 'remotes/bonzini-gitlab/tags/for-upstream' into staging
    
    Fixes for -smp, and for x86 TCG on Windows.
    
    # gpg: Signature made Fri 13 Aug 2021 13:43:46 BST
    # gpg:                using RSA key F13338574B662389866C7682BFFBD25F78C7AE83
    # gpg:                issuer "pbonzini@redhat.com"
    # gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" [full]
    # gpg:                 aka "Paolo Bonzini <pbonzini@redhat.com>" [full]
    # Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4  E2F7 7E15 100C CD36 69B1
    #      Subkey fingerprint: F133 3857 4B66 2389 866C  7682 BFFB D25F 78C7 AE83
    
    * remotes/bonzini-gitlab/tags/for-upstream:
      hw/core: fix error checking in smp_parse
      hw/core: Add missing return on error
      target/i386: Fixed size of constant for Windows
    
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

commit ea0aa1752ca88f7856cbf40eef0db62f90f28dcd
Author: Daniel P. Berrangé <berrange@redhat.com>
Date:   Thu Aug 12 18:53:53 2021 +0100

    hw/core: fix error checking in smp_parse
    
    machine_set_smp() mistakenly checks 'errp' not '*errp',
    and so thinks there is an error every single time it runs.
    This causes it to jump to the end of the method, skipping
    the max CPUs checks. The caller meanwhile sees no error
    and so carries on execution. The result of all this is:
    
     $ qemu-system-x86_64 -smp -1
     qemu-system-x86_64: GLib: ../glib/gmem.c:142: failed to allocate 481036337048 bytes
    
    instead of
    
     $ qemu-system-x86_64 -smp -1
     qemu-system-x86_64: Invalid SMP CPUs -1. The max CPUs supported by machine 'pc-i440fx-6.1' is 255
    
    This is a regression from
    
      commit fe68090e8fbd6e831aaf3fc3bb0459c5cccf14cf
      Author: Paolo Bonzini <pbonzini@redhat.com>
      Date:   Thu May 13 09:03:48 2021 -0400
    
        machine: add smp compound property
    
    Closes: https://gitlab.com/qemu-project/qemu/-/issues/524
    Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
    Message-Id: <20210812175353.4128471-1-berrange@redhat.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

commit 0b46318170bf2782564e1c444e01a47cda308c7f
Author: Philippe Mathieu-Daudé <philmd@redhat.com>
Date:   Fri Aug 13 13:26:06 2021 +0200

    hw/core: Add missing return on error
    
    If dies is not supported by this machine's CPU topology, don't
    keep processing options and return directly.
    
    Fixes: 0aebebb561c ("machine: reject -smp dies!=1 for non-PC machines")
    Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
    Message-Id: <20210813112608.1452541-2-philmd@redhat.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

commit 24d84c7e4806da0c362edd2ee76678f15becd17d
Author: Lara Lazier <laramglazier@gmail.com>
Date:   Thu Aug 12 13:10:56 2021 +0200

    target/i386: Fixed size of constant for Windows
    
    ~0UL has 64 bits on Linux and 32 bits on Windows.
    
    Fixes: https://gitlab.com/qemu-project/qemu/-/issues/512
    Reported-by: Volker Rümelin <vr_qemu@t-online.de>
    Signed-off-by: Lara Lazier <laramglazier@gmail.com>
    Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
    Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
    Message-Id: <20210812111056.26926-1-laramglazier@gmail.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

commit a7686d5d8528469b596e98eff098a5d3f8328fb3
Author: Taylor Simpson <tsimpson@quicinc.com>
Date:   Thu Aug 12 06:53:09 2021 -0500

    Hexagon (disas/hexagon.c) fix memory leak for early exit cases
    
    Don't allocate the string until error conditions have been checked
    
    Fixes: a00cfed0e ("Hexagon (disas) disassembler")
    Eliminate Coverity CID 1460121 (Resource leak)
    
    Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
    Reviewed-by: Philippe Mathieu-Daud? <f4bug@amsat.org>
    Signed-off-by: Taylor Simpson <tsimpson@quicinc.com>

commit a4de5e8a0667e3ee43ca9953ec7fd11ff19f2c92
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Tue Aug 10 10:34:50 2021 +0200

    MAINTAINERS: update virtio-gpu entry.
    
    New maintainer wanted. Downgrade status to "Odd Fixes" for now.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Message-Id: <20210810083450.2377374-8-kraxel@redhat.com>

commit 1e2edb986608a35e874a77c5e8e71f056c1681b6
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Tue Aug 10 10:34:49 2021 +0200

    MAINTAINERS: update virtio-input entry.
    
    New maintainer wanted. Downgrade status to "Odd Fixes" for now.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Message-Id: <20210810083450.2377374-7-kraxel@redhat.com>

commit cd02c965c4b65a488af44f1bf52d466f5c858cc2
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Tue Aug 10 10:34:48 2021 +0200

    MAINTAINERS: update usb entries.
    
    New maintainer wanted.  Switch role to "Reviewer" for usb-serial,
    downgrade status to "Odd Fixes" for everything else.
    
    Cc: Samuel Thibault <samuel.thibault@ens-lyon.org>
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Message-Id: <20210810083450.2377374-6-kraxel@redhat.com>

commit 227b1638ba39b7b3dedf0d9ad6ae2c4908688a8c
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Tue Aug 10 10:34:47 2021 +0200

    MAINTAINERS: update spice entry.
    
    New maintainer wanted. Downgrade status to "Odd Fixes" for now.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Message-Id: <20210810083450.2377374-5-kraxel@redhat.com>

commit 6bc915f31a436a44119b8e1ef7413518eb8865d1
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Tue Aug 10 10:34:46 2021 +0200

    MAINTAINERS: update audio entry.
    
    New maintainer wanted. Downgrade status to "Odd Fixes" for now.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Message-Id: <20210810083450.2377374-4-kraxel@redhat.com>

commit 8f6259055a1aac60663b4a853cf8e383e30d1de0
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Tue Aug 10 10:34:45 2021 +0200

    MAINTAINERS: update sockets entry.
    
    I have not touched the code for years.
    Make the entry match reality and drop my name.
    
    Cc: Daniel P. Berrange <berrange@redhat.com>
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Message-Id: <20210810083450.2377374-3-kraxel@redhat.com>

commit f492bdf4abeb593f95eb9026d5bce54afb65d575
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Tue Aug 10 10:34:44 2021 +0200

    MAINTAINERS: update edk2 entry.
    
    I want keep an eye on the edk2 things happening in qemu.
    
    Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Message-Id: <20210810083450.2377374-2-kraxel@redhat.com>


From xen-devel-bounces@lists.xenproject.org Mon Aug 16 22:56:58 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 22:56:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167516.305788 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFlX7-0001xK-Lz; Mon, 16 Aug 2021 22:56:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167516.305788; Mon, 16 Aug 2021 22: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 1mFlX7-0001xD-IO; Mon, 16 Aug 2021 22:56:41 +0000
Received: by outflank-mailman (input) for mailman id 167516;
 Mon, 16 Aug 2021 22:56: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 1mFlX6-0001x3-HK; Mon, 16 Aug 2021 22:56: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 1mFlX6-0007uS-6P; Mon, 16 Aug 2021 22:56: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 1mFlX5-0000Sw-V6; Mon, 16 Aug 2021 22:56:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mFlX5-0000ge-UM; Mon, 16 Aug 2021 22: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=MwI/BSCsmf0x/laSbnUme4MW38SgGZ6powA/XwC8rtc=; b=a3UNVJnvN0OhaNcA8c3Wbvcqqg
	0emDZL8ma7ncWk03FKtrD85Y7vO1uOC6wssOVz8o2wJael2251uZCfJ51OpOA+sOequL86V42JAz8
	Ocr2OYmxyPnVVoq/pLb3pbQYhJWEi4+HiF0JywlJAphjJFprz4kXB15QSsryfPyvwSbM=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164202-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 164202: trouble: broken/fail/pass
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-libvirt:<job status>:broken:regression
    xen-unstable:test-armhf-armhf-examine:host-install:broken:heisenbug
    xen-unstable:test-armhf-armhf-libvirt:host-install(5):broken:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-start/debianhvm.repeat:fail:heisenbug
    xen-unstable:test-amd64-amd64-amd64-pvgrub:debian-di-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-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-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt: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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-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-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-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=5c34b9af05b9e5abd25d88efc4fb783136547810
X-Osstest-Versions-That:
    xen=5a88d524857e5bf78b077d30ea515fcaac061bfc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 16 Aug 2021 22:56:39 +0000

flight 164202 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164202/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-libvirt        <job status>                 broken

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-examine      5 host-install             broken pass in 164186
 test-armhf-armhf-libvirt      5 host-install(5)          broken pass in 164195
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 20 guest-start/debianhvm.repeat fail in 164195 pass in 164202
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install         fail pass in 164186
 test-amd64-amd64-i386-pvgrub 12 debian-di-install          fail pass in 164186

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt 16 saverestore-support-check fail in 164195 like 164178
 test-armhf-armhf-libvirt    15 migrate-support-check fail in 164195 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 164178
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164178
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164178
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 164178
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 164178
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164178
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 164178
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164178
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164178
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164178
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  5c34b9af05b9e5abd25d88efc4fb783136547810
baseline version:
 xen                  5a88d524857e5bf78b077d30ea515fcaac061bfc

Last test of basis   164178  2021-08-13 10:47:20 Z    3 days
Testing same since   164182  2021-08-14 00:39:12 Z    2 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     fail    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     broken  
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-armhf-armhf-libvirt broken
broken-step test-armhf-armhf-libvirt host-install(5)
broken-step test-armhf-armhf-examine host-install
broken-job test-armhf-armhf-libvirt broken

Not pushing.

------------------------------------------------------------
commit 5c34b9af05b9e5abd25d88efc4fb783136547810
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Aug 13 16:50:09 2021 +0200

    libxc: simplify HYPERCALL_BUFFER()
    
    _hcbuf_buf1 has been there only for a pointer comparison to validate
    type compatibility. The same can be achieved by not using typeof() on
    the definition of what so far was _hcbuf_buf2, as the initializer has
    to also be type-compatible. Drop _hcbuf_buf1 and the comaprison;
    rename _hcbuf_buf2.
    
    Since we're already using compiler extensions here, don't be shy and
    also omit the middle operand of the involved ?: operator.
    
    Bring line continuation character placement in line with that of
    related macros.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit e241d15f1c8a8a02baa401af857393f9ada5aeb3
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Aug 13 16:49:46 2021 +0200

    libxenguest: fix off-by-1 in colo-secondary-bitmap merging
    
    Valid GFNs (having a representation in the dirty bitmap) need to be
    strictly below p2m_size.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 1a838bf72584788310496ba5f3d865457c80727f
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Aug 13 16:49:10 2021 +0200

    libxenguest: complete loops in xc_map_domain_meminfo()
    
    minfo->p2m_size may have more than 31 significant bits. Change the
    induction variable to unsigned long, and (largely for signed-ness
    consistency) a helper variable to unsigned int. While there also avoid
    open-coding min().
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Mon Aug 16 23:23:17 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 23:23:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167525.305808 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFlwn-0005D8-2G; Mon, 16 Aug 2021 23:23:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167525.305808; Mon, 16 Aug 2021 23:23:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFlwm-0005D1-VY; Mon, 16 Aug 2021 23:23:12 +0000
Received: by outflank-mailman (input) for mailman id 167525;
 Mon, 16 Aug 2021 23:23: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 1mFlwm-0005Cr-6U; Mon, 16 Aug 2021 23:23: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 1mFlwl-0008MQ-RP; Mon, 16 Aug 2021 23:23: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 1mFlwl-00025z-Js; Mon, 16 Aug 2021 23:23:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mFlwl-0006Js-JN; Mon, 16 Aug 2021 23:23: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:Message-Id:Subject:To;
	bh=+ugavvksN2ml2fZpKGcsUGpTanGkaV0NSkZqEVh+QIM=; b=PXN7HYswyfUwUSvocfdxV6IMgv
	1n9Dag23zrcoRIrTW4kNwqqEpjJnA/AOSTn82CxPkfvM4lvZ9UcVallBQsqMMbHoQO2acFHFmbEeS
	eavjRdKI4ap6gUM7TyM1OgHX2njjDB834AeTqnc13VEzTVzw970OYeRMr4i7WhcJ3gLo=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Subject: [xen-unstable-smoke bisection] complete build-amd64
Message-Id: <E1mFlwl-0006Js-JN@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 16 Aug 2021 23:23:11 +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:  35727551c0703493a2240e967cffc3063b13d49c
  Bug not present: bc141e8ca56200bdd0a12e04a6ebff3c19d6c27b
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164220/


  commit 35727551c0703493a2240e967cffc3063b13d49c
  Author: Andrew Cooper <andrew.cooper3@citrix.com>
  Date:   Thu Aug 12 17:39:16 2021 +0100
  
      x86/cet: Fix shskt manipulation error with BUGFRAME_{warn,run_fn}
      
      This was a clear oversight in the original CET work.  The BUGFRAME_run_fn and
      BUGFRAME_warn paths update regs->rip without an equivalent adjustment to the
      shadow stack, causing IRET to suffer #CP because of the mismatch.
      
      One subtle, and therefore fragile, aspect of extable_shstk_fixup() was that it
      required regs->rip to have its old value as a cross-check that the right word
      in the shadow stack was being edited.
      
      Rework extable_shstk_fixup() into fixup_exception_return() which takes
      ownership of the update to both the regular and shadow stacks, ensuring that
      the regs->rip update is ordered correctly.
      
      Use the new fixup_exception_return() for BUGFRAME_run_fn and BUGFRAME_warn to
      ensure that the shadow stack is updated too.
      
      Fixes: 209fb9919b50 ("x86/extable: Adjust extable handling to be shadow stack compatible")
      Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
      Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
      Tested-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
      Reviewed-by: Jan Beulich <jbeulich@suse.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/164220.bisection-summary --basis-template=164206 --blessings=real,real-bisect,real-retry xen-unstable-smoke build-amd64 xen-build
Searching for failure / basis pass:
 164207 fail [host=himrod1] / 164206 ok.
Failure / basis pass flights: 164207 / 164206
(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 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 35727551c0703493a2240e967cffc3063b13d49c
Basis pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 274c5e79c792ce0331d0d8cd9a01545dea5a48fd
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c7437ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823-136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 git://xenbits.xen.org/xen.git#274c5e79c792ce0331d0d8cd9a01545dea5a48fd-35727551c0703493a2240e967cffc3063b13d49c
Loaded 5001 nodes in revision graph
Searching for test results:
 164206 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 274c5e79c792ce0331d0d8cd9a01545dea5a48fd
 164207 fail 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 35727551c0703493a2240e967cffc3063b13d49c
 164209 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 274c5e79c792ce0331d0d8cd9a01545dea5a48fd
 164210 fail 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 35727551c0703493a2240e967cffc3063b13d49c
 164212 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 6928bc511399fd8f593fe49a3241212860a6a1b5
 164213 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 bc141e8ca56200bdd0a12e04a6ebff3c19d6c27b
 164215 fail 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 35727551c0703493a2240e967cffc3063b13d49c
 164216 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 bc141e8ca56200bdd0a12e04a6ebff3c19d6c27b
 164217 fail 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 35727551c0703493a2240e967cffc3063b13d49c
 164218 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 bc141e8ca56200bdd0a12e04a6ebff3c19d6c27b
 164220 fail 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 35727551c0703493a2240e967cffc3063b13d49c
Searching for interesting versions
 Result found: flight 164206 (pass), for basis pass
 For basis failure, parent search stopping at 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 bc141e8ca56200bdd0a12e04a6ebff3c19d6c27b, results HASH(0x5562743e7900) HASH(0x5562743ea830) HASH(0x556273169110) For basis failure, parent search stopping at 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 6928bc511399fd8f593fe49a3241212860a6a1b5, results HASH(0x5562743e58f8) For basis failure, parent search stopping at 3d273dd05e51e5a1\
 ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 274c5e79c792ce0331d0d8cd9a01545dea5a48fd, results HASH(0x5562743dcb08) HASH(0x5562743d37d0) Result found: flight 164207 (fail), for basis failure (at ancestor ~673)
 Repro found: flight 164209 (pass), for basis pass
 Repro found: flight 164210 (fail), for basis failure
 0 revisions at 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 bc141e8ca56200bdd0a12e04a6ebff3c19d6c27b
No revisions left to test, checking graph state.
 Result found: flight 164213 (pass), for last pass
 Result found: flight 164215 (fail), for first failure
 Repro found: flight 164216 (pass), for last pass
 Repro found: flight 164217 (fail), for first failure
 Repro found: flight 164218 (pass), for last pass
 Repro found: flight 164220 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  35727551c0703493a2240e967cffc3063b13d49c
  Bug not present: bc141e8ca56200bdd0a12e04a6ebff3c19d6c27b
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164220/


  commit 35727551c0703493a2240e967cffc3063b13d49c
  Author: Andrew Cooper <andrew.cooper3@citrix.com>
  Date:   Thu Aug 12 17:39:16 2021 +0100
  
      x86/cet: Fix shskt manipulation error with BUGFRAME_{warn,run_fn}
      
      This was a clear oversight in the original CET work.  The BUGFRAME_run_fn and
      BUGFRAME_warn paths update regs->rip without an equivalent adjustment to the
      shadow stack, causing IRET to suffer #CP because of the mismatch.
      
      One subtle, and therefore fragile, aspect of extable_shstk_fixup() was that it
      required regs->rip to have its old value as a cross-check that the right word
      in the shadow stack was being edited.
      
      Rework extable_shstk_fixup() into fixup_exception_return() which takes
      ownership of the update to both the regular and shadow stacks, ensuring that
      the regs->rip update is ordered correctly.
      
      Use the new fixup_exception_return() for BUGFRAME_run_fn and BUGFRAME_warn to
      ensure that the shadow stack is updated too.
      
      Fixes: 209fb9919b50 ("x86/extable: Adjust extable handling to be shadow stack compatible")
      Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
      Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
      Tested-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
      Reviewed-by: Jan Beulich <jbeulich@suse.com>

Revision graph left in /home/logs/results/bisect/xen-unstable-smoke/build-amd64.xen-build.{dot,ps,png,html,svg}.
----------------------------------------
164220: tolerable ALL FAIL

flight 164220 xen-unstable-smoke real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/164220/

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 Mon Aug 16 23:34:10 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 23:34:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167531.305822 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFm7K-0006fB-48; Mon, 16 Aug 2021 23:34:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167531.305822; Mon, 16 Aug 2021 23: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 1mFm7K-0006f4-14; Mon, 16 Aug 2021 23:34:06 +0000
Received: by outflank-mailman (input) for mailman id 167531;
 Mon, 16 Aug 2021 23:34:04 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uRT6=NH=invisiblethingslab.com=marmarek@srs-us1.protection.inumbo.net>)
 id 1mFm7I-0006ey-8Q
 for xen-devel@lists.xenproject.org; Mon, 16 Aug 2021 23:34:04 +0000
Received: from out5-smtp.messagingengine.com (unknown [66.111.4.29])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 44d45e68-3791-43b4-8837-8fab1347dda9;
 Mon, 16 Aug 2021 23:34:02 +0000 (UTC)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.46])
 by mailout.nyi.internal (Postfix) with ESMTP id 9B1885C0153;
 Mon, 16 Aug 2021 19:34:02 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute6.internal (MEProxy); Mon, 16 Aug 2021 19:34:02 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 16 Aug 2021 19:34:00 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 44d45e68-3791-43b4-8837-8fab1347dda9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=fnad3z
	RAd6NsacMqEepijg8TAb8JEH+fhFX68RPwJ3o=; b=WJu5r26jh5iw/CRQ+DHZVH
	eO3bi+/LNPdOlPwmbBV0Bsc4ormybkzbSrawUASu4Ll2m4C72Wi6rfTjJ7ZczCFa
	ezYcDqr/4cfxNLwks3RCPT00S/W5HOd1+8hmPgcGCDUTyIV/WICeFgbmR9S0L+kt
	+fi/daSOr27DR63P5ZZQZj1aseJavAALm8cxSGKslEQnwf21mgvwdR4ut320BInn
	3yMKChJN6FR/Qs6O1PT8pALBFSC3fKiPAllyviFEao8SGGcVfZoq01uvmFv5/BMq
	9iD7/mabSD9exjuPy/YqTO+6rcOqooHhVVkReDb5p0x1kmbbRCjhdfN1QaovyqAg
	==
X-ME-Sender: <xms:6fUaYW1gJkCGqaqEuAm9_YN5jWjCsMJENJn37lDm39lMoIaP1VO-4A>
    <xme:6fUaYZEYa33bC_n3yGaoKIDffZ52guL8vuz5kmJ2-WxMokns-gDq8e9pMycE3-ZrQ
    c23Rso39mB7_w>
X-ME-Received: <xmr:6fUaYe4TuPnLmYZRzV-10A2AmypZ2l_3rXEzaJYSgg5kyWMZELRckWf5w7ALQ0oslglIwyGhUErSb8uk1evHiU0K5vGc9Syk>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrledvgddvvdcutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgvkhcu
    ofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinhhvih
    hsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepteekleeh
    heeiudejkeelvddtleehgffgueekkeekfeehtdevudfgtdelueejieeunecuffhomhgrih
    hnpehmrgiglhhinhgvrghrrdgtohhmnecuvehluhhsthgvrhfuihiivgeptdenucfrrghr
    rghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhngh
    hslhgrsgdrtghomh
X-ME-Proxy: <xmx:6fUaYX28k73U6mtSdJcnu7huAb_Egd-M0Wh3gZYDuk2yQYIa9SEUfQ>
    <xmx:6fUaYZFTv9hje0AZMSbUpr1JeHnJHitcUkKhBkwfvUc8i2Eh0uQr1w>
    <xmx:6fUaYQ93HXdy69f-Hv3nMUeMLXFI-HJCbPfW4Y1fcFi8qgs9Z26l8A>
    <xmx:6vUaYSMVXN_6unH5yLtlye6B_z8P6E87F6UV13YyaIGdhSrrCoItvA>
Date: Tue, 17 Aug 2021 01:33:56 +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>,
	Ian Jackson <iwj@xenproject.org>, 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] ns16550: add Exar dual PCIe UART card support
Message-ID: <YRr15Z8CMur2QcNC@mail-itl>
References: <20210813183139.391546-1-marmarek@invisiblethingslab.com>
 <20210813183139.391546-2-marmarek@invisiblethingslab.com>
 <0326eebe-2ec8-1c2d-bf2c-8cb4c16312af@suse.com>
 <YRokMeJ2bMLAZFD4@mail-itl>
 <7e88f6f7-afd6-d12c-8a14-a5c3853d0a90@suse.com>
 <YRo9LrkAhkDSF1iq@mail-itl>
 <33258024-41f5-5a39-3549-df424f995513@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="nAjWm3A3K1Dqo7w8"
Content-Disposition: inline
In-Reply-To: <33258024-41f5-5a39-3549-df424f995513@suse.com>


--nAjWm3A3K1Dqo7w8
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 17 Aug 2021 01:33:56 +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>,
	Ian Jackson <iwj@xenproject.org>, 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] ns16550: add Exar dual PCIe UART card support

On Mon, Aug 16, 2021 at 02:18:33PM +0200, Jan Beulich wrote:
> On 16.08.2021 12:25, Marek Marczykowski-G=C3=B3recki wrote:
> > On Mon, Aug 16, 2021 at 11:18:31AM +0200, Jan Beulich wrote:
> >> Hard to tell without knowing whether the extra reg - as per the spec -
> >> is connected to any of these. Is the spec you have publicly available?
> >=20
> > Yes, here: https://www.maxlinear.com/document/index?id=3D1585&languagei=
d=3D1033&type=3DDatasheet&partnumber=3DXR17V352&filename=3DXR17V352.pdf&par=
t=3DXR17V352
> > (and few more links on https://www.maxlinear.com/product/interface/uart=
s/pcie-uarts/xr17v352, but mostly the above PDF)
>=20
> Ah yes, thanks.
>=20
> > Hmm, maybe I should add the link to the commit message?
>=20
> Wouldn't hurt; question is how likely it is for the link to become stale
> in the next couple of years.

No idea, but the latter URL looks nicer - likely manually chosen
instead of purely generated by some CMS, and as such, there is IMO
better chance for it to remain alive.

> > Other bits are defined and are things IMO we want to keep disabled. See=
 top
> > of the page 40 in the PDF.
>=20
> To be honest, in particular for the low 4 bits I'm not sure we should
> alter them if they turn out non-zero (e.g. due to firmware or boot
> loader action).

Given how much time I spent to find out the not working console was
because of failure to disable flow control, I tend to disagree...

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--nAjWm3A3K1Dqo7w8
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmEa9eQACgkQ24/THMrX
1yzpAAgAhHzkqXK0JSvxyprjo8NQboBHtwX9q/JbGW6bbtxatu7YMaQZHYTQJ0la
1grb2NlVmgY8nfv0w2Ju8kWfV0s3ktWziQ05MndSPo0F9kxto8f7gH2QoHp7F5B2
wCMRdGcjBhcgdK6pUyZ70msrJ8T44bJ4al+rxsE1D0ftgKE3ZS+K5SvffUhMjNMO
CwuV0pcJeVZKjO45i3G0K+nNQge4NMly2+VvFEzRerTIsnsmK5xMGwqcGYzjysmV
pIDvhX68rSH447FT3kVpVJRJBAFkmWeucLO/lIjnkVyfBZOEc9JSuqQkVjKU3ZiW
z4NA5HzL6QmcVzTgObkvN+QydoQe9w==
=slBo
-----END PGP SIGNATURE-----

--nAjWm3A3K1Dqo7w8--


From xen-devel-bounces@lists.xenproject.org Mon Aug 16 23:50:05 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Aug 2021 23:50:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167536.305832 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFmMg-0008Al-Cm; Mon, 16 Aug 2021 23:49:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167536.305832; Mon, 16 Aug 2021 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 1mFmMg-0008Ae-9q; Mon, 16 Aug 2021 23:49:58 +0000
Received: by outflank-mailman (input) for mailman id 167536;
 Mon, 16 Aug 2021 23:49: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 1mFmMe-0008AU-TZ; Mon, 16 Aug 2021 23:49:56 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mFmMe-0000M3-JY; Mon, 16 Aug 2021 23:49:56 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mFmMe-00035J-Bp; Mon, 16 Aug 2021 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 1mFmMe-0001eQ-BK; Mon, 16 Aug 2021 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=5DIhNANaJfDCLbftFuweoRLFCmMy8rtvj+q45dbf+Qo=; b=CNPpEbof4ostkMSRHk8SU1CbcM
	KKKtlgbIULpcYVqs14G+x6ba93NUm5OYcZYkh3MjHcxCXWZAXtR/BeEENlSqVnmjnFtotYPaKxP/7
	oGz2ndXL3qNRNot4Uqa2mZ3ZxWaOXyGEsCzNmSZ33CfXqKUwRlU5fkMspwZ0fSd5oUmk=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164211-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 164211: regressions - FAIL
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:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=35727551c0703493a2240e967cffc3063b13d49c
X-Osstest-Versions-That:
    xen=274c5e79c792ce0331d0d8cd9a01545dea5a48fd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 16 Aug 2021 23:49:56 +0000

flight 164211 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164211/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                   6 xen-build                fail REGR. vs. 164206

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          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  35727551c0703493a2240e967cffc3063b13d49c
baseline version:
 xen                  274c5e79c792ce0331d0d8cd9a01545dea5a48fd

Last test of basis   164206  2021-08-16 14:01:35 Z    0 days
Testing same since   164207  2021-08-16 17:01:34 Z    0 days    2 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>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  fail    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          blocked 
 test-armhf-armhf-xl                                          pass    
 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 35727551c0703493a2240e967cffc3063b13d49c
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Thu Aug 12 17:39:16 2021 +0100

    x86/cet: Fix shskt manipulation error with BUGFRAME_{warn,run_fn}
    
    This was a clear oversight in the original CET work.  The BUGFRAME_run_fn and
    BUGFRAME_warn paths update regs->rip without an equivalent adjustment to the
    shadow stack, causing IRET to suffer #CP because of the mismatch.
    
    One subtle, and therefore fragile, aspect of extable_shstk_fixup() was that it
    required regs->rip to have its old value as a cross-check that the right word
    in the shadow stack was being edited.
    
    Rework extable_shstk_fixup() into fixup_exception_return() which takes
    ownership of the update to both the regular and shadow stacks, ensuring that
    the regs->rip update is ordered correctly.
    
    Use the new fixup_exception_return() for BUGFRAME_run_fn and BUGFRAME_warn to
    ensure that the shadow stack is updated too.
    
    Fixes: 209fb9919b50 ("x86/extable: Adjust extable handling to be shadow stack compatible")
    Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Tested-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit bc141e8ca56200bdd0a12e04a6ebff3c19d6c27b
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Mon Aug 16 14:24:44 2021 +0100

    x86/ACPI: Insert missing newlines into FACS error messages
    
    Booting Xen as a PVH guest currently yields:
    
      (XEN) ACPI: SLEEP INFO: pm1x_cnt[1:b004,1:0], pm1x_evt[1:b000,1:0]
      (XEN) ACPI: FACS is not 64-byte aligned: 0xfc001010<2>ACPI: wakeup_vec[fc00101c], vec_size[20]
      (XEN) ACPI: Local APIC address 0xfee00000
    
    Insert newlines as appropriate.
    
    Fixes: d3faf9badf52 ("[host s3] Retrieve necessary sleep information from plain-text ACPI tables (FADT/FACS), and keep one hypercall remained for sleep notification.")
    Fixes: 0f089bbf43ec ("x86/ACPI: fix S3 wakeup vector mapping")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit 6928bc511399fd8f593fe49a3241212860a6a1b5
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Thu Aug 12 14:49:57 2021 +0100

    MAINTAINERS: Fix file path for kexec headers
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 01:25:45 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 01:25:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167544.305846 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFnr8-0007aW-Np; Tue, 17 Aug 2021 01:25:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167544.305846; Tue, 17 Aug 2021 01:25: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 1mFnr8-0007aP-Kb; Tue, 17 Aug 2021 01:25:30 +0000
Received: by outflank-mailman (input) for mailman id 167544;
 Tue, 17 Aug 2021 01:25:29 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lICV=NI=invisiblethingslab.com=marmarek@srs-us1.protection.inumbo.net>)
 id 1mFnr7-0007aJ-30
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 01:25:29 +0000
Received: from wout4-smtp.messagingengine.com (unknown [64.147.123.20])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 00883eca-fefa-11eb-a482-12813bfff9fa;
 Tue, 17 Aug 2021 01:25:27 +0000 (UTC)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailout.west.internal (Postfix) with ESMTP id 3FCFE32001C6
 for <xen-devel@lists.xenproject.org>; Mon, 16 Aug 2021 21:25:26 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute1.internal (MEProxy); Mon, 16 Aug 2021 21:25:26 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA for
 <xen-devel@lists.xenproject.org>; Mon, 16 Aug 2021 21:25:25 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 00883eca-fefa-11eb-a482-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=content-type:date:from:message-id
	:mime-version:subject:to:x-me-proxy:x-me-proxy:x-me-sender
	:x-me-sender:x-sasl-enc; s=fm3; bh=rIiULbhWMatr0BO+2bLfo6OEXt2mC
	3xR0wnLyP5CN/8=; b=XQGlfIEC+MxrDOnzVVntWJ7bQbuxjxReXpxtktTc0PXNS
	Y5t946xIz/0cVYHUMDBFRwlu8vF+Mia6lJaj4mgCpvCVxk5QNu6Q9Wx9oQlMt54K
	qwAIhuIF6+i7jtt333BkXyL4yww9BxTlxg8hkybITh4J5fzkCIcZFIZUER8jPQeo
	kNMSJY2kJLbQao5LEXO5tE3OzX1wUPKEVUT/j9Bm3UNm6OGvvyhaTSn/D0ug2FSi
	2cgRBCNvU5boy/RoytDeeEJZu58vipBHULyF/SwU8ZYGE7uBC7X7j91L7nZQ2AW8
	0S7T7II7TjIhed/wxbsCpEm8X3ILzR5/2NhRFtrYg==
X-ME-Sender: <xms:BRAbYSOOCO6_5BWoh-M3u2vTcHpWNwahT_b9BRBqJB6godx7FLpl2w>
    <xme:BRAbYQ8TkrNjKDgrw4teB4gbbl2G6EWOnhaFMsA-wHOlR4NUAdaEr88WWfRIO8LDA
    RIYqqeykXG95w>
X-ME-Received: <xmr:BRAbYZTvhT0bDGd7tvoHXo6LrG_DoTotJV5UgQXYAkZeLHfnEXhlboF9DCkJY1jkOASKcsYAsrTIpAsS02PxDQ6Rb5bPaUL_>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrledvgdegiecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecunecujfgurhepfffhvffukfggtggusehgtderredttd
    ejnecuhfhrohhmpeforghrvghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcu
    oehmrghrmhgrrhgvkhesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenuc
    ggtffrrghtthgvrhhnpedtudfgteduveduieevvefgteeujeelgffggffhhffhhedtffef
    fefgudeugeefhfenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfh
    hrohhmpehmrghrmhgrrhgvkhesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:BRAbYStmmQBhDqlthCipJkqdijNYPr-_cmJAuEV4ALdvijn_Z2WxbQ>
    <xmx:BRAbYafmAskB7zsD8AbD39nlTMYE-NPZBaYhGyc-CHG-y4LBU17eow>
    <xmx:BRAbYW3bUCavJFy0uHpPe4lWh0xd6tdpT_fCKYn-Eug5oeYz4HxSvQ>
    <xmx:BRAbYUp6wdOFuifiodhUyM6-ZnygUu77zf8d8b3PghWmVsAOPZWl4Q>
Date: Tue, 17 Aug 2021 03:25:21 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel <xen-devel@lists.xenproject.org>
Subject: S3 resume issue in xstate_init
Message-ID: <YRsQArpQcpLB/Q5h@mail-itl>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="7VhbuY6gWKyUon2r"
Content-Disposition: inline


--7VhbuY6gWKyUon2r
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 17 Aug 2021 03:25:21 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel <xen-devel@lists.xenproject.org>
Subject: S3 resume issue in xstate_init

Hi,

I've got another S3 issue:

(XEN) Preparing system for ACPI S3 state.
(XEN) Disabling non-boot CPUs ...
(XEN) Broke affinity for IRQ1, new: ffff
(XEN) Broke affinity for IRQ16, new: ffff
(XEN) Broke affinity for IRQ9, new: ffff
(XEN) Broke affinity for IRQ139, new: ffff
(XEN) Broke affinity for IRQ8, new: ffff
(XEN) Broke affinity for IRQ14, new: ffff
(XEN) Broke affinity for IRQ20, new: ffff
(XEN) Broke affinity for IRQ137, new: ffff
(XEN) Broke affinity for IRQ138, new: ffff
(XEN) Entering ACPI S3 state.
(XEN) mce_intel.c:773: MCA Capability: firstbank 0, extended MCE MSR 0, BCA=
ST, CMCI
(XEN) CPU0 CMCI LVT vector (0xf1) already installed
(XEN) Finishing wakeup from ACPI S3 state.
(XEN) microcode: CPU0 updated from revision 0xca to 0xea, date =3D 2021-01-=
05
(XEN) xstate: size: 0x440 (uncompressed 0x440) and states: 0x1f
(XEN) Enabling non-boot CPUs  ...
(XEN) xstate: size: 0x440 (uncompressed 0x240) and states: 0x1f
(XEN) Xen BUG at xstate.c:673
(XEN) ----[ Xen-4.16-unstable  x86_64  debug=3Dy  Not tainted ]----
(XEN) CPU:    1
(XEN) RIP:    e008:[<ffff82d040350ee4>] xstate_init+0x24b/0x2ff
(XEN) RFLAGS: 0000000000010087   CONTEXT: hypervisor
(XEN) rax: 0000000000000240   rbx: 000000000000001f   rcx: 0000000000000440
(XEN) rdx: 0000000000000001   rsi: 000000000000000a   rdi: 000000000000001f
(XEN) rbp: ffff83025dc9fd38   rsp: ffff83025dc9fd20   r8:  0000000000000001
(XEN) r9:  ffff83025dc9fc88   r10: 0000000000000001   r11: 0000000000000001
(XEN) r12: ffff83025dc9fd80   r13: 000000000000001f   r14: 0000000000000001
(XEN) r15: 0000000000000000   cr0: 000000008005003b   cr4: 00000000003526e0
(XEN) cr3: 0000000049656000   cr2: 0000000000000000
(XEN) fsb: 0000000000000000   gsb: 0000000000000000   gss: 0000000000000000
(XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: 0000   cs: e008
(XEN) Xen code around <ffff82d040350ee4> (xstate_init+0x24b/0x2ff):
(XEN)  ff e9 a2 00 00 00 0f 0b <0f> 0b 89 f8 89 f1 0f a2 89 f2 4c 8b 0d cb =
b4 0f
(XEN) Xen stack trace from rsp=3Dffff83025dc9fd20:
(XEN)    0000000000000240 ffff83025dc9fd80 0000000000000001 ffff83025dc9fd70
(XEN)    ffff82d04027e7a1 000000004035a7f1 7ffafbbf01100800 00000000bfebfbff
(XEN)    0000000000000001 00000000000000c8 ffff83025dc9feb8 ffff82d0402e43ce
(XEN)    000000160a9e0106 bfebfbff80000008 2c1008007ffaf3bf 0000000f00000121
(XEN)    00000000029c6fbf 0000000000000100 000000009c002e00 02afcd7f00000000
(XEN)    756e654700000000 6c65746e49656e69 65746e4904b21920 726f43202952286c
(XEN)    376920294d542865 432048303537382d 322e322040205550 000000007a484730
(XEN)    ffff830000000000 ffff83025dc9fe18 00002400402e8e0b 000000085dc9fe30
(XEN)    00000002402e9f21 0000000000000001 ffffffff00000000 ffff82d0402e0040
(XEN)    00000000003526e0 ffff83025dc9fe68 ffff82d04027bd15 0000000000000001
(XEN)    ffff8302590a0000 0000000000000000 00000000000000c8 0000000000000001
(XEN)    0000000000000001 ffff83025dc9feb8 ffff82d0402e32b7 0000000000000001
(XEN)    0000000000000001 00000000000000c8 0000000000000001 ffff83025dc9fee8
(XEN)    ffff82d04030e401 0000000000000001 0000000000000000 0000000000000000
(XEN)    0000000000000000 0000000000000000 ffff82d040200122 0800002000000002
(XEN)    0100000400010000 0000002000000000 2000000000100000 0000001000000000
(XEN)    2000000000000000 0000000029000000 0000008000000000 00110000a0000000
(XEN)    8000000080000000 4000000000000008 0000100000000000 0200000040000080
(XEN)    0004000000000000 0000010000000002 0400002030000000 0000000060000000
(XEN)    0400001000010000 0000000010000000 0000004010000000 0000000000000000
(XEN) Xen call trace:
(XEN)    [<ffff82d040350ee4>] R xstate_init+0x24b/0x2ff
(XEN)    [<ffff82d04027e7a1>] F identify_cpu+0x318/0x4af
(XEN)    [<ffff82d0402e43ce>] F recheck_cpu_features+0x1f/0x72
(XEN)    [<ffff82d04030e401>] F start_secondary+0x255/0x38a
(XEN)    [<ffff82d040200122>] F __high_start+0x82/0x91
(XEN)=20
(XEN)=20
(XEN) ****************************************
(XEN) Panic on CPU 1:
(XEN) Xen BUG at xstate.c:673
(XEN) ****************************************
(XEN)=20
(XEN) Reboot in five seconds...

This is with added debug patch:

diff --git a/xen/arch/x86/xstate.c b/xen/arch/x86/xstate.c
index 6aaf9a2f1546..7873a21b356a 100644
--- a/xen/arch/x86/xstate.c
+++ b/xen/arch/x86/xstate.c
@@ -668,6 +668,8 @@ void xstate_init(struct cpuinfo_x86 *c)
     else
     {
         BUG_ON(xfeature_mask !=3D feature_mask);
+        printk("xstate: size: %#x (uncompressed %#x) and states: %#"PRIx64=
"\n",
+               xsave_cntxt_size, hw_uncompressed_size(feature_mask), featu=
re_mask);
         BUG_ON(xsave_cntxt_size !=3D hw_uncompressed_size(feature_mask));
     }
=20

As can be seen above - the xsave size differs between BSP and other
CPU(s) - likely because of (not) loaded ucode update there.
I guess it's a matter of moving ucode loading somewhere else, right?


--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--7VhbuY6gWKyUon2r
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmEbEAEACgkQ24/THMrX
1yynwwf/UdUr1oQFwU8YTZOuIInEVrW2NQkx6XoScIalY7FnKnVsmAm3M5Y+kwUd
ukhgvPxZ4HhQSANwctxxbZzbH+8CmZZwfXT3kdf6r6E9uaPZAriIJ/lLT9odTsCH
n9plNm+BjvPhcWjeUSOrF6c+Rw9x5wTGwQfqCaTgv+YG8Vv9qQOIJ/I7FK1CuJk0
lrTI4JVH8ZtXRA6eq5ukCBn7DDte2w9DpiYpmE/lnjHZO7XDmbU/lzY4lF+qzbUU
LH1LkZzlg5pQpaCU4PYclv68Oj6cOCtC4SfcV7fxrsxyYA1RTHzZasmPcYxFYJNH
7/8WxlCPxrBXmAHFeufxYWuI3H6vxA==
=N6rK
-----END PGP SIGNATURE-----

--7VhbuY6gWKyUon2r--


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 02:28:41 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 02:28:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167551.305858 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFoq5-0005Is-Dy; Tue, 17 Aug 2021 02:28:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167551.305858; Tue, 17 Aug 2021 02:28:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFoq5-0005Il-9K; Tue, 17 Aug 2021 02:28:29 +0000
Received: by outflank-mailman (input) for mailman id 167551;
 Tue, 17 Aug 2021 02:28:28 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=t5rO=NI=arm.com=Penny.Zheng@srs-us1.protection.inumbo.net>)
 id 1mFoq4-0005If-0y
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 02:28:28 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com (unknown
 [40.107.20.89]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id cc8f0fc8-ff02-11eb-a485-12813bfff9fa;
 Tue, 17 Aug 2021 02:28:25 +0000 (UTC)
Received: from AM6PR0502CA0058.eurprd05.prod.outlook.com
 (2603:10a6:20b:56::35) by AM4PR0802MB2371.eurprd08.prod.outlook.com
 (2603:10a6:200:5d::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Tue, 17 Aug
 2021 02:28:24 +0000
Received: from AM5EUR03FT018.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:56:cafe::1e) by AM6PR0502CA0058.outlook.office365.com
 (2603:10a6:20b:56::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15 via Frontend
 Transport; Tue, 17 Aug 2021 02:28:24 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT018.mail.protection.outlook.com (10.152.16.114) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Tue, 17 Aug 2021 02:28:23 +0000
Received: ("Tessian outbound 19a632698c93:v103");
 Tue, 17 Aug 2021 02:28:22 +0000
Received: from ce19f5d90b09.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 7DAC1939-E67F-4208-BD13-4D5F0AD5F3A7.1; 
 Tue, 17 Aug 2021 02:28:17 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ce19f5d90b09.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 17 Aug 2021 02:28:17 +0000
Received: from VE1PR08MB5215.eurprd08.prod.outlook.com (2603:10a6:803:10a::33)
 by VI1PR08MB4511.eurprd08.prod.outlook.com (2603:10a6:803:f9::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13; Tue, 17 Aug
 2021 02:28:14 +0000
Received: from VE1PR08MB5215.eurprd08.prod.outlook.com
 ([fe80::adf8:8d6f:2a30:b60c]) by VE1PR08MB5215.eurprd08.prod.outlook.com
 ([fe80::adf8:8d6f:2a30:b60c%5]) with mapi id 15.20.4415.022; Tue, 17 Aug 2021
 02:28: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: cc8f0fc8-ff02-11eb-a485-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rl0OLRvXX3erALVsL0Xk+roz4xkcrfTlCGTOcQl5vkg=;
 b=ekfhwFIZOOyP+xUp+MMUXtRnWPazDhi9KM3BcQ+LkBSwF88V5L/hKBkrbd+IpK9GA0Wm09AOxsdffD+PRvvF13L9HBG7jNITnLbMowLu0etwK6sn+6SDXYymhl0OK807GqlUeu1HR9n/07/kdwLYhHKPvYmUGzpX2Dpd5xefn80=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mX4S55iVNiUcZt9gBd4S99NcizAipxjSHhvaI7y/6PFYlzAQIwWKCwsljBJTrw2gwqxjhDHFye9PIosqXUF+5bwRvfjo0hTOOkePHFpwRPmVaXUPFzCstAjfGvM5JTVSr4vM0XEGYPXcdM8YLn9ESnbHE4cVE39UyVk//DMKJf+DgMuot5jFcy4KqLJGopK9xwH2kRURTDQZAZ9MPr7SabIqS/c76g6gO3U+GAinj4bHDMCORD5xvNe8d0ujzx9txyNotrODS6lXl8o/eYPzRm9lJE5zcBeLZz4u87S33at6Q3ncGIU+FQOkqlS3gt64+lt4UUczpTly4gy73TVVBQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rl0OLRvXX3erALVsL0Xk+roz4xkcrfTlCGTOcQl5vkg=;
 b=HuFw4z0FUtcUfoPBf/8dDgGGqOagxZ3gwQIHNlVVpXw9lepoh3LUyLi2bbwTkEr9BRY99O/nR5yuzhjXImC12NDJ5Fb4PPWiSevF23RrRwmcAPaCu1pcnbNMKwpI+3VUU8N2QseCQfCAg2apoInEuScRkqUoOzOcjWb1x+/mSOr/5d5vtbt0wEOhI8MR93cTzKE6UrITJlc0hH/1VTUS0KD/inrqoLscahxGO7aHGOQ56bQJbyO96yukgYgZA1hqcUm5itLnjE4VfIHcDQSgJhINUTZC/2OH90DSCIvmwihrvayjJZLnIWFs0caZR4ZJFc/jSAziKRmtkxCMS75HjQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rl0OLRvXX3erALVsL0Xk+roz4xkcrfTlCGTOcQl5vkg=;
 b=ekfhwFIZOOyP+xUp+MMUXtRnWPazDhi9KM3BcQ+LkBSwF88V5L/hKBkrbd+IpK9GA0Wm09AOxsdffD+PRvvF13L9HBG7jNITnLbMowLu0etwK6sn+6SDXYymhl0OK807GqlUeu1HR9n/07/kdwLYhHKPvYmUGzpX2Dpd5xefn80=
From: Penny Zheng <Penny.Zheng@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
	nd <nd@arm.com>
Subject: RE: [PATCH V4 01/10] xen/arm: introduce domain on Static Allocation
Thread-Topic: [PATCH V4 01/10] xen/arm: introduce domain on Static Allocation
Thread-Index: AQHXg5tT+SWyG6li/k6wFxy4MgT6GKtuY1iAgAcolICAAPTrAIAAlbCA
Date: Tue, 17 Aug 2021 02:28:13 +0000
Message-ID:
 <VE1PR08MB5215EB625C7E380553C10B25F7FE9@VE1PR08MB5215.eurprd08.prod.outlook.com>
References: <20210728102758.3269446-1-penny.zheng@arm.com>
 <20210728102758.3269446-2-penny.zheng@arm.com>
 <7c99d0dd-ef62-10a8-a11e-d2ca52910591@xen.org>
 <VE1PR08MB521506FADC3CC8096D9B98DFF7FD9@VE1PR08MB5215.eurprd08.prod.outlook.com>
 <9a6e7689-50e2-f046-4ebb-ebbafc769f26@xen.org>
In-Reply-To: <9a6e7689-50e2-f046-4ebb-ebbafc769f26@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: F06AFA94B7AAF043B05E7A1C30F25E2C.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: ddf25594-4996-4024-97f8-08d96126afcc
x-ms-traffictypediagnostic: VI1PR08MB4511:|AM4PR0802MB2371:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM4PR0802MB2371AE0DDFE197E68EB54481F7FE9@AM4PR0802MB2371.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 LRdHMNARCD+DVGh2oVNoulxL+cdXQ82QJzL3jJQoYeyZ5I3aUZU3s9ChI0xnl0j/3M7RCcj/OminmBcMyf2s+/V7e72Orflm3+2Bbgf5AJi3aJu9onvChCGZ8++LVOHswMgPFVQw8PDdioUumegdcoBqKO6VO4OeQQ/fhxPXVxBUxwRihAz7SLLaTcz1TIFZmKpU9uGQtPKt2jsn16oPLFKD/gAUQn/vATvHqaZ/vOp30NtRodFFNjcNn/50mgjOMtuRJC0zOsCWQwpEK5rTRAYz+MUd+F+pM4dOk5D00sE3taKVgGHFXWlyBZgGH3BpSg9Xh/hicXWtXw6ItAc3LQpaKCtuFVb70kr6xjJL5iV+p2bX1cH/Ni1R+QSP3XRmJHhx7GhjbFa7f6Z200M/DWnmHuzPg9z5DVYz2rpY6W4aJJJG/UN+vb2Ef63hcrRO+ehOaYzIC8L8ZPqyA7gLC1urLRKim3Fn2U8h22C0qSUz/Uke5ArDH/ardK5OvteHh5O+9aJ5gkfOZVfWCliW8BxFHPIaSYxQhizdtw5JGf+HrFuTtj/Ov8Xug/6sj8DgVjCdGHwzIwCn2ORMCqUPjbzZyaZfWPD/yYHBX2n3z8apC0rACXU2MrIPOVfOip3BL8EtE5j2oJ87plCIwcLTvDA+dnKeALC/EdU+hvQJJ7UGjmA/fRRXY62rnSd210VMk/WFkRkLAwhCl9GEmcW4Bg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR08MB5215.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(39860400002)(136003)(396003)(346002)(366004)(376002)(71200400001)(55016002)(316002)(478600001)(83380400001)(66946007)(76116006)(6506007)(53546011)(52536014)(186003)(4326008)(9686003)(122000001)(86362001)(33656002)(8676002)(64756008)(7696005)(66556008)(110136005)(5660300002)(66446008)(2906002)(54906003)(38070700005)(8936002)(38100700002)(66476007)(26005);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?c3pFNG1LTWdlZzZ3UmFWdnBnNnFBdG1MeWRjaHZnOGtHd2RRcUU4WkZKUUVh?=
 =?utf-8?B?b2NoZmdIWENDL2hDYWRDaVpkZWpwNS85L3I4RU1hdFgreW0wcmIvUXJ2U1Qv?=
 =?utf-8?B?SFVzRFRySDlRUGQvNW11U3lENlZvL2d2NUFwcW1yZkYya1hCVEVlcnVZUXZi?=
 =?utf-8?B?NzJNREJZOTk0RjBGYUFSaEVwU3IvM0QvUnAwQU9YeDZTUTgvS2RjS09pU0ZN?=
 =?utf-8?B?bG1WaHlBci95eENNN3hoM3ZBaUpSM1J1N0Mzb0FnTXlWdVErZXI3RmZpNmgv?=
 =?utf-8?B?RDJ2M0toQXRCYVZwVU1nYlJDRkpNc2xpdXQ3N0c4VjFVQ2Q3QnJydVg4MTZ1?=
 =?utf-8?B?ZzZJOGVVMFlORHZaR0RUUkJYdGczYmNZRU04WG92SkJabEJ6bFRvcy9MNU96?=
 =?utf-8?B?dE00NHhFK2dSWjhhcGliK2dOc1Y2ZEFHTmtoZGF1aTZ6MlhGRXdTMWY5akZl?=
 =?utf-8?B?M010NURlMUZ6RFlWWVVXUEV1MjgxMnFvSVRjMHV2bmdrcFQ4Y2VyN3pkeVN0?=
 =?utf-8?B?TDhPZlJWLzNCd2p4VXZXUU5UYkltRWlMNmxuL253dnZneTdpQUNMQy9ncmhn?=
 =?utf-8?B?SllKRDA5V3UvNHhNZWV0Nmlmak93U3N4RlN3cEpLUWhoenpEKzI4Q3lkRnJW?=
 =?utf-8?B?aW80Zzg1WVpmcVcyNkgxSG95aTZBbHBKSFljSE9vNDVxa2JnWkozK1ZmSzc2?=
 =?utf-8?B?OTBvU2RaeVg3ZDZaa2xCYzFRbTI5dUFJdEp3R21yam1uam9ZMThqa2ZiWHFD?=
 =?utf-8?B?dTVSQ0JTM3h6N011d3hmaVlGdjFYVGpvK3NKTXIvU01ub0hwdlJGbGd0dU9Q?=
 =?utf-8?B?WS9QWE1PMEljOFFxSUl1UUpvcHljRlZSVEErOGhjSjhadU5QOWlIY0czYkNL?=
 =?utf-8?B?T1JianBpZUdCeGZsZlg0dVE5dW1JRHpENjZKczI1QzFPZG5OemZWUTJRL0xp?=
 =?utf-8?B?b3ZEQ3BqbW1MV2hQTHUzWkNvQ0tmMjBvMHVrdHE5SmtyNXQ3SXQ1Zklhdlhl?=
 =?utf-8?B?ckNWU1VHT0R5VHIwejRPQVZ2aVNTbUszOWZpcFNkRlR3YXZkeHE1NmlXUTZv?=
 =?utf-8?B?ZjE0RFZ0VFV2WngrbmozSXNVWWcyN2ZoQUd4ZXk5TkJxc0RnRFAwVkswMnVI?=
 =?utf-8?B?UlFNa3NadFJEcUgrR1phZE14WlgvNjRsVVN2dDN5QmtqclBGV0NJZldGV01q?=
 =?utf-8?B?RDlRWGR1VTUwSy8rZ283M1hVYVMvWGlFakhHbm5XKzg3V1FJblFFMWUyci9u?=
 =?utf-8?B?cEpQclkwOUFlTGdSMi9mQVdWdkIzQWwzQlVtbkZuT05MWGNiTUZ3ckJMNGJO?=
 =?utf-8?B?eFd4d1JHUHM4YW1KT1N3cGNUdnAyQ0xmSVNXMmFYdWw0VWg5ZnYwT2xHZkV5?=
 =?utf-8?B?U21CZ0QzanJlUkx3OEJ1WVl1UHpXaWtmeTRXcllWS3B0eXpoMHZMR2NSMmtE?=
 =?utf-8?B?bjE0RWRkTm01UkQ3azhSQys1K1lVZUtDOVlpdXRLdGUwMDQwL2t2L01GOVNY?=
 =?utf-8?B?Y0JnZENHakRDRlIwTzExV3cxT2MyRXBSVTh1U0JabUIzTkU0NFRjSXpFQktl?=
 =?utf-8?B?cm40bEZLSGNiVDNBNXBhMW9BMy94S29TYitYYVNiRlU4VHJKTVkrTUNxeFpm?=
 =?utf-8?B?UnYvYlFlMGVtWnNzM25tU3c2OWMvMFRqTGgvaTRCOWhZYnR6UzhkWGRJL1BE?=
 =?utf-8?B?Z3A2ZjFOMk1WK0ZHamdobXFoZVVHcUFuQ2JwV0tjZjJzSCtDakREby9zT3dV?=
 =?utf-8?Q?/+WhDNmZ/0ybRXSlyhHu2SMwyK694O6Qr49BzOQ?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB4511
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT018.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	5df4618d-2636-403c-1f2d-08d96126aa24
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	GJ8LYfMhC1kSJ8jGxqTxr0BpJIZBwXIndmyHopmZFn4L+UEVCfqY+f1TDpgBjxSviPVwj4GvymysgflmU7tsZe8NXI6R1o9BmsnglrvGcCVIQ0ZhH43P7dfBPuVzWajTQs/1DqSdrXnY+8c5PuacxT5bZ3buYT0g7vezJ54wiQCKizzG+UdCzN0nxc9BkqH0tvlpkM0mGWlkFzkDpS5OrQSSxD+6WWRNSykScQfXpOoMAIoHme+qpvh85/o7NH+/WSY+eQKEXKyYo5xMXLgg6RzVIBYgIbgjx4aagJEwlOOsaA8maH6W1GRnA6XtT6oSpAUOm7jnIeEyS3q0LWmM+g+zjeekUzIhncYTVfNFBQPN0J5+5uJJI3ex0ajKXO9cjAr2eFl6sliW/y5nPIf/wOZDCt5+lJ6N3l3Hf1MhEcjM0LcfrF4L5Y+jQ9zDPTqsMTcGHNbD3/qDqiQnzhIgqxhohfYiIZBQ6iRUXjngLNqSU08i59Xs+RUJkf8XTsC4R7Et+qtBM05X9qlmUBaK9uHf1VqkeGr+e3isx0Tq5/N7BwaDgpP3SVLEoLGlIoXvTm29XgCN/1/41Rfhc13o45Yk0kZe2gt2KL/KMmxgHEe83Vtpz3Wm56CMsHzS25ICjcBYDVEmRgEUy0O3o4MrcE6kS5kT9H2VOeNejEc/zzZMnyTEdHgLUEKboYuyXVED9hJgN7CBiWN0IBp9pMekDg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(346002)(396003)(39860400002)(376002)(136003)(36840700001)(46966006)(33656002)(316002)(54906003)(9686003)(55016002)(4326008)(36860700001)(7696005)(47076005)(110136005)(70206006)(5660300002)(26005)(81166007)(356005)(83380400001)(82740400003)(6506007)(8676002)(478600001)(8936002)(52536014)(70586007)(2906002)(336012)(186003)(82310400003)(53546011)(86362001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 02:28:23.4958
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ddf25594-4996-4024-97f8-08d96126afcc
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT018.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0802MB2371

SGkgSnVsaWVuDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSnVsaWVu
IEdyYWxsIDxqdWxpZW5AeGVuLm9yZz4NCj4gU2VudDogVHVlc2RheSwgQXVndXN0IDE3LCAyMDIx
IDE6MjggQU0NCj4gVG86IFBlbm55IFpoZW5nIDxQZW5ueS5aaGVuZ0Bhcm0uY29tPjsgeGVuLWRl
dmVsQGxpc3RzLnhlbnByb2plY3Qub3JnOw0KPiBzc3RhYmVsbGluaUBrZXJuZWwub3JnDQo+IENj
OiBCZXJ0cmFuZCBNYXJxdWlzIDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+OyBXZWkgQ2hlbg0K
PiA8V2VpLkNoZW5AYXJtLmNvbT47IG5kIDxuZEBhcm0uY29tPg0KPiBTdWJqZWN0OiBSZTogW1BB
VENIIFY0IDAxLzEwXSB4ZW4vYXJtOiBpbnRyb2R1Y2UgZG9tYWluIG9uIFN0YXRpYyBBbGxvY2F0
aW9uDQo+IA0KPiANCj4gDQo+IE9uIDE2LzA4LzIwMjEgMDY6MjEsIFBlbm55IFpoZW5nIHdyb3Rl
Og0KPiA+IEhpIEp1bGllbg0KPiANCj4gSGkgUGVubnksDQo+IA0KPiA+PiAtLS0tLU9yaWdpbmFs
IE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBKdWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4ub3JnPg0K
PiA+PiBTZW50OiBXZWRuZXNkYXksIEF1Z3VzdCAxMSwgMjAyMSA5OjMyIFBNDQo+ID4+IFRvOiBQ
ZW5ueSBaaGVuZyA8UGVubnkuWmhlbmdAYXJtLmNvbT47DQo+ID4+IHhlbi1kZXZlbEBsaXN0cy54
ZW5wcm9qZWN0Lm9yZzsgc3N0YWJlbGxpbmlAa2VybmVsLm9yZw0KPiA+PiBDYzogQmVydHJhbmQg
TWFycXVpcyA8QmVydHJhbmQuTWFycXVpc0Bhcm0uY29tPjsgV2VpIENoZW4NCj4gPj4gPFdlaS5D
aGVuQGFybS5jb20+OyBuZCA8bmRAYXJtLmNvbT4NCj4gPj4gU3ViamVjdDogUmU6IFtQQVRDSCBW
NCAwMS8xMF0geGVuL2FybTogaW50cm9kdWNlIGRvbWFpbiBvbiBTdGF0aWMNCj4gPj4gQWxsb2Nh
dGlvbg0KPiA+Pg0KPiA+PiBIaSBQZW5ueSwNCj4gPj4NCj4gPj4gT24gMjgvMDcvMjAyMSAxMToy
NywgUGVubnkgWmhlbmcgd3JvdGU6DQo+ID4+PiBTdGF0aWMgQWxsb2NhdGlvbiByZWZlcnMgdG8g
c3lzdGVtIG9yIHN1Yi1zeXN0ZW0oZG9tYWlucykgZm9yIHdoaWNoDQo+ID4+PiBtZW1vcnkgYXJl
YXMgYXJlIHByZS1kZWZpbmVkIGJ5IGNvbmZpZ3VyYXRpb24gdXNpbmcgcGh5c2ljYWwgYWRkcmVz
cw0KPiA+PiByYW5nZXMuDQo+ID4+PiBUaG9zZSBwcmUtZGVmaW5lZCBtZW1vcnksIC0tIFN0YXRp
YyBNZW1vcnksIGFzIHBhcnRzIG9mIFJBTSByZXNlcnZlZA0KPiA+Pj4gaW4gdGhlIGJlZ2lubmlu
Zywgc2hhbGwgbmV2ZXIgZ28gdG8gaGVhcCBhbGxvY2F0b3Igb3IgYm9vdCBhbGxvY2F0b3INCj4g
Pj4+IGZvciBhbnkNCj4gPj4gdXNlLg0KPiA+Pj4NCj4gPj4+IERvbWFpbnMgb24gU3RhdGljIEFs
bG9jYXRpb24gaXMgc3VwcG9ydGVkIHRocm91Z2ggZGV2aWNlIHRyZWUNCj4gPj4+IHByb3BlcnR5
IGB4ZW4sc3RhdGljLW1lbWAgc3BlY2lmeWluZyByZXNlcnZlZCBSQU0gYmFua3MgYXMgdGhpcyBk
b21haW4ncw0KPiBndWVzdCBSQU0uDQo+ID4+PiBCeSBkZWZhdWx0LCB0aGV5IHNoYWxsIGJlIG1h
cHBlZCB0byB0aGUgZml4ZWQgZ3Vlc3QgUkFNIGFkZHJlc3MNCj4gPj4+IGBHVUVTVF9SQU0wX0JB
U0VgLCBgR1VFU1RfUkFNMV9CQVNFYC4NCj4gPj4+DQo+ID4+PiBUaGlzIHBhdGNoIGludHJvZHVj
ZXMgdGhpcyBuZXcgYHhlbixzdGF0aWMtbWVtYCBmZWF0dXJlLCBhbmQgYWxzbw0KPiA+Pj4gZG9j
dW1lbnRzIGFuZCBwYXJzZXMgdGhpcyBuZXcgYXR0cmlidXRlIGF0IGJvb3QgdGltZSBhbmQgc3Rv
cmVzDQo+ID4+PiByZWxhdGVkIGluZm8gaW4gc3RhdGljX21lbSBmb3IgbGF0ZXIgaW5pdGlhbGl6
YXRpb24uDQo+ID4+Pg0KPiA+Pj4gU2lnbmVkLW9mZi1ieTogUGVubnkgWmhlbmcgPHBlbm55Lnpo
ZW5nQGFybS5jb20+DQo+ID4+PiAtLS0NCj4gPj4+ICAgIGRvY3MvbWlzYy9hcm0vZGV2aWNlLXRy
ZWUvYm9vdGluZy50eHQgfCA0MCArKysrKysrKysrKysrKysrKysrKysNCj4gPj4+ICAgIHhlbi9h
cmNoL2FybS9ib290ZmR0LmMgICAgICAgICAgICAgICAgfCA1MSArKysrKysrKysrKysrKysrKysr
KysrKysrKysNCj4gPj4+ICAgIHhlbi9pbmNsdWRlL2FzbS1hcm0vc2V0dXAuaCAgICAgICAgICAg
fCAgMiArKw0KPiA+Pj4gICAgMyBmaWxlcyBjaGFuZ2VkLCA5MyBpbnNlcnRpb25zKCspDQo+ID4+
Pg0KPiA+Pj4gZGlmZiAtLWdpdCBhL2RvY3MvbWlzYy9hcm0vZGV2aWNlLXRyZWUvYm9vdGluZy50
eHQNCj4gPj4+IGIvZG9jcy9taXNjL2FybS9kZXZpY2UtdHJlZS9ib290aW5nLnR4dA0KPiA+Pj4g
aW5kZXggNTI0M2JjN2ZkMy4uMmExZGRjYTI5YiAxMDA2NDQNCj4gPj4+IC0tLSBhL2RvY3MvbWlz
Yy9hcm0vZGV2aWNlLXRyZWUvYm9vdGluZy50eHQNCj4gPj4+ICsrKyBiL2RvY3MvbWlzYy9hcm0v
ZGV2aWNlLXRyZWUvYm9vdGluZy50eHQNCj4gPj4+IEBAIC0yNjgsMyArMjY4LDQzIEBAIFRoZSBE
VEIgZnJhZ21lbnQgaXMgbG9hZGVkIGF0IDB4YzAwMDAwMCBpbiB0aGUNCj4gPj4gZXhhbXBsZSBh
Ym92ZS4gSXQgc2hvdWxkDQo+ID4+PiAgICBmb2xsb3cgdGhlIGNvbnZlbnRpb24gZXhwbGFpbmVk
IGluIGRvY3MvbWlzYy9hcm0vcGFzc3Rocm91Z2gudHh0LiBUaGUNCj4gPj4+ICAgIERUQiBmcmFn
bWVudCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBndWVzdCBkZXZpY2UgdHJlZSwgc28gdGhhdCB0aGUg
Z3Vlc3QNCj4gPj4+ICAgIGtlcm5lbCB3aWxsIGJlIGFibGUgdG8gZGlzY292ZXIgdGhlIGRldmlj
ZS4NCj4gPj4+ICsNCj4gPj4+ICsNCj4gPj4+ICtTdGF0aWMgQWxsb2NhdGlvbg0KPiA+Pj4gKz09
PT09PT09PT09PT0NCj4gPj4+ICsNCj4gPj4+ICtTdGF0aWMgQWxsb2NhdGlvbiByZWZlcnMgdG8g
c3lzdGVtIG9yIHN1Yi1zeXN0ZW0oZG9tYWlucykgZm9yIHdoaWNoDQo+ID4+PiArbWVtb3J5IGFy
ZWFzIGFyZSBwcmUtZGVmaW5lZCBieSBjb25maWd1cmF0aW9uIHVzaW5nIHBoeXNpY2FsDQo+ID4+
PiArYWRkcmVzcw0KPiA+PiByYW5nZXMuDQo+ID4+PiArVGhvc2UgcHJlLWRlZmluZWQgbWVtb3J5
LCAtLSBTdGF0aWMgTWVtb3J5LCBhcyBwYXJ0cyBvZiBSQU0NCj4gPj4+ICtyZXNlcnZlZCBpbiB0
aGUgYmVnaW5uaW5nLCBzaGFsbCBuZXZlciBnbyB0byBoZWFwIGFsbG9jYXRvciBvciBib290DQo+
ID4+PiArYWxsb2NhdG9yIGZvciBhbnkNCj4gPj4gdXNlLg0KPiA+Pg0KPiA+PiBJIGRvbid0IHVu
ZGVyc3RhbmQgImFzIHBhcnRzIG9mIFJBTSByZXNlcnZlZCBpbiB0aGUgYmVnaW5uaW5nIi4gQ291
bGQNCj4gPj4geW91IGNsYXJpZnkgaXQ/DQo+ID4+DQo+ID4NCj4gPiBJIG1lYW4sIHN0YXRpYyBt
ZW1vcnkgaXMgdmVyeSBhbGlrZSByZXNlcnZlZCBtZW1vcnksIHJlc2VydmVkIGR1cmluZw0KPiA+
IHN5c3RlbSBib290IHRpbWUsIG5vdCBkeW5hbWljYWxseSBhbGxvY2F0ZWQgYXQgcnVudGltZS4N
Cj4gDQo+IFRoYW5rcyBmb3IgdGhlIGNsYXJpZmljYXRpb24uIFRoZSBkb2N1bWVudGF0aW9uIGlz
IG1lYW50IHRvIGJlIGZvciB0aGUgdXNlcnMsIHNvDQo+IEkgd291bGQgc3VnZ2VzdCB0byBkcm9w
IHRoZSAiLS0gU3RhdGljIG1lbW9yeSwgYXMgcGFyc2Ugb2YgUkFNIHJlc2VydmVkIg0KPiBiZWNh
dXNlIGl0IGRvZXNuJ3QgYWRkIGFueSB2YWx1ZSB0byBrbm93IHdlIHRyZWF0IHRoZSBzdGF0aWMg
bWVtb3J5IGFuZA0KPiByZXNlcnZlZCBtZW1vcnkgdGhlIHNhbWUgd2F5Lg0KPiANCg0KR290IGl0
LiBUaHgNCg0KPiA+Pj4gKw0KPiA+Pj4gK1RoZSBkdGIgcHJvcGVydHkgc2hvdWxkIGxvb2sgbGlr
ZSBhcyBmb2xsb3dzOg0KPiA+Pg0KPiA+PiBEbyB5b3UgbWVhbiAibm9kZSIgcmF0aGVyIHRoYW4g
InByb3BlcnR5Ij8NCj4gPj4NCj4gPg0KPiA+IE9oLCBzdXJlLiBNYXliZSAiYXMgYW4gZXhhbXBs
ZSIgc2hhbGwgYmUgbW9yZSBjbGFyaWZpZWQuDQo+IA0KPiBJIHdvdWxkIHdyaXRlICJCZWxvdyBh
biBleGFtcGxlIG9uIGhvdyB0byBzcGVjaWZpYyB0aGUgc3RhdGljIG1lbW9yeSByZWdpb24NCj4g
aW4gdGhlIGRldmljZS10cmVlIi4NCj4gDQoNClRoYW5rcyBmb3IgdGhlIGV4YW1wbGUuIFdpbGwg
ZG8gDQoNCj4gPg0KPiA+Pj4gKyAgICAgICAgICAgICAgICBjb21wYXRpYmxlID0gInhlbixkb21h
aW4iOw0KPiA+Pj4gKyAgICAgICAgICAgICAgICAjYWRkcmVzcy1jZWxscyA9IDwweDI+Ow0KPiA+
Pj4gKyAgICAgICAgICAgICAgICAjc2l6ZS1jZWxscyA9IDwweDI+Ow0KPiA+Pj4gKyAgICAgICAg
ICAgICAgICBjcHVzID0gPDI+Ow0KPiA+Pj4gKyAgICAgICAgICAgICAgICAjeGVuLHN0YXRpYy1t
ZW0tYWRkcmVzcy1jZWxscyA9IDwweDE+Ow0KPiA+Pj4gKyAgICAgICAgICAgICAgICAjeGVuLHN0
YXRpYy1tZW0tc2l6ZS1jZWxscyA9IDwweDE+Ow0KPiA+Pj4gKyAgICAgICAgICAgICAgICB4ZW4s
c3RhdGljLW1lbSA9IDwweDMwMDAwMDAwIDB4MjAwMDAwMDA+Ow0KPiA+Pj4gKyAgICAgICAgICAg
ICAgICAuLi4NCj4gPj4+ICsgICAgICAgICAgICB9Ow0KPiA+Pj4gKyAgICAgICAgfTsNCj4gPj4+
ICsgICAgfTsNCj4gPj4+ICsNCj4gPj4+ICtEb21VMSB3aWxsIGhhdmUgYSBzdGF0aWMgbWVtb3J5
IG9mIDUxMk1CIHJlc2VydmVkIGZyb20gdGhlIHBoeXNpY2FsDQo+ID4+PiArYWRkcmVzcw0KPiA+
Pj4gKzB4MzAwMDAwMDAgdG8gMHg1MDAwMDAwMC4NCj4gPj4NCj4gPj4gSSB3b3VsZCB3cml0ZSAi
VGhpcyB3aWxsIHJlc2VydmUgYSA1MTJNQiByZWdpb24gc3RhcnRpbmcgYXQgdGhlIGhvc3QNCj4g
Pj4gcGh5c2ljYWwgYWRkcmVzcyAweDMwMDAwMDAwIHRvIGJlIGV4Y2x1c2l2ZWx5IHVzZWQgYnkg
RG9tVTEiLg0KPiA+Pg0KPiA+DQo+ID4gU3VyZSwgdGh4Lg0KPiA+DQo+ID4+PiBkaWZmIC0tZ2l0
IGEveGVuL2FyY2gvYXJtL2Jvb3RmZHQuYyBiL3hlbi9hcmNoL2FybS9ib290ZmR0LmMgaW5kZXgN
Cj4gPj4+IDQ3NmUzMmUwZjUuLmQyNzE0NDQ2ZTEgMTAwNjQ0DQo+ID4+PiAtLS0gYS94ZW4vYXJj
aC9hcm0vYm9vdGZkdC5jDQo+ID4+PiArKysgYi94ZW4vYXJjaC9hcm0vYm9vdGZkdC5jDQo+ID4+
PiBAQCAtMTkzLDYgKzE5Myw1NSBAQCBzdGF0aWMgaW50IF9faW5pdA0KPiA+PiBwcm9jZXNzX3Jl
c2VydmVkX21lbW9yeV9ub2RlKGNvbnN0IHZvaWQgKmZkdCwgaW50IG5vZGUsDQo+ID4+PiAgICAg
ICAgcmV0dXJuIDA7DQo+ID4+PiAgICB9DQo+ID4+Pg0KPiA+Pj4gK3N0YXRpYyBpbnQgX19pbml0
IHByb2Nlc3Nfc3RhdGljX21lbW9yeShjb25zdCB2b2lkICpmZHQsIGludCBub2RlLA0KPiA+Pj4g
K3ZvaWQgKmRhdGEpIHsNCj4gPj4NCj4gPj4gVGhpcyBpcyBwcmV0dHkgbXVjaCBhIGNvcHkgb2Yg
cHJvY2Vzc19tZW1vcnlfbm9kZSgpLiBTbyBjYW4gd2UgYXZvaWQNCj4gPj4gdGhlIGR1cGxpY2F0
aW9uPw0KPiA+Pg0KPiA+PiBJIHRoaW5rIEkgbWVudGlvbm5lZCBpdCBpbiB0aGUgcGFzdCBidXQg
SSBjYW4ndCBmaW5kIHRoZSBvdXRjb21lLg0KPiA+Pg0KPiA+Pj4gKyAgICBpbnQgaSA9IDAsIGJh
bmtzOw0KPiA+Pj4gKyAgICBjb25zdCBfX2JlMzIgKmNlbGw7DQo+ID4+PiArICAgIHBhZGRyX3Qg
c3RhcnQsIHNpemU7DQo+ID4+PiArICAgIHUzMiBhZGRyZXNzX2NlbGxzLCBzaXplX2NlbGxzLCBy
ZWdfY2VsbHM7DQo+ID4+PiArICAgIHN0cnVjdCBtZW1pbmZvICptZW0gPSBkYXRhOw0KPiA+Pj4g
KyAgICBjb25zdCBzdHJ1Y3QgZmR0X3Byb3BlcnR5ICpwcm9wOw0KPiA+Pj4gKw0KPiA+Pj4gKw0K
PiA+Pj4gKyAgICBhZGRyZXNzX2NlbGxzID0gZGV2aWNlX3RyZWVfZ2V0X3UzMihmZHQsIG5vZGUs
DQo+ID4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIjeGVuLHN0
YXRpYy1tZW0tYWRkcmVzcy1jZWxscyIsIDApOw0KPiA+Pj4gKyAgICBzaXplX2NlbGxzID0gZGV2
aWNlX3RyZWVfZ2V0X3UzMihmZHQsIG5vZGUsDQo+ID4+PiArICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICIjeGVuLHN0YXRpYy1tZW0tc2l6ZS1jZWxscyIsIDApOw0KPiA+Pj4g
KyAgICBpZiAoIChhZGRyZXNzX2NlbGxzID09IDApIHx8IChzaXplX2NlbGxzID09IDApICkNCj4g
Pj4+ICsgICAgew0KPiA+Pj4gKyAgICAgICAgIHByaW50aygiTWlzc2luZyBcIiN4ZW4sc3RhdGlj
LW1lbS1hZGRyZXNzLWNlbGxcIiBvciAiDQo+ID4+PiArICAgICAgICAgICAgICAgICAiXCIjeGVu
LHN0YXRpYy1tZW0tYWRkcmVzcy1jZWxsXCIuXG4iKTsNCj4gPj4+ICsgICAgICAgICByZXR1cm4g
LUVJTlZBTDsNCj4gPj4+ICsgICAgfQ0KPiA+Pj4gKyAgICByZWdfY2VsbHMgPSBhZGRyZXNzX2Nl
bGxzICsgc2l6ZV9jZWxsczsNCj4gPj4+ICsNCj4gPj4+ICsgICAgcHJvcCA9IGZkdF9nZXRfcHJv
cGVydHkoZmR0LCBub2RlLCAieGVuLHN0YXRpYy1tZW0iLCBOVUxMKTsNCj4gPj4+ICsgICAgLyoN
Cj4gPj4+ICsgICAgICogU3RhdGljIG1lbW9yeSBzaGFsbCBiZWxvbmcgdG8gYSBzcGVjaWZpYyBk
b21haW4sIHRoYXQgaXMsDQo+ID4+PiArICAgICAqIGl0cyBub2RlIGBkb21VeGAgaGFzIGNvbXBh
dGlibGUgc3RyaW5nICJ4ZW4sZG9tYWluIi4NCj4gPj4+ICsgICAgICovDQo+ID4+DQo+ID4+IFRo
aXMgY29kZSBpcyBqdXN0IGNoZWNraW5nIHRoZSBub2RlIGNvbXBhdGlibGUgaXMgInhlbixkb21h
aW4iLiBTbyBJDQo+ID4+IHdvdWxkIGRyb3AgdGhlICJkb21VeCIuIFRoaXMgaXMgYWxzby4uLg0K
PiA+Pg0KPiA+Pj4gKyAgICBpZiAoIGZkdF9ub2RlX2NoZWNrX2NvbXBhdGlibGUoZmR0LCBub2Rl
LCAieGVuLGRvbWFpbiIpICE9IDAgKQ0KPiA+Pj4gKyAgICB7DQo+ID4+PiArICAgICAgICBwcmlu
dGsoInhlbixzdGF0aWMtbWVtIHByb3BlcnR5IGNhbiBvbmx5IGJlIGxvY2F0ZWQgdW5kZXINCj4g
Pj4+ICsgL2RvbVV4IG5vZGUuXG4iKTsNCj4gPj4NCj4gPj4gLi4uIG5vdCBjb3JyZWN0Lg0KPiA+
Pg0KPiA+DQo+ID4gSSBjaGVja2VkIGl0IGhlcmUsIHRvIG1ha2Ugc3VyZSB0aGUgInhlbixzdGF0
aWMtbWVtIiBwcm9wZXJ0eSBtdXN0IGJlDQo+ID4gdXNlZCBpbiBhIGRvbWFpbiBub2RlLCBzaW5j
ZSBmb3Igbm93LCBzdGF0aWMgbWVtb3J5IGNvdWxkIGJlIG9ubHkNCj4gY29uZmlndXJlZCBhcyBn
dWVzdCBSQU0uDQo+ID4NCj4gPiBXaGljaCBwYXJ0IGRvIHlvdSB0aGluayBpdCBpcyBub3QgYXBw
cm9wcmlhdGUgaGVyZT8NCj4gDQo+IFlvdSB3cm90ZSAiLi4uIGNhbiBvbmx5IGJlIGxvY2F0ZWQg
dW5kZXIgL2RvbVV4Ii4gVGhhdCdzIG5vdCBjb3JyZWN0IGJlY2F1c2UNCj4gd2UgZG9uJ3QgZm9y
Y2UgKG9yIGV2ZW4gbWVudGlvbiB0bykgdGhlIHVzZXIgdG8gbmFtZSB0aGUgbm9kZSB0aGF0IHdh
eS4NCj4gDQo+IA0KPiA+DQo+ID4+PiArICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4gPj4+ICsg
ICAgfQ0KPiA+Pj4gKw0KPiA+Pj4gKyAgICBjZWxsID0gKGNvbnN0IF9fYmUzMiAqKXByb3AtPmRh
dGE7DQo+ID4+PiArICAgIGJhbmtzID0gZmR0MzJfdG9fY3B1KHByb3AtPmxlbikgLyAocmVnX2Nl
bGxzICogc2l6ZW9mICh1MzIpKTsNCj4gPj4+ICsNCj4gPj4+ICsgICAgZm9yICggOyBpIDwgYmFu
a3MgJiYgbWVtLT5ucl9iYW5rcyA8IE5SX01FTV9CQU5LUzsgaSsrICkNCj4gPj4+ICsgICAgew0K
PiA+Pj4gKyAgICAgICAgZGV2aWNlX3RyZWVfZ2V0X3JlZygmY2VsbCwgYWRkcmVzc19jZWxscywg
c2l6ZV9jZWxscywgJnN0YXJ0LCAmc2l6ZSk7DQo+ID4+PiArICAgICAgICBtZW0tPmJhbmtbbWVt
LT5ucl9iYW5rc10uc3RhcnQgPSBzdGFydDsNCj4gPj4+ICsgICAgICAgIG1lbS0+YmFua1ttZW0t
Pm5yX2JhbmtzXS5zaXplID0gc2l6ZTsNCj4gPj4+ICsgICAgICAgIG1lbS0+bnJfYmFua3MrKzsN
Cj4gPj4+ICsgICAgfQ0KPiA+Pj4gKw0KPiA+Pj4gKyAgICBpZiAoIGkgPCBiYW5rcyApDQo+ID4+
PiArICAgICAgICByZXR1cm4gLUVOT1NQQzsNCj4gPj4+ICsgICAgcmV0dXJuIDA7DQo+ID4+PiAr
fQ0KPiA+Pj4gKw0KPiA+Pj4gICAgc3RhdGljIGludCBfX2luaXQgcHJvY2Vzc19yZXNlcnZlZF9t
ZW1vcnkoY29uc3Qgdm9pZCAqZmR0LCBpbnQgbm9kZSwNCj4gPj4+ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKm5hbWUsIGludCBkZXB0aCwN
Cj4gPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHUzMiBh
ZGRyZXNzX2NlbGxzLCB1MzINCj4gPj4+IHNpemVfY2VsbHMpIEBAIC0zNDYsNiArMzk1LDggQEAg
c3RhdGljIGludCBfX2luaXQNCj4gPj4+IGVhcmx5X3NjYW5fbm9kZShjb25zdA0KPiA+PiB2b2lk
ICpmZHQsDQo+ID4+PiAgICAgICAgICAgIHByb2Nlc3NfbXVsdGlib290X25vZGUoZmR0LCBub2Rl
LCBuYW1lLCBhZGRyZXNzX2NlbGxzLCBzaXplX2NlbGxzKTsNCj4gPj4+ICAgICAgICBlbHNlIGlm
ICggZGVwdGggPT0gMSAmJiBkZXZpY2VfdHJlZV9ub2RlX21hdGNoZXMoZmR0LCBub2RlLA0KPiAi
Y2hvc2VuIikgKQ0KPiA+Pj4gICAgICAgICAgICBwcm9jZXNzX2Nob3Nlbl9ub2RlKGZkdCwgbm9k
ZSwgbmFtZSwgYWRkcmVzc19jZWxscywNCj4gPj4+IHNpemVfY2VsbHMpOw0KPiA+Pj4gKyAgICBl
bHNlIGlmICggZGVwdGggPT0gMiAmJiBmZHRfZ2V0X3Byb3BlcnR5KGZkdCwgbm9kZSwNCj4gPj4+
ICsgInhlbixzdGF0aWMtbWVtIiwgTlVMTCkgKQ0KPiA+Pg0KPiA+PiBIb3cgYWJvdXQgY2hlY2tp
bmcgdGhlIGNvbXBhdGlibGUgaW5zdGVhZD8NCj4gPj4NCj4gPg0KPiA+IGhtbSwgc2luY2UgaXQg
aXMgYSBwcm9wZXJ0eSwgbm90IGEgbm9kZS4gc28uLi4NCj4gUmlnaHQsIGJ1dCB5b3UgY291bGQg
d3JpdGU6DQo+IA0KPiBkZXZpY2VfdHJlZV9ub2RlX2NvbXBhdGlibGUoZmR0LCBub2RlLCAieGVu
LGRvbWFpbiIpDQo+IA0KPiBUaGlzIHdvdWxkIGJlIG1vcmUgY29ycmVjdCBiZWNhdXNlIHdlIGFy
ZSBpbnRlcmVzdGVkIGluIG5vZGUgdXNpbmcgdGhlIFhlbg0KPiBkb21haW4gYmluZGluZyB0aGF0
IGNvbnRhaW5zIHRoZSBwcm9wZXJ0eSAieGVuLHN0YXRpYy1tZW0iLg0KPiANCj4gQWxsIHRoZSBv
dGhlciBub2RlcyB3aXRoIHRoZSBwcm9wZXJ0eSAieGVuLHN0YXRpYy1tZW0iIHNob3VsZCBiZSBs
ZWZ0IGFsb25lDQo+IGJlY2F1c2UgaXQgbWF5IGhhdmUgYSBkaWZmZXJlbnQgbWVhbmluZy4NCj4g
DQoNClRydWUsIHRydWUuIFdpbGwgZG8NCg0KPiBDaGVlcnMsDQo+IA0KPiAtLQ0KPiBKdWxpZW4g
R3JhbGwNCg==


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 02:34:01 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 02:34:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167555.305869 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFovN-0006gN-23; Tue, 17 Aug 2021 02:33:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167555.305869; Tue, 17 Aug 2021 02: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 1mFovM-0006gG-VL; Tue, 17 Aug 2021 02:33:56 +0000
Received: by outflank-mailman (input) for mailman id 167555;
 Tue, 17 Aug 2021 02:33:55 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=t5rO=NI=arm.com=Penny.Zheng@srs-us1.protection.inumbo.net>)
 id 1mFovL-0006gA-Gm
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 02:33:55 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com (unknown
 [40.107.6.44]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ba043d78-54a7-458a-936a-9d40ae40ac44;
 Tue, 17 Aug 2021 02:33:53 +0000 (UTC)
Received: from DU2PR04CA0195.eurprd04.prod.outlook.com (2603:10a6:10:28d::20)
 by VE1PR08MB5150.eurprd08.prod.outlook.com (2603:10a6:803:10a::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Tue, 17 Aug
 2021 02:33:51 +0000
Received: from DB5EUR03FT003.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:28d:cafe::4a) by DU2PR04CA0195.outlook.office365.com
 (2603:10a6:10:28d::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16 via Frontend
 Transport; Tue, 17 Aug 2021 02:33:50 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT003.mail.protection.outlook.com (10.152.20.157) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Tue, 17 Aug 2021 02:33:50 +0000
Received: ("Tessian outbound 56612e04f172:v103");
 Tue, 17 Aug 2021 02:33:50 +0000
Received: from cf18db0b0abb.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 7B7F58C2-CD08-4D24-9C36-EEBB923F99D4.1; 
 Tue, 17 Aug 2021 02:33:45 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id cf18db0b0abb.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 17 Aug 2021 02:33:45 +0000
Received: from VE1PR08MB5215.eurprd08.prod.outlook.com (2603:10a6:803:10a::33)
 by VI1PR08MB4511.eurprd08.prod.outlook.com (2603:10a6:803:f9::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13; Tue, 17 Aug
 2021 02:33:44 +0000
Received: from VE1PR08MB5215.eurprd08.prod.outlook.com
 ([fe80::adf8:8d6f:2a30:b60c]) by VE1PR08MB5215.eurprd08.prod.outlook.com
 ([fe80::adf8:8d6f:2a30:b60c%5]) with mapi id 15.20.4415.022; Tue, 17 Aug 2021
 02: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: ba043d78-54a7-458a-936a-9d40ae40ac44
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Vfo4ttKatBF8pMiVUpXM0i1hCTmwi72HRhJO+a0gxGc=;
 b=bqA56BvK/p7whPyaWzwseNrK7KYuuwmY0COmWppyjCUoQJNNjy3558R+egPLNZQ9b5KulYDytkPhqz1MXbmKSBRi13PkmBOGvoQsjehtu10DgXoJ5F97sKc0Knq8JcwsQtGBskSIkD8cwEQmCP/9YE5WE8RN6aZWQApKdCRvs6Q=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MvSg1g8QukRcoJgvjXNwJNfGY1SxZ5K0aqz4uqODQHbXF4AZVf7OCQdrFSESHXPGyh4ZCcrNyX80nUCnfjb2HJ3XDqXx57QAX7mt9Dx7CTtM0on2JEscOEYAVq84MX4xCKPfRGgvTOWIKBXLCTo8eFwEAS2hACXOd9k9eFzP4cmPVk4fXJ3BafRdip2r3DxcPRmN2IfuBSK30W3kPzO+k/3QaDz+wZ+K+dBsYFoojyyCEKeZU3p+aaD2qyq+wSN1h84iOQqH9BwlvcrcftD95NjH5fnHAY6NXZ+ZkiJfcKXrD3i+QMuT1imOz/xArYPF28QIl5cA7XHIYzC8NWzTXw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Vfo4ttKatBF8pMiVUpXM0i1hCTmwi72HRhJO+a0gxGc=;
 b=O76hXoAIme6mCFe76sv98vdPhPNQfcwACN/GvIwEy+939IFYwyNmW2fwmZe+1YqCiXQjDCpUT86S8jn+mr6iYoW664BfbmcChiUKKsjgyVNLHrxs0UDQKPlf/yHN8z2glz0DY5Cbn+dG93/JIiQUure5Tcdi9egitdpIbrpishU+vmPhaQX+3wj72Qb2LQyks4cr9YtWq6wOWUAKhT1QNIJ9sezKx2e/CUYtuzK0EvWrJHWMwwITevMB1Bh63egdzfZmS25xJQ3kmGCqvWUvrTfTUGljpMHfDVFs1cl/I+ZqVRcUTS2cx4VLVmxQwwKwuPKJnC/qHtQlLBgoxVH3fw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Vfo4ttKatBF8pMiVUpXM0i1hCTmwi72HRhJO+a0gxGc=;
 b=bqA56BvK/p7whPyaWzwseNrK7KYuuwmY0COmWppyjCUoQJNNjy3558R+egPLNZQ9b5KulYDytkPhqz1MXbmKSBRi13PkmBOGvoQsjehtu10DgXoJ5F97sKc0Knq8JcwsQtGBskSIkD8cwEQmCP/9YE5WE8RN6aZWQApKdCRvs6Q=
From: Penny Zheng <Penny.Zheng@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
	nd <nd@arm.com>
Subject: RE: [PATCH V4 08/10] xen/arm: introduce acquire_staticmem_pages and
 acquire_domstatic_pages
Thread-Topic: [PATCH V4 08/10] xen/arm: introduce acquire_staticmem_pages and
 acquire_domstatic_pages
Thread-Index: AQHXg5tbU50GA1cFbUmCTz4Yb/U8oatxfxqAgARG2HCAAL9iAIAAk6UA
Date: Tue, 17 Aug 2021 02:33:43 +0000
Message-ID:
 <VE1PR08MB5215E58AF3FE590068F9D0ADF7FE9@VE1PR08MB5215.eurprd08.prod.outlook.com>
References: <20210728102758.3269446-1-penny.zheng@arm.com>
 <20210728102758.3269446-9-penny.zheng@arm.com>
 <611fc504-c866-647e-01f3-0614238c3aca@xen.org>
 <VE1PR08MB5215022EC0300A85B0017EEFF7FD9@VE1PR08MB5215.eurprd08.prod.outlook.com>
 <481f4d7d-2ca6-e338-3b62-af86bd419b82@xen.org>
In-Reply-To: <481f4d7d-2ca6-e338-3b62-af86bd419b82@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: AF622BD1AC7D504CB782F078D660D191.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: ce2508b4-7df4-4e25-8e66-08d9612772c1
x-ms-traffictypediagnostic: VI1PR08MB4511:|VE1PR08MB5150:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<VE1PR08MB5150EC27FC307E54E249971CF7FE9@VE1PR08MB5150.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:5797;OLM:5797;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 l6epfWpG34qMmxcaCbN9aUJDm3Vmb7PCtQPdjf5AxfFKbASQxsAe6POz+50MZFhc/BVkrWGR4nN25Wyvr+KxjwfN8Si3KlfCxCkpLCmPXugRAnyvUQIowGFvvcN3kQCVGDlgct4H3FelqXT1WG+y7L/xPAnA3/m3HMsm630ItU6X26092mLaRU6hhpeG99s+r/IYP9ONcv10Xk2oS7NPT4GzLxbVJkVirhPSyCehVUc1VnoPfb/cSb0c53Fc3chSqodr4mTBi1ErQKpJmwJ3/GvZz8oCSlV0i7PLHbcKBrpDhT55GIZh0sApfKb0q8YJiZQWEjGTgq2pRAmxjd0G8aspdgf2pFNdbcdrEqr6qZ5wE02wPGyQ08fBzQDk05glRhSbQeIqLD2fI102i+KO7ADIstb0IzCFpxLxSuJxGjDAT/DTp5FklZW0JXgo9mwdAR+cXnWUAhXx/aVNu71ItGAW7uwR0p/KLB4IHtAIh0QXqYkfyThaErNn4fhAOQ4rNmA+KvW1JCh6z4OufCuwCHhfhTV99y6+zCSzWPR+m81iUO7Rj40idylZ/tCMI7TEGFztrMaR9i+WsS/ESanPbVXRsvYxbpOinA4UKjXOGrFDHSGXDQn4rWKS4g6kGh+I3RxkIAZwRFPwudKn68ntwKgRlZoE7BSqytxFYOsDczssp43nzgcVJHgRGPXNxbUq5kjfeLxSmoTJRWf5WDgb2g==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR08MB5215.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(376002)(366004)(346002)(396003)(136003)(39860400002)(7696005)(66556008)(110136005)(5660300002)(8676002)(64756008)(186003)(4326008)(9686003)(122000001)(86362001)(33656002)(8936002)(38100700002)(26005)(66476007)(2906002)(66446008)(38070700005)(54906003)(76116006)(55016002)(316002)(478600001)(71200400001)(6506007)(52536014)(53546011)(66946007)(83380400001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?WXc3VktBOGhsQUVwZ2lzM3JTeWsvaDBhaGV2M01LdjFQaStxSmNNS3Z2MnVM?=
 =?utf-8?B?YW01WnhVS3JoQkRFTjJmckFLNGZqaWdIWlpvY3dLZVEwZjVudXE1cXpUSFBi?=
 =?utf-8?B?ZDVyZ2poazQydHFNVFdwdm9FcUZzbDlVNUU2RVFwUlQ4MFB4YTV1ckxKNm5P?=
 =?utf-8?B?QUsvNDAxUVRvS1BYMi82UmF6NFRQSVVwdEFGNTl1L3dZcnVNcmRxNlhCcHk5?=
 =?utf-8?B?dWZFc1BqZURnTDhJWTNYNCtGQzVxSUErNFo0Y3dXcHc5NzJWUjVEZ1R6M3oy?=
 =?utf-8?B?M0JNUlRNTnVxWmVQT2h5eHhRaEFVNXJlWnNZWGNQWW1YRFVRTW9MMmUxVkVX?=
 =?utf-8?B?OXNyb25GODBzOXBGZVNYY0xEcEViOUlNRWhGbTluSFZBSXRRaXpDNnlSSzFr?=
 =?utf-8?B?TzVMaHRrRnZodVJKY3JYeUFTTVFJcTBpM283WGZxbWlXd3pldUs1cVp1UWcx?=
 =?utf-8?B?a2RLZ3dKMHBZWTZHRFcveVAzdCtwOUMyZDBTallRWEtNT1llS0h2UjRrUWtE?=
 =?utf-8?B?MzBsV2haV3BmQUp0N3lid3ZyWFlnem96QmcwWGlBRGtpWm9iQWZJSDdFRVhi?=
 =?utf-8?B?VHo5elNES1BGNjdpaTlKdG55MkpvOTNJU0FkNm54b1BOZEdHNUF6eERnWXVZ?=
 =?utf-8?B?Zlg4ZWVKYmZ4UWN6WGU5UEU4S205VEZsL29TcmNPdTZDRS9yQVdORVFJQk5k?=
 =?utf-8?B?WVg3bDJZRGplQnZhcm4yL1ByOHBJNXRXdUsvVm9oQjhNT2wxdGF4SkZHSnBB?=
 =?utf-8?B?b2FrdkFJTnlaWmVlNFNPWXR4NXVzRWpMK2xIMHk2a25ueThTSEVrMkdlQmxS?=
 =?utf-8?B?akZSQWdoR3JpSVFnTWpPQ0V3cXprZFJ5ZXJXLzdZZVMrWlhic3VBZllHc2dW?=
 =?utf-8?B?TFVkMEZwR2NvVmxKWHRFa2V1K0REN2VWQ1R5YVF1L0lqekdPc3NESkFYcjM0?=
 =?utf-8?B?dEVuczJ2aDByYS9sTE9veVY0ZG9SYW1mTzk2YWpUb0lqNWUybGJXZld6SGJB?=
 =?utf-8?B?SkcrUktBZGIzRTlMWnRyTnpzejA4dWZCTGZxb0pOS3p0TTZxTDNydGRQTElP?=
 =?utf-8?B?ZENIQm1UUG9iUCtJVzVEd1Q1aHVhdzJzNXVCbG5Zb21CalRvR0tCbHBmdnY1?=
 =?utf-8?B?N1JlWkpKY2RtRTBlZExPWXp4V0dxRFdWM1E2Vy8vRXNaeGVPTHhVUmx3dE15?=
 =?utf-8?B?WGZ4VEkwYTlZSXhjNU13MklnUnQ3aTAyN0tUdHYrcTBMUksxSDRtT0N1SnJu?=
 =?utf-8?B?Mk1kM295RE1tOW1ndmRzNGU5T2hxRmYzMW9lQUYrcDAvK1lJTFpIbVAzTEI0?=
 =?utf-8?B?Y1d3WktoSHBlM0t0a3oreUdHUFFFY3Y5L053dk9Tb0Y1ODE0Qko0OFhMWE5H?=
 =?utf-8?B?eG5nQU95aE1hdmZQZEkrbWc3YmNST3ZKSjNCR25DNG1qRGlTSnlTZVZ6bStT?=
 =?utf-8?B?NEZUanJ6NUdVcnU2TVdJSzlsSDVxNG1WZXJZTEE2V0FwdGtlays1aXl6Rkp3?=
 =?utf-8?B?WFhudm5CMktkTjMwUW9DN1JhQWdvRi9oK3RlaHVyWDNKUzBwQTlrZ1l0c0Nx?=
 =?utf-8?B?M09nV0Z1UDI2UzlvZGhYOG5nWEhQSEZ3OVhyM3BhMy9LVHFFcmgxN3VINWp1?=
 =?utf-8?B?NWNFR0tIK3RnRW5RR0hpaGJrN1R0ZEdvcjFocFlKaUZjYlZtNTEwVk02YlE0?=
 =?utf-8?B?OVZhNk96KzA5eXFMYW9SdGxYR3pCd0NVckJZZURpTzIrbGZKZ2V3TUdmalV5?=
 =?utf-8?Q?DJ8/nlFpa8NX60rPVz4m5ZpeYO74GlF4Tx3VPf3?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB4511
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT003.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	c2074ce8-c48e-4c54-c7b4-08d961276ece
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	YUW1K8J+tDLRtr9vo6R0wy/2zLacLPG7l8KKRqb1P1pwHRWl/0kOhJYXP1A1sWZb1vtVXuBXqXDz3Qmv4oPfbtjbeL6x6NILUlKgy6w4Erf53n/xsbpW2U5PBUP7K5tEttRVPMv49raRtG3Jdt84VAREXUvSWwVtSjvVSM5nICFvTkaembIWmwbUh6aF20dDSPhelvP6ts6OOW3NUui9+6dPs7L8drKTqVfdWYkIU0oqj7bSq5sFdHuHH3uVDP/IbWzDUGgFbn50EvsY7zDusMfMKTWmYkgoLg/VH8UJZZXLdsXKm81DlN6Okn+v4ll65fDVxL3f9EOQcAJA7hSQ5iaFQhrf3FC17lAptowtjinqNxKk0kmv9P6r6hTYegXB/aBxVlSy/noD08L5z9Mc95YitAY5/bDvsVVQqk657rszE5+FW+/Sx7lEYjiKSGk9u/nrkDdw1Dz2uvuCfU1pFtyudXQMLUjcdF38ICbZMd8zVs4IpLAzrfzxEPfAv13arJ9adezSvabsURw0i2w9M/S3HFhTVEHGPQgOFdr6mIVNa7RzKZcCFZAFsnxg4sQDtwR46wrEhMSsyrmquOWIsA4XeSGdSmo7/y1NcPjlWCAKvl/xDoFuT3kJvMRc9z+tSLqFHH9IFqO++GK30fp+Wni63ecbDrNOXn3XXle1+EEABhb+GonbP353rV9XG8kc
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(136003)(396003)(39860400002)(376002)(346002)(36840700001)(46966006)(47076005)(86362001)(9686003)(82310400003)(33656002)(8936002)(8676002)(83380400001)(55016002)(336012)(478600001)(2906002)(36860700001)(316002)(7696005)(26005)(186003)(110136005)(54906003)(53546011)(5660300002)(52536014)(70586007)(6506007)(356005)(70206006)(81166007)(4326008)(82740400003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 02:33:50.6482
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ce2508b4-7df4-4e25-8e66-08d9612772c1
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT003.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5150

DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSnVsaWVuIEdyYWxsIDxq
dWxpZW5AeGVuLm9yZz4NCj4gU2VudDogVHVlc2RheSwgQXVndXN0IDE3LCAyMDIxIDE6NDQgQU0N
Cj4gVG86IFBlbm55IFpoZW5nIDxQZW5ueS5aaGVuZ0Bhcm0uY29tPjsgeGVuLWRldmVsQGxpc3Rz
LnhlbnByb2plY3Qub3JnOw0KPiBzc3RhYmVsbGluaUBrZXJuZWwub3JnDQo+IENjOiBCZXJ0cmFu
ZCBNYXJxdWlzIDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+OyBXZWkgQ2hlbg0KPiA8V2VpLkNo
ZW5AYXJtLmNvbT47IG5kIDxuZEBhcm0uY29tPg0KPiBTdWJqZWN0OiBSZTogW1BBVENIIFY0IDA4
LzEwXSB4ZW4vYXJtOiBpbnRyb2R1Y2UgYWNxdWlyZV9zdGF0aWNtZW1fcGFnZXMNCj4gYW5kIGFj
cXVpcmVfZG9tc3RhdGljX3BhZ2VzDQo+IA0KPiANCj4gDQo+IE9uIDE2LzA4LzIwMjEgMDc6NDMs
IFBlbm55IFpoZW5nIHdyb3RlOg0KPiA+IEhpIEp1bGllbiwNCj4gDQo+IEhpLA0KPiANCj4gPj4+
ICt7DQo+ID4+PiArICAgIGJvb2wgbmVlZF90bGJmbHVzaCA9IGZhbHNlOw0KPiA+Pj4gKyAgICB1
aW50MzJfdCB0bGJmbHVzaF90aW1lc3RhbXAgPSAwOw0KPiA+Pj4gKyAgICB1bnNpZ25lZCBsb25n
IGk7DQo+ID4+PiArICAgIHN0cnVjdCBwYWdlX2luZm8gKnBnOw0KPiA+Pj4gKw0KPiA+Pj4gKyAg
ICAvKiBGb3Igbm93LCBpdCBvbmx5IHN1cHBvcnRzIHByZS1jb25maWd1cmVkIHN0YXRpYyBtZW1v
cnkuICovDQo+ID4+DQo+ID4+IFRoaXMgY29tbWVudCBkb2Vzbid0IHNlZW0gdG8gbWF0Y2ggdGhl
IGNoZWNrIGJlbG93Lg0KPiA+Pg0KPiA+Pj4gKyAgICBpZiAoICFtZm5fdmFsaWQoc21mbikgfHwg
IW5yX21mbnMgKQ0KPiA+Pg0KPiA+PiBUaGlzIGNoZWNrIG9ubHkgZ3VhcmFudGVlcyB0aGF0IHRo
ZXJlIHdpbGwgYmUgYSBwYWdlIGZvciB0aGUgZmlyc3QgTUZOLg0KPiA+PiBTaG91bGRuJ3Qgd2Ug
YWxzbyBjaGVjayBmb3IgdGhlIG90aGVyIE1GTnM/DQo+ID4+DQo+ID4NCj4gPiBIbW0sIERvIHlv
dSB0aGluayB0aGF0IGl0IHNob3VsZCBiZSBhbGwgY2hlY2tlZCwgdGhlIHdob2xlIHJhbmdlLCBb
c21mbiwNCj4gc21mbiArIG5yX21mbnMpLg0KPiA+IFNpbmNlIGl0IGlzIGluIGxpbmVhciBncm93
dGgsIG1heWJlIGFkZGluZyBhbm90aGVyIGNoZWNrIG9mICIhbWZuX3ZhbGlkKHNtZm4NCj4gKyBu
cl9tZm5zIC0gMSkiDQo+ID4gaXMgZW5vdWdoPw0KPiANCj4gVGhlIG9ubHkgcmVxdWlyZW1lbnQg
Zm9yIFhlbiBpcyB0byBwcm92aWRlIGEgdmFsaWQgc3RydWN0IHBhZ2UgZm9yIGVhY2ggUkFNDQo+
IHBhZ2UuIFNvIGNoZWNraW5nIHRoZSBmaXJzdCBhbmQgZW5kIHBhZ2UgbWF5IG5vdCBiZSBzdWZm
aWNpZW50IGlmIHRoZXJlIGlzIGEgaG9sZQ0KPiBpbiB0aGUgbWlkZGxlLg0KPiANCj4gTXkgcG9p
bnQgaGVyZSBpcyBlaXRoZXI6DQo+ICAgIC0gd2UgdHJ1c3QgdGhlIGNhbGxlcnMgc28gd2UgcmVt
b3ZlIHRoZSBtZm5fdmFsaWQoKSBjaGVjaw0KPiAgICAtIHdlIGRvbid0IHRydXN0IHRoZSBjYWxs
ZXJzIHNvIHdlIGNoZWNrIHRoZSBNRk4gaXMgdmFsaWQgZm9yIGV2ZXJ5IHBhZ2UNCj4gDQo+IE15
IHByZWZlcmVuY2UgaXMgdGhlIGxhdHRlciwgdGhlIG1vcmUgaWYgd2UgcGxhbiB0byB1cyB0aGUg
aGVscGVyIGFmdGVyIGJvb3QgaW4NCj4gdGhlIGZ1dHVyZS4gQW4gcG9zc2libGUgY29tcHJvbWlz
ZSBpcyB0byBhZGQgYSBjb21tZW50IHRoYXQgdGhpcyBmdW5jdGlvbg0KPiBuZWVkcyB0byBiZSBy
ZXdvcmtlZCBpZiB1c2VkIG91dHNpZGUgb2YgYm9vdC4NCj4gDQoNCk9rLiBJJ2xsIGRvIHRoZSB3
aG9sZSByYW5nZSBjaGVjayBhbmQgYWRkIHRoZSBjb21tZW50cy4NCg0KPiBDaGVlcnMsDQo+IA0K
PiANCj4gLS0NCj4gSnVsaWVuIEdyYWxsDQo=


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 02:36:24 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 02:36:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167562.305880 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFoxj-0007Mg-K8; Tue, 17 Aug 2021 02:36:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167562.305880; Tue, 17 Aug 2021 02:36: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 1mFoxj-0007MZ-Gj; Tue, 17 Aug 2021 02:36:23 +0000
Received: by outflank-mailman (input) for mailman id 167562;
 Tue, 17 Aug 2021 02:36:22 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=t5rO=NI=arm.com=Penny.Zheng@srs-us1.protection.inumbo.net>)
 id 1mFoxi-0007MQ-Cs
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 02:36:22 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com (unknown
 [40.107.20.52]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id e7c000c6-ff03-11eb-a485-12813bfff9fa;
 Tue, 17 Aug 2021 02:36:20 +0000 (UTC)
Received: from AM6P194CA0064.EURP194.PROD.OUTLOOK.COM (2603:10a6:209:84::41)
 by HE1PR08MB2891.eurprd08.prod.outlook.com (2603:10a6:7:2b::24) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.22; Tue, 17 Aug
 2021 02:36:17 +0000
Received: from VE1EUR03FT017.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:84:cafe::1c) by AM6P194CA0064.outlook.office365.com
 (2603:10a6:209:84::41) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13 via Frontend
 Transport; Tue, 17 Aug 2021 02:36:17 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT017.mail.protection.outlook.com (10.152.18.90) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Tue, 17 Aug 2021 02:36:17 +0000
Received: ("Tessian outbound 56612e04f172:v103");
 Tue, 17 Aug 2021 02:36:16 +0000
Received: from b7828649fc44.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 23659066-E945-4B64-B9EA-74C39AB5D972.1; 
 Tue, 17 Aug 2021 02:36:10 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b7828649fc44.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 17 Aug 2021 02:36:10 +0000
Received: from VE1PR08MB5215.eurprd08.prod.outlook.com (2603:10a6:803:10a::33)
 by VI1PR08MB4511.eurprd08.prod.outlook.com (2603:10a6:803:f9::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13; Tue, 17 Aug
 2021 02:36:09 +0000
Received: from VE1PR08MB5215.eurprd08.prod.outlook.com
 ([fe80::adf8:8d6f:2a30:b60c]) by VE1PR08MB5215.eurprd08.prod.outlook.com
 ([fe80::adf8:8d6f:2a30:b60c%5]) with mapi id 15.20.4415.022; Tue, 17 Aug 2021
 02:36: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: e7c000c6-ff03-11eb-a485-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ao8tY2uYVPOyB3GRe+jgp5JI2yFOB+llMESktlBYimc=;
 b=qYBmdJIsYJ6j4utDg4O6TCSs423tyuo/VmUExZTKzMpizbc74iUY456c7Tp6Ll3dIwruRty8qbMkarK7T+t9oHNAalgROrWn0Gec8b5xK6VKaEzszm+aG0VwMrty9bPm/KD+aothnZMx85zeMihUJlvwuANeSz0j0zQSs3lu+Do=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kL3ZYxyq/S0tsI4NZ+kM6Ndc84R6gHHFPoJcZ3WtMbP0f2zWjSG0GpahD10KLwEdZl0fKPugiXNiSBi1pQK5ksPNnHDMNA+ctQwJOpc1g0cVocFwHntAi+54oDkMe5kkW78mrRlhotJs6uds64o9/d5J6Jhx7ZfDgu7a3cSGkyiklkq9ce8diyF68cWqKLRUlhR+mxAvfqC8zYqQA7KTH5ilzf5NdMoqs+KiIRxG19gc8ubZwTwoWK2N7GeXJq5t96bDilwDaXoAekQfk1grx7R3KN7xPtL8CvHBXgYhXu5atds0dNbucCG1DG04xhGIS/dvuhK4l8LtQjzHqGKa0g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ao8tY2uYVPOyB3GRe+jgp5JI2yFOB+llMESktlBYimc=;
 b=fP54ShHFcMxn7/U6lnMuRr1FR0hCetAYZMxeqYQrwr9MEGGfvpcgZuts6+E5W/yYu1otpjbxssYDlyA0KZ0E26ghleK8ARrs8/INh662+zOpsh1nhp6RcbT780wKAgRaaAVw72MuoPKDmMWhEOjP3Wg7jzR9H1H8m/nMHvGBM+IMTyaYvoO/ApWSs6SP4tyNAaBV5N0DW168/xzmlPmnXUFDYkJMdKLjhKQpCRKtPdsDZfALLBT7OV/x7p9S1cg+bOwbfd1UwVbyz3DL99v5IcGTGyEEmkVhcTUIInj2132PihdS7hUJkPCqxgSujo3GgbrB3zSHYEf/YOivkqAE6A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ao8tY2uYVPOyB3GRe+jgp5JI2yFOB+llMESktlBYimc=;
 b=qYBmdJIsYJ6j4utDg4O6TCSs423tyuo/VmUExZTKzMpizbc74iUY456c7Tp6Ll3dIwruRty8qbMkarK7T+t9oHNAalgROrWn0Gec8b5xK6VKaEzszm+aG0VwMrty9bPm/KD+aothnZMx85zeMihUJlvwuANeSz0j0zQSs3lu+Do=
From: Penny Zheng <Penny.Zheng@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
	nd <nd@arm.com>
Subject: RE: [PATCH V4 10/10] xen/arm: introduce allocate_static_memory
Thread-Topic: [PATCH V4 10/10] xen/arm: introduce allocate_static_memory
Thread-Index: AQHXg5tmckYE8huhnkmylKsegZp2dKtxiU+AgARGWQCAALjdgIAAkPyA
Date: Tue, 17 Aug 2021 02:36:08 +0000
Message-ID:
 <VE1PR08MB521514132EE85568ECB8C34BF7FE9@VE1PR08MB5215.eurprd08.prod.outlook.com>
References: <20210728102758.3269446-1-penny.zheng@arm.com>
 <20210728102758.3269446-11-penny.zheng@arm.com>
 <11d38943-444d-80d1-5fd5-98cbc24e6b7e@xen.org>
 <VE1PR08MB52155AED4031436410203304F7FD9@VE1PR08MB5215.eurprd08.prod.outlook.com>
 <dbed44c8-13c9-6f2e-1f18-44eb3f74c67f@xen.org>
In-Reply-To: <dbed44c8-13c9-6f2e-1f18-44eb3f74c67f@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: A8D355EBCA3A1141940E60DE8AD9CFDF.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 9f4b97e0-74d3-49e8-9b71-08d96127ca18
x-ms-traffictypediagnostic: VI1PR08MB4511:|HE1PR08MB2891:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<HE1PR08MB2891BBFD1A10CCBA46B16C0DF7FE9@HE1PR08MB2891.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:6108;OLM:6108;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 v3Wgt1VmjPxKy0jB7v67MTL0KbbZinI6Pb/LlviG25ApFt7/6ozzBLWafxOd8vw6gKRPObgORqOJUFx4O+vb50qX37NceSTndo/bq6Skt8rXDY1ekXsOodFqgbtC+lRggad/6vYNzsV2qdxFCVsWoLNUKqQvE7ZKHskFkKtD4iTnXT9H0R3D/M7KQx+PpbaWIjeTFE4htm1+HKJc49Y6nNbHoglRgdBpdam20//nFW+MbTtuC7QeNLluz14p8TMx34+zEZhHfQOFDfrsxilMUa9eZKj6lBD67PKz9wWyK6QnEyEtWfkGoufqlO362orw90wQC+O93P9jnPiffYTNqUmofQRgub1YNOtAkze13D1doVjx1DRTxCArNQfoqy/KDHxdzC0mGUW18xS4Q0jztB5RK9rDoW8vddzRFdGpVvbmTP45Q2ZG55hseGxwXIKmiDlE7ZdZgmDPJtjLSVcI9M5SYt/7NG9PcCK6FLdqRkpT9rrx7S1GsG9u0bWWDIC2cGbkZi14zGowluceEVRTL2keWBoq6TexzUPhCrgPO9Z49BQ79Kuw4vXBWlJP8UqEwJDAuEC8euQERN5QB0pUMNV9QZVCqtslR8ZpSBpXuYKiVRq4n6LRUpkvq+Jb7YWnV13lOrsgBWkwMgS6qNJAZ8YkU4C3OkqMXUAO0ZPznheJkudABCbyJjMnnPPsmztlLNweDDMW0kHg3Eq5Tq0qFA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR08MB5215.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(376002)(366004)(346002)(396003)(136003)(39860400002)(7696005)(66556008)(110136005)(5660300002)(8676002)(64756008)(186003)(4326008)(9686003)(122000001)(86362001)(33656002)(8936002)(38100700002)(26005)(66476007)(2906002)(66446008)(38070700005)(54906003)(76116006)(55016002)(316002)(478600001)(71200400001)(6506007)(52536014)(53546011)(66946007)(83380400001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?LzZUK1hNVkpnb2YrSzRTQVl3V29ZSjlXYzZhdEdVTGhiVDZtekc0ZnhlODAr?=
 =?utf-8?B?OXlSbmcyUE8wMWRCQXBaUlBSbHBCaVJKNlFxeWVBQ0piQVM3RWFHRGF6WDd3?=
 =?utf-8?B?b0hSa2JNdGhWelovZkpjOEJudTA5bStXcnAycTluK0xqYk52MkZXWG5LL2hU?=
 =?utf-8?B?MzR3RTlWNEF0cno2WEIvMmZ1M0dGK0ZwQ3hIV081cnhYaW9neFNGeEtlSDNS?=
 =?utf-8?B?SmkzbFlTWXRJR2JpQk1iNEx1WUs5NldhbVJKa3VSRTRZbEdoSk1WZllHRWVG?=
 =?utf-8?B?TE51UXNTc0F0a2lDZVZMZzJMa0xDbXltSW92VEk4NkZLT2RpUFZlSTZSY3hT?=
 =?utf-8?B?dVM2SGl2dVpDMlZ2UGw4cEp2bDBJUjcwV2ozVlVmN0RqZmVvakFOd0V6aUxM?=
 =?utf-8?B?MEZBM3BDRHFnRDdpc1JsdTM5LzdpMW9xcGJKVWVwd2tPZC9DZWZUKzF2TDhT?=
 =?utf-8?B?V0NBaDdWRW9xOGtpckJ4OGJTRUxNNDJwRHZza2dCRjB1UStkZTQzb0xZZVhh?=
 =?utf-8?B?UVIzZklGNFBsdHgzMkU0aFlXUkFaYXh0SkJXZXJHOW9YbHVJdUxDdWJRZys4?=
 =?utf-8?B?RzRiRm9Cd2l6YUdlMmhEOEl4MHhidXREQVJuYjIxU2ZTTC9vSmZXVEwzRStu?=
 =?utf-8?B?VUF3bnRzY016SlBRQ0ozM1dKazUrZDVKSnBHVzUzbVNrOU4vN05UUXdkR0VT?=
 =?utf-8?B?M1lmN0dyOTE0RXQ0RUNmYW5veTlLNnNmR2dQdDlYWVM5amowc1I4eVJySlRJ?=
 =?utf-8?B?ME1QdWNuUHNKZUNPTElXeTBpNGY2aDFGT0VPckVXeXh6RlRPbmdYenRPM3hN?=
 =?utf-8?B?aUh5emE5ODdGYmlYQzdQbWdzdllETG5EQmFSWUdnQlpOS2RIRUVkRnRZbzdm?=
 =?utf-8?B?eUQ4Z1RhRXVPU1pURER6dEpGZGVGMkF2eDZ2VUlFcU10aE1XeVhNNjd5ZzlJ?=
 =?utf-8?B?aVllRHJMOFJCamZPeHhpMHBwcFBFSWo2UVVjeUVQbkpZdi92ZDBkWklENWt3?=
 =?utf-8?B?alBJS3ZQYnA1RzhYeUxaOHJxNGVybll5WFRLQzJoOGhDVVRqSmlUOFhaUmdt?=
 =?utf-8?B?QjM1TFFXdTJUZDJUVkdVNUlkb04vZHNwOEVyWEd6RXRteWhSTCtkZitMY1Yw?=
 =?utf-8?B?c2N6dThJZnRTVjNPU3dTbXJSWVFNRWNCT3E4ajVGbExqcjByc3ZjaFZmQTZY?=
 =?utf-8?B?d0JUZit6cG5LL2FNeURKY3FwSTNrVW1YdGp3d2RMdFdLaERTMU5jQVdvNFYv?=
 =?utf-8?B?SWZEclBnK3JVRkMyaVIrN2hVZFZJdGs5UEhoc296ZWJDSEZEQVZuRzc3ZEJn?=
 =?utf-8?B?eUZjUjZld2VGL2xzeVd5a2Z1R2dEOTZ5SHdOV1pzTkJ4M24zanJlNmpwR0Vx?=
 =?utf-8?B?cHBtZ0dNYkZ0bTNuZXZzeVNnYU5IYlp1MGJwQnIrS3FuekVuWkFlbnpZY0lW?=
 =?utf-8?B?MWFTY2ZZRWxTcXhQS2QwdkZTakN4MldXZ2VuTEswU1dPdVhqNmJqYVZvRmJ5?=
 =?utf-8?B?dzhSM3liMFBaN2d4ZW55dDZVMm5SU3BRbFdZaGlWdEdSd1dYUGkwM1ZjdUhW?=
 =?utf-8?B?NFpRUmhmZlV5aStsaEdibzd0MnM1UkIxc2dWOUpaRGw2c2pyMFNqT3ZYSUNl?=
 =?utf-8?B?R1h0aUxtZGFvdzVEMzJ4WFh3eUFvZDQ4d1pKU2Q3ZnM1aHZ4Y09CY0RQWVpE?=
 =?utf-8?B?UTZBZm15WnNITjVLaGcxb25QbFltM2MyekpGQkEzdEJLazB1R3FGZVQyR3VG?=
 =?utf-8?Q?gwro+2W+l+iQU1C70Fpwht7gC0HLr4NvVfy9jxV?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB4511
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT017.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	4611fc5a-965d-4d8e-4270-08d96127c544
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	F/JDHDI2X//gF4bVXtz6jtt13Qld3No8BF1ULBxEKCL1A+s6V8+JJMTOruq0OgpY6lrsHGIYBLIVFXCa/XrGqb4FefH+4ZudaD/2kzRfdKUHJb9L8rdvL0PiYLsj+1CyAPWeZ/qsnYrvZEKoFXLimvi/vNxJIMpefwoVdinZgPycuWNEWt8NW8IxedkTryIXLWdwfALCSD0cUBiPK6MZ8KHRfwnJLc4VHDMyOpxTiRQjwtuqjfZiDoO/26M2kpndAEwd8lfT1xNim1JC3RKC4CTWteJ1AfLeZGUjSFt5X5cputXvqndNW3W6F41iL2eOORGPjr4ukPiKXk30N5hItxXjDvGCMddhsrCJnAYDkxCTLF0KWyCdtARp5MB3YJEwWV2v6g87cK0SIEld+PBa05zJTMZp5w+9qIYW/BBEuJg6vmc3iZmIvEVq7gBnLPC8cp3+2YEVKeL2VojS53+WWoA/URTjOMPDdZPc3gCa673ogx7UlNTA1qi+sLRLUr4aC0mdyd6H6cJOyzPsR4+Mvyf8fFkoetYL6DVfcn79m5nNvGNc1URVOt3abgdzyXMWZXVOkvY3rlAqHp603GBMBDAsy/brh0HJhhlIeRCvYoNlSph6cWH0nqIUxDCwQMTUtSynrOLsvRBCbyMhActOAnDCDt8hl3l2tKAIelKzBi8FB9SH7GAqxCT9TZ1G6mnmYGKNcAas6hpbA3rKme4kjQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(136003)(396003)(39860400002)(346002)(376002)(36840700001)(46966006)(52536014)(33656002)(8936002)(53546011)(6506007)(478600001)(54906003)(5660300002)(336012)(8676002)(316002)(4326008)(26005)(186003)(110136005)(7696005)(70206006)(70586007)(81166007)(82310400003)(82740400003)(86362001)(47076005)(55016002)(9686003)(36860700001)(2906002)(83380400001)(356005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 02:36:17.0685
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9f4b97e0-74d3-49e8-9b71-08d96127ca18
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT017.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR08MB2891

DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSnVsaWVuIEdyYWxsIDxq
dWxpZW5AeGVuLm9yZz4NCj4gU2VudDogVHVlc2RheSwgQXVndXN0IDE3LCAyMDIxIDE6NTUgQU0N
Cj4gVG86IFBlbm55IFpoZW5nIDxQZW5ueS5aaGVuZ0Bhcm0uY29tPjsgeGVuLWRldmVsQGxpc3Rz
LnhlbnByb2plY3Qub3JnOw0KPiBzc3RhYmVsbGluaUBrZXJuZWwub3JnDQo+IENjOiBCZXJ0cmFu
ZCBNYXJxdWlzIDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+OyBXZWkgQ2hlbg0KPiA8V2VpLkNo
ZW5AYXJtLmNvbT47IG5kIDxuZEBhcm0uY29tPg0KPiBTdWJqZWN0OiBSZTogW1BBVENIIFY0IDEw
LzEwXSB4ZW4vYXJtOiBpbnRyb2R1Y2UgYWxsb2NhdGVfc3RhdGljX21lbW9yeQ0KPiANCj4gDQo+
IA0KPiBPbiAxNi8wOC8yMDIxIDA4OjUxLCBQZW5ueSBaaGVuZyB3cm90ZToNCj4gPj4+ICsgICAg
ICAgICAgICAgICBkLCBiYW5rLCBwYmFzZSwgcGJhc2UgKyBwc2l6ZSk7DQo+ID4+PiArDQo+ID4+
PiArICAgICAgICAvKg0KPiA+Pj4gKyAgICAgICAgICogSXQgc2hhbGwgYmUgbWFwcGVkIHRvIHRo
ZSBmaXhlZCBndWVzdCBSQU0gYWRkcmVzcyByYW1iYXNlW2ldLA0KPiA+Pj4gKyAgICAgICAgICog
QW5kIHVudGlsIGl0IGV4aGF1c3RzIHRoZSByYW1zaXplW2ldLCBpdCB3aWxsIHNlZWsgdG8gdGhl
IG5leHQNCj4gPj4+ICsgICAgICAgICAqIHJhbWJhc2VbaSsxXS4NCj4gPj4+ICsgICAgICAgICAq
Lw0KPiA+Pj4gKyAgICAgICAgd2hpbGUgKCAxICkNCj4gPj4+ICsgICAgICAgIHsNCj4gPj4+ICsg
ICAgICAgICAgICAvKg0KPiA+Pj4gKyAgICAgICAgICAgICAqIFRoZSBjdXJyZW50IHBoeXNpY2Fs
IGJhbmsgaXMgZnVsbHkgbWFwcGVkLg0KPiA+Pj4gKyAgICAgICAgICAgICAqIEhhbmRsZSB0aGUg
bmV4dCBwaHlzaWNhbCBiYW5rLg0KPiA+Pj4gKyAgICAgICAgICAgICAqLw0KPiA+Pj4gKyAgICAg
ICAgICAgIGlmICggZ3NpemUgPj0gcHNpemUgKQ0KPiA+Pj4gKyAgICAgICAgICAgIHsNCj4gPj4+
ICsgICAgICAgICAgICAgICAgaWYgKCAhYXBwZW5kX3N0YXRpY19tZW1vcnlfdG9fYmFuayhkLCAm
a2luZm8tDQo+ID5tZW0uYmFua1tnYmFua10sDQo+ID4+PiArICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc21mbiwgcHNpemUpICkNCj4gPj4+ICsgICAg
ICAgICAgICAgICAgICAgIGdvdG8gZmFpbDsNCj4gPj4+ICsNCj4gPj4+ICsgICAgICAgICAgICAg
ICAgZ3NpemUgPSBnc2l6ZSAtIHBzaXplOw0KPiA+Pj4gKyAgICAgICAgICAgICAgICBiYW5rKys7
DQo+ID4+PiArICAgICAgICAgICAgICAgIGJyZWFrOw0KPiA+Pj4gKyAgICAgICAgICAgIH0NCj4g
Pj4+ICsgICAgICAgICAgICAvKg0KPiA+Pj4gKyAgICAgICAgICAgICAqIEN1cnJlbnQgZ3Vlc3Qg
YmFuayBtZW1vcnkgaXMgbm90IGVub3VnaCB0byBtYXAuDQo+ID4+PiArICAgICAgICAgICAgICog
Q2hlY2sgaWYgd2UgaGF2ZSBhbm90aGVyIGd1ZXN0IGJhbmsgYXZhaWxhYmxlLg0KPiA+Pj4gKyAg
ICAgICAgICAgICAqIGdiYW5rIHJlZmVycyBndWVzdCBtZW1vcnkgYmFuayBpbmRleC4NCj4gPj4+
ICsgICAgICAgICAgICAgKi8NCj4gPj4+ICsgICAgICAgICAgICBlbHNlIGlmICggKGdiYW5rICsg
MikgPiBHVUVTVF9SQU1fQkFOS1MgKSB7DQo+ID4+DQo+ID4+IEkgZG9uJ3QgdW5kZXJzdGFuZCB0
aGUgKzIuIENhbiB5b3UgY2xhcmlmeSBpdD8NCj4gPj4NCj4gPg0KPiA+IGdiYW5rIHJlZmVycyB0
byB0aGUgaW5kZXggb2YgdGhlIGd1ZXN0IGJhbmssIGFuZCBoZXJlIHNpbmNlIGN1cnJlbnQgZ3Vl
c3QNCj4gYmFuayhnYmFuaykNCj4gPiAgIG1lbW9yeSBpcyBub3QgZW5vdWdoIHRvIG1hcCwgdXNl
cnMgc2Vla3MgdG8gdGhlIG5leHQgb25lKGdiYW5rICsgMSksDQo+ID4NCj4gPiBnYmFuayArIDIg
aXMgdGhlIG51bWJlciBvZiByZXF1ZXN0ZWQgZ3Vlc3QgbWVtb3J5IGJhbmtzIHJpZ2h0IG5vdywg
YW5kDQo+ID4gc2hhbGwgbm90IGJlIGxhcmdlciB0aGFuIEdVRVNUX1JBTV9CQU5LUy4NCj4gDQo+
IFRoYW5rcyBmb3IgdGhlIGNsYXJpZmljYXRpb24uIFdoZW4gSSByZWFkICIyIiBJIHRlbmQgdG8g
dGhpbmsgd2UgYXJlIGNoZWNraW5nDQo+IHRoZSBiYW5rIGFmdGVyIHRoZSBuZXh0LiBIb3cgYWJv
dXQgd3JpdGluZzoNCj4gDQo+IChnYmFuayArIDEpID49IEdVRVNUX1JBTV9CQU5LUw0KPiANCj4g
b3INCj4gDQo+IGdiYW5rID49IChHVUVTVF9SQU1fQkFOS1MgLSAxKQ0KPiANCj4gVGhpcyBhcyB0
aGUgc2FtZSBlbmQgcmVzdWx0cywgYnV0IHdlIGNoZWNrIHRoZSBpbmRleCByYXRoZXIgdGhhbiB0
aGUgbnVtYmVyIG9mDQo+IGJhbmtzLg0KPiANCj4gQW55d2F5LCBJIGNhbiBzZXR0bGUgd2l0aCAy
IGlmIHlvdSByZWFsbHkgcHJlZmVyIGl0Lg0KPiANCg0KTmFoLCBJJ2xsIHRha2UgeW91ciBzdWdn
ZXN0aW9uLiBZb3VycyBpcyBtb3JlIGdlbmVyaWMuDQogDQo+IENoZWVycywNCj4gDQo+IC0tDQo+
IEp1bGllbiBHcmFsbA0K


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 03:02:22 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 03:02:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167569.305891 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFpMj-00025u-OG; Tue, 17 Aug 2021 03:02:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167569.305891; Tue, 17 Aug 2021 03:02:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFpMj-00025n-Ky; Tue, 17 Aug 2021 03:02:13 +0000
Received: by outflank-mailman (input) for mailman id 167569;
 Tue, 17 Aug 2021 03:02:12 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4v/q=NI=intel.com=kevin.tian@srs-us1.protection.inumbo.net>)
 id 1mFpMi-00025h-8S
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 03:02:12 +0000
Received: from mga14.intel.com (unknown [192.55.52.115])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 68858d98-639c-4784-ad3e-f9e173a4420b;
 Tue, 17 Aug 2021 03:02:08 +0000 (UTC)
Received: from orsmga008.jf.intel.com ([10.7.209.65])
 by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 16 Aug 2021 20:02:07 -0700
Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81])
 by orsmga008.jf.intel.com with ESMTP; 16 Aug 2021 20:02:06 -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.2242.10; Mon, 16 Aug 2021 20:02:06 -0700
Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) 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.2242.10; Mon, 16 Aug 2021 20:02:05 -0700
Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) 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.2242.10 via Frontend Transport; Mon, 16 Aug 2021 20:02:05 -0700
Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.173)
 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.2242.10; Mon, 16 Aug 2021 20:02:05 -0700
Received: from BN9PR11MB5433.namprd11.prod.outlook.com (2603:10b6:408:11e::13)
 by BN6PR11MB4067.namprd11.prod.outlook.com (2603:10b6:405:7e::35)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16; Tue, 17 Aug
 2021 03:02:04 +0000
Received: from BN9PR11MB5433.namprd11.prod.outlook.com
 ([fe80::1508:e154:a267:2cce]) by BN9PR11MB5433.namprd11.prod.outlook.com
 ([fe80::1508:e154:a267:2cce%4]) with mapi id 15.20.4415.024; Tue, 17 Aug 2021
 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>
X-Inumbo-ID: 68858d98-639c-4784-ad3e-f9e173a4420b
X-IronPort-AV: E=McAfee;i="6200,9189,10078"; a="215709529"
X-IronPort-AV: E=Sophos;i="5.84,327,1620716400"; 
   d="scan'208";a="215709529"
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.84,327,1620716400"; 
   d="scan'208";a="471015191"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HMUxxbxMg9RjDa4ygZ6qfV/Yk6/UJxeNvUL6XUyMahJSw55jj1Ggpxp3VAaQ9wUZEQdTARuwuUfPPL9pW4jaXfFIxgZQdravSFN/JDSvoyspqPtWDz8nTkfBRigLy4+uzbf4O9GUf+IgVFei5rypAQ/wCawNXDzb/Jjj7JuaG6XMVFyR70IsS/97YctvDlFL2R3HgdpaA0xSfDHD6i/7Ot29A1WAhhIv39MLLRoca6HJ1YfxABI/H18QNA92fXvxH+tlZw7k0HGvheoli0ltrYSSdireF0HcdPSpgRLQ0U+elGqochB4kACnoOnMxspC1ri9bXn8Q2fxC51iJBQbaQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dNBcUqM3NGHvMDBx0zO/72O8x9CRUxq9U9yQxEQoqu8=;
 b=oAxE8TDF37jbt+xW3WRZPKbT3gQIDi8JUa3/T8JfujzqGT9m3CviYQqTUaauxHhT3iAn6RsCJiU4nRnCRtYgmw2+cFGtWYFY9oEzrkzvh+d71tm1ketnq43LnGj82CK9Wcq2zb6kkmfxtMmrKBi7xuiSUj4hbmHP3t9e2UsNxflBPYzNXlsjHqvdirFsD0gIoaQnO22lMQ/ykp69ZTy7OseDP79VLagIe0lDd3dh+5zGnU7fjYDoLJMfKDNQKia2Cgo4gQEP4z+/OTir6CCQ5582Qmo+SXcjLVPsFSapwuxvnq6p3NOxAf3VjgEd3eGrgPPpwpeOXsXE6VmWNDVBVg==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com;
 s=selector2-intel-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dNBcUqM3NGHvMDBx0zO/72O8x9CRUxq9U9yQxEQoqu8=;
 b=blBQFRO4LwbdkezX8idtZ/7V26ebN8uYTpiebwpZn0G8XKJdNXsQ8B710DIMCO0Ss2bTVuEKGWac5CbFh79vxdfZ/zHl21tWbyaO78OqjKn08+7rVxDvFvKRm19WatZ8SEShLWeT9thezBjzPzSnGX9DZcUjggJsFkXCQp0ARG8=
From: "Tian, Kevin" <kevin.tian@intel.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: "Cooper, Andrew" <andrew.cooper3@citrix.com>
Subject: RE: [PATCH] VT-d: Tylersburg errata apply to further steppings
Thread-Topic: [PATCH] VT-d: Tylersburg errata apply to further steppings
Thread-Index: AQHXiFilr7+Zxq88bkiPwPH18UOdyqt3F7Ag
Date: Tue, 17 Aug 2021 03:02:03 +0000
Message-ID: <BN9PR11MB5433A716C7895AB5AEFAAFC88CFE9@BN9PR11MB5433.namprd11.prod.outlook.com>
References: <07ded368-5c12-c06e-fd94-d7ae52d18836@suse.com>
In-Reply-To: <07ded368-5c12-c06e-fd94-d7ae52d18836@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
dlp-version: 11.5.1.3
dlp-product: dlpe-windows
dlp-reaction: no-action
authentication-results: suse.com; dkim=none (message not signed)
 header.d=none;suse.com; dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 4f8b634a-76a5-4f70-8d94-08d9612b6416
x-ms-traffictypediagnostic: BN6PR11MB4067:
x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr
x-microsoft-antispam-prvs: <BN6PR11MB4067E57C3E80D1CD86BCD9AE8CFE9@BN6PR11MB4067.namprd11.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:9508;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: Oi8gwZkysqnbQ4I57RIKvgEvAf5ewc6rZrYXtvNSDQmnxGCHZkCujfRVyc1ggjZbmdlMUvTo0YH8QiOCyGg8bMb+M9VQeqsxyo5c14XXtNQPv1YTo8JN9ghIXQkmEJ4i8NPvojWh9I4B2GS9mGbY+Wiz1b9xpbKn9LlAGZ+CevGtZJ7UDKqzXBXboDoGT+NRtwv67+edEjRFSz4qh8z+GfAi9BRCF47EDk8M3H31FId5ieuhPhuu/QZJVVi+dGEnM7msmJfgKkJECfoVKPZdr4rNsbVc5F4TsPkmO6sWUjpoLbl2LhGR2bjK+Da5EKyTvu7O81HWw0fOj8CbN1RrqdRFYnD246RoP2aaWGb+wLKTc2qXdmfmNCCMUEurjLi8iH6eiYGEyMkaHg/IcOV+EG3Til05JFav8aeGD7qwMLym2bqSXmDsF+lzSdVwOEjWVEewuYMiA1muiJOgQiqUwEbWe84SKxjDo3tJwAjLyTaxugn/EPesgLFt2H8UPX72KVio0vPzkaMtchEbBFJe3bUpfPE+GCNtc0tE8FW2e+lA5XSjle5nUemWisNkNheKaLnk9IEQ2e0anoo7HbSutMX0yifqF+2kXCg3REkNBg6JJPs0GhB85t4C+RI3z5ct0s4LULRaB0GQzsDu4e6QEcs/1V2dtiskdmBbWOGIr+2jzIaurelBzopRGvM/9BwPUu/X04SgY7ZEaBKtFX3NHg==
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR11MB5433.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(346002)(396003)(376002)(136003)(39860400002)(366004)(83380400001)(38070700005)(6506007)(316002)(26005)(86362001)(186003)(71200400001)(38100700002)(52536014)(122000001)(55016002)(8936002)(66446008)(66556008)(5660300002)(4326008)(66946007)(7696005)(478600001)(2906002)(110136005)(64756008)(8676002)(33656002)(76116006)(66574015)(66476007)(9686003);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NUU4QU1pMFVtaSsvNGJmYjFhOHpEODZQU2c2SUp0NDQ1QWNTaWx3RVV3bGJs?=
 =?utf-8?B?bDBBamJ2ekd2QkkrVTJaR1BCTXk1L0JscU0xMnMydkxHNkdWUEJMZ3JDMXdJ?=
 =?utf-8?B?YTBrQ1FXVEgzdjdsbmVBQ2s2Q3JVM2dKQXp1Z2QzL0cyUDMxOU1DUzJKMlE2?=
 =?utf-8?B?dUZmY05CMzJPYm00L3RLOTl1YjArNEduQjNDVURBc0tMSUVLVXc3N0Y3eW94?=
 =?utf-8?B?MkladWFLZWExc0Rad2NiR29wVG5ndis0QzY4OXQwcms3ajhJTVMrTlNCSFZW?=
 =?utf-8?B?czV4Z1l0MkplVk5abzJoOUpxVEMrQjExenRnajFLQmczQ3JOVWkzM3BoZ1hp?=
 =?utf-8?B?OWNhdmtCRjVGWmJ6Sit5ZEZ6N3hQUStrQ2xrbk1yYk45eWcwZElXSURpVHFn?=
 =?utf-8?B?RWwxWUg3cVAwQkhYcVdVblIwMVdxbS8vc2t5WEtEaktpRmVISmxwZGRyc0pm?=
 =?utf-8?B?K1VZS044VXF5cWxzSzg5ZURleFFHL0lLUzZ2c2JVNERPNzBtWWg1ZEYvTkpZ?=
 =?utf-8?B?SnNlK05PQ0JBT3NJL0xXeWdqU3VDTm0vNTV1S3prbTArQXphRXZtbmErSC83?=
 =?utf-8?B?L2UzUUtkTk5RV2JScTFlOFF4K0xHbG9mWFZ2aEZ6cmRuamNGTGJHVjFza0FU?=
 =?utf-8?B?d1ZBeWZhRWErZFEyZ0xHVWk4Q3paWGYvQ0RyUkRUMjNCdXN4dm9JTU1OZ1VB?=
 =?utf-8?B?VTFWdkFjMzZKUzRsMmo5bnJJK0N2aHBuSGJhQ0haOGJXY0M2bm5XM2IydmJl?=
 =?utf-8?B?MEYxeTREUFVDdEp6TkUrOURlZ09ZNE5IU2JXVXN1dFpmaXMwdW1JUmtEd2hj?=
 =?utf-8?B?NTFEcDJxeTlpd1g2RHdvc3hoYkdadE0zbng1N0kyc3Z1NzBvZzdkbE1aQnEx?=
 =?utf-8?B?azZsM1RmemV5cVV5MnBSMFdtTm5jNG9nVGJLMWxFcXpvbHVVS2FIenhvczBL?=
 =?utf-8?B?bERWUWtjdUU4VzYyRjMrd1l2enlGVGs1WTRENUtqSVZmQ04wcGtRbU44YXRW?=
 =?utf-8?B?VzgzdEttbVRBb2R4Wkh6Nm9rTzRBYlpQeko0d0MzRTRXWkVKbFhtVFB6Ty9o?=
 =?utf-8?B?Rmk3cjBPTkEyYk0vL1VaTDNTSUtqUHdvWmFYZTg0VzZxOVc0MldleGJuSlA5?=
 =?utf-8?B?RUhmOXN2Q292TXZrU1pKK3h5ZHdzQy9JWGRrUng2azg3YkozL3M4UG8zT3Jo?=
 =?utf-8?B?b1lwbFBwbDNCVWxpQ2x1U282QUJTTkNvd1AzaERsMWxVM245NWlFczhkMitT?=
 =?utf-8?B?SXIvVWpaSTdvSml2Q01sc2dWQzRoQnRmZXVadEh2aVdSN3BOUklRZkxIMEZK?=
 =?utf-8?B?V202azJ2VkQ0OC8xUzVtZWNOT1llZHZuZWorYVVSYmdLdEdnRXNCTkFKcjQx?=
 =?utf-8?B?NGNWdmViS21sTEl3VWRDd243TjN4OUpoRXE1OU5xR2tWRzZKbGg0ejk2R0po?=
 =?utf-8?B?eStkRHVSVWVXTTBITDhVVUFEbFVtRmJpS1pIV3Ryd2VITld5Qm1JQUJ0Ujlh?=
 =?utf-8?B?Vjc4V2dWVDlicjR2N20xU3I3NTd0VHR3NjR5YVlZc3BRcE96RXkyakpmRHZO?=
 =?utf-8?B?aldWcXpmYXBNaUJwT3RZWk8wN0pTeVBLMlpjcUQ4dWR1SGliMGdxMEt0NGov?=
 =?utf-8?B?bnRwRUxUVi8wZXd1V1Fyck03VlFXNTJVc3hINEpNdkttTENBbHVIZGFTZm15?=
 =?utf-8?B?MjFHZGRMckJYdVFmeHFzUVdEVStXVDgveTdwVDhJWk9MZUF5RklGTmN4Zk80?=
 =?utf-8?Q?em0eKoxS8zcZUOPbHK12IXD7QOg0RbLCmAPA3HD?=
x-ms-exchange-transport-forked: True
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: BN9PR11MB5433.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4f8b634a-76a5-4f70-8d94-08d9612b6416
X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Aug 2021 03:02:03.9357
 (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: plUJG0npYe8sY0ehtSHjtbfsKnjCKmtLklHyvfp/e2dRrw6ViLbmlJqB4Stlm4U49UGUpBAry/gBqtfnCNDIFw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB4067
X-OriginatorOrg: intel.com

PiBGcm9tOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+IFNlbnQ6IFR1ZXNkYXks
IEF1Z3VzdCAzLCAyMDIxIDc6MTQgUE0NCj4gDQo+IFdoaWxlIGZvciA1NTAwIGFuZCA1NTIwIGNo
aXBzZXRzIG9ubHkgQjMgYW5kIEMyIGFyZSBtZW50aW9uZWQgaW4gdGhlDQo+IHNwZWMgdXBkYXRl
LCBYNTgncyBhbHNvIG1lbnRpb25zIEIyLCBhbmQgc2VhcmNoaW5nIHRoZSBpbnRlcm5ldCBzdWdn
ZXN0cw0KPiBzeXN0ZW1zIHdpdGggdGhpcyBzdGVwcGluZyBhcmUgYWN0dWFsbHkgaW4gdXNlLiBF
dmVuIHdvcnNlLCBmb3IgWDU4DQo+IGVycmF0dW0gIzY5IGlzIG1hcmtlZCBhcHBsaWNhYmxlIGV2
ZW4gdG8gQzIuIFNwbGl0IHRoZSBjaGVjayB0byBjb3Zlcg0KPiBhbGwgYXBwbGljYWJsZSBzdGVw
cGluZ3MgYW5kIHRvIGFsc28gcmVwb3J0IGFwcGxpY2FibGUgZXJyYXRhIG51bWJlcnMgaW4NCj4g
dGhlIGxvZyBtZXNzYWdlLiBUaGUgc3BsaXR0aW5nIHJlcXVpcmVzIHVzaW5nIHRoZSBETUkgcG9y
dCBpbnN0ZWFkIG9mDQo+IHRoZSBTeXN0ZW0gTWFuYWdlbWVudCBSZWdpc3RlcnMgZGV2aWNlLCBi
dXQgdGhhdCdzIHRoZW4gaW4gbGluZSAoYWxzbw0KPiByZXZpc2lvbiBjaGVja2luZyB3aXNlKSB3
aXRoIHRoZSBzcGVjIHVwZGF0ZXMuDQo+IA0KPiBGaXhlczogNjg5MGNlYmM2YTk4ICgiVlQtZDog
ZGVhbCB3aXRoIDU1MDAvNTUyMC9YNTggZXJyYXRhIikNCj4gU2lnbmVkLW9mZi1ieTogSmFuIEJl
dWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KDQpSZXZpZXdlZC1ieTogS2V2aW4gVGlhbiA8a2V2
aW4udGlhbkBpbnRlbC5jb20+DQoNCj4gLS0tDQo+IEFzIHRvIGRpc2FibGluZyBqdXN0IGludGVy
cnVwdCByZW1hcHBpbmcgKGFzIHRoZSBpbml0aWFsIHZlcnNpb24gb2YgdGhlDQo+IG9yaWdpbmFs
IHBhdGNoIGRpZCkgdnMgZGlzYWJsaW5nIHRoZSBJT01NVSBhcyBhIHdob2xlOiBVc2luZyBhIGxl
c3MNCj4gaGVhdnkgd29ya2Fyb3VuZCB3b3VsZCBvZiBjb3Vyc2UgYmUgZGVzaXJhYmxlLCBidXQg
dGhlbiB3ZSBuZWVkIHRvDQo+IGVuc3VyZSBub3QgdG8gbWlzZ3VpZGUgdGhlIHRvb2wgc3RhY2sg
YWJvdXQgdGhlIHN0YXRlIG9mIHRoZSBzeXN0ZW0uIEl0DQo+IHVzZXMgdGhlIFBIWVNDQVBfZGly
ZWN0aW8gc3lzY3RsIG91dHB1dCB0byBkZXRlcm1pbmUgd2hldGhlciBQQ0kgcGFzcy0NCj4gdGhy
b3VnaCBjYW4gYmUgbWFkZSB1c2Ugb2YsIHlldCB0aGF0IGZsYWcgaXMgZHJpdmVuIGJ5ICJpb21t
dV9lbmFibGVkIg0KPiBhbG9uZSwgd2l0aG91dCByZWdhcmQgdG8gdGhlIHNldHRpbmcgb2YgImlv
bW11X2ludHJlbWFwIi4NCj4gDQo+IC0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9x
dWlya3MuYw0KPiArKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvcXVpcmtzLmMNCj4g
QEAgLTI2OCwyNiArMjY4LDQyIEBAIHN0YXRpYyBpbnQgX19pbml0IHBhcnNlX3NuYl90aW1lb3V0
KGNvbnMNCj4gIH0NCj4gIGN1c3RvbV9wYXJhbSgic25iX2lnZF9xdWlyayIsIHBhcnNlX3NuYl90
aW1lb3V0KTsNCj4gDQo+IC0vKiA1NTAwLzU1MjAvWDU4IENoaXBzZXQgSW50ZXJydXB0IHJlbWFw
cGluZyBlcnJhdGEsIGZvciBzdGVwcGluZyBCLTMuDQo+IC0gKiBGaXhlZCBpbiBzdGVwcGluZyBD
LTIuICovDQo+ICsvKg0KPiArICogNTUwMC81NTIwL1g1OCBjaGlwc2V0IGludGVycnVwdCByZW1h
cHBpbmcgZXJyYXRhLCBmb3Igc3RlcHBpbmdzIEIyIGFuZA0KPiBCMy4NCj4gKyAqIEZpeGVkIGlu
IHN0ZXBwaW5nIEMyIGV4Y2VwdCBvbiBYNTguDQo+ICsgKi8NCj4gIHN0YXRpYyB2b2lkIF9faW5p
dCB0eWxlcnNidXJnX2ludHJlbWFwX3F1aXJrKHZvaWQpDQo+ICB7DQo+IC0gICAgdWludDMyX3Qg
YnVzLCBkZXZpY2U7DQo+ICsgICAgdW5zaWduZWQgaW50IGJ1czsNCj4gICAgICB1aW50OF90IHJl
djsNCj4gDQo+ICAgICAgZm9yICggYnVzID0gMDsgYnVzIDwgMHgxMDA7IGJ1cysrICkNCj4gICAg
ICB7DQo+IC0gICAgICAgIC8qIE1hdGNoIG9uIFN5c3RlbSBNYW5hZ2VtZW50IFJlZ2lzdGVycyBv
biBEZXZpY2UgMjAgRnVuY3Rpb24gMCAqLw0KPiAtICAgICAgICBkZXZpY2UgPSBwY2lfY29uZl9y
ZWFkMzIoUENJX1NCREYoMCwgYnVzLCAyMCwgMCksIFBDSV9WRU5ET1JfSUQpOw0KPiAtICAgICAg
ICByZXYgPSBwY2lfY29uZl9yZWFkOChQQ0lfU0JERigwLCBidXMsIDIwLCAwKSwgUENJX1JFVklT
SU9OX0lEKTsNCj4gKyAgICAgICAgLyogTWF0Y2ggb24gRE1JIHBvcnQgKERldmljZSAwIEZ1bmN0
aW9uIDApICovDQo+ICsgICAgICAgIHJldiA9IHBjaV9jb25mX3JlYWQ4KFBDSV9TQkRGKDAsIGJ1
cywgMCwgMCksIFBDSV9SRVZJU0lPTl9JRCk7DQo+IA0KPiAtICAgICAgICBpZiAoIHJldiA9PSAw
eDEzICYmIGRldmljZSA9PSAweDM0MmU4MDg2ICkNCj4gKyAgICAgICAgc3dpdGNoICggcGNpX2Nv
bmZfcmVhZDMyKFBDSV9TQkRGKDAsIGJ1cywgMCwgMCksIFBDSV9WRU5ET1JfSUQpICkNCj4gICAg
ICAgICAgew0KPiArICAgICAgICBkZWZhdWx0Og0KPiArICAgICAgICAgICAgY29udGludWU7DQo+
ICsNCj4gKyAgICAgICAgY2FzZSAweDM0MDM4MDg2OiBjYXNlIDB4MzQwNjgwODY6DQo+ICsgICAg
ICAgICAgICBpZiAoIHJldiA+PSAweDIyICkNCj4gKyAgICAgICAgICAgICAgICBjb250aW51ZTsN
Cj4gICAgICAgICAgICAgIHByaW50ayhYRU5MT0dfV0FSTklORyBWVERQUkVGSVgNCj4gLSAgICAg
ICAgICAgICAgICAgICAiRGlzYWJsaW5nIElPTU1VIGR1ZSB0byBJbnRlbCA1NTAwLzU1MjAvWDU4
IENoaXBzZXQgZXJyYXRhICM0NywNCj4gIzUzXG4iKTsNCj4gLSAgICAgICAgICAgIGlvbW11X2Vu
YWJsZSA9IDA7DQo+ICsgICAgICAgICAgICAgICAgICAgIkRpc2FibGluZyBJT01NVSBkdWUgdG8g
SW50ZWwgNTUwMC81NTIwIGNoaXBzZXQgZXJyYXRhICM0NyBhbmQNCj4gIzUzXG4iKTsNCj4gKyAg
ICAgICAgICAgIGlvbW11X2VuYWJsZSA9IGZhbHNlOw0KPiArICAgICAgICAgICAgYnJlYWs7DQo+
ICsNCj4gKyAgICAgICAgY2FzZSAweDM0MDU4MDg2Og0KPiArICAgICAgICAgICAgcHJpbnRrKFhF
TkxPR19XQVJOSU5HIFZURFBSRUZJWA0KPiArICAgICAgICAgICAgICAgICAgICJEaXNhYmxpbmcg
SU9NTVUgZHVlIHRvIEludGVsIFg1OCBjaGlwc2V0ICVzXG4iLA0KPiArICAgICAgICAgICAgICAg
ICAgIHJldiA8IDB4MjIgPyAiZXJyYXRhICM2MiBhbmQgIzY5IiA6ICJlcnJhdHVtICM2OSIpOw0K
PiArICAgICAgICAgICAgaW9tbXVfZW5hYmxlID0gZmFsc2U7DQo+ICAgICAgICAgICAgICBicmVh
azsNCj4gICAgICAgICAgfQ0KPiArDQo+ICsgICAgICAgIGJyZWFrOw0KPiAgICAgIH0NCj4gIH0N
Cj4gDQoNCg==


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 03:11:04 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 03:11:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167575.305901 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFpVE-0003Yb-P3; Tue, 17 Aug 2021 03:11:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167575.305901; Tue, 17 Aug 2021 03:11:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFpVE-0003YU-L3; Tue, 17 Aug 2021 03:11:00 +0000
Received: by outflank-mailman (input) for mailman id 167575;
 Tue, 17 Aug 2021 03:10:59 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4v/q=NI=intel.com=kevin.tian@srs-us1.protection.inumbo.net>)
 id 1mFpVD-0003YO-Ax
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 03:10:59 +0000
Received: from mga01.intel.com (unknown [192.55.52.88])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id bcce872a-ff08-11eb-a485-12813bfff9fa;
 Tue, 17 Aug 2021 03:10:56 +0000 (UTC)
Received: from fmsmga004.fm.intel.com ([10.253.24.48])
 by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 16 Aug 2021 20:10:55 -0700
Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84])
 by fmsmga004.fm.intel.com with ESMTP; 16 Aug 2021 20:10:55 -0700
Received: from fmsmsx604.amr.corp.intel.com (10.18.126.84) by
 fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2242.10; Mon, 16 Aug 2021 20:10:54 -0700
Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by
 fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2242.10 via Frontend Transport; Mon, 16 Aug 2021 20:10:54 -0700
Received: from NAM04-DM6-obe.outbound.protection.outlook.com (104.47.73.42) 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.2242.10; Mon, 16 Aug 2021 20:10:53 -0700
Received: from BN9PR11MB5433.namprd11.prod.outlook.com (2603:10b6:408:11e::13)
 by BN6PR1101MB2084.namprd11.prod.outlook.com (2603:10b6:405:50::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Tue, 17 Aug
 2021 03:10:52 +0000
Received: from BN9PR11MB5433.namprd11.prod.outlook.com
 ([fe80::1508:e154:a267:2cce]) by BN9PR11MB5433.namprd11.prod.outlook.com
 ([fe80::1508:e154:a267:2cce%4]) with mapi id 15.20.4415.024; Tue, 17 Aug 2021
 03:10:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bcce872a-ff08-11eb-a485-12813bfff9fa
X-IronPort-AV: E=McAfee;i="6200,9189,10078"; a="238059740"
X-IronPort-AV: E=Sophos;i="5.84,327,1620716400"; 
   d="scan'208";a="238059740"
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.84,327,1620716400"; 
   d="scan'208";a="510209724"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=irz0HUVrYukegCvPhkbDoxPlwOu8fKe8bkMvw/aSH/5QGGua1DTjzG/wGJFUkQn84Ge1rL+UPS0QTa5BCF6D4vxl4KsDoZy1cblxx2BWpxe4vGBKg5ehF0WP+4F7ZEuxOACD6Q9GWBYJ1tFGJLrHfJpstsVCD2tJ9JryaeZgUOF2ZZo852DZ2VqgZN8KVDfltboZh+CY+xRsLEb0DyEtvlpfceU8sddg2/ObWiFvzxoVpyR7ShEysMYepDt7rob/rbObEFcnSfjn5AyuUllRonOikM8830ai+WDUfRu2KUHzjlrkcKAS2com+rZvLWVia4G9UvXYJh6PmJFWvHnWIA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JLaJl9Q08+NSpwSz81YJ3bNSNr9SyoRWWad5KDs+P6Q=;
 b=XfUzQYOsj5hiJVMuIN/WFT4fA7vVoIJ6/xM7vZlJ+osbx9NyWGWitE8gyifA1IPa8s4xkpGpJvmwuBo3U2EqgXnEHmC73cwo6pLsWp0c+3LaSqAE0IKNh6jd7G0FWt8x1k43fBacBOQ6mHr+qx4bMROhiFNRSsRibEZQFwgXDMv00377ii58qUXC7LMVR/fkNJapmVUdyxIN9zsFLwF275nC74fyW3mgb/sBdw0hbaCv59R486C0fhy7ExvfNvbegF/CACa89/KXG4tSvhX4w/v/rBdyteb6scH55Q5rihYjiLoy+cfVfVlWE3FOhMl5NMNGoFdh0lwI62C3w9jG1g==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com;
 s=selector2-intel-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JLaJl9Q08+NSpwSz81YJ3bNSNr9SyoRWWad5KDs+P6Q=;
 b=iUvM9Kyk8XCELug0E2c/pGkLiguA9ag1S5WEYPOcKH+LVd6ktkpBuSufCTjoMSJmkZkyWFJwarz715U7B4qXzgcOW7KbNV8GCo1hI8OaKMVXb47elucLJVBRlXAbJ/cDmrlph/2+aDtAGe73yAvlWpMOGHu3MA7I3qxZCo3mxdk=
From: "Tian, Kevin" <kevin.tian@intel.com>
To: Kevin Stefanov <kevin.stefanov@citrix.com>, Xen-devel
	<xen-devel@lists.xenproject.org>
CC: "Cooper, Andrew" <andrew.cooper3@citrix.com>, Jan Beulich
	<jbeulich@suse.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: RE: [PATCH v3] x86/ioapic: Remove use of TRUE/FALSE/1/0
Thread-Topic: [PATCH v3] x86/ioapic: Remove use of TRUE/FALSE/1/0
Thread-Index: AQHXkpxJdrGR4C4efUC5d8DHQyu3Sat3BYhw
Date: Tue, 17 Aug 2021 03:10:52 +0000
Message-ID: <BN9PR11MB54334823BDE1146F6744CF168CFE9@BN9PR11MB5433.namprd11.prod.outlook.com>
References: <20210816124255.27405-1-kevin.stefanov@citrix.com>
In-Reply-To: <20210816124255.27405-1-kevin.stefanov@citrix.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
dlp-version: 11.5.1.3
dlp-product: dlpe-windows
dlp-reaction: no-action
authentication-results: citrix.com; dkim=none (message not signed)
 header.d=none;citrix.com; dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: c8db3366-8703-4962-c63c-08d9612c9ede
x-ms-traffictypediagnostic: BN6PR1101MB2084:
x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr
x-microsoft-antispam-prvs: <BN6PR1101MB208462D9FFADADF9242F98168CFE9@BN6PR1101MB2084.namprd11.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:6430;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: e5Edahy/HoN0h2t5yRuS0tHLv7b4QTrEc2Yub20AmO+uVIQistiXfEMqyPri3loztHsNfXsRn2Rz9pnWG3DDRZY/8MjcuAAQhToyPlxDh8CYD1nZCrSYR5xHJzupIAsGgfz9+HXsCGiZHmA3y+oFcAWDCdjXPh3ESpJesv2DttOjWAJ9Od5V0vqFlHBBwcwywG/JWQXjZ627wl1zjL+36uJpKcpIqnRS95WwfTNYkOfEpONCrJCUMZAFsASHTb9u2MrdEYkb5/giWeNJQm63nsVvgQAxQ5aCZ5iMXjljTDhNm1wGSg43TZ2QOPJ0MMYCfQsb1GWeCSZDaXZe3Sh4LvPrbkNk8bE9vWex8UqDQEJKXGIsszQyhQH4XvBjqLSnJ10oOvpweJq0XV/QdaXSveuAAIqpqbpMhw+yNKCQdnWjF3NEJcQHrkGc4G9JfBfVB7p8twrxn9nCVmT30hqnYFAWfVtX20cAw5ByACa9Mbo22QbP64d4VvIGiYBZuRiHjVCiEu2LzUXPzKioCwDPzbJrtU1iahI69U8SujcCbTDBKiwUI9eTxvjDaQ2FegLUhb0htdgpBn5vPPVmPg2fa+kTk4sxjUm79ouJPz0tIZWJDpzvZPebBjHRGyPgud4bLqbLBMSrRvXnvEomfeWF4OzQI8XXTwcPr4iu9NddRzjI5KGtbHbvPmJJDRrTFwpINCoAz/eWPAp76MTDXsyJuQ==
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR11MB5433.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(26005)(8936002)(9686003)(110136005)(66946007)(66446008)(66556008)(2906002)(86362001)(4326008)(5660300002)(316002)(76116006)(64756008)(66476007)(33656002)(508600001)(52536014)(54906003)(186003)(38070700005)(8676002)(6506007)(7696005)(83380400001)(71200400001)(38100700002)(55016002)(122000001);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?M3FQYlpWL1ZkSlllMFYvaEdsSUFpRnR5OFg4Skk0a3J4b21EekhwSDgzSGJZ?=
 =?utf-8?B?ZjJ3aFNtR0sxRHhDdGVIYkNwajVIdkF3OUFUMkEydjFSRW8vcm15M3FzOGs2?=
 =?utf-8?B?cEs4Z2VBbEt3b284V3hwM05penBRUXo2VFd4bllnN2g0TEJqOUVsd0JSRHF6?=
 =?utf-8?B?RThubSt5UXNuYldWMlpZRUJ1NFJPcno2NVNpb1ZDM2V2S3BVTTdyRjdEbzhS?=
 =?utf-8?B?aERENWt6R3RSaEZmTWlHL21DWEpoUG51emZBNlcwV3BlSXk3YkdieFRmUzNT?=
 =?utf-8?B?YmdJbW5HdC9qL3R3Q3V1LzIxVktxMFp0L051VkhPTEw1aWNMb3RmQkpXdnZj?=
 =?utf-8?B?ZXNvZkJleDR5WVBHc1U3bDh3TG9FUG1PV21jQXZnbkY5V2luZnEzQ0FwYjlH?=
 =?utf-8?B?MlNWTGhzaHIwNFJpK2h0VW9PcjNBZXp2MGt1elFNUzJDc0pqWDlqNHl6ekNK?=
 =?utf-8?B?ZXNBTlJCRC9ac0lOOGt1a3phTGFVSTdCOUVpRFlXR1AzNkRHeDJLWDFwUDlN?=
 =?utf-8?B?VDJOY3lVYy9jZHR0SkZGQ0s2eGswd0NxTDl5ZS9TQ3lySWEza3ZkNXlicnJm?=
 =?utf-8?B?aUxQcG1tRHd0TFNvMjRMZ0FjcXYrT1RHVFVJcDFFdTVoL21qSGZTMUtMNzNY?=
 =?utf-8?B?Vjg5Skd5YWdOeTdJanBXTllxakxkTCtYeE44UTBhLzdCcVRheDJ6bWVFS1hl?=
 =?utf-8?B?RitlNk12SU8xM0szM2xmNWlNZmovL2w0MXF4enBoeXR4MDBnMXRiNEY2TTFy?=
 =?utf-8?B?NVFoV3JNZlBHQThpOVVkQjFPNFdrQnFmTng1QzBMZDl1bDcySE5MNVVGTVA3?=
 =?utf-8?B?WUREcWNDN2paNXZudVZlWXpMYWY4NUlVTWlDbTcrek9BNEVaZ1NYYmM2MFRl?=
 =?utf-8?B?TEUrWjRhQm0rZkVpeUZHRmwzbGRRSkYxSzQvdFRVVlJ4bWtqa01EZkdCSytE?=
 =?utf-8?B?RW5vWklZVUdIRmpwWGJUNWJsaWE2UjMxdVpZbWdzU004S3phUEN0ZHNpRlcy?=
 =?utf-8?B?MXg4YmV0Qms2VUpwL1hPWTR1RFhHRzNUa1AyWjBKR0RoaVBGNDNWT1BHT0xl?=
 =?utf-8?B?RkxUS3BBY2dHNXRlTFBtcG0rMnNHaFpjdFVpTHB5cmxXUjMyYUxlZklmcTJC?=
 =?utf-8?B?T1FpSlBRczYzTzE1a1NQOFp3WnlMZ1dQNXdnN1ErN3lsNEc1VTlzK2l5NnRY?=
 =?utf-8?B?bVdjTHBuMzBhVHJ0YXdxVlhQcFB5ZTFzMURzdkdqdnBuZU8yZHdLTTl5NGpr?=
 =?utf-8?B?VGRPcG9uam54VU9IN2dBS1haVWVRRVFpeE5hcW1KUXNQcEdSbHM2YmpqRS9V?=
 =?utf-8?B?ZFFTVWhidUQweWFxQVF5V29ScTlsVUxqR0VvS0MzMXY1bkR2UG9QdGhGeSsz?=
 =?utf-8?B?T2VtYzRxK2FyL3UxcmZiY2pSWnhDNmRLaEpkTlBqb2QwaVR0UklqTzVreFRC?=
 =?utf-8?B?YjJVQjNBbk1oMHRCaVdDbXF1ZUYrU2hEZlRNQ1N2WXdxdGthd3NtcEhLVUFU?=
 =?utf-8?B?Qjl1YzZoUG5mbVZ5TUVwN2QrRU5lcW1kejBlWm40ZkVlMlV3S3dhTmxkOXJ5?=
 =?utf-8?B?TUk2QXB2dmNzQjE2YjdHSldqWkFNanFvcWFEbWlNaXErTGI2a1UzOEowZzB6?=
 =?utf-8?B?RmtPYVI5cndRYzJ0Ky8waWUycXdjdlI3ajVPVElYUzlQMGc1eUU2QUg0VG93?=
 =?utf-8?B?NFlNZ2lxUm9tUzVmUGVKNEdtY09haXVtWVZqdnFPdHFMVU9iMmg2MmNTTVJh?=
 =?utf-8?Q?4EIUvdrzoKEIvflJMyTiGCN6vcynYx7nH/SLpKL?=
x-ms-exchange-transport-forked: True
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: BN9PR11MB5433.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c8db3366-8703-4962-c63c-08d9612c9ede
X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Aug 2021 03:10:52.0281
 (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: K3umrSIep87ZNIV8IithA7IEc9RkugSMAX3w+bYL/gTLwsj2gJR7f3JdExiyP02/osmrtHo4pzV76gJNAyvMiA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR1101MB2084
X-OriginatorOrg: intel.com

PiBGcm9tOiBLZXZpbiBTdGVmYW5vdiA8a2V2aW4uc3RlZmFub3ZAY2l0cml4LmNvbT4NCj4gU2Vu
dDogTW9uZGF5LCBBdWd1c3QgMTYsIDIwMjEgODo0MyBQTQ0KPiANCj4gQWxzbyBmaXggc3RyYXkg
dXNhZ2UgaW4gVlQtZC4NCj4gDQo+IFN1Z2dlc3RlZC1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3
LmNvb3BlcjNAY2l0cml4LmNvbT4NCj4gU2lnbmVkLW9mZi1ieTogS2V2aW4gU3RlZmFub3YgPGtl
dmluLnN0ZWZhbm92QGNpdHJpeC5jb20+DQoNClJldmlld2VkLWJ5OiBLZXZpbiBUaWFuIDxrZXZp
bi50aWFuQGludGVsLmNvbT4NCg0KPiAtLS0NCj4gQ0M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBz
dXNlLmNvbT4NCj4gQ0M6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+
DQo+IENDOiAiUm9nZXIgUGF1IE1vbm7DqSIgPHJvZ2VyLnBhdUBjaXRyaXguY29tPg0KPiBDQzog
V2VpIExpdSA8d2xAeGVuLm9yZz4NCj4gQ0M6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50ZWwu
Y29tPg0KPiANCj4gdjI6DQo+ICAqIEFsc28gcmVwbGFjZSBsaXRlcmFsIDEvMA0KPiB2MzoNCj4g
ICogRml4IDEtPmZhbHNlIGNvbnZlcnNpb24gZXJyb3INCj4gLS0tDQo+ICB4ZW4vYXJjaC94ODYv
aW9fYXBpYy5jICAgICAgICAgICAgICAgICB8IDM4ICsrKysrKysrKysrKystLS0tLS0tLS0tLS0t
DQo+ICB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW50cmVtYXAuYyB8ICA2ICsrLS0NCj4g
IHhlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC91dGlscy5jICAgIHwgIDIgKy0NCj4gIDMgZmls
ZXMgY2hhbmdlZCwgMjMgaW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZm
IC0tZ2l0IGEveGVuL2FyY2gveDg2L2lvX2FwaWMuYyBiL3hlbi9hcmNoL3g4Ni9pb19hcGljLmMN
Cj4gaW5kZXggNThiMjZkOTYyYy4uYzNhZDllZmFjOCAxMDA2NDQNCj4gLS0tIGEveGVuL2FyY2gv
eDg2L2lvX2FwaWMuYw0KPiArKysgYi94ZW4vYXJjaC94ODYvaW9fYXBpYy5jDQo+IEBAIC0yODks
NyArMjg5LDcgQEAgc3RhdGljIHZvaWQgX19pb19hcGljX2VvaSh1bnNpZ25lZCBpbnQgYXBpYywg
dW5zaWduZWQNCj4gaW50IHZlY3RvciwgdW5zaWduZWQgaW50IHANCj4gICAgICB7DQo+ICAgICAg
ICAgIC8qIElmIHZlY3RvciBpcyB1bmtub3duLCByZWFkIGl0IGZyb20gdGhlIElPLUFQSUMgKi8N
Cj4gICAgICAgICAgaWYgKCB2ZWN0b3IgPT0gSVJRX1ZFQ1RPUl9VTkFTU0lHTkVEICkNCj4gLSAg
ICAgICAgICAgIHZlY3RvciA9IF9faW9hcGljX3JlYWRfZW50cnkoYXBpYywgcGluLCBUUlVFKS52
ZWN0b3I7DQo+ICsgICAgICAgICAgICB2ZWN0b3IgPSBfX2lvYXBpY19yZWFkX2VudHJ5KGFwaWMs
IHBpbiwgdHJ1ZSkudmVjdG9yOw0KPiANCj4gICAgICAgICAgKihJT19BUElDX0JBU0UoYXBpYykr
MTYpID0gdmVjdG9yOw0KPiAgICAgIH0NCj4gQEAgLTMwMCwyOCArMzAwLDI4IEBAIHN0YXRpYyB2
b2lkIF9faW9fYXBpY19lb2kodW5zaWduZWQgaW50IGFwaWMsDQo+IHVuc2lnbmVkIGludCB2ZWN0
b3IsIHVuc2lnbmVkIGludCBwDQo+ICAgICAgICAgIHN0cnVjdCBJT19BUElDX3JvdXRlX2VudHJ5
IGVudHJ5Ow0KPiAgICAgICAgICBib29sIG5lZWRfdG9fdW5tYXNrID0gZmFsc2U7DQo+IA0KPiAt
ICAgICAgICBlbnRyeSA9IF9faW9hcGljX3JlYWRfZW50cnkoYXBpYywgcGluLCBUUlVFKTsNCj4g
KyAgICAgICAgZW50cnkgPSBfX2lvYXBpY19yZWFkX2VudHJ5KGFwaWMsIHBpbiwgdHJ1ZSk7DQo+
IA0KPiAgICAgICAgICBpZiAoICEgZW50cnkubWFzayApDQo+ICAgICAgICAgIHsNCj4gICAgICAg
ICAgICAgIC8qIElmIGVudHJ5IGlzIG5vdCBjdXJyZW50bHkgbWFza2VkLCBtYXNrIGl0IGFuZCBt
YWtlDQo+ICAgICAgICAgICAgICAgKiBhIG5vdGUgdG8gdW5tYXNrIGl0IGxhdGVyICovDQo+ICAg
ICAgICAgICAgICBlbnRyeS5tYXNrID0gMTsNCj4gLSAgICAgICAgICAgIF9faW9hcGljX3dyaXRl
X2VudHJ5KGFwaWMsIHBpbiwgVFJVRSwgZW50cnkpOw0KPiArICAgICAgICAgICAgX19pb2FwaWNf
d3JpdGVfZW50cnkoYXBpYywgcGluLCB0cnVlLCBlbnRyeSk7DQo+ICAgICAgICAgICAgICBuZWVk
X3RvX3VubWFzayA9IHRydWU7DQo+ICAgICAgICAgIH0NCj4gDQo+ICAgICAgICAgIC8qIEZsaXAg
dGhlIHRyaWdnZXIgbW9kZSB0byBlZGdlIGFuZCBiYWNrICovDQo+ICAgICAgICAgIGVudHJ5LnRy
aWdnZXIgPSAwOw0KPiAtICAgICAgICBfX2lvYXBpY193cml0ZV9lbnRyeShhcGljLCBwaW4sIFRS
VUUsIGVudHJ5KTsNCj4gKyAgICAgICAgX19pb2FwaWNfd3JpdGVfZW50cnkoYXBpYywgcGluLCB0
cnVlLCBlbnRyeSk7DQo+ICAgICAgICAgIGVudHJ5LnRyaWdnZXIgPSAxOw0KPiAtICAgICAgICBf
X2lvYXBpY193cml0ZV9lbnRyeShhcGljLCBwaW4sIFRSVUUsIGVudHJ5KTsNCj4gKyAgICAgICAg
X19pb2FwaWNfd3JpdGVfZW50cnkoYXBpYywgcGluLCB0cnVlLCBlbnRyeSk7DQo+IA0KPiAgICAg
ICAgICBpZiAoIG5lZWRfdG9fdW5tYXNrICkNCj4gICAgICAgICAgew0KPiAgICAgICAgICAgICAg
LyogVW5tYXNrIGlmIG5lY2Nlc2FyeSAqLw0KPiAgICAgICAgICAgICAgZW50cnkubWFzayA9IDA7
DQo+IC0gICAgICAgICAgICBfX2lvYXBpY193cml0ZV9lbnRyeShhcGljLCBwaW4sIFRSVUUsIGVu
dHJ5KTsNCj4gKyAgICAgICAgICAgIF9faW9hcGljX3dyaXRlX2VudHJ5KGFwaWMsIHBpbiwgdHJ1
ZSwgZW50cnkpOw0KPiAgICAgICAgICB9DQo+ICAgICAgfQ0KPiAgfQ0KPiBAQCAtMzQ0LDcgKzM0
NCw3IEBAIGludCBzYXZlX0lPX0FQSUNfc2V0dXAoc3RydWN0IElPX0FQSUNfcm91dGVfZW50cnkN
Cj4gKippb2FwaWNfZW50cmllcykNCj4gICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOw0KPiAN
Cj4gICAgICAgICAgZm9yIChwaW4gPSAwOyBwaW4gPCBucl9pb2FwaWNfZW50cmllc1thcGljXTsg
cGluKyspDQo+IC0JICAgIGlvYXBpY19lbnRyaWVzW2FwaWNdW3Bpbl0gPSBfX2lvYXBpY19yZWFk
X2VudHJ5KGFwaWMsIHBpbiwgMSk7DQo+ICsJICAgIGlvYXBpY19lbnRyaWVzW2FwaWNdW3Bpbl0g
PSBfX2lvYXBpY19yZWFkX2VudHJ5KGFwaWMsIHBpbiwgdHJ1ZSk7DQo+ICAgICAgfQ0KPiANCj4g
ICAgICByZXR1cm4gMDsNCj4gQEAgLTM3NCw3ICszNzQsNyBAQCB2b2lkIG1hc2tfSU9fQVBJQ19z
ZXR1cChzdHJ1Y3QNCj4gSU9fQVBJQ19yb3V0ZV9lbnRyeSAqKmlvYXBpY19lbnRyaWVzKQ0KPiAg
ICAgICAgICAgICAgaWYgKCFlbnRyeS5tYXNrKSB7DQo+ICAgICAgICAgICAgICAgICAgZW50cnku
bWFzayA9IDE7DQo+IA0KPiAtICAgICAgICAgICAgICAgIGlvYXBpY193cml0ZV9lbnRyeShhcGlj
LCBwaW4sIDEsIGVudHJ5KTsNCj4gKyAgICAgICAgICAgICAgICBpb2FwaWNfd3JpdGVfZW50cnko
YXBpYywgcGluLCB0cnVlLCBlbnRyeSk7DQo+ICAgICAgICAgICAgICB9DQo+ICAgICAgICAgIH0N
Cj4gICAgICB9DQo+IEBAIC0xMDQ3LDcgKzEwNDcsNyBAQCBzdGF0aWMgdm9pZCBfX2luaXQgc2V0
dXBfSU9fQVBJQ19pcnFzKHZvaWQpDQo+IA0KPiAgICAgICAgICAgICAgU0VUX0RFU1QoZW50cnks
IGxvZ2ljYWwsIGNwdV9tYXNrX3RvX2FwaWNpZChUQVJHRVRfQ1BVUykpOw0KPiAgICAgICAgICAg
ICAgc3Bpbl9sb2NrX2lycXNhdmUoJmlvYXBpY19sb2NrLCBmbGFncyk7DQo+IC0gICAgICAgICAg
ICBfX2lvYXBpY193cml0ZV9lbnRyeShhcGljLCBwaW4sIDAsIGVudHJ5KTsNCj4gKyAgICAgICAg
ICAgIF9faW9hcGljX3dyaXRlX2VudHJ5KGFwaWMsIHBpbiwgZmFsc2UsIGVudHJ5KTsNCj4gICAg
ICAgICAgICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmlvYXBpY19sb2NrLCBmbGFncyk7DQo+
ICAgICAgICAgIH0NCj4gICAgICB9DQo+IEBAIC0xMDkxLDcgKzEwOTEsNyBAQCBzdGF0aWMgdm9p
ZCBfX2luaXQgc2V0dXBfRXh0SU5UX0lSUTBfcGluKHVuc2lnbmVkDQo+IGludCBhcGljLCB1bnNp
Z25lZCBpbnQgcGluLCBpbg0KPiAgICAgIC8qDQo+ICAgICAgICogQWRkIGl0IHRvIHRoZSBJTy1B
UElDIGlycS1yb3V0aW5nIHRhYmxlOg0KPiAgICAgICAqLw0KPiAtICAgIGlvYXBpY193cml0ZV9l
bnRyeShhcGljLCBwaW4sIDAsIGVudHJ5KTsNCj4gKyAgICBpb2FwaWNfd3JpdGVfZW50cnkoYXBp
YywgcGluLCBmYWxzZSwgZW50cnkpOw0KPiANCj4gICAgICBlbmFibGVfODI1OUFfaXJxKGlycV90
b19kZXNjKDApKTsNCj4gIH0NCj4gQEAgLTEyMDMsNyArMTIwMyw3IEBAIHN0YXRpYyB2b2lkIC8q
X19pbml0Ki8gX19wcmludF9JT19BUElDKGJvb2wgYm9vdCkNCj4gIAlmb3IgKGkgPSAwOyBpIDw9
IHJlZ18wMS5iaXRzLmVudHJpZXM7IGkrKykgew0KPiAgICAgICAgICAgICAgc3RydWN0IElPX0FQ
SUNfcm91dGVfZW50cnkgZW50cnk7DQo+IA0KPiAtICAgICAgICAgICAgZW50cnkgPSBpb2FwaWNf
cmVhZF9lbnRyeShhcGljLCBpLCAwKTsNCj4gKyAgICAgICAgICAgIGVudHJ5ID0gaW9hcGljX3Jl
YWRfZW50cnkoYXBpYywgaSwgZmFsc2UpOw0KPiANCj4gICAgICAgICAgICAgIGlmICggeDJhcGlj
X2VuYWJsZWQgJiYgaW9tbXVfaW50cmVtYXAgKQ0KPiAgICAgICAgICAgICAgICAgIHByaW50ayhL
RVJOX0RFQlVHICIgJTAyeCAlMDh4IiwgaSwgZW50cnkuZGVzdC5kZXN0MzIpOw0KPiBAQCAtMTI5
MCw3ICsxMjkwLDcgQEAgc3RhdGljIHZvaWQgX19pbml0IGVuYWJsZV9JT19BUElDKHZvaWQpDQo+
ICAgICAgICAgIGludCBwaW47DQo+ICAgICAgICAgIC8qIFNlZSBpZiBhbnkgb2YgdGhlIHBpbnMg
aXMgaW4gRXh0SU5UIG1vZGUgKi8NCj4gICAgICAgICAgZm9yIChwaW4gPSAwOyBwaW4gPCBucl9p
b2FwaWNfZW50cmllc1thcGljXTsgcGluKyspIHsNCj4gLSAgICAgICAgICAgIHN0cnVjdCBJT19B
UElDX3JvdXRlX2VudHJ5IGVudHJ5ID0gaW9hcGljX3JlYWRfZW50cnkoYXBpYywgcGluLCAwKTsN
Cj4gKyAgICAgICAgICAgIHN0cnVjdCBJT19BUElDX3JvdXRlX2VudHJ5IGVudHJ5ID0gaW9hcGlj
X3JlYWRfZW50cnkoYXBpYywgcGluLA0KPiBmYWxzZSk7DQo+IA0KPiAgICAgICAgICAgICAgLyog
SWYgdGhlIGludGVycnVwdCBsaW5lIGlzIGVuYWJsZWQgYW5kIGluIEV4dEludCBtb2RlDQo+ICAg
ICAgICAgICAgICAgKiBJIGhhdmUgZm91bmQgdGhlIHBpbiB3aGVyZSB0aGUgaTgyNTkgaXMgY29u
bmVjdGVkLg0KPiBAQCAtMTM2MSw3ICsxMzYxLDcgQEAgdm9pZCBkaXNhYmxlX0lPX0FQSUModm9p
ZCkNCj4gICAgICAgICAgLyoNCj4gICAgICAgICAgICogQWRkIGl0IHRvIHRoZSBJTy1BUElDIGly
cS1yb3V0aW5nIHRhYmxlOg0KPiAgICAgICAgICAgKi8NCj4gLSAgICAgICAgaW9hcGljX3dyaXRl
X2VudHJ5KGlvYXBpY19pODI1OS5hcGljLCBpb2FwaWNfaTgyNTkucGluLCAwLCBlbnRyeSk7DQo+
ICsgICAgICAgIGlvYXBpY193cml0ZV9lbnRyeShpb2FwaWNfaTgyNTkuYXBpYywgaW9hcGljX2k4
MjU5LnBpbiwgZmFsc2UsIGVudHJ5KTsNCj4gICAgICB9DQo+ICAgICAgZGlzY29ubmVjdF9ic3Bf
QVBJQyhpb2FwaWNfaTgyNTkucGluICE9IC0xKTsNCj4gIH0NCj4gQEAgLTE4NDEsNyArMTg0MSw3
IEBAIHN0YXRpYyB2b2lkIF9faW5pdCB1bmxvY2tfRXh0SU5UX2xvZ2ljKHZvaWQpDQo+ICAgICAg
aWYgKCBwaW4gPT0gLTEgfHwgYXBpYyA9PSAtMSApDQo+ICAgICAgICAgIHJldHVybjsNCj4gDQo+
IC0gICAgZW50cnkwID0gaW9hcGljX3JlYWRfZW50cnkoYXBpYywgcGluLCAwKTsNCj4gKyAgICBl
bnRyeTAgPSBpb2FwaWNfcmVhZF9lbnRyeShhcGljLCBwaW4sIGZhbHNlKTsNCj4gICAgICBjbGVh
cl9JT19BUElDX3BpbihhcGljLCBwaW4pOw0KPiANCj4gICAgICBtZW1zZXQoJmVudHJ5MSwgMCwg
c2l6ZW9mKGVudHJ5MSkpOw0KPiBAQCAtMTg1NCw3ICsxODU0LDcgQEAgc3RhdGljIHZvaWQgX19p
bml0IHVubG9ja19FeHRJTlRfbG9naWModm9pZCkNCj4gICAgICBlbnRyeTEudHJpZ2dlciA9IDA7
DQo+ICAgICAgZW50cnkxLnZlY3RvciA9IDA7DQo+IA0KPiAtICAgIGlvYXBpY193cml0ZV9lbnRy
eShhcGljLCBwaW4sIDAsIGVudHJ5MSk7DQo+ICsgICAgaW9hcGljX3dyaXRlX2VudHJ5KGFwaWMs
IHBpbiwgZmFsc2UsIGVudHJ5MSk7DQo+IA0KPiAgICAgIHNhdmVfY29udHJvbCA9IENNT1NfUkVB
RChSVENfQ09OVFJPTCk7DQo+ICAgICAgc2F2ZV9mcmVxX3NlbGVjdCA9IENNT1NfUkVBRChSVENf
RlJFUV9TRUxFQ1QpOw0KPiBAQCAtMTg3Myw3ICsxODczLDcgQEAgc3RhdGljIHZvaWQgX19pbml0
IHVubG9ja19FeHRJTlRfbG9naWModm9pZCkNCj4gICAgICBDTU9TX1dSSVRFKHNhdmVfZnJlcV9z
ZWxlY3QsIFJUQ19GUkVRX1NFTEVDVCk7DQo+ICAgICAgY2xlYXJfSU9fQVBJQ19waW4oYXBpYywg
cGluKTsNCj4gDQo+IC0gICAgaW9hcGljX3dyaXRlX2VudHJ5KGFwaWMsIHBpbiwgMCwgZW50cnkw
KTsNCj4gKyAgICBpb2FwaWNfd3JpdGVfZW50cnkoYXBpYywgcGluLCBmYWxzZSwgZW50cnkwKTsN
Cj4gIH0NCj4gDQo+ICAvKg0KPiBAQCAtMjI4Nyw3ICsyMjg3LDcgQEAgaW50IGlvX2FwaWNfc2V0
X3BjaV9yb3V0aW5nIChpbnQgaW9hcGljLCBpbnQgcGluLCBpbnQNCj4gaXJxLCBpbnQgZWRnZV9s
ZXZlbCwgaW50IGENCj4gICAgICAgICAgZGlzYWJsZV84MjU5QV9pcnEoZGVzYyk7DQo+IA0KPiAg
ICAgIHNwaW5fbG9ja19pcnFzYXZlKCZpb2FwaWNfbG9jaywgZmxhZ3MpOw0KPiAtICAgIF9faW9h
cGljX3dyaXRlX2VudHJ5KGlvYXBpYywgcGluLCAwLCBlbnRyeSk7DQo+ICsgICAgX19pb2FwaWNf
d3JpdGVfZW50cnkoaW9hcGljLCBwaW4sIGZhbHNlLCBlbnRyeSk7DQo+ICAgICAgc3Bpbl91bmxv
Y2soJmlvYXBpY19sb2NrKTsNCj4gDQo+ICAgICAgc3Bpbl9sb2NrKCZkZXNjLT5sb2NrKTsNCj4g
QEAgLTI0NzYsNyArMjQ3Niw3IEBAIGludCBpb2FwaWNfZ3Vlc3Rfd3JpdGUodW5zaWduZWQgbG9u
ZyBwaHlzYmFzZSwNCj4gdW5zaWduZWQgaW50IHJlZywgdTMyIHZhbCkNCj4gICAgICAgICAgcnRl
Lm1hc2sgPSAxOw0KPiAgICAgIH0NCj4gDQo+IC0gICAgX19pb2FwaWNfd3JpdGVfZW50cnkoYXBp
YywgcGluLCAwLCBydGUpOw0KPiArICAgIF9faW9hcGljX3dyaXRlX2VudHJ5KGFwaWMsIHBpbiwg
ZmFsc2UsIHJ0ZSk7DQo+IA0KPiAgICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmlvYXBpY19s
b2NrLCBmbGFncyk7DQo+IA0KPiBAQCAtMjUyOSw3ICsyNTI5LDcgQEAgdm9pZCBkdW1wX2lvYXBp
Y19pcnFfaW5mbyh2b2lkKQ0KPiANCj4gICAgICAgICAgICAgIHByaW50aygiICAgICAgQXBpYyAw
eCUwMngsIFBpbiAlMmQ6ICIsIGVudHJ5LT5hcGljLCBwaW4pOw0KPiANCj4gLSAgICAgICAgICAg
IHJ0ZSA9IGlvYXBpY19yZWFkX2VudHJ5KGVudHJ5LT5hcGljLCBwaW4sIDApOw0KPiArICAgICAg
ICAgICAgcnRlID0gaW9hcGljX3JlYWRfZW50cnkoZW50cnktPmFwaWMsIHBpbiwgZmFsc2UpOw0K
PiANCj4gICAgICAgICAgICAgIHByaW50aygidmVjPSUwMnggZGVsaXZlcnk9JS01cyBkZXN0PSVj
IHN0YXR1cz0lZCAiDQo+ICAgICAgICAgICAgICAgICAgICAgInBvbGFyaXR5PSVkIGlycj0lZCB0
cmlnPSVjIG1hc2s9JWQgZGVzdF9pZDolMCp4XG4iLA0KPiBkaWZmIC0tZ2l0IGEveGVuL2RyaXZl
cnMvcGFzc3Rocm91Z2gvdnRkL2ludHJlbWFwLmMNCj4gYi94ZW4vZHJpdmVycy9wYXNzdGhyb3Vn
aC92dGQvaW50cmVtYXAuYw0KPiBpbmRleCBkMGY3MGQ5MGViLi4wMTE1MmYyMDA2IDEwMDY0NA0K
PiAtLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW50cmVtYXAuYw0KPiArKysgYi94
ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW50cmVtYXAuYw0KPiBAQCAtNDI3LDcgKzQyNyw3
IEBAIHVuc2lnbmVkIGludCBpb19hcGljX3JlYWRfcmVtYXBfcnRlKA0KPiAgICAgICAgICAoIChp
bmRleCA9IGFwaWNfcGluXzJfaXJfaWR4W2FwaWNdW2lvYXBpY19waW5dKSA8IDAgKSApDQo+ICAg
ICAgICAgIHJldHVybiBfX2lvX2FwaWNfcmVhZChhcGljLCByZWcpOw0KPiANCj4gLSAgICBvbGRf
cnRlID0gX19pb2FwaWNfcmVhZF9lbnRyeShhcGljLCBpb2FwaWNfcGluLCAxKTsNCj4gKyAgICBv
bGRfcnRlID0gX19pb2FwaWNfcmVhZF9lbnRyeShhcGljLCBpb2FwaWNfcGluLCB0cnVlKTsNCj4g
DQo+ICAgICAgaWYgKCByZW1hcF9lbnRyeV90b19pb2FwaWNfcnRlKGlvbW11LCBpbmRleCwgJm9s
ZF9ydGUpICkNCj4gICAgICAgICAgcmV0dXJuIF9faW9fYXBpY19yZWFkKGFwaWMsIHJlZyk7DQo+
IEBAIC00NDgsNyArNDQ4LDcgQEAgdm9pZCBpb19hcGljX3dyaXRlX3JlbWFwX3J0ZSgNCj4gICAg
ICBzdHJ1Y3QgdnRkX2lvbW11ICppb21tdSA9IGlvYXBpY190b19pb21tdShJT19BUElDX0lEKGFw
aWMpKTsNCj4gICAgICBpbnQgc2F2ZWRfbWFzazsNCj4gDQo+IC0gICAgb2xkX3J0ZSA9IF9faW9h
cGljX3JlYWRfZW50cnkoYXBpYywgaW9hcGljX3BpbiwgMSk7DQo+ICsgICAgb2xkX3J0ZSA9IF9f
aW9hcGljX3JlYWRfZW50cnkoYXBpYywgaW9hcGljX3BpbiwgdHJ1ZSk7DQo+IA0KPiAgICAgIHJl
bWFwX3J0ZSA9IChzdHJ1Y3QgSU9fQVBJQ19yb3V0ZV9yZW1hcF9lbnRyeSAqKSAmb2xkX3J0ZTsN
Cj4gDQo+IEBAIC00NjgsNyArNDY4LDcgQEAgdm9pZCBpb19hcGljX3dyaXRlX3JlbWFwX3J0ZSgN
Cj4gICAgICAgICAgICAgIF9faW9fYXBpY193cml0ZShhcGljLCByZWcgJiB+MSwgKih1MzIgKikm
b2xkX3J0ZSk7DQo+ICAgICAgfQ0KPiAgICAgIGVsc2UNCj4gLSAgICAgICAgX19pb2FwaWNfd3Jp
dGVfZW50cnkoYXBpYywgaW9hcGljX3BpbiwgMSwgb2xkX3J0ZSk7DQo+ICsgICAgICAgIF9faW9h
cGljX3dyaXRlX2VudHJ5KGFwaWMsIGlvYXBpY19waW4sIHRydWUsIG9sZF9ydGUpOw0KPiAgfQ0K
PiANCj4gIHN0YXRpYyB2b2lkIHNldF9tc2lfc291cmNlX2lkKHN0cnVjdCBwY2lfZGV2ICpwZGV2
LCBzdHJ1Y3QgaXJlbWFwX2VudHJ5ICppcmUpDQo+IGRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9w
YXNzdGhyb3VnaC92dGQvdXRpbHMuYw0KPiBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC91
dGlscy5jDQo+IGluZGV4IDRmZWJjZjUwNmQuLjcwYWRkM2NjOGUgMTAwNjQ0DQo+IC0tLSBhL3hl
bi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC91dGlscy5jDQo+ICsrKyBiL3hlbi9kcml2ZXJzL3Bh
c3N0aHJvdWdoL3Z0ZC91dGlscy5jDQo+IEBAIC0yODEsNyArMjgxLDcgQEAgdm9pZCB2dGRfZHVt
cF9pb21tdV9pbmZvKHVuc2lnbmVkIGNoYXIga2V5KQ0KPiAgICAgICAgICAgICAgZm9yICggaSA9
IDA7IGkgPD0gcmVnXzAxLmJpdHMuZW50cmllczsgaSsrICkNCj4gICAgICAgICAgICAgIHsNCj4g
ICAgICAgICAgICAgICAgICBzdHJ1Y3QgSU9fQVBJQ19yb3V0ZV9lbnRyeSBydGUgPQ0KPiAtICAg
ICAgICAgICAgICAgICAgICBfX2lvYXBpY19yZWFkX2VudHJ5KGFwaWMsIGksIFRSVUUpOw0KPiAr
ICAgICAgICAgICAgICAgICAgICBfX2lvYXBpY19yZWFkX2VudHJ5KGFwaWMsIGksIHRydWUpOw0K
PiANCj4gICAgICAgICAgICAgICAgICByZW1hcCA9IChzdHJ1Y3QgSU9fQVBJQ19yb3V0ZV9yZW1h
cF9lbnRyeSAqKSAmcnRlOw0KPiAgICAgICAgICAgICAgICAgIGlmICggIXJlbWFwLT5mb3JtYXQg
KQ0KPiAtLQ0KPiAyLjI1LjENCg0K


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 03:12:26 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 03:12:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167579.305913 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFpWb-0004Bk-3u; Tue, 17 Aug 2021 03:12:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167579.305913; Tue, 17 Aug 2021 03: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 1mFpWb-0004Bb-0r; Tue, 17 Aug 2021 03:12:25 +0000
Received: by outflank-mailman (input) for mailman id 167579;
 Tue, 17 Aug 2021 03:12: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 1mFpWZ-0004BP-Kr; Tue, 17 Aug 2021 03:12: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 1mFpWZ-0002iH-Bl; Tue, 17 Aug 2021 03:12: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 1mFpWZ-0003s0-4L; Tue, 17 Aug 2021 03:12:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mFpWZ-0004ph-3r; Tue, 17 Aug 2021 03:12:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=PIeGypRMxIb2RqcaOhekyMwGEkH5EzugR6UW8SUc1Mg=; b=xvl5jnLI3gf8UYLsB9NaQVfJhY
	zoBYRCXq6wLR+XMsZJBX8kENsQf6/CCNyuiWb3iyVBptT0VoZ6tmfKh/GNmkcD7NCcPCGtZz1BXew
	CubNby9Etc4TvFQ+Emfb4/ng7BCuifz3bpOiXDYz95laU9qFJwYefDakjo0gQsNspciY=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164221-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 164221: regressions - FAIL
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:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=35727551c0703493a2240e967cffc3063b13d49c
X-Osstest-Versions-That:
    xen=274c5e79c792ce0331d0d8cd9a01545dea5a48fd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 17 Aug 2021 03:12:23 +0000

flight 164221 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164221/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                   6 xen-build                fail REGR. vs. 164206

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          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  35727551c0703493a2240e967cffc3063b13d49c
baseline version:
 xen                  274c5e79c792ce0331d0d8cd9a01545dea5a48fd

Last test of basis   164206  2021-08-16 14:01:35 Z    0 days
Testing same since   164207  2021-08-16 17:01:34 Z    0 days    3 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>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  fail    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          blocked 
 test-armhf-armhf-xl                                          pass    
 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 35727551c0703493a2240e967cffc3063b13d49c
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Thu Aug 12 17:39:16 2021 +0100

    x86/cet: Fix shskt manipulation error with BUGFRAME_{warn,run_fn}
    
    This was a clear oversight in the original CET work.  The BUGFRAME_run_fn and
    BUGFRAME_warn paths update regs->rip without an equivalent adjustment to the
    shadow stack, causing IRET to suffer #CP because of the mismatch.
    
    One subtle, and therefore fragile, aspect of extable_shstk_fixup() was that it
    required regs->rip to have its old value as a cross-check that the right word
    in the shadow stack was being edited.
    
    Rework extable_shstk_fixup() into fixup_exception_return() which takes
    ownership of the update to both the regular and shadow stacks, ensuring that
    the regs->rip update is ordered correctly.
    
    Use the new fixup_exception_return() for BUGFRAME_run_fn and BUGFRAME_warn to
    ensure that the shadow stack is updated too.
    
    Fixes: 209fb9919b50 ("x86/extable: Adjust extable handling to be shadow stack compatible")
    Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Tested-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit bc141e8ca56200bdd0a12e04a6ebff3c19d6c27b
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Mon Aug 16 14:24:44 2021 +0100

    x86/ACPI: Insert missing newlines into FACS error messages
    
    Booting Xen as a PVH guest currently yields:
    
      (XEN) ACPI: SLEEP INFO: pm1x_cnt[1:b004,1:0], pm1x_evt[1:b000,1:0]
      (XEN) ACPI: FACS is not 64-byte aligned: 0xfc001010<2>ACPI: wakeup_vec[fc00101c], vec_size[20]
      (XEN) ACPI: Local APIC address 0xfee00000
    
    Insert newlines as appropriate.
    
    Fixes: d3faf9badf52 ("[host s3] Retrieve necessary sleep information from plain-text ACPI tables (FADT/FACS), and keep one hypercall remained for sleep notification.")
    Fixes: 0f089bbf43ec ("x86/ACPI: fix S3 wakeup vector mapping")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit 6928bc511399fd8f593fe49a3241212860a6a1b5
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Thu Aug 12 14:49:57 2021 +0100

    MAINTAINERS: Fix file path for kexec headers
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 04:33:58 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 04:33:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167586.305926 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFqnJ-0003Kt-H8; Tue, 17 Aug 2021 04:33:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167586.305926; Tue, 17 Aug 2021 04: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 1mFqnJ-0003Km-ED; Tue, 17 Aug 2021 04:33:45 +0000
Received: by outflank-mailman (input) for mailman id 167586;
 Tue, 17 Aug 2021 04:33: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 1mFqnH-0003Kc-Ob; Tue, 17 Aug 2021 04:33: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 1mFqnH-0004H4-Fx; Tue, 17 Aug 2021 04:33: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 1mFqnH-0007OO-4x; Tue, 17 Aug 2021 04:33:43 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mFqnH-0001ZS-4R; Tue, 17 Aug 2021 04:33: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=J0wVmfM1fa6dqDQrUceaSrwVc+ou/NPwb5NjRO2f7HE=; b=aN38RN2l4jshHQuyXcZs0CgkRP
	1RjgMQFSbLpjXTtr9dMYcnWgGsjwLeiPhtDGh3VyyV8IcLk4bRhCpMNKH1KD4MlEmXH1/06tn7aEv
	xa54PLYrgUPWx/ET5oUFHZPZ00IgoO0rVT7aCS8XFBRR4VASGsL2NVg4EoIzecQ3ORiA=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164203-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 164203: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    linux-5.4:test-armhf-armhf-xl-arndale:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-credit1:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-multivcpu:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-vhd:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-arndale:host-install(5):broken:regression
    linux-5.4:test-armhf-armhf-xl-credit1:host-install(5):broken:regression
    linux-5.4:test-armhf-armhf-examine:host-install:broken:regression
    linux-5.4:test-armhf-armhf-libvirt:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-credit2:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:regression
    linux-5.4:test-amd64-amd64-amd64-pvgrub:debian-di-install:fail:regression
    linux-5.4:test-armhf-armhf-xl-credit2:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-libvirt:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-vhd:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check: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-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt: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-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1: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-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-libvirt-xsm: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-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=b704883aa8dc4d1d232d3a3cdc438a64889fcc6e
X-Osstest-Versions-That:
    linux=e350cd02e293be9a6b93398b2d3ff1edf7695ab2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 17 Aug 2021 04:33:43 +0000

flight 164203 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164203/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl-arndale     <job status>                 broken
 test-armhf-armhf-xl-credit1     <job status>                 broken
 test-armhf-armhf-xl-multivcpu    <job status>                 broken
 test-armhf-armhf-xl-vhd         <job status>                 broken
 test-armhf-armhf-xl-arndale   5 host-install(5)        broken REGR. vs. 164131
 test-armhf-armhf-xl-credit1   5 host-install(5)        broken REGR. vs. 164131
 test-armhf-armhf-examine      5 host-install           broken REGR. vs. 164131
 test-armhf-armhf-libvirt        <job status>                 broken  in 164196
 test-armhf-armhf-xl             <job status>                 broken  in 164196
 test-armhf-armhf-xl-credit2     <job status>                 broken  in 164196
 test-amd64-amd64-i386-pvgrub 12 debian-di-install        fail REGR. vs. 164131
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install       fail REGR. vs. 164131

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-credit2  5 host-install(5) broken in 164196 pass in 164203
 test-armhf-armhf-xl          5 host-install(5) broken in 164196 pass in 164203
 test-armhf-armhf-libvirt     5 host-install(5) broken in 164196 pass in 164203
 test-armhf-armhf-xl-multivcpu  5 host-install(5)         broken pass in 164196
 test-armhf-armhf-xl-vhd       5 host-install(5)          broken pass in 164196

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check fail in 164196 never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check fail in 164196 never pass
 test-armhf-armhf-xl-vhd     14 migrate-support-check fail in 164196 never pass
 test-armhf-armhf-xl-vhd 15 saverestore-support-check fail in 164196 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164131
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 164131
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 164131
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164131
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164131
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164131
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 164131
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164131
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 164131
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164131
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164131
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-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-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                b704883aa8dc4d1d232d3a3cdc438a64889fcc6e
baseline version:
 linux                e350cd02e293be9a6b93398b2d3ff1edf7695ab2

Last test of basis   164131  2021-08-08 07:11:59 Z    8 days
Failing since        164167  2021-08-12 11:47:56 Z    4 days    9 attempts
Testing same since   164196  2021-08-15 18:44:07 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alan Stern <stern@rowland.harvard.edu>
  Alex Xu (Hello71) <alex_y_xu@yahoo.ca>
  Alexander Monakov <amonakov@ispras.ru>
  Alexander Tsoy <alexander@tsoy.me>
  Alexandre Courbot <gnurou@gmail.com>
  Alexei Starovoitov <ast@kernel.org>
  Anand Jain <anand.jain@oracle.com>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Anirudh Rayabharam <mail@anirudhrb.com>
  Antoine Tenart <atenart@kernel.org>
  Arnd Bergmann <arnd@arndb.de>
  Bartosz Golaszewski <bgolaszewski@baylibre.com>
  Brian Norris <briannorris@chromium.org>
  Catalin Marinas <catalin.marinas@arm.com>
  Chanho Park <chanho61.park@samsung.com>
  chihhao.chen <chihhao.chen@mediatek.com>
  Christoph Hellwig <hch@lst.de>
  Colin Ian King <colin.king@canonical.com>
  Dan Carpenter <dan.carpenter@oracle.com>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniele Palmas <dnlplm@gmail.com>
  Dario Binacchi <dariobin@libero.it>
  David Bauer <mail@david-bauer.net>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Dmitry Osipenko <digetx@gmail.com>
  Dominik Brodowski <linux@dominikbrodowski.net>
  Dongliang Mu <mudongliangabcd@gmail.com>
  Eero Lehtinen <debiangamer2@gmail.com>
  Fei Qin <fei.qin@corigine.com>
  Felipe Balbi <balbi@kernel.org>
  Filipe Manana <fdmanana@suse.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Gregory CLEMENT <gregory.clement@bootlin.com>
  Guenter Roeck <linux@roeck-us.net>
  Guido Kiener <guido.kiener@rohde-schwarz.com>
  Guoqing Jiang <jiangguoqing@kylinos.cn>
  H. Nikolaus Schaller <hns@goldelico.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Hervé Codina <herve.codina@bootlin.com>
  Hui Su <suhui@zeku.com>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jan Kara <jack@suse.cz>
  Jarkko Sakkinen <jarkko@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jens Wiklander <jens.wiklander@linaro.org>
  Johan Hovold <johan@kernel.org>
  Johannes Berg <johannes.berg@intel.com>
  Jon Hunter <jonathanh@nvidia.com>
  Juergen Borleis <jbe@pengutronix.de>
  Kieran Bingham <kieran.bingham@ideasonboard.com>
  Kim Phillips <kim.phillips@amd.com>
  Lai Jiangshan <laijs@linux.alibaba.com>
  Letu Ren <fantasquex@gmail.com>
  Li Manyi <limanyi@uniontech.com>
  Liam Merwick <liam.merwick@oracle.com>
  Like Xu <likexu@tencent.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Longfang Liu <liulongfang@huawei.com>
  Louis Peens <louis.peens@corigine.com>
  Luis Chamberlain <mcgrof@kernel.org>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Luke D Jones <luke@ljones.dev>
  Maciej W. Rozycki <macro@orcam.me.uk>
  Marek Szyprowski <m.szyprowski@samsung.com>
  Marek Vasut <marex@denx.de>
  Mario Kleiner <mario.kleiner.de@gmail.com>
  Mark Brown <broonie@kernel.org>
  Mark Rutland <mark.rutland@arm.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Masami Hiramatsu <mhiramat@kernel.org>
  Matt Turner <mattst88@gmail.com>
  Matteo Croce <mcroce@microsoft.com>
  Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
  Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Maxim Devaev <mdevaev@gmail.com>
  Maxime Chevallier <maxime.chevallier@bootlin.com>
  Michael Tretter <m.tretter@pengutronix.de>
  Miklos Szeredi <mszeredi@redhat.com>
  Nikolay Borisov <nborisov@suse.com>
  Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Pali Rohár <pali@kernel.org>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Machek (CIP) <pavel@denx.de>
  Pavel Skripkin <paskripkin@gmail.com>
  Pawel Laszczak <pawell@cadence.com>
  Peter Chen <peter.chen@kernel.org>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Phil Elwell <phil@raspberrypi.com>
  Prarit Bhargava <prarit@redhat.com>
  Qiang.zhang <qiang.zhang@windriver.com>
  Qu Wenruo <wqu@suse.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Sasha Levin <sashal@kernel.org>
  Sean Christopherson <seanjc@google.com>
  Sean Young <sean@mess.org>
  Sebastian Andrzej Siewior <bigeasy@linutronix.de>
  Shawn Guo <shawnguo@kernel.org>
  Shreyansh Chouhan <chouhan.shreyansh630@gmail.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Song Liu <song@kernel.org>
  Stas Sergeev <stsp2@yandex.ru>
  Stephen Boyd <sboyd@kernel.org>
  Steve Bennett <steveb@workware.net.au>
  Steven Rostedt (VMware) <rostedt@goodmis.org>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Sumit Garg <sumit.garg@linaro.org>
  syzbot+de271708674e2093097b@syzkaller.appspotmail.com
  Takashi Iwai <tiwai@suse.de>
  Tejun Heo <tj@kernel.org>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Theodore Ts'o <tytso@mit.edu>
  Thierry Reding <treding@nvidia.com>
  Thomas Gleixner <tglx@linutronix.de>
  Tony Lindgren <tony@atomide.com>
  Tyler Hicks <tyhicks@linux.microsoft.com>
  Vinod Koul <vkoul@kernel.org>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Wang Hai <wanghai38@huawei.com>
  Wei Shuyu <wsy@dogben.com>
  Wesley Cheng <wcheng@codeaurora.org>
  Will Deacon <will@kernel.org>
  Willy Tarreau <w@1wt.eu>
  Xiangyang Zhang <xyz.sun.ok@gmail.com>
  Xin Long <lucien.xin@gmail.com>
  Yang Yingliang <yangyingliang@huawei.com>
  Yu Kuai <yukuai3@huawei.com>
  YueHaibing <yuehaibing@huawei.com>
  Zheyu Ma <zheyuma97@gmail.com>
  Zhiyong Tao <zhiyong.tao@mediatek.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  broken  
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  broken  
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     fail    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                broken  
 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-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      broken  


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-armhf-armhf-xl-arndale broken
broken-job test-armhf-armhf-xl-credit1 broken
broken-job test-armhf-armhf-xl-multivcpu broken
broken-job test-armhf-armhf-xl-vhd broken
broken-step test-armhf-armhf-xl-arndale host-install(5)
broken-step test-armhf-armhf-xl-credit1 host-install(5)
broken-step test-armhf-armhf-xl-multivcpu host-install(5)
broken-step test-armhf-armhf-xl-vhd host-install(5)
broken-step test-armhf-armhf-examine host-install
broken-job test-armhf-armhf-xl-arndale broken
broken-job test-armhf-armhf-libvirt broken
broken-job test-armhf-armhf-xl-credit1 broken
broken-job test-armhf-armhf-xl broken
broken-job test-armhf-armhf-xl-credit2 broken

Not pushing.

(No revision log; it would be 3656 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 06:41:54 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 06:41:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167593.305941 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFsn5-00071c-Ta; Tue, 17 Aug 2021 06:41:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167593.305941; Tue, 17 Aug 2021 06:41: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 1mFsn5-00071V-QV; Tue, 17 Aug 2021 06:41:39 +0000
Received: by outflank-mailman (input) for mailman id 167593;
 Tue, 17 Aug 2021 06:41:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mFsn4-00071L-QR; Tue, 17 Aug 2021 06:41:38 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mFsn4-0006nl-Jb; Tue, 17 Aug 2021 06:41: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 1mFsn4-0003kg-8H; Tue, 17 Aug 2021 06:41:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mFsn4-0005JZ-7o; Tue, 17 Aug 2021 06:41: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=cB73M6zk87G13Yt7jnv4lzt63awJi4rMRp/nwY5Vp70=; b=U7YN56XnQQZmE+I0dpSAfuU921
	Mnp0910rKR81MFTdO0dn16/V5u/2bquuNTKIsJVVIFgke+m0liCU/cw5aH/k/H3eHerdO/mdzf79u
	fHaUvgoHMa4kOlbhwRWEz01AnelLOGgkU4D3QLbHtf9R4r5SJaa97RwVDGY5alAGtO9A=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164205-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164205: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt:<job status>:broken:regression
    linux-linus:test-armhf-armhf-examine:host-install:broken:regression
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-qemuu-freebsd12-amd64:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:regression
    linux-linus:test-armhf-armhf-libvirt:host-install(5):broken:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=7c60610d476766e128cc4284bb6349732cbd6606
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 17 Aug 2021 06:41:38 +0000

flight 164205 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164205/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-libvirt        <job status>                 broken
 test-armhf-armhf-examine      5 host-install           broken REGR. vs. 152332
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 152332
 test-amd64-amd64-qemuu-freebsd12-amd64 19 guest-localmigrate/x10 fail REGR. vs. 152332
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install       fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 12 debian-di-install        fail REGR. vs. 152332

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      5 host-install(5)       broken blocked in 152332
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 152332
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 152332
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 152332
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 152332
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 152332
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 152332
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                7c60610d476766e128cc4284bb6349732cbd6606
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  381 days
Failing since        152366  2020-08-01 20:49:34 Z  380 days  671 attempts
Testing same since   164205  2021-08-16 12:44:15 Z    0 days    1 attempts

------------------------------------------------------------
6798 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 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-qemut-rhel6hvm-amd                           fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     fail    
 test-amd64-i386-freebsd10-amd64                              fail    
 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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     fail    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     broken  
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-armhf-armhf-libvirt broken
broken-step test-armhf-armhf-examine host-install
broken-step test-armhf-armhf-libvirt host-install(5)

Not pushing.

(No revision log; it would be 2010933 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 07:05:39 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 07:05:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167600.305955 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFtAE-0001BI-52; Tue, 17 Aug 2021 07:05:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167600.305955; Tue, 17 Aug 2021 07:05:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFtAE-0001BB-1k; Tue, 17 Aug 2021 07:05:34 +0000
Received: by outflank-mailman (input) for mailman id 167600;
 Tue, 17 Aug 2021 07:05:32 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=v7Bs=NI=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mFtAC-0001B3-Ey
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 07:05:32 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com (unknown
 [40.107.20.67]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 182c77ef-5956-4d89-ab8a-410977f4a101;
 Tue, 17 Aug 2021 07:05:29 +0000 (UTC)
Received: from DB8PR04CA0019.eurprd04.prod.outlook.com (2603:10a6:10:110::29)
 by HE1PR0802MB2282.eurprd08.prod.outlook.com (2603:10a6:3:c9::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Tue, 17 Aug
 2021 07:05:26 +0000
Received: from DB5EUR03FT007.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:110:cafe::18) by DB8PR04CA0019.outlook.office365.com
 (2603:10a6:10:110::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17 via Frontend
 Transport; Tue, 17 Aug 2021 07:05:26 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT007.mail.protection.outlook.com (10.152.20.148) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Tue, 17 Aug 2021 07:05:25 +0000
Received: ("Tessian outbound 1a0c40aa17d8:v103");
 Tue, 17 Aug 2021 07:05:25 +0000
Received: from 4b31f0f45051.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 69CD5DD8-74FE-410D-AC7D-1151BAF5F0B5.1; 
 Tue, 17 Aug 2021 07:05:16 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 4b31f0f45051.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 17 Aug 2021 07:05:16 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB6PR0801MB2038.eurprd08.prod.outlook.com (2603:10a6:4:76::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.21; Tue, 17 Aug
 2021 07:05:12 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%6]) with mapi id 15.20.4415.024; Tue, 17 Aug 2021
 07:05:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 182c77ef-5956-4d89-ab8a-410977f4a101
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/NCe22AEZtdVyOGjfiHkUDQkbqz9KPcjUAagky9RHto=;
 b=Rw6uaGD78d2EZLdORUIeTniy4y3LSePvSnLuLLYVcwYx9bG7+nTPGNKw1vcIUE67oAByJfpR5pkdaQM/s4WG8XTRHq67mdAHZF8HLSctAWZeAJHJ21YFRHhfy+IpkdqV7X+A0ymGk/c/LlJ8nT2sYc7c/RGUYxRDT/TOGYJ+Fhk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MjsXB1hB3xSGpbSypklAZdqVN2hvRVFy2+QRuSVDJhcFxRb8usjWBao4p/vO3eJBQr6UyVRZOA+Z0IritqjJBR9L1TODzZKS8M8k3c84s9CdmJ5sARtrxdcVMsDaZKW6xv+vvBewChdTQdWQAcH8RkRN3JfQHLw2ZF4WIl/To5RkhXsB67LbZ/C/kifNUc4M5wugYgk4WLxQDimYxKZjs4LRbjQEjS1VTe33e6Su+Z8A6IvLBHACJl0g7LDulU+ahzqAY+44kGlhS99shhOxhOIPasel/b9sLKHTjdDa9kilT0Uv9fkmaNvnBFA5W6L2oEaIASk16/XkBSkhz/bSpg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/NCe22AEZtdVyOGjfiHkUDQkbqz9KPcjUAagky9RHto=;
 b=ZyY6Hf/q3me+dd8/TBR2EnCXB4fEDtsohN9WAZoVMcVne0os2ib6Oguy+rI0jaLrXgWh5RzJn+EJj+hWvMl7mmWLlcK4TzbzMS8Mi2p29fFnTAR2xkJSzFiw0sRt9sNhLk2jc8u6KFeHZhq4GJnbL8Q0VYEtvCUX4tz8h9TfAt0Bu+DCvetwdx3j7ATcHPYG79fFHII4AQ52F15y3LKEZbcACb7c4EaMTttvbSEbSvfU2nx/avsGzcdHmUO82+fUdmG6lnSOrmmtSOzSXxN1q+mJRzrgBN4vh2BA/TpoYYRz+Ugc7aLHVnEQYjkZDkb7IItBxS7/MN9maiWgmL2VPw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/NCe22AEZtdVyOGjfiHkUDQkbqz9KPcjUAagky9RHto=;
 b=Rw6uaGD78d2EZLdORUIeTniy4y3LSePvSnLuLLYVcwYx9bG7+nTPGNKw1vcIUE67oAByJfpR5pkdaQM/s4WG8XTRHq67mdAHZF8HLSctAWZeAJHJ21YFRHhfy+IpkdqV7X+A0ymGk/c/LlJ8nT2sYc7c/RGUYxRDT/TOGYJ+Fhk=
From: Wei Chen <Wei.Chen@arm.com>
To: Oleksandr <olekstysh@gmail.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, Ian Jackson
	<iwj@xenproject.org>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Kaly Xin <Kaly.Xin@arm.com>, Artem Mygaiev <joculator@gmail.com>,
	=?utf-8?B?QWxleCBCZW5uw6ll?= <alex.bennee@linaro.org>, Jiamei Xie
	<Jiamei.Xie@arm.com>, Henry Wang <Henry.Wang@arm.com>
Subject: RE: [RESEND PATCH V5 0/2] Virtio support for toolstack on Arm (Was
 "IOREQ feature (+ virtio-mmio) on Arm")
Thread-Topic: [RESEND PATCH V5 0/2] Virtio support for toolstack on Arm (Was
 "IOREQ feature (+ virtio-mmio) on Arm")
Thread-Index: AQHXTnoCHElKJmdGXUiNoDkpH2GuFqs2J7IAgEGng/A=
Date: Tue, 17 Aug 2021 07:05:12 +0000
Message-ID:
 <DB9PR08MB6857063D7D576B7776E4DED69EFE9@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <1621626361-29076-1-git-send-email-olekstysh@gmail.com>
 <0b2c79f9-67d4-219d-2edf-3576a8684c58@gmail.com>
In-Reply-To: <0b2c79f9-67d4-219d-2edf-3576a8684c58@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 0DF71355F98A2043937A2EFAD4E1155E.0
x-checkrecipientchecked: true
Authentication-Results-Original: gmail.com; dkim=none (message not signed)
 header.d=none;gmail.com; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 5b94d6d7-6e63-42c2-ed8e-08d9614d6365
x-ms-traffictypediagnostic: DB6PR0801MB2038:|HE1PR0802MB2282:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<HE1PR0802MB228273D07FCCA137D642061A9EFE9@HE1PR0802MB2282.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:9508;OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 UOTF4Qc6hwzHSSquQmr+NFBkMDJ22tKAtZ2QYlwlFAr0uZFxO4iigoCLomG0NRDiNn271UQImJIvQA7aoZ74Q0bTTIW9HLiL+5VmyJLRbEWxMSTHLCryI4Sr1190voe+lV5whMpzJigoTwU/KXj3q7Tww0+/2ZWxkWADpba8nBouaRo87Mwv3Mfj+4Lpofn06SQez/vMTcUxIRwrNgV8YGRat6B2JvtqQNHhLRbcOlJY+SI1AC53Ri3G7oJtsVLRsku+iDRYWONFhaqZTOJHaWJhOvumNRsqiHyNv14eeS0Qy3+hlNRkz4VU6E7fcB83rHuQjwU8NW+TY+MiY6DvFjgegkW7+DYPGHL608Bgc+9qlIpYZXVcTeaGtgtlmeTi/l4wg7wKA0cM8iqg0ZxSaVvC5MbjZfHcyf1Wf1dWj+K1RTAr+bQyrbAtBsdX1PwaYwPEKTQkkqZrTn0IHCHLCYl2rt7tIVg2ho8hg06GurPouswkN7Lx7+LQaRB+oc0+1Q8bWg6jz81z0HW+QWc9zeOTaahOS21oU8MniaZr87odJMfT/v3dd36CP5Mhj7UK5sRGiC+JYJuMk3fIV+zLePGJrYleLN9gRaQS1L+mO7DcvJmEqsqa6EydazQrIzLXrrdK3iI8Od5ETCFOfFnBIrAVQeRPXcYuT6EnmxO8c4L6EVNcW7XnAZVDWBeklVu3TOFio69JC3Od9BCNvKcLHr9cxPc6hZ+ZvVplqQuHjst/p7dgiD9aQcF6C4CYDIZ2GPg3NNrgGIyBLRuZQMcdEbHhfc20ObiC/52MGSaO5ZYU26Enxqavw+fzxnsv8iVJjaBPwBxvAbzsNiQWT87ZGQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(376002)(366004)(396003)(136003)(39850400004)(346002)(110136005)(9686003)(52536014)(316002)(5660300002)(55016002)(38100700002)(66446008)(64756008)(66556008)(66476007)(966005)(54906003)(66946007)(83380400001)(478600001)(33656002)(122000001)(71200400001)(53546011)(4326008)(38070700005)(76116006)(66574015)(8936002)(8676002)(7416002)(86362001)(26005)(186003)(6506007)(2906002)(7696005);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?WlIrSlIwbDVhbW1mZVJqSlJuVlVRU0pmQ0pjVm9TVjNMb3drVGVNdEtWZHgr?=
 =?utf-8?B?RVJNR2tjOG5qVDF0aTkrVHplaGVUU1A2eWE4RXdINWdhb3RSbVZQMGl6RXhz?=
 =?utf-8?B?eXkzYTh4TDZjTWo0UEc2dU1EY3UyL0Zqam9zbENSNVkwa2swT0xiRWtIRExX?=
 =?utf-8?B?MnhVTkQrU0Y4OUFBMlM2Z1h3eEFiSGVKU2M3c25PZ041anJsa0gzZ25Xa2Ju?=
 =?utf-8?B?ZEs5V20xWjNPcGM1ZGpITU1MVFNISkdhclYzT2R6L2xOVFVIQ09iek4xWjVo?=
 =?utf-8?B?b2pRTExER3NsS0JIbGVndkU1ekVCdkxvWlZpUld6SVEyVHY1NHFxZzlFNXlH?=
 =?utf-8?B?eFF4NzhXb0JqbkJOMkQ4aUdpSFJnTWlCS1dnRjlSOEpWVjMrSHRpWm5YalB6?=
 =?utf-8?B?MFFzbVh3Y3dtV1Q3Ym1XMi8vbFdIRitIak5DVC9zdGVDRjgyM3M5cWM3eGo1?=
 =?utf-8?B?MXFiNUpEQ3IwVThzL3VQTi81MjNFeVpKakF5dHNFYUxFdURsR2xCMXdBcDMz?=
 =?utf-8?B?UUZVZ2o3U0wrVlFOeFh1RzBwV1BKNkdoaHdEYlM3ajNIUWdEc0JOVnp1aTIz?=
 =?utf-8?B?TXNYT3dWVEt0ZWpqTHNLU2RFOVVYRDRUUHZIeE5vNUpPdDBOS1JnTXVmTWVy?=
 =?utf-8?B?M1ZqTlpXc1Fkb1ZzWFpjdTRWR1c1YWFXQTkwMG9SNmhaSSsyVTYzMWMwcThD?=
 =?utf-8?B?ajRnazNWMDdGS2tYbFVhSk5iQjZlaEYzRUtkOUp2UHB3S0RXdHpCWTRBa2ZF?=
 =?utf-8?B?S2dka2Y4UnkydXJnWjFRYmU4am5SWUR6Rk1aaWtXWnQycFVBVlFJcmFGNFQ0?=
 =?utf-8?B?OFdhTndyRjNhTmk4NytkU2NqTU9wOFRGeklTUWdFS2xqVXprVkVMUVN2OXNC?=
 =?utf-8?B?ZTRaSng0dXlwOXRTblNNcWl4R2NqaHZEYldhU1RLOFFVdE5jelZzYXMzVGQy?=
 =?utf-8?B?T1pXbWt0QnYxY2JhYnEwNGxzMURCUklZZ2dYb2l6enV6YmFZYzBncm00UGJI?=
 =?utf-8?B?SlAza2l0NW4rN2MxcG1ib0hWODZKTDhKbmlDMi9iS29JWkNXR3NxWFF5TXhB?=
 =?utf-8?B?c013WjBQVi8yTDFQdVFHV0xodXBzY1F5RTFtVGFVVzU5M0pyeHdlZ2dZb0xK?=
 =?utf-8?B?aDRvWEpyYWNEYmRsV2pPZkNGcnFKeW11MmJhZHlJYStQVndXYWFXZkFHUStE?=
 =?utf-8?B?dktsLzdSMU0zSW1VaCsrYU0yRkEwaDBDVHNaRXoxZFhyQmdRdWRMNm1Ycksz?=
 =?utf-8?B?MlIwUU9NV1YrdE1FVXZONFljVnNNbzl2NzNtQ1QxRDU2ZWErU242L1ZyVTlp?=
 =?utf-8?B?dnBtaTNHV3Bma1VTVzVKVVNOa1FuemdVSzJKZHBnRzZzRDNPak8yVndSR0dQ?=
 =?utf-8?B?U25zYnA1eVZQY0NIRWZ3V1RWdjd5RkR0azlaLzFVUHd2REhHeEd5UlloMXZ4?=
 =?utf-8?B?VFFMVU5SOFVYOGo1NGN5OGtoM3piOXY4K2R3aWdRTm9Hby9DaXpFZzBTYk5n?=
 =?utf-8?B?TTNsN2Z5QThibHlyTEZRSUYyT2UrVEo0U3ZLMnFPQ2hrODdlRDRxNUVwMDN2?=
 =?utf-8?B?S1B3bFJVTDJnb3pocXVnSWtMQ2xTbDlMVWxDNEFraG1hWGFvVklpakI2bU1i?=
 =?utf-8?B?MFBHZ3dKY1JydzcwUEhCbEFKTFY2UDdFTVlza2lrRU5yRElHWm5ZQUc1L2VN?=
 =?utf-8?B?c1gyRWc5eGlaZTZQZ1Nkbkt6TU14Y0lTdlBtMStTV3hUbVRvaUFQcnRhSFZ3?=
 =?utf-8?Q?xM8rzlbNyISrVGcIjVSZb/qXnpR8mIWX6zuxNxT?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB2038
Original-Authentication-Results: gmail.com; dkim=none (message not signed)
 header.d=none;gmail.com; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT007.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	9a854078-0717-4134-39b1-08d9614d5b77
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TzNY3+KtSSPFI8GZbal1W6SUM1RX3gjAH/wVNCnyLSFi9Yh31JEfUb8wm/qCa6GkCihEy09QFjW4JaBt2tugLB+AzBu6gcBaF+JMFZp2rdcXTP/FVndFVLduuR1Lsj3OICcpYWln4EyUH3bXtw5tm0N4E507gFnTPXTolelEdFspk54DQI6bYBgu+NkSXuwYC3aqq1MekxCrzaPxQZ/Hyl6UAoD+fkOxAdl2DXYUDL/MUyP0J3xEUpCp02wbCNfhLQ6Lx+j52QR6GoCISrQ85X8HDy8J86OGqXnBzRQs+d7NOBb3xz/1nksiP4nb/b4dIITz8XPn4lVsu4Bc7EBU3RGw2FS+nuO+J3GVASJgQa15I3xGQ4lPQE1OnJ/zXVbZAwQQh+jI0Ja/WOd5aVKHGhOIDNzmNS6BMSXWHViWzaL1CYSkzlbEQsYnKBIaxQlq7kvAI2J2JJzsGWJJluUerZNJjtclUFwFQGLY+UAzc6LqxEr6jSvXyM8YXJKZXyoHCt7H+iAtSpe2ShPt/qmsi5mgIG/y2Ubc91o9DdVAfFAecgBBo1+IlmXRdePMyUS2ZN0AKrJce5TNKc47A90fHLGgZvP8DEq2FlSsnIi+VYNgPy8HlJg56NcUPY+uRGYXxZGV+5C02yyTjqeASQwvteH4CLJQAZ3IDA+VPTmI8p6TqkdPwPMMxoXO1YgaqSU8DvLbHbzDkl7UgSNdfoxI84BzMoGx7qbWuXtNd9lv9z29KqHbueMcFdZx74bVQJuL6fmyvIlI/rbX82JvLWDxZ+dGPLvXIU4lI3/VrrWs68QrGhQeMuewNkF2WifUz/KuHWu+PjphFxl80k7bKD2IQQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(396003)(376002)(39850400004)(346002)(136003)(46966006)(36840700001)(8676002)(478600001)(70586007)(8936002)(52536014)(53546011)(83380400001)(81166007)(2906002)(6506007)(82740400003)(356005)(82310400003)(86362001)(186003)(336012)(54906003)(9686003)(55016002)(4326008)(33656002)(316002)(70206006)(66574015)(5660300002)(26005)(966005)(36860700001)(47076005)(7696005)(110136005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 07:05:25.7565
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5b94d6d7-6e63-42c2-ed8e-08d9614d6365
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT007.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0802MB2282

Q0MgdG8gSmlhbWVpIGFuZCBIZW5yeSBhcyB0aGV5IGFyZSBkb2luZyB0ZXN0aW5nDQoNCj4gLS0t
LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogWGVuLWRldmVsIDx4ZW4tZGV2ZWwtYm91
bmNlc0BsaXN0cy54ZW5wcm9qZWN0Lm9yZz4gT24gQmVoYWxmIE9mDQo+IE9sZWtzYW5kcg0KPiBT
ZW50OiAyMDIx5bm0N+aciDbml6UgMjA6MjgNCj4gVG86IHhlbi1kZXZlbEBsaXN0cy54ZW5wcm9q
ZWN0Lm9yZw0KPiBDYzogT2xla3NhbmRyIFR5c2hjaGVua28gPG9sZWtzYW5kcl90eXNoY2hlbmtv
QGVwYW0uY29tPjsgSWFuIEphY2tzb24NCj4gPGl3akB4ZW5wcm9qZWN0Lm9yZz47IFdlaSBMaXUg
PHdsQHhlbi5vcmc+OyBBbnRob255IFBFUkFSRA0KPiA8YW50aG9ueS5wZXJhcmRAY2l0cml4LmNv
bT47IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz47DQo+IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+OyBWb2xvZHlteXIgQmFiY2h1aw0KPiA8Vm9sb2R5bXly
X0JhYmNodWtAZXBhbS5jb20+OyBCZXJ0cmFuZCBNYXJxdWlzIDxCZXJ0cmFuZC5NYXJxdWlzQGFy
bS5jb20+Ow0KPiBXZWkgQ2hlbiA8V2VpLkNoZW5AYXJtLmNvbT47IEthbHkgWGluIDxLYWx5Llhp
bkBhcm0uY29tPjsgQXJ0ZW0gTXlnYWlldg0KPiA8am9jdWxhdG9yQGdtYWlsLmNvbT47IEFsZXgg
QmVubsOpZSA8YWxleC5iZW5uZWVAbGluYXJvLm9yZz4NCj4gU3ViamVjdDogUmU6IFtSRVNFTkQg
UEFUQ0ggVjUgMC8yXSBWaXJ0aW8gc3VwcG9ydCBmb3IgdG9vbHN0YWNrIG9uIEFybQ0KPiAoV2Fz
ICJJT1JFUSBmZWF0dXJlICgrIHZpcnRpby1tbWlvKSBvbiBBcm0iKQ0KPiANCj4gDQo+IEhlbGxv
IGFsbCwNCj4gDQo+IA0KPiBHZW50bGUgcmVtaW5kZXIuLi4NCj4gDQo+IA0KPiBPbiAyMS4wNS4y
MSAyMjo0NSwgT2xla3NhbmRyIFR5c2hjaGVua28gd3JvdGU6DQo+ID4gRnJvbTogT2xla3NhbmRy
IFR5c2hjaGVua28gPG9sZWtzYW5kcl90eXNoY2hlbmtvQGVwYW0uY29tPg0KPiA+DQo+ID4gSGVs
bG8gYWxsLg0KPiA+DQo+ID4gVGhlIHB1cnBvc2Ugb2YgdGhpcyBwYXRjaCBzZXJpZXMgaXMgdG8g
YWRkIG1pc3NpbmcgdmlydGlvLW1taW8gYml0cyB0bw0KPiBYZW4gdG9vbHN0YWNrIG9uIEFybS4N
Cj4gPiBUaGUgVmlydGlvIHN1cHBvcnQgZm9yIHRvb2xzdGFjayBbMV0gd2FzIHBvc3Rwb25lZCBh
cyB0aGUgbWFpbiB0YXJnZXQNCj4gd2FzIHRvIHVwc3RyZWFtIElPUkVRL0RNDQo+ID4gc3VwcG9y
dCBvbiBBcm0gaW4gdGhlIGZpcnN0IHBsYWNlLiBOb3csIHdlIGFscmVhZHkgaGF2ZSBJT1JFUSBz
dXBwb3J0IGluLA0KPiBzbyB3ZSBjYW4gcmVzdW1lIFZpcnRpbw0KPiA+IGVuYWJsaW5nIHdvcmsu
IFlvdSBjYW4gZmluZCBwcmV2aW91cyBkaXNjdXNzaW9uIGF0IFsyXS4NCj4gPg0KPiA+IFBhdGNo
IHNlcmllcyBbM10gd2FzIHJld29ya2VkIGFuZCByZWJhc2VkIG9uIHJlY2VudCAic3RhZ2luZyBi
cmFuY2giDQo+ID4gKDk3MmJhMWQgeDg2L3NoYWRvdzogc3RyZWFtbGluZSBzaGFkb3dfZ2V0X3Bh
Z2VfZnJvbV9sMWUoKSkgYW5kIHRlc3RlZA0KPiBvbg0KPiA+IFJlbmVzYXMgU2FsdmF0b3ItWCBi
b2FyZCArIEgzIEVTMy4wIFNvQyAoQXJtNjQpIHdpdGggInVwZGF0ZWQiIHZpcnRpby0NCj4gbW1p
byBkaXNrIGJhY2tlbmQgWzRdDQo+ID4gcnVubmluZyBpbiBEcml2ZXIgZG9tYWluIGFuZCB1bm1v
ZGlmaWVkIExpbnV4IEd1ZXN0IHJ1bm5pbmcgb24gZXhpc3RpbmcNCj4gPiB2aXJ0aW8tYmxrIGRy
aXZlciAoZnJvbnRlbmQpLiBObyBpc3N1ZXMgd2VyZSBvYnNlcnZlZC4gR3Vlc3QgZG9tYWluDQo+
ICdyZWJvb3QvZGVzdHJveScNCj4gPiB1c2UtY2FzZXMgd29yayBwcm9wZXJseS4NCj4gPg0KPiA+
IEFueSBmZWVkYmFjay9oZWxwIHdvdWxkIGJlIGhpZ2hseSBhcHByZWNpYXRlZC4NCj4gPg0KPiA+
IFsxXQ0KPiA+IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3hlbi1kZXZlbC8xNjEwNDg4MzUyLTE4
NDk0LTI0LWdpdC1zZW5kLWVtYWlsLQ0KPiBvbGVrc3R5c2hAZ21haWwuY29tLw0KPiA+IGh0dHBz
Oi8vbG9yZS5rZXJuZWwub3JnL3hlbi1kZXZlbC8xNjEwNDg4MzUyLTE4NDk0LTI1LWdpdC1zZW5k
LWVtYWlsLQ0KPiBvbGVrc3R5c2hAZ21haWwuY29tLw0KPiA+IFsyXQ0KPiA+IGh0dHBzOi8vbGlz
dHMueGVucHJvamVjdC5vcmcvYXJjaGl2ZXMvaHRtbC94ZW4tZGV2ZWwvMjAyMS0NCj4gMDEvbXNn
MDI0MDMuaHRtbA0KPiA+IGh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvYXJjaGl2ZXMvaHRt
bC94ZW4tZGV2ZWwvMjAyMS0NCj4gMDEvbXNnMDI1MzYuaHRtbA0KPiA+IFszXSBodHRwczovL2dp
dGh1Yi5jb20vb3R5c2hjaGVua28xL3hlbi9jb21taXRzL2xpYnhsX3ZpcnRpbw0KPiA+IFs0XSBo
dHRwczovL2dpdGh1Yi5jb20veGVuLXRyb29wcy92aXJ0aW8tZGlzay9jb21taXRzL2lvcmVxX21s
Mw0KPiA+DQo+ID4gSnVsaWVuIEdyYWxsICgxKToNCj4gPiAgICBsaWJ4bDogSW50cm9kdWNlIGJh
c2ljIHZpcnRpby1tbWlvIHN1cHBvcnQgb24gQXJtDQo+ID4NCj4gPiBPbGVrc2FuZHIgVHlzaGNo
ZW5rbyAoMSk6DQo+ID4gICAgbGlieGw6IEFkZCBzdXBwb3J0IGZvciBWaXJ0aW8gZGlzayBjb25m
aWd1cmF0aW9uDQo+ID4NCj4gPiAgIGRvY3MvbWFuL3hsLWRpc2stY29uZmlndXJhdGlvbi41LnBv
ZC5pbiAgIHwgIDI3ICsNCj4gPiAgIHRvb2xzL2luY2x1ZGUvbGlieGwuaCAgICAgICAgICAgICAg
ICAgICAgIHwgICA2ICsNCj4gPiAgIHRvb2xzL2xpYnMvbGlnaHQvbGlieGxfYXJtLmMgICAgICAg
ICAgICAgIHwgMTMzICsrKystDQo+ID4gICB0b29scy9saWJzL2xpZ2h0L2xpYnhsX2RldmljZS5j
ICAgICAgICAgICB8ICAzOCArLQ0KPiA+ICAgdG9vbHMvbGlicy9saWdodC9saWJ4bF9kaXNrLmMg
ICAgICAgICAgICAgfCAgOTkgKysrLQ0KPiA+ICAgdG9vbHMvbGlicy9saWdodC9saWJ4bF90eXBl
cy5pZGwgICAgICAgICAgfCAgIDQgKw0KPiA+ICAgdG9vbHMvbGlicy9saWdodC9saWJ4bF90eXBl
c19pbnRlcm5hbC5pZGwgfCAgIDEgKw0KPiA+ICAgdG9vbHMvbGlicy9saWdodC9saWJ4bF91dGls
cy5jICAgICAgICAgICAgfCAgIDIgKw0KPiA+ICAgdG9vbHMvbGlicy91dGlsL2xpYnhsdV9kaXNr
X2wuYyAgICAgICAgICAgfCA4ODEgKysrKysrKysrKysrKysrLS0tLS0tLQ0KPiAtLS0tLS0tLQ0K
PiA+ICAgdG9vbHMvbGlicy91dGlsL2xpYnhsdV9kaXNrX2wuaCAgICAgICAgICAgfCAgIDIgKy0N
Cj4gPiAgIHRvb2xzL2xpYnMvdXRpbC9saWJ4bHVfZGlza19sLmwgICAgICAgICAgIHwgICAxICsN
Cj4gPiAgIHRvb2xzL3hsL3hsX2Jsb2NrLmMgICAgICAgICAgICAgICAgICAgICAgIHwgIDExICsN
Cj4gPiAgIHhlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLWFybS5oICAgICAgICAgICAgIHwgICA3ICsN
Cj4gPiAgIDEzIGZpbGVzIGNoYW5nZWQsIDc2NCBpbnNlcnRpb25zKCspLCA0NDggZGVsZXRpb25z
KC0pDQo+ID4NCj4gLS0NCj4gUmVnYXJkcywNCj4gDQo+IE9sZWtzYW5kciBUeXNoY2hlbmtvDQo+
IA0KDQo=


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 07:11:25 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 07:11:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167606.305966 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFtFp-0002cl-QV; Tue, 17 Aug 2021 07:11:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167606.305966; Tue, 17 Aug 2021 07: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 1mFtFp-0002ce-NH; Tue, 17 Aug 2021 07:11:21 +0000
Received: by outflank-mailman (input) for mailman id 167606;
 Tue, 17 Aug 2021 07:11:20 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=v7Bs=NI=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mFtFo-0002cY-Il
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 07:11:20 +0000
Received: from EUR03-AM5-obe.outbound.protection.outlook.com (unknown
 [40.107.3.82]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 4ed54246-ff2a-11eb-a491-12813bfff9fa;
 Tue, 17 Aug 2021 07:11:14 +0000 (UTC)
Received: from AS8PR04CA0119.eurprd04.prod.outlook.com (2603:10a6:20b:31e::34)
 by AM9PR08MB6226.eurprd08.prod.outlook.com (2603:10a6:20b:2d8::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Tue, 17 Aug
 2021 07:11:02 +0000
Received: from AM5EUR03FT049.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:31e:cafe::9a) by AS8PR04CA0119.outlook.office365.com
 (2603:10a6:20b:31e::34) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15 via Frontend
 Transport; Tue, 17 Aug 2021 07:11:02 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT049.mail.protection.outlook.com (10.152.17.130) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Tue, 17 Aug 2021 07:11:01 +0000
Received: ("Tessian outbound 6ba9ec11d42b:v103");
 Tue, 17 Aug 2021 07:11:00 +0000
Received: from 371234f26bcd.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 71A88515-0166-4F36-872E-12150D781235.1; 
 Tue, 17 Aug 2021 07:10:52 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 371234f26bcd.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 17 Aug 2021 07:10:52 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DBBPR08MB6281.eurprd08.prod.outlook.com (2603:10a6:10:1f6::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Tue, 17 Aug
 2021 07:10:47 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%6]) with mapi id 15.20.4415.024; Tue, 17 Aug 2021
 07:10:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4ed54246-ff2a-11eb-a491-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hLU+9i9lO/Cko/pEVAywMTUzJnuT6A9qC6gVUJ6kmDI=;
 b=BmOGGIPxY+aoaRLaknJ7ssIRj/euTRohQzjnUsQJ7X0m1q1+FVuLO+Nz4JIOC8aYJx/Q92grkGRLUd2j7Sfl6wJ97DiI9jJNlHrTNxGzaAkzcfo7q2vlWYLctaR+iO6m7YtzAzmqcP5dsQOdXH7C1WIt2Q0CEYkYbb0tNn3UYSc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mv7t3kC7GJAozyo1hVXGa4351dKVMuHwjrXrMWmHFi+fC4B9eRHhrMZs+jSHQp94YkOgu1Cq67w4sQZlwevoO55N3EgBYgrc9YdAVcZJ4Ow8SP0vbQKn6DTqvWyx5Y5JsMWsmuwPl0iKPWbeKN0iY7SUMNHv6ntE0S7O3r/no15WzROBDAeM2tfPQxMkYA5NdvZMrsqke8J+jSTDBEX8B4PGD8Nr1Qns/iDT6q6aLsHovAcUbjPWjprP38h16bQNp7AIAmSZTolG6OHU6nVRt7JdtUyCe5G46VUAHmaanfDIZ6EJhNIm6iBWL15NEzjKpIOxFMoewqTV4VrGYc4ZuQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hLU+9i9lO/Cko/pEVAywMTUzJnuT6A9qC6gVUJ6kmDI=;
 b=fbklUJ+iVgBrD3Ipr0apjDBshWhqmVesLZRqXnatdY43SHr/4y2so3cD6xGVgbaGr92bA0rhpDPoetCc7mwXIiLXbW8pYZNCv9LKSACxylTt45bUh/gvHb6UE5P7P3VOmR0ZZ5phSMJ6nUuGpZQgmcZ51dLLN7c9VwRHCMdMdntuCOANvhlo56oBQ9+/+pEA8buiXGEOs6/RLXKXH8mu96Y23dXYQ0zC5SCfWktgCQ9ea3dqDZhFDo6EWJg/NeStA5oe50XvBT6HcSxnNQ/TdBqMQCTP1ErcTQYKQJMjf3DNJA/twvACAlwtUTtsY46U9FBiwEr/BHNPX2ANn6B5tw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hLU+9i9lO/Cko/pEVAywMTUzJnuT6A9qC6gVUJ6kmDI=;
 b=BmOGGIPxY+aoaRLaknJ7ssIRj/euTRohQzjnUsQJ7X0m1q1+FVuLO+Nz4JIOC8aYJx/Q92grkGRLUd2j7Sfl6wJ97DiI9jJNlHrTNxGzaAkzcfo7q2vlWYLctaR+iO6m7YtzAzmqcP5dsQOdXH7C1WIt2Q0CEYkYbb0tNn3UYSc=
From: Wei Chen <Wei.Chen@arm.com>
To: Oleksandr Tyshchenko <olekstysh@gmail.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, Ian Jackson
	<iwj@xenproject.org>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Kaly Xin <Kaly.Xin@arm.com>, =?gb2312?B?QWxleCBCZW5uqKZl?=
	<alex.bennee@linaro.org>, Jiamei Xie <Jiamei.Xie@arm.com>, Henry Wang
	<Henry.Wang@arm.com>
Subject: RE: [RESEND PATCH V5 1/2] libxl: Add support for Virtio disk
 configuration
Thread-Topic: [RESEND PATCH V5 1/2] libxl: Add support for Virtio disk
 configuration
Thread-Index: AQHXTnn/+/V6ZF0jskq34GsMDgUjKqt30O0A
Date: Tue, 17 Aug 2021 07:10:47 +0000
Message-ID:
 <DB9PR08MB6857F3DFAE5FF752003ABD8F9EFE9@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <1621626361-29076-1-git-send-email-olekstysh@gmail.com>
 <1621626361-29076-2-git-send-email-olekstysh@gmail.com>
In-Reply-To: <1621626361-29076-2-git-send-email-olekstysh@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: FCDFD7F55F997C4DA3DA2AF56DAD7D0A.0
x-checkrecipientchecked: true
Authentication-Results-Original: gmail.com; dkim=none (message not signed)
 header.d=none;gmail.com; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 80f447ac-d9fe-46a3-f627-08d9614e2b9c
x-ms-traffictypediagnostic: DBBPR08MB6281:|AM9PR08MB6226:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM9PR08MB6226AE858944CA35C51871459EFE9@AM9PR08MB6226.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:2089;OLM:2089;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 7q3erSqE6NlutHA+ERB+GYAxb+qNvpT1FU73Hpm6QBdU2Ahh4cAvxtiKXHTe+423is5BL8kEconbnBy++fN0BHeFKw81Ekj8kjxwmYKzlbt1Lm2AZVhgKl2PGwGSv+AJxQdGqLfJ6c9tf/ciJAu/34nBrA2+QMYC93nD7hYT4Cr2BHAxTlPoqfccfeyg1TYbHwrQwvp7lLIdL2yczQjEfybeOPI1kW4XMvaUAu3gg8G+8cZIz2WYwilOgXVbVAZTxDlDTwUsLEiKb4+QoGMiyPWaIQe1xHT8+6E8+aILnNzaOJiO+K/UjYemY5DYcn+Nj/1JaErm/hyeXBkhGrZVJ6S0wVSBy5B0kHw8JvDRgPCgJoEQY+4J4KjsaQDdVDXz9VEwThqckTWpsNS7XBd1az8OMFi6oaD+Sc0HjA5VWl8JDuwGup4uitByu2lGrVYpMs7U4ovHwQsz0bhZb6JPAG2b5ZgClV8xhfXvt96qLRmYANGJAw8Jyg/vjHwJgViCWkFc/7cske0XqEZt62EcN9UPeOqaVdNRFaW3aNYcV6LgU5N9Ue3bKHF1avfwgyD6NTBYwhg9wBi67pjGHJb72MsYiNuMGUaG3Ey+H0b63B1H4n6PtKJMWzvJ2PCUgbHYh+LPCEeSKhgug91l2Y/d3e94dfAOF8CD+egsSL4ode6pRuZ6aBm11was2YFWiNvQgwZsSEGam2eCpbH+4q+IQQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(39850400004)(346002)(366004)(136003)(376002)(66574015)(9686003)(71200400001)(38100700002)(83380400001)(52536014)(6506007)(53546011)(76116006)(66946007)(55016002)(66446008)(64756008)(66556008)(66476007)(26005)(186003)(33656002)(86362001)(122000001)(8936002)(2906002)(8676002)(54906003)(7416002)(316002)(110136005)(30864003)(38070700005)(5660300002)(4326008)(478600001)(7696005)(559001)(579004);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?gb2312?B?Qyt2bWxVTmp1VWt0Q3ZsUmgvTWg4RHAzT29Ha3pITkxKVHdiUUlKQnBtZkZj?=
 =?gb2312?B?aTd1SWYyb0pSS1pDMmE0TWNoY0h3TzZ5VU5rSmYzaWZrOGFLZjhxWVhXbW55?=
 =?gb2312?B?b21LdVFod1hUK2g1VUJYQlVrcnluYUVTN1o1SG9xWTZTOUlva25zK002eXUz?=
 =?gb2312?B?RVRvNHpES0Z6Qnd6Ny9DTlc0bUROYXlGUUNIWkp5Q0Jlakd5YlR5bWhvbjEx?=
 =?gb2312?B?TEtlOUVPdTZRUHdHYlFYZE0rc2NBQi9OVmZ2S3crODVxNU95YW11UHpSK3Vy?=
 =?gb2312?B?MXZrZ0VybWRxTUJtSFFFZzQ5RlZRRVdvbUwyRkVBTkZoR0xxQlBFZENQbjJE?=
 =?gb2312?B?UFcra1NDQXo3bTB1UGxyRHJDYW1KK09UNlZkcjdkSmpJc1Z3NlVHQWlTempV?=
 =?gb2312?B?R0ZzekI2U3A2cm0ySnJ0YlR0ZlVCbjM4Wks1NVpLeFg3dCtGbWtvUmVpekpk?=
 =?gb2312?B?L21FMjNJRVgzeFQ3ZUVsRUk4NVp3VDU2RXBpWmxWUTU0L3o2MU5CZXRrNGpZ?=
 =?gb2312?B?QTlJakRsMnZnczlock9XcjZDSzVvNkRjd1ptb1ZJdU03Ylo3UUFlSVEyclRp?=
 =?gb2312?B?ZWVxL2Jxb3B0WGRjdGl2YWx4L0VoOGkwWG5hbnB3L01IcUVjRDlUTkF5TG1m?=
 =?gb2312?B?ZU9yWE9JcWN0bjdoRTE0N2NMVzlnUUY2MlZtSkJ6aXRPQUllL0Y1c0RJVnlH?=
 =?gb2312?B?OGxiR2RGSUp3L0UyeEx2czVKQ1duNmVWeWEvNWVnR01mWStCellsdkZtSm9s?=
 =?gb2312?B?UzdBcnpXL1I2eHE4U3JtTjRVUmJ5eXorTUdrOXVldkV1cFpJVEx5clpFSUFX?=
 =?gb2312?B?bVlxcExMci84ajdmMVVJUktrR0F3MERmV2RoQlQ2d04rUzBObWVDRmNyQzFZ?=
 =?gb2312?B?U05YVytiQXBFVEJCMDkzbVIwb1craTkzQU5QVjhPdWd2ODVkcGVwdFo3QTlL?=
 =?gb2312?B?dnk0UmtpSVBYR216NVV0ejgwNXNqZmhFd1F5WXhZVDlpd2hmR203TllIK2pY?=
 =?gb2312?B?OEl4bTEwbTBPNEs2R3FualVWTURhYzRQU2JmV0paQzdsSWcyaHVjQlRzWlRv?=
 =?gb2312?B?OEc3QW9HVXhhelplQzJuak1UTG9XN0tadmpuNVloY2JHMzdBWWRSYXJSSHE3?=
 =?gb2312?B?OWgzOUluK0p1ZkhLcGE5QUhEQnFFL240MWF4amF1Njdra3R3bytPNVl6Nks4?=
 =?gb2312?B?Tm0wd0NpTWpkbit4TTkxdTNBOHZJc0NjUXZ2c2piNzQ3UDNoRzdEVTJ5Vm1X?=
 =?gb2312?B?MURzWjE0c2l1Q2FyeVFPaStHejJONXBTd01aMGpra3JMa1JLQk9lbVRzSTRL?=
 =?gb2312?B?ZklDQ3FPTytHaUdVT3JkTEdiVWJaMHlMWHNTUk5lN1c4c3JxVWIvekxrbStL?=
 =?gb2312?B?RnlqNExrVjFEaFJBWE9idDB6b09LRVRuWmZ4V3NteGpGKzBXUE9WSURQYXhG?=
 =?gb2312?B?d1ZoaFN3QVFweTk3OXgxSXdQYUFUYm1LS2Z0TUhQMjlJSTI5bUNpajVUUTAw?=
 =?gb2312?B?UDErTDUxVWRZVE1reHRGbk5YNVVkWk1jRFFrZHdXT04xN2g4RmRpRGJLN2Jn?=
 =?gb2312?B?UWJXMW9mSml6OE5hcHV4aER4eEFKTGhLQUZJMTNwMGRVTDNBd0Yvc3VEZVk4?=
 =?gb2312?B?alJrNjE3OGt5UFJENFFMSkZSQW9kREM3YXkvbHJlMTJncFl0ZzJ0WmplVWds?=
 =?gb2312?B?S01tUjlxbWVRd0pNWFBwbFdzaVFvNzFYbXRMcXBZRzNRLzlKZVZzdXJsMC96?=
 =?gb2312?Q?gMJ8Akiz5NWQ54daRtHwj72TwAQw4ZXr+o/ryr8?=
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB6281
Original-Authentication-Results: gmail.com; dkim=none (message not signed)
 header.d=none;gmail.com; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT049.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	56b627fa-89bc-48d9-fe79-08d9614e231a
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	032Py9ri3SGrkBIPiD8r2s2nKxdNF2ao1F/kVWYv/kZl9q5ErnaFgKlvO5a8fUw9tmyfRlJu8SexLytb/z8QA2h4ikr1I4NBZ+QbtEruUIXk+Oki/nYrJn4o9kdet1NMQ/R5mEUuT9xzBlmV4DAOX9hNyyBverRixgkxUJpKxoduqwWuSFmwoeGcOe9Ggdag5kJK0+tf5JnPraLTay/KYAO7BzwYcTQJ9qRvv4y7Drbdd2yf3Sy7Jjs6ODFMmBP0WMh7sDY8aPXgylMKezr9AoxoDPHvwJSwUf2HAKxo5MuPobo8eTBaGKXUNsa1vDwwMQhKkHTR7bPFAuaYRmOS7UOxfQl/g+HfCipgR6mqT5geSCZe0S0N2yfPvxExQVMymvIHlMafLrXTgHmhsR5OMksjHEpxbaEMu/I34wO7aR66EGIReD8xT22hppZg3vULHU1b//dPjLdZ85mvCmTMZVA/M3vSo4IKLbwZ6MZB9cBsQy+b7rrs6XKTzXFLb7SykBnHps+Aby+MZg+andYvG58uC6QBqnD/QZS2ljInHNSaBFOM9Fjw3G+trVAomtwhM0xPQAmF5QE7C0ifdG2H5HrGs1gmRdL1eRhvwoE2QjTOLwr3S/06VdtgfOYbSXXUdARReFLZF4mLqx6dvoNWX6htsTS2x77nylIadYbytKF2rErpzc1l9YF6aoPKp9EDnVVAHZjtF2bPiSNq+PdsGg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(376002)(39850400004)(136003)(396003)(346002)(46966006)(36840700001)(83380400001)(66574015)(36860700001)(82740400003)(70206006)(8936002)(82310400003)(6506007)(53546011)(186003)(55016002)(4326008)(86362001)(33656002)(52536014)(8676002)(478600001)(5660300002)(26005)(54906003)(9686003)(2906002)(316002)(356005)(81166007)(70586007)(7696005)(47076005)(110136005)(336012)(30864003)(559001)(579004);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 07:11:01.5916
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 80f447ac-d9fe-46a3-f627-08d9614e2b9c
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT049.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6226

Q0MgdG8gSmlhbWVpIGFuZCBIZW5yeQ0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+
IEZyb206IE9sZWtzYW5kciBUeXNoY2hlbmtvIDxvbGVrc3R5c2hAZ21haWwuY29tPg0KPiBTZW50
OiAyMDIxxOo11MIyMsjVIDM6NDYNCj4gVG86IHhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y
Zw0KPiBDYzogT2xla3NhbmRyIFR5c2hjaGVua28gPG9sZWtzYW5kcl90eXNoY2hlbmtvQGVwYW0u
Y29tPjsgSWFuIEphY2tzb24NCj4gPGl3akB4ZW5wcm9qZWN0Lm9yZz47IFdlaSBMaXUgPHdsQHhl
bi5vcmc+OyBBbnRob255IFBFUkFSRA0KPiA8YW50aG9ueS5wZXJhcmRAY2l0cml4LmNvbT47IFN0
ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz47DQo+IEp1bGllbiBHcmFs
bCA8anVsaWVuQHhlbi5vcmc+OyBWb2xvZHlteXIgQmFiY2h1aw0KPiA8Vm9sb2R5bXlyX0JhYmNo
dWtAZXBhbS5jb20+OyBXZWkgQ2hlbiA8V2VpLkNoZW5AYXJtLmNvbT47IEJlcnRyYW5kDQo+IE1h
cnF1aXMgPEJlcnRyYW5kLk1hcnF1aXNAYXJtLmNvbT47IEthbHkgWGluIDxLYWx5LlhpbkBhcm0u
Y29tPjsgQWxleA0KPiBCZW5uqKZlIDxhbGV4LmJlbm5lZUBsaW5hcm8ub3JnPg0KPiBTdWJqZWN0
OiBbUkVTRU5EIFBBVENIIFY1IDEvMl0gbGlieGw6IEFkZCBzdXBwb3J0IGZvciBWaXJ0aW8gZGlz
aw0KPiBjb25maWd1cmF0aW9uDQo+IA0KPiBGcm9tOiBPbGVrc2FuZHIgVHlzaGNoZW5rbyA8b2xl
a3NhbmRyX3R5c2hjaGVua29AZXBhbS5jb20+DQo+IA0KPiBUaGlzIHBhdGNoIGFkZHMgYmFzaWMg
c3VwcG9ydCBmb3IgY29uZmlndXJpbmcgYW5kIGFzc2lzdGluZyB2aXJ0aW8tZGlzaw0KPiBiYWNr
ZW5kIChlbXVhbGF0b3IpIHdoaWNoIGlzIGludGVuZGVkIHRvIHJ1biBvdXQgb2YgUWVtdSBhbmQg
Y291bGQgYmUNCj4gcnVuIGluIGFueSBkb21haW4uDQo+IEFsdGhvdWdoIHRoZSBWaXJ0aW8gYmxv
Y2sgZGV2aWNlIGlzIHF1aXRlIGRpZmZlcmVudCBmcm9tIHRyYWRpdGlvbmFsDQo+IFhlbiBQViBi
bG9jayBkZXZpY2UgKHZiZCkgZnJvbSB0aGUgdG9vbHN0YWNrIHBvaW50IG9mIHZpZXc6DQo+ICAt
IHRoZSBmcm9udGVuZCBpcyB2aXJ0aW8tYmxrIHdoaWNoIGlzIG5vdCBhIFhlbmJ1cyBkcml2ZXIs
IHNvIG5vdGhpbmcNCj4gICAgd3JpdHRlbiB0byBYZW5zdG9yZSBhcmUgZmV0Y2hlZCBieSB0aGUg
ZnJvbnRlbmQgKHRoZSB2ZGV2IGlzIG5vdA0KPiAgICBwYXNzZWQgdG8gdGhlIGZyb250ZW5kLCBl
dGMpDQo+ICAtIHRoZSByaW5nLXJlZi9ldmVudC1jaGFubmVsIGFyZSBub3QgdXNlZCBmb3IgdGhl
IGJhY2tlbmQ8LT5mcm9udGVuZA0KPiAgICBjb21tdW5pY2F0aW9uLCB0aGUgcHJvcG9zZWQgSVBD
IGZvciBWaXJ0aW8gaXMgSU9SRVEvRE0NCj4gaXQgaXMgc3RpbGwgYSAiYmxvY2sgZGV2aWNlIiBh
bmQgb3VnaHQgdG8gYmUgaW50ZWdyYXRlZCBpbiBleGlzdGluZw0KPiAiZGlzayIgaGFuZGxpbmcu
IFNvLCByZS11c2UgKGFuZCBhZGFwdCkgImRpc2siIHBhcnNpbmcvY29uZmlndXJhdGlvbg0KPiBs
b2dpYyB0byBkZWFsIHdpdGggVmlydGlvIGRldmljZXMgYXMgd2VsbC4NCj4gDQo+IEJlc2lkZXMg
aW50cm9kdWNpbmcgbmV3IGRpc2sgYmFja2VuZCB0eXBlIChMSUJYTF9ESVNLX0JBQ0tFTkRfVklS
VElPKQ0KPiBpbnRyb2R1Y2UgbmV3IGRldmljZSBraW5kIChMSUJYTF9fREVWSUNFX0tJTkRfVklS
VElPX0RJU0spIGFzIGN1cnJlbnQNCj4gb25lIChMSUJYTF9fREVWSUNFX0tJTkRfVkJEKSBkb2Vz
bid0IGZpdCBpbnRvIFZpcnRpbyBkaXNrIG1vZGVsLg0KPiANCj4gSW4gb3JkZXIgdG8gaW5mb3Jt
IHRoZSB0b29sc3RhY2sgdGhhdCBWaXJ0aW8gZGlzayBuZWVkcyB0byBiZSB1c2VkDQo+IGV4dGVu
ZCAiZGlzayIgY29uZmlndXJhdGlvbiBieSBpbnRyb2R1Y2luZyBuZXcgInZpcnRpbyIgZmxhZy4N
Cj4gQW4gZXhhbXBsZSBvZiBkb21haW4gY29uZmlndXJhdGlvbjoNCj4gZGlzayA9IFsgJ2JhY2tl
bmQ9RG9tRCwgcGh5Oi9kZXYvbW1jYmxrMXAzLCB4dmRhMSwgcncsIHZpcnRpbycgXQ0KPiANCj4g
UGxlYXNlIG5vdGUsIHRoaXMgcGF0Y2ggaXMgbm90IGVub3VnaCBmb3IgdmlydGlvLWRpc2sgdG8g
d29yaw0KPiBvbiBYZW4gKEFybSksIGFzIGZvciBldmVyeSBWaXJ0aW8gZGV2aWNlIChpbmNsdWRp
bmcgZGlzaykgd2UgbmVlZA0KPiB0byBhbGxvY2F0ZSBWaXJ0aW8gTU1JTyBwYXJhbXMgKElSUSBh
bmQgbWVtb3J5IHJlZ2lvbikgYW5kIHBhc3MNCj4gdGhlbSB0byB0aGUgYmFja2VuZCwgYWxzbyB1
cGRhdGUgR3Vlc3QgZGV2aWNlLXRyZWUgd2l0aCB0aGUgYWxsb2NhdGVkDQo+IHBhcmFtcy4gVGhl
IHN1YnNlcXVlbnQgcGF0Y2ggd2lsbCBhZGQgdGhlc2UgbWlzc2luZyBiaXRzLg0KPiBGb3IgdGhl
IGN1cnJlbnQgcGF0Y2gsIHRoZSBkZWZhdWx0ICJpcnEiIGFuZCAiYmFzZSIgYXJlIGp1c3Qgd3Jp
dHRlbg0KPiB0byB0aGUgWGVuc3RvcmUuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBPbGVrc2FuZHIg
VHlzaGNoZW5rbyA8b2xla3NhbmRyX3R5c2hjaGVua29AZXBhbS5jb20+DQo+IA0KPiAtLS0NCj4g
Q2hhbmdlcyBSRkMgLT4gVjE6DQo+ICAgIC0gbm8gY2hhbmdlcw0KPiANCj4gQ2hhbmdlcyBWMSAt
PiBWMjoNCj4gICAgLSByZWJhc2UgYWNjb3JkaW5nIHRvIHRoZSBuZXcgbG9jYXRpb24gb2YgbGli
eGxfdmlydGlvX2Rpc2suYw0KPiANCj4gQ2hhbmdlcyBWMiAtPiBWMzoNCj4gICAgLSBubyBjaGFu
Z2VzDQo+IA0KPiBDaGFuZ2VzIFYzIC0+IFY0Og0KPiAgICAtIHJlYmFzZSBhY2NvcmRpbmcgdG8g
dGhlIG5ldyBhcmd1bWVudCBmb3IgREVGSU5FX0RFVklDRV9UWVBFX1NUUlVDVA0KPiANCj4gQ2hh
bmdlcyBWNCAtPiBWNToNCj4gICAgLSBzcGxpdCB0aGUgY2hhbmdlcywgY2hhbmdlIHRoZSBvcmRl
ciBvZiB0aGUgcGF0Y2hlcw0KPiAgICAtIHVwZGF0ZSBwYXRjaCBkZXNjcmlwdGlvbg0KPiAgICAt
IGRvbid0IGludHJvZHVjZSBuZXcgInZkaXNrIiBjb25maWd1cmF0aW9uIG9wdGlvbiB3aXRoIG93
biBwYXJzaW5nDQo+IGxvZ2ljLA0KPiAgICAgIHJlLXVzZSBYZW4gUFYgYmxvY2sgImRpc2siIHBh
cnNpbmcvY29uZmlndXJhdGlvbiBsb2dpYyBmb3IgdGhlDQo+IHZpcnRpby1kaXNrDQo+ICAgIC0g
aW50cm9kdWNlICJ2aXJ0aW8iIGZsYWcgYW5kIGRvY3VtZW50IGl0J3MgdXNhZ2UNCj4gICAgLSBh
ZGQgTElCWExfSEFWRV9ERVZJQ0VfRElTS19WSVJUSU8NCj4gICAgLSB1cGRhdGUgbGlieGx1X2Rp
c2tfbC5bY2hdDQo+ICAgIC0gZHJvcCBudW1fZGlza3MgdmFyaWFibGUvTUFYX1ZJUlRJT19ESVNL
Uw0KPiAgICAtIGRyb3AgV2VpJ3MgVC1iDQo+IC0tLQ0KPiAtLS0NCj4gIGRvY3MvbWFuL3hsLWRp
c2stY29uZmlndXJhdGlvbi41LnBvZC5pbiAgIHwgIDI3ICsNCj4gIHRvb2xzL2luY2x1ZGUvbGli
eGwuaCAgICAgICAgICAgICAgICAgICAgIHwgICA2ICsNCj4gIHRvb2xzL2xpYnMvbGlnaHQvbGli
eGxfZGV2aWNlLmMgICAgICAgICAgIHwgIDM4ICstDQo+ICB0b29scy9saWJzL2xpZ2h0L2xpYnhs
X2Rpc2suYyAgICAgICAgICAgICB8ICA5OSArKystDQo+ICB0b29scy9saWJzL2xpZ2h0L2xpYnhs
X3R5cGVzLmlkbCAgICAgICAgICB8ICAgNCArDQo+ICB0b29scy9saWJzL2xpZ2h0L2xpYnhsX3R5
cGVzX2ludGVybmFsLmlkbCB8ICAgMSArDQo+ICB0b29scy9saWJzL2xpZ2h0L2xpYnhsX3V0aWxz
LmMgICAgICAgICAgICB8ICAgMiArDQo+ICB0b29scy9saWJzL3V0aWwvbGlieGx1X2Rpc2tfbC5j
ICAgICAgICAgICB8IDg4MSArKysrKysrKysrKysrKystLS0tLS0tLS0tDQo+IC0tLS0tDQo+ICB0
b29scy9saWJzL3V0aWwvbGlieGx1X2Rpc2tfbC5oICAgICAgICAgICB8ICAgMiArLQ0KPiAgdG9v
bHMvbGlicy91dGlsL2xpYnhsdV9kaXNrX2wubCAgICAgICAgICAgfCAgIDEgKw0KPiAgdG9vbHMv
eGwveGxfYmxvY2suYyAgICAgICAgICAgICAgICAgICAgICAgfCAgMTEgKw0KPiAgMTEgZmlsZXMg
Y2hhbmdlZCwgNjI2IGluc2VydGlvbnMoKyksIDQ0NiBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYg
LS1naXQgYS9kb2NzL21hbi94bC1kaXNrLWNvbmZpZ3VyYXRpb24uNS5wb2QuaW4gYi9kb2NzL21h
bi94bC1kaXNrLQ0KPiBjb25maWd1cmF0aW9uLjUucG9kLmluDQo+IGluZGV4IDcxZDBlODYuLjlj
YzE4OWYgMTAwNjQ0DQo+IC0tLSBhL2RvY3MvbWFuL3hsLWRpc2stY29uZmlndXJhdGlvbi41LnBv
ZC5pbg0KPiArKysgYi9kb2NzL21hbi94bC1kaXNrLWNvbmZpZ3VyYXRpb24uNS5wb2QuaW4NCj4g
QEAgLTM0NCw4ICszNDQsMzUgQEAgY2FuIGJlIHVzZWQgdG8gZGlzYWJsZSAiaG9sZSBwdW5jaGlu
ZyIgZm9yIGZpbGUgYmFzZWQNCj4gYmFja2VuZHMgd2hpY2gNCj4gIHdlcmUgaW50ZW50aW9uYWxs
eSBjcmVhdGVkIG5vbi1zcGFyc2UgdG8gYXZvaWQgZnJhZ21lbnRhdGlvbiBvZiB0aGUNCj4gIGZp
bGUuDQo+IA0KPiArPWl0ZW0gQjx2aXJ0aW8+DQo+ICsNCj4gKz1vdmVyIDQNCj4gKw0KPiArPWl0
ZW0gRGVzY3JpcHRpb24NCj4gKw0KPiArRW5hYmxlcyBleHBlcmltZW50YWwgVmlydGlvIHN1cHBv
cnQgZm9yIGRpc2sNCj4gKw0KPiArPWl0ZW0gU3VwcG9ydGVkIHZhbHVlcw0KPiArDQo+ICthYnNl
bnQsIHByZXNlbnQNCj4gKw0KPiArPWl0ZW0gTWFuZGF0b3J5DQo+ICsNCj4gK05vDQo+ICsNCj4g
Kz1pdGVtIERlZmF1bHQgdmFsdWUNCj4gKw0KPiArYWJzZW50DQo+ICsNCj4gID1iYWNrDQo+IA0K
PiArQmVzaWRlcyBmb3JjaW5nIHRvb2xzdGFjayB0byB1c2Ugc3BlY2lmaWMgWGVuIFZpcnRpbyBi
YWNrZW5kDQo+IGltcGxlbWVudGF0aW9uDQo+ICsoZm9yIGV4YW1wbGUsIHZpcnRpby1kaXNrKSwg
dGhpcyBhbHNvIGFmZmVjdHMgdGhlIGd1ZXN0J3MgdmlldyBvZiB0aGUNCj4gZGV2aWNlDQo+ICth
bmQgcmVxdWlyZXMgdmlydGlvLWJsayBkcml2ZXIgdG8gYmUgdXNlZC4NCj4gK1BsZWFzZSBub3Rl
LCB0aGUgdmlydHVhbCBkZXZpY2UgKHZkZXYpIGlzIG5vdCBwYXNzZWQgdG8gdGhlIGd1ZXN0IGlu
IHRoYXQNCj4gY2FzZSwNCj4gK2J1dCBpdCBzdGlsbCBtdXN0IGJlIHNwZWNpZmllZCBmb3IgdGhl
IGludGVybmFsIHB1cnBvc2VzLg0KPiArDQo+ICs9YmFjaw0KPiANCj4gID1oZWFkMSBDT0xPIFBh
cmFtZXRlcnMNCj4gDQo+IGRpZmYgLS1naXQgYS90b29scy9pbmNsdWRlL2xpYnhsLmggYi90b29s
cy9pbmNsdWRlL2xpYnhsLmgNCj4gaW5kZXggYWU3ZmUyNy4uNThlMTRlNiAxMDA2NDQNCj4gLS0t
IGEvdG9vbHMvaW5jbHVkZS9saWJ4bC5oDQo+ICsrKyBiL3Rvb2xzL2luY2x1ZGUvbGlieGwuaA0K
PiBAQCAtNTAzLDYgKzUwMywxMiBAQA0KPiAgI2RlZmluZSBMSUJYTF9IQVZFX1g4Nl9NU1JfUkVM
QVhFRCAxDQo+IA0KPiAgLyoNCj4gKyAqIExJQlhMX0hBVkVfREVWSUNFX0RJU0tfVklSVElPIGlu
ZGljYXRlcyB0aGF0IGEgJ3ZpcnRpbycgZmllbGQNCj4gKyAqIChvZiBib29sZWFuIHR5cGUpIGlz
IHByZXNlbnQgaW4gbGlieGxfZGV2aWNlX2Rpc2suDQo+ICsgKi8NCj4gKyNkZWZpbmUgTElCWExf
SEFWRV9ERVZJQ0VfRElTS19WSVJUSU8gMQ0KPiArDQo+ICsvKg0KPiAgICogbGlieGwgQUJJIGNv
bXBhdGliaWxpdHkNCj4gICAqDQo+ICAgKiBUaGUgb25seSBndWFyYW50ZWUgd2hpY2ggbGlieGwg
bWFrZXMgcmVnYXJkaW5nIEFCSSBjb21wYXRpYmlsaXR5DQo+IGRpZmYgLS1naXQgYS90b29scy9s
aWJzL2xpZ2h0L2xpYnhsX2RldmljZS5jDQo+IGIvdG9vbHMvbGlicy9saWdodC9saWJ4bF9kZXZp
Y2UuYw0KPiBpbmRleCAzNmM0ZTQxLi43YzhjYjUzIDEwMDY0NA0KPiAtLS0gYS90b29scy9saWJz
L2xpZ2h0L2xpYnhsX2RldmljZS5jDQo+ICsrKyBiL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfZGV2
aWNlLmMNCj4gQEAgLTI5Miw2ICsyOTIsOSBAQCBzdGF0aWMgaW50IGRpc2tfdHJ5X2JhY2tlbmQo
ZGlza190cnlfYmFja2VuZF9hcmdzICphLA0KPiAgICAgIC8qIHJldHVybnMgMCAoaWUsIERJU0tf
QkFDS0VORF9VTktOT1dOKSBvbiBmYWlsdXJlLCBvcg0KPiAgICAgICAqIGJhY2tlbmQgb24gc3Vj
Y2VzcyAqLw0KPiANCj4gKyAgICBpZiAoYS0+ZGlzay0+dmlydGlvICYmIGJhY2tlbmQgIT0gTElC
WExfRElTS19CQUNLRU5EX1ZJUlRJTykNCj4gKyAgICAgICAgZ290byBiYWRfdmlydGlvOw0KPiAr
DQo+ICAgICAgc3dpdGNoIChiYWNrZW5kKSB7DQo+ICAgICAgY2FzZSBMSUJYTF9ESVNLX0JBQ0tF
TkRfUEhZOg0KPiAgICAgICAgICBpZiAoYS0+ZGlzay0+Zm9ybWF0ICE9IExJQlhMX0RJU0tfRk9S
TUFUX1JBVykgew0KPiBAQCAtMzI5LDYgKzMzMiwyOSBAQCBzdGF0aWMgaW50IGRpc2tfdHJ5X2Jh
Y2tlbmQoZGlza190cnlfYmFja2VuZF9hcmdzICphLA0KPiAgICAgICAgICBpZiAoYS0+ZGlzay0+
c2NyaXB0KSBnb3RvIGJhZF9zY3JpcHQ7DQo+ICAgICAgICAgIHJldHVybiBiYWNrZW5kOw0KPiAN
Cj4gKyAgICBjYXNlIExJQlhMX0RJU0tfQkFDS0VORF9WSVJUSU86DQo+ICsgICAgICAgIGlmIChh
LT5kaXNrLT5mb3JtYXQgIT0gTElCWExfRElTS19GT1JNQVRfUkFXKQ0KPiArICAgICAgICAgICAg
Z290byBiYWRfZm9ybWF0Ow0KPiArDQo+ICsgICAgICAgIGlmIChhLT5kaXNrLT5zY3JpcHQpDQo+
ICsgICAgICAgICAgICBnb3RvIGJhZF9zY3JpcHQ7DQo+ICsNCj4gKyAgICAgICAgaWYgKGxpYnhs
X2RlZmJvb2xfdmFsKGEtPmRpc2stPmNvbG9fZW5hYmxlKSkNCj4gKyAgICAgICAgICAgIGdvdG8g
YmFkX2NvbG87DQo+ICsNCj4gKyAgICAgICAgaWYgKGEtPmRpc2stPmJhY2tlbmRfZG9taWQgIT0g
TElCWExfVE9PTFNUQUNLX0RPTUlEKSB7DQo+ICsgICAgICAgICAgICBMT0coREVCVUcsICJEaXNr
IHZkZXY9JXMsIGlzIHVzaW5nIGEgc3RvcmFnZSBkcml2ZXIgZG9tYWluLCAiDQo+ICsgICAgICAg
ICAgICAgICAgICAgICAgICJza2lwcGluZyBwaHlzaWNhbCBkZXZpY2UgY2hlY2siLCBhLT5kaXNr
LT52ZGV2KTsNCj4gKyAgICAgICAgICAgIHJldHVybiBiYWNrZW5kOw0KPiArICAgICAgICB9DQo+
ICsNCj4gKyAgICAgICAgaWYgKGxpYnhsX190cnlfcGh5X2JhY2tlbmQoYS0+c3RhYi5zdF9tb2Rl
KSkNCj4gKyAgICAgICAgICAgIHJldHVybiBiYWNrZW5kOw0KPiArDQo+ICsgICAgICAgIExPRyhE
RUJVRywgIkRpc2sgdmRldj0lcywgYmFja2VuZCB2aXJ0aW8gdW5zdWl0YWJsZSBhcyBwaHlzIHBh
dGgNCj4gbm90IGEgIg0KPiArICAgICAgICAgICAgICAgICAgICJibG9jayBkZXZpY2UiLCBhLT5k
aXNrLT52ZGV2KTsNCj4gKyAgICAgICAgcmV0dXJuIDA7DQo+ICsNCj4gICAgICBkZWZhdWx0Og0K
PiAgICAgICAgICBMT0coREVCVUcsICJEaXNrIHZkZXY9JXMsIGJhY2tlbmQgJWQgdW5rbm93biIs
IGEtPmRpc2stPnZkZXYsDQo+IGJhY2tlbmQpOw0KPiAgICAgICAgICByZXR1cm4gMDsNCj4gQEAg
LTM1Miw2ICszNzgsMTEgQEAgc3RhdGljIGludCBkaXNrX3RyeV9iYWNrZW5kKGRpc2tfdHJ5X2Jh
Y2tlbmRfYXJncyAqYSwNCj4gICAgICBMT0coREVCVUcsICJEaXNrIHZkZXY9JXMsIGJhY2tlbmQg
JXMgbm90IGNvbXBhdGlibGUgd2l0aCBjb2xvIiwNCj4gICAgICAgICAgYS0+ZGlzay0+dmRldiwg
bGlieGxfZGlza19iYWNrZW5kX3RvX3N0cmluZyhiYWNrZW5kKSk7DQo+ICAgICAgcmV0dXJuIDA7
DQo+ICsNCj4gKyBiYWRfdmlydGlvOg0KPiArICAgIExPRyhERUJVRywgIkRpc2sgdmRldj0lcywg
YmFja2VuZCAlcyBub3QgY29tcGF0aWJsZSB3aXRoIHZpcnRpbyIsDQo+ICsgICAgICAgIGEtPmRp
c2stPnZkZXYsIGxpYnhsX2Rpc2tfYmFja2VuZF90b19zdHJpbmcoYmFja2VuZCkpOw0KPiArICAg
IHJldHVybiAwOw0KPiAgfQ0KPiANCj4gIGludCBsaWJ4bF9fYmFja2VuZHBhdGhfcGFyc2VfZG9t
aWQobGlieGxfX2djICpnYywgY29uc3QgY2hhciAqYmVfcGF0aCwNCj4gQEAgLTM5Miw3ICs0MjMs
OCBAQCBpbnQgbGlieGxfX2RldmljZV9kaXNrX3NldF9iYWNrZW5kKGxpYnhsX19nYyAqZ2MsDQo+
IGxpYnhsX2RldmljZV9kaXNrICpkaXNrKSB7DQo+ICAgICAgICAgIH0NCj4gICAgICAgICAgbWVt
c2V0KCZhLnN0YWIsIDAsIHNpemVvZihhLnN0YWIpKTsNCj4gICAgICB9IGVsc2UgaWYgKChkaXNr
LT5iYWNrZW5kID09IExJQlhMX0RJU0tfQkFDS0VORF9VTktOT1dOIHx8DQo+IC0gICAgICAgICAg
ICAgICAgZGlzay0+YmFja2VuZCA9PSBMSUJYTF9ESVNLX0JBQ0tFTkRfUEhZKSAmJg0KPiArICAg
ICAgICAgICAgICAgIGRpc2stPmJhY2tlbmQgPT0gTElCWExfRElTS19CQUNLRU5EX1BIWSB8fA0K
PiArICAgICAgICAgICAgICAgIGRpc2stPmJhY2tlbmQgPT0gTElCWExfRElTS19CQUNLRU5EX1ZJ
UlRJTykgJiYNCj4gICAgICAgICAgICAgICAgIGRpc2stPmJhY2tlbmRfZG9taWQgPT0gTElCWExf
VE9PTFNUQUNLX0RPTUlEICYmDQo+ICAgICAgICAgICAgICAgICAhZGlzay0+c2NyaXB0KSB7DQo+
ICAgICAgICAgIGlmIChzdGF0KGRpc2stPnBkZXZfcGF0aCwgJmEuc3RhYikpIHsNCj4gQEAgLTQw
OCw3ICs0NDAsOCBAQCBpbnQgbGlieGxfX2RldmljZV9kaXNrX3NldF9iYWNrZW5kKGxpYnhsX19n
YyAqZ2MsDQo+IGxpYnhsX2RldmljZV9kaXNrICpkaXNrKSB7DQo+ICAgICAgICAgIG9rPQ0KPiAg
ICAgICAgICAgICAgZGlza190cnlfYmFja2VuZCgmYSwgTElCWExfRElTS19CQUNLRU5EX1BIWSkg
PzoNCj4gICAgICAgICAgICAgIGRpc2tfdHJ5X2JhY2tlbmQoJmEsIExJQlhMX0RJU0tfQkFDS0VO
RF9RRElTSykgPzoNCj4gLSAgICAgICAgICAgIGRpc2tfdHJ5X2JhY2tlbmQoJmEsIExJQlhMX0RJ
U0tfQkFDS0VORF9UQVApOw0KPiArICAgICAgICAgICAgZGlza190cnlfYmFja2VuZCgmYSwgTElC
WExfRElTS19CQUNLRU5EX1RBUCkgPzoNCj4gKyAgICAgICAgICAgIGRpc2tfdHJ5X2JhY2tlbmQo
JmEsIExJQlhMX0RJU0tfQkFDS0VORF9WSVJUSU8pOw0KPiAgICAgICAgICBpZiAob2spDQo+ICAg
ICAgICAgICAgICBMT0coREVCVUcsICJEaXNrIHZkZXY9JXMsIHVzaW5nIGJhY2tlbmQgJXMiLA0K
PiAgICAgICAgICAgICAgICAgICAgICAgICBkaXNrLT52ZGV2LA0KPiBAQCAtNDQxLDYgKzQ3NCw3
IEBAIGNoYXINCj4gKmxpYnhsX19kZXZpY2VfZGlza19zdHJpbmdfb2ZfYmFja2VuZChsaWJ4bF9k
aXNrX2JhY2tlbmQgYmFja2VuZCkNCj4gICAgICAgICAgY2FzZSBMSUJYTF9ESVNLX0JBQ0tFTkRf
UURJU0s6IHJldHVybiAicWRpc2siOw0KPiAgICAgICAgICBjYXNlIExJQlhMX0RJU0tfQkFDS0VO
RF9UQVA6IHJldHVybiAicGh5IjsNCj4gICAgICAgICAgY2FzZSBMSUJYTF9ESVNLX0JBQ0tFTkRf
UEhZOiByZXR1cm4gInBoeSI7DQo+ICsgICAgICAgIGNhc2UgTElCWExfRElTS19CQUNLRU5EX1ZJ
UlRJTzogcmV0dXJuICJ2aXJ0aW9fZGlzayI7DQo+ICAgICAgICAgIGRlZmF1bHQ6IHJldHVybiBO
VUxMOw0KPiAgICAgIH0NCj4gIH0NCj4gZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMvbGlnaHQvbGli
eGxfZGlzay5jIGIvdG9vbHMvbGlicy9saWdodC9saWJ4bF9kaXNrLmMNCj4gaW5kZXggNDExZmZl
YS4uNDMzMmRhYiAxMDA2NDQNCj4gLS0tIGEvdG9vbHMvbGlicy9saWdodC9saWJ4bF9kaXNrLmMN
Cj4gKysrIGIvdG9vbHMvbGlicy9saWdodC9saWJ4bF9kaXNrLmMNCj4gQEAgLTE3NCw2ICsxNzQs
MTYgQEAgc3RhdGljIGludCBsaWJ4bF9fZGV2aWNlX2Rpc2tfc2V0ZGVmYXVsdChsaWJ4bF9fZ2MN
Cj4gKmdjLCB1aW50MzJfdCBkb21pZCwNCj4gICAgICAgICAgZGlzay0+YmFja2VuZCA9IExJQlhM
X0RJU0tfQkFDS0VORF9RRElTSzsNCj4gICAgICB9DQo+IA0KPiArICAgIC8qIEZvcmNlIHZpcnRp
b19kaXNrIGJhY2tlbmQgZm9yIFZpcnRpbyBkZXZpY2VzICovDQo+ICsgICAgaWYgKGRpc2stPnZp
cnRpbykgew0KPiArICAgICAgICBpZiAoIShkaXNrLT5iYWNrZW5kID09IExJQlhMX0RJU0tfQkFD
S0VORF9WSVJUSU8gfHwNCj4gKyAgICAgICAgICAgICAgZGlzay0+YmFja2VuZCA9PSBMSUJYTF9E
SVNLX0JBQ0tFTkRfVU5LTk9XTikpIHsNCj4gKyAgICAgICAgICAgIExPR0QoRVJST1IsIGRvbWlk
LCAiQmFja2VuZCBmb3IgVmlydGlvIGRldmljZXMgb24gbXVzdCBiZQ0KPiB2aXJ0aW9fZGlzayIp
Ow0KPiArICAgICAgICAgICAgcmV0dXJuIEVSUk9SX0ZBSUw7DQo+ICsgICAgICAgIH0NCj4gKyAg
ICAgICAgZGlzay0+YmFja2VuZCA9IExJQlhMX0RJU0tfQkFDS0VORF9WSVJUSU87DQo+ICsgICAg
fQ0KPiArDQo+ICAgICAgcmMgPSBsaWJ4bF9fZGV2aWNlX2Rpc2tfc2V0X2JhY2tlbmQoZ2MsIGRp
c2spOw0KPiAgICAgIHJldHVybiByYzsNCj4gIH0NCj4gQEAgLTIwNCw2ICsyMTQsOSBAQCBzdGF0
aWMgaW50IGxpYnhsX19kZXZpY2VfZnJvbV9kaXNrKGxpYnhsX19nYyAqZ2MsDQo+IHVpbnQzMl90
IGRvbWlkLA0KPiAgICAgICAgICBjYXNlIExJQlhMX0RJU0tfQkFDS0VORF9RRElTSzoNCj4gICAg
ICAgICAgICAgIGRldmljZS0+YmFja2VuZF9raW5kID0gTElCWExfX0RFVklDRV9LSU5EX1FESVNL
Ow0KPiAgICAgICAgICAgICAgYnJlYWs7DQo+ICsgICAgICAgIGNhc2UgTElCWExfRElTS19CQUNL
RU5EX1ZJUlRJTzoNCj4gKyAgICAgICAgICAgIGRldmljZS0+YmFja2VuZF9raW5kID0gTElCWExf
X0RFVklDRV9LSU5EX1ZJUlRJT19ESVNLOw0KPiArICAgICAgICAgICAgYnJlYWs7DQo+ICAgICAg
ICAgIGRlZmF1bHQ6DQo+ICAgICAgICAgICAgICBMT0dEKEVSUk9SLCBkb21pZCwgIlVucmVjb2du
aXplZCBkaXNrIGJhY2tlbmQgdHlwZTogJWQiLA0KPiAgICAgICAgICAgICAgICAgICBkaXNrLT5i
YWNrZW5kKTsNCj4gQEAgLTIxMiw3ICsyMjUsOCBAQCBzdGF0aWMgaW50IGxpYnhsX19kZXZpY2Vf
ZnJvbV9kaXNrKGxpYnhsX19nYyAqZ2MsDQo+IHVpbnQzMl90IGRvbWlkLA0KPiANCj4gICAgICBk
ZXZpY2UtPmRvbWlkID0gZG9taWQ7DQo+ICAgICAgZGV2aWNlLT5kZXZpZCA9IGRldmlkOw0KPiAt
ICAgIGRldmljZS0+a2luZCAgPSBMSUJYTF9fREVWSUNFX0tJTkRfVkJEOw0KPiArICAgIGRldmlj
ZS0+a2luZCA9IGRpc2stPmJhY2tlbmQgPT0gTElCWExfRElTS19CQUNLRU5EX1ZJUlRJTyA/DQo+
ICsgICAgICAgIExJQlhMX19ERVZJQ0VfS0lORF9WSVJUSU9fRElTSyA6IExJQlhMX19ERVZJQ0Vf
S0lORF9WQkQ7DQo+IA0KPiAgICAgIHJldHVybiAwOw0KPiAgfQ0KPiBAQCAtMzMwLDcgKzM0NCwx
NyBAQCBzdGF0aWMgdm9pZCBkZXZpY2VfZGlza19hZGQobGlieGxfX2VnYyAqZWdjLCB1aW50MzJf
dA0KPiBkb21pZCwNCj4gDQo+ICAgICAgICAgICAgICAgICAgYXNzZXJ0KGRldmljZS0+YmFja2Vu
ZF9raW5kID09IExJQlhMX19ERVZJQ0VfS0lORF9WQkQpOw0KPiAgICAgICAgICAgICAgICAgIGJy
ZWFrOw0KPiArICAgICAgICAgICAgY2FzZSBMSUJYTF9ESVNLX0JBQ0tFTkRfVklSVElPOg0KPiAr
ICAgICAgICAgICAgICAgIGRldiA9IGRpc2stPnBkZXZfcGF0aDsNCj4gKw0KPiArICAgICAgICAg
ICAgICAgIGZsZXhhcnJheV9hcHBlbmQoYmFjaywgInBhcmFtcyIpOw0KPiArICAgICAgICAgICAg
ICAgIGZsZXhhcnJheV9hcHBlbmQoYmFjaywgZGV2KTsNCj4gDQo+ICsgICAgICAgICAgICAgICAg
ZmxleGFycmF5X2FwcGVuZF9wYWlyKGJhY2ssICJiYXNlIiwgR0NTUFJJTlRGKCIlbHUiLA0KPiBk
aXNrLT5iYXNlKSk7DQo+ICsgICAgICAgICAgICAgICAgZmxleGFycmF5X2FwcGVuZF9wYWlyKGJh
Y2ssICJpcnEiLCBHQ1NQUklOVEYoIiV1IiwgZGlzay0NCj4gPmlycSkpOw0KPiArDQo+ICsgICAg
ICAgICAgICAgICAgYXNzZXJ0KGRldmljZS0+YmFja2VuZF9raW5kID09DQo+IExJQlhMX19ERVZJ
Q0VfS0lORF9WSVJUSU9fRElTSyk7DQo+ICsgICAgICAgICAgICAgICAgYnJlYWs7DQo+ICAgICAg
ICAgICAgICBjYXNlIExJQlhMX0RJU0tfQkFDS0VORF9UQVA6DQo+ICAgICAgICAgICAgICAgICAg
TE9HKEVSUk9SLCAiYmxrdGFwIGlzIG5vdCBzdXBwb3J0ZWQiKTsNCj4gICAgICAgICAgICAgICAg
ICByYyA9IEVSUk9SX0ZBSUw7DQo+IEBAIC01MzIsNiArNTU2LDI2IEBAIHN0YXRpYyBpbnQgbGli
eGxfX2Rpc2tfZnJvbV94ZW5zdG9yZShsaWJ4bF9fZ2MgKmdjLA0KPiBjb25zdCBjaGFyICpsaWJ4
bF9wYXRoLA0KPiAgICAgIH0NCj4gICAgICBsaWJ4bF9zdHJpbmdfdG9fYmFja2VuZChjdHgsIHRt
cCwgJihkaXNrLT5iYWNrZW5kKSk7DQo+IA0KPiArICAgIGlmIChkaXNrLT5iYWNrZW5kID09IExJ
QlhMX0RJU0tfQkFDS0VORF9WSVJUSU8pIHsNCj4gKyAgICAgICAgZGlzay0+dmlydGlvID0gdHJ1
ZTsNCj4gKw0KPiArICAgICAgICB0bXAgPSBsaWJ4bF9feHNfcmVhZChnYywgWEJUX05VTEwsDQo+
ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdDU1BSSU5URigiJXMvYmFzZSIsIGxpYnhs
X3BhdGgpKTsNCj4gKyAgICAgICAgaWYgKCF0bXApIHsNCj4gKyAgICAgICAgICAgIExPRyhFUlJP
UiwgIk1pc3NpbmcgeGVuc3RvcmUgbm9kZSAlcy9iYXNlIiwgbGlieGxfcGF0aCk7DQo+ICsgICAg
ICAgICAgICBnb3RvIGNsZWFudXA7DQo+ICsgICAgICAgIH0NCj4gKyAgICAgICAgZGlzay0+YmFz
ZSA9IHN0cnRvdWwodG1wLCBOVUxMLCAxMCk7DQo+ICsNCj4gKyAgICAgICAgdG1wID0gbGlieGxf
X3hzX3JlYWQoZ2MsIFhCVF9OVUxMLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBH
Q1NQUklOVEYoIiVzL2lycSIsIGxpYnhsX3BhdGgpKTsNCj4gKyAgICAgICAgaWYgKCF0bXApIHsN
Cj4gKyAgICAgICAgICAgIExPRyhFUlJPUiwgIk1pc3NpbmcgeGVuc3RvcmUgbm9kZSAlcy9pcnEi
LCBsaWJ4bF9wYXRoKTsNCj4gKyAgICAgICAgICAgIGdvdG8gY2xlYW51cDsNCj4gKyAgICAgICAg
fQ0KPiArICAgICAgICBkaXNrLT5pcnEgPSBzdHJ0b3VsKHRtcCwgTlVMTCwgMTApOw0KPiArICAg
IH0NCj4gKw0KPiAgICAgIGRpc2stPnZkZXYgPSB4c19yZWFkKGN0eC0+eHNoLCBYQlRfTlVMTCwN
Cj4gICAgICAgICAgICAgICAgICAgICAgICAgICBHQ1NQUklOVEYoIiVzL2RldiIsIGxpYnhsX3Bh
dGgpLCAmbGVuKTsNCj4gICAgICBpZiAoIWRpc2stPnZkZXYpIHsNCj4gQEAgLTU3NSw2ICs2MTks
NDEgQEAgY2xlYW51cDoNCj4gICAgICByZXR1cm4gcmM7DQo+ICB9DQo+IA0KPiArc3RhdGljIGlu
dCBsaWJ4bF9kZXZpY2VfZGlza19nZXRfcGF0aChsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21p
ZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqKnBhdGgp
DQo+ICt7DQo+ICsgICAgY29uc3QgY2hhciAqZGlyOw0KPiArICAgIGludCByYzsNCj4gKw0KPiAr
ICAgIC8qDQo+ICsgICAgICogQXMgd2UgZG9uJ3Qga25vdyBleGFjdGx5IHdoYXQgZGV2aWNlIGtp
bmQgdG8gYmUgdXNlZCBoZXJlLCBndWVzcw0KPiBpdA0KPiArICAgICAqIGJ5IGNoZWNraW5nIHRo
ZSBwcmVzZW5jZSBvZiB0aGUgY29ycmVzcG9uZGluZyBwYXRoIGluIFhlbnN0b3JlLg0KPiArICAg
ICAqIEZpcnN0LCB0cnkgdG8gcmVhZCBwYXRoIGZvciB2YmQgZGV2aWNlIChkZWZhdWx0KSBhbmQg
aWYgbm90IGV4aXN0cw0KPiArICAgICAqIHJlYWQgcGF0aCBmb3IgdmlydGlvX2Rpc2sgZGV2aWNl
LiBUaGlzIHdpbGwgd29yayBhcyBsb25nIGFzIGJvdGgNCj4gWGVuIFBWDQo+ICsgICAgICogYW5k
IFZpcnRpbyBkaXNrIGRldmljZXMgYXJlIG5vdCBhc3NpZ25lZCB0byB0aGUgc2FtZSBndWVzdC4N
Cj4gKyAgICAgKi8NCj4gKyAgICAqcGF0aCA9IEdDU1BSSU5URigiJXMvZGV2aWNlLyVzIiwNCj4g
KyAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9feHNfbGlieGxfcGF0aChnYywgZG9taWQpLA0K
PiArDQo+IGxpYnhsX19kZXZpY2Vfa2luZF90b19zdHJpbmcoTElCWExfX0RFVklDRV9LSU5EX1ZC
RCkpOw0KPiArDQo+ICsgICAgcmMgPSBsaWJ4bF9feHNfcmVhZF9jaGVja2VkKGdjLCBYQlRfTlVM
TCwgKnBhdGgsICZkaXIpOw0KPiArICAgIGlmIChyYykNCj4gKyAgICAgICAgcmV0dXJuIHJjOw0K
PiArDQo+ICsgICAgaWYgKGRpcikNCj4gKyAgICAgICAgcmV0dXJuIDA7DQo+ICsNCj4gKyAgICAq
cGF0aCA9IEdDU1BSSU5URigiJXMvZGV2aWNlLyVzIiwNCj4gKyAgICAgICAgICAgICAgICAgICAg
ICBsaWJ4bF9feHNfbGlieGxfcGF0aChnYywgZG9taWQpLA0KPiArDQo+IGxpYnhsX19kZXZpY2Vf
a2luZF90b19zdHJpbmcoTElCWExfX0RFVklDRV9LSU5EX1ZJUlRJT19ESVNLKSk7DQo+ICsNCj4g
KyAgICByYyA9IGxpYnhsX194c19yZWFkX2NoZWNrZWQoZ2MsIFhCVF9OVUxMLCAqcGF0aCwgJmRp
cik7DQo+ICsgICAgaWYgKHJjKQ0KPiArICAgICAgICByZXR1cm4gcmM7DQo+ICsNCj4gKyAgICBy
ZXR1cm4gMDsNCj4gK30NCj4gKw0KPiAgaW50IGxpYnhsX3ZkZXZfdG9fZGV2aWNlX2Rpc2sobGli
eGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkLA0KPiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgY2hhciAqdmRldiwgbGlieGxfZGV2aWNlX2Rpc2sgKmRpc2spDQo+ICB7DQo+
IEBAIC01ODgsMTAgKzY2NywxMiBAQCBpbnQgbGlieGxfdmRldl90b19kZXZpY2VfZGlzayhsaWJ4
bF9jdHggKmN0eCwNCj4gdWludDMyX3QgZG9taWQsDQo+IA0KPiAgICAgIGxpYnhsX2RldmljZV9k
aXNrX2luaXQoZGlzayk7DQo+IA0KPiAtICAgIGxpYnhsX3BhdGggPSBsaWJ4bF9fZG9tYWluX2Rl
dmljZV9saWJ4bF9wYXRoKGdjLCBkb21pZCwgZGV2aWQsDQo+IC0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWExfX0RFVklDRV9LSU5EX1ZCRCk7DQo+
ICsgICAgcmMgPSBsaWJ4bF9kZXZpY2VfZGlza19nZXRfcGF0aChnYywgZG9taWQsICZsaWJ4bF9w
YXRoKTsNCj4gKyAgICBpZiAocmMpDQo+ICsgICAgICAgIHJldHVybiByYzsNCj4gDQo+IC0gICAg
cmMgPSBsaWJ4bF9fZGlza19mcm9tX3hlbnN0b3JlKGdjLCBsaWJ4bF9wYXRoLCBkZXZpZCwgZGlz
ayk7DQo+ICsgICAgcmMgPSBsaWJ4bF9fZGlza19mcm9tX3hlbnN0b3JlKGdjLCBHQ1NQUklOVEYo
IiVzLyVkIiwgbGlieGxfcGF0aCwNCj4gZGV2aWQpLA0KPiArICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBkZXZpZCwgZGlzayk7DQo+IA0KPiAgICAgIEdDX0ZSRUU7DQo+ICAgICAg
cmV0dXJuIHJjOw0KPiBAQCAtNjA1LDE2ICs2ODYsMTkgQEAgaW50IGxpYnhsX2RldmljZV9kaXNr
X2dldGluZm8obGlieGxfY3R4ICpjdHgsDQo+IHVpbnQzMl90IGRvbWlkLA0KPiAgICAgIGNoYXIg
KmZlX3BhdGgsICpsaWJ4bF9wYXRoOw0KPiAgICAgIGNoYXIgKnZhbDsNCj4gICAgICBpbnQgcmM7
DQo+ICsgICAgbGlieGxfX2RldmljZV9raW5kIGtpbmQ7DQo+IA0KPiAgICAgIGRpc2tpbmZvLT5i
YWNrZW5kID0gTlVMTDsNCj4gDQo+ICAgICAgZGlza2luZm8tPmRldmlkID0gbGlieGxfX2Rldmlj
ZV9kaXNrX2Rldl9udW1iZXIoZGlzay0+dmRldiwgTlVMTCwNCj4gTlVMTCk7DQo+IA0KPiAtICAg
IC8qIHRhcCBkZXZpY2VzIGVudHJpZXMgaW4geGVuc3RvcmUgYXJlIHdyaXR0ZW4gYXMgdmJkIGRl
dmljZXMuICovDQo+ICsgICAgLyogdGFwIGRldmljZXMgZW50cmllcyBpbiB4ZW5zdG9yZSBhcmUg
d3JpdHRlbiBhcyB2YmQvdmlydGlvX2Rpc2sNCj4gZGV2aWNlcy4gKi8NCj4gKyAgICBraW5kID0g
ZGlzay0+YmFja2VuZCA9PSBMSUJYTF9ESVNLX0JBQ0tFTkRfVklSVElPID8NCj4gKyAgICAgICAg
TElCWExfX0RFVklDRV9LSU5EX1ZJUlRJT19ESVNLIDogTElCWExfX0RFVklDRV9LSU5EX1ZCRDsN
Cj4gICAgICBmZV9wYXRoID0gbGlieGxfX2RvbWFpbl9kZXZpY2VfZnJvbnRlbmRfcGF0aChnYywg
ZG9taWQsIGRpc2tpbmZvLQ0KPiA+ZGV2aWQsDQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgTElCWExfX0RFVklDRV9LSU5EX1ZCRCk7DQo+ICsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2luZCk7DQo+ICAg
ICAgbGlieGxfcGF0aCA9IGxpYnhsX19kb21haW5fZGV2aWNlX2xpYnhsX3BhdGgoZ2MsIGRvbWlk
LCBkaXNraW5mby0NCj4gPmRldmlkLA0KPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIExJQlhMX19ERVZJQ0VfS0lORF9WQkQpOw0KPiArICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtpbmQpOw0KPiAgICAgIGRp
c2tpbmZvLT5iYWNrZW5kID0geHNfcmVhZChjdHgtPnhzaCwgWEJUX05VTEwsDQo+ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEdDU1BSSU5URigiJXMvYmFja2VuZCIsIGxpYnhsX3Bh
dGgpLA0KPiBOVUxMKTsNCj4gICAgICBpZiAoIWRpc2tpbmZvLT5iYWNrZW5kKSB7DQo+IEBAIC0x
Mzc1LDYgKzE0NTksNyBAQCBMSUJYTF9ERUZJTkVfREVWSUNFX0xJU1QoZGlzaykNCj4gICNkZWZp
bmUgbGlieGxfX2RldmljZV9kaXNrX3VwZGF0ZV9kZXZpZCBOVUxMDQo+IA0KPiAgREVGSU5FX0RF
VklDRV9UWVBFX1NUUlVDVChkaXNrLCBWQkQsIGRpc2tzLA0KPiArICAgIC5nZXRfcGF0aCAgICA9
IGxpYnhsX2RldmljZV9kaXNrX2dldF9wYXRoLA0KPiAgICAgIC5tZXJnZSAgICAgICA9IGxpYnhs
X2RldmljZV9kaXNrX21lcmdlLA0KPiAgICAgIC5kbV9uZWVkZWQgICA9IGxpYnhsX2RldmljZV9k
aXNrX2RtX25lZWRlZCwNCj4gICAgICAuZnJvbV94ZW5zdG9yZSA9IChkZXZpY2VfZnJvbV94ZW5z
dG9yZV9mbl90KWxpYnhsX19kaXNrX2Zyb21feGVuc3RvcmUsDQo+IGRpZmYgLS1naXQgYS90b29s
cy9saWJzL2xpZ2h0L2xpYnhsX3R5cGVzLmlkbA0KPiBiL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxf
dHlwZXMuaWRsDQo+IGluZGV4IGY0NWFkZGQuLmQ1MTNkZGUgMTAwNjQ0DQo+IC0tLSBhL3Rvb2xz
L2xpYnMvbGlnaHQvbGlieGxfdHlwZXMuaWRsDQo+ICsrKyBiL3Rvb2xzL2xpYnMvbGlnaHQvbGli
eGxfdHlwZXMuaWRsDQo+IEBAIC0xMzAsNiArMTMwLDcgQEAgbGlieGxfZGlza19iYWNrZW5kID0g
RW51bWVyYXRpb24oImRpc2tfYmFja2VuZCIsIFsNCj4gICAgICAoMSwgIlBIWSIpLA0KPiAgICAg
ICgyLCAiVEFQIiksDQo+ICAgICAgKDMsICJRRElTSyIpLA0KPiArICAgICg0LCAiVklSVElPIiks
DQo+ICAgICAgXSkNCj4gDQo+ICBsaWJ4bF9uaWNfdHlwZSA9IEVudW1lcmF0aW9uKCJuaWNfdHlw
ZSIsIFsNCj4gQEAgLTY5OSw2ICs3MDAsOSBAQCBsaWJ4bF9kZXZpY2VfZGlzayA9IFN0cnVjdCgi
ZGV2aWNlX2Rpc2siLCBbDQo+ICAgICAgKCJpc19jZHJvbSIsIGludGVnZXIpLA0KPiAgICAgICgi
ZGlyZWN0X2lvX3NhZmUiLCBib29sKSwNCj4gICAgICAoImRpc2NhcmRfZW5hYmxlIiwgbGlieGxf
ZGVmYm9vbCksDQo+ICsgICAgKCJ2aXJ0aW8iLCBib29sKSwNCj4gKyAgICAoImlycSIsIHVpbnQz
MiksDQo+ICsgICAgKCJiYXNlIiwgdWludDY0KSwNCj4gICAgICAjIE5vdGUgdGhhdCB0aGUgQ09M
TyBjb25maWd1cmF0aW9uIHNldHRpbmdzIHNob3VsZCBiZSBjb25zaWRlcmVkDQo+IHVuc3RhYmxl
Lg0KPiAgICAgICMgVGhleSBtYXkgY2hhbmdlIGluY29tcGF0aWJseSBpbiBmdXR1cmUgdmVyc2lv
bnMgb2YgWGVuLg0KPiAgICAgICgiY29sb19lbmFibGUiLCBsaWJ4bF9kZWZib29sKSwNCj4gZGlm
ZiAtLWdpdCBhL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfdHlwZXNfaW50ZXJuYWwuaWRsDQo+IGIv
dG9vbHMvbGlicy9saWdodC9saWJ4bF90eXBlc19pbnRlcm5hbC5pZGwNCj4gaW5kZXggMzU5M2Uy
MS4uOGY3MTk4MCAxMDA2NDQNCj4gLS0tIGEvdG9vbHMvbGlicy9saWdodC9saWJ4bF90eXBlc19p
bnRlcm5hbC5pZGwNCj4gKysrIGIvdG9vbHMvbGlicy9saWdodC9saWJ4bF90eXBlc19pbnRlcm5h
bC5pZGwNCj4gQEAgLTMyLDYgKzMyLDcgQEAgbGlieGxfX2RldmljZV9raW5kID0gRW51bWVyYXRp
b24oImRldmljZV9raW5kIiwgWw0KPiAgICAgICgxNCwgIlBWQ0FMTFMiKSwNCj4gICAgICAoMTUs
ICJWU05EIiksDQo+ICAgICAgKDE2LCAiVklOUFVUIiksDQo+ICsgICAgKDE3LCAiVklSVElPX0RJ
U0siKSwNCj4gICAgICBdKQ0KPiANCj4gIGxpYnhsX19jb25zb2xlX2JhY2tlbmQgPSBFbnVtZXJh
dGlvbigiY29uc29sZV9iYWNrZW5kIiwgWw0KPiBkaWZmIC0tZ2l0IGEvdG9vbHMvbGlicy9saWdo
dC9saWJ4bF91dGlscy5jDQo+IGIvdG9vbHMvbGlicy9saWdodC9saWJ4bF91dGlscy5jDQo+IGlu
ZGV4IDQ2OTljNGEuLmZhNDA2ZGUgMTAwNjQ0DQo+IC0tLSBhL3Rvb2xzL2xpYnMvbGlnaHQvbGli
eGxfdXRpbHMuYw0KPiArKysgYi90b29scy9saWJzL2xpZ2h0L2xpYnhsX3V0aWxzLmMNCj4gQEAg
LTMwNCw2ICszMDQsOCBAQCBpbnQgbGlieGxfc3RyaW5nX3RvX2JhY2tlbmQobGlieGxfY3R4ICpj
dHgsIGNoYXIgKnMsDQo+IGxpYnhsX2Rpc2tfYmFja2VuZCAqYmFja2VuZA0KPiAgICAgICAgICAq
YmFja2VuZCA9IExJQlhMX0RJU0tfQkFDS0VORF9UQVA7DQo+ICAgICAgfSBlbHNlIGlmICghc3Ry
Y21wKHMsICJxZGlzayIpKSB7DQo+ICAgICAgICAgICpiYWNrZW5kID0gTElCWExfRElTS19CQUNL
RU5EX1FESVNLOw0KPiArICAgIH0gZWxzZSBpZiAoIXN0cmNtcChzLCAidmlydGlvX2Rpc2siKSkg
ew0KPiArICAgICAgICAqYmFja2VuZCA9IExJQlhMX0RJU0tfQkFDS0VORF9WSVJUSU87DQo+ICAg
ICAgfSBlbHNlIGlmICghc3RyY21wKHMsICJ0YXAiKSkgew0KPiAgICAgICAgICBwID0gc3RyY2hy
KHMsICc6Jyk7DQo+ICAgICAgICAgIGlmICghcCkgew0KPiBkaWZmIC0tZ2l0IGEvdG9vbHMvbGli
cy91dGlsL2xpYnhsdV9kaXNrX2wuYw0KPiBiL3Rvb2xzL2xpYnMvdXRpbC9saWJ4bHVfZGlza19s
LmMNCj4gaW5kZXggMzJkNGI3NC4uN2FiYzY5OSAxMDA2NDQNCj4gLS0tIGEvdG9vbHMvbGlicy91
dGlsL2xpYnhsdV9kaXNrX2wuYw0KPiArKysgYi90b29scy9saWJzL3V0aWwvbGlieGx1X2Rpc2tf
bC5jDQo+IEBAIC01NDksOCArNTQ5LDggQEAgc3RhdGljIHZvaWQgeXlub3JldHVybiB5eV9mYXRh
bF9lcnJvciAoIGNvbnN0IGNoYXIqDQo+IG1zZyAsIHl5c2Nhbl90IHl5c2Nhbm5lciApOw0KPiAg
CXl5Zy0+eXlfaG9sZF9jaGFyID0gKnl5X2NwOyBcDQo+ICAJKnl5X2NwID0gJ1wwJzsgXA0KPiAg
CXl5Zy0+eXlfY19idWZfcCA9IHl5X2NwOw0KPiAtI2RlZmluZSBZWV9OVU1fUlVMRVMgMzYNCj4g
LSNkZWZpbmUgWVlfRU5EX09GX0JVRkZFUiAzNw0KPiArI2RlZmluZSBZWV9OVU1fUlVMRVMgMzcN
Cj4gKyNkZWZpbmUgWVlfRU5EX09GX0JVRkZFUiAzOA0KPiAgLyogVGhpcyBzdHJ1Y3QgaXMgbm90
IHVzZWQgaW4gdGhpcyBzY2FubmVyLA0KPiAgICAgYnV0IGl0cyBwcmVzZW5jZSBpcyBuZWNlc3Nh
cnkuICovDQo+ICBzdHJ1Y3QgeXlfdHJhbnNfaW5mbw0KPiBAQCAtNTU4LDc0ICs1NTgsNzUgQEAg
c3RydWN0IHl5X3RyYW5zX2luZm8NCj4gIAlmbGV4X2ludDMyX3QgeXlfdmVyaWZ5Ow0KPiAgCWZs
ZXhfaW50MzJfdCB5eV9ueHQ7DQo+ICAJfTsNCj4gLXN0YXRpYyBjb25zdCBmbGV4X2ludDE2X3Qg
eXlfYWNjbGlzdFs1NzVdID0NCj4gK3N0YXRpYyBjb25zdCBmbGV4X2ludDE2X3QgeXlfYWNjbGlz
dFs1ODNdID0NCj4gICAgICB7ICAgMCwNCj4gLSAgICAgICAzNSwgICAzNSwgICAzNywgICAzMywg
ICAzNCwgICAzNiwgODE5MywgICAzMywgICAzNCwgICAzNiwNCj4gLSAgICAxNjM4NSwgODE5Mywg
ICAzMywgICAzNiwxNjM4NSwgICAzMywgICAzNCwgICAzNiwgICAzNCwgICAzNiwNCj4gLSAgICAg
ICAzMywgICAzNCwgICAzNiwgICAzMywgICAzNCwgICAzNiwgICAzMywgICAzNCwgICAzNiwgICAz
MywNCj4gLSAgICAgICAzNCwgICAzNiwgICAzMywgICAzNCwgICAzNiwgICAzMywgICAzNCwgICAz
NiwgICAzMywgICAzNCwNCj4gLSAgICAgICAzNiwgICAzMywgICAzNCwgICAzNiwgICAzMywgICAz
NCwgICAzNiwgICAzMywgICAzNCwgICAzNiwNCj4gLSAgICAgICAzMywgICAzNCwgICAzNiwgICAz
MywgICAzNCwgICAzNiwgICAzMywgICAzNCwgICAzNiwgICAzMywNCj4gLSAgICAgICAzNCwgICAz
NiwgICAzMywgICAzNCwgICAzNiwgICAzMywgICAzNCwgICAzNiwgICAzNSwgICAzNiwNCj4gLSAg
ICAgICAzNiwgICAzMywgICAzMywgODE5MywgICAzMywgODE5MywgICAzMywxNjM4NSwgODE5Mywg
ICAzMywNCj4gLSAgICAgODE5MywgICAzMywgICAzMywgODIyNCwgICAzMywxNjQxNiwgICAzMywg
ICAzMywgICAzMywgICAzMywNCj4gLSAgICAgICAzMywgICAzMywgICAzMywgICAzMywgICAzMywg
ICAzMywgICAzMywgICAzMywgICAzMywgICAzMywNCj4gLQ0KPiAtICAgICAgIDMzLCAgIDMzLCAg
IDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDM1LA0KPiAtICAgICA4
MTkzLCAgIDMzLCA4MTkzLCAgIDMzLCA4MTkzLCA4MjI0LCAgIDMzLCA4MjI0LCAgIDMzLCA4MjI0
LA0KPiAtICAgICAgIDIzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMz
LCAgIDMzLCAgIDMzLA0KPiAtICAgICAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMz
LCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLA0KPiAtICAgICAgIDMzLCAgIDMzLCAgIDMzLCAgIDMz
LCAgIDMzLCA4MjI0LCAgIDMzLCA4MjI0LCAgIDMzLCA4MjI0LA0KPiAtICAgICAgIDIzLCAgIDMz
LCAgIDMzLCAgIDI4LCA4MjI0LCAgIDMzLDE2NDE2LCAgIDMzLCAgIDMzLCAgIDE1LA0KPiAtICAg
ICAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCA4
MjE3LA0KPiAtICAgICA4MjI0LCAgIDMzLDE2NDA5LDE2NDE2LCAgIDMzLCAgIDMzLCAgIDMxLCA4
MjI0LCAgIDMzLDE2NDE2LA0KPiAtICAgICAgIDMzLCA4MjE2LCA4MjI0LCAgIDMzLDE2NDA4LDE2
NDE2LCAgIDMzLCAgIDMzLCA4MjE5LCA4MjI0LA0KPiAtICAgICAgIDMzLDE2NDExLDE2NDE2LCAg
IDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDI4LCA4MjI0LA0KPiAtDQo+IC0gICAgICAg
MzMsICAgMjgsIDgyMjQsICAgMzMsICAgMjgsICAgMzMsICAgMjgsIDgyMjQsICAgMzMsICAgIDMs
DQo+IC0gICAgICAgMzMsICAgMTUsICAgMzMsICAgMzMsICAgMzMsICAgMzMsICAgMzMsICAgMzAs
IDgyMjQsICAgMzMsDQo+IC0gICAgMTY0MTYsICAgMzMsICAgMzMsICAgMzMsIDgyMTcsIDgyMjQs
ICAgMzMsIDgyMTcsIDgyMjQsICAgMzMsDQo+IC0gICAgIDgyMTcsICAgMzMsIDgyMTcsIDgyMjQs
ICAgMzMsICAgMzMsICAgMzEsIDgyMjQsICAgMzMsICAgMzEsDQo+IC0gICAgIDgyMjQsICAgMzMs
ICAgMzEsICAgMzMsICAgMzEsIDgyMjQsIDgyMTYsIDgyMjQsICAgMzMsIDgyMTYsDQo+IC0gICAg
IDgyMjQsICAgMzMsIDgyMTYsICAgMzMsIDgyMTYsIDgyMjQsICAgMzMsIDgyMTksIDgyMjQsICAg
MzMsDQo+IC0gICAgIDgyMTksIDgyMjQsICAgMzMsIDgyMTksICAgMzMsIDgyMTksIDgyMjQsICAg
MzMsICAgMzMsICAgMTAsDQo+IC0gICAgICAgMzMsICAgMzMsICAgMjgsIDgyMjQsICAgMzMsICAg
MjgsIDgyMjQsICAgMzMsICAgMjgsIDgyMjQsDQo+IC0gICAgICAgMjgsICAgMzMsICAgMjgsICAg
MzMsICAgIDMsICAgMzMsICAgMzMsICAgMzMsICAgMzMsICAgMzMsDQo+IC0gICAgICAgMzMsICAg
MzMsICAgMzAsIDgyMjQsICAgMzMsICAgMzAsIDgyMjQsICAgMzMsICAgMzAsICAgMzMsDQo+IC0N
Cj4gLSAgICAgICAzMCwgODIyNCwgICAzMywgICAzMywgICAyOSwgODIyNCwgICAzMywxNjQxNiwg
ODIxNywgODIyNCwNCj4gLSAgICAgICAzMywgODIxNywgODIyNCwgICAzMywgODIxNywgODIyNCwg
ODIxNywgICAzMywgODIxNywgICAzMywNCj4gLSAgICAgICAzMywgICAzMSwgODIyNCwgICAzMywg
ICAzMSwgODIyNCwgICAzMywgICAzMSwgODIyNCwgICAzMSwNCj4gLSAgICAgICAzMywgICAzMSwg
ODIxNiwgODIyNCwgICAzMywgODIxNiwgODIyNCwgICAzMywgODIxNiwgODIyNCwNCj4gLSAgICAg
ODIxNiwgICAzMywgODIxNiwgICAzMywgODIxOSwgODIyNCwgICAzMywgODIxOSwgODIyNCwgICAz
MywNCj4gLSAgICAgODIxOSwgODIyNCwgODIxOSwgICAzMywgODIxOSwgICAzMywgICAzMywgICAx
MCwgICAyMywgICAxMCwNCj4gLSAgICAgICAgNywgICAzMywgICAzMywgICAzMywgICAzMywgICAz
MywgICAzMywgICAzMywgICAxMywgICAzMywNCj4gLSAgICAgICAzMCwgODIyNCwgICAzMywgICAz
MCwgODIyNCwgICAzMywgICAzMCwgODIyNCwgICAzMCwgICAzMywNCj4gLSAgICAgICAzMCwgICAg
MiwgICAzMywgICAyOSwgODIyNCwgICAzMywgICAyOSwgODIyNCwgICAzMywgICAyOSwNCj4gLSAg
ICAgICAzMywgICAyOSwgODIyNCwgICAxNiwgICAzMywgICAzMywgICAxMSwgICAzMywgICAyMiwg
ICAxMCwNCj4gLQ0KPiAtICAgICAgIDEwLCAgIDIzLCAgICA3LCAgIDIzLCAgICA3LCAgIDMzLCAg
ICA4LCAgIDMzLCAgIDMzLCAgIDMzLA0KPiAtICAgICAgIDMzLCAgICA2LCAgIDMzLCAgIDEzLCAg
IDMzLCAgICAyLCAgIDIzLCAgICAyLCAgIDMzLCAgIDI5LA0KPiAtICAgICA4MjI0LCAgIDMzLCAg
IDI5LCA4MjI0LCAgIDMzLCAgIDI5LCA4MjI0LCAgIDI5LCAgIDMzLCAgIDI5LA0KPiAtICAgICAg
IDE2LCAgIDMzLCAgIDMzLCAgIDExLCAgIDIzLCAgIDExLCAgIDI2LCA4MjI0LCAgIDMzLDE2NDE2
LA0KPiAtICAgICAgIDIyLCAgIDIzLCAgIDIyLCAgICA3LCAgICA3LCAgIDIzLCAgIDMzLCAgICA4
LCAgIDIzLCAgICA4LA0KPiAtICAgICAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgICA2LCAgIDIz
LCAgICA2LCAgICA2LCAgIDIzLCAgICA2LA0KPiAtICAgICAgIDIzLCAgIDMzLCAgICAyLCAgICAy
LCAgIDIzLCAgIDMzLCAgIDMzLCAgIDExLCAgIDExLCAgIDIzLA0KPiAtICAgICAgIDI2LCA4MjI0
LCAgIDMzLCAgIDI2LCA4MjI0LCAgIDMzLCAgIDI2LCAgIDMzLCAgIDI2LCA4MjI0LA0KPiAtICAg
ICAgIDIyLCAgIDIzLCAgIDMzLCAgICA4LCAgICA4LCAgIDIzLCAgIDMzLCAgIDMzLCAgIDE3LCAg
IDE4LA0KPiAtICAgICAgICA2LCAgICA2LCAgIDIzLCAgICA2LCAgICA2LCAgIDMzLCAgIDMzLCAg
IDE0LCAgIDMzLCAgIDI2LA0KPiAtDQo+IC0gICAgIDgyMjQsICAgMzMsICAgMjYsIDgyMjQsICAg
MzMsICAgMjYsIDgyMjQsICAgMjYsICAgMzMsICAgMjYsDQo+IC0gICAgICAgMzMsICAgMzMsICAg
MzMsICAgMTcsICAgMjMsICAgMTcsICAgMTgsICAgMjMsICAgMTgsICAgIDYsDQo+IC0gICAgICAg
IDYsICAgMzMsICAgMzMsICAgMTQsICAgMzMsICAgMjAsICAgIDksICAgMTksICAgMTcsICAgMTcs
DQo+IC0gICAgICAgMjMsICAgMTgsICAgMTgsICAgMjMsICAgIDYsICAgIDUsICAgIDYsICAgMzMs
ICAgMjEsICAgMjAsDQo+IC0gICAgICAgMjMsICAgMjAsICAgIDksICAgMjMsICAgIDksICAgMTks
ICAgMjMsICAgMTksICAgIDQsICAgIDYsDQo+IC0gICAgICAgIDUsICAgIDYsICAgMzMsICAgMjEs
ICAgMjMsICAgMjEsICAgMjAsICAgMjAsICAgMjMsICAgIDksDQo+IC0gICAgICAgIDksICAgMjMs
ICAgMTksICAgMTksICAgMjMsICAgIDQsICAgIDYsICAgMTIsICAgMzMsICAgMjEsDQo+IC0gICAg
ICAgMjEsICAgMjMsICAgMTIsICAgMzMNCj4gKyAgICAgICAzNiwgICAzNiwgICAzOCwgICAzNCwg
ICAzNSwgICAzNywgODE5MywgICAzNCwgICAzNSwgICAzNywNCj4gKyAgICAxNjM4NSwgODE5Mywg
ICAzNCwgICAzNywxNjM4NSwgICAzNCwgICAzNSwgICAzNywgICAzNSwgICAzNywNCj4gKyAgICAg
ICAzNCwgICAzNSwgICAzNywgICAzNCwgICAzNSwgICAzNywgICAzNCwgICAzNSwgICAzNywgICAz
NCwNCj4gKyAgICAgICAzNSwgICAzNywgICAzNCwgICAzNSwgICAzNywgICAzNCwgICAzNSwgICAz
NywgICAzNCwgICAzNSwNCj4gKyAgICAgICAzNywgICAzNCwgICAzNSwgICAzNywgICAzNCwgICAz
NSwgICAzNywgICAzNCwgICAzNSwgICAzNywNCj4gKyAgICAgICAzNCwgICAzNSwgICAzNywgICAz
NCwgICAzNSwgICAzNywgICAzNCwgICAzNSwgICAzNywgICAzNCwNCj4gKyAgICAgICAzNSwgICAz
NywgICAzNCwgICAzNSwgICAzNywgICAzNCwgICAzNSwgICAzNywgICAzNiwgICAzNywNCj4gKyAg
ICAgICAzNywgICAzNCwgICAzNCwgODE5MywgICAzNCwgODE5MywgICAzNCwxNjM4NSwgODE5Mywg
ICAzNCwNCj4gKyAgICAgODE5MywgICAzNCwgICAzNCwgODIyNSwgICAzNCwxNjQxNywgICAzNCwg
ICAzNCwgICAzNCwgICAzNCwNCj4gKyAgICAgICAzNCwgICAzNCwgICAzNCwgICAzNCwgICAzNCwg
ICAzNCwgICAzNCwgICAzNCwgICAzNCwgICAzNCwNCj4gKw0KPiArICAgICAgIDM0LCAgIDM0LCAg
IDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LA0KPiArICAgICAg
IDM2LCA4MTkzLCAgIDM0LCA4MTkzLCAgIDM0LCA4MTkzLCA4MjI1LCAgIDM0LCA4MjI1LCAgIDM0
LA0KPiArICAgICA4MjI1LCAgIDI0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0
LCAgIDM0LCAgIDM0LA0KPiArICAgICAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0
LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LA0KPiArICAgICAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0
LCAgIDM0LCAgIDM0LCAgIDM0LCA4MjI1LCAgIDM0LCA4MjI1LA0KPiArICAgICAgIDM0LCA4MjI1
LCAgIDI0LCAgIDM0LCAgIDM0LCAgIDI5LCA4MjI1LCAgIDM0LDE2NDE3LCAgIDM0LA0KPiArICAg
ICAgIDM0LCAgIDE2LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAg
IDM0LA0KPiArICAgICAgIDM0LCA4MjE4LCA4MjI1LCAgIDM0LDE2NDEwLDE2NDE3LCAgIDM0LCAg
IDM0LCAgIDMyLCA4MjI1LA0KPiArICAgICAgIDM0LDE2NDE3LCAgIDM0LCA4MjE3LCA4MjI1LCAg
IDM0LDE2NDA5LDE2NDE3LCAgIDM0LCAgIDM0LA0KPiArICAgICA4MjIwLCA4MjI1LCAgIDM0LDE2
NDEyLDE2NDE3LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LA0KPiArDQo+ICsgICAgICAg
MzQsICAgMjksIDgyMjUsICAgMzQsICAgMjksIDgyMjUsICAgMzQsICAgMjksICAgMzQsICAgMjks
DQo+ICsgICAgIDgyMjUsICAgMzQsICAgIDMsICAgMzQsICAgMTYsICAgMzQsICAgMzQsICAgMzQs
ICAgMzQsICAgMzQsDQo+ICsgICAgICAgMzEsIDgyMjUsICAgMzQsMTY0MTcsICAgMzQsICAgMzQs
ICAgMzQsIDgyMTgsIDgyMjUsICAgMzQsDQo+ICsgICAgIDgyMTgsIDgyMjUsICAgMzQsIDgyMTgs
ICAgMzQsIDgyMTgsIDgyMjUsICAgMzQsICAgMzQsICAgMzIsDQo+ICsgICAgIDgyMjUsICAgMzQs
ICAgMzIsIDgyMjUsICAgMzQsICAgMzIsICAgMzQsICAgMzIsIDgyMjUsIDgyMTcsDQo+ICsgICAg
IDgyMjUsICAgMzQsIDgyMTcsIDgyMjUsICAgMzQsIDgyMTcsICAgMzQsIDgyMTcsIDgyMjUsICAg
MzQsDQo+ICsgICAgIDgyMjAsIDgyMjUsICAgMzQsIDgyMjAsIDgyMjUsICAgMzQsIDgyMjAsICAg
MzQsIDgyMjAsIDgyMjUsDQo+ICsgICAgICAgMzQsICAgMzQsICAgMTAsICAgMzQsICAgMzQsICAg
MzQsICAgMjksIDgyMjUsICAgMzQsICAgMjksDQo+ICsgICAgIDgyMjUsICAgMzQsICAgMjksIDgy
MjUsICAgMjksICAgMzQsICAgMjksICAgMzQsICAgIDMsICAgMzQsDQo+ICsgICAgICAgMzQsICAg
MzQsICAgMzQsICAgMzQsICAgMzQsICAgMzQsICAgMzEsIDgyMjUsICAgMzQsICAgMzEsDQo+ICsN
Cj4gKyAgICAgODIyNSwgICAzNCwgICAzMSwgICAzNCwgICAzMSwgODIyNSwgICAzNCwgICAzNCwg
ICAzMCwgODIyNSwNCj4gKyAgICAgICAzNCwxNjQxNywgODIxOCwgODIyNSwgICAzNCwgODIxOCwg
ODIyNSwgICAzNCwgODIxOCwgODIyNSwNCj4gKyAgICAgODIxOCwgICAzNCwgODIxOCwgICAzNCwg
ICAzNCwgICAzMiwgODIyNSwgICAzNCwgICAzMiwgODIyNSwNCj4gKyAgICAgICAzNCwgICAzMiwg
ODIyNSwgICAzMiwgICAzNCwgICAzMiwgODIxNywgODIyNSwgICAzNCwgODIxNywNCj4gKyAgICAg
ODIyNSwgICAzNCwgODIxNywgODIyNSwgODIxNywgICAzNCwgODIxNywgICAzNCwgODIyMCwgODIy
NSwNCj4gKyAgICAgICAzNCwgODIyMCwgODIyNSwgICAzNCwgODIyMCwgODIyNSwgODIyMCwgICAz
NCwgODIyMCwgICAzNCwNCj4gKyAgICAgICAzNCwgICAxMCwgICAyNCwgICAxMCwgICAxNSwgICAz
NCwgICAgNywgICAzNCwgICAzNCwgICAzNCwNCj4gKyAgICAgICAzNCwgICAzNCwgICAzNCwgICAz
NCwgICAxMywgICAzNCwgICAzMSwgODIyNSwgICAzNCwgICAzMSwNCj4gKyAgICAgODIyNSwgICAz
NCwgICAzMSwgODIyNSwgICAzMSwgICAzNCwgICAzMSwgICAgMiwgICAzNCwgICAzMCwNCj4gKyAg
ICAgODIyNSwgICAzNCwgICAzMCwgODIyNSwgICAzNCwgICAzMCwgICAzNCwgICAzMCwgODIyNSwg
ICAxNywNCj4gKw0KPiArICAgICAgIDM0LCAgIDM0LCAgIDExLCAgIDM0LCAgIDIzLCAgIDEwLCAg
IDEwLCAgIDI0LCAgIDE1LCAgIDM0LA0KPiArICAgICAgICA3LCAgIDI0LCAgICA3LCAgIDM0LCAg
ICA4LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgICA2LA0KPiArICAgICAgIDM0LCAgIDEzLCAg
IDM0LCAgICAyLCAgIDI0LCAgICAyLCAgIDM0LCAgIDMwLCA4MjI1LCAgIDM0LA0KPiArICAgICAg
IDMwLCA4MjI1LCAgIDM0LCAgIDMwLCA4MjI1LCAgIDMwLCAgIDM0LCAgIDMwLCAgIDE3LCAgIDM0
LA0KPiArICAgICAgIDM0LCAgIDExLCAgIDI0LCAgIDExLCAgIDI3LCA4MjI1LCAgIDM0LDE2NDE3
LCAgIDIzLCAgIDI0LA0KPiArICAgICAgIDIzLCAgICA3LCAgICA3LCAgIDI0LCAgIDM0LCAgICA4
LCAgIDI0LCAgICA4LCAgIDM0LCAgIDM0LA0KPiArICAgICAgIDM0LCAgIDM0LCAgICA2LCAgIDI0
LCAgICA2LCAgICA2LCAgIDI0LCAgICA2LCAgIDI0LCAgIDM0LA0KPiArICAgICAgICAyLCAgICAy
LCAgIDI0LCAgIDM0LCAgIDM0LCAgIDExLCAgIDExLCAgIDI0LCAgIDI3LCA4MjI1LA0KPiArICAg
ICAgIDM0LCAgIDI3LCA4MjI1LCAgIDM0LCAgIDI3LCAgIDM0LCAgIDI3LCA4MjI1LCAgIDIzLCAg
IDI0LA0KPiArICAgICAgIDM0LCAgICA4LCAgICA4LCAgIDI0LCAgIDM0LCAgIDM0LCAgIDE4LCAg
IDE5LCAgICA2LCAgICA2LA0KPiArDQo+ICsgICAgICAgMjQsICAgIDYsICAgIDYsICAgMzQsICAg
MzQsICAgMTQsICAgMzQsICAgMjcsIDgyMjUsICAgMzQsDQo+ICsgICAgICAgMjcsIDgyMjUsICAg
MzQsICAgMjcsIDgyMjUsICAgMjcsICAgMzQsICAgMjcsICAgMzQsICAgMzQsDQo+ICsgICAgICAg
MzQsICAgMTgsICAgMjQsICAgMTgsICAgMTksICAgMjQsICAgMTksICAgIDYsICAgIDYsICAgMzQs
DQo+ICsgICAgICAgMzQsICAgMTQsICAgMzQsICAgMjEsICAgIDksICAgMjAsICAgMTgsICAgMTgs
ICAgMjQsICAgMTksDQo+ICsgICAgICAgMTksICAgMjQsICAgIDYsICAgIDUsICAgIDYsICAgMzQs
ICAgMjIsICAgMjEsICAgMjQsICAgMjEsDQo+ICsgICAgICAgIDksICAgMjQsICAgIDksICAgMjAs
ICAgMjQsICAgMjAsICAgIDQsICAgIDYsICAgIDUsICAgIDYsDQo+ICsgICAgICAgMzQsICAgMjIs
ICAgMjQsICAgMjIsICAgMjEsICAgMjEsICAgMjQsICAgIDksICAgIDksICAgMjQsDQo+ICsgICAg
ICAgMjAsICAgMjAsICAgMjQsICAgIDQsICAgIDYsICAgMTIsICAgMzQsICAgMjIsICAgMjIsICAg
MjQsDQo+ICsgICAgICAgMTIsICAgMzQNCj4gICAgICB9IDsNCj4gDQo+IC1zdGF0aWMgY29uc3Qg
ZmxleF9pbnQxNl90IHl5X2FjY2VwdFszNTZdID0NCj4gK3N0YXRpYyBjb25zdCBmbGV4X2ludDE2
X3QgeXlfYWNjZXB0WzM2Ml0gPQ0KPiAgICAgIHsgICAwLA0KPiAgICAgICAgICAxLCAgICAxLCAg
ICAxLCAgICAyLCAgICAzLCAgICA0LCAgICA3LCAgIDEyLCAgIDE2LCAgIDE5LA0KPiAgICAgICAg
IDIxLCAgIDI0LCAgIDI3LCAgIDMwLCAgIDMzLCAgIDM2LCAgIDM5LCAgIDQyLCAgIDQ1LCAgIDQ4
LA0KPiBAQCAtNjMzLDM5ICs2MzQsNDAgQEAgc3RhdGljIGNvbnN0IGZsZXhfaW50MTZfdCB5eV9h
Y2NlcHRbMzU2XSA9DQo+ICAgICAgICAgNzQsICAgNzYsICAgNzksICAgODEsICAgODIsICAgODMs
ICAgODQsICAgODcsICAgODcsICAgODgsDQo+ICAgICAgICAgODksICAgOTAsICAgOTEsICAgOTIs
ICAgOTMsICAgOTQsICAgOTUsICAgOTYsICAgOTcsICAgOTgsDQo+ICAgICAgICAgOTksICAxMDAs
ICAxMDEsICAxMDIsICAxMDMsICAxMDQsICAxMDUsICAxMDYsICAxMDcsICAxMDgsDQo+IC0gICAg
ICAxMDksICAxMTAsICAxMTEsICAxMTMsICAxMTUsICAxMTYsICAxMTgsICAxMjAsICAxMjEsICAx
MjIsDQo+ICsgICAgICAxMDksICAxMTAsICAxMTEsICAxMTIsICAxMTQsICAxMTYsICAxMTcsICAx
MTksICAxMjEsICAxMjIsDQo+ICAgICAgICAxMjMsICAxMjQsICAxMjUsICAxMjYsICAxMjcsICAx
MjgsICAxMjksICAxMzAsICAxMzEsICAxMzIsDQo+ICAgICAgICAxMzMsICAxMzQsICAxMzUsICAx
MzYsICAxMzcsICAxMzgsICAxMzksICAxNDAsICAxNDEsICAxNDIsDQo+IC0gICAgICAxNDMsICAx
NDQsICAxNDUsICAxNDYsICAxNDgsICAxNTAsICAxNTEsICAxNTIsICAxNTMsICAxNTQsDQo+IC0N
Cj4gLSAgICAgIDE1OCwgIDE1OSwgIDE2MCwgIDE2MiwgIDE2MywgIDE2NCwgIDE2NSwgIDE2Niwg
IDE2NywgIDE2OCwNCj4gLSAgICAgIDE2OSwgIDE3MCwgIDE3NSwgIDE3NiwgIDE3NywgIDE4MSwg
IDE4MiwgIDE4NywgIDE4OCwgIDE4OSwNCj4gLSAgICAgIDE5NCwgIDE5NSwgIDE5NiwgIDE5Nywg
IDE5OCwgIDE5OSwgIDIwMiwgIDIwNSwgIDIwNywgIDIwOSwNCj4gLSAgICAgIDIxMCwgIDIxMiwg
IDIxNCwgIDIxNSwgIDIxNiwgIDIxNywgIDIxOCwgIDIyMiwgIDIyMywgIDIyNCwNCj4gLSAgICAg
IDIyNSwgIDIyOCwgIDIzMSwgIDIzMywgIDIzNSwgIDIzNiwgIDIzNywgIDI0MCwgIDI0MywgIDI0
NSwNCj4gLSAgICAgIDI0NywgIDI1MCwgIDI1MywgIDI1NSwgIDI1NywgIDI1OCwgIDI2MSwgIDI2
NCwgIDI2NiwgIDI2OCwNCj4gLSAgICAgIDI2OSwgIDI3MCwgIDI3MSwgIDI3MiwgIDI3MywgIDI3
NiwgIDI3OSwgIDI4MSwgIDI4MywgIDI4NCwNCj4gLSAgICAgIDI4NSwgIDI4NywgIDI4OCwgIDI4
OSwgIDI5MCwgIDI5MSwgIDI5MiwgIDI5MywgIDI5NiwgIDI5OSwNCj4gLSAgICAgIDMwMSwgIDMw
MywgIDMwNCwgIDMwNSwgIDMwOSwgIDMxMiwgIDMxNSwgIDMxNywgIDMxOSwgIDMyMCwNCj4gLSAg
ICAgIDMyMSwgIDMyMiwgIDMyNSwgIDMyOCwgIDMzMCwgIDMzMiwgIDMzMywgIDMzNiwgIDMzOSwg
IDM0MSwNCj4gLQ0KPiAtICAgICAgMzQzLCAgMzQ0LCAgMzQ1LCAgMzQ4LCAgMzUxLCAgMzUzLCAg
MzU1LCAgMzU2LCAgMzU3LCAgMzU4LA0KPiAtICAgICAgMzYwLCAgMzYxLCAgMzYyLCAgMzYzLCAg
MzY0LCAgMzY1LCAgMzY2LCAgMzY3LCAgMzY4LCAgMzY5LA0KPiAtICAgICAgMzcxLCAgMzc0LCAg
Mzc3LCAgMzc5LCAgMzgxLCAgMzgyLCAgMzgzLCAgMzg0LCAgMzg3LCAgMzkwLA0KPiAtICAgICAg
MzkyLCAgMzk0LCAgMzk2LCAgMzk3LCAgMzk4LCAgMzk5LCAgNDAwLCAgNDAxLCAgNDAzLCAgNDA1
LA0KPiAtICAgICAgNDA2LCAgNDA3LCAgNDA4LCAgNDA5LCAgNDEwLCAgNDExLCAgNDEyLCAgNDEz
LCAgNDE0LCAgNDE2LA0KPiAtICAgICAgNDE4LCAgNDE5LCAgNDIwLCAgNDIzLCAgNDI2LCAgNDI4
LCAgNDMwLCAgNDMxLCAgNDMzLCAgNDM0LA0KPiAtICAgICAgNDM2LCAgNDM3LCAgNDQxLCAgNDQz
LCAgNDQ0LCAgNDQ1LCAgNDQ3LCAgNDQ4LCAgNDUwLCAgNDUxLA0KPiAtICAgICAgNDUyLCAgNDUz
LCAgNDU0LCAgNDU1LCAgNDU3LCAgNDU4LCAgNDYwLCAgNDYyLCAgNDYzLCAgNDY0LA0KPiAtICAg
ICAgNDY2LCAgNDY3LCAgNDY4LCAgNDY5LCAgNDcxLCAgNDc0LCAgNDc3LCAgNDc5LCAgNDgxLCAg
NDgzLA0KPiAtICAgICAgNDg0LCAgNDg1LCAgNDg3LCAgNDg4LCAgNDg5LCAgNDkwLCAgNDkxLCAg
NDkyLCAgNDk0LCAgNDk1LA0KPiAtDQo+IC0gICAgICA0OTYsICA0OTcsICA0OTgsICA1MDAsICA1
MDMsICA1MDYsICA1MDgsICA1MTAsICA1MTEsICA1MTIsDQo+IC0gICAgICA1MTMsICA1MTQsICA1
MTYsICA1MTcsICA1MTksICA1MjAsICA1MjEsICA1MjIsICA1MjMsICA1MjQsDQo+IC0gICAgICA1
MjYsICA1MjcsICA1MjgsICA1MjksICA1MzAsICA1MzIsICA1MzMsICA1MzUsICA1MzYsICA1Mzgs
DQo+IC0gICAgICA1MzksICA1NDAsICA1NDIsICA1NDMsICA1NDUsICA1NDYsICA1NDgsICA1NDks
ICA1NTEsICA1NTMsDQo+IC0gICAgICA1NTQsICA1NTYsICA1NTcsICA1NTgsICA1NjAsICA1NjEs
ICA1NjMsICA1NjQsICA1NjYsICA1NjgsDQo+IC0gICAgICA1NzAsICA1NzEsICA1NzMsICA1NzUs
ICA1NzUNCj4gKyAgICAgIDE0MywgIDE0NCwgIDE0NSwgIDE0NiwgIDE0NywgIDE0OCwgIDE1MCwg
IDE1MiwgIDE1MywgIDE1NCwNCj4gKw0KPiArICAgICAgMTU1LCAgMTU2LCAgMTYwLCAgMTYxLCAg
MTYyLCAgMTY0LCAgMTY1LCAgMTY2LCAgMTY3LCAgMTY4LA0KPiArICAgICAgMTY5LCAgMTcwLCAg
MTcxLCAgMTcyLCAgMTc3LCAgMTc4LCAgMTc5LCAgMTgzLCAgMTg0LCAgMTg5LA0KPiArICAgICAg
MTkwLCAgMTkxLCAgMTk2LCAgMTk3LCAgMTk4LCAgMTk5LCAgMjAwLCAgMjAxLCAgMjAyLCAgMjA1
LA0KPiArICAgICAgMjA4LCAgMjEwLCAgMjEyLCAgMjEzLCAgMjE1LCAgMjE3LCAgMjE4LCAgMjE5
LCAgMjIwLCAgMjIxLA0KPiArICAgICAgMjI1LCAgMjI2LCAgMjI3LCAgMjI4LCAgMjMxLCAgMjM0
LCAgMjM2LCAgMjM4LCAgMjM5LCAgMjQwLA0KPiArICAgICAgMjQzLCAgMjQ2LCAgMjQ4LCAgMjUw
LCAgMjUzLCAgMjU2LCAgMjU4LCAgMjYwLCAgMjYxLCAgMjY0LA0KPiArICAgICAgMjY3LCAgMjY5
LCAgMjcxLCAgMjcyLCAgMjczLCAgMjc0LCAgMjc1LCAgMjc2LCAgMjc3LCAgMjgwLA0KPiArICAg
ICAgMjgzLCAgMjg1LCAgMjg3LCAgMjg4LCAgMjg5LCAgMjkxLCAgMjkyLCAgMjkzLCAgMjk0LCAg
Mjk1LA0KPiArICAgICAgMjk2LCAgMjk3LCAgMzAwLCAgMzAzLCAgMzA1LCAgMzA3LCAgMzA4LCAg
MzA5LCAgMzEzLCAgMzE2LA0KPiArICAgICAgMzE5LCAgMzIxLCAgMzIzLCAgMzI0LCAgMzI1LCAg
MzI2LCAgMzI5LCAgMzMyLCAgMzM0LCAgMzM2LA0KPiArDQo+ICsgICAgICAzMzcsICAzNDAsICAz
NDMsICAzNDUsICAzNDcsICAzNDgsICAzNDksICAzNTIsICAzNTUsICAzNTcsDQo+ICsgICAgICAz
NTksICAzNjAsICAzNjEsICAzNjIsICAzNjQsICAzNjUsICAzNjcsICAzNjgsICAzNjksICAzNzAs
DQo+ICsgICAgICAzNzEsICAzNzIsICAzNzMsICAzNzQsICAzNzUsICAzNzcsICAzODAsICAzODMs
ICAzODUsICAzODcsDQo+ICsgICAgICAzODgsICAzODksICAzOTAsICAzOTMsICAzOTYsICAzOTgs
ICA0MDAsICA0MDIsICA0MDMsICA0MDQsDQo+ICsgICAgICA0MDUsICA0MDYsICA0MDcsICA0MDks
ICA0MTEsICA0MTMsICA0MTQsICA0MTUsICA0MTYsICA0MTcsDQo+ICsgICAgICA0MTgsICA0MTks
ICA0MjAsICA0MjEsICA0MjIsICA0MjQsICA0MjYsICA0MjcsICA0MjgsICA0MzEsDQo+ICsgICAg
ICA0MzQsICA0MzYsICA0MzgsICA0MzksICA0NDEsICA0NDIsICA0NDQsICA0NDUsICA0NDksICA0
NTEsDQo+ICsgICAgICA0NTIsICA0NTMsICA0NTUsICA0NTYsICA0NTgsICA0NTksICA0NjAsICA0
NjEsICA0NjIsICA0NjMsDQo+ICsgICAgICA0NjUsICA0NjYsICA0NjgsICA0NzAsICA0NzEsICA0
NzIsICA0NzQsICA0NzUsICA0NzYsICA0NzcsDQo+ICsgICAgICA0NzksICA0ODIsICA0ODUsICA0
ODcsICA0ODksICA0OTEsICA0OTIsICA0OTMsICA0OTUsICA0OTYsDQo+ICsNCj4gKyAgICAgIDQ5
NywgIDQ5OCwgIDQ5OSwgIDUwMCwgIDUwMiwgIDUwMywgIDUwNCwgIDUwNSwgIDUwNiwgIDUwOCwN
Cj4gKyAgICAgIDUxMSwgIDUxNCwgIDUxNiwgIDUxOCwgIDUxOSwgIDUyMCwgIDUyMSwgIDUyMiwg
IDUyNCwgIDUyNSwNCj4gKyAgICAgIDUyNywgIDUyOCwgIDUyOSwgIDUzMCwgIDUzMSwgIDUzMiwg
IDUzNCwgIDUzNSwgIDUzNiwgIDUzNywNCj4gKyAgICAgIDUzOCwgIDU0MCwgIDU0MSwgIDU0Mywg
IDU0NCwgIDU0NiwgIDU0NywgIDU0OCwgIDU1MCwgIDU1MSwNCj4gKyAgICAgIDU1MywgIDU1NCwg
IDU1NiwgIDU1NywgIDU1OSwgIDU2MSwgIDU2MiwgIDU2NCwgIDU2NSwgIDU2NiwNCj4gKyAgICAg
IDU2OCwgIDU2OSwgIDU3MSwgIDU3MiwgIDU3NCwgIDU3NiwgIDU3OCwgIDU3OSwgIDU4MSwgIDU4
MywNCj4gKyAgICAgIDU4Mw0KPiAgICAgIH0gOw0KPiANCj4gIHN0YXRpYyBjb25zdCBZWV9DSEFS
IHl5X2VjWzI1Nl0gPQ0KPiBAQCAtNzA4LDIxNiArNzEwLDIxNyBAQCBzdGF0aWMgY29uc3QgWVlf
Q0hBUiB5eV9tZXRhWzM1XSA9DQo+ICAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDENCj4gICAg
ICB9IDsNCj4gDQo+IC1zdGF0aWMgY29uc3QgZmxleF9pbnQxNl90IHl5X2Jhc2VbNDI0XSA9DQo+
ICtzdGF0aWMgY29uc3QgZmxleF9pbnQxNl90IHl5X2Jhc2VbNDMwXSA9DQo+ICAgICAgeyAgIDAs
DQo+IC0gICAgICAgIDAsICAgIDAsICA5MDEsICA5MDAsICA5MDIsICA4OTcsICAgMzMsICAgMzYs
ICA5MDUsICA5MDUsDQo+IC0gICAgICAgNDUsICAgNjMsICAgMzEsICAgNDIsICAgNTEsICAgNTIs
ICA4OTAsICAgMzMsICAgNjUsICAgNjcsDQo+IC0gICAgICAgNjksICAgNzAsICA4ODksICAgNzEs
ICA4ODgsICAgNzUsICAgIDAsICA5MDUsICA4OTMsICA5MDUsDQo+IC0gICAgICAgOTEsICAgOTQs
ICAgIDAsICAgIDAsICAxMDMsICA4ODYsICAxMTIsICAgIDAsICAgODksICAgOTgsDQo+IC0gICAg
ICAxMTMsICAgOTIsICAxMTQsICAgOTksICAxMDAsICAgNDgsICAxMjEsICAxMTYsICAxMTksICAg
NzQsDQo+IC0gICAgICAxMjQsICAxMjksICAxMjMsICAxMzUsICAxMzIsICAxMzMsICAxMzcsICAx
MzQsICAxMzgsICAxMzksDQo+IC0gICAgICAxNDEsICAgIDAsICAxNTUsICAgIDAsICAgIDAsICAx
NjQsICAgIDAsICAgIDAsICA4NDksICAxNDIsDQo+IC0gICAgICAxNTIsICAxNjQsICAxNDAsICAx
NjEsICAxNjUsICAxNjYsICAxNjcsICAxNjgsICAxNjksICAxNzMsDQo+IC0gICAgICAxNzQsICAx
NzgsICAxNzYsICAxODAsICAxODQsICAyMDgsICAxODksICAxODMsICAxOTIsICAxOTUsDQo+IC0g
ICAgICAyMTUsICAxOTEsICAxOTMsICAyMjMsICAgIDAsICAgIDAsICA5MDUsICAyMDgsICAyMDQs
ICAyMzYsDQo+IC0NCj4gLSAgICAgIDIxOSwgIDIwOSwgIDIzOCwgIDE5NiwgIDIzNywgIDgzMSwg
IDI0MiwgIDgxNSwgIDI0MSwgIDIyNCwNCj4gLSAgICAgIDI0MywgIDI2MSwgIDI0NCwgIDI1OSwg
IDI3NywgIDI2NiwgIDI4NiwgIDI1MCwgIDI4OCwgIDI5OCwNCj4gLSAgICAgIDI0OSwgIDI4Mywg
IDI3NCwgIDI4MiwgIDI5NCwgIDMwOCwgICAgMCwgIDMxMCwgICAgMCwgIDI5NSwNCj4gLSAgICAg
IDMwNSwgIDkwNSwgIDMwOCwgIDMwNiwgIDMxMywgIDMxNCwgIDM0MiwgIDMxOSwgIDMxNiwgIDMy
MCwNCj4gLSAgICAgIDMzMSwgICAgMCwgIDM0OSwgICAgMCwgIDM0MiwgIDM0NCwgIDM1NiwgICAg
MCwgIDM1OCwgICAgMCwNCj4gLSAgICAgIDM2NSwgICAgMCwgIDM2NywgICAgMCwgIDM1NCwgIDM3
NSwgICAgMCwgIDM3NywgICAgMCwgIDM2MywNCj4gLSAgICAgIDM1NiwgIDgwOSwgIDMyNywgIDMy
MiwgIDM4NCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgIDM3OSwNCj4gLSAgICAgIDkwNSwgIDM4
MiwgIDM4NCwgIDM4NiwgIDM5MCwgIDM3MiwgIDM5MiwgIDQwMywgICAgMCwgIDQxMCwNCj4gLSAg
ICAgICAgMCwgIDQwNywgIDQxMywgIDQyMywgIDQyNiwgICAgMCwgICAgMCwgICAgMCwgICAgMCwg
IDQwOSwNCj4gLSAgICAgIDQyNCwgIDQzNSwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgIDQzNywg
ICAgMCwgICAgMCwgICAgMCwNCj4gLQ0KPiAtICAgICAgICAwLCAgNDMzLCAgNDQ0LCAgICAwLCAg
ICAwLCAgICAwLCAgICAwLCAgMzkxLCAgNDQwLCAgNzgxLA0KPiAtICAgICAgOTA1LCAgNzY5LCAg
NDM5LCAgNDQ1LCAgNDQ0LCAgNDQ3LCAgNDQ5LCAgNDU0LCAgNDUzLCAgMzk5LA0KPiAtICAgICAg
NDY0LCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgNzU3LCAgNDY1LCAgNDc2LCAgICAwLCAgNDc4
LA0KPiAtICAgICAgICAwLCAgNDc5LCAgNDc2LCAgNzUzLCAgNDYyLCAgNDkwLCAgNzQ5LCAgOTA1
LCAgNzQ1LCAgOTA1LA0KPiAtICAgICAgNDgzLCAgNzM3LCAgNDI0LCAgNDg1LCAgNDg3LCAgNDkw
LCAgNTAwLCAgNDkzLCAgOTA1LCAgNzI5LA0KPiAtICAgICAgOTA1LCAgNTAyLCAgNTE4LCAgICAw
LCAgICAwLCAgICAwLCAgICAwLCAgOTA1LCAgNDk4LCAgNzIxLA0KPiAtICAgICAgOTA1LCAgNTI3
LCAgNzEzLCAgICAwLCAgNzA1LCAgOTA1LCAgNDk1LCAgNjk3LCAgOTA1LCAgMzY1LA0KPiAtICAg
ICAgNTIxLCAgNTI4LCAgNTMwLCAgNjg1LCAgOTA1LCAgNTM0LCAgNTQwLCAgNTQwLCAgNjU3LCAg
OTA1LA0KPiAtICAgICAgNTM3LCAgNTQyLCAgNjUwLCAgOTA1LCAgNTUzLCAgICAwLCAgNTU3LCAg
ICAwLCAgICAwLCAgNTUxLA0KPiAtICAgICAgNjQxLCAgOTA1LCAgNTU4LCAgNTU3LCAgNjMzLCAg
NjE0LCAgNjEzLCAgOTA1LCAgNTQ3LCAgNTU1LA0KPiAtDQo+IC0gICAgICA1NjMsICA1NjUsICA1
NjksICA1ODQsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICA1ODMsICA1NzAsDQo+IC0gICAgICA1
ODUsICA2MTIsICA5MDUsICA2MDEsICA5MDUsICA1MjIsICA1ODAsICA1ODksICA1OTQsICA5MDUs
DQo+IC0gICAgICA2MDAsICA1ODUsICA1NjMsICA1MjAsICA5MDUsICA1MTQsICA5MDUsICA1ODYs
ICA0ODYsICA1OTcsDQo+IC0gICAgICA0ODAsICA0NDEsICA5MDUsICA0MTYsICA5MDUsICAzNDUs
ICA5MDUsICAzMzQsICA5MDUsICA2MDEsDQo+IC0gICAgICAyNTQsICA5MDUsICAyNDIsICA5MDUs
ICAyMDAsICA5MDUsICAxNTEsICA5MDUsICA5MDUsICA2MDcsDQo+IC0gICAgICAgODYsICA5MDUs
ICA5MDUsICA5MDUsICA2MjAsICA2MjQsICA2MjcsICA2MzEsICA2MzUsICA2MzksDQo+IC0gICAg
ICA2NDMsICA2NDcsICA2NTEsICA2NTUsICA2NTksICA2NjMsICA2NjcsICA2NzEsICA2NzUsICA2
NzksDQo+IC0gICAgICA2ODMsICA2ODcsICA2OTEsICA2OTUsICA2OTksICA3MDMsICA3MDcsICA3
MTEsICA3MTUsICA3MTksDQo+IC0gICAgICA3MjMsICA3MjcsICA3MzEsICA3MzUsICA3MzksICA3
NDMsICA3NDcsICA3NTEsICA3NTUsICA3NTksDQo+IC0gICAgICA3NjMsICA3NjcsICA3NzEsICA3
NzUsICA3NzksICA3ODMsICA3ODcsICA3OTEsICA3OTUsICA3OTksDQo+IC0NCj4gLSAgICAgIDgw
MywgIDgwNywgIDgxMSwgIDgxNSwgIDgxOSwgIDgyMywgIDgyNywgIDgzMSwgIDgzNSwgIDgzOSwN
Cj4gLSAgICAgIDg0MywgIDg0NywgIDg1MSwgIDg1NSwgIDg1OSwgIDg2MywgIDg2NywgIDg3MSwg
IDg3NSwgIDg3OSwNCj4gLSAgICAgIDg4MywgIDg4NywgIDg5MQ0KPiArICAgICAgICAwLCAgICAw
LCAgOTEyLCAgOTExLCAgOTEzLCAgOTA4LCAgIDMzLCAgIDM2LCAgOTE2LCAgOTE2LA0KPiArICAg
ICAgIDQ1LCAgIDYzLCAgIDMxLCAgIDQyLCAgIDUxLCAgIDUyLCAgOTAxLCAgIDMzLCAgIDY1LCAg
IDY3LA0KPiArICAgICAgIDY5LCAgIDcwLCAgOTAwLCAgIDcxLCAgODk5LCAgIDc3LCAgICAwLCAg
OTE2LCAgOTA0LCAgOTE2LA0KPiArICAgICAgIDkzLCAgIDk2LCAgICAwLCAgICAwLCAgMTA1LCAg
ODk3LCAgMTE0LCAgICAwLCAgIDkxLCAgMTAwLA0KPiArICAgICAgMTE1LCAgIDk0LCAgMTE2LCAg
MTAxLCAgMTAyLCAgIDQ4LCAgIDc0LCAgMTE4LCAgMTIxLCAgMTIzLA0KPiArICAgICAgIDc4LCAg
MTI4LCAgMTMxLCAgMTM3LCAgMTI0LCAgMTI1LCAgMTMzLCAgMTM1LCAgMTM2LCAgMTQwLA0KPiAr
ICAgICAgMTQyLCAgMTQxLCAgICAwLCAgMTYzLCAgICAwLCAgICAwLCAgMTY2LCAgICAwLCAgICAw
LCAgOTAyLA0KPiArICAgICAgMTQzLCAgMTQ2LCAgMTYzLCAgMTY0LCAgMTY2LCAgMTY3LCAgMTQ5
LCAgMTY5LCAgMTcwLCAgMTc1LA0KPiArICAgICAgMTc5LCAgMTc2LCAgMTgyLCAgMTc3LCAgMTg0
LCAgMTkyLCAgMjEyLCAgMTkzLCAgMTg2LCAgMTk2LA0KPiArICAgICAgMTg3LCAgMjE5LCAgMjAx
LCAgMTUwLCAgMTk5LCAgMjI3LCAgICAwLCAgICAwLCAgOTE2LCAgMjA5LA0KPiArDQo+ICsgICAg
ICAyMTIsICAyNDMsICAyMjQsICAyMTMsICAyNDUsICAyMjMsICAxOTgsICA4OTUsICAyMzEsICA4
OTQsDQo+ICsgICAgICAyNDQsICAyMzAsICAyNDMsICAyNjEsICAyNTUsICAyNTksICAyNzksICAy
NjYsICAyODgsICAyNzUsDQo+ICsgICAgICAyOTEsICAzMDEsICAyNjgsICAyODQsICAyOTgsICAz
MDEsICAyODUsICAzMDIsICAzMTEsICAgIDAsDQo+ICsgICAgICAzMTQsICAgIDAsICAzMTEsICAz
MTgsICA5MTYsICAzMTIsICAzMTcsICAyNDYsICAyMzIsICAzNDIsDQo+ICsgICAgICAzMjAsICAz
MjUsICAzMjMsICAzNDksICAgIDAsICAzNTEsICAgIDAsICAzNDQsICAzNDksICAzNjAsDQo+ICsg
ICAgICAgIDAsICAzNjMsICAgIDAsICAzNjcsICAgIDAsICAzNzAsICAgIDAsICAzMzAsICAzNzcs
ICAgIDAsDQo+ICsgICAgICAzNzksICAgIDAsICAzNjUsICAzNTgsICA4OTksICAzNjgsICAzMjks
ICAzMzEsICAzODEsICAgIDAsDQo+ICsgICAgICAgIDAsICAgIDAsICAgIDAsICAzODEsICA5MTYs
ICAzODMsICAzODUsICAzODcsICAzOTEsICAzOTcsDQo+ICsgICAgICAzOTMsICA0MDksICAgIDAs
ICA0MTEsICAgIDAsICA0MTIsICA0MTQsICA0MjQsICA0MjcsICAgIDAsDQo+ICsgICAgICAgIDAs
ICAgIDAsICAgIDAsICA0MjIsICA0MjUsICA0MzYsICAgIDAsICAgIDAsICAgIDAsICAgIDAsDQo+
ICsNCj4gKyAgICAgIDQzOCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgIDQzNCwgIDQ0NSwgICAg
MCwgICAgMCwgICAgMCwNCj4gKyAgICAgICAgMCwgIDQ0MCwgIDQ0MiwgIDg5OCwgIDkxNiwgIDQw
MCwgIDg5NywgIDQ0MywgIDQ0OCwgIDQ0OSwNCj4gKyAgICAgIDQ1MSwgIDQ1MywgIDQ1OCwgIDQ1
NywgIDQxMywgIDQ2OSwgICAgMCwgICAgMCwgICAgMCwgICAgMCwNCj4gKyAgICAgIDg5NiwgIDQ2
OSwgIDQ4MCwgICAgMCwgIDQ4MiwgICAgMCwgIDQ4MywgIDQ4MCwgIDg5NSwgIDQ4OSwNCj4gKyAg
ICAgIDQ5NywgIDg5NCwgIDkxNiwgIDkxNiwgIDg1MSwgIDkxNiwgIDQ5MCwgIDgzOSwgIDQ3OCwg
IDQ5MiwNCj4gKyAgICAgIDQ5NCwgIDQ5NywgIDUwNywgIDUwMSwgIDkxNiwgIDgyMywgIDkxNiwg
IDUwOSwgIDUyNSwgICAgMCwNCj4gKyAgICAgICAgMCwgICAgMCwgICAgMCwgIDkxNiwgIDUwNSwg
IDgxMSwgIDkxNiwgIDUzNCwgIDc4MywgICAgMCwNCj4gKyAgICAgIDc3MSwgIDkxNiwgIDUxOCwg
IDc1OSwgIDkxNiwgIDUyMywgIDUyOCwgIDUzOCwgIDU0MCwgIDc1NSwNCj4gKyAgICAgIDkxNiwg
IDUxMSwgIDU0MCwgIDU0OSwgIDc1MSwgIDkxNiwgIDU0NCwgIDU0NywgIDc0NywgIDkxNiwNCj4g
KyAgICAgIDU2MCwgICAgMCwgIDU2MiwgICAgMCwgICAgMCwgIDU1NSwgIDczOSwgIDkxNiwgIDQ4
NCwgIDU2MSwNCj4gKw0KPiArICAgICAgNzMxLCAgNzIzLCAgNzE1LCAgOTE2LCAgNDQ5LCAgNTY2
LCAgNTY0LCAgNTY2LCAgNTc2LCAgNTc4LA0KPiArICAgICAgICAwLCAgICAwLCAgICAwLCAgICAw
LCAgNTg0LCAgNTc0LCAgNTg2LCAgNzA3LCAgOTE2LCAgNjk5LA0KPiArICAgICAgOTE2LCAgNTgx
LCAgNTg3LCAgNTkwLCAgNTk3LCAgOTE2LCAgNjg3LCAgNjU5LCAgNjUyLCAgNjQzLA0KPiArICAg
ICAgOTE2LCAgNjM1LCAgOTE2LCAgNTk3LCAgNjE2LCAgNTk5LCAgNjE0LCAgNjA0LCAgOTE2LCAg
NjAwLA0KPiArICAgICAgOTE2LCAgNTQxLCAgOTE2LCAgNDY3LCAgOTE2LCAgNjAzLCAgNDU1LCAg
OTE2LCAgNDA0LCAgOTE2LA0KPiArICAgICAgMzg1LCAgOTE2LCAgMzI4LCAgOTE2LCAgOTE2LCAg
NjA5LCAgMjAzLCAgOTE2LCAgOTE2LCAgOTE2LA0KPiArICAgICAgNjIyLCAgNjI2LCAgNjI5LCAg
NjMzLCAgNjM3LCAgNjQxLCAgNjQ1LCAgNjQ5LCAgNjUzLCAgNjU3LA0KPiArICAgICAgNjYxLCAg
NjY1LCAgNjY5LCAgNjczLCAgNjc3LCAgNjgxLCAgNjg1LCAgNjg5LCAgNjkzLCAgNjk3LA0KPiAr
ICAgICAgNzAxLCAgNzA1LCAgNzA5LCAgNzEzLCAgNzE3LCAgNzIxLCAgNzI1LCAgNzI5LCAgNzMz
LCAgNzM3LA0KPiArICAgICAgNzQxLCAgNzQ1LCAgNzQ5LCAgNzUzLCAgNzU3LCAgNzYxLCAgNzY1
LCAgNzY5LCAgNzczLCAgNzc3LA0KPiArDQo+ICsgICAgICA3ODEsICA3ODUsICA3ODksICA3OTMs
ICA3OTcsICA4MDEsICA4MDUsICA4MDksICA4MTMsICA4MTcsDQo+ICsgICAgICA4MjEsICA4MjUs
ICA4MjksICA4MzMsICA4MzcsICA4NDEsICA4NDUsICA4NDksICA4NTMsICA4NTcsDQo+ICsgICAg
ICA4NjEsICA4NjUsICA4NjksICA4NzMsICA4NzcsICA4ODEsICA4ODUsICA4ODksICA4OTMNCj4g
ICAgICB9IDsNCj4gDQo+IC1zdGF0aWMgY29uc3QgZmxleF9pbnQxNl90IHl5X2RlZls0MjRdID0N
Cj4gK3N0YXRpYyBjb25zdCBmbGV4X2ludDE2X3QgeXlfZGVmWzQzMF0gPQ0KPiAgICAgIHsgICAw
LA0KPiAtICAgICAgMzU0LCAgICAxLCAgMzU1LCAgMzU1LCAgMzU0LCAgMzU2LCAgMzU3LCAgMzU3
LCAgMzU0LCAgMzU0LA0KPiAtICAgICAgMzU4LCAgMzU4LCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEy
LCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLA0KPiAtICAgICAgIDEyLCAgIDEyLCAgIDEyLCAgIDEy
LCAgIDEyLCAgIDEyLCAgMzU5LCAgMzU0LCAgMzU2LCAgMzU0LA0KPiAtICAgICAgMzYwLCAgMzU3
LCAgMzYxLCAgMzYxLCAgMzYyLCAgIDEyLCAgMzU2LCAgMzYzLCAgIDEyLCAgIDEyLA0KPiArICAg
ICAgMzYwLCAgICAxLCAgMzYxLCAgMzYxLCAgMzYwLCAgMzYyLCAgMzYzLCAgMzYzLCAgMzYwLCAg
MzYwLA0KPiArICAgICAgMzY0LCAgMzY0LCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAg
IDEyLCAgIDEyLCAgIDEyLA0KPiArICAgICAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAg
IDEyLCAgMzY1LCAgMzYwLCAgMzYyLCAgMzYwLA0KPiArICAgICAgMzY2LCAgMzYzLCAgMzY3LCAg
MzY3LCAgMzY4LCAgIDEyLCAgMzYyLCAgMzY5LCAgIDEyLCAgIDEyLA0KPiAgICAgICAgIDEyLCAg
IDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLA0KPiAg
ICAgICAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEy
LCAgIDEyLA0KPiAtICAgICAgIDEyLCAgMzU5LCAgMzYwLCAgMzYxLCAgMzYxLCAgMzY0LCAgMzY1
LCAgMzY1LCAgMzU0LCAgIDEyLA0KPiArICAgICAgIDEyLCAgIDEyLCAgMzY1LCAgMzY2LCAgMzY3
LCAgMzY3LCAgMzcwLCAgMzcxLCAgMzcxLCAgMzYwLA0KPiAgICAgICAgIDEyLCAgIDEyLCAgIDEy
LCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLA0KPiAtICAgICAgIDEy
LCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgMzYyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLA0K
PiAtICAgICAgIDEyLCAgIDEyLCAgIDEyLCAgMzY0LCAgMzY1LCAgMzY1LCAgMzU0LCAgIDEyLCAg
IDEyLCAgMzY2LA0KPiAtDQo+IC0gICAgICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAg
MTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIsDQo+IC0gICAgICAgMTIsICAzNjcsICAgODYsICAg
ODYsICAzNjgsICAgMTIsICAzNjksICAgMTIsICAgMTIsICAzNzAsDQo+IC0gICAgICAgMTIsICAg
MTIsICAgMTIsICAgMTIsICAgMTIsICAzNzEsICAzNzIsICAzNjYsICAzNzIsICAgMTIsDQo+IC0g
ICAgICAgMTIsICAzNTQsICAgODYsICAgMTIsICAgMTIsICAgMTIsICAzNzMsICAgMTIsICAgMTIs
ICAgMTIsDQo+IC0gICAgICAzNzQsICAzNzUsICAzNjcsICAzNzUsICAgODYsICAgODYsICAzNzYs
ICAzNzcsICAzNjgsICAzNzcsDQo+IC0gICAgICAzNzgsICAzNzksICAzNjksICAzNzksICAgMTIs
ICAzODAsICAzODEsICAzNzAsICAzODEsICAgMTIsDQo+IC0gICAgICAgMTIsICAzODIsICAgMTIs
ICAgMTIsICAzNzEsICAzNzIsICAzNzIsICAzODMsICAzODMsICAgMTIsDQo+IC0gICAgICAzNTQs
ICAgODYsICAgODYsICAgODYsICAgMTIsICAgMTIsICAgMTIsICAzODQsICAzODUsICAzNzMsDQo+
IC0gICAgICAzODUsICAgMTIsICAgMTIsICAzODYsICAzNzQsICAzNzUsICAzNzUsICAzODcsICAz
ODcsICAgODYsDQo+IC0gICAgICAgODYsICAzNzYsICAzNzcsICAzNzcsICAzODgsICAzODgsICAz
NzgsICAzNzksICAzNzksICAzODksDQo+IC0NCj4gLSAgICAgIDM4OSwgICAxMiwgIDM4MCwgIDM4
MSwgIDM4MSwgIDM5MCwgIDM5MCwgICAxMiwgICAxMiwgIDM5MSwNCj4gLSAgICAgIDM1NCwgIDM5
MiwgICA4NiwgICAxMiwgICA4NiwgICA4NiwgICA4NiwgICAxMiwgICA4NiwgICAxMiwNCj4gLSAg
ICAgIDM4NCwgIDM4NSwgIDM4NSwgIDM5MywgIDM5MywgIDM5NCwgICA4NiwgIDM5NSwgIDM5Niwg
IDM4NiwNCj4gLSAgICAgIDM5NiwgICA4NiwgICA4NiwgIDM5NywgICAxMiwgIDM5OCwgIDM5MSwg
IDM1NCwgIDM5OSwgIDM1NCwNCj4gLSAgICAgICA4NiwgIDQwMCwgICAxMiwgICA4NiwgICA4Niwg
ICA4NiwgIDQwMSwgICA4NiwgIDM1NCwgIDQwMiwNCj4gLSAgICAgIDM1NCwgICA4NiwgIDM5NSwg
IDM5NiwgIDM5NiwgIDQwMywgIDQwMywgIDM1NCwgICA4NiwgIDQwNCwNCj4gLSAgICAgIDM1NCwg
IDQwNSwgIDQwNiwgIDQwNiwgIDM5OSwgIDM1NCwgICA4NiwgIDQwNywgIDM1NCwgICAxMiwNCj4g
LSAgICAgICA4NiwgICA4NiwgICA4NiwgIDQwOCwgIDM1NCwgIDQwOCwgIDQwOCwgICA4NiwgIDQw
MiwgIDM1NCwNCj4gLSAgICAgICA4NiwgICA4NiwgIDQwNCwgIDM1NCwgIDQwOSwgIDQxMCwgIDQw
NSwgIDQxMCwgIDQwNiwgICA4NiwNCj4gLSAgICAgIDQwNywgIDM1NCwgICAxMiwgICA4NiwgIDQx
MSwgIDQxMiwgIDQwOCwgIDM1NCwgIDQwOCwgIDQwOCwNCj4gLQ0KPiAtICAgICAgIDg2LCAgIDg2
LCAgIDg2LCAgNDA5LCAgNDEwLCAgNDEwLCAgNDEzLCAgNDEzLCAgIDg2LCAgIDEyLA0KPiAtICAg
ICAgIDg2LCAgNDE0LCAgMzU0LCAgNDE1LCAgMzU0LCAgNDA4LCAgNDA4LCAgIDg2LCAgIDg2LCAg
MzU0LA0KPiAtICAgICAgNDE2LCAgNDE3LCAgNDE4LCAgNDE0LCAgMzU0LCAgNDE1LCAgMzU0LCAg
NDA4LCAgNDA4LCAgIDg2LA0KPiAtICAgICAgNDE5LCAgNDIwLCAgMzU0LCAgNDIxLCAgMzU0LCAg
NDIyLCAgMzU0LCAgNDA4LCAgMzU0LCAgIDg2LA0KPiAtICAgICAgNDIzLCAgMzU0LCAgNDIwLCAg
MzU0LCAgNDIxLCAgMzU0LCAgNDIyLCAgMzU0LCAgMzU0LCAgIDg2LA0KPiAtICAgICAgNDIzLCAg
MzU0LCAgMzU0LCAgICAwLCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LA0KPiAt
ICAgICAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0
LCAgMzU0LA0KPiAtICAgICAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0
LCAgMzU0LCAgMzU0LCAgMzU0LA0KPiAtICAgICAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0
LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LA0KPiAtICAgICAgMzU0LCAgMzU0LCAgMzU0
LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LA0KPiAtDQo+IC0gICAg
ICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAz
NTQsDQo+IC0gICAgICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAz
NTQsICAzNTQsICAzNTQsDQo+IC0gICAgICAzNTQsICAzNTQsICAzNTQNCj4gKyAgICAgICAxMiwg
ICAxMiwgICAxMiwgICAxMiwgICAxMiwgICAxMiwgIDM2OCwgICAxMiwgICAxMiwgICAxMiwNCj4g
KyAgICAgICAxMiwgICAxMiwgICAxMiwgICAxMiwgICAxMiwgIDM3MCwgIDM3MSwgIDM3MSwgIDM2
MCwgICAxMiwNCj4gKw0KPiArICAgICAgIDEyLCAgMzcyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEy
LCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLA0KPiArICAgICAgIDEyLCAgIDEyLCAgIDEyLCAgMzcz
LCAgIDg3LCAgIDg3LCAgMzc0LCAgIDEyLCAgMzc1LCAgIDEyLA0KPiArICAgICAgIDEyLCAgMzc2
LCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgMzc3LCAgMzc4LA0KPiArICAg
ICAgMzcyLCAgMzc4LCAgIDEyLCAgIDEyLCAgMzYwLCAgIDg3LCAgIDEyLCAgIDEyLCAgIDEyLCAg
Mzc5LA0KPiArICAgICAgIDEyLCAgIDEyLCAgIDEyLCAgMzgwLCAgMzgxLCAgMzczLCAgMzgxLCAg
IDg3LCAgIDg3LCAgMzgyLA0KPiArICAgICAgMzgzLCAgMzc0LCAgMzgzLCAgMzg0LCAgMzg1LCAg
Mzc1LCAgMzg1LCAgIDEyLCAgMzg2LCAgMzg3LA0KPiArICAgICAgMzc2LCAgMzg3LCAgIDEyLCAg
IDEyLCAgMzg4LCAgIDEyLCAgIDEyLCAgIDEyLCAgMzc3LCAgMzc4LA0KPiArICAgICAgMzc4LCAg
Mzg5LCAgMzg5LCAgIDEyLCAgMzYwLCAgIDg3LCAgIDg3LCAgIDg3LCAgIDEyLCAgIDEyLA0KPiAr
ICAgICAgIDEyLCAgMzkwLCAgMzkxLCAgMzc5LCAgMzkxLCAgIDEyLCAgIDEyLCAgMzkyLCAgMzgw
LCAgMzgxLA0KPiArICAgICAgMzgxLCAgMzkzLCAgMzkzLCAgIDg3LCAgIDg3LCAgMzgyLCAgMzgz
LCAgMzgzLCAgMzk0LCAgMzk0LA0KPiArDQo+ICsgICAgICAzODQsICAzODUsICAzODUsICAzOTUs
ICAzOTUsICAgMTIsICAzODYsICAzODcsICAzODcsICAzOTYsDQo+ICsgICAgICAzOTYsICAgMTIs
ICAgMTIsICAzOTcsICAzNjAsICAgMTIsICAzOTgsICAgODcsICAgMTIsICAgODcsDQo+ICsgICAg
ICAgODcsICAgODcsICAgMTIsICAgODcsICAgMTIsICAzOTAsICAzOTEsICAzOTEsICAzOTksICAz
OTksDQo+ICsgICAgICA0MDAsICAgODcsICA0MDEsICA0MDIsICAzOTIsICA0MDIsICAgODcsICAg
ODcsICA0MDMsICAgMTIsDQo+ICsgICAgICA0MDQsICAzOTcsICAzNjAsICAzNjAsICA0MDUsICAz
NjAsICAgODcsICA0MDYsICAgMTIsICAgODcsDQo+ICsgICAgICAgODcsICAgODcsICA0MDcsICAg
ODcsICAzNjAsICA0MDgsICAzNjAsICAgODcsICA0MDEsICA0MDIsDQo+ICsgICAgICA0MDIsICA0
MDksICA0MDksICAzNjAsICAgODcsICA0MTAsICAzNjAsICA0MTEsICA0MTIsICA0MTIsDQo+ICsg
ICAgICA0MDUsICAzNjAsICAgODcsICA0MTMsICAzNjAsICAgMTIsICAgODcsICAgODcsICAgODcs
ICA0MTQsDQo+ICsgICAgICAzNjAsICA0MTQsICA0MTQsICAgODcsICA0MDgsICAzNjAsICAgODcs
ICAgODcsICA0MTAsICAzNjAsDQo+ICsgICAgICA0MTUsICA0MTYsICA0MTEsICA0MTYsICA0MTIs
ICAgODcsICA0MTMsICAzNjAsICAgMTIsICAgODcsDQo+ICsNCj4gKyAgICAgIDQxNywgIDQxOCwg
IDQxNCwgIDM2MCwgIDQxNCwgIDQxNCwgICA4NywgICA4NywgICA4NywgIDQxNSwNCj4gKyAgICAg
IDQxNiwgIDQxNiwgIDQxOSwgIDQxOSwgICA4NywgICAxMiwgICA4NywgIDQyMCwgIDM2MCwgIDQy
MSwNCj4gKyAgICAgIDM2MCwgIDQxNCwgIDQxNCwgICA4NywgICA4NywgIDM2MCwgIDQyMiwgIDQy
MywgIDQyNCwgIDQyMCwNCj4gKyAgICAgIDM2MCwgIDQyMSwgIDM2MCwgIDQxNCwgIDQxNCwgICA4
NywgIDQyNSwgIDQyNiwgIDM2MCwgIDQyNywNCj4gKyAgICAgIDM2MCwgIDQyOCwgIDM2MCwgIDQx
NCwgIDM2MCwgICA4NywgIDQyOSwgIDM2MCwgIDQyNiwgIDM2MCwNCj4gKyAgICAgIDQyNywgIDM2
MCwgIDQyOCwgIDM2MCwgIDM2MCwgICA4NywgIDQyOSwgIDM2MCwgIDM2MCwgICAgMCwNCj4gKyAg
ICAgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwg
IDM2MCwNCj4gKyAgICAgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwg
IDM2MCwgIDM2MCwgIDM2MCwNCj4gKyAgICAgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwg
IDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwNCj4gKyAgICAgIDM2MCwgIDM2MCwgIDM2MCwg
IDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwNCj4gKw0KPiArICAgICAg
MzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYw
LA0KPiArICAgICAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYw
LCAgMzYwLCAgMzYwLA0KPiArICAgICAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYw
LCAgMzYwLCAgMzYwLCAgMzYwDQo+ICAgICAgfSA7DQo+IA0KPiAtc3RhdGljIGNvbnN0IGZsZXhf
aW50MTZfdCB5eV9ueHRbOTQwXSA9DQo+ICtzdGF0aWMgY29uc3QgZmxleF9pbnQxNl90IHl5X254
dFs5NTFdID0NCj4gICAgICB7ICAgMCwNCj4gICAgICAgICAgNiwgICAgNywgICAgOCwgICAgOSwg
ICAgNiwgICAgNiwgICAgNiwgICAgNiwgICAxMCwgICAxMSwNCj4gICAgICAgICAxMiwgICAxMywg
ICAxNCwgICAxNSwgICAxNiwgICAxNywgICAxOCwgICAxOSwgICAxNywgICAxNywNCj4gICAgICAg
ICAxNywgICAxNywgICAyMCwgICAxNywgICAyMSwgICAyMiwgICAyMywgICAyNCwgICAyNSwgICAx
NywNCj4gICAgICAgICAyNiwgICAxNywgICAxNywgICAxNywgICAzMiwgICAzMiwgICAzMywgICAz
MiwgICAzMiwgICAzMywNCj4gICAgICAgICAzNiwgICAzNCwgICAzNiwgICA0MiwgICAzNCwgICAy
OSwgICAyOSwgICAyOSwgICAzMCwgICAzNSwNCj4gLSAgICAgICA1MCwgICAzNiwgICAzNywgICAz
OCwgICA0MywgICA0NCwgICAzOSwgICAzNiwgICA3OSwgICA0NSwNCj4gKyAgICAgICA1MCwgICAz
NiwgICAzNywgICAzOCwgICA0MywgICA0NCwgICAzOSwgICAzNiwgICA4MCwgICA0NSwNCj4gICAg
ICAgICAzNiwgICAzNiwgICA0MCwgICAyOSwgICAyOSwgICAyOSwgICAzMCwgICAzNSwgICA0Niwg
ICA0OCwNCj4gICAgICAgICAzNywgICAzOCwgICA0MSwgICA0NywgICAzNiwgICA0OSwgICAzNiwg
ICA1MywgICAzNiwgICAzNiwNCj4gLSAgICAgICAzNiwgICA1NiwgICA1OCwgICAzNiwgICAzNiwg
ICA1NSwgICA4MiwgICA2MCwgICA1MSwgIDM0MiwNCj4gLSAgICAgICA1NCwgICA2MSwgICA1Miwg
ICAyOSwgICA2NCwgICAzMiwgICAzMiwgICAzMywgICAzNiwgICA2NSwNCj4gLQ0KPiAtICAgICAg
IDcwLCAgIDM2LCAgIDM0LCAgIDI5LCAgIDI5LCAgIDI5LCAgIDMwLCAgIDM2LCAgIDM2LCAgIDM2
LA0KPiAtICAgICAgIDI5LCAgIDM4LCAgIDY2LCAgIDY2LCAgIDY2LCAgIDY3LCAgIDY2LCAgIDcx
LCAgIDc0LCAgIDY2LA0KPiAtICAgICAgIDY4LCAgIDcyLCAgIDM2LCAgIDM2LCAgIDczLCAgIDM2
LCAgIDc3LCAgIDc4LCAgIDM2LCAgIDc2LA0KPiAtICAgICAgIDM2LCAgIDUzLCAgIDM2LCAgIDM2
LCAgIDc1LCAgIDg1LCAgIDgwLCAgIDgzLCAgIDM2LCAgIDg2LA0KPiAtICAgICAgIDg0LCAgIDM2
LCAgIDM2LCAgIDM2LCAgIDM2LCAgIDgxLCAgIDM2LCAgIDM2LCAgIDM2LCAgIDM2LA0KPiAtICAg
ICAgIDM2LCAgIDM2LCAgIDkzLCAgIDg5LCAgMzM3LCAgIDk4LCAgIDg4LCAgIDI5LCAgIDY0LCAg
MTAxLA0KPiAtICAgICAgIDkwLCAgIDM2LCAgIDkxLCAgIDY1LCAgIDkyLCAgIDg3LCAgIDI5LCAg
IDk1LCAgIDg5LCAgIDk5LA0KPiAtICAgICAgIDM2LCAgMTAwLCAgIDk2LCAgIDM2LCAgIDM2LCAg
IDM2LCAgIDM2LCAgIDM2LCAgIDM2LCAgMTA2LA0KPiAtICAgICAgMTA1LCAgIDg1LCAgIDM2LCAg
IDM2LCAgMTAyLCAgIDM2LCAgMTA3LCAgIDM2LCAgMTAzLCAgIDM2LA0KPiAtICAgICAgMTA5LCAg
MTEyLCAgIDM2LCAgIDM2LCAgMTA0LCAgMTA4LCAgMTE1LCAgMTEwLCAgIDM2LCAgMTE3LA0KPiAt
DQo+IC0gICAgICAgMzYsICAgMzYsICAgMzYsICAzMzUsICAgMzYsICAgMzYsICAxMjIsICAxMTEs
ICAgMjksICAgMjksDQo+IC0gICAgICAgMjksICAgMzAsICAxMTgsICAgMzYsICAxMTYsICAgMjks
ICAgMzgsICAgMzYsICAgMzYsICAxMTMsDQo+IC0gICAgICAxMTQsICAxMTksICAxMjAsICAxMjMs
ICAgMzYsICAgMjksICAgOTUsICAxMjEsICAgMzYsICAxMzQsDQo+IC0gICAgICAxMzEsICAgOTYs
ICAxMzAsICAgMzYsICAxMjUsICAxMjQsICAxMjYsICAxMjYsICAgNjYsICAxMjcsDQo+IC0gICAg
ICAxMjYsICAxMzIsICAxMzMsICAxMjYsICAxMjksICAzMzMsICAgMzYsICAgMzYsICAxMzUsICAx
MzcsDQo+IC0gICAgICAgMzYsICAgMzYsICAgMzYsICAxNDAsICAxMzksICAgMzUsICAgMzUsICAz
NTIsICAgMzYsICAgMzYsDQo+IC0gICAgICAgODUsICAxNDEsICAxNDEsICAgNjYsICAxNDIsICAx
NDEsICAxNjAsICAxNDUsICAxNDEsICAxNDQsDQo+IC0gICAgICAgMzUsICAgMzUsICAgODksICAx
MTcsICAxNTUsICAgMzYsICAxNDYsICAxNDcsICAxNDcsICAgNjYsDQo+IC0gICAgICAxNDgsICAx
NDcsICAxNjIsICAgMzYsICAxNDcsICAxNTAsICAxNTEsICAxNTEsICAgNjYsICAxNTIsDQo+IC0g
ICAgICAxNTEsICAgMzYsICAgMzYsICAxNTEsICAxNTQsICAxMjAsICAxNjEsICAgMzYsICAxNTYs
ICAxNTYsDQo+IC0NCj4gLSAgICAgICA2NiwgIDE1NywgIDE1NiwgICAzNiwgICAzNiwgIDE1Niwg
IDE1OSwgIDE2NCwgIDE3MSwgIDE2MywNCj4gLSAgICAgICAyOSwgIDE2NiwgICAyOSwgIDE2OCwg
ICAzNiwgICAzNiwgIDE2NywgIDE3MCwgIDE2OSwgICAzNSwNCj4gLSAgICAgICAzNSwgIDE3Miwg
ICAzNiwgICAzNiwgIDE3MywgICAzNiwgIDIxMywgIDE4NCwgICAzNiwgICAzNiwNCj4gLSAgICAg
IDE3NSwgICAzNiwgIDE3NCwgICAyOSwgIDE4NiwgIDIxMiwgICAzNiwgIDM0OSwgIDE4MywgIDE4
NywNCj4gLSAgICAgIDE3NywgIDE3NiwgIDE3OCwgIDE3OCwgICA2NiwgIDE3OSwgIDE3OCwgIDE4
MiwgIDM0OCwgIDE3OCwNCj4gLSAgICAgIDE4MSwgICAyOSwgIDE4OCwgICAzNSwgICAzNSwgICAz
NSwgICAzNSwgIDE4OSwgICAyOSwgIDE5MywNCj4gLSAgICAgICAyOSwgIDE5NSwgIDE5MCwgICAz
NiwgIDE5NCwgICAzNiwgIDE5NiwgICAyOSwgIDE5OCwgICAyOSwNCj4gLSAgICAgIDIwMCwgIDE5
MSwgICAzNiwgIDE5OSwgICAzNiwgIDIwMSwgIDIxOSwgICAyOSwgIDIwNCwgICAyOSwNCj4gLSAg
ICAgIDIwNiwgICAzNiwgIDIwMiwgIDIwNSwgIDIwOSwgIDIwNywgICAyOSwgIDE2NiwgICAzNiwg
IDI5MywNCj4gLSAgICAgIDIwOCwgIDIxNCwgIDE2NywgICAzNSwgICAzNSwgICAzNSwgICAzNSwg
ICAzNSwgICAzNSwgICAzNiwNCj4gLQ0KPiAtICAgICAgIDM2LCAgIDM2LCAgMjQ5LCAgMjE4LCAg
MjIwLCAgIDI5LCAgMjIyLCAgMjE2LCAgIDM2LCAgMjE3LA0KPiAtICAgICAgMjM1LCAgMjIzLCAg
IDI5LCAgMjI0LCAgMjE1LCAgMjI2LCAgIDM2LCAgMjI3LCAgMjI1LCAgMzQ2LA0KPiAtICAgICAg
IDM1LCAgIDM1LCAgIDM2LCAgMjI4LCAgMjI4LCAgIDY2LCAgMjI5LCAgMjI4LCAgIDI5LCAgMTg2
LA0KPiAtICAgICAgMjI4LCAgMjMxLCAgMjMyLCAgIDM2LCAgMTg3LCAgMjMzLCAgIDM1LCAgIDI5
LCAgMTkzLCAgIDI5LA0KPiAtICAgICAgMTk4LCAgMjM0LCAgIDM2LCAgMTk0LCAgMzQ0LCAgMTk5
LCAgIDI5LCAgMjA0LCAgMjM2LCAgIDM2LA0KPiAtICAgICAgIDM1LCAgMjQxLCAgMjA1LCAgMjQy
LCAgIDM2LCAgIDM1LCAgIDM1LCAgMjcwLCAgIDM1LCAgIDM1LA0KPiAtICAgICAgIDM1LCAgIDM1
LCAgMjQ3LCAgIDM2LCAgIDM1LCAgIDM1LCAgIDI5LCAgMjIyLCAgMjQ0LCAgMjYyLA0KPiAtICAg
ICAgMjQ4LCAgIDM2LCAgMjIzLCAgMjQzLCAgMjQ1LCAgMjQ2LCAgIDM1LCAgMjUyLCAgIDI5LCAg
MjU0LA0KPiAtICAgICAgIDI5LCAgMjU2LCAgMjU4LCAgMzQyLCAgMjU1LCAgMjU5LCAgMjU3LCAg
IDM1LCAgIDM1LCAgMzM5LA0KPiAtICAgICAgIDM1LCAgIDM1LCAgIDY5LCAgMjY0LCAgIDM1LCAg
IDM1LCAgIDM1LCAgIDM1LCAgIDM1LCAgIDM1LA0KPiAtDQo+IC0gICAgICAyNjcsICAgMzUsICAg
MzUsICAyNzUsICAgMzUsICAgMzUsICAgMzUsICAgMzUsICAyNzEsICAgMzUsDQo+IC0gICAgICAg
MzUsICAyNzYsICAyNzcsICAgMzUsICAgMzUsICAyNzIsICAyNzgsICAzMTUsICAyNzMsICAyODEs
DQo+IC0gICAgICAgMjksICAyNTQsICAyOTAsICAzMTMsICAyODIsICAyNzUsICAyNTUsICAyODUs
ICAyODUsICAgNjYsDQo+IC0gICAgICAyODYsICAyODUsICAgMzUsICAgMzUsICAyODUsICAyODgs
ICAyOTUsICAyOTgsICAyOTYsICAgMzUsDQo+IC0gICAgICAgMzUsICAgMzUsICAgMzUsICAyOTgs
ICAzMDEsICAzMjgsICAyOTksICAyOTQsICAgMzUsICAgMzUsDQo+IC0gICAgICAyNzUsICAgMzUs
ICAgMzUsICAgMzUsICAzMDMsICAgMjksICAzMDUsICAzMDAsICAyNzUsICAgMjksDQo+IC0gICAg
ICAzMDcsICAzMDYsICAgMzUsICAgMzUsICAzMDIsICAzMDgsICAzMzcsICAgMzYsICAgMzUsICAg
MzUsDQo+IC0gICAgICAzMDksICAzMTAsICAzMjAsICAzMTYsICAgMzUsICAgMzUsICAgMzUsICAg
MzUsICAzMjIsICAgMzYsDQo+IC0gICAgICAgMzUsICAgMzUsICAzMTcsICAyNzUsICAzMTksICAz
MTEsICAgMjksICAzMDUsICAzMzUsICAyNzUsDQo+IC0gICAgICAzMTgsICAzMjEsICAzMDYsICAz
MjMsICAgMzUsICAgMzUsICAgMzUsICAgMzUsICAzMzAsICAzMjksDQo+IC0NCj4gLSAgICAgICAz
NSwgICAzNSwgIDMzMSwgIDMzMywgIDMyNywgICAzNSwgICAzNSwgIDMzOCwgICAzNSwgICAzNSwN
Cj4gLSAgICAgIDM1MywgIDM0MCwgICAzNSwgICAzNSwgIDM1MCwgIDMyNSwgIDI3NSwgIDMxNSwg
ICAzNSwgICAzNSwNCj4gLSAgICAgICAyNywgICAyNywgICAyNywgICAyNywgICAyOSwgICAyOSwg
ICAyOSwgICAzMSwgICAzMSwgICAzMSwNCj4gLSAgICAgICAzMSwgICAzNiwgICAzNiwgICAzNiwg
ICAzNiwgICA2MiwgIDMxMywgICA2MiwgICA2MiwgICA2MywNCj4gLSAgICAgICA2MywgICA2Mywg
ICA2MywgICA2NSwgIDI2OSwgICA2NSwgICA2NSwgICAzNSwgICAzNSwgICAzNSwNCj4gLSAgICAg
ICAzNSwgICA2OSwgICA2OSwgIDI2MSwgICA2OSwgICA5NCwgICA5NCwgICA5NCwgICA5NCwgICA5
NiwNCj4gLSAgICAgIDI1MSwgICA5NiwgICA5NiwgIDEyOCwgIDEyOCwgIDEyOCwgIDEyOCwgIDE0
MywgIDE0MywgIDE0MywNCj4gLSAgICAgIDE0MywgIDE0OSwgIDE0OSwgIDE0OSwgIDE0OSwgIDE1
MywgIDE1MywgIDE1MywgIDE1MywgIDE1OCwNCj4gLSAgICAgIDE1OCwgIDE1OCwgIDE1OCwgIDE2
NSwgIDE2NSwgIDE2NSwgIDE2NSwgIDE2NywgIDI5OCwgIDE2NywNCj4gLSAgICAgIDE2NywgIDE4
MCwgIDE4MCwgIDE4MCwgIDE4MCwgIDE4NSwgIDE4NSwgIDE4NSwgIDE4NSwgIDE4NywNCj4gLQ0K
PiAtICAgICAgMjkyLCAgMTg3LCAgMTg3LCAgMTkyLCAgMTkyLCAgMTkyLCAgMTkyLCAgMTk0LCAg
MjQwLCAgMTk0LA0KPiAtICAgICAgMTk0LCAgMTk3LCAgMTk3LCAgMTk3LCAgMTk3LCAgMTk5LCAg
Mjg5LCAgMTk5LCAgMTk5LCAgMjAzLA0KPiAtICAgICAgMjAzLCAgMjAzLCAgMjAzLCAgMjA1LCAg
Mjg0LCAgMjA1LCAgMjA1LCAgMjEwLCAgMjEwLCAgMjEwLA0KPiAtICAgICAgMjEwLCAgMTY5LCAg
MjgwLCAgMTY5LCAgMTY5LCAgMjIxLCAgMjIxLCAgMjIxLCAgMjIxLCAgMjIzLA0KPiAtICAgICAg
MjY5LCAgMjIzLCAgMjIzLCAgMjMwLCAgMjMwLCAgMjMwLCAgMjMwLCAgMTg5LCAgMjY2LCAgMTg5
LA0KPiAtICAgICAgMTg5LCAgMTk2LCAgMjExLCAgMTk2LCAgMTk2LCAgMjAxLCAgMjYxLCAgMjAx
LCAgMjAxLCAgMjA3LA0KPiAtICAgICAgMjUxLCAgMjA3LCAgMjA3LCAgMjM3LCAgMjM3LCAgMjM3
LCAgMjM3LCAgMjM5LCAgMjM5LCAgMjM5LA0KPiAtICAgICAgMjM5LCAgMjI1LCAgMjQwLCAgMjI1
LCAgMjI1LCAgMjUwLCAgMjUwLCAgMjUwLCAgMjUwLCAgMjUzLA0KPiAtICAgICAgMjUzLCAgMjUz
LCAgMjUzLCAgMjU1LCAgMjM4LCAgMjU1LCAgMjU1LCAgMjYwLCAgMjYwLCAgMjYwLA0KPiAtICAg
ICAgMjYwLCAgMjYzLCAgMjYzLCAgMjYzLCAgMjYzLCAgMjY1LCAgMjY1LCAgMjY1LCAgMjY1LCAg
MjY4LA0KPiAtDQo+IC0gICAgICAyNjgsICAyNjgsICAyNjgsICAyNzQsICAyNzQsICAyNzQsICAy
NzQsICAyNzksICAyNzksICAyNzksDQo+IC0gICAgICAyNzksICAyNTcsICAyMTEsICAyNTcsICAy
NTcsICAyODMsICAyODMsICAyODMsICAyODMsICAyODcsDQo+IC0gICAgICAyODcsICAyODcsICAy
ODcsICAyNjQsICAxMzgsICAyNjQsICAyNjQsICAyOTEsICAyOTEsICAyOTEsDQo+IC0gICAgICAy
OTEsICAyOTcsICAyOTcsICAyOTcsICAyOTcsICAzMDQsICAzMDQsICAzMDQsICAzMDQsICAzMDYs
DQo+IC0gICAgICAxMzYsICAzMDYsICAzMDYsICAzMTIsICAzMTIsICAzMTIsICAzMTIsICAzMTQs
ICAzMTQsICAzMTQsDQo+IC0gICAgICAzMTQsICAzMDgsICAgOTcsICAzMDgsICAzMDgsICAzMjQs
ICAzMjQsICAzMjQsICAzMjQsICAzMjYsDQo+IC0gICAgICAzMjYsICAzMjYsICAzMjYsICAzMzIs
ICAzMzIsICAzMzIsICAzMzIsICAzMzQsICAzMzQsICAzMzQsDQo+IC0gICAgICAzMzQsICAzMzYs
ICAzMzYsICAzMzYsICAzMzYsICAzNDEsICAzNDEsICAzNDEsICAzNDEsICAzNDMsDQo+IC0gICAg
ICAzNDMsICAzNDMsICAzNDMsICAzNDUsICAzNDUsICAzNDUsICAzNDUsICAzNDcsICAzNDcsICAz
NDcsDQo+IC0gICAgICAzNDcsICAzNTEsICAzNTEsICAzNTEsICAzNTEsICAgMzYsICAgMzAsICAg
NTksICAgNTcsICAgMzYsDQo+IC0NCj4gLSAgICAgICAzMCwgIDM1NCwgICAyOCwgICAyOCwgICAg
NSwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwNCj4gLSAgICAgIDM1NCwgIDM1NCwgIDM1
NCwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwNCj4gLSAgICAgIDM1
NCwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwN
Cj4gLSAgICAgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwg
IDM1NA0KPiArICAgICAgIDM2LCAgIDU2LCAgIDU4LCAgIDM2LCAgIDUzLCAgIDU1LCAgIDM2LCAg
IDM2LCAgIDUxLCAgIDYwLA0KPiArICAgICAgIDU0LCAgIDg0LCAgIDUyLCAgIDYxLCAgIDYyLCAg
IDI5LCAgIDY1LCAgIDMyLCAgIDMyLCAgIDMzLA0KPiArDQo+ICsgICAgICAgMzYsICAgNjYsICAg
NzEsICAgMzYsICAgMzQsICAgMjksICAgMjksICAgMjksICAgMzAsICAgMzYsDQo+ICsgICAgICAg
MzYsICAgMzYsICAgMjksICAgMzgsICAgNjcsICAgNjcsICAgNjcsICAgNjgsICAgNjcsICAgNzIs
DQo+ICsgICAgICAgNzUsICAgNjcsICAgNjksICAgNzMsICAgMzYsICAgMzYsICAgNzQsICAgMzYs
ICAgNzgsICAgNzksDQo+ICsgICAgICAgMzYsICAgNzcsICAgMzYsICAgMzYsICAgMzYsICAgODMs
ICAgNzYsICAgMzYsICAgODEsICAgODUsDQo+ICsgICAgICAgMzYsICAgODcsICAgMzYsICAgODYs
ICAgMzYsICAgMzYsICAgMzYsICAgODIsICAgODksICAgMzYsDQo+ICsgICAgICAgMzYsICAgMzYs
ICAgMzYsICAgOTQsICAgOTAsICAgMzYsICAxMDAsICAgODgsICAgMzYsICAgMzYsDQo+ICsgICAg
ICAgOTIsICAgOTEsICAgOTMsICAxMDEsICAgOTAsICAgMjksICAgNjUsICAgOTUsICAgMjksICAg
OTcsDQo+ICsgICAgICAxMDIsICAgNjYsICAgMzYsICAgMzYsICAgOTgsICAgMzYsICAgMzYsICAx
MDYsICAgMzYsICAgMzYsDQo+ICsgICAgICAxMjUsICAxMDgsICAxMDcsICAxMDMsICAgMzYsICAg
MzYsICAgMzYsICAgODYsICAgMzYsICAxMDQsDQo+ICsgICAgICAxMDUsICAgMzYsICAxMDksICAg
MzYsICAxMTEsICAgMzYsICAgMzYsICAxMTAsICAxMTIsICAxMTQsDQo+ICsNCj4gKyAgICAgIDEx
NywgICAzNiwgICAzNiwgIDExOSwgIDEyMCwgICAzNiwgIDM0OCwgICAzNiwgICAzNiwgIDEzOCwN
Cj4gKyAgICAgICAzNiwgIDExMywgICAyOSwgICAyOSwgICAyOSwgICAzMCwgIDEyNCwgIDExOCwg
ICAzNiwgICAyOSwNCj4gKyAgICAgICAzOCwgICAzNiwgICAzNiwgIDExNSwgIDExNiwgIDEyMSwg
IDEyMiwgIDEyNiwgICAzNiwgICAyOSwNCj4gKyAgICAgICA5NywgIDEyMywgICAzNiwgICAzNiwg
IDEzNCwgICA5OCwgIDEyNywgIDEzMywgIDE0MCwgICAzNiwNCj4gKyAgICAgICAzNiwgICAzNiwg
IDEyOCwgIDEyOSwgIDEyOSwgICA2NywgIDEzMCwgIDEyOSwgIDEzNSwgIDEzNiwNCj4gKyAgICAg
IDEyOSwgIDEzMiwgICAzNiwgICAzNiwgICAzNiwgICAzNiwgIDEzNywgIDE0MiwgIDE4MSwgIDE0
MywNCj4gKyAgICAgICA4NiwgIDE0NCwgIDE0NCwgICA2NywgIDE0NSwgIDE0NCwgICAzNSwgICAz
NSwgIDE0NCwgIDE0NywNCj4gKyAgICAgICAzNSwgICAzNSwgICA5MCwgIDExOSwgIDE4MCwgICAz
NiwgIDE0OSwgICAzNiwgIDE0OCwgIDE1MCwNCj4gKyAgICAgIDE1MCwgICA2NywgIDE1MSwgIDE1
MCwgICAzNiwgIDE2MywgIDE1MCwgIDE1MywgIDE1NCwgIDE1NCwNCj4gKyAgICAgICA2NywgIDE1
NSwgIDE1NCwgICAzNiwgICAzNiwgIDE1NCwgIDE1NywgIDE2NCwgIDEyMiwgIDE1OCwNCj4gKw0K
PiArICAgICAgIDM2LCAgMTU5LCAgMTU5LCAgIDY3LCAgMTYwLCAgMTU5LCAgMTY1LCAgIDM2LCAg
MTU5LCAgMTYyLA0KPiArICAgICAgIDM2LCAgIDM2LCAgMTY3LCAgIDI5LCAgMTcwLCAgMTY4LCAg
IDI5LCAgMTcyLCAgMTY2LCAgMTcxLA0KPiArICAgICAgIDM2LCAgMTc1LCAgMTczLCAgIDM1LCAg
IDM1LCAgMTc2LCAgIDM2LCAgIDM2LCAgMTc3LCAgIDM2LA0KPiArICAgICAgMTg4LCAgMzQzLCAg
IDM2LCAgMTc0LCAgIDM2LCAgMjE4LCAgMTc4LCAgMjE3LCAgIDM2LCAgIDM2LA0KPiArICAgICAg
IDM2LCAgMTc5LCAgMTgyLCAgMTgyLCAgIDY3LCAgMTgzLCAgMTgyLCAgMTg3LCAgMTg2LCAgMTgy
LA0KPiArICAgICAgMTg1LCAgIDI5LCAgMTkwLCAgIDI5LCAgMTkyLCAgIDM1LCAgIDM1LCAgMTkx
LCAgMjA2LCAgMTkzLA0KPiArICAgICAgIDM1LCAgIDM1LCAgIDI5LCAgMTk3LCAgMTk0LCAgIDI5
LCAgMTk5LCAgIDM2LCAgMTk4LCAgIDI5LA0KPiArICAgICAgMjAyLCAgMjAwLCAgIDI5LCAgMjA0
LCAgIDM2LCAgMjAzLCAgMTk1LCAgIDM2LCAgMjA1LCAgIDI5LA0KPiArICAgICAgMjA4LCAgIDI5
LCAgMjEwLCAgIDI5LCAgMTcwLCAgMjA5LCAgMjEzLCAgMjExLCAgMzQxLCAgMTcxLA0KPiArICAg
ICAgIDM2LCAgMjE2LCAgMjEyLCAgMjE5LCAgIDM1LCAgIDM1LCAgIDM1LCAgIDM1LCAgIDM1LCAg
IDM1LA0KPiArDQo+ICsgICAgICAgMzYsICAyMjQsICAgMzYsICAyNDQsICAyMjMsICAyMjUsICAg
MzYsICAzMzksICAyMjEsICAgMzYsDQo+ICsgICAgICAyMjIsICAgMjksICAyMjcsICAgMjksICAy
MjksICAyMjAsICAyNTUsICAyMjgsICAyMzIsICAyMzAsDQo+ICsgICAgICAyMzEsICAgMzYsICAg
MzYsICAgMzYsICAyMzMsICAyMzMsICAgNjcsICAyMzQsICAyMzMsICAgMjksDQo+ICsgICAgICAx
OTAsICAyMzMsICAyMzYsICAgMzUsICAgMzUsICAxOTEsICAyMzgsICAgMzUsICAgMjksICAxOTcs
DQo+ICsgICAgICAgMjksICAyMDIsICAyMzksICAgMzYsICAxOTgsICAyMzcsICAyMDMsICAgMjks
ICAyMDgsICAgMzYsDQo+ICsgICAgICAyNDEsICAgMzYsICAyODEsICAyMDksICAgMzUsICAyNDcs
ICAyNDgsICAgMzYsICAzNTgsICAyNDAsDQo+ICsgICAgICAgMzUsICAgMzUsICAgMzUsICAgMzUs
ICAgMzUsICAgMzUsICAyNTMsICAgMzYsICAgMzUsICAgMzUsDQo+ICsgICAgICAzNTUsICAgMjks
ICAyMjcsICAyNTAsICAyNTQsICAzMjIsICAyNDksICAyMjgsICAyNTEsICAyNTIsDQo+ICsgICAg
ICAgMzUsICAyNTgsICAgMjksICAyNjAsICAgMjksICAyNjIsICAyNjQsICAgMzYsICAyNjEsICAy
NjUsDQo+ICsgICAgICAyNjMsICAgMzUsICAgMzUsICAgMzYsICAgMzUsICAgMzUsICAyNjgsICAz
MTYsICAgMzYsICAgNzAsDQo+ICsNCj4gKyAgICAgIDI3MCwgICAzNSwgICAzNSwgICAzNSwgICAz
NSwgICAzNSwgICAzNSwgIDI3MywgICAzNSwgICAzNSwNCj4gKyAgICAgIDI4MSwgIDI3NiwgICAz
NSwgICAzNSwgIDMwNCwgIDI3NywgICAzNSwgICAzNSwgIDI4MiwgIDI4MywNCj4gKyAgICAgICAz
NSwgICAzNSwgIDI3OCwgIDMwNSwgIDI4NCwgIDI3OSwgIDI4NywgICAyOSwgIDI2MCwgICAzNSwN
Cj4gKyAgICAgICAzNSwgIDI4OCwgICAzNiwgIDI2MSwgIDI5MSwgIDI5MSwgICA2NywgIDI5Miwg
IDI5MSwgICAzNSwNCj4gKyAgICAgICAzNSwgIDI5MSwgIDI5NCwgIDMwNCwgIDM1NCwgIDI5Niwg
IDMwMSwgIDI5OSwgIDMwMiwgICAzNSwNCj4gKyAgICAgICAzNSwgICAzNSwgICAzNSwgIDMwNywg
IDMwMCwgICAzNSwgICAzNSwgIDMwNiwgICAzNSwgIDMwOSwNCj4gKyAgICAgICAzNSwgICAzNSwg
ICAyOSwgIDMxMSwgICAyOSwgIDMxMywgICAzNSwgICAzNSwgIDMxMiwgIDI4MSwNCj4gKyAgICAg
IDMxNCwgIDMwOCwgICAzNSwgICAzNSwgIDMxNSwgICAzNSwgICAzNSwgICAzNSwgICAzNSwgIDMy
NiwNCj4gKyAgICAgICAyOSwgIDMxMSwgIDMyOCwgICAzNiwgIDI4MSwgIDMyNSwgIDMxMiwgICAz
NSwgICAzNSwgIDMxNywNCj4gKyAgICAgIDI4MSwgIDMyNCwgIDMyNywgIDMyMywgIDMyOSwgICAz
NSwgICAzNSwgICAzNSwgICAzNSwgIDMzNiwNCj4gKw0KPiArICAgICAgMjgxLCAgIDM1LCAgIDM1
LCAgMzUyLCAgMzM0LCAgMzM3LCAgMzM1LCAgMzUwLCAgIDM1LCAgIDM1LA0KPiArICAgICAgIDM1
LCAgIDM1LCAgMzU5LCAgMzQ2LCAgIDM1LCAgIDM1LCAgMzU2LCAgMzQ4LCAgMzQ0LCAgMzQ1LA0K
PiArICAgICAgIDM1LCAgIDM1LCAgIDI3LCAgIDI3LCAgIDI3LCAgIDI3LCAgIDI5LCAgIDI5LCAg
IDI5LCAgIDMxLA0KPiArICAgICAgIDMxLCAgIDMxLCAgIDMxLCAgIDM2LCAgIDM2LCAgIDM2LCAg
IDM2LCAgIDYzLCAgMzIxLCAgIDYzLA0KPiArICAgICAgIDYzLCAgIDY0LCAgIDY0LCAgIDY0LCAg
IDY0LCAgIDY2LCAgMzE5LCAgIDY2LCAgIDY2LCAgIDM1LA0KPiArICAgICAgIDM1LCAgIDM1LCAg
IDM1LCAgIDcwLCAgIDcwLCAgMzQzLCAgIDcwLCAgIDk2LCAgIDk2LCAgIDk2LA0KPiArICAgICAg
IDk2LCAgIDk4LCAgMzQxLCAgIDk4LCAgIDk4LCAgMTMxLCAgMTMxLCAgMTMxLCAgMTMxLCAgMTQ2
LA0KPiArICAgICAgMTQ2LCAgMTQ2LCAgMTQ2LCAgMTUyLCAgMTUyLCAgMTUyLCAgMTUyLCAgMTU2
LCAgMTU2LCAgMTU2LA0KPiArICAgICAgMTU2LCAgMTYxLCAgMTYxLCAgMTYxLCAgMTYxLCAgMTY5
LCAgMTY5LCAgMTY5LCAgMTY5LCAgMTcxLA0KPiArICAgICAgMzM5LCAgMTcxLCAgMTcxLCAgMTg0
LCAgMTg0LCAgMTg0LCAgMTg0LCAgMTg5LCAgMTg5LCAgMTg5LA0KPiArDQo+ICsgICAgICAxODks
ICAxOTEsICAzMzMsICAxOTEsICAxOTEsICAxOTYsICAxOTYsICAxOTYsICAxOTYsICAxOTgsDQo+
ICsgICAgICAzMzEsICAxOTgsICAxOTgsICAyMDEsICAyMDEsICAyMDEsICAyMDEsICAyMDMsICAy
ODEsICAyMDMsDQo+ICsgICAgICAyMDMsICAyMDcsICAyMDcsICAyMDcsICAyMDcsICAyMDksICAz
MjEsICAyMDksICAyMDksICAyMTQsDQo+ICsgICAgICAyMTQsICAyMTQsICAyMTQsICAxNzMsICAz
MTksICAxNzMsICAxNzMsICAyMjYsICAyMjYsICAyMjYsDQo+ICsgICAgICAyMjYsICAyMjgsICAy
NzUsICAyMjgsICAyMjgsICAyMzUsICAyMzUsICAyMzUsICAyMzUsICAxOTMsDQo+ICsgICAgICAy
NjcsICAxOTMsICAxOTMsICAyMDAsICAyNTcsICAyMDAsICAyMDAsICAyMDUsICAzMDQsICAyMDUs
DQo+ICsgICAgICAyMDUsICAyMTEsICAyOTgsICAyMTEsICAyMTEsICAyNDIsICAyNDIsICAyNDIs
ICAyNDIsICAyNDUsDQo+ICsgICAgICAyNDUsICAyNDUsICAyNDUsICAyMzAsICAyNDYsICAyMzAs
ICAyMzAsICAyNTYsICAyNTYsICAyNTYsDQo+ICsgICAgICAyNTYsICAyNTksICAyNTksICAyNTks
ICAyNTksICAyNjEsICAyOTUsICAyNjEsICAyNjEsICAyNjYsDQo+ICsgICAgICAyNjYsICAyNjYs
ICAyNjYsICAyNjksICAyNjksICAyNjksICAyNjksICAyNzEsICAyNzEsICAyNzEsDQo+ICsNCj4g
KyAgICAgIDI3MSwgIDI3NCwgIDI3NCwgIDI3NCwgIDI3NCwgIDI4MCwgIDI4MCwgIDI4MCwgIDI4
MCwgIDI4NSwNCj4gKyAgICAgIDI4NSwgIDI4NSwgIDI4NSwgIDI2MywgIDI5MCwgIDI2MywgIDI2
MywgIDI4OSwgIDI4OSwgIDI4OSwNCj4gKyAgICAgIDI4OSwgIDI5MywgIDI5MywgIDI5MywgIDI5
MywgIDI3MCwgIDI4NiwgIDI3MCwgIDI3MCwgIDI5NywNCj4gKyAgICAgIDI5NywgIDI5NywgIDI5
NywgIDMwMywgIDMwMywgIDMwMywgIDMwMywgIDMxMCwgIDMxMCwgIDMxMCwNCj4gKyAgICAgIDMx
MCwgIDMxMiwgIDI3NSwgIDMxMiwgIDMxMiwgIDMxOCwgIDMxOCwgIDMxOCwgIDMxOCwgIDMyMCwN
Cj4gKyAgICAgIDMyMCwgIDMyMCwgIDMyMCwgIDMxNCwgIDI3MiwgIDMxNCwgIDMxNCwgIDMzMCwg
IDMzMCwgIDMzMCwNCj4gKyAgICAgIDMzMCwgIDMzMiwgIDMzMiwgIDMzMiwgIDMzMiwgIDMzOCwg
IDMzOCwgIDMzOCwgIDMzOCwgIDM0MCwNCj4gKyAgICAgIDM0MCwgIDM0MCwgIDM0MCwgIDM0Miwg
IDM0MiwgIDM0MiwgIDM0MiwgIDM0NywgIDM0NywgIDM0NywNCj4gKyAgICAgIDM0NywgIDM0OSwg
IDM0OSwgIDM0OSwgIDM0OSwgIDM1MSwgIDM1MSwgIDM1MSwgIDM1MSwgIDM1MywNCj4gKyAgICAg
IDM1MywgIDM1MywgIDM1MywgIDM1NywgIDM1NywgIDM1NywgIDM1NywgIDIxNSwgIDI2NywgIDI1
NywNCj4gKw0KPiArICAgICAgMjQ2LCAgMjQzLCAgMjE1LCAgMTQxLCAgMTM5LCAgIDk5LCAgIDM2
LCAgIDMwLCAgIDU5LCAgIDU3LA0KPiArICAgICAgIDM2LCAgIDMwLCAgMzYwLCAgIDI4LCAgIDI4
LCAgICA1LCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLA0KPiArICAgICAgMzYwLCAgMzYwLCAgMzYw
LCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLA0KPiArICAgICAgMzYw
LCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLA0K
PiArICAgICAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAg
MzYwLCAgMzYwDQo+ICAgICAgfSA7DQo+IA0KPiAtc3RhdGljIGNvbnN0IGZsZXhfaW50MTZfdCB5
eV9jaGtbOTQwXSA9DQo+ICtzdGF0aWMgY29uc3QgZmxleF9pbnQxNl90IHl5X2Noa1s5NTFdID0N
Cj4gICAgICB7ICAgMCwNCj4gICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAg
MSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwNCj4gICAgICAgICAgMSwgICAgMSwgICAgMSwgICAg
MSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwNCj4gQEAgLTkyNywxMDEgKzkz
MCwxMDIgQEAgc3RhdGljIGNvbnN0IGZsZXhfaW50MTZfdCB5eV9jaGtbOTQwXSA9DQo+ICAgICAg
ICAgMTgsICAgMTQsICAgMTEsICAgMTEsICAgMTMsICAgMTQsICAgMTEsICAgNDYsICAgNDYsICAg
MTQsDQo+ICAgICAgICAgMTUsICAgMTYsICAgMTEsICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAg
MTIsICAgMTQsICAgMTYsDQo+ICAgICAgICAgMTIsICAgMTIsICAgMTIsICAgMTUsICAgMTksICAg
MTYsICAgMjAsICAgMjAsICAgMjEsICAgMjIsDQo+IC0gICAgICAgMjQsICAgMjIsICAgMjQsICAg
NTAsICAgMjYsICAgMjEsICAgNTAsICAgMjYsICAgMTksICAzNTEsDQo+IC0gICAgICAgMjAsICAg
MjYsICAgMTksICAgMzEsICAgMzEsICAgMzIsICAgMzIsICAgMzIsICAgMzksICAgMzEsDQo+IC0N
Cj4gLSAgICAgICAzOSwgICA0MiwgICAzMiwgICAzNSwgICAzNSwgICAzNSwgICAzNSwgICA0MCwg
ICA0NCwgICA0NSwNCj4gLSAgICAgICAzNSwgICAzNSwgICAzNywgICAzNywgICAzNywgICAzNywg
ICAzNywgICAzOSwgICA0MiwgICAzNywNCj4gLSAgICAgICAzNywgICA0MCwgICA0MSwgICA0Mywg
ICA0MSwgICA0OCwgICA0NSwgICA0NSwgICA0OSwgICA0NCwNCj4gLSAgICAgICA0NywgICA0Nywg
ICA1MywgICA1MSwgICA0MywgICA1MywgICA0OCwgICA1MSwgICA1MiwgICA1NCwNCj4gLSAgICAg
ICA1MiwgICA1NSwgICA1NiwgICA1OCwgICA1NCwgICA0OSwgICA1NywgICA1OSwgICA2MCwgICA3
MywNCj4gLSAgICAgICA2MSwgICA3MCwgICA2MCwgICA2MSwgIDM0NywgICA3MCwgICA1NiwgICA2
MywgICA2MywgICA3MywNCj4gLSAgICAgICA1OCwgICA3MSwgICA1OSwgICA2MywgICA1OSwgICA1
NSwgICA2NiwgICA2NiwgICA1NywgICA3MSwNCj4gLSAgICAgICA3NCwgICA3MiwgICA2NiwgICA3
MiwgICA3NSwgICA3NiwgICA3NywgICA3OCwgICA3OSwgICA3OCwNCj4gLSAgICAgICA3NywgICA3
OSwgICA4MCwgICA4MSwgICA3NCwgICA4MywgICA4MCwgICA4MiwgICA3NSwgICA4NCwNCj4gLSAg
ICAgICA4MiwgICA4NSwgICA4OCwgICA4NSwgICA3NiwgICA4MSwgICA4NywgICA4MywgICA4Nywg
ICA4OSwNCj4gLQ0KPiAtICAgICAgIDkyLCAgIDg5LCAgIDkzLCAgMzQ1LCAgIDkwLCAgMTA0LCAg
IDkyLCAgIDg0LCAgIDg2LCAgIDg2LA0KPiAtICAgICAgIDg2LCAgIDg2LCAgIDkwLCAgIDk5LCAg
IDg4LCAgIDg2LCAgIDg2LCAgIDk4LCAgMTAyLCAgIDg2LA0KPiAtICAgICAgIDg2LCAgIDkxLCAg
IDkxLCAgIDkzLCAgIDkxLCAgIDk0LCAgIDk0LCAgIDkxLCAgMTAxLCAgMTA0LA0KPiAtICAgICAg
MTAyLCAgIDk0LCAgMTAxLCAgMTEwLCAgIDk5LCAgIDk4LCAgMTAwLCAgMTAwLCAgMTAwLCAgMTAw
LA0KPiAtICAgICAgMTAwLCAgMTAzLCAgMTAzLCAgMTAwLCAgMTAwLCAgMzQzLCAgMTA1LCAgMTAz
LCAgMTA1LCAgMTA3LA0KPiAtICAgICAgMTA5LCAgMTA3LCAgMTExLCAgMTEwLCAgMTA5LCAgMTEz
LCAgMTEzLCAgMzQxLCAgMTIxLCAgMTE4LA0KPiAtICAgICAgMTExLCAgMTEyLCAgMTEyLCAgMTEy
LCAgMTEyLCAgMTEyLCAgMTIxLCAgMTEzLCAgMTEyLCAgMTEyLA0KPiAtICAgICAgMTE0LCAgMTE0
LCAgMTE2LCAgMTE2LCAgMTE4LCAgMTE2LCAgMTE0LCAgMTE1LCAgMTE1LCAgMTE1LA0KPiAtICAg
ICAgMTE1LCAgMTE1LCAgMTIzLCAgMTIzLCAgMTE1LCAgMTE1LCAgMTE3LCAgMTE3LCAgMTE3LCAg
MTE3LA0KPiAtICAgICAgMTE3LCAgMTI0LCAgMTIyLCAgMTE3LCAgMTE3LCAgMTE5LCAgMTIyLCAg
MTE5LCAgMTIwLCAgMTIwLA0KPiAtDQo+IC0gICAgICAxMjAsICAxMjAsICAxMjAsICAxMjUsICAx
MzAsICAxMjAsICAxMjAsICAxMjUsICAxMzEsICAxMjQsDQo+IC0gICAgICAxMjYsICAxMjYsICAx
MjgsICAxMjgsICAxMzEsICAxMzQsICAxMjYsICAxMzAsICAxMjgsICAxMzMsDQo+IC0gICAgICAx
MzMsICAxMzMsICAxMzUsICAxMzYsICAxMzMsICAxMzksICAxNjQsICAxNDAsICAxMzgsICAxNDAs
DQo+IC0gICAgICAxMzQsICAxNjQsICAxMzMsICAxNDEsICAxNDEsICAxNjMsICAxNjMsICAzMzgs
ICAxMzksICAxNDEsDQo+IC0gICAgICAxMzYsICAxMzUsICAxMzcsICAxMzcsICAxMzcsICAxMzcs
ICAxMzcsICAxMzgsICAzMzYsICAxMzcsDQo+IC0gICAgICAxMzcsICAxNDMsICAxNDMsICAxNDUs
ICAxNDUsICAxNDYsICAxNDYsICAxNDMsICAxNDcsICAxNDcsDQo+IC0gICAgICAxNDksICAxNDks
ICAxNDUsICAxNTUsICAxNDcsICAxNjEsICAxNDksICAxNTEsICAxNTEsICAxNTMsDQo+IC0gICAg
ICAxNTMsICAxNDYsICAxNjAsICAxNTEsICAyNzAsICAxNTMsICAxNzYsICAxNTYsICAxNTYsICAx
NTgsDQo+IC0gICAgICAxNTgsICAxNzYsICAxNTUsICAxNTYsICAxNjEsICAxNTgsICAxNjUsICAx
NjUsICAxNzAsICAyNzAsDQo+IC0gICAgICAxNjAsICAxNzAsICAxNjUsICAxNzIsICAxNzIsICAx
NzMsICAxNzMsICAxNzQsICAxNzQsICAxNzUsDQo+IC0NCj4gLSAgICAgIDIwOCwgIDE3NywgIDIy
MCwgIDE3NSwgIDE3NywgIDE3OCwgIDE3OCwgIDE3MywgIDIyMCwgIDE3NCwNCj4gLSAgICAgIDIw
OCwgIDE3OCwgIDE4MCwgIDE4MCwgIDE3MiwgIDE4MiwgIDE4MiwgIDE4MywgIDE4MCwgIDMzNCwN
Cj4gLSAgICAgIDE5MCwgIDE5MCwgIDE4MywgIDE4NCwgIDE4NCwgIDE4NCwgIDE4NCwgIDE4NCwg
IDE4NSwgIDE4NSwNCj4gLSAgICAgIDE4NCwgIDE4NCwgIDE5MCwgIDI0MywgIDE4NSwgIDE5MSwg
IDE5MSwgIDE5MiwgIDE5MiwgIDE5NywNCj4gLSAgICAgIDE5NywgIDIwMiwgIDIwMiwgIDE5Miwg
IDMzMiwgIDE5NywgIDIwMywgIDIwMywgIDIwOSwgIDIwOSwNCj4gLSAgICAgIDIxMywgIDIxMywg
IDIwMywgIDIxNCwgIDIxNCwgIDIxNSwgIDIxNSwgIDI0MywgIDIxNiwgIDIxNiwNCj4gLSAgICAg
IDIxNywgIDIxNywgIDIxOCwgIDIxOCwgIDIxOSwgIDIxOSwgIDIyMSwgIDIyMSwgIDIxNSwgIDIz
NSwNCj4gLSAgICAgIDIxOSwgIDIzNSwgIDIyMSwgIDIxNCwgIDIxNiwgIDIxNywgIDIyNywgIDIy
NywgIDIyOCwgIDIyOCwNCj4gLSAgICAgIDIzMCwgIDIzMCwgIDIzMiwgIDMzMSwgIDIyOCwgIDIz
MywgIDIzMCwgIDIzMywgIDIzMywgIDMyOSwNCj4gLSAgICAgIDIzMiwgIDIzMiwgIDIzNiwgIDIz
NiwgIDI0MSwgIDI0MSwgIDI0NCwgIDI0NCwgIDI0NSwgIDI0NSwNCj4gLQ0KPiAtICAgICAgMjQx
LCAgMjQ2LCAgMjQ2LCAgMjQ3LCAgMjQ4LCAgMjQ4LCAgMjY3LCAgMjY3LCAgMjQ0LCAgMjU5LA0K
PiAtICAgICAgMjU5LCAgMjQ3LCAgMjQ3LCAgMjUyLCAgMjUyLCAgMjQ1LCAgMjQ4LCAgMzI2LCAg
MjQ2LCAgMjUyLA0KPiAtICAgICAgMjUzLCAgMjUzLCAgMjY3LCAgMzI0LCAgMjU5LCAgMzE2LCAg
MjUzLCAgMjYyLCAgMjYyLCAgMjYyLA0KPiAtICAgICAgMjYyLCAgMjYyLCAgMjcxLCAgMjcxLCAg
MjYyLCAgMjYyLCAgMjcyLCAgMjc2LCAgMjczLCAgMjcyLA0KPiAtICAgICAgMjcyLCAgMjczLCAg
MjczLCAgMjc3LCAgMjc4LCAgMzE2LCAgMjc2LCAgMjcxLCAgMjgxLCAgMjgxLA0KPiAtICAgICAg
Mjk5LCAgMjc4LCAgMjc4LCAgMjgyLCAgMjgyLCAgMjg1LCAgMjg1LCAgMjc3LCAgMzAwLCAgMjg3
LA0KPiAtICAgICAgMjg3LCAgMjg1LCAgMjkwLCAgMjkwLCAgMjgxLCAgMjg3LCAgMzIzLCAgMjkz
LCAgMjk0LCAgMjk0LA0KPiAtICAgICAgMjkwLCAgMjkzLCAgMzAzLCAgMjk5LCAgMzAxLCAgMzAx
LCAgMzAyLCAgMzAyLCAgMzEwLCAgMzEwLA0KPiAtICAgICAgMzAzLCAgMzAzLCAgMzAwLCAgMzE3
LCAgMzAyLCAgMjk0LCAgMzA0LCAgMzA0LCAgMzIyLCAgMzI4LA0KPiAtICAgICAgMzAxLCAgMzA5
LCAgMzA0LCAgMzExLCAgMzA5LCAgMzA5LCAgMzExLCAgMzExLCAgMzE4LCAgMzE3LA0KPiAtDQo+
IC0gICAgICAzMTgsICAzMTgsICAzMTksICAzMjEsICAzMTQsICAzMTksICAzMTksICAzMjgsICAz
MzAsICAzMzAsDQo+IC0gICAgICAzNTAsICAzMzAsICAzNDAsICAzNDAsICAzNDAsICAzMTIsICAy
OTcsICAyOTYsICAzNTAsICAzNTAsDQo+IC0gICAgICAzNTUsICAzNTUsICAzNTUsICAzNTUsICAz
NTYsICAzNTYsICAzNTYsICAzNTcsICAzNTcsICAzNTcsDQo+IC0gICAgICAzNTcsICAzNTgsICAz
NTgsICAzNTgsICAzNTgsICAzNTksICAyOTUsICAzNTksICAzNTksICAzNjAsDQo+IC0gICAgICAz
NjAsICAzNjAsICAzNjAsICAzNjEsICAyOTEsICAzNjEsICAzNjEsICAzNjIsICAzNjIsICAzNjIs
DQo+IC0gICAgICAzNjIsICAzNjMsICAzNjMsICAyODMsICAzNjMsICAzNjQsICAzNjQsICAzNjQs
ICAzNjQsICAzNjUsDQo+IC0gICAgICAyNzksICAzNjUsICAzNjUsICAzNjYsICAzNjYsICAzNjYs
ICAzNjYsICAzNjcsICAzNjcsICAzNjcsDQo+IC0gICAgICAzNjcsICAzNjgsICAzNjgsICAzNjgs
ICAzNjgsICAzNjksICAzNjksICAzNjksICAzNjksICAzNzAsDQo+IC0gICAgICAzNzAsICAzNzAs
ICAzNzAsICAzNzEsICAzNzEsICAzNzEsICAzNzEsICAzNzIsICAyNzQsICAzNzIsDQo+IC0gICAg
ICAzNzIsICAzNzMsICAzNzMsICAzNzMsICAzNzMsICAzNzQsICAzNzQsICAzNzQsICAzNzQsICAz
NzUsDQo+IC0NCj4gLSAgICAgIDI2OCwgIDM3NSwgIDM3NSwgIDM3NiwgIDM3NiwgIDM3NiwgIDM3
NiwgIDM3NywgIDI2NSwgIDM3NywNCj4gLSAgICAgIDM3NywgIDM3OCwgIDM3OCwgIDM3OCwgIDM3
OCwgIDM3OSwgIDI2MywgIDM3OSwgIDM3OSwgIDM4MCwNCj4gLSAgICAgIDM4MCwgIDM4MCwgIDM4
MCwgIDM4MSwgIDI2MCwgIDM4MSwgIDM4MSwgIDM4MiwgIDM4MiwgIDM4MiwNCj4gLSAgICAgIDM4
MiwgIDM4MywgIDI1MCwgIDM4MywgIDM4MywgIDM4NCwgIDM4NCwgIDM4NCwgIDM4NCwgIDM4NSwN
Cj4gLSAgICAgIDI0MiwgIDM4NSwgIDM4NSwgIDM4NiwgIDM4NiwgIDM4NiwgIDM4NiwgIDM4Nywg
IDIzOSwgIDM4NywNCj4gLSAgICAgIDM4NywgIDM4OCwgIDIzNywgIDM4OCwgIDM4OCwgIDM4OSwg
IDIzNCwgIDM4OSwgIDM4OSwgIDM5MCwNCj4gLSAgICAgIDIyNiwgIDM5MCwgIDM5MCwgIDM5MSwg
IDM5MSwgIDM5MSwgIDM5MSwgIDM5MiwgIDM5MiwgIDM5MiwNCj4gLSAgICAgIDM5MiwgIDM5Mywg
IDIxMiwgIDM5MywgIDM5MywgIDM5NCwgIDM5NCwgIDM5NCwgIDM5NCwgIDM5NSwNCj4gLSAgICAg
IDM5NSwgIDM5NSwgIDM5NSwgIDM5NiwgIDIxMCwgIDM5NiwgIDM5NiwgIDM5NywgIDM5NywgIDM5
NywNCj4gLSAgICAgIDM5NywgIDM5OCwgIDM5OCwgIDM5OCwgIDM5OCwgIDM5OSwgIDM5OSwgIDM5
OSwgIDM5OSwgIDQwMCwNCj4gLQ0KPiAtICAgICAgNDAwLCAgNDAwLCAgNDAwLCAgNDAxLCAgNDAx
LCAgNDAxLCAgNDAxLCAgNDAyLCAgNDAyLCAgNDAyLA0KPiAtICAgICAgNDAyLCAgNDAzLCAgMTYy
LCAgNDAzLCAgNDAzLCAgNDA0LCAgNDA0LCAgNDA0LCAgNDA0LCAgNDA1LA0KPiAtICAgICAgNDA1
LCAgNDA1LCAgNDA1LCAgNDA2LCAgMTA4LCAgNDA2LCAgNDA2LCAgNDA3LCAgNDA3LCAgNDA3LA0K
PiAtICAgICAgNDA3LCAgNDA4LCAgNDA4LCAgNDA4LCAgNDA4LCAgNDA5LCAgNDA5LCAgNDA5LCAg
NDA5LCAgNDEwLA0KPiAtICAgICAgMTA2LCAgNDEwLCAgNDEwLCAgNDExLCAgNDExLCAgNDExLCAg
NDExLCAgNDEyLCAgNDEyLCAgNDEyLA0KPiAtICAgICAgNDEyLCAgNDEzLCAgIDY5LCAgNDEzLCAg
NDEzLCAgNDE0LCAgNDE0LCAgNDE0LCAgNDE0LCAgNDE1LA0KPiAtICAgICAgNDE1LCAgNDE1LCAg
NDE1LCAgNDE2LCAgNDE2LCAgNDE2LCAgNDE2LCAgNDE3LCAgNDE3LCAgNDE3LA0KPiAtICAgICAg
NDE3LCAgNDE4LCAgNDE4LCAgNDE4LCAgNDE4LCAgNDE5LCAgNDE5LCAgNDE5LCAgNDE5LCAgNDIw
LA0KPiAtICAgICAgNDIwLCAgNDIwLCAgNDIwLCAgNDIxLCAgNDIxLCAgNDIxLCAgNDIxLCAgNDIy
LCAgNDIyLCAgNDIyLA0KPiAtICAgICAgNDIyLCAgNDIzLCAgNDIzLCAgNDIzLCAgNDIzLCAgIDM2
LCAgIDI5LCAgIDI1LCAgIDIzLCAgIDE3LA0KPiAtDQo+IC0gICAgICAgIDYsICAgIDUsICAgIDQs
ICAgIDMsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsDQo+IC0gICAgICAzNTQs
ICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsDQo+
IC0gICAgICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAz
NTQsICAzNTQsDQo+IC0gICAgICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAz
NTQsICAzNTQsICAzNTQNCj4gKyAgICAgICAyNCwgICAyMiwgICAyNCwgICA0NywgICA0NywgICAy
MSwgICAyNiwgICA1MSwgICAxOSwgICAyNiwNCj4gKyAgICAgICAyMCwgICA1MSwgICAxOSwgICAy
NiwgICAyNiwgICAzMSwgICAzMSwgICAzMiwgICAzMiwgICAzMiwNCj4gKw0KPiArICAgICAgIDM5
LCAgIDMxLCAgIDM5LCAgIDQyLCAgIDMyLCAgIDM1LCAgIDM1LCAgIDM1LCAgIDM1LCAgIDQwLA0K
PiArICAgICAgIDQ0LCAgIDQ1LCAgIDM1LCAgIDM1LCAgIDM3LCAgIDM3LCAgIDM3LCAgIDM3LCAg
IDM3LCAgIDM5LA0KPiArICAgICAgIDQyLCAgIDM3LCAgIDM3LCAgIDQwLCAgIDQxLCAgIDQzLCAg
IDQxLCAgIDQ4LCAgIDQ1LCAgIDQ1LA0KPiArICAgICAgIDQ5LCAgIDQ0LCAgIDUwLCAgIDU1LCAg
IDU2LCAgIDUwLCAgIDQzLCAgIDUyLCAgIDQ4LCAgIDUyLA0KPiArICAgICAgIDUzLCAgIDU0LCAg
IDU3LCAgIDUzLCAgIDU4LCAgIDU5LCAgIDU0LCAgIDQ5LCAgIDU2LCAgIDYwLA0KPiArICAgICAg
IDYyLCAgIDYxLCAgIDcxLCAgIDYwLCAgIDYxLCAgIDcyLCAgIDcxLCAgIDU1LCAgIDc3LCAgIDk0
LA0KPiArICAgICAgIDU5LCAgIDU4LCAgIDU5LCAgIDcyLCAgIDU3LCAgIDY0LCAgIDY0LCAgIDYy
LCAgIDY3LCAgIDY3LA0KPiArICAgICAgIDczLCAgIDY0LCAgIDczLCAgIDc0LCAgIDY3LCAgIDc1
LCAgIDc2LCAgIDc3LCAgIDc4LCAgIDc5LA0KPiArICAgICAgIDk0LCAgIDc5LCAgIDc4LCAgIDc0
LCAgIDgwLCAgIDgyLCAgIDg0LCAgIDgwLCAgIDgxLCAgIDc1LA0KPiArICAgICAgIDc2LCAgIDgz
LCAgIDgxLCAgIDg1LCAgIDgzLCAgIDg5LCAgIDkxLCAgIDgyLCAgIDg0LCAgIDg2LA0KPiArDQo+
ICsgICAgICAgODgsICAgODYsICAgODgsICAgOTAsICAgOTEsICAgOTAsICAzNTcsICAxMDcsICAg
OTUsICAxMDcsDQo+ICsgICAgICAgOTMsICAgODUsICAgODcsICAgODcsICAgODcsICAgODcsICAg
OTMsICAgODksICAxMDAsICAgODcsDQo+ICsgICAgICAgODcsICAxMDEsICAxMDQsICAgODcsICAg
ODcsICAgOTIsICAgOTIsICAgOTUsICAgOTIsICAgOTYsDQo+ICsgICAgICAgOTYsICAgOTIsICAx
MDYsICAxMDMsICAxMDQsICAgOTYsICAxMDAsICAxMDMsICAxMDksICAxMTIsDQo+ICsgICAgICAx
MDksICAxMzksICAxMDEsICAxMDIsICAxMDIsICAxMDIsICAxMDIsICAxMDIsICAxMDUsICAxMDUs
DQo+ICsgICAgICAxMDIsICAxMDIsICAxMTMsICAxMTEsICAxMDUsICAxMzgsICAxMDYsICAxMTEs
ICAxMzksICAxMTIsDQo+ICsgICAgICAxMTMsICAxMTQsICAxMTQsICAxMTQsICAxMTQsICAxMTQs
ICAxMTUsICAxMTUsICAxMTQsICAxMTQsDQo+ICsgICAgICAxMTYsICAxMTYsICAxMTgsICAxMTgs
ICAxMzgsICAxMTgsICAxMTYsICAxMjMsICAxMTUsICAxMTcsDQo+ICsgICAgICAxMTcsICAxMTcs
ICAxMTcsICAxMTcsICAxMjAsICAxMjMsICAxMTcsICAxMTcsICAxMTksICAxMTksDQo+ICsgICAg
ICAxMTksICAxMTksICAxMTksICAxMjQsICAxMjcsICAxMTksICAxMTksICAxMjQsICAxMjEsICAx
MjAsDQo+ICsNCj4gKyAgICAgIDEyMSwgIDEyMiwgIDEyMiwgIDEyMiwgIDEyMiwgIDEyMiwgIDEy
NSwgIDEyNSwgIDEyMiwgIDEyMiwNCj4gKyAgICAgIDEyNiwgIDEyOCwgIDEyNywgIDEyOSwgIDEy
OSwgIDEyOCwgIDEzMSwgIDEzMSwgIDEyNiwgIDEyOSwNCj4gKyAgICAgIDEzMywgIDEzNCwgIDEz
MSwgIDEzNiwgIDEzNiwgIDEzNiwgIDEzNywgIDEzNCwgIDEzNiwgIDE0MSwNCj4gKyAgICAgIDE0
MywgIDM1MywgIDE0MywgIDEzMywgIDE0MiwgIDE2OCwgIDEzNiwgIDE2NywgIDE2NywgIDE1OCwN
Cj4gKyAgICAgIDE2OCwgIDEzNywgIDE0MCwgIDE0MCwgIDE0MCwgIDE0MCwgIDE0MCwgIDE0Miwg
IDE0MSwgIDE0MCwNCj4gKyAgICAgIDE0MCwgIDE0NCwgIDE0NCwgIDE0NiwgIDE0NiwgIDE0OCwg
IDE0OCwgIDE0NCwgIDE1OCwgIDE0NiwNCj4gKyAgICAgIDE0OSwgIDE0OSwgIDE1MCwgIDE1MCwg
IDE0OCwgIDE1MiwgIDE1MiwgIDE2NCwgIDE1MCwgIDE1NCwNCj4gKyAgICAgIDE1NCwgIDE1Miwg
IDE1NiwgIDE1NiwgIDE2MywgIDE1NCwgIDE0OSwgIDE2NiwgIDE1NiwgIDE1OSwNCj4gKyAgICAg
IDE1OSwgIDE2MSwgIDE2MSwgIDE2OSwgIDE2OSwgIDE1OSwgIDE2NCwgIDE2MSwgIDM1MSwgIDE2
OSwNCj4gKyAgICAgIDE3NCwgIDE2NiwgIDE2MywgIDE3NCwgIDE3NiwgIDE3NiwgIDE3NywgIDE3
NywgIDE3OCwgIDE3OCwNCj4gKw0KPiArICAgICAgMTc5LCAgMTgwLCAgMTgxLCAgMjE2LCAgMTc5
LCAgMTgxLCAgMTgwLCAgMzQ5LCAgMTc3LCAgMjE2LA0KPiArICAgICAgMTc4LCAgMTgyLCAgMTgy
LCAgMTg0LCAgMTg0LCAgMTc2LCAgMjI1LCAgMTgyLCAgMTg3LCAgMTg0LA0KPiArICAgICAgMTg2
LCAgMTg2LCAgMjI1LCAgMTg3LCAgMTg4LCAgMTg4LCAgMTg4LCAgMTg4LCAgMTg4LCAgMTg5LA0K
PiArICAgICAgMTg5LCAgMTg4LCAgMTg4LCAgMTk0LCAgMTk0LCAgMTg5LCAgMTk1LCAgMTk1LCAg
MTk2LCAgMTk2LA0KPiArICAgICAgMjAxLCAgMjAxLCAgMjA2LCAgMjA2LCAgMTk2LCAgMTk0LCAg
MjAxLCAgMjA3LCAgMjA3LCAgMjEyLA0KPiArICAgICAgMjEzLCAgMjEzLCAgMzA1LCAgMjA3LCAg
MjE4LCAgMjE4LCAgMjE5LCAgMjE5LCAgMzQ3LCAgMjEyLA0KPiArICAgICAgMjIwLCAgMjIwLCAg
MjIxLCAgMjIxLCAgMjIyLCAgMjIyLCAgMjIzLCAgMjIzLCAgMjI0LCAgMjI0LA0KPiArICAgICAg
MzQ0LCAgMjI2LCAgMjI2LCAgMjIwLCAgMjI0LCAgMzA1LCAgMjE5LCAgMjI2LCAgMjIxLCAgMjIy
LA0KPiArICAgICAgMjMyLCAgMjMyLCAgMjMzLCAgMjMzLCAgMjM1LCAgMjM1LCAgMjM3LCAgMjQ5
LCAgMjMzLCAgMjM4LA0KPiArICAgICAgMjM1LCAgMjM4LCAgMjM4LCAgMjk5LCAgMjM3LCAgMjM3
LCAgMjQwLCAgMjk5LCAgMjQwLCAgMjQxLA0KPiArDQo+ICsgICAgICAyNDEsICAyNDcsICAyNDcs
ICAyNTAsICAyNTAsICAyNTEsICAyNTEsICAyNDcsICAyNTIsICAyNTIsDQo+ICsgICAgICAyNTMs
ICAyNDksICAyNTQsICAyNTQsICAyODIsICAyNTAsICAyNjUsICAyNjUsICAyNTMsICAyNTMsDQo+
ICsgICAgICAyNTgsICAyNTgsICAyNTEsICAyODIsICAyNTQsICAyNTIsICAyNTgsICAyNTksICAy
NTksICAyNzMsDQo+ICsgICAgICAyNzMsICAyNjUsICAyNzYsICAyNTksICAyNjgsICAyNjgsICAy
NjgsICAyNjgsICAyNjgsICAyNzcsDQo+ICsgICAgICAyNzcsICAyNjgsICAyNjgsICAyODMsICAz
NDIsICAyNzMsICAyNzgsICAyNzYsICAyNzksICAyNzgsDQo+ICsgICAgICAyNzgsICAyNzksICAy
NzksICAyODQsICAyNzcsICAyODcsICAyODcsICAyODMsICAyODgsICAyODgsDQo+ICsgICAgICAy
ODQsICAyODQsICAyOTEsICAyOTEsICAyOTMsICAyOTMsICAyOTYsICAyOTYsICAyOTEsICAzMDYs
DQo+ICsgICAgICAyOTMsICAyODcsICAzMDAsICAzMDAsICAyOTYsICAzMDcsICAzMDcsICAzMDgs
ICAzMDgsICAzMDksDQo+ICsgICAgICAzMTAsICAzMTAsICAzMTYsICAzMTYsICAzMjIsICAzMDgs
ICAzMTAsICAzMDksICAzMDksICAzMDAsDQo+ICsgICAgICAzMjMsICAzMDcsICAzMTUsICAzMDYs
ICAzMTcsICAzMTUsICAzMTUsICAzMTcsICAzMTcsICAzMjQsDQo+ICsNCj4gKyAgICAgIDMzNCwg
IDMyNCwgIDMyNCwgIDM0MCwgIDMyMiwgIDMyNSwgIDMyMywgIDMzOCwgIDMyNSwgIDMyNSwNCj4g
KyAgICAgIDMzNiwgIDMzNiwgIDM1NiwgIDMzNiwgIDM0NiwgIDM0NiwgIDM0NiwgIDMzNywgIDMz
NCwgIDMzNSwNCj4gKyAgICAgIDM1NiwgIDM1NiwgIDM2MSwgIDM2MSwgIDM2MSwgIDM2MSwgIDM2
MiwgIDM2MiwgIDM2MiwgIDM2MywNCj4gKyAgICAgIDM2MywgIDM2MywgIDM2MywgIDM2NCwgIDM2
NCwgIDM2NCwgIDM2NCwgIDM2NSwgIDMzMiwgIDM2NSwNCj4gKyAgICAgIDM2NSwgIDM2NiwgIDM2
NiwgIDM2NiwgIDM2NiwgIDM2NywgIDMzMCwgIDM2NywgIDM2NywgIDM2OCwNCj4gKyAgICAgIDM2
OCwgIDM2OCwgIDM2OCwgIDM2OSwgIDM2OSwgIDMyOSwgIDM2OSwgIDM3MCwgIDM3MCwgIDM3MCwN
Cj4gKyAgICAgIDM3MCwgIDM3MSwgIDMyOCwgIDM3MSwgIDM3MSwgIDM3MiwgIDM3MiwgIDM3Miwg
IDM3MiwgIDM3MywNCj4gKyAgICAgIDM3MywgIDM3MywgIDM3MywgIDM3NCwgIDM3NCwgIDM3NCwg
IDM3NCwgIDM3NSwgIDM3NSwgIDM3NSwNCj4gKyAgICAgIDM3NSwgIDM3NiwgIDM3NiwgIDM3Niwg
IDM3NiwgIDM3NywgIDM3NywgIDM3NywgIDM3NywgIDM3OCwNCj4gKyAgICAgIDMyNywgIDM3OCwg
IDM3OCwgIDM3OSwgIDM3OSwgIDM3OSwgIDM3OSwgIDM4MCwgIDM4MCwgIDM4MCwNCj4gKw0KPiAr
ICAgICAgMzgwLCAgMzgxLCAgMzIwLCAgMzgxLCAgMzgxLCAgMzgyLCAgMzgyLCAgMzgyLCAgMzgy
LCAgMzgzLA0KPiArICAgICAgMzE4LCAgMzgzLCAgMzgzLCAgMzg0LCAgMzg0LCAgMzg0LCAgMzg0
LCAgMzg1LCAgMzAzLCAgMzg1LA0KPiArICAgICAgMzg1LCAgMzg2LCAgMzg2LCAgMzg2LCAgMzg2
LCAgMzg3LCAgMzAyLCAgMzg3LCAgMzg3LCAgMzg4LA0KPiArICAgICAgMzg4LCAgMzg4LCAgMzg4
LCAgMzg5LCAgMzAxLCAgMzg5LCAgMzg5LCAgMzkwLCAgMzkwLCAgMzkwLA0KPiArICAgICAgMzkw
LCAgMzkxLCAgMjk3LCAgMzkxLCAgMzkxLCAgMzkyLCAgMzkyLCAgMzkyLCAgMzkyLCAgMzkzLA0K
PiArICAgICAgMjg5LCAgMzkzLCAgMzkzLCAgMzk0LCAgMjg1LCAgMzk0LCAgMzk0LCAgMzk1LCAg
MjgwLCAgMzk1LA0KPiArICAgICAgMzk1LCAgMzk2LCAgMjc0LCAgMzk2LCAgMzk2LCAgMzk3LCAg
Mzk3LCAgMzk3LCAgMzk3LCAgMzk4LA0KPiArICAgICAgMzk4LCAgMzk4LCAgMzk4LCAgMzk5LCAg
MjcxLCAgMzk5LCAgMzk5LCAgNDAwLCAgNDAwLCAgNDAwLA0KPiArICAgICAgNDAwLCAgNDAxLCAg
NDAxLCAgNDAxLCAgNDAxLCAgNDAyLCAgMjY5LCAgNDAyLCAgNDAyLCAgNDAzLA0KPiArICAgICAg
NDAzLCAgNDAzLCAgNDAzLCAgNDA0LCAgNDA0LCAgNDA0LCAgNDA0LCAgNDA1LCAgNDA1LCAgNDA1
LA0KPiArDQo+ICsgICAgICA0MDUsICA0MDYsICA0MDYsICA0MDYsICA0MDYsICA0MDcsICA0MDcs
ICA0MDcsICA0MDcsICA0MDgsDQo+ICsgICAgICA0MDgsICA0MDgsICA0MDgsICA0MDksICAyNjYs
ICA0MDksICA0MDksICA0MTAsICA0MTAsICA0MTAsDQo+ICsgICAgICA0MTAsICA0MTEsICA0MTEs
ICA0MTEsICA0MTEsICA0MTIsICAyNTYsICA0MTIsICA0MTIsICA0MTMsDQo+ICsgICAgICA0MTMs
ICA0MTMsICA0MTMsICA0MTQsICA0MTQsICA0MTQsICA0MTQsICA0MTUsICA0MTUsICA0MTUsDQo+
ICsgICAgICA0MTUsICA0MTYsICAyNDgsICA0MTYsICA0MTYsICA0MTcsICA0MTcsICA0MTcsICA0
MTcsICA0MTgsDQo+ICsgICAgICA0MTgsICA0MTgsICA0MTgsICA0MTksICAyNDUsICA0MTksICA0
MTksICA0MjAsICA0MjAsICA0MjAsDQo+ICsgICAgICA0MjAsICA0MjEsICA0MjEsICA0MjEsICA0
MjEsICA0MjIsICA0MjIsICA0MjIsICA0MjIsICA0MjMsDQo+ICsgICAgICA0MjMsICA0MjMsICA0
MjMsICA0MjQsICA0MjQsICA0MjQsICA0MjQsICA0MjUsICA0MjUsICA0MjUsDQo+ICsgICAgICA0
MjUsICA0MjYsICA0MjYsICA0MjYsICA0MjYsICA0MjcsICA0MjcsICA0MjcsICA0MjcsICA0Mjgs
DQo+ICsgICAgICA0MjgsICA0MjgsICA0MjgsICA0MjksICA0MjksICA0MjksICA0MjksICAyNDIs
ICAyMzksICAyMzEsDQo+ICsNCj4gKyAgICAgIDIxNywgIDIxNCwgIDE2NSwgIDExMCwgIDEwOCwg
ICA3MCwgICAzNiwgICAyOSwgICAyNSwgICAyMywNCj4gKyAgICAgICAxNywgICAgNiwgICAgNSwg
ICAgNCwgICAgMywgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwNCj4gKyAgICAgIDM2MCwg
IDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwNCj4g
KyAgICAgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2
MCwgIDM2MCwNCj4gKyAgICAgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2
MCwgIDM2MCwgIDM2MCwgIDM2MA0KPiAgICAgIH0gOw0KPiANCj4gICNkZWZpbmUgWVlfVFJBSUxJ
TkdfTUFTSyAweDIwMDANCj4gQEAgLTExOTksOSArMTIwMyw5IEBAIHN0YXRpYyBpbnQgdmRldl9h
bmRfZGV2dHlwZShEaXNrUGFyc2VDb250ZXh0ICpkcGMsDQo+IGNoYXIgKnN0cikgew0KPiAgI3Vu
ZGVmIERQQyAvKiBuZWVkcyB0byBiZSBkZWZpbmVkIGRpZmZlcmVudGx5IHRoZSBhY3R1YWwgbGV4
ZXIgKi8NCj4gICNkZWZpbmUgRFBDICgoRGlza1BhcnNlQ29udGV4dCopeXlleHRyYSkNCj4gDQo+
IC0jbGluZSAxMjAyICJsaWJ4bHVfZGlza19sLmMiDQo+ICsjbGluZSAxMjA2ICJsaWJ4bHVfZGlz
a19sLmMiDQo+IA0KPiAtI2xpbmUgMTIwNCAibGlieGx1X2Rpc2tfbC5jIg0KPiArI2xpbmUgMTIw
OCAibGlieGx1X2Rpc2tfbC5jIg0KPiANCj4gICNkZWZpbmUgSU5JVElBTCAwDQo+ICAjZGVmaW5l
IExFWEVSUiAxDQo+IEBAIC0xNDgzLDcgKzE0ODcsNyBAQCBZWV9ERUNMDQo+ICAjbGluZSAxODAg
ImxpYnhsdV9kaXNrX2wubCINCj4gICAvKi0tLS0tIHRoZSBzY2FubmVyIHJ1bGVzIHdoaWNoIGRv
IHRoZSBwYXJzaW5nIC0tLS0tKi8NCj4gDQo+IC0jbGluZSAxNDg2ICJsaWJ4bHVfZGlza19sLmMi
DQo+ICsjbGluZSAxNDkwICJsaWJ4bHVfZGlza19sLmMiDQo+IA0KPiAgCXdoaWxlICggLypDT05T
VENPTkQqLzEgKQkJLyogbG9vcHMgdW50aWwgZW5kLW9mLWZpbGUgaXMNCj4gcmVhY2hlZCAqLw0K
PiAgCQl7DQo+IEBAIC0xNTE1LDE0ICsxNTE5LDE0IEBAIHl5X21hdGNoOg0KPiAgCQkJd2hpbGUg
KCB5eV9jaGtbeXlfYmFzZVt5eV9jdXJyZW50X3N0YXRlXSArIHl5X2NdICE9DQo+IHl5X2N1cnJl
bnRfc3RhdGUgKQ0KPiAgCQkJCXsNCj4gIAkJCQl5eV9jdXJyZW50X3N0YXRlID0gKGludCkgeXlf
ZGVmW3l5X2N1cnJlbnRfc3RhdGVdOw0KPiAtCQkJCWlmICggeXlfY3VycmVudF9zdGF0ZSA+PSAz
NTUgKQ0KPiArCQkJCWlmICggeXlfY3VycmVudF9zdGF0ZSA+PSAzNjEgKQ0KPiAgCQkJCQl5eV9j
ID0geXlfbWV0YVt5eV9jXTsNCj4gIAkJCQl9DQo+ICAJCQl5eV9jdXJyZW50X3N0YXRlID0geXlf
bnh0W3l5X2Jhc2VbeXlfY3VycmVudF9zdGF0ZV0gKw0KPiB5eV9jXTsNCj4gIAkJCSp5eWctPnl5
X3N0YXRlX3B0cisrID0geXlfY3VycmVudF9zdGF0ZTsNCj4gIAkJCSsreXlfY3A7DQo+ICAJCQl9
DQo+IC0JCXdoaWxlICggeXlfY3VycmVudF9zdGF0ZSAhPSAzNTQgKTsNCj4gKwkJd2hpbGUgKCB5
eV9jdXJyZW50X3N0YXRlICE9IDM2MCApOw0KPiANCj4gIHl5X2ZpbmRfYWN0aW9uOg0KPiAgCQl5
eV9jdXJyZW50X3N0YXRlID0gKi0teXlnLT55eV9zdGF0ZV9wdHI7DQo+IEBAIC0xNjQ4LDc2ICsx
NjUyLDgxIEBAIFlZX1JVTEVfU0VUVVANCj4gICNsaW5lIDIwMSAibGlieGx1X2Rpc2tfbC5sIg0K
PiAgeyBsaWJ4bF9kZWZib29sX3NldCgmRFBDLT5kaXNrLT5kaXNjYXJkX2VuYWJsZSwgZmFsc2Up
OyB9DQo+ICAJWVlfQlJFQUsNCj4gLS8qIE5vdGUgdGhhdCB0aGUgQ09MTyBjb25maWd1cmF0aW9u
IHNldHRpbmdzIHNob3VsZCBiZSBjb25zaWRlcmVkDQo+IHVuc3RhYmxlLg0KPiAtICAqIFRoZXkg
bWF5IGNoYW5nZSBpbmNvbXBhdGlibHkgaW4gZnV0dXJlIHZlcnNpb25zIG9mIFhlbi4gKi8NCj4g
IGNhc2UgMTU6DQo+ICBZWV9SVUxFX1NFVFVQDQo+IC0jbGluZSAyMDQgImxpYnhsdV9kaXNrX2wu
bCINCj4gLXsgbGlieGxfZGVmYm9vbF9zZXQoJkRQQy0+ZGlzay0+Y29sb19lbmFibGUsIHRydWUp
OyB9DQo+ICsjbGluZSAyMDIgImxpYnhsdV9kaXNrX2wubCINCj4gK3sgRFBDLT5kaXNrLT52aXJ0
aW8gPSAxOyB9DQo+ICAJWVlfQlJFQUsNCj4gKy8qIE5vdGUgdGhhdCB0aGUgQ09MTyBjb25maWd1
cmF0aW9uIHNldHRpbmdzIHNob3VsZCBiZSBjb25zaWRlcmVkDQo+IHVuc3RhYmxlLg0KPiArICAq
IFRoZXkgbWF5IGNoYW5nZSBpbmNvbXBhdGlibHkgaW4gZnV0dXJlIHZlcnNpb25zIG9mIFhlbi4g
Ki8NCj4gIGNhc2UgMTY6DQo+ICBZWV9SVUxFX1NFVFVQDQo+ICAjbGluZSAyMDUgImxpYnhsdV9k
aXNrX2wubCINCj4gLXsgbGlieGxfZGVmYm9vbF9zZXQoJkRQQy0+ZGlzay0+Y29sb19lbmFibGUs
IGZhbHNlKTsgfQ0KPiAreyBsaWJ4bF9kZWZib29sX3NldCgmRFBDLT5kaXNrLT5jb2xvX2VuYWJs
ZSwgdHJ1ZSk7IH0NCj4gIAlZWV9CUkVBSw0KPiAgY2FzZSAxNzoNCj4gLS8qIHJ1bGUgMTcgY2Fu
IG1hdGNoIGVvbCAqLw0KPiAgWVlfUlVMRV9TRVRVUA0KPiAgI2xpbmUgMjA2ICJsaWJ4bHVfZGlz
a19sLmwiDQo+IC17IFNUUklQKCcsJyk7IFNBVkVTVFJJTkcoImNvbG8taG9zdCIsIGNvbG9faG9z
dCwgRlJPTUVRVUFMUyk7IH0NCj4gK3sgbGlieGxfZGVmYm9vbF9zZXQoJkRQQy0+ZGlzay0+Y29s
b19lbmFibGUsIGZhbHNlKTsgfQ0KPiAgCVlZX0JSRUFLDQo+ICBjYXNlIDE4Og0KPiAgLyogcnVs
ZSAxOCBjYW4gbWF0Y2ggZW9sICovDQo+ICBZWV9SVUxFX1NFVFVQDQo+ICAjbGluZSAyMDcgImxp
YnhsdV9kaXNrX2wubCINCj4gLXsgU1RSSVAoJywnKTsgc2V0Y29sb3BvcnQoRFBDLCBGUk9NRVFV
QUxTKTsgfQ0KPiAreyBTVFJJUCgnLCcpOyBTQVZFU1RSSU5HKCJjb2xvLWhvc3QiLCBjb2xvX2hv
c3QsIEZST01FUVVBTFMpOyB9DQo+ICAJWVlfQlJFQUsNCj4gIGNhc2UgMTk6DQo+ICAvKiBydWxl
IDE5IGNhbiBtYXRjaCBlb2wgKi8NCj4gIFlZX1JVTEVfU0VUVVANCj4gICNsaW5lIDIwOCAibGli
eGx1X2Rpc2tfbC5sIg0KPiAteyBTVFJJUCgnLCcpOyBTQVZFU1RSSU5HKCJjb2xvLWV4cG9ydCIs
IGNvbG9fZXhwb3J0LCBGUk9NRVFVQUxTKTsgfQ0KPiAreyBTVFJJUCgnLCcpOyBzZXRjb2xvcG9y
dChEUEMsIEZST01FUVVBTFMpOyB9DQo+ICAJWVlfQlJFQUsNCj4gIGNhc2UgMjA6DQo+ICAvKiBy
dWxlIDIwIGNhbiBtYXRjaCBlb2wgKi8NCj4gIFlZX1JVTEVfU0VUVVANCj4gICNsaW5lIDIwOSAi
bGlieGx1X2Rpc2tfbC5sIg0KPiAteyBTVFJJUCgnLCcpOyBTQVZFU1RSSU5HKCJhY3RpdmUtZGlz
ayIsIGFjdGl2ZV9kaXNrLCBGUk9NRVFVQUxTKTsgfQ0KPiAreyBTVFJJUCgnLCcpOyBTQVZFU1RS
SU5HKCJjb2xvLWV4cG9ydCIsIGNvbG9fZXhwb3J0LCBGUk9NRVFVQUxTKTsgfQ0KPiAgCVlZX0JS
RUFLDQo+ICBjYXNlIDIxOg0KPiAgLyogcnVsZSAyMSBjYW4gbWF0Y2ggZW9sICovDQo+ICBZWV9S
VUxFX1NFVFVQDQo+ICAjbGluZSAyMTAgImxpYnhsdV9kaXNrX2wubCINCj4gK3sgU1RSSVAoJywn
KTsgU0FWRVNUUklORygiYWN0aXZlLWRpc2siLCBhY3RpdmVfZGlzaywgRlJPTUVRVUFMUyk7IH0N
Cj4gKwlZWV9CUkVBSw0KPiArY2FzZSAyMjoNCj4gKy8qIHJ1bGUgMjIgY2FuIG1hdGNoIGVvbCAq
Lw0KPiArWVlfUlVMRV9TRVRVUA0KPiArI2xpbmUgMjExICJsaWJ4bHVfZGlza19sLmwiDQo+ICB7
IFNUUklQKCcsJyk7IFNBVkVTVFJJTkcoImhpZGRlbi1kaXNrIiwgaGlkZGVuX2Rpc2ssIEZST01F
UVVBTFMpOyB9DQo+ICAJWVlfQlJFQUsNCj4gIC8qIHRoZSB0YXJnZXQgbWFnaWMgcGFyYW1ldGVy
LCBlYXRzIHRoZSByZXN0IG9mIHRoZSBzdHJpbmcgKi8NCj4gLWNhc2UgMjI6DQo+ICtjYXNlIDIz
Og0KPiAgWVlfUlVMRV9TRVRVUA0KPiAtI2xpbmUgMjE0ICJsaWJ4bHVfZGlza19sLmwiDQo+ICsj
bGluZSAyMTUgImxpYnhsdV9kaXNrX2wubCINCj4gIHsgU1RSSVAoJywnKTsgU0FWRVNUUklORygi
dGFyZ2V0IiwgcGRldl9wYXRoLCBGUk9NRVFVQUxTKTsgfQ0KPiAgCVlZX0JSRUFLDQo+ICAvKiB1
bmtub3duIHBhcmFtZXRlcnMgKi8NCj4gLWNhc2UgMjM6DQo+IC0vKiBydWxlIDIzIGNhbiBtYXRj
aCBlb2wgKi8NCj4gK2Nhc2UgMjQ6DQo+ICsvKiBydWxlIDI0IGNhbiBtYXRjaCBlb2wgKi8NCj4g
IFlZX1JVTEVfU0VUVVANCj4gLSNsaW5lIDIxOCAibGlieGx1X2Rpc2tfbC5sIg0KPiArI2xpbmUg
MjE5ICJsaWJ4bHVfZGlza19sLmwiDQo+ICB7IHhsdV9fZGlza19lcnIoRFBDLHl5dGV4dCwidW5r
bm93biBwYXJhbWV0ZXIiKTsgfQ0KPiAgCVlZX0JSRUFLDQo+ICAvKiBkZXByZWNhdGVkIHByZWZp
eGVzICovDQo+ICAvKiB0aGUgIi8uKiIgaW4gdGhlc2UgcGF0dGVybnMgZW5zdXJlcyB0aGF0IHRo
ZXkgY291bnQgYXMgaWYgdGhleQ0KPiAgICAgKiBtYXRjaGVkIHRoZSB3aG9sZSBzdHJpbmcsIHNv
IHRoZXNlIHBhdHRlcm5zIHRha2UgcHJlY2VkZW5jZSAqLw0KPiAtY2FzZSAyNDoNCj4gK2Nhc2Ug
MjU6DQo+ICBZWV9SVUxFX1NFVFVQDQo+IC0jbGluZSAyMjUgImxpYnhsdV9kaXNrX2wubCINCj4g
KyNsaW5lIDIyNiAibGlieGx1X2Rpc2tfbC5sIg0KPiAgew0KPiAgICAgICAgICAgICAgICAgICAg
ICBTVFJJUCgnOicpOw0KPiAgICAgICAgICAgICAgICAgICAgICBEUEMtPmhhZF9kZXByX3ByZWZp
eD0xOyBERVBSRUNBVEUoInVzZQ0KPiBgW2Zvcm1hdD1dLi4uLCciKTsNCj4gICAgICAgICAgICAg
ICAgICAgICAgc2V0Zm9ybWF0KERQQywgeXl0ZXh0KTsNCj4gICAgICAgICAgICAgICAgICAgfQ0K
PiAgCVlZX0JSRUFLDQo+IC1jYXNlIDI1Og0KPiArY2FzZSAyNjoNCj4gIFlZX1JVTEVfU0VUVVAN
Cj4gLSNsaW5lIDIzMSAibGlieGx1X2Rpc2tfbC5sIg0KPiArI2xpbmUgMjMyICJsaWJ4bHVfZGlz
a19sLmwiDQo+ICB7DQo+ICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKm5ld3NjcmlwdDsNCj4g
ICAgICAgICAgICAgICAgICAgICAgU1RSSVAoJzonKTsNCj4gQEAgLTE3MzEsMzAgKzE3NDAsMjIg
QEAgWVlfUlVMRV9TRVRVUA0KPiAgICAgICAgICAgICAgICAgICAgICBmcmVlKG5ld3NjcmlwdCk7
DQo+ICAgICAgICAgICAgICAgICAgfQ0KPiAgCVlZX0JSRUFLDQo+IC1jYXNlIDI2Og0KPiArY2Fz
ZSAyNzoNCj4gICp5eV9jcCA9IHl5Zy0+eXlfaG9sZF9jaGFyOyAvKiB1bmRvIGVmZmVjdHMgb2Yg
c2V0dGluZyB1cCB5eXRleHQgKi8NCj4gIHl5Zy0+eXlfY19idWZfcCA9IHl5X2NwID0geXlfYnAg
KyA4Ow0KPiAgWVlfRE9fQkVGT1JFX0FDVElPTjsgLyogc2V0IHVwIHl5dGV4dCBhZ2FpbiAqLw0K
PiAgWVlfUlVMRV9TRVRVUA0KPiAtI2xpbmUgMjQ0ICJsaWJ4bHVfZGlza19sLmwiDQo+IC17IERQ
Qy0+aGFkX2RlcHJfcHJlZml4PTE7IERFUFJFQ0FURSgwKTsgfQ0KPiAtCVlZX0JSRUFLDQo+IC1j
YXNlIDI3Og0KPiAtWVlfUlVMRV9TRVRVUA0KPiAgI2xpbmUgMjQ1ICJsaWJ4bHVfZGlza19sLmwi
DQo+ICB7IERQQy0+aGFkX2RlcHJfcHJlZml4PTE7IERFUFJFQ0FURSgwKTsgfQ0KPiAgCVlZX0JS
RUFLDQo+ICBjYXNlIDI4Og0KPiAtKnl5X2NwID0geXlnLT55eV9ob2xkX2NoYXI7IC8qIHVuZG8g
ZWZmZWN0cyBvZiBzZXR0aW5nIHVwIHl5dGV4dCAqLw0KPiAteXlnLT55eV9jX2J1Zl9wID0geXlf
Y3AgPSB5eV9icCArIDQ7DQo+IC1ZWV9ET19CRUZPUkVfQUNUSU9OOyAvKiBzZXQgdXAgeXl0ZXh0
IGFnYWluICovDQo+ICBZWV9SVUxFX1NFVFVQDQo+ICAjbGluZSAyNDYgImxpYnhsdV9kaXNrX2wu
bCINCj4gIHsgRFBDLT5oYWRfZGVwcl9wcmVmaXg9MTsgREVQUkVDQVRFKDApOyB9DQo+ICAJWVlf
QlJFQUsNCj4gIGNhc2UgMjk6DQo+ICAqeXlfY3AgPSB5eWctPnl5X2hvbGRfY2hhcjsgLyogdW5k
byBlZmZlY3RzIG9mIHNldHRpbmcgdXAgeXl0ZXh0ICovDQo+IC15eWctPnl5X2NfYnVmX3AgPSB5
eV9jcCA9IHl5X2JwICsgNjsNCj4gK3l5Zy0+eXlfY19idWZfcCA9IHl5X2NwID0geXlfYnAgKyA0
Ow0KPiAgWVlfRE9fQkVGT1JFX0FDVElPTjsgLyogc2V0IHVwIHl5dGV4dCBhZ2FpbiAqLw0KPiAg
WVlfUlVMRV9TRVRVUA0KPiAgI2xpbmUgMjQ3ICJsaWJ4bHVfZGlza19sLmwiDQo+IEBAIC0xNzYy
LDcgKzE3NjMsNyBAQCBZWV9SVUxFX1NFVFVQDQo+ICAJWVlfQlJFQUsNCj4gIGNhc2UgMzA6DQo+
ICAqeXlfY3AgPSB5eWctPnl5X2hvbGRfY2hhcjsgLyogdW5kbyBlZmZlY3RzIG9mIHNldHRpbmcg
dXAgeXl0ZXh0ICovDQo+IC15eWctPnl5X2NfYnVmX3AgPSB5eV9jcCA9IHl5X2JwICsgNTsNCj4g
K3l5Zy0+eXlfY19idWZfcCA9IHl5X2NwID0geXlfYnAgKyA2Ow0KPiAgWVlfRE9fQkVGT1JFX0FD
VElPTjsgLyogc2V0IHVwIHl5dGV4dCBhZ2FpbiAqLw0KPiAgWVlfUlVMRV9TRVRVUA0KPiAgI2xp
bmUgMjQ4ICJsaWJ4bHVfZGlza19sLmwiDQo+IEBAIC0xNzcwLDI2ICsxNzcxLDM0IEBAIFlZX1JV
TEVfU0VUVVANCj4gIAlZWV9CUkVBSw0KPiAgY2FzZSAzMToNCj4gICp5eV9jcCA9IHl5Zy0+eXlf
aG9sZF9jaGFyOyAvKiB1bmRvIGVmZmVjdHMgb2Ygc2V0dGluZyB1cCB5eXRleHQgKi8NCj4gLXl5
Zy0+eXlfY19idWZfcCA9IHl5X2NwID0geXlfYnAgKyA0Ow0KPiAreXlnLT55eV9jX2J1Zl9wID0g
eXlfY3AgPSB5eV9icCArIDU7DQo+ICBZWV9ET19CRUZPUkVfQUNUSU9OOyAvKiBzZXQgdXAgeXl0
ZXh0IGFnYWluICovDQo+ICBZWV9SVUxFX1NFVFVQDQo+ICAjbGluZSAyNDkgImxpYnhsdV9kaXNr
X2wubCINCj4gIHsgRFBDLT5oYWRfZGVwcl9wcmVmaXg9MTsgREVQUkVDQVRFKDApOyB9DQo+ICAJ
WVlfQlJFQUsNCj4gIGNhc2UgMzI6DQo+IC0vKiBydWxlIDMyIGNhbiBtYXRjaCBlb2wgKi8NCj4g
Kyp5eV9jcCA9IHl5Zy0+eXlfaG9sZF9jaGFyOyAvKiB1bmRvIGVmZmVjdHMgb2Ygc2V0dGluZyB1
cCB5eXRleHQgKi8NCj4gK3l5Zy0+eXlfY19idWZfcCA9IHl5X2NwID0geXlfYnAgKyA0Ow0KPiAr
WVlfRE9fQkVGT1JFX0FDVElPTjsgLyogc2V0IHVwIHl5dGV4dCBhZ2FpbiAqLw0KPiArWVlfUlVM
RV9TRVRVUA0KPiArI2xpbmUgMjUwICJsaWJ4bHVfZGlza19sLmwiDQo+ICt7IERQQy0+aGFkX2Rl
cHJfcHJlZml4PTE7IERFUFJFQ0FURSgwKTsgfQ0KPiArCVlZX0JSRUFLDQo+ICtjYXNlIDMzOg0K
PiArLyogcnVsZSAzMyBjYW4gbWF0Y2ggZW9sICovDQo+ICBZWV9SVUxFX1NFVFVQDQo+IC0jbGlu
ZSAyNTEgImxpYnhsdV9kaXNrX2wubCINCj4gKyNsaW5lIDI1MiAibGlieGx1X2Rpc2tfbC5sIg0K
PiAgew0KPiAgCQkgIHhsdV9fZGlza19lcnIoRFBDLHl5dGV4dCwidW5rbm93biBkZXByZWNhdGVk
IGRpc2sgcHJlZml4Iik7DQo+ICAJCSAgcmV0dXJuIDA7DQo+ICAJCX0NCj4gIAlZWV9CUkVBSw0K
PiAgLyogcG9zaXRpb25hbCBwYXJhbWV0ZXJzICovDQo+IC1jYXNlIDMzOg0KPiAtLyogcnVsZSAz
MyBjYW4gbWF0Y2ggZW9sICovDQo+ICtjYXNlIDM0Og0KPiArLyogcnVsZSAzNCBjYW4gbWF0Y2gg
ZW9sICovDQo+ICBZWV9SVUxFX1NFVFVQDQo+IC0jbGluZSAyNTggImxpYnhsdV9kaXNrX2wubCIN
Cj4gKyNsaW5lIDI1OSAibGlieGx1X2Rpc2tfbC5sIg0KPiAgew0KPiAgICAgIFNUUklQKCcsJyk7
DQo+IA0KPiBAQCAtMTgxNiwyNyArMTgyNSwyNyBAQCBZWV9SVUxFX1NFVFVQDQo+ICAgICAgfQ0K
PiAgfQ0KPiAgCVlZX0JSRUFLDQo+IC1jYXNlIDM0Og0KPiArY2FzZSAzNToNCj4gIFlZX1JVTEVf
U0VUVVANCj4gLSNsaW5lIDI4NCAibGlieGx1X2Rpc2tfbC5sIg0KPiArI2xpbmUgMjg1ICJsaWJ4
bHVfZGlza19sLmwiDQo+ICB7DQo+ICAgICAgQkVHSU4oTEVYRVJSKTsNCj4gICAgICB5eW1vcmUo
KTsNCj4gIH0NCj4gIAlZWV9CUkVBSw0KPiAtY2FzZSAzNToNCj4gK2Nhc2UgMzY6DQo+ICBZWV9S
VUxFX1NFVFVQDQo+IC0jbGluZSAyODggImxpYnhsdV9kaXNrX2wubCINCj4gKyNsaW5lIDI4OSAi
bGlieGx1X2Rpc2tfbC5sIg0KPiAgew0KPiAgICAgIHhsdV9fZGlza19lcnIoRFBDLHl5dGV4dCwi
YmFkIGRpc2sgc3ludGF4Iik7IHJldHVybiAwOw0KPiAgfQ0KPiAgCVlZX0JSRUFLDQo+IC1jYXNl
IDM2Og0KPiArY2FzZSAzNzoNCj4gIFlZX1JVTEVfU0VUVVANCj4gLSNsaW5lIDI5MSAibGlieGx1
X2Rpc2tfbC5sIg0KPiArI2xpbmUgMjkyICJsaWJ4bHVfZGlza19sLmwiDQo+ICBZWV9GQVRBTF9F
UlJPUiggImZsZXggc2Nhbm5lciBqYW1tZWQiICk7DQo+ICAJWVlfQlJFQUsNCj4gLSNsaW5lIDE4
MzkgImxpYnhsdV9kaXNrX2wuYyINCj4gKyNsaW5lIDE4NDggImxpYnhsdV9kaXNrX2wuYyINCj4g
IAkJCWNhc2UgWVlfU1RBVEVfRU9GKElOSVRJQUwpOg0KPiAgCQkJY2FzZSBZWV9TVEFURV9FT0Yo
TEVYRVJSKToNCj4gIAkJCQl5eXRlcm1pbmF0ZSgpOw0KPiBAQCAtMjEwNCw3ICsyMTEzLDcgQEAg
c3RhdGljIGludCB5eV9nZXRfbmV4dF9idWZmZXIgKHl5c2Nhbl90IHl5c2Nhbm5lcikNCj4gIAkJ
d2hpbGUgKCB5eV9jaGtbeXlfYmFzZVt5eV9jdXJyZW50X3N0YXRlXSArIHl5X2NdICE9DQo+IHl5
X2N1cnJlbnRfc3RhdGUgKQ0KPiAgCQkJew0KPiAgCQkJeXlfY3VycmVudF9zdGF0ZSA9IChpbnQp
IHl5X2RlZlt5eV9jdXJyZW50X3N0YXRlXTsNCj4gLQkJCWlmICggeXlfY3VycmVudF9zdGF0ZSA+
PSAzNTUgKQ0KPiArCQkJaWYgKCB5eV9jdXJyZW50X3N0YXRlID49IDM2MSApDQo+ICAJCQkJeXlf
YyA9IHl5X21ldGFbeXlfY107DQo+ICAJCQl9DQo+ICAJCXl5X2N1cnJlbnRfc3RhdGUgPSB5eV9u
eHRbeXlfYmFzZVt5eV9jdXJyZW50X3N0YXRlXSArIHl5X2NdOw0KPiBAQCAtMjEyOCwxMSArMjEz
NywxMSBAQCBzdGF0aWMgaW50IHl5X2dldF9uZXh0X2J1ZmZlciAoeXlzY2FuX3QgeXlzY2FubmVy
KQ0KPiAgCXdoaWxlICggeXlfY2hrW3l5X2Jhc2VbeXlfY3VycmVudF9zdGF0ZV0gKyB5eV9jXSAh
PQ0KPiB5eV9jdXJyZW50X3N0YXRlICkNCj4gIAkJew0KPiAgCQl5eV9jdXJyZW50X3N0YXRlID0g
KGludCkgeXlfZGVmW3l5X2N1cnJlbnRfc3RhdGVdOw0KPiAtCQlpZiAoIHl5X2N1cnJlbnRfc3Rh
dGUgPj0gMzU1ICkNCj4gKwkJaWYgKCB5eV9jdXJyZW50X3N0YXRlID49IDM2MSApDQo+ICAJCQl5
eV9jID0geXlfbWV0YVt5eV9jXTsNCj4gIAkJfQ0KPiAgCXl5X2N1cnJlbnRfc3RhdGUgPSB5eV9u
eHRbeXlfYmFzZVt5eV9jdXJyZW50X3N0YXRlXSArIHl5X2NdOw0KPiAtCXl5X2lzX2phbSA9ICh5
eV9jdXJyZW50X3N0YXRlID09IDM1NCk7DQo+ICsJeXlfaXNfamFtID0gKHl5X2N1cnJlbnRfc3Rh
dGUgPT0gMzYwKTsNCj4gIAlpZiAoICEgeXlfaXNfamFtICkNCj4gIAkJKnl5Zy0+eXlfc3RhdGVf
cHRyKysgPSB5eV9jdXJyZW50X3N0YXRlOw0KPiANCj4gQEAgLTI5NDEsNCArMjk1MCw0IEBAIHZv
aWQgeXlmcmVlICh2b2lkICogcHRyICwgeXlzY2FuX3QgeXlzY2FubmVyKQ0KPiANCj4gICNkZWZp
bmUgWVlUQUJMRVNfTkFNRSAieXl0YWJsZXMiDQo+IA0KPiAtI2xpbmUgMjkxICJsaWJ4bHVfZGlz
a19sLmwiDQo+ICsjbGluZSAyOTIgImxpYnhsdV9kaXNrX2wubCINCj4gZGlmZiAtLWdpdCBhL3Rv
b2xzL2xpYnMvdXRpbC9saWJ4bHVfZGlza19sLmgNCj4gYi90b29scy9saWJzL3V0aWwvbGlieGx1
X2Rpc2tfbC5oDQo+IGluZGV4IDZhYmVlY2YuLmRmMjBmY2MgMTAwNjQ0DQo+IC0tLSBhL3Rvb2xz
L2xpYnMvdXRpbC9saWJ4bHVfZGlza19sLmgNCj4gKysrIGIvdG9vbHMvbGlicy91dGlsL2xpYnhs
dV9kaXNrX2wuaA0KPiBAQCAtNjk0LDcgKzY5NCw3IEBAIGV4dGVybiBpbnQgeXlsZXggKHl5c2Nh
bl90IHl5c2Nhbm5lcik7DQo+ICAjdW5kZWYgeXlUQUJMRVNfTkFNRQ0KPiAgI2VuZGlmDQo+IA0K
PiAtI2xpbmUgMjkxICJsaWJ4bHVfZGlza19sLmwiDQo+ICsjbGluZSAyOTIgImxpYnhsdV9kaXNr
X2wubCINCj4gDQo+ICAjbGluZSA2OTkgImxpYnhsdV9kaXNrX2wuaCINCj4gICN1bmRlZiB4bHVf
X2Rpc2tfeXlJTl9IRUFERVINCj4gZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMvdXRpbC9saWJ4bHVf
ZGlza19sLmwNCj4gYi90b29scy9saWJzL3V0aWwvbGlieGx1X2Rpc2tfbC5sDQo+IGluZGV4IDNi
ZDYzOWEuLmQ2OGE1OWMgMTAwNjQ0DQo+IC0tLSBhL3Rvb2xzL2xpYnMvdXRpbC9saWJ4bHVfZGlz
a19sLmwNCj4gKysrIGIvdG9vbHMvbGlicy91dGlsL2xpYnhsdV9kaXNrX2wubA0KPiBAQCAtMTk4
LDYgKzE5OCw3IEBAIHNjcmlwdD1bXixdKiw/CXsgU1RSSVAoJywnKTsgU0FWRVNUUklORygic2Ny
aXB0IiwNCj4gc2NyaXB0LCBGUk9NRVFVQUxTKTsgfQ0KPiAgZGlyZWN0LWlvLXNhZmUsPyB7IERQ
Qy0+ZGlzay0+ZGlyZWN0X2lvX3NhZmUgPSAxOyB9DQo+ICBkaXNjYXJkLD8JeyBsaWJ4bF9kZWZi
b29sX3NldCgmRFBDLT5kaXNrLT5kaXNjYXJkX2VuYWJsZSwgdHJ1ZSk7IH0NCj4gIG5vLWRpc2Nh
cmQsPwl7IGxpYnhsX2RlZmJvb2xfc2V0KCZEUEMtPmRpc2stPmRpc2NhcmRfZW5hYmxlLCBmYWxz
ZSk7IH0NCj4gK3ZpcnRpbyw/CXsgRFBDLT5kaXNrLT52aXJ0aW8gPSAxOyB9DQo+ICAgLyogTm90
ZSB0aGF0IHRoZSBDT0xPIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3Mgc2hvdWxkIGJlIGNvbnNpZGVy
ZWQNCj4gdW5zdGFibGUuDQo+ICAgICogVGhleSBtYXkgY2hhbmdlIGluY29tcGF0aWJseSBpbiBm
dXR1cmUgdmVyc2lvbnMgb2YgWGVuLiAqLw0KPiAgY29sbyw/CQl7IGxpYnhsX2RlZmJvb2xfc2V0
KCZEUEMtPmRpc2stPmNvbG9fZW5hYmxlLCB0cnVlKTsgfQ0KPiBkaWZmIC0tZ2l0IGEvdG9vbHMv
eGwveGxfYmxvY2suYyBiL3Rvb2xzL3hsL3hsX2Jsb2NrLmMNCj4gaW5kZXggNzBlZWQ0My4uNTBh
NGQ0NSAxMDA2NDQNCj4gLS0tIGEvdG9vbHMveGwveGxfYmxvY2suYw0KPiArKysgYi90b29scy94
bC94bF9ibG9jay5jDQo+IEBAIC01MCw2ICs1MCwxMSBAQCBpbnQgbWFpbl9ibG9ja2F0dGFjaChp
bnQgYXJnYywgY2hhciAqKmFyZ3YpDQo+ICAgICAgICAgIHJldHVybiAwOw0KPiAgICAgIH0NCj4g
DQo+ICsgICAgaWYgKGRpc2sudmlydGlvKSB7DQo+ICsgICAgICAgIGZwcmludGYoc3RkZXJyLCAi
YmxvY2stYXR0YWNoIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIFZpcnRpbw0KPiBkZXZpY2VcbiIpOw0K
PiArICAgICAgICByZXR1cm4gMTsNCj4gKyAgICB9DQo+ICsNCj4gICAgICBpZiAobGlieGxfZGV2
aWNlX2Rpc2tfYWRkKGN0eCwgZmVfZG9taWQsICZkaXNrLCAwKSkgew0KPiAgICAgICAgICBmcHJp
bnRmKHN0ZGVyciwgImxpYnhsX2RldmljZV9kaXNrX2FkZCBmYWlsZWQuXG4iKTsNCj4gICAgICAg
ICAgcmV0dXJuIDE7DQo+IEBAIC0xMTksNiArMTI0LDEyIEBAIGludCBtYWluX2Jsb2NrZGV0YWNo
KGludCBhcmdjLCBjaGFyICoqYXJndikNCj4gICAgICAgICAgZnByaW50ZihzdGRlcnIsICJFcnJv
cjogRGV2aWNlICVzIG5vdCBjb25uZWN0ZWQuXG4iLA0KPiBhcmd2W29wdGluZCsxXSk7DQo+ICAg
ICAgICAgIHJldHVybiAxOw0KPiAgICAgIH0NCj4gKw0KPiArICAgIGlmIChkaXNrLnZpcnRpbykg
ew0KPiArICAgICAgICBmcHJpbnRmKHN0ZGVyciwgImJsb2NrLWRldGFjaCBpcyBub3Qgc3VwcG9y
dGVkIGZvciBWaXJ0aW8NCj4gZGV2aWNlXG4iKTsNCj4gKyAgICAgICAgcmV0dXJuIDE7DQo+ICsg
ICAgfQ0KPiArDQo+ICAgICAgcmMgPSAhZm9yY2UgPyBsaWJ4bF9kZXZpY2VfZGlza19zYWZlX3Jl
bW92ZShjdHgsIGRvbWlkLCAmZGlzaywgMCkgOg0KPiAgICAgICAgICBsaWJ4bF9kZXZpY2VfZGlz
a19kZXN0cm95KGN0eCwgZG9taWQsICZkaXNrLCAwKTsNCj4gICAgICBpZiAocmMpIHsNCj4gLS0N
Cj4gMi43LjQNCg0K


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 07:26:00 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 07:26:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167613.305977 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFtTt-0004EP-7a; Tue, 17 Aug 2021 07:25:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167613.305977; Tue, 17 Aug 2021 07:25:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFtTt-0004EI-4N; Tue, 17 Aug 2021 07:25:53 +0000
Received: by outflank-mailman (input) for mailman id 167613;
 Tue, 17 Aug 2021 07:25:51 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jfbB=NI=arm.com=Jiamei.Xie@srs-us1.protection.inumbo.net>)
 id 1mFtTr-0004EC-JQ
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 07:25:51 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com (unknown
 [40.107.8.51]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 59c4aa21-4b81-47ac-9ba8-cabb572521b7;
 Tue, 17 Aug 2021 07:25:43 +0000 (UTC)
Received: from DU2PR04CA0302.eurprd04.prod.outlook.com (2603:10a6:10:2b5::7)
 by DB8PR08MB4201.eurprd08.prod.outlook.com (2603:10a6:10:a3::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Tue, 17 Aug
 2021 07:25:40 +0000
Received: from DB5EUR03FT037.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:2b5:cafe::8f) by DU2PR04CA0302.outlook.office365.com
 (2603:10a6:10:2b5::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16 via Frontend
 Transport; Tue, 17 Aug 2021 07:25:40 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT037.mail.protection.outlook.com (10.152.20.215) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Tue, 17 Aug 2021 07:25:39 +0000
Received: ("Tessian outbound 56612e04f172:v103");
 Tue, 17 Aug 2021 07:25:39 +0000
Received: from 7ac95797c0da.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 BED6DE48-BA96-4AE6-A4C7-CED018EE60D6.1; 
 Tue, 17 Aug 2021 07:25:30 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 7ac95797c0da.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 17 Aug 2021 07:25:30 +0000
Received: from VI1PR08MB3056.eurprd08.prod.outlook.com (2603:10a6:803:3d::28)
 by VI1PR0802MB2352.eurprd08.prod.outlook.com (2603:10a6:800:9e::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Tue, 17 Aug
 2021 07:25:25 +0000
Received: from VI1PR08MB3056.eurprd08.prod.outlook.com
 ([fe80::a931:b3e8:a3af:3a67]) by VI1PR08MB3056.eurprd08.prod.outlook.com
 ([fe80::a931:b3e8:a3af:3a67%5]) with mapi id 15.20.4415.024; Tue, 17 Aug 2021
 07:25:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 59c4aa21-4b81-47ac-9ba8-cabb572521b7
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=N7A/lrq+w0xZ4PzSKNXLIO5V8HFOknOjxFVh2MxotvM=;
 b=tFgPDf8gRYfRqJFb3U1sNTV6GaYkZyX/kdRCAiiC1JTO+ULkLwU+2ORjXzWU5qq+ccN2TNjDW0wZuaL8BtzN6YwbCT827cjan0eWtg0T62/RKEuJVgnT+6zzLzFkH7vkR7WA5aKkRmY6dqlAa7RK87ZA8IHzNcXHjjIK7KDjqtg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eK1ZzKFLExl2jblGfIu4sqhF4P5x4/eYBE3xAav+Cboal/tyAIht87xALgN39FKKxs8HRMzPG9SxJ4NfedfaPN9W9sd1UiT/X5V9rpHoSXY15SPQHH03sNet4+LF+UfHRNUUPeZR2zvv3VUM16wq7XpB+N4NR7paQhFTFKIkRiDeU5eUSVvxDFORYE6O+bLnG9Z7G5AAMgo0nbmRBY637nnRUK0w6eLi3APJEye+ulsIpfGTfES67LCKuJlfEjzvp+GdcMvb9zCMEl27gDVRzN7bifh6yhBIWIuftHvmN8XORToMo+EvzRL5iqjE1bL+qUqHDqKePLBYW7yzbBnF7w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=N7A/lrq+w0xZ4PzSKNXLIO5V8HFOknOjxFVh2MxotvM=;
 b=g6ch8V9iolo8YEjnKFxA9l4R7NIEFPZBjHw8vM3tCr3nkWS+kwBHS8AJ95ujdKF7WAr0Gi278S/GU/2CENLJrVoGd2Az5IWAJINJJesFZ7hBXYr+SBmaPU+ZZkHjAUhu/cZK5rG6zcXbxmpNZeloZsBGJArEO61nc0WZ9C8a2AP8KaTRyWceMm5kA2FvtheSugBMBrGtWggX2xhyceITeskOCsPmvBwl+DvSJ+OKUyuAItPJg5qaslV7BnckS4Ab1G1zh9gJTtgMFlIMZxHY6Hozhoqfm0lMxMXb82qOdSt1DkJf+//JnkOGIkrgZclXEM4ZXvyIBntstM5BPSlPIg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=N7A/lrq+w0xZ4PzSKNXLIO5V8HFOknOjxFVh2MxotvM=;
 b=tFgPDf8gRYfRqJFb3U1sNTV6GaYkZyX/kdRCAiiC1JTO+ULkLwU+2ORjXzWU5qq+ccN2TNjDW0wZuaL8BtzN6YwbCT827cjan0eWtg0T62/RKEuJVgnT+6zzLzFkH7vkR7WA5aKkRmY6dqlAa7RK87ZA8IHzNcXHjjIK7KDjqtg=
From: Jiamei Xie <Jiamei.Xie@arm.com>
To: Wei Chen <Wei.Chen@arm.com>, Oleksandr Tyshchenko <olekstysh@gmail.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, Ian Jackson
	<iwj@xenproject.org>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Kaly Xin <Kaly.Xin@arm.com>, =?utf-8?B?QWxleCBCZW5uw6ll?=
	<alex.bennee@linaro.org>, Henry Wang <Henry.Wang@arm.com>
Subject: RE: [RESEND PATCH V5 1/2] libxl: Add support for Virtio disk
 configuration
Thread-Topic: [RESEND PATCH V5 1/2] libxl: Add support for Virtio disk
 configuration
Thread-Index: AQHXTnn/+/V6ZF0jskq34GsMDgUjKqt30O0AgAADRvA=
Date: Tue, 17 Aug 2021 07:25:25 +0000
Message-ID:
 <VI1PR08MB3056288F7013C9AA9F7CF4BC92FE9@VI1PR08MB3056.eurprd08.prod.outlook.com>
References: <1621626361-29076-1-git-send-email-olekstysh@gmail.com>
 <1621626361-29076-2-git-send-email-olekstysh@gmail.com>
 <DB9PR08MB6857F3DFAE5FF752003ABD8F9EFE9@DB9PR08MB6857.eurprd08.prod.outlook.com>
In-Reply-To:
 <DB9PR08MB6857F3DFAE5FF752003ABD8F9EFE9@DB9PR08MB6857.eurprd08.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: FEB77F1B486501438AAA78095570A086.0
x-checkrecipientchecked: true
Authentication-Results-Original: arm.com; dkim=none (message not signed)
 header.d=none;arm.com; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 136c34ce-5a78-439d-9f90-08d961503711
x-ms-traffictypediagnostic: VI1PR0802MB2352:|DB8PR08MB4201:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<DB8PR08MB4201FC816E0049A04EFC480492FE9@DB8PR08MB4201.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:2089;OLM:2089;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 lUmqu3gLYwcXlV2RIlNu9fIJT+itmAwpZnY8JAUuEOk2KYSFCVHdm6s3VwNzm+9oA/NOvljums/Abcdr0oOiCmL74Zgj0S6AZJ+x30GlfTj68JIWGtn7rWJhJeYvItyBGXvLCvdvdBTlECHdoSuqNIa/a6N78u0d2B4QPgxXQkbPd7hpKrSBniVt3uMiKnogipBRWczuziWBCQe1VMDvjGwA6g6PYVt1EmFAl/hWY8U1cSd8eE1wI5OYI2u6J6AwVg6bf9QFXa8MQnT6WywNjdok4Lg45oBjCXG7sCSc1X5fXBbZohp7Lov9zSQ3PUwsF6nCbIPuat1Nzl4W0wMc4fdx+RYbNDnofTa73pDpugS5LgHckTcqzRvEfdym04S7WK7POpz9cs6XsqWO2VjwBAAMZIXWspYCaCVDxr6ggXbpJJ4gLfgRnWxBZ1vTdwVzZSpdnwrXIa0+dmh+tA9E8DpxTQEVTL0rXeyu6yqmfcxHq46mU/A51VJy/0wMEAkt8lwdiCVIqYECJxFPVLYVO+OjMtSvKvfvaKq07CgcLFSmEHFdqETKW90DWC8L3zHBTzhZn2L9LLAHekYBl552cr7ldM9sR6Uy3m3wsE6qtXk9AbxtwkU0gLVPZ7KcWbt+PvRIagJlj1M8o80OZDYjYNIzuxctlETc2fExYaStRc9QjJ8dnsMulexJ2kS9au+QofJ0S6WESl0CuuIsgpidFQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR08MB3056.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(346002)(396003)(136003)(366004)(376002)(39850400004)(66476007)(66946007)(54906003)(86362001)(7696005)(110136005)(76116006)(316002)(33656002)(71200400001)(64756008)(66556008)(53546011)(66446008)(6506007)(4326008)(83380400001)(186003)(66574015)(8936002)(7416002)(38070700005)(26005)(38100700002)(122000001)(5660300002)(52536014)(30864003)(8676002)(2906002)(478600001)(9686003)(55016002)(579004)(559001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?bTZDNXBKNmpDY0xtODlwWlp2RGwydjBCYVVDKytHYUluMnR3WXVLYzUzNkZL?=
 =?utf-8?B?ZEREdytiY0lVSlNucWJyWlY5alRwOW1CM1pSSXMzTmJ1RTlzdXlTYnc2TUQ2?=
 =?utf-8?B?MXlJbWpnQXhsaENDaWV3M1gybHBST1NKY3RNSC9CdGdlcFR4SFlVcEZKRndx?=
 =?utf-8?B?d2pDK0huNXRpbHBzaW4wb0pOWklBRG1xZzJkMURBT21EVDhQb29Wc2lsd21H?=
 =?utf-8?B?WitJM2p0RFdGWjRMS2ZGQ1FFSW9lMGVESXRGRXdqOHI3VTFhZE95VUVheWwx?=
 =?utf-8?B?bXRUQVlzM3M0a2paelowaFFPYUJ2VGZuZUlmblFkR2tWVHhOWXlnSmhicU5h?=
 =?utf-8?B?RDRvcnVTK3MvaFRxNElPZFd0b1I2dUt3eExLTE1aMnc5cVJFRElnRVRnZFVp?=
 =?utf-8?B?cGVvWFVyM0lKZWc4Y1NEWkFrcHZsbmZmS0xZUmFyb2tocXYvN05jQnVmenk0?=
 =?utf-8?B?ZnhxOVpRTU5xN0MvM1lLMmR3WWZ1UTRqOUtqVS9FWlhkY0duVm5DYThiVjdT?=
 =?utf-8?B?ZnZLQW1wQncyWjdZc0pDa2dobGR3UVVKZUxhaEtZeU0zWmk0RmR3VXozV3ky?=
 =?utf-8?B?VThScTJnbnA5eUNIZkk3OEJod2FHZWd5RzhHY0V4RDhlRnlEU2dHbi8rS2ZQ?=
 =?utf-8?B?NTVHK1pVM3pjc2RoZ0lnSmhyK0lxdUZRVGNjejNZc0dWMURCSGE4NFVEVktm?=
 =?utf-8?B?N3pWK0JadVVBUXkwNFIwMDJ0eDM5N0J1SHFDNTNHTXExeFUxNUVZaTcrTGow?=
 =?utf-8?B?OE4rY2pHK1ZEaU1qTTQ1TjNLWm9TZ2tpa21vV2FUYWNjK0VFanQ5R3hJQS9u?=
 =?utf-8?B?WXBzUFJQblJ6WlQrK3RFc0VvNGwveEh1M1BCeHFob3llRDhDLzRrRkpJZnBa?=
 =?utf-8?B?ZXBZWDlLdllZOXBRbDA0ajZEOS9rUlJRdS8wR3hyQUhlVnIzVjU0VWR5V0V5?=
 =?utf-8?B?N1UzMklIeExBUjZaM3JMZlpVeVFGNStMTFYzdS9LQTYwTk5rVjBQWUlLNFB3?=
 =?utf-8?B?b3Uwc1dJd1JaOWFNOUJLSXJHU3BSUUphVUhsdHhnL0cyUXVjR3NpQjJ1K1RW?=
 =?utf-8?B?NWxpbjlTSHRJVkd4SHpBbGlLTlRKeEFvOHlCOHloL1RtN084MVdpanhTMTdo?=
 =?utf-8?B?U25Rck82RWZTTVdvaDNLbDdtRTIwcm1STUt6LzROZllOVjkzNWZuOXZyKzZU?=
 =?utf-8?B?cndmY1RtRGtVZDAyUVIrSVBwMk1JV1hFUm11TGZ6emR5K1JOMGpoa0lOMC9y?=
 =?utf-8?B?N3d3Z1dLUnJXbkZHTE1vbWdnMjNTMklKNG1Camt4c3BUaVAxdi91OWpCNWpq?=
 =?utf-8?B?U0lSZXRtQUlybnFmNklTbFhjNk43K2NkK2VxYkh1Q3p2MXJvUXQ2TjN4bnc4?=
 =?utf-8?B?TW1CLzZFRmM5MzluRmNPRThYb3pscURwUVYzUmJmN1RTcE5BdnRjTXZYeGxH?=
 =?utf-8?B?Q0srdlBSbWlpYjBYTjNWQkpUMHY3aTdYdHJCcm14SktCZVNNZkM3cnhmUWVV?=
 =?utf-8?B?V3VKVHk2S1owTm0zR09mNlp3emU2cGszM1dycldzUmZqSXpTUkNMVXhYeFEy?=
 =?utf-8?B?N2l5MVZhaUZhMlUvOVFpY3FETjRiSzZwcXBTMHJLNVVRREkzekJMTHdJWlRi?=
 =?utf-8?B?dll2SFdBaXR6d1dwMFFaS1I5MG5kZHlKYnYwYSt3T0JlcnMrcnc2R1BVYWlH?=
 =?utf-8?B?TzZuc2FBQlZldTR6S0g0NCtVdFR1SHVsMWd3aEVYb2F2ajIraWtaT3ZUc2k3?=
 =?utf-8?Q?+0SY+TVb0BT1EKXTos=3D?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0802MB2352
Original-Authentication-Results: arm.com; dkim=none (message not signed)
 header.d=none;arm.com; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT037.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	ad7da353-dafc-4f70-6dc5-08d961502e7f
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	b1U8reOHYZ6c0XjGhhdx9nPoIHxrmZmjAUbSKc5cLS7Fi4QJdtU59snSuJv/zoVuMgSnVTp3WZEDqL/bzBowrmChFw1EiZRYUwhCJCrOYxm0zeCGScU22UIQx+lKLR2JBJbLlc8rtOq2ISV/dJyaRHSxb8g9chDkdYmYCThLlgyt5tTOtAQkvdZ7ohzw+CJa7QY5UTpOGVfAd+EHJlQxpUurkDJVM77EJux58cNzMWDtVRnJ5EqnQgyTDbbjmLW02p6NMEIwpE5xQ7wSn2vEEBkj3w/4pnz/BiZ07qzET7u63i0zWaOGYiEgKzP4F0BF4ht2tKCZsUwhF+tkQyfBYb3uOD3hQ68+8AOovqlZ4AdSvH5gtwCH2KARz3uKaUHK5topvE2NV/KOjOZOx3EAo3LPciS7LDE9xK+193i62cyGZnLGrU2Auu5FWi+bfgr+bIpSbsXLq+3On78RrqlmBYPtRE8ZIIi+VpbUtAh5f2dSm9zRF+8Pz5WDbQliLyKeYOhO8NObB1AnjWEpj4NQlWwLizFXM1OSE4KcMfuPSm+pg5oooeJbf7qOPTq/ndj86cVePt2c57hVJb2HB9gdO97aV4iNLn0sf/XrqTlxszpZlyBZX46PtiOw+9k+GO1HszsHAIBW8dzgF+hJFWAeNWNOLrbBN6D2id7Bow0/zZcku5tIwhKTyZuWipxY2YyExEubi0OVsUAkQMMhVu+1Aw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(46966006)(36840700001)(52536014)(66574015)(6506007)(9686003)(2906002)(5660300002)(53546011)(336012)(83380400001)(4326008)(82310400003)(508600001)(55016002)(7696005)(8936002)(356005)(70586007)(30864003)(81166007)(70206006)(8676002)(36860700001)(33656002)(47076005)(186003)(26005)(86362001)(316002)(54906003)(110136005)(559001)(579004);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 07:25:39.8625
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 136c34ce-5a78-439d-9f90-08d961503711
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT037.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB4201

SGkgT2xla3NhbmRyLA0KVGhpcyBjb2RlIHdpbGwgZmFpbCB3aGVuIGNvbXBpbGluZyBpdCAgb24g
YXJtMzIuDQo+ICsgICAgICAgICAgICAgICAgZmxleGFycmF5X2FwcGVuZF9wYWlyKGJhY2ssICJi
YXNlIiwgR0NTUFJJTlRGKCIlbHUiLA0KPiBkaXNrLT5iYXNlKSk7DQoNCkJlbG93IGlzIGl0cyBl
cnJvciBtZXNzYWdlLiAgTWF5YmUgUFJJdTY0IHNob3VsZCBiZSB1c2VkIGluc3RlYWQgJ2x1Jy4g
IE9yIHVzZSAnbGwnLCBhbmQgY2FzdCBiYXNlIHR5cGUgIHRvICdsb25nIGxvbmcgdW5zaWduZWQg
aW50Jy4NCnwgbWFrZVs2XTogKioqIFtsaWJ4bF9kaXNrLm9dIEVycm9yIDENCnwgbWFrZVs2XTog
KioqIFdhaXRpbmcgZm9yIHVuZmluaXNoZWQgam9icy4uLi4NCnwgSW4gZmlsZSBpbmNsdWRlZCBm
cm9tIGxpYnhsX2Rpc2suYzoxNzoNCnwgbGlieGxfZGlzay5jOiBJbiBmdW5jdGlvbiAnZGV2aWNl
X2Rpc2tfYWRkJzoNCnwgbGlieGxfaW50ZXJuYWwuaDo0Mzc2OjUxOiBlcnJvcjogZm9ybWF0ICcl
bHUnIGV4cGVjdHMgYXJndW1lbnQgb2YgdHlwZSAnbG9uZyB1bnNpZ25lZCBpbnQnLCBidXQgYXJn
dW1lbnQgMyBoYXMgdHlwZSAndWludDY0X3QnIHtha2EgJ2xvbmcgbG9uZyB1bnNpZ25lZCBpbnQn
fSBbLVdlcnJvcj1mb3JtYXQ9XQ0KfCAgNDM3NiB8ICNkZWZpbmUgR0NTUFJJTlRGKGZtdCwgLi4u
KSAobGlieGxfX3NwcmludGYoKGdjKSwgKGZtdCksIF9fVkFfQVJHU19fKSkNCnwgICAgICAgfCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+DQp8
IGxpYnhsX2Rpc2suYzozNTM6NTM6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnR0NTUFJJ
TlRGJw0KfCAgIDM1MyB8ICAgICAgICAgICAgICAgICBmbGV4YXJyYXlfYXBwZW5kX3BhaXIoYmFj
aywgImJhc2UiLCBHQ1NQUklOVEYoIiVsdSIsIGRpc2stPmJhc2UpKTsNCnwgICAgICAgfCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+
DQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBXZWkgQ2hlbiA8V2VpLkNoZW5A
YXJtLmNvbT4gDQpTZW50OiAyMDIx5bm0OOaciDE35pelIDE1OjExDQpUbzogT2xla3NhbmRyIFR5
c2hjaGVua28gPG9sZWtzdHlzaEBnbWFpbC5jb20+OyB4ZW4tZGV2ZWxAbGlzdHMueGVucHJvamVj
dC5vcmcNCkNjOiBPbGVrc2FuZHIgVHlzaGNoZW5rbyA8b2xla3NhbmRyX3R5c2hjaGVua29AZXBh
bS5jb20+OyBJYW4gSmFja3NvbiA8aXdqQHhlbnByb2plY3Qub3JnPjsgV2VpIExpdSA8d2xAeGVu
Lm9yZz47IEFudGhvbnkgUEVSQVJEIDxhbnRob255LnBlcmFyZEBjaXRyaXguY29tPjsgU3RlZmFu
byBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPjsgSnVsaWVuIEdyYWxsIDxqdWxp
ZW5AeGVuLm9yZz47IFZvbG9keW15ciBCYWJjaHVrIDxWb2xvZHlteXJfQmFiY2h1a0BlcGFtLmNv
bT47IEJlcnRyYW5kIE1hcnF1aXMgPEJlcnRyYW5kLk1hcnF1aXNAYXJtLmNvbT47IEthbHkgWGlu
IDxLYWx5LlhpbkBhcm0uY29tPjsgQWxleCBCZW5uw6llIDxhbGV4LmJlbm5lZUBsaW5hcm8ub3Jn
PjsgSmlhbWVpIFhpZSA8SmlhbWVpLlhpZUBhcm0uY29tPjsgSGVucnkgV2FuZyA8SGVucnkuV2Fu
Z0Bhcm0uY29tPg0KU3ViamVjdDogUkU6IFtSRVNFTkQgUEFUQ0ggVjUgMS8yXSBsaWJ4bDogQWRk
IHN1cHBvcnQgZm9yIFZpcnRpbyBkaXNrIGNvbmZpZ3VyYXRpb24NCg0KQ0MgdG8gSmlhbWVpIGFu
ZCBIZW5yeQ0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE9sZWtzYW5k
ciBUeXNoY2hlbmtvIDxvbGVrc3R5c2hAZ21haWwuY29tPg0KPiBTZW50OiAyMDIx5bm0NeaciDIy
5pelIDM6NDYNCj4gVG86IHhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZw0KPiBDYzogT2xl
a3NhbmRyIFR5c2hjaGVua28gPG9sZWtzYW5kcl90eXNoY2hlbmtvQGVwYW0uY29tPjsgSWFuIEph
Y2tzb24NCj4gPGl3akB4ZW5wcm9qZWN0Lm9yZz47IFdlaSBMaXUgPHdsQHhlbi5vcmc+OyBBbnRo
b255IFBFUkFSRA0KPiA8YW50aG9ueS5wZXJhcmRAY2l0cml4LmNvbT47IFN0ZWZhbm8gU3RhYmVs
bGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz47DQo+IEp1bGllbiBHcmFsbCA8anVsaWVuQHhl
bi5vcmc+OyBWb2xvZHlteXIgQmFiY2h1aw0KPiA8Vm9sb2R5bXlyX0JhYmNodWtAZXBhbS5jb20+
OyBXZWkgQ2hlbiA8V2VpLkNoZW5AYXJtLmNvbT47IEJlcnRyYW5kDQo+IE1hcnF1aXMgPEJlcnRy
YW5kLk1hcnF1aXNAYXJtLmNvbT47IEthbHkgWGluIDxLYWx5LlhpbkBhcm0uY29tPjsgQWxleA0K
PiBCZW5uw6llIDxhbGV4LmJlbm5lZUBsaW5hcm8ub3JnPg0KPiBTdWJqZWN0OiBbUkVTRU5EIFBB
VENIIFY1IDEvMl0gbGlieGw6IEFkZCBzdXBwb3J0IGZvciBWaXJ0aW8gZGlzaw0KPiBjb25maWd1
cmF0aW9uDQo+IA0KPiBGcm9tOiBPbGVrc2FuZHIgVHlzaGNoZW5rbyA8b2xla3NhbmRyX3R5c2hj
aGVua29AZXBhbS5jb20+DQo+IA0KPiBUaGlzIHBhdGNoIGFkZHMgYmFzaWMgc3VwcG9ydCBmb3Ig
Y29uZmlndXJpbmcgYW5kIGFzc2lzdGluZyB2aXJ0aW8tZGlzaw0KPiBiYWNrZW5kIChlbXVhbGF0
b3IpIHdoaWNoIGlzIGludGVuZGVkIHRvIHJ1biBvdXQgb2YgUWVtdSBhbmQgY291bGQgYmUNCj4g
cnVuIGluIGFueSBkb21haW4uDQo+IEFsdGhvdWdoIHRoZSBWaXJ0aW8gYmxvY2sgZGV2aWNlIGlz
IHF1aXRlIGRpZmZlcmVudCBmcm9tIHRyYWRpdGlvbmFsDQo+IFhlbiBQViBibG9jayBkZXZpY2Ug
KHZiZCkgZnJvbSB0aGUgdG9vbHN0YWNrIHBvaW50IG9mIHZpZXc6DQo+ICAtIHRoZSBmcm9udGVu
ZCBpcyB2aXJ0aW8tYmxrIHdoaWNoIGlzIG5vdCBhIFhlbmJ1cyBkcml2ZXIsIHNvIG5vdGhpbmcN
Cj4gICAgd3JpdHRlbiB0byBYZW5zdG9yZSBhcmUgZmV0Y2hlZCBieSB0aGUgZnJvbnRlbmQgKHRo
ZSB2ZGV2IGlzIG5vdA0KPiAgICBwYXNzZWQgdG8gdGhlIGZyb250ZW5kLCBldGMpDQo+ICAtIHRo
ZSByaW5nLXJlZi9ldmVudC1jaGFubmVsIGFyZSBub3QgdXNlZCBmb3IgdGhlIGJhY2tlbmQ8LT5m
cm9udGVuZA0KPiAgICBjb21tdW5pY2F0aW9uLCB0aGUgcHJvcG9zZWQgSVBDIGZvciBWaXJ0aW8g
aXMgSU9SRVEvRE0NCj4gaXQgaXMgc3RpbGwgYSAiYmxvY2sgZGV2aWNlIiBhbmQgb3VnaHQgdG8g
YmUgaW50ZWdyYXRlZCBpbiBleGlzdGluZw0KPiAiZGlzayIgaGFuZGxpbmcuIFNvLCByZS11c2Ug
KGFuZCBhZGFwdCkgImRpc2siIHBhcnNpbmcvY29uZmlndXJhdGlvbg0KPiBsb2dpYyB0byBkZWFs
IHdpdGggVmlydGlvIGRldmljZXMgYXMgd2VsbC4NCj4gDQo+IEJlc2lkZXMgaW50cm9kdWNpbmcg
bmV3IGRpc2sgYmFja2VuZCB0eXBlIChMSUJYTF9ESVNLX0JBQ0tFTkRfVklSVElPKQ0KPiBpbnRy
b2R1Y2UgbmV3IGRldmljZSBraW5kIChMSUJYTF9fREVWSUNFX0tJTkRfVklSVElPX0RJU0spIGFz
IGN1cnJlbnQNCj4gb25lIChMSUJYTF9fREVWSUNFX0tJTkRfVkJEKSBkb2Vzbid0IGZpdCBpbnRv
IFZpcnRpbyBkaXNrIG1vZGVsLg0KPiANCj4gSW4gb3JkZXIgdG8gaW5mb3JtIHRoZSB0b29sc3Rh
Y2sgdGhhdCBWaXJ0aW8gZGlzayBuZWVkcyB0byBiZSB1c2VkDQo+IGV4dGVuZCAiZGlzayIgY29u
ZmlndXJhdGlvbiBieSBpbnRyb2R1Y2luZyBuZXcgInZpcnRpbyIgZmxhZy4NCj4gQW4gZXhhbXBs
ZSBvZiBkb21haW4gY29uZmlndXJhdGlvbjoNCj4gZGlzayA9IFsgJ2JhY2tlbmQ9RG9tRCwgcGh5
Oi9kZXYvbW1jYmxrMXAzLCB4dmRhMSwgcncsIHZpcnRpbycgXQ0KPiANCj4gUGxlYXNlIG5vdGUs
IHRoaXMgcGF0Y2ggaXMgbm90IGVub3VnaCBmb3IgdmlydGlvLWRpc2sgdG8gd29yaw0KPiBvbiBY
ZW4gKEFybSksIGFzIGZvciBldmVyeSBWaXJ0aW8gZGV2aWNlIChpbmNsdWRpbmcgZGlzaykgd2Ug
bmVlZA0KPiB0byBhbGxvY2F0ZSBWaXJ0aW8gTU1JTyBwYXJhbXMgKElSUSBhbmQgbWVtb3J5IHJl
Z2lvbikgYW5kIHBhc3MNCj4gdGhlbSB0byB0aGUgYmFja2VuZCwgYWxzbyB1cGRhdGUgR3Vlc3Qg
ZGV2aWNlLXRyZWUgd2l0aCB0aGUgYWxsb2NhdGVkDQo+IHBhcmFtcy4gVGhlIHN1YnNlcXVlbnQg
cGF0Y2ggd2lsbCBhZGQgdGhlc2UgbWlzc2luZyBiaXRzLg0KPiBGb3IgdGhlIGN1cnJlbnQgcGF0
Y2gsIHRoZSBkZWZhdWx0ICJpcnEiIGFuZCAiYmFzZSIgYXJlIGp1c3Qgd3JpdHRlbg0KPiB0byB0
aGUgWGVuc3RvcmUuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBPbGVrc2FuZHIgVHlzaGNoZW5rbyA8
b2xla3NhbmRyX3R5c2hjaGVua29AZXBhbS5jb20+DQo+IA0KPiAtLS0NCj4gQ2hhbmdlcyBSRkMg
LT4gVjE6DQo+ICAgIC0gbm8gY2hhbmdlcw0KPiANCj4gQ2hhbmdlcyBWMSAtPiBWMjoNCj4gICAg
LSByZWJhc2UgYWNjb3JkaW5nIHRvIHRoZSBuZXcgbG9jYXRpb24gb2YgbGlieGxfdmlydGlvX2Rp
c2suYw0KPiANCj4gQ2hhbmdlcyBWMiAtPiBWMzoNCj4gICAgLSBubyBjaGFuZ2VzDQo+IA0KPiBD
aGFuZ2VzIFYzIC0+IFY0Og0KPiAgICAtIHJlYmFzZSBhY2NvcmRpbmcgdG8gdGhlIG5ldyBhcmd1
bWVudCBmb3IgREVGSU5FX0RFVklDRV9UWVBFX1NUUlVDVA0KPiANCj4gQ2hhbmdlcyBWNCAtPiBW
NToNCj4gICAgLSBzcGxpdCB0aGUgY2hhbmdlcywgY2hhbmdlIHRoZSBvcmRlciBvZiB0aGUgcGF0
Y2hlcw0KPiAgICAtIHVwZGF0ZSBwYXRjaCBkZXNjcmlwdGlvbg0KPiAgICAtIGRvbid0IGludHJv
ZHVjZSBuZXcgInZkaXNrIiBjb25maWd1cmF0aW9uIG9wdGlvbiB3aXRoIG93biBwYXJzaW5nDQo+
IGxvZ2ljLA0KPiAgICAgIHJlLXVzZSBYZW4gUFYgYmxvY2sgImRpc2siIHBhcnNpbmcvY29uZmln
dXJhdGlvbiBsb2dpYyBmb3IgdGhlDQo+IHZpcnRpby1kaXNrDQo+ICAgIC0gaW50cm9kdWNlICJ2
aXJ0aW8iIGZsYWcgYW5kIGRvY3VtZW50IGl0J3MgdXNhZ2UNCj4gICAgLSBhZGQgTElCWExfSEFW
RV9ERVZJQ0VfRElTS19WSVJUSU8NCj4gICAgLSB1cGRhdGUgbGlieGx1X2Rpc2tfbC5bY2hdDQo+
ICAgIC0gZHJvcCBudW1fZGlza3MgdmFyaWFibGUvTUFYX1ZJUlRJT19ESVNLUw0KPiAgICAtIGRy
b3AgV2VpJ3MgVC1iDQo+IC0tLQ0KPiAtLS0NCj4gIGRvY3MvbWFuL3hsLWRpc2stY29uZmlndXJh
dGlvbi41LnBvZC5pbiAgIHwgIDI3ICsNCj4gIHRvb2xzL2luY2x1ZGUvbGlieGwuaCAgICAgICAg
ICAgICAgICAgICAgIHwgICA2ICsNCj4gIHRvb2xzL2xpYnMvbGlnaHQvbGlieGxfZGV2aWNlLmMg
ICAgICAgICAgIHwgIDM4ICstDQo+ICB0b29scy9saWJzL2xpZ2h0L2xpYnhsX2Rpc2suYyAgICAg
ICAgICAgICB8ICA5OSArKystDQo+ICB0b29scy9saWJzL2xpZ2h0L2xpYnhsX3R5cGVzLmlkbCAg
ICAgICAgICB8ICAgNCArDQo+ICB0b29scy9saWJzL2xpZ2h0L2xpYnhsX3R5cGVzX2ludGVybmFs
LmlkbCB8ICAgMSArDQo+ICB0b29scy9saWJzL2xpZ2h0L2xpYnhsX3V0aWxzLmMgICAgICAgICAg
ICB8ICAgMiArDQo+ICB0b29scy9saWJzL3V0aWwvbGlieGx1X2Rpc2tfbC5jICAgICAgICAgICB8
IDg4MSArKysrKysrKysrKysrKystLS0tLS0tLS0tDQo+IC0tLS0tDQo+ICB0b29scy9saWJzL3V0
aWwvbGlieGx1X2Rpc2tfbC5oICAgICAgICAgICB8ICAgMiArLQ0KPiAgdG9vbHMvbGlicy91dGls
L2xpYnhsdV9kaXNrX2wubCAgICAgICAgICAgfCAgIDEgKw0KPiAgdG9vbHMveGwveGxfYmxvY2su
YyAgICAgICAgICAgICAgICAgICAgICAgfCAgMTEgKw0KPiAgMTEgZmlsZXMgY2hhbmdlZCwgNjI2
IGluc2VydGlvbnMoKyksIDQ0NiBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9kb2Nz
L21hbi94bC1kaXNrLWNvbmZpZ3VyYXRpb24uNS5wb2QuaW4gYi9kb2NzL21hbi94bC1kaXNrLQ0K
PiBjb25maWd1cmF0aW9uLjUucG9kLmluDQo+IGluZGV4IDcxZDBlODYuLjljYzE4OWYgMTAwNjQ0
DQo+IC0tLSBhL2RvY3MvbWFuL3hsLWRpc2stY29uZmlndXJhdGlvbi41LnBvZC5pbg0KPiArKysg
Yi9kb2NzL21hbi94bC1kaXNrLWNvbmZpZ3VyYXRpb24uNS5wb2QuaW4NCj4gQEAgLTM0NCw4ICsz
NDQsMzUgQEAgY2FuIGJlIHVzZWQgdG8gZGlzYWJsZSAiaG9sZSBwdW5jaGluZyIgZm9yIGZpbGUg
YmFzZWQNCj4gYmFja2VuZHMgd2hpY2gNCj4gIHdlcmUgaW50ZW50aW9uYWxseSBjcmVhdGVkIG5v
bi1zcGFyc2UgdG8gYXZvaWQgZnJhZ21lbnRhdGlvbiBvZiB0aGUNCj4gIGZpbGUuDQo+IA0KPiAr
PWl0ZW0gQjx2aXJ0aW8+DQo+ICsNCj4gKz1vdmVyIDQNCj4gKw0KPiArPWl0ZW0gRGVzY3JpcHRp
b24NCj4gKw0KPiArRW5hYmxlcyBleHBlcmltZW50YWwgVmlydGlvIHN1cHBvcnQgZm9yIGRpc2sN
Cj4gKw0KPiArPWl0ZW0gU3VwcG9ydGVkIHZhbHVlcw0KPiArDQo+ICthYnNlbnQsIHByZXNlbnQN
Cj4gKw0KPiArPWl0ZW0gTWFuZGF0b3J5DQo+ICsNCj4gK05vDQo+ICsNCj4gKz1pdGVtIERlZmF1
bHQgdmFsdWUNCj4gKw0KPiArYWJzZW50DQo+ICsNCj4gID1iYWNrDQo+IA0KPiArQmVzaWRlcyBm
b3JjaW5nIHRvb2xzdGFjayB0byB1c2Ugc3BlY2lmaWMgWGVuIFZpcnRpbyBiYWNrZW5kDQo+IGlt
cGxlbWVudGF0aW9uDQo+ICsoZm9yIGV4YW1wbGUsIHZpcnRpby1kaXNrKSwgdGhpcyBhbHNvIGFm
ZmVjdHMgdGhlIGd1ZXN0J3MgdmlldyBvZiB0aGUNCj4gZGV2aWNlDQo+ICthbmQgcmVxdWlyZXMg
dmlydGlvLWJsayBkcml2ZXIgdG8gYmUgdXNlZC4NCj4gK1BsZWFzZSBub3RlLCB0aGUgdmlydHVh
bCBkZXZpY2UgKHZkZXYpIGlzIG5vdCBwYXNzZWQgdG8gdGhlIGd1ZXN0IGluIHRoYXQNCj4gY2Fz
ZSwNCj4gK2J1dCBpdCBzdGlsbCBtdXN0IGJlIHNwZWNpZmllZCBmb3IgdGhlIGludGVybmFsIHB1
cnBvc2VzLg0KPiArDQo+ICs9YmFjaw0KPiANCj4gID1oZWFkMSBDT0xPIFBhcmFtZXRlcnMNCj4g
DQo+IGRpZmYgLS1naXQgYS90b29scy9pbmNsdWRlL2xpYnhsLmggYi90b29scy9pbmNsdWRlL2xp
YnhsLmgNCj4gaW5kZXggYWU3ZmUyNy4uNThlMTRlNiAxMDA2NDQNCj4gLS0tIGEvdG9vbHMvaW5j
bHVkZS9saWJ4bC5oDQo+ICsrKyBiL3Rvb2xzL2luY2x1ZGUvbGlieGwuaA0KPiBAQCAtNTAzLDYg
KzUwMywxMiBAQA0KPiAgI2RlZmluZSBMSUJYTF9IQVZFX1g4Nl9NU1JfUkVMQVhFRCAxDQo+IA0K
PiAgLyoNCj4gKyAqIExJQlhMX0hBVkVfREVWSUNFX0RJU0tfVklSVElPIGluZGljYXRlcyB0aGF0
IGEgJ3ZpcnRpbycgZmllbGQNCj4gKyAqIChvZiBib29sZWFuIHR5cGUpIGlzIHByZXNlbnQgaW4g
bGlieGxfZGV2aWNlX2Rpc2suDQo+ICsgKi8NCj4gKyNkZWZpbmUgTElCWExfSEFWRV9ERVZJQ0Vf
RElTS19WSVJUSU8gMQ0KPiArDQo+ICsvKg0KPiAgICogbGlieGwgQUJJIGNvbXBhdGliaWxpdHkN
Cj4gICAqDQo+ICAgKiBUaGUgb25seSBndWFyYW50ZWUgd2hpY2ggbGlieGwgbWFrZXMgcmVnYXJk
aW5nIEFCSSBjb21wYXRpYmlsaXR5DQo+IGRpZmYgLS1naXQgYS90b29scy9saWJzL2xpZ2h0L2xp
YnhsX2RldmljZS5jDQo+IGIvdG9vbHMvbGlicy9saWdodC9saWJ4bF9kZXZpY2UuYw0KPiBpbmRl
eCAzNmM0ZTQxLi43YzhjYjUzIDEwMDY0NA0KPiAtLS0gYS90b29scy9saWJzL2xpZ2h0L2xpYnhs
X2RldmljZS5jDQo+ICsrKyBiL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfZGV2aWNlLmMNCj4gQEAg
LTI5Miw2ICsyOTIsOSBAQCBzdGF0aWMgaW50IGRpc2tfdHJ5X2JhY2tlbmQoZGlza190cnlfYmFj
a2VuZF9hcmdzICphLA0KPiAgICAgIC8qIHJldHVybnMgMCAoaWUsIERJU0tfQkFDS0VORF9VTktO
T1dOKSBvbiBmYWlsdXJlLCBvcg0KPiAgICAgICAqIGJhY2tlbmQgb24gc3VjY2VzcyAqLw0KPiAN
Cj4gKyAgICBpZiAoYS0+ZGlzay0+dmlydGlvICYmIGJhY2tlbmQgIT0gTElCWExfRElTS19CQUNL
RU5EX1ZJUlRJTykNCj4gKyAgICAgICAgZ290byBiYWRfdmlydGlvOw0KPiArDQo+ICAgICAgc3dp
dGNoIChiYWNrZW5kKSB7DQo+ICAgICAgY2FzZSBMSUJYTF9ESVNLX0JBQ0tFTkRfUEhZOg0KPiAg
ICAgICAgICBpZiAoYS0+ZGlzay0+Zm9ybWF0ICE9IExJQlhMX0RJU0tfRk9STUFUX1JBVykgew0K
PiBAQCAtMzI5LDYgKzMzMiwyOSBAQCBzdGF0aWMgaW50IGRpc2tfdHJ5X2JhY2tlbmQoZGlza190
cnlfYmFja2VuZF9hcmdzICphLA0KPiAgICAgICAgICBpZiAoYS0+ZGlzay0+c2NyaXB0KSBnb3Rv
IGJhZF9zY3JpcHQ7DQo+ICAgICAgICAgIHJldHVybiBiYWNrZW5kOw0KPiANCj4gKyAgICBjYXNl
IExJQlhMX0RJU0tfQkFDS0VORF9WSVJUSU86DQo+ICsgICAgICAgIGlmIChhLT5kaXNrLT5mb3Jt
YXQgIT0gTElCWExfRElTS19GT1JNQVRfUkFXKQ0KPiArICAgICAgICAgICAgZ290byBiYWRfZm9y
bWF0Ow0KPiArDQo+ICsgICAgICAgIGlmIChhLT5kaXNrLT5zY3JpcHQpDQo+ICsgICAgICAgICAg
ICBnb3RvIGJhZF9zY3JpcHQ7DQo+ICsNCj4gKyAgICAgICAgaWYgKGxpYnhsX2RlZmJvb2xfdmFs
KGEtPmRpc2stPmNvbG9fZW5hYmxlKSkNCj4gKyAgICAgICAgICAgIGdvdG8gYmFkX2NvbG87DQo+
ICsNCj4gKyAgICAgICAgaWYgKGEtPmRpc2stPmJhY2tlbmRfZG9taWQgIT0gTElCWExfVE9PTFNU
QUNLX0RPTUlEKSB7DQo+ICsgICAgICAgICAgICBMT0coREVCVUcsICJEaXNrIHZkZXY9JXMsIGlz
IHVzaW5nIGEgc3RvcmFnZSBkcml2ZXIgZG9tYWluLCAiDQo+ICsgICAgICAgICAgICAgICAgICAg
ICAgICJza2lwcGluZyBwaHlzaWNhbCBkZXZpY2UgY2hlY2siLCBhLT5kaXNrLT52ZGV2KTsNCj4g
KyAgICAgICAgICAgIHJldHVybiBiYWNrZW5kOw0KPiArICAgICAgICB9DQo+ICsNCj4gKyAgICAg
ICAgaWYgKGxpYnhsX190cnlfcGh5X2JhY2tlbmQoYS0+c3RhYi5zdF9tb2RlKSkNCj4gKyAgICAg
ICAgICAgIHJldHVybiBiYWNrZW5kOw0KPiArDQo+ICsgICAgICAgIExPRyhERUJVRywgIkRpc2sg
dmRldj0lcywgYmFja2VuZCB2aXJ0aW8gdW5zdWl0YWJsZSBhcyBwaHlzIHBhdGgNCj4gbm90IGEg
Ig0KPiArICAgICAgICAgICAgICAgICAgICJibG9jayBkZXZpY2UiLCBhLT5kaXNrLT52ZGV2KTsN
Cj4gKyAgICAgICAgcmV0dXJuIDA7DQo+ICsNCj4gICAgICBkZWZhdWx0Og0KPiAgICAgICAgICBM
T0coREVCVUcsICJEaXNrIHZkZXY9JXMsIGJhY2tlbmQgJWQgdW5rbm93biIsIGEtPmRpc2stPnZk
ZXYsDQo+IGJhY2tlbmQpOw0KPiAgICAgICAgICByZXR1cm4gMDsNCj4gQEAgLTM1Miw2ICszNzgs
MTEgQEAgc3RhdGljIGludCBkaXNrX3RyeV9iYWNrZW5kKGRpc2tfdHJ5X2JhY2tlbmRfYXJncyAq
YSwNCj4gICAgICBMT0coREVCVUcsICJEaXNrIHZkZXY9JXMsIGJhY2tlbmQgJXMgbm90IGNvbXBh
dGlibGUgd2l0aCBjb2xvIiwNCj4gICAgICAgICAgYS0+ZGlzay0+dmRldiwgbGlieGxfZGlza19i
YWNrZW5kX3RvX3N0cmluZyhiYWNrZW5kKSk7DQo+ICAgICAgcmV0dXJuIDA7DQo+ICsNCj4gKyBi
YWRfdmlydGlvOg0KPiArICAgIExPRyhERUJVRywgIkRpc2sgdmRldj0lcywgYmFja2VuZCAlcyBu
b3QgY29tcGF0aWJsZSB3aXRoIHZpcnRpbyIsDQo+ICsgICAgICAgIGEtPmRpc2stPnZkZXYsIGxp
YnhsX2Rpc2tfYmFja2VuZF90b19zdHJpbmcoYmFja2VuZCkpOw0KPiArICAgIHJldHVybiAwOw0K
PiAgfQ0KPiANCj4gIGludCBsaWJ4bF9fYmFja2VuZHBhdGhfcGFyc2VfZG9taWQobGlieGxfX2dj
ICpnYywgY29uc3QgY2hhciAqYmVfcGF0aCwNCj4gQEAgLTM5Miw3ICs0MjMsOCBAQCBpbnQgbGli
eGxfX2RldmljZV9kaXNrX3NldF9iYWNrZW5kKGxpYnhsX19nYyAqZ2MsDQo+IGxpYnhsX2Rldmlj
ZV9kaXNrICpkaXNrKSB7DQo+ICAgICAgICAgIH0NCj4gICAgICAgICAgbWVtc2V0KCZhLnN0YWIs
IDAsIHNpemVvZihhLnN0YWIpKTsNCj4gICAgICB9IGVsc2UgaWYgKChkaXNrLT5iYWNrZW5kID09
IExJQlhMX0RJU0tfQkFDS0VORF9VTktOT1dOIHx8DQo+IC0gICAgICAgICAgICAgICAgZGlzay0+
YmFja2VuZCA9PSBMSUJYTF9ESVNLX0JBQ0tFTkRfUEhZKSAmJg0KPiArICAgICAgICAgICAgICAg
IGRpc2stPmJhY2tlbmQgPT0gTElCWExfRElTS19CQUNLRU5EX1BIWSB8fA0KPiArICAgICAgICAg
ICAgICAgIGRpc2stPmJhY2tlbmQgPT0gTElCWExfRElTS19CQUNLRU5EX1ZJUlRJTykgJiYNCj4g
ICAgICAgICAgICAgICAgIGRpc2stPmJhY2tlbmRfZG9taWQgPT0gTElCWExfVE9PTFNUQUNLX0RP
TUlEICYmDQo+ICAgICAgICAgICAgICAgICAhZGlzay0+c2NyaXB0KSB7DQo+ICAgICAgICAgIGlm
IChzdGF0KGRpc2stPnBkZXZfcGF0aCwgJmEuc3RhYikpIHsNCj4gQEAgLTQwOCw3ICs0NDAsOCBA
QCBpbnQgbGlieGxfX2RldmljZV9kaXNrX3NldF9iYWNrZW5kKGxpYnhsX19nYyAqZ2MsDQo+IGxp
YnhsX2RldmljZV9kaXNrICpkaXNrKSB7DQo+ICAgICAgICAgIG9rPQ0KPiAgICAgICAgICAgICAg
ZGlza190cnlfYmFja2VuZCgmYSwgTElCWExfRElTS19CQUNLRU5EX1BIWSkgPzoNCj4gICAgICAg
ICAgICAgIGRpc2tfdHJ5X2JhY2tlbmQoJmEsIExJQlhMX0RJU0tfQkFDS0VORF9RRElTSykgPzoN
Cj4gLSAgICAgICAgICAgIGRpc2tfdHJ5X2JhY2tlbmQoJmEsIExJQlhMX0RJU0tfQkFDS0VORF9U
QVApOw0KPiArICAgICAgICAgICAgZGlza190cnlfYmFja2VuZCgmYSwgTElCWExfRElTS19CQUNL
RU5EX1RBUCkgPzoNCj4gKyAgICAgICAgICAgIGRpc2tfdHJ5X2JhY2tlbmQoJmEsIExJQlhMX0RJ
U0tfQkFDS0VORF9WSVJUSU8pOw0KPiAgICAgICAgICBpZiAob2spDQo+ICAgICAgICAgICAgICBM
T0coREVCVUcsICJEaXNrIHZkZXY9JXMsIHVzaW5nIGJhY2tlbmQgJXMiLA0KPiAgICAgICAgICAg
ICAgICAgICAgICAgICBkaXNrLT52ZGV2LA0KPiBAQCAtNDQxLDYgKzQ3NCw3IEBAIGNoYXINCj4g
KmxpYnhsX19kZXZpY2VfZGlza19zdHJpbmdfb2ZfYmFja2VuZChsaWJ4bF9kaXNrX2JhY2tlbmQg
YmFja2VuZCkNCj4gICAgICAgICAgY2FzZSBMSUJYTF9ESVNLX0JBQ0tFTkRfUURJU0s6IHJldHVy
biAicWRpc2siOw0KPiAgICAgICAgICBjYXNlIExJQlhMX0RJU0tfQkFDS0VORF9UQVA6IHJldHVy
biAicGh5IjsNCj4gICAgICAgICAgY2FzZSBMSUJYTF9ESVNLX0JBQ0tFTkRfUEhZOiByZXR1cm4g
InBoeSI7DQo+ICsgICAgICAgIGNhc2UgTElCWExfRElTS19CQUNLRU5EX1ZJUlRJTzogcmV0dXJu
ICJ2aXJ0aW9fZGlzayI7DQo+ICAgICAgICAgIGRlZmF1bHQ6IHJldHVybiBOVUxMOw0KPiAgICAg
IH0NCj4gIH0NCj4gZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfZGlzay5jIGIv
dG9vbHMvbGlicy9saWdodC9saWJ4bF9kaXNrLmMNCj4gaW5kZXggNDExZmZlYS4uNDMzMmRhYiAx
MDA2NDQNCj4gLS0tIGEvdG9vbHMvbGlicy9saWdodC9saWJ4bF9kaXNrLmMNCj4gKysrIGIvdG9v
bHMvbGlicy9saWdodC9saWJ4bF9kaXNrLmMNCj4gQEAgLTE3NCw2ICsxNzQsMTYgQEAgc3RhdGlj
IGludCBsaWJ4bF9fZGV2aWNlX2Rpc2tfc2V0ZGVmYXVsdChsaWJ4bF9fZ2MNCj4gKmdjLCB1aW50
MzJfdCBkb21pZCwNCj4gICAgICAgICAgZGlzay0+YmFja2VuZCA9IExJQlhMX0RJU0tfQkFDS0VO
RF9RRElTSzsNCj4gICAgICB9DQo+IA0KPiArICAgIC8qIEZvcmNlIHZpcnRpb19kaXNrIGJhY2tl
bmQgZm9yIFZpcnRpbyBkZXZpY2VzICovDQo+ICsgICAgaWYgKGRpc2stPnZpcnRpbykgew0KPiAr
ICAgICAgICBpZiAoIShkaXNrLT5iYWNrZW5kID09IExJQlhMX0RJU0tfQkFDS0VORF9WSVJUSU8g
fHwNCj4gKyAgICAgICAgICAgICAgZGlzay0+YmFja2VuZCA9PSBMSUJYTF9ESVNLX0JBQ0tFTkRf
VU5LTk9XTikpIHsNCj4gKyAgICAgICAgICAgIExPR0QoRVJST1IsIGRvbWlkLCAiQmFja2VuZCBm
b3IgVmlydGlvIGRldmljZXMgb24gbXVzdCBiZQ0KPiB2aXJ0aW9fZGlzayIpOw0KPiArICAgICAg
ICAgICAgcmV0dXJuIEVSUk9SX0ZBSUw7DQo+ICsgICAgICAgIH0NCj4gKyAgICAgICAgZGlzay0+
YmFja2VuZCA9IExJQlhMX0RJU0tfQkFDS0VORF9WSVJUSU87DQo+ICsgICAgfQ0KPiArDQo+ICAg
ICAgcmMgPSBsaWJ4bF9fZGV2aWNlX2Rpc2tfc2V0X2JhY2tlbmQoZ2MsIGRpc2spOw0KPiAgICAg
IHJldHVybiByYzsNCj4gIH0NCj4gQEAgLTIwNCw2ICsyMTQsOSBAQCBzdGF0aWMgaW50IGxpYnhs
X19kZXZpY2VfZnJvbV9kaXNrKGxpYnhsX19nYyAqZ2MsDQo+IHVpbnQzMl90IGRvbWlkLA0KPiAg
ICAgICAgICBjYXNlIExJQlhMX0RJU0tfQkFDS0VORF9RRElTSzoNCj4gICAgICAgICAgICAgIGRl
dmljZS0+YmFja2VuZF9raW5kID0gTElCWExfX0RFVklDRV9LSU5EX1FESVNLOw0KPiAgICAgICAg
ICAgICAgYnJlYWs7DQo+ICsgICAgICAgIGNhc2UgTElCWExfRElTS19CQUNLRU5EX1ZJUlRJTzoN
Cj4gKyAgICAgICAgICAgIGRldmljZS0+YmFja2VuZF9raW5kID0gTElCWExfX0RFVklDRV9LSU5E
X1ZJUlRJT19ESVNLOw0KPiArICAgICAgICAgICAgYnJlYWs7DQo+ICAgICAgICAgIGRlZmF1bHQ6
DQo+ICAgICAgICAgICAgICBMT0dEKEVSUk9SLCBkb21pZCwgIlVucmVjb2duaXplZCBkaXNrIGJh
Y2tlbmQgdHlwZTogJWQiLA0KPiAgICAgICAgICAgICAgICAgICBkaXNrLT5iYWNrZW5kKTsNCj4g
QEAgLTIxMiw3ICsyMjUsOCBAQCBzdGF0aWMgaW50IGxpYnhsX19kZXZpY2VfZnJvbV9kaXNrKGxp
YnhsX19nYyAqZ2MsDQo+IHVpbnQzMl90IGRvbWlkLA0KPiANCj4gICAgICBkZXZpY2UtPmRvbWlk
ID0gZG9taWQ7DQo+ICAgICAgZGV2aWNlLT5kZXZpZCA9IGRldmlkOw0KPiAtICAgIGRldmljZS0+
a2luZCAgPSBMSUJYTF9fREVWSUNFX0tJTkRfVkJEOw0KPiArICAgIGRldmljZS0+a2luZCA9IGRp
c2stPmJhY2tlbmQgPT0gTElCWExfRElTS19CQUNLRU5EX1ZJUlRJTyA/DQo+ICsgICAgICAgIExJ
QlhMX19ERVZJQ0VfS0lORF9WSVJUSU9fRElTSyA6IExJQlhMX19ERVZJQ0VfS0lORF9WQkQ7DQo+
IA0KPiAgICAgIHJldHVybiAwOw0KPiAgfQ0KPiBAQCAtMzMwLDcgKzM0NCwxNyBAQCBzdGF0aWMg
dm9pZCBkZXZpY2VfZGlza19hZGQobGlieGxfX2VnYyAqZWdjLCB1aW50MzJfdA0KPiBkb21pZCwN
Cj4gDQo+ICAgICAgICAgICAgICAgICAgYXNzZXJ0KGRldmljZS0+YmFja2VuZF9raW5kID09IExJ
QlhMX19ERVZJQ0VfS0lORF9WQkQpOw0KPiAgICAgICAgICAgICAgICAgIGJyZWFrOw0KPiArICAg
ICAgICAgICAgY2FzZSBMSUJYTF9ESVNLX0JBQ0tFTkRfVklSVElPOg0KPiArICAgICAgICAgICAg
ICAgIGRldiA9IGRpc2stPnBkZXZfcGF0aDsNCj4gKw0KPiArICAgICAgICAgICAgICAgIGZsZXhh
cnJheV9hcHBlbmQoYmFjaywgInBhcmFtcyIpOw0KPiArICAgICAgICAgICAgICAgIGZsZXhhcnJh
eV9hcHBlbmQoYmFjaywgZGV2KTsNCj4gDQo+ICsgICAgICAgICAgICAgICAgZmxleGFycmF5X2Fw
cGVuZF9wYWlyKGJhY2ssICJiYXNlIiwgR0NTUFJJTlRGKCIlbHUiLA0KPiBkaXNrLT5iYXNlKSk7
DQo+ICsgICAgICAgICAgICAgICAgZmxleGFycmF5X2FwcGVuZF9wYWlyKGJhY2ssICJpcnEiLCBH
Q1NQUklOVEYoIiV1IiwgZGlzay0NCj4gPmlycSkpOw0KPiArDQo+ICsgICAgICAgICAgICAgICAg
YXNzZXJ0KGRldmljZS0+YmFja2VuZF9raW5kID09DQo+IExJQlhMX19ERVZJQ0VfS0lORF9WSVJU
SU9fRElTSyk7DQo+ICsgICAgICAgICAgICAgICAgYnJlYWs7DQo+ICAgICAgICAgICAgICBjYXNl
IExJQlhMX0RJU0tfQkFDS0VORF9UQVA6DQo+ICAgICAgICAgICAgICAgICAgTE9HKEVSUk9SLCAi
YmxrdGFwIGlzIG5vdCBzdXBwb3J0ZWQiKTsNCj4gICAgICAgICAgICAgICAgICByYyA9IEVSUk9S
X0ZBSUw7DQo+IEBAIC01MzIsNiArNTU2LDI2IEBAIHN0YXRpYyBpbnQgbGlieGxfX2Rpc2tfZnJv
bV94ZW5zdG9yZShsaWJ4bF9fZ2MgKmdjLA0KPiBjb25zdCBjaGFyICpsaWJ4bF9wYXRoLA0KPiAg
ICAgIH0NCj4gICAgICBsaWJ4bF9zdHJpbmdfdG9fYmFja2VuZChjdHgsIHRtcCwgJihkaXNrLT5i
YWNrZW5kKSk7DQo+IA0KPiArICAgIGlmIChkaXNrLT5iYWNrZW5kID09IExJQlhMX0RJU0tfQkFD
S0VORF9WSVJUSU8pIHsNCj4gKyAgICAgICAgZGlzay0+dmlydGlvID0gdHJ1ZTsNCj4gKw0KPiAr
ICAgICAgICB0bXAgPSBsaWJ4bF9feHNfcmVhZChnYywgWEJUX05VTEwsDQo+ICsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIEdDU1BSSU5URigiJXMvYmFzZSIsIGxpYnhsX3BhdGgpKTsNCj4g
KyAgICAgICAgaWYgKCF0bXApIHsNCj4gKyAgICAgICAgICAgIExPRyhFUlJPUiwgIk1pc3Npbmcg
eGVuc3RvcmUgbm9kZSAlcy9iYXNlIiwgbGlieGxfcGF0aCk7DQo+ICsgICAgICAgICAgICBnb3Rv
IGNsZWFudXA7DQo+ICsgICAgICAgIH0NCj4gKyAgICAgICAgZGlzay0+YmFzZSA9IHN0cnRvdWwo
dG1wLCBOVUxMLCAxMCk7DQo+ICsNCj4gKyAgICAgICAgdG1wID0gbGlieGxfX3hzX3JlYWQoZ2Ms
IFhCVF9OVUxMLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHQ1NQUklOVEYoIiVz
L2lycSIsIGxpYnhsX3BhdGgpKTsNCj4gKyAgICAgICAgaWYgKCF0bXApIHsNCj4gKyAgICAgICAg
ICAgIExPRyhFUlJPUiwgIk1pc3NpbmcgeGVuc3RvcmUgbm9kZSAlcy9pcnEiLCBsaWJ4bF9wYXRo
KTsNCj4gKyAgICAgICAgICAgIGdvdG8gY2xlYW51cDsNCj4gKyAgICAgICAgfQ0KPiArICAgICAg
ICBkaXNrLT5pcnEgPSBzdHJ0b3VsKHRtcCwgTlVMTCwgMTApOw0KPiArICAgIH0NCj4gKw0KPiAg
ICAgIGRpc2stPnZkZXYgPSB4c19yZWFkKGN0eC0+eHNoLCBYQlRfTlVMTCwNCj4gICAgICAgICAg
ICAgICAgICAgICAgICAgICBHQ1NQUklOVEYoIiVzL2RldiIsIGxpYnhsX3BhdGgpLCAmbGVuKTsN
Cj4gICAgICBpZiAoIWRpc2stPnZkZXYpIHsNCj4gQEAgLTU3NSw2ICs2MTksNDEgQEAgY2xlYW51
cDoNCj4gICAgICByZXR1cm4gcmM7DQo+ICB9DQo+IA0KPiArc3RhdGljIGludCBsaWJ4bF9kZXZp
Y2VfZGlza19nZXRfcGF0aChsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCwNCj4gKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqKnBhdGgpDQo+ICt7DQo+ICsg
ICAgY29uc3QgY2hhciAqZGlyOw0KPiArICAgIGludCByYzsNCj4gKw0KPiArICAgIC8qDQo+ICsg
ICAgICogQXMgd2UgZG9uJ3Qga25vdyBleGFjdGx5IHdoYXQgZGV2aWNlIGtpbmQgdG8gYmUgdXNl
ZCBoZXJlLCBndWVzcw0KPiBpdA0KPiArICAgICAqIGJ5IGNoZWNraW5nIHRoZSBwcmVzZW5jZSBv
ZiB0aGUgY29ycmVzcG9uZGluZyBwYXRoIGluIFhlbnN0b3JlLg0KPiArICAgICAqIEZpcnN0LCB0
cnkgdG8gcmVhZCBwYXRoIGZvciB2YmQgZGV2aWNlIChkZWZhdWx0KSBhbmQgaWYgbm90IGV4aXN0
cw0KPiArICAgICAqIHJlYWQgcGF0aCBmb3IgdmlydGlvX2Rpc2sgZGV2aWNlLiBUaGlzIHdpbGwg
d29yayBhcyBsb25nIGFzIGJvdGgNCj4gWGVuIFBWDQo+ICsgICAgICogYW5kIFZpcnRpbyBkaXNr
IGRldmljZXMgYXJlIG5vdCBhc3NpZ25lZCB0byB0aGUgc2FtZSBndWVzdC4NCj4gKyAgICAgKi8N
Cj4gKyAgICAqcGF0aCA9IEdDU1BSSU5URigiJXMvZGV2aWNlLyVzIiwNCj4gKyAgICAgICAgICAg
ICAgICAgICAgICBsaWJ4bF9feHNfbGlieGxfcGF0aChnYywgZG9taWQpLA0KPiArDQo+IGxpYnhs
X19kZXZpY2Vfa2luZF90b19zdHJpbmcoTElCWExfX0RFVklDRV9LSU5EX1ZCRCkpOw0KPiArDQo+
ICsgICAgcmMgPSBsaWJ4bF9feHNfcmVhZF9jaGVja2VkKGdjLCBYQlRfTlVMTCwgKnBhdGgsICZk
aXIpOw0KPiArICAgIGlmIChyYykNCj4gKyAgICAgICAgcmV0dXJuIHJjOw0KPiArDQo+ICsgICAg
aWYgKGRpcikNCj4gKyAgICAgICAgcmV0dXJuIDA7DQo+ICsNCj4gKyAgICAqcGF0aCA9IEdDU1BS
SU5URigiJXMvZGV2aWNlLyVzIiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9feHNf
bGlieGxfcGF0aChnYywgZG9taWQpLA0KPiArDQo+IGxpYnhsX19kZXZpY2Vfa2luZF90b19zdHJp
bmcoTElCWExfX0RFVklDRV9LSU5EX1ZJUlRJT19ESVNLKSk7DQo+ICsNCj4gKyAgICByYyA9IGxp
YnhsX194c19yZWFkX2NoZWNrZWQoZ2MsIFhCVF9OVUxMLCAqcGF0aCwgJmRpcik7DQo+ICsgICAg
aWYgKHJjKQ0KPiArICAgICAgICByZXR1cm4gcmM7DQo+ICsNCj4gKyAgICByZXR1cm4gMDsNCj4g
K30NCj4gKw0KPiAgaW50IGxpYnhsX3ZkZXZfdG9fZGV2aWNlX2Rpc2sobGlieGxfY3R4ICpjdHgs
IHVpbnQzMl90IGRvbWlkLA0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
Y2hhciAqdmRldiwgbGlieGxfZGV2aWNlX2Rpc2sgKmRpc2spDQo+ICB7DQo+IEBAIC01ODgsMTAg
KzY2NywxMiBAQCBpbnQgbGlieGxfdmRldl90b19kZXZpY2VfZGlzayhsaWJ4bF9jdHggKmN0eCwN
Cj4gdWludDMyX3QgZG9taWQsDQo+IA0KPiAgICAgIGxpYnhsX2RldmljZV9kaXNrX2luaXQoZGlz
ayk7DQo+IA0KPiAtICAgIGxpYnhsX3BhdGggPSBsaWJ4bF9fZG9tYWluX2RldmljZV9saWJ4bF9w
YXRoKGdjLCBkb21pZCwgZGV2aWQsDQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgTElCWExfX0RFVklDRV9LSU5EX1ZCRCk7DQo+ICsgICAgcmMgPSBs
aWJ4bF9kZXZpY2VfZGlza19nZXRfcGF0aChnYywgZG9taWQsICZsaWJ4bF9wYXRoKTsNCj4gKyAg
ICBpZiAocmMpDQo+ICsgICAgICAgIHJldHVybiByYzsNCj4gDQo+IC0gICAgcmMgPSBsaWJ4bF9f
ZGlza19mcm9tX3hlbnN0b3JlKGdjLCBsaWJ4bF9wYXRoLCBkZXZpZCwgZGlzayk7DQo+ICsgICAg
cmMgPSBsaWJ4bF9fZGlza19mcm9tX3hlbnN0b3JlKGdjLCBHQ1NQUklOVEYoIiVzLyVkIiwgbGli
eGxfcGF0aCwNCj4gZGV2aWQpLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBkZXZpZCwgZGlzayk7DQo+IA0KPiAgICAgIEdDX0ZSRUU7DQo+ICAgICAgcmV0dXJuIHJjOw0K
PiBAQCAtNjA1LDE2ICs2ODYsMTkgQEAgaW50IGxpYnhsX2RldmljZV9kaXNrX2dldGluZm8obGli
eGxfY3R4ICpjdHgsDQo+IHVpbnQzMl90IGRvbWlkLA0KPiAgICAgIGNoYXIgKmZlX3BhdGgsICps
aWJ4bF9wYXRoOw0KPiAgICAgIGNoYXIgKnZhbDsNCj4gICAgICBpbnQgcmM7DQo+ICsgICAgbGli
eGxfX2RldmljZV9raW5kIGtpbmQ7DQo+IA0KPiAgICAgIGRpc2tpbmZvLT5iYWNrZW5kID0gTlVM
TDsNCj4gDQo+ICAgICAgZGlza2luZm8tPmRldmlkID0gbGlieGxfX2RldmljZV9kaXNrX2Rldl9u
dW1iZXIoZGlzay0+dmRldiwgTlVMTCwNCj4gTlVMTCk7DQo+IA0KPiAtICAgIC8qIHRhcCBkZXZp
Y2VzIGVudHJpZXMgaW4geGVuc3RvcmUgYXJlIHdyaXR0ZW4gYXMgdmJkIGRldmljZXMuICovDQo+
ICsgICAgLyogdGFwIGRldmljZXMgZW50cmllcyBpbiB4ZW5zdG9yZSBhcmUgd3JpdHRlbiBhcyB2
YmQvdmlydGlvX2Rpc2sNCj4gZGV2aWNlcy4gKi8NCj4gKyAgICBraW5kID0gZGlzay0+YmFja2Vu
ZCA9PSBMSUJYTF9ESVNLX0JBQ0tFTkRfVklSVElPID8NCj4gKyAgICAgICAgTElCWExfX0RFVklD
RV9LSU5EX1ZJUlRJT19ESVNLIDogTElCWExfX0RFVklDRV9LSU5EX1ZCRDsNCj4gICAgICBmZV9w
YXRoID0gbGlieGxfX2RvbWFpbl9kZXZpY2VfZnJvbnRlbmRfcGF0aChnYywgZG9taWQsIGRpc2tp
bmZvLQ0KPiA+ZGV2aWQsDQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgTElCWExfX0RFVklDRV9LSU5EX1ZCRCk7DQo+ICsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2luZCk7DQo+ICAgICAgbGlieGxfcGF0
aCA9IGxpYnhsX19kb21haW5fZGV2aWNlX2xpYnhsX3BhdGgoZ2MsIGRvbWlkLCBkaXNraW5mby0N
Cj4gPmRldmlkLA0KPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIExJQlhMX19ERVZJQ0VfS0lORF9WQkQpOw0KPiArICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtpbmQpOw0KPiAgICAgIGRpc2tpbmZvLT5iYWNr
ZW5kID0geHNfcmVhZChjdHgtPnhzaCwgWEJUX05VTEwsDQo+ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEdDU1BSSU5URigiJXMvYmFja2VuZCIsIGxpYnhsX3BhdGgpLA0KPiBOVUxM
KTsNCj4gICAgICBpZiAoIWRpc2tpbmZvLT5iYWNrZW5kKSB7DQo+IEBAIC0xMzc1LDYgKzE0NTks
NyBAQCBMSUJYTF9ERUZJTkVfREVWSUNFX0xJU1QoZGlzaykNCj4gICNkZWZpbmUgbGlieGxfX2Rl
dmljZV9kaXNrX3VwZGF0ZV9kZXZpZCBOVUxMDQo+IA0KPiAgREVGSU5FX0RFVklDRV9UWVBFX1NU
UlVDVChkaXNrLCBWQkQsIGRpc2tzLA0KPiArICAgIC5nZXRfcGF0aCAgICA9IGxpYnhsX2Rldmlj
ZV9kaXNrX2dldF9wYXRoLA0KPiAgICAgIC5tZXJnZSAgICAgICA9IGxpYnhsX2RldmljZV9kaXNr
X21lcmdlLA0KPiAgICAgIC5kbV9uZWVkZWQgICA9IGxpYnhsX2RldmljZV9kaXNrX2RtX25lZWRl
ZCwNCj4gICAgICAuZnJvbV94ZW5zdG9yZSA9IChkZXZpY2VfZnJvbV94ZW5zdG9yZV9mbl90KWxp
YnhsX19kaXNrX2Zyb21feGVuc3RvcmUsDQo+IGRpZmYgLS1naXQgYS90b29scy9saWJzL2xpZ2h0
L2xpYnhsX3R5cGVzLmlkbA0KPiBiL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfdHlwZXMuaWRsDQo+
IGluZGV4IGY0NWFkZGQuLmQ1MTNkZGUgMTAwNjQ0DQo+IC0tLSBhL3Rvb2xzL2xpYnMvbGlnaHQv
bGlieGxfdHlwZXMuaWRsDQo+ICsrKyBiL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfdHlwZXMuaWRs
DQo+IEBAIC0xMzAsNiArMTMwLDcgQEAgbGlieGxfZGlza19iYWNrZW5kID0gRW51bWVyYXRpb24o
ImRpc2tfYmFja2VuZCIsIFsNCj4gICAgICAoMSwgIlBIWSIpLA0KPiAgICAgICgyLCAiVEFQIiks
DQo+ICAgICAgKDMsICJRRElTSyIpLA0KPiArICAgICg0LCAiVklSVElPIiksDQo+ICAgICAgXSkN
Cj4gDQo+ICBsaWJ4bF9uaWNfdHlwZSA9IEVudW1lcmF0aW9uKCJuaWNfdHlwZSIsIFsNCj4gQEAg
LTY5OSw2ICs3MDAsOSBAQCBsaWJ4bF9kZXZpY2VfZGlzayA9IFN0cnVjdCgiZGV2aWNlX2Rpc2si
LCBbDQo+ICAgICAgKCJpc19jZHJvbSIsIGludGVnZXIpLA0KPiAgICAgICgiZGlyZWN0X2lvX3Nh
ZmUiLCBib29sKSwNCj4gICAgICAoImRpc2NhcmRfZW5hYmxlIiwgbGlieGxfZGVmYm9vbCksDQo+
ICsgICAgKCJ2aXJ0aW8iLCBib29sKSwNCj4gKyAgICAoImlycSIsIHVpbnQzMiksDQo+ICsgICAg
KCJiYXNlIiwgdWludDY0KSwNCj4gICAgICAjIE5vdGUgdGhhdCB0aGUgQ09MTyBjb25maWd1cmF0
aW9uIHNldHRpbmdzIHNob3VsZCBiZSBjb25zaWRlcmVkDQo+IHVuc3RhYmxlLg0KPiAgICAgICMg
VGhleSBtYXkgY2hhbmdlIGluY29tcGF0aWJseSBpbiBmdXR1cmUgdmVyc2lvbnMgb2YgWGVuLg0K
PiAgICAgICgiY29sb19lbmFibGUiLCBsaWJ4bF9kZWZib29sKSwNCj4gZGlmZiAtLWdpdCBhL3Rv
b2xzL2xpYnMvbGlnaHQvbGlieGxfdHlwZXNfaW50ZXJuYWwuaWRsDQo+IGIvdG9vbHMvbGlicy9s
aWdodC9saWJ4bF90eXBlc19pbnRlcm5hbC5pZGwNCj4gaW5kZXggMzU5M2UyMS4uOGY3MTk4MCAx
MDA2NDQNCj4gLS0tIGEvdG9vbHMvbGlicy9saWdodC9saWJ4bF90eXBlc19pbnRlcm5hbC5pZGwN
Cj4gKysrIGIvdG9vbHMvbGlicy9saWdodC9saWJ4bF90eXBlc19pbnRlcm5hbC5pZGwNCj4gQEAg
LTMyLDYgKzMyLDcgQEAgbGlieGxfX2RldmljZV9raW5kID0gRW51bWVyYXRpb24oImRldmljZV9r
aW5kIiwgWw0KPiAgICAgICgxNCwgIlBWQ0FMTFMiKSwNCj4gICAgICAoMTUsICJWU05EIiksDQo+
ICAgICAgKDE2LCAiVklOUFVUIiksDQo+ICsgICAgKDE3LCAiVklSVElPX0RJU0siKSwNCj4gICAg
ICBdKQ0KPiANCj4gIGxpYnhsX19jb25zb2xlX2JhY2tlbmQgPSBFbnVtZXJhdGlvbigiY29uc29s
ZV9iYWNrZW5kIiwgWw0KPiBkaWZmIC0tZ2l0IGEvdG9vbHMvbGlicy9saWdodC9saWJ4bF91dGls
cy5jDQo+IGIvdG9vbHMvbGlicy9saWdodC9saWJ4bF91dGlscy5jDQo+IGluZGV4IDQ2OTljNGEu
LmZhNDA2ZGUgMTAwNjQ0DQo+IC0tLSBhL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfdXRpbHMuYw0K
PiArKysgYi90b29scy9saWJzL2xpZ2h0L2xpYnhsX3V0aWxzLmMNCj4gQEAgLTMwNCw2ICszMDQs
OCBAQCBpbnQgbGlieGxfc3RyaW5nX3RvX2JhY2tlbmQobGlieGxfY3R4ICpjdHgsIGNoYXIgKnMs
DQo+IGxpYnhsX2Rpc2tfYmFja2VuZCAqYmFja2VuZA0KPiAgICAgICAgICAqYmFja2VuZCA9IExJ
QlhMX0RJU0tfQkFDS0VORF9UQVA7DQo+ICAgICAgfSBlbHNlIGlmICghc3RyY21wKHMsICJxZGlz
ayIpKSB7DQo+ICAgICAgICAgICpiYWNrZW5kID0gTElCWExfRElTS19CQUNLRU5EX1FESVNLOw0K
PiArICAgIH0gZWxzZSBpZiAoIXN0cmNtcChzLCAidmlydGlvX2Rpc2siKSkgew0KPiArICAgICAg
ICAqYmFja2VuZCA9IExJQlhMX0RJU0tfQkFDS0VORF9WSVJUSU87DQo+ICAgICAgfSBlbHNlIGlm
ICghc3RyY21wKHMsICJ0YXAiKSkgew0KPiAgICAgICAgICBwID0gc3RyY2hyKHMsICc6Jyk7DQo+
ICAgICAgICAgIGlmICghcCkgew0KPiBkaWZmIC0tZ2l0IGEvdG9vbHMvbGlicy91dGlsL2xpYnhs
dV9kaXNrX2wuYw0KPiBiL3Rvb2xzL2xpYnMvdXRpbC9saWJ4bHVfZGlza19sLmMNCj4gaW5kZXgg
MzJkNGI3NC4uN2FiYzY5OSAxMDA2NDQNCj4gLS0tIGEvdG9vbHMvbGlicy91dGlsL2xpYnhsdV9k
aXNrX2wuYw0KPiArKysgYi90b29scy9saWJzL3V0aWwvbGlieGx1X2Rpc2tfbC5jDQo+IEBAIC01
NDksOCArNTQ5LDggQEAgc3RhdGljIHZvaWQgeXlub3JldHVybiB5eV9mYXRhbF9lcnJvciAoIGNv
bnN0IGNoYXIqDQo+IG1zZyAsIHl5c2Nhbl90IHl5c2Nhbm5lciApOw0KPiAgCXl5Zy0+eXlfaG9s
ZF9jaGFyID0gKnl5X2NwOyBcDQo+ICAJKnl5X2NwID0gJ1wwJzsgXA0KPiAgCXl5Zy0+eXlfY19i
dWZfcCA9IHl5X2NwOw0KPiAtI2RlZmluZSBZWV9OVU1fUlVMRVMgMzYNCj4gLSNkZWZpbmUgWVlf
RU5EX09GX0JVRkZFUiAzNw0KPiArI2RlZmluZSBZWV9OVU1fUlVMRVMgMzcNCj4gKyNkZWZpbmUg
WVlfRU5EX09GX0JVRkZFUiAzOA0KPiAgLyogVGhpcyBzdHJ1Y3QgaXMgbm90IHVzZWQgaW4gdGhp
cyBzY2FubmVyLA0KPiAgICAgYnV0IGl0cyBwcmVzZW5jZSBpcyBuZWNlc3NhcnkuICovDQo+ICBz
dHJ1Y3QgeXlfdHJhbnNfaW5mbw0KPiBAQCAtNTU4LDc0ICs1NTgsNzUgQEAgc3RydWN0IHl5X3Ry
YW5zX2luZm8NCj4gIAlmbGV4X2ludDMyX3QgeXlfdmVyaWZ5Ow0KPiAgCWZsZXhfaW50MzJfdCB5
eV9ueHQ7DQo+ICAJfTsNCj4gLXN0YXRpYyBjb25zdCBmbGV4X2ludDE2X3QgeXlfYWNjbGlzdFs1
NzVdID0NCj4gK3N0YXRpYyBjb25zdCBmbGV4X2ludDE2X3QgeXlfYWNjbGlzdFs1ODNdID0NCj4g
ICAgICB7ICAgMCwNCj4gLSAgICAgICAzNSwgICAzNSwgICAzNywgICAzMywgICAzNCwgICAzNiwg
ODE5MywgICAzMywgICAzNCwgICAzNiwNCj4gLSAgICAxNjM4NSwgODE5MywgICAzMywgICAzNiwx
NjM4NSwgICAzMywgICAzNCwgICAzNiwgICAzNCwgICAzNiwNCj4gLSAgICAgICAzMywgICAzNCwg
ICAzNiwgICAzMywgICAzNCwgICAzNiwgICAzMywgICAzNCwgICAzNiwgICAzMywNCj4gLSAgICAg
ICAzNCwgICAzNiwgICAzMywgICAzNCwgICAzNiwgICAzMywgICAzNCwgICAzNiwgICAzMywgICAz
NCwNCj4gLSAgICAgICAzNiwgICAzMywgICAzNCwgICAzNiwgICAzMywgICAzNCwgICAzNiwgICAz
MywgICAzNCwgICAzNiwNCj4gLSAgICAgICAzMywgICAzNCwgICAzNiwgICAzMywgICAzNCwgICAz
NiwgICAzMywgICAzNCwgICAzNiwgICAzMywNCj4gLSAgICAgICAzNCwgICAzNiwgICAzMywgICAz
NCwgICAzNiwgICAzMywgICAzNCwgICAzNiwgICAzNSwgICAzNiwNCj4gLSAgICAgICAzNiwgICAz
MywgICAzMywgODE5MywgICAzMywgODE5MywgICAzMywxNjM4NSwgODE5MywgICAzMywNCj4gLSAg
ICAgODE5MywgICAzMywgICAzMywgODIyNCwgICAzMywxNjQxNiwgICAzMywgICAzMywgICAzMywg
ICAzMywNCj4gLSAgICAgICAzMywgICAzMywgICAzMywgICAzMywgICAzMywgICAzMywgICAzMywg
ICAzMywgICAzMywgICAzMywNCj4gLQ0KPiAtICAgICAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAg
IDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDM1LA0KPiAtICAgICA4MTkzLCAgIDMzLCA4
MTkzLCAgIDMzLCA4MTkzLCA4MjI0LCAgIDMzLCA4MjI0LCAgIDMzLCA4MjI0LA0KPiAtICAgICAg
IDIzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMz
LA0KPiAtICAgICAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMz
LCAgIDMzLCAgIDMzLA0KPiAtICAgICAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCA4MjI0
LCAgIDMzLCA4MjI0LCAgIDMzLCA4MjI0LA0KPiAtICAgICAgIDIzLCAgIDMzLCAgIDMzLCAgIDI4
LCA4MjI0LCAgIDMzLDE2NDE2LCAgIDMzLCAgIDMzLCAgIDE1LA0KPiAtICAgICAgIDMzLCAgIDMz
LCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCA4MjE3LA0KPiAtICAg
ICA4MjI0LCAgIDMzLDE2NDA5LDE2NDE2LCAgIDMzLCAgIDMzLCAgIDMxLCA4MjI0LCAgIDMzLDE2
NDE2LA0KPiAtICAgICAgIDMzLCA4MjE2LCA4MjI0LCAgIDMzLDE2NDA4LDE2NDE2LCAgIDMzLCAg
IDMzLCA4MjE5LCA4MjI0LA0KPiAtICAgICAgIDMzLDE2NDExLDE2NDE2LCAgIDMzLCAgIDMzLCAg
IDMzLCAgIDMzLCAgIDMzLCAgIDI4LCA4MjI0LA0KPiAtDQo+IC0gICAgICAgMzMsICAgMjgsIDgy
MjQsICAgMzMsICAgMjgsICAgMzMsICAgMjgsIDgyMjQsICAgMzMsICAgIDMsDQo+IC0gICAgICAg
MzMsICAgMTUsICAgMzMsICAgMzMsICAgMzMsICAgMzMsICAgMzMsICAgMzAsIDgyMjQsICAgMzMs
DQo+IC0gICAgMTY0MTYsICAgMzMsICAgMzMsICAgMzMsIDgyMTcsIDgyMjQsICAgMzMsIDgyMTcs
IDgyMjQsICAgMzMsDQo+IC0gICAgIDgyMTcsICAgMzMsIDgyMTcsIDgyMjQsICAgMzMsICAgMzMs
ICAgMzEsIDgyMjQsICAgMzMsICAgMzEsDQo+IC0gICAgIDgyMjQsICAgMzMsICAgMzEsICAgMzMs
ICAgMzEsIDgyMjQsIDgyMTYsIDgyMjQsICAgMzMsIDgyMTYsDQo+IC0gICAgIDgyMjQsICAgMzMs
IDgyMTYsICAgMzMsIDgyMTYsIDgyMjQsICAgMzMsIDgyMTksIDgyMjQsICAgMzMsDQo+IC0gICAg
IDgyMTksIDgyMjQsICAgMzMsIDgyMTksICAgMzMsIDgyMTksIDgyMjQsICAgMzMsICAgMzMsICAg
MTAsDQo+IC0gICAgICAgMzMsICAgMzMsICAgMjgsIDgyMjQsICAgMzMsICAgMjgsIDgyMjQsICAg
MzMsICAgMjgsIDgyMjQsDQo+IC0gICAgICAgMjgsICAgMzMsICAgMjgsICAgMzMsICAgIDMsICAg
MzMsICAgMzMsICAgMzMsICAgMzMsICAgMzMsDQo+IC0gICAgICAgMzMsICAgMzMsICAgMzAsIDgy
MjQsICAgMzMsICAgMzAsIDgyMjQsICAgMzMsICAgMzAsICAgMzMsDQo+IC0NCj4gLSAgICAgICAz
MCwgODIyNCwgICAzMywgICAzMywgICAyOSwgODIyNCwgICAzMywxNjQxNiwgODIxNywgODIyNCwN
Cj4gLSAgICAgICAzMywgODIxNywgODIyNCwgICAzMywgODIxNywgODIyNCwgODIxNywgICAzMywg
ODIxNywgICAzMywNCj4gLSAgICAgICAzMywgICAzMSwgODIyNCwgICAzMywgICAzMSwgODIyNCwg
ICAzMywgICAzMSwgODIyNCwgICAzMSwNCj4gLSAgICAgICAzMywgICAzMSwgODIxNiwgODIyNCwg
ICAzMywgODIxNiwgODIyNCwgICAzMywgODIxNiwgODIyNCwNCj4gLSAgICAgODIxNiwgICAzMywg
ODIxNiwgICAzMywgODIxOSwgODIyNCwgICAzMywgODIxOSwgODIyNCwgICAzMywNCj4gLSAgICAg
ODIxOSwgODIyNCwgODIxOSwgICAzMywgODIxOSwgICAzMywgICAzMywgICAxMCwgICAyMywgICAx
MCwNCj4gLSAgICAgICAgNywgICAzMywgICAzMywgICAzMywgICAzMywgICAzMywgICAzMywgICAz
MywgICAxMywgICAzMywNCj4gLSAgICAgICAzMCwgODIyNCwgICAzMywgICAzMCwgODIyNCwgICAz
MywgICAzMCwgODIyNCwgICAzMCwgICAzMywNCj4gLSAgICAgICAzMCwgICAgMiwgICAzMywgICAy
OSwgODIyNCwgICAzMywgICAyOSwgODIyNCwgICAzMywgICAyOSwNCj4gLSAgICAgICAzMywgICAy
OSwgODIyNCwgICAxNiwgICAzMywgICAzMywgICAxMSwgICAzMywgICAyMiwgICAxMCwNCj4gLQ0K
PiAtICAgICAgIDEwLCAgIDIzLCAgICA3LCAgIDIzLCAgICA3LCAgIDMzLCAgICA4LCAgIDMzLCAg
IDMzLCAgIDMzLA0KPiAtICAgICAgIDMzLCAgICA2LCAgIDMzLCAgIDEzLCAgIDMzLCAgICAyLCAg
IDIzLCAgICAyLCAgIDMzLCAgIDI5LA0KPiAtICAgICA4MjI0LCAgIDMzLCAgIDI5LCA4MjI0LCAg
IDMzLCAgIDI5LCA4MjI0LCAgIDI5LCAgIDMzLCAgIDI5LA0KPiAtICAgICAgIDE2LCAgIDMzLCAg
IDMzLCAgIDExLCAgIDIzLCAgIDExLCAgIDI2LCA4MjI0LCAgIDMzLDE2NDE2LA0KPiAtICAgICAg
IDIyLCAgIDIzLCAgIDIyLCAgICA3LCAgICA3LCAgIDIzLCAgIDMzLCAgICA4LCAgIDIzLCAgICA4
LA0KPiAtICAgICAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgICA2LCAgIDIzLCAgICA2LCAgICA2
LCAgIDIzLCAgICA2LA0KPiAtICAgICAgIDIzLCAgIDMzLCAgICAyLCAgICAyLCAgIDIzLCAgIDMz
LCAgIDMzLCAgIDExLCAgIDExLCAgIDIzLA0KPiAtICAgICAgIDI2LCA4MjI0LCAgIDMzLCAgIDI2
LCA4MjI0LCAgIDMzLCAgIDI2LCAgIDMzLCAgIDI2LCA4MjI0LA0KPiAtICAgICAgIDIyLCAgIDIz
LCAgIDMzLCAgICA4LCAgICA4LCAgIDIzLCAgIDMzLCAgIDMzLCAgIDE3LCAgIDE4LA0KPiAtICAg
ICAgICA2LCAgICA2LCAgIDIzLCAgICA2LCAgICA2LCAgIDMzLCAgIDMzLCAgIDE0LCAgIDMzLCAg
IDI2LA0KPiAtDQo+IC0gICAgIDgyMjQsICAgMzMsICAgMjYsIDgyMjQsICAgMzMsICAgMjYsIDgy
MjQsICAgMjYsICAgMzMsICAgMjYsDQo+IC0gICAgICAgMzMsICAgMzMsICAgMzMsICAgMTcsICAg
MjMsICAgMTcsICAgMTgsICAgMjMsICAgMTgsICAgIDYsDQo+IC0gICAgICAgIDYsICAgMzMsICAg
MzMsICAgMTQsICAgMzMsICAgMjAsICAgIDksICAgMTksICAgMTcsICAgMTcsDQo+IC0gICAgICAg
MjMsICAgMTgsICAgMTgsICAgMjMsICAgIDYsICAgIDUsICAgIDYsICAgMzMsICAgMjEsICAgMjAs
DQo+IC0gICAgICAgMjMsICAgMjAsICAgIDksICAgMjMsICAgIDksICAgMTksICAgMjMsICAgMTks
ICAgIDQsICAgIDYsDQo+IC0gICAgICAgIDUsICAgIDYsICAgMzMsICAgMjEsICAgMjMsICAgMjEs
ICAgMjAsICAgMjAsICAgMjMsICAgIDksDQo+IC0gICAgICAgIDksICAgMjMsICAgMTksICAgMTks
ICAgMjMsICAgIDQsICAgIDYsICAgMTIsICAgMzMsICAgMjEsDQo+IC0gICAgICAgMjEsICAgMjMs
ICAgMTIsICAgMzMNCj4gKyAgICAgICAzNiwgICAzNiwgICAzOCwgICAzNCwgICAzNSwgICAzNywg
ODE5MywgICAzNCwgICAzNSwgICAzNywNCj4gKyAgICAxNjM4NSwgODE5MywgICAzNCwgICAzNywx
NjM4NSwgICAzNCwgICAzNSwgICAzNywgICAzNSwgICAzNywNCj4gKyAgICAgICAzNCwgICAzNSwg
ICAzNywgICAzNCwgICAzNSwgICAzNywgICAzNCwgICAzNSwgICAzNywgICAzNCwNCj4gKyAgICAg
ICAzNSwgICAzNywgICAzNCwgICAzNSwgICAzNywgICAzNCwgICAzNSwgICAzNywgICAzNCwgICAz
NSwNCj4gKyAgICAgICAzNywgICAzNCwgICAzNSwgICAzNywgICAzNCwgICAzNSwgICAzNywgICAz
NCwgICAzNSwgICAzNywNCj4gKyAgICAgICAzNCwgICAzNSwgICAzNywgICAzNCwgICAzNSwgICAz
NywgICAzNCwgICAzNSwgICAzNywgICAzNCwNCj4gKyAgICAgICAzNSwgICAzNywgICAzNCwgICAz
NSwgICAzNywgICAzNCwgICAzNSwgICAzNywgICAzNiwgICAzNywNCj4gKyAgICAgICAzNywgICAz
NCwgICAzNCwgODE5MywgICAzNCwgODE5MywgICAzNCwxNjM4NSwgODE5MywgICAzNCwNCj4gKyAg
ICAgODE5MywgICAzNCwgICAzNCwgODIyNSwgICAzNCwxNjQxNywgICAzNCwgICAzNCwgICAzNCwg
ICAzNCwNCj4gKyAgICAgICAzNCwgICAzNCwgICAzNCwgICAzNCwgICAzNCwgICAzNCwgICAzNCwg
ICAzNCwgICAzNCwgICAzNCwNCj4gKw0KPiArICAgICAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAg
IDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LA0KPiArICAgICAgIDM2LCA4MTkzLCAg
IDM0LCA4MTkzLCAgIDM0LCA4MTkzLCA4MjI1LCAgIDM0LCA4MjI1LCAgIDM0LA0KPiArICAgICA4
MjI1LCAgIDI0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0
LA0KPiArICAgICAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0
LCAgIDM0LCAgIDM0LA0KPiArICAgICAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0
LCAgIDM0LCA4MjI1LCAgIDM0LCA4MjI1LA0KPiArICAgICAgIDM0LCA4MjI1LCAgIDI0LCAgIDM0
LCAgIDM0LCAgIDI5LCA4MjI1LCAgIDM0LDE2NDE3LCAgIDM0LA0KPiArICAgICAgIDM0LCAgIDE2
LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LA0KPiArICAg
ICAgIDM0LCA4MjE4LCA4MjI1LCAgIDM0LDE2NDEwLDE2NDE3LCAgIDM0LCAgIDM0LCAgIDMyLCA4
MjI1LA0KPiArICAgICAgIDM0LDE2NDE3LCAgIDM0LCA4MjE3LCA4MjI1LCAgIDM0LDE2NDA5LDE2
NDE3LCAgIDM0LCAgIDM0LA0KPiArICAgICA4MjIwLCA4MjI1LCAgIDM0LDE2NDEyLDE2NDE3LCAg
IDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LA0KPiArDQo+ICsgICAgICAgMzQsICAgMjksIDgy
MjUsICAgMzQsICAgMjksIDgyMjUsICAgMzQsICAgMjksICAgMzQsICAgMjksDQo+ICsgICAgIDgy
MjUsICAgMzQsICAgIDMsICAgMzQsICAgMTYsICAgMzQsICAgMzQsICAgMzQsICAgMzQsICAgMzQs
DQo+ICsgICAgICAgMzEsIDgyMjUsICAgMzQsMTY0MTcsICAgMzQsICAgMzQsICAgMzQsIDgyMTgs
IDgyMjUsICAgMzQsDQo+ICsgICAgIDgyMTgsIDgyMjUsICAgMzQsIDgyMTgsICAgMzQsIDgyMTgs
IDgyMjUsICAgMzQsICAgMzQsICAgMzIsDQo+ICsgICAgIDgyMjUsICAgMzQsICAgMzIsIDgyMjUs
ICAgMzQsICAgMzIsICAgMzQsICAgMzIsIDgyMjUsIDgyMTcsDQo+ICsgICAgIDgyMjUsICAgMzQs
IDgyMTcsIDgyMjUsICAgMzQsIDgyMTcsICAgMzQsIDgyMTcsIDgyMjUsICAgMzQsDQo+ICsgICAg
IDgyMjAsIDgyMjUsICAgMzQsIDgyMjAsIDgyMjUsICAgMzQsIDgyMjAsICAgMzQsIDgyMjAsIDgy
MjUsDQo+ICsgICAgICAgMzQsICAgMzQsICAgMTAsICAgMzQsICAgMzQsICAgMzQsICAgMjksIDgy
MjUsICAgMzQsICAgMjksDQo+ICsgICAgIDgyMjUsICAgMzQsICAgMjksIDgyMjUsICAgMjksICAg
MzQsICAgMjksICAgMzQsICAgIDMsICAgMzQsDQo+ICsgICAgICAgMzQsICAgMzQsICAgMzQsICAg
MzQsICAgMzQsICAgMzQsICAgMzEsIDgyMjUsICAgMzQsICAgMzEsDQo+ICsNCj4gKyAgICAgODIy
NSwgICAzNCwgICAzMSwgICAzNCwgICAzMSwgODIyNSwgICAzNCwgICAzNCwgICAzMCwgODIyNSwN
Cj4gKyAgICAgICAzNCwxNjQxNywgODIxOCwgODIyNSwgICAzNCwgODIxOCwgODIyNSwgICAzNCwg
ODIxOCwgODIyNSwNCj4gKyAgICAgODIxOCwgICAzNCwgODIxOCwgICAzNCwgICAzNCwgICAzMiwg
ODIyNSwgICAzNCwgICAzMiwgODIyNSwNCj4gKyAgICAgICAzNCwgICAzMiwgODIyNSwgICAzMiwg
ICAzNCwgICAzMiwgODIxNywgODIyNSwgICAzNCwgODIxNywNCj4gKyAgICAgODIyNSwgICAzNCwg
ODIxNywgODIyNSwgODIxNywgICAzNCwgODIxNywgICAzNCwgODIyMCwgODIyNSwNCj4gKyAgICAg
ICAzNCwgODIyMCwgODIyNSwgICAzNCwgODIyMCwgODIyNSwgODIyMCwgICAzNCwgODIyMCwgICAz
NCwNCj4gKyAgICAgICAzNCwgICAxMCwgICAyNCwgICAxMCwgICAxNSwgICAzNCwgICAgNywgICAz
NCwgICAzNCwgICAzNCwNCj4gKyAgICAgICAzNCwgICAzNCwgICAzNCwgICAzNCwgICAxMywgICAz
NCwgICAzMSwgODIyNSwgICAzNCwgICAzMSwNCj4gKyAgICAgODIyNSwgICAzNCwgICAzMSwgODIy
NSwgICAzMSwgICAzNCwgICAzMSwgICAgMiwgICAzNCwgICAzMCwNCj4gKyAgICAgODIyNSwgICAz
NCwgICAzMCwgODIyNSwgICAzNCwgICAzMCwgICAzNCwgICAzMCwgODIyNSwgICAxNywNCj4gKw0K
PiArICAgICAgIDM0LCAgIDM0LCAgIDExLCAgIDM0LCAgIDIzLCAgIDEwLCAgIDEwLCAgIDI0LCAg
IDE1LCAgIDM0LA0KPiArICAgICAgICA3LCAgIDI0LCAgICA3LCAgIDM0LCAgICA4LCAgIDM0LCAg
IDM0LCAgIDM0LCAgIDM0LCAgICA2LA0KPiArICAgICAgIDM0LCAgIDEzLCAgIDM0LCAgICAyLCAg
IDI0LCAgICAyLCAgIDM0LCAgIDMwLCA4MjI1LCAgIDM0LA0KPiArICAgICAgIDMwLCA4MjI1LCAg
IDM0LCAgIDMwLCA4MjI1LCAgIDMwLCAgIDM0LCAgIDMwLCAgIDE3LCAgIDM0LA0KPiArICAgICAg
IDM0LCAgIDExLCAgIDI0LCAgIDExLCAgIDI3LCA4MjI1LCAgIDM0LDE2NDE3LCAgIDIzLCAgIDI0
LA0KPiArICAgICAgIDIzLCAgICA3LCAgICA3LCAgIDI0LCAgIDM0LCAgICA4LCAgIDI0LCAgICA4
LCAgIDM0LCAgIDM0LA0KPiArICAgICAgIDM0LCAgIDM0LCAgICA2LCAgIDI0LCAgICA2LCAgICA2
LCAgIDI0LCAgICA2LCAgIDI0LCAgIDM0LA0KPiArICAgICAgICAyLCAgICAyLCAgIDI0LCAgIDM0
LCAgIDM0LCAgIDExLCAgIDExLCAgIDI0LCAgIDI3LCA4MjI1LA0KPiArICAgICAgIDM0LCAgIDI3
LCA4MjI1LCAgIDM0LCAgIDI3LCAgIDM0LCAgIDI3LCA4MjI1LCAgIDIzLCAgIDI0LA0KPiArICAg
ICAgIDM0LCAgICA4LCAgICA4LCAgIDI0LCAgIDM0LCAgIDM0LCAgIDE4LCAgIDE5LCAgICA2LCAg
ICA2LA0KPiArDQo+ICsgICAgICAgMjQsICAgIDYsICAgIDYsICAgMzQsICAgMzQsICAgMTQsICAg
MzQsICAgMjcsIDgyMjUsICAgMzQsDQo+ICsgICAgICAgMjcsIDgyMjUsICAgMzQsICAgMjcsIDgy
MjUsICAgMjcsICAgMzQsICAgMjcsICAgMzQsICAgMzQsDQo+ICsgICAgICAgMzQsICAgMTgsICAg
MjQsICAgMTgsICAgMTksICAgMjQsICAgMTksICAgIDYsICAgIDYsICAgMzQsDQo+ICsgICAgICAg
MzQsICAgMTQsICAgMzQsICAgMjEsICAgIDksICAgMjAsICAgMTgsICAgMTgsICAgMjQsICAgMTks
DQo+ICsgICAgICAgMTksICAgMjQsICAgIDYsICAgIDUsICAgIDYsICAgMzQsICAgMjIsICAgMjEs
ICAgMjQsICAgMjEsDQo+ICsgICAgICAgIDksICAgMjQsICAgIDksICAgMjAsICAgMjQsICAgMjAs
ICAgIDQsICAgIDYsICAgIDUsICAgIDYsDQo+ICsgICAgICAgMzQsICAgMjIsICAgMjQsICAgMjIs
ICAgMjEsICAgMjEsICAgMjQsICAgIDksICAgIDksICAgMjQsDQo+ICsgICAgICAgMjAsICAgMjAs
ICAgMjQsICAgIDQsICAgIDYsICAgMTIsICAgMzQsICAgMjIsICAgMjIsICAgMjQsDQo+ICsgICAg
ICAgMTIsICAgMzQNCj4gICAgICB9IDsNCj4gDQo+IC1zdGF0aWMgY29uc3QgZmxleF9pbnQxNl90
IHl5X2FjY2VwdFszNTZdID0NCj4gK3N0YXRpYyBjb25zdCBmbGV4X2ludDE2X3QgeXlfYWNjZXB0
WzM2Ml0gPQ0KPiAgICAgIHsgICAwLA0KPiAgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAyLCAg
ICAzLCAgICA0LCAgICA3LCAgIDEyLCAgIDE2LCAgIDE5LA0KPiAgICAgICAgIDIxLCAgIDI0LCAg
IDI3LCAgIDMwLCAgIDMzLCAgIDM2LCAgIDM5LCAgIDQyLCAgIDQ1LCAgIDQ4LA0KPiBAQCAtNjMz
LDM5ICs2MzQsNDAgQEAgc3RhdGljIGNvbnN0IGZsZXhfaW50MTZfdCB5eV9hY2NlcHRbMzU2XSA9
DQo+ICAgICAgICAgNzQsICAgNzYsICAgNzksICAgODEsICAgODIsICAgODMsICAgODQsICAgODcs
ICAgODcsICAgODgsDQo+ICAgICAgICAgODksICAgOTAsICAgOTEsICAgOTIsICAgOTMsICAgOTQs
ICAgOTUsICAgOTYsICAgOTcsICAgOTgsDQo+ICAgICAgICAgOTksICAxMDAsICAxMDEsICAxMDIs
ICAxMDMsICAxMDQsICAxMDUsICAxMDYsICAxMDcsICAxMDgsDQo+IC0gICAgICAxMDksICAxMTAs
ICAxMTEsICAxMTMsICAxMTUsICAxMTYsICAxMTgsICAxMjAsICAxMjEsICAxMjIsDQo+ICsgICAg
ICAxMDksICAxMTAsICAxMTEsICAxMTIsICAxMTQsICAxMTYsICAxMTcsICAxMTksICAxMjEsICAx
MjIsDQo+ICAgICAgICAxMjMsICAxMjQsICAxMjUsICAxMjYsICAxMjcsICAxMjgsICAxMjksICAx
MzAsICAxMzEsICAxMzIsDQo+ICAgICAgICAxMzMsICAxMzQsICAxMzUsICAxMzYsICAxMzcsICAx
MzgsICAxMzksICAxNDAsICAxNDEsICAxNDIsDQo+IC0gICAgICAxNDMsICAxNDQsICAxNDUsICAx
NDYsICAxNDgsICAxNTAsICAxNTEsICAxNTIsICAxNTMsICAxNTQsDQo+IC0NCj4gLSAgICAgIDE1
OCwgIDE1OSwgIDE2MCwgIDE2MiwgIDE2MywgIDE2NCwgIDE2NSwgIDE2NiwgIDE2NywgIDE2OCwN
Cj4gLSAgICAgIDE2OSwgIDE3MCwgIDE3NSwgIDE3NiwgIDE3NywgIDE4MSwgIDE4MiwgIDE4Nywg
IDE4OCwgIDE4OSwNCj4gLSAgICAgIDE5NCwgIDE5NSwgIDE5NiwgIDE5NywgIDE5OCwgIDE5OSwg
IDIwMiwgIDIwNSwgIDIwNywgIDIwOSwNCj4gLSAgICAgIDIxMCwgIDIxMiwgIDIxNCwgIDIxNSwg
IDIxNiwgIDIxNywgIDIxOCwgIDIyMiwgIDIyMywgIDIyNCwNCj4gLSAgICAgIDIyNSwgIDIyOCwg
IDIzMSwgIDIzMywgIDIzNSwgIDIzNiwgIDIzNywgIDI0MCwgIDI0MywgIDI0NSwNCj4gLSAgICAg
IDI0NywgIDI1MCwgIDI1MywgIDI1NSwgIDI1NywgIDI1OCwgIDI2MSwgIDI2NCwgIDI2NiwgIDI2
OCwNCj4gLSAgICAgIDI2OSwgIDI3MCwgIDI3MSwgIDI3MiwgIDI3MywgIDI3NiwgIDI3OSwgIDI4
MSwgIDI4MywgIDI4NCwNCj4gLSAgICAgIDI4NSwgIDI4NywgIDI4OCwgIDI4OSwgIDI5MCwgIDI5
MSwgIDI5MiwgIDI5MywgIDI5NiwgIDI5OSwNCj4gLSAgICAgIDMwMSwgIDMwMywgIDMwNCwgIDMw
NSwgIDMwOSwgIDMxMiwgIDMxNSwgIDMxNywgIDMxOSwgIDMyMCwNCj4gLSAgICAgIDMyMSwgIDMy
MiwgIDMyNSwgIDMyOCwgIDMzMCwgIDMzMiwgIDMzMywgIDMzNiwgIDMzOSwgIDM0MSwNCj4gLQ0K
PiAtICAgICAgMzQzLCAgMzQ0LCAgMzQ1LCAgMzQ4LCAgMzUxLCAgMzUzLCAgMzU1LCAgMzU2LCAg
MzU3LCAgMzU4LA0KPiAtICAgICAgMzYwLCAgMzYxLCAgMzYyLCAgMzYzLCAgMzY0LCAgMzY1LCAg
MzY2LCAgMzY3LCAgMzY4LCAgMzY5LA0KPiAtICAgICAgMzcxLCAgMzc0LCAgMzc3LCAgMzc5LCAg
MzgxLCAgMzgyLCAgMzgzLCAgMzg0LCAgMzg3LCAgMzkwLA0KPiAtICAgICAgMzkyLCAgMzk0LCAg
Mzk2LCAgMzk3LCAgMzk4LCAgMzk5LCAgNDAwLCAgNDAxLCAgNDAzLCAgNDA1LA0KPiAtICAgICAg
NDA2LCAgNDA3LCAgNDA4LCAgNDA5LCAgNDEwLCAgNDExLCAgNDEyLCAgNDEzLCAgNDE0LCAgNDE2
LA0KPiAtICAgICAgNDE4LCAgNDE5LCAgNDIwLCAgNDIzLCAgNDI2LCAgNDI4LCAgNDMwLCAgNDMx
LCAgNDMzLCAgNDM0LA0KPiAtICAgICAgNDM2LCAgNDM3LCAgNDQxLCAgNDQzLCAgNDQ0LCAgNDQ1
LCAgNDQ3LCAgNDQ4LCAgNDUwLCAgNDUxLA0KPiAtICAgICAgNDUyLCAgNDUzLCAgNDU0LCAgNDU1
LCAgNDU3LCAgNDU4LCAgNDYwLCAgNDYyLCAgNDYzLCAgNDY0LA0KPiAtICAgICAgNDY2LCAgNDY3
LCAgNDY4LCAgNDY5LCAgNDcxLCAgNDc0LCAgNDc3LCAgNDc5LCAgNDgxLCAgNDgzLA0KPiAtICAg
ICAgNDg0LCAgNDg1LCAgNDg3LCAgNDg4LCAgNDg5LCAgNDkwLCAgNDkxLCAgNDkyLCAgNDk0LCAg
NDk1LA0KPiAtDQo+IC0gICAgICA0OTYsICA0OTcsICA0OTgsICA1MDAsICA1MDMsICA1MDYsICA1
MDgsICA1MTAsICA1MTEsICA1MTIsDQo+IC0gICAgICA1MTMsICA1MTQsICA1MTYsICA1MTcsICA1
MTksICA1MjAsICA1MjEsICA1MjIsICA1MjMsICA1MjQsDQo+IC0gICAgICA1MjYsICA1MjcsICA1
MjgsICA1MjksICA1MzAsICA1MzIsICA1MzMsICA1MzUsICA1MzYsICA1MzgsDQo+IC0gICAgICA1
MzksICA1NDAsICA1NDIsICA1NDMsICA1NDUsICA1NDYsICA1NDgsICA1NDksICA1NTEsICA1NTMs
DQo+IC0gICAgICA1NTQsICA1NTYsICA1NTcsICA1NTgsICA1NjAsICA1NjEsICA1NjMsICA1NjQs
ICA1NjYsICA1NjgsDQo+IC0gICAgICA1NzAsICA1NzEsICA1NzMsICA1NzUsICA1NzUNCj4gKyAg
ICAgIDE0MywgIDE0NCwgIDE0NSwgIDE0NiwgIDE0NywgIDE0OCwgIDE1MCwgIDE1MiwgIDE1Mywg
IDE1NCwNCj4gKw0KPiArICAgICAgMTU1LCAgMTU2LCAgMTYwLCAgMTYxLCAgMTYyLCAgMTY0LCAg
MTY1LCAgMTY2LCAgMTY3LCAgMTY4LA0KPiArICAgICAgMTY5LCAgMTcwLCAgMTcxLCAgMTcyLCAg
MTc3LCAgMTc4LCAgMTc5LCAgMTgzLCAgMTg0LCAgMTg5LA0KPiArICAgICAgMTkwLCAgMTkxLCAg
MTk2LCAgMTk3LCAgMTk4LCAgMTk5LCAgMjAwLCAgMjAxLCAgMjAyLCAgMjA1LA0KPiArICAgICAg
MjA4LCAgMjEwLCAgMjEyLCAgMjEzLCAgMjE1LCAgMjE3LCAgMjE4LCAgMjE5LCAgMjIwLCAgMjIx
LA0KPiArICAgICAgMjI1LCAgMjI2LCAgMjI3LCAgMjI4LCAgMjMxLCAgMjM0LCAgMjM2LCAgMjM4
LCAgMjM5LCAgMjQwLA0KPiArICAgICAgMjQzLCAgMjQ2LCAgMjQ4LCAgMjUwLCAgMjUzLCAgMjU2
LCAgMjU4LCAgMjYwLCAgMjYxLCAgMjY0LA0KPiArICAgICAgMjY3LCAgMjY5LCAgMjcxLCAgMjcy
LCAgMjczLCAgMjc0LCAgMjc1LCAgMjc2LCAgMjc3LCAgMjgwLA0KPiArICAgICAgMjgzLCAgMjg1
LCAgMjg3LCAgMjg4LCAgMjg5LCAgMjkxLCAgMjkyLCAgMjkzLCAgMjk0LCAgMjk1LA0KPiArICAg
ICAgMjk2LCAgMjk3LCAgMzAwLCAgMzAzLCAgMzA1LCAgMzA3LCAgMzA4LCAgMzA5LCAgMzEzLCAg
MzE2LA0KPiArICAgICAgMzE5LCAgMzIxLCAgMzIzLCAgMzI0LCAgMzI1LCAgMzI2LCAgMzI5LCAg
MzMyLCAgMzM0LCAgMzM2LA0KPiArDQo+ICsgICAgICAzMzcsICAzNDAsICAzNDMsICAzNDUsICAz
NDcsICAzNDgsICAzNDksICAzNTIsICAzNTUsICAzNTcsDQo+ICsgICAgICAzNTksICAzNjAsICAz
NjEsICAzNjIsICAzNjQsICAzNjUsICAzNjcsICAzNjgsICAzNjksICAzNzAsDQo+ICsgICAgICAz
NzEsICAzNzIsICAzNzMsICAzNzQsICAzNzUsICAzNzcsICAzODAsICAzODMsICAzODUsICAzODcs
DQo+ICsgICAgICAzODgsICAzODksICAzOTAsICAzOTMsICAzOTYsICAzOTgsICA0MDAsICA0MDIs
ICA0MDMsICA0MDQsDQo+ICsgICAgICA0MDUsICA0MDYsICA0MDcsICA0MDksICA0MTEsICA0MTMs
ICA0MTQsICA0MTUsICA0MTYsICA0MTcsDQo+ICsgICAgICA0MTgsICA0MTksICA0MjAsICA0MjEs
ICA0MjIsICA0MjQsICA0MjYsICA0MjcsICA0MjgsICA0MzEsDQo+ICsgICAgICA0MzQsICA0MzYs
ICA0MzgsICA0MzksICA0NDEsICA0NDIsICA0NDQsICA0NDUsICA0NDksICA0NTEsDQo+ICsgICAg
ICA0NTIsICA0NTMsICA0NTUsICA0NTYsICA0NTgsICA0NTksICA0NjAsICA0NjEsICA0NjIsICA0
NjMsDQo+ICsgICAgICA0NjUsICA0NjYsICA0NjgsICA0NzAsICA0NzEsICA0NzIsICA0NzQsICA0
NzUsICA0NzYsICA0NzcsDQo+ICsgICAgICA0NzksICA0ODIsICA0ODUsICA0ODcsICA0ODksICA0
OTEsICA0OTIsICA0OTMsICA0OTUsICA0OTYsDQo+ICsNCj4gKyAgICAgIDQ5NywgIDQ5OCwgIDQ5
OSwgIDUwMCwgIDUwMiwgIDUwMywgIDUwNCwgIDUwNSwgIDUwNiwgIDUwOCwNCj4gKyAgICAgIDUx
MSwgIDUxNCwgIDUxNiwgIDUxOCwgIDUxOSwgIDUyMCwgIDUyMSwgIDUyMiwgIDUyNCwgIDUyNSwN
Cj4gKyAgICAgIDUyNywgIDUyOCwgIDUyOSwgIDUzMCwgIDUzMSwgIDUzMiwgIDUzNCwgIDUzNSwg
IDUzNiwgIDUzNywNCj4gKyAgICAgIDUzOCwgIDU0MCwgIDU0MSwgIDU0MywgIDU0NCwgIDU0Niwg
IDU0NywgIDU0OCwgIDU1MCwgIDU1MSwNCj4gKyAgICAgIDU1MywgIDU1NCwgIDU1NiwgIDU1Nywg
IDU1OSwgIDU2MSwgIDU2MiwgIDU2NCwgIDU2NSwgIDU2NiwNCj4gKyAgICAgIDU2OCwgIDU2OSwg
IDU3MSwgIDU3MiwgIDU3NCwgIDU3NiwgIDU3OCwgIDU3OSwgIDU4MSwgIDU4MywNCj4gKyAgICAg
IDU4Mw0KPiAgICAgIH0gOw0KPiANCj4gIHN0YXRpYyBjb25zdCBZWV9DSEFSIHl5X2VjWzI1Nl0g
PQ0KPiBAQCAtNzA4LDIxNiArNzEwLDIxNyBAQCBzdGF0aWMgY29uc3QgWVlfQ0hBUiB5eV9tZXRh
WzM1XSA9DQo+ICAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDENCj4gICAgICB9IDsNCj4gDQo+
IC1zdGF0aWMgY29uc3QgZmxleF9pbnQxNl90IHl5X2Jhc2VbNDI0XSA9DQo+ICtzdGF0aWMgY29u
c3QgZmxleF9pbnQxNl90IHl5X2Jhc2VbNDMwXSA9DQo+ICAgICAgeyAgIDAsDQo+IC0gICAgICAg
IDAsICAgIDAsICA5MDEsICA5MDAsICA5MDIsICA4OTcsICAgMzMsICAgMzYsICA5MDUsICA5MDUs
DQo+IC0gICAgICAgNDUsICAgNjMsICAgMzEsICAgNDIsICAgNTEsICAgNTIsICA4OTAsICAgMzMs
ICAgNjUsICAgNjcsDQo+IC0gICAgICAgNjksICAgNzAsICA4ODksICAgNzEsICA4ODgsICAgNzUs
ICAgIDAsICA5MDUsICA4OTMsICA5MDUsDQo+IC0gICAgICAgOTEsICAgOTQsICAgIDAsICAgIDAs
ICAxMDMsICA4ODYsICAxMTIsICAgIDAsICAgODksICAgOTgsDQo+IC0gICAgICAxMTMsICAgOTIs
ICAxMTQsICAgOTksICAxMDAsICAgNDgsICAxMjEsICAxMTYsICAxMTksICAgNzQsDQo+IC0gICAg
ICAxMjQsICAxMjksICAxMjMsICAxMzUsICAxMzIsICAxMzMsICAxMzcsICAxMzQsICAxMzgsICAx
MzksDQo+IC0gICAgICAxNDEsICAgIDAsICAxNTUsICAgIDAsICAgIDAsICAxNjQsICAgIDAsICAg
IDAsICA4NDksICAxNDIsDQo+IC0gICAgICAxNTIsICAxNjQsICAxNDAsICAxNjEsICAxNjUsICAx
NjYsICAxNjcsICAxNjgsICAxNjksICAxNzMsDQo+IC0gICAgICAxNzQsICAxNzgsICAxNzYsICAx
ODAsICAxODQsICAyMDgsICAxODksICAxODMsICAxOTIsICAxOTUsDQo+IC0gICAgICAyMTUsICAx
OTEsICAxOTMsICAyMjMsICAgIDAsICAgIDAsICA5MDUsICAyMDgsICAyMDQsICAyMzYsDQo+IC0N
Cj4gLSAgICAgIDIxOSwgIDIwOSwgIDIzOCwgIDE5NiwgIDIzNywgIDgzMSwgIDI0MiwgIDgxNSwg
IDI0MSwgIDIyNCwNCj4gLSAgICAgIDI0MywgIDI2MSwgIDI0NCwgIDI1OSwgIDI3NywgIDI2Niwg
IDI4NiwgIDI1MCwgIDI4OCwgIDI5OCwNCj4gLSAgICAgIDI0OSwgIDI4MywgIDI3NCwgIDI4Miwg
IDI5NCwgIDMwOCwgICAgMCwgIDMxMCwgICAgMCwgIDI5NSwNCj4gLSAgICAgIDMwNSwgIDkwNSwg
IDMwOCwgIDMwNiwgIDMxMywgIDMxNCwgIDM0MiwgIDMxOSwgIDMxNiwgIDMyMCwNCj4gLSAgICAg
IDMzMSwgICAgMCwgIDM0OSwgICAgMCwgIDM0MiwgIDM0NCwgIDM1NiwgICAgMCwgIDM1OCwgICAg
MCwNCj4gLSAgICAgIDM2NSwgICAgMCwgIDM2NywgICAgMCwgIDM1NCwgIDM3NSwgICAgMCwgIDM3
NywgICAgMCwgIDM2MywNCj4gLSAgICAgIDM1NiwgIDgwOSwgIDMyNywgIDMyMiwgIDM4NCwgICAg
MCwgICAgMCwgICAgMCwgICAgMCwgIDM3OSwNCj4gLSAgICAgIDkwNSwgIDM4MiwgIDM4NCwgIDM4
NiwgIDM5MCwgIDM3MiwgIDM5MiwgIDQwMywgICAgMCwgIDQxMCwNCj4gLSAgICAgICAgMCwgIDQw
NywgIDQxMywgIDQyMywgIDQyNiwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgIDQwOSwNCj4gLSAg
ICAgIDQyNCwgIDQzNSwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgIDQzNywgICAgMCwgICAgMCwg
ICAgMCwNCj4gLQ0KPiAtICAgICAgICAwLCAgNDMzLCAgNDQ0LCAgICAwLCAgICAwLCAgICAwLCAg
ICAwLCAgMzkxLCAgNDQwLCAgNzgxLA0KPiAtICAgICAgOTA1LCAgNzY5LCAgNDM5LCAgNDQ1LCAg
NDQ0LCAgNDQ3LCAgNDQ5LCAgNDU0LCAgNDUzLCAgMzk5LA0KPiAtICAgICAgNDY0LCAgICAwLCAg
ICAwLCAgICAwLCAgICAwLCAgNzU3LCAgNDY1LCAgNDc2LCAgICAwLCAgNDc4LA0KPiAtICAgICAg
ICAwLCAgNDc5LCAgNDc2LCAgNzUzLCAgNDYyLCAgNDkwLCAgNzQ5LCAgOTA1LCAgNzQ1LCAgOTA1
LA0KPiAtICAgICAgNDgzLCAgNzM3LCAgNDI0LCAgNDg1LCAgNDg3LCAgNDkwLCAgNTAwLCAgNDkz
LCAgOTA1LCAgNzI5LA0KPiAtICAgICAgOTA1LCAgNTAyLCAgNTE4LCAgICAwLCAgICAwLCAgICAw
LCAgICAwLCAgOTA1LCAgNDk4LCAgNzIxLA0KPiAtICAgICAgOTA1LCAgNTI3LCAgNzEzLCAgICAw
LCAgNzA1LCAgOTA1LCAgNDk1LCAgNjk3LCAgOTA1LCAgMzY1LA0KPiAtICAgICAgNTIxLCAgNTI4
LCAgNTMwLCAgNjg1LCAgOTA1LCAgNTM0LCAgNTQwLCAgNTQwLCAgNjU3LCAgOTA1LA0KPiAtICAg
ICAgNTM3LCAgNTQyLCAgNjUwLCAgOTA1LCAgNTUzLCAgICAwLCAgNTU3LCAgICAwLCAgICAwLCAg
NTUxLA0KPiAtICAgICAgNjQxLCAgOTA1LCAgNTU4LCAgNTU3LCAgNjMzLCAgNjE0LCAgNjEzLCAg
OTA1LCAgNTQ3LCAgNTU1LA0KPiAtDQo+IC0gICAgICA1NjMsICA1NjUsICA1NjksICA1ODQsICAg
IDAsICAgIDAsICAgIDAsICAgIDAsICA1ODMsICA1NzAsDQo+IC0gICAgICA1ODUsICA2MTIsICA5
MDUsICA2MDEsICA5MDUsICA1MjIsICA1ODAsICA1ODksICA1OTQsICA5MDUsDQo+IC0gICAgICA2
MDAsICA1ODUsICA1NjMsICA1MjAsICA5MDUsICA1MTQsICA5MDUsICA1ODYsICA0ODYsICA1OTcs
DQo+IC0gICAgICA0ODAsICA0NDEsICA5MDUsICA0MTYsICA5MDUsICAzNDUsICA5MDUsICAzMzQs
ICA5MDUsICA2MDEsDQo+IC0gICAgICAyNTQsICA5MDUsICAyNDIsICA5MDUsICAyMDAsICA5MDUs
ICAxNTEsICA5MDUsICA5MDUsICA2MDcsDQo+IC0gICAgICAgODYsICA5MDUsICA5MDUsICA5MDUs
ICA2MjAsICA2MjQsICA2MjcsICA2MzEsICA2MzUsICA2MzksDQo+IC0gICAgICA2NDMsICA2NDcs
ICA2NTEsICA2NTUsICA2NTksICA2NjMsICA2NjcsICA2NzEsICA2NzUsICA2NzksDQo+IC0gICAg
ICA2ODMsICA2ODcsICA2OTEsICA2OTUsICA2OTksICA3MDMsICA3MDcsICA3MTEsICA3MTUsICA3
MTksDQo+IC0gICAgICA3MjMsICA3MjcsICA3MzEsICA3MzUsICA3MzksICA3NDMsICA3NDcsICA3
NTEsICA3NTUsICA3NTksDQo+IC0gICAgICA3NjMsICA3NjcsICA3NzEsICA3NzUsICA3NzksICA3
ODMsICA3ODcsICA3OTEsICA3OTUsICA3OTksDQo+IC0NCj4gLSAgICAgIDgwMywgIDgwNywgIDgx
MSwgIDgxNSwgIDgxOSwgIDgyMywgIDgyNywgIDgzMSwgIDgzNSwgIDgzOSwNCj4gLSAgICAgIDg0
MywgIDg0NywgIDg1MSwgIDg1NSwgIDg1OSwgIDg2MywgIDg2NywgIDg3MSwgIDg3NSwgIDg3OSwN
Cj4gLSAgICAgIDg4MywgIDg4NywgIDg5MQ0KPiArICAgICAgICAwLCAgICAwLCAgOTEyLCAgOTEx
LCAgOTEzLCAgOTA4LCAgIDMzLCAgIDM2LCAgOTE2LCAgOTE2LA0KPiArICAgICAgIDQ1LCAgIDYz
LCAgIDMxLCAgIDQyLCAgIDUxLCAgIDUyLCAgOTAxLCAgIDMzLCAgIDY1LCAgIDY3LA0KPiArICAg
ICAgIDY5LCAgIDcwLCAgOTAwLCAgIDcxLCAgODk5LCAgIDc3LCAgICAwLCAgOTE2LCAgOTA0LCAg
OTE2LA0KPiArICAgICAgIDkzLCAgIDk2LCAgICAwLCAgICAwLCAgMTA1LCAgODk3LCAgMTE0LCAg
ICAwLCAgIDkxLCAgMTAwLA0KPiArICAgICAgMTE1LCAgIDk0LCAgMTE2LCAgMTAxLCAgMTAyLCAg
IDQ4LCAgIDc0LCAgMTE4LCAgMTIxLCAgMTIzLA0KPiArICAgICAgIDc4LCAgMTI4LCAgMTMxLCAg
MTM3LCAgMTI0LCAgMTI1LCAgMTMzLCAgMTM1LCAgMTM2LCAgMTQwLA0KPiArICAgICAgMTQyLCAg
MTQxLCAgICAwLCAgMTYzLCAgICAwLCAgICAwLCAgMTY2LCAgICAwLCAgICAwLCAgOTAyLA0KPiAr
ICAgICAgMTQzLCAgMTQ2LCAgMTYzLCAgMTY0LCAgMTY2LCAgMTY3LCAgMTQ5LCAgMTY5LCAgMTcw
LCAgMTc1LA0KPiArICAgICAgMTc5LCAgMTc2LCAgMTgyLCAgMTc3LCAgMTg0LCAgMTkyLCAgMjEy
LCAgMTkzLCAgMTg2LCAgMTk2LA0KPiArICAgICAgMTg3LCAgMjE5LCAgMjAxLCAgMTUwLCAgMTk5
LCAgMjI3LCAgICAwLCAgICAwLCAgOTE2LCAgMjA5LA0KPiArDQo+ICsgICAgICAyMTIsICAyNDMs
ICAyMjQsICAyMTMsICAyNDUsICAyMjMsICAxOTgsICA4OTUsICAyMzEsICA4OTQsDQo+ICsgICAg
ICAyNDQsICAyMzAsICAyNDMsICAyNjEsICAyNTUsICAyNTksICAyNzksICAyNjYsICAyODgsICAy
NzUsDQo+ICsgICAgICAyOTEsICAzMDEsICAyNjgsICAyODQsICAyOTgsICAzMDEsICAyODUsICAz
MDIsICAzMTEsICAgIDAsDQo+ICsgICAgICAzMTQsICAgIDAsICAzMTEsICAzMTgsICA5MTYsICAz
MTIsICAzMTcsICAyNDYsICAyMzIsICAzNDIsDQo+ICsgICAgICAzMjAsICAzMjUsICAzMjMsICAz
NDksICAgIDAsICAzNTEsICAgIDAsICAzNDQsICAzNDksICAzNjAsDQo+ICsgICAgICAgIDAsICAz
NjMsICAgIDAsICAzNjcsICAgIDAsICAzNzAsICAgIDAsICAzMzAsICAzNzcsICAgIDAsDQo+ICsg
ICAgICAzNzksICAgIDAsICAzNjUsICAzNTgsICA4OTksICAzNjgsICAzMjksICAzMzEsICAzODEs
ICAgIDAsDQo+ICsgICAgICAgIDAsICAgIDAsICAgIDAsICAzODEsICA5MTYsICAzODMsICAzODUs
ICAzODcsICAzOTEsICAzOTcsDQo+ICsgICAgICAzOTMsICA0MDksICAgIDAsICA0MTEsICAgIDAs
ICA0MTIsICA0MTQsICA0MjQsICA0MjcsICAgIDAsDQo+ICsgICAgICAgIDAsICAgIDAsICAgIDAs
ICA0MjIsICA0MjUsICA0MzYsICAgIDAsICAgIDAsICAgIDAsICAgIDAsDQo+ICsNCj4gKyAgICAg
IDQzOCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgIDQzNCwgIDQ0NSwgICAgMCwgICAgMCwgICAg
MCwNCj4gKyAgICAgICAgMCwgIDQ0MCwgIDQ0MiwgIDg5OCwgIDkxNiwgIDQwMCwgIDg5NywgIDQ0
MywgIDQ0OCwgIDQ0OSwNCj4gKyAgICAgIDQ1MSwgIDQ1MywgIDQ1OCwgIDQ1NywgIDQxMywgIDQ2
OSwgICAgMCwgICAgMCwgICAgMCwgICAgMCwNCj4gKyAgICAgIDg5NiwgIDQ2OSwgIDQ4MCwgICAg
MCwgIDQ4MiwgICAgMCwgIDQ4MywgIDQ4MCwgIDg5NSwgIDQ4OSwNCj4gKyAgICAgIDQ5NywgIDg5
NCwgIDkxNiwgIDkxNiwgIDg1MSwgIDkxNiwgIDQ5MCwgIDgzOSwgIDQ3OCwgIDQ5MiwNCj4gKyAg
ICAgIDQ5NCwgIDQ5NywgIDUwNywgIDUwMSwgIDkxNiwgIDgyMywgIDkxNiwgIDUwOSwgIDUyNSwg
ICAgMCwNCj4gKyAgICAgICAgMCwgICAgMCwgICAgMCwgIDkxNiwgIDUwNSwgIDgxMSwgIDkxNiwg
IDUzNCwgIDc4MywgICAgMCwNCj4gKyAgICAgIDc3MSwgIDkxNiwgIDUxOCwgIDc1OSwgIDkxNiwg
IDUyMywgIDUyOCwgIDUzOCwgIDU0MCwgIDc1NSwNCj4gKyAgICAgIDkxNiwgIDUxMSwgIDU0MCwg
IDU0OSwgIDc1MSwgIDkxNiwgIDU0NCwgIDU0NywgIDc0NywgIDkxNiwNCj4gKyAgICAgIDU2MCwg
ICAgMCwgIDU2MiwgICAgMCwgICAgMCwgIDU1NSwgIDczOSwgIDkxNiwgIDQ4NCwgIDU2MSwNCj4g
Kw0KPiArICAgICAgNzMxLCAgNzIzLCAgNzE1LCAgOTE2LCAgNDQ5LCAgNTY2LCAgNTY0LCAgNTY2
LCAgNTc2LCAgNTc4LA0KPiArICAgICAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgNTg0LCAgNTc0
LCAgNTg2LCAgNzA3LCAgOTE2LCAgNjk5LA0KPiArICAgICAgOTE2LCAgNTgxLCAgNTg3LCAgNTkw
LCAgNTk3LCAgOTE2LCAgNjg3LCAgNjU5LCAgNjUyLCAgNjQzLA0KPiArICAgICAgOTE2LCAgNjM1
LCAgOTE2LCAgNTk3LCAgNjE2LCAgNTk5LCAgNjE0LCAgNjA0LCAgOTE2LCAgNjAwLA0KPiArICAg
ICAgOTE2LCAgNTQxLCAgOTE2LCAgNDY3LCAgOTE2LCAgNjAzLCAgNDU1LCAgOTE2LCAgNDA0LCAg
OTE2LA0KPiArICAgICAgMzg1LCAgOTE2LCAgMzI4LCAgOTE2LCAgOTE2LCAgNjA5LCAgMjAzLCAg
OTE2LCAgOTE2LCAgOTE2LA0KPiArICAgICAgNjIyLCAgNjI2LCAgNjI5LCAgNjMzLCAgNjM3LCAg
NjQxLCAgNjQ1LCAgNjQ5LCAgNjUzLCAgNjU3LA0KPiArICAgICAgNjYxLCAgNjY1LCAgNjY5LCAg
NjczLCAgNjc3LCAgNjgxLCAgNjg1LCAgNjg5LCAgNjkzLCAgNjk3LA0KPiArICAgICAgNzAxLCAg
NzA1LCAgNzA5LCAgNzEzLCAgNzE3LCAgNzIxLCAgNzI1LCAgNzI5LCAgNzMzLCAgNzM3LA0KPiAr
ICAgICAgNzQxLCAgNzQ1LCAgNzQ5LCAgNzUzLCAgNzU3LCAgNzYxLCAgNzY1LCAgNzY5LCAgNzcz
LCAgNzc3LA0KPiArDQo+ICsgICAgICA3ODEsICA3ODUsICA3ODksICA3OTMsICA3OTcsICA4MDEs
ICA4MDUsICA4MDksICA4MTMsICA4MTcsDQo+ICsgICAgICA4MjEsICA4MjUsICA4MjksICA4MzMs
ICA4MzcsICA4NDEsICA4NDUsICA4NDksICA4NTMsICA4NTcsDQo+ICsgICAgICA4NjEsICA4NjUs
ICA4NjksICA4NzMsICA4NzcsICA4ODEsICA4ODUsICA4ODksICA4OTMNCj4gICAgICB9IDsNCj4g
DQo+IC1zdGF0aWMgY29uc3QgZmxleF9pbnQxNl90IHl5X2RlZls0MjRdID0NCj4gK3N0YXRpYyBj
b25zdCBmbGV4X2ludDE2X3QgeXlfZGVmWzQzMF0gPQ0KPiAgICAgIHsgICAwLA0KPiAtICAgICAg
MzU0LCAgICAxLCAgMzU1LCAgMzU1LCAgMzU0LCAgMzU2LCAgMzU3LCAgMzU3LCAgMzU0LCAgMzU0
LA0KPiAtICAgICAgMzU4LCAgMzU4LCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEy
LCAgIDEyLCAgIDEyLA0KPiAtICAgICAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEy
LCAgMzU5LCAgMzU0LCAgMzU2LCAgMzU0LA0KPiAtICAgICAgMzYwLCAgMzU3LCAgMzYxLCAgMzYx
LCAgMzYyLCAgIDEyLCAgMzU2LCAgMzYzLCAgIDEyLCAgIDEyLA0KPiArICAgICAgMzYwLCAgICAx
LCAgMzYxLCAgMzYxLCAgMzYwLCAgMzYyLCAgMzYzLCAgMzYzLCAgMzYwLCAgMzYwLA0KPiArICAg
ICAgMzY0LCAgMzY0LCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAg
IDEyLA0KPiArICAgICAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgMzY1LCAg
MzYwLCAgMzYyLCAgMzYwLA0KPiArICAgICAgMzY2LCAgMzYzLCAgMzY3LCAgMzY3LCAgMzY4LCAg
IDEyLCAgMzYyLCAgMzY5LCAgIDEyLCAgIDEyLA0KPiAgICAgICAgIDEyLCAgIDEyLCAgIDEyLCAg
IDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLA0KPiAgICAgICAgIDEyLCAg
IDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLA0KPiAt
ICAgICAgIDEyLCAgMzU5LCAgMzYwLCAgMzYxLCAgMzYxLCAgMzY0LCAgMzY1LCAgMzY1LCAgMzU0
LCAgIDEyLA0KPiArICAgICAgIDEyLCAgIDEyLCAgMzY1LCAgMzY2LCAgMzY3LCAgMzY3LCAgMzcw
LCAgMzcxLCAgMzcxLCAgMzYwLA0KPiAgICAgICAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEy
LCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLA0KPiAtICAgICAgIDEyLCAgIDEyLCAgIDEy
LCAgIDEyLCAgIDEyLCAgMzYyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLA0KPiAtICAgICAgIDEy
LCAgIDEyLCAgIDEyLCAgMzY0LCAgMzY1LCAgMzY1LCAgMzU0LCAgIDEyLCAgIDEyLCAgMzY2LA0K
PiAtDQo+IC0gICAgICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAg
MTIsICAgMTIsICAgMTIsDQo+IC0gICAgICAgMTIsICAzNjcsICAgODYsICAgODYsICAzNjgsICAg
MTIsICAzNjksICAgMTIsICAgMTIsICAzNzAsDQo+IC0gICAgICAgMTIsICAgMTIsICAgMTIsICAg
MTIsICAgMTIsICAzNzEsICAzNzIsICAzNjYsICAzNzIsICAgMTIsDQo+IC0gICAgICAgMTIsICAz
NTQsICAgODYsICAgMTIsICAgMTIsICAgMTIsICAzNzMsICAgMTIsICAgMTIsICAgMTIsDQo+IC0g
ICAgICAzNzQsICAzNzUsICAzNjcsICAzNzUsICAgODYsICAgODYsICAzNzYsICAzNzcsICAzNjgs
ICAzNzcsDQo+IC0gICAgICAzNzgsICAzNzksICAzNjksICAzNzksICAgMTIsICAzODAsICAzODEs
ICAzNzAsICAzODEsICAgMTIsDQo+IC0gICAgICAgMTIsICAzODIsICAgMTIsICAgMTIsICAzNzEs
ICAzNzIsICAzNzIsICAzODMsICAzODMsICAgMTIsDQo+IC0gICAgICAzNTQsICAgODYsICAgODYs
ICAgODYsICAgMTIsICAgMTIsICAgMTIsICAzODQsICAzODUsICAzNzMsDQo+IC0gICAgICAzODUs
ICAgMTIsICAgMTIsICAzODYsICAzNzQsICAzNzUsICAzNzUsICAzODcsICAzODcsICAgODYsDQo+
IC0gICAgICAgODYsICAzNzYsICAzNzcsICAzNzcsICAzODgsICAzODgsICAzNzgsICAzNzksICAz
NzksICAzODksDQo+IC0NCj4gLSAgICAgIDM4OSwgICAxMiwgIDM4MCwgIDM4MSwgIDM4MSwgIDM5
MCwgIDM5MCwgICAxMiwgICAxMiwgIDM5MSwNCj4gLSAgICAgIDM1NCwgIDM5MiwgICA4NiwgICAx
MiwgICA4NiwgICA4NiwgICA4NiwgICAxMiwgICA4NiwgICAxMiwNCj4gLSAgICAgIDM4NCwgIDM4
NSwgIDM4NSwgIDM5MywgIDM5MywgIDM5NCwgICA4NiwgIDM5NSwgIDM5NiwgIDM4NiwNCj4gLSAg
ICAgIDM5NiwgICA4NiwgICA4NiwgIDM5NywgICAxMiwgIDM5OCwgIDM5MSwgIDM1NCwgIDM5OSwg
IDM1NCwNCj4gLSAgICAgICA4NiwgIDQwMCwgICAxMiwgICA4NiwgICA4NiwgICA4NiwgIDQwMSwg
ICA4NiwgIDM1NCwgIDQwMiwNCj4gLSAgICAgIDM1NCwgICA4NiwgIDM5NSwgIDM5NiwgIDM5Niwg
IDQwMywgIDQwMywgIDM1NCwgICA4NiwgIDQwNCwNCj4gLSAgICAgIDM1NCwgIDQwNSwgIDQwNiwg
IDQwNiwgIDM5OSwgIDM1NCwgICA4NiwgIDQwNywgIDM1NCwgICAxMiwNCj4gLSAgICAgICA4Niwg
ICA4NiwgICA4NiwgIDQwOCwgIDM1NCwgIDQwOCwgIDQwOCwgICA4NiwgIDQwMiwgIDM1NCwNCj4g
LSAgICAgICA4NiwgICA4NiwgIDQwNCwgIDM1NCwgIDQwOSwgIDQxMCwgIDQwNSwgIDQxMCwgIDQw
NiwgICA4NiwNCj4gLSAgICAgIDQwNywgIDM1NCwgICAxMiwgICA4NiwgIDQxMSwgIDQxMiwgIDQw
OCwgIDM1NCwgIDQwOCwgIDQwOCwNCj4gLQ0KPiAtICAgICAgIDg2LCAgIDg2LCAgIDg2LCAgNDA5
LCAgNDEwLCAgNDEwLCAgNDEzLCAgNDEzLCAgIDg2LCAgIDEyLA0KPiAtICAgICAgIDg2LCAgNDE0
LCAgMzU0LCAgNDE1LCAgMzU0LCAgNDA4LCAgNDA4LCAgIDg2LCAgIDg2LCAgMzU0LA0KPiAtICAg
ICAgNDE2LCAgNDE3LCAgNDE4LCAgNDE0LCAgMzU0LCAgNDE1LCAgMzU0LCAgNDA4LCAgNDA4LCAg
IDg2LA0KPiAtICAgICAgNDE5LCAgNDIwLCAgMzU0LCAgNDIxLCAgMzU0LCAgNDIyLCAgMzU0LCAg
NDA4LCAgMzU0LCAgIDg2LA0KPiAtICAgICAgNDIzLCAgMzU0LCAgNDIwLCAgMzU0LCAgNDIxLCAg
MzU0LCAgNDIyLCAgMzU0LCAgMzU0LCAgIDg2LA0KPiAtICAgICAgNDIzLCAgMzU0LCAgMzU0LCAg
ICAwLCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LA0KPiAtICAgICAgMzU0LCAg
MzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LA0KPiAt
ICAgICAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0
LCAgMzU0LA0KPiAtICAgICAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0
LCAgMzU0LCAgMzU0LCAgMzU0LA0KPiAtICAgICAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0
LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LA0KPiAtDQo+IC0gICAgICAzNTQsICAzNTQs
ICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsDQo+IC0gICAg
ICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAz
NTQsDQo+IC0gICAgICAzNTQsICAzNTQsICAzNTQNCj4gKyAgICAgICAxMiwgICAxMiwgICAxMiwg
ICAxMiwgICAxMiwgICAxMiwgIDM2OCwgICAxMiwgICAxMiwgICAxMiwNCj4gKyAgICAgICAxMiwg
ICAxMiwgICAxMiwgICAxMiwgICAxMiwgIDM3MCwgIDM3MSwgIDM3MSwgIDM2MCwgICAxMiwNCj4g
Kw0KPiArICAgICAgIDEyLCAgMzcyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEy
LCAgIDEyLCAgIDEyLA0KPiArICAgICAgIDEyLCAgIDEyLCAgIDEyLCAgMzczLCAgIDg3LCAgIDg3
LCAgMzc0LCAgIDEyLCAgMzc1LCAgIDEyLA0KPiArICAgICAgIDEyLCAgMzc2LCAgIDEyLCAgIDEy
LCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgMzc3LCAgMzc4LA0KPiArICAgICAgMzcyLCAgMzc4
LCAgIDEyLCAgIDEyLCAgMzYwLCAgIDg3LCAgIDEyLCAgIDEyLCAgIDEyLCAgMzc5LA0KPiArICAg
ICAgIDEyLCAgIDEyLCAgIDEyLCAgMzgwLCAgMzgxLCAgMzczLCAgMzgxLCAgIDg3LCAgIDg3LCAg
MzgyLA0KPiArICAgICAgMzgzLCAgMzc0LCAgMzgzLCAgMzg0LCAgMzg1LCAgMzc1LCAgMzg1LCAg
IDEyLCAgMzg2LCAgMzg3LA0KPiArICAgICAgMzc2LCAgMzg3LCAgIDEyLCAgIDEyLCAgMzg4LCAg
IDEyLCAgIDEyLCAgIDEyLCAgMzc3LCAgMzc4LA0KPiArICAgICAgMzc4LCAgMzg5LCAgMzg5LCAg
IDEyLCAgMzYwLCAgIDg3LCAgIDg3LCAgIDg3LCAgIDEyLCAgIDEyLA0KPiArICAgICAgIDEyLCAg
MzkwLCAgMzkxLCAgMzc5LCAgMzkxLCAgIDEyLCAgIDEyLCAgMzkyLCAgMzgwLCAgMzgxLA0KPiAr
ICAgICAgMzgxLCAgMzkzLCAgMzkzLCAgIDg3LCAgIDg3LCAgMzgyLCAgMzgzLCAgMzgzLCAgMzk0
LCAgMzk0LA0KPiArDQo+ICsgICAgICAzODQsICAzODUsICAzODUsICAzOTUsICAzOTUsICAgMTIs
ICAzODYsICAzODcsICAzODcsICAzOTYsDQo+ICsgICAgICAzOTYsICAgMTIsICAgMTIsICAzOTcs
ICAzNjAsICAgMTIsICAzOTgsICAgODcsICAgMTIsICAgODcsDQo+ICsgICAgICAgODcsICAgODcs
ICAgMTIsICAgODcsICAgMTIsICAzOTAsICAzOTEsICAzOTEsICAzOTksICAzOTksDQo+ICsgICAg
ICA0MDAsICAgODcsICA0MDEsICA0MDIsICAzOTIsICA0MDIsICAgODcsICAgODcsICA0MDMsICAg
MTIsDQo+ICsgICAgICA0MDQsICAzOTcsICAzNjAsICAzNjAsICA0MDUsICAzNjAsICAgODcsICA0
MDYsICAgMTIsICAgODcsDQo+ICsgICAgICAgODcsICAgODcsICA0MDcsICAgODcsICAzNjAsICA0
MDgsICAzNjAsICAgODcsICA0MDEsICA0MDIsDQo+ICsgICAgICA0MDIsICA0MDksICA0MDksICAz
NjAsICAgODcsICA0MTAsICAzNjAsICA0MTEsICA0MTIsICA0MTIsDQo+ICsgICAgICA0MDUsICAz
NjAsICAgODcsICA0MTMsICAzNjAsICAgMTIsICAgODcsICAgODcsICAgODcsICA0MTQsDQo+ICsg
ICAgICAzNjAsICA0MTQsICA0MTQsICAgODcsICA0MDgsICAzNjAsICAgODcsICAgODcsICA0MTAs
ICAzNjAsDQo+ICsgICAgICA0MTUsICA0MTYsICA0MTEsICA0MTYsICA0MTIsICAgODcsICA0MTMs
ICAzNjAsICAgMTIsICAgODcsDQo+ICsNCj4gKyAgICAgIDQxNywgIDQxOCwgIDQxNCwgIDM2MCwg
IDQxNCwgIDQxNCwgICA4NywgICA4NywgICA4NywgIDQxNSwNCj4gKyAgICAgIDQxNiwgIDQxNiwg
IDQxOSwgIDQxOSwgICA4NywgICAxMiwgICA4NywgIDQyMCwgIDM2MCwgIDQyMSwNCj4gKyAgICAg
IDM2MCwgIDQxNCwgIDQxNCwgICA4NywgICA4NywgIDM2MCwgIDQyMiwgIDQyMywgIDQyNCwgIDQy
MCwNCj4gKyAgICAgIDM2MCwgIDQyMSwgIDM2MCwgIDQxNCwgIDQxNCwgICA4NywgIDQyNSwgIDQy
NiwgIDM2MCwgIDQyNywNCj4gKyAgICAgIDM2MCwgIDQyOCwgIDM2MCwgIDQxNCwgIDM2MCwgICA4
NywgIDQyOSwgIDM2MCwgIDQyNiwgIDM2MCwNCj4gKyAgICAgIDQyNywgIDM2MCwgIDQyOCwgIDM2
MCwgIDM2MCwgICA4NywgIDQyOSwgIDM2MCwgIDM2MCwgICAgMCwNCj4gKyAgICAgIDM2MCwgIDM2
MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwNCj4gKyAg
ICAgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwg
IDM2MCwNCj4gKyAgICAgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwg
IDM2MCwgIDM2MCwgIDM2MCwNCj4gKyAgICAgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwg
IDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwNCj4gKw0KPiArICAgICAgMzYwLCAgMzYwLCAg
MzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLA0KPiArICAgICAg
MzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYw
LA0KPiArICAgICAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYw
LCAgMzYwDQo+ICAgICAgfSA7DQo+IA0KPiAtc3RhdGljIGNvbnN0IGZsZXhfaW50MTZfdCB5eV9u
eHRbOTQwXSA9DQo+ICtzdGF0aWMgY29uc3QgZmxleF9pbnQxNl90IHl5X254dFs5NTFdID0NCj4g
ICAgICB7ICAgMCwNCj4gICAgICAgICAgNiwgICAgNywgICAgOCwgICAgOSwgICAgNiwgICAgNiwg
ICAgNiwgICAgNiwgICAxMCwgICAxMSwNCj4gICAgICAgICAxMiwgICAxMywgICAxNCwgICAxNSwg
ICAxNiwgICAxNywgICAxOCwgICAxOSwgICAxNywgICAxNywNCj4gICAgICAgICAxNywgICAxNywg
ICAyMCwgICAxNywgICAyMSwgICAyMiwgICAyMywgICAyNCwgICAyNSwgICAxNywNCj4gICAgICAg
ICAyNiwgICAxNywgICAxNywgICAxNywgICAzMiwgICAzMiwgICAzMywgICAzMiwgICAzMiwgICAz
MywNCj4gICAgICAgICAzNiwgICAzNCwgICAzNiwgICA0MiwgICAzNCwgICAyOSwgICAyOSwgICAy
OSwgICAzMCwgICAzNSwNCj4gLSAgICAgICA1MCwgICAzNiwgICAzNywgICAzOCwgICA0MywgICA0
NCwgICAzOSwgICAzNiwgICA3OSwgICA0NSwNCj4gKyAgICAgICA1MCwgICAzNiwgICAzNywgICAz
OCwgICA0MywgICA0NCwgICAzOSwgICAzNiwgICA4MCwgICA0NSwNCj4gICAgICAgICAzNiwgICAz
NiwgICA0MCwgICAyOSwgICAyOSwgICAyOSwgICAzMCwgICAzNSwgICA0NiwgICA0OCwNCj4gICAg
ICAgICAzNywgICAzOCwgICA0MSwgICA0NywgICAzNiwgICA0OSwgICAzNiwgICA1MywgICAzNiwg
ICAzNiwNCj4gLSAgICAgICAzNiwgICA1NiwgICA1OCwgICAzNiwgICAzNiwgICA1NSwgICA4Miwg
ICA2MCwgICA1MSwgIDM0MiwNCj4gLSAgICAgICA1NCwgICA2MSwgICA1MiwgICAyOSwgICA2NCwg
ICAzMiwgICAzMiwgICAzMywgICAzNiwgICA2NSwNCj4gLQ0KPiAtICAgICAgIDcwLCAgIDM2LCAg
IDM0LCAgIDI5LCAgIDI5LCAgIDI5LCAgIDMwLCAgIDM2LCAgIDM2LCAgIDM2LA0KPiAtICAgICAg
IDI5LCAgIDM4LCAgIDY2LCAgIDY2LCAgIDY2LCAgIDY3LCAgIDY2LCAgIDcxLCAgIDc0LCAgIDY2
LA0KPiAtICAgICAgIDY4LCAgIDcyLCAgIDM2LCAgIDM2LCAgIDczLCAgIDM2LCAgIDc3LCAgIDc4
LCAgIDM2LCAgIDc2LA0KPiAtICAgICAgIDM2LCAgIDUzLCAgIDM2LCAgIDM2LCAgIDc1LCAgIDg1
LCAgIDgwLCAgIDgzLCAgIDM2LCAgIDg2LA0KPiAtICAgICAgIDg0LCAgIDM2LCAgIDM2LCAgIDM2
LCAgIDM2LCAgIDgxLCAgIDM2LCAgIDM2LCAgIDM2LCAgIDM2LA0KPiAtICAgICAgIDM2LCAgIDM2
LCAgIDkzLCAgIDg5LCAgMzM3LCAgIDk4LCAgIDg4LCAgIDI5LCAgIDY0LCAgMTAxLA0KPiAtICAg
ICAgIDkwLCAgIDM2LCAgIDkxLCAgIDY1LCAgIDkyLCAgIDg3LCAgIDI5LCAgIDk1LCAgIDg5LCAg
IDk5LA0KPiAtICAgICAgIDM2LCAgMTAwLCAgIDk2LCAgIDM2LCAgIDM2LCAgIDM2LCAgIDM2LCAg
IDM2LCAgIDM2LCAgMTA2LA0KPiAtICAgICAgMTA1LCAgIDg1LCAgIDM2LCAgIDM2LCAgMTAyLCAg
IDM2LCAgMTA3LCAgIDM2LCAgMTAzLCAgIDM2LA0KPiAtICAgICAgMTA5LCAgMTEyLCAgIDM2LCAg
IDM2LCAgMTA0LCAgMTA4LCAgMTE1LCAgMTEwLCAgIDM2LCAgMTE3LA0KPiAtDQo+IC0gICAgICAg
MzYsICAgMzYsICAgMzYsICAzMzUsICAgMzYsICAgMzYsICAxMjIsICAxMTEsICAgMjksICAgMjks
DQo+IC0gICAgICAgMjksICAgMzAsICAxMTgsICAgMzYsICAxMTYsICAgMjksICAgMzgsICAgMzYs
ICAgMzYsICAxMTMsDQo+IC0gICAgICAxMTQsICAxMTksICAxMjAsICAxMjMsICAgMzYsICAgMjks
ICAgOTUsICAxMjEsICAgMzYsICAxMzQsDQo+IC0gICAgICAxMzEsICAgOTYsICAxMzAsICAgMzYs
ICAxMjUsICAxMjQsICAxMjYsICAxMjYsICAgNjYsICAxMjcsDQo+IC0gICAgICAxMjYsICAxMzIs
ICAxMzMsICAxMjYsICAxMjksICAzMzMsICAgMzYsICAgMzYsICAxMzUsICAxMzcsDQo+IC0gICAg
ICAgMzYsICAgMzYsICAgMzYsICAxNDAsICAxMzksICAgMzUsICAgMzUsICAzNTIsICAgMzYsICAg
MzYsDQo+IC0gICAgICAgODUsICAxNDEsICAxNDEsICAgNjYsICAxNDIsICAxNDEsICAxNjAsICAx
NDUsICAxNDEsICAxNDQsDQo+IC0gICAgICAgMzUsICAgMzUsICAgODksICAxMTcsICAxNTUsICAg
MzYsICAxNDYsICAxNDcsICAxNDcsICAgNjYsDQo+IC0gICAgICAxNDgsICAxNDcsICAxNjIsICAg
MzYsICAxNDcsICAxNTAsICAxNTEsICAxNTEsICAgNjYsICAxNTIsDQo+IC0gICAgICAxNTEsICAg
MzYsICAgMzYsICAxNTEsICAxNTQsICAxMjAsICAxNjEsICAgMzYsICAxNTYsICAxNTYsDQo+IC0N
Cj4gLSAgICAgICA2NiwgIDE1NywgIDE1NiwgICAzNiwgICAzNiwgIDE1NiwgIDE1OSwgIDE2NCwg
IDE3MSwgIDE2MywNCj4gLSAgICAgICAyOSwgIDE2NiwgICAyOSwgIDE2OCwgICAzNiwgICAzNiwg
IDE2NywgIDE3MCwgIDE2OSwgICAzNSwNCj4gLSAgICAgICAzNSwgIDE3MiwgICAzNiwgICAzNiwg
IDE3MywgICAzNiwgIDIxMywgIDE4NCwgICAzNiwgICAzNiwNCj4gLSAgICAgIDE3NSwgICAzNiwg
IDE3NCwgICAyOSwgIDE4NiwgIDIxMiwgICAzNiwgIDM0OSwgIDE4MywgIDE4NywNCj4gLSAgICAg
IDE3NywgIDE3NiwgIDE3OCwgIDE3OCwgICA2NiwgIDE3OSwgIDE3OCwgIDE4MiwgIDM0OCwgIDE3
OCwNCj4gLSAgICAgIDE4MSwgICAyOSwgIDE4OCwgICAzNSwgICAzNSwgICAzNSwgICAzNSwgIDE4
OSwgICAyOSwgIDE5MywNCj4gLSAgICAgICAyOSwgIDE5NSwgIDE5MCwgICAzNiwgIDE5NCwgICAz
NiwgIDE5NiwgICAyOSwgIDE5OCwgICAyOSwNCj4gLSAgICAgIDIwMCwgIDE5MSwgICAzNiwgIDE5
OSwgICAzNiwgIDIwMSwgIDIxOSwgICAyOSwgIDIwNCwgICAyOSwNCj4gLSAgICAgIDIwNiwgICAz
NiwgIDIwMiwgIDIwNSwgIDIwOSwgIDIwNywgICAyOSwgIDE2NiwgICAzNiwgIDI5MywNCj4gLSAg
ICAgIDIwOCwgIDIxNCwgIDE2NywgICAzNSwgICAzNSwgICAzNSwgICAzNSwgICAzNSwgICAzNSwg
ICAzNiwNCj4gLQ0KPiAtICAgICAgIDM2LCAgIDM2LCAgMjQ5LCAgMjE4LCAgMjIwLCAgIDI5LCAg
MjIyLCAgMjE2LCAgIDM2LCAgMjE3LA0KPiAtICAgICAgMjM1LCAgMjIzLCAgIDI5LCAgMjI0LCAg
MjE1LCAgMjI2LCAgIDM2LCAgMjI3LCAgMjI1LCAgMzQ2LA0KPiAtICAgICAgIDM1LCAgIDM1LCAg
IDM2LCAgMjI4LCAgMjI4LCAgIDY2LCAgMjI5LCAgMjI4LCAgIDI5LCAgMTg2LA0KPiAtICAgICAg
MjI4LCAgMjMxLCAgMjMyLCAgIDM2LCAgMTg3LCAgMjMzLCAgIDM1LCAgIDI5LCAgMTkzLCAgIDI5
LA0KPiAtICAgICAgMTk4LCAgMjM0LCAgIDM2LCAgMTk0LCAgMzQ0LCAgMTk5LCAgIDI5LCAgMjA0
LCAgMjM2LCAgIDM2LA0KPiAtICAgICAgIDM1LCAgMjQxLCAgMjA1LCAgMjQyLCAgIDM2LCAgIDM1
LCAgIDM1LCAgMjcwLCAgIDM1LCAgIDM1LA0KPiAtICAgICAgIDM1LCAgIDM1LCAgMjQ3LCAgIDM2
LCAgIDM1LCAgIDM1LCAgIDI5LCAgMjIyLCAgMjQ0LCAgMjYyLA0KPiAtICAgICAgMjQ4LCAgIDM2
LCAgMjIzLCAgMjQzLCAgMjQ1LCAgMjQ2LCAgIDM1LCAgMjUyLCAgIDI5LCAgMjU0LA0KPiAtICAg
ICAgIDI5LCAgMjU2LCAgMjU4LCAgMzQyLCAgMjU1LCAgMjU5LCAgMjU3LCAgIDM1LCAgIDM1LCAg
MzM5LA0KPiAtICAgICAgIDM1LCAgIDM1LCAgIDY5LCAgMjY0LCAgIDM1LCAgIDM1LCAgIDM1LCAg
IDM1LCAgIDM1LCAgIDM1LA0KPiAtDQo+IC0gICAgICAyNjcsICAgMzUsICAgMzUsICAyNzUsICAg
MzUsICAgMzUsICAgMzUsICAgMzUsICAyNzEsICAgMzUsDQo+IC0gICAgICAgMzUsICAyNzYsICAy
NzcsICAgMzUsICAgMzUsICAyNzIsICAyNzgsICAzMTUsICAyNzMsICAyODEsDQo+IC0gICAgICAg
MjksICAyNTQsICAyOTAsICAzMTMsICAyODIsICAyNzUsICAyNTUsICAyODUsICAyODUsICAgNjYs
DQo+IC0gICAgICAyODYsICAyODUsICAgMzUsICAgMzUsICAyODUsICAyODgsICAyOTUsICAyOTgs
ICAyOTYsICAgMzUsDQo+IC0gICAgICAgMzUsICAgMzUsICAgMzUsICAyOTgsICAzMDEsICAzMjgs
ICAyOTksICAyOTQsICAgMzUsICAgMzUsDQo+IC0gICAgICAyNzUsICAgMzUsICAgMzUsICAgMzUs
ICAzMDMsICAgMjksICAzMDUsICAzMDAsICAyNzUsICAgMjksDQo+IC0gICAgICAzMDcsICAzMDYs
ICAgMzUsICAgMzUsICAzMDIsICAzMDgsICAzMzcsICAgMzYsICAgMzUsICAgMzUsDQo+IC0gICAg
ICAzMDksICAzMTAsICAzMjAsICAzMTYsICAgMzUsICAgMzUsICAgMzUsICAgMzUsICAzMjIsICAg
MzYsDQo+IC0gICAgICAgMzUsICAgMzUsICAzMTcsICAyNzUsICAzMTksICAzMTEsICAgMjksICAz
MDUsICAzMzUsICAyNzUsDQo+IC0gICAgICAzMTgsICAzMjEsICAzMDYsICAzMjMsICAgMzUsICAg
MzUsICAgMzUsICAgMzUsICAzMzAsICAzMjksDQo+IC0NCj4gLSAgICAgICAzNSwgICAzNSwgIDMz
MSwgIDMzMywgIDMyNywgICAzNSwgICAzNSwgIDMzOCwgICAzNSwgICAzNSwNCj4gLSAgICAgIDM1
MywgIDM0MCwgICAzNSwgICAzNSwgIDM1MCwgIDMyNSwgIDI3NSwgIDMxNSwgICAzNSwgICAzNSwN
Cj4gLSAgICAgICAyNywgICAyNywgICAyNywgICAyNywgICAyOSwgICAyOSwgICAyOSwgICAzMSwg
ICAzMSwgICAzMSwNCj4gLSAgICAgICAzMSwgICAzNiwgICAzNiwgICAzNiwgICAzNiwgICA2Miwg
IDMxMywgICA2MiwgICA2MiwgICA2MywNCj4gLSAgICAgICA2MywgICA2MywgICA2MywgICA2NSwg
IDI2OSwgICA2NSwgICA2NSwgICAzNSwgICAzNSwgICAzNSwNCj4gLSAgICAgICAzNSwgICA2OSwg
ICA2OSwgIDI2MSwgICA2OSwgICA5NCwgICA5NCwgICA5NCwgICA5NCwgICA5NiwNCj4gLSAgICAg
IDI1MSwgICA5NiwgICA5NiwgIDEyOCwgIDEyOCwgIDEyOCwgIDEyOCwgIDE0MywgIDE0MywgIDE0
MywNCj4gLSAgICAgIDE0MywgIDE0OSwgIDE0OSwgIDE0OSwgIDE0OSwgIDE1MywgIDE1MywgIDE1
MywgIDE1MywgIDE1OCwNCj4gLSAgICAgIDE1OCwgIDE1OCwgIDE1OCwgIDE2NSwgIDE2NSwgIDE2
NSwgIDE2NSwgIDE2NywgIDI5OCwgIDE2NywNCj4gLSAgICAgIDE2NywgIDE4MCwgIDE4MCwgIDE4
MCwgIDE4MCwgIDE4NSwgIDE4NSwgIDE4NSwgIDE4NSwgIDE4NywNCj4gLQ0KPiAtICAgICAgMjky
LCAgMTg3LCAgMTg3LCAgMTkyLCAgMTkyLCAgMTkyLCAgMTkyLCAgMTk0LCAgMjQwLCAgMTk0LA0K
PiAtICAgICAgMTk0LCAgMTk3LCAgMTk3LCAgMTk3LCAgMTk3LCAgMTk5LCAgMjg5LCAgMTk5LCAg
MTk5LCAgMjAzLA0KPiAtICAgICAgMjAzLCAgMjAzLCAgMjAzLCAgMjA1LCAgMjg0LCAgMjA1LCAg
MjA1LCAgMjEwLCAgMjEwLCAgMjEwLA0KPiAtICAgICAgMjEwLCAgMTY5LCAgMjgwLCAgMTY5LCAg
MTY5LCAgMjIxLCAgMjIxLCAgMjIxLCAgMjIxLCAgMjIzLA0KPiAtICAgICAgMjY5LCAgMjIzLCAg
MjIzLCAgMjMwLCAgMjMwLCAgMjMwLCAgMjMwLCAgMTg5LCAgMjY2LCAgMTg5LA0KPiAtICAgICAg
MTg5LCAgMTk2LCAgMjExLCAgMTk2LCAgMTk2LCAgMjAxLCAgMjYxLCAgMjAxLCAgMjAxLCAgMjA3
LA0KPiAtICAgICAgMjUxLCAgMjA3LCAgMjA3LCAgMjM3LCAgMjM3LCAgMjM3LCAgMjM3LCAgMjM5
LCAgMjM5LCAgMjM5LA0KPiAtICAgICAgMjM5LCAgMjI1LCAgMjQwLCAgMjI1LCAgMjI1LCAgMjUw
LCAgMjUwLCAgMjUwLCAgMjUwLCAgMjUzLA0KPiAtICAgICAgMjUzLCAgMjUzLCAgMjUzLCAgMjU1
LCAgMjM4LCAgMjU1LCAgMjU1LCAgMjYwLCAgMjYwLCAgMjYwLA0KPiAtICAgICAgMjYwLCAgMjYz
LCAgMjYzLCAgMjYzLCAgMjYzLCAgMjY1LCAgMjY1LCAgMjY1LCAgMjY1LCAgMjY4LA0KPiAtDQo+
IC0gICAgICAyNjgsICAyNjgsICAyNjgsICAyNzQsICAyNzQsICAyNzQsICAyNzQsICAyNzksICAy
NzksICAyNzksDQo+IC0gICAgICAyNzksICAyNTcsICAyMTEsICAyNTcsICAyNTcsICAyODMsICAy
ODMsICAyODMsICAyODMsICAyODcsDQo+IC0gICAgICAyODcsICAyODcsICAyODcsICAyNjQsICAx
MzgsICAyNjQsICAyNjQsICAyOTEsICAyOTEsICAyOTEsDQo+IC0gICAgICAyOTEsICAyOTcsICAy
OTcsICAyOTcsICAyOTcsICAzMDQsICAzMDQsICAzMDQsICAzMDQsICAzMDYsDQo+IC0gICAgICAx
MzYsICAzMDYsICAzMDYsICAzMTIsICAzMTIsICAzMTIsICAzMTIsICAzMTQsICAzMTQsICAzMTQs
DQo+IC0gICAgICAzMTQsICAzMDgsICAgOTcsICAzMDgsICAzMDgsICAzMjQsICAzMjQsICAzMjQs
ICAzMjQsICAzMjYsDQo+IC0gICAgICAzMjYsICAzMjYsICAzMjYsICAzMzIsICAzMzIsICAzMzIs
ICAzMzIsICAzMzQsICAzMzQsICAzMzQsDQo+IC0gICAgICAzMzQsICAzMzYsICAzMzYsICAzMzYs
ICAzMzYsICAzNDEsICAzNDEsICAzNDEsICAzNDEsICAzNDMsDQo+IC0gICAgICAzNDMsICAzNDMs
ICAzNDMsICAzNDUsICAzNDUsICAzNDUsICAzNDUsICAzNDcsICAzNDcsICAzNDcsDQo+IC0gICAg
ICAzNDcsICAzNTEsICAzNTEsICAzNTEsICAzNTEsICAgMzYsICAgMzAsICAgNTksICAgNTcsICAg
MzYsDQo+IC0NCj4gLSAgICAgICAzMCwgIDM1NCwgICAyOCwgICAyOCwgICAgNSwgIDM1NCwgIDM1
NCwgIDM1NCwgIDM1NCwgIDM1NCwNCj4gLSAgICAgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1
NCwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwNCj4gLSAgICAgIDM1NCwgIDM1NCwgIDM1
NCwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwNCj4gLSAgICAgIDM1
NCwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NA0KPiArICAg
ICAgIDM2LCAgIDU2LCAgIDU4LCAgIDM2LCAgIDUzLCAgIDU1LCAgIDM2LCAgIDM2LCAgIDUxLCAg
IDYwLA0KPiArICAgICAgIDU0LCAgIDg0LCAgIDUyLCAgIDYxLCAgIDYyLCAgIDI5LCAgIDY1LCAg
IDMyLCAgIDMyLCAgIDMzLA0KPiArDQo+ICsgICAgICAgMzYsICAgNjYsICAgNzEsICAgMzYsICAg
MzQsICAgMjksICAgMjksICAgMjksICAgMzAsICAgMzYsDQo+ICsgICAgICAgMzYsICAgMzYsICAg
MjksICAgMzgsICAgNjcsICAgNjcsICAgNjcsICAgNjgsICAgNjcsICAgNzIsDQo+ICsgICAgICAg
NzUsICAgNjcsICAgNjksICAgNzMsICAgMzYsICAgMzYsICAgNzQsICAgMzYsICAgNzgsICAgNzks
DQo+ICsgICAgICAgMzYsICAgNzcsICAgMzYsICAgMzYsICAgMzYsICAgODMsICAgNzYsICAgMzYs
ICAgODEsICAgODUsDQo+ICsgICAgICAgMzYsICAgODcsICAgMzYsICAgODYsICAgMzYsICAgMzYs
ICAgMzYsICAgODIsICAgODksICAgMzYsDQo+ICsgICAgICAgMzYsICAgMzYsICAgMzYsICAgOTQs
ICAgOTAsICAgMzYsICAxMDAsICAgODgsICAgMzYsICAgMzYsDQo+ICsgICAgICAgOTIsICAgOTEs
ICAgOTMsICAxMDEsICAgOTAsICAgMjksICAgNjUsICAgOTUsICAgMjksICAgOTcsDQo+ICsgICAg
ICAxMDIsICAgNjYsICAgMzYsICAgMzYsICAgOTgsICAgMzYsICAgMzYsICAxMDYsICAgMzYsICAg
MzYsDQo+ICsgICAgICAxMjUsICAxMDgsICAxMDcsICAxMDMsICAgMzYsICAgMzYsICAgMzYsICAg
ODYsICAgMzYsICAxMDQsDQo+ICsgICAgICAxMDUsICAgMzYsICAxMDksICAgMzYsICAxMTEsICAg
MzYsICAgMzYsICAxMTAsICAxMTIsICAxMTQsDQo+ICsNCj4gKyAgICAgIDExNywgICAzNiwgICAz
NiwgIDExOSwgIDEyMCwgICAzNiwgIDM0OCwgICAzNiwgICAzNiwgIDEzOCwNCj4gKyAgICAgICAz
NiwgIDExMywgICAyOSwgICAyOSwgICAyOSwgICAzMCwgIDEyNCwgIDExOCwgICAzNiwgICAyOSwN
Cj4gKyAgICAgICAzOCwgICAzNiwgICAzNiwgIDExNSwgIDExNiwgIDEyMSwgIDEyMiwgIDEyNiwg
ICAzNiwgICAyOSwNCj4gKyAgICAgICA5NywgIDEyMywgICAzNiwgICAzNiwgIDEzNCwgICA5OCwg
IDEyNywgIDEzMywgIDE0MCwgICAzNiwNCj4gKyAgICAgICAzNiwgICAzNiwgIDEyOCwgIDEyOSwg
IDEyOSwgICA2NywgIDEzMCwgIDEyOSwgIDEzNSwgIDEzNiwNCj4gKyAgICAgIDEyOSwgIDEzMiwg
ICAzNiwgICAzNiwgICAzNiwgICAzNiwgIDEzNywgIDE0MiwgIDE4MSwgIDE0MywNCj4gKyAgICAg
ICA4NiwgIDE0NCwgIDE0NCwgICA2NywgIDE0NSwgIDE0NCwgICAzNSwgICAzNSwgIDE0NCwgIDE0
NywNCj4gKyAgICAgICAzNSwgICAzNSwgICA5MCwgIDExOSwgIDE4MCwgICAzNiwgIDE0OSwgICAz
NiwgIDE0OCwgIDE1MCwNCj4gKyAgICAgIDE1MCwgICA2NywgIDE1MSwgIDE1MCwgICAzNiwgIDE2
MywgIDE1MCwgIDE1MywgIDE1NCwgIDE1NCwNCj4gKyAgICAgICA2NywgIDE1NSwgIDE1NCwgICAz
NiwgICAzNiwgIDE1NCwgIDE1NywgIDE2NCwgIDEyMiwgIDE1OCwNCj4gKw0KPiArICAgICAgIDM2
LCAgMTU5LCAgMTU5LCAgIDY3LCAgMTYwLCAgMTU5LCAgMTY1LCAgIDM2LCAgMTU5LCAgMTYyLA0K
PiArICAgICAgIDM2LCAgIDM2LCAgMTY3LCAgIDI5LCAgMTcwLCAgMTY4LCAgIDI5LCAgMTcyLCAg
MTY2LCAgMTcxLA0KPiArICAgICAgIDM2LCAgMTc1LCAgMTczLCAgIDM1LCAgIDM1LCAgMTc2LCAg
IDM2LCAgIDM2LCAgMTc3LCAgIDM2LA0KPiArICAgICAgMTg4LCAgMzQzLCAgIDM2LCAgMTc0LCAg
IDM2LCAgMjE4LCAgMTc4LCAgMjE3LCAgIDM2LCAgIDM2LA0KPiArICAgICAgIDM2LCAgMTc5LCAg
MTgyLCAgMTgyLCAgIDY3LCAgMTgzLCAgMTgyLCAgMTg3LCAgMTg2LCAgMTgyLA0KPiArICAgICAg
MTg1LCAgIDI5LCAgMTkwLCAgIDI5LCAgMTkyLCAgIDM1LCAgIDM1LCAgMTkxLCAgMjA2LCAgMTkz
LA0KPiArICAgICAgIDM1LCAgIDM1LCAgIDI5LCAgMTk3LCAgMTk0LCAgIDI5LCAgMTk5LCAgIDM2
LCAgMTk4LCAgIDI5LA0KPiArICAgICAgMjAyLCAgMjAwLCAgIDI5LCAgMjA0LCAgIDM2LCAgMjAz
LCAgMTk1LCAgIDM2LCAgMjA1LCAgIDI5LA0KPiArICAgICAgMjA4LCAgIDI5LCAgMjEwLCAgIDI5
LCAgMTcwLCAgMjA5LCAgMjEzLCAgMjExLCAgMzQxLCAgMTcxLA0KPiArICAgICAgIDM2LCAgMjE2
LCAgMjEyLCAgMjE5LCAgIDM1LCAgIDM1LCAgIDM1LCAgIDM1LCAgIDM1LCAgIDM1LA0KPiArDQo+
ICsgICAgICAgMzYsICAyMjQsICAgMzYsICAyNDQsICAyMjMsICAyMjUsICAgMzYsICAzMzksICAy
MjEsICAgMzYsDQo+ICsgICAgICAyMjIsICAgMjksICAyMjcsICAgMjksICAyMjksICAyMjAsICAy
NTUsICAyMjgsICAyMzIsICAyMzAsDQo+ICsgICAgICAyMzEsICAgMzYsICAgMzYsICAgMzYsICAy
MzMsICAyMzMsICAgNjcsICAyMzQsICAyMzMsICAgMjksDQo+ICsgICAgICAxOTAsICAyMzMsICAy
MzYsICAgMzUsICAgMzUsICAxOTEsICAyMzgsICAgMzUsICAgMjksICAxOTcsDQo+ICsgICAgICAg
MjksICAyMDIsICAyMzksICAgMzYsICAxOTgsICAyMzcsICAyMDMsICAgMjksICAyMDgsICAgMzYs
DQo+ICsgICAgICAyNDEsICAgMzYsICAyODEsICAyMDksICAgMzUsICAyNDcsICAyNDgsICAgMzYs
ICAzNTgsICAyNDAsDQo+ICsgICAgICAgMzUsICAgMzUsICAgMzUsICAgMzUsICAgMzUsICAgMzUs
ICAyNTMsICAgMzYsICAgMzUsICAgMzUsDQo+ICsgICAgICAzNTUsICAgMjksICAyMjcsICAyNTAs
ICAyNTQsICAzMjIsICAyNDksICAyMjgsICAyNTEsICAyNTIsDQo+ICsgICAgICAgMzUsICAyNTgs
ICAgMjksICAyNjAsICAgMjksICAyNjIsICAyNjQsICAgMzYsICAyNjEsICAyNjUsDQo+ICsgICAg
ICAyNjMsICAgMzUsICAgMzUsICAgMzYsICAgMzUsICAgMzUsICAyNjgsICAzMTYsICAgMzYsICAg
NzAsDQo+ICsNCj4gKyAgICAgIDI3MCwgICAzNSwgICAzNSwgICAzNSwgICAzNSwgICAzNSwgICAz
NSwgIDI3MywgICAzNSwgICAzNSwNCj4gKyAgICAgIDI4MSwgIDI3NiwgICAzNSwgICAzNSwgIDMw
NCwgIDI3NywgICAzNSwgICAzNSwgIDI4MiwgIDI4MywNCj4gKyAgICAgICAzNSwgICAzNSwgIDI3
OCwgIDMwNSwgIDI4NCwgIDI3OSwgIDI4NywgICAyOSwgIDI2MCwgICAzNSwNCj4gKyAgICAgICAz
NSwgIDI4OCwgICAzNiwgIDI2MSwgIDI5MSwgIDI5MSwgICA2NywgIDI5MiwgIDI5MSwgICAzNSwN
Cj4gKyAgICAgICAzNSwgIDI5MSwgIDI5NCwgIDMwNCwgIDM1NCwgIDI5NiwgIDMwMSwgIDI5OSwg
IDMwMiwgICAzNSwNCj4gKyAgICAgICAzNSwgICAzNSwgICAzNSwgIDMwNywgIDMwMCwgICAzNSwg
ICAzNSwgIDMwNiwgICAzNSwgIDMwOSwNCj4gKyAgICAgICAzNSwgICAzNSwgICAyOSwgIDMxMSwg
ICAyOSwgIDMxMywgICAzNSwgICAzNSwgIDMxMiwgIDI4MSwNCj4gKyAgICAgIDMxNCwgIDMwOCwg
ICAzNSwgICAzNSwgIDMxNSwgICAzNSwgICAzNSwgICAzNSwgICAzNSwgIDMyNiwNCj4gKyAgICAg
ICAyOSwgIDMxMSwgIDMyOCwgICAzNiwgIDI4MSwgIDMyNSwgIDMxMiwgICAzNSwgICAzNSwgIDMx
NywNCj4gKyAgICAgIDI4MSwgIDMyNCwgIDMyNywgIDMyMywgIDMyOSwgICAzNSwgICAzNSwgICAz
NSwgICAzNSwgIDMzNiwNCj4gKw0KPiArICAgICAgMjgxLCAgIDM1LCAgIDM1LCAgMzUyLCAgMzM0
LCAgMzM3LCAgMzM1LCAgMzUwLCAgIDM1LCAgIDM1LA0KPiArICAgICAgIDM1LCAgIDM1LCAgMzU5
LCAgMzQ2LCAgIDM1LCAgIDM1LCAgMzU2LCAgMzQ4LCAgMzQ0LCAgMzQ1LA0KPiArICAgICAgIDM1
LCAgIDM1LCAgIDI3LCAgIDI3LCAgIDI3LCAgIDI3LCAgIDI5LCAgIDI5LCAgIDI5LCAgIDMxLA0K
PiArICAgICAgIDMxLCAgIDMxLCAgIDMxLCAgIDM2LCAgIDM2LCAgIDM2LCAgIDM2LCAgIDYzLCAg
MzIxLCAgIDYzLA0KPiArICAgICAgIDYzLCAgIDY0LCAgIDY0LCAgIDY0LCAgIDY0LCAgIDY2LCAg
MzE5LCAgIDY2LCAgIDY2LCAgIDM1LA0KPiArICAgICAgIDM1LCAgIDM1LCAgIDM1LCAgIDcwLCAg
IDcwLCAgMzQzLCAgIDcwLCAgIDk2LCAgIDk2LCAgIDk2LA0KPiArICAgICAgIDk2LCAgIDk4LCAg
MzQxLCAgIDk4LCAgIDk4LCAgMTMxLCAgMTMxLCAgMTMxLCAgMTMxLCAgMTQ2LA0KPiArICAgICAg
MTQ2LCAgMTQ2LCAgMTQ2LCAgMTUyLCAgMTUyLCAgMTUyLCAgMTUyLCAgMTU2LCAgMTU2LCAgMTU2
LA0KPiArICAgICAgMTU2LCAgMTYxLCAgMTYxLCAgMTYxLCAgMTYxLCAgMTY5LCAgMTY5LCAgMTY5
LCAgMTY5LCAgMTcxLA0KPiArICAgICAgMzM5LCAgMTcxLCAgMTcxLCAgMTg0LCAgMTg0LCAgMTg0
LCAgMTg0LCAgMTg5LCAgMTg5LCAgMTg5LA0KPiArDQo+ICsgICAgICAxODksICAxOTEsICAzMzMs
ICAxOTEsICAxOTEsICAxOTYsICAxOTYsICAxOTYsICAxOTYsICAxOTgsDQo+ICsgICAgICAzMzEs
ICAxOTgsICAxOTgsICAyMDEsICAyMDEsICAyMDEsICAyMDEsICAyMDMsICAyODEsICAyMDMsDQo+
ICsgICAgICAyMDMsICAyMDcsICAyMDcsICAyMDcsICAyMDcsICAyMDksICAzMjEsICAyMDksICAy
MDksICAyMTQsDQo+ICsgICAgICAyMTQsICAyMTQsICAyMTQsICAxNzMsICAzMTksICAxNzMsICAx
NzMsICAyMjYsICAyMjYsICAyMjYsDQo+ICsgICAgICAyMjYsICAyMjgsICAyNzUsICAyMjgsICAy
MjgsICAyMzUsICAyMzUsICAyMzUsICAyMzUsICAxOTMsDQo+ICsgICAgICAyNjcsICAxOTMsICAx
OTMsICAyMDAsICAyNTcsICAyMDAsICAyMDAsICAyMDUsICAzMDQsICAyMDUsDQo+ICsgICAgICAy
MDUsICAyMTEsICAyOTgsICAyMTEsICAyMTEsICAyNDIsICAyNDIsICAyNDIsICAyNDIsICAyNDUs
DQo+ICsgICAgICAyNDUsICAyNDUsICAyNDUsICAyMzAsICAyNDYsICAyMzAsICAyMzAsICAyNTYs
ICAyNTYsICAyNTYsDQo+ICsgICAgICAyNTYsICAyNTksICAyNTksICAyNTksICAyNTksICAyNjEs
ICAyOTUsICAyNjEsICAyNjEsICAyNjYsDQo+ICsgICAgICAyNjYsICAyNjYsICAyNjYsICAyNjks
ICAyNjksICAyNjksICAyNjksICAyNzEsICAyNzEsICAyNzEsDQo+ICsNCj4gKyAgICAgIDI3MSwg
IDI3NCwgIDI3NCwgIDI3NCwgIDI3NCwgIDI4MCwgIDI4MCwgIDI4MCwgIDI4MCwgIDI4NSwNCj4g
KyAgICAgIDI4NSwgIDI4NSwgIDI4NSwgIDI2MywgIDI5MCwgIDI2MywgIDI2MywgIDI4OSwgIDI4
OSwgIDI4OSwNCj4gKyAgICAgIDI4OSwgIDI5MywgIDI5MywgIDI5MywgIDI5MywgIDI3MCwgIDI4
NiwgIDI3MCwgIDI3MCwgIDI5NywNCj4gKyAgICAgIDI5NywgIDI5NywgIDI5NywgIDMwMywgIDMw
MywgIDMwMywgIDMwMywgIDMxMCwgIDMxMCwgIDMxMCwNCj4gKyAgICAgIDMxMCwgIDMxMiwgIDI3
NSwgIDMxMiwgIDMxMiwgIDMxOCwgIDMxOCwgIDMxOCwgIDMxOCwgIDMyMCwNCj4gKyAgICAgIDMy
MCwgIDMyMCwgIDMyMCwgIDMxNCwgIDI3MiwgIDMxNCwgIDMxNCwgIDMzMCwgIDMzMCwgIDMzMCwN
Cj4gKyAgICAgIDMzMCwgIDMzMiwgIDMzMiwgIDMzMiwgIDMzMiwgIDMzOCwgIDMzOCwgIDMzOCwg
IDMzOCwgIDM0MCwNCj4gKyAgICAgIDM0MCwgIDM0MCwgIDM0MCwgIDM0MiwgIDM0MiwgIDM0Miwg
IDM0MiwgIDM0NywgIDM0NywgIDM0NywNCj4gKyAgICAgIDM0NywgIDM0OSwgIDM0OSwgIDM0OSwg
IDM0OSwgIDM1MSwgIDM1MSwgIDM1MSwgIDM1MSwgIDM1MywNCj4gKyAgICAgIDM1MywgIDM1Mywg
IDM1MywgIDM1NywgIDM1NywgIDM1NywgIDM1NywgIDIxNSwgIDI2NywgIDI1NywNCj4gKw0KPiAr
ICAgICAgMjQ2LCAgMjQzLCAgMjE1LCAgMTQxLCAgMTM5LCAgIDk5LCAgIDM2LCAgIDMwLCAgIDU5
LCAgIDU3LA0KPiArICAgICAgIDM2LCAgIDMwLCAgMzYwLCAgIDI4LCAgIDI4LCAgICA1LCAgMzYw
LCAgMzYwLCAgMzYwLCAgMzYwLA0KPiArICAgICAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYw
LCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLA0KPiArICAgICAgMzYwLCAgMzYwLCAgMzYw
LCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLA0KPiArICAgICAgMzYw
LCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwDQo+
ICAgICAgfSA7DQo+IA0KPiAtc3RhdGljIGNvbnN0IGZsZXhfaW50MTZfdCB5eV9jaGtbOTQwXSA9
DQo+ICtzdGF0aWMgY29uc3QgZmxleF9pbnQxNl90IHl5X2Noa1s5NTFdID0NCj4gICAgICB7ICAg
MCwNCj4gICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAg
MSwgICAgMSwgICAgMSwNCj4gICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAg
MSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwNCj4gQEAgLTkyNywxMDEgKzkzMCwxMDIgQEAgc3Rh
dGljIGNvbnN0IGZsZXhfaW50MTZfdCB5eV9jaGtbOTQwXSA9DQo+ICAgICAgICAgMTgsICAgMTQs
ICAgMTEsICAgMTEsICAgMTMsICAgMTQsICAgMTEsICAgNDYsICAgNDYsICAgMTQsDQo+ICAgICAg
ICAgMTUsICAgMTYsICAgMTEsICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTQsICAg
MTYsDQo+ICAgICAgICAgMTIsICAgMTIsICAgMTIsICAgMTUsICAgMTksICAgMTYsICAgMjAsICAg
MjAsICAgMjEsICAgMjIsDQo+IC0gICAgICAgMjQsICAgMjIsICAgMjQsICAgNTAsICAgMjYsICAg
MjEsICAgNTAsICAgMjYsICAgMTksICAzNTEsDQo+IC0gICAgICAgMjAsICAgMjYsICAgMTksICAg
MzEsICAgMzEsICAgMzIsICAgMzIsICAgMzIsICAgMzksICAgMzEsDQo+IC0NCj4gLSAgICAgICAz
OSwgICA0MiwgICAzMiwgICAzNSwgICAzNSwgICAzNSwgICAzNSwgICA0MCwgICA0NCwgICA0NSwN
Cj4gLSAgICAgICAzNSwgICAzNSwgICAzNywgICAzNywgICAzNywgICAzNywgICAzNywgICAzOSwg
ICA0MiwgICAzNywNCj4gLSAgICAgICAzNywgICA0MCwgICA0MSwgICA0MywgICA0MSwgICA0OCwg
ICA0NSwgICA0NSwgICA0OSwgICA0NCwNCj4gLSAgICAgICA0NywgICA0NywgICA1MywgICA1MSwg
ICA0MywgICA1MywgICA0OCwgICA1MSwgICA1MiwgICA1NCwNCj4gLSAgICAgICA1MiwgICA1NSwg
ICA1NiwgICA1OCwgICA1NCwgICA0OSwgICA1NywgICA1OSwgICA2MCwgICA3MywNCj4gLSAgICAg
ICA2MSwgICA3MCwgICA2MCwgICA2MSwgIDM0NywgICA3MCwgICA1NiwgICA2MywgICA2MywgICA3
MywNCj4gLSAgICAgICA1OCwgICA3MSwgICA1OSwgICA2MywgICA1OSwgICA1NSwgICA2NiwgICA2
NiwgICA1NywgICA3MSwNCj4gLSAgICAgICA3NCwgICA3MiwgICA2NiwgICA3MiwgICA3NSwgICA3
NiwgICA3NywgICA3OCwgICA3OSwgICA3OCwNCj4gLSAgICAgICA3NywgICA3OSwgICA4MCwgICA4
MSwgICA3NCwgICA4MywgICA4MCwgICA4MiwgICA3NSwgICA4NCwNCj4gLSAgICAgICA4MiwgICA4
NSwgICA4OCwgICA4NSwgICA3NiwgICA4MSwgICA4NywgICA4MywgICA4NywgICA4OSwNCj4gLQ0K
PiAtICAgICAgIDkyLCAgIDg5LCAgIDkzLCAgMzQ1LCAgIDkwLCAgMTA0LCAgIDkyLCAgIDg0LCAg
IDg2LCAgIDg2LA0KPiAtICAgICAgIDg2LCAgIDg2LCAgIDkwLCAgIDk5LCAgIDg4LCAgIDg2LCAg
IDg2LCAgIDk4LCAgMTAyLCAgIDg2LA0KPiAtICAgICAgIDg2LCAgIDkxLCAgIDkxLCAgIDkzLCAg
IDkxLCAgIDk0LCAgIDk0LCAgIDkxLCAgMTAxLCAgMTA0LA0KPiAtICAgICAgMTAyLCAgIDk0LCAg
MTAxLCAgMTEwLCAgIDk5LCAgIDk4LCAgMTAwLCAgMTAwLCAgMTAwLCAgMTAwLA0KPiAtICAgICAg
MTAwLCAgMTAzLCAgMTAzLCAgMTAwLCAgMTAwLCAgMzQzLCAgMTA1LCAgMTAzLCAgMTA1LCAgMTA3
LA0KPiAtICAgICAgMTA5LCAgMTA3LCAgMTExLCAgMTEwLCAgMTA5LCAgMTEzLCAgMTEzLCAgMzQx
LCAgMTIxLCAgMTE4LA0KPiAtICAgICAgMTExLCAgMTEyLCAgMTEyLCAgMTEyLCAgMTEyLCAgMTEy
LCAgMTIxLCAgMTEzLCAgMTEyLCAgMTEyLA0KPiAtICAgICAgMTE0LCAgMTE0LCAgMTE2LCAgMTE2
LCAgMTE4LCAgMTE2LCAgMTE0LCAgMTE1LCAgMTE1LCAgMTE1LA0KPiAtICAgICAgMTE1LCAgMTE1
LCAgMTIzLCAgMTIzLCAgMTE1LCAgMTE1LCAgMTE3LCAgMTE3LCAgMTE3LCAgMTE3LA0KPiAtICAg
ICAgMTE3LCAgMTI0LCAgMTIyLCAgMTE3LCAgMTE3LCAgMTE5LCAgMTIyLCAgMTE5LCAgMTIwLCAg
MTIwLA0KPiAtDQo+IC0gICAgICAxMjAsICAxMjAsICAxMjAsICAxMjUsICAxMzAsICAxMjAsICAx
MjAsICAxMjUsICAxMzEsICAxMjQsDQo+IC0gICAgICAxMjYsICAxMjYsICAxMjgsICAxMjgsICAx
MzEsICAxMzQsICAxMjYsICAxMzAsICAxMjgsICAxMzMsDQo+IC0gICAgICAxMzMsICAxMzMsICAx
MzUsICAxMzYsICAxMzMsICAxMzksICAxNjQsICAxNDAsICAxMzgsICAxNDAsDQo+IC0gICAgICAx
MzQsICAxNjQsICAxMzMsICAxNDEsICAxNDEsICAxNjMsICAxNjMsICAzMzgsICAxMzksICAxNDEs
DQo+IC0gICAgICAxMzYsICAxMzUsICAxMzcsICAxMzcsICAxMzcsICAxMzcsICAxMzcsICAxMzgs
ICAzMzYsICAxMzcsDQo+IC0gICAgICAxMzcsICAxNDMsICAxNDMsICAxNDUsICAxNDUsICAxNDYs
ICAxNDYsICAxNDMsICAxNDcsICAxNDcsDQo+IC0gICAgICAxNDksICAxNDksICAxNDUsICAxNTUs
ICAxNDcsICAxNjEsICAxNDksICAxNTEsICAxNTEsICAxNTMsDQo+IC0gICAgICAxNTMsICAxNDYs
ICAxNjAsICAxNTEsICAyNzAsICAxNTMsICAxNzYsICAxNTYsICAxNTYsICAxNTgsDQo+IC0gICAg
ICAxNTgsICAxNzYsICAxNTUsICAxNTYsICAxNjEsICAxNTgsICAxNjUsICAxNjUsICAxNzAsICAy
NzAsDQo+IC0gICAgICAxNjAsICAxNzAsICAxNjUsICAxNzIsICAxNzIsICAxNzMsICAxNzMsICAx
NzQsICAxNzQsICAxNzUsDQo+IC0NCj4gLSAgICAgIDIwOCwgIDE3NywgIDIyMCwgIDE3NSwgIDE3
NywgIDE3OCwgIDE3OCwgIDE3MywgIDIyMCwgIDE3NCwNCj4gLSAgICAgIDIwOCwgIDE3OCwgIDE4
MCwgIDE4MCwgIDE3MiwgIDE4MiwgIDE4MiwgIDE4MywgIDE4MCwgIDMzNCwNCj4gLSAgICAgIDE5
MCwgIDE5MCwgIDE4MywgIDE4NCwgIDE4NCwgIDE4NCwgIDE4NCwgIDE4NCwgIDE4NSwgIDE4NSwN
Cj4gLSAgICAgIDE4NCwgIDE4NCwgIDE5MCwgIDI0MywgIDE4NSwgIDE5MSwgIDE5MSwgIDE5Miwg
IDE5MiwgIDE5NywNCj4gLSAgICAgIDE5NywgIDIwMiwgIDIwMiwgIDE5MiwgIDMzMiwgIDE5Nywg
IDIwMywgIDIwMywgIDIwOSwgIDIwOSwNCj4gLSAgICAgIDIxMywgIDIxMywgIDIwMywgIDIxNCwg
IDIxNCwgIDIxNSwgIDIxNSwgIDI0MywgIDIxNiwgIDIxNiwNCj4gLSAgICAgIDIxNywgIDIxNywg
IDIxOCwgIDIxOCwgIDIxOSwgIDIxOSwgIDIyMSwgIDIyMSwgIDIxNSwgIDIzNSwNCj4gLSAgICAg
IDIxOSwgIDIzNSwgIDIyMSwgIDIxNCwgIDIxNiwgIDIxNywgIDIyNywgIDIyNywgIDIyOCwgIDIy
OCwNCj4gLSAgICAgIDIzMCwgIDIzMCwgIDIzMiwgIDMzMSwgIDIyOCwgIDIzMywgIDIzMCwgIDIz
MywgIDIzMywgIDMyOSwNCj4gLSAgICAgIDIzMiwgIDIzMiwgIDIzNiwgIDIzNiwgIDI0MSwgIDI0
MSwgIDI0NCwgIDI0NCwgIDI0NSwgIDI0NSwNCj4gLQ0KPiAtICAgICAgMjQxLCAgMjQ2LCAgMjQ2
LCAgMjQ3LCAgMjQ4LCAgMjQ4LCAgMjY3LCAgMjY3LCAgMjQ0LCAgMjU5LA0KPiAtICAgICAgMjU5
LCAgMjQ3LCAgMjQ3LCAgMjUyLCAgMjUyLCAgMjQ1LCAgMjQ4LCAgMzI2LCAgMjQ2LCAgMjUyLA0K
PiAtICAgICAgMjUzLCAgMjUzLCAgMjY3LCAgMzI0LCAgMjU5LCAgMzE2LCAgMjUzLCAgMjYyLCAg
MjYyLCAgMjYyLA0KPiAtICAgICAgMjYyLCAgMjYyLCAgMjcxLCAgMjcxLCAgMjYyLCAgMjYyLCAg
MjcyLCAgMjc2LCAgMjczLCAgMjcyLA0KPiAtICAgICAgMjcyLCAgMjczLCAgMjczLCAgMjc3LCAg
Mjc4LCAgMzE2LCAgMjc2LCAgMjcxLCAgMjgxLCAgMjgxLA0KPiAtICAgICAgMjk5LCAgMjc4LCAg
Mjc4LCAgMjgyLCAgMjgyLCAgMjg1LCAgMjg1LCAgMjc3LCAgMzAwLCAgMjg3LA0KPiAtICAgICAg
Mjg3LCAgMjg1LCAgMjkwLCAgMjkwLCAgMjgxLCAgMjg3LCAgMzIzLCAgMjkzLCAgMjk0LCAgMjk0
LA0KPiAtICAgICAgMjkwLCAgMjkzLCAgMzAzLCAgMjk5LCAgMzAxLCAgMzAxLCAgMzAyLCAgMzAy
LCAgMzEwLCAgMzEwLA0KPiAtICAgICAgMzAzLCAgMzAzLCAgMzAwLCAgMzE3LCAgMzAyLCAgMjk0
LCAgMzA0LCAgMzA0LCAgMzIyLCAgMzI4LA0KPiAtICAgICAgMzAxLCAgMzA5LCAgMzA0LCAgMzEx
LCAgMzA5LCAgMzA5LCAgMzExLCAgMzExLCAgMzE4LCAgMzE3LA0KPiAtDQo+IC0gICAgICAzMTgs
ICAzMTgsICAzMTksICAzMjEsICAzMTQsICAzMTksICAzMTksICAzMjgsICAzMzAsICAzMzAsDQo+
IC0gICAgICAzNTAsICAzMzAsICAzNDAsICAzNDAsICAzNDAsICAzMTIsICAyOTcsICAyOTYsICAz
NTAsICAzNTAsDQo+IC0gICAgICAzNTUsICAzNTUsICAzNTUsICAzNTUsICAzNTYsICAzNTYsICAz
NTYsICAzNTcsICAzNTcsICAzNTcsDQo+IC0gICAgICAzNTcsICAzNTgsICAzNTgsICAzNTgsICAz
NTgsICAzNTksICAyOTUsICAzNTksICAzNTksICAzNjAsDQo+IC0gICAgICAzNjAsICAzNjAsICAz
NjAsICAzNjEsICAyOTEsICAzNjEsICAzNjEsICAzNjIsICAzNjIsICAzNjIsDQo+IC0gICAgICAz
NjIsICAzNjMsICAzNjMsICAyODMsICAzNjMsICAzNjQsICAzNjQsICAzNjQsICAzNjQsICAzNjUs
DQo+IC0gICAgICAyNzksICAzNjUsICAzNjUsICAzNjYsICAzNjYsICAzNjYsICAzNjYsICAzNjcs
ICAzNjcsICAzNjcsDQo+IC0gICAgICAzNjcsICAzNjgsICAzNjgsICAzNjgsICAzNjgsICAzNjks
ICAzNjksICAzNjksICAzNjksICAzNzAsDQo+IC0gICAgICAzNzAsICAzNzAsICAzNzAsICAzNzEs
ICAzNzEsICAzNzEsICAzNzEsICAzNzIsICAyNzQsICAzNzIsDQo+IC0gICAgICAzNzIsICAzNzMs
ICAzNzMsICAzNzMsICAzNzMsICAzNzQsICAzNzQsICAzNzQsICAzNzQsICAzNzUsDQo+IC0NCj4g
LSAgICAgIDI2OCwgIDM3NSwgIDM3NSwgIDM3NiwgIDM3NiwgIDM3NiwgIDM3NiwgIDM3NywgIDI2
NSwgIDM3NywNCj4gLSAgICAgIDM3NywgIDM3OCwgIDM3OCwgIDM3OCwgIDM3OCwgIDM3OSwgIDI2
MywgIDM3OSwgIDM3OSwgIDM4MCwNCj4gLSAgICAgIDM4MCwgIDM4MCwgIDM4MCwgIDM4MSwgIDI2
MCwgIDM4MSwgIDM4MSwgIDM4MiwgIDM4MiwgIDM4MiwNCj4gLSAgICAgIDM4MiwgIDM4MywgIDI1
MCwgIDM4MywgIDM4MywgIDM4NCwgIDM4NCwgIDM4NCwgIDM4NCwgIDM4NSwNCj4gLSAgICAgIDI0
MiwgIDM4NSwgIDM4NSwgIDM4NiwgIDM4NiwgIDM4NiwgIDM4NiwgIDM4NywgIDIzOSwgIDM4NywN
Cj4gLSAgICAgIDM4NywgIDM4OCwgIDIzNywgIDM4OCwgIDM4OCwgIDM4OSwgIDIzNCwgIDM4OSwg
IDM4OSwgIDM5MCwNCj4gLSAgICAgIDIyNiwgIDM5MCwgIDM5MCwgIDM5MSwgIDM5MSwgIDM5MSwg
IDM5MSwgIDM5MiwgIDM5MiwgIDM5MiwNCj4gLSAgICAgIDM5MiwgIDM5MywgIDIxMiwgIDM5Mywg
IDM5MywgIDM5NCwgIDM5NCwgIDM5NCwgIDM5NCwgIDM5NSwNCj4gLSAgICAgIDM5NSwgIDM5NSwg
IDM5NSwgIDM5NiwgIDIxMCwgIDM5NiwgIDM5NiwgIDM5NywgIDM5NywgIDM5NywNCj4gLSAgICAg
IDM5NywgIDM5OCwgIDM5OCwgIDM5OCwgIDM5OCwgIDM5OSwgIDM5OSwgIDM5OSwgIDM5OSwgIDQw
MCwNCj4gLQ0KPiAtICAgICAgNDAwLCAgNDAwLCAgNDAwLCAgNDAxLCAgNDAxLCAgNDAxLCAgNDAx
LCAgNDAyLCAgNDAyLCAgNDAyLA0KPiAtICAgICAgNDAyLCAgNDAzLCAgMTYyLCAgNDAzLCAgNDAz
LCAgNDA0LCAgNDA0LCAgNDA0LCAgNDA0LCAgNDA1LA0KPiAtICAgICAgNDA1LCAgNDA1LCAgNDA1
LCAgNDA2LCAgMTA4LCAgNDA2LCAgNDA2LCAgNDA3LCAgNDA3LCAgNDA3LA0KPiAtICAgICAgNDA3
LCAgNDA4LCAgNDA4LCAgNDA4LCAgNDA4LCAgNDA5LCAgNDA5LCAgNDA5LCAgNDA5LCAgNDEwLA0K
PiAtICAgICAgMTA2LCAgNDEwLCAgNDEwLCAgNDExLCAgNDExLCAgNDExLCAgNDExLCAgNDEyLCAg
NDEyLCAgNDEyLA0KPiAtICAgICAgNDEyLCAgNDEzLCAgIDY5LCAgNDEzLCAgNDEzLCAgNDE0LCAg
NDE0LCAgNDE0LCAgNDE0LCAgNDE1LA0KPiAtICAgICAgNDE1LCAgNDE1LCAgNDE1LCAgNDE2LCAg
NDE2LCAgNDE2LCAgNDE2LCAgNDE3LCAgNDE3LCAgNDE3LA0KPiAtICAgICAgNDE3LCAgNDE4LCAg
NDE4LCAgNDE4LCAgNDE4LCAgNDE5LCAgNDE5LCAgNDE5LCAgNDE5LCAgNDIwLA0KPiAtICAgICAg
NDIwLCAgNDIwLCAgNDIwLCAgNDIxLCAgNDIxLCAgNDIxLCAgNDIxLCAgNDIyLCAgNDIyLCAgNDIy
LA0KPiAtICAgICAgNDIyLCAgNDIzLCAgNDIzLCAgNDIzLCAgNDIzLCAgIDM2LCAgIDI5LCAgIDI1
LCAgIDIzLCAgIDE3LA0KPiAtDQo+IC0gICAgICAgIDYsICAgIDUsICAgIDQsICAgIDMsICAzNTQs
ICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsDQo+IC0gICAgICAzNTQsICAzNTQsICAzNTQs
ICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsDQo+IC0gICAgICAzNTQs
ICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsDQo+
IC0gICAgICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAz
NTQNCj4gKyAgICAgICAyNCwgICAyMiwgICAyNCwgICA0NywgICA0NywgICAyMSwgICAyNiwgICA1
MSwgICAxOSwgICAyNiwNCj4gKyAgICAgICAyMCwgICA1MSwgICAxOSwgICAyNiwgICAyNiwgICAz
MSwgICAzMSwgICAzMiwgICAzMiwgICAzMiwNCj4gKw0KPiArICAgICAgIDM5LCAgIDMxLCAgIDM5
LCAgIDQyLCAgIDMyLCAgIDM1LCAgIDM1LCAgIDM1LCAgIDM1LCAgIDQwLA0KPiArICAgICAgIDQ0
LCAgIDQ1LCAgIDM1LCAgIDM1LCAgIDM3LCAgIDM3LCAgIDM3LCAgIDM3LCAgIDM3LCAgIDM5LA0K
PiArICAgICAgIDQyLCAgIDM3LCAgIDM3LCAgIDQwLCAgIDQxLCAgIDQzLCAgIDQxLCAgIDQ4LCAg
IDQ1LCAgIDQ1LA0KPiArICAgICAgIDQ5LCAgIDQ0LCAgIDUwLCAgIDU1LCAgIDU2LCAgIDUwLCAg
IDQzLCAgIDUyLCAgIDQ4LCAgIDUyLA0KPiArICAgICAgIDUzLCAgIDU0LCAgIDU3LCAgIDUzLCAg
IDU4LCAgIDU5LCAgIDU0LCAgIDQ5LCAgIDU2LCAgIDYwLA0KPiArICAgICAgIDYyLCAgIDYxLCAg
IDcxLCAgIDYwLCAgIDYxLCAgIDcyLCAgIDcxLCAgIDU1LCAgIDc3LCAgIDk0LA0KPiArICAgICAg
IDU5LCAgIDU4LCAgIDU5LCAgIDcyLCAgIDU3LCAgIDY0LCAgIDY0LCAgIDYyLCAgIDY3LCAgIDY3
LA0KPiArICAgICAgIDczLCAgIDY0LCAgIDczLCAgIDc0LCAgIDY3LCAgIDc1LCAgIDc2LCAgIDc3
LCAgIDc4LCAgIDc5LA0KPiArICAgICAgIDk0LCAgIDc5LCAgIDc4LCAgIDc0LCAgIDgwLCAgIDgy
LCAgIDg0LCAgIDgwLCAgIDgxLCAgIDc1LA0KPiArICAgICAgIDc2LCAgIDgzLCAgIDgxLCAgIDg1
LCAgIDgzLCAgIDg5LCAgIDkxLCAgIDgyLCAgIDg0LCAgIDg2LA0KPiArDQo+ICsgICAgICAgODgs
ICAgODYsICAgODgsICAgOTAsICAgOTEsICAgOTAsICAzNTcsICAxMDcsICAgOTUsICAxMDcsDQo+
ICsgICAgICAgOTMsICAgODUsICAgODcsICAgODcsICAgODcsICAgODcsICAgOTMsICAgODksICAx
MDAsICAgODcsDQo+ICsgICAgICAgODcsICAxMDEsICAxMDQsICAgODcsICAgODcsICAgOTIsICAg
OTIsICAgOTUsICAgOTIsICAgOTYsDQo+ICsgICAgICAgOTYsICAgOTIsICAxMDYsICAxMDMsICAx
MDQsICAgOTYsICAxMDAsICAxMDMsICAxMDksICAxMTIsDQo+ICsgICAgICAxMDksICAxMzksICAx
MDEsICAxMDIsICAxMDIsICAxMDIsICAxMDIsICAxMDIsICAxMDUsICAxMDUsDQo+ICsgICAgICAx
MDIsICAxMDIsICAxMTMsICAxMTEsICAxMDUsICAxMzgsICAxMDYsICAxMTEsICAxMzksICAxMTIs
DQo+ICsgICAgICAxMTMsICAxMTQsICAxMTQsICAxMTQsICAxMTQsICAxMTQsICAxMTUsICAxMTUs
ICAxMTQsICAxMTQsDQo+ICsgICAgICAxMTYsICAxMTYsICAxMTgsICAxMTgsICAxMzgsICAxMTgs
ICAxMTYsICAxMjMsICAxMTUsICAxMTcsDQo+ICsgICAgICAxMTcsICAxMTcsICAxMTcsICAxMTcs
ICAxMjAsICAxMjMsICAxMTcsICAxMTcsICAxMTksICAxMTksDQo+ICsgICAgICAxMTksICAxMTks
ICAxMTksICAxMjQsICAxMjcsICAxMTksICAxMTksICAxMjQsICAxMjEsICAxMjAsDQo+ICsNCj4g
KyAgICAgIDEyMSwgIDEyMiwgIDEyMiwgIDEyMiwgIDEyMiwgIDEyMiwgIDEyNSwgIDEyNSwgIDEy
MiwgIDEyMiwNCj4gKyAgICAgIDEyNiwgIDEyOCwgIDEyNywgIDEyOSwgIDEyOSwgIDEyOCwgIDEz
MSwgIDEzMSwgIDEyNiwgIDEyOSwNCj4gKyAgICAgIDEzMywgIDEzNCwgIDEzMSwgIDEzNiwgIDEz
NiwgIDEzNiwgIDEzNywgIDEzNCwgIDEzNiwgIDE0MSwNCj4gKyAgICAgIDE0MywgIDM1MywgIDE0
MywgIDEzMywgIDE0MiwgIDE2OCwgIDEzNiwgIDE2NywgIDE2NywgIDE1OCwNCj4gKyAgICAgIDE2
OCwgIDEzNywgIDE0MCwgIDE0MCwgIDE0MCwgIDE0MCwgIDE0MCwgIDE0MiwgIDE0MSwgIDE0MCwN
Cj4gKyAgICAgIDE0MCwgIDE0NCwgIDE0NCwgIDE0NiwgIDE0NiwgIDE0OCwgIDE0OCwgIDE0NCwg
IDE1OCwgIDE0NiwNCj4gKyAgICAgIDE0OSwgIDE0OSwgIDE1MCwgIDE1MCwgIDE0OCwgIDE1Miwg
IDE1MiwgIDE2NCwgIDE1MCwgIDE1NCwNCj4gKyAgICAgIDE1NCwgIDE1MiwgIDE1NiwgIDE1Niwg
IDE2MywgIDE1NCwgIDE0OSwgIDE2NiwgIDE1NiwgIDE1OSwNCj4gKyAgICAgIDE1OSwgIDE2MSwg
IDE2MSwgIDE2OSwgIDE2OSwgIDE1OSwgIDE2NCwgIDE2MSwgIDM1MSwgIDE2OSwNCj4gKyAgICAg
IDE3NCwgIDE2NiwgIDE2MywgIDE3NCwgIDE3NiwgIDE3NiwgIDE3NywgIDE3NywgIDE3OCwgIDE3
OCwNCj4gKw0KPiArICAgICAgMTc5LCAgMTgwLCAgMTgxLCAgMjE2LCAgMTc5LCAgMTgxLCAgMTgw
LCAgMzQ5LCAgMTc3LCAgMjE2LA0KPiArICAgICAgMTc4LCAgMTgyLCAgMTgyLCAgMTg0LCAgMTg0
LCAgMTc2LCAgMjI1LCAgMTgyLCAgMTg3LCAgMTg0LA0KPiArICAgICAgMTg2LCAgMTg2LCAgMjI1
LCAgMTg3LCAgMTg4LCAgMTg4LCAgMTg4LCAgMTg4LCAgMTg4LCAgMTg5LA0KPiArICAgICAgMTg5
LCAgMTg4LCAgMTg4LCAgMTk0LCAgMTk0LCAgMTg5LCAgMTk1LCAgMTk1LCAgMTk2LCAgMTk2LA0K
PiArICAgICAgMjAxLCAgMjAxLCAgMjA2LCAgMjA2LCAgMTk2LCAgMTk0LCAgMjAxLCAgMjA3LCAg
MjA3LCAgMjEyLA0KPiArICAgICAgMjEzLCAgMjEzLCAgMzA1LCAgMjA3LCAgMjE4LCAgMjE4LCAg
MjE5LCAgMjE5LCAgMzQ3LCAgMjEyLA0KPiArICAgICAgMjIwLCAgMjIwLCAgMjIxLCAgMjIxLCAg
MjIyLCAgMjIyLCAgMjIzLCAgMjIzLCAgMjI0LCAgMjI0LA0KPiArICAgICAgMzQ0LCAgMjI2LCAg
MjI2LCAgMjIwLCAgMjI0LCAgMzA1LCAgMjE5LCAgMjI2LCAgMjIxLCAgMjIyLA0KPiArICAgICAg
MjMyLCAgMjMyLCAgMjMzLCAgMjMzLCAgMjM1LCAgMjM1LCAgMjM3LCAgMjQ5LCAgMjMzLCAgMjM4
LA0KPiArICAgICAgMjM1LCAgMjM4LCAgMjM4LCAgMjk5LCAgMjM3LCAgMjM3LCAgMjQwLCAgMjk5
LCAgMjQwLCAgMjQxLA0KPiArDQo+ICsgICAgICAyNDEsICAyNDcsICAyNDcsICAyNTAsICAyNTAs
ICAyNTEsICAyNTEsICAyNDcsICAyNTIsICAyNTIsDQo+ICsgICAgICAyNTMsICAyNDksICAyNTQs
ICAyNTQsICAyODIsICAyNTAsICAyNjUsICAyNjUsICAyNTMsICAyNTMsDQo+ICsgICAgICAyNTgs
ICAyNTgsICAyNTEsICAyODIsICAyNTQsICAyNTIsICAyNTgsICAyNTksICAyNTksICAyNzMsDQo+
ICsgICAgICAyNzMsICAyNjUsICAyNzYsICAyNTksICAyNjgsICAyNjgsICAyNjgsICAyNjgsICAy
NjgsICAyNzcsDQo+ICsgICAgICAyNzcsICAyNjgsICAyNjgsICAyODMsICAzNDIsICAyNzMsICAy
NzgsICAyNzYsICAyNzksICAyNzgsDQo+ICsgICAgICAyNzgsICAyNzksICAyNzksICAyODQsICAy
NzcsICAyODcsICAyODcsICAyODMsICAyODgsICAyODgsDQo+ICsgICAgICAyODQsICAyODQsICAy
OTEsICAyOTEsICAyOTMsICAyOTMsICAyOTYsICAyOTYsICAyOTEsICAzMDYsDQo+ICsgICAgICAy
OTMsICAyODcsICAzMDAsICAzMDAsICAyOTYsICAzMDcsICAzMDcsICAzMDgsICAzMDgsICAzMDks
DQo+ICsgICAgICAzMTAsICAzMTAsICAzMTYsICAzMTYsICAzMjIsICAzMDgsICAzMTAsICAzMDks
ICAzMDksICAzMDAsDQo+ICsgICAgICAzMjMsICAzMDcsICAzMTUsICAzMDYsICAzMTcsICAzMTUs
ICAzMTUsICAzMTcsICAzMTcsICAzMjQsDQo+ICsNCj4gKyAgICAgIDMzNCwgIDMyNCwgIDMyNCwg
IDM0MCwgIDMyMiwgIDMyNSwgIDMyMywgIDMzOCwgIDMyNSwgIDMyNSwNCj4gKyAgICAgIDMzNiwg
IDMzNiwgIDM1NiwgIDMzNiwgIDM0NiwgIDM0NiwgIDM0NiwgIDMzNywgIDMzNCwgIDMzNSwNCj4g
KyAgICAgIDM1NiwgIDM1NiwgIDM2MSwgIDM2MSwgIDM2MSwgIDM2MSwgIDM2MiwgIDM2MiwgIDM2
MiwgIDM2MywNCj4gKyAgICAgIDM2MywgIDM2MywgIDM2MywgIDM2NCwgIDM2NCwgIDM2NCwgIDM2
NCwgIDM2NSwgIDMzMiwgIDM2NSwNCj4gKyAgICAgIDM2NSwgIDM2NiwgIDM2NiwgIDM2NiwgIDM2
NiwgIDM2NywgIDMzMCwgIDM2NywgIDM2NywgIDM2OCwNCj4gKyAgICAgIDM2OCwgIDM2OCwgIDM2
OCwgIDM2OSwgIDM2OSwgIDMyOSwgIDM2OSwgIDM3MCwgIDM3MCwgIDM3MCwNCj4gKyAgICAgIDM3
MCwgIDM3MSwgIDMyOCwgIDM3MSwgIDM3MSwgIDM3MiwgIDM3MiwgIDM3MiwgIDM3MiwgIDM3MywN
Cj4gKyAgICAgIDM3MywgIDM3MywgIDM3MywgIDM3NCwgIDM3NCwgIDM3NCwgIDM3NCwgIDM3NSwg
IDM3NSwgIDM3NSwNCj4gKyAgICAgIDM3NSwgIDM3NiwgIDM3NiwgIDM3NiwgIDM3NiwgIDM3Nywg
IDM3NywgIDM3NywgIDM3NywgIDM3OCwNCj4gKyAgICAgIDMyNywgIDM3OCwgIDM3OCwgIDM3OSwg
IDM3OSwgIDM3OSwgIDM3OSwgIDM4MCwgIDM4MCwgIDM4MCwNCj4gKw0KPiArICAgICAgMzgwLCAg
MzgxLCAgMzIwLCAgMzgxLCAgMzgxLCAgMzgyLCAgMzgyLCAgMzgyLCAgMzgyLCAgMzgzLA0KPiAr
ICAgICAgMzE4LCAgMzgzLCAgMzgzLCAgMzg0LCAgMzg0LCAgMzg0LCAgMzg0LCAgMzg1LCAgMzAz
LCAgMzg1LA0KPiArICAgICAgMzg1LCAgMzg2LCAgMzg2LCAgMzg2LCAgMzg2LCAgMzg3LCAgMzAy
LCAgMzg3LCAgMzg3LCAgMzg4LA0KPiArICAgICAgMzg4LCAgMzg4LCAgMzg4LCAgMzg5LCAgMzAx
LCAgMzg5LCAgMzg5LCAgMzkwLCAgMzkwLCAgMzkwLA0KPiArICAgICAgMzkwLCAgMzkxLCAgMjk3
LCAgMzkxLCAgMzkxLCAgMzkyLCAgMzkyLCAgMzkyLCAgMzkyLCAgMzkzLA0KPiArICAgICAgMjg5
LCAgMzkzLCAgMzkzLCAgMzk0LCAgMjg1LCAgMzk0LCAgMzk0LCAgMzk1LCAgMjgwLCAgMzk1LA0K
PiArICAgICAgMzk1LCAgMzk2LCAgMjc0LCAgMzk2LCAgMzk2LCAgMzk3LCAgMzk3LCAgMzk3LCAg
Mzk3LCAgMzk4LA0KPiArICAgICAgMzk4LCAgMzk4LCAgMzk4LCAgMzk5LCAgMjcxLCAgMzk5LCAg
Mzk5LCAgNDAwLCAgNDAwLCAgNDAwLA0KPiArICAgICAgNDAwLCAgNDAxLCAgNDAxLCAgNDAxLCAg
NDAxLCAgNDAyLCAgMjY5LCAgNDAyLCAgNDAyLCAgNDAzLA0KPiArICAgICAgNDAzLCAgNDAzLCAg
NDAzLCAgNDA0LCAgNDA0LCAgNDA0LCAgNDA0LCAgNDA1LCAgNDA1LCAgNDA1LA0KPiArDQo+ICsg
ICAgICA0MDUsICA0MDYsICA0MDYsICA0MDYsICA0MDYsICA0MDcsICA0MDcsICA0MDcsICA0MDcs
ICA0MDgsDQo+ICsgICAgICA0MDgsICA0MDgsICA0MDgsICA0MDksICAyNjYsICA0MDksICA0MDks
ICA0MTAsICA0MTAsICA0MTAsDQo+ICsgICAgICA0MTAsICA0MTEsICA0MTEsICA0MTEsICA0MTEs
ICA0MTIsICAyNTYsICA0MTIsICA0MTIsICA0MTMsDQo+ICsgICAgICA0MTMsICA0MTMsICA0MTMs
ICA0MTQsICA0MTQsICA0MTQsICA0MTQsICA0MTUsICA0MTUsICA0MTUsDQo+ICsgICAgICA0MTUs
ICA0MTYsICAyNDgsICA0MTYsICA0MTYsICA0MTcsICA0MTcsICA0MTcsICA0MTcsICA0MTgsDQo+
ICsgICAgICA0MTgsICA0MTgsICA0MTgsICA0MTksICAyNDUsICA0MTksICA0MTksICA0MjAsICA0
MjAsICA0MjAsDQo+ICsgICAgICA0MjAsICA0MjEsICA0MjEsICA0MjEsICA0MjEsICA0MjIsICA0
MjIsICA0MjIsICA0MjIsICA0MjMsDQo+ICsgICAgICA0MjMsICA0MjMsICA0MjMsICA0MjQsICA0
MjQsICA0MjQsICA0MjQsICA0MjUsICA0MjUsICA0MjUsDQo+ICsgICAgICA0MjUsICA0MjYsICA0
MjYsICA0MjYsICA0MjYsICA0MjcsICA0MjcsICA0MjcsICA0MjcsICA0MjgsDQo+ICsgICAgICA0
MjgsICA0MjgsICA0MjgsICA0MjksICA0MjksICA0MjksICA0MjksICAyNDIsICAyMzksICAyMzEs
DQo+ICsNCj4gKyAgICAgIDIxNywgIDIxNCwgIDE2NSwgIDExMCwgIDEwOCwgICA3MCwgICAzNiwg
ICAyOSwgICAyNSwgICAyMywNCj4gKyAgICAgICAxNywgICAgNiwgICAgNSwgICAgNCwgICAgMywg
IDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwNCj4gKyAgICAgIDM2MCwgIDM2MCwgIDM2MCwg
IDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwNCj4gKyAgICAgIDM2MCwg
IDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwNCj4g
KyAgICAgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2
MCwgIDM2MA0KPiAgICAgIH0gOw0KPiANCj4gICNkZWZpbmUgWVlfVFJBSUxJTkdfTUFTSyAweDIw
MDANCj4gQEAgLTExOTksOSArMTIwMyw5IEBAIHN0YXRpYyBpbnQgdmRldl9hbmRfZGV2dHlwZShE
aXNrUGFyc2VDb250ZXh0ICpkcGMsDQo+IGNoYXIgKnN0cikgew0KPiAgI3VuZGVmIERQQyAvKiBu
ZWVkcyB0byBiZSBkZWZpbmVkIGRpZmZlcmVudGx5IHRoZSBhY3R1YWwgbGV4ZXIgKi8NCj4gICNk
ZWZpbmUgRFBDICgoRGlza1BhcnNlQ29udGV4dCopeXlleHRyYSkNCj4gDQo+IC0jbGluZSAxMjAy
ICJsaWJ4bHVfZGlza19sLmMiDQo+ICsjbGluZSAxMjA2ICJsaWJ4bHVfZGlza19sLmMiDQo+IA0K
PiAtI2xpbmUgMTIwNCAibGlieGx1X2Rpc2tfbC5jIg0KPiArI2xpbmUgMTIwOCAibGlieGx1X2Rp
c2tfbC5jIg0KPiANCj4gICNkZWZpbmUgSU5JVElBTCAwDQo+ICAjZGVmaW5lIExFWEVSUiAxDQo+
IEBAIC0xNDgzLDcgKzE0ODcsNyBAQCBZWV9ERUNMDQo+ICAjbGluZSAxODAgImxpYnhsdV9kaXNr
X2wubCINCj4gICAvKi0tLS0tIHRoZSBzY2FubmVyIHJ1bGVzIHdoaWNoIGRvIHRoZSBwYXJzaW5n
IC0tLS0tKi8NCj4gDQo+IC0jbGluZSAxNDg2ICJsaWJ4bHVfZGlza19sLmMiDQo+ICsjbGluZSAx
NDkwICJsaWJ4bHVfZGlza19sLmMiDQo+IA0KPiAgCXdoaWxlICggLypDT05TVENPTkQqLzEgKQkJ
LyogbG9vcHMgdW50aWwgZW5kLW9mLWZpbGUgaXMNCj4gcmVhY2hlZCAqLw0KPiAgCQl7DQo+IEBA
IC0xNTE1LDE0ICsxNTE5LDE0IEBAIHl5X21hdGNoOg0KPiAgCQkJd2hpbGUgKCB5eV9jaGtbeXlf
YmFzZVt5eV9jdXJyZW50X3N0YXRlXSArIHl5X2NdICE9DQo+IHl5X2N1cnJlbnRfc3RhdGUgKQ0K
PiAgCQkJCXsNCj4gIAkJCQl5eV9jdXJyZW50X3N0YXRlID0gKGludCkgeXlfZGVmW3l5X2N1cnJl
bnRfc3RhdGVdOw0KPiAtCQkJCWlmICggeXlfY3VycmVudF9zdGF0ZSA+PSAzNTUgKQ0KPiArCQkJ
CWlmICggeXlfY3VycmVudF9zdGF0ZSA+PSAzNjEgKQ0KPiAgCQkJCQl5eV9jID0geXlfbWV0YVt5
eV9jXTsNCj4gIAkJCQl9DQo+ICAJCQl5eV9jdXJyZW50X3N0YXRlID0geXlfbnh0W3l5X2Jhc2Vb
eXlfY3VycmVudF9zdGF0ZV0gKw0KPiB5eV9jXTsNCj4gIAkJCSp5eWctPnl5X3N0YXRlX3B0cisr
ID0geXlfY3VycmVudF9zdGF0ZTsNCj4gIAkJCSsreXlfY3A7DQo+ICAJCQl9DQo+IC0JCXdoaWxl
ICggeXlfY3VycmVudF9zdGF0ZSAhPSAzNTQgKTsNCj4gKwkJd2hpbGUgKCB5eV9jdXJyZW50X3N0
YXRlICE9IDM2MCApOw0KPiANCj4gIHl5X2ZpbmRfYWN0aW9uOg0KPiAgCQl5eV9jdXJyZW50X3N0
YXRlID0gKi0teXlnLT55eV9zdGF0ZV9wdHI7DQo+IEBAIC0xNjQ4LDc2ICsxNjUyLDgxIEBAIFlZ
X1JVTEVfU0VUVVANCj4gICNsaW5lIDIwMSAibGlieGx1X2Rpc2tfbC5sIg0KPiAgeyBsaWJ4bF9k
ZWZib29sX3NldCgmRFBDLT5kaXNrLT5kaXNjYXJkX2VuYWJsZSwgZmFsc2UpOyB9DQo+ICAJWVlf
QlJFQUsNCj4gLS8qIE5vdGUgdGhhdCB0aGUgQ09MTyBjb25maWd1cmF0aW9uIHNldHRpbmdzIHNo
b3VsZCBiZSBjb25zaWRlcmVkDQo+IHVuc3RhYmxlLg0KPiAtICAqIFRoZXkgbWF5IGNoYW5nZSBp
bmNvbXBhdGlibHkgaW4gZnV0dXJlIHZlcnNpb25zIG9mIFhlbi4gKi8NCj4gIGNhc2UgMTU6DQo+
ICBZWV9SVUxFX1NFVFVQDQo+IC0jbGluZSAyMDQgImxpYnhsdV9kaXNrX2wubCINCj4gLXsgbGli
eGxfZGVmYm9vbF9zZXQoJkRQQy0+ZGlzay0+Y29sb19lbmFibGUsIHRydWUpOyB9DQo+ICsjbGlu
ZSAyMDIgImxpYnhsdV9kaXNrX2wubCINCj4gK3sgRFBDLT5kaXNrLT52aXJ0aW8gPSAxOyB9DQo+
ICAJWVlfQlJFQUsNCj4gKy8qIE5vdGUgdGhhdCB0aGUgQ09MTyBjb25maWd1cmF0aW9uIHNldHRp
bmdzIHNob3VsZCBiZSBjb25zaWRlcmVkDQo+IHVuc3RhYmxlLg0KPiArICAqIFRoZXkgbWF5IGNo
YW5nZSBpbmNvbXBhdGlibHkgaW4gZnV0dXJlIHZlcnNpb25zIG9mIFhlbi4gKi8NCj4gIGNhc2Ug
MTY6DQo+ICBZWV9SVUxFX1NFVFVQDQo+ICAjbGluZSAyMDUgImxpYnhsdV9kaXNrX2wubCINCj4g
LXsgbGlieGxfZGVmYm9vbF9zZXQoJkRQQy0+ZGlzay0+Y29sb19lbmFibGUsIGZhbHNlKTsgfQ0K
PiAreyBsaWJ4bF9kZWZib29sX3NldCgmRFBDLT5kaXNrLT5jb2xvX2VuYWJsZSwgdHJ1ZSk7IH0N
Cj4gIAlZWV9CUkVBSw0KPiAgY2FzZSAxNzoNCj4gLS8qIHJ1bGUgMTcgY2FuIG1hdGNoIGVvbCAq
Lw0KPiAgWVlfUlVMRV9TRVRVUA0KPiAgI2xpbmUgMjA2ICJsaWJ4bHVfZGlza19sLmwiDQo+IC17
IFNUUklQKCcsJyk7IFNBVkVTVFJJTkcoImNvbG8taG9zdCIsIGNvbG9faG9zdCwgRlJPTUVRVUFM
Uyk7IH0NCj4gK3sgbGlieGxfZGVmYm9vbF9zZXQoJkRQQy0+ZGlzay0+Y29sb19lbmFibGUsIGZh
bHNlKTsgfQ0KPiAgCVlZX0JSRUFLDQo+ICBjYXNlIDE4Og0KPiAgLyogcnVsZSAxOCBjYW4gbWF0
Y2ggZW9sICovDQo+ICBZWV9SVUxFX1NFVFVQDQo+ICAjbGluZSAyMDcgImxpYnhsdV9kaXNrX2wu
bCINCj4gLXsgU1RSSVAoJywnKTsgc2V0Y29sb3BvcnQoRFBDLCBGUk9NRVFVQUxTKTsgfQ0KPiAr
eyBTVFJJUCgnLCcpOyBTQVZFU1RSSU5HKCJjb2xvLWhvc3QiLCBjb2xvX2hvc3QsIEZST01FUVVB
TFMpOyB9DQo+ICAJWVlfQlJFQUsNCj4gIGNhc2UgMTk6DQo+ICAvKiBydWxlIDE5IGNhbiBtYXRj
aCBlb2wgKi8NCj4gIFlZX1JVTEVfU0VUVVANCj4gICNsaW5lIDIwOCAibGlieGx1X2Rpc2tfbC5s
Ig0KPiAteyBTVFJJUCgnLCcpOyBTQVZFU1RSSU5HKCJjb2xvLWV4cG9ydCIsIGNvbG9fZXhwb3J0
LCBGUk9NRVFVQUxTKTsgfQ0KPiAreyBTVFJJUCgnLCcpOyBzZXRjb2xvcG9ydChEUEMsIEZST01F
UVVBTFMpOyB9DQo+ICAJWVlfQlJFQUsNCj4gIGNhc2UgMjA6DQo+ICAvKiBydWxlIDIwIGNhbiBt
YXRjaCBlb2wgKi8NCj4gIFlZX1JVTEVfU0VUVVANCj4gICNsaW5lIDIwOSAibGlieGx1X2Rpc2tf
bC5sIg0KPiAteyBTVFJJUCgnLCcpOyBTQVZFU1RSSU5HKCJhY3RpdmUtZGlzayIsIGFjdGl2ZV9k
aXNrLCBGUk9NRVFVQUxTKTsgfQ0KPiAreyBTVFJJUCgnLCcpOyBTQVZFU1RSSU5HKCJjb2xvLWV4
cG9ydCIsIGNvbG9fZXhwb3J0LCBGUk9NRVFVQUxTKTsgfQ0KPiAgCVlZX0JSRUFLDQo+ICBjYXNl
IDIxOg0KPiAgLyogcnVsZSAyMSBjYW4gbWF0Y2ggZW9sICovDQo+ICBZWV9SVUxFX1NFVFVQDQo+
ICAjbGluZSAyMTAgImxpYnhsdV9kaXNrX2wubCINCj4gK3sgU1RSSVAoJywnKTsgU0FWRVNUUklO
RygiYWN0aXZlLWRpc2siLCBhY3RpdmVfZGlzaywgRlJPTUVRVUFMUyk7IH0NCj4gKwlZWV9CUkVB
Sw0KPiArY2FzZSAyMjoNCj4gKy8qIHJ1bGUgMjIgY2FuIG1hdGNoIGVvbCAqLw0KPiArWVlfUlVM
RV9TRVRVUA0KPiArI2xpbmUgMjExICJsaWJ4bHVfZGlza19sLmwiDQo+ICB7IFNUUklQKCcsJyk7
IFNBVkVTVFJJTkcoImhpZGRlbi1kaXNrIiwgaGlkZGVuX2Rpc2ssIEZST01FUVVBTFMpOyB9DQo+
ICAJWVlfQlJFQUsNCj4gIC8qIHRoZSB0YXJnZXQgbWFnaWMgcGFyYW1ldGVyLCBlYXRzIHRoZSBy
ZXN0IG9mIHRoZSBzdHJpbmcgKi8NCj4gLWNhc2UgMjI6DQo+ICtjYXNlIDIzOg0KPiAgWVlfUlVM
RV9TRVRVUA0KPiAtI2xpbmUgMjE0ICJsaWJ4bHVfZGlza19sLmwiDQo+ICsjbGluZSAyMTUgImxp
YnhsdV9kaXNrX2wubCINCj4gIHsgU1RSSVAoJywnKTsgU0FWRVNUUklORygidGFyZ2V0IiwgcGRl
dl9wYXRoLCBGUk9NRVFVQUxTKTsgfQ0KPiAgCVlZX0JSRUFLDQo+ICAvKiB1bmtub3duIHBhcmFt
ZXRlcnMgKi8NCj4gLWNhc2UgMjM6DQo+IC0vKiBydWxlIDIzIGNhbiBtYXRjaCBlb2wgKi8NCj4g
K2Nhc2UgMjQ6DQo+ICsvKiBydWxlIDI0IGNhbiBtYXRjaCBlb2wgKi8NCj4gIFlZX1JVTEVfU0VU
VVANCj4gLSNsaW5lIDIxOCAibGlieGx1X2Rpc2tfbC5sIg0KPiArI2xpbmUgMjE5ICJsaWJ4bHVf
ZGlza19sLmwiDQo+ICB7IHhsdV9fZGlza19lcnIoRFBDLHl5dGV4dCwidW5rbm93biBwYXJhbWV0
ZXIiKTsgfQ0KPiAgCVlZX0JSRUFLDQo+ICAvKiBkZXByZWNhdGVkIHByZWZpeGVzICovDQo+ICAv
KiB0aGUgIi8uKiIgaW4gdGhlc2UgcGF0dGVybnMgZW5zdXJlcyB0aGF0IHRoZXkgY291bnQgYXMg
aWYgdGhleQ0KPiAgICAgKiBtYXRjaGVkIHRoZSB3aG9sZSBzdHJpbmcsIHNvIHRoZXNlIHBhdHRl
cm5zIHRha2UgcHJlY2VkZW5jZSAqLw0KPiAtY2FzZSAyNDoNCj4gK2Nhc2UgMjU6DQo+ICBZWV9S
VUxFX1NFVFVQDQo+IC0jbGluZSAyMjUgImxpYnhsdV9kaXNrX2wubCINCj4gKyNsaW5lIDIyNiAi
bGlieGx1X2Rpc2tfbC5sIg0KPiAgew0KPiAgICAgICAgICAgICAgICAgICAgICBTVFJJUCgnOicp
Ow0KPiAgICAgICAgICAgICAgICAgICAgICBEUEMtPmhhZF9kZXByX3ByZWZpeD0xOyBERVBSRUNB
VEUoInVzZQ0KPiBgW2Zvcm1hdD1dLi4uLCciKTsNCj4gICAgICAgICAgICAgICAgICAgICAgc2V0
Zm9ybWF0KERQQywgeXl0ZXh0KTsNCj4gICAgICAgICAgICAgICAgICAgfQ0KPiAgCVlZX0JSRUFL
DQo+IC1jYXNlIDI1Og0KPiArY2FzZSAyNjoNCj4gIFlZX1JVTEVfU0VUVVANCj4gLSNsaW5lIDIz
MSAibGlieGx1X2Rpc2tfbC5sIg0KPiArI2xpbmUgMjMyICJsaWJ4bHVfZGlza19sLmwiDQo+ICB7
DQo+ICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKm5ld3NjcmlwdDsNCj4gICAgICAgICAgICAg
ICAgICAgICAgU1RSSVAoJzonKTsNCj4gQEAgLTE3MzEsMzAgKzE3NDAsMjIgQEAgWVlfUlVMRV9T
RVRVUA0KPiAgICAgICAgICAgICAgICAgICAgICBmcmVlKG5ld3NjcmlwdCk7DQo+ICAgICAgICAg
ICAgICAgICAgfQ0KPiAgCVlZX0JSRUFLDQo+IC1jYXNlIDI2Og0KPiArY2FzZSAyNzoNCj4gICp5
eV9jcCA9IHl5Zy0+eXlfaG9sZF9jaGFyOyAvKiB1bmRvIGVmZmVjdHMgb2Ygc2V0dGluZyB1cCB5
eXRleHQgKi8NCj4gIHl5Zy0+eXlfY19idWZfcCA9IHl5X2NwID0geXlfYnAgKyA4Ow0KPiAgWVlf
RE9fQkVGT1JFX0FDVElPTjsgLyogc2V0IHVwIHl5dGV4dCBhZ2FpbiAqLw0KPiAgWVlfUlVMRV9T
RVRVUA0KPiAtI2xpbmUgMjQ0ICJsaWJ4bHVfZGlza19sLmwiDQo+IC17IERQQy0+aGFkX2RlcHJf
cHJlZml4PTE7IERFUFJFQ0FURSgwKTsgfQ0KPiAtCVlZX0JSRUFLDQo+IC1jYXNlIDI3Og0KPiAt
WVlfUlVMRV9TRVRVUA0KPiAgI2xpbmUgMjQ1ICJsaWJ4bHVfZGlza19sLmwiDQo+ICB7IERQQy0+
aGFkX2RlcHJfcHJlZml4PTE7IERFUFJFQ0FURSgwKTsgfQ0KPiAgCVlZX0JSRUFLDQo+ICBjYXNl
IDI4Og0KPiAtKnl5X2NwID0geXlnLT55eV9ob2xkX2NoYXI7IC8qIHVuZG8gZWZmZWN0cyBvZiBz
ZXR0aW5nIHVwIHl5dGV4dCAqLw0KPiAteXlnLT55eV9jX2J1Zl9wID0geXlfY3AgPSB5eV9icCAr
IDQ7DQo+IC1ZWV9ET19CRUZPUkVfQUNUSU9OOyAvKiBzZXQgdXAgeXl0ZXh0IGFnYWluICovDQo+
ICBZWV9SVUxFX1NFVFVQDQo+ICAjbGluZSAyNDYgImxpYnhsdV9kaXNrX2wubCINCj4gIHsgRFBD
LT5oYWRfZGVwcl9wcmVmaXg9MTsgREVQUkVDQVRFKDApOyB9DQo+ICAJWVlfQlJFQUsNCj4gIGNh
c2UgMjk6DQo+ICAqeXlfY3AgPSB5eWctPnl5X2hvbGRfY2hhcjsgLyogdW5kbyBlZmZlY3RzIG9m
IHNldHRpbmcgdXAgeXl0ZXh0ICovDQo+IC15eWctPnl5X2NfYnVmX3AgPSB5eV9jcCA9IHl5X2Jw
ICsgNjsNCj4gK3l5Zy0+eXlfY19idWZfcCA9IHl5X2NwID0geXlfYnAgKyA0Ow0KPiAgWVlfRE9f
QkVGT1JFX0FDVElPTjsgLyogc2V0IHVwIHl5dGV4dCBhZ2FpbiAqLw0KPiAgWVlfUlVMRV9TRVRV
UA0KPiAgI2xpbmUgMjQ3ICJsaWJ4bHVfZGlza19sLmwiDQo+IEBAIC0xNzYyLDcgKzE3NjMsNyBA
QCBZWV9SVUxFX1NFVFVQDQo+ICAJWVlfQlJFQUsNCj4gIGNhc2UgMzA6DQo+ICAqeXlfY3AgPSB5
eWctPnl5X2hvbGRfY2hhcjsgLyogdW5kbyBlZmZlY3RzIG9mIHNldHRpbmcgdXAgeXl0ZXh0ICov
DQo+IC15eWctPnl5X2NfYnVmX3AgPSB5eV9jcCA9IHl5X2JwICsgNTsNCj4gK3l5Zy0+eXlfY19i
dWZfcCA9IHl5X2NwID0geXlfYnAgKyA2Ow0KPiAgWVlfRE9fQkVGT1JFX0FDVElPTjsgLyogc2V0
IHVwIHl5dGV4dCBhZ2FpbiAqLw0KPiAgWVlfUlVMRV9TRVRVUA0KPiAgI2xpbmUgMjQ4ICJsaWJ4
bHVfZGlza19sLmwiDQo+IEBAIC0xNzcwLDI2ICsxNzcxLDM0IEBAIFlZX1JVTEVfU0VUVVANCj4g
IAlZWV9CUkVBSw0KPiAgY2FzZSAzMToNCj4gICp5eV9jcCA9IHl5Zy0+eXlfaG9sZF9jaGFyOyAv
KiB1bmRvIGVmZmVjdHMgb2Ygc2V0dGluZyB1cCB5eXRleHQgKi8NCj4gLXl5Zy0+eXlfY19idWZf
cCA9IHl5X2NwID0geXlfYnAgKyA0Ow0KPiAreXlnLT55eV9jX2J1Zl9wID0geXlfY3AgPSB5eV9i
cCArIDU7DQo+ICBZWV9ET19CRUZPUkVfQUNUSU9OOyAvKiBzZXQgdXAgeXl0ZXh0IGFnYWluICov
DQo+ICBZWV9SVUxFX1NFVFVQDQo+ICAjbGluZSAyNDkgImxpYnhsdV9kaXNrX2wubCINCj4gIHsg
RFBDLT5oYWRfZGVwcl9wcmVmaXg9MTsgREVQUkVDQVRFKDApOyB9DQo+ICAJWVlfQlJFQUsNCj4g
IGNhc2UgMzI6DQo+IC0vKiBydWxlIDMyIGNhbiBtYXRjaCBlb2wgKi8NCj4gKyp5eV9jcCA9IHl5
Zy0+eXlfaG9sZF9jaGFyOyAvKiB1bmRvIGVmZmVjdHMgb2Ygc2V0dGluZyB1cCB5eXRleHQgKi8N
Cj4gK3l5Zy0+eXlfY19idWZfcCA9IHl5X2NwID0geXlfYnAgKyA0Ow0KPiArWVlfRE9fQkVGT1JF
X0FDVElPTjsgLyogc2V0IHVwIHl5dGV4dCBhZ2FpbiAqLw0KPiArWVlfUlVMRV9TRVRVUA0KPiAr
I2xpbmUgMjUwICJsaWJ4bHVfZGlza19sLmwiDQo+ICt7IERQQy0+aGFkX2RlcHJfcHJlZml4PTE7
IERFUFJFQ0FURSgwKTsgfQ0KPiArCVlZX0JSRUFLDQo+ICtjYXNlIDMzOg0KPiArLyogcnVsZSAz
MyBjYW4gbWF0Y2ggZW9sICovDQo+ICBZWV9SVUxFX1NFVFVQDQo+IC0jbGluZSAyNTEgImxpYnhs
dV9kaXNrX2wubCINCj4gKyNsaW5lIDI1MiAibGlieGx1X2Rpc2tfbC5sIg0KPiAgew0KPiAgCQkg
IHhsdV9fZGlza19lcnIoRFBDLHl5dGV4dCwidW5rbm93biBkZXByZWNhdGVkIGRpc2sgcHJlZml4
Iik7DQo+ICAJCSAgcmV0dXJuIDA7DQo+ICAJCX0NCj4gIAlZWV9CUkVBSw0KPiAgLyogcG9zaXRp
b25hbCBwYXJhbWV0ZXJzICovDQo+IC1jYXNlIDMzOg0KPiAtLyogcnVsZSAzMyBjYW4gbWF0Y2gg
ZW9sICovDQo+ICtjYXNlIDM0Og0KPiArLyogcnVsZSAzNCBjYW4gbWF0Y2ggZW9sICovDQo+ICBZ
WV9SVUxFX1NFVFVQDQo+IC0jbGluZSAyNTggImxpYnhsdV9kaXNrX2wubCINCj4gKyNsaW5lIDI1
OSAibGlieGx1X2Rpc2tfbC5sIg0KPiAgew0KPiAgICAgIFNUUklQKCcsJyk7DQo+IA0KPiBAQCAt
MTgxNiwyNyArMTgyNSwyNyBAQCBZWV9SVUxFX1NFVFVQDQo+ICAgICAgfQ0KPiAgfQ0KPiAgCVlZ
X0JSRUFLDQo+IC1jYXNlIDM0Og0KPiArY2FzZSAzNToNCj4gIFlZX1JVTEVfU0VUVVANCj4gLSNs
aW5lIDI4NCAibGlieGx1X2Rpc2tfbC5sIg0KPiArI2xpbmUgMjg1ICJsaWJ4bHVfZGlza19sLmwi
DQo+ICB7DQo+ICAgICAgQkVHSU4oTEVYRVJSKTsNCj4gICAgICB5eW1vcmUoKTsNCj4gIH0NCj4g
IAlZWV9CUkVBSw0KPiAtY2FzZSAzNToNCj4gK2Nhc2UgMzY6DQo+ICBZWV9SVUxFX1NFVFVQDQo+
IC0jbGluZSAyODggImxpYnhsdV9kaXNrX2wubCINCj4gKyNsaW5lIDI4OSAibGlieGx1X2Rpc2tf
bC5sIg0KPiAgew0KPiAgICAgIHhsdV9fZGlza19lcnIoRFBDLHl5dGV4dCwiYmFkIGRpc2sgc3lu
dGF4Iik7IHJldHVybiAwOw0KPiAgfQ0KPiAgCVlZX0JSRUFLDQo+IC1jYXNlIDM2Og0KPiArY2Fz
ZSAzNzoNCj4gIFlZX1JVTEVfU0VUVVANCj4gLSNsaW5lIDI5MSAibGlieGx1X2Rpc2tfbC5sIg0K
PiArI2xpbmUgMjkyICJsaWJ4bHVfZGlza19sLmwiDQo+ICBZWV9GQVRBTF9FUlJPUiggImZsZXgg
c2Nhbm5lciBqYW1tZWQiICk7DQo+ICAJWVlfQlJFQUsNCj4gLSNsaW5lIDE4MzkgImxpYnhsdV9k
aXNrX2wuYyINCj4gKyNsaW5lIDE4NDggImxpYnhsdV9kaXNrX2wuYyINCj4gIAkJCWNhc2UgWVlf
U1RBVEVfRU9GKElOSVRJQUwpOg0KPiAgCQkJY2FzZSBZWV9TVEFURV9FT0YoTEVYRVJSKToNCj4g
IAkJCQl5eXRlcm1pbmF0ZSgpOw0KPiBAQCAtMjEwNCw3ICsyMTEzLDcgQEAgc3RhdGljIGludCB5
eV9nZXRfbmV4dF9idWZmZXIgKHl5c2Nhbl90IHl5c2Nhbm5lcikNCj4gIAkJd2hpbGUgKCB5eV9j
aGtbeXlfYmFzZVt5eV9jdXJyZW50X3N0YXRlXSArIHl5X2NdICE9DQo+IHl5X2N1cnJlbnRfc3Rh
dGUgKQ0KPiAgCQkJew0KPiAgCQkJeXlfY3VycmVudF9zdGF0ZSA9IChpbnQpIHl5X2RlZlt5eV9j
dXJyZW50X3N0YXRlXTsNCj4gLQkJCWlmICggeXlfY3VycmVudF9zdGF0ZSA+PSAzNTUgKQ0KPiAr
CQkJaWYgKCB5eV9jdXJyZW50X3N0YXRlID49IDM2MSApDQo+ICAJCQkJeXlfYyA9IHl5X21ldGFb
eXlfY107DQo+ICAJCQl9DQo+ICAJCXl5X2N1cnJlbnRfc3RhdGUgPSB5eV9ueHRbeXlfYmFzZVt5
eV9jdXJyZW50X3N0YXRlXSArIHl5X2NdOw0KPiBAQCAtMjEyOCwxMSArMjEzNywxMSBAQCBzdGF0
aWMgaW50IHl5X2dldF9uZXh0X2J1ZmZlciAoeXlzY2FuX3QgeXlzY2FubmVyKQ0KPiAgCXdoaWxl
ICggeXlfY2hrW3l5X2Jhc2VbeXlfY3VycmVudF9zdGF0ZV0gKyB5eV9jXSAhPQ0KPiB5eV9jdXJy
ZW50X3N0YXRlICkNCj4gIAkJew0KPiAgCQl5eV9jdXJyZW50X3N0YXRlID0gKGludCkgeXlfZGVm
W3l5X2N1cnJlbnRfc3RhdGVdOw0KPiAtCQlpZiAoIHl5X2N1cnJlbnRfc3RhdGUgPj0gMzU1ICkN
Cj4gKwkJaWYgKCB5eV9jdXJyZW50X3N0YXRlID49IDM2MSApDQo+ICAJCQl5eV9jID0geXlfbWV0
YVt5eV9jXTsNCj4gIAkJfQ0KPiAgCXl5X2N1cnJlbnRfc3RhdGUgPSB5eV9ueHRbeXlfYmFzZVt5
eV9jdXJyZW50X3N0YXRlXSArIHl5X2NdOw0KPiAtCXl5X2lzX2phbSA9ICh5eV9jdXJyZW50X3N0
YXRlID09IDM1NCk7DQo+ICsJeXlfaXNfamFtID0gKHl5X2N1cnJlbnRfc3RhdGUgPT0gMzYwKTsN
Cj4gIAlpZiAoICEgeXlfaXNfamFtICkNCj4gIAkJKnl5Zy0+eXlfc3RhdGVfcHRyKysgPSB5eV9j
dXJyZW50X3N0YXRlOw0KPiANCj4gQEAgLTI5NDEsNCArMjk1MCw0IEBAIHZvaWQgeXlmcmVlICh2
b2lkICogcHRyICwgeXlzY2FuX3QgeXlzY2FubmVyKQ0KPiANCj4gICNkZWZpbmUgWVlUQUJMRVNf
TkFNRSAieXl0YWJsZXMiDQo+IA0KPiAtI2xpbmUgMjkxICJsaWJ4bHVfZGlza19sLmwiDQo+ICsj
bGluZSAyOTIgImxpYnhsdV9kaXNrX2wubCINCj4gZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMvdXRp
bC9saWJ4bHVfZGlza19sLmgNCj4gYi90b29scy9saWJzL3V0aWwvbGlieGx1X2Rpc2tfbC5oDQo+
IGluZGV4IDZhYmVlY2YuLmRmMjBmY2MgMTAwNjQ0DQo+IC0tLSBhL3Rvb2xzL2xpYnMvdXRpbC9s
aWJ4bHVfZGlza19sLmgNCj4gKysrIGIvdG9vbHMvbGlicy91dGlsL2xpYnhsdV9kaXNrX2wuaA0K
PiBAQCAtNjk0LDcgKzY5NCw3IEBAIGV4dGVybiBpbnQgeXlsZXggKHl5c2Nhbl90IHl5c2Nhbm5l
cik7DQo+ICAjdW5kZWYgeXlUQUJMRVNfTkFNRQ0KPiAgI2VuZGlmDQo+IA0KPiAtI2xpbmUgMjkx
ICJsaWJ4bHVfZGlza19sLmwiDQo+ICsjbGluZSAyOTIgImxpYnhsdV9kaXNrX2wubCINCj4gDQo+
ICAjbGluZSA2OTkgImxpYnhsdV9kaXNrX2wuaCINCj4gICN1bmRlZiB4bHVfX2Rpc2tfeXlJTl9I
RUFERVINCj4gZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMvdXRpbC9saWJ4bHVfZGlza19sLmwNCj4g
Yi90b29scy9saWJzL3V0aWwvbGlieGx1X2Rpc2tfbC5sDQo+IGluZGV4IDNiZDYzOWEuLmQ2OGE1
OWMgMTAwNjQ0DQo+IC0tLSBhL3Rvb2xzL2xpYnMvdXRpbC9saWJ4bHVfZGlza19sLmwNCj4gKysr
IGIvdG9vbHMvbGlicy91dGlsL2xpYnhsdV9kaXNrX2wubA0KPiBAQCAtMTk4LDYgKzE5OCw3IEBA
IHNjcmlwdD1bXixdKiw/CXsgU1RSSVAoJywnKTsgU0FWRVNUUklORygic2NyaXB0IiwNCj4gc2Ny
aXB0LCBGUk9NRVFVQUxTKTsgfQ0KPiAgZGlyZWN0LWlvLXNhZmUsPyB7IERQQy0+ZGlzay0+ZGly
ZWN0X2lvX3NhZmUgPSAxOyB9DQo+ICBkaXNjYXJkLD8JeyBsaWJ4bF9kZWZib29sX3NldCgmRFBD
LT5kaXNrLT5kaXNjYXJkX2VuYWJsZSwgdHJ1ZSk7IH0NCj4gIG5vLWRpc2NhcmQsPwl7IGxpYnhs
X2RlZmJvb2xfc2V0KCZEUEMtPmRpc2stPmRpc2NhcmRfZW5hYmxlLCBmYWxzZSk7IH0NCj4gK3Zp
cnRpbyw/CXsgRFBDLT5kaXNrLT52aXJ0aW8gPSAxOyB9DQo+ICAgLyogTm90ZSB0aGF0IHRoZSBD
T0xPIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3Mgc2hvdWxkIGJlIGNvbnNpZGVyZWQNCj4gdW5zdGFi
bGUuDQo+ICAgICogVGhleSBtYXkgY2hhbmdlIGluY29tcGF0aWJseSBpbiBmdXR1cmUgdmVyc2lv
bnMgb2YgWGVuLiAqLw0KPiAgY29sbyw/CQl7IGxpYnhsX2RlZmJvb2xfc2V0KCZEUEMtPmRpc2st
PmNvbG9fZW5hYmxlLCB0cnVlKTsgfQ0KPiBkaWZmIC0tZ2l0IGEvdG9vbHMveGwveGxfYmxvY2su
YyBiL3Rvb2xzL3hsL3hsX2Jsb2NrLmMNCj4gaW5kZXggNzBlZWQ0My4uNTBhNGQ0NSAxMDA2NDQN
Cj4gLS0tIGEvdG9vbHMveGwveGxfYmxvY2suYw0KPiArKysgYi90b29scy94bC94bF9ibG9jay5j
DQo+IEBAIC01MCw2ICs1MCwxMSBAQCBpbnQgbWFpbl9ibG9ja2F0dGFjaChpbnQgYXJnYywgY2hh
ciAqKmFyZ3YpDQo+ICAgICAgICAgIHJldHVybiAwOw0KPiAgICAgIH0NCj4gDQo+ICsgICAgaWYg
KGRpc2sudmlydGlvKSB7DQo+ICsgICAgICAgIGZwcmludGYoc3RkZXJyLCAiYmxvY2stYXR0YWNo
IGlzIG5vdCBzdXBwb3J0ZWQgZm9yIFZpcnRpbw0KPiBkZXZpY2VcbiIpOw0KPiArICAgICAgICBy
ZXR1cm4gMTsNCj4gKyAgICB9DQo+ICsNCj4gICAgICBpZiAobGlieGxfZGV2aWNlX2Rpc2tfYWRk
KGN0eCwgZmVfZG9taWQsICZkaXNrLCAwKSkgew0KPiAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwg
ImxpYnhsX2RldmljZV9kaXNrX2FkZCBmYWlsZWQuXG4iKTsNCj4gICAgICAgICAgcmV0dXJuIDE7
DQo+IEBAIC0xMTksNiArMTI0LDEyIEBAIGludCBtYWluX2Jsb2NrZGV0YWNoKGludCBhcmdjLCBj
aGFyICoqYXJndikNCj4gICAgICAgICAgZnByaW50ZihzdGRlcnIsICJFcnJvcjogRGV2aWNlICVz
IG5vdCBjb25uZWN0ZWQuXG4iLA0KPiBhcmd2W29wdGluZCsxXSk7DQo+ICAgICAgICAgIHJldHVy
biAxOw0KPiAgICAgIH0NCj4gKw0KPiArICAgIGlmIChkaXNrLnZpcnRpbykgew0KPiArICAgICAg
ICBmcHJpbnRmKHN0ZGVyciwgImJsb2NrLWRldGFjaCBpcyBub3Qgc3VwcG9ydGVkIGZvciBWaXJ0
aW8NCj4gZGV2aWNlXG4iKTsNCj4gKyAgICAgICAgcmV0dXJuIDE7DQo+ICsgICAgfQ0KPiArDQo+
ICAgICAgcmMgPSAhZm9yY2UgPyBsaWJ4bF9kZXZpY2VfZGlza19zYWZlX3JlbW92ZShjdHgsIGRv
bWlkLCAmZGlzaywgMCkgOg0KPiAgICAgICAgICBsaWJ4bF9kZXZpY2VfZGlza19kZXN0cm95KGN0
eCwgZG9taWQsICZkaXNrLCAwKTsNCj4gICAgICBpZiAocmMpIHsNCj4gLS0NCj4gMi43LjQNCg0K


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 07:52:37 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 07:52:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167620.305988 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFtta-0007Te-Ez; Tue, 17 Aug 2021 07:52:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167620.305988; Tue, 17 Aug 2021 07:52: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 1mFtta-0007TX-BN; Tue, 17 Aug 2021 07:52:26 +0000
Received: by outflank-mailman (input) for mailman id 167620;
 Tue, 17 Aug 2021 07:52:24 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jfbB=NI=arm.com=Jiamei.Xie@srs-us1.protection.inumbo.net>)
 id 1mFttY-0007TR-39
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 07:52:24 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com (unknown
 [40.107.20.62]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 99874625-aae0-446e-8678-f5c9015f2bbf;
 Tue, 17 Aug 2021 07:52:16 +0000 (UTC)
Received: from AM5PR0101CA0026.eurprd01.prod.exchangelabs.com
 (2603:10a6:206:16::39) by PAXPR08MB6637.eurprd08.prod.outlook.com
 (2603:10a6:102:153::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.17; Tue, 17 Aug
 2021 07:52:13 +0000
Received: from AM5EUR03FT016.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:206:16:cafe::1a) by AM5PR0101CA0026.outlook.office365.com
 (2603:10a6:206:16::39) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Tue, 17 Aug 2021 07:52:13 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT016.mail.protection.outlook.com (10.152.16.142) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.14 via Frontend Transport; Tue, 17 Aug 2021 07:52:12 +0000
Received: ("Tessian outbound 19a632698c93:v103");
 Tue, 17 Aug 2021 07:52:12 +0000
Received: from b53ea63780ec.3
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 1955EAC2-D41F-4E71-B62D-076B938E774C.1; 
 Tue, 17 Aug 2021 07:52:07 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b53ea63780ec.3
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 17 Aug 2021 07:52:07 +0000
Received: from VI1PR08MB3056.eurprd08.prod.outlook.com (2603:10a6:803:3d::28)
 by VI1PR08MB5357.eurprd08.prod.outlook.com (2603:10a6:803:12e::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Tue, 17 Aug
 2021 07:52:03 +0000
Received: from VI1PR08MB3056.eurprd08.prod.outlook.com
 ([fe80::a931:b3e8:a3af:3a67]) by VI1PR08MB3056.eurprd08.prod.outlook.com
 ([fe80::a931:b3e8:a3af:3a67%5]) with mapi id 15.20.4415.024; Tue, 17 Aug 2021
 07:52:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 99874625-aae0-446e-8678-f5c9015f2bbf
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=juznbU9zo5bOMaYPXYi2IbeuLz6vLztmxuo7UJgNkT4=;
 b=kRFxPrupqQh3fV8SER6Tth9SNg0LcHgu9TvuIzmph+WugJlWtLaFTKzQlJRvrg/lRlgIBqSjZALjH+QHnDUUhPR/H0KIy6pcAsmKKw+qubsIlFj605+TGrlZR/ihXed+WKeWOoq0wzH2qVGAExkX1mWL+uK8mHbxJ/UAzSjIR/g=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=awoCPHWA9KA5TK3PxeDyZgu/B8Y1YCodUTFBnBxDJE6GNuRs4OBxjF7KFnCUHFLJBUeT+glYgEFLxp2zmvDgl0vad9o7T2lHdH12rs1kEbzlVu7Hx6Jyem34ao+IUJ6Qmsrk+F1P52mYtD5QsznKBM9rFuOs9s2RsmMdZxXh9YsEXfXcwIkl3FwqGmumDnl54IKNfBm8lxn7SCHuopj/eUKZ2b5nfwuHi0GcSedEzZLYIKG0nv1ePIlu5OtKsKxAd6T6ItQMa2BypoDFE6GUU/164z3Y84nAht8yJt5HnszOY98KRM+WbiOy1dih0cZIRA8a39RZb+fEYEpw0ki65w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=juznbU9zo5bOMaYPXYi2IbeuLz6vLztmxuo7UJgNkT4=;
 b=XzsvcLPPc8PKlTmQBWBA2LsDKrHug0QCmltsF09dJFK4YK1uoWa+hXyw/W+1Vxc0AgIR44yNNN9hcd8EpUGSzn40COj1T3cjK6e+WGDjOtlQeMOUrFq6NsdmRUr81s0/+A7wDamJ+E5y4KbCXXP9404lt4S/pgAch5gbbwv/E43W/NYDIXy9upOFU804+mJMpJUYds/o5QXc+Gya/eNtf6B0b4MLUx3uAFJh6heCUrVqkrKEjZXUD2slOwqM7rZGclaHe7VuKhITeQSl2LMdD91U8N/TiB3Y3jnr7uKPf9cDv8WpCTQ61BHxCbbP8Za5gqTsqb0LlZnKQ+1i5zct9A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=juznbU9zo5bOMaYPXYi2IbeuLz6vLztmxuo7UJgNkT4=;
 b=kRFxPrupqQh3fV8SER6Tth9SNg0LcHgu9TvuIzmph+WugJlWtLaFTKzQlJRvrg/lRlgIBqSjZALjH+QHnDUUhPR/H0KIy6pcAsmKKw+qubsIlFj605+TGrlZR/ihXed+WKeWOoq0wzH2qVGAExkX1mWL+uK8mHbxJ/UAzSjIR/g=
From: Jiamei Xie <Jiamei.Xie@arm.com>
To: Wei Chen <Wei.Chen@arm.com>, Oleksandr Tyshchenko <olekstysh@gmail.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, Ian Jackson
	<iwj@xenproject.org>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Kaly Xin <Kaly.Xin@arm.com>, =?utf-8?B?QWxleCBCZW5uw6ll?=
	<alex.bennee@linaro.org>, Henry Wang <Henry.Wang@arm.com>
Subject: RE: [RESEND PATCH V5 1/2] libxl: Add support for Virtio disk
 configuration
Thread-Topic: [RESEND PATCH V5 1/2] libxl: Add support for Virtio disk
 configuration
Thread-Index: AQHXTnn/+/V6ZF0jskq34GsMDgUjKqt30O0AgAAITSA=
Date: Tue, 17 Aug 2021 07:52:02 +0000
Message-ID:
 <VI1PR08MB30567D67359C65C814E1AE9592FE9@VI1PR08MB3056.eurprd08.prod.outlook.com>
References: <1621626361-29076-1-git-send-email-olekstysh@gmail.com>
 <1621626361-29076-2-git-send-email-olekstysh@gmail.com>
 <DB9PR08MB6857F3DFAE5FF752003ABD8F9EFE9@DB9PR08MB6857.eurprd08.prod.outlook.com>
In-Reply-To:
 <DB9PR08MB6857F3DFAE5FF752003ABD8F9EFE9@DB9PR08MB6857.eurprd08.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 0A278EF4994D7B499102EC50DB20B872.0
x-checkrecipientchecked: true
Authentication-Results-Original: arm.com; dkim=none (message not signed)
 header.d=none;arm.com; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: ce8cb729-af20-4bd4-9626-08d96153ec94
x-ms-traffictypediagnostic: VI1PR08MB5357:|PAXPR08MB6637:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<PAXPR08MB663721225786D984E3D0EF0B92FE9@PAXPR08MB6637.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:2089;OLM:2089;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 XPvdtGAPzvRXSHGsgk/NFLJCKKXr946ZRe9zaCFr1qsc0NTst9csAessYGpaIKOYK6FrjFvThiYWboGMQDe4bXm7M38g68ZgPt6H2I3ww/8NtO7DeCLrgSrP//ahoeyIlQnwsw2PFKc5Lz5b/oFiHIc1+UhAMuMOMkUMkj/jKKKwNHsUtZ4w8WvxoWP0f5D95YwHCul5ZokKFLoClUH1Kj4rs5IYyCaC1XRgfpLQGwub984PBVAKahhRTecM0iFP5Rdunl42D1NkgbeyJm9Mdw6D2IjTotnGHnDJNff3dXhKYlOZMF/Qmmy2NioRQY6PewmVpbVnANhC4VgTDoMqdq9TBuzzzVMssum/sZ3Regh3Vay1lDriz4w+RA8Suhc9RZ7lnW03b/wAjzlrIKp4NdVYv9L9WhUXNsh5BQHxemF3qOPuqH87nFeejqcusfcSB3PKNN+RG/JYKQYTghT8KZNHHjDSEApNc81whFYKoySWc5BkAb5/RxlzO+2UJu+u2jYyVwIzNPU6AgzEIVS4akNpA29kDIWkciZXu1ppa6YWLXr/lHjpnngd0olwUA44qbuqveEc3IsnD7ADBJK0yxdQDbWToI1XMW9yL24xNpaqnVTvMDpAa9pBQgS1DNvaqJpVaUnCyJwj1H2/UtMPZKZ8fq6DcKeUIWjA7MYuBnobtffbSymIl4Ivtzx1wj45INWyfDL9Oq2xtfLGvwyKOQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR08MB3056.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(376002)(39850400004)(136003)(396003)(346002)(83380400001)(66574015)(7416002)(66556008)(38070700005)(38100700002)(8936002)(66446008)(66476007)(64756008)(6506007)(53546011)(186003)(55016002)(4326008)(86362001)(33656002)(52536014)(8676002)(478600001)(5660300002)(26005)(54906003)(9686003)(2906002)(316002)(71200400001)(66946007)(7696005)(76116006)(110136005)(122000001)(30864003)(559001)(579004);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?T2k2NXROellLZk85Z3YwY3FVQmU1dENyTm0rWWlqWC9PSWN1aUx3L2w1a2s0?=
 =?utf-8?B?VlY1aFhqR0FTeDRPbUozZlh2M1BPbXQ3VXhEbzR5TEJaZzlXQUpqRHpTOHZU?=
 =?utf-8?B?WG1qWGxhc05Va0xTeE5jWGhTdWhwYmttM0RHSUttSTYvQk1nOHRjQlVHcVYz?=
 =?utf-8?B?eWYzN3VSMUtGdmFTOFlHajFyRDIwcmVhK3d1S1g0bUtsaU56VXJSdkliZjBG?=
 =?utf-8?B?THFhZEN5MzcwcmNqNHpoZjR1MjF4Y0pPZngxMGJ1K2tqMVdaNkJJTGg3Q3Rx?=
 =?utf-8?B?eXA0TjRJSEVVSWtsODJTb1dYeThleHM3elREODZ2Vk9tOWZqb3RrdlBxRWJy?=
 =?utf-8?B?YnlCdkpNTmRIYXVFRFNBU1BMZXBDY2ZjZ3FuV2VtT2dvTTZmTW53Tzg5ZUNM?=
 =?utf-8?B?a01KNDNFUzhMaEExalkzT2gway83TWdwb0tWamI1czlwdXpqcDk0TDJvU2E3?=
 =?utf-8?B?SDFLZFI2Q3ZBdVFRbWI0cFlYbE1xT0tZcWRBMnY5ZjM5NlBuZHpBSFpNQkxJ?=
 =?utf-8?B?Ulk5ck1HTG9VTTRYcGZTa1hnZThuT2hFK293Q1c1b1BBWXVTYXFlZUNnZ0dm?=
 =?utf-8?B?NDNkOFI3c25xZUR6V3VpeHJkT3Ricko0S2UyUVVNdTFDbmJxSlY1bnZlYitE?=
 =?utf-8?B?Ky9nMlFWMFFKZkFWMEVCRHdHVlN3U3pncHRrN2J2N05vUWhvY2c2Uk9HWXZz?=
 =?utf-8?B?Z2kvSWIyYlp5M21EaXlCMzdMM1M5TUVkR2RmM0dEYS9rc0o1cklWcGlabG9J?=
 =?utf-8?B?amhVdTJ0NU5ZdFVCQlBLSUFWWnJqUHhVNThyaisrMTk3bVEycHphWmVUMThV?=
 =?utf-8?B?K3phdjZ1YllMZ3ROTW9vOEdpTnlhQXdmaEJsR1dTK1RoYTZqVndpN0lNa1BO?=
 =?utf-8?B?Qlo5L0tvaUdCZUtvT3RMcDhpOW5oRnVFOGVIYzdJU3FHNTk1K2tHUnFUR2d0?=
 =?utf-8?B?aVJiL0JzVVNEQ0c0ZHYwRW4vRHpBMlM1ZmFtMit6VDdNWTVDaHFsV1BZZjZo?=
 =?utf-8?B?ZE15Z3ZSaEpzdnJ3elRKWEV1cDV4OGY5RDF1OStzVHVUNndCSUg3eURJZCtT?=
 =?utf-8?B?Q3RtenhVVFZKRmw4QkE2TVpvMjZWM0Z3WkR2UHRkTU5USXdIOFl5eW5TZWg0?=
 =?utf-8?B?VFpqSlJ5N0pMWlFxUW9waktHT2VCNENIaWZOTXNZSVVCcEZhTWh0Y3kzR2Zv?=
 =?utf-8?B?L3FFSzdrSkxxdjdRYmtGT0thUVhiMHY0clRwRmxYU3o4OWVqRXF2Qng0clZZ?=
 =?utf-8?B?YlprVkYwVklLL0M0ZlJGNHIrVUYyWHR2KzhBa0ppc0J6M294RTg5UlZzWHFt?=
 =?utf-8?B?N2tCZVJ2M0h0dFNHK3QxcFdjZFBOSjF4QTlYYlNCOSs3M2x3SGJDMzNkbkMz?=
 =?utf-8?B?YVh1M0Z5ZnpqT0lUVXdIQVNxY08vRnYrT2FxUThoa3ZBQ0oxU3M0emlkSVZr?=
 =?utf-8?B?SjVMMVZKWFpNOUFtcVZhWGhId2xVSTRXZTM2NDNqbEdLUm51Nkk1S0pyYkRn?=
 =?utf-8?B?TFVUUVRoQnRVUTIyNEhJSFdjU2tSMSs5blFGZ2lFMUwzYm5xOG1mQmVlcnM4?=
 =?utf-8?B?Q3ZpRGhiVk1rYU1pSzBNb21QeFVtWnBFaVorbUNyOGZoRzZUYm8reG1xbWZJ?=
 =?utf-8?B?alFNZFNOMDJ5TGEzYTg1YWM4a0ZNWGFOVGIxV2RlNmNTTXp0cCt1eDhCd1hl?=
 =?utf-8?B?eEFoWlRmOU5QajlrcktoVCs2cm1UNXFVTEw3UEUyTkhlVFJXSHE1QlV5ZEtF?=
 =?utf-8?Q?9FMvuvuRsX15j4kDEVtP5G91qLWtXUrN7ThcY1I?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB5357
Original-Authentication-Results: arm.com; dkim=none (message not signed)
 header.d=none;arm.com; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT016.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	855451b4-68a1-4858-86cc-08d96153e6cf
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	HJBdMD/Rv1yPzl92TAe8HSq8+jy3f8ZLNug5ohTJzO01/o1Ogdf9pYZ69wSdmZ4JFSZSEBQ+CGhVlj3Zq8pZqkJkyGmN9Qba+xqBvzioBsz/dRkIhC8xU+ZpZFgWIQ6IW94MbHtsvF2q875AcGnAZK1rgYAF2laof3MAuuWbAgHxQfAq7r9lRK9RPhsfkU/eQi8fzJs2wl0yMzeG81R1HvohE3bXIJhJaAOzHCvFbvblyRWF9FvmKVPB/Ib6ARlaOVhMhcjHsrAZfB0LqXCSPM2jw1UA//dBLgZjyQ7J5HtJ8GcijScB9hhWkZkuFIEniPgg3uwz9uLpiomlyD4+0oL+wcyHdj71FDeHGEevQPLrTZvZuWkR6dfIgVsmnlsGk/zYKHZ0/SxAOcoW6QMbNRwYAdpWN4ekH5BRsI/DrQBc9iz+IF14DYIbH432rqzp0XQbpF/Dnbnk5KQCbxNzy0fuqFfnr8tYrxQEvt0zSck5JJiu3Te4UtNYI13cPS+wbDlR9utfh8m6+xemoXftBE98tXL7LNJ/PV8UrPN1cxyL2KaF/DHEiZ0uEH+De89rI7fW0X4Frcsma/oqdHVNeYjhJ0PN1A6cJXZK+lC1CdvKyWkb9sbs/icCrDF9V8hIoNqVMwL1cQfTht1Tu8OBNV6kwY4ZXRjyIbwZi4a1AcZrHlZdceZlRzLz0p7qdRLQEsYUqUiQXq/2U3dDvUqQNQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(396003)(376002)(346002)(39850400004)(136003)(46966006)(36840700001)(336012)(5660300002)(9686003)(54906003)(70586007)(8676002)(4326008)(316002)(47076005)(70206006)(30864003)(8936002)(110136005)(7696005)(82310400003)(81166007)(55016002)(186003)(83380400001)(478600001)(33656002)(6506007)(53546011)(52536014)(82740400003)(66574015)(2906002)(86362001)(356005)(26005)(36860700001)(559001)(579004);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 07:52:12.8206
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ce8cb729-af20-4bd4-9626-08d96153ec94
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT016.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6637

SGkgT2xla3NhbmRyLA0KSSBhbSBzb3JyeSB0byByZXNlbmQgaXQgYmVjYXVzZSB0aGUgZmlyc3Qg
b25lIGlzIHdyb25nIGZvcm1hdC4NCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206
IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPiANClNlbnQ6IDIwMjHlubQ45pyIMTfml6UgMTU6
MTENClRvOiBPbGVrc2FuZHIgVHlzaGNoZW5rbyA8b2xla3N0eXNoQGdtYWlsLmNvbT47IHhlbi1k
ZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZw0KQ2M6IE9sZWtzYW5kciBUeXNoY2hlbmtvIDxvbGVr
c2FuZHJfdHlzaGNoZW5rb0BlcGFtLmNvbT47IElhbiBKYWNrc29uIDxpd2pAeGVucHJvamVjdC5v
cmc+OyBXZWkgTGl1IDx3bEB4ZW4ub3JnPjsgQW50aG9ueSBQRVJBUkQgPGFudGhvbnkucGVyYXJk
QGNpdHJpeC5jb20+OyBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+
OyBKdWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4ub3JnPjsgVm9sb2R5bXlyIEJhYmNodWsgPFZvbG9k
eW15cl9CYWJjaHVrQGVwYW0uY29tPjsgQmVydHJhbmQgTWFycXVpcyA8QmVydHJhbmQuTWFycXVp
c0Bhcm0uY29tPjsgS2FseSBYaW4gPEthbHkuWGluQGFybS5jb20+OyBBbGV4IEJlbm7DqWUgPGFs
ZXguYmVubmVlQGxpbmFyby5vcmc+OyBKaWFtZWkgWGllIDxKaWFtZWkuWGllQGFybS5jb20+OyBI
ZW5yeSBXYW5nIDxIZW5yeS5XYW5nQGFybS5jb20+DQpTdWJqZWN0OiBSRTogW1JFU0VORCBQQVRD
SCBWNSAxLzJdIGxpYnhsOiBBZGQgc3VwcG9ydCBmb3IgVmlydGlvIGRpc2sgY29uZmlndXJhdGlv
bg0KDQpDQyB0byBKaWFtZWkgYW5kIEhlbnJ5DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t
LS0NCj4gRnJvbTogT2xla3NhbmRyIFR5c2hjaGVua28gPG9sZWtzdHlzaEBnbWFpbC5jb20+DQo+
IFNlbnQ6IDIwMjHlubQ15pyIMjLml6UgMzo0Ng0KPiBUbzogeGVuLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnDQo+IENjOiBPbGVrc2FuZHIgVHlzaGNoZW5rbyA8b2xla3NhbmRyX3R5c2hjaGVu
a29AZXBhbS5jb20+OyBJYW4gSmFja3Nvbg0KPiA8aXdqQHhlbnByb2plY3Qub3JnPjsgV2VpIExp
dSA8d2xAeGVuLm9yZz47IEFudGhvbnkgUEVSQVJEDQo+IDxhbnRob255LnBlcmFyZEBjaXRyaXgu
Y29tPjsgU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPjsNCj4gSnVs
aWVuIEdyYWxsIDxqdWxpZW5AeGVuLm9yZz47IFZvbG9keW15ciBCYWJjaHVrDQo+IDxWb2xvZHlt
eXJfQmFiY2h1a0BlcGFtLmNvbT47IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgQmVydHJh
bmQNCj4gTWFycXVpcyA8QmVydHJhbmQuTWFycXVpc0Bhcm0uY29tPjsgS2FseSBYaW4gPEthbHku
WGluQGFybS5jb20+OyBBbGV4DQo+IEJlbm7DqWUgPGFsZXguYmVubmVlQGxpbmFyby5vcmc+DQo+
IFN1YmplY3Q6IFtSRVNFTkQgUEFUQ0ggVjUgMS8yXSBsaWJ4bDogQWRkIHN1cHBvcnQgZm9yIFZp
cnRpbyBkaXNrDQo+IGNvbmZpZ3VyYXRpb24NCj4gDQo+IEZyb206IE9sZWtzYW5kciBUeXNoY2hl
bmtvIDxvbGVrc2FuZHJfdHlzaGNoZW5rb0BlcGFtLmNvbT4NCj4gDQo+IFRoaXMgcGF0Y2ggYWRk
cyBiYXNpYyBzdXBwb3J0IGZvciBjb25maWd1cmluZyBhbmQgYXNzaXN0aW5nIHZpcnRpby1kaXNr
DQo+IGJhY2tlbmQgKGVtdWFsYXRvcikgd2hpY2ggaXMgaW50ZW5kZWQgdG8gcnVuIG91dCBvZiBR
ZW11IGFuZCBjb3VsZCBiZQ0KPiBydW4gaW4gYW55IGRvbWFpbi4NCj4gQWx0aG91Z2ggdGhlIFZp
cnRpbyBibG9jayBkZXZpY2UgaXMgcXVpdGUgZGlmZmVyZW50IGZyb20gdHJhZGl0aW9uYWwNCj4g
WGVuIFBWIGJsb2NrIGRldmljZSAodmJkKSBmcm9tIHRoZSB0b29sc3RhY2sgcG9pbnQgb2Ygdmll
dzoNCj4gIC0gdGhlIGZyb250ZW5kIGlzIHZpcnRpby1ibGsgd2hpY2ggaXMgbm90IGEgWGVuYnVz
IGRyaXZlciwgc28gbm90aGluZw0KPiAgICB3cml0dGVuIHRvIFhlbnN0b3JlIGFyZSBmZXRjaGVk
IGJ5IHRoZSBmcm9udGVuZCAodGhlIHZkZXYgaXMgbm90DQo+ICAgIHBhc3NlZCB0byB0aGUgZnJv
bnRlbmQsIGV0YykNCj4gIC0gdGhlIHJpbmctcmVmL2V2ZW50LWNoYW5uZWwgYXJlIG5vdCB1c2Vk
IGZvciB0aGUgYmFja2VuZDwtPmZyb250ZW5kDQo+ICAgIGNvbW11bmljYXRpb24sIHRoZSBwcm9w
b3NlZCBJUEMgZm9yIFZpcnRpbyBpcyBJT1JFUS9ETQ0KPiBpdCBpcyBzdGlsbCBhICJibG9jayBk
ZXZpY2UiIGFuZCBvdWdodCB0byBiZSBpbnRlZ3JhdGVkIGluIGV4aXN0aW5nDQo+ICJkaXNrIiBo
YW5kbGluZy4gU28sIHJlLXVzZSAoYW5kIGFkYXB0KSAiZGlzayIgcGFyc2luZy9jb25maWd1cmF0
aW9uDQo+IGxvZ2ljIHRvIGRlYWwgd2l0aCBWaXJ0aW8gZGV2aWNlcyBhcyB3ZWxsLg0KPiANCj4g
QmVzaWRlcyBpbnRyb2R1Y2luZyBuZXcgZGlzayBiYWNrZW5kIHR5cGUgKExJQlhMX0RJU0tfQkFD
S0VORF9WSVJUSU8pDQo+IGludHJvZHVjZSBuZXcgZGV2aWNlIGtpbmQgKExJQlhMX19ERVZJQ0Vf
S0lORF9WSVJUSU9fRElTSykgYXMgY3VycmVudA0KPiBvbmUgKExJQlhMX19ERVZJQ0VfS0lORF9W
QkQpIGRvZXNuJ3QgZml0IGludG8gVmlydGlvIGRpc2sgbW9kZWwuDQo+IA0KPiBJbiBvcmRlciB0
byBpbmZvcm0gdGhlIHRvb2xzdGFjayB0aGF0IFZpcnRpbyBkaXNrIG5lZWRzIHRvIGJlIHVzZWQN
Cj4gZXh0ZW5kICJkaXNrIiBjb25maWd1cmF0aW9uIGJ5IGludHJvZHVjaW5nIG5ldyAidmlydGlv
IiBmbGFnLg0KPiBBbiBleGFtcGxlIG9mIGRvbWFpbiBjb25maWd1cmF0aW9uOg0KPiBkaXNrID0g
WyAnYmFja2VuZD1Eb21ELCBwaHk6L2Rldi9tbWNibGsxcDMsIHh2ZGExLCBydywgdmlydGlvJyBd
DQo+IA0KPiBQbGVhc2Ugbm90ZSwgdGhpcyBwYXRjaCBpcyBub3QgZW5vdWdoIGZvciB2aXJ0aW8t
ZGlzayB0byB3b3JrDQo+IG9uIFhlbiAoQXJtKSwgYXMgZm9yIGV2ZXJ5IFZpcnRpbyBkZXZpY2Ug
KGluY2x1ZGluZyBkaXNrKSB3ZSBuZWVkDQo+IHRvIGFsbG9jYXRlIFZpcnRpbyBNTUlPIHBhcmFt
cyAoSVJRIGFuZCBtZW1vcnkgcmVnaW9uKSBhbmQgcGFzcw0KPiB0aGVtIHRvIHRoZSBiYWNrZW5k
LCBhbHNvIHVwZGF0ZSBHdWVzdCBkZXZpY2UtdHJlZSB3aXRoIHRoZSBhbGxvY2F0ZWQNCj4gcGFy
YW1zLiBUaGUgc3Vic2VxdWVudCBwYXRjaCB3aWxsIGFkZCB0aGVzZSBtaXNzaW5nIGJpdHMuDQo+
IEZvciB0aGUgY3VycmVudCBwYXRjaCwgdGhlIGRlZmF1bHQgImlycSIgYW5kICJiYXNlIiBhcmUg
anVzdCB3cml0dGVuDQo+IHRvIHRoZSBYZW5zdG9yZS4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IE9s
ZWtzYW5kciBUeXNoY2hlbmtvIDxvbGVrc2FuZHJfdHlzaGNoZW5rb0BlcGFtLmNvbT4NCj4gDQo+
IC0tLQ0KPiBDaGFuZ2VzIFJGQyAtPiBWMToNCj4gICAgLSBubyBjaGFuZ2VzDQo+IA0KPiBDaGFu
Z2VzIFYxIC0+IFYyOg0KPiAgICAtIHJlYmFzZSBhY2NvcmRpbmcgdG8gdGhlIG5ldyBsb2NhdGlv
biBvZiBsaWJ4bF92aXJ0aW9fZGlzay5jDQo+IA0KPiBDaGFuZ2VzIFYyIC0+IFYzOg0KPiAgICAt
IG5vIGNoYW5nZXMNCj4gDQo+IENoYW5nZXMgVjMgLT4gVjQ6DQo+ICAgIC0gcmViYXNlIGFjY29y
ZGluZyB0byB0aGUgbmV3IGFyZ3VtZW50IGZvciBERUZJTkVfREVWSUNFX1RZUEVfU1RSVUNUDQo+
IA0KPiBDaGFuZ2VzIFY0IC0+IFY1Og0KPiAgICAtIHNwbGl0IHRoZSBjaGFuZ2VzLCBjaGFuZ2Ug
dGhlIG9yZGVyIG9mIHRoZSBwYXRjaGVzDQo+ICAgIC0gdXBkYXRlIHBhdGNoIGRlc2NyaXB0aW9u
DQo+ICAgIC0gZG9uJ3QgaW50cm9kdWNlIG5ldyAidmRpc2siIGNvbmZpZ3VyYXRpb24gb3B0aW9u
IHdpdGggb3duIHBhcnNpbmcNCj4gbG9naWMsDQo+ICAgICAgcmUtdXNlIFhlbiBQViBibG9jayAi
ZGlzayIgcGFyc2luZy9jb25maWd1cmF0aW9uIGxvZ2ljIGZvciB0aGUNCj4gdmlydGlvLWRpc2sN
Cj4gICAgLSBpbnRyb2R1Y2UgInZpcnRpbyIgZmxhZyBhbmQgZG9jdW1lbnQgaXQncyB1c2FnZQ0K
PiAgICAtIGFkZCBMSUJYTF9IQVZFX0RFVklDRV9ESVNLX1ZJUlRJTw0KPiAgICAtIHVwZGF0ZSBs
aWJ4bHVfZGlza19sLltjaF0NCj4gICAgLSBkcm9wIG51bV9kaXNrcyB2YXJpYWJsZS9NQVhfVklS
VElPX0RJU0tTDQo+ICAgIC0gZHJvcCBXZWkncyBULWINCj4gLS0tDQo+IC0tLQ0KPiAgZG9jcy9t
YW4veGwtZGlzay1jb25maWd1cmF0aW9uLjUucG9kLmluICAgfCAgMjcgKw0KPiAgdG9vbHMvaW5j
bHVkZS9saWJ4bC5oICAgICAgICAgICAgICAgICAgICAgfCAgIDYgKw0KPiAgdG9vbHMvbGlicy9s
aWdodC9saWJ4bF9kZXZpY2UuYyAgICAgICAgICAgfCAgMzggKy0NCj4gIHRvb2xzL2xpYnMvbGln
aHQvbGlieGxfZGlzay5jICAgICAgICAgICAgIHwgIDk5ICsrKy0NCj4gIHRvb2xzL2xpYnMvbGln
aHQvbGlieGxfdHlwZXMuaWRsICAgICAgICAgIHwgICA0ICsNCj4gIHRvb2xzL2xpYnMvbGlnaHQv
bGlieGxfdHlwZXNfaW50ZXJuYWwuaWRsIHwgICAxICsNCj4gIHRvb2xzL2xpYnMvbGlnaHQvbGli
eGxfdXRpbHMuYyAgICAgICAgICAgIHwgICAyICsNCj4gIHRvb2xzL2xpYnMvdXRpbC9saWJ4bHVf
ZGlza19sLmMgICAgICAgICAgIHwgODgxICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0NCj4gLS0t
LS0NCj4gIHRvb2xzL2xpYnMvdXRpbC9saWJ4bHVfZGlza19sLmggICAgICAgICAgIHwgICAyICst
DQo+ICB0b29scy9saWJzL3V0aWwvbGlieGx1X2Rpc2tfbC5sICAgICAgICAgICB8ICAgMSArDQo+
ICB0b29scy94bC94bF9ibG9jay5jICAgICAgICAgICAgICAgICAgICAgICB8ICAxMSArDQo+ICAx
MSBmaWxlcyBjaGFuZ2VkLCA2MjYgaW5zZXJ0aW9ucygrKSwgNDQ2IGRlbGV0aW9ucygtKQ0KPiAN
Cj4gZGlmZiAtLWdpdCBhL2RvY3MvbWFuL3hsLWRpc2stY29uZmlndXJhdGlvbi41LnBvZC5pbiBi
L2RvY3MvbWFuL3hsLWRpc2stDQo+IGNvbmZpZ3VyYXRpb24uNS5wb2QuaW4NCj4gaW5kZXggNzFk
MGU4Ni4uOWNjMTg5ZiAxMDA2NDQNCj4gLS0tIGEvZG9jcy9tYW4veGwtZGlzay1jb25maWd1cmF0
aW9uLjUucG9kLmluDQo+ICsrKyBiL2RvY3MvbWFuL3hsLWRpc2stY29uZmlndXJhdGlvbi41LnBv
ZC5pbg0KPiBAQCAtMzQ0LDggKzM0NCwzNSBAQCBjYW4gYmUgdXNlZCB0byBkaXNhYmxlICJob2xl
IHB1bmNoaW5nIiBmb3IgZmlsZSBiYXNlZA0KPiBiYWNrZW5kcyB3aGljaA0KPiAgd2VyZSBpbnRl
bnRpb25hbGx5IGNyZWF0ZWQgbm9uLXNwYXJzZSB0byBhdm9pZCBmcmFnbWVudGF0aW9uIG9mIHRo
ZQ0KPiAgZmlsZS4NCj4gDQo+ICs9aXRlbSBCPHZpcnRpbz4NCj4gKw0KPiArPW92ZXIgNA0KPiAr
DQo+ICs9aXRlbSBEZXNjcmlwdGlvbg0KPiArDQo+ICtFbmFibGVzIGV4cGVyaW1lbnRhbCBWaXJ0
aW8gc3VwcG9ydCBmb3IgZGlzaw0KPiArDQo+ICs9aXRlbSBTdXBwb3J0ZWQgdmFsdWVzDQo+ICsN
Cj4gK2Fic2VudCwgcHJlc2VudA0KPiArDQo+ICs9aXRlbSBNYW5kYXRvcnkNCj4gKw0KPiArTm8N
Cj4gKw0KPiArPWl0ZW0gRGVmYXVsdCB2YWx1ZQ0KPiArDQo+ICthYnNlbnQNCj4gKw0KPiAgPWJh
Y2sNCj4gDQo+ICtCZXNpZGVzIGZvcmNpbmcgdG9vbHN0YWNrIHRvIHVzZSBzcGVjaWZpYyBYZW4g
VmlydGlvIGJhY2tlbmQNCj4gaW1wbGVtZW50YXRpb24NCj4gKyhmb3IgZXhhbXBsZSwgdmlydGlv
LWRpc2spLCB0aGlzIGFsc28gYWZmZWN0cyB0aGUgZ3Vlc3QncyB2aWV3IG9mIHRoZQ0KPiBkZXZp
Y2UNCj4gK2FuZCByZXF1aXJlcyB2aXJ0aW8tYmxrIGRyaXZlciB0byBiZSB1c2VkLg0KPiArUGxl
YXNlIG5vdGUsIHRoZSB2aXJ0dWFsIGRldmljZSAodmRldikgaXMgbm90IHBhc3NlZCB0byB0aGUg
Z3Vlc3QgaW4gdGhhdA0KPiBjYXNlLA0KPiArYnV0IGl0IHN0aWxsIG11c3QgYmUgc3BlY2lmaWVk
IGZvciB0aGUgaW50ZXJuYWwgcHVycG9zZXMuDQo+ICsNCj4gKz1iYWNrDQo+IA0KPiAgPWhlYWQx
IENPTE8gUGFyYW1ldGVycw0KPiANCj4gZGlmZiAtLWdpdCBhL3Rvb2xzL2luY2x1ZGUvbGlieGwu
aCBiL3Rvb2xzL2luY2x1ZGUvbGlieGwuaA0KPiBpbmRleCBhZTdmZTI3Li41OGUxNGU2IDEwMDY0
NA0KPiAtLS0gYS90b29scy9pbmNsdWRlL2xpYnhsLmgNCj4gKysrIGIvdG9vbHMvaW5jbHVkZS9s
aWJ4bC5oDQo+IEBAIC01MDMsNiArNTAzLDEyIEBADQo+ICAjZGVmaW5lIExJQlhMX0hBVkVfWDg2
X01TUl9SRUxBWEVEIDENCj4gDQo+ICAvKg0KPiArICogTElCWExfSEFWRV9ERVZJQ0VfRElTS19W
SVJUSU8gaW5kaWNhdGVzIHRoYXQgYSAndmlydGlvJyBmaWVsZA0KPiArICogKG9mIGJvb2xlYW4g
dHlwZSkgaXMgcHJlc2VudCBpbiBsaWJ4bF9kZXZpY2VfZGlzay4NCj4gKyAqLw0KPiArI2RlZmlu
ZSBMSUJYTF9IQVZFX0RFVklDRV9ESVNLX1ZJUlRJTyAxDQo+ICsNCj4gKy8qDQo+ICAgKiBsaWJ4
bCBBQkkgY29tcGF0aWJpbGl0eQ0KPiAgICoNCj4gICAqIFRoZSBvbmx5IGd1YXJhbnRlZSB3aGlj
aCBsaWJ4bCBtYWtlcyByZWdhcmRpbmcgQUJJIGNvbXBhdGliaWxpdHkNCj4gZGlmZiAtLWdpdCBh
L3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfZGV2aWNlLmMNCj4gYi90b29scy9saWJzL2xpZ2h0L2xp
YnhsX2RldmljZS5jDQo+IGluZGV4IDM2YzRlNDEuLjdjOGNiNTMgMTAwNjQ0DQo+IC0tLSBhL3Rv
b2xzL2xpYnMvbGlnaHQvbGlieGxfZGV2aWNlLmMNCj4gKysrIGIvdG9vbHMvbGlicy9saWdodC9s
aWJ4bF9kZXZpY2UuYw0KPiBAQCAtMjkyLDYgKzI5Miw5IEBAIHN0YXRpYyBpbnQgZGlza190cnlf
YmFja2VuZChkaXNrX3RyeV9iYWNrZW5kX2FyZ3MgKmEsDQo+ICAgICAgLyogcmV0dXJucyAwIChp
ZSwgRElTS19CQUNLRU5EX1VOS05PV04pIG9uIGZhaWx1cmUsIG9yDQo+ICAgICAgICogYmFja2Vu
ZCBvbiBzdWNjZXNzICovDQo+IA0KPiArICAgIGlmIChhLT5kaXNrLT52aXJ0aW8gJiYgYmFja2Vu
ZCAhPSBMSUJYTF9ESVNLX0JBQ0tFTkRfVklSVElPKQ0KPiArICAgICAgICBnb3RvIGJhZF92aXJ0
aW87DQo+ICsNCj4gICAgICBzd2l0Y2ggKGJhY2tlbmQpIHsNCj4gICAgICBjYXNlIExJQlhMX0RJ
U0tfQkFDS0VORF9QSFk6DQo+ICAgICAgICAgIGlmIChhLT5kaXNrLT5mb3JtYXQgIT0gTElCWExf
RElTS19GT1JNQVRfUkFXKSB7DQo+IEBAIC0zMjksNiArMzMyLDI5IEBAIHN0YXRpYyBpbnQgZGlz
a190cnlfYmFja2VuZChkaXNrX3RyeV9iYWNrZW5kX2FyZ3MgKmEsDQo+ICAgICAgICAgIGlmIChh
LT5kaXNrLT5zY3JpcHQpIGdvdG8gYmFkX3NjcmlwdDsNCj4gICAgICAgICAgcmV0dXJuIGJhY2tl
bmQ7DQo+IA0KPiArICAgIGNhc2UgTElCWExfRElTS19CQUNLRU5EX1ZJUlRJTzoNCj4gKyAgICAg
ICAgaWYgKGEtPmRpc2stPmZvcm1hdCAhPSBMSUJYTF9ESVNLX0ZPUk1BVF9SQVcpDQo+ICsgICAg
ICAgICAgICBnb3RvIGJhZF9mb3JtYXQ7DQo+ICsNCj4gKyAgICAgICAgaWYgKGEtPmRpc2stPnNj
cmlwdCkNCj4gKyAgICAgICAgICAgIGdvdG8gYmFkX3NjcmlwdDsNCj4gKw0KPiArICAgICAgICBp
ZiAobGlieGxfZGVmYm9vbF92YWwoYS0+ZGlzay0+Y29sb19lbmFibGUpKQ0KPiArICAgICAgICAg
ICAgZ290byBiYWRfY29sbzsNCj4gKw0KPiArICAgICAgICBpZiAoYS0+ZGlzay0+YmFja2VuZF9k
b21pZCAhPSBMSUJYTF9UT09MU1RBQ0tfRE9NSUQpIHsNCj4gKyAgICAgICAgICAgIExPRyhERUJV
RywgIkRpc2sgdmRldj0lcywgaXMgdXNpbmcgYSBzdG9yYWdlIGRyaXZlciBkb21haW4sICINCj4g
KyAgICAgICAgICAgICAgICAgICAgICAgInNraXBwaW5nIHBoeXNpY2FsIGRldmljZSBjaGVjayIs
IGEtPmRpc2stPnZkZXYpOw0KPiArICAgICAgICAgICAgcmV0dXJuIGJhY2tlbmQ7DQo+ICsgICAg
ICAgIH0NCj4gKw0KPiArICAgICAgICBpZiAobGlieGxfX3RyeV9waHlfYmFja2VuZChhLT5zdGFi
LnN0X21vZGUpKQ0KPiArICAgICAgICAgICAgcmV0dXJuIGJhY2tlbmQ7DQo+ICsNCj4gKyAgICAg
ICAgTE9HKERFQlVHLCAiRGlzayB2ZGV2PSVzLCBiYWNrZW5kIHZpcnRpbyB1bnN1aXRhYmxlIGFz
IHBoeXMgcGF0aA0KPiBub3QgYSAiDQo+ICsgICAgICAgICAgICAgICAgICAgImJsb2NrIGRldmlj
ZSIsIGEtPmRpc2stPnZkZXYpOw0KPiArICAgICAgICByZXR1cm4gMDsNCj4gKw0KPiAgICAgIGRl
ZmF1bHQ6DQo+ICAgICAgICAgIExPRyhERUJVRywgIkRpc2sgdmRldj0lcywgYmFja2VuZCAlZCB1
bmtub3duIiwgYS0+ZGlzay0+dmRldiwNCj4gYmFja2VuZCk7DQo+ICAgICAgICAgIHJldHVybiAw
Ow0KPiBAQCAtMzUyLDYgKzM3OCwxMSBAQCBzdGF0aWMgaW50IGRpc2tfdHJ5X2JhY2tlbmQoZGlz
a190cnlfYmFja2VuZF9hcmdzICphLA0KPiAgICAgIExPRyhERUJVRywgIkRpc2sgdmRldj0lcywg
YmFja2VuZCAlcyBub3QgY29tcGF0aWJsZSB3aXRoIGNvbG8iLA0KPiAgICAgICAgICBhLT5kaXNr
LT52ZGV2LCBsaWJ4bF9kaXNrX2JhY2tlbmRfdG9fc3RyaW5nKGJhY2tlbmQpKTsNCj4gICAgICBy
ZXR1cm4gMDsNCj4gKw0KPiArIGJhZF92aXJ0aW86DQo+ICsgICAgTE9HKERFQlVHLCAiRGlzayB2
ZGV2PSVzLCBiYWNrZW5kICVzIG5vdCBjb21wYXRpYmxlIHdpdGggdmlydGlvIiwNCj4gKyAgICAg
ICAgYS0+ZGlzay0+dmRldiwgbGlieGxfZGlza19iYWNrZW5kX3RvX3N0cmluZyhiYWNrZW5kKSk7
DQo+ICsgICAgcmV0dXJuIDA7DQo+ICB9DQo+IA0KPiAgaW50IGxpYnhsX19iYWNrZW5kcGF0aF9w
YXJzZV9kb21pZChsaWJ4bF9fZ2MgKmdjLCBjb25zdCBjaGFyICpiZV9wYXRoLA0KPiBAQCAtMzky
LDcgKzQyMyw4IEBAIGludCBsaWJ4bF9fZGV2aWNlX2Rpc2tfc2V0X2JhY2tlbmQobGlieGxfX2dj
ICpnYywNCj4gbGlieGxfZGV2aWNlX2Rpc2sgKmRpc2spIHsNCj4gICAgICAgICAgfQ0KPiAgICAg
ICAgICBtZW1zZXQoJmEuc3RhYiwgMCwgc2l6ZW9mKGEuc3RhYikpOw0KPiAgICAgIH0gZWxzZSBp
ZiAoKGRpc2stPmJhY2tlbmQgPT0gTElCWExfRElTS19CQUNLRU5EX1VOS05PV04gfHwNCj4gLSAg
ICAgICAgICAgICAgICBkaXNrLT5iYWNrZW5kID09IExJQlhMX0RJU0tfQkFDS0VORF9QSFkpICYm
DQo+ICsgICAgICAgICAgICAgICAgZGlzay0+YmFja2VuZCA9PSBMSUJYTF9ESVNLX0JBQ0tFTkRf
UEhZIHx8DQo+ICsgICAgICAgICAgICAgICAgZGlzay0+YmFja2VuZCA9PSBMSUJYTF9ESVNLX0JB
Q0tFTkRfVklSVElPKSAmJg0KPiAgICAgICAgICAgICAgICAgZGlzay0+YmFja2VuZF9kb21pZCA9
PSBMSUJYTF9UT09MU1RBQ0tfRE9NSUQgJiYNCj4gICAgICAgICAgICAgICAgICFkaXNrLT5zY3Jp
cHQpIHsNCj4gICAgICAgICAgaWYgKHN0YXQoZGlzay0+cGRldl9wYXRoLCAmYS5zdGFiKSkgew0K
PiBAQCAtNDA4LDcgKzQ0MCw4IEBAIGludCBsaWJ4bF9fZGV2aWNlX2Rpc2tfc2V0X2JhY2tlbmQo
bGlieGxfX2djICpnYywNCj4gbGlieGxfZGV2aWNlX2Rpc2sgKmRpc2spIHsNCj4gICAgICAgICAg
b2s9DQo+ICAgICAgICAgICAgICBkaXNrX3RyeV9iYWNrZW5kKCZhLCBMSUJYTF9ESVNLX0JBQ0tF
TkRfUEhZKSA/Og0KPiAgICAgICAgICAgICAgZGlza190cnlfYmFja2VuZCgmYSwgTElCWExfRElT
S19CQUNLRU5EX1FESVNLKSA/Og0KPiAtICAgICAgICAgICAgZGlza190cnlfYmFja2VuZCgmYSwg
TElCWExfRElTS19CQUNLRU5EX1RBUCk7DQo+ICsgICAgICAgICAgICBkaXNrX3RyeV9iYWNrZW5k
KCZhLCBMSUJYTF9ESVNLX0JBQ0tFTkRfVEFQKSA/Og0KPiArICAgICAgICAgICAgZGlza190cnlf
YmFja2VuZCgmYSwgTElCWExfRElTS19CQUNLRU5EX1ZJUlRJTyk7DQo+ICAgICAgICAgIGlmIChv
aykNCj4gICAgICAgICAgICAgIExPRyhERUJVRywgIkRpc2sgdmRldj0lcywgdXNpbmcgYmFja2Vu
ZCAlcyIsDQo+ICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2stPnZkZXYsDQo+IEBAIC00NDEs
NiArNDc0LDcgQEAgY2hhcg0KPiAqbGlieGxfX2RldmljZV9kaXNrX3N0cmluZ19vZl9iYWNrZW5k
KGxpYnhsX2Rpc2tfYmFja2VuZCBiYWNrZW5kKQ0KPiAgICAgICAgICBjYXNlIExJQlhMX0RJU0tf
QkFDS0VORF9RRElTSzogcmV0dXJuICJxZGlzayI7DQo+ICAgICAgICAgIGNhc2UgTElCWExfRElT
S19CQUNLRU5EX1RBUDogcmV0dXJuICJwaHkiOw0KPiAgICAgICAgICBjYXNlIExJQlhMX0RJU0tf
QkFDS0VORF9QSFk6IHJldHVybiAicGh5IjsNCj4gKyAgICAgICAgY2FzZSBMSUJYTF9ESVNLX0JB
Q0tFTkRfVklSVElPOiByZXR1cm4gInZpcnRpb19kaXNrIjsNCj4gICAgICAgICAgZGVmYXVsdDog
cmV0dXJuIE5VTEw7DQo+ICAgICAgfQ0KPiAgfQ0KPiBkaWZmIC0tZ2l0IGEvdG9vbHMvbGlicy9s
aWdodC9saWJ4bF9kaXNrLmMgYi90b29scy9saWJzL2xpZ2h0L2xpYnhsX2Rpc2suYw0KPiBpbmRl
eCA0MTFmZmVhLi40MzMyZGFiIDEwMDY0NA0KPiAtLS0gYS90b29scy9saWJzL2xpZ2h0L2xpYnhs
X2Rpc2suYw0KPiArKysgYi90b29scy9saWJzL2xpZ2h0L2xpYnhsX2Rpc2suYw0KPiBAQCAtMTc0
LDYgKzE3NCwxNiBAQCBzdGF0aWMgaW50IGxpYnhsX19kZXZpY2VfZGlza19zZXRkZWZhdWx0KGxp
YnhsX19nYw0KPiAqZ2MsIHVpbnQzMl90IGRvbWlkLA0KPiAgICAgICAgICBkaXNrLT5iYWNrZW5k
ID0gTElCWExfRElTS19CQUNLRU5EX1FESVNLOw0KPiAgICAgIH0NCj4gDQo+ICsgICAgLyogRm9y
Y2UgdmlydGlvX2Rpc2sgYmFja2VuZCBmb3IgVmlydGlvIGRldmljZXMgKi8NCj4gKyAgICBpZiAo
ZGlzay0+dmlydGlvKSB7DQo+ICsgICAgICAgIGlmICghKGRpc2stPmJhY2tlbmQgPT0gTElCWExf
RElTS19CQUNLRU5EX1ZJUlRJTyB8fA0KPiArICAgICAgICAgICAgICBkaXNrLT5iYWNrZW5kID09
IExJQlhMX0RJU0tfQkFDS0VORF9VTktOT1dOKSkgew0KPiArICAgICAgICAgICAgTE9HRChFUlJP
UiwgZG9taWQsICJCYWNrZW5kIGZvciBWaXJ0aW8gZGV2aWNlcyBvbiBtdXN0IGJlDQo+IHZpcnRp
b19kaXNrIik7DQo+ICsgICAgICAgICAgICByZXR1cm4gRVJST1JfRkFJTDsNCj4gKyAgICAgICAg
fQ0KPiArICAgICAgICBkaXNrLT5iYWNrZW5kID0gTElCWExfRElTS19CQUNLRU5EX1ZJUlRJTzsN
Cj4gKyAgICB9DQo+ICsNCj4gICAgICByYyA9IGxpYnhsX19kZXZpY2VfZGlza19zZXRfYmFja2Vu
ZChnYywgZGlzayk7DQo+ICAgICAgcmV0dXJuIHJjOw0KPiAgfQ0KPiBAQCAtMjA0LDYgKzIxNCw5
IEBAIHN0YXRpYyBpbnQgbGlieGxfX2RldmljZV9mcm9tX2Rpc2sobGlieGxfX2djICpnYywNCj4g
dWludDMyX3QgZG9taWQsDQo+ICAgICAgICAgIGNhc2UgTElCWExfRElTS19CQUNLRU5EX1FESVNL
Og0KPiAgICAgICAgICAgICAgZGV2aWNlLT5iYWNrZW5kX2tpbmQgPSBMSUJYTF9fREVWSUNFX0tJ
TkRfUURJU0s7DQo+ICAgICAgICAgICAgICBicmVhazsNCj4gKyAgICAgICAgY2FzZSBMSUJYTF9E
SVNLX0JBQ0tFTkRfVklSVElPOg0KPiArICAgICAgICAgICAgZGV2aWNlLT5iYWNrZW5kX2tpbmQg
PSBMSUJYTF9fREVWSUNFX0tJTkRfVklSVElPX0RJU0s7DQo+ICsgICAgICAgICAgICBicmVhazsN
Cj4gICAgICAgICAgZGVmYXVsdDoNCj4gICAgICAgICAgICAgIExPR0QoRVJST1IsIGRvbWlkLCAi
VW5yZWNvZ25pemVkIGRpc2sgYmFja2VuZCB0eXBlOiAlZCIsDQo+ICAgICAgICAgICAgICAgICAg
IGRpc2stPmJhY2tlbmQpOw0KPiBAQCAtMjEyLDcgKzIyNSw4IEBAIHN0YXRpYyBpbnQgbGlieGxf
X2RldmljZV9mcm9tX2Rpc2sobGlieGxfX2djICpnYywNCj4gdWludDMyX3QgZG9taWQsDQo+IA0K
PiAgICAgIGRldmljZS0+ZG9taWQgPSBkb21pZDsNCj4gICAgICBkZXZpY2UtPmRldmlkID0gZGV2
aWQ7DQo+IC0gICAgZGV2aWNlLT5raW5kICA9IExJQlhMX19ERVZJQ0VfS0lORF9WQkQ7DQo+ICsg
ICAgZGV2aWNlLT5raW5kID0gZGlzay0+YmFja2VuZCA9PSBMSUJYTF9ESVNLX0JBQ0tFTkRfVklS
VElPID8NCj4gKyAgICAgICAgTElCWExfX0RFVklDRV9LSU5EX1ZJUlRJT19ESVNLIDogTElCWExf
X0RFVklDRV9LSU5EX1ZCRDsNCj4gDQo+ICAgICAgcmV0dXJuIDA7DQo+ICB9DQo+IEBAIC0zMzAs
NyArMzQ0LDE3IEBAIHN0YXRpYyB2b2lkIGRldmljZV9kaXNrX2FkZChsaWJ4bF9fZWdjICplZ2Ms
IHVpbnQzMl90DQo+IGRvbWlkLA0KPiANCj4gICAgICAgICAgICAgICAgICBhc3NlcnQoZGV2aWNl
LT5iYWNrZW5kX2tpbmQgPT0gTElCWExfX0RFVklDRV9LSU5EX1ZCRCk7DQo+ICAgICAgICAgICAg
ICAgICAgYnJlYWs7DQo+ICsgICAgICAgICAgICBjYXNlIExJQlhMX0RJU0tfQkFDS0VORF9WSVJU
SU86DQo+ICsgICAgICAgICAgICAgICAgZGV2ID0gZGlzay0+cGRldl9wYXRoOw0KPiArDQo+ICsg
ICAgICAgICAgICAgICAgZmxleGFycmF5X2FwcGVuZChiYWNrLCAicGFyYW1zIik7DQo+ICsgICAg
ICAgICAgICAgICAgZmxleGFycmF5X2FwcGVuZChiYWNrLCBkZXYpOw0KPiANCj4gKyAgICAgICAg
ICAgICAgICBmbGV4YXJyYXlfYXBwZW5kX3BhaXIoYmFjaywgImJhc2UiLCBHQ1NQUklOVEYoIiVs
dSIsDQo+IGRpc2stPmJhc2UpKTsNCg0KVGhpcyBjb2RlIHdpbGwgZmFpbCB3aGVuIHJ1bm5pbmcg
b24gYXJtMzIuDQo+ICsgICAgICAgICAgICAgICAgZmxleGFycmF5X2FwcGVuZF9wYWlyKGJhY2ss
ICJiYXNlIiwgR0NTUFJJTlRGKCIlbHUiLA0KPiBkaXNrLT5iYXNlKSk7DQpCZWxvdyBpcyBpdHMg
ZXJyb3IgbWVzc2FnZS4gIE1heWJlIFBSSXU2NCBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkICdsdScu
ICBPciB1c2UgJ2xsJywgYW5kIGNhc3QgYmFzZSB0eXBlICB0byAnbG9uZyBsb25nIHVuc2lnbmVk
IGludCcuDQp8IG1ha2VbNl06ICoqKiBbbGlieGxfZGlzay5vXSBFcnJvciAxDQp8IG1ha2VbNl06
ICoqKiBXYWl0aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uDQp8IEluIGZpbGUgaW5jbHVkZWQg
ZnJvbSBsaWJ4bF9kaXNrLmM6MTc6DQp8IGxpYnhsX2Rpc2suYzogSW4gZnVuY3Rpb24gJ2Rldmlj
ZV9kaXNrX2FkZCc6DQp8IGxpYnhsX2ludGVybmFsLmg6NDM3Njo1MTogZXJyb3I6IGZvcm1hdCAn
JWx1JyBleHBlY3RzIGFyZ3VtZW50IG9mIHR5cGUgJ2xvbmcgdW5zaWduZWQgaW50JywgYnV0IGFy
Z3VtZW50IDMgaGFzIHR5cGUgJ3VpbnQ2NF90JyB7YWthICdsb25nIGxvbmcgdW5zaWduZWQgaW50
J30gWy1XZXJyb3I9Zm9ybWF0PV0NCnwgIDQzNzYgfCAjZGVmaW5lIEdDU1BSSU5URihmbXQsIC4u
LikgKGxpYnhsX19zcHJpbnRmKChnYyksIChmbXQpLCBfX1ZBX0FSR1NfXykpDQp8ICAgICAgIHwg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fg0K
fCBsaWJ4bF9kaXNrLmM6MzUzOjUzOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ0dDU1BS
SU5URicNCnwgICAzNTMgfCAgICAgICAgICAgICAgICAgZmxleGFycmF5X2FwcGVuZF9wYWlyKGJh
Y2ssICJiYXNlIiwgR0NTUFJJTlRGKCIlbHUiLCBkaXNrLT5iYXNlKSk7DQp8ICAgICAgIHwgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+
fg0KDQo+ICsgICAgICAgICAgICAgICAgZmxleGFycmF5X2FwcGVuZF9wYWlyKGJhY2ssICJpcnEi
LCBHQ1NQUklOVEYoIiV1IiwgZGlzay0NCj4gPmlycSkpOw0KPiArDQo+ICsgICAgICAgICAgICAg
ICAgYXNzZXJ0KGRldmljZS0+YmFja2VuZF9raW5kID09DQo+IExJQlhMX19ERVZJQ0VfS0lORF9W
SVJUSU9fRElTSyk7DQo+ICsgICAgICAgICAgICAgICAgYnJlYWs7DQo+ICAgICAgICAgICAgICBj
YXNlIExJQlhMX0RJU0tfQkFDS0VORF9UQVA6DQo+ICAgICAgICAgICAgICAgICAgTE9HKEVSUk9S
LCAiYmxrdGFwIGlzIG5vdCBzdXBwb3J0ZWQiKTsNCj4gICAgICAgICAgICAgICAgICByYyA9IEVS
Uk9SX0ZBSUw7DQo+IEBAIC01MzIsNiArNTU2LDI2IEBAIHN0YXRpYyBpbnQgbGlieGxfX2Rpc2tf
ZnJvbV94ZW5zdG9yZShsaWJ4bF9fZ2MgKmdjLA0KPiBjb25zdCBjaGFyICpsaWJ4bF9wYXRoLA0K
PiAgICAgIH0NCj4gICAgICBsaWJ4bF9zdHJpbmdfdG9fYmFja2VuZChjdHgsIHRtcCwgJihkaXNr
LT5iYWNrZW5kKSk7DQo+IA0KPiArICAgIGlmIChkaXNrLT5iYWNrZW5kID09IExJQlhMX0RJU0tf
QkFDS0VORF9WSVJUSU8pIHsNCj4gKyAgICAgICAgZGlzay0+dmlydGlvID0gdHJ1ZTsNCj4gKw0K
PiArICAgICAgICB0bXAgPSBsaWJ4bF9feHNfcmVhZChnYywgWEJUX05VTEwsDQo+ICsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEdDU1BSSU5URigiJXMvYmFzZSIsIGxpYnhsX3BhdGgpKTsN
Cj4gKyAgICAgICAgaWYgKCF0bXApIHsNCj4gKyAgICAgICAgICAgIExPRyhFUlJPUiwgIk1pc3Np
bmcgeGVuc3RvcmUgbm9kZSAlcy9iYXNlIiwgbGlieGxfcGF0aCk7DQo+ICsgICAgICAgICAgICBn
b3RvIGNsZWFudXA7DQo+ICsgICAgICAgIH0NCj4gKyAgICAgICAgZGlzay0+YmFzZSA9IHN0cnRv
dWwodG1wLCBOVUxMLCAxMCk7DQo+ICsNCj4gKyAgICAgICAgdG1wID0gbGlieGxfX3hzX3JlYWQo
Z2MsIFhCVF9OVUxMLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHQ1NQUklOVEYo
IiVzL2lycSIsIGxpYnhsX3BhdGgpKTsNCj4gKyAgICAgICAgaWYgKCF0bXApIHsNCj4gKyAgICAg
ICAgICAgIExPRyhFUlJPUiwgIk1pc3NpbmcgeGVuc3RvcmUgbm9kZSAlcy9pcnEiLCBsaWJ4bF9w
YXRoKTsNCj4gKyAgICAgICAgICAgIGdvdG8gY2xlYW51cDsNCj4gKyAgICAgICAgfQ0KPiArICAg
ICAgICBkaXNrLT5pcnEgPSBzdHJ0b3VsKHRtcCwgTlVMTCwgMTApOw0KPiArICAgIH0NCj4gKw0K
PiAgICAgIGRpc2stPnZkZXYgPSB4c19yZWFkKGN0eC0+eHNoLCBYQlRfTlVMTCwNCj4gICAgICAg
ICAgICAgICAgICAgICAgICAgICBHQ1NQUklOVEYoIiVzL2RldiIsIGxpYnhsX3BhdGgpLCAmbGVu
KTsNCj4gICAgICBpZiAoIWRpc2stPnZkZXYpIHsNCj4gQEAgLTU3NSw2ICs2MTksNDEgQEAgY2xl
YW51cDoNCj4gICAgICByZXR1cm4gcmM7DQo+ICB9DQo+IA0KPiArc3RhdGljIGludCBsaWJ4bF9k
ZXZpY2VfZGlza19nZXRfcGF0aChsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCwNCj4gKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqKnBhdGgpDQo+ICt7DQo+
ICsgICAgY29uc3QgY2hhciAqZGlyOw0KPiArICAgIGludCByYzsNCj4gKw0KPiArICAgIC8qDQo+
ICsgICAgICogQXMgd2UgZG9uJ3Qga25vdyBleGFjdGx5IHdoYXQgZGV2aWNlIGtpbmQgdG8gYmUg
dXNlZCBoZXJlLCBndWVzcw0KPiBpdA0KPiArICAgICAqIGJ5IGNoZWNraW5nIHRoZSBwcmVzZW5j
ZSBvZiB0aGUgY29ycmVzcG9uZGluZyBwYXRoIGluIFhlbnN0b3JlLg0KPiArICAgICAqIEZpcnN0
LCB0cnkgdG8gcmVhZCBwYXRoIGZvciB2YmQgZGV2aWNlIChkZWZhdWx0KSBhbmQgaWYgbm90IGV4
aXN0cw0KPiArICAgICAqIHJlYWQgcGF0aCBmb3IgdmlydGlvX2Rpc2sgZGV2aWNlLiBUaGlzIHdp
bGwgd29yayBhcyBsb25nIGFzIGJvdGgNCj4gWGVuIFBWDQo+ICsgICAgICogYW5kIFZpcnRpbyBk
aXNrIGRldmljZXMgYXJlIG5vdCBhc3NpZ25lZCB0byB0aGUgc2FtZSBndWVzdC4NCj4gKyAgICAg
Ki8NCj4gKyAgICAqcGF0aCA9IEdDU1BSSU5URigiJXMvZGV2aWNlLyVzIiwNCj4gKyAgICAgICAg
ICAgICAgICAgICAgICBsaWJ4bF9feHNfbGlieGxfcGF0aChnYywgZG9taWQpLA0KPiArDQo+IGxp
YnhsX19kZXZpY2Vfa2luZF90b19zdHJpbmcoTElCWExfX0RFVklDRV9LSU5EX1ZCRCkpOw0KPiAr
DQo+ICsgICAgcmMgPSBsaWJ4bF9feHNfcmVhZF9jaGVja2VkKGdjLCBYQlRfTlVMTCwgKnBhdGgs
ICZkaXIpOw0KPiArICAgIGlmIChyYykNCj4gKyAgICAgICAgcmV0dXJuIHJjOw0KPiArDQo+ICsg
ICAgaWYgKGRpcikNCj4gKyAgICAgICAgcmV0dXJuIDA7DQo+ICsNCj4gKyAgICAqcGF0aCA9IEdD
U1BSSU5URigiJXMvZGV2aWNlLyVzIiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9f
eHNfbGlieGxfcGF0aChnYywgZG9taWQpLA0KPiArDQo+IGxpYnhsX19kZXZpY2Vfa2luZF90b19z
dHJpbmcoTElCWExfX0RFVklDRV9LSU5EX1ZJUlRJT19ESVNLKSk7DQo+ICsNCj4gKyAgICByYyA9
IGxpYnhsX194c19yZWFkX2NoZWNrZWQoZ2MsIFhCVF9OVUxMLCAqcGF0aCwgJmRpcik7DQo+ICsg
ICAgaWYgKHJjKQ0KPiArICAgICAgICByZXR1cm4gcmM7DQo+ICsNCj4gKyAgICByZXR1cm4gMDsN
Cj4gK30NCj4gKw0KPiAgaW50IGxpYnhsX3ZkZXZfdG9fZGV2aWNlX2Rpc2sobGlieGxfY3R4ICpj
dHgsIHVpbnQzMl90IGRvbWlkLA0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgY2hhciAqdmRldiwgbGlieGxfZGV2aWNlX2Rpc2sgKmRpc2spDQo+ICB7DQo+IEBAIC01ODgs
MTAgKzY2NywxMiBAQCBpbnQgbGlieGxfdmRldl90b19kZXZpY2VfZGlzayhsaWJ4bF9jdHggKmN0
eCwNCj4gdWludDMyX3QgZG9taWQsDQo+IA0KPiAgICAgIGxpYnhsX2RldmljZV9kaXNrX2luaXQo
ZGlzayk7DQo+IA0KPiAtICAgIGxpYnhsX3BhdGggPSBsaWJ4bF9fZG9tYWluX2RldmljZV9saWJ4
bF9wYXRoKGdjLCBkb21pZCwgZGV2aWQsDQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgTElCWExfX0RFVklDRV9LSU5EX1ZCRCk7DQo+ICsgICAgcmMg
PSBsaWJ4bF9kZXZpY2VfZGlza19nZXRfcGF0aChnYywgZG9taWQsICZsaWJ4bF9wYXRoKTsNCj4g
KyAgICBpZiAocmMpDQo+ICsgICAgICAgIHJldHVybiByYzsNCj4gDQo+IC0gICAgcmMgPSBsaWJ4
bF9fZGlza19mcm9tX3hlbnN0b3JlKGdjLCBsaWJ4bF9wYXRoLCBkZXZpZCwgZGlzayk7DQo+ICsg
ICAgcmMgPSBsaWJ4bF9fZGlza19mcm9tX3hlbnN0b3JlKGdjLCBHQ1NQUklOVEYoIiVzLyVkIiwg
bGlieGxfcGF0aCwNCj4gZGV2aWQpLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBkZXZpZCwgZGlzayk7DQo+IA0KPiAgICAgIEdDX0ZSRUU7DQo+ICAgICAgcmV0dXJuIHJj
Ow0KPiBAQCAtNjA1LDE2ICs2ODYsMTkgQEAgaW50IGxpYnhsX2RldmljZV9kaXNrX2dldGluZm8o
bGlieGxfY3R4ICpjdHgsDQo+IHVpbnQzMl90IGRvbWlkLA0KPiAgICAgIGNoYXIgKmZlX3BhdGgs
ICpsaWJ4bF9wYXRoOw0KPiAgICAgIGNoYXIgKnZhbDsNCj4gICAgICBpbnQgcmM7DQo+ICsgICAg
bGlieGxfX2RldmljZV9raW5kIGtpbmQ7DQo+IA0KPiAgICAgIGRpc2tpbmZvLT5iYWNrZW5kID0g
TlVMTDsNCj4gDQo+ICAgICAgZGlza2luZm8tPmRldmlkID0gbGlieGxfX2RldmljZV9kaXNrX2Rl
dl9udW1iZXIoZGlzay0+dmRldiwgTlVMTCwNCj4gTlVMTCk7DQo+IA0KPiAtICAgIC8qIHRhcCBk
ZXZpY2VzIGVudHJpZXMgaW4geGVuc3RvcmUgYXJlIHdyaXR0ZW4gYXMgdmJkIGRldmljZXMuICov
DQo+ICsgICAgLyogdGFwIGRldmljZXMgZW50cmllcyBpbiB4ZW5zdG9yZSBhcmUgd3JpdHRlbiBh
cyB2YmQvdmlydGlvX2Rpc2sNCj4gZGV2aWNlcy4gKi8NCj4gKyAgICBraW5kID0gZGlzay0+YmFj
a2VuZCA9PSBMSUJYTF9ESVNLX0JBQ0tFTkRfVklSVElPID8NCj4gKyAgICAgICAgTElCWExfX0RF
VklDRV9LSU5EX1ZJUlRJT19ESVNLIDogTElCWExfX0RFVklDRV9LSU5EX1ZCRDsNCj4gICAgICBm
ZV9wYXRoID0gbGlieGxfX2RvbWFpbl9kZXZpY2VfZnJvbnRlbmRfcGF0aChnYywgZG9taWQsIGRp
c2tpbmZvLQ0KPiA+ZGV2aWQsDQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgTElCWExfX0RFVklDRV9LSU5EX1ZCRCk7DQo+ICsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2luZCk7DQo+ICAgICAgbGlieGxf
cGF0aCA9IGxpYnhsX19kb21haW5fZGV2aWNlX2xpYnhsX3BhdGgoZ2MsIGRvbWlkLCBkaXNraW5m
by0NCj4gPmRldmlkLA0KPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIExJQlhMX19ERVZJQ0VfS0lORF9WQkQpOw0KPiArICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtpbmQpOw0KPiAgICAgIGRpc2tpbmZvLT5i
YWNrZW5kID0geHNfcmVhZChjdHgtPnhzaCwgWEJUX05VTEwsDQo+ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEdDU1BSSU5URigiJXMvYmFja2VuZCIsIGxpYnhsX3BhdGgpLA0KPiBO
VUxMKTsNCj4gICAgICBpZiAoIWRpc2tpbmZvLT5iYWNrZW5kKSB7DQo+IEBAIC0xMzc1LDYgKzE0
NTksNyBAQCBMSUJYTF9ERUZJTkVfREVWSUNFX0xJU1QoZGlzaykNCj4gICNkZWZpbmUgbGlieGxf
X2RldmljZV9kaXNrX3VwZGF0ZV9kZXZpZCBOVUxMDQo+IA0KPiAgREVGSU5FX0RFVklDRV9UWVBF
X1NUUlVDVChkaXNrLCBWQkQsIGRpc2tzLA0KPiArICAgIC5nZXRfcGF0aCAgICA9IGxpYnhsX2Rl
dmljZV9kaXNrX2dldF9wYXRoLA0KPiAgICAgIC5tZXJnZSAgICAgICA9IGxpYnhsX2RldmljZV9k
aXNrX21lcmdlLA0KPiAgICAgIC5kbV9uZWVkZWQgICA9IGxpYnhsX2RldmljZV9kaXNrX2RtX25l
ZWRlZCwNCj4gICAgICAuZnJvbV94ZW5zdG9yZSA9IChkZXZpY2VfZnJvbV94ZW5zdG9yZV9mbl90
KWxpYnhsX19kaXNrX2Zyb21feGVuc3RvcmUsDQo+IGRpZmYgLS1naXQgYS90b29scy9saWJzL2xp
Z2h0L2xpYnhsX3R5cGVzLmlkbA0KPiBiL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfdHlwZXMuaWRs
DQo+IGluZGV4IGY0NWFkZGQuLmQ1MTNkZGUgMTAwNjQ0DQo+IC0tLSBhL3Rvb2xzL2xpYnMvbGln
aHQvbGlieGxfdHlwZXMuaWRsDQo+ICsrKyBiL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfdHlwZXMu
aWRsDQo+IEBAIC0xMzAsNiArMTMwLDcgQEAgbGlieGxfZGlza19iYWNrZW5kID0gRW51bWVyYXRp
b24oImRpc2tfYmFja2VuZCIsIFsNCj4gICAgICAoMSwgIlBIWSIpLA0KPiAgICAgICgyLCAiVEFQ
IiksDQo+ICAgICAgKDMsICJRRElTSyIpLA0KPiArICAgICg0LCAiVklSVElPIiksDQo+ICAgICAg
XSkNCj4gDQo+ICBsaWJ4bF9uaWNfdHlwZSA9IEVudW1lcmF0aW9uKCJuaWNfdHlwZSIsIFsNCj4g
QEAgLTY5OSw2ICs3MDAsOSBAQCBsaWJ4bF9kZXZpY2VfZGlzayA9IFN0cnVjdCgiZGV2aWNlX2Rp
c2siLCBbDQo+ICAgICAgKCJpc19jZHJvbSIsIGludGVnZXIpLA0KPiAgICAgICgiZGlyZWN0X2lv
X3NhZmUiLCBib29sKSwNCj4gICAgICAoImRpc2NhcmRfZW5hYmxlIiwgbGlieGxfZGVmYm9vbCks
DQo+ICsgICAgKCJ2aXJ0aW8iLCBib29sKSwNCj4gKyAgICAoImlycSIsIHVpbnQzMiksDQo+ICsg
ICAgKCJiYXNlIiwgdWludDY0KSwNCj4gICAgICAjIE5vdGUgdGhhdCB0aGUgQ09MTyBjb25maWd1
cmF0aW9uIHNldHRpbmdzIHNob3VsZCBiZSBjb25zaWRlcmVkDQo+IHVuc3RhYmxlLg0KPiAgICAg
ICMgVGhleSBtYXkgY2hhbmdlIGluY29tcGF0aWJseSBpbiBmdXR1cmUgdmVyc2lvbnMgb2YgWGVu
Lg0KPiAgICAgICgiY29sb19lbmFibGUiLCBsaWJ4bF9kZWZib29sKSwNCj4gZGlmZiAtLWdpdCBh
L3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfdHlwZXNfaW50ZXJuYWwuaWRsDQo+IGIvdG9vbHMvbGli
cy9saWdodC9saWJ4bF90eXBlc19pbnRlcm5hbC5pZGwNCj4gaW5kZXggMzU5M2UyMS4uOGY3MTk4
MCAxMDA2NDQNCj4gLS0tIGEvdG9vbHMvbGlicy9saWdodC9saWJ4bF90eXBlc19pbnRlcm5hbC5p
ZGwNCj4gKysrIGIvdG9vbHMvbGlicy9saWdodC9saWJ4bF90eXBlc19pbnRlcm5hbC5pZGwNCj4g
QEAgLTMyLDYgKzMyLDcgQEAgbGlieGxfX2RldmljZV9raW5kID0gRW51bWVyYXRpb24oImRldmlj
ZV9raW5kIiwgWw0KPiAgICAgICgxNCwgIlBWQ0FMTFMiKSwNCj4gICAgICAoMTUsICJWU05EIiks
DQo+ICAgICAgKDE2LCAiVklOUFVUIiksDQo+ICsgICAgKDE3LCAiVklSVElPX0RJU0siKSwNCj4g
ICAgICBdKQ0KPiANCj4gIGxpYnhsX19jb25zb2xlX2JhY2tlbmQgPSBFbnVtZXJhdGlvbigiY29u
c29sZV9iYWNrZW5kIiwgWw0KPiBkaWZmIC0tZ2l0IGEvdG9vbHMvbGlicy9saWdodC9saWJ4bF91
dGlscy5jDQo+IGIvdG9vbHMvbGlicy9saWdodC9saWJ4bF91dGlscy5jDQo+IGluZGV4IDQ2OTlj
NGEuLmZhNDA2ZGUgMTAwNjQ0DQo+IC0tLSBhL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfdXRpbHMu
Yw0KPiArKysgYi90b29scy9saWJzL2xpZ2h0L2xpYnhsX3V0aWxzLmMNCj4gQEAgLTMwNCw2ICsz
MDQsOCBAQCBpbnQgbGlieGxfc3RyaW5nX3RvX2JhY2tlbmQobGlieGxfY3R4ICpjdHgsIGNoYXIg
KnMsDQo+IGxpYnhsX2Rpc2tfYmFja2VuZCAqYmFja2VuZA0KPiAgICAgICAgICAqYmFja2VuZCA9
IExJQlhMX0RJU0tfQkFDS0VORF9UQVA7DQo+ICAgICAgfSBlbHNlIGlmICghc3RyY21wKHMsICJx
ZGlzayIpKSB7DQo+ICAgICAgICAgICpiYWNrZW5kID0gTElCWExfRElTS19CQUNLRU5EX1FESVNL
Ow0KPiArICAgIH0gZWxzZSBpZiAoIXN0cmNtcChzLCAidmlydGlvX2Rpc2siKSkgew0KPiArICAg
ICAgICAqYmFja2VuZCA9IExJQlhMX0RJU0tfQkFDS0VORF9WSVJUSU87DQo+ICAgICAgfSBlbHNl
IGlmICghc3RyY21wKHMsICJ0YXAiKSkgew0KPiAgICAgICAgICBwID0gc3RyY2hyKHMsICc6Jyk7
DQo+ICAgICAgICAgIGlmICghcCkgew0KPiBkaWZmIC0tZ2l0IGEvdG9vbHMvbGlicy91dGlsL2xp
YnhsdV9kaXNrX2wuYw0KPiBiL3Rvb2xzL2xpYnMvdXRpbC9saWJ4bHVfZGlza19sLmMNCj4gaW5k
ZXggMzJkNGI3NC4uN2FiYzY5OSAxMDA2NDQNCj4gLS0tIGEvdG9vbHMvbGlicy91dGlsL2xpYnhs
dV9kaXNrX2wuYw0KPiArKysgYi90b29scy9saWJzL3V0aWwvbGlieGx1X2Rpc2tfbC5jDQo+IEBA
IC01NDksOCArNTQ5LDggQEAgc3RhdGljIHZvaWQgeXlub3JldHVybiB5eV9mYXRhbF9lcnJvciAo
IGNvbnN0IGNoYXIqDQo+IG1zZyAsIHl5c2Nhbl90IHl5c2Nhbm5lciApOw0KPiAgCXl5Zy0+eXlf
aG9sZF9jaGFyID0gKnl5X2NwOyBcDQo+ICAJKnl5X2NwID0gJ1wwJzsgXA0KPiAgCXl5Zy0+eXlf
Y19idWZfcCA9IHl5X2NwOw0KPiAtI2RlZmluZSBZWV9OVU1fUlVMRVMgMzYNCj4gLSNkZWZpbmUg
WVlfRU5EX09GX0JVRkZFUiAzNw0KPiArI2RlZmluZSBZWV9OVU1fUlVMRVMgMzcNCj4gKyNkZWZp
bmUgWVlfRU5EX09GX0JVRkZFUiAzOA0KPiAgLyogVGhpcyBzdHJ1Y3QgaXMgbm90IHVzZWQgaW4g
dGhpcyBzY2FubmVyLA0KPiAgICAgYnV0IGl0cyBwcmVzZW5jZSBpcyBuZWNlc3NhcnkuICovDQo+
ICBzdHJ1Y3QgeXlfdHJhbnNfaW5mbw0KPiBAQCAtNTU4LDc0ICs1NTgsNzUgQEAgc3RydWN0IHl5
X3RyYW5zX2luZm8NCj4gIAlmbGV4X2ludDMyX3QgeXlfdmVyaWZ5Ow0KPiAgCWZsZXhfaW50MzJf
dCB5eV9ueHQ7DQo+ICAJfTsNCj4gLXN0YXRpYyBjb25zdCBmbGV4X2ludDE2X3QgeXlfYWNjbGlz
dFs1NzVdID0NCj4gK3N0YXRpYyBjb25zdCBmbGV4X2ludDE2X3QgeXlfYWNjbGlzdFs1ODNdID0N
Cj4gICAgICB7ICAgMCwNCj4gLSAgICAgICAzNSwgICAzNSwgICAzNywgICAzMywgICAzNCwgICAz
NiwgODE5MywgICAzMywgICAzNCwgICAzNiwNCj4gLSAgICAxNjM4NSwgODE5MywgICAzMywgICAz
NiwxNjM4NSwgICAzMywgICAzNCwgICAzNiwgICAzNCwgICAzNiwNCj4gLSAgICAgICAzMywgICAz
NCwgICAzNiwgICAzMywgICAzNCwgICAzNiwgICAzMywgICAzNCwgICAzNiwgICAzMywNCj4gLSAg
ICAgICAzNCwgICAzNiwgICAzMywgICAzNCwgICAzNiwgICAzMywgICAzNCwgICAzNiwgICAzMywg
ICAzNCwNCj4gLSAgICAgICAzNiwgICAzMywgICAzNCwgICAzNiwgICAzMywgICAzNCwgICAzNiwg
ICAzMywgICAzNCwgICAzNiwNCj4gLSAgICAgICAzMywgICAzNCwgICAzNiwgICAzMywgICAzNCwg
ICAzNiwgICAzMywgICAzNCwgICAzNiwgICAzMywNCj4gLSAgICAgICAzNCwgICAzNiwgICAzMywg
ICAzNCwgICAzNiwgICAzMywgICAzNCwgICAzNiwgICAzNSwgICAzNiwNCj4gLSAgICAgICAzNiwg
ICAzMywgICAzMywgODE5MywgICAzMywgODE5MywgICAzMywxNjM4NSwgODE5MywgICAzMywNCj4g
LSAgICAgODE5MywgICAzMywgICAzMywgODIyNCwgICAzMywxNjQxNiwgICAzMywgICAzMywgICAz
MywgICAzMywNCj4gLSAgICAgICAzMywgICAzMywgICAzMywgICAzMywgICAzMywgICAzMywgICAz
MywgICAzMywgICAzMywgICAzMywNCj4gLQ0KPiAtICAgICAgIDMzLCAgIDMzLCAgIDMzLCAgIDMz
LCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDM1LA0KPiAtICAgICA4MTkzLCAgIDMz
LCA4MTkzLCAgIDMzLCA4MTkzLCA4MjI0LCAgIDMzLCA4MjI0LCAgIDMzLCA4MjI0LA0KPiAtICAg
ICAgIDIzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAg
IDMzLA0KPiAtICAgICAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAg
IDMzLCAgIDMzLCAgIDMzLA0KPiAtICAgICAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCA4
MjI0LCAgIDMzLCA4MjI0LCAgIDMzLCA4MjI0LA0KPiAtICAgICAgIDIzLCAgIDMzLCAgIDMzLCAg
IDI4LCA4MjI0LCAgIDMzLDE2NDE2LCAgIDMzLCAgIDMzLCAgIDE1LA0KPiAtICAgICAgIDMzLCAg
IDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCA4MjE3LA0KPiAt
ICAgICA4MjI0LCAgIDMzLDE2NDA5LDE2NDE2LCAgIDMzLCAgIDMzLCAgIDMxLCA4MjI0LCAgIDMz
LDE2NDE2LA0KPiAtICAgICAgIDMzLCA4MjE2LCA4MjI0LCAgIDMzLDE2NDA4LDE2NDE2LCAgIDMz
LCAgIDMzLCA4MjE5LCA4MjI0LA0KPiAtICAgICAgIDMzLDE2NDExLDE2NDE2LCAgIDMzLCAgIDMz
LCAgIDMzLCAgIDMzLCAgIDMzLCAgIDI4LCA4MjI0LA0KPiAtDQo+IC0gICAgICAgMzMsICAgMjgs
IDgyMjQsICAgMzMsICAgMjgsICAgMzMsICAgMjgsIDgyMjQsICAgMzMsICAgIDMsDQo+IC0gICAg
ICAgMzMsICAgMTUsICAgMzMsICAgMzMsICAgMzMsICAgMzMsICAgMzMsICAgMzAsIDgyMjQsICAg
MzMsDQo+IC0gICAgMTY0MTYsICAgMzMsICAgMzMsICAgMzMsIDgyMTcsIDgyMjQsICAgMzMsIDgy
MTcsIDgyMjQsICAgMzMsDQo+IC0gICAgIDgyMTcsICAgMzMsIDgyMTcsIDgyMjQsICAgMzMsICAg
MzMsICAgMzEsIDgyMjQsICAgMzMsICAgMzEsDQo+IC0gICAgIDgyMjQsICAgMzMsICAgMzEsICAg
MzMsICAgMzEsIDgyMjQsIDgyMTYsIDgyMjQsICAgMzMsIDgyMTYsDQo+IC0gICAgIDgyMjQsICAg
MzMsIDgyMTYsICAgMzMsIDgyMTYsIDgyMjQsICAgMzMsIDgyMTksIDgyMjQsICAgMzMsDQo+IC0g
ICAgIDgyMTksIDgyMjQsICAgMzMsIDgyMTksICAgMzMsIDgyMTksIDgyMjQsICAgMzMsICAgMzMs
ICAgMTAsDQo+IC0gICAgICAgMzMsICAgMzMsICAgMjgsIDgyMjQsICAgMzMsICAgMjgsIDgyMjQs
ICAgMzMsICAgMjgsIDgyMjQsDQo+IC0gICAgICAgMjgsICAgMzMsICAgMjgsICAgMzMsICAgIDMs
ICAgMzMsICAgMzMsICAgMzMsICAgMzMsICAgMzMsDQo+IC0gICAgICAgMzMsICAgMzMsICAgMzAs
IDgyMjQsICAgMzMsICAgMzAsIDgyMjQsICAgMzMsICAgMzAsICAgMzMsDQo+IC0NCj4gLSAgICAg
ICAzMCwgODIyNCwgICAzMywgICAzMywgICAyOSwgODIyNCwgICAzMywxNjQxNiwgODIxNywgODIy
NCwNCj4gLSAgICAgICAzMywgODIxNywgODIyNCwgICAzMywgODIxNywgODIyNCwgODIxNywgICAz
MywgODIxNywgICAzMywNCj4gLSAgICAgICAzMywgICAzMSwgODIyNCwgICAzMywgICAzMSwgODIy
NCwgICAzMywgICAzMSwgODIyNCwgICAzMSwNCj4gLSAgICAgICAzMywgICAzMSwgODIxNiwgODIy
NCwgICAzMywgODIxNiwgODIyNCwgICAzMywgODIxNiwgODIyNCwNCj4gLSAgICAgODIxNiwgICAz
MywgODIxNiwgICAzMywgODIxOSwgODIyNCwgICAzMywgODIxOSwgODIyNCwgICAzMywNCj4gLSAg
ICAgODIxOSwgODIyNCwgODIxOSwgICAzMywgODIxOSwgICAzMywgICAzMywgICAxMCwgICAyMywg
ICAxMCwNCj4gLSAgICAgICAgNywgICAzMywgICAzMywgICAzMywgICAzMywgICAzMywgICAzMywg
ICAzMywgICAxMywgICAzMywNCj4gLSAgICAgICAzMCwgODIyNCwgICAzMywgICAzMCwgODIyNCwg
ICAzMywgICAzMCwgODIyNCwgICAzMCwgICAzMywNCj4gLSAgICAgICAzMCwgICAgMiwgICAzMywg
ICAyOSwgODIyNCwgICAzMywgICAyOSwgODIyNCwgICAzMywgICAyOSwNCj4gLSAgICAgICAzMywg
ICAyOSwgODIyNCwgICAxNiwgICAzMywgICAzMywgICAxMSwgICAzMywgICAyMiwgICAxMCwNCj4g
LQ0KPiAtICAgICAgIDEwLCAgIDIzLCAgICA3LCAgIDIzLCAgICA3LCAgIDMzLCAgICA4LCAgIDMz
LCAgIDMzLCAgIDMzLA0KPiAtICAgICAgIDMzLCAgICA2LCAgIDMzLCAgIDEzLCAgIDMzLCAgICAy
LCAgIDIzLCAgICAyLCAgIDMzLCAgIDI5LA0KPiAtICAgICA4MjI0LCAgIDMzLCAgIDI5LCA4MjI0
LCAgIDMzLCAgIDI5LCA4MjI0LCAgIDI5LCAgIDMzLCAgIDI5LA0KPiAtICAgICAgIDE2LCAgIDMz
LCAgIDMzLCAgIDExLCAgIDIzLCAgIDExLCAgIDI2LCA4MjI0LCAgIDMzLDE2NDE2LA0KPiAtICAg
ICAgIDIyLCAgIDIzLCAgIDIyLCAgICA3LCAgICA3LCAgIDIzLCAgIDMzLCAgICA4LCAgIDIzLCAg
ICA4LA0KPiAtICAgICAgIDMzLCAgIDMzLCAgIDMzLCAgIDMzLCAgICA2LCAgIDIzLCAgICA2LCAg
ICA2LCAgIDIzLCAgICA2LA0KPiAtICAgICAgIDIzLCAgIDMzLCAgICAyLCAgICAyLCAgIDIzLCAg
IDMzLCAgIDMzLCAgIDExLCAgIDExLCAgIDIzLA0KPiAtICAgICAgIDI2LCA4MjI0LCAgIDMzLCAg
IDI2LCA4MjI0LCAgIDMzLCAgIDI2LCAgIDMzLCAgIDI2LCA4MjI0LA0KPiAtICAgICAgIDIyLCAg
IDIzLCAgIDMzLCAgICA4LCAgICA4LCAgIDIzLCAgIDMzLCAgIDMzLCAgIDE3LCAgIDE4LA0KPiAt
ICAgICAgICA2LCAgICA2LCAgIDIzLCAgICA2LCAgICA2LCAgIDMzLCAgIDMzLCAgIDE0LCAgIDMz
LCAgIDI2LA0KPiAtDQo+IC0gICAgIDgyMjQsICAgMzMsICAgMjYsIDgyMjQsICAgMzMsICAgMjYs
IDgyMjQsICAgMjYsICAgMzMsICAgMjYsDQo+IC0gICAgICAgMzMsICAgMzMsICAgMzMsICAgMTcs
ICAgMjMsICAgMTcsICAgMTgsICAgMjMsICAgMTgsICAgIDYsDQo+IC0gICAgICAgIDYsICAgMzMs
ICAgMzMsICAgMTQsICAgMzMsICAgMjAsICAgIDksICAgMTksICAgMTcsICAgMTcsDQo+IC0gICAg
ICAgMjMsICAgMTgsICAgMTgsICAgMjMsICAgIDYsICAgIDUsICAgIDYsICAgMzMsICAgMjEsICAg
MjAsDQo+IC0gICAgICAgMjMsICAgMjAsICAgIDksICAgMjMsICAgIDksICAgMTksICAgMjMsICAg
MTksICAgIDQsICAgIDYsDQo+IC0gICAgICAgIDUsICAgIDYsICAgMzMsICAgMjEsICAgMjMsICAg
MjEsICAgMjAsICAgMjAsICAgMjMsICAgIDksDQo+IC0gICAgICAgIDksICAgMjMsICAgMTksICAg
MTksICAgMjMsICAgIDQsICAgIDYsICAgMTIsICAgMzMsICAgMjEsDQo+IC0gICAgICAgMjEsICAg
MjMsICAgMTIsICAgMzMNCj4gKyAgICAgICAzNiwgICAzNiwgICAzOCwgICAzNCwgICAzNSwgICAz
NywgODE5MywgICAzNCwgICAzNSwgICAzNywNCj4gKyAgICAxNjM4NSwgODE5MywgICAzNCwgICAz
NywxNjM4NSwgICAzNCwgICAzNSwgICAzNywgICAzNSwgICAzNywNCj4gKyAgICAgICAzNCwgICAz
NSwgICAzNywgICAzNCwgICAzNSwgICAzNywgICAzNCwgICAzNSwgICAzNywgICAzNCwNCj4gKyAg
ICAgICAzNSwgICAzNywgICAzNCwgICAzNSwgICAzNywgICAzNCwgICAzNSwgICAzNywgICAzNCwg
ICAzNSwNCj4gKyAgICAgICAzNywgICAzNCwgICAzNSwgICAzNywgICAzNCwgICAzNSwgICAzNywg
ICAzNCwgICAzNSwgICAzNywNCj4gKyAgICAgICAzNCwgICAzNSwgICAzNywgICAzNCwgICAzNSwg
ICAzNywgICAzNCwgICAzNSwgICAzNywgICAzNCwNCj4gKyAgICAgICAzNSwgICAzNywgICAzNCwg
ICAzNSwgICAzNywgICAzNCwgICAzNSwgICAzNywgICAzNiwgICAzNywNCj4gKyAgICAgICAzNywg
ICAzNCwgICAzNCwgODE5MywgICAzNCwgODE5MywgICAzNCwxNjM4NSwgODE5MywgICAzNCwNCj4g
KyAgICAgODE5MywgICAzNCwgICAzNCwgODIyNSwgICAzNCwxNjQxNywgICAzNCwgICAzNCwgICAz
NCwgICAzNCwNCj4gKyAgICAgICAzNCwgICAzNCwgICAzNCwgICAzNCwgICAzNCwgICAzNCwgICAz
NCwgICAzNCwgICAzNCwgICAzNCwNCj4gKw0KPiArICAgICAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0
LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LA0KPiArICAgICAgIDM2LCA4MTkz
LCAgIDM0LCA4MTkzLCAgIDM0LCA4MTkzLCA4MjI1LCAgIDM0LCA4MjI1LCAgIDM0LA0KPiArICAg
ICA4MjI1LCAgIDI0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAg
IDM0LA0KPiArICAgICAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAg
IDM0LCAgIDM0LCAgIDM0LA0KPiArICAgICAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAg
IDM0LCAgIDM0LCA4MjI1LCAgIDM0LCA4MjI1LA0KPiArICAgICAgIDM0LCA4MjI1LCAgIDI0LCAg
IDM0LCAgIDM0LCAgIDI5LCA4MjI1LCAgIDM0LDE2NDE3LCAgIDM0LA0KPiArICAgICAgIDM0LCAg
IDE2LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LA0KPiAr
ICAgICAgIDM0LCA4MjE4LCA4MjI1LCAgIDM0LDE2NDEwLDE2NDE3LCAgIDM0LCAgIDM0LCAgIDMy
LCA4MjI1LA0KPiArICAgICAgIDM0LDE2NDE3LCAgIDM0LCA4MjE3LCA4MjI1LCAgIDM0LDE2NDA5
LDE2NDE3LCAgIDM0LCAgIDM0LA0KPiArICAgICA4MjIwLCA4MjI1LCAgIDM0LDE2NDEyLDE2NDE3
LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LCAgIDM0LA0KPiArDQo+ICsgICAgICAgMzQsICAgMjks
IDgyMjUsICAgMzQsICAgMjksIDgyMjUsICAgMzQsICAgMjksICAgMzQsICAgMjksDQo+ICsgICAg
IDgyMjUsICAgMzQsICAgIDMsICAgMzQsICAgMTYsICAgMzQsICAgMzQsICAgMzQsICAgMzQsICAg
MzQsDQo+ICsgICAgICAgMzEsIDgyMjUsICAgMzQsMTY0MTcsICAgMzQsICAgMzQsICAgMzQsIDgy
MTgsIDgyMjUsICAgMzQsDQo+ICsgICAgIDgyMTgsIDgyMjUsICAgMzQsIDgyMTgsICAgMzQsIDgy
MTgsIDgyMjUsICAgMzQsICAgMzQsICAgMzIsDQo+ICsgICAgIDgyMjUsICAgMzQsICAgMzIsIDgy
MjUsICAgMzQsICAgMzIsICAgMzQsICAgMzIsIDgyMjUsIDgyMTcsDQo+ICsgICAgIDgyMjUsICAg
MzQsIDgyMTcsIDgyMjUsICAgMzQsIDgyMTcsICAgMzQsIDgyMTcsIDgyMjUsICAgMzQsDQo+ICsg
ICAgIDgyMjAsIDgyMjUsICAgMzQsIDgyMjAsIDgyMjUsICAgMzQsIDgyMjAsICAgMzQsIDgyMjAs
IDgyMjUsDQo+ICsgICAgICAgMzQsICAgMzQsICAgMTAsICAgMzQsICAgMzQsICAgMzQsICAgMjks
IDgyMjUsICAgMzQsICAgMjksDQo+ICsgICAgIDgyMjUsICAgMzQsICAgMjksIDgyMjUsICAgMjks
ICAgMzQsICAgMjksICAgMzQsICAgIDMsICAgMzQsDQo+ICsgICAgICAgMzQsICAgMzQsICAgMzQs
ICAgMzQsICAgMzQsICAgMzQsICAgMzEsIDgyMjUsICAgMzQsICAgMzEsDQo+ICsNCj4gKyAgICAg
ODIyNSwgICAzNCwgICAzMSwgICAzNCwgICAzMSwgODIyNSwgICAzNCwgICAzNCwgICAzMCwgODIy
NSwNCj4gKyAgICAgICAzNCwxNjQxNywgODIxOCwgODIyNSwgICAzNCwgODIxOCwgODIyNSwgICAz
NCwgODIxOCwgODIyNSwNCj4gKyAgICAgODIxOCwgICAzNCwgODIxOCwgICAzNCwgICAzNCwgICAz
MiwgODIyNSwgICAzNCwgICAzMiwgODIyNSwNCj4gKyAgICAgICAzNCwgICAzMiwgODIyNSwgICAz
MiwgICAzNCwgICAzMiwgODIxNywgODIyNSwgICAzNCwgODIxNywNCj4gKyAgICAgODIyNSwgICAz
NCwgODIxNywgODIyNSwgODIxNywgICAzNCwgODIxNywgICAzNCwgODIyMCwgODIyNSwNCj4gKyAg
ICAgICAzNCwgODIyMCwgODIyNSwgICAzNCwgODIyMCwgODIyNSwgODIyMCwgICAzNCwgODIyMCwg
ICAzNCwNCj4gKyAgICAgICAzNCwgICAxMCwgICAyNCwgICAxMCwgICAxNSwgICAzNCwgICAgNywg
ICAzNCwgICAzNCwgICAzNCwNCj4gKyAgICAgICAzNCwgICAzNCwgICAzNCwgICAzNCwgICAxMywg
ICAzNCwgICAzMSwgODIyNSwgICAzNCwgICAzMSwNCj4gKyAgICAgODIyNSwgICAzNCwgICAzMSwg
ODIyNSwgICAzMSwgICAzNCwgICAzMSwgICAgMiwgICAzNCwgICAzMCwNCj4gKyAgICAgODIyNSwg
ICAzNCwgICAzMCwgODIyNSwgICAzNCwgICAzMCwgICAzNCwgICAzMCwgODIyNSwgICAxNywNCj4g
Kw0KPiArICAgICAgIDM0LCAgIDM0LCAgIDExLCAgIDM0LCAgIDIzLCAgIDEwLCAgIDEwLCAgIDI0
LCAgIDE1LCAgIDM0LA0KPiArICAgICAgICA3LCAgIDI0LCAgICA3LCAgIDM0LCAgICA4LCAgIDM0
LCAgIDM0LCAgIDM0LCAgIDM0LCAgICA2LA0KPiArICAgICAgIDM0LCAgIDEzLCAgIDM0LCAgICAy
LCAgIDI0LCAgICAyLCAgIDM0LCAgIDMwLCA4MjI1LCAgIDM0LA0KPiArICAgICAgIDMwLCA4MjI1
LCAgIDM0LCAgIDMwLCA4MjI1LCAgIDMwLCAgIDM0LCAgIDMwLCAgIDE3LCAgIDM0LA0KPiArICAg
ICAgIDM0LCAgIDExLCAgIDI0LCAgIDExLCAgIDI3LCA4MjI1LCAgIDM0LDE2NDE3LCAgIDIzLCAg
IDI0LA0KPiArICAgICAgIDIzLCAgICA3LCAgICA3LCAgIDI0LCAgIDM0LCAgICA4LCAgIDI0LCAg
ICA4LCAgIDM0LCAgIDM0LA0KPiArICAgICAgIDM0LCAgIDM0LCAgICA2LCAgIDI0LCAgICA2LCAg
ICA2LCAgIDI0LCAgICA2LCAgIDI0LCAgIDM0LA0KPiArICAgICAgICAyLCAgICAyLCAgIDI0LCAg
IDM0LCAgIDM0LCAgIDExLCAgIDExLCAgIDI0LCAgIDI3LCA4MjI1LA0KPiArICAgICAgIDM0LCAg
IDI3LCA4MjI1LCAgIDM0LCAgIDI3LCAgIDM0LCAgIDI3LCA4MjI1LCAgIDIzLCAgIDI0LA0KPiAr
ICAgICAgIDM0LCAgICA4LCAgICA4LCAgIDI0LCAgIDM0LCAgIDM0LCAgIDE4LCAgIDE5LCAgICA2
LCAgICA2LA0KPiArDQo+ICsgICAgICAgMjQsICAgIDYsICAgIDYsICAgMzQsICAgMzQsICAgMTQs
ICAgMzQsICAgMjcsIDgyMjUsICAgMzQsDQo+ICsgICAgICAgMjcsIDgyMjUsICAgMzQsICAgMjcs
IDgyMjUsICAgMjcsICAgMzQsICAgMjcsICAgMzQsICAgMzQsDQo+ICsgICAgICAgMzQsICAgMTgs
ICAgMjQsICAgMTgsICAgMTksICAgMjQsICAgMTksICAgIDYsICAgIDYsICAgMzQsDQo+ICsgICAg
ICAgMzQsICAgMTQsICAgMzQsICAgMjEsICAgIDksICAgMjAsICAgMTgsICAgMTgsICAgMjQsICAg
MTksDQo+ICsgICAgICAgMTksICAgMjQsICAgIDYsICAgIDUsICAgIDYsICAgMzQsICAgMjIsICAg
MjEsICAgMjQsICAgMjEsDQo+ICsgICAgICAgIDksICAgMjQsICAgIDksICAgMjAsICAgMjQsICAg
MjAsICAgIDQsICAgIDYsICAgIDUsICAgIDYsDQo+ICsgICAgICAgMzQsICAgMjIsICAgMjQsICAg
MjIsICAgMjEsICAgMjEsICAgMjQsICAgIDksICAgIDksICAgMjQsDQo+ICsgICAgICAgMjAsICAg
MjAsICAgMjQsICAgIDQsICAgIDYsICAgMTIsICAgMzQsICAgMjIsICAgMjIsICAgMjQsDQo+ICsg
ICAgICAgMTIsICAgMzQNCj4gICAgICB9IDsNCj4gDQo+IC1zdGF0aWMgY29uc3QgZmxleF9pbnQx
Nl90IHl5X2FjY2VwdFszNTZdID0NCj4gK3N0YXRpYyBjb25zdCBmbGV4X2ludDE2X3QgeXlfYWNj
ZXB0WzM2Ml0gPQ0KPiAgICAgIHsgICAwLA0KPiAgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAy
LCAgICAzLCAgICA0LCAgICA3LCAgIDEyLCAgIDE2LCAgIDE5LA0KPiAgICAgICAgIDIxLCAgIDI0
LCAgIDI3LCAgIDMwLCAgIDMzLCAgIDM2LCAgIDM5LCAgIDQyLCAgIDQ1LCAgIDQ4LA0KPiBAQCAt
NjMzLDM5ICs2MzQsNDAgQEAgc3RhdGljIGNvbnN0IGZsZXhfaW50MTZfdCB5eV9hY2NlcHRbMzU2
XSA9DQo+ICAgICAgICAgNzQsICAgNzYsICAgNzksICAgODEsICAgODIsICAgODMsICAgODQsICAg
ODcsICAgODcsICAgODgsDQo+ICAgICAgICAgODksICAgOTAsICAgOTEsICAgOTIsICAgOTMsICAg
OTQsICAgOTUsICAgOTYsICAgOTcsICAgOTgsDQo+ICAgICAgICAgOTksICAxMDAsICAxMDEsICAx
MDIsICAxMDMsICAxMDQsICAxMDUsICAxMDYsICAxMDcsICAxMDgsDQo+IC0gICAgICAxMDksICAx
MTAsICAxMTEsICAxMTMsICAxMTUsICAxMTYsICAxMTgsICAxMjAsICAxMjEsICAxMjIsDQo+ICsg
ICAgICAxMDksICAxMTAsICAxMTEsICAxMTIsICAxMTQsICAxMTYsICAxMTcsICAxMTksICAxMjEs
ICAxMjIsDQo+ICAgICAgICAxMjMsICAxMjQsICAxMjUsICAxMjYsICAxMjcsICAxMjgsICAxMjks
ICAxMzAsICAxMzEsICAxMzIsDQo+ICAgICAgICAxMzMsICAxMzQsICAxMzUsICAxMzYsICAxMzcs
ICAxMzgsICAxMzksICAxNDAsICAxNDEsICAxNDIsDQo+IC0gICAgICAxNDMsICAxNDQsICAxNDUs
ICAxNDYsICAxNDgsICAxNTAsICAxNTEsICAxNTIsICAxNTMsICAxNTQsDQo+IC0NCj4gLSAgICAg
IDE1OCwgIDE1OSwgIDE2MCwgIDE2MiwgIDE2MywgIDE2NCwgIDE2NSwgIDE2NiwgIDE2NywgIDE2
OCwNCj4gLSAgICAgIDE2OSwgIDE3MCwgIDE3NSwgIDE3NiwgIDE3NywgIDE4MSwgIDE4MiwgIDE4
NywgIDE4OCwgIDE4OSwNCj4gLSAgICAgIDE5NCwgIDE5NSwgIDE5NiwgIDE5NywgIDE5OCwgIDE5
OSwgIDIwMiwgIDIwNSwgIDIwNywgIDIwOSwNCj4gLSAgICAgIDIxMCwgIDIxMiwgIDIxNCwgIDIx
NSwgIDIxNiwgIDIxNywgIDIxOCwgIDIyMiwgIDIyMywgIDIyNCwNCj4gLSAgICAgIDIyNSwgIDIy
OCwgIDIzMSwgIDIzMywgIDIzNSwgIDIzNiwgIDIzNywgIDI0MCwgIDI0MywgIDI0NSwNCj4gLSAg
ICAgIDI0NywgIDI1MCwgIDI1MywgIDI1NSwgIDI1NywgIDI1OCwgIDI2MSwgIDI2NCwgIDI2Niwg
IDI2OCwNCj4gLSAgICAgIDI2OSwgIDI3MCwgIDI3MSwgIDI3MiwgIDI3MywgIDI3NiwgIDI3OSwg
IDI4MSwgIDI4MywgIDI4NCwNCj4gLSAgICAgIDI4NSwgIDI4NywgIDI4OCwgIDI4OSwgIDI5MCwg
IDI5MSwgIDI5MiwgIDI5MywgIDI5NiwgIDI5OSwNCj4gLSAgICAgIDMwMSwgIDMwMywgIDMwNCwg
IDMwNSwgIDMwOSwgIDMxMiwgIDMxNSwgIDMxNywgIDMxOSwgIDMyMCwNCj4gLSAgICAgIDMyMSwg
IDMyMiwgIDMyNSwgIDMyOCwgIDMzMCwgIDMzMiwgIDMzMywgIDMzNiwgIDMzOSwgIDM0MSwNCj4g
LQ0KPiAtICAgICAgMzQzLCAgMzQ0LCAgMzQ1LCAgMzQ4LCAgMzUxLCAgMzUzLCAgMzU1LCAgMzU2
LCAgMzU3LCAgMzU4LA0KPiAtICAgICAgMzYwLCAgMzYxLCAgMzYyLCAgMzYzLCAgMzY0LCAgMzY1
LCAgMzY2LCAgMzY3LCAgMzY4LCAgMzY5LA0KPiAtICAgICAgMzcxLCAgMzc0LCAgMzc3LCAgMzc5
LCAgMzgxLCAgMzgyLCAgMzgzLCAgMzg0LCAgMzg3LCAgMzkwLA0KPiAtICAgICAgMzkyLCAgMzk0
LCAgMzk2LCAgMzk3LCAgMzk4LCAgMzk5LCAgNDAwLCAgNDAxLCAgNDAzLCAgNDA1LA0KPiAtICAg
ICAgNDA2LCAgNDA3LCAgNDA4LCAgNDA5LCAgNDEwLCAgNDExLCAgNDEyLCAgNDEzLCAgNDE0LCAg
NDE2LA0KPiAtICAgICAgNDE4LCAgNDE5LCAgNDIwLCAgNDIzLCAgNDI2LCAgNDI4LCAgNDMwLCAg
NDMxLCAgNDMzLCAgNDM0LA0KPiAtICAgICAgNDM2LCAgNDM3LCAgNDQxLCAgNDQzLCAgNDQ0LCAg
NDQ1LCAgNDQ3LCAgNDQ4LCAgNDUwLCAgNDUxLA0KPiAtICAgICAgNDUyLCAgNDUzLCAgNDU0LCAg
NDU1LCAgNDU3LCAgNDU4LCAgNDYwLCAgNDYyLCAgNDYzLCAgNDY0LA0KPiAtICAgICAgNDY2LCAg
NDY3LCAgNDY4LCAgNDY5LCAgNDcxLCAgNDc0LCAgNDc3LCAgNDc5LCAgNDgxLCAgNDgzLA0KPiAt
ICAgICAgNDg0LCAgNDg1LCAgNDg3LCAgNDg4LCAgNDg5LCAgNDkwLCAgNDkxLCAgNDkyLCAgNDk0
LCAgNDk1LA0KPiAtDQo+IC0gICAgICA0OTYsICA0OTcsICA0OTgsICA1MDAsICA1MDMsICA1MDYs
ICA1MDgsICA1MTAsICA1MTEsICA1MTIsDQo+IC0gICAgICA1MTMsICA1MTQsICA1MTYsICA1MTcs
ICA1MTksICA1MjAsICA1MjEsICA1MjIsICA1MjMsICA1MjQsDQo+IC0gICAgICA1MjYsICA1Mjcs
ICA1MjgsICA1MjksICA1MzAsICA1MzIsICA1MzMsICA1MzUsICA1MzYsICA1MzgsDQo+IC0gICAg
ICA1MzksICA1NDAsICA1NDIsICA1NDMsICA1NDUsICA1NDYsICA1NDgsICA1NDksICA1NTEsICA1
NTMsDQo+IC0gICAgICA1NTQsICA1NTYsICA1NTcsICA1NTgsICA1NjAsICA1NjEsICA1NjMsICA1
NjQsICA1NjYsICA1NjgsDQo+IC0gICAgICA1NzAsICA1NzEsICA1NzMsICA1NzUsICA1NzUNCj4g
KyAgICAgIDE0MywgIDE0NCwgIDE0NSwgIDE0NiwgIDE0NywgIDE0OCwgIDE1MCwgIDE1MiwgIDE1
MywgIDE1NCwNCj4gKw0KPiArICAgICAgMTU1LCAgMTU2LCAgMTYwLCAgMTYxLCAgMTYyLCAgMTY0
LCAgMTY1LCAgMTY2LCAgMTY3LCAgMTY4LA0KPiArICAgICAgMTY5LCAgMTcwLCAgMTcxLCAgMTcy
LCAgMTc3LCAgMTc4LCAgMTc5LCAgMTgzLCAgMTg0LCAgMTg5LA0KPiArICAgICAgMTkwLCAgMTkx
LCAgMTk2LCAgMTk3LCAgMTk4LCAgMTk5LCAgMjAwLCAgMjAxLCAgMjAyLCAgMjA1LA0KPiArICAg
ICAgMjA4LCAgMjEwLCAgMjEyLCAgMjEzLCAgMjE1LCAgMjE3LCAgMjE4LCAgMjE5LCAgMjIwLCAg
MjIxLA0KPiArICAgICAgMjI1LCAgMjI2LCAgMjI3LCAgMjI4LCAgMjMxLCAgMjM0LCAgMjM2LCAg
MjM4LCAgMjM5LCAgMjQwLA0KPiArICAgICAgMjQzLCAgMjQ2LCAgMjQ4LCAgMjUwLCAgMjUzLCAg
MjU2LCAgMjU4LCAgMjYwLCAgMjYxLCAgMjY0LA0KPiArICAgICAgMjY3LCAgMjY5LCAgMjcxLCAg
MjcyLCAgMjczLCAgMjc0LCAgMjc1LCAgMjc2LCAgMjc3LCAgMjgwLA0KPiArICAgICAgMjgzLCAg
Mjg1LCAgMjg3LCAgMjg4LCAgMjg5LCAgMjkxLCAgMjkyLCAgMjkzLCAgMjk0LCAgMjk1LA0KPiAr
ICAgICAgMjk2LCAgMjk3LCAgMzAwLCAgMzAzLCAgMzA1LCAgMzA3LCAgMzA4LCAgMzA5LCAgMzEz
LCAgMzE2LA0KPiArICAgICAgMzE5LCAgMzIxLCAgMzIzLCAgMzI0LCAgMzI1LCAgMzI2LCAgMzI5
LCAgMzMyLCAgMzM0LCAgMzM2LA0KPiArDQo+ICsgICAgICAzMzcsICAzNDAsICAzNDMsICAzNDUs
ICAzNDcsICAzNDgsICAzNDksICAzNTIsICAzNTUsICAzNTcsDQo+ICsgICAgICAzNTksICAzNjAs
ICAzNjEsICAzNjIsICAzNjQsICAzNjUsICAzNjcsICAzNjgsICAzNjksICAzNzAsDQo+ICsgICAg
ICAzNzEsICAzNzIsICAzNzMsICAzNzQsICAzNzUsICAzNzcsICAzODAsICAzODMsICAzODUsICAz
ODcsDQo+ICsgICAgICAzODgsICAzODksICAzOTAsICAzOTMsICAzOTYsICAzOTgsICA0MDAsICA0
MDIsICA0MDMsICA0MDQsDQo+ICsgICAgICA0MDUsICA0MDYsICA0MDcsICA0MDksICA0MTEsICA0
MTMsICA0MTQsICA0MTUsICA0MTYsICA0MTcsDQo+ICsgICAgICA0MTgsICA0MTksICA0MjAsICA0
MjEsICA0MjIsICA0MjQsICA0MjYsICA0MjcsICA0MjgsICA0MzEsDQo+ICsgICAgICA0MzQsICA0
MzYsICA0MzgsICA0MzksICA0NDEsICA0NDIsICA0NDQsICA0NDUsICA0NDksICA0NTEsDQo+ICsg
ICAgICA0NTIsICA0NTMsICA0NTUsICA0NTYsICA0NTgsICA0NTksICA0NjAsICA0NjEsICA0NjIs
ICA0NjMsDQo+ICsgICAgICA0NjUsICA0NjYsICA0NjgsICA0NzAsICA0NzEsICA0NzIsICA0NzQs
ICA0NzUsICA0NzYsICA0NzcsDQo+ICsgICAgICA0NzksICA0ODIsICA0ODUsICA0ODcsICA0ODks
ICA0OTEsICA0OTIsICA0OTMsICA0OTUsICA0OTYsDQo+ICsNCj4gKyAgICAgIDQ5NywgIDQ5OCwg
IDQ5OSwgIDUwMCwgIDUwMiwgIDUwMywgIDUwNCwgIDUwNSwgIDUwNiwgIDUwOCwNCj4gKyAgICAg
IDUxMSwgIDUxNCwgIDUxNiwgIDUxOCwgIDUxOSwgIDUyMCwgIDUyMSwgIDUyMiwgIDUyNCwgIDUy
NSwNCj4gKyAgICAgIDUyNywgIDUyOCwgIDUyOSwgIDUzMCwgIDUzMSwgIDUzMiwgIDUzNCwgIDUz
NSwgIDUzNiwgIDUzNywNCj4gKyAgICAgIDUzOCwgIDU0MCwgIDU0MSwgIDU0MywgIDU0NCwgIDU0
NiwgIDU0NywgIDU0OCwgIDU1MCwgIDU1MSwNCj4gKyAgICAgIDU1MywgIDU1NCwgIDU1NiwgIDU1
NywgIDU1OSwgIDU2MSwgIDU2MiwgIDU2NCwgIDU2NSwgIDU2NiwNCj4gKyAgICAgIDU2OCwgIDU2
OSwgIDU3MSwgIDU3MiwgIDU3NCwgIDU3NiwgIDU3OCwgIDU3OSwgIDU4MSwgIDU4MywNCj4gKyAg
ICAgIDU4Mw0KPiAgICAgIH0gOw0KPiANCj4gIHN0YXRpYyBjb25zdCBZWV9DSEFSIHl5X2VjWzI1
Nl0gPQ0KPiBAQCAtNzA4LDIxNiArNzEwLDIxNyBAQCBzdGF0aWMgY29uc3QgWVlfQ0hBUiB5eV9t
ZXRhWzM1XSA9DQo+ICAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDENCj4gICAgICB9IDsNCj4g
DQo+IC1zdGF0aWMgY29uc3QgZmxleF9pbnQxNl90IHl5X2Jhc2VbNDI0XSA9DQo+ICtzdGF0aWMg
Y29uc3QgZmxleF9pbnQxNl90IHl5X2Jhc2VbNDMwXSA9DQo+ICAgICAgeyAgIDAsDQo+IC0gICAg
ICAgIDAsICAgIDAsICA5MDEsICA5MDAsICA5MDIsICA4OTcsICAgMzMsICAgMzYsICA5MDUsICA5
MDUsDQo+IC0gICAgICAgNDUsICAgNjMsICAgMzEsICAgNDIsICAgNTEsICAgNTIsICA4OTAsICAg
MzMsICAgNjUsICAgNjcsDQo+IC0gICAgICAgNjksICAgNzAsICA4ODksICAgNzEsICA4ODgsICAg
NzUsICAgIDAsICA5MDUsICA4OTMsICA5MDUsDQo+IC0gICAgICAgOTEsICAgOTQsICAgIDAsICAg
IDAsICAxMDMsICA4ODYsICAxMTIsICAgIDAsICAgODksICAgOTgsDQo+IC0gICAgICAxMTMsICAg
OTIsICAxMTQsICAgOTksICAxMDAsICAgNDgsICAxMjEsICAxMTYsICAxMTksICAgNzQsDQo+IC0g
ICAgICAxMjQsICAxMjksICAxMjMsICAxMzUsICAxMzIsICAxMzMsICAxMzcsICAxMzQsICAxMzgs
ICAxMzksDQo+IC0gICAgICAxNDEsICAgIDAsICAxNTUsICAgIDAsICAgIDAsICAxNjQsICAgIDAs
ICAgIDAsICA4NDksICAxNDIsDQo+IC0gICAgICAxNTIsICAxNjQsICAxNDAsICAxNjEsICAxNjUs
ICAxNjYsICAxNjcsICAxNjgsICAxNjksICAxNzMsDQo+IC0gICAgICAxNzQsICAxNzgsICAxNzYs
ICAxODAsICAxODQsICAyMDgsICAxODksICAxODMsICAxOTIsICAxOTUsDQo+IC0gICAgICAyMTUs
ICAxOTEsICAxOTMsICAyMjMsICAgIDAsICAgIDAsICA5MDUsICAyMDgsICAyMDQsICAyMzYsDQo+
IC0NCj4gLSAgICAgIDIxOSwgIDIwOSwgIDIzOCwgIDE5NiwgIDIzNywgIDgzMSwgIDI0MiwgIDgx
NSwgIDI0MSwgIDIyNCwNCj4gLSAgICAgIDI0MywgIDI2MSwgIDI0NCwgIDI1OSwgIDI3NywgIDI2
NiwgIDI4NiwgIDI1MCwgIDI4OCwgIDI5OCwNCj4gLSAgICAgIDI0OSwgIDI4MywgIDI3NCwgIDI4
MiwgIDI5NCwgIDMwOCwgICAgMCwgIDMxMCwgICAgMCwgIDI5NSwNCj4gLSAgICAgIDMwNSwgIDkw
NSwgIDMwOCwgIDMwNiwgIDMxMywgIDMxNCwgIDM0MiwgIDMxOSwgIDMxNiwgIDMyMCwNCj4gLSAg
ICAgIDMzMSwgICAgMCwgIDM0OSwgICAgMCwgIDM0MiwgIDM0NCwgIDM1NiwgICAgMCwgIDM1OCwg
ICAgMCwNCj4gLSAgICAgIDM2NSwgICAgMCwgIDM2NywgICAgMCwgIDM1NCwgIDM3NSwgICAgMCwg
IDM3NywgICAgMCwgIDM2MywNCj4gLSAgICAgIDM1NiwgIDgwOSwgIDMyNywgIDMyMiwgIDM4NCwg
ICAgMCwgICAgMCwgICAgMCwgICAgMCwgIDM3OSwNCj4gLSAgICAgIDkwNSwgIDM4MiwgIDM4NCwg
IDM4NiwgIDM5MCwgIDM3MiwgIDM5MiwgIDQwMywgICAgMCwgIDQxMCwNCj4gLSAgICAgICAgMCwg
IDQwNywgIDQxMywgIDQyMywgIDQyNiwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgIDQwOSwNCj4g
LSAgICAgIDQyNCwgIDQzNSwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgIDQzNywgICAgMCwgICAg
MCwgICAgMCwNCj4gLQ0KPiAtICAgICAgICAwLCAgNDMzLCAgNDQ0LCAgICAwLCAgICAwLCAgICAw
LCAgICAwLCAgMzkxLCAgNDQwLCAgNzgxLA0KPiAtICAgICAgOTA1LCAgNzY5LCAgNDM5LCAgNDQ1
LCAgNDQ0LCAgNDQ3LCAgNDQ5LCAgNDU0LCAgNDUzLCAgMzk5LA0KPiAtICAgICAgNDY0LCAgICAw
LCAgICAwLCAgICAwLCAgICAwLCAgNzU3LCAgNDY1LCAgNDc2LCAgICAwLCAgNDc4LA0KPiAtICAg
ICAgICAwLCAgNDc5LCAgNDc2LCAgNzUzLCAgNDYyLCAgNDkwLCAgNzQ5LCAgOTA1LCAgNzQ1LCAg
OTA1LA0KPiAtICAgICAgNDgzLCAgNzM3LCAgNDI0LCAgNDg1LCAgNDg3LCAgNDkwLCAgNTAwLCAg
NDkzLCAgOTA1LCAgNzI5LA0KPiAtICAgICAgOTA1LCAgNTAyLCAgNTE4LCAgICAwLCAgICAwLCAg
ICAwLCAgICAwLCAgOTA1LCAgNDk4LCAgNzIxLA0KPiAtICAgICAgOTA1LCAgNTI3LCAgNzEzLCAg
ICAwLCAgNzA1LCAgOTA1LCAgNDk1LCAgNjk3LCAgOTA1LCAgMzY1LA0KPiAtICAgICAgNTIxLCAg
NTI4LCAgNTMwLCAgNjg1LCAgOTA1LCAgNTM0LCAgNTQwLCAgNTQwLCAgNjU3LCAgOTA1LA0KPiAt
ICAgICAgNTM3LCAgNTQyLCAgNjUwLCAgOTA1LCAgNTUzLCAgICAwLCAgNTU3LCAgICAwLCAgICAw
LCAgNTUxLA0KPiAtICAgICAgNjQxLCAgOTA1LCAgNTU4LCAgNTU3LCAgNjMzLCAgNjE0LCAgNjEz
LCAgOTA1LCAgNTQ3LCAgNTU1LA0KPiAtDQo+IC0gICAgICA1NjMsICA1NjUsICA1NjksICA1ODQs
ICAgIDAsICAgIDAsICAgIDAsICAgIDAsICA1ODMsICA1NzAsDQo+IC0gICAgICA1ODUsICA2MTIs
ICA5MDUsICA2MDEsICA5MDUsICA1MjIsICA1ODAsICA1ODksICA1OTQsICA5MDUsDQo+IC0gICAg
ICA2MDAsICA1ODUsICA1NjMsICA1MjAsICA5MDUsICA1MTQsICA5MDUsICA1ODYsICA0ODYsICA1
OTcsDQo+IC0gICAgICA0ODAsICA0NDEsICA5MDUsICA0MTYsICA5MDUsICAzNDUsICA5MDUsICAz
MzQsICA5MDUsICA2MDEsDQo+IC0gICAgICAyNTQsICA5MDUsICAyNDIsICA5MDUsICAyMDAsICA5
MDUsICAxNTEsICA5MDUsICA5MDUsICA2MDcsDQo+IC0gICAgICAgODYsICA5MDUsICA5MDUsICA5
MDUsICA2MjAsICA2MjQsICA2MjcsICA2MzEsICA2MzUsICA2MzksDQo+IC0gICAgICA2NDMsICA2
NDcsICA2NTEsICA2NTUsICA2NTksICA2NjMsICA2NjcsICA2NzEsICA2NzUsICA2NzksDQo+IC0g
ICAgICA2ODMsICA2ODcsICA2OTEsICA2OTUsICA2OTksICA3MDMsICA3MDcsICA3MTEsICA3MTUs
ICA3MTksDQo+IC0gICAgICA3MjMsICA3MjcsICA3MzEsICA3MzUsICA3MzksICA3NDMsICA3NDcs
ICA3NTEsICA3NTUsICA3NTksDQo+IC0gICAgICA3NjMsICA3NjcsICA3NzEsICA3NzUsICA3Nzks
ICA3ODMsICA3ODcsICA3OTEsICA3OTUsICA3OTksDQo+IC0NCj4gLSAgICAgIDgwMywgIDgwNywg
IDgxMSwgIDgxNSwgIDgxOSwgIDgyMywgIDgyNywgIDgzMSwgIDgzNSwgIDgzOSwNCj4gLSAgICAg
IDg0MywgIDg0NywgIDg1MSwgIDg1NSwgIDg1OSwgIDg2MywgIDg2NywgIDg3MSwgIDg3NSwgIDg3
OSwNCj4gLSAgICAgIDg4MywgIDg4NywgIDg5MQ0KPiArICAgICAgICAwLCAgICAwLCAgOTEyLCAg
OTExLCAgOTEzLCAgOTA4LCAgIDMzLCAgIDM2LCAgOTE2LCAgOTE2LA0KPiArICAgICAgIDQ1LCAg
IDYzLCAgIDMxLCAgIDQyLCAgIDUxLCAgIDUyLCAgOTAxLCAgIDMzLCAgIDY1LCAgIDY3LA0KPiAr
ICAgICAgIDY5LCAgIDcwLCAgOTAwLCAgIDcxLCAgODk5LCAgIDc3LCAgICAwLCAgOTE2LCAgOTA0
LCAgOTE2LA0KPiArICAgICAgIDkzLCAgIDk2LCAgICAwLCAgICAwLCAgMTA1LCAgODk3LCAgMTE0
LCAgICAwLCAgIDkxLCAgMTAwLA0KPiArICAgICAgMTE1LCAgIDk0LCAgMTE2LCAgMTAxLCAgMTAy
LCAgIDQ4LCAgIDc0LCAgMTE4LCAgMTIxLCAgMTIzLA0KPiArICAgICAgIDc4LCAgMTI4LCAgMTMx
LCAgMTM3LCAgMTI0LCAgMTI1LCAgMTMzLCAgMTM1LCAgMTM2LCAgMTQwLA0KPiArICAgICAgMTQy
LCAgMTQxLCAgICAwLCAgMTYzLCAgICAwLCAgICAwLCAgMTY2LCAgICAwLCAgICAwLCAgOTAyLA0K
PiArICAgICAgMTQzLCAgMTQ2LCAgMTYzLCAgMTY0LCAgMTY2LCAgMTY3LCAgMTQ5LCAgMTY5LCAg
MTcwLCAgMTc1LA0KPiArICAgICAgMTc5LCAgMTc2LCAgMTgyLCAgMTc3LCAgMTg0LCAgMTkyLCAg
MjEyLCAgMTkzLCAgMTg2LCAgMTk2LA0KPiArICAgICAgMTg3LCAgMjE5LCAgMjAxLCAgMTUwLCAg
MTk5LCAgMjI3LCAgICAwLCAgICAwLCAgOTE2LCAgMjA5LA0KPiArDQo+ICsgICAgICAyMTIsICAy
NDMsICAyMjQsICAyMTMsICAyNDUsICAyMjMsICAxOTgsICA4OTUsICAyMzEsICA4OTQsDQo+ICsg
ICAgICAyNDQsICAyMzAsICAyNDMsICAyNjEsICAyNTUsICAyNTksICAyNzksICAyNjYsICAyODgs
ICAyNzUsDQo+ICsgICAgICAyOTEsICAzMDEsICAyNjgsICAyODQsICAyOTgsICAzMDEsICAyODUs
ICAzMDIsICAzMTEsICAgIDAsDQo+ICsgICAgICAzMTQsICAgIDAsICAzMTEsICAzMTgsICA5MTYs
ICAzMTIsICAzMTcsICAyNDYsICAyMzIsICAzNDIsDQo+ICsgICAgICAzMjAsICAzMjUsICAzMjMs
ICAzNDksICAgIDAsICAzNTEsICAgIDAsICAzNDQsICAzNDksICAzNjAsDQo+ICsgICAgICAgIDAs
ICAzNjMsICAgIDAsICAzNjcsICAgIDAsICAzNzAsICAgIDAsICAzMzAsICAzNzcsICAgIDAsDQo+
ICsgICAgICAzNzksICAgIDAsICAzNjUsICAzNTgsICA4OTksICAzNjgsICAzMjksICAzMzEsICAz
ODEsICAgIDAsDQo+ICsgICAgICAgIDAsICAgIDAsICAgIDAsICAzODEsICA5MTYsICAzODMsICAz
ODUsICAzODcsICAzOTEsICAzOTcsDQo+ICsgICAgICAzOTMsICA0MDksICAgIDAsICA0MTEsICAg
IDAsICA0MTIsICA0MTQsICA0MjQsICA0MjcsICAgIDAsDQo+ICsgICAgICAgIDAsICAgIDAsICAg
IDAsICA0MjIsICA0MjUsICA0MzYsICAgIDAsICAgIDAsICAgIDAsICAgIDAsDQo+ICsNCj4gKyAg
ICAgIDQzOCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgIDQzNCwgIDQ0NSwgICAgMCwgICAgMCwg
ICAgMCwNCj4gKyAgICAgICAgMCwgIDQ0MCwgIDQ0MiwgIDg5OCwgIDkxNiwgIDQwMCwgIDg5Nywg
IDQ0MywgIDQ0OCwgIDQ0OSwNCj4gKyAgICAgIDQ1MSwgIDQ1MywgIDQ1OCwgIDQ1NywgIDQxMywg
IDQ2OSwgICAgMCwgICAgMCwgICAgMCwgICAgMCwNCj4gKyAgICAgIDg5NiwgIDQ2OSwgIDQ4MCwg
ICAgMCwgIDQ4MiwgICAgMCwgIDQ4MywgIDQ4MCwgIDg5NSwgIDQ4OSwNCj4gKyAgICAgIDQ5Nywg
IDg5NCwgIDkxNiwgIDkxNiwgIDg1MSwgIDkxNiwgIDQ5MCwgIDgzOSwgIDQ3OCwgIDQ5MiwNCj4g
KyAgICAgIDQ5NCwgIDQ5NywgIDUwNywgIDUwMSwgIDkxNiwgIDgyMywgIDkxNiwgIDUwOSwgIDUy
NSwgICAgMCwNCj4gKyAgICAgICAgMCwgICAgMCwgICAgMCwgIDkxNiwgIDUwNSwgIDgxMSwgIDkx
NiwgIDUzNCwgIDc4MywgICAgMCwNCj4gKyAgICAgIDc3MSwgIDkxNiwgIDUxOCwgIDc1OSwgIDkx
NiwgIDUyMywgIDUyOCwgIDUzOCwgIDU0MCwgIDc1NSwNCj4gKyAgICAgIDkxNiwgIDUxMSwgIDU0
MCwgIDU0OSwgIDc1MSwgIDkxNiwgIDU0NCwgIDU0NywgIDc0NywgIDkxNiwNCj4gKyAgICAgIDU2
MCwgICAgMCwgIDU2MiwgICAgMCwgICAgMCwgIDU1NSwgIDczOSwgIDkxNiwgIDQ4NCwgIDU2MSwN
Cj4gKw0KPiArICAgICAgNzMxLCAgNzIzLCAgNzE1LCAgOTE2LCAgNDQ5LCAgNTY2LCAgNTY0LCAg
NTY2LCAgNTc2LCAgNTc4LA0KPiArICAgICAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgNTg0LCAg
NTc0LCAgNTg2LCAgNzA3LCAgOTE2LCAgNjk5LA0KPiArICAgICAgOTE2LCAgNTgxLCAgNTg3LCAg
NTkwLCAgNTk3LCAgOTE2LCAgNjg3LCAgNjU5LCAgNjUyLCAgNjQzLA0KPiArICAgICAgOTE2LCAg
NjM1LCAgOTE2LCAgNTk3LCAgNjE2LCAgNTk5LCAgNjE0LCAgNjA0LCAgOTE2LCAgNjAwLA0KPiAr
ICAgICAgOTE2LCAgNTQxLCAgOTE2LCAgNDY3LCAgOTE2LCAgNjAzLCAgNDU1LCAgOTE2LCAgNDA0
LCAgOTE2LA0KPiArICAgICAgMzg1LCAgOTE2LCAgMzI4LCAgOTE2LCAgOTE2LCAgNjA5LCAgMjAz
LCAgOTE2LCAgOTE2LCAgOTE2LA0KPiArICAgICAgNjIyLCAgNjI2LCAgNjI5LCAgNjMzLCAgNjM3
LCAgNjQxLCAgNjQ1LCAgNjQ5LCAgNjUzLCAgNjU3LA0KPiArICAgICAgNjYxLCAgNjY1LCAgNjY5
LCAgNjczLCAgNjc3LCAgNjgxLCAgNjg1LCAgNjg5LCAgNjkzLCAgNjk3LA0KPiArICAgICAgNzAx
LCAgNzA1LCAgNzA5LCAgNzEzLCAgNzE3LCAgNzIxLCAgNzI1LCAgNzI5LCAgNzMzLCAgNzM3LA0K
PiArICAgICAgNzQxLCAgNzQ1LCAgNzQ5LCAgNzUzLCAgNzU3LCAgNzYxLCAgNzY1LCAgNzY5LCAg
NzczLCAgNzc3LA0KPiArDQo+ICsgICAgICA3ODEsICA3ODUsICA3ODksICA3OTMsICA3OTcsICA4
MDEsICA4MDUsICA4MDksICA4MTMsICA4MTcsDQo+ICsgICAgICA4MjEsICA4MjUsICA4MjksICA4
MzMsICA4MzcsICA4NDEsICA4NDUsICA4NDksICA4NTMsICA4NTcsDQo+ICsgICAgICA4NjEsICA4
NjUsICA4NjksICA4NzMsICA4NzcsICA4ODEsICA4ODUsICA4ODksICA4OTMNCj4gICAgICB9IDsN
Cj4gDQo+IC1zdGF0aWMgY29uc3QgZmxleF9pbnQxNl90IHl5X2RlZls0MjRdID0NCj4gK3N0YXRp
YyBjb25zdCBmbGV4X2ludDE2X3QgeXlfZGVmWzQzMF0gPQ0KPiAgICAgIHsgICAwLA0KPiAtICAg
ICAgMzU0LCAgICAxLCAgMzU1LCAgMzU1LCAgMzU0LCAgMzU2LCAgMzU3LCAgMzU3LCAgMzU0LCAg
MzU0LA0KPiAtICAgICAgMzU4LCAgMzU4LCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAg
IDEyLCAgIDEyLCAgIDEyLA0KPiAtICAgICAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAg
IDEyLCAgMzU5LCAgMzU0LCAgMzU2LCAgMzU0LA0KPiAtICAgICAgMzYwLCAgMzU3LCAgMzYxLCAg
MzYxLCAgMzYyLCAgIDEyLCAgMzU2LCAgMzYzLCAgIDEyLCAgIDEyLA0KPiArICAgICAgMzYwLCAg
ICAxLCAgMzYxLCAgMzYxLCAgMzYwLCAgMzYyLCAgMzYzLCAgMzYzLCAgMzYwLCAgMzYwLA0KPiAr
ICAgICAgMzY0LCAgMzY0LCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEy
LCAgIDEyLA0KPiArICAgICAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgMzY1
LCAgMzYwLCAgMzYyLCAgMzYwLA0KPiArICAgICAgMzY2LCAgMzYzLCAgMzY3LCAgMzY3LCAgMzY4
LCAgIDEyLCAgMzYyLCAgMzY5LCAgIDEyLCAgIDEyLA0KPiAgICAgICAgIDEyLCAgIDEyLCAgIDEy
LCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLA0KPiAgICAgICAgIDEy
LCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLA0K
PiAtICAgICAgIDEyLCAgMzU5LCAgMzYwLCAgMzYxLCAgMzYxLCAgMzY0LCAgMzY1LCAgMzY1LCAg
MzU0LCAgIDEyLA0KPiArICAgICAgIDEyLCAgIDEyLCAgMzY1LCAgMzY2LCAgMzY3LCAgMzY3LCAg
MzcwLCAgMzcxLCAgMzcxLCAgMzYwLA0KPiAgICAgICAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAg
IDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLA0KPiAtICAgICAgIDEyLCAgIDEyLCAg
IDEyLCAgIDEyLCAgIDEyLCAgMzYyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLA0KPiAtICAgICAg
IDEyLCAgIDEyLCAgIDEyLCAgMzY0LCAgMzY1LCAgMzY1LCAgMzU0LCAgIDEyLCAgIDEyLCAgMzY2
LA0KPiAtDQo+IC0gICAgICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIs
ICAgMTIsICAgMTIsICAgMTIsDQo+IC0gICAgICAgMTIsICAzNjcsICAgODYsICAgODYsICAzNjgs
ICAgMTIsICAzNjksICAgMTIsICAgMTIsICAzNzAsDQo+IC0gICAgICAgMTIsICAgMTIsICAgMTIs
ICAgMTIsICAgMTIsICAzNzEsICAzNzIsICAzNjYsICAzNzIsICAgMTIsDQo+IC0gICAgICAgMTIs
ICAzNTQsICAgODYsICAgMTIsICAgMTIsICAgMTIsICAzNzMsICAgMTIsICAgMTIsICAgMTIsDQo+
IC0gICAgICAzNzQsICAzNzUsICAzNjcsICAzNzUsICAgODYsICAgODYsICAzNzYsICAzNzcsICAz
NjgsICAzNzcsDQo+IC0gICAgICAzNzgsICAzNzksICAzNjksICAzNzksICAgMTIsICAzODAsICAz
ODEsICAzNzAsICAzODEsICAgMTIsDQo+IC0gICAgICAgMTIsICAzODIsICAgMTIsICAgMTIsICAz
NzEsICAzNzIsICAzNzIsICAzODMsICAzODMsICAgMTIsDQo+IC0gICAgICAzNTQsICAgODYsICAg
ODYsICAgODYsICAgMTIsICAgMTIsICAgMTIsICAzODQsICAzODUsICAzNzMsDQo+IC0gICAgICAz
ODUsICAgMTIsICAgMTIsICAzODYsICAzNzQsICAzNzUsICAzNzUsICAzODcsICAzODcsICAgODYs
DQo+IC0gICAgICAgODYsICAzNzYsICAzNzcsICAzNzcsICAzODgsICAzODgsICAzNzgsICAzNzks
ICAzNzksICAzODksDQo+IC0NCj4gLSAgICAgIDM4OSwgICAxMiwgIDM4MCwgIDM4MSwgIDM4MSwg
IDM5MCwgIDM5MCwgICAxMiwgICAxMiwgIDM5MSwNCj4gLSAgICAgIDM1NCwgIDM5MiwgICA4Niwg
ICAxMiwgICA4NiwgICA4NiwgICA4NiwgICAxMiwgICA4NiwgICAxMiwNCj4gLSAgICAgIDM4NCwg
IDM4NSwgIDM4NSwgIDM5MywgIDM5MywgIDM5NCwgICA4NiwgIDM5NSwgIDM5NiwgIDM4NiwNCj4g
LSAgICAgIDM5NiwgICA4NiwgICA4NiwgIDM5NywgICAxMiwgIDM5OCwgIDM5MSwgIDM1NCwgIDM5
OSwgIDM1NCwNCj4gLSAgICAgICA4NiwgIDQwMCwgICAxMiwgICA4NiwgICA4NiwgICA4NiwgIDQw
MSwgICA4NiwgIDM1NCwgIDQwMiwNCj4gLSAgICAgIDM1NCwgICA4NiwgIDM5NSwgIDM5NiwgIDM5
NiwgIDQwMywgIDQwMywgIDM1NCwgICA4NiwgIDQwNCwNCj4gLSAgICAgIDM1NCwgIDQwNSwgIDQw
NiwgIDQwNiwgIDM5OSwgIDM1NCwgICA4NiwgIDQwNywgIDM1NCwgICAxMiwNCj4gLSAgICAgICA4
NiwgICA4NiwgICA4NiwgIDQwOCwgIDM1NCwgIDQwOCwgIDQwOCwgICA4NiwgIDQwMiwgIDM1NCwN
Cj4gLSAgICAgICA4NiwgICA4NiwgIDQwNCwgIDM1NCwgIDQwOSwgIDQxMCwgIDQwNSwgIDQxMCwg
IDQwNiwgICA4NiwNCj4gLSAgICAgIDQwNywgIDM1NCwgICAxMiwgICA4NiwgIDQxMSwgIDQxMiwg
IDQwOCwgIDM1NCwgIDQwOCwgIDQwOCwNCj4gLQ0KPiAtICAgICAgIDg2LCAgIDg2LCAgIDg2LCAg
NDA5LCAgNDEwLCAgNDEwLCAgNDEzLCAgNDEzLCAgIDg2LCAgIDEyLA0KPiAtICAgICAgIDg2LCAg
NDE0LCAgMzU0LCAgNDE1LCAgMzU0LCAgNDA4LCAgNDA4LCAgIDg2LCAgIDg2LCAgMzU0LA0KPiAt
ICAgICAgNDE2LCAgNDE3LCAgNDE4LCAgNDE0LCAgMzU0LCAgNDE1LCAgMzU0LCAgNDA4LCAgNDA4
LCAgIDg2LA0KPiAtICAgICAgNDE5LCAgNDIwLCAgMzU0LCAgNDIxLCAgMzU0LCAgNDIyLCAgMzU0
LCAgNDA4LCAgMzU0LCAgIDg2LA0KPiAtICAgICAgNDIzLCAgMzU0LCAgNDIwLCAgMzU0LCAgNDIx
LCAgMzU0LCAgNDIyLCAgMzU0LCAgMzU0LCAgIDg2LA0KPiAtICAgICAgNDIzLCAgMzU0LCAgMzU0
LCAgICAwLCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LA0KPiAtICAgICAgMzU0
LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LA0K
PiAtICAgICAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAg
MzU0LCAgMzU0LA0KPiAtICAgICAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAg
MzU0LCAgMzU0LCAgMzU0LCAgMzU0LA0KPiAtICAgICAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAg
MzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LCAgMzU0LA0KPiAtDQo+IC0gICAgICAzNTQsICAz
NTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsDQo+IC0g
ICAgICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQs
ICAzNTQsDQo+IC0gICAgICAzNTQsICAzNTQsICAzNTQNCj4gKyAgICAgICAxMiwgICAxMiwgICAx
MiwgICAxMiwgICAxMiwgICAxMiwgIDM2OCwgICAxMiwgICAxMiwgICAxMiwNCj4gKyAgICAgICAx
MiwgICAxMiwgICAxMiwgICAxMiwgICAxMiwgIDM3MCwgIDM3MSwgIDM3MSwgIDM2MCwgICAxMiwN
Cj4gKw0KPiArICAgICAgIDEyLCAgMzcyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAg
IDEyLCAgIDEyLCAgIDEyLA0KPiArICAgICAgIDEyLCAgIDEyLCAgIDEyLCAgMzczLCAgIDg3LCAg
IDg3LCAgMzc0LCAgIDEyLCAgMzc1LCAgIDEyLA0KPiArICAgICAgIDEyLCAgMzc2LCAgIDEyLCAg
IDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgMzc3LCAgMzc4LA0KPiArICAgICAgMzcyLCAg
Mzc4LCAgIDEyLCAgIDEyLCAgMzYwLCAgIDg3LCAgIDEyLCAgIDEyLCAgIDEyLCAgMzc5LA0KPiAr
ICAgICAgIDEyLCAgIDEyLCAgIDEyLCAgMzgwLCAgMzgxLCAgMzczLCAgMzgxLCAgIDg3LCAgIDg3
LCAgMzgyLA0KPiArICAgICAgMzgzLCAgMzc0LCAgMzgzLCAgMzg0LCAgMzg1LCAgMzc1LCAgMzg1
LCAgIDEyLCAgMzg2LCAgMzg3LA0KPiArICAgICAgMzc2LCAgMzg3LCAgIDEyLCAgIDEyLCAgMzg4
LCAgIDEyLCAgIDEyLCAgIDEyLCAgMzc3LCAgMzc4LA0KPiArICAgICAgMzc4LCAgMzg5LCAgMzg5
LCAgIDEyLCAgMzYwLCAgIDg3LCAgIDg3LCAgIDg3LCAgIDEyLCAgIDEyLA0KPiArICAgICAgIDEy
LCAgMzkwLCAgMzkxLCAgMzc5LCAgMzkxLCAgIDEyLCAgIDEyLCAgMzkyLCAgMzgwLCAgMzgxLA0K
PiArICAgICAgMzgxLCAgMzkzLCAgMzkzLCAgIDg3LCAgIDg3LCAgMzgyLCAgMzgzLCAgMzgzLCAg
Mzk0LCAgMzk0LA0KPiArDQo+ICsgICAgICAzODQsICAzODUsICAzODUsICAzOTUsICAzOTUsICAg
MTIsICAzODYsICAzODcsICAzODcsICAzOTYsDQo+ICsgICAgICAzOTYsICAgMTIsICAgMTIsICAz
OTcsICAzNjAsICAgMTIsICAzOTgsICAgODcsICAgMTIsICAgODcsDQo+ICsgICAgICAgODcsICAg
ODcsICAgMTIsICAgODcsICAgMTIsICAzOTAsICAzOTEsICAzOTEsICAzOTksICAzOTksDQo+ICsg
ICAgICA0MDAsICAgODcsICA0MDEsICA0MDIsICAzOTIsICA0MDIsICAgODcsICAgODcsICA0MDMs
ICAgMTIsDQo+ICsgICAgICA0MDQsICAzOTcsICAzNjAsICAzNjAsICA0MDUsICAzNjAsICAgODcs
ICA0MDYsICAgMTIsICAgODcsDQo+ICsgICAgICAgODcsICAgODcsICA0MDcsICAgODcsICAzNjAs
ICA0MDgsICAzNjAsICAgODcsICA0MDEsICA0MDIsDQo+ICsgICAgICA0MDIsICA0MDksICA0MDks
ICAzNjAsICAgODcsICA0MTAsICAzNjAsICA0MTEsICA0MTIsICA0MTIsDQo+ICsgICAgICA0MDUs
ICAzNjAsICAgODcsICA0MTMsICAzNjAsICAgMTIsICAgODcsICAgODcsICAgODcsICA0MTQsDQo+
ICsgICAgICAzNjAsICA0MTQsICA0MTQsICAgODcsICA0MDgsICAzNjAsICAgODcsICAgODcsICA0
MTAsICAzNjAsDQo+ICsgICAgICA0MTUsICA0MTYsICA0MTEsICA0MTYsICA0MTIsICAgODcsICA0
MTMsICAzNjAsICAgMTIsICAgODcsDQo+ICsNCj4gKyAgICAgIDQxNywgIDQxOCwgIDQxNCwgIDM2
MCwgIDQxNCwgIDQxNCwgICA4NywgICA4NywgICA4NywgIDQxNSwNCj4gKyAgICAgIDQxNiwgIDQx
NiwgIDQxOSwgIDQxOSwgICA4NywgICAxMiwgICA4NywgIDQyMCwgIDM2MCwgIDQyMSwNCj4gKyAg
ICAgIDM2MCwgIDQxNCwgIDQxNCwgICA4NywgICA4NywgIDM2MCwgIDQyMiwgIDQyMywgIDQyNCwg
IDQyMCwNCj4gKyAgICAgIDM2MCwgIDQyMSwgIDM2MCwgIDQxNCwgIDQxNCwgICA4NywgIDQyNSwg
IDQyNiwgIDM2MCwgIDQyNywNCj4gKyAgICAgIDM2MCwgIDQyOCwgIDM2MCwgIDQxNCwgIDM2MCwg
ICA4NywgIDQyOSwgIDM2MCwgIDQyNiwgIDM2MCwNCj4gKyAgICAgIDQyNywgIDM2MCwgIDQyOCwg
IDM2MCwgIDM2MCwgICA4NywgIDQyOSwgIDM2MCwgIDM2MCwgICAgMCwNCj4gKyAgICAgIDM2MCwg
IDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwNCj4g
KyAgICAgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2
MCwgIDM2MCwNCj4gKyAgICAgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2
MCwgIDM2MCwgIDM2MCwgIDM2MCwNCj4gKyAgICAgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2
MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwNCj4gKw0KPiArICAgICAgMzYwLCAgMzYw
LCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLA0KPiArICAg
ICAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAg
MzYwLA0KPiArICAgICAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAg
MzYwLCAgMzYwDQo+ICAgICAgfSA7DQo+IA0KPiAtc3RhdGljIGNvbnN0IGZsZXhfaW50MTZfdCB5
eV9ueHRbOTQwXSA9DQo+ICtzdGF0aWMgY29uc3QgZmxleF9pbnQxNl90IHl5X254dFs5NTFdID0N
Cj4gICAgICB7ICAgMCwNCj4gICAgICAgICAgNiwgICAgNywgICAgOCwgICAgOSwgICAgNiwgICAg
NiwgICAgNiwgICAgNiwgICAxMCwgICAxMSwNCj4gICAgICAgICAxMiwgICAxMywgICAxNCwgICAx
NSwgICAxNiwgICAxNywgICAxOCwgICAxOSwgICAxNywgICAxNywNCj4gICAgICAgICAxNywgICAx
NywgICAyMCwgICAxNywgICAyMSwgICAyMiwgICAyMywgICAyNCwgICAyNSwgICAxNywNCj4gICAg
ICAgICAyNiwgICAxNywgICAxNywgICAxNywgICAzMiwgICAzMiwgICAzMywgICAzMiwgICAzMiwg
ICAzMywNCj4gICAgICAgICAzNiwgICAzNCwgICAzNiwgICA0MiwgICAzNCwgICAyOSwgICAyOSwg
ICAyOSwgICAzMCwgICAzNSwNCj4gLSAgICAgICA1MCwgICAzNiwgICAzNywgICAzOCwgICA0Mywg
ICA0NCwgICAzOSwgICAzNiwgICA3OSwgICA0NSwNCj4gKyAgICAgICA1MCwgICAzNiwgICAzNywg
ICAzOCwgICA0MywgICA0NCwgICAzOSwgICAzNiwgICA4MCwgICA0NSwNCj4gICAgICAgICAzNiwg
ICAzNiwgICA0MCwgICAyOSwgICAyOSwgICAyOSwgICAzMCwgICAzNSwgICA0NiwgICA0OCwNCj4g
ICAgICAgICAzNywgICAzOCwgICA0MSwgICA0NywgICAzNiwgICA0OSwgICAzNiwgICA1MywgICAz
NiwgICAzNiwNCj4gLSAgICAgICAzNiwgICA1NiwgICA1OCwgICAzNiwgICAzNiwgICA1NSwgICA4
MiwgICA2MCwgICA1MSwgIDM0MiwNCj4gLSAgICAgICA1NCwgICA2MSwgICA1MiwgICAyOSwgICA2
NCwgICAzMiwgICAzMiwgICAzMywgICAzNiwgICA2NSwNCj4gLQ0KPiAtICAgICAgIDcwLCAgIDM2
LCAgIDM0LCAgIDI5LCAgIDI5LCAgIDI5LCAgIDMwLCAgIDM2LCAgIDM2LCAgIDM2LA0KPiAtICAg
ICAgIDI5LCAgIDM4LCAgIDY2LCAgIDY2LCAgIDY2LCAgIDY3LCAgIDY2LCAgIDcxLCAgIDc0LCAg
IDY2LA0KPiAtICAgICAgIDY4LCAgIDcyLCAgIDM2LCAgIDM2LCAgIDczLCAgIDM2LCAgIDc3LCAg
IDc4LCAgIDM2LCAgIDc2LA0KPiAtICAgICAgIDM2LCAgIDUzLCAgIDM2LCAgIDM2LCAgIDc1LCAg
IDg1LCAgIDgwLCAgIDgzLCAgIDM2LCAgIDg2LA0KPiAtICAgICAgIDg0LCAgIDM2LCAgIDM2LCAg
IDM2LCAgIDM2LCAgIDgxLCAgIDM2LCAgIDM2LCAgIDM2LCAgIDM2LA0KPiAtICAgICAgIDM2LCAg
IDM2LCAgIDkzLCAgIDg5LCAgMzM3LCAgIDk4LCAgIDg4LCAgIDI5LCAgIDY0LCAgMTAxLA0KPiAt
ICAgICAgIDkwLCAgIDM2LCAgIDkxLCAgIDY1LCAgIDkyLCAgIDg3LCAgIDI5LCAgIDk1LCAgIDg5
LCAgIDk5LA0KPiAtICAgICAgIDM2LCAgMTAwLCAgIDk2LCAgIDM2LCAgIDM2LCAgIDM2LCAgIDM2
LCAgIDM2LCAgIDM2LCAgMTA2LA0KPiAtICAgICAgMTA1LCAgIDg1LCAgIDM2LCAgIDM2LCAgMTAy
LCAgIDM2LCAgMTA3LCAgIDM2LCAgMTAzLCAgIDM2LA0KPiAtICAgICAgMTA5LCAgMTEyLCAgIDM2
LCAgIDM2LCAgMTA0LCAgMTA4LCAgMTE1LCAgMTEwLCAgIDM2LCAgMTE3LA0KPiAtDQo+IC0gICAg
ICAgMzYsICAgMzYsICAgMzYsICAzMzUsICAgMzYsICAgMzYsICAxMjIsICAxMTEsICAgMjksICAg
MjksDQo+IC0gICAgICAgMjksICAgMzAsICAxMTgsICAgMzYsICAxMTYsICAgMjksICAgMzgsICAg
MzYsICAgMzYsICAxMTMsDQo+IC0gICAgICAxMTQsICAxMTksICAxMjAsICAxMjMsICAgMzYsICAg
MjksICAgOTUsICAxMjEsICAgMzYsICAxMzQsDQo+IC0gICAgICAxMzEsICAgOTYsICAxMzAsICAg
MzYsICAxMjUsICAxMjQsICAxMjYsICAxMjYsICAgNjYsICAxMjcsDQo+IC0gICAgICAxMjYsICAx
MzIsICAxMzMsICAxMjYsICAxMjksICAzMzMsICAgMzYsICAgMzYsICAxMzUsICAxMzcsDQo+IC0g
ICAgICAgMzYsICAgMzYsICAgMzYsICAxNDAsICAxMzksICAgMzUsICAgMzUsICAzNTIsICAgMzYs
ICAgMzYsDQo+IC0gICAgICAgODUsICAxNDEsICAxNDEsICAgNjYsICAxNDIsICAxNDEsICAxNjAs
ICAxNDUsICAxNDEsICAxNDQsDQo+IC0gICAgICAgMzUsICAgMzUsICAgODksICAxMTcsICAxNTUs
ICAgMzYsICAxNDYsICAxNDcsICAxNDcsICAgNjYsDQo+IC0gICAgICAxNDgsICAxNDcsICAxNjIs
ICAgMzYsICAxNDcsICAxNTAsICAxNTEsICAxNTEsICAgNjYsICAxNTIsDQo+IC0gICAgICAxNTEs
ICAgMzYsICAgMzYsICAxNTEsICAxNTQsICAxMjAsICAxNjEsICAgMzYsICAxNTYsICAxNTYsDQo+
IC0NCj4gLSAgICAgICA2NiwgIDE1NywgIDE1NiwgICAzNiwgICAzNiwgIDE1NiwgIDE1OSwgIDE2
NCwgIDE3MSwgIDE2MywNCj4gLSAgICAgICAyOSwgIDE2NiwgICAyOSwgIDE2OCwgICAzNiwgICAz
NiwgIDE2NywgIDE3MCwgIDE2OSwgICAzNSwNCj4gLSAgICAgICAzNSwgIDE3MiwgICAzNiwgICAz
NiwgIDE3MywgICAzNiwgIDIxMywgIDE4NCwgICAzNiwgICAzNiwNCj4gLSAgICAgIDE3NSwgICAz
NiwgIDE3NCwgICAyOSwgIDE4NiwgIDIxMiwgICAzNiwgIDM0OSwgIDE4MywgIDE4NywNCj4gLSAg
ICAgIDE3NywgIDE3NiwgIDE3OCwgIDE3OCwgICA2NiwgIDE3OSwgIDE3OCwgIDE4MiwgIDM0OCwg
IDE3OCwNCj4gLSAgICAgIDE4MSwgICAyOSwgIDE4OCwgICAzNSwgICAzNSwgICAzNSwgICAzNSwg
IDE4OSwgICAyOSwgIDE5MywNCj4gLSAgICAgICAyOSwgIDE5NSwgIDE5MCwgICAzNiwgIDE5NCwg
ICAzNiwgIDE5NiwgICAyOSwgIDE5OCwgICAyOSwNCj4gLSAgICAgIDIwMCwgIDE5MSwgICAzNiwg
IDE5OSwgICAzNiwgIDIwMSwgIDIxOSwgICAyOSwgIDIwNCwgICAyOSwNCj4gLSAgICAgIDIwNiwg
ICAzNiwgIDIwMiwgIDIwNSwgIDIwOSwgIDIwNywgICAyOSwgIDE2NiwgICAzNiwgIDI5MywNCj4g
LSAgICAgIDIwOCwgIDIxNCwgIDE2NywgICAzNSwgICAzNSwgICAzNSwgICAzNSwgICAzNSwgICAz
NSwgICAzNiwNCj4gLQ0KPiAtICAgICAgIDM2LCAgIDM2LCAgMjQ5LCAgMjE4LCAgMjIwLCAgIDI5
LCAgMjIyLCAgMjE2LCAgIDM2LCAgMjE3LA0KPiAtICAgICAgMjM1LCAgMjIzLCAgIDI5LCAgMjI0
LCAgMjE1LCAgMjI2LCAgIDM2LCAgMjI3LCAgMjI1LCAgMzQ2LA0KPiAtICAgICAgIDM1LCAgIDM1
LCAgIDM2LCAgMjI4LCAgMjI4LCAgIDY2LCAgMjI5LCAgMjI4LCAgIDI5LCAgMTg2LA0KPiAtICAg
ICAgMjI4LCAgMjMxLCAgMjMyLCAgIDM2LCAgMTg3LCAgMjMzLCAgIDM1LCAgIDI5LCAgMTkzLCAg
IDI5LA0KPiAtICAgICAgMTk4LCAgMjM0LCAgIDM2LCAgMTk0LCAgMzQ0LCAgMTk5LCAgIDI5LCAg
MjA0LCAgMjM2LCAgIDM2LA0KPiAtICAgICAgIDM1LCAgMjQxLCAgMjA1LCAgMjQyLCAgIDM2LCAg
IDM1LCAgIDM1LCAgMjcwLCAgIDM1LCAgIDM1LA0KPiAtICAgICAgIDM1LCAgIDM1LCAgMjQ3LCAg
IDM2LCAgIDM1LCAgIDM1LCAgIDI5LCAgMjIyLCAgMjQ0LCAgMjYyLA0KPiAtICAgICAgMjQ4LCAg
IDM2LCAgMjIzLCAgMjQzLCAgMjQ1LCAgMjQ2LCAgIDM1LCAgMjUyLCAgIDI5LCAgMjU0LA0KPiAt
ICAgICAgIDI5LCAgMjU2LCAgMjU4LCAgMzQyLCAgMjU1LCAgMjU5LCAgMjU3LCAgIDM1LCAgIDM1
LCAgMzM5LA0KPiAtICAgICAgIDM1LCAgIDM1LCAgIDY5LCAgMjY0LCAgIDM1LCAgIDM1LCAgIDM1
LCAgIDM1LCAgIDM1LCAgIDM1LA0KPiAtDQo+IC0gICAgICAyNjcsICAgMzUsICAgMzUsICAyNzUs
ICAgMzUsICAgMzUsICAgMzUsICAgMzUsICAyNzEsICAgMzUsDQo+IC0gICAgICAgMzUsICAyNzYs
ICAyNzcsICAgMzUsICAgMzUsICAyNzIsICAyNzgsICAzMTUsICAyNzMsICAyODEsDQo+IC0gICAg
ICAgMjksICAyNTQsICAyOTAsICAzMTMsICAyODIsICAyNzUsICAyNTUsICAyODUsICAyODUsICAg
NjYsDQo+IC0gICAgICAyODYsICAyODUsICAgMzUsICAgMzUsICAyODUsICAyODgsICAyOTUsICAy
OTgsICAyOTYsICAgMzUsDQo+IC0gICAgICAgMzUsICAgMzUsICAgMzUsICAyOTgsICAzMDEsICAz
MjgsICAyOTksICAyOTQsICAgMzUsICAgMzUsDQo+IC0gICAgICAyNzUsICAgMzUsICAgMzUsICAg
MzUsICAzMDMsICAgMjksICAzMDUsICAzMDAsICAyNzUsICAgMjksDQo+IC0gICAgICAzMDcsICAz
MDYsICAgMzUsICAgMzUsICAzMDIsICAzMDgsICAzMzcsICAgMzYsICAgMzUsICAgMzUsDQo+IC0g
ICAgICAzMDksICAzMTAsICAzMjAsICAzMTYsICAgMzUsICAgMzUsICAgMzUsICAgMzUsICAzMjIs
ICAgMzYsDQo+IC0gICAgICAgMzUsICAgMzUsICAzMTcsICAyNzUsICAzMTksICAzMTEsICAgMjks
ICAzMDUsICAzMzUsICAyNzUsDQo+IC0gICAgICAzMTgsICAzMjEsICAzMDYsICAzMjMsICAgMzUs
ICAgMzUsICAgMzUsICAgMzUsICAzMzAsICAzMjksDQo+IC0NCj4gLSAgICAgICAzNSwgICAzNSwg
IDMzMSwgIDMzMywgIDMyNywgICAzNSwgICAzNSwgIDMzOCwgICAzNSwgICAzNSwNCj4gLSAgICAg
IDM1MywgIDM0MCwgICAzNSwgICAzNSwgIDM1MCwgIDMyNSwgIDI3NSwgIDMxNSwgICAzNSwgICAz
NSwNCj4gLSAgICAgICAyNywgICAyNywgICAyNywgICAyNywgICAyOSwgICAyOSwgICAyOSwgICAz
MSwgICAzMSwgICAzMSwNCj4gLSAgICAgICAzMSwgICAzNiwgICAzNiwgICAzNiwgICAzNiwgICA2
MiwgIDMxMywgICA2MiwgICA2MiwgICA2MywNCj4gLSAgICAgICA2MywgICA2MywgICA2MywgICA2
NSwgIDI2OSwgICA2NSwgICA2NSwgICAzNSwgICAzNSwgICAzNSwNCj4gLSAgICAgICAzNSwgICA2
OSwgICA2OSwgIDI2MSwgICA2OSwgICA5NCwgICA5NCwgICA5NCwgICA5NCwgICA5NiwNCj4gLSAg
ICAgIDI1MSwgICA5NiwgICA5NiwgIDEyOCwgIDEyOCwgIDEyOCwgIDEyOCwgIDE0MywgIDE0Mywg
IDE0MywNCj4gLSAgICAgIDE0MywgIDE0OSwgIDE0OSwgIDE0OSwgIDE0OSwgIDE1MywgIDE1Mywg
IDE1MywgIDE1MywgIDE1OCwNCj4gLSAgICAgIDE1OCwgIDE1OCwgIDE1OCwgIDE2NSwgIDE2NSwg
IDE2NSwgIDE2NSwgIDE2NywgIDI5OCwgIDE2NywNCj4gLSAgICAgIDE2NywgIDE4MCwgIDE4MCwg
IDE4MCwgIDE4MCwgIDE4NSwgIDE4NSwgIDE4NSwgIDE4NSwgIDE4NywNCj4gLQ0KPiAtICAgICAg
MjkyLCAgMTg3LCAgMTg3LCAgMTkyLCAgMTkyLCAgMTkyLCAgMTkyLCAgMTk0LCAgMjQwLCAgMTk0
LA0KPiAtICAgICAgMTk0LCAgMTk3LCAgMTk3LCAgMTk3LCAgMTk3LCAgMTk5LCAgMjg5LCAgMTk5
LCAgMTk5LCAgMjAzLA0KPiAtICAgICAgMjAzLCAgMjAzLCAgMjAzLCAgMjA1LCAgMjg0LCAgMjA1
LCAgMjA1LCAgMjEwLCAgMjEwLCAgMjEwLA0KPiAtICAgICAgMjEwLCAgMTY5LCAgMjgwLCAgMTY5
LCAgMTY5LCAgMjIxLCAgMjIxLCAgMjIxLCAgMjIxLCAgMjIzLA0KPiAtICAgICAgMjY5LCAgMjIz
LCAgMjIzLCAgMjMwLCAgMjMwLCAgMjMwLCAgMjMwLCAgMTg5LCAgMjY2LCAgMTg5LA0KPiAtICAg
ICAgMTg5LCAgMTk2LCAgMjExLCAgMTk2LCAgMTk2LCAgMjAxLCAgMjYxLCAgMjAxLCAgMjAxLCAg
MjA3LA0KPiAtICAgICAgMjUxLCAgMjA3LCAgMjA3LCAgMjM3LCAgMjM3LCAgMjM3LCAgMjM3LCAg
MjM5LCAgMjM5LCAgMjM5LA0KPiAtICAgICAgMjM5LCAgMjI1LCAgMjQwLCAgMjI1LCAgMjI1LCAg
MjUwLCAgMjUwLCAgMjUwLCAgMjUwLCAgMjUzLA0KPiAtICAgICAgMjUzLCAgMjUzLCAgMjUzLCAg
MjU1LCAgMjM4LCAgMjU1LCAgMjU1LCAgMjYwLCAgMjYwLCAgMjYwLA0KPiAtICAgICAgMjYwLCAg
MjYzLCAgMjYzLCAgMjYzLCAgMjYzLCAgMjY1LCAgMjY1LCAgMjY1LCAgMjY1LCAgMjY4LA0KPiAt
DQo+IC0gICAgICAyNjgsICAyNjgsICAyNjgsICAyNzQsICAyNzQsICAyNzQsICAyNzQsICAyNzks
ICAyNzksICAyNzksDQo+IC0gICAgICAyNzksICAyNTcsICAyMTEsICAyNTcsICAyNTcsICAyODMs
ICAyODMsICAyODMsICAyODMsICAyODcsDQo+IC0gICAgICAyODcsICAyODcsICAyODcsICAyNjQs
ICAxMzgsICAyNjQsICAyNjQsICAyOTEsICAyOTEsICAyOTEsDQo+IC0gICAgICAyOTEsICAyOTcs
ICAyOTcsICAyOTcsICAyOTcsICAzMDQsICAzMDQsICAzMDQsICAzMDQsICAzMDYsDQo+IC0gICAg
ICAxMzYsICAzMDYsICAzMDYsICAzMTIsICAzMTIsICAzMTIsICAzMTIsICAzMTQsICAzMTQsICAz
MTQsDQo+IC0gICAgICAzMTQsICAzMDgsICAgOTcsICAzMDgsICAzMDgsICAzMjQsICAzMjQsICAz
MjQsICAzMjQsICAzMjYsDQo+IC0gICAgICAzMjYsICAzMjYsICAzMjYsICAzMzIsICAzMzIsICAz
MzIsICAzMzIsICAzMzQsICAzMzQsICAzMzQsDQo+IC0gICAgICAzMzQsICAzMzYsICAzMzYsICAz
MzYsICAzMzYsICAzNDEsICAzNDEsICAzNDEsICAzNDEsICAzNDMsDQo+IC0gICAgICAzNDMsICAz
NDMsICAzNDMsICAzNDUsICAzNDUsICAzNDUsICAzNDUsICAzNDcsICAzNDcsICAzNDcsDQo+IC0g
ICAgICAzNDcsICAzNTEsICAzNTEsICAzNTEsICAzNTEsICAgMzYsICAgMzAsICAgNTksICAgNTcs
ICAgMzYsDQo+IC0NCj4gLSAgICAgICAzMCwgIDM1NCwgICAyOCwgICAyOCwgICAgNSwgIDM1NCwg
IDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwNCj4gLSAgICAgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwg
IDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwNCj4gLSAgICAgIDM1NCwgIDM1NCwg
IDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwNCj4gLSAgICAg
IDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NCwgIDM1NA0KPiAr
ICAgICAgIDM2LCAgIDU2LCAgIDU4LCAgIDM2LCAgIDUzLCAgIDU1LCAgIDM2LCAgIDM2LCAgIDUx
LCAgIDYwLA0KPiArICAgICAgIDU0LCAgIDg0LCAgIDUyLCAgIDYxLCAgIDYyLCAgIDI5LCAgIDY1
LCAgIDMyLCAgIDMyLCAgIDMzLA0KPiArDQo+ICsgICAgICAgMzYsICAgNjYsICAgNzEsICAgMzYs
ICAgMzQsICAgMjksICAgMjksICAgMjksICAgMzAsICAgMzYsDQo+ICsgICAgICAgMzYsICAgMzYs
ICAgMjksICAgMzgsICAgNjcsICAgNjcsICAgNjcsICAgNjgsICAgNjcsICAgNzIsDQo+ICsgICAg
ICAgNzUsICAgNjcsICAgNjksICAgNzMsICAgMzYsICAgMzYsICAgNzQsICAgMzYsICAgNzgsICAg
NzksDQo+ICsgICAgICAgMzYsICAgNzcsICAgMzYsICAgMzYsICAgMzYsICAgODMsICAgNzYsICAg
MzYsICAgODEsICAgODUsDQo+ICsgICAgICAgMzYsICAgODcsICAgMzYsICAgODYsICAgMzYsICAg
MzYsICAgMzYsICAgODIsICAgODksICAgMzYsDQo+ICsgICAgICAgMzYsICAgMzYsICAgMzYsICAg
OTQsICAgOTAsICAgMzYsICAxMDAsICAgODgsICAgMzYsICAgMzYsDQo+ICsgICAgICAgOTIsICAg
OTEsICAgOTMsICAxMDEsICAgOTAsICAgMjksICAgNjUsICAgOTUsICAgMjksICAgOTcsDQo+ICsg
ICAgICAxMDIsICAgNjYsICAgMzYsICAgMzYsICAgOTgsICAgMzYsICAgMzYsICAxMDYsICAgMzYs
ICAgMzYsDQo+ICsgICAgICAxMjUsICAxMDgsICAxMDcsICAxMDMsICAgMzYsICAgMzYsICAgMzYs
ICAgODYsICAgMzYsICAxMDQsDQo+ICsgICAgICAxMDUsICAgMzYsICAxMDksICAgMzYsICAxMTEs
ICAgMzYsICAgMzYsICAxMTAsICAxMTIsICAxMTQsDQo+ICsNCj4gKyAgICAgIDExNywgICAzNiwg
ICAzNiwgIDExOSwgIDEyMCwgICAzNiwgIDM0OCwgICAzNiwgICAzNiwgIDEzOCwNCj4gKyAgICAg
ICAzNiwgIDExMywgICAyOSwgICAyOSwgICAyOSwgICAzMCwgIDEyNCwgIDExOCwgICAzNiwgICAy
OSwNCj4gKyAgICAgICAzOCwgICAzNiwgICAzNiwgIDExNSwgIDExNiwgIDEyMSwgIDEyMiwgIDEy
NiwgICAzNiwgICAyOSwNCj4gKyAgICAgICA5NywgIDEyMywgICAzNiwgICAzNiwgIDEzNCwgICA5
OCwgIDEyNywgIDEzMywgIDE0MCwgICAzNiwNCj4gKyAgICAgICAzNiwgICAzNiwgIDEyOCwgIDEy
OSwgIDEyOSwgICA2NywgIDEzMCwgIDEyOSwgIDEzNSwgIDEzNiwNCj4gKyAgICAgIDEyOSwgIDEz
MiwgICAzNiwgICAzNiwgICAzNiwgICAzNiwgIDEzNywgIDE0MiwgIDE4MSwgIDE0MywNCj4gKyAg
ICAgICA4NiwgIDE0NCwgIDE0NCwgICA2NywgIDE0NSwgIDE0NCwgICAzNSwgICAzNSwgIDE0NCwg
IDE0NywNCj4gKyAgICAgICAzNSwgICAzNSwgICA5MCwgIDExOSwgIDE4MCwgICAzNiwgIDE0OSwg
ICAzNiwgIDE0OCwgIDE1MCwNCj4gKyAgICAgIDE1MCwgICA2NywgIDE1MSwgIDE1MCwgICAzNiwg
IDE2MywgIDE1MCwgIDE1MywgIDE1NCwgIDE1NCwNCj4gKyAgICAgICA2NywgIDE1NSwgIDE1NCwg
ICAzNiwgICAzNiwgIDE1NCwgIDE1NywgIDE2NCwgIDEyMiwgIDE1OCwNCj4gKw0KPiArICAgICAg
IDM2LCAgMTU5LCAgMTU5LCAgIDY3LCAgMTYwLCAgMTU5LCAgMTY1LCAgIDM2LCAgMTU5LCAgMTYy
LA0KPiArICAgICAgIDM2LCAgIDM2LCAgMTY3LCAgIDI5LCAgMTcwLCAgMTY4LCAgIDI5LCAgMTcy
LCAgMTY2LCAgMTcxLA0KPiArICAgICAgIDM2LCAgMTc1LCAgMTczLCAgIDM1LCAgIDM1LCAgMTc2
LCAgIDM2LCAgIDM2LCAgMTc3LCAgIDM2LA0KPiArICAgICAgMTg4LCAgMzQzLCAgIDM2LCAgMTc0
LCAgIDM2LCAgMjE4LCAgMTc4LCAgMjE3LCAgIDM2LCAgIDM2LA0KPiArICAgICAgIDM2LCAgMTc5
LCAgMTgyLCAgMTgyLCAgIDY3LCAgMTgzLCAgMTgyLCAgMTg3LCAgMTg2LCAgMTgyLA0KPiArICAg
ICAgMTg1LCAgIDI5LCAgMTkwLCAgIDI5LCAgMTkyLCAgIDM1LCAgIDM1LCAgMTkxLCAgMjA2LCAg
MTkzLA0KPiArICAgICAgIDM1LCAgIDM1LCAgIDI5LCAgMTk3LCAgMTk0LCAgIDI5LCAgMTk5LCAg
IDM2LCAgMTk4LCAgIDI5LA0KPiArICAgICAgMjAyLCAgMjAwLCAgIDI5LCAgMjA0LCAgIDM2LCAg
MjAzLCAgMTk1LCAgIDM2LCAgMjA1LCAgIDI5LA0KPiArICAgICAgMjA4LCAgIDI5LCAgMjEwLCAg
IDI5LCAgMTcwLCAgMjA5LCAgMjEzLCAgMjExLCAgMzQxLCAgMTcxLA0KPiArICAgICAgIDM2LCAg
MjE2LCAgMjEyLCAgMjE5LCAgIDM1LCAgIDM1LCAgIDM1LCAgIDM1LCAgIDM1LCAgIDM1LA0KPiAr
DQo+ICsgICAgICAgMzYsICAyMjQsICAgMzYsICAyNDQsICAyMjMsICAyMjUsICAgMzYsICAzMzks
ICAyMjEsICAgMzYsDQo+ICsgICAgICAyMjIsICAgMjksICAyMjcsICAgMjksICAyMjksICAyMjAs
ICAyNTUsICAyMjgsICAyMzIsICAyMzAsDQo+ICsgICAgICAyMzEsICAgMzYsICAgMzYsICAgMzYs
ICAyMzMsICAyMzMsICAgNjcsICAyMzQsICAyMzMsICAgMjksDQo+ICsgICAgICAxOTAsICAyMzMs
ICAyMzYsICAgMzUsICAgMzUsICAxOTEsICAyMzgsICAgMzUsICAgMjksICAxOTcsDQo+ICsgICAg
ICAgMjksICAyMDIsICAyMzksICAgMzYsICAxOTgsICAyMzcsICAyMDMsICAgMjksICAyMDgsICAg
MzYsDQo+ICsgICAgICAyNDEsICAgMzYsICAyODEsICAyMDksICAgMzUsICAyNDcsICAyNDgsICAg
MzYsICAzNTgsICAyNDAsDQo+ICsgICAgICAgMzUsICAgMzUsICAgMzUsICAgMzUsICAgMzUsICAg
MzUsICAyNTMsICAgMzYsICAgMzUsICAgMzUsDQo+ICsgICAgICAzNTUsICAgMjksICAyMjcsICAy
NTAsICAyNTQsICAzMjIsICAyNDksICAyMjgsICAyNTEsICAyNTIsDQo+ICsgICAgICAgMzUsICAy
NTgsICAgMjksICAyNjAsICAgMjksICAyNjIsICAyNjQsICAgMzYsICAyNjEsICAyNjUsDQo+ICsg
ICAgICAyNjMsICAgMzUsICAgMzUsICAgMzYsICAgMzUsICAgMzUsICAyNjgsICAzMTYsICAgMzYs
ICAgNzAsDQo+ICsNCj4gKyAgICAgIDI3MCwgICAzNSwgICAzNSwgICAzNSwgICAzNSwgICAzNSwg
ICAzNSwgIDI3MywgICAzNSwgICAzNSwNCj4gKyAgICAgIDI4MSwgIDI3NiwgICAzNSwgICAzNSwg
IDMwNCwgIDI3NywgICAzNSwgICAzNSwgIDI4MiwgIDI4MywNCj4gKyAgICAgICAzNSwgICAzNSwg
IDI3OCwgIDMwNSwgIDI4NCwgIDI3OSwgIDI4NywgICAyOSwgIDI2MCwgICAzNSwNCj4gKyAgICAg
ICAzNSwgIDI4OCwgICAzNiwgIDI2MSwgIDI5MSwgIDI5MSwgICA2NywgIDI5MiwgIDI5MSwgICAz
NSwNCj4gKyAgICAgICAzNSwgIDI5MSwgIDI5NCwgIDMwNCwgIDM1NCwgIDI5NiwgIDMwMSwgIDI5
OSwgIDMwMiwgICAzNSwNCj4gKyAgICAgICAzNSwgICAzNSwgICAzNSwgIDMwNywgIDMwMCwgICAz
NSwgICAzNSwgIDMwNiwgICAzNSwgIDMwOSwNCj4gKyAgICAgICAzNSwgICAzNSwgICAyOSwgIDMx
MSwgICAyOSwgIDMxMywgICAzNSwgICAzNSwgIDMxMiwgIDI4MSwNCj4gKyAgICAgIDMxNCwgIDMw
OCwgICAzNSwgICAzNSwgIDMxNSwgICAzNSwgICAzNSwgICAzNSwgICAzNSwgIDMyNiwNCj4gKyAg
ICAgICAyOSwgIDMxMSwgIDMyOCwgICAzNiwgIDI4MSwgIDMyNSwgIDMxMiwgICAzNSwgICAzNSwg
IDMxNywNCj4gKyAgICAgIDI4MSwgIDMyNCwgIDMyNywgIDMyMywgIDMyOSwgICAzNSwgICAzNSwg
ICAzNSwgICAzNSwgIDMzNiwNCj4gKw0KPiArICAgICAgMjgxLCAgIDM1LCAgIDM1LCAgMzUyLCAg
MzM0LCAgMzM3LCAgMzM1LCAgMzUwLCAgIDM1LCAgIDM1LA0KPiArICAgICAgIDM1LCAgIDM1LCAg
MzU5LCAgMzQ2LCAgIDM1LCAgIDM1LCAgMzU2LCAgMzQ4LCAgMzQ0LCAgMzQ1LA0KPiArICAgICAg
IDM1LCAgIDM1LCAgIDI3LCAgIDI3LCAgIDI3LCAgIDI3LCAgIDI5LCAgIDI5LCAgIDI5LCAgIDMx
LA0KPiArICAgICAgIDMxLCAgIDMxLCAgIDMxLCAgIDM2LCAgIDM2LCAgIDM2LCAgIDM2LCAgIDYz
LCAgMzIxLCAgIDYzLA0KPiArICAgICAgIDYzLCAgIDY0LCAgIDY0LCAgIDY0LCAgIDY0LCAgIDY2
LCAgMzE5LCAgIDY2LCAgIDY2LCAgIDM1LA0KPiArICAgICAgIDM1LCAgIDM1LCAgIDM1LCAgIDcw
LCAgIDcwLCAgMzQzLCAgIDcwLCAgIDk2LCAgIDk2LCAgIDk2LA0KPiArICAgICAgIDk2LCAgIDk4
LCAgMzQxLCAgIDk4LCAgIDk4LCAgMTMxLCAgMTMxLCAgMTMxLCAgMTMxLCAgMTQ2LA0KPiArICAg
ICAgMTQ2LCAgMTQ2LCAgMTQ2LCAgMTUyLCAgMTUyLCAgMTUyLCAgMTUyLCAgMTU2LCAgMTU2LCAg
MTU2LA0KPiArICAgICAgMTU2LCAgMTYxLCAgMTYxLCAgMTYxLCAgMTYxLCAgMTY5LCAgMTY5LCAg
MTY5LCAgMTY5LCAgMTcxLA0KPiArICAgICAgMzM5LCAgMTcxLCAgMTcxLCAgMTg0LCAgMTg0LCAg
MTg0LCAgMTg0LCAgMTg5LCAgMTg5LCAgMTg5LA0KPiArDQo+ICsgICAgICAxODksICAxOTEsICAz
MzMsICAxOTEsICAxOTEsICAxOTYsICAxOTYsICAxOTYsICAxOTYsICAxOTgsDQo+ICsgICAgICAz
MzEsICAxOTgsICAxOTgsICAyMDEsICAyMDEsICAyMDEsICAyMDEsICAyMDMsICAyODEsICAyMDMs
DQo+ICsgICAgICAyMDMsICAyMDcsICAyMDcsICAyMDcsICAyMDcsICAyMDksICAzMjEsICAyMDks
ICAyMDksICAyMTQsDQo+ICsgICAgICAyMTQsICAyMTQsICAyMTQsICAxNzMsICAzMTksICAxNzMs
ICAxNzMsICAyMjYsICAyMjYsICAyMjYsDQo+ICsgICAgICAyMjYsICAyMjgsICAyNzUsICAyMjgs
ICAyMjgsICAyMzUsICAyMzUsICAyMzUsICAyMzUsICAxOTMsDQo+ICsgICAgICAyNjcsICAxOTMs
ICAxOTMsICAyMDAsICAyNTcsICAyMDAsICAyMDAsICAyMDUsICAzMDQsICAyMDUsDQo+ICsgICAg
ICAyMDUsICAyMTEsICAyOTgsICAyMTEsICAyMTEsICAyNDIsICAyNDIsICAyNDIsICAyNDIsICAy
NDUsDQo+ICsgICAgICAyNDUsICAyNDUsICAyNDUsICAyMzAsICAyNDYsICAyMzAsICAyMzAsICAy
NTYsICAyNTYsICAyNTYsDQo+ICsgICAgICAyNTYsICAyNTksICAyNTksICAyNTksICAyNTksICAy
NjEsICAyOTUsICAyNjEsICAyNjEsICAyNjYsDQo+ICsgICAgICAyNjYsICAyNjYsICAyNjYsICAy
NjksICAyNjksICAyNjksICAyNjksICAyNzEsICAyNzEsICAyNzEsDQo+ICsNCj4gKyAgICAgIDI3
MSwgIDI3NCwgIDI3NCwgIDI3NCwgIDI3NCwgIDI4MCwgIDI4MCwgIDI4MCwgIDI4MCwgIDI4NSwN
Cj4gKyAgICAgIDI4NSwgIDI4NSwgIDI4NSwgIDI2MywgIDI5MCwgIDI2MywgIDI2MywgIDI4OSwg
IDI4OSwgIDI4OSwNCj4gKyAgICAgIDI4OSwgIDI5MywgIDI5MywgIDI5MywgIDI5MywgIDI3MCwg
IDI4NiwgIDI3MCwgIDI3MCwgIDI5NywNCj4gKyAgICAgIDI5NywgIDI5NywgIDI5NywgIDMwMywg
IDMwMywgIDMwMywgIDMwMywgIDMxMCwgIDMxMCwgIDMxMCwNCj4gKyAgICAgIDMxMCwgIDMxMiwg
IDI3NSwgIDMxMiwgIDMxMiwgIDMxOCwgIDMxOCwgIDMxOCwgIDMxOCwgIDMyMCwNCj4gKyAgICAg
IDMyMCwgIDMyMCwgIDMyMCwgIDMxNCwgIDI3MiwgIDMxNCwgIDMxNCwgIDMzMCwgIDMzMCwgIDMz
MCwNCj4gKyAgICAgIDMzMCwgIDMzMiwgIDMzMiwgIDMzMiwgIDMzMiwgIDMzOCwgIDMzOCwgIDMz
OCwgIDMzOCwgIDM0MCwNCj4gKyAgICAgIDM0MCwgIDM0MCwgIDM0MCwgIDM0MiwgIDM0MiwgIDM0
MiwgIDM0MiwgIDM0NywgIDM0NywgIDM0NywNCj4gKyAgICAgIDM0NywgIDM0OSwgIDM0OSwgIDM0
OSwgIDM0OSwgIDM1MSwgIDM1MSwgIDM1MSwgIDM1MSwgIDM1MywNCj4gKyAgICAgIDM1MywgIDM1
MywgIDM1MywgIDM1NywgIDM1NywgIDM1NywgIDM1NywgIDIxNSwgIDI2NywgIDI1NywNCj4gKw0K
PiArICAgICAgMjQ2LCAgMjQzLCAgMjE1LCAgMTQxLCAgMTM5LCAgIDk5LCAgIDM2LCAgIDMwLCAg
IDU5LCAgIDU3LA0KPiArICAgICAgIDM2LCAgIDMwLCAgMzYwLCAgIDI4LCAgIDI4LCAgICA1LCAg
MzYwLCAgMzYwLCAgMzYwLCAgMzYwLA0KPiArICAgICAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAg
MzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLA0KPiArICAgICAgMzYwLCAgMzYwLCAg
MzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLA0KPiArICAgICAg
MzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYwLCAgMzYw
DQo+ICAgICAgfSA7DQo+IA0KPiAtc3RhdGljIGNvbnN0IGZsZXhfaW50MTZfdCB5eV9jaGtbOTQw
XSA9DQo+ICtzdGF0aWMgY29uc3QgZmxleF9pbnQxNl90IHl5X2Noa1s5NTFdID0NCj4gICAgICB7
ICAgMCwNCj4gICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwg
ICAgMSwgICAgMSwgICAgMSwNCj4gICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwg
ICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwNCj4gQEAgLTkyNywxMDEgKzkzMCwxMDIgQEAg
c3RhdGljIGNvbnN0IGZsZXhfaW50MTZfdCB5eV9jaGtbOTQwXSA9DQo+ICAgICAgICAgMTgsICAg
MTQsICAgMTEsICAgMTEsICAgMTMsICAgMTQsICAgMTEsICAgNDYsICAgNDYsICAgMTQsDQo+ICAg
ICAgICAgMTUsICAgMTYsICAgMTEsICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTQs
ICAgMTYsDQo+ICAgICAgICAgMTIsICAgMTIsICAgMTIsICAgMTUsICAgMTksICAgMTYsICAgMjAs
ICAgMjAsICAgMjEsICAgMjIsDQo+IC0gICAgICAgMjQsICAgMjIsICAgMjQsICAgNTAsICAgMjYs
ICAgMjEsICAgNTAsICAgMjYsICAgMTksICAzNTEsDQo+IC0gICAgICAgMjAsICAgMjYsICAgMTks
ICAgMzEsICAgMzEsICAgMzIsICAgMzIsICAgMzIsICAgMzksICAgMzEsDQo+IC0NCj4gLSAgICAg
ICAzOSwgICA0MiwgICAzMiwgICAzNSwgICAzNSwgICAzNSwgICAzNSwgICA0MCwgICA0NCwgICA0
NSwNCj4gLSAgICAgICAzNSwgICAzNSwgICAzNywgICAzNywgICAzNywgICAzNywgICAzNywgICAz
OSwgICA0MiwgICAzNywNCj4gLSAgICAgICAzNywgICA0MCwgICA0MSwgICA0MywgICA0MSwgICA0
OCwgICA0NSwgICA0NSwgICA0OSwgICA0NCwNCj4gLSAgICAgICA0NywgICA0NywgICA1MywgICA1
MSwgICA0MywgICA1MywgICA0OCwgICA1MSwgICA1MiwgICA1NCwNCj4gLSAgICAgICA1MiwgICA1
NSwgICA1NiwgICA1OCwgICA1NCwgICA0OSwgICA1NywgICA1OSwgICA2MCwgICA3MywNCj4gLSAg
ICAgICA2MSwgICA3MCwgICA2MCwgICA2MSwgIDM0NywgICA3MCwgICA1NiwgICA2MywgICA2Mywg
ICA3MywNCj4gLSAgICAgICA1OCwgICA3MSwgICA1OSwgICA2MywgICA1OSwgICA1NSwgICA2Niwg
ICA2NiwgICA1NywgICA3MSwNCj4gLSAgICAgICA3NCwgICA3MiwgICA2NiwgICA3MiwgICA3NSwg
ICA3NiwgICA3NywgICA3OCwgICA3OSwgICA3OCwNCj4gLSAgICAgICA3NywgICA3OSwgICA4MCwg
ICA4MSwgICA3NCwgICA4MywgICA4MCwgICA4MiwgICA3NSwgICA4NCwNCj4gLSAgICAgICA4Miwg
ICA4NSwgICA4OCwgICA4NSwgICA3NiwgICA4MSwgICA4NywgICA4MywgICA4NywgICA4OSwNCj4g
LQ0KPiAtICAgICAgIDkyLCAgIDg5LCAgIDkzLCAgMzQ1LCAgIDkwLCAgMTA0LCAgIDkyLCAgIDg0
LCAgIDg2LCAgIDg2LA0KPiAtICAgICAgIDg2LCAgIDg2LCAgIDkwLCAgIDk5LCAgIDg4LCAgIDg2
LCAgIDg2LCAgIDk4LCAgMTAyLCAgIDg2LA0KPiAtICAgICAgIDg2LCAgIDkxLCAgIDkxLCAgIDkz
LCAgIDkxLCAgIDk0LCAgIDk0LCAgIDkxLCAgMTAxLCAgMTA0LA0KPiAtICAgICAgMTAyLCAgIDk0
LCAgMTAxLCAgMTEwLCAgIDk5LCAgIDk4LCAgMTAwLCAgMTAwLCAgMTAwLCAgMTAwLA0KPiAtICAg
ICAgMTAwLCAgMTAzLCAgMTAzLCAgMTAwLCAgMTAwLCAgMzQzLCAgMTA1LCAgMTAzLCAgMTA1LCAg
MTA3LA0KPiAtICAgICAgMTA5LCAgMTA3LCAgMTExLCAgMTEwLCAgMTA5LCAgMTEzLCAgMTEzLCAg
MzQxLCAgMTIxLCAgMTE4LA0KPiAtICAgICAgMTExLCAgMTEyLCAgMTEyLCAgMTEyLCAgMTEyLCAg
MTEyLCAgMTIxLCAgMTEzLCAgMTEyLCAgMTEyLA0KPiAtICAgICAgMTE0LCAgMTE0LCAgMTE2LCAg
MTE2LCAgMTE4LCAgMTE2LCAgMTE0LCAgMTE1LCAgMTE1LCAgMTE1LA0KPiAtICAgICAgMTE1LCAg
MTE1LCAgMTIzLCAgMTIzLCAgMTE1LCAgMTE1LCAgMTE3LCAgMTE3LCAgMTE3LCAgMTE3LA0KPiAt
ICAgICAgMTE3LCAgMTI0LCAgMTIyLCAgMTE3LCAgMTE3LCAgMTE5LCAgMTIyLCAgMTE5LCAgMTIw
LCAgMTIwLA0KPiAtDQo+IC0gICAgICAxMjAsICAxMjAsICAxMjAsICAxMjUsICAxMzAsICAxMjAs
ICAxMjAsICAxMjUsICAxMzEsICAxMjQsDQo+IC0gICAgICAxMjYsICAxMjYsICAxMjgsICAxMjgs
ICAxMzEsICAxMzQsICAxMjYsICAxMzAsICAxMjgsICAxMzMsDQo+IC0gICAgICAxMzMsICAxMzMs
ICAxMzUsICAxMzYsICAxMzMsICAxMzksICAxNjQsICAxNDAsICAxMzgsICAxNDAsDQo+IC0gICAg
ICAxMzQsICAxNjQsICAxMzMsICAxNDEsICAxNDEsICAxNjMsICAxNjMsICAzMzgsICAxMzksICAx
NDEsDQo+IC0gICAgICAxMzYsICAxMzUsICAxMzcsICAxMzcsICAxMzcsICAxMzcsICAxMzcsICAx
MzgsICAzMzYsICAxMzcsDQo+IC0gICAgICAxMzcsICAxNDMsICAxNDMsICAxNDUsICAxNDUsICAx
NDYsICAxNDYsICAxNDMsICAxNDcsICAxNDcsDQo+IC0gICAgICAxNDksICAxNDksICAxNDUsICAx
NTUsICAxNDcsICAxNjEsICAxNDksICAxNTEsICAxNTEsICAxNTMsDQo+IC0gICAgICAxNTMsICAx
NDYsICAxNjAsICAxNTEsICAyNzAsICAxNTMsICAxNzYsICAxNTYsICAxNTYsICAxNTgsDQo+IC0g
ICAgICAxNTgsICAxNzYsICAxNTUsICAxNTYsICAxNjEsICAxNTgsICAxNjUsICAxNjUsICAxNzAs
ICAyNzAsDQo+IC0gICAgICAxNjAsICAxNzAsICAxNjUsICAxNzIsICAxNzIsICAxNzMsICAxNzMs
ICAxNzQsICAxNzQsICAxNzUsDQo+IC0NCj4gLSAgICAgIDIwOCwgIDE3NywgIDIyMCwgIDE3NSwg
IDE3NywgIDE3OCwgIDE3OCwgIDE3MywgIDIyMCwgIDE3NCwNCj4gLSAgICAgIDIwOCwgIDE3OCwg
IDE4MCwgIDE4MCwgIDE3MiwgIDE4MiwgIDE4MiwgIDE4MywgIDE4MCwgIDMzNCwNCj4gLSAgICAg
IDE5MCwgIDE5MCwgIDE4MywgIDE4NCwgIDE4NCwgIDE4NCwgIDE4NCwgIDE4NCwgIDE4NSwgIDE4
NSwNCj4gLSAgICAgIDE4NCwgIDE4NCwgIDE5MCwgIDI0MywgIDE4NSwgIDE5MSwgIDE5MSwgIDE5
MiwgIDE5MiwgIDE5NywNCj4gLSAgICAgIDE5NywgIDIwMiwgIDIwMiwgIDE5MiwgIDMzMiwgIDE5
NywgIDIwMywgIDIwMywgIDIwOSwgIDIwOSwNCj4gLSAgICAgIDIxMywgIDIxMywgIDIwMywgIDIx
NCwgIDIxNCwgIDIxNSwgIDIxNSwgIDI0MywgIDIxNiwgIDIxNiwNCj4gLSAgICAgIDIxNywgIDIx
NywgIDIxOCwgIDIxOCwgIDIxOSwgIDIxOSwgIDIyMSwgIDIyMSwgIDIxNSwgIDIzNSwNCj4gLSAg
ICAgIDIxOSwgIDIzNSwgIDIyMSwgIDIxNCwgIDIxNiwgIDIxNywgIDIyNywgIDIyNywgIDIyOCwg
IDIyOCwNCj4gLSAgICAgIDIzMCwgIDIzMCwgIDIzMiwgIDMzMSwgIDIyOCwgIDIzMywgIDIzMCwg
IDIzMywgIDIzMywgIDMyOSwNCj4gLSAgICAgIDIzMiwgIDIzMiwgIDIzNiwgIDIzNiwgIDI0MSwg
IDI0MSwgIDI0NCwgIDI0NCwgIDI0NSwgIDI0NSwNCj4gLQ0KPiAtICAgICAgMjQxLCAgMjQ2LCAg
MjQ2LCAgMjQ3LCAgMjQ4LCAgMjQ4LCAgMjY3LCAgMjY3LCAgMjQ0LCAgMjU5LA0KPiAtICAgICAg
MjU5LCAgMjQ3LCAgMjQ3LCAgMjUyLCAgMjUyLCAgMjQ1LCAgMjQ4LCAgMzI2LCAgMjQ2LCAgMjUy
LA0KPiAtICAgICAgMjUzLCAgMjUzLCAgMjY3LCAgMzI0LCAgMjU5LCAgMzE2LCAgMjUzLCAgMjYy
LCAgMjYyLCAgMjYyLA0KPiAtICAgICAgMjYyLCAgMjYyLCAgMjcxLCAgMjcxLCAgMjYyLCAgMjYy
LCAgMjcyLCAgMjc2LCAgMjczLCAgMjcyLA0KPiAtICAgICAgMjcyLCAgMjczLCAgMjczLCAgMjc3
LCAgMjc4LCAgMzE2LCAgMjc2LCAgMjcxLCAgMjgxLCAgMjgxLA0KPiAtICAgICAgMjk5LCAgMjc4
LCAgMjc4LCAgMjgyLCAgMjgyLCAgMjg1LCAgMjg1LCAgMjc3LCAgMzAwLCAgMjg3LA0KPiAtICAg
ICAgMjg3LCAgMjg1LCAgMjkwLCAgMjkwLCAgMjgxLCAgMjg3LCAgMzIzLCAgMjkzLCAgMjk0LCAg
Mjk0LA0KPiAtICAgICAgMjkwLCAgMjkzLCAgMzAzLCAgMjk5LCAgMzAxLCAgMzAxLCAgMzAyLCAg
MzAyLCAgMzEwLCAgMzEwLA0KPiAtICAgICAgMzAzLCAgMzAzLCAgMzAwLCAgMzE3LCAgMzAyLCAg
Mjk0LCAgMzA0LCAgMzA0LCAgMzIyLCAgMzI4LA0KPiAtICAgICAgMzAxLCAgMzA5LCAgMzA0LCAg
MzExLCAgMzA5LCAgMzA5LCAgMzExLCAgMzExLCAgMzE4LCAgMzE3LA0KPiAtDQo+IC0gICAgICAz
MTgsICAzMTgsICAzMTksICAzMjEsICAzMTQsICAzMTksICAzMTksICAzMjgsICAzMzAsICAzMzAs
DQo+IC0gICAgICAzNTAsICAzMzAsICAzNDAsICAzNDAsICAzNDAsICAzMTIsICAyOTcsICAyOTYs
ICAzNTAsICAzNTAsDQo+IC0gICAgICAzNTUsICAzNTUsICAzNTUsICAzNTUsICAzNTYsICAzNTYs
ICAzNTYsICAzNTcsICAzNTcsICAzNTcsDQo+IC0gICAgICAzNTcsICAzNTgsICAzNTgsICAzNTgs
ICAzNTgsICAzNTksICAyOTUsICAzNTksICAzNTksICAzNjAsDQo+IC0gICAgICAzNjAsICAzNjAs
ICAzNjAsICAzNjEsICAyOTEsICAzNjEsICAzNjEsICAzNjIsICAzNjIsICAzNjIsDQo+IC0gICAg
ICAzNjIsICAzNjMsICAzNjMsICAyODMsICAzNjMsICAzNjQsICAzNjQsICAzNjQsICAzNjQsICAz
NjUsDQo+IC0gICAgICAyNzksICAzNjUsICAzNjUsICAzNjYsICAzNjYsICAzNjYsICAzNjYsICAz
NjcsICAzNjcsICAzNjcsDQo+IC0gICAgICAzNjcsICAzNjgsICAzNjgsICAzNjgsICAzNjgsICAz
NjksICAzNjksICAzNjksICAzNjksICAzNzAsDQo+IC0gICAgICAzNzAsICAzNzAsICAzNzAsICAz
NzEsICAzNzEsICAzNzEsICAzNzEsICAzNzIsICAyNzQsICAzNzIsDQo+IC0gICAgICAzNzIsICAz
NzMsICAzNzMsICAzNzMsICAzNzMsICAzNzQsICAzNzQsICAzNzQsICAzNzQsICAzNzUsDQo+IC0N
Cj4gLSAgICAgIDI2OCwgIDM3NSwgIDM3NSwgIDM3NiwgIDM3NiwgIDM3NiwgIDM3NiwgIDM3Nywg
IDI2NSwgIDM3NywNCj4gLSAgICAgIDM3NywgIDM3OCwgIDM3OCwgIDM3OCwgIDM3OCwgIDM3OSwg
IDI2MywgIDM3OSwgIDM3OSwgIDM4MCwNCj4gLSAgICAgIDM4MCwgIDM4MCwgIDM4MCwgIDM4MSwg
IDI2MCwgIDM4MSwgIDM4MSwgIDM4MiwgIDM4MiwgIDM4MiwNCj4gLSAgICAgIDM4MiwgIDM4Mywg
IDI1MCwgIDM4MywgIDM4MywgIDM4NCwgIDM4NCwgIDM4NCwgIDM4NCwgIDM4NSwNCj4gLSAgICAg
IDI0MiwgIDM4NSwgIDM4NSwgIDM4NiwgIDM4NiwgIDM4NiwgIDM4NiwgIDM4NywgIDIzOSwgIDM4
NywNCj4gLSAgICAgIDM4NywgIDM4OCwgIDIzNywgIDM4OCwgIDM4OCwgIDM4OSwgIDIzNCwgIDM4
OSwgIDM4OSwgIDM5MCwNCj4gLSAgICAgIDIyNiwgIDM5MCwgIDM5MCwgIDM5MSwgIDM5MSwgIDM5
MSwgIDM5MSwgIDM5MiwgIDM5MiwgIDM5MiwNCj4gLSAgICAgIDM5MiwgIDM5MywgIDIxMiwgIDM5
MywgIDM5MywgIDM5NCwgIDM5NCwgIDM5NCwgIDM5NCwgIDM5NSwNCj4gLSAgICAgIDM5NSwgIDM5
NSwgIDM5NSwgIDM5NiwgIDIxMCwgIDM5NiwgIDM5NiwgIDM5NywgIDM5NywgIDM5NywNCj4gLSAg
ICAgIDM5NywgIDM5OCwgIDM5OCwgIDM5OCwgIDM5OCwgIDM5OSwgIDM5OSwgIDM5OSwgIDM5OSwg
IDQwMCwNCj4gLQ0KPiAtICAgICAgNDAwLCAgNDAwLCAgNDAwLCAgNDAxLCAgNDAxLCAgNDAxLCAg
NDAxLCAgNDAyLCAgNDAyLCAgNDAyLA0KPiAtICAgICAgNDAyLCAgNDAzLCAgMTYyLCAgNDAzLCAg
NDAzLCAgNDA0LCAgNDA0LCAgNDA0LCAgNDA0LCAgNDA1LA0KPiAtICAgICAgNDA1LCAgNDA1LCAg
NDA1LCAgNDA2LCAgMTA4LCAgNDA2LCAgNDA2LCAgNDA3LCAgNDA3LCAgNDA3LA0KPiAtICAgICAg
NDA3LCAgNDA4LCAgNDA4LCAgNDA4LCAgNDA4LCAgNDA5LCAgNDA5LCAgNDA5LCAgNDA5LCAgNDEw
LA0KPiAtICAgICAgMTA2LCAgNDEwLCAgNDEwLCAgNDExLCAgNDExLCAgNDExLCAgNDExLCAgNDEy
LCAgNDEyLCAgNDEyLA0KPiAtICAgICAgNDEyLCAgNDEzLCAgIDY5LCAgNDEzLCAgNDEzLCAgNDE0
LCAgNDE0LCAgNDE0LCAgNDE0LCAgNDE1LA0KPiAtICAgICAgNDE1LCAgNDE1LCAgNDE1LCAgNDE2
LCAgNDE2LCAgNDE2LCAgNDE2LCAgNDE3LCAgNDE3LCAgNDE3LA0KPiAtICAgICAgNDE3LCAgNDE4
LCAgNDE4LCAgNDE4LCAgNDE4LCAgNDE5LCAgNDE5LCAgNDE5LCAgNDE5LCAgNDIwLA0KPiAtICAg
ICAgNDIwLCAgNDIwLCAgNDIwLCAgNDIxLCAgNDIxLCAgNDIxLCAgNDIxLCAgNDIyLCAgNDIyLCAg
NDIyLA0KPiAtICAgICAgNDIyLCAgNDIzLCAgNDIzLCAgNDIzLCAgNDIzLCAgIDM2LCAgIDI5LCAg
IDI1LCAgIDIzLCAgIDE3LA0KPiAtDQo+IC0gICAgICAgIDYsICAgIDUsICAgIDQsICAgIDMsICAz
NTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsDQo+IC0gICAgICAzNTQsICAzNTQsICAz
NTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsDQo+IC0gICAgICAz
NTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQs
DQo+IC0gICAgICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQsICAzNTQs
ICAzNTQNCj4gKyAgICAgICAyNCwgICAyMiwgICAyNCwgICA0NywgICA0NywgICAyMSwgICAyNiwg
ICA1MSwgICAxOSwgICAyNiwNCj4gKyAgICAgICAyMCwgICA1MSwgICAxOSwgICAyNiwgICAyNiwg
ICAzMSwgICAzMSwgICAzMiwgICAzMiwgICAzMiwNCj4gKw0KPiArICAgICAgIDM5LCAgIDMxLCAg
IDM5LCAgIDQyLCAgIDMyLCAgIDM1LCAgIDM1LCAgIDM1LCAgIDM1LCAgIDQwLA0KPiArICAgICAg
IDQ0LCAgIDQ1LCAgIDM1LCAgIDM1LCAgIDM3LCAgIDM3LCAgIDM3LCAgIDM3LCAgIDM3LCAgIDM5
LA0KPiArICAgICAgIDQyLCAgIDM3LCAgIDM3LCAgIDQwLCAgIDQxLCAgIDQzLCAgIDQxLCAgIDQ4
LCAgIDQ1LCAgIDQ1LA0KPiArICAgICAgIDQ5LCAgIDQ0LCAgIDUwLCAgIDU1LCAgIDU2LCAgIDUw
LCAgIDQzLCAgIDUyLCAgIDQ4LCAgIDUyLA0KPiArICAgICAgIDUzLCAgIDU0LCAgIDU3LCAgIDUz
LCAgIDU4LCAgIDU5LCAgIDU0LCAgIDQ5LCAgIDU2LCAgIDYwLA0KPiArICAgICAgIDYyLCAgIDYx
LCAgIDcxLCAgIDYwLCAgIDYxLCAgIDcyLCAgIDcxLCAgIDU1LCAgIDc3LCAgIDk0LA0KPiArICAg
ICAgIDU5LCAgIDU4LCAgIDU5LCAgIDcyLCAgIDU3LCAgIDY0LCAgIDY0LCAgIDYyLCAgIDY3LCAg
IDY3LA0KPiArICAgICAgIDczLCAgIDY0LCAgIDczLCAgIDc0LCAgIDY3LCAgIDc1LCAgIDc2LCAg
IDc3LCAgIDc4LCAgIDc5LA0KPiArICAgICAgIDk0LCAgIDc5LCAgIDc4LCAgIDc0LCAgIDgwLCAg
IDgyLCAgIDg0LCAgIDgwLCAgIDgxLCAgIDc1LA0KPiArICAgICAgIDc2LCAgIDgzLCAgIDgxLCAg
IDg1LCAgIDgzLCAgIDg5LCAgIDkxLCAgIDgyLCAgIDg0LCAgIDg2LA0KPiArDQo+ICsgICAgICAg
ODgsICAgODYsICAgODgsICAgOTAsICAgOTEsICAgOTAsICAzNTcsICAxMDcsICAgOTUsICAxMDcs
DQo+ICsgICAgICAgOTMsICAgODUsICAgODcsICAgODcsICAgODcsICAgODcsICAgOTMsICAgODks
ICAxMDAsICAgODcsDQo+ICsgICAgICAgODcsICAxMDEsICAxMDQsICAgODcsICAgODcsICAgOTIs
ICAgOTIsICAgOTUsICAgOTIsICAgOTYsDQo+ICsgICAgICAgOTYsICAgOTIsICAxMDYsICAxMDMs
ICAxMDQsICAgOTYsICAxMDAsICAxMDMsICAxMDksICAxMTIsDQo+ICsgICAgICAxMDksICAxMzks
ICAxMDEsICAxMDIsICAxMDIsICAxMDIsICAxMDIsICAxMDIsICAxMDUsICAxMDUsDQo+ICsgICAg
ICAxMDIsICAxMDIsICAxMTMsICAxMTEsICAxMDUsICAxMzgsICAxMDYsICAxMTEsICAxMzksICAx
MTIsDQo+ICsgICAgICAxMTMsICAxMTQsICAxMTQsICAxMTQsICAxMTQsICAxMTQsICAxMTUsICAx
MTUsICAxMTQsICAxMTQsDQo+ICsgICAgICAxMTYsICAxMTYsICAxMTgsICAxMTgsICAxMzgsICAx
MTgsICAxMTYsICAxMjMsICAxMTUsICAxMTcsDQo+ICsgICAgICAxMTcsICAxMTcsICAxMTcsICAx
MTcsICAxMjAsICAxMjMsICAxMTcsICAxMTcsICAxMTksICAxMTksDQo+ICsgICAgICAxMTksICAx
MTksICAxMTksICAxMjQsICAxMjcsICAxMTksICAxMTksICAxMjQsICAxMjEsICAxMjAsDQo+ICsN
Cj4gKyAgICAgIDEyMSwgIDEyMiwgIDEyMiwgIDEyMiwgIDEyMiwgIDEyMiwgIDEyNSwgIDEyNSwg
IDEyMiwgIDEyMiwNCj4gKyAgICAgIDEyNiwgIDEyOCwgIDEyNywgIDEyOSwgIDEyOSwgIDEyOCwg
IDEzMSwgIDEzMSwgIDEyNiwgIDEyOSwNCj4gKyAgICAgIDEzMywgIDEzNCwgIDEzMSwgIDEzNiwg
IDEzNiwgIDEzNiwgIDEzNywgIDEzNCwgIDEzNiwgIDE0MSwNCj4gKyAgICAgIDE0MywgIDM1Mywg
IDE0MywgIDEzMywgIDE0MiwgIDE2OCwgIDEzNiwgIDE2NywgIDE2NywgIDE1OCwNCj4gKyAgICAg
IDE2OCwgIDEzNywgIDE0MCwgIDE0MCwgIDE0MCwgIDE0MCwgIDE0MCwgIDE0MiwgIDE0MSwgIDE0
MCwNCj4gKyAgICAgIDE0MCwgIDE0NCwgIDE0NCwgIDE0NiwgIDE0NiwgIDE0OCwgIDE0OCwgIDE0
NCwgIDE1OCwgIDE0NiwNCj4gKyAgICAgIDE0OSwgIDE0OSwgIDE1MCwgIDE1MCwgIDE0OCwgIDE1
MiwgIDE1MiwgIDE2NCwgIDE1MCwgIDE1NCwNCj4gKyAgICAgIDE1NCwgIDE1MiwgIDE1NiwgIDE1
NiwgIDE2MywgIDE1NCwgIDE0OSwgIDE2NiwgIDE1NiwgIDE1OSwNCj4gKyAgICAgIDE1OSwgIDE2
MSwgIDE2MSwgIDE2OSwgIDE2OSwgIDE1OSwgIDE2NCwgIDE2MSwgIDM1MSwgIDE2OSwNCj4gKyAg
ICAgIDE3NCwgIDE2NiwgIDE2MywgIDE3NCwgIDE3NiwgIDE3NiwgIDE3NywgIDE3NywgIDE3OCwg
IDE3OCwNCj4gKw0KPiArICAgICAgMTc5LCAgMTgwLCAgMTgxLCAgMjE2LCAgMTc5LCAgMTgxLCAg
MTgwLCAgMzQ5LCAgMTc3LCAgMjE2LA0KPiArICAgICAgMTc4LCAgMTgyLCAgMTgyLCAgMTg0LCAg
MTg0LCAgMTc2LCAgMjI1LCAgMTgyLCAgMTg3LCAgMTg0LA0KPiArICAgICAgMTg2LCAgMTg2LCAg
MjI1LCAgMTg3LCAgMTg4LCAgMTg4LCAgMTg4LCAgMTg4LCAgMTg4LCAgMTg5LA0KPiArICAgICAg
MTg5LCAgMTg4LCAgMTg4LCAgMTk0LCAgMTk0LCAgMTg5LCAgMTk1LCAgMTk1LCAgMTk2LCAgMTk2
LA0KPiArICAgICAgMjAxLCAgMjAxLCAgMjA2LCAgMjA2LCAgMTk2LCAgMTk0LCAgMjAxLCAgMjA3
LCAgMjA3LCAgMjEyLA0KPiArICAgICAgMjEzLCAgMjEzLCAgMzA1LCAgMjA3LCAgMjE4LCAgMjE4
LCAgMjE5LCAgMjE5LCAgMzQ3LCAgMjEyLA0KPiArICAgICAgMjIwLCAgMjIwLCAgMjIxLCAgMjIx
LCAgMjIyLCAgMjIyLCAgMjIzLCAgMjIzLCAgMjI0LCAgMjI0LA0KPiArICAgICAgMzQ0LCAgMjI2
LCAgMjI2LCAgMjIwLCAgMjI0LCAgMzA1LCAgMjE5LCAgMjI2LCAgMjIxLCAgMjIyLA0KPiArICAg
ICAgMjMyLCAgMjMyLCAgMjMzLCAgMjMzLCAgMjM1LCAgMjM1LCAgMjM3LCAgMjQ5LCAgMjMzLCAg
MjM4LA0KPiArICAgICAgMjM1LCAgMjM4LCAgMjM4LCAgMjk5LCAgMjM3LCAgMjM3LCAgMjQwLCAg
Mjk5LCAgMjQwLCAgMjQxLA0KPiArDQo+ICsgICAgICAyNDEsICAyNDcsICAyNDcsICAyNTAsICAy
NTAsICAyNTEsICAyNTEsICAyNDcsICAyNTIsICAyNTIsDQo+ICsgICAgICAyNTMsICAyNDksICAy
NTQsICAyNTQsICAyODIsICAyNTAsICAyNjUsICAyNjUsICAyNTMsICAyNTMsDQo+ICsgICAgICAy
NTgsICAyNTgsICAyNTEsICAyODIsICAyNTQsICAyNTIsICAyNTgsICAyNTksICAyNTksICAyNzMs
DQo+ICsgICAgICAyNzMsICAyNjUsICAyNzYsICAyNTksICAyNjgsICAyNjgsICAyNjgsICAyNjgs
ICAyNjgsICAyNzcsDQo+ICsgICAgICAyNzcsICAyNjgsICAyNjgsICAyODMsICAzNDIsICAyNzMs
ICAyNzgsICAyNzYsICAyNzksICAyNzgsDQo+ICsgICAgICAyNzgsICAyNzksICAyNzksICAyODQs
ICAyNzcsICAyODcsICAyODcsICAyODMsICAyODgsICAyODgsDQo+ICsgICAgICAyODQsICAyODQs
ICAyOTEsICAyOTEsICAyOTMsICAyOTMsICAyOTYsICAyOTYsICAyOTEsICAzMDYsDQo+ICsgICAg
ICAyOTMsICAyODcsICAzMDAsICAzMDAsICAyOTYsICAzMDcsICAzMDcsICAzMDgsICAzMDgsICAz
MDksDQo+ICsgICAgICAzMTAsICAzMTAsICAzMTYsICAzMTYsICAzMjIsICAzMDgsICAzMTAsICAz
MDksICAzMDksICAzMDAsDQo+ICsgICAgICAzMjMsICAzMDcsICAzMTUsICAzMDYsICAzMTcsICAz
MTUsICAzMTUsICAzMTcsICAzMTcsICAzMjQsDQo+ICsNCj4gKyAgICAgIDMzNCwgIDMyNCwgIDMy
NCwgIDM0MCwgIDMyMiwgIDMyNSwgIDMyMywgIDMzOCwgIDMyNSwgIDMyNSwNCj4gKyAgICAgIDMz
NiwgIDMzNiwgIDM1NiwgIDMzNiwgIDM0NiwgIDM0NiwgIDM0NiwgIDMzNywgIDMzNCwgIDMzNSwN
Cj4gKyAgICAgIDM1NiwgIDM1NiwgIDM2MSwgIDM2MSwgIDM2MSwgIDM2MSwgIDM2MiwgIDM2Miwg
IDM2MiwgIDM2MywNCj4gKyAgICAgIDM2MywgIDM2MywgIDM2MywgIDM2NCwgIDM2NCwgIDM2NCwg
IDM2NCwgIDM2NSwgIDMzMiwgIDM2NSwNCj4gKyAgICAgIDM2NSwgIDM2NiwgIDM2NiwgIDM2Niwg
IDM2NiwgIDM2NywgIDMzMCwgIDM2NywgIDM2NywgIDM2OCwNCj4gKyAgICAgIDM2OCwgIDM2OCwg
IDM2OCwgIDM2OSwgIDM2OSwgIDMyOSwgIDM2OSwgIDM3MCwgIDM3MCwgIDM3MCwNCj4gKyAgICAg
IDM3MCwgIDM3MSwgIDMyOCwgIDM3MSwgIDM3MSwgIDM3MiwgIDM3MiwgIDM3MiwgIDM3MiwgIDM3
MywNCj4gKyAgICAgIDM3MywgIDM3MywgIDM3MywgIDM3NCwgIDM3NCwgIDM3NCwgIDM3NCwgIDM3
NSwgIDM3NSwgIDM3NSwNCj4gKyAgICAgIDM3NSwgIDM3NiwgIDM3NiwgIDM3NiwgIDM3NiwgIDM3
NywgIDM3NywgIDM3NywgIDM3NywgIDM3OCwNCj4gKyAgICAgIDMyNywgIDM3OCwgIDM3OCwgIDM3
OSwgIDM3OSwgIDM3OSwgIDM3OSwgIDM4MCwgIDM4MCwgIDM4MCwNCj4gKw0KPiArICAgICAgMzgw
LCAgMzgxLCAgMzIwLCAgMzgxLCAgMzgxLCAgMzgyLCAgMzgyLCAgMzgyLCAgMzgyLCAgMzgzLA0K
PiArICAgICAgMzE4LCAgMzgzLCAgMzgzLCAgMzg0LCAgMzg0LCAgMzg0LCAgMzg0LCAgMzg1LCAg
MzAzLCAgMzg1LA0KPiArICAgICAgMzg1LCAgMzg2LCAgMzg2LCAgMzg2LCAgMzg2LCAgMzg3LCAg
MzAyLCAgMzg3LCAgMzg3LCAgMzg4LA0KPiArICAgICAgMzg4LCAgMzg4LCAgMzg4LCAgMzg5LCAg
MzAxLCAgMzg5LCAgMzg5LCAgMzkwLCAgMzkwLCAgMzkwLA0KPiArICAgICAgMzkwLCAgMzkxLCAg
Mjk3LCAgMzkxLCAgMzkxLCAgMzkyLCAgMzkyLCAgMzkyLCAgMzkyLCAgMzkzLA0KPiArICAgICAg
Mjg5LCAgMzkzLCAgMzkzLCAgMzk0LCAgMjg1LCAgMzk0LCAgMzk0LCAgMzk1LCAgMjgwLCAgMzk1
LA0KPiArICAgICAgMzk1LCAgMzk2LCAgMjc0LCAgMzk2LCAgMzk2LCAgMzk3LCAgMzk3LCAgMzk3
LCAgMzk3LCAgMzk4LA0KPiArICAgICAgMzk4LCAgMzk4LCAgMzk4LCAgMzk5LCAgMjcxLCAgMzk5
LCAgMzk5LCAgNDAwLCAgNDAwLCAgNDAwLA0KPiArICAgICAgNDAwLCAgNDAxLCAgNDAxLCAgNDAx
LCAgNDAxLCAgNDAyLCAgMjY5LCAgNDAyLCAgNDAyLCAgNDAzLA0KPiArICAgICAgNDAzLCAgNDAz
LCAgNDAzLCAgNDA0LCAgNDA0LCAgNDA0LCAgNDA0LCAgNDA1LCAgNDA1LCAgNDA1LA0KPiArDQo+
ICsgICAgICA0MDUsICA0MDYsICA0MDYsICA0MDYsICA0MDYsICA0MDcsICA0MDcsICA0MDcsICA0
MDcsICA0MDgsDQo+ICsgICAgICA0MDgsICA0MDgsICA0MDgsICA0MDksICAyNjYsICA0MDksICA0
MDksICA0MTAsICA0MTAsICA0MTAsDQo+ICsgICAgICA0MTAsICA0MTEsICA0MTEsICA0MTEsICA0
MTEsICA0MTIsICAyNTYsICA0MTIsICA0MTIsICA0MTMsDQo+ICsgICAgICA0MTMsICA0MTMsICA0
MTMsICA0MTQsICA0MTQsICA0MTQsICA0MTQsICA0MTUsICA0MTUsICA0MTUsDQo+ICsgICAgICA0
MTUsICA0MTYsICAyNDgsICA0MTYsICA0MTYsICA0MTcsICA0MTcsICA0MTcsICA0MTcsICA0MTgs
DQo+ICsgICAgICA0MTgsICA0MTgsICA0MTgsICA0MTksICAyNDUsICA0MTksICA0MTksICA0MjAs
ICA0MjAsICA0MjAsDQo+ICsgICAgICA0MjAsICA0MjEsICA0MjEsICA0MjEsICA0MjEsICA0MjIs
ICA0MjIsICA0MjIsICA0MjIsICA0MjMsDQo+ICsgICAgICA0MjMsICA0MjMsICA0MjMsICA0MjQs
ICA0MjQsICA0MjQsICA0MjQsICA0MjUsICA0MjUsICA0MjUsDQo+ICsgICAgICA0MjUsICA0MjYs
ICA0MjYsICA0MjYsICA0MjYsICA0MjcsICA0MjcsICA0MjcsICA0MjcsICA0MjgsDQo+ICsgICAg
ICA0MjgsICA0MjgsICA0MjgsICA0MjksICA0MjksICA0MjksICA0MjksICAyNDIsICAyMzksICAy
MzEsDQo+ICsNCj4gKyAgICAgIDIxNywgIDIxNCwgIDE2NSwgIDExMCwgIDEwOCwgICA3MCwgICAz
NiwgICAyOSwgICAyNSwgICAyMywNCj4gKyAgICAgICAxNywgICAgNiwgICAgNSwgICAgNCwgICAg
MywgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwNCj4gKyAgICAgIDM2MCwgIDM2MCwgIDM2
MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwNCj4gKyAgICAgIDM2
MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwN
Cj4gKyAgICAgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwgIDM2MCwg
IDM2MCwgIDM2MA0KPiAgICAgIH0gOw0KPiANCj4gICNkZWZpbmUgWVlfVFJBSUxJTkdfTUFTSyAw
eDIwMDANCj4gQEAgLTExOTksOSArMTIwMyw5IEBAIHN0YXRpYyBpbnQgdmRldl9hbmRfZGV2dHlw
ZShEaXNrUGFyc2VDb250ZXh0ICpkcGMsDQo+IGNoYXIgKnN0cikgew0KPiAgI3VuZGVmIERQQyAv
KiBuZWVkcyB0byBiZSBkZWZpbmVkIGRpZmZlcmVudGx5IHRoZSBhY3R1YWwgbGV4ZXIgKi8NCj4g
ICNkZWZpbmUgRFBDICgoRGlza1BhcnNlQ29udGV4dCopeXlleHRyYSkNCj4gDQo+IC0jbGluZSAx
MjAyICJsaWJ4bHVfZGlza19sLmMiDQo+ICsjbGluZSAxMjA2ICJsaWJ4bHVfZGlza19sLmMiDQo+
IA0KPiAtI2xpbmUgMTIwNCAibGlieGx1X2Rpc2tfbC5jIg0KPiArI2xpbmUgMTIwOCAibGlieGx1
X2Rpc2tfbC5jIg0KPiANCj4gICNkZWZpbmUgSU5JVElBTCAwDQo+ICAjZGVmaW5lIExFWEVSUiAx
DQo+IEBAIC0xNDgzLDcgKzE0ODcsNyBAQCBZWV9ERUNMDQo+ICAjbGluZSAxODAgImxpYnhsdV9k
aXNrX2wubCINCj4gICAvKi0tLS0tIHRoZSBzY2FubmVyIHJ1bGVzIHdoaWNoIGRvIHRoZSBwYXJz
aW5nIC0tLS0tKi8NCj4gDQo+IC0jbGluZSAxNDg2ICJsaWJ4bHVfZGlza19sLmMiDQo+ICsjbGlu
ZSAxNDkwICJsaWJ4bHVfZGlza19sLmMiDQo+IA0KPiAgCXdoaWxlICggLypDT05TVENPTkQqLzEg
KQkJLyogbG9vcHMgdW50aWwgZW5kLW9mLWZpbGUgaXMNCj4gcmVhY2hlZCAqLw0KPiAgCQl7DQo+
IEBAIC0xNTE1LDE0ICsxNTE5LDE0IEBAIHl5X21hdGNoOg0KPiAgCQkJd2hpbGUgKCB5eV9jaGtb
eXlfYmFzZVt5eV9jdXJyZW50X3N0YXRlXSArIHl5X2NdICE9DQo+IHl5X2N1cnJlbnRfc3RhdGUg
KQ0KPiAgCQkJCXsNCj4gIAkJCQl5eV9jdXJyZW50X3N0YXRlID0gKGludCkgeXlfZGVmW3l5X2N1
cnJlbnRfc3RhdGVdOw0KPiAtCQkJCWlmICggeXlfY3VycmVudF9zdGF0ZSA+PSAzNTUgKQ0KPiAr
CQkJCWlmICggeXlfY3VycmVudF9zdGF0ZSA+PSAzNjEgKQ0KPiAgCQkJCQl5eV9jID0geXlfbWV0
YVt5eV9jXTsNCj4gIAkJCQl9DQo+ICAJCQl5eV9jdXJyZW50X3N0YXRlID0geXlfbnh0W3l5X2Jh
c2VbeXlfY3VycmVudF9zdGF0ZV0gKw0KPiB5eV9jXTsNCj4gIAkJCSp5eWctPnl5X3N0YXRlX3B0
cisrID0geXlfY3VycmVudF9zdGF0ZTsNCj4gIAkJCSsreXlfY3A7DQo+ICAJCQl9DQo+IC0JCXdo
aWxlICggeXlfY3VycmVudF9zdGF0ZSAhPSAzNTQgKTsNCj4gKwkJd2hpbGUgKCB5eV9jdXJyZW50
X3N0YXRlICE9IDM2MCApOw0KPiANCj4gIHl5X2ZpbmRfYWN0aW9uOg0KPiAgCQl5eV9jdXJyZW50
X3N0YXRlID0gKi0teXlnLT55eV9zdGF0ZV9wdHI7DQo+IEBAIC0xNjQ4LDc2ICsxNjUyLDgxIEBA
IFlZX1JVTEVfU0VUVVANCj4gICNsaW5lIDIwMSAibGlieGx1X2Rpc2tfbC5sIg0KPiAgeyBsaWJ4
bF9kZWZib29sX3NldCgmRFBDLT5kaXNrLT5kaXNjYXJkX2VuYWJsZSwgZmFsc2UpOyB9DQo+ICAJ
WVlfQlJFQUsNCj4gLS8qIE5vdGUgdGhhdCB0aGUgQ09MTyBjb25maWd1cmF0aW9uIHNldHRpbmdz
IHNob3VsZCBiZSBjb25zaWRlcmVkDQo+IHVuc3RhYmxlLg0KPiAtICAqIFRoZXkgbWF5IGNoYW5n
ZSBpbmNvbXBhdGlibHkgaW4gZnV0dXJlIHZlcnNpb25zIG9mIFhlbi4gKi8NCj4gIGNhc2UgMTU6
DQo+ICBZWV9SVUxFX1NFVFVQDQo+IC0jbGluZSAyMDQgImxpYnhsdV9kaXNrX2wubCINCj4gLXsg
bGlieGxfZGVmYm9vbF9zZXQoJkRQQy0+ZGlzay0+Y29sb19lbmFibGUsIHRydWUpOyB9DQo+ICsj
bGluZSAyMDIgImxpYnhsdV9kaXNrX2wubCINCj4gK3sgRFBDLT5kaXNrLT52aXJ0aW8gPSAxOyB9
DQo+ICAJWVlfQlJFQUsNCj4gKy8qIE5vdGUgdGhhdCB0aGUgQ09MTyBjb25maWd1cmF0aW9uIHNl
dHRpbmdzIHNob3VsZCBiZSBjb25zaWRlcmVkDQo+IHVuc3RhYmxlLg0KPiArICAqIFRoZXkgbWF5
IGNoYW5nZSBpbmNvbXBhdGlibHkgaW4gZnV0dXJlIHZlcnNpb25zIG9mIFhlbi4gKi8NCj4gIGNh
c2UgMTY6DQo+ICBZWV9SVUxFX1NFVFVQDQo+ICAjbGluZSAyMDUgImxpYnhsdV9kaXNrX2wubCIN
Cj4gLXsgbGlieGxfZGVmYm9vbF9zZXQoJkRQQy0+ZGlzay0+Y29sb19lbmFibGUsIGZhbHNlKTsg
fQ0KPiAreyBsaWJ4bF9kZWZib29sX3NldCgmRFBDLT5kaXNrLT5jb2xvX2VuYWJsZSwgdHJ1ZSk7
IH0NCj4gIAlZWV9CUkVBSw0KPiAgY2FzZSAxNzoNCj4gLS8qIHJ1bGUgMTcgY2FuIG1hdGNoIGVv
bCAqLw0KPiAgWVlfUlVMRV9TRVRVUA0KPiAgI2xpbmUgMjA2ICJsaWJ4bHVfZGlza19sLmwiDQo+
IC17IFNUUklQKCcsJyk7IFNBVkVTVFJJTkcoImNvbG8taG9zdCIsIGNvbG9faG9zdCwgRlJPTUVR
VUFMUyk7IH0NCj4gK3sgbGlieGxfZGVmYm9vbF9zZXQoJkRQQy0+ZGlzay0+Y29sb19lbmFibGUs
IGZhbHNlKTsgfQ0KPiAgCVlZX0JSRUFLDQo+ICBjYXNlIDE4Og0KPiAgLyogcnVsZSAxOCBjYW4g
bWF0Y2ggZW9sICovDQo+ICBZWV9SVUxFX1NFVFVQDQo+ICAjbGluZSAyMDcgImxpYnhsdV9kaXNr
X2wubCINCj4gLXsgU1RSSVAoJywnKTsgc2V0Y29sb3BvcnQoRFBDLCBGUk9NRVFVQUxTKTsgfQ0K
PiAreyBTVFJJUCgnLCcpOyBTQVZFU1RSSU5HKCJjb2xvLWhvc3QiLCBjb2xvX2hvc3QsIEZST01F
UVVBTFMpOyB9DQo+ICAJWVlfQlJFQUsNCj4gIGNhc2UgMTk6DQo+ICAvKiBydWxlIDE5IGNhbiBt
YXRjaCBlb2wgKi8NCj4gIFlZX1JVTEVfU0VUVVANCj4gICNsaW5lIDIwOCAibGlieGx1X2Rpc2tf
bC5sIg0KPiAteyBTVFJJUCgnLCcpOyBTQVZFU1RSSU5HKCJjb2xvLWV4cG9ydCIsIGNvbG9fZXhw
b3J0LCBGUk9NRVFVQUxTKTsgfQ0KPiAreyBTVFJJUCgnLCcpOyBzZXRjb2xvcG9ydChEUEMsIEZS
T01FUVVBTFMpOyB9DQo+ICAJWVlfQlJFQUsNCj4gIGNhc2UgMjA6DQo+ICAvKiBydWxlIDIwIGNh
biBtYXRjaCBlb2wgKi8NCj4gIFlZX1JVTEVfU0VUVVANCj4gICNsaW5lIDIwOSAibGlieGx1X2Rp
c2tfbC5sIg0KPiAteyBTVFJJUCgnLCcpOyBTQVZFU1RSSU5HKCJhY3RpdmUtZGlzayIsIGFjdGl2
ZV9kaXNrLCBGUk9NRVFVQUxTKTsgfQ0KPiAreyBTVFJJUCgnLCcpOyBTQVZFU1RSSU5HKCJjb2xv
LWV4cG9ydCIsIGNvbG9fZXhwb3J0LCBGUk9NRVFVQUxTKTsgfQ0KPiAgCVlZX0JSRUFLDQo+ICBj
YXNlIDIxOg0KPiAgLyogcnVsZSAyMSBjYW4gbWF0Y2ggZW9sICovDQo+ICBZWV9SVUxFX1NFVFVQ
DQo+ICAjbGluZSAyMTAgImxpYnhsdV9kaXNrX2wubCINCj4gK3sgU1RSSVAoJywnKTsgU0FWRVNU
UklORygiYWN0aXZlLWRpc2siLCBhY3RpdmVfZGlzaywgRlJPTUVRVUFMUyk7IH0NCj4gKwlZWV9C
UkVBSw0KPiArY2FzZSAyMjoNCj4gKy8qIHJ1bGUgMjIgY2FuIG1hdGNoIGVvbCAqLw0KPiArWVlf
UlVMRV9TRVRVUA0KPiArI2xpbmUgMjExICJsaWJ4bHVfZGlza19sLmwiDQo+ICB7IFNUUklQKCcs
Jyk7IFNBVkVTVFJJTkcoImhpZGRlbi1kaXNrIiwgaGlkZGVuX2Rpc2ssIEZST01FUVVBTFMpOyB9
DQo+ICAJWVlfQlJFQUsNCj4gIC8qIHRoZSB0YXJnZXQgbWFnaWMgcGFyYW1ldGVyLCBlYXRzIHRo
ZSByZXN0IG9mIHRoZSBzdHJpbmcgKi8NCj4gLWNhc2UgMjI6DQo+ICtjYXNlIDIzOg0KPiAgWVlf
UlVMRV9TRVRVUA0KPiAtI2xpbmUgMjE0ICJsaWJ4bHVfZGlza19sLmwiDQo+ICsjbGluZSAyMTUg
ImxpYnhsdV9kaXNrX2wubCINCj4gIHsgU1RSSVAoJywnKTsgU0FWRVNUUklORygidGFyZ2V0Iiwg
cGRldl9wYXRoLCBGUk9NRVFVQUxTKTsgfQ0KPiAgCVlZX0JSRUFLDQo+ICAvKiB1bmtub3duIHBh
cmFtZXRlcnMgKi8NCj4gLWNhc2UgMjM6DQo+IC0vKiBydWxlIDIzIGNhbiBtYXRjaCBlb2wgKi8N
Cj4gK2Nhc2UgMjQ6DQo+ICsvKiBydWxlIDI0IGNhbiBtYXRjaCBlb2wgKi8NCj4gIFlZX1JVTEVf
U0VUVVANCj4gLSNsaW5lIDIxOCAibGlieGx1X2Rpc2tfbC5sIg0KPiArI2xpbmUgMjE5ICJsaWJ4
bHVfZGlza19sLmwiDQo+ICB7IHhsdV9fZGlza19lcnIoRFBDLHl5dGV4dCwidW5rbm93biBwYXJh
bWV0ZXIiKTsgfQ0KPiAgCVlZX0JSRUFLDQo+ICAvKiBkZXByZWNhdGVkIHByZWZpeGVzICovDQo+
ICAvKiB0aGUgIi8uKiIgaW4gdGhlc2UgcGF0dGVybnMgZW5zdXJlcyB0aGF0IHRoZXkgY291bnQg
YXMgaWYgdGhleQ0KPiAgICAgKiBtYXRjaGVkIHRoZSB3aG9sZSBzdHJpbmcsIHNvIHRoZXNlIHBh
dHRlcm5zIHRha2UgcHJlY2VkZW5jZSAqLw0KPiAtY2FzZSAyNDoNCj4gK2Nhc2UgMjU6DQo+ICBZ
WV9SVUxFX1NFVFVQDQo+IC0jbGluZSAyMjUgImxpYnhsdV9kaXNrX2wubCINCj4gKyNsaW5lIDIy
NiAibGlieGx1X2Rpc2tfbC5sIg0KPiAgew0KPiAgICAgICAgICAgICAgICAgICAgICBTVFJJUCgn
OicpOw0KPiAgICAgICAgICAgICAgICAgICAgICBEUEMtPmhhZF9kZXByX3ByZWZpeD0xOyBERVBS
RUNBVEUoInVzZQ0KPiBgW2Zvcm1hdD1dLi4uLCciKTsNCj4gICAgICAgICAgICAgICAgICAgICAg
c2V0Zm9ybWF0KERQQywgeXl0ZXh0KTsNCj4gICAgICAgICAgICAgICAgICAgfQ0KPiAgCVlZX0JS
RUFLDQo+IC1jYXNlIDI1Og0KPiArY2FzZSAyNjoNCj4gIFlZX1JVTEVfU0VUVVANCj4gLSNsaW5l
IDIzMSAibGlieGx1X2Rpc2tfbC5sIg0KPiArI2xpbmUgMjMyICJsaWJ4bHVfZGlza19sLmwiDQo+
ICB7DQo+ICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKm5ld3NjcmlwdDsNCj4gICAgICAgICAg
ICAgICAgICAgICAgU1RSSVAoJzonKTsNCj4gQEAgLTE3MzEsMzAgKzE3NDAsMjIgQEAgWVlfUlVM
RV9TRVRVUA0KPiAgICAgICAgICAgICAgICAgICAgICBmcmVlKG5ld3NjcmlwdCk7DQo+ICAgICAg
ICAgICAgICAgICAgfQ0KPiAgCVlZX0JSRUFLDQo+IC1jYXNlIDI2Og0KPiArY2FzZSAyNzoNCj4g
ICp5eV9jcCA9IHl5Zy0+eXlfaG9sZF9jaGFyOyAvKiB1bmRvIGVmZmVjdHMgb2Ygc2V0dGluZyB1
cCB5eXRleHQgKi8NCj4gIHl5Zy0+eXlfY19idWZfcCA9IHl5X2NwID0geXlfYnAgKyA4Ow0KPiAg
WVlfRE9fQkVGT1JFX0FDVElPTjsgLyogc2V0IHVwIHl5dGV4dCBhZ2FpbiAqLw0KPiAgWVlfUlVM
RV9TRVRVUA0KPiAtI2xpbmUgMjQ0ICJsaWJ4bHVfZGlza19sLmwiDQo+IC17IERQQy0+aGFkX2Rl
cHJfcHJlZml4PTE7IERFUFJFQ0FURSgwKTsgfQ0KPiAtCVlZX0JSRUFLDQo+IC1jYXNlIDI3Og0K
PiAtWVlfUlVMRV9TRVRVUA0KPiAgI2xpbmUgMjQ1ICJsaWJ4bHVfZGlza19sLmwiDQo+ICB7IERQ
Qy0+aGFkX2RlcHJfcHJlZml4PTE7IERFUFJFQ0FURSgwKTsgfQ0KPiAgCVlZX0JSRUFLDQo+ICBj
YXNlIDI4Og0KPiAtKnl5X2NwID0geXlnLT55eV9ob2xkX2NoYXI7IC8qIHVuZG8gZWZmZWN0cyBv
ZiBzZXR0aW5nIHVwIHl5dGV4dCAqLw0KPiAteXlnLT55eV9jX2J1Zl9wID0geXlfY3AgPSB5eV9i
cCArIDQ7DQo+IC1ZWV9ET19CRUZPUkVfQUNUSU9OOyAvKiBzZXQgdXAgeXl0ZXh0IGFnYWluICov
DQo+ICBZWV9SVUxFX1NFVFVQDQo+ICAjbGluZSAyNDYgImxpYnhsdV9kaXNrX2wubCINCj4gIHsg
RFBDLT5oYWRfZGVwcl9wcmVmaXg9MTsgREVQUkVDQVRFKDApOyB9DQo+ICAJWVlfQlJFQUsNCj4g
IGNhc2UgMjk6DQo+ICAqeXlfY3AgPSB5eWctPnl5X2hvbGRfY2hhcjsgLyogdW5kbyBlZmZlY3Rz
IG9mIHNldHRpbmcgdXAgeXl0ZXh0ICovDQo+IC15eWctPnl5X2NfYnVmX3AgPSB5eV9jcCA9IHl5
X2JwICsgNjsNCj4gK3l5Zy0+eXlfY19idWZfcCA9IHl5X2NwID0geXlfYnAgKyA0Ow0KPiAgWVlf
RE9fQkVGT1JFX0FDVElPTjsgLyogc2V0IHVwIHl5dGV4dCBhZ2FpbiAqLw0KPiAgWVlfUlVMRV9T
RVRVUA0KPiAgI2xpbmUgMjQ3ICJsaWJ4bHVfZGlza19sLmwiDQo+IEBAIC0xNzYyLDcgKzE3NjMs
NyBAQCBZWV9SVUxFX1NFVFVQDQo+ICAJWVlfQlJFQUsNCj4gIGNhc2UgMzA6DQo+ICAqeXlfY3Ag
PSB5eWctPnl5X2hvbGRfY2hhcjsgLyogdW5kbyBlZmZlY3RzIG9mIHNldHRpbmcgdXAgeXl0ZXh0
ICovDQo+IC15eWctPnl5X2NfYnVmX3AgPSB5eV9jcCA9IHl5X2JwICsgNTsNCj4gK3l5Zy0+eXlf
Y19idWZfcCA9IHl5X2NwID0geXlfYnAgKyA2Ow0KPiAgWVlfRE9fQkVGT1JFX0FDVElPTjsgLyog
c2V0IHVwIHl5dGV4dCBhZ2FpbiAqLw0KPiAgWVlfUlVMRV9TRVRVUA0KPiAgI2xpbmUgMjQ4ICJs
aWJ4bHVfZGlza19sLmwiDQo+IEBAIC0xNzcwLDI2ICsxNzcxLDM0IEBAIFlZX1JVTEVfU0VUVVAN
Cj4gIAlZWV9CUkVBSw0KPiAgY2FzZSAzMToNCj4gICp5eV9jcCA9IHl5Zy0+eXlfaG9sZF9jaGFy
OyAvKiB1bmRvIGVmZmVjdHMgb2Ygc2V0dGluZyB1cCB5eXRleHQgKi8NCj4gLXl5Zy0+eXlfY19i
dWZfcCA9IHl5X2NwID0geXlfYnAgKyA0Ow0KPiAreXlnLT55eV9jX2J1Zl9wID0geXlfY3AgPSB5
eV9icCArIDU7DQo+ICBZWV9ET19CRUZPUkVfQUNUSU9OOyAvKiBzZXQgdXAgeXl0ZXh0IGFnYWlu
ICovDQo+ICBZWV9SVUxFX1NFVFVQDQo+ICAjbGluZSAyNDkgImxpYnhsdV9kaXNrX2wubCINCj4g
IHsgRFBDLT5oYWRfZGVwcl9wcmVmaXg9MTsgREVQUkVDQVRFKDApOyB9DQo+ICAJWVlfQlJFQUsN
Cj4gIGNhc2UgMzI6DQo+IC0vKiBydWxlIDMyIGNhbiBtYXRjaCBlb2wgKi8NCj4gKyp5eV9jcCA9
IHl5Zy0+eXlfaG9sZF9jaGFyOyAvKiB1bmRvIGVmZmVjdHMgb2Ygc2V0dGluZyB1cCB5eXRleHQg
Ki8NCj4gK3l5Zy0+eXlfY19idWZfcCA9IHl5X2NwID0geXlfYnAgKyA0Ow0KPiArWVlfRE9fQkVG
T1JFX0FDVElPTjsgLyogc2V0IHVwIHl5dGV4dCBhZ2FpbiAqLw0KPiArWVlfUlVMRV9TRVRVUA0K
PiArI2xpbmUgMjUwICJsaWJ4bHVfZGlza19sLmwiDQo+ICt7IERQQy0+aGFkX2RlcHJfcHJlZml4
PTE7IERFUFJFQ0FURSgwKTsgfQ0KPiArCVlZX0JSRUFLDQo+ICtjYXNlIDMzOg0KPiArLyogcnVs
ZSAzMyBjYW4gbWF0Y2ggZW9sICovDQo+ICBZWV9SVUxFX1NFVFVQDQo+IC0jbGluZSAyNTEgImxp
YnhsdV9kaXNrX2wubCINCj4gKyNsaW5lIDI1MiAibGlieGx1X2Rpc2tfbC5sIg0KPiAgew0KPiAg
CQkgIHhsdV9fZGlza19lcnIoRFBDLHl5dGV4dCwidW5rbm93biBkZXByZWNhdGVkIGRpc2sgcHJl
Zml4Iik7DQo+ICAJCSAgcmV0dXJuIDA7DQo+ICAJCX0NCj4gIAlZWV9CUkVBSw0KPiAgLyogcG9z
aXRpb25hbCBwYXJhbWV0ZXJzICovDQo+IC1jYXNlIDMzOg0KPiAtLyogcnVsZSAzMyBjYW4gbWF0
Y2ggZW9sICovDQo+ICtjYXNlIDM0Og0KPiArLyogcnVsZSAzNCBjYW4gbWF0Y2ggZW9sICovDQo+
ICBZWV9SVUxFX1NFVFVQDQo+IC0jbGluZSAyNTggImxpYnhsdV9kaXNrX2wubCINCj4gKyNsaW5l
IDI1OSAibGlieGx1X2Rpc2tfbC5sIg0KPiAgew0KPiAgICAgIFNUUklQKCcsJyk7DQo+IA0KPiBA
QCAtMTgxNiwyNyArMTgyNSwyNyBAQCBZWV9SVUxFX1NFVFVQDQo+ICAgICAgfQ0KPiAgfQ0KPiAg
CVlZX0JSRUFLDQo+IC1jYXNlIDM0Og0KPiArY2FzZSAzNToNCj4gIFlZX1JVTEVfU0VUVVANCj4g
LSNsaW5lIDI4NCAibGlieGx1X2Rpc2tfbC5sIg0KPiArI2xpbmUgMjg1ICJsaWJ4bHVfZGlza19s
LmwiDQo+ICB7DQo+ICAgICAgQkVHSU4oTEVYRVJSKTsNCj4gICAgICB5eW1vcmUoKTsNCj4gIH0N
Cj4gIAlZWV9CUkVBSw0KPiAtY2FzZSAzNToNCj4gK2Nhc2UgMzY6DQo+ICBZWV9SVUxFX1NFVFVQ
DQo+IC0jbGluZSAyODggImxpYnhsdV9kaXNrX2wubCINCj4gKyNsaW5lIDI4OSAibGlieGx1X2Rp
c2tfbC5sIg0KPiAgew0KPiAgICAgIHhsdV9fZGlza19lcnIoRFBDLHl5dGV4dCwiYmFkIGRpc2sg
c3ludGF4Iik7IHJldHVybiAwOw0KPiAgfQ0KPiAgCVlZX0JSRUFLDQo+IC1jYXNlIDM2Og0KPiAr
Y2FzZSAzNzoNCj4gIFlZX1JVTEVfU0VUVVANCj4gLSNsaW5lIDI5MSAibGlieGx1X2Rpc2tfbC5s
Ig0KPiArI2xpbmUgMjkyICJsaWJ4bHVfZGlza19sLmwiDQo+ICBZWV9GQVRBTF9FUlJPUiggImZs
ZXggc2Nhbm5lciBqYW1tZWQiICk7DQo+ICAJWVlfQlJFQUsNCj4gLSNsaW5lIDE4MzkgImxpYnhs
dV9kaXNrX2wuYyINCj4gKyNsaW5lIDE4NDggImxpYnhsdV9kaXNrX2wuYyINCj4gIAkJCWNhc2Ug
WVlfU1RBVEVfRU9GKElOSVRJQUwpOg0KPiAgCQkJY2FzZSBZWV9TVEFURV9FT0YoTEVYRVJSKToN
Cj4gIAkJCQl5eXRlcm1pbmF0ZSgpOw0KPiBAQCAtMjEwNCw3ICsyMTEzLDcgQEAgc3RhdGljIGlu
dCB5eV9nZXRfbmV4dF9idWZmZXIgKHl5c2Nhbl90IHl5c2Nhbm5lcikNCj4gIAkJd2hpbGUgKCB5
eV9jaGtbeXlfYmFzZVt5eV9jdXJyZW50X3N0YXRlXSArIHl5X2NdICE9DQo+IHl5X2N1cnJlbnRf
c3RhdGUgKQ0KPiAgCQkJew0KPiAgCQkJeXlfY3VycmVudF9zdGF0ZSA9IChpbnQpIHl5X2RlZlt5
eV9jdXJyZW50X3N0YXRlXTsNCj4gLQkJCWlmICggeXlfY3VycmVudF9zdGF0ZSA+PSAzNTUgKQ0K
PiArCQkJaWYgKCB5eV9jdXJyZW50X3N0YXRlID49IDM2MSApDQo+ICAJCQkJeXlfYyA9IHl5X21l
dGFbeXlfY107DQo+ICAJCQl9DQo+ICAJCXl5X2N1cnJlbnRfc3RhdGUgPSB5eV9ueHRbeXlfYmFz
ZVt5eV9jdXJyZW50X3N0YXRlXSArIHl5X2NdOw0KPiBAQCAtMjEyOCwxMSArMjEzNywxMSBAQCBz
dGF0aWMgaW50IHl5X2dldF9uZXh0X2J1ZmZlciAoeXlzY2FuX3QgeXlzY2FubmVyKQ0KPiAgCXdo
aWxlICggeXlfY2hrW3l5X2Jhc2VbeXlfY3VycmVudF9zdGF0ZV0gKyB5eV9jXSAhPQ0KPiB5eV9j
dXJyZW50X3N0YXRlICkNCj4gIAkJew0KPiAgCQl5eV9jdXJyZW50X3N0YXRlID0gKGludCkgeXlf
ZGVmW3l5X2N1cnJlbnRfc3RhdGVdOw0KPiAtCQlpZiAoIHl5X2N1cnJlbnRfc3RhdGUgPj0gMzU1
ICkNCj4gKwkJaWYgKCB5eV9jdXJyZW50X3N0YXRlID49IDM2MSApDQo+ICAJCQl5eV9jID0geXlf
bWV0YVt5eV9jXTsNCj4gIAkJfQ0KPiAgCXl5X2N1cnJlbnRfc3RhdGUgPSB5eV9ueHRbeXlfYmFz
ZVt5eV9jdXJyZW50X3N0YXRlXSArIHl5X2NdOw0KPiAtCXl5X2lzX2phbSA9ICh5eV9jdXJyZW50
X3N0YXRlID09IDM1NCk7DQo+ICsJeXlfaXNfamFtID0gKHl5X2N1cnJlbnRfc3RhdGUgPT0gMzYw
KTsNCj4gIAlpZiAoICEgeXlfaXNfamFtICkNCj4gIAkJKnl5Zy0+eXlfc3RhdGVfcHRyKysgPSB5
eV9jdXJyZW50X3N0YXRlOw0KPiANCj4gQEAgLTI5NDEsNCArMjk1MCw0IEBAIHZvaWQgeXlmcmVl
ICh2b2lkICogcHRyICwgeXlzY2FuX3QgeXlzY2FubmVyKQ0KPiANCj4gICNkZWZpbmUgWVlUQUJM
RVNfTkFNRSAieXl0YWJsZXMiDQo+IA0KPiAtI2xpbmUgMjkxICJsaWJ4bHVfZGlza19sLmwiDQo+
ICsjbGluZSAyOTIgImxpYnhsdV9kaXNrX2wubCINCj4gZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMv
dXRpbC9saWJ4bHVfZGlza19sLmgNCj4gYi90b29scy9saWJzL3V0aWwvbGlieGx1X2Rpc2tfbC5o
DQo+IGluZGV4IDZhYmVlY2YuLmRmMjBmY2MgMTAwNjQ0DQo+IC0tLSBhL3Rvb2xzL2xpYnMvdXRp
bC9saWJ4bHVfZGlza19sLmgNCj4gKysrIGIvdG9vbHMvbGlicy91dGlsL2xpYnhsdV9kaXNrX2wu
aA0KPiBAQCAtNjk0LDcgKzY5NCw3IEBAIGV4dGVybiBpbnQgeXlsZXggKHl5c2Nhbl90IHl5c2Nh
bm5lcik7DQo+ICAjdW5kZWYgeXlUQUJMRVNfTkFNRQ0KPiAgI2VuZGlmDQo+IA0KPiAtI2xpbmUg
MjkxICJsaWJ4bHVfZGlza19sLmwiDQo+ICsjbGluZSAyOTIgImxpYnhsdV9kaXNrX2wubCINCj4g
DQo+ICAjbGluZSA2OTkgImxpYnhsdV9kaXNrX2wuaCINCj4gICN1bmRlZiB4bHVfX2Rpc2tfeXlJ
Tl9IRUFERVINCj4gZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMvdXRpbC9saWJ4bHVfZGlza19sLmwN
Cj4gYi90b29scy9saWJzL3V0aWwvbGlieGx1X2Rpc2tfbC5sDQo+IGluZGV4IDNiZDYzOWEuLmQ2
OGE1OWMgMTAwNjQ0DQo+IC0tLSBhL3Rvb2xzL2xpYnMvdXRpbC9saWJ4bHVfZGlza19sLmwNCj4g
KysrIGIvdG9vbHMvbGlicy91dGlsL2xpYnhsdV9kaXNrX2wubA0KPiBAQCAtMTk4LDYgKzE5OCw3
IEBAIHNjcmlwdD1bXixdKiw/CXsgU1RSSVAoJywnKTsgU0FWRVNUUklORygic2NyaXB0IiwNCj4g
c2NyaXB0LCBGUk9NRVFVQUxTKTsgfQ0KPiAgZGlyZWN0LWlvLXNhZmUsPyB7IERQQy0+ZGlzay0+
ZGlyZWN0X2lvX3NhZmUgPSAxOyB9DQo+ICBkaXNjYXJkLD8JeyBsaWJ4bF9kZWZib29sX3NldCgm
RFBDLT5kaXNrLT5kaXNjYXJkX2VuYWJsZSwgdHJ1ZSk7IH0NCj4gIG5vLWRpc2NhcmQsPwl7IGxp
YnhsX2RlZmJvb2xfc2V0KCZEUEMtPmRpc2stPmRpc2NhcmRfZW5hYmxlLCBmYWxzZSk7IH0NCj4g
K3ZpcnRpbyw/CXsgRFBDLT5kaXNrLT52aXJ0aW8gPSAxOyB9DQo+ICAgLyogTm90ZSB0aGF0IHRo
ZSBDT0xPIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3Mgc2hvdWxkIGJlIGNvbnNpZGVyZWQNCj4gdW5z
dGFibGUuDQo+ICAgICogVGhleSBtYXkgY2hhbmdlIGluY29tcGF0aWJseSBpbiBmdXR1cmUgdmVy
c2lvbnMgb2YgWGVuLiAqLw0KPiAgY29sbyw/CQl7IGxpYnhsX2RlZmJvb2xfc2V0KCZEUEMtPmRp
c2stPmNvbG9fZW5hYmxlLCB0cnVlKTsgfQ0KPiBkaWZmIC0tZ2l0IGEvdG9vbHMveGwveGxfYmxv
Y2suYyBiL3Rvb2xzL3hsL3hsX2Jsb2NrLmMNCj4gaW5kZXggNzBlZWQ0My4uNTBhNGQ0NSAxMDA2
NDQNCj4gLS0tIGEvdG9vbHMveGwveGxfYmxvY2suYw0KPiArKysgYi90b29scy94bC94bF9ibG9j
ay5jDQo+IEBAIC01MCw2ICs1MCwxMSBAQCBpbnQgbWFpbl9ibG9ja2F0dGFjaChpbnQgYXJnYywg
Y2hhciAqKmFyZ3YpDQo+ICAgICAgICAgIHJldHVybiAwOw0KPiAgICAgIH0NCj4gDQo+ICsgICAg
aWYgKGRpc2sudmlydGlvKSB7DQo+ICsgICAgICAgIGZwcmludGYoc3RkZXJyLCAiYmxvY2stYXR0
YWNoIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIFZpcnRpbw0KPiBkZXZpY2VcbiIpOw0KPiArICAgICAg
ICByZXR1cm4gMTsNCj4gKyAgICB9DQo+ICsNCj4gICAgICBpZiAobGlieGxfZGV2aWNlX2Rpc2tf
YWRkKGN0eCwgZmVfZG9taWQsICZkaXNrLCAwKSkgew0KPiAgICAgICAgICBmcHJpbnRmKHN0ZGVy
ciwgImxpYnhsX2RldmljZV9kaXNrX2FkZCBmYWlsZWQuXG4iKTsNCj4gICAgICAgICAgcmV0dXJu
IDE7DQo+IEBAIC0xMTksNiArMTI0LDEyIEBAIGludCBtYWluX2Jsb2NrZGV0YWNoKGludCBhcmdj
LCBjaGFyICoqYXJndikNCj4gICAgICAgICAgZnByaW50ZihzdGRlcnIsICJFcnJvcjogRGV2aWNl
ICVzIG5vdCBjb25uZWN0ZWQuXG4iLA0KPiBhcmd2W29wdGluZCsxXSk7DQo+ICAgICAgICAgIHJl
dHVybiAxOw0KPiAgICAgIH0NCj4gKw0KPiArICAgIGlmIChkaXNrLnZpcnRpbykgew0KPiArICAg
ICAgICBmcHJpbnRmKHN0ZGVyciwgImJsb2NrLWRldGFjaCBpcyBub3Qgc3VwcG9ydGVkIGZvciBW
aXJ0aW8NCj4gZGV2aWNlXG4iKTsNCj4gKyAgICAgICAgcmV0dXJuIDE7DQo+ICsgICAgfQ0KPiAr
DQo+ICAgICAgcmMgPSAhZm9yY2UgPyBsaWJ4bF9kZXZpY2VfZGlza19zYWZlX3JlbW92ZShjdHgs
IGRvbWlkLCAmZGlzaywgMCkgOg0KPiAgICAgICAgICBsaWJ4bF9kZXZpY2VfZGlza19kZXN0cm95
KGN0eCwgZG9taWQsICZkaXNrLCAwKTsNCj4gICAgICBpZiAocmMpIHsNCj4gLS0NCj4gMi43LjQN
Cg0K


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 08:08:18 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 08:08:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167631.305999 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFu8r-0001Be-9v; Tue, 17 Aug 2021 08:08:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167631.305999; Tue, 17 Aug 2021 08:08:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFu8r-0001BX-6c; Tue, 17 Aug 2021 08:08:13 +0000
Received: by outflank-mailman (input) for mailman id 167631;
 Tue, 17 Aug 2021 08:08:11 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IHWO=NI=linaro.org=takahiro.akashi@srs-us1.protection.inumbo.net>)
 id 1mFu8p-0001BR-FQ
 for xen-devel@lists.xen.org; Tue, 17 Aug 2021 08:08:11 +0000
Received: from mail-pj1-x102d.google.com (unknown [2607:f8b0:4864:20::102d])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 16b49ee6-2434-4599-8179-190d067f00af;
 Tue, 17 Aug 2021 08:08:07 +0000 (UTC)
Received: by mail-pj1-x102d.google.com with SMTP id j1so30871291pjv.3
 for <xen-devel@lists.xen.org>; Tue, 17 Aug 2021 01:08:07 -0700 (PDT)
Received: from laputa (pdb6272e8.tkyea130.ap.so-net.ne.jp. [219.98.114.232])
 by smtp.gmail.com with ESMTPSA id e13sm1586323pfi.210.2021.08.17.01.07.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 17 Aug 2021 01:08: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: 16b49ee6-2434-4599-8179-190d067f00af
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=date:from:to:cc:subject:message-id:references:mime-version
         :content-disposition:content-transfer-encoding:in-reply-to;
        bh=3GZ/KbYdvj3Z5iceZnDlaiQNqlTP+aRqNGe/DTgAJ4c=;
        b=ptyDLE4uMLpQ3U6fXoNv/zlI60hHbyJlBTLsLUQvu+DHWXxEt7vFtsBHAXNrrQwEc0
         fHE/PGwFwamzDKjwhCdi1pvOaN6Gbx48Xq88c4TV7gxiQV9c2yJRrsR8mxEgxOWcPkky
         fF6AK3hzbW2hIysn2dKnSC43GE/PIt3d8old5b1mHC5G0Iyicsx2mVtPyZF97ZPhkALd
         XZ6qQYNpSXbrO30FuKIjmomGulyB9/hNPjIbqf/87/hR/Lr22XF24GYP+oPYG2EojiE2
         keXPWZOimy/Uf2ESGbNMtrgxgPmqbTxKsn84abx2GkqmMkCMRZQC8uMdSyLBe3VTlCX0
         pvCg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:date:from:to:cc:subject:message-id:references
         :mime-version:content-disposition:content-transfer-encoding
         :in-reply-to;
        bh=3GZ/KbYdvj3Z5iceZnDlaiQNqlTP+aRqNGe/DTgAJ4c=;
        b=VQMd0VzSztG592WxET3EUWz19VtJnxzzdAWRn+Gf0roZ8LhKMMFLVWDWP8e4zy4Gkg
         QPOy5+1Oln/HeizWRpux/WXA+hwJ2LtMuLjCPNn01K+rTiltse1KnegDseyGnTd0r6wv
         eTDEj74COn1/EDkWZ4FQpwkgA3FGKaOwbTLxMTMxq75HEKX9jl2NBQL6eCViGhDZNd1E
         4GRqBOnPh1gPkR1H3dyVy75u3UwFQg3gE5ztu/uTlRZ5HTYFshBNYCOlDi6hZKnsda2N
         ZIXnoP/yXtxF9tr0A/O85xj89FlmlGFP5rn4WMyXnzTiWsJuIJV6P/+ZMiuurqZZ2vBL
         Br+g==
X-Gm-Message-State: AOAM532PkK8TNWU4LO4DJYUZEU5W7xrrXz96T/Y6nPhcCMid7jyllG1X
	F3MyyYutvFAn23n/gPSvdaKQBQ==
X-Google-Smtp-Source: ABdhPJwzRkPdci5vsYjfijl2evocaDajBYbNjcFsdlxG63GTkmo2znSyHT8E4Ag4Jov2NssBB7DKFw==
X-Received: by 2002:a17:90a:a96:: with SMTP id 22mr2397685pjw.156.1629187686136;
        Tue, 17 Aug 2021 01:08:06 -0700 (PDT)
Date: Tue, 17 Aug 2021 17:07:57 +0900
From: AKASHI Takahiro <takahiro.akashi@linaro.org>
To: Wei Chen <Wei.Chen@arm.com>
Cc: Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Alex Benn??e <alex.bennee@linaro.org>,
	Stratos Mailing List <stratos-dev@op-lists.linaro.org>,
	"virtio-dev@lists.oasis-open.org" <virtio-dev@lists.oasis-open.org>,
	Arnd Bergmann <arnd.bergmann@linaro.org>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	"stefanha@redhat.com" <stefanha@redhat.com>,
	Jan Kiszka <jan.kiszka@siemens.com>,
	Carl van Schaik <cvanscha@qti.qualcomm.com>,
	"pratikp@quicinc.com" <pratikp@quicinc.com>,
	Srivatsa Vaddagiri <vatsa@codeaurora.org>,
	Jean-Philippe Brucker <jean-philippe@linaro.org>,
	Mathieu Poirier <mathieu.poirier@linaro.org>,
	Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Artem Mygaiev <Artem_Mygaiev@epam.com>,
	Julien Grall <julien@xen.org>, Juergen Gross <jgross@suse.com>,
	Paul Durrant <paul@xen.org>, Xen Devel <xen-devel@lists.xen.org>
Subject: Re: Enabling hypervisor agnosticism for VirtIO backends
Message-ID: <20210817080757.GC43203@laputa>
References: <87v94ldrqq.fsf@linaro.org>
 <alpine.DEB.2.21.2108041055390.9768@sstabellini-ThinkPad-T480s>
 <20210811062748.GB54169@laputa>
 <CAPD2p-mMeY=MDbAdLGrmmioSkJo147aMDrK=Qzr=PCa4jztGGg@mail.gmail.com>
 <DB9PR08MB685767CFAA4A8BCE7D2225A89EFD9@DB9PR08MB6857.eurprd08.prod.outlook.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <DB9PR08MB685767CFAA4A8BCE7D2225A89EFD9@DB9PR08MB6857.eurprd08.prod.outlook.com>

Hi Wei, Oleksandr,

On Mon, Aug 16, 2021 at 10:04:03AM +0000, Wei Chen wrote:
> Hi All,
> 
> Thanks for Stefano to link my kvmtool for Xen proposal here.
> This proposal is still discussing in Xen and KVM communities.
> The main work is to decouple the kvmtool from KVM and make
> other hypervisors can reuse the virtual device implementations.
> 
> In this case, we need to introduce an intermediate hypervisor
> layer for VMM abstraction, Which is, I think it's very close
> to stratos' virtio hypervisor agnosticism work.

# My proposal[1] comes from my own idea and doesn't always represent
# Linaro's view on this subject nor reflect Alex's concerns. Nevertheless,

Your idea and my proposal seem to share the same background.
Both have the similar goal and currently start with, at first, Xen
and are based on kvm-tool. (Actually, my work is derived from
EPAM's virtio-disk, which is also based on kvm-tool.)

In particular, the abstraction of hypervisor interfaces has a same
set of interfaces (for your "struct vmm_impl" and my "RPC interfaces").
This is not co-incident as we both share the same origin as I said above.
And so we will also share the same issues. One of them is a way of
"sharing/mapping FE's memory". There is some trade-off between
the portability and the performance impact.
So we can discuss the topic here in this ML, too.
(See Alex's original email, too).

On the other hand, my approach aims to create a "single-binary" solution
in which the same binary of BE vm could run on any hypervisors.
Somehow similar to your "proposal-#2" in [2], but in my solution, all
the hypervisor-specific code would be put into another entity (VM),
named "virtio-proxy" and the abstracted operations are served via RPC.
(In this sense, BE is hypervisor-agnostic but might have OS dependency.)
But I know that we need discuss if this is a requirement even
in Stratos project or not. (Maybe not)

Specifically speaking about kvm-tool, I have a concern about its
license term; Targeting different hypervisors and different OSs
(which I assume includes RTOS's), the resultant library should be
license permissive and GPL for kvm-tool might be an issue.
Any thoughts?

-Takahiro Akashi


[1] https://op-lists.linaro.org/pipermail/stratos-dev/2021-August/000548.html
[2] https://marc.info/?l=xen-devel&m=162373754705233&w=2

> 
> > From: Oleksandr Tyshchenko <olekstysh@gmail.com>
> > Sent: 2021年8月14日 23:38
> > To: AKASHI Takahiro <takahiro.akashi@linaro.org>; Stefano Stabellini <sstabellini@kernel.org>
> > Cc: Alex Benn??e <alex.bennee@linaro.org>; Stratos Mailing List <stratos-dev@op-lists.linaro.org>; virtio-dev@lists.oasis-open.org; Arnd Bergmann <arnd.bergmann@linaro.org>; Viresh Kumar <viresh.kumar@linaro.org>; Stefano Stabellini <stefano.stabellini@xilinx.com>; stefanha@redhat.com; Jan Kiszka <jan.kiszka@siemens.com>; Carl van Schaik <cvanscha@qti.qualcomm.com>; pratikp@quicinc.com; Srivatsa Vaddagiri <vatsa@codeaurora.org>; Jean-Philippe Brucker <jean-philippe@linaro.org>; Mathieu Poirier <mathieu.poirier@linaro.org>; Wei Chen <Wei.Chen@arm.com>; Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>; Bertrand Marquis <Bertrand.Marquis@arm.com>; Artem Mygaiev <Artem_Mygaiev@epam.com>; Julien Grall <julien@xen.org>; Juergen Gross <jgross@suse.com>; Paul Durrant <paul@xen.org>; Xen Devel <xen-devel@lists.xen.org>
> > Subject: Re: Enabling hypervisor agnosticism for VirtIO backends
> >
> > Hello, all.
> >
> > Please see some comments below. And sorry for the possible format issues.
> >
> > > On Wed, Aug 11, 2021 at 9:27 AM AKASHI Takahiro <mailto:takahiro.akashi@linaro.org> wrote:
> > > On Wed, Aug 04, 2021 at 12:20:01PM -0700, Stefano Stabellini wrote:
> > > > CCing people working on Xen+VirtIO and IOREQs. Not trimming the original
> > > > email to let them read the full context.
> > > >
> > > > My comments below are related to a potential Xen implementation, not
> > > > because it is the only implementation that matters, but because it is
> > > > the one I know best.
> > >
> > > Please note that my proposal (and hence the working prototype)[1]
> > > is based on Xen's virtio implementation (i.e. IOREQ) and particularly
> > > EPAM's virtio-disk application (backend server).
> > > It has been, I believe, well generalized but is still a bit biased
> > > toward this original design.
> > >
> > > So I hope you like my approach :)
> > >
> > > [1] https://op-lists.linaro.org/pipermail/stratos-dev/2021-August/000546.html
> > >
> > > Let me take this opportunity to explain a bit more about my approach below.
> > >
> > > > Also, please see this relevant email thread:
> > > > https://marc.info/?l=xen-devel&m=162373754705233&w=2
> > > >
> > > >
> > > > On Wed, 4 Aug 2021, Alex Bennée wrote:
> > > > > Hi,
> > > > >
> > > > > One of the goals of Project Stratos is to enable hypervisor agnostic
> > > > > backends so we can enable as much re-use of code as possible and avoid
> > > > > repeating ourselves. This is the flip side of the front end where
> > > > > multiple front-end implementations are required - one per OS, assuming
> > > > > you don't just want Linux guests. The resultant guests are trivially
> > > > > movable between hypervisors modulo any abstracted paravirt type
> > > > > interfaces.
> > > > >
> > > > > In my original thumb nail sketch of a solution I envisioned vhost-user
> > > > > daemons running in a broadly POSIX like environment. The interface to
> > > > > the daemon is fairly simple requiring only some mapped memory and some
> > > > > sort of signalling for events (on Linux this is eventfd). The idea was a
> > > > > stub binary would be responsible for any hypervisor specific setup and
> > > > > then launch a common binary to deal with the actual virtqueue requests
> > > > > themselves.
> > > > >
> > > > > Since that original sketch we've seen an expansion in the sort of ways
> > > > > backends could be created. There is interest in encapsulating backends
> > > > > in RTOSes or unikernels for solutions like SCMI. There interest in Rust
> > > > > has prompted ideas of using the trait interface to abstract differences
> > > > > away as well as the idea of bare-metal Rust backends.
> > > > >
> > > > > We have a card (STR-12) called "Hypercall Standardisation" which
> > > > > calls for a description of the APIs needed from the hypervisor side to
> > > > > support VirtIO guests and their backends. However we are some way off
> > > > > from that at the moment as I think we need to at least demonstrate one
> > > > > portable backend before we start codifying requirements. To that end I
> > > > > want to think about what we need for a backend to function.
> > > > >
> > > > > Configuration
> > > > > =============
> > > > >
> > > > > In the type-2 setup this is typically fairly simple because the host
> > > > > system can orchestrate the various modules that make up the complete
> > > > > system. In the type-1 case (or even type-2 with delegated service VMs)
> > > > > we need some sort of mechanism to inform the backend VM about key
> > > > > details about the system:
> > > > >
> > > > >   - where virt queue memory is in it's address space
> > > > >   - how it's going to receive (interrupt) and trigger (kick) events
> > > > >   - what (if any) resources the backend needs to connect to
> > > > >
> > > > > Obviously you can elide over configuration issues by having static
> > > > > configurations and baking the assumptions into your guest images however
> > > > > this isn't scalable in the long term. The obvious solution seems to be
> > > > > extending a subset of Device Tree data to user space but perhaps there
> > > > > are other approaches?
> > > > >
> > > > > Before any virtio transactions can take place the appropriate memory
> > > > > mappings need to be made between the FE guest and the BE guest.
> > > >
> > > > > Currently the whole of the FE guests address space needs to be visible
> > > > > to whatever is serving the virtio requests. I can envision 3 approaches:
> > > > >
> > > > >  * BE guest boots with memory already mapped
> > > > >
> > > > >  This would entail the guest OS knowing where in it's Guest Physical
> > > > >  Address space is already taken up and avoiding clashing. I would assume
> > > > >  in this case you would want a standard interface to userspace to then
> > > > >  make that address space visible to the backend daemon.
> > >
> > > Yet another way here is that we would have well known "shared memory" between
> > > VMs. I think that Jailhouse's ivshmem gives us good insights on this matter
> > > and that it can even be an alternative for hypervisor-agnostic solution.
> > >
> > > (Please note memory regions in ivshmem appear as a PCI device and can be
> > > mapped locally.)
> > >
> > > I want to add this shared memory aspect to my virtio-proxy, but
> > > the resultant solution would eventually look similar to ivshmem.
> > >
> > > > >  * BE guests boots with a hypervisor handle to memory
> > > > >
> > > > >  The BE guest is then free to map the FE's memory to where it wants in
> > > > >  the BE's guest physical address space.
> > > >
> > > > I cannot see how this could work for Xen. There is no "handle" to give
> > > > to the backend if the backend is not running in dom0. So for Xen I think
> > > > the memory has to be already mapped
> > >
> > > In Xen's IOREQ solution (virtio-blk), the following information is expected
> > > to be exposed to BE via Xenstore:
> > > (I know that this is a tentative approach though.)
> > >    - the start address of configuration space
> > >    - interrupt number
> > >    - file path for backing storage
> > >    - read-only flag
> > > And the BE server have to call a particular hypervisor interface to
> > > map the configuration space.
> >
> > Yes, Xenstore was chosen as a simple way to pass configuration info to the backend running in a non-toolstack domain.
> > I remember, there was a wish to avoid using Xenstore in Virtio backend itself if possible, so for non-toolstack domain, this could done with adjusting devd (daemon that listens for devices and launches backends)
> > to read backend configuration from the Xenstore anyway and pass it to the backend via command line arguments.
> >
> 
> Yes, in current PoC code we're using xenstore to pass device configuration.
> We also designed a static device configuration parse method for Dom0less or
> other scenarios don't have xentool. yes, it's from device model command line
> or a config file.
> 
> > But, if ...
> >
> > >
> > > In my approach (virtio-proxy), all those Xen (or hypervisor)-specific
> > > stuffs are contained in virtio-proxy, yet another VM, to hide all details.
> >
> > ... the solution how to overcome that is already found and proven to work then even better.
> >
> >
> >
> > > # My point is that a "handle" is not mandatory for executing mapping.
> > >
> > > > and the mapping probably done by the
> > > > toolstack (also see below.) Or we would have to invent a new Xen
> > > > hypervisor interface and Xen virtual machine privileges to allow this
> > > > kind of mapping.
> > >
> > > > If we run the backend in Dom0 that we have no problems of course.
> > >
> > > One of difficulties on Xen that I found in my approach is that calling
> > > such hypervisor intefaces (registering IOREQ, mapping memory) is only
> > > allowed on BE servers themselvies and so we will have to extend those
> > > interfaces.
> > > This, however, will raise some concern on security and privilege distribution
> > > as Stefan suggested.
> >
> > We also faced policy related issues with Virtio backend running in other than Dom0 domain in a "dummy" xsm mode. In our target system we run the backend in a driver
> > domain (we call it DomD) where the underlying H/W resides. We trust it, so we wrote policy rules (to be used in "flask" xsm mode) to provide it with a little bit more privileges than a simple DomU had.
> > Now it is permitted to issue device-model, resource and memory mappings, etc calls.
> >
> > > >
> > > >
> > > > > To activate the mapping will
> > > > >  require some sort of hypercall to the hypervisor. I can see two options
> > > > >  at this point:
> > > > >
> > > > >   - expose the handle to userspace for daemon/helper to trigger the
> > > > >     mapping via existing hypercall interfaces. If using a helper you
> > > > >     would have a hypervisor specific one to avoid the daemon having to
> > > > >     care too much about the details or push that complexity into a
> > > > >     compile time option for the daemon which would result in different
> > > > >     binaries although a common source base.
> > > > >
> > > > >   - expose a new kernel ABI to abstract the hypercall differences away
> > > > >     in the guest kernel. In this case the userspace would essentially
> > > > >     ask for an abstract "map guest N memory to userspace ptr" and let
> > > > >     the kernel deal with the different hypercall interfaces. This of
> > > > >     course assumes the majority of BE guests would be Linux kernels and
> > > > >     leaves the bare-metal/unikernel approaches to their own devices.
> > > > >
> > > > > Operation
> > > > > =========
> > > > >
> > > > > The core of the operation of VirtIO is fairly simple. Once the
> > > > > vhost-user feature negotiation is done it's a case of receiving update
> > > > > events and parsing the resultant virt queue for data. The vhost-user
> > > > > specification handles a bunch of setup before that point, mostly to
> > > > > detail where the virt queues are set up FD's for memory and event
> > > > > communication. This is where the envisioned stub process would be
> > > > > responsible for getting the daemon up and ready to run. This is
> > > > > currently done inside a big VMM like QEMU but I suspect a modern
> > > > > approach would be to use the rust-vmm vhost crate. It would then either
> > > > > communicate with the kernel's abstracted ABI or be re-targeted as a
> > > > > build option for the various hypervisors.
> > > >
> > > > One thing I mentioned before to Alex is that Xen doesn't have VMMs the
> > > > way they are typically envisioned and described in other environments.
> > > > Instead, Xen has IOREQ servers. Each of them connects independently to
> > > > Xen via the IOREQ interface. E.g. today multiple QEMUs could be used as
> > > > emulators for a single Xen VM, each of them connecting to Xen
> > > > independently via the IOREQ interface.
> > > >
> > > > The component responsible for starting a daemon and/or setting up shared
> > > > interfaces is the toolstack: the xl command and the libxl/libxc
> > > > libraries.
> > >
> > > I think that VM configuration management (or orchestration in Startos
> > > jargon?) is a subject to debate in parallel.
> > > Otherwise, is there any good assumption to avoid it right now?
> > >
> > > > Oleksandr and others I CCed have been working on ways for the toolstack
> > > > to create virtio backends and setup memory mappings. They might be able
> > > > to provide more info on the subject. I do think we miss a way to provide
> > > > the configuration to the backend and anything else that the backend
> > > > might require to start doing its job.
> >
> > Yes, some work has been done for the toolstack to handle Virtio MMIO devices in
> > general and Virtio block devices in particular. However, it has not been upstreaned yet.
> > Updated patches on review now:
> > https://lore.kernel.org/xen-devel/1621626361-29076-1-git-send-email-olekstysh@gmail.com/
> >
> > There is an additional (also important) activity to improve/fix foreign memory mapping on Arm which I am also involved in.
> > The foreign memory mapping is proposed to be used for Virtio backends (device emulators) if there is a need to run guest OS completely unmodified.
> > Of course, the more secure way would be to use grant memory mapping. Brietly, the main difference between them is that with foreign mapping the backend
> > can map any guest memory it wants to map, but with grant mapping it is allowed to map only what was previously granted by the frontend.
> >
> > So, there might be a problem if we want to pre-map some guest memory in advance or to cache mappings in the backend in order to improve performance (because the mapping/unmapping guest pages every request requires a lot of back and forth to Xen + P2M updates). In a nutshell, currently, in order to map a guest page into the backend address space we need to steal a real physical page from the backend domain. So, with the said optimizations we might end up with no free memory in the backend domain (see XSA-300). And what we try to achieve is to not waste a real domain memory at all by providing safe non-allocated-yet (so unused) address space for the foreign (and grant) pages to be mapped into, this enabling work implies Xen and Linux (and likely DTB bindings) changes. However, as it turned out, for this to work in a proper and safe way some prereq work needs to be done.
> > You can find the related Xen discussion at:
> > https://lore.kernel.org/xen-devel/1627489110-25633-1-git-send-email-olekstysh@gmail.com/
> >
> >
> > > >
> > > >
> > > > > One question is how to best handle notification and kicks. The existing
> > > > > vhost-user framework uses eventfd to signal the daemon (although QEMU
> > > > > is quite capable of simulating them when you use TCG). Xen has it's own
> > > > > IOREQ mechanism. However latency is an important factor and having
> > > > > events go through the stub would add quite a lot.
> > > >
> > > > Yeah I think, regardless of anything else, we want the backends to
> > > > connect directly to the Xen hypervisor.
> > >
> > > In my approach,
> > >  a) BE -> FE: interrupts triggered by BE calling a hypervisor interface
> > >               via virtio-proxy
> > >  b) FE -> BE: MMIO to config raises events (in event channels), which is
> > >               converted to a callback to BE via virtio-proxy
> > >               (Xen's event channel is internnally implemented by interrupts.)
> > >
> > > I don't know what "connect directly" means here, but sending interrupts
> > > to the opposite side would be best efficient.
> > > Ivshmem, I suppose, takes this approach by utilizing PCI's msi-x mechanism.
> >
> > Agree that MSI would be more efficient than SPI...
> > At the moment, in order to notify the frontend, the backend issues a specific device-model call to query Xen to inject a corresponding SPI to the guest.
> >
> >
> >
> > > >
> > > > > Could we consider the kernel internally converting IOREQ messages from
> > > > > the Xen hypervisor to eventfd events? Would this scale with other kernel
> > > > > hypercall interfaces?
> > > > >
> > > > > So any thoughts on what directions are worth experimenting with?
> > > >
> > > > One option we should consider is for each backend to connect to Xen via
> > > > the IOREQ interface. We could generalize the IOREQ interface and make it
> > > > hypervisor agnostic. The interface is really trivial and easy to add.
> > >
> > > As I said above, my proposal does the same thing that you mentioned here :)
> > > The difference is that I do call hypervisor interfaces via virtio-proxy.
> > >
> > > > The only Xen-specific part is the notification mechanism, which is an
> > > > event channel. If we replaced the event channel with something else the
> > > > interface would be generic. See:
> > > > https://gitlab.com/xen-project/xen/-/blob/staging/xen/include/public/hvm/ioreq.h#L52
> > > >
> > > > I don't think that translating IOREQs to eventfd in the kernel is a
> > > > good idea: if feels like it would be extra complexity and that the
> > > > kernel shouldn't be involved as this is a backend-hypervisor interface.
> > >
> > > Given that we may want to implement BE as a bare-metal application
> > > as I did on Zephyr, I don't think that the translation would not be
> > > a big issue, especially on RTOS's.
> > > It will be some kind of abstraction layer of interrupt handling
> > > (or nothing but a callback mechanism).
> > >
> > > > Also, eventfd is very Linux-centric and we are trying to design an
> > > > interface that could work well for RTOSes too. If we want to do
> > > > something different, both OS-agnostic and hypervisor-agnostic, perhaps
> > > > we could design a new interface. One that could be implementable in the
> > > > Xen hypervisor itself (like IOREQ) and of course any other hypervisor
> > > > too.
> > > >
> > > >
> > > > There is also another problem. IOREQ is probably not be the only
> > > > interface needed. Have a look at
> > > > https://marc.info/?l=xen-devel&m=162373754705233&w=2. Don't we also need
> > > > an interface for the backend to inject interrupts into the frontend? And
> > > > if the backend requires dynamic memory mappings of frontend pages, then
> > > > we would also need an interface to map/unmap domU pages.
> > >
> > > My proposal document might help here; All the interfaces required for
> > > virtio-proxy (or hypervisor-related interfaces) are listed as
> > > RPC protocols :)
> > >
> > > > These interfaces are a lot more problematic than IOREQ: IOREQ is tiny
> > > > and self-contained. It is easy to add anywhere. A new interface to
> > > > inject interrupts or map pages is more difficult to manage because it
> > > > would require changes scattered across the various emulators.
> > >
> > > Exactly. I have no confident yet that my approach will also apply
> > > to other hypervisors than Xen.
> > > Technically, yes, but whether people can accept it or not is a different
> > > matter.
> > >
> > > Thanks,
> > > -Takahiro Akashi
> >
> >
> >
> > --
> > Regards,
> >
> > Oleksandr Tyshchenko
> IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 08:18:12 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 08:18:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167636.306009 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFuIT-0002eG-9c; Tue, 17 Aug 2021 08:18:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167636.306009; Tue, 17 Aug 2021 08: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 1mFuIT-0002e9-6c; Tue, 17 Aug 2021 08:18:09 +0000
Received: by outflank-mailman (input) for mailman id 167636;
 Tue, 17 Aug 2021 08:18: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 1mFuIR-0002dj-B0; Tue, 17 Aug 2021 08:18: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 1mFuIR-00011D-3j; Tue, 17 Aug 2021 08:18: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 1mFuIQ-0000qo-Sg; Tue, 17 Aug 2021 08:18:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mFuIQ-0006v7-SC; Tue, 17 Aug 2021 08: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=W4vDxlqQftHp0hIqaxTJ9QkWdj4milzSjXp5x5OxVXI=; b=15h6Vm1835TPvv6bc9PaVHQt6U
	TWHM6FV5uyzQ1de6ywGj/0dJHZo/bpfqWBWI41jN3hrEgdMg0wcN0w4AdpxPmYCDFCMA2TtFHNRRJ
	e0azFapVHtU1LVKC9BhN0SLZAHAtOUQXA6Ruyo+i/AMM9vL6/qQ4MPF3LHp2hIdPmJf8=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164222-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 164222: regressions - FAIL
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:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=35727551c0703493a2240e967cffc3063b13d49c
X-Osstest-Versions-That:
    xen=274c5e79c792ce0331d0d8cd9a01545dea5a48fd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 17 Aug 2021 08:18:06 +0000

flight 164222 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164222/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                   6 xen-build                fail REGR. vs. 164206

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          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  35727551c0703493a2240e967cffc3063b13d49c
baseline version:
 xen                  274c5e79c792ce0331d0d8cd9a01545dea5a48fd

Last test of basis   164206  2021-08-16 14:01:35 Z    0 days
Testing same since   164207  2021-08-16 17:01:34 Z    0 days    4 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>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  fail    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          blocked 
 test-armhf-armhf-xl                                          pass    
 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 35727551c0703493a2240e967cffc3063b13d49c
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Thu Aug 12 17:39:16 2021 +0100

    x86/cet: Fix shskt manipulation error with BUGFRAME_{warn,run_fn}
    
    This was a clear oversight in the original CET work.  The BUGFRAME_run_fn and
    BUGFRAME_warn paths update regs->rip without an equivalent adjustment to the
    shadow stack, causing IRET to suffer #CP because of the mismatch.
    
    One subtle, and therefore fragile, aspect of extable_shstk_fixup() was that it
    required regs->rip to have its old value as a cross-check that the right word
    in the shadow stack was being edited.
    
    Rework extable_shstk_fixup() into fixup_exception_return() which takes
    ownership of the update to both the regular and shadow stacks, ensuring that
    the regs->rip update is ordered correctly.
    
    Use the new fixup_exception_return() for BUGFRAME_run_fn and BUGFRAME_warn to
    ensure that the shadow stack is updated too.
    
    Fixes: 209fb9919b50 ("x86/extable: Adjust extable handling to be shadow stack compatible")
    Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Tested-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit bc141e8ca56200bdd0a12e04a6ebff3c19d6c27b
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Mon Aug 16 14:24:44 2021 +0100

    x86/ACPI: Insert missing newlines into FACS error messages
    
    Booting Xen as a PVH guest currently yields:
    
      (XEN) ACPI: SLEEP INFO: pm1x_cnt[1:b004,1:0], pm1x_evt[1:b000,1:0]
      (XEN) ACPI: FACS is not 64-byte aligned: 0xfc001010<2>ACPI: wakeup_vec[fc00101c], vec_size[20]
      (XEN) ACPI: Local APIC address 0xfee00000
    
    Insert newlines as appropriate.
    
    Fixes: d3faf9badf52 ("[host s3] Retrieve necessary sleep information from plain-text ACPI tables (FADT/FACS), and keep one hypercall remained for sleep notification.")
    Fixes: 0f089bbf43ec ("x86/ACPI: fix S3 wakeup vector mapping")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit 6928bc511399fd8f593fe49a3241212860a6a1b5
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Thu Aug 12 14:49:57 2021 +0100

    MAINTAINERS: Fix file path for kexec headers
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 08:21:51 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 08:21:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167643.306024 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFuM2-000449-1Y; Tue, 17 Aug 2021 08:21:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167643.306024; Tue, 17 Aug 2021 08:21:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFuM1-000442-UC; Tue, 17 Aug 2021 08:21:49 +0000
Received: by outflank-mailman (input) for mailman id 167643;
 Tue, 17 Aug 2021 08:21:49 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=t5rO=NI=arm.com=Penny.Zheng@srs-us1.protection.inumbo.net>)
 id 1mFuM1-00043w-4b
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 08:21:49 +0000
Received: from FRA01-MR2-obe.outbound.protection.outlook.com (unknown
 [40.107.9.79]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 29bd3900-ff34-11eb-a493-12813bfff9fa;
 Tue, 17 Aug 2021 08:21:47 +0000 (UTC)
Received: from AM5PR0502CA0013.eurprd05.prod.outlook.com
 (2603:10a6:203:91::23) by PR2PR08MB4890.eurprd08.prod.outlook.com
 (2603:10a6:101:23::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Tue, 17 Aug
 2021 08:21:45 +0000
Received: from AM5EUR03FT027.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:203:91:cafe::4f) by AM5PR0502CA0013.outlook.office365.com
 (2603:10a6:203:91::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15 via Frontend
 Transport; Tue, 17 Aug 2021 08:21:45 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT027.mail.protection.outlook.com (10.152.16.138) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Tue, 17 Aug 2021 08:21:44 +0000
Received: ("Tessian outbound 32695b2df2f8:v103");
 Tue, 17 Aug 2021 08:21:44 +0000
Received: from 96bffa5f08a0.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B9263BB3-40C2-41A3-AB8C-5E6216CFEF4C.1; 
 Tue, 17 Aug 2021 08:21:33 +0000
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 96bffa5f08a0.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 17 Aug 2021 08:21:33 +0000
Received: from VE1PR08MB5215.eurprd08.prod.outlook.com (2603:10a6:803:10a::33)
 by VI1PR08MB5536.eurprd08.prod.outlook.com (2603:10a6:803:13b::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13; Tue, 17 Aug
 2021 08:21:32 +0000
Received: from VE1PR08MB5215.eurprd08.prod.outlook.com
 ([fe80::adf8:8d6f:2a30:b60c]) by VE1PR08MB5215.eurprd08.prod.outlook.com
 ([fe80::adf8:8d6f:2a30:b60c%5]) with mapi id 15.20.4415.022; Tue, 17 Aug 2021
 08:21:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 29bd3900-ff34-11eb-a493-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=duWNqs6RTphBQ4DpuxBq3P6UZXfWX+DXM3D2UvuT5nw=;
 b=Vz1//NDpfhdNYXo+pHWtag92bdvclW/hkXDMwFBf6YXnbvQgApU+698hLiR3drJN0f8leouR4h+mVHKkXOSK4U2miMlNlxAqNR//OuZ2D26mvWWMcuT11cK3zSKzRRKuIfHQCUKP57nw4WeOjcQ/lZBgRfUxYZq2Ay7fvHDxM3c=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=II/luHBa3t5kZBq5aQvVDV1/XsFi65wu6QuPQHizOyQnxK/5hFx7MTSAInLJgbSDpLGJvj4B0BIjauTACZseVYri2BZLLsbaCaNJWgsa3Plv+Vu6n+lPSd+sqC6kG17yX/pJTqwZndhCeAWKE4FkacU9F2uGatnqeRJ2Cf1+KfJODfZf8rsD/M9Pc/e3WcVT4Xcl74XuvdfGG1CNtQtuL6AivLAngOWX8bSu6fO7i2uW0N3xhX02ofkET9cUoS4Zf2MbTMIMZ9+5Ii2d+uk6Yzo0AKcLrF2E0VxyHJKI1ek/xQ6/gYg7xGlnXfhbLc3cNaDhqxCecjKc+nxiPoa5dw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=duWNqs6RTphBQ4DpuxBq3P6UZXfWX+DXM3D2UvuT5nw=;
 b=OjJnF40s9CtZt8oOmosM0o3N6aoQGB82p78S0eUeyFcVJNpcJHJ3kCWyAwLOqAt3kUBK/Xw4H/CHTkr5aadumSdfXzGcoPdHiYmPNQu7hLry86FT59mabCn86d5gTYc2A66phNdbDbOsG5/TnKsVpsVCu3u6qx4uNGjDnYPk1uyYktcyyuGddk2biiH6Dl74PA/cMw+PWsV60G7OZ2UvCecD4ADde8drtGKlXD3w1H9qi3ZigAPsIPQTuw6fQftYfbBl8P/zURD1F34zZ+y9uUuhcbkRoJes2q1UjwlNLZxS26JHwS0D6wGH3SoBnTlk0BYuKWqy99qNBXYWaoNfiw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=duWNqs6RTphBQ4DpuxBq3P6UZXfWX+DXM3D2UvuT5nw=;
 b=Vz1//NDpfhdNYXo+pHWtag92bdvclW/hkXDMwFBf6YXnbvQgApU+698hLiR3drJN0f8leouR4h+mVHKkXOSK4U2miMlNlxAqNR//OuZ2D26mvWWMcuT11cK3zSKzRRKuIfHQCUKP57nw4WeOjcQ/lZBgRfUxYZq2Ay7fvHDxM3c=
From: Penny Zheng <Penny.Zheng@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>, Jan Beulich <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
	nd <nd@arm.com>
Subject: RE: [PATCH V4 07/10] xen: re-define assign_pages and introduce
 assign_page
Thread-Topic: [PATCH V4 07/10] xen: re-define assign_pages and introduce
 assign_page
Thread-Index: AQHXg5tavbNXsOQZkUa7uXOYmQkhQatxdeUAgAYDrUA=
Date: Tue, 17 Aug 2021 08:21:31 +0000
Message-ID:
 <VE1PR08MB5215DCF997C8408A42D6F212F7FE9@VE1PR08MB5215.eurprd08.prod.outlook.com>
References: <20210728102758.3269446-1-penny.zheng@arm.com>
 <20210728102758.3269446-8-penny.zheng@arm.com>
 <58be6daa-d8d1-1907-c549-585f56075a99@xen.org>
In-Reply-To: <58be6daa-d8d1-1907-c549-585f56075a99@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 69FE78AFC9A9C941A14C70D3BE4AEFAE.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 3f4d82b7-fb85-4d00-df82-08d961580cc1
x-ms-traffictypediagnostic: VI1PR08MB5536:|PR2PR08MB4890:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<PR2PR08MB48906CA19D14BD4BFB1F73F9F7FE9@PR2PR08MB4890.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:6430;OLM:6430;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 ymLeJO+r5LRUSjPGiHLrr4yGs272hEIrMQP+cYXkdsdrIULmpfTuic8cSnNr04bO2fTT+9HvFZPZ7w57WKWNt07mayyr3a3HxgCOrfCP/IAxgEgx+zWUUwO8mfuYIwJSi3zMAV4/1iAiGH0ytOZPeHLFR6cMU55suI7kLQWSHVmaO0tiSgG3Cn3h5EwccnwEHMYG+pY5NpeXUcjHkwCcxNoSAhHg3KmT8PzHNrzM92m/8hXO+0zFN8aY70bQP6jgtYE6D1MW44McF27CqWyP1EDwqvx9ElboKJ7VRSBnq/OCnZKIN1sm2PChR3mzdGun0ipf30+V6XzA6ihhCkXenGhP97sAx2yioiaJcWzAGpxXR3KoBb8EeRMbfONw1INGvXDeridYtNsaZLUO3sh/AQ6c+Tc6nxitFTcPnqtgIn6k690v8aJs1cxrAlTE9zhgmgxwQCAXvhxJNaIWKH8Qhf+QtMDyco8Fjc1HC+JIJOtStdxEe6QC/h6vfTG47kd7Fn12Q8CyGi4r+vJlh5PIwMigLlZVSXYp4emwBxgbLYkAfeCIwkpiWa8CyGsL2aU82OiWsN9FZaYEe/0/X0au4UKJHvMMNCquJdjEhCLsNh226t1WlURc6QZfvUJU8uMbczpIHQ0/2UP/kalYQ/QF4uGyAAOzNO6kVelsoelUe6SoqP0BDnCTcIlS5L4e3BVBsjM0eMjLr50QjzYmYzPRLw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR08MB5215.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(86362001)(26005)(186003)(53546011)(5660300002)(6506007)(55016002)(9686003)(508600001)(71200400001)(76116006)(64756008)(66446008)(4326008)(33656002)(66556008)(66476007)(122000001)(83380400001)(52536014)(110136005)(7696005)(54906003)(8676002)(66946007)(38070700005)(38100700002)(2906002)(316002)(8936002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?dzNGNUg3b0wzajl2QkNRUnhENzd2R21uUWVKTWsyRnZFNmxzQjU0NkgxNVlF?=
 =?utf-8?B?Zmd1eUNrS2xNM3RhOHZ5dTRlKzJ5OWVHV29MZ1hLTS92Q1Y2OEtBUkJrZGFv?=
 =?utf-8?B?bCtpdEkrdmlYSkEvV0toZkFXS0pQKzRQOGhBYml3WTI1V2hkMS9FZzE0bHlX?=
 =?utf-8?B?bVl5WCsycDBjb1gyQ2IvZnI0dkxQQTM5di9PbllNN3gyQVBwSGRmT2taT05E?=
 =?utf-8?B?K2swdmNWNXpTU1lId1RYZ0d4Tm1MM050VlBmL2lpT1VYbWZJSmI1Umg5dGtm?=
 =?utf-8?B?ak5ONXhKVzZaMXlJTVc1Z0tsVURLSytVYlRBN3dFMzRsa3ZQM2tHdStqcFgz?=
 =?utf-8?B?WVpiRWRJRmdaN3M3ckx2QlFxZ2N2TWxWc0RaWXRUaGtSeXJybGphSWZKZTVL?=
 =?utf-8?B?NGkvbDlhSkRlK3ZTTGVjSkx6NzR1VVJwSjk4YklMT0RKNmloaXFzVjR1Tmpj?=
 =?utf-8?B?dFM5Y1VSSlVEa29vQnh5eXVHVnErVHlUWXVTSUdKK1ZFT2tySEtTWDNBbGdN?=
 =?utf-8?B?bmR4YnBqVXRnRDNpZWxuMmo0Q3lobzE4ejZmeUEvMjFMSXd4dkluWTdWei96?=
 =?utf-8?B?c2U0VWRvc2lVRUtoTFMzQjh4THo3a05WRGdWbE5kM0h3WjU2Nzl4Mkp1c0xi?=
 =?utf-8?B?WTJzRThJZ3pKeHFDUTlENW9PMHRMODhISUM4K3JxZTlQQ3BiOENCdEVOL1Qr?=
 =?utf-8?B?QnFHZnRWekYzd2ZEV3dBaHJMT3BYZnhIUzhWY0pEbm1mellOYmtxRmtkS0dh?=
 =?utf-8?B?ait1V3JyczhPbEZTUW54eTg3R1lhTWEyU2dQK3Fpa0NYR1JpTjZ2MU0yNStv?=
 =?utf-8?B?V3lLcWl4eHhMdFJBc1pxZUppbnpubHoyMFlzUTR6KzdQYjlNajh4enlYL2Jh?=
 =?utf-8?B?a2o3aG43VkxvRkxCVC9RdjFsRUVrZTlGaGJGMEo4L2k2K2JQaXZNVVBpRHdr?=
 =?utf-8?B?QkZBd2doQklBY2dyR3M0ZWtHZWlLQzF0OFR5WmFxTG94UlhuSXFOaUhSeVQ0?=
 =?utf-8?B?cGhNWUJvNFFJdkt6Q1JyMUltcytKaFIwY3A0QkFsU3NEcVZING5CbGFKT3lL?=
 =?utf-8?B?UnVSQTZtd2hxYTk0dUwzZC9HUlNYb1JJN2lLdktwQ1JSL2syazJQaktlMkoy?=
 =?utf-8?B?VENVaU43OE9CM1c2OXJualViNnIyVHdsNzFoVE0xVHdKSGJONGplVm01NE1u?=
 =?utf-8?B?TjhnZ0FjVVljS1g3T0FsRVkzTUszaFgzazZoa2c5dVFzM3dac1crMFQzSUNS?=
 =?utf-8?B?ZkFNZ2paQlhWV0RTWDUwSTQwQVgxRytGY1NCTlM4Zy9EUWRzWjNDekRvMmJ0?=
 =?utf-8?B?YithUUtuQ0hMeTQ4RTBzSHU3dndtWDhJVUNRMzJYYkJFUlhEVU0yOCtJNm4x?=
 =?utf-8?B?a0xJb2ZJakFROGdFTDJNRnJKd1kwQW5idnRSWXNBT1hqS3ZPcC9Rb1h4QkVu?=
 =?utf-8?B?S0xYZFpEbDZEU1BDUWdNSUZHM0lhdDNER2VsbGQrQ3NvaHdaWGVzdk94bTUz?=
 =?utf-8?B?QVFuaXA2U0xYVC9KbVVoR0RDSzBETlNMd29yWlFyUFRIOFhzU3JpMURpN1F5?=
 =?utf-8?B?dDUzNU5qalZrVDBHTXlIYWUzeFV0VDBpbWphekdBaUpJcW5kN1k5Vm41bG5W?=
 =?utf-8?B?U0lJMGhQSHVLZThJNDI5ZGlzaEg4RnVESlZhclVva0tra2xhZDVVRGZRM28y?=
 =?utf-8?B?L01kMWhJZHlTeS9mMUVWWjUrUmxtZmFMS2xBZjZVbFBpZzZrWitZNFVDbFlV?=
 =?utf-8?Q?+/nO+QrjMduOPNt+Xduep7lnsHKnOHhgitgyNAD?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB5536
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT027.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	b13a9373-1703-49fd-7a5c-08d9615804e9
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XUFAPNzNbHr3Yr9vhG4SZoso9C6P2Pa0gpzWrO0iCuFYo4tbFHdJNi2UXrzYidvxbaPOd8OmQojWCOhj/7B6f392vOVOFVqX6uZ4kbo7QGuUn9Nx2Xnx4WhAxGMU1oF9VO4J5CT7FvF0jBFTw5NppYQg+BOIBIkfvHmAtFi/93l3lXdZ34uVmE3KKmk9FDfh382f8Or6wsphX+GnOekjXfS7tw3cVCbynWzvrWu5hsu8r45cZo5mvdYmmosMJIEfZzGJEepFYqaHyT42rlhrCus2IxZ5uMcfowQfsZYFAYISp37bw75mm0jDNKOjBpRwaXQpSlN1mBRCfKKpw2cRjndz0pQqcVk+XFgT5Hbyvk6od6YdQ6sIyYMPVd89P09HFwaCjCFHv5ke2Cp/fvqqTDvqbJMCZCKYqvp2TU4Mxjqb2pqs/dur4yDHP7dBZnPf+SbZIRIZpkADvfo5ssN5qDEl6TBbHvA99Ln5zmzP9aTJnOKegE56NWuFJM60eDS84FmPsKnTDcZuLvmJnftqCz/OYmv1K0pv9Y7LnF7d4uEvK9SU2HYLm5dvYQfYESfX9zqVfdvs1k55ahQdB2EuBDARxCIK2CMLpiL2vo9alXvTzXhNk3ESoIjm5TDfDyepZjdTOTqWc2McoeLL+Sos+JyWPplCQiI8GfKLxmRvHRfXGB9Q52/qTht7Aw4JDYBool9ta4tRSPQiO1wQiHI9OQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(46966006)(36840700001)(70206006)(70586007)(9686003)(33656002)(55016002)(5660300002)(316002)(52536014)(336012)(508600001)(81166007)(186003)(86362001)(8936002)(54906003)(110136005)(47076005)(83380400001)(8676002)(26005)(356005)(82310400003)(4326008)(53546011)(36860700001)(2906002)(7696005)(6506007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 08:21:44.7914
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3f4d82b7-fb85-4d00-df82-08d961580cc1
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT027.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR2PR08MB4890

SGkgSnVsaWFuIGFuZCBKYW4NCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9t
OiBKdWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4ub3JnPg0KPiBTZW50OiBGcmlkYXksIEF1Z3VzdCAx
MywgMjAyMSA4OjI3IFBNDQo+IFRvOiBQZW5ueSBaaGVuZyA8UGVubnkuWmhlbmdAYXJtLmNvbT47
IHhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZzsNCj4gc3N0YWJlbGxpbmlAa2VybmVsLm9y
Zw0KPiBDYzogQmVydHJhbmQgTWFycXVpcyA8QmVydHJhbmQuTWFycXVpc0Bhcm0uY29tPjsgV2Vp
IENoZW4NCj4gPFdlaS5DaGVuQGFybS5jb20+OyBuZCA8bmRAYXJtLmNvbT4NCj4gU3ViamVjdDog
UmU6IFtQQVRDSCBWNCAwNy8xMF0geGVuOiByZS1kZWZpbmUgYXNzaWduX3BhZ2VzIGFuZCBpbnRy
b2R1Y2UNCj4gYXNzaWduX3BhZ2UNCj4gDQo+IEhpIFBlbm55LA0KPiANCj4gT24gMjgvMDcvMjAy
MSAxMToyNywgUGVubnkgWmhlbmcgd3JvdGU6DQo+ID4gSW4gb3JkZXIgdG8gZGVhbCB3aXRoIHRo
ZSB0cm91YmxlIG9mIGNvdW50LXRvLW9yZGVyIGNvbnZlcnNpb24gd2hlbg0KPiA+IHBhZ2UgbnVt
YmVyIGlzIG5vdCBpbiBhIHBvd2VyLW9mLXR3bywgdGhpcyBjb21taXQgcmUtZGVmaW5lDQo+ID4g
YXNzaWduX3BhZ2VzIGZvciBuciBwYWdlcyBhbmQgYXNzaWduX3BhZ2UgZm9yIG9yaWdpbmFsIHBh
Z2Ugd2l0aCBhIHNpbmdsZQ0KPiBvcmRlci4NCj4gPg0KPiA+IEJhY2twb3J0aW5nIGNvbmZ1c2lv
biBjb3VsZCBiZSBoZWxwZWQgYnkgYWx0ZXJpbmcgdGhlIG9yZGVyIG9mDQo+ID4gYXNzaWduX3Bh
Z2UgcGFyYW1ldGVycywgc3VjaCB0aGF0IHRoZSBjb21waWxlciB3b3VsZCBwb2ludCBvdXQgdGhh
dA0KPiA+IGFkanVzdG1lbnRzIGF0IGNhbGwgc2l0ZXMgYXJlIG5lZWRlZC4NCj4gDQo+IExvb2tp
bmcgYXQgdGhlIGNvZGUsIHlvdSBkb24ndCBhbHRlciB0aGUgb3JkZXIgb2YgYXNzaWduX3BhZ2Uo
KSBwYXJhbWV0ZXJzLiBTbw0KPiBkaWQgeW91IG1lYW4gdG8gcmVmZXIgdG8gImFzc2lnbl9wYWdl
cygpIj8NCj4gDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBQZW5ueSBaaGVuZyA8cGVubnkuemhl
bmdAYXJtLmNvbT4NCj4gPiAtLS0NCj4gPiB2NCBjaGFuZ2U6DQo+ID4gLSBpbiBhbGwgY2FzZXMg
d2hlcmUgb3JkZXItMCBwYWdlcyBnZXQgcGFzc2VkLCBwcmVmZXIgdXNpbmcNCj4gPiBhc3NpZ25f
cGFnZXMgdG8gcGFzcyBsaXRlcmFsIDENCj4gPiAtIHJlY29uc3RydWN0IHRoZSBvcmRlciBvZiBh
c3NpZ25fcGFnZXMgcGFyYW1ldGVycw0KPiA+IC0gcmVtb3ZlIHRoZSB1bm5lY2Vzc2FyeSBwYXJl
bnRoZXNlcw0KPiA+IC0tLQ0KPiA+ICAgeGVuL2FyY2gveDg2L3B2L2RvbTBfYnVpbGQuYyB8ICAy
ICstDQo+ID4gICB4ZW4vY29tbW9uL2dyYW50X3RhYmxlLmMgICAgIHwgIDIgKy0NCj4gPiAgIHhl
bi9jb21tb24vbWVtb3J5LmMgICAgICAgICAgfCAgNCArKy0tDQo+ID4gICB4ZW4vY29tbW9uL3Bh
Z2VfYWxsb2MuYyAgICAgIHwgMjMgKysrKysrKysrKysrKystLS0tLS0tLS0NCj4gPiAgIHhlbi9p
bmNsdWRlL3hlbi9tbS5oICAgICAgICAgfCAgNiArKysrKysNCj4gPiAgIDUgZmlsZXMgY2hhbmdl
ZCwgMjQgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pDQo+ID4NCj4gPiBkaWZmIC0tZ2l0
IGEveGVuL2FyY2gveDg2L3B2L2RvbTBfYnVpbGQuYw0KPiA+IGIveGVuL2FyY2gveDg2L3B2L2Rv
bTBfYnVpbGQuYyBpbmRleCBhZjQ3NjE1YjIyLi45MTQyZjM1OWRhIDEwMDY0NA0KPiA+IC0tLSBh
L3hlbi9hcmNoL3g4Ni9wdi9kb20wX2J1aWxkLmMNCj4gPiArKysgYi94ZW4vYXJjaC94ODYvcHYv
ZG9tMF9idWlsZC5jDQo+ID4gQEAgLTU1Niw3ICs1NTYsNyBAQCBpbnQgX19pbml0IGRvbTBfY29u
c3RydWN0X3B2KHN0cnVjdCBkb21haW4gKmQsDQo+ID4gICAgICAgICAgIGVsc2UNCj4gPiAgICAg
ICAgICAgew0KPiA+ICAgICAgICAgICAgICAgd2hpbGUgKCBjb3VudC0tICkNCj4gPiAtICAgICAg
ICAgICAgICAgIGlmICggYXNzaWduX3BhZ2VzKGQsIG1mbl90b19wYWdlKF9tZm4obWZuKyspKSwg
MCwgMCkgKQ0KPiA+ICsgICAgICAgICAgICAgICAgaWYgKCBhc3NpZ25fcGFnZXMobWZuX3RvX3Bh
Z2UoX21mbihtZm4rKykpLCAxLCBkLCAwKQ0KPiA+ICsgKQ0KPiA+ICAgICAgICAgICAgICAgICAg
ICAgICBCVUcoKTsNCj4gPiAgICAgICAgICAgfQ0KPiA+ICAgICAgICAgICBpbml0cmQtPm1vZF9l
bmQgPSAwOw0KPiA+IGRpZmYgLS1naXQgYS94ZW4vY29tbW9uL2dyYW50X3RhYmxlLmMgYi94ZW4v
Y29tbW9uL2dyYW50X3RhYmxlLmMgaW5kZXgNCj4gPiBmYWI3N2FiOWNjLi4xZjZiODliZmY0IDEw
MDY0NA0KPiA+IC0tLSBhL3hlbi9jb21tb24vZ3JhbnRfdGFibGUuYw0KPiA+ICsrKyBiL3hlbi9j
b21tb24vZ3JhbnRfdGFibGUuYw0KPiA+IEBAIC0yMzQyLDcgKzIzNDIsNyBAQCBnbnR0YWJfdHJh
bnNmZXIoDQo+ID4gICAgICAgICAgICAqIGlzIHJlc3BlY3RlZCBhbmQgc3BlY3VsYXRpdmUgZXhl
Y3V0aW9uIGlzIGJsb2NrZWQgYWNjb3JkaW5nbHkNCj4gPiAgICAgICAgICAgICovDQo+ID4gICAg
ICAgICAgIGlmICggdW5saWtlbHkoIWV2YWx1YXRlX25vc3BlYyhva2F5KSkgfHwNCj4gPiAtICAg
ICAgICAgICAgdW5saWtlbHkoYXNzaWduX3BhZ2VzKGUsIHBhZ2UsIDAsIE1FTUZfbm9fcmVmY291
bnQpKSApDQo+ID4gKyAgICAgICAgICAgIHVubGlrZWx5KGFzc2lnbl9wYWdlcyhwYWdlLCAxLCBl
LCBNRU1GX25vX3JlZmNvdW50KSkgKQ0KPiA+ICAgICAgICAgICB7DQo+ID4gICAgICAgICAgICAg
ICBib29sIGRyb3BfZG9tX3JlZjsNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS94ZW4vY29tbW9uL21l
bW9yeS5jIGIveGVuL2NvbW1vbi9tZW1vcnkuYyBpbmRleA0KPiA+IGUwN2JkOWE1ZWEuLjA4M2Ux
NGI4NGYgMTAwNjQ0DQo+ID4gLS0tIGEveGVuL2NvbW1vbi9tZW1vcnkuYw0KPiA+ICsrKyBiL3hl
bi9jb21tb24vbWVtb3J5LmMNCj4gPiBAQCAtNzI4LDcgKzcyOCw3IEBAIHN0YXRpYyBsb25nDQo+
IG1lbW9yeV9leGNoYW5nZShYRU5fR1VFU1RfSEFORExFX1BBUkFNKHhlbl9tZW1vcnlfZXhjaGFu
Z2VfdCkNCj4gYXJnKQ0KPiA+ICAgICAgICAgICAvKiBBc3NpZ24gZWFjaCBvdXRwdXQgcGFnZSB0
byB0aGUgZG9tYWluLiAqLw0KPiA+ICAgICAgICAgICBmb3IgKCBqID0gMDsgKHBhZ2UgPSBwYWdl
X2xpc3RfcmVtb3ZlX2hlYWQoJm91dF9jaHVua19saXN0KSk7ICsraiApDQo+ID4gICAgICAgICAg
IHsNCj4gPiAtICAgICAgICAgICAgaWYgKCBhc3NpZ25fcGFnZXMoZCwgcGFnZSwgZXhjaC5vdXQu
ZXh0ZW50X29yZGVyLA0KPiA+ICsgICAgICAgICAgICBpZiAoIGFzc2lnbl9wYWdlKGQsIHBhZ2Us
IGV4Y2gub3V0LmV4dGVudF9vcmRlciwNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIE1FTUZfbm9fcmVmY291bnQpICkNCj4gPiAgICAgICAgICAgICAgIHsNCj4gPiAgICAgICAg
ICAgICAgICAgICB1bnNpZ25lZCBsb25nIGRlY19jb3VudDsgQEAgLTc5Nyw3ICs3OTcsNyBAQCBz
dGF0aWMNCj4gPiBsb25nDQo+IG1lbW9yeV9leGNoYW5nZShYRU5fR1VFU1RfSEFORExFX1BBUkFN
KHhlbl9tZW1vcnlfZXhjaGFuZ2VfdCkNCj4gYXJnKQ0KPiA+ICAgICAgICAqIGNsZWFyZWQgUEdD
X2FsbG9jYXRlZC4NCj4gPiAgICAgICAgKi8NCj4gPiAgICAgICB3aGlsZSAoIChwYWdlID0gcGFn
ZV9saXN0X3JlbW92ZV9oZWFkKCZpbl9jaHVua19saXN0KSkgKQ0KPiA+IC0gICAgICAgIGlmICgg
YXNzaWduX3BhZ2VzKGQsIHBhZ2UsIDAsIE1FTUZfbm9fcmVmY291bnQpICkNCj4gPiArICAgICAg
ICBpZiAoIGFzc2lnbl9wYWdlcyhwYWdlLCAxLCBkLCBNRU1GX25vX3JlZmNvdW50KSApDQo+ID4g
ICAgICAgICAgIHsNCj4gPiAgICAgICAgICAgICAgIEJVR19PTighZC0+aXNfZHlpbmcpOw0KPiA+
ICAgICAgICAgICAgICAgZnJlZV9kb21oZWFwX3BhZ2UocGFnZSk7IGRpZmYgLS1naXQNCj4gPiBh
L3hlbi9jb21tb24vcGFnZV9hbGxvYy5jIGIveGVuL2NvbW1vbi9wYWdlX2FsbG9jLmMgaW5kZXgN
Cj4gPiBmNTFlNDA2NDAxLi5lMjc5YzZmNzEzIDEwMDY0NA0KPiA+IC0tLSBhL3hlbi9jb21tb24v
cGFnZV9hbGxvYy5jDQo+ID4gKysrIGIveGVuL2NvbW1vbi9wYWdlX2FsbG9jLmMNCj4gPiBAQCAt
MjI4Miw5ICsyMjgyLDkgQEAgdm9pZCBpbml0X2RvbWhlYXBfcGFnZXMocGFkZHJfdCBwcywgcGFk
ZHJfdCBwZSkNCj4gPg0KPiA+DQo+ID4gICBpbnQgYXNzaWduX3BhZ2VzKA0KPiA+IC0gICAgc3Ry
dWN0IGRvbWFpbiAqZCwNCj4gPiAgICAgICBzdHJ1Y3QgcGFnZV9pbmZvICpwZywNCj4gPiAtICAg
IHVuc2lnbmVkIGludCBvcmRlciwNCj4gPiArICAgIHVuc2lnbmVkIGxvbmcgbnIsDQo+ID4gKyAg
ICBzdHJ1Y3QgZG9tYWluICpkLA0KPiA+ICAgICAgIHVuc2lnbmVkIGludCBtZW1mbGFncykNCj4g
PiAgIHsNCj4gPiAgICAgICBpbnQgcmMgPSAwOw0KPiA+IEBAIC0yMzA0LDcgKzIzMDQsNyBAQCBp
bnQgYXNzaWduX3BhZ2VzKA0KPiA+ICAgICAgIHsNCj4gPiAgICAgICAgICAgdW5zaWduZWQgaW50
IGV4dHJhX3BhZ2VzID0gMDsNCj4gPg0KPiA+IC0gICAgICAgIGZvciAoIGkgPSAwOyBpIDwgKDF1
bCA8PCBvcmRlcik7IGkrKyApDQo+ID4gKyAgICAgICAgZm9yICggaSA9IDA7IGkgPCBucjsgaSsr
ICkNCj4gPiAgICAgICAgICAgew0KPiA+ICAgICAgICAgICAgICAgQVNTRVJUKCEocGdbaV0uY291
bnRfaW5mbyAmIH5QR0NfZXh0cmEpKTsNCj4gPiAgICAgICAgICAgICAgIGlmICggcGdbaV0uY291
bnRfaW5mbyAmIFBHQ19leHRyYSApIEBAIC0yMzEzLDE4ICsyMzEzLDE4DQo+ID4gQEAgaW50IGFz
c2lnbl9wYWdlcygNCj4gPg0KPiA+ICAgICAgICAgICBBU1NFUlQoIWV4dHJhX3BhZ2VzIHx8DQo+
ID4gICAgICAgICAgICAgICAgICAoKG1lbWZsYWdzICYgTUVNRl9ub19yZWZjb3VudCkgJiYNCj4g
PiAtICAgICAgICAgICAgICAgIGV4dHJhX3BhZ2VzID09IDF1IDw8IG9yZGVyKSk7DQo+ID4gKyAg
ICAgICAgICAgICAgICBleHRyYV9wYWdlcyA9PSBucikpOw0KPiA+ICAgICAgIH0NCj4gPiAgICNl
bmRpZg0KPiA+DQo+ID4gICAgICAgaWYgKCBwZ1swXS5jb3VudF9pbmZvICYgUEdDX2V4dHJhICkN
Cj4gPiAgICAgICB7DQo+ID4gLSAgICAgICAgZC0+ZXh0cmFfcGFnZXMgKz0gMXUgPDwgb3JkZXI7
DQo+ID4gKyAgICAgICAgZC0+ZXh0cmFfcGFnZXMgKz0gbnI7DQo+ID4gICAgICAgICAgIG1lbWZs
YWdzICY9IH5NRU1GX25vX3JlZmNvdW50Ow0KPiA+ICAgICAgIH0NCj4gPiAgICAgICBlbHNlIGlm
ICggIShtZW1mbGFncyAmIE1FTUZfbm9fcmVmY291bnQpICkNCj4gPiAgICAgICB7DQo+ID4gLSAg
ICAgICAgdW5zaWduZWQgaW50IHRvdF9wYWdlcyA9IGRvbWFpbl90b3RfcGFnZXMoZCkgKyAoMSA8
PCBvcmRlcik7DQo+ID4gKyAgICAgICAgdW5zaWduZWQgaW50IHRvdF9wYWdlcyA9IGRvbWFpbl90
b3RfcGFnZXMoZCkgKyBucjsNCj4gPg0KPiA+ICAgICAgICAgICBpZiAoIHVubGlrZWx5KHRvdF9w
YWdlcyA+IGQtPm1heF9wYWdlcykgKQ0KPiA+ICAgICAgICAgICB7DQo+ID4gQEAgLTIzMzYsMTAg
KzIzMzYsMTAgQEAgaW50IGFzc2lnbl9wYWdlcygNCj4gPiAgICAgICB9DQo+ID4NCj4gPiAgICAg
ICBpZiAoICEobWVtZmxhZ3MgJiBNRU1GX25vX3JlZmNvdW50KSAmJg0KPiA+IC0gICAgICAgICB1
bmxpa2VseShkb21haW5fYWRqdXN0X3RvdF9wYWdlcyhkLCAxIDw8IG9yZGVyKSA9PSAoMSA8PCBv
cmRlcikpICkNCj4gPiArICAgICAgICAgdW5saWtlbHkoZG9tYWluX2FkanVzdF90b3RfcGFnZXMo
ZCwgbnIpID09IG5yKSApDQo+ID4gICAgICAgICAgIGdldF9rbm93bmFsaXZlX2RvbWFpbihkKTsN
Cj4gPg0KPiA+IC0gICAgZm9yICggaSA9IDA7IGkgPCAoMSA8PCBvcmRlcik7IGkrKyApDQo+ID4g
KyAgICBmb3IgKCBpID0gMDsgaSA8IG5yOyBpKysgKQ0KPiA+ICAgICAgIHsNCj4gPiAgICAgICAg
ICAgQVNTRVJUKHBhZ2VfZ2V0X293bmVyKCZwZ1tpXSkgPT0gTlVMTCk7DQo+ID4gICAgICAgICAg
IHBhZ2Vfc2V0X293bmVyKCZwZ1tpXSwgZCk7DQo+ID4gQEAgLTIzNTQsNiArMjM1NCwxMSBAQCBp
bnQgYXNzaWduX3BhZ2VzKA0KPiA+ICAgICAgIHJldHVybiByYzsNCj4gPiAgIH0NCj4gPg0KPiA+
ICtpbnQgYXNzaWduX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IHBhZ2VfaW5mbyAqcGcs
IHVuc2lnbmVkIGludCBvcmRlciwNCj4gPiArICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBt
ZW1mbGFncykgew0KPiA+ICsgICAgcmV0dXJuIGFzc2lnbl9wYWdlcyhwZywgMVVMIDw8IG9yZGVy
LCBkLCBtZW1mbGFncyk7IH0NCj4gPg0KPiA+ICAgc3RydWN0IHBhZ2VfaW5mbyAqYWxsb2NfZG9t
aGVhcF9wYWdlcygNCj4gPiAgICAgICBzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgb3Jk
ZXIsIHVuc2lnbmVkIGludCBtZW1mbGFncykgQEANCj4gPiAtMjM5Niw3ICsyNDAxLDcgQEAgc3Ry
dWN0IHBhZ2VfaW5mbyAqYWxsb2NfZG9taGVhcF9wYWdlcygNCj4gPiAgICAgICAgICAgICAgICAg
ICBwZ1tpXS5jb3VudF9pbmZvID0gUEdDX2V4dHJhOw0KPiA+ICAgICAgICAgICAgICAgfQ0KPiA+
ICAgICAgICAgICB9DQo+ID4gLSAgICAgICAgaWYgKCBhc3NpZ25fcGFnZXMoZCwgcGcsIG9yZGVy
LCBtZW1mbGFncykgKQ0KPiA+ICsgICAgICAgIGlmICggYXNzaWduX3BhZ2UoZCwgcGcsIG9yZGVy
LCBtZW1mbGFncykgKQ0KPiA+ICAgICAgICAgICB7DQo+ID4gICAgICAgICAgICAgICBmcmVlX2hl
YXBfcGFnZXMocGcsIG9yZGVyLCBtZW1mbGFncyAmIE1FTUZfbm9fc2NydWIpOw0KPiA+ICAgICAg
ICAgICAgICAgcmV0dXJuIE5VTEw7DQo+ID4gZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9t
bS5oIGIveGVuL2luY2x1ZGUveGVuL21tLmggaW5kZXgNCj4gPiA4ZThmYjVhNjE1Li4yZTc1Y2Rj
YmI3IDEwMDY0NA0KPiA+IC0tLSBhL3hlbi9pbmNsdWRlL3hlbi9tbS5oDQo+ID4gKysrIGIveGVu
L2luY2x1ZGUveGVuL21tLmgNCj4gPiBAQCAtMTMyLDYgKzEzMiwxMiBAQCBpbnQgcXVlcnlfcGFn
ZV9vZmZsaW5lKG1mbl90IG1mbiwgdWludDMyX3QgKnN0YXR1cyk7DQo+ID4gICB2b2lkIGhlYXBf
aW5pdF9sYXRlKHZvaWQpOw0KPiA+DQo+ID4gICBpbnQgYXNzaWduX3BhZ2VzKA0KPiA+ICsgICAg
c3RydWN0IHBhZ2VfaW5mbyAqcGcsDQo+ID4gKyAgICB1bnNpZ25lZCBsb25nIG5yLA0KPiA+ICsg
ICAgc3RydWN0IGRvbWFpbiAqZCwNCj4gPiArICAgIHVuc2lnbmVkIGludCBtZW1mbGFncyk7DQo+
ID4gKw0KPiA+ICtpbnQgYXNzaWduX3BhZ2UoDQo+ID4gICAgICAgc3RydWN0IGRvbWFpbiAqZCwN
Cj4gPiAgICAgICBzdHJ1Y3QgcGFnZV9pbmZvICpwZywNCj4gPiAgICAgICB1bnNpZ25lZCBpbnQg
b3JkZXIsDQo+IA0KPiBJIGZpbmQgYSBiaXQgb2RkIHRoYXQgdGhlIHBhcmFtZXRlcnMgYXJlIG9y
ZGVyZWQgZGlmZmVyZW50bHkgYmV0d2Vlbg0KPiBhc3NpZ25fcGFnZXMoKSBhbmQgYXNzaWduX3Bh
Z2UoKS4gVGhleSBhcmUgc2ltaWxhciBpbnRlcmZhY2UgYWZ0ZXIgYWxsLg0KPiANCg0KSSB3aWxs
IGNoYW5nZSB0aGUgb3JkZXIgYmFjayBhbmQgbWFrZSB0aGVtIGluIHRoZSBzaW1pbGFyIG9yZGVy
Lg0KDQo+IEkgZG9uJ3QgdGhpbmsgaXQgd291bGQgYmUgYSBwcm9ibGVtIGZvciBiYWNrcG9ydGlu
ZyBwdXJwb3NlIGlmDQo+IGFzc2lnbl9wYWdlKCkgaGFzIGEgZGlmZmVyZW50IG9yZGVyIGZvciB0
aGUgYXJndW1lbnRzLg0KPiANCj4gSmFuLCB3aGF0IGRvIHlvdSB0aGluaz8NCj4gDQo+IENoZWVy
cywNCj4gDQo+IC0tDQo+IEp1bGllbiBHcmFsbA0K


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 08:39:33 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 08:39:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167654.306039 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFud5-0005jb-JJ; Tue, 17 Aug 2021 08:39:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167654.306039; Tue, 17 Aug 2021 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 1mFud5-0005jU-Fu; Tue, 17 Aug 2021 08:39:27 +0000
Received: by outflank-mailman (input) for mailman id 167654;
 Tue, 17 Aug 2021 08:39:26 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=v7Bs=NI=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mFud4-0005jO-1N
 for xen-devel@lists.xen.org; Tue, 17 Aug 2021 08:39:26 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com (unknown
 [40.107.20.45]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 9ef62874-ff36-11eb-a494-12813bfff9fa;
 Tue, 17 Aug 2021 08:39:23 +0000 (UTC)
Received: from AM6P193CA0131.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:85::36)
 by AM6PR08MB3589.eurprd08.prod.outlook.com (2603:10a6:20b:46::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.21; Tue, 17 Aug
 2021 08:39:18 +0000
Received: from AM5EUR03FT040.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:85:cafe::1f) by AM6P193CA0131.outlook.office365.com
 (2603:10a6:209:85::36) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.18 via Frontend
 Transport; Tue, 17 Aug 2021 08:39:18 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT040.mail.protection.outlook.com (10.152.17.148) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.14 via Frontend Transport; Tue, 17 Aug 2021 08:39:18 +0000
Received: ("Tessian outbound 8b41f5fb4e9e:v103");
 Tue, 17 Aug 2021 08:39:16 +0000
Received: from 6b79b3b804c0.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 374A8A61-FB31-4117-A0D9-FF719063E56D.1; 
 Tue, 17 Aug 2021 08:39:11 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 6b79b3b804c0.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 17 Aug 2021 08:39:11 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB8PR08MB4203.eurprd08.prod.outlook.com (2603:10a6:10:ac::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.21; Tue, 17 Aug
 2021 08:39:09 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%6]) with mapi id 15.20.4415.024; Tue, 17 Aug 2021
 08: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: 9ef62874-ff36-11eb-a494-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Tq5N4Iw4ceNZkYnzcRQ2xsP2q28ZaXoiPtvayY7gH1g=;
 b=QUDXSSPDYFdne6xd5lFJ3N4Skyep+4C8fFYgfuxBU3OY02X5csHOGeHnMEyyxFPE7jIz0J/0DcHcEj12nB2H2GtzcS1gC1Uz3r5t1kppI3JbCIAFMXAMJxjYxkoDcYe8ekDcii7q1FhQXDiy8avqBiDEq/EzJ35CzQzF7C8yzf4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xen.org; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;lists.xen.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KAWsUZ+h1eUVPpH0sIX4eL+QXnHL8f9OCxRFhDbPnc0KVJOhvrL+uQctHJBp6Vg08xupcQsUhjYCBmN9TmYyV4MJLCiO8Z4cfTYWMF28PMYY/32KRTJzlUKlpm+3vDLBzffdMF73KsFBEj8e1LYIhc+32FhlF8I4vkjsUcYqFVO0yHBws2LU/bIG69lUayjMb097iixxmWT/zakHRhFz7o7Ud7XXwg+x1iwFKdIpyOm8zOPAK+5z2E9+7wf6qLj4A3plcEFPsBepMu2zX3bIL14Gwq5BXlsZD9mHqu2HcdJV1QBnvb/JYdgbabtbbJvcIdXKs54Ev70mPJYUJqZyyw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Tq5N4Iw4ceNZkYnzcRQ2xsP2q28ZaXoiPtvayY7gH1g=;
 b=IisXqFxaeb4yw1NRm3WMWZtHg3xttLkE4j4H1xPUZCY0RvnEu+fOMIuNrvF8O0ZJCJ5VOn7cuCm/Mw4z6NiCvCIU/I0iwW1A2sg5jwUrLVxPqIDxMmR42Anb+PjFEVfpG/08txp/l89WU4lk91LvvrCMAxR+Pf1KRPuTNAsHaD/VkzaijJA/8gJ5UvBlNnSe/31wATHKLwsnwpuhgw003n3dJbMZzpN2cX4fXJztA+D7VYh43+/AcYdraZIfbZs00QBlSzfclTPY+7nL9IWOLNxnGy53YNw6aaOY/SxSwSwn7OvIX4vq1FpZzHzkHhdHx+pO+mhhlgLqNAU5Rutk/w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Tq5N4Iw4ceNZkYnzcRQ2xsP2q28ZaXoiPtvayY7gH1g=;
 b=QUDXSSPDYFdne6xd5lFJ3N4Skyep+4C8fFYgfuxBU3OY02X5csHOGeHnMEyyxFPE7jIz0J/0DcHcEj12nB2H2GtzcS1gC1Uz3r5t1kppI3JbCIAFMXAMJxjYxkoDcYe8ekDcii7q1FhQXDiy8avqBiDEq/EzJ35CzQzF7C8yzf4=
From: Wei Chen <Wei.Chen@arm.com>
To: AKASHI Takahiro <takahiro.akashi@linaro.org>
CC: Oleksandr Tyshchenko <olekstysh@gmail.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Alex Benn??e <alex.bennee@linaro.org>, Stratos
 Mailing List <stratos-dev@op-lists.linaro.org>,
	"virtio-dev@lists.oasis-open.org" <virtio-dev@lists.oasis-open.org>, Arnd
 Bergmann <arnd.bergmann@linaro.org>, Viresh Kumar <viresh.kumar@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>, "stefanha@redhat.com"
	<stefanha@redhat.com>, Jan Kiszka <jan.kiszka@siemens.com>, Carl van Schaik
	<cvanscha@qti.qualcomm.com>, "pratikp@quicinc.com" <pratikp@quicinc.com>,
	Srivatsa Vaddagiri <vatsa@codeaurora.org>, Jean-Philippe Brucker
	<jean-philippe@linaro.org>, Mathieu Poirier <mathieu.poirier@linaro.org>,
	Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Artem Mygaiev <Artem_Mygaiev@epam.com>, Julien
 Grall <julien@xen.org>, Juergen Gross <jgross@suse.com>, Paul Durrant
	<paul@xen.org>, Xen Devel <xen-devel@lists.xen.org>
Subject: RE: Enabling hypervisor agnosticism for VirtIO backends
Thread-Topic: Enabling hypervisor agnosticism for VirtIO backends
Thread-Index: AQHXiWXOlXnRp9GT30mY/CfP5cid16tt4TUAgAVQpQCAAsKLQIABdsmAgAADLTA=
Date: Tue, 17 Aug 2021 08:39:09 +0000
Message-ID:
 <DB9PR08MB6857C656472153A42FB438C49EFE9@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <87v94ldrqq.fsf@linaro.org>
 <alpine.DEB.2.21.2108041055390.9768@sstabellini-ThinkPad-T480s>
 <20210811062748.GB54169@laputa>
 <CAPD2p-mMeY=MDbAdLGrmmioSkJo147aMDrK=Qzr=PCa4jztGGg@mail.gmail.com>
 <DB9PR08MB685767CFAA4A8BCE7D2225A89EFD9@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <20210817080757.GC43203@laputa>
In-Reply-To: <20210817080757.GC43203@laputa>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: DE21F119CF1944429435AEECC62F3458.0
x-checkrecipientchecked: true
Authentication-Results-Original: linaro.org; dkim=none (message not signed)
 header.d=none;linaro.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: eb4b6335-9efc-412d-ed67-08d9615a80b4
x-ms-traffictypediagnostic: DB8PR08MB4203:|AM6PR08MB3589:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM6PR08MB35898D86EA03029BEA9FCE1B9EFE9@AM6PR08MB3589.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:9508;OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 RDBhlVviEhQ2UpDHX3vegQt2VGXwC4NcsWGqrNMc/GzXsEM52Tl2G6u7VLUJsQapx75nrwFipO6Kz87bebWsTZ61vv+i4vTzha8iMmOnGgPgZak5IXpC/fAXCIsQ0vTL22QwoLpCuReIDlhotfoJ9bkkg5oZVWQG3CcxX+ggFP53MB8MyXXJPhOCXLet/kx1OTM4BJMTeslu670rGeS5JVKPMVWSA5oSmacoHak7K5+OWGmcEiT1mLseo86SbHfvRPpA3tvOwP7AgqQvtCLxuPDwUsw5pY+fKVdyfqqabU284CixFeQ/8oqwR/Or1Ivxp402BBYlVrK/06K3yfZN3mOoBKS9LSGJjA5M1htNKB6eeD4+LsYPl5F6PK+e1PGcIBq6m7USz5qMYxayfrvZ+IYmL5F1OGQBzLu50PrTBygV6IM1LqqGY/LM1am7dmxRVKe5DbH8PdkbhNoralcuaCwj00RLx1/H22nOcnFTXTuoMtIxIitv0rzRfKyoOC7wt7aeoYhvi8zx5Xi928r9IaWeZMqF4o6A0VjpWi6+j/XrqeHoxXHz9z0YzyEeiREhUP2jFXAn+WHo72OcpI7b0K1KhPYjyDxZliOgRmA0w+fpPl04Fvd/lD/Rd6eakqBFdOswIse7fb938E6B8SpgBIhTaSXz6upq9MSelo7KjsoXB5IeVUf6ZmWZ4a6Ulu9WUKgIuMswmEYgP1996YyBSfL0plALuIl3CnmoIUnrrsLx9If0/5TL2X+Udk6GBZfVrPmRIDz5D6rkN36/u7wVluDoJzaJTmUUoAf0iJR6dsCcjz+ng2s+RnuTz5UsUVP0eZBIOi5iXZ8Rw5DdGg//3g==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(366004)(346002)(376002)(39850400004)(136003)(71200400001)(83380400001)(54906003)(66946007)(26005)(53546011)(76116006)(55016002)(33656002)(66574015)(478600001)(186003)(2906002)(8676002)(316002)(8936002)(4326008)(6506007)(6916009)(122000001)(52536014)(5660300002)(86362001)(7416002)(66446008)(64756008)(66556008)(66476007)(38100700002)(7696005)(9686003)(38070700005)(966005)(30864003)(559001)(579004);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?K0VQdmJvcW5WeTFVaDM1UHFramdmc1g4anc2eXdjb2RNV2pZV3RibE16a1Bp?=
 =?utf-8?B?ckpjMmdWVkU1OU1mdDQ4WlJTWE0wVHBEOHBqUElaSVpSakNZb1B3OVlCNWpi?=
 =?utf-8?B?a2lQZUFtUzJFdG5SRi84aCtKS1ZtUisvcWdwUkhsY0M2RVpybVRETnFFckJZ?=
 =?utf-8?B?WUpSVS9NYTRvME5kNm9XOGs2Z1lYUElER1lySXUvYkM3aHA4bGM4emE1Smdo?=
 =?utf-8?B?TUxXU2RRZGVYS2tIRk94T1JrWFErWVJaSFNxaVNqUnJhS1Z2dzlweEgraVJq?=
 =?utf-8?B?Sm4vc2VqV0NPYzVxYmZhTGRVR0dPd0ZGakJxQ1JBL2dsUzMxYmZiOVFZVW1V?=
 =?utf-8?B?dkVDMXdnRzA5NVY2eUVCbnRxQjRGbk9wYnR1YWxZbk9HclA2MTE1NnNXSnQ1?=
 =?utf-8?B?UjF1WkQ1VEgwU0Zsemd2akNJVHdVcldMTFVnMkh5bjh6ajZ3ekFScnIycXVw?=
 =?utf-8?B?WjRpanJTTk5YYXZjNEJBK2xOdXJQYk9jaTZQQ3BUZityWkdNK3RYQzk0YnhH?=
 =?utf-8?B?aFJSQ00yMElJeXVNRmZOSlA2aUk3V0xGZ01SVWo4SEVXNXhDYmozL0xSdFp3?=
 =?utf-8?B?a0pNcXF0RlBRSnRhbHFybkM3eDZQczgzK2ZCdlA3Nm5ZL0F4TWp4WTdneDMx?=
 =?utf-8?B?Vkt2UWU0Y3k5Q3hYZndrT0JvWE4zRWZDMVhBd2RUdmlERjdUZVpISnRyODEr?=
 =?utf-8?B?ZFJRZTFrSm5qM2JFaDlwakxPcWdRWk8xc242V3VxQ0NTK0ljUW1UT25uWmdQ?=
 =?utf-8?B?VG5raXFZQURkV2hlNk1KNzhFRytzY3lVbUd0OC9MbUJDdWg5Yys1RU5ZelFP?=
 =?utf-8?B?c0NSdi9iRGR2WTgwcktReXRlL2Z4MW1nckhGcXdRbDZua1ZCNmljdk1WcVgr?=
 =?utf-8?B?bktXOEd5RFFka3ozTHU2TkQ2cWxEL1B0VEZ6MDRIT0ZRVUgzZlNTZW1hY2wv?=
 =?utf-8?B?NWZ6T3N1MlZCTTlVRFpJTkRkWi8rcEpETnVrMStZV0FCTmJLcU4vVXhNUHJT?=
 =?utf-8?B?dXRLbHM4dWQveTBvbEdkU21XNFpyYVoxNjZ0b2VTeEtubFlKbis2alFNd09N?=
 =?utf-8?B?R0ErbXV0RkpUeE1GSUVtMyswMWhITVdNbUdjcWtCZ3BWRjlqZld5ZWhKdWY1?=
 =?utf-8?B?WkZETTkxd1lRbWw5MGEwZWNZWkV6Mit6aXVMRkNzazFoTEordGN3RjVwSEE3?=
 =?utf-8?B?eDl6eDlHcndiYnlDVkdQeUxXYTN0dE5INW9DZzZFeHRHSkRPcTEzZGI3MWpY?=
 =?utf-8?B?QkdhejNEVXRzTVA3b2lieWhqUERZdGp5Nnk2SmpuRUYzbFNnellhd2s0cEEw?=
 =?utf-8?B?emhrM3g2Y1pZWElyV2lBcFNDTmpYVWtiL3NpMEMrcE9xVDJ1SzZzSUlCUUdL?=
 =?utf-8?B?NnNDZjZZYndDa1BabCtkMnA5QzdQOFFNMGRXNWtzUlJkZmhVZGN6cG5LdFlq?=
 =?utf-8?B?eWJvODA0R050U2xNRkhVdUUwWjhNejNvMXVnb2ZJZUV5SjJIbDRuNElDMndH?=
 =?utf-8?B?T0Uxa0lnSlZtazQyMWZjT0drV3J0Znl5VDZMeXhqVCt1Y2JibEtCRzNDVDh0?=
 =?utf-8?B?SHEvbVc3TWcxYUpiOVBrRWVDSG9qYlE0R0ttdU1jejgybDdNT1RWViszd1BF?=
 =?utf-8?B?NW1hSGw2TUtSaW5lQ2tUemtuRHBBekJiYjE4eEo1NC9hWmFWWTQ5QVJrcWR1?=
 =?utf-8?B?Q2wrNXRqcWNXL2UrZ01QN3NqZm5NMDFpeDlqelFkcURIc256TmtSOVJzU1V3?=
 =?utf-8?Q?xDvGomqGv7EnVLHvlNxZVlBoqZkKGuWiyDmna7f?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB4203
Original-Authentication-Results: linaro.org; dkim=none (message not signed)
 header.d=none;linaro.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT040.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	2d193fef-572c-453f-ea30-08d9615a7b66
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ECapmKhpPuwuvqqwg8UcLUndZLs3objrhalpJvcjh3ienDd+HrznOBFIKS9lf9PiNUJksFIQnH0w4oHfaRKFN3AAMUP31Aei0+zpdKUsZZPqIBgbHevXshTk0PNIrUYJugfQb+1naTEyYAEhmjVNokqqf8Uon8NtWPDVSKbI7U8ef56o9+6UqoQqipK4hakAg3sFWobTGkyQxgY4gd1o942kjIn31g2hVTvZp7PEWpHeVwqKX9KrbPUMQKtLYUv5pOlEA+moEt40cEddbrla8owZpDHrl0h1QQXC1fbUEyAJd2Z8QQ1mQ5O3C3jPfqRH3cTWmnzws02efHRGU99+1UphwJ5Lqt1EXVzTJYRrnhvHyiPYVzdvuEcMJvhs9/avRC2LKCSpqTykmL8ppufN5Pp6FfPQ2j/CEoO1wfmb6t2b7x1Kg/dSZpJg3mdk2ok1XiDYpA1dpXZlWCwCNpr/nv/xt5xvERjzggE0sPitD7e2J9iSNjl4jDCXWiKQdQfNUV8CIFQAAtxGVCl7xThUTvVJUZQGtFGHtv4NR42KIDu9UMBMiQtWhP9ojWod7c6UabY+zORHOZ+Wa8bCa3660pg6rhWFR8CKAUq6SnVJekB2DpORQPODFVd1I0XXbor5RLZyyRnYH1uY9uWjD6NBXvFHem0LKQ6QiKpsEbRfYSia7r6yr5SMa8kQ0L54b9mPFeUnZgzef+1ng7/ub2H0g6ViJoL3fAlllyKTzRH3oxDMm6OtxC10DO37GhNigf+VwghtqdaHrxPQkgRNVDp7lcs0s+wfYlT03kL6IyWzMMDa2dD+8jvHJKls8hFSmsiP4xVcEDveOblLHxZ9C9OY6g==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(396003)(376002)(136003)(346002)(39850400004)(46966006)(36840700001)(316002)(4326008)(8936002)(478600001)(186003)(26005)(54906003)(6862004)(36860700001)(336012)(7696005)(2906002)(8676002)(55016002)(6506007)(53546011)(966005)(9686003)(70586007)(70206006)(82740400003)(5660300002)(52536014)(30864003)(47076005)(66574015)(81166007)(83380400001)(356005)(82310400003)(33656002)(86362001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 08:39:18.0659
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: eb4b6335-9efc-412d-ed67-08d9615a80b4
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT040.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3589

SGkgQWthc2hpLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEFLQVNI
SSBUYWthaGlybyA8dGFrYWhpcm8uYWthc2hpQGxpbmFyby5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ4
5pyIMTfml6UgMTY6MDgNCj4gVG86IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPg0KPiBDYzog
T2xla3NhbmRyIFR5c2hjaGVua28gPG9sZWtzdHlzaEBnbWFpbC5jb20+OyBTdGVmYW5vIFN0YWJl
bGxpbmkNCj4gPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+OyBBbGV4IEJlbm4/P2UgPGFsZXguYmVu
bmVlQGxpbmFyby5vcmc+OyBTdHJhdG9zDQo+IE1haWxpbmcgTGlzdCA8c3RyYXRvcy1kZXZAb3At
bGlzdHMubGluYXJvLm9yZz47IHZpcnRpby1kZXZAbGlzdHMub2FzaXMtDQo+IG9wZW4ub3JnOyBB
cm5kIEJlcmdtYW5uIDxhcm5kLmJlcmdtYW5uQGxpbmFyby5vcmc+OyBWaXJlc2ggS3VtYXINCj4g
PHZpcmVzaC5rdW1hckBsaW5hcm8ub3JnPjsgU3RlZmFubyBTdGFiZWxsaW5pDQo+IDxzdGVmYW5v
LnN0YWJlbGxpbmlAeGlsaW54LmNvbT47IHN0ZWZhbmhhQHJlZGhhdC5jb207IEphbiBLaXN6a2EN
Cj4gPGphbi5raXN6a2FAc2llbWVucy5jb20+OyBDYXJsIHZhbiBTY2hhaWsgPGN2YW5zY2hhQHF0
aS5xdWFsY29tbS5jb20+Ow0KPiBwcmF0aWtwQHF1aWNpbmMuY29tOyBTcml2YXRzYSBWYWRkYWdp
cmkgPHZhdHNhQGNvZGVhdXJvcmEub3JnPjsgSmVhbi0NCj4gUGhpbGlwcGUgQnJ1Y2tlciA8amVh
bi1waGlsaXBwZUBsaW5hcm8ub3JnPjsgTWF0aGlldSBQb2lyaWVyDQo+IDxtYXRoaWV1LnBvaXJp
ZXJAbGluYXJvLm9yZz47IE9sZWtzYW5kciBUeXNoY2hlbmtvDQo+IDxPbGVrc2FuZHJfVHlzaGNo
ZW5rb0BlcGFtLmNvbT47IEJlcnRyYW5kIE1hcnF1aXMNCj4gPEJlcnRyYW5kLk1hcnF1aXNAYXJt
LmNvbT47IEFydGVtIE15Z2FpZXYgPEFydGVtX015Z2FpZXZAZXBhbS5jb20+OyBKdWxpZW4NCj4g
R3JhbGwgPGp1bGllbkB4ZW4ub3JnPjsgSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPjsg
UGF1bCBEdXJyYW50DQo+IDxwYXVsQHhlbi5vcmc+OyBYZW4gRGV2ZWwgPHhlbi1kZXZlbEBsaXN0
cy54ZW4ub3JnPg0KPiBTdWJqZWN0OiBSZTogRW5hYmxpbmcgaHlwZXJ2aXNvciBhZ25vc3RpY2lz
bSBmb3IgVmlydElPIGJhY2tlbmRzDQo+DQo+IEhpIFdlaSwgT2xla3NhbmRyLA0KPg0KPiBPbiBN
b24sIEF1ZyAxNiwgMjAyMSBhdCAxMDowNDowM0FNICswMDAwLCBXZWkgQ2hlbiB3cm90ZToNCj4g
PiBIaSBBbGwsDQo+ID4NCj4gPiBUaGFua3MgZm9yIFN0ZWZhbm8gdG8gbGluayBteSBrdm10b29s
IGZvciBYZW4gcHJvcG9zYWwgaGVyZS4NCj4gPiBUaGlzIHByb3Bvc2FsIGlzIHN0aWxsIGRpc2N1
c3NpbmcgaW4gWGVuIGFuZCBLVk0gY29tbXVuaXRpZXMuDQo+ID4gVGhlIG1haW4gd29yayBpcyB0
byBkZWNvdXBsZSB0aGUga3ZtdG9vbCBmcm9tIEtWTSBhbmQgbWFrZQ0KPiA+IG90aGVyIGh5cGVy
dmlzb3JzIGNhbiByZXVzZSB0aGUgdmlydHVhbCBkZXZpY2UgaW1wbGVtZW50YXRpb25zLg0KPiA+
DQo+ID4gSW4gdGhpcyBjYXNlLCB3ZSBuZWVkIHRvIGludHJvZHVjZSBhbiBpbnRlcm1lZGlhdGUg
aHlwZXJ2aXNvcg0KPiA+IGxheWVyIGZvciBWTU0gYWJzdHJhY3Rpb24sIFdoaWNoIGlzLCBJIHRo
aW5rIGl0J3MgdmVyeSBjbG9zZQ0KPiA+IHRvIHN0cmF0b3MnIHZpcnRpbyBoeXBlcnZpc29yIGFn
bm9zdGljaXNtIHdvcmsuDQo+DQo+ICMgTXkgcHJvcG9zYWxbMV0gY29tZXMgZnJvbSBteSBvd24g
aWRlYSBhbmQgZG9lc24ndCBhbHdheXMgcmVwcmVzZW50DQo+ICMgTGluYXJvJ3MgdmlldyBvbiB0
aGlzIHN1YmplY3Qgbm9yIHJlZmxlY3QgQWxleCdzIGNvbmNlcm5zLiBOZXZlcnRoZWxlc3MsDQo+
DQo+IFlvdXIgaWRlYSBhbmQgbXkgcHJvcG9zYWwgc2VlbSB0byBzaGFyZSB0aGUgc2FtZSBiYWNr
Z3JvdW5kLg0KPiBCb3RoIGhhdmUgdGhlIHNpbWlsYXIgZ29hbCBhbmQgY3VycmVudGx5IHN0YXJ0
IHdpdGgsIGF0IGZpcnN0LCBYZW4NCj4gYW5kIGFyZSBiYXNlZCBvbiBrdm0tdG9vbC4gKEFjdHVh
bGx5LCBteSB3b3JrIGlzIGRlcml2ZWQgZnJvbQ0KPiBFUEFNJ3MgdmlydGlvLWRpc2ssIHdoaWNo
IGlzIGFsc28gYmFzZWQgb24ga3ZtLXRvb2wuKQ0KPg0KPiBJbiBwYXJ0aWN1bGFyLCB0aGUgYWJz
dHJhY3Rpb24gb2YgaHlwZXJ2aXNvciBpbnRlcmZhY2VzIGhhcyBhIHNhbWUNCj4gc2V0IG9mIGlu
dGVyZmFjZXMgKGZvciB5b3VyICJzdHJ1Y3Qgdm1tX2ltcGwiIGFuZCBteSAiUlBDIGludGVyZmFj
ZXMiKS4NCj4gVGhpcyBpcyBub3QgY28taW5jaWRlbnQgYXMgd2UgYm90aCBzaGFyZSB0aGUgc2Ft
ZSBvcmlnaW4gYXMgSSBzYWlkIGFib3ZlLg0KPiBBbmQgc28gd2Ugd2lsbCBhbHNvIHNoYXJlIHRo
ZSBzYW1lIGlzc3Vlcy4gT25lIG9mIHRoZW0gaXMgYSB3YXkgb2YNCj4gInNoYXJpbmcvbWFwcGlu
ZyBGRSdzIG1lbW9yeSIuIFRoZXJlIGlzIHNvbWUgdHJhZGUtb2ZmIGJldHdlZW4NCj4gdGhlIHBv
cnRhYmlsaXR5IGFuZCB0aGUgcGVyZm9ybWFuY2UgaW1wYWN0Lg0KPiBTbyB3ZSBjYW4gZGlzY3Vz
cyB0aGUgdG9waWMgaGVyZSBpbiB0aGlzIE1MLCB0b28uDQo+IChTZWUgQWxleCdzIG9yaWdpbmFs
IGVtYWlsLCB0b28pLg0KPg0KWWVzLCBJIGFncmVlLg0KDQo+IE9uIHRoZSBvdGhlciBoYW5kLCBt
eSBhcHByb2FjaCBhaW1zIHRvIGNyZWF0ZSBhICJzaW5nbGUtYmluYXJ5IiBzb2x1dGlvbg0KPiBp
biB3aGljaCB0aGUgc2FtZSBiaW5hcnkgb2YgQkUgdm0gY291bGQgcnVuIG9uIGFueSBoeXBlcnZp
c29ycy4NCj4gU29tZWhvdyBzaW1pbGFyIHRvIHlvdXIgInByb3Bvc2FsLSMyIiBpbiBbMl0sIGJ1
dCBpbiBteSBzb2x1dGlvbiwgYWxsDQo+IHRoZSBoeXBlcnZpc29yLXNwZWNpZmljIGNvZGUgd291
bGQgYmUgcHV0IGludG8gYW5vdGhlciBlbnRpdHkgKFZNKSwNCj4gbmFtZWQgInZpcnRpby1wcm94
eSIgYW5kIHRoZSBhYnN0cmFjdGVkIG9wZXJhdGlvbnMgYXJlIHNlcnZlZCB2aWEgUlBDLg0KPiAo
SW4gdGhpcyBzZW5zZSwgQkUgaXMgaHlwZXJ2aXNvci1hZ25vc3RpYyBidXQgbWlnaHQgaGF2ZSBP
UyBkZXBlbmRlbmN5LikNCj4gQnV0IEkga25vdyB0aGF0IHdlIG5lZWQgZGlzY3VzcyBpZiB0aGlz
IGlzIGEgcmVxdWlyZW1lbnQgZXZlbg0KPiBpbiBTdHJhdG9zIHByb2plY3Qgb3Igbm90LiAoTWF5
YmUgbm90KQ0KPg0KDQpTb3JyeSwgSSBoYXZlbid0IGhhZCB0aW1lIHRvIGZpbmlzaCByZWFkaW5n
IHlvdXIgdmlydGlvLXByb3h5IGNvbXBsZXRlbHkNCihJIHdpbGwgZG8gaXQgQVNBUCkuIEJ1dCBm
cm9tIHlvdXIgZGVzY3JpcHRpb24sIGl0IHNlZW1zIHdlIG5lZWQgYQ0KM3JkIFZNIGJldHdlZW4g
RkUgYW5kIEJFPyBNeSBjb25jZXJuIGlzIHRoYXQsIGlmIG15IGFzc3VtcHRpb24gaXMgcmlnaHQs
DQp3aWxsIGl0IGluY3JlYXNlIHRoZSBsYXRlbmN5IGluIGRhdGEgdHJhbnNwb3J0IHBhdGg/IEV2
ZW4gaWYgd2UncmUNCnVzaW5nIHNvbWUgbGlnaHR3ZWlnaHQgZ3Vlc3QgbGlrZSBSVE9TIG9yIFVu
aWtlcm5lbCwNCg0KPiBTcGVjaWZpY2FsbHkgc3BlYWtpbmcgYWJvdXQga3ZtLXRvb2wsIEkgaGF2
ZSBhIGNvbmNlcm4gYWJvdXQgaXRzDQo+IGxpY2Vuc2UgdGVybTsgVGFyZ2V0aW5nIGRpZmZlcmVu
dCBoeXBlcnZpc29ycyBhbmQgZGlmZmVyZW50IE9Tcw0KPiAod2hpY2ggSSBhc3N1bWUgaW5jbHVk
ZXMgUlRPUydzKSwgdGhlIHJlc3VsdGFudCBsaWJyYXJ5IHNob3VsZCBiZQ0KPiBsaWNlbnNlIHBl
cm1pc3NpdmUgYW5kIEdQTCBmb3Iga3ZtLXRvb2wgbWlnaHQgYmUgYW4gaXNzdWUuDQo+IEFueSB0
aG91Z2h0cz8NCj4NCg0KWWVzLiBJZiB1c2VyIHdhbnQgdG8gaW1wbGVtZW50IGEgRnJlZUJTRCBk
ZXZpY2UgbW9kZWwsIGJ1dCB0aGUgdmlydGlvDQpsaWJyYXJ5IGlzIEdQTC4gVGhlbiBHUEwgd291
bGQgYmUgYSBwcm9ibGVtLiBJZiB3ZSBoYXZlIGFub3RoZXIgZ29vZA0KY2FuZGlkYXRlLCBJIGFt
IG9wZW4gdG8gaXQuDQoNCj4gLVRha2FoaXJvIEFrYXNoaQ0KPg0KPg0KPiBbMV0gaHR0cHM6Ly9v
cC1saXN0cy5saW5hcm8ub3JnL3BpcGVybWFpbC9zdHJhdG9zLWRldi8yMDIxLQ0KPiBBdWd1c3Qv
MDAwNTQ4Lmh0bWwNCj4gWzJdIGh0dHBzOi8vbWFyYy5pbmZvLz9sPXhlbi1kZXZlbCZtPTE2MjM3
Mzc1NDcwNTIzMyZ3PTINCj4NCj4gPg0KPiA+ID4gRnJvbTogT2xla3NhbmRyIFR5c2hjaGVua28g
PG9sZWtzdHlzaEBnbWFpbC5jb20+DQo+ID4gPiBTZW50OiAyMDIx5bm0OOaciDE05pelIDIzOjM4
DQo+ID4gPiBUbzogQUtBU0hJIFRha2FoaXJvIDx0YWthaGlyby5ha2FzaGlAbGluYXJvLm9yZz47
IFN0ZWZhbm8gU3RhYmVsbGluaQ0KPiA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4NCj4gPiA+IENj
OiBBbGV4IEJlbm4/P2UgPGFsZXguYmVubmVlQGxpbmFyby5vcmc+OyBTdHJhdG9zIE1haWxpbmcg
TGlzdA0KPiA8c3RyYXRvcy1kZXZAb3AtbGlzdHMubGluYXJvLm9yZz47IHZpcnRpby1kZXZAbGlz
dHMub2FzaXMtb3Blbi5vcmc7IEFybmQNCj4gQmVyZ21hbm4gPGFybmQuYmVyZ21hbm5AbGluYXJv
Lm9yZz47IFZpcmVzaCBLdW1hcg0KPiA8dmlyZXNoLmt1bWFyQGxpbmFyby5vcmc+OyBTdGVmYW5v
IFN0YWJlbGxpbmkNCj4gPHN0ZWZhbm8uc3RhYmVsbGluaUB4aWxpbnguY29tPjsgc3RlZmFuaGFA
cmVkaGF0LmNvbTsgSmFuIEtpc3prYQ0KPiA8amFuLmtpc3prYUBzaWVtZW5zLmNvbT47IENhcmwg
dmFuIFNjaGFpayA8Y3ZhbnNjaGFAcXRpLnF1YWxjb21tLmNvbT47DQo+IHByYXRpa3BAcXVpY2lu
Yy5jb207IFNyaXZhdHNhIFZhZGRhZ2lyaSA8dmF0c2FAY29kZWF1cm9yYS5vcmc+OyBKZWFuLQ0K
PiBQaGlsaXBwZSBCcnVja2VyIDxqZWFuLXBoaWxpcHBlQGxpbmFyby5vcmc+OyBNYXRoaWV1IFBv
aXJpZXINCj4gPG1hdGhpZXUucG9pcmllckBsaW5hcm8ub3JnPjsgV2VpIENoZW4gPFdlaS5DaGVu
QGFybS5jb20+OyBPbGVrc2FuZHINCj4gVHlzaGNoZW5rbyA8T2xla3NhbmRyX1R5c2hjaGVua29A
ZXBhbS5jb20+OyBCZXJ0cmFuZCBNYXJxdWlzDQo+IDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+
OyBBcnRlbSBNeWdhaWV2IDxBcnRlbV9NeWdhaWV2QGVwYW0uY29tPjsgSnVsaWVuDQo+IEdyYWxs
IDxqdWxpZW5AeGVuLm9yZz47IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT47IFBhdWwg
RHVycmFudA0KPiA8cGF1bEB4ZW4ub3JnPjsgWGVuIERldmVsIDx4ZW4tZGV2ZWxAbGlzdHMueGVu
Lm9yZz4NCj4gPiA+IFN1YmplY3Q6IFJlOiBFbmFibGluZyBoeXBlcnZpc29yIGFnbm9zdGljaXNt
IGZvciBWaXJ0SU8gYmFja2VuZHMNCj4gPiA+DQo+ID4gPiBIZWxsbywgYWxsLg0KPiA+ID4NCj4g
PiA+IFBsZWFzZSBzZWUgc29tZSBjb21tZW50cyBiZWxvdy4gQW5kIHNvcnJ5IGZvciB0aGUgcG9z
c2libGUgZm9ybWF0DQo+IGlzc3Vlcy4NCj4gPiA+DQo+ID4gPiA+IE9uIFdlZCwgQXVnIDExLCAy
MDIxIGF0IDk6MjcgQU0gQUtBU0hJIFRha2FoaXJvDQo+IDxtYWlsdG86dGFrYWhpcm8uYWthc2hp
QGxpbmFyby5vcmc+IHdyb3RlOg0KPiA+ID4gPiBPbiBXZWQsIEF1ZyAwNCwgMjAyMSBhdCAxMjoy
MDowMVBNIC0wNzAwLCBTdGVmYW5vIFN0YWJlbGxpbmkgd3JvdGU6DQo+ID4gPiA+ID4gQ0Npbmcg
cGVvcGxlIHdvcmtpbmcgb24gWGVuK1ZpcnRJTyBhbmQgSU9SRVFzLiBOb3QgdHJpbW1pbmcgdGhl
DQo+IG9yaWdpbmFsDQo+ID4gPiA+ID4gZW1haWwgdG8gbGV0IHRoZW0gcmVhZCB0aGUgZnVsbCBj
b250ZXh0Lg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gTXkgY29tbWVudHMgYmVsb3cgYXJlIHJlbGF0
ZWQgdG8gYSBwb3RlbnRpYWwgWGVuIGltcGxlbWVudGF0aW9uLA0KPiBub3QNCj4gPiA+ID4gPiBi
ZWNhdXNlIGl0IGlzIHRoZSBvbmx5IGltcGxlbWVudGF0aW9uIHRoYXQgbWF0dGVycywgYnV0IGJl
Y2F1c2UgaXQNCj4gaXMNCj4gPiA+ID4gPiB0aGUgb25lIEkga25vdyBiZXN0Lg0KPiA+ID4gPg0K
PiA+ID4gPiBQbGVhc2Ugbm90ZSB0aGF0IG15IHByb3Bvc2FsIChhbmQgaGVuY2UgdGhlIHdvcmtp
bmcgcHJvdG90eXBlKVsxXQ0KPiA+ID4gPiBpcyBiYXNlZCBvbiBYZW4ncyB2aXJ0aW8gaW1wbGVt
ZW50YXRpb24gKGkuZS4gSU9SRVEpIGFuZA0KPiBwYXJ0aWN1bGFybHkNCj4gPiA+ID4gRVBBTSdz
IHZpcnRpby1kaXNrIGFwcGxpY2F0aW9uIChiYWNrZW5kIHNlcnZlcikuDQo+ID4gPiA+IEl0IGhh
cyBiZWVuLCBJIGJlbGlldmUsIHdlbGwgZ2VuZXJhbGl6ZWQgYnV0IGlzIHN0aWxsIGEgYml0IGJp
YXNlZA0KPiA+ID4gPiB0b3dhcmQgdGhpcyBvcmlnaW5hbCBkZXNpZ24uDQo+ID4gPiA+DQo+ID4g
PiA+IFNvIEkgaG9wZSB5b3UgbGlrZSBteSBhcHByb2FjaCA6KQ0KPiA+ID4gPg0KPiA+ID4gPiBb
MV0gaHR0cHM6Ly9vcC1saXN0cy5saW5hcm8ub3JnL3BpcGVybWFpbC9zdHJhdG9zLWRldi8yMDIx
LQ0KPiBBdWd1c3QvMDAwNTQ2Lmh0bWwNCj4gPiA+ID4NCj4gPiA+ID4gTGV0IG1lIHRha2UgdGhp
cyBvcHBvcnR1bml0eSB0byBleHBsYWluIGEgYml0IG1vcmUgYWJvdXQgbXkgYXBwcm9hY2gNCj4g
YmVsb3cuDQo+ID4gPiA+DQo+ID4gPiA+ID4gQWxzbywgcGxlYXNlIHNlZSB0aGlzIHJlbGV2YW50
IGVtYWlsIHRocmVhZDoNCj4gPiA+ID4gPiBodHRwczovL21hcmMuaW5mby8/bD14ZW4tZGV2ZWwm
bT0xNjIzNzM3NTQ3MDUyMzMmdz0yDQo+ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IE9u
IFdlZCwgNCBBdWcgMjAyMSwgQWxleCBCZW5uw6llIHdyb3RlOg0KPiA+ID4gPiA+ID4gSGksDQo+
ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gT25lIG9mIHRoZSBnb2FscyBvZiBQcm9qZWN0IFN0cmF0
b3MgaXMgdG8gZW5hYmxlIGh5cGVydmlzb3INCj4gYWdub3N0aWMNCj4gPiA+ID4gPiA+IGJhY2tl
bmRzIHNvIHdlIGNhbiBlbmFibGUgYXMgbXVjaCByZS11c2Ugb2YgY29kZSBhcyBwb3NzaWJsZSBh
bmQNCj4gYXZvaWQNCj4gPiA+ID4gPiA+IHJlcGVhdGluZyBvdXJzZWx2ZXMuIFRoaXMgaXMgdGhl
IGZsaXAgc2lkZSBvZiB0aGUgZnJvbnQgZW5kDQo+IHdoZXJlDQo+ID4gPiA+ID4gPiBtdWx0aXBs
ZSBmcm9udC1lbmQgaW1wbGVtZW50YXRpb25zIGFyZSByZXF1aXJlZCAtIG9uZSBwZXIgT1MsDQo+
IGFzc3VtaW5nDQo+ID4gPiA+ID4gPiB5b3UgZG9uJ3QganVzdCB3YW50IExpbnV4IGd1ZXN0cy4g
VGhlIHJlc3VsdGFudCBndWVzdHMgYXJlDQo+IHRyaXZpYWxseQ0KPiA+ID4gPiA+ID4gbW92YWJs
ZSBiZXR3ZWVuIGh5cGVydmlzb3JzIG1vZHVsbyBhbnkgYWJzdHJhY3RlZCBwYXJhdmlydCB0eXBl
DQo+ID4gPiA+ID4gPiBpbnRlcmZhY2VzLg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IEluIG15
IG9yaWdpbmFsIHRodW1iIG5haWwgc2tldGNoIG9mIGEgc29sdXRpb24gSSBlbnZpc2lvbmVkDQo+
IHZob3N0LXVzZXINCj4gPiA+ID4gPiA+IGRhZW1vbnMgcnVubmluZyBpbiBhIGJyb2FkbHkgUE9T
SVggbGlrZSBlbnZpcm9ubWVudC4gVGhlDQo+IGludGVyZmFjZSB0bw0KPiA+ID4gPiA+ID4gdGhl
IGRhZW1vbiBpcyBmYWlybHkgc2ltcGxlIHJlcXVpcmluZyBvbmx5IHNvbWUgbWFwcGVkIG1lbW9y
eQ0KPiBhbmQgc29tZQ0KPiA+ID4gPiA+ID4gc29ydCBvZiBzaWduYWxsaW5nIGZvciBldmVudHMg
KG9uIExpbnV4IHRoaXMgaXMgZXZlbnRmZCkuIFRoZQ0KPiBpZGVhIHdhcyBhDQo+ID4gPiA+ID4g
PiBzdHViIGJpbmFyeSB3b3VsZCBiZSByZXNwb25zaWJsZSBmb3IgYW55IGh5cGVydmlzb3Igc3Bl
Y2lmaWMNCj4gc2V0dXAgYW5kDQo+ID4gPiA+ID4gPiB0aGVuIGxhdW5jaCBhIGNvbW1vbiBiaW5h
cnkgdG8gZGVhbCB3aXRoIHRoZSBhY3R1YWwgdmlydHF1ZXVlDQo+IHJlcXVlc3RzDQo+ID4gPiA+
ID4gPiB0aGVtc2VsdmVzLg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IFNpbmNlIHRoYXQgb3Jp
Z2luYWwgc2tldGNoIHdlJ3ZlIHNlZW4gYW4gZXhwYW5zaW9uIGluIHRoZSBzb3J0DQo+IG9mIHdh
eXMNCj4gPiA+ID4gPiA+IGJhY2tlbmRzIGNvdWxkIGJlIGNyZWF0ZWQuIFRoZXJlIGlzIGludGVy
ZXN0IGluIGVuY2Fwc3VsYXRpbmcNCj4gYmFja2VuZHMNCj4gPiA+ID4gPiA+IGluIFJUT1NlcyBv
ciB1bmlrZXJuZWxzIGZvciBzb2x1dGlvbnMgbGlrZSBTQ01JLiBUaGVyZSBpbnRlcmVzdA0KPiBp
biBSdXN0DQo+ID4gPiA+ID4gPiBoYXMgcHJvbXB0ZWQgaWRlYXMgb2YgdXNpbmcgdGhlIHRyYWl0
IGludGVyZmFjZSB0byBhYnN0cmFjdA0KPiBkaWZmZXJlbmNlcw0KPiA+ID4gPiA+ID4gYXdheSBh
cyB3ZWxsIGFzIHRoZSBpZGVhIG9mIGJhcmUtbWV0YWwgUnVzdCBiYWNrZW5kcy4NCj4gPiA+ID4g
PiA+DQo+ID4gPiA+ID4gPiBXZSBoYXZlIGEgY2FyZCAoU1RSLTEyKSBjYWxsZWQgIkh5cGVyY2Fs
bCBTdGFuZGFyZGlzYXRpb24iIHdoaWNoDQo+ID4gPiA+ID4gPiBjYWxscyBmb3IgYSBkZXNjcmlw
dGlvbiBvZiB0aGUgQVBJcyBuZWVkZWQgZnJvbSB0aGUgaHlwZXJ2aXNvcg0KPiBzaWRlIHRvDQo+
ID4gPiA+ID4gPiBzdXBwb3J0IFZpcnRJTyBndWVzdHMgYW5kIHRoZWlyIGJhY2tlbmRzLiBIb3dl
dmVyIHdlIGFyZSBzb21lDQo+IHdheSBvZmYNCj4gPiA+ID4gPiA+IGZyb20gdGhhdCBhdCB0aGUg
bW9tZW50IGFzIEkgdGhpbmsgd2UgbmVlZCB0byBhdCBsZWFzdA0KPiBkZW1vbnN0cmF0ZSBvbmUN
Cj4gPiA+ID4gPiA+IHBvcnRhYmxlIGJhY2tlbmQgYmVmb3JlIHdlIHN0YXJ0IGNvZGlmeWluZyBy
ZXF1aXJlbWVudHMuIFRvIHRoYXQNCj4gZW5kIEkNCj4gPiA+ID4gPiA+IHdhbnQgdG8gdGhpbmsg
YWJvdXQgd2hhdCB3ZSBuZWVkIGZvciBhIGJhY2tlbmQgdG8gZnVuY3Rpb24uDQo+ID4gPiA+ID4g
Pg0KPiA+ID4gPiA+ID4gQ29uZmlndXJhdGlvbg0KPiA+ID4gPiA+ID4gPT09PT09PT09PT09PQ0K
PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IEluIHRoZSB0eXBlLTIgc2V0dXAgdGhpcyBpcyB0eXBp
Y2FsbHkgZmFpcmx5IHNpbXBsZSBiZWNhdXNlIHRoZQ0KPiBob3N0DQo+ID4gPiA+ID4gPiBzeXN0
ZW0gY2FuIG9yY2hlc3RyYXRlIHRoZSB2YXJpb3VzIG1vZHVsZXMgdGhhdCBtYWtlIHVwIHRoZQ0K
PiBjb21wbGV0ZQ0KPiA+ID4gPiA+ID4gc3lzdGVtLiBJbiB0aGUgdHlwZS0xIGNhc2UgKG9yIGV2
ZW4gdHlwZS0yIHdpdGggZGVsZWdhdGVkDQo+IHNlcnZpY2UgVk1zKQ0KPiA+ID4gPiA+ID4gd2Ug
bmVlZCBzb21lIHNvcnQgb2YgbWVjaGFuaXNtIHRvIGluZm9ybSB0aGUgYmFja2VuZCBWTSBhYm91
dA0KPiBrZXkNCj4gPiA+ID4gPiA+IGRldGFpbHMgYWJvdXQgdGhlIHN5c3RlbToNCj4gPiA+ID4g
PiA+DQo+ID4gPiA+ID4gPiAgIC0gd2hlcmUgdmlydCBxdWV1ZSBtZW1vcnkgaXMgaW4gaXQncyBh
ZGRyZXNzIHNwYWNlDQo+ID4gPiA+ID4gPiAgIC0gaG93IGl0J3MgZ29pbmcgdG8gcmVjZWl2ZSAo
aW50ZXJydXB0KSBhbmQgdHJpZ2dlciAoa2ljaykNCj4gZXZlbnRzDQo+ID4gPiA+ID4gPiAgIC0g
d2hhdCAoaWYgYW55KSByZXNvdXJjZXMgdGhlIGJhY2tlbmQgbmVlZHMgdG8gY29ubmVjdCB0bw0K
PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IE9idmlvdXNseSB5b3UgY2FuIGVsaWRlIG92ZXIgY29u
ZmlndXJhdGlvbiBpc3N1ZXMgYnkgaGF2aW5nDQo+IHN0YXRpYw0KPiA+ID4gPiA+ID4gY29uZmln
dXJhdGlvbnMgYW5kIGJha2luZyB0aGUgYXNzdW1wdGlvbnMgaW50byB5b3VyIGd1ZXN0IGltYWdl
cw0KPiBob3dldmVyDQo+ID4gPiA+ID4gPiB0aGlzIGlzbid0IHNjYWxhYmxlIGluIHRoZSBsb25n
IHRlcm0uIFRoZSBvYnZpb3VzIHNvbHV0aW9uIHNlZW1zDQo+IHRvIGJlDQo+ID4gPiA+ID4gPiBl
eHRlbmRpbmcgYSBzdWJzZXQgb2YgRGV2aWNlIFRyZWUgZGF0YSB0byB1c2VyIHNwYWNlIGJ1dCBw
ZXJoYXBzDQo+IHRoZXJlDQo+ID4gPiA+ID4gPiBhcmUgb3RoZXIgYXBwcm9hY2hlcz8NCj4gPiA+
ID4gPiA+DQo+ID4gPiA+ID4gPiBCZWZvcmUgYW55IHZpcnRpbyB0cmFuc2FjdGlvbnMgY2FuIHRh
a2UgcGxhY2UgdGhlIGFwcHJvcHJpYXRlDQo+IG1lbW9yeQ0KPiA+ID4gPiA+ID4gbWFwcGluZ3Mg
bmVlZCB0byBiZSBtYWRlIGJldHdlZW4gdGhlIEZFIGd1ZXN0IGFuZCB0aGUgQkUgZ3Vlc3QuDQo+
ID4gPiA+ID4NCj4gPiA+ID4gPiA+IEN1cnJlbnRseSB0aGUgd2hvbGUgb2YgdGhlIEZFIGd1ZXN0
cyBhZGRyZXNzIHNwYWNlIG5lZWRzIHRvIGJlDQo+IHZpc2libGUNCj4gPiA+ID4gPiA+IHRvIHdo
YXRldmVyIGlzIHNlcnZpbmcgdGhlIHZpcnRpbyByZXF1ZXN0cy4gSSBjYW4gZW52aXNpb24gMw0K
PiBhcHByb2FjaGVzOg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAqIEJFIGd1ZXN0IGJvb3Rz
IHdpdGggbWVtb3J5IGFscmVhZHkgbWFwcGVkDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gIFRo
aXMgd291bGQgZW50YWlsIHRoZSBndWVzdCBPUyBrbm93aW5nIHdoZXJlIGluIGl0J3MgR3Vlc3QN
Cj4gUGh5c2ljYWwNCj4gPiA+ID4gPiA+ICBBZGRyZXNzIHNwYWNlIGlzIGFscmVhZHkgdGFrZW4g
dXAgYW5kIGF2b2lkaW5nIGNsYXNoaW5nLiBJDQo+IHdvdWxkIGFzc3VtZQ0KPiA+ID4gPiA+ID4g
IGluIHRoaXMgY2FzZSB5b3Ugd291bGQgd2FudCBhIHN0YW5kYXJkIGludGVyZmFjZSB0byB1c2Vy
c3BhY2UNCj4gdG8gdGhlbg0KPiA+ID4gPiA+ID4gIG1ha2UgdGhhdCBhZGRyZXNzIHNwYWNlIHZp
c2libGUgdG8gdGhlIGJhY2tlbmQgZGFlbW9uLg0KPiA+ID4gPg0KPiA+ID4gPiBZZXQgYW5vdGhl
ciB3YXkgaGVyZSBpcyB0aGF0IHdlIHdvdWxkIGhhdmUgd2VsbCBrbm93biAic2hhcmVkDQo+IG1l
bW9yeSIgYmV0d2Vlbg0KPiA+ID4gPiBWTXMuIEkgdGhpbmsgdGhhdCBKYWlsaG91c2UncyBpdnNo
bWVtIGdpdmVzIHVzIGdvb2QgaW5zaWdodHMgb24gdGhpcw0KPiBtYXR0ZXINCj4gPiA+ID4gYW5k
IHRoYXQgaXQgY2FuIGV2ZW4gYmUgYW4gYWx0ZXJuYXRpdmUgZm9yIGh5cGVydmlzb3ItYWdub3N0
aWMNCj4gc29sdXRpb24uDQo+ID4gPiA+DQo+ID4gPiA+IChQbGVhc2Ugbm90ZSBtZW1vcnkgcmVn
aW9ucyBpbiBpdnNobWVtIGFwcGVhciBhcyBhIFBDSSBkZXZpY2UgYW5kDQo+IGNhbiBiZQ0KPiA+
ID4gPiBtYXBwZWQgbG9jYWxseS4pDQo+ID4gPiA+DQo+ID4gPiA+IEkgd2FudCB0byBhZGQgdGhp
cyBzaGFyZWQgbWVtb3J5IGFzcGVjdCB0byBteSB2aXJ0aW8tcHJveHksIGJ1dA0KPiA+ID4gPiB0
aGUgcmVzdWx0YW50IHNvbHV0aW9uIHdvdWxkIGV2ZW50dWFsbHkgbG9vayBzaW1pbGFyIHRvIGl2
c2htZW0uDQo+ID4gPiA+DQo+ID4gPiA+ID4gPiAgKiBCRSBndWVzdHMgYm9vdHMgd2l0aCBhIGh5
cGVydmlzb3IgaGFuZGxlIHRvIG1lbW9yeQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICBUaGUg
QkUgZ3Vlc3QgaXMgdGhlbiBmcmVlIHRvIG1hcCB0aGUgRkUncyBtZW1vcnkgdG8gd2hlcmUgaXQN
Cj4gd2FudHMgaW4NCj4gPiA+ID4gPiA+ICB0aGUgQkUncyBndWVzdCBwaHlzaWNhbCBhZGRyZXNz
IHNwYWNlLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gSSBjYW5ub3Qgc2VlIGhvdyB0aGlzIGNvdWxk
IHdvcmsgZm9yIFhlbi4gVGhlcmUgaXMgbm8gImhhbmRsZSIgdG8NCj4gZ2l2ZQ0KPiA+ID4gPiA+
IHRvIHRoZSBiYWNrZW5kIGlmIHRoZSBiYWNrZW5kIGlzIG5vdCBydW5uaW5nIGluIGRvbTAuIFNv
IGZvciBYZW4gSQ0KPiB0aGluaw0KPiA+ID4gPiA+IHRoZSBtZW1vcnkgaGFzIHRvIGJlIGFscmVh
ZHkgbWFwcGVkDQo+ID4gPiA+DQo+ID4gPiA+IEluIFhlbidzIElPUkVRIHNvbHV0aW9uICh2aXJ0
aW8tYmxrKSwgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbiBpcw0KPiBleHBlY3RlZA0KPiA+ID4g
PiB0byBiZSBleHBvc2VkIHRvIEJFIHZpYSBYZW5zdG9yZToNCj4gPiA+ID4gKEkga25vdyB0aGF0
IHRoaXMgaXMgYSB0ZW50YXRpdmUgYXBwcm9hY2ggdGhvdWdoLikNCj4gPiA+ID4gICAgLSB0aGUg
c3RhcnQgYWRkcmVzcyBvZiBjb25maWd1cmF0aW9uIHNwYWNlDQo+ID4gPiA+ICAgIC0gaW50ZXJy
dXB0IG51bWJlcg0KPiA+ID4gPiAgICAtIGZpbGUgcGF0aCBmb3IgYmFja2luZyBzdG9yYWdlDQo+
ID4gPiA+ICAgIC0gcmVhZC1vbmx5IGZsYWcNCj4gPiA+ID4gQW5kIHRoZSBCRSBzZXJ2ZXIgaGF2
ZSB0byBjYWxsIGEgcGFydGljdWxhciBoeXBlcnZpc29yIGludGVyZmFjZSB0bw0KPiA+ID4gPiBt
YXAgdGhlIGNvbmZpZ3VyYXRpb24gc3BhY2UuDQo+ID4gPg0KPiA+ID4gWWVzLCBYZW5zdG9yZSB3
YXMgY2hvc2VuIGFzIGEgc2ltcGxlIHdheSB0byBwYXNzIGNvbmZpZ3VyYXRpb24gaW5mbyB0bw0K
PiB0aGUgYmFja2VuZCBydW5uaW5nIGluIGEgbm9uLXRvb2xzdGFjayBkb21haW4uDQo+ID4gPiBJ
IHJlbWVtYmVyLCB0aGVyZSB3YXMgYSB3aXNoIHRvIGF2b2lkIHVzaW5nIFhlbnN0b3JlIGluIFZp
cnRpbyBiYWNrZW5kDQo+IGl0c2VsZiBpZiBwb3NzaWJsZSwgc28gZm9yIG5vbi10b29sc3RhY2sg
ZG9tYWluLCB0aGlzIGNvdWxkIGRvbmUgd2l0aA0KPiBhZGp1c3RpbmcgZGV2ZCAoZGFlbW9uIHRo
YXQgbGlzdGVucyBmb3IgZGV2aWNlcyBhbmQgbGF1bmNoZXMgYmFja2VuZHMpDQo+ID4gPiB0byBy
ZWFkIGJhY2tlbmQgY29uZmlndXJhdGlvbiBmcm9tIHRoZSBYZW5zdG9yZSBhbnl3YXkgYW5kIHBh
c3MgaXQgdG8NCj4gdGhlIGJhY2tlbmQgdmlhIGNvbW1hbmQgbGluZSBhcmd1bWVudHMuDQo+ID4g
Pg0KPiA+DQo+ID4gWWVzLCBpbiBjdXJyZW50IFBvQyBjb2RlIHdlJ3JlIHVzaW5nIHhlbnN0b3Jl
IHRvIHBhc3MgZGV2aWNlDQo+IGNvbmZpZ3VyYXRpb24uDQo+ID4gV2UgYWxzbyBkZXNpZ25lZCBh
IHN0YXRpYyBkZXZpY2UgY29uZmlndXJhdGlvbiBwYXJzZSBtZXRob2QgZm9yIERvbTBsZXNzDQo+
IG9yDQo+ID4gb3RoZXIgc2NlbmFyaW9zIGRvbid0IGhhdmUgeGVudG9vbC4geWVzLCBpdCdzIGZy
b20gZGV2aWNlIG1vZGVsIGNvbW1hbmQNCj4gbGluZQ0KPiA+IG9yIGEgY29uZmlnIGZpbGUuDQo+
ID4NCj4gPiA+IEJ1dCwgaWYgLi4uDQo+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPiBJbiBteSBhcHBy
b2FjaCAodmlydGlvLXByb3h5KSwgYWxsIHRob3NlIFhlbiAob3IgaHlwZXJ2aXNvciktDQo+IHNw
ZWNpZmljDQo+ID4gPiA+IHN0dWZmcyBhcmUgY29udGFpbmVkIGluIHZpcnRpby1wcm94eSwgeWV0
IGFub3RoZXIgVk0sIHRvIGhpZGUgYWxsDQo+IGRldGFpbHMuDQo+ID4gPg0KPiA+ID4gLi4uIHRo
ZSBzb2x1dGlvbiBob3cgdG8gb3ZlcmNvbWUgdGhhdCBpcyBhbHJlYWR5IGZvdW5kIGFuZCBwcm92
ZW4gdG8NCj4gd29yayB0aGVuIGV2ZW4gYmV0dGVyLg0KPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+
ID4gPiAjIE15IHBvaW50IGlzIHRoYXQgYSAiaGFuZGxlIiBpcyBub3QgbWFuZGF0b3J5IGZvciBl
eGVjdXRpbmcgbWFwcGluZy4NCj4gPiA+ID4NCj4gPiA+ID4gPiBhbmQgdGhlIG1hcHBpbmcgcHJv
YmFibHkgZG9uZSBieSB0aGUNCj4gPiA+ID4gPiB0b29sc3RhY2sgKGFsc28gc2VlIGJlbG93Likg
T3Igd2Ugd291bGQgaGF2ZSB0byBpbnZlbnQgYSBuZXcgWGVuDQo+ID4gPiA+ID4gaHlwZXJ2aXNv
ciBpbnRlcmZhY2UgYW5kIFhlbiB2aXJ0dWFsIG1hY2hpbmUgcHJpdmlsZWdlcyB0byBhbGxvdw0K
PiB0aGlzDQo+ID4gPiA+ID4ga2luZCBvZiBtYXBwaW5nLg0KPiA+ID4gPg0KPiA+ID4gPiA+IElm
IHdlIHJ1biB0aGUgYmFja2VuZCBpbiBEb20wIHRoYXQgd2UgaGF2ZSBubyBwcm9ibGVtcyBvZiBj
b3Vyc2UuDQo+ID4gPiA+DQo+ID4gPiA+IE9uZSBvZiBkaWZmaWN1bHRpZXMgb24gWGVuIHRoYXQg
SSBmb3VuZCBpbiBteSBhcHByb2FjaCBpcyB0aGF0DQo+IGNhbGxpbmcNCj4gPiA+ID4gc3VjaCBo
eXBlcnZpc29yIGludGVmYWNlcyAocmVnaXN0ZXJpbmcgSU9SRVEsIG1hcHBpbmcgbWVtb3J5KSBp
cw0KPiBvbmx5DQo+ID4gPiA+IGFsbG93ZWQgb24gQkUgc2VydmVycyB0aGVtc2VsdmllcyBhbmQg
c28gd2Ugd2lsbCBoYXZlIHRvIGV4dGVuZA0KPiB0aG9zZQ0KPiA+ID4gPiBpbnRlcmZhY2VzLg0K
PiA+ID4gPiBUaGlzLCBob3dldmVyLCB3aWxsIHJhaXNlIHNvbWUgY29uY2VybiBvbiBzZWN1cml0
eSBhbmQgcHJpdmlsZWdlDQo+IGRpc3RyaWJ1dGlvbg0KPiA+ID4gPiBhcyBTdGVmYW4gc3VnZ2Vz
dGVkLg0KPiA+ID4NCj4gPiA+IFdlIGFsc28gZmFjZWQgcG9saWN5IHJlbGF0ZWQgaXNzdWVzIHdp
dGggVmlydGlvIGJhY2tlbmQgcnVubmluZyBpbg0KPiBvdGhlciB0aGFuIERvbTAgZG9tYWluIGlu
IGEgImR1bW15IiB4c20gbW9kZS4gSW4gb3VyIHRhcmdldCBzeXN0ZW0gd2UgcnVuDQo+IHRoZSBi
YWNrZW5kIGluIGEgZHJpdmVyDQo+ID4gPiBkb21haW4gKHdlIGNhbGwgaXQgRG9tRCkgd2hlcmUg
dGhlIHVuZGVybHlpbmcgSC9XIHJlc2lkZXMuIFdlIHRydXN0IGl0LA0KPiBzbyB3ZSB3cm90ZSBw
b2xpY3kgcnVsZXMgKHRvIGJlIHVzZWQgaW4gImZsYXNrIiB4c20gbW9kZSkgdG8gcHJvdmlkZSBp
dA0KPiB3aXRoIGEgbGl0dGxlIGJpdCBtb3JlIHByaXZpbGVnZXMgdGhhbiBhIHNpbXBsZSBEb21V
IGhhZC4NCj4gPiA+IE5vdyBpdCBpcyBwZXJtaXR0ZWQgdG8gaXNzdWUgZGV2aWNlLW1vZGVsLCBy
ZXNvdXJjZSBhbmQgbWVtb3J5DQo+IG1hcHBpbmdzLCBldGMgY2FsbHMuDQo+ID4gPg0KPiA+ID4g
PiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IFRvIGFjdGl2YXRlIHRoZSBtYXBwaW5nIHdpbGwN
Cj4gPiA+ID4gPiA+ICByZXF1aXJlIHNvbWUgc29ydCBvZiBoeXBlcmNhbGwgdG8gdGhlIGh5cGVy
dmlzb3IuIEkgY2FuIHNlZSB0d28NCj4gb3B0aW9ucw0KPiA+ID4gPiA+ID4gIGF0IHRoaXMgcG9p
bnQ6DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gICAtIGV4cG9zZSB0aGUgaGFuZGxlIHRvIHVz
ZXJzcGFjZSBmb3IgZGFlbW9uL2hlbHBlciB0byB0cmlnZ2VyDQo+IHRoZQ0KPiA+ID4gPiA+ID4g
ICAgIG1hcHBpbmcgdmlhIGV4aXN0aW5nIGh5cGVyY2FsbCBpbnRlcmZhY2VzLiBJZiB1c2luZyBh
IGhlbHBlcg0KPiB5b3UNCj4gPiA+ID4gPiA+ICAgICB3b3VsZCBoYXZlIGEgaHlwZXJ2aXNvciBz
cGVjaWZpYyBvbmUgdG8gYXZvaWQgdGhlIGRhZW1vbg0KPiBoYXZpbmcgdG8NCj4gPiA+ID4gPiA+
ICAgICBjYXJlIHRvbyBtdWNoIGFib3V0IHRoZSBkZXRhaWxzIG9yIHB1c2ggdGhhdCBjb21wbGV4
aXR5IGludG8NCj4gYQ0KPiA+ID4gPiA+ID4gICAgIGNvbXBpbGUgdGltZSBvcHRpb24gZm9yIHRo
ZSBkYWVtb24gd2hpY2ggd291bGQgcmVzdWx0IGluDQo+IGRpZmZlcmVudA0KPiA+ID4gPiA+ID4g
ICAgIGJpbmFyaWVzIGFsdGhvdWdoIGEgY29tbW9uIHNvdXJjZSBiYXNlLg0KPiA+ID4gPiA+ID4N
Cj4gPiA+ID4gPiA+ICAgLSBleHBvc2UgYSBuZXcga2VybmVsIEFCSSB0byBhYnN0cmFjdCB0aGUg
aHlwZXJjYWxsDQo+IGRpZmZlcmVuY2VzIGF3YXkNCj4gPiA+ID4gPiA+ICAgICBpbiB0aGUgZ3Vl
c3Qga2VybmVsLiBJbiB0aGlzIGNhc2UgdGhlIHVzZXJzcGFjZSB3b3VsZA0KPiBlc3NlbnRpYWxs
eQ0KPiA+ID4gPiA+ID4gICAgIGFzayBmb3IgYW4gYWJzdHJhY3QgIm1hcCBndWVzdCBOIG1lbW9y
eSB0byB1c2Vyc3BhY2UgcHRyIg0KPiBhbmQgbGV0DQo+ID4gPiA+ID4gPiAgICAgdGhlIGtlcm5l
bCBkZWFsIHdpdGggdGhlIGRpZmZlcmVudCBoeXBlcmNhbGwgaW50ZXJmYWNlcy4NCj4gVGhpcyBv
Zg0KPiA+ID4gPiA+ID4gICAgIGNvdXJzZSBhc3N1bWVzIHRoZSBtYWpvcml0eSBvZiBCRSBndWVz
dHMgd291bGQgYmUgTGludXgNCj4ga2VybmVscyBhbmQNCj4gPiA+ID4gPiA+ICAgICBsZWF2ZXMg
dGhlIGJhcmUtbWV0YWwvdW5pa2VybmVsIGFwcHJvYWNoZXMgdG8gdGhlaXIgb3duDQo+IGRldmlj
ZXMuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gT3BlcmF0aW9uDQo+ID4gPiA+ID4gPiA9PT09
PT09PT0NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBUaGUgY29yZSBvZiB0aGUgb3BlcmF0aW9u
IG9mIFZpcnRJTyBpcyBmYWlybHkgc2ltcGxlLiBPbmNlIHRoZQ0KPiA+ID4gPiA+ID4gdmhvc3Qt
dXNlciBmZWF0dXJlIG5lZ290aWF0aW9uIGlzIGRvbmUgaXQncyBhIGNhc2Ugb2YgcmVjZWl2aW5n
DQo+IHVwZGF0ZQ0KPiA+ID4gPiA+ID4gZXZlbnRzIGFuZCBwYXJzaW5nIHRoZSByZXN1bHRhbnQg
dmlydCBxdWV1ZSBmb3IgZGF0YS4gVGhlIHZob3N0LQ0KPiB1c2VyDQo+ID4gPiA+ID4gPiBzcGVj
aWZpY2F0aW9uIGhhbmRsZXMgYSBidW5jaCBvZiBzZXR1cCBiZWZvcmUgdGhhdCBwb2ludCwgbW9z
dGx5DQo+IHRvDQo+ID4gPiA+ID4gPiBkZXRhaWwgd2hlcmUgdGhlIHZpcnQgcXVldWVzIGFyZSBz
ZXQgdXAgRkQncyBmb3IgbWVtb3J5IGFuZA0KPiBldmVudA0KPiA+ID4gPiA+ID4gY29tbXVuaWNh
dGlvbi4gVGhpcyBpcyB3aGVyZSB0aGUgZW52aXNpb25lZCBzdHViIHByb2Nlc3Mgd291bGQNCj4g
YmUNCj4gPiA+ID4gPiA+IHJlc3BvbnNpYmxlIGZvciBnZXR0aW5nIHRoZSBkYWVtb24gdXAgYW5k
IHJlYWR5IHRvIHJ1bi4gVGhpcyBpcw0KPiA+ID4gPiA+ID4gY3VycmVudGx5IGRvbmUgaW5zaWRl
IGEgYmlnIFZNTSBsaWtlIFFFTVUgYnV0IEkgc3VzcGVjdCBhIG1vZGVybg0KPiA+ID4gPiA+ID4g
YXBwcm9hY2ggd291bGQgYmUgdG8gdXNlIHRoZSBydXN0LXZtbSB2aG9zdCBjcmF0ZS4gSXQgd291
bGQgdGhlbg0KPiBlaXRoZXINCj4gPiA+ID4gPiA+IGNvbW11bmljYXRlIHdpdGggdGhlIGtlcm5l
bCdzIGFic3RyYWN0ZWQgQUJJIG9yIGJlIHJlLXRhcmdldGVkDQo+IGFzIGENCj4gPiA+ID4gPiA+
IGJ1aWxkIG9wdGlvbiBmb3IgdGhlIHZhcmlvdXMgaHlwZXJ2aXNvcnMuDQo+ID4gPiA+ID4NCj4g
PiA+ID4gPiBPbmUgdGhpbmcgSSBtZW50aW9uZWQgYmVmb3JlIHRvIEFsZXggaXMgdGhhdCBYZW4g
ZG9lc24ndCBoYXZlIFZNTXMNCj4gdGhlDQo+ID4gPiA+ID4gd2F5IHRoZXkgYXJlIHR5cGljYWxs
eSBlbnZpc2lvbmVkIGFuZCBkZXNjcmliZWQgaW4gb3RoZXINCj4gZW52aXJvbm1lbnRzLg0KPiA+
ID4gPiA+IEluc3RlYWQsIFhlbiBoYXMgSU9SRVEgc2VydmVycy4gRWFjaCBvZiB0aGVtIGNvbm5l
Y3RzDQo+IGluZGVwZW5kZW50bHkgdG8NCj4gPiA+ID4gPiBYZW4gdmlhIHRoZSBJT1JFUSBpbnRl
cmZhY2UuIEUuZy4gdG9kYXkgbXVsdGlwbGUgUUVNVXMgY291bGQgYmUNCj4gdXNlZCBhcw0KPiA+
ID4gPiA+IGVtdWxhdG9ycyBmb3IgYSBzaW5nbGUgWGVuIFZNLCBlYWNoIG9mIHRoZW0gY29ubmVj
dGluZyB0byBYZW4NCj4gPiA+ID4gPiBpbmRlcGVuZGVudGx5IHZpYSB0aGUgSU9SRVEgaW50ZXJm
YWNlLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gVGhlIGNvbXBvbmVudCByZXNwb25zaWJsZSBmb3Ig
c3RhcnRpbmcgYSBkYWVtb24gYW5kL29yIHNldHRpbmcgdXANCj4gc2hhcmVkDQo+ID4gPiA+ID4g
aW50ZXJmYWNlcyBpcyB0aGUgdG9vbHN0YWNrOiB0aGUgeGwgY29tbWFuZCBhbmQgdGhlIGxpYnhs
L2xpYnhjDQo+ID4gPiA+ID4gbGlicmFyaWVzLg0KPiA+ID4gPg0KPiA+ID4gPiBJIHRoaW5rIHRo
YXQgVk0gY29uZmlndXJhdGlvbiBtYW5hZ2VtZW50IChvciBvcmNoZXN0cmF0aW9uIGluDQo+IFN0
YXJ0b3MNCj4gPiA+ID4gamFyZ29uPykgaXMgYSBzdWJqZWN0IHRvIGRlYmF0ZSBpbiBwYXJhbGxl
bC4NCj4gPiA+ID4gT3RoZXJ3aXNlLCBpcyB0aGVyZSBhbnkgZ29vZCBhc3N1bXB0aW9uIHRvIGF2
b2lkIGl0IHJpZ2h0IG5vdz8NCj4gPiA+ID4NCj4gPiA+ID4gPiBPbGVrc2FuZHIgYW5kIG90aGVy
cyBJIENDZWQgaGF2ZSBiZWVuIHdvcmtpbmcgb24gd2F5cyBmb3IgdGhlDQo+IHRvb2xzdGFjaw0K
PiA+ID4gPiA+IHRvIGNyZWF0ZSB2aXJ0aW8gYmFja2VuZHMgYW5kIHNldHVwIG1lbW9yeSBtYXBw
aW5ncy4gVGhleSBtaWdodCBiZQ0KPiBhYmxlDQo+ID4gPiA+ID4gdG8gcHJvdmlkZSBtb3JlIGlu
Zm8gb24gdGhlIHN1YmplY3QuIEkgZG8gdGhpbmsgd2UgbWlzcyBhIHdheSB0bw0KPiBwcm92aWRl
DQo+ID4gPiA+ID4gdGhlIGNvbmZpZ3VyYXRpb24gdG8gdGhlIGJhY2tlbmQgYW5kIGFueXRoaW5n
IGVsc2UgdGhhdCB0aGUNCj4gYmFja2VuZA0KPiA+ID4gPiA+IG1pZ2h0IHJlcXVpcmUgdG8gc3Rh
cnQgZG9pbmcgaXRzIGpvYi4NCj4gPiA+DQo+ID4gPiBZZXMsIHNvbWUgd29yayBoYXMgYmVlbiBk
b25lIGZvciB0aGUgdG9vbHN0YWNrIHRvIGhhbmRsZSBWaXJ0aW8gTU1JTw0KPiBkZXZpY2VzIGlu
DQo+ID4gPiBnZW5lcmFsIGFuZCBWaXJ0aW8gYmxvY2sgZGV2aWNlcyBpbiBwYXJ0aWN1bGFyLiBI
b3dldmVyLCBpdCBoYXMgbm90DQo+IGJlZW4gdXBzdHJlYW5lZCB5ZXQuDQo+ID4gPiBVcGRhdGVk
IHBhdGNoZXMgb24gcmV2aWV3IG5vdzoNCj4gPiA+IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3hl
bi1kZXZlbC8xNjIxNjI2MzYxLTI5MDc2LTEtZ2l0LXNlbmQtZW1haWwtDQo+IG9sZWtzdHlzaEBn
bWFpbC5jb20vDQo+ID4gPg0KPiA+ID4gVGhlcmUgaXMgYW4gYWRkaXRpb25hbCAoYWxzbyBpbXBv
cnRhbnQpIGFjdGl2aXR5IHRvIGltcHJvdmUvZml4DQo+IGZvcmVpZ24gbWVtb3J5IG1hcHBpbmcg
b24gQXJtIHdoaWNoIEkgYW0gYWxzbyBpbnZvbHZlZCBpbi4NCj4gPiA+IFRoZSBmb3JlaWduIG1l
bW9yeSBtYXBwaW5nIGlzIHByb3Bvc2VkIHRvIGJlIHVzZWQgZm9yIFZpcnRpbyBiYWNrZW5kcw0K
PiAoZGV2aWNlIGVtdWxhdG9ycykgaWYgdGhlcmUgaXMgYSBuZWVkIHRvIHJ1biBndWVzdCBPUyBj
b21wbGV0ZWx5DQo+IHVubW9kaWZpZWQuDQo+ID4gPiBPZiBjb3Vyc2UsIHRoZSBtb3JlIHNlY3Vy
ZSB3YXkgd291bGQgYmUgdG8gdXNlIGdyYW50IG1lbW9yeSBtYXBwaW5nLg0KPiBCcmlldGx5LCB0
aGUgbWFpbiBkaWZmZXJlbmNlIGJldHdlZW4gdGhlbSBpcyB0aGF0IHdpdGggZm9yZWlnbiBtYXBw
aW5nIHRoZQ0KPiBiYWNrZW5kDQo+ID4gPiBjYW4gbWFwIGFueSBndWVzdCBtZW1vcnkgaXQgd2Fu
dHMgdG8gbWFwLCBidXQgd2l0aCBncmFudCBtYXBwaW5nIGl0IGlzDQo+IGFsbG93ZWQgdG8gbWFw
IG9ubHkgd2hhdCB3YXMgcHJldmlvdXNseSBncmFudGVkIGJ5IHRoZSBmcm9udGVuZC4NCj4gPiA+
DQo+ID4gPiBTbywgdGhlcmUgbWlnaHQgYmUgYSBwcm9ibGVtIGlmIHdlIHdhbnQgdG8gcHJlLW1h
cCBzb21lIGd1ZXN0IG1lbW9yeQ0KPiBpbiBhZHZhbmNlIG9yIHRvIGNhY2hlIG1hcHBpbmdzIGlu
IHRoZSBiYWNrZW5kIGluIG9yZGVyIHRvIGltcHJvdmUNCj4gcGVyZm9ybWFuY2UgKGJlY2F1c2Ug
dGhlIG1hcHBpbmcvdW5tYXBwaW5nIGd1ZXN0IHBhZ2VzIGV2ZXJ5IHJlcXVlc3QNCj4gcmVxdWly
ZXMgYSBsb3Qgb2YgYmFjayBhbmQgZm9ydGggdG8gWGVuICsgUDJNIHVwZGF0ZXMpLiBJbiBhIG51
dHNoZWxsLA0KPiBjdXJyZW50bHksIGluIG9yZGVyIHRvIG1hcCBhIGd1ZXN0IHBhZ2UgaW50byB0
aGUgYmFja2VuZCBhZGRyZXNzIHNwYWNlIHdlDQo+IG5lZWQgdG8gc3RlYWwgYSByZWFsIHBoeXNp
Y2FsIHBhZ2UgZnJvbSB0aGUgYmFja2VuZCBkb21haW4uIFNvLCB3aXRoIHRoZQ0KPiBzYWlkIG9w
dGltaXphdGlvbnMgd2UgbWlnaHQgZW5kIHVwIHdpdGggbm8gZnJlZSBtZW1vcnkgaW4gdGhlIGJh
Y2tlbmQNCj4gZG9tYWluIChzZWUgWFNBLTMwMCkuIEFuZCB3aGF0IHdlIHRyeSB0byBhY2hpZXZl
IGlzIHRvIG5vdCB3YXN0ZSBhIHJlYWwNCj4gZG9tYWluIG1lbW9yeSBhdCBhbGwgYnkgcHJvdmlk
aW5nIHNhZmUgbm9uLWFsbG9jYXRlZC15ZXQgKHNvIHVudXNlZCkNCj4gYWRkcmVzcyBzcGFjZSBm
b3IgdGhlIGZvcmVpZ24gKGFuZCBncmFudCkgcGFnZXMgdG8gYmUgbWFwcGVkIGludG8sIHRoaXMN
Cj4gZW5hYmxpbmcgd29yayBpbXBsaWVzIFhlbiBhbmQgTGludXggKGFuZCBsaWtlbHkgRFRCIGJp
bmRpbmdzKSBjaGFuZ2VzLg0KPiBIb3dldmVyLCBhcyBpdCB0dXJuZWQgb3V0LCBmb3IgdGhpcyB0
byB3b3JrIGluIGEgcHJvcGVyIGFuZCBzYWZlIHdheSBzb21lDQo+IHByZXJlcSB3b3JrIG5lZWRz
IHRvIGJlIGRvbmUuDQo+ID4gPiBZb3UgY2FuIGZpbmQgdGhlIHJlbGF0ZWQgWGVuIGRpc2N1c3Np
b24gYXQ6DQo+ID4gPiBodHRwczovL2xvcmUua2VybmVsLm9yZy94ZW4tZGV2ZWwvMTYyNzQ4OTEx
MC0yNTYzMy0xLWdpdC1zZW5kLWVtYWlsLQ0KPiBvbGVrc3R5c2hAZ21haWwuY29tLw0KPiA+ID4N
Cj4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gT25lIHF1ZXN0aW9uIGlz
IGhvdyB0byBiZXN0IGhhbmRsZSBub3RpZmljYXRpb24gYW5kIGtpY2tzLiBUaGUNCj4gZXhpc3Rp
bmcNCj4gPiA+ID4gPiA+IHZob3N0LXVzZXIgZnJhbWV3b3JrIHVzZXMgZXZlbnRmZCB0byBzaWdu
YWwgdGhlIGRhZW1vbiAoYWx0aG91Z2gNCj4gUUVNVQ0KPiA+ID4gPiA+ID4gaXMgcXVpdGUgY2Fw
YWJsZSBvZiBzaW11bGF0aW5nIHRoZW0gd2hlbiB5b3UgdXNlIFRDRykuIFhlbiBoYXMNCj4gaXQn
cyBvd24NCj4gPiA+ID4gPiA+IElPUkVRIG1lY2hhbmlzbS4gSG93ZXZlciBsYXRlbmN5IGlzIGFu
IGltcG9ydGFudCBmYWN0b3IgYW5kDQo+IGhhdmluZw0KPiA+ID4gPiA+ID4gZXZlbnRzIGdvIHRo
cm91Z2ggdGhlIHN0dWIgd291bGQgYWRkIHF1aXRlIGEgbG90Lg0KPiA+ID4gPiA+DQo+ID4gPiA+
ID4gWWVhaCBJIHRoaW5rLCByZWdhcmRsZXNzIG9mIGFueXRoaW5nIGVsc2UsIHdlIHdhbnQgdGhl
IGJhY2tlbmRzIHRvDQo+ID4gPiA+ID4gY29ubmVjdCBkaXJlY3RseSB0byB0aGUgWGVuIGh5cGVy
dmlzb3IuDQo+ID4gPiA+DQo+ID4gPiA+IEluIG15IGFwcHJvYWNoLA0KPiA+ID4gPiAgYSkgQkUg
LT4gRkU6IGludGVycnVwdHMgdHJpZ2dlcmVkIGJ5IEJFIGNhbGxpbmcgYSBoeXBlcnZpc29yDQo+
IGludGVyZmFjZQ0KPiA+ID4gPiAgICAgICAgICAgICAgIHZpYSB2aXJ0aW8tcHJveHkNCj4gPiA+
ID4gIGIpIEZFIC0+IEJFOiBNTUlPIHRvIGNvbmZpZyByYWlzZXMgZXZlbnRzIChpbiBldmVudCBj
aGFubmVscyksDQo+IHdoaWNoIGlzDQo+ID4gPiA+ICAgICAgICAgICAgICAgY29udmVydGVkIHRv
IGEgY2FsbGJhY2sgdG8gQkUgdmlhIHZpcnRpby1wcm94eQ0KPiA+ID4gPiAgICAgICAgICAgICAg
IChYZW4ncyBldmVudCBjaGFubmVsIGlzIGludGVybm5hbGx5IGltcGxlbWVudGVkIGJ5DQo+IGlu
dGVycnVwdHMuKQ0KPiA+ID4gPg0KPiA+ID4gPiBJIGRvbid0IGtub3cgd2hhdCAiY29ubmVjdCBk
aXJlY3RseSIgbWVhbnMgaGVyZSwgYnV0IHNlbmRpbmcNCj4gaW50ZXJydXB0cw0KPiA+ID4gPiB0
byB0aGUgb3Bwb3NpdGUgc2lkZSB3b3VsZCBiZSBiZXN0IGVmZmljaWVudC4NCj4gPiA+ID4gSXZz
aG1lbSwgSSBzdXBwb3NlLCB0YWtlcyB0aGlzIGFwcHJvYWNoIGJ5IHV0aWxpemluZyBQQ0kncyBt
c2kteA0KPiBtZWNoYW5pc20uDQo+ID4gPg0KPiA+ID4gQWdyZWUgdGhhdCBNU0kgd291bGQgYmUg
bW9yZSBlZmZpY2llbnQgdGhhbiBTUEkuLi4NCj4gPiA+IEF0IHRoZSBtb21lbnQsIGluIG9yZGVy
IHRvIG5vdGlmeSB0aGUgZnJvbnRlbmQsIHRoZSBiYWNrZW5kIGlzc3VlcyBhDQo+IHNwZWNpZmlj
IGRldmljZS1tb2RlbCBjYWxsIHRvIHF1ZXJ5IFhlbiB0byBpbmplY3QgYSBjb3JyZXNwb25kaW5n
IFNQSSB0bw0KPiB0aGUgZ3Vlc3QuDQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPiA+ID4NCj4g
PiA+ID4gPiA+IENvdWxkIHdlIGNvbnNpZGVyIHRoZSBrZXJuZWwgaW50ZXJuYWxseSBjb252ZXJ0
aW5nIElPUkVRDQo+IG1lc3NhZ2VzIGZyb20NCj4gPiA+ID4gPiA+IHRoZSBYZW4gaHlwZXJ2aXNv
ciB0byBldmVudGZkIGV2ZW50cz8gV291bGQgdGhpcyBzY2FsZSB3aXRoDQo+IG90aGVyIGtlcm5l
bA0KPiA+ID4gPiA+ID4gaHlwZXJjYWxsIGludGVyZmFjZXM/DQo+ID4gPiA+ID4gPg0KPiA+ID4g
PiA+ID4gU28gYW55IHRob3VnaHRzIG9uIHdoYXQgZGlyZWN0aW9ucyBhcmUgd29ydGggZXhwZXJp
bWVudGluZyB3aXRoPw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gT25lIG9wdGlvbiB3ZSBzaG91bGQg
Y29uc2lkZXIgaXMgZm9yIGVhY2ggYmFja2VuZCB0byBjb25uZWN0IHRvDQo+IFhlbiB2aWENCj4g
PiA+ID4gPiB0aGUgSU9SRVEgaW50ZXJmYWNlLiBXZSBjb3VsZCBnZW5lcmFsaXplIHRoZSBJT1JF
USBpbnRlcmZhY2UgYW5kDQo+IG1ha2UgaXQNCj4gPiA+ID4gPiBoeXBlcnZpc29yIGFnbm9zdGlj
LiBUaGUgaW50ZXJmYWNlIGlzIHJlYWxseSB0cml2aWFsIGFuZCBlYXN5IHRvDQo+IGFkZC4NCj4g
PiA+ID4NCj4gPiA+ID4gQXMgSSBzYWlkIGFib3ZlLCBteSBwcm9wb3NhbCBkb2VzIHRoZSBzYW1l
IHRoaW5nIHRoYXQgeW91IG1lbnRpb25lZA0KPiBoZXJlIDopDQo+ID4gPiA+IFRoZSBkaWZmZXJl
bmNlIGlzIHRoYXQgSSBkbyBjYWxsIGh5cGVydmlzb3IgaW50ZXJmYWNlcyB2aWEgdmlydGlvLQ0K
PiBwcm94eS4NCj4gPiA+ID4NCj4gPiA+ID4gPiBUaGUgb25seSBYZW4tc3BlY2lmaWMgcGFydCBp
cyB0aGUgbm90aWZpY2F0aW9uIG1lY2hhbmlzbSwgd2hpY2ggaXMNCj4gYW4NCj4gPiA+ID4gPiBl
dmVudCBjaGFubmVsLiBJZiB3ZSByZXBsYWNlZCB0aGUgZXZlbnQgY2hhbm5lbCB3aXRoIHNvbWV0
aGluZw0KPiBlbHNlIHRoZQ0KPiA+ID4gPiA+IGludGVyZmFjZSB3b3VsZCBiZSBnZW5lcmljLiBT
ZWU6DQo+ID4gPiA+ID4gaHR0cHM6Ly9naXRsYWIuY29tL3hlbi1wcm9qZWN0L3hlbi8tDQo+IC9i
bG9iL3N0YWdpbmcveGVuL2luY2x1ZGUvcHVibGljL2h2bS9pb3JlcS5oI0w1Mg0KPiA+ID4gPiA+
DQo+ID4gPiA+ID4gSSBkb24ndCB0aGluayB0aGF0IHRyYW5zbGF0aW5nIElPUkVRcyB0byBldmVu
dGZkIGluIHRoZSBrZXJuZWwgaXMNCj4gYQ0KPiA+ID4gPiA+IGdvb2QgaWRlYTogaWYgZmVlbHMg
bGlrZSBpdCB3b3VsZCBiZSBleHRyYSBjb21wbGV4aXR5IGFuZCB0aGF0IHRoZQ0KPiA+ID4gPiA+
IGtlcm5lbCBzaG91bGRuJ3QgYmUgaW52b2x2ZWQgYXMgdGhpcyBpcyBhIGJhY2tlbmQtaHlwZXJ2
aXNvcg0KPiBpbnRlcmZhY2UuDQo+ID4gPiA+DQo+ID4gPiA+IEdpdmVuIHRoYXQgd2UgbWF5IHdh
bnQgdG8gaW1wbGVtZW50IEJFIGFzIGEgYmFyZS1tZXRhbCBhcHBsaWNhdGlvbg0KPiA+ID4gPiBh
cyBJIGRpZCBvbiBaZXBoeXIsIEkgZG9uJ3QgdGhpbmsgdGhhdCB0aGUgdHJhbnNsYXRpb24gd291
bGQgbm90IGJlDQo+ID4gPiA+IGEgYmlnIGlzc3VlLCBlc3BlY2lhbGx5IG9uIFJUT1Mncy4NCj4g
PiA+ID4gSXQgd2lsbCBiZSBzb21lIGtpbmQgb2YgYWJzdHJhY3Rpb24gbGF5ZXIgb2YgaW50ZXJy
dXB0IGhhbmRsaW5nDQo+ID4gPiA+IChvciBub3RoaW5nIGJ1dCBhIGNhbGxiYWNrIG1lY2hhbmlz
bSkuDQo+ID4gPiA+DQo+ID4gPiA+ID4gQWxzbywgZXZlbnRmZCBpcyB2ZXJ5IExpbnV4LWNlbnRy
aWMgYW5kIHdlIGFyZSB0cnlpbmcgdG8gZGVzaWduIGFuDQo+ID4gPiA+ID4gaW50ZXJmYWNlIHRo
YXQgY291bGQgd29yayB3ZWxsIGZvciBSVE9TZXMgdG9vLiBJZiB3ZSB3YW50IHRvIGRvDQo+ID4g
PiA+ID4gc29tZXRoaW5nIGRpZmZlcmVudCwgYm90aCBPUy1hZ25vc3RpYyBhbmQgaHlwZXJ2aXNv
ci1hZ25vc3RpYywNCj4gcGVyaGFwcw0KPiA+ID4gPiA+IHdlIGNvdWxkIGRlc2lnbiBhIG5ldyBp
bnRlcmZhY2UuIE9uZSB0aGF0IGNvdWxkIGJlIGltcGxlbWVudGFibGUNCj4gaW4gdGhlDQo+ID4g
PiA+ID4gWGVuIGh5cGVydmlzb3IgaXRzZWxmIChsaWtlIElPUkVRKSBhbmQgb2YgY291cnNlIGFu
eSBvdGhlcg0KPiBoeXBlcnZpc29yDQo+ID4gPiA+ID4gdG9vLg0KPiA+ID4gPiA+DQo+ID4gPiA+
ID4NCj4gPiA+ID4gPiBUaGVyZSBpcyBhbHNvIGFub3RoZXIgcHJvYmxlbS4gSU9SRVEgaXMgcHJv
YmFibHkgbm90IGJlIHRoZSBvbmx5DQo+ID4gPiA+ID4gaW50ZXJmYWNlIG5lZWRlZC4gSGF2ZSBh
IGxvb2sgYXQNCj4gPiA+ID4gPiBodHRwczovL21hcmMuaW5mby8/bD14ZW4tZGV2ZWwmbT0xNjIz
NzM3NTQ3MDUyMzMmdz0yLiBEb24ndCB3ZQ0KPiBhbHNvIG5lZWQNCj4gPiA+ID4gPiBhbiBpbnRl
cmZhY2UgZm9yIHRoZSBiYWNrZW5kIHRvIGluamVjdCBpbnRlcnJ1cHRzIGludG8gdGhlDQo+IGZy
b250ZW5kPyBBbmQNCj4gPiA+ID4gPiBpZiB0aGUgYmFja2VuZCByZXF1aXJlcyBkeW5hbWljIG1l
bW9yeSBtYXBwaW5ncyBvZiBmcm9udGVuZCBwYWdlcywNCj4gdGhlbg0KPiA+ID4gPiA+IHdlIHdv
dWxkIGFsc28gbmVlZCBhbiBpbnRlcmZhY2UgdG8gbWFwL3VubWFwIGRvbVUgcGFnZXMuDQo+ID4g
PiA+DQo+ID4gPiA+IE15IHByb3Bvc2FsIGRvY3VtZW50IG1pZ2h0IGhlbHAgaGVyZTsgQWxsIHRo
ZSBpbnRlcmZhY2VzIHJlcXVpcmVkDQo+IGZvcg0KPiA+ID4gPiB2aXJ0aW8tcHJveHkgKG9yIGh5
cGVydmlzb3ItcmVsYXRlZCBpbnRlcmZhY2VzKSBhcmUgbGlzdGVkIGFzDQo+ID4gPiA+IFJQQyBw
cm90b2NvbHMgOikNCj4gPiA+ID4NCj4gPiA+ID4gPiBUaGVzZSBpbnRlcmZhY2VzIGFyZSBhIGxv
dCBtb3JlIHByb2JsZW1hdGljIHRoYW4gSU9SRVE6IElPUkVRIGlzDQo+IHRpbnkNCj4gPiA+ID4g
PiBhbmQgc2VsZi1jb250YWluZWQuIEl0IGlzIGVhc3kgdG8gYWRkIGFueXdoZXJlLiBBIG5ldyBp
bnRlcmZhY2UgdG8NCj4gPiA+ID4gPiBpbmplY3QgaW50ZXJydXB0cyBvciBtYXAgcGFnZXMgaXMg
bW9yZSBkaWZmaWN1bHQgdG8gbWFuYWdlIGJlY2F1c2UNCj4gaXQNCj4gPiA+ID4gPiB3b3VsZCBy
ZXF1aXJlIGNoYW5nZXMgc2NhdHRlcmVkIGFjcm9zcyB0aGUgdmFyaW91cyBlbXVsYXRvcnMuDQo+
ID4gPiA+DQo+ID4gPiA+IEV4YWN0bHkuIEkgaGF2ZSBubyBjb25maWRlbnQgeWV0IHRoYXQgbXkg
YXBwcm9hY2ggd2lsbCBhbHNvIGFwcGx5DQo+ID4gPiA+IHRvIG90aGVyIGh5cGVydmlzb3JzIHRo
YW4gWGVuLg0KPiA+ID4gPiBUZWNobmljYWxseSwgeWVzLCBidXQgd2hldGhlciBwZW9wbGUgY2Fu
IGFjY2VwdCBpdCBvciBub3QgaXMgYQ0KPiBkaWZmZXJlbnQNCj4gPiA+ID4gbWF0dGVyLg0KPiA+
ID4gPg0KPiA+ID4gPiBUaGFua3MsDQo+ID4gPiA+IC1UYWthaGlybyBBa2FzaGkNCj4gPiA+DQo+
ID4gPg0KPiA+ID4NCj4gPiA+IC0tDQo+ID4gPiBSZWdhcmRzLA0KPiA+ID4NCj4gPiA+IE9sZWtz
YW5kciBUeXNoY2hlbmtvDQo+ID4gSU1QT1JUQU5UIE5PVElDRTogVGhlIGNvbnRlbnRzIG9mIHRo
aXMgZW1haWwgYW5kIGFueSBhdHRhY2htZW50cyBhcmUNCj4gY29uZmlkZW50aWFsIGFuZCBtYXkg
YWxzbyBiZSBwcml2aWxlZ2VkLiBJZiB5b3UgYXJlIG5vdCB0aGUgaW50ZW5kZWQNCj4gcmVjaXBp
ZW50LCBwbGVhc2Ugbm90aWZ5IHRoZSBzZW5kZXIgaW1tZWRpYXRlbHkgYW5kIGRvIG5vdCBkaXNj
bG9zZSB0aGUNCj4gY29udGVudHMgdG8gYW55IG90aGVyIHBlcnNvbiwgdXNlIGl0IGZvciBhbnkg
cHVycG9zZSwgb3Igc3RvcmUgb3IgY29weSB0aGUNCj4gaW5mb3JtYXRpb24gaW4gYW55IG1lZGl1
bS4gVGhhbmsgeW91Lg0KSU1QT1JUQU5UIE5PVElDRTogVGhlIGNvbnRlbnRzIG9mIHRoaXMgZW1h
aWwgYW5kIGFueSBhdHRhY2htZW50cyBhcmUgY29uZmlkZW50aWFsIGFuZCBtYXkgYWxzbyBiZSBw
cml2aWxlZ2VkLiBJZiB5b3UgYXJlIG5vdCB0aGUgaW50ZW5kZWQgcmVjaXBpZW50LCBwbGVhc2Ug
bm90aWZ5IHRoZSBzZW5kZXIgaW1tZWRpYXRlbHkgYW5kIGRvIG5vdCBkaXNjbG9zZSB0aGUgY29u
dGVudHMgdG8gYW55IG90aGVyIHBlcnNvbiwgdXNlIGl0IGZvciBhbnkgcHVycG9zZSwgb3Igc3Rv
cmUgb3IgY29weSB0aGUgaW5mb3JtYXRpb24gaW4gYW55IG1lZGl1bS4gVGhhbmsgeW91Lg0K


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 08:41:50 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 08:41:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167659.306050 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFufN-00077j-4W; Tue, 17 Aug 2021 08:41:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167659.306050; Tue, 17 Aug 2021 08:41:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFufN-00077c-10; Tue, 17 Aug 2021 08:41:49 +0000
Received: by outflank-mailman (input) for mailman id 167659;
 Tue, 17 Aug 2021 08:41:47 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=tbpc=NI=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mFufK-00077W-VC
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 08:41:46 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id f3ff39e6-ff36-11eb-a494-12813bfff9fa;
 Tue, 17 Aug 2021 08:41:45 +0000 (UTC)
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2053.outbound.protection.outlook.com [104.47.2.53]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-34-AqzLfZHXPBK73sePL41OYw-1; Tue, 17 Aug 2021 10:41:43 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5168.eurprd04.prod.outlook.com (2603:10a6:803:56::33)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Tue, 17 Aug
 2021 08:41:42 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Tue, 17 Aug 2021
 08:41:41 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR04CA0076.eurprd04.prod.outlook.com (2603:10a6:208:be::17) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Tue, 17 Aug 2021 08:41: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: f3ff39e6-ff36-11eb-a494-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629189705;
	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=4uHPsOC1ZS5ja/027pEhbGj+cAoKNryeRVR9n3I2wWQ=;
	b=EBqA5Tmv6oU/wCr1Z4Js84zGJepUdnVzlKAjcbCQMYmbwAdlwabXsCVjhiYaHEnE8VuqE6
	U/XN9f+slKa/7/cLm0mJ7p0WDqqLOq2KwfirBhYYJkoyeNXptbw2dnBHejbBC0l4WBJ7to
	XzcdRQ+mA0iuqdnMFLj7coQutdugp3g=
X-MC-Unique: AqzLfZHXPBK73sePL41OYw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=P2005vV/2o3+1S0JizQoXBYUTSy1JtiLqYXLVrTMsi6+pKN5ftbQqiXAgUzAvWro3JXh7RgvjNdQUCaFRQsKGm05kfL3cph2+xvQCNfEpZUPGzF9h2ICffzG/TlG9/u89REJz3DjuEeizdyHjjZBxZvejhihBVRloRKvRUo1vNnvW6UCHAtz9bHH4XCK4kXWT6IkKqtcz05bPXawuO2TEoBf+BHkpwxdMZazHBx+B5JtnM1hAYFms3oLixU1W57vy4xR+5txYnFSaqSYpRYMc4NE86q6yC/ciipBxm8bH81j+8UbM/1ufpJXhYTh25/YB6zYI7NVtuAOj3GHD+utlw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fUjPLMY7Zp1DUK4pzMKO7ucZFv7T4+r3ayStoEtfTn8=;
 b=I5wjbt5Igh+zMIe9ASZXgzzyzjvpE9xMcTEvQigY6QTshl/dTObR1vjkfKpuKGslPb4GYV7hLXqV8uEcHGigjVN2DUJd54Lv4FwupRPa08AUkAE05y4UqoqwDRGlX5gJZTCJzzaBmI3O3QlVFvfOiLud2zw6LU24pspMCqugNt6XWMKqhl0OM0rsdnV+KLajMUw+RXDyjt3WB/CCd143mre4s1HW1jRAN341PFry+rixOil/k7zvdPMLOlWYMnB+/SZ9LHgHGDRBk3hTHVou/A4hMM4T3V76BCNkKhbmA/NenCxYPAnHfakTgcfiOGyyX79rFzzMSNaKOzYnTBah3A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH] IOMMU/x86: don't map IO-APICs for PV Dom0
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>, Paul Durrant <paul@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <d01563bc-ae9c-fe91-b313-19a30af09170@suse.com>
 <2edfe6a7-a69a-df75-a11d-ee8348235c54@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <ae627ae1-0537-a3b7-fe10-002ba985e043@suse.com>
Date: Tue, 17 Aug 2021 10:41:39 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <2edfe6a7-a69a-df75-a11d-ee8348235c54@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM0PR04CA0076.eurprd04.prod.outlook.com
 (2603:10a6:208:be::17) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 6ac4a6c1-b573-46ff-a88d-08d9615ad60b
X-MS-TrafficTypeDiagnostic: VI1PR04MB5168:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB5168B2DC100F5D453FC02A6BB3FE9@VI1PR04MB5168.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	40G4dN7fERbIb5KrWdEgXfHL33S8bwsMjKAm5BRmTvaKCEYkFF71FSKOpNrLeOTM+ej4rPTXIvoQat0iO+Nd/oyNg58BFfo8tE2wgXLKPShCXggGTX5rzVRZgOgDj6TM4fPDhipowuDN/ZvH+FRew/FZk14ufU60g5g9VMqH2ZBLByautVmmnATGe6yO7vpNSLlpVL+a4dRA3rI24dPrecW1ejXYK1LacKGdCVPbe9kOlJApAOt/l8DBZaY7ua9SlGPw1tfED1PTomLDQEoTfx0d8dk2BGFrIYAhoOD74WgdPmazO0KJuQWYjlsMFqz3CnC2MH3DLMaUQNSHfGLDSDWm0pGyWUp8V2UYhA22dnRzA2rWx3deXJ20HUx0b5a9gAjmprVSk3qG13yV2ozfUeUcwaFDpQ9nR6XSQ2/pUm2XTflNhUJFZ5Q8mC0uytIP6k3Q1ODcL/20/2kzzAvj0hNDUbeP4PoXiRnsZcMtRg0z1jIQbdi+Z75QY6xsh+0eAq7cElfQ+MEzwEX7UUweJVx2AX1sZ8z8lQZfju7077W+kko3ia6ritPYM60dGaMlEtJ41xIcrSW15uXW6A3qfQs5Th2olg2Oh5pT4MvLiExBWr2YzTrnjz7zs1R+RMjvcKOwRzAyqb/gfsnFWlJZTHE2x0H4IyQUM8wtWd70HY1Y2S58LvA2bJ4DwCifavy2pqbW9iNpuad5APZ7Xw/nxkfhdvw2YnvH7a9rkwY/Dg8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(346002)(39850400004)(376002)(396003)(366004)(31696002)(26005)(36756003)(83380400001)(8676002)(186003)(8936002)(31686004)(54906003)(86362001)(956004)(2616005)(53546011)(4326008)(6916009)(2906002)(66556008)(66476007)(316002)(478600001)(38100700002)(16576012)(66946007)(6486002)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	tNhTnqyIlP3WCNw3VwHJiK1tEDI3GigIBd7ibLjj0gQAFY32rDL4pBbp5fZv79VH1mBU+0rGI9c/aIbOwOMAszp94gAl/ewd1Q9QQau5+2YIf5y/GLViXVs3cKwej41TDp5cTiRxcBDnN2Aw1BvcMX4Wz0V5yLgwMaduFH975UwtKgtZFbbhfZLE6nmO8kKLY5CXW913dDL5+SyuW+kdUL8y7sELZlMCULDVQsOxvVpEKSEQ7/SGF+vxbNGd2pz+bPh5ODR4QTjz5DTD6XiaDa117pszO7BGU8DEYKHpPfKjrZeOpWjGOKBd7YLzq6Vi9/AB1bA1JDF3YqBLmtc2PAJ2vu2sqQq8hZTeC+mJ2DvYFXvWr3exeD3pzwu0sc/tlvvS9ivrC7Mog9pn+5yqidjInqMgBtzMJ5MnEw8kBjpoMMtYn4DPL5f64PSUQ2nTaGNPhYsbXQBBX/iJ58Z1YI32kuNdAw2pP9Es9JLujuN1eLWOhVDIybBD06TZQecvGQSN3IFl6PCI/LmyK4u2oGFXYayIKpfEQyLwOAiiHPhUtaeutL8JbFzqldUwj+i3IHZfR6r8pL8XG9G1xmP8dcYquYd4UYnzw8nD6k6p9cFlMBdUUSbYIlAVJWaezna+I/FG0iZ3bIxF9DAc4ZQViJVJWy0pUYyn+G/46i6y8yEQb6WT88fRLwGVG40zRhOOUneISx1pG+F4J7o8HbUWoc8GyK/5+qlrZfL2os/VpjP3Uby/ii5bujDuW9vxJAIl
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6ac4a6c1-b573-46ff-a88d-08d9615ad60b
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 08:41:41.6684
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: dT7Kw5jR56ZwVIVntwGgbg2sc7hOK6rDT3rPT9jGuizZtjwzKXWjxijeNo4mqMJdU3HcswHDO56TXfNBhOQ8XA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5168

On 16.08.2021 20:31, Andrew Cooper wrote:
> On 16/08/2021 16:31, Jan Beulich wrote:
>> While already the case for PVH, there's no reason to treat PV
>> differently here (except of course where to take the addresses from).
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>=20
> Honestly, this is already a mess but I think the change is making things
> worse rather than better.
>=20
> To start with, IO-APIC windows are 1k not 4k, except that no-one added a
> "4k safe" flag because IO-APICs weren't mapped into userspace by Linux
> at the time.
>=20
> More generally though, if something is safe to let dom0 map in the CPU
> pagetables, it is safe to go in the IOMMU pagetables.=C2=A0 Conversely, i=
f
> it's not safe to go in one, it's not safe to go in either.
>=20
> Mappings (or at least mapability) of everything/anything should be
> uniform between the CPU and IOMMU pagetables for any kind of sanity to
> prevail.
>=20
> This is most easily demonstrated with PVH dom0 and shared vs split EPT
> tables.=C2=A0 Split vs shared is an internal choice within Xen, and shoul=
dn't
> cause in any change in static DMA behaviour (obviously - there is
> transient difference with logdirty but that's not relevant here).

Well, as frequently my aim is consistency: Either we exclude IO-APIC
space here uniformly (regardless of guest type), or we include it.
Yet including is impossible for PVH afaict, because there's no MFN
to map to (IOW I don't buy all aspects of the last paragraph of your
reply - there's no mapping of the IO-APIC page(s) in either kind of
page tables).

I did notice the oddity while closely inspecting the IOMMU mappings
created for Dom0 in the context of finally making use of large pages
there. Seeing it I didn't think the IO-APICs should be mapped in the
IOMMU page tables when they are _not_ mapped / mappable in the CPU
ones (see the respective iomem_deny_access() in
dom0_setup_permissions()). Hence the change actually only brings us
to what you describe in the 2nd to last paragraph of your reply
above.

Or wait - default behavior actually is to allow r/o mappings of the
IO-APIC pages. This would suggest the IOMMU mappings should be r/o
as well (unless the rangeset addition in ioapic_init_mappings()
failed). I can certainly alter the change to this effect, at the
expense of more code and more code churn.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 17 08:44:22 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 08:44:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167663.306061 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFuhp-0007mW-IR; Tue, 17 Aug 2021 08:44:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167663.306061; Tue, 17 Aug 2021 08:44:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFuhp-0007mP-FA; Tue, 17 Aug 2021 08:44:21 +0000
Received: by outflank-mailman (input) for mailman id 167663;
 Tue, 17 Aug 2021 08:44:20 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=tbpc=NI=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mFuho-0007mJ-Bm
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 08:44:20 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id e38ba344-262b-452c-b977-0ee53a435976;
 Tue, 17 Aug 2021 08:44:19 +0000 (UTC)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2112.outbound.protection.outlook.com [104.47.17.112])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-1-SjxeO8AdOwqqw9uMS9EpVw-1; Tue, 17 Aug 2021 10:44:16 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5328.eurprd04.prod.outlook.com (2603:10a6:803:59::25)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.19; Tue, 17 Aug
 2021 08:44:14 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Tue, 17 Aug 2021
 08:44:14 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR03CA0005.eurprd03.prod.outlook.com (2603:10a6:208:14::18) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Tue, 17 Aug 2021 08:44: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: e38ba344-262b-452c-b977-0ee53a435976
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629189858;
	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=DmRFB+ZtVNe4nUkLdzMq+5Lfg8uUNCNBMdtotOWbs3U=;
	b=HldxQMkQy3nf9ZG9b3cgIFDxb8gvL1D2EoQhUlLILECdM1bbbTJ9dR3YsvU2pNcx2jqMYh
	sL8Y31+rJ9uFdPeUZwbLK5BalrY7BdjjgiWQVn4nUpridtz4cCjl4VMQwsURk0Gb7mSaE8
	jSWkJnAiNoqPejoZhV5DoEzo+syVlRk=
X-MC-Unique: SjxeO8AdOwqqw9uMS9EpVw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lAcAXJntY8otQkHxN/hJTueSaBnEhZKELylgzwAx3eN5tA8+sAty89xiDSHcBznfRNOGO+XEBB99RiDfzhYCia2qmRd0rvpjpA2IfVQPWDWMrrxA1iwM1eNRX4FD9Mcnm5JYIJq42jRj2A4XYIztU2z+C1XdiPixyMDKBUcPQPlf2gry0GfzzIVfYQsKoierhOIKDLEkqDpjuIEHNnh5Bfl5ZKRNsymXGr6YtUGqZS/E3VO/IIWi0HDvsKftZ0+Z9a1zKc7XrAoPthARzdq18zfhw+eKRw4eKI427N8iHgTQxfU33fPmGtQP2AyaMgFAkj8j8dfODiflE4XzMTBwAA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SHJ9fgTWaF7qMHftEoAjhmjVTM7DO3Izy/wkx2lUCrk=;
 b=d6bVO5osLp1f9cYBtXECrrtppjKqghAW9rQ2jbIcn/nR+4iWqfaabFVTw3DcHAHhK2D5edUUEcKxcn1/hVXMY86ns/RrIgBmh11TGk37UQITxNFXNC+VINx1UoEuVqFiJ/LklnKKL4g0Q4LljLHtnicmKboEK2txF7pWQ45B9af4dKa3s13dvutw9eMnwlTX5vrmn0F6h0RfY02RSaiIson5z6xBExcgIjPEgLy4jVal2NSl98qwvgLyAh3TENJgvbLz8lJz/ScQbj0Qr/CvjChu5LBzvKWAm4iwY34EvZDWEf/k2NjFHkYBzFHEJh1W+9uWVbQFCfSfXl34amucPw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH] x86/PV: suppress unnecessary Dom0 construction output
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: <bed8e679-b531-e1b4-5ef9-79019fa230dc@suse.com>
 <a7b79e6e-ff66-2f5b-eda9-75552fb8a686@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <c61b877b-a4ea-8e2c-dd16-8af8011b3c0f@suse.com>
Date: Tue, 17 Aug 2021 10:44:13 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <a7b79e6e-ff66-2f5b-eda9-75552fb8a686@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM0PR03CA0005.eurprd03.prod.outlook.com
 (2603:10a6:208:14::18) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 0531c907-b05f-4471-f6d5-08d9615b3148
X-MS-TrafficTypeDiagnostic: VI1PR04MB5328:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB5328EB4567A4A5E0CA4979AEB3FE9@VI1PR04MB5328.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XTMkTw4t1UD0/O2R+pZNFgtghwxYH2DBpacK8kKD5KwlxEb9Ep2iGkp78xPNVF4gjxyGV8n5Y0JT6EWU32b1BsQWRi3HydjtHrK/1f7rLvEVnTJdH6qFX+A1l50izOBbJRxKyBosqrlsg/bhQy6xny6WBfjz2S+k/7aA/QrIF1za++AVgLN/O82jxX5vfLLhWg9qbCjm5dH4sDAYut87sn0wkHAR/SeVScE8NNd/MlCd3dHeeGcMeS4SYGfDMwnXXXOT+yZtwcGJ+Hvb+4D4Pj4uB77JwTMW1h/8v99X4tmN4x2gU4umqYdOev+Rao/4pJFJ+LnR7vT61rI06cv6W9e9vBWVVS2XhHj+0JlZ53U41TSxCpSBiUM9N68BBXOAMPBLiSAR59LkaBwJRheE/Y0GJmwOuNcN9bZr/lEwf0b+VgsbVXjA6GCgmL2pMXN+A5IcGMrmfVfVn0Nwd6BMcUG6VofQ/IcPQ9N+OxmBvlvpHHk+qJs1mShV//OsWhSOnrSw5P1osUTryu59/IaZN4uoiZUwRJcnp6jZeHMsD2znfE87pkTzMv1rgqLeANbZ2cJsRUsyHn2+4AIHxEoFl688T0fxGKibt1v4Q7I/jCVSbVI0RzK4KxyJDsKbWDXsqKpCkAO3nv1/S+Gf+9wUH4wNikwrv0CJ7Fxydq3bjrxP4u9uWdhC1uWjBe9aofZn5LgKjYdDeYwFwFFrLd0/LGX9xWai8yfqL7zQJ1gy+5o=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(136003)(346002)(396003)(39850400004)(376002)(26005)(186003)(36756003)(38100700002)(5660300002)(2616005)(53546011)(2906002)(956004)(8936002)(4326008)(8676002)(16576012)(6916009)(83380400001)(316002)(478600001)(54906003)(31686004)(66556008)(86362001)(6486002)(66476007)(31696002)(66946007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	KqK46T7yZpV43iJRGaPwkvJj/wZoEL4WnK/9AwHLD9IkiQmkLKccNmO88t4FBar0oPgksgUWwwW3MjdaUScOp84e9WVn2s2K9vABq7ooDoqqA/cE+EbjMgBe2OYxbYr2PSARPVUFddqD2etQkzxos2o5hZmtLKjOZipFgEBLFUCnrqtwkipqFdIgpoq/P9XRzj5unyF+2kX3EHABdyvRebaGm/MP491egSf1gQirRzUEFVbOUwBxlQ8z6M7wWmNQCYIBTTSuGxkGCp6ZUD8bPn6AAinXbXwT7U2Hbadh9vUQKdwo+7qmq4r4CWaNpIE0Mk9YgAnOhxENioWPxF9rSaXMf+Ik4/aUq+3xq56k7LRWbfkXsg8s3pJOYkLs368xtJAeslUY/ApDtpwUOsBRqbcgF9Ra8UWczvz/VmjlINp5aHS945fDt4y0/8TXi+57spfbS7xl9R6lBu+D+xEiRg3De0MQZEkaZlNZ9zwijAGU7zm0JYeZcR8uEXT30iq/aaVubH2hCxhwsLcvlzaZRtrMu2c/znol+MAC9jvz+ZWTyZWnx+8g67BxpxxfZASVfJ4zdovbrDjHxwpUkwBJpZ9lIwKlj8OWpPp4wGguTBi5utR50eQ6B7rWBO/wQX6xlrzoXnPgQMTR2tw4BiXQXlf/HVurVsvGUJ0JkFV1FeIwmDq2Oju7Y19h9iMzY7kdDYs5ghstiGOkpAd/kjrNPFpM+C5vPiUBAfDk6XcLhgE1jxf25exHgwMIihLAeMqk
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0531c907-b05f-4471-f6d5-08d9615b3148
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 08:44:14.7378
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: RBB3I7z0EeZfNHV44jRP70z8OJ7yWIuhHydCdcMfXdj48rKFsmZD4OWJqruZDsd0YQdRn/PpGaMteMnyVKayVg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5328

On 16.08.2021 18:20, Andrew Cooper wrote:
> On 16/08/2021 16:30, Jan Beulich wrote:
>> Especially with XEN_GUEST, being a prereq of PV_SHIM, defaulting to N,
>> v{xenstore,console}_{start,end} can only ever be zero in such default
>> configurations. And in case video is the only output configured, space
>> is scarce. Omit the two lines carrying no information at all in this
>> case.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>=20
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com> as this is an
> improvement, but honestly I think it would be better done differently.
>=20
> Each line ought be a separate printk() in the first place, and these two
> messages should be conditional on opt_pv_shim rather than
> CONFIG_PV_SHIM.=C2=A0 That will also shrink the output for native boot wh=
en
> SHIM is enabled.
>=20
> It also lets you conditionally drop the ramdisk line which has some
> conditional printing a few lines earlier for the physical layout, but
> unconditional printing for the virtual layout.
>=20
> And on that note, the earlier few printk()'s really need some newline
> corrections.
>=20
> If you do go with this approach, feel free to retain my Ack.

When making the change I was actually thinking about splitting the
printk(), including suppression of the initrd line. Since you now
indicate you would welcome this, I will indeed do so. Thanks for
the (in advance) ack.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 17 08:54:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 08:54:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167668.306072 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFurp-0000rK-L0; Tue, 17 Aug 2021 08:54:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167668.306072; Tue, 17 Aug 2021 08:54: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 1mFurp-0000rD-H7; Tue, 17 Aug 2021 08:54:41 +0000
Received: by outflank-mailman (input) for mailman id 167668;
 Tue, 17 Aug 2021 08:54:40 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=tbpc=NI=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mFuro-0000r5-DR
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 08:54:40 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 93ce1501-f7d4-4ec2-a9f4-643d33fc9735;
 Tue, 17 Aug 2021 08:54:39 +0000 (UTC)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2107.outbound.protection.outlook.com [104.47.17.107])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-40-a10DEB4YPly2ueTc8qBdpw-1; Tue, 17 Aug 2021 10:54:37 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4608.eurprd04.prod.outlook.com (2603:10a6:803:72::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13; Tue, 17 Aug
 2021 08:54:34 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Tue, 17 Aug 2021
 08:54:34 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3PR09CA0008.eurprd09.prod.outlook.com (2603:10a6:102:b7::13) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.18 via Frontend Transport; Tue, 17 Aug 2021 08: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: 93ce1501-f7d4-4ec2-a9f4-643d33fc9735
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629190478;
	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=JP8bd26S0voPoW4SfQeJgQl+p+o6UAAu7PEdwhTSrRY=;
	b=jbguUUJSlM5kWC4z4pkUSMLhfMGKU4n9I/t8fh+APuJJ2fSesdSENGdNDbbkdnVUoeiln0
	zMM6A7y7B5oNB6gNgAFGs0Ibci9NGoqnyw7amffXbUI/mMvLHpb9NjpXvHsKKEe+/mmlP/
	0RoT1FjumpPjzCLkg+Pcl90Z6jkI98s=
X-MC-Unique: a10DEB4YPly2ueTc8qBdpw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HF78aJywQync96xqZfNNR3pCDm1tnOg1wNcCIIZkAx6AxY3gMGVaWHf0zwofx5fsRapeXjUfAvo1EmwTG8A55i+xHP1yGtMYVxrEu54ay08nauyOu8SL5vClw42uhszygmIS66DbE/H7G/4smE3LBF7F3mDjzM9xRv6H4tpBflyYdaIRGOcPSk2tOPKWhoOmPkt3PvP/VQQNKdxrH1oN8O+UT3a/h+PJMQwfyT7wO33Kj02IDSXcSh5xO4FAwS8EE5b+7K/4KkdTpWflq4N+00FK9eP55ps6OBKWZnec41gYfVm7m4nxVVhXeB3xTWjUAh9EPIyspEWL10IBrFMxVw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2LfvdRzTfmYiHVI6p1QEQSUPiPwNPLwto82B1ifRIjk=;
 b=T9efgc7pIKujChK/mV/t/XPBHMJRK3iRVN/TIvKV8mSp+g6FzBVSfhy91GLm2crNqM37fFDFAIl9Wn/2owEu6SbtMdjxCJC4UvmAqNmIdbN6jYuU+UsC8c529oHLEKk9jCMaTtiTXUWMxZMP+T8aDRmnbAFpEQlkHiNGY+OLWVtrRKe5d0zVj5aQ9PrZpWmDou8G59d4NMJ2CxsU7vkgQLxCdC0C4CcK1TSxB/30RJQKhBee8JJ3/gWkgtsZ8kvT0MBxzXM9z01/DXWdpvaudO8Ll+UyoUs9Sh4YRZvaGf/abzBo+3Bmc7y64dqaMjqwJsusFgBKelrBcd5S+eAFaA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH] x86/PV: assert page state in mark_pv_pt_pages_rdonly()
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: <cbe46564-74ab-af38-7e31-2f0a3f46ab41@suse.com>
 <d72d072f-d785-f90b-4e91-5ef7e8f17862@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <14de6486-a1be-156e-f2e8-e82dd35d231c@suse.com>
Date: Tue, 17 Aug 2021 10:54:32 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <d72d072f-d785-f90b-4e91-5ef7e8f17862@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: PR3PR09CA0008.eurprd09.prod.outlook.com
 (2603:10a6:102:b7::13) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ebfa4ead-5ddd-4b39-8f2f-08d9615ca2cd
X-MS-TrafficTypeDiagnostic: VI1PR04MB4608:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4608BBF4BAC26A23D7AEA175B3FE9@VI1PR04MB4608.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BO26+k5FYU/JOX9qg0hzf9WjWFmxMRocy7is4k31E1YrM2i1IkYMjlwNho6gp7pXyeYVznGCxPyIa8X1tmEmdjDtaEHpda+RTULnubvHDhdNEbO+Mv+eTIZCYecCvvJlRiE+Jf+t7DBfC1MEIz8R4TjphE9xc9OQ6ow2i7uv7fEIfrN9ImBDYKxrO0/9GrqNp9xBHA4EH7+L5+CL3b7r9TVjU0ylGQJ//lO8v8AAEueTLAADq+dXpyZIUp3OBq3L29iIOhD9g8oUl3t2bZay6+XqgGGUCMHxQs28KP8ed5fzwVC4uEEVkkBktaanz+yq1qh8lhyHMxyBphEt+gsk8ltkRXlKLoDHeIzqyGm8Qa5Hns3/sX9SrhZ0BceO/tGGOIztJqHTNHAVuASkQW/OayNEflmjPnnUyExSPY5GHKc+pjZarVoVxP3RHBFT1xMIXztIoWGw1DRZsPnms3vFPrKyGw1W7ArjaPFa71x7PcagwK/bTziiUCHGyP6PNi9oJ01LRwy1fdftI4YJsd57ph+kvbWucXXolQ+n48q3HE5LsJN9HMVKgkPoMwHB1jp0P1zqpn1+i1YxW4bCep3aY8ejmnnl8engXhf/zEm2sv/8oN0FxG1nHMaW/uc2j8kwHSl6atYGzEzzZ0BlvCuQSnZM67maqbCygndvYpxXmJhyPOf0PW6idzdQeYxwPWubIB5KhIXZRA5ot/VXLCxPTw0AYbHPTmvE/nFcI6EXCW95USC2h9Jozxbn3dV3yIz+0Fl7iprWsRNUASlBlRUHnA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(346002)(39850400004)(396003)(366004)(376002)(66946007)(8936002)(66476007)(66556008)(86362001)(6916009)(6486002)(8676002)(2906002)(31696002)(2616005)(956004)(5660300002)(316002)(36756003)(4326008)(478600001)(16576012)(53546011)(38100700002)(26005)(83380400001)(54906003)(186003)(31686004)(45980500001)(43740500002)(357404004);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?PWE97eZBYzNaLluMA0z2+n8dS8IXp3Se0vOeQi/h4o+JaPSHqz+cDgWiyNsL?=
 =?us-ascii?Q?1WW6k94TwpZrOwouq+zD09drthkcO/xwWogHCbJtT+aK5CXvfARbsd7MiTsz?=
 =?us-ascii?Q?31SxNQa3Hx3eG+xlZxHpMhz0AsB17+/sA61mOaIyK5raMY5uZo5+SqJKqBRg?=
 =?us-ascii?Q?QwN1aXv7gXk/6x4mqsvu0U1xIrrgXybRfn05kTJd0H7Lu5rbxVFwFFipmJob?=
 =?us-ascii?Q?8Ex54Zz1XPjkQRdxNIBpjbCFboitSI0wPudOUBrceIOSDU0elzDtl5OP+xCT?=
 =?us-ascii?Q?uaxH+pRbPTz1Xd1l47SGVY6lR2cNULiz1WeFhjNQGETD56fkf1x4akzTPYSO?=
 =?us-ascii?Q?CcXHiISykdQsWcNfyxVF14N6hB+8SSXQxSMfS/9BMszASnBAb0zWCqzzr6y5?=
 =?us-ascii?Q?nrG8EWZoNKcssIA5TcOdjuLFPZhTDVqlR6BxAL4IBwXTqudymMAnxKB1Vz0T?=
 =?us-ascii?Q?0lpPCD5MoitKqV7UZNC3xHmgrMLnfwT2qhZ9X69BwFdsVkNvdNv6TsBa8B0G?=
 =?us-ascii?Q?IW37jTlNrsZhLkU7dAqnTb6eGLTZu1nP5WnwfpBrlx1y33nsIs7ktXH/Lc6Y?=
 =?us-ascii?Q?ZgdSNbupbP0kq57tZ7Yb+4ZpLZnaV0hOMXb7hRWDzaZ+r5Xw1d6DQ53NmXMg?=
 =?us-ascii?Q?XuOC6JQcqhkWQi653hi+ksIqkz5DwjLY509+FHoP8ufykprX8jVcnNkgACEM?=
 =?us-ascii?Q?oz6RAZB4xBVIoah4dRTAmOYjmZSESkGcTAAoGGvULJh0et34cRPxdNPwaL//?=
 =?us-ascii?Q?bm3kee/8jYMODFHp4CF+iIEjLjnxabt6FzHwKIHiQZlFGSzyQIiRZ7SxHBPC?=
 =?us-ascii?Q?Dhj1tLgq9MYsg2wGQQr5yuBcqwnwZyjdn40R3FcTGNqLRBDTgB3hnB/t0+rC?=
 =?us-ascii?Q?EvO57k7oYo8DnOdoUAiVVsGSUywJs+vkBaYW7I2TF/kyIQ3OM+tinmWroVbM?=
 =?us-ascii?Q?TH5BJKvyr80DhUlHgng2u1xZ6KiVeAE36VKRP93tzWZcM3klPujw1eLENh15?=
 =?us-ascii?Q?2I0hTZLKHwxRiaAsx7zhSvmc9W+nTgKjIs7qUYEHEj6PRBzuBbHBDN+TS5bT?=
 =?us-ascii?Q?Wl9owpAjCFB/RxSKyQiJnujlGcg3OWI1OSAuTFKl8jumq7kVQSUexvlWqNxR?=
 =?us-ascii?Q?hD1PVYkbXXh71H43DX8R6u9oy7m6gqPRfIUBlNM8wM2diBTxe+oVejr3zW2f?=
 =?us-ascii?Q?h/IbBaGSD6YAg8YMWwzGcrlxEJSW6lafqzaDO0WDfhzq3h5AB7ysS81PqsnQ?=
 =?us-ascii?Q?dtnCCYP4K03VKmWD9MVh2exNtehm1ge/3/GnP8xNCf81Tt9FQcaRcZY8gFKm?=
 =?us-ascii?Q?fSjTcsF0To8Ely9uTpE7s8ZS?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ebfa4ead-5ddd-4b39-8f2f-08d9615ca2cd
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 08:54:34.7031
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3m4AnzlEn5otulLVtUzSrwjwPW2FK1mjqOoXZcebH31cOv6RTkuJd6nBtP0D74gWQR46jzp46D8oU8lRziMr6g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4608

On 16.08.2021 21:25, Andrew Cooper wrote:
> On 16/08/2021 16:29, Jan Beulich wrote:
>> About every time I look at dom0_construct_pv()'s "calculation" of
>> nr_pt_pages I question (myself) whether the result is precise or merely
>> an upper bound. I think it is meant to be precise, but I think we would
>> be better off having some checking in place. Hence add ASSERT()s to
>> verify that
>> - all pages have a valid L1...Ln (currently L4) page table type and
>> - no other bits are set, in particular the type refcount is still zero.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> There are (at least) two factors supporting my uncertainty about the
>> "calculation" being precise: The loop starting from 2 (which clearly is
>> too small for a possible result)
>=20
> 2 was the correct absolute minimum for 2-level guests.

Which has been history for how many years? The minimum for the
current implementation is 4 afaict, and ...

> XTF kernels don't exceed the 2M boundary (at least, not currently), so
> they can be mapped with only 3 or 4 pagetables, except:
>=20
> * 3-level guests are created with 4 L2's for no obvious reason.=C2=A0 Thi=
s is
> nothing to do with legacy PAE paging, nor with how a typical Linux/BSD
> kernel works.=C2=A0 The requirement to make 3-level guests work (and even
> then, only under 32bit Xen) is to create a PGT_pae_xen_l2 if not already
> covered by the other mappings.=C2=A0 Any non-toy kernel discards these
> pagetables in favour of its own idea of pagetables.

... could be 3 for 32-bit Dom0.

> * v_end is rounded up to 4MB.
>=20
> Most XTF guests will operate entirely happily in a few hundred kb of
> space, and the same will be true of other microservices.=C2=A0 The roundi=
ng
> up of memory might be helpful for the traditional big VMs case, but it
> isn't correct or useful for other usecases.
>=20
>> and an apparently wrong comment stating
>> that not only v_end but also v_start would be superpage aligned
>=20
> Which comment?=C2=A0 The only one I see about 4M has nothing to do with
> superpages.

The one immediately ahead of the related variable declarations:

    /*
     * This fully describes the memory layout of the initial domain. All
     * *_start address are page-aligned, except v_start (and v_end) which a=
re
     * superpage-aligned.
     */

I see nothing forcing v_start to be superpage-aligned, while I
do suspect that the "calculation" of the number of page tables
will be wrong when it isn't.

>>  (in fact
>> v_end is 4MiB aligned, which is the superpage size only on long
>> abandoned [by us] non-PAE x86-32).
>=20
> Tangentially, that code needs some serious work to use ROUNDUP/DOWN
> macros for clarity.

Agreed.

>> --- a/xen/arch/x86/pv/dom0_build.c
>> +++ b/xen/arch/x86/pv/dom0_build.c
>> @@ -59,6 +59,10 @@ static __init void mark_pv_pt_pages_rdon
>>          l1e_remove_flags(*pl1e, _PAGE_RW);
>>          page =3D mfn_to_page(l1e_get_mfn(*pl1e));
>> =20
>> +        ASSERT(page->u.inuse.type_info & PGT_type_mask);
>> +        ASSERT((page->u.inuse.type_info & PGT_type_mask) <=3D PGT_root_=
page_table);
>=20
> This is an obfuscated
>=20
> ASSERT((page->u.inuse.type_info & PGT_type_mask) >=3D PGT_l1_page_table &=
&
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (page->u.inuse.type_info & PGT_type_=
mask) <=3D PGT_root_page_table);

I can certainly switch to this yet longer piece of code, and ...

> and
>=20
>> +        ASSERT(!(page->u.inuse.type_info & ~PGT_type_mask));
>=20
> this has no context.
>=20
> At a bare minimum, you need a comment stating what properties we're
> looking for, so anyone suffering an assertion failure has some clue as
> to what may have gone wrong.

... I can certainly transform the respective parts of the
description into a code comment.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 17 09:10:36 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 09:10:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167676.306083 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFv77-0003Cn-73; Tue, 17 Aug 2021 09:10:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167676.306083; Tue, 17 Aug 2021 09: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 1mFv77-0003Cg-1v; Tue, 17 Aug 2021 09:10:29 +0000
Received: by outflank-mailman (input) for mailman id 167676;
 Tue, 17 Aug 2021 09:10:27 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=tbpc=NI=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mFv75-0003Ca-IJ
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 09:10:27 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id f58babce-ff3a-11eb-a494-12813bfff9fa;
 Tue, 17 Aug 2021 09:10:26 +0000 (UTC)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2059.outbound.protection.outlook.com [104.47.14.59]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-22-sIADIbC1PIq8RWS1SXGoWg-1; Tue, 17 Aug 2021 11:10:24 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5166.eurprd04.prod.outlook.com (2603:10a6:803:53::33)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Tue, 17 Aug
 2021 09:10:23 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Tue, 17 Aug 2021
 09:10:23 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR03CA0006.eurprd03.prod.outlook.com (2603:10a6:208:14::19) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.14 via Frontend Transport; Tue, 17 Aug 2021 09:10: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: f58babce-ff3a-11eb-a494-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629191425;
	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=UahAwd7emKt9uXo65VJB7SOTs1cwbl6POIJg+90aPME=;
	b=VMp9SIoMq7l4BxKZrsCKMu9Zw/uTo3E1n8ykEWc4Xo0qPm9XySXf9Zu8D1bVBm5u3xBIrD
	2ThyCTfmH0sobwjOyS+LJj82kAeMueSVbz/bbbdh+c/eFHhuF2bZlEeAcrB1Bj81mEAvOR
	FJtosOPoyiFY+bBu35L7fproBkFY3Q0=
X-MC-Unique: sIADIbC1PIq8RWS1SXGoWg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NKL81SzcibpVeRlIVoB6FjzCtWdUEiyPR7w4X4aO5JJpyiz7ctn6sXK99T5sStMJH6agfZn17Ye1WOjJDb0zlfArC9G0yB38/GHKBTYJlAB78BgcXqKoxwDGbj1yLWo3CcK5aDCfVFCHLho4Y2s/CSKf25DFxovFTAri11iLuoB+J41Z9vAo2YbUSKdQBBhJ2jxsvH3rcmeCFUvU7dZr8lVQmclW8mnFKbafTQne0sEfZGUL76xSzwa219xSniD95cL8vPxi0ShvLHrFCk88itcYpJ7pa0OMQlWJImEpFYC8k2/G3laEZKIXn/4l1fiob+nuvL2Gwk9J3xjoa2jzkw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UahAwd7emKt9uXo65VJB7SOTs1cwbl6POIJg+90aPME=;
 b=f+Qjzc16lMWe0ludAUATfZwrHVHvImAr5Ox47w+FCHrPcGRpQCw57WUG7D7ahraFIkHcqYtt1atCmBSVaIMOEWYv6U7JYkkf1ec3WTSpz30dQPN0VhxBMqNH6zEqAUy7kIy3k2l6TCzlO47f5uBC+QUq9smtN+8mTEQ0Wdjt6w5E4lxDSLvdgrz4X6eK7mWrx0x7FTamgrk7JzQ+rYku4R4PJF+oAGfQtFhQUeV6Bq3ih/sm4vOhwUCH3F3K5Qqbs22otGAJmncvs5UlBYRxefNk0CAdHoeG509H7E9fNOPphCES0ZnzdhlRyn0ASaCz60FcXPToNlwBXEsSgcjMzA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH] x86/cet: Fix shskt manipulation error with
 BUGFRAME_{warn,run_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>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20210812170350.23543-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <4905f9de-8106-8a5c-c3f1-6a703b008d38@suse.com>
Date: Tue, 17 Aug 2021 11:10:21 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210812170350.23543-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM0PR03CA0006.eurprd03.prod.outlook.com
 (2603:10a6:208:14::19) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d0227905-12a6-44ca-1d90-08d9615ed815
X-MS-TrafficTypeDiagnostic: VI1PR04MB5166:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB516699B195930C2DBFA6E28DB3FE9@VI1PR04MB5166.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	VL9NwlNDARSptilPWKC0+Kuv5imPFxXQ9uLXWlG64vTKr02tY6YFeSqXilHSeJ3SP3xj/ylTbuWDj2U+iWej3tQCu4NDa147cbMcTa9ARXhuYDTOwH8s0NSljN+pms/xjGn0UEHuft7AXxY32xH7EBV1VBgxB+Pw2sbXXFzOSvG3MpjdsmBQ3MsqrnDqAzCJkQtNfF3eyykUoIi/Fwn8/3OtD3zJaCTtywyjdWM7TvsVAl1eb3+cNlfN+tSg501jJsc1HAfSYIK7BQqrzr/G8EQ26csXoVWYMjcJpvJDDZ7KYLNXJEVkr5XY4723/TszLGmypy2qQ3ec/65/Q8GL00OLLqEn//39PB30QZc4tLKFvL/GSIrjlUOV0F9WhreRzcE+orNM0HMg2S5C55IoUFqaBUS7e6AX2GOpBJxvGFDE+sLn4itsAH5UBq7Etdk1uyBQKXP+Hnq+xcu0FxQ3uIW1qZuhoEuMhrvVhR3C5/Opmy7VR6JW2NcYZQMPAAFURpbXSJGicJGsQ+byQl4g8K33oQZ4gY5nTpPCYFGJm5Ctvpw4/p4jm/OsZG8gedVvqLasuE0xB13FGO+nCyWLfIRNwva1tnBNxU3HYOVXV/lAemNQv0dQi9o+vEfCTd4hW8poofmA1Pw8cDdPrrxTz/HaDo1LDYmFlpID89vMZkjjv2JnVZg/Kez/h2eo9MaO83FnY/x+I5T4VAGtloq44I6ikFkQtvWxKCx6mqzuPSY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(39850400004)(346002)(366004)(376002)(396003)(136003)(6916009)(31696002)(8936002)(2906002)(38100700002)(186003)(478600001)(31686004)(86362001)(4326008)(5660300002)(83380400001)(36756003)(6486002)(4744005)(16576012)(316002)(66946007)(66556008)(66476007)(54906003)(956004)(2616005)(8676002)(26005)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ckIvVnVYcjlBQ1JiWjdnU3hEekRCdEd5VjEwMEZLR0N0WEhNaFFXTDJ0eUFB?=
 =?utf-8?B?VWsvUXMyMWtRaXdBWXFUSVZVK0FsdFdRZi9kNHg3c2ZNMDhzZnNpL2xGNFJj?=
 =?utf-8?B?cHBDOXVUZFlBR2VRTks3NGpaNFZsWGJHOVRDNWpUOGEyc0YrbzF6ci9pRW1i?=
 =?utf-8?B?a1JYODFwT2k4Y01MVm1OL0lWaXo4OGhSQzZlcG1reFpPVzhqZ2dxc2pwZmFm?=
 =?utf-8?B?SEhnYUJZcGNqMDh1ZmRhYmpxMWxsWVBlYXZ0YXVCTVRrMWpyWml0VHdwcTZl?=
 =?utf-8?B?bTNZN3JMWmhkUDVxYUhITjk0NnFpUVRGUDVkSnVLaEZ0d3B5MTJ1cFhnUWJs?=
 =?utf-8?B?bVI5RytXL0dDZTZkQ1VDMzBuMHgyeXE4RlJNa3IybllhRXp6L3NPMExoeG1m?=
 =?utf-8?B?aVB2KzhWMUtKWGxqMU5vMFVDY210NHVFODdSbjMrSGNlNldtck9FMGs3elpm?=
 =?utf-8?B?Zi9ZblMxZlJMOWlMWGhZMHJDeW1lb1A2SU54RnhFYWRSVHJQaUFRSTZ0Mjdp?=
 =?utf-8?B?b3FBRFRoREN5Z0VsWlkyNGhvSSs5MklUYlVuMGM1SzRBbFBQV1MraXBBTkZm?=
 =?utf-8?B?L081VU9IQi90cElJY2UvY2Jxazl0RHB2azkwSUtRMkd1S01PK0VGUDZ6bGsr?=
 =?utf-8?B?QlczUndpZkFxVUhOR2xxMGtEREViVVV0MGpma3VTNlkvZGtJc0Yzdi9keGFH?=
 =?utf-8?B?OUVtN0EzR2Q1YmI2WVJpbEJ5RDF6SDRjdmVDL21jTU5jMkNjWWs3UDlyK2dt?=
 =?utf-8?B?Mkl5WWJlaE5sTFJZMEVKZ1NvYWIrL3QvclFoMU9HS29qS3hCelRTQTg2ZExH?=
 =?utf-8?B?M1lKMVRaeG9xNCtDQTh1UXBBVk1WaUZKM3p2U0J3VE9vZ2N6bHdGUzNZM0JS?=
 =?utf-8?B?MWRDQ2dpbzlaSEgwc2xEUk11SUhSZXJISm9vc044UENUeTFnVm1FMEZXdFhI?=
 =?utf-8?B?ZGRJUkhWVnBrWWxzaFp1UmNWRVArVFJFMTBTWmp6YjNPUDF1UEVlb0J5NkJv?=
 =?utf-8?B?ZDBBci9xbVhWWDRjdUZwQk9hdS9KZnhKK3p6bkxqNHpmcHVuQlBPd1pnd2VQ?=
 =?utf-8?B?K2lCUzJJSnM4N2V3S1lUcWdITlJsTlpyNHZRZFQwazlKQ2p5bWJYWEY2TDF6?=
 =?utf-8?B?RUhLM1ViWWk4V1FrSWVmNlcwT0IzTC85UWxJdU5NNk83akJVbnUwQTJ6MHox?=
 =?utf-8?B?NVlweElKTnVxanlCKytjK05ta3N1eEQ0NzBlT0p4c1BkU0FzMGt0K3NFb0kz?=
 =?utf-8?B?NGZzcnQwRDN5VjRPajN4UU15Q05IaWhNaWptYk1NR3lEeXFkUmhVMmJvQnN4?=
 =?utf-8?B?UDlzU2c4ckxVMGlTM1QxT0MzeG80ZVJqZVppTWliR3FaeW5jNEFJa2x3a2NS?=
 =?utf-8?B?QmcyOWdaQ3FLUHA0SExKM0FsMit3cyswWTh3MHZIRXFzNVU3eWdQMkNHdVRE?=
 =?utf-8?B?ODNSRHYxRkVDZlU5aWcxanM5OTdQYnRWeWM3aXdTbnFueUlHLzdoaGdIUHNC?=
 =?utf-8?B?eklqbmVKRVVGR05mNzhPSjhLNUFuZE54ck55b2FJKzZxZnBaM1Q2U25ydm40?=
 =?utf-8?B?Yk5pckJMMFdSUUc3V1paZnBFNC8vVS9YNW5MUERQRDRYV25lR3VBbHBDaCtt?=
 =?utf-8?B?a3k1cUN4VUMwL0RicStXVVBMbE9RbXlBdHppWmcxVlpEdTBLUzA2TERxbXZ0?=
 =?utf-8?B?dU1EVi9mK1U1OGFWZVdTWXVLeC84S2pod2ZJTlVza2xYMmJLZVdka1BrTXNv?=
 =?utf-8?Q?7TxGRNMAa9090VMxaqQVNMuchm0gzN8ATPeWwBL?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d0227905-12a6-44ca-1d90-08d9615ed815
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 09:10:23.1767
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 06mc49wlwkXSy4IiIsC2JX6z4uNni94SLQK29fazvUGK1fZYH46+ZHIX1mY8GlBDhoAoc3WLZcdrOpve+tF/Ig==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5166

On 12.08.2021 19:03, Andrew Cooper wrote:
> I'm not a massive fan of the large ifdef area.  The logic could be rearranged
> to use IS_ENABLED(CONFIG_XEN_SHSTK) by indenting most of the function, but I
> can't see any way to drop the goto's, and this is certainly the least-invasive
> diff.

So perhaps the build failure I've just run into (also apparently spotted
by osstest) suggests to actually do so? The alternative would seem to be
to widen the #ifdef in get_shstk_bottom() to cover the function as a
whole ...

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 17 09:55:28 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 09:55:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167685.306106 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFvoX-0007Q1-0P; Tue, 17 Aug 2021 09:55:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167685.306106; Tue, 17 Aug 2021 09: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 1mFvoW-0007P1-TE; Tue, 17 Aug 2021 09:55:20 +0000
Received: by outflank-mailman (input) for mailman id 167685;
 Tue, 17 Aug 2021 09:55:20 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OoW9=NI=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mFvoV-0007Ha-Vk
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 09:55:20 +0000
Received: from smtp-out2.suse.de (unknown [195.135.220.29])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id cc6e5109-a177-46dc-a90c-ea52122590ff;
 Tue, 17 Aug 2021 09:55:13 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 B6B801FF2C;
 Tue, 17 Aug 2021 09:55:12 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 87BC413318;
 Tue, 17 Aug 2021 09:55:12 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id sMCmH4CHG2FEDwAAGKfGzw
 (envelope-from <jgross@suse.com>); Tue, 17 Aug 2021 09:55: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: cc6e5109-a177-46dc-a90c-ea52122590ff
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1629194112; 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=6C/kYgeCHpbmW4aQY5wUhjgZzqJkvYkEyqUXd4wWzEM=;
	b=igvi9mJDRgK1cbndd4mDIjnvgEhYsOX4p+oW4RPNh9dShzPROZgiHXE8ZdmCU2LEu4KX+/
	9wsBiSuZUrDjQi8wk2z8j92kBhsuhkez5CwmKlbUBYouV1vTKI/Mg8MIaR0uR5G9PqnyA4
	T7dqfBuXC0kNSS/L+cwCA1lU84l1Fh4=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH 2/2] mini-os: move test functions under CONFIG_TEST
Date: Tue, 17 Aug 2021 11:54:59 +0200
Message-Id: <20210817095459.27671-3-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20210817095459.27671-1-jgross@suse.com>
References: <20210817095459.27671-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

There is no need to have the xenbus test support functions always
included in Mini-OS. Move them inside #ifdef CONFIG_TEST.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 xenbus/xenbus.c | 32 +++++++++++++++++---------------
 1 file changed, 17 insertions(+), 15 deletions(-)

diff --git a/xenbus/xenbus.c b/xenbus/xenbus.c
index fdb0934..11427ba 100644
--- a/xenbus/xenbus.c
+++ b/xenbus/xenbus.c
@@ -573,21 +573,6 @@ static char *errmsg(struct xsd_sockmsg *rep)
     return res;
 }
 
-/* Send a debug message to xenbus.  Can block. */
-static void xenbus_debug_msg(const char *msg)
-{
-    int len = strlen(msg);
-    struct write_req req[] = {
-        { "print", sizeof("print") },
-        { msg, len },
-        { "", 1 }};
-    struct xsd_sockmsg *reply;
-
-    reply = xenbus_msg_reply(XS_DEBUG, 0, req, ARRAY_SIZE(req));
-    printk("Got a reply, type %d, id %d, len %d.\n",
-            reply->type, reply->req_id, reply->len);
-}
-
 /* List the contents of a directory.  Returns a malloc()ed array of
    pointers to malloc()ed strings.  The array is NULL terminated.  May
    block. */
@@ -882,6 +867,22 @@ domid_t xenbus_get_self_id(void)
     return ret;
 }
 
+#ifdef CONFIG_TEST
+/* Send a debug message to xenbus.  Can block. */
+static void xenbus_debug_msg(const char *msg)
+{
+    int len = strlen(msg);
+    struct write_req req[] = {
+        { "print", sizeof("print") },
+        { msg, len },
+        { "", 1 }};
+    struct xsd_sockmsg *reply;
+
+    reply = xenbus_msg_reply(XS_DEBUG, 0, req, ARRAY_SIZE(req));
+    printk("Got a reply, type %d, id %d, len %d.\n",
+            reply->type, reply->req_id, reply->len);
+}
+
 static void do_ls_test(const char *pre)
 {
     char **dirs, *msg;
@@ -968,6 +969,7 @@ void test_xenbus(void)
     do_read_test("device/vif/0/flibble");
     printk("(Should have said ENOENT)\n");
 }
+#endif /* CONFIG_TEST */
 
 /*
  * Local variables:
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Aug 17 09:55:29 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 09:55:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167684.306102 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFvoW-0007MW-PI; Tue, 17 Aug 2021 09:55:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167684.306102; Tue, 17 Aug 2021 09: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 1mFvoW-0007MP-Lb; Tue, 17 Aug 2021 09:55:20 +0000
Received: by outflank-mailman (input) for mailman id 167684;
 Tue, 17 Aug 2021 09:55:19 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OoW9=NI=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mFvoV-0007HZ-Pw
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 09:55:19 +0000
Received: from smtp-out1.suse.de (unknown [195.135.220.28])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 370c78c0-ff41-11eb-a498-12813bfff9fa;
 Tue, 17 Aug 2021 09:55:13 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 499E421ECD;
 Tue, 17 Aug 2021 09:55:12 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 10D8F13318;
 Tue, 17 Aug 2021 09:55:12 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id r6adAoCHG2FEDwAAGKfGzw
 (envelope-from <jgross@suse.com>); Tue, 17 Aug 2021 09:55: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: 370c78c0-ff41-11eb-a498-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1629194112; 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=9AWfd4PjJv9MY/T21Yeryt5HQZJaCzl6pn5VQ/We+pA=;
	b=YbcY86CRFfJq7cur/mmqjqgmHn2aY6iWDi4qD2fa59mDd9X07tRbNV276Spo27OkIb3sAR
	qmE0Hh0xHlQig7P6zZjISPQpmZQ1/fSKj7m9+UH1f7/XbNx2Bmv8YehV4KE6RCPNQ1X87d
	Y1S+9q9CgDK7umzCHABadVGsxDR4jfU=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH 0/2] mini-os: config related cleanups
Date: Tue, 17 Aug 2021 11:54:57 +0200
Message-Id: <20210817095459.27671-1-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

While writing patch 2 I stumbled over CONFIG_TEST having no effect at
the C source level, so I added patch 1 to avoid further similar
problems.

The additionally fixed CONFIG_XC issue wasn't triggered in any known
case, probably as FTYPE_XC hasn't been used in our code base.

Juergen Gross (2):
  mini-os: make config handling more generic
  mini-os: move test functions under CONFIG_TEST

 Config.mk       | 66 +++++++++++++++++++++----------------------------
 xenbus/xenbus.c | 32 +++++++++++++-----------
 2 files changed, 45 insertions(+), 53 deletions(-)

-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Aug 17 09:55:31 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 09:55:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167687.306128 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFvoh-00084Y-Af; Tue, 17 Aug 2021 09:55:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167687.306128; Tue, 17 Aug 2021 09:55:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFvoh-00084P-72; Tue, 17 Aug 2021 09:55:31 +0000
Received: by outflank-mailman (input) for mailman id 167687;
 Tue, 17 Aug 2021 09:55:29 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OoW9=NI=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mFvof-0007HZ-QJ
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 09:55:29 +0000
Received: from smtp-out2.suse.de (unknown [195.135.220.29])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 370c78c1-ff41-11eb-a498-12813bfff9fa;
 Tue, 17 Aug 2021 09:55:13 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 805191FF2A;
 Tue, 17 Aug 2021 09:55:12 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 50B9113318;
 Tue, 17 Aug 2021 09:55:12 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id cEsyEoCHG2FEDwAAGKfGzw
 (envelope-from <jgross@suse.com>); Tue, 17 Aug 2021 09:55: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: 370c78c1-ff41-11eb-a498-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1629194112; 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=z7e67WuvV4pKmdIXjVMDTNBcSJU1S8WTkTBIrXnVCNo=;
	b=nWFEioz4JgFpFDtLsmXwKUIjBQgufaQmMJankVSMenhEkuE0MvmQ3SQwix2GdbqoUbCPvG
	BjsN1jXHh5koKWK2TpcD4WOZ/eY9I4GnV2xdxFo6nrloS5kW7DbUIw3Ieja+oPmGiEvnhO
	eKco3UZL6Q52yL1qqn9SNy3Mf1OMCKQ=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH 1/2] mini-os: make config handling more generic
Date: Tue, 17 Aug 2021 11:54:58 +0200
Message-Id: <20210817095459.27671-2-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20210817095459.27671-1-jgross@suse.com>
References: <20210817095459.27671-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When adding a new CONFIG_ variable this needs to be done in multiple
places. Change the handling to be more generic.

This at once fixes a bug with CONFIG_XC which was not defined for the
C preprocessor (it seems that this never resulted in any real issues,
though).

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 Config.mk | 66 +++++++++++++++++++++++--------------------------------
 1 file changed, 28 insertions(+), 38 deletions(-)

diff --git a/Config.mk b/Config.mk
index cb823c2..15311ef 100644
--- a/Config.mk
+++ b/Config.mk
@@ -171,49 +171,39 @@ endif
 # CONFIG_ variables.
 
 # Configuration defaults
+CONFIG-y += CONFIG_START_NETWORK
+CONFIG-y += CONFIG_SPARSE_BSS
+CONFIG-y += CONFIG_BLKFRONT
+CONFIG-y += CONFIG_NETFRONT
+CONFIG-y += CONFIG_FBFRONT
+CONFIG-y += CONFIG_KBDFRONT
+CONFIG-y += CONFIG_CONSFRONT
+CONFIG-y += CONFIG_XENBUS
+CONFIG-y += CONFIG_XC
+CONFIG-n += CONFIG_QEMU_XS_ARGS
+CONFIG-n += CONFIG_TEST
+CONFIG-n += CONFIG_PCIFRONT
+CONFIG-n += CONFIG_TPMFRONT
+CONFIG-n += CONFIG_TPM_TIS
+CONFIG-n += CONFIG_TPMBACK
+CONFIG-n += CONFIG_BALLOON
+# Setting CONFIG_USE_XEN_CONSOLE copies all print output to the Xen emergency
+# console apart of standard dom0 handled console.
+CONFIG-n += CONFIG_USE_XEN_CONSOLE
 ifeq ($(TARGET_ARCH_FAM),x86)
-CONFIG_PARAVIRT ?= y
+CONFIG-y += CONFIG_PARAVIRT
 else
-CONFIG_PARAVIRT ?= n
+CONFIG-n += CONFIG_PARAVIRT
 endif
-CONFIG_START_NETWORK ?= y
-CONFIG_SPARSE_BSS ?= y
-CONFIG_QEMU_XS_ARGS ?= n
-CONFIG_TEST ?= n
-CONFIG_PCIFRONT ?= n
-CONFIG_BLKFRONT ?= y
-CONFIG_TPMFRONT ?= n
-CONFIG_TPM_TIS ?= n
-CONFIG_TPMBACK ?= n
-CONFIG_NETFRONT ?= y
-CONFIG_FBFRONT ?= y
-CONFIG_KBDFRONT ?= y
-CONFIG_CONSFRONT ?= y
-CONFIG_XENBUS ?= y
-CONFIG_XC ?=y
-CONFIG_LWIP ?= $(lwip)
-CONFIG_BALLOON ?= n
-# Setting CONFIG_USE_XEN_CONSOLE copies all print output to the Xen emergency
-# console apart of standard dom0 handled console.
-CONFIG_USE_XEN_CONSOLE ?= n
+CONFIG-$(lwip) += CONFIG_LWIP
+
+$(foreach i,$(CONFIG-y),$(eval $(i) ?= y))
+$(foreach i,$(CONFIG-n),$(eval $(i) ?= n))
+
+CONFIG-all := $(CONFIG-y) $(CONFIG-n)
 
 # Export config items as compiler directives
-DEFINES-$(CONFIG_PARAVIRT) += -DCONFIG_PARAVIRT
-DEFINES-$(CONFIG_START_NETWORK) += -DCONFIG_START_NETWORK
-DEFINES-$(CONFIG_SPARSE_BSS) += -DCONFIG_SPARSE_BSS
-DEFINES-$(CONFIG_QEMU_XS_ARGS) += -DCONFIG_QEMU_XS_ARGS
-DEFINES-$(CONFIG_PCIFRONT) += -DCONFIG_PCIFRONT
-DEFINES-$(CONFIG_BLKFRONT) += -DCONFIG_BLKFRONT
-DEFINES-$(CONFIG_TPMFRONT) += -DCONFIG_TPMFRONT
-DEFINES-$(CONFIG_TPM_TIS) += -DCONFIG_TPM_TIS
-DEFINES-$(CONFIG_TPMBACK) += -DCONFIG_TPMBACK
-DEFINES-$(CONFIG_NETFRONT) += -DCONFIG_NETFRONT
-DEFINES-$(CONFIG_KBDFRONT) += -DCONFIG_KBDFRONT
-DEFINES-$(CONFIG_FBFRONT) += -DCONFIG_FBFRONT
-DEFINES-$(CONFIG_CONSFRONT) += -DCONFIG_CONSFRONT
-DEFINES-$(CONFIG_XENBUS) += -DCONFIG_XENBUS
-DEFINES-$(CONFIG_BALLOON) += -DCONFIG_BALLOON
-DEFINES-$(CONFIG_USE_XEN_CONSOLE) += -DCONFIG_USE_XEN_CONSOLE
+$(foreach i,$(CONFIG-all),$(eval DEFINES-$($(i)) += -D$(i)))
 
 DEFINES-y += -D__XEN_INTERFACE_VERSION__=$(XEN_INTERFACE_VERSION)
 
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Aug 17 10:14:54 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 10:14:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167703.306142 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFw7N-0002iL-0C; Tue, 17 Aug 2021 10:14:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167703.306142; Tue, 17 Aug 2021 10:14: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 1mFw7M-0002iE-TP; Tue, 17 Aug 2021 10:14:48 +0000
Received: by outflank-mailman (input) for mailman id 167703;
 Tue, 17 Aug 2021 10:14:47 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=O7ht=NI=ens-lyon.org=samuel.thibault@srs-us1.protection.inumbo.net>)
 id 1mFw7L-0002fi-5T
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 10:14:47 +0000
Received: from hera.aquilenet.fr (unknown [185.233.100.1])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 4f536afc-b243-4627-a5cb-be3615a70d6e;
 Tue, 17 Aug 2021 10:14:39 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 761F4140;
 Tue, 17 Aug 2021 12:14:37 +0200 (CEST)
Received: from hera.aquilenet.fr ([127.0.0.1])
 by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id BdcDoQExvbwW; Tue, 17 Aug 2021 12:14:33 +0200 (CEST)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id C61A1B8;
 Tue, 17 Aug 2021 12:14:31 +0200 (CEST)
Received: from samy by begin with local (Exim 4.94.2)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1mFw74-002XiE-Na; Tue, 17 Aug 2021 12:14:30 +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: 4f536afc-b243-4627-a5cb-be3615a70d6e
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Tue, 17 Aug 2021 12:14:30 +0200
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH 1/2] mini-os: make config handling more generic
Message-ID: <20210817101430.fzr25viy54ygagnp@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
References: <20210817095459.27671-1-jgross@suse.com>
 <20210817095459.27671-2-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20210817095459.27671-2-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: --
Authentication-Results: hera.aquilenet.fr
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 761F4140
X-Spamd-Result: default: False [-2.50 / 15.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 RCPT_COUNT_THREE(0.00)[4];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 HAS_ORG_HEADER(0.00)[];
	 RCVD_COUNT_THREE(0.00)[3];
	 RCVD_NO_TLS_LAST(0.10)[];
	 FROM_EQ_ENVFROM(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[];
	 BAYES_HAM(-3.00)[100.00%]

Juergen Gross, le mar. 17 août 2021 11:54:58 +0200, a ecrit:
> When adding a new CONFIG_ variable this needs to be done in multiple
> places. Change the handling to be more generic.
> 
> This at once fixes a bug with CONFIG_XC which was not defined for the
> C preprocessor (it seems that this never resulted in any real issues,
> though).
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
>  Config.mk | 66 +++++++++++++++++++++++--------------------------------
>  1 file changed, 28 insertions(+), 38 deletions(-)
> 
> diff --git a/Config.mk b/Config.mk
> index cb823c2..15311ef 100644
> --- a/Config.mk
> +++ b/Config.mk
> @@ -171,49 +171,39 @@ endif
>  # CONFIG_ variables.
>  
>  # Configuration defaults
> +CONFIG-y += CONFIG_START_NETWORK
> +CONFIG-y += CONFIG_SPARSE_BSS
> +CONFIG-y += CONFIG_BLKFRONT
> +CONFIG-y += CONFIG_NETFRONT
> +CONFIG-y += CONFIG_FBFRONT
> +CONFIG-y += CONFIG_KBDFRONT
> +CONFIG-y += CONFIG_CONSFRONT
> +CONFIG-y += CONFIG_XENBUS
> +CONFIG-y += CONFIG_XC
> +CONFIG-n += CONFIG_QEMU_XS_ARGS
> +CONFIG-n += CONFIG_TEST
> +CONFIG-n += CONFIG_PCIFRONT
> +CONFIG-n += CONFIG_TPMFRONT
> +CONFIG-n += CONFIG_TPM_TIS
> +CONFIG-n += CONFIG_TPMBACK
> +CONFIG-n += CONFIG_BALLOON
> +# Setting CONFIG_USE_XEN_CONSOLE copies all print output to the Xen emergency
> +# console apart of standard dom0 handled console.
> +CONFIG-n += CONFIG_USE_XEN_CONSOLE
>  ifeq ($(TARGET_ARCH_FAM),x86)
> -CONFIG_PARAVIRT ?= y
> +CONFIG-y += CONFIG_PARAVIRT
>  else
> -CONFIG_PARAVIRT ?= n
> +CONFIG-n += CONFIG_PARAVIRT
>  endif
> -CONFIG_START_NETWORK ?= y
> -CONFIG_SPARSE_BSS ?= y
> -CONFIG_QEMU_XS_ARGS ?= n
> -CONFIG_TEST ?= n
> -CONFIG_PCIFRONT ?= n
> -CONFIG_BLKFRONT ?= y
> -CONFIG_TPMFRONT ?= n
> -CONFIG_TPM_TIS ?= n
> -CONFIG_TPMBACK ?= n
> -CONFIG_NETFRONT ?= y
> -CONFIG_FBFRONT ?= y
> -CONFIG_KBDFRONT ?= y
> -CONFIG_CONSFRONT ?= y
> -CONFIG_XENBUS ?= y
> -CONFIG_XC ?=y
> -CONFIG_LWIP ?= $(lwip)
> -CONFIG_BALLOON ?= n
> -# Setting CONFIG_USE_XEN_CONSOLE copies all print output to the Xen emergency
> -# console apart of standard dom0 handled console.
> -CONFIG_USE_XEN_CONSOLE ?= n
> +CONFIG-$(lwip) += CONFIG_LWIP
> +
> +$(foreach i,$(CONFIG-y),$(eval $(i) ?= y))
> +$(foreach i,$(CONFIG-n),$(eval $(i) ?= n))
> +
> +CONFIG-all := $(CONFIG-y) $(CONFIG-n)
>  
>  # Export config items as compiler directives
> -DEFINES-$(CONFIG_PARAVIRT) += -DCONFIG_PARAVIRT
> -DEFINES-$(CONFIG_START_NETWORK) += -DCONFIG_START_NETWORK
> -DEFINES-$(CONFIG_SPARSE_BSS) += -DCONFIG_SPARSE_BSS
> -DEFINES-$(CONFIG_QEMU_XS_ARGS) += -DCONFIG_QEMU_XS_ARGS
> -DEFINES-$(CONFIG_PCIFRONT) += -DCONFIG_PCIFRONT
> -DEFINES-$(CONFIG_BLKFRONT) += -DCONFIG_BLKFRONT
> -DEFINES-$(CONFIG_TPMFRONT) += -DCONFIG_TPMFRONT
> -DEFINES-$(CONFIG_TPM_TIS) += -DCONFIG_TPM_TIS
> -DEFINES-$(CONFIG_TPMBACK) += -DCONFIG_TPMBACK
> -DEFINES-$(CONFIG_NETFRONT) += -DCONFIG_NETFRONT
> -DEFINES-$(CONFIG_KBDFRONT) += -DCONFIG_KBDFRONT
> -DEFINES-$(CONFIG_FBFRONT) += -DCONFIG_FBFRONT
> -DEFINES-$(CONFIG_CONSFRONT) += -DCONFIG_CONSFRONT
> -DEFINES-$(CONFIG_XENBUS) += -DCONFIG_XENBUS
> -DEFINES-$(CONFIG_BALLOON) += -DCONFIG_BALLOON
> -DEFINES-$(CONFIG_USE_XEN_CONSOLE) += -DCONFIG_USE_XEN_CONSOLE
> +$(foreach i,$(CONFIG-all),$(eval DEFINES-$($(i)) += -D$(i)))
>  
>  DEFINES-y += -D__XEN_INTERFACE_VERSION__=$(XEN_INTERFACE_VERSION)


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 10:16:12 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 10:16:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167709.306154 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFw8h-0003OA-Fb; Tue, 17 Aug 2021 10:16:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167709.306154; Tue, 17 Aug 2021 10:16:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFw8h-0003O3-CC; Tue, 17 Aug 2021 10:16:11 +0000
Received: by outflank-mailman (input) for mailman id 167709;
 Tue, 17 Aug 2021 10:16:10 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=O7ht=NI=ens-lyon.org=samuel.thibault@srs-us1.protection.inumbo.net>)
 id 1mFw8g-0003Nf-3m
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 10:16:10 +0000
Received: from hera.aquilenet.fr (unknown [185.233.100.1])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 222d78c1-ff44-11eb-a49a-12813bfff9fa;
 Tue, 17 Aug 2021 10:16:07 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id C30FE140;
 Tue, 17 Aug 2021 12:16:06 +0200 (CEST)
Received: from hera.aquilenet.fr ([127.0.0.1])
 by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id WDfEdwOskQdw; Tue, 17 Aug 2021 12:16:02 +0200 (CEST)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 054BDB8;
 Tue, 17 Aug 2021 12:16:02 +0200 (CEST)
Received: from samy by begin with local (Exim 4.94.2)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1mFw8X-002Xl7-Au; Tue, 17 Aug 2021 12:16: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: 222d78c1-ff44-11eb-a49a-12813bfff9fa
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Tue, 17 Aug 2021 12:16:01 +0200
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH 2/2] mini-os: move test functions under CONFIG_TEST
Message-ID: <20210817101601.k6mrqh5zje5shgak@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
References: <20210817095459.27671-1-jgross@suse.com>
 <20210817095459.27671-3-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20210817095459.27671-3-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: --
Authentication-Results: hera.aquilenet.fr
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: C30FE140
X-Spamd-Result: default: False [-2.50 / 15.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 RCPT_COUNT_THREE(0.00)[4];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 HAS_ORG_HEADER(0.00)[];
	 RCVD_COUNT_THREE(0.00)[3];
	 RCVD_NO_TLS_LAST(0.10)[];
	 FROM_EQ_ENVFROM(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[];
	 BAYES_HAM(-3.00)[100.00%]

Juergen Gross, le mar. 17 août 2021 11:54:59 +0200, a ecrit:
> There is no need to have the xenbus test support functions always
> included in Mini-OS. Move them inside #ifdef CONFIG_TEST.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
>  xenbus/xenbus.c | 32 +++++++++++++++++---------------
>  1 file changed, 17 insertions(+), 15 deletions(-)
> 
> diff --git a/xenbus/xenbus.c b/xenbus/xenbus.c
> index fdb0934..11427ba 100644
> --- a/xenbus/xenbus.c
> +++ b/xenbus/xenbus.c
> @@ -573,21 +573,6 @@ static char *errmsg(struct xsd_sockmsg *rep)
>      return res;
>  }
>  
> -/* Send a debug message to xenbus.  Can block. */
> -static void xenbus_debug_msg(const char *msg)
> -{
> -    int len = strlen(msg);
> -    struct write_req req[] = {
> -        { "print", sizeof("print") },
> -        { msg, len },
> -        { "", 1 }};
> -    struct xsd_sockmsg *reply;
> -
> -    reply = xenbus_msg_reply(XS_DEBUG, 0, req, ARRAY_SIZE(req));
> -    printk("Got a reply, type %d, id %d, len %d.\n",
> -            reply->type, reply->req_id, reply->len);
> -}
> -
>  /* List the contents of a directory.  Returns a malloc()ed array of
>     pointers to malloc()ed strings.  The array is NULL terminated.  May
>     block. */
> @@ -882,6 +867,22 @@ domid_t xenbus_get_self_id(void)
>      return ret;
>  }
>  
> +#ifdef CONFIG_TEST
> +/* Send a debug message to xenbus.  Can block. */
> +static void xenbus_debug_msg(const char *msg)
> +{
> +    int len = strlen(msg);
> +    struct write_req req[] = {
> +        { "print", sizeof("print") },
> +        { msg, len },
> +        { "", 1 }};
> +    struct xsd_sockmsg *reply;
> +
> +    reply = xenbus_msg_reply(XS_DEBUG, 0, req, ARRAY_SIZE(req));
> +    printk("Got a reply, type %d, id %d, len %d.\n",
> +            reply->type, reply->req_id, reply->len);
> +}
> +
>  static void do_ls_test(const char *pre)
>  {
>      char **dirs, *msg;
> @@ -968,6 +969,7 @@ void test_xenbus(void)
>      do_read_test("device/vif/0/flibble");
>      printk("(Should have said ENOENT)\n");
>  }
> +#endif /* CONFIG_TEST */
>  
>  /*
>   * Local variables:
> -- 
> 2.26.2
> 


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 10:21:05 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 10:21:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167716.306168 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFwDN-0004rQ-4g; Tue, 17 Aug 2021 10:21:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167716.306168; Tue, 17 Aug 2021 10:21:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFwDN-0004rJ-1n; Tue, 17 Aug 2021 10:21:01 +0000
Received: by outflank-mailman (input) for mailman id 167716;
 Tue, 17 Aug 2021 10:20: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 1mFwDL-0004r9-KD; Tue, 17 Aug 2021 10:20: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 1mFwDL-0003DO-E5; Tue, 17 Aug 2021 10:20: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 1mFwDL-0006UK-46; Tue, 17 Aug 2021 10:20:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mFwDL-0003FU-3Z; Tue, 17 Aug 2021 10:20:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Hy17egp+U+Tv9O2L2u6EnCPlHa7YCnwqeuja02+tU5A=; b=RaujUDqTMapzK72riDxqP1Zs2K
	gUAPKqM3d5FEsoyFrebvFHyovHVrCSe01Yblmlnz4ArzPk27850bVLBL7ZbkCWYoTspK/yPAMAzuj
	3SPphv4xmXP7BtI6rnRTDGBEDKu26bImlUtsxb6qQrR9xB1oDCd68QGiGC/oM8/x2L0M=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164214-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 164214: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    qemu-mainline:test-armhf-armhf-xl-arndale:<job status>:broken:regression
    qemu-mainline:test-armhf-armhf-xl-multivcpu:<job status>:broken:regression
    qemu-mainline:test-armhf-armhf-xl-vhd:<job status>:broken:regression
    qemu-mainline:test-armhf-armhf-xl-vhd:host-install(5):broken:regression
    qemu-mainline:test-armhf-armhf-xl-arndale:host-install(5):broken:regression
    qemu-mainline:test-armhf-armhf-xl-multivcpu:host-install(5):broken:regression
    qemu-mainline:test-amd64-amd64-amd64-pvgrub:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:regression
    qemu-mainline:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:allowable
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check: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-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-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-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=bd44d64a3879bb6b0ca19bff3be16e0093502fac
X-Osstest-Versions-That:
    qemuu=703e8cd6189cf699c8d5c094bc68b5f3afa6ad71
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 17 Aug 2021 10:20:59 +0000

flight 164214 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164214/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl-arndale     <job status>                 broken
 test-armhf-armhf-xl-multivcpu    <job status>                 broken
 test-armhf-armhf-xl-vhd         <job status>                 broken
 test-armhf-armhf-xl-vhd       5 host-install(5)        broken REGR. vs. 164152
 test-armhf-armhf-xl-arndale   5 host-install(5)        broken REGR. vs. 164152
 test-armhf-armhf-xl-multivcpu  5 host-install(5)       broken REGR. vs. 164152
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install       fail REGR. vs. 164152
 test-amd64-amd64-i386-pvgrub 12 debian-di-install        fail REGR. vs. 164152

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds    18 guest-start/debian.repeat fail REGR. vs. 164152

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164152
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164152
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164152
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164152
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164152
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164152
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164152
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 qemuu                bd44d64a3879bb6b0ca19bff3be16e0093502fac
baseline version:
 qemuu                703e8cd6189cf699c8d5c094bc68b5f3afa6ad71

Last test of basis   164152  2021-08-10 21:08:02 Z    6 days
Failing since        164194  2021-08-15 10:38:08 Z    1 days    3 attempts
Testing same since   164214  2021-08-16 21:36:56 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexander Bulekov <alxndr@bu.edu>
  Daniel P. Berrangé <berrange@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Lara Lazier <laramglazier@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@redhat.com>
  Taylor Simpson <tsimpson@quicinc.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                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  broken  
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                broken  
 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-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      broken  


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-armhf-armhf-xl-arndale broken
broken-job test-armhf-armhf-xl-multivcpu broken
broken-job test-armhf-armhf-xl-vhd broken
broken-step test-armhf-armhf-xl-vhd host-install(5)
broken-step test-armhf-armhf-xl-arndale host-install(5)
broken-step test-armhf-armhf-xl-multivcpu host-install(5)

Not pushing.

(No revision log; it would be 431 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 10:31:17 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 10:31:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167723.306183 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFwNF-0006Lg-5T; Tue, 17 Aug 2021 10:31:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167723.306183; Tue, 17 Aug 2021 10:31:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFwNF-0006LZ-2J; Tue, 17 Aug 2021 10:31:13 +0000
Received: by outflank-mailman (input) for mailman id 167723;
 Tue, 17 Aug 2021 10:31:11 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cSHW=NI=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mFwND-0006LO-66
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 10:31:11 +0000
Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 3be9fa66-ff46-11eb-a49c-12813bfff9fa;
 Tue, 17 Aug 2021 10:31:09 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3be9fa66-ff46-11eb-a49c-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629196269;
  h=to:cc:references:from:subject:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=EH6JEad78mPas8t098GfOAoDqcT20ZM76FjUEhmCGaM=;
  b=P632sJK+j/uYHVdPKL2IK4+tNehFjTS+wn+pKFwngoauBUP8ea/hcXBw
   OGbNr3b/qhYZznt3NnuHDrlj7GXAjd3Nf+/TZMKpp46MeLjjjiRSaQ4EM
   HoY5OYNn9Ek1hTGrnNhZv99VU62Ugr8ULmVXqmeu6ATR0NrDSCgoZXiVs
   s=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: y4Wc/yA+s+qKDbxyNmHXHhvul/tAEdUziDdNEuHmfVQ01LxeLxyDMjeJmYsGzoDjoRFz+1rhel
 iacecm3YnSscfXa6qMiQPTyL/4T+sKSTLTzINAgwLy8e88xoVmKD1XxE6KrBgCzU4HYrjVep1r
 9YVKEIUoUCYhFB0AodCuBRil4+hPzkSrhI4JifKEoX/ijlzVFyXUDSHchkrCXSZZPn3madV6L1
 HUUH+PCbsy/5W+Ic0uAWbSM0LNpEeURnBWxZ8PD1g/6/g2NFhlULs4ju3qCA0+kZ1YfSMSUBem
 hBSptAz9NG1cNaiQpPhr9f+G
X-SBRS: 5.1
X-MesageID: 51010205
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:ERPZlqBLvD5NRTzlHejssceALOsnbusQ8zAXPhhKOGVom7+j5r
 iTdZUgpGPJYVMqMk3I9urwXZVoLUmzyXcx2/h2AV7AZniYhILLFvAH0WKK+VSJcECTmdK1l5
 0QFJSWY+eRMbEOt7eZ3ODOKadC/DDoysGVbKzlvgxQpElRGttdxjY8LgOVVmBNaE14CYEiFJ
 yaj/A32QaISDAya8v+Kn4bU+3EvtGOu4nhZXc9dm0awTjLqTamrJv7GRSexBt2aUI7/Z4StU
 zBnEjD+qCuqbWFxgTH12nVhq4m6efJ+59mAcPJsMwcMSjqhhvtW4h7Qb2Fu1kO0ZGSwWdvtN
 zC5ysmP9xu51PdF1vF1SfF6k3F1Tlr1HP401+fhhLY0L7ErRwBerd8ub4=
X-IronPort-AV: E=Sophos;i="5.84,328,1620705600"; 
   d="scan'208";a="51010205"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VL2jNV6Um5SZwHK74oknahHIeDRQTflQ2gd3gQq5FHuEY5dEq3ypgOgKXguwd/43B0fpEtZ2akW5dXdd656NnmnU1MiwdeQiwtoavCsF+JUvBuBgPNxtvZSyzoV/TXk9ilHbZlcm8+8s5k2KT9+9ksMvTa4HMq+6L+2+O8yhHhGnoAcGFXVb5l7e8rr3m0VZeEvuO/0jY0cbeDmy88p1h8jIDCRiFLQfRpwQW2hxDKMha8I2RE2bpicEGG3F3W6PreIWBnh0Dt7zWSiEvF24bt3hfN4t0bSM7YpWHE+x1KauPttRib+h+TZ8o2vGEtmQak0rA8r6g3Ad7sFOVWO1zg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=x2JEO6iOFuxODv7ul/SyrfjtIyD7oZ+Z+zvWXec/sw0=;
 b=g5LxNC9x+go9+v5nNA9m2W9nkoRr6rv+QRhYybDUXFCF9vR/8a0PECqHUA4WuiQs03NAEweK3lyI5fNbCPcfWX1hvbb6FFK1HAidxfHxfGqpdpj9T+2+cdpPh14IPcSW0wMGQI9VjpkBHB1ttf8ne+3LKR5whHtR8gmJ4mJMP0t0bady5ALtEeOGNtcRQlZRawPs6Y4N5Yj7PZ20aCeS6vjEjVcXFO7a/5RuE6R8F8IKPu8D5qzo1UCWvV5n8wuqkPOSGSM0qFfCiMfwRffDXTfxjE13O8YQLpxqU3+vug56suQKnn2ZlCJWPjv9VWp0yuHYwdER/qsJCS294zehDw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=x2JEO6iOFuxODv7ul/SyrfjtIyD7oZ+Z+zvWXec/sw0=;
 b=dtLpG1K0ZlyznKT1K0e+wsqHEgMdr+rrow4tKtEfb65fpZm3MMpy475KOHKTRNLJ8krN8a74tl7QcuAYY6PdvNpHDRXBc3DUjLRPFvdpSulhi4NLOgZjo+S0KtKMX+XZyQWexIPxTX3AOjB5aPDn5kYuZbnE6bGvgn0QPs6h8H8=
To: Jan Beulich <jbeulich@suse.com>
CC: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
	<roger.pau@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
References: <cbe46564-74ab-af38-7e31-2f0a3f46ab41@suse.com>
 <d72d072f-d785-f90b-4e91-5ef7e8f17862@citrix.com>
 <14de6486-a1be-156e-f2e8-e82dd35d231c@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] x86/PV: assert page state in mark_pv_pt_pages_rdonly()
Message-ID: <876bd7e8-d472-0f81-63b8-b57169cd87a9@citrix.com>
Date: Tue, 17 Aug 2021 11:30:43 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <14de6486-a1be-156e-f2e8-e82dd35d231c@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-GB
X-ClientProxiedBy: LNXP265CA0057.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:5d::21) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b9749113-6837-4f31-8063-08d9616a1515
X-MS-TrafficTypeDiagnostic: SJ0PR03MB5837:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <SJ0PR03MB58378CC432C6CA4A8EA78A6BBAFE9@SJ0PR03MB5837.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: GNWL/eL2TMsDWphQ3EFe68Dfr9EUl/gJEUE7Sf49Raqiz4WaVSmqYrfxr+OrbTH2Uae9KSsEr0yiIwwRdPX1bg/Pzi+0mQgy6B+B/JBE9fwDPFcwGN9vLZ//f0fUAJvyEYz1k+bciqRtNBbxAGgVz/JVmfT3vUBNfRz+T1g2Bt48KyUZFCPeyE80832tsbJajkebzRlEh+QfL6zvz9br9oeXVKfZF9FC1gdgqIyKRbBgmNAQjf4otPQV4c0KHepUE4ZxZGV0mRMnV8Y21eEyk7745rNDj1AA873xMCuoBk2KtYF6Ne9/nkVTrI6P1hnwc5wnZNZiNoINNtQhbDrBSvUYxMDQwOrlYwxW7T4FU7xvgPFy7FqP3aYuV+27elV31q2aQH2C4sgDby9sBHQFNzq6bDI0jo7UH/Bm5VVYz5EoVU4R5VCStmbV9RX235SwAqxG+YzFYx5M1qIsHJ4nZCfupDA650ZMK4Dp3MpKZncAzsy/pQxQ9UkR77t+aUFiTX7uyF+tVuwwSC0O9A4wOPKVTeZbn/i/2Hj76TYWBu1EOr5GKd2rL34eovCgKDkH89FgaaGMUi9B/Ba5sHUkTTZAYs31e0jWPDWqRg7aEMdqTL4zWaL8uWmRS4yhqi4AMTw3g74tzyZ9oGSxbljVJskGIWOOwWiqx+o2q7N/GuO977tj2OGHHprQEur/jnYoJaxdTULfoGg5O1fepAIG3ViNXsvl//sw9AkZ5QKrSbOdBHQmDB5lL0PuK3/8DT3U
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:(4636009)(366004)(39860400002)(396003)(136003)(346002)(376002)(8936002)(5660300002)(38100700002)(478600001)(316002)(36756003)(31686004)(16576012)(31696002)(54906003)(6916009)(2906002)(66946007)(86362001)(83380400001)(2616005)(8676002)(956004)(66476007)(26005)(66556008)(53546011)(4326008)(186003)(6486002)(6666004)(45980500001)(43740500002)(357404004);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SzlyTzJpSGVmOTlIR01JcjVIQmFxT3o0a0orTlJzZEo1RmFsT0lkeGNqY3lm?=
 =?utf-8?B?bGdMdzBOVDdQWE5PcTd4R2Vmdks3RkNjS0cyR3Q5UWZRRmwyU0FMMmtVTzFy?=
 =?utf-8?B?c3BzL1VXbVJhU0U3K29vT2VxM0lmR1BnME5CU3N0MVBSY3dNV0c3WnNvbVo3?=
 =?utf-8?B?clRaREJzR0ZWQlJwTUg0Uyt3UWRxME5ocTRpUDdxTEFEMDVtd0FUVlNwQk5v?=
 =?utf-8?B?UVVTY1lTTFI3Q0lqNnJyOFQzaE9zcWlwMFFxMFRMN0RCYkxmNTRnekNuWnp5?=
 =?utf-8?B?bmtuT3o1YUU5eEQ2NEprTUN2RkE5Zmd0SXFYRkxTWktSWWkxYXltTm9ZMEor?=
 =?utf-8?B?UWUybjBrQXNudzF0QXFJYllHY2VMaU5CT2V5Tlg1YnhRU2RoaGdMZ09PSUFO?=
 =?utf-8?B?cTlPOEppUGZSK01XQzNNRFR1MDdoTXBweFBoUUJsd09jM3lnYTRscHN6S3A1?=
 =?utf-8?B?SWZUU01pMzVhUDZKa3FTd040Uk51ZHJWd1R3TFJEdW1sSnhxU05CWE81RVpD?=
 =?utf-8?B?RlVaOXh0SFZRWHYwZ3R0aDlSOFJ2Q3NZdXJ4cmloMUZtT2l5dWh6emgvc21F?=
 =?utf-8?B?TnRnRnFiRzE3eWtDZ00zMFFZL0RZTmM4RHVROFp2WGxqcHE1OElUN3RDempz?=
 =?utf-8?B?RUgyV0s4N05OUzVwZ01ZbHFSYXkyNm5XUExGOVV1blp5ejZCY1pBUXBBTGRZ?=
 =?utf-8?B?aHJGK0tjMU1yVkF0N1Nxa2gvaThsNFh0Wlp1TEZ1cHhLZGoxUjE2V2Y0V2VW?=
 =?utf-8?B?WER1NFFJYmRTWTZGL1ltZWxHcXkwK2lpdU5TRkR4U1l6VDBBeXkyL0FtZkRK?=
 =?utf-8?B?ZUJQdjliTnRkZFVwZGdRaVFNV3RRY0tvc3VBRXlmNzNheDZKUll2c2lwbHU2?=
 =?utf-8?B?a3hwbDAvYVgySVdkTDZiUktON3hEaGVEb0k2QTE5WnA5ZXhrUGFIcmh0ZHBr?=
 =?utf-8?B?UDNCNG8rV3ZvNGJReEVnRG5uTmJXNkRYV3NCbkNwRVNTYUcvZUROMzNUSEZO?=
 =?utf-8?B?RzB5OG9tVmZoV0U2ZDd4TmFKVDg1WmdsM3gxSWhlWUNCQUJXek4vd2lnODAw?=
 =?utf-8?B?TmRId1duS3Ivc0tKVGZMTEdobkhlakxxZFFmRlBKdnFodjJMcllVWGN5ZGVi?=
 =?utf-8?B?Vlh4ZU5zblVGYm5kN3BkNEFjY3RNT1hCZEJ3QjVYT08ySUEyVnJ2QVdrSUN5?=
 =?utf-8?B?OTJTSGVvQjNMOWtYMXdpV1hnUlc2dFdhRDRwYmoxc2tScU9FQkJpckhTdFFU?=
 =?utf-8?B?b1ZZT2FwNklTekRBTFZqT0tEa0VocFVMMkUvUlBQeGJTSzI1UGFYVENTc0lq?=
 =?utf-8?B?ZFJlWTFqRE5ON1oyaHV5Q0xVdGJxd2FNdEkwd045U0JsVkZFK2J3S3RuZS9y?=
 =?utf-8?B?ZTQyL3JwcmRsSmNpQnVPNVVUdXlINFBGMjk5RDBXVVdKOW4xOG1ERDhHZkxn?=
 =?utf-8?B?RTJLNStRaFJ6eEwxUGlZR045RHdCVGFCUUErUldXS3BnQUlKNFJEN0c2TWdY?=
 =?utf-8?B?WTdlZEVDSzNjSGdtMUM2UlFEYzM0WjhyRlZtcm5RcUxvTWNjN2lPUjYzTUpS?=
 =?utf-8?B?c1hwajBjRExnbE4wVzdlQVNKbFVMdHI5aDVQaklqbmNYR1ZpWnhVWFhuMC9J?=
 =?utf-8?B?Q2l5OFpBYmhoQmpTeFhCRGhQRlAzcHJZVklYZ2Z0Z1RLQ3g0STV1cVBsc2dP?=
 =?utf-8?B?c2p6YklmN0czRDJwcGZ6VjFKeHk5NnlYQldlRWJIdUpyV3hHUkVrdXpZYUwx?=
 =?utf-8?Q?Rj6vqM2MOv62s96ElRyMlRIxX3QC8a8s9jINi2y?=
X-MS-Exchange-CrossTenant-Network-Message-Id: b9749113-6837-4f31-8063-08d9616a1515
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 10:30:49.9003
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: IKm4U7s0Gf9shUdKVFy6YhY8RZErpYKrjJwU5Xn0zRJs7bZeW/SEzm+Usem2vGigh5TElaJBtj9Q0cS03TWb8EyiZ+zO/xydl6/hDvq0hj4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5837
X-OriginatorOrg: citrix.com

On 17/08/2021 09:54, Jan Beulich wrote:
> On 16.08.2021 21:25, Andrew Cooper wrote:
>> On 16/08/2021 16:29, Jan Beulich wrote:
>>> About every time I look at dom0_construct_pv()'s "calculation" of
>>> nr_pt_pages I question (myself) whether the result is precise or merely
>>> an upper bound. I think it is meant to be precise, but I think we would
>>> be better off having some checking in place. Hence add ASSERT()s to
>>> verify that
>>> - all pages have a valid L1...Ln (currently L4) page table type and
>>> - no other bits are set, in particular the type refcount is still zero.
>>>
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>> ---
>>> There are (at least) two factors supporting my uncertainty about the
>>> "calculation" being precise: The loop starting from 2 (which clearly is
>>> too small for a possible result)
>> 2 was the correct absolute minimum for 2-level guests.
> Which has been history for how many years?

Yeah, but I'd expect to phrase that as "a remnant of 32bit non-PAE guests".

> The minimum for the current implementation is 4 afaict,

I'm not sure the monitor table for PV32 is intended to count.

>  and ...
>
>> XTF kernels don't exceed the 2M boundary (at least, not currently), so
>> they can be mapped with only 3 or 4 pagetables, except:
>>
>> * 3-level guests are created with 4 L2's for no obvious reason.=C2=A0 Th=
is is
>> nothing to do with legacy PAE paging, nor with how a typical Linux/BSD
>> kernel works.=C2=A0 The requirement to make 3-level guests work (and eve=
n
>> then, only under 32bit Xen) is to create a PGT_pae_xen_l2 if not already
>> covered by the other mappings.=C2=A0 Any non-toy kernel discards these
>> pagetables in favour of its own idea of pagetables.
> ... could be 3 for 32-bit Dom0.

Right, and starting from (compat ? 6 : 4) is probably a good move, along
with an explanation of these totally magic numbers.


And now I've thought about this some more, I'm pretty certain we do
better than an "start at 2, inc 1 and retry" loop.=C2=A0 We can calculate t=
he
pagetables needed for the virtual layout statically, possibly even
including the default 6/4, and use that for a lower bound.=C2=A0 At most, w=
e
need to loop once per possibly-unpopulated pagetable level (so 1 for
32bit, 3 for 64bit) to cover the cases of extra pagetables tipping over
a page size boundary.

>
>> * v_end is rounded up to 4MB.
>>
>> Most XTF guests will operate entirely happily in a few hundred kb of
>> space, and the same will be true of other microservices.=C2=A0 The round=
ing
>> up of memory might be helpful for the traditional big VMs case, but it
>> isn't correct or useful for other usecases.
>>
>>> and an apparently wrong comment stating
>>> that not only v_end but also v_start would be superpage aligned
>> Which comment?=C2=A0 The only one I see about 4M has nothing to do with
>> superpages.
> The one immediately ahead of the related variable declarations:
>
>     /*
>      * This fully describes the memory layout of the initial domain. All
>      * *_start address are page-aligned, except v_start (and v_end) which=
 are
>      * superpage-aligned.
>      */
>
> I see nothing forcing v_start to be superpage-aligned, while I
> do suspect that the "calculation" of the number of page tables
> will be wrong when it isn't.

This is an XTF test booting as dom0

(d2) (XEN) *** Building a PV Dom0 ***
(d2) (XEN) ELF: phdr: paddr=3D0x100000 memsz=3D0x12000
(d2) (XEN) ELF: memory: 0x100000 -> 0x112000
(d2) (XEN) ELF: note: GUEST_OS =3D "XTF"
(d2) (XEN) ELF: note: GUEST_VERSION =3D "0"
(d2) (XEN) ELF: note: LOADER =3D "generic"
(d2) (XEN) ELF: note: HYPERCALL_PAGE =3D 0x106000
(d2) (XEN) ELF: note: XEN_VERSION =3D "xen-3.0"
(d2) (XEN) ELF: note: FEATURES =3D "!writable_page_tables|pae_pgdir_above_4=
gb"
(d2) (XEN) ELF: note: PAE_MODE =3D "yes"
(d2) (XEN) ELF: using notes from SHT_NOTE section
(d2) (XEN) ELF: VIRT_BASE unset, using 0
(d2) (XEN) ELF_PADDR_OFFSET unset, using 0
(d2) (XEN) ELF: addresses:
(d2) (XEN)=C2=A0=C2=A0=C2=A0=C2=A0 virt_base=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 =3D 0x0
(d2) (XEN)=C2=A0=C2=A0=C2=A0=C2=A0 elf_paddr_offset =3D 0x0
(d2) (XEN)=C2=A0=C2=A0=C2=A0=C2=A0 virt_offset=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 =3D 0x0
(d2) (XEN)=C2=A0=C2=A0=C2=A0=C2=A0 virt_kstart=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 =3D 0x100000
(d2) (XEN)=C2=A0=C2=A0=C2=A0=C2=A0 virt_kend=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 =3D 0x112000
(d2) (XEN)=C2=A0=C2=A0=C2=A0=C2=A0 virt_entry=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 =3D 0x100000
(d2) (XEN)=C2=A0=C2=A0=C2=A0=C2=A0 p2m_base=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 =3D 0xffffffffffffffff
(d2) (XEN)=C2=A0 Xen=C2=A0 kernel: 64-bit, lsb, compat32
(d2) (XEN)=C2=A0 Dom0 kernel: 64-bit, PAE, lsb, paddr 0x100000 -> 0x112000
(d2) (XEN) PHYSICAL MEMORY ARRANGEMENT:
(d2) (XEN)=C2=A0 Dom0 alloc.:=C2=A0=C2=A0 000000003e800000->000000003ec0000=
0 (240731
pages to be allocated)
(d2) (XEN) VIRTUAL MEMORY ARRANGEMENT:
(d2) (XEN)=C2=A0 Loaded kernel: 0000000000100000->0000000000112000
(d2) (XEN)=C2=A0 Init. ramdisk: 0000000000112000->0000000000112000
(d2) (XEN)=C2=A0 Phys-Mach map: 0000000000112000->00000000002ea2d8
(d2) (XEN)=C2=A0 Start info:=C2=A0=C2=A0=C2=A0 00000000002eb000->0000000000=
2eb4b8
(d2) (XEN)=C2=A0 Xenstore ring: 0000000000000000->0000000000000000
(d2) (XEN)=C2=A0 Console ring:=C2=A0 0000000000000000->0000000000000000
(d2) (XEN)=C2=A0 Page tables:=C2=A0=C2=A0 00000000002ec000->00000000002f100=
0
(d2) (XEN)=C2=A0 Boot stack:=C2=A0=C2=A0=C2=A0 00000000002f1000->0000000000=
2f2000
(d2) (XEN)=C2=A0 TOTAL:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 000=
0000000000000->0000000000400000
(d2) (XEN)=C2=A0 ENTRY ADDRESS: 0000000000100000

It would appear that v_start comes directly and unmodified from the
VIRT_BASE ELF note.

Other observations:=C2=A0 The ramdisk start/end aren't zero despite one bei=
ng
absent, and the M2P and start info ends aren't aligned.

>>>  (in fact
>>> v_end is 4MiB aligned, which is the superpage size only on long
>>> abandoned [by us] non-PAE x86-32).
>> Tangentially, that code needs some serious work to use ROUNDUP/DOWN
>> macros for clarity.
> Agreed.
>
>>> --- a/xen/arch/x86/pv/dom0_build.c
>>> +++ b/xen/arch/x86/pv/dom0_build.c
>>> @@ -59,6 +59,10 @@ static __init void mark_pv_pt_pages_rdon
>>>          l1e_remove_flags(*pl1e, _PAGE_RW);
>>>          page =3D mfn_to_page(l1e_get_mfn(*pl1e));
>>> =20
>>> +        ASSERT(page->u.inuse.type_info & PGT_type_mask);
>>> +        ASSERT((page->u.inuse.type_info & PGT_type_mask) <=3D PGT_root=
_page_table);
>> This is an obfuscated
>>
>> ASSERT((page->u.inuse.type_info & PGT_type_mask) >=3D PGT_l1_page_table =
&&
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (page->u.inuse.type_info & PGT_type=
_mask) <=3D PGT_root_page_table);
> I can certainly switch to this yet longer piece of code,

Improved clarity is substantially more important than conciseness.

>  and ...
>
>> and
>>
>>> +        ASSERT(!(page->u.inuse.type_info & ~PGT_type_mask));
>> this has no context.
>>
>> At a bare minimum, you need a comment stating what properties we're
>> looking for, so anyone suffering an assertion failure has some clue as
>> to what may have gone wrong.
> ... I can certainly transform the respective parts of the
> description into a code comment.

Thanks.=C2=A0 It doesn't need to be much, but it does need to be something.

~Andrew



From xen-devel-bounces@lists.xenproject.org Tue Aug 17 10:32:27 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 10:32:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167728.306193 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFwOM-00070x-KQ; Tue, 17 Aug 2021 10:32:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167728.306193; Tue, 17 Aug 2021 10: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 1mFwOM-00070q-HU; Tue, 17 Aug 2021 10:32:22 +0000
Received: by outflank-mailman (input) for mailman id 167728;
 Tue, 17 Aug 2021 10:32:21 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cSHW=NI=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mFwOL-00070i-Ar
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 10:32:21 +0000
Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c0254df5-33fe-4750-b399-be8599194cf4;
 Tue, 17 Aug 2021 10:32: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: c0254df5-33fe-4750-b399-be8599194cf4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629196339;
  h=subject:to:cc:references:from:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=FH3az84OQ7RqUyl/TtEf6Aj66Gblu/fxDNlJU3sDPuA=;
  b=YoHYbfrUo2YMPxjSgC0qi3mmH+TNlK85i9WYoKRP9thQWWsYktAa5tgb
   kb2SUseU2bagEi4iwchevxPreR7vZ/KdB+KGh8SKaEJ8mN3Ea9acDjKt4
   m6RywBsr6AM+Da4gt9hwcFpjm16vxFvHjPwpiVHvVNR9MPy23zpULeP3W
   4=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: yPkGe/GFo/3JeZm5QaR8rrHW4p0u2u4EBmQ+6WBhFYDB4YaODTDHDJYE4yZmOfpFXJE2D8SgFG
 0xJGKhNlAZozqmsizFHyvYWxXCLNgLBBFFjrEdV+HMYbMvLSQdjXzKNw4o43y76k1TeWEQTfxv
 PhXYQP9mxvICM2OKxnLZrkbbflqvA11ZfHZZZ7NMdJ8W6tfS77UYh0WWPfocslGuA2FWE2tptp
 KCazkN+hnILa4OP9F0DLWTSeY2JMf51nLBV39utYQIUzo8AV1zqRsl4KOUohfGdfVUU1u/ejmW
 Gm1Af3WHrnb7zNZDOhb/Mskf
X-SBRS: 5.1
X-MesageID: 50603763
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:cFQX0aPuufGTY8BcT0/155DYdb4zR+YMi2TDiHofdfUFSKClfp
 6V8cjztSWUtN4QMEtQ/exoS5PwPk80kqQFnbX5XI3SITUO3VHHEGgM1/qb/9SNIVyZygcZ79
 YbT0EcMqyBMbEZt7eC3ODQKb9Jq7PmgcPY99s2jU0dKj2CA5sQnjuRYTzrcHGeKjM2YKbRWK
 Dsnfau8FGbCAoqh4mAdzY4dtmGg+eOuIPtYBYACRJiwA6SjQmw4Lq/NxSDxB8RXx5G3L9nqA
 H+4k3Ez5Tml8v+5g7X1mfV4ZgTsNz9yuFbDMjJrsQOMD3jhiuheYwkcbyfuzIepv2p9T8R4Z
 fxiiZlG/42x2Laf2mzrxeo8w780Aw243un8lOciWuLm72yeBsKT+56wa5JeBrQ7EQt+Ptm1r
 hQ4m6fv51LSTvdgSXU/bHzJlNXv3vxhUBnvf8YjnRZX4dbQqRWt5Yj8ERcF4pFND7m6bogDP
 JlAKjnlbVrmGuhHjTkV1RUsZuRtixZJGbBfqFCgL3U79FupgE986NCr/Zvx0vpnfkGOup5D+
 etCNUiqFgBdL5PUUrRbN1xN/dfMVa9NS4kBljiaWgPJJt3Tk4llKSHl4ndxNvaNaDgn6FC1K
 gobjtjxCcPkgTVeJaz4KE=
X-IronPort-AV: E=Sophos;i="5.84,328,1620705600"; 
   d="scan'208";a="50603763"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=j3J4vQJyah7lVEY4qpWh8b0Sz0NsEQdUgwwlArMynttd+NigucksfjoFxpDyruri6f167WIV1ELFon/dniQVhz0ujXR1yF2fJPnNF0DP6e5OwF11U1Uo094nzqa2A3s9UdXKfrBkLSDvEgxJv6kXPQMmZsqKg5cPWKHLPzCoSxeV8ViWuwxPRLBKoBu9JQhL3nlKPZRvNDrFvXpyTOZt84/E4nRsE2k0rFvQsIXoRD1yC/FiKJPSXGQcxLFMQ8fZ6mmBDUVj8QPgPD7siubtT+wEj3Qq3CT/9WvuUwdA4Ds1QNijkIwruR7A+MC6BpxuPxt5f17XSD+dlAR6N4WKpQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qEcpuuY8soouLWf/Xz3iC2b8bjxwwZIJkvWqFmFlUBE=;
 b=lF7x+Ho89L6F3YwINGXEMPQvZvTSVFOcKZDHZExqIVuk+k/52WBy3XMV8iHy8E/OdPvO5IKcR9z5NjdRnvnIOH/QPg1ywxevjNkSdSDa3n4i7Kx79IzzBVaVUIWyr2deRsPEzLzLLdOpPMJLR07o9w3xLoIDkqZIrAUS0CY45BLNouUV21Ph2t5euD91B7PObCbmvJXVDvhKC5IFvc+nvcldH0nyayftbu8oLuMpHAGxppi1XQrb0oA6FXBDfEKo36XK6W/r0TQZaGofK2gtaF7zI5ID5iRZRnl3WEjBY0vGX0Ve/6fyCuQDqZt+kGJeHpI3unRo3/7mhm+piG6Ijg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qEcpuuY8soouLWf/Xz3iC2b8bjxwwZIJkvWqFmFlUBE=;
 b=o/fcKbhdxUYmGW6gBtXzOhEArOvykUqXZLWlCS10Sf1qjWNriln2dpzuqJYVlkyzwHImVjwQGRkQk/rKKPIrchgxkNl3dgy15T+f1qWGNPG7DV/WEiiVOsNmaZ6Qh6/ZpoIDuFRZ6sp9y6sZHHjb9siNMmTlNGJx1xscUtIFKSM=
Subject: Re: [PATCH] x86/cet: Fix shskt manipulation error with
 BUGFRAME_{warn,run_fn}
To: Jan Beulich <jbeulich@suse.com>
CC: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
	<marmarek@invisiblethingslab.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20210812170350.23543-1-andrew.cooper3@citrix.com>
 <4905f9de-8106-8a5c-c3f1-6a703b008d38@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Message-ID: <1b894128-e604-b377-e607-1e828b021fa2@citrix.com>
Date: Tue, 17 Aug 2021 11:31:57 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <4905f9de-8106-8a5c-c3f1-6a703b008d38@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Content-Language: en-GB
X-ClientProxiedBy: LO2P123CA0097.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:139::12) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b40e1054-9399-4c8d-5297-08d9616a4140
X-MS-TrafficTypeDiagnostic: SJ0PR03MB5837:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <SJ0PR03MB58374AF3F478FCF2B0BD1ED8BAFE9@SJ0PR03MB5837.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: o/O/yVkePD6eS5vN3O7F7T+caaTzAw1L6wcc1rIS+AahWcNvCKxnVSJf5ecj3Oj89IO6D0vG2dHFXu5j1H6exo/a73neNiFim5RTBHDzBC2CV8fVhLd0YuywXYvHBH8B0nXXgo2ijS15bZ1J3DT6owNcll0SvJmKJJT1g0SJ9mCpS31kOOi4wrExW23st+uNhvAItVb3sHXhki8dacw3a3pN/LBxMaGZ180AYAXl2aRWjJZBZfrrdAiSTjiHOtX3k+rxhv2y/avCIVcHloGLDfm+t1Kp8pCtxYijG/At9hMnYrIxBP8IAAj8e9T/HBAclyBBhR8FVdZ1+JtbzWkFBcAeV2Q14R314S9F56+ltdPEXsz/hniLuN2/v/ys9sdulIwbtCNteVdw9CTT+G39o7MQW321p28X5Kul4XDxhsVEkPemD5G+pj34Psa/mKxZ/VmmCmdsWTl4jqtQQ46CFFtXkAINIRtiv2g7Y2oPKbzbgiviB/D81wyPFeurJLw5U5VJ29GCML2mDRbN+dQUKJLiq5tUHKjlahFOAo/Nd3sXtf+VV/GY42poj5QQ4AbH8SXzwZJSdV361irNjzdDD0nEB8UirabbB9b2f+smPiimCVfYISpWrtkZAt27JaNiBvSKJsv2LNQ9bsgBFl+0COjFkBmD5yAZQO5n0xrJMiinoyI9+StPp0hwi++MgKsmbBc+f/r2TWDxI4xVSsvVk9lyxQjEfqMHbN/dOkw7auM=
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:(4636009)(366004)(39860400002)(396003)(136003)(346002)(376002)(8936002)(5660300002)(38100700002)(478600001)(4744005)(316002)(36756003)(31686004)(16576012)(31696002)(54906003)(6916009)(2906002)(66946007)(86362001)(83380400001)(2616005)(8676002)(956004)(66476007)(26005)(66556008)(53546011)(4326008)(186003)(6486002)(6666004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?THk4Um1PWVpaYlVWSWxUYWNud0NEM1BoZXgrQ3BZSlJER0U3Yno1RnNGZTlw?=
 =?utf-8?B?Qzhjc2VBTXlWcGJkeGJHdStXRHVYZ2U0THlldWtnS2wyd0Q5V3VVTEV2UEM5?=
 =?utf-8?B?eWU5cy9pNDc0clMzWCt2cXJLN25IZFVydjhLcFFpc1NVOENWMGp2UE9HMzdu?=
 =?utf-8?B?V2dUSVVLNkZtcisyeDN3Mmw4dnJtQyt0WlBORDkwaXJwTEJodnpCU3hCdXR4?=
 =?utf-8?B?cWtUYlpDQWRta0N4c2FWRkJwS3A2eExkMVJ4L3kxUUlUWC9qRVVRUGlIMDFs?=
 =?utf-8?B?d2FsdkF6b3VSeE5TZEZnVUovQXVKNW02U25iNUdVTXpXTnpDSElkUjdGOTJK?=
 =?utf-8?B?Nmw3UHR6RmhRQnRMSU5pbmVQMzlzRWRxb3BTMVdrWlByVXlNMEVTMUFHQVEy?=
 =?utf-8?B?SzllK1hRYS9JQkFWVGFSdjg4L1paR0NPZUY2ZUk5Ky9sYTNTV1dWVTI3dFBW?=
 =?utf-8?B?UWxPK3ZJc0JaN0c0c0pzNmVic3gydU9COGg4c1F4YThtdmpacjhNV3FWUFZK?=
 =?utf-8?B?R1dYMGRFRkM3ZmdIbU1TQnZMaGVzSVV5MWExb0NqUHpxV2M1TkhXWHo3eGd2?=
 =?utf-8?B?VUNvSlg0RTNwdzlGc2dPVkplRzYxUHY0UGd4N1hIeTJhMzlybzJ2ajN0NkNm?=
 =?utf-8?B?QnBHL0U3WEpHdGN3VGVJRG5tY1BxNForbkdqWjROdnpqc3VBMHNMUnRQR3pp?=
 =?utf-8?B?L3gxT2NOMXBHaEdGU1Y3NjVoYmU4MUE1SEJiOXZXQm9BSUVMdkUxanlQVFg3?=
 =?utf-8?B?WXRoWHZDdVFMUzQ3K1E0c001SjJwS1NWbzhJRUd0YmRVdTBjTDVYbDVHTnRq?=
 =?utf-8?B?eWNLNzV6NDhrUlpCSlFPdHI4alNGVW9qYjZ2NWZHM2hUMXd6cVRCeG9aOStP?=
 =?utf-8?B?WXl4T0orS0Z1OUNGUk1Od3loaktrYzNhbE1DRDVJL2U2S29FclJVUkhGRjBh?=
 =?utf-8?B?THpBSk5NU20xTEpsSUR5M0JJZlZMMzZ5dzlmYTVXQ005TjhGSm5NSjdFdWFu?=
 =?utf-8?B?anhjQlFwQU5qbEJVNnBDWm1mRDZ2MHRjRDIxclprU0ZGSUVGaERUazMzY3pN?=
 =?utf-8?B?NjlWaEQzOVNTbllKZDBENWFqYlI3eXJsSXd5dWY0dDN2UFIyUmQzZVB5SEZn?=
 =?utf-8?B?TE80ZWM2QXJ6WTVDUTJDTzZKQmtuc3pXMWZNa3BoQjhpT2ZVZURPVGk5LzdW?=
 =?utf-8?B?a29KTi9WY1JVemhhd0k5dDZmdzF4akc3N21jWXlLTE9KSENyRHpBb3VaREgy?=
 =?utf-8?B?c3pRcWRuU1Ira1Z1KzNYR3p0b0xyUXZWMjFDbDZ2Qk95UjJKbW8wdHA2QXFD?=
 =?utf-8?B?dzlmMjluVXhHMXM4RWZubHkvd0xiYk1lUjJwU2lWV2JPVFpNTTJadXhWNDdp?=
 =?utf-8?B?ald5QXZFeCs1MGJQTDN3RGwwSFNOcmR3aUsxQmxCUkVqU09UVEVNN05Ba1Fi?=
 =?utf-8?B?a05rNjBpcjI1RG9IQXFBeWtVVmRWS3EzdEtXNHBCM3BDZU9TeDV0S25zTDFv?=
 =?utf-8?B?ZTJBOXZMMkttQmpkalNwbkhabW81VVNabU1LcnQ3QU9LT0hZNXA3aTdSUFVj?=
 =?utf-8?B?UWZaaEVyc2NxdDFYQlJJUXkvenJ3Rng3bGlRRkFTaUFTS0xodUxCM0V5cnFP?=
 =?utf-8?B?RG1SUGNYT01PenNRRGpJOXFWanJsSjh2TXFPY2ZUTmNaTkFpYzE2bWhqYUlR?=
 =?utf-8?B?NzloaVFRZkgySm1LVlFKcmw2R1djQWJ4cWU2VkcwS3NHT1BoQ3BkTUQwK3lt?=
 =?utf-8?Q?LYNSgCgRRszdAIwqkt/8vVrWXkbXTVkR2hg89v7?=
X-MS-Exchange-CrossTenant-Network-Message-Id: b40e1054-9399-4c8d-5297-08d9616a4140
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 10:32:03.9897
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 8/F2ZQOjVWPqDQqboEk3ZZhtfE4C6mGUovEo/o557d1cBxxPJ1Kka1sGkxoZpt1gqitdgMmTv0voPbCdNCiprF6ETgCFRQsYXOO3vbO5g8E=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5837
X-OriginatorOrg: citrix.com

On 17/08/2021 10:10, Jan Beulich wrote:
> On 12.08.2021 19:03, Andrew Cooper wrote:
>> I'm not a massive fan of the large ifdef area.  The logic could be rearranged
>> to use IS_ENABLED(CONFIG_XEN_SHSTK) by indenting most of the function, but I
>> can't see any way to drop the goto's, and this is certainly the least-invasive
>> diff.
> So perhaps the build failure I've just run into (also apparently spotted
> by osstest) suggests to actually do so? The alternative would seem to be
> to widen the #ifdef in get_shstk_bottom() to cover the function as a
> whole ...

Let me see how the options look...

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 10:38:37 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 10:38:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167733.306204 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFwUK-0007ie-9y; Tue, 17 Aug 2021 10:38:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167733.306204; Tue, 17 Aug 2021 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 1mFwUK-0007iX-6v; Tue, 17 Aug 2021 10:38:32 +0000
Received: by outflank-mailman (input) for mailman id 167733;
 Tue, 17 Aug 2021 10:38:31 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HpXX=NI=arm.com=Rahul.Singh@srs-us1.protection.inumbo.net>)
 id 1mFwUJ-0007iR-2z
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 10:38:31 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com (unknown
 [40.107.20.42]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id dbba4165-b484-4609-8c5a-ad36b18c53d1;
 Tue, 17 Aug 2021 10:38:28 +0000 (UTC)
Received: from AM6P193CA0130.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:85::35)
 by HE1PR0801MB1945.eurprd08.prod.outlook.com (2603:10a6:3:4f::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.21; Tue, 17 Aug
 2021 10:38:26 +0000
Received: from AM5EUR03FT018.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:85:cafe::54) by AM6P193CA0130.outlook.office365.com
 (2603:10a6:209:85::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Tue, 17 Aug 2021 10:38:26 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT018.mail.protection.outlook.com (10.152.16.114) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Tue, 17 Aug 2021 10:38:25 +0000
Received: ("Tessian outbound 8b41f5fb4e9e:v103");
 Tue, 17 Aug 2021 10:38:25 +0000
Received: from e207c82e2d23.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 5806366B-013A-4DE0-93AA-991BADCF4F3C.1; 
 Tue, 17 Aug 2021 10:38:18 +0000
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e207c82e2d23.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 17 Aug 2021 10:38:18 +0000
Received: from AS8PR08MB6919.eurprd08.prod.outlook.com (2603:10a6:20b:39e::10)
 by AS8PR08MB6405.eurprd08.prod.outlook.com (2603:10a6:20b:332::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Tue, 17 Aug
 2021 10:38:18 +0000
Received: from AS8PR08MB6919.eurprd08.prod.outlook.com
 ([fe80::6c11:19f8:1422:5dea]) by AS8PR08MB6919.eurprd08.prod.outlook.com
 ([fe80::6c11:19f8:1422:5dea%3]) with mapi id 15.20.4415.024; Tue, 17 Aug 2021
 10: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: dbba4165-b484-4609-8c5a-ad36b18c53d1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/7F8gfvnwmUxiQcItD5/pScr+v8xAjhIUmd/k4Jkob8=;
 b=RRV35ovrnhj8oHLSOMB5j2+eBFTpi9m9zttSltFL3nBlLebUNOaxvkjPpzkFqi0steZ6dwIcJ9aU17tKAB55vuVpI95i07mPhr79oFtXXjbOcKDvex+mRZfNsHmv7l8+ru63VmO9ptaxCtfztrZSJRtToMtObidSTyN/OWJ6j/g=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 0fed3ba36e3ec27a
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jkRD1NOunQ0FzBF/krbvAPtwibm20s/u4Tj8/wBRk/iG+CQiq8ZkAm6VjyQf769/enofJezadO379dBpRTJM1LWIdW+2LDlsccg2161TJnWEpPnWsbIbwwBy2AU2kBjth8iKiFhTaR9lQEYfBqQuQAq7tGI4U2yX14bw3emuKUP1z0Wpi/jkKH9E4L3Dx9/4i1BIgfQjA3aIElP1Qabm80sWNm5BIQ06zKOIOyCdQ8CsFpbSAO4Mq2ul+ZhsLFMH2RL9pGrGZV0NNXYdoCQV75+LfNaJIwfy4ubgN6ok5FPngh/GiRghvbZORpXlZ7cymuxHNCXrL37ExPUftlaw6A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/7F8gfvnwmUxiQcItD5/pScr+v8xAjhIUmd/k4Jkob8=;
 b=hNJXHvLXXGDCnvodhrLbnilTTFoTuGb9Fet+iejaABNNBSi6rwhjRCDQwaSd0IPpvlHjC5d7ooKAZZ7fuOAHr9kcAAJeq+ZLAGEVBD31eWxN9UT8Ttdv9edmShfXPZpzf0BW2X24SZyi9h9kxPgMiV2nG62ZA32lHiLqt1E3d1NOzSx8KNnzEDv99ZBXKdTdW/q2XAH0El5iRH2UbtMqCq3apLzge05PMeHl21oYH45GcZOXZ+PS4a/AjcvJ7k8b+3J2G38u+SGPWl6xwJkQwJ8ugkAKFOa66+7UQb6MPN5YxWAgRah8NcJdOIxdHc1xHmvrD9DDXG2et4j0IjvN5Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/7F8gfvnwmUxiQcItD5/pScr+v8xAjhIUmd/k4Jkob8=;
 b=RRV35ovrnhj8oHLSOMB5j2+eBFTpi9m9zttSltFL3nBlLebUNOaxvkjPpzkFqi0steZ6dwIcJ9aU17tKAB55vuVpI95i07mPhr79oFtXXjbOcKDvex+mRZfNsHmv7l8+ru63VmO9ptaxCtfztrZSJRtToMtObidSTyN/OWJ6j/g=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Oleksandr Andrushchenko <andr2000@gmail.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, xen-devel
	<xen-devel@lists.xenproject.org>, Oleksandr Andrushchenko
	<oleksandr_andrushchenko@epam.com>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>
Subject: Re: [PATCH] xen/arm: smmu: Set/clear IOMMU domain for device
Thread-Topic: [PATCH] xen/arm: smmu: Set/clear IOMMU domain for device
Thread-Index: AQHXjrFrTVH+aiOPq0+hBS5mdWMgaKt3ipeA
Date: Tue, 17 Aug 2021 10:38:17 +0000
Message-ID: <12925B66-1446-4AC0-BC8D-A47581D08234@arm.com>
References: <20210811130356.1143743-1-andr2000@gmail.com>
In-Reply-To: <20210811130356.1143743-1-andr2000@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: gmail.com; dkim=none (message not signed)
 header.d=none;gmail.com; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 115363e0-8d14-42d9-5cbb-08d9616b2508
x-ms-traffictypediagnostic: AS8PR08MB6405:|HE1PR0801MB1945:
X-Microsoft-Antispam-PRVS:
	<HE1PR0801MB194537E5856C98E009B88B92FCFE9@HE1PR0801MB1945.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:4714;OLM:4714;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 4WV3GTtg4eZft9vabiRtazCvVa1LtouAkTvZD0aduj/ob+dMp2Rr9gcqGKLYI3qUgYJLnt6U6ZQa6b/NtX3uIc5L/kqbttPltFFm6yvQtqqVbCaR6USe60/NVkYKFghHv1O9tc650HFK9coqDsX0/S7GsP+CZBQprIsg92ojllDqvEVORq/Uc2JDWHLDMvIGiunpEwMcvpCEczpMUXTmXlhNSnUQSAz0nNLWDAPbYH7+YKwCBim7a9cn0WxBKAqu/Mceg2f/2eS81sMIPMmlh5xzPjM7ZhTh/iswEmNJIELKinQ+yZuV5E2Ify9v/uXfrPSoc+UVvvFk5O5qvIs/xaTFvVlIBIQc4yt83FNf7RnUFJg3zjUPfzcT1QGinn2bThlCHVMECsoEqTvoZwmcYh7G5j0rmG/3eIQkAdMDF09KLKhuEgMYt/+eQ8DKuKYCb1ffTv2+c2Py4Q+hNpc7LbyTYSR7/NglDv5oYHqaiZMTHbyFqrBfzrWH0pnFmCe8jQoKjwTIKnDocBrZW6lKyCY7AOBFxux3MUj5Yu1rVD3ePdkG8Zh438y7+OMaywpFdesx3NoKJQ38lYw2KO5UnKTKndoH/1UipPYwzDihblbnyrQGT49xStRptIMoLBqhVvItXU4zfdjE8jlN0w/D5q0y+/lloOkoVgAUkOXNTDb1HSsNPAmGieOz5fZvhDVN7NKqawWJm6LTDlfkQ1lsnGYxM4M6l91u6G2Ja/85igJ2r2diznfWGO/Z46d1ZDxV
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB6919.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(366004)(376002)(346002)(39860400002)(136003)(2616005)(86362001)(83380400001)(26005)(4744005)(6916009)(186003)(478600001)(5660300002)(2906002)(38100700002)(76116006)(4326008)(71200400001)(122000001)(91956017)(8676002)(36756003)(66946007)(6486002)(33656002)(64756008)(66446008)(66476007)(66556008)(53546011)(8936002)(6506007)(6512007)(54906003)(316002)(38070700005)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?1fNu2T34FeFWN6yZBLEjAlmpiXBadxILcYl2GuGJ7cpl7nVw7K4ZE3VplKm9?=
 =?us-ascii?Q?qWGN5mW1LMyEgJcOqkbM3VWwL/YYjc8s8bJRp5OaMhr47qksJjyEvfdiVXv6?=
 =?us-ascii?Q?HKA2UAo/ovhyjzRjEfftWoiNYYnIx2lfBVkUHkokcjNGTe3KoCiUjgdSqxEi?=
 =?us-ascii?Q?LlTAYAJwuKAMSw9gISXax4IwjhWega6meXdp0nTcZfahiBjTSh/lte6UXYPE?=
 =?us-ascii?Q?vXcC/naPv1HCcGBzGGYgl3R5Mgc6tOOXmx4HYhpyVsSBDLH3JRueCMpGRkX+?=
 =?us-ascii?Q?S4L8vqpgKpuXbWQOEFNmstsYqGSlbkdgoHUFtnren3CcOW142WwhhxUdk6Wv?=
 =?us-ascii?Q?8fSn+WjU+JWzqp4UBZxxLjRrkebCtthzXFFaXbEVOw9+4xVdhkM0AOStZEBY?=
 =?us-ascii?Q?i0vMh9yrq+/QcD6R6/bhY+0+7BQf7sM80eJ+6IdDJkFRb6zsrTFvD2350TFH?=
 =?us-ascii?Q?Udg6h9yX/Ku8tLJ/kyh2lGJipqQTvekgxNCJy2xiSELHh1xQrRhL5pC2/Hqw?=
 =?us-ascii?Q?/aCmiyeb3HeYD0gIZAcALmAFk4hcw6wZYKww1QVr063CjJZENq+ZimQQsNJ/?=
 =?us-ascii?Q?kr5MOjCPCJ/+ganZVzIwR4nRsgc+xj1SvI9sJAOiZz671fvgr2CVvEQAbhRm?=
 =?us-ascii?Q?mudr8n30SBlxlgOp4MJmdQPYLSz3YOsO/T3DUy9QlCDft34228AHm7/PJ/gD?=
 =?us-ascii?Q?MSi4gMK8C+H3LyprXJcCag5MO5zaeD5ovE1VDdbFfJah9u4e0Twd31wJYk1X?=
 =?us-ascii?Q?lMCxLLGD7NrD/5pwF6QkAEbalJkBb57HCMb5BuzUVJ9QZSzvhNhOfMlAa/vS?=
 =?us-ascii?Q?JYzBV62/4h3wsKdreTTKXVqn1DQHg0yIv2XQs2o7E0nClXg2qyGK72CQjZwl?=
 =?us-ascii?Q?dcpFWe4gLNY2sO7XGsOfwn6HslPhoRT6k3QJJimH+0jcoZcPdIBtwF8qUErI?=
 =?us-ascii?Q?9Zncr2wqFYI03t4jc/VJywQLsY9GkYeHVBQ981aDRpe19m6eFvZrd7N4AIpR?=
 =?us-ascii?Q?SpPad8uZQfa8/Nho+2XFc8lgX3nBK+ms0cuS4w0Ef6huXI+fu34JY6gjR/2E?=
 =?us-ascii?Q?46h4PygTr+z+jJHz5B/p9frBXP4UoTblgY3cMQ2YciAFydjCYBjAFdK+x11n?=
 =?us-ascii?Q?CcLoC1MwMk+bTUhfocoIzgsXIwdxsfR2fiotInyFuEDN95Z/SaGw3WBqV6RW?=
 =?us-ascii?Q?cf5OlTtvwjtTBAqkoBz5/N2PgOqxR+QLS5uD/Traw7NaHGa8v3e/PaQSO9tF?=
 =?us-ascii?Q?hHUpZqgluAYIvcEo8U/nc+1/v15lqLkB98tvQFeBCWGJmwWjywtVRuG6d9N1?=
 =?us-ascii?Q?1Ge/YgQx+/v2PNmN2nYPCTrA?=
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="us-ascii"
Content-ID: <2507BD3F5E280242851910C7A0FACAAC@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6405
Original-Authentication-Results: gmail.com; dkim=none (message not signed)
 header.d=none;gmail.com; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT018.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	ecd780a5-d4ee-4fc8-209b-08d9616b203e
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	pjW2J5a2UZ79BQUuA4AZnzVNu8knSTgOlNoo9os4cUlmjlHwbVfzIRjl+CTt5za8JH43Z6Ub9VN0yZ4Ja73BSE4m5N5wVMoNqsKhGUR28mFwhu5KmFu1siwdePwmRRnN3FpDHK7ZlxBE/gDiZHCS08RF8aRRY8/NobC1DjFMBXkV2zu5oM5mw+eeIH10M0BL533y2ZKIj41SFQTYbIlMbHsgAf8XN+ydRCnt8F+/DfgoSX5JgbD/QPjvewal21W2zxRLs5UmQvckRP3QW2B2eRjbTOS5bPnpDya8Y2OxDdqFQGfNM4Ffek7d9VkQJyLfrwOMOYbVy2c1M7YykpqCnYgcBV7E72Oz6+vrfRwpXZZa4z7XrgUd/BjduTGGzOSwhq6DJScOhsPItpVlPNi6Ycr3L1Zb20zd/6uqpSiwlDsNffoBKKS2fZYDiuMpkkt5AZ1hB+7EpGs9IdQ+wohY0WSPUSDvUBF3rXv+eNRubV4EdWRhhUz9yiDSZOQQQPFHiTzTtJkYJRV0z/DI8pyWFEunWalY2v29WwLqfo6XNRmb9slwVoiSYeQf3yDc4TgH8iT5qPqczYBB+zouNxVLdQIiM2zj8VqTKkhTAQU3OByq3hrTWUm06BH5m39r8CwiSHmpgXoG5sRqYK6pU8p0fxO1AoPEFS6zIsSXrD8tVJk3hk1q9q/Q0STHPMpx/vzh8A+SHTvDLM5fh9DxL9c9cA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(376002)(346002)(396003)(39850400004)(136003)(46966006)(36840700001)(316002)(5660300002)(6512007)(6486002)(4744005)(54906003)(70586007)(478600001)(33656002)(70206006)(83380400001)(81166007)(36860700001)(356005)(82740400003)(8936002)(8676002)(53546011)(2616005)(4326008)(36756003)(6862004)(107886003)(47076005)(86362001)(336012)(26005)(186003)(6506007)(2906002)(82310400003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 10:38:25.9716
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 115363e0-8d14-42d9-5cbb-08d9616b2508
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT018.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB1945

Hi Oleksandr,

> On 11 Aug 2021, at 2:03 pm, Oleksandr Andrushchenko <andr2000@gmail.com> =
wrote:
>=20
> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
>=20
> When a device is assigned/de-assigned it is required to properly set
> IOMMU domain used to protect the device. This assignment was missing,
> thus it was not possible to de-assign the device:
>=20
> (XEN) Deassigning device 0000:03:00.0 from dom2
> (XEN) smmu: 0000:03:00.0:  not attached to domain 2
> (XEN) d2: deassign (0000:03:00.0) failed (-3)
>=20
> Fix this by assigning IOMMU domain on arm_smmu_assign_dev and reset it
> to NULL on arm_smmu_deassign_dev.
>=20
> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

Reviewed-by: Rahul Singh <rahul.singh@arm.com>

Regards,
Rahul=


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 10:57:26 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 10:57:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167739.306215 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFwmP-0001aV-V5; Tue, 17 Aug 2021 10:57:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167739.306215; Tue, 17 Aug 2021 10:57: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 1mFwmP-0001aO-RJ; Tue, 17 Aug 2021 10:57:13 +0000
Received: by outflank-mailman (input) for mailman id 167739;
 Tue, 17 Aug 2021 10:57:12 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cSHW=NI=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mFwmO-0001aF-Gk
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 10:57:12 +0000
Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 8aaaa1cb-87a4-4300-a9a5-74ca4ce58918;
 Tue, 17 Aug 2021 10: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: 8aaaa1cb-87a4-4300-a9a5-74ca4ce58918
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629197831;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=BQ8nKRxYnOzuCTUS7vy1EeCr+2lKdChvZDrdJcoBwPw=;
  b=DaTZ3NZ/CJSmXzXMpdPP5yra7BLhrryPZzP4dSSqyk2OI7DBFMuCD9LK
   YwpFF9FSX09OExgXW3VotPSTC0hu6Lxe/wT9U9741P8Q+1lLYsgEh0Q0b
   g9oSNbfCRCwWbYfdP9Evdf9onGYvC68TSxIBbuPe3jyf6Z3x6bq2axaRM
   M=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: TINP3stfJaLZdlWN14ok0l2oywxkiexrxPmaQ1CAsf4w6cZ2pRHSqo2qJvBnxwv4Bl2SL24SB+
 djaZC71p12JECvCUdTy4LOLXgk6iecpQtu+1Gcv/rE0F/cfEiMbGUVUN7rJrDzsaXxVB+JB0i7
 4huD9JF2ACkc0yvE/Q8mwezr+Dg1Doirjsne16VStYKZDhgK+o+Eb+YZ8UR1Si0yKYna6iBM3d
 nfQazJxV6lCpnI1OTvwia9AtoUnoLlyQkcGZEwEHgFl5XcWxlMufaaxo0OCKSK+dqy0fiUiS/G
 FkJaR87R3IbvjQb/VZhlrbp0
X-SBRS: 5.1
X-MesageID: 50623342
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:5U8xnKqHwvRCqJiHtNiDOhgaV5oneYIsimQD101hICG8cqSj+f
 xG+85rsiMc6QxhPE3I9urhBEDtex/hHP1OkOws1NWZLWrbUQKTRekIh+bfKlXbakvDH4VmtJ
 uIHZIQNDSJNykZsfrH
X-IronPort-AV: E=Sophos;i="5.84,328,1620705600"; 
   d="scan'208";a="50623342"
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>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?=
	<marmarek@invisiblethingslab.com>
Subject: [PATCH] x86/cet: Fix build on newer versions of GCC
Date: Tue, 17 Aug 2021 11:56:56 +0100
Message-ID: <20210817105656.19683-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Some versions of GCC complain with:

  traps.c:405:22: error: 'get_shstk_bottom' defined but not used [-Werror=unused-function]
   static unsigned long get_shstk_bottom(unsigned long sp)
                        ^~~~~~~~~~~~~~~~
  cc1: all warnings being treated as errors

Change #ifdef to if ( IS_ENABLED(...) ) to make the sole user of
get_shstk_bottom() visible to the compiler.

Fixes: 35727551c070 ("x86/cet: Fix shskt manipulation error with BUGFRAME_{warn,run_fn}")
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: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

Not actually tested.  I don't seem to have a new enough GCC to hand.

Most of the delta here is indentation.  This diff is more easily reviewed with
`git show --ignore-all-space`
---
 xen/arch/x86/traps.c | 83 ++++++++++++++++++++++++++--------------------------
 1 file changed, 42 insertions(+), 41 deletions(-)

diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index 30eefbad4863..4a0e498b4c21 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -780,55 +780,56 @@ static void do_reserved_trap(struct cpu_user_regs *regs)
 static void fixup_exception_return(struct cpu_user_regs *regs,
                                    unsigned long fixup)
 {
-#ifdef CONFIG_XEN_SHSTK
-    unsigned long ssp, *ptr, *base;
+    if ( IS_ENABLED(CONFIG_XEN_SHSTK) )
+    {
+        unsigned long ssp, *ptr, *base;
 
-    asm ( "rdsspq %0" : "=r" (ssp) : "0" (1) );
-    if ( ssp == 1 )
-        goto shstk_done;
+        asm ( "rdsspq %0" : "=r" (ssp) : "0" (1) );
+        if ( ssp == 1 )
+            goto shstk_done;
 
-    ptr = _p(ssp);
-    base = _p(get_shstk_bottom(ssp));
+        ptr = _p(ssp);
+        base = _p(get_shstk_bottom(ssp));
 
-    for ( ; ptr < base; ++ptr )
-    {
-        /*
-         * Search for %rip.  The shstk currently looks like this:
-         *
-         *   ...  [Likely pointed to by SSP]
-         *   %cs  [== regs->cs]
-         *   %rip [== regs->rip]
-         *   SSP  [Likely points to 3 slots higher, above %cs]
-         *   ...  [call tree to this function, likely 2/3 slots]
-         *
-         * and we want to overwrite %rip with fixup.  There are two
-         * complications:
-         *   1) We cant depend on SSP values, because they won't differ by 3
-         *      slots if the exception is taken on an IST stack.
-         *   2) There are synthetic (unrealistic but not impossible) scenarios
-         *      where %rip can end up in the call tree to this function, so we
-         *      can't check against regs->rip alone.
-         *
-         * Check for both regs->rip and regs->cs matching.
-         */
-        if ( ptr[0] == regs->rip && ptr[1] == regs->cs )
+        for ( ; ptr < base; ++ptr )
         {
-            asm ( "wrssq %[fix], %[stk]"
-                  : [stk] "=m" (ptr[0])
-                  : [fix] "r" (fixup) );
-            goto shstk_done;
+            /*
+             * Search for %rip.  The shstk currently looks like this:
+             *
+             *   ...  [Likely pointed to by SSP]
+             *   %cs  [== regs->cs]
+             *   %rip [== regs->rip]
+             *   SSP  [Likely points to 3 slots higher, above %cs]
+             *   ...  [call tree to this function, likely 2/3 slots]
+             *
+             * and we want to overwrite %rip with fixup.  There are two
+             * complications:
+             *   1) We cant depend on SSP values, because they won't differ by
+             *      3 slots if the exception is taken on an IST stack.
+             *   2) There are synthetic (unrealistic but not impossible)
+             *      scenarios where %rip can end up in the call tree to this
+             *      function, so we can't check against regs->rip alone.
+             *
+             * Check for both regs->rip and regs->cs matching.
+             */
+            if ( ptr[0] == regs->rip && ptr[1] == regs->cs )
+            {
+                asm ( "wrssq %[fix], %[stk]"
+                      : [stk] "=m" (ptr[0])
+                      : [fix] "r" (fixup) );
+                goto shstk_done;
+            }
         }
-    }
 
-    /*
-     * We failed to locate and fix up the shadow IRET frame.  This could be
-     * due to shadow stack corruption, or bad logic above.  We cannot continue
-     * executing the interrupted context.
-     */
-    BUG();
+        /*
+         * We failed to locate and fix up the shadow IRET frame.  This could
+         * be due to shadow stack corruption, or bad logic above.  We cannot
+         * continue executing the interrupted context.
+         */
+        BUG();
 
+    }
  shstk_done:
-#endif /* CONFIG_XEN_SHSTK */
 
     /* Fixup the regular stack. */
     regs->rip = fixup;
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Tue Aug 17 11:02:26 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 11:02:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167746.306227 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFwrO-00035d-KX; Tue, 17 Aug 2021 11:02:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167746.306227; Tue, 17 Aug 2021 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 1mFwrO-00035W-HI; Tue, 17 Aug 2021 11:02:22 +0000
Received: by outflank-mailman (input) for mailman id 167746;
 Tue, 17 Aug 2021 11:02:20 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lICV=NI=invisiblethingslab.com=marmarek@srs-us1.protection.inumbo.net>)
 id 1mFwrM-00035Q-GE
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 11:02:20 +0000
Received: from wout3-smtp.messagingengine.com (unknown [64.147.123.19])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 1c2f2cb1-78f4-48f7-8422-4884d5078f9d;
 Tue, 17 Aug 2021 11:02:19 +0000 (UTC)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.42])
 by mailout.west.internal (Postfix) with ESMTP id 08EA13200930
 for <xen-devel@lists.xenproject.org>; Tue, 17 Aug 2021 07:02:17 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute2.internal (MEProxy); Tue, 17 Aug 2021 07:02:18 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA for
 <xen-devel@lists.xenproject.org>; Tue, 17 Aug 2021 07:02: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: 1c2f2cb1-78f4-48f7-8422-4884d5078f9d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=lpCcBW
	F47A6C2ntCKIp4ebZ7k18+r4LTKGk1FeDdPtk=; b=SN/mJeeMoGrm7la01aNg3q
	L0qIht6l5TsJZB5VbjWWLLmO/5AYVyGhEvrE19D6oEVxXdeKwul2pyZnZ0TB/435
	1PcKCmmPHQvswqyh5hQ0zR1PfLt8XIPLhn4sksuXLHEasrKv+1J8WiTY0JNDlxup
	cByLb/wvfjW7Ke0rBDpcFFETE7dw7IM4fy2xHpJqKdfDL8eSwpoBfkQxGy4pAcD3
	9P14l+P/lEAVv1q4rYIARfjp83cPbINptmyuIur7NLRJZfzcb2QUlRy6YGHKCGOR
	LRwBtorGPCU4C6FfAk+h1rXHiSpanZ4q5GgzpNUy4yOnxwLdHXTbQ76vo/tRXxIw
	==
X-ME-Sender: <xms:OZcbYb2iP4YbYEJ_91iuSsd_Bb2efonTLktZ21aSK797AmAmudQLaQ>
    <xme:OZcbYaE0gIk6kvepgPSrikyHgAQ5li9o0daRJoKoRZkzPyqZ5hBt6RTtiQGDfkXNj
    P_H_ISUxbWOzQ>
X-ME-Received: <xmr:OZcbYb5mq9ThCugewI5zaBNhnSzqQtB9tRqOFLqNA_Z7wSWWe9CTwTFCGLGuSoGLt0ECsBIhAJJlvLOn0u9PKE2qG0jiobpv>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrleefgdefiecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecunecujfgurhepfffhvffukfhfgggtuggjsehgtderre
    dttdejnecuhfhrohhmpeforghrvghkucforghrtgiihihkohifshhkihdqifpkrhgvtghk
    ihcuoehmrghrmhgrrhgvkhesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqe
    enucggtffrrghtthgvrhhnpeetveffiefghfekhffggeeffffhgeevieektedthfehveei
    heeiiedtudegfeetffenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrih
    hlfhhrohhmpehmrghrmhgrrhgvkhesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgt
    ohhm
X-ME-Proxy: <xmx:OZcbYQ3fVEsrYam_KD1dcPSS1Q3JvDkg3Kw8RIEUvtV7l36lpDXV0g>
    <xmx:OZcbYeFqyHX1WDBJOGK8L9lYwOS1BYnzUthIIM2I-KjiU5dqbC5Odg>
    <xmx:OZcbYR9ErlxJHkcw2sI1VO_GbX7i3TSSdCR1bmh1rC2fWVOrpF4qbg>
    <xmx:OZcbYSTI6EgbKsTIuQyA-IZItQswgSTqJVvRUGV0ZOeUQ4Ga3Z4nvg>
Date: Tue, 17 Aug 2021 13:02:14 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: S3 resume issue in xstate_init
Message-ID: <YRuXNmpT+03aPo+p@mail-itl>
References: <YRsQArpQcpLB/Q5h@mail-itl>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="Jk7Tb4LxiLwD8e7q"
Content-Disposition: inline
In-Reply-To: <YRsQArpQcpLB/Q5h@mail-itl>


--Jk7Tb4LxiLwD8e7q
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 17 Aug 2021 13:02:14 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: S3 resume issue in xstate_init

On Tue, Aug 17, 2021 at 03:25:21AM +0200, Marek Marczykowski-G=C3=B3recki w=
rote:
> Hi,
>=20
> I've got another S3 issue:
>=20
> (XEN) Preparing system for ACPI S3 state.
> (XEN) Disabling non-boot CPUs ...
> (XEN) Broke affinity for IRQ1, new: ffff
> (XEN) Broke affinity for IRQ16, new: ffff
> (XEN) Broke affinity for IRQ9, new: ffff
> (XEN) Broke affinity for IRQ139, new: ffff
> (XEN) Broke affinity for IRQ8, new: ffff
> (XEN) Broke affinity for IRQ14, new: ffff
> (XEN) Broke affinity for IRQ20, new: ffff
> (XEN) Broke affinity for IRQ137, new: ffff
> (XEN) Broke affinity for IRQ138, new: ffff
> (XEN) Entering ACPI S3 state.
> (XEN) mce_intel.c:773: MCA Capability: firstbank 0, extended MCE MSR 0, B=
CAST, CMCI
> (XEN) CPU0 CMCI LVT vector (0xf1) already installed
> (XEN) Finishing wakeup from ACPI S3 state.
> (XEN) microcode: CPU0 updated from revision 0xca to 0xea, date =3D 2021-0=
1-05
> (XEN) xstate: size: 0x440 (uncompressed 0x440) and states: 0x1f
> (XEN) Enabling non-boot CPUs  ...
> (XEN) xstate: size: 0x440 (uncompressed 0x240) and states: 0x1f
> (XEN) Xen BUG at xstate.c:673
> (XEN) ----[ Xen-4.16-unstable  x86_64  debug=3Dy  Not tainted ]----
> (XEN) CPU:    1
> (XEN) RIP:    e008:[<ffff82d040350ee4>] xstate_init+0x24b/0x2ff
> (XEN) RFLAGS: 0000000000010087   CONTEXT: hypervisor
> (XEN) rax: 0000000000000240   rbx: 000000000000001f   rcx: 00000000000004=
40
> (XEN) rdx: 0000000000000001   rsi: 000000000000000a   rdi: 00000000000000=
1f
> (XEN) rbp: ffff83025dc9fd38   rsp: ffff83025dc9fd20   r8:  00000000000000=
01
> (XEN) r9:  ffff83025dc9fc88   r10: 0000000000000001   r11: 00000000000000=
01
> (XEN) r12: ffff83025dc9fd80   r13: 000000000000001f   r14: 00000000000000=
01
> (XEN) r15: 0000000000000000   cr0: 000000008005003b   cr4: 00000000003526=
e0
> (XEN) cr3: 0000000049656000   cr2: 0000000000000000
> (XEN) fsb: 0000000000000000   gsb: 0000000000000000   gss: 00000000000000=
00
> (XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: 0000   cs: e008
> (XEN) Xen code around <ffff82d040350ee4> (xstate_init+0x24b/0x2ff):
> (XEN)  ff e9 a2 00 00 00 0f 0b <0f> 0b 89 f8 89 f1 0f a2 89 f2 4c 8b 0d c=
b b4 0f
> (XEN) Xen stack trace from rsp=3Dffff83025dc9fd20:
> (XEN)    0000000000000240 ffff83025dc9fd80 0000000000000001 ffff83025dc9f=
d70
> (XEN)    ffff82d04027e7a1 000000004035a7f1 7ffafbbf01100800 00000000bfebf=
bff
> (XEN)    0000000000000001 00000000000000c8 ffff83025dc9feb8 ffff82d0402e4=
3ce
> (XEN)    000000160a9e0106 bfebfbff80000008 2c1008007ffaf3bf 0000000f00000=
121
> (XEN)    00000000029c6fbf 0000000000000100 000000009c002e00 02afcd7f00000=
000
> (XEN)    756e654700000000 6c65746e49656e69 65746e4904b21920 726f432029522=
86c
> (XEN)    376920294d542865 432048303537382d 322e322040205550 000000007a484=
730
> (XEN)    ffff830000000000 ffff83025dc9fe18 00002400402e8e0b 000000085dc9f=
e30
> (XEN)    00000002402e9f21 0000000000000001 ffffffff00000000 ffff82d0402e0=
040
> (XEN)    00000000003526e0 ffff83025dc9fe68 ffff82d04027bd15 0000000000000=
001
> (XEN)    ffff8302590a0000 0000000000000000 00000000000000c8 0000000000000=
001
> (XEN)    0000000000000001 ffff83025dc9feb8 ffff82d0402e32b7 0000000000000=
001
> (XEN)    0000000000000001 00000000000000c8 0000000000000001 ffff83025dc9f=
ee8
> (XEN)    ffff82d04030e401 0000000000000001 0000000000000000 0000000000000=
000
> (XEN)    0000000000000000 0000000000000000 ffff82d040200122 0800002000000=
002
> (XEN)    0100000400010000 0000002000000000 2000000000100000 0000001000000=
000
> (XEN)    2000000000000000 0000000029000000 0000008000000000 00110000a0000=
000
> (XEN)    8000000080000000 4000000000000008 0000100000000000 0200000040000=
080
> (XEN)    0004000000000000 0000010000000002 0400002030000000 0000000060000=
000
> (XEN)    0400001000010000 0000000010000000 0000004010000000 0000000000000=
000
> (XEN) Xen call trace:
> (XEN)    [<ffff82d040350ee4>] R xstate_init+0x24b/0x2ff
> (XEN)    [<ffff82d04027e7a1>] F identify_cpu+0x318/0x4af
> (XEN)    [<ffff82d0402e43ce>] F recheck_cpu_features+0x1f/0x72
> (XEN)    [<ffff82d04030e401>] F start_secondary+0x255/0x38a
> (XEN)    [<ffff82d040200122>] F __high_start+0x82/0x91
> (XEN)=20
> (XEN)=20
> (XEN) ****************************************
> (XEN) Panic on CPU 1:
> (XEN) Xen BUG at xstate.c:673
> (XEN) ****************************************
> (XEN)=20
> (XEN) Reboot in five seconds...
>=20
> This is with added debug patch:
>=20
> diff --git a/xen/arch/x86/xstate.c b/xen/arch/x86/xstate.c
> index 6aaf9a2f1546..7873a21b356a 100644
> --- a/xen/arch/x86/xstate.c
> +++ b/xen/arch/x86/xstate.c
> @@ -668,6 +668,8 @@ void xstate_init(struct cpuinfo_x86 *c)
>      else
>      {
>          BUG_ON(xfeature_mask !=3D feature_mask);
> +        printk("xstate: size: %#x (uncompressed %#x) and states: %#"PRIx=
64"\n",
> +               xsave_cntxt_size, hw_uncompressed_size(feature_mask), fea=
ture_mask);
>          BUG_ON(xsave_cntxt_size !=3D hw_uncompressed_size(feature_mask));
>      }
> =20
>=20
> As can be seen above - the xsave size differs between BSP and other
> CPU(s) - likely because of (not) loaded ucode update there.
> I guess it's a matter of moving ucode loading somewhere else, right?


Few more data points:

1. The CPU is i7-8750H (family 6, model 158, stepping 10).
2. I do have "smt=3Doff" on the Xen cmdline, if that matters.

I've tried the same without letting Xen load the ucode update (so,
staying at 0xca) and got the same effect. So, I think it isn't about
ucode...

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--Jk7Tb4LxiLwD8e7q
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmEblzYACgkQ24/THMrX
1yzdxQgAjBnIQxUAaUGr+fhvrSRg52Y3TgJb/fHT/Md+P8m/mkVci8qdkxyZ6jT7
kdImDb5RNQq9Fka4le9zNvbGGf7Igv4ORbHBHkGg4oF+gDjj4Nnb6VlPZwSAkO36
yRS+kv35hZBvk6ha8wayx7TshAGLrAKgwT2bdqkV+yKLnrK6n7un9M+XC1bj6TFX
jG+WUnq/DK5Gy9j0zGABWGJphHSAm1AagtKxBvkvuTTzaTY/BFaCJkX1cHJrvjhj
9Z836baUFAv5wW5ZasAo54PyPEu+b8yQ5kXbuhfeF8peapz2vPi6CQzOzTm3h3CU
sdNuQMTOOx/s79ZTp1h7wGSnqCjiGw==
=EUOY
-----END PGP SIGNATURE-----

--Jk7Tb4LxiLwD8e7q--


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 11:14:26 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 11:14:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167751.306238 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFx2z-0004Y8-Ow; Tue, 17 Aug 2021 11:14:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167751.306238; Tue, 17 Aug 2021 11:14:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFx2z-0004Y1-Lj; Tue, 17 Aug 2021 11:14:21 +0000
Received: by outflank-mailman (input) for mailman id 167751;
 Tue, 17 Aug 2021 11:14:20 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lICV=NI=invisiblethingslab.com=marmarek@srs-us1.protection.inumbo.net>)
 id 1mFx2y-0004Xv-9Q
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 11:14:20 +0000
Received: from wout3-smtp.messagingengine.com (unknown [64.147.123.19])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 43cb693a-ff4c-11eb-a4a1-12813bfff9fa;
 Tue, 17 Aug 2021 11:14:18 +0000 (UTC)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailout.west.internal (Postfix) with ESMTP id 86AC43200A24;
 Tue, 17 Aug 2021 07:14:17 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute1.internal (MEProxy); Tue, 17 Aug 2021 07:14:17 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 17 Aug 2021 07:14: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: 43cb693a-ff4c-11eb-a4a1-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=Fh9jI5
	kNCYiP/4kuz+MIdunlEx8uZjKvXfnRxZ3uVK4=; b=Ctbw7Lw5p2k/CGFI+XJtIl
	7TqtPE+x7EF667uc4UU3/NCkVP8F7Vq646TP2y+pWw/5k+s3rsN3GordBEQ7bj9u
	TF9lxnyd0FHyuc+4xUTZAp4RTIubfGW6dMuYwkygV+FXCalWf7LVTvY90r/tl0jk
	mdKQkiHA5nOF6mwMgxWoblk50jK3Rk311Ir3xwhiKAKzQ8bPiWja4PEXk66Owv1d
	sldOTfm84BK3IzJobXUdvg/JKQGZqQZWS/Ot9QHoSodwl5ypAzOne1kyMpjtF6LI
	72ijemKYWYFEAqfaoDpnjfTh6Y6oHx2bKMpFBAzatt4xiA8IdRcRtu08cA+EFMPA
	==
X-ME-Sender: <xms:CJobYfiGaX-h3dpPMIZN7QLyHi66XD7BW-xxWYCXxvO-9fYwcP17yA>
    <xme:CJobYcBjx9NqKPWozKC8e4-hBkrqn7iAzaeYsmYIDIoT2JxnOceFBIMr1rzyXiNG1
    uv_nyB5XpkW1w>
X-ME-Received: <xmr:CJobYfFQ5LtBjxB8p5shYbU3TQ9WYoUwQIcfUw1dSWyf3h4qnmcvhxY9baeus9q_5vilFM9-lGf_RpvUZe8BnBeIvWlIvRG4>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrleefgdeflecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgvkhcu
    ofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinhhvih
    hsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepteevffei
    gffhkefhgfegfeffhfegveeikeettdfhheevieehieeitddugeefteffnecuvehluhhsth
    gvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehi
    nhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:CJobYcRo_gHpzkZT2Map41e5ZuYCeGSibT7hVwOhoECPzwQhoegsJQ>
    <xmx:CJobYcx3ZjTvNguBt3gd7dmH3wltbqfJRen-fOI2yK7vmXUe36j-vA>
    <xmx:CJobYS7mODh5r71DVspCpmXdcYyimmh7kwF_BGHvfSaNdDMuOn2GOA>
    <xmx:CZobYX8y5CZjnjkMaKRVkJw_a8_8C6HZMrtMizclPH9FLjf7d-z_Ew>
Date: Tue, 17 Aug 2021 13:14:12 +0200
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>,
	Jan Beulich <JBeulich@suse.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: Re: [PATCH] x86/cet: Fix build on newer versions of GCC
Message-ID: <YRuaBIc+bfErQnDy@mail-itl>
References: <20210817105656.19683-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="FSGOdMofWGZPD2al"
Content-Disposition: inline
In-Reply-To: <20210817105656.19683-1-andrew.cooper3@citrix.com>


--FSGOdMofWGZPD2al
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 17 Aug 2021 13:14:12 +0200
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>,
	Jan Beulich <JBeulich@suse.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: Re: [PATCH] x86/cet: Fix build on newer versions of GCC

On Tue, Aug 17, 2021 at 11:56:56AM +0100, Andrew Cooper wrote:
> Some versions of GCC complain with:
>=20
>   traps.c:405:22: error: 'get_shstk_bottom' defined but not used [-Werror=
=3Dunused-function]
>    static unsigned long get_shstk_bottom(unsigned long sp)
>                         ^~~~~~~~~~~~~~~~
>   cc1: all warnings being treated as errors
>=20
> Change #ifdef to if ( IS_ENABLED(...) ) to make the sole user of
> get_shstk_bottom() visible to the compiler.
>=20
> Fixes: 35727551c070 ("x86/cet: Fix shskt manipulation error with BUGFRAME=
_{warn,run_fn}")
> 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: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com>
>=20
> Not actually tested.  I don't seem to have a new enough GCC to hand.

I have just compile-tested it and it seems to fix the issue (indeed it
failed before with CONFIG_XEN_SHSTK disabled).

> Most of the delta here is indentation.  This diff is more easily reviewed=
 with
> `git show --ignore-all-space`

Wouldn't this make the compiler include the code even if
CONFIG_XEN_SHSTK is disabled (not a huge issue...)? Or is it smart
enough to optimize it out in that case?

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--FSGOdMofWGZPD2al
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmEbmgQACgkQ24/THMrX
1yxtjAf/UhYui49/iwiv8mpeP4KZgtwdRnjUE9Y3Wp0mjulgYn2JnqhgA6E1UhOF
ciV9QCKS5GzYEYpiijO9TZzwpJCYhrpbC0/4KnMQLLLl84PxNlivGzHUdWI19DbU
s9/eHONXbJTqPMKDx8miQ6wUy9Wj/80CqNGP1LlPhniQspzIpBXuuhV5/5HOourN
ln+Kz4Tq2yjoLa2gz3p7QUE3lh44tMj2SK7/f2jnN9Z6+sLviR9r4xcd3SjTRfx9
lwrZzDShZ2B+yFJK+moIRDgiYH/Lm+tbx0nyf11aZRRCqTbiIykwa59eVEcTEK7D
QfWfxgpFVpPtDhdPJ/Gw2Ohr3GUi9w==
=F4Kn
-----END PGP SIGNATURE-----

--FSGOdMofWGZPD2al--


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 11:14:49 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 11:14:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167754.306249 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFx3R-00052m-2p; Tue, 17 Aug 2021 11:14:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167754.306249; Tue, 17 Aug 2021 11: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 1mFx3Q-00052f-V3; Tue, 17 Aug 2021 11:14:48 +0000
Received: by outflank-mailman (input) for mailman id 167754;
 Tue, 17 Aug 2021 11:14:47 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cSHW=NI=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mFx3P-00052V-Ra
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 11:14:47 +0000
Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 5437b54e-ff4c-11eb-a4a1-12813bfff9fa;
 Tue, 17 Aug 2021 11:14: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: 5437b54e-ff4c-11eb-a4a1-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629198886;
  h=to:references:from:subject:message-id:date:in-reply-to:
   content-transfer-encoding:mime-version;
  bh=XTseuKYQdy/KukQnX6qf4nNsznt87wf7P8NH+sXAbzE=;
  b=W/ij4ZTvi2O8LSgYIexat5LUaewqEZnYidDPwz5OoQLlLUrKPFllNNuW
   FQJO1zCr8nokB8+1wiRB5+/BPUPHMuNbTJpLzBA9TaAynozGLQcFZKDx7
   3XAyPIZUhv15e9lc+Ymu+MvUvLKXnvbwW5VE2xIs4thfTHAabPCaGe8G8
   w=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: sftQxQiQN1nzwLvh2yssDaZQjwJyl6gJJLhPiIrq6qL7ESeN2ywCMnMCauoCI80BMPkRkJ7ySm
 F3JpeAC6y4urDxT/2UNNGcIMZgMfOdbN76dcPKb3Z35rk+slKYLPTl1LmSvyV4hEMJVgiFYfSn
 04Cool04nZsMRjDFV+C7rVG2/TAWHJWBfHUXyYGGtstqu6/pPbjD9OuvaLIIwDhh1tgMOAz9vk
 eiiuxFalLXQLZWh+stHzUk9ks2bYjtB7S/1wMZGsZvg3ScNmuXP3Elp5Ym1Y36dZYXTGK2zkhF
 AgFRjQpLErCQbs35kLr8Xomg
X-SBRS: 5.1
X-MesageID: 50263454
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:TWTas6g2sWsZFbh+fo+I0IBMJnBQXr0ji2hC6mlwRA09TyX4ra
 yTdZsgvyMc5AxwZJhCo7+90cu7MBDhHPdOiOF7UItKNzOJhILHFuBfBE/Zsl/dJxE=
X-IronPort-AV: E=Sophos;i="5.84,328,1620705600"; 
   d="scan'208";a="50263454"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VHO/Af42fJQudAbbNzHWVgYbuwF1C7kaE8G4PbUYiZ35t8L+HQkSQ4//K+Cw+ZUyhq7DiW6V2kyBgJ3o+9uxANMU+caV94HrSMr0YjukIR9VmHh3zhw7ZS9oYQNJAKmB+hMVyqqf7utqqZCgNf9l2XWkcJFaAztMsGsV+yBS9aauILovjAQRWI9XG2IRf0vp5HscaJegTzh6dCmtkv7fhnjytvfMCRP9IVTPpkdmU7RyV5GScX5ZS8QQWZkpPP+r1PZUQVUKl/mhLDiK14adc/s7CooU4NJuAl5YAelncDen+afIKIUBuiiqkCr8Xk+QcV2CkgYxUf9O2MYtKFbfEw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vC402O3sHj8QGA3OQNY9BkvNsDudROYF5qFOoOTg+TA=;
 b=E9BfYJONhQb231ecAHa1WNbwZhYbSwoTRU4yXE4Po/RkB8WedhAkx1FuIYGojJI10D2tQTdkOPEo56dZzpUeUQwTkc7KlSwMIsMJD99XG7Qb8Bf7vUoaVPGAazwE1rTMl9PE1eHkmgjXnY4o4MVcy04pTGi9iodGXdERct0J7ey1M9Ywm+eHnEa9FRk9uGuxkcuGOi/GFQcYUGqwWTCZ4ttOqn/Wety7Rz8SRCvQv4rbc8uMKwflCFgJJFf9wJ+Z0XkRcSnvtc5jFIvwq307zHrxRbVBIG0A7lHG2CQxldLTaFwtIpcqNXTv8LUYVw2MXWpqaWCiDARgVwZAMI5p/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=vC402O3sHj8QGA3OQNY9BkvNsDudROYF5qFOoOTg+TA=;
 b=pYoZQkOWq/lG4AVqNitgGD1M4C6xmyFTg/fhmCjL9XYH7fB1P7k96dhl8+1Xwfq7SDEVQfZmO2kPWOQM/HT9eojOAJOtfy/LcYGHQo0ULlSu4PyBrgiG+dejahPruFN3HvA7VmRTf9ntuaP5sTtpWUYg7zmNLdGoLPUGx8zByww=
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
	<marmarek@invisiblethingslab.com>, xen-devel <xen-devel@lists.xenproject.org>
References: <YRsQArpQcpLB/Q5h@mail-itl> <YRuXNmpT+03aPo+p@mail-itl>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: S3 resume issue in xstate_init
Message-ID: <95ca90ae-9c37-c77c-67dc-66c1aabd1626@citrix.com>
Date: Tue, 17 Aug 2021 12:14:36 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <YRuXNmpT+03aPo+p@mail-itl>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-GB
X-ClientProxiedBy: LO3P123CA0009.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:ba::14) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 20397ebf-2062-42b1-cba8-08d961703624
X-MS-TrafficTypeDiagnostic: SJ0PR03MB5920:
X-Microsoft-Antispam-PRVS: <SJ0PR03MB59206429F372BE65D01CBCFFBAFE9@SJ0PR03MB5920.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:7219;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 00AZEetHZQbsyubDJZ+gdWu2Npy5PDI6AKpfuVZv/LMp7Jp18ry+jvfqctp02eUr8fIQy7a4tCntjI90iuQ7ls5sxdLcoMzLc4pUsKiho+K/yAI3CpD8MV5H1Z/03+4xzi76/Ebjy2nZB/ufysvalNsK1wt6S/0eKfLcGt8pOCW9PIx4TPBzw8nHi0zNuy1GNwH8djLq6VC7rqjQO/OgAtLbDy8Aa5iThNr1vstbgtBbiK6q4NQxqhwzBFbg4yY3x27MXuuoOzMd/ggWMO9/3DxZbumrh4gFpMW9BuVrMmvsnwkJ/QOg2m8xRndAiez2fcNauFwdv4bhrnX9RAgLtoFhPttCQYlcHcBIyUxgF2laGEtd0A0I0m++eBBrMIculPyu4MPTbmnp9/NflQuNHduJ1V8Auf7/f/BrosAspJ9+LbEk/Mqh1ck+9ZPaJiSn5P+FKTIQTE9f4u8EzWfJuGc4YepUgsew6tyaxqsmMkadHkDOFmNtix+My4jujZbQ8xIfMpj6jzFgiAa8DFbSnxRgD38OCYdYc1Fmkg4+05IBMK4x48EdESX3Eh2M5E7Ca4W9gbmuQ8TcNUNnnigB/dXfqfFsK2HgcPE738pfK2/MaI+ztuItpo/zY0AOwGXe7wQI3zm86uWRLWlDbxsdejaHSZ1vUedTEYEE+hsIRLkpoT/Lo5aNaBfI33sSpkQDxDMngTkskb8/NOF50qiwWM0yFpJwdXriitSsOW6r9gc=
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:(4636009)(346002)(396003)(376002)(136003)(39860400002)(366004)(38100700002)(53546011)(8936002)(6666004)(66556008)(66574015)(83380400001)(5660300002)(66946007)(110136005)(66476007)(2906002)(478600001)(86362001)(956004)(2616005)(31686004)(36756003)(16576012)(8676002)(31696002)(186003)(316002)(6486002)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bExJZTc0RkhzcDFNUHR6S3hEV29lT0czUzN4ZkRZeUNXeE92VFpVNzZGbVBD?=
 =?utf-8?B?cDBFZDI0a0x3UE91ZTZ1ZWpWenY2WE5ZN1hOOEt3bW1CUFZhaVdkcEVldGNG?=
 =?utf-8?B?UUg3ZVFWZWJ6SGtycmRvMmY2MlNMWG1jaCs0b2F5YjZUbUFwSm4yc01jcjRY?=
 =?utf-8?B?WERhNUg3M2xkRkQyL21aOHRzNlJyUHg2VTEvVXprbHY3OXdrVXZ5Smt5S3k4?=
 =?utf-8?B?eFpHN2FCU1ZOTWFGRVZKMXIyRVlzNjRKM1d0TmNCQVdpRXN2NW55Y1NsdVRH?=
 =?utf-8?B?V2ltZFRxNUh5Z0pEYk9YOXJRWitNdkJpL016MUhDQWJkazFFUXJUMGh2Qnp4?=
 =?utf-8?B?S3JaSVk4eng1a0VwWlBPU0F4V2RZZ2FRek52YlV0anZORHprQ3A5TDJraWx1?=
 =?utf-8?B?elljaFo0ejBLRE9qSmU0anV0N293b1JVVlJRaWtuWjFPREhIQis1RzgxbUdj?=
 =?utf-8?B?MEdicmdQQm40bUNUaDRaQkRSb3RYWDNGK1VSWTg4OEQzaXMvcDlPbVFobisx?=
 =?utf-8?B?UWdpeDV3WDlRZjQ5MjFqQVAzRk9Dc3htTngwTkhXdkFEdjBsQzA1RVp5cVVo?=
 =?utf-8?B?MzhtZzZXbG1xNkl5RzJpeWlteWFucnhleURKRlppVlFDbnJYcVZhMkdpcmtn?=
 =?utf-8?B?clkzMDZTTkZTeFJZTWY0SjFDbUlYczNtYTNMcmJkMi9EL0lHb2d4MHUvM0Q3?=
 =?utf-8?B?L1BOTWtxaTJoMHRCVWlwYkdpQzR6S2VaVUdyVUVmTTVYaElsdWlVVklwNVJr?=
 =?utf-8?B?Rjg4VFgvd3Z4eHk0NjlVT1NJNzJRajhvTHRqNmhIbGpSdnNvdjQ5UVp4NDMr?=
 =?utf-8?B?QVJXaWNrTVBFU0RYTEQ2Rmo3cTJpYUkvWDR1MEtJOXc2ZFlBRTJNUkE1UjJV?=
 =?utf-8?B?RjVoUVEvU0NhQWN4ZVgydXk2cjNmRklmanRTOWVoVFdhdDFmczdLZVd6N05Z?=
 =?utf-8?B?TVJOcVdUdnRQTGJlRUE2T1BUSTFMWUkrTjhrK1pqNUVkT2lYYVJhRTJSTCtE?=
 =?utf-8?B?K3NjWnNoYzlzWE92ODU0RHozL0FrNktvbzl2OHg5cGplMU85cDJ0aHBKdC9P?=
 =?utf-8?B?VEF2czlJRERFMnFJRHNpcDNFVHRBRUZIc0Y1QUExUnZ0RlVuZC9sdEVuUE9D?=
 =?utf-8?B?djR4M1hBcVNhcUMwTEpTLzNSZzlJTnlQejZWK2FwQWsvb3FWRDlUNHdxMXVY?=
 =?utf-8?B?bHVZKzQxK2RYRUtSY3p2VUhrRmdpY2IwQUhUYWJLcjUzcUFHUW9KeDhMY3hH?=
 =?utf-8?B?L0cxaHZVajBlK3JoNzJ0dnFDZm5XWk92aWwyNHA4WjR3R2pXMCtUb3ZPamJS?=
 =?utf-8?B?V3diTnZhV3B0TlVZdWd4S2hNMjhpbFkwL2RIUVR5TXZzYW43T1lpYkVibUU0?=
 =?utf-8?B?cnlYR1FDZXFKNXZMMzVaYmhlaTNlbjBGS2pFNWwvWERBNFJjWWk4WGp3WHlx?=
 =?utf-8?B?MkRHeTlHd2dRNXRsYWhhMTVlcTBDWWpmU1pweUIxQ1p3ZW5wMEE5MGk3aEUy?=
 =?utf-8?B?Q2RkQXYydXpLOEJyY1lTbmpHSENCNUxDVDY4dzFmcHZBdDhNdCtpWWVMRElj?=
 =?utf-8?B?a0FnMkN1dS9IamxuWHFxT01ydzE2RHpXNWgrejZsNjlSQzlRRVhaZ3NsQ29V?=
 =?utf-8?B?OW1VYnFDQWgvQ05kMERqTnFVVUNHRmUrY0Q5M0hYeTFwNTY3Z1Bnd3ZsWmpC?=
 =?utf-8?B?T0ljY3FTWGw1RC9wZ1pXTkNtVSt0KzRNNTNrUy9tenh3MFFOQlMrOStGOEww?=
 =?utf-8?Q?tK5OQROnvA0eyXIVJE2N5hYUPafzQ+Ld+p4KwoF?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 20397ebf-2062-42b1-cba8-08d961703624
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 11:14:42.4347
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: sN5TeJCgFVRF1pqH9AlLJXuPuej2Li2fnhIqUcsjGi9AfGpmbfrfuhrrVKB0nYBVN/HSFFcaqcUg0OWfdKCLKFZf17pm7X064UDV8lfJsi4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5920
X-OriginatorOrg: citrix.com

On 17/08/2021 12:02, Marek Marczykowski-G=C3=B3recki wrote:
> On Tue, Aug 17, 2021 at 03:25:21AM +0200, Marek Marczykowski-G=C3=B3recki=
 wrote:
>> Hi,
>>
>> I've got another S3 issue:
>>
>> (XEN) Preparing system for ACPI S3 state.
>> (XEN) Disabling non-boot CPUs ...
>> (XEN) Broke affinity for IRQ1, new: ffff
>> (XEN) Broke affinity for IRQ16, new: ffff
>> (XEN) Broke affinity for IRQ9, new: ffff
>> (XEN) Broke affinity for IRQ139, new: ffff
>> (XEN) Broke affinity for IRQ8, new: ffff
>> (XEN) Broke affinity for IRQ14, new: ffff
>> (XEN) Broke affinity for IRQ20, new: ffff
>> (XEN) Broke affinity for IRQ137, new: ffff
>> (XEN) Broke affinity for IRQ138, new: ffff
>> (XEN) Entering ACPI S3 state.
>> (XEN) mce_intel.c:773: MCA Capability: firstbank 0, extended MCE MSR 0, =
BCAST, CMCI
>> (XEN) CPU0 CMCI LVT vector (0xf1) already installed
>> (XEN) Finishing wakeup from ACPI S3 state.
>> (XEN) microcode: CPU0 updated from revision 0xca to 0xea, date =3D 2021-=
01-05
>> (XEN) xstate: size: 0x440 (uncompressed 0x440) and states: 0x1f
>> (XEN) Enabling non-boot CPUs  ...
>> (XEN) xstate: size: 0x440 (uncompressed 0x240) and states: 0x1f
>> (XEN) Xen BUG at xstate.c:673
>> (XEN) ----[ Xen-4.16-unstable  x86_64  debug=3Dy  Not tainted ]----
>> (XEN) CPU:    1
>> (XEN) RIP:    e008:[<ffff82d040350ee4>] xstate_init+0x24b/0x2ff
>> (XEN) RFLAGS: 0000000000010087   CONTEXT: hypervisor
>> (XEN) rax: 0000000000000240   rbx: 000000000000001f   rcx: 0000000000000=
440
>> (XEN) rdx: 0000000000000001   rsi: 000000000000000a   rdi: 0000000000000=
01f
>> (XEN) rbp: ffff83025dc9fd38   rsp: ffff83025dc9fd20   r8:  0000000000000=
001
>> (XEN) r9:  ffff83025dc9fc88   r10: 0000000000000001   r11: 0000000000000=
001
>> (XEN) r12: ffff83025dc9fd80   r13: 000000000000001f   r14: 0000000000000=
001
>> (XEN) r15: 0000000000000000   cr0: 000000008005003b   cr4: 0000000000352=
6e0
>> (XEN) cr3: 0000000049656000   cr2: 0000000000000000
>> (XEN) fsb: 0000000000000000   gsb: 0000000000000000   gss: 0000000000000=
000
>> (XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: 0000   cs: e008
>> (XEN) Xen code around <ffff82d040350ee4> (xstate_init+0x24b/0x2ff):
>> (XEN)  ff e9 a2 00 00 00 0f 0b <0f> 0b 89 f8 89 f1 0f a2 89 f2 4c 8b 0d =
cb b4 0f
>> (XEN) Xen stack trace from rsp=3Dffff83025dc9fd20:
>> (XEN)    0000000000000240 ffff83025dc9fd80 0000000000000001 ffff83025dc9=
fd70
>> (XEN)    ffff82d04027e7a1 000000004035a7f1 7ffafbbf01100800 00000000bfeb=
fbff
>> (XEN)    0000000000000001 00000000000000c8 ffff83025dc9feb8 ffff82d0402e=
43ce
>> (XEN)    000000160a9e0106 bfebfbff80000008 2c1008007ffaf3bf 0000000f0000=
0121
>> (XEN)    00000000029c6fbf 0000000000000100 000000009c002e00 02afcd7f0000=
0000
>> (XEN)    756e654700000000 6c65746e49656e69 65746e4904b21920 726f43202952=
286c
>> (XEN)    376920294d542865 432048303537382d 322e322040205550 000000007a48=
4730
>> (XEN)    ffff830000000000 ffff83025dc9fe18 00002400402e8e0b 000000085dc9=
fe30
>> (XEN)    00000002402e9f21 0000000000000001 ffffffff00000000 ffff82d0402e=
0040
>> (XEN)    00000000003526e0 ffff83025dc9fe68 ffff82d04027bd15 000000000000=
0001
>> (XEN)    ffff8302590a0000 0000000000000000 00000000000000c8 000000000000=
0001
>> (XEN)    0000000000000001 ffff83025dc9feb8 ffff82d0402e32b7 000000000000=
0001
>> (XEN)    0000000000000001 00000000000000c8 0000000000000001 ffff83025dc9=
fee8
>> (XEN)    ffff82d04030e401 0000000000000001 0000000000000000 000000000000=
0000
>> (XEN)    0000000000000000 0000000000000000 ffff82d040200122 080000200000=
0002
>> (XEN)    0100000400010000 0000002000000000 2000000000100000 000000100000=
0000
>> (XEN)    2000000000000000 0000000029000000 0000008000000000 00110000a000=
0000
>> (XEN)    8000000080000000 4000000000000008 0000100000000000 020000004000=
0080
>> (XEN)    0004000000000000 0000010000000002 0400002030000000 000000006000=
0000
>> (XEN)    0400001000010000 0000000010000000 0000004010000000 000000000000=
0000
>> (XEN) Xen call trace:
>> (XEN)    [<ffff82d040350ee4>] R xstate_init+0x24b/0x2ff
>> (XEN)    [<ffff82d04027e7a1>] F identify_cpu+0x318/0x4af
>> (XEN)    [<ffff82d0402e43ce>] F recheck_cpu_features+0x1f/0x72
>> (XEN)    [<ffff82d04030e401>] F start_secondary+0x255/0x38a
>> (XEN)    [<ffff82d040200122>] F __high_start+0x82/0x91
>> (XEN)=20
>> (XEN)=20
>> (XEN) ****************************************
>> (XEN) Panic on CPU 1:
>> (XEN) Xen BUG at xstate.c:673
>> (XEN) ****************************************
>> (XEN)=20
>> (XEN) Reboot in five seconds...
>>
>> This is with added debug patch:
>>
>> diff --git a/xen/arch/x86/xstate.c b/xen/arch/x86/xstate.c
>> index 6aaf9a2f1546..7873a21b356a 100644
>> --- a/xen/arch/x86/xstate.c
>> +++ b/xen/arch/x86/xstate.c
>> @@ -668,6 +668,8 @@ void xstate_init(struct cpuinfo_x86 *c)
>>      else
>>      {
>>          BUG_ON(xfeature_mask !=3D feature_mask);
>> +        printk("xstate: size: %#x (uncompressed %#x) and states: %#"PRI=
x64"\n",
>> +               xsave_cntxt_size, hw_uncompressed_size(feature_mask), fe=
ature_mask);
>>          BUG_ON(xsave_cntxt_size !=3D hw_uncompressed_size(feature_mask)=
);
>>      }
>> =20
>>
>> As can be seen above - the xsave size differs between BSP and other
>> CPU(s) - likely because of (not) loaded ucode update there.
>> I guess it's a matter of moving ucode loading somewhere else, right?
>
> Few more data points:
>
> 1. The CPU is i7-8750H (family 6, model 158, stepping 10).
> 2. I do have "smt=3Doff" on the Xen cmdline, if that matters.

As a datapoint, it would be interesting to confirm what the behaviour is
with SMT enabled.

I'd expect it not to make a difference, because smt=3Doff is a purely Xen
construct and doesn't change the hardware configuration.

>
> I've tried the same without letting Xen load the ucode update (so,
> staying at 0xca) and got the same effect. So, I think it isn't about
> ucode...

Any chance of a full boot log?

This is bizzare.=C2=A0 Looking through start_secondary(), we've got an
ordering error between updating microcode and checking for dropped
features, but again I don't think this would be relevant here.

I suspect this is going to take some more custom debugging logic.

~Andrew



From xen-devel-bounces@lists.xenproject.org Tue Aug 17 11:17:44 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 11:17:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167761.306259 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFx6F-0005rV-Jy; Tue, 17 Aug 2021 11:17:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167761.306259; Tue, 17 Aug 2021 11:17:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFx6F-0005rO-H2; Tue, 17 Aug 2021 11:17:43 +0000
Received: by outflank-mailman (input) for mailman id 167761;
 Tue, 17 Aug 2021 11:17:41 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cSHW=NI=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mFx6D-0005rI-S1
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 11:17:41 +0000
Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id bc0ff85c-ff4c-11eb-a4a1-12813bfff9fa;
 Tue, 17 Aug 2021 11:17:40 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bc0ff85c-ff4c-11eb-a4a1-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629199060;
  h=subject:to:cc:references:from:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=8yD9UVpc/pWgSfFypgqE5p/P+U+P/T0YPCzBm1CvqlQ=;
  b=T4BMBnn0Y1XIw2IIv7eeh+Ugu7J8YNvnItIkhKROwikESnzrt7VJ4937
   gO/fzRpagEYGDhGjzGaA9CyU3Us259z054KASm7ouJ7D0+pyPt8xaqHAd
   U+Xkp1lh3FQhDwoCECKveybgcxCZ78lwViqdlNmmAYkeyKE1oY7q2RCCO
   w=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: R3sk5vOF8BpqSUrlCvHcCwk7fJcUNX+HAM5uLrrV/xaBK3oOO+m74pkg4XJ31RZ7dmVFC/F6tZ
 9fOEDtLfKyK04kejg0RBWgyzi4HJXcoa2eI5dHytRcry3m9Pegt3s6jEpZ+TquUK//UaISKdrw
 Vj9tMGCFlODhgL/sKYnAp2X/uwDptnpblYZoWt9tPB9YeCTdb/1uKDsstJHfF02wHHVhWUhiSV
 mSZnJ5KzAhmswAKD0i9Lsz+LI4hxLo8OLQk/iFpQv/3BJT9KwjsFXiT8FKWT0F55Ob6BWy0rlX
 Ix5KnzGhbCbpxsWGKhgOMQ1D
X-SBRS: 5.1
X-MesageID: 50606499
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:2HVSFql5j/1OcDG88P60XEAZJhLpDfOiimdD5ihNYBxZY6Wkfp
 +V88jzhCWZtN9OYhwdcLC7WZVpQRvnhPpICPoqTMiftW7dyReVxeBZnPbfKljbdREWmdQtrZ
 uIH5IObuEYSGIK9/oSgzPIY+rIouP3iZxA7N22pxwGLXAIGtNdBkVCe2Gm+yVNNXh77PECZf
 ihD6R81l+dkDgsH7+G7i5vZZm8mzSHruOoXTc2QzocrCWehzKh77D3VzCewxclSjtKhZMv63
 LMnQDV7riq96jT8G6c60bjq7Bt3PfxwNpKA8KBzuATNzXXkw6tIKBsQaeLsjwZqPymrHwqjN
 7PiRE9ONkb0QKeQkiF5T/WnyXw2jcn7HHvjXeenHvYuMT8AAk3DsJQ7LgpOCfx2g4FhpVRwa
 hL12WWu958FhXbhhnw4NDOSlVDile0iWBKq59Qs1VvFa8lLJNBp40W+01YVL0aGjjh1YwhGO
 5ySOnB+fdtd0+AZXyxhBgt/DWVZAV2Iv66eDlEhiTMuAIm2kyRjnFohPD3p01wsa7UEPJ/lr
 352s0CrsA8cicUBZgNT9vpD/HHUlAk7Hr3QRSvyG/cZdU60kT22tbKCYUOlZSXkaMzvewPcb
 T6IR5lXD0JCg7T4fPn5uwDzvmKehTnYQjQ
X-IronPort-AV: E=Sophos;i="5.84,328,1620705600"; 
   d="scan'208";a="50606499"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Hzp5ONv9GYiJ5TUD/ZptpqY0786c46HSsgHVDtCZ3qdUtJA1137yUQqwgUiAzHvvyMIP28lMHa33MZoe24NS4TCG/titlsy3NZxB2c1QdpfgS6u7P/m7eErpcCz1w783DH2m+ZCyAb7QKiy4gTpNUCKctwC5wzPEsAVa+NVoT6bKtC6bkIpvOTtWqt93kxzH99NmQuXfuQo2b/2n9Z1dmjP24Rgpvq7IiQN3yahEK2xfvC/4/OuGP9RuRNyWsyh4B1FFXq6AwEi80SALj0NLytnMfVnoqbeE7f31HYIzVedoJZPHJmmlUpUivaaJQrEmHCtyXxt0FWyA8Ji5ccQKkQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ncX/Df3r66yg/lXVk/jzVAADHcM2C9LCOTQdDGWr9vY=;
 b=ocaFGj5xb8Teb+gi4KIpa6YsvnYQbq7Iq4toae3UykQZmG6km4+AcVKHy/VOWhuXW3Sh5dAGKxmBTctJZrXw8sVA8Ctj5sUZyRw9djw6dNS8o5eEbwLgUC7xSkXdjjaxpyPQ5QaaaNkP/fmoV5vb8I4nAobO05xoZvF2WEEwfKe9x1uu02tWdpxhpiCtbiCZ7y6VQhUTbpFraOfzjGVbfGYI3riccQbBbQu7HH0tRJkHb97HBot8pYqo0qqosa8Isf3Iaua8mqzJ03DL6Mv+uSG3V32/cWWMlLJirEPQYPcZB46k73IIeqhYTGN56BsX5mCjlIDNuXIkeffRZpEtVg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ncX/Df3r66yg/lXVk/jzVAADHcM2C9LCOTQdDGWr9vY=;
 b=j8s0fddObPegga/kL+5kNXyZw3tjzx8y101mNVVu8s/P12h0qIO3rKB9FBnZmo8440Kr/LXgQ35fiPYGl8bFZPq/TWWlInluVTBXd3D+E1h43iYxc1tjD392pHH1m6X6UHFuV/tZjcwH2Dltj3K5Yy8b6jy4cBHirVuaXWtROaw=
Subject: Re: [PATCH] x86/cet: Fix build on newer versions of GCC
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
	<marmarek@invisiblethingslab.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>
References: <20210817105656.19683-1-andrew.cooper3@citrix.com>
 <YRuaBIc+bfErQnDy@mail-itl>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Message-ID: <e80d5b51-47a2-c778-f9ef-707efd73aa5f@citrix.com>
Date: Tue, 17 Aug 2021 12:17:31 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <YRuaBIc+bfErQnDy@mail-itl>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Content-Language: en-GB
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-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 0e4decb6-161a-40d7-ed93-08d961709e9a
X-MS-TrafficTypeDiagnostic: SJ0PR03MB5920:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <SJ0PR03MB5920DE24E0CF44AFFFEB8663BAFE9@SJ0PR03MB5920.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:6790;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 9yjnnExykoFFno9yNa1z225DdlOJ5kronJdk2IlsKguXkv1CNKP3xLGkB6kuEB/shsuom3EoOXa8q0+Q32dYpfphM2jKnseT4FC1MFXskXYp9AWXUppOXDuGbFbBt+H7b2Z5ynknFnwHKuVegG4jbKfze4Uj0UjVOA3nPEADJ+yTaIgCSVO8idEjb24ZSg/B1CfJ0Vouw3BhdjzykhSg8TaGjIN0MJIvw2Y+1Y9V6wF/PyOTi2RsCu4jviRAqdZ/GWx5DIeN6CFBzaFps5P+MtqERNKnG++BjMde9TVtC4gcjOtYi09Fm2F5ZmGwdXp7x1elH0gG0a4mMHzyIb/Cu5ixLU7/3ZRKtb/4fglkNa/Z0wk4tMdJ8ZHiwImKXEjECuiZ09za3az2n0lcIdElxWJGSqRGBsZ/jlpsaI+W8iAtainRdmpgJs0IRL2RhCxnkOaHE9Yv37zNnohQyBHkLYs0IUsJSRVj6izQiD0xBgQoMErNrRHSzpqqjr6yjE5XOB6e5TSKmdAQfsl92Uj4hflyGTXJ4UG0Oa0FyBgB7enGxVbiRjmCk206uj2Beb/9jBoXEgv+ToMrFNtbdzEHj4YSq1YlKtQGQDN0zfqWdfmYU4gP4D5nZlRn+nrfoNoRm44LY/aa3YK4IH47XgAuaMe7v/Z7tttEOcdsVIaaYNNbPJCp/J3j0dg++zo76ZHOMM6zB04f80hP5q1YHOQpXH1wvb1jeQNZTawKuRgv0OM=
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:(4636009)(346002)(396003)(376002)(136003)(39860400002)(366004)(38100700002)(53546011)(8936002)(6666004)(66556008)(66574015)(83380400001)(5660300002)(54906003)(66946007)(66476007)(2906002)(478600001)(86362001)(4326008)(956004)(2616005)(31686004)(36756003)(16576012)(8676002)(6916009)(31696002)(186003)(316002)(6486002)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?M2k2RDdpMmVmRkVITG0yV1o2U0xuQVYwb2VzNkJ5MkxDNXNua0FzN2ZzeE9X?=
 =?utf-8?B?ZkhTU3V6WlFkZC9EaS9vV09RYlpPRmxybDZNRnNaU24xeEZ0a0k1d0IvV0Z6?=
 =?utf-8?B?UDQ2cEZXMytZRld4YU5oYlpuT01ac1dvRzludXc3cUJrTVNaTzEzQWRBMmd5?=
 =?utf-8?B?K3dOR2pLcWhqY1VaMHB1YlcyOTJNdWZCTmtQanJoc1BXMG0xbjJveFd2d2Jj?=
 =?utf-8?B?allMWk1IaTJGZFB2dmRFRlNqbFJRYmdQUHpIdkRvNkVzdU5nUjdoVHlUSk9Z?=
 =?utf-8?B?eVgyaEVnYzY3ekZuNkVHWEpFZlVzVVo0Q2R2WFRnT3dpUFZhb0dJajkrUEtN?=
 =?utf-8?B?QTZHRlJnWFZkQ0ZsdnNIc0xzMnhHekZXYklabGdWSXdXdERETFdTMlpZU3ly?=
 =?utf-8?B?empwTjMzY05BY2hSMjdQRFVWTmNLT2ZzR2J0V0Y5SzFvZlhQQlB3L3BGSHJQ?=
 =?utf-8?B?MFBGVGNVaE92d3N0ZXd2SzBYd3JiWmN0RXdtK0hxY3pQTGpXVmFyNDcvOXp4?=
 =?utf-8?B?UHZvMG16NEMvS2tnMC9CTFh4eFhtZ3EyUDV0TWpEY2RzeHhiTzJGSk53ZVUx?=
 =?utf-8?B?dkNYSWptcnJSYTlhNWtXdGtXckRUc0tZNVVPODEvNjh2RVAvRXFNd1h2c1Fr?=
 =?utf-8?B?MWtxaTJvbnRFcjU5dG1PVC82L0NKWnBOT3hheVA0YmZENzRjK2xEc3BKVElw?=
 =?utf-8?B?Qk1jUGVyazFsNEQ5VmV1RURRa0lmUzR3Yi9INmNWZHc4THRSUUM0MHRSZzRk?=
 =?utf-8?B?OWowNG5sTWkwdFhYdjJSdk83b21Fb1VGcjRsQlNXOFNpakQ5WmszbWEwRDhE?=
 =?utf-8?B?QkNyekVhSHNQTFNEam56Q2t1YTdGUk5ua3dKY2pQZjhmT1N6RnNYTTlNYmVK?=
 =?utf-8?B?MkRYejdzOVl5azJrS25NSGh6NFpNTWpMNStpeE5QaTRkMXFySjRDSmtCN05n?=
 =?utf-8?B?SXhvcXlwaU5ET3NLRjNsbm9GN04rZnVud3ZRdS9zdzVHK3p5MHdBejNFRjNy?=
 =?utf-8?B?SnNiK09lUjJ6RThjNS9HZkJBdXY3ZE9ENkJRRlhBeUgxdXNYVzFCVVdIMjJt?=
 =?utf-8?B?aEFVZnk4OUxDek9IYzZpeEF0YWgxT0NwdjVpeFM3U0tRSk53RU02WnkySnpx?=
 =?utf-8?B?dUloT0NGbzhqdmNvUFAvTmhXUGcvRFZDT1FIT1BYa1p2RVpReXFwR2xJdzBI?=
 =?utf-8?B?MnRrL3hCY2ZBNTN2MlAxb0pzdGUyMkFkeG1qRUVKbXQ1OEp6OTd2YmR6K1ZB?=
 =?utf-8?B?QkZ4UC9raE4zS05JbEdXcmdRbWwwY3JmUTZ6MjRUYlRPaWhzSHg0YWdtNE9I?=
 =?utf-8?B?ektLNmNXbW0yVkhXVWpUeDllbTEydFhRMjhJcmxEaExHQTVPYzZRd3ZtT0Z5?=
 =?utf-8?B?WkFiR0xkbmFTNGFhRFhLSExmLzdvclZyUGErY20vaTNpNk9iTTMvRjFUeXI1?=
 =?utf-8?B?cFZFRmF2S2c3TE9aNms5TTZmS0xiUEhWWWVkNmNrY2hpNXZsb2VXUWVnUHRz?=
 =?utf-8?B?R24wTmNUbVN0Z2RGMTE3dDdRd0Z4Y29YV21uektKN0d2SEwzRThLaVFaTXVx?=
 =?utf-8?B?NDFUSEZ1cGdkc1dmZ1ZENDdCS3R3L0tDK0ZzaE9jajRsL3ZYR2ZDcTFESDNI?=
 =?utf-8?B?RjYwR3BJVCtwMnN2TUZxQzczU3lsSE15aDNaQUx2LzhsL0ZDcmxaeDNGMmU5?=
 =?utf-8?B?YXVXWFhieFRKWFFHbjYyRUdWcitKMlFTTTVUdlJiOFgwd2MySGc4b1VuM1Yy?=
 =?utf-8?Q?fO8kgURMx3IB5LUVomLh578IwRQpnp6aL21ILg1?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 0e4decb6-161a-40d7-ed93-08d961709e9a
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 11:17:37.5960
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: cv1dPDBeLK/B/vsuX//F45aGyl0IiaYW/ywSD+34l5ZsCxhI11TDuNyH8QB1GHzj2G4YRscQz7LyBobA82JoWW10BsIZalj9qMiNNQIJQDw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5920
X-OriginatorOrg: citrix.com

On 17/08/2021 12:14, Marek Marczykowski-Górecki wrote:
> On Tue, Aug 17, 2021 at 11:56:56AM +0100, Andrew Cooper wrote:
>> Some versions of GCC complain with:
>>
>>   traps.c:405:22: error: 'get_shstk_bottom' defined but not used [-Werror=unused-function]
>>    static unsigned long get_shstk_bottom(unsigned long sp)
>>                         ^~~~~~~~~~~~~~~~
>>   cc1: all warnings being treated as errors
>>
>> Change #ifdef to if ( IS_ENABLED(...) ) to make the sole user of
>> get_shstk_bottom() visible to the compiler.
>>
>> Fixes: 35727551c070 ("x86/cet: Fix shskt manipulation error with BUGFRAME_{warn,run_fn}")
>> 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: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
>>
>> Not actually tested.  I don't seem to have a new enough GCC to hand.
> I have just compile-tested it and it seems to fix the issue (indeed it
> failed before with CONFIG_XEN_SHSTK disabled).

Oh, thanks!

>
>> Most of the delta here is indentation.  This diff is more easily reviewed with
>> `git show --ignore-all-space`
> Wouldn't this make the compiler include the code even if
> CONFIG_XEN_SHSTK is disabled (not a huge issue...)? Or is it smart
> enough to optimize it out in that case?

Its a trivial dead-code elimination example, and yes - the compiler is
smart enough.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 11:22:21 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 11:22:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167767.306271 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFxAf-0007G3-64; Tue, 17 Aug 2021 11:22:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167767.306271; Tue, 17 Aug 2021 11:22:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFxAf-0007Fw-2v; Tue, 17 Aug 2021 11:22:17 +0000
Received: by outflank-mailman (input) for mailman id 167767;
 Tue, 17 Aug 2021 11:22:16 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mFxAe-0007Fq-HC
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 11:22:16 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mFxAe-0004Gc-FM
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 11:22:16 +0000
Received: from iwj (helo=mariner.uk.xensource.com)
 by xenbits.xenproject.org with local-bsmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mFxAe-0006JJ-EE
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 11:22:16 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.89)
 (envelope-from <iwj@xenproject.org>)
 id 1mFxAa-0003nr-Tu; Tue, 17 Aug 2021 12:22:12 +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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=References:In-Reply-To:Subject:Cc:To:Date
	:Message-ID:Content-Transfer-Encoding:Content-Type:MIME-Version:From;
	bh=/TiuqKn+LlngV3HJuZ7gkhbeixw5tUnVYzdMdGUn6Lw=; b=OSkg71nzWyyg4WEM3oeMw6hx+4
	Vr6nvilbccQqmJTBPAhS3ufGyeOUMa4LyPrwbZ3S9AFSja5ssgPgTGc8pQYpOPp8j6Ko2xCx28aAF
	VA3m7p5FMeJ2VHCk93rNYDd/JP6UOeAQ17shy2TfZSRGmNZrCvUcs523yabF6Q3wp8aA=;
From: Ian Jackson <iwj@xenproject.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <24859.39908.610782.208603@mariner.uk.xensource.com>
Date: Tue, 17 Aug 2021 12:22:12 +0100
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org
Subject: Re: [xen-unstable test] 164195: FAIL
In-Reply-To: <0ee3f99c-0ca1-18e3-f8ab-e2f10f435720@suse.com>
References: <osstest-164195-mainreport@xen.org>
	<0ee3f99c-0ca1-18e3-f8ab-e2f10f435720@suse.com>
X-Mailer: VM 8.2.0b under 24.5.1 (i686-pc-linux-gnu)

Jan Beulich writes ("Re: [xen-unstable test] 164195: FAIL"):
> On 16.08.2021 07:50, osstest service owner wrote:
> > flight 164195 xen-unstable real [real]
> > http://logs.test-lab.xenproject.org/osstest/logs/164195/
> > 
> > Failures and problems with tests :-(
...
> > Tests which are failing intermittently (not blocking):
> >  test-amd64-amd64-amd64-pvgrub 12 debian-di-install         fail pass in 164186
> >  test-amd64-amd64-i386-pvgrub 12 debian-di-install          fail pass in 164186
> 
> Are the last two perhaps connected to
> 
> Checking the Debian archive mirror  ... 25%... 50%... 75%... 100%
> Choose a mirror of the Debian archive
> -------------------------------------

Very likely.  Debian bullseye was released at the weekend;
I guess the mirror network might have had some trouble.
As the report says, this was an intermittent failure; I think it's
fine to expect this to pass on the retry.

As I reported on irc, the main problem right now is the hardware
failure on arndale-bluewater, which looks like an HDD failure
from the logs.

I've taken it out of the pool and hopefully things will have sorted
themselves out by tomorrow.

Ian.


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 11:44:35 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 11:44:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167771.306282 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFxW9-0001BU-0o; Tue, 17 Aug 2021 11:44:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167771.306282; Tue, 17 Aug 2021 11: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 1mFxW8-0001BN-UA; Tue, 17 Aug 2021 11:44:28 +0000
Received: by outflank-mailman (input) for mailman id 167771;
 Tue, 17 Aug 2021 11:44:28 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lICV=NI=invisiblethingslab.com=marmarek@srs-us1.protection.inumbo.net>)
 id 1mFxW8-0001BH-Et
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 11:44:28 +0000
Received: from wout1-smtp.messagingengine.com (unknown [64.147.123.24])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 799817da-ff50-11eb-a4a6-12813bfff9fa;
 Tue, 17 Aug 2021 11:44:27 +0000 (UTC)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.42])
 by mailout.west.internal (Postfix) with ESMTP id D880C320094F;
 Tue, 17 Aug 2021 07:44:25 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Tue, 17 Aug 2021 07:44:26 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 17 Aug 2021 07:44: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: 799817da-ff50-11eb-a4a6-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=FUbAOX
	ASk+scUB3PF9J7iY68IhkAg8p8Of0I2POoJZQ=; b=BBkTnXjLA+L8Ve2ORYD0bR
	hyc0km4ZaPzx9Q2UMieRRfzGMztvknJZYDlHFARti6vyiJ8GrOivj7YvKpTo5xUr
	lefChGdvmEkg2YpH/oD6rFMTUMKq8/orzyTpBOk5YIKRBi2FLx8cEaXmvf3hY3fj
	3qZxYA8XkzecKTBgyqnhsY8FP5xBAOEIvcLSFXWMa9mGaDgQIJ36xKAI4CIEk/tf
	SqoXXcNa2U6l7UFxJ2whNgK+zPzQ88AVXoXWb039u1es2tQECFmgcymAfBQXbzff
	2dDYtMf4hyPBHD8jBGtI0MDmY9kPMeA+aZzpG/uS2iDNOAupgVujbbaGD9UAe0Pw
	==
X-ME-Sender: <xms:GaEbYfESdo9alLcvcq3L99baTQikfpuM_9kXE1sVsF0PRgZLBXHcXA>
    <xme:GaEbYcWybOb07HE6RpOd7FEyihdaP9ulG7VQaL_vP5hc1gUghpMefGhgXVC8ZQTIP
    -ud5Wl6EqS39Q>
X-ME-Received: <xmr:GaEbYRJ04V_bZwYasoQHJQd0KMJw9qSw2YeRfTtGllSLjjs-NiaxFLRKC0qTxWIwcJlCjNO5obL8WqZ9Bl813ItNBsM2_DHJ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrleefgdeggecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgvkhcu
    ofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinhhvih
    hsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepkeegtdfg
    vdeihefhhedtvdelieeiueetveehteffjeejjedvieejvefhueeffeegnecuffhomhgrih
    hnpehgihhthhhusgdrtghomhenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhep
    mhgrihhlfhhrohhmpehmrghrmhgrrhgvkhesihhnvhhishhisghlvghthhhinhhgshhlrg
    gsrdgtohhm
X-ME-Proxy: <xmx:GaEbYdEDwkIDqMjtzxugCutvFh55QyNvdeNkgq9y8ZIqUFXzscAdJw>
    <xmx:GaEbYVUq-bqBQMGW9Lm25W9MAexPOlmaKTwTkDM1Z930TR2sfCV45Q>
    <xmx:GaEbYYMAYrWc2NqQSsLK-ZLObELgjo6eVogHxN2WIwrzWWlpsEdNow>
    <xmx:GaEbYUCZSNhpavfHLdcwZJJaHy_Z2PAftklRdfOktfuIVpEWIHAjaw>
Date: Tue, 17 Aug 2021 13:44:21 +0200
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>
Subject: Re: S3 resume issue in xstate_init
Message-ID: <YRuhFWLrplRRV6t+@mail-itl>
References: <YRsQArpQcpLB/Q5h@mail-itl>
 <YRuXNmpT+03aPo+p@mail-itl>
 <95ca90ae-9c37-c77c-67dc-66c1aabd1626@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="dxypIFesLw4xY+U0"
Content-Disposition: inline
In-Reply-To: <95ca90ae-9c37-c77c-67dc-66c1aabd1626@citrix.com>


--dxypIFesLw4xY+U0
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 17 Aug 2021 13:44:21 +0200
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>
Subject: Re: S3 resume issue in xstate_init

On Tue, Aug 17, 2021 at 12:14:36PM +0100, Andrew Cooper wrote:
> On 17/08/2021 12:02, Marek Marczykowski-G=C3=B3recki wrote:
> > On Tue, Aug 17, 2021 at 03:25:21AM +0200, Marek Marczykowski-G=C3=B3rec=
ki wrote:
> >> Hi,
> >>
> >> I've got another S3 issue:
> >>
> >> (XEN) Preparing system for ACPI S3 state.
> >> (XEN) Disabling non-boot CPUs ...
> >> (XEN) Broke affinity for IRQ1, new: ffff
> >> (XEN) Broke affinity for IRQ16, new: ffff
> >> (XEN) Broke affinity for IRQ9, new: ffff
> >> (XEN) Broke affinity for IRQ139, new: ffff
> >> (XEN) Broke affinity for IRQ8, new: ffff
> >> (XEN) Broke affinity for IRQ14, new: ffff
> >> (XEN) Broke affinity for IRQ20, new: ffff
> >> (XEN) Broke affinity for IRQ137, new: ffff
> >> (XEN) Broke affinity for IRQ138, new: ffff
> >> (XEN) Entering ACPI S3 state.
> >> (XEN) mce_intel.c:773: MCA Capability: firstbank 0, extended MCE MSR 0=
, BCAST, CMCI
> >> (XEN) CPU0 CMCI LVT vector (0xf1) already installed
> >> (XEN) Finishing wakeup from ACPI S3 state.
> >> (XEN) microcode: CPU0 updated from revision 0xca to 0xea, date =3D 202=
1-01-05
> >> (XEN) xstate: size: 0x440 (uncompressed 0x440) and states: 0x1f
> >> (XEN) Enabling non-boot CPUs  ...
> >> (XEN) xstate: size: 0x440 (uncompressed 0x240) and states: 0x1f
> >> (XEN) Xen BUG at xstate.c:673
> >> (XEN) ----[ Xen-4.16-unstable  x86_64  debug=3Dy  Not tainted ]----
> >> (XEN) CPU:    1
> >> (XEN) RIP:    e008:[<ffff82d040350ee4>] xstate_init+0x24b/0x2ff
> >> (XEN) RFLAGS: 0000000000010087   CONTEXT: hypervisor
> >> (XEN) rax: 0000000000000240   rbx: 000000000000001f   rcx: 00000000000=
00440
> >> (XEN) rdx: 0000000000000001   rsi: 000000000000000a   rdi: 00000000000=
0001f
> >> (XEN) rbp: ffff83025dc9fd38   rsp: ffff83025dc9fd20   r8:  00000000000=
00001
> >> (XEN) r9:  ffff83025dc9fc88   r10: 0000000000000001   r11: 00000000000=
00001
> >> (XEN) r12: ffff83025dc9fd80   r13: 000000000000001f   r14: 00000000000=
00001
> >> (XEN) r15: 0000000000000000   cr0: 000000008005003b   cr4: 00000000003=
526e0
> >> (XEN) cr3: 0000000049656000   cr2: 0000000000000000
> >> (XEN) fsb: 0000000000000000   gsb: 0000000000000000   gss: 00000000000=
00000
> >> (XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: 0000   cs: e008
> >> (XEN) Xen code around <ffff82d040350ee4> (xstate_init+0x24b/0x2ff):
> >> (XEN)  ff e9 a2 00 00 00 0f 0b <0f> 0b 89 f8 89 f1 0f a2 89 f2 4c 8b 0=
d cb b4 0f
> >> (XEN) Xen stack trace from rsp=3Dffff83025dc9fd20:
> >> (XEN)    0000000000000240 ffff83025dc9fd80 0000000000000001 ffff83025d=
c9fd70
> >> (XEN)    ffff82d04027e7a1 000000004035a7f1 7ffafbbf01100800 00000000bf=
ebfbff
> >> (XEN)    0000000000000001 00000000000000c8 ffff83025dc9feb8 ffff82d040=
2e43ce
> >> (XEN)    000000160a9e0106 bfebfbff80000008 2c1008007ffaf3bf 0000000f00=
000121
> >> (XEN)    00000000029c6fbf 0000000000000100 000000009c002e00 02afcd7f00=
000000
> >> (XEN)    756e654700000000 6c65746e49656e69 65746e4904b21920 726f432029=
52286c
> >> (XEN)    376920294d542865 432048303537382d 322e322040205550 000000007a=
484730
> >> (XEN)    ffff830000000000 ffff83025dc9fe18 00002400402e8e0b 000000085d=
c9fe30
> >> (XEN)    00000002402e9f21 0000000000000001 ffffffff00000000 ffff82d040=
2e0040
> >> (XEN)    00000000003526e0 ffff83025dc9fe68 ffff82d04027bd15 0000000000=
000001
> >> (XEN)    ffff8302590a0000 0000000000000000 00000000000000c8 0000000000=
000001
> >> (XEN)    0000000000000001 ffff83025dc9feb8 ffff82d0402e32b7 0000000000=
000001
> >> (XEN)    0000000000000001 00000000000000c8 0000000000000001 ffff83025d=
c9fee8
> >> (XEN)    ffff82d04030e401 0000000000000001 0000000000000000 0000000000=
000000
> >> (XEN)    0000000000000000 0000000000000000 ffff82d040200122 0800002000=
000002
> >> (XEN)    0100000400010000 0000002000000000 2000000000100000 0000001000=
000000
> >> (XEN)    2000000000000000 0000000029000000 0000008000000000 00110000a0=
000000
> >> (XEN)    8000000080000000 4000000000000008 0000100000000000 0200000040=
000080
> >> (XEN)    0004000000000000 0000010000000002 0400002030000000 0000000060=
000000
> >> (XEN)    0400001000010000 0000000010000000 0000004010000000 0000000000=
000000
> >> (XEN) Xen call trace:
> >> (XEN)    [<ffff82d040350ee4>] R xstate_init+0x24b/0x2ff
> >> (XEN)    [<ffff82d04027e7a1>] F identify_cpu+0x318/0x4af
> >> (XEN)    [<ffff82d0402e43ce>] F recheck_cpu_features+0x1f/0x72
> >> (XEN)    [<ffff82d04030e401>] F start_secondary+0x255/0x38a
> >> (XEN)    [<ffff82d040200122>] F __high_start+0x82/0x91
> >> (XEN)=20
> >> (XEN)=20
> >> (XEN) ****************************************
> >> (XEN) Panic on CPU 1:
> >> (XEN) Xen BUG at xstate.c:673
> >> (XEN) ****************************************
> >> (XEN)=20
> >> (XEN) Reboot in five seconds...
> >>
> >> This is with added debug patch:
> >>
> >> diff --git a/xen/arch/x86/xstate.c b/xen/arch/x86/xstate.c
> >> index 6aaf9a2f1546..7873a21b356a 100644
> >> --- a/xen/arch/x86/xstate.c
> >> +++ b/xen/arch/x86/xstate.c
> >> @@ -668,6 +668,8 @@ void xstate_init(struct cpuinfo_x86 *c)
> >>      else
> >>      {
> >>          BUG_ON(xfeature_mask !=3D feature_mask);
> >> +        printk("xstate: size: %#x (uncompressed %#x) and states: %#"P=
RIx64"\n",
> >> +               xsave_cntxt_size, hw_uncompressed_size(feature_mask), =
feature_mask);
> >>          BUG_ON(xsave_cntxt_size !=3D hw_uncompressed_size(feature_mas=
k));
> >>      }
> >> =20
> >>
> >> As can be seen above - the xsave size differs between BSP and other
> >> CPU(s) - likely because of (not) loaded ucode update there.
> >> I guess it's a matter of moving ucode loading somewhere else, right?
> >
> > Few more data points:
> >
> > 1. The CPU is i7-8750H (family 6, model 158, stepping 10).
> > 2. I do have "smt=3Doff" on the Xen cmdline, if that matters.
>=20
> As a datapoint, it would be interesting to confirm what the behaviour is
> with SMT enabled.
>=20
> I'd expect it not to make a difference, because smt=3Doff is a purely Xen
> construct and doesn't change the hardware configuration.

Uhm, changing to smt=3Don actually _did_ change it. Now it doesn't crash!

Let me add CPU number to the above printk - is smp_processor_id() the
thing I want?
With that, I get:
https://gist.github.com/marmarek/ae604a1e5cf49639a1eec9e220c037ca
Note that at boot all CPUs reports 0x440 (but only later are parked).
Maybe resume path for the parked CPUs is missing some step?

> > I've tried the same without letting Xen load the ucode update (so,
> > staying at 0xca) and got the same effect. So, I think it isn't about
> > ucode...
>=20
> Any chance of a full boot log?

No problem, see above :)

> This is bizzare.=C2=A0 Looking through start_secondary(), we've got an
> ordering error between updating microcode and checking for dropped
> features, but again I don't think this would be relevant here.
>=20
> I suspect this is going to take some more custom debugging logic.

Hints welcome ;)
I can easily test any Xen patches there.=20

PS I'm pretty happy with my Xen debug setup there - I boot via PXE,
which allows me quickly iterate (build and test with just one reboot,
not two), and then collect crash message via kexec (sadly this laptop
refuses to boot with anything non-SSD plugged into M.2 slot :/). One
thing that could use improvement, is extracting console messages from
memory dump - `crash` doesn't work for me, and with `gdb` I get
`conring` of all zero-es (likely invalid address?). So, I'm using
`strings` :/
I should make some writeup about this setup ;)

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--dxypIFesLw4xY+U0
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmEboRUACgkQ24/THMrX
1yzgGwgAkfoyuIlU1HHRHxDgWbeujKukXxolD3yi+28drjw25cszPbztCfBTm+uw
sC+PjDiru7qV2zJ8H4FA+TLMN95W8FhCyLHRLmMfVzC0JDg2TTMZFe4ZaXcgZjoo
UHhYdhbuLpnNkN3EE81CDSCKCdLQxyMq8ERENciSPiJF9BZ46xMqJbYHNs7gKSUa
R6yvDon0XOA4N+QnEo1czoqoC8ZfIdW3/21eJ0lJW/7ha6LFi0/kTuCSHvDsng76
FLBYSpLFLle7ZojbuX3uh0oyQctEJqnJfbeRqrgIeXnA1iCWKtZc/hp1oMG2P29m
aVPu0vj1dJuweib7Q93Q118zreBIAQ==
=k02b
-----END PGP SIGNATURE-----

--dxypIFesLw4xY+U0--


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 11:46:35 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 11:46:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167776.306293 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFxYB-0001mX-E2; Tue, 17 Aug 2021 11:46:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167776.306293; Tue, 17 Aug 2021 11:46: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 1mFxYB-0001mQ-B4; Tue, 17 Aug 2021 11:46:35 +0000
Received: by outflank-mailman (input) for mailman id 167776;
 Tue, 17 Aug 2021 11:46:33 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lICV=NI=invisiblethingslab.com=marmarek@srs-us1.protection.inumbo.net>)
 id 1mFxY9-0001mJ-Rf
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 11:46:33 +0000
Received: from wout1-smtp.messagingengine.com (unknown [64.147.123.24])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id c4972f8c-ff50-11eb-a4a7-12813bfff9fa;
 Tue, 17 Aug 2021 11:46:33 +0000 (UTC)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.west.internal (Postfix) with ESMTP id 93A373200A68;
 Tue, 17 Aug 2021 07:46:31 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute4.internal (MEProxy); Tue, 17 Aug 2021 07:46:31 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 17 Aug 2021 07:46: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: c4972f8c-ff50-11eb-a4a7-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=NZuPud
	xD2yyXFz7NgCfQautxcFxtYepDL1l20Y1po+U=; b=PHFkDqiajhzfz20ANUa8lf
	CR8GT17u0cTUnzrZ5tFUDe5wT1Dz5d26KZnWDeyLO1mGnDkAccf+Ub+ZpH+dMeag
	fW6UkIK9qt7m8+oNrKcUjAK7TxZsg4PaCRRme4zRNCQ5+/1fmJT5VKiE+JRm0Uqr
	UEUsJDU6NL6yU1DomePij8yM6hlPjyCoiRIgexyt9fdwTd8ptX2h41ofNDQTrXMJ
	HuoI5Tq2VxW4wtCCSjbUy3TZoaG+yTQjPACKDU0DaNdj7IIIpquPVnsHUhUBCBVB
	Og5VDHBQwWoREsr0QUX5E2LnybcHJPEle8huHAQTeMDeW2R3BbBddpMR9rh/jghA
	==
X-ME-Sender: <xms:lqEbYfmNDdJjzw4OMBHehbtUhc2INw6pY50qV7nJs9HZ-eZ0uEt5rw>
    <xme:lqEbYS1F1bTXgKC4XAzTgA4QH12PvevQy6rfTpan6UYGMTqcEX2UPDpt6bBX2MZk1
    yyk4uUKVcxnAQ>
X-ME-Received: <xmr:lqEbYVo60V28pcd6jVkqo1OSIPBpRbunLy37UXeazo4xWgpGRjHhdG7ysSV1F9_qbFPBx-CwFtJw7ZOMuksl4KHFGf1883oW>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrleefgdeghecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgvkhcu
    ofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinhhvih
    hsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepteevffei
    gffhkefhgfegfeffhfegveeikeettdfhheevieehieeitddugeefteffnecuvehluhhsth
    gvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehi
    nhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:lqEbYXkgXgiGPxAnM_zS3RY_BY4CliyK4ihNEmAgIsbPdHMby474aw>
    <xmx:lqEbYd1NEDsiJu3kO5kfldLivbl2WB-JVnb1OI-gC27sYRXPCaz21A>
    <xmx:lqEbYWtRiLr6WOgqpvLt0zKy7NZWjPrbso1M2dGGMzdHq-o_4gq4gQ>
    <xmx:l6EbYbBZMv6Fp5zfqQPHO0fCwhk7pNO4_ueJsByHdlgsl6nJ6quoRA>
Date: Tue, 17 Aug 2021 13:46:26 +0200
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>,
	Jan Beulich <JBeulich@suse.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: Re: [PATCH] x86/cet: Fix build on newer versions of GCC
Message-ID: <YRuhkuvuknY7SMR9@mail-itl>
References: <20210817105656.19683-1-andrew.cooper3@citrix.com>
 <YRuaBIc+bfErQnDy@mail-itl>
 <e80d5b51-47a2-c778-f9ef-707efd73aa5f@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="XpwdLiUVoP5oJcpr"
Content-Disposition: inline
In-Reply-To: <e80d5b51-47a2-c778-f9ef-707efd73aa5f@citrix.com>


--XpwdLiUVoP5oJcpr
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 17 Aug 2021 13:46:26 +0200
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>,
	Jan Beulich <JBeulich@suse.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: Re: [PATCH] x86/cet: Fix build on newer versions of GCC

On Tue, Aug 17, 2021 at 12:17:31PM +0100, Andrew Cooper wrote:
> On 17/08/2021 12:14, Marek Marczykowski-G=C3=B3recki wrote:
> > On Tue, Aug 17, 2021 at 11:56:56AM +0100, Andrew Cooper wrote:
> >> Some versions of GCC complain with:
> >>
> >>   traps.c:405:22: error: 'get_shstk_bottom' defined but not used [-Wer=
ror=3Dunused-function]
> >>    static unsigned long get_shstk_bottom(unsigned long sp)
> >>                         ^~~~~~~~~~~~~~~~
> >>   cc1: all warnings being treated as errors
> >>
> >> Change #ifdef to if ( IS_ENABLED(...) ) to make the sole user of
> >> get_shstk_bottom() visible to the compiler.
> >>
> >> Fixes: 35727551c070 ("x86/cet: Fix shskt manipulation error with BUGFR=
AME_{warn,run_fn}")
> >> 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: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com>
> >>
> >> Not actually tested.  I don't seem to have a new enough GCC to hand.
> > I have just compile-tested it and it seems to fix the issue (indeed it
> > failed before with CONFIG_XEN_SHSTK disabled).
>=20
> Oh, thanks!

And I can confirm it doesn't break anything runtime (but that's pretty
obvious looking at the patch).

> >> Most of the delta here is indentation.  This diff is more easily revie=
wed with
> >> `git show --ignore-all-space`
> > Wouldn't this make the compiler include the code even if
> > CONFIG_XEN_SHSTK is disabled (not a huge issue...)? Or is it smart
> > enough to optimize it out in that case?
>=20
> Its a trivial dead-code elimination example, and yes - the compiler is
> smart enough.

:)

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--XpwdLiUVoP5oJcpr
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmEboZIACgkQ24/THMrX
1yxCKQf+MK8a+oB0oNpBstKP9oqLYrWUh2qYUrkTYtn3I3md44fJbEtaYJh+wdyG
R2tcAMX+aAHFJHMs93PSizN6fKgr4a5DhMvb6u6KDHwNYhwwd3+ucBRMpWnQLzUb
aJY1LWMHEOBNicm7tzpcG2cDfCrqT+JM0rEl3d0aXh+DQLtzFxCS9LuZ1e+v647d
TkhL0AwlGluMzvNXjjTTBjSzZ/XD/5jFu021g5CfpS84mq3/0BFj3r0FeA3+S8SM
FsAKMhOgwOjYHl0NI+UmR0GVmED6gLbK+w49js8MhBTV0g2Uu214fp28L/lBvZFe
kUO704sIoGmcEHagb6ZFBuuWNuEb2w==
=bYAA
-----END PGP SIGNATURE-----

--XpwdLiUVoP5oJcpr--


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 11:46:48 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 11:46:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167777.306303 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFxYO-0002A8-PI; Tue, 17 Aug 2021 11:46:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167777.306303; Tue, 17 Aug 2021 11: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 1mFxYO-0002A1-MC; Tue, 17 Aug 2021 11:46:48 +0000
Received: by outflank-mailman (input) for mailman id 167777;
 Tue, 17 Aug 2021 11:46:47 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=tbpc=NI=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mFxYN-00029H-7g
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 11:46:47 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 657d8e97-bbdf-43a8-ae62-1d576aaa652c;
 Tue, 17 Aug 2021 11:46:46 +0000 (UTC)
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur02lp2054.outbound.protection.outlook.com [104.47.4.54]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-34-adHl868rNz-wOC6mC2iodA-2; Tue, 17 Aug 2021 13:46:44 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5904.eurprd04.prod.outlook.com (2603:10a6:803:e6::29)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Tue, 17 Aug
 2021 11:46:43 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Tue, 17 Aug 2021
 11:46:43 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FRYP281CA0012.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::22) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.9 via Frontend Transport; Tue, 17 Aug 2021 11:46:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 657d8e97-bbdf-43a8-ae62-1d576aaa652c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629200805;
	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=nislrUMvR1FUU66NVmTRaOfLD2ysNHa91LE6egAQZ2s=;
	b=Cundnl+DnRt/UbF0uSyd553AZvW8UXuc37bqmFWpKPo17OOHjHfHewiVBWhhFPwRSs/UPU
	3rbpdsqgx8+dClC8ehG00lq+SxnzyS1Zkv3ycM3Om7TelUfWG3yN1yry2NeaG4Mi1e/0O4
	L3Jmmn7cm4jLXwWvR8Mqg4SoeyDradY=
X-MC-Unique: adHl868rNz-wOC6mC2iodA-2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OfsPS7IfBwRWzmcRF+/khoEBSiewx6hKEfkhfxb9ZDJRLyBdJ/n7LG+IRrEn2SDGgagErhSa02Oa/+//n3jacG4qcAtsU3uk+Mt4KA67HQ1pMX5AJto05fndMFwoopeJt9O6APuNplmiqiYi5aRz3M6jJw0oPmNQwEvw/uH0S3uvrQCd2/4rPL1md6vu6uD/4YfBRZXfJ9e8F27Kik443yWGOySIgJ4NTitXc9FrtFMct200mjTdVo7ciWAl6IBF8nOd4OQXt6QbdqlLEdOY1btltHE8iDPwcNFhRRXlRFaRQoPwMxXkRUmB0fKOOKm+S8cOmbbJSP24P1/SH5cocA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4+pxUy5NSZ2UENkdCEJ8Jr68HilbO6ZIu6YVZV0r71w=;
 b=RLSgIn5D/qwC4bFHMmkVVz5cAjQmBu+ZUh2ys/0psUKcR8FEByvUszae4FxFdMME+O5PZyq1GZsqedTffZg1+l/QGcoVMx9qP90IXzZc0fJ02UvdZvEDgS1tqouPcQBgy+In5j04AODz7cGKGjlBUb2hvMXWqZAhx/cMGz68q8aRiRPRQtK9Vi9pEWwfhqGdz8sz2Nj191DHSqoDUTT2y3aGulYgoMtvUrp8hDMs625qNqIm7dsWpFRUNrJja/C+0/De0OqX9AVBkW7+LKMBxZ4qnqCAkvYE6N6oVtX+ehpKygf8JfAwLNrfJ2Q0l7idpWjtDh2D6Yspy4kPEHmuNw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH] x86/PV: assert page state in mark_pv_pt_pages_rdonly()
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: <cbe46564-74ab-af38-7e31-2f0a3f46ab41@suse.com>
 <d72d072f-d785-f90b-4e91-5ef7e8f17862@citrix.com>
 <14de6486-a1be-156e-f2e8-e82dd35d231c@suse.com>
 <876bd7e8-d472-0f81-63b8-b57169cd87a9@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <b3c3b8d0-9628-1c8f-ba6b-c3acd0a5132c@suse.com>
Date: Tue, 17 Aug 2021 13:46:40 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <876bd7e8-d472-0f81-63b8-b57169cd87a9@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: FRYP281CA0012.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::22)
 To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f723ebdc-cc2f-42fe-4cef-08d96174aef2
X-MS-TrafficTypeDiagnostic: VI1PR04MB5904:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB590466F32C1B01167672575BB3FE9@VI1PR04MB5904.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	iU8BgNtbZXVDRcF8s475/B1OR0vy4x3sBezufh2X6Ezk3KL7ZmT+bn5CroB1YETSymIMRbS9xwMA7pvLKYO9k/2VN66G3SSdcxZ2KhZ4to2c3DpVa6ffNsLtXhzoZRaYeG7V4jaVcDVGzWgE/YOlOQaV96Kz8rnm7xZkPZyYQwCDSM66PvbXYiZvNMTDwKBOJ2fMjmrx/aGKlL1oe/y4Zug08+Sy5PziWvZeczTz570ichJclnsHiBsEf3t2vR0lwuwS5uF/3S/bEj24ki2iyDXBzAmZikbuegAezwBqbMYxmNonSBvuhmGVGueaj/HKOuoUq4jh1G89+UfS0cLhuY17yXLp9EmpTvZ3oAQq859IfwwiVjb8eQMpTniX3erk9xwxE7c8jWTScpuA4gWAfdSZBA+U8cnNY1+7LQcDHQlYkynnx1N4v24o/aelXcn1AQQlJF4ASNLSNvxk6KnqKAqOlbXBM6dsHeHWlzue1DYMBdaVPsgl7ImSfgJ8pzw6bNRoWNxpBx8X/tDInkhtcBTiZbuL8Rek3ZNagdy82NyOIcs/p0nxe6fi3qRlFqGFZCYo9AkG2VKIRvK+Z5k3Cjw/gNseCBIZOGD3pCHQ1W8lf7Cjb+T5RNkauodnR2TaM/v97wUdmS9rSIhDMyRfJxDljXIq48mWiCvn0gnToAsrIDIEkkXsxJGPjKTJRkcraF4/Vail3pZFRlSuAHR+UzeIFHw74vFuLjmz7chUM48=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(376002)(39860400002)(136003)(396003)(346002)(36756003)(66946007)(478600001)(8676002)(8936002)(2906002)(53546011)(38100700002)(2616005)(956004)(83380400001)(31686004)(86362001)(186003)(4326008)(54906003)(16576012)(316002)(6486002)(66476007)(66556008)(5660300002)(26005)(6916009)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?A7PjeccK9FqopZKFzZ60FwZ8UQiW1P/17Iob00N1lyS1+TTIlKgRXWxd4VC0?=
 =?us-ascii?Q?0Xn54tqSCX4Zq6WqdtO8NCOp7i+xlOHRLHmVt30jeyfOCCbIeSCS1noucC8+?=
 =?us-ascii?Q?7PD8qAq2PChzQluSNKlEZlFKwUrCKO1YM4nM44/NaeyQ9Y/qRZFvOs5KD9eP?=
 =?us-ascii?Q?+OdQc3+AZI8k1ORI0390XYPEu4GTCKjBLinHpmOdKXGm64MI+m7Ot8RS4t+g?=
 =?us-ascii?Q?BQUvB3IYqTWbVwHFi+zTdZhv61fw4OScV7yBbwRGS2VqV2KHW4KrnBhK615S?=
 =?us-ascii?Q?i2CQAyyukLY6855Wziu4pOQRxr5lJFSoAszZjMhHBvbx9Wc8oS5pws3t+Isi?=
 =?us-ascii?Q?akJlCgYd21nem2s/aESUglBstqk2Itz9lO7FiBJU45A6JO7Gc2SUkxS3Bxuj?=
 =?us-ascii?Q?Di+BaMXvsyHfoLq8HnpR72AEG6NvDMuOZsU+1ljUlVPMk2qJg0Muy/KJ8eEl?=
 =?us-ascii?Q?sBsu6R91T/sLaHr/GTt5Jc+ajrB92Bi4lQRaJ3hPd4arn3ou032MY7nZbkd5?=
 =?us-ascii?Q?0gg2WZKitwRCBXuTIdwM9VoY3582M9yh6F+bNdCRUaxHedxQDYMCpUQiiDjM?=
 =?us-ascii?Q?Qm3xCij/tqMeFHU1wz4O8AepagQH5qud1ULiIpAbFXC8rhvs3/ROrx0nX5fm?=
 =?us-ascii?Q?X1JFVVSK7sQ4DWlTVen/R+lDyw3tqm0sv+rIJPSbQ6fgJUm8gwSGvilACVVx?=
 =?us-ascii?Q?SZWVpuUj/CQO7Q1LTKQ1e/rIRX3VWNSTdJk3liBzyNg8RKfusQa6yrwQeMs3?=
 =?us-ascii?Q?8sIq4aGLHTw+iG/cGLhBxRBmPneKoSdB+qUv9PVSDyP243zeZM89ZWRbbq7L?=
 =?us-ascii?Q?humn2g6a8O2h0R1dHQAomOoxupRcbVqEgT0zeCPEOYbRi+FO2Pzifpn0pKRa?=
 =?us-ascii?Q?QCpPjdpviXE8dmQ+W4IiMTDXebbR2z1+g0igvVKa95GTXbU84wZQaYpuWeK+?=
 =?us-ascii?Q?hQhXJ6PB9S4Bh2sqbPIK8OOWrfCan16IWN2lnP5g4jDtaq9g4XQGKPYRCKOr?=
 =?us-ascii?Q?A3yzzhFFxH5tFI6YgtwRTYAtOQPNaOPUNCtNEXBpudAEbFjv8ItvHza4GTxp?=
 =?us-ascii?Q?t+MG2TWlNYYahojovBvllrfEIuRYx1mXjd0ynN7pCT2gzA9BQYmLNwsquYJM?=
 =?us-ascii?Q?CHNn9s/NguLnUBmPJkLuHq0D8aDegGuHNQUoqjORUH1Th8ASbRuS+MHY8pV5?=
 =?us-ascii?Q?c/sCX/80f8R3bufuIwrD6iVF6Grmi+dqFL4S+JPCqUIw3itKWubhu71+mwzi?=
 =?us-ascii?Q?d3XFzSo/ExCZXWUauW8hGQ2xf8Qk8xtRjIga8GAyHND34pfYyD+093CDcfTZ?=
 =?us-ascii?Q?rwaLvY0FpM464pc3pRajMOfk?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f723ebdc-cc2f-42fe-4cef-08d96174aef2
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 11:46:43.1989
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: n8zk5d9X3xx3DBUXgpt1xcrES8NybQi06yxYkxy7hYHkmw+BOcXO9OxBWYg6I6PwID+mQKc4Nmopp54la1U8Tg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5904

On 17.08.2021 12:30, Andrew Cooper wrote:
> On 17/08/2021 09:54, Jan Beulich wrote:
>> On 16.08.2021 21:25, Andrew Cooper wrote:
>>> On 16/08/2021 16:29, Jan Beulich wrote:
>>>> and an apparently wrong comment stating
>>>> that not only v_end but also v_start would be superpage aligned
>>> Which comment?=C2=A0 The only one I see about 4M has nothing to do with
>>> superpages.
>> The one immediately ahead of the related variable declarations:
>>
>>     /*
>>      * This fully describes the memory layout of the initial domain. All
>>      * *_start address are page-aligned, except v_start (and v_end) whic=
h are
>>      * superpage-aligned.
>>      */
>>
>> I see nothing forcing v_start to be superpage-aligned, while I
>> do suspect that the "calculation" of the number of page tables
>> will be wrong when it isn't.
>=20
> This is an XTF test booting as dom0
>=20
> (d2) (XEN) *** Building a PV Dom0 ***
> (d2) (XEN) ELF: phdr: paddr=3D0x100000 memsz=3D0x12000
> (d2) (XEN) ELF: memory: 0x100000 -> 0x112000
> (d2) (XEN) ELF: note: GUEST_OS =3D "XTF"
> (d2) (XEN) ELF: note: GUEST_VERSION =3D "0"
> (d2) (XEN) ELF: note: LOADER =3D "generic"
> (d2) (XEN) ELF: note: HYPERCALL_PAGE =3D 0x106000
> (d2) (XEN) ELF: note: XEN_VERSION =3D "xen-3.0"
> (d2) (XEN) ELF: note: FEATURES =3D "!writable_page_tables|pae_pgdir_above=
_4gb"
> (d2) (XEN) ELF: note: PAE_MODE =3D "yes"
> (d2) (XEN) ELF: using notes from SHT_NOTE section
> (d2) (XEN) ELF: VIRT_BASE unset, using 0
> (d2) (XEN) ELF_PADDR_OFFSET unset, using 0
> (d2) (XEN) ELF: addresses:
> (d2) (XEN)=C2=A0=C2=A0=C2=A0=C2=A0 virt_base=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 =3D 0x0
> (d2) (XEN)=C2=A0=C2=A0=C2=A0=C2=A0 elf_paddr_offset =3D 0x0
> (d2) (XEN)=C2=A0=C2=A0=C2=A0=C2=A0 virt_offset=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 =3D 0x0
> (d2) (XEN)=C2=A0=C2=A0=C2=A0=C2=A0 virt_kstart=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 =3D 0x100000
> (d2) (XEN)=C2=A0=C2=A0=C2=A0=C2=A0 virt_kend=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 =3D 0x112000
> (d2) (XEN)=C2=A0=C2=A0=C2=A0=C2=A0 virt_entry=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 =3D 0x100000
> (d2) (XEN)=C2=A0=C2=A0=C2=A0=C2=A0 p2m_base=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 =3D 0xffffffffffffffff
> (d2) (XEN)=C2=A0 Xen=C2=A0 kernel: 64-bit, lsb, compat32
> (d2) (XEN)=C2=A0 Dom0 kernel: 64-bit, PAE, lsb, paddr 0x100000 -> 0x11200=
0
> (d2) (XEN) PHYSICAL MEMORY ARRANGEMENT:
> (d2) (XEN)=C2=A0 Dom0 alloc.:=C2=A0=C2=A0 000000003e800000->000000003ec00=
000 (240731
> pages to be allocated)
> (d2) (XEN) VIRTUAL MEMORY ARRANGEMENT:
> (d2) (XEN)=C2=A0 Loaded kernel: 0000000000100000->0000000000112000
> (d2) (XEN)=C2=A0 Init. ramdisk: 0000000000112000->0000000000112000
> (d2) (XEN)=C2=A0 Phys-Mach map: 0000000000112000->00000000002ea2d8
> (d2) (XEN)=C2=A0 Start info:=C2=A0=C2=A0=C2=A0 00000000002eb000->00000000=
002eb4b8
> (d2) (XEN)=C2=A0 Xenstore ring: 0000000000000000->0000000000000000
> (d2) (XEN)=C2=A0 Console ring:=C2=A0 0000000000000000->0000000000000000
> (d2) (XEN)=C2=A0 Page tables:=C2=A0=C2=A0 00000000002ec000->00000000002f1=
000
> (d2) (XEN)=C2=A0 Boot stack:=C2=A0=C2=A0=C2=A0 00000000002f1000->00000000=
002f2000
> (d2) (XEN)=C2=A0 TOTAL:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0=
000000000000000->0000000000400000
> (d2) (XEN)=C2=A0 ENTRY ADDRESS: 0000000000100000
>=20
> It would appear that v_start comes directly and unmodified from the
> VIRT_BASE ELF note.
>=20
> Other observations:=C2=A0 The ramdisk start/end aren't zero despite one b=
eing
> absent, and the M2P and start info ends aren't aligned.

I've already dealt with this ramdisk aspect in the v2 patch altering
the printing. For *_end there's nothing wrong to be misaligned (as
per the comment in question) - only v_end has a statement.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 17 11:51:11 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 11:51:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167788.306315 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFxcZ-0003qV-C3; Tue, 17 Aug 2021 11:51:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167788.306315; Tue, 17 Aug 2021 11:51:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFxcZ-0003qO-8B; Tue, 17 Aug 2021 11:51:07 +0000
Received: by outflank-mailman (input) for mailman id 167788;
 Tue, 17 Aug 2021 11:51:05 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=tbpc=NI=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mFxcX-0003qI-3z
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 11:51:05 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ab02d479-7adb-489a-a7a4-0c27c10903d9;
 Tue, 17 Aug 2021 11:51:04 +0000 (UTC)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2058.outbound.protection.outlook.com [104.47.13.58]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-25-YGXYKWkkNKuRGc4zS5yYnA-1; Tue, 17 Aug 2021 13:51:01 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4381.eurprd04.prod.outlook.com (2603:10a6:803:6d::30)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.19; Tue, 17 Aug
 2021 11:51:00 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Tue, 17 Aug 2021
 11:51:00 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR1P264CA0026.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:19f::13) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.14 via Frontend Transport; Tue, 17 Aug 2021 11: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: ab02d479-7adb-489a-a7a4-0c27c10903d9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629201063;
	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=k+XtMwYBwA6alHSQ6ERZ4HOToe5A2jJvogper1CteHk=;
	b=fQG9MQ+eDWyHOEE7syt86a0ZN/+BLhbe00RBj56lQKJMXIF++zaEzhjw5bdnlEiS2ewZEh
	8hkUX0jKy7s3UNMCh1StM5YjiIqwveuCcY5oSRiF2NOajZERY3/4BQ8+uDbXHN1NCcn3Fq
	EOPjbj+F/VuvVJhPSO6Eq7EPbSbCHCU=
X-MC-Unique: YGXYKWkkNKuRGc4zS5yYnA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=k0eJgOXH31SiKxmF1VV/z/pVNMdS63305GesV6/mQIvMjJTwMu3WNvA6SmW6FC4oDTXmX6TU4OF+QJ8c/E0mz4yGtmdoE/ZBKbYLWurveOS/OXlBMnp5MxFabm7aCt+iVp3btVeHp81oWaC3KxKE09RjfsJc/UxsyPnvNSx+6VvQZeOEyQrA4twQAW53Ijita2LIjAVlOTpEtiB/CCBODlSG67/C0IUL7z0Tb/4WW4k3iGcOOp0opVgLQ3LGZ8OGbUXm2rHoOkzTS9O2//cqpWDuAc4l4OPUHBX5qXr99tw/maCFkBa6kHRUn7q3HiiLHg8Wv+OlpxLk7e/zowX7xg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=k+XtMwYBwA6alHSQ6ERZ4HOToe5A2jJvogper1CteHk=;
 b=Y6mzz4uIUT9crZ1Ndjp6JItL8RRkoLInQJNEghpsZeWeYkht6QgX7lElkssgHD+TmGcbLovnsK74ZoYjlV104+YWBSdReUdbyazsszD11zQK/DQNZS7xnQMX4uR1WahIUBwfErVJzmeniAt3ZOBH9eVB0elhgiSQy+rY4qzeFuPrsdJc1snzOkwTW1Yo+Gu78v2wvce/8wSL5wguBV7WiHyki8W7zF0aLNgsXUgiGTNWIDYNKiTU+zlLlsYg9xKSChGz30nZvblerGHF2Zy7bC99LsKYCBeAPHEnREYY0NwWV0Lp2b1BhU7vhhfOazQzdJruZbHtC0wB21i9FeGXfg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH] x86/cet: Fix build on newer versions of GCC
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>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20210817105656.19683-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <e8f63439-a37d-9cd2-85ee-7a1d06609bbc@suse.com>
Date: Tue, 17 Aug 2021 13:50:58 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210817105656.19683-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR1P264CA0026.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:19f::13) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: aa0abf47-2771-4767-3193-08d961754843
X-MS-TrafficTypeDiagnostic: VI1PR04MB4381:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB438167C546F6872AD0094637B3FE9@VI1PR04MB4381.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:2887;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	guFt691L9W3u2VPceQJYX6Sxpvx/XpcY4kiomegK/Kaq4+tPIBgJyZNwgZv0+CLhigO8YCfo+m0y3Chj6qwK8YfRb2hgqkrohsemO3DU9WFUjt4c8ave/WGPeu1Kk/Jim05ortCQm4dElSCN+dCXKHhcqagaT26TEEk0Lcshwc9KHSd7545H0LOatZfOUNFA0kAh/82LqrtSkxgZ/a6V4CaE5MVDCWSOcdkuTdNQDW2xoFNsZQQWUrpMstaAcLmTqO7qxUVZAALLx6gXuEiw1vv6aL5OxlADYPAU71GdlsobwEHTs3jMcdpCTIaY7nJRnZYOe9e2z+zaGxJjI6OIK72jcs7t1OhXKWNkbelwcVF6/CF20DgzeUyrnhIxN6589WhxLt6vQTMbLDA8uHUF2mBTvJmRs/Vj7Pt/W6zgzSvh6l2ZOrFVQxEmkuRhGo3twAp0zO1KMSOoK+INMJPBDEItOn0W+D2stGxrZoJwJTroLYZuVhSKbZmKbeSVQeRlB+VGmqnJcVD/vNzeteY4U4e9PP/aYmfrqmHr5tNeuOUTdjWqPFFINtyy4uS+h7bESfLUhP0XF90ZPQKptSr5L61Jjg69Rf/GDH+Xos35kQrlbQgXqWhHlydD96ZIVYglJAkgNw3DHg6M7djDl/MA1HQ3mjk2GRfcfaeWhFg/aDxZ8SZoVHIpGwqUQaMj190g4yg/oiz/QejC7t/vQ3ypiaS6rDxgyFmTTyaQCi4WH5Q=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(376002)(346002)(136003)(39860400002)(366004)(54906003)(186003)(66476007)(2906002)(316002)(16576012)(8676002)(66556008)(66946007)(83380400001)(478600001)(5660300002)(6486002)(31686004)(956004)(53546011)(4744005)(36756003)(26005)(6916009)(86362001)(8936002)(38100700002)(4326008)(31696002)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QU1TMmNmNXZYMmw3eGdEVjZVSlVINGkzR0w4V2hDci9BWGl2VkppN1hJTG5Q?=
 =?utf-8?B?QzBDbFg5RjgxUW5BQlBQdHVzZUVBWHFWYmZCOWVlZzFaWER1cmdhc2k2b0s2?=
 =?utf-8?B?UmRFY0NsbDRRWEplMHFGdlVBU28rNzJPUzdNY3BDOGhjMldMbXY1eEVYd0h2?=
 =?utf-8?B?Y1FkZHREMWI3THpheUFKNTdTV2dxRzFkVlFTbkJoNG9ZanVlemhoR0lUTXc0?=
 =?utf-8?B?Z1BLdkVpWnRqQWdnRlR2R3JBd3dWQlhKSVJDTVFyNndSc3E4OXFlSFFqWk53?=
 =?utf-8?B?eFR2bVlBOEtaZTQ0UUJpQ2Y0ZHJuMmFnVjJlelFZdHlsVThnM3hPdWN3RGoy?=
 =?utf-8?B?SUFCcFVDK2pBOGEwVXlDR3hLeHRuZi9BZ3ZONXQ0SzBmUk9LblVHSDVhazJk?=
 =?utf-8?B?R1ZYZkQ0Yi9IU1dMK3h3L0x5cU9Lc1QvUit4UGJhZEZ6TFYrRFVFeVBHVzlR?=
 =?utf-8?B?cDJQa2JDdXVnaUU0MHZGNlU0RXJhVHkrUzRucU9BYkVzb1Rma0NJUHNrWml6?=
 =?utf-8?B?VHU4b0lOdmNYOFdoTkZuT3ZWTTlPcWxDU2NWSUhxTFVMYWxsVVB5VTFkSG04?=
 =?utf-8?B?ZjB6VlI3MkJXUTVIVzZNR3oxWFlLRlBzazBmY3RmYXcyOUJQMlZOMTQ2aU15?=
 =?utf-8?B?SUM1MEtvamRveDdHdUpSUml0aHpDWlZIVjhSV0NIVmJoRDlleE1qQmE5bkdt?=
 =?utf-8?B?dHlBNFNKTTlJc3lUWmxMcUN2Y1pjM3Y0dFJYNjI3NkNSRDdjam85UTFvUDhB?=
 =?utf-8?B?VUhKa0I3STd5S1FkQldaRVFzb1BEZlF5SDhNMi9ZdjZ2ZlVCVi81bmFSNElo?=
 =?utf-8?B?VUxmNkZ2dGllS1hhdkM4TllEOGhQTmt2eUtlb3JGYmZrYUlpZHd1c1JueldU?=
 =?utf-8?B?dG5MWFN6THpRTTc4ajc3YkNYV0h2enFndHoyN2hkeldGcDZRZmJITlhIMkM0?=
 =?utf-8?B?LzVpMXdqR2JDUDA5ZGVnbll1b0ZSRHcwZ1VidmFtUm9hR2hUbmczaktSRGF2?=
 =?utf-8?B?cjEvRmFYS3pkUlJ1YW5zbXpSSVhCMThZNzhBOGpCYjdsSVpQMDVidlVEUG1P?=
 =?utf-8?B?T3RveEVOWUJrKzJPMDdFcGFsSHdlNlRLUW5mSXhoVDVIVGRtMXliOHVOM1RT?=
 =?utf-8?B?d3kwM3NhQ05aeXF5NTB2amRZc0NkWTNaOWIybm50aW9sM2VMOTA5Wkd5K1Rq?=
 =?utf-8?B?eWtSU3VCcVc0eXZmcDBkYko3ZnViOWNkUnJ1OFpaV3BZK2RvQmtjZXQ4cG5v?=
 =?utf-8?B?ZlZCNVVER21EamNyTkl2NUJMUWhlVGhEcEladlVGd0k4QVNZWjZCWWJQOEZ2?=
 =?utf-8?B?Q0RyTWlzekIxTko1Z2J1SFJqMHNUVURLM01YUWM1K3hLalplc2J5NXZjMmR6?=
 =?utf-8?B?Q0hQOTNteUdLZ1FJejBpa1M2dW5CQ043ZGRuelY0L1hmWjBYaDFFY2N1MEZq?=
 =?utf-8?B?TTRoNzlyVlJJVmU3ZW1ZMHVxemY3eU9rT2czR0JBSE5yaFJQSHArVTl6UVlG?=
 =?utf-8?B?bDBVOVNXNHluR3ZZQ1hXRlB6WVdKa2VwKzF1bUUzUlY1MjdIM2h0WUZ0cmhs?=
 =?utf-8?B?bnRGY1kxaFN6R0JrdFZ5RHYyZHo5ZndQdFNJWW5sMW53RUVyMnR2c2hPSUdj?=
 =?utf-8?B?TFNDbE9FVk83VUE2MmlLTmg4a3pPZFQrTitvVlJLZXlYcnBlQUMyTll5Rldj?=
 =?utf-8?B?bUNBYk9mUTVFT0JvRTRaTE9jMU9ncXZUdmFMODFQU0h4UVRDeVRBZVBQZnJB?=
 =?utf-8?Q?0sfhj69c4FHnSaJJCwpVDyedngB0CbfWn7QE8fl?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: aa0abf47-2771-4767-3193-08d961754843
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 11:51:00.2026
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: QKAcGMgYKRleFmwe2rfYU9aYzrDFOiS1B5WQVEySDX8IOp/JBttbKdwqvOYCH5+pwcgiG78HEzmha/m4di4slA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4381

On 17.08.2021 12:56, Andrew Cooper wrote:
> Some versions of GCC complain with:
> 
>   traps.c:405:22: error: 'get_shstk_bottom' defined but not used [-Werror=unused-function]
>    static unsigned long get_shstk_bottom(unsigned long sp)
>                         ^~~~~~~~~~~~~~~~
>   cc1: all warnings being treated as errors
> 
> Change #ifdef to if ( IS_ENABLED(...) ) to make the sole user of
> get_shstk_bottom() visible to the compiler.
> 
> Fixes: 35727551c070 ("x86/cet: Fix shskt manipulation error with BUGFRAME_{warn,run_fn}")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

> Not actually tested.  I don't seem to have a new enough GCC to hand.

Compile-tested-by: Jan Beulich <jbeulich@suse.com>

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 17 12:06:50 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 12:06:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167801.306325 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFxrZ-0005gR-5U; Tue, 17 Aug 2021 12:06:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167801.306325; Tue, 17 Aug 2021 12: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 1mFxrZ-0005gK-2X; Tue, 17 Aug 2021 12:06:37 +0000
Received: by outflank-mailman (input) for mailman id 167801;
 Tue, 17 Aug 2021 12:06: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 1mFxrX-0005gA-Im; Tue, 17 Aug 2021 12:06: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 1mFxrX-00051r-FC; Tue, 17 Aug 2021 12: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 1mFxrX-00037Z-7E; Tue, 17 Aug 2021 12:06:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mFxrX-00036g-6m; Tue, 17 Aug 2021 12: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=ZBR+pi1jRJTQjL6nY9sVevsy5tW8TeCQ8BwTACi5+/4=; b=AykZbv8UHmihTed1X9ooN9jEkP
	eewWU5KmoQJ/5bILSWPodWc2FDRaeKnpXFQVCEfjqXDUutolPhpU4bIzqZ0P6THLHKypfxZjf5fNb
	IesIVg36iUMRAbD2X6TL8qDrcKCj4j7PdX9O20+FFb5acHxs/tMyHd3C4TjkUWoFfme4=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164226-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 164226: regressions - FAIL
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:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=35727551c0703493a2240e967cffc3063b13d49c
X-Osstest-Versions-That:
    xen=274c5e79c792ce0331d0d8cd9a01545dea5a48fd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 17 Aug 2021 12:06:35 +0000

flight 164226 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164226/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                   6 xen-build                fail REGR. vs. 164206

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          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  35727551c0703493a2240e967cffc3063b13d49c
baseline version:
 xen                  274c5e79c792ce0331d0d8cd9a01545dea5a48fd

Last test of basis   164206  2021-08-16 14:01:35 Z    0 days
Testing same since   164207  2021-08-16 17:01:34 Z    0 days    5 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>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  fail    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          blocked 
 test-armhf-armhf-xl                                          pass    
 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 35727551c0703493a2240e967cffc3063b13d49c
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Thu Aug 12 17:39:16 2021 +0100

    x86/cet: Fix shskt manipulation error with BUGFRAME_{warn,run_fn}
    
    This was a clear oversight in the original CET work.  The BUGFRAME_run_fn and
    BUGFRAME_warn paths update regs->rip without an equivalent adjustment to the
    shadow stack, causing IRET to suffer #CP because of the mismatch.
    
    One subtle, and therefore fragile, aspect of extable_shstk_fixup() was that it
    required regs->rip to have its old value as a cross-check that the right word
    in the shadow stack was being edited.
    
    Rework extable_shstk_fixup() into fixup_exception_return() which takes
    ownership of the update to both the regular and shadow stacks, ensuring that
    the regs->rip update is ordered correctly.
    
    Use the new fixup_exception_return() for BUGFRAME_run_fn and BUGFRAME_warn to
    ensure that the shadow stack is updated too.
    
    Fixes: 209fb9919b50 ("x86/extable: Adjust extable handling to be shadow stack compatible")
    Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Tested-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit bc141e8ca56200bdd0a12e04a6ebff3c19d6c27b
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Mon Aug 16 14:24:44 2021 +0100

    x86/ACPI: Insert missing newlines into FACS error messages
    
    Booting Xen as a PVH guest currently yields:
    
      (XEN) ACPI: SLEEP INFO: pm1x_cnt[1:b004,1:0], pm1x_evt[1:b000,1:0]
      (XEN) ACPI: FACS is not 64-byte aligned: 0xfc001010<2>ACPI: wakeup_vec[fc00101c], vec_size[20]
      (XEN) ACPI: Local APIC address 0xfee00000
    
    Insert newlines as appropriate.
    
    Fixes: d3faf9badf52 ("[host s3] Retrieve necessary sleep information from plain-text ACPI tables (FADT/FACS), and keep one hypercall remained for sleep notification.")
    Fixes: 0f089bbf43ec ("x86/ACPI: fix S3 wakeup vector mapping")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit 6928bc511399fd8f593fe49a3241212860a6a1b5
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Thu Aug 12 14:49:57 2021 +0100

    MAINTAINERS: Fix file path for kexec headers
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 12:21:15 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 12:21:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167808.306344 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFy5f-0007yo-IF; Tue, 17 Aug 2021 12:21:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167808.306344; Tue, 17 Aug 2021 12: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 1mFy5f-0007yh-F8; Tue, 17 Aug 2021 12:21:11 +0000
Received: by outflank-mailman (input) for mailman id 167808;
 Tue, 17 Aug 2021 12:21:09 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=tbpc=NI=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mFy5d-0007yI-M6
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 12:21:09 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 991aa6cc-ff55-11eb-a4aa-12813bfff9fa;
 Tue, 17 Aug 2021 12:21:07 +0000 (UTC)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2058.outbound.protection.outlook.com [104.47.14.58]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-28-3EZrPZL2MJm5qzJBgu2orw-1; Tue, 17 Aug 2021 14:21:04 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB6175.eurprd04.prod.outlook.com (2603:10a6:803:fb::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Tue, 17 Aug
 2021 12:21:03 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Tue, 17 Aug 2021
 12:21:03 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0064.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1d::28) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.17 via Frontend Transport; Tue, 17 Aug 2021 12:21:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 991aa6cc-ff55-11eb-a4aa-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629202866;
	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=G+2cpk4e8jXkWg8xcAoRbTfDRvL50s+Q0hbvaROASnw=;
	b=OTVoLOXnkbA/Cd2VqwfGdzGu7ftvnu9fUXZpMaL9hK8Hh2RFCqxMrJtB5M2EFjQ2DsE0s6
	oTASZA/+vOCOGT5C3HKlnmm8bUrWAGXvJOzeEFCwfvvDnDUfl0M3hMUKmXCI76KkugAMwF
	//l9m2MK+jbFJ1sAlTMhyFJNm0Ga7ag=
X-MC-Unique: 3EZrPZL2MJm5qzJBgu2orw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ltmXqXlKOHSr8kJ7vl7TjsnNwIzBBKlyNhFNvVSy/JI/fl88bSw3wVJ7RdzqBQomgws7c35RNFozfn5xOTobUqLc8Ix5Ld04oi/IWtiEMNhdQba0Gk0YeiuHmSsleQztHF2Wn4qk2B2lLNwxfqvCTNa9YxA6f5nED0m9qOQ7jkp4tkDQyH4mFx0ucGtlyBkMj1icoLpNEKVhZyzc5+6thMFsZxCoqGGgn/TMweM7wK+vP+eDsRvsHK9A8naEuti3pUHh7Vfkp5j79vzxPp472SwvQuAhPB1jTBsGO0kM//optOohCWK0bBIhtPd3b1okSM1E813pmbtbav7lxl7y1g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6Nm8l41aTCSbh1ck+dU2sEZLxgVtCwVPTz1T6/35yy8=;
 b=fHrfEIbLc+EbbgMQNxCx52sEcKXovuWcS/APR/DM+qn92Fy5qxOhT/DoCZMH7DUXai5EF2lMEhon8Uyzx7MkqD1ooXOPVNqCTZDS6MRVduEVNrFnwfm3/wiaMLnBx166Gez4KeVIvEK88jiL9uL37sd8KU3AXGTxTp0fdQ2mWazIQJxqGz/3Fex6WdNOQJmC2qJuuBa4YItG/Aj7e20Ob2RUriTEYrAjtgpb4AoE/AFmllT6qe1as2j1Gu1akJ+wa0EA5PpPjhYky5oEY2C6IwrHprhzN2wWirXtXL3xPZtYSlozdnjONxC2Wl1lk9EMC0h3nr+vSg12C3nNoBZVoA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: citrix.com; dkim=none (message not signed)
 header.d=none;citrix.com; dmarc=none action=none header.from=suse.com;
Subject: Re: S3 resume issue in xstate_init
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
CC: xen-devel <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <YRsQArpQcpLB/Q5h@mail-itl> <YRuXNmpT+03aPo+p@mail-itl>
 <95ca90ae-9c37-c77c-67dc-66c1aabd1626@citrix.com> <YRuhFWLrplRRV6t+@mail-itl>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <a575e7e0-156f-9ed1-cff2-92e4d7000090@suse.com>
Date: Tue, 17 Aug 2021 14:21:01 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <YRuhFWLrplRRV6t+@mail-itl>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: PR0P264CA0064.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1d::28) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4d34f016-91d3-48d9-601c-08d961797b24
X-MS-TrafficTypeDiagnostic: VI1PR04MB6175:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB617559C30B421BAA71DC5B06B3FE9@VI1PR04MB6175.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5v9ol/7qM4dPyxFhKDCPlhCM8UHc1vwpvmsc8kitbsdQnqLGCqGntvANiM/odBSo3rxngVDHh0FuYVaIaY1483F25mFjdSOJSM6eqlHwCc4kAdwZTJJ2+Gb3gsyYlCut22+gj3uPAoOvu91TdDbOK1pp2bkmgN9Y28wUNQr2cC78iMKMXyPMrQ88DGrN7S4jxZNQBFzxLj4yB+fNj2c8dBPUgGmFTgvfJslnUTF1wQ+igsMHrrjxHlKj6VDnjTN25gfLN72Iu/Tr34GdwuhfuA/7o8VRH8f6DAZR93pn+4aIvRN2I22AJCokp1PDN1VvBiQFeSG8dz7mNXn61YHqNKb/ZKLR8fP/I6hXlz4VcnPBPvR8cxAtscPKWlW2BsHHMiS8H3R9p55ei2bqvB45F4jVioj3p6MO2+2rSNZMbP4MCoQrSj6Upc3D/eAiw3GTEurDR7rWPATE5erfs/MHfvBl6pjZ0r4IqFxJ9f0OklTAM18oyIvpAmcXOg21XUBsbqQ8MuLDK644R41P+6y5jkwxYFP8Aa27jpmKwge7jTEE1BwICM9Vls3V3kigKiEGAojUFR1eHH/GZbwiZm6t9+S0SoBXWiUSNw8LgI6eAdBCWuAfcDNxTouCO1Z2xLzqt9hkste7nYlzc1UuH4dwPK54Y8DFwgc6EQf12KM9fyU+AvAbA7xJOmE9hOQcBGemxiQaho5RHkNFfp8hQihAi0elYrjL2rFjDEaC0hMZSeirK4oiiQTegKoOKxCaiEzStmTg0bN1GsD+7w2crl03WJkHchdU4mkVqyDBNZ9eHMDWPhzzxJ0J5mBJmeQrc/xz
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(54906003)(26005)(16576012)(31686004)(2906002)(6916009)(5660300002)(8676002)(508600001)(316002)(66946007)(31696002)(966005)(38100700002)(6486002)(36756003)(66556008)(83380400001)(66574015)(186003)(53546011)(86362001)(4326008)(956004)(8936002)(66476007)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?vUw3msdE4SgSs0ceGfoV8mqCSVB/BKZ3SuqdnaobhG8GZJOykT1VrV1XDM3j?=
 =?us-ascii?Q?+NKLhfqRgmQHu9/zUvT0CMQMqcURlmFxJZuQyr5JwQhbzHCd58DS9kxmem3Q?=
 =?us-ascii?Q?eCcZOY5TZ9kA4wlvZrFiOmwdTtconIY6n+5mBjC4t9rkHV4GcwQNvyHofo1b?=
 =?us-ascii?Q?N8T5f16d6qpOKvfgTTSLqMAynRwgEYkt1q9JUTMTYrXJPPMl4T+4tQvFIwjm?=
 =?us-ascii?Q?HYwQUdO6HraJK5aDx2lsaIVyyxhQJ4T4XGQ8+HShwTzNoLrLjpV72/6lkKGo?=
 =?us-ascii?Q?kNquwcvLiU2/0gcXfRS7rtKagbQI1WYfxVfLhPJhhBNf1lcZfzAIl6CuAvG1?=
 =?us-ascii?Q?8tCOluTbnZ8klJTyFSDypv87RQUMGpdNrLGyGGWCCNgTZg3aUKINCMuGI9Yh?=
 =?us-ascii?Q?cfvPhFZXQXliNjvhWYr+TyemuDdszLvYAMxc2xApDCPU8mEV+FN8NNAuMHz4?=
 =?us-ascii?Q?ohQZQPsAusRVTIeAv4Hb8A4xvzWDELikfUHm9OnrpD/pv2PNdnSub7dKwY7Y?=
 =?us-ascii?Q?W5N5FqaOiqPniCRYOSN4rai1oOsdJD/3DU/O8a7ii+yUbrYcD79NF3oKqIy4?=
 =?us-ascii?Q?dsXm4pYCXejKBVEPiBKL42JmE8GdRr/Fs0VCEXJQsmK0aHI8w/07oW5KArLs?=
 =?us-ascii?Q?u3KDyM9tQLgABAOAA7HONnVgAKfsYewqvBNDW+5VMdqhGVCD35QAmcXqaKJv?=
 =?us-ascii?Q?2PIDhUvANiu4G7ndMI3K9VxfLOqd5uNuUuE9zQgZ5DIlFdRO6G+/7iWR5/03?=
 =?us-ascii?Q?00A54+55VuozXoxOyixA1xZcJ8ECEbf4JRCd3dIWJdqIae39/dmcpdkFb7Ob?=
 =?us-ascii?Q?neNkAg4pSLDydXm2/016PJvV3jIQF/KcllEQE98JNoNQrPocGkkmxSM4/nbw?=
 =?us-ascii?Q?kBYtjf+JWmojBQ0YF81K2sIwB4Q3PyYTI1OQkS7ox3th5aYm6zLD+MhAg49W?=
 =?us-ascii?Q?JguuTN6dkAFKLEaN7sTdSBJ0nYaGnJ4i8eAwQhqo2cW+rjNyTlhmzX+jf6P7?=
 =?us-ascii?Q?EJJqZ/vxRenEacKq0U0FddxiSGU98k8Hv6y/POb99DsX7DwVyIF3HCAa3ALU?=
 =?us-ascii?Q?PLpVW1E/4Zvn9MiWr6zQzCbACHT46kzFIkNuk0iWVtcpSdjoPVy4lkKHYf5d?=
 =?us-ascii?Q?8lJhxI/8aSALcPzFJRnviFGQuuLYVy0jtAPe7dzG1y78VLQGgmc/rFJUM0KZ?=
 =?us-ascii?Q?dYXQJj+98Cl7R5BzLxRYkHSzdNCfEe5lH5pcF/7G4YOGzvQaXsRJgkhqii90?=
 =?us-ascii?Q?vhPclUQKRzbb5Gb5Ktlua4fQZSnc3uKBPwcYIcjJGBs75JDyHfmi0vCEHECl?=
 =?us-ascii?Q?Y+nIAlSuC5rV54J/760CKUKN?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4d34f016-91d3-48d9-601c-08d961797b24
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 12:21:03.6183
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: awBViicGWBYwfeLz8ifiNqUIWoudv4DFiI8jTRa9RrsFlozdZtH/yPsPTdlScdvrWHnmNUGmMhlQNjUQMjVTGQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6175

On 17.08.2021 13:44, Marek Marczykowski-G=C3=B3recki wrote:
> On Tue, Aug 17, 2021 at 12:14:36PM +0100, Andrew Cooper wrote:
>> On 17/08/2021 12:02, Marek Marczykowski-G=C3=B3recki wrote:
>>> On Tue, Aug 17, 2021 at 03:25:21AM +0200, Marek Marczykowski-G=C3=B3rec=
ki wrote:
>>>> Hi,
>>>>
>>>> I've got another S3 issue:
>>>>
>>>> (XEN) Preparing system for ACPI S3 state.
>>>> (XEN) Disabling non-boot CPUs ...
>>>> (XEN) Broke affinity for IRQ1, new: ffff
>>>> (XEN) Broke affinity for IRQ16, new: ffff
>>>> (XEN) Broke affinity for IRQ9, new: ffff
>>>> (XEN) Broke affinity for IRQ139, new: ffff
>>>> (XEN) Broke affinity for IRQ8, new: ffff
>>>> (XEN) Broke affinity for IRQ14, new: ffff
>>>> (XEN) Broke affinity for IRQ20, new: ffff
>>>> (XEN) Broke affinity for IRQ137, new: ffff
>>>> (XEN) Broke affinity for IRQ138, new: ffff
>>>> (XEN) Entering ACPI S3 state.
>>>> (XEN) mce_intel.c:773: MCA Capability: firstbank 0, extended MCE MSR 0=
, BCAST, CMCI
>>>> (XEN) CPU0 CMCI LVT vector (0xf1) already installed
>>>> (XEN) Finishing wakeup from ACPI S3 state.
>>>> (XEN) microcode: CPU0 updated from revision 0xca to 0xea, date =3D 202=
1-01-05
>>>> (XEN) xstate: size: 0x440 (uncompressed 0x440) and states: 0x1f
>>>> (XEN) Enabling non-boot CPUs  ...
>>>> (XEN) xstate: size: 0x440 (uncompressed 0x240) and states: 0x1f
>>>> (XEN) Xen BUG at xstate.c:673
>>>> (XEN) ----[ Xen-4.16-unstable  x86_64  debug=3Dy  Not tainted ]----
>>>> (XEN) CPU:    1
>>>> (XEN) RIP:    e008:[<ffff82d040350ee4>] xstate_init+0x24b/0x2ff
>>>> (XEN) RFLAGS: 0000000000010087   CONTEXT: hypervisor
>>>> (XEN) rax: 0000000000000240   rbx: 000000000000001f   rcx: 00000000000=
00440
>>>> (XEN) rdx: 0000000000000001   rsi: 000000000000000a   rdi: 00000000000=
0001f
>>>> (XEN) rbp: ffff83025dc9fd38   rsp: ffff83025dc9fd20   r8:  00000000000=
00001
>>>> (XEN) r9:  ffff83025dc9fc88   r10: 0000000000000001   r11: 00000000000=
00001
>>>> (XEN) r12: ffff83025dc9fd80   r13: 000000000000001f   r14: 00000000000=
00001
>>>> (XEN) r15: 0000000000000000   cr0: 000000008005003b   cr4: 00000000003=
526e0
>>>> (XEN) cr3: 0000000049656000   cr2: 0000000000000000
>>>> (XEN) fsb: 0000000000000000   gsb: 0000000000000000   gss: 00000000000=
00000
>>>> (XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: 0000   cs: e008
>>>> (XEN) Xen code around <ffff82d040350ee4> (xstate_init+0x24b/0x2ff):
>>>> (XEN)  ff e9 a2 00 00 00 0f 0b <0f> 0b 89 f8 89 f1 0f a2 89 f2 4c 8b 0=
d cb b4 0f
>>>> (XEN) Xen stack trace from rsp=3Dffff83025dc9fd20:
>>>> (XEN)    0000000000000240 ffff83025dc9fd80 0000000000000001 ffff83025d=
c9fd70
>>>> (XEN)    ffff82d04027e7a1 000000004035a7f1 7ffafbbf01100800 00000000bf=
ebfbff
>>>> (XEN)    0000000000000001 00000000000000c8 ffff83025dc9feb8 ffff82d040=
2e43ce
>>>> (XEN)    000000160a9e0106 bfebfbff80000008 2c1008007ffaf3bf 0000000f00=
000121
>>>> (XEN)    00000000029c6fbf 0000000000000100 000000009c002e00 02afcd7f00=
000000
>>>> (XEN)    756e654700000000 6c65746e49656e69 65746e4904b21920 726f432029=
52286c
>>>> (XEN)    376920294d542865 432048303537382d 322e322040205550 000000007a=
484730
>>>> (XEN)    ffff830000000000 ffff83025dc9fe18 00002400402e8e0b 000000085d=
c9fe30
>>>> (XEN)    00000002402e9f21 0000000000000001 ffffffff00000000 ffff82d040=
2e0040
>>>> (XEN)    00000000003526e0 ffff83025dc9fe68 ffff82d04027bd15 0000000000=
000001
>>>> (XEN)    ffff8302590a0000 0000000000000000 00000000000000c8 0000000000=
000001
>>>> (XEN)    0000000000000001 ffff83025dc9feb8 ffff82d0402e32b7 0000000000=
000001
>>>> (XEN)    0000000000000001 00000000000000c8 0000000000000001 ffff83025d=
c9fee8
>>>> (XEN)    ffff82d04030e401 0000000000000001 0000000000000000 0000000000=
000000
>>>> (XEN)    0000000000000000 0000000000000000 ffff82d040200122 0800002000=
000002
>>>> (XEN)    0100000400010000 0000002000000000 2000000000100000 0000001000=
000000
>>>> (XEN)    2000000000000000 0000000029000000 0000008000000000 00110000a0=
000000
>>>> (XEN)    8000000080000000 4000000000000008 0000100000000000 0200000040=
000080
>>>> (XEN)    0004000000000000 0000010000000002 0400002030000000 0000000060=
000000
>>>> (XEN)    0400001000010000 0000000010000000 0000004010000000 0000000000=
000000
>>>> (XEN) Xen call trace:
>>>> (XEN)    [<ffff82d040350ee4>] R xstate_init+0x24b/0x2ff
>>>> (XEN)    [<ffff82d04027e7a1>] F identify_cpu+0x318/0x4af
>>>> (XEN)    [<ffff82d0402e43ce>] F recheck_cpu_features+0x1f/0x72
>>>> (XEN)    [<ffff82d04030e401>] F start_secondary+0x255/0x38a
>>>> (XEN)    [<ffff82d040200122>] F __high_start+0x82/0x91
>>>> (XEN)=20
>>>> (XEN)=20
>>>> (XEN) ****************************************
>>>> (XEN) Panic on CPU 1:
>>>> (XEN) Xen BUG at xstate.c:673
>>>> (XEN) ****************************************
>>>> (XEN)=20
>>>> (XEN) Reboot in five seconds...
>>>>
>>>> This is with added debug patch:
>>>>
>>>> diff --git a/xen/arch/x86/xstate.c b/xen/arch/x86/xstate.c
>>>> index 6aaf9a2f1546..7873a21b356a 100644
>>>> --- a/xen/arch/x86/xstate.c
>>>> +++ b/xen/arch/x86/xstate.c
>>>> @@ -668,6 +668,8 @@ void xstate_init(struct cpuinfo_x86 *c)
>>>>      else
>>>>      {
>>>>          BUG_ON(xfeature_mask !=3D feature_mask);
>>>> +        printk("xstate: size: %#x (uncompressed %#x) and states: %#"P=
RIx64"\n",
>>>> +               xsave_cntxt_size, hw_uncompressed_size(feature_mask), =
feature_mask);
>>>>          BUG_ON(xsave_cntxt_size !=3D hw_uncompressed_size(feature_mas=
k));
>>>>      }
>>>> =20
>>>>
>>>> As can be seen above - the xsave size differs between BSP and other
>>>> CPU(s) - likely because of (not) loaded ucode update there.
>>>> I guess it's a matter of moving ucode loading somewhere else, right?
>>>
>>> Few more data points:
>>>
>>> 1. The CPU is i7-8750H (family 6, model 158, stepping 10).
>>> 2. I do have "smt=3Doff" on the Xen cmdline, if that matters.
>>
>> As a datapoint, it would be interesting to confirm what the behaviour is
>> with SMT enabled.
>>
>> I'd expect it not to make a difference, because smt=3Doff is a purely Xe=
n
>> construct and doesn't change the hardware configuration.
>=20
> Uhm, changing to smt=3Don actually _did_ change it. Now it doesn't crash!
>=20
> Let me add CPU number to the above printk - is smp_processor_id() the
> thing I want?
> With that, I get:
> https://gist.github.com/marmarek/ae604a1e5cf49639a1eec9e220c037ca
> Note that at boot all CPUs reports 0x440 (but only later are parked).

And for a feature mask of 0x1f only 0x440 can possibly be correct.
I'm kind of guessing that set_xcr0() mistakenly skips the actual XCR0
write, due to the cached value matching the to-be-written one, yet
the cache having gone stale across S3. I think this is to be expected
for previously parked CPUs, as those don't have their per-CPU data
de-allocated (and hence also not re-setup, and thus also not starting
out as zero). I guess an easy fix would be to write 0 to
this_cpu(xcr0) directly early in xstate_init(), maybe in an "else"
to the early "if ( bsp )".

I'm not sure though this would be a good fix longer term, as there
might easily be other similar issues elsewhere. IOW we may need to
see whether per-CPU data initialization wouldn't want changing.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 17 12:26:21 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 12:26:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167814.306355 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFyAa-0000Eb-47; Tue, 17 Aug 2021 12:26:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167814.306355; Tue, 17 Aug 2021 12:26: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 1mFyAa-0000EU-16; Tue, 17 Aug 2021 12:26:16 +0000
Received: by outflank-mailman (input) for mailman id 167814;
 Tue, 17 Aug 2021 12:26:15 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mFyAZ-0000EO-KU
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 12:26:15 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mFyAZ-0005Lm-Ik
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 12:26:15 +0000
Received: from iwj (helo=mariner.uk.xensource.com)
 by xenbits.xenproject.org with local-bsmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mFyAZ-0002ei-G2
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 12:26:15 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.89)
 (envelope-from <iwj@xenproject.org>)
 id 1mFyAV-0003yp-LL; Tue, 17 Aug 2021 13:26:11 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=References:In-Reply-To:Subject:Cc:To:Date
	:Message-ID:Content-Transfer-Encoding:Content-Type:MIME-Version:From;
	bh=wO+NE28VTPtNM7l5Olmz96izy4be9S6rB/yTKX1pj1Y=; b=cYIA+5Zn1ihNqQ99keW3kaeEi2
	5/vcB3umy508WXzY2yv3TNTNRbLDM1wZmcjiIjRiJ8ZtyEjKMQCvwj9vt4lH2TW79+MG+RSNY1rOX
	eUZpwLavpmNs/PipjnElZvM7U3KV7zZhsNHZCtfOYNgbCF8rTpYtgJRYRT8LiVsqnRX8=;
From: Ian Jackson <iwj@xenproject.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <24859.43747.87671.739214@mariner.uk.xensource.com>
Date: Tue, 17 Aug 2021 13:26:11 +0100
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org,
    pdurrant@amazon.com,
    Wei Liu <wl@xen.org>,
    Anthony PERARD <anthony.perard@citrix.com>,
    Juergen Gross <jgross@suse.com>,
    Paul Durrant <pdurrant@amazon.com>,
    Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
    Marek =?iso-8859-1?Q?Marczykowski-G=F3recki?= <marmarek@invisiblethingslab.com>,
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v2] libxl: Fix stubdom PCI passthrough
In-Reply-To: <20210812005700.3159-1-jandryuk@gmail.com>
References: <20210812005700.3159-1-jandryuk@gmail.com>
X-Mailer: VM 8.2.0b under 24.5.1 (i686-pc-linux-gnu)

Jason Andryuk writes ("[PATCH v2] libxl: Fix stubdom PCI passthrough"):
> commit 0fdb48ffe7a1 "libxl: Make sure devices added by pci-attach are
> reflected in the config" broken stubdom PCI passthrough when it moved
> libxl__create_pci_backend later in the function.  xl pci-attach for a
> running PV domain may also have been broken, but that was not verified.
> 
> The stubdomain is running (!starting) and PV, so it calls
> libxl__wait_for_backend.  With the new placement of
> libxl__create_pci_backend, the path does not exist and the call
> immediately fails.
...
> The wait is only relevant when the backend is already present.  num_devs
> is already used to determine if the backend needs to be created.  Re-use
> num_devs to determine if the backend wait is necessary.  The wait is
> necessary to avoid racing with another PCI attachment reconfiguring the
> front/back. If we are creating the backend, then we don't have to worry
> about a racing reconfigure.

Thanks for working on this.  Sorry it's taken a while for me to look
at this properly.  It seems very complicated.  I confess I am
confused.  I wonder if I actually understand properly how the code in
tree is supposed to work.  So if I seem not to be making sense, please
explain :-).


AFAICT what you are saying is that:

  In 0fdb48ffe7a1, pci-attach was moved later in the setup, until a time
  after the stubdomain is running.  So that code now always runs with
  !starting, when previously it would run with !!starting.

  libxl__wait_for_backend fails if the backend path does not exist;
  previously, when the domain is being created, the wait would be
  skipped.  Now because !starting, the wait is done, and fails because
  the backend path is missing.

  The purpose of the wait is to make sure the frontend is ready to
  accept the instructions, mostly to prevent multiple pci attach
  happening simultaneously.

You are using num_devs to see whether the backend exists already, so
as to skip the failing check.  I don't think that is right.  But I'm
not sure the old code is right either.

If you are right about the reason for the wait, it does not seem
correctly placed.  There is surely a TOCTOU race: first, we do the
wait, and then we write, non-transactionally, to xenstore.  If two of
these processes run at once, they could both decide not to wait,
then both try to create the backend and trample on each other.

This kind of thing is usually supposed to be dealt with by a
combination of the userdata lock (for the config) and xenstore
transaction but the code here doesn't seem to do that correctly.

Shouldn't all of this looking at xenstore occur within the transaction
loop ?  What this code seems to do is read some things
nontransactionally, then enter a transaction, and then make some
writes based on a combination of the pre-transaction and
within-transaction data.  In particular `num_devs` is read
nontransactionally and then written within the transaction, without, I
think being checked for subsequent modification.

Also, I think the purpose of `starting` is to avoid waiting for the
backend to be stable before the frontend is actaully unpaused, in
which case presumably the backend would never be Connected and we
would deadlock (and eventually time out).  In general when we are
hot-adding we must wait for the frontend and backend to be stable
before saying we're done, whereas with cold-adding we set up the
information and simply hope (expect) it all to sort itself out while
the domain boots.  So, I would be expecting to see the wait to happen
*after* the add.

There is also the wrinkle that the non-pci code is differently
structured, because it must not use libxl__wait_for_backend at all.
libxl__wait_for_backend is synchronous and blocking the whole libxl
process for an extended time is not allowed.  But AIUI we have made an
exception for pci because the pci backend is always in dom0 and
trusted.


I looked through the git history.

Very relevant seems
   70628d024da42eea
   libxl: Multi-device passthrough coldplug: do not wait for unstarted guest
which has some explanation from me in the commit message.  I'm not
sure why I didn't spot the anomalous transaction use problem.


Also I found
   1a734d51902dff44
   libxl: fix cold plugged PCI device with stubdomain
and, would you believe it
   18f93842ac3c2ca4
   libxl: fix cold plugged PCI devices with stubdomains
which seems at least tangentially relevant, showing that this seems
persistently to break :-(.  This suggests quite strongly that we
should add some tests for pci passthrough including at least one for
stubdom coldplug.

Also:
   b6c23c86fe5a1a02
   libxl: add all pci devices to xenstore at once (during VM create)
which seems OK.

There has been a lot of refactoring, but much of it hasn't really
changed the structure of this function.

The issue I identify above, with the inconsistent use of transactions,
seems to have existed since the very beginning.  In
   b0a1af61678b5e4c
   libxenlight: implement pci passthrough
the `retry_transaction:` label seems to me to be in the wrong place.


I have CC'd Paul and Oleksandr (committer/reviewer of 0fdb48ffe7a1),
Marek (seems to have touched a lot of the stubdom code here) and
Stefano (original author of the pci passthrough code here)
in case they would like to comment...


Thanks,
Ian.


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 12:31:53 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 12:31:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167820.306366 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFyFw-0001iY-TG; Tue, 17 Aug 2021 12:31:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167820.306366; Tue, 17 Aug 2021 12: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 1mFyFw-0001iQ-PI; Tue, 17 Aug 2021 12:31:48 +0000
Received: by outflank-mailman (input) for mailman id 167820;
 Tue, 17 Aug 2021 12:31: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 1mFyFv-0001iG-RD; Tue, 17 Aug 2021 12:31: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 1mFyFv-0005Rc-M6; Tue, 17 Aug 2021 12:31: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 1mFyFv-0004Zp-CZ; Tue, 17 Aug 2021 12:31:47 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mFyFv-0003wq-C4; Tue, 17 Aug 2021 12:31: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=tKNWn09zM5nO+cC1X80zzA7MiXTy7nNtogXTX0JkKBw=; b=6dr4hwwTs4HXSXzrkpbIyTGvoI
	KMDSQ0s4rU9u2UBBFgdEhdiV4w3PUP6ThxZ2gtiqu6wa2ZSoq4ALUWa4qwh/DvTnTQ2RCxrpbUuMy
	dXTvdhekFABNXkalNJeZA62zHJCmniHIcgLxUwvsRLPsE8u699kvNXyGDeyMyVfJntaY=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164223-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 164223: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=32f7db0989e47319ce585d05af32193244e1223a
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 17 Aug 2021 12:31:47 +0000

flight 164223 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164223/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              32f7db0989e47319ce585d05af32193244e1223a
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  403 days
Failing since        151818  2020-07-11 04:18:52 Z  402 days  394 attempts
Testing same since   164223  2021-08-17 04:18:57 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  Cédric Bosdonnat <cbosdonnat@suse.com>
  Côme Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano Fidêncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Ian Wienand <iwienand@redhat.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  John Ferlan <jferlan@redhat.com>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  Ján Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Michał Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  Moshe Levi <moshele@nvidia.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr Drąg <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tomáš Golembiovský <tgolembi@redhat.com>
  Tomáš Janoušek <tomi@nomi.cz>
  Tuguoyi <tu.guoyi@h3c.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  William Douglas <william.douglas@intel.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.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                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 68917 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 12:40:50 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 12:40:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167826.306379 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFyOc-0003C8-RZ; Tue, 17 Aug 2021 12:40:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167826.306379; Tue, 17 Aug 2021 12: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 1mFyOc-0003C1-Oc; Tue, 17 Aug 2021 12:40:46 +0000
Received: by outflank-mailman (input) for mailman id 167826;
 Tue, 17 Aug 2021 12:40:45 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mFyOb-0003Bv-Aq
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 12:40:45 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mFyOb-0005bP-8Q
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 12:40:45 +0000
Received: from iwj (helo=mariner.uk.xensource.com)
 by xenbits.xenproject.org with local-bsmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mFyOb-0003gU-7O
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 12:40:45 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.89)
 (envelope-from <iwj@xenproject.org>)
 id 1mFyOX-00041S-Ub; Tue, 17 Aug 2021 13:40:41 +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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=References:In-Reply-To:Subject:To:Date:
	Message-ID:Content-Transfer-Encoding:Content-Type:MIME-Version:From;
	bh=jptwKW6gHB9qUK7dXWcMKuxzHbYUFvhXn6ufoZROtgY=; b=3dVjpvcUhqRPeXK7SU1N/bG9zR
	YeSqdjj+7wHlo7kMj3H0ERYH2r/biglIxfprNBt9pz/TX68IjqkfinMkQxh4ZwX+JvnE1zmMd5cf+
	A/8pqpOxJWzOlT4/Bz4VW+H4mhk+dhPHLls/MDKueS7JvWbBFT5LhqER0M+4r8IeVqHQ=;
From: Ian Jackson <iwj@xenproject.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <24859.44617.658107.36709@mariner.uk.xensource.com>
Date: Tue, 17 Aug 2021 13:40:41 +0100
To: Jason Andryuk <jandryuk@gmail.com>,
    xen-devel@lists.xenproject.org,
    pdurrant@amazon.com,
    Wei Liu <wl@xen.org>,
    Anthony PERARD <anthony.perard@citrix.com>,
    Juergen Gross <jgross@suse.com>,
    Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
    Marek =?iso-8859-1?Q?Marczykowski-G=F3recki?= <marmarek@invisiblethingslab.com>,
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v2] libxl: Fix stubdom PCI passthrough
In-Reply-To: <24859.43747.87671.739214@mariner.uk.xensource.com>
References: <20210812005700.3159-1-jandryuk@gmail.com>
	<24859.43747.87671.739214@mariner.uk.xensource.com>
X-Mailer: VM 8.2.0b under 24.5.1 (i686-pc-linux-gnu)

> I looked through the git history.

Also there are some doc comments in libxl_internal.h.

In particular "Algorithm for handling device removal"
(near l.2844 in my tree) and the following

I don't think that diagram has been modified since I drew it, so it
may well be out of date.  Indeed I hope at least the new QMP
arrangements aren't racy...

And, "As of Xen 4.5 we maintain various information"
which describes the various locks and has a proof
sketch for correct operation.

Ian.


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 12:50:10 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 12:50:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167830.306390 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFyXb-0004Py-Nk; Tue, 17 Aug 2021 12:50:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167830.306390; Tue, 17 Aug 2021 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 1mFyXb-0004Pr-KM; Tue, 17 Aug 2021 12:50:03 +0000
Received: by outflank-mailman (input) for mailman id 167830;
 Tue, 17 Aug 2021 12:50:01 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=tbpc=NI=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mFyXZ-00044s-Hi
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 12:50:01 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 806645bf-93b2-4736-b36f-e895e065d3af;
 Tue, 17 Aug 2021 12:49:59 +0000 (UTC)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2109.outbound.protection.outlook.com [104.47.18.109])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-30-xGxLrlbeOh2c0kU7xGuACQ-1; Tue, 17 Aug 2021 14:49:57 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5325.eurprd04.prod.outlook.com (2603:10a6:803:60::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13; Tue, 17 Aug
 2021 12:49:55 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Tue, 17 Aug 2021
 12:49:55 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FR0P281CA0074.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1e::20) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.12 via Frontend Transport; Tue, 17 Aug 2021 12:49: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: 806645bf-93b2-4736-b36f-e895e065d3af
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629204598;
	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=0aSVlY0hXNCVepKsgeXaoK8+8gIHLwcUBwf1RXfJNSs=;
	b=IfK9HAIl8axt2sBVC59jP4CJFH1xoy51SUQzTqSgMIWKpBAXSokv90ilnIkNBU4NHj6Bn+
	wfr1eaAAl2YZf1MtVH+Rwxxff3hKIq79fucVbcO4zZ7poMj4xmuMAM5GD5X4dos+OrJxKX
	AkGe9mahI7SF16DM1el8OF4/OgXwzt4=
X-MC-Unique: xGxLrlbeOh2c0kU7xGuACQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gWvaJiA7aqRp2HXXSOvEgWWipTlaNrWEaT2o1SALC7Ma6tJ3f0AZOT9AihbRROUJzOFF6Oceap7kIBuWPtaUzflkcXK5a04UDHA/nUlO2Jmp8p1PsUOtgxQ72d/pWipNVHI/64aDA+qY+EX2yIPSWoMDVDQjEWT2HN3ot1wY6RcdvuDn/cGpKVTMqXLFDOTKx6VpeoZo6YOd5BpuTGFhKsW9y/W/n47eQj6P4AW/xcrylLnihlW1Q2H2IuXAf4dzbI0cdoyjIHgCmsWfg+XSHh+mtUPEz+yCc9LGoh03u4gQEcLNj7aUfZgUCOIt92UKK+39rszIMYZOZU9nBLubdg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=f3yijlteASFljaQcqJgx8q6O4k/MrACUYk1+uC/IbAc=;
 b=gmTtEqIGpIHLPate9S/bQKjSCmOJRRG5WmuORUcc71fwtITTLyJo6rvCL7FCqPCkoMqA6DzdKGOgqY7QHMVZEezy7VlDE0E2gt9DTKLPBSYC34mfrOEaN/nSJwtlX/BIctotBZrEPcTJrKPQk7AHOnnIN5ckif9xlvJjIYFpyNPxWILIGPnk9fSSJQ0TmnBosMuiPvV+8yXuOff3yxs8XpeaZUlCeJEBJZUgRGo3GHQhEXtiJyR6fQgEky/BKdxmAeIGLJbjLTqvTgqUvm9xqEK8qbL/S/OOB9KQH36a7PEehpbo8VZAUieKn3TsNmE410MUreuJP9tBBmM5WdhpUg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: citrix.com; dkim=none (message not signed)
 header.d=none;citrix.com; dmarc=none action=none header.from=suse.com;
Subject: Re: S3 resume issue in xstate_init
From: Jan Beulich <jbeulich@suse.com>
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
CC: xen-devel <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <YRsQArpQcpLB/Q5h@mail-itl> <YRuXNmpT+03aPo+p@mail-itl>
 <95ca90ae-9c37-c77c-67dc-66c1aabd1626@citrix.com> <YRuhFWLrplRRV6t+@mail-itl>
 <a575e7e0-156f-9ed1-cff2-92e4d7000090@suse.com>
Message-ID: <6e76f639-6756-36ab-4df5-605ae07640ec@suse.com>
Date: Tue, 17 Aug 2021 14:49:53 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <a575e7e0-156f-9ed1-cff2-92e4d7000090@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: FR0P281CA0074.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::20) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: fb80c1ee-83c5-467d-0d18-08d9617d8380
X-MS-TrafficTypeDiagnostic: VI1PR04MB5325:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB5325FEA28AF2500C9E3305E1B3FE9@VI1PR04MB5325.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+edc16aaYjo+RADGKZ/BN3R7ZndpTtMglAAP2Iz/aVA0LMB8s/nFxEguy5rRUafENzmmjUTF+xF80ad5GHw2T2ks8SDARlWUIo/n9vvN0SiSmQt268nlGE7Bx79VNt85zBCQazFdInAQ0+T/0Zq+tt/PIvIA0Fkp08ISySoYM7+SQX6XVsdnKENa3Q8IEaIIiJFgY84ytlAdQ/7D5DcNep8D4uTs7csfWF0qIehBZ2xM7zB1skbL6FImRul4ZYJVXcSb3Z0QA5qHA4ybjZbn2/abx3OUwEinVZuangvt6/j8h4VbDcoNSPvK+HuL1Hql8IznsfRli4FwW16D61iOyX72uRmkPQpYaOY6bYDNl/8zFVNYFAO0mUWuH1UG65ELtTinJSpElFkDkoCpcbGMlwiJP90ItJFLmnFGnOqsr6x4ob5LgsSfceAbBDS18G90cbyQFgrb5QX7RLzGHOFLUc6Cb9xk+gMH0uzqadIG8MIbmpJ9MewXTkhodXSBEbV9qAxkPW3N5BxaxhFh2GFvG1hPJqmkUSW8yVPvDtdvyDQoFDGNPERVNzPkvakQDtRv9cPymWRqtsedEtYoSE+Brn7SE9ti8LF/I1e+bLnbyH5H7SQZEe3mA39l6I8tcdd/U7U5FoA28seDFK0Jvq2hJFN3WNwPQw5WMAX0j0WMhciA/Ejcf6dEdZlZPiv3RqRQg+AiHxcWoLB2ZxjfCALq12OJPP7h8aXF7/8zjUd0rQ3qlXDlPieQJuV8UV0A0i0iaC0YFa9Q6b1ZrQfpy36zL8b6JW1vh1l7LXbMQDxgitu7jKl/RHUVDH0snN8pboFI
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(346002)(366004)(39840400004)(396003)(376002)(66946007)(8936002)(66476007)(66556008)(86362001)(956004)(966005)(6486002)(6916009)(316002)(2906002)(8676002)(2616005)(31696002)(5660300002)(36756003)(66574015)(31686004)(4326008)(478600001)(16576012)(38100700002)(53546011)(26005)(83380400001)(54906003)(186003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?zTG7HAvZ1TDfczSPozoCJdiRF1nkYRdow5f9mqIcw9DZQcoX6oyAbeNDZmNn?=
 =?us-ascii?Q?R3XvInyMy4EieMeV6TFCZrNKsy/mbkpGtAM4cnwbPCeEx2Y9kcnPpQ4XyLYu?=
 =?us-ascii?Q?ITTJRmhEccq8c19sGmf6QkH+YZKCsU4ElBxhyOiWY8dv7yiCpMy2wueTQVa2?=
 =?us-ascii?Q?4dG71Xuo5aZttPowBi9hPZcTkYYSNpNyqUxCcCuTBsnVbwHhccmaGgg+HKUd?=
 =?us-ascii?Q?zqr8umzAKOfXESkR3i6AN0FC5zO3t6z5WtgoasHLPQHQNWiOuCcLn5i5SCYE?=
 =?us-ascii?Q?muZeGiTfuiWqk8QsvyYe1y7VipwztQXz2qd8A4xT3pTIRrC5+8kihJqruozm?=
 =?us-ascii?Q?Il24thQxNP2c9AA/X79yBcxxN4cmEJ9XT6tdzWCdaiK9IdNhhgiefRqyNU6f?=
 =?us-ascii?Q?qk2ZEgnLQG6ZvZwKv1H0wOX+xvgTkNOp4OWIg3i9EMuC+KDczTSBmqCFo7Ji?=
 =?us-ascii?Q?BjYKlqnmvY622YwWjmqrKSngkOEMcUDi3hcmKpqXQ1kIFewlHQVkUtpLAy8Z?=
 =?us-ascii?Q?JJ8lwBSA1oYLZab5M6ZYxoMoL0rMpzRRwVabaiogpj1EsXExo9lGbaPW2L3D?=
 =?us-ascii?Q?ORmvItf5E5Dz1ANrf6U3S1xRA82aCRhrBN+TIMvOktE6+C9tJfDXHJ/h3NFP?=
 =?us-ascii?Q?W5a5xRPAfmxbwFdE4XLgOR4hIZqsCojz1noRpMHb7EURZbkkAJJHJglspdj9?=
 =?us-ascii?Q?1d3uNoI5zx6AbmDxQsSdSCO8nJ70K8C3TV35T9PiAcoPKDYSLRyZTdSPkW47?=
 =?us-ascii?Q?FDjXk76bgL25oos2dCHvvun0AEZxRekuARWk9zcQ2oitZefAUVydnN+sxUYE?=
 =?us-ascii?Q?nob0uLtyncbRHR9IZZwD4jUMJKNMFrQhmUZq+/sKvL5V397NL3PGI0pDRx3L?=
 =?us-ascii?Q?afYupovggh+IaWK37MpySAVZ97RmV30R8hiR4oOfFbqpkpPPKBEUDkGZo3nW?=
 =?us-ascii?Q?fr3EcTOG94ApZ9EZSGuNF10G8VitIYo5Vect4Ub7S09aeq625ectFAQT449e?=
 =?us-ascii?Q?wdBa95i9QVjUS+4idGqD7XAQFe2yGvcMXU0l8ri3btbPEHjWFSu9o62UgDTt?=
 =?us-ascii?Q?9nnZNvZuU8GflZ4HTH+NgxGksD2vfmyhDOvRzbjf3ozebob/Mr5LEsxo1IJ0?=
 =?us-ascii?Q?HkV4W3SvSbgIQ63mzqK4n+vj7DjyXkBqikCicgXorKgB3VLR8/K+Ha+sWjIY?=
 =?us-ascii?Q?qWSGwQBVCLBHzRp+LpLM5S0+Q0m34kQTLjPyNcp2PUbjXY95I+X8ekODVn/e?=
 =?us-ascii?Q?9XqJVIyD6LNKTioiMMG0PoSUhzE7CEnpFa4GAfxxHdB5wqx066YMEmi/495m?=
 =?us-ascii?Q?8tM1noqkxm5AMq+0bDBFxKOQ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fb80c1ee-83c5-467d-0d18-08d9617d8380
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 12:49:55.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: c60Afmab+IwCiMH3+UNRtNImql/y/TB+EGC6UsrYR8hlxzvyi2SGxU3zzTF3S/o4bhzkDg4Mgd6I3LkxNMnCoQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5325

On 17.08.2021 14:21, Jan Beulich wrote:
> On 17.08.2021 13:44, Marek Marczykowski-G=C3=B3recki wrote:
>> On Tue, Aug 17, 2021 at 12:14:36PM +0100, Andrew Cooper wrote:
>>> On 17/08/2021 12:02, Marek Marczykowski-G=C3=B3recki wrote:
>>>> On Tue, Aug 17, 2021 at 03:25:21AM +0200, Marek Marczykowski-G=C3=B3re=
cki wrote:
>>>>> Hi,
>>>>>
>>>>> I've got another S3 issue:
>>>>>
>>>>> (XEN) Preparing system for ACPI S3 state.
>>>>> (XEN) Disabling non-boot CPUs ...
>>>>> (XEN) Broke affinity for IRQ1, new: ffff
>>>>> (XEN) Broke affinity for IRQ16, new: ffff
>>>>> (XEN) Broke affinity for IRQ9, new: ffff
>>>>> (XEN) Broke affinity for IRQ139, new: ffff
>>>>> (XEN) Broke affinity for IRQ8, new: ffff
>>>>> (XEN) Broke affinity for IRQ14, new: ffff
>>>>> (XEN) Broke affinity for IRQ20, new: ffff
>>>>> (XEN) Broke affinity for IRQ137, new: ffff
>>>>> (XEN) Broke affinity for IRQ138, new: ffff
>>>>> (XEN) Entering ACPI S3 state.
>>>>> (XEN) mce_intel.c:773: MCA Capability: firstbank 0, extended MCE MSR =
0, BCAST, CMCI
>>>>> (XEN) CPU0 CMCI LVT vector (0xf1) already installed
>>>>> (XEN) Finishing wakeup from ACPI S3 state.
>>>>> (XEN) microcode: CPU0 updated from revision 0xca to 0xea, date =3D 20=
21-01-05
>>>>> (XEN) xstate: size: 0x440 (uncompressed 0x440) and states: 0x1f
>>>>> (XEN) Enabling non-boot CPUs  ...
>>>>> (XEN) xstate: size: 0x440 (uncompressed 0x240) and states: 0x1f
>>>>> (XEN) Xen BUG at xstate.c:673
>>>>> (XEN) ----[ Xen-4.16-unstable  x86_64  debug=3Dy  Not tainted ]----
>>>>> (XEN) CPU:    1
>>>>> (XEN) RIP:    e008:[<ffff82d040350ee4>] xstate_init+0x24b/0x2ff
>>>>> (XEN) RFLAGS: 0000000000010087   CONTEXT: hypervisor
>>>>> (XEN) rax: 0000000000000240   rbx: 000000000000001f   rcx: 0000000000=
000440
>>>>> (XEN) rdx: 0000000000000001   rsi: 000000000000000a   rdi: 0000000000=
00001f
>>>>> (XEN) rbp: ffff83025dc9fd38   rsp: ffff83025dc9fd20   r8:  0000000000=
000001
>>>>> (XEN) r9:  ffff83025dc9fc88   r10: 0000000000000001   r11: 0000000000=
000001
>>>>> (XEN) r12: ffff83025dc9fd80   r13: 000000000000001f   r14: 0000000000=
000001
>>>>> (XEN) r15: 0000000000000000   cr0: 000000008005003b   cr4: 0000000000=
3526e0
>>>>> (XEN) cr3: 0000000049656000   cr2: 0000000000000000
>>>>> (XEN) fsb: 0000000000000000   gsb: 0000000000000000   gss: 0000000000=
000000
>>>>> (XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: 0000   cs: e008
>>>>> (XEN) Xen code around <ffff82d040350ee4> (xstate_init+0x24b/0x2ff):
>>>>> (XEN)  ff e9 a2 00 00 00 0f 0b <0f> 0b 89 f8 89 f1 0f a2 89 f2 4c 8b =
0d cb b4 0f
>>>>> (XEN) Xen stack trace from rsp=3Dffff83025dc9fd20:
>>>>> (XEN)    0000000000000240 ffff83025dc9fd80 0000000000000001 ffff83025=
dc9fd70
>>>>> (XEN)    ffff82d04027e7a1 000000004035a7f1 7ffafbbf01100800 00000000b=
febfbff
>>>>> (XEN)    0000000000000001 00000000000000c8 ffff83025dc9feb8 ffff82d04=
02e43ce
>>>>> (XEN)    000000160a9e0106 bfebfbff80000008 2c1008007ffaf3bf 0000000f0=
0000121
>>>>> (XEN)    00000000029c6fbf 0000000000000100 000000009c002e00 02afcd7f0=
0000000
>>>>> (XEN)    756e654700000000 6c65746e49656e69 65746e4904b21920 726f43202=
952286c
>>>>> (XEN)    376920294d542865 432048303537382d 322e322040205550 000000007=
a484730
>>>>> (XEN)    ffff830000000000 ffff83025dc9fe18 00002400402e8e0b 000000085=
dc9fe30
>>>>> (XEN)    00000002402e9f21 0000000000000001 ffffffff00000000 ffff82d04=
02e0040
>>>>> (XEN)    00000000003526e0 ffff83025dc9fe68 ffff82d04027bd15 000000000=
0000001
>>>>> (XEN)    ffff8302590a0000 0000000000000000 00000000000000c8 000000000=
0000001
>>>>> (XEN)    0000000000000001 ffff83025dc9feb8 ffff82d0402e32b7 000000000=
0000001
>>>>> (XEN)    0000000000000001 00000000000000c8 0000000000000001 ffff83025=
dc9fee8
>>>>> (XEN)    ffff82d04030e401 0000000000000001 0000000000000000 000000000=
0000000
>>>>> (XEN)    0000000000000000 0000000000000000 ffff82d040200122 080000200=
0000002
>>>>> (XEN)    0100000400010000 0000002000000000 2000000000100000 000000100=
0000000
>>>>> (XEN)    2000000000000000 0000000029000000 0000008000000000 00110000a=
0000000
>>>>> (XEN)    8000000080000000 4000000000000008 0000100000000000 020000004=
0000080
>>>>> (XEN)    0004000000000000 0000010000000002 0400002030000000 000000006=
0000000
>>>>> (XEN)    0400001000010000 0000000010000000 0000004010000000 000000000=
0000000
>>>>> (XEN) Xen call trace:
>>>>> (XEN)    [<ffff82d040350ee4>] R xstate_init+0x24b/0x2ff
>>>>> (XEN)    [<ffff82d04027e7a1>] F identify_cpu+0x318/0x4af
>>>>> (XEN)    [<ffff82d0402e43ce>] F recheck_cpu_features+0x1f/0x72
>>>>> (XEN)    [<ffff82d04030e401>] F start_secondary+0x255/0x38a
>>>>> (XEN)    [<ffff82d040200122>] F __high_start+0x82/0x91
>>>>> (XEN)=20
>>>>> (XEN)=20
>>>>> (XEN) ****************************************
>>>>> (XEN) Panic on CPU 1:
>>>>> (XEN) Xen BUG at xstate.c:673
>>>>> (XEN) ****************************************
>>>>> (XEN)=20
>>>>> (XEN) Reboot in five seconds...
>>>>>
>>>>> This is with added debug patch:
>>>>>
>>>>> diff --git a/xen/arch/x86/xstate.c b/xen/arch/x86/xstate.c
>>>>> index 6aaf9a2f1546..7873a21b356a 100644
>>>>> --- a/xen/arch/x86/xstate.c
>>>>> +++ b/xen/arch/x86/xstate.c
>>>>> @@ -668,6 +668,8 @@ void xstate_init(struct cpuinfo_x86 *c)
>>>>>      else
>>>>>      {
>>>>>          BUG_ON(xfeature_mask !=3D feature_mask);
>>>>> +        printk("xstate: size: %#x (uncompressed %#x) and states: %#"=
PRIx64"\n",
>>>>> +               xsave_cntxt_size, hw_uncompressed_size(feature_mask),=
 feature_mask);
>>>>>          BUG_ON(xsave_cntxt_size !=3D hw_uncompressed_size(feature_ma=
sk));
>>>>>      }
>>>>> =20
>>>>>
>>>>> As can be seen above - the xsave size differs between BSP and other
>>>>> CPU(s) - likely because of (not) loaded ucode update there.
>>>>> I guess it's a matter of moving ucode loading somewhere else, right?
>>>>
>>>> Few more data points:
>>>>
>>>> 1. The CPU is i7-8750H (family 6, model 158, stepping 10).
>>>> 2. I do have "smt=3Doff" on the Xen cmdline, if that matters.
>>>
>>> As a datapoint, it would be interesting to confirm what the behaviour i=
s
>>> with SMT enabled.
>>>
>>> I'd expect it not to make a difference, because smt=3Doff is a purely X=
en
>>> construct and doesn't change the hardware configuration.
>>
>> Uhm, changing to smt=3Don actually _did_ change it. Now it doesn't crash=
!
>>
>> Let me add CPU number to the above printk - is smp_processor_id() the
>> thing I want?
>> With that, I get:
>> https://gist.github.com/marmarek/ae604a1e5cf49639a1eec9e220c037ca
>> Note that at boot all CPUs reports 0x440 (but only later are parked).
>=20
> And for a feature mask of 0x1f only 0x440 can possibly be correct.
> I'm kind of guessing that set_xcr0() mistakenly skips the actual XCR0
> write, due to the cached value matching the to-be-written one, yet
> the cache having gone stale across S3. I think this is to be expected
> for previously parked CPUs, as those don't have their per-CPU data
> de-allocated (and hence also not re-setup, and thus also not starting
> out as zero). I guess an easy fix would be to write 0 to
> this_cpu(xcr0) directly early in xstate_init(), maybe in an "else"
> to the early "if ( bsp )".

What I can't spot though is where CPU0 would restore the cached value
to XCR0 (or update the cached value from XCR0, or clobber the cached
value to force a hardware register write). CPU0 is, after all, never
expecting its per-CPU data to get cleared (proven e.g. by the EFER
restore first thing after setting system_state to SYS_STATE_resume).
IOW I would have expected CPU0 to suffer the same issue, or it is
mere luck that there the cached value matches what xstate_init()
gets entered with.

As to other similar issues - MSR_IA32_XSS looks to also be (latently)
affected (latently because right now it won't ever end up non-zero).

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 17 12:53:54 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 12:53:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167836.306401 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFybJ-0005XM-Bb; Tue, 17 Aug 2021 12:53:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167836.306401; Tue, 17 Aug 2021 12: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 1mFybJ-0005XF-8e; Tue, 17 Aug 2021 12:53:53 +0000
Received: by outflank-mailman (input) for mailman id 167836;
 Tue, 17 Aug 2021 12:53:52 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cSHW=NI=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mFybH-0005X9-Ke
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 12:53:51 +0000
Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 71e1a98e-a204-4943-83b6-88261d7a6364;
 Tue, 17 Aug 2021 12:53: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: 71e1a98e-a204-4943-83b6-88261d7a6364
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629204829;
  h=to:cc:references:from:subject:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=WcSIQgGRz66BxI1NNov5RrcC/NBJ6UYUB9o/f06qFbk=;
  b=D1ZPEnz0w7KncHIGyaaxtPqMSCeo9JoOHOGfjgzrwPiAEbF4iqPr2nrc
   6n6H91UXKOABR6fj/7erGGS1A9+WC/OkQlUBDuyM4BEjzUDa9rpxjIb55
   Oaa/oyafLARlpVM3zGSOTgSFZLzyS3+DBdn/qNYECt8rT3f1CvhqpJ7dx
   g=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: 5WVd0mWIwqRQYbubX81XPpwLbhXtriQFW5nCmqQGwGN71rFSgkYTshZWpGdHdElZ4sg3lQ9d5a
 EEk+5x3rYLU4WRpYUZ+64U4BwQk78RIuaiq1qnexNnjAq9AONkC9I2GeJ4bgjh751Hs0tHGxjH
 PoMFBDi8VYX2/p/YuWlwnb1YUA6EXkaFDvIO8uLYqANdpyMhX3IRrAi178aPkiZ9zWQmGay9G+
 NTio3x4RywKE9c3GiYxQKPCcuySIXf95u98rcVpoG7L1eTlsLiuYVTYSdBm2M4W1afBkA1w492
 x4WYPEdhAlRYdEbaK2MY+aT4
X-SBRS: 5.1
X-MesageID: 52342421
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:BaZhaaNtKbvTuMBcTqijsMiBIKoaSvp037BL7S5MoHBuGfBw9P
 rAoB1473LJYV8qMRkdcLu7VJVoL0m3yaJI
X-IronPort-AV: E=Sophos;i="5.84,328,1620705600"; 
   d="scan'208";a="52342421"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QOpbBw/ZPptfucWH9qny6kBooTSwiiiRXZdM1rFbFAkrebfiW3ZRzbUG7mKLwbCgjH59a4Vqy5FT00ahqfukqsrr7Cp2KP1Df7fmFwIHzpZeeL/UyF0MIsv6OpiXGQHd52k6Z4TJ3+1BTb8WEERGWC1KS2m57/wCNvskiGWRFawAMONi1dofX9KkUBrqLUMHbQE/LkbTeTDOlkv9YJ5fuFjjKeEd9tJ5/2ysUNN8C0MIOpMpLaclcvOBInmdOY887WT+rhupUWu26ULQeYb36FQIkgGrzqaCbr7Erw/U1fUhb8zcCRZdsxVgUhoExxlWEj5GBNXpQVealA8mG0F1ow==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=oRAH9Zu/Mc3LGc/E/kv+wRqJi6vAKm1eZA70QeYD+9o=;
 b=d3UudYENYjKMShre/hvXdMWg2ro8fgOpTQzX1dDk660XQOKXaVd9lVRK/TRmP+aldW6y3qdwKs2zyVpQHemrk9wQTVOldcO563OLe/dru3RPnKHiMYAJksndSNoBtUtn7N18dyfpiBbOwxGbMGTxmWWe7po2MptLI01y7oCXVZS5iqJyIky1EpMft/d69Dr4kVKmF/rTiCCbkUrw7xM/MQ69MoofB/F4PCwKc1w/vDKrLFi1zy2QY+0UGKFoO8C1rZ9AXneOafkjeIEl3MddU0fAbkLQU0QBdjMAZVntGXZcdOLbwPpZgYQsqK3v5QZHgE+HVAv5+Sp101Bgowt+aA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=oRAH9Zu/Mc3LGc/E/kv+wRqJi6vAKm1eZA70QeYD+9o=;
 b=kk0hcjR1olUK08l2MYExeq+EMRoupA/cFl1i++Herr7dxZdXtJ569Mg0qEiC8PRr8ZdKqF5j70h94uvH+poJnXCIi2BIxpArovG7PkzGanJxg7hkR4bGC3Roqj1cQt4S4+7xCqpKulLQtC3NxU1igIO388ssBfRKFmN7cBuw2CY=
To: Jan Beulich <jbeulich@suse.com>,
	=?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?= <marmarek@invisiblethingslab.com>
CC: xen-devel <xen-devel@lists.xenproject.org>
References: <YRsQArpQcpLB/Q5h@mail-itl> <YRuXNmpT+03aPo+p@mail-itl>
 <95ca90ae-9c37-c77c-67dc-66c1aabd1626@citrix.com> <YRuhFWLrplRRV6t+@mail-itl>
 <a575e7e0-156f-9ed1-cff2-92e4d7000090@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: S3 resume issue in xstate_init
Message-ID: <78eb61ad-45ba-51f0-a5ba-624408d60cc8@citrix.com>
Date: Tue, 17 Aug 2021 13:53:40 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <a575e7e0-156f-9ed1-cff2-92e4d7000090@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-GB
X-ClientProxiedBy: LNXP265CA0092.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:76::32) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3d1c36e3-c8ab-4c96-638c-08d9617e0cdb
X-MS-TrafficTypeDiagnostic: BY5PR03MB5077:
X-Microsoft-Antispam-PRVS: <BY5PR03MB50778ED77277A98D093A3087BAFE9@BY5PR03MB5077.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: DzGJ9iOg19cDTGW7DGFy43hH/gWLeESeAnsq/7RJxCWcEar8gsO/308EkejJEuxKEoA63scPU2D5DZLy7WDp9ayqZZaCLkbiv46ZS0bKMn0+5G5Z+WinvorQCrpMEmCnDQOfN5U3x7dxfQD0Qa6Z3n2BboOwLdZnI/n9QcC3+U2fdu+JxyV0PxIc6FhP9ZcQ4pp90nBwRK5hoz5Za0Es0p72mgf/esbeodm4GtHFhxa+iEOybV+KZVVdVCOaJ795Nz5Wqa/r50RKA1v8jXsjxuCoSRaP77JomoSRnAEmCSZuhlS/g417EuYLVvfwYHrhYemnrbJAoNCw9ctq082HE/zyp/e5AHtPkIWxP6fEMOUkydkIgqhHUNETsi4deEjCbZS4x2rLbJmcWMF2xduugDmK6/Qv3fngdnlh2OlhknJVnFqV9w5HefQlTPE7t2oWP9O+H9VnxE6eNeOhzqYz6y6E2hgimQyIUIEyc38pDlHFFKOysX710BHEqGNdWOFlb6S+z5I5MWNjde6Q3H4g1aiQMxlwzWzDbqrUAZ2lejTi/4v9UVYJAhtPcfqD7b6SdC4/3WIi7XwoLw46fw7JdtQr8FFKytWnNTf28tGS+3qkiFf1cji2RbChjbsk1htfgAOBcQhhl01KJknPf2I6QZwReUyy8uYWjuI/VR3r4I8O1gIrAlE9DDxp/Y9viUZd508PT0v69DvdGLz0Bqb7Oh/A+RRsKGSd2gUA+yRc5F0ikNS1zo9h6977+t4hjegCfMGrGUEVEtIz84bMfwsvGZsKBCK+SK+/XgsUiUmL2K+1Y9f1cP9+EYqsH4J/FI/l
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:(4636009)(136003)(39860400002)(346002)(396003)(366004)(376002)(66476007)(966005)(16576012)(66556008)(66946007)(316002)(8676002)(53546011)(86362001)(478600001)(45080400002)(6486002)(5660300002)(66574015)(83380400001)(186003)(31696002)(6666004)(31686004)(4326008)(110136005)(2906002)(2616005)(956004)(38100700002)(8936002)(26005)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZnQ2clNCVjdTQzVyM3NkbGUwWXRacHE0WE5RbGtOWmtvRkdYMWZGQUtlSzFO?=
 =?utf-8?B?N3ZDSmRlQUpUbmVzSGRPeTZHMlcrbXBVNWNJZXJucC9mOHUzMWtmaUtyVnEw?=
 =?utf-8?B?ZUxmV2tmUzI3amlTMTZrVFd1cGtxQ0F5UEdGQVZaTDhjaGpPa25TKzI2azNQ?=
 =?utf-8?B?OG0xc040c0VkajRQM3FmSkZBQ3BFQjdBZDJ0M1YyNHFZUnF4WmdwRVphRGw1?=
 =?utf-8?B?RWgyT01ieVZLMFZaL1dVOFRWRE54QlI1T3d0cURPVndhbFVSd2FvTzd1aURF?=
 =?utf-8?B?cmVCSll0eW5iWW5JNTVMdVVRdXg2dTZjQnBrdmVxSkdCL0Z5VFV3UFdkWVlU?=
 =?utf-8?B?b3Z1bkhyRDB4dWg1T25jaElNOGRKczJxaHFHNkFJZTZWdFdXM3dyTWtrVzlS?=
 =?utf-8?B?MWwzRXJTQ3lNYTRmS0hBY3BjSUlVdDNZU2ZZR2plMnhFWWFzMkpwTC9TclJl?=
 =?utf-8?B?T0lTQnpsQ09lYmJGckNsM3RQLzMwZGVBdk40R1dEY0VnRkxsY3d3Ym1veGhX?=
 =?utf-8?B?TlUwUGRkc2xBOXB1WnYrZFA1enhJUjkrb09KRkszSVpCeXZWY3B6bHE2L1lT?=
 =?utf-8?B?OFY2ZkxJVGdhLzJXcjI4Y0owNGViL2R2elJjTjdrRVQ0akJIbE1WVlhmWVk3?=
 =?utf-8?B?bERGVVhZNzJUOTdkYmhYVklCWVdwYVlZKzVRaFcvNVJ3NnZEQWxZSG5lOE41?=
 =?utf-8?B?NEFLYzRsN09ibGdUdGxSK1VpWEZwaGJ3UFhvcWN4V3F4R252aHU0d2NOWnBK?=
 =?utf-8?B?djNreVQvZzV0d254OFY1dkl2MmczVEg4R1Y4UklyM2tLa2Rld29UTk44cGMv?=
 =?utf-8?B?U0E5RmtJOTl6OStFSFpxdW0rTzc5b0N3K3luWUpLRldUckh5Y0k1RmdzNml1?=
 =?utf-8?B?STh2bWF0M3VUQVpocnR0bG1FLzFLR0FDdUQ5VHQ1dGdCUzBUZU9lNE9IempW?=
 =?utf-8?B?N1haL015a2duZXFvTW4xWEhFMS9iekRiMTBEWCs2TFNjL3hNU1gxWUdnSDZY?=
 =?utf-8?B?Umt3dURlcVZobjJXRVBSSDRrdWs0MmR0TXArdHVvSE11cTlGa2hGbWorYk53?=
 =?utf-8?B?amZGajdQSE82ZU94QmlHTlFzNm5vY0cxUkNMQ2t0cVNESU9vQ2JtLzdub2lQ?=
 =?utf-8?B?dlRVUTdkajYzcGxXd1E1SlBxOXFURGxlN2FTcDIrcW5jUU5VKzgvSFZLcVNo?=
 =?utf-8?B?NWdIK0JrK285RThjT2FKOUF3N3p6UVJEMGV1NWhqZExweGpWQTFwdG1sOGZT?=
 =?utf-8?B?UVBGUU5Dd253eTNXSHFXUThDa0lZd3BDM0JpSjhta2RFdEx0cEFoOG5hK21y?=
 =?utf-8?B?Z2djaDkyTk1XUXhNa01QK1RoODNkeHExTHRhTmJxVC9NV1RWVlZFc0lWbU4x?=
 =?utf-8?B?YkRwSEtlbjlNWDlObXdpaWZhSEZPamFsQWJmQ0FUVXc1WDcwM05zbUFHaWNW?=
 =?utf-8?B?UFRKL1FhOVg0SFBCRndWWkN5RmN4L3BIR0FBRG5NeVd3RncrYi8wV3NSNC8z?=
 =?utf-8?B?eTZzMEp3cUlYMDlIeGEzNnk4aHA2VFY4Q2szc08xMEJ5Qy8wcFM5cXNHaWxk?=
 =?utf-8?B?eDh2ZFFjRjkxbVNQaENWZnlnWWRtNVpWNks3Q1RnM0ZZL251VzloWklXMy9k?=
 =?utf-8?B?N3ptbjV2V2FkeWxsaXFvZDNibU9hc0FIRmtLK3plcTlxd2N6UFAwMitWOUpj?=
 =?utf-8?B?Q3MrLzZ1K3hmb3lDRThJVnN1bThVVmlPL3VzUDRuTVE4clhoaURaL1ErT2VE?=
 =?utf-8?Q?dkGzp6YBXbwbAMoK2j/b2/b75k05aZYVrJBZg7L?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 3d1c36e3-c8ab-4c96-638c-08d9617e0cdb
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 12:53:46.0293
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Sd2EspdRmu5kosFsOvTjiKERVPvZqaLipPPOlvFrxc9klarMUs3oMFaGqCWms8shGsJfijCGhxRVpnYtNU9O/Z5JYuj5AuQgeNmM0j5nfGw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5077
X-OriginatorOrg: citrix.com

On 17/08/2021 13:21, Jan Beulich wrote:
> On 17.08.2021 13:44, Marek Marczykowski-G=C3=B3recki wrote:
>> On Tue, Aug 17, 2021 at 12:14:36PM +0100, Andrew Cooper wrote:
>>> On 17/08/2021 12:02, Marek Marczykowski-G=C3=B3recki wrote:
>>>> On Tue, Aug 17, 2021 at 03:25:21AM +0200, Marek Marczykowski-G=C3=B3re=
cki wrote:
>>>>> Hi,
>>>>>
>>>>> I've got another S3 issue:
>>>>>
>>>>> (XEN) Preparing system for ACPI S3 state.
>>>>> (XEN) Disabling non-boot CPUs ...
>>>>> (XEN) Broke affinity for IRQ1, new: ffff
>>>>> (XEN) Broke affinity for IRQ16, new: ffff
>>>>> (XEN) Broke affinity for IRQ9, new: ffff
>>>>> (XEN) Broke affinity for IRQ139, new: ffff
>>>>> (XEN) Broke affinity for IRQ8, new: ffff
>>>>> (XEN) Broke affinity for IRQ14, new: ffff
>>>>> (XEN) Broke affinity for IRQ20, new: ffff
>>>>> (XEN) Broke affinity for IRQ137, new: ffff
>>>>> (XEN) Broke affinity for IRQ138, new: ffff
>>>>> (XEN) Entering ACPI S3 state.
>>>>> (XEN) mce_intel.c:773: MCA Capability: firstbank 0, extended MCE MSR =
0, BCAST, CMCI
>>>>> (XEN) CPU0 CMCI LVT vector (0xf1) already installed
>>>>> (XEN) Finishing wakeup from ACPI S3 state.
>>>>> (XEN) microcode: CPU0 updated from revision 0xca to 0xea, date =3D 20=
21-01-05
>>>>> (XEN) xstate: size: 0x440 (uncompressed 0x440) and states: 0x1f
>>>>> (XEN) Enabling non-boot CPUs  ...
>>>>> (XEN) xstate: size: 0x440 (uncompressed 0x240) and states: 0x1f
>>>>> (XEN) Xen BUG at xstate.c:673
>>>>> (XEN) ----[ Xen-4.16-unstable  x86_64  debug=3Dy  Not tainted ]----
>>>>> (XEN) CPU:    1
>>>>> (XEN) RIP:    e008:[<ffff82d040350ee4>] xstate_init+0x24b/0x2ff
>>>>> (XEN) RFLAGS: 0000000000010087   CONTEXT: hypervisor
>>>>> (XEN) rax: 0000000000000240   rbx: 000000000000001f   rcx: 0000000000=
000440
>>>>> (XEN) rdx: 0000000000000001   rsi: 000000000000000a   rdi: 0000000000=
00001f
>>>>> (XEN) rbp: ffff83025dc9fd38   rsp: ffff83025dc9fd20   r8:  0000000000=
000001
>>>>> (XEN) r9:  ffff83025dc9fc88   r10: 0000000000000001   r11: 0000000000=
000001
>>>>> (XEN) r12: ffff83025dc9fd80   r13: 000000000000001f   r14: 0000000000=
000001
>>>>> (XEN) r15: 0000000000000000   cr0: 000000008005003b   cr4: 0000000000=
3526e0
>>>>> (XEN) cr3: 0000000049656000   cr2: 0000000000000000
>>>>> (XEN) fsb: 0000000000000000   gsb: 0000000000000000   gss: 0000000000=
000000
>>>>> (XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: 0000   cs: e008
>>>>> (XEN) Xen code around <ffff82d040350ee4> (xstate_init+0x24b/0x2ff):
>>>>> (XEN)  ff e9 a2 00 00 00 0f 0b <0f> 0b 89 f8 89 f1 0f a2 89 f2 4c 8b =
0d cb b4 0f
>>>>> (XEN) Xen stack trace from rsp=3Dffff83025dc9fd20:
>>>>> (XEN)    0000000000000240 ffff83025dc9fd80 0000000000000001 ffff83025=
dc9fd70
>>>>> (XEN)    ffff82d04027e7a1 000000004035a7f1 7ffafbbf01100800 00000000b=
febfbff
>>>>> (XEN)    0000000000000001 00000000000000c8 ffff83025dc9feb8 ffff82d04=
02e43ce
>>>>> (XEN)    000000160a9e0106 bfebfbff80000008 2c1008007ffaf3bf 0000000f0=
0000121
>>>>> (XEN)    00000000029c6fbf 0000000000000100 000000009c002e00 02afcd7f0=
0000000
>>>>> (XEN)    756e654700000000 6c65746e49656e69 65746e4904b21920 726f43202=
952286c
>>>>> (XEN)    376920294d542865 432048303537382d 322e322040205550 000000007=
a484730
>>>>> (XEN)    ffff830000000000 ffff83025dc9fe18 00002400402e8e0b 000000085=
dc9fe30
>>>>> (XEN)    00000002402e9f21 0000000000000001 ffffffff00000000 ffff82d04=
02e0040
>>>>> (XEN)    00000000003526e0 ffff83025dc9fe68 ffff82d04027bd15 000000000=
0000001
>>>>> (XEN)    ffff8302590a0000 0000000000000000 00000000000000c8 000000000=
0000001
>>>>> (XEN)    0000000000000001 ffff83025dc9feb8 ffff82d0402e32b7 000000000=
0000001
>>>>> (XEN)    0000000000000001 00000000000000c8 0000000000000001 ffff83025=
dc9fee8
>>>>> (XEN)    ffff82d04030e401 0000000000000001 0000000000000000 000000000=
0000000
>>>>> (XEN)    0000000000000000 0000000000000000 ffff82d040200122 080000200=
0000002
>>>>> (XEN)    0100000400010000 0000002000000000 2000000000100000 000000100=
0000000
>>>>> (XEN)    2000000000000000 0000000029000000 0000008000000000 00110000a=
0000000
>>>>> (XEN)    8000000080000000 4000000000000008 0000100000000000 020000004=
0000080
>>>>> (XEN)    0004000000000000 0000010000000002 0400002030000000 000000006=
0000000
>>>>> (XEN)    0400001000010000 0000000010000000 0000004010000000 000000000=
0000000
>>>>> (XEN) Xen call trace:
>>>>> (XEN)    [<ffff82d040350ee4>] R xstate_init+0x24b/0x2ff
>>>>> (XEN)    [<ffff82d04027e7a1>] F identify_cpu+0x318/0x4af
>>>>> (XEN)    [<ffff82d0402e43ce>] F recheck_cpu_features+0x1f/0x72
>>>>> (XEN)    [<ffff82d04030e401>] F start_secondary+0x255/0x38a
>>>>> (XEN)    [<ffff82d040200122>] F __high_start+0x82/0x91
>>>>> (XEN)=20
>>>>> (XEN)=20
>>>>> (XEN) ****************************************
>>>>> (XEN) Panic on CPU 1:
>>>>> (XEN) Xen BUG at xstate.c:673
>>>>> (XEN) ****************************************
>>>>> (XEN)=20
>>>>> (XEN) Reboot in five seconds...
>>>>>
>>>>> This is with added debug patch:
>>>>>
>>>>> diff --git a/xen/arch/x86/xstate.c b/xen/arch/x86/xstate.c
>>>>> index 6aaf9a2f1546..7873a21b356a 100644
>>>>> --- a/xen/arch/x86/xstate.c
>>>>> +++ b/xen/arch/x86/xstate.c
>>>>> @@ -668,6 +668,8 @@ void xstate_init(struct cpuinfo_x86 *c)
>>>>>      else
>>>>>      {
>>>>>          BUG_ON(xfeature_mask !=3D feature_mask);
>>>>> +        printk("xstate: size: %#x (uncompressed %#x) and states: %#"=
PRIx64"\n",
>>>>> +               xsave_cntxt_size, hw_uncompressed_size(feature_mask),=
 feature_mask);
>>>>>          BUG_ON(xsave_cntxt_size !=3D hw_uncompressed_size(feature_ma=
sk));
>>>>>      }
>>>>> =20
>>>>>
>>>>> As can be seen above - the xsave size differs between BSP and other
>>>>> CPU(s) - likely because of (not) loaded ucode update there.
>>>>> I guess it's a matter of moving ucode loading somewhere else, right?
>>>> Few more data points:
>>>>
>>>> 1. The CPU is i7-8750H (family 6, model 158, stepping 10).
>>>> 2. I do have "smt=3Doff" on the Xen cmdline, if that matters.
>>> As a datapoint, it would be interesting to confirm what the behaviour i=
s
>>> with SMT enabled.
>>>
>>> I'd expect it not to make a difference, because smt=3Doff is a purely X=
en
>>> construct and doesn't change the hardware configuration.
>> Uhm, changing to smt=3Don actually _did_ change it. Now it doesn't crash=
!
>>
>> Let me add CPU number to the above printk - is smp_processor_id() the
>> thing I want?
>> With that, I get:
>> https://nam04.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fgist=
.github.com%2Fmarmarek%2Fae604a1e5cf49639a1eec9e220c037ca&amp;data=3D04%7C0=
1%7CAndrew.Cooper3%40citrix.com%7Cf7c03eb0fa0341ac60bf08d96179964f%7C335836=
de42ef43a2b145348c2ee9ca5b%7C0%7C0%7C637647997122346495%7CUnknown%7CTWFpbGZ=
sb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1=
000&amp;sdata=3DYZg2191dKLlppcbdCBwTnXuk08Vq37pcHOftyjrGO3Q%3D&amp;reserved=
=3D0
>> Note that at boot all CPUs reports 0x440 (but only later are parked).
> And for a feature mask of 0x1f only 0x440 can possibly be correct.

As a complete tangent, we really want an mpx=3Doff option (or extend
cpuid=3Dno-mpx to clobber bnd{regs,csr} too).=C2=A0 For systems not wanting=
 to
use MPX in the first place - and I'd expect QubesOS falls into this
category - this will increase performance by not partitioning the
physical register file, as well as reducing the xstate size for client
parts.

> I'm kind of guessing that set_xcr0() mistakenly skips the actual XCR0
> write, due to the cached value matching the to-be-written one, yet
> the cache having gone stale across S3.

This is a rats nest, and area for concern, but ...

>  I think this is to be expected
> for previously parked CPUs, as those don't have their per-CPU data
> de-allocated (and hence also not re-setup, and thus also not starting
> out as zero).

... we don't deallocate regular APs either, so I don't see why the smt=3D
setting would make a difference in this case.

To be clear - I think your guess about set_xcr0() skipping the write is
correct, because 0x240 is correct for xcr0=3DX87, but I don't see why smt=
=3D
makes a difference.

>  I guess an easy fix would be to write 0 to
> this_cpu(xcr0) directly early in xstate_init(), maybe in an "else"
> to the early "if ( bsp )".
>
> I'm not sure though this would be a good fix longer term, as there
> might easily be other similar issues elsewhere. IOW we may need to
> see whether per-CPU data initialization wouldn't want changing.

We've got other registers too, like MSR_TSC_AUX, but I don't think we
want to be doing anything as drastic as changing how the initialisation
works.

The S3 path needs to explicitly write every register we do lazy context
switching of.

~Andrew



From xen-devel-bounces@lists.xenproject.org Tue Aug 17 12:58:21 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 12:58:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167841.306412 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFyfZ-0006Dz-TS; Tue, 17 Aug 2021 12:58:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167841.306412; Tue, 17 Aug 2021 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 1mFyfZ-0006Ds-QS; Tue, 17 Aug 2021 12:58:17 +0000
Received: by outflank-mailman (input) for mailman id 167841;
 Tue, 17 Aug 2021 12:58:17 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7T0O=NI=redhat.com=stefanha@srs-us1.protection.inumbo.net>)
 id 1mFyfY-0006Dm-TG
 for xen-devel@lists.xen.org; Tue, 17 Aug 2021 12:58:17 +0000
Received: from us-smtp-delivery-124.mimecast.com (unknown [216.205.24.124])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id bcd08db7-1b14-472a-8d85-825be23314ad;
 Tue, 17 Aug 2021 12:58:15 +0000 (UTC)
Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com
 [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id
 us-mta-143-A8iHjmldNyCPpTWHkDYjdg-1; Tue, 17 Aug 2021 08:58:11 -0400
Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com
 [10.5.11.23])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 7A04F107ACF5;
 Tue, 17 Aug 2021 12:58:08 +0000 (UTC)
Received: from localhost (unknown [10.39.194.145])
 by smtp.corp.redhat.com (Postfix) with ESMTP id AD06519C44;
 Tue, 17 Aug 2021 12:58:07 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bcd08db7-1b14-472a-8d85-825be23314ad
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1629205094;
	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=Yxy4RnBBXaJlJtwsS11lGB0KxeEbVc0i8ggXvO44wak=;
	b=OraNdCWrLGubVnBXT2o72Tx6ufKWGwl4chabETDHzP6olLTZRDojXIvBflZxn7h/dTktBk
	WsI4Dq9CzsihGI4e53W0qfFc1uU9f6JJVsb7ylxIaw3k9BAT5s8mOhk9S5f5Rc3YNyvWok
	Z4un0cN6CpmSEgP/VgZudJfSf8of6LA=
X-MC-Unique: A8iHjmldNyCPpTWHkDYjdg-1
Date: Tue, 17 Aug 2021 11:41:01 +0100
From: Stefan Hajnoczi <stefanha@redhat.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Alex =?iso-8859-1?Q?Benn=E9e?= <alex.bennee@linaro.org>,
	Stratos Mailing List <stratos-dev@op-lists.linaro.org>,
	virtio-dev@lists.oasis-open.org,
	Arnd Bergmann <arnd.bergmann@linaro.org>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	AKASHI Takahiro <takahiro.akashi@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Jan Kiszka <jan.kiszka@siemens.com>,
	Carl van Schaik <cvanscha@qti.qualcomm.com>, pratikp@quicinc.com,
	Srivatsa Vaddagiri <vatsa@codeaurora.org>,
	Jean-Philippe Brucker <jean-philippe@linaro.org>,
	Mathieu Poirier <mathieu.poirier@linaro.org>, Wei.Chen@arm.com,
	olekstysh@gmail.com, Oleksandr_Tyshchenko@epam.com,
	Bertrand.Marquis@arm.com, Artem_Mygaiev@epam.com, julien@xen.org,
	jgross@suse.com, paul@xen.org, xen-devel@lists.xen.org
Subject: Re: Enabling hypervisor agnosticism for VirtIO backends
Message-ID: <YRuSPT9075NuWRYS@stefanha-x1.localdomain>
References: <87v94ldrqq.fsf@linaro.org>
 <alpine.DEB.2.21.2108041055390.9768@sstabellini-ThinkPad-T480s>
MIME-Version: 1.0
In-Reply-To: <alpine.DEB.2.21.2108041055390.9768@sstabellini-ThinkPad-T480s>
X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23
Authentication-Results: relay.mimecast.com;
	auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=stefanha@redhat.com
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="MtdJiD33XPKc+AKR"
Content-Disposition: inline

--MtdJiD33XPKc+AKR
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Wed, Aug 04, 2021 at 12:20:01PM -0700, Stefano Stabellini wrote:
> > Could we consider the kernel internally converting IOREQ messages from
> > the Xen hypervisor to eventfd events? Would this scale with other kerne=
l
> > hypercall interfaces?
> >=20
> > So any thoughts on what directions are worth experimenting with?
> =20
> One option we should consider is for each backend to connect to Xen via
> the IOREQ interface. We could generalize the IOREQ interface and make it
> hypervisor agnostic. The interface is really trivial and easy to add.
> The only Xen-specific part is the notification mechanism, which is an
> event channel. If we replaced the event channel with something else the
> interface would be generic. See:
> https://gitlab.com/xen-project/xen/-/blob/staging/xen/include/public/hvm/=
ioreq.h#L52

There have been experiments with something kind of similar in KVM
recently (see struct ioregionfd_cmd):
https://lore.kernel.org/kvm/dad3d025bcf15ece11d9df0ff685e8ab0a4f2edd.161382=
8727.git.eafanasova@gmail.com/

> There is also another problem. IOREQ is probably not be the only
> interface needed. Have a look at
> https://marc.info/?l=3Dxen-devel&m=3D162373754705233&w=3D2. Don't we also=
 need
> an interface for the backend to inject interrupts into the frontend? And
> if the backend requires dynamic memory mappings of frontend pages, then
> we would also need an interface to map/unmap domU pages.
>=20
> These interfaces are a lot more problematic than IOREQ: IOREQ is tiny
> and self-contained. It is easy to add anywhere. A new interface to
> inject interrupts or map pages is more difficult to manage because it
> would require changes scattered across the various emulators.

Something like ioreq is indeed necessary to implement arbitrary devices,
but if you are willing to restrict yourself to VIRTIO then other
interfaces are possible too because the VIRTIO device model is different
from the general purpose x86 PIO/MMIO that Xen's ioreq seems to support.

Stefan

--MtdJiD33XPKc+AKR
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhpWov9P5fNqsNXdanKSrs4Grc8gFAmEbkj0ACgkQnKSrs4Gr
c8jIgAf/ZpT5ZF/StADSes4RfNq0J1UFOgql3jeVsqkD7q9bPZaIvtADoVdSduiw
zDiBNp5q/LkIIhE+rfRjAO2nA3rpYrp6fWlmRh6hmRHiCAFKIQ1lsmi39noeDTe4
IPm7VASzJ0VRtMxJ88a/pS4HldM2pQZLU2q4f2gtXuGD7Kj5VLn/6LfEE6tzU98h
jpGxjZlx/zrc37X9Wk2tL8Zg6PJpug7B308KpaJFB5jHOzSww27+ETTPBV4LKHsf
zMnevfYRDTH3wJObd+FMmzDsD25EHs/hf1VC6yghoNjgkQP//5FYyoN4csg1tAfK
zPFuCYSZ4qMY83x5bbL6i6rqK2jz1g==
=Ehb+
-----END PGP SIGNATURE-----

--MtdJiD33XPKc+AKR--



From xen-devel-bounces@lists.xenproject.org Tue Aug 17 13:07:08 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 13:07:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167845.306424 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFyns-0007h1-OV; Tue, 17 Aug 2021 13:06:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167845.306424; Tue, 17 Aug 2021 13: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 1mFyns-0007gu-L0; Tue, 17 Aug 2021 13:06:52 +0000
Received: by outflank-mailman (input) for mailman id 167845;
 Tue, 17 Aug 2021 13:06:51 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cSHW=NI=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mFynr-0007go-FA
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 13:06:51 +0000
Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 367f3105-f33d-4958-82e5-e91d85ec44b7;
 Tue, 17 Aug 2021 13:06: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: 367f3105-f33d-4958-82e5-e91d85ec44b7
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629205609;
  h=subject:from:to:cc:references:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=oHpm3lM+gxkamMY7kN+EKCfCX6TvsV0U/FOzBhgwNAU=;
  b=Lg4RMaZK/Kz1TRWccPpEKrfINBdFl6lSDYpOjmeuZCr3PavrIJ6QNVYI
   MqLZ7BEYuMxbKZb4qSiGlXKF1j/aYmhPmWUqhcDh8E7CM9VmegyH46BQk
   giZALWAGTNNKhgP3f2hs35dl8RpnDexitcPtsxB5PBGMJrp7vxUqoR1L8
   Q=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: 3irAD2tMThIvqdGmpt5eTJrlre3bbb06us3BwED/T4nFxkOQ3tEei7dBsC6Dt2Lxz7pX6SmaUt
 UaALi0MegwZ+oxT4Gk56ySNQPX2pXpTFuE9UHBWamtIO2YTw0+vtNaNDa0XnPmBvihPJnSiKMT
 v7wqgEkDQ2RmKkumEL2AjZzPTSweiBVOuhy+yXUmxcGY1i4o6xT5DKOoEEj0xr7nDXfFw7r4p5
 SPNIgU/fI8Pwm+KlEdCKsXT3zmydjeHMnePcF0kTju/YfiCPEzEsv69Vxa+D0lQ8cIk28eyKZ1
 3Si8QjRbRKICG88iQ3POLLPZ
X-SBRS: 5.1
X-MesageID: 52343813
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:8LpPjaqufxj1VfJHlcrQqxcaV5uXL9V00zEX/kB9WHVpm5Oj+v
 xGzc5w6farsl0ssSkb6Ku90KnpewK+yXcH2/hqAV7CZniqhILMFu1fBOTZslrd8kHFl9K1kJ
 0QC5SWa+eAQWSS7/yKhjVQeuxIqLbozEnrv5am854Hd3AJV0gU1XYcNu/tKDwSeOApP/oEPa
 vZwvACiyureHwRYMj+LGICRfL/q9rCk4+jSQIaBjY8gTP+ww+A2frfKVy1zx0eWzRAzfMJ6m
 7eiTH04a2lrrWS1gLc7WnO9J5b8eGRi+erRfb8yvT9GA+cyDpAV74RHoFqewpF5N1H3Wxa0+
 UkZS1QePibpUmhOF1d6iGdpjUImAxel0MKj2XozkcL6PaJOw4SGo5Pg5lUfQDe7FdltNZg0L
 hT12bcrJZPCwjc9R6NruQgeisa4XZcm0BS59L7TkYvIrc2eftUt8gS7UlVGJAPEGbz750mCv
 BnCIXZ6OxNeV2XYnjFti03qebcFUgbD1ODWAwPq8aV2z9ZkDRwyFYZ3tUWmjMF+IgmQ5dJ6u
 zYOuBjla1ITMURcaVhbd1xCfefGyjIW1bBIWiSKVPoGOUOPG/MsYf+5PEv6OSjaPUzve8PcV
 T6ISZlXEsJCgjT4OG1rex2GyH2MReAtG7Wu79jDrBCy83BeIY=
X-IronPort-AV: E=Sophos;i="5.84,328,1620705600"; 
   d="scan'208";a="52343813"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kY8CtJrAwDkFtFUtpRYyaagBnW864s7ZszoQ4x9Hpl/IPk1nup9VaVFmjBk3IoRzbLriSk/v2bj4jYwZ1nohIUCGK9Abmled6zHqOLRn4zoLhIesTzBLKEDiskGx+FRDOnT2uyPXqcwLMEf5c3127cSZcFFL7U2jfEjF0ts8dGrZGwx9XgDxddcV3u5x1H5qE4hM8lEzCv7wL1+diQo8VfH07LMuQ4hGr0mc1bSjOdieX1Lv6ov0Gcxh1vUGv+0gWaWnglKeVmVSgSqo//N+IZpVgeyY6Q81DPQRwNrqVX1YlqvJPCiWq2jTGeOBhuw9i6VLsiCnzZPc2X3PuY5OUg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yuANkQVeutF/L7+SxgIEQfHLcdyOJTE4jbC8ueLJrLE=;
 b=Elmqa3BsJ2G3aBuLPw13LalIm0tIBd0/65KoIDWE9KZjbGNf0yfh16cXET4kXQg5SLEwBkGiZqBEFu0KMxedOH8PAmbu8J/GJqNmmlNnI6+y5Gq3ejy7Qh1ePtMelFCJGQQ7UasqiWOwUEwuqHXaFY7/KTeGRXIjAe0RxOJUmFuGXZSWhUJVX498+m4Qx1qRU8WZtYNVbVwsNO0fAlUGlQfSyXBRmelgwDbzgW/iw/4U30hUMaW4UZz1es6k7jgOxrQYPZzglqyHkPZLZVGl7k+qU4h5axtEa8u8I4s2fMfk6NF7U9MrY4S1+NeSVXRbq0VoIi1OXMm9Y4+k6FMQjA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yuANkQVeutF/L7+SxgIEQfHLcdyOJTE4jbC8ueLJrLE=;
 b=qTzKtfMBH1uduQkk/RM58B58VJOjNR6ElP+PdD93Qj3ucmRcvmUkeQ8SR+7O+qzfL6DUkC/IOxKqViO7egyQnU6y6zLzvhqw4KADnCN1PoKMqDbYx41zDxN3xcslH7zcQuu8f7pLx8Q7CoaqQ4RnNwKxjbNeMoyaSQirdpADoa0=
Subject: Re: S3 resume issue in xstate_init
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>,
	=?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?= <marmarek@invisiblethingslab.com>
CC: xen-devel <xen-devel@lists.xenproject.org>
References: <YRsQArpQcpLB/Q5h@mail-itl> <YRuXNmpT+03aPo+p@mail-itl>
 <95ca90ae-9c37-c77c-67dc-66c1aabd1626@citrix.com> <YRuhFWLrplRRV6t+@mail-itl>
 <a575e7e0-156f-9ed1-cff2-92e4d7000090@suse.com>
 <78eb61ad-45ba-51f0-a5ba-624408d60cc8@citrix.com>
Message-ID: <a704d6c5-c818-e47b-32b6-f57b2d9670f5@citrix.com>
Date: Tue, 17 Aug 2021 14:06:33 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <78eb61ad-45ba-51f0-a5ba-624408d60cc8@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Content-Language: en-GB
X-ClientProxiedBy: LO2P265CA0194.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:9e::14) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 990c25d1-88bf-49bb-8e4f-08d9617fd9b8
X-MS-TrafficTypeDiagnostic: BY5PR03MB5080:
X-Microsoft-Antispam-PRVS: <BY5PR03MB50804BC7F2AE529A840058FBBAFE9@BY5PR03MB5080.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:6790;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: mvjXCmx1qVY8jT94heDfJLSBuKj1F0F1Jbxvt2fyzjiEPMMXp7Edg8sfedRMgmlRql2LWPoYF9ay8Dga5pb1zpDBGKHaZvPOKFuIOVW31OHUNODoCPvcrRpjkjrYXw/0SRUKA2lAMSiQhzM9oBMFh5hw59L3teGwAAykhMdsCOJB54oswNKbKb8xOCHKpoy2lA3/mTNAtqTlavO3K9V1m9sq8VC7Hnx6jD2ZUz2h5MkntrPbJIUSXZVATBnBzZeJAuka7+Add57qpRklnIQWIlFKKRDkQcBtJYUHxP6IvDzLFJvmyGu7aq6NuRfFp5TMGUad3UzmzqAUo1N9AvdTFIINHoVGxrwwE17Jz06N7S7P3KpNzKDZ63T8yIDPelknX16Opt0/bo6T1OHiPEUzd4inZMvw/Z6zwP4h2PUJt8/gAx8400hP5JioDXhKGNTy70JdWm1drM4/3lpWy4SWSJRl8JNHmqI5HFiX5/3LyvpQ34robJjkxdIop9hw14hFnIE/wtqSk2rMDACR6LjWbouD5GPWrPq6OJ80qasROk4bmvE/Mhnu5YMjYjBxZvUcMow2TCA6Whpwl1bc2pOp2ByRbYDMiilzDojpHL1AgOAMKgwIpC1R1TB/WhMQQ2uZodZBQRvhoQ1pYtpcw5y0Q7IyRk051RSh3DnzvqMOuw5/fDV0dcYRHnZo8H5tYU/TtSJKOcaUas8SY9M/3Xd7eb4jzwlpguxWDDZ4fn3CPM6qHDeEs+vy9A9K/ECfpzeICfMJQS9Vgn9bmu5nvCnwf+J+vDs+aiaiDlwgUFOfigmR8uOhPcAUtPHecZCiH28d
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:(4636009)(346002)(376002)(136003)(396003)(366004)(39860400002)(186003)(6666004)(38100700002)(4326008)(36756003)(8936002)(8676002)(66574015)(83380400001)(2906002)(110136005)(86362001)(966005)(66476007)(2616005)(66556008)(45080400002)(478600001)(16576012)(66946007)(31696002)(316002)(26005)(31686004)(53546011)(6486002)(5660300002)(956004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?T1B6M0c5TXJmQTJpYWIwNHJhRjJOTlZlaFVCeTZMVVZmTDBMNXFsNGcyejRQ?=
 =?utf-8?B?M0llM2g3Y1kvVDZ6dy9ZSXZwTVJQbm5XVllPc1daRXFscFlISC9sQW9jUUtF?=
 =?utf-8?B?MGZGN2tCN0RISVd2R1ZMdHJiL1VtS2pyUENGa2FjRlRwdGpuakF4SWJsVWMw?=
 =?utf-8?B?WDZ1UUJCcVpaaUZUQlg4U3lZTS9uS0ZRd25YanduU0Y5bTBkdXFNTjVWMGY3?=
 =?utf-8?B?Z1czQ2Ryd21rc0JEcEtrK3VpV3djbTRNU2RsbXNqNlE1TVVsSVFtZHVPNkI5?=
 =?utf-8?B?b3lQSVJyNVlLU2s4L3hiekw3UktIL0duWitQSzRMY0Y0Z1ZIWW82Ymdhc21D?=
 =?utf-8?B?cFNhK0hHTklBWERyTmJSYi9zcytla0pLY1JIQ3JJNjEzeFEvTHJzc0JldEoy?=
 =?utf-8?B?RmJ3eXU4WkczMk41VUl3bUFKWGRTVVVvQlovcUpWcGhBeWdqcHpqRWxqZ00r?=
 =?utf-8?B?M2ZpVElvdFowWkNJMC9ZN0o5QWlKcGxJOVV1NkdNMmNZTzdRNVNxTUd1NEY5?=
 =?utf-8?B?K3k2WUFBZWdsb2dTZVBMOXdlLzByOFdLaGRvUE5HMDRZNXBaRTNzd3BQRjZp?=
 =?utf-8?B?c0RzNU5ZSEkvU1MvTjJhQk9WK3RjS2pjbC9TdjlBSUVhaUFoQnYwQ2VxallK?=
 =?utf-8?B?OEZVVUgzckpKZVBQMVprSDRuZmhsak1JUFFQR3dTbis2SkxvYTVoSVV3QUZk?=
 =?utf-8?B?SGdKQkcrQ052RGgxQ3JGWkw1U3lTNTBFb1FQUVplSzQ3cmh4MGtMTmdmVEdR?=
 =?utf-8?B?c3F4MlZvb0Z4VTZOOCtuVlQyeDBRZ0VUVzdkaVN0SDA3eDhyZEZnMVNsaUZX?=
 =?utf-8?B?M29yYTFTTUZGRzI2OTk3V1YzYXJPNXpoR050WEdIcTNWN2JOdUFOMmV6dTRl?=
 =?utf-8?B?Y0xZSTduUitlb21MNUttcDZWY05pV0gzTjNDTDhHbEpuT3V6YXY3WWZKTmdy?=
 =?utf-8?B?b0x3SU93MS9XVFhaNjN4bElYZUZsZGU1OXE2RkZlSkkzblMvdE1HRkFmZUJ1?=
 =?utf-8?B?dzRtVHZKQWJKVUVjaFlsNHVOeGJDVE1CT21OdFZJQ0w3MVJ4UXVNc05vTU9Z?=
 =?utf-8?B?TGhFY3UvMi8zemN0NGF2d2lRUk1zS29XODhMRFFWMGhNZldZdXZnYVo2TVU2?=
 =?utf-8?B?WS9kSFpJbmdyRU8yU1QvcCszT1U5VTc5d3RCUGJyUVlLb1ZGNHBFREl6RXJl?=
 =?utf-8?B?REJhR1dYWUZSdWNHaFIxcG4xRlFPQThTT2hyZVNZaFZKMkpqQUpMd21NYjZ1?=
 =?utf-8?B?am5mK3FSNTVVNEQvZE42UDhJeG5YSnhWU3VsN1F2SjVvbnRXYm9iZ0ZZRnR1?=
 =?utf-8?B?MkdFdERxQWpOREdjNXZGczBsa2cxdUpYek0xN1dyY01VUHB0Q05LcnpPZVU1?=
 =?utf-8?B?OVNPbXlGendXbG9la0dUMUtVTWZqdVpZSUwxZFBvR3U2L3FvNWVKQ2tyclY3?=
 =?utf-8?B?dk95aEU4SnRhZjJTbmlENXdQa0JzQmFEZWlYQnlpRitiUTdTVEJkVWRWUGtu?=
 =?utf-8?B?SkRhaHVyaE90UDkyMnNobnMvVGF2bHA0NWFtb29pL1J4ZG4xVE1PK2tqSkta?=
 =?utf-8?B?ZUxuelN5V1B4SEZQL0tpVVdQTDFqelJ6WFVseXRJdm9ISnJleE4wZ1MwWHhW?=
 =?utf-8?B?c0R3N0txSTBCOTlWUnFXK1NpUHhBS3RNZ1dNakNuVjBXRm9IeFBVakJPUEl2?=
 =?utf-8?B?RFU2U1hmN2FSbHZQbVRWZ2NYclh3WXRKa3NBYlJ0VVM4ZlNRNmZXNmFWdlhU?=
 =?utf-8?Q?5fDhxvdX5m2+oqqi/pj1gjmAKXIYG3lMFpUYf6C?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 990c25d1-88bf-49bb-8e4f-08d9617fd9b8
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 13:06:39.2266
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CZK11WW4hygAUEDyowc+OXt0vOcZl0GsCUew1PWM0/VXkKkT9gNMx42CxK3BPHIi07EO3RoIuDra9YS4rznLb2AleJz2LwJogaM67xBRKsk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5080
X-OriginatorOrg: citrix.com

On 17/08/2021 13:53, Andrew Cooper wrote:
> On 17/08/2021 13:21, Jan Beulich wrote:
>> On 17.08.2021 13:44, Marek Marczykowski-Górecki wrote:
>>> On Tue, Aug 17, 2021 at 12:14:36PM +0100, Andrew Cooper wrote:
>>>> On 17/08/2021 12:02, Marek Marczykowski-Górecki wrote:
>>>>> On Tue, Aug 17, 2021 at 03:25:21AM +0200, Marek Marczykowski-Górecki wrote:
>>>>>> Hi,
>>>>>>
>>>>>> I've got another S3 issue:
>>>>>>
>>>>>> (XEN) Preparing system for ACPI S3 state.
>>>>>> (XEN) Disabling non-boot CPUs ...
>>>>>> (XEN) Broke affinity for IRQ1, new: ffff
>>>>>> (XEN) Broke affinity for IRQ16, new: ffff
>>>>>> (XEN) Broke affinity for IRQ9, new: ffff
>>>>>> (XEN) Broke affinity for IRQ139, new: ffff
>>>>>> (XEN) Broke affinity for IRQ8, new: ffff
>>>>>> (XEN) Broke affinity for IRQ14, new: ffff
>>>>>> (XEN) Broke affinity for IRQ20, new: ffff
>>>>>> (XEN) Broke affinity for IRQ137, new: ffff
>>>>>> (XEN) Broke affinity for IRQ138, new: ffff
>>>>>> (XEN) Entering ACPI S3 state.
>>>>>> (XEN) mce_intel.c:773: MCA Capability: firstbank 0, extended MCE MSR 0, BCAST, CMCI
>>>>>> (XEN) CPU0 CMCI LVT vector (0xf1) already installed
>>>>>> (XEN) Finishing wakeup from ACPI S3 state.
>>>>>> (XEN) microcode: CPU0 updated from revision 0xca to 0xea, date = 2021-01-05
>>>>>> (XEN) xstate: size: 0x440 (uncompressed 0x440) and states: 0x1f
>>>>>> (XEN) Enabling non-boot CPUs  ...
>>>>>> (XEN) xstate: size: 0x440 (uncompressed 0x240) and states: 0x1f
>>>>>> (XEN) Xen BUG at xstate.c:673
>>>>>> (XEN) ----[ Xen-4.16-unstable  x86_64  debug=y  Not tainted ]----
>>>>>> (XEN) CPU:    1
>>>>>> (XEN) RIP:    e008:[<ffff82d040350ee4>] xstate_init+0x24b/0x2ff
>>>>>> (XEN) RFLAGS: 0000000000010087   CONTEXT: hypervisor
>>>>>> (XEN) rax: 0000000000000240   rbx: 000000000000001f   rcx: 0000000000000440
>>>>>> (XEN) rdx: 0000000000000001   rsi: 000000000000000a   rdi: 000000000000001f
>>>>>> (XEN) rbp: ffff83025dc9fd38   rsp: ffff83025dc9fd20   r8:  0000000000000001
>>>>>> (XEN) r9:  ffff83025dc9fc88   r10: 0000000000000001   r11: 0000000000000001
>>>>>> (XEN) r12: ffff83025dc9fd80   r13: 000000000000001f   r14: 0000000000000001
>>>>>> (XEN) r15: 0000000000000000   cr0: 000000008005003b   cr4: 00000000003526e0
>>>>>> (XEN) cr3: 0000000049656000   cr2: 0000000000000000
>>>>>> (XEN) fsb: 0000000000000000   gsb: 0000000000000000   gss: 0000000000000000
>>>>>> (XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: 0000   cs: e008
>>>>>> (XEN) Xen code around <ffff82d040350ee4> (xstate_init+0x24b/0x2ff):
>>>>>> (XEN)  ff e9 a2 00 00 00 0f 0b <0f> 0b 89 f8 89 f1 0f a2 89 f2 4c 8b 0d cb b4 0f
>>>>>> (XEN) Xen stack trace from rsp=ffff83025dc9fd20:
>>>>>> (XEN)    0000000000000240 ffff83025dc9fd80 0000000000000001 ffff83025dc9fd70
>>>>>> (XEN)    ffff82d04027e7a1 000000004035a7f1 7ffafbbf01100800 00000000bfebfbff
>>>>>> (XEN)    0000000000000001 00000000000000c8 ffff83025dc9feb8 ffff82d0402e43ce
>>>>>> (XEN)    000000160a9e0106 bfebfbff80000008 2c1008007ffaf3bf 0000000f00000121
>>>>>> (XEN)    00000000029c6fbf 0000000000000100 000000009c002e00 02afcd7f00000000
>>>>>> (XEN)    756e654700000000 6c65746e49656e69 65746e4904b21920 726f43202952286c
>>>>>> (XEN)    376920294d542865 432048303537382d 322e322040205550 000000007a484730
>>>>>> (XEN)    ffff830000000000 ffff83025dc9fe18 00002400402e8e0b 000000085dc9fe30
>>>>>> (XEN)    00000002402e9f21 0000000000000001 ffffffff00000000 ffff82d0402e0040
>>>>>> (XEN)    00000000003526e0 ffff83025dc9fe68 ffff82d04027bd15 0000000000000001
>>>>>> (XEN)    ffff8302590a0000 0000000000000000 00000000000000c8 0000000000000001
>>>>>> (XEN)    0000000000000001 ffff83025dc9feb8 ffff82d0402e32b7 0000000000000001
>>>>>> (XEN)    0000000000000001 00000000000000c8 0000000000000001 ffff83025dc9fee8
>>>>>> (XEN)    ffff82d04030e401 0000000000000001 0000000000000000 0000000000000000
>>>>>> (XEN)    0000000000000000 0000000000000000 ffff82d040200122 0800002000000002
>>>>>> (XEN)    0100000400010000 0000002000000000 2000000000100000 0000001000000000
>>>>>> (XEN)    2000000000000000 0000000029000000 0000008000000000 00110000a0000000
>>>>>> (XEN)    8000000080000000 4000000000000008 0000100000000000 0200000040000080
>>>>>> (XEN)    0004000000000000 0000010000000002 0400002030000000 0000000060000000
>>>>>> (XEN)    0400001000010000 0000000010000000 0000004010000000 0000000000000000
>>>>>> (XEN) Xen call trace:
>>>>>> (XEN)    [<ffff82d040350ee4>] R xstate_init+0x24b/0x2ff
>>>>>> (XEN)    [<ffff82d04027e7a1>] F identify_cpu+0x318/0x4af
>>>>>> (XEN)    [<ffff82d0402e43ce>] F recheck_cpu_features+0x1f/0x72
>>>>>> (XEN)    [<ffff82d04030e401>] F start_secondary+0x255/0x38a
>>>>>> (XEN)    [<ffff82d040200122>] F __high_start+0x82/0x91
>>>>>> (XEN) 
>>>>>> (XEN) 
>>>>>> (XEN) ****************************************
>>>>>> (XEN) Panic on CPU 1:
>>>>>> (XEN) Xen BUG at xstate.c:673
>>>>>> (XEN) ****************************************
>>>>>> (XEN) 
>>>>>> (XEN) Reboot in five seconds...
>>>>>>
>>>>>> This is with added debug patch:
>>>>>>
>>>>>> diff --git a/xen/arch/x86/xstate.c b/xen/arch/x86/xstate.c
>>>>>> index 6aaf9a2f1546..7873a21b356a 100644
>>>>>> --- a/xen/arch/x86/xstate.c
>>>>>> +++ b/xen/arch/x86/xstate.c
>>>>>> @@ -668,6 +668,8 @@ void xstate_init(struct cpuinfo_x86 *c)
>>>>>>      else
>>>>>>      {
>>>>>>          BUG_ON(xfeature_mask != feature_mask);
>>>>>> +        printk("xstate: size: %#x (uncompressed %#x) and states: %#"PRIx64"\n",
>>>>>> +               xsave_cntxt_size, hw_uncompressed_size(feature_mask), feature_mask);
>>>>>>          BUG_ON(xsave_cntxt_size != hw_uncompressed_size(feature_mask));
>>>>>>      }
>>>>>>  
>>>>>>
>>>>>> As can be seen above - the xsave size differs between BSP and other
>>>>>> CPU(s) - likely because of (not) loaded ucode update there.
>>>>>> I guess it's a matter of moving ucode loading somewhere else, right?
>>>>> Few more data points:
>>>>>
>>>>> 1. The CPU is i7-8750H (family 6, model 158, stepping 10).
>>>>> 2. I do have "smt=off" on the Xen cmdline, if that matters.
>>>> As a datapoint, it would be interesting to confirm what the behaviour is
>>>> with SMT enabled.
>>>>
>>>> I'd expect it not to make a difference, because smt=off is a purely Xen
>>>> construct and doesn't change the hardware configuration.
>>> Uhm, changing to smt=on actually _did_ change it. Now it doesn't crash!
>>>
>>> Let me add CPU number to the above printk - is smp_processor_id() the
>>> thing I want?
>>> With that, I get:
>>> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgist.github.com%2Fmarmarek%2Fae604a1e5cf49639a1eec9e220c037ca&amp;data=04%7C01%7CAndrew.Cooper3%40citrix.com%7C9bcffe997fb34fe8b89408d9617e2986%7C335836de42ef43a2b145348c2ee9ca5b%7C0%7C0%7C637648016779334734%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=xK014jSmKmoKdw%2BiqvsX7TLpLswzf7uzCc04xM1C8co%3D&amp;reserved=0
>>> Note that at boot all CPUs reports 0x440 (but only later are parked).
>> And for a feature mask of 0x1f only 0x440 can possibly be correct.
> As a complete tangent, we really want an mpx=off option (or extend
> cpuid=no-mpx to clobber bnd{regs,csr} too).  For systems not wanting to
> use MPX in the first place - and I'd expect QubesOS falls into this
> category - this will increase performance by not partitioning the
> physical register file, as well as reducing the xstate size for client
> parts.
>
>> I'm kind of guessing that set_xcr0() mistakenly skips the actual XCR0
>> write, due to the cached value matching the to-be-written one, yet
>> the cache having gone stale across S3.
> This is a rats nest, and area for concern, but ...
>
>>  I think this is to be expected
>> for previously parked CPUs, as those don't have their per-CPU data
>> de-allocated (and hence also not re-setup, and thus also not starting
>> out as zero).
> ... we don't deallocate regular APs either, so I don't see why the smt=
> setting would make a difference in this case.
>
> To be clear - I think your guess about set_xcr0() skipping the write is
> correct, because 0x240 is correct for xcr0=X87, but I don't see why smt=
> makes a difference.
>
>>  I guess an easy fix would be to write 0 to
>> this_cpu(xcr0) directly early in xstate_init(), maybe in an "else"
>> to the early "if ( bsp )".
>>
>> I'm not sure though this would be a good fix longer term, as there
>> might easily be other similar issues elsewhere. IOW we may need to
>> see whether per-CPU data initialization wouldn't want changing.
> We've got other registers too, like MSR_TSC_AUX, but I don't think we
> want to be doing anything as drastic as changing how the initialisation
> works.
>
> The S3 path needs to explicitly write every register we do lazy context
> switching of.

Actually no - that's a dumb suggestion because the APs don't know
better, and we don't want for_each_cpu() loops running from the BSP.

Perhaps we want the cpu_down() logic to explicitly invalidate their
lazily cached values?

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 13:09:12 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 13:09:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167851.306435 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFyq8-0008No-AY; Tue, 17 Aug 2021 13:09:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167851.306435; Tue, 17 Aug 2021 13:09: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 1mFyq8-0008Nh-7R; Tue, 17 Aug 2021 13:09:12 +0000
Received: by outflank-mailman (input) for mailman id 167851;
 Tue, 17 Aug 2021 13:09:10 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=tbpc=NI=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mFyq6-0008NI-PM
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 13:09:10 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 4ea1f404-ff5c-11eb-a4ae-12813bfff9fa;
 Tue, 17 Aug 2021 13:09:09 +0000 (UTC)
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur03lp2050.outbound.protection.outlook.com [104.47.10.50]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-37-TAtYuZuXPc-sAIJSKz31Dw-1; Tue, 17 Aug 2021 15:09:07 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0401MB2448.eurprd04.prod.outlook.com (2603:10a6:800:52::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16; Tue, 17 Aug
 2021 13:09:05 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Tue, 17 Aug 2021
 13:09:05 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P189CA0002.EURP189.PROD.OUTLOOK.COM (2603:10a6:102:52::7) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.17 via Frontend Transport; Tue, 17 Aug 2021 13: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: 4ea1f404-ff5c-11eb-a4ae-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629205748;
	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=D/yQoF4icSlGBXjVw+gYSNUB60+rTYYURZgz+N7AHR8=;
	b=FeXqAvb4F3yrgFF+xaLFlho5+6vjJ2qjhCAhjMVEUg91tseiW585antF+Bxm1NHv1l1zYy
	nCKCjYeL/9cOo11oQVgVWbdYTTP7IbQ09DdrXfGPN37ISu1AeiEAxJ4GzsWX0aQeP7gwNw
	0qbltLXzvyQgn2wsD8+0bCOZM2QT+Uo=
X-MC-Unique: TAtYuZuXPc-sAIJSKz31Dw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CNfdMxM+cxS76AklXWgKyurkVlLwKDi4E/aEcg38In88EHjnk6Na+1kuNxkgVXBlI6EN3As+HVOknREzM8SJ1Y2re3srtPtYjrths69BasHoLv2cPXivQHfuGldxjPl0Ayawc1BS67+aiQzAHYWe781LjiMMOJ6qsj0Ob2RucniDettzeltlaXvq5yzXeqzkWe0Or9LDYb1zIcyj4xwxVEDyfm4Mb+TpgzaSMGIb1omNYHWpBvvw9UAfE4UTUjK68jFy7KMmJvthryNINCzBVHixhu/ZyV5JMxn15Co86eujWFZG41B/7x3fYY5cNkcZpnJ8d9t+1Uf1NY9xUrr0Fw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+7Dbv9x95m9ghnuubnMBPuNVVizz8qf/SwpwyJnYv9s=;
 b=hZzJIsFWwgmIKfwyxTDNPXq0E7a+iH4V0zvgUKlk9iP8L0nfLFl+IjV5ckVN+B1m1C3w7/cxafZYkWLAqJVKJzXlHh4xppMdxn0X6G8UCu4iIFYMS7U1YUJdP1Z3SRzgoY5yfWLw/MrZG/3d9+9JGHCFGwLY3ND3SD1JPkOdyAbqTPlYaeyKaeajZon8r5427vBWuCq5yF6i80KyMRPuQCUU11zQjqqxTW4KTOO8u50hV3YNDsBsIpM7SsGpG1XCHn5QukAt7XkeySsn/UI9ZAxxvTnMZQCkuLypJLttrraUtM2goDisIThVzmLTX7xixUBddaheMa4pIryA8bbpCQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: suse.com; dkim=none (message not signed)
 header.d=none;suse.com; dmarc=none action=none header.from=suse.com;
Subject: Re: S3 resume issue in xstate_init
From: Jan Beulich <jbeulich@suse.com>
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
CC: xen-devel <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Juergen Gross <jgross@suse.com>
References: <YRsQArpQcpLB/Q5h@mail-itl> <YRuXNmpT+03aPo+p@mail-itl>
 <95ca90ae-9c37-c77c-67dc-66c1aabd1626@citrix.com> <YRuhFWLrplRRV6t+@mail-itl>
 <a575e7e0-156f-9ed1-cff2-92e4d7000090@suse.com>
Message-ID: <c2afe826-9c90-2ad2-2e7b-0cfa7f767f0c@suse.com>
Date: Tue, 17 Aug 2021 15:09:03 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <a575e7e0-156f-9ed1-cff2-92e4d7000090@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: PR3P189CA0002.EURP189.PROD.OUTLOOK.COM
 (2603:10a6:102:52::7) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 1e18640b-f983-4185-ecad-08d9618030cd
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2448:
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB2448CF2FA50FB7FE7A48F016B3FE9@VI1PR0401MB2448.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ve4+qCuTNZcpXGr8lqmpfDLFdfmc+lhEgCliXRLBRpKdgapn2rmJJsC+07gI9bC3oS3l4l2mSgXo3DuOO6kE2UO2EJZ4LYY6zGFg8FEd34qmzzjEcfKXfTN4rVzW7Z+cCNlbmjBQORkC0AfQ3ibI+0cHuHLhHdyXPT3Ev8PPdDWUNeK+ZauxOWBgt6SXVxOErN3/9cUOqD4TBdviLIgNxzNx9NdBz3CkbhiCLtJ0Y9dEd3F/DhabbvLl1jT7qL+0Ou2AkeWBu2QS3KrD5RB+zycQbVL+I7CEuN47iIg2atg+iK5GEt6cvy9Qy6WxzI+xbbm7BNSlTZ0LeAteJMGcTNK4oO00+vrwhGicQ3FgKayBSgxY2T4Wewqom5t9O7caQElzEL1zQ5DVsyec2GjqifIG+Cs39NmajAiA71JD4vZVxK3PydN+uzgQ4HzaMN+dPr20YSPpSgVHSySWDKMr2hUh5smZYTYyGw63X89e6r7Ov3g08d7ofoMckXk0JWIbOZnK8UiTrvyg7FBIny4XR7Ka0eIEsu81njM+2z6iHXOeJ2lDQ6CT+MtNl3Nh/XO4OrNY8jWDfw9A74/BeF9O2TFOqttVKOfbGHMbVWy/HogVNE0OwHfJFM3XZSd9Yr03Nu+ZwJtRjFTpMNpDlHOMCGQGsgA3jok4mwq8kCBFUNqOipwFVBjqIKF6nY50B0pGfNUzZoJZE+tticBC4v8Nl+fqhlx3yZzcB1uot9pCPmxWKRXQc9PhX7kqyfY4W1cBzXrlZPAIt1WI0P5XDQybNWj68wqlXbP8fsVRIL8vqXhtfaL2W4uSJFFu0cA8xl4F
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(39850400004)(376002)(366004)(136003)(346002)(53546011)(956004)(6916009)(966005)(2616005)(38100700002)(2906002)(5660300002)(478600001)(66574015)(83380400001)(54906003)(316002)(107886003)(16576012)(4326008)(8936002)(31696002)(66556008)(26005)(66946007)(66476007)(6486002)(86362001)(8676002)(31686004)(186003)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?SmRseEteoWZEYBE4r4lmo4HZ2l4Krlaco9pGpjVr2bEhZmNiIQ4hjvLHp96o?=
 =?us-ascii?Q?xGfofNsio737x3lUvFZmLmOwm5bJzpjAzPSkJhweib8EK6Y1wacONpTZ2DKp?=
 =?us-ascii?Q?tpIyvZJQ+O9izyq0ybwOVytHghpyulMVJMXtihQdAhxl0yrdiUTeTDd6c9e9?=
 =?us-ascii?Q?COyL+cDzMl6vszr3W8QNMzErUhMNhWOdD4zhP87LXrV7Y7IIErcd3hE3YP16?=
 =?us-ascii?Q?PjmLLTmcrPClctxri1p4Q3/s3Frook4KSkcmVoi0N7SoOknWZ/tINDWj5mD0?=
 =?us-ascii?Q?ET97iz2CJ5QeymXKc0yM/qgkEtmFN3Uqu5VUX/1qOIGiZYD8I3S1W1Rt+Syh?=
 =?us-ascii?Q?rR4DGaLG8aZ45h4TWWRGY4o1bePxw6DXH5wNO67Eld2zYNIgg3U7Q8Ovube7?=
 =?us-ascii?Q?WA13tWnAA1pEVRWZR/SH6qoVzY3MuPGFvaTlvAyMv+wsxcj4LVdw20IjFvcE?=
 =?us-ascii?Q?ndlwNw7JgF9hLv6KeeF6SI5hvXtexkT+DHWR8AA7fcZFwYxniB5rV7LhjmRJ?=
 =?us-ascii?Q?1gmYyZWXeTekosZIHm7Yrz0on3RNvQxFeAOeYrKICZ+MlztMr/u5iLFbFFz4?=
 =?us-ascii?Q?izurnYe7KbWeNHJYf5A885f9t4eEalCa01ftLPiB5uVe1asnL5EfHj8wWHwD?=
 =?us-ascii?Q?lEFgEjYIIpxYAEHcloYKrGx7ZtDkppdPHnfER+A38j+IKZ3tsWkQeoAXMelM?=
 =?us-ascii?Q?vBaJ9E2uLpzhuQP5duE2eYfzAUahOeBL5rauQB9Z6YG9kjbt/V/pfYzdzOgu?=
 =?us-ascii?Q?x7PUbMvLb7Jrmfu3q5JmeH6zv1QZ7CcLXc2e7eHIx6wEAbYmHpoYd7ohKd/x?=
 =?us-ascii?Q?dqSeVuOWE4f0Q/t2seLnbYvP9rUh/UzkvExgLv2oLdROK442FNjZh1OpFyrM?=
 =?us-ascii?Q?7TGyW4d5ZVkPs/7lNfI3K/3khaKu2m8kofTYiGVfJW5E4dOOUP+2FxDxqQMj?=
 =?us-ascii?Q?xMkkvlM9yWPYOtJjSY1YYUBz4UGovFUnkaAQzL60LpFbmbaEHkH2J7jX92jc?=
 =?us-ascii?Q?7quxBqlIhm4gHMQdLHGdxABpysRSv6m4hCEUys7CS1/nGd3UecEj3Xn7LFdN?=
 =?us-ascii?Q?Bp1oGRWm4IGckR+n7DDOApa3RK7cJlLIcuOVWTj8MxBgeS/xCm9cOqpwRUo8?=
 =?us-ascii?Q?d1zn+WU6Wn6LZZK/RSyE235/84UTe1H2EWZ/MwJehGpcO+VTV1y2wZGIs07D?=
 =?us-ascii?Q?W64+9LkUL4SuqFXDI4F3sXdRuLPKQG7r6fTLYZ2hcliBK5qXJa9jwqwYpezm?=
 =?us-ascii?Q?Eqcq124QU7S/ugZg6I27Ps3pD+D71vGuUm+rbTRx1i8aYSfG3NYV978zHVcO?=
 =?us-ascii?Q?g7zOiG11tb7ZV1HoMyyZuAMG?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1e18640b-f983-4185-ecad-08d9618030cd
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 13:09:05.3664
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9XNI7r+YnwGt+6qCxMF8GtYm0u0AmcA/BpK0S+vYGD3DlsRTknoACcVlnz7MTcHAFMRN0OW2+7yFHDsxW9uWKg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2448

On 17.08.2021 14:21, Jan Beulich wrote:
> On 17.08.2021 13:44, Marek Marczykowski-G=C3=B3recki wrote:
>> On Tue, Aug 17, 2021 at 12:14:36PM +0100, Andrew Cooper wrote:
>>> On 17/08/2021 12:02, Marek Marczykowski-G=C3=B3recki wrote:
>>>> On Tue, Aug 17, 2021 at 03:25:21AM +0200, Marek Marczykowski-G=C3=B3re=
cki wrote:
>>>>> Hi,
>>>>>
>>>>> I've got another S3 issue:
>>>>>
>>>>> (XEN) Preparing system for ACPI S3 state.
>>>>> (XEN) Disabling non-boot CPUs ...
>>>>> (XEN) Broke affinity for IRQ1, new: ffff
>>>>> (XEN) Broke affinity for IRQ16, new: ffff
>>>>> (XEN) Broke affinity for IRQ9, new: ffff
>>>>> (XEN) Broke affinity for IRQ139, new: ffff
>>>>> (XEN) Broke affinity for IRQ8, new: ffff
>>>>> (XEN) Broke affinity for IRQ14, new: ffff
>>>>> (XEN) Broke affinity for IRQ20, new: ffff
>>>>> (XEN) Broke affinity for IRQ137, new: ffff
>>>>> (XEN) Broke affinity for IRQ138, new: ffff
>>>>> (XEN) Entering ACPI S3 state.
>>>>> (XEN) mce_intel.c:773: MCA Capability: firstbank 0, extended MCE MSR =
0, BCAST, CMCI
>>>>> (XEN) CPU0 CMCI LVT vector (0xf1) already installed
>>>>> (XEN) Finishing wakeup from ACPI S3 state.
>>>>> (XEN) microcode: CPU0 updated from revision 0xca to 0xea, date =3D 20=
21-01-05
>>>>> (XEN) xstate: size: 0x440 (uncompressed 0x440) and states: 0x1f
>>>>> (XEN) Enabling non-boot CPUs  ...
>>>>> (XEN) xstate: size: 0x440 (uncompressed 0x240) and states: 0x1f
>>>>> (XEN) Xen BUG at xstate.c:673
>>>>> (XEN) ----[ Xen-4.16-unstable  x86_64  debug=3Dy  Not tainted ]----
>>>>> (XEN) CPU:    1
>>>>> (XEN) RIP:    e008:[<ffff82d040350ee4>] xstate_init+0x24b/0x2ff
>>>>> (XEN) RFLAGS: 0000000000010087   CONTEXT: hypervisor
>>>>> (XEN) rax: 0000000000000240   rbx: 000000000000001f   rcx: 0000000000=
000440
>>>>> (XEN) rdx: 0000000000000001   rsi: 000000000000000a   rdi: 0000000000=
00001f
>>>>> (XEN) rbp: ffff83025dc9fd38   rsp: ffff83025dc9fd20   r8:  0000000000=
000001
>>>>> (XEN) r9:  ffff83025dc9fc88   r10: 0000000000000001   r11: 0000000000=
000001
>>>>> (XEN) r12: ffff83025dc9fd80   r13: 000000000000001f   r14: 0000000000=
000001
>>>>> (XEN) r15: 0000000000000000   cr0: 000000008005003b   cr4: 0000000000=
3526e0
>>>>> (XEN) cr3: 0000000049656000   cr2: 0000000000000000
>>>>> (XEN) fsb: 0000000000000000   gsb: 0000000000000000   gss: 0000000000=
000000
>>>>> (XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: 0000   cs: e008
>>>>> (XEN) Xen code around <ffff82d040350ee4> (xstate_init+0x24b/0x2ff):
>>>>> (XEN)  ff e9 a2 00 00 00 0f 0b <0f> 0b 89 f8 89 f1 0f a2 89 f2 4c 8b =
0d cb b4 0f
>>>>> (XEN) Xen stack trace from rsp=3Dffff83025dc9fd20:
>>>>> (XEN)    0000000000000240 ffff83025dc9fd80 0000000000000001 ffff83025=
dc9fd70
>>>>> (XEN)    ffff82d04027e7a1 000000004035a7f1 7ffafbbf01100800 00000000b=
febfbff
>>>>> (XEN)    0000000000000001 00000000000000c8 ffff83025dc9feb8 ffff82d04=
02e43ce
>>>>> (XEN)    000000160a9e0106 bfebfbff80000008 2c1008007ffaf3bf 0000000f0=
0000121
>>>>> (XEN)    00000000029c6fbf 0000000000000100 000000009c002e00 02afcd7f0=
0000000
>>>>> (XEN)    756e654700000000 6c65746e49656e69 65746e4904b21920 726f43202=
952286c
>>>>> (XEN)    376920294d542865 432048303537382d 322e322040205550 000000007=
a484730
>>>>> (XEN)    ffff830000000000 ffff83025dc9fe18 00002400402e8e0b 000000085=
dc9fe30
>>>>> (XEN)    00000002402e9f21 0000000000000001 ffffffff00000000 ffff82d04=
02e0040
>>>>> (XEN)    00000000003526e0 ffff83025dc9fe68 ffff82d04027bd15 000000000=
0000001
>>>>> (XEN)    ffff8302590a0000 0000000000000000 00000000000000c8 000000000=
0000001
>>>>> (XEN)    0000000000000001 ffff83025dc9feb8 ffff82d0402e32b7 000000000=
0000001
>>>>> (XEN)    0000000000000001 00000000000000c8 0000000000000001 ffff83025=
dc9fee8
>>>>> (XEN)    ffff82d04030e401 0000000000000001 0000000000000000 000000000=
0000000
>>>>> (XEN)    0000000000000000 0000000000000000 ffff82d040200122 080000200=
0000002
>>>>> (XEN)    0100000400010000 0000002000000000 2000000000100000 000000100=
0000000
>>>>> (XEN)    2000000000000000 0000000029000000 0000008000000000 00110000a=
0000000
>>>>> (XEN)    8000000080000000 4000000000000008 0000100000000000 020000004=
0000080
>>>>> (XEN)    0004000000000000 0000010000000002 0400002030000000 000000006=
0000000
>>>>> (XEN)    0400001000010000 0000000010000000 0000004010000000 000000000=
0000000
>>>>> (XEN) Xen call trace:
>>>>> (XEN)    [<ffff82d040350ee4>] R xstate_init+0x24b/0x2ff
>>>>> (XEN)    [<ffff82d04027e7a1>] F identify_cpu+0x318/0x4af
>>>>> (XEN)    [<ffff82d0402e43ce>] F recheck_cpu_features+0x1f/0x72
>>>>> (XEN)    [<ffff82d04030e401>] F start_secondary+0x255/0x38a
>>>>> (XEN)    [<ffff82d040200122>] F __high_start+0x82/0x91
>>>>> (XEN)=20
>>>>> (XEN)=20
>>>>> (XEN) ****************************************
>>>>> (XEN) Panic on CPU 1:
>>>>> (XEN) Xen BUG at xstate.c:673
>>>>> (XEN) ****************************************
>>>>> (XEN)=20
>>>>> (XEN) Reboot in five seconds...
>>>>>
>>>>> This is with added debug patch:
>>>>>
>>>>> diff --git a/xen/arch/x86/xstate.c b/xen/arch/x86/xstate.c
>>>>> index 6aaf9a2f1546..7873a21b356a 100644
>>>>> --- a/xen/arch/x86/xstate.c
>>>>> +++ b/xen/arch/x86/xstate.c
>>>>> @@ -668,6 +668,8 @@ void xstate_init(struct cpuinfo_x86 *c)
>>>>>      else
>>>>>      {
>>>>>          BUG_ON(xfeature_mask !=3D feature_mask);
>>>>> +        printk("xstate: size: %#x (uncompressed %#x) and states: %#"=
PRIx64"\n",
>>>>> +               xsave_cntxt_size, hw_uncompressed_size(feature_mask),=
 feature_mask);
>>>>>          BUG_ON(xsave_cntxt_size !=3D hw_uncompressed_size(feature_ma=
sk));
>>>>>      }
>>>>> =20
>>>>>
>>>>> As can be seen above - the xsave size differs between BSP and other
>>>>> CPU(s) - likely because of (not) loaded ucode update there.
>>>>> I guess it's a matter of moving ucode loading somewhere else, right?
>>>>
>>>> Few more data points:
>>>>
>>>> 1. The CPU is i7-8750H (family 6, model 158, stepping 10).
>>>> 2. I do have "smt=3Doff" on the Xen cmdline, if that matters.
>>>
>>> As a datapoint, it would be interesting to confirm what the behaviour i=
s
>>> with SMT enabled.
>>>
>>> I'd expect it not to make a difference, because smt=3Doff is a purely X=
en
>>> construct and doesn't change the hardware configuration.
>>
>> Uhm, changing to smt=3Don actually _did_ change it. Now it doesn't crash=
!
>>
>> Let me add CPU number to the above printk - is smp_processor_id() the
>> thing I want?
>> With that, I get:
>> https://gist.github.com/marmarek/ae604a1e5cf49639a1eec9e220c037ca
>> Note that at boot all CPUs reports 0x440 (but only later are parked).
>=20
> And for a feature mask of 0x1f only 0x440 can possibly be correct.
> I'm kind of guessing that set_xcr0() mistakenly skips the actual XCR0
> write, due to the cached value matching the to-be-written one, yet
> the cache having gone stale across S3. I think this is to be expected
> for previously parked CPUs, as those don't have their per-CPU data
> de-allocated (and hence also not re-setup, and thus also not starting
> out as zero). I guess an easy fix would be to write 0 to
> this_cpu(xcr0) directly early in xstate_init(), maybe in an "else"
> to the early "if ( bsp )".
>=20
> I'm not sure though this would be a good fix longer term, as there
> might easily be other similar issues elsewhere. IOW we may need to
> see whether per-CPU data initialization wouldn't want changing.

See J=C3=BCrgen's aca2a985a55a ("xen: don't free percpu areas during suspen=
d"),
which was an (extended) part of his core scheduling work. I'm afraid this
rules out zeroing per-CPU areas when they're already allocated. In the
description he says "OTOH a component not registering itself for cpu
down/up and expecting to see a zeroed percpu variable after suspend/resume
is kind of broken already," which in retrospect I don't fully agree with
anymore: It's been virtually forever (before that change) that per-CPU
data started out all zero.

Then again this makes me wonder why you're observing different behavior
with "smt=3D0" vs "smt=3D1": APs' per-CPU data never gets freed during
suspend, so a stale earlier cached XCR0 value would always be in place.
Perhaps the connection is more indirect, and things largely depend on
what ended up running last (before S3) on the respective CPUs?

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 17 13:21:43 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 13:21:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167857.306445 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFz2B-0002EB-Gb; Tue, 17 Aug 2021 13:21:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167857.306445; Tue, 17 Aug 2021 13:21:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFz2B-0002E4-DX; Tue, 17 Aug 2021 13:21:39 +0000
Received: by outflank-mailman (input) for mailman id 167857;
 Tue, 17 Aug 2021 13:21:38 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=tbpc=NI=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mFz2A-0002Dy-Lx
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 13:21:38 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id bf95b349-de9a-4e92-8abe-ca09a225b01c;
 Tue, 17 Aug 2021 13:21:37 +0000 (UTC)
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur02lp2054.outbound.protection.outlook.com [104.47.6.54]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-19-baFtpUYCM8G8VZFHsb9dBw-1; Tue, 17 Aug 2021 15:21:35 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB7024.eurprd04.prod.outlook.com (2603:10a6:800:124::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Tue, 17 Aug
 2021 13:21:34 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Tue, 17 Aug 2021
 13:21:34 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3PR09CA0009.eurprd09.prod.outlook.com (2603:10a6:102:b7::14) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Tue, 17 Aug 2021 13:21:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bf95b349-de9a-4e92-8abe-ca09a225b01c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629206496;
	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=MX5G3Cv1nz/cWB91VAXY3IUlaFculdx0ZOj4SdSbCYE=;
	b=HrEXGHNy6mforMvdgs+A4rDXkkOWIcAJw0GK7I65vO7Oq0A7m3SThTEXeRz5P51Am7F7MX
	Q+EGCe/rML2orLR8uLLExqtEFse4Z1C20iLFWGl4rb7ECDNPAkwjlKI8eaS7xWNg2XoRGM
	L2E2Y7z+rYNFMeubao+WL0Kc+dPR/L0=
X-MC-Unique: baFtpUYCM8G8VZFHsb9dBw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BHMXNN+qoIiKrVK3qczZSeoGWUlSWaQXdVtzFmVe6uEYEFkXlXVSUSOK3gvVdJZF6ArBqGH0K1YjOMKxk0L4XeyFccqpYVmGKR8Bjd4x58LPisRjujkQJV5460FvtP7BZ6Fi6UxAeKk5wmpUVl+bcFr7vpkeEqUj+YgbYspM780iwZkJ0jNAClkLJ8Go9gSYEf09HvD28dYJ0AkaiELOd+ffkrdK6Qmlso/Kh1qUudwfvQqifdHi6gh0vfJ06dTbtOefpL7MFUWdovF6SKewkcQQzP8piEt3CcVMqsQrRDzE+9DhIMk7Ut92XXjuIQyW1wBH8K/LyE/iDo4RkhY1DQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MX5G3Cv1nz/cWB91VAXY3IUlaFculdx0ZOj4SdSbCYE=;
 b=SSfwKkv2FAwg67NLAjl91vk496a9Mwdn2LQhdTxHighfaXGGQi/LzsxTp/e4g/c8m8Zf3XEODTtaD5Bs4Gn8W4x52dlbwosLSWOZH3FuWLDFvcjsDsi8MiVbbEZ/GOFbUu92J3g50chYtwuiwdKnePSO8x01m1/x5nk3dhge+mqU0sgYiN2zX10PfGGfYXCfcb9EUSGFl00ihJGH1Os/Q6j0+ZdfUnIophUbpBzUXxi/BH+HB9DQ9Oo+AYeLc3Qq9ZbgSQjx03aHsm9jC0oQHr83zUcFdAHoc9i611HFbOqP/2OaTQV4r3/0AEOcpEy3QhRCr+6pMsAJo8IE/peNPg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: invisiblethingslab.com; dkim=none (message not signed)
 header.d=none;invisiblethingslab.com; dmarc=none action=none
 header.from=suse.com;
Subject: Re: S3 resume issue in xstate_init
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?= <marmarek@invisiblethingslab.com>
References: <YRsQArpQcpLB/Q5h@mail-itl> <YRuXNmpT+03aPo+p@mail-itl>
 <95ca90ae-9c37-c77c-67dc-66c1aabd1626@citrix.com> <YRuhFWLrplRRV6t+@mail-itl>
 <a575e7e0-156f-9ed1-cff2-92e4d7000090@suse.com>
 <78eb61ad-45ba-51f0-a5ba-624408d60cc8@citrix.com>
 <a704d6c5-c818-e47b-32b6-f57b2d9670f5@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <96fe5a22-d1d2-1e74-313a-c5377e9899d1@suse.com>
Date: Tue, 17 Aug 2021 15:21:32 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <a704d6c5-c818-e47b-32b6-f57b2d9670f5@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3PR09CA0009.eurprd09.prod.outlook.com
 (2603:10a6:102:b7::14) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f3291d0a-7fdf-448f-6466-08d96181ef24
X-MS-TrafficTypeDiagnostic: VI1PR04MB7024:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB702483CBC0D6984C0F423F61B3FE9@VI1PR04MB7024.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ToUiAoJ2+KFZJq4VQIuRW4vr1Dv6i3KyzOhdhphJM/qO10U1N+uH/M8NjhwIjyf56UwIEeN3Zgn+j4XfRczFPP3OJ1FuS0K9E7Ht8EoHsImZv+gnW33GMLAi6x9ZUR3kgIo5EK4EmwoU+4g4zQc33CbF4n0vbnFZfh+UDM23YWKRNAt/EWo1WJ12lOuOMRTarun97E7LbZDxvs+r+GFBglZc8+cRESOcVfWWnlDG4ajB/yJwnF+Y0YMjJqkSGIUk6xGYUfbySaxxQ5kASeRDbNU0LcOzMe677OICCpJt+wPCF2UNlW0f60p0IjmbVciqjRiXCr7JhhWbN2bxLIMoSJwRc3RA1Of4c9H0B/iKp8MrA/+AmpJ/yBUA+fMtiMRfhDxKB+TONq7DLGK3dpOE9JtDhSU/xMbiL/7Gqmoj0mW6arBmyf1yvqo1r0+PVJK8+c4SbyIP/N6RfSMkfdMSIUEjBCArMatznMheDlsjD4Sy6OiiK5ReemD/1PseWyE4orQf0YCpaGBC75fhWCPY5jtbEYhER10O5VgiA/B7Of3s5VXk84NHxUe6cSvTKwIV13qOC6yg/+8GN9OmrVwxOGU+hzwJinIinvWYXmQOmi0gbUAQjBmh+/azi0+b2No/ofyT82xzygzHKB6FgQVZ3x9Tu/0NQ8zIgcuiL/poUJjkLtzCCQJML63umsULD2fWylSApc2g7jo5/x0oNJDrXKQ3vvBf2C0qkOsBHXtITXI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(346002)(39850400004)(366004)(136003)(376002)(16576012)(316002)(54906003)(4326008)(31696002)(6916009)(66476007)(66556008)(6486002)(26005)(5660300002)(53546011)(2906002)(2616005)(956004)(38100700002)(66946007)(36756003)(8936002)(478600001)(8676002)(186003)(31686004)(83380400001)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aDl1Q3BNejMyV3lEZ0pNTExXUVdaVkJ0UTlYNEVJRTc3RDI2ZE13R1VUWUZ6?=
 =?utf-8?B?WVNqL1dsZVpCNVZrMk5pM0U1UUNzM0hEemwzZ0c3dnhvSHI2SzZXYmQ2NWxP?=
 =?utf-8?B?MmVGT2p3MGhLMWdDclJPOG5DZVA4cGNKUkNBMmJJZnVFWXQ0NGRyTUd4dlo0?=
 =?utf-8?B?QU5QdENBZWpsUnVWQmtnWWlTYzdGZW1DSVhpZ3Q0bVhKckU1Z0ZvSkM1T2lz?=
 =?utf-8?B?YlcycHVUb3pJWjM4bWtBYWhwOUNhSit1STNTSkZRMnlIV2lXbFBCMTJPbUM4?=
 =?utf-8?B?QVpmczFWWDZ6TEN5S00zemxtbmtmUUZQSFdzTzd0SG9qSmJlZUdyRnY4dGQ1?=
 =?utf-8?B?RGxvdmdybHU5VSt6aUdtRHNaUlRRd0EwSHBGTHFHRTQwdHJhZ2pVV09Xb1Fa?=
 =?utf-8?B?Y0cxS3RZeFBKaC9WNXBYTU9QQmI0VnZjRlpCWUhDQzJBMU1SV3k0ajg0V29j?=
 =?utf-8?B?eVdLVnFWbFYxc1NQLzZabHI3QjA3b3VVNGNLRXM0ZlBxTWdxN2FFaVA0Um1o?=
 =?utf-8?B?dUFCd1Z3WHlnK3AzYUxaY1NQd1UrdlRTcnI5a0hHZkxlNFdKS3dnN3V2QVlM?=
 =?utf-8?B?TjBCU3RCaGIyeGIwTkFVZlJkUm5PUGdlVDZQYVZKdFIwTEw1eEdJRGoxWTBy?=
 =?utf-8?B?cHpKTmwva0RhaWNrdnBsUFpZUWJxUmE5RkhpdUF4ZlFJY3BES1loYVFhamJw?=
 =?utf-8?B?R0phVFludldsTGEyQXlvbkZudnlBSzBvWkxKQjRHSGVOSTVWeXp2OEc2TFhx?=
 =?utf-8?B?OTI2Rlc3eXN5NnpVaUprL2xoU2E5ZkYvSEhxbVM4SEtmTm1xeTRqQmt2YzRa?=
 =?utf-8?B?azVzY0lTTkJKdjg0cGYvelIvSEErbEFncUxObHByOVdxQ0lmZFJTeklVcDcv?=
 =?utf-8?B?bXNKSExXRUNORWp3R1k3d3RFRXl4NTVZWjVLMjRXTFo4Szk0M0gzS0x2djhD?=
 =?utf-8?B?S0xCUkJuUG9pL3dUeFljWFdBczNBejB3UmdLc1pna05SNkhESS91c3FFd1JI?=
 =?utf-8?B?M2t3UW92QUc1NHBnS3NIUFRNM2t5NHgwSUY2MlJTRElRUnFWRVZVOEVaLzRU?=
 =?utf-8?B?M2IxU24rUkZFL3U2ZjROM0I5K1ovYktYZ2RnVkdhWEFVVzVVTWNtM2lJdEdB?=
 =?utf-8?B?SzVjT3hlT2Q4OFUrd2NPRDZMZE4rVFRuOU43blIzdldibUQ3UUt1Z0NGemxK?=
 =?utf-8?B?cWNwV3Nxcnd2SEVJREhwbis5RW5MZ1hXQUhUVnpTekMvZ0tURUFSdW50bHpl?=
 =?utf-8?B?VEswbkVsWkNtZkpsVWE1TlJXbitjSDAzWUFxYkJlalpnblBaTWpiODZoSGFG?=
 =?utf-8?B?VlAzeWpxSlgrWkVFZWhvZE9pK3ZEVVJFZHZEWHVrQkduUkhBSVZlcTdkaUYr?=
 =?utf-8?B?L21lNnJQbXAzeUE2R3pxSjRrOWx5S2hZbEU0RTZKZ0pHa29mL2UwQXd0N21u?=
 =?utf-8?B?RjZOZFhMbHdsM3lxU0sxWHBRMVczMk9lTkFLcDRYbmQrR2Mzd3dOQ3dHWmh5?=
 =?utf-8?B?bkhOOG1ibVV5NjVRZ2tvSHArblVOQ3JhUjFHN2RFbmdvOFB3UTNjY0wwRmc0?=
 =?utf-8?B?N05pSjZSSHB2dy9WSkVNNzVaWjIwSkZxYkcrRW9XYVZVbEphd3FOYlZCbSty?=
 =?utf-8?B?RmY2cnVHQUZ5Y2w0Y2RBalJpV0wwZ3EveEwrdmVNODkwazJjUXNOeU11WGht?=
 =?utf-8?B?NHZwci9DcEdIVzVQSGdhbHRkMGEwY1ZsNmxRNG10WjJrOXJIWTJZTWtBMmhs?=
 =?utf-8?Q?nLDAAkFx1DddQpTT9QlUvLQZnW0Kl8H3q07pdZp?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f3291d0a-7fdf-448f-6466-08d96181ef24
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 13:21:34.1550
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: m10dvNMT0hzjlYzD+XliEv2lbR7YqIN/7VmGvTRrz+7WgPXFQMkCvGx9xVUViJO+xw/owHVZVWnJoiGh2mYCQw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7024

On 17.08.2021 15:06, Andrew Cooper wrote:
> On 17/08/2021 13:53, Andrew Cooper wrote:
>> On 17/08/2021 13:21, Jan Beulich wrote:
>>> I'm kind of guessing that set_xcr0() mistakenly skips the actual XCR0
>>> write, due to the cached value matching the to-be-written one, yet
>>> the cache having gone stale across S3.
>> This is a rats nest, and area for concern, but ...
>>
>>>  I think this is to be expected
>>> for previously parked CPUs, as those don't have their per-CPU data
>>> de-allocated (and hence also not re-setup, and thus also not starting
>>> out as zero).
>> ... we don't deallocate regular APs either, so I don't see why the smt=
>> setting would make a difference in this case.
>>
>> To be clear - I think your guess about set_xcr0() skipping the write is
>> correct, because 0x240 is correct for xcr0=X87, but I don't see why smt=
>> makes a difference.

Right - as per my later reply to Marek I don't see an immediate reason
anymore either. I could see an indirect reason via different scheduler
decisions, affecting what ran last on the respective CPUs.

>>>  I guess an easy fix would be to write 0 to
>>> this_cpu(xcr0) directly early in xstate_init(), maybe in an "else"
>>> to the early "if ( bsp )".
>>>
>>> I'm not sure though this would be a good fix longer term, as there
>>> might easily be other similar issues elsewhere. IOW we may need to
>>> see whether per-CPU data initialization wouldn't want changing.
>> We've got other registers too, like MSR_TSC_AUX, but I don't think we
>> want to be doing anything as drastic as changing how the initialisation
>> works.
>>
>> The S3 path needs to explicitly write every register we do lazy context
>> switching of.
> 
> Actually no - that's a dumb suggestion because the APs don't know
> better, and we don't want for_each_cpu() loops running from the BSP.
> 
> Perhaps we want the cpu_down() logic to explicitly invalidate their
> lazily cached values?

I'd rather do this on the cpu_up() path (no point clobbering what may
get further clobbered, and then perhaps not to a value of our liking),
yet then we can really avoid doing this from a notifier and instead do
it early enough in xstate_init() (taking care of XSS at the same time).

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 17 13:29:47 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 13:29:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167863.306457 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFz9y-0002vs-9i; Tue, 17 Aug 2021 13:29:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167863.306457; Tue, 17 Aug 2021 13: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 1mFz9y-0002vl-6V; Tue, 17 Aug 2021 13:29:42 +0000
Received: by outflank-mailman (input) for mailman id 167863;
 Tue, 17 Aug 2021 13:29:41 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cSHW=NI=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mFz9x-0002vf-3O
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 13:29:41 +0000
Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 2c29ce6c-ff5f-11eb-a4b5-12813bfff9fa;
 Tue, 17 Aug 2021 13:29: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: 2c29ce6c-ff5f-11eb-a4b5-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629206979;
  h=subject:to:cc:references:from:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=N3z7UoN0fDFWDKVup/s95Gx8Dtwdmm/jO8VXDlGWjzE=;
  b=P8rQfZ/bL3Teyt/1Q19+KWeYVf28GGirXwHAVQRIr9YZDv4YiC/HoJYD
   YROBgFDaXZTtm6nxOAIs0SrrKJsik+wsyTdfHJKZTqMSne0FlOsKyarF+
   MrMQIvyuKdg68qA7S3o/MiqNHe3gWUf34ONGFjxTBGpzMRfXvXyWoiLpr
   Q=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: UaP5wR5z87QXi2C9Zot0t/Gu8FA6hVO6V4JSCZxTEPjVzSP4JThGvqjRwETxIl3IwP72axNxC2
 4YMweIsLHOILVQV/aV/RQ9Qyt1/RPrOk0ecoJ797n3haosm+GPxgOU85WKUspzxf6EU5xZOcp/
 mVJKeSN7bRBRU1UNjAIS8C5cYUNOSOIbss+xqREpQuhPtRJHTXWubIgatf8Gayijr0DtEEjAP5
 Q01Rbj8swEqjQB5KFt2EtoLfpJJAqEx8Z0+31lmH9CZv3oI+UIK5YU65qSmwc56lFN1afDQn7c
 qGjPjUnMd4LKjfHZ1WPbCFRh
X-SBRS: 5.1
X-MesageID: 51023748
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:S4dqtKjj1O6uMNk/0XymWXMVC3BQXiwji2hC6mlwRA09TyX5ra
 2TdTogtSMc6QxhPk3I/OrrBEDuexzhHPJOj7X5eI3SPjUO21HYS72Kj7GSoAEIcheWnoJgPO
 VbAs1D4bXLZmSS5vyKhDVQfexA/DGGmprY+ts3zR1WPH9Xg3cL1XYJNu6ZeHcGNDWvHfACZe
 OhDlIsnUvcRZwQBP7LfkUtbqz4iPDgsonpWhICDw5P0njzsdv5gISKaCRxx30lIkly/Ys=
X-IronPort-AV: E=Sophos;i="5.84,328,1620705600"; 
   d="scan'208";a="51023748"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VaMJlgDNmkU/2UP6UfaPE/o2FN67QsuU+pLS0UEtsBM835UdgPL0MS5x3Mmqjf8zWted5k/KtYqc+x8JAYEJujE1Ai/hRe3dBa0YO1DY0wYC6AD8yEeQg8JJ1odlOoVWMJYgvLseYXZCjcOBIYBy21kGO6IJ5uyOEYFkuNBciuDdT4nKVZHheuGbIk9yJxz1urjjuGP91VgT5qVqtlcyYrtR2k0gHfMbNbFM26uo3QQCQdoW2/ff6ePXmJoeZF4S+2Zz30agUTLh5EsjTX+nm1KifFNFKAwLGH3qZrQN0/dfpJuUH4NHed6RfzKexhQSb/8ItuyiSg+yfq0+2USf8Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wmSTbMcyqFYQARv6Xx0iZ9QnEzqoQ/xS14oClgrkyrU=;
 b=eiBx0s30Et7bZmhhged1MIv1o16qr6m5mFNJ6RfrCZDxCXX2eUkpAZ9DQlgcQkjogK9WPQGxILx/o3BmcSWMaHm1NGvdr4v/u4YVy2dIAD+dXEx8kAwoiKKzJbsJC7d09wFa2vIY3T7GQVe+XEHWfBaalCvZ7DAisCkIbEyKzG9M8pggHrALSCfNmfDZTougq6dZFd+IX5uSnWxqrdLMIjn9NEFN5obFr+3dZVfFfPUi+ODCgKthB9jK2YcbCRhcHhXmVxFt5AhYUhDOv1dMo+l83ChDWqCpMh5k7a4/267W47c9a40f8lIlsAAEuPyKHy9FBg6aWvG4jONXOLGULw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wmSTbMcyqFYQARv6Xx0iZ9QnEzqoQ/xS14oClgrkyrU=;
 b=izbknZB7JVPxemy9m92QsLkMLkuwW91SKgr61JS5HFrrCKDFRByGagvVROFzxKxz9iVLXqup1CiprahqEdtJmTyWWachxY8Nh4oQ2Zl0a26jTdTBN/kqxjVyE+BvOxWlb9SHRdLSDnS/M4UIxjKwpyQx2AWm0NOwv5J0vNhgDyY=
Subject: Re: S3 resume issue in xstate_init
To: Jan Beulich <jbeulich@suse.com>
CC: xen-devel <xen-devel@lists.xenproject.org>,
	=?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?= <marmarek@invisiblethingslab.com>
References: <YRsQArpQcpLB/Q5h@mail-itl> <YRuXNmpT+03aPo+p@mail-itl>
 <95ca90ae-9c37-c77c-67dc-66c1aabd1626@citrix.com> <YRuhFWLrplRRV6t+@mail-itl>
 <a575e7e0-156f-9ed1-cff2-92e4d7000090@suse.com>
 <78eb61ad-45ba-51f0-a5ba-624408d60cc8@citrix.com>
 <a704d6c5-c818-e47b-32b6-f57b2d9670f5@citrix.com>
 <96fe5a22-d1d2-1e74-313a-c5377e9899d1@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Message-ID: <b631b56d-6048-c900-a47c-f87df9dc1a5a@citrix.com>
Date: Tue, 17 Aug 2021 14:29:20 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <96fe5a22-d1d2-1e74-313a-c5377e9899d1@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Content-Language: en-GB
X-ClientProxiedBy: LO2P265CA0071.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:60::35) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ec9add12-54fa-4abd-191c-08d9618308a9
X-MS-TrafficTypeDiagnostic: BYAPR03MB4485:
X-Microsoft-Antispam-PRVS: <BYAPR03MB44851690B230BE7A126A758BBAFE9@BYAPR03MB4485.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 6yhxAJr2ffAaJgUL3x4858Cg4tZ011v146a/dApFNxyjRZd5UyEBEW3l4tmefdUoxaTum/oMhQC+gHqPZvuwLAE4FuA2z0d+s2FlDM2XhmOGd8bkTd5eL1EENK5Z0TKQbMVsjtAEjvjS7VQPe8dEtbMC02uqT+ednQnLf+Y+grBksu3CTNY1WiWUWllE1DasmoMLa6C4tGMtXau3NIDA1rY6wpVxVeR1da9v2Pq1JcuH6PKMI8KfgZYe3vPOAE2ZScuHyDSG39OpIJVLTX1CWmqLkv6zJvUvBEhDGJMRrDZv4mKZC+9s07vgkzcd7WVDpXSs+lWzUH5Dg4PIecv9MWUUXFxNwyt9b3JvP58qijyXKIO9aCKm+cCrDwxxsQ+yROe079y2Hm0kShSsMnTc4JGOIomJBhHANHuVkp/921OCeVnR7099z7BZB2kE/NGbyAzznQIvNqghwkUGS8oLQ+pHyf3COI/PfugO0isGmApSO+Zx22WOJAoU5+TkFyWE5kVqtypJkJE9r56qUMz9sreweLTNchXXCXjwIrKXm/a1c4TPFwRmFxFbLeOfSv/783UYx5NCQTWBh2S8Ty2YmhGBRFiICYXaPzYHkgjyZd5NCw8Nn2E9BneNIFAJoCA2xnYuCu4uWupCg8jec1PlmzS1d8vM5zdFq2lKNu14rVAiO4IgVzN8MYBFTMBVuBcCDNvHeVok9VR2cXoIUYcKPFoHv+gV0CcokyNMtzwJ9RE=
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:(4636009)(136003)(396003)(346002)(366004)(39860400002)(376002)(16576012)(316002)(4326008)(478600001)(186003)(26005)(8936002)(54906003)(53546011)(8676002)(66946007)(66476007)(66556008)(2906002)(38100700002)(6916009)(5660300002)(6486002)(83380400001)(31686004)(6666004)(36756003)(956004)(2616005)(31696002)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?am01OUJseTZybW9CS1M5VVhoZDBwQXNIOTZZeUVhZzFZdWZsNWwweDBBaGg5?=
 =?utf-8?B?aXlDa3N5WnozS3UyamY0U1hrOWVBb0hDUHl4Nmt1bzhkZUhOcUVxNUR6QURl?=
 =?utf-8?B?Y0xQbzU3TUk2bjZLUDk4WHBZU3llaDhxc2pZRW8rVnVYTFJ3cVpNbCt2RWZL?=
 =?utf-8?B?M28zalpodDZmL09EcnBsOXd6K1Jmanh6RnUvUk5EOXNVSWxwb2ljMHBJR3Q5?=
 =?utf-8?B?UGI0SFBKS205MTY3N0hOV1dTTG8rdWo3VGMrYUUvWUs3anAyWFhyZlFZc1JT?=
 =?utf-8?B?WVU1T1hhOW5CM3lUQTBjZjRWVEF5MUdRQWJSOE5mZVNncjJxSTgyWG8reFpW?=
 =?utf-8?B?bG5IZ2ZLUmlxeVR0ajVtS25rYTNKK3V3NDZ3K2FpNWdOdXR0bG9USC9YMFZE?=
 =?utf-8?B?ZFFGbXk2eXhUWmRDOTFwSC8yYVhMWHQ1RUtnVGE1VzNiS3ZHbVJveGZxMUYy?=
 =?utf-8?B?WWxWcjNaRFlsdHV2UXFXNlh6OVZkY3JOb2tCMnRKOXF6RnJwdkkwbk80cXpj?=
 =?utf-8?B?TkMra3p5MHFYOFlQSlZoZ2pTTmx0QmdzM1FSSHBsNjNDZjZSSXFVcTB1eU5V?=
 =?utf-8?B?SXRxM0FSWHB0eWV3OCtqT1hwNkc3VHgvT1dSbEh5VU1TaEtLalREOGtocDFz?=
 =?utf-8?B?eGtiV29wZENpRmVSb0E3dFF5a1NVL0V4S2NQbDdFSW1abkVoU1BBOWtmTU95?=
 =?utf-8?B?cmg3L2tJQzZxTlJEMDlRc0RtK3NoZHZLUUdIQjVqOThCUE5mWUhOOE1JNkor?=
 =?utf-8?B?K1Q5S3ZCbnZuU09IdTZOQ3RLMVFVVXZlMmo4S05OOTJLbmR4b0VhS2E1Wm94?=
 =?utf-8?B?aEpTL1JnZS9BQUxndVNJUTZrZm9mZm1qcGZuWG1pSkNIK1REV1ZrcithOWpV?=
 =?utf-8?B?ZUxKUXk2TUlQUnJKaVUyeVpzVTF0bVQ2WFVNbWpZMTZCZnRqRDhzQ3JMeTJC?=
 =?utf-8?B?d01QS2dycGdJNDdOS0hZN1lZOU5wYWtiRSsxSlNXTWYvdm1FVitrdWpSQU84?=
 =?utf-8?B?bjNCdFlsUjg2UDg4NnliVmdpazZzaTNyRG5OSDZvOWtqbFF0S2xFaWw1U0po?=
 =?utf-8?B?QmVpZHMwNGhIS1VoZ2ljcitkcXNaRGw1SjFRL3JBY1RQZzRyMDNhYVE5VEtQ?=
 =?utf-8?B?UUg2VjVWM2NzZjRwd3UzR3hONzdXV3l0L3hoc3haSDN3RTRCQmFvb0pqalcv?=
 =?utf-8?B?dEF0cnhBNzdGU0JPYkVzZ0tRaTBXOEZ4VnE2amFiMjBvUVJ5eWwzMjJVakRG?=
 =?utf-8?B?OFJyN1llaG5oQ2lxc0R0QjJLeGNjMEhLMUxDbmZycVA2RXdBckNMYTZkMERT?=
 =?utf-8?B?eHN5T0lzQXpNdWFwbXl2WnNMcjhCbndaS0dRalMwV1p1WjFyUjNwNkQ3NU5h?=
 =?utf-8?B?cDZvc1lPSHJoakwwSkpxZ3J3bTAxNkZZemVGaXVxaU1HenhCck5DTlhhT2Fk?=
 =?utf-8?B?NW4reW83aG9DeHRLZFFoKy9LdEtSWjFNRURQdTl1R2cyRSsrcUwxdE5ndnJl?=
 =?utf-8?B?UlJRT3UzVVVpNSs2Qyt3Zkw5TEtvSEpMbHI5anpralcvWWpMemZCOWlZSUxO?=
 =?utf-8?B?ZlZPVHhuS3RKUWU2cEVIV21VMHNFVk1DVEt3c2pmWUNlTWd5Wm9aM0ViMkRQ?=
 =?utf-8?B?K0p6ZU41a1k1ZkJnY293WXRTWHpCMlgwSjkyWlYwRC9tV3g3anRaaW5tb3dw?=
 =?utf-8?B?c0s5WkxHTHkwZVBEVFFDOWZWOUF1bXhtMTNUSVBuT0xIS1VTSlFWc1c3ajVv?=
 =?utf-8?Q?UGrwMbEBAbrmyfIctV63Jv9R6B1GTwcqZ0pS6aN?=
X-MS-Exchange-CrossTenant-Network-Message-Id: ec9add12-54fa-4abd-191c-08d9618308a9
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 13:29:26.5804
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Orzcf/i1f7PRCrajYPsIGrREqCCqo56sWA7rnfZGEofz5SngybJs3pfwMF7t9gGvTyHml0D0BUH52PJpUAhxhEpKdAI9gXva/Y4/0tFLMRU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB4485
X-OriginatorOrg: citrix.com

On 17/08/2021 14:21, Jan Beulich wrote:
> On 17.08.2021 15:06, Andrew Cooper wrote:
>> On 17/08/2021 13:53, Andrew Cooper wrote:
>>> On 17/08/2021 13:21, Jan Beulich wrote:
>>>> I'm kind of guessing that set_xcr0() mistakenly skips the actual XCR0
>>>> write, due to the cached value matching the to-be-written one, yet
>>>> the cache having gone stale across S3.
>>> This is a rats nest, and area for concern, but ...
>>>
>>>>  I think this is to be expected
>>>> for previously parked CPUs, as those don't have their per-CPU data
>>>> de-allocated (and hence also not re-setup, and thus also not starting
>>>> out as zero).
>>> ... we don't deallocate regular APs either, so I don't see why the smt=
>>> setting would make a difference in this case.
>>>
>>> To be clear - I think your guess about set_xcr0() skipping the write is
>>> correct, because 0x240 is correct for xcr0=X87, but I don't see why smt=
>>> makes a difference.
> Right - as per my later reply to Marek I don't see an immediate reason
> anymore either. I could see an indirect reason via different scheduler
> decisions, affecting what ran last on the respective CPUs.

Modern Linux has stripped all MPX support, so won't set
%xcr0.bnd{reg,csr} in the first place, and will differ from Xen's
default setting.

Therefore, I suppose we have a real difference in Xen's idea of the
lazily-cached value depending on whether we're in half or full idle context.

>>>>  I guess an easy fix would be to write 0 to
>>>> this_cpu(xcr0) directly early in xstate_init(), maybe in an "else"
>>>> to the early "if ( bsp )".
>>>>
>>>> I'm not sure though this would be a good fix longer term, as there
>>>> might easily be other similar issues elsewhere. IOW we may need to
>>>> see whether per-CPU data initialization wouldn't want changing.
>>> We've got other registers too, like MSR_TSC_AUX, but I don't think we
>>> want to be doing anything as drastic as changing how the initialisation
>>> works.
>>>
>>> The S3 path needs to explicitly write every register we do lazy context
>>> switching of.
>> Actually no - that's a dumb suggestion because the APs don't know
>> better, and we don't want for_each_cpu() loops running from the BSP.
>>
>> Perhaps we want the cpu_down() logic to explicitly invalidate their
>> lazily cached values?
> I'd rather do this on the cpu_up() path (no point clobbering what may
> get further clobbered, and then perhaps not to a value of our liking),
> yet then we can really avoid doing this from a notifier and instead do
> it early enough in xstate_init() (taking care of XSS at the same time).

What we actually want to do is read the hardware register into the
cached location.  %xcr0 is possibly the only lazy register we also do
extra sanity checks on.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 13:49:16 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 13:49:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167868.306468 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFzSn-0005Nr-38; Tue, 17 Aug 2021 13:49:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167868.306468; Tue, 17 Aug 2021 13:49:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFzSm-0005Nk-Vz; Tue, 17 Aug 2021 13:49:08 +0000
Received: by outflank-mailman (input) for mailman id 167868;
 Tue, 17 Aug 2021 13:49:07 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lICV=NI=invisiblethingslab.com=marmarek@srs-us1.protection.inumbo.net>)
 id 1mFzSl-0005Nc-53
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 13:49:07 +0000
Received: from wout1-smtp.messagingengine.com (unknown [64.147.123.24])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 6cd4b22b-b7ce-41d6-bd6a-926546f8ae0e;
 Tue, 17 Aug 2021 13:49:05 +0000 (UTC)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.west.internal (Postfix) with ESMTP id 662F832003D3;
 Tue, 17 Aug 2021 09:49:04 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute4.internal (MEProxy); Tue, 17 Aug 2021 09:49:04 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 17 Aug 2021 09:49:02 -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: 6cd4b22b-b7ce-41d6-bd6a-926546f8ae0e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=KJFKk2
	CF+T7mdC2Mk2qjAsrkzo7qKENtldXHJqvaQfA=; b=PLC34BqvkJGmh7dFQQ2jqM
	iOxmO7GUhCKIYTb99Nos4eYqrfhDNj2wGdXRF+RZR5AsY1hgB2R+v5ekY+5Blkag
	csetCKl0DYj2BO1lTqP3SmhOjdQHnAou84cnCl7prqJT39CaIdAMayemZDB5Zg/b
	Er899QfU24fNv4rCiD10VSniX0NK8wFntU5Q5ZuEbaYdYionk9F7iwAcrrmK1CJI
	NpouJ4qIVJVF6L0bG3pncEnq7634hyecZEaWOTZ51m4qQG9b1zg2OaTGewaILTli
	o2tg10YauqHLwConAHt0upRKM2Tr/uapqx5mfqD4vxDuKOjIuHfm0E1V0QT9Qfjg
	==
X-ME-Sender: <xms:T74bYdQ3w3SNVs6wmUktjuHEPVB3O5X0lV8iK8_zSiBCf25w2FFszA>
    <xme:T74bYWxZrbJZoIxOXGbxQBC4ACHgEFijloMxbgk8Jx-l3gh2jeIqFg6NhVKJSzf75
    c56S6N1gPBjtg>
X-ME-Received: <xmr:T74bYS1zFuGMMjRCVXgnkOYoMD3eClgmGWcfbsHO1bLhys-dDoDt4xPH9fvXCreWqHpxTuaMO2hTKb-sZL5eybO6FMssTroP>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrleefgdejtdcutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgvkhcu
    ofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinhhvih
    hsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepteevffei
    gffhkefhgfegfeffhfegveeikeettdfhheevieehieeitddugeefteffnecuvehluhhsth
    gvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehi
    nhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:T74bYVDkaHr8QGmxXeQmdiDAN-cK6dnAi3aXzqSMIVNSpAGTNppCwQ>
    <xmx:T74bYWjazHH8LummlN0MOJDzy9hMnV0hC81KyczcERsdFcaRwezGHg>
    <xmx:T74bYZoKOYkI4aAt9IcJ2pSFBqDxBBov2o8442zwEG_83I1gQsjovA>
    <xmx:UL4bYeLoO7ZcOVtcKHcDSPAfHxUaSRJjOb-NKqLGoLflzeh6g8UKww>
Date: Tue, 17 Aug 2021 15:48:58 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>,
	xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: S3 resume issue in xstate_init
Message-ID: <YRu+SuX1N09pbCRp@mail-itl>
References: <YRsQArpQcpLB/Q5h@mail-itl>
 <YRuXNmpT+03aPo+p@mail-itl>
 <95ca90ae-9c37-c77c-67dc-66c1aabd1626@citrix.com>
 <YRuhFWLrplRRV6t+@mail-itl>
 <a575e7e0-156f-9ed1-cff2-92e4d7000090@suse.com>
 <78eb61ad-45ba-51f0-a5ba-624408d60cc8@citrix.com>
 <a704d6c5-c818-e47b-32b6-f57b2d9670f5@citrix.com>
 <96fe5a22-d1d2-1e74-313a-c5377e9899d1@suse.com>
 <b631b56d-6048-c900-a47c-f87df9dc1a5a@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="O8v7RpX0pI9MWJTl"
Content-Disposition: inline
In-Reply-To: <b631b56d-6048-c900-a47c-f87df9dc1a5a@citrix.com>


--O8v7RpX0pI9MWJTl
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 17 Aug 2021 15:48:58 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>,
	xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: S3 resume issue in xstate_init

On Tue, Aug 17, 2021 at 02:29:20PM +0100, Andrew Cooper wrote:
> On 17/08/2021 14:21, Jan Beulich wrote:
> > On 17.08.2021 15:06, Andrew Cooper wrote:
> >> On 17/08/2021 13:53, Andrew Cooper wrote:
> >>> On 17/08/2021 13:21, Jan Beulich wrote:
> >>>> I'm kind of guessing that set_xcr0() mistakenly skips the actual XCR0
> >>>> write, due to the cached value matching the to-be-written one, yet
> >>>> the cache having gone stale across S3.
> >>> This is a rats nest, and area for concern, but ...
> >>>
> >>>>  I think this is to be expected
> >>>> for previously parked CPUs, as those don't have their per-CPU data
> >>>> de-allocated (and hence also not re-setup, and thus also not starting
> >>>> out as zero).
> >>> ... we don't deallocate regular APs either, so I don't see why the sm=
t=3D
> >>> setting would make a difference in this case.
> >>>
> >>> To be clear - I think your guess about set_xcr0() skipping the write =
is
> >>> correct, because 0x240 is correct for xcr0=3DX87, but I don't see why=
 smt=3D
> >>> makes a difference.
> > Right - as per my later reply to Marek I don't see an immediate reason
> > anymore either. I could see an indirect reason via different scheduler
> > decisions, affecting what ran last on the respective CPUs.
>=20
> Modern Linux has stripped all MPX support, so won't set
> %xcr0.bnd{reg,csr} in the first place, and will differ from Xen's
> default setting.
>=20
> Therefore, I suppose we have a real difference in Xen's idea of the
> lazily-cached value depending on whether we're in half or full idle conte=
xt.

:(

> >>>>  I guess an easy fix would be to write 0 to
> >>>> this_cpu(xcr0) directly early in xstate_init(), maybe in an "else"
> >>>> to the early "if ( bsp )".
> >>>>
> >>>> I'm not sure though this would be a good fix longer term, as there
> >>>> might easily be other similar issues elsewhere. IOW we may need to
> >>>> see whether per-CPU data initialization wouldn't want changing.
> >>> We've got other registers too, like MSR_TSC_AUX, but I don't think we
> >>> want to be doing anything as drastic as changing how the initialisati=
on
> >>> works.
> >>>
> >>> The S3 path needs to explicitly write every register we do lazy conte=
xt
> >>> switching of.
> >> Actually no - that's a dumb suggestion because the APs don't know
> >> better, and we don't want for_each_cpu() loops running from the BSP.
> >>
> >> Perhaps we want the cpu_down() logic to explicitly invalidate their
> >> lazily cached values?
> > I'd rather do this on the cpu_up() path (no point clobbering what may
> > get further clobbered, and then perhaps not to a value of our liking),
> > yet then we can really avoid doing this from a notifier and instead do
> > it early enough in xstate_init() (taking care of XSS at the same time).

Funny you mention notifiers. Apparently cpufreq driver does use it to
initialize things. And fails to do so:

(XEN) Finishing wakeup from ACPI S3 state.
(XEN) CPU0: xstate: size: 0x440 (uncompressed 0x440) and states: 0x1f
(XEN) Enabling non-boot CPUs  ...
(XEN) CPU1: xstate: size: 0x440 (uncompressed 0x440) and states: 0x1f
(XEN) ----[ Xen-4.16-unstable  x86_64  debug=3Dy  Not tainted ]----
(XEN) CPU:    0
(XEN) RIP:    e008:[<ffff82d04024ad2b>] vcpu_runstate_get+0x153/0x244
(XEN) RFLAGS: 0000000000010246   CONTEXT: hypervisor
(XEN) rax: 0000000000000000   rbx: ffff830049667c50   rcx: 0000000000000001
(XEN) rdx: 000000321d74d000   rsi: ffff830049667c50   rdi: ffff83025dcc0000
(XEN) rbp: ffff830049667c40   rsp: ffff830049667c10   r8:  ffff83020511a820
(XEN) r9:  ffff82d04057ef78   r10: 0180000000000000   r11: 8000000000000000
(XEN) r12: ffff83025dcc0000   r13: ffff830205118c60   r14: 0000000000000001
(XEN) r15: 0000000000000010   cr0: 000000008005003b   cr4: 00000000003526e0
(XEN) cr3: 0000000049656000   cr2: 0000000000000028
(XEN) fsb: 0000000000000000   gsb: 0000000000000000   gss: 0000000000000000
(XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: 0000   cs: e008
(XEN) Xen code around <ffff82d04024ad2b> (vcpu_runstate_get+0x153/0x244):
(XEN)  48 8b 14 ca 48 8b 04 02 <4c> 8b 70 28 e9 01 ff ff ff 4c 8d 3d dd 64 =
32 00
(XEN) Xen stack trace from rsp=3Dffff830049667c10:
(XEN)    0000000000000180 ffff83025dcbd410 ffff83020511bf30 ffff830205118c60
(XEN)    0000000000000001 0000000000000010 ffff830049667c80 ffff82d04024ae73
(XEN)    0000000000000000 0000000000000000 0000000000000000 0000000000000000
(XEN)    0000000000000000 0000000000000000 ffff830049667cb8 ffff82d0402560a9
(XEN)    ffff830205118320 0000000000000001 ffff83020511bf30 ffff83025dc7a6f0
(XEN)    0000000000000000 ffff830049667d58 ffff82d040254cb1 00000001402e9f74
(XEN)    0000000000000000 ffff830049667d10 ffff82d040224eda 000000000025dc81
(XEN)    000000321d74d000 ffff82d040571278 0000000000000001 ffff830049667d28
(XEN)    ffff82d040228b44 ffff82d0403102cf 0000000000000000 ffff82d0402283a4
(XEN)    ffff82d040459688 ffff82d040459680 ffff82d040459240 0000000000000004
(XEN)    0000000000000000 ffff830049667d68 ffff82d04025510e ffff830049667db0
(XEN)    ffff82d040221ba4 0000000000000000 0000000000000001 0000000000000001
(XEN)    0000000000000000 ffff830049667e00 0000000000000001 ffff82d04058a5c0
(XEN)    ffff830049667dc8 ffff82d040203867 0000000000000001 ffff830049667df0
(XEN)    ffff82d040203c51 ffff82d040459400 0000000000000001 0000000000000010
(XEN)    ffff830049667e20 ffff82d040203e26 ffff830049667ef8 0000000000000000
(XEN)    0000000000000003 0000000000000200 ffff830049667e50 ffff82d040270bac
(XEN)    ffff83020116a640 ffff830258ff6000 0000000000000000 0000000000000000
(XEN)    ffff830049667e70 ffff82d0402056aa ffff830258ff61b8 ffff82d0405701b0
(XEN)    ffff830049667e88 ffff82d04022963c ffff82d0405701a0 ffff830049667eb8
(XEN) Xen call trace:
(XEN)    [<ffff82d04024ad2b>] R vcpu_runstate_get+0x153/0x244
(XEN)    [<ffff82d04024ae73>] F get_cpu_idle_time+0x57/0x59
(XEN)    [<ffff82d0402560a9>] F cpufreq_statistic_init+0x191/0x210
(XEN)    [<ffff82d040254cb1>] F cpufreq_add_cpu+0x3cc/0x5bb
(XEN)    [<ffff82d04025510e>] F cpufreq.c#cpu_callback+0x27/0x32
(XEN)    [<ffff82d040221ba4>] F notifier_call_chain+0x6c/0x96
(XEN)    [<ffff82d040203867>] F cpu.c#cpu_notifier_call_chain+0x1b/0x36
(XEN)    [<ffff82d040203c51>] F cpu_up+0xaf/0xc8
(XEN)    [<ffff82d040203e26>] F enable_nonboot_cpus+0x6b/0x1f8
(XEN)    [<ffff82d040270bac>] F power.c#enter_state_helper+0x152/0x60a
(XEN)    [<ffff82d0402056aa>] F domain.c#continue_hypercall_tasklet_handler=
+0x4c/0xb9
(XEN)    [<ffff82d04022963c>] F tasklet.c#do_tasklet_work+0x76/0xac
(XEN)    [<ffff82d040229920>] F do_tasklet+0x58/0x8a
(XEN)    [<ffff82d0402e6607>] F domain.c#idle_loop+0x74/0xdd
(XEN)=20
(XEN) Pagetable walk from 0000000000000028:
(XEN)  L4[0x000] =3D 000000025dce1063 ffffffffffffffff
(XEN)  L3[0x000] =3D 000000025dce0063 ffffffffffffffff
(XEN)  L2[0x000] =3D 000000025dcdf063 ffffffffffffffff
(XEN)  L1[0x000] =3D 0000000000000000 ffffffffffffffff
(XEN)=20
(XEN) ****************************************
(XEN) Panic on CPU 0:
(XEN) FATAL PAGE FAULT
(XEN) [error_code=3D0000]
(XEN) Faulting linear address: 0000000000000028
(XEN) ****************************************

This is after adding brutal `this_cpu(xcr0) =3D 0` in xstate_init().

> What we actually want to do is read the hardware register into the
> cached location.=C2=A0 %xcr0 is possibly the only lazy register we also do
> extra sanity checks on.

Yes, better load the actual XCR0 value into cache, instead of 0
(although in this very case, it will get immediately overwritten).
I've added similar cache init for XSS - and this one should be safe-ish
- get_msr_xss() is not used anywhere.

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--O8v7RpX0pI9MWJTl
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmEbvkoACgkQ24/THMrX
1ywtxAf/dzeSa41RElZdiRHahGaBKN3L06EmlCl7/143cncH2shq3KPbVVFL7D24
wni2+JTGnXCD1dwh8/NalzMDDKhuJHPtnYelg58DFlQbfIvm62IdcZ0W0iMkL3Ii
QM+KZJHRJOPHdr2WnWj8n8P9A2KpqpSzkJCQqK9gX/zApO+XhTDRrsXZsubVyJhI
I5CsJWozImT89gIXfGSTi1dGEkGlhjlYPE3LXpKF07aKbx52ebWdIVgSBNxjLEYJ
lXS7OgIU4ZhRpzKRrplnUgOZaCjNt1OMF0wTouN3x9FS20Thpi8Ymj1+GkVSrBjb
iC6Rm3VtVie5t3rW/20+MMaqSab8DQ==
=piUc
-----END PGP SIGNATURE-----

--O8v7RpX0pI9MWJTl--


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 13:59:08 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 13:59:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167873.306478 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFzcO-0006vd-11; Tue, 17 Aug 2021 13:59:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167873.306478; Tue, 17 Aug 2021 13: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 1mFzcN-0006vW-UB; Tue, 17 Aug 2021 13:59:03 +0000
Received: by outflank-mailman (input) for mailman id 167873;
 Tue, 17 Aug 2021 13:59:03 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cSHW=NI=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mFzcN-0006vO-9e
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 13:59:03 +0000
Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id d048993a-2757-475d-9dcd-36f8754f4c1d;
 Tue, 17 Aug 2021 13:59: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: d048993a-2757-475d-9dcd-36f8754f4c1d
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629208742;
  h=subject:to:cc:references:from:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=wtn5WP+KjTNUlImYOvr3sspHcuBLG0Gp9FTlPLQGhwc=;
  b=FBF8hmAtXfGrQpg/3vJ1Vmbv5BAXA/W315RfQxZxpEHbFszBGttiKsua
   PF+pfJVfj9mywHLYHzuKD0FFJ8kxQgtleKgZMbDBP2fr8REXZiMcfcq+U
   FbSUyoWJTZ4U1WVzH8e0YbFQ1O/69O56Yj6ZiVdemuha7F09k3TGWrLvg
   E=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: QjLeqKqgAxZWPVy54x3+HU+JVwmQE4wQxrbHoi3u0XXL2Vfo7xMEI/lt6zuuGX5k15LGLUBZkI
 iN/gJQxsG0azbpMxi/0mtt6sw1NVLAzDZ09YWiAvrxLm74eJgeU+usM6Z4LQ4+ICxj+ztYWgtz
 myovgGP6oTxQyup2aRQfeKGe0QdZ5n5reYK8k0+RqpNUJLljZFvBwJCoU7eIxCqJhbCKngmowP
 i1dqxTqJUHxsNJqLpCAJbN9BZ4mYHO2/s0GG5ot2Nqq2rC3NOlkw+kaVL2AQO/pxxWzkU8M/Ei
 YLfR0c9qBQpZ0hb/tlNdqJ/J
X-SBRS: 5.1
X-MesageID: 50638493
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:ofl3gqgONcV9xSn0V59bARSLHHBQXiwji2hC6mlwRA09TyX5ra
 2TdTogtSMc6QxhPk3I/OrrBEDuexzhHPJOj7X5eI3SPjUO21HYS72Kj7GSoAEIcheWnoJgPO
 VbAs1D4bXLZmSS5vyKhDVQfexA/DGGmprY+ts3zR1WPH9Xg3cL1XYJNu6ZeHcGNDWvHfACZe
 OhDlIsnUvcRZwQBP7LfkUtbqz4iPDgsonpWhICDw5P0njzsdv5gISKaCRxx30lIkly/Ys=
X-IronPort-AV: E=Sophos;i="5.84,329,1620705600"; 
   d="scan'208";a="50638493"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cekLOSgiDaCOhmqR2z2+CNHK2oA1FEYIb7hO+mKV8+q+jT/P8sL3/CiEdMigL87nl1UdExaa4GN/M/jqKT5gBqdfrcjE4es5+GVVZuiLKO0d5z+ys7qNK7Efa2bx0nFqh/iUEb0Ys9kd0D20OWaa/4okKz4ajdLXzpJzn4jVohHl8/c9mt5TpTZtjCrUvacI8ezNM90HwgZF8za0c+UISCU0gOFYlbL3LA4KDC3+ZK6TD1GPxG2Hcd2KNADe2QQHsLEOitRZ1IPoEujMohNtw1IQVui1cWQCCHShqL8FqmH5WX8sGxABUdIkgG9e7ebY6d8G4QK0gt/PITNlvy4X7A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wtn5WP+KjTNUlImYOvr3sspHcuBLG0Gp9FTlPLQGhwc=;
 b=dIYew2uVRR69MmXO9ccTxAdOjdcY1bPO162LkjzJ4VaTgqVSm6FKYckBoBf0vQ2tsGD6a943UBXValjZqI3nepzKNPTtBmQ8gMdw9/cpes3YnPdSEn2ePHRdbLv0MyWcOqOKgVqTwyrYrjUA6ythQzexBIzsJDMRIlE90Zmt0rsPdqAVDQfgGEqIs61V1miPQ73KdqSJxV0Rror0xsOoC8dqZhrSC0C6RUEnRUkg2YD7PAQ6dVQsFcLE8HFPJJrGYrzn2EcoZ9KK2ZauhfHpMMQDpStjBvmW9RPDWpz+gA1rnpBTyhBJNhegH/VtTzFrWqzdf9kFDefSyqvTK/vNzQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wtn5WP+KjTNUlImYOvr3sspHcuBLG0Gp9FTlPLQGhwc=;
 b=EVyQqTyMEdc4z6lXgx5jA2HfTWLoUv846JkFuqzX0QV6KHn7IkG6Ue5obmTKuMAMX9gkxFE87+fav9LuH5Bv6Ya2UfLSbJqVtU4wf5Q09ouq+mkCmBU9Qlho9NTB+EW8sa+52gp7bh8KATyCzB2OHkcvLRxnaJbkiu+4/zLoxTo=
Subject: Re: S3 resume issue in xstate_init
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
	<marmarek@invisiblethingslab.com>
CC: Jan Beulich <jbeulich@suse.com>, xen-devel
	<xen-devel@lists.xenproject.org>
References: <YRsQArpQcpLB/Q5h@mail-itl> <YRuXNmpT+03aPo+p@mail-itl>
 <95ca90ae-9c37-c77c-67dc-66c1aabd1626@citrix.com> <YRuhFWLrplRRV6t+@mail-itl>
 <a575e7e0-156f-9ed1-cff2-92e4d7000090@suse.com>
 <78eb61ad-45ba-51f0-a5ba-624408d60cc8@citrix.com>
 <a704d6c5-c818-e47b-32b6-f57b2d9670f5@citrix.com>
 <96fe5a22-d1d2-1e74-313a-c5377e9899d1@suse.com>
 <b631b56d-6048-c900-a47c-f87df9dc1a5a@citrix.com> <YRu+SuX1N09pbCRp@mail-itl>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Message-ID: <beac5f44-1dd6-7ab0-9a7d-0619676bce8f@citrix.com>
Date: Tue, 17 Aug 2021 14:57:51 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <YRu+SuX1N09pbCRp@mail-itl>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Content-Language: en-GB
X-ClientProxiedBy: LO4P123CA0150.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:188::11) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 2a504163-a438-4858-e0b2-08d961870502
X-MS-TrafficTypeDiagnostic: BY5PR03MB5348:
X-Microsoft-Antispam-PRVS: <BY5PR03MB5348A58835D41B6A828254F7BAFE9@BY5PR03MB5348.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: SRJLPBt5NuuPnarTZAAiXlUxDNjWjXWWgHItabxBEH9MNDZ87TAsDPJKDJugR6FKcEoMynzPeyU8pM+AIGDSEa4ocE7FUNM4gtJEx06O1qPGAJyA32QNjJDWsMtpmFn2wIxCj+u5giu3XePcYKnGLxZOanJXOCtoNeW2ozIt1xxHoas675rqcWXku0NIKkD8OguKC5jwogBqBOhlIhUq994WPMSqcA3v2dEXdExx8civai7DgirJ2MDrXkk+M4ouF2227aoUbTqvKL9lDjNEyc6QHsAZxOwnfYA8jJOIXEf1OZzsGFRNDASKE6MhOnZgheap+Vq67v2Dt1+tslGF3bZ/JP+TZuzEki5ur7TjhJcYgZcf6PmtoFpeQ6wBN8pecsYrWHjuv0tm78vvmNHIXdkUZa808VWCCgmouX/BxrtH2NQyp7B+d5yVD24q2yl/tiioqUWT0+vIlBG+OdOh7ANedRR7sMP8F9oAZIzlcXvJgfvC0yb5XwGBp0jILk1zlSGQXz4Zsk/wQ5tzKc8XvdPVhIwYB9rYAsDyfiQXu73sfmCR3wvxXvN84Q+iwBUOWaIRXDjQuux2I6W6wlBDjLb6JEjiEhO1UP2r+wrE+0bZ/bW37LKMyC3rlrmNDj89sMFu9olGVFKYbCVIFGDurLZ/+qvWDRNdt4fLN6LjbowQ1Fv34m0XGNyufIoDJTlLqsrhCrjm4FiV6yGa8wo8x0ccjq4ILPtf461VMBnmlkI=
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:(4636009)(136003)(346002)(376002)(396003)(39860400002)(366004)(26005)(956004)(6916009)(2616005)(4744005)(38100700002)(5660300002)(66574015)(8936002)(86362001)(8676002)(186003)(6666004)(2906002)(31696002)(66946007)(66476007)(66556008)(54906003)(31686004)(6486002)(4326008)(16576012)(53546011)(36756003)(478600001)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?U09kVHNxV21hQzFGT3UzTWl6VjA2NDhLT0gya1VjY29mMmIvTTZldVAyQVNV?=
 =?utf-8?B?Smt3NWlyTlFEYi85bkYwSFp5eGdjN1JDR0tJU042UUxsVmM2TG9pNTRoR0xC?=
 =?utf-8?B?djJ1T01XeFc5S1JqYWhtZUJNTGZURGFBSGJ5eU5vK3pBbEd6REQzVUhvZG1I?=
 =?utf-8?B?OENGTUE4NUg2ZEg5d3ZTTUVOZm9KeVhhdjl2amNnTDQ0VGVFaTlKODhDbVhI?=
 =?utf-8?B?ZEZyRGVjZnNpUXYySlhrZGVBVUJrdkFTTDZEbjdZalQ1RFdZOFhGelB3bnpV?=
 =?utf-8?B?NlRaaDFDUVdQQnZXZXA5OEtJYksvNUJXTUErdVhIeTM3eFZLTmdlSnNST0Fl?=
 =?utf-8?B?TjRHL1h5Q0YvdllDbSswNFJwa3JCZGFLa3IxMzFWMmlSakIvb01kTkNMZEUz?=
 =?utf-8?B?U0ZSWVMrSUE5SkFvUUhQMCtEVTg4cFZBQVcxNU1LWm81b2srYklVQWpqOE5L?=
 =?utf-8?B?RFRyOWZhaVJSeTNBV085WlM3czRFdnd5Z0pWOUJicXExZTAxQjNtOU1IWGNl?=
 =?utf-8?B?VmNTYlBsN1lGaFZnTGJtYnN4b3d6OEQ3ZFdydEswc1YzdzFVOWJCWDl6bzU5?=
 =?utf-8?B?Y2pua1RiWlVHb2tjSiswN1I5a0tUUmpxWVlCWHVubnR6NFM5M3B6Qy9ySXFI?=
 =?utf-8?B?Zlh4N09HdnE1VFBDRmZEQTQ0Z2JaUGE5Sk0yM05jWWlPa2x4VWtuWDZUQjlO?=
 =?utf-8?B?Tkw5QjBTRHN6UVJiSmJZUno5VjdwdmliVTl4U1hWRTBoOXVnRURUcEtTSnN1?=
 =?utf-8?B?SFVaS1JMMTZuc2NsZ092Sy84MHY4ai9SM09hRDE4d2N2VWRMa3loK01KNVpY?=
 =?utf-8?B?NGFPMm40VzVWYkM2dEpNc1JCVjh1ajJMR25STFlkU0M3UGdPM3ozbmtsZU5t?=
 =?utf-8?B?RGp1SDlvQ25DZDJzSGVYZTg0UVZsM3N2L0VQNUFGQWd3bFhabjVBaGZ4ckVT?=
 =?utf-8?B?VFg5Wms0NTZHbDFPbXV0VEVEWVBsQ01EYk1yRlVCc3VjTzBDTGhicDY3Qllp?=
 =?utf-8?B?Q21tWXJ1ckp4S1hvakVkR25PSWtkMC9JTTNuVVIvTlczVlBFN3huakRGOGM4?=
 =?utf-8?B?SzBLNVF6MDB1NXB3bUNVL3kvTG1jVXcrcVQxMnByaWtXbEVKdWVvWnlGQVEw?=
 =?utf-8?B?L2JtUjkzbGVHVElGaUR2NGM3cHBiUzFhUUFLdlB4T0ZvREgzaVBiK0NZUjVQ?=
 =?utf-8?B?R1poL3BsbU45WmJTSWFnMXBhU29hOFRHcUxGcFZ5ZEo2L3ovMzQ4QnBNWmlo?=
 =?utf-8?B?QWc0enM0N3I3bUtTRFZId0RQdnlZZXlJdXRLWTViaE5HdEttNHRCYVh1R1ZM?=
 =?utf-8?B?U0dDeGZ5Ymt3Qld6VUJjbFF2a3M0YmVDdlg5RU42Qm5yaHAxZ2NjUjd4azhi?=
 =?utf-8?B?SHJ4eDltNlRuQllWQ0ZhWTRaWU1sdVRrWXpoQVJHU3NMU3hDSW81VjloUlZl?=
 =?utf-8?B?R2s1YUVYMW5lM3dhK21BWGF0cWQyZzRvTzVrSElRekdxL01iUmhTWlZJRzBD?=
 =?utf-8?B?cXlPdTAwVEVDRDA4TGFzeW9aZWowNVo4Zi9pVHpSYU5mSW03NE5uVFBSNlJ5?=
 =?utf-8?B?d0RaaklUU2I2TkhTeVlSSTh2VStBci9UZGFRR0JZMWNMNWtySFl3b2JFTEJn?=
 =?utf-8?B?Z1BJc3VCSEh2YnZ4azdnWmRpaHpEbzFUcnhYSzBjMVNIS1ExMmNBaE9xTE9p?=
 =?utf-8?B?MUF5cDNqanB0T0xZdTRqUkpoSXlkWlA2SWNCYlNya0RidjhRUUxqS1ZxRVVE?=
 =?utf-8?Q?/yaAhWSJAduSS1fii1TnnUZVTwwziDya/lBhtyz?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 2a504163-a438-4858-e0b2-08d961870502
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 13:57:58.3439
 (UTC)
X-MS-Exchange-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/jbe9W7uQGnxy+xjmb/c9esbtrNXpgx5CUFax8Q/pnxgPRez1cQObFeewGIAzEGMfMuohG7g8P9v6vLfaBRN5YOtAatESrDZytDvyVuezg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5348
X-OriginatorOrg: citrix.com

On 17/08/2021 14:48, Marek Marczykowski-Górecki wrote:
> I've added similar cache init for XSS - and this one should be safe-ish
> - get_msr_xss() is not used anywhere.

XSS, and compressed xsave state handing in general, is in a dire state. 
What exists in the tree currently is a lot of dead code.

I started working to fix it, as it is a hard prerequisite to supporting
CET for guests, but as usual has been pre-empted by more important things.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 13:59:27 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 13:59:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167874.306490 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFzck-0007Nf-AI; Tue, 17 Aug 2021 13:59:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167874.306490; Tue, 17 Aug 2021 13: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 1mFzck-0007NY-7M; Tue, 17 Aug 2021 13:59:26 +0000
Received: by outflank-mailman (input) for mailman id 167874;
 Tue, 17 Aug 2021 13:59:25 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=tbpc=NI=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mFzcj-0007Kg-4M
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 13:59:25 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 53840a78-ff63-11eb-a4c1-12813bfff9fa;
 Tue, 17 Aug 2021 13:59:24 +0000 (UTC)
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur02lp2057.outbound.protection.outlook.com [104.47.5.57]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-26-xY2A75C-NAKyvxAnq4s9hw-1; Tue, 17 Aug 2021 15:59:21 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4383.eurprd04.prod.outlook.com (2603:10a6:803:6b::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Tue, 17 Aug
 2021 13:59:20 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Tue, 17 Aug 2021
 13:59:20 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P189CA0032.EURP189.PROD.OUTLOOK.COM (2603:10a6:102:53::7) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Tue, 17 Aug 2021 13:59: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: 53840a78-ff63-11eb-a4c1-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629208763;
	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=c4gpQJBuJl2NKZHpolVe81uZljZdgJ878t6inM1I1fw=;
	b=Bf5tidrKEmbJ76Fq9qvBvGZcaXl1XJhmRknA8bk+llBYJnoY66Cw6LYiVkyGLpajMNKEiV
	3Y3A0UniP7DEDvAb3TRLuHUfEQDVFHaZ8P1zDSQv3v64FDrE7cXoLYpHMb2omisVrckilq
	T1C7SrCaPvSN534ioQ2xYOnUN2M/o04=
X-MC-Unique: xY2A75C-NAKyvxAnq4s9hw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aoJ+4rHsJFLocWUENOZJCcIs2P0sXg1mkt/6Pp8qKjtEnxSkgDrqmekVUeBH1zcVIiVX5Tw8V6M+YNgltyqKXG3U4jbEtBtnYAwHIwzDOi76KZ3cqiTrIRvgExSz6y5TgAtrIFJhI6czv9Y+U5kSiojQyEILM9mrbo2OiVfJrLuCV/cP5nVKDmTPdUitdIeUmAZvhAmO/1d4BiI0L56W/xVdcA32X/JwkbKprDw4baHmoOi6NMZOwG+ysjQyut+w65Vub4XnSBrFn6W26pC7jIld9mDy/aXxHJweLFSMyHgeFBZtCcHlGx/PngFXOLMOfyqmW4wPAPTx9tzup34k4w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=G0JyphNTTv/wgVjq2nBMZmFDueXKP14PKfVU1yUXoOo=;
 b=Rrcy20qCtGQ7lUnIsL+TXwPWiVHDiuDtwk/WJfrM/LMYpdCyMfEbBnVDsogsfQy3Hi3TK5I03bfuArCumvQjDZQsk0SYiTA6R3b7Yia+VWvZ+o9Z5NRvalyFvSvTNlwPlPNMCPlr6xxUQ+/u9xIs4aPmmuiWIm40RBzAk7I7MCnButyRY/dFMd97S78PoLlgTGeBIkEpzpEh3RKpFm248Q1OZBNbe9vefzq4IoIC4/voYB8uHgiqDc0TlQYC7aNs8LJBXusQ4LGXsMo9rN7V/HMSWIZI2MyFSxNT5el52unD+ZcfIuwaHi/DrBFTYvrcjfTayUze2NUF/VcI97MKlg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: invisiblethingslab.com; dkim=none (message not signed)
 header.d=none;invisiblethingslab.com; dmarc=none action=none
 header.from=suse.com;
Subject: Re: S3 resume issue in xstate_init
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: xen-devel <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?= <marmarek@invisiblethingslab.com>
References: <YRsQArpQcpLB/Q5h@mail-itl> <YRuXNmpT+03aPo+p@mail-itl>
 <95ca90ae-9c37-c77c-67dc-66c1aabd1626@citrix.com> <YRuhFWLrplRRV6t+@mail-itl>
 <a575e7e0-156f-9ed1-cff2-92e4d7000090@suse.com>
 <78eb61ad-45ba-51f0-a5ba-624408d60cc8@citrix.com>
 <a704d6c5-c818-e47b-32b6-f57b2d9670f5@citrix.com>
 <96fe5a22-d1d2-1e74-313a-c5377e9899d1@suse.com>
 <b631b56d-6048-c900-a47c-f87df9dc1a5a@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <ef72f474-c605-9878-dfc8-7c473076d014@suse.com>
Date: Tue, 17 Aug 2021 15:59:18 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <b631b56d-6048-c900-a47c-f87df9dc1a5a@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: PR3P189CA0032.EURP189.PROD.OUTLOOK.COM
 (2603:10a6:102:53::7) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 180f7c30-106d-4afe-94a8-08d9618735b1
X-MS-TrafficTypeDiagnostic: VI1PR04MB4383:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4383072EA08BD34272BF4089B3FE9@VI1PR04MB4383.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ew6hIYGNWbfAorH9qwTJPtDUPAJIurfXWu8mslka2qSrLXSGCjEd/BQXgqvH7SFIOsOyHqqQgbvXlOR42ZrKmHWdg9JqoNxkjkbC9U3CbDg3n+o9/iibHMgXeamn53UkufjbUIwiEvW8jJITWpC5aVUz5J3qS89U0gxD5kNjBPRsa1S2Bbu4ZPO181Z5bWCP3cqkikvrB+BeyAhiLVB0ckEki4mBa1r6biwVS88Cej3PyUTsiLbFmtd1ahEy7Xo9jxAq88E8yG8RrQDhyrVb/lm/C1RzKC2p5tNYpzHTRzPrVu+xWMdfwDef7GphnEh1uC6FFBn5KQ4TwUUsG0hdLq9qj6C7bgKrCSOGyGU0+pUd5oqfzUAkZ/ugA4oPyllZDGt6zGbRO4MYtEel6EwWTO2CDOPbP9lvB5sY2/9ji7wBsOu1EEK4u2kit4Eb+A+nVBEEERi9ZkGUWqNL7Ulf9pD4f1YdERFeq3yPIobrIhiZoeR/Q4q4c6Ez09NEFk83U4qOPCk46Y5CEf6/qeCTLJDCyHbiGbG6W2v9Qy/RCSKMiuLj011hkV1heSVKB/6mYhKEb+HTQs81vgw40HgBAowVbsnLoT76tTFy6SuSzpJv8L6bF5G2UUwGt+laTLHik4pq8g7Ri8jKNESGtwIo4mJi9zAk8p3/EqNLWu8IZFLDgRNRUikP4XbzYlIqxWl9maDlC8HZCfJTwWG7AHcIxvWHLlf0QW4rt9VdGYVJjeA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(366004)(346002)(39860400002)(396003)(136003)(6916009)(31696002)(2906002)(8936002)(38100700002)(186003)(31686004)(5660300002)(4326008)(86362001)(478600001)(36756003)(83380400001)(6486002)(66946007)(316002)(956004)(16576012)(66556008)(66476007)(54906003)(26005)(2616005)(8676002)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?8NbtZ3tBhAGhSlQzmwhDBXxzOl2voi3jV0eEkRFEJzPH6T5/C3OiW+YvSLVO?=
 =?us-ascii?Q?ay8If48U1iCvC0XjXlzSPheH6s1ukMnbZvf8xVhPQPHx2P/sRMlckm4zBUtI?=
 =?us-ascii?Q?gamylDpu8OEexfnoL+DjdszXuEndwITdBxXEC0p8FxHqB9zvUcnzIFMtyPcv?=
 =?us-ascii?Q?wyTgA20+phmJNhSqD44XafOgv8GcWWXf4why6R+7ziek0pg7t1mM9C+Lw9/b?=
 =?us-ascii?Q?6FruIe1PyWex0BSZWtLDp9ZApvPyUrLU5xDmrYwZKkoXCx0KtuC9uOLRkSSg?=
 =?us-ascii?Q?toGZ8fk969QTKZk09RIAUnMN7bUJSCG5meWtoN4HW2Gvd/l9eb/RYsXUPJgA?=
 =?us-ascii?Q?uSCe2GpREAv745SWy/xzAivFHV0IxM3BUVMymYNAjejB4nU9UTt1uKRfmsSx?=
 =?us-ascii?Q?6fIiaBUe90a49ArxxM+8LX2R00TQfnE+oqM2nF+PAS7d0CceOlxg3LEiESCH?=
 =?us-ascii?Q?TlxKoC6kYn0j6odIfPIkHr97aHjthS3pnxKxrn8HTtwbS8rzN1s4KqP4EJE2?=
 =?us-ascii?Q?gCsdrTgLnTG3ekddhZxr8cVlbrpj0lw4QSq/V6x1r6QYZXDXho9L2WoWkGZZ?=
 =?us-ascii?Q?hsnNaXZC/DkMQCbUSW7rHTazuKoqQedcm9kuVoNFJhQP3EPfzFFinoMxvsa/?=
 =?us-ascii?Q?+y+iOTzTSeP0zv1+eilB2hr6urMVmCNf7y7sFr9LS6y0FqEX7OEVbMlDxHt/?=
 =?us-ascii?Q?/4bEX83Cojsci9zHcMGhs1MT4tcPaJCUTU28Pqg3Fmlb3Xnwa/Oo0TQqpv3h?=
 =?us-ascii?Q?hQQ97y1y3nIQQmC1IqHjxyAv/QzDxKcLN1i5MAaWMknhXpOzp5RFMBITB93r?=
 =?us-ascii?Q?vdM14h8UrvbzEgNV75+kNszlgDr81Df0tCQO6m8Q1nDfbwZ5HbCI8skCZ3ct?=
 =?us-ascii?Q?jmuCak7FM1hewIcv/LHEzvM+e/Ng4ATnK8N1MiR81i/W0b+SJsA2VTk13PF7?=
 =?us-ascii?Q?LQkDuX/r0SCmSnFJF64PVXbr/YRFnwKcWI/6RU0+o3QOocY6vt4yboFs66p5?=
 =?us-ascii?Q?XzGBv7HQWJHyvmPqB0VDcMfwitC+PzXBrrue1SKW2UMyvPKBX+Di/nkr88sF?=
 =?us-ascii?Q?y4DNJ5xUBATiwr2v069tViD5C5xE0eYXUdujwZhgoMCc3tig6YJsDpKx3cOp?=
 =?us-ascii?Q?qyAm8QttVhOh4Cj5sw0hx/XBpgxWmVoqzeYyKMIDPs9Agp6ZGHMO9yq5ksiV?=
 =?us-ascii?Q?OQErjrxkXuE9O7nAKXzHehWwVGo9fbd/5fbZHciaYZLOoA8cutdo/0WwmjiS?=
 =?us-ascii?Q?vnbGjqCSZwGVjRLoViIMqmT4n8YMsejw0WF5X5l8yhyNky8/YDZstSCnUx2d?=
 =?us-ascii?Q?EDCv6nUz3PLqKJ6hTBKslsBL?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 180f7c30-106d-4afe-94a8-08d9618735b1
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 13:59:19.9934
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: JWOW4G3vXmJVgBzdRKXGCV5DgVw3oT2RHjhg5Yu4XLJfjYpyPAuKKJoDm0xuDjKVp/wBn/ISRNLFVQ19eQd8gA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4383

On 17.08.2021 15:29, Andrew Cooper wrote:
> On 17/08/2021 14:21, Jan Beulich wrote:
>> On 17.08.2021 15:06, Andrew Cooper wrote:
>>> On 17/08/2021 13:53, Andrew Cooper wrote:
>>>> On 17/08/2021 13:21, Jan Beulich wrote:
>>>>>  I guess an easy fix would be to write 0 to
>>>>> this_cpu(xcr0) directly early in xstate_init(), maybe in an "else"
>>>>> to the early "if ( bsp )".
>>>>>
>>>>> I'm not sure though this would be a good fix longer term, as there
>>>>> might easily be other similar issues elsewhere. IOW we may need to
>>>>> see whether per-CPU data initialization wouldn't want changing.
>>>> We've got other registers too, like MSR_TSC_AUX, but I don't think we
>>>> want to be doing anything as drastic as changing how the initialisatio=
n
>>>> works.
>>>>
>>>> The S3 path needs to explicitly write every register we do lazy contex=
t
>>>> switching of.
>>> Actually no - that's a dumb suggestion because the APs don't know
>>> better, and we don't want for_each_cpu() loops running from the BSP.
>>>
>>> Perhaps we want the cpu_down() logic to explicitly invalidate their
>>> lazily cached values?
>> I'd rather do this on the cpu_up() path (no point clobbering what may
>> get further clobbered, and then perhaps not to a value of our liking),
>> yet then we can really avoid doing this from a notifier and instead do
>> it early enough in xstate_init() (taking care of XSS at the same time).
>=20
> What we actually want to do is read the hardware register into the
> cached location.

Would you mind explaining why? I did consider doing so, but didn't
see the point when the first thing we do is write the register with
xfeature_mask (which can't be zero, and which hence would always get
written through to the register when the cached value is zero).

>=C2=A0 %xcr0 is possibly the only lazy register we also do
> extra sanity checks on.

I don't think we do?

(All of this is independent of my "x86/xstate: replace xsave_cntxt_size
and drop XCNTXT_MASK" I think, despite its reworking of the logic, and
which I'm still hoping to get reviewed at some point.)

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 17 14:04:37 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 14:04:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167883.306501 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFzhh-0000gl-4u; Tue, 17 Aug 2021 14:04:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167883.306501; Tue, 17 Aug 2021 14:04: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 1mFzhh-0000ge-11; Tue, 17 Aug 2021 14:04:33 +0000
Received: by outflank-mailman (input) for mailman id 167883;
 Tue, 17 Aug 2021 14:04:31 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=tbpc=NI=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mFzhf-0000gY-Ge
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 14:04:31 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 0a0f5018-ff64-11eb-a4c4-12813bfff9fa;
 Tue, 17 Aug 2021 14:04:30 +0000 (UTC)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2056.outbound.protection.outlook.com [104.47.13.56]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-25-zECGcvC6MWOAGW4M-Ota3Q-1; Tue, 17 Aug 2021 16:04:28 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (20.178.127.208) by
 VI1PR04MB4445.eurprd04.prod.outlook.com (20.177.55.161) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.17; Tue, 17 Aug 2021 14:04:26 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Tue, 17 Aug 2021
 14:04:26 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0116.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:19::32) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.16 via Frontend Transport; Tue, 17 Aug 2021 14:04: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: 0a0f5018-ff64-11eb-a4c4-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629209069;
	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=yhael/OCrYG0Gk00HT+3gpAznXK7ggPHqOxr57vSVjc=;
	b=YJynMip88E4oPd7/mRjJnxflQ30hp+GC/6HMYKo/g+I1EonDjkP5NXj6wBS671vuOU7P33
	97jt15xuaN7tE7qU/g5MPCECyX3Ah22mTWhjdQz3zeWIqPr+nGIcGZNkCjOe/K3sp2fQ8k
	9JuW9YqKN8EVmytTpRw2c1z9HNhebRY=
X-MC-Unique: zECGcvC6MWOAGW4M-Ota3Q-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UyTxzxy2VHiEIXXjsUG51aPlPx6Sn6fF1PAengoaspvn4RXO3uDnwEJoadc+1zN6KQu8PdUtShnahT307tBylJVu4IO4CM2Yh3Y6iTWtCDVlq7IcsRCU347sSFGK9LlNi6V501bVgOAz/GTEpSKnQqmmRCL0oAg5oBEN8H8RTWP4n6TNnTSi8LhZJTo18Y4Gbx041+HOeNGBH5cDqATDvupQMF9AV9o0CTmK5XVPAO4C9Dd3CoEn6DSWJwDT8e2uCYdGTs2MkOczbA5k25u2SL2AagGbjftzmFsN/Nmcik0d2+8MeqRhj0nV6Ap79UPfq4m3TEnM0xlEpXdlyvfUVw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=aFGm9Cm1AQf93NwDWQlg7aQsRTTMVjCX3fKQG+arNYI=;
 b=Eovl8rYdmtoNcjl0595NcKSwsoskLhi7/mSEGdPjhefyzjZKkb1GElrFcJ8OAjWCGqLY1ntddcl945Zp+Ze15f9eU3IMj7+cF2QObPnBFmA0HyHVPFlua9reJi9xVq2tmT4Uh3VnDvAXCPzzJkK3P3+u8CNkHO3l19I0jrQD7LMLnAH+Jk837z7uTBcXaKR5YdyMo00g3HKLsB93yALZrDmAnwzK4lRPnKFeYkFxo2sbMJEBogbOBQvdNjBgazM2CRFxa5WCOWut1npJ8j9wC2Pg8Aa7sdRo6uYACS2pkFZBH38bxkCYkTA0C9diLSjC3sVTHFtLSFnEClaGWwyLHw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: citrix.com; dkim=none (message not signed)
 header.d=none;citrix.com; dmarc=none action=none header.from=suse.com;
Subject: Re: S3 resume issue in xstate_init
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
CC: xen-devel <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <YRsQArpQcpLB/Q5h@mail-itl> <YRuXNmpT+03aPo+p@mail-itl>
 <95ca90ae-9c37-c77c-67dc-66c1aabd1626@citrix.com> <YRuhFWLrplRRV6t+@mail-itl>
 <a575e7e0-156f-9ed1-cff2-92e4d7000090@suse.com>
 <78eb61ad-45ba-51f0-a5ba-624408d60cc8@citrix.com>
 <a704d6c5-c818-e47b-32b6-f57b2d9670f5@citrix.com>
 <96fe5a22-d1d2-1e74-313a-c5377e9899d1@suse.com>
 <b631b56d-6048-c900-a47c-f87df9dc1a5a@citrix.com> <YRu+SuX1N09pbCRp@mail-itl>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <b9f0dd99-2aa8-0ccb-7424-b34ee33b836d@suse.com>
Date: Tue, 17 Aug 2021 16:04:24 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <YRu+SuX1N09pbCRp@mail-itl>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: PR0P264CA0116.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:19::32) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ba34e54c-2cb9-4309-8676-08d96187ec31
X-MS-TrafficTypeDiagnostic: VI1PR04MB4445:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4445F234AD79865A51119E9EB3FE9@VI1PR04MB4445.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/rcJ5QhJUsns+TCQDtRrcvhg8s/81zELqskSX5kj8M5bbR23c90/52fMARcal08CPU7WQDNOqGwmnvEr2XIgQZuKUDgUCUiaidexhhMtafMEbiXoTPMCjobVIUJGj49y8LVkUkBEHyQl6afiWtOThVasUWdaJyCgTkAzgQSt6eY2YySAo8kWGAD5Ac/JFF3CAO0TFMaebwIGGaeIxgaO7RlDEG2gKFsAQNSMDLla0oJWUI2TvZTIhxe0wktAYwsT80FONy1JMEV5ER8Vg7f4krUfRLw0GMVL8ALX4lIjFAJ4eBrrFESLw7MJNL5CUdegRpbh43yh+r/qRfLO2NbIB4A5Ps6Agql9dp73/e5+OEAN32+2Y3eITBl81mKxveBaOfABnPJQHDycF/skT92bgK86ZwDceMSm8LXqAuLytmn6rLSVI4BA1G0CfKNVkIieWfI2cWBsqG4RJan8ZNXqhB2gna3WRmmiA3VwoUqbjkCI9EVQWNzQFPKu3dnaNd2HLczcNrexnJH2xrnnIzYaUpN3J1LBXADW6nK8YNgdkRFrVldC2krr2Wc92T+TW7LMtWryc38qvRvPvfZ3Gi4wfhvvGXOq9FCzHYfLwaQk6LJoIpAqV5LYEPfwuxSS3KmW4Ua76CWq67C1pZAfu4Z24IRQVNf9dxgH65K6GvhM2Ekjv7+FRve4XdYskSZcLxvVecNanUPUsEQxJJR0AZ0ejwMIZrZcKzob2EAu1IsmOQY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(6486002)(31696002)(16576012)(36756003)(316002)(54906003)(8676002)(86362001)(38100700002)(26005)(31686004)(186003)(5660300002)(53546011)(83380400001)(508600001)(4326008)(66574015)(2906002)(956004)(6916009)(66556008)(66476007)(66946007)(2616005)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?rJ/4Itmz2EDelFR9h1peXc7VwRuH7vs14RzxIJWavVAR3K0Xwh/nOu9SA5qK?=
 =?us-ascii?Q?JnajfbZvKIT+Umm7w8eP9G5pFooCzmWt1yk6CuC/zJDT6HiAnveV9irEwfsE?=
 =?us-ascii?Q?xfDwgbGn/czixICZ9SzLhbU+pEPglvWa8OFzzu4MlcUUNPDTLp64rPtv+TTE?=
 =?us-ascii?Q?yqU+D2olBCZMUDnLfDEMV///0UZdOCHmRNd2i4nPiDvD3boUX6yq2hs5GUMG?=
 =?us-ascii?Q?tt+pJYrZLYv9IrFpJjlDr+EkEbvjpDbth8IMP2klv9gW8hlvoBe+0MTJ9T72?=
 =?us-ascii?Q?lTZ9lmCzTO38G17XK/bSqjYGy2cCYj3miv4F4ph554V2G1G8auQ3d4KJ1GRl?=
 =?us-ascii?Q?ccdtCelfsgBg58QHrRbVWV8NU7wzQFiHnM60fjVdHN0x/KBZiAGep+ZN6TCy?=
 =?us-ascii?Q?MJoiLpoqJ5JMoES10WjWLus2KrZPRTKjgZOlOHeoIH8yIpthw0UsUe04F/+V?=
 =?us-ascii?Q?hod+KB2ux8QocmizKAOepKET+pcg32RSQYEZ8E41zjqLI0pN7uiB2oxxlnk/?=
 =?us-ascii?Q?X1eQKVRKYCs/qKEmBJe/MNYQd8F9keNNrN59VU3ZsG95X8/NoyntecEUiY3E?=
 =?us-ascii?Q?Me3FqupWnyzEL4NmGL1BbsFFMmOTQcEG2IBQjxJz+DstZ12MhTv5KWuNni1f?=
 =?us-ascii?Q?sSVwDkuO02eIRbaTLWPGgLr0ujfGLUD/eyivYSRv08PhDEh9MxK33HVl8ikx?=
 =?us-ascii?Q?VkdO4XbuahlCwVy5yGQoeOOALFWX+Oq33aDPBiiUDdsZZk7zeFm+qNEQFsbq?=
 =?us-ascii?Q?qp7dlCKTwoLdwcaTgmBT3YezyvEKXvMckY8jQiakN6ytyLcOHhgHu2SNolwP?=
 =?us-ascii?Q?Uq9GLHj3yi8U2+RX/2bcUc3AFX7AIOrdRRlHBJUaG7tU7SLiLKVvx99HqHQC?=
 =?us-ascii?Q?y64fXb0WlqvTKpJfjqAO06RZjkp2ccUwFCk11D4us88Ncvv/jJDm9lzMJ1Nu?=
 =?us-ascii?Q?4LTNFONsb2wo7Yemq6PKtaa9qQeWSel0XdYcvnZ6iEVz4wgTSDQDkqD7IfED?=
 =?us-ascii?Q?r03ZOqpwQzBne/Hby3LoR3xRsl7wQ8tvLMzvYoAb/qVyGdW+NpcKNg2TmoTC?=
 =?us-ascii?Q?lF++AQS9Qc+mmQciKMR6CgiIJeu0QIvKH2lm1GYUIEwOkvKMgydlpoxALFbx?=
 =?us-ascii?Q?BvSeiQ1wNFpH0B54fAc7cjrRs83sDvJ6GNZvyqWgBal5dORR2FNaLjvrpSdH?=
 =?us-ascii?Q?7KOCVUmRYtn2sZ32b4dpFib016gN2Bb/zUx/K6RrGiPaardJWDkwIWvS4NI0?=
 =?us-ascii?Q?nib1+U2TzkM1ZuC/85xpEN8MWgOdUQhZyXczW4HPOmw3gosq/+DjX+bWVB66?=
 =?us-ascii?Q?dkRYiqM5ZAlPdut6a0EU2WNx?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ba34e54c-2cb9-4309-8676-08d96187ec31
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 14:04:26.1573
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: gAuJpRt64Iazyc74y/QOYczDo8CqpYgloyui7bqfzZHk+eqWusD3ocs+OJm0sJe1Tm1VRuV+EimtbdsrkC8O2Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4445

On 17.08.2021 15:48, Marek Marczykowski-G=C3=B3recki wrote:
> On Tue, Aug 17, 2021 at 02:29:20PM +0100, Andrew Cooper wrote:
>> On 17/08/2021 14:21, Jan Beulich wrote:
>>> On 17.08.2021 15:06, Andrew Cooper wrote:
>>>> Perhaps we want the cpu_down() logic to explicitly invalidate their
>>>> lazily cached values?
>>> I'd rather do this on the cpu_up() path (no point clobbering what may
>>> get further clobbered, and then perhaps not to a value of our liking),
>>> yet then we can really avoid doing this from a notifier and instead do
>>> it early enough in xstate_init() (taking care of XSS at the same time).
>=20
> Funny you mention notifiers. Apparently cpufreq driver does use it to
> initialize things. And fails to do so:
>=20
> (XEN) Finishing wakeup from ACPI S3 state.
> (XEN) CPU0: xstate: size: 0x440 (uncompressed 0x440) and states: 0x1f
> (XEN) Enabling non-boot CPUs  ...
> (XEN) CPU1: xstate: size: 0x440 (uncompressed 0x440) and states: 0x1f
> (XEN) ----[ Xen-4.16-unstable  x86_64  debug=3Dy  Not tainted ]----
> (XEN) CPU:    0
> (XEN) RIP:    e008:[<ffff82d04024ad2b>] vcpu_runstate_get+0x153/0x244
> (XEN) RFLAGS: 0000000000010246   CONTEXT: hypervisor
> (XEN) rax: 0000000000000000   rbx: ffff830049667c50   rcx: 00000000000000=
01
> (XEN) rdx: 000000321d74d000   rsi: ffff830049667c50   rdi: ffff83025dcc00=
00
> (XEN) rbp: ffff830049667c40   rsp: ffff830049667c10   r8:  ffff83020511a8=
20
> (XEN) r9:  ffff82d04057ef78   r10: 0180000000000000   r11: 80000000000000=
00
> (XEN) r12: ffff83025dcc0000   r13: ffff830205118c60   r14: 00000000000000=
01
> (XEN) r15: 0000000000000010   cr0: 000000008005003b   cr4: 00000000003526=
e0
> (XEN) cr3: 0000000049656000   cr2: 0000000000000028
> (XEN) fsb: 0000000000000000   gsb: 0000000000000000   gss: 00000000000000=
00
> (XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: 0000   cs: e008
> (XEN) Xen code around <ffff82d04024ad2b> (vcpu_runstate_get+0x153/0x244):
> (XEN)  48 8b 14 ca 48 8b 04 02 <4c> 8b 70 28 e9 01 ff ff ff 4c 8d 3d dd 6=
4 32 00
> (XEN) Xen stack trace from rsp=3Dffff830049667c10:
> (XEN)    0000000000000180 ffff83025dcbd410 ffff83020511bf30 ffff830205118=
c60
> (XEN)    0000000000000001 0000000000000010 ffff830049667c80 ffff82d04024a=
e73
> (XEN)    0000000000000000 0000000000000000 0000000000000000 0000000000000=
000
> (XEN)    0000000000000000 0000000000000000 ffff830049667cb8 ffff82d040256=
0a9
> (XEN)    ffff830205118320 0000000000000001 ffff83020511bf30 ffff83025dc7a=
6f0
> (XEN)    0000000000000000 ffff830049667d58 ffff82d040254cb1 00000001402e9=
f74
> (XEN)    0000000000000000 ffff830049667d10 ffff82d040224eda 000000000025d=
c81
> (XEN)    000000321d74d000 ffff82d040571278 0000000000000001 ffff830049667=
d28
> (XEN)    ffff82d040228b44 ffff82d0403102cf 0000000000000000 ffff82d040228=
3a4
> (XEN)    ffff82d040459688 ffff82d040459680 ffff82d040459240 0000000000000=
004
> (XEN)    0000000000000000 ffff830049667d68 ffff82d04025510e ffff830049667=
db0
> (XEN)    ffff82d040221ba4 0000000000000000 0000000000000001 0000000000000=
001
> (XEN)    0000000000000000 ffff830049667e00 0000000000000001 ffff82d04058a=
5c0
> (XEN)    ffff830049667dc8 ffff82d040203867 0000000000000001 ffff830049667=
df0
> (XEN)    ffff82d040203c51 ffff82d040459400 0000000000000001 0000000000000=
010
> (XEN)    ffff830049667e20 ffff82d040203e26 ffff830049667ef8 0000000000000=
000
> (XEN)    0000000000000003 0000000000000200 ffff830049667e50 ffff82d040270=
bac
> (XEN)    ffff83020116a640 ffff830258ff6000 0000000000000000 0000000000000=
000
> (XEN)    ffff830049667e70 ffff82d0402056aa ffff830258ff61b8 ffff82d040570=
1b0
> (XEN)    ffff830049667e88 ffff82d04022963c ffff82d0405701a0 ffff830049667=
eb8
> (XEN) Xen call trace:
> (XEN)    [<ffff82d04024ad2b>] R vcpu_runstate_get+0x153/0x244
> (XEN)    [<ffff82d04024ae73>] F get_cpu_idle_time+0x57/0x59
> (XEN)    [<ffff82d0402560a9>] F cpufreq_statistic_init+0x191/0x210
> (XEN)    [<ffff82d040254cb1>] F cpufreq_add_cpu+0x3cc/0x5bb
> (XEN)    [<ffff82d04025510e>] F cpufreq.c#cpu_callback+0x27/0x32
> (XEN)    [<ffff82d040221ba4>] F notifier_call_chain+0x6c/0x96
> (XEN)    [<ffff82d040203867>] F cpu.c#cpu_notifier_call_chain+0x1b/0x36
> (XEN)    [<ffff82d040203c51>] F cpu_up+0xaf/0xc8
> (XEN)    [<ffff82d040203e26>] F enable_nonboot_cpus+0x6b/0x1f8
> (XEN)    [<ffff82d040270bac>] F power.c#enter_state_helper+0x152/0x60a
> (XEN)    [<ffff82d0402056aa>] F domain.c#continue_hypercall_tasklet_handl=
er+0x4c/0xb9
> (XEN)    [<ffff82d04022963c>] F tasklet.c#do_tasklet_work+0x76/0xac
> (XEN)    [<ffff82d040229920>] F do_tasklet+0x58/0x8a
> (XEN)    [<ffff82d0402e6607>] F domain.c#idle_loop+0x74/0xdd
> (XEN)=20
> (XEN) Pagetable walk from 0000000000000028:
> (XEN)  L4[0x000] =3D 000000025dce1063 ffffffffffffffff
> (XEN)  L3[0x000] =3D 000000025dce0063 ffffffffffffffff
> (XEN)  L2[0x000] =3D 000000025dcdf063 ffffffffffffffff
> (XEN)  L1[0x000] =3D 0000000000000000 ffffffffffffffff
> (XEN)=20
> (XEN) ****************************************
> (XEN) Panic on CPU 0:
> (XEN) FATAL PAGE FAULT
> (XEN) [error_code=3D0000]
> (XEN) Faulting linear address: 0000000000000028
> (XEN) ****************************************
>=20
> This is after adding brutal `this_cpu(xcr0) =3D 0` in xstate_init().

And presumably again only with "smt=3D0"? In any event, for us to not mix
things, may I ask that you start a new thread for this further issue?

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 17 14:19:16 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 14:19:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167888.306512 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mFzvi-0002Do-EB; Tue, 17 Aug 2021 14:19:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167888.306512; Tue, 17 Aug 2021 14:19: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 1mFzvi-0002Dh-Ab; Tue, 17 Aug 2021 14:19:02 +0000
Received: by outflank-mailman (input) for mailman id 167888;
 Tue, 17 Aug 2021 14:19:00 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=tbpc=NI=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mFzvg-0002Db-Ow
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 14:19:00 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id b3aa3319-bee6-4ffc-b35f-7b021d9d1ade;
 Tue, 17 Aug 2021 14:18:59 +0000 (UTC)
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur03lp2051.outbound.protection.outlook.com [104.47.8.51]) (Using
 TLS) by relay.mimecast.com with ESMTP id de-mta-9-_O-m-UZNO2qNlLKNRE1WRA-1;
 Tue, 17 Aug 2021 16:18:57 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VE1PR04MB6669.eurprd04.prod.outlook.com (2603:10a6:803:125::33)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Tue, 17 Aug
 2021 14:18:56 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Tue, 17 Aug 2021
 14:18:56 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0145.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1b::13) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.18 via Frontend Transport; Tue, 17 Aug 2021 14:18:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b3aa3319-bee6-4ffc-b35f-7b021d9d1ade
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629209938;
	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=+Y2rxcoZFOXHVvpU2N0ib2jFMGgi4FKvKeff0a1h5Ag=;
	b=epmO4QARIAvSyBVhViVG4oT7ZUFUvq4w0C4KR/HHL8WIlfZ7a3xUsIh4+nJTzs6D+ntF4w
	mjLbGdKZwtW7b5fwGut5DJgWtwkUfnZqSZr8KMu+cTGIoaFhGG1rqKUVcsG0tpVGg0dq+s
	sVhD8zWBcdUDScjzG3L0ylfrRQgx/xo=
X-MC-Unique: _O-m-UZNO2qNlLKNRE1WRA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RlRhZwCUVk8n09e/eQMMcCIkJURTuj9Z/WYejbmY3eEcEsTOBSz5UiCed7kQeExlRm2cTOxHR1ptmaM04WMp7NnBvmSaziFWtjuRmMDDQECYuMYNeVfgKN840wqnjOsmZkxZGvwxhbDDZst5xXU2AV3d3J47+h1K6GW9Tzn3bHBROIGTS7Sy55ANkKnJzeK5HpUv4kq2O9mz9wevZIGSwD4IorQrv8AqEMdSqZJiO9PoG2seuVVsB+angJHEWx3kAl+hYBliVxqwUfvX6sBCWKgSjFp3/8KSLYPwPQyG+XaI7zjSYzt9ujtzCqmxfTn6DeDeR3L06BbffLUGGSuFNg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+Y2rxcoZFOXHVvpU2N0ib2jFMGgi4FKvKeff0a1h5Ag=;
 b=S5Z5wIrK9R/XwdtefkMepnj/5Eg4n6ae391FL/2wKLvQuBUkYt22okMn8lUtdIWEJ0hQ2rDsjM9LHGO+LhSIvRT0cXT39UTeXthdmeuESRUa2yVzl9UtpjJCZa6tlLYRtXkun5yGHC0Nh6dpJJNpI4O8A2a2nqLb8bNJqmg7pbkiIiq7IipENpinATsQ35WS9gA7nxHkrmWKQPo/wY4ew4/PINt4jVbULZn8DPb9H/iQvBeiIGvtuR43y8Soldl/JdCEF+g8jFEYBF/1NxHvMcAnVNDZReO6U/ApW20izSIsVTmEYS4w3QH2bMWGmSAQSHfxsT27ZTpB2n7PZvv1qA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2] tests/xenstore: link in librt if necessary
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 Juergen Gross <jgross@suse.com>, Julien Grall <julien@xen.org>
Message-ID: <3efcfc3d-54c8-7308-2288-9f57ed0fca0f@suse.com>
Date: Tue, 17 Aug 2021 16:18:54 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0145.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1b::13) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 41223837-8510-43eb-c31b-08d96189f2af
X-MS-TrafficTypeDiagnostic: VE1PR04MB6669:
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB66695A716ACAFBC7713B30DFB3FE9@VE1PR04MB6669.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:6790;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4s77wLwM2YYvquSAjVGEkeLwAJZoBfi89OH4Hf1uWM07mbSUOgjm7SGz/r+5ApCtOJZBEnN3YaKCjMBoITTjDGIwrAzYOsGp0aZYSInsw5II/LmdhE3TOFH9jK7DiH0Sq6pLyttJeqEJ+4SZhGFc8w5xDcDYSUlf4ifx2skHhIMYxTqBN80CO4J+iBAvLJggF698lpQRdSteSXvo9L2DXO//AsZGk2T+D9uCbAQGnR9YOxAe212LoEl+s200xpDAbkUJl6CmzXTaPF5tjuTcSk/ZuoiGK5zEYmRa6iamIGvWblrdY0RPiY/OBh4m+Rpi1Y117XFcmG9dL9GvSxd0JJj4/UrPuO5igCRmm3U/ucIpMXvRvmLvAri9NBDoajiviAjz7q6wOjLgYykGuJSnSO4uQIat/Ko23Ul/nB5uZJjnplKsHjJu08Keh8A2Sv7fEv8NmsvXdUWXoIxZVjuKA+6ytS9Tc1FXSfd/hETYu4ZapiNSD1XzeDMDtdH/pmcFGqQpDbgcAmiXGeG06vvxRPfKeEgQlY8P8khUXl8OuphsOHV/ggBbYV7VAYiHrzmOtpfuOZGbYdR9H5sK9bIYDrzLAKi4VawJEnjBewNGZ5lebN9yVlTG5BkMsWnI4LbLruHbWr6FGr5rAt7rx0RPpNM7LssCWn7ylvnAvmG76CSJ08d0xdT2va3h8ZXQXXKTOMzhUYQ9Md5acrU5syjn+wfYmrmogIm0aP5r7+ez34U=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(39850400004)(366004)(376002)(136003)(396003)(346002)(31696002)(8676002)(66946007)(956004)(2906002)(2616005)(38100700002)(4326008)(8936002)(36756003)(66476007)(86362001)(66556008)(16576012)(186003)(4744005)(316002)(6916009)(54906003)(31686004)(83380400001)(26005)(478600001)(5660300002)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RkxZNk1hZ0tkU083ckdOc05iaXdmMkoyZFdCNldiUHZicWF0eVVxTXhnS1Fx?=
 =?utf-8?B?ZlVHZFkrWUZUUFZ5cHQvT05EeVpUSEZqTGZXQWtGSWVVU2w2U1h4eXlFcFM0?=
 =?utf-8?B?cFU1Q3hhUGxTcXRqZlFKMkdXT0xJSUIyTEIrdlFtZ1I0N0ZRT1ZwZWIxODho?=
 =?utf-8?B?cDBBT1N5czNjV0RlRzd2ZndYdUYrV2F2R1JubnU4WDIrWmExWmVKeFZIMVpZ?=
 =?utf-8?B?QVAzVmFodXJaWE0zZGJNRFBJZkJscHBxTUVUR0t3L3dLelhtZkNoQk9IMHdO?=
 =?utf-8?B?Qm5iRDZVVVd6VFFSbmRLTTcyZGRMY0FjYlB5dWRET3BlenRaKzRNdUY2K0VE?=
 =?utf-8?B?Q1pRblYvcHZSS2IraFRlVWlkc1F2N25jd0JrZjUyekJZRWNkMUxHa3h4Mzdi?=
 =?utf-8?B?WXpodnBKSkNNM2NFQkNvK3A4ckNsYk5UUlpKbTFTTHU2ZEgyT2UvdjF2ZElS?=
 =?utf-8?B?b3BiY0paSjQ2aEF3SWNHVTNiMFB5M01UTmJVREhQZTQ0YVN2VDQvU09YamU0?=
 =?utf-8?B?bGRPNzR0YTJIOUtsUGU2MEZIYnVoanlISlA5SmR6c3lxZm81bUtjbzNnUmtX?=
 =?utf-8?B?QW90elBDQkROZXFSSDJQTmRXYytHejgzT09UR0YxbzlPRm1sRjR6cXB1eUsy?=
 =?utf-8?B?NHYrMW5vaHpuV0J5YmFodXEwN0g5alhnR2J4cVE5MGM0S2hncE16Y2RSdnNC?=
 =?utf-8?B?Sll3S1VZWFBKMk9qbjZSbG0xZ1VFenZhRXk3dWtvTzdLc3UvMlp1RG1uV3J5?=
 =?utf-8?B?eFdEMlNKUmlETWdwL3NTU2RDWkRHTTNQYmxMaS9FUThaU1czZ2E2K3RxelYz?=
 =?utf-8?B?cEp5M2FLT09TM0lZY3F4WFFUcUJRREJNNFQxdkJZRGw3VGQrcFIvbHhaVXRt?=
 =?utf-8?B?cnB0QThia1VEY1Q4LzhrakJaRFh4aDI1aXd3NGM4U1gzSFZhNEw4eG1QTEM0?=
 =?utf-8?B?MGxXZ1F0c3BQUGp6VDJLb1l6VERhR0ZaODN4a1Q2T1BvelpidWJSbzBSeVNU?=
 =?utf-8?B?MjRJKzE5cXI4VEFIdVVTWGZVY1IvYmtiYVd4dGNhbE9Qd210RUZZN3poY0VM?=
 =?utf-8?B?TGdrVjE1VkFEaTc3bmlCeTVBYWpibEtDRHhJMzNoR3o5T2NuNXFrRGNBZi9m?=
 =?utf-8?B?MVJVaktXYWNrVDUrckd0b1dDQ0lkemduY0YyRnFucU4xQWpWWlpML0FYK25N?=
 =?utf-8?B?SHg3UXpOdWE2QkphbnNzdGptOU0wR0R3ZzR2OVpOTTQxSTJ5UDl4R1JKcldK?=
 =?utf-8?B?bEtkb3dlNEl6Z0hYaFEraXQ2Q0tBSmJ3bVo2STBhU3lNVWtTTi91WjlSdHR0?=
 =?utf-8?B?d1FOOU1uNDlKL2ZablNONkJiV0F0U1NBcW56YUVONkQ3Skd1eGo4U1dYMktG?=
 =?utf-8?B?U2N4RERmZ2NNWkhJN3hWNERWM2JGREhxNmFxVzBuK2hnLzhjZndEVFZkWW96?=
 =?utf-8?B?N2ZnUXR5dVE5ODZ6M1dLVU4wVWpJbGNYL0tld1M3Qm1tQ2NYaG84aHdrUzV3?=
 =?utf-8?B?RmErTnRyTlY2eFdQcS9rTFFUdWZDclhOOFJmOThPcWNjMnZuRWdabVVQME1u?=
 =?utf-8?B?TnNUMnR2K3d0UiszSHg3R0tNN2ZGOFhoNDhjN20xd0tZVy8zcEV0VFY0U0Fs?=
 =?utf-8?B?dlFPQlFtWEJQS1ZPMi9DZVQvWGVNZURjVmgzVnpyL1BEM05ZTkIzdXdaNkRx?=
 =?utf-8?B?Y2FRV3pUUys1T01DdnprR2pmekYzNjF0cTlINEV2YVplZy9NaUw0bWFicHlJ?=
 =?utf-8?Q?dRBex5PNVj8ud9baOqhdR63ddC6SEWNqOZxp9XL?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 41223837-8510-43eb-c31b-08d96189f2af
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 14:18:56.0434
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: qiOZPwpSYRY/biFhCDn/30tphGebmUa0cRITdi0DNFfPZx1hXvg+xpFGWlfAWLGp/Nnq16B/+hJShWQfM5UYHA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6669

Old enough glibc has clock_gettime() in librt.so, hence the library
needs to be specified to the linker. Newer glibc has the symbol
available in both libraries, so make sure that libc.so is preferred (to
avoid an unnecessary dependency on librt.so).

Fixes: 93c9edbef51b ("tests/xenstore: Rework Makefile")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: Use --as-needed and put last in LDFLAGS. Restict to just Linux.

--- a/tools/tests/xenstore/Makefile
+++ b/tools/tests/xenstore/Makefile
@@ -33,6 +33,9 @@ CFLAGS += $(APPEND_CFLAGS)
 
 LDFLAGS += $(LDLIBS_libxenstore)
 LDFLAGS += $(APPEND_LDFLAGS)
+ifeq ($(CONFIG_Linux),y)
+LDFLAGS += -Wl,--as-needed -lc -lrt
+endif
 
 %.o: Makefile
 



From xen-devel-bounces@lists.xenproject.org Tue Aug 17 14:27:39 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 14:27:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167894.306523 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mG03z-0003hI-9Q; Tue, 17 Aug 2021 14:27:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167894.306523; Tue, 17 Aug 2021 14: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 1mG03z-0003hB-5y; Tue, 17 Aug 2021 14:27:35 +0000
Received: by outflank-mailman (input) for mailman id 167894;
 Tue, 17 Aug 2021 14:27:34 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=tbpc=NI=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mG03y-0003h5-Nu
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 14:27:34 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 357ac1f8-a01a-42cb-9ebb-19c3d0009a01;
 Tue, 17 Aug 2021 14:27:33 +0000 (UTC)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2057.outbound.protection.outlook.com [104.47.12.57]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-21-pYBQXVpXOPesQ7LNRoIf4w-1; Tue, 17 Aug 2021 16:27:31 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VE1PR04MB7360.eurprd04.prod.outlook.com (2603:10a6:800:1a3::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13; Tue, 17 Aug
 2021 14:27:29 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Tue, 17 Aug 2021
 14:27:29 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FR3P281CA0021.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1c::11) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.9 via Frontend Transport; Tue, 17 Aug 2021 14:27: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: 357ac1f8-a01a-42cb-9ebb-19c3d0009a01
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629210452;
	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=40US14X/1jgZPiEiNTxfN9+abFvahdUTbEzEluiRlXk=;
	b=Hi/uIhD0NNPR/28SbFc5ULk4h+vOOk71vHATkiYwEfYsEx0KDUJ+xMSFpnFxh20u3c0MP6
	XO41HqH9nqB99wotxSVTBp4gaI3dO/uXxNMHhvIpXs1BQxwNS25BSFyHmLU0PDWkIpEYxC
	+MfB2wFtLEsXpSLZLdZvMnuvO9eTU88=
X-MC-Unique: pYBQXVpXOPesQ7LNRoIf4w-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WLMOBSXzYQsitooBlyD6B9UvQxpYVVWeuE+7IW+MTnOzurTlrROBAwcD02gGU/Iqyx9A8Y4X6D2p6ondAIJyw3HJHVh8tyJIawRoy5MVgS8tfafqBM7DTy6j7S9yksgeWMi+k8LuA7jFxh9YyXKC3FXJgBVWIQ98axWfEcEvZtYi2L1rDcJbdpEjBdpZH41mVKTw4k9YCh0AP1ou6Y5iYWuNOfZ42DZA3SKOjldYnfYgloM3QXkHqUPBpNanuE9gplaZ4UmtxSJvRPhKp9uY+o9cqikV9666xyqi/wCFMF6yTlBvtsAoTv2KGrza3XlDlmlrltCDH6PwkjP84LLwEA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=40US14X/1jgZPiEiNTxfN9+abFvahdUTbEzEluiRlXk=;
 b=JSUaAKbNerqv7kC8XSTBL+qtWwrpWnAshvvrOXtfe/Q6no8UfVMy60+bFwvaZ9bt8A7Xblo73GI0h1wcupcKDHIqojG5WBHopXDMkJUkTcwo69enypodW+2FrWUNUvZS0SkIdnK4SI9V1jlI/Rf7l3o0JVvD1KfeA+nlOpwh6mAyaUT5wweelMN/VAEr0xVIbSRGuAr9KKUlv1LSruuStpAWrpoYYTqB8nJap8PjjEU6M9Y6Pd71xEHCKntNZ6k7RLWe2TotZSHcGfoJ8E45ECjMCn8XlzCryCNDgHNNZG9KLU90yhhugGIdx+TIea+xOC9Ev/o8uz1pgBMkzKywfg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: citrix.com; dkim=none (message not signed)
 header.d=none;citrix.com; dmarc=none action=none header.from=suse.com;
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2] x86/PV: suppress unnecessary Dom0 construction output
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>
Message-ID: <39b949ad-4052-c577-a726-e1b8fd97f099@suse.com>
Date: Tue, 17 Aug 2021 16:27:28 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0021.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::11) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: add720c9-4728-4683-4886-08d9618b24ca
X-MS-TrafficTypeDiagnostic: VE1PR04MB7360:
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB7360C0AA87A4E231B4C031A7B3FE9@VE1PR04MB7360.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:7219;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JMfQRs8eHakua0QGf0VJgosGz1991YWAZGGKNL1GVlSpHbJwZhAyt0NX70IRIWMkQUd4k2lghRlctJ4aXnRbUgtmLkpKTXXIICxjg+QJ1pDCoA16jKODn9rrJy/xnHdPf/rffGc6f8Cws5m1h241QM2p5bsilPaKgYiGy2nOiJUNOtj3aaW/Ep4jLkiSsPtLM57YmB+Oieb/OVkS1dcRP9AKBKFnL7iZH9K52plSYz4h0eIZSRqwJMzCGrdfFuYptdGw4laqLsaYbTVcAH6tGH2Sx6n9mGITuaFZCKvwWbNyENLJrJtm66xwIGczw5DsSsqjx53yH/HKemOy+vz2g9Efn0oN38whGcbiCzEkaU/yBv0lhRdtraUSLpeQfGVx2BnvmxXOEzNrww7A8GxeIdWIP3ykcxexusxc9FdvFAl2F+PigU3Zl/Dif/AC2B/cIfyjypu1VSP+7I/LgsHokN+Z2gv4pTVwkz3mVVozHUwHIGb7NGk4OMKQnbsRr55N62Eb/y4gjKXXZS/G2fN8kmlL5SjHz7iCF+VcroCNfGCKc7TJzm7nNeniYOe4Fvil+4vNw7yWcXGqXBT/dRZZ3TfYM2xZD5IIMdySaE8XKh3tt+9ZbfFS8MCUgyYMON1vOs2fi0Tck93GeWf4w883sYMrEkF2Xy9Rt/DBF+dlreUa4oeX7RS8iNybQp7Fdr3HArNsQ47bdToaptJjw/6bAtttI7QxQoin8+VZUO/5l40=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(376002)(39850400004)(346002)(136003)(366004)(26005)(186003)(31696002)(31686004)(54906003)(956004)(5660300002)(16576012)(8936002)(316002)(6486002)(36756003)(2616005)(4326008)(66556008)(6916009)(66476007)(38100700002)(8676002)(66946007)(478600001)(86362001)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MXVkTWJ0YmNMaytCWTRrY2hYUGZzaXc2NkpwdDZFN01VQ1F6YzNLeFowN3d4?=
 =?utf-8?B?Z2lhNHF4aVNSeTJQamlPN0wyTGx3UzRwalVndENaaFEyU2V1SVVVam10WTRs?=
 =?utf-8?B?Tk5CTlczL2xpemJRZWV1ckxadFZ2Zk05L1NUUnhiUmdGV2pSOXVXb3d1Z29m?=
 =?utf-8?B?N0ZOVTFqU2t6RysySjF5a3B2ZEVNcnhaY2w1ay9WV2h2cDkra0xVQVd6WmI0?=
 =?utf-8?B?QXNJMUtKMWlVL1QxVDdoWWs0ZXVFRE9WZkFOMzdZaXc2YUsybHozb2ZYTmJQ?=
 =?utf-8?B?dDRNVS91N3JTOWJOYXJPNW5CRHVBaUxNWmdyN2JrRXJhY0NGTlhTSmQ4V01U?=
 =?utf-8?B?bU5JVEZHM0FUQk9MRktNeFNmeDA1WUQ0ZmxaRFZXQTUxOWxiVzByb3VwMHUr?=
 =?utf-8?B?cU44VjRoNE04ZUNlWnk0OE8wOEZCa1FKdWVWWG1nbmRxV2crMUI1MHZJek5z?=
 =?utf-8?B?ZWY1a3dkSmQ2U0tGNUpwMllpRTcwblVDdzhndk1PUSttQUNQQ2NuQW1BbVlD?=
 =?utf-8?B?d0kzU0NsaW9YcW5zV3RqZzJrVnh3ZVh3ejF6YkdXLzNtWXk1a0liRlpQajdN?=
 =?utf-8?B?QXhneEk0QVJpNUhkNExTQ1BiSjB6RnU0UDBOSVJlbndJWU5ybkpWSkJlODBi?=
 =?utf-8?B?V2h1QzQ3ajNQK2JUaWpmMlZYYjdYSFl5bUQydlZwcTBUM28zTzNNNGhGVFNN?=
 =?utf-8?B?MVhHTFZvMk9nK3NFcWtTbTFobE9yYU9YZkJkYU43emJ3Z1VFb2trb0JUSng2?=
 =?utf-8?B?alhqZk8rM0pHRUV1VXNnNU93VE00aUxBeDFLZU90ekd4RGljekFjbVVmYWRO?=
 =?utf-8?B?WVNMWGJEMFJhbzJLenFvb3QvSFRRUnNUeTFKUlhMdHRmRkxoejdoNTBOSGFI?=
 =?utf-8?B?UUhjck1wb0dYbVpaUEFwcFNteGQ0YkNoR2I2M2JDZ1BrM2pOMlZqdUVyRHNJ?=
 =?utf-8?B?VmJVNW9XMlhjQVBNeHg2bVdpTzZZelhWa05sT2c4RFNOVGJ5STB6NTIxa29l?=
 =?utf-8?B?MWVjTDUxa3NRTmgxNzNsZjNFc2htbExvNG40Sm9RQVBhbkNxUzJRcWl6Q1Ry?=
 =?utf-8?B?ZFFBc3NHaitxNkszSVEyR3ZOQzU2R1VuYWZyYjR6anlZaDhJK0VOTU8zYlVk?=
 =?utf-8?B?YW91YTNXTUEvY2VYYUxkSXlzM0l5V21xS1ozTUNOZDA3L1AxTExHRGkyOHk3?=
 =?utf-8?B?WjhWZy90cks5NHRVS2NxZzk5RWRXNG1uNThMQ0dZTmthcDg4aHZTQnFESjZt?=
 =?utf-8?B?YmxhUDVuTXZwRkgwaGs2WEpSVFA0SUJ5cGE5MDY4STdqZlRKbUs1NXRzc0hn?=
 =?utf-8?B?S1YrTnp6UGVBMEcxaUZsZmNhQjIwZWc4bDNKenQ0SktjMldJVWpQdXZSSUVR?=
 =?utf-8?B?ZERuOHFtSlBPdGt6dFpNOVBHbFczdEIyYlJXelg5N09KeWxRQkZjaER1eGsy?=
 =?utf-8?B?dW1LdmhvUTVXZUpXNXBQT1lwaDV2eDdLQ0lzVnZGa0JBT09kRExNdGNZRE9N?=
 =?utf-8?B?WEV2QmVTaVRsTnBxdVgyQmFKMG5vaDcyeGlTR2xyaGpHV3VQc0gweE40TlV0?=
 =?utf-8?B?bTd6WkNidVZib0xoN0U1dGU5Y2xleG1oUHB4Z2Y3ck11blA5STNLbUl5ZUhk?=
 =?utf-8?B?TEVVSURDaTU2K01adXR0MkxYVyt3c0lJR05VZmd2NEI5NVBjU00xdjR4Ynds?=
 =?utf-8?B?RGM0T0RrN3ZsMmFwMFZHMWF3VXVJSm84SEJNNEFFRFdrN3hlV0lyRzErNHRi?=
 =?utf-8?Q?qxdzf7k2FByl65rpW5Y6sNk98C3Tj7XAnqMoLE5?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: add720c9-4728-4683-4886-08d9618b24ca
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 14:27:29.6720
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: O0wXQj+QDxMFuvBsbj5fzFyw23xWyOd4A5jXREsa32E4D4HwmVX6luBmEjkY4ZOZVHXrbckbuVZQKxEuYLvsjg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7360

v{xenstore,console}_{start,end} can only ever be zero in PV shim
configurations. Similarly reporting just zeros for an unmapped (or
absent) initrd is not useful. Particularly in case video is the only
output configured, space is scarce: Split the printk() and omit lines
carrying no information at all.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
v2: Split printk() and replace / extend #ifdef by if().

--- a/xen/arch/x86/pv/dom0_build.c
+++ b/xen/arch/x86/pv/dom0_build.c
@@ -575,25 +575,21 @@ int __init dom0_construct_pv(struct doma
         printk("\n Init. ramdisk: %"PRIpaddr"->%"PRIpaddr,
                mpt_alloc, mpt_alloc + initrd_len);
     }
-    printk("\nVIRTUAL MEMORY ARRANGEMENT:\n"
-           " Loaded kernel: %p->%p\n"
-           " Init. ramdisk: %p->%p\n"
-           " Phys-Mach map: %p->%p\n"
-           " Start info:    %p->%p\n"
-           " Xenstore ring: %p->%p\n"
-           " Console ring:  %p->%p\n"
-           " Page tables:   %p->%p\n"
-           " Boot stack:    %p->%p\n"
-           " TOTAL:         %p->%p\n",
-           _p(vkern_start), _p(vkern_end),
-           _p(vinitrd_start), _p(vinitrd_end),
-           _p(vphysmap_start), _p(vphysmap_end),
-           _p(vstartinfo_start), _p(vstartinfo_end),
-           _p(vxenstore_start), _p(vxenstore_end),
-           _p(vconsole_start), _p(vconsole_end),
-           _p(vpt_start), _p(vpt_end),
-           _p(vstack_start), _p(vstack_end),
-           _p(v_start), _p(v_end));
+
+    printk("\nVIRTUAL MEMORY ARRANGEMENT:\n");
+    printk(" Loaded kernel: %p->%p\n", _p(vkern_start), _p(vkern_end));
+    if ( vinitrd_end > vinitrd_start )
+        printk(" Init. ramdisk: %p->%p\n", _p(vinitrd_start), _p(vinitrd_end));
+    printk(" Phys-Mach map: %p->%p\n", _p(vphysmap_start), _p(vphysmap_end));
+    printk(" Start info:    %p->%p\n", _p(vstartinfo_start), _p(vstartinfo_end));
+    if ( pv_shim )
+    {
+        printk(" Xenstore ring: %p->%p\n", _p(vxenstore_start), _p(vxenstore_end));
+        printk(" Console ring:  %p->%p\n", _p(vconsole_start), _p(vconsole_end));
+    }
+    printk(" Page tables:   %p->%p\n", _p(vpt_start), _p(vpt_end));
+    printk(" Boot stack:    %p->%p\n", _p(vstack_start), _p(vstack_end));
+    printk(" TOTAL:         %p->%p\n", _p(v_start), _p(v_end));
     printk(" ENTRY ADDRESS: %p\n", _p(parms.virt_entry));
 
     process_pending_softirqs();



From xen-devel-bounces@lists.xenproject.org Tue Aug 17 14:29:29 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 14:29:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167900.306533 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mG05n-0004MA-Oi; Tue, 17 Aug 2021 14:29:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167900.306533; Tue, 17 Aug 2021 14:29:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mG05n-0004M3-Lg; Tue, 17 Aug 2021 14:29:27 +0000
Received: by outflank-mailman (input) for mailman id 167900;
 Tue, 17 Aug 2021 14:29:26 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=tbpc=NI=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mG05m-0004Lx-D2
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 14:29:26 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 852de31a-ff67-11eb-a4c8-12813bfff9fa;
 Tue, 17 Aug 2021 14:29:25 +0000 (UTC)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2054.outbound.protection.outlook.com [104.47.14.54]) (Using
 TLS) by relay.mimecast.com with ESMTP id de-mta-9-77LiwdNEMrWsvMcgvbxZYQ-1;
 Tue, 17 Aug 2021 16:29:23 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0402MB2701.eurprd04.prod.outlook.com (2603:10a6:800:af::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13; Tue, 17 Aug
 2021 14:29:22 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Tue, 17 Aug 2021
 14:29:22 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0217.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1e::13) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Tue, 17 Aug 2021 14: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: 852de31a-ff67-11eb-a4c8-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629210564;
	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=RMC/WPWQmSMgom0Dy/h+kiqrFEVC1Yp73t9dr6QPkDs=;
	b=idx3jGIYXyqoQQXSUEdZNsKHJIt5eKOgWsyumajQXvGDxytbSMEwLT5dMKS30zP625nUpn
	xOR6dQxUrwQoCb2yGGZ2ST7V2vBuPp2uR4LYifO8ll7yiyrEXC9fKjkNaQcpPB0exAEWvL
	7xI5d7bYOFhIfb+HT39wMJgorazm738=
X-MC-Unique: 77LiwdNEMrWsvMcgvbxZYQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Jrjk8Wl8zMsu7yd4KmqlZsxaekF4f72kS5hTY7GbjfFCpZEkb3GQa7o5t/ViffvSlqU58s3i2EutSMC6gfB8iPIgXP7GPWxH0Z2ogtbVMeQKLRaQrEr7RyJq9Cx1xpHfcyNz3qzGfUmXPpcrU95SLdJLj/I7BLR/MZ94zG8FnQc77RzFkM7wjJTQYkODUk7CTSnL0JYowCeb8U39alybsEsXkXTTjn7LwGSQA7AVeaCoXenPylHAkcGjYPf46qr6uHjSKDYAVNMIZvBYkb7W5JJQDePy023IB7b/Q3dL5k20JZ6LxZNDd2L4woPL3rHYdC84RIKHezYCkMzBpb/9VA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RMC/WPWQmSMgom0Dy/h+kiqrFEVC1Yp73t9dr6QPkDs=;
 b=dwO32HatWJzVB5UYsOF9HnTGwI4OaZRGNPo+ZYhZeNeogwgNuVKAus19FSgXAdjLP5gp59GBeffvAPTR8pCDXJ2o7XqZhEQnBCO2yU3Vl58UzBaDw+iu4v3//L8zpT1+sx8Ea/2Lc8GrMYrn/rA485ooKgi0bgFXYexEmhvu04oztqXeKdgxh1Dh5oFuj48I/BdnvZiGdNqnp53Oj7SG3XPOx+24oZ0XR+X7AXsRt0iU2hgwVg/hhuT+kPQbr/0s7EJdQmFN/7PHu/ByzN3oKFEZ1ipdiZjrZjlvOI+w8o7P5Jo0oFk0//x/Fn0V00BPLyXfkuZSx5/pfR075Lwaug==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: citrix.com; dkim=none (message not signed)
 header.d=none;citrix.com; dmarc=none action=none header.from=suse.com;
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2] x86/PV: assert page state in mark_pv_pt_pages_rdonly()
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>
Message-ID: <929e4299-c9b3-0714-3c0a-3c3d1c0c14de@suse.com>
Date: Tue, 17 Aug 2021 16:29:20 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0217.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1e::13) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 15643c55-91a9-43db-e097-08d9618b67f9
X-MS-TrafficTypeDiagnostic: VI1PR0402MB2701:
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB2701BF8E7D30A5786F6AB541B3FE9@VI1PR0402MB2701.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8273;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	oCrCAlaSiU0/WXCOqKjPKx9ceH69Cf7gjaT3lsEsVpp70HCVp8gAZ1JKwKkWVS13GS8v1FENwcje6y+yct3s8Z7LzEoJe9hXyCk63Rb7JJ5Pr2O1jpG4G63PvOS4E67V4tkCcN3K6CgMWjXsx0QwDvslcc4gH4nqgYHRZqUt+XK6x1Qn/vcm2AzfMw0+l0GuLS6qX/Uj9RqUeUEyROM11zOhuqjaS1J0bXubx2c6yh0+RNCY0Ymz5Gd0Bsm0DRBdPnZ0kZgtD5hElRODmrfATSuJ3gT0RQkaBM4/rQVAG9ACte0GhkeMqFVuHvniTaG39PmvtDpmbfhkKwyJosnlplhRPpr+5f+kucD7/+z1NoG2cCnY89ioeJKhwrDByRSmTfFeZDze9u4yshFCZzaoIeb3ZwoBHspkYLM4I3AtATamLLqadm1aNOdxrPSq6e/bl1P4VVtEjabOwVcf0c8uA1q5dp2KP/1UqWhEAafyU9CSUNIO/ssEsXLBugdwz+/kp2HNKIriB4YCLK7DBnCVEoZ5fVGkcwGq8Xnqz5cXVn6XzArj+Ru38cIiOPITT4zRgiyFP+Nl6livQQdqZDUWwa8ZcFtz1EiFD0lFxxPcJbFSdACqNTSoNgwLeAv/v6XgsJNpmREvFEKa3XBoYHKSo93kv/dK9xn9XcK8Mj1Vg9LMHCT9fmkzsHmJm71KuhGK3AK8WQJTLF75N+69LEdsnidOBakz01mBOH/bsoah5e+FjiFENVzYieimbxx5UMgDIMdgx4i+TQJMUr5aedVYGg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(136003)(396003)(39860400002)(346002)(376002)(31686004)(26005)(186003)(16576012)(54906003)(6916009)(2616005)(2906002)(316002)(4326008)(5660300002)(83380400001)(956004)(66556008)(66476007)(6486002)(38100700002)(8936002)(86362001)(36756003)(8676002)(31696002)(66946007)(478600001)(45980500001)(43740500002)(357404004);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?S2N6WTJaWTR3RWdFNk0rbDVIWXJzU3dEbWlKb1I2VEpyOVl3ZVZBMUxnS2h0?=
 =?utf-8?B?T0VDditIYzlzZng1UzRuNlQ5N3FWNXFOU09xS3prMi9VRUlLOENmVkdHU0ZD?=
 =?utf-8?B?UDRPUXo1TEpNa2I3WlI3OG12R3d3cXU1L0M0UkRURnArZlZ5VnRFemNPd3h5?=
 =?utf-8?B?NFM5VWFNendPTlp3QTJ1dUp2M25qdnVCWjBtNmxObko3K0ZaQ3o2bkQwMW1p?=
 =?utf-8?B?SnduSXB4SlNYSkJ4ZEV4Um84TGtPdjhNalAzQ09TNG9zNFJBVmQ5cUhWVkY4?=
 =?utf-8?B?azdYL3ZxY213aWthSGl3NWFYcmJFd3FzYUdNR2o0UTVsdjBvaDd0anU3dDJr?=
 =?utf-8?B?WVdjU2tNeDVpUFZkbDZTQkN2YUFBdVR1Q1B4dTdQZDdRaVVYTEJaVUZuaTVY?=
 =?utf-8?B?emRLMmhnWjZEN1RHdUYrWnJTRkxmTVhKdDBUMi9PV0Y5c2d5QTlCQnBFWWRy?=
 =?utf-8?B?ZkJMd3dMSytKR0Q1UWI4dGRIM0w1NVFKQnJoN29yNmhmZjdnWTlmMUhmVnhS?=
 =?utf-8?B?VGZCS1dHcWxEQVpJSUNkdEphazQ4Vkd5QnFVSGMzWG4wSHJXS1BZQ2hodUl1?=
 =?utf-8?B?ak5SMm1CVkhYNzlxSGxRdVFSTG9WeDNVUDB3eitWMGNRV2UvU1V4RUhJS1BT?=
 =?utf-8?B?NzJnL1Z1dXRQTFZ6aW5RK21KU3BIOFI2WUNkbXUwVURjSnluRG1BMmJaWnda?=
 =?utf-8?B?VjhPTWlEcmVudWVqUEhzMExTcFNzdys2VFRwTVNrOTc5M0dBdkZkS3I3SC9w?=
 =?utf-8?B?U1huRGRqYVZNWHgrM09GOWlRd0g3Sm5sL3NFeU50dXZ2Vm1IQkFxaklPcjBP?=
 =?utf-8?B?NG5DNnROTE9aVUlqQzM1T291Zzl0UHpJR0NMb2hmNWFWV3AyQXlPemRCc1RI?=
 =?utf-8?B?b3dtYm4xMEF4WitOT1JuV2dUYmFLM1JJeHhuVFNocVEveFVKRW9tbWVWVUR1?=
 =?utf-8?B?UnVpdFI2VUVwSXFpYkZBOTFBWmplakdKSjNzK1FMTlBRM0pjWDdzRUhVWjk3?=
 =?utf-8?B?clBKc2xPNWwrK0lHODIxYXpySlRmS3NHdFlNTmJ5d0lVZ3M5S05JbnJIam1n?=
 =?utf-8?B?ank2QnhoSUs3azFNcUcxMGY0NGxXNmc0ai9LaG9BRngvVTY5UmRmM285L0tr?=
 =?utf-8?B?MS9Bbys3czQ4akY0a0NjR2k2U05SWDdTTTk5NEdqb2FTd0w0WmRidDNHMnQw?=
 =?utf-8?B?OTQ4Rm9aNFlHK2FGaGV2TXhoUnJ2bG1GaG9IUkREdVdwb3BPeTdhZWJrMjRm?=
 =?utf-8?B?WkhhNzl3OUVtYmp4RGJUZ05xRllZY2dRalBPa054ODBQVU1tamJGTDJWTlJp?=
 =?utf-8?B?NVQ1UWtZaGJCVm83SmVlZWpmMm5kSWtSRnh1UkNDV0ttbW9VVk5nN1E5d28x?=
 =?utf-8?B?ZDMwS0FlbWVleGgxUTZJdlBrWVdGQ1FINUxpaGVrWVI4RkQ5YjVmWExtWlBs?=
 =?utf-8?B?Q2RhYlo5UnNFazRVYUJrZkNFNWp2cnBSRVJWMWZQR3ljWjVaM1gxZnQ3OHA2?=
 =?utf-8?B?S2ptTXdCZGxzcldSdVVvWHA0Ky9vdURCMTQ0YkpEUFV5ejdGWmp1U3dWS1ND?=
 =?utf-8?B?RHk3VU1jTFlGQlptTHE3V3VVYUl5TE9EVGN4SEllSkJUWTV1cyt3MmNhb3py?=
 =?utf-8?B?bVpFZmZMaFR5aVhuRm4vTWxlaWdjM1gzZGMwZFV6OHVybjJTUEY2WmlrcUFF?=
 =?utf-8?B?clBYeXM3RXFWak1mRWRRMmlySjRyZDM4bW9vb3Zvb1hYTEt3V0hhZEx2b0hO?=
 =?utf-8?Q?WKgy6gB9bNQLuQQK3XmyqFp1M2EAQIfzgfJpZ4U?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 15643c55-91a9-43db-e097-08d9618b67f9
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 14:29:22.3073
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 4eO7aS+SePI1oV7DDrsRqzwshSHTckZFZ39urvvCSdWK4h2ZwlgwsHuVRLdITaK3EQ9pHfcrd3XBiB2umB+nvQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB2701

About every time I look at dom0_construct_pv()'s "calculation" of
nr_pt_pages I question (myself) whether the result is precise or merely
an upper bound. I think it is meant to be precise, but I think we would
be better off having some checking in place. Hence add ASSERT()s to
verify that
- all pages have a valid L1...Ln (currently L4) page table type and
- no other bits are set, in particular the type refcount is still zero.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: Refine an expression. Add comment.
---
There are (at least) two factors supporting my uncertainty about the
"calculation" being precise: The loop starting from 2 (which clearly is
too small for a possible result) and an apparently wrong comment stating
that not only v_end but also v_start would be superpage aligned (in fact
v_end is 4MiB aligned, which is the superpage size only on long
abandoned [by us] non-PAE x86-32).

--- a/xen/arch/x86/pv/dom0_build.c
+++ b/xen/arch/x86/pv/dom0_build.c
@@ -59,6 +59,16 @@ static __init void mark_pv_pt_pages_rdon
         l1e_remove_flags(*pl1e, _PAGE_RW);
         page = mfn_to_page(l1e_get_mfn(*pl1e));
 
+        /*
+         * Verify that
+         * - all pages have a valid L1...Ln page table type and
+         * - no other bits are set, in particular the type refcount is still
+         *   zero.
+         */
+        ASSERT((page->u.inuse.type_info & PGT_type_mask) >= PGT_l1_page_table);
+        ASSERT((page->u.inuse.type_info & PGT_type_mask) <= PGT_root_page_table);
+        ASSERT(!(page->u.inuse.type_info & ~PGT_type_mask));
+
         /* Read-only mapping + PGC_allocated + page-table page. */
         page->count_info         = PGC_allocated | 3;
         page->u.inuse.type_info |= PGT_validated | 1;



From xen-devel-bounces@lists.xenproject.org Tue Aug 17 14:30:29 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 14:30:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167903.306545 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mG06n-0005eF-3N; Tue, 17 Aug 2021 14:30:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167903.306545; Tue, 17 Aug 2021 14:30:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mG06n-0005e8-0B; Tue, 17 Aug 2021 14:30:29 +0000
Received: by outflank-mailman (input) for mailman id 167903;
 Tue, 17 Aug 2021 14:30:27 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cSHW=NI=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mG06l-0005dw-QC
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 14:30:27 +0000
Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 048a9a84-02ec-4583-b396-9bf4a52fff6d;
 Tue, 17 Aug 2021 14:30: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: 048a9a84-02ec-4583-b396-9bf4a52fff6d
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629210626;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=QCMDonI9QAIns3fWcj2O28yxoeTGFZ3ntzDimEZpecs=;
  b=cC58nAiJ/bPjE+m5TpV5mlureMeh2UQsUuACCrFgMhuoFHdaZiryiKj/
   MFnufWXwNZ6xAXD8ORlVilMr7FKFmCn4PzUMnk8Ro8iOiL/r3Zlkt7vY8
   IsiaL4zmAE4eDJ5T3RUTZOjp6ziKQQv9XmIUmQ8OK8DgAl94HqlR8bFL2
   o=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: C3yMzzi8Bpl0gTzxBm/IAfdVKF6EhpHaye1zgCfhEh9QCsXFgbNTXrDdwcphdvMJwq9hZ+JqLs
 48sXKwSvIe673wYdLBSqZouHhX1m3JfMC79Fq3KV3hdCZO1jq3ihDs9HYvxaX/lc2cY+hT3hiW
 q0dGu9bYwAS//0ONZ01EK0BbHj7Qfy9M+nPMTKezo0OCX5qIiXEk8Yc/E2NOfY/bBW4ssVkfKE
 VPpLM4YbW8hfNBErLnvRnmwnHsYohwqskN6Ip1f9KpN4QLSwGl6kyFNBQoawYBo4IDZaOQbQUP
 BlkGasrgCuI9pOBWZ6zTeE4/
X-SBRS: 5.1
X-MesageID: 50281657
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:zYO75azYPfTLtbC5pdV0KrPw6L1zdoMgy1knxilNoHxuH/Bw9v
 re+cjzsCWftN9/Yh4dcLy7VpVoIkmsl6Kdg7NwAV7KZmCP1FdARLsI0WKI+UyCJ8SRzI9gPa
 cLSdkFNDXzZ2IK8PoTNmODYqodKNrsytHWuQ/HpU0dKT2D88tbnn9E4gDwKDwQeCB2QaAXOb
 C7/cR9qz+paR0sH7+G7ilsZZmkmzXT/qiWGCI7Ow==
X-IronPort-AV: E=Sophos;i="5.84,329,1620705600"; 
   d="scan'208";a="50281657"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH 0/3] x86/amd: Hardware speculative controls
Date: Tue, 17 Aug 2021 15:30:03 +0100
Message-ID: <20210817143006.2821-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

This is the very beginning the work to start using AMD hardware speculative
controls on Zen2 or later.

The extent of the work is very tangled, and breaks down roughly like this:

1) Teach Xen to use AMD's MSR_SPEC_CTRL and context switch per vCPU.  It
   requires editing the common MSR_SPEC_CTRL logic, at which point it would be
   short sighted not to include Intel's eIBRS at the same time.
2) Expose MSR_SPEC_CTRL to AMD guests, along with all the hint bits.
3) Implement MSR_VIRT_SPEC_CTRL for guests, in terms of MSR_SPEC_CTRL.SSBD.
   Will be off by default on Zen2 and later, but needs to be usable for
   migration compatibility.
4) Implement legacy Memory Disambiguation context switching for pre-Zen2
   parts, and expose MSR_VIRT_SPEC_CTRL to guests on older parts.

In terms of end results, this is what the hardware feature look like on
various generations of AMD CPU:

Fam15h (Opteron 6212):
  (XEN) Speculative mitigation facilities:
  (XEN)   Hardware hints:
  (XEN)   Hardware features: IBPB
  (XEN)   Compiled-in support: INDIRECT_THUNK SHADOW_PAGING
  (XEN)   Xen settings: BTI-Thunk LFENCE, SPEC_CTRL: No, Other: IBPB 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

Zen1:
  (XEN) Speculative mitigation facilities:
  (XEN)   Hardware hints:
  (XEN)   Hardware features: IBPB
  (XEN)   Compiled-in support: INDIRECT_THUNK SHADOW_PAGING
  (XEN)   Xen settings: BTI-Thunk LFENCE, SPEC_CTRL: No, Other: IBPB 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

Zen2:
  (XEN) Speculative mitigation facilities:
  (XEN)   Hardware hints: IBRS_FAST IBRS_SAME_MODE
  (XEN)   Hardware features: IBPB IBRS STIBP SSBD
  (XEN)   Compiled-in support: INDIRECT_THUNK SHADOW_PAGING
  (XEN)   Xen settings: BTI-Thunk LFENCE, SPEC_CTRL: No, Other: IBPB 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

Zen3:
  (XEN) Speculative mitigation facilities:
  (XEN)   Hardware hints: STIBP_ALWAYS IBRS_FAST IBRS_SAME_MODE
  (XEN)   Hardware features: IBPB IBRS STIBP SSBD PSFD
  (XEN)   Compiled-in support: INDIRECT_THUNK SHADOW_PAGING
  (XEN)   Xen settings: BTI-Thunk LFENCE, SPEC_CTRL: No, Other: IBPB BRANCH_HARDEN
  (XEN)   Support for HVM VMs: RSB
  (XEN)   Support for PV VMs: RSB
  (XEN)   XPTI (64-bit PV only): Dom0 disabled, DomU disabled (with PCID)
  (XEN)   PV L1TF shadowing: Dom0 disabled, DomU disabled

Although full support for all of this is a way off yet.

To start with, make the existing `spec-ctrl=no-ssbd` command line option
actually work on Zen3.

Andrew Cooper (3):
  x86/spec-ctrl: Split the "Hardware features" diagnostic line
  x86/amd: Enumeration for speculative features/hints
  x86/amd: Use newer SSBD mechanisms if they exist

 tools/libs/light/libxl_cpuid.c              | 10 +++++
 tools/misc/xen-cpuid.c                      |  8 +++-
 xen/arch/x86/cpu/amd.c                      | 69 +++++++++++++++++++++--------
 xen/arch/x86/cpu/cpu.h                      |  1 +
 xen/arch/x86/cpu/hygon.c                    | 10 +----
 xen/arch/x86/hvm/svm/svm.c                  |  1 +
 xen/arch/x86/hvm/svm/vmcb.c                 |  1 +
 xen/arch/x86/spec_ctrl.c                    | 44 +++++++++++-------
 xen/include/asm-x86/cpufeature.h            |  5 +++
 xen/include/asm-x86/hvm/svm/svm.h           |  2 +
 xen/include/asm-x86/hvm/svm/vmcb.h          |  4 +-
 xen/include/asm-x86/msr-index.h             |  3 ++
 xen/include/public/arch-x86/cpufeatureset.h | 10 +++++
 13 files changed, 122 insertions(+), 46 deletions(-)

-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Tue Aug 17 14:30:33 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 14:30:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167904.306555 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mG06r-0005wZ-Bu; Tue, 17 Aug 2021 14:30:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167904.306555; Tue, 17 Aug 2021 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 1mG06r-0005wO-8i; Tue, 17 Aug 2021 14:30:33 +0000
Received: by outflank-mailman (input) for mailman id 167904;
 Tue, 17 Aug 2021 14:30:31 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cSHW=NI=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mG06p-0005vQ-K5
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 14:30:31 +0000
Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id abe11f68-ff67-11eb-a4c9-12813bfff9fa;
 Tue, 17 Aug 2021 14:30: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: abe11f68-ff67-11eb-a4c9-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629210630;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=/FBvFqnB8wJbrimRiM/iWYtiWgIJODR5Qqcri5t8FTY=;
  b=QYuv1fDU3B6Xlv9DyfNStHFfbUs7D91IT0Bbe3SvitWGSLHwEOnU51fW
   nO/sAMxE3QTyuBBFjCwN2sPH7n05bdXav+rktS8hQlGyDaga6Kd94WvUx
   DZMKef4ziLVc77nqaXP8DyIvkkh3L8T2CV5ZTrysQArgA058tDQa6ZKXY
   E=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: lAxEz1MgR93f0CROO64TwK1rFH5kwgH/wWQ7ButvQg/DYnOntpQWlIRw+d1tVQFMQh0nBxgBcC
 EISkMlA+oM7gwDZg4RYtwt/4HRgcwiCddX4IJ86havyLwOuq15guf9h9GnGvjz9eNg6qqmM26k
 3NtOn1OWVTxPY5tE5Q/QCN0u2vPos+iP8OWaMvPL0gv0DaFEd8bGZ2+K08frJ89SJ9pFASBZ1c
 8Qu++GA8xOH8aXwAXfgmFgU3h620P4eSmybPSGYHNxvGiVjebES9QK2tCkAbcyAAH0R6+q1Bxn
 DRsMVBwmTDbinVdAiHKbGNNk
X-SBRS: 5.1
X-MesageID: 51032081
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:74hY2qE2GeAaDVq/pLqELMeALOsnbusQ8zAXPiBKJCC9E/bo8v
 xG+c5w6faaslkssR0b9+xoW5PwI080l6QU3WB5B97LMDUO0FHCEGgI1/qA/9SPIUzDHu4279
 YbT0B9YueAcGSTW6zBkXWF+9VL+qj5zEix792uq0uE1WtRGtldBwESMHf9LmRGADNoKLAeD5
 Sm6s9Ot1ObCA8qhpTSPAhiYwDbzee77a7bXQ==
X-IronPort-AV: E=Sophos;i="5.84,329,1620705600"; 
   d="scan'208";a="51032081"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH 2/3] x86/amd: Enumeration for speculative features/hints
Date: Tue, 17 Aug 2021 15:30:05 +0100
Message-ID: <20210817143006.2821-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20210817143006.2821-1-andrew.cooper3@citrix.com>
References: <20210817143006.2821-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

There is a step change in speculation protections between the Zen1 and Zen2
microarchitectures.

Zen1 and older have no special support.  Control bits in non-architectural
MSRs are used to make lfence be dispatch-serialising (Spectre v1), and to
disable Memory Disambiguation (Speculative Store Bypass).  IBPB was
retrofitted in a microcode update, and software methods are required for
Spectre v2 protections.

Because the bit controlling Memory Disambiguation is model specific,
hypervisors are expected to expose a MSR_VIRT_SPEC_CTRL interface which
abstracts the model specific details.

Zen2 and later implement the MSR_SPEC_CTRL interface in hardware, and
virtualise the interface for HVM guests to use.  A number of hint bits are
specified too to help guide OS software to the most efficient mitigation
strategy.

Zen3 introduced a new feature, Predictive Store Forwarding, along with a
control to disable it in sensitive code.

Add CPUID and VMCB details for all the new functionality.

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>

The current revision of the APM is buggy with the spec_ctrl VMCB field.  It is
currently described as a dword, but a correction is pending to change it to
qword like every other MSR.
---
 tools/libs/light/libxl_cpuid.c              | 10 ++++++++++
 tools/misc/xen-cpuid.c                      |  8 +++++++-
 xen/arch/x86/hvm/svm/svm.c                  |  1 +
 xen/arch/x86/hvm/svm/vmcb.c                 |  1 +
 xen/include/asm-x86/cpufeature.h            |  5 +++++
 xen/include/asm-x86/hvm/svm/svm.h           |  2 ++
 xen/include/asm-x86/hvm/svm/vmcb.h          |  4 +++-
 xen/include/asm-x86/msr-index.h             |  3 +++
 xen/include/public/arch-x86/cpufeatureset.h | 10 ++++++++++
 9 files changed, 42 insertions(+), 2 deletions(-)

diff --git a/tools/libs/light/libxl_cpuid.c b/tools/libs/light/libxl_cpuid.c
index b2c673841a45..5ed7a87180b8 100644
--- a/tools/libs/light/libxl_cpuid.c
+++ b/tools/libs/light/libxl_cpuid.c
@@ -274,8 +274,18 @@ int libxl_cpuid_parse_config(libxl_cpuid_policy_list *cpuid, const char* str)
         {"rstr-fp-err-ptrs", 0x80000008, NA, CPUID_REG_EBX, 2, 1},
         {"wbnoinvd",     0x80000008, NA, CPUID_REG_EBX,  9,  1},
         {"ibpb",         0x80000008, NA, CPUID_REG_EBX, 12,  1},
+        {"ibrs",         0x80000008, NA, CPUID_REG_EBX, 14,  1},
+        {"amd-stibp",    0x80000008, NA, CPUID_REG_EBX, 15,  1},
+        {"ibrs-always",  0x80000008, NA, CPUID_REG_EBX, 16,  1},
+        {"stibp-always", 0x80000008, NA, CPUID_REG_EBX, 17,  1},
+        {"ibrs-fast",    0x80000008, NA, CPUID_REG_EBX, 18,  1},
+        {"ibrs-same-mode", 0x80000008, NA, CPUID_REG_EBX, 19,  1},
         {"no-lmsl",      0x80000008, NA, CPUID_REG_EBX, 20,  1},
         {"ppin",         0x80000008, NA, CPUID_REG_EBX, 23,  1},
+        {"amd-ssbd",     0x80000008, NA, CPUID_REG_EBX, 24,  1},
+        {"virt-ssbd",    0x80000008, NA, CPUID_REG_EBX, 25,  1},
+        {"ssb-no",       0x80000008, NA, CPUID_REG_EBX, 26,  1},
+        {"psfd",         0x80000008, NA, CPUID_REG_EBX, 28,  1},
 
         {"nc",           0x80000008, NA, CPUID_REG_ECX,  0,  8},
         {"apicidsize",   0x80000008, NA, CPUID_REG_ECX, 12,  4},
diff --git a/tools/misc/xen-cpuid.c b/tools/misc/xen-cpuid.c
index 735bcf8f0e60..713c1657f4df 100644
--- a/tools/misc/xen-cpuid.c
+++ b/tools/misc/xen-cpuid.c
@@ -148,12 +148,18 @@ static const char *const str_e8b[32] =
     [ 0] = "clzero",
     [ 2] = "rstr-fp-err-ptrs",
 
-    /* [ 8] */            [ 9] = "wbnoinvd",
+    /* [ 8] */                 [ 9] = "wbnoinvd",
 
     [12] = "ibpb",
+    [14] = "ibrs",             [15] = "amd-stibp",
+    [16] = "ibrs-always",      [17] = "stibp-always",
+    [18] = "ibrs-fast",        [19] = "ibrs-same-mode",
 
     [20] = "no-lmsl",
     /* [22] */                 [23] = "ppin",
+    [24] = "amd-ssbd",         [25] = "virt-ssbd",
+    [26] = "ssb-no",
+    [28] = "psfd",
 };
 
 static const char *const str_7d0[32] =
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index 642a64b747ae..8dc92c8b9f96 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -1659,6 +1659,7 @@ const struct hvm_function_table * __init start_svm(void)
     P(cpu_has_pause_thresh, "Pause-Intercept Filter Threshold");
     P(cpu_has_tsc_ratio, "TSC Rate MSR");
     P(cpu_has_svm_sss, "NPT Supervisor Shadow Stack");
+    P(cpu_has_svm_spec_ctrl, "MSR_SPEC_CTRL virtualisation");
 #undef P
 
     if ( !printed )
diff --git a/xen/arch/x86/hvm/svm/vmcb.c b/xen/arch/x86/hvm/svm/vmcb.c
index 373d5d4af47e..55da9302e5d7 100644
--- a/xen/arch/x86/hvm/svm/vmcb.c
+++ b/xen/arch/x86/hvm/svm/vmcb.c
@@ -271,6 +271,7 @@ static void __init __maybe_unused build_assertions(void)
     BUILD_BUG_ON(offsetof(typeof(vmcb), rsp)                  != 0x5d8);
     BUILD_BUG_ON(offsetof(typeof(vmcb), rax)                  != 0x5f8);
     BUILD_BUG_ON(offsetof(typeof(vmcb), _g_pat)               != 0x668);
+    BUILD_BUG_ON(offsetof(typeof(vmcb), spec_ctrl)            != 0x6e0);
 
     /* Check struct segment_register against the VMCB segment layout. */
     BUILD_BUG_ON(sizeof(vmcb.es)       != 16);
diff --git a/xen/include/asm-x86/cpufeature.h b/xen/include/asm-x86/cpufeature.h
index 5f6b83f71c21..d9604ff58a49 100644
--- a/xen/include/asm-x86/cpufeature.h
+++ b/xen/include/asm-x86/cpufeature.h
@@ -128,6 +128,11 @@
 /* CPUID level 0x80000007.edx */
 #define cpu_has_itsc            boot_cpu_has(X86_FEATURE_ITSC)
 
+/* CPUID level 0x80000008.ebx */
+#define cpu_has_amd_ssbd        boot_cpu_has(X86_FEATURE_AMD_SSBD)
+#define cpu_has_virt_ssbd       boot_cpu_has(X86_FEATURE_VIRT_SSBD)
+#define cpu_has_ssb_no          boot_cpu_has(X86_FEATURE_SSB_NO)
+
 /* CPUID level 0x00000007:0.edx */
 #define cpu_has_avx512_4vnniw   boot_cpu_has(X86_FEATURE_AVX512_4VNNIW)
 #define cpu_has_avx512_4fmaps   boot_cpu_has(X86_FEATURE_AVX512_4FMAPS)
diff --git a/xen/include/asm-x86/hvm/svm/svm.h b/xen/include/asm-x86/hvm/svm/svm.h
index bee939156f4f..05e968502694 100644
--- a/xen/include/asm-x86/hvm/svm/svm.h
+++ b/xen/include/asm-x86/hvm/svm/svm.h
@@ -76,6 +76,7 @@ extern u32 svm_feature_flags;
 #define SVM_FEATURE_VLOADSAVE     15 /* virtual vmload/vmsave */
 #define SVM_FEATURE_VGIF          16 /* Virtual GIF */
 #define SVM_FEATURE_SSS           19 /* NPT Supervisor Shadow Stacks */
+#define SVM_FEATURE_SPEC_CTRL     20 /* MSR_SPEC_CTRL virtualisation */
 
 #define cpu_has_svm_feature(f) (svm_feature_flags & (1u << (f)))
 #define cpu_has_svm_npt       cpu_has_svm_feature(SVM_FEATURE_NPT)
@@ -91,6 +92,7 @@ extern u32 svm_feature_flags;
 #define cpu_has_tsc_ratio     cpu_has_svm_feature(SVM_FEATURE_TSCRATEMSR)
 #define cpu_has_svm_vloadsave cpu_has_svm_feature(SVM_FEATURE_VLOADSAVE)
 #define cpu_has_svm_sss       cpu_has_svm_feature(SVM_FEATURE_SSS)
+#define cpu_has_svm_spec_ctrl cpu_has_svm_feature(SVM_FEATURE_SPEC_CTRL)
 
 #define SVM_PAUSEFILTER_INIT    4000
 #define SVM_PAUSETHRESH_INIT    1000
diff --git a/xen/include/asm-x86/hvm/svm/vmcb.h b/xen/include/asm-x86/hvm/svm/vmcb.h
index 9e1e42f4941c..4fa2ddfb2ff2 100644
--- a/xen/include/asm-x86/hvm/svm/vmcb.h
+++ b/xen/include/asm-x86/hvm/svm/vmcb.h
@@ -521,7 +521,9 @@ struct vmcb_struct {
     u64 _lastbranchtoip;        /* cleanbit 10 */
     u64 _lastintfromip;         /* cleanbit 10 */
     u64 _lastinttoip;           /* cleanbit 10 */
-    u64 res17[301];
+    u64 res17[9];
+    u64 spec_ctrl;
+    u64 res18[291];
 };
 
 struct svm_domain {
diff --git a/xen/include/asm-x86/msr-index.h b/xen/include/asm-x86/msr-index.h
index a14841055f0e..903923e5a58b 100644
--- a/xen/include/asm-x86/msr-index.h
+++ b/xen/include/asm-x86/msr-index.h
@@ -33,6 +33,7 @@
 #define  SPEC_CTRL_IBRS                     (_AC(1, ULL) <<  0)
 #define  SPEC_CTRL_STIBP                    (_AC(1, ULL) <<  1)
 #define  SPEC_CTRL_SSBD                     (_AC(1, ULL) <<  2)
+#define  SPEC_CTRL_PSFD                     (_AC(1, ULL) <<  7)
 
 #define MSR_PRED_CMD                        0x00000049
 #define  PRED_CMD_IBPB                      (_AC(1, ULL) <<  0)
@@ -137,6 +138,8 @@
 #define  VM_CR_INIT_REDIRECTION             (_AC(1, ULL) <<  1)
 #define  VM_CR_SVM_DISABLE                  (_AC(1, ULL) <<  4)
 
+#define MSR_VIRT_SPEC_CTRL                  0xc001011f /* Layout matches MSR_SPEC_CTRL */
+
 /*
  * Legacy MSR constants in need of cleanup.  No new MSRs below this comment.
  */
diff --git a/xen/include/public/arch-x86/cpufeatureset.h b/xen/include/public/arch-x86/cpufeatureset.h
index 380b51b1b3b8..f1b072cf44cc 100644
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -255,8 +255,18 @@ XEN_CPUFEATURE(CLZERO,        8*32+ 0) /*A  CLZERO instruction */
 XEN_CPUFEATURE(RSTR_FP_ERR_PTRS, 8*32+ 2) /*A  (F)X{SAVE,RSTOR} always saves/restores FPU Error pointers */
 XEN_CPUFEATURE(WBNOINVD,      8*32+ 9) /*   WBNOINVD instruction */
 XEN_CPUFEATURE(IBPB,          8*32+12) /*A  IBPB support only (no IBRS, used by AMD) */
+XEN_CPUFEATURE(IBRS,          8*32+14) /*   MSR_SPEC_CTRL.IBRS */
+XEN_CPUFEATURE(AMD_STIBP,     8*32+15) /*   MSR_SPEC_CTRL.STIBP */
+XEN_CPUFEATURE(IBRS_ALWAYS,   8*32+16) /*   IBRS preferred always on */
+XEN_CPUFEATURE(STIBP_ALWAYS,  8*32+17) /*   STIBP preferred always on */
+XEN_CPUFEATURE(IBRS_FAST,     8*32+18) /*   IBRS preferred over software options */
+XEN_CPUFEATURE(IBRS_SAME_MODE, 8*32+19) /*   IBRS provides same-mode protection */
 XEN_CPUFEATURE(NO_LMSL,       8*32+20) /*S  EFER.LMSLE no longer supported. */
 XEN_CPUFEATURE(AMD_PPIN,      8*32+23) /*   Protected Processor Inventory Number */
+XEN_CPUFEATURE(AMD_SSBD,      8*32+24) /*   MSR_SPEC_CTRL.SSBD available */
+XEN_CPUFEATURE(VIRT_SSBD,     8*32+25) /*   MSR_VIRT_SPEC_CTRL.SSBD */
+XEN_CPUFEATURE(SSB_NO,        8*32+26) /*   Hardware not vulnerable to SSB */
+XEN_CPUFEATURE(PSFD,          8*32+28) /*   MSR_SPEC_CTRL.PSFD */
 
 /* Intel-defined CPU features, CPUID level 0x00000007:0.edx, word 9 */
 XEN_CPUFEATURE(AVX512_4VNNIW, 9*32+ 2) /*A  AVX512 Neural Network Instructions */
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Tue Aug 17 14:30:34 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 14:30:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167905.306567 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mG06s-0006Eu-SQ; Tue, 17 Aug 2021 14:30:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167905.306567; Tue, 17 Aug 2021 14: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 1mG06s-0006Eh-Op; Tue, 17 Aug 2021 14:30:34 +0000
Received: by outflank-mailman (input) for mailman id 167905;
 Tue, 17 Aug 2021 14:30:33 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cSHW=NI=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mG06r-0005xM-G9
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 14:30:33 +0000
Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 0c2e31b0-1b19-4f7d-9dd6-62d4ef5f4e36;
 Tue, 17 Aug 2021 14:30: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: 0c2e31b0-1b19-4f7d-9dd6-62d4ef5f4e36
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629210632;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=CwPEY11jKBjTwYDG78a/S8NdZCFVyFcp3aHlBMgwn68=;
  b=Fz/xyuPxdwDoM7BXlBqT7TXMardpdtEyK9LTYeD8EepBP3fPCtu9Q0QG
   AFNDrysYEvWC/DCtnrfcogBVb1xVH9IuzeBm8c8+6Wu2Bt591eanZYJpk
   2eRehsyLDEmsGwApYzKnqjRBfnORCEkn3Ffk66P3opT+ZmKz9qEmS2FH/
   w=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: +zfpUIN/3CMbW8KqFZl1IaUvrZUaK8HrnCY4fdc9eGQIZ5a2Oc/YkORdGE9m/NPAubn4TIkHr9
 7cc3n0fL/NBh2Xdjgu/ZmZfGnSEby1nFDZhdpygShaZk78whZpxFiLCOHnTJ24Z7+tD+5qLCKn
 bS67DD8FruVh60HAswrJXXwXv3kPdJ8A2QNZusHU5dRqn6z+H4eEJdNc7CP5nIMFLFS61/0bD1
 5ZowYb3sV1Mq/lnnM6/Hm4UKCbkkKbdAW/IBWYhLCfbjyYz11O1VyuWxfqi7q/4pBdQjB5DnGW
 bHkwObD747m87X3XoRPatBAd
X-SBRS: 5.1
X-MesageID: 50642786
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:TkRFvKE8UCi5xR0ApLqFXpHXdLJyesId70hD6qkoc20zTiX5rb
 HsoB1p726xtN9xYgBmpTnuAtjifZqxz/JICMwqTNOftWrdySuVxeNZnOnfKlTbckWUnINgPO
 VbAs1D4bbLY2SS+Pyb3ODOKbcdKbe8n5xAzt2uqUuFBTsaEp2JaGxCe0Om+pkcfngFObMpUJ
 Wb/cZJvDymZDAeadm6HGAMW6zZq8TMj4+OW290Ozc3rA2FyS+u6KbnH3Gjr2Ajuh50sMYfGF
 L+4nzED2SYwoyG4w6Z03WW44VdmdPnxNcGDMuQitINIjGpjgqzfoxuV7CLoThw+YiUmSMXuc
 iJpw1lM9V46nvXcG3wqRzx2xP42DJr73P501eXjXbqvMS8TjMnDMhKg55fb3LimjgdlcA51L
 gO03OStpJRAx+FlCPh58LQXxUvjUawqWpKq59ss1VPFY8FLLNBp40W+01YVJ0aGjjh9YwhGO
 5ySMnB+fdfazqhHjnkl3gqxMbpUmU4Hx+ATERHsNeSySJKkHdwyFZdzNADn20H6Ik2R/B/lq
 z52u0BrsACcidhBZgNSNvob6CMeyPwqVOlChPYHbyRfJt3cU4ki/XMkfsIDSGRCeM1JOhbou
 WBbLp8jx9HR6vDM7z04HR7yGGwfIzmZ0WU9ih33ekChlX/LICbRxG+dA==
X-IronPort-AV: E=Sophos;i="5.84,329,1620705600"; 
   d="scan'208";a="50642786"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, Wei Liu <wei.liu2@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH 3/3] x86/amd: Use newer SSBD mechanisms if they exist
Date: Tue, 17 Aug 2021 15:30:06 +0100
Message-ID: <20210817143006.2821-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20210817143006.2821-1-andrew.cooper3@citrix.com>
References: <20210817143006.2821-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

The opencoded legacy Memory Disambiguation logic in init_amd() neglected
Fam19h for the Zen3 microarchitecture.

In practice, all Zen2 based system (AMD Fam17h Model >= 0x30 and Hygon Fam18h
Model >= 0x4) have the architectural MSR_SPEC_CTRL and the SSBD bit within it.

Implement the algorithm given in AMD's SSBD whitepaper, and leave a
printk_once() behind in the case that no controls can be found.

This now means that a user choosing `spec-ctrl=no-ssb` will actually turn off
Memory Disambiguation on Fam19h/Zen3 systems.

This still remains a single system-wide setting (for now), and is not context
switched between vCPUs.  As such, it doesn't interact with Intel's use of
MSR_SPEC_CTRL and default_xen_spec_ctrl (yet).

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Wei Liu <wei.liu2@citrix.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/arch/x86/cpu/amd.c   | 69 +++++++++++++++++++++++++++++++++++-------------
 xen/arch/x86/cpu/cpu.h   |  1 +
 xen/arch/x86/cpu/hygon.c | 10 +------
 xen/arch/x86/spec_ctrl.c |  5 +++-
 4 files changed, 57 insertions(+), 28 deletions(-)

diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c
index 2260eef3aab5..567565199373 100644
--- a/xen/arch/x86/cpu/amd.c
+++ b/xen/arch/x86/cpu/amd.c
@@ -681,6 +681,56 @@ void amd_init_lfence(struct cpuinfo_x86 *c)
 			  c->x86_capability);
 }
 
+/*
+ * Refer to the AMD Speculative Store Bypass whitepaper:
+ * https://developer.amd.com/wp-content/resources/124441_AMD64_SpeculativeStoreBypassDisable_Whitepaper_final.pdf
+ */
+void amd_init_ssbd(const struct cpuinfo_x86 *c)
+{
+	int bit = -1;
+
+	if (cpu_has_ssb_no)
+		return;
+
+	if (cpu_has_amd_ssbd) {
+		wrmsrl(MSR_SPEC_CTRL, opt_ssbd ? SPEC_CTRL_SSBD : 0);
+		return;
+	}
+
+	if (cpu_has_virt_ssbd) {
+		wrmsrl(MSR_VIRT_SPEC_CTRL, opt_ssbd ? SPEC_CTRL_SSBD : 0);
+		return;
+	}
+
+	switch (c->x86) {
+	case 0x15: bit = 54; break;
+	case 0x16: bit = 33; break;
+	case 0x17:
+	case 0x18: bit = 10; break;
+	}
+
+	if (bit >= 0) {
+		uint64_t val, mask = 1ull << bit;
+
+		if (rdmsr_safe(MSR_AMD64_LS_CFG, val) ||
+		    ({
+			    val &= ~mask;
+			    if ( opt_ssbd )
+				    val |= mask;
+			    false;
+		    }) ||
+		    wrmsr_safe(MSR_AMD64_LS_CFG, val) ||
+		    ({
+			    rdmsrl(MSR_AMD64_LS_CFG, val);
+			    (val & mask) != (opt_ssbd * mask);
+		    }))
+			bit = -1;
+	}
+
+	if (bit < 0)
+		printk_once(XENLOG_ERR "No SSBD controls available\n");
+}
+
 static void init_amd(struct cpuinfo_x86 *c)
 {
 	u32 l, h;
@@ -731,24 +781,7 @@ static void init_amd(struct cpuinfo_x86 *c)
 	else /* Implicily "== 0x10 || >= 0x12" by being 64bit. */
 		amd_init_lfence(c);
 
-	/*
-	 * If the user has explicitly chosen to disable Memory Disambiguation
-	 * to mitigiate Speculative Store Bypass, poke the appropriate MSR.
-	 */
-	if (opt_ssbd) {
-		int bit = -1;
-
-		switch (c->x86) {
-		case 0x15: bit = 54; break;
-		case 0x16: bit = 33; break;
-		case 0x17: bit = 10; break;
-		}
-
-		if (bit >= 0 && !rdmsr_safe(MSR_AMD64_LS_CFG, value)) {
-			value |= 1ull << bit;
-			wrmsr_safe(MSR_AMD64_LS_CFG, value);
-		}
-	}
+	amd_init_ssbd(c);
 
 	/* MFENCE stops RDTSC speculation */
 	if (!cpu_has_lfence_dispatch)
diff --git a/xen/arch/x86/cpu/cpu.h b/xen/arch/x86/cpu/cpu.h
index 1ac3b2867a04..1a5b3918b37e 100644
--- a/xen/arch/x86/cpu/cpu.h
+++ b/xen/arch/x86/cpu/cpu.h
@@ -21,3 +21,4 @@ extern bool detect_extended_topology(struct cpuinfo_x86 *c);
 void early_init_amd(struct cpuinfo_x86 *c);
 void amd_log_freq(const struct cpuinfo_x86 *c);
 void amd_init_lfence(struct cpuinfo_x86 *c);
+void amd_init_ssbd(const struct cpuinfo_x86 *c);
diff --git a/xen/arch/x86/cpu/hygon.c b/xen/arch/x86/cpu/hygon.c
index 67e23c5df9e3..56792146739e 100644
--- a/xen/arch/x86/cpu/hygon.c
+++ b/xen/arch/x86/cpu/hygon.c
@@ -33,15 +33,7 @@ static void init_hygon(struct cpuinfo_x86 *c)
 	unsigned long long value;
 
 	amd_init_lfence(c);
-
-	/*
-	 * If the user has explicitly chosen to disable Memory Disambiguation
-	 * to mitigiate Speculative Store Bypass, poke the appropriate MSR.
-	 */
-	if (opt_ssbd && !rdmsr_safe(MSR_AMD64_LS_CFG, value)) {
-		value |= 1ull << 10;
-		wrmsr_safe(MSR_AMD64_LS_CFG, value);
-	}
+	amd_init_ssbd(c);
 
 	/* MFENCE stops RDTSC speculation */
 	if (!cpu_has_lfence_dispatch)
diff --git a/xen/arch/x86/spec_ctrl.c b/xen/arch/x86/spec_ctrl.c
index 9bf0fbf99813..0850afc09358 100644
--- a/xen/arch/x86/spec_ctrl.c
+++ b/xen/arch/x86/spec_ctrl.c
@@ -326,20 +326,23 @@ static void __init print_details(enum ind_thunk thunk, uint64_t caps)
            (caps & ARCH_CAPS_IBRS_ALL)                       ? " IBRS_ALL"       : "",
            (caps & ARCH_CAPS_RSBA)                           ? " RSBA"           : "",
            (caps & ARCH_CAPS_SKIP_L1DFL)                     ? " SKIP_L1DFL"     : "",
+           (e8b  & cpufeat_mask(X86_FEATURE_SSB_NO)) ||
            (caps & ARCH_CAPS_SSB_NO)                         ? " SSB_NO"         : "",
            (caps & ARCH_CAPS_MDS_NO)                         ? " MDS_NO"         : "",
            (caps & ARCH_CAPS_TAA_NO)                         ? " TAA_NO"         : "");
 
     /* Hardware features which need driving to mitigate issues. */
-    printk("  Hardware features:%s%s%s%s%s%s%s%s\n",
+    printk("  Hardware features:%s%s%s%s%s%s%s%s%s\n",
            (e8b  & cpufeat_mask(X86_FEATURE_IBPB)) ||
            (_7d0 & cpufeat_mask(X86_FEATURE_IBRSB))          ? " IBPB"           : "",
            (_7d0 & cpufeat_mask(X86_FEATURE_IBRSB))          ? " IBRS"           : "",
            (_7d0 & cpufeat_mask(X86_FEATURE_STIBP))          ? " STIBP"          : "",
+           (e8b  & cpufeat_mask(X86_FEATURE_AMD_SSBD)) ||
            (_7d0 & cpufeat_mask(X86_FEATURE_SSBD))           ? " SSBD"           : "",
            (_7d0 & cpufeat_mask(X86_FEATURE_L1D_FLUSH))      ? " L1D_FLUSH"      : "",
            (_7d0 & cpufeat_mask(X86_FEATURE_MD_CLEAR))       ? " MD_CLEAR"       : "",
            (_7d0 & cpufeat_mask(X86_FEATURE_SRBDS_CTRL))     ? " SRBDS_CTRL"     : "",
+           (e8b  & cpufeat_mask(X86_FEATURE_VIRT_SSBD))      ? " VIRT_SSBD"      : "",
            (caps & ARCH_CAPS_TSX_CTRL)                       ? " TSX_CTRL"       : "");
 
     /* Compiled-in support which pertains to mitigations. */
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Tue Aug 17 14:30:48 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 14:30:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167908.306578 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mG076-0006tY-4M; Tue, 17 Aug 2021 14:30:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167908.306578; Tue, 17 Aug 2021 14:30:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mG076-0006tM-1M; Tue, 17 Aug 2021 14:30:48 +0000
Received: by outflank-mailman (input) for mailman id 167908;
 Tue, 17 Aug 2021 14:30:47 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cSHW=NI=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mG075-0006rF-2I
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 14:30:47 +0000
Received: from esa6.hc3370-68.iphmx.com (unknown [216.71.155.175])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 800b47b0-f7c7-4287-b1f9-2fd43673fe40;
 Tue, 17 Aug 2021 14:30: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: 800b47b0-f7c7-4287-b1f9-2fd43673fe40
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629210646;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=0F/eC+ZQL+tzTHQ9DEa02brpEmz+uk1auQTeRxAeWTQ=;
  b=ZaqyYAPSnT6AwBjOl8sPLtijE0cmcmL493E8Ttotu+Hz0rx45rPS/rFt
   hR0fYkRlCMXzicHu4wn50OucQC+kmJqTegSJP/f0t+RJULAJl5CA0qdvr
   OEla+K2TXk5KHzp73+OCGsvpnz6lkPQ0iyUzrfTntd8HKGq0EkWe3n5Ax
   Y=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: NQjNzKlI58qAtC/9jdjXSfwGuIaBX7uJ5+Q/iURErrjBghTYvOLeEPmteJqJ5sRSuAtffFDVWz
 61mLjJ7l5tl3A8jka9xz6hEgP5j/Q44ipNsPSmxlqoFTDaGHshaY3aQlcRKeuR44V5ZD1Ce8gm
 D8iu2yDga1KbAOAUNIgdTymKwifSWQarJjBK0eRTDsjFes+0vtgxhWWUv3g10h3NrIi8RlZXWq
 9Gsx/6DdHo7eueKv8sCR511zVTd2RQxzrf/PA9VD7+US1l9kpSd0as0GuTePC64iNQzoh4TA3O
 c8V6EYAcxTPrFi6+Jsz1Fcx8
X-SBRS: 5.1
X-MesageID: 50666693
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:leWhmKDRkB9JeeXlHemW55DYdb4zR+YMi2TC1yhKKCC9Ffbo7/
 xG/c5rrCMc5wxhO03I9eruBEDEewK5yXcX2/h2AV7BZniFhILAFugLhuGOrwEIWReOkdK1vZ
 0QCJSWY+eRMbEVt6jHCXGDYrMd/OU=
X-IronPort-AV: E=Sophos;i="5.84,329,1620705600"; 
   d="scan'208";a="50666693"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH 1/3] x86/spec-ctrl: Split the "Hardware features" diagnostic line
Date: Tue, 17 Aug 2021 15:30:04 +0100
Message-ID: <20210817143006.2821-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20210817143006.2821-1-andrew.cooper3@citrix.com>
References: <20210817143006.2821-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Separate the read-only hints from the features requiring active actions on
Xen's behalf.

Also take the opportunity split the IBRS/IBPB and IBPB mess.  More features
with overlapping enumeration are on the way, and and it is not useful to split
them like this.

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>
---
 xen/arch/x86/spec_ctrl.c | 41 ++++++++++++++++++++++++-----------------
 1 file changed, 24 insertions(+), 17 deletions(-)

diff --git a/xen/arch/x86/spec_ctrl.c b/xen/arch/x86/spec_ctrl.c
index 739b7913ff86..9bf0fbf99813 100644
--- a/xen/arch/x86/spec_ctrl.c
+++ b/xen/arch/x86/spec_ctrl.c
@@ -317,23 +317,30 @@ static void __init print_details(enum ind_thunk thunk, uint64_t caps)
 
     printk("Speculative mitigation facilities:\n");
 
-    /* Hardware features which pertain to speculative mitigations. */
-    printk("  Hardware features:%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n",
-           (_7d0 & cpufeat_mask(X86_FEATURE_IBRSB)) ? " IBRS/IBPB" : "",
-           (_7d0 & cpufeat_mask(X86_FEATURE_STIBP)) ? " STIBP"     : "",
-           (_7d0 & cpufeat_mask(X86_FEATURE_L1D_FLUSH)) ? " L1D_FLUSH" : "",
-           (_7d0 & cpufeat_mask(X86_FEATURE_SSBD))  ? " SSBD"      : "",
-           (_7d0 & cpufeat_mask(X86_FEATURE_MD_CLEAR)) ? " MD_CLEAR" : "",
-           (_7d0 & cpufeat_mask(X86_FEATURE_SRBDS_CTRL)) ? " SRBDS_CTRL" : "",
-           (e8b  & cpufeat_mask(X86_FEATURE_IBPB))  ? " IBPB"      : "",
-           (caps & ARCH_CAPS_IBRS_ALL)              ? " IBRS_ALL"  : "",
-           (caps & ARCH_CAPS_RDCL_NO)               ? " RDCL_NO"   : "",
-           (caps & ARCH_CAPS_RSBA)                  ? " RSBA"      : "",
-           (caps & ARCH_CAPS_SKIP_L1DFL)            ? " SKIP_L1DFL": "",
-           (caps & ARCH_CAPS_SSB_NO)                ? " SSB_NO"    : "",
-           (caps & ARCH_CAPS_MDS_NO)                ? " MDS_NO"    : "",
-           (caps & ARCH_CAPS_TSX_CTRL)              ? " TSX_CTRL"  : "",
-           (caps & ARCH_CAPS_TAA_NO)                ? " TAA_NO"    : "");
+    /*
+     * Hardware read-only information, stating immunity to certain issues, or
+     * suggestions of which mitigation to use.
+     */
+    printk("  Hardware hints:%s%s%s%s%s%s%s\n",
+           (caps & ARCH_CAPS_RDCL_NO)                        ? " RDCL_NO"        : "",
+           (caps & ARCH_CAPS_IBRS_ALL)                       ? " IBRS_ALL"       : "",
+           (caps & ARCH_CAPS_RSBA)                           ? " RSBA"           : "",
+           (caps & ARCH_CAPS_SKIP_L1DFL)                     ? " SKIP_L1DFL"     : "",
+           (caps & ARCH_CAPS_SSB_NO)                         ? " SSB_NO"         : "",
+           (caps & ARCH_CAPS_MDS_NO)                         ? " MDS_NO"         : "",
+           (caps & ARCH_CAPS_TAA_NO)                         ? " TAA_NO"         : "");
+
+    /* Hardware features which need driving to mitigate issues. */
+    printk("  Hardware features:%s%s%s%s%s%s%s%s\n",
+           (e8b  & cpufeat_mask(X86_FEATURE_IBPB)) ||
+           (_7d0 & cpufeat_mask(X86_FEATURE_IBRSB))          ? " IBPB"           : "",
+           (_7d0 & cpufeat_mask(X86_FEATURE_IBRSB))          ? " IBRS"           : "",
+           (_7d0 & cpufeat_mask(X86_FEATURE_STIBP))          ? " STIBP"          : "",
+           (_7d0 & cpufeat_mask(X86_FEATURE_SSBD))           ? " SSBD"           : "",
+           (_7d0 & cpufeat_mask(X86_FEATURE_L1D_FLUSH))      ? " L1D_FLUSH"      : "",
+           (_7d0 & cpufeat_mask(X86_FEATURE_MD_CLEAR))       ? " MD_CLEAR"       : "",
+           (_7d0 & cpufeat_mask(X86_FEATURE_SRBDS_CTRL))     ? " SRBDS_CTRL"     : "",
+           (caps & ARCH_CAPS_TSX_CTRL)                       ? " TSX_CTRL"       : "");
 
     /* Compiled-in support which pertains to mitigations. */
     if ( IS_ENABLED(CONFIG_INDIRECT_THUNK) || IS_ENABLED(CONFIG_SHADOW_PAGING) )
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Tue Aug 17 14:30:55 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 14:30:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167911.306588 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mG07D-0007V5-F4; Tue, 17 Aug 2021 14:30:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167911.306588; Tue, 17 Aug 2021 14:30:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mG07D-0007Uy-BY; Tue, 17 Aug 2021 14:30:55 +0000
Received: by outflank-mailman (input) for mailman id 167911;
 Tue, 17 Aug 2021 14:30:54 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=tbpc=NI=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mG07C-0007Ru-4t
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 14:30:54 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id f48bceb4-ed6f-4765-8b5a-93d02dc53927;
 Tue, 17 Aug 2021 14:30:53 +0000 (UTC)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2054.outbound.protection.outlook.com [104.47.12.54]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-20-eyoYgbpyN8qcgqj0e9yoxg-1; Tue, 17 Aug 2021 16:30:50 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0401MB2447.eurprd04.prod.outlook.com (2603:10a6:800:53::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13; Tue, 17 Aug
 2021 14:30:49 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Tue, 17 Aug 2021
 14:30:48 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM3PR07CA0073.eurprd07.prod.outlook.com (2603:10a6:207:4::31) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.9 via Frontend Transport; Tue, 17 Aug 2021 14:30:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f48bceb4-ed6f-4765-8b5a-93d02dc53927
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629210652;
	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=wpikJq/gpX+eW/kmpDHrbMcUyBVzKq0Z21NGYTmiMck=;
	b=FHSh+ZtVXa1HLRFmo04/S3NfubA3GKR331mpFxFCHK8qhCLrQtF3eFL+FH1zcAZoFOqYi0
	uUAY6FLFiCBBvAqIa3PBKDSfLs5DKlR9SGdM+pdYG0eziDyp3jz0z8T6hciDRqi4VHgdl7
	29n1YKXsV5IyTmRZ1lPcoqOwY2ujoxo=
X-MC-Unique: eyoYgbpyN8qcgqj0e9yoxg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XXQNDPcoJ7RR8zeoyejcleR/6JpMZa2R+k31ifCscYBEX8bPYMKYMW+kX8EmMtPMpdQp5giBdkxgaD4QN1zll+wL61LdGf4fojUgAjxdAjBjSbVE6rmCmh8OijEHPw7xOw0oEwoXDCOtM3W/mgI4QYYGL1OGCduHa3+2G9C+kUIu1yYeloASTB/6NCDBloTumNQ0qrlX1nTuPox0nyfLPh+9X5WpX/lqPCAx3AiY1IUaXGE7xwergZ/Jhky4+4eLHTqaeTRs/8lkoi2U6Ny8cVzEdm8DUeltC/UojDuV5Njd5GoghiWshw/yKMbgzbi/Am/pQGanKxgbtkJgAnqz+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-SenderADCheck;
 bh=wpikJq/gpX+eW/kmpDHrbMcUyBVzKq0Z21NGYTmiMck=;
 b=fxg6Gk1t/46bbB/DWGGhQcXLk+HhwmNDCBkkcnydQDWvNIS/1rv0Kkklr2XDr59l3lXA5jWgPihPzLI3VOzxGPbv2gBf54hJEervMM3199a1SvRoJ/Xt3smIh2w+rFASuh7r4+UbXI+Rn6kBoU6FivaT06F2oFAzeyDqR64Komydh89PWBBg1kZkCSBrcKUhvyVEEIGIfo+dZeWrtsvA6FmGeFXcX26VAwme2HLErBxhTYi51SIBAdoKbl4kNkb1nrNptzufcdJp6VEKAszbEmMx3gPKsDhbxEs5ygy4S1hLmIzhMQt/e+qSDNpotJ1JdddUfeilWN4+axT12aLNJg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2] IOMMU/x86: restrict IO-APIC mappings for PV Dom0
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>
Message-ID: <6ba722ae-53ce-34d7-129a-621da0fadd48@suse.com>
Date: Tue, 17 Aug 2021 16:30:47 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM3PR07CA0073.eurprd07.prod.outlook.com
 (2603:10a6:207:4::31) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 8d57ca22-9a31-487a-7246-08d9618b9b88
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2447:
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB2447FC79CE53ABE397F95F80B3FE9@VI1PR0401MB2447.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:1751;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	lQ7xDPmlDQ/gC54i2InRcaOIX5MLcKOjbCNeOTsbjDjlAavmffYtnHBUerJ4gsuHikb9JvDw3RTrgKK8p+0r1sYy2VPw/kiDGHg/H67Abi5KgeS9iXxIhLcTZ/l0sofb/ZhxJ4Wn9SbgEA1jSSEQFQg8RvuHupTlqSyeX/A+omXHC/xRw4OG0/93wy04KqUok781ulsMi5EpXRzculn3L0SUo7VnaHnH3GhVMf/4BpUjO/kf9+3MZvsr14BlJVkh9UdZYzFWiZRcPz68GmzwpdkQ6d79CVZF72A6MYJQIfHh0HsiKRNYicQEpX/X2WBSI6IIOPKvX2fMl5/jWuMJDatL75lLTrAGBxfL0gX2G2NXIpmUPuvZo77+wde+DJNQS7o5fMebT0czUcmqCfEbfufLGvdOu1pN04R8pHLjwA0oM9y/AiYrRcxkgVmaOv0/uxgbE30LY3Orjl/4/byzRdmgPVcs+OkiwSVNXRkcfh5lCWNu9J4+fljVqJhBx5I6c9ZVjw6MY0ZsrHwzRUAgOGgcIuQbrXrU6kAY5XzgFXjGoQcg8mqbD7F1cztWStIpmdB65mSqYD/xeEcI8OzUNMJyP+IxHnJ5DsyI/UB2xUZZh4NWsYahNR90+lazo/LPB6s0EcCl8c9QQVw3UsbOkSf2Tx7Q2KzndpY1Ni3X86KIwFcSGsXx50a1cZBTi/9BKUcNT0ES6Q5wK+v5iUMehwEK9czOVUMPTHSUmAnhauo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(39850400004)(376002)(346002)(396003)(136003)(366004)(66946007)(8936002)(66476007)(66556008)(86362001)(6916009)(6486002)(2906002)(8676002)(31696002)(956004)(5660300002)(2616005)(316002)(31686004)(4326008)(36756003)(478600001)(16576012)(38100700002)(26005)(83380400001)(186003)(54906003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Q2NCa1ltNmtDYkJ6NVBTdU4yUjNVdW5MWmxNdzdsT3k1eGd0aVQ3TDJEUHZi?=
 =?utf-8?B?Nnhua2RHeTRvaE41Z0JQbWdOVXo1cGRyQXk0MFJ1ZUpWa0FlMVVSaWgvZkpW?=
 =?utf-8?B?Y0JONElpZWVpQ1cyY0VXZDF0ZEt6b2RFK0x1ZTZzSnQ3ZUhBZnlLb0FjSXo3?=
 =?utf-8?B?U2N6NEFvM3ZDN1NpYzZoVlFhaHo2ZjZqQXRuYVViZjVLWFhJUEZML0EzdGxU?=
 =?utf-8?B?blpNU1B2ZGtRVWUxSXlnLzd4ZGFXK0pUd1dVTEpCQTRUMGpZN1ZoYTAzZDAy?=
 =?utf-8?B?N3F4M3JVS0I0WEk1WXZHQ1o0ZE1Qc1g1TTkzNU45QTlMOGQybGxaLzlBdVZn?=
 =?utf-8?B?cklSWVoxUm4vZ2g5QzJSSnhoWllYeXNTUjBlVlpRWEVjQWtad0F3RmxMSms4?=
 =?utf-8?B?YTB1dW8xeGhwUmE3eDlLRFlUNEsvckw3cldUeU5OZkViM005VGRJUVhHdDNj?=
 =?utf-8?B?am45aVJlNTdQWHcwZmZzYVhLRnpTQ3JwNTRic2tySy9SVDZrRHdZN3N4RjZk?=
 =?utf-8?B?YlVtTHpMa2Q3bHF5d1BPVnJmRnVkZjcxNXBENmY0SWhvRzhaeG5kSXg2eEg1?=
 =?utf-8?B?NWNYUVYxTXk0dnloS09LanJmUExHUk5rQjc4YzJlbmlwTjhkSlZOdlEvOXBH?=
 =?utf-8?B?WmxKaHdtYUlic2x6L2lldXYvOEM5Qmhrc0hGWlhzQUd5OEFrZS9HQkp0Rm1G?=
 =?utf-8?B?d2tYZWtQRkpJQzZCWWV2NWJUMW4wbFlXNXVxUVlJRHQ5SnJwcldaQzFpNElj?=
 =?utf-8?B?ZlB2dkFvREtDUXBETzV5bEZxeDlVQmFoN21QRjJXbDRuTndza1dTSG1zdmpB?=
 =?utf-8?B?QWdCWUpoS3pHbHVkN2ZSUk1OczJZcy9QVHFtcUwyR3lHblRYOFNTZHBpR1Vn?=
 =?utf-8?B?bDVzTzhPdVRPb3pFczdrQnFCQWtJOGk4T1c5QVNtWTBlbVVERjNXd2M2dElU?=
 =?utf-8?B?VG55ZC9VV1pVNHRURUFiN05mQU1wZDZWenB5SlUvWWVoNVpKaDRNTG1MWHpQ?=
 =?utf-8?B?TFVlcEJrVlVkM05pSVRXd1dvRGhrQWc1bHZSdU1kL1c4NW9yQUo4RUkxRHN2?=
 =?utf-8?B?b09OMHROcXRLUkI3K2RmZEVLUm5DQ3BRVmYvS3M0TFlieXZyN081c0xoditP?=
 =?utf-8?B?Ni9HeDFpYmRwUmhJRG04WXppSUFNekpmT1JtdmY3b2dMQ0dMZzVha010ZCtl?=
 =?utf-8?B?dHl4ajVyY3ZGdjBDQXVlR2pvak92cEU3NzltcFJEejY3ZUliV1ZBTEx4cmN2?=
 =?utf-8?B?a000dG9ZeTY3ek1uTkhoRDVZdGVnUkwwU3ZweVZLOG1RUjYrNkpQWVVFU2Vx?=
 =?utf-8?B?amt1b1Y5Y1VBeHlPNTM4S0NoWkdiU0I0Ym9yUmhhK2lNU2VTVXhPM0E3UFhk?=
 =?utf-8?B?QXhyOEwwd1ZBYVNqQzdSM2FscDA3c3hmdSt5RHZ6SDVFN2JFemREYTkwRFd1?=
 =?utf-8?B?ODdOdGVUMVMzYTRYR3ZjRmVOUmtnMTlCM2pzenVqLy9yYlFyY2c3Qzkvdmlw?=
 =?utf-8?B?QUJhdE5sZFFZQXNhZ294cWFpRFp6S2dyMk5BRytyZ0RIaVkwSEVZMnl5VVNr?=
 =?utf-8?B?dHpJdVVTRW9kMjZuekhEZGorVCs3TWhqcTBDK2RsTWZYQitYWWhHL0VrclZ4?=
 =?utf-8?B?QUxFQllYZG90dVliNU5YaHZNOElpWmJSTjVKQTZlbzY4VEhYajl3MFhEcDV6?=
 =?utf-8?B?cmMxVzZhMHJBdXI5blhvdlpYbnNRQlk4SUwyVGlZT3VJVVVrOGpsMnZheWRp?=
 =?utf-8?Q?GIsbOQSL/irpxDUv5jPyX10wqUc4T7e+CBgdIEr?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8d57ca22-9a31-487a-7246-08d9618b9b88
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 14:30:48.8554
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: l9CEJpFh41y9rr+Ucwbo8oX6eour3LnjholrxXorINS4YDDFKpavoi0WJVQ8ooDStHolSP8H7SJ8ZMSf0hNdBQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2447

While already the case for PVH, there's no reason to treat PV
differently here (except of course where to take the addresses from).
Except that, to match CPU side mappings, by default we permit r/o ones
(which then also means to deal with IO-APICs whose MMIO is not covered
by E820 reserved regions).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: Keep IOMMU mappings in sync with CPU ones.

--- a/xen/drivers/passthrough/x86/iommu.c
+++ b/xen/drivers/passthrough/x86/iommu.c
@@ -159,12 +159,12 @@ void arch_iommu_domain_destroy(struct do
            page_list_empty(&dom_iommu(d)->arch.pgtables.list));
 }
 
-static bool __hwdom_init hwdom_iommu_map(const struct domain *d,
-                                         unsigned long pfn,
-                                         unsigned long max_pfn)
+static unsigned int __hwdom_init hwdom_iommu_map(const struct domain *d,
+                                                 unsigned long pfn,
+                                                 unsigned long max_pfn)
 {
     mfn_t mfn = _mfn(pfn);
-    unsigned int i, type;
+    unsigned int i, type, perms = IOMMUF_readable | IOMMUF_writable;
 
     /*
      * Set up 1:1 mapping for dom0. Default to include only conventional RAM
@@ -173,44 +173,60 @@ static bool __hwdom_init hwdom_iommu_map
      * that fall in unusable ranges for PV Dom0.
      */
     if ( (pfn > max_pfn && !mfn_valid(mfn)) || xen_in_range(pfn) )
-        return false;
+        return 0;
 
     switch ( type = page_get_ram_type(mfn) )
     {
     case RAM_TYPE_UNUSABLE:
-        return false;
+        return 0;
 
     case RAM_TYPE_CONVENTIONAL:
         if ( iommu_hwdom_strict )
-            return false;
+            return 0;
         break;
 
     default:
         if ( type & RAM_TYPE_RESERVED )
         {
             if ( !iommu_hwdom_inclusive && !iommu_hwdom_reserved )
-                return false;
+                perms = 0;
         }
-        else if ( is_hvm_domain(d) || !iommu_hwdom_inclusive || pfn > max_pfn )
-            return false;
+        else if ( is_hvm_domain(d) )
+            return 0;
+        else if ( !iommu_hwdom_inclusive || pfn > max_pfn )
+            perms = 0;
     }
 
     /* Check that it doesn't overlap with the Interrupt Address Range. */
     if ( pfn >= 0xfee00 && pfn <= 0xfeeff )
-        return false;
+        return 0;
     /* ... or the IO-APIC */
-    for ( i = 0; has_vioapic(d) && i < d->arch.hvm.nr_vioapics; i++ )
-        if ( pfn == PFN_DOWN(domain_vioapic(d, i)->base_address) )
-            return false;
+    if ( has_vioapic(d) )
+    {
+        for ( i = 0; i < d->arch.hvm.nr_vioapics; i++ )
+            if ( pfn == PFN_DOWN(domain_vioapic(d, i)->base_address) )
+                return 0;
+    }
+    else if ( is_pv_domain(d) )
+    {
+        /*
+         * Be consistent with CPU mappings: Dom0 is permitted to establish r/o
+         * ones there, so it should also have such established for IOMMUs.
+         */
+        for ( i = 0; i < nr_ioapics; i++ )
+            if ( pfn == PFN_DOWN(mp_ioapics[i].mpc_apicaddr) )
+                return rangeset_contains_singleton(mmio_ro_ranges, pfn)
+                       ? IOMMUF_readable : 0;
+    }
     /*
      * ... or the PCIe MCFG regions.
      * TODO: runtime added MMCFG regions are not checked to make sure they
      * don't overlap with already mapped regions, thus preventing trapping.
      */
     if ( has_vpci(d) && vpci_is_mmcfg_address(d, pfn_to_paddr(pfn)) )
-        return false;
+        return 0;
 
-    return true;
+    return perms;
 }
 
 void __hwdom_init arch_iommu_hwdom_init(struct domain *d)
@@ -246,15 +262,19 @@ void __hwdom_init arch_iommu_hwdom_init(
     for ( i = 0; i < top; i++ )
     {
         unsigned long pfn = pdx_to_pfn(i);
+        unsigned int perms = hwdom_iommu_map(d, pfn, max_pfn);
         int rc;
 
-        if ( !hwdom_iommu_map(d, pfn, max_pfn) )
+        if ( !perms )
             rc = 0;
         else if ( paging_mode_translate(d) )
-            rc = set_identity_p2m_entry(d, pfn, p2m_access_rw, 0);
+            rc = set_identity_p2m_entry(d, pfn,
+                                        perms & IOMMUF_writable ? p2m_access_rw
+                                                                : p2m_access_r,
+                                        0);
         else
             rc = iommu_map(d, _dfn(pfn), _mfn(pfn), 1ul << PAGE_ORDER_4K,
-                           IOMMUF_readable | IOMMUF_writable, &flush_flags);
+                           perms, &flush_flags);
 
         if ( rc )
             printk(XENLOG_WARNING "%pd: identity %smapping of %lx failed: %d\n",



From xen-devel-bounces@lists.xenproject.org Tue Aug 17 14:51:10 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 14:51:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167942.306618 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mG0Qf-0003Ai-3x; Tue, 17 Aug 2021 14:51:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167942.306618; Tue, 17 Aug 2021 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 1mG0Qf-0003Ab-12; Tue, 17 Aug 2021 14:51:01 +0000
Received: by outflank-mailman (input) for mailman id 167942;
 Tue, 17 Aug 2021 14:50:59 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lICV=NI=invisiblethingslab.com=marmarek@srs-us1.protection.inumbo.net>)
 id 1mG0Qd-0003AS-OX
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 14:50:59 +0000
Received: from wout4-smtp.messagingengine.com (unknown [64.147.123.20])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 89503c4c-8165-4e8c-a5ed-d5347f39a13b;
 Tue, 17 Aug 2021 14:50:58 +0000 (UTC)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id 37C223200035;
 Tue, 17 Aug 2021 10:50:57 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Tue, 17 Aug 2021 10:50:57 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 17 Aug 2021 10:50: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: 89503c4c-8165-4e8c-a5ed-d5347f39a13b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-type:date:from:message-id
	:mime-version:subject:to:x-me-proxy:x-me-proxy:x-me-sender
	:x-me-sender:x-sasl-enc; s=fm3; bh=BgpSoOYDH/AN7ybyZM7gQVQah9umF
	E0/v12vAHg5o4M=; b=oU+dHAQZ1yCv1QxoZAKiDC1cTiKBp7/ZlDX+7QGDg6yjI
	2g7QRDX95rr7QEW/NqclTtj0dEOhrQ9vNag7P7TfsQTevlJoQUhLHRX0BzJN+mc4
	29t5VmtcPEwp6oSCC0FOGDhGb8hSYgCHxYEXYQ5BCsHCCW9vvDiSohO1I7KN1Fhf
	ClG+ztnZTrlImNMxpggKXl7J3EYI12CPi9seeizp2p1RE01+riqe/ZdxnL0nN4pl
	jf6e4zEmS88YHhNRUWAIcLLizyFTGPlAHUY74SdfAOMSi3r5eK6vvKXCDRCK4pHS
	CmFrgJAEPhHqFDUKrNZjAc0O15aTZCOu3PVCxMOaw==
X-ME-Sender: <xms:0MwbYWMfmeUCPt_GIiHqnq-9AAxtPKGGzk5XXpH6JEyr_UcU9SZI7g>
    <xme:0MwbYU9rn2UYb_Kcya1rKK71Jr_-OisCw4hCxSoxAwpCdNGDTiWhCIewCEbhAlpiT
    BRRUjsxBIYMoQ>
X-ME-Received: <xmr:0MwbYdQCfuWChwibV5gK4DoMYDgwt19IKRUL0ks1g0EEGaWv0CFafcAKPUz8hVvh1fj8QRq4W-qkonnQeCX-ynQxiypLf6Bi>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrleefgdekudcutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvuffkgggtugesghdtreertddtjeenucfhrhhomhepofgrrhgvkhcuofgr
    rhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinhhvihhsih
    gslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnheptddugfetudev
    udeiveevgfetueejlefggffghffhhfehtdfffeefgfduueegfefhnecuvehluhhsthgvrh
    fuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehinhhv
    ihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:0MwbYWsYhaUBAVFcYlRL3SUIXyzEfE6H_PpU53_6rTiUkQEDUe-UbA>
    <xmx:0MwbYedLg5bNfbpj_xatd0nIhD0RdprEbUu1_uhdYWNsL-QljILcog>
    <xmx:0MwbYa1389fKr-6pbZBRiayD75aES-T0iszGIrx1OpO5raFxmZevsA>
    <xmx:0MwbYWkm8RUsTEXHbeI0OxnfE83UxXtaILZFXearC8ipCdsVHE4NRg>
Date: Tue, 17 Aug 2021 16:50:51 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: S3 resume issue in cpufreq -> get_cpu_idle_time->vcpu_runstate_get
Message-ID: <YRvMy9NgGxYKRcNc@mail-itl>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="88oDJORWelxpH9uQ"
Content-Disposition: inline


--88oDJORWelxpH9uQ
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 17 Aug 2021 16:50:51 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: S3 resume issue in cpufreq -> get_cpu_idle_time->vcpu_runstate_get

On Tue, Aug 17, 2021 at 04:04:24PM +0200, Jan Beulich wrote:
> On 17.08.2021 15:48, Marek Marczykowski-G=C3=B3recki wrote:
> > On Tue, Aug 17, 2021 at 02:29:20PM +0100, Andrew Cooper wrote:
> >> On 17/08/2021 14:21, Jan Beulich wrote:
> >>> On 17.08.2021 15:06, Andrew Cooper wrote:
> >>>> Perhaps we want the cpu_down() logic to explicitly invalidate their
> >>>> lazily cached values?
> >>> I'd rather do this on the cpu_up() path (no point clobbering what may
> >>> get further clobbered, and then perhaps not to a value of our liking),
> >>> yet then we can really avoid doing this from a notifier and instead do
> >>> it early enough in xstate_init() (taking care of XSS at the same time=
).
> >=20
> > Funny you mention notifiers. Apparently cpufreq driver does use it to
> > initialize things. And fails to do so:
> >=20
> > (XEN) Finishing wakeup from ACPI S3 state.
> > (XEN) CPU0: xstate: size: 0x440 (uncompressed 0x440) and states: 0x1f
> > (XEN) Enabling non-boot CPUs  ...
> > (XEN) CPU1: xstate: size: 0x440 (uncompressed 0x440) and states: 0x1f
> > (XEN) ----[ Xen-4.16-unstable  x86_64  debug=3Dy  Not tainted ]----
> > (XEN) CPU:    0
> > (XEN) RIP:    e008:[<ffff82d04024ad2b>] vcpu_runstate_get+0x153/0x244
> > (XEN) RFLAGS: 0000000000010246   CONTEXT: hypervisor
> > (XEN) rax: 0000000000000000   rbx: ffff830049667c50   rcx: 000000000000=
0001
> > (XEN) rdx: 000000321d74d000   rsi: ffff830049667c50   rdi: ffff83025dcc=
0000
> > (XEN) rbp: ffff830049667c40   rsp: ffff830049667c10   r8:  ffff83020511=
a820
> > (XEN) r9:  ffff82d04057ef78   r10: 0180000000000000   r11: 800000000000=
0000
> > (XEN) r12: ffff83025dcc0000   r13: ffff830205118c60   r14: 000000000000=
0001
> > (XEN) r15: 0000000000000010   cr0: 000000008005003b   cr4: 000000000035=
26e0
> > (XEN) cr3: 0000000049656000   cr2: 0000000000000028
> > (XEN) fsb: 0000000000000000   gsb: 0000000000000000   gss: 000000000000=
0000
> > (XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: 0000   cs: e008
> > (XEN) Xen code around <ffff82d04024ad2b> (vcpu_runstate_get+0x153/0x244=
):
> > (XEN)  48 8b 14 ca 48 8b 04 02 <4c> 8b 70 28 e9 01 ff ff ff 4c 8d 3d dd=
 64 32 00
> > (XEN) Xen stack trace from rsp=3Dffff830049667c10:
> > (XEN)    0000000000000180 ffff83025dcbd410 ffff83020511bf30 ffff8302051=
18c60
> > (XEN)    0000000000000001 0000000000000010 ffff830049667c80 ffff82d0402=
4ae73
> > (XEN)    0000000000000000 0000000000000000 0000000000000000 00000000000=
00000
> > (XEN)    0000000000000000 0000000000000000 ffff830049667cb8 ffff82d0402=
560a9
> > (XEN)    ffff830205118320 0000000000000001 ffff83020511bf30 ffff83025dc=
7a6f0
> > (XEN)    0000000000000000 ffff830049667d58 ffff82d040254cb1 00000001402=
e9f74
> > (XEN)    0000000000000000 ffff830049667d10 ffff82d040224eda 00000000002=
5dc81
> > (XEN)    000000321d74d000 ffff82d040571278 0000000000000001 ffff8300496=
67d28
> > (XEN)    ffff82d040228b44 ffff82d0403102cf 0000000000000000 ffff82d0402=
283a4
> > (XEN)    ffff82d040459688 ffff82d040459680 ffff82d040459240 00000000000=
00004
> > (XEN)    0000000000000000 ffff830049667d68 ffff82d04025510e ffff8300496=
67db0
> > (XEN)    ffff82d040221ba4 0000000000000000 0000000000000001 00000000000=
00001
> > (XEN)    0000000000000000 ffff830049667e00 0000000000000001 ffff82d0405=
8a5c0
> > (XEN)    ffff830049667dc8 ffff82d040203867 0000000000000001 ffff8300496=
67df0
> > (XEN)    ffff82d040203c51 ffff82d040459400 0000000000000001 00000000000=
00010
> > (XEN)    ffff830049667e20 ffff82d040203e26 ffff830049667ef8 00000000000=
00000
> > (XEN)    0000000000000003 0000000000000200 ffff830049667e50 ffff82d0402=
70bac
> > (XEN)    ffff83020116a640 ffff830258ff6000 0000000000000000 00000000000=
00000
> > (XEN)    ffff830049667e70 ffff82d0402056aa ffff830258ff61b8 ffff82d0405=
701b0
> > (XEN)    ffff830049667e88 ffff82d04022963c ffff82d0405701a0 ffff8300496=
67eb8
> > (XEN) Xen call trace:
> > (XEN)    [<ffff82d04024ad2b>] R vcpu_runstate_get+0x153/0x244

This is xen/common/sched/core.c:322. get_sched_res(v->processor) is
NULL at this point for CPU1.

The only place that can calls set_sched_res() and doesn't expect the
previous value to be valid, is cpu_schedule_up(). For non-BSP its called
_only_ from notifier at CPU_UP_PREPARE (cpu_schedule_callback()), but
that notifier explicitly exclude suspend/resume case:

    static int cpu_schedule_callback(
        struct notifier_block *nfb, unsigned long action, void *hcpu)
    {
        unsigned int cpu =3D (unsigned long)hcpu;
        int rc =3D 0;

        /*
         * All scheduler related suspend/resume handling needed is done in
         * cpupool.c.
         */
        if ( system_state > SYS_STATE_active )
            return NOTIFY_DONE;

But, nothing in cpupool.c is calling into set_sched_res().

On the other hand, sched_rm_cpu() (which I believe is called as part of
parking the CPU) calls cpu_schedule_down(), which then calls
set_sched_res(cpu, NULL).

In short: scheduler for parked CPUs is not re-initialized during resume.
But cpufreq expects it to be...


> > (XEN)    [<ffff82d04024ae73>] F get_cpu_idle_time+0x57/0x59
> > (XEN)    [<ffff82d0402560a9>] F cpufreq_statistic_init+0x191/0x210
> > (XEN)    [<ffff82d040254cb1>] F cpufreq_add_cpu+0x3cc/0x5bb
> > (XEN)    [<ffff82d04025510e>] F cpufreq.c#cpu_callback+0x27/0x32
> > (XEN)    [<ffff82d040221ba4>] F notifier_call_chain+0x6c/0x96
> > (XEN)    [<ffff82d040203867>] F cpu.c#cpu_notifier_call_chain+0x1b/0x36
> > (XEN)    [<ffff82d040203c51>] F cpu_up+0xaf/0xc8
> > (XEN)    [<ffff82d040203e26>] F enable_nonboot_cpus+0x6b/0x1f8
> > (XEN)    [<ffff82d040270bac>] F power.c#enter_state_helper+0x152/0x60a
> > (XEN)    [<ffff82d0402056aa>] F domain.c#continue_hypercall_tasklet_han=
dler+0x4c/0xb9
> > (XEN)    [<ffff82d04022963c>] F tasklet.c#do_tasklet_work+0x76/0xac
> > (XEN)    [<ffff82d040229920>] F do_tasklet+0x58/0x8a
> > (XEN)    [<ffff82d0402e6607>] F domain.c#idle_loop+0x74/0xdd
> > (XEN)=20
> > (XEN) Pagetable walk from 0000000000000028:
> > (XEN)  L4[0x000] =3D 000000025dce1063 ffffffffffffffff
> > (XEN)  L3[0x000] =3D 000000025dce0063 ffffffffffffffff
> > (XEN)  L2[0x000] =3D 000000025dcdf063 ffffffffffffffff
> > (XEN)  L1[0x000] =3D 0000000000000000 ffffffffffffffff
> > (XEN)=20
> > (XEN) ****************************************
> > (XEN) Panic on CPU 0:
> > (XEN) FATAL PAGE FAULT
> > (XEN) [error_code=3D0000]
> > (XEN) Faulting linear address: 0000000000000028
> > (XEN) ****************************************
> >=20
> > This is after adding brutal `this_cpu(xcr0) =3D 0` in xstate_init().
>=20
> And presumably again only with "smt=3D0"?=20

Yes. With smt=3D1 suspend works fine on this particular machine. At least
with only dom0 running (haven't tried with any domU yet)...

> In any event, for us to not mix
> things, may I ask that you start a new thread for this further issue?

Sure.

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--88oDJORWelxpH9uQ
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmEbzMsACgkQ24/THMrX
1yyOLwf/c1JZH68gy9u0YX6aTt8rhrMEueiQpzwSIT7xCUfoaarzeRBrP27ly4dO
acW94j2IuSuiWOoiHzOomhwFUgK/ujJ9bCAGQyNe/qk6o3B8vspj8se1OCHh7gKj
nF75xXVoSOcP2FJVGikv4DVpTdtHjgMW0HvT65Hm1Qw+8lxdaKFIQk/c643UoSJL
Jaeywwz+q+4NvRqaRzv8V/lYEBey+0Jtt0e8CSTSUb2BapjaO68w7mipAWYdBRBS
RSO3rQZBSCrYVObhH3n+sH5YdMTIbVLpbK0NfmDwP93AKp3VrjIShAOZcvDOL9A4
5gk6FPFy4quxdjHTXnJ1Kn+NC8zifg==
=iPcC
-----END PGP SIGNATURE-----

--88oDJORWelxpH9uQ--


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 15:15:34 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 15:15:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167956.306629 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mG0oK-0005w6-3x; Tue, 17 Aug 2021 15:15:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167956.306629; Tue, 17 Aug 2021 15: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 1mG0oK-0005vx-0w; Tue, 17 Aug 2021 15:15:28 +0000
Received: by outflank-mailman (input) for mailman id 167956;
 Tue, 17 Aug 2021 15:15:25 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OoW9=NI=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mG0oH-0005vr-SX
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 15:15:25 +0000
Received: from smtp-out1.suse.de (unknown [195.135.220.28])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id f1c9c7a4-ff6d-11eb-a4d5-12813bfff9fa;
 Tue, 17 Aug 2021 15:15:24 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 7EEE021F70;
 Tue, 17 Aug 2021 15:15:23 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 3CB2212FF9;
 Tue, 17 Aug 2021 15:15:23 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id mkH0DIvSG2EZWgAAGKfGzw
 (envelope-from <jgross@suse.com>); Tue, 17 Aug 2021 15:15:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f1c9c7a4-ff6d-11eb-a4d5-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1629213323; 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=lqVkH+OT4YCiF+f4+snpkxi7RfWpUkg7iNbNxW94QgU=;
	b=PJ7LqGbPM/+qtZWIPJFhKl3y+GNZw/zcj0tX93yh4m7JOrj8SAs+71xUkjVtY5308P9jTT
	Nxfy3sX+j3H8kxlsHgvogTZBe7/NoetlRqu6XGR529t8g0XWbIDZiC0St1qPqz7MjwiJcu
	KIdw/pntKrm/FRPNdaV/lfDfHPzVyPQ=
Subject: Re: S3 resume issue in cpufreq ->
 get_cpu_idle_time->vcpu_runstate_get
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Jan Beulich <jbeulich@suse.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <YRvMy9NgGxYKRcNc@mail-itl>
From: Juergen Gross <jgross@suse.com>
Message-ID: <42948041-59a5-e243-ed39-6e2afe3fd1cd@suse.com>
Date: Tue, 17 Aug 2021 17:15:22 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <YRvMy9NgGxYKRcNc@mail-itl>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="JWBSpzCrT1wyTGpAB93gtoZNlYFqiu3V4"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--JWBSpzCrT1wyTGpAB93gtoZNlYFqiu3V4
Content-Type: multipart/mixed; boundary="LSHmlJch2tkdMWvVNCyRR0o4B62lRz9zL";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Jan Beulich <jbeulich@suse.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
Message-ID: <42948041-59a5-e243-ed39-6e2afe3fd1cd@suse.com>
Subject: Re: S3 resume issue in cpufreq ->
 get_cpu_idle_time->vcpu_runstate_get
References: <YRvMy9NgGxYKRcNc@mail-itl>
In-Reply-To: <YRvMy9NgGxYKRcNc@mail-itl>

--LSHmlJch2tkdMWvVNCyRR0o4B62lRz9zL
Content-Type: multipart/mixed;
 boundary="------------7DF220BAF4EF3E854196BDB2"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------7DF220BAF4EF3E854196BDB2
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 17.08.21 16:50, Marek Marczykowski-G=C3=B3recki wrote:
> On Tue, Aug 17, 2021 at 04:04:24PM +0200, Jan Beulich wrote:
>> On 17.08.2021 15:48, Marek Marczykowski-G=C3=B3recki wrote:
>>> On Tue, Aug 17, 2021 at 02:29:20PM +0100, Andrew Cooper wrote:
>>>> On 17/08/2021 14:21, Jan Beulich wrote:
>>>>> On 17.08.2021 15:06, Andrew Cooper wrote:
>>>>>> Perhaps we want the cpu_down() logic to explicitly invalidate thei=
r
>>>>>> lazily cached values?
>>>>> I'd rather do this on the cpu_up() path (no point clobbering what m=
ay
>>>>> get further clobbered, and then perhaps not to a value of our likin=
g),
>>>>> yet then we can really avoid doing this from a notifier and instead=
 do
>>>>> it early enough in xstate_init() (taking care of XSS at the same ti=
me).
>>>
>>> Funny you mention notifiers. Apparently cpufreq driver does use it to=

>>> initialize things. And fails to do so:
>>>
>>> (XEN) Finishing wakeup from ACPI S3 state.
>>> (XEN) CPU0: xstate: size: 0x440 (uncompressed 0x440) and states: 0x1f=

>>> (XEN) Enabling non-boot CPUs  ...
>>> (XEN) CPU1: xstate: size: 0x440 (uncompressed 0x440) and states: 0x1f=

>>> (XEN) ----[ Xen-4.16-unstable  x86_64  debug=3Dy  Not tainted ]----
>>> (XEN) CPU:    0
>>> (XEN) RIP:    e008:[<ffff82d04024ad2b>] vcpu_runstate_get+0x153/0x244=

>>> (XEN) RFLAGS: 0000000000010246   CONTEXT: hypervisor
>>> (XEN) rax: 0000000000000000   rbx: ffff830049667c50   rcx: 0000000000=
000001
>>> (XEN) rdx: 000000321d74d000   rsi: ffff830049667c50   rdi: ffff83025d=
cc0000
>>> (XEN) rbp: ffff830049667c40   rsp: ffff830049667c10   r8:  ffff830205=
11a820
>>> (XEN) r9:  ffff82d04057ef78   r10: 0180000000000000   r11: 8000000000=
000000
>>> (XEN) r12: ffff83025dcc0000   r13: ffff830205118c60   r14: 0000000000=
000001
>>> (XEN) r15: 0000000000000010   cr0: 000000008005003b   cr4: 0000000000=
3526e0
>>> (XEN) cr3: 0000000049656000   cr2: 0000000000000028
>>> (XEN) fsb: 0000000000000000   gsb: 0000000000000000   gss: 0000000000=
000000
>>> (XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: 0000   cs: e008=

>>> (XEN) Xen code around <ffff82d04024ad2b> (vcpu_runstate_get+0x153/0x2=
44):
>>> (XEN)  48 8b 14 ca 48 8b 04 02 <4c> 8b 70 28 e9 01 ff ff ff 4c 8d 3d =
dd 64 32 00
>>> (XEN) Xen stack trace from rsp=3Dffff830049667c10:
>>> (XEN)    0000000000000180 ffff83025dcbd410 ffff83020511bf30 ffff83020=
5118c60
>>> (XEN)    0000000000000001 0000000000000010 ffff830049667c80 ffff82d04=
024ae73
>>> (XEN)    0000000000000000 0000000000000000 0000000000000000 000000000=
0000000
>>> (XEN)    0000000000000000 0000000000000000 ffff830049667cb8 ffff82d04=
02560a9
>>> (XEN)    ffff830205118320 0000000000000001 ffff83020511bf30 ffff83025=
dc7a6f0
>>> (XEN)    0000000000000000 ffff830049667d58 ffff82d040254cb1 000000014=
02e9f74
>>> (XEN)    0000000000000000 ffff830049667d10 ffff82d040224eda 000000000=
025dc81
>>> (XEN)    000000321d74d000 ffff82d040571278 0000000000000001 ffff83004=
9667d28
>>> (XEN)    ffff82d040228b44 ffff82d0403102cf 0000000000000000 ffff82d04=
02283a4
>>> (XEN)    ffff82d040459688 ffff82d040459680 ffff82d040459240 000000000=
0000004
>>> (XEN)    0000000000000000 ffff830049667d68 ffff82d04025510e ffff83004=
9667db0
>>> (XEN)    ffff82d040221ba4 0000000000000000 0000000000000001 000000000=
0000001
>>> (XEN)    0000000000000000 ffff830049667e00 0000000000000001 ffff82d04=
058a5c0
>>> (XEN)    ffff830049667dc8 ffff82d040203867 0000000000000001 ffff83004=
9667df0
>>> (XEN)    ffff82d040203c51 ffff82d040459400 0000000000000001 000000000=
0000010
>>> (XEN)    ffff830049667e20 ffff82d040203e26 ffff830049667ef8 000000000=
0000000
>>> (XEN)    0000000000000003 0000000000000200 ffff830049667e50 ffff82d04=
0270bac
>>> (XEN)    ffff83020116a640 ffff830258ff6000 0000000000000000 000000000=
0000000
>>> (XEN)    ffff830049667e70 ffff82d0402056aa ffff830258ff61b8 ffff82d04=
05701b0
>>> (XEN)    ffff830049667e88 ffff82d04022963c ffff82d0405701a0 ffff83004=
9667eb8
>>> (XEN) Xen call trace:
>>> (XEN)    [<ffff82d04024ad2b>] R vcpu_runstate_get+0x153/0x244
>=20
> This is xen/common/sched/core.c:322. get_sched_res(v->processor) is
> NULL at this point for CPU1.
>=20
> The only place that can calls set_sched_res() and doesn't expect the
> previous value to be valid, is cpu_schedule_up(). For non-BSP its calle=
d
> _only_ from notifier at CPU_UP_PREPARE (cpu_schedule_callback()), but
> that notifier explicitly exclude suspend/resume case:
>=20
>      static int cpu_schedule_callback(
>          struct notifier_block *nfb, unsigned long action, void *hcpu)
>      {
>          unsigned int cpu =3D (unsigned long)hcpu;
>          int rc =3D 0;
>=20
>          /*
>           * All scheduler related suspend/resume handling needed is don=
e in
>           * cpupool.c.
>           */
>          if ( system_state > SYS_STATE_active )
>              return NOTIFY_DONE;
>=20
> But, nothing in cpupool.c is calling into set_sched_res().
>=20
> On the other hand, sched_rm_cpu() (which I believe is called as part of=

> parking the CPU) calls cpu_schedule_down(), which then calls
> set_sched_res(cpu, NULL).
>=20
> In short: scheduler for parked CPUs is not re-initialized during resume=
=2E
> But cpufreq expects it to be...

I'll be looking into that.


Juergen

--------------7DF220BAF4EF3E854196BDB2
Content-Type: application/pgp-keys;
 name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Transfer-Encoding: quoted-printable
Content-Description: OpenPGP public key
Content-Disposition: attachment;
 filename="OpenPGP_0xB0DE9DD628BF132F.asc"

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOBy=
cWx
w3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJvedYm8O=
f8Z
d621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y=
9bf
IhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xq=
G7/
377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR=
3Jv
c3MgPGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsEFgIDA=
QIe
AQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4FUGNQH2lvWAUy+dnyT=
hpw
dtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3TyevpB0CA3dbBQp0OW0fgCetToGIQrg0=
MbD
1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbv=
oPH
Z8SlM4KWm8rG+lIkGurqqu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v=
5QL
+qHI3EIPtyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVyZ=
2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJCAcDAgEGFQgCC=
QoL
BBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4RF7HoZhPVPogNVbC4YA6lW7Dr=
Wf0
teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz78X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC=
/nu
AFVGy+67q2DH8As3KPu0344TBDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0Lh=
ITT
d9jLzdDad1pQSToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLm=
XBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkMnQfvUewRz=
80h
SnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMBAgAjBQJTjHDXAhsDBwsJC=
AcD
AgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJn=
FOX
gMLdBQgBlVPO3/D9R8LtF9DBAFPNhlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1=
jnD
kfJZr6jrbjgyoZHiw/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0=
N51
N5JfVRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwPOoE+l=
otu
fe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK/1xMI3/+8jbO0tsn1=
tqS
EUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuZGU+wsB5BBMBAgAjBQJTjHDrA=
hsD
BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3=
g3O
ZUEBmDHVVbqMtzwlmNC4k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5=
dM7
wRqzgJpJwK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu5=
D+j
LRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzBTNh30FVKK1Evm=
V2x
AKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37IoN1EblHI//x/e2AaIHpzK5h88N=
Eaw
QsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpW=
nHI
s98ndPUDpnoxWQugJ6MpMncr0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZR=
wgn
BC5mVM6JjQ5xDk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNV=
bVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mmwe0icXKLk=
pEd
IXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0Iv3OOImwTEe4co3c1mwARA=
QAB
wsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMvQ/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEw=
Tbe
8YFsw2V/Buv6Z4Mysln3nQK5ZadD534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1=
vJz
Q1fOU8lYFpZXTXIHb+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8=
VGi
wXvTyJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqcsuylW=
svi
uGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5BjR/i1DG86lem3iBDX=
zXs
ZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------7DF220BAF4EF3E854196BDB2--

--LSHmlJch2tkdMWvVNCyRR0o4B62lRz9zL--

--JWBSpzCrT1wyTGpAB93gtoZNlYFqiu3V4
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmEb0ooFAwAAAAAACgkQsN6d1ii/Ey80
jAf/V4AamdAJwhAH6tY9474jK1benQSJyGajf0dmzbEEQjK25vLbHLW5FqtVcmgrJyTxIXHWrU1I
VCtjq20oT/oZ40KkrYgKC0GP0fOvdpy6IU90Qrkx3Ok4Ilisy537H/aSRXdNjBvPJk60OpOWeXWa
9mkAc6jyHRWDaqSfCgPqUfz4CF2GK2flvSP1Ncb638P1gaK2s4rOymTPachWzAXBXggkkUgRpBIa
ViSXp/t+LdZEhfl4lPGHyT8cbjWVwq7I/AvckgPY+6SZm0t2ttON5h6LE2lERYMdEiFPYeaYCGQI
cuHCp8Kl5GdIvZRrf2OInc7MfhadbDn1vGYIHozDoA==
=gUT6
-----END PGP SIGNATURE-----

--JWBSpzCrT1wyTGpAB93gtoZNlYFqiu3V4--


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 15:19:23 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 15:19:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167960.306639 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mG0s1-0006ae-Kh; Tue, 17 Aug 2021 15:19:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167960.306639; Tue, 17 Aug 2021 15:19: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 1mG0s1-0006aX-Hn; Tue, 17 Aug 2021 15:19:17 +0000
Received: by outflank-mailman (input) for mailman id 167960;
 Tue, 17 Aug 2021 15:19: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 1mG0s0-0006aN-AJ; Tue, 17 Aug 2021 15:19: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 1mG0s0-0008R5-4I; Tue, 17 Aug 2021 15:19: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 1mG0rz-000500-Or; Tue, 17 Aug 2021 15:19:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mG0rz-0007RY-O8; Tue, 17 Aug 2021 15:19: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=jfo4CEEXIwnI4S30h41AyBdEb35KZSSlipWIRf0Sw5A=; b=aEWDOZvygGDTgAiaJXq8ntPWng
	TANlQOnQWPJooqfGm+nXZiuxKYEsDCIqu9ZwY0kMGgM4dnIycgjkaPrqJijhErRdPS+inEiR0xXR2
	UakKfu0HwKN1VGypbYuhA7zqbhLkzmM1IA5+n2GEtfIZqV58eLw0ZzpvZEiVoWPsMeT4=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164219-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 164219: regressions - trouble: blocked/broken/fail/pass
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-xl-arndale:<job status>:broken:regression
    xen-unstable:test-armhf-armhf-examine:host-install:broken:regression
    xen-unstable:test-armhf-armhf-xl-arndale:host-install(5):broken:regression
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:regression
    xen-unstable:test-amd64-amd64-amd64-pvgrub:debian-di-install:fail:regression
    xen-unstable:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:regression
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start: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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=274c5e79c792ce0331d0d8cd9a01545dea5a48fd
X-Osstest-Versions-That:
    xen=5a88d524857e5bf78b077d30ea515fcaac061bfc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 17 Aug 2021 15:19:15 +0000

flight 164219 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164219/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl-arndale     <job status>                 broken
 test-armhf-armhf-examine      5 host-install           broken REGR. vs. 164178
 test-armhf-armhf-xl-arndale   5 host-install(5)        broken REGR. vs. 164178
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 164178
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install       fail REGR. vs. 164178
 test-amd64-amd64-i386-pvgrub 12 debian-di-install        fail REGR. vs. 164178

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 164178
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164178
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164178
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 164178
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 164178
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 164178
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164178
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164178
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164178
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-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-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-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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 xen                  274c5e79c792ce0331d0d8cd9a01545dea5a48fd
baseline version:
 xen                  5a88d524857e5bf78b077d30ea515fcaac061bfc

Last test of basis   164178  2021-08-13 10:47:20 Z    4 days
Failing since        164182  2021-08-14 00:39:12 Z    3 days    6 attempts
Testing same since   164219  2021-08-16 23:08:03 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jane Malalane <jane.malalane@citrix.com>
  Kevin Stefanov <kevin.stefanov@citrix.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  broken  
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     fail    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-armhf-armhf-xl-arndale broken
broken-step test-armhf-armhf-examine host-install
broken-step test-armhf-armhf-xl-arndale host-install(5)

Not pushing.

------------------------------------------------------------
commit 274c5e79c792ce0331d0d8cd9a01545dea5a48fd
Author: Kevin Stefanov <kevin.stefanov@citrix.com>
Date:   Mon Aug 16 15:16:56 2021 +0200

    x86/ioapic: remove use of TRUE/FALSE/1/0
    
    Also fix stray usage in VT-d.
    
    Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Kevin Stefanov <kevin.stefanov@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit 2e5512d1ffd2e720f25c376df12db8a914117589
Author: Jane Malalane <jane.malalane@citrix.com>
Date:   Mon Aug 16 15:16:20 2021 +0200

    x86/pv: provide more helpful error when CONFIG_PV32 is absent
    
    Currently, when booting a 32bit dom0 kernel, the message isn't very
    helpful:
    
      (XEN)  Xen  kernel: 64-bit, lsb
      (XEN)  Dom0 kernel: 32-bit, PAE, lsb, paddr 0x100000 -> 0x112000
      (XEN) Mismatch between Xen and DOM0 kernel
      (XEN)
      (XEN) ****************************************
      (XEN) Panic on CPU 0:
      (XEN) Could not construct domain 0
      (XEN) ****************************************
    
    With this adjustment, it now looks like this:
    
      (XEN)  Xen  kernel: 64-bit, lsb
      (XEN) Found 32-bit PV kernel, but CONFIG_PV32 missing
      (XEN)
      (XEN) ****************************************
      (XEN) Panic on CPU 0:
      (XEN) Could not construct domain 0
      (XEN) ****************************************
    
    Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Jane Malalane <jane.malalane@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit c53aa9e655e7c615283e9e9637376c2b865e9dae
Author: Jane Malalane <jane.malalane@citrix.com>
Date:   Mon Aug 16 15:15:43 2021 +0200

    x86/pv: remove unnecessary use of goto out in construct_dom0()
    
    elf_check_broken() only needs to be invoked after elf_xen_parse() and
    after elf_load_binary().
    
    Suggested-by: Jan Beulich <jbeulich@suse.com>
    Signed-off-by: Jane Malalane <jane.malalane@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit 60a9d8d2fc9c4a524c7342499580a88aaa3a2b55
Author: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Date:   Mon Aug 16 15:14:37 2021 +0200

    ns16550: do not override fifo size if explicitly set
    
    If fifo size is already set via uart_params, do not force it to 16 - which
    may not match the actual hardware. Specifically Exar cards have fifo of
    256 bytes.
    
    Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit 5c34b9af05b9e5abd25d88efc4fb783136547810
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Aug 13 16:50:09 2021 +0200

    libxc: simplify HYPERCALL_BUFFER()
    
    _hcbuf_buf1 has been there only for a pointer comparison to validate
    type compatibility. The same can be achieved by not using typeof() on
    the definition of what so far was _hcbuf_buf2, as the initializer has
    to also be type-compatible. Drop _hcbuf_buf1 and the comaprison;
    rename _hcbuf_buf2.
    
    Since we're already using compiler extensions here, don't be shy and
    also omit the middle operand of the involved ?: operator.
    
    Bring line continuation character placement in line with that of
    related macros.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit e241d15f1c8a8a02baa401af857393f9ada5aeb3
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Aug 13 16:49:46 2021 +0200

    libxenguest: fix off-by-1 in colo-secondary-bitmap merging
    
    Valid GFNs (having a representation in the dirty bitmap) need to be
    strictly below p2m_size.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 1a838bf72584788310496ba5f3d865457c80727f
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Aug 13 16:49:10 2021 +0200

    libxenguest: complete loops in xc_map_domain_meminfo()
    
    minfo->p2m_size may have more than 31 significant bits. Change the
    induction variable to unsigned long, and (largely for signed-ness
    consistency) a helper variable to unsigned int. While there also avoid
    open-coding min().
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 15:22:16 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 15:22:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167967.306654 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mG0uq-00083c-Ab; Tue, 17 Aug 2021 15:22:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167967.306654; Tue, 17 Aug 2021 15:22: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 1mG0uq-00083V-7L; Tue, 17 Aug 2021 15:22:12 +0000
Received: by outflank-mailman (input) for mailman id 167967;
 Tue, 17 Aug 2021 15:22:10 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=6Pxr=NI=citrix.com=Jane.Malalane@srs-us1.protection.inumbo.net>)
 id 1mG0uo-00083H-GW
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 15:22:10 +0000
Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 604c8f7d-5024-4711-b71a-28c620c49a9e;
 Tue, 17 Aug 2021 15:22: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: 604c8f7d-5024-4711-b71a-28c620c49a9e
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629213729;
  h=from:to:cc:subject:date:message-id:mime-version;
  bh=TY0qismOk1WtVVSMXWeyaUUstM67+EHkiHh7oNQ0olg=;
  b=J260tM1WOdr8ZScGekElFS1ZZtJNr11cw7rVlXYNSUuw81wODbXvtHrP
   z8Qd77kIb7U759+aLq+FtsT/xlcdolEEUTb2Etd78GZvZEUfFMHg47jKC
   kLA3MZYaYWuZUlS1Y0bvDNpJbTSm3cCuP6A50C4v8uJbLbfkmO5RyAt3i
   Y=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: xjW3u0gF7PP+I0m3LAQkvSQyKUu32M7NAKTvPnRw3IKwkG4BsbspjsMdn/voJ1GJyhelgFebFY
 pfounqrlRfD24PGH4zP9xkedgFedyLFbiNHy8a00tQaBFnI/0pHsvWqmfk5bThke84zpB4fLoK
 6qW04RRjxe+vwpWgDCYWZsKe9W3RJaXcHiCAgn1/VQPVT7N8BSiU9YzOtLnrCimyl+bB1+lC4C
 VwqK2H+vvxWhfbMWAJsQo617IIlJ/kXPI7fU+T5JgDVMUr0YdvNYGe7OL+TMqJNOHHMyJkyP+n
 PkaKZPSjtiCaW7QyUV4kzq46
X-SBRS: 5.1
X-MesageID: 50650082
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:cvk4HanDMkZI9fMNuIRNWXQ5fV7pDfI63DAbv31ZSRFFG/Fxl6
 iV8sjztCWE7wr5N0tBpTntAsW9qBDnhPpICOsqTNSftWDd0QPCRuxfBOPZsljd8kbFl9K1u5
 0OT0EHMqyTMWRH
X-IronPort-AV: E=Sophos;i="5.84,329,1620705600"; 
   d="scan'208";a="50650082"
From: Jane Malalane <jane.malalane@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Jane Malalane <jane.malalane@citrix.com>, Ian Jackson
	<iwj@xenproject.org>, Wei Liu <wl@xen.org>, Juergen Gross <jgross@suse.com>
Subject: [PATCH] libs/guest: Move the guest ABI check earlier into xc_dom_parse_image()
Date: Tue, 17 Aug 2021 16:19:24 +0100
Message-ID: <20210817151924.6674-1-jane.malalane@citrix.com>
X-Mailer: git-send-email 2.11.0
MIME-Version: 1.0
Content-Type: text/plain

Xen may not support 32-bit PV guest for a number of reasons (lack of
CONFIG_PV32, explicit pv=no-32 command line argument, or implicitly
due to CET being enabled) and advertises this to the toolstack via the
absence of xen-3.0-x86_32p ABI.

Currently, when trying to boot a 32-bit PV guest, the ABI check is too
late and the build explodes in the following manner yielding an
unhelpful error message:

  xc: error: panic: xg_dom_boot.c:121: xc_dom_boot_mem_init: can't allocate low memory for domain: Out of memory
  libxl: error: libxl_dom.c:586:libxl__build_dom: xc_dom_boot_mem_init failed: Operation not supported
  libxl: error: libxl_create.c:1573:domcreate_rebuild_done: Domain 1:cannot (re-)build domain: -3
  libxl: error: libxl_domain.c:1182:libxl__destroy_domid: Domain 1:Non-existant domain
  libxl: error: libxl_domain.c:1136:domain_destroy_callback: Domain 1:Unable to destroy guest
  libxl: error: libxl_domain.c:1063:domain_destroy_cb: Domain 1:Destruction of domain failed

Move the ABI check earlier into xc_dom_parse_image() along with other
ELF-note feature checks.  With this adjustment, it now looks like
this:

  xc: error: panic: xg_dom_boot.c:88: xc_dom_compat_check: guest type xen-3.0-x86_32p not supported by xen kernel, sorry: Invalid kernel
  libxl: error: libxl_dom.c:571:libxl__build_dom: xc_dom_parse_image failed
  domainbuilder: detail: xc_dom_release: called
  libxl: error: libxl_create.c:1573:domcreate_rebuild_done: Domain 11:cannot (re-)build domain: -3
  libxl: error: libxl_domain.c:1182:libxl__destroy_domid: Domain 11:Non-existant domain
  libxl: error: libxl_domain.c:1136:domain_destroy_callback: Domain 11:Unable to destroy guest
  libxl: error: libxl_domain.c:1063:domain_destroy_cb: Domain 11:Destruction of domain failed

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jane Malalane <jane.malalane@citrix.com>
---
CC: Ian Jackson <iwj@xenproject.org>
CC: Wei Liu <wl@xen.org>
CC: Juergen Gross <jgross@suse.com>
---
 tools/libs/guest/xg_dom_boot.c | 4 ----
 tools/libs/guest/xg_dom_core.c | 4 ++++
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/tools/libs/guest/xg_dom_boot.c b/tools/libs/guest/xg_dom_boot.c
index dac96b17a5..f809dcbe97 100644
--- a/tools/libs/guest/xg_dom_boot.c
+++ b/tools/libs/guest/xg_dom_boot.c
@@ -191,10 +191,6 @@ int xc_dom_boot_image(struct xc_dom_image *dom)
     }
     dom->shared_info_mfn = info.shared_info_frame;
 
-    /* sanity checks */
-    if ( !xc_dom_compat_check(dom) )
-        return -1;
-
     /* initial mm setup */
     if ( dom->arch_hooks->setup_pgtables &&
          (rc = dom->arch_hooks->setup_pgtables(dom)) != 0 )
diff --git a/tools/libs/guest/xg_dom_core.c b/tools/libs/guest/xg_dom_core.c
index 4918ee517b..2e4c1330ea 100644
--- a/tools/libs/guest/xg_dom_core.c
+++ b/tools/libs/guest/xg_dom_core.c
@@ -922,6 +922,10 @@ int xc_dom_parse_image(struct xc_dom_image *dom)
         goto err;
     }
 
+    /* Check guest ABI */
+    if ( !xc_dom_compat_check(dom) )
+        return -1;
+
     /* check features */
     for ( i = 0; i < XENFEAT_NR_SUBMAPS; i++ )
     {
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Tue Aug 17 15:36:47 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 15:36:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167971.306664 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mG18r-0001AR-Jh; Tue, 17 Aug 2021 15:36:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167971.306664; Tue, 17 Aug 2021 15:36:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mG18r-0001AK-Gk; Tue, 17 Aug 2021 15:36:41 +0000
Received: by outflank-mailman (input) for mailman id 167971;
 Tue, 17 Aug 2021 15:36:40 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qw5p=NI=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mG18p-0001AE-VH
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 15:36:40 +0000
Received: from mail-pj1-x1034.google.com (unknown [2607:f8b0:4864:20::1034])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 76308dd9-c3fe-4f68-9769-0bef96ebe5f5;
 Tue, 17 Aug 2021 15:36:38 +0000 (UTC)
Received: by mail-pj1-x1034.google.com with SMTP id
 qe12-20020a17090b4f8c00b00179321cbae7so6966452pjb.2
 for <xen-devel@lists.xenproject.org>; Tue, 17 Aug 2021 08:36:38 -0700 (PDT)
Received: from ?IPv6:2404:f801:0:5:8000::50b? ([2404:f801:9000:18:efec::50b])
 by smtp.gmail.com with ESMTPSA id
 q68sm3828407pgq.5.2021.08.17.08.36.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 17 Aug 2021 08:36: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: 76308dd9-c3fe-4f68-9769-0bef96ebe5f5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=jBb72hVOoT632QaKCIWdx6/CC01Jwh36ZqbBo7qR29w=;
        b=MZ87ScQaeTXUx2zc3QJX8paFfZdkSVdSMUYc0v0LY2+hc8AhlF3aqwldmB/BXXfh/z
         xVUkX3EuT93f+Ekid/9wOV8vd4VGMuUzHWRKeiBzsSym+hW8V3hELzVo+u+KhQB9PaFI
         yKaN6w7ws4iHi95okxDvcvyCJdiEqWiExOJPn7Rtxomj/p9ErurP79QsKnpF40UWedHY
         wXhiv+BXDH0p6Ybpa+matnVITHtpuG4LstcJLEA+MFTvG9pqsO1LvATqA0RHijA20GDK
         RCmlz/5mC+apSlI/jvD+4R9BoBCU6SvqrbqxGY696R6zje19Bg6nqx+tPpa86481eswl
         CE+w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=jBb72hVOoT632QaKCIWdx6/CC01Jwh36ZqbBo7qR29w=;
        b=ngv2pMGj5pmQcHrvxNkYsAcM2CXNjbsN2QbOom1uNgTGFh/shZaZFx8+UXLSN7ADgq
         oFqvPVo0OkeZseHmbHC/6BXG0MITMD6jNa9bJY33N0Rn3kKs0Pjn2T/LIiFIpWXPZFoY
         /VNBPYeasIMeVQyfOriCQ10qRxeS9q81+ITL2tQZvAkra8NnRYV/qa1iME0zC+xA75a2
         nB/MjBIDEw7iIIG0FI/V57/CTzY2ydcdAxN21iwyphI6qOttFW6a4NXxPvUhsO1sKXca
         f31ZTXfbn3GFCfgK5od/qAp7DwHVomPECdf7lfzbOPJoi8ttGzRbHabLQYgkxYQaNPFc
         iG9w==
X-Gm-Message-State: AOAM531zbHepApqWmvS8bkiOZAyyFSfN6ruKNSV3lKj9FgdV1aEyKVRF
	WqdvLiTvNbqjm65H37fw4ms=
X-Google-Smtp-Source: ABdhPJyI43P3qYYJRg0q+cd32Cif7a9Xl5o4vVONB3bqiCMyd2bKoq7nZrIha1ZM+VxRpd1t2YLiqw==
X-Received: by 2002:a17:903:31c3:b029:ed:6f74:49c7 with SMTP id v3-20020a17090331c3b02900ed6f7449c7mr3321877ple.12.1629214598127;
        Tue, 17 Aug 2021 08:36:38 -0700 (PDT)
Subject: Re: [PATCH V3 08/13] HV/Vmbus: Initialize VMbus ring buffer for
 Isolation VM
To: Michael Kelley <mikelley@microsoft.com>, KY Srinivasan
 <kys@microsoft.com>, Haiyang Zhang <haiyangz@microsoft.com>,
 Stephen Hemminger <sthemmin@microsoft.com>,
 "wei.liu@kernel.org" <wei.liu@kernel.org>, Dexuan Cui <decui@microsoft.com>,
 "tglx@linutronix.de" <tglx@linutronix.de>,
 "mingo@redhat.com" <mingo@redhat.com>, "bp@alien8.de" <bp@alien8.de>,
 "x86@kernel.org" <x86@kernel.org>, "hpa@zytor.com" <hpa@zytor.com>,
 "dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
 "luto@kernel.org" <luto@kernel.org>,
 "peterz@infradead.org" <peterz@infradead.org>,
 "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
 "boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>,
 "jgross@suse.com" <jgross@suse.com>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>,
 "joro@8bytes.org" <joro@8bytes.org>, "will@kernel.org" <will@kernel.org>,
 "davem@davemloft.net" <davem@davemloft.net>,
 "kuba@kernel.org" <kuba@kernel.org>, "jejb@linux.ibm.com"
 <jejb@linux.ibm.com>, "martin.petersen@oracle.com"
 <martin.petersen@oracle.com>, "arnd@arndb.de" <arnd@arndb.de>,
 "hch@lst.de" <hch@lst.de>,
 "m.szyprowski@samsung.com" <m.szyprowski@samsung.com>,
 "robin.murphy@arm.com" <robin.murphy@arm.com>,
 "thomas.lendacky@amd.com" <thomas.lendacky@amd.com>,
 "brijesh.singh@amd.com" <brijesh.singh@amd.com>,
 "ardb@kernel.org" <ardb@kernel.org>, Tianyu Lan <Tianyu.Lan@microsoft.com>,
 "pgonda@google.com" <pgonda@google.com>,
 "martin.b.radev@gmail.com" <martin.b.radev@gmail.com>,
 "akpm@linux-foundation.org" <akpm@linux-foundation.org>,
 "kirill.shutemov@linux.intel.com" <kirill.shutemov@linux.intel.com>,
 "rppt@kernel.org" <rppt@kernel.org>,
 "sfr@canb.auug.org.au" <sfr@canb.auug.org.au>,
 "saravanand@fb.com" <saravanand@fb.com>,
 "krish.sadhukhan@oracle.com" <krish.sadhukhan@oracle.com>,
 "aneesh.kumar@linux.ibm.com" <aneesh.kumar@linux.ibm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "rientjes@google.com" <rientjes@google.com>,
 "hannes@cmpxchg.org" <hannes@cmpxchg.org>, "tj@kernel.org" <tj@kernel.org>
Cc: "iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org>,
 "linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
 "linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
 "linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
 "netdev@vger.kernel.org" <netdev@vger.kernel.org>,
 vkuznets <vkuznets@redhat.com>,
 "parri.andrea@gmail.com" <parri.andrea@gmail.com>,
 "dave.hansen@intel.com" <dave.hansen@intel.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-9-ltykernel@gmail.com>
 <MWHPR21MB1593FFD7F3402753751F433CD7FD9@MWHPR21MB1593.namprd21.prod.outlook.com>
From: Tianyu Lan <ltykernel@gmail.com>
Message-ID: <9de7c3ae-8f3f-3fc4-0491-b9df24f03cb6@gmail.com>
Date: Tue, 17 Aug 2021 23:36:22 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <MWHPR21MB1593FFD7F3402753751F433CD7FD9@MWHPR21MB1593.namprd21.prod.outlook.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit



On 8/17/2021 1:28 AM, Michael Kelley wrote:
> This patch does the following:
> 
> 1) The existing ring buffer wrap-around mapping functionality is still
> executed in hv_ringbuffer_init() when not doing SNP isolation.
> This mapping is based on an array of struct page's that describe the
> contiguous physical memory.
> 
> 2) New ring buffer wrap-around mapping functionality is added in
> hv_ringbuffer_post_init() for the SNP isolation case.  The case is
> handled in hv_ringbuffer_post_init() because it must be done after
> the GPADL is established, since that's where the host visibility
> is set.  What's interesting is that this case is exactly the same
> as #1 above, except that the mapping is based on physical
> memory addresses instead of struct page's.  We have to use physical
> addresses because of applying the GPA boundary, and there are no
> struct page's for those physical addresses.
> 
> Unfortunately, this duplicates a lot of logic in #1 and #2, except
> for the struct page vs. physical address difference.
> 
> Proposal:  Couldn't we always do #2, even for the normal case
> where SNP isolation is not being used?   The difference would
> only be in whether the GPA boundary is added.  And it looks like
> the normal case could be done after the GPADL is established,
> as setting up the GPADL doesn't have any dependencies on
> having the ring buffer mapped.  This approach would remove
> a lot of duplication.  Just move the calls to hv_ringbuffer_init()
> to after the GPADL is established, and do all the work there for
> both cases.
> 

Hi Michael:
     Thanks for suggestion. I just keep the original logic in current
code. I will try combining these two functions and report back.

Thanks.


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 16:34:36 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 16:34:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167976.306676 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mG22f-0007gg-25; Tue, 17 Aug 2021 16:34:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167976.306676; Tue, 17 Aug 2021 16:34:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mG22e-0007gZ-V5; Tue, 17 Aug 2021 16:34:20 +0000
Received: by outflank-mailman (input) for mailman id 167976;
 Tue, 17 Aug 2021 16:34: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 1mG22d-0007gP-Jd; Tue, 17 Aug 2021 16:34: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 1mG22d-0001pG-79; Tue, 17 Aug 2021 16:34: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 1mG22c-0000zx-TH; Tue, 17 Aug 2021 16:34:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mG22c-0000Mk-Sm; Tue, 17 Aug 2021 16:34:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=xYqXRtWCbt5YqkztXztYRhyGVq7TRG5cXeA+5c6kRbQ=; b=vAFUQ0ZJZPYaj9U237AL23hfUV
	Kq8++2gGMuw6kpxHJHJjxsZrNNE41OrN6fpU6A/MCx9ru/T8hwRXO/p6+YPcAiYXJJjjrl0vnsjOx
	OeTMruwVQ9dfaASwRyegLT14zNRzgmrj5MpAzOLY5uuUeqefKVO/1cljJWFP83iuAVZo=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164228-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 164228: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=54c9736382e0d558a6acd820e44185e020131c48
X-Osstest-Versions-That:
    xen=274c5e79c792ce0331d0d8cd9a01545dea5a48fd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 17 Aug 2021 16:34:18 +0000

flight 164228 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164228/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  54c9736382e0d558a6acd820e44185e020131c48
baseline version:
 xen                  274c5e79c792ce0331d0d8cd9a01545dea5a48fd

Last test of basis   164206  2021-08-16 14:01:35 Z    1 days
Failing since        164207  2021-08-16 17:01:34 Z    0 days    6 attempts
Testing same since   164228  2021-08-17 13:02:13 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>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   274c5e79c7..54c9736382  54c9736382e0d558a6acd820e44185e020131c48 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 17:21:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 17:21:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167982.306690 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mG2me-0004Gj-Nq; Tue, 17 Aug 2021 17:21:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167982.306690; Tue, 17 Aug 2021 17:21:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mG2me-0004Gc-Km; Tue, 17 Aug 2021 17:21:52 +0000
Received: by outflank-mailman (input) for mailman id 167982;
 Tue, 17 Aug 2021 17:21: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 1mG2md-0004GW-8z
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 17:21: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 1mG2md-0002f9-04; Tue, 17 Aug 2021 17:21:51 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mG2mc-0002JL-Pg; Tue, 17 Aug 2021 17:21:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=2JZdPGyyh5CI5AK4ag3uWk7fkcVlcYLk1ASCgdhk11g=; b=t3vQuPHXXZvfejSzNdLvBMrYJX
	oOEdGPawo0Y+2k6SfCboe6P04NhAUJOe14h55XouClLES7TmBBlE5WQ7/qY+zcdLucxmcTQoORHo1
	la8uozO0miL3i0+srO+KV9vWSplbHDWv/x25m9sKbF5+rQU1RcGwqDh0DZeLLKPHdkp8=;
Subject: Re: [PATCH] xen/arm: smmu: Set/clear IOMMU domain for device
To: Oleksandr Andrushchenko <andr2000@gmail.com>, sstabellini@kernel.org,
 Volodymyr_Babchuk@epam.com, xen-devel@lists.xenproject.org
Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
References: <20210811130356.1143743-1-andr2000@gmail.com>
From: Julien Grall <julien@xen.org>
Message-ID: <c964783e-73ee-a971-58f2-e2bc4b78a5ff@xen.org>
Date: Tue, 17 Aug 2021 18:21:48 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210811130356.1143743-1-andr2000@gmail.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Oleksandr,

Apologies for the late answer.

On 11/08/2021 14:03, Oleksandr Andrushchenko wrote:
> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> 
> When a device is assigned/de-assigned it is required to properly set
> IOMMU domain used to protect the device. This assignment was missing,
> thus it was not possible to de-assign the device:
> 
> (XEN) Deassigning device 0000:03:00.0 from dom2
> (XEN) smmu: 0000:03:00.0:  not attached to domain 2
> (XEN) d2: deassign (0000:03:00.0) failed (-3)
> 
> Fix this by assigning IOMMU domain on arm_smmu_assign_dev and reset it
> to NULL on arm_smmu_deassign_dev.
I think this was introduced by commit 06d1f7a278dd "xen/arm: smmuv1: 
Keep track of S2CR state". If so, please add:

Fixes: 06d1f7a278dd ("xen/arm: smmuv1: Keep track of S2CR state")

Looking at the commit message, the IOMMU domain used to be set/unset in 
arm_smmu_{attach, detach}_dev() but Linux drop it because they now rely 
in the core IOMMU framework to track the domain.

So I agree with the new position for...

> 
> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> ---
>   xen/drivers/passthrough/arm/smmu.c | 4 ++++
>   1 file changed, 4 insertions(+)
> 
> diff --git a/xen/drivers/passthrough/arm/smmu.c b/xen/drivers/passthrough/arm/smmu.c
> index c234ad9c7f1e..373d9d4d123a 100644
> --- a/xen/drivers/passthrough/arm/smmu.c
> +++ b/xen/drivers/passthrough/arm/smmu.c
> @@ -2768,6 +2768,7 @@ static int arm_smmu_assign_dev(struct domain *d, u8 devfn,
>   			arm_smmu_destroy_iommu_domain(domain);
>   	} else {
>   		atomic_inc(&domain->ref);
> +		dev_iommu_domain(dev) = domain;

... this one. However...

>   	}
>   
>   out:
> @@ -2794,7 +2795,10 @@ static int arm_smmu_deassign_dev(struct domain *d, struct device *dev)
>   	atomic_dec(&domain->ref);
>   
>   	if (domain->ref.counter == 0)
> +	{
>   		arm_smmu_destroy_iommu_domain(domain);
> +		dev_iommu_domain(dev) = NULL;
> +	}

... I think this one is incorrect because you would only unset 
dev_iommu_domain() is the refcount drop to 0. You can have multiple 
device in the same domain, so the ref.counter may not be 0.

So I think this needs to be moved outside of the if. Note that it is 
also a good practice to remove any reference (e.g. set to NULL) before 
freeing even if it doesn't much matter here.

Lastly, the file is using the Linux coding style. So { needs to be on 
the same line as the if.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 17:22:28 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 17:22:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167986.306701 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mG2nE-0004oo-2B; Tue, 17 Aug 2021 17:22:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167986.306701; Tue, 17 Aug 2021 17: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 1mG2nD-0004oh-Te; Tue, 17 Aug 2021 17:22:27 +0000
Received: by outflank-mailman (input) for mailman id 167986;
 Tue, 17 Aug 2021 17:22:27 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cSHW=NI=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mG2nD-0004oV-1S
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 17:22:27 +0000
Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 827b50d6-651f-468d-9a8c-4f60400b05ad;
 Tue, 17 Aug 2021 17:22: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: 827b50d6-651f-468d-9a8c-4f60400b05ad
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629220945;
  h=subject:to:cc:references:from:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=FmJyJnUsRGr1TOh58oMFGKf47AtCL4r9ew5RJrM251U=;
  b=Cq/ijak3qtgah2VCAsJQrkvnreWC8+YMYJ05ZawwyY4KDBtd4pwxvkEe
   Iyq9rwIXy+J4DL8h1t4ZyBWo/zv2ZZpsqG7rndSFDCXE8PUdjIfXF9x4N
   AsMKDlWFhffw8tSW8gYmNUtGti1HsLYOQVO/3Jt9gdv4gBAnRVlDsVltS
   0=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: JjRT9r+MRYH6904uSjMLWWnGAeRTlDJmfch70W5keQPNsaa2QI5o+xyUMP5mI5TU4Jug9WTpTe
 4o0FphhVkkdnUYLXFhnVzKi5+i23NZ6GqWFxFvYvou87HcRx4O21n3GUiIw7NyaXpRAe5NIvf4
 disos8GbtE5bjMuktklsDRVdFLkoWlipkLyVdpdbFNbeUBX5US566TglzKzL5wICYZQ6Eg9/2Q
 pWwL9+MLoD2EeyPEUqQ92jC6mM1zOZdd/qNt52aD6IvSRCF9IVthpSg3jPqs765XbVMxYBYDCa
 iF8mSnbZ/UJyHdQ9WksBpOea
X-SBRS: 5.1
X-MesageID: 50643792
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:QF+AZaxWUeowC49a+XEpKrPxrOskLtp133Aq2lEZdPULSKKlfp
 GV88jziyWZtN9wYhEdcdDpAtjmfZquz+8K3WB3B8bcYOCGghrVEGgG1+rfKlLbalbDH4JmpN
 5dmu1FeaDN5DtB/LXHCWuDYq4dKbC8mcjC74qurAYOPHRXguNbnmFE426gYz1LrWJ9dP8E/f
 Snl656TnabCA4qhpPRPAh1YwGPnayEqLvWJTo9QzI34giHij2lrJb8Dhijxx8bFxdC260r/2
 TpmxHwovzLiYD69jbsk0voq7hGktrozdVOQOSKl8guMz3pziKlfp5oVbGutC085Muv9FEput
 /RpApIBbUz11rhOkWO5Tf90Qjp1zgjr1fk1F+jmHPm5ff0QTorYvAxyL5xQ1/80Q4Nrdt82K
 VE0yayrJxMFy7Nmyz7+pzhSwxqvlDcmwtmrccjy1hkFacOYr5YqoISuGlPFo0bIS784Ic7VM
 FzEcDn4upMe1/yVQGagoBW+q3qYp0PJGbBfqBb0fbligS+3UoJjHfw/fZv2kvpr/kGOsF5D4
 2uCNUbqFlMJvVmJ56VSt1xGvdepwT2MFvx2VmpUCPa/Zc8SjnwQq7MkcEIDd6RCeo1JbsJ6d
 j8uQBjxCEPk3yHM7zH4HQMyGGWfFmA
X-IronPort-AV: E=Sophos;i="5.84,329,1620705600"; 
   d="scan'208";a="50643792"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fAZ52w3l4DNdPZUL61hgbPN+BCssIQXnVmqtzTHmCaylv2ce0rj4EgZo1JsLT/UDvM1B1ZLALn+A0MGFR9Ax4cS3/wiKypUqfhPkbQkM+hUcyTjFHX8m1r6pCOosOavGzdESbo65tGjHUajui7oxX7REqZ7EEdNuOxfiZ81LecCB5T4SgbqfMGa81XGVj7N3YdiAKdsyzydOsT0zQoI4BFWXw3npq0EncB8wEiUKXnobzViJqGo/wzGJfJF0p/MJ4rgV4AkbJh28N6PlmZomJQ3uo8+UReH5yD7BTx9DF8m82VOX+owLyLNv+MXhS0skbhUvt5B7sYt0mnteHSatsg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FmJyJnUsRGr1TOh58oMFGKf47AtCL4r9ew5RJrM251U=;
 b=LaBhXuVNLYXTsxVV8/Yc8qM9uRHIiH2/FmZuzS0KHPH9UbRKAoam3p7MyxjapRzWEs3ojFQXlgtgxw0t+BVHXw/sSR1zkBSehNiHz+d4laUHgfoTBBxU1XfloPpjKU3LCB5vXMrrAq8AEzcamahElfI0UZnPGSMA2xWIw5IFOzSQO0P571dDwDCpenY2wFsrXdSfsCC3di7AOnIXUT+YCid/ByE5Yp8grp00XAIz0P2D1WNbSZ8o78ToMk8ikMtsJbyUEjYwGZLEUZkEPwz7WkpYPLHs8BcKlsJgRyJG3IgD529ceb7JVaiFfapIYPvUD3Bn4JsAgOyKUa5pCZtCRQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FmJyJnUsRGr1TOh58oMFGKf47AtCL4r9ew5RJrM251U=;
 b=cen9zYwW0YgxSU2jHe6gViryxpIn/8zYg6hSGB+eq2vqmjM6jDOTttksLrg+zIEMfTiKGFsR6WBuNTUShwLGEajinRUGDCoRH0Ifh3YN1t2GBVmGwe4v9S9NG+74M9ffJzwRj1nSu0fyi4m3BPFVMk+COtJG0u0ayTYQxkLzBvQ=
Subject: Re: [PATCH v2] x86/PV: suppress unnecessary Dom0 construction output
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: <39b949ad-4052-c577-a726-e1b8fd97f099@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Message-ID: <fe938f1e-c993-5911-64ba-2e7b36f11576@citrix.com>
Date: Tue, 17 Aug 2021 18:22:16 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <39b949ad-4052-c577-a726-e1b8fd97f099@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Content-Language: en-GB
X-ClientProxiedBy: LO4P123CA0157.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:188::18) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a12276fe-2c0a-47cb-0fc6-08d961a392ea
X-MS-TrafficTypeDiagnostic: BYAPR03MB4358:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <BYAPR03MB4358DF2AF706818CF66BE07ABAFE9@BYAPR03MB4358.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:7691;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: Tl6XdDWDpiroQ5jwOG4H2J3eUlhddIQIC6Uyb+67Y/7Bj/k9DLl+R1sro+qBSHlcaqwGBOUGiBlRInuhDhQD0jzuJ6GDIkI/1jCRIvRUegye9vH3YwOGFT1bh0Vj83sVrTbslItOYwv0knPM8xG/XI5shZdYTH0TjeSRDacbM9kGmx5nooGnJ5muUkhSU/jy6ITjZK786sVFEPYRH6WSeDVOEdSyNZOXE35tabuiI12JON2np/y5GsSmfdgXwQEm2kIJgxu7RDiCp9tDyFYYQblL7/LgpWE5XKoog60abK9MEnfOmPwH1CgThid1OICS7VciGTtQuU8NYqXjKTyYi4q0WLe3wPN9Hmr9yNCNgbzuhZ9L450SUTLmL2Acf3MpBb2IfbsKhB60TgJIqZma7w6Aoyb7ig8xVO95awMQWaZe6kK5LifSry689dKWPJwrNGWJv2rW2OtbysKD1+BT6gs24ZXH4+ZM+ujEy8wO2cV3JW3uvDQpbp60g4kU0JWPRJzF2CpGfZJ1jopVu9euG1fhNg+OZtvdkwTcuelyORaDSx2OqqCA+d3V9JDKJjHQtcuvlPmvwxWwLO8BzKuDKv/qyXmVTp3iaeWe/sTesSXblJW/z/HT6Z1wACoHmVQU236If3FZ9W36dHHAZ3JPw4IWQGiMpM5Fs7EEAgobaevnFJQOUpPM5NfwK1gAwx1gNJh2n+F1DzJVEzXlJk+qFK3YWPB0jgd5QCQvKIPVSwg=
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:(4636009)(366004)(110136005)(31696002)(26005)(36756003)(8676002)(186003)(8936002)(31686004)(54906003)(86362001)(956004)(2616005)(53546011)(107886003)(4326008)(2906002)(66556008)(66476007)(4744005)(6666004)(508600001)(38100700002)(66946007)(16576012)(6486002)(316002)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Q1IrZFk3M2xQZFFPelRuSGlZTDNFN1dsbHo3MFJIaFlhNVRzak9FaWlEbEUx?=
 =?utf-8?B?L1hhYXJBMkNGc1RUYWd2U2JpVWZDYjQyMmJEUEwzWTJTaVlaelpYakFJOUtm?=
 =?utf-8?B?cE5IVTdjZWluVGd6bzBuVWpMYnRuMFJhVitLVnZmSFFLNUIzeGVaNnkydkJH?=
 =?utf-8?B?SkVFQml5QjkyT2hSWWhvM0Y0TUlXOXNuaUgwdkVOS2hDbW5TM1Z6RVdnVFNj?=
 =?utf-8?B?THhzV2poVHRHR2lRa3p0Qmxud0ROcW85SlM3SlBreWcyYVZmOVlwaTNkVG9j?=
 =?utf-8?B?MXBSVzlVTm1lL0gyeStMeUk3SmNOdVoxVk54bjZYdUpJYUc0djNCcmhVT0pJ?=
 =?utf-8?B?NWEyM1lqK04wazlqTVFZTS9kYzBzU0J0VmJsLy9nT0ZncFZrM0VudTh1TFB1?=
 =?utf-8?B?ekxuMzlDcm4xMGhyRWQ1S0hKK3NFRWJBcWsrWUhBTWtYZHhYaEJhVkFHREw4?=
 =?utf-8?B?dHhoTXluczB0SlVXNGtESHZVSWdwNmNkZ1lrd1l2OFlPZmxNczExNit0VUt4?=
 =?utf-8?B?WXlRR3RmamRrbWc5d1ZrRGZvYTdIYjgyWGhrU3dSZWZLNVpJbmxWWUs2dHBm?=
 =?utf-8?B?b3hxZEltSnYvNCsrQ1JhY052MHR0RTIxMW9NbXIwOW9vMkFNTXBiOHpPQUc5?=
 =?utf-8?B?YmhDR0kyZWJ6OHN3Q3dPRE5FSlUvOThzdGpSbmFkY0tabml6bCs4bFkvRFhU?=
 =?utf-8?B?OTVjRzNDd1BIYXF4a1dTeExWSXdidTdORHBxWkF1YTdmZjJsNE93MisxYTZv?=
 =?utf-8?B?dGpxY0VqdjJhL1haMHJnQWZSWkVFVkZLUTBrc1NQVkVxZmJQZnJ3TnpOcFhB?=
 =?utf-8?B?MVE1clVTYW5VMlB5TmxWYS9jVmlhNjdxTitHQklnZXpreGV2Q1BPOGtZcjhL?=
 =?utf-8?B?c1E5Y05PbjBaSzZCOU5DVHR3aXh6dzlyS2JNdHhlRGZUU3BWdG53eno3c21z?=
 =?utf-8?B?RzMwcDQrVEo1a1k5ZGdzc1ZRc2U2Q2Z6K3pnb2hVNVZncS9LODN6aEl4RTJo?=
 =?utf-8?B?Z3pUeGdxNUVmZlAzcS9zVTZ1Ri8rZkpoUXdCcExQMVhucXNHb016VXhHWGkw?=
 =?utf-8?B?U0IzZkNjeEUwN1ZRTUJmZFNxSllENndtL1ZZL1Z1NGdsWXEzajNHM2taWTVS?=
 =?utf-8?B?eHhEaHpZWEY4eGo0WW5uUG05cm9NM1ZXSXEwNmRuZzMwU29iSG9DVktrWVg5?=
 =?utf-8?B?WDZodDhEUHd2cHpNN0dLWkJTY0ZHYUkyM2VmWWJKc01MbmRCNnZtYnVWOFYw?=
 =?utf-8?B?REsrSldtTGI4dEVLcFMyblpRNitYcmh3cjB2ZmYzT3gzZkdReFdVQU1mdDFh?=
 =?utf-8?B?K0RlUEh6K2JFYWN6a3A0QlhwdldtdmgyU1BhWHNSYWdoVzg5VnNYTGxCT0pZ?=
 =?utf-8?B?blp5VGFqME0xU3ovaUs4L1VCaUFjdUpCdDZVRlBXVEx1NVkxY3VXd01XSWVi?=
 =?utf-8?B?RlA0dkdDcUNDV0cvUnVjRXZoZklCL0RKRjZKNUdybUFncHBQTXNvRUFmb1dk?=
 =?utf-8?B?NFpPODdlV3lDcWFvdldqZDMxMGQ0aUEyS2d2N0FUNXJTMHM2WTZvT0FMMkNE?=
 =?utf-8?B?dFFGZ21Ta2ZpK2RJMmw4Tm91NGxSR21oRmdnTnlvOUZsUXl1SWh0d0I4dHlx?=
 =?utf-8?B?dlV2bkVNVmZmc2lZbVloWlZQd3d5ckZZSXZ4R3RCWWM1eFl4TmdDa25va2dv?=
 =?utf-8?B?RmNNVCthYVZqNWpvWTJuSXhGQWx2ek4rV2lrZXdXeWxmVHFMdmcxek13aEkr?=
 =?utf-8?Q?Jq+p0mYHisA7IDIbfNadURIWwJsHDmr+GxBajwl?=
X-MS-Exchange-CrossTenant-Network-Message-Id: a12276fe-2c0a-47cb-0fc6-08d961a392ea
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 17:22:22.6369
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0KXnobdkKs350V6T3sUwfmm/LTp1oN7romc4S4DhNUYSn9romg3/ScDs7ylEsiW9PoI2/RVlUeVB+fitfhUWLIsbxuvT38rp5x9bh6+YmKw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB4358
X-OriginatorOrg: citrix.com

On 17/08/2021 15:27, Jan Beulich wrote:
> v{xenstore,console}_{start,end} can only ever be zero in PV shim
> configurations. Similarly reporting just zeros for an unmapped (or
> absent) initrd is not useful. Particularly in case video is the only
> output configured, space is scarce: Split the printk() and omit lines
> carrying no information at all.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> v2: Split printk() and replace / extend #ifdef by if().

Much better, thanks.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 17:26:04 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 17:26:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167993.306712 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mG2qh-0005ae-Lp; Tue, 17 Aug 2021 17:26:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167993.306712; Tue, 17 Aug 2021 17:26:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mG2qh-0005aX-IY; Tue, 17 Aug 2021 17:26:03 +0000
Received: by outflank-mailman (input) for mailman id 167993;
 Tue, 17 Aug 2021 17:26:01 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cSHW=NI=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mG2qf-0005aL-RF
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 17:26:01 +0000
Received: from esa6.hc3370-68.iphmx.com (unknown [216.71.155.175])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 3064814a-ff80-11eb-a4ef-12813bfff9fa;
 Tue, 17 Aug 2021 17:26:00 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3064814a-ff80-11eb-a4ef-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629221160;
  h=subject:to:cc:references:from:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=Zej/fV4HnCgJlVnWLioSvkq17kWekkKf+ab846x5C2I=;
  b=IV3dobTfppgLCO9teGbaSQI2p0X/Kf4PLMy5SzRI8LK7eqgky+X7+2pg
   2BWcNQ0r2ckJfaiQ8GFcGIozksnUnklOQDHuBorkjT6DodFMZLkNG33nK
   m2qQk/vX6RRdFLRG5RiI02lNvj6zDOhhsyLTYxo+0qj4NCdrjHopbjQSr
   8=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: VWUBFo2Ag6XFIldcyF2LChYs5B4VqeHQkGTCUMtKW3Uqj9sNy6i4T/K156ypWd0eCbSRlSSHob
 pxnohSPJv41AjNFOi1yaDLf+nGbv0IwuOv9AXTspmC3R/Nx3k/GQkoykS+urnFKUWgVhXdihcF
 G/BAnVIClcV79T6M3R1PYC317YuUv7bkiBUjBwkPQVzkbBCBMxhQpfecN8eWKaZtTXa+2quDS+
 3FLvDilSlV5WM9uLHRpof6KTS1fT1V8A1YGrnTCAa0M3iqpNGB4o0mvtQZKEzYLay1xGhgrIt7
 QSdTI3JroumPJAmE3DwiLFsR
X-SBRS: 5.1
X-MesageID: 50685926
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:xFEi46OA+j842sBcT0/155DYdb4zR+YMi2TDiHofdfUFSKClfp
 6V8cjztSWUtN4QMEtQ/exoS5PwPk80kqQFnbX5XI3SITUO3VHHEGgM1/qb/9SNIVyZygcZ79
 YbT0EcMqyBMbEZt7eC3ODQKb9Jq7PmgcPY99s2jU0dKj2CA5sQnjuRYTzrcHGeKjM2YKbRWK
 Dsnfau8FGbCAoqh4mAdzY4dtmGg+eOuIPtYBYACRJiwA6SjQmw4Lq/NxSDxB8RXx5G3L9nqA
 H+4k3Ez5Tml8v+5g7X1mfV4ZgTsNz9yuFbDMjJrsQOMD3jhiuheYwkcbyfuzIepv2p9T8R4Z
 fxiiZlG/42x2Laf2mzrxeo8w780Aw243un8lOciWuLm72yeBsKT+56wa5JeBrQ7EQt+Ptm1r
 hQ4m6fv51LSTvdgSXU/bHzJlNXv3vxhUBnvf8YjnRZX4dbQqRWt5Yj8ERcF4pFND7m6bogDP
 JlAKjnlbVrmGuhHjTkV1RUsZuRtixZJGbBfqFCgL3U79FupgE986NCr/Zvx0vpnfkGOup5D+
 etCNUiqFgBdL5PUUrRbN1xN/dfMVa9NS4kBljiaWgPJJt3Tk4llKSHl4ndxNvaNaDgn6FC1K
 gobjtjxCcPkgTVeJaz4KE=
X-IronPort-AV: E=Sophos;i="5.84,329,1620705600"; 
   d="scan'208";a="50685926"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mLrd8SME5hLjsoZNuGyX6NkoWujCs6g44CHMpzPiM87tlaIO6ViQm+HgYRJpncZaPwt2qL2gnbpPfOzHP2W5kBSxbtdTM1eAbfpxZZ57HRmYcsXLADc2ZZNdse10Bz/cTqW+JLPY6h2onthNn+ES7UJZ8mmHgO5CCt1UuXWlwX/m/M1UgQR3foUN8Lf1abqi2wI58/fs648bk1RhmI/8zZ6KA/tiFI8AYUiBfQf8Fk98BQCwKRpaacdVQSkLnAAVUwhrCpZ6E/nMeAhxNKb8dZ/VMMSPKgPUAN0Ri9XGqeGhr6g8riBdRcWEHl3/aOHBWMMSssEaYjLyGeNESKUtuA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Zej/fV4HnCgJlVnWLioSvkq17kWekkKf+ab846x5C2I=;
 b=CcE/QOlWyZ2U4x54eyL6P1RfMStJ7O77FXjMv/0XmmEyjlXerDITYmCFkdEgOzIDGz/nwJiPdAkVecNAcj++8bEGjtmuSVBO0ci1/wGhUsIckH/qvoDEJgVhlzOhch7zVJEd2Xdd+++bkaVGNlm1VGaDEjorXXl7h3ZuG5xaP6pdXb+vVZOQ79OLntLRwRsbsiFjBH22oWgRW/KESJQEaenE7XirdwWl5Zg/JLYA5S84B+KIcac/R5VjyIyElLkgoRvEktxuQnWe7V1cnVnN0Y/g/T5j76NrpqRta9fODkjaXH5bgYz9naOpbdji7TSgXU0bJPHV9KRXrudTl1wvOw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Zej/fV4HnCgJlVnWLioSvkq17kWekkKf+ab846x5C2I=;
 b=fcgcD/r/2P4PkA1uI0+iXyxj9ntSYLFaaN/cwkqcewZh7UNGnGyAWhBsb0YpISrCK8jTEXaKGbiyjD7TxdJo2kitdqPTgG+GgiiqpMQTcxMTfhTOxNJvhZSH1LSdhYjbNDATK7Jny4c7L0wiaw4qYip6X2XQNJJwgy3J5fmQaWg=
Subject: Re: [PATCH v2] x86/PV: assert page state in mark_pv_pt_pages_rdonly()
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: <929e4299-c9b3-0714-3c0a-3c3d1c0c14de@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Message-ID: <85333613-4425-9f27-fd0e-fe4a65e2860a@citrix.com>
Date: Tue, 17 Aug 2021 18:25:33 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <929e4299-c9b3-0714-3c0a-3c3d1c0c14de@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Content-Language: en-GB
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-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 201f3b98-eeee-467e-bf92-08d961a40810
X-MS-TrafficTypeDiagnostic: BYAPR03MB3669:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <BYAPR03MB36699EF5C2FB4F177A2072A7BAFE9@BYAPR03MB3669.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: qgorrM+OCeQRiAa4Aql+RJ/fCvpuJxjiKRPZ67FxUN0LIsqwH7AhnwPhmbOIbPDQbGh6XBdN3owzmX3JGE8SIn8fMjhCy5+G2St6Y/dWHzLk6s45Lgj4hY315b1oYImX24uYRcUEk5F4H0MwC/qgkupJkUj2/aYLBG7bVqAhzXct244s2gHRA85ZyCWlAfw8wO4WUrtZl3t2lg33wlBFNFNAoge4rroqYIxRyWC5tIDxTo6KVqRYLiu/XuHCIEfjZba/hG01fSwxwGsXGpLnvGfO6gzUE/iy8/o5tEWQ12B4MMPFde6vizdN5RK4srtQEKzEFLTleKw7o0qKDP4ClBjyFGGT3qFWiNdLapkirRq2EmRYqgAPkERGc0b1SqFLyo7ro20OSuH16Gb57yiXRXmN/6ZTj0ZG9Keb3wSmHbiJZZz3UlmC78I1zQVFzfYnPzej59rDlzKj7fkCs4AQ2PQmOiCmx6yeJZIL60DAoLyzzbJcEPCGFIOL4Y2QmPQnhjdiZ9s281ZNd1GzaDkerQ8hscp+oWfsBlcUkkjMI4x1CUgpS1eFdrnmENcGwlC3PJTO5zke8RNjH8kVb5WlVLIVsRvF4qxSprqHqaSwNpaN+2ojgT3qkAGComxzrtozI0iF3PpRJQHa+2Du7FHg/kH4l8yxUKpziK1ZSpAVzXYLz4Y531ZRLkliRGuOYCH7y4mthOSy1WEdS3M3RPtLJswR7YwaYwLH3k9fBRKnvr4=
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:(4636009)(346002)(376002)(39860400002)(366004)(396003)(136003)(4744005)(83380400001)(956004)(86362001)(16576012)(36756003)(4326008)(8676002)(8936002)(31686004)(31696002)(107886003)(2616005)(110136005)(54906003)(38100700002)(316002)(2906002)(66476007)(5660300002)(478600001)(66556008)(66946007)(6486002)(53546011)(26005)(6666004)(186003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dHQ4MmhwZFNFTmdoakxlTC9IbEwwVXkwb2UzZ01CY003UGk4QXpIdTBSVFZ1?=
 =?utf-8?B?Um9xZTdZNHA0OEdlMk5tN0x1MU10cXU0cDFoaVhTZldrTUE2WDkwSUVwVm5n?=
 =?utf-8?B?RzNKS1E1VzBaTnhWdStCMnNmMlRVOW9zS0xQdWRKTWozYlJlSHBlaEwrWWh4?=
 =?utf-8?B?UFZSdHBkMCt3bHFGa3ZxOVZSWThsRFlBSFVIa05tYVRQbG5tcDhUZlJrUXp2?=
 =?utf-8?B?dUNGMGFDVVJlUFNoeENETS94STY4TWdVWXNJc1FxZHBQOHI2UTJHbElTUVBF?=
 =?utf-8?B?UUNhY1JaLy9WcVRTWURJLzE0Z1BNajl2R1RNSVU4d2Jtd2QvRHh3TzN1TVEx?=
 =?utf-8?B?NWNxZ0N6UnRPSUxCNlZVWVJsQ1RSYU1EbU9CSTU4OU1tVGgxaENQMC9LTCtO?=
 =?utf-8?B?TzYvcDFEK0tnSGVXdFhSTWxTblB4VUd3L25QODc2MEpxejlQSHlyQkdSbUda?=
 =?utf-8?B?WHNsV0QxK0xvdGFqc3A2c0pKeVlHMWN5WmNNYTZqRkV5NGZWNDNCSTllSFJh?=
 =?utf-8?B?VHJWV3F6azhzdldtbTlvcGcramxWazRBRTlqUzNWUkF3a3hraHAxKzRHS1hN?=
 =?utf-8?B?VFVhcUF3UlIyQlIyMi9MSGVEQlIrakZkdHNOQ2htMkJXVnZVcDdwVEZCUGZz?=
 =?utf-8?B?RTZCQVB4ek5RVkZTaVZST1MrZmx0NFZCM0dWTzczYng5MVZyNHpPcGQ1d1BB?=
 =?utf-8?B?K3doQkxNam9tNHRJNGFuNm1jc0J6eUx2cEhaSXQwZTRPRDdjKzcrQm84dkJk?=
 =?utf-8?B?ZWV6YU9ySWl2dkdvWFErdklRZDFTTG51S1ZpS2wvWE00ZzF5QjZudW1idGd1?=
 =?utf-8?B?Y052T1FuYXNzVzl3aEo0MytyNkhSZG9GNEJSZzRpVjJwR3l1Q01MaWZoUWFm?=
 =?utf-8?B?MmIydWZFRU9lajhwbEIwdXk3Rm40OFdwZ0JGV1RjLy90TjNLSWM3TnpsNVhU?=
 =?utf-8?B?TUZvWnZzRlllQlZLVjFLSTdZSDBSVm04QVlVRjE5TXByM29UTDJTU0pSeDFB?=
 =?utf-8?B?MlU3NlVtb3czcnUvK3c0Z0I1Y1ZHaGExUll2VDNaQlFJNUo3dkZhaTN3UTdk?=
 =?utf-8?B?OVZqQXYwRlp6WUg0eis3WENBTndWcTFNeFFSZFlBYWpydVhMSkF4VnE3Ny9V?=
 =?utf-8?B?cTh2NU1janpQMzJ2SEU0dU1YUkFNZ2p6UnI3S1hwMWx3dkZyRm5YelZDMHRz?=
 =?utf-8?B?SmNpaVRYUjdKazcwQk81Ynl2TWdnUkFXSDZFelkrSU9ralRDeGd5Q1RpeHhQ?=
 =?utf-8?B?Rit2RTQ3M28zRmpPT3FrRHM1bHhNRVE2Z004TURvNUxmUXkvOUhwL2oxWklD?=
 =?utf-8?B?MnZBSHRORmJJVkFxWjBINVllN09mY3M0aTM2dmlIZkhwQVBoZzFSdlJRcXht?=
 =?utf-8?B?d2JBZndPSlRXNGJJc2d6Q2VKTGVPYWt4RTFEQU9WYldKaUUvZC9wR2FxKzYw?=
 =?utf-8?B?RHNmVThMM1krYVdEcUVjK1plU2x0TE9uc2owRGJVNmF4RlhUREowOTZSSUw1?=
 =?utf-8?B?aEh1enM3bUR2dDhLNHYvUVJZQW5DNzVLR3NnNmpLcjJyM015MHcyRFd4ZVlh?=
 =?utf-8?B?VmNMRDFPVjJ6WHFTK0hRZllBdTZlbWg2YWxIZE9FUlUyOFhtTUFyc3NOWFZv?=
 =?utf-8?B?WnJuWUZYYy9JVUVXOHJtQ0xCKzdqMk4rUTlDSEpOQ09PZnRwbHFyblFvLzJ5?=
 =?utf-8?B?OU9JMlJKK3JvT01SazVob2pEZW02ZnlIVEQ2V1FLS01najlKeU9ZeXlpOXg1?=
 =?utf-8?Q?yAnBT/vdpZ5Dv8UbVtwJKO6W5DJBexfi5u/KFQ7?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 201f3b98-eeee-467e-bf92-08d961a40810
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 17:25:38.8991
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: VyI2NZY1Y03AfMAZbLhuYOLcwCAWSRDwe4r4Hkcr7C4i+HkdYME0k+8+I1j35/IzLDmDex1EkBsnLZkvricWG7GtuzD4mS6FT/lfPbu3mzE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB3669
X-OriginatorOrg: citrix.com

On 17/08/2021 15:29, Jan Beulich wrote:
> About every time I look at dom0_construct_pv()'s "calculation" of
> nr_pt_pages I question (myself) whether the result is precise or merely
> an upper bound. I think it is meant to be precise, but I think we would
> be better off having some checking in place. Hence add ASSERT()s to
> verify that
> - all pages have a valid L1...Ln (currently L4) page table type and
> - no other bits are set, in particular the type refcount is still zero.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Andrew Cooper <andrew.cooper3@citirx.com>, thanks.

Are you planning further cleanups here imminently?  If not, I can
probably shuffle some of the easy ROUNDUP() refactoring in the direction
of an intern or grad.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 17:54:38 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 17:54:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.167998.306722 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mG3I5-0000Qb-Ul; Tue, 17 Aug 2021 17:54:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 167998.306722; Tue, 17 Aug 2021 17: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 1mG3I5-0000QU-RX; Tue, 17 Aug 2021 17:54:21 +0000
Received: by outflank-mailman (input) for mailman id 167998;
 Tue, 17 Aug 2021 17:54: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 1mG3I5-0000QO-CF
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 17:54: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 1mG3Hj-0003BX-D6; Tue, 17 Aug 2021 17:53:59 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mG3Hj-0005gs-5I; Tue, 17 Aug 2021 17:53:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=Dh4zd4c22B793bOt16gtWq0USHCar4NDC3swpTkm7Yg=; b=y5v+Rh3C2rOotAhQACMk8Piz36
	rIEKrFbvl+nCYKUV1JGuPCWI7IOj/vTuNWb1XBrGyOtkR/vxgmFKIJPGuTsrh7Fcs0yEkpyuwCwj1
	Cd3bUA2yinXG15/0T5aPXlFhR9HRuehDk7B1MwlC3BpmiHYqGwvdO/N4incD0cxBWwlk=;
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
To: Oleksandr <olekstysh@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <80fafc01-f063-d6e5-1c08-7ad64550310c@citrix.com>
 <e8db3021-78a5-e040-a70b-62ca5b500149@xen.org>
 <4de5ed21-379e-b618-44c8-924d88b1a519@citrix.com>
 <bbc7f597-5249-20a0-cac9-13f594268299@xen.org>
 <6a633f4e-13e0-4a2b-cf6e-35ef90ae977c@gmail.com>
 <alpine.DEB.2.21.2107301630510.10122@sstabellini-ThinkPad-T480s>
 <f6b2e6c6-bf58-960f-4a09-f05ebcf1f566@gmail.com>
 <5643d414-0b76-74a4-2c37-c7a99338d547@gmail.com>
 <c83378af-4d3b-9256-0e0d-f88c43c6de2f@xen.org>
 <alpine.DEB.2.21.2108051720210.18743@sstabellini-ThinkPad-T480s>
 <6596ad08-8398-64dd-ef62-cd7bc6f7333e@gmail.com>
 <bc576a23-d107-c67d-8dca-62691e5eea1a@xen.org>
 <1d0ea55d-2e5a-daa7-9c60-c7a1c4b48fa1@gmail.com>
 <6947db7a-44d3-eb5f-c93e-1c1b88c62f29@xen.org>
 <736c38b3-0dfa-ccbf-6a6a-6da871f8aca0@gmail.com>
 <4f5be55d-062b-06d2-1e41-bac3ade0cc3a@xen.org>
 <f046eaba-d073-7fbb-4f4d-405f34d8ee9c@gmail.com>
From: Julien Grall <julien@xen.org>
Message-ID: <e136dc8e-de64-56fa-8353-300b947db3aa@xen.org>
Date: Tue, 17 Aug 2021 18:53:56 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <f046eaba-d073-7fbb-4f4d-405f34d8ee9c@gmail.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Oleksandr,

On 10/08/2021 18:03, Oleksandr wrote:
> 
> On 10.08.21 19:28, Julien Grall wrote:
> 
> Hi Julien.
> 
>>
>>
>> On 09/08/2021 22:18, Oleksandr wrote:
>>>
>>> On 09.08.21 23:45, Julien Grall wrote:
>>>
>>>
>>> Hi Julien
>>
>>
>> Hi Oleksandr,
>>
>>>> On 09/08/2021 19:24, Oleksandr wrote:
>>>>>
>>>>> On 09.08.21 18:42, Julien Grall wrote:
>>>>> 1. If IOMMU is enabled for Dom0 -> provide holes found in Host DT 
>>>>> as safe ranges
>>>>>
>>>>> I would take into the account holes >= 1MB.
>>>>
>>>> May I ask why 1MB?
>>>
>>> Nothing special, just thinking to not bother with small regions which 
>>> would not be too useful overall, but could bloat resulting reg property.
>>>
>>> Anyway, I would be ok with any sizes.
>>
>> I was more interesting with the reasoning behind your choice rather 
>> than saying we want more.
>>
>> I agree that we may want to skip smaller region. I am guess that an 
>> high number of small regions will also increase the bookeeping in Linux.
>>
>> But I would probably suggest to align the safe region to a 2MB 
>> (superpage for 4KB page granularity) just because the backend (or even 
>> Xen) may be able to do some optimization there.
> 
> OK, agree regarding the alignment. But, what about the size? I assume, 
> it should be a multiple of 2MB.

I would say yes. In the documentation for the guest, I would just write 
"64KB" to give us some flexibility to reduce the alignment/size if we 
encounter platform where we can meet those limits (hopefully there is 
none...).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 17:55:11 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 17:55:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168003.306734 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mG3It-0000y0-7e; Tue, 17 Aug 2021 17:55:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168003.306734; Tue, 17 Aug 2021 17: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 1mG3It-0000xt-4e; Tue, 17 Aug 2021 17:55:11 +0000
Received: by outflank-mailman (input) for mailman id 168003;
 Tue, 17 Aug 2021 17:55: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 1mG3Is-0000xn-7f
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 17:55: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 1mG3IQ-0003Cm-CS; Tue, 17 Aug 2021 17:54:42 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mG3IQ-0005lD-63; Tue, 17 Aug 2021 17:54: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:
	MIME-Version:Date:Message-ID:References:Cc:To:From:Subject;
	bh=3jUW37lC4D+3mq99jt5i7oRvjGGXUoup3wngpUBiTG4=; b=mrpOAEWtxUbCAIWHkcSplds1+c
	XAoifSQCV/FpHKYBegfhNO2UmAv1EraGRx4erwgH/EznhtbW2KNnUoecdhfeYuhF2TVviH3N+8FhF
	yM8PQ7NnGNotflIJzaN3R5XQ3W6IazgWJRxqLpmkSSF9FG/xTpbeyMHD1VsWvL8/BQSk=;
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
From: Julien Grall <julien@xen.org>
To: Oleksandr <olekstysh@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <80fafc01-f063-d6e5-1c08-7ad64550310c@citrix.com>
 <e8db3021-78a5-e040-a70b-62ca5b500149@xen.org>
 <4de5ed21-379e-b618-44c8-924d88b1a519@citrix.com>
 <bbc7f597-5249-20a0-cac9-13f594268299@xen.org>
 <6a633f4e-13e0-4a2b-cf6e-35ef90ae977c@gmail.com>
 <alpine.DEB.2.21.2107301630510.10122@sstabellini-ThinkPad-T480s>
 <f6b2e6c6-bf58-960f-4a09-f05ebcf1f566@gmail.com>
 <5643d414-0b76-74a4-2c37-c7a99338d547@gmail.com>
 <c83378af-4d3b-9256-0e0d-f88c43c6de2f@xen.org>
 <alpine.DEB.2.21.2108051720210.18743@sstabellini-ThinkPad-T480s>
 <6596ad08-8398-64dd-ef62-cd7bc6f7333e@gmail.com>
 <bc576a23-d107-c67d-8dca-62691e5eea1a@xen.org>
 <1d0ea55d-2e5a-daa7-9c60-c7a1c4b48fa1@gmail.com>
 <6947db7a-44d3-eb5f-c93e-1c1b88c62f29@xen.org>
 <736c38b3-0dfa-ccbf-6a6a-6da871f8aca0@gmail.com>
 <4f5be55d-062b-06d2-1e41-bac3ade0cc3a@xen.org>
 <f046eaba-d073-7fbb-4f4d-405f34d8ee9c@gmail.com>
 <e136dc8e-de64-56fa-8353-300b947db3aa@xen.org>
Message-ID: <92268dd6-04b7-38e9-86d4-949702971f4b@xen.org>
Date: Tue, 17 Aug 2021 18:54:39 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <e136dc8e-de64-56fa-8353-300b947db3aa@xen.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit



On 17/08/2021 18:53, Julien Grall wrote:
> Hi Oleksandr,
> 
> On 10/08/2021 18:03, Oleksandr wrote:
>>
>> On 10.08.21 19:28, Julien Grall wrote:
>>
>> Hi Julien.
>>
>>>
>>>
>>> On 09/08/2021 22:18, Oleksandr wrote:
>>>>
>>>> On 09.08.21 23:45, Julien Grall wrote:
>>>>
>>>>
>>>> Hi Julien
>>>
>>>
>>> Hi Oleksandr,
>>>
>>>>> On 09/08/2021 19:24, Oleksandr wrote:
>>>>>>
>>>>>> On 09.08.21 18:42, Julien Grall wrote:
>>>>>> 1. If IOMMU is enabled for Dom0 -> provide holes found in Host DT 
>>>>>> as safe ranges
>>>>>>
>>>>>> I would take into the account holes >= 1MB.
>>>>>
>>>>> May I ask why 1MB?
>>>>
>>>> Nothing special, just thinking to not bother with small regions 
>>>> which would not be too useful overall, but could bloat resulting reg 
>>>> property.
>>>>
>>>> Anyway, I would be ok with any sizes.
>>>
>>> I was more interesting with the reasoning behind your choice rather 
>>> than saying we want more.
>>>
>>> I agree that we may want to skip smaller region. I am guess that an 
>>> high number of small regions will also increase the bookeeping in Linux.
>>>
>>> But I would probably suggest to align the safe region to a 2MB 
>>> (superpage for 4KB page granularity) just because the backend (or 
>>> even Xen) may be able to do some optimization there.
>>
>> OK, agree regarding the alignment. But, what about the size? I assume, 
>> it should be a multiple of 2MB.
> 
> I would say yes. In the documentation for the guest, I would just write 
> "64KB" to give us some flexibility to reduce the alignment/size if we 
> encounter platform where we can meet those limits (hopefully there is 
> none...).

Whoops, I meant cannot rather than can.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 18:00:02 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 18:00:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168009.306745 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mG3NW-0001gz-RR; Tue, 17 Aug 2021 17:59:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168009.306745; Tue, 17 Aug 2021 17:59:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mG3NW-0001gs-OE; Tue, 17 Aug 2021 17:59:58 +0000
Received: by outflank-mailman (input) for mailman id 168009;
 Tue, 17 Aug 2021 17:59:57 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mG3NV-0001gm-O6
 for xen-devel@lists.xenproject.org; Tue, 17 Aug 2021 17:59:57 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mG3NM-0003Ig-7m; Tue, 17 Aug 2021 17:59:48 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mG3NM-0006Pd-06; Tue, 17 Aug 2021 17:59:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=2T3iSOV73BT2tnxZyTVcuGR/w5rMH5CGtVR/b1Vl9JA=; b=XF52QKGJj9mbyt6uastrLOlZhT
	T4wGveSIOwZOp7fA1MTtmaB0wCKwXMYhoEmO96M/FScsiBdWBkrzdkWpqpzDyr89QN7HQoVcndPW5
	q14hYC7m7C2T8aH20lVaDihyeJIO/BouglEM8M+U0JbU3YwBBgxmKHf69kzrClh/u9lU=;
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
 Oleksandr Tyshchenko <olekstysh@gmail.com>, xen-devel@lists.xenproject.org
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <80fafc01-f063-d6e5-1c08-7ad64550310c@citrix.com>
 <e8db3021-78a5-e040-a70b-62ca5b500149@xen.org>
 <4de5ed21-379e-b618-44c8-924d88b1a519@citrix.com>
 <bbc7f597-5249-20a0-cac9-13f594268299@xen.org>
 <5176e91c-1971-9004-af65-7a4aefc7eb78@suse.com>
From: Julien Grall <julien@xen.org>
Message-ID: <0d71ddd2-d947-9495-c70a-eec18f9b5a94@xen.org>
Date: Tue, 17 Aug 2021 18:59:44 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <5176e91c-1971-9004-af65-7a4aefc7eb78@suse.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit

Hi Jan,

On 03/08/2021 13:49, Jan Beulich wrote:
>>>>> Once a safe range (or ranges) has been chosen, any subsequent action
>>>>> which overlaps with the ranges must be rejected, as it will violate the
>>>>> guarantees provided.
>>>>>
>>>>> Furthermore, the ranges should be made available to the guest via normal
>>>>> memory map means.  On x86, this is via the E820 table, and on ARM I
>>>>> presume the DTB.  There is no need for a new hypercall.
>>>>
>>>> Device-Tree only works if you have a guest using it. How about ACPI?
>>>
>>> ACPI inherits E820 from x86 (its a trivial format), and UEFI was also
>>> based on it.
>>>
>>> But whichever...  All firmware interfaces have a memory map.
>>
>> This will be UEFI memory map. However, I am a bit confused how we can
>> tell the OS the region will be used for grant/foreign mapping. Is it
>> possible to reserved a new type?
> 
> As with about any non-abandoned specification it is in principle
> possible to define/reserve new types. Question how practical it is,
> i.e. in particular how long it may take to get to the point where
> we have a firmly reserved type. Short of this I wonder whether you,
> Andrew, were thinking to re-use an existing type (in which case the
> question of disambiguation arises).

Copying/pasting the IRC discussion related to this:

[11:32:19] <Diziet> julieng: I have skimread the thread "[RFC PATCH] 
xen/memory: Introduce a hypercall to provide unallocated space"
[11:32:56] <Diziet> My impression is that it is converging on a workable 
solution but I am not sure.  Does it need any help ?
[12:20:32] <julieng> Diziet: I think we have a solution for Arm and DT. 
We are waiting on andyhhp for the ACPI part. He suggested to use the 
memory map but it is unclear how we could describe the safe region.
[13:01:49] <andyhhp> that's easy, seeing as we already have hypercall to 
convay that information, but feel free to skip the x86 side for v1 if 
that helps
[13:02:15] <andyhhp> it wants an extention to the PVH spec to define a 
new memory type
[13:04:09] <julieng> andyhhp: This doesn't really address the question 
to how we can define the memory type because this is not a spec we own. 
See 5176e91c-1971-9004-af65-7a4aefc7eb78@suse.com for more details..
[13:04:27] <andyhhp> after which it wants to appear in XENMEM_memory_map
[13:04:32] <andyhhp> this is a spec we own
[13:04:43] <julieng> We don't own the E820.
[13:05:19] <julieng> Nor the UEFI memory map.
[13:05:24] <andyhhp> no, we don't, but that's not the spec in question
[13:06:06] <andyhhp> the spec in question is the PVH start info and/or 
XENMEM_memory_map, both of which are "in the format of the E820" table, 
not "is an E820 table"
[13:06:27] <andyhhp> with almost 4 billion type identifiers avaialble
[13:07:03] <julieng> So what you are saying is let's pick up a random 
number and hope no-one will use it?
[13:07:34] <julieng> Because neither XENMEM_memory_map nor PVH start 
info exist for ACPI on Arm.
[13:08:17] <andyhhp> we (xen) are the source of this information, via a 
Xen specified API/ABI
[13:08:41] <andyhhp> we are entirely within our rights to document an 
extention, which has defined meaning under Xen
[13:09:03] <andyhhp> and yeah - you choose some Xen specific constant to 
go in the high bits of the type id or something
[13:09:04] <julieng> I agree for a domU. But for dom0, the memory map is 
the same as the host. So we have to make sure the number doesn't clash.
[13:09:49] <andyhhp> the chance of actually having a collision is 0, 
because in 30 years or so, about 10 types have been declared and handed out
[13:10:15] <andyhhp> and if a collision does occur, we add a second 
hypercall saying "this is a raw non-xenified E820 table, and here is the 
xenified one"

> 
> As a result I wonder whether a "middle" approach wouldn't be better:
> Have the range be determined up front (by tool stack or Xen), but
> communicate it to the guest by PV means (hypercall, shared info,
> start info, or yet some other table).
> 
> Jan
> 

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 21:23:24 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 21:23:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168019.306756 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mG6YB-0004OO-0W; Tue, 17 Aug 2021 21:23:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168019.306756; Tue, 17 Aug 2021 21: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 1mG6YA-0004OH-Ta; Tue, 17 Aug 2021 21:23:10 +0000
Received: by outflank-mailman (input) for mailman id 168019;
 Tue, 17 Aug 2021 21:23: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 1mG6Y9-0004O7-FJ; Tue, 17 Aug 2021 21:23: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 1mG6Y9-0006rS-7t; Tue, 17 Aug 2021 21:23: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 1mG6Y8-0005Gu-Qk; Tue, 17 Aug 2021 21:23:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mG6Y8-0000e4-QG; Tue, 17 Aug 2021 21:23: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=9+JplqNbmBCj4H1f67dJWdhL8ALbeltKRjmfdZ8Op/w=; b=0vdIRaqAp2/VZgygtJdr6hxRdn
	+uGQmTuqpRpqsxtBAx3AdypMqs7igk9tHt+rtuxetXklGE7bMJo3hUfvjvl9iTwqIEtp8PNPQmxSO
	uvxHbgEpJQMKpe3DF1WOu6rXU1E1T/Q94fgyDdniYijb7jrCKSoQJJXK8RvKTu8eOVIc=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164224-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 164224: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:test-armhf-armhf-xl-arndale:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-multivcpu:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-vhd:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-credit1:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:regression
    linux-5.4:test-amd64-amd64-amd64-pvgrub:debian-di-install:fail:regression
    linux-5.4:test-armhf-armhf-xl-arndale:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-vhd:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-examine:host-install:broken:heisenbug
    linux-5.4:test-amd64-amd64-examine:memdisk-try-append: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-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check: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-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt: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-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1: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-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-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-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-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=b704883aa8dc4d1d232d3a3cdc438a64889fcc6e
X-Osstest-Versions-That:
    linux=e350cd02e293be9a6b93398b2d3ff1edf7695ab2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 17 Aug 2021 21:23:08 +0000

flight 164224 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164224/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl-arndale     <job status>                 broken  in 164203
 test-armhf-armhf-xl-multivcpu    <job status>                 broken in 164203
 test-armhf-armhf-xl-vhd         <job status>                 broken  in 164203
 test-armhf-armhf-xl-credit1     <job status>                 broken  in 164203
 test-amd64-amd64-i386-pvgrub 12 debian-di-install        fail REGR. vs. 164131
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install       fail REGR. vs. 164131

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-arndale  5 host-install(5) broken in 164203 pass in 164224
 test-armhf-armhf-xl-credit1  5 host-install(5) broken in 164203 pass in 164224
 test-armhf-armhf-xl-multivcpu 5 host-install(5) broken in 164203 pass in 164224
 test-armhf-armhf-xl-vhd      5 host-install(5) broken in 164203 pass in 164224
 test-armhf-armhf-examine      5 host-install   broken in 164203 pass in 164224
 test-amd64-amd64-examine      4 memdisk-try-append         fail pass in 164203

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164131
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 164131
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 164131
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164131
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164131
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164131
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 164131
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164131
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 164131
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164131
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164131
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-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-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     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-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                b704883aa8dc4d1d232d3a3cdc438a64889fcc6e
baseline version:
 linux                e350cd02e293be9a6b93398b2d3ff1edf7695ab2

Last test of basis   164131  2021-08-08 07:11:59 Z    9 days
Failing since        164167  2021-08-12 11:47:56 Z    5 days   10 attempts
Testing same since   164196  2021-08-15 18:44:07 Z    2 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alan Stern <stern@rowland.harvard.edu>
  Alex Xu (Hello71) <alex_y_xu@yahoo.ca>
  Alexander Monakov <amonakov@ispras.ru>
  Alexander Tsoy <alexander@tsoy.me>
  Alexandre Courbot <gnurou@gmail.com>
  Alexei Starovoitov <ast@kernel.org>
  Anand Jain <anand.jain@oracle.com>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Anirudh Rayabharam <mail@anirudhrb.com>
  Antoine Tenart <atenart@kernel.org>
  Arnd Bergmann <arnd@arndb.de>
  Bartosz Golaszewski <bgolaszewski@baylibre.com>
  Brian Norris <briannorris@chromium.org>
  Catalin Marinas <catalin.marinas@arm.com>
  Chanho Park <chanho61.park@samsung.com>
  chihhao.chen <chihhao.chen@mediatek.com>
  Christoph Hellwig <hch@lst.de>
  Colin Ian King <colin.king@canonical.com>
  Dan Carpenter <dan.carpenter@oracle.com>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniele Palmas <dnlplm@gmail.com>
  Dario Binacchi <dariobin@libero.it>
  David Bauer <mail@david-bauer.net>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Dmitry Osipenko <digetx@gmail.com>
  Dominik Brodowski <linux@dominikbrodowski.net>
  Dongliang Mu <mudongliangabcd@gmail.com>
  Eero Lehtinen <debiangamer2@gmail.com>
  Fei Qin <fei.qin@corigine.com>
  Felipe Balbi <balbi@kernel.org>
  Filipe Manana <fdmanana@suse.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Gregory CLEMENT <gregory.clement@bootlin.com>
  Guenter Roeck <linux@roeck-us.net>
  Guido Kiener <guido.kiener@rohde-schwarz.com>
  Guoqing Jiang <jiangguoqing@kylinos.cn>
  H. Nikolaus Schaller <hns@goldelico.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Hervé Codina <herve.codina@bootlin.com>
  Hui Su <suhui@zeku.com>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jan Kara <jack@suse.cz>
  Jarkko Sakkinen <jarkko@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jens Wiklander <jens.wiklander@linaro.org>
  Johan Hovold <johan@kernel.org>
  Johannes Berg <johannes.berg@intel.com>
  Jon Hunter <jonathanh@nvidia.com>
  Juergen Borleis <jbe@pengutronix.de>
  Kieran Bingham <kieran.bingham@ideasonboard.com>
  Kim Phillips <kim.phillips@amd.com>
  Lai Jiangshan <laijs@linux.alibaba.com>
  Letu Ren <fantasquex@gmail.com>
  Li Manyi <limanyi@uniontech.com>
  Liam Merwick <liam.merwick@oracle.com>
  Like Xu <likexu@tencent.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Longfang Liu <liulongfang@huawei.com>
  Louis Peens <louis.peens@corigine.com>
  Luis Chamberlain <mcgrof@kernel.org>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Luke D Jones <luke@ljones.dev>
  Maciej W. Rozycki <macro@orcam.me.uk>
  Marek Szyprowski <m.szyprowski@samsung.com>
  Marek Vasut <marex@denx.de>
  Mario Kleiner <mario.kleiner.de@gmail.com>
  Mark Brown <broonie@kernel.org>
  Mark Rutland <mark.rutland@arm.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Masami Hiramatsu <mhiramat@kernel.org>
  Matt Turner <mattst88@gmail.com>
  Matteo Croce <mcroce@microsoft.com>
  Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
  Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Maxim Devaev <mdevaev@gmail.com>
  Maxime Chevallier <maxime.chevallier@bootlin.com>
  Michael Tretter <m.tretter@pengutronix.de>
  Miklos Szeredi <mszeredi@redhat.com>
  Nikolay Borisov <nborisov@suse.com>
  Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Pali Rohár <pali@kernel.org>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Machek (CIP) <pavel@denx.de>
  Pavel Skripkin <paskripkin@gmail.com>
  Pawel Laszczak <pawell@cadence.com>
  Peter Chen <peter.chen@kernel.org>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Phil Elwell <phil@raspberrypi.com>
  Prarit Bhargava <prarit@redhat.com>
  Qiang.zhang <qiang.zhang@windriver.com>
  Qu Wenruo <wqu@suse.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Sasha Levin <sashal@kernel.org>
  Sean Christopherson <seanjc@google.com>
  Sean Young <sean@mess.org>
  Sebastian Andrzej Siewior <bigeasy@linutronix.de>
  Shawn Guo <shawnguo@kernel.org>
  Shreyansh Chouhan <chouhan.shreyansh630@gmail.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Song Liu <song@kernel.org>
  Stas Sergeev <stsp2@yandex.ru>
  Stephen Boyd <sboyd@kernel.org>
  Steve Bennett <steveb@workware.net.au>
  Steven Rostedt (VMware) <rostedt@goodmis.org>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Sumit Garg <sumit.garg@linaro.org>
  syzbot+de271708674e2093097b@syzkaller.appspotmail.com
  Takashi Iwai <tiwai@suse.de>
  Tejun Heo <tj@kernel.org>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Theodore Ts'o <tytso@mit.edu>
  Thierry Reding <treding@nvidia.com>
  Thomas Gleixner <tglx@linutronix.de>
  Tony Lindgren <tony@atomide.com>
  Tyler Hicks <tyhicks@linux.microsoft.com>
  Vinod Koul <vkoul@kernel.org>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Wang Hai <wanghai38@huawei.com>
  Wei Shuyu <wsy@dogben.com>
  Wesley Cheng <wcheng@codeaurora.org>
  Will Deacon <will@kernel.org>
  Willy Tarreau <w@1wt.eu>
  Xiangyang Zhang <xyz.sun.ok@gmail.com>
  Xin Long <lucien.xin@gmail.com>
  Yang Yingliang <yangyingliang@huawei.com>
  Yu Kuai <yukuai3@huawei.com>
  YueHaibing <yuehaibing@huawei.com>
  Zheyu Ma <zheyuma97@gmail.com>
  Zhiyong Tao <zhiyong.tao@mediatek.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-armhf-armhf-xl-arndale broken
broken-job test-armhf-armhf-xl-multivcpu broken
broken-job test-armhf-armhf-xl-vhd broken
broken-job test-armhf-armhf-xl-credit1 broken

Not pushing.

(No revision log; it would be 3656 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 17 23:43:10 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Aug 2021 23:43:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168030.306769 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mG8jT-0000mk-AJ; Tue, 17 Aug 2021 23:42:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168030.306769; Tue, 17 Aug 2021 23:42:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mG8jT-0000md-7U; Tue, 17 Aug 2021 23:42:59 +0000
Received: by outflank-mailman (input) for mailman id 168030;
 Tue, 17 Aug 2021 23:42: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 1mG8jR-0000mT-St; Tue, 17 Aug 2021 23:42: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 1mG8jR-0000kN-MV; Tue, 17 Aug 2021 23:42: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 1mG8jR-0003Vw-BV; Tue, 17 Aug 2021 23:42:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mG8jR-0007oj-B1; Tue, 17 Aug 2021 23:42: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=m4+Qcxz3jxtJnU4Ajb87VqfnMOVK1A4bE/TU6Irs1Ow=; b=e3kyw0/k5gOcngsMtPIbo0mGq7
	Gvwm70Uttga+CvSEXbQWf7wZvGxBggsZM5Af6/ClodJSS7wRoTy6aTbUQo1LxT9OyC0Sg1i7xBe5O
	cyvD+TtZTf8TD72qn9i3LBSr0bdln6cR6ZgJZbJRlOY0Cx91bu+2j2rG/Tjmxep2qaHo=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164225-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164225: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-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-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=794c7931a2428a656551f2179e6a093233a6e0aa
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 17 Aug 2021 23:42:57 +0000

flight 164225 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164225/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  14 guest-start              fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 13 debian-fixup             fail REGR. vs. 152332
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install       fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 12 debian-di-install        fail REGR. vs. 152332

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 152332
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 152332
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 152332
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 152332
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 152332
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 152332
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 152332
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                794c7931a2428a656551f2179e6a093233a6e0aa
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  382 days
Failing since        152366  2020-08-01 20:49:34 Z  381 days  672 attempts
Testing same since   164225  2021-08-17 06:46:08 Z    0 days    1 attempts

------------------------------------------------------------
6800 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 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-qemut-rhel6hvm-amd                           fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     fail    
 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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2011906 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 18 01:14:08 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 01:14:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168037.306784 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGA9V-0008Ay-8H; Wed, 18 Aug 2021 01:13:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168037.306784; Wed, 18 Aug 2021 01: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 1mGA9V-0008Ar-4r; Wed, 18 Aug 2021 01:13:57 +0000
Received: by outflank-mailman (input) for mailman id 168037;
 Wed, 18 Aug 2021 01:13:56 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tyGE=NJ=gmail.com=jandryuk@srs-us1.protection.inumbo.net>)
 id 1mGA9U-0008Al-CW
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 01:13:56 +0000
Received: from mail-lf1-x135.google.com (unknown [2a00:1450:4864:20::135])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ae386fc9-6744-421a-8401-2aa2511d57c8;
 Wed, 18 Aug 2021 01:13:54 +0000 (UTC)
Received: by mail-lf1-x135.google.com with SMTP id y34so939494lfa.8
 for <xen-devel@lists.xenproject.org>; Tue, 17 Aug 2021 18:13: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: ae386fc9-6744-421a-8401-2aa2511d57c8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc;
        bh=ZtD15Oj40WlZ4qJXP90qQeVnazpIR7sKFVGQYiT8cSo=;
        b=TY0YqF+Hm3KexHJjKDMJYnBg/rc0S6QxbIFRtNd5nTDz5NWnhqLY8LjJKObPZK7zXd
         cMEypYnnMSqR1eBEDJWralHCEr/GLFhxvfkA59YWLGybXm1THHQ0X/BnVuHPu3Z6jekT
         4QBaerQ5bxPpmTFExdty8Yx+EGgk8rZcdZj+KAOCcQk7vQZTOIjOs3ShB5iWdjFgx1+3
         g4zFmorNalb3WX1nhCNxDs6mOtIyLwDGjHnzlitnuqueAHE39zK4pa3E8hoUl7xr0mdI
         H9n5ODVsXplvC4UAN0XNR4lEL95NTKONSFj6Twgo6xq/LXrLM/Qw6/KZYdiEiC1jTf9M
         foJQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=ZtD15Oj40WlZ4qJXP90qQeVnazpIR7sKFVGQYiT8cSo=;
        b=H6VKDwabbZ/1jetjbCGmTxyF3kmD0D6eYi9xuS7ikBiRloNAUjccyfBVhBEKnRTPz3
         P657VgT4wOlhIKGPxq4gDiXnna/W7giQBdnAWF6vSLdels2S8cO0pBUS/GjE4ArwONGY
         qzcXq02aolKBUjvGnlf/4GknR5oIIG9HND6JjzX6msHfbOeqQGBv+GyC5MG2/6I9v0lL
         2mLbNs38r9m1DR+1XkLIhmXpAmU2MwQ7TxPG83+f+jGYqdmEDtN+hNaX0d0zzftriYqt
         DVTrAu6Ny2roPt7mfevmVbj7nBwvgSuLib8W3ekQpff7tuG8br1ROJm4sHnMUOLZDeKh
         QlZQ==
X-Gm-Message-State: AOAM5333TFMmpKkZZD+OB6hYWgUqGgEYOPoUvlfYhjALUWkg1TK2g5Ov
	S6LCmHY/I2TYN+ccK/CrHlI4mJSKdQjZ2IEbfiA=
X-Google-Smtp-Source: ABdhPJwRpCPUMc7nnPJIjANNBSckD4KWKEnp90aQf7CmFDPU1qPVc+bqCEttay/S0R+olIOFEfEyO1Nv0Z6c526eRus=
X-Received: by 2002:a05:6512:3203:: with SMTP id d3mr4540060lfe.659.1629249233680;
 Tue, 17 Aug 2021 18:13:53 -0700 (PDT)
MIME-Version: 1.0
References: <20210812005700.3159-1-jandryuk@gmail.com> <24859.43747.87671.739214@mariner.uk.xensource.com>
In-Reply-To: <24859.43747.87671.739214@mariner.uk.xensource.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 17 Aug 2021 21:13:41 -0400
Message-ID: <CAKf6xptzFviWdyCC001HTVo2pXfNXXkwWOqGwy+5zbu5T85Qog@mail.gmail.com>
Subject: Re: [PATCH v2] libxl: Fix stubdom PCI passthrough
To: Ian Jackson <iwj@xenproject.org>
Cc: xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, 
	Paul Durrant <pdurrant@amazon.com>, 
	Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	Stefano Stabellini <sstabellini@kernel.org>
Content-Type: text/plain; charset="UTF-8"

On Tue, Aug 17, 2021 at 8:26 AM Ian Jackson <iwj@xenproject.org> wrote:
>
> Jason Andryuk writes ("[PATCH v2] libxl: Fix stubdom PCI passthrough"):
> > commit 0fdb48ffe7a1 "libxl: Make sure devices added by pci-attach are
> > reflected in the config" broken stubdom PCI passthrough when it moved
> > libxl__create_pci_backend later in the function.  xl pci-attach for a
> > running PV domain may also have been broken, but that was not verified.
> >
> > The stubdomain is running (!starting) and PV, so it calls
> > libxl__wait_for_backend.  With the new placement of
> > libxl__create_pci_backend, the path does not exist and the call
> > immediately fails.
> ...
> > The wait is only relevant when the backend is already present.  num_devs
> > is already used to determine if the backend needs to be created.  Re-use
> > num_devs to determine if the backend wait is necessary.  The wait is
> > necessary to avoid racing with another PCI attachment reconfiguring the
> > front/back. If we are creating the backend, then we don't have to worry
> > about a racing reconfigure.
>
> Thanks for working on this.  Sorry it's taken a while for me to look
> at this properly.  It seems very complicated.  I confess I am
> confused.  I wonder if I actually understand properly how the code in
> tree is supposed to work.  So if I seem not to be making sense, please
> explain :-).
>
>
> AFAICT what you are saying is that:
>
>   In 0fdb48ffe7a1, pci-attach was moved later in the setup, until a time
>   after the stubdomain is running.  So that code now always runs with
>   !starting, when previously it would run with !!starting.

No, it's not a starting vs. starting issue.  More that the
0fdb48ffe7a1 change didn't consider the !starting case.

We have 3 cases:
PV domain - use xen-pcifront/back
HVM - use QEMU QMP (Modern QEMU - I'm not sure about qemu-traditional)
HVM with Stubdom - xen-pcifront/back to stubdom + QEMU (QMP or
xenstore (traditional)).

Stubdomain is always !starting (running) when the guest is starting.
I think this is so that QEMU is running and can handle QMP commands.

>   libxl__wait_for_backend fails if the backend path does not exist;
>   previously, when the domain is being created, the wait would be
>   skipped.  Now because !starting, the wait is done, and fails because
>   the backend path is missing.

Previously, the backend was created before the wait was called.  The
diff for 0fdb48ffe7a1 shows the movement of the call to
libxl__create_pci_backend().  It's not shown in the diff, but
libxl__wait_for_backend() does not move which leads to the wait for a
non-existent node.

>   The purpose of the wait is to make sure the frontend is ready to
>   accept the instructions, mostly to prevent multiple pci attach
>   happening simultaneously.
>
> You are using num_devs to see whether the backend exists already, so
> as to skip the failing check.  I don't think that is right.  But I'm
> not sure the old code is right either.

num_devs is used pre and post-0fdb48ffe7a1 to control behaviour.  My
change just adds another case.

commit 70628d024da4 "libxl: Multi-device passthrough coldplug: do not
wait for unstarted guest" which you reference below explains the
num_devs use.

> If you are right about the reason for the wait, it does not seem
> correctly placed.  There is surely a TOCTOU race: first, we do the
> wait, and then we write, non-transactionally, to xenstore.  If two of
> these processes run at once, they could both decide not to wait,
> then both try to create the backend and trample on each other.

Yes, two simultaneous "1st" adds would want to create the backend and clash.

> This kind of thing is usually supposed to be dealt with by a
> combination of the userdata lock (for the config) and xenstore
> transaction but the code here doesn't seem to do that correctly.
>
> Shouldn't all of this looking at xenstore occur within the transaction
> loop ?  What this code seems to do is read some things
> nontransactionally, then enter a transaction, and then make some
> writes based on a combination of the pre-transaction and
> within-transaction data.  In particular `num_devs` is read
> nontransactionally and then written within the transaction, without, I
> think being checked for subsequent modification.
>
> Also, I think the purpose of `starting` is to avoid waiting for the
> backend to be stable before the frontend is actaully unpaused, in
> which case presumably the backend would never be Connected and we
> would deadlock (and eventually time out).  In general when we are
> hot-adding we must wait for the frontend and backend to be stable
> before saying we're done, whereas with cold-adding we set up the
> information and simply hope (expect) it all to sort itself out while
> the domain boots.  So, I would be expecting to see the wait to happen
> *after* the add.
>
> There is also the wrinkle that the non-pci code is differently
> structured, because it must not use libxl__wait_for_backend at all.
> libxl__wait_for_backend is synchronous and blocking the whole libxl
> process for an extended time is not allowed.  But AIUI we have made an
> exception for pci because the pci backend is always in dom0 and
> trusted.

I think the wrinkle is that the single PCI backend hosts multiple devices.

> I looked through the git history.
>
> Very relevant seems
>    70628d024da42eea
>    libxl: Multi-device passthrough coldplug: do not wait for unstarted guest
> which has some explanation from me in the commit message.  I'm not
> sure why I didn't spot the anomalous transaction use problem.
>
>
> Also I found
>    1a734d51902dff44
>    libxl: fix cold plugged PCI device with stubdomain
> and, would you believe it
>    18f93842ac3c2ca4
>    libxl: fix cold plugged PCI devices with stubdomains
> which seems at least tangentially relevant, showing that this seems
> persistently to break :-(.  This suggests quite strongly that we
> should add some tests for pci passthrough including at least one for
> stubdom coldplug.
>
> Also:
>    b6c23c86fe5a1a02
>    libxl: add all pci devices to xenstore at once (during VM create)
> which seems OK.
>
> There has been a lot of refactoring, but much of it hasn't really
> changed the structure of this function.
>
> The issue I identify above, with the inconsistent use of transactions,
> seems to have existed since the very beginning.  In
>    b0a1af61678b5e4c
>    libxenlight: implement pci passthrough
> the `retry_transaction:` label seems to me to be in the wrong place.
>
>
> I have CC'd Paul and Oleksandr (committer/reviewer of 0fdb48ffe7a1),
> Marek (seems to have touched a lot of the stubdom code here) and
> Stefano (original author of the pci passthrough code here)
> in case they would like to comment...

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Wed Aug 18 01:15:35 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 01:15:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168043.306794 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGAB4-0000OD-P5; Wed, 18 Aug 2021 01:15:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168043.306794; Wed, 18 Aug 2021 01: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 1mGAB4-0000O6-M5; Wed, 18 Aug 2021 01:15:34 +0000
Received: by outflank-mailman (input) for mailman id 168043;
 Wed, 18 Aug 2021 01:15:33 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tyGE=NJ=gmail.com=jandryuk@srs-us1.protection.inumbo.net>)
 id 1mGAB3-0000Nu-AC
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 01:15:33 +0000
Received: from mail-lj1-x22e.google.com (unknown [2a00:1450:4864:20::22e])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 9d07534c-effd-45d7-b1b9-ee6c96f07bd0;
 Wed, 18 Aug 2021 01:15:32 +0000 (UTC)
Received: by mail-lj1-x22e.google.com with SMTP id h11so1911348ljo.12
 for <xen-devel@lists.xenproject.org>; Tue, 17 Aug 2021 18:15:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9d07534c-effd-45d7-b1b9-ee6c96f07bd0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc;
        bh=gan1MwN1yQdFBIitrPY5PVROqykgqPTuu7eTG7oROjg=;
        b=FqkNDGqzJiK7aukqstrJ7YV7B+DvWMjyyNsXWLwC2NJYP1HEfAquizX3f1cR7QUva6
         1Rt+JkJK2NqxwZgYcs1pgNzS5RKko+cE7sdDEG6jRzRyR7wHnnMircRP2if6mHZWU49b
         yxsgOKpwqWSMTfVnZsl11mwaw3t+9rccVBImMVquvWtrl6ahw/ADhuvFRTsV72eUFdfR
         EEOyJjRq0/dTw6bluYdUTQGybXPdJHyV4AxVAqQ0FzY0QFVFNVKsheBLgnouaSmT8PPF
         qkTpHLs6vL6x7RXMGh+EpaODXDtSAQ1jJVJYyaYg+6Wcsol7Ii8MgwScrM7UYnBwVzzg
         Bv4g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=gan1MwN1yQdFBIitrPY5PVROqykgqPTuu7eTG7oROjg=;
        b=ApeBej/j9p+9wAuGAlrlI3HUwgGkFYBXlliakaKz//CWo/qhlgSJsYJkzxivTFlt+B
         7DvhMEM7apk8SUZssj0s5Cs0RbdCiILHdgi2ijE7aPqvEpwwuMm3GYRdadDgF+Vi/1rC
         u/pM24Q4wcTg6hrYHMd4PYPa/4PW8QCWRBmsio9on1zsLRw5uYQONvDz2jWaOeUm+Yr3
         x72PE4DNX86WlLxQrzqfgSwZHm5vyC5kFyqu1A/VvJRlwe3Gs4kK8Cs/8bXSTA6khKzp
         A9uIzfVSEDCK8o7xB78HgN6FtLKr6n7XHMJhaHbEzsX1AI1vQw59dDhG/nEtEUrHZFmw
         KUfg==
X-Gm-Message-State: AOAM5312k4f8nqVWCA7+DmtHRXZ+zTQMSoLua8CTiT7WK6r/H8+3juQ+
	Qz0BsMJL3x9iX9vMozvjxtudgjSZuIhJvhGSEYY=
X-Google-Smtp-Source: ABdhPJzLu+OYb3BgQ7C1fEhFWbR7ZgSqib0LPsDHiBufcWZ2U9oEse4ZZ2g1TkQT5EXDcm/0qzR1vdPvpe/93bfvjyI=
X-Received: by 2002:a2e:a5c6:: with SMTP id n6mr5646987ljp.204.1629249331314;
 Tue, 17 Aug 2021 18:15:31 -0700 (PDT)
MIME-Version: 1.0
References: <edb72ed62c7c1154d5ed282e57e1750b6d79fa15.1627672412.git.scott.davis@starlab.io>
In-Reply-To: <edb72ed62c7c1154d5ed282e57e1750b6d79fa15.1627672412.git.scott.davis@starlab.io>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 17 Aug 2021 21:15:19 -0400
Message-ID: <CAKf6xpuAzbz-PP-k3oNGo-3_iXWhjBF=nm4zdDb16UqB8ov_Og@mail.gmail.com>
Subject: Re: [PATCH v2] tools/xl: Add device_model_stubdomain_init_seclabel
 option to xl.cfg
To: Scott Davis <scottwd@gmail.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>, Scott Davis <scott.davis@starlab.io>, 
	Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>, 
	George Dunlap <george.dunlap@citrix.com>, Nick Rosbrook <rosbrookn@ainfosec.com>, 
	Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, 
	Daniel De Graaf <dgdegra@tycho.nsa.gov>, "Daniel P . Smith" <dpsmith@apertussolutions.com>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	Andrew Cooper <andrew.cooper3@citrix.com>
Content-Type: text/plain; charset="UTF-8"

Hi, Scott

On Fri, Jul 30, 2021 at 3:35 PM Scott Davis <scottwd@gmail.com> wrote:
>
> This adds an option to the xl domain configuration syntax for specifying
> a build-time XSM security label for device-model stubdomains separate
> from the run-time label specified by 'device_model_stubdomain_seclabel'.
> Fields are also added to the 'libxl_domain_build_info' struct to contain
> the new information, and a new call to 'xc_flask_relabel_domain'
> inserted to affect the change at the appropriate time.
>
> The device-model stubdomain is relabeled at the same time as its guest,
> just before the guest is unpaused. This requires the stubdomain itself
> to be unpaused and run for a short time prior to being relabeled, but
> allows PCI device assignments specified in xl.cfg to be completed prior
> to relabeling. This choice allows the privileges required to perform
> assignments to be dropped in the relabeling.
>
> The implementation mirrors that of the 'seclabel' and 'init_seclabel'
> options for user domains. When all used in concert, this enables the

Drop all -> "When used in concert"?

> creation of security policies that minimize run-time privileges between
> the toolstack domain, device-model stubdomains, and user domains.
>
> Signed-off-by: Scott Davis <scott.davis@starlab.io>
> ---
> Changes in v2:
> - removed superfluous chanegs to libxl_dm.c
> - changed all security label lookup failures due to FLASK being disabled
>   from warnings to hard errors based on mailing list discussion

I think this should be a separate patch before this one, since it is
distinct from adding device_model_stubdomain_init_seclabel.

> - added discussion of relabel point to commit message

I was hoping for more people's thoughts on this.  I'm just going to
write down my thoughts on this to get them out there.

The non-stubdom case is very straightforward:
<-init-><-relabel-><-unpause-><-exec->

Relabeling before unpause is a nice delineation point.  Since the
guest hasn't run, it can't be mid-operation when the relabel happens.

The stubdom case as implemented by the patch is this:
Guest:
<---------init------------->|<-relabel-><-unpause-><-exec->
Stubdom:                    |
<-init--><-unpause-><-exec->|<-relabel-><-exec->

Here the stubdom runs for some time and then gets relabeled.

The alternative would be to relabel the stubdom before unpause and
then relabel the guest:
Guest:
<----------init---------------------->|<-relabel-><-unpause-><-exec->
Stubdom:                              |
<-init-><-relabel-><-unpause-><-exec--|--exec->

Here relabel then unpause is maintained for both guest and stubdom.

Relabeling the *running* stubdom gives me pause.  We don't have any
synchronization with the stubdom's & QEMU's state.  QEMU wrote
"running" to indicate it was up, but that doesn't say anything about
the rest of the kernel.  From the other side, the stubdom and QEMU
running and having the guest label change could be surprising.

Scott, you are using this, so I may be imagining concerns that don't
exist.  And you did mention your approach gives the PCI assignment
only to the stubdom init label, which could be a nice feature.  It's
just the lack of clear delineation for the stubdom that makes me
wonder about it.

Having said that, for your approach, I think the code looks good.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Wed Aug 18 01:51:33 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 01:51:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168051.306806 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGAjl-0004VP-Nv; Wed, 18 Aug 2021 01:51:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168051.306806; Wed, 18 Aug 2021 01: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 1mGAjl-0004VI-JU; Wed, 18 Aug 2021 01:51:25 +0000
Received: by outflank-mailman (input) for mailman id 168051;
 Wed, 18 Aug 2021 01:51:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mGAjj-0004V8-TM; Wed, 18 Aug 2021 01:51:23 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mGAjj-0001L5-OP; Wed, 18 Aug 2021 01:51:23 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mGAjj-0000kG-FR; Wed, 18 Aug 2021 01:51:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mGAjj-00068I-Ek; Wed, 18 Aug 2021 01: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=gcOgqkooJBM48rr/Vrm5Osyj7tvHhF5dk1Dt7sgqfn8=; b=30TAsZRj1kbaJA8glWfV7eGU37
	DaOP6IFR+EJnEsMl/Sqk0Uda5j7We7jdU30d6wAPwKnIbENTN8xyrjQYBlHg0ISo6B5KRbpvF+apo
	O91+McrhvNv8uNoT7XjiV6Te4UJzJAdp058fVO92Zg/YDLnGtYEH8LpXZ6cgUnyMp0X0=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164229-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 164229: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c
X-Osstest-Versions-That:
    ovmf=6fdd1c13a734609aff68d37e606e995d673d9aeb
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 18 Aug 2021 01:51:23 +0000

flight 164229 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164229/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c
baseline version:
 ovmf                 6fdd1c13a734609aff68d37e606e995d673d9aeb

Last test of basis   164173  2021-08-13 01:56:17 Z    4 days
Testing same since   164229  2021-08-17 14:11:15 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jeremy Linton <jeremy.linton@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
   6fdd1c13a7..ef56f55d19  ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Aug 18 02:34:02 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 02:34:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168058.306819 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGBOl-0000bD-Vr; Wed, 18 Aug 2021 02:33:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168058.306819; Wed, 18 Aug 2021 02: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 1mGBOl-0000b6-Sr; Wed, 18 Aug 2021 02:33:47 +0000
Received: by outflank-mailman (input) for mailman id 168058;
 Wed, 18 Aug 2021 02:33: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 1mGBOj-0000aw-NL; Wed, 18 Aug 2021 02:33: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 1mGBOj-0002Ss-DP; Wed, 18 Aug 2021 02:33: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 1mGBOj-00034p-2E; Wed, 18 Aug 2021 02:33:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mGBOj-0000JR-1h; Wed, 18 Aug 2021 02:33:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=5Lw6HXiDEhCa7HDX7F2HxYz3LHDdo1XC6P9nTSaSZWw=; b=4y3Vx6ahr4byzORHyZB53Qg9AC
	iXwVrKL1CclwZjI5kOWWpRLP2iwIEXxgLKZ/1RoiAl567vZnswkeYHTo5qMXD7xOFxOjEuumKsSot
	zEhmBsgeltNnCVmjDFRChpkBpqwDI1h3hSlleJ4LP4VF9GcBLjk4o1JuzbS0DUHrxhwM=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164227-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 164227: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:test-armhf-armhf-xl-multivcpu:<job status>:broken:regression
    qemu-mainline:test-armhf-armhf-xl-arndale:<job status>:broken:regression
    qemu-mainline:test-armhf-armhf-xl-vhd:<job status>:broken:regression
    qemu-mainline:test-amd64-amd64-amd64-pvgrub:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:regression
    qemu-mainline:test-armhf-armhf-xl-vhd:host-install(5):broken:heisenbug
    qemu-mainline:test-armhf-armhf-xl-arndale:host-install(5):broken:heisenbug
    qemu-mainline:test-armhf-armhf-xl-multivcpu:host-install(5):broken:heisenbug
    qemu-mainline:test-amd64-i386-pair:guest-migrate/dst_host/src_host/debian.repeat:fail:heisenbug
    qemu-mainline:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:allowable
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check: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-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-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-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=bd44d64a3879bb6b0ca19bff3be16e0093502fac
X-Osstest-Versions-That:
    qemuu=703e8cd6189cf699c8d5c094bc68b5f3afa6ad71
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 18 Aug 2021 02:33:45 +0000

flight 164227 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164227/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl-multivcpu    <job status>                 broken in 164214
 test-armhf-armhf-xl-arndale     <job status>                 broken  in 164214
 test-armhf-armhf-xl-vhd         <job status>                 broken  in 164214
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install       fail REGR. vs. 164152
 test-amd64-amd64-i386-pvgrub 12 debian-di-install        fail REGR. vs. 164152

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-vhd      5 host-install(5) broken in 164214 pass in 164227
 test-armhf-armhf-xl-arndale  5 host-install(5) broken in 164214 pass in 164227
 test-armhf-armhf-xl-multivcpu 5 host-install(5) broken in 164214 pass in 164227
 test-amd64-i386-pair 28 guest-migrate/dst_host/src_host/debian.repeat fail pass in 164214

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds    18 guest-start/debian.repeat fail REGR. vs. 164152

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164152
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164152
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164152
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164152
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164152
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164152
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164152
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                bd44d64a3879bb6b0ca19bff3be16e0093502fac
baseline version:
 qemuu                703e8cd6189cf699c8d5c094bc68b5f3afa6ad71

Last test of basis   164152  2021-08-10 21:08:02 Z    7 days
Failing since        164194  2021-08-15 10:38:08 Z    2 days    4 attempts
Testing same since   164214  2021-08-16 21:36:56 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexander Bulekov <alxndr@bu.edu>
  Daniel P. Berrangé <berrange@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Lara Lazier <laramglazier@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@redhat.com>
  Taylor Simpson <tsimpson@quicinc.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                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-armhf-armhf-xl-multivcpu broken
broken-job test-armhf-armhf-xl-arndale broken
broken-job test-armhf-armhf-xl-vhd broken

Not pushing.

(No revision log; it would be 431 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 18 03:42:34 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 03:42:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168068.306833 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGCSw-0007S2-EE; Wed, 18 Aug 2021 03:42:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168068.306833; Wed, 18 Aug 2021 03:42:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGCSw-0007Rv-BH; Wed, 18 Aug 2021 03:42:10 +0000
Received: by outflank-mailman (input) for mailman id 168068;
 Wed, 18 Aug 2021 03:42: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 1mGCSv-0007Qz-EF; Wed, 18 Aug 2021 03:42: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 1mGCSv-0003eI-7I; Wed, 18 Aug 2021 03:42: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 1mGCSu-0006Dg-TW; Wed, 18 Aug 2021 03:42:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mGCSu-000672-T0; Wed, 18 Aug 2021 03:42:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ObkjEN3+HdnZfRI4I0Aaho/vzD81MH4M/Rnj/2NyDZo=; b=bnAFcTblZoZpF3ZnN141yrUQH3
	Ne4P/2dvsA4X+XPWfFZrYvYuotq1OwuoCtV8wDdkcKDiOySZ1qBs2LctATwFZbVCeWovkpyn5xy6f
	D3J9xHx6HjrJjEslR5ESwgTCftk0LWdQV0DlYSaBjLL71Z4Jhe+srcYxbTDc89RCUw/Y=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164231-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xtf test] 164231: all pass - PUSHED
X-Osstest-Versions-This:
    xtf=6d8000aeadb222282c96567022a623f770348989
X-Osstest-Versions-That:
    xtf=cdef9568c1b1f8831f3b8f644073e635d47f0ec4
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 18 Aug 2021 03:42:08 +0000

flight 164231 xtf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164231/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 xtf                  6d8000aeadb222282c96567022a623f770348989
baseline version:
 xtf                  cdef9568c1b1f8831f3b8f644073e635d47f0ec4

Last test of basis   163212  2021-07-01 12:40:06 Z   47 days
Testing same since   164231  2021-08-17 20:47:09 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>

jobs:
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-amd64-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    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xtf.git
   cdef956..6d8000a  6d8000aeadb222282c96567022a623f770348989 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Aug 18 05:15:43 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 05:15:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168074.306848 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGDv3-00087l-AC; Wed, 18 Aug 2021 05:15:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168074.306848; Wed, 18 Aug 2021 05:15:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGDv3-00087e-6w; Wed, 18 Aug 2021 05:15:17 +0000
Received: by outflank-mailman (input) for mailman id 168074;
 Wed, 18 Aug 2021 05:15:15 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=E0Bg=NJ=gmail.com=andr2000@srs-us1.protection.inumbo.net>)
 id 1mGDv1-00087Y-Fr
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 05:15:15 +0000
Received: from mail-lj1-x229.google.com (unknown [2a00:1450:4864:20::229])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 77d7db9f-1cfc-4f7c-aa0f-615060bd064f;
 Wed, 18 Aug 2021 05:15:14 +0000 (UTC)
Received: by mail-lj1-x229.google.com with SMTP id y6so2812932lje.2
 for <xen-devel@lists.xenproject.org>; Tue, 17 Aug 2021 22:15:14 -0700 (PDT)
Received: from [192.168.10.179] ([185.199.97.5])
 by smtp.gmail.com with ESMTPSA id c19sm413013ljn.75.2021.08.17.22.15.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 17 Aug 2021 22:15: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: 77d7db9f-1cfc-4f7c-aa0f-615060bd064f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-transfer-encoding:content-language;
        bh=5kE/EtV3LMXfGJtOkDiJg/rGe0/2iWhqoJv49Qxz95s=;
        b=ol4l2TzorBRL8vwLoCC5HMyg6gEvbKs3NP7IZI90XnEoRDh0C9vctC10YmCM3rnI9w
         VGJEMpxtpZ/lZwoffR/zhUYnMqRjQUPpl+faagcklMJInpgB3o/j+whazZkh8XSZu1Ad
         nJdILFD12EdwFTVlWUVM4zSRGHO1lemSSRtCG2PbKpzgGuFFUJVYOxwWLh5/4rraktk9
         xcRdqHhMSklMsffEov+JHgdDzz/m9IvrntI1bcOcCpOeUWJ+ADXqgIqUQwikSMfiAcOz
         p12mTu0W9qXic6mDOdVcAUPdYM87wE5ojQJGmPVr/7E7tLFiRsGWnaFPVPVjKOG+m+B4
         fkyg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-transfer-encoding
         :content-language;
        bh=5kE/EtV3LMXfGJtOkDiJg/rGe0/2iWhqoJv49Qxz95s=;
        b=imWq/GmsNGefJIw15XoiCUVRz7Z/67MLBkjk1zs8H4GmcgJisKs828hnzvcGyQn/LL
         a9Rejd6QsTIUVdRCyAH4Z4mu+S8GfuRoarGaDjl7szWUsvNty/ULlbrTPhOIEkc1Cxyb
         ZfbiWHTWL66gjwm3LmjlmRvv84gR6VsGHOjDwOF5a0By1KHT2LP9UufvA1q+6z2Tgjq3
         ZGnzBifgB/yCW8d9ahSkpbF2Ogwc5Rhm6KyZy3l5VNJEuRtQO7AVjbyiezilUoRy38OG
         KeiGTymCBuv1gPvY7Aw8MbByrUQP150zJ2jKoQcu4cm603tmrXXIk9Nr0ZQyWyKAq7aN
         oq2A==
X-Gm-Message-State: AOAM533r/p4n6HHtF4T2ltm8E4IB9SSROZm87F43C38+imk1uT6+mDwj
	1+zRbt85ZwsQmeNOIWHdPeo=
X-Google-Smtp-Source: ABdhPJwxwCiPmTjp554icpA6ORWUWsFQUPztFOyjvkgDL08CmZzugfRcxtpXv8o9dkOfJLHs7RZTeg==
X-Received: by 2002:a2e:9256:: with SMTP id v22mr6283353ljg.150.1629263712942;
        Tue, 17 Aug 2021 22:15:12 -0700 (PDT)
Subject: Re: [PATCH] xen/arm: smmu: Set/clear IOMMU domain for device
To: Julien Grall <julien@xen.org>, sstabellini@kernel.org,
 Volodymyr_Babchuk@epam.com, xen-devel@lists.xenproject.org
Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
References: <20210811130356.1143743-1-andr2000@gmail.com>
 <c964783e-73ee-a971-58f2-e2bc4b78a5ff@xen.org>
From: Oleksandr Andrushchenko <andr2000@gmail.com>
Message-ID: <9c60a24b-eee2-d863-73ab-4883d7b030a4@gmail.com>
Date: Wed, 18 Aug 2021 08:15:10 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <c964783e-73ee-a971-58f2-e2bc4b78a5ff@xen.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US

Hi, Julien!

On 17.08.21 20:21, Julien Grall wrote:
> Hi Oleksandr,
>
> Apologies for the late answer.
>
> On 11/08/2021 14:03, Oleksandr Andrushchenko wrote:
>> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
>>
>> When a device is assigned/de-assigned it is required to properly set
>> IOMMU domain used to protect the device. This assignment was missing,
>> thus it was not possible to de-assign the device:
>>
>> (XEN) Deassigning device 0000:03:00.0 from dom2
>> (XEN) smmu: 0000:03:00.0:  not attached to domain 2
>> (XEN) d2: deassign (0000:03:00.0) failed (-3)
>>
>> Fix this by assigning IOMMU domain on arm_smmu_assign_dev and reset it
>> to NULL on arm_smmu_deassign_dev.
> I think this was introduced by commit 06d1f7a278dd "xen/arm: smmuv1: Keep track of S2CR state". If so, please add:
>
> Fixes: 06d1f7a278dd ("xen/arm: smmuv1: Keep track of S2CR state")
Will do
>
> Looking at the commit message, the IOMMU domain used to be set/unset in arm_smmu_{attach, detach}_dev() but Linux drop it because they now rely in the core IOMMU framework to track the domain.
>
> So I agree with the new position for...
>
>>
>> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
>> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>> ---
>>   xen/drivers/passthrough/arm/smmu.c | 4 ++++
>>   1 file changed, 4 insertions(+)
>>
>> diff --git a/xen/drivers/passthrough/arm/smmu.c b/xen/drivers/passthrough/arm/smmu.c
>> index c234ad9c7f1e..373d9d4d123a 100644
>> --- a/xen/drivers/passthrough/arm/smmu.c
>> +++ b/xen/drivers/passthrough/arm/smmu.c
>> @@ -2768,6 +2768,7 @@ static int arm_smmu_assign_dev(struct domain *d, u8 devfn,
>>               arm_smmu_destroy_iommu_domain(domain);
>>       } else {
>>           atomic_inc(&domain->ref);
>> +        dev_iommu_domain(dev) = domain;
>
> ... this one. However...
>
>>       }
>>     out:
>> @@ -2794,7 +2795,10 @@ static int arm_smmu_deassign_dev(struct domain *d, struct device *dev)
>>       atomic_dec(&domain->ref);
>>         if (domain->ref.counter == 0)
>> +    {
>>           arm_smmu_destroy_iommu_domain(domain);
>> +        dev_iommu_domain(dev) = NULL;
>> +    }
>
> ... I think this one is incorrect because you would only unset dev_iommu_domain() is the refcount drop to 0. You can have multiple device in the same domain, so the ref.counter may not be 0.
>
> So I think this needs to be moved outside of the if.
Yes, absolutely
> Note that it is also a good practice to remove any reference (e.g. set to NULL) before freeing even if it doesn't much matter here.
>
> Lastly, the file is using the Linux coding style. So { needs to be on the same line as the if.
>
> Cheers,
>
Thanks,

Oleksandr



From xen-devel-bounces@lists.xenproject.org Wed Aug 18 05:22:13 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 05:22:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168080.306859 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGE1h-00018s-25; Wed, 18 Aug 2021 05:22:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168080.306859; Wed, 18 Aug 2021 05: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 1mGE1g-00018l-Sq; Wed, 18 Aug 2021 05:22:08 +0000
Received: by outflank-mailman (input) for mailman id 168080;
 Wed, 18 Aug 2021 05:22:07 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=E0Bg=NJ=gmail.com=andr2000@srs-us1.protection.inumbo.net>)
 id 1mGE1e-00017u-SU
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 05:22:06 +0000
Received: from mail-lj1-x230.google.com (unknown [2a00:1450:4864:20::230])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 21b5b610-ae6a-4085-a7f5-1ebdcc59b9d4;
 Wed, 18 Aug 2021 05:22:05 +0000 (UTC)
Received: by mail-lj1-x230.google.com with SMTP id i28so2794405ljm.7
 for <xen-devel@lists.xenproject.org>; Tue, 17 Aug 2021 22:22:05 -0700 (PDT)
Received: from a2klaptop.localdomain ([185.199.97.5])
 by smtp.gmail.com with ESMTPSA id d9sm487219ljq.54.2021.08.17.22.22.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 17 Aug 2021 22:22: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: 21b5b610-ae6a-4085-a7f5-1ebdcc59b9d4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=chF99kLUEJ6GaQDk1MdS20aNXpvmw60+IvjkdFNFHtQ=;
        b=tyrBao7nNF50005uoF+B9eDH2dI1bMj3HmSyiUqQaaOFgHtXma0WTcOhPYVhWcDY38
         N/08EmOGM/gIfKX4Zjgea+3oEzqpmUAX5wqbWTzMiZfjqDyzPbRK3XwdGfMaOmTFWOc4
         CJn+CG+gFzu7TIG1p08+PSTlS1GYLj0O2Sg2clopRJxBCsQSIxo44pkh2NfrYxflNVoN
         At83RC3ctdKZHovWrhEOCs0gj0mcC9wBtFjjtkzfFd0FnoYcOyVVxH22RcjDE63FTS6Q
         FOhP6wjKoSe4FWQjGWBchSHtXKfGTipNE80pRpupnx/sBZqOfOuCcJHu8muBkvZIZi5K
         r/zg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=chF99kLUEJ6GaQDk1MdS20aNXpvmw60+IvjkdFNFHtQ=;
        b=qB80BdU2P+K3m5NiB2qqAEZ+7g9IHkfQ2z0LTLblI1CmYxoX3EDzdLrKGoKModRh5t
         JkAy9UczDmOu2gDcJM76EWq7s5/fxD/SbPJzimpMCSapmpVP/qAqTzZ39xuCBNmAeWpZ
         rRI9Qga5bMik4ubHAFK5rWxPc6Httpe+GsN7+CUGxYnwknsNqgD4ZT82TSyDYuK6NoFO
         9UejW5Z3qbvfXbHYPPZpmZLNWFoFwskFpqZh+xz5SSo6gcxHG+yA3zFguSNx5cr2Zybe
         e525xVoGFbtFtmkjh54Ph71U7Bzml+jAxrzVUtKXLARVJTv5oAyBgsSjZy6xjw4I+yT1
         jKhA==
X-Gm-Message-State: AOAM5328irD1fjPHLdcEvmGmV+fZ6qecwVMxuNMb6nrNoaOWq0q+u5Ux
	T2HQPNzwyDxyFVijyBTVpvk=
X-Google-Smtp-Source: ABdhPJzXZ3uASSMWKoiso5N8kPrHeEDw5GDxKzdWrlas45OaX4IlaMqjeAWb6V01KcTXr6vSvL6hFg==
X-Received: by 2002:a2e:b4b9:: with SMTP id q25mr6128371ljm.180.1629264124854;
        Tue, 17 Aug 2021 22:22:04 -0700 (PDT)
From: Oleksandr Andrushchenko <andr2000@gmail.com>
To: sstabellini@kernel.org,
	julien@xen.org,
	Volodymyr_Babchuk@epam.com,
	xen-devel@lists.xenproject.org
Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH v2] xen/arm: smmu: Set/clear IOMMU domain for device
Date: Wed, 18 Aug 2021 08:22:02 +0300
Message-Id: <20210818052202.1711084-1-andr2000@gmail.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

When a device is assigned/de-assigned it is required to properly set
IOMMU domain used to protect the device. This assignment was missing,
thus it was not possible to de-assign the device:

(XEN) Deassigning device 0000:03:00.0 from dom2
(XEN) smmu: 0000:03:00.0:  not attached to domain 2
(XEN) d2: deassign (0000:03:00.0) failed (-3)

Fix this by assigning IOMMU domain on arm_smmu_assign_dev and reset it
to NULL on arm_smmu_deassign_dev.

Fixes: 06d1f7a278dd ("xen/arm: smmuv1: Keep track of S2CR state")

Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

---
v2:
Fixed NULL assignment out of refcount == 0 check for domain
Added "Fixes" tag
---
 xen/drivers/passthrough/arm/smmu.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/drivers/passthrough/arm/smmu.c b/xen/drivers/passthrough/arm/smmu.c
index c234ad9c7f1e..c9dfc4caa0d6 100644
--- a/xen/drivers/passthrough/arm/smmu.c
+++ b/xen/drivers/passthrough/arm/smmu.c
@@ -2768,6 +2768,7 @@ static int arm_smmu_assign_dev(struct domain *d, u8 devfn,
 			arm_smmu_destroy_iommu_domain(domain);
 	} else {
 		atomic_inc(&domain->ref);
+		dev_iommu_domain(dev) = domain;
 	}
 
 out:
@@ -2791,6 +2792,7 @@ static int arm_smmu_deassign_dev(struct domain *d, struct device *dev)
 	spin_lock(&xen_domain->lock);
 
 	arm_smmu_detach_dev(domain, dev);
+	dev_iommu_domain(dev) = NULL;
 	atomic_dec(&domain->ref);
 
 	if (domain->ref.counter == 0)
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 18 05:39:03 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 05:39:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168086.306870 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGEHx-0002j3-EN; Wed, 18 Aug 2021 05:38:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168086.306870; Wed, 18 Aug 2021 05: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 1mGEHx-0002iw-BF; Wed, 18 Aug 2021 05:38:57 +0000
Received: by outflank-mailman (input) for mailman id 168086;
 Wed, 18 Aug 2021 05:38:55 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zSeM=NJ=linaro.org=takahiro.akashi@srs-us1.protection.inumbo.net>)
 id 1mGEHv-0002io-7g
 for xen-devel@lists.xen.org; Wed, 18 Aug 2021 05:38:55 +0000
Received: from mail-pf1-x432.google.com (unknown [2607:f8b0:4864:20::432])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 7c31f172-13b1-431e-b0e5-2cd4d75399a9;
 Wed, 18 Aug 2021 05:38:50 +0000 (UTC)
Received: by mail-pf1-x432.google.com with SMTP id 18so1009978pfh.9
 for <xen-devel@lists.xen.org>; Tue, 17 Aug 2021 22:38:49 -0700 (PDT)
Received: from laputa (pdb6272e8.tkyea130.ap.so-net.ne.jp. [219.98.114.232])
 by smtp.gmail.com with ESMTPSA id 8sm4567955pfo.153.2021.08.17.22.38.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 17 Aug 2021 22:38: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: 7c31f172-13b1-431e-b0e5-2cd4d75399a9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=date:from:to:cc:subject:message-id:references:mime-version
         :content-disposition:content-transfer-encoding:in-reply-to;
        bh=FqdNClbKeSHcmfceLo37jBr4pYEBqwbc1+6MhccZFbo=;
        b=h8wm3LdzPX8O7NBUIcCAE8g3pMxy/CgYs9dBMZTWQw7yNrYR8P4N2eWgy2IikT9KE2
         3M++c7vFu/ibAmFt94Bs5RhWLYjUuuvG6CSCrFyjSalKyS425wz/3l5mowlU5ESYA5nq
         Nh9aMW2OCAB0JkFwFB9/pDBSDdexYOitKm3XzOu/NxCnnyZC7qdHtUfIKbCmsfqr1z/M
         3p+NI4EUurPsuBfsM6sljHFwZrj5lxjSq1jbC7o0iPKehj5CzyVpO0dPauZ99EPR6KC+
         HLhhW03I3uNuWzNA8headZ/waRqt89vwhLEIWTcGe9FouwOqY5cu3uMUu5gy6wzvGcDq
         iejg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:date:from:to:cc:subject:message-id:references
         :mime-version:content-disposition:content-transfer-encoding
         :in-reply-to;
        bh=FqdNClbKeSHcmfceLo37jBr4pYEBqwbc1+6MhccZFbo=;
        b=o0Ub11rIPrhJWmzfSeqQzLsBonJm2qoalkS+cd5RG0qACkUUd22bKgmjLKUNIgJ6qS
         qg8+o8CT3usecKfj8KwI5ftRPPJbO8GNHlhkJmn+owYcJZ18N8lL3s8O+IhvLRSDh0Aw
         uTIFP7vFxYPV1EG9g+mLsRK1Nv/drruyqpBfRW9pL3+5AwBoexFiDFbsKAfm6BZD0LNA
         tt2qngXMsmdysV2EbtkyAhUOOP2PZbm6ecyvEmSPPDCiKdH7ULW0TCf610qHsE18wNm+
         uQDhtG+eSzrLuN8psBZXUbyT/oO2TRWA6p0WdHvyKLdAmfWAW5JIH/IHiVghYHJaK7nW
         zLJw==
X-Gm-Message-State: AOAM5323PnazLiScEOpGuJ9rCLvr66OHoq3XcjQnvAnXAybBRUU60fMQ
	qEuFMQV34LGfzYST7XWcOwSzzA==
X-Google-Smtp-Source: ABdhPJyhJ48c48IYgWurAL7lUw1Nqq2dAVQB4udV0g6QUoujVbz/2PbiJA8mnx5KB19AuasSeYWQbQ==
X-Received: by 2002:a63:515:: with SMTP id 21mr7348057pgf.70.1629265128848;
        Tue, 17 Aug 2021 22:38:48 -0700 (PDT)
Date: Wed, 18 Aug 2021 14:38:40 +0900
From: AKASHI Takahiro <takahiro.akashi@linaro.org>
To: Wei Chen <Wei.Chen@arm.com>
Cc: Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Alex Benn??e <alex.bennee@linaro.org>,
	Stratos Mailing List <stratos-dev@op-lists.linaro.org>,
	"virtio-dev@lists.oasis-open.org" <virtio-dev@lists.oasis-open.org>,
	Arnd Bergmann <arnd.bergmann@linaro.org>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	"stefanha@redhat.com" <stefanha@redhat.com>,
	Jan Kiszka <jan.kiszka@siemens.com>,
	Carl van Schaik <cvanscha@qti.qualcomm.com>,
	"pratikp@quicinc.com" <pratikp@quicinc.com>,
	Srivatsa Vaddagiri <vatsa@codeaurora.org>,
	Jean-Philippe Brucker <jean-philippe@linaro.org>,
	Mathieu Poirier <mathieu.poirier@linaro.org>,
	Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Artem Mygaiev <Artem_Mygaiev@epam.com>,
	Julien Grall <julien@xen.org>, Juergen Gross <jgross@suse.com>,
	Paul Durrant <paul@xen.org>, Xen Devel <xen-devel@lists.xen.org>
Subject: Re: Enabling hypervisor agnosticism for VirtIO backends
Message-ID: <20210818053840.GE39588@laputa>
References: <87v94ldrqq.fsf@linaro.org>
 <alpine.DEB.2.21.2108041055390.9768@sstabellini-ThinkPad-T480s>
 <20210811062748.GB54169@laputa>
 <CAPD2p-mMeY=MDbAdLGrmmioSkJo147aMDrK=Qzr=PCa4jztGGg@mail.gmail.com>
 <DB9PR08MB685767CFAA4A8BCE7D2225A89EFD9@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <20210817080757.GC43203@laputa>
 <DB9PR08MB6857C656472153A42FB438C49EFE9@DB9PR08MB6857.eurprd08.prod.outlook.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <DB9PR08MB6857C656472153A42FB438C49EFE9@DB9PR08MB6857.eurprd08.prod.outlook.com>

On Tue, Aug 17, 2021 at 08:39:09AM +0000, Wei Chen wrote:
> Hi Akashi,
> 
> > -----Original Message-----
> > From: AKASHI Takahiro <takahiro.akashi@linaro.org>
> > Sent: 2021年8月17日 16:08
> > To: Wei Chen <Wei.Chen@arm.com>
> > Cc: Oleksandr Tyshchenko <olekstysh@gmail.com>; Stefano Stabellini
> > <sstabellini@kernel.org>; Alex Benn??e <alex.bennee@linaro.org>; Stratos
> > Mailing List <stratos-dev@op-lists.linaro.org>; virtio-dev@lists.oasis-
> > open.org; Arnd Bergmann <arnd.bergmann@linaro.org>; Viresh Kumar
> > <viresh.kumar@linaro.org>; Stefano Stabellini
> > <stefano.stabellini@xilinx.com>; stefanha@redhat.com; Jan Kiszka
> > <jan.kiszka@siemens.com>; Carl van Schaik <cvanscha@qti.qualcomm.com>;
> > pratikp@quicinc.com; Srivatsa Vaddagiri <vatsa@codeaurora.org>; Jean-
> > Philippe Brucker <jean-philippe@linaro.org>; Mathieu Poirier
> > <mathieu.poirier@linaro.org>; Oleksandr Tyshchenko
> > <Oleksandr_Tyshchenko@epam.com>; Bertrand Marquis
> > <Bertrand.Marquis@arm.com>; Artem Mygaiev <Artem_Mygaiev@epam.com>; Julien
> > Grall <julien@xen.org>; Juergen Gross <jgross@suse.com>; Paul Durrant
> > <paul@xen.org>; Xen Devel <xen-devel@lists.xen.org>
> > Subject: Re: Enabling hypervisor agnosticism for VirtIO backends
> >
> > Hi Wei, Oleksandr,
> >
> > On Mon, Aug 16, 2021 at 10:04:03AM +0000, Wei Chen wrote:
> > > Hi All,
> > >
> > > Thanks for Stefano to link my kvmtool for Xen proposal here.
> > > This proposal is still discussing in Xen and KVM communities.
> > > The main work is to decouple the kvmtool from KVM and make
> > > other hypervisors can reuse the virtual device implementations.
> > >
> > > In this case, we need to introduce an intermediate hypervisor
> > > layer for VMM abstraction, Which is, I think it's very close
> > > to stratos' virtio hypervisor agnosticism work.
> >
> > # My proposal[1] comes from my own idea and doesn't always represent
> > # Linaro's view on this subject nor reflect Alex's concerns. Nevertheless,
> >
> > Your idea and my proposal seem to share the same background.
> > Both have the similar goal and currently start with, at first, Xen
> > and are based on kvm-tool. (Actually, my work is derived from
> > EPAM's virtio-disk, which is also based on kvm-tool.)
> >
> > In particular, the abstraction of hypervisor interfaces has a same
> > set of interfaces (for your "struct vmm_impl" and my "RPC interfaces").
> > This is not co-incident as we both share the same origin as I said above.
> > And so we will also share the same issues. One of them is a way of
> > "sharing/mapping FE's memory". There is some trade-off between
> > the portability and the performance impact.
> > So we can discuss the topic here in this ML, too.
> > (See Alex's original email, too).
> >
> Yes, I agree.
> 
> > On the other hand, my approach aims to create a "single-binary" solution
> > in which the same binary of BE vm could run on any hypervisors.
> > Somehow similar to your "proposal-#2" in [2], but in my solution, all
> > the hypervisor-specific code would be put into another entity (VM),
> > named "virtio-proxy" and the abstracted operations are served via RPC.
> > (In this sense, BE is hypervisor-agnostic but might have OS dependency.)
> > But I know that we need discuss if this is a requirement even
> > in Stratos project or not. (Maybe not)
> >
> 
> Sorry, I haven't had time to finish reading your virtio-proxy completely
> (I will do it ASAP). But from your description, it seems we need a
> 3rd VM between FE and BE? My concern is that, if my assumption is right,
> will it increase the latency in data transport path? Even if we're
> using some lightweight guest like RTOS or Unikernel,

Yes, you're right. But I'm afraid that it is a matter of degree.
As far as we execute 'mapping' operations at every fetch of payload,
we will see latency issue (even in your case) and if we have some solution
for it, we won't see it neither in my proposal :)

> > Specifically speaking about kvm-tool, I have a concern about its
> > license term; Targeting different hypervisors and different OSs
> > (which I assume includes RTOS's), the resultant library should be
> > license permissive and GPL for kvm-tool might be an issue.
> > Any thoughts?
> >
> 
> Yes. If user want to implement a FreeBSD device model, but the virtio
> library is GPL. Then GPL would be a problem. If we have another good
> candidate, I am open to it.

I have some candidates, particularly for vq/vring, in my mind:
* Open-AMP, or
* corresponding Free-BSD code

-Takahiro Akashi


> > -Takahiro Akashi
> >
> >
> > [1] https://op-lists.linaro.org/pipermail/stratos-dev/2021-
> > August/000548.html
> > [2] https://marc.info/?l=xen-devel&m=162373754705233&w=2
> >
> > >
> > > > From: Oleksandr Tyshchenko <olekstysh@gmail.com>
> > > > Sent: 2021年8月14日 23:38
> > > > To: AKASHI Takahiro <takahiro.akashi@linaro.org>; Stefano Stabellini
> > <sstabellini@kernel.org>
> > > > Cc: Alex Benn??e <alex.bennee@linaro.org>; Stratos Mailing List
> > <stratos-dev@op-lists.linaro.org>; virtio-dev@lists.oasis-open.org; Arnd
> > Bergmann <arnd.bergmann@linaro.org>; Viresh Kumar
> > <viresh.kumar@linaro.org>; Stefano Stabellini
> > <stefano.stabellini@xilinx.com>; stefanha@redhat.com; Jan Kiszka
> > <jan.kiszka@siemens.com>; Carl van Schaik <cvanscha@qti.qualcomm.com>;
> > pratikp@quicinc.com; Srivatsa Vaddagiri <vatsa@codeaurora.org>; Jean-
> > Philippe Brucker <jean-philippe@linaro.org>; Mathieu Poirier
> > <mathieu.poirier@linaro.org>; Wei Chen <Wei.Chen@arm.com>; Oleksandr
> > Tyshchenko <Oleksandr_Tyshchenko@epam.com>; Bertrand Marquis
> > <Bertrand.Marquis@arm.com>; Artem Mygaiev <Artem_Mygaiev@epam.com>; Julien
> > Grall <julien@xen.org>; Juergen Gross <jgross@suse.com>; Paul Durrant
> > <paul@xen.org>; Xen Devel <xen-devel@lists.xen.org>
> > > > Subject: Re: Enabling hypervisor agnosticism for VirtIO backends
> > > >
> > > > Hello, all.
> > > >
> > > > Please see some comments below. And sorry for the possible format
> > issues.
> > > >
> > > > > On Wed, Aug 11, 2021 at 9:27 AM AKASHI Takahiro
> > <mailto:takahiro.akashi@linaro.org> wrote:
> > > > > On Wed, Aug 04, 2021 at 12:20:01PM -0700, Stefano Stabellini wrote:
> > > > > > CCing people working on Xen+VirtIO and IOREQs. Not trimming the
> > original
> > > > > > email to let them read the full context.
> > > > > >
> > > > > > My comments below are related to a potential Xen implementation,
> > not
> > > > > > because it is the only implementation that matters, but because it
> > is
> > > > > > the one I know best.
> > > > >
> > > > > Please note that my proposal (and hence the working prototype)[1]
> > > > > is based on Xen's virtio implementation (i.e. IOREQ) and
> > particularly
> > > > > EPAM's virtio-disk application (backend server).
> > > > > It has been, I believe, well generalized but is still a bit biased
> > > > > toward this original design.
> > > > >
> > > > > So I hope you like my approach :)
> > > > >
> > > > > [1] https://op-lists.linaro.org/pipermail/stratos-dev/2021-
> > August/000546.html
> > > > >
> > > > > Let me take this opportunity to explain a bit more about my approach
> > below.
> > > > >
> > > > > > Also, please see this relevant email thread:
> > > > > > https://marc.info/?l=xen-devel&m=162373754705233&w=2
> > > > > >
> > > > > >
> > > > > > On Wed, 4 Aug 2021, Alex Bennée wrote:
> > > > > > > Hi,
> > > > > > >
> > > > > > > One of the goals of Project Stratos is to enable hypervisor
> > agnostic
> > > > > > > backends so we can enable as much re-use of code as possible and
> > avoid
> > > > > > > repeating ourselves. This is the flip side of the front end
> > where
> > > > > > > multiple front-end implementations are required - one per OS,
> > assuming
> > > > > > > you don't just want Linux guests. The resultant guests are
> > trivially
> > > > > > > movable between hypervisors modulo any abstracted paravirt type
> > > > > > > interfaces.
> > > > > > >
> > > > > > > In my original thumb nail sketch of a solution I envisioned
> > vhost-user
> > > > > > > daemons running in a broadly POSIX like environment. The
> > interface to
> > > > > > > the daemon is fairly simple requiring only some mapped memory
> > and some
> > > > > > > sort of signalling for events (on Linux this is eventfd). The
> > idea was a
> > > > > > > stub binary would be responsible for any hypervisor specific
> > setup and
> > > > > > > then launch a common binary to deal with the actual virtqueue
> > requests
> > > > > > > themselves.
> > > > > > >
> > > > > > > Since that original sketch we've seen an expansion in the sort
> > of ways
> > > > > > > backends could be created. There is interest in encapsulating
> > backends
> > > > > > > in RTOSes or unikernels for solutions like SCMI. There interest
> > in Rust
> > > > > > > has prompted ideas of using the trait interface to abstract
> > differences
> > > > > > > away as well as the idea of bare-metal Rust backends.
> > > > > > >
> > > > > > > We have a card (STR-12) called "Hypercall Standardisation" which
> > > > > > > calls for a description of the APIs needed from the hypervisor
> > side to
> > > > > > > support VirtIO guests and their backends. However we are some
> > way off
> > > > > > > from that at the moment as I think we need to at least
> > demonstrate one
> > > > > > > portable backend before we start codifying requirements. To that
> > end I
> > > > > > > want to think about what we need for a backend to function.
> > > > > > >
> > > > > > > Configuration
> > > > > > > =============
> > > > > > >
> > > > > > > In the type-2 setup this is typically fairly simple because the
> > host
> > > > > > > system can orchestrate the various modules that make up the
> > complete
> > > > > > > system. In the type-1 case (or even type-2 with delegated
> > service VMs)
> > > > > > > we need some sort of mechanism to inform the backend VM about
> > key
> > > > > > > details about the system:
> > > > > > >
> > > > > > >   - where virt queue memory is in it's address space
> > > > > > >   - how it's going to receive (interrupt) and trigger (kick)
> > events
> > > > > > >   - what (if any) resources the backend needs to connect to
> > > > > > >
> > > > > > > Obviously you can elide over configuration issues by having
> > static
> > > > > > > configurations and baking the assumptions into your guest images
> > however
> > > > > > > this isn't scalable in the long term. The obvious solution seems
> > to be
> > > > > > > extending a subset of Device Tree data to user space but perhaps
> > there
> > > > > > > are other approaches?
> > > > > > >
> > > > > > > Before any virtio transactions can take place the appropriate
> > memory
> > > > > > > mappings need to be made between the FE guest and the BE guest.
> > > > > >
> > > > > > > Currently the whole of the FE guests address space needs to be
> > visible
> > > > > > > to whatever is serving the virtio requests. I can envision 3
> > approaches:
> > > > > > >
> > > > > > >  * BE guest boots with memory already mapped
> > > > > > >
> > > > > > >  This would entail the guest OS knowing where in it's Guest
> > Physical
> > > > > > >  Address space is already taken up and avoiding clashing. I
> > would assume
> > > > > > >  in this case you would want a standard interface to userspace
> > to then
> > > > > > >  make that address space visible to the backend daemon.
> > > > >
> > > > > Yet another way here is that we would have well known "shared
> > memory" between
> > > > > VMs. I think that Jailhouse's ivshmem gives us good insights on this
> > matter
> > > > > and that it can even be an alternative for hypervisor-agnostic
> > solution.
> > > > >
> > > > > (Please note memory regions in ivshmem appear as a PCI device and
> > can be
> > > > > mapped locally.)
> > > > >
> > > > > I want to add this shared memory aspect to my virtio-proxy, but
> > > > > the resultant solution would eventually look similar to ivshmem.
> > > > >
> > > > > > >  * BE guests boots with a hypervisor handle to memory
> > > > > > >
> > > > > > >  The BE guest is then free to map the FE's memory to where it
> > wants in
> > > > > > >  the BE's guest physical address space.
> > > > > >
> > > > > > I cannot see how this could work for Xen. There is no "handle" to
> > give
> > > > > > to the backend if the backend is not running in dom0. So for Xen I
> > think
> > > > > > the memory has to be already mapped
> > > > >
> > > > > In Xen's IOREQ solution (virtio-blk), the following information is
> > expected
> > > > > to be exposed to BE via Xenstore:
> > > > > (I know that this is a tentative approach though.)
> > > > >    - the start address of configuration space
> > > > >    - interrupt number
> > > > >    - file path for backing storage
> > > > >    - read-only flag
> > > > > And the BE server have to call a particular hypervisor interface to
> > > > > map the configuration space.
> > > >
> > > > Yes, Xenstore was chosen as a simple way to pass configuration info to
> > the backend running in a non-toolstack domain.
> > > > I remember, there was a wish to avoid using Xenstore in Virtio backend
> > itself if possible, so for non-toolstack domain, this could done with
> > adjusting devd (daemon that listens for devices and launches backends)
> > > > to read backend configuration from the Xenstore anyway and pass it to
> > the backend via command line arguments.
> > > >
> > >
> > > Yes, in current PoC code we're using xenstore to pass device
> > configuration.
> > > We also designed a static device configuration parse method for Dom0less
> > or
> > > other scenarios don't have xentool. yes, it's from device model command
> > line
> > > or a config file.
> > >
> > > > But, if ...
> > > >
> > > > >
> > > > > In my approach (virtio-proxy), all those Xen (or hypervisor)-
> > specific
> > > > > stuffs are contained in virtio-proxy, yet another VM, to hide all
> > details.
> > > >
> > > > ... the solution how to overcome that is already found and proven to
> > work then even better.
> > > >
> > > >
> > > >
> > > > > # My point is that a "handle" is not mandatory for executing mapping.
> > > > >
> > > > > > and the mapping probably done by the
> > > > > > toolstack (also see below.) Or we would have to invent a new Xen
> > > > > > hypervisor interface and Xen virtual machine privileges to allow
> > this
> > > > > > kind of mapping.
> > > > >
> > > > > > If we run the backend in Dom0 that we have no problems of course.
> > > > >
> > > > > One of difficulties on Xen that I found in my approach is that
> > calling
> > > > > such hypervisor intefaces (registering IOREQ, mapping memory) is
> > only
> > > > > allowed on BE servers themselvies and so we will have to extend
> > those
> > > > > interfaces.
> > > > > This, however, will raise some concern on security and privilege
> > distribution
> > > > > as Stefan suggested.
> > > >
> > > > We also faced policy related issues with Virtio backend running in
> > other than Dom0 domain in a "dummy" xsm mode. In our target system we run
> > the backend in a driver
> > > > domain (we call it DomD) where the underlying H/W resides. We trust it,
> > so we wrote policy rules (to be used in "flask" xsm mode) to provide it
> > with a little bit more privileges than a simple DomU had.
> > > > Now it is permitted to issue device-model, resource and memory
> > mappings, etc calls.
> > > >
> > > > > >
> > > > > >
> > > > > > > To activate the mapping will
> > > > > > >  require some sort of hypercall to the hypervisor. I can see two
> > options
> > > > > > >  at this point:
> > > > > > >
> > > > > > >   - expose the handle to userspace for daemon/helper to trigger
> > the
> > > > > > >     mapping via existing hypercall interfaces. If using a helper
> > you
> > > > > > >     would have a hypervisor specific one to avoid the daemon
> > having to
> > > > > > >     care too much about the details or push that complexity into
> > a
> > > > > > >     compile time option for the daemon which would result in
> > different
> > > > > > >     binaries although a common source base.
> > > > > > >
> > > > > > >   - expose a new kernel ABI to abstract the hypercall
> > differences away
> > > > > > >     in the guest kernel. In this case the userspace would
> > essentially
> > > > > > >     ask for an abstract "map guest N memory to userspace ptr"
> > and let
> > > > > > >     the kernel deal with the different hypercall interfaces.
> > This of
> > > > > > >     course assumes the majority of BE guests would be Linux
> > kernels and
> > > > > > >     leaves the bare-metal/unikernel approaches to their own
> > devices.
> > > > > > >
> > > > > > > Operation
> > > > > > > =========
> > > > > > >
> > > > > > > The core of the operation of VirtIO is fairly simple. Once the
> > > > > > > vhost-user feature negotiation is done it's a case of receiving
> > update
> > > > > > > events and parsing the resultant virt queue for data. The vhost-
> > user
> > > > > > > specification handles a bunch of setup before that point, mostly
> > to
> > > > > > > detail where the virt queues are set up FD's for memory and
> > event
> > > > > > > communication. This is where the envisioned stub process would
> > be
> > > > > > > responsible for getting the daemon up and ready to run. This is
> > > > > > > currently done inside a big VMM like QEMU but I suspect a modern
> > > > > > > approach would be to use the rust-vmm vhost crate. It would then
> > either
> > > > > > > communicate with the kernel's abstracted ABI or be re-targeted
> > as a
> > > > > > > build option for the various hypervisors.
> > > > > >
> > > > > > One thing I mentioned before to Alex is that Xen doesn't have VMMs
> > the
> > > > > > way they are typically envisioned and described in other
> > environments.
> > > > > > Instead, Xen has IOREQ servers. Each of them connects
> > independently to
> > > > > > Xen via the IOREQ interface. E.g. today multiple QEMUs could be
> > used as
> > > > > > emulators for a single Xen VM, each of them connecting to Xen
> > > > > > independently via the IOREQ interface.
> > > > > >
> > > > > > The component responsible for starting a daemon and/or setting up
> > shared
> > > > > > interfaces is the toolstack: the xl command and the libxl/libxc
> > > > > > libraries.
> > > > >
> > > > > I think that VM configuration management (or orchestration in
> > Startos
> > > > > jargon?) is a subject to debate in parallel.
> > > > > Otherwise, is there any good assumption to avoid it right now?
> > > > >
> > > > > > Oleksandr and others I CCed have been working on ways for the
> > toolstack
> > > > > > to create virtio backends and setup memory mappings. They might be
> > able
> > > > > > to provide more info on the subject. I do think we miss a way to
> > provide
> > > > > > the configuration to the backend and anything else that the
> > backend
> > > > > > might require to start doing its job.
> > > >
> > > > Yes, some work has been done for the toolstack to handle Virtio MMIO
> > devices in
> > > > general and Virtio block devices in particular. However, it has not
> > been upstreaned yet.
> > > > Updated patches on review now:
> > > > https://lore.kernel.org/xen-devel/1621626361-29076-1-git-send-email-
> > olekstysh@gmail.com/
> > > >
> > > > There is an additional (also important) activity to improve/fix
> > foreign memory mapping on Arm which I am also involved in.
> > > > The foreign memory mapping is proposed to be used for Virtio backends
> > (device emulators) if there is a need to run guest OS completely
> > unmodified.
> > > > Of course, the more secure way would be to use grant memory mapping.
> > Brietly, the main difference between them is that with foreign mapping the
> > backend
> > > > can map any guest memory it wants to map, but with grant mapping it is
> > allowed to map only what was previously granted by the frontend.
> > > >
> > > > So, there might be a problem if we want to pre-map some guest memory
> > in advance or to cache mappings in the backend in order to improve
> > performance (because the mapping/unmapping guest pages every request
> > requires a lot of back and forth to Xen + P2M updates). In a nutshell,
> > currently, in order to map a guest page into the backend address space we
> > need to steal a real physical page from the backend domain. So, with the
> > said optimizations we might end up with no free memory in the backend
> > domain (see XSA-300). And what we try to achieve is to not waste a real
> > domain memory at all by providing safe non-allocated-yet (so unused)
> > address space for the foreign (and grant) pages to be mapped into, this
> > enabling work implies Xen and Linux (and likely DTB bindings) changes.
> > However, as it turned out, for this to work in a proper and safe way some
> > prereq work needs to be done.
> > > > You can find the related Xen discussion at:
> > > > https://lore.kernel.org/xen-devel/1627489110-25633-1-git-send-email-
> > olekstysh@gmail.com/
> > > >
> > > >
> > > > > >
> > > > > >
> > > > > > > One question is how to best handle notification and kicks. The
> > existing
> > > > > > > vhost-user framework uses eventfd to signal the daemon (although
> > QEMU
> > > > > > > is quite capable of simulating them when you use TCG). Xen has
> > it's own
> > > > > > > IOREQ mechanism. However latency is an important factor and
> > having
> > > > > > > events go through the stub would add quite a lot.
> > > > > >
> > > > > > Yeah I think, regardless of anything else, we want the backends to
> > > > > > connect directly to the Xen hypervisor.
> > > > >
> > > > > In my approach,
> > > > >  a) BE -> FE: interrupts triggered by BE calling a hypervisor
> > interface
> > > > >               via virtio-proxy
> > > > >  b) FE -> BE: MMIO to config raises events (in event channels),
> > which is
> > > > >               converted to a callback to BE via virtio-proxy
> > > > >               (Xen's event channel is internnally implemented by
> > interrupts.)
> > > > >
> > > > > I don't know what "connect directly" means here, but sending
> > interrupts
> > > > > to the opposite side would be best efficient.
> > > > > Ivshmem, I suppose, takes this approach by utilizing PCI's msi-x
> > mechanism.
> > > >
> > > > Agree that MSI would be more efficient than SPI...
> > > > At the moment, in order to notify the frontend, the backend issues a
> > specific device-model call to query Xen to inject a corresponding SPI to
> > the guest.
> > > >
> > > >
> > > >
> > > > > >
> > > > > > > Could we consider the kernel internally converting IOREQ
> > messages from
> > > > > > > the Xen hypervisor to eventfd events? Would this scale with
> > other kernel
> > > > > > > hypercall interfaces?
> > > > > > >
> > > > > > > So any thoughts on what directions are worth experimenting with?
> > > > > >
> > > > > > One option we should consider is for each backend to connect to
> > Xen via
> > > > > > the IOREQ interface. We could generalize the IOREQ interface and
> > make it
> > > > > > hypervisor agnostic. The interface is really trivial and easy to
> > add.
> > > > >
> > > > > As I said above, my proposal does the same thing that you mentioned
> > here :)
> > > > > The difference is that I do call hypervisor interfaces via virtio-
> > proxy.
> > > > >
> > > > > > The only Xen-specific part is the notification mechanism, which is
> > an
> > > > > > event channel. If we replaced the event channel with something
> > else the
> > > > > > interface would be generic. See:
> > > > > > https://gitlab.com/xen-project/xen/-
> > /blob/staging/xen/include/public/hvm/ioreq.h#L52
> > > > > >
> > > > > > I don't think that translating IOREQs to eventfd in the kernel is
> > a
> > > > > > good idea: if feels like it would be extra complexity and that the
> > > > > > kernel shouldn't be involved as this is a backend-hypervisor
> > interface.
> > > > >
> > > > > Given that we may want to implement BE as a bare-metal application
> > > > > as I did on Zephyr, I don't think that the translation would not be
> > > > > a big issue, especially on RTOS's.
> > > > > It will be some kind of abstraction layer of interrupt handling
> > > > > (or nothing but a callback mechanism).
> > > > >
> > > > > > Also, eventfd is very Linux-centric and we are trying to design an
> > > > > > interface that could work well for RTOSes too. If we want to do
> > > > > > something different, both OS-agnostic and hypervisor-agnostic,
> > perhaps
> > > > > > we could design a new interface. One that could be implementable
> > in the
> > > > > > Xen hypervisor itself (like IOREQ) and of course any other
> > hypervisor
> > > > > > too.
> > > > > >
> > > > > >
> > > > > > There is also another problem. IOREQ is probably not be the only
> > > > > > interface needed. Have a look at
> > > > > > https://marc.info/?l=xen-devel&m=162373754705233&w=2. Don't we
> > also need
> > > > > > an interface for the backend to inject interrupts into the
> > frontend? And
> > > > > > if the backend requires dynamic memory mappings of frontend pages,
> > then
> > > > > > we would also need an interface to map/unmap domU pages.
> > > > >
> > > > > My proposal document might help here; All the interfaces required
> > for
> > > > > virtio-proxy (or hypervisor-related interfaces) are listed as
> > > > > RPC protocols :)
> > > > >
> > > > > > These interfaces are a lot more problematic than IOREQ: IOREQ is
> > tiny
> > > > > > and self-contained. It is easy to add anywhere. A new interface to
> > > > > > inject interrupts or map pages is more difficult to manage because
> > it
> > > > > > would require changes scattered across the various emulators.
> > > > >
> > > > > Exactly. I have no confident yet that my approach will also apply
> > > > > to other hypervisors than Xen.
> > > > > Technically, yes, but whether people can accept it or not is a
> > different
> > > > > matter.
> > > > >
> > > > > Thanks,
> > > > > -Takahiro Akashi
> > > >
> > > >
> > > >
> > > > --
> > > > Regards,
> > > >
> > > > Oleksandr Tyshchenko
> > > IMPORTANT NOTICE: The contents of this email and any attachments are
> > confidential and may also be privileged. If you are not the intended
> > recipient, please notify the sender immediately and do not disclose the
> > contents to any other person, use it for any purpose, or store or copy the
> > information in any medium. Thank you.
> IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.


From xen-devel-bounces@lists.xenproject.org Wed Aug 18 06:18:03 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 06:18:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168094.306881 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGEtb-00070k-Lf; Wed, 18 Aug 2021 06:17:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168094.306881; Wed, 18 Aug 2021 06:17:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGEtb-00070d-IT; Wed, 18 Aug 2021 06:17:51 +0000
Received: by outflank-mailman (input) for mailman id 168094;
 Wed, 18 Aug 2021 06:17:50 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=m5uW=NJ=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mGEta-00070X-6Y
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 06:17:50 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 04c5af06-23f6-4ad0-808c-4111843fc568;
 Wed, 18 Aug 2021 06:17:48 +0000 (UTC)
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur02lp2050.outbound.protection.outlook.com [104.47.4.50]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-21-OtQ2HFPlM4KUY-OiWdkZ5w-1; Wed, 18 Aug 2021 08:17:46 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0402MB2702.eurprd04.prod.outlook.com (2603:10a6:800:b4::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.19; Wed, 18 Aug
 2021 06:17:44 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Wed, 18 Aug 2021
 06:17:44 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0098.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:19::14) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Wed, 18 Aug 2021 06:17: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: 04c5af06-23f6-4ad0-808c-4111843fc568
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629267467;
	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=WWASQnneuM9cgCGxTTuZFfHEt91mLfOH3Y35hMkb+/8=;
	b=Bsi7jQYbxJER+5ECtsO4VZOzr1btHXdd9O3bJWhZQgA7da5OOuExVlrlhfkZT9FgM0/hO9
	0Q4gmRO/XpBOXoDZp7kqN/RcLp6PN7OUAOiUmvHLZ9ZV8u0GQglSFqgfF/C1ZKXxIdJFTJ
	vAiJboCRR4HasrhjWEzCJwgbMqaMAzQ=
X-MC-Unique: OtQ2HFPlM4KUY-OiWdkZ5w-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UDC6w+XPHGaQsxHZb83huZoED7xse0DK3GO25RQrHbYSfSDNZrlN/OYzNZS3kbdykbI2bO9rzLsThoLHGiwZ69RAcGEQf2Yb0IgMbFmpEGZ/GejclK5zEbMA7GxX3VkRgMYE/apXHTIBEQXuITsDiqs4FTteyo9hEX+y0qXvUj56D7CuRwH99tIsffcHa0+xKr0T2+sQpwS80mnPWPIBNXqB7ZvvgS8P0/juPcvfLBpgSnuecl63KdxeJcWCJA2f4NxKzQNNeMTrFGEXaM1rebXnOhR/NmenJmRDdO00sXaKGQPxkCaY889iUZw3IyJa1LqKjUk5t4bXoLtw2JoFPQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=m+G49FQJKYWnI41qMhbtslsWd5uw5CnBykHg6pV9yXc=;
 b=lGDGm4yDOnHgCGmrEOTN+K23aORayjNoxhosdVX8twXi4fbaiYpaCaMBrMiZGLhvbxZ5YUV0V4KTW9nnffchaIWFOKhV3XVZtwwBzCFqEdBNrSzMHiVdIuIY+Lqw330vfvKzU3Rkj6BY6buXhKS+au196z1DYFaXL3tAJBvnQ0QJwTcOU3QMpJxMV3/2mnsuygzT0rt1rpwqzrtc2KXVaXjbEdCT9LadEkEiT1Hd+sNLveWYYfwnb5Px3NdFvmK6100fRpE3AWYzvMjy0NTa3nzIe58IXUUI9nt9qNcSbR+/WpbNPDHW4QKb3Yf8tRaoB2RrQUHeGojPHOK8ECyX2g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v2] x86/PV: assert page state in mark_pv_pt_pages_rdonly()
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: <929e4299-c9b3-0714-3c0a-3c3d1c0c14de@suse.com>
 <85333613-4425-9f27-fd0e-fe4a65e2860a@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <db7d2811-0f14-5398-e39c-6439484dcb62@suse.com>
Date: Wed, 18 Aug 2021 08:17:42 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <85333613-4425-9f27-fd0e-fe4a65e2860a@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: PR0P264CA0098.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:19::14) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3681d30f-6770-47fd-04eb-08d9620fe44d
X-MS-TrafficTypeDiagnostic: VI1PR0402MB2702:
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB270258B00B8976E5E9E82F5DB3FF9@VI1PR0402MB2702.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	sqgyJtmixX25KWw0rHz45iTEo4/sdniNNHz95T6nQzR2e/El03l1+3Z0h2nH+USF3IU8AP05X6Egpyd7qt8UV93hrpHxdsM34ZFs89S54pA4kyVpMb+4DnIc88GarirpNq7ngyxyj0S2jecNWL2fo5A+sg7nNuI5Gr/JZQdIoiF6yQG/Uknj5IlXFObDZC6Pu/iD5+v4kwuc4iOQepikdFCNS8GUt8wiHhriF0REVBvj5tk7A7Qz9yc7/K9WpFy7IaHmWexyJNLwPk/KNd6uilFbeupsmH9S93AvCa2hHZETkWQ65hG98p5S9b5bWu0HRQzxcUbW3i9gkee/b7TVgZFIPvuB8/DnYJLVdt9dTDGj1e1dv+fehfF8R6wMPF72DGPCavyoZWXOqZDChrw0WQ7IEWbBni94PEcp/ogQLkfiVEGad7VxcC5rAOjY7Jxz8L94AzFXesIMLkN2jgZxSHz9rabjbx3mOJSbICLRa7LSng/1k5jWjbZmIwZDMI4BrGz8Lwc2COAWeKL/qBD/+XA/DddpNNhL09N7mDuwo85fIRmOxW+7FcQaMDFi/+8p/ORDesygiLIcJdaCv2ydmq/KyBZoBl4YUzm5rsop0oM4pWwxA/8sPY0tHXUFdEIM4+RVg3MaSntx1n6uXvihTijEevd/pN0e0i++KGxWBiuhzACNNf70fpaNkTzI4zqYNPg6CXNj6ZxhBkPPoEUfHn86NxJ9Y0+NwYH9pQ2f+tk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(39860400002)(136003)(376002)(346002)(396003)(366004)(66556008)(8676002)(66476007)(2616005)(66946007)(2906002)(956004)(53546011)(6486002)(5660300002)(186003)(31686004)(54906003)(4326008)(26005)(8936002)(478600001)(38100700002)(83380400001)(16576012)(316002)(86362001)(31696002)(36756003)(6916009)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?iB/aVb1mxmU2na64fZdsYtl5Wc3jLvisa3in9HDrFLHNT0g24YsmmsK8cVzI?=
 =?us-ascii?Q?EeNYHL2SMygQoXRLoZJyF8Tc811d/faivvrzvO8J3A4yCC7JvAOOpppuOKBD?=
 =?us-ascii?Q?xZ45uM399OvNk7I2aniizKFdn6JP0/6+pSoC1LQhszO+aB0y7Yn3tDIEaU9Y?=
 =?us-ascii?Q?+WHIb0BonfbD3qi19WoMq8798w8TNnbosyT40PmlZ4QflRN2Q4rjBRfay+ad?=
 =?us-ascii?Q?XA+e3LFpj+x6/JxgdrZ0wdl0GBiDloapo4GPeH9WXUsShk1Fg1KnblVA306G?=
 =?us-ascii?Q?W6Hjeo10Psw99oXX6VKgHLQeoVcI50PvD9bkOSRz1OGg00xaY5Ivqm3ZJd/d?=
 =?us-ascii?Q?J0uYoXKAKFbjXrshlM51jMG5Mce2eaghSfsniGlnvIiVFzn28d6xdPFto9IM?=
 =?us-ascii?Q?z6/0EKMlsEXYr0ccEfI64zbcvVYWtW/E8c1lZPk7ld18OKWsxbVOr5Ed/w/F?=
 =?us-ascii?Q?tNbASaOWri8riDh6D8cRbJbkTYCVoY3GGWv57ChQ0IIZtGraX7+Gc/Ql6lgY?=
 =?us-ascii?Q?jv56W5A+KxsY72aY0t/K9NRwXVODwHwSPxQhetzrFadqdv/lay1ST/Z9rfNr?=
 =?us-ascii?Q?mi/UJGq+90bOYyjQuEdOFmozsN2gcld+cUC7VuKIc3qaVPucqWEGOnprZnma?=
 =?us-ascii?Q?sNqqUr9/j8F/WyFU1e5oohWLikIlboMWWzNJ2p7z6exZrx4nHVwLwEa/sWw+?=
 =?us-ascii?Q?VoxuBJdkErs0y2eBcFoS2dUqmAQrLvF3ocLGD+pPM7HPysFNNLDQSC0ofQ66?=
 =?us-ascii?Q?P4ETomO4PxL8Ih9IFocaPGIzw7+Un+aHpJV6yeNTLZ57eIakD6DTHOrlK3S2?=
 =?us-ascii?Q?o4wU58mXdbEjkNz7xrTktsMdWrqr2exdOntEd27BzsA/ZDreZLLCVyO269y9?=
 =?us-ascii?Q?6uafWWHFGUcuwilzxSAmwMEF4V7smAmQGaMP9aY5NkREX7LValv6emmNBcNa?=
 =?us-ascii?Q?8FptUnwk60XYWl7ONbtZNdWL43iugl7pKTnN3IeWc0raF86lC1SGj2nXt3Wz?=
 =?us-ascii?Q?ZGI+qmj1dmf4tuehHwehiuewSv3n//hy4wuPL1k6c5cspSNb4dD8B3N7t06D?=
 =?us-ascii?Q?5zXtec9lOero/OT+mLsq5yDDpxLEWtQzLNkD5z/KxfmkIoUKja7vCFRd0dIa?=
 =?us-ascii?Q?WTSyplO2FZbpX7HOXJ/Ng9NdWmLv3GlfhSIUPI3p4PIpv7qBqak6LUl0PveN?=
 =?us-ascii?Q?CLmPbuG2swhAIG+qL56X12MF48+d6deSpnCt8jeTqOvGGDxhs+7YnaLgXOlp?=
 =?us-ascii?Q?A9HLbBWhrmVnu+Aw0Qi3TXhfLBhnX68xPy85518PeOL084sGQFulwAcKKAwJ?=
 =?us-ascii?Q?atgUaw/2MZqf91mpN4f5M285?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3681d30f-6770-47fd-04eb-08d9620fe44d
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2021 06:17:44.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: mJsg6R8ULj2Hx9OyVd1pKK+xFjHv/w7BjmmToNb4XY/1nAqdC4rwr7mWL2VHyXXndVmB+aJ+jYLQvYGTjCwbhg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB2702

On 17.08.2021 19:25, Andrew Cooper wrote:
> On 17/08/2021 15:29, Jan Beulich wrote:
>> About every time I look at dom0_construct_pv()'s "calculation" of
>> nr_pt_pages I question (myself) whether the result is precise or merely
>> an upper bound. I think it is meant to be precise, but I think we would
>> be better off having some checking in place. Hence add ASSERT()s to
>> verify that
>> - all pages have a valid L1...Ln (currently L4) page table type and
>> - no other bits are set, in particular the type refcount is still zero.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>=20
> Reviewed-by: Andrew Cooper <andrew.cooper3@citirx.com>, thanks.
>=20
> Are you planning further cleanups here imminently?=C2=A0 If not, I can
> probably shuffle some of the easy ROUNDUP() refactoring in the direction
> of an intern or grad.

Not any cleanup, I don't think, but quite a few further changes to make
Dom0 use large IOMMU page mappings where possible (without introducing
logic yet to un-shatter split pages, not the least because relying on
just that would then undermine the secondary effect of improving boot
time). The two changes posted so far were really just fallout from that
work, with it seeming reasonable to post up front to reduce the size of
the actual series, which has grown quite a bit longer than I though it
would.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 18 06:24:47 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 06:24:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168099.306892 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGF0G-0008RO-BN; Wed, 18 Aug 2021 06:24:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168099.306892; Wed, 18 Aug 2021 06:24:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGF0G-0008RH-8E; Wed, 18 Aug 2021 06:24:44 +0000
Received: by outflank-mailman (input) for mailman id 168099;
 Wed, 18 Aug 2021 06:24:43 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jUNG=NJ=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mGF0F-0008RA-06
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 06:24:43 +0000
Received: from smtp-out2.suse.de (unknown [195.135.220.29])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id f8238340-ffec-11eb-a533-12813bfff9fa;
 Wed, 18 Aug 2021 06:24:41 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 45B5120058;
 Wed, 18 Aug 2021 06:24:40 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 1AA4713357;
 Wed, 18 Aug 2021 06:24:40 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id 91cRBainHGFQcQAAGKfGzw
 (envelope-from <jgross@suse.com>); Wed, 18 Aug 2021 06:24: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: f8238340-ffec-11eb-a533-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1629267880; 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=ELWV/9WePrthQVZs1AOXcFm6/I3hOwYbJur2CWshDmQ=;
	b=pT+eNUAUDkZsOYXrGOwu6/XPIK55b0oJ9U7AASDfSzdsVIg0UWaumwJ3UgGRM3qnzvxIKz
	FXEsc6C0v+s9H07pnFeOIBf+XiBxe4zfqETn0oXMEoC2TDMwt7WqxWxSP6IdO8TSbSTmRL
	5mO5bbLSk/pMqfrLDwuY6XneN9g9qCw=
Subject: Re: S3 resume issue in cpufreq ->
 get_cpu_idle_time->vcpu_runstate_get
From: Juergen Gross <jgross@suse.com>
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Jan Beulich <jbeulich@suse.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <YRvMy9NgGxYKRcNc@mail-itl>
 <42948041-59a5-e243-ed39-6e2afe3fd1cd@suse.com>
Message-ID: <d700e9f6-8c64-52b6-6881-5816c2895200@suse.com>
Date: Wed, 18 Aug 2021 08:24:39 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <42948041-59a5-e243-ed39-6e2afe3fd1cd@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="hefKhzCsV2d5B36fN4ZnZDxj0A7UhNX4f"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--hefKhzCsV2d5B36fN4ZnZDxj0A7UhNX4f
Content-Type: multipart/mixed; boundary="fa6yvcSa5vATSfOzGYiH9fT2daJT6sfVQ";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Jan Beulich <jbeulich@suse.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
Message-ID: <d700e9f6-8c64-52b6-6881-5816c2895200@suse.com>
Subject: Re: S3 resume issue in cpufreq ->
 get_cpu_idle_time->vcpu_runstate_get
References: <YRvMy9NgGxYKRcNc@mail-itl>
 <42948041-59a5-e243-ed39-6e2afe3fd1cd@suse.com>
In-Reply-To: <42948041-59a5-e243-ed39-6e2afe3fd1cd@suse.com>

--fa6yvcSa5vATSfOzGYiH9fT2daJT6sfVQ
Content-Type: multipart/mixed;
 boundary="------------741F0E58D00347898C394009"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------741F0E58D00347898C394009
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

Marek,

On 17.08.21 17:15, Juergen Gross wrote:
> On 17.08.21 16:50, Marek Marczykowski-G=C3=B3recki wrote:
>> On Tue, Aug 17, 2021 at 04:04:24PM +0200, Jan Beulich wrote:
>>> On 17.08.2021 15:48, Marek Marczykowski-G=C3=B3recki wrote:
>>>> On Tue, Aug 17, 2021 at 02:29:20PM +0100, Andrew Cooper wrote:
>>>>> On 17/08/2021 14:21, Jan Beulich wrote:
>>>>>> On 17.08.2021 15:06, Andrew Cooper wrote:
>>>>>>> Perhaps we want the cpu_down() logic to explicitly invalidate the=
ir
>>>>>>> lazily cached values?
>>>>>> I'd rather do this on the cpu_up() path (no point clobbering what =
may
>>>>>> get further clobbered, and then perhaps not to a value of our=20
>>>>>> liking),
>>>>>> yet then we can really avoid doing this from a notifier and=20
>>>>>> instead do
>>>>>> it early enough in xstate_init() (taking care of XSS at the same=20
>>>>>> time).
>>>>
>>>> Funny you mention notifiers. Apparently cpufreq driver does use it t=
o
>>>> initialize things. And fails to do so:
>>>>
>>>> (XEN) Finishing wakeup from ACPI S3 state.
>>>> (XEN) CPU0: xstate: size: 0x440 (uncompressed 0x440) and states: 0x1=
f
>>>> (XEN) Enabling non-boot CPUs=C2=A0 ...
>>>> (XEN) CPU1: xstate: size: 0x440 (uncompressed 0x440) and states: 0x1=
f
>>>> (XEN) ----[ Xen-4.16-unstable=C2=A0 x86_64=C2=A0 debug=3Dy=C2=A0 Not=
 tainted ]----
>>>> (XEN) CPU:=C2=A0=C2=A0=C2=A0 0
>>>> (XEN) RIP:=C2=A0=C2=A0=C2=A0 e008:[<ffff82d04024ad2b>] vcpu_runstate=
_get+0x153/0x244
>>>> (XEN) RFLAGS: 0000000000010246=C2=A0=C2=A0 CONTEXT: hypervisor
>>>> (XEN) rax: 0000000000000000=C2=A0=C2=A0 rbx: ffff830049667c50=C2=A0=C2=
=A0 rcx:=20
>>>> 0000000000000001
>>>> (XEN) rdx: 000000321d74d000=C2=A0=C2=A0 rsi: ffff830049667c50=C2=A0=C2=
=A0 rdi:=20
>>>> ffff83025dcc0000
>>>> (XEN) rbp: ffff830049667c40=C2=A0=C2=A0 rsp: ffff830049667c10=C2=A0=C2=
=A0 r8: =20
>>>> ffff83020511a820
>>>> (XEN) r9:=C2=A0 ffff82d04057ef78=C2=A0=C2=A0 r10: 0180000000000000=C2=
=A0=C2=A0 r11:=20
>>>> 8000000000000000
>>>> (XEN) r12: ffff83025dcc0000=C2=A0=C2=A0 r13: ffff830205118c60=C2=A0=C2=
=A0 r14:=20
>>>> 0000000000000001
>>>> (XEN) r15: 0000000000000010=C2=A0=C2=A0 cr0: 000000008005003b=C2=A0=C2=
=A0 cr4:=20
>>>> 00000000003526e0
>>>> (XEN) cr3: 0000000049656000=C2=A0=C2=A0 cr2: 0000000000000028
>>>> (XEN) fsb: 0000000000000000=C2=A0=C2=A0 gsb: 0000000000000000=C2=A0=C2=
=A0 gss:=20
>>>> 0000000000000000
>>>> (XEN) ds: 0000=C2=A0=C2=A0 es: 0000=C2=A0=C2=A0 fs: 0000=C2=A0=C2=A0=
 gs: 0000=C2=A0=C2=A0 ss: 0000=C2=A0=C2=A0 cs: e008
>>>> (XEN) Xen code around <ffff82d04024ad2b>=20
>>>> (vcpu_runstate_get+0x153/0x244):
>>>> (XEN)=C2=A0 48 8b 14 ca 48 8b 04 02 <4c> 8b 70 28 e9 01 ff ff ff 4c =
8d 3d=20
>>>> dd 64 32 00
>>>> (XEN) Xen stack trace from rsp=3Dffff830049667c10:
>>>> (XEN)=C2=A0=C2=A0=C2=A0 0000000000000180 ffff83025dcbd410 ffff830205=
11bf30=20
>>>> ffff830205118c60
>>>> (XEN)=C2=A0=C2=A0=C2=A0 0000000000000001 0000000000000010 ffff830049=
667c80=20
>>>> ffff82d04024ae73
>>>> (XEN)=C2=A0=C2=A0=C2=A0 0000000000000000 0000000000000000 0000000000=
000000=20
>>>> 0000000000000000
>>>> (XEN)=C2=A0=C2=A0=C2=A0 0000000000000000 0000000000000000 ffff830049=
667cb8=20
>>>> ffff82d0402560a9
>>>> (XEN)=C2=A0=C2=A0=C2=A0 ffff830205118320 0000000000000001 ffff830205=
11bf30=20
>>>> ffff83025dc7a6f0
>>>> (XEN)=C2=A0=C2=A0=C2=A0 0000000000000000 ffff830049667d58 ffff82d040=
254cb1=20
>>>> 00000001402e9f74
>>>> (XEN)=C2=A0=C2=A0=C2=A0 0000000000000000 ffff830049667d10 ffff82d040=
224eda=20
>>>> 000000000025dc81
>>>> (XEN)=C2=A0=C2=A0=C2=A0 000000321d74d000 ffff82d040571278 0000000000=
000001=20
>>>> ffff830049667d28
>>>> (XEN)=C2=A0=C2=A0=C2=A0 ffff82d040228b44 ffff82d0403102cf 0000000000=
000000=20
>>>> ffff82d0402283a4
>>>> (XEN)=C2=A0=C2=A0=C2=A0 ffff82d040459688 ffff82d040459680 ffff82d040=
459240=20
>>>> 0000000000000004
>>>> (XEN)=C2=A0=C2=A0=C2=A0 0000000000000000 ffff830049667d68 ffff82d040=
25510e=20
>>>> ffff830049667db0
>>>> (XEN)=C2=A0=C2=A0=C2=A0 ffff82d040221ba4 0000000000000000 0000000000=
000001=20
>>>> 0000000000000001
>>>> (XEN)=C2=A0=C2=A0=C2=A0 0000000000000000 ffff830049667e00 0000000000=
000001=20
>>>> ffff82d04058a5c0
>>>> (XEN)=C2=A0=C2=A0=C2=A0 ffff830049667dc8 ffff82d040203867 0000000000=
000001=20
>>>> ffff830049667df0
>>>> (XEN)=C2=A0=C2=A0=C2=A0 ffff82d040203c51 ffff82d040459400 0000000000=
000001=20
>>>> 0000000000000010
>>>> (XEN)=C2=A0=C2=A0=C2=A0 ffff830049667e20 ffff82d040203e26 ffff830049=
667ef8=20
>>>> 0000000000000000
>>>> (XEN)=C2=A0=C2=A0=C2=A0 0000000000000003 0000000000000200 ffff830049=
667e50=20
>>>> ffff82d040270bac
>>>> (XEN)=C2=A0=C2=A0=C2=A0 ffff83020116a640 ffff830258ff6000 0000000000=
000000=20
>>>> 0000000000000000
>>>> (XEN)=C2=A0=C2=A0=C2=A0 ffff830049667e70 ffff82d0402056aa ffff830258=
ff61b8=20
>>>> ffff82d0405701b0
>>>> (XEN)=C2=A0=C2=A0=C2=A0 ffff830049667e88 ffff82d04022963c ffff82d040=
5701a0=20
>>>> ffff830049667eb8
>>>> (XEN) Xen call trace:
>>>> (XEN)=C2=A0=C2=A0=C2=A0 [<ffff82d04024ad2b>] R vcpu_runstate_get+0x1=
53/0x244
>>
>> This is xen/common/sched/core.c:322. get_sched_res(v->processor) is
>> NULL at this point for CPU1.
>>
>> The only place that can calls set_sched_res() and doesn't expect the
>> previous value to be valid, is cpu_schedule_up(). For non-BSP its call=
ed
>> _only_ from notifier at CPU_UP_PREPARE (cpu_schedule_callback()), but
>> that notifier explicitly exclude suspend/resume case:
>>
>> =C2=A0=C2=A0=C2=A0=C2=A0 static int cpu_schedule_callback(
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 struct notifier_block=
 *nfb, unsigned long action, void *hcpu)
>> =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 cpu =3D =
(unsigned long)hcpu;
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 int rc =3D 0;
>>
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /*
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * All scheduler=
 related suspend/resume handling needed is=20
>> done in
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * cpupool.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 if ( system_state > S=
YS_STATE_active )
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 return NOTIFY_DONE;
>>
>> But, nothing in cpupool.c is calling into set_sched_res().
>>
>> On the other hand, sched_rm_cpu() (which I believe is called as part o=
f
>> parking the CPU) calls cpu_schedule_down(), which then calls
>> set_sched_res(cpu, NULL).
>>
>> In short: scheduler for parked CPUs is not re-initialized during resum=
e.
>> But cpufreq expects it to be...
>=20
> I'll be looking into that.

Could you please try the attached patch?


Juergen


--------------741F0E58D00347898C394009
Content-Type: text/x-patch; charset=UTF-8;
 name="0001-xen-sched-fix-get_cpu_idle_time-for-smt-0-suspend-re.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
 filename*0="0001-xen-sched-fix-get_cpu_idle_time-for-smt-0-suspend-re.pa";
 filename*1="tch"

=46rom e38d0816a33fbaa3c0c45bcd6e9d433b1e021222 Mon Sep 17 00:00:00 2001
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: George Dunlap <george.dunlap@citrix.com>
Cc: Dario Faggioli <dfaggioli@suse.com>
Date: Wed, 18 Aug 2021 08:18:20 +0200
Subject: [PATCH] xen/sched: fix get_cpu_idle_time() for smt=3D0 suspend/r=
esume
MIME-Version: 1.0
Content-Type: text/plain; charset=3DUTF-8
Content-Transfer-Encoding: 8bit

With smt=3D0 during a suspend/resume cycle of the machine the threads
which have been parked before will briefly come up again. This can
result in problems e.g. with cpufreq driver being active as this will
call into get_cpu_idle_time() for a cpu without initialized scheduler
data.

Fix that by letting get_cpu_idle_time() deal with this case.

Fixes: 132cbe8f35632fb2 ("sched: fix get_cpu_idle_time() with core schedu=
ling")
Reported-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab=
=2Ecom>
Signed-off-by: Juergen Gross <jgross@suse.com>
---
An alternative way to fix the issue would be to keep the sched_resource
of offline cpus allocated like we already do with idle vcpus and units.
This fix would be more intrusive, but it would avoid similar other bugs
like this one.
---
 xen/common/sched/core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index 6d34764d38..9ac1b01ca8 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -337,7 +337,7 @@ uint64_t get_cpu_idle_time(unsigned int cpu)
     struct vcpu_runstate_info state =3D { 0 };
     const struct vcpu *v =3D idle_vcpu[cpu];
=20
-    if ( cpu_online(cpu) && v )
+    if ( cpu_online(cpu) && v && get_sched_res(cpu) )
         vcpu_runstate_get(v, &state);
=20
     return state.time[RUNSTATE_running];
--=20
2.26.2


--------------741F0E58D00347898C394009
Content-Type: application/pgp-keys;
 name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Transfer-Encoding: quoted-printable
Content-Description: OpenPGP public key
Content-Disposition: attachment;
 filename="OpenPGP_0xB0DE9DD628BF132F.asc"

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOBy=
cWx
w3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJvedYm8O=
f8Z
d621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y=
9bf
IhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xq=
G7/
377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR=
3Jv
c3MgPGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsEFgIDA=
QIe
AQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4FUGNQH2lvWAUy+dnyT=
hpw
dtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3TyevpB0CA3dbBQp0OW0fgCetToGIQrg0=
MbD
1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbv=
oPH
Z8SlM4KWm8rG+lIkGurqqu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v=
5QL
+qHI3EIPtyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVyZ=
2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJCAcDAgEGFQgCC=
QoL
BBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4RF7HoZhPVPogNVbC4YA6lW7Dr=
Wf0
teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz78X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC=
/nu
AFVGy+67q2DH8As3KPu0344TBDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0Lh=
ITT
d9jLzdDad1pQSToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLm=
XBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkMnQfvUewRz=
80h
SnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMBAgAjBQJTjHDXAhsDBwsJC=
AcD
AgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJn=
FOX
gMLdBQgBlVPO3/D9R8LtF9DBAFPNhlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1=
jnD
kfJZr6jrbjgyoZHiw/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0=
N51
N5JfVRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwPOoE+l=
otu
fe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK/1xMI3/+8jbO0tsn1=
tqS
EUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuZGU+wsB5BBMBAgAjBQJTjHDrA=
hsD
BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3=
g3O
ZUEBmDHVVbqMtzwlmNC4k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5=
dM7
wRqzgJpJwK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu5=
D+j
LRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzBTNh30FVKK1Evm=
V2x
AKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37IoN1EblHI//x/e2AaIHpzK5h88N=
Eaw
QsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpW=
nHI
s98ndPUDpnoxWQugJ6MpMncr0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZR=
wgn
BC5mVM6JjQ5xDk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNV=
bVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mmwe0icXKLk=
pEd
IXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0Iv3OOImwTEe4co3c1mwARA=
QAB
wsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMvQ/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEw=
Tbe
8YFsw2V/Buv6Z4Mysln3nQK5ZadD534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1=
vJz
Q1fOU8lYFpZXTXIHb+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8=
VGi
wXvTyJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqcsuylW=
svi
uGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5BjR/i1DG86lem3iBDX=
zXs
ZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------741F0E58D00347898C394009--

--fa6yvcSa5vATSfOzGYiH9fT2daJT6sfVQ--

--hefKhzCsV2d5B36fN4ZnZDxj0A7UhNX4f
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmEcp6cFAwAAAAAACgkQsN6d1ii/Ey+s
ogf/S0kokQhPXVh6JEt/mCge1V+YtfTZXrzTuRz1J+B4fjzO+O4YEiF3b9+v+Y3odE7EVZvzpvx+
gfQUfZbYOChWWhV0cU7doMKo5x2uR6Jl4rXMNuFLR756wOl6U1XJiq/vKvgUys9r7vSnMUMl/P2Q
fzBOCc2wiyY/6IbfsQDxTLpepmD1FUjEs488G7ZKU/jPJ3qOvurploteJmTlGmF1mcJAN98s64L4
fe1P51zG01TSJzLkjrEnAPxU06L6+pkI8uuIw1yWiViz9DuI5OmYCludfiKopAnC1RKpx2VUhK44
aK99tP6IGMUbzSkr09+rZHhoNQR/kKz1EkH1f6KGRg==
=cDVS
-----END PGP SIGNATURE-----

--hefKhzCsV2d5B36fN4ZnZDxj0A7UhNX4f--


From xen-devel-bounces@lists.xenproject.org Wed Aug 18 06:43:39 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 06:43:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168105.306902 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGFIT-0002Om-Qr; Wed, 18 Aug 2021 06:43:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168105.306902; Wed, 18 Aug 2021 06: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 1mGFIT-0002Of-Np; Wed, 18 Aug 2021 06:43:33 +0000
Received: by outflank-mailman (input) for mailman id 168105;
 Wed, 18 Aug 2021 06:43:32 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=m5uW=NJ=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mGFIR-0002OZ-V7
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 06:43:31 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 9932eb7a-ffef-11eb-a538-12813bfff9fa;
 Wed, 18 Aug 2021 06:43:30 +0000 (UTC)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2107.outbound.protection.outlook.com [104.47.18.107])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-9-mjlq727SMwaUMT9j6Ns-3w-1; Wed, 18 Aug 2021 08:41:21 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB2957.eurprd04.prod.outlook.com (2603:10a6:802:4::28) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.22; Wed, 18 Aug
 2021 06:41:20 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Wed, 18 Aug 2021
 06:41:20 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR03CA0055.eurprd03.prod.outlook.com (2603:10a6:208::32) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Wed, 18 Aug 2021 06:41: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: 9932eb7a-ffef-11eb-a538-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629268882;
	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=q8j5YC7dzVd2OqONZUdcuLZvK1uYaUhuv7Fu3o0wdmw=;
	b=iRg80Dju8/MCVbP1cHSy7lYdzyet+PBZheU9ZdLJCwIWdB+7KaIxjCTZQTlNG0XymSVasm
	6q5Ay6ch04fE8dg44HESSkJYKlZnuHOTex1Oipryty095Qq+C7ZG1BnifMBg5PfpF7OTRY
	nZDdmJVbkhzRn4uI1cnLTI1v39uP/gE=
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629269009;
	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=q8j5YC7dzVd2OqONZUdcuLZvK1uYaUhuv7Fu3o0wdmw=;
	b=DUE422anC5RTB2MrPD9fdeT7ExG+nVfiWWqdwa5BXQiLUYQ5ILB9DZaMzfV3Kxny5wuOZ6
	Z3MTfl/2XJDo3kCothRVgL/61YiMy+3yxOwohCVkqXyge4X/luNQQO7hnf68l3Nu9dQzIm
	WsG++C2iJ0ZZJOrbfxOoCSL6Mpnati8=
X-MC-Unique: mjlq727SMwaUMT9j6Ns-3w-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FfHwikCzfTbeBG55WaE6O1VY/CguPdBwNjfCLzuiI/hcMcq9A+xY0LJP0OKB2xHta160zmv2BK2DlIBvzVboHeDwGYefs/+oRVfO1McsiiIwfLLLR3QfIuZu7RF++GnYwAWCPKM0mR/aIivQkoWntFLRGT5S4LF1tD0v6sdM75IuKj365bqkcvApnVVtt5mOY0TPEW4LkXdgMqHybq+IcWqGxwvEJZn1VTiQpEqjdl6k+L+Ce5OVLjNQISvchb2+o2yUGhN9m7wwzlWHeuDe31wYvn5OXKB1KmHhdmr17sow8smYpHC9BdrqZk2+bvBejKSAzeMoGsdhm6CVRUDTkg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=q8j5YC7dzVd2OqONZUdcuLZvK1uYaUhuv7Fu3o0wdmw=;
 b=Z7rX5/YguIdAWlCyXsGuzfrAcXUP/+hmyHAWfAPGB7kcMHeTDQ0a4DNa7HeTONss/xO1aRqLj1anMgIrM6+DXrB5vbF15lUnBIoLn6FThQAULuiw/tgznTaU38X6E5fDGjp6seNMz58AazUYb2rOUuda99wFJAjQWz32Me2vJVkyX95oNiStwCis+WGkMXTc7/JmK8a2UoNhRFEiIGgjaTA4ZfIJ+4N5rKePPBEdMeb/LOPHBhXHkL+O4UBVF8haFIzd7iZN6ipBznC/ZNx1pxoeFFqxXKn8J438T2Qe6teKzasMxMeD1kXFifSyWac4vEfBCY8Lh5O03+MsO3aGYw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: invisiblethingslab.com; dkim=none (message not signed)
 header.d=none;invisiblethingslab.com; dmarc=none action=none
 header.from=suse.com;
Subject: Re: S3 resume issue in cpufreq ->
 get_cpu_idle_time->vcpu_runstate_get
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?= <marmarek@invisiblethingslab.com>
References: <YRvMy9NgGxYKRcNc@mail-itl>
 <42948041-59a5-e243-ed39-6e2afe3fd1cd@suse.com>
 <d700e9f6-8c64-52b6-6881-5816c2895200@suse.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <d0f3c58e-fb2b-3d67-b9c1-1c8cdddb9055@suse.com>
Date: Wed, 18 Aug 2021 08:41:18 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <d700e9f6-8c64-52b6-6881-5816c2895200@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM0PR03CA0055.eurprd03.prod.outlook.com (2603:10a6:208::32)
 To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4402927d-4eb3-43a8-a1a0-08d96213300b
X-MS-TrafficTypeDiagnostic: VI1PR04MB2957:
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB29574E053BB28FFA75C846F1B3FF9@VI1PR04MB2957.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Q9JhTZls5BjsuwOtMyV+MsGSCPDKHco13i52h2CLgPabUYCaTwmkGS0lDqk/j5xxax/4jUhY2MXFSl+r9Ps00cKrkDhoQmyhZDaldScYFIqHCtdfFpFjwQznMnAKHRRd3OwmtMi9UJ4AykDpjCH0Vyk7SREWUTdgcHkSvU4VNg5MNLQesnMDb+eSkuvjn/6srA669SVPFkYNTr6OWSgmwNb06adWd3hC8DnnhlPt8yDoP4g9d791Lo0nEFkeWAvZmyZ5p717+fRlmwNqMR33haEEoJ647qnLlAPFbTzpY0UAR0ISFno6n7WyL5uYcA7Tmz6hjRMPcFL8O9H6wQnaZR2yK9tvdL5d7AWibZXn3Zw87kvOntFVCTWsZHF0z05pK+JGHq7V4K1Kb2gBF/AtKdssv5hVOwNQa6diSzgdohk9MIcTJMV1p9LNNY0FBVWRGtkd62b0DXaSnJybPT5v9UuC2zaGSkbEc99wn9o1BSgiFT1O9kLxtOUVdNvqoUrXFX+fciWTKwXyVxsxs+PivRDo12l0KNJFJb1/unZ3fbS6YENN99kHdYAodf4Jn5DyvCElEPLH13ncrkSJywyS9SizV7eLj5LYQw1xhbF54z3rNIjuOboYqVspuQ5GRvmA6X8ITTEO993tL3eQECEQRijV81ixBJtWZ6ManPG5YeZvTne7ZGViVWcnf2XdKqNE/O1TNQ52toDx02dsNcvYdoKRgLpTDyC0Jn1V3ELI/rw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(6486002)(956004)(4744005)(4326008)(31696002)(86362001)(5660300002)(16576012)(37006003)(6636002)(316002)(2616005)(6862004)(2906002)(66946007)(66556008)(66476007)(8676002)(54906003)(38100700002)(31686004)(53546011)(36756003)(8936002)(508600001)(186003)(26005)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?enpNSGU2WnlyUklDSlNHbWVHNFFtWG9NaDJwSkQwakZDWFpoRE9DSWNTY3c0?=
 =?utf-8?B?WGdaaFZMT3hoZ3JCMTBGa2grYVQ0Zmw1cjhBdjc4bnBKNW9XQmpuN2x6TjJs?=
 =?utf-8?B?TjRkL0s2VTdVRUxKbk5ySFJrNXo5cVFXOFdjdUpzT0d2Skd6TWhzRmhNRHRo?=
 =?utf-8?B?TkxUcXdBZ0RUR2IzR3pDQWliOVhEWkZaRjN2NTdqeTZ0M3NQTFdhTkp2U2dJ?=
 =?utf-8?B?dHFjdnhYa25wZE44L3M2NXhGWnR1ZVJLK2k0S1grSWs5cDJvcXNJWDhQVHkx?=
 =?utf-8?B?blFlZmpHUHRKRDE1aVpkL29vODhOb3EvMThzZEFXaS9WdXdiazdVdkNpRjky?=
 =?utf-8?B?Q240OUFRYnB4Nk1YK3dwWS96YmVCTHRKVXpaYU5YbTJ3UkxLZG9tZGdhSmVD?=
 =?utf-8?B?NElLZWVjV2xxQVl1cmVMS0V5L1dLeTc4TnYraXRIblBBSlcrT0drd1k0dHZu?=
 =?utf-8?B?OXRWMmlHT0F3ZnA1aCt3Z1RhU3o1WlZXWUtRbnNhZ0lZUzRMZC9BdUF6UTNF?=
 =?utf-8?B?eHNNY0x2aUlLeE5PS3RpSHVvVDZqSmc3OFBUOEtqc25Kek5RRE0ycDhnM2R4?=
 =?utf-8?B?OUorUU5TNlE3N2M2Mko2cHVqU2MyZGFVUWxjYTNGb2t0LzB2NFVoNitmTFl0?=
 =?utf-8?B?d3l0WjBvMnRoUkRlT3g3cVh6Sk1yL0gxLzVTT2hDUU1qZFV3S25pNEc4WGJy?=
 =?utf-8?B?REZaNkVmTG1lRHZjcEdKZ1RBejEySWwrbE5OZGlDL0RiZXJ3RHJVUVhGUEV6?=
 =?utf-8?B?V3Y4ZlhNckFYT3phZnAwbW5QeE1ncnRFdStIZEw2UWY0NDEzTWp3QlRuQTR3?=
 =?utf-8?B?MUhHNGV4dFF4U1FXOGxLVEpJWmtLSmxuL0Vha0k3SjRnby8wcFFSQVl1eDhG?=
 =?utf-8?B?NENTbnlzY0x2MW5XaExnc2dybU1Oa0lMSHVtaDJiTThuYk1vTHVKZGdJY3dk?=
 =?utf-8?B?a0JKdFNxdlBjZXRoUjJNdWlwaDFDUURJUTFjZkVDUzI1RXZuN2swaUNYMGFB?=
 =?utf-8?B?SUlQdC9LbzM0WkpHalU4SS9KR2V4SEZ6c29ERGV3d0tTazFIVzhrUkhOQjR0?=
 =?utf-8?B?aDRrMm1XWE5wZ0Y2K3RaSWNBRjh4QWJxd0FEUmw0RmlnT3BheHZKQklNS2lz?=
 =?utf-8?B?bFdqTFRUN2JtYzFjeDh0K2ZjOWFxUmJONzdnWVhiTnBRSzB0M1VtendtTmc0?=
 =?utf-8?B?OW1wcVFlNU1oR1FVeit0ak1obWRDeDBqaXJzV1JDdElKdzJGN21hcUVwa0p0?=
 =?utf-8?B?Z2FoalJFTGVUcHJBL202R0RsdVZUYkhLWkRrWmp5UjcvMktBbGxQQlhab0ZD?=
 =?utf-8?B?TzAzVFNuNDk1eUorZzFBQXJkc240SGRMRWtEWVY5Zk5keHpza1hXdi94bnMw?=
 =?utf-8?B?emVJQTRGWUxWYnpDUUVVZTNycTZ0Z0hCb1Nnd0wyZExGKzI4aUZFdnI3ZEgy?=
 =?utf-8?B?RFNPU0MzRXVkL3RndGp2enVGT3VVKzY5VGVNL3JCaS9yajRmTkRGc3d5MTZJ?=
 =?utf-8?B?VWdSci83QnphK1NHem5CV00vWEZnQ1B3WW1LOXFBVUZlTllSUjdLVWJPYzJG?=
 =?utf-8?B?aERNaVVaR2xuSHAvcy8xZjlMNzFoR2lSOHprdjRrbVp3dE9PS1FYN0pUdmM1?=
 =?utf-8?B?dEc3T2QxNi9qNjFQYWpiK2M3MTVyMGNxczJXK0IzWFU2ajlva1FxQXlYNTVN?=
 =?utf-8?B?WXFTMTlvQTljSStoSm1kSDNaSVJ1UHZPNzVFS2tXYnozVXVvSE9vZmpqMk9J?=
 =?utf-8?Q?CPHaQQX4e3D66qIpUDO9g05LyiA45SWHPDVEdzT?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4402927d-4eb3-43a8-a1a0-08d96213300b
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2021 06:41:20.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: OGsuCbjT8fkc5Q6n1GGJ6VJtcPnKjD1w9iOI8ZBxW8iC7ONIrVb24E/7zRc9l7a7MSLPqkG4vXG5lpAhYFMWZg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB2957

On 18.08.2021 08:24, Juergen Gross wrote:
> Could you please try the attached patch?

Seeing the patch, two questions:

1) Can idle_vcpu[cpu] ever be NULL when cpu_online(cpu) returned true?

2) Seeing get_sched_res()'es access to per-CPU data, would it make sense
to move the cpu_online() check into there? While I guess the majority of
users are guaranteed to invoke it for online CPUs, I wonder if there
aren't any further uses on the CPU bringup / teardown code paths.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 18 06:52:14 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 06:52:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168112.306914 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGFQn-0003ww-RJ; Wed, 18 Aug 2021 06:52:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168112.306914; Wed, 18 Aug 2021 06:52:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGFQn-0003wp-NY; Wed, 18 Aug 2021 06:52:09 +0000
Received: by outflank-mailman (input) for mailman id 168112;
 Wed, 18 Aug 2021 06:52:08 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jUNG=NJ=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mGFQl-0003vP-Vs
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 06:52:08 +0000
Received: from smtp-out2.suse.de (unknown [195.135.220.29])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id cd399256-fff0-11eb-a53b-12813bfff9fa;
 Wed, 18 Aug 2021 06:52:07 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 49AED20057;
 Wed, 18 Aug 2021 06:52:06 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 22966134B1;
 Wed, 18 Aug 2021 06:52:06 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id LSjYBhauHGFQdgAAGKfGzw
 (envelope-from <jgross@suse.com>); Wed, 18 Aug 2021 06:52:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cd399256-fff0-11eb-a53b-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1629269526; 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=bcH1Hvx714f5Z/FXE9D4oVygXDGX9Xuh7xI+v5UZ1r8=;
	b=Vbfhdx2Q8ruftzQRa6IBNJDlEm+ELmel9X8RrllFywfu+VMLhajGMxI9SiW8kVDBEoh1wM
	tyr9MbdAf8J5FZLeoa/aEcGglloHwjFMBbP0ml4WBkwb1ECb/2fnkgKDS/hemKH/hbkXga
	0ga/gi+H3fBCKjpi9FPTugLujDl9PIM=
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?= <marmarek@invisiblethingslab.com>
References: <YRvMy9NgGxYKRcNc@mail-itl>
 <42948041-59a5-e243-ed39-6e2afe3fd1cd@suse.com>
 <d700e9f6-8c64-52b6-6881-5816c2895200@suse.com>
 <d0f3c58e-fb2b-3d67-b9c1-1c8cdddb9055@suse.com>
From: Juergen Gross <jgross@suse.com>
Subject: Re: S3 resume issue in cpufreq ->
 get_cpu_idle_time->vcpu_runstate_get
Message-ID: <e9ccc790-196c-c740-f0d4-2f2cc5e4e538@suse.com>
Date: Wed, 18 Aug 2021 08:52:05 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <d0f3c58e-fb2b-3d67-b9c1-1c8cdddb9055@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="lDkyriCvHj96FMGlEin7exAURzHbQFD7D"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--lDkyriCvHj96FMGlEin7exAURzHbQFD7D
Content-Type: multipart/mixed; boundary="OCoJAccrOnUanfikGNbUv5GDyO9H7Azaw";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?= <marmarek@invisiblethingslab.com>
Message-ID: <e9ccc790-196c-c740-f0d4-2f2cc5e4e538@suse.com>
Subject: Re: S3 resume issue in cpufreq ->
 get_cpu_idle_time->vcpu_runstate_get
References: <YRvMy9NgGxYKRcNc@mail-itl>
 <42948041-59a5-e243-ed39-6e2afe3fd1cd@suse.com>
 <d700e9f6-8c64-52b6-6881-5816c2895200@suse.com>
 <d0f3c58e-fb2b-3d67-b9c1-1c8cdddb9055@suse.com>
In-Reply-To: <d0f3c58e-fb2b-3d67-b9c1-1c8cdddb9055@suse.com>

--OCoJAccrOnUanfikGNbUv5GDyO9H7Azaw
Content-Type: multipart/mixed;
 boundary="------------0FC338B658635CD03DC606AB"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------0FC338B658635CD03DC606AB
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 18.08.21 08:41, Jan Beulich wrote:
> On 18.08.2021 08:24, Juergen Gross wrote:
>> Could you please try the attached patch?
>=20
> Seeing the patch, two questions:
>=20
> 1) Can idle_vcpu[cpu] ever be NULL when cpu_online(cpu) returned true?

No.

> 2) Seeing get_sched_res()'es access to per-CPU data, would it make sens=
e
> to move the cpu_online() check into there? While I guess the majority o=
f
> users are guaranteed to invoke it for online CPUs, I wonder if there
> aren't any further uses on the CPU bringup / teardown code paths.

As get_sched_res() is private to the scheduler sources, this would imply
a scheduler function being used for an offline cpu, which is rather
unlikely. Especially as get_cpu_idle_time() is the only official
scheduler function taking a physical cpu number as parameter. All other
functions only work with vcpus, and this would require to wake, pause,
=2E.. an idle vcpu of an offline cpu to hit the problem.


Juergen

--------------0FC338B658635CD03DC606AB
Content-Type: application/pgp-keys;
 name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Transfer-Encoding: quoted-printable
Content-Description: OpenPGP public key
Content-Disposition: attachment;
 filename="OpenPGP_0xB0DE9DD628BF132F.asc"

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOBy=
cWx
w3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJvedYm8O=
f8Z
d621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y=
9bf
IhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xq=
G7/
377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR=
3Jv
c3MgPGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsEFgIDA=
QIe
AQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4FUGNQH2lvWAUy+dnyT=
hpw
dtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3TyevpB0CA3dbBQp0OW0fgCetToGIQrg0=
MbD
1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbv=
oPH
Z8SlM4KWm8rG+lIkGurqqu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v=
5QL
+qHI3EIPtyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVyZ=
2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJCAcDAgEGFQgCC=
QoL
BBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4RF7HoZhPVPogNVbC4YA6lW7Dr=
Wf0
teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz78X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC=
/nu
AFVGy+67q2DH8As3KPu0344TBDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0Lh=
ITT
d9jLzdDad1pQSToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLm=
XBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkMnQfvUewRz=
80h
SnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMBAgAjBQJTjHDXAhsDBwsJC=
AcD
AgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJn=
FOX
gMLdBQgBlVPO3/D9R8LtF9DBAFPNhlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1=
jnD
kfJZr6jrbjgyoZHiw/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0=
N51
N5JfVRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwPOoE+l=
otu
fe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK/1xMI3/+8jbO0tsn1=
tqS
EUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuZGU+wsB5BBMBAgAjBQJTjHDrA=
hsD
BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3=
g3O
ZUEBmDHVVbqMtzwlmNC4k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5=
dM7
wRqzgJpJwK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu5=
D+j
LRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzBTNh30FVKK1Evm=
V2x
AKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37IoN1EblHI//x/e2AaIHpzK5h88N=
Eaw
QsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpW=
nHI
s98ndPUDpnoxWQugJ6MpMncr0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZR=
wgn
BC5mVM6JjQ5xDk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNV=
bVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mmwe0icXKLk=
pEd
IXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0Iv3OOImwTEe4co3c1mwARA=
QAB
wsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMvQ/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEw=
Tbe
8YFsw2V/Buv6Z4Mysln3nQK5ZadD534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1=
vJz
Q1fOU8lYFpZXTXIHb+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8=
VGi
wXvTyJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqcsuylW=
svi
uGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5BjR/i1DG86lem3iBDX=
zXs
ZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------0FC338B658635CD03DC606AB--

--OCoJAccrOnUanfikGNbUv5GDyO9H7Azaw--

--lDkyriCvHj96FMGlEin7exAURzHbQFD7D
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmEcrhUFAwAAAAAACgkQsN6d1ii/Ey+l
kAf/RTyvg8gB8JHTWeix3OJPq0g0ErB7fJCsrkPQh4Tb/u27CIDoYPHD5HOWng3wRyGr+OJw+tXo
zV6O8oY6YK2rPhjSm6hpak2LruuxM5W3q5Q+t+9oyg7rUlFgBkQJ7bcDZfFCAK9bLGp+cEpxsBIM
2/cY5I9ZivBXIVTrPPRuUVl+StZIiXjDPYa2iSXVRWMrwr/PjxBhI1J5L1X02Nqcbbld+rdngAs6
HL1TXCsSFlDujp91mttOeUYhx5au7HBl9PFsvv9L/Cj3oLGdsbd7Ll/aqh0RKb9IlREuJqymPqen
AxusxZj5pVNUfQbHu8Au6j17zUDqrkG3oiAOYNw+4g==
=QUhk
-----END PGP SIGNATURE-----

--lDkyriCvHj96FMGlEin7exAURzHbQFD7D--


From xen-devel-bounces@lists.xenproject.org Wed Aug 18 07:21:29 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 07:21:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168117.306924 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGFsx-0007HH-3N; Wed, 18 Aug 2021 07:21:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168117.306924; Wed, 18 Aug 2021 07:21:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGFsx-0007HA-0H; Wed, 18 Aug 2021 07:21:15 +0000
Received: by outflank-mailman (input) for mailman id 168117;
 Wed, 18 Aug 2021 07:21: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 1mGFsw-0007Gy-2v; Wed, 18 Aug 2021 07:21: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 1mGFsv-00086h-S9; Wed, 18 Aug 2021 07:21: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 1mGFsv-0003Iw-Gx; Wed, 18 Aug 2021 07:21:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mGFsv-0001hl-GR; Wed, 18 Aug 2021 07: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=4dLdKzK/mIM9GXtv1fVynTPvJOnPOmWARygr2ZZthi4=; b=eZvbtoQBunCxl2k3Act5KVRoU3
	+xqkUkFJQBazrpN5Hlqu9x0meeA/1qpHPsBXWzgumrWoYongfzpmoGYUAjKeNWfyYsBzOVBfBlDWQ
	hNkc9/jyZ+rcv8ISgoTFM3a5uzpbjTsJ+jr7oqCQT7MuDBc+pITXhT1qWWLLceiYZgec=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164230-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 164230: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-xl-arndale:<job status>:broken:regression
    xen-unstable:test-amd64-amd64-amd64-pvgrub:debian-di-install:fail:regression
    xen-unstable:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:regression
    xen-unstable:build-armhf-libvirt:libvirt-build:fail:regression
    xen-unstable:test-armhf-armhf-examine:host-install:broken:heisenbug
    xen-unstable:test-armhf-armhf-xl-arndale:host-install(5):broken:heisenbug
    xen-unstable:test-amd64-amd64-xl-credit2:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start: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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=274c5e79c792ce0331d0d8cd9a01545dea5a48fd
X-Osstest-Versions-That:
    xen=5a88d524857e5bf78b077d30ea515fcaac061bfc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 18 Aug 2021 07:21:13 +0000

flight 164230 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164230/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl-arndale     <job status>                 broken  in 164219
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install       fail REGR. vs. 164178
 test-amd64-amd64-i386-pvgrub 12 debian-di-install        fail REGR. vs. 164178
 build-armhf-libvirt           6 libvirt-build  fail in 164219 REGR. vs. 164178

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-examine      5 host-install   broken in 164219 pass in 164230
 test-armhf-armhf-xl-arndale  5 host-install(5) broken in 164219 pass in 164230
 test-amd64-amd64-xl-credit2  22 guest-start/debian.repeat  fail pass in 164219

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-raw  1 build-check(1)           blocked in 164219 n/a
 test-armhf-armhf-libvirt      1 build-check(1)           blocked in 164219 n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 164178
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164178
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164178
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 164178
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 164178
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164178
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164178
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 164178
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164178
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164178
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164178
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-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-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-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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 xen                  274c5e79c792ce0331d0d8cd9a01545dea5a48fd
baseline version:
 xen                  5a88d524857e5bf78b077d30ea515fcaac061bfc

Last test of basis   164178  2021-08-13 10:47:20 Z    4 days
Failing since        164182  2021-08-14 00:39:12 Z    4 days    7 attempts
Testing same since   164219  2021-08-16 23:08:03 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jane Malalane <jane.malalane@citrix.com>
  Kevin Stefanov <kevin.stefanov@citrix.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-armhf-armhf-xl-arndale broken

Not pushing.

------------------------------------------------------------
commit 274c5e79c792ce0331d0d8cd9a01545dea5a48fd
Author: Kevin Stefanov <kevin.stefanov@citrix.com>
Date:   Mon Aug 16 15:16:56 2021 +0200

    x86/ioapic: remove use of TRUE/FALSE/1/0
    
    Also fix stray usage in VT-d.
    
    Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Kevin Stefanov <kevin.stefanov@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit 2e5512d1ffd2e720f25c376df12db8a914117589
Author: Jane Malalane <jane.malalane@citrix.com>
Date:   Mon Aug 16 15:16:20 2021 +0200

    x86/pv: provide more helpful error when CONFIG_PV32 is absent
    
    Currently, when booting a 32bit dom0 kernel, the message isn't very
    helpful:
    
      (XEN)  Xen  kernel: 64-bit, lsb
      (XEN)  Dom0 kernel: 32-bit, PAE, lsb, paddr 0x100000 -> 0x112000
      (XEN) Mismatch between Xen and DOM0 kernel
      (XEN)
      (XEN) ****************************************
      (XEN) Panic on CPU 0:
      (XEN) Could not construct domain 0
      (XEN) ****************************************
    
    With this adjustment, it now looks like this:
    
      (XEN)  Xen  kernel: 64-bit, lsb
      (XEN) Found 32-bit PV kernel, but CONFIG_PV32 missing
      (XEN)
      (XEN) ****************************************
      (XEN) Panic on CPU 0:
      (XEN) Could not construct domain 0
      (XEN) ****************************************
    
    Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Jane Malalane <jane.malalane@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit c53aa9e655e7c615283e9e9637376c2b865e9dae
Author: Jane Malalane <jane.malalane@citrix.com>
Date:   Mon Aug 16 15:15:43 2021 +0200

    x86/pv: remove unnecessary use of goto out in construct_dom0()
    
    elf_check_broken() only needs to be invoked after elf_xen_parse() and
    after elf_load_binary().
    
    Suggested-by: Jan Beulich <jbeulich@suse.com>
    Signed-off-by: Jane Malalane <jane.malalane@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit 60a9d8d2fc9c4a524c7342499580a88aaa3a2b55
Author: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Date:   Mon Aug 16 15:14:37 2021 +0200

    ns16550: do not override fifo size if explicitly set
    
    If fifo size is already set via uart_params, do not force it to 16 - which
    may not match the actual hardware. Specifically Exar cards have fifo of
    256 bytes.
    
    Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit 5c34b9af05b9e5abd25d88efc4fb783136547810
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Aug 13 16:50:09 2021 +0200

    libxc: simplify HYPERCALL_BUFFER()
    
    _hcbuf_buf1 has been there only for a pointer comparison to validate
    type compatibility. The same can be achieved by not using typeof() on
    the definition of what so far was _hcbuf_buf2, as the initializer has
    to also be type-compatible. Drop _hcbuf_buf1 and the comaprison;
    rename _hcbuf_buf2.
    
    Since we're already using compiler extensions here, don't be shy and
    also omit the middle operand of the involved ?: operator.
    
    Bring line continuation character placement in line with that of
    related macros.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit e241d15f1c8a8a02baa401af857393f9ada5aeb3
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Aug 13 16:49:46 2021 +0200

    libxenguest: fix off-by-1 in colo-secondary-bitmap merging
    
    Valid GFNs (having a representation in the dirty bitmap) need to be
    strictly below p2m_size.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 1a838bf72584788310496ba5f3d865457c80727f
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Aug 13 16:49:10 2021 +0200

    libxenguest: complete loops in xc_map_domain_meminfo()
    
    minfo->p2m_size may have more than 31 significant bits. Change the
    induction variable to unsigned long, and (largely for signed-ness
    consistency) a helper variable to unsigned int. While there also avoid
    open-coding min().
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Wed Aug 18 07:53:05 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 07:53:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168126.306947 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGGNf-0002LC-SR; Wed, 18 Aug 2021 07:52:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168126.306947; Wed, 18 Aug 2021 07:52: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 1mGGNf-0002L5-Og; Wed, 18 Aug 2021 07:52:59 +0000
Received: by outflank-mailman (input) for mailman id 168126;
 Wed, 18 Aug 2021 07:52:58 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=m5uW=NJ=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mGGNe-0002Kx-E8
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 07:52:58 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 4cca9c60-fff9-11eb-a53c-12813bfff9fa;
 Wed, 18 Aug 2021 07:52:57 +0000 (UTC)
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur02lp2053.outbound.protection.outlook.com [104.47.6.53]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-24-w6_CqeriPYOAkl8x61cu_w-1; Wed, 18 Aug 2021 09:52:55 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB3118.eurprd04.prod.outlook.com (2603:10a6:802:a::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.19; Wed, 18 Aug
 2021 07:52:54 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Wed, 18 Aug 2021
 07:52:54 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM4PR0701CA0038.eurprd07.prod.outlook.com (2603:10a6:200:42::48) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.8 via Frontend
 Transport; Wed, 18 Aug 2021 07:52: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: 4cca9c60-fff9-11eb-a53c-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629273176;
	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=XCRmyBrdX7/L7yqddJOH3Y19YjXBN0ue5Y0rNRPoqFQ=;
	b=Ef+vJ2SICDCXlxZkDmdD0W+2Ml1T/c2ZFmLURv7O0XpC0uW1hL/qQPLlEeIUUpJ3uHK45X
	n3SDY2Xlw5FWTqKnYc0AQ2oHUX538IHHPWKb97E2UZE+M4C0XzYJsaNeaVqQw4vYqEVgiS
	m9F2fKNaBlauLGpMiOKLoFftP081+Jc=
X-MC-Unique: w6_CqeriPYOAkl8x61cu_w-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dNGdzk6JItRR7j5v2qs3//QnQM/x6soZxWDj/nze+0IZfRVqSPrzwILMFz08+cG0wnVOfOYgi/o/oQzOyHsElPXnhFzgx7MpqTgrkVCYcGxfzf7GlSQM13/LsCtQaZrOWgQoAMDC3hLcivHMYW3BOcRg7EpmM06gsYOG8FSfltOhXQJ4RQnqIWdrVPKEMMW0du+gNKXms1FiFfSUZbF7jenbS2qvXjZ4X0FsJjxdKgPSYkGqRcr55VI1lrTIcOWZUJVy+U+6xAwf/UjsLHro98HM9HkCVBGz07mXQqpWhhYgZzFCHrjMA36rM4hb/MGS/m3pk/k9gK+790jDAMjaxA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XCRmyBrdX7/L7yqddJOH3Y19YjXBN0ue5Y0rNRPoqFQ=;
 b=DsS7beM1/PCJuoZbopEkcQWducrCKbR3RYmtP19id8CXocGocP023zHHt1IWUrOneLibMJCmpIjFnlxZq24Hc6zeoTD7nsYXbs1bnAPTidpMRymZwy6uZEyJor2ayoIdCdpQbXQWFso5VCeBgvVQIxEqbaFW7+TwvMu3tctKJtUTeBcnxYYxFcqeqTO8ulBtG8GyW5QM6yC0rFqy8WPnaZEgoHpoO0UeMeGlaqda3cWu/NJGSh1jDK7lJ/MZOV+cWccICbcyjuJlkTL0dYyBwqxuM+oIq5vl6wjFCvwI44B7ovywsNYjobgaeHiF6m9LjSze+Cfjs7Qm2ejc1jv2Lw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: epam.com; dkim=none (message not signed)
 header.d=none;epam.com; dmarc=none action=none header.from=suse.com;
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Julien Grall <julien@xen.org>, Stefano Stabellini
 <sstabellini@kernel.org>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] Arm: relax iomem_access_permitted() check
Message-ID: <a26e91df-7c49-5903-6228-821d92c4902c@suse.com>
Date: Wed, 18 Aug 2021 09:52:51 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM4PR0701CA0038.eurprd07.prod.outlook.com
 (2603:10a6:200:42::48) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 9ed008e5-ac01-4f80-eb27-08d9621d2f7f
X-MS-TrafficTypeDiagnostic: VI1PR04MB3118:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB3118325E9A5A5156FDD83E5BB3FF9@VI1PR04MB3118.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:7219;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	kcOlTRcj0wA86IhZf9nq8sfNE3Z4mdOVuGHuNSNSxhy/AeFyAe1zSNkr5xTpWDiYlScKj9P6h0aDD6ODiCSj9khioY0u+OGTbshSYBV8G+jmB1I7lv78XUcQddGqYfkxvvyGlz//QbDAiz2ieQNJcq4rxs4L2vUpC9np5D1MXlMvQfvg2I5iUP8w2gpGTksneH8GYnP3ve6Qb+EsryxNJqDVDOO2/u7IwQ04tr6KNjjgElatEI9exhSz9U3o0rZPzKP4i7Ce22NKWMaxTjoDe5mZqjzN00dLvs6uT3RZ3TzzdWoObWWeJBG7k4cyphnQRvvvV5UYEpAUCOAs9KX9jrywOFLc4EP6FvBaUhFXk+EQP8hM8KRmku/Y4pNjVG676a3QYPn0fhszaL9+TQX7ZNdOSS7m1Lcms8EoySumXmDMSvGkbrXk18XwbnXbd/rcLVkNfUnQ49EO6Xd80zPHBaJOxvRZbe+e2OhPVibyfsKss3o19SkP5DbR086E01+DDkNtYwoSY4BWYyvetAS4Cislo39V6vMW8ZuCWjivmN4Of5K21PhH93/z4CNPua79cPHX2JT5+BIyB1Lys+rE+KxBcfWpf9RU+1Rp6H3BxT6m5md0onxPpcCRjxD8VLxUi4px0DxgTjYRQznnd8E+Hu0LQZvWTnylHtksVXkrKHi1fquchmwXokVoQF3YxJTQV885RB7+uR3Px50zEAqlstFxwcFo4cD2mrvhzsCY4NU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(136003)(346002)(39860400002)(366004)(396003)(31686004)(31696002)(54906003)(316002)(16576012)(66946007)(36756003)(2906002)(4744005)(66476007)(66556008)(4326008)(83380400001)(478600001)(6486002)(26005)(186003)(2616005)(956004)(86362001)(5660300002)(38100700002)(8676002)(8936002)(6916009)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dE9BUlBUd1NsdE9uMVlNUm10QyswOURjcEo5ZmxGYmYvTkRSQVNhZHZwdGp4?=
 =?utf-8?B?c056eWcrVWYyeUF0ZUpmQWE1R0E1ZjRYUjg0Ymw4aTBKSVg2RVgwZVArdUxS?=
 =?utf-8?B?eW14SURTNHVuNENjelZjbEJSeXk3YWVYais5V2tCU0dlSEk0MFp0SWVMQ2lp?=
 =?utf-8?B?bXBTZXFxQnJ5TWdhdDI4eGh4S0x6Qjg3ODhXUjFtdmlNS0M4Z3ZPRk9FMTM2?=
 =?utf-8?B?QmV1dUlkZGF5UnBHbDlKRDVmRXhUUUFnYS9OT3hlRzdEd3dIZ1lmQjF5eXVq?=
 =?utf-8?B?N2M0WGRlVHFlY0F6VFkrQlhKVW5xMDBmd0hlR0k0VXdxZTRoY3N2YnI5cTlu?=
 =?utf-8?B?M1lnUGRjUmV4VFpEQm5VMkxaMm1RQ3lwMmduL2UwdnhjN1N0bmRKa2xrdlYz?=
 =?utf-8?B?b2NkMjI0blRqcWtXdmFjWS9xRjlxR0I0Y3Q5aDVqZ09CRW5wTG55bEU4REhG?=
 =?utf-8?B?ZUt6N1NLb2lJZ0FIbHNaYk1xbHY2bTJOSDA3bitGR0lyMDQ2Vkw1S3F3ZWtk?=
 =?utf-8?B?YXp0UGZoMDIrdUkyaFZpaEZ5Y3lvUkZNLy9YWjQxMGEzbnloL2UzdjBrR1lE?=
 =?utf-8?B?dnBOZzZGOTc5YVlMdlpoODhMTjFKS1VwSnpMTldMcmFNMTFQL1JobXJaRXZH?=
 =?utf-8?B?VDYvQUQ0OGR1N2JHVUdrbkdtYTJKMFg4S0xuVlRUWXM4UGdxR1lkbTNmL1Fr?=
 =?utf-8?B?TXp2YUYxbVhlVUZrNVZodVhvWjk3SjlidG5MTkM5ZjF4aW4wcEcwOU56K25H?=
 =?utf-8?B?cHVPRHl1RXNNNGdhU1VpdDFIOFNvU1B5c3h0WnlJMVdoUFFBa1NPTWREZVRh?=
 =?utf-8?B?S09xaVJQRDllVllpSnZtdnVDM3gzdGhiVHRXYm9wbjVnckw4SDlWVEpDMUpB?=
 =?utf-8?B?V1dtSU9CNFdMb1k0Z3ZWZjBRR0JTZzhodEp1NFhSSjJHOVdNUEFDazV5dFIx?=
 =?utf-8?B?eHZlM1NEL1FUM1pPQWtuaU1SNGRldkJYdE0vRzFLWU80SUxYTGNSV1RxZjJU?=
 =?utf-8?B?TzVqMGdGWGxrWWVaK0RYcVJOOGxzcVY2TWxmV0ZBMVBCcDlLaVRmRG9FOUQ2?=
 =?utf-8?B?NlVhMVkyYmlvVkZOWWdhNk1USHB1bG5ONDJ1a3ByRzN5UUM4UEI4cS8wTmpp?=
 =?utf-8?B?NllWT25xMUdidzMyNG93Z1FJNStkQ2E1RW5zZVRWQ05CUHJzVVlDVHBvWDJi?=
 =?utf-8?B?aWVnTnM0UG45N3hYQjBLWnJXQW9YQk1oakQxRTVjUFloSTQycERSa3dYenZF?=
 =?utf-8?B?Vi8xUWxxZENabGkzWXhOaUNENktPejA0cU9oN0Q5VDNJbTdPMWx0T0N5WERv?=
 =?utf-8?B?d1BBeGt0WFFJaGFNQ3BSbVFmcDlNVTlLcU0vdUhZaXNVMUFxVzU0U1FTNTNm?=
 =?utf-8?B?ak1EMmZsT2M5NzQ1WFYwMjcwZHRPWlpxRTlibXVkZThoVjBMT1NHNzE5YWJR?=
 =?utf-8?B?NlNibXkrOUx4MjA2NmMxcjJ5ZHdDUHBRVGdGdWloVDc3YTZmbTZaTnpCVUM5?=
 =?utf-8?B?MXcyYjJOVW5yZjhnUEVPYVBBKzFyeGZxUGduUUpreGNtaTNncWVMdVY4MXY4?=
 =?utf-8?B?alJ5elM1bWVISTVUZ1pIcGYvWEhESXNXOGlWVFVhSTJMMi9TaXY0VHozVEpD?=
 =?utf-8?B?NnhPZ1Bab2NZaWZnbXo2M2F2SHQ4ZzAxSnRCc3pWdXlSUE5FM0NJNnUrT0M5?=
 =?utf-8?B?WWtYVnlqcEE4d0lvSlYrcFJ1U1pmd3d6MHdWTGpQdnNVYWFpTFhZZi9sc1pk?=
 =?utf-8?Q?RFUq1Bl+lOJn5YNumSwQRI4fHv7iEIg6PZGz1Lp?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9ed008e5-ac01-4f80-eb27-08d9621d2f7f
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2021 07:52:54.0981
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: L6XP7Mlr5nQ3Vknp79Iezsi0KNVr1SzclRaLFLZD+CJGUk07XcbfeOFc7c6GWYnZx9uR7nouFLIBuxw4G+CIBw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3118

Ranges checked by iomem_access_permitted() are inclusive; to permit a
mapping there's no need for access to also have been granted for the
subsequent page.

Fixes: 80f9c3167084 ("xen/arm: acpi: Map MMIO on fault in stage-2 page table for the hardware domain")
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -1893,7 +1893,7 @@ static bool try_map_mmio(gfn_t gfn)
         return false;
 
     /* The hardware domain can only map permitted MMIO regions */
-    if ( !iomem_access_permitted(d, mfn_x(mfn), mfn_x(mfn) + 1) )
+    if ( !iomem_access_permitted(d, mfn_x(mfn), mfn_x(mfn)) )
         return false;
 
     return !map_regions_p2mt(d, gfn, 1, mfn, p2m_mmio_direct_c);



From xen-devel-bounces@lists.xenproject.org Wed Aug 18 08:36:47 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 08:36:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168138.306962 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGH3p-0007Lm-NK; Wed, 18 Aug 2021 08:36:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168138.306962; Wed, 18 Aug 2021 08:36:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGH3p-0007Lf-If; Wed, 18 Aug 2021 08:36:33 +0000
Received: by outflank-mailman (input) for mailman id 168138;
 Wed, 18 Aug 2021 08:36:32 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+wXm=NJ=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mGH3o-0007LZ-11
 for xen-devel@lists.xen.org; Wed, 18 Aug 2021 08:36:32 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com (unknown
 [40.107.6.78]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 60e29186-ffff-11eb-a53d-12813bfff9fa;
 Wed, 18 Aug 2021 08:36:28 +0000 (UTC)
Received: from AM6P193CA0055.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:8e::32)
 by HE1PR08MB2907.eurprd08.prod.outlook.com (2603:10a6:7:2d::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.15; Wed, 18 Aug
 2021 08:36:07 +0000
Received: from AM5EUR03FT023.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:8e:cafe::17) by AM6P193CA0055.outlook.office365.com
 (2603:10a6:209:8e::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Wed, 18 Aug 2021 08:36:07 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT023.mail.protection.outlook.com (10.152.16.169) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Wed, 18 Aug 2021 08:36:06 +0000
Received: ("Tessian outbound f11f34576ce3:v103");
 Wed, 18 Aug 2021 08:36:05 +0000
Received: from e65a090cd413.3
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B4B388A2-08F2-46FA-8DCC-365AB562886B.1; 
 Wed, 18 Aug 2021 08:35:57 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e65a090cd413.3
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 18 Aug 2021 08:35:57 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB7PR08MB3275.eurprd08.prod.outlook.com (2603:10a6:5:24::26) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.19; Wed, 18 Aug
 2021 08:35:53 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%6]) with mapi id 15.20.4415.024; Wed, 18 Aug 2021
 08:35:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 60e29186-ffff-11eb-a53d-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=oviVbm9W4LnTJYQjwe0g3MK5iTAjtV+qydPeBuL7IHA=;
 b=IGrLNNuXYz1k+kJ3PwV+pLbjJyzAdq2auewK7t69Rywo2p3nJYuC7+TIXniuhAUn+J3itCDPU39tuDz48yJa1JctihzFbN5slI/LkxAWsdo4xOiTqqds69N+OUISL5WFONb3XSNlJWyd3KDyQz4wgTfovyLj9K8oTCqQiQUEFNg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xen.org; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;lists.xen.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aefOtBoNdI4LFAhKlA/hdLQSWoKkVMALxowO7oilw2RplaEa9IcN5RggjY4jU69p3KqP+5nDv3x7s632yO0Q3MWY9BszJinr2Ssq2J1Qw6anRxO8RMNTwWF9WfcZF0UfqPSqXBYZ2W6bacX9XcTwhVkT+/+Dcgpg9YuPX9I7jyAV4Iyp1PSzq8ksz57VbaLxJuNe3+DNI8Hpysyg/MW7vXZxt3IbLWmHmYUkypGjjX7r7kxY3j6MQbX84I/IqJEl8hSN88q4PGD9CAzKjp+qISpiwQPxHhIfH+pg+i0dynzNGtAL1BJzS6HSiFsl9+GjvpUWjbXAs+GwGBjDmHlw2A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=oviVbm9W4LnTJYQjwe0g3MK5iTAjtV+qydPeBuL7IHA=;
 b=iAFhsNK0nCkFnEVZU/XEqXcoAMaB9v+MtzzH77htG8HJwWPFcW5c08MmFNbEk2T1AkW26UwZkQAWmIMHy5KaycbXypwxAXte3ubpGFC9cpcGIAdaZu5WJWeRB+3dO9/n7VygnB6GEgIqO2o1smsegK6AD/j3BjHfnfHtWTUoon5o2NqYyiStUQ8OXZSQianKP6dQdrco1mx/vTCIYMWX5yXb+C3ejZ4e4aj2WHpO5C01qXQCfK4YRtM6uYFM3Uo218VpqfTRxIegL9MtV1bshkc+0dwGjbG3C9vicv26rulv8GPops5VE03nNbh5cEUDflHzicGHHvAZM3FYsMlaIg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=oviVbm9W4LnTJYQjwe0g3MK5iTAjtV+qydPeBuL7IHA=;
 b=IGrLNNuXYz1k+kJ3PwV+pLbjJyzAdq2auewK7t69Rywo2p3nJYuC7+TIXniuhAUn+J3itCDPU39tuDz48yJa1JctihzFbN5slI/LkxAWsdo4xOiTqqds69N+OUISL5WFONb3XSNlJWyd3KDyQz4wgTfovyLj9K8oTCqQiQUEFNg=
From: Wei Chen <Wei.Chen@arm.com>
To: AKASHI Takahiro <takahiro.akashi@linaro.org>
CC: Oleksandr Tyshchenko <olekstysh@gmail.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Alex Benn??e <alex.bennee@linaro.org>, Kaly Xin
	<Kaly.Xin@arm.com>, Stratos Mailing List <stratos-dev@op-lists.linaro.org>,
	"virtio-dev@lists.oasis-open.org" <virtio-dev@lists.oasis-open.org>, Arnd
 Bergmann <arnd.bergmann@linaro.org>, Viresh Kumar <viresh.kumar@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>, "stefanha@redhat.com"
	<stefanha@redhat.com>, Jan Kiszka <jan.kiszka@siemens.com>, Carl van Schaik
	<cvanscha@qti.qualcomm.com>, "pratikp@quicinc.com" <pratikp@quicinc.com>,
	Srivatsa Vaddagiri <vatsa@codeaurora.org>, Jean-Philippe Brucker
	<jean-philippe@linaro.org>, Mathieu Poirier <mathieu.poirier@linaro.org>,
	Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Artem Mygaiev <Artem_Mygaiev@epam.com>, Julien
 Grall <julien@xen.org>, Juergen Gross <jgross@suse.com>, Paul Durrant
	<paul@xen.org>, Xen Devel <xen-devel@lists.xen.org>
Subject: RE: Enabling hypervisor agnosticism for VirtIO backends
Thread-Topic: Enabling hypervisor agnosticism for VirtIO backends
Thread-Index:
 AQHXiWXOlXnRp9GT30mY/CfP5cid16tt4TUAgAVQpQCAAsKLQIABdsmAgAADLTCAAWVyAIAAMB+g
Date: Wed, 18 Aug 2021 08:35:51 +0000
Message-ID:
 <DB9PR08MB6857D1BE810B1D1DAF7B12AE9EFF9@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <87v94ldrqq.fsf@linaro.org>
 <alpine.DEB.2.21.2108041055390.9768@sstabellini-ThinkPad-T480s>
 <20210811062748.GB54169@laputa>
 <CAPD2p-mMeY=MDbAdLGrmmioSkJo147aMDrK=Qzr=PCa4jztGGg@mail.gmail.com>
 <DB9PR08MB685767CFAA4A8BCE7D2225A89EFD9@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <20210817080757.GC43203@laputa>
 <DB9PR08MB6857C656472153A42FB438C49EFE9@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <20210818053840.GE39588@laputa>
In-Reply-To: <20210818053840.GE39588@laputa>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: DAF0312D094319499394B4D24975F526.0
x-checkrecipientchecked: true
Authentication-Results-Original: linaro.org; dkim=none (message not signed)
 header.d=none;linaro.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: dc43876a-fc57-454f-7c9c-08d9622338ca
x-ms-traffictypediagnostic: DB7PR08MB3275:|HE1PR08MB2907:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<HE1PR08MB29076BCF951255E28C7339249EFF9@HE1PR08MB2907.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:8882;OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 P/3uJtRPqeds1Jra8ib44O2W6ItHsxoY1cd+a0V0PMqxLncqsYX4Q8hE3LxO/newcdVxDnYuZC5o3xO3hJvxOSAPVhBYvN8rns77fz6sAWAwJQS3eE26M/P/Dy7nedAyFRT99KNrqKaI14BAV92zS4+CvTAyaskuwGVI71NvJ/KgaSjAkNU/UuENfc+WPExaUZuoFRc0D85LMW/XgKMmLPEAWZ10B9eKk9o046DdqDqvwZsuxsFhHyVKN8wCf4o2aBSvzFY2U9Fdv89J/TJyY73+0aAPqStSouhrMVM6D+Zn2qqUuJ03oNKBcsK3YS8uK7XsvGRZ5qXjVm7kPHfcYI/i20VYQUJAz1kIdUj0ef5cZjees2jwA/oHJPRRlnKZXhN5BtLt4R4tc9RpXbLb9zHDXRkFbbVYJwxy82YBA+B2vp7JuKZfmQvtsc6odJQhj2gUagzZXpnWEws1rjH5bJc4L55PDlysVdJkLcRMqpAcBscsClvvJET83ep0Q1lgISCgB73rHcrpjebdgkF5pZ6LWI9vnZgqBavjXrSWla51IqzUrqJi7/13tIGOxbuej9w5sbA4wZSyDpTDXax72Xn8k4vBOjJzidP2Wbrs/CrDAlIejWRt0ZcScCB79Xw0AeYa/UgcgoUpDI8kTzk6DKe+kSqxLC8WDAFc+33bOAaCsHJPeMxahWq426WbPPHKgKNC6Yc+9ZzbJimk1mP0hynsAZ+ddDa6b0T4QUNwWzd9MQ3KVWJgtKeo3Pp8xfgahcr6Po/N5W4UJB04+0nio5YSAdBUzjU4fRG6FJXD0vOp/J4nS8xsOHkm9qG5Uv9t4FYWq5KChjGACclZdYIg+g==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(376002)(396003)(136003)(39850400004)(346002)(366004)(30864003)(86362001)(5660300002)(6916009)(52536014)(7416002)(55016002)(71200400001)(83380400001)(9686003)(66574015)(33656002)(38100700002)(8676002)(186003)(122000001)(76116006)(54906003)(8936002)(53546011)(7696005)(316002)(66476007)(6506007)(38070700005)(66556008)(66946007)(64756008)(26005)(966005)(2906002)(4326008)(66446008)(478600001)(559001)(579004);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?RlVUSFgvTVlkWE9aT0JiOGs1UjNCanEzVzgwOGc1SGZGSTFyRHpBejBGc1Fi?=
 =?utf-8?B?NndMYzE1K3NHWHhGeXdBVm9ycVJBMVZQMkgvMDJvTWovWGQvUis4RDNoMU1H?=
 =?utf-8?B?TnhuUGJnNk91VTRCMkxHSXJOMEprb2FENC9hTExSNVFXdE4wZWxRODNCc2c2?=
 =?utf-8?B?eml3Q1NJUGFTZDdtRkhrS0kvTnVraXpwbENDa0NVQ0o5VG5vTmdjZHdZRUsr?=
 =?utf-8?B?Tkc5RlU0NW1TK1lycHMzcjhHQTBSTzRMU3J3WUdBVFJlR0JxdzN4T05OY1NJ?=
 =?utf-8?B?ZXFXY3JYYXBjRUI0OFFlTm5wYkVUY0JQMndOajY0SHhQOEVZaHlXNXNUdmxS?=
 =?utf-8?B?OTcxcnpZeHg2TG1YclM0dlhjamhtMU5nd3U5VElxTCtHOFY4N3QrZEdkSE91?=
 =?utf-8?B?V2NEZEI1T1RIMkRLZmZWcEUvaHIyODdQNXhBdDYyTVlaWVIvK2RZYThiaDRW?=
 =?utf-8?B?eTRXK013V0daeFM1cXcyblFvME1iZ3d2akttcW5BOTM3UlNhbjZ1KzRxZkgr?=
 =?utf-8?B?NE5SWjExWFMwSmtYblI5V1h6RDNMd0pjQ29Ua3d3VGp0T2NBbnQ0RytYRi80?=
 =?utf-8?B?a0NRR1J5NWJiVU51TW1lRU5MR2pZNVNnTVVhczdRaUFRdkEyc3Jhd2FlVmdE?=
 =?utf-8?B?ZllMVWIwbDlWSm82UDF2cWlxMTkrMnlTbzc0YmtweEJZRjZnOFd6V3NNT0kr?=
 =?utf-8?B?L1pXZEMrTFUyU2ZxalAzbHBtSWEzZ2JZK1k5VWk4TE9vQUFOa084Z3BFK1I2?=
 =?utf-8?B?RkpHNDh5VzhkelByeUQzMW5QUVB0b2ZScTlxT2Y1bmJ5a01mZUwxWXJEZ2I2?=
 =?utf-8?B?T3BmM2c4VkwrdEZTM1hHN09scjNqUkZpdkNzdzdtMXNtNTJDUzJLeUcyb2R6?=
 =?utf-8?B?d1RtZzR6cUdlYSs4N1dVcml5WWZCd0pjUkdIRS9BSHB4RTdWWHMzR3dORHFF?=
 =?utf-8?B?RnoyOE5NeHNQRGJ3K2srSnNkT1o0WVBlRHZDMHVZbG9vTW9jbkovZzVaWURk?=
 =?utf-8?B?LzM4Q1dnSFZoUGQ0a2VXejdYTHJQYXpiMDFnU1BRWktVVWhMaWx4bkZUR0hk?=
 =?utf-8?B?dFJNUjVlcEdINFlQaGphZXQ2cTlwVmxsaGNaNXNaK2RyRk9BS1prYUU3ZGlF?=
 =?utf-8?B?UUhGMStlSjluUTlPUTlkcUNxNHRuUEVaNVc1aDJKVVBTVUpBMjhmdlZ5bDRy?=
 =?utf-8?B?RC8vSVY3VnJxcU9PWEkyT3RLbG1SM2tYcjN2N3FndnZoZThJaDhJVmllNFZ5?=
 =?utf-8?B?TVo1ZzIwQ1B3RktUcVY0Ni9Wb3p0bktWVEUxYWkvM2lvbjg2OFA4MnM2QWxv?=
 =?utf-8?B?SFpTV3FHdlRIWHduY3hBV0hXbU1oTU5iMVdROEJBaVJ6bDkzbFV2VEZqWndj?=
 =?utf-8?B?bGxSRmlvcFR5NFBIVVhocHc1UXFaa3lYTmpYZWczOWU0Sjl5TGcyVzdYb0h2?=
 =?utf-8?B?akVVRVAzMXBML2lqYStyTU9tTjQ4ZURwNXhNSDRYOTArZ09VRFVjZmFNMnp1?=
 =?utf-8?B?Q1dJTWU4cGhNVnVhMitic2E3NlNUd0d1OWpKNDNNbXF0ZEJnR2JvSkk3aFJq?=
 =?utf-8?B?SWh5S3pvbW04Njk5bVdQeFczcXhHVzcvMjU3eUlsOHd4UEpxdVV3eVpwMVVW?=
 =?utf-8?B?d3hSOFU3QTJPTHVaL3hQQlJ4UXoxRkhrUlJqNHBqUG5LbC9reHI0SmZjMW1B?=
 =?utf-8?B?QjFBZDJEU3c0MnVnL3hBek5qWjkvQUd6V0FKVjBtbnN2a2hsR2VWR0xjUDQ3?=
 =?utf-8?Q?Woe3Rh6F4nqFz627mU/TM7HnWc1ccT4hsM/P84r?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3275
Original-Authentication-Results: linaro.org; dkim=none (message not signed)
 header.d=none;linaro.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT023.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	aa9b8709-a1cd-4bf1-1bd4-08d962233043
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4JQr3NDwEI+bcxQmXZspXmJ1nBTWNoOHqObaIETOMhSV0bjMXshvD7fjQpyR958qSVklWjvQPxjIFti8ShuJz0II3H83oyy9z75gbp43SXEhYUF7hxuOijaOH77VAaE+VOBV7z370iHNhJVJtyhzu2Jm7dn1UV2pxbP70TtJknKTRLx7w3SypL3nXUhT0REI9nUYa9QnJnRwiI6QLjOMW5KawnzeXWCL0SQtXToghO5ew4o4SKx54w9fggEOkolgCJdCyROe0GATUiyNVdNN6YiOnFHwsX/Ff1wtCrMa2EmNmZUbWZqhsjc5DMwnM51RM/Ix3qfy4WkDxwdRrtlahASwC+o4s5e6FsbM+DuraSXZZhw7Pi9R9ztUqEXI9x4rrOEvdB+rLYKaYteStK1KM76VdQMQFlgrSP1FU7w7iIOW9o9dWAEYhh++hna2LkMdfWjx+apf8oy5/ZdVKDVl0aIm45g6eEHoMDqqtLyS9SFoz9wtGwe/yIFDu54PUXDNVpEk4tGd30ZBgwDSH+jjn2KXrItkwSmLdzacyQHu8i+W6sqSmwF98muFuetnRc+Y+axsr/0PvPwrXsmnHNGaqslEEBLp52ZH1qwrCGfUBPJrZE8Rpove2MzJ4/x+EOM5CTHIBtjfpRozsPnew0q3nNV1J6TLvUIaZzpeTLs2NoHbE/RyKaGwTRPRsptBi5rTovIWLADGbiiySFpRHsaopSa6PFqBi7Jp8ZQ0NvvxddCcDkSjeVy93KpyEAiClAUfVGuhV90u3Y1Qei6LvxJ5KiAMwsFL0cclKjhkrAdldIHpIMSRrz3rSEwP1l3+QjguVL2upod+gYucIGXA4+Qw6A==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(136003)(376002)(346002)(39850400004)(396003)(46966006)(36840700001)(70586007)(26005)(33656002)(9686003)(336012)(8936002)(70206006)(82740400003)(82310400003)(55016002)(36860700001)(86362001)(8676002)(186003)(66574015)(83380400001)(2906002)(47076005)(478600001)(53546011)(6506007)(81166007)(30864003)(966005)(54906003)(356005)(4326008)(5660300002)(316002)(6862004)(7696005)(52536014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2021 08:36:06.5247
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: dc43876a-fc57-454f-7c9c-08d9622338ca
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT023.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR08MB2907

SGkgQWthc2hp77yMDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQUtB
U0hJIFRha2FoaXJvIDx0YWthaGlyby5ha2FzaGlAbGluYXJvLm9yZz4NCj4gU2VudDogMjAyMeW5
tDjmnIgxOOaXpSAxMzozOQ0KPiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENj
OiBPbGVrc2FuZHIgVHlzaGNoZW5rbyA8b2xla3N0eXNoQGdtYWlsLmNvbT47IFN0ZWZhbm8gU3Rh
YmVsbGluaQ0KPiA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz47IEFsZXggQmVubj8/ZSA8YWxleC5i
ZW5uZWVAbGluYXJvLm9yZz47IFN0cmF0b3MNCj4gTWFpbGluZyBMaXN0IDxzdHJhdG9zLWRldkBv
cC1saXN0cy5saW5hcm8ub3JnPjsgdmlydGlvLWRldkBsaXN0cy5vYXNpcy0NCj4gb3Blbi5vcmc7
IEFybmQgQmVyZ21hbm4gPGFybmQuYmVyZ21hbm5AbGluYXJvLm9yZz47IFZpcmVzaCBLdW1hcg0K
PiA8dmlyZXNoLmt1bWFyQGxpbmFyby5vcmc+OyBTdGVmYW5vIFN0YWJlbGxpbmkNCj4gPHN0ZWZh
bm8uc3RhYmVsbGluaUB4aWxpbnguY29tPjsgc3RlZmFuaGFAcmVkaGF0LmNvbTsgSmFuIEtpc3pr
YQ0KPiA8amFuLmtpc3prYUBzaWVtZW5zLmNvbT47IENhcmwgdmFuIFNjaGFpayA8Y3ZhbnNjaGFA
cXRpLnF1YWxjb21tLmNvbT47DQo+IHByYXRpa3BAcXVpY2luYy5jb207IFNyaXZhdHNhIFZhZGRh
Z2lyaSA8dmF0c2FAY29kZWF1cm9yYS5vcmc+OyBKZWFuLQ0KPiBQaGlsaXBwZSBCcnVja2VyIDxq
ZWFuLXBoaWxpcHBlQGxpbmFyby5vcmc+OyBNYXRoaWV1IFBvaXJpZXINCj4gPG1hdGhpZXUucG9p
cmllckBsaW5hcm8ub3JnPjsgT2xla3NhbmRyIFR5c2hjaGVua28NCj4gPE9sZWtzYW5kcl9UeXNo
Y2hlbmtvQGVwYW0uY29tPjsgQmVydHJhbmQgTWFycXVpcw0KPiA8QmVydHJhbmQuTWFycXVpc0Bh
cm0uY29tPjsgQXJ0ZW0gTXlnYWlldiA8QXJ0ZW1fTXlnYWlldkBlcGFtLmNvbT47IEp1bGllbg0K
PiBHcmFsbCA8anVsaWVuQHhlbi5vcmc+OyBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+
OyBQYXVsIER1cnJhbnQNCj4gPHBhdWxAeGVuLm9yZz47IFhlbiBEZXZlbCA8eGVuLWRldmVsQGxp
c3RzLnhlbi5vcmc+DQo+IFN1YmplY3Q6IFJlOiBFbmFibGluZyBoeXBlcnZpc29yIGFnbm9zdGlj
aXNtIGZvciBWaXJ0SU8gYmFja2VuZHMNCj4NCj4gT24gVHVlLCBBdWcgMTcsIDIwMjEgYXQgMDg6
Mzk6MDlBTSArMDAwMCwgV2VpIENoZW4gd3JvdGU6DQo+ID4gSGkgQWthc2hpLA0KPiA+DQo+ID4g
PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTogQUtBU0hJIFRha2FoaXJv
IDx0YWthaGlyby5ha2FzaGlAbGluYXJvLm9yZz4NCj4gPiA+IFNlbnQ6IDIwMjHlubQ45pyIMTfm
l6UgMTY6MDgNCj4gPiA+IFRvOiBXZWkgQ2hlbiA8V2VpLkNoZW5AYXJtLmNvbT4NCj4gPiA+IENj
OiBPbGVrc2FuZHIgVHlzaGNoZW5rbyA8b2xla3N0eXNoQGdtYWlsLmNvbT47IFN0ZWZhbm8gU3Rh
YmVsbGluaQ0KPiA+ID4gPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+OyBBbGV4IEJlbm4/P2UgPGFs
ZXguYmVubmVlQGxpbmFyby5vcmc+Ow0KPiBTdHJhdG9zDQo+ID4gPiBNYWlsaW5nIExpc3QgPHN0
cmF0b3MtZGV2QG9wLWxpc3RzLmxpbmFyby5vcmc+OyB2aXJ0aW8tDQo+IGRldkBsaXN0cy5vYXNp
cy0NCj4gPiA+IG9wZW4ub3JnOyBBcm5kIEJlcmdtYW5uIDxhcm5kLmJlcmdtYW5uQGxpbmFyby5v
cmc+OyBWaXJlc2ggS3VtYXINCj4gPiA+IDx2aXJlc2gua3VtYXJAbGluYXJvLm9yZz47IFN0ZWZh
bm8gU3RhYmVsbGluaQ0KPiA+ID4gPHN0ZWZhbm8uc3RhYmVsbGluaUB4aWxpbnguY29tPjsgc3Rl
ZmFuaGFAcmVkaGF0LmNvbTsgSmFuIEtpc3prYQ0KPiA+ID4gPGphbi5raXN6a2FAc2llbWVucy5j
b20+OyBDYXJsIHZhbiBTY2hhaWsgPGN2YW5zY2hhQHF0aS5xdWFsY29tbS5jb20+Ow0KPiA+ID4g
cHJhdGlrcEBxdWljaW5jLmNvbTsgU3JpdmF0c2EgVmFkZGFnaXJpIDx2YXRzYUBjb2RlYXVyb3Jh
Lm9yZz47IEplYW4tDQo+ID4gPiBQaGlsaXBwZSBCcnVja2VyIDxqZWFuLXBoaWxpcHBlQGxpbmFy
by5vcmc+OyBNYXRoaWV1IFBvaXJpZXINCj4gPiA+IDxtYXRoaWV1LnBvaXJpZXJAbGluYXJvLm9y
Zz47IE9sZWtzYW5kciBUeXNoY2hlbmtvDQo+ID4gPiA8T2xla3NhbmRyX1R5c2hjaGVua29AZXBh
bS5jb20+OyBCZXJ0cmFuZCBNYXJxdWlzDQo+ID4gPiA8QmVydHJhbmQuTWFycXVpc0Bhcm0uY29t
PjsgQXJ0ZW0gTXlnYWlldiA8QXJ0ZW1fTXlnYWlldkBlcGFtLmNvbT47DQo+IEp1bGllbg0KPiA+
ID4gR3JhbGwgPGp1bGllbkB4ZW4ub3JnPjsgSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29t
PjsgUGF1bCBEdXJyYW50DQo+ID4gPiA8cGF1bEB4ZW4ub3JnPjsgWGVuIERldmVsIDx4ZW4tZGV2
ZWxAbGlzdHMueGVuLm9yZz4NCj4gPiA+IFN1YmplY3Q6IFJlOiBFbmFibGluZyBoeXBlcnZpc29y
IGFnbm9zdGljaXNtIGZvciBWaXJ0SU8gYmFja2VuZHMNCj4gPiA+DQo+ID4gPiBIaSBXZWksIE9s
ZWtzYW5kciwNCj4gPiA+DQo+ID4gPiBPbiBNb24sIEF1ZyAxNiwgMjAyMSBhdCAxMDowNDowM0FN
ICswMDAwLCBXZWkgQ2hlbiB3cm90ZToNCj4gPiA+ID4gSGkgQWxsLA0KPiA+ID4gPg0KPiA+ID4g
PiBUaGFua3MgZm9yIFN0ZWZhbm8gdG8gbGluayBteSBrdm10b29sIGZvciBYZW4gcHJvcG9zYWwg
aGVyZS4NCj4gPiA+ID4gVGhpcyBwcm9wb3NhbCBpcyBzdGlsbCBkaXNjdXNzaW5nIGluIFhlbiBh
bmQgS1ZNIGNvbW11bml0aWVzLg0KPiA+ID4gPiBUaGUgbWFpbiB3b3JrIGlzIHRvIGRlY291cGxl
IHRoZSBrdm10b29sIGZyb20gS1ZNIGFuZCBtYWtlDQo+ID4gPiA+IG90aGVyIGh5cGVydmlzb3Jz
IGNhbiByZXVzZSB0aGUgdmlydHVhbCBkZXZpY2UgaW1wbGVtZW50YXRpb25zLg0KPiA+ID4gPg0K
PiA+ID4gPiBJbiB0aGlzIGNhc2UsIHdlIG5lZWQgdG8gaW50cm9kdWNlIGFuIGludGVybWVkaWF0
ZSBoeXBlcnZpc29yDQo+ID4gPiA+IGxheWVyIGZvciBWTU0gYWJzdHJhY3Rpb24sIFdoaWNoIGlz
LCBJIHRoaW5rIGl0J3MgdmVyeSBjbG9zZQ0KPiA+ID4gPiB0byBzdHJhdG9zJyB2aXJ0aW8gaHlw
ZXJ2aXNvciBhZ25vc3RpY2lzbSB3b3JrLg0KPiA+ID4NCj4gPiA+ICMgTXkgcHJvcG9zYWxbMV0g
Y29tZXMgZnJvbSBteSBvd24gaWRlYSBhbmQgZG9lc24ndCBhbHdheXMgcmVwcmVzZW50DQo+ID4g
PiAjIExpbmFybydzIHZpZXcgb24gdGhpcyBzdWJqZWN0IG5vciByZWZsZWN0IEFsZXgncyBjb25j
ZXJucy4NCj4gTmV2ZXJ0aGVsZXNzLA0KPiA+ID4NCj4gPiA+IFlvdXIgaWRlYSBhbmQgbXkgcHJv
cG9zYWwgc2VlbSB0byBzaGFyZSB0aGUgc2FtZSBiYWNrZ3JvdW5kLg0KPiA+ID4gQm90aCBoYXZl
IHRoZSBzaW1pbGFyIGdvYWwgYW5kIGN1cnJlbnRseSBzdGFydCB3aXRoLCBhdCBmaXJzdCwgWGVu
DQo+ID4gPiBhbmQgYXJlIGJhc2VkIG9uIGt2bS10b29sLiAoQWN0dWFsbHksIG15IHdvcmsgaXMg
ZGVyaXZlZCBmcm9tDQo+ID4gPiBFUEFNJ3MgdmlydGlvLWRpc2ssIHdoaWNoIGlzIGFsc28gYmFz
ZWQgb24ga3ZtLXRvb2wuKQ0KPiA+ID4NCj4gPiA+IEluIHBhcnRpY3VsYXIsIHRoZSBhYnN0cmFj
dGlvbiBvZiBoeXBlcnZpc29yIGludGVyZmFjZXMgaGFzIGEgc2FtZQ0KPiA+ID4gc2V0IG9mIGlu
dGVyZmFjZXMgKGZvciB5b3VyICJzdHJ1Y3Qgdm1tX2ltcGwiIGFuZCBteSAiUlBDIGludGVyZmFj
ZXMiKS4NCj4gPiA+IFRoaXMgaXMgbm90IGNvLWluY2lkZW50IGFzIHdlIGJvdGggc2hhcmUgdGhl
IHNhbWUgb3JpZ2luIGFzIEkgc2FpZA0KPiBhYm92ZS4NCj4gPiA+IEFuZCBzbyB3ZSB3aWxsIGFs
c28gc2hhcmUgdGhlIHNhbWUgaXNzdWVzLiBPbmUgb2YgdGhlbSBpcyBhIHdheSBvZg0KPiA+ID4g
InNoYXJpbmcvbWFwcGluZyBGRSdzIG1lbW9yeSIuIFRoZXJlIGlzIHNvbWUgdHJhZGUtb2ZmIGJl
dHdlZW4NCj4gPiA+IHRoZSBwb3J0YWJpbGl0eSBhbmQgdGhlIHBlcmZvcm1hbmNlIGltcGFjdC4N
Cj4gPiA+IFNvIHdlIGNhbiBkaXNjdXNzIHRoZSB0b3BpYyBoZXJlIGluIHRoaXMgTUwsIHRvby4N
Cj4gPiA+IChTZWUgQWxleCdzIG9yaWdpbmFsIGVtYWlsLCB0b28pLg0KPiA+ID4NCj4gPiBZZXMs
IEkgYWdyZWUuDQo+ID4NCj4gPiA+IE9uIHRoZSBvdGhlciBoYW5kLCBteSBhcHByb2FjaCBhaW1z
IHRvIGNyZWF0ZSBhICJzaW5nbGUtYmluYXJ5Ig0KPiBzb2x1dGlvbg0KPiA+ID4gaW4gd2hpY2gg
dGhlIHNhbWUgYmluYXJ5IG9mIEJFIHZtIGNvdWxkIHJ1biBvbiBhbnkgaHlwZXJ2aXNvcnMuDQo+
ID4gPiBTb21laG93IHNpbWlsYXIgdG8geW91ciAicHJvcG9zYWwtIzIiIGluIFsyXSwgYnV0IGlu
IG15IHNvbHV0aW9uLCBhbGwNCj4gPiA+IHRoZSBoeXBlcnZpc29yLXNwZWNpZmljIGNvZGUgd291
bGQgYmUgcHV0IGludG8gYW5vdGhlciBlbnRpdHkgKFZNKSwNCj4gPiA+IG5hbWVkICJ2aXJ0aW8t
cHJveHkiIGFuZCB0aGUgYWJzdHJhY3RlZCBvcGVyYXRpb25zIGFyZSBzZXJ2ZWQgdmlhIFJQQy4N
Cj4gPiA+IChJbiB0aGlzIHNlbnNlLCBCRSBpcyBoeXBlcnZpc29yLWFnbm9zdGljIGJ1dCBtaWdo
dCBoYXZlIE9TDQo+IGRlcGVuZGVuY3kuKQ0KPiA+ID4gQnV0IEkga25vdyB0aGF0IHdlIG5lZWQg
ZGlzY3VzcyBpZiB0aGlzIGlzIGEgcmVxdWlyZW1lbnQgZXZlbg0KPiA+ID4gaW4gU3RyYXRvcyBw
cm9qZWN0IG9yIG5vdC4gKE1heWJlIG5vdCkNCj4gPiA+DQo+ID4NCj4gPiBTb3JyeSwgSSBoYXZl
bid0IGhhZCB0aW1lIHRvIGZpbmlzaCByZWFkaW5nIHlvdXIgdmlydGlvLXByb3h5IGNvbXBsZXRl
bHkNCj4gPiAoSSB3aWxsIGRvIGl0IEFTQVApLiBCdXQgZnJvbSB5b3VyIGRlc2NyaXB0aW9uLCBp
dCBzZWVtcyB3ZSBuZWVkIGENCj4gPiAzcmQgVk0gYmV0d2VlbiBGRSBhbmQgQkU/IE15IGNvbmNl
cm4gaXMgdGhhdCwgaWYgbXkgYXNzdW1wdGlvbiBpcyByaWdodCwNCj4gPiB3aWxsIGl0IGluY3Jl
YXNlIHRoZSBsYXRlbmN5IGluIGRhdGEgdHJhbnNwb3J0IHBhdGg/IEV2ZW4gaWYgd2UncmUNCj4g
PiB1c2luZyBzb21lIGxpZ2h0d2VpZ2h0IGd1ZXN0IGxpa2UgUlRPUyBvciBVbmlrZXJuZWwsDQo+
DQo+IFllcywgeW91J3JlIHJpZ2h0LiBCdXQgSSdtIGFmcmFpZCB0aGF0IGl0IGlzIGEgbWF0dGVy
IG9mIGRlZ3JlZS4NCj4gQXMgZmFyIGFzIHdlIGV4ZWN1dGUgJ21hcHBpbmcnIG9wZXJhdGlvbnMg
YXQgZXZlcnkgZmV0Y2ggb2YgcGF5bG9hZCwNCj4gd2Ugd2lsbCBzZWUgbGF0ZW5jeSBpc3N1ZSAo
ZXZlbiBpbiB5b3VyIGNhc2UpIGFuZCBpZiB3ZSBoYXZlIHNvbWUgc29sdXRpb24NCj4gZm9yIGl0
LCB3ZSB3b24ndCBzZWUgaXQgbmVpdGhlciBpbiBteSBwcm9wb3NhbCA6KQ0KPg0KDQpPbGVrc2Fu
ZHIgaGFzIHNlbnQgYSBwcm9wb3NhbCB0byBYZW4gbWFpbGluZyBsaXN0IHRvIHJlZHVjZSB0aGlz
IGtpbmQNCm9mICJtYXBwaW5nL3VubWFwcGluZyIgb3BlcmF0aW9ucy4gU28gdGhlIGxhdGVuY3kg
Y2F1c2VkIGJ5IHRoaXMgYmVoYXZpb3INCm9uIFhlbiBtYXkgZXZlbnR1YWxseSBiZSBlbGltaW5h
dGVkLCBhbmQgTGludXgtS1ZNIGRvZXNuJ3QgaGF2ZSB0aGF0IHByb2JsZW0uDQoNCj4gPiA+IFNw
ZWNpZmljYWxseSBzcGVha2luZyBhYm91dCBrdm0tdG9vbCwgSSBoYXZlIGEgY29uY2VybiBhYm91
dCBpdHMNCj4gPiA+IGxpY2Vuc2UgdGVybTsgVGFyZ2V0aW5nIGRpZmZlcmVudCBoeXBlcnZpc29y
cyBhbmQgZGlmZmVyZW50IE9Tcw0KPiA+ID4gKHdoaWNoIEkgYXNzdW1lIGluY2x1ZGVzIFJUT1Mn
cyksIHRoZSByZXN1bHRhbnQgbGlicmFyeSBzaG91bGQgYmUNCj4gPiA+IGxpY2Vuc2UgcGVybWlz
c2l2ZSBhbmQgR1BMIGZvciBrdm0tdG9vbCBtaWdodCBiZSBhbiBpc3N1ZS4NCj4gPiA+IEFueSB0
aG91Z2h0cz8NCj4gPiA+DQo+ID4NCj4gPiBZZXMuIElmIHVzZXIgd2FudCB0byBpbXBsZW1lbnQg
YSBGcmVlQlNEIGRldmljZSBtb2RlbCwgYnV0IHRoZSB2aXJ0aW8NCj4gPiBsaWJyYXJ5IGlzIEdQ
TC4gVGhlbiBHUEwgd291bGQgYmUgYSBwcm9ibGVtLiBJZiB3ZSBoYXZlIGFub3RoZXIgZ29vZA0K
PiA+IGNhbmRpZGF0ZSwgSSBhbSBvcGVuIHRvIGl0Lg0KPg0KPiBJIGhhdmUgc29tZSBjYW5kaWRh
dGVzLCBwYXJ0aWN1bGFybHkgZm9yIHZxL3ZyaW5nLCBpbiBteSBtaW5kOg0KPiAqIE9wZW4tQU1Q
LCBvcg0KPiAqIGNvcnJlc3BvbmRpbmcgRnJlZS1CU0QgY29kZQ0KPg0KDQpJbnRlcmVzdGluZywg
SSB3aWxsIGxvb2sgaW50byB0aGVtIDogKQ0KDQpDaGVlcnMsDQpXZWkgQ2hlbg0KDQo+IC1UYWth
aGlybyBBa2FzaGkNCj4NCj4NCj4gPiA+IC1UYWthaGlybyBBa2FzaGkNCj4gPiA+DQo+ID4gPg0K
PiA+ID4gWzFdIGh0dHBzOi8vb3AtbGlzdHMubGluYXJvLm9yZy9waXBlcm1haWwvc3RyYXRvcy1k
ZXYvMjAyMS0NCj4gPiA+IEF1Z3VzdC8wMDA1NDguaHRtbA0KPiA+ID4gWzJdIGh0dHBzOi8vbWFy
Yy5pbmZvLz9sPXhlbi1kZXZlbCZtPTE2MjM3Mzc1NDcwNTIzMyZ3PTINCj4gPiA+DQo+ID4gPiA+
DQo+ID4gPiA+ID4gRnJvbTogT2xla3NhbmRyIFR5c2hjaGVua28gPG9sZWtzdHlzaEBnbWFpbC5j
b20+DQo+ID4gPiA+ID4gU2VudDogMjAyMeW5tDjmnIgxNOaXpSAyMzozOA0KPiA+ID4gPiA+IFRv
OiBBS0FTSEkgVGFrYWhpcm8gPHRha2FoaXJvLmFrYXNoaUBsaW5hcm8ub3JnPjsgU3RlZmFubw0K
PiBTdGFiZWxsaW5pDQo+ID4gPiA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4NCj4gPiA+ID4gPiBD
YzogQWxleCBCZW5uPz9lIDxhbGV4LmJlbm5lZUBsaW5hcm8ub3JnPjsgU3RyYXRvcyBNYWlsaW5n
IExpc3QNCj4gPiA+IDxzdHJhdG9zLWRldkBvcC1saXN0cy5saW5hcm8ub3JnPjsgdmlydGlvLWRl
dkBsaXN0cy5vYXNpcy1vcGVuLm9yZzsNCj4gQXJuZA0KPiA+ID4gQmVyZ21hbm4gPGFybmQuYmVy
Z21hbm5AbGluYXJvLm9yZz47IFZpcmVzaCBLdW1hcg0KPiA+ID4gPHZpcmVzaC5rdW1hckBsaW5h
cm8ub3JnPjsgU3RlZmFubyBTdGFiZWxsaW5pDQo+ID4gPiA8c3RlZmFuby5zdGFiZWxsaW5pQHhp
bGlueC5jb20+OyBzdGVmYW5oYUByZWRoYXQuY29tOyBKYW4gS2lzemthDQo+ID4gPiA8amFuLmtp
c3prYUBzaWVtZW5zLmNvbT47IENhcmwgdmFuIFNjaGFpayA8Y3ZhbnNjaGFAcXRpLnF1YWxjb21t
LmNvbT47DQo+ID4gPiBwcmF0aWtwQHF1aWNpbmMuY29tOyBTcml2YXRzYSBWYWRkYWdpcmkgPHZh
dHNhQGNvZGVhdXJvcmEub3JnPjsgSmVhbi0NCj4gPiA+IFBoaWxpcHBlIEJydWNrZXIgPGplYW4t
cGhpbGlwcGVAbGluYXJvLm9yZz47IE1hdGhpZXUgUG9pcmllcg0KPiA+ID4gPG1hdGhpZXUucG9p
cmllckBsaW5hcm8ub3JnPjsgV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+OyBPbGVrc2FuZHIN
Cj4gPiA+IFR5c2hjaGVua28gPE9sZWtzYW5kcl9UeXNoY2hlbmtvQGVwYW0uY29tPjsgQmVydHJh
bmQgTWFycXVpcw0KPiA+ID4gPEJlcnRyYW5kLk1hcnF1aXNAYXJtLmNvbT47IEFydGVtIE15Z2Fp
ZXYgPEFydGVtX015Z2FpZXZAZXBhbS5jb20+Ow0KPiBKdWxpZW4NCj4gPiA+IEdyYWxsIDxqdWxp
ZW5AeGVuLm9yZz47IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT47IFBhdWwgRHVycmFu
dA0KPiA+ID4gPHBhdWxAeGVuLm9yZz47IFhlbiBEZXZlbCA8eGVuLWRldmVsQGxpc3RzLnhlbi5v
cmc+DQo+ID4gPiA+ID4gU3ViamVjdDogUmU6IEVuYWJsaW5nIGh5cGVydmlzb3IgYWdub3N0aWNp
c20gZm9yIFZpcnRJTyBiYWNrZW5kcw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gSGVsbG8sIGFsbC4N
Cj4gPiA+ID4gPg0KPiA+ID4gPiA+IFBsZWFzZSBzZWUgc29tZSBjb21tZW50cyBiZWxvdy4gQW5k
IHNvcnJ5IGZvciB0aGUgcG9zc2libGUgZm9ybWF0DQo+ID4gPiBpc3N1ZXMuDQo+ID4gPiA+ID4N
Cj4gPiA+ID4gPiA+IE9uIFdlZCwgQXVnIDExLCAyMDIxIGF0IDk6MjcgQU0gQUtBU0hJIFRha2Fo
aXJvDQo+ID4gPiA8bWFpbHRvOnRha2FoaXJvLmFrYXNoaUBsaW5hcm8ub3JnPiB3cm90ZToNCj4g
PiA+ID4gPiA+IE9uIFdlZCwgQXVnIDA0LCAyMDIxIGF0IDEyOjIwOjAxUE0gLTA3MDAsIFN0ZWZh
bm8gU3RhYmVsbGluaQ0KPiB3cm90ZToNCj4gPiA+ID4gPiA+ID4gQ0NpbmcgcGVvcGxlIHdvcmtp
bmcgb24gWGVuK1ZpcnRJTyBhbmQgSU9SRVFzLiBOb3QgdHJpbW1pbmcNCj4gdGhlDQo+ID4gPiBv
cmlnaW5hbA0KPiA+ID4gPiA+ID4gPiBlbWFpbCB0byBsZXQgdGhlbSByZWFkIHRoZSBmdWxsIGNv
bnRleHQuDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IE15IGNvbW1lbnRzIGJlbG93IGFy
ZSByZWxhdGVkIHRvIGEgcG90ZW50aWFsIFhlbg0KPiBpbXBsZW1lbnRhdGlvbiwNCj4gPiA+IG5v
dA0KPiA+ID4gPiA+ID4gPiBiZWNhdXNlIGl0IGlzIHRoZSBvbmx5IGltcGxlbWVudGF0aW9uIHRo
YXQgbWF0dGVycywgYnV0DQo+IGJlY2F1c2UgaXQNCj4gPiA+IGlzDQo+ID4gPiA+ID4gPiA+IHRo
ZSBvbmUgSSBrbm93IGJlc3QuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gUGxlYXNlIG5vdGUg
dGhhdCBteSBwcm9wb3NhbCAoYW5kIGhlbmNlIHRoZSB3b3JraW5nIHByb3RvdHlwZSlbMV0NCj4g
PiA+ID4gPiA+IGlzIGJhc2VkIG9uIFhlbidzIHZpcnRpbyBpbXBsZW1lbnRhdGlvbiAoaS5lLiBJ
T1JFUSkgYW5kDQo+ID4gPiBwYXJ0aWN1bGFybHkNCj4gPiA+ID4gPiA+IEVQQU0ncyB2aXJ0aW8t
ZGlzayBhcHBsaWNhdGlvbiAoYmFja2VuZCBzZXJ2ZXIpLg0KPiA+ID4gPiA+ID4gSXQgaGFzIGJl
ZW4sIEkgYmVsaWV2ZSwgd2VsbCBnZW5lcmFsaXplZCBidXQgaXMgc3RpbGwgYSBiaXQNCj4gYmlh
c2VkDQo+ID4gPiA+ID4gPiB0b3dhcmQgdGhpcyBvcmlnaW5hbCBkZXNpZ24uDQo+ID4gPiA+ID4g
Pg0KPiA+ID4gPiA+ID4gU28gSSBob3BlIHlvdSBsaWtlIG15IGFwcHJvYWNoIDopDQo+ID4gPiA+
ID4gPg0KPiA+ID4gPiA+ID4gWzFdIGh0dHBzOi8vb3AtbGlzdHMubGluYXJvLm9yZy9waXBlcm1h
aWwvc3RyYXRvcy1kZXYvMjAyMS0NCj4gPiA+IEF1Z3VzdC8wMDA1NDYuaHRtbA0KPiA+ID4gPiA+
ID4NCj4gPiA+ID4gPiA+IExldCBtZSB0YWtlIHRoaXMgb3Bwb3J0dW5pdHkgdG8gZXhwbGFpbiBh
IGJpdCBtb3JlIGFib3V0IG15DQo+IGFwcHJvYWNoDQo+ID4gPiBiZWxvdy4NCj4gPiA+ID4gPiA+
DQo+ID4gPiA+ID4gPiA+IEFsc28sIHBsZWFzZSBzZWUgdGhpcyByZWxldmFudCBlbWFpbCB0aHJl
YWQ6DQo+ID4gPiA+ID4gPiA+IGh0dHBzOi8vbWFyYy5pbmZvLz9sPXhlbi1kZXZlbCZtPTE2MjM3
Mzc1NDcwNTIzMyZ3PTINCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+
ID4gT24gV2VkLCA0IEF1ZyAyMDIxLCBBbGV4IEJlbm7DqWUgd3JvdGU6DQo+ID4gPiA+ID4gPiA+
ID4gSGksDQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiBPbmUgb2YgdGhlIGdvYWxz
IG9mIFByb2plY3QgU3RyYXRvcyBpcyB0byBlbmFibGUgaHlwZXJ2aXNvcg0KPiA+ID4gYWdub3N0
aWMNCj4gPiA+ID4gPiA+ID4gPiBiYWNrZW5kcyBzbyB3ZSBjYW4gZW5hYmxlIGFzIG11Y2ggcmUt
dXNlIG9mIGNvZGUgYXMgcG9zc2libGUNCj4gYW5kDQo+ID4gPiBhdm9pZA0KPiA+ID4gPiA+ID4g
PiA+IHJlcGVhdGluZyBvdXJzZWx2ZXMuIFRoaXMgaXMgdGhlIGZsaXAgc2lkZSBvZiB0aGUgZnJv
bnQgZW5kDQo+ID4gPiB3aGVyZQ0KPiA+ID4gPiA+ID4gPiA+IG11bHRpcGxlIGZyb250LWVuZCBp
bXBsZW1lbnRhdGlvbnMgYXJlIHJlcXVpcmVkIC0gb25lIHBlciBPUywNCj4gPiA+IGFzc3VtaW5n
DQo+ID4gPiA+ID4gPiA+ID4geW91IGRvbid0IGp1c3Qgd2FudCBMaW51eCBndWVzdHMuIFRoZSBy
ZXN1bHRhbnQgZ3Vlc3RzIGFyZQ0KPiA+ID4gdHJpdmlhbGx5DQo+ID4gPiA+ID4gPiA+ID4gbW92
YWJsZSBiZXR3ZWVuIGh5cGVydmlzb3JzIG1vZHVsbyBhbnkgYWJzdHJhY3RlZCBwYXJhdmlydA0K
PiB0eXBlDQo+ID4gPiA+ID4gPiA+ID4gaW50ZXJmYWNlcy4NCj4gPiA+ID4gPiA+ID4gPg0KPiA+
ID4gPiA+ID4gPiA+IEluIG15IG9yaWdpbmFsIHRodW1iIG5haWwgc2tldGNoIG9mIGEgc29sdXRp
b24gSSBlbnZpc2lvbmVkDQo+ID4gPiB2aG9zdC11c2VyDQo+ID4gPiA+ID4gPiA+ID4gZGFlbW9u
cyBydW5uaW5nIGluIGEgYnJvYWRseSBQT1NJWCBsaWtlIGVudmlyb25tZW50LiBUaGUNCj4gPiA+
IGludGVyZmFjZSB0bw0KPiA+ID4gPiA+ID4gPiA+IHRoZSBkYWVtb24gaXMgZmFpcmx5IHNpbXBs
ZSByZXF1aXJpbmcgb25seSBzb21lIG1hcHBlZA0KPiBtZW1vcnkNCj4gPiA+IGFuZCBzb21lDQo+
ID4gPiA+ID4gPiA+ID4gc29ydCBvZiBzaWduYWxsaW5nIGZvciBldmVudHMgKG9uIExpbnV4IHRo
aXMgaXMgZXZlbnRmZCkuDQo+IFRoZQ0KPiA+ID4gaWRlYSB3YXMgYQ0KPiA+ID4gPiA+ID4gPiA+
IHN0dWIgYmluYXJ5IHdvdWxkIGJlIHJlc3BvbnNpYmxlIGZvciBhbnkgaHlwZXJ2aXNvciBzcGVj
aWZpYw0KPiA+ID4gc2V0dXAgYW5kDQo+ID4gPiA+ID4gPiA+ID4gdGhlbiBsYXVuY2ggYSBjb21t
b24gYmluYXJ5IHRvIGRlYWwgd2l0aCB0aGUgYWN0dWFsDQo+IHZpcnRxdWV1ZQ0KPiA+ID4gcmVx
dWVzdHMNCj4gPiA+ID4gPiA+ID4gPiB0aGVtc2VsdmVzLg0KPiA+ID4gPiA+ID4gPiA+DQo+ID4g
PiA+ID4gPiA+ID4gU2luY2UgdGhhdCBvcmlnaW5hbCBza2V0Y2ggd2UndmUgc2VlbiBhbiBleHBh
bnNpb24gaW4gdGhlDQo+IHNvcnQNCj4gPiA+IG9mIHdheXMNCj4gPiA+ID4gPiA+ID4gPiBiYWNr
ZW5kcyBjb3VsZCBiZSBjcmVhdGVkLiBUaGVyZSBpcyBpbnRlcmVzdCBpbg0KPiBlbmNhcHN1bGF0
aW5nDQo+ID4gPiBiYWNrZW5kcw0KPiA+ID4gPiA+ID4gPiA+IGluIFJUT1NlcyBvciB1bmlrZXJu
ZWxzIGZvciBzb2x1dGlvbnMgbGlrZSBTQ01JLiBUaGVyZQ0KPiBpbnRlcmVzdA0KPiA+ID4gaW4g
UnVzdA0KPiA+ID4gPiA+ID4gPiA+IGhhcyBwcm9tcHRlZCBpZGVhcyBvZiB1c2luZyB0aGUgdHJh
aXQgaW50ZXJmYWNlIHRvIGFic3RyYWN0DQo+ID4gPiBkaWZmZXJlbmNlcw0KPiA+ID4gPiA+ID4g
PiA+IGF3YXkgYXMgd2VsbCBhcyB0aGUgaWRlYSBvZiBiYXJlLW1ldGFsIFJ1c3QgYmFja2VuZHMu
DQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiBXZSBoYXZlIGEgY2FyZCAoU1RSLTEy
KSBjYWxsZWQgIkh5cGVyY2FsbCBTdGFuZGFyZGlzYXRpb24iDQo+IHdoaWNoDQo+ID4gPiA+ID4g
PiA+ID4gY2FsbHMgZm9yIGEgZGVzY3JpcHRpb24gb2YgdGhlIEFQSXMgbmVlZGVkIGZyb20gdGhl
DQo+IGh5cGVydmlzb3INCj4gPiA+IHNpZGUgdG8NCj4gPiA+ID4gPiA+ID4gPiBzdXBwb3J0IFZp
cnRJTyBndWVzdHMgYW5kIHRoZWlyIGJhY2tlbmRzLiBIb3dldmVyIHdlIGFyZQ0KPiBzb21lDQo+
ID4gPiB3YXkgb2ZmDQo+ID4gPiA+ID4gPiA+ID4gZnJvbSB0aGF0IGF0IHRoZSBtb21lbnQgYXMg
SSB0aGluayB3ZSBuZWVkIHRvIGF0IGxlYXN0DQo+ID4gPiBkZW1vbnN0cmF0ZSBvbmUNCj4gPiA+
ID4gPiA+ID4gPiBwb3J0YWJsZSBiYWNrZW5kIGJlZm9yZSB3ZSBzdGFydCBjb2RpZnlpbmcgcmVx
dWlyZW1lbnRzLiBUbw0KPiB0aGF0DQo+ID4gPiBlbmQgSQ0KPiA+ID4gPiA+ID4gPiA+IHdhbnQg
dG8gdGhpbmsgYWJvdXQgd2hhdCB3ZSBuZWVkIGZvciBhIGJhY2tlbmQgdG8gZnVuY3Rpb24uDQo+
ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiBDb25maWd1cmF0aW9uDQo+ID4gPiA+ID4g
PiA+ID4gPT09PT09PT09PT09PQ0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gSW4g
dGhlIHR5cGUtMiBzZXR1cCB0aGlzIGlzIHR5cGljYWxseSBmYWlybHkgc2ltcGxlIGJlY2F1c2UN
Cj4gdGhlDQo+ID4gPiBob3N0DQo+ID4gPiA+ID4gPiA+ID4gc3lzdGVtIGNhbiBvcmNoZXN0cmF0
ZSB0aGUgdmFyaW91cyBtb2R1bGVzIHRoYXQgbWFrZSB1cCB0aGUNCj4gPiA+IGNvbXBsZXRlDQo+
ID4gPiA+ID4gPiA+ID4gc3lzdGVtLiBJbiB0aGUgdHlwZS0xIGNhc2UgKG9yIGV2ZW4gdHlwZS0y
IHdpdGggZGVsZWdhdGVkDQo+ID4gPiBzZXJ2aWNlIFZNcykNCj4gPiA+ID4gPiA+ID4gPiB3ZSBu
ZWVkIHNvbWUgc29ydCBvZiBtZWNoYW5pc20gdG8gaW5mb3JtIHRoZSBiYWNrZW5kIFZNDQo+IGFi
b3V0DQo+ID4gPiBrZXkNCj4gPiA+ID4gPiA+ID4gPiBkZXRhaWxzIGFib3V0IHRoZSBzeXN0ZW06
DQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiAgIC0gd2hlcmUgdmlydCBxdWV1ZSBt
ZW1vcnkgaXMgaW4gaXQncyBhZGRyZXNzIHNwYWNlDQo+ID4gPiA+ID4gPiA+ID4gICAtIGhvdyBp
dCdzIGdvaW5nIHRvIHJlY2VpdmUgKGludGVycnVwdCkgYW5kIHRyaWdnZXIgKGtpY2spDQo+ID4g
PiBldmVudHMNCj4gPiA+ID4gPiA+ID4gPiAgIC0gd2hhdCAoaWYgYW55KSByZXNvdXJjZXMgdGhl
IGJhY2tlbmQgbmVlZHMgdG8gY29ubmVjdCB0bw0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4g
PiA+ID4gT2J2aW91c2x5IHlvdSBjYW4gZWxpZGUgb3ZlciBjb25maWd1cmF0aW9uIGlzc3VlcyBi
eSBoYXZpbmcNCj4gPiA+IHN0YXRpYw0KPiA+ID4gPiA+ID4gPiA+IGNvbmZpZ3VyYXRpb25zIGFu
ZCBiYWtpbmcgdGhlIGFzc3VtcHRpb25zIGludG8geW91ciBndWVzdA0KPiBpbWFnZXMNCj4gPiA+
IGhvd2V2ZXINCj4gPiA+ID4gPiA+ID4gPiB0aGlzIGlzbid0IHNjYWxhYmxlIGluIHRoZSBsb25n
IHRlcm0uIFRoZSBvYnZpb3VzIHNvbHV0aW9uDQo+IHNlZW1zDQo+ID4gPiB0byBiZQ0KPiA+ID4g
PiA+ID4gPiA+IGV4dGVuZGluZyBhIHN1YnNldCBvZiBEZXZpY2UgVHJlZSBkYXRhIHRvIHVzZXIg
c3BhY2UgYnV0DQo+IHBlcmhhcHMNCj4gPiA+IHRoZXJlDQo+ID4gPiA+ID4gPiA+ID4gYXJlIG90
aGVyIGFwcHJvYWNoZXM/DQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiBCZWZvcmUg
YW55IHZpcnRpbyB0cmFuc2FjdGlvbnMgY2FuIHRha2UgcGxhY2UgdGhlDQo+IGFwcHJvcHJpYXRl
DQo+ID4gPiBtZW1vcnkNCj4gPiA+ID4gPiA+ID4gPiBtYXBwaW5ncyBuZWVkIHRvIGJlIG1hZGUg
YmV0d2VlbiB0aGUgRkUgZ3Vlc3QgYW5kIHRoZSBCRQ0KPiBndWVzdC4NCj4gPiA+ID4gPiA+ID4N
Cj4gPiA+ID4gPiA+ID4gPiBDdXJyZW50bHkgdGhlIHdob2xlIG9mIHRoZSBGRSBndWVzdHMgYWRk
cmVzcyBzcGFjZSBuZWVkcyB0bw0KPiBiZQ0KPiA+ID4gdmlzaWJsZQ0KPiA+ID4gPiA+ID4gPiA+
IHRvIHdoYXRldmVyIGlzIHNlcnZpbmcgdGhlIHZpcnRpbyByZXF1ZXN0cy4gSSBjYW4gZW52aXNp
b24gMw0KPiA+ID4gYXBwcm9hY2hlczoNCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+
ICAqIEJFIGd1ZXN0IGJvb3RzIHdpdGggbWVtb3J5IGFscmVhZHkgbWFwcGVkDQo+ID4gPiA+ID4g
PiA+ID4NCj4gPiA+ID4gPiA+ID4gPiAgVGhpcyB3b3VsZCBlbnRhaWwgdGhlIGd1ZXN0IE9TIGtu
b3dpbmcgd2hlcmUgaW4gaXQncyBHdWVzdA0KPiA+ID4gUGh5c2ljYWwNCj4gPiA+ID4gPiA+ID4g
PiAgQWRkcmVzcyBzcGFjZSBpcyBhbHJlYWR5IHRha2VuIHVwIGFuZCBhdm9pZGluZyBjbGFzaGlu
Zy4gSQ0KPiA+ID4gd291bGQgYXNzdW1lDQo+ID4gPiA+ID4gPiA+ID4gIGluIHRoaXMgY2FzZSB5
b3Ugd291bGQgd2FudCBhIHN0YW5kYXJkIGludGVyZmFjZSB0bw0KPiB1c2Vyc3BhY2UNCj4gPiA+
IHRvIHRoZW4NCj4gPiA+ID4gPiA+ID4gPiAgbWFrZSB0aGF0IGFkZHJlc3Mgc3BhY2UgdmlzaWJs
ZSB0byB0aGUgYmFja2VuZCBkYWVtb24uDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gWWV0IGFu
b3RoZXIgd2F5IGhlcmUgaXMgdGhhdCB3ZSB3b3VsZCBoYXZlIHdlbGwga25vd24gInNoYXJlZA0K
PiA+ID4gbWVtb3J5IiBiZXR3ZWVuDQo+ID4gPiA+ID4gPiBWTXMuIEkgdGhpbmsgdGhhdCBKYWls
aG91c2UncyBpdnNobWVtIGdpdmVzIHVzIGdvb2QgaW5zaWdodHMgb24NCj4gdGhpcw0KPiA+ID4g
bWF0dGVyDQo+ID4gPiA+ID4gPiBhbmQgdGhhdCBpdCBjYW4gZXZlbiBiZSBhbiBhbHRlcm5hdGl2
ZSBmb3IgaHlwZXJ2aXNvci1hZ25vc3RpYw0KPiA+ID4gc29sdXRpb24uDQo+ID4gPiA+ID4gPg0K
PiA+ID4gPiA+ID4gKFBsZWFzZSBub3RlIG1lbW9yeSByZWdpb25zIGluIGl2c2htZW0gYXBwZWFy
IGFzIGEgUENJIGRldmljZQ0KPiBhbmQNCj4gPiA+IGNhbiBiZQ0KPiA+ID4gPiA+ID4gbWFwcGVk
IGxvY2FsbHkuKQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IEkgd2FudCB0byBhZGQgdGhpcyBz
aGFyZWQgbWVtb3J5IGFzcGVjdCB0byBteSB2aXJ0aW8tcHJveHksIGJ1dA0KPiA+ID4gPiA+ID4g
dGhlIHJlc3VsdGFudCBzb2x1dGlvbiB3b3VsZCBldmVudHVhbGx5IGxvb2sgc2ltaWxhciB0byBp
dnNobWVtLg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiAgKiBCRSBndWVzdHMgYm9vdHMg
d2l0aCBhIGh5cGVydmlzb3IgaGFuZGxlIHRvIG1lbW9yeQ0KPiA+ID4gPiA+ID4gPiA+DQo+ID4g
PiA+ID4gPiA+ID4gIFRoZSBCRSBndWVzdCBpcyB0aGVuIGZyZWUgdG8gbWFwIHRoZSBGRSdzIG1l
bW9yeSB0byB3aGVyZQ0KPiBpdA0KPiA+ID4gd2FudHMgaW4NCj4gPiA+ID4gPiA+ID4gPiAgdGhl
IEJFJ3MgZ3Vlc3QgcGh5c2ljYWwgYWRkcmVzcyBzcGFjZS4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+
ID4gPiA+ID4gSSBjYW5ub3Qgc2VlIGhvdyB0aGlzIGNvdWxkIHdvcmsgZm9yIFhlbi4gVGhlcmUg
aXMgbm8gImhhbmRsZSINCj4gdG8NCj4gPiA+IGdpdmUNCj4gPiA+ID4gPiA+ID4gdG8gdGhlIGJh
Y2tlbmQgaWYgdGhlIGJhY2tlbmQgaXMgbm90IHJ1bm5pbmcgaW4gZG9tMC4gU28gZm9yDQo+IFhl
biBJDQo+ID4gPiB0aGluaw0KPiA+ID4gPiA+ID4gPiB0aGUgbWVtb3J5IGhhcyB0byBiZSBhbHJl
YWR5IG1hcHBlZA0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IEluIFhlbidzIElPUkVRIHNvbHV0
aW9uICh2aXJ0aW8tYmxrKSwgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbg0KPiBpcw0KPiA+ID4g
ZXhwZWN0ZWQNCj4gPiA+ID4gPiA+IHRvIGJlIGV4cG9zZWQgdG8gQkUgdmlhIFhlbnN0b3JlOg0K
PiA+ID4gPiA+ID4gKEkga25vdyB0aGF0IHRoaXMgaXMgYSB0ZW50YXRpdmUgYXBwcm9hY2ggdGhv
dWdoLikNCj4gPiA+ID4gPiA+ICAgIC0gdGhlIHN0YXJ0IGFkZHJlc3Mgb2YgY29uZmlndXJhdGlv
biBzcGFjZQ0KPiA+ID4gPiA+ID4gICAgLSBpbnRlcnJ1cHQgbnVtYmVyDQo+ID4gPiA+ID4gPiAg
ICAtIGZpbGUgcGF0aCBmb3IgYmFja2luZyBzdG9yYWdlDQo+ID4gPiA+ID4gPiAgICAtIHJlYWQt
b25seSBmbGFnDQo+ID4gPiA+ID4gPiBBbmQgdGhlIEJFIHNlcnZlciBoYXZlIHRvIGNhbGwgYSBw
YXJ0aWN1bGFyIGh5cGVydmlzb3IgaW50ZXJmYWNlDQo+IHRvDQo+ID4gPiA+ID4gPiBtYXAgdGhl
IGNvbmZpZ3VyYXRpb24gc3BhY2UuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBZZXMsIFhlbnN0b3Jl
IHdhcyBjaG9zZW4gYXMgYSBzaW1wbGUgd2F5IHRvIHBhc3MgY29uZmlndXJhdGlvbg0KPiBpbmZv
IHRvDQo+ID4gPiB0aGUgYmFja2VuZCBydW5uaW5nIGluIGEgbm9uLXRvb2xzdGFjayBkb21haW4u
DQo+ID4gPiA+ID4gSSByZW1lbWJlciwgdGhlcmUgd2FzIGEgd2lzaCB0byBhdm9pZCB1c2luZyBY
ZW5zdG9yZSBpbiBWaXJ0aW8NCj4gYmFja2VuZA0KPiA+ID4gaXRzZWxmIGlmIHBvc3NpYmxlLCBz
byBmb3Igbm9uLXRvb2xzdGFjayBkb21haW4sIHRoaXMgY291bGQgZG9uZSB3aXRoDQo+ID4gPiBh
ZGp1c3RpbmcgZGV2ZCAoZGFlbW9uIHRoYXQgbGlzdGVucyBmb3IgZGV2aWNlcyBhbmQgbGF1bmNo
ZXMgYmFja2VuZHMpDQo+ID4gPiA+ID4gdG8gcmVhZCBiYWNrZW5kIGNvbmZpZ3VyYXRpb24gZnJv
bSB0aGUgWGVuc3RvcmUgYW55d2F5IGFuZCBwYXNzIGl0DQo+IHRvDQo+ID4gPiB0aGUgYmFja2Vu
ZCB2aWEgY29tbWFuZCBsaW5lIGFyZ3VtZW50cy4NCj4gPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4g
PiBZZXMsIGluIGN1cnJlbnQgUG9DIGNvZGUgd2UncmUgdXNpbmcgeGVuc3RvcmUgdG8gcGFzcyBk
ZXZpY2UNCj4gPiA+IGNvbmZpZ3VyYXRpb24uDQo+ID4gPiA+IFdlIGFsc28gZGVzaWduZWQgYSBz
dGF0aWMgZGV2aWNlIGNvbmZpZ3VyYXRpb24gcGFyc2UgbWV0aG9kIGZvcg0KPiBEb20wbGVzcw0K
PiA+ID4gb3INCj4gPiA+ID4gb3RoZXIgc2NlbmFyaW9zIGRvbid0IGhhdmUgeGVudG9vbC4geWVz
LCBpdCdzIGZyb20gZGV2aWNlIG1vZGVsDQo+IGNvbW1hbmQNCj4gPiA+IGxpbmUNCj4gPiA+ID4g
b3IgYSBjb25maWcgZmlsZS4NCj4gPiA+ID4NCj4gPiA+ID4gPiBCdXQsIGlmIC4uLg0KPiA+ID4g
PiA+DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gSW4gbXkgYXBwcm9hY2ggKHZpcnRpby1wcm94
eSksIGFsbCB0aG9zZSBYZW4gKG9yIGh5cGVydmlzb3IpLQ0KPiA+ID4gc3BlY2lmaWMNCj4gPiA+
ID4gPiA+IHN0dWZmcyBhcmUgY29udGFpbmVkIGluIHZpcnRpby1wcm94eSwgeWV0IGFub3RoZXIg
Vk0sIHRvIGhpZGUNCj4gYWxsDQo+ID4gPiBkZXRhaWxzLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4g
Li4uIHRoZSBzb2x1dGlvbiBob3cgdG8gb3ZlcmNvbWUgdGhhdCBpcyBhbHJlYWR5IGZvdW5kIGFu
ZCBwcm92ZW4NCj4gdG8NCj4gPiA+IHdvcmsgdGhlbiBldmVuIGJldHRlci4NCj4gPiA+ID4gPg0K
PiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICMgTXkgcG9pbnQgaXMgdGhhdCBhICJo
YW5kbGUiIGlzIG5vdCBtYW5kYXRvcnkgZm9yIGV4ZWN1dGluZw0KPiBtYXBwaW5nLg0KPiA+ID4g
PiA+ID4NCj4gPiA+ID4gPiA+ID4gYW5kIHRoZSBtYXBwaW5nIHByb2JhYmx5IGRvbmUgYnkgdGhl
DQo+ID4gPiA+ID4gPiA+IHRvb2xzdGFjayAoYWxzbyBzZWUgYmVsb3cuKSBPciB3ZSB3b3VsZCBo
YXZlIHRvIGludmVudCBhIG5ldw0KPiBYZW4NCj4gPiA+ID4gPiA+ID4gaHlwZXJ2aXNvciBpbnRl
cmZhY2UgYW5kIFhlbiB2aXJ0dWFsIG1hY2hpbmUgcHJpdmlsZWdlcyB0bw0KPiBhbGxvdw0KPiA+
ID4gdGhpcw0KPiA+ID4gPiA+ID4gPiBraW5kIG9mIG1hcHBpbmcuDQo+ID4gPiA+ID4gPg0KPiA+
ID4gPiA+ID4gPiBJZiB3ZSBydW4gdGhlIGJhY2tlbmQgaW4gRG9tMCB0aGF0IHdlIGhhdmUgbm8g
cHJvYmxlbXMgb2YNCj4gY291cnNlLg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IE9uZSBvZiBk
aWZmaWN1bHRpZXMgb24gWGVuIHRoYXQgSSBmb3VuZCBpbiBteSBhcHByb2FjaCBpcyB0aGF0DQo+
ID4gPiBjYWxsaW5nDQo+ID4gPiA+ID4gPiBzdWNoIGh5cGVydmlzb3IgaW50ZWZhY2VzIChyZWdp
c3RlcmluZyBJT1JFUSwgbWFwcGluZyBtZW1vcnkpIGlzDQo+ID4gPiBvbmx5DQo+ID4gPiA+ID4g
PiBhbGxvd2VkIG9uIEJFIHNlcnZlcnMgdGhlbXNlbHZpZXMgYW5kIHNvIHdlIHdpbGwgaGF2ZSB0
byBleHRlbmQNCj4gPiA+IHRob3NlDQo+ID4gPiA+ID4gPiBpbnRlcmZhY2VzLg0KPiA+ID4gPiA+
ID4gVGhpcywgaG93ZXZlciwgd2lsbCByYWlzZSBzb21lIGNvbmNlcm4gb24gc2VjdXJpdHkgYW5k
IHByaXZpbGVnZQ0KPiA+ID4gZGlzdHJpYnV0aW9uDQo+ID4gPiA+ID4gPiBhcyBTdGVmYW4gc3Vn
Z2VzdGVkLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gV2UgYWxzbyBmYWNlZCBwb2xpY3kgcmVsYXRl
ZCBpc3N1ZXMgd2l0aCBWaXJ0aW8gYmFja2VuZCBydW5uaW5nIGluDQo+ID4gPiBvdGhlciB0aGFu
IERvbTAgZG9tYWluIGluIGEgImR1bW15IiB4c20gbW9kZS4gSW4gb3VyIHRhcmdldCBzeXN0ZW0g
d2UNCj4gcnVuDQo+ID4gPiB0aGUgYmFja2VuZCBpbiBhIGRyaXZlcg0KPiA+ID4gPiA+IGRvbWFp
biAod2UgY2FsbCBpdCBEb21EKSB3aGVyZSB0aGUgdW5kZXJseWluZyBIL1cgcmVzaWRlcy4gV2UN
Cj4gdHJ1c3QgaXQsDQo+ID4gPiBzbyB3ZSB3cm90ZSBwb2xpY3kgcnVsZXMgKHRvIGJlIHVzZWQg
aW4gImZsYXNrIiB4c20gbW9kZSkgdG8gcHJvdmlkZQ0KPiBpdA0KPiA+ID4gd2l0aCBhIGxpdHRs
ZSBiaXQgbW9yZSBwcml2aWxlZ2VzIHRoYW4gYSBzaW1wbGUgRG9tVSBoYWQuDQo+ID4gPiA+ID4g
Tm93IGl0IGlzIHBlcm1pdHRlZCB0byBpc3N1ZSBkZXZpY2UtbW9kZWwsIHJlc291cmNlIGFuZCBt
ZW1vcnkNCj4gPiA+IG1hcHBpbmdzLCBldGMgY2FsbHMuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiA+
ID4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiBUbyBhY3RpdmF0ZSB0aGUgbWFwcGlu
ZyB3aWxsDQo+ID4gPiA+ID4gPiA+ID4gIHJlcXVpcmUgc29tZSBzb3J0IG9mIGh5cGVyY2FsbCB0
byB0aGUgaHlwZXJ2aXNvci4gSSBjYW4gc2VlDQo+IHR3bw0KPiA+ID4gb3B0aW9ucw0KPiA+ID4g
PiA+ID4gPiA+ICBhdCB0aGlzIHBvaW50Og0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+
ID4gICAtIGV4cG9zZSB0aGUgaGFuZGxlIHRvIHVzZXJzcGFjZSBmb3IgZGFlbW9uL2hlbHBlciB0
bw0KPiB0cmlnZ2VyDQo+ID4gPiB0aGUNCj4gPiA+ID4gPiA+ID4gPiAgICAgbWFwcGluZyB2aWEg
ZXhpc3RpbmcgaHlwZXJjYWxsIGludGVyZmFjZXMuIElmIHVzaW5nIGENCj4gaGVscGVyDQo+ID4g
PiB5b3UNCj4gPiA+ID4gPiA+ID4gPiAgICAgd291bGQgaGF2ZSBhIGh5cGVydmlzb3Igc3BlY2lm
aWMgb25lIHRvIGF2b2lkIHRoZSBkYWVtb24NCj4gPiA+IGhhdmluZyB0bw0KPiA+ID4gPiA+ID4g
PiA+ICAgICBjYXJlIHRvbyBtdWNoIGFib3V0IHRoZSBkZXRhaWxzIG9yIHB1c2ggdGhhdCBjb21w
bGV4aXR5DQo+IGludG8NCj4gPiA+IGENCj4gPiA+ID4gPiA+ID4gPiAgICAgY29tcGlsZSB0aW1l
IG9wdGlvbiBmb3IgdGhlIGRhZW1vbiB3aGljaCB3b3VsZCByZXN1bHQgaW4NCj4gPiA+IGRpZmZl
cmVudA0KPiA+ID4gPiA+ID4gPiA+ICAgICBiaW5hcmllcyBhbHRob3VnaCBhIGNvbW1vbiBzb3Vy
Y2UgYmFzZS4NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ICAgLSBleHBvc2UgYSBu
ZXcga2VybmVsIEFCSSB0byBhYnN0cmFjdCB0aGUgaHlwZXJjYWxsDQo+ID4gPiBkaWZmZXJlbmNl
cyBhd2F5DQo+ID4gPiA+ID4gPiA+ID4gICAgIGluIHRoZSBndWVzdCBrZXJuZWwuIEluIHRoaXMg
Y2FzZSB0aGUgdXNlcnNwYWNlIHdvdWxkDQo+ID4gPiBlc3NlbnRpYWxseQ0KPiA+ID4gPiA+ID4g
PiA+ICAgICBhc2sgZm9yIGFuIGFic3RyYWN0ICJtYXAgZ3Vlc3QgTiBtZW1vcnkgdG8gdXNlcnNw
YWNlDQo+IHB0ciINCj4gPiA+IGFuZCBsZXQNCj4gPiA+ID4gPiA+ID4gPiAgICAgdGhlIGtlcm5l
bCBkZWFsIHdpdGggdGhlIGRpZmZlcmVudCBoeXBlcmNhbGwgaW50ZXJmYWNlcy4NCj4gPiA+IFRo
aXMgb2YNCj4gPiA+ID4gPiA+ID4gPiAgICAgY291cnNlIGFzc3VtZXMgdGhlIG1ham9yaXR5IG9m
IEJFIGd1ZXN0cyB3b3VsZCBiZSBMaW51eA0KPiA+ID4ga2VybmVscyBhbmQNCj4gPiA+ID4gPiA+
ID4gPiAgICAgbGVhdmVzIHRoZSBiYXJlLW1ldGFsL3VuaWtlcm5lbCBhcHByb2FjaGVzIHRvIHRo
ZWlyIG93bg0KPiA+ID4gZGV2aWNlcy4NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+
IE9wZXJhdGlvbg0KPiA+ID4gPiA+ID4gPiA+ID09PT09PT09PQ0KPiA+ID4gPiA+ID4gPiA+DQo+
ID4gPiA+ID4gPiA+ID4gVGhlIGNvcmUgb2YgdGhlIG9wZXJhdGlvbiBvZiBWaXJ0SU8gaXMgZmFp
cmx5IHNpbXBsZS4gT25jZQ0KPiB0aGUNCj4gPiA+ID4gPiA+ID4gPiB2aG9zdC11c2VyIGZlYXR1
cmUgbmVnb3RpYXRpb24gaXMgZG9uZSBpdCdzIGEgY2FzZSBvZg0KPiByZWNlaXZpbmcNCj4gPiA+
IHVwZGF0ZQ0KPiA+ID4gPiA+ID4gPiA+IGV2ZW50cyBhbmQgcGFyc2luZyB0aGUgcmVzdWx0YW50
IHZpcnQgcXVldWUgZm9yIGRhdGEuIFRoZQ0KPiB2aG9zdC0NCj4gPiA+IHVzZXINCj4gPiA+ID4g
PiA+ID4gPiBzcGVjaWZpY2F0aW9uIGhhbmRsZXMgYSBidW5jaCBvZiBzZXR1cCBiZWZvcmUgdGhh
dCBwb2ludCwNCj4gbW9zdGx5DQo+ID4gPiB0bw0KPiA+ID4gPiA+ID4gPiA+IGRldGFpbCB3aGVy
ZSB0aGUgdmlydCBxdWV1ZXMgYXJlIHNldCB1cCBGRCdzIGZvciBtZW1vcnkgYW5kDQo+ID4gPiBl
dmVudA0KPiA+ID4gPiA+ID4gPiA+IGNvbW11bmljYXRpb24uIFRoaXMgaXMgd2hlcmUgdGhlIGVu
dmlzaW9uZWQgc3R1YiBwcm9jZXNzDQo+IHdvdWxkDQo+ID4gPiBiZQ0KPiA+ID4gPiA+ID4gPiA+
IHJlc3BvbnNpYmxlIGZvciBnZXR0aW5nIHRoZSBkYWVtb24gdXAgYW5kIHJlYWR5IHRvIHJ1bi4g
VGhpcw0KPiBpcw0KPiA+ID4gPiA+ID4gPiA+IGN1cnJlbnRseSBkb25lIGluc2lkZSBhIGJpZyBW
TU0gbGlrZSBRRU1VIGJ1dCBJIHN1c3BlY3QgYQ0KPiBtb2Rlcm4NCj4gPiA+ID4gPiA+ID4gPiBh
cHByb2FjaCB3b3VsZCBiZSB0byB1c2UgdGhlIHJ1c3Qtdm1tIHZob3N0IGNyYXRlLiBJdCB3b3Vs
ZA0KPiB0aGVuDQo+ID4gPiBlaXRoZXINCj4gPiA+ID4gPiA+ID4gPiBjb21tdW5pY2F0ZSB3aXRo
IHRoZSBrZXJuZWwncyBhYnN0cmFjdGVkIEFCSSBvciBiZSByZS0NCj4gdGFyZ2V0ZWQNCj4gPiA+
IGFzIGENCj4gPiA+ID4gPiA+ID4gPiBidWlsZCBvcHRpb24gZm9yIHRoZSB2YXJpb3VzIGh5cGVy
dmlzb3JzLg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBPbmUgdGhpbmcgSSBtZW50aW9u
ZWQgYmVmb3JlIHRvIEFsZXggaXMgdGhhdCBYZW4gZG9lc24ndCBoYXZlDQo+IFZNTXMNCj4gPiA+
IHRoZQ0KPiA+ID4gPiA+ID4gPiB3YXkgdGhleSBhcmUgdHlwaWNhbGx5IGVudmlzaW9uZWQgYW5k
IGRlc2NyaWJlZCBpbiBvdGhlcg0KPiA+ID4gZW52aXJvbm1lbnRzLg0KPiA+ID4gPiA+ID4gPiBJ
bnN0ZWFkLCBYZW4gaGFzIElPUkVRIHNlcnZlcnMuIEVhY2ggb2YgdGhlbSBjb25uZWN0cw0KPiA+
ID4gaW5kZXBlbmRlbnRseSB0bw0KPiA+ID4gPiA+ID4gPiBYZW4gdmlhIHRoZSBJT1JFUSBpbnRl
cmZhY2UuIEUuZy4gdG9kYXkgbXVsdGlwbGUgUUVNVXMgY291bGQNCj4gYmUNCj4gPiA+IHVzZWQg
YXMNCj4gPiA+ID4gPiA+ID4gZW11bGF0b3JzIGZvciBhIHNpbmdsZSBYZW4gVk0sIGVhY2ggb2Yg
dGhlbSBjb25uZWN0aW5nIHRvIFhlbg0KPiA+ID4gPiA+ID4gPiBpbmRlcGVuZGVudGx5IHZpYSB0
aGUgSU9SRVEgaW50ZXJmYWNlLg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBUaGUgY29t
cG9uZW50IHJlc3BvbnNpYmxlIGZvciBzdGFydGluZyBhIGRhZW1vbiBhbmQvb3Igc2V0dGluZw0K
PiB1cA0KPiA+ID4gc2hhcmVkDQo+ID4gPiA+ID4gPiA+IGludGVyZmFjZXMgaXMgdGhlIHRvb2xz
dGFjazogdGhlIHhsIGNvbW1hbmQgYW5kIHRoZQ0KPiBsaWJ4bC9saWJ4Yw0KPiA+ID4gPiA+ID4g
PiBsaWJyYXJpZXMuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gSSB0aGluayB0aGF0IFZNIGNv
bmZpZ3VyYXRpb24gbWFuYWdlbWVudCAob3Igb3JjaGVzdHJhdGlvbiBpbg0KPiA+ID4gU3RhcnRv
cw0KPiA+ID4gPiA+ID4gamFyZ29uPykgaXMgYSBzdWJqZWN0IHRvIGRlYmF0ZSBpbiBwYXJhbGxl
bC4NCj4gPiA+ID4gPiA+IE90aGVyd2lzZSwgaXMgdGhlcmUgYW55IGdvb2QgYXNzdW1wdGlvbiB0
byBhdm9pZCBpdCByaWdodCBub3c/DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBPbGVrc2Fu
ZHIgYW5kIG90aGVycyBJIENDZWQgaGF2ZSBiZWVuIHdvcmtpbmcgb24gd2F5cyBmb3IgdGhlDQo+
ID4gPiB0b29sc3RhY2sNCj4gPiA+ID4gPiA+ID4gdG8gY3JlYXRlIHZpcnRpbyBiYWNrZW5kcyBh
bmQgc2V0dXAgbWVtb3J5IG1hcHBpbmdzLiBUaGV5DQo+IG1pZ2h0IGJlDQo+ID4gPiBhYmxlDQo+
ID4gPiA+ID4gPiA+IHRvIHByb3ZpZGUgbW9yZSBpbmZvIG9uIHRoZSBzdWJqZWN0LiBJIGRvIHRo
aW5rIHdlIG1pc3MgYSB3YXkNCj4gdG8NCj4gPiA+IHByb3ZpZGUNCj4gPiA+ID4gPiA+ID4gdGhl
IGNvbmZpZ3VyYXRpb24gdG8gdGhlIGJhY2tlbmQgYW5kIGFueXRoaW5nIGVsc2UgdGhhdCB0aGUN
Cj4gPiA+IGJhY2tlbmQNCj4gPiA+ID4gPiA+ID4gbWlnaHQgcmVxdWlyZSB0byBzdGFydCBkb2lu
ZyBpdHMgam9iLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gWWVzLCBzb21lIHdvcmsgaGFzIGJlZW4g
ZG9uZSBmb3IgdGhlIHRvb2xzdGFjayB0byBoYW5kbGUgVmlydGlvDQo+IE1NSU8NCj4gPiA+IGRl
dmljZXMgaW4NCj4gPiA+ID4gPiBnZW5lcmFsIGFuZCBWaXJ0aW8gYmxvY2sgZGV2aWNlcyBpbiBw
YXJ0aWN1bGFyLiBIb3dldmVyLCBpdCBoYXMNCj4gbm90DQo+ID4gPiBiZWVuIHVwc3RyZWFuZWQg
eWV0Lg0KPiA+ID4gPiA+IFVwZGF0ZWQgcGF0Y2hlcyBvbiByZXZpZXcgbm93Og0KPiA+ID4gPiA+
IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3hlbi1kZXZlbC8xNjIxNjI2MzYxLTI5MDc2LTEtZ2l0
LXNlbmQtDQo+IGVtYWlsLQ0KPiA+ID4gb2xla3N0eXNoQGdtYWlsLmNvbS8NCj4gPiA+ID4gPg0K
PiA+ID4gPiA+IFRoZXJlIGlzIGFuIGFkZGl0aW9uYWwgKGFsc28gaW1wb3J0YW50KSBhY3Rpdml0
eSB0byBpbXByb3ZlL2ZpeA0KPiA+ID4gZm9yZWlnbiBtZW1vcnkgbWFwcGluZyBvbiBBcm0gd2hp
Y2ggSSBhbSBhbHNvIGludm9sdmVkIGluLg0KPiA+ID4gPiA+IFRoZSBmb3JlaWduIG1lbW9yeSBt
YXBwaW5nIGlzIHByb3Bvc2VkIHRvIGJlIHVzZWQgZm9yIFZpcnRpbw0KPiBiYWNrZW5kcw0KPiA+
ID4gKGRldmljZSBlbXVsYXRvcnMpIGlmIHRoZXJlIGlzIGEgbmVlZCB0byBydW4gZ3Vlc3QgT1Mg
Y29tcGxldGVseQ0KPiA+ID4gdW5tb2RpZmllZC4NCj4gPiA+ID4gPiBPZiBjb3Vyc2UsIHRoZSBt
b3JlIHNlY3VyZSB3YXkgd291bGQgYmUgdG8gdXNlIGdyYW50IG1lbW9yeQ0KPiBtYXBwaW5nLg0K
PiA+ID4gQnJpZXRseSwgdGhlIG1haW4gZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZW0gaXMgdGhhdCB3
aXRoIGZvcmVpZ24gbWFwcGluZw0KPiB0aGUNCj4gPiA+IGJhY2tlbmQNCj4gPiA+ID4gPiBjYW4g
bWFwIGFueSBndWVzdCBtZW1vcnkgaXQgd2FudHMgdG8gbWFwLCBidXQgd2l0aCBncmFudCBtYXBw
aW5nDQo+IGl0IGlzDQo+ID4gPiBhbGxvd2VkIHRvIG1hcCBvbmx5IHdoYXQgd2FzIHByZXZpb3Vz
bHkgZ3JhbnRlZCBieSB0aGUgZnJvbnRlbmQuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBTbywgdGhl
cmUgbWlnaHQgYmUgYSBwcm9ibGVtIGlmIHdlIHdhbnQgdG8gcHJlLW1hcCBzb21lIGd1ZXN0DQo+
IG1lbW9yeQ0KPiA+ID4gaW4gYWR2YW5jZSBvciB0byBjYWNoZSBtYXBwaW5ncyBpbiB0aGUgYmFj
a2VuZCBpbiBvcmRlciB0byBpbXByb3ZlDQo+ID4gPiBwZXJmb3JtYW5jZSAoYmVjYXVzZSB0aGUg
bWFwcGluZy91bm1hcHBpbmcgZ3Vlc3QgcGFnZXMgZXZlcnkgcmVxdWVzdA0KPiA+ID4gcmVxdWly
ZXMgYSBsb3Qgb2YgYmFjayBhbmQgZm9ydGggdG8gWGVuICsgUDJNIHVwZGF0ZXMpLiBJbiBhIG51
dHNoZWxsLA0KPiA+ID4gY3VycmVudGx5LCBpbiBvcmRlciB0byBtYXAgYSBndWVzdCBwYWdlIGlu
dG8gdGhlIGJhY2tlbmQgYWRkcmVzcyBzcGFjZQ0KPiB3ZQ0KPiA+ID4gbmVlZCB0byBzdGVhbCBh
IHJlYWwgcGh5c2ljYWwgcGFnZSBmcm9tIHRoZSBiYWNrZW5kIGRvbWFpbi4gU28sIHdpdGgNCj4g
dGhlDQo+ID4gPiBzYWlkIG9wdGltaXphdGlvbnMgd2UgbWlnaHQgZW5kIHVwIHdpdGggbm8gZnJl
ZSBtZW1vcnkgaW4gdGhlIGJhY2tlbmQNCj4gPiA+IGRvbWFpbiAoc2VlIFhTQS0zMDApLiBBbmQg
d2hhdCB3ZSB0cnkgdG8gYWNoaWV2ZSBpcyB0byBub3Qgd2FzdGUgYQ0KPiByZWFsDQo+ID4gPiBk
b21haW4gbWVtb3J5IGF0IGFsbCBieSBwcm92aWRpbmcgc2FmZSBub24tYWxsb2NhdGVkLXlldCAo
c28gdW51c2VkKQ0KPiA+ID4gYWRkcmVzcyBzcGFjZSBmb3IgdGhlIGZvcmVpZ24gKGFuZCBncmFu
dCkgcGFnZXMgdG8gYmUgbWFwcGVkIGludG8sDQo+IHRoaXMNCj4gPiA+IGVuYWJsaW5nIHdvcmsg
aW1wbGllcyBYZW4gYW5kIExpbnV4IChhbmQgbGlrZWx5IERUQiBiaW5kaW5ncykgY2hhbmdlcy4N
Cj4gPiA+IEhvd2V2ZXIsIGFzIGl0IHR1cm5lZCBvdXQsIGZvciB0aGlzIHRvIHdvcmsgaW4gYSBw
cm9wZXIgYW5kIHNhZmUgd2F5DQo+IHNvbWUNCj4gPiA+IHByZXJlcSB3b3JrIG5lZWRzIHRvIGJl
IGRvbmUuDQo+ID4gPiA+ID4gWW91IGNhbiBmaW5kIHRoZSByZWxhdGVkIFhlbiBkaXNjdXNzaW9u
IGF0Og0KPiA+ID4gPiA+IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3hlbi1kZXZlbC8xNjI3NDg5
MTEwLTI1NjMzLTEtZ2l0LXNlbmQtDQo+IGVtYWlsLQ0KPiA+ID4gb2xla3N0eXNoQGdtYWlsLmNv
bS8NCj4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+DQo+
ID4gPiA+ID4gPiA+ID4gT25lIHF1ZXN0aW9uIGlzIGhvdyB0byBiZXN0IGhhbmRsZSBub3RpZmlj
YXRpb24gYW5kIGtpY2tzLg0KPiBUaGUNCj4gPiA+IGV4aXN0aW5nDQo+ID4gPiA+ID4gPiA+ID4g
dmhvc3QtdXNlciBmcmFtZXdvcmsgdXNlcyBldmVudGZkIHRvIHNpZ25hbCB0aGUgZGFlbW9uDQo+
IChhbHRob3VnaA0KPiA+ID4gUUVNVQ0KPiA+ID4gPiA+ID4gPiA+IGlzIHF1aXRlIGNhcGFibGUg
b2Ygc2ltdWxhdGluZyB0aGVtIHdoZW4geW91IHVzZSBUQ0cpLiBYZW4NCj4gaGFzDQo+ID4gPiBp
dCdzIG93bg0KPiA+ID4gPiA+ID4gPiA+IElPUkVRIG1lY2hhbmlzbS4gSG93ZXZlciBsYXRlbmN5
IGlzIGFuIGltcG9ydGFudCBmYWN0b3IgYW5kDQo+ID4gPiBoYXZpbmcNCj4gPiA+ID4gPiA+ID4g
PiBldmVudHMgZ28gdGhyb3VnaCB0aGUgc3R1YiB3b3VsZCBhZGQgcXVpdGUgYSBsb3QuDQo+ID4g
PiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IFllYWggSSB0aGluaywgcmVnYXJkbGVzcyBvZiBhbnl0
aGluZyBlbHNlLCB3ZSB3YW50IHRoZQ0KPiBiYWNrZW5kcyB0bw0KPiA+ID4gPiA+ID4gPiBjb25u
ZWN0IGRpcmVjdGx5IHRvIHRoZSBYZW4gaHlwZXJ2aXNvci4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+
ID4gPiBJbiBteSBhcHByb2FjaCwNCj4gPiA+ID4gPiA+ICBhKSBCRSAtPiBGRTogaW50ZXJydXB0
cyB0cmlnZ2VyZWQgYnkgQkUgY2FsbGluZyBhIGh5cGVydmlzb3INCj4gPiA+IGludGVyZmFjZQ0K
PiA+ID4gPiA+ID4gICAgICAgICAgICAgICB2aWEgdmlydGlvLXByb3h5DQo+ID4gPiA+ID4gPiAg
YikgRkUgLT4gQkU6IE1NSU8gdG8gY29uZmlnIHJhaXNlcyBldmVudHMgKGluIGV2ZW50IGNoYW5u
ZWxzKSwNCj4gPiA+IHdoaWNoIGlzDQo+ID4gPiA+ID4gPiAgICAgICAgICAgICAgIGNvbnZlcnRl
ZCB0byBhIGNhbGxiYWNrIHRvIEJFIHZpYSB2aXJ0aW8tcHJveHkNCj4gPiA+ID4gPiA+ICAgICAg
ICAgICAgICAgKFhlbidzIGV2ZW50IGNoYW5uZWwgaXMgaW50ZXJubmFsbHkgaW1wbGVtZW50ZWQg
YnkNCj4gPiA+IGludGVycnVwdHMuKQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IEkgZG9uJ3Qg
a25vdyB3aGF0ICJjb25uZWN0IGRpcmVjdGx5IiBtZWFucyBoZXJlLCBidXQgc2VuZGluZw0KPiA+
ID4gaW50ZXJydXB0cw0KPiA+ID4gPiA+ID4gdG8gdGhlIG9wcG9zaXRlIHNpZGUgd291bGQgYmUg
YmVzdCBlZmZpY2llbnQuDQo+ID4gPiA+ID4gPiBJdnNobWVtLCBJIHN1cHBvc2UsIHRha2VzIHRo
aXMgYXBwcm9hY2ggYnkgdXRpbGl6aW5nIFBDSSdzIG1zaS14DQo+ID4gPiBtZWNoYW5pc20uDQo+
ID4gPiA+ID4NCj4gPiA+ID4gPiBBZ3JlZSB0aGF0IE1TSSB3b3VsZCBiZSBtb3JlIGVmZmljaWVu
dCB0aGFuIFNQSS4uLg0KPiA+ID4gPiA+IEF0IHRoZSBtb21lbnQsIGluIG9yZGVyIHRvIG5vdGlm
eSB0aGUgZnJvbnRlbmQsIHRoZSBiYWNrZW5kIGlzc3Vlcw0KPiBhDQo+ID4gPiBzcGVjaWZpYyBk
ZXZpY2UtbW9kZWwgY2FsbCB0byBxdWVyeSBYZW4gdG8gaW5qZWN0IGEgY29ycmVzcG9uZGluZyBT
UEkNCj4gdG8NCj4gPiA+IHRoZSBndWVzdC4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+
ID4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiBDb3VsZCB3ZSBjb25zaWRlciB0aGUg
a2VybmVsIGludGVybmFsbHkgY29udmVydGluZyBJT1JFUQ0KPiA+ID4gbWVzc2FnZXMgZnJvbQ0K
PiA+ID4gPiA+ID4gPiA+IHRoZSBYZW4gaHlwZXJ2aXNvciB0byBldmVudGZkIGV2ZW50cz8gV291
bGQgdGhpcyBzY2FsZSB3aXRoDQo+ID4gPiBvdGhlciBrZXJuZWwNCj4gPiA+ID4gPiA+ID4gPiBo
eXBlcmNhbGwgaW50ZXJmYWNlcz8NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IFNv
IGFueSB0aG91Z2h0cyBvbiB3aGF0IGRpcmVjdGlvbnMgYXJlIHdvcnRoIGV4cGVyaW1lbnRpbmcN
Cj4gd2l0aD8NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gT25lIG9wdGlvbiB3ZSBzaG91
bGQgY29uc2lkZXIgaXMgZm9yIGVhY2ggYmFja2VuZCB0byBjb25uZWN0DQo+IHRvDQo+ID4gPiBY
ZW4gdmlhDQo+ID4gPiA+ID4gPiA+IHRoZSBJT1JFUSBpbnRlcmZhY2UuIFdlIGNvdWxkIGdlbmVy
YWxpemUgdGhlIElPUkVRIGludGVyZmFjZQ0KPiBhbmQNCj4gPiA+IG1ha2UgaXQNCj4gPiA+ID4g
PiA+ID4gaHlwZXJ2aXNvciBhZ25vc3RpYy4gVGhlIGludGVyZmFjZSBpcyByZWFsbHkgdHJpdmlh
bCBhbmQgZWFzeQ0KPiB0bw0KPiA+ID4gYWRkLg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IEFz
IEkgc2FpZCBhYm92ZSwgbXkgcHJvcG9zYWwgZG9lcyB0aGUgc2FtZSB0aGluZyB0aGF0IHlvdQ0K
PiBtZW50aW9uZWQNCj4gPiA+IGhlcmUgOikNCj4gPiA+ID4gPiA+IFRoZSBkaWZmZXJlbmNlIGlz
IHRoYXQgSSBkbyBjYWxsIGh5cGVydmlzb3IgaW50ZXJmYWNlcyB2aWENCj4gdmlydGlvLQ0KPiA+
ID4gcHJveHkuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBUaGUgb25seSBYZW4tc3BlY2lm
aWMgcGFydCBpcyB0aGUgbm90aWZpY2F0aW9uIG1lY2hhbmlzbSwNCj4gd2hpY2ggaXMNCj4gPiA+
IGFuDQo+ID4gPiA+ID4gPiA+IGV2ZW50IGNoYW5uZWwuIElmIHdlIHJlcGxhY2VkIHRoZSBldmVu
dCBjaGFubmVsIHdpdGggc29tZXRoaW5nDQo+ID4gPiBlbHNlIHRoZQ0KPiA+ID4gPiA+ID4gPiBp
bnRlcmZhY2Ugd291bGQgYmUgZ2VuZXJpYy4gU2VlOg0KPiA+ID4gPiA+ID4gPiBodHRwczovL2dp
dGxhYi5jb20veGVuLXByb2plY3QveGVuLy0NCj4gPiA+IC9ibG9iL3N0YWdpbmcveGVuL2luY2x1
ZGUvcHVibGljL2h2bS9pb3JlcS5oI0w1Mg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBJ
IGRvbid0IHRoaW5rIHRoYXQgdHJhbnNsYXRpbmcgSU9SRVFzIHRvIGV2ZW50ZmQgaW4gdGhlIGtl
cm5lbA0KPiBpcw0KPiA+ID4gYQ0KPiA+ID4gPiA+ID4gPiBnb29kIGlkZWE6IGlmIGZlZWxzIGxp
a2UgaXQgd291bGQgYmUgZXh0cmEgY29tcGxleGl0eSBhbmQgdGhhdA0KPiB0aGUNCj4gPiA+ID4g
PiA+ID4ga2VybmVsIHNob3VsZG4ndCBiZSBpbnZvbHZlZCBhcyB0aGlzIGlzIGEgYmFja2VuZC1o
eXBlcnZpc29yDQo+ID4gPiBpbnRlcmZhY2UuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gR2l2
ZW4gdGhhdCB3ZSBtYXkgd2FudCB0byBpbXBsZW1lbnQgQkUgYXMgYSBiYXJlLW1ldGFsDQo+IGFw
cGxpY2F0aW9uDQo+ID4gPiA+ID4gPiBhcyBJIGRpZCBvbiBaZXBoeXIsIEkgZG9uJ3QgdGhpbmsg
dGhhdCB0aGUgdHJhbnNsYXRpb24gd291bGQgbm90DQo+IGJlDQo+ID4gPiA+ID4gPiBhIGJpZyBp
c3N1ZSwgZXNwZWNpYWxseSBvbiBSVE9TJ3MuDQo+ID4gPiA+ID4gPiBJdCB3aWxsIGJlIHNvbWUg
a2luZCBvZiBhYnN0cmFjdGlvbiBsYXllciBvZiBpbnRlcnJ1cHQgaGFuZGxpbmcNCj4gPiA+ID4g
PiA+IChvciBub3RoaW5nIGJ1dCBhIGNhbGxiYWNrIG1lY2hhbmlzbSkuDQo+ID4gPiA+ID4gPg0K
PiA+ID4gPiA+ID4gPiBBbHNvLCBldmVudGZkIGlzIHZlcnkgTGludXgtY2VudHJpYyBhbmQgd2Ug
YXJlIHRyeWluZyB0bw0KPiBkZXNpZ24gYW4NCj4gPiA+ID4gPiA+ID4gaW50ZXJmYWNlIHRoYXQg
Y291bGQgd29yayB3ZWxsIGZvciBSVE9TZXMgdG9vLiBJZiB3ZSB3YW50IHRvDQo+IGRvDQo+ID4g
PiA+ID4gPiA+IHNvbWV0aGluZyBkaWZmZXJlbnQsIGJvdGggT1MtYWdub3N0aWMgYW5kIGh5cGVy
dmlzb3ItYWdub3N0aWMsDQo+ID4gPiBwZXJoYXBzDQo+ID4gPiA+ID4gPiA+IHdlIGNvdWxkIGRl
c2lnbiBhIG5ldyBpbnRlcmZhY2UuIE9uZSB0aGF0IGNvdWxkIGJlDQo+IGltcGxlbWVudGFibGUN
Cj4gPiA+IGluIHRoZQ0KPiA+ID4gPiA+ID4gPiBYZW4gaHlwZXJ2aXNvciBpdHNlbGYgKGxpa2Ug
SU9SRVEpIGFuZCBvZiBjb3Vyc2UgYW55IG90aGVyDQo+ID4gPiBoeXBlcnZpc29yDQo+ID4gPiA+
ID4gPiA+IHRvby4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4g
VGhlcmUgaXMgYWxzbyBhbm90aGVyIHByb2JsZW0uIElPUkVRIGlzIHByb2JhYmx5IG5vdCBiZSB0
aGUNCj4gb25seQ0KPiA+ID4gPiA+ID4gPiBpbnRlcmZhY2UgbmVlZGVkLiBIYXZlIGEgbG9vayBh
dA0KPiA+ID4gPiA+ID4gPiBodHRwczovL21hcmMuaW5mby8/bD14ZW4tZGV2ZWwmbT0xNjIzNzM3
NTQ3MDUyMzMmdz0yLiBEb24ndCB3ZQ0KPiA+ID4gYWxzbyBuZWVkDQo+ID4gPiA+ID4gPiA+IGFu
IGludGVyZmFjZSBmb3IgdGhlIGJhY2tlbmQgdG8gaW5qZWN0IGludGVycnVwdHMgaW50byB0aGUN
Cj4gPiA+IGZyb250ZW5kPyBBbmQNCj4gPiA+ID4gPiA+ID4gaWYgdGhlIGJhY2tlbmQgcmVxdWly
ZXMgZHluYW1pYyBtZW1vcnkgbWFwcGluZ3Mgb2YgZnJvbnRlbmQNCj4gcGFnZXMsDQo+ID4gPiB0
aGVuDQo+ID4gPiA+ID4gPiA+IHdlIHdvdWxkIGFsc28gbmVlZCBhbiBpbnRlcmZhY2UgdG8gbWFw
L3VubWFwIGRvbVUgcGFnZXMuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gTXkgcHJvcG9zYWwg
ZG9jdW1lbnQgbWlnaHQgaGVscCBoZXJlOyBBbGwgdGhlIGludGVyZmFjZXMNCj4gcmVxdWlyZWQN
Cj4gPiA+IGZvcg0KPiA+ID4gPiA+ID4gdmlydGlvLXByb3h5IChvciBoeXBlcnZpc29yLXJlbGF0
ZWQgaW50ZXJmYWNlcykgYXJlIGxpc3RlZCBhcw0KPiA+ID4gPiA+ID4gUlBDIHByb3RvY29scyA6
KQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gVGhlc2UgaW50ZXJmYWNlcyBhcmUgYSBsb3Qg
bW9yZSBwcm9ibGVtYXRpYyB0aGFuIElPUkVROiBJT1JFUQ0KPiBpcw0KPiA+ID4gdGlueQ0KPiA+
ID4gPiA+ID4gPiBhbmQgc2VsZi1jb250YWluZWQuIEl0IGlzIGVhc3kgdG8gYWRkIGFueXdoZXJl
LiBBIG5ldw0KPiBpbnRlcmZhY2UgdG8NCj4gPiA+ID4gPiA+ID4gaW5qZWN0IGludGVycnVwdHMg
b3IgbWFwIHBhZ2VzIGlzIG1vcmUgZGlmZmljdWx0IHRvIG1hbmFnZQ0KPiBiZWNhdXNlDQo+ID4g
PiBpdA0KPiA+ID4gPiA+ID4gPiB3b3VsZCByZXF1aXJlIGNoYW5nZXMgc2NhdHRlcmVkIGFjcm9z
cyB0aGUgdmFyaW91cyBlbXVsYXRvcnMuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gRXhhY3Rs
eS4gSSBoYXZlIG5vIGNvbmZpZGVudCB5ZXQgdGhhdCBteSBhcHByb2FjaCB3aWxsIGFsc28NCj4g
YXBwbHkNCj4gPiA+ID4gPiA+IHRvIG90aGVyIGh5cGVydmlzb3JzIHRoYW4gWGVuLg0KPiA+ID4g
PiA+ID4gVGVjaG5pY2FsbHksIHllcywgYnV0IHdoZXRoZXIgcGVvcGxlIGNhbiBhY2NlcHQgaXQg
b3Igbm90IGlzIGENCj4gPiA+IGRpZmZlcmVudA0KPiA+ID4gPiA+ID4gbWF0dGVyLg0KPiA+ID4g
PiA+ID4NCj4gPiA+ID4gPiA+IFRoYW5rcywNCj4gPiA+ID4gPiA+IC1UYWthaGlybyBBa2FzaGkN
Cj4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAtLQ0KPiA+ID4gPiA+
IFJlZ2FyZHMsDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBPbGVrc2FuZHIgVHlzaGNoZW5rbw0KPiA+
ID4gPiBJTVBPUlRBTlQgTk9USUNFOiBUaGUgY29udGVudHMgb2YgdGhpcyBlbWFpbCBhbmQgYW55
IGF0dGFjaG1lbnRzIGFyZQ0KPiA+ID4gY29uZmlkZW50aWFsIGFuZCBtYXkgYWxzbyBiZSBwcml2
aWxlZ2VkLiBJZiB5b3UgYXJlIG5vdCB0aGUgaW50ZW5kZWQNCj4gPiA+IHJlY2lwaWVudCwgcGxl
YXNlIG5vdGlmeSB0aGUgc2VuZGVyIGltbWVkaWF0ZWx5IGFuZCBkbyBub3QgZGlzY2xvc2UNCj4g
dGhlDQo+ID4gPiBjb250ZW50cyB0byBhbnkgb3RoZXIgcGVyc29uLCB1c2UgaXQgZm9yIGFueSBw
dXJwb3NlLCBvciBzdG9yZSBvciBjb3B5DQo+IHRoZQ0KPiA+ID4gaW5mb3JtYXRpb24gaW4gYW55
IG1lZGl1bS4gVGhhbmsgeW91Lg0KPiA+IElNUE9SVEFOVCBOT1RJQ0U6IFRoZSBjb250ZW50cyBv
ZiB0aGlzIGVtYWlsIGFuZCBhbnkgYXR0YWNobWVudHMgYXJlDQo+IGNvbmZpZGVudGlhbCBhbmQg
bWF5IGFsc28gYmUgcHJpdmlsZWdlZC4gSWYgeW91IGFyZSBub3QgdGhlIGludGVuZGVkDQo+IHJl
Y2lwaWVudCwgcGxlYXNlIG5vdGlmeSB0aGUgc2VuZGVyIGltbWVkaWF0ZWx5IGFuZCBkbyBub3Qg
ZGlzY2xvc2UgdGhlDQo+IGNvbnRlbnRzIHRvIGFueSBvdGhlciBwZXJzb24sIHVzZSBpdCBmb3Ig
YW55IHB1cnBvc2UsIG9yIHN0b3JlIG9yIGNvcHkgdGhlDQo+IGluZm9ybWF0aW9uIGluIGFueSBt
ZWRpdW0uIFRoYW5rIHlvdS4NCklNUE9SVEFOVCBOT1RJQ0U6IFRoZSBjb250ZW50cyBvZiB0aGlz
IGVtYWlsIGFuZCBhbnkgYXR0YWNobWVudHMgYXJlIGNvbmZpZGVudGlhbCBhbmQgbWF5IGFsc28g
YmUgcHJpdmlsZWdlZC4gSWYgeW91IGFyZSBub3QgdGhlIGludGVuZGVkIHJlY2lwaWVudCwgcGxl
YXNlIG5vdGlmeSB0aGUgc2VuZGVyIGltbWVkaWF0ZWx5IGFuZCBkbyBub3QgZGlzY2xvc2UgdGhl
IGNvbnRlbnRzIHRvIGFueSBvdGhlciBwZXJzb24sIHVzZSBpdCBmb3IgYW55IHB1cnBvc2UsIG9y
IHN0b3JlIG9yIGNvcHkgdGhlIGluZm9ybWF0aW9uIGluIGFueSBtZWRpdW0uIFRoYW5rIHlvdS4N
Cg==


From xen-devel-bounces@lists.xenproject.org Wed Aug 18 09:16:29 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 09:16:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168147.306973 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGHgN-0003Sz-3B; Wed, 18 Aug 2021 09:16:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168147.306973; Wed, 18 Aug 2021 09: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 1mGHgN-0003Ss-0B; Wed, 18 Aug 2021 09:16:23 +0000
Received: by outflank-mailman (input) for mailman id 168147;
 Wed, 18 Aug 2021 09:16:21 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MkKE=NJ=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mGHgL-0003Sm-GF
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 09:16:21 +0000
Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 212b6d68-6b0e-41cd-880a-4dd93bf36bc0;
 Wed, 18 Aug 2021 09:16: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: 212b6d68-6b0e-41cd-880a-4dd93bf36bc0
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629278180;
  h=subject:to:cc:references:from:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=SY+fWEQ0dyvVv91jn6JnsoAzBxfLu318TdDrd/GhUgo=;
  b=ZuPGM2P5u6YdElaWQnyTVPo0TVJsq32OpLGBEk8PqvuAUWpy6Ui+DoJI
   uVh3+a+KLwWHE8ZTF0sp8/hDm6nF4nBybSAUw4/glZXqvXWctp8/aXHFi
   +WlZNBO4YZcrph9vr42DzKtwLA21Cf8i2QrzxaXsMXSmr00hDqV7XbUVV
   4=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: Z0GsyJRKy5SzMFOXEjGIaTL+8q4Z9fs+Rad2XjLX5wEye7ZhWVrasUKhYGeFPKhWf1Optr+P5U
 We+BOTxvpFbCYc7YIqtrXY0Kvk4UCMwCJL8QWbc7rDaE+lv0oEA23hUfaCV/SY7tPJxQ9hqfsC
 03C8hYEkTsmgMJDkU9v6hobbR2rKdvUkdN178n3iM0JhfS3r13uuawAw7r6amxr+qZEfGeOpV/
 9R0K3eqdsYgxaOeWdqEiaFgtuohRyQwhPXx42xuc57lIa3suHEzoJGSOW5nXwjK73H5hgXI6PI
 riQ65WSzRdt3IlAGtKgFnDSn
X-SBRS: 5.1
X-MesageID: 50699419
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:Qkx5ta3LcjKVKstwSVAbBAqjBTJyeYIsimQD101hICG9Lfb3qy
 n+ppsmPEHP5Ar5OEtBpTiBUJPwJk80hqQFn7X5Wo3SIzUO2VHYUL2KiLGC/9SOIVyEygcw79
 YYT0E6MqyMMbEYt7eI3ODbKadZ/DDvysnB7o2yvhQdL3AeV0gj1XYeNu/yKDwHeOAsP+tdKH
 Pz3Lsim9PtQwVsUiztbUN1LtQr6ue72q7OUFojPVoK+QOOhTSn5PrTFAWZ5A4XV3dqza05+W
 bIvgTl7uH72svLiiP05iv21dB7idHhwtxMCIiljdUUECzljkKNaJ56U7OPkTgpqKWE6Uoskv
 PLvxA8Vv4Dqk/5TyWQm1/AygPg2DEh5zvLzkKZu2LqpYjDSDczG6N69M9kWyqcz3BlkMB30a
 pN0W7cnYFQFwn8kCP04MWNfw12l2KvyEBS1NI7vjh6a88zebVRpYsQ8Ad+C5EbBh/374ghDa
 1HENzc3vBLalmXBkqp/FWH+ObcGUjbIy32BHTr4qeuomFrdTFCvgglLfUk7zM9HMlXcegd2w
 ysWZ4Y5o2nTactHOhA7ak6MJCK4sGke2OEDIuoGyWRKEgwAQOHl3fG2sRA2AiUQu1/8HITou
 WMbLoKjx98R6rRYff+lKGjtCq9GlmAYQ==
X-IronPort-AV: E=Sophos;i="5.84,330,1620705600"; 
   d="scan'208";a="50699419"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=N/1uPPiOHlLG1i9AAoBIclN1Ez5aaW240B/KBE/9i3iuLZmX6i7vl7AgVaXjT2/HSxi7qNmZeiWOC4z3w1jAAYF0jJfK8T2OZTAGT9tvqiEFNbZBF2pPPes99iSTo7H7ui/jzar05ZBdLhP8Jo4SXOrPMQhVRayvDoNq0nhU4KZ6JuC1LPGWwt25fyXINsF+9Qfdlbv5IxyBzy9WijsV8G3lK9XqUST5YlayRAsN83qkHoGiK/7a7Eokpk6QJXwpKZ/ac6eLsoZrGKNnVYT9Lsg8MlIya4+IeG9M0W2bV33YVSighxy5lg7qlczK+VinDWf6rvdX49lJmX5xWURfqA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SY+fWEQ0dyvVv91jn6JnsoAzBxfLu318TdDrd/GhUgo=;
 b=DppxiZLisqafOQ81mvhUrPN/ZP6blXOmwE5avGYc+sKmky65ClsS3RqyJY/wI/1jyp/EsS0SSmWsns9NBF5FGRxrVGn0/DLXdHJunXYwKrZs0NUbwx6BlXZwfpJHfG1KUUCjHeFvXS2GS2KiB4iWU1rtRe/YV4piqWQMTggzn6chRyYhnLcHnLu1bmnbHzyN44/lxp03V+RAmZ6eRVBzvJubT6GlwZH7A2NUNzNANaxqeXd6fUXXWqKxJ8Z3TVKJAT4gss86s80JjJyqVzQwyv9oYc1k0m7v7ldhysMtAWyxTD9FiICoH0l+TrmFltsUsaqanpX/SBIoSR6uZb8Lvg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SY+fWEQ0dyvVv91jn6JnsoAzBxfLu318TdDrd/GhUgo=;
 b=keJx/khuWfHHKIRKyWri87hIAJ6Ch5JX6rW/mTJf3yiNNIA+utF6HQilHfSvKHCnQNg8c0GjFxBlq/AObiSiEUYhpX7xKjmVuZtt6lRv9n1VHz6KSQ2N1d2yyi7NHXPthyEhXf1vsxGXkiggzRfx6YIPa9g4+kG073veAvLhFf4=
Subject: Re: [PATCH] x86: mark compat hypercall regs clobbering for intended
 fall-through
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: <5cc873c5-fb76-52b3-5af6-0a5f4987f2d9@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Message-ID: <0633e9d9-4823-589a-4fc5-ff28958c1644@citrix.com>
Date: Wed, 18 Aug 2021 10:16:04 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <5cc873c5-fb76-52b3-5af6-0a5f4987f2d9@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Content-Language: en-GB
X-ClientProxiedBy: LO4P123CA0132.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:193::11) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 004e6ea5-3c67-4614-1d5c-08d96228d192
X-MS-TrafficTypeDiagnostic: BYAPR03MB3861:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <BYAPR03MB38615E76B598FF40DC16D68CBAFF9@BYAPR03MB3861.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:5516;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: QqxeWrnfYne8Ux3dNylJGJwdhSpFEnXLEqVO0aNhXJ8FFTMhBn595T+dCu4UkwKhRSMK1wt/5YFcZ4r1WdNEL2IOk3DpX55nS7m6WKeevZwi6ZqtyuyhMTzdcQT2MOdxymLDVW+A7HBkIlKrJbx5k8VikMuO8qD+OQWaqBwbsUwA/RFRRBw06bnTb8WXjreaJ3ItWUyeBQuhqIFiwkEA/XrETPMxrhNDudAZ5D8Q4iFCpoCxw4SWMAHtSouCZDy4JuLOzZO/Qmf9D5JoEIN9u5hesuTDqVdu1kcizaaNHVN5HIi1kQalpLQ3l+1w7WT5/Sng+/c3An8OJuec0JQzrupfuqZTVdkiPVn/VEtuYl3xW75mtYuhWyCQaQM4XOC9cK5hOwosf6BCEuIxe84AwBzzqUVpbuMISmZsXhh0uH70sxL5fqTXPs4KpZI8KwcbPNwPSLe3ew5ojxPT4UGxM1XTCtrVMdvi/h6IaKxxoJl5AtkT/bSrLtxrVM9vRw+j6T0vDsTzJC+Xg2L46jBdG8Ba0bafc02Wcg938EpeX/BhaU09N6uAumqGeOVLAp05qe48jUvYG4jYLP3OwkabRuaLG4QHuTarr0qymVAzpkfXeQPoAg0oELSPqq04AvsrSH/Ge5beeFq8QqPYVcx7NI1b+bDPNog4lhjZwAxOHql52W3gZ9Jj3FhJrrbQXvJIISKY7yV9zNYHBOzQwQ+UFATwjBHhes3u/u1n1fzjyBc=
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:(4636009)(376002)(366004)(136003)(346002)(396003)(39860400002)(86362001)(31696002)(107886003)(2906002)(31686004)(36756003)(66476007)(6666004)(26005)(186003)(66556008)(66946007)(6486002)(53546011)(54906003)(4326008)(8676002)(478600001)(8936002)(316002)(16576012)(5660300002)(956004)(38100700002)(2616005)(4744005)(110136005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Q2dWWVdySU56Z1AwYTJlWG5meU83VzBreW9JN0NJQWJjVlM3aVhONHh1clJS?=
 =?utf-8?B?Wm1WU0pkQ2NKQ1owcjVqeHRhNm9SWXYzWXpqeVVjNUpIeVI2T3BSRGhYdmJq?=
 =?utf-8?B?ZFdzUmNxOFhKOHRqUE1ORlpWSlU1QnBqVnFkbTBaV1pyQm1WN216NFQ3eUMr?=
 =?utf-8?B?NmtwamdvSGsxa0t6cENKUVp1MnhOTk5KZGYxWWtpVmoxYTB3Y2hjRWVHTmxv?=
 =?utf-8?B?MU5jUWRFK2E0Z2l5TVVpV1lIdTB0NzVJNEpOVWZZTHRLQm1jcUtPR09HeEYv?=
 =?utf-8?B?QzVHaVFyMmFUcExFcWxTeG5yekY4UDdzLy9kNGoxcEtRVnk2dkF3QVh5ZFZE?=
 =?utf-8?B?cHBIWndXM29JVjVWZTJVVGNTK3pic3VuK29zeUh3Z1RRSzdON2VmNFpEbHVl?=
 =?utf-8?B?emtOVVNWTXlLZmZyRlFaSmM3QnU0M0NWemZIelRONjFkdXJkOUNxRUk2dmdy?=
 =?utf-8?B?MTVHMnV1c0I3cjZQVXdkNXZrWGtpMnlxRjNFNlFuNTJ1YjU4S3VZMzBLcHJz?=
 =?utf-8?B?bFdLeVhMbkwzMWMxL3M0K1daT2lueEJoQWpmMzNlUTBrMWtJSVFGT0dLbGIr?=
 =?utf-8?B?TmMzbER6cmFvS3pPUkVRV3BaWkRDc2t2ZXBtY0NRY2VzL1ZQaDE1SjdPUHVH?=
 =?utf-8?B?Y3VPVFRnNnlTQ3NzSjVuT2dJY0FNVHJGSExUNTBzUmhuMEI3Nmo4NXlPeUVJ?=
 =?utf-8?B?TVowRGNTaWF4S1ZFUGFIaWdzM0cxS0N5MHVtLzJPa2ZLL2FqVlhiVWxHdlcz?=
 =?utf-8?B?VFN5cnZiVUxWaEdQK3dNUUc0S05YVjUzZVk4L3BnZUZVajVsNzVsb2JrWVV6?=
 =?utf-8?B?eTBpN3hZLzM5Zm9IS094cE9qQUVSRTY5RlBqZGNMSVQ3ME5PY3h3WEQ0cEk5?=
 =?utf-8?B?Q0dZUkJYMHZLc2o1M3grTzFKaWtvaCswS2txT0taTEIxSUxvbVBXbDJXTEx5?=
 =?utf-8?B?R1JwNEpnVU8rekVkdjBLMys5LzBFUkIxbEtEOEZaZSt0Tmp4QWJ3czJ6cS9V?=
 =?utf-8?B?V0lLUm10NE5xeTdBSnl1cmpYc0lsVDk1b1VjWUx4S3FkdDJJTmxNTlcyLzFj?=
 =?utf-8?B?TUw0S1Z1YjlQVEpXY2ZBQ0JQTUJadkp2bnVWWE1XVUJYWjZEc28wSXRuWnlq?=
 =?utf-8?B?RWVIeFBYZEk2dENTZFNrVGpRQ0M4TTVTZTR5MmYxWWJLZjh3a0txa2xSdllG?=
 =?utf-8?B?SldsbGVnNEdZdEQ1clZBYUZHb1NUWnkzUnB2VTZUZ010SzZ2ell5SGVFOVRT?=
 =?utf-8?B?dzlTcmZ1RWV6MnVTLzRpU3ArU1NQMVVON2hwejcyekJINndmelFWbmh0MmhD?=
 =?utf-8?B?Nnl4RUJ0akRwUWljUVg1bFdTazJzSTJqU3ZsT3Frb0VrVFdiRzFnWDR2ZHNK?=
 =?utf-8?B?dTFHcTlabnhVUExqMVhhT2NQZE9vdUZEaXNPaGRuVDRhbTZnZHdJaVVXbG9z?=
 =?utf-8?B?Z3p4NjB1UW1leG9oNFJ4MktVQnRFakxkRmJmUDR2cnAxODcyb2k5OTMySGFX?=
 =?utf-8?B?dVdweFVzSENvc2xBQXNiRkVpQlhiY2kvcFNROEVaRW5UY0twanlSMWR0Titi?=
 =?utf-8?B?WjBrOGZkWEU2SHk3WEdZWVdHSjk3ejFSc21aTlE3QXJmMnAybS80VVFrNklE?=
 =?utf-8?B?MHpxNmpGUVpNTmw5eHU2eEF3YmtlSjhVcDhkcDZRK1ZtUjNMSzMvS3BUdU15?=
 =?utf-8?B?NDl3c0kzZ294Nnd4R2FWZWFvSlh1ZEJNNjRRN2M2ZjhhUHRiS3dIUWwycXJD?=
 =?utf-8?Q?bMoesJnnYM8DTrgWo24wIy64Dh0WkFnVu9JBu0f?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 004e6ea5-3c67-4614-1d5c-08d96228d192
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2021 09:16:10.5142
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /3+l5fS+nfu7iZu6QuIduABt6ui8/gwbLPMdnujGKl2M6u7QXO8fbO8PrWBLSNx31uxEVHvBCf4enM8xmRfHDqWR35bP+cW0siiriuUKprA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB3861
X-OriginatorOrg: citrix.com

On 13/07/2021 09:08, Jan Beulich wrote:
> Oddly enough in the original report Coverity only complained about the
> native hypercall related switch() statements. Now that it has seen those
> fixed, it complains about (only HVM) compat ones. Hence the CIDs below
> are all for the HVM side of things, yet while at it take care of the PV
> side as well.
>
> Coverity-ID: 1487105, 1487106, 1487107, 1487108, 1487109.
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Wed Aug 18 09:29:49 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 09:29:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168152.306984 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGHtJ-00051N-BL; Wed, 18 Aug 2021 09:29:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168152.306984; Wed, 18 Aug 2021 09: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 1mGHtJ-00051G-7E; Wed, 18 Aug 2021 09:29:45 +0000
Received: by outflank-mailman (input) for mailman id 168152;
 Wed, 18 Aug 2021 09:29:44 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MkKE=NJ=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mGHtI-00051A-EW
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 09:29:44 +0000
Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 07b1fc21-409a-49da-87d2-994a8a95f1ec;
 Wed, 18 Aug 2021 09:29: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: 07b1fc21-409a-49da-87d2-994a8a95f1ec
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629278983;
  h=to:cc:references:from:subject:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=z6SJtrCkqSMu3nqmxxuydVlWb0XN+B2c5EeRIc6EKac=;
  b=SIE0FPXNpZXezaWRDv1lSNuqP6kNkX7RwGueMRjtfSXcb7NE5siYp1Gz
   jlhDAMBFc+X+1cd2gRn7k5C76cU8PI/8xFQE4Dh8IMpTJ7cTy0UdAKq2t
   3f39jGtb/21OxDYB9RKSiZvu0tJ7cLiXeBHCHkrtYjdmMQISkthrSEvnK
   E=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: sXVKpHVr8ELEqU/xHB5FgUn9U6CF7vt8ZuquoJxHby3axJKnPlWHzbyUzG5JnMFEU9KFupxZ17
 IuI4MSH4FWufZZ3BqaYuBKoRmY3+kW+eoBL9XxCJ9G8bMDX8CO6qD70VtPLzihmtQVMjtic5Fp
 /E6G7qzYtUm6dYbkDN+33y/75G14Msd0r2z+4mEI9+5LF6PQ4g6pYQFS46vhols3jBKZlSDlQL
 LsayTA+28lU50Bert5uZPD+0/nZ5Oj1hg4uXXzXGYOeWROUUvk3Nw3SPeNxhHsgouPxTjDLXcU
 T3+ayaloyWsohjxZPZw0y9lk
X-SBRS: 5.1
X-MesageID: 52432825
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:IBr6k6nNgBbxZi9KBEwOVm8lZjXpDfLU3DAbv31ZSRFFG/FwWf
 rPoB1p726PtN9xYgBYpTnuAtjlfZqxz/BICMwqTNWftWrdyQ2VxeNZnOzfKlTbckXDH6xmpM
 RdmsNFebjN5C1B/L3HCWeDcurJ47G8nZxB2o/loEuEWmxRAZ1I3kNcJyy1KE15XiFKCJY1fa
 Dsm/av3wDQAUj+z6+AakUtbqz4vtXO0Kv8ZxQLHQQq5WC15g+V1A==
X-IronPort-AV: E=Sophos;i="5.84,330,1620705600"; 
   d="scan'208";a="52432825"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UGM2WtPJeibjVC41XXfUJ668eNpuQwVqtrrSNsByW44dPiEW75GEoM0ZyK4+zK3+TiX1olyERHiO/OKTdHiGvJX3g8T/zET+1ePc+OgByyuvrZINtn6LUvGZUO77OTtHMknDbgmqt9c6SJDUqDwAbvumqxEeut7jdAbT8CVJd9eCTMM+kdVlygCW2f4ZjbZUliEM4Fs/ERr0X07jGgbDvQRdTdwYL9xwjEByRwnBO+ZNoVECODGzsj7nI2fwVp4P2wWZhz538jNiv5JgfxKpZtNLnKN99iagmIoJS72LP36asYUZZi0WUp4+CULGTXbnTdMyhMuyVbM3J2TOxsJJdg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZOtWLspargJ1NTS/u4DojVlB4ecGVazEMObjBACD55g=;
 b=IXVeSVnSV2ngn5RSw6owg2HZ+C9Q8oWcdJDCAOpSW/svPfV8dy2/FnbdhikRIj+VzwZhhPQ2x/+oIvFQEsjTj1D1xvPEs5SyxmP7tWmzf6R3IYyH+22MmPBte2SMMwZW6wpe/1XpTWx5UXqGXColOlmyqXzPeMzczeia3P4myk93HYeFvjjlUbbxKCaADoCaRWVg+Kwn/EYtU0q7f5+rnJhW+RwtADWpqoVEVFBdcdhHX6YJdLpogG+FdA2VwX/jjVu388QIRG9NQocuXWpyxQ0mKqTYutV9lo4baBshUAxyl+c9uPZ7l0fxZfC5L3LH7K2Mpw8P1n2ef5ldGvtiIQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZOtWLspargJ1NTS/u4DojVlB4ecGVazEMObjBACD55g=;
 b=t1G7+Y+7iimt9OJerL1tkSRECSe2gcZhHDqhBLMlUjGekcZHERUt1icJblALHbblP95E4PxlprNC8yA23D4X4tzRFfNMxGaG5C2WNhwFzCv0fiPvPpDqBcXQ0OUFanGCe2cxIVuqZqnHwvmBYDdaAGH9wBHzm3ZzPjYG2Fe2v6I=
To: Jane Malalane <jane.malalane@citrix.com>, Xen-devel
	<xen-devel@lists.xenproject.org>
CC: Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>, Juergen Gross
	<jgross@suse.com>
References: <20210817151924.6674-1-jane.malalane@citrix.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] libs/guest: Move the guest ABI check earlier into
 xc_dom_parse_image()
Message-ID: <51d8928b-34cc-d74c-4833-a7124d61a7cb@citrix.com>
Date: Wed, 18 Aug 2021 10:29:28 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210817151924.6674-1-jane.malalane@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-GB
X-ClientProxiedBy: LO2P265CA0107.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:c::23) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5e945a25-0cc4-4a8e-f7c8-08d9622ab01e
X-MS-TrafficTypeDiagnostic: BY5PR03MB5047:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <BY5PR03MB50478A6A52A3CDA2B54DC186BAFF9@BY5PR03MB5047.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:5797;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 1vatGOvDLhReRMdCeGf4NEmaE+GqIwJ7aMAmPOwFzmePYp7ciN+/aermnFi0F6Kzz1vwH6teJr3YZXv7Oob1E0zsaPbFwJ2BOW4lLsN4sgA7xo/gXbgRMVzgVdNaWQIg9T/8TcKCmZrG5eK0gCd1JDP8AVkiFx8NWX8B/eZxEdfmhdpB9oL/qjYSwUSY9zpiPjw+p7giX5+aC4duAiqgl3hTxB82kLuYVTu6fuMUMxHCTkA9axSua22g7C4TUvIdAIMjhmkqgO+ixkWkoHIO8e7aA8fV6TtyMpDcOHjpgzvHv8PTJq3f8xSIeWYwSqzvFPfxvZTOe4UnFtrNGs0Bv7Be/hWXzBNREipgr7G0T1exWPnHzZhCGorLOIGHXBYWk9KItu0jNDegvGU80HsXP8jDj3C5H8Yf91WYzAtZvkBZr6/6kWfiJQdcnz83GIecbQnWbjXEcWvxAmFVCJMRxQYasYfdHCBYYaWpM2MJFwZMCS/Ttva4LGuyQZLrmkiI6tgnJLjqedg6aeBuH6MWByEDtm7TgnhOaP7IEeqPXW/FjLnIlhd+GtHtLVKKxUnj8nznlBbVHtGjLG+6sQv1kUgSuPwvncFnCvtlSijHqEQbmcpwMuiN/eTA1QqUAFursQkzq+Gbu/c1aP65c+N0l48buSPUdbT0pajIMTdiUDejV8UK1m7/0Gtr1iHwKujhXZbPgDoRQXCvAGOhXskf9N+HKn+9lx+bd4ehxu9bMsY=
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:(4636009)(366004)(136003)(376002)(39860400002)(346002)(396003)(36756003)(66946007)(478600001)(8676002)(8936002)(110136005)(956004)(2616005)(38100700002)(6666004)(2906002)(83380400001)(31686004)(53546011)(186003)(86362001)(4326008)(54906003)(16576012)(316002)(6486002)(66476007)(66556008)(5660300002)(26005)(31696002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?USt4ajdzbGs5WmRaUlppRFMyRTR1TkJpS2IxeEw2TmlTWVNjRzNaZDFNVVcw?=
 =?utf-8?B?YnpHc2pFNnNWcUpRMGlQL2hvR2VVbXVZL3RSVHhLZ3NLTzBxblcyaHRHZ1or?=
 =?utf-8?B?MEorb1lIYnAvTW5WeFdxUmxyM1pXUHMvZWN0S0JpTk1kT29DZHhCcGM3UE9u?=
 =?utf-8?B?Z2VIVGlvVmNSeFZieEFQNENUTkhWdkVOMEhQZnNLNTBnWTd5MjV2b2dOTTdv?=
 =?utf-8?B?QWNRNkNjMkd2OVZGYTRmd3pxWWxvbDNrY285cGNBb2toY2IwOUhNU2Z6b3JI?=
 =?utf-8?B?bWZONFRPV0RTa2htSXFCZG14ZnpwdlRhL0E3NE1ZUUQ4ZWM1MUplcGlQcWJ1?=
 =?utf-8?B?T3BjLzV3MWJ2MHdRUm1tRnhyZDhyVDNUUnFpZGdvUkduZ0ZYZHQ0RE5hcHo2?=
 =?utf-8?B?azFkQ0VQNXVVSmpoc3pkczRaM3hoUnB6UzlaYkt2THVPdjh6YkErQjFSczN1?=
 =?utf-8?B?eU5wa3VLS0lIWkZJTnZzeGswRkk4RDhqWHo1MXZaZjNmc21KN0tyRjZoc0lC?=
 =?utf-8?B?ZTdWSzFyODlkVGMyOXFKbGdBSFM3Qm9ZQkF6Q2VndTBGQzZRcHk4NHNEUEky?=
 =?utf-8?B?cUx3bW9uSjFzY0JMcklyUjZtdU9ZTEFYazg3Z1RnelltYXdDaWZwTHRTVzdO?=
 =?utf-8?B?dGRmM0pTZ1FFMGppZS8xZzlFaHBWZzhTRHF0V0grcnE3Q3dXOUJWcG1nOGMy?=
 =?utf-8?B?WEZ1b0JHUUM5YUdaNjNUcGZzRG8vUVNQcDZLOEYwVkFxYlBRZ2x2VmRRQSsy?=
 =?utf-8?B?ZjRpTGlJQmJHUTdRSTlqY1pUZUxBbFV4dUJRak81YXNaWk01TDQrYVc4a1cz?=
 =?utf-8?B?Ukx5YTI5cERublNKc3QxeGxNK3pVbVdMeHhmUmZVM1cxOUV3eUU3YmNUMU5y?=
 =?utf-8?B?b3ZxWVU4ZG4vY1NlVHUxTFcwTXVlZE9vRmZtRmNkbE85SDhqVHpYQ0RHWWtK?=
 =?utf-8?B?WWNGNmg0OXYwQk9BOG42aFJUMlNxK1pPRnR0ak5aWnNwbXBOQWlOUHhwYkRG?=
 =?utf-8?B?ZHhJQ3VpandPWlVzVjRZK0NQZTVuR3Z6eGgvRG9pRWx1d0tUbWtVUVZhQVR3?=
 =?utf-8?B?WlYza0ZZU3I5ekFEQllVWDFwTzNoVnFGRTFQYUVBV0NPYVVjTlhzVFdnV3BK?=
 =?utf-8?B?ZjhRNDFhd0ZpWU1pbXFERlJWdWhuTEtUT29YT1Y3UzhCbkwzWnR3RlVoSnpO?=
 =?utf-8?B?R1NVTDRUQzUyaFh4R2pPSzFiUVVwQWFtVTBZWnRXT1ZBekNyUTRrQmhxODlh?=
 =?utf-8?B?Z09oSG1IWW5mMGVKdms2K25DQTFUemxaK1hpVzY5TG5idWVmRllyVVduVVNX?=
 =?utf-8?B?SHZOWFRzbkFtUkJEWFFpZU1RSFB0aEJxZ0YyVGFyUGROQ29BbHFNZWk5NStZ?=
 =?utf-8?B?Vms2NXkwSktaRzN5NURFSUd3NGE5YzBDWktxQVZ4VUx5ZmRGbUVIbC9IdTVR?=
 =?utf-8?B?UFpYaG1La0tyUmNzWVRZRWhXUFg4QzBoeitRRU4wdmJmcW1YMFQzTTBGcXdl?=
 =?utf-8?B?QzJ0SUdiWU1EMWNZVVhhU1duVXFkdm53Um5uRjA0NXFobThMamRZRlJTNFdN?=
 =?utf-8?B?TmlReWRVZmxHamtJTzBaeEV0YngvQndyRWQ0T3hCdWR6d256YSt4VXN1QzJl?=
 =?utf-8?B?RGNSSkhNWWVXSjNzdzFVeUF1bHRqU1N0bWRna1NJMUE5NzBkQ1FFNVJlUzBp?=
 =?utf-8?B?QVdlUkU2dVltUXJFTW1qcElxbldOUlNPWitTZVdCRFFMQ2tXOEhJNENZT09m?=
 =?utf-8?Q?JjBhKy9zo3mgYkl8ipaPZAp+kVMx18dmfhRyzQj?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 5e945a25-0cc4-4a8e-f7c8-08d9622ab01e
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2021 09:29:33.4522
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: iXEgf07LJ7b+KH9McVNDNJ6f3/lYIKfbTFk07ujtLkX9lF61pD7Lxhgd+36gB7x0I5P4mkqefAxI7jJXYjEko/aptIOTfiD6d5h+8CakTSA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5047
X-OriginatorOrg: citrix.com

On 17/08/2021 16:19, Jane Malalane wrote:
> Xen may not support 32-bit PV guest for a number of reasons (lack of
> CONFIG_PV32, explicit pv=3Dno-32 command line argument, or implicitly
> due to CET being enabled) and advertises this to the toolstack via the
> absence of xen-3.0-x86_32p ABI.
>
> Currently, when trying to boot a 32-bit PV guest, the ABI check is too
> late and the build explodes in the following manner yielding an
> unhelpful error message:
>
>   xc: error: panic: xg_dom_boot.c:121: xc_dom_boot_mem_init: can't alloca=
te low memory for domain: Out of memory
>   libxl: error: libxl_dom.c:586:libxl__build_dom: xc_dom_boot_mem_init fa=
iled: Operation not supported
>   libxl: error: libxl_create.c:1573:domcreate_rebuild_done: Domain 1:cann=
ot (re-)build domain: -3
>   libxl: error: libxl_domain.c:1182:libxl__destroy_domid: Domain 1:Non-ex=
istant domain
>   libxl: error: libxl_domain.c:1136:domain_destroy_callback: Domain 1:Una=
ble to destroy guest
>   libxl: error: libxl_domain.c:1063:domain_destroy_cb: Domain 1:Destructi=
on of domain failed
>
> Move the ABI check earlier into xc_dom_parse_image() along with other
> ELF-note feature checks.  With this adjustment, it now looks like
> this:
>
>   xc: error: panic: xg_dom_boot.c:88: xc_dom_compat_check: guest type xen=
-3.0-x86_32p not supported by xen kernel, sorry: Invalid kernel
>   libxl: error: libxl_dom.c:571:libxl__build_dom: xc_dom_parse_image fail=
ed
>   domainbuilder: detail: xc_dom_release: called
>   libxl: error: libxl_create.c:1573:domcreate_rebuild_done: Domain 11:can=
not (re-)build domain: -3
>   libxl: error: libxl_domain.c:1182:libxl__destroy_domid: Domain 11:Non-e=
xistant domain
>   libxl: error: libxl_domain.c:1136:domain_destroy_callback: Domain 11:Un=
able to destroy guest
>   libxl: error: libxl_domain.c:1063:domain_destroy_cb: Domain 11:Destruct=
ion of domain failed
>
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Jane Malalane <jane.malalane@citrix.com>

FWIW, Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

The net behaviour of `xl create` is still not great (the -3 in
particular is ESRCH looking for qemu which isn't remotely relevant), but
at least with this change, you get "guest type xen-3.0-x86_32p not
supported by xen" out of libxc which is the root cause of the failure.

~Andrew



From xen-devel-bounces@lists.xenproject.org Wed Aug 18 09:53:50 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 09:53:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168157.306995 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGIGO-0008DT-Bc; Wed, 18 Aug 2021 09:53:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168157.306995; Wed, 18 Aug 2021 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 1mGIGO-0008DM-7P; Wed, 18 Aug 2021 09:53:36 +0000
Received: by outflank-mailman (input) for mailman id 168157;
 Wed, 18 Aug 2021 09:53:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mGIGN-0008DC-3L; Wed, 18 Aug 2021 09:53:35 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mGIGM-0002s5-Uj; Wed, 18 Aug 2021 09:53: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 1mGIGM-0002Hl-Ni; Wed, 18 Aug 2021 09:53:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mGIGM-0006yc-N1; Wed, 18 Aug 2021 09:53:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=R4nHtISBsFobS7FAvBD+nPph7n+essC09rfzqtcfhZs=; b=OSfsazp9Jm5lnZq1+6hzx6pQ0m
	n7y/KQNmHsVUtQZf2H9E2PNHznCCWBG+yu/Aql5eSEbLqJgn+Tv6U+SSR6p0cQ1prTGOxJbQcsU6/
	BcDwUioCLzY6+WnKgxp/HHnFSbQdCOgQ6AtkbAwpAK1IcAFtijTSpdRhS0Ag1ii7fRlA=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164239-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-coverity test] 164239: all pass - PUSHED
X-Osstest-Versions-This:
    xen=54c9736382e0d558a6acd820e44185e020131c48
X-Osstest-Versions-That:
    xen=5c34b9af05b9e5abd25d88efc4fb783136547810
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 18 Aug 2021 09:53:34 +0000

flight 164239 xen-unstable-coverity real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164239/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 xen                  54c9736382e0d558a6acd820e44185e020131c48
baseline version:
 xen                  5c34b9af05b9e5abd25d88efc4fb783136547810

Last test of basis   164193  2021-08-15 09:18:30 Z    3 days
Testing same since   164239  2021-08-18 09:19:40 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jane Malalane <jane.malalane@citrix.com>
  Kevin Stefanov <kevin.stefanov@citrix.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

jobs:
 coverity-amd64                                               pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   5c34b9af05..54c9736382  54c9736382e0d558a6acd820e44185e020131c48 -> coverity-tested/smoke


From xen-devel-bounces@lists.xenproject.org Wed Aug 18 10:12:39 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 10:12:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168163.307009 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGIYk-0002F7-0u; Wed, 18 Aug 2021 10:12:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168163.307009; Wed, 18 Aug 2021 10:12: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 1mGIYj-0002F0-SP; Wed, 18 Aug 2021 10:12:33 +0000
Received: by outflank-mailman (input) for mailman id 168163;
 Wed, 18 Aug 2021 10:12:32 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jWQ4=NJ=invisiblethingslab.com=marmarek@srs-us1.protection.inumbo.net>)
 id 1mGIYi-0002Eu-4E
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 10:12:32 +0000
Received: from wout5-smtp.messagingengine.com (unknown [64.147.123.21])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id cc113c14-000c-11ec-a543-12813bfff9fa;
 Wed, 18 Aug 2021 10:12:30 +0000 (UTC)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.west.internal (Postfix) with ESMTP id A038032008FE;
 Wed, 18 Aug 2021 06:12:29 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute3.internal (MEProxy); Wed, 18 Aug 2021 06:12:29 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 18 Aug 2021 06:12: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: cc113c14-000c-11ec-a543-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=sCajfi
	d2OmcBm3OIACz3F+0P88NFlDLda2u1HLFijaI=; b=qhV3dkPV8nGDSmTnSP1c/9
	T/SqUHOwlpBJBdNN+bVi5TvSwxjsbjEUA2hxBZ+WmVUYBnqDogu6WSgOxmrU0P3s
	V+6kx0UVwR/hoVzy4/Fr99Y6Z1lR2UbJmypO93E05gIJ0H54jj+zHmg6EwVhcpvS
	JnfMBLatYBpx6T2nO3XyURIygsdWTlbkepI1lHJmCjD6Zftwo/uLxe39/LciOiYS
	n57TgWXAFgGpGIY+NdUXx9t3ICWlHXBXNWIpJQsc30y7WKWOZy3CkVYF+6nUJsIC
	EFWgrQVb1cVIWGoWxm+97o0zx3E+StmBMn8dlSqo6srvDgPj6yOW+cMFlricubuQ
	==
X-ME-Sender: <xms:DN0cYTHzj7dqyTt-3rL8XVFv-jYSQDsvJn-d8ld0j_jrQsEBgUWk0g>
    <xme:DN0cYQWu6nP1fF3pnypd_TfoQxhg_mBJRbafny0vMag1vIY7gZvGUiV3bIqssFT6G
    rjRgqkifOHxeQ>
X-ME-Received: <xmr:DN0cYVLuQO2_WOH0UgjI-V2UftU1QojJS9bZfp_GR3diruH5Biwd-UhaykhbBALm4YfYf6wUoJ8H5RZ586q-I-ebv3pEBYxM>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrleehgddvhecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgvkhcu
    ofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinhhvih
    hsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepheevvdeu
    veehkeehhfevgffggfevudegteeugfeliedvhefgueeiuefgteetieffnecuffhomhgrih
    hnpehkvghrnhgvlhdrohhrghenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhep
    mhgrihhlfhhrohhmpehmrghrmhgrrhgvkhesihhnvhhishhisghlvghthhhinhhgshhlrg
    gsrdgtohhm
X-ME-Proxy: <xmx:DN0cYRGRPm-s7LYViLqUL1F5aPu3Axg9k5vntB7oVYCLr8Oi0xVgMQ>
    <xmx:DN0cYZXO6En1ITfmxue_D-Km_2RKR7NHEXkmm4xfov3_dO6nPqYmmg>
    <xmx:DN0cYcNv_MlvmnREBqaV9BFVblFn6exHEuOVFdXXX5aN9gbDmZA7JA>
    <xmx:Dd0cYYdN9tQI93UpsnSX6dkfoE-qvgCXvQoGjNnSvm-arJLX4RgNpQ>
Date: Wed, 18 Aug 2021 12:12:25 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Juergen Gross <jgross@suse.com>
Cc: Jan Beulich <jbeulich@suse.com>,
	xen-devel <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: S3 resume issue in cpufreq ->
 get_cpu_idle_time->vcpu_runstate_get
Message-ID: <YRzdCeS28NPlkFL+@mail-itl>
References: <YRvMy9NgGxYKRcNc@mail-itl>
 <42948041-59a5-e243-ed39-6e2afe3fd1cd@suse.com>
 <d700e9f6-8c64-52b6-6881-5816c2895200@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="axqHX3htufpSzeW/"
Content-Disposition: inline
In-Reply-To: <d700e9f6-8c64-52b6-6881-5816c2895200@suse.com>


--axqHX3htufpSzeW/
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Wed, 18 Aug 2021 12:12:25 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Juergen Gross <jgross@suse.com>
Cc: Jan Beulich <jbeulich@suse.com>,
	xen-devel <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: S3 resume issue in cpufreq ->
 get_cpu_idle_time->vcpu_runstate_get

On Wed, Aug 18, 2021 at 08:24:39AM +0200, Juergen Gross wrote:
> Marek,
>=20
> On 17.08.21 17:15, Juergen Gross wrote:
> > On 17.08.21 16:50, Marek Marczykowski-G=C3=B3recki wrote:
> > I'll be looking into that.
>=20
> Could you please try the attached patch?

It works, thanks!

So, the only other suspend-related issue I'm aware of, is:
https://lore.kernel.org/xen-devel/20210131021526.GB6354@mail-itl/

But I don't have reliable reproducer for that one...


> From e38d0816a33fbaa3c0c45bcd6e9d433b1e021222 Mon Sep 17 00:00:00 2001
> From: Juergen Gross <jgross@suse.com>
> To: xen-devel@lists.xenproject.org
> Cc: George Dunlap <george.dunlap@citrix.com>
> Cc: Dario Faggioli <dfaggioli@suse.com>
> Date: Wed, 18 Aug 2021 08:18:20 +0200
> Subject: [PATCH] xen/sched: fix get_cpu_idle_time() for smt=3D0 suspend/r=
esume
> MIME-Version: 1.0
> Content-Type: text/plain; charset=3DUTF-8
> Content-Transfer-Encoding: 8bit
>=20
> With smt=3D0 during a suspend/resume cycle of the machine the threads
> which have been parked before will briefly come up again. This can
> result in problems e.g. with cpufreq driver being active as this will
> call into get_cpu_idle_time() for a cpu without initialized scheduler
> data.
>=20
> Fix that by letting get_cpu_idle_time() deal with this case.
>=20
> Fixes: 132cbe8f35632fb2 ("sched: fix get_cpu_idle_time() with core schedu=
ling")
> Reported-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab=
=2Ecom>
> Signed-off-by: Juergen Gross <jgross@suse.com>

Tested-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com>

> ---
> An alternative way to fix the issue would be to keep the sched_resource
> of offline cpus allocated like we already do with idle vcpus and units.
> This fix would be more intrusive, but it would avoid similar other bugs
> like this one.
> ---
>  xen/common/sched/core.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>=20
> diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
> index 6d34764d38..9ac1b01ca8 100644
> --- a/xen/common/sched/core.c
> +++ b/xen/common/sched/core.c
> @@ -337,7 +337,7 @@ uint64_t get_cpu_idle_time(unsigned int cpu)
>      struct vcpu_runstate_info state =3D { 0 };
>      const struct vcpu *v =3D idle_vcpu[cpu];
> =20
> -    if ( cpu_online(cpu) && v )
> +    if ( cpu_online(cpu) && v && get_sched_res(cpu) )
>          vcpu_runstate_get(v, &state);
> =20
>      return state.time[RUNSTATE_running];
> --=20
> 2.26.2
>=20






--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--axqHX3htufpSzeW/
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmEc3QkACgkQ24/THMrX
1yyX+gf/SxaLEAhmNLmKuWOzKe52OE7cK0qIk+dNRfuokpkliCkN2fOMTxN9UwWQ
bn6vdtT8FufG0RclzKUJ/DHqdA51XAN61B/84Wr6dOb5j6sNa8KKhqeGqmfQySU2
m4/e2F09OpVLY4rXrxNJBnyTsd8vsXgjtgLym1R7jVkFYKYsgrhPOMDyU9N6vh91
+RcsMCKmtjN1TxFmxyyCqqhW3I8mf/2ybKRaKsKYDHKXMAY7d8IMikGd2dZVQT5F
FHGf07r3inGsxBYo2e8ei2F21uxvbRCHeLm2Jl69WtXnDrie12vrfhskuIJb2Ve3
IrjOFr/bro0qgyJgHMuq3zsbWucZUA==
=tem9
-----END PGP SIGNATURE-----

--axqHX3htufpSzeW/--


From xen-devel-bounces@lists.xenproject.org Wed Aug 18 10:22:12 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 10:22:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168167.307020 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGIi1-0003lt-2i; Wed, 18 Aug 2021 10:22:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168167.307020; Wed, 18 Aug 2021 10: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 1mGIi0-0003lm-VW; Wed, 18 Aug 2021 10:22:08 +0000
Received: by outflank-mailman (input) for mailman id 168167;
 Wed, 18 Aug 2021 10:22:06 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jUNG=NJ=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mGIhy-0003kv-St
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 10:22:06 +0000
Received: from smtp-out1.suse.de (unknown [195.135.220.28])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id e79ae6b2-c2eb-41aa-a790-add22f77bac3;
 Wed, 18 Aug 2021 10:21:45 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 179A221FC9;
 Wed, 18 Aug 2021 10:21:45 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id DBE351371C;
 Wed, 18 Aug 2021 10:21:44 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id 56UyNDjfHGHPKAAAGKfGzw
 (envelope-from <jgross@suse.com>); Wed, 18 Aug 2021 10:21:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e79ae6b2-c2eb-41aa-a790-add22f77bac3
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1629282105; 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=j6goPlF6m/fnnA5czBTWQ1HEjkS7BVzvBVwxwvndH7A=;
	b=qwc/k597Z+4iwQkdL3jbBGhl3jMRqXJtrw16jPJ61zF/2Dk/4FVjZ2/313NoqcpHyk3VkO
	AFGGXvHfMLapIiu2DYnQDiiyNqMoxb7hoWz+Y2fD3TJTDVRgikY9pD/I1m/IJFF//tIn/o
	JibjYw6z2C2WSQd4xoDKtLAK1r9UwD4=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Dario Faggioli <dfaggioli@suse.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH] xen/sched: fix get_cpu_idle_time() for smt=0 suspend/resume
Date: Wed, 18 Aug 2021 12:21:36 +0200
Message-Id: <20210818102136.23797-1-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

With smt=0 during a suspend/resume cycle of the machine the threads
which have been parked before will briefly come up again. This can
result in problems e.g. with cpufreq driver being active as this will
call into get_cpu_idle_time() for a cpu without initialized scheduler
data.

Fix that by letting get_cpu_idle_time() deal with this case.

Fixes: 132cbe8f35632fb2 ("sched: fix get_cpu_idle_time() with core scheduling")
Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
Tested-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
An alternative way to fix the issue would be to keep the sched_resource
of offline cpus allocated like we already do with idle vcpus and units.
This fix would be more intrusive, but it would avoid similar other bugs
like this one.
---
 xen/common/sched/core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index 6d34764d38..9ac1b01ca8 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -337,7 +337,7 @@ uint64_t get_cpu_idle_time(unsigned int cpu)
     struct vcpu_runstate_info state = { 0 };
     const struct vcpu *v = idle_vcpu[cpu];
 
-    if ( cpu_online(cpu) && v )
+    if ( cpu_online(cpu) && v && get_sched_res(cpu) )
         vcpu_runstate_get(v, &state);
 
     return state.time[RUNSTATE_running];
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 18 10:35:52 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 10:35:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168172.307030 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGIv6-0005JJ-An; Wed, 18 Aug 2021 10:35:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168172.307030; Wed, 18 Aug 2021 10:35:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGIv6-0005JC-7j; Wed, 18 Aug 2021 10:35:40 +0000
Received: by outflank-mailman (input) for mailman id 168172;
 Wed, 18 Aug 2021 10:35:38 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=m5uW=NJ=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mGIv4-0005J6-RT
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 10:35:38 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c088cd3f-ce96-4270-8112-cd724bd542ec;
 Wed, 18 Aug 2021 10:35:37 +0000 (UTC)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2052.outbound.protection.outlook.com [104.47.13.52]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-17-UNp6uTCoNbmVjmkZ2aAcSQ-1; Wed, 18 Aug 2021 12:35:35 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB2959.eurprd04.prod.outlook.com (2603:10a6:802:8::25) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.21; Wed, 18 Aug
 2021 10:35:34 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Wed, 18 Aug 2021
 10:35:33 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0077.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:18::17) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.18 via Frontend Transport; Wed, 18 Aug 2021 10:35: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: c088cd3f-ce96-4270-8112-cd724bd542ec
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629282936;
	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=yf/vm/tb6CBMdWKfNwejwowgCNPuJTX/q/6yXLCsoGM=;
	b=f++nALNCStznkXPYLJJl4CltK2rpvBJT/K/cHxiDadXNvpq971iT0JjxFPhS4iJTUvkTdA
	y9gMuWqwyzeZ16JzK2ZYySX15QZs0TPEYpeKYFlXo/90831T0DKM69aHOzWpi+aRMO97/9
	GIGW//+Z52E6//iybQu7t31fusz0FuI=
X-MC-Unique: UNp6uTCoNbmVjmkZ2aAcSQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SsJ+/hBZoyJ01V8+ux2Zh30uSuNo5/pdMdfjOJ/EKyriDCCdRwYl8VH1LlOYX2qy+95swFT0hmxwVSNMSeMCRwGILDQKVcHB4YwVZcxwnNoxrrNCEpm/Vn1Pgxi1bzXkp5F5lyKiYfCd49CN3RO8qZepz+v3v2svwEKP7tmWDjnaOJgDVJp5Z8qXlvGOMPHBoVRdnh7P5L5x5FvKevM5Dt6HN6/ji9B2Pb+liaW7RF10RQ3urSFpv11mEscbxRRxnqAQgh7RpNz8gfHyVENWZrnXSIMjP2fQA+e2sY/4R5YOcWtvBy/sU3wBOIziCYqvE1H93Afn/61340lZu1nu6A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kVWzZxAB7LAzqC0qgn38zHai6yuvntAGHwddmsGZdjY=;
 b=dBEqviUqIE2WAOO1iYxpyQEnennJz+V8Rvqyjxg/Xh3fqBKU+wceV39itq0SoGNiRdTn2d2XNbc4gD2jWtPUwFzPBfSFl8ERim/jv4KTTz+gdSvNO4unh9U9MvuXm5FcKuMf7OtvDVkX0rtRrcx7x06X0ZE/w0zOkyXB/jY2F0ffxHfwqpewfr3tK7Ux6pBffHvlYgphFLwmonbmFP91ZYDQ5RTe01MHFStaCttZOzinaZp2cZ/nxCKZZn63HD/9iYlYJQ9Ol1SIci09WvS7p8sn4ZIpuC68Iew9I7nPI4qEu+IzZ8IiDFtd9N18R/yq9fiCfv+LkqTzTim2kb4p+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
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH] xen/sched: fix get_cpu_idle_time() for smt=0
 suspend/resume
To: Juergen Gross <jgross@suse.com>
CC: George Dunlap <george.dunlap@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <20210818102136.23797-1-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <b7cffe58-3ef7-9fc8-a9dc-1c8898104418@suse.com>
Date: Wed, 18 Aug 2021 12:35:31 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210818102136.23797-1-jgross@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: PR0P264CA0077.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:18::17) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 79356061-363f-4a95-e949-08d96233e8a4
X-MS-TrafficTypeDiagnostic: VI1PR04MB2959:
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB295983EE19756E3B69428758B3FF9@VI1PR04MB2959.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	OXbrn+0ueDoYOsDslATJJHtUKzvsT9e2ukNn2H7jHAvUqj4a8lyvATbDTDoYmS6yWxlaLGvMr9dt5XYR5lMH82cStkl6RUZ1DNkVN6AWnjZBSkdUiM6PLzesezxSai1VW6qqZ7YESWXuiNE0YuXRC8EnDNsbPAW8otOzW4KvlJdj82cvb3VbW9QmexmgxEO/TUT1DFnkPMY1dDDdEiv516TgkqZ+AzlbDApqWoOFGusR6539446wwQUsGdj0n0FyCEgn81O5QMyvn652XT3ZpEsfaZhlgp2DW1QnkCJWNP6LXNlBosMB1jWVgnHU9prGxjqDd6Jyg7eq3Uxe1Px1eioyFCtyUScmvRuJamn2VojStwzuGeUMAGVdqt4LmCpSaM/qb6L8nsz1fYpofIOG4L5S1O6GGsaD9NZJZNx3l8H/nTB88tdz66sY9ZWD4PGuIoz1p6RruXNXLK0L4/ZKe8aWRAAjAHQHuAc+mf0r6HvEv42hT12G98nz061yck/VRhcMRQissEQAebCjTA+PCiNasCqHIa9BxV7ZDXvoA0lEx0BL2TdSNexI57YM/mksuhRY2BafGoYbRR/jOZ3+sxulsWfZOFvUBkkGo/BxVsUusa8Q+WNYORHvmILXHvBwaapTjg+NopvRqC4DkcXKLIfOx2zjSLnRQGMJsVHIZniCI7KPIYE06nCH+0SDQ/2cyK6blRTdiH8FzIb93V7Snz/az3kRViiFSjScczJLaXw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(6862004)(5660300002)(508600001)(66556008)(36756003)(26005)(66946007)(66476007)(37006003)(83380400001)(186003)(54906003)(4326008)(316002)(16576012)(8676002)(15650500001)(2906002)(31696002)(86362001)(2616005)(956004)(6486002)(38100700002)(31686004)(53546011)(66574015)(6636002)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?C80MOCRGlJ4lwaJ6hee+7nzs7oh+JP8SSyopOelaR/8ZxMvrD4L+RqYlYL7F?=
 =?us-ascii?Q?davWMCgTavkv0u26mEVdzKbXIWrad0lvekfE3tPkI3e9QYNEhStdOPlba5Kx?=
 =?us-ascii?Q?zqulpb2Cjlc4BmhWHMWi75cM35GTLgtLXskzYDBn2nPK8ikrrn2FIdPue6im?=
 =?us-ascii?Q?czJ5zyiTTlRJi7aXh8N+Gx032nsBhrlReD4WZ6ugUrhdRwxD1OIFkUD3M+vz?=
 =?us-ascii?Q?TdbEOqz36g5O/XKy6AQdeZqVQC5NZ19U0ZgQM0qzcAnskIBptpsdbBTK2x5B?=
 =?us-ascii?Q?b1fwthkEq4vG5kwwWB+yCRI8n/Go0hBR08voFAWwO3EGpAhzSVqOYJwj9DP9?=
 =?us-ascii?Q?nP7UqpzNg6Y5Ibnj5/CYUZvYvYBWmvHPeLGgfK1e3U87cTVdkVHGyXhILVA7?=
 =?us-ascii?Q?OXgo5wN+5C78QhgXVectYU2UGiOfY57VV7IKxJa62pK+IxCZYIv5nTEnPHJI?=
 =?us-ascii?Q?nIPadWQGvBys8rhN+o9luRCr6HiEQUH/WABG6XXba7NrNWFmIdRWdDs8kY2e?=
 =?us-ascii?Q?UV70wsW1vj7gxeLHUITtYFZDPOefld/U8ZFe5f5C7Zo9tloga4uQAWpbIHRt?=
 =?us-ascii?Q?O+/EEMZbxnRvxViYw+GYsstkgoTTIKlYKw5zZ5gJku4y9CM9UuQbZmV/xFzA?=
 =?us-ascii?Q?vVaXzy1ewlUdmSsrsL03tZStTr2JeUuAD6/G+0URK3flLl0IaJfKxxWYMzNn?=
 =?us-ascii?Q?9hHRivlqwQcv2M/uYpXkzuMTLsKj3qu0Hyh7crJJ+NHw7etOn4WM22ORcfuo?=
 =?us-ascii?Q?U5GpkJRHBxypagOZqCIBv7X+BLP9MAFQg96veKcC8dPz9onzXRdXLcFFDAew?=
 =?us-ascii?Q?CORj3Xv9zQUjjQvjSItD/w46aSmt1pyWw6xM++ZIemrcav+vx815OQuDV5Iy?=
 =?us-ascii?Q?Hn9eiH9ry3OfpZMeHNMyGb5ec5Qo3VQ+2EKyT8fe0isvEyF401pzhBVSXi83?=
 =?us-ascii?Q?k9PlchN5mhz3/Dn4V92LtHXaJEYg+n/HO3kq7GqGDPoguxBjKVjh4WlhgF+z?=
 =?us-ascii?Q?nM6fZuICGoMPSUtlhJCw/AivGCFmbe2QIjla/3ORnXgZMHySzYqPRB1pAtuj?=
 =?us-ascii?Q?cJLQU4u4s+yuIh+Ir0U0/RFRuNiwEbEAoJUPheoZRTW5sdkVE+h6Cq3vr8vQ?=
 =?us-ascii?Q?IPt5U9ia8LM5Uw8QmXVO5HVAIpvzowVedO7fmCL02fHyyNui+KaU4wyJGtD0?=
 =?us-ascii?Q?5gbnfWx3UfuN1YTHCPdaMeSi2oO+3L0sED+MLCC5dIHAVsyFycLBrfB8csNK?=
 =?us-ascii?Q?xo/j5+dXaaFIZNYwY4Jbvb6oZpGLBqgI6qBtAC4rqu8TD0FJDKUpxoEvyXMF?=
 =?us-ascii?Q?w/q+HcAxQS6MslpbNvh31fMe?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 79356061-363f-4a95-e949-08d96233e8a4
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2021 10:35:33.7500
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: BN3+2fc5P1GJexQCqPZmWPK3Dtf4e+odqQFXfj7LCGMipTieTFJubggzOZ3ppjf7+TrAK5vdF8TQiL2EDrLVkA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB2959

On 18.08.2021 12:21, Juergen Gross wrote:
> With smt=3D0 during a suspend/resume cycle of the machine the threads
> which have been parked before will briefly come up again. This can
> result in problems e.g. with cpufreq driver being active as this will
> call into get_cpu_idle_time() for a cpu without initialized scheduler
> data.
>=20
> Fix that by letting get_cpu_idle_time() deal with this case.
>=20
> Fixes: 132cbe8f35632fb2 ("sched: fix get_cpu_idle_time() with core schedu=
ling")
> Reported-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab=
.com>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> Tested-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.c=
om>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

> --- a/xen/common/sched/core.c
> +++ b/xen/common/sched/core.c
> @@ -337,7 +337,7 @@ uint64_t get_cpu_idle_time(unsigned int cpu)
>      struct vcpu_runstate_info state =3D { 0 };
>      const struct vcpu *v =3D idle_vcpu[cpu];
> =20
> -    if ( cpu_online(cpu) && v )
> +    if ( cpu_online(cpu) && v && get_sched_res(cpu) )
>          vcpu_runstate_get(v, &state);

My earlier question was aiming at getting rid of the (now) middle part
of the condition; I thought this may be okay to do as a secondary change
here. But perhaps you intentionally left it there, so I'm unsure whether
to suggest to make the adjustment while committing (awaiting a
maintainer ack first anyway).

Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 18 10:49:57 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 10:49:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168178.307042 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGJ8q-0006r9-IT; Wed, 18 Aug 2021 10:49:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168178.307042; Wed, 18 Aug 2021 10: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 1mGJ8q-0006r2-FK; Wed, 18 Aug 2021 10:49:52 +0000
Received: by outflank-mailman (input) for mailman id 168178;
 Wed, 18 Aug 2021 10:49:51 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jUNG=NJ=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mGJ8p-0006qw-JS
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 10:49:51 +0000
Received: from smtp-out1.suse.de (unknown [195.135.220.28])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 98285684-d738-4b10-b071-73e9f98b005c;
 Wed, 18 Aug 2021 10:49:50 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 C582E2204C;
 Wed, 18 Aug 2021 10:49:49 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 932C71371C;
 Wed, 18 Aug 2021 10:49:49 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id nbZEIs3lHGG/LwAAGKfGzw
 (envelope-from <jgross@suse.com>); Wed, 18 Aug 2021 10:49: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: 98285684-d738-4b10-b071-73e9f98b005c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1629283789; 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=NI6Si8vIHuLLAa8EsFZWJYnKwgdkQ0KIbmeMADYMw4w=;
	b=iCiL7s09pZ5D3SM2Vn+L3f/OQZyyuIVme45oYFzm8YxwEHwymHd2EDPGL3jhL9uyPZZ7Rg
	CYomOJy5Khc2NGa7KeYZ95nLPdtlL9C30CFuOkmEN5p7MpF2TuUf5o2NbcQhEUDMTrqJLc
	hcyvyrQsGrvVssegBWHOrtxKlNRiBF0=
Subject: Re: [PATCH] xen/sched: fix get_cpu_idle_time() for smt=0
 suspend/resume
To: Jan Beulich <jbeulich@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <20210818102136.23797-1-jgross@suse.com>
 <b7cffe58-3ef7-9fc8-a9dc-1c8898104418@suse.com>
From: Juergen Gross <jgross@suse.com>
Message-ID: <97bc7ba9-2269-17b6-46a0-8f6a891bb7a8@suse.com>
Date: Wed, 18 Aug 2021 12:49:48 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <b7cffe58-3ef7-9fc8-a9dc-1c8898104418@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="ae6mRIJxPWb7bP56r0JX3OefnI4w2XgHV"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--ae6mRIJxPWb7bP56r0JX3OefnI4w2XgHV
Content-Type: multipart/mixed; boundary="Wofk2lwiFUAhGlfMArpPF7RsS6RtqjKzF";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
Message-ID: <97bc7ba9-2269-17b6-46a0-8f6a891bb7a8@suse.com>
Subject: Re: [PATCH] xen/sched: fix get_cpu_idle_time() for smt=0
 suspend/resume
References: <20210818102136.23797-1-jgross@suse.com>
 <b7cffe58-3ef7-9fc8-a9dc-1c8898104418@suse.com>
In-Reply-To: <b7cffe58-3ef7-9fc8-a9dc-1c8898104418@suse.com>

--Wofk2lwiFUAhGlfMArpPF7RsS6RtqjKzF
Content-Type: multipart/mixed;
 boundary="------------C78D5E61EDFFA9E95B9E2C46"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------C78D5E61EDFFA9E95B9E2C46
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 18.08.21 12:35, Jan Beulich wrote:
> On 18.08.2021 12:21, Juergen Gross wrote:
>> With smt=3D0 during a suspend/resume cycle of the machine the threads
>> which have been parked before will briefly come up again. This can
>> result in problems e.g. with cpufreq driver being active as this will
>> call into get_cpu_idle_time() for a cpu without initialized scheduler
>> data.
>>
>> Fix that by letting get_cpu_idle_time() deal with this case.
>>
>> Fixes: 132cbe8f35632fb2 ("sched: fix get_cpu_idle_time() with core sch=
eduling")
>> Reported-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethings=
lab.com>
>> Signed-off-by: Juergen Gross <jgross@suse.com>
>> Tested-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingsla=
b.com>
>=20
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>=20
>> --- a/xen/common/sched/core.c
>> +++ b/xen/common/sched/core.c
>> @@ -337,7 +337,7 @@ uint64_t get_cpu_idle_time(unsigned int cpu)
>>       struct vcpu_runstate_info state =3D { 0 };
>>       const struct vcpu *v =3D idle_vcpu[cpu];
>>  =20
>> -    if ( cpu_online(cpu) && v )
>> +    if ( cpu_online(cpu) && v && get_sched_res(cpu) )
>>           vcpu_runstate_get(v, &state);
>=20
> My earlier question was aiming at getting rid of the (now) middle part
> of the condition; I thought this may be okay to do as a secondary chang=
e
> here. But perhaps you intentionally left it there, so I'm unsure whethe=
r
> to suggest to make the adjustment while committing (awaiting a
> maintainer ack first anyway).

Ah, okay. Yes, I think the test of v being non-NULL can be removed.


Juergen

--------------C78D5E61EDFFA9E95B9E2C46
Content-Type: application/pgp-keys;
 name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Transfer-Encoding: quoted-printable
Content-Description: OpenPGP public key
Content-Disposition: attachment;
 filename="OpenPGP_0xB0DE9DD628BF132F.asc"

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOBy=
cWx
w3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJvedYm8O=
f8Z
d621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y=
9bf
IhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xq=
G7/
377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR=
3Jv
c3MgPGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsEFgIDA=
QIe
AQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4FUGNQH2lvWAUy+dnyT=
hpw
dtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3TyevpB0CA3dbBQp0OW0fgCetToGIQrg0=
MbD
1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbv=
oPH
Z8SlM4KWm8rG+lIkGurqqu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v=
5QL
+qHI3EIPtyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVyZ=
2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJCAcDAgEGFQgCC=
QoL
BBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4RF7HoZhPVPogNVbC4YA6lW7Dr=
Wf0
teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz78X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC=
/nu
AFVGy+67q2DH8As3KPu0344TBDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0Lh=
ITT
d9jLzdDad1pQSToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLm=
XBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkMnQfvUewRz=
80h
SnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMBAgAjBQJTjHDXAhsDBwsJC=
AcD
AgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJn=
FOX
gMLdBQgBlVPO3/D9R8LtF9DBAFPNhlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1=
jnD
kfJZr6jrbjgyoZHiw/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0=
N51
N5JfVRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwPOoE+l=
otu
fe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK/1xMI3/+8jbO0tsn1=
tqS
EUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuZGU+wsB5BBMBAgAjBQJTjHDrA=
hsD
BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3=
g3O
ZUEBmDHVVbqMtzwlmNC4k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5=
dM7
wRqzgJpJwK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu5=
D+j
LRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzBTNh30FVKK1Evm=
V2x
AKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37IoN1EblHI//x/e2AaIHpzK5h88N=
Eaw
QsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpW=
nHI
s98ndPUDpnoxWQugJ6MpMncr0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZR=
wgn
BC5mVM6JjQ5xDk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNV=
bVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mmwe0icXKLk=
pEd
IXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0Iv3OOImwTEe4co3c1mwARA=
QAB
wsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMvQ/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEw=
Tbe
8YFsw2V/Buv6Z4Mysln3nQK5ZadD534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1=
vJz
Q1fOU8lYFpZXTXIHb+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8=
VGi
wXvTyJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqcsuylW=
svi
uGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5BjR/i1DG86lem3iBDX=
zXs
ZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------C78D5E61EDFFA9E95B9E2C46--

--Wofk2lwiFUAhGlfMArpPF7RsS6RtqjKzF--

--ae6mRIJxPWb7bP56r0JX3OefnI4w2XgHV
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmEc5c0FAwAAAAAACgkQsN6d1ii/Ey/q
WAf/d3Tw5oCS0XEYxVl6E3AnWmfDnvPYAPioNk5zqb+ezQ+vJnYooVbTFUhZofre6g4e3lRf+jEl
HPLejJAja4pTfKlAJjCzvHlVjyevKl8pEhmmmRpMahDjGX9cPeT6QKn/McIeVbfsBC9ppa9jLnwt
ZBq1HgblgginJWnFP0TwM4tAJbrvrtsu9U3qCJCd+3WOs/ZkI+enVB0gk31OKp7k/RaKcIL3Z6uK
tnpgai9IckrYe8hoynFw7up3apLKk4WxVJFu+iQnh3twhuLMPpc3T1Y0CIsG2+OlW2WH8I7oJ2CM
7TR4kgEwphnkysa9yRq1uY3j2VZDUA0murg+HDRqbA==
=GWUl
-----END PGP SIGNATURE-----

--ae6mRIJxPWb7bP56r0JX3OefnI4w2XgHV--


From xen-devel-bounces@lists.xenproject.org Wed Aug 18 10:51:50 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 10:51:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168184.307053 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGJAi-0008Dq-Vj; Wed, 18 Aug 2021 10:51:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168184.307053; Wed, 18 Aug 2021 10:51:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGJAi-0008Dj-S9; Wed, 18 Aug 2021 10:51:48 +0000
Received: by outflank-mailman (input) for mailman id 168184;
 Wed, 18 Aug 2021 10:51:47 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=m5uW=NJ=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mGJAh-0008Dd-7u
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 10:51:47 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id b80f38be-d14a-44aa-a325-3e8b4e2be7bc;
 Wed, 18 Aug 2021 10:51:46 +0000 (UTC)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2057.outbound.protection.outlook.com [104.47.12.57]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-39-QZk46N3wNw2kVjDHDxYBIQ-1; Wed, 18 Aug 2021 12:51:44 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0401MB2606.eurprd04.prod.outlook.com (2603:10a6:800:51::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Wed, 18 Aug
 2021 10:51:41 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Wed, 18 Aug 2021
 10:51:41 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P191CA0057.EURP191.PROD.OUTLOOK.COM (2603:10a6:102:55::32) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.22 via Frontend Transport; Wed, 18 Aug 2021 10:51: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: b80f38be-d14a-44aa-a325-3e8b4e2be7bc
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629283905;
	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=O6hzL3DNfA3lW70WyigyFIOgcuReGlZ8hd47kftdOY8=;
	b=g4gl7JwiB34jFcXWnzmOlqBpHue4rTMfG88dAb8UJXvKYmUlypkdWOljB+Vu2YjintnqHn
	UR+aUI609XNpvIviJQ8Dl33rzgXitDb+f9oJhi4GTSVfTIHq+ja18ao4MFbdKBSUY4J4OC
	R/do7eiRQNzTaMGwsir3YEbzEGI3BFA=
X-MC-Unique: QZk46N3wNw2kVjDHDxYBIQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IFBJgUV539R/3z+vCpKlSmUJHj/BcSBojn33mHHdxEi1C4bL59oFIYOHDaeJhTJwY16TtGnFJu1xudaO3yrC9u4ng/TuOpzqnIOcvIj4E91HPReTVPwlaODFHwthW7+kMftwOd7hHmsDZ4/avwKBTf5wgqG4EYOXNRM5Go5i6QyWGY4n9ZQnJr/OpwJCikCAMuUkpdbbQtkAd0PZuG2m4AV6xjkoN10k/6tjE56VeFubsolWtT8pBKNpBoMRXI3uwCc2MPd8yr21LCheXtNeSVpgw8SQUq1lQkRXFXB73yca1JoNyGf/RG3D7LxF3icWX7FWs++iGxL62ufO8CZr5w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=O6hzL3DNfA3lW70WyigyFIOgcuReGlZ8hd47kftdOY8=;
 b=RaOYCCmUPFsVXYnuJre9pGuqS3NCbQVdCFDT6rRBzUMYmn0XS2TtSsWHTBF3utlLT3s/p2BXz3fGGlWRVzqsmph2D+QEC7Ij4ntV1crXkTVzAN0rW9E+m8BmKyQKXBSvRuC17jkjU3NSAgNI172zqQyp8syzqBgVlaOX9TtCbRAm4d0uaglW3+va0h6VOihVYkQEhIiIpIZRLvNvPAx2JE7SEV3d+DkjaUbhJyWH5wmcpPado9qltG3uEoZhXghPK/dt5yQ3GKSdfTdkkp1M2enWm3xrtzGleaO9g3hXR1HW1rfmmtNynXh9SAkQXB3W9AUkU0ALoWU7AG0gUw/7DA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
To: Paul Durrant <paul@xen.org>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
From: Jan Beulich <jbeulich@suse.com>
Subject: meaning and use of IOMMU_FLUSHF_added
Message-ID: <d6a6e5a3-5ea2-638e-1eb5-2fee73d82188@suse.com>
Date: Wed, 18 Aug 2021 12:51:39 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P191CA0057.EURP191.PROD.OUTLOOK.COM
 (2603:10a6:102:55::32) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 7f618208-3097-48ad-7604-08d9623629b3
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2606:
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB2606EBDEDFF48F7BA1A4D482B3FF9@VI1PR0401MB2606.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mglc2CCr5ROLWDR7MwteOWLqBxc22TZwfGIXd44xqMAE6Eig7CvKee3ZjUrr7z69o/1LA+BLw6LRA/b/0+FFJ5G/Fca6Vm/QdzZUW4PWZ4L7y2WJWV6IKanFlE4GSSE4gu3czzZuQi5HT9MCSDBuX5ZOc0Onvt2AviMEySfmcA4OPfO2MHs781JthQqLeoF50foQU6ZmZ7HwRoN6xCyqMUQqMZY1UHEcNFa+78RVMLvO/beMuwH1PdvtG7iVVyoX4tMVTp5xaOk3B+riisoWL0kCunL1C4VFZkbRqen+yigP4ayf3ENbG9tqSDqV0z3cRUNRRrxeylUE614OsEcvprm+RLSsdm0hdMl1eIXp+/NXLy/09j4de4Oj/589K9PDr0dCl1MmFSLnw4qWc4xz+1B2QK5gUH2aRtX8hJnq+MCpgwQRsHE1L2m9W1BYDTwRdcJPCp1hS4ANJVuAvQlQINugr1kAF8HPTqddLKsVO7TTJZDQq0ew/uEsVzGScwYi6XJSwpRIuaZ/OVoc/v0kx59s9fYiOJ9Alx3/YSwuECsHV7Gr5n+bEyIK7j09h7GphUrVJDvJM/aS09uyrr8a7D0k6u8p0/pzfsnHCKHPMrXmYSltNoeKUOOu4THfDdJVRX4Upq0eAIj17dOy7x4+8t7NVAygZPK656RgaRDof+a4m7pfoVCXraboQZzo7cBdMIx+kXsBuXDZmOsn8GChDfk2/WtErpAeOFNPdW4mtn8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(136003)(376002)(396003)(39860400002)(346002)(2906002)(31686004)(478600001)(8676002)(66556008)(66476007)(66946007)(8936002)(16576012)(83380400001)(5660300002)(86362001)(316002)(6916009)(38100700002)(36756003)(6486002)(2616005)(4326008)(26005)(186003)(31696002)(956004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VjEyK3dMOGRFQ2ppSVV6MEhYNXd0eVo2Y2F2bVhqUlRNYnZ6UTlrYmVvWVBH?=
 =?utf-8?B?YUFQaVQ0WEoxaWVaNEJUOEljNzB0K3VOSktYWFJ5UkhuZnlVM1FtM3JDMXU3?=
 =?utf-8?B?WEdURWdUbFFEa3RPa2ExdmRtcWoyclBvR2pnWm5wTndtaml2a2xlMGVyeFhC?=
 =?utf-8?B?aUxxTW5HemN1aXdjR2RINW00N0R4L3dWY1Z5aHFFVHdac21oMzFTKzgyNEdt?=
 =?utf-8?B?OS84cmxub3U2cHgxTkEwWFZkYlpzdXQ5aFNQdHFRTkdFTjYxRUpVNCtIZjRL?=
 =?utf-8?B?VndWd1Z6bWhUTFh1OTA1V2RKZVJrY2NIZkQ2czdzT0RxQXlhdUc2TEc1NWg1?=
 =?utf-8?B?WndFcjgrblJEbC9uaW5vVUVIL1ROVUxwQ090em1oWGZNZTgva3BzTlN2RWkr?=
 =?utf-8?B?NUFsOE80RENIMWE1ZER5TFU5RnppN3k5WFUwSFNHR1ZaU3RISWJwTXJ6a05T?=
 =?utf-8?B?YzAyM0RKeUl6UmdFa0JRSjQzNGdWdVZqYWtSUGlRKzhyZzNXVkNBcnZNQitS?=
 =?utf-8?B?RDF0bjZPbTFieHJmL0FNbUZ0Nm40LzJmU1BFODZYWnRYZnVHdGpiNEhEeklL?=
 =?utf-8?B?UE9TbUZoYWt4RVdaaHQ5bVl0bUlnblI4bmErSTNYUWRrc05TS0k0dk4rTDcz?=
 =?utf-8?B?NUtIQm0rY1VNZ1lYdVE5cm9vZ3NSN0JDK3krNk1heGwrV0R6ejRZZjFCc3Ro?=
 =?utf-8?B?ZUJFZ1VDOWJleWFzOWFEZGNmWUhTWWpwMzlRNWEvTmRJM2ZSQXZoeWo2Nkox?=
 =?utf-8?B?am4wUGpIMW5xN1lGK2lGTExkeDFsNHVDZERRQWlaeFZ6aTd1bHV3RE9naUpO?=
 =?utf-8?B?L1l4MzdkaEk0aCtOZDdDYllFY3VXZElvd0t0NFFCQ2FGUGZmcUNpaVU1YTEy?=
 =?utf-8?B?ZUxYSDBvK0RnQmFSVUNOb0VKaFVOK1l6RUxzZG4yY09UZWFaNmVuVVFXczR4?=
 =?utf-8?B?Uk9pMG1TQjVYbVpRMUJnQ2pMRlREYTVxTVdhaFlYREV1QndwWkcxcmFDQ1hp?=
 =?utf-8?B?bmxGOXJvUzhMbDlKeDN6WlBOb09wMkEzWGJ6S1hPUm9PMmNwK1F1c1p1VzdJ?=
 =?utf-8?B?YjJIMVp5ckZBN2Y3ZDFyam1lK1BnRGFLRlM0bGFmZWcwVG5lQ1dYaEtNNlNV?=
 =?utf-8?B?cHVMTTBIZjNYNjNTZTNpODZGcktzaHBxTEtoU0ZnUmxUQzRaaVJkNFNUNmtS?=
 =?utf-8?B?bTdqcVZxVHNMSDR4S0R2YkhuclJCWW1MeFY4MUNQR2xuNytBTDhNbXgxbWdQ?=
 =?utf-8?B?TG1OTDVpS0dXeFkvNHFPdVJ4L1lJSWN6WlQxeDNXcG1tLzJZcHQ0cjZESzd5?=
 =?utf-8?B?NGc2aGIxMGFKNW1pTlViVkdUQS8zZzlCUmdFcmRnano0WEJZOFQwK2twVXFI?=
 =?utf-8?B?MXBQUUhldnI5YkRpZmNYaWE4UjkzSEVPa0VrK2pYSHc5b0xrSk5JbHhlZnhM?=
 =?utf-8?B?dGovTWpHa0ZYaklsSUY0R1FMcEdhb0t4cVZHOXN0dFFsV3lSQVJBdlBMVnBT?=
 =?utf-8?B?NEhNOVhPN3J4LzUvME1WK1MzUys0K3RkSDVuenVtRXVJbktpd2ZDTXNhY0Vn?=
 =?utf-8?B?VzYzeHNURkNubWo0TjU1MTVzcWpJbjlzRnN1RlFRaCtzTTJLS0ZweWRmaExW?=
 =?utf-8?B?elJlc2VoOVUyQ081T1E5TW0wWWJZU1Zldk5lM1BJYVNYRG5rNUFSeHR2Kzhx?=
 =?utf-8?B?eTNMeGV2LzJPYVpzUWtySS96MlplMDBoVUQ1U3d4M1ZtRW5DVmxBOE9mQ1N2?=
 =?utf-8?Q?ZtBEGrwZFlW8on8qwuTsNufMwtISVsmvhlBsFuv?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7f618208-3097-48ad-7604-08d9623629b3
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2021 10:51:41.7968
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: WJcezsts3H+35jutSZ12BpPlQZT88rtHuWAH+m9qEq+39iwIg5PrCMPksKBSHcVTwgPprm8NiD1fMjA4715gXw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2606

Paul,

back at the time I did already question your intended meaning of
this flag. I notice that there's presently no consumer of it being
set (apart from yielding non-zero flush_flags). I'm afraid this
model makes accumulation of flush flags not work properly: With
both flags set and more than a single page altered, it is
impossible to tell apart whether two present PTEs were altered, or
a non-present and a present one.

VT-d's flushing needs to know the distinction; it may in fact be
necessary to issue two flushes (or a single "heavier" one) when
both non-present and present entries got transitioned to present
in one go. Luckily no flush accumulation has been committed so
far (besides some during Dom0 construction), meaning this has only
been a latent issue until now that I try to get large page
mappings to work. (I think I have page table construction working,
but after the removal of some debug output I'm now facing faults
on non-present entries which I believe are actually present in the
page tables, albeit I yet have to check that.)

Question therefore is: Do we want to re-purpose the flag (my
preference), or do I need to add a 3rd one (in which case I'm
afraid I can't think of a good name, with "added" already in use)?

Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 18 11:16:40 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 11:16:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168189.307063 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGJYa-0002Ko-3L; Wed, 18 Aug 2021 11:16:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168189.307063; Wed, 18 Aug 2021 11:16: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 1mGJYa-0002Kh-0O; Wed, 18 Aug 2021 11:16:28 +0000
Received: by outflank-mailman (input) for mailman id 168189;
 Wed, 18 Aug 2021 11:16:26 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jWQ4=NJ=invisiblethingslab.com=marmarek@srs-us1.protection.inumbo.net>)
 id 1mGJYY-0002KK-Hv
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 11:16:26 +0000
Received: from wout5-smtp.messagingengine.com (unknown [64.147.123.21])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id b96dd032-0015-11ec-a544-12813bfff9fa;
 Wed, 18 Aug 2021 11:16:25 +0000 (UTC)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.west.internal (Postfix) with ESMTP id 8180E3200912;
 Wed, 18 Aug 2021 07:16:23 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute4.internal (MEProxy); Wed, 18 Aug 2021 07:16:24 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 18 Aug 2021 07:16:21 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b96dd032-0015-11ec-a544-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=OQ4J5y
	c0ZEZ0U17OcF/gNXoEhsN0/jdJ+xsl6mwX2BA=; b=fyxigPprggWLxDIXjgaO+Q
	hPgN+OcgYdSd5IE6OPoO9ttntQUG6JYVlo4IV3AolvnTuRf6uZ6xa41WpM0FgCXl
	tEw7gov5S59UeAoj4Zdbmlfzonq0xrhT5vOQsShJYVwIMCHpIQvAHk3h9uIQEcn0
	nRIZfDmu5AHJFL+mutKFw1oTHW9Wp9QWrqQ3h4vBR9880PUjt/LGLSRCQX6NUJrw
	+MzpHd3hPrw2OJomyiXlYbp4s+4h32Je+dUIA+zZjGtIi7LkfBLx54gReJpRTDT5
	apmWS4cQEYZ/xIAWqaE1F0A+YTdPqJz4coUlixgfkU+e4Xf+B5N7RH3Bq7zYSbcg
	==
X-ME-Sender: <xms:BuwcYfCg9nFjFy3KnxbXCXR0rHIoDIFjUCHndjvA3mKdGV3LJV1Usg>
    <xme:BuwcYVhC0N99UFMeUFTqw07tN1HTv44pTYUcrvCHDOPQFfkMoatLJi_YYiLqZz1Pa
    AFsyq0aaXHKPw>
X-ME-Received: <xmr:BuwcYamnx9eBBOtlssP5UQWl8Mp5enEZDAru4Jja7CsRTVUvImXcBfu8gBKQver40HZ2WO2KUdQFw6Ob_HaCZmqey9XamZHD>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrleehgdefkecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgvkhcu
    ofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinhhvih
    hsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepteevffei
    gffhkefhgfegfeffhfegveeikeettdfhheevieehieeitddugeefteffnecuvehluhhsth
    gvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehi
    nhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:BuwcYRylU6OgETmWQuUy4_20jehu5O5xz3jOllDmKa4xJ4rDr6rJIw>
    <xmx:BuwcYUQ5CGsz9ajKPeIv96WG2vHabe8zgoQGR5HCRv3W4ImpUTiwsg>
    <xmx:BuwcYUYWijl19seTWLem1cRw6QplAzYncige9ZfS0Xb4JT6mZe3YSw>
    <xmx:B-wcYTEiDnVB5Msm1JyiMQ3UEkCOqbBgALtrGIR6JFfxC0ppK_50AQ>
Date: Wed, 18 Aug 2021 13:16:18 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Ian Jackson <iwj@xenproject.org>
Cc: xen-devel@lists.xenproject.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	committers@xenproject.org
Subject: Re: [PATCH] RFC: Version support policy
Message-ID: <YRzsAvOU5G2O1X2+@mail-itl>
References: <20210813113727.6028-1-iwj@xenproject.org>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="3pbOh7j+9i1JsfMm"
Content-Disposition: inline
In-Reply-To: <20210813113727.6028-1-iwj@xenproject.org>


--3pbOh7j+9i1JsfMm
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Wed, 18 Aug 2021 13:16:18 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Ian Jackson <iwj@xenproject.org>
Cc: xen-devel@lists.xenproject.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	committers@xenproject.org
Subject: Re: [PATCH] RFC: Version support policy

On Fri, Aug 13, 2021 at 12:37:27PM +0100, Ian Jackson wrote:
> The current policy for minimum supported versions of tools, compilers,
> etc. is unsatisfactory: For many dependencies no minimum version is
> specified.  For those where a version is stated, updating it is a
> decision that has to be explicitly taken for that tool.
>=20
> The result is persistent debates over what is good to support,
> conducted in detail in the context of individual patches.
>=20
> Decisions about support involve tradeoffs, often tradeoffs between the
> interests of different people.  Currently we don't have anything
> resembling a guideline.  The result is that the individual debates are
> inconclusive; and also, this framework does not lead to good feelings
> amongst participants.
>=20
> I suggest instead that we adopt a date-based policy: we define a
> maximum *age* of dependencies that we will support.

I wonder about another approach: specify supported toolchain version(s)
based on environments we choose to care about. That would be things like
"Debian, including LTS (or even ELTS) one", "RHEL/CentOS until X...",
etc. Based on this, it's easy to derive what's the oldest version that
needs to be supported.
This would be also much friendlier for testing - a clear definition
what environments should be used (in gitlab-ci, I guess).

Thoughts?

> The existing documentation about actually known working versions
> then becomes a practical consequence of that policy.
>=20
> In this patch I propose a cutoff of 6 years.
> Obviously there will be debate about the precise value.
>=20
> It will also be necessary to make exceptions, and/or to make different
> rules for different architectures.  In particular, new architectures,
> new configurations, or new features, may need an absolute earliest
> tooling date which is considerably less than the usual limit.
>=20
> I have tried to transcribe the current compiler version info into this
> format.  The dates in the exceptions are all more recent than my
> suggested 6 year cutoff, so if this patch is applied to staging and
> not applied retrospectively, they could be removed.
>=20
> I'm not sure if this policy should be here in README (where the
> version support was until now) or in SUPPORT.md.

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--3pbOh7j+9i1JsfMm
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmEc7AEACgkQ24/THMrX
1yxRNgf+POqWHLaA4MXugyydRzeLhkX/HGZKvVsfWwUTPjZ9pwYYTPH6+Q8VzxW1
9mYMTJICLgTjp6h1x3xopR9IkdbPRRO3+iQ98ado55Y0PuVhxxNnp7QfyKnxeVk0
g7zlnls07pPZO1jbDjN+79QaWmnHBJebLXyaGrnYq2seGtpxvV/A9posgdoh+1vy
iS38YsIxhwg0vhzkfx7XKru6dz6dELeJ8FwLWKdPKTIR2fSgm3+Ez83zLpX2Iwzv
S3SxButXbHp2VHVKx0eVrwrLsD4jN4rIWyiPkC+/Da+1kKfMBn3AnU81PdbC5oH9
BkG03rAWxF0K8rFUWpYs4ydvOxT4Kw==
=K8hm
-----END PGP SIGNATURE-----

--3pbOh7j+9i1JsfMm--


From xen-devel-bounces@lists.xenproject.org Wed Aug 18 11:30:35 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 11:30:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168195.307074 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGJmB-0004bt-BU; Wed, 18 Aug 2021 11:30:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168195.307074; Wed, 18 Aug 2021 11: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 1mGJmB-0004bm-8d; Wed, 18 Aug 2021 11:30:31 +0000
Received: by outflank-mailman (input) for mailman id 168195;
 Wed, 18 Aug 2021 11:30:30 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jWQ4=NJ=invisiblethingslab.com=marmarek@srs-us1.protection.inumbo.net>)
 id 1mGJmA-0004bg-JD
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 11:30:30 +0000
Received: from wout5-smtp.messagingengine.com (unknown [64.147.123.21])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 5976ecd0-4254-4e54-ab35-de5548c03260;
 Wed, 18 Aug 2021 11:30:29 +0000 (UTC)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.42])
 by mailout.west.internal (Postfix) with ESMTP id 38C25320091A;
 Wed, 18 Aug 2021 07:30:28 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Wed, 18 Aug 2021 07:30:28 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 18 Aug 2021 07:30: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: 5976ecd0-4254-4e54-ab35-de5548c03260
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-transfer-encoding:content-type
	:date:from:message-id:mime-version:subject:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=zxyarP
	+tas0XgyBPBKBNTglDsM/L05/Fmb3AxR7oaqc=; b=lLM8w5h2bmx389d+h1lSCC
	RjfjAS9CB8B6LwyMk+fq7N4VysAap6CF/unlnmAN8gF4NjVnYV0JoOjMq5vTg86l
	ZpZkmzB/OlmSwkA+dKHEqNwNHjAlnXiTAJydRBombnXgSgTS1t0m86wO5/93uycx
	ONbUO0Cs6j3Rb0WPb8r6j+IddGCEY/9vC/dyXNBwbeH67MmNSXEPpEm52HHfQT95
	yaAnM4nsK31ffFm4idJWKP7NjetW0fAWYdCfWY3qRbhOax2QoV0BNhrnuNz2zMcG
	TdGvDf/eesFeU/RCkBO0FkHvkR+2zDuUetIARpFb5+6CtFLvUH9L1hkti+ZSYh5w
	==
X-ME-Sender: <xms:U-8cYWPp4dSZpxy-Xt5-95rTpm2nvccFw2jd7zj2A5OI7iuMrOH3aQ>
    <xme:U-8cYU9tGeUCpImoxjcWVQsyIcgVlgc5tRLul1VxjfMnsPUWsNTD8LorLXiGKOMg-
    gmtrZcG4eB4Mw>
X-ME-Received: <xmr:U-8cYdTcPKKyyYogwEPbGU2BY23UDZIrlH81YY2ZfQCfMcJttQ5cGvhRKpxigtaeTxpk46d8zy9B9xN4BbS-ta_PJSZs7RSD4nqX47Yc4URLvCZKLQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrleehgdegudcutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvffufffkofggtghogfesthekredtredtjeenucfhrhhomhepofgrrhgvkhcu
    ofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinhhvih
    hsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepteegteek
    ueekfffhjeeuleduheettdekueeitdfggfdthfevfeeuieeihfduheegnecuvehluhhsth
    gvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehi
    nhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:U-8cYWvqo3JYSV_OQNFjliEjVmUx3UQwc4f8iqaWpfhoyN6F-AWpiQ>
    <xmx:U-8cYee1TjUbmcgpfqEEeKRA7NxQUOEYmX52FjD02jrWvFIPpRPUQA>
    <xmx:U-8cYa2Zy-3Mi-9bPUDCmlsitqK5r2eoBsJgTmelGxZyFGqYxglkDg>
    <xmx:U-8cYe6nWqoVw7-AzVYgkXo0hYDEOyI4z2-6hYnN4Z-ICxdz1kiXOA>
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH] x86/xstate: reset cached register values on resume
Date: Wed, 18 Aug 2021 13:30:17 +0200
Message-Id: <20210818113017.454251-1-marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.31.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Organization: Invisible Things Lab
Content-Transfer-Encoding: 8bit

set_xcr0() and set_msr_xss() use cached value to avoid setting the
register to the same value over and over. But suspend/resume implicitly
reset the registers and since percpu areas are not deallocated on
suspend anymore, the cache gets stale.
Reset the cache on resume, to ensure the next write will really hit the
hardware. Choose value 0, as it will never be a legitimate write to
those registers - and so, will force write (and cache update).

Note the cache is used io get_xcr0() and get_msr_xss() too, but:
- set_xcr0() is called few lines below in xstate_init(), so it will
  update the cache with appropriate value
- get_msr_xss() is not used anywhere - and thus not before any
  set_msr_xss() that will fill the cache

Fixes: aca2a985a55a "xen: don't free percpu areas during suspend"
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
 xen/arch/x86/xstate.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/xen/arch/x86/xstate.c b/xen/arch/x86/xstate.c
index 6aaf9a2f1546..28726d8fbf2b 100644
--- a/xen/arch/x86/xstate.c
+++ b/xen/arch/x86/xstate.c
@@ -642,6 +642,13 @@ void xstate_init(struct cpuinfo_x86 *c)
         return;
     }
 
+    /*
+     * Clear the cached value to make set_xcr0() and set_msr_xss() really
+     * write it.
+     */
+    this_cpu(xcr0) = 0;
+    this_cpu(xss) = 0;
+
     cpuid_count(XSTATE_CPUID, 0, &eax, &ebx, &ecx, &edx);
     feature_mask = (((u64)edx << 32) | eax) & XCNTXT_MASK;
     BUG_ON(!valid_xcr0(feature_mask));
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 18 11:32:32 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 11:32:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168200.307085 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGJo6-0005Ix-PZ; Wed, 18 Aug 2021 11:32:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168200.307085; Wed, 18 Aug 2021 11:32: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 1mGJo6-0005Iq-MW; Wed, 18 Aug 2021 11:32:30 +0000
Received: by outflank-mailman (input) for mailman id 168200;
 Wed, 18 Aug 2021 11:32:29 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MkKE=NJ=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mGJo5-0005Ik-9N
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 11:32:29 +0000
Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id f7764268-0017-11ec-a547-12813bfff9fa;
 Wed, 18 Aug 2021 11:32: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: f7764268-0017-11ec-a547-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629286348;
  h=to:cc:references:from:subject:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=/zKdjQDHuBkmeGYVEs8zbZhM/WwCx7y/IQH6PoO0oVE=;
  b=TbxIXz0yKNXEl4BLN6Excs5r7FZ5Xfibu+mMNdZcdNGrCMwGzTPuxEgn
   gS80HpcyEWIJkOLxoadg0C4EQzJUUz8395xDE1CUs8xAPiQ1PHzAq10c4
   CQGkysBzIXAKxb+zu5z56hjUNFYdYYS9gsbvaFLZvapVhdgyXTS3rL6LS
   s=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: OwSaMcOZ12dbJ4NrNhn/OWGFFKaN6CJvDdpMTAnHC0PRAnHTSTY6YvNnivZKDXDby6oYFSDvz1
 /UpdZftj5GJJapqoavWCzYhVfB8C+gi7Pph0swT/44dCcSCHrzWPdSkpie7YZue4F6goqqQp8h
 2vPBODkNaeOzWt9DcelkaZYOAkExQA/AccCB1leJTcl0w6Ccn0RmuOrs2XN8zbmr03BgzWM/pD
 b9wM6VrJL8/upenTmXhYT+wIH0qCLwvLxMnp7g4UYg3GWEr2H3rzxjKwH6SMI4YkJX+dmaAda8
 CX300HZD1aiO23YsorNAitt1
X-SBRS: 5.1
X-MesageID: 51113648
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:zYLs+aG+9HZMRdcHpLqFxpLXdLJyesId70hD6qkvc20pTiXIrb
 HVoB1E726OtN9IYgBqpTnhAsW9qXO1z+8H3WBjB8bpYOCGghr2EGgG1+GSvwEIdBeOgdK1uZ
 0QApSWTeeARWSS7vyKvjVQcexQtuVvmZrA7YquqAYKPHkaFNAf0+46MHfTLqQffmJ77PECZe
 ihD7981k6dkAMsH7GG7xc+Lpj+T1ShruOeXfaJbyRJmSOzZe/B0s/QL/CKtS1xbxp/hZMZtU
 TVmQ3w4auu99uhzAXH6mPV55NK3PP819pqHqW3+5goAwSprjztSJVqWrWEsjxwivqo8kwWnN
 7FpAplF9hv6knWYnq+rXLWqlrdOXcVmi3fIG2j8C/eSP/CNWUH4g169NRkmy7imh8dVRdHoY
 t2NiyixrJq5Fj77WnADpDzJl1XfkjemxsfeLko70C3F7FuOYO49eYkjSBo+JBqJlOZ1Ggge9
 Meaf014J1tADenRnjHvnZmytmlRG4yEReNSlUDvMv96UkWoJh0onFoivA3jzMJ65IjQ5NA7/
 7fMqtpnrlSTskQBJgNS9spUI+5DHfATgnLN3/XKVP7FLsfM3aIsJLv5q4pjdvaI6Dg4aFCwa
 gpamko7VLaunieTPGmzdlO6FTAUW+9VTPixoVX4IV4oKT1QP7uPTeYQF4jnsO8q7FHa/erBs
 qbKdZTGbvuPGHuEYFG00n3XIRTM2AXVIkQtswgU1yDr8rXIsnht/DdcvzUOL3xeAxUAF/XEz
 8GRnz+Nc9A5kekVjvxhwXQQWrkfgjl8Zd5AMHhjq4uIUg2R8pxWy0u+AiED+2wWH5/W50NDQ
 9Dyenc4+OGTEGNjCT101k=
X-IronPort-AV: E=Sophos;i="5.84,330,1620705600"; 
   d="scan'208";a="51113648"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=i5qahST/jR0/AtXUJNeLz3je/hNvBAaZsfbDilDEQRyPStsxQlQFksg7AL9xWNuq17b6YC1eYwDH+s1XjbBESeA6h6tsjqTt26COYf9DzAlVcSayVlRiZJTZnzmiCULYSevwW0s/Q7eWhfcoHLD9PlZGkk2DAkVr8Fxjhxm339rvy1ENyez7aquoH2sUR+nroBryn+ujlttHODqDHLQnZ0Cy6xOj2wv9KKnaPFTxw29pZ8v8WdX39xpvJvFKXjZvcEsUu+AffF701TZTMUhjMKaoULA5sqftlIp6cmHgiBVkyWt1lJ9zteH2tUZ/ilcQ/4SK2kkIULDcmilmWPdc7Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/zKdjQDHuBkmeGYVEs8zbZhM/WwCx7y/IQH6PoO0oVE=;
 b=IRj5fYzzDX0VMITB4TMFzCh7sGpZMrVtEc90PouAdSblji6ZkMA2fvrTC7eR0fUpQVsvWGFpj49Fx9/IRyXjMDhGdrU9Htb9MVojmdtg1sihITcLGC3PfMWu7AQBNUt9bg2I/3qG+M1FexrGX8hxi7R4dObe2CP26adFuFo/c0P0PkRiQVosPZDWsUtqIWwak0LAlrdcw/o4I1oRWJfUZ6DQcDtWLoIJCeez60+vMx3riuVdQhTvGvYZu0VoiIn/ukF6iaMbW/o3KZ2Pd9vt+izdQVA4C2rBQiDuIhXbBYCnAuSehuD/BcQpkyW1+8WWXelp5bEqlNT5YKbXqz7LbA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/zKdjQDHuBkmeGYVEs8zbZhM/WwCx7y/IQH6PoO0oVE=;
 b=s0+GPYaAM/0InjaJ6qVUGKPmVpOPiznDUDjumiAmhy3QrOjElSXwIyzrh42SGRQHv7SDrjQ8euDixIp7B+HP+pE5aKt4pq0ZRQljHc83mKV5rCNuydwq+aa7i+pevhI1J4QHjl/QRBY+OfHej6oO/wWC0DMm106yJGQzO8IxGKM=
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Kevin Tian <kevin.tian@intel.com>,
	=?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?= <marmarek@invisiblethingslab.com>
References: <07ded368-5c12-c06e-fd94-d7ae52d18836@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] VT-d: Tylersburg errata apply to further steppings
Message-ID: <8a2edae0-bf00-a8fc-51a1-689cfd04e08a@citrix.com>
Date: Wed, 18 Aug 2021 12:32:20 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <07ded368-5c12-c06e-fd94-d7ae52d18836@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-GB
X-ClientProxiedBy: LO4P123CA0133.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:193::12) To BN7PR03MB3618.namprd03.prod.outlook.com
 (2603:10b6:406:c3::27)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 2237d489-acaf-44dc-5bd3-08d9623bda1d
X-MS-TrafficTypeDiagnostic: BN7PR03MB3617:
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr
X-Microsoft-Antispam-PRVS: <BN7PR03MB361747D5535204D36C686738BAFF9@BN7PR03MB3617.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: cVvQLZgmzadWlEPbPIjpSk47WnR1kI4fdYwGN+RuAEusaqpJcA0tZsTkoZPaUdRqFHzMDLuT2OUM4+avcwsAhcZHaXxg7bsiIP6KiOdssHnpUooEatLwEEfIrRFac9oQIaPcIh2GPu/IBr/l7pcqWstzXk3sdW72JM9WxoHTU3KJ3DA5YF4FdwUF7T3WATFdCcF+JxVcwUNBQOoI8yWz1FvVSbXudpiZeciXc5PrL06qojq4JBBLMXnHatp70Jz7DRIly9YGb9AWwiug801omlM3wS+WPDQQTFpXskEQJtI4L3zkcFL9URChm6+bytJk63TjhXoFalWBPRagatubK3ZHuxBJjeTZXFD45l4R/wylA8mpP/HtRJ5jnrvzEmOMOgoXnk/evFwNph+APjbtAufYW/Qb/+QGMQPtlE3Ajb9ujOWJbEKfNB3Sk8lUZJgC8+AJiUArhAsxxlV91yjGbhbgOvaNp+IagYMv7JTVKMpl1m9/udgEMrtEXCwotlHnVdGWT8HiySKKuQdJJ3XFiJTFfgiy5APlvKZ7lkDIYQVN2ESEerQU79su1ufS3AUseQLmJhckjYbSDZDiUdRjlppfplZMo4qtMp+B6RcMw47AGUktuaMvHt8hiSlOCecuZpNDVTnLHXvUtR1LiWv/OiITtzN0yWMcTa4EiJclMaHV0lljGV6E7x8/7quLivDFRSlp9yBNkSMlbotG4+RT9sU+fIYyzVNcdmKjF+XPF3g=
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:(4636009)(376002)(136003)(39860400002)(346002)(396003)(366004)(26005)(38100700002)(2616005)(956004)(86362001)(4326008)(8936002)(53546011)(6486002)(110136005)(186003)(66946007)(16576012)(66556008)(66476007)(31686004)(8676002)(54906003)(36756003)(478600001)(31696002)(83380400001)(6666004)(316002)(66574015)(5660300002)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?aGI5cW1aYkFiV0oxWnZEZ2xwVEtCQVoyQy93U3FRRkkvcFhiSGFTdHZRQko4?=
 =?utf-8?B?a2FYL2J2a3JtcDNINnNRa2NENnArV01KMlo4NjY5RmN1emprangrWHZwRFZ6?=
 =?utf-8?B?TmxuenFGZ3N3L3VtSzlQTnl3N0Y2S2U2eUhDNlduUmhMdGo4c2YvUlRLYTV4?=
 =?utf-8?B?bWMrYWpWQ1BnejNGQVN0MENydm9oWFpaTTU0ZWR3OTZvelFkM1Y2emdxOGpo?=
 =?utf-8?B?SlI5V3BSbDF1Ny8rNFRWT0VxZStOVXJMQjhPQnRrT1Zudy9nUnd4dkxML0hl?=
 =?utf-8?B?SjMrenlYRFVTdzRTQ2JFTWtMOHFOZXJuR2JrUE10SWh6M1JUbkVnZzROUGNZ?=
 =?utf-8?B?eVprTm0wVVJpM25YS2VEckM0VlUzck9nUTBjbllhNzBtcHJ6Z2F4S280VlFU?=
 =?utf-8?B?WW5hRTBCbTl1LytzaGNLZkpkNkk3eXBTMlBKajR0Ryt3N3ZaVUR4NGVZYXJj?=
 =?utf-8?B?U1NVdHhCN3JGVlVZQUIxNFErTDVzSnQrTXRBVlZmdDlYdjF4c1lGRjdVUndQ?=
 =?utf-8?B?MS9iRW55VTZ5aGxxOTJxaEFPczB5T2s4ZHJxamV2NXBKTVNGU0JrZnF4dGhs?=
 =?utf-8?B?TlZ3VStNZHRFcEJQYXFSbVlhd3lhc3IvRzUzMFZ2U0VnWUNRTTJYOWlKOGwr?=
 =?utf-8?B?dUw4VjQvaDlBQjVLbTNuUHUvSEpYVG85ZC9tSFNtQXNqQVFyVzZ0TjV2NUE2?=
 =?utf-8?B?TUw5bTJSeG52YnBwWjhadUZqclFSeWs2VDNVbmUwNUxGNUFRVHRSaDMwMmJ5?=
 =?utf-8?B?SnFiWVpmU0M1K0FtbWZGMUkyMWFYYWdsK2NZNEkzd2VzWkZoVmlkTUxheXND?=
 =?utf-8?B?c0Riem9WQThubmZTYnM4UGwxblo4WkFlTmtkUDJmUzBjUjBqZWdkTEJCRmox?=
 =?utf-8?B?bVEwTGVYMHV4czY5amdacENsVFhPUlFWaHFpYWxzUXNNaTZVSWtDSDcvbWhj?=
 =?utf-8?B?dHRTNkxjWFBvSVVseWtVMU4zVFFYbFdBZEd4dm4xazBkMS9HdTBvUzZndXp3?=
 =?utf-8?B?eVRqWDg1V0dKWkx6dmdzNU9EWldpcHdCeHBGVW1RbVJZbERKdyt5cklnVVAz?=
 =?utf-8?B?alZMTjhNcC84RWdjOHR2UjEvdk8xTGFTMUZTNmRBUUZsa1UrYWxxOEFJdk9X?=
 =?utf-8?B?S2RUT294OWpsRE9idEo3a3RjSlU4enpJZEMzc0tzWWJPOVRKUW8xeE56dk55?=
 =?utf-8?B?ZEd1d1BtVWZFWkVSMW1pZzFtL3h5ZVB3eHFNYUw4U1Q3YUQxbEVmQVd6azlw?=
 =?utf-8?B?YTV1Z0J0WXdPbmJJQ0EwL3ZNWmY1cTVhcXA5OWpheDZHdFpCQ3RzSWlkQ0d6?=
 =?utf-8?B?VGhhdHZTVmlJVXhPOWxqZ09ueHJNLytrK0tOMFBWcHNDL2lwdWFGRkVPY294?=
 =?utf-8?B?V0lEd1VPSjIzSFF1UEN4WXBkUW5aRFlpT05wNEF4ZVByMFBZaEVUc1BiU29q?=
 =?utf-8?B?SjBUenVrUTJvbDI2TTBRQlR4M2RqL1A3MHZ3ekNtSkx5Mkl5YXdLK0VZS2Zo?=
 =?utf-8?B?aWU2QUxSQXJIb0VCTUJ2QmpIVmw2cU5aTFVUdks0YmV5MlpJWkt6bm1vZmxZ?=
 =?utf-8?B?Zk5mTW5TaGFiL0F3aC9kRFpSNk9rZWk0bGhGZlcrc2pQSlNkRU40b1kzSFpx?=
 =?utf-8?B?dVY3QTRKNXBrWk1Fc0xnUVJxS0V2Yjg0bEZSM3cwc00yR21LQ1J4dDMxM285?=
 =?utf-8?B?NmlaT2JUeTBYb1hidlIrNHFZVWpaK01MMWhueGx1K29GSDN2a3drTGJiRGwr?=
 =?utf-8?Q?fx3APyaEOF15oBRuJzGtD4duTQ1c6EVsrA6WiS1?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 2237d489-acaf-44dc-5bd3-08d9623bda1d
X-MS-Exchange-CrossTenant-AuthSource: BN7PR03MB3618.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2021 11:32:25.3184
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1a5+H7N7rnmlHkuvsqC8V5pxiAyio0FDwNkCO0MPzGlBkn2OpykQtlO5hP8PBwWlZ3VbE4oayK6YeAHVwWBfx7LJJi/xv9Wt+abdvSR3SG4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR03MB3617
X-OriginatorOrg: citrix.com

On 03/08/2021 12:13, Jan Beulich wrote:
> While for 5500 and 5520 chipsets only B3 and C2 are mentioned in the
> spec update, X58's also mentions B2, and searching the internet suggests
> systems with this stepping are actually in use. Even worse, for X58
> erratum #69 is marked applicable even to C2. Split the check to cover
> all applicable steppings and to also report applicable errata numbers in
> the log message. The splitting requires using the DMI port instead of
> the System Management Registers device, but that's then in line (also
> revision checking wise) with the spec updates.
>
> Fixes: 6890cebc6a98 ("VT-d: deal with 5500/5520/X58 errata")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> As to disabling just interrupt remapping (as the initial version of the
> original patch did) vs disabling the IOMMU as a whole: Using a less
> heavy workaround would of course be desirable, but then we need to
> ensure not to misguide the tool stack about the state of the system.

This reasoning is buggy.

This errata is very specifically to do with interrupt remapping only.=C2=A0
Disabling the whole IOMMU in response is inappropriate.

> It uses the PHYSCAP_directio sysctl output to determine whether PCI pass-
> through can be made use of, yet that flag is driven by "iommu_enabled"
> alone, without regard to the setting of "iommu_intremap".

The fact that range of hardware, including Tylersburg, don't have
interrupt remapping, and noone plumbed this nicely to the toolstack is
suboptimal.

But it is wholly inappropriate to punish users with Tylersburg hardware
because you don't like the fact that the toolstack can't see when
interrupt remapping is off.=C2=A0 The two issues are entirely orthogonal.

Tylersburg (taking this erratum into account) works just as well as and
securely as several previous generations of hardware, and should behave
the same.

~Andrew



From xen-devel-bounces@lists.xenproject.org Wed Aug 18 11:53:28 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 11:53:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168205.307096 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGK8I-0007hC-Hf; Wed, 18 Aug 2021 11:53:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168205.307096; Wed, 18 Aug 2021 11:53: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 1mGK8I-0007h5-Ec; Wed, 18 Aug 2021 11:53:22 +0000
Received: by outflank-mailman (input) for mailman id 168205;
 Wed, 18 Aug 2021 11:53: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 1mGK8G-0007gv-VZ; Wed, 18 Aug 2021 11:53: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 1mGK8G-00050U-OU; Wed, 18 Aug 2021 11:53: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 1mGK8G-0007CY-Fh; Wed, 18 Aug 2021 11:53:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mGK8G-0006lQ-FD; Wed, 18 Aug 2021 11:53:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=HkmQTW/76NuouPO6IXuwx7OuvLMuvjKrlRF6IIDJn74=; b=2ctKmqVOV1dWmJ7mP5mXzwTaMB
	rlKoJ8Lrn+INTU5iZ44LLkKr1VnD8jrVZmzSM73G0QfqLdR1QaSX/6ePKypDLlWlUXZPe5yrujFlL
	7gZQ0kD7m9iiOJpTO4p6fXOh/hH0I2V+vvBtmU272PHJKdzu0gHFJPgRDmXokef2SFkk=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164238-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 164238: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=517a90d1ca09ce00e50d46ac25566cc3bd2eb34d
X-Osstest-Versions-That:
    xen=54c9736382e0d558a6acd820e44185e020131c48
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 18 Aug 2021 11:53:20 +0000

flight 164238 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164238/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  517a90d1ca09ce00e50d46ac25566cc3bd2eb34d
baseline version:
 xen                  54c9736382e0d558a6acd820e44185e020131c48

Last test of basis   164228  2021-08-17 13:02:13 Z    0 days
Testing same since   164238  2021-08-18 08:00:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   54c9736382..517a90d1ca  517a90d1ca09ce00e50d46ac25566cc3bd2eb34d -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Aug 18 12:02:56 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 12:02:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168214.307110 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGKHT-0000sv-ML; Wed, 18 Aug 2021 12:02:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168214.307110; Wed, 18 Aug 2021 12: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 1mGKHT-0000so-JS; Wed, 18 Aug 2021 12:02:51 +0000
Received: by outflank-mailman (input) for mailman id 168214;
 Wed, 18 Aug 2021 12:02:51 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=m5uW=NJ=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mGKHT-0000si-3o
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 12:02:51 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 347a197f-001c-11ec-a548-12813bfff9fa;
 Wed, 18 Aug 2021 12:02:49 +0000 (UTC)
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur02lp2059.outbound.protection.outlook.com [104.47.6.59]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-32-_k7dPkTxMIymdN_tXuI3JA-1; Wed, 18 Aug 2021 14:02:47 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5472.eurprd04.prod.outlook.com (2603:10a6:803:d3::28)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.14; Wed, 18 Aug
 2021 12:02:46 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Wed, 18 Aug 2021
 12:02:45 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0244.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100::16) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Wed, 18 Aug 2021 12: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: 347a197f-001c-11ec-a548-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629288168;
	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=iWYKZarjBM8MsRFISt8BAXwcJhhwlNXkEM9kNb5lI58=;
	b=VvvLfZ9e1mGg/7hyfBWX0Z2zHfrcT+7Fveqpid8xs10dxQiznIoiAsVI6h0O4JfW8mwC+R
	BzQ8/xoZfFQSvrlkeNHFTGvR2CYxK//J2hHm9c0XRj6bSr17QCFMjkCJeMba5R04njswco
	l2+ijbZBHmv1nfKVxOMpMQPA1HM2Ycg=
X-MC-Unique: _k7dPkTxMIymdN_tXuI3JA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Liwf0CQzohgP7n5hu1Njfp+b4uppAlGQxRn73m+2ZrlkUcCWzt0El5yJX6eaV9dmYfpyIMU8LFS29kou5r0QpgYACt1++FsE4rli1XE8n+LJ1669b2ui6DLIhKTQeK+I5V8fCIFmO6HfW8cVAqptR0xyk+mtPefhuHeD8vGuj5mfyjTQKuE/mooOXqlIl50zZrbt+OxmZbxjkvOQBqrDCeWAByZIwnm+j8JfyXOh85s3Wbdc0NSWEkXdUBE7U1Rlu2vaW8CcJvE5ncxJze+PX83JNSPUHL3EOhpOFV3HDqRUWExJC/+gVzR6VD0CVOo8JjnZQ34jcdyyaC3TADpBiw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AaF4+4uygjMfOWH5UZKPDItCFvCiNzrP3PQhde84PV8=;
 b=IcqcKGaiHaCL57eCF1tdyh+t5UtEG2xylTpmsh1bOb/715gUlnNDyfvKvv0E+FtWCHEtUg0aVrVZaXdbis/f8+hx6itQKyEvFyoQC0i4lqfT497/Rs+dqRlMmijeSnMqlymbF5mQmZ0T5F4jOu3gMVhXNQWstbU2Kz+6iVejajaHMf6P08hOoZ0XWcgn8ITjecYgWtbcCfs5NhPFLQ7mZ2udAVapElMdBKXn+tOWGK6lXJoR4awkHEbgyBqGr3V81qQmtX87wwLUzzdraRcaIGmzVF6kyrSOODsSObzaEYEhB5ezydCPG9GrCNBhLjgiBWbZUGbmzryyFBfzUVbquQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH] VT-d: Tylersburg errata apply to further steppings
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Kevin Tian <kevin.tian@intel.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <07ded368-5c12-c06e-fd94-d7ae52d18836@suse.com>
 <8a2edae0-bf00-a8fc-51a1-689cfd04e08a@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <6b4af46a-ae32-9dd3-f5c1-836bb2675470@suse.com>
Date: Wed, 18 Aug 2021 14:02:43 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <8a2edae0-bf00-a8fc-51a1-689cfd04e08a@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: PR0P264CA0244.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100::16)
 To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 265883f1-c3ec-4c26-3ac3-08d96240172e
X-MS-TrafficTypeDiagnostic: VI1PR04MB5472:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB5472838897C0B6DBE5DA85D2B3FF9@VI1PR04MB5472.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	lwr/UUoBoZhcskNe3eHDapHK40k1rFG6Sb4w5TkDAuw3PqTKdnOZ54bo/E31CVtXeGNosg2OByLqUnZLkkTJt8Q1XlFujOGmkFC9GcanP5nH5IW1/UlWO/dl0glMK6jh5KdhiUosdnmm4RO9eThevUIWIUAz0z/y1N+7fERi1/iiqclrBD0vD3pXSwYW41TG3FsWo6uOcGg4CE3kOS0kD9tbc72u56TlatXdzQPe+BJUJ/ByTbMo4ruYFe/303vno50FBAnhRsG8eh5ny5bWq6ODRJVzAlvEny3GNmAAC2Wk3SAeZAW+4qkoy1sUkxPMQmwhL6XXC1ww4Npig1X6hhiz/6j9T0FJSlQUsNXv7XkJASo8VA1/kEiZW+1+hDayCVnB5YjYzGwMa/6MRlqM/xoKJqCrEZyT8/SE6fF0qCjksgxb+UPf1Dujp0DoSEKAwWCB0xTr91u1Df9x1wlpdPXG1+xvEbQP1HVlimvlG/4O87l4kNIK81Or0rKeb4bNw1UsniCf/uH2lm4P8vkaYCmLsemk/YcETCeKkLIMGaUCKy3WC2WWvryopTB8AeaTXgalyT94E1Zh6r0aaOp0euvqtPD3B9wT4Eu4WKVCCMb/T8vtaooHxwHPTGXsdzzMhTS8YoFj30V1D/2wkYn/lP2Sq3nG0d77RGJgcuFDh6jWgjWv5wzSplC045IGbUYbJuxJDL7sNFWcOPdSheDp4qV7G06u1SfgC9Ih0znnVf4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(136003)(39860400002)(376002)(346002)(396003)(66946007)(316002)(186003)(66476007)(26005)(36756003)(4326008)(478600001)(16576012)(38100700002)(66556008)(2906002)(66574015)(54906003)(6486002)(86362001)(31686004)(83380400001)(6916009)(31696002)(8676002)(53546011)(2616005)(956004)(5660300002)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?LBuPy23+UlDOOICKSlOaT/tjQATHzk1hCKvHYx/tGm6+ksAruuVnlh8BHXhw?=
 =?us-ascii?Q?wGPsUpmT1uufLUnQRt8r7bKxiDtXfXnLIHIICLaLOtrnge9Ml21efhK7wkNT?=
 =?us-ascii?Q?VmACRyW9bd80RqNVyqRE9J5m0Dd61kkgksn2rjd7pBWh++DCB4ue68Ta809J?=
 =?us-ascii?Q?cVmMfYrRBKaI0yXP6FqRbhgCIVL7i7Ygp9XyTTbi49imuy8rx1tk6eIDUxN6?=
 =?us-ascii?Q?XN0D2ZGZUEK2QqvQ63WpgWOK/cojQ+a3+IDqAPTtw1ZVWk3cg6m9AeOTU4O8?=
 =?us-ascii?Q?UfFwulolnX1zZdsABwBjX0lsSe+D66TaFwvwtfFbUjUFEXBNj8O+w0ceY6Uh?=
 =?us-ascii?Q?Xjmy+FIZ2op7vJiqH4s3EAXcAK52SoU88l0KQzylNuBZCgUlQJQYDxfUzWSd?=
 =?us-ascii?Q?3C6Ilygby58BNv8N8QfvCnvk7BxYdNC7lDIXvBcAd3I3MQvv4K2CR9GDaTZ6?=
 =?us-ascii?Q?3nByXVuXETMhtombSuqSD9HLlkiVkPSCp6Z3iWKzfAEZyw54+Zzt+QW3gzCJ?=
 =?us-ascii?Q?IMoWBrcItnEPprcP+WAPYsm+X+XK2o2LHBNvyengus3zG3XGGFttYonF0xVC?=
 =?us-ascii?Q?4ozX3iYReX2k71qxFdFC8ZGZL9yOqmVIXOGvG85l0t2mWdAQbt6jaMiY9IiU?=
 =?us-ascii?Q?6Z0GQr4jAQYXCJBKUQSAIBoMYBFtAKFQmf9vxB7C+/RfH4GormFZ/9AQdkeF?=
 =?us-ascii?Q?NcLLbwDKoE4/3JAZ+bI0MjhjhdjIG4Yu4k7uKH26xqRGbAk8Bl+gfUfrVCGt?=
 =?us-ascii?Q?9elGwKhkZJj2C9BW+EYiDkjFd1fUeTlF1HdQD9cNatSWRgIFp/DQCrT14kda?=
 =?us-ascii?Q?cJ9Jm5ooa2Vrr4nuEFP43RI+9u97Nzg3RmS3dMhKtRkGPi6cBIu7TL1ErLNs?=
 =?us-ascii?Q?Wc5EtkKcftPH64NtNNRpeM30VPuf30BIum+bElLuyk6k/nLQSSqusOyO7KSi?=
 =?us-ascii?Q?dESOZxZswfflhhiYTpWGLLYn0R1Rrd4sYVDkqa6zl6K4CmRsF2SxPe0ArceL?=
 =?us-ascii?Q?Pmkgg2zdWRpz50Q6AWpdcW5ysegsXKCNVd5y8Qj3gSpnCt87adBIlSR1vVeV?=
 =?us-ascii?Q?/7Nan4XKwYsBBlqkSRFFHawGVp6emgwK59ixbcE+So6zUKdes4693v7/AUXE?=
 =?us-ascii?Q?WGHcPl+lFQfOTP8M43cqokb1qayAOfl8OrCkN0AZqZzQqO7j2+uSOLPBWLWD?=
 =?us-ascii?Q?E4XEm8tKAy3wwuAqdgPG98Ap6zZPMGydThNKWBPkgJEZwTDQR7UjkgupCKwP?=
 =?us-ascii?Q?EZ+RotSHiV6s1TJjfNeIrMhjPgy21lIJn5SxVD1XhjHcj+QXzFnRKmbQRYaz?=
 =?us-ascii?Q?vGvD11NP3VrqBqmGidytmi2Q?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 265883f1-c3ec-4c26-3ac3-08d96240172e
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2021 12:02:45.7489
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rGdEgxIRBdqti1WI1jGwnIkX3IabscgRLqR13us287HMT5RoGRqLk5+V+lmZZSY3/jKNnrFiK5dugfxYvhrR0A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5472

On 18.08.2021 13:32, Andrew Cooper wrote:
> On 03/08/2021 12:13, Jan Beulich wrote:
>> While for 5500 and 5520 chipsets only B3 and C2 are mentioned in the
>> spec update, X58's also mentions B2, and searching the internet suggests
>> systems with this stepping are actually in use. Even worse, for X58
>> erratum #69 is marked applicable even to C2. Split the check to cover
>> all applicable steppings and to also report applicable errata numbers in
>> the log message. The splitting requires using the DMI port instead of
>> the System Management Registers device, but that's then in line (also
>> revision checking wise) with the spec updates.
>>
>> Fixes: 6890cebc6a98 ("VT-d: deal with 5500/5520/X58 errata")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> As to disabling just interrupt remapping (as the initial version of the
>> original patch did) vs disabling the IOMMU as a whole: Using a less
>> heavy workaround would of course be desirable, but then we need to
>> ensure not to misguide the tool stack about the state of the system.
>=20
> This reasoning is buggy.
>=20
> This errata is very specifically to do with interrupt remapping only.=C2=
=A0
> Disabling the whole IOMMU in response is inappropriate.

That's your view, and I accept it as a reasonable one. I don't accept
it as being the only reasonable one though, and hence I object to you
tagging other views (here just like in various cases elsewhere) as
"buggy" (or sometimes worse).

>> It uses the PHYSCAP_directio sysctl output to determine whether PCI pass=
-
>> through can be made use of, yet that flag is driven by "iommu_enabled"
>> alone, without regard to the setting of "iommu_intremap".
>=20
> The fact that range of hardware, including Tylersburg, don't have
> interrupt remapping, and noone plumbed this nicely to the toolstack is
> suboptimal.
>=20
> But it is wholly inappropriate to punish users with Tylersburg hardware
> because you don't like the fact that the toolstack can't see when
> interrupt remapping is off.=C2=A0 The two issues are entirely orthogonal.
>=20
> Tylersburg (taking this erratum into account) works just as well as and
> securely as several previous generations of hardware, and should behave
> the same.

Should behave the same - yes. Previous generations without interrupt
remapping also shouldn't allow pass-through by default, i.e. require
admin consent to run guests in this less secure mode (except, perhaps,
for devices without interrupts, albeit I'm unaware of ways to tell).

Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 18 12:05:15 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 12:05:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168220.307122 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGKJm-0001UM-4Q; Wed, 18 Aug 2021 12:05:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168220.307122; Wed, 18 Aug 2021 12:05:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGKJm-0001UF-0a; Wed, 18 Aug 2021 12:05:14 +0000
Received: by outflank-mailman (input) for mailman id 168220;
 Wed, 18 Aug 2021 12:05:12 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=m5uW=NJ=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mGKJk-0001U7-Oo
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 12:05:12 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id d58a75d2-1077-4180-84b4-e8b44b776f22;
 Wed, 18 Aug 2021 12:05:11 +0000 (UTC)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2058.outbound.protection.outlook.com [104.47.13.58]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-37-MBNeGJvgO1iD-V6mTKP17w-1; Wed, 18 Aug 2021 14:05:09 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5741.eurprd04.prod.outlook.com (2603:10a6:803:df::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Wed, 18 Aug
 2021 12:05:07 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Wed, 18 Aug 2021
 12:05:07 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FR0P281CA0051.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:48::12) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.9 via Frontend Transport; Wed, 18 Aug 2021 12: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>
X-Inumbo-ID: d58a75d2-1077-4180-84b4-e8b44b776f22
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629288310;
	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=degTlchOVEFdHBQxSSmb725O+cMRIGpybMzkTtb55g8=;
	b=GreIidDa5UatT7gzSze81SvQczsQTjhOnDA7qU/4KCT3jsz+JkkUOsj3sLcfJ/H/9L+juP
	ezut03JP54A2xS5BA/1/jCjMn3sh0kPO7mP0UBJfQec6o/XZHMc1r5vodGlbB0RqdvljGb
	FYp43eXTdEVnEwlVffSKlTSvmmDj4g0=
X-MC-Unique: MBNeGJvgO1iD-V6mTKP17w-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=k/XMvCt+00qFiKG6+K+YkuiN6EdipRYLGJSxsRf48jDBTBdx14wsSJFLxn9SlHnavZQN6GQ9Dtnp30O9Uy4skslq1hgfUFk+7sq5KNxnuBBk9+NCJoIoYkLkovUwVP/JVijJeC+kHsnPBQ5KactMKrgTZKZs3vkuePcznTR9iIMhNW5iruNaHsFaTXpHEN6xFX2zXmUKpg7uDR6gaae1aej708RIzIjBuCKjvrtjQWTmswE3tT1D2LSU29E+4NC/zyQtHtzC2AS0RyW4KIit9L5ax0n2hQ1W3iL22plAmU36vwSDkC8/4pWYDj+MZ6el70IVA33MZLNKcrBnFzZwaQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qUy51wxRUL5/HbiqqtwHK7WCzXUv5fi32Kx+BsuxSHk=;
 b=WVFSsASJ+a+X4PZjV3ZXooJ+R1Da1ZHxxZxphzA0ekQevou8qwPviwbc8WfVExLxhyHQj5pFv3iQ6bCEa3f9h6dwLhd3rEcLt3mSuOyXJMjNQO6M4ZA1X+HlxjdGoqe/Lko+cRFscKgAGV5wOMDlND+TM12P7uKgLt8X18dFm8qvh6/NyUW4VlzRS/kxoHV9ciwhJganGtdlt7M016kZr0EnHbtv7q76WtYq71ISjWCSfMGraFcqNfaLO1iwE6U/8VVvprKOwbLY8UHZheWIAJMFk4nBwdtoHl+tZYCl8Owrinhk22q43L7B7CBr7UBazNpI8ytedFBvLdgh+DH8nQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: Re: [PATCH] x86/xstate: reset cached register values on resume
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>,
 xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>
References: <20210818113017.454251-1-marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <ed21b560-a52f-829b-e494-6d48438b6c3a@suse.com>
Date: Wed, 18 Aug 2021 14:05:05 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210818113017.454251-1-marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: FR0P281CA0051.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::12) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 82b99845-7c4d-4315-b938-08d962406b9e
X-MS-TrafficTypeDiagnostic: VI1PR04MB5741:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB5741DC3A2195413771367F04B3FF9@VI1PR04MB5741.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:6790;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ABAN5wpMgDbnSjKF6f3obwwuAUaGBjpRiwOS5YgHBy8LMhsJ37HmwUrmGLKMwkrmBKBekqBIjy7+adKIPxTHsM3AhtdWnMFLeifaLiILPPyhNISrqTwWek4fNEVKjwT9MO6LyEh6Je/PQ78ErNY/I3D7apsttgL8s6cRTa9XWkJUjEwYU6pg2OJ7O1FA/Itg28mkyyfSIS89GQtMX+U04E7NIcfe1LK/7Ygz9ReMNafrFkWXCTmhuia3dhgT3oFKBa2JWd01I2Tv1e2TidOL+J6+5AFrux1pJ0rOlnWrqUUgCmiMaHN1w6+yt9C/u6K+YQ1ottxZu0/c3pQ7Yp9ZObW6Wvv2Q86ASqKeSjHkBmd39YRCWKyLGo2hFhPCCDxd8qYEroS0emwJCizLXmHFfigwTRtHGt2iolSWW/rq8rpy3ljpPaSqGuBdlVzoB9tePZUbljLxRa8ASCYe7u4XK4THjSdV0ftzh5SXV6r0U079U5bzX4OGbrhMFMT3Y01cVEmquJKqlTaZ7H1YEHhnO7bHSvnmIlnNzq7Gqu1c/Ox4sUn42TEB/pelRAFyCByfXOJM//KXhWce8dlCIsEp/GZuqR/MfVxTFrNnkT8KWOkHv+AyRLG1Zdg2jE0pbP+vxA25PDY1pN7LQ2XHAwrdAbP+Rm4yTMHzyqkEaYNslDCQRnbPOtH3I0QAyaDQr9/6Jr7y0A899KyD0w8vXtibw7K0/J8X92V58pAiexV521g=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(31686004)(4326008)(4744005)(5660300002)(54906003)(53546011)(186003)(36756003)(66556008)(66476007)(16576012)(316002)(26005)(66946007)(6486002)(508600001)(6916009)(8676002)(8936002)(86362001)(31696002)(2616005)(956004)(38100700002)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?Cj6vHP4WHBX9v6RLzMPWcltk8OzRPcYxdBd/8H+o+MVfSlNYL4azHlWqFiYp?=
 =?us-ascii?Q?BLA/SrEEz/ElAm1i3bf5aaPRn7vOvmTdrXGpt7emSC5vGd+yKtUnZ7dwntmW?=
 =?us-ascii?Q?y/smuMU1zM1XXbBJ/0stpHbyV5kuMGaC3GoRnwzlDN/bOlLvHa5wsDjUZ8Zz?=
 =?us-ascii?Q?lJSpvVXBI/V/9LRjE9e9lHeuuC//N1LA9WdFCSm0hI0Su/B6r6uBkOCqu+i7?=
 =?us-ascii?Q?esBrAdaUMV0XBcaygmDzdomDykQI8PiZsRM0WW7MIpGqN7Ole3rBpuLc6SP8?=
 =?us-ascii?Q?hFl8CC/SwVuJ59PqymfHlpcoB3JpFW9XZXojoEoln7Yj092RrpRuuRmjVMMt?=
 =?us-ascii?Q?kZxZHpEJqH16ds/A6OLB+s1JghxiRqXcCFTL17BZXKXv0ybFgLzUWMg4y/Zj?=
 =?us-ascii?Q?88qLimcqyWwe+dI1Gx3ZQx62dl/5kRAoAwKeCEFFl4x9HFgM+z32KrFmRpum?=
 =?us-ascii?Q?WF5ouRnwJ8qoBqcjuYFN16c4jTavXREuD2uYEu6BbBMqZPq3yEUAJX06kB3+?=
 =?us-ascii?Q?y/uf/KKyoksOox8JbOPgj5KMyerlhu2k3ItzlksEJl52wxotg2+KytWSfRNd?=
 =?us-ascii?Q?TJwr0S/Gy9v7RW0/CaJfvqvxdjZEJJsL6oQd49JiFvMx115W4WlRrPCQYzkA?=
 =?us-ascii?Q?10CfO2WtsPP1p2+eMiSPqgAkZGUT3j65oNtfSCzIURbEkg7kc1MWreoMTTr/?=
 =?us-ascii?Q?/2/AnWq0yXVEiEJuxaGJlLP3lSfwpuMdz2yNbrMCqPHEytBbRkho7mJBBG2M?=
 =?us-ascii?Q?3/TdvwJXz84zV024r2xJSwBiZc8qbHp57ndwV2r99zJHIrglqnekvo8Ui3bD?=
 =?us-ascii?Q?UBQmxl8ddTWAXfRpE+prTxToLQZDD7cyUOQceMj1KqSHSJkKy3mKDVuzttqq?=
 =?us-ascii?Q?F56IaeINnBrwykIDt7sz2SjnDikR5Oy/oUh0XcGvP/5n2rE2NcifpSiYQa//?=
 =?us-ascii?Q?c0Gt75uwHq8m1sSae14UX3XpQat3wayp65ej6mFMGrWegIijJ+Cs40hwuaQ2?=
 =?us-ascii?Q?IBhVUBGppQjqLsyiJ+wIkr0zNROkzVJVzzC3Djett69rIjie8tPRq1h2Wf9v?=
 =?us-ascii?Q?GG9xxJ5kUIQ7mxDaTHfyFm+b3hhRDrLtCzVba0IyyreWGzdbLStZdcgOB8Jx?=
 =?us-ascii?Q?cG0bQS0g/B9XXvj4nYTegC1sAKxxHoYWVa7Nra/Q5b25xZ6XE0VIYkgq9zY3?=
 =?us-ascii?Q?DC7NyWvVtiQfZM9ZgQh0p7nlreHRbWXQ87uVsJx5PUzmV4wBT3FA9vSRxrkB?=
 =?us-ascii?Q?CuEHIdGNFbgGA856Jc6Fmsl3WLQwUVZPIh+K5tVN5VaXZbWkB1GsU9ZXhk8E?=
 =?us-ascii?Q?2PQ8IHtVsHPvag521Pr4C79X?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 82b99845-7c4d-4315-b938-08d962406b9e
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2021 12:05:07.3608
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: x8Egs2Gx+W6qv1golLq4xaMySGp3wLs/Ccaz1UHDj7vECgHdhIbM+BvtuuwEYVjX36nkWKMIFowU/mUklVtkxw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5741

On 18.08.2021 13:30, Marek Marczykowski-G=C3=B3recki wrote:
> --- a/xen/arch/x86/xstate.c
> +++ b/xen/arch/x86/xstate.c
> @@ -642,6 +642,13 @@ void xstate_init(struct cpuinfo_x86 *c)
>          return;
>      }
> =20
> +    /*
> +     * Clear the cached value to make set_xcr0() and set_msr_xss() reall=
y
> +     * write it.
> +     */
> +    this_cpu(xcr0) =3D 0;

While XCR0 cannot be successfully written with 0, ...

> +    this_cpu(xss) =3D 0;

... XSS can. XSS can't be written with various other values; I'd
suggest using ~0 here. Then

Reviewed-by: Jan Beulich <jbeulich@suse.com>

and I'd be happy to make the adjustment while committing, so long
as you agree.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 18 12:07:22 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 12:07:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168225.307132 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGKLp-00027o-HF; Wed, 18 Aug 2021 12:07:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168225.307132; Wed, 18 Aug 2021 12: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 1mGKLp-00027h-ED; Wed, 18 Aug 2021 12:07:21 +0000
Received: by outflank-mailman (input) for mailman id 168225;
 Wed, 18 Aug 2021 12:07:20 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jWQ4=NJ=invisiblethingslab.com=marmarek@srs-us1.protection.inumbo.net>)
 id 1mGKLo-00027Z-Dv
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 12:07:20 +0000
Received: from out1-smtp.messagingengine.com (unknown [66.111.4.25])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c327e345-55a0-4359-b603-ed8104de5f8a;
 Wed, 18 Aug 2021 12:07:19 +0000 (UTC)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.42])
 by mailout.nyi.internal (Postfix) with ESMTP id 385775C0166;
 Wed, 18 Aug 2021 08:07:19 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Wed, 18 Aug 2021 08:07:19 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 18 Aug 2021 08:07:17 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c327e345-55a0-4359-b603-ed8104de5f8a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=oKowFU
	LHPXbYycTSY8Bupo1v97GqawWPmeZvxW+w1go=; b=E+juIwywF90keSvzg+4Q5K
	XQDhIy4NRNOqQ/bHS7bzJIZGmXtMvxgr3BAGBKgDijo1V6ZWiWyvPQ6wNh9bU1GT
	3YZjt3BUxQenr2SaYQ+c4okYqzgeNdWm0PIhwQf6t2eCu5QYm6vtZeRgJY6KeiB2
	sHv1v0sIcalquDcjb20Q66FaMbz99FefOHOStqLmLBcnVjwFYZ/5OuRxQtByrQnU
	VBjDRHfcsL46TO+URiczD/zCeic0faPmWDsBDk1UgsvlNgkXwdYC2HOrKLJKIprj
	sXJ143DGkLBmDQtwkL5MKHdieRqGRTz1FoXl4iNNjzbroNQnBrOEaXEeiMnn10yA
	==
X-ME-Sender: <xms:9vccYRtYjCA0tGrTsr1fMUxHKSr1QDdveNLZcDP7JO9ojJONiVx8qw>
    <xme:9vccYafhw93CCmZpt9iPmV8NcxVtOYA7vK9_jlL0o45_zJwigs7QaMt6fR2WgC6YN
    AxTvax5tHEhKg>
X-ME-Received: <xmr:9vccYUx2dzh5gXOjigPIycOMwrwW3rXMY8-jFSgQeOPnjVYP02J6PnAvWsaOKF5gmbzX4eaoMbz6nc6KiIUcm7WxJc1bUjR3>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrleehgdegkecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgvkhcu
    ofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinhhvih
    hsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepteevffei
    gffhkefhgfegfeffhfegveeikeettdfhheevieehieeitddugeefteffnecuvehluhhsth
    gvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehi
    nhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:9vccYYMSGZo2w5RXC-nb7fOVsRvJmzJQYOQ8ZQKyp8jNAlbJgaFqAw>
    <xmx:9vccYR9YVgrnFPyU9Y3T9_wZSFH3Q5YwbgXONk5Bg6b8aOa9ytXaJQ>
    <xmx:9vccYYX7aZnfPYbzccLOt1T02J_nhYfY6X0AkFBlCkU6d1pktm9JHQ>
    <xmx:9_ccYTKqIrDBoGP_2kwOgi7Q-aFdQbiJcl7XM4p0vkG1EX1CMvKIjA>
Date: Wed, 18 Aug 2021 14:07:14 +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>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>
Subject: Re: [PATCH] x86/xstate: reset cached register values on resume
Message-ID: <YRz38nFJpQ8hawC8@mail-itl>
References: <20210818113017.454251-1-marmarek@invisiblethingslab.com>
 <ed21b560-a52f-829b-e494-6d48438b6c3a@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="k8l2YMpQcVkz8cJN"
Content-Disposition: inline
In-Reply-To: <ed21b560-a52f-829b-e494-6d48438b6c3a@suse.com>


--k8l2YMpQcVkz8cJN
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Wed, 18 Aug 2021 14:07:14 +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>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>
Subject: Re: [PATCH] x86/xstate: reset cached register values on resume

On Wed, Aug 18, 2021 at 02:05:05PM +0200, Jan Beulich wrote:
> On 18.08.2021 13:30, Marek Marczykowski-G=C3=B3recki wrote:
> > --- a/xen/arch/x86/xstate.c
> > +++ b/xen/arch/x86/xstate.c
> > @@ -642,6 +642,13 @@ void xstate_init(struct cpuinfo_x86 *c)
> >          return;
> >      }
> > =20
> > +    /*
> > +     * Clear the cached value to make set_xcr0() and set_msr_xss() rea=
lly
> > +     * write it.
> > +     */
> > +    this_cpu(xcr0) =3D 0;
>=20
> While XCR0 cannot be successfully written with 0, ...
>=20
> > +    this_cpu(xss) =3D 0;
>=20
> ... XSS can. XSS can't be written with various other values; I'd
> suggest using ~0 here. Then
>=20
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>=20
> and I'd be happy to make the adjustment while committing, so long
> as you agree.

Yes, makes sense. Thanks!

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--k8l2YMpQcVkz8cJN
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmEc9/IACgkQ24/THMrX
1yzRpwgAgRDlRanRthkZVY5hffkzrUy5gUoo7W7B8sweSvfrFV3sTMyCTwEw5FQH
kO3fswuIE4HEiXZ/geiGi9LVBPNYZxPp4MomydpRS6C6l6J4Nru9ad5JPCTLTkYe
8FYSwWVE15CBmu9fM4TssleU8rwqsu/FReP1irua5yGgdDV5ARzfdywrkdrI9xs5
lpt2pX3FN99q5C+s904qAOmrLWETKANjvwsmQtShZ0rEX3R4QfmGvwCOYrMV/cU/
mEWtuZoq5vr44r5LKeecVZ+DE2DCvURVcy+2mCGazCtAguow6Py9LpabDowbSf7D
E98sYYvTSrMl0E9D+H92zABLPZbLIQ==
=yhSV
-----END PGP SIGNATURE-----

--k8l2YMpQcVkz8cJN--


From xen-devel-bounces@lists.xenproject.org Wed Aug 18 12:09:54 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 12:09:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168231.307143 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGKOD-0002l5-TK; Wed, 18 Aug 2021 12:09:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168231.307143; Wed, 18 Aug 2021 12:09: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 1mGKOD-0002ky-QM; Wed, 18 Aug 2021 12:09:49 +0000
Received: by outflank-mailman (input) for mailman id 168231;
 Wed, 18 Aug 2021 12:09:47 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=m5uW=NJ=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mGKOB-0002ks-SA
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 12:09:47 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 2d91f25c-001d-11ec-a549-12813bfff9fa;
 Wed, 18 Aug 2021 12:09:46 +0000 (UTC)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2104.outbound.protection.outlook.com [104.47.17.104])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-34-x4ASIRBHOBeuH3rC6-wwfg-1; Wed, 18 Aug 2021 14:09:44 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4847.eurprd04.prod.outlook.com (2603:10a6:803:54::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.18; Wed, 18 Aug
 2021 12:09:43 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Wed, 18 Aug 2021
 12:09:43 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0159.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1b::27) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Wed, 18 Aug 2021 12:09:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2d91f25c-001d-11ec-a549-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629288585;
	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=5KPWinKbWR14fGcKfhcZWMUqQPi3/q/25h9/w5coZ1k=;
	b=TMdtCrAiy+hNS1H0Lr+ARlqFi0hEhniPdGMhjs8Hy8p2IF/FJ52Ra8dTssmV1zhWMifl5K
	8P12Ftad7X3uNampp19b2bYHTDzia1aquOOzSjH6nkQkjMS/9zYvKCF3fmf7sIMnoGQBEJ
	UsS5mgo8DjnfJhnaQzCX1iDypNWdqN4=
X-MC-Unique: x4ASIRBHOBeuH3rC6-wwfg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kEDRI1DNb0yWNESuatfFVkyIgh4jsabzyhbWEBasQSH/AGKU/C1awQR1pXZ1vXzexhxGVDOLp3JEZofzCipZtLi5qpVM08HLmzYk2q25ItjwNmZ8SsS4/APDNXrOae5j3ryPtD0s1Sd7+rztQzy0Pha7Wm6OY5ZgTXlmAszHO094aBhX942wy0TtwkrY171O4PSxsamPjT6yt08Kz3Se96xA0lEFMIE8Okh3PPyg7EbWJM1YA6QTgt7O8beqCFBqnalb9PuPVfAaUhnwGWcdHiHf4Is1pn14MbkzJYml5B9yo0ymWNFJ2KuLzB8LWRYVJfLGqdoPFbhc6PhazhvkJA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5KPWinKbWR14fGcKfhcZWMUqQPi3/q/25h9/w5coZ1k=;
 b=N3WFPN4rh2NP+VJsADnKsMHEq30G9OK4GRAkbA6TkF4ENnAhPnxjah1+/mvXv5W+Y1Ej6Y6QiVb1VpFtM1g/Lmy5jBGpM4+ggNOlzXbkiXRMv8jhejshCKT/1vn82Nacb2T8BIAyBIr4xe5R8oTeevcDr7EUV9yzRviD8Zs1vn10FgH5uqnH17XneQX7wmABWNzNWx5cs0pGIe9qz6/dDUc31VeKSdEFDNrfDzfaWbmyCT097ZQ5eDKybsHJI2Xamlw79u39lHdQMUAacp9Wa9cYyzjjyIwWK9XrLHSITQMGNsJXxT93FEpWGYtfTKqc+L+gPR/jvmfcQMQ9rrkpUg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: meaning and use of IOMMU_FLUSHF_added
From: Jan Beulich <jbeulich@suse.com>
To: Paul Durrant <paul@xen.org>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <d6a6e5a3-5ea2-638e-1eb5-2fee73d82188@suse.com>
Message-ID: <496eb0fb-138e-d807-ebad-fc4b792dd9be@suse.com>
Date: Wed, 18 Aug 2021 14:09:41 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <d6a6e5a3-5ea2-638e-1eb5-2fee73d82188@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0159.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1b::27) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 8d29f0aa-d784-4b58-77e2-08d96241101a
X-MS-TrafficTypeDiagnostic: VI1PR04MB4847:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB48479971BEC9EF445D07FE84B3FF9@VI1PR04MB4847.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dcS+HJ2DPsbq0Vm/cSCii3UME4SP0gMYzqu3/eMtaoG12Hnvpz5ewuyUGIpvWDhl1wBzetPQXlpL8z0mJRcAqGkwIhEHh628+HZh4EdD8/sVQbgZgz3qaLojKL8zoKO8Uga0C9ZvELC+jcmN3Eh8bj8sFfiEkSHd0OlEaoU/aFEcD/HdQHbrwhBiQE5t6ONajIPqBlxrSg2VIg0M+ZPl9N6BwMIiGMIkGi4s1SBD17hgvDwWM1TgjuXOX+Qhnqzk0tf3kofZq/cnFwaowsmPYE65EzMbVyBlseFLKPcHee9PHHuOUCABWo8obRabFdnBGlRW2yxsvcD7HYeYjuo31cNQxBLAyqGZn3GkWlWQiC95UknFp+XQh79UGe8bK21ZJpgwKad9BV9pRXkX0Rs6J2oMAUPoDCCB6eVc7NaHX2QUhOg8xWNQANaG5QeCqFwQiPEnm1xbjAhv84VfAwv36439yKek7bMvNYbZn4TsFqjuh8uisj343CIrob4RWGYGdVJUj9OQbqtZW/l+hQ+Tyno2vnW3vxYMoUBTxdUiKIiVsqal6tOvoq2+gJrJmlO6LqIwAuC/bKTTdd+ZZE/ZSUVrPb3adikhf0kez+tOMtEj2b+ILy4pykqrwsffM2iX9gwTVluVn9tH0VsifcTNMZiABCfoTkTNghvSs+isAv2EI8aHj4TuqE1vYBkrsUPc3fRE7OMCroilZpCWO71Hok2K1G8c/lK3hXgYSW2WYXU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(346002)(136003)(376002)(396003)(39860400002)(36756003)(8676002)(316002)(8936002)(6916009)(53546011)(16576012)(5660300002)(2906002)(66556008)(38100700002)(66476007)(86362001)(31686004)(186003)(956004)(478600001)(2616005)(66946007)(6486002)(26005)(4744005)(31696002)(4326008)(83380400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Tnh6ek52em54R1VlSzJXcDlacC81Z2p3c2RZcm9YZnZaclpGMDd1aThad3dI?=
 =?utf-8?B?U2puKzhOclVid0V2bnRDdEVlVU9hSSsyTEp0TzV4V2dMYmFNdlFFSjluZTNE?=
 =?utf-8?B?MWpPMXlZdldFNStCQlc0NGFIb05CNTN4Yk13Q1g3bXlFSVRlT3M0c3RMdzRS?=
 =?utf-8?B?d0FxdmFwS1VtQXdmZE9VTkZWNjBkQlRmY043S21LT2ZiZEpRRHFjcGFMd2NW?=
 =?utf-8?B?YkUvV29Vc25EcCtGNVNlRGJWWUlrMTN0alhGM0tJcHlMT1AzKzgraC9tYldw?=
 =?utf-8?B?U2tEdzVWSUZFN2lTRlRRdnd4ZjZSbjZVUFlLSDJlaXhpeEk3SFE2dW05VEJT?=
 =?utf-8?B?MnVPK3FwS1Axd1Q4Mk1LVUpjRlFsREJJOUJxT29xY1NXSG9wcDIzWjRycjhz?=
 =?utf-8?B?VlpWRW1WME5lTEZNbTNOVStZU2U5K3BpYVBrcWdUZnJ6TDNDTWppN2hzcnVL?=
 =?utf-8?B?dnRlM200ZnlIdFR5eXo0a1RDRTFwQzRYOFdldWJTS2ROSi9XT2x5cDJheVBH?=
 =?utf-8?B?bGNqcElVa3hrT0RLTHhKWWVocEhlNXB1cXJmemhvSWFUSUpodEk0bnNXR0Rp?=
 =?utf-8?B?cnZRR3R1UkFINWFPMTVZV0Jzb0JCOWJIdGNlbWhDZEU1T3JsekV0bmZYeWUw?=
 =?utf-8?B?SzJEY1lRSFBOb0Z2STQwdk14V2R2a1BoU2RwcUorZ2pjSHRZZlRtaXlGdDNm?=
 =?utf-8?B?U3hHclA5VWpDMmhyUGVLU1lYSXlybDJsTUUyZnlnZ1RUNkV5MWhIK1FwbURW?=
 =?utf-8?B?QzU3aDZZL1VFcEFBUXIycWJMSHJCKzRYNkVKbEIzU21laGo5NUFlcXdXdVl1?=
 =?utf-8?B?QktBaW0raUJ3dFBLZzdoYlppeWZRSnNKNDhNUTNXeDlCZk82V2RWWDY4cU1V?=
 =?utf-8?B?bFRkdEw0WXl1VEQrclNaVUFBSHliUW5la0YyNk5CVVk0UHVtOVRZd3BlRENC?=
 =?utf-8?B?R3U3bUREUFlLMEJSSjgxbEFRM3N4VG45YWhQM2ZSWDZuZVk2blBlcHVNTHBv?=
 =?utf-8?B?NGViaVhVOTdOM01FbjNyVDRGVHdvWlRhczkzQmU2bThtSGxPWTdaRXQ5K1d4?=
 =?utf-8?B?cm9NUmFHWXFqU25TeUg3VWw2TWQzK1pnVGl0ZXBIQnVVcUFEWTQ3T29LNFdw?=
 =?utf-8?B?cEVlZHZEaU5ZZmZsOWY5V3l3QjZpbzFpZEIxbWQxRjZLMzVMNGNYTlpjcUNn?=
 =?utf-8?B?aENYVm1ZL0ZOSGtFbFZWazdnWEpHanV1cUFzek85YnBJdnhPSTQxMDgvOXdP?=
 =?utf-8?B?MSt1dkJiaUQ0WVI3cEx5MG5uRlk1VWdkM2RYVE1mdWMyZEt1cjlLdG94UDQx?=
 =?utf-8?B?ME5na1d1WG9KYkVNUWN2ak1Rb1lKa1hFUndkUmFtVk8remRsd2JnbGFXSS9N?=
 =?utf-8?B?MzZjUW5uWmxzMk40eHdMbFJDYUFON1MwNy9iV29HR01adXBnN2hZc2VuZmtD?=
 =?utf-8?B?MHU5RFh2Z0p2eTM1QU1vSGJ3dHplUEd5ajZiN3J2WjhLcldwbjlkSHVFcEpx?=
 =?utf-8?B?UVN2d0NEemRWRmdQd1ZPdEtTM0xISVZHUEl3S0RRRjh2UGZkYXU3djUyaisy?=
 =?utf-8?B?dEI2NlBna3NqcTNvbG5nQUJBeWtxL0RCdkFTVEZINEsxSklpVmZhQmFyV2kw?=
 =?utf-8?B?V0gxeGpmR1hYblEwOENFZVB1ajZrd01IcG05S1VqTnZPNmkwQTYyTWJqZU5Z?=
 =?utf-8?B?akFmcm5Kak9IdnBZaElGSzJlVDVtZlpLczR0TDdxdW1BZ3h0UGY4RzN2WTdn?=
 =?utf-8?Q?SidioULXEf20/cvsUQG76gMiG0jGf2DQpvUT/Oc?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8d29f0aa-d784-4b58-77e2-08d96241101a
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2021 12:09:43.3311
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: r2E6uFLAZcgFkIWpTTu6jnVtzhYT4QuBkuBWcQyC/vXMpG/7+y92uIPHN7PoL32gd3H7RRNtMQkH6Ytq7bfKRA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4847

On 18.08.2021 12:51, Jan Beulich wrote:
> Paul,
> 
> back at the time I did already question your intended meaning of
> this flag. I notice that there's presently no consumer of it being
> set (apart from yielding non-zero flush_flags). I'm afraid this
> model makes accumulation of flush flags not work properly: With
> both flags set and more than a single page altered, it is
> impossible to tell apart whether two present PTEs were altered, or
> a non-present and a present one.
> 
> VT-d's flushing needs to know the distinction; it may in fact be
> necessary to issue two flushes (or a single "heavier" one) when
> both non-present and present entries got transitioned to present
> in one go.

No two (or "heavier") flush looks to be needed upon further reading.
I did derive this from our setting of "did" to zero in that case,
but that looks to be wrong in the first place - it's correct only
for context cache entry flushes. I'll make a(nother) patch ...

Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 18 12:17:19 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 12:17:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168238.307166 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGKVN-0004aI-3c; Wed, 18 Aug 2021 12:17:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168238.307166; Wed, 18 Aug 2021 12: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 1mGKVM-0004a9-V8; Wed, 18 Aug 2021 12:17:12 +0000
Received: by outflank-mailman (input) for mailman id 168238;
 Wed, 18 Aug 2021 12:17:12 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jWQ4=NJ=invisiblethingslab.com=marmarek@srs-us1.protection.inumbo.net>)
 id 1mGKVL-0004Zf-VB
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 12:17:11 +0000
Received: from out1-smtp.messagingengine.com (unknown [66.111.4.25])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 311a1c04-1c16-4168-a105-239e8f90fe66;
 Wed, 18 Aug 2021 12:17:10 +0000 (UTC)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailout.nyi.internal (Postfix) with ESMTP id 9F8EE5C0182;
 Wed, 18 Aug 2021 08:17:10 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute1.internal (MEProxy); Wed, 18 Aug 2021 08:17:10 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 18 Aug 2021 08:17:08 -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: 311a1c04-1c16-4168-a105-239e8f90fe66
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-transfer-encoding:content-type
	:date:from:in-reply-to:message-id:mime-version:references
	:subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm3; bh=tHLu54DNbApK5FuCKF/dJDYYj+E0iXg9UepGQhkZ6
	3g=; b=pn9MK2ROqqZWRCLxD57EocBhpwWnlXIFBryNVjg519i/3L5Rbb/bm0z5Y
	eI/OXW1NnP6F66blG9rLmx1VRcJ7tl5EavCDdq8CG2HRkAt43HjBfy6bzCq+eSfy
	q6g5Uc8EN9JRyPAJ3P1pn5LM2KmhvG4YrWqYHS4b1yg1zo2Nvt8PFx6hotwAivFo
	1D3pZq7pQHEUrf/Oq9kkp2gTNyfFx0KnOzavzV6SXACbuSxDNYDo4NkQ9Nd+Rsmk
	Uf8yXldFPOFSDZ9G3aqPhHQ8BdRYefApFyStgPzZxE5PgAa5MCO/7ZD118KO9ah/
	hWn2MYZpeqZWrgGsg9SVFol8wdQoQ==
X-ME-Sender: <xms:RvocYQFH6jxHjG85MAvjkY4nFXnJBClANogApY9h4C75eWZBt5KsSA>
    <xme:RvocYZU9bQYzYdbvDKml1pHNXZqA4bj_AScP7YNLP2uxWK6HJd-7htfCwnSTIL8a1
    BMRauwLaqg1-w>
X-ME-Received: <xmr:RvocYaJuk9SprVngzq7D5qUeK9_FNt_P8Vkwzuyc5ETz1vO9CCw2CE1I68WqmPQkANqs_88>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrleehgdehtdcutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvffufffkofgjfhggtghogfesthekredtredtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepleek
    ueejhfefieevkeetvdeuleegkefhvdehffdtgfetueefgeehteduteehfffhnecuffhomh
    grihhnpehmrgiglhhinhgvrghrrdgtohhmnecuvehluhhsthgvrhfuihiivgeptdenucfr
    rghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhih
    hnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:RvocYSETZ7agz5dH7W3hwIGOj2o9nWQsC5P-nzO0NE9z0R_4l4jPwg>
    <xmx:RvocYWWPwsGbtAt1gZPb2Hf2QX1L0x9CAL_dNXZWYcPbr1Bgm3U9BA>
    <xmx:RvocYVNorpS9Eo6OXDnfl4Y0-QcPCsn2LY1ZXSNgcwIOVcV_ZQy-vg>
    <xmx:RvocYYJu64O0_Njem6GP2oWpdc4hXmC01mvuwfSHUq1K-KkIu5lLXQ>
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>,
	Ian Jackson <iwj@xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v2 2/2] ns16550: add Exar PCIe UART cards support
Date: Wed, 18 Aug 2021 14:16:48 +0200
Message-Id: <20210818121649.462413-2-marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20210818121649.462413-1-marmarek@invisiblethingslab.com>
References: <20210818121649.462413-1-marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Organization: Invisible Things Lab
Content-Transfer-Encoding: 8bit

Besides standard UART setup, this device needs enabling
(vendor-specific) "Enhanced Control Bits" - otherwise disabling hardware
control flow (MCR[2]) is ignored. Add appropriate quirk to the
ns16550_setup_preirq(), similar to the handle_dw_usr_busy_quirk(). The
new function act on Exar 2-, 4-, and 8- port cards only. I have tested
the functionality on 2-port card but based on the Linux driver, the same
applies to other models too.

Additionally, Exar card supports fractional divisor (DLD[3:0] register,
at 0x02). This part is not supported here yet, and seems to not
be required for working 115200bps at the very least.

The specification for the 2-port card is available at:
https://www.maxlinear.com/product/interface/uarts/pcie-uarts/xr17v352

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
Changes in v2:
 - use read-modify-write for enabling ECB
 - handle also 4- and 8-ports cards (but not everything from Exar)
 - formatting fixes
---
 xen/drivers/char/ns16550.c  | 81 ++++++++++++++++++++++++++++++++++++-
 xen/include/xen/8250-uart.h |  5 +++
 xen/include/xen/pci_ids.h   |  2 +
 3 files changed, 86 insertions(+), 2 deletions(-)

diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index 97b85b0225cc..27501f28aa7b 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -88,6 +88,9 @@ struct ns16550_config {
         param_pericom_2port,
         param_pericom_4port,
         param_pericom_8port,
+        param_exar_xr17v352,
+        param_exar_xr17v354,
+        param_exar_xr17v358,
     } param;
 };
 
@@ -169,6 +172,29 @@ static void handle_dw_usr_busy_quirk(struct ns16550 *uart)
     }
 }
 
+static void enable_exar_enhanced_bits(struct ns16550 *uart)
+{
+#ifdef NS16550_PCI
+    if ( uart->bar &&
+         pci_conf_read16(PCI_SBDF(0, uart->ps_bdf[0], uart->ps_bdf[2],
+                         uart->ps_bdf[2]), PCI_VENDOR_ID) == PCI_VENDOR_ID_EXAR )
+    {
+        u8 devid = ns_read_reg(uart, UART_XR_DVID);
+        u8 efr;
+        /*
+         * Exar XR17V35x cards ignore setting MCR[2] (hardware flow control)
+         * unless "Enhanced control bits" is enabled.
+         * The below checks for a 2, 4 or 8 port UART, following Linux driver.
+         */
+        if ( devid == 0x82 || devid == 0x84 || devid == 0x88 ) {
+            efr = ns_read_reg(uart, UART_XR_EFR);
+            efr |= UART_EFR_ECB;
+            ns_write_reg(uart, UART_XR_EFR, efr);
+        }
+    }
+#endif
+}
+
 static void ns16550_interrupt(
     int irq, void *dev_id, struct cpu_user_regs *regs)
 {
@@ -303,6 +329,9 @@ static void ns16550_setup_preirq(struct ns16550 *uart)
     /* Handle the DesignWare 8250 'busy-detect' quirk. */
     handle_dw_usr_busy_quirk(uart);
 
+    /* Enable Exar "Enhanced function bits" */
+    enable_exar_enhanced_bits(uart);
+
     /* Line control and baud-rate generator. */
     ns_write_reg(uart, UART_LCR, lcr | UART_LCR_DLAB);
     if ( uart->baud != BAUD_AUTO )
@@ -781,7 +810,37 @@ static const struct ns16550_config_param __initconst uart_param[] = {
         .lsr_mask = UART_LSR_THRE,
         .bar0 = 1,
         .max_ports = 8,
-    }
+    },
+    [param_exar_xr17v352] = {
+        .base_baud = 7812500,
+        .uart_offset = 0x400,
+        .reg_width = 1,
+        .fifo_size = 256,
+        .lsr_mask = UART_LSR_THRE,
+        .bar0 = 1,
+        .mmio = 1,
+        .max_ports = 2,
+    },
+    [param_exar_xr17v354] = {
+        .base_baud = 7812500,
+        .uart_offset = 0x400,
+        .reg_width = 1,
+        .fifo_size = 256,
+        .lsr_mask = UART_LSR_THRE,
+        .bar0 = 1,
+        .mmio = 1,
+        .max_ports = 4,
+    },
+    [param_exar_xr17v358] = {
+        .base_baud = 7812500,
+        .uart_offset = 0x400,
+        .reg_width = 1,
+        .fifo_size = 256,
+        .lsr_mask = UART_LSR_THRE,
+        .bar0 = 1,
+        .mmio = 1,
+        .max_ports = 8,
+    },
 };
 
 static const struct ns16550_config __initconst uart_config[] =
@@ -1007,7 +1066,25 @@ static const struct ns16550_config __initconst uart_config[] =
         .vendor_id = PCI_VENDOR_ID_PERICOM,
         .dev_id = 0x7958,
         .param = param_pericom_8port
-    }
+    },
+    /* Exar Corp. XR17V352 Dual PCIe UART */
+    {
+        .vendor_id = PCI_VENDOR_ID_EXAR,
+        .dev_id = 0x0352,
+        .param = param_exar_xr17v352
+    },
+    /* Exar Corp. XR17V354 Quad PCIe UART */
+    {
+        .vendor_id = PCI_VENDOR_ID_EXAR,
+        .dev_id = 0x0354,
+        .param = param_exar_xr17v354
+    },
+    /* Exar Corp. XR17V358 Octal PCIe UART */
+    {
+        .vendor_id = PCI_VENDOR_ID_EXAR,
+        .dev_id = 0x0358,
+        .param = param_exar_xr17v358
+    },
 };
 
 static int __init
diff --git a/xen/include/xen/8250-uart.h b/xen/include/xen/8250-uart.h
index 5c3bac33221e..74e9d552a718 100644
--- a/xen/include/xen/8250-uart.h
+++ b/xen/include/xen/8250-uart.h
@@ -35,6 +35,8 @@
 #define UART_USR          0x1f    /* Status register (DW) */
 #define UART_DLL          0x00    /* divisor latch (ls) (DLAB=1) */
 #define UART_DLM          0x01    /* divisor latch (ms) (DLAB=1) */
+#define UART_XR_EFR       0x09    /* Enhanced function register (Exar) */
+#define UART_XR_DVID      0x8d    /* Device identification */
 
 /* Interrupt Enable Register */
 #define UART_IER_ERDAI    0x01    /* rx data recv'd       */
@@ -121,6 +123,9 @@
 /* Frequency of external clock source. This definition assumes PC platform. */
 #define UART_CLOCK_HZ     1843200
 
+/* Bits in Exar specific UART_XR_EFR register */
+#define UART_EFR_ECB      0x10
+
 /* Resume retry settings */
 #define RESUME_DELAY      MILLISECS(10)
 #define RESUME_RETRIES    100
diff --git a/xen/include/xen/pci_ids.h b/xen/include/xen/pci_ids.h
index 7788ba9d2f34..e798477a7e23 100644
--- a/xen/include/xen/pci_ids.h
+++ b/xen/include/xen/pci_ids.h
@@ -4,6 +4,8 @@
 
 #define PCI_VENDOR_ID_PERICOM            0x12d8
 
+#define PCI_VENDOR_ID_EXAR               0x13a8
+
 #define PCI_VENDOR_ID_OXSEMI             0x1415
 
 #define PCI_VENDOR_ID_BROADCOM           0x14e4
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 18 12:17:19 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 12:17:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168237.307155 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGKVH-0004Gm-QP; Wed, 18 Aug 2021 12:17:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168237.307155; Wed, 18 Aug 2021 12: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 1mGKVH-0004Gf-NS; Wed, 18 Aug 2021 12:17:07 +0000
Received: by outflank-mailman (input) for mailman id 168237;
 Wed, 18 Aug 2021 12:17:07 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jWQ4=NJ=invisiblethingslab.com=marmarek@srs-us1.protection.inumbo.net>)
 id 1mGKVG-0004GZ-Sh
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 12:17:07 +0000
Received: from out1-smtp.messagingengine.com (unknown [66.111.4.25])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 32b54d3e-001e-11ec-a549-12813bfff9fa;
 Wed, 18 Aug 2021 12:17:05 +0000 (UTC)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.nyi.internal (Postfix) with ESMTP id C09645C013E;
 Wed, 18 Aug 2021 08:17:05 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute4.internal (MEProxy); Wed, 18 Aug 2021 08:17:05 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 18 Aug 2021 08:17:03 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 32b54d3e-001e-11ec-a549-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-transfer-encoding:content-type
	:date:from:message-id:mime-version:subject:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=WK7aJH
	zAWiHIDyinLYF6llZgglqbrKg3e8i20rp8HeU=; b=JqNwioQhZiIfRm+iKofegt
	pvnDCtMnurud/eEDk1AmpEwefySfLfsA3hrE2jCVuUa1aJoqH6lByfmO1oSlrbCW
	+XEU86568DOu2uAZ884juO6g1ngI2kNuWAKD55sm5I1wyZ50jTm9mb171dnW1cVj
	F03rDe+ZLQqNPTj4xuTXvBEoNWt6mTpW/g+wAlkOa+96AaiprfvTy+FBYvClcAcK
	7Y+E6tMj1drAQ1JH+CkzcHexdU+fNBEJVgmYzARBRQxyQ1BA4ddVt9ZdKeJh5Tbx
	5zzU8HTGaLeEulfl0xaYVLDWT6sisrcIVYW4RRNfV1BV1Z2CHZPYa1dLO27kGwDQ
	==
X-ME-Sender: <xms:QPocYRDaIFwBOvDRw1VZQUDzj45Rr91OBAwv_XrTuRJZxeExhhavyQ>
    <xme:QPocYfhUnezjELpJf5zcnjshyGXFu-RYbGJM1Fkjlm-wqMx1pJJpFPfxEjkrlBqcH
    YMk7hhdCn4fFA>
X-ME-Received: <xmr:QPocYclVVHUw8tHZ_T-q0jREgxOQz1DvygjrJu9OiGdoXIy68Xch2MqzbZLpxxPpTLwG_a8>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrleehgdehtdcutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvffufffkofggtghogfesthekredtredtjeenucfhrhhomhepofgrrhgvkhcu
    ofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinhhvih
    hsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepteegteek
    ueekfffhjeeuleduheettdekueeitdfggfdthfevfeeuieeihfduheegnecuvehluhhsth
    gvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehi
    nhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:QPocYbyIKmJyS40dQvHw7eZxUKKxix2e18PcS6wjzbZ112zRH4FNcg>
    <xmx:QPocYWTkiFShIwtAi8iTIVZ1BaU2Nx7LOx2ZQqtFfiPZkt-5EG6bLQ>
    <xmx:QPocYeaykcDhO7RK1MO1yxKyVjREjvZdYBjErQuQYT1NtMx8etnjMw>
    <xmx:QfocYVHjuCC-KzrDCvfhy5ActGsxsJyj8MYBe2-V9HRwaWDniCDiiA>
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Ian Jackson <iwj@xenproject.org>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v2 1/2] ns16550: do not override fifo size if explicitly set
Date: Wed, 18 Aug 2021 14:16:47 +0200
Message-Id: <20210818121649.462413-1-marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.31.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Organization: Invisible Things Lab
Content-Transfer-Encoding: 8bit

If fifo size is already set via uart_params, do not force it to 16 - which
may not match the actual hardware. Specifically Exar cards have fifo of
256 bytes.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/drivers/char/ns16550.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index 16a73d0c0e47..97b85b0225cc 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -357,7 +357,8 @@ static void __init ns16550_init_preirq(struct serial_port *port)
     ns16550_setup_preirq(uart);
 
     /* Check this really is a 16550+. Otherwise we have no FIFOs. */
-    if ( ((ns_read_reg(uart, UART_IIR) & 0xc0) == 0xc0) &&
+    if ( uart->fifo_size <= 1 &&
+         ((ns_read_reg(uart, UART_IIR) & 0xc0) == 0xc0) &&
          ((ns_read_reg(uart, UART_FCR) & UART_FCR_TRG14) == UART_FCR_TRG14) )
         uart->fifo_size = 16;
 }
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 18 12:44:49 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 12:44:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168248.307177 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGKvy-0008AH-9V; Wed, 18 Aug 2021 12:44:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168248.307177; Wed, 18 Aug 2021 12:44:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGKvy-0008AA-6O; Wed, 18 Aug 2021 12:44:42 +0000
Received: by outflank-mailman (input) for mailman id 168248;
 Wed, 18 Aug 2021 12:44:40 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MkKE=NJ=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mGKvw-0008A3-1e
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 12:44:40 +0000
Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 99382d05-6c1b-4dcd-93e1-8a0e688e9fdf;
 Wed, 18 Aug 2021 12:44: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: 99382d05-6c1b-4dcd-93e1-8a0e688e9fdf
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629290678;
  h=subject:to:cc:references:from:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=WF5YtZyZmbMnzgx+lb1T+yu77ciyPvMP6CrWKYfX3lc=;
  b=iQj5tZ8bunMJglV+BOCDtD5h+XBbMk+0n15Oinz0Yl5RwvkC4MDAHing
   FaXqUsSWao51tg6uDPlLLPoAQGnvG7l1qZnuXujxDRXJmRXtwwH2WNIZU
   9UbN9TUxWqWwgkc0JLPwF5Kh3RLLxLpBR/iyzDL+HGQawwUnO+tBZfY/h
   4=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: /tGpiP0w/p082c32XK/uuIea1KV2XQ4FX0mDxRr0wUzYmzD5b15/4iryO46vevfYxbhgMin5/f
 MXoWp4k0ivRsZyToEh9sJLd1Zaha2A6StZge34I0RpGC1Kt0+kZUid/37cYu8eVwZm7hogmLtw
 so9Id6vX7CtNQ3Og6QRfdgPwrU3QpuhIntq95FFsAzGYlhdMZhmruvjfieot5vnXcNZQj9hTTq
 D+bOYVOtlVAdBdNaWJbDYL67SOQ0MEzGh33SbLEgpnyvDDpYDrncvWufEmaXpxGFkfAr4Q4N7f
 3qHc8PBBSKj9kGTVIYIdPWHL
X-SBRS: 5.1
X-MesageID: 50366008
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:iBQxpK7XRqifRmMWwgPXwDjXdLJyesId70hD6qkQc3Fom62j5q
 eTdZEgvyMc5wx/ZJhNo7690ey7MBDhHP1OkO0s1NWZPDUO0VHARO1fBMnZsl/d8kXFndK1vp
 0QFpSWZueQMbB75/yKnDVREbwbsaa6GHbDv5ah859vJzsaGp2J921Ce2Cm+tUdfng9OXI+fq
 Dsn/Zvln6bVlk8SN+0PXUBV/irnay3qHq3CSR2fyLO8WO1/EiV1II=
X-IronPort-AV: E=Sophos;i="5.84,330,1620705600"; 
   d="scan'208";a="50366008"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=B+zd/1sz+CC5JZwDENWYA5HeOfahd/7TyGnBOKF3q3NM6LPOgyZ919AJYDkwNpa1CAWAOanSLhoSNH7T9RrntwmbZF9Kq/bOetlxMaFr0ErYKhOlXF1WBkhe5Jqe4rGUv1ls+OUTxOqTuxZ88JrBM1yJRzHOniVJ8AQYa5QxxpAFeXwkP/S78VUCZVwcPvtDrxOd7+CcEgCIVJw8XzzXO4Aed9a5ojdxsou+UmnLOepFL5S6OvZw/eRQFry0baRooeuukGAvsJ7xpuxN1V9tBsrKDRzRW1iNyi5w3CHpXwsGjhwt9/9+/K4p6rO7HM/O0fktw34LlCT7HssSqncp/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-SenderADCheck;
 bh=aFYhDBhUCS0YD40eROBDEVLhliCAdHbpSCDqVnK4Ujw=;
 b=XagxKyL1OacL9L2ylVGI1zdH8tsqaYtdQkW+V3KbfT57jEahAPeNmZQYpGjwHD1OXtcdYjXJ60it78FyNK3iE6RclH2A5gTCu5Jj0aHajYUL/xxWnrJwoYWHo8O8s48ntK4O+mixazNj8uWEJbTiZxplXIgt8q30rQbJgY3LqtekfPGlPc7cLq9ewE8nEGNVrE2PERa6kDBjYL/v34uo4MfbG8dIFJBfrAd/IVHz+6jPFc4EySJxYxtDN9pVKABZ9UFYVZS//DG7/ldtoavgHQcwKn/DXTYbjjtxwB35dTActdMYKiKS4mfZfjZ9Jya53K+LPz/l3urOA1ZNGEbc5Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=aFYhDBhUCS0YD40eROBDEVLhliCAdHbpSCDqVnK4Ujw=;
 b=cWhmECRSLKPy0UaSyWQ7jkPou9tnsWXldURYHY2Q8+TgyOwh7TsQfkZAthfYFTihcSUwDIIcW2lIFFCyhMWmJKSJa2DmUZy4XmJTG4b8lI7ddDtObey1Ec51MvsSej3skiu3/JkCOWEBi8HQk9/lQm3hmhWl8fo00INu5YOCEPU=
Subject: Re: [PATCH] x86/xstate: reset cached register values on resume
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
	<marmarek@invisiblethingslab.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>
References: <20210818113017.454251-1-marmarek@invisiblethingslab.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Message-ID: <45de5185-b514-8c52-6922-4c587818c698@citrix.com>
Date: Wed, 18 Aug 2021 13:44:31 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210818113017.454251-1-marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Content-Language: en-GB
X-ClientProxiedBy: LO2P265CA0295.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:a5::19) To BN7PR03MB3618.namprd03.prod.outlook.com
 (2603:10b6:406:c3::27)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f472b05b-3a19-48bf-1fef-08d96245ef7a
X-MS-TrafficTypeDiagnostic: BN7PR03MB3428:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <BN7PR03MB34283E63AB8D85235EA7AEE0BAFF9@BN7PR03MB3428.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: exhacGP7UwwotIVs23mCHJO4tKBJq8ZKlMSzOQ0X213CkRkU73/9ukpS3LCQTEL++/2/S+8XfIANbohAuHguHwFS+RZKN/u0KLqTVhKgUrnW7QOJIa1viHubp6eUtGzgWdPUTOfRttiiR8VoPOMwjVcAw69FnZjiy3sWBkBOY4ywPMzRx+2w5iTX7GRCEpXXpeZG97SasOmUZ4ZqpFu2KWq8EEIZA+PuGmfIzilUoqqI1EB6rrFbIb155Y9nAQeNbZOJWzwbRa7r1/XPh5TPM+MddymJ4lOM9ZW9QuI+2BS4rcPbzvHkh1d6PFHPqUc8KD0StV9Bd0rJSdqgW5Z/YRMTNFp37Mg9kdI4KGHLG5Tg///BNyyVvQk8DIhjzWvXuObZab/pz+ElpsVZddqJIVKHArMXHJB1Qm2tJzZK6j8tZPbrQLG/es+UUmzGddiPXtxCeozvYpGhgBv51JHkaboRGGkx0NrBHP/8sMXIAoXLMsjCHZn83JwTfcnNFZ0+gLu9agxVY7kHN3F69Efq3ex3eRg9GrcYkRFLdK/BmVlsu2+4cYHDF67ALWCnyUgibHfRqgY5Jgss577vQaBdgfScXX+3o2QTnhoUD/pJtOlSDvweoasG/ZtxZ1CtwC8jSHZpL46Hl0UBfSIUbWpWyRoXuTQYyR+DcMdHPEkgzfqiYgvknHb7Lez32046BJhE+f0ESF92PeHdpud9nJKRROge9RTc4I4vuGbozkFHfLc=
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:(4636009)(136003)(346002)(39860400002)(366004)(396003)(376002)(6486002)(4326008)(66946007)(66476007)(66556008)(5660300002)(2906002)(6666004)(83380400001)(86362001)(8676002)(53546011)(38100700002)(54906003)(186003)(31686004)(36756003)(2616005)(16576012)(316002)(956004)(31696002)(66574015)(478600001)(8936002)(26005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RFNQT2Y0b05BVnAxN2NOdjhmb0tZUkRjQmwvcThrZzM3ZWFrQzBOZnJseXI3?=
 =?utf-8?B?NDlBcFJUUkN2V0xHQ01CQmdnNDRCdXI1Vk5QeXB6MXZDM0lZdUI5T3hDMHpq?=
 =?utf-8?B?OTNneVdrM2t5SWMxUTliT0dYTENtRjZTcTVySkUwVU5HZVNQSHdoaHlZYno3?=
 =?utf-8?B?TkllQW5zR1RVNCs3aTdPM0FMcVBYaWk3QXRoWHR3N25nQzhnbGdqMit6bTNt?=
 =?utf-8?B?dUJmOVhRcS9Ca2IyL29RYk0xYWtTdVE4NXgwNDAvUGVCaFJiT1BGR3lnSENO?=
 =?utf-8?B?UzhUM3ROVlZsK1J3OTNsR1VZeWN1Ukx1ZGU2T1gvbzQ1Wnh2TU9OQllHOEw4?=
 =?utf-8?B?dnUvS0ZPRHlJb0paelNFdTExeGxPMjRzbDR2aXlsYjBJTFA5d0tFZ2w2Mys2?=
 =?utf-8?B?YUVRUm1wUGNyZ1I4WVVRSmtVaC9CMjZicHVSeFJ0bGZKekZPR1Iwek5VSk51?=
 =?utf-8?B?NDMwVFdvSk9WWjdjTE14VHo5UUM2T2NRTksrVXJaQ1FMVll4U0ZTZUVBRlVE?=
 =?utf-8?B?eDhPS21WeW5EbDcxZ1I5Q1hBKzg2TkVUakpzTklzNWcyanRsY1B1NFo5cDJo?=
 =?utf-8?B?VjdCTlkyd0ZzTXpydldYank2bEhhTEtEbVFWTmJ4VE1Kb2ZTUDFQNlZkMGti?=
 =?utf-8?B?M0JzVlBZQ2tYcDZya2pIYytORlZxOHBNK2w2dkxtZHBNdEo3aVVRYmtIS0hQ?=
 =?utf-8?B?aTFSUGpBWjBtUWdBaU16UUNaV09nbXltZnQwTTZ0MzNuVHBaODhCSE1ZQnRU?=
 =?utf-8?B?SU8wKzNHVHY5WjZUVDFEbzkxN0dvZmxTYkZyY1JRLzRtekxPdmNuaEUwR0RH?=
 =?utf-8?B?MzJjc0dmY3Y4aDdLL29ZYzRVUFBoUkZPendvYmtUSzZ0QUZTMm9IelN0cWov?=
 =?utf-8?B?dFZ2dFh1dnRnRWNVMjdoRDhSZkVEbGIvYU9FT1A1aDg1bW9MNnl5R2JLRERL?=
 =?utf-8?B?RGViMmgzTnFISC9jL3lqcStaa1hiUkczTGhhbFZWWVB5cEZnMllFa1dUQWRI?=
 =?utf-8?B?NDdCUjdyMUVVRDZtK3hEWE1sTjJ0SlUyTlAxSVBFVTE0TmoxMVVibElwcGhP?=
 =?utf-8?B?cVY5WHhoYWtJZGxyQU5QSHcycjh0VjNkZVZGOE5GOC9sQy9qMU5CYkNoN09B?=
 =?utf-8?B?c0Y5enFFYkJoSHdBdW9lZXZrOGhPR093ZmlyWG5oUVNmVk00L01kcmU5NjRq?=
 =?utf-8?B?OXBqVVRDemU4YVR2NWJSVDhvRHNDSmJzMjA4dHhrWE1aSmNPb3hXaTNTVy9S?=
 =?utf-8?B?Q2YxWXpHWDdMTEZnTlFFRUkyd3kxTFYyQ1hlMGJFdDlya2Jid1JGTFIwL0Nr?=
 =?utf-8?B?eXhwdDU0WTNHSTVYR2FUWDNRbVUxS1JBQ1NHaEZBR3BObnBPckhKc3IwRmt0?=
 =?utf-8?B?cE5SU05qeU1JUG5IbFozNW5CME9lbFFmdUVHWFlIVXYzc2tJMUtJQVhTTEpy?=
 =?utf-8?B?RmZRcTFtb1EzSXJUT21qYXVGRXhJODVOTkE5OUdvQk16VHlYeC9CeWhwOFJD?=
 =?utf-8?B?MnRnc2YyUFhCSDhETzVSNjh5aUI1TTdsWmZPaHRaUEZ5ZzRyWm9KdU5xMVR3?=
 =?utf-8?B?UUpicHB4THVkUWNOcUVtRjVnMnltaU9zWjExU0N5TEVOY2VpSUNCdkZJU1lP?=
 =?utf-8?B?Q2RGdDBMdFJ6SFZBVXpOZ3pZT0k1WVJubHEvNVlvSFlvUW8wMzhETEY4c3Vm?=
 =?utf-8?B?N0NMYzE1SldNMEFwUnoreEQzdUtiYjFnL0NBUllNR3dnMGF3WXRRTFZYZHZk?=
 =?utf-8?Q?S4Bu0abVkml8FqdYGYozd3r+nTTvYq4d2/Zp3Y4?=
X-MS-Exchange-CrossTenant-Network-Message-Id: f472b05b-3a19-48bf-1fef-08d96245ef7a
X-MS-Exchange-CrossTenant-AuthSource: BN7PR03MB3618.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2021 12:44:36.1168
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 2KpfFbalfkiIwhBk5QJwPC2ECN+VuvoKtKtvb+nIWnztC/2AICYsKGk7zVa0mNOufeNEL/4ktofRGmIkGS8LgJIhSoGliP0aJnKulp3ODAU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR03MB3428
X-OriginatorOrg: citrix.com

On 18/08/2021 12:30, Marek Marczykowski-Górecki wrote:
> set_xcr0() and set_msr_xss() use cached value to avoid setting the
> register to the same value over and over. But suspend/resume implicitly
> reset the registers and since percpu areas are not deallocated on
> suspend anymore, the cache gets stale.
> Reset the cache on resume, to ensure the next write will really hit the
> hardware. Choose value 0, as it will never be a legitimate write to
> those registers - and so, will force write (and cache update).
>
> Note the cache is used io get_xcr0() and get_msr_xss() too, but:
> - set_xcr0() is called few lines below in xstate_init(), so it will
>   update the cache with appropriate value
> - get_msr_xss() is not used anywhere - and thus not before any
>   set_msr_xss() that will fill the cache
>
> Fixes: aca2a985a55a "xen: don't free percpu areas during suspend"
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

I'd prefer to do this differently.  As I said in the thread, there are
other registers such as MSR_TSC_AUX which fall into the same category,
and I'd like to make something which works systematically.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Aug 18 12:47:39 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 12:47:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168253.307188 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGKyo-0000OB-P1; Wed, 18 Aug 2021 12:47:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168253.307188; Wed, 18 Aug 2021 12: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 1mGKyo-0000O4-Ls; Wed, 18 Aug 2021 12:47:38 +0000
Received: by outflank-mailman (input) for mailman id 168253;
 Wed, 18 Aug 2021 12:47: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 1mGKym-0000Nu-S0; Wed, 18 Aug 2021 12:47: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 1mGKym-0005ys-N0; Wed, 18 Aug 2021 12:47: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 1mGKym-0000Tu-EA; Wed, 18 Aug 2021 12:47:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mGKym-0005vG-BF; Wed, 18 Aug 2021 12: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=27k2vI+3mwByV2ol2UlcA19wXTrXKQghW/iDQBHGWbg=; b=Jzqd6Px+c5BAbmaOTBvDMJrh/8
	Fan91t2YtnFbQezTAwJxlOeAI53I5IlxCt7L0bjZFV1ipJ5+e1xsikUupBQsumbDjgcjv/v6/4ffd
	bWzyVjpMUJyieMoX0YReAIseaBabTOHjldMdT0ZTX67BQiP6TRJlNQHwLEepMhA5n6uU=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164236-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 164236: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=5590fbf8d6adbf87999f5883bb97cf5782042fdf
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 18 Aug 2021 12:47:36 +0000

flight 164236 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164236/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              5590fbf8d6adbf87999f5883bb97cf5782042fdf
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  404 days
Failing since        151818  2020-07-11 04:18:52 Z  403 days  395 attempts
Testing same since   164236  2021-08-18 04:20:08 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  Cédric Bosdonnat <cbosdonnat@suse.com>
  Côme Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano Fidêncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Ian Wienand <iwienand@redhat.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  John Ferlan <jferlan@redhat.com>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  Ján Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Michał Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  Moshe Levi <moshele@nvidia.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr Drąg <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tomáš Golembiovský <tgolembi@redhat.com>
  Tomáš Janoušek <tomi@nomi.cz>
  Tuguoyi <tu.guoyi@h3c.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  William Douglas <william.douglas@intel.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 69077 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 18 13:54:35 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 13:54:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168260.307202 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGM1N-0007JQ-P3; Wed, 18 Aug 2021 13:54:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168260.307202; Wed, 18 Aug 2021 13: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 1mGM1N-0007JJ-KA; Wed, 18 Aug 2021 13:54:21 +0000
Received: by outflank-mailman (input) for mailman id 168260;
 Wed, 18 Aug 2021 13:54:20 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=AKgd=NJ=suse.com=dfaggioli@srs-us1.protection.inumbo.net>)
 id 1mGM1M-0007JD-Rb
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 13:54:20 +0000
Received: from smtp-out1.suse.de (unknown [195.135.220.28])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id c891ee48-002b-11ec-a557-12813bfff9fa;
 Wed, 18 Aug 2021 13:54:19 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id A6C1F22077;
 Wed, 18 Aug 2021 13:54: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 625E513DF8;
 Wed, 18 Aug 2021 13:54:18 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id VEnsFQoRHWGBSQAAMHmgww
 (envelope-from <dfaggioli@suse.com>); Wed, 18 Aug 2021 13:54:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c891ee48-002b-11ec-a557-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1629294858; 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=2YbY10+NGpKrGppmyiyZVAv5mvImyBr9mjnPtIxuXFE=;
	b=TqdCXERx6vUu7Ke6yX3lQX86UfqMnCziMNRSENygulLhoCmfFqaJFz6XGCoFfgNX+wPcQ/
	SBXnUXB6wA7RTCOJrRMsp/WXGzsb9N6P8TAo+E0jSTGQ3WH6O1VC+tx5jqoSesEhSDvXHC
	8zzu2PwPW9R0kampTjdfr1ddz+k5aSw=
Message-ID: <ee399fcbf01ac32a4b26cc9660f400b8d60148b1.camel@suse.com>
Subject: Re: [PATCH] xen/sched: fix get_cpu_idle_time() for smt=0
 suspend/resume
From: Dario Faggioli <dfaggioli@suse.com>
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: George Dunlap <george.dunlap@citrix.com>, Marek
	=?ISO-8859-1?Q?Marczykowski-G=F3recki?=
	 <marmarek@invisiblethingslab.com>, Jan Beulich <JBeulich@suse.com>
Date: Wed, 18 Aug 2021 15:54:17 +0200
In-Reply-To: <20210818102136.23797-1-jgross@suse.com>
References: <20210818102136.23797-1-jgross@suse.com>
Content-Type: multipart/signed; micalg="pgp-sha256";
	protocol="application/pgp-signature"; boundary="=-fx8KqQmfsqiV4+IklIdZ"
User-Agent: Evolution 3.40.3 (by Flathub.org) 
MIME-Version: 1.0


--=-fx8KqQmfsqiV4+IklIdZ
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2021-08-18 at 12:21 +0200, Juergen Gross wrote:
> Fix that by letting get_cpu_idle_time() deal with this case.
>=20
> Fixes: 132cbe8f35632fb2 ("sched: fix get_cpu_idle_time() with core
> scheduling")
> Reported-by: Marek Marczykowski-G=C3=B3recki
> <marmarek@invisiblethingslab.com>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> Tested-by: Marek Marczykowski-G=C3=B3recki
> <marmarek@invisiblethingslab.com>
>
Mmm... This is an interesting one. In fact, this fix is not only
correct, it's also simple, effective and (I guess) easy enough to
backport.

Considering all these things together with the fact that we have an
open issue, I'm going to provide my:

Acked-by: Dario Faggioli <dfaggioli@suse.com>

(and this remains valid with Jan's proposed change done upon
committing.)

That said, in the long run...

> ---
> An alternative way to fix the issue would be to keep the
> sched_resource
> of offline cpus allocated like we already do with idle vcpus and
> units.
> This fix would be more intrusive, but it would avoid similar other
> bugs
> like this one.
>=20
... it would be probably interesting to go this route, as it looks both
more consistent and future proof (I mean implement it proactively,
independently of issues... when/if we have time, of course!)

Thanks and Regards
--=20
Dario Faggioli, Ph.D
http://about.me/dario.faggioli
Virtualization Software Engineer
SUSE Labs, SUSE https://www.suse.com/
-------------------------------------------------------------------
<<This happens because _I_ choose it to happen!>> (Raistlin Majere)

--=-fx8KqQmfsqiV4+IklIdZ
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEES5ssOj3Vhr0WPnOLFkJ4iaW4c+4FAmEdEQkACgkQFkJ4iaW4
c+474RAAqhfZ6gHj0oKXUOIy8ut9sDzthwfReOler5pKUVtOQpGxN2bTD/gBKoYB
ztV5evuKAfo0IG+k7FBDcIL3k7iz0yoZ2pkQcaegRWKEyCCxMn1Y9N/6seQWxufL
Vglisjnmh5uRlgm6/9qYEHzYz8rCvq5NwfNwDUXKTnPLzeUVvlacLSF3wy0+kLO0
CKrbWJKvkaDTzS2h2b9rSZsT8p/Zv5PY9pv/sDixD4nGFnki2E8z3g8y+K0QpX+q
FgeeZBP6XGfNiTShUrMhtJFsds0VCRswYWmJl1/cv2V0UlTj8HcO7B1zoX9uRFsy
g9lQ4pekcNhLTNklJ7Hp59i5sSqgj3O8PwWOeUeFKDl8M+76ZC+yLqfWlQencREE
WPdJOBZnm/9DfAj4/F3nwJU+wwS+58SKRXpX8n2+FG+vyqzJW1XhPxMsYlxwPhut
icaKgoPqewhaue2BX21Kdn523abFaxZkSW/4ifJ+GAdcEJc3PsLH9EpbOfm4twRv
Jrupf6lvwkK7YVWmFLLxCMnsFbV7TES930gYpZwqD8A4K8ZYa8u7ZNPr27vhiCpK
hYCNQZgOv+7m5fYPKPjKlBJvptySOCBvv8WHHB/euX43jfT+B7hL5SuGv+rVrarD
e9p7N98Xc7HP55zzJBpFO9U+YClQvk59zAp8QSS5vXKd0aSx0eI=
=4ZXL
-----END PGP SIGNATURE-----

--=-fx8KqQmfsqiV4+IklIdZ--



From xen-devel-bounces@lists.xenproject.org Wed Aug 18 14:14:24 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 14:14:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168265.307213 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGMKh-0001M3-DQ; Wed, 18 Aug 2021 14:14:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168265.307213; Wed, 18 Aug 2021 14:14:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGMKh-0001Lw-AF; Wed, 18 Aug 2021 14:14:19 +0000
Received: by outflank-mailman (input) for mailman id 168265;
 Wed, 18 Aug 2021 14:14: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 1mGMKf-0001Lm-UM; Wed, 18 Aug 2021 14:14:17 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mGMKf-0007aQ-PN; Wed, 18 Aug 2021 14:14:17 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mGMKf-0004K0-DD; Wed, 18 Aug 2021 14:14:17 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mGMKf-00049J-Cg; Wed, 18 Aug 2021 14:14:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=9SxHqhN2VFXdvt3x8ivxre/Vaybi4XB8VyO/W//pOnY=; b=BObwlDyJY2b3lm9LCHXfrcriNu
	ZqenCq8Ly/ZPmLbfoL9XXkbSJiZUUrzJjpofWQjVViWJ43vi5BWnLo9YgN72PJLd+rJoBgzfIWBxI
	U7879QP6+Fapoeq+RZompBHrA3imVrYHh6Ru/lB5+JuKnJCLL5OArc4ie6f3iGAVlsQA=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164232-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 164232: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:regression
    linux-5.4:test-amd64-amd64-amd64-pvgrub:debian-di-install:fail:regression
    linux-5.4:test-amd64-amd64-examine:memdisk-try-append:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:debian-hvm-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-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check: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-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt: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-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1: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-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-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-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-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=b704883aa8dc4d1d232d3a3cdc438a64889fcc6e
X-Osstest-Versions-That:
    linux=e350cd02e293be9a6b93398b2d3ff1edf7695ab2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 18 Aug 2021 14:14:17 +0000

flight 164232 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164232/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-i386-pvgrub 12 debian-di-install        fail REGR. vs. 164131
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install       fail REGR. vs. 164131

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-examine    4 memdisk-try-append fail in 164224 pass in 164232
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 164224
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat  fail pass in 164224
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 164224

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164131
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 164131
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 164131
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164131
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164131
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164131
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 164131
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164131
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 164131
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164131
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164131
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-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-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     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-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                b704883aa8dc4d1d232d3a3cdc438a64889fcc6e
baseline version:
 linux                e350cd02e293be9a6b93398b2d3ff1edf7695ab2

Last test of basis   164131  2021-08-08 07:11:59 Z   10 days
Failing since        164167  2021-08-12 11:47:56 Z    6 days   11 attempts
Testing same since   164196  2021-08-15 18:44:07 Z    2 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alan Stern <stern@rowland.harvard.edu>
  Alex Xu (Hello71) <alex_y_xu@yahoo.ca>
  Alexander Monakov <amonakov@ispras.ru>
  Alexander Tsoy <alexander@tsoy.me>
  Alexandre Courbot <gnurou@gmail.com>
  Alexei Starovoitov <ast@kernel.org>
  Anand Jain <anand.jain@oracle.com>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Anirudh Rayabharam <mail@anirudhrb.com>
  Antoine Tenart <atenart@kernel.org>
  Arnd Bergmann <arnd@arndb.de>
  Bartosz Golaszewski <bgolaszewski@baylibre.com>
  Brian Norris <briannorris@chromium.org>
  Catalin Marinas <catalin.marinas@arm.com>
  Chanho Park <chanho61.park@samsung.com>
  chihhao.chen <chihhao.chen@mediatek.com>
  Christoph Hellwig <hch@lst.de>
  Colin Ian King <colin.king@canonical.com>
  Dan Carpenter <dan.carpenter@oracle.com>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniele Palmas <dnlplm@gmail.com>
  Dario Binacchi <dariobin@libero.it>
  David Bauer <mail@david-bauer.net>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Dmitry Osipenko <digetx@gmail.com>
  Dominik Brodowski <linux@dominikbrodowski.net>
  Dongliang Mu <mudongliangabcd@gmail.com>
  Eero Lehtinen <debiangamer2@gmail.com>
  Fei Qin <fei.qin@corigine.com>
  Felipe Balbi <balbi@kernel.org>
  Filipe Manana <fdmanana@suse.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Gregory CLEMENT <gregory.clement@bootlin.com>
  Guenter Roeck <linux@roeck-us.net>
  Guido Kiener <guido.kiener@rohde-schwarz.com>
  Guoqing Jiang <jiangguoqing@kylinos.cn>
  H. Nikolaus Schaller <hns@goldelico.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Hervé Codina <herve.codina@bootlin.com>
  Hui Su <suhui@zeku.com>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jan Kara <jack@suse.cz>
  Jarkko Sakkinen <jarkko@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jens Wiklander <jens.wiklander@linaro.org>
  Johan Hovold <johan@kernel.org>
  Johannes Berg <johannes.berg@intel.com>
  Jon Hunter <jonathanh@nvidia.com>
  Juergen Borleis <jbe@pengutronix.de>
  Kieran Bingham <kieran.bingham@ideasonboard.com>
  Kim Phillips <kim.phillips@amd.com>
  Lai Jiangshan <laijs@linux.alibaba.com>
  Letu Ren <fantasquex@gmail.com>
  Li Manyi <limanyi@uniontech.com>
  Liam Merwick <liam.merwick@oracle.com>
  Like Xu <likexu@tencent.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Longfang Liu <liulongfang@huawei.com>
  Louis Peens <louis.peens@corigine.com>
  Luis Chamberlain <mcgrof@kernel.org>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Luke D Jones <luke@ljones.dev>
  Maciej W. Rozycki <macro@orcam.me.uk>
  Marek Szyprowski <m.szyprowski@samsung.com>
  Marek Vasut <marex@denx.de>
  Mario Kleiner <mario.kleiner.de@gmail.com>
  Mark Brown <broonie@kernel.org>
  Mark Rutland <mark.rutland@arm.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Masami Hiramatsu <mhiramat@kernel.org>
  Matt Turner <mattst88@gmail.com>
  Matteo Croce <mcroce@microsoft.com>
  Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
  Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Maxim Devaev <mdevaev@gmail.com>
  Maxime Chevallier <maxime.chevallier@bootlin.com>
  Michael Tretter <m.tretter@pengutronix.de>
  Miklos Szeredi <mszeredi@redhat.com>
  Nikolay Borisov <nborisov@suse.com>
  Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Pali Rohár <pali@kernel.org>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Machek (CIP) <pavel@denx.de>
  Pavel Skripkin <paskripkin@gmail.com>
  Pawel Laszczak <pawell@cadence.com>
  Peter Chen <peter.chen@kernel.org>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Phil Elwell <phil@raspberrypi.com>
  Prarit Bhargava <prarit@redhat.com>
  Qiang.zhang <qiang.zhang@windriver.com>
  Qu Wenruo <wqu@suse.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Sasha Levin <sashal@kernel.org>
  Sean Christopherson <seanjc@google.com>
  Sean Young <sean@mess.org>
  Sebastian Andrzej Siewior <bigeasy@linutronix.de>
  Shawn Guo <shawnguo@kernel.org>
  Shreyansh Chouhan <chouhan.shreyansh630@gmail.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Song Liu <song@kernel.org>
  Stas Sergeev <stsp2@yandex.ru>
  Stephen Boyd <sboyd@kernel.org>
  Steve Bennett <steveb@workware.net.au>
  Steven Rostedt (VMware) <rostedt@goodmis.org>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Sumit Garg <sumit.garg@linaro.org>
  syzbot+de271708674e2093097b@syzkaller.appspotmail.com
  Takashi Iwai <tiwai@suse.de>
  Tejun Heo <tj@kernel.org>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Theodore Ts'o <tytso@mit.edu>
  Thierry Reding <treding@nvidia.com>
  Thomas Gleixner <tglx@linutronix.de>
  Tony Lindgren <tony@atomide.com>
  Tyler Hicks <tyhicks@linux.microsoft.com>
  Vinod Koul <vkoul@kernel.org>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Wang Hai <wanghai38@huawei.com>
  Wei Shuyu <wsy@dogben.com>
  Wesley Cheng <wcheng@codeaurora.org>
  Will Deacon <will@kernel.org>
  Willy Tarreau <w@1wt.eu>
  Xiangyang Zhang <xyz.sun.ok@gmail.com>
  Xin Long <lucien.xin@gmail.com>
  Yang Yingliang <yangyingliang@huawei.com>
  Yu Kuai <yukuai3@huawei.com>
  YueHaibing <yuehaibing@huawei.com>
  Zheyu Ma <zheyuma97@gmail.com>
  Zhiyong Tao <zhiyong.tao@mediatek.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 3656 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 18 14:15:19 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 14:15:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168271.307226 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGMLf-0001xa-1Z; Wed, 18 Aug 2021 14:15:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168271.307226; Wed, 18 Aug 2021 14: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 1mGMLe-0001xT-UO; Wed, 18 Aug 2021 14:15:18 +0000
Received: by outflank-mailman (input) for mailman id 168271;
 Wed, 18 Aug 2021 14:15:18 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=U85i=NJ=gmail.com=xadimgnik@srs-us1.protection.inumbo.net>)
 id 1mGMLe-0001xL-DT
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 14:15:18 +0000
Received: from mail-wr1-x42b.google.com (unknown [2a00:1450:4864:20::42b])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 1ee6fe4b-fe8b-42cd-8fd0-ec385bb88060;
 Wed, 18 Aug 2021 14:15:17 +0000 (UTC)
Received: by mail-wr1-x42b.google.com with SMTP id h13so3827465wrp.1
 for <xen-devel@lists.xenproject.org>; Wed, 18 Aug 2021 07:15:17 -0700 (PDT)
Received: from ?IPv6:2a00:23c5:5785:9a01:ad9a:ab78:5748:a7ec?
 ([2a00:23c5:5785:9a01:ad9a:ab78:5748:a7ec])
 by smtp.gmail.com with ESMTPSA id e4sm6208044wrw.74.2021.08.18.07.15.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 18 Aug 2021 07:15: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: 1ee6fe4b-fe8b-42cd-8fd0-ec385bb88060
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:reply-to:subject:to:cc:references:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=J3oke6bzb5KCEKognh8foJlyHEan8xSaFePYHmO6fss=;
        b=s9NBiKE6Vfxcp1pr+Qyf9C6D3zB+umfqE4Zaaow2OsrAHeH25XiLe36VlrT+lelLcn
         Yua1trRltiPgarAAs8sNUBKGE3XlrS5/W+Fj3oFvioqePuGJHWPvqKrir2CYVXGm4uYk
         Eb3HNvlk3qNBeG+aTavWrKdClnEZBVno0x2HPNUULP+UHrR0OWulfGrhpF3e251UvgRD
         movD5UfQcysklapRxf8S0P9s2YwrlmRMP8KmhffTItiqoYHxlYU7XHTG/QjRFc7OwWSA
         3YptP7+N3W+t1XdvBTMsJ+S6bLP1f5gnFlkzPTdmo6031g/lEwil0tTZ7ebv7rCnGtfc
         cXjA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:reply-to:subject:to:cc:references
         :message-id:date:user-agent:mime-version:in-reply-to
         :content-language:content-transfer-encoding;
        bh=J3oke6bzb5KCEKognh8foJlyHEan8xSaFePYHmO6fss=;
        b=P0FnE5VCJTpt//6HaOiMhj9s3rU4ge2zmqI5+pnMCZe5PXCzABM9gZNzwWLmRn7lvG
         VYxqq1CXjzzkxcHIrXnXSURuDKEF22UTQSV0HuJEx/kj9CqHmoMQfJF4ohOPiT/CMjBB
         DfHVbbs29B0qhvHsQeCjpGE3zv7Cy1v+QXfyhojaYV74tt7+KPkOK7TVQ17QYMLeCQG3
         JdDC4gapVdClgdZVuPOffjiNlfJA/3syLNegRw0yq/znjP9wng5peKAtkyL55uUE2NWY
         d27ptbeG0zt6oibJIyQ95YuaNegqPAoxjt6YNgHc42Ue0rrKTD90JNTdV9PHCggMbrvl
         MuiA==
X-Gm-Message-State: AOAM533TZibFdWgVulq8g1fKJR1QW88Bmdj+YYRlg+E9YGlfeg9ev/Ls
	oPJDnJMqcNm7DqRgq7HLP8eK0RT+hUU=
X-Google-Smtp-Source: ABdhPJwXl3NX3NvxMFbPer/vw7EK3SdE7Dhd6cG8p9wMfhg6H6JnyyjLDcmxST5xq1Tq3Q649EesoQ==
X-Received: by 2002:adf:de0e:: with SMTP id b14mr10988546wrm.207.1629296116896;
        Wed, 18 Aug 2021 07:15:16 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Reply-To: paul@xen.org
Subject: Re: meaning and use of IOMMU_FLUSHF_added
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <d6a6e5a3-5ea2-638e-1eb5-2fee73d82188@suse.com>
 <496eb0fb-138e-d807-ebad-fc4b792dd9be@suse.com>
Message-ID: <d426b1fc-cf57-469a-59c8-a2d28ed2e312@xen.org>
Date: Wed, 18 Aug 2021 15:15:15 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <496eb0fb-138e-d807-ebad-fc4b792dd9be@suse.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit

On 18/08/2021 13:09, Jan Beulich wrote:
> On 18.08.2021 12:51, Jan Beulich wrote:
>> Paul,
>>
>> back at the time I did already question your intended meaning of
>> this flag. I notice that there's presently no consumer of it being
>> set (apart from yielding non-zero flush_flags). I'm afraid this
>> model makes accumulation of flush flags not work properly: With
>> both flags set and more than a single page altered, it is
>> impossible to tell apart whether two present PTEs were altered, or
>> a non-present and a present one.
>>
>> VT-d's flushing needs to know the distinction; it may in fact be
>> necessary to issue two flushes (or a single "heavier" one) when
>> both non-present and present entries got transitioned to present
>> in one go.
> 
> No two (or "heavier") flush looks to be needed upon further reading.
> I did derive this from our setting of "did" to zero in that case,
> but that looks to be wrong in the first place - it's correct only
> for context cache entry flushes. I'll make a(nother) patch ...
> 

Yes, the intention of the flag was simply to allow a 'lighter' flush in 
the case there are no modified entries as part of the accumulation. If 
it is impossible to tell the difference then I guess it's not useful.

   Paul



From xen-devel-bounces@lists.xenproject.org Wed Aug 18 14:59:46 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 14:59:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168279.307241 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGN2M-0006OU-Dz; Wed, 18 Aug 2021 14:59:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168279.307241; Wed, 18 Aug 2021 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 1mGN2M-0006ON-9z; Wed, 18 Aug 2021 14:59:26 +0000
Received: by outflank-mailman (input) for mailman id 168279;
 Wed, 18 Aug 2021 14:59: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 1mGN2L-0006OD-DZ; Wed, 18 Aug 2021 14:59: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 1mGN2L-0008Ln-6V; Wed, 18 Aug 2021 14:59: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 1mGN2K-0005nc-Uh; Wed, 18 Aug 2021 14:59:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mGN2K-0002pF-UC; Wed, 18 Aug 2021 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=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=kasYLTtASBnmTV3jIwiKoq6M8JgryEVmKJq3kIFiG7w=; b=o7hYSKxo3kj7dbUocw0YABSqI4
	d6N8S2uig7skc9k4v83QSzwY+WovxEcQekJUyr/ZRjrppUVAACO/XXFYp4/+8wFk/xoxP22re7p+b
	HheFNEDO4DSSI58A2voSyEZNMQJKX07LdNx81hcyT3M92mfO9bsuxgC1tHxWNMO0QILI=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164235-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xtf test] 164235: all pass - PUSHED
X-Osstest-Versions-This:
    xtf=fc32c40a97069d4696fb7aa9cb76e3ae09aa18dd
X-Osstest-Versions-That:
    xtf=6d8000aeadb222282c96567022a623f770348989
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 18 Aug 2021 14:59:24 +0000

flight 164235 xtf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164235/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 xtf                  fc32c40a97069d4696fb7aa9cb76e3ae09aa18dd
baseline version:
 xtf                  6d8000aeadb222282c96567022a623f770348989

Last test of basis   164231  2021-08-17 20:47:09 Z    0 days
Testing same since   164235  2021-08-18 03:44:23 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>

jobs:
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-amd64-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    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xtf.git
   6d8000a..fc32c40  fc32c40a97069d4696fb7aa9cb76e3ae09aa18dd -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Aug 18 15:10:08 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 15:10:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168284.307255 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGNCd-0008C5-F8; Wed, 18 Aug 2021 15:10:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168284.307255; Wed, 18 Aug 2021 15:10:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGNCd-0008Bd-Ag; Wed, 18 Aug 2021 15:10:03 +0000
Received: by outflank-mailman (input) for mailman id 168284;
 Wed, 18 Aug 2021 15:10:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGNCb-0007zy-UX
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 15:10:01 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGNCb-00006Y-Rw
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 15:10:01 +0000
Received: from iwj (helo=mariner.uk.xensource.com)
 by xenbits.xenproject.org with local-bsmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGNCb-0007X4-Qh
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 15:10:01 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.89)
 (envelope-from <iwj@xenproject.org>)
 id 1mGNCY-0007M7-ES; Wed, 18 Aug 2021 16:09:58 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Subject:CC:To:Date:Message-ID:
	Content-Transfer-Encoding:Content-Type:MIME-Version:From;
	bh=BhMobUyDYTMpNJwwe7EXjAx2OP8zxb8aHi5y5VL6IHQ=; b=1L9ymWnsB2uJdhN6UFS+i5DyVy
	31s70CMWpm6FSdJ7ahV4LMehK1kKoMx35z+OSO6IXEDcaXFAfPv42H6eT9/CZ+uF9/XaPskJnVCCH
	+GETFShqSx1fMFFbleex8TPZPm5vtTz/OdfUaz1sYjcxN4DryxN1lwD+NoeFjQpdkbd4=;
From: Ian Jackson <iwj@xenproject.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <24861.8902.217023.673705@mariner.uk.xensource.com>
Date: Wed, 18 Aug 2021 16:09:58 +0100
To: committers@xenproject.org
CC: xen-devel@lists.xenproject.org,
    George Dunlap <George.Dunlap@citrix.com>
Subject: Xen 4.16: Proposed release manager and schedule

We haven't formally appointed a release manager for Xen 4.16.
I was approached and asked if I would do the job, and said yes,
but I think things got stuck there.  Taking this as a prima
faciae indication of community confidence, I hereby volunteer to
take on this role.

And, I would like to tentatively propose the following schedule and
policies for Xen 4.16.  This is based on the 4.15 schedule with some
tweaks, and is intended to align the ultimate date roughly with the
4.10 and 4.13 releases, which were also in early/mid December.

I suggest we use the Lazy Consensus procedure to decide on the Release
Manager appointment, starting now (since we're already rather late).
In particular, if you feel someone else would make a better release
manager, please say so right away.

For the release schedule, assuming I'm the RM, please send comments
ASAP and in any case by noon UTC on Wednesday the 25th of August.  I
hope to finalise the schedule then.

** DRAFT **

  Friday 17th September                 Last posting date

    Patches adding new features should be posted to the mailing list
    by this cate, although perhaps not in their final version.
    (3 weeks)

  Friday 8th October                    Feature freeze
 
    Patches adding new features should be committed by this date.
    Straightforward bugfixes may continue to be accepted by
    maintainers.
    (3 weeks)

  Friday 29th October **tentatve**      Code freeze

    Bugfixes only, all changes to be approved by the Release Manager,
    on the basis of a (progressively stricter[*]) risk assessment.
    (2.5 weeks)

  Tuesday 16nd November **tentative**   Branch off staging-4.16
                                        Hard code freeze [*]

    Bugfixes for serious bugs (including regressions), and low-risk
    fixes only.  All changes to be approved by the Release Manager on
    the basis of a (progressively stricter[*]) risk assessment.

    xen-unstable open again - with caveats to avoid release disruption.

    (2.5 weeks)

  Friday 3rd December **tentative**     Final commits (docs/prep only)
  Week of 6th December **tentative**    Release
    (probably Tuesday or Wednesday)

Any patches containing substantial refactoring are to treated as
new features, even if they intent is to fix bugs.

Freeze exceptions will not be routine, but may be granted in
exceptional cases for small changes (on the basis of risk assessment,
like any release-ack).  Large series will not get exceptions.
Contributors *must not* rely on, or expect, a freeze exception, or
release schedule slip.

If as a feature proponent you feel your feature is at risk and there
is something the Xen Project could do to help, please consult me or
ask here on xen-devel.  In such situations please reach out earlier
rather than later.  I will try to put you in touch with people who may
be able to help.

[*] The distinction between Code Freeze and Hard Code Freeze is a
matter of degree, not kind; the Hard Code Freeze data and associated
tighter policy text is indicative rather than normative.

** END OF DRAFT **

Thanks,
Ian.


From xen-devel-bounces@lists.xenproject.org Wed Aug 18 15:26:33 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 15:26:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168290.307270 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGNSV-0001tV-UW; Wed, 18 Aug 2021 15:26:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168290.307270; Wed, 18 Aug 2021 15: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 1mGNSV-0001tO-QR; Wed, 18 Aug 2021 15:26:27 +0000
Received: by outflank-mailman (input) for mailman id 168290;
 Wed, 18 Aug 2021 15:26:26 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jUNG=NJ=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mGNSU-0001r2-Lt
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 15:26:26 +0000
Received: from smtp-out1.suse.de (unknown [195.135.220.28])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id a530762d-025b-4ec1-b95e-f3ff4ecab5a7;
 Wed, 18 Aug 2021 15:26:19 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 A0F4622072;
 Wed, 18 Aug 2021 15:26:17 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 68F9D1371C;
 Wed, 18 Aug 2021 15:26:17 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id HyKCF5kmHWGOfgAAGKfGzw
 (envelope-from <jgross@suse.com>); Wed, 18 Aug 2021 15:26:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a530762d-025b-4ec1-b95e-f3ff4ecab5a7
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1629300377; 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=Ru9tdnr7RGNWbnwLSBztvmMC/Sy6D40bdl/GXajU2l4=;
	b=VRuUJ7c60SuloVWkLtr1a0bk9fGtwVfU4YyohCppk1Wii0i3LWWf0gD+krLeOgXBEmJgcL
	lFEp96KRUGMay54R3H11Dy0EJXttmkEbTlf9f3dw7hxELhy0sQAbk9USiBAdNzpW4Gf8Lq
	pm4jBM18M8tUANLwQyzQ2zKx50Fb4p0=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH] mini-os: xenbus: support large messages
Date: Wed, 18 Aug 2021 17:26:10 +0200
Message-Id: <20210818152610.6114-1-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Today the implementation of the xenbus protocol in Mini-OS will only
allow to transfer the complete message to or from the ring page buffer.
This is limiting the maximum message size to lower values as the xenbus
protocol normally would allow.

Change that by allowing to transfer the xenbus message in chunks as
soon as they are available.

Avoid crashing Mini-OS in case of illegal data read from the ring
buffer.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 xenbus/xenbus.c | 212 ++++++++++++++++++++++++++++--------------------
 1 file changed, 124 insertions(+), 88 deletions(-)

diff --git a/xenbus/xenbus.c b/xenbus/xenbus.c
index 23de61e..3fbb122 100644
--- a/xenbus/xenbus.c
+++ b/xenbus/xenbus.c
@@ -29,6 +29,7 @@
 #include <xen/hvm/params.h>
 #include <mini-os/spinlock.h>
 #include <mini-os/xmalloc.h>
+#include <mini-os/semaphore.h>
 
 #define min(x,y) ({                       \
         typeof(x) tmpx = (x);                 \
@@ -46,6 +47,7 @@
 static struct xenstore_domain_interface *xenstore_buf;
 static DECLARE_WAIT_QUEUE_HEAD(xb_waitq);
 DECLARE_WAIT_QUEUE_HEAD(xenbus_watch_queue);
+static __DECLARE_SEMAPHORE_GENERIC(xb_write_sem, 1);
 
 xenbus_event_queue xenbus_events;
 static struct watch {
@@ -231,75 +233,105 @@ char *xenbus_wait_for_state_change(const char* path, XenbusState *state, xenbus_
 }
 
 
+static void xenbus_read_data(char *buf, unsigned int len)
+{
+    unsigned int off = 0;
+    unsigned int prod;
+    unsigned int size;
+    int notify;
+
+    while (off != len)
+    {
+        if (xenstore_buf->rsp_prod == xenstore_buf->rsp_cons)
+            wait_event(xb_waitq,
+                       xenstore_buf->rsp_prod != xenstore_buf->rsp_cons);
+
+        prod = xenstore_buf->rsp_prod;
+        DEBUG("Rsp_cons %d, rsp_prod %d.\n", xenstore_buf->rsp_cons, prod);
+        size = min(len - off, prod - xenstore_buf->rsp_cons);
+        memcpy_from_ring(xenstore_buf->rsp, buf + off,
+                         MASK_XENSTORE_IDX(xenstore_buf->rsp_cons), size);
+        off += size;
+        notify = (xenstore_buf->rsp_cons + XENSTORE_RING_SIZE ==
+                  xenstore_buf->rsp_prod);
+        rmb();
+        xenstore_buf->rsp_cons += size;
+        wmb();
+        if (notify)
+            notify_remote_via_evtchn(xenbus_evtchn);
+    }
+}
+
 static void xenbus_thread_func(void *ign)
 {
     struct xsd_sockmsg msg;
-    unsigned prod = xenstore_buf->rsp_prod;
+    char *data;
 
     for (;;) {
-        wait_event(xb_waitq, prod != xenstore_buf->rsp_prod);
-        while (1) {
-            prod = xenstore_buf->rsp_prod;
-            DEBUG("Rsp_cons %d, rsp_prod %d.\n", xenstore_buf->rsp_cons,
-                  xenstore_buf->rsp_prod);
-            if (xenstore_buf->rsp_prod - xenstore_buf->rsp_cons < sizeof(msg))
-                break;
-            rmb();
-            memcpy_from_ring(xenstore_buf->rsp, &msg,
-                             MASK_XENSTORE_IDX(xenstore_buf->rsp_cons),
-                             sizeof(msg));
-            DEBUG("Msg len %d, %d avail, id %d.\n", msg.len + sizeof(msg),
-                  xenstore_buf->rsp_prod - xenstore_buf->rsp_cons, msg.req_id);
-
-            if (xenstore_buf->rsp_prod - xenstore_buf->rsp_cons <
-                sizeof(msg) + msg.len)
-                break;
-
-            DEBUG("Message is good.\n");
-
-            if (msg.type == XS_WATCH_EVENT) {
-                struct xenbus_event *event = malloc(sizeof(*event) + msg.len);
-                xenbus_event_queue *events = NULL;
-                char *data = (char*)event + sizeof(*event);
-                struct watch *watch;
-
-                memcpy_from_ring(xenstore_buf->rsp, data,
-                    MASK_XENSTORE_IDX(xenstore_buf->rsp_cons + sizeof(msg)),
-                    msg.len);
-
-                event->path = data;
-                event->token = event->path + strlen(event->path) + 1;
-
-                mb();
-                xenstore_buf->rsp_cons += msg.len + sizeof(msg);
-
-                for (watch = watches; watch; watch = watch->next)
-                    if (!strcmp(watch->token, event->token)) {
-                        events = watch->events;
-                        break;
-                    }
-
-                if (events) {
-                    event->next = *events;
-                    *events = event;
-                    wake_up(&xenbus_watch_queue);
-                } else {
-                    printk("unexpected watch token %s\n", event->token);
-                    free(event);
+        xenbus_read_data((char *)&msg, sizeof(msg));
+        DEBUG("Msg len %d, %d avail, id %d.\n", msg.len + sizeof(msg),
+              xenstore_buf->rsp_prod - xenstore_buf->rsp_cons, msg.req_id);
+
+        if (msg.len > XENSTORE_PAYLOAD_MAX) {
+            printk("Xenstore violates protocol, message longer than allowed.\n");
+            return;
+        }
+
+        if (msg.type == XS_WATCH_EVENT) {
+            struct xenbus_event *event = malloc(sizeof(*event) + msg.len);
+            xenbus_event_queue *events = NULL;
+            struct watch *watch;
+            char *c;
+            int zeroes = 0;
+
+            data = (char*)event + sizeof(*event);
+            xenbus_read_data(data, msg.len);
+
+            for (c = data; c < data + msg.len; c++)
+                if (!*c)
+                    zeroes++;
+            if (zeroes != 2) {
+                printk("Xenstore: illegal watch event data\n");
+                free(event);
+                continue;
+            }
+
+            event->path = data;
+            event->token = event->path + strlen(event->path) + 1;
+
+            for (watch = watches; watch; watch = watch->next)
+                if (!strcmp(watch->token, event->token)) {
+                    events = watch->events;
+                    break;
                 }
+
+            if (events) {
+                event->next = *events;
+                *events = event;
+                wake_up(&xenbus_watch_queue);
             } else {
-                req_info[msg.req_id].reply = malloc(sizeof(msg) + msg.len);
-                memcpy_from_ring(xenstore_buf->rsp, req_info[msg.req_id].reply,
-                                 MASK_XENSTORE_IDX(xenstore_buf->rsp_cons),
-                                 msg.len + sizeof(msg));
-                mb();
-                xenstore_buf->rsp_cons += msg.len + sizeof(msg);
-                wake_up(&req_info[msg.req_id].waitq);
+                printk("Xenstore: unexpected watch token %s\n", event->token);
+                free(event);
             }
 
-            wmb();
-            notify_remote_via_evtchn(xenbus_evtchn);
+            continue;
         }
+
+        data = malloc(sizeof(msg) + msg.len);
+        memcpy(data, &msg, sizeof(msg));
+        xenbus_read_data(data + sizeof(msg), msg.len);
+
+        if (msg.req_id >= NR_REQS || !req_info[msg.req_id].in_use) {
+            printk("Xenstore: illegal request id %d\n", msg.req_id);
+            free(data);
+            continue;
+        }
+
+        DEBUG("Message is good.\n");
+
+        req_info[msg.req_id].reply = data;
+
+        wake_up(&req_info[msg.req_id].waitq);
     }
 }
 
@@ -451,36 +483,40 @@ static void xb_write(int type, int req_id, xenbus_transaction_t trans_id,
 
     cur_req = &header_req;
 
-    BUG_ON(len > XENSTORE_RING_SIZE);
-    /* Wait for the ring to drain to the point where we can send the
-       message. */
-    prod = xenstore_buf->req_prod;
-    if (prod + len - xenstore_buf->req_cons > XENSTORE_RING_SIZE) 
-    {
-        /* Wait for there to be space on the ring */
-        DEBUG("prod %d, len %d, cons %d, size %d; waiting.\n",
-                prod, len, xenstore_buf->req_cons, XENSTORE_RING_SIZE);
-        wait_event(xb_waitq,
-                xenstore_buf->req_prod + len - xenstore_buf->req_cons <=
-                XENSTORE_RING_SIZE);
-        DEBUG("Back from wait.\n");
-        prod = xenstore_buf->req_prod;
-    }
+    BUG_ON(len > XENSTORE_PAYLOAD_MAX);
 
-    /* We're now guaranteed to be able to send the message without
-       overflowing the ring.  Do so. */
+    /* Make sure we are the only thread trying to write. */
+    down(&xb_write_sem);
+
+    /* Send the message in chunks using free ring space when available. */
     total_off = 0;
     req_off = 0;
-    while (total_off < len) 
+    while (total_off < len)
     {
+        prod = xenstore_buf->req_prod;
+        if (prod - xenstore_buf->req_cons >= XENSTORE_RING_SIZE)
+        {
+            /* Send evtchn to notify remote */
+            notify_remote_via_evtchn(xenbus_evtchn);
+
+            /* Wait for there to be space on the ring */
+            DEBUG("prod %d, len %d, cons %d, size %d; waiting.\n", prod,
+                  len - total_off, xenstore_buf->req_cons, XENSTORE_RING_SIZE);
+            wait_event(xb_waitq,
+                       prod - xenstore_buf->req_cons < XENSTORE_RING_SIZE);
+            DEBUG("Back from wait.\n");
+        }
+
         this_chunk = min(cur_req->len - req_off,
-                XENSTORE_RING_SIZE - MASK_XENSTORE_IDX(prod));
+                         XENSTORE_RING_SIZE - MASK_XENSTORE_IDX(prod));
+        this_chunk = min(this_chunk,
+                         xenstore_buf->req_cons + XENSTORE_RING_SIZE - prod);
         memcpy((char *)xenstore_buf->req + MASK_XENSTORE_IDX(prod),
-                (char *)cur_req->data + req_off, this_chunk);
+               (char *)cur_req->data + req_off, this_chunk);
         prod += this_chunk;
         req_off += this_chunk;
         total_off += this_chunk;
-        if (req_off == cur_req->len) 
+        if (req_off == cur_req->len)
         {
             req_off = 0;
             if (cur_req == &header_req)
@@ -488,20 +524,20 @@ static void xb_write(int type, int req_id, xenbus_transaction_t trans_id,
             else
                 cur_req++;
         }
+
+        /* Remote must see entire message before updating indexes */
+        wmb();
+        xenstore_buf->req_prod = prod;
     }
 
+    /* Send evtchn to notify remote */
+    notify_remote_via_evtchn(xenbus_evtchn);
+
     DEBUG("Complete main loop of xb_write.\n");
     BUG_ON(req_off != 0);
     BUG_ON(total_off != len);
-    BUG_ON(prod > xenstore_buf->req_cons + XENSTORE_RING_SIZE);
-
-    /* Remote must see entire message before updating indexes */
-    wmb();
-
-    xenstore_buf->req_prod += len;
 
-    /* Send evtchn to notify remote */
-    notify_remote_via_evtchn(xenbus_evtchn);
+    up(&xb_write_sem);
 }
 
 /* Send a mesasge to xenbus, in the same fashion as xb_write, and
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 18 15:46:22 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 15:46:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168296.307280 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGNle-0004MH-Kg; Wed, 18 Aug 2021 15:46:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168296.307280; Wed, 18 Aug 2021 15:46:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGNle-0004MA-Hh; Wed, 18 Aug 2021 15:46:14 +0000
Received: by outflank-mailman (input) for mailman id 168296;
 Wed, 18 Aug 2021 15:46: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 1mGNld-0004M0-Qw; Wed, 18 Aug 2021 15:46: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 1mGNld-0000oD-HX; Wed, 18 Aug 2021 15:46: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 1mGNld-0007IL-76; Wed, 18 Aug 2021 15:46:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mGNld-0007Mr-6a; Wed, 18 Aug 2021 15:46: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=EztQuP7DjuF/EtxgTSvCnzt4sWQ3lD6EYtPLuUGlIrE=; b=zEpM8n4FIyz4kd6bKjINLM37NQ
	KvrZsVs1zhhnUSN1Cii2TIW+Z98UbNYY4wl4NLsRxRVNYic3c5ZgqBtYhJy4wpuF2Ryb0HGzMwzuf
	6wwXSwmaLDaeM872+d0cNzJmtIQMVOvs0Odb1Ea4/7U8l7/USNrd4GGSq9W86DsOW3J4=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164233-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164233: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-qemuu-freebsd12-amd64:guest-start/freebsd.repeat:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-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-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=614cb2751d3150850d459bee596c397f344a7936
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 18 Aug 2021 15:46:13 +0000

flight 164233 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164233/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 152332
 test-amd64-amd64-qemuu-freebsd12-amd64 21 guest-start/freebsd.repeat fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install       fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 12 debian-di-install        fail REGR. vs. 152332

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 152332
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 152332
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 152332
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 152332
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 152332
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 152332
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 152332
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                614cb2751d3150850d459bee596c397f344a7936
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  382 days
Failing since        152366  2020-08-01 20:49:34 Z  381 days  673 attempts
Testing same since   164233  2021-08-18 00:12:24 Z    0 days    1 attempts

------------------------------------------------------------
6800 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 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-qemut-rhel6hvm-amd                           fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     fail    
 test-amd64-i386-freebsd10-amd64                              fail    
 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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2011951 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 18 17:42:39 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 17:42:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168304.307295 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGPa5-0007zn-Id; Wed, 18 Aug 2021 17:42:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168304.307295; Wed, 18 Aug 2021 17: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 1mGPa5-0007zg-Ep; Wed, 18 Aug 2021 17:42:25 +0000
Received: by outflank-mailman (input) for mailman id 168304;
 Wed, 18 Aug 2021 17:42: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 1mGPa4-0007za-9b
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 17:42: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 1mGPa4-0003KT-3N; Wed, 18 Aug 2021 17:42:24 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mGPa3-0005Du-TY; Wed, 18 Aug 2021 17:42:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=OATRnMsb0Dzd6xzXHsmApTIbcrxbXiDDxy+9KPRI3Zw=; b=4cWHgJsOrdljve/3yM5jbbXLsO
	Ur9jMFwNlWjdNETfSPPEZNqMSVNOpnNI7fQEV2HYpkB73WrP0yLvXVBOQ+pDIRPkY4LKSVvXGB9bL
	k7dIKKdm565ow/JsPnu3XHEBUhZJVm30EsC9pfYtjQDOhMlVTtvWDTD9Fgd/iow7XLjY=;
Subject: Re: [PATCH v2] xen/arm: smmu: Set/clear IOMMU domain for device
To: Oleksandr Andrushchenko <andr2000@gmail.com>, sstabellini@kernel.org,
 Volodymyr_Babchuk@epam.com, xen-devel@lists.xenproject.org
Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
References: <20210818052202.1711084-1-andr2000@gmail.com>
From: Julien Grall <julien@xen.org>
Message-ID: <4654c3c8-b31b-c017-df76-0a6c3c9fc928@xen.org>
Date: Wed, 18 Aug 2021 18:42:22 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210818052202.1711084-1-andr2000@gmail.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Oleksandr,

On 18/08/2021 06:22, Oleksandr Andrushchenko wrote:
> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> 
> When a device is assigned/de-assigned it is required to properly set
> IOMMU domain used to protect the device. This assignment was missing,
> thus it was not possible to de-assign the device:
> 
> (XEN) Deassigning device 0000:03:00.0 from dom2
> (XEN) smmu: 0000:03:00.0:  not attached to domain 2
> (XEN) d2: deassign (0000:03:00.0) failed (-3)
> 
> Fix this by assigning IOMMU domain on arm_smmu_assign_dev and reset it
> to NULL on arm_smmu_deassign_dev.
> 
> Fixes: 06d1f7a278dd ("xen/arm: smmuv1: Keep track of S2CR state")
> 
> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

Reviewed-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 18 17:44:09 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 17:44:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168309.307306 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGPbk-00008P-Uj; Wed, 18 Aug 2021 17:44:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168309.307306; Wed, 18 Aug 2021 17:44: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 1mGPbk-00008I-RO; Wed, 18 Aug 2021 17:44:08 +0000
Received: by outflank-mailman (input) for mailman id 168309;
 Wed, 18 Aug 2021 17:44: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 1mGPbj-000087-Bu
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 17:44: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 1mGPbi-0003Le-Da; Wed, 18 Aug 2021 17:44:06 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mGPbi-0005aj-7b; Wed, 18 Aug 2021 17: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=YoNlUY16dNm1GnnafYf/lC9oVVK3TE2+/iKkczJfa9E=; b=5lPej/4Q/BaRiep+8ceXEjIN7q
	ZtA9xjb+Wojb7STyaoAFSSNmVkDyHXbRkSn4DGpoBWSHutifQDAxcwYSOtr9gS3XPnhm1GE9SJR6d
	LpLFmH6N+2LDUAM1TvC+nHBei9Kut+cXql1Gfz/ye/xsAfCVdxVEwfqR5dX/PM/Ne3PQ=;
Subject: Re: [PATCH] Arm: relax iomem_access_permitted() check
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>
References: <a26e91df-7c49-5903-6228-821d92c4902c@suse.com>
From: Julien Grall <julien@xen.org>
Message-ID: <adfdc3f6-5801-8387-6400-393f2536c6cd@xen.org>
Date: Wed, 18 Aug 2021 18:44:04 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <a26e91df-7c49-5903-6228-821d92c4902c@suse.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Jan,

On 18/08/2021 08:52, Jan Beulich wrote:
> Ranges checked by iomem_access_permitted() are inclusive; to permit a
> mapping there's no need for access to also have been granted for the
> subsequent page.

Good catch! OOI, how did you find it?

> 
> Fixes: 80f9c3167084 ("xen/arm: acpi: Map MMIO on fault in stage-2 page table for the hardware domain")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Julien Grall <jgrall@amazon.com>

Cheers,

> 
> --- a/xen/arch/arm/traps.c
> +++ b/xen/arch/arm/traps.c
> @@ -1893,7 +1893,7 @@ static bool try_map_mmio(gfn_t gfn)
>           return false;
>   
>       /* The hardware domain can only map permitted MMIO regions */
> -    if ( !iomem_access_permitted(d, mfn_x(mfn), mfn_x(mfn) + 1) )
> +    if ( !iomem_access_permitted(d, mfn_x(mfn), mfn_x(mfn)) )
>           return false;
>   
>       return !map_regions_p2mt(d, gfn, 1, mfn, p2m_mmio_direct_c);
> 

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 18 20:30:07 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 20:30:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168318.307339 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGSCM-0008At-0v; Wed, 18 Aug 2021 20:30:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168318.307339; Wed, 18 Aug 2021 20:30:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGSCL-0008AF-T6; Wed, 18 Aug 2021 20:30:05 +0000
Received: by outflank-mailman (input) for mailman id 168318;
 Wed, 18 Aug 2021 20:30:04 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ydNC=NJ=gmail.com=bobby.eshleman@srs-us1.protection.inumbo.net>)
 id 1mGSCK-000714-NK
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 20:30:04 +0000
Received: from mail-pj1-x102f.google.com (unknown [2607:f8b0:4864:20::102f])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 5c334995-aa2b-41b0-b629-96c1f8662ac2;
 Wed, 18 Aug 2021 20:29:53 +0000 (UTC)
Received: by mail-pj1-x102f.google.com with SMTP id nt11so3443944pjb.2
 for <xen-devel@lists.xenproject.org>; Wed, 18 Aug 2021 13:29:52 -0700 (PDT)
Received: from localhost.localdomain ([2601:1c2:4c02:4c00::1])
 by smtp.gmail.com with ESMTPSA id h25sm663775pfo.68.2021.08.18.13.29.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 18 Aug 2021 13:29: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
X-Inumbo-ID: 5c334995-aa2b-41b0-b629-96c1f8662ac2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=sender:from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=6A7J2MNGpc3g2fahO1l/wGJcP/R6g3oAioBf+kBOMlo=;
        b=TIaHwSm0XnhYahj8GaB1Xwb09vEeyiF8cMGpgaPI5pCENrwZv15NKVYeS5yrbfe/g3
         pao03g4UH6b01s6p3XCAduhPgjhXecwCQ3SkRjP+EeOFcYcRpNdQ/Pkfx74DNotveVYI
         szrEhUvnEHkFp6ws+5fO92c3b2JBsw3lRKtbjqEzvU3/jWHzpMKgJ/F+S4+H/Dm2nJoH
         P86R1ZvNKCv/qs2JmTx+DyXcPU0k2QEDueq3oKkCz061UHHKBSYirO669Qwng+zYAksI
         l2fRks4b5UWuYQXHOqHCnenQC1/tETW82eDTBbU3nS7D4iZnhQHsbwaZTO5kLL0uZhFT
         QONw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:sender:from:to:cc:subject:date:message-id
         :in-reply-to:references:mime-version:content-transfer-encoding;
        bh=6A7J2MNGpc3g2fahO1l/wGJcP/R6g3oAioBf+kBOMlo=;
        b=ekw2aHuqY5jFhrzzgjz8c2eu9leAT8p1+sX9HCh9j32zsPPi4Hr62XtQkO4Kue9OAO
         vYwiW2maNu0eBCDR1I1GlaFhx8ZXohM5/XZaIGa08RCBXPpA45X/HXDOTrulCbb2xRFt
         d6KBaCrBGfYcItMBV98QabMP7gFB1I7sloLxNHEzDLwqFjrEN3bnE4Lr3NrJyYKS6k95
         v2+Phe0kWLOovA/kqKWDQMHbabG4E22pKnPefaLAoo231r3o+FsmNidsEuJWuRxtCqXI
         oj8js0h8itVn5QklQEq1KMwhDUnXD0hHW8u9ctpixAxo2NmmSa7mH6EyHMHVrVP/0g3v
         diuw==
X-Gm-Message-State: AOAM530r16Vo9cftkSx2+ufRZ359Lp/rVGDiQICoBC7fH0t4Z/IaEC/a
	dyfzu7bJapFubvMVqPsbDpOdLoK4QQ/C/mqF
X-Google-Smtp-Source: ABdhPJzwVN4slvHZh/0lxPIPp6llJx7b+APPSfqEQ/liaQQZ3i+8umorV432PQ3DU6l7BbvSO70Zmg==
X-Received: by 2002:a17:902:da8f:b0:12d:a688:83b7 with SMTP id j15-20020a170902da8f00b0012da68883b7mr8688450plx.56.1629318591638;
        Wed, 18 Aug 2021 13:29:51 -0700 (PDT)
Sender: Bobby Eshleman <bobbyeshleman@gmail.com>
From: Bobby Eshleman <bobby.eshleman@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Bobby Eshleman <bobby.eshleman@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Elena Ufimtseva <elena.ufimtseva@oracle.com>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Ian Jackson <iwj@xenproject.org>
Subject: [PATCH v3 4/6] x86/gdbsx: expand dbg_rw_mem() inline
Date: Wed, 18 Aug 2021 13:29:05 -0700
Message-Id: <7833b4a327212ff0fc816d17f91fa09291d6afc2.1629315873.git.bobby.eshleman@gmail.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <cover.1629315873.git.bobby.eshleman@gmail.com>
References: <cover.1629315873.git.bobby.eshleman@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Because dbg_rw_mem() has only a single call site, this commit
expands it inline.
---
 xen/arch/x86/gdbsx.c | 32 +++++++++++---------------------
 1 file changed, 11 insertions(+), 21 deletions(-)

diff --git a/xen/arch/x86/gdbsx.c b/xen/arch/x86/gdbsx.c
index adea0f017b..4cb8e042f9 100644
--- a/xen/arch/x86/gdbsx.c
+++ b/xen/arch/x86/gdbsx.c
@@ -151,33 +151,23 @@ static unsigned int dbg_rw_guest_mem(struct domain *dp, unsigned long addr,
     return len;
 }
 
-/*
- * addr is guest addr
- * buf is debugger buffer.
- * if toaddr, then addr = buf (write to addr), else buf = addr (rd from guest)
- * pgd3: value of init_mm.pgd[3] in guest. see above.
- * Returns: number of bytes remaining to be copied.
- */
-static unsigned int dbg_rw_mem(unsigned long gva, XEN_GUEST_HANDLE_PARAM(void) buf,
-                        unsigned int len, domid_t domid, bool toaddr,
-                        uint64_t pgd3)
+int gdbsx_guest_mem_io(domid_t domid, struct xen_domctl_gdbsx_memio *iop)
 {
     struct domain *d = rcu_lock_domain_by_id(domid);
 
-    if ( d )
+    if ( d && !d->is_dying )
     {
-        if ( !d->is_dying )
-            len = dbg_rw_guest_mem(d, gva, buf, len, toaddr, pgd3);
-        rcu_unlock_domain(d);
+        iop->remain = dbg_rw_guest_mem(
+                d, iop->gva, guest_handle_from_ptr(iop->uva, void),
+                iop->len, domid, iop->pgd3val);
+    }
+    else
+    {
+        iop->remain = iop->len;
     }
 
-    return len;
-}
-
-int gdbsx_guest_mem_io(domid_t domid, struct xen_domctl_gdbsx_memio *iop)
-{
-    iop->remain = dbg_rw_mem(iop->gva, guest_handle_from_ptr(iop->uva, void),
-                             iop->len, domid, iop->gwr, iop->pgd3val);
+    if ( d )
+        rcu_unlock_domain(d);
 
     return iop->remain ? -EFAULT : 0;
 }
-- 
2.32.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 18 20:30:07 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 20:30:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168317.307328 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGSCH-0007Hw-OS; Wed, 18 Aug 2021 20:30:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168317.307328; Wed, 18 Aug 2021 20: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 1mGSCH-0007Hn-LC; Wed, 18 Aug 2021 20:30:01 +0000
Received: by outflank-mailman (input) for mailman id 168317;
 Wed, 18 Aug 2021 20:29:59 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ydNC=NJ=gmail.com=bobby.eshleman@srs-us1.protection.inumbo.net>)
 id 1mGSCF-000714-NG
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 20:29:59 +0000
Received: from mail-pl1-x633.google.com (unknown [2607:f8b0:4864:20::633])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 5cd00804-05e6-4fea-bf0e-1e3d6a630f84;
 Wed, 18 Aug 2021 20:29:53 +0000 (UTC)
Received: by mail-pl1-x633.google.com with SMTP id c17so2587564plz.2
 for <xen-devel@lists.xenproject.org>; Wed, 18 Aug 2021 13:29:49 -0700 (PDT)
Received: from localhost.localdomain ([2601:1c2:4c02:4c00::1])
 by smtp.gmail.com with ESMTPSA id h25sm663775pfo.68.2021.08.18.13.29.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 18 Aug 2021 13:29: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
X-Inumbo-ID: 5cd00804-05e6-4fea-bf0e-1e3d6a630f84
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=sender:from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=ymbhtWJDlmnuoU0qSCptZumb6o8HnxQbmRZItmihOOU=;
        b=YKl9qr55piVM4v/UfO59fMR1wKRC2574LTWQNfSd0FVrL5nHh2bww1/I4V9aaHQ9cz
         KAd5HFzP5L4Dxy2z+xuudCCzeuW0RlCd/cqm7ze7zVCdRWUAp85G+CG1WWgLFxwwtxQS
         rbVym4zvigZQf+66xocGuApPV0F8WHaCnOhPkO8J1OvtmgahtqSMpjs9km4JEX6c/TvQ
         MebjS242u3bnJSG7uNbYzhEIkeT8OnIRPR5ha0ERS0ygDzyB4DFKsvWo0Z+O6VQjKbHd
         471tzl/JVoe5wnVyrSHit6NKR9EB0PgF0eukJwkgPf9PTYYK2uZ6xwnBzCIIWZKqbohJ
         vurA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:sender:from:to:cc:subject:date:message-id
         :in-reply-to:references:mime-version:content-transfer-encoding;
        bh=ymbhtWJDlmnuoU0qSCptZumb6o8HnxQbmRZItmihOOU=;
        b=RXl7A+w3zv4HYSYu8IXM4o5aLDhyUJNn8c5MhY5f8KKf/yok42zVlY9okh8/g8kE8r
         hYloOWLvWBxkkRdUZWiXx0WBxYu76s0vmGnAapRh8jTwSIYN4XNZ25xHpSlN4/XzdnzU
         XRCtsNcapQPcRmKHP0W1sgsfvLP875+/lqKukBolTAusiUW0gm+CIxP7KcZg5WKs5eEY
         pqayeEbKC5NoxWNux9NUImF9yyZOArIeMVykdZm1I73Y2PXb2OF+FjnaTCLikAFHzHwY
         x+0Fprq9/F6j4fKDMU8dkUYe7dWe2Q8FVhp92E0eXIFMSwznTDLxtqtcUZAjcgP82Icg
         zSig==
X-Gm-Message-State: AOAM5328Fvm+WvdxLzd4lVg3xnnujavDz5gnIBwjqdnqLYs3/Q1IhMV1
	WqLXOnK7+i6hNy8O56+sOWQASCmDAfLHrhRs
X-Google-Smtp-Source: ABdhPJwg4IupZNg4wmzTylST1vPnBXDYpAFAsWlOW3tjWfPe3sReJbOfM6NM7rjPmc4Xs5AxlpgpQw==
X-Received: by 2002:a17:902:7441:b029:12d:6476:d8f with SMTP id e1-20020a1709027441b029012d64760d8fmr8903237plt.28.1629318588212;
        Wed, 18 Aug 2021 13:29:48 -0700 (PDT)
Sender: Bobby Eshleman <bobbyeshleman@gmail.com>
From: Bobby Eshleman <bobby.eshleman@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Bobby Eshleman <bobby.eshleman@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Elena Ufimtseva <elena.ufimtseva@oracle.com>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Ian Jackson <iwj@xenproject.org>
Subject: [PATCH v3 1/6] arm/traps: remove debugger_trap_fatal() calls
Date: Wed, 18 Aug 2021 13:29:02 -0700
Message-Id: <4c4f45280547564b2c16fd9ca09443314b8f3b6e.1629315873.git.bobby.eshleman@gmail.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <cover.1629315873.git.bobby.eshleman@gmail.com>
References: <cover.1629315873.git.bobby.eshleman@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

ARM doesn't actually use debugger_trap_* anything, and is stubbed out.

This commit simply removes the unneeded calls.

Signed-off-by: Bobby Eshleman <bobby.eshleman@gmail.com>
---
 xen/arch/arm/traps.c | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 4ccb6e7d18..889650ba63 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -41,7 +41,6 @@
 #include <asm/acpi.h>
 #include <asm/cpuerrata.h>
 #include <asm/cpufeature.h>
-#include <asm/debugger.h>
 #include <asm/event.h>
 #include <asm/hsr.h>
 #include <asm/mmio.h>
@@ -1266,10 +1265,6 @@ int do_bug_frame(const struct cpu_user_regs *regs, vaddr_t pc)
 
     case BUGFRAME_bug:
         printk("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
-
-        if ( debugger_trap_fatal(TRAP_invalid_op, regs) )
-            return 0;
-
         show_execution_state(regs);
         panic("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
 
@@ -1281,8 +1276,6 @@ int do_bug_frame(const struct cpu_user_regs *regs, vaddr_t pc)
 
         printk("Assertion '%s' failed at %s%s:%d\n",
                predicate, prefix, filename, lineno);
-        if ( debugger_trap_fatal(TRAP_invalid_op, regs) )
-            return 0;
         show_execution_state(regs);
         panic("Assertion '%s' failed at %s%s:%d\n",
               predicate, prefix, filename, lineno);
-- 
2.32.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 18 20:30:10 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 20:30:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168316.307316 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGSCC-00071H-GM; Wed, 18 Aug 2021 20:29:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168316.307316; Wed, 18 Aug 2021 20:29: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 1mGSCC-00071A-DX; Wed, 18 Aug 2021 20:29:56 +0000
Received: by outflank-mailman (input) for mailman id 168316;
 Wed, 18 Aug 2021 20:29:55 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ydNC=NJ=gmail.com=bobby.eshleman@srs-us1.protection.inumbo.net>)
 id 1mGSCA-000714-VF
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 20:29:55 +0000
Received: from mail-pj1-x102c.google.com (unknown [2607:f8b0:4864:20::102c])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id d740647c-5eb4-4007-8751-e66f4540bb92;
 Wed, 18 Aug 2021 20:29:53 +0000 (UTC)
Received: by mail-pj1-x102c.google.com with SMTP id
 j12-20020a17090aeb0c00b00179530520b3so9804908pjz.0
 for <xen-devel@lists.xenproject.org>; Wed, 18 Aug 2021 13:29:48 -0700 (PDT)
Received: from localhost.localdomain ([2601:1c2:4c02:4c00::1])
 by smtp.gmail.com with ESMTPSA id h25sm663775pfo.68.2021.08.18.13.29.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 18 Aug 2021 13:29: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
X-Inumbo-ID: d740647c-5eb4-4007-8751-e66f4540bb92
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=sender:from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=b02+86zjfz6ve6S+6y+p2A99AWJfDb+ZIKYvJJ1KYDk=;
        b=J1DjSPDAIKhgk/ykpGGR/BFcIkjx4/jHakJ3N6hc8QWv3gy2gxwdwHl4Fyhyo3YEXW
         Nbtsdyp5b2Ohrda8MMa8xij5qqQbHPXCDLX9aeRm/Q/sgZx9lzSASNFaCIsoHM8w2r0N
         KGxbV0272EynGg5VSSjtw5+DXWPntzJ2QYWgJog/GvPEQy3M1lJzS26jD+l1zOWE2H7b
         NjDIe2Pn0gRw6y0rs+iqJ0cMQ4PrlygVycuMYATH293NsnmJ5Cb95hqRN53JcrvZvA0O
         AmQAYCJfwOfzysEgwwYxl/4mv66BSBgPLhC42PzGSGIx7hUAqD8sWXG47ASz8FfUBaNN
         5adA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:sender:from:to:cc:subject:date:message-id
         :mime-version:content-transfer-encoding;
        bh=b02+86zjfz6ve6S+6y+p2A99AWJfDb+ZIKYvJJ1KYDk=;
        b=QgYzD/33ZehUzl2gc0NZIM84dFLQpa0X3k0+5zQsMf7htN7IeW46tH4TjMfkwisrCB
         akCZBt5kpDYc66bQV3HhWWFJTYfkcjnhme+PoS57agrGmFk7+GPlnFbGA7YxTB4WDre8
         ri7p2QtolElQQ1vemb+dbVaPFYCtw7Kh9Ue0yV2aOA0biVuYfZcbpUkm537bQFLsfgSX
         PzX8WCZr+3SkvdD6Gfw1PvpENo3EaCzaKzXU+YrLOHlZ968VL9Yw6du2UN39t86mO8d1
         9YfCTCR0Thnh2gnIwKmIsScySNjVWYedqVbzsm/M5r8oe2wnSK1xo42ffuG4MSs+R6/H
         IxKA==
X-Gm-Message-State: AOAM533UfhBI2/z5o+eHTvT1L0opheI3x8HJlJTH5ZOEYcVY8nA6+nts
	w8QOJlkmpCVTmepk3IMB3U5LJj9lNVqhgmkV
X-Google-Smtp-Source: ABdhPJxSIgLQuhU1DK4rqJWjaewv3zLATJ6PVJ7XzJXqs3cciIGI7Zqg/Xp1nxAyRGijlXMMzSnHqA==
X-Received: by 2002:a17:902:ed82:b029:ef:48c8:128e with SMTP id e2-20020a170902ed82b02900ef48c8128emr8801565plj.72.1629318586973;
        Wed, 18 Aug 2021 13:29:46 -0700 (PDT)
Sender: Bobby Eshleman <bobbyeshleman@gmail.com>
From: Bobby Eshleman <bobby.eshleman@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Bobby Eshleman <bobby.eshleman@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Elena Ufimtseva <elena.ufimtseva@oracle.com>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Ian Jackson <iwj@xenproject.org>
Subject: [PATCH v3 0/6] Remove unconditional arch dependency on asm/debugger.h 
Date: Wed, 18 Aug 2021 13:29:01 -0700
Message-Id: <cover.1629315873.git.bobby.eshleman@gmail.com>
X-Mailer: git-send-email 2.32.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This series removes the unconditional requirement that all architectures
implement asm/debugger.h. It additionally removes arm's debugger.h and
disentangles some of the x86 gdbsx/gdbstub/generic debugger code.

Additionally, this series does the following:
- Provides generic stubs when !CONFIG_CRASH_DEBUG
- Adds stronger separation between gdbstub, gdbsx, and generic debugger
  code.

The patches in this v3 are quite a bit different than in v2, so
per-patch changes are omitted. This difference in the patchset version
is largely due to the need to decouple the debugger_trap_* functions.

Changes from v2:
- The first patch drops ARM's calls to the debugger stubs, removing the
  need to add fake values.
- No debugger.c is added, as it was unnecessary when code was moved into
  existing and appropriate files.
- debugger_trap_entry() expands inline into its few call sites
- debug.c becomes gdbsx.c
- All gdbsx functions move into gdbsx.c and become dependent on
  CONFIG_GDBSX (instead of CONFIG_CRASH_DEBUG as was the case for
  domain_pause_for_debugger(), for example)

It's worth noting that debugger.h is still not truly generic as
debugger_trap_fatal() for x86 necessarily calls into the gdbstub… but
further generalization is unnecessary while it is still only
backed by the gdbstub.

As I'm not *exactly* an expert on this code, so feel free to inform me of my
confusion where you see it.

Bobby Eshleman (6):
  arm/traps: remove debugger_trap_fatal() calls
  x86/debugger: separate Xen and guest debugging debugger_trap_*
    functions
  arch/x86: rename debug.c to gdbsx.c
  x86/gdbsx: expand dbg_rw_mem() inline
  arch/x86: move domain_pause_for_debugger() to domain.h
  x86: change asm/debugger.h to xen/debugger.h

 xen/arch/arm/traps.c              |  7 ----
 xen/arch/x86/Makefile             |  2 +-
 xen/arch/x86/domain.c             |  2 +-
 xen/arch/x86/domctl.c             | 12 +-----
 xen/arch/x86/{debug.c => gdbsx.c} | 30 +++++++-------
 xen/arch/x86/hvm/svm/svm.c        |  2 +-
 xen/arch/x86/hvm/vmx/realmode.c   |  2 +-
 xen/arch/x86/hvm/vmx/vmx.c        |  2 +-
 xen/arch/x86/nmi.c                |  1 -
 xen/arch/x86/traps.c              | 51 ++++++++++++++----------
 xen/common/domain.c               |  2 +-
 xen/common/gdbstub.c              |  2 +-
 xen/common/keyhandler.c           |  2 +-
 xen/common/shutdown.c             |  2 +-
 xen/drivers/char/console.c        |  2 +-
 xen/include/asm-arm/debugger.h    | 15 -------
 xen/include/asm-x86/debugger.h    | 65 +------------------------------
 xen/include/asm-x86/domain.h      |  2 +
 xen/include/asm-x86/gdbsx.h       | 17 ++++++++
 xen/include/xen/debugger.h        | 51 ++++++++++++++++++++++++
 20 files changed, 127 insertions(+), 144 deletions(-)
 rename xen/arch/x86/{debug.c => gdbsx.c} (89%)
 delete mode 100644 xen/include/asm-arm/debugger.h
 create mode 100644 xen/include/asm-x86/gdbsx.h
 create mode 100644 xen/include/xen/debugger.h

-- 
2.32.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 18 20:30:11 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 20:30:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168319.307350 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGSCR-0000Dz-8x; Wed, 18 Aug 2021 20:30:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168319.307350; Wed, 18 Aug 2021 20:30:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGSCR-0000Dq-58; Wed, 18 Aug 2021 20:30:11 +0000
Received: by outflank-mailman (input) for mailman id 168319;
 Wed, 18 Aug 2021 20:30:09 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ydNC=NJ=gmail.com=bobby.eshleman@srs-us1.protection.inumbo.net>)
 id 1mGSCP-000714-Nd
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 20:30:09 +0000
Received: from mail-pf1-x435.google.com (unknown [2607:f8b0:4864:20::435])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id bd9e6df9-4592-4715-ae5d-e603d1893426;
 Wed, 18 Aug 2021 20:29:53 +0000 (UTC)
Received: by mail-pf1-x435.google.com with SMTP id 7so3368365pfl.10
 for <xen-devel@lists.xenproject.org>; Wed, 18 Aug 2021 13:29:51 -0700 (PDT)
Received: from localhost.localdomain ([2601:1c2:4c02:4c00::1])
 by smtp.gmail.com with ESMTPSA id h25sm663775pfo.68.2021.08.18.13.29.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 18 Aug 2021 13:29:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: bd9e6df9-4592-4715-ae5d-e603d1893426
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=sender:from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=8OBC9884kmwmCHY2iZR5n9BK6YWwg3ipAzzHcSbYvfU=;
        b=aYYTc19KeDyUYd0t94QMEaH6q9fhEci8qpdovRYZuUMY7fz+5XrpgsdGa9C7nQCexA
         WwQD17e3FIwPisFBSif8BvlJEa53NJD+W0uke4Z0OFQAO91yJwQ9hxN91eH3oxJiunYF
         EmVk0arSgSaNZn132JojeNDAPyPSnBHrbzkKvOYV66X2q1u4mTuPdXvHIquR3FlAKfZi
         fDNuIjfyVvypGwUSG109X7DP4Sr/XflCB8XafQiesYjaTJxE7bj/1HpjQkc8ZFo/2lgB
         WJwjELHXXXx52+w+LUrkPZBb/oHtDn+rEdFB5VL/w1MUNfcWw5mkeR9X3lqQCNCr4SES
         MfpQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:sender:from:to:cc:subject:date:message-id
         :in-reply-to:references:mime-version:content-transfer-encoding;
        bh=8OBC9884kmwmCHY2iZR5n9BK6YWwg3ipAzzHcSbYvfU=;
        b=LSfprd0VcePxPBBkhNBw6ZheCDE1IjqivtQ9tDcImFIJbJrSNuUOnq2av9wmvBjIqq
         kzL4uARwN6yooJki9/sDt+mrJFYCYxPNyVcx9+udr6KmT6leSu/802+SlwP+BjZjPhfm
         SnxNvzawueXBP2zfMhzvdZmjyNzF76HYxKiIPW8DrNZsW0MfOZowOF1e+q5zKrWFc+eu
         cAXWNfaNJorM2slsuCW+1rwjeEDyIivaHNPUITs6XibDC9d9qnWuy/LWpc3GZecmF8Ys
         lz2mRZWi0zLJJ8WeHferywNnH4mvhT0GcQYIsi0ek33aST4g9RxwOOVinvSnmJVw2fxh
         GhjQ==
X-Gm-Message-State: AOAM532Ju/jEbU+13swPyB/sCQyZrzctuO4RfsIcIc1GjDyO74aeYgbp
	g5ox3wxBEnNP1nk3whpUmBPNLbZ56fuMJYoC
X-Google-Smtp-Source: ABdhPJwQBPt96fqTcpLeTFg1kVF+kEHwh8L6sFdo5h44QFmLMKaVmZZz0ny+bibgDTMn7Z4TIvOTAA==
X-Received: by 2002:a62:b615:0:b029:3e0:20c3:181c with SMTP id j21-20020a62b6150000b02903e020c3181cmr11199194pff.62.1629318590543;
        Wed, 18 Aug 2021 13:29:50 -0700 (PDT)
Sender: Bobby Eshleman <bobbyeshleman@gmail.com>
From: Bobby Eshleman <bobby.eshleman@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Bobby Eshleman <bobby.eshleman@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Elena Ufimtseva <elena.ufimtseva@oracle.com>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Ian Jackson <iwj@xenproject.org>
Subject: [PATCH v3 3/6] arch/x86: rename debug.c to gdbsx.c
Date: Wed, 18 Aug 2021 13:29:04 -0700
Message-Id: <9ab53497cdd52e3aeaeff8079d934dcee94d6479.1629315873.git.bobby.eshleman@gmail.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <cover.1629315873.git.bobby.eshleman@gmail.com>
References: <cover.1629315873.git.bobby.eshleman@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This commit renames debug.c to gdbsx.c to clarify its purpose.

The function gdbsx_guest_mem_io() is moved from domctl.c to gdbsx.c.

Although gdbsx_guest_mem_io() is conditionally removed from its single
call site in domctl.c upon !CONFIG_GDBSX and so no stub is technically
necessary, this commit adds a stub that would preserve the functioning
of that call site if the #ifdef CONFIG_GDBSX were to ever be removed or
the function were to ever be called outside of such an ifdef block.

Signed-off-by: Bobby Eshleman <bobby.eshleman@gmail.com>
---
 xen/arch/x86/Makefile             |  2 +-
 xen/arch/x86/domctl.c             | 12 +-----------
 xen/arch/x86/{debug.c => gdbsx.c} | 12 ++++++++++--
 xen/include/asm-x86/debugger.h    |  6 ------
 xen/include/asm-x86/gdbsx.h       | 17 +++++++++++++++++
 5 files changed, 29 insertions(+), 20 deletions(-)
 rename xen/arch/x86/{debug.c => gdbsx.c} (93%)
 create mode 100644 xen/include/asm-x86/gdbsx.h

diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index fe38cfd544..ef8c2c4770 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -20,7 +20,7 @@ obj-y += cpuid.o
 obj-$(CONFIG_PV) += compat.o
 obj-$(CONFIG_PV32) += x86_64/compat.o
 obj-$(CONFIG_KEXEC) += crash.o
-obj-$(CONFIG_GDBSX) += debug.o
+obj-$(CONFIG_GDBSX) += gdbsx.o
 obj-y += delay.o
 obj-y += desc.o
 obj-bin-y += dmi_scan.init.o
diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
index 26a76d2be9..a492fe140e 100644
--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -20,6 +20,7 @@
 #include <xen/console.h>
 #include <xen/iocap.h>
 #include <xen/paging.h>
+#include <asm/gdbsx.h>
 #include <asm/irq.h>
 #include <asm/hvm/emulate.h>
 #include <asm/hvm/hvm.h>
@@ -33,20 +34,9 @@
 #include <public/vm_event.h>
 #include <asm/mem_sharing.h>
 #include <asm/xstate.h>
-#include <asm/debugger.h>
 #include <asm/psr.h>
 #include <asm/cpuid.h>
 
-#ifdef CONFIG_GDBSX
-static int gdbsx_guest_mem_io(domid_t domid, struct xen_domctl_gdbsx_memio *iop)
-{
-    iop->remain = dbg_rw_mem(iop->gva, guest_handle_from_ptr(iop->uva, void),
-                             iop->len, domid, iop->gwr, iop->pgd3val);
-
-    return iop->remain ? -EFAULT : 0;
-}
-#endif
-
 static int update_domain_cpu_policy(struct domain *d,
                                     xen_domctl_cpu_policy_t *xdpc)
 {
diff --git a/xen/arch/x86/debug.c b/xen/arch/x86/gdbsx.c
similarity index 93%
rename from xen/arch/x86/debug.c
rename to xen/arch/x86/gdbsx.c
index d90dc93056..adea0f017b 100644
--- a/xen/arch/x86/debug.c
+++ b/xen/arch/x86/gdbsx.c
@@ -19,7 +19,7 @@
 #include <xen/mm.h>
 #include <xen/domain_page.h>
 #include <xen/guest_access.h>
-#include <asm/debugger.h>
+#include <asm/gdbsx.h>
 #include <asm/p2m.h>
 
 typedef unsigned long dbgva_t;
@@ -158,7 +158,7 @@ static unsigned int dbg_rw_guest_mem(struct domain *dp, unsigned long addr,
  * pgd3: value of init_mm.pgd[3] in guest. see above.
  * Returns: number of bytes remaining to be copied.
  */
-unsigned int dbg_rw_mem(unsigned long gva, XEN_GUEST_HANDLE_PARAM(void) buf,
+static unsigned int dbg_rw_mem(unsigned long gva, XEN_GUEST_HANDLE_PARAM(void) buf,
                         unsigned int len, domid_t domid, bool toaddr,
                         uint64_t pgd3)
 {
@@ -174,6 +174,14 @@ unsigned int dbg_rw_mem(unsigned long gva, XEN_GUEST_HANDLE_PARAM(void) buf,
     return len;
 }
 
+int gdbsx_guest_mem_io(domid_t domid, struct xen_domctl_gdbsx_memio *iop)
+{
+    iop->remain = dbg_rw_mem(iop->gva, guest_handle_from_ptr(iop->uva, void),
+                             iop->len, domid, iop->gwr, iop->pgd3val);
+
+    return iop->remain ? -EFAULT : 0;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/include/asm-x86/debugger.h b/xen/include/asm-x86/debugger.h
index cd6b9477f7..ed4d5c829b 100644
--- a/xen/include/asm-x86/debugger.h
+++ b/xen/include/asm-x86/debugger.h
@@ -54,10 +54,4 @@ static inline bool debugger_trap_fatal(
 
 #endif
 
-#ifdef CONFIG_GDBSX
-unsigned int dbg_rw_mem(unsigned long gva, XEN_GUEST_HANDLE_PARAM(void) buf,
-                        unsigned int len, domid_t domid, bool toaddr,
-                        uint64_t pgd3);
-#endif
-
 #endif /* __X86_DEBUGGER_H__ */
diff --git a/xen/include/asm-x86/gdbsx.h b/xen/include/asm-x86/gdbsx.h
new file mode 100644
index 0000000000..2b8812881d
--- /dev/null
+++ b/xen/include/asm-x86/gdbsx.h
@@ -0,0 +1,17 @@
+#ifndef __X86_GDBX_H
+#define __X86_GDBX_H__
+
+#ifdef CONFIG_GDBSX
+
+int gdbsx_guest_mem_io(domid_t domid, struct xen_domctl_gdbsx_memio *iop);
+
+#else
+
+static inline int gdbsx_guest_mem_io(domid_t domid, struct xen_domctl_gdbsx_memio *iop)
+{
+    return -EOPNOTSUPP;
+}
+
+#endif
+
+#endif
-- 
2.32.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 18 20:30:16 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 20:30:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168320.307361 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGSCW-0000fQ-OO; Wed, 18 Aug 2021 20:30:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168320.307361; Wed, 18 Aug 2021 20:30:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGSCW-0000fH-Kc; Wed, 18 Aug 2021 20:30:16 +0000
Received: by outflank-mailman (input) for mailman id 168320;
 Wed, 18 Aug 2021 20:30:14 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ydNC=NJ=gmail.com=bobby.eshleman@srs-us1.protection.inumbo.net>)
 id 1mGSCU-000714-Ne
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 20:30:14 +0000
Received: from mail-pj1-x102a.google.com (unknown [2607:f8b0:4864:20::102a])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id d8baf436-6195-4e7d-9640-fac0d15dc35e;
 Wed, 18 Aug 2021 20:29:53 +0000 (UTC)
Received: by mail-pj1-x102a.google.com with SMTP id
 hv22-20020a17090ae416b0290178c579e424so3183136pjb.3
 for <xen-devel@lists.xenproject.org>; Wed, 18 Aug 2021 13:29:50 -0700 (PDT)
Received: from localhost.localdomain ([2601:1c2:4c02:4c00::1])
 by smtp.gmail.com with ESMTPSA id h25sm663775pfo.68.2021.08.18.13.29.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 18 Aug 2021 13:29:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: d8baf436-6195-4e7d-9640-fac0d15dc35e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=sender:from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=4ydItZe/YrS4x0wkLgFOI7vFRBemhJhfaF8p2sL58+8=;
        b=j69g3PiS+OxRuyXwjF6Adopqs6d6B5vsr8+HrrpIV+qi3sDt04QKnw8l3WamaXbl8P
         lFe9uwvk+CFaTSbfKh9I5t/ZACiU87LZJYsQReYVHbHhpPCa5Dmf+cqjrqzZbjIjPx84
         y0cQ2HeRnAgmkSO/ld4sdqsp2QkNsU/5730BRWLuIlRo7WyiPErZjRRmIeemEtqpToqd
         /WGKvPoq9c8tz61cIK8W4H93byIz9PsXEvwGA2cBB8A6cTqydsB3pJQEJtTG4GI1f9JV
         07jDQEFjyYJx4xeIRNNfRysHilXtnKXOI+Fem2W7C8str9dKkjdT6dWKM45aCcIW4CNb
         +zkg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:sender:from:to:cc:subject:date:message-id
         :in-reply-to:references:mime-version:content-transfer-encoding;
        bh=4ydItZe/YrS4x0wkLgFOI7vFRBemhJhfaF8p2sL58+8=;
        b=hyXY/shnDNo4KsczubLg1NzZO5yjflxE3liTgHDWDeAf6mvcNNLGcglwwCf+uy3eeD
         xML8QA2R0OON8NBpkbtBX6EJt4UQxIBLdIluMvMnhv2+X1F2BrsVo+44Nj5vAARATgGs
         zpR3kWpSLqfF1D6XKUWK1vCFvuK9Dz/ujIDUOT4/ZCNzijcKDlw5pd9n9qpKQrDMCc7a
         KIWEa3TDsk5xKzv/3uIt6dYNJpvxB3Udpu3A2zKmdLvMc8WhANHI3BnED/wLjm2AaE9A
         kPdk6qLOW7jFCIsfTfaTDa3GZd/rJtZfTOeN0XPfB25m/zafZcRDKkdopOpD8tpzPZx/
         Tldw==
X-Gm-Message-State: AOAM530YuttnDbN3JX9wf9AV16Rm8jVwEMtIWyUgKul5fmETXAiB3PKI
	S2DQERGljO4EiPDbFtKbehk6T1G15XM4pm2R
X-Google-Smtp-Source: ABdhPJxM0yxuBeRAbA8LrpLo+klvMhi1bXn5XmaAsWbgMUvlPUn70NylvnbO/RZnS+q/ra6wqr4sSQ==
X-Received: by 2002:a17:90a:9411:: with SMTP id r17mr11107155pjo.49.1629318589386;
        Wed, 18 Aug 2021 13:29:49 -0700 (PDT)
Sender: Bobby Eshleman <bobbyeshleman@gmail.com>
From: Bobby Eshleman <bobby.eshleman@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Bobby Eshleman <bobby.eshleman@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Elena Ufimtseva <elena.ufimtseva@oracle.com>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Ian Jackson <iwj@xenproject.org>
Subject: [PATCH v3 2/6] x86/debugger: separate Xen and guest debugging debugger_trap_* functions
Date: Wed, 18 Aug 2021 13:29:03 -0700
Message-Id: <7925a89cf830e0e3705a8700fce09a408fcfc27c.1629315873.git.bobby.eshleman@gmail.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <cover.1629315873.git.bobby.eshleman@gmail.com>
References: <cover.1629315873.git.bobby.eshleman@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Unlike debugger_trap_fatal() and debugger_trap_immediate(),
debugger_trap_entry() is specific to guest debugging and *NOT* the
debugging of Xen itself. That is, it is part of gdbsx functionality and
not the Xen gdstub. This is evidenced by debugger_trap_fatal()'s usage
of domain_pause_for_debugger(). Because of this, debugger_trap_entry()
does not belong alongside the generic Xen debugger functionality.

This commit fixes this by expanding inline debugger_trap_entry() into
its usage in x86/traps.c and stubbing out domain_pause_for_debugger()
when !CONFIG_GDBSX. Properly placing what was debugger_trap_entry()
under the scope of gdbsx instead of gdbstub.

The function calls that caused an effective no-op and early exit out of
debugger_trap_entry() are removed completely (when the trapnr is not
int3/debug).

This commit is one of a series geared towards removing the unnecessary
requirement that all architectures to implement <asm/debugger.h>.

Signed-off-by: Bobby Eshleman <bobby.eshleman@gmail.com>
---
 xen/arch/x86/domain.c          |  2 +-
 xen/arch/x86/traps.c           | 48 ++++++++++++++++++++--------------
 xen/include/asm-x86/debugger.h | 42 ++---------------------------
 3 files changed, 31 insertions(+), 61 deletions(-)

diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index ef1812dc14..70894ff826 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -2541,7 +2541,7 @@ __initcall(init_vcpu_kick_softirq);
 
 void domain_pause_for_debugger(void)
 {
-#ifdef CONFIG_CRASH_DEBUG
+#ifdef CONFIG_GDBSX
     struct vcpu *curr = current;
     struct domain *d = curr->domain;
 
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index e60af16ddd..d0a4c0ea74 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -858,13 +858,20 @@ static void do_trap(struct cpu_user_regs *regs)
     if ( regs->error_code & X86_XEC_EXT )
         goto hardware_trap;
 
-    if ( debugger_trap_entry(trapnr, regs) )
-        return;
-
     ASSERT(trapnr < 32);
 
     if ( guest_mode(regs) )
     {
+        struct vcpu *curr = current;
+        if ( (trapnr == TRAP_debug || trapnr == TRAP_int3) &&
+              guest_kernel_mode(curr, regs) &&
+              curr->domain->debugger_attached )
+        {
+            if ( trapnr != TRAP_debug )
+                curr->arch.gdbsx_vcpu_event = trapnr;
+            domain_pause_for_debugger();
+            return;
+        }
         pv_inject_hw_exception(trapnr,
                                (TRAP_HAVE_EC & (1u << trapnr))
                                ? regs->error_code : X86_EVENT_NO_EC);
@@ -1094,9 +1101,6 @@ void do_invalid_op(struct cpu_user_regs *regs)
     int id = -1, lineno;
     const struct virtual_region *region;
 
-    if ( debugger_trap_entry(TRAP_invalid_op, regs) )
-        return;
-
     if ( likely(guest_mode(regs)) )
     {
         if ( pv_emulate_invalid_op(regs) )
@@ -1201,8 +1205,7 @@ void do_invalid_op(struct cpu_user_regs *regs)
 
 void do_int3(struct cpu_user_regs *regs)
 {
-    if ( debugger_trap_entry(TRAP_int3, regs) )
-        return;
+    struct vcpu *curr = current;
 
     if ( !guest_mode(regs) )
     {
@@ -1215,6 +1218,12 @@ void do_int3(struct cpu_user_regs *regs)
 
         return;
     }
+    else if ( guest_kernel_mode(curr, regs) && curr->domain->debugger_attached )
+    {
+        curr->arch.gdbsx_vcpu_event = TRAP_int3;
+        domain_pause_for_debugger();
+        return;
+    }
 
     pv_inject_hw_exception(TRAP_int3, X86_EVENT_NO_EC);
 }
@@ -1492,9 +1501,6 @@ void do_page_fault(struct cpu_user_regs *regs)
     /* fixup_page_fault() might change regs->error_code, so cache it here. */
     error_code = regs->error_code;
 
-    if ( debugger_trap_entry(TRAP_page_fault, regs) )
-        return;
-
     perfc_incr(page_faults);
 
     /* Any shadow stack access fault is a bug in Xen. */
@@ -1593,9 +1599,6 @@ void do_general_protection(struct cpu_user_regs *regs)
     struct vcpu *v = current;
 #endif
 
-    if ( debugger_trap_entry(TRAP_gp_fault, regs) )
-        return;
-
     if ( regs->error_code & X86_XEC_EXT )
         goto hardware_gp;
 
@@ -1888,9 +1891,6 @@ void do_debug(struct cpu_user_regs *regs)
     /* Stash dr6 as early as possible. */
     dr6 = read_debugreg(6);
 
-    if ( debugger_trap_entry(TRAP_debug, regs) )
-        return;
-
     /*
      * At the time of writing (March 2018), on the subject of %dr6:
      *
@@ -1994,6 +1994,11 @@ void do_debug(struct cpu_user_regs *regs)
 
         return;
     }
+    else if ( guest_kernel_mode(v, regs) && v->domain->debugger_attached )
+    {
+        domain_pause_for_debugger();
+        return;
+    }
 
     /* Save debug status register where guest OS can peek at it */
     v->arch.dr6 |= (dr6 & ~X86_DR6_DEFAULT);
@@ -2014,9 +2019,6 @@ void do_entry_CP(struct cpu_user_regs *regs)
     const char *err = "??";
     unsigned int ec = regs->error_code;
 
-    if ( debugger_trap_entry(TRAP_debug, regs) )
-        return;
-
     /* Decode ec if possible */
     if ( ec < ARRAY_SIZE(errors) && errors[ec][0] )
         err = errors[ec];
@@ -2028,6 +2030,12 @@ void do_entry_CP(struct cpu_user_regs *regs)
      */
     if ( guest_mode(regs) )
     {
+        struct vcpu *curr = current;
+        if ( guest_kernel_mode(curr, regs) && curr->domain->debugger_attached )
+        {
+            domain_pause_for_debugger();
+            return;
+        }
         gprintk(XENLOG_ERR, "Hit #CP[%04x] in guest context %04x:%p\n",
                 ec, regs->cs, _p(regs->rip));
         ASSERT_UNREACHABLE();
diff --git a/xen/include/asm-x86/debugger.h b/xen/include/asm-x86/debugger.h
index 99803bfd0c..cd6b9477f7 100644
--- a/xen/include/asm-x86/debugger.h
+++ b/xen/include/asm-x86/debugger.h
@@ -5,19 +5,12 @@
  * 
  * Each debugger should define two functions here:
  * 
- * 1. debugger_trap_entry(): 
- *  Called at start of any synchronous fault or trap, before any other work
- *  is done. The idea is that if your debugger deliberately caused the trap
- *  (e.g. to implement breakpoints or data watchpoints) then you can take
- *  appropriate action and return a non-zero value to cause early exit from
- *  the trap function.
- * 
- * 2. debugger_trap_fatal():
+ * 1. debugger_trap_fatal():
  *  Called when Xen is about to give up and crash. Typically you will use this
  *  hook to drop into a debug session. It can also be used to hook off
  *  deliberately caused traps (which you then handle and return non-zero).
  *
- * 3. debugger_trap_immediate():
+ * 2. debugger_trap_immediate():
  *  Called if we want to drop into a debugger now.  This is essentially the
  *  same as debugger_trap_fatal, except that we use the current register state
  *  rather than the state which was in effect when we took the trap.
@@ -49,31 +42,6 @@ static inline bool debugger_trap_fatal(
 /* Int3 is a trivial way to gather cpu_user_regs context. */
 #define debugger_trap_immediate() __asm__ __volatile__ ( "int3" );
 
-static inline bool debugger_trap_entry(
-    unsigned int vector, struct cpu_user_regs *regs)
-{
-    /*
-     * This function is called before any checks are made.  Amongst other
-     * things, be aware that during early boot, current is not a safe pointer
-     * to follow.
-     */
-    struct vcpu *v = current;
-
-    if ( vector != TRAP_int3 && vector != TRAP_debug )
-        return false;
-
-    if ( guest_mode(regs) && guest_kernel_mode(v, regs) &&
-         v->domain->debugger_attached  )
-    {
-        if ( vector != TRAP_debug ) /* domain pause is good enough */
-            current->arch.gdbsx_vcpu_event = vector;
-        domain_pause_for_debugger();
-        return true;
-    }
-
-    return false;
-}
-
 #else
 
 static inline bool debugger_trap_fatal(
@@ -84,12 +52,6 @@ static inline bool debugger_trap_fatal(
 
 #define debugger_trap_immediate() ((void)0)
 
-static inline bool debugger_trap_entry(
-    unsigned int vector, struct cpu_user_regs *regs)
-{
-    return false;
-}
-
 #endif
 
 #ifdef CONFIG_GDBSX
-- 
2.32.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 18 20:30:22 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 20:30:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168321.307371 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGSCc-0001Bv-1m; Wed, 18 Aug 2021 20:30:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168321.307371; Wed, 18 Aug 2021 20:30:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGSCb-0001Bf-Tm; Wed, 18 Aug 2021 20:30:21 +0000
Received: by outflank-mailman (input) for mailman id 168321;
 Wed, 18 Aug 2021 20:30:19 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ydNC=NJ=gmail.com=bobby.eshleman@srs-us1.protection.inumbo.net>)
 id 1mGSCZ-000714-Nh
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 20:30:19 +0000
Received: from mail-pj1-x102d.google.com (unknown [2607:f8b0:4864:20::102d])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 4b4ced5a-6ba6-4eb0-9b8c-d2c76a4780f5;
 Wed, 18 Aug 2021 20:29:53 +0000 (UTC)
Received: by mail-pj1-x102d.google.com with SMTP id
 u21-20020a17090a8915b02901782c36f543so9696745pjn.4
 for <xen-devel@lists.xenproject.org>; Wed, 18 Aug 2021 13:29:53 -0700 (PDT)
Received: from localhost.localdomain ([2601:1c2:4c02:4c00::1])
 by smtp.gmail.com with ESMTPSA id h25sm663775pfo.68.2021.08.18.13.29.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 18 Aug 2021 13:29: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
X-Inumbo-ID: 4b4ced5a-6ba6-4eb0-9b8c-d2c76a4780f5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=sender:from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=z/GxiSbRFRsqjM1uw03mp0aByMGfgJWL6sCEVLvY9yo=;
        b=bNEzNoBCcyoAK1vJiNoO6HYZYgkeQut06KAvfvniipuPqmYAuSX3Cd6uywd43bzgW1
         uxyUVgpQ9iRUvGqM1Njd3e3imSRX8UQGMv8dj0xa7LqAb5Dv+tu/GJlTQFZTgAfjbBVK
         W9OGFmaBcGHaoaI3vfUxLASnezZUoizdlL8gbazgu6Pvj/yMMCwytSGemwO7q76XbF0e
         RPtcRGlQXfBLkN1jJgNiTMoRv6SUYSBH1B4YvQVtCV2joSU6yQ+FJYn8BDqSYjO8SbaJ
         +08okqvWmh1uGCMfpS9cYQ3fPyrBkLwPXDcE00F0v9uOQQ645j9j+sD0NnxTb4u1PuY3
         rFZQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:sender:from:to:cc:subject:date:message-id
         :in-reply-to:references:mime-version:content-transfer-encoding;
        bh=z/GxiSbRFRsqjM1uw03mp0aByMGfgJWL6sCEVLvY9yo=;
        b=ZKKg+Y92kDslhwMeCJr3zEhHWV01SQfBb52LZRPw9yZaGKO1jUYJAprwkhdiYwGGiU
         PCsYDIOw/l/2JAtn4Hs/yHYjJfjd4cPCfXl1n3UbE6EsbRN2ggGkWFbFUJhh9tSNZYa+
         hF9CeWdJNcwnAZb0cLAIv+gS1y1IjaDFX5rYNe/wu1qIZ6DtKw3CwUo5ZoYcE/cfH+T0
         6ER8j4AzDhFOLS+jLmI/ZWriOUgBZL4eJL0SGNtg0dZ8Iaexx3vHtTQpSuQg/0qDHBAE
         zsLM2vsdMJ+hGIf5NElOwvECS8JeBW86N53FrwYvSP0NS3o0NkCh5l7Cwqx2AOE6SnEU
         XXGQ==
X-Gm-Message-State: AOAM530+TBsDwY3sBqf5ZiVURU/vcsQXiaVQwxtjyIW0AVAIBSlWe0eb
	LSkRNzoCBiJ8HdBSX0F7cFJu+w3NT/Dqlixz
X-Google-Smtp-Source: ABdhPJyh8DtEMy3Xiuo3daM/gznTddwqFpWtrZ++XTnWJWygJ9AvtiEbJaNHC8p/5fDfXZ//jrPBKA==
X-Received: by 2002:a17:902:c406:b0:12d:d0ff:4a9 with SMTP id k6-20020a170902c40600b0012dd0ff04a9mr8611113plk.65.1629318592746;
        Wed, 18 Aug 2021 13:29:52 -0700 (PDT)
Sender: Bobby Eshleman <bobbyeshleman@gmail.com>
From: Bobby Eshleman <bobby.eshleman@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Bobby Eshleman <bobby.eshleman@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Elena Ufimtseva <elena.ufimtseva@oracle.com>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Ian Jackson <iwj@xenproject.org>
Subject: [PATCH v3 5/6] arch/x86: move domain_pause_for_debugger() to domain.h
Date: Wed, 18 Aug 2021 13:29:06 -0700
Message-Id: <e185531b79b73fd353b4cfbe2cb7625498e9c9b1.1629315874.git.bobby.eshleman@gmail.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <cover.1629315873.git.bobby.eshleman@gmail.com>
References: <cover.1629315873.git.bobby.eshleman@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

domain_pause_for_debugger() was previously in debugger.h.  This commit
moves it to domain.h because its implementation is in domain.c.

Signed-off-by: Bobby Eshleman <bobby.eshleman@gmail.com>
---
Changes in v3:
- domain_pause_for_debugger() is now moved into debugger.h, not a new
  file debugger.c

 xen/arch/x86/hvm/svm/svm.c      | 2 +-
 xen/arch/x86/hvm/vmx/realmode.c | 2 +-
 xen/arch/x86/hvm/vmx/vmx.c      | 2 +-
 xen/arch/x86/nmi.c              | 1 -
 xen/arch/x86/traps.c            | 1 +
 xen/include/asm-x86/debugger.h  | 2 --
 xen/include/asm-x86/domain.h    | 2 ++
 7 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index 642a64b747..84448e496f 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -36,6 +36,7 @@
 #include <asm/processor.h>
 #include <asm/amd.h>
 #include <asm/debugreg.h>
+#include <asm/domain.h>
 #include <asm/msr.h>
 #include <asm/i387.h>
 #include <asm/iocap.h>
@@ -58,7 +59,6 @@
 #include <asm/hvm/trace.h>
 #include <asm/hap.h>
 #include <asm/apic.h>
-#include <asm/debugger.h>
 #include <asm/hvm/monitor.h>
 #include <asm/monitor.h>
 #include <asm/xstate.h>
diff --git a/xen/arch/x86/hvm/vmx/realmode.c b/xen/arch/x86/hvm/vmx/realmode.c
index cc23afa788..5c4b1910a9 100644
--- a/xen/arch/x86/hvm/vmx/realmode.c
+++ b/xen/arch/x86/hvm/vmx/realmode.c
@@ -14,7 +14,7 @@
 #include <xen/sched.h>
 #include <xen/paging.h>
 #include <xen/softirq.h>
-#include <asm/debugger.h>
+#include <asm/domain.h>
 #include <asm/event.h>
 #include <asm/hvm/emulate.h>
 #include <asm/hvm/hvm.h>
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index e09b7e3af9..6fd59865c7 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -27,6 +27,7 @@
 #include <xen/hypercall.h>
 #include <xen/perfc.h>
 #include <asm/current.h>
+#include <asm/domain.h>
 #include <asm/io.h>
 #include <asm/iocap.h>
 #include <asm/regs.h>
@@ -51,7 +52,6 @@
 #include <asm/hvm/trace.h>
 #include <asm/hvm/monitor.h>
 #include <asm/xenoprof.h>
-#include <asm/debugger.h>
 #include <asm/apic.h>
 #include <asm/hvm/nestedhvm.h>
 #include <asm/altp2m.h>
diff --git a/xen/arch/x86/nmi.c b/xen/arch/x86/nmi.c
index ab94a96c4d..11d5f5a917 100644
--- a/xen/arch/x86/nmi.c
+++ b/xen/arch/x86/nmi.c
@@ -30,7 +30,6 @@
 #include <asm/msr.h>
 #include <asm/mpspec.h>
 #include <asm/nmi.h>
-#include <asm/debugger.h>
 #include <asm/div64.h>
 #include <asm/apic.h>
 
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index d0a4c0ea74..5947ed25d6 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -63,6 +63,7 @@
 #include <asm/i387.h>
 #include <asm/xstate.h>
 #include <asm/debugger.h>
+#include <asm/domain.h>
 #include <asm/msr.h>
 #include <asm/nmi.h>
 #include <asm/xenoprof.h>
diff --git a/xen/include/asm-x86/debugger.h b/xen/include/asm-x86/debugger.h
index ed4d5c829b..8f6222956e 100644
--- a/xen/include/asm-x86/debugger.h
+++ b/xen/include/asm-x86/debugger.h
@@ -26,8 +26,6 @@
 #include <asm/regs.h>
 #include <asm/processor.h>
 
-void domain_pause_for_debugger(void);
-
 #ifdef CONFIG_CRASH_DEBUG
 
 #include <xen/gdbstub.h>
diff --git a/xen/include/asm-x86/domain.h b/xen/include/asm-x86/domain.h
index 92d54de0b9..de854b5bfa 100644
--- a/xen/include/asm-x86/domain.h
+++ b/xen/include/asm-x86/domain.h
@@ -672,6 +672,8 @@ void update_guest_memory_policy(struct vcpu *v,
 
 void domain_cpu_policy_changed(struct domain *d);
 
+void domain_pause_for_debugger(void);
+
 bool update_runstate_area(struct vcpu *);
 bool update_secondary_system_time(struct vcpu *,
                                   struct vcpu_time_info *);
-- 
2.32.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 18 20:30:25 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 20:30:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168323.307383 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGSCf-0001cD-Da; Wed, 18 Aug 2021 20:30:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168323.307383; Wed, 18 Aug 2021 20: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 1mGSCf-0001c2-8s; Wed, 18 Aug 2021 20:30:25 +0000
Received: by outflank-mailman (input) for mailman id 168323;
 Wed, 18 Aug 2021 20:30:24 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ydNC=NJ=gmail.com=bobby.eshleman@srs-us1.protection.inumbo.net>)
 id 1mGSCe-000714-Nn
 for xen-devel@lists.xenproject.org; Wed, 18 Aug 2021 20:30:24 +0000
Received: from mail-pf1-x432.google.com (unknown [2607:f8b0:4864:20::432])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 987880ea-60b2-4804-8cff-7b21d3fb1597;
 Wed, 18 Aug 2021 20:29:55 +0000 (UTC)
Received: by mail-pf1-x432.google.com with SMTP id 7so3368494pfl.10
 for <xen-devel@lists.xenproject.org>; Wed, 18 Aug 2021 13:29:55 -0700 (PDT)
Received: from localhost.localdomain ([2601:1c2:4c02:4c00::1])
 by smtp.gmail.com with ESMTPSA id h25sm663775pfo.68.2021.08.18.13.29.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 18 Aug 2021 13:29: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
X-Inumbo-ID: 987880ea-60b2-4804-8cff-7b21d3fb1597
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=sender:from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=mzhpzYQx8peh1hdfIxEJjNatsuoe8FeZa6ijWCK1xjE=;
        b=h4CssbkPRxoitKam7/BAJ4YSIkbQ5wgEJmqRDamJcE7VRRfD3gKOIrhe8dba7nvdcG
         JO/OTO50Hhffn4Umpq9ojl3V03aoRR1GNGIxxFq9zvKKj4mRLIimKh6SCJk4KwbIgT67
         jg1h4NTO/yhv4RRs8TDmaogpTJx6qx8SV7ijUXV2UmX34ROA2Nvugc451XcdHP3zShf0
         gdyLMDdgCehTZ4oNytgVAXoEo3NMB2lGpGW/fRzLDhPq/V+6xHB9mzSURLPWWeAtWUMm
         Isf6PRsLvjb3cKOacE8R4KxzyqDHnrPs/r0bEs25a371/Qnw6QqLu2WH7dGOLSWfGav+
         qcDA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:sender:from:to:cc:subject:date:message-id
         :in-reply-to:references:mime-version:content-transfer-encoding;
        bh=mzhpzYQx8peh1hdfIxEJjNatsuoe8FeZa6ijWCK1xjE=;
        b=tJdtfGvHFiqW6y4EYvjPRHZY58ccai7zuQLGKBhq0A8AywChA5Q8JDiwBVc+O2KAjA
         jkb6/UswL/P48+UwrQaZfSf/6HANWbBh1RxXdlEHRgOGA0bp1DBKwtTQpMD401UljInV
         nfSvr8VB92OK85hsZN7/XqRS04litUXs7KGn9NW6cn6wa1bD8lfgU8dW29o5fwuYVGc2
         xDD5951DC+X6o3AO7BHANUVUdQyH2Nk/ZIagP9UmiJ5CbHys60xQ+IABbkaWWbl+R1kk
         UtpfnV/FzvrVBnDB2W3vzhbmT3jcQpg9BblU6HvS6xKjl5ybXHFWSrURo6I7IILVjtU+
         KhWA==
X-Gm-Message-State: AOAM532WiHJAW4BiaA48KfEBQlYalERvmtilS1/pXZ3c+mN9QBdJOuld
	cK81hqMfz/YvWP2qR+jp+76wmnwt+E1aCWnd
X-Google-Smtp-Source: ABdhPJzSC9bUuemsB4if7L49hfh2BOsBCLPEaZDrpMrX0BOd6P+1gfwEGSXAxdUsbBvPto83tIMMEQ==
X-Received: by 2002:a62:87c5:0:b029:3b5:f90f:c2eb with SMTP id i188-20020a6287c50000b02903b5f90fc2ebmr11339383pfe.28.1629318594044;
        Wed, 18 Aug 2021 13:29:54 -0700 (PDT)
Sender: Bobby Eshleman <bobbyeshleman@gmail.com>
From: Bobby Eshleman <bobby.eshleman@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Bobby Eshleman <bobby.eshleman@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Elena Ufimtseva <elena.ufimtseva@oracle.com>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Ian Jackson <iwj@xenproject.org>
Subject: [PATCH v3 6/6] x86: change asm/debugger.h to xen/debugger.h
Date: Wed, 18 Aug 2021 13:29:07 -0700
Message-Id: <f341cf43ec2fb32a78d92265740e595f56fa76ae.1629315874.git.bobby.eshleman@gmail.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <cover.1629315873.git.bobby.eshleman@gmail.com>
References: <cover.1629315873.git.bobby.eshleman@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This commit allows non-x86 architecture to omit the file asm/debugger.h
if they do not require it.  It changes debugger.h to be a general
xen/debugger.h which, if CONFIG_CRASH_DEBUG, resolves to include
asm/debugger.h.

It also changes all asm/debugger.h includes to xen/debugger.h.

Because it is no longer required, arm/debugger.h is removed.

Signed-off-by: Bobby Eshleman <bobby.eshleman@gmail.com>
---
Changes in v3:
- No longer introduces a fake TRAP_invalid_op for arm to consume, it
  is not necessary given the removal of the arm calls now precedes
  this patch.
- Instead of defining prototypes that arch/ is expected to implement,
  this version simply #includes <arch/debugger.h> when CONFIG_CRASH_DEBUG.

 xen/arch/x86/traps.c           |  2 +-
 xen/common/domain.c            |  2 +-
 xen/common/gdbstub.c           |  2 +-
 xen/common/keyhandler.c        |  2 +-
 xen/common/shutdown.c          |  2 +-
 xen/drivers/char/console.c     |  2 +-
 xen/include/asm-arm/debugger.h | 15 ----------
 xen/include/asm-x86/debugger.h | 15 ----------
 xen/include/xen/debugger.h     | 51 ++++++++++++++++++++++++++++++++++
 9 files changed, 57 insertions(+), 36 deletions(-)
 delete mode 100644 xen/include/asm-arm/debugger.h
 create mode 100644 xen/include/xen/debugger.h

diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index 5947ed25d6..a540f0832e 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -35,6 +35,7 @@
 #include <xen/shutdown.h>
 #include <xen/guest_access.h>
 #include <asm/regs.h>
+#include <xen/debugger.h>
 #include <xen/delay.h>
 #include <xen/event.h>
 #include <xen/spinlock.h>
@@ -62,7 +63,6 @@
 #include <asm/uaccess.h>
 #include <asm/i387.h>
 #include <asm/xstate.h>
-#include <asm/debugger.h>
 #include <asm/domain.h>
 #include <asm/msr.h>
 #include <asm/nmi.h>
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 6b71c6d6a9..a87d814b38 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -11,6 +11,7 @@
 #include <xen/err.h>
 #include <xen/param.h>
 #include <xen/sched.h>
+#include <xen/debugger.h>
 #include <xen/domain.h>
 #include <xen/mm.h>
 #include <xen/event.h>
@@ -33,7 +34,6 @@
 #include <xen/xenoprof.h>
 #include <xen/irq.h>
 #include <xen/argo.h>
-#include <asm/debugger.h>
 #include <asm/p2m.h>
 #include <asm/processor.h>
 #include <public/sched.h>
diff --git a/xen/common/gdbstub.c b/xen/common/gdbstub.c
index 848c1f4327..1d7b98cdac 100644
--- a/xen/common/gdbstub.c
+++ b/xen/common/gdbstub.c
@@ -38,12 +38,12 @@
 #include <xen/serial.h>
 #include <xen/irq.h>
 #include <xen/watchdog.h>
-#include <asm/debugger.h>
 #include <xen/init.h>
 #include <xen/param.h>
 #include <xen/smp.h>
 #include <xen/console.h>
 #include <xen/errno.h>
+#include <xen/debugger.h>
 #include <xen/delay.h>
 #include <asm/byteorder.h>
 
diff --git a/xen/common/keyhandler.c b/xen/common/keyhandler.c
index 8b9f378371..1eafaef9b2 100644
--- a/xen/common/keyhandler.c
+++ b/xen/common/keyhandler.c
@@ -3,6 +3,7 @@
  */
 
 #include <asm/regs.h>
+#include <xen/debugger.h>
 #include <xen/delay.h>
 #include <xen/keyhandler.h>
 #include <xen/param.h>
@@ -20,7 +21,6 @@
 #include <xen/mm.h>
 #include <xen/watchdog.h>
 #include <xen/init.h>
-#include <asm/debugger.h>
 #include <asm/div64.h>
 
 static unsigned char keypress_key;
diff --git a/xen/common/shutdown.c b/xen/common/shutdown.c
index abde48aa4c..a933ee001e 100644
--- a/xen/common/shutdown.c
+++ b/xen/common/shutdown.c
@@ -2,13 +2,13 @@
 #include <xen/lib.h>
 #include <xen/param.h>
 #include <xen/sched.h>
+#include <xen/debugger.h>
 #include <xen/domain.h>
 #include <xen/delay.h>
 #include <xen/watchdog.h>
 #include <xen/shutdown.h>
 #include <xen/console.h>
 #include <xen/kexec.h>
-#include <asm/debugger.h>
 #include <public/sched.h>
 
 /* opt_noreboot: If true, machine will need manual reset on error. */
diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index 7d0a603d03..3d1cdde821 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -15,6 +15,7 @@
 #include <xen/init.h>
 #include <xen/event.h>
 #include <xen/console.h>
+#include <xen/debugger.h>
 #include <xen/param.h>
 #include <xen/serial.h>
 #include <xen/softirq.h>
@@ -26,7 +27,6 @@
 #include <xen/kexec.h>
 #include <xen/ctype.h>
 #include <xen/warning.h>
-#include <asm/debugger.h>
 #include <asm/div64.h>
 #include <xen/hypercall.h> /* for do_console_io */
 #include <xen/early_printk.h>
diff --git a/xen/include/asm-arm/debugger.h b/xen/include/asm-arm/debugger.h
deleted file mode 100644
index ac776efa78..0000000000
--- a/xen/include/asm-arm/debugger.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef __ARM_DEBUGGER_H__
-#define __ARM_DEBUGGER_H__
-
-#define debugger_trap_fatal(v, r) (0)
-#define debugger_trap_immediate() ((void) 0)
-
-#endif /* __ARM_DEBUGGER_H__ */
-/*
- * Local variables:
- * mode: C
- * c-file-style: "BSD"
- * c-basic-offset: 4
- * indent-tabs-mode: nil
- * End:
- */
diff --git a/xen/include/asm-x86/debugger.h b/xen/include/asm-x86/debugger.h
index 8f6222956e..b9eeed395c 100644
--- a/xen/include/asm-x86/debugger.h
+++ b/xen/include/asm-x86/debugger.h
@@ -25,9 +25,6 @@
 #include <xen/sched.h>
 #include <asm/regs.h>
 #include <asm/processor.h>
-
-#ifdef CONFIG_CRASH_DEBUG
-
 #include <xen/gdbstub.h>
 
 static inline bool debugger_trap_fatal(
@@ -40,16 +37,4 @@ static inline bool debugger_trap_fatal(
 /* Int3 is a trivial way to gather cpu_user_regs context. */
 #define debugger_trap_immediate() __asm__ __volatile__ ( "int3" );
 
-#else
-
-static inline bool debugger_trap_fatal(
-    unsigned int vector, struct cpu_user_regs *regs)
-{
-    return false;
-}
-
-#define debugger_trap_immediate() ((void)0)
-
-#endif
-
 #endif /* __X86_DEBUGGER_H__ */
diff --git a/xen/include/xen/debugger.h b/xen/include/xen/debugger.h
new file mode 100644
index 0000000000..166fad9d2e
--- /dev/null
+++ b/xen/include/xen/debugger.h
@@ -0,0 +1,51 @@
+/******************************************************************************
+ * Generic hooks into arch-dependent Xen.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; If not, see <http://www.gnu.org/licenses/>.
+ *
+ * Each debugger should define two functions here:
+ *
+ * 1. debugger_trap_fatal():
+ *  Called when Xen is about to give up and crash. Typically you will use this
+ *  hook to drop into a debug session. It can also be used to hook off
+ *  deliberately caused traps (which you then handle and return non-zero).
+ *
+ * 2. debugger_trap_immediate():
+ *  Called if we want to drop into a debugger now.  This is essentially the
+ *  same as debugger_trap_fatal, except that we use the current register state
+ *  rather than the state which was in effect when we took the trap.
+ *  For example: if we're dying because of an unhandled exception, we call
+ *  debugger_trap_fatal; if we're dying because of a panic() we call
+ *  debugger_trap_immediate().
+ */
+
+#ifndef __XEN_DEBUGGER_H__
+#define __XEN_DEBUGGER_H__
+
+#ifdef CONFIG_CRASH_DEBUG
+
+#include <asm/debugger.h>
+
+#else
+
+#include <asm/regs.h>
+
+static inline bool debugger_trap_fatal(
+    unsigned int vector, const struct cpu_user_regs *regs)
+{
+    return false;
+}
+
+static inline void debugger_trap_immediate(void)
+{
+}
+
+#endif /* CONFIG_CRASH_DEBUG */
+
+#endif /* __XEN_DEBUGGER_H__ */
-- 
2.32.0



From xen-devel-bounces@lists.xenproject.org Wed Aug 18 22:12:04 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Aug 2021 22:12:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168361.307393 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGTmn-0004fy-HZ; Wed, 18 Aug 2021 22:11:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168361.307393; Wed, 18 Aug 2021 22:11: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 1mGTmn-0004fr-Ee; Wed, 18 Aug 2021 22:11:49 +0000
Received: by outflank-mailman (input) for mailman id 168361;
 Wed, 18 Aug 2021 22:11: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 1mGTml-0004fh-Nu; Wed, 18 Aug 2021 22:11: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 1mGTml-0008Of-G3; Wed, 18 Aug 2021 22:11: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 1mGTml-00029d-56; Wed, 18 Aug 2021 22:11:47 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mGTml-0000CM-2s; Wed, 18 Aug 2021 22:11: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=TCnIlQGkYO1sxqGRlU/3PHTDjInTmTGxqhtcnKaFCC4=; b=gdihqbSfjkRMLdJb8SFQ6ugWJd
	/S+WqUY2hVzygT4+W+LAJoUW3VmJA3FWp54bfjTgYRtwIFaimpUXw1BRCcKAC8k+9yIAUPAgvx6A1
	RgBqlSmTYBxKOcfOC1UmHSAa3vwSJqQ7jg/lkos4dR82MyXXgmrqkwcGsGCBzzNN/t4w=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164234-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 164234: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-amd64-pvgrub:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:regression
    qemu-mainline:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:allowable
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check: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-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-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-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-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-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=ecf2706e271fa705621f0d5ad9517fe15a22bf22
X-Osstest-Versions-That:
    qemuu=703e8cd6189cf699c8d5c094bc68b5f3afa6ad71
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 18 Aug 2021 22:11:47 +0000

flight 164234 qemu-mainline real [real]
flight 164243 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/164234/
http://logs.test-lab.xenproject.org/osstest/logs/164243/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install       fail REGR. vs. 164152
 test-amd64-amd64-i386-pvgrub 12 debian-di-install        fail REGR. vs. 164152

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds    18 guest-start/debian.repeat fail REGR. vs. 164152

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164152
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164152
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164152
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164152
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164152
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164152
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164152
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-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-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                ecf2706e271fa705621f0d5ad9517fe15a22bf22
baseline version:
 qemuu                703e8cd6189cf699c8d5c094bc68b5f3afa6ad71

Last test of basis   164152  2021-08-10 21:08:02 Z    8 days
Failing since        164194  2021-08-15 10:38:08 Z    3 days    5 attempts
Testing same since   164234  2021-08-18 02:37:17 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexander Bulekov <alxndr@bu.edu>
  Andrew Jones <drjones@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  David Hildenbrand <david@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Lara Lazier <laramglazier@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@redhat.com>
  Taylor Simpson <tsimpson@quicinc.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                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 490 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 03:07:39 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 03:07:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168374.307417 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGYOq-00061B-4Y; Thu, 19 Aug 2021 03:07:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168374.307417; Thu, 19 Aug 2021 03:07:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGYOq-000614-0E; Thu, 19 Aug 2021 03:07:24 +0000
Received: by outflank-mailman (input) for mailman id 168374;
 Thu, 19 Aug 2021 03:07: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 1mGYOo-00060u-0b; Thu, 19 Aug 2021 03:07: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 1mGYOn-0003yz-Pa; Thu, 19 Aug 2021 03:07: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 1mGYOn-0008K1-7H; Thu, 19 Aug 2021 03:07:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mGYOn-00023e-6l; Thu, 19 Aug 2021 03:07:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=HGr2aM3uLBDplUt4G2ViKeW1ecbhoc2U3tHXw0rWwWI=; b=r/rR7wzyd3W9vb7NaNmgV8ePmL
	o8bjcdsSXStVvt+A2xMJfcGr4V5t29Qol1Gjw4C0kHMa+RMQiyMC75or4Uv1Zbfd/KRCJJ1YIUtcp
	CULb43QusS4UHielhu2ZIIVOCKx5RQOXlGoiuKGPBO2b2K+oDCXf3DRvo+CCBd0dSTxk=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164237-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 164237: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-amd64-pvgrub:debian-di-install:fail:regression
    xen-unstable:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:regression
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=54c9736382e0d558a6acd820e44185e020131c48
X-Osstest-Versions-That:
    xen=5a88d524857e5bf78b077d30ea515fcaac061bfc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 19 Aug 2021 03:07:21 +0000

flight 164237 xen-unstable real [real]
flight 164246 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/164237/
http://logs.test-lab.xenproject.org/osstest/logs/164246/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install       fail REGR. vs. 164178
 test-amd64-amd64-i386-pvgrub 12 debian-di-install        fail REGR. vs. 164178

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 164178
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164178
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164178
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 164178
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 164178
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164178
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164178
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 164178
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164178
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164178
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164178
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-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-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 xen                  54c9736382e0d558a6acd820e44185e020131c48
baseline version:
 xen                  5a88d524857e5bf78b077d30ea515fcaac061bfc

Last test of basis   164178  2021-08-13 10:47:20 Z    5 days
Failing since        164182  2021-08-14 00:39:12 Z    5 days    8 attempts
Testing same since   164237  2021-08-18 07:24:21 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jane Malalane <jane.malalane@citrix.com>
  Kevin Stefanov <kevin.stefanov@citrix.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 54c9736382e0d558a6acd820e44185e020131c48
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Tue Aug 17 11:38:07 2021 +0100

    x86/cet: Fix build on newer versions of GCC
    
    Some versions of GCC complain with:
    
      traps.c:405:22: error: 'get_shstk_bottom' defined but not used [-Werror=unused-function]
       static unsigned long get_shstk_bottom(unsigned long sp)
                            ^~~~~~~~~~~~~~~~
      cc1: all warnings being treated as errors
    
    Change #ifdef to if ( IS_ENABLED(...) ) to make the sole user of
    get_shstk_bottom() visible to the compiler.
    
    Fixes: 35727551c070 ("x86/cet: Fix shskt manipulation error with BUGFRAME_{warn,run_fn}")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Compile-tested-by: Jan Beulich <jbeulich@suse.com>
    Tested-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

commit 35727551c0703493a2240e967cffc3063b13d49c
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Thu Aug 12 17:39:16 2021 +0100

    x86/cet: Fix shskt manipulation error with BUGFRAME_{warn,run_fn}
    
    This was a clear oversight in the original CET work.  The BUGFRAME_run_fn and
    BUGFRAME_warn paths update regs->rip without an equivalent adjustment to the
    shadow stack, causing IRET to suffer #CP because of the mismatch.
    
    One subtle, and therefore fragile, aspect of extable_shstk_fixup() was that it
    required regs->rip to have its old value as a cross-check that the right word
    in the shadow stack was being edited.
    
    Rework extable_shstk_fixup() into fixup_exception_return() which takes
    ownership of the update to both the regular and shadow stacks, ensuring that
    the regs->rip update is ordered correctly.
    
    Use the new fixup_exception_return() for BUGFRAME_run_fn and BUGFRAME_warn to
    ensure that the shadow stack is updated too.
    
    Fixes: 209fb9919b50 ("x86/extable: Adjust extable handling to be shadow stack compatible")
    Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Tested-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit bc141e8ca56200bdd0a12e04a6ebff3c19d6c27b
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Mon Aug 16 14:24:44 2021 +0100

    x86/ACPI: Insert missing newlines into FACS error messages
    
    Booting Xen as a PVH guest currently yields:
    
      (XEN) ACPI: SLEEP INFO: pm1x_cnt[1:b004,1:0], pm1x_evt[1:b000,1:0]
      (XEN) ACPI: FACS is not 64-byte aligned: 0xfc001010<2>ACPI: wakeup_vec[fc00101c], vec_size[20]
      (XEN) ACPI: Local APIC address 0xfee00000
    
    Insert newlines as appropriate.
    
    Fixes: d3faf9badf52 ("[host s3] Retrieve necessary sleep information from plain-text ACPI tables (FADT/FACS), and keep one hypercall remained for sleep notification.")
    Fixes: 0f089bbf43ec ("x86/ACPI: fix S3 wakeup vector mapping")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit 6928bc511399fd8f593fe49a3241212860a6a1b5
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Thu Aug 12 14:49:57 2021 +0100

    MAINTAINERS: Fix file path for kexec headers
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit 274c5e79c792ce0331d0d8cd9a01545dea5a48fd
Author: Kevin Stefanov <kevin.stefanov@citrix.com>
Date:   Mon Aug 16 15:16:56 2021 +0200

    x86/ioapic: remove use of TRUE/FALSE/1/0
    
    Also fix stray usage in VT-d.
    
    Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Kevin Stefanov <kevin.stefanov@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit 2e5512d1ffd2e720f25c376df12db8a914117589
Author: Jane Malalane <jane.malalane@citrix.com>
Date:   Mon Aug 16 15:16:20 2021 +0200

    x86/pv: provide more helpful error when CONFIG_PV32 is absent
    
    Currently, when booting a 32bit dom0 kernel, the message isn't very
    helpful:
    
      (XEN)  Xen  kernel: 64-bit, lsb
      (XEN)  Dom0 kernel: 32-bit, PAE, lsb, paddr 0x100000 -> 0x112000
      (XEN) Mismatch between Xen and DOM0 kernel
      (XEN)
      (XEN) ****************************************
      (XEN) Panic on CPU 0:
      (XEN) Could not construct domain 0
      (XEN) ****************************************
    
    With this adjustment, it now looks like this:
    
      (XEN)  Xen  kernel: 64-bit, lsb
      (XEN) Found 32-bit PV kernel, but CONFIG_PV32 missing
      (XEN)
      (XEN) ****************************************
      (XEN) Panic on CPU 0:
      (XEN) Could not construct domain 0
      (XEN) ****************************************
    
    Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Jane Malalane <jane.malalane@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit c53aa9e655e7c615283e9e9637376c2b865e9dae
Author: Jane Malalane <jane.malalane@citrix.com>
Date:   Mon Aug 16 15:15:43 2021 +0200

    x86/pv: remove unnecessary use of goto out in construct_dom0()
    
    elf_check_broken() only needs to be invoked after elf_xen_parse() and
    after elf_load_binary().
    
    Suggested-by: Jan Beulich <jbeulich@suse.com>
    Signed-off-by: Jane Malalane <jane.malalane@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit 60a9d8d2fc9c4a524c7342499580a88aaa3a2b55
Author: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Date:   Mon Aug 16 15:14:37 2021 +0200

    ns16550: do not override fifo size if explicitly set
    
    If fifo size is already set via uart_params, do not force it to 16 - which
    may not match the actual hardware. Specifically Exar cards have fifo of
    256 bytes.
    
    Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit 5c34b9af05b9e5abd25d88efc4fb783136547810
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Aug 13 16:50:09 2021 +0200

    libxc: simplify HYPERCALL_BUFFER()
    
    _hcbuf_buf1 has been there only for a pointer comparison to validate
    type compatibility. The same can be achieved by not using typeof() on
    the definition of what so far was _hcbuf_buf2, as the initializer has
    to also be type-compatible. Drop _hcbuf_buf1 and the comaprison;
    rename _hcbuf_buf2.
    
    Since we're already using compiler extensions here, don't be shy and
    also omit the middle operand of the involved ?: operator.
    
    Bring line continuation character placement in line with that of
    related macros.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit e241d15f1c8a8a02baa401af857393f9ada5aeb3
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Aug 13 16:49:46 2021 +0200

    libxenguest: fix off-by-1 in colo-secondary-bitmap merging
    
    Valid GFNs (having a representation in the dirty bitmap) need to be
    strictly below p2m_size.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 1a838bf72584788310496ba5f3d865457c80727f
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Aug 13 16:49:10 2021 +0200

    libxenguest: complete loops in xc_map_domain_meminfo()
    
    minfo->p2m_size may have more than 31 significant bits. Change the
    induction variable to unsigned long, and (largely for signed-ness
    consistency) a helper variable to unsigned int. While there also avoid
    open-coding min().
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 05:31:16 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 05:31:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168383.307434 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGads-0003rV-FE; Thu, 19 Aug 2021 05:31:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168383.307434; Thu, 19 Aug 2021 05:31:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGads-0003rO-Bl; Thu, 19 Aug 2021 05:31:04 +0000
Received: by outflank-mailman (input) for mailman id 168383;
 Thu, 19 Aug 2021 05:31:03 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/7+2=NK=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mGadr-0003rI-Pp
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 05:31:03 +0000
Received: from smtp-out2.suse.de (unknown [195.135.220.29])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id a3d6454f-00ae-11ec-a5b3-12813bfff9fa;
 Thu, 19 Aug 2021 05:31:02 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 315D41FD2D;
 Thu, 19 Aug 2021 05:31:01 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id F1AA31371C;
 Thu, 19 Aug 2021 05:31:00 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id WOnxOJTsHWEzFgAAGKfGzw
 (envelope-from <jgross@suse.com>); Thu, 19 Aug 2021 05: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: a3d6454f-00ae-11ec-a5b3-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1629351061; 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=JAlAwR9/QksTzRSgjsQCc86kQ6ZiSu8rGtdbGLfgZFw=;
	b=qUfHRUp4JLy98LyOC+faN9t1R0hLK1Rk6uOLQQtwBdMkLLL5KQvuX5KL0Bk4a2B1Sgk4Oq
	kXbTG3n/EEPyvOgGxtAsnIrjYoP7hj5l5vWn2mb/Wz407/Q1TS+XLAnWZaKuT9053wUl7z
	34IoPGJ/QgVjuHmTfgo19BMXmVgzwBM=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH] mini-os: netfront: fix initialization without ip address in xenstore
Date: Thu, 19 Aug 2021 07:30:56 +0200
Message-Id: <20210819053056.32675-1-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Commit 4821876fcd2ff ("mini-os: netfront: fix suspend/resume handling")
introduced a NULL pointer dereference in the initialization of netfront
in the case of no IP address being set in Xenstore.

Fix that by testing this condition. At the same time fix a long
standing bug for the same condition if someone used init_netfront()
with a non-NULL ip parameter.

Fixes: 4821876fcd2ff ("mini-os: netfront: fix suspend/resume handling")
Signed-off-by: Juergen Gross <jgross@suse.com>
---
 netfront.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/netfront.c b/netfront.c
index f927e99..dfe065b 100644
--- a/netfront.c
+++ b/netfront.c
@@ -365,7 +365,7 @@ out:
         rawmac[5] = dev->rawmac[5];
 	}
     if (ip)
-        *ip = strdup(dev->ip);
+        *ip = dev->ip ? strdup(dev->ip) : NULL;
 
 err:
     return dev;
@@ -527,7 +527,7 @@ done:
         snprintf(path, sizeof(path), "%s/ip", dev->backend);
         xenbus_read(XBT_NIL, path, &dev->ip);
 
-        p = strchr(dev->ip, ' ');
+        p = dev->ip ? strchr(dev->ip, ' ') : NULL;
         if (p) {
             *p++ = '\0';
             dev->mask = p;
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 05:45:16 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 05:45:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168392.307449 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGarX-0005V2-S1; Thu, 19 Aug 2021 05:45:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168392.307449; Thu, 19 Aug 2021 05:45:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGarX-0005Uv-NY; Thu, 19 Aug 2021 05:45:11 +0000
Received: by outflank-mailman (input) for mailman id 168392;
 Thu, 19 Aug 2021 05:45:10 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/7+2=NK=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mGarW-0005Up-EL
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 05:45:10 +0000
Received: from smtp-out2.suse.de (unknown [195.135.220.29])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 89431ff5-69ca-4b17-b03d-0a612ef71147;
 Thu, 19 Aug 2021 05:45:09 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 70C091FD76;
 Thu, 19 Aug 2021 05:45:08 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 351971371C;
 Thu, 19 Aug 2021 05:45:08 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id cJFcC+TvHWGQGAAAGKfGzw
 (envelope-from <jgross@suse.com>); Thu, 19 Aug 2021 05: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: 89431ff5-69ca-4b17-b03d-0a612ef71147
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1629351908; 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=g2SwivnKRzFRC1AwW9KhKdIdo0BzbL09L1eZJ4FC6KM=;
	b=anvBYUTgQb0y52ZI7auW0qmt8bwaR6wUIe4osBgDP2c480lrpVYUyiR82yRQt5yk4ldqNQ
	VelGDL8Lt6i3iPmcv3wA/E7hmRYe7Ru110w/jK45EXs7HTvg/4JZA9Qhl3+NJGu1H8vEEU
	iss3xTEWrbzP9S5Mo1HhA/hxClvfiqE=
Subject: Re: [PATCH] tools: ROUNDUP() related adjustments
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>
References: <c5d84f5a-0350-f197-b98a-07512ac0dd91@suse.com>
From: Juergen Gross <jgross@suse.com>
Message-ID: <c1b59a02-cce2-b18d-6c2a-4e7057b0a0ed@suse.com>
Date: Thu, 19 Aug 2021 07:45:07 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <c5d84f5a-0350-f197-b98a-07512ac0dd91@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="Rp2wsaGixTlaQuwY610DpyGKgYHXTSKpX"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--Rp2wsaGixTlaQuwY610DpyGKgYHXTSKpX
Content-Type: multipart/mixed; boundary="eR4XEk4AcBzRkwPtCO6VneCdJ7LhpAJjS";
 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: Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>
Message-ID: <c1b59a02-cce2-b18d-6c2a-4e7057b0a0ed@suse.com>
Subject: Re: [PATCH] tools: ROUNDUP() related adjustments
References: <c5d84f5a-0350-f197-b98a-07512ac0dd91@suse.com>
In-Reply-To: <c5d84f5a-0350-f197-b98a-07512ac0dd91@suse.com>

--eR4XEk4AcBzRkwPtCO6VneCdJ7LhpAJjS
Content-Type: multipart/mixed;
 boundary="------------E8F0106CCD41CBF707805452"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------E8F0106CCD41CBF707805452
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 10.08.21 12:03, Jan Beulich wrote:
> For one xc_private.h needlessly repeats xen-tools/libs.h's definition.
>=20
> And then there are two suspicious uses (resulting from the inconsistenc=
y
> with the respective 2nd parameter of DIV_ROUNDUP()): While the one in
> tools/console/daemon/io.c - as per the code comment - intentionally use=
s
> 8 as the second argument (meaning to align to a multiple of 256), the
> one in alloc_magic_pages_hvm() pretty certainly does not: There the goa=
l
> is to align to a uint64_t boundary, for the following module struct to
> end up aligned.
>=20
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Juergen Gross <jgross@suse.com>


Juergen

--------------E8F0106CCD41CBF707805452
Content-Type: application/pgp-keys;
 name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Transfer-Encoding: quoted-printable
Content-Description: OpenPGP public key
Content-Disposition: attachment;
 filename="OpenPGP_0xB0DE9DD628BF132F.asc"

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOBy=
cWx
w3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJvedYm8O=
f8Z
d621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y=
9bf
IhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xq=
G7/
377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR=
3Jv
c3MgPGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsEFgIDA=
QIe
AQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4FUGNQH2lvWAUy+dnyT=
hpw
dtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3TyevpB0CA3dbBQp0OW0fgCetToGIQrg0=
MbD
1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbv=
oPH
Z8SlM4KWm8rG+lIkGurqqu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v=
5QL
+qHI3EIPtyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVyZ=
2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJCAcDAgEGFQgCC=
QoL
BBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4RF7HoZhPVPogNVbC4YA6lW7Dr=
Wf0
teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz78X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC=
/nu
AFVGy+67q2DH8As3KPu0344TBDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0Lh=
ITT
d9jLzdDad1pQSToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLm=
XBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkMnQfvUewRz=
80h
SnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMBAgAjBQJTjHDXAhsDBwsJC=
AcD
AgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJn=
FOX
gMLdBQgBlVPO3/D9R8LtF9DBAFPNhlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1=
jnD
kfJZr6jrbjgyoZHiw/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0=
N51
N5JfVRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwPOoE+l=
otu
fe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK/1xMI3/+8jbO0tsn1=
tqS
EUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuZGU+wsB5BBMBAgAjBQJTjHDrA=
hsD
BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3=
g3O
ZUEBmDHVVbqMtzwlmNC4k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5=
dM7
wRqzgJpJwK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu5=
D+j
LRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzBTNh30FVKK1Evm=
V2x
AKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37IoN1EblHI//x/e2AaIHpzK5h88N=
Eaw
QsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpW=
nHI
s98ndPUDpnoxWQugJ6MpMncr0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZR=
wgn
BC5mVM6JjQ5xDk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNV=
bVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mmwe0icXKLk=
pEd
IXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0Iv3OOImwTEe4co3c1mwARA=
QAB
wsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMvQ/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEw=
Tbe
8YFsw2V/Buv6Z4Mysln3nQK5ZadD534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1=
vJz
Q1fOU8lYFpZXTXIHb+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8=
VGi
wXvTyJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqcsuylW=
svi
uGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5BjR/i1DG86lem3iBDX=
zXs
ZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------E8F0106CCD41CBF707805452--

--eR4XEk4AcBzRkwPtCO6VneCdJ7LhpAJjS--

--Rp2wsaGixTlaQuwY610DpyGKgYHXTSKpX
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmEd7+MFAwAAAAAACgkQsN6d1ii/Ey/7
7gf+JE0xl9QpsfpeNtXPLQeYWScnM/tDsKESTQ1Ky7TU8rJoVMQsbY9iCCmRPXm97BGR3p0WTruj
OMV5sKEQGvCV59O8rAdQkp6jS6Thlag9hbu4dmufAqS+OiZE0uLyBr43aHYKfpziw6xVqdqOnqE4
Lp91LwE7OYYMO8PUAD0t5Snm6YOvLt+v8LSmyrK7C3bEYrBNLG5fjhCOOsEiHCy4ADrC6JcwyJHn
gVKBUsUdWn3PslPMCBnXCe+T/JLcObONkfkfgVf34VFqPYemn9FQw6kM58eCZMSAQnSM2/cz1V92
sXjGCS1aujM+JKpWXZC0F+i7PZgTLycQRH+EIFEoWA==
=o7jM
-----END PGP SIGNATURE-----

--Rp2wsaGixTlaQuwY610DpyGKgYHXTSKpX--


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 07:13:33 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 07:13:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168398.307459 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGcEo-0005vQ-87; Thu, 19 Aug 2021 07:13:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168398.307459; Thu, 19 Aug 2021 07:13:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGcEo-0005vJ-55; Thu, 19 Aug 2021 07:13:18 +0000
Received: by outflank-mailman (input) for mailman id 168398;
 Thu, 19 Aug 2021 07:13:16 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=sPwx=NK=ens-lyon.org=samuel.thibault@srs-us1.protection.inumbo.net>)
 id 1mGcEm-0005vD-I7
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 07:13:16 +0000
Received: from hera.aquilenet.fr (unknown [2a0c:e300::1])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 571c985f-85e9-4db5-b543-88f6de9b5c29;
 Thu, 19 Aug 2021 07:13:14 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id E723B261;
 Thu, 19 Aug 2021 09:13:12 +0200 (CEST)
Received: from hera.aquilenet.fr ([127.0.0.1])
 by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id R9IsyADec-bF; Thu, 19 Aug 2021 09:13:08 +0200 (CEST)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 4CA19222;
 Thu, 19 Aug 2021 09:13:08 +0200 (CEST)
Received: from samy by begin with local (Exim 4.94.2)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1mGcEd-008yRU-Ds; Thu, 19 Aug 2021 09:13:07 +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: 571c985f-85e9-4db5-b543-88f6de9b5c29
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Thu, 19 Aug 2021 09:13:07 +0200
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH] mini-os: netfront: fix initialization without ip address
 in xenstore
Message-ID: <20210819071307.zitx72bbylsusxkx@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
References: <20210819053056.32675-1-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20210819053056.32675-1-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: --
Authentication-Results: hera.aquilenet.fr
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: E723B261
X-Spamd-Result: default: False [-2.50 / 15.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 RCPT_COUNT_THREE(0.00)[4];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 HAS_ORG_HEADER(0.00)[];
	 RCVD_COUNT_THREE(0.00)[3];
	 RCVD_NO_TLS_LAST(0.10)[];
	 FROM_EQ_ENVFROM(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[];
	 BAYES_HAM(-3.00)[100.00%]

Juergen Gross, le jeu. 19 août 2021 07:30:56 +0200, a ecrit:
> Commit 4821876fcd2ff ("mini-os: netfront: fix suspend/resume handling")
> introduced a NULL pointer dereference in the initialization of netfront
> in the case of no IP address being set in Xenstore.
> 
> Fix that by testing this condition. At the same time fix a long
> standing bug for the same condition if someone used init_netfront()
> with a non-NULL ip parameter.
> 
> Fixes: 4821876fcd2ff ("mini-os: netfront: fix suspend/resume handling")
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
>  netfront.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/netfront.c b/netfront.c
> index f927e99..dfe065b 100644
> --- a/netfront.c
> +++ b/netfront.c
> @@ -365,7 +365,7 @@ out:
>          rawmac[5] = dev->rawmac[5];
>  	}
>      if (ip)
> -        *ip = strdup(dev->ip);
> +        *ip = dev->ip ? strdup(dev->ip) : NULL;
>  
>  err:
>      return dev;
> @@ -527,7 +527,7 @@ done:
>          snprintf(path, sizeof(path), "%s/ip", dev->backend);
>          xenbus_read(XBT_NIL, path, &dev->ip);
>  
> -        p = strchr(dev->ip, ' ');
> +        p = dev->ip ? strchr(dev->ip, ' ') : NULL;
>          if (p) {
>              *p++ = '\0';
>              dev->mask = p;
> -- 
> 2.26.2


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 07:45:15 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 07:45:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168407.307475 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGcjc-0000tM-Ou; Thu, 19 Aug 2021 07:45:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168407.307475; Thu, 19 Aug 2021 07:45:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGcjc-0000tF-LC; Thu, 19 Aug 2021 07:45:08 +0000
Received: by outflank-mailman (input) for mailman id 168407;
 Thu, 19 Aug 2021 07:45:07 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/7+2=NK=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mGcjb-0000t9-Dy
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 07:45:07 +0000
Received: from smtp-out2.suse.de (unknown [195.135.220.29])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 5d73e134-00c1-11ec-a5c2-12813bfff9fa;
 Thu, 19 Aug 2021 07:45:04 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 8DC51200A8;
 Thu, 19 Aug 2021 07:45:03 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 5809D13756;
 Thu, 19 Aug 2021 07:45:03 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id ROCAE/8LHmHfCwAAGKfGzw
 (envelope-from <jgross@suse.com>); Thu, 19 Aug 2021 07:45: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: 5d73e134-00c1-11ec-a5c2-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1629359103; 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=ZO7dUe99EUiJ3Qavs68KpY6YoUgmbP8LurbbXQwxPVM=;
	b=PZzL74CgEArWGgsQuKux0Wj6i+qw9UDWe59Zpudz48vD0zUHK+569ss3EWjaockUvQ9tq+
	xeyVPeMm5t99ozeKJ18bg5HV+NoyBOdWkC5zB6yBhwEclYLzhKJ8+ytyBXLOnGvDh/LFNF
	LuAUjVeJ05N49eLGrH5G4u8LBN2XNcE=
Subject: Re: [PATCH-4.15] tools/libs/ctrl: fix xc_core_arch_map_p2m() to
 support linear p2m table
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org, Ian Jackson <iwj@xenproject.org>,
 Wei Liu <wl@xen.org>
Cc: Jan Beulich <jbeulich@suse.com>
References: <20210702142944.1698-1-jgross@suse.com>
 <b871c368-0e9b-20d4-ad18-55c5d8be881e@suse.com>
Message-ID: <e7b0a267-6b9d-7bde-1d8b-75c602d5d74d@suse.com>
Date: Thu, 19 Aug 2021 09:45:02 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <b871c368-0e9b-20d4-ad18-55c5d8be881e@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="FQJwR1kyPb3jSlEpI47oXOJwipSV3jqDg"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--FQJwR1kyPb3jSlEpI47oXOJwipSV3jqDg
Content-Type: multipart/mixed; boundary="e7molK0gAN7XkTo1JSobeubRNXwwDLZwI";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org, Ian Jackson <iwj@xenproject.org>,
 Wei Liu <wl@xen.org>
Cc: Jan Beulich <jbeulich@suse.com>
Message-ID: <e7b0a267-6b9d-7bde-1d8b-75c602d5d74d@suse.com>
Subject: Re: [PATCH-4.15] tools/libs/ctrl: fix xc_core_arch_map_p2m() to
 support linear p2m table
References: <20210702142944.1698-1-jgross@suse.com>
 <b871c368-0e9b-20d4-ad18-55c5d8be881e@suse.com>
In-Reply-To: <b871c368-0e9b-20d4-ad18-55c5d8be881e@suse.com>

--e7molK0gAN7XkTo1JSobeubRNXwwDLZwI
Content-Type: multipart/mixed;
 boundary="------------C7717B2CA974C6DDC42E65BE"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------C7717B2CA974C6DDC42E65BE
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

PING!!!

On 16.07.21 08:47, Juergen Gross wrote:
> Ping?
>=20
> On 02.07.21 16:29, Juergen Gross wrote:
>> The core of a pv linux guest produced via "xl dump-core" is not usable=

>> as since kernel 4.14 only the linear p2m table is kept if Xen indicate=
s
>> it is supporting that. Unfortunately xc_core_arch_map_p2m() is still
>> supporting the 3-level p2m tree only.
>>
>> Fix that by copying the functionality of map_p2m() from libxenguest to=

>> libxenctrl.
>>
>> Additionally the mapped p2m isn't of a fixed length now, so the
>> interface to the mapping functions needs to be adapted. In order not t=
o
>> add even more parameters, expand struct domain_info_context and use a
>> pointer to that as a parameter.
>>
>> This is a backport of upstream commit bd7a29c3d0b937ab542a.
>>
>> As the original patch includes a modification of a data structure
>> passed via pointer to a library function, the related function in the
>> library is renamed in order to be able to spot any external users of
>> that function. Note that it is extremely unlikely any such users
>> outside the Xen git tree are existing, so the risk to break any
>> existing programs is very unlikely. In case such a user is existing,
>> changing the name of xc_map_domain_meminfo() will at least avoid
>> silent breakage.
>>
>> Fixes: dc6d60937121 ("libxc: set flag for support of linear p2m list=20
>> in domain builder")
>> Signed-off-by: Juergen Gross <jgross@suse.com>
>> ---
>> =C2=A0 tools/include/xenguest.h=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=
=A0 2 +
>> =C2=A0 tools/libs/ctrl/xc_core.c=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=
 5 +-
>> =C2=A0 tools/libs/ctrl/xc_core.h=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=
 8 +-
>> =C2=A0 tools/libs/ctrl/xc_core_arm.c |=C2=A0 23 +--
>> =C2=A0 tools/libs/ctrl/xc_core_x86.c | 256 +++++++++++++++++++++++++++=
+------
>> =C2=A0 tools/libs/ctrl/xc_private.h=C2=A0 |=C2=A0=C2=A0 1 +
>> =C2=A0 tools/libs/guest/xg_domain.c=C2=A0 |=C2=A0 17 +--
>> =C2=A0 7 files changed, 234 insertions(+), 78 deletions(-)
>>
>> diff --git a/tools/include/xenguest.h b/tools/include/xenguest.h
>> index 217022b6e7..36a26deba4 100644
>> --- a/tools/include/xenguest.h
>> +++ b/tools/include/xenguest.h
>> @@ -700,8 +700,10 @@ struct xc_domain_meminfo {
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 xen_pfn_t *pfn_type;
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 xen_pfn_t *p2m_table;
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unsigned long p2m_size;
>> +=C2=A0=C2=A0=C2=A0 unsigned int p2m_frames;
>> =C2=A0 };
>> +#define xc_map_domain_meminfo xc_map_domain_meminfo_mod
>> =C2=A0 int xc_map_domain_meminfo(xc_interface *xch, uint32_t domid,
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 struct xc_domain_meminfo *minfo);
>> diff --git a/tools/libs/ctrl/xc_core.c b/tools/libs/ctrl/xc_core.c
>> index b47ab2f6d8..9576bec5a3 100644
>> --- a/tools/libs/ctrl/xc_core.c
>> +++ b/tools/libs/ctrl/xc_core.c
>> @@ -574,8 +574,7 @@ xc_domain_dumpcore_via_callback(xc_interface *xch,=

>> =C2=A0=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 out;
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sts =3D xc_core_arch_map_p=
2m(xch, dinfo->guest_width, &info,=20
>> live_shinfo,
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 &p2m, &dinfo=
->p2m_size);
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sts =3D xc_core_arch_map_p=
2m(xch, dinfo, &info, live_shinfo,=20
>> &p2m);
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( sts !=3D 0=
 )
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 goto out;
>> @@ -945,7 +944,7 @@ out:
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( memory_map !=3D NULL )
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 free(memory_map=
);
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( p2m !=3D NULL )
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 munmap(p2m, PAGE_SIZE * P2=
M_FL_ENTRIES);
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 munmap(p2m, PAGE_SIZE * di=
nfo->p2m_frames);
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( p2m_array !=3D NULL )
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 free(p2m_array)=
;
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( pfn_array !=3D NULL )
>> diff --git a/tools/libs/ctrl/xc_core.h b/tools/libs/ctrl/xc_core.h
>> index 36fb755da2..8ea1f93a10 100644
>> --- a/tools/libs/ctrl/xc_core.h
>> +++ b/tools/libs/ctrl/xc_core.h
>> @@ -138,14 +138,14 @@ int xc_core_arch_memory_map_get(xc_interface *xc=
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=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 xc_dominfo_t *info,=20
>> shared_info_any_t *live_shinfo,
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 xc_core_memory_map_t =
**mapp,
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=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 *nr_entr=
ies);
>> -int xc_core_arch_map_p2m(xc_interface *xch, unsigned int guest_width,=

>> +int xc_core_arch_map_p2m(xc_interface *xch, struct=20
>> domain_info_context *dinfo,
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 xc_dominfo_t *info, shared_info_any_t=20
>> *live_shinfo,
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=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_pfn_t **live_p2m, unsigned long *pfnp);
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=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_pfn_t **live_p2m);
>> -int xc_core_arch_map_p2m_writable(xc_interface *xch, unsigned int=20
>> guest_width,
>> +int xc_core_arch_map_p2m_writable(xc_interface *xch, struct=20
>> domain_info_context *dinfo,
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 xc_dominf=
o_t *info,
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 shared_in=
fo_any_t *live_shinfo,
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=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_pfn_t **live_p=
2m, unsigned long=20
>> *pfnp);
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=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_pfn_t **live_p=
2m);
>> =C2=A0 int xc_core_arch_get_scratch_gpfn(xc_interface *xch, uint32_t d=
omid,
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=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_pfn_t=
 *gpfn);
>> diff --git a/tools/libs/ctrl/xc_core_arm.c=20
>> b/tools/libs/ctrl/xc_core_arm.c
>> index 7b587b4cc5..93765a565f 100644
>> --- a/tools/libs/ctrl/xc_core_arm.c
>> +++ b/tools/libs/ctrl/xc_core_arm.c
>> @@ -66,33 +66,24 @@ xc_core_arch_memory_map_get(xc_interface *xch,=20
>> struct xc_core_arch_context *unus
>> =C2=A0 static int
>> =C2=A0 xc_core_arch_map_p2m_rw(xc_interface *xch, struct=20
>> domain_info_context *dinfo, xc_dominfo_t *info,
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sha=
red_info_any_t *live_shinfo, xen_pfn_t=20
>> **live_p2m,
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 uns=
igned long *pfnp, int rw)
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sha=
red_info_any_t *live_shinfo, xen_pfn_t=20
>> **live_p2m, int rw)
>> =C2=A0 {
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 errno =3D ENOSYS;
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return -1;
>> =C2=A0 }
>> =C2=A0 int
>> -xc_core_arch_map_p2m(xc_interface *xch, unsigned int guest_width,=20
>> xc_dominfo_t *info,
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sha=
red_info_any_t *live_shinfo, xen_pfn_t=20
>> **live_p2m,
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 uns=
igned long *pfnp)
>> +xc_core_arch_map_p2m(xc_interface *xch, struct domain_info_context=20
>> *dinfo, xc_dominfo_t *info,
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sha=
red_info_any_t *live_shinfo, xen_pfn_t=20
>> **live_p2m)
>> =C2=A0 {
>> -=C2=A0=C2=A0=C2=A0 struct domain_info_context _dinfo =3D { .guest_wid=
th =3D guest_width };
>> -=C2=A0=C2=A0=C2=A0 struct domain_info_context *dinfo =3D &_dinfo;
>> -=C2=A0=C2=A0=C2=A0 return xc_core_arch_map_p2m_rw(xch, dinfo, info,
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 live_shinfo,=
 live_p2m, pfnp, 0);
>> +=C2=A0=C2=A0=C2=A0 return xc_core_arch_map_p2m_rw(xch, dinfo, info, l=
ive_shinfo,=20
>> live_p2m, 0);
>> =C2=A0 }
>> =C2=A0 int
>> -xc_core_arch_map_p2m_writable(xc_interface *xch, unsigned int=20
>> guest_width, xc_dominfo_t *info,
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 shared_info_any_t *live_shinfo,=20
>> xen_pfn_t **live_p2m,
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=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 *pfnp)
>> +xc_core_arch_map_p2m_writable(xc_interface *xch, struct=20
>> domain_info_context *dinfo, xc_dominfo_t *info,
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 shared_info_any_t *live_shinfo,=20
>> xen_pfn_t **live_p2m)
>> =C2=A0 {
>> -=C2=A0=C2=A0=C2=A0 struct domain_info_context _dinfo =3D { .guest_wid=
th =3D guest_width };
>> -=C2=A0=C2=A0=C2=A0 struct domain_info_context *dinfo =3D &_dinfo;
>> -=C2=A0=C2=A0=C2=A0 return xc_core_arch_map_p2m_rw(xch, dinfo, info,
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 live_shinfo,=
 live_p2m, pfnp, 1);
>> +=C2=A0=C2=A0=C2=A0 return xc_core_arch_map_p2m_rw(xch, dinfo, info, l=
ive_shinfo,=20
>> live_p2m, 1);
>> =C2=A0 }
>> =C2=A0 int
>> diff --git a/tools/libs/ctrl/xc_core_x86.c=20
>> b/tools/libs/ctrl/xc_core_x86.c
>> index cb76e6207b..c8f71d4b75 100644
>> --- a/tools/libs/ctrl/xc_core_x86.c
>> +++ b/tools/libs/ctrl/xc_core_x86.c
>> @@ -17,6 +17,7 @@
>> =C2=A0=C2=A0 *
>> =C2=A0=C2=A0 */
>> +#include <inttypes.h>
>> =C2=A0 #include "xc_private.h"
>> =C2=A0 #include "xc_core.h"
>> =C2=A0 #include <xen/hvm/e820.h>
>> @@ -65,34 +66,169 @@ xc_core_arch_memory_map_get(xc_interface *xch,=20
>> struct xc_core_arch_context *unus
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return 0;
>> =C2=A0 }
>> -static int
>> -xc_core_arch_map_p2m_rw(xc_interface *xch, struct domain_info_context=
=20
>> *dinfo, xc_dominfo_t *info,
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sha=
red_info_any_t *live_shinfo, xen_pfn_t=20
>> **live_p2m,
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 uns=
igned long *pfnp, int rw)
>> +static inline bool is_canonical_address(uint64_t vaddr)
>> =C2=A0 {
>> -=C2=A0=C2=A0=C2=A0 /* Double and single indirect references to the li=
ve P2M table */
>> -=C2=A0=C2=A0=C2=A0 xen_pfn_t *live_p2m_frame_list_list =3D NULL;
>> -=C2=A0=C2=A0=C2=A0 xen_pfn_t *live_p2m_frame_list =3D NULL;
>> -=C2=A0=C2=A0=C2=A0 /* Copies of the above. */
>> -=C2=A0=C2=A0=C2=A0 xen_pfn_t *p2m_frame_list_list =3D NULL;
>> -=C2=A0=C2=A0=C2=A0 xen_pfn_t *p2m_frame_list =3D NULL;
>> +=C2=A0=C2=A0=C2=A0 return ((int64_t)vaddr >> 47) =3D=3D ((int64_t)vad=
dr >> 63);
>> +}
>> -=C2=A0=C2=A0=C2=A0 uint32_t dom =3D info->domid;
>> -=C2=A0=C2=A0=C2=A0 int ret =3D -1;
>> -=C2=A0=C2=A0=C2=A0 int err;
>> -=C2=A0=C2=A0=C2=A0 int i;
>> +/* Virtual address ranges reserved for hypervisor. */
>> +#define HYPERVISOR_VIRT_START_X86_64 0xFFFF800000000000ULL
>> +#define HYPERVISOR_VIRT_END_X86_64=C2=A0=C2=A0 0xFFFF87FFFFFFFFFFULL
>> -=C2=A0=C2=A0=C2=A0 if ( xc_domain_nr_gpfns(xch, info->domid, &dinfo->=
p2m_size) < 0 )
>> +#define HYPERVISOR_VIRT_START_X86_32 0x00000000F5800000ULL
>> +#define HYPERVISOR_VIRT_END_X86_32=C2=A0=C2=A0 0x00000000FFFFFFFFULL
>> +
>> +static xen_pfn_t *
>> +xc_core_arch_map_p2m_list_rw(xc_interface *xch, struct=20
>> domain_info_context *dinfo,
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 uint32_t dom, shared_info_any_t=20
>> *live_shinfo,
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 uint64_t p2m_cr3)
>> +{
>> +=C2=A0=C2=A0=C2=A0 uint64_t p2m_vaddr, p2m_end, mask, off;
>> +=C2=A0=C2=A0=C2=A0 xen_pfn_t p2m_mfn, mfn, saved_mfn, max_pfn;
>> +=C2=A0=C2=A0=C2=A0 uint64_t *ptes =3D NULL;
>> +=C2=A0=C2=A0=C2=A0 xen_pfn_t *mfns =3D NULL;
>> +=C2=A0=C2=A0=C2=A0 unsigned int fpp, n_pages, level, n_levels, 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 idx_start, idx_end, idx, saved_idx;
>> +
>> +=C2=A0=C2=A0=C2=A0 p2m_vaddr =3D GET_FIELD(live_shinfo, arch.p2m_vadd=
r,=20
>> dinfo->guest_width);
>> +=C2=A0=C2=A0=C2=A0 fpp =3D PAGE_SIZE / dinfo->guest_width;
>> +=C2=A0=C2=A0=C2=A0 dinfo->p2m_frames =3D (dinfo->p2m_size - 1) / fpp =
+ 1;
>> +=C2=A0=C2=A0=C2=A0 p2m_end =3D p2m_vaddr + dinfo->p2m_frames * PAGE_S=
IZE - 1;
>> +
>> +=C2=A0=C2=A0=C2=A0 if ( dinfo->guest_width =3D=3D 8 )
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ERROR("Could not get maxim=
um GPFN!");
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 goto out;
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mask =3D 0x0000fffffffffff=
fULL;
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 n_levels =3D 4;
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 p2m_mfn =3D p2m_cr3 >> 12;=

>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( !is_canonical_address=
(p2m_vaddr) ||
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 !is_canonical_address(p2m_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 p2m_end < p2m_vaddr ||
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 (p2m_vaddr <=3D HYPERVISOR_VIRT_END_X86_64 &&
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 p2m_end > HYPERVISOR_VIRT_START_X86_64) )
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ER=
ROR("Bad virtual p2m address range %#" PRIx64 "-%#"=20
>> PRIx64,
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 p2m_vaddr, p2m_end);
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 er=
rno =3D ERANGE;
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 go=
to out;
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
>> +=C2=A0=C2=A0=C2=A0 }
>> +=C2=A0=C2=A0=C2=A0 else
>> +=C2=A0=C2=A0=C2=A0 {
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mask =3D 0x00000000fffffff=
fULL;
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 n_levels =3D 3;
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( p2m_cr3 & ~mask )
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 p2=
m_mfn =3D ~0UL;
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 else
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 p2=
m_mfn =3D (uint32_t)((p2m_cr3 >> 12) | (p2m_cr3 << 20));
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( p2m_vaddr > mask || p=
2m_end > mask || p2m_end <=20
>> p2m_vaddr ||
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 (p2m_vaddr <=3D HYPERVISOR_VIRT_END_X86_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=C2=A0 p2m_end > HYPERVISOR_VIRT_START_X86_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=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ER=
ROR("Bad virtual p2m address range %#" PRIx64 "-%#"=20
>> PRIx64,
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 p2m_vaddr, p2m_end);
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 er=
rno =3D ERANGE;
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 go=
to out;
>> +=C2=A0=C2=A0=C2=A0=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 ( dinfo->p2m_size < info->nr_pages=C2=A0 )
>> +=C2=A0=C2=A0=C2=A0 mfns =3D malloc(sizeof(*mfns));
>> +=C2=A0=C2=A0=C2=A0 if ( !mfns )
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ERROR("p2m_size < nr_pages=
 -1 (%lx < %lx", dinfo->p2m_size,=20
>> info->nr_pages - 1);
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ERROR("Cannot allocate mem=
ory for array of %u mfns", 1);
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 goto out;
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
>> +=C2=A0=C2=A0=C2=A0 mfns[0] =3D p2m_mfn;
>> +=C2=A0=C2=A0=C2=A0 off =3D 0;
>> +=C2=A0=C2=A0=C2=A0 saved_mfn =3D 0;
>> +=C2=A0=C2=A0=C2=A0 idx_start =3D idx_end =3D saved_idx =3D 0;
>> +
>> +=C2=A0=C2=A0=C2=A0 for ( level =3D n_levels; level > 0; level-- )
>> +=C2=A0=C2=A0=C2=A0 {
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 n_pages =3D idx_end - idx_=
start + 1;
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ptes =3D xc_map_foreign_pa=
ges(xch, dom, PROT_READ, mfns, n_pages);
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( !ptes )
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 PE=
RROR("Failed to map %u page table pages for p2m list",=20
>> n_pages);
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 go=
to out;
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 free(mfns);
>> +
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 shift =3D level * 9 + 3;
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 idx_start =3D ((p2m_vaddr =
- off) & mask) >> shift;
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 idx_end =3D ((p2m_end - of=
f) & mask) >> shift;
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 idx =3D idx_end - idx_star=
t + 1;
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mfns =3D malloc(sizeof(*mf=
ns) * idx);
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( !mfns )
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ER=
ROR("Cannot allocate memory for array of %u mfns", idx);
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 go=
to out;
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
>> +
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 for ( idx =3D idx_start; i=
dx <=3D idx_end; idx++ )
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mf=
n =3D (ptes[idx] & 0x000ffffffffff000ULL) >> PAGE_SHIFT;
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if=
 ( mfn =3D=3D 0 )
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 ERROR("Bad mfn %#lx during page table walk for vadd=
r=20
>> %#" PRIx64 " at level %d of p2m list",
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mfn, off + ((ui=
nt64_t)idx << shift), level);
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 errno =3D ERANGE;
>> +=C2=A0=C2=A0=C2=A0=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 out;
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mf=
ns[idx - idx_start] =3D mfn;
>> +
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /*=
 Maximum pfn check at level 2. Same reasoning as for=20
>> p2m tree. */
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if=
 ( level =3D=3D 2 )
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
>> +=C2=A0=C2=A0=C2=A0=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 ( mfn !=3D saved_mfn )
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 {
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 saved_mfn =3D mfn;
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 saved_idx =3D idx - idx_sta=
rt;
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 }
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
>> +=C2=A0=C2=A0=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 ( level =3D=3D 2 )
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=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=
 ( saved_idx =3D=3D idx_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 saved_idx++;
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ma=
x_pfn =3D ((xen_pfn_t)saved_idx << 9) * fpp;
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if=
 ( max_pfn < dinfo->p2m_size )
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 dinfo->p2m_size =3D max_pfn;
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 dinfo->p2m_frames =3D (dinfo->p2m_size + fpp - 1) /=
 fpp;
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 p2m_end =3D p2m_vaddr + dinfo->p2m_frames * PAGE_SI=
ZE - 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 idx_end =3D idx_start + saved_idx;
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
>> +
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 munmap(ptes, n_pages * PAG=
E_SIZE);
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ptes =3D NULL;
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 off =3D p2m_vaddr & ((mask=
 >> shift) << shift);
>> +=C2=A0=C2=A0=C2=A0 }
>> +
>> +=C2=A0=C2=A0=C2=A0 return mfns;
>> +
>> + out:
>> +=C2=A0=C2=A0=C2=A0 free(mfns);
>> +=C2=A0=C2=A0=C2=A0 if ( ptes )
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 munmap(ptes, n_pages * PAG=
E_SIZE);
>> +
>> +=C2=A0=C2=A0=C2=A0 return NULL;
>> +}
>> +
>> +static xen_pfn_t *
>> +xc_core_arch_map_p2m_tree_rw(xc_interface *xch, struct=20
>> domain_info_context *dinfo,
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 uint32_t dom, shared_info_any_t=20
>> *live_shinfo)
>> +{
>> +=C2=A0=C2=A0=C2=A0 /* Double and single indirect references to the li=
ve P2M table */
>> +=C2=A0=C2=A0=C2=A0 xen_pfn_t *live_p2m_frame_list_list;
>> +=C2=A0=C2=A0=C2=A0 xen_pfn_t *live_p2m_frame_list =3D NULL;
>> +=C2=A0=C2=A0=C2=A0 /* Copies of the above. */
>> +=C2=A0=C2=A0=C2=A0 xen_pfn_t *p2m_frame_list_list =3D NULL;
>> +=C2=A0=C2=A0=C2=A0 xen_pfn_t *p2m_frame_list;
>> +
>> +=C2=A0=C2=A0=C2=A0 int err;
>> +=C2=A0=C2=A0=C2=A0 int i;
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 live_p2m_frame_list_list =3D
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 xc_map_foreign_=
range(xch, dom, PAGE_SIZE, PROT_READ,
>> @@ -151,10 +287,60 @@ xc_core_arch_map_p2m_rw(xc_interface *xch,=20
>> struct domain_info_context *dinfo, xc
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 for ( i =3D P2M=
_FL_ENTRIES - 1; i >=3D 0; 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 p2m_frame_list[i] =3D ((uint32_t *)p2m_frame_list)[i];
>> +=C2=A0=C2=A0=C2=A0 dinfo->p2m_frames =3D P2M_FL_ENTRIES;
>> +
>> +=C2=A0=C2=A0=C2=A0 return p2m_frame_list;
>> +
>> + out:
>> +=C2=A0=C2=A0=C2=A0 err =3D errno;
>> +
>> +=C2=A0=C2=A0=C2=A0 if ( live_p2m_frame_list_list )
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 munmap(live_p2m_frame_list=
_list, PAGE_SIZE);
>> +
>> +=C2=A0=C2=A0=C2=A0 if ( live_p2m_frame_list )
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 munmap(live_p2m_frame_list=
, P2M_FLL_ENTRIES * PAGE_SIZE);
>> +
>> +=C2=A0=C2=A0=C2=A0 free(p2m_frame_list_list);
>> +
>> +=C2=A0=C2=A0=C2=A0 errno =3D err;
>> +
>> +=C2=A0=C2=A0=C2=A0 return NULL;
>> +}
>> +
>> +static int
>> +xc_core_arch_map_p2m_rw(xc_interface *xch, struct domain_info_context=
=20
>> *dinfo, xc_dominfo_t *info,
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sha=
red_info_any_t *live_shinfo, xen_pfn_t=20
>> **live_p2m, int rw)
>> +{
>> +=C2=A0=C2=A0=C2=A0 xen_pfn_t *p2m_frame_list =3D NULL;
>> +=C2=A0=C2=A0=C2=A0 uint64_t p2m_cr3;
>> +=C2=A0=C2=A0=C2=A0 uint32_t dom =3D info->domid;
>> +=C2=A0=C2=A0=C2=A0 int ret =3D -1;
>> +=C2=A0=C2=A0=C2=A0 int err;
>> +
>> +=C2=A0=C2=A0=C2=A0 if ( xc_domain_nr_gpfns(xch, info->domid, &dinfo->=
p2m_size) < 0 )
>> +=C2=A0=C2=A0=C2=A0 {
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ERROR("Could not get maxim=
um GPFN!");
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 goto out;
>> +=C2=A0=C2=A0=C2=A0 }
>> +
>> +=C2=A0=C2=A0=C2=A0 if ( dinfo->p2m_size < info->nr_pages=C2=A0 )
>> +=C2=A0=C2=A0=C2=A0 {
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ERROR("p2m_size < nr_pages=
 -1 (%lx < %lx", dinfo->p2m_size,=20
>> info->nr_pages - 1);
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 goto out;
>> +=C2=A0=C2=A0=C2=A0 }
>> +
>> +=C2=A0=C2=A0=C2=A0 p2m_cr3 =3D GET_FIELD(live_shinfo, arch.p2m_cr3, d=
info->guest_width);
>> +
>> +=C2=A0=C2=A0=C2=A0 p2m_frame_list =3D p2m_cr3 ? xc_core_arch_map_p2m_=
list_rw(xch,=20
>> dinfo, dom, live_shinfo, p2m_cr3)
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 : xc_core_arch_map_p2m_tree_rw(xch,=20
>> dinfo, dom, live_shinfo);
>> +
>> +=C2=A0=C2=A0=C2=A0 if ( !p2m_frame_list )
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 goto out;
>> +
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *live_p2m =3D xc_map_foreign_pages(xch,=
 dom,
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 rw ? (PROT_READ | PROT_WRITE) :=20
>> PROT_READ,
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 p2m_frame_list,
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 P2M_FL=
_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=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 dinfo-=
>p2m_frames);
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( !*live_p2m )
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
>> @@ -162,21 +348,11 @@ xc_core_arch_map_p2m_rw(xc_interface *xch,=20
>> struct domain_info_context *dinfo, xc
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 goto out;
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
>> -=C2=A0=C2=A0=C2=A0 *pfnp =3D dinfo->p2m_size;
>> -
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ret =3D 0;
>> =C2=A0 out:
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 err =3D errno;
>> -=C2=A0=C2=A0=C2=A0 if ( live_p2m_frame_list_list )
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 munmap(live_p2m_frame_list=
_list, PAGE_SIZE);
>> -
>> -=C2=A0=C2=A0=C2=A0 if ( live_p2m_frame_list )
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 munmap(live_p2m_frame_list=
, P2M_FLL_ENTRIES * PAGE_SIZE);
>> -
>> -=C2=A0=C2=A0=C2=A0 free(p2m_frame_list_list);
>> -
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 free(p2m_frame_list);
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 errno =3D err;
>> @@ -184,25 +360,17 @@ out:
>> =C2=A0 }
>> =C2=A0 int
>> -xc_core_arch_map_p2m(xc_interface *xch, unsigned int guest_width,=20
>> xc_dominfo_t *info,
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sha=
red_info_any_t *live_shinfo, xen_pfn_t=20
>> **live_p2m,
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 uns=
igned long *pfnp)
>> +xc_core_arch_map_p2m(xc_interface *xch, struct domain_info_context=20
>> *dinfo, xc_dominfo_t *info,
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sha=
red_info_any_t *live_shinfo, xen_pfn_t=20
>> **live_p2m)
>> =C2=A0 {
>> -=C2=A0=C2=A0=C2=A0 struct domain_info_context _dinfo =3D { .guest_wid=
th =3D guest_width };
>> -=C2=A0=C2=A0=C2=A0 struct domain_info_context *dinfo =3D &_dinfo;
>> -=C2=A0=C2=A0=C2=A0 return xc_core_arch_map_p2m_rw(xch, dinfo, info,
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 live_shinfo,=
 live_p2m, pfnp, 0);
>> +=C2=A0=C2=A0=C2=A0 return xc_core_arch_map_p2m_rw(xch, dinfo, info, l=
ive_shinfo,=20
>> live_p2m, 0);
>> =C2=A0 }
>> =C2=A0 int
>> -xc_core_arch_map_p2m_writable(xc_interface *xch, unsigned int=20
>> guest_width, xc_dominfo_t *info,
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 shared_info_any_t *live_shinfo,=20
>> xen_pfn_t **live_p2m,
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=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 *pfnp)
>> +xc_core_arch_map_p2m_writable(xc_interface *xch, struct=20
>> domain_info_context *dinfo, xc_dominfo_t *info,
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 shared_info_any_t *live_shinfo,=20
>> xen_pfn_t **live_p2m)
>> =C2=A0 {
>> -=C2=A0=C2=A0=C2=A0 struct domain_info_context _dinfo =3D { .guest_wid=
th =3D guest_width };
>> -=C2=A0=C2=A0=C2=A0 struct domain_info_context *dinfo =3D &_dinfo;
>> -=C2=A0=C2=A0=C2=A0 return xc_core_arch_map_p2m_rw(xch, dinfo, info,
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 live_shinfo,=
 live_p2m, pfnp, 1);
>> +=C2=A0=C2=A0=C2=A0 return xc_core_arch_map_p2m_rw(xch, dinfo, info, l=
ive_shinfo,=20
>> live_p2m, 1);
>> =C2=A0 }
>> =C2=A0 int
>> diff --git a/tools/libs/ctrl/xc_private.h b/tools/libs/ctrl/xc_private=
=2Eh
>> index f0b5f83ac8..8ebc0b59da 100644
>> --- a/tools/libs/ctrl/xc_private.h
>> +++ b/tools/libs/ctrl/xc_private.h
>> @@ -79,6 +79,7 @@ struct iovec {
>> =C2=A0 struct domain_info_context {
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unsigned int guest_width;
>> +=C2=A0=C2=A0=C2=A0 unsigned int p2m_frames;
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unsigned long p2m_size;
>> =C2=A0 };
>> diff --git a/tools/libs/guest/xg_domain.c b/tools/libs/guest/xg_domain=
=2Ec
>> index 5019c84e0e..dd7db2cbd8 100644
>> --- a/tools/libs/guest/xg_domain.c
>> +++ b/tools/libs/guest/xg_domain.c
>> @@ -24,13 +24,9 @@
>> =C2=A0 int xc_unmap_domain_meminfo(xc_interface *xch, struct=20
>> xc_domain_meminfo *minfo)
>> =C2=A0 {
>> -=C2=A0=C2=A0=C2=A0 struct domain_info_context _di =3D { .guest_width =
=3D=20
>> minfo->guest_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 .p2m_size =3D minfo->p2m_size};
>> -=C2=A0=C2=A0=C2=A0 struct domain_info_context *dinfo =3D &_di;
>> -
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 free(minfo->pfn_type);
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( minfo->p2m_table )
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 munmap(minfo->p2m_table, P=
2M_FL_ENTRIES * PAGE_SIZE);
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 munmap(minfo->p2m_table, m=
info->p2m_frames * PAGE_SIZE);
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 minfo->p2m_table =3D NULL;
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return 0;
>> @@ -40,7 +36,6 @@ int xc_map_domain_meminfo(xc_interface *xch,=20
>> uint32_t domid,
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 struct xc_domain_meminfo *minfo)
>> =C2=A0 {
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 struct domain_info_context _di;
>> -=C2=A0=C2=A0=C2=A0 struct domain_info_context *dinfo =3D &_di;
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 xc_dominfo_t info;
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 shared_info_any_t *live_shinfo;
>> @@ -96,16 +91,16 @@ int xc_map_domain_meminfo(xc_interface *xch,=20
>> uint32_t domid,
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return -1;
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
>> -=C2=A0=C2=A0=C2=A0 if ( xc_core_arch_map_p2m_writable(xch, minfo->gue=
st_width, &info,
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 live_shinfo, &minfo->p2m_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=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 &minfo->p2m_size) )
>> +=C2=A0=C2=A0=C2=A0 if ( xc_core_arch_map_p2m_writable(xch, &_di, &inf=
o,
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 live_shinfo, &minfo->p2m_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 PERROR("Could n=
ot map the P2M table");
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 munmap(live_shi=
nfo, PAGE_SIZE);
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return -1;
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 munmap(live_shinfo, PAGE_SIZE);
>> -=C2=A0=C2=A0=C2=A0 _di.p2m_size =3D minfo->p2m_size;
>> +=C2=A0=C2=A0=C2=A0 minfo->p2m_size =3D _di.p2m_size;
>> +=C2=A0=C2=A0=C2=A0 minfo->p2m_frames =3D _di.p2m_frames;
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* Make space and prepare for getting t=
he PFN types */
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 minfo->pfn_type =3D calloc(sizeof(*minf=
o->pfn_type),=20
>> minfo->p2m_size);
>> @@ -141,7 +136,7 @@ failed:
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( minfo->p2m_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 munmap(minfo->p2m_table, P=
2M_FL_ENTRIES * PAGE_SIZE);
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 munmap(minfo->p2m_table, m=
info->p2m_frames * PAGE_SIZE);
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 minfo->p2m_tabl=
e =3D NULL;
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
>>
>=20


--------------C7717B2CA974C6DDC42E65BE
Content-Type: application/pgp-keys;
 name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Transfer-Encoding: quoted-printable
Content-Description: OpenPGP public key
Content-Disposition: attachment;
 filename="OpenPGP_0xB0DE9DD628BF132F.asc"

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOBy=
cWx
w3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJvedYm8O=
f8Z
d621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y=
9bf
IhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xq=
G7/
377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR=
3Jv
c3MgPGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsEFgIDA=
QIe
AQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4FUGNQH2lvWAUy+dnyT=
hpw
dtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3TyevpB0CA3dbBQp0OW0fgCetToGIQrg0=
MbD
1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbv=
oPH
Z8SlM4KWm8rG+lIkGurqqu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v=
5QL
+qHI3EIPtyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVyZ=
2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJCAcDAgEGFQgCC=
QoL
BBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4RF7HoZhPVPogNVbC4YA6lW7Dr=
Wf0
teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz78X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC=
/nu
AFVGy+67q2DH8As3KPu0344TBDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0Lh=
ITT
d9jLzdDad1pQSToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLm=
XBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkMnQfvUewRz=
80h
SnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMBAgAjBQJTjHDXAhsDBwsJC=
AcD
AgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJn=
FOX
gMLdBQgBlVPO3/D9R8LtF9DBAFPNhlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1=
jnD
kfJZr6jrbjgyoZHiw/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0=
N51
N5JfVRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwPOoE+l=
otu
fe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK/1xMI3/+8jbO0tsn1=
tqS
EUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuZGU+wsB5BBMBAgAjBQJTjHDrA=
hsD
BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3=
g3O
ZUEBmDHVVbqMtzwlmNC4k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5=
dM7
wRqzgJpJwK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu5=
D+j
LRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzBTNh30FVKK1Evm=
V2x
AKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37IoN1EblHI//x/e2AaIHpzK5h88N=
Eaw
QsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpW=
nHI
s98ndPUDpnoxWQugJ6MpMncr0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZR=
wgn
BC5mVM6JjQ5xDk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNV=
bVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mmwe0icXKLk=
pEd
IXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0Iv3OOImwTEe4co3c1mwARA=
QAB
wsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMvQ/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEw=
Tbe
8YFsw2V/Buv6Z4Mysln3nQK5ZadD534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1=
vJz
Q1fOU8lYFpZXTXIHb+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8=
VGi
wXvTyJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqcsuylW=
svi
uGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5BjR/i1DG86lem3iBDX=
zXs
ZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------C7717B2CA974C6DDC42E65BE--

--e7molK0gAN7XkTo1JSobeubRNXwwDLZwI--

--FQJwR1kyPb3jSlEpI47oXOJwipSV3jqDg
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmEeC/4FAwAAAAAACgkQsN6d1ii/Ey9d
vgf+NLg7i1VwDLVMyFtHvHaXq18Znqnp2oCqDXNeDmr3RyS006FsZQeMK2SWU7klaX3NeKtOTVUP
GHEBaSxu4eFh23l9lLZF/ja/HO/KRVsZbkbtRC2xuEZeComo0e+zbRCfJaGcyvNY38TCZAiBowNv
9nyeilEuYqei0ubR/RHHI2mbqkAqWNFJTXCHo934n3GC2l+gIDrMNnJJy1seE1Djs9TC1xw3SBhV
onNQGqNyb/lAJYU13iUTSMesl0xzX5mn1ILfafAx9NY1hnIGO0EjllBqJ3he4rl9kZSxsxNQSDZZ
FqZdTdfKTE33SaW1H8LIZ0U1vIzQWUEW+B+dssAGrg==
=SQdp
-----END PGP SIGNATURE-----

--FQJwR1kyPb3jSlEpI47oXOJwipSV3jqDg--


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 08:03:58 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 08:03:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168418.307486 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGd1i-0003u4-Or; Thu, 19 Aug 2021 08:03:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168418.307486; Thu, 19 Aug 2021 08: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 1mGd1i-0003tx-Ky; Thu, 19 Aug 2021 08:03:50 +0000
Received: by outflank-mailman (input) for mailman id 168418;
 Thu, 19 Aug 2021 08:03:49 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KGBc=NK=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mGd1h-0003tr-5V
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 08:03:49 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 35de9a45-1f79-42e4-8a84-1b4400548e04;
 Thu, 19 Aug 2021 08:03:48 +0000 (UTC)
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur03lp2052.outbound.protection.outlook.com [104.47.8.52]) (Using
 TLS) by relay.mimecast.com with ESMTP id de-mta-3-bI1m8SIhMK-cITQ9NWBlcg-1;
 Thu, 19 Aug 2021 10:03:45 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0401MB2335.eurprd04.prod.outlook.com (2603:10a6:800:2e::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.22; Thu, 19 Aug
 2021 08:03:44 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Thu, 19 Aug 2021
 08:03:44 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P189CA0006.EURP189.PROD.OUTLOOK.COM (2603:10a6:102:52::11) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Thu, 19 Aug 2021 08:03:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 35de9a45-1f79-42e4-8a84-1b4400548e04
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629360227;
	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=xCCpoNqhblmLpk0P7zYov9YQAq2XJomF6+kzvqV+EAA=;
	b=GL5mRaHRMErMrqae1dSPbZPwmNlF6EWv2JGsvCVMigBpPGzTSeGZjXKkyifBUgnngEfJB4
	CWYbcsKwBhToYg3/Kv3INVq8gInNYzM393r4+olwhDzp8ZOsdgfu20dDWrnl+8OOZWF56r
	AgYckny32gt2J99YXPflQMqEgtl5HmA=
X-MC-Unique: bI1m8SIhMK-cITQ9NWBlcg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TrpKyplUGLwW4IGb+qCgpP12qf3oSDpQC9t3QpU1RcifQUzxVlxeqDxUne1w2DM2aZlB2uBxK6WFj5ay07sqVVkVqe0bBYlHyvPm3NXzjZQJ+TE+o0d07s0Ybw09xpSfXy+F2A3K2YriEGrhvCLma5DlgvmZOHY7/1E4oeAVfbPQGuYz1crIYGADv7jaoGNPLAoehf6KQROMtIp2ueGm4wnrlhTJcXMIHnQtWxfbcrepkGdOYWs9ZuXn63RvogyXrQliSSv0xZFPbgFRafg6dkS3krvH2gvJQi/Lef41VGdkB4adKp5Oi4NNknACTQDKp6ZJqgA4KQBgcEbSDwqDOQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xCCpoNqhblmLpk0P7zYov9YQAq2XJomF6+kzvqV+EAA=;
 b=HqVilDbFu1zKbSHQ3LqzsTsy9tu3csndVTtp6Clf2t5oJK6IlYQzU16XwdAKBlEJdEEvmQrWwICK6p8kBaMYQj+CfL6WmYVekuq1MvsONElk4IXpi+HoGvthJ7xbyb7uqKmCyI9V2MrwKYhrCZOFwTkSuYnX+dvIWaYog9W+q8fiNDsKztJxMYeNjczHw2d+NdYrVD/PEM+Qo+UUxls25YxZPTdzMQtutEVgBgzyuhW48LnmYzWBO3tV5jANEy7qyiOv6ZSMJ3tfJgEWNYfGjwi3cRi7Dg8vXte9NbxdfIzDcpwhfvxwYeMgtEHDotOkzI/MyzPJkCKR1tGbwXzfJQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] AMD/IOMMU: don't leave page table mapped when unmapping ...
Message-ID: <dfc83bb9-66f4-e8da-20c6-e4730e0fecde@suse.com>
Date: Thu, 19 Aug 2021 10:03:41 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P189CA0006.EURP189.PROD.OUTLOOK.COM
 (2603:10a6:102:52::11) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 14c024e9-3636-40e2-7028-08d962e7dd48
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2335:
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB2335EEE2369412E3B7C6D629B3C09@VI1PR0401MB2335.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:3173;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	OxZr8tdSu2N1yi8JJsGLQQLi8pc5+EpD9fa96fDaPxXdzZpRVgjDH+I9ln3YO8j9ohbtvEXNdBxR93yrd17ROsb5GA2sbe2MzDnMDuTEMK6n487a0pJUyQ5FZlFCsJgRoq0AUdJp9IVlsnMOnr5EezNXFMw0TVc14NbmLWVTztgTqU+KyHbRX81hO6GXSdWrm2vxXvbwCkw5kgxcmH/lOhk99Imrb+/ke71IonjKX22b7ZNLsUFsjSfFZKjnG6zYlmY7dKdLNMznOnnr23AnIMk1r3Ie2ysQjI3NeEo2hDHO8ZvzWRA59WC28+cWzp7P7nWlR5Heci1AHWKPfgnpb0FvjoqQmv3NENRdSMVgZAJdmnxXp4Fz6FkFb8rrDeOiaeGIXKI/L5dX4hJGt7AYIH8/EYj9dpPlvxHBdNl8VBFeSBNvbCDqg+Ev6aQMGZmcG+kXDSfkIPtBMm2zmeNp/sxQQIcSwpQSgWQ+fZ/5mqUs9Mz+dabdngXFtgGdhDgCsjQRFnxQbgaul/x1C91OcMQjAQnsczwpB8Sn4g2wL7Bz8k9DLVRHxIokTm97/cDfGnhybx/na/skbBdMiEO6FhOwXnrIvSeeonbQCZmJHS5IidQH0g4tCDN8zXHMWt7LRtzmbwL87iM6ovWJ3s76eLyoi+1b6qmvDFxxIVpOzkwpWV8nJPjQAzFLjOBe2L7c9CBTulWftoDwB01eJvl2NAReM8fbyQbFLX/+9tmTyR4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(136003)(39850400004)(346002)(396003)(376002)(16576012)(66946007)(38100700002)(26005)(8676002)(66556008)(31686004)(66476007)(8936002)(478600001)(5660300002)(316002)(186003)(6486002)(4326008)(86362001)(6916009)(31696002)(956004)(2616005)(54906003)(36756003)(2906002)(4744005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WFpKMjRYSHZ3TlFkdTQ4cktucEpYTFZkcHpRSml5ZzZIcXpSaGhTbHlPQlQ5?=
 =?utf-8?B?M3R3SnpEZlBFU3JyODM3K2J2MHNGbXVienJjandqT1kzdkRqYkJCb3hXa3I0?=
 =?utf-8?B?VlpRcVk4ZGNtNWNJMWhYZ1hVSkk0bmxKVDFDZ1R4ZXdmNHI0bndrcnc2THYr?=
 =?utf-8?B?SHVUNUJCQWNCdUZsYlRRWHBOWEUzWUd3ZXJLQzc0V2kxVmh2bVQyQzJIWWxL?=
 =?utf-8?B?dDFXZmwrZEhnVllYbFpKZ0htS1dHbGM3bjlFa1RIMkVQZUIyMGZMRnJmcEhI?=
 =?utf-8?B?NGVqSXFLTWdmeFJGNWtyVVF0OThHWmMxQ0RQOEdsWUdQZjl2REp3R2lEK1ZN?=
 =?utf-8?B?bzROcWwvM3g4cC9mOHVaNUVWSnQzeGxGdUQ1QjFoU0FIRXc3WTAvK2RxNVAy?=
 =?utf-8?B?TUlMSlM2eHdOTEltdGlCVDJJMkdGZ2ZOSVR2OC9GMEw1Rk5JYTNXc1JjcW5l?=
 =?utf-8?B?UXpFb0RHSmZRSWdwRFpzZUljLzBEYXcvSFMzSWJlRkVDWHNUT0V1a25oL0JG?=
 =?utf-8?B?NjBNMXRRaTlsMHVZOHBOUXNmQ0Y0czlYcUFQenhmR3paUGU3ZE5KMjZ4L0da?=
 =?utf-8?B?QVpEYjdWWDdtTE91ZE1IMTB0NG5aWTFUUnI4VWdJT0FYUld2cDlWUzdSc3FY?=
 =?utf-8?B?Nnh6YmtTbVRxeTR2TE1NQmpnbUNYeEdCWUdsZXBDTDI4TnlSdTVsZmdvU3Yy?=
 =?utf-8?B?cnNXZVRxUCtxQTh2R2IxOFFOUUxXNUl0ZE1MeWNjRDlRLythQ0IyYkZrMExy?=
 =?utf-8?B?SUxZWGFxeGR2d2xjTWdJekVoUzUwRzFsYnM3UHoxeGtPcC9GRmQyME1MendZ?=
 =?utf-8?B?dVJ1S05TQTRSMzZra0hlVFpOeWs3ZjNyYS9uVGg3M094ZENPeC9rbFNHaDRo?=
 =?utf-8?B?ODFndkV3dFZrN0gvemZ6clgyZUtSRm9KSjdhSldCcHZ4cnN2ZG14ZHZMU2lG?=
 =?utf-8?B?MEVjcXRvUUwwRzNyY2JLRzdXK1dQeXljekdvUDV1bDVFRGhFbS81Q0lqVmdE?=
 =?utf-8?B?L2tSU3EwcGlSNjJqK0tvaEtBSmNUeVZXb21XT3RIMGd3enhaTURGc1hNQUp4?=
 =?utf-8?B?WU9GS3ZpVnBLSEpVazQ2M250RW1EQTNhQjhwR0ZicFluY0d2WHBPaG9mS0Fq?=
 =?utf-8?B?cFdJcGxYZi9zL1FsdVZkOHg5UWVadytYZzlMMzJ4UXdTd2NTTkZDU1hsVElj?=
 =?utf-8?B?ODdzd1MrR0QxMmM0L1dyWDZvTFVBbEsrYjl6QjlNZVkwUFpSdzhteWhSbUhC?=
 =?utf-8?B?aHdFTklXajVUQVlCc1B0dzlZSDIxSHNEWnpFM2pXUnJDYjRqc0hxVENjN1M5?=
 =?utf-8?B?R0JkajFpZkdzRkxPN3c1eTYxS29ySjFWcGU4VW9ybHNXVU1tOUZ1cENzTTNw?=
 =?utf-8?B?VURZdlFETG1DR045YzBhV1BGeVB1aXl6dUJ1Y1Z2d2xZeHh4VStQR05Qai8r?=
 =?utf-8?B?UU1MaWxrSDNOUDkrRWJUYStSb0EydmdGMFFLd1M0eHZaRUhpZVg0N0lYandG?=
 =?utf-8?B?VXgrSVBrc3JNRHR0eHRuZU1uZ1c0aE13azl1bGdiNW55VFAvcXdOczRCcGx6?=
 =?utf-8?B?WDZqcDBOeFRGMkNxMUsrbUxQUEhDWjdENk0rVngrem5DNENPMUkrUUxZMUdk?=
 =?utf-8?B?dm94ZlVlTUtVd3BRRXk5Rkl4bkIrNHhmK3dtcUlqaW9tVy9QSllGTjloUXU4?=
 =?utf-8?B?NFB1dmluMmNpeWVOdzhzZkRIT2VCdkROd2p1SFB2OUFJOTloTkJ0aXBOSG9Y?=
 =?utf-8?Q?43nckYPykLxFPa+mchR4djpyVvlYumCRdDGLNHb?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 14c024e9-3636-40e2-7028-08d962e7dd48
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2021 08:03:44.0164
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: NnpXdDEvqa4ivyLASxyNrn95r/KNj2FJPAFquPOTAnhaO+XNDDZQpv1YlUn9Muaud4jffd/tYqhP+PtWIYeoWQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2335

... an already not mapped page. With all other exit paths doing the
unmap, I have no idea how I managed to miss that aspect at the time.

Fixes: ad591454f069 ("AMD/IOMMU: don't needlessly trigger errors/crashes when unmapping a page")
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/passthrough/amd/iommu_map.c	2021-07-22 08:07:12.501229386 +0200
+++ b/xen/drivers/passthrough/amd/iommu_map.c	2021-07-22 08:08:02.360893418 +0200
@@ -243,7 +243,10 @@ static int iommu_pde_from_dfn(struct dom
         else if ( !pde->pr )
         {
             if ( !map )
+            {
+                unmap_domain_page(next_table_vaddr);
                 return 0;
+            }
 
             if ( next_table_mfn == 0 )
             {



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 08:04:20 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 08:04:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168421.307497 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGd2C-0004MG-1n; Thu, 19 Aug 2021 08:04:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168421.307497; Thu, 19 Aug 2021 08:04: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 1mGd2B-0004M7-UB; Thu, 19 Aug 2021 08:04:19 +0000
Received: by outflank-mailman (input) for mailman id 168421;
 Thu, 19 Aug 2021 08:04:18 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KGBc=NK=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mGd29-0004Lm-UN
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 08:04:17 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id dec65e1a-001f-4a55-baf5-e0d4feacb6c9;
 Thu, 19 Aug 2021 08:04:17 +0000 (UTC)
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur03lp2059.outbound.protection.outlook.com [104.47.8.59]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-29-Jd0r1s6wOz2BRnBguWTHbQ-1; Thu, 19 Aug 2021 10:04:15 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0401MB2335.eurprd04.prod.outlook.com (2603:10a6:800:2e::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.22; Thu, 19 Aug
 2021 08:04:14 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Thu, 19 Aug 2021
 08:04:14 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P189CA0028.EURP189.PROD.OUTLOOK.COM (2603:10a6:102:52::33) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.18 via Frontend Transport; Thu, 19 Aug 2021 08:04:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dec65e1a-001f-4a55-baf5-e0d4feacb6c9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629360256;
	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=3qHfb5KJ+gqoZnXo/WTxBUAAv7PLQTTe/68/DQABjjw=;
	b=UB1FuljJ0gaSCjzoid1Lgzk9WO+LW6fXbDfjz4QHSREgh/Vs8aoSXV/ro3KxP0yLDywajs
	Ws7QqEQhF23SGqys4Chcj5G1e2vq2vSzH0zozGcux12SeMxJR6QJTvQ9kgSVCs2dDCd4j9
	UJaid+5zbBycPiqhInQXvdj8K/ejA5o=
X-MC-Unique: Jd0r1s6wOz2BRnBguWTHbQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=I/iZvSkYOSu0VEOByEKRjtigLEip5w6Toxlakxaeybq5wNeQrKMlEk8oW3zzDFACFH2nW0snBGNy4g3zXTOYezlM8zYCx3I7WpTms6krwKNR+cPoFjLUmSz4No2daPn6OEBH8x67SExPwsg0Iu42UMnGGIwK/wWguqj5ipOghHZ8pJqIWhttpBz9UaSG9C02Xo8ZzkkADvzqu9jwrYKSRS7ebhfIZWTlvFeJVZWXAgc8FMpN4TaY7eVKML95vEsAY9vT//GyUOicPvJv4NtTeksgAeAUB4N+ConZM8QRlWK1rfG0I43FZ/Bx42rmBI9RbeUNfFywUwUkh1J0maw4bw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3qHfb5KJ+gqoZnXo/WTxBUAAv7PLQTTe/68/DQABjjw=;
 b=kUELKvvrFoQxqhou8wCY+/gFwrqVDr/NbWDtxILnNBtlhTVjtvuYYop6mJthagLjSw0NuiXwKf5IcohysPM9VfcUvM0erzwGd9snp9VWyjaBAUIXD64VBubhaswvifQUPvLMobKKYu5qLRrLv3jyFm6oRJ5lvtW+gfzVgblxuEpyBeANlwuBxj953kzN+Q3bAKZ1QRcDoQKuPFgv1yqRG6J2TO/LlAPhbTjQPcB811tsGnbfJeL6aAUccP0Stf9WzsA9WLqR/5e+tEu7aInTw+q7+SzgTtgBUCK8yrdktp8hDTmcWS+F0fXQHFCGyqIAgk6ud8ZgSv8yVlXRCF43Dw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] AMD/IOMMU: don't increase perms when splitting superpage
Message-ID: <f642d06e-77cc-7c45-0e1e-9cf694712d42@suse.com>
Date: Thu, 19 Aug 2021 10:04:12 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P189CA0028.EURP189.PROD.OUTLOOK.COM
 (2603:10a6:102:52::33) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 724a96c9-f8ac-42ac-e8b4-08d962e7ef2b
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2335:
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB2335D6D68409302FA48F4691B3C09@VI1PR0401MB2335.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:792;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MVGq+lzkk5+to9dmWHxUEn8l2HHiJf/a+/Vs6qYf+Yvk4LJXdpWvu+RNYwlM1XZnTxXLzuUiMFKNqRwA3nzgLnxzemk7SHJTDfGpY8XlvQRaLu3fGHsT2KHYohx/BmgEUp72WSiAoFDJjt/WjH+v5cRdgkK6i3e/KTY1RfMDWNLEHk8lr6QFocSeLWs5UPSG6GldsIsHdMR3O7Vz6PaJGXd/aR69vbhvwFvkATOt8ut6HX2He/COtsb8mvLZKTf4XEdABSaJ63ov59yLdXLCsLqaWQkPretgiEgHHKovjw5L6IWO3FIIJDxvpLpZH4hsiSah3DOtxHwDsNT9Da2Xj8cYLnNEhZwefOs3hoquQ+mambp1Voj/wEOHS7brjFEhLK6sPtdVka5bNoBQS/C9196r7/Nu6WmjOCi8f0GC4USguxg8VMhB+doOdnfQYXN1SlS/1txYZ0oVcjccsuuhvigfM9z3PzVnj7gFpVQGunfc0QC4ZdWCEt2hljVChDhwy6dvHshJorYXBOUEmjdBMlErqM00MfHGx5XJONqpK1o5YQ1O0oSwTDpm3iawmxq2jnQhxxQ6e8TNwyhs1UcnHcwrtF4CxJyhTCgjyDnDDWsUa44Xq/r1ZIr6WXpaW80QBs96AmsFJ2aqfNRzl3JtLps0ekawrAA7S32DGSIAqRL54cW4DKihmUCKYMQzphBZtkF9rTjmzElGQdL1qgYRhQ4JBqzC35UDA5nIumlmY/E=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(136003)(39850400004)(346002)(396003)(376002)(16576012)(66946007)(38100700002)(26005)(8676002)(66556008)(31686004)(66476007)(8936002)(478600001)(5660300002)(316002)(186003)(6486002)(4326008)(86362001)(6916009)(31696002)(956004)(2616005)(54906003)(36756003)(2906002)(4744005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RGJlcUhVelIraXRtaTFEMlRtVGpZbTRhZnNTS0RhTHB5Q3BDb25kOVYwcEdG?=
 =?utf-8?B?OTNsdUt5RWRQeVpXYXNsT3pSMDBoNjN6SUl4YlhyTlZ0WUlXODE3TENSczVk?=
 =?utf-8?B?d3A3QnZVZ3d4c01QeTVXZkFOZ3VFdGlPTHY1RmZiWnRnOTNZK2RQd1Fmc3lV?=
 =?utf-8?B?WWxnTFNqd0hRRGVaU3g2amJMa1JRaDVOUW9GN3NpZ2ppOWwrdDJuTG1EWW5J?=
 =?utf-8?B?TnFwNzZqLzhqK1YvU3hRUTVzQ1poNFRZZ3RvMGs2VkR6dmZjR0U0VVkvdFBu?=
 =?utf-8?B?MG1vYmZ2bVhSRGVweEVBWUxUdVBtWEViUFExdXZKYW1rMklhVGxTM29DMEJG?=
 =?utf-8?B?bGE3TThPdGJ2U0hveFBNcWxsbll1aFdtTzMvbFFrRmtyRTMxd3JqWWlPQmdy?=
 =?utf-8?B?YVBZNlhpZ3pFRHV6dU1PZGZNR2U1U3BJbzFvd1d2cmJoOEdrdFEwZkIySUNv?=
 =?utf-8?B?SFpibU5FUDVOdEhJRTJQY1ZuWHp4NEo1Mm13MXRBNW5RcldhRUVNN21jVVVR?=
 =?utf-8?B?UGpTb1liczlETjY0MTQ0NHh0UzBiMkdwVFBJSTBNa3NESlpYK0tPMjlTb0dV?=
 =?utf-8?B?TWZ4MTBMS3oySmpSVll3Q1BhMWIzTk9uaWVsY3RkajRUMlhabnZMejRJblNl?=
 =?utf-8?B?bW0wU3ZLbDNWeFFVakdRZmFScng0R3VwNm42RlBKZ3phRHdKYSs3YTA1Nng2?=
 =?utf-8?B?TzZOZ1pBZUJkRE43VWlnOFo4Y2lyT1VESis2UGdIMUZUV1JUdVFXdmJlQ1N3?=
 =?utf-8?B?enJzRFlkeGU4ejYrVGh1QWFWWmNkakR1YTJvTy9GV0lQN2VMcXlqbHJmMzZJ?=
 =?utf-8?B?Yk1zZWt3ZUYwLzh1NlRyQktmZHA2UGd1dkgyUzl3ejBuaDNpN3Rjajc1OWF5?=
 =?utf-8?B?U013WFVDKy9QWElTM2tweTEwaXBSZEdTVkg3Y1U1OWE0OWc0VndYSGFJMzJE?=
 =?utf-8?B?WUVKNERyMERQdE9yMzRud0F0WnRiV3cweklWbWFiOUh1enRuNzk3WDhYS2JE?=
 =?utf-8?B?bU01Z2N3Q2lieXNUSVpGWnZBNU9iVXBjaGhWcG9uWFFuRGFHS0lWbklrd0d4?=
 =?utf-8?B?bVRQd1hrdGRJSTlicnhOUS9zenp1TTFCcjE1SEE4MVlVbVF5YnhDRWxDUVpS?=
 =?utf-8?B?U214OVFxMk1ycytnOXVEbHBkeVBjVG5TWklUbVd6WWRBRlU0MGRPNmJObGJ5?=
 =?utf-8?B?T2cwdkJpWmEzOUgzNXUrWUlTdlhybjU3NEozMWlNZ3d2MHJRdlk0QXZPbHpX?=
 =?utf-8?B?UWI3YXRXN2JSK3B4VCt2L3FsU3JvTzV2MVRnRVJFTWZaR2sxS0ErTmpjazlH?=
 =?utf-8?B?bzFyMThydkcwTVMySzUxdU1maDUvTDEvN2oxQnlXT1Brb3ZWNEw3QnhBRHA1?=
 =?utf-8?B?OUV1N1l1Z3p1VFlybHAyY3BBVUlLMmJoRnZrTXltcTdzOHlSL3E1MG5ubkJv?=
 =?utf-8?B?eXE3MTMrdFNVOGprTVY4elBIMjF2UHJMc3JzdHVOaU96S1hsRWpuWEs3QmNm?=
 =?utf-8?B?NkNBY1R4d3A4Y0czTzRXYmlQTlVpWUZ2Wmh2dXAwU2V4QzdZaWcxWnozMEIy?=
 =?utf-8?B?dEtCSjIwZFFORWpaSElaLzlGVkVUcTFVYVN2OTdQMERlK0hkejZsT295WXJa?=
 =?utf-8?B?NTFCRXd0OXVSUVlQWGJvd3RmVlpoazNkUE9QdmRjSk4waHgvQkZNd3JBbWFE?=
 =?utf-8?B?UUduMjNrSDRZSE9aS0FBcGZCZ1F2RXNpYmlnRU4rWVZsMWR2Zk5jMXhzRkRu?=
 =?utf-8?Q?zm2jY+tLcH1+JzDmWrRTkU1aKKnJLbVZ2VwYf+/?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 724a96c9-f8ac-42ac-e8b4-08d962e7ef2b
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2021 08:04:14.0164
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Ol5NZxCjZO/MnOHb5O/ZPQFcpW3KDOUk99ySjo82NdE7hvLJwWYHX/k8DzRuzbJ9mA1JY9fAhofB8dIaB/+VUQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2335

The old (super)page's permissions ought to be propagated, rather than
blindly allowing both reads and writes.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/passthrough/amd/iommu_map.c
+++ b/xen/drivers/passthrough/amd/iommu_map.c
@@ -231,7 +231,7 @@ static int iommu_pde_from_dfn(struct dom
             next_table_mfn = mfn_x(page_to_mfn(table));
 
             set_iommu_ptes_present(next_table_mfn, pfn, mfn, PTE_PER_TABLE_SIZE,
-                                   next_level, true, true);
+                                   next_level, pde->iw, pde->ir);
             smp_wmb();
             set_iommu_pde_present(pde, next_table_mfn, next_level, true,
                                   true);



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 08:05:55 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 08:05:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168427.307507 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGd3i-000559-De; Thu, 19 Aug 2021 08:05:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168427.307507; Thu, 19 Aug 2021 08:05:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGd3i-000552-AZ; Thu, 19 Aug 2021 08:05:54 +0000
Received: by outflank-mailman (input) for mailman id 168427;
 Thu, 19 Aug 2021 08:05:53 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KGBc=NK=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mGd3h-00054u-Mq
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 08:05:53 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 456e12e6-00c4-11ec-a5c4-12813bfff9fa;
 Thu, 19 Aug 2021 08:05:52 +0000 (UTC)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2050.outbound.protection.outlook.com [104.47.12.50]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-12-YmB38p9SO4W2TO28ayXuRw-1; Thu, 19 Aug 2021 10:05:50 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0402MB3774.eurprd04.prod.outlook.com (2603:10a6:803:1f::28)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.19; Thu, 19 Aug
 2021 08:05:49 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Thu, 19 Aug 2021
 08:05:49 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM4PR0501CA0057.eurprd05.prod.outlook.com (2603:10a6:200:68::25) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Thu, 19 Aug 2021 08:05:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 456e12e6-00c4-11ec-a5c4-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629360351;
	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=dMci15fYzxhTs5f2mFFQLa4HsjEbVuo0tly+3SL4b+g=;
	b=nbfNssQqvCzHnJvehTPMfGEO4F7MNX+xsYeqHe+VuYKArjHSg0MVvvN6eVYRCXEpgkw6gt
	LS9LxPjijyOl8TUwE5+bJHjvkVxJMZKg7MKthYjhEH7Ig97/lGTVNJC9Lpv4pClVaxE2c5
	3B896N9mU2vrjBta1jToL2QEmaTHjTQ=
X-MC-Unique: YmB38p9SO4W2TO28ayXuRw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iZX/Qg0Qj1NIGB1jl7/rAGcUukMg9UVdyemyUrLSkIqEeCaGjx/2zezdKwrqfxeUV41OBfDed69PJxZSPuCxgbpXeB0IUtMuiKXN8Dkr8f+MQvIh3emK4I8wQ1zFsgpIE5RT+n5cOG+iib3710ZmSKi3RxoSwgQX7uDu3vBnuEre07l6Rgn/lNH7uCADUrozEZkZox+B7oCoT79KzfgCOMWi8ckV9PedCknPn1CyTC2O478VPIFBtT5e+JEwTNPEgyzqoUFJlu7A2DVrkN+1paYbzddSU9I5CN9kGeDtzBVBQAkZ2pbBxnqJKc8JyxYlNf/RSiyvS3G9ECQJ3ZdayA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dMci15fYzxhTs5f2mFFQLa4HsjEbVuo0tly+3SL4b+g=;
 b=nZTrJjkgS5UdGyEYYj+Va4yUl360uuCAJ5CGgbYs28PA34RtRvFK/eCwDLTqZj6EyYxdSgufda7/gBgFdzyQGJFmiE6lqO0k0iuAhBi5R4in6/sORqDRy6eFSBpFTDNLxNMln09QZe4Ip12hjZpbKCF9nP2+LZwzQdlGr+m2m21UvExCViVzaDNAY4FF9Qs/qAYLwKq/ovw6GFmeblim0C9sLKVcR7rdGbG5jQYSYi6avwYAAwO4D9ieiLoRtpAs4aHbx79audG6BKaEOMpfkAg7XDShiiCFTyR+MB/1E5vM80UxMVZo1T8R5eflSMYA7tOEdXv3hvAmah/U+r0/Ug==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Kevin Tian <kevin.tian@intel.com>, Paul Durrant <paul@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] VT-d: fix caching mode IOTLB flushing
Message-ID: <8b873e30-c1d1-3174-9e67-506887deedcc@suse.com>
Date: Thu, 19 Aug 2021 10:05:47 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM4PR0501CA0057.eurprd05.prod.outlook.com
 (2603:10a6:200:68::25) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 8a3ffa86-96ce-446c-0dca-08d962e82806
X-MS-TrafficTypeDiagnostic: VI1PR0402MB3774:
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB3774BCAD74D9C171F6F30BEFB3C09@VI1PR0402MB3774.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8273;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	wfq32mlKGUp7MRqQWxBLWIZyadJhTLrWQZMhjZNIyoxk8Bg43Zul08UZoY1F7jwXLqOe/UXIFpmylhNTuCOewjs2Qi0RoQe5pkB+droZfnFyPHrGpO5UOInUGr2NXc68bf2QDcwO6gPvtNJlXH5QL19pMwuIbI8OZN4ivZBYVsyg08trISyibfzWnZFUANGGuN0Sx17uam29lTBqT5ZOgEjbabszLNDqpTFeBNk4MTbMf35ASf0itq70DvBvR6LNPbieZXLXZzEV7zrokxXtzN9ah6lyvm3wsrMq/tXZIt2LEZWhDnwukOTVvjYCatkm3ZErdxVGITIiF8mD0waIz0vURF/M+gGqO8Iyk52nkwve20iNVJzpiAfmjDigUSMeSAX0gcA6OfwcOSe7iKPLj2ejVx2nOOtiWHwwUDKxDO+H82u14CIq6nc4K23tiLrhOq1xCRXocUjA5G5efeuGYwBmTYVmeZ8/CtJwRPMqUeDMSkVn5aDjy+sP6keGb1LGfDlgmH9q0LHryOh1Gs0S/mSdeo3+l66tiUf3yRS1pbXyvN7HeyAOK9L58DfvTZMKQFYjl+9WGwUyRHx/0ndGmDcJaM5ROYRqaGT0kR+Noy9A6T1kjGT3Bd/1XEy67NUsyeQJVLbkh8q5s8M2fhiy2UyxBPilByhJX3QVd2a+vXcliNaHCdetz92TKGARyZZ2+sOvKimUl+eaVauz7p80z0V4QvaH8D8K/B+5+8gD33k=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(346002)(136003)(396003)(39850400004)(376002)(86362001)(31696002)(54906003)(36756003)(6486002)(66946007)(31686004)(26005)(186003)(66476007)(66556008)(2906002)(8936002)(5660300002)(8676002)(316002)(478600001)(956004)(6916009)(38100700002)(2616005)(4326008)(16576012)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SUZaRnp1cjhwNUM2VXFzMWNZSXVKYS81dTNQaG1CYUtINmlhK0Q0Ynp1eWp1?=
 =?utf-8?B?YzNEWTJJWlBQNWJpY0oyVllpSEM0MmNYa216RG45eWZFRWlyUm1XWjFCZ2d4?=
 =?utf-8?B?Y1RxZjRFZS8xNEgzRG1GNGZaVFV0a0FUc3ZGb0ZIRnBkVGVTZDVYemJXZTZz?=
 =?utf-8?B?Wlg2WE00MEJpbDMwSDNCWEppMUc5QU0vbzdHbWhMTEorTkduZ1RERk96SW9j?=
 =?utf-8?B?eXBnM3VNZGliajRzUzh1NjMzTXdMRVJqbjN1STRPOE5FUEM0U0ZyRUJPVDkv?=
 =?utf-8?B?R05ZSXh6S2luYVh0dHFZTTJkbXAwdThXTGZ4anFPL2tUOWl6VEU2czNZckhz?=
 =?utf-8?B?YkpiTzNnV3BDMlM2ZkZwODkxUGpVUlZIRXBMbXN6MllkQUl5THJaTlNrSGdK?=
 =?utf-8?B?d0lWdlFrU1MrOGY5bXdWdG5rc3FYVDh3dDEzeCtUY0hmbnR6cjlrWDBCM0Ru?=
 =?utf-8?B?ZXU2NURXSkVRTERzUDRWWGs2eDVQRXNwYmdqejVTdkxoSklTSnVYZUtlZ0NI?=
 =?utf-8?B?MmRERlRGUG9zK2ZHSmtpaDlCM1duc0JBaDRMbG42cCtmaGdWbFRtSFlrZ0U0?=
 =?utf-8?B?V01mTTVlZlZHcnkrOEdwYklScmQ4VGJMWXVuN1V6QzhEYmg2TkNWK2EwKyt5?=
 =?utf-8?B?Q0hyY1RiSFptMit4VFV6MThwc0JnSDVoZVY4RDFiTjhOR2dYY21WNitveFNi?=
 =?utf-8?B?SDBHd1RUbWZtd3ZST3RTcEVTdjVJOFM5WktaWGpNeWlEQk9ZVWZtdHNiYnpz?=
 =?utf-8?B?MnNZSk8wdytjR0lNZThHQlpSaVE1dDI5UStTYzl4bjlZNVpYUzZWMDJwWHQ5?=
 =?utf-8?B?U3dWeEhBY0xRaXRRSXpOaFREcGQwd0RvUkNvTSsyV2cwUHdSdzZ5VDVTc2ZR?=
 =?utf-8?B?TFp3eCtOR1hiK1dNSURmU3ZUd0NhdnRzRVlLNmVJa2ZwU0Y1S1cyc01kRUN5?=
 =?utf-8?B?VWxNUHpjR2Uza0Z2aGY2dTAydkc2MjhRRUpSSVF0YkQwbDNZYlFXODVkU0lZ?=
 =?utf-8?B?cDZPVWxJVXJZSGl1ZnRCVGJqdDZYVTBUK1U1THhIRGhxRHpwajlKOHQrRFhk?=
 =?utf-8?B?TytybmMzdU5NTDBwbGV6dndpYVllT2xuOE9YbzF5V2JqdWt5RmprN3dDeTl6?=
 =?utf-8?B?S1dBeXhhb3lkaVNraktZU1RTV3ZaelRLbWNSZDAwQ245REhTNDFTeUUvV3RP?=
 =?utf-8?B?U1ZyQnRFNHVwZUIxbEdSb3lodmtDL29JQ0puYkk3bmpkRVJ0K2ZORlZMejZR?=
 =?utf-8?B?TXhtUWErNndockNQOEgvTXFGUlBUWFg3aWRPTHpYeEFScGNKeHFMWWRZMU9j?=
 =?utf-8?B?RVlvQ3lKYjFHcVpYSVlyUG5lemtPVjd4Qy9Cajd1L3J6UWZqdGI3b1oyejFq?=
 =?utf-8?B?RitZQjR4ZEZzQURwVkFUNkszN3Y0U2t3bGZDUm5LRUlUaVhKRkVub1ltR2JM?=
 =?utf-8?B?enRqVlQzWGJtZDAzRit2eGplQmdnQWtXMDNVMGp5Y28zd3o1VzhZaEZQRXda?=
 =?utf-8?B?VFozakFLTVBCQTJlc2RtQ1poeEtvT1dqLzhlUWVWbDVYQzNNcFFnVWN6ZlJq?=
 =?utf-8?B?NTltcHNCR3EybjRZNmJOeWh4TCtPenR6WlltREhKbEdkclh4VjQ4eDh0SWda?=
 =?utf-8?B?Rlk0S1hvY1ZmN091MXhWV3pKT3dBQzJuVFlHM2FoaXlic0h3SkorbnMrWnZC?=
 =?utf-8?B?NzdqbVhoRHR2MVhmK2NhS0NISlBpdHVZbUdPV01FaUtZY0Z1d0l3MnlrcURz?=
 =?utf-8?Q?O3oSxqzqn2PLF1ahF31NMNpxFF/8sn2CAMJ/mCv?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8a3ffa86-96ce-446c-0dca-08d962e82806
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2021 08:05:49.4055
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: IjA8MH+KfPEPyBPLYBDZ5JIQiuiKAogFLSSBA+IGPsyXKYQe2Bi+66YOvzcg9buH9hkfNh5HN0YfxkOAofXSUQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3774

While for context cache entry flushing use of did 0 is indeed correct
(after all upon reading the context entry the IOMMU wouldn't know any
domain ID if the entry is not present, and hence a surrogate one needs
to be used), for IOTLB entries the normal domain ID (from the [present]
context entry) gets used. See sub-section "IOTLB" of section "Address
Translation Caches" in the VT-d spec.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Luckily this is supposed to be an issue only when running on emulated
IOMMUs; hardware implementations are expected to have CAP.CM=0.

--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -474,17 +474,10 @@ int vtd_flush_iotlb_reg(struct vtd_iommu
 
     /*
      * In the non-present entry flush case, if hardware doesn't cache
-     * non-present entry we do nothing and if hardware cache non-present
-     * entry, we flush entries of domain 0 (the domain id is used to cache
-     * any non-present entries)
+     * non-present entries we do nothing.
      */
-    if ( flush_non_present_entry )
-    {
-        if ( !cap_caching_mode(iommu->cap) )
-            return 1;
-        else
-            did = 0;
-    }
+    if ( flush_non_present_entry && !cap_caching_mode(iommu->cap) )
+        return 1;
 
     /* use register invalidation */
     switch ( type )
--- a/xen/drivers/passthrough/vtd/qinval.c
+++ b/xen/drivers/passthrough/vtd/qinval.c
@@ -362,17 +362,10 @@ static int __must_check flush_iotlb_qi(s
 
     /*
      * In the non-present entry flush case, if hardware doesn't cache
-     * non-present entry we do nothing and if hardware cache non-present
-     * entry, we flush entries of domain 0 (the domain id is used to cache
-     * any non-present entries)
+     * non-present entries we do nothing.
      */
-    if ( flush_non_present_entry )
-    {
-        if ( !cap_caching_mode(iommu->cap) )
-            return 1;
-        else
-            did = 0;
-    }
+    if ( flush_non_present_entry && !cap_caching_mode(iommu->cap) )
+        return 1;
 
     /* use queued invalidation */
     if (cap_write_drain(iommu->cap))



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 08:11:21 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 08:11:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168433.307519 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGd8v-0006eA-6F; Thu, 19 Aug 2021 08:11:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168433.307519; Thu, 19 Aug 2021 08:11:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGd8v-0006e3-39; Thu, 19 Aug 2021 08:11:17 +0000
Received: by outflank-mailman (input) for mailman id 168433;
 Thu, 19 Aug 2021 08:11:16 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KGBc=NK=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mGd8u-0006dv-0J
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 08:11:16 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 4a480452-a27b-4a7f-a894-27316e9d1c48;
 Thu, 19 Aug 2021 08:11:15 +0000 (UTC)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2104.outbound.protection.outlook.com [104.47.18.104])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-10-5M563CDBNb69ghbuG5adjg-1; Thu, 19 Aug 2021 10:11:13 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VE1PR04MB6477.eurprd04.prod.outlook.com (2603:10a6:803:11e::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Thu, 19 Aug
 2021 08:11:12 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Thu, 19 Aug 2021
 08:11:12 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR10CA0130.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:e6::47) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.18 via Frontend Transport; Thu, 19 Aug 2021 08:11: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: 4a480452-a27b-4a7f-a894-27316e9d1c48
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629360674;
	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=hfn88W/TL+6/Kaqc5/V6BscKLs5KNXuBrQy7LXoKHGw=;
	b=hxmu7+QdYELUxD6pMVQioTNHYxXT47O1dI36wiOW+D+4i4SUCf1sVgZm6AYwl1Iedp/LOC
	eXQlJiYKktnUWiQfS/MbEB1MsYsWWUQYpeWgnYRJoRdc5Aca5zlXi4+ZbT0h6b4LxDeGy0
	hTz+l7ZiEF7daB+hq4kLFdQpQSNu+pk=
X-MC-Unique: 5M563CDBNb69ghbuG5adjg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OcGIjQ0wt5IJ5DMCyVNdBtChMaYQzgFF0znEidQ/5Ea11fLNWwJezs27eFEuLe51EfnhoqBbFUEh3Y48RLjQ+iISDIRM4GO/Gboc7c5/irxuCSBUJe+Ox1ijsaxt7pFBt6JfNP99OojLz1MXxwuS03Wn7ufbCLtPWDape5jdhUDgyWBIWH1bf1R1KfMQFOQ2Ak3qiOf3MpWRGNnF1ZFa7indF727qmJ8bHdRWQ58z+BkJ0PV3x04OIM90YgjpB0UYFyPV1D6SHBMRp84eILwE0J+yK5q6heOLtCYGn3vNigSD4VlVJKzhexR8ObpPCA7m5/rwswDUeuNiUDu/dcQcw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hfn88W/TL+6/Kaqc5/V6BscKLs5KNXuBrQy7LXoKHGw=;
 b=WQUd+W8tQE+lMNBYh2yTZxlU1L6WbDLhm1f2o5KBj+30knu0l4t/jBI6f/G8ctE1OHTCcRrm7tlaXEH7qe6VOWtzioqOUpIkgNqyhwf3VR03fjZUWUCjFiSiQN5y9xroWaOFd5O5+DFUwv++VHiyLzKY4Gw6YSaJgstY0313lsXy+4KSzIzBhPVqVgP0zn6dnFN3HuTVsnC0zuOx09CV+YGjirokyva4s98Vc8RHJWWaqhlSswYItjcYnimnSTlWuALL071VEAwmK40uLFeStFKcAz6zV8PEniYptPXB/5ApdfcWJmCwb9/3f6n77lZqq+Rski/m8fBnVgk0lEhj1Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH] Arm: relax iomem_access_permitted() check
To: Julien Grall <julien@xen.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <a26e91df-7c49-5903-6228-821d92c4902c@suse.com>
 <adfdc3f6-5801-8387-6400-393f2536c6cd@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <5aa93b5a-3c73-a662-63db-5babc69078c2@suse.com>
Date: Thu, 19 Aug 2021 10:11:10 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <adfdc3f6-5801-8387-6400-393f2536c6cd@xen.org>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM0PR10CA0130.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:208:e6::47) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 6caa0543-31f9-4b89-900a-08d962e8e85c
X-MS-TrafficTypeDiagnostic: VE1PR04MB6477:
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB64772879C68C9E921343224AB3C09@VE1PR04MB6477.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:7691;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bWKnLPgp8xh3gdeflLZmh/8oO8gBgAJCRa8Xb6Jfv2KyfXQmOdtDiVQ0WeEVkHI3vlBTb/OTE2tNgeor4c42KHbqfs1jaLWFhPz65xnqysi0D7By9awFfRmGu3YcxvHJT8ZtbVsjThi667o1YnNkg3p4FNXodaGojFMxLwJOh0Q2mB952BYMoVO7fSSGIDI4ofBX/9mFmTZYwWwawS3G72gOMcUtCw69l23XuEjLAX2ENE4pdhMAUWlnJyDiR4IIObmrBrgH+3tmomEtAtdF1D02x3rLgQms8Y9sBUQBb239YMXs+ZGWDoHvd+28/3Vf4XzIseHGcOtEB5rRYSM9VEcLohi1abVqyVv0U7PkrP1xwLzYsIm0mWtiMgntM2KG0mawth2qL/7RlNTrRN9fow/fqCUsuUdMtEJdDLAUNafJ5BJzsiCI8dVc0dmqSK3n7kQzqWFpScoFuNL2RpgzzoUdZAC2mbIgPeyp8Va42mSBZFSwV+iH4Pz1+Dp9JHm4M36EbEYSxmKp16F8oTLalMNEPKwS/JmmY47z6V7Qh2czn5WQsf81HvyAfdS4Q9Be5wFoDZluxD5GzIEHTlDymwzhluFxorYn9wzXVQn/8AN8kEWzP/+5KzAjAZzKvnkWewIxzf3FHFv8dz/yqNnF0qA1npabOCq6Smc5gSZYUmO1gOK0rOa1DwrpTPniXK/Tyl4C8YzfoXDySAddwEXGDBwRhL391p/+dkub6qOy9ww=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(366004)(136003)(376002)(346002)(39850400004)(956004)(2616005)(6916009)(66476007)(8676002)(478600001)(2906002)(8936002)(86362001)(4326008)(83380400001)(31686004)(16576012)(31696002)(66946007)(38100700002)(186003)(5660300002)(6486002)(26005)(54906003)(316002)(53546011)(36756003)(66556008)(4744005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YWlnOXJUSDBpblliRGNYS2FjSW9MRFpxSVZ1LytTRS9vd09HcGhTK1ZxUWho?=
 =?utf-8?B?WDAzM2lkOEY2Q0VtalBMWDBYYkxxN2w2eGZNVWpkcUZwMU4wQWdEbVh6bkd6?=
 =?utf-8?B?OW9nSXBsMzJFTDlHSUZHMXVsS2NWb2MzenN4cWxVc2tIV0JNRmU2SzFoekNt?=
 =?utf-8?B?WjJsazlpU1RrMTltTitnZWFlZmNUZ2VPOFp6enpLM3prVnlINzFoY2NXanpR?=
 =?utf-8?B?U3hVQkJvVG9kRXFoQSt1UXNLVlVJQ1FlWlUwYlVnbWJ6L05SSUJZeWp2UzJF?=
 =?utf-8?B?VGRhYW9MaVVaS2NRNzZIK3huVDBnWFp3QWNLSk4wVmFJc21NZkdBUS8vZzI4?=
 =?utf-8?B?VSt0TmxCQ2IvTFNpSU1xNDJyTmhORFRRSzhYaG51MnFJdjdwOStWN1ZMbEds?=
 =?utf-8?B?aUpoQXpxZ2pYRklrODJEbWNiQW1lZU5iS3BSVElXMzJxWmhqanl1Y21aUk9Y?=
 =?utf-8?B?bDcxYlI0bVdORGY4YkZvUFpsZmlOQ2JZZHRBeFNSR0dDY2JPbWplUEd5RGIy?=
 =?utf-8?B?SU9pYSswaFAxaFYyQlhkRVZGYjFaRlU4YnhlTW5SQTRQSDJaYkNJUHN4Q0Mr?=
 =?utf-8?B?TUQwaXBtczBGQkFnSHc5MU9rSHdvSDZyTWJBY2JZM3hoenJMTjdtclE5TWY2?=
 =?utf-8?B?WmpRT00vMnRZc1RrbUtXSVFsZGdqaXZkWUs0OERWdjE0RG5NUWRKa2MrU1Bv?=
 =?utf-8?B?czlCcUNRanV3QXUzcExGZW9aUzFIYjg3ZXZKcFpPaitMajZ5R0RaU3NUYUdP?=
 =?utf-8?B?dlluTWtIaTVxOVdrQzNyN2MxSEV6SG9aV3pQcHlCOExkSEUydi9qRFg5ZDRu?=
 =?utf-8?B?T3QxeTJ1VllMNlRMRTJHNzFyRlhqOVJnZHBqZWUzbEpGTmRDTHJsTC9OS09z?=
 =?utf-8?B?UE91NnRTeWJvOFI1U05sYlJ4ZjhtdXBkcFdWcmhIVElJeVJzNGRaekFTOTR2?=
 =?utf-8?B?c2VuVnkwaEhGekhzZEdycjM4RG5mSTFrejdJcEhKRkZBd1hpdWV1ZVgrbWdy?=
 =?utf-8?B?a2VGNHc4bm1UVDM3WndHanZxZktoT0FvSGY2VTVLQ1I4ckttTkpkeTdVMEtz?=
 =?utf-8?B?c3ZXdzB6SmtuYWlBT0tGYjFWQis1SlZWK2luRTVTbjBJQ2dZMWt4Z3hCalRY?=
 =?utf-8?B?NUlEeEJ2enZHa2orMHBYZzVMaXo1amJBVldjV2NKMnNWRnZ2aVFsNjlZVitI?=
 =?utf-8?B?cFAyMTBjQ1RXSnF4ejJhOEd5WkxGTFJST2N3cHh2Vkc3RDNWdk1hUWY0YTFV?=
 =?utf-8?B?QmNGYnFOajk3R3ljbUduUmtEQnlPWE5BTjRsK0IvSVRxbldheEJtUEF3VVdM?=
 =?utf-8?B?YzErVE1ZUER2SndYbUppUC9iQitrR1k4VHFHYnhIdFVjaEFFeDZMaHMwK2lH?=
 =?utf-8?B?T2RPeFNydmF4QXUySnVmNFZDMjdYdVR4dG9OMlIvZ3FYTWo5c1pDUkFzOWht?=
 =?utf-8?B?Mm1JdG04VEN5VGIweng4aG5oYUJNcVNzN2k1Q0pKS3ZiRnZSamZQS1ZXMUQy?=
 =?utf-8?B?NVF2Y3VWREI2aG9sSU5NUDFPQ05iVjNIeUh3NVEwT3dvTDV4T0V3SE1tWG8x?=
 =?utf-8?B?NytlQ3Ezb3lGMEdmQlhESmRHL2pUeXJjbUtJdHlJZXRQVFF3WUJNSnd3dllX?=
 =?utf-8?B?RklrOVIzQ05hS2tJR2l0eSt2WWxIQ0g5Wkp2OEt6czR0a0FNVXVBeU15bitu?=
 =?utf-8?B?Nm1vK3JhaWp1UFQyZVpEQzBkWHpoWkE0aVl3YXpnclBnRjc3a3pxUWswaUkz?=
 =?utf-8?Q?3u83UDEUC4ErcCtH3AcapdwwEgHmcdK4/oFGk+O?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6caa0543-31f9-4b89-900a-08d962e8e85c
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2021 08:11:12.1200
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Jbtb5TuZAJEVMep6br3A0pHtj0o1ySwmul0Coh11UOyj7f1m6kz2YxDisNpKElsParR3g3/hFRxPLUC0AAn8ZQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6477

On 18.08.2021 19:44, Julien Grall wrote:
> On 18/08/2021 08:52, Jan Beulich wrote:
>> Ranges checked by iomem_access_permitted() are inclusive; to permit a
>> mapping there's no need for access to also have been granted for the
>> subsequent page.
> 
> Good catch! OOI, how did you find it?

In the course of my large-IOMMU-mappings work I ended up grep-ing for
all uses of the function, and this one - while unrelated to that work -
caught my eye.

>> Fixes: 80f9c3167084 ("xen/arm: acpi: Map MMIO on fault in stage-2 page table for the hardware domain")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Reviewed-by: Julien Grall <jgrall@amazon.com>

Thanks.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 08:41:20 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 08:41:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168438.307530 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGdbo-0001X7-KD; Thu, 19 Aug 2021 08:41:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168438.307530; Thu, 19 Aug 2021 08:41: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 1mGdbo-0001X0-H0; Thu, 19 Aug 2021 08:41:08 +0000
Received: by outflank-mailman (input) for mailman id 168438;
 Thu, 19 Aug 2021 08:41:07 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KGBc=NK=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mGdbn-0001Wu-7v
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 08:41:07 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id b322cac5-ff35-4919-bca1-1172dae35718;
 Thu, 19 Aug 2021 08:41:02 +0000 (UTC)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2057.outbound.protection.outlook.com [104.47.12.57]) (Using
 TLS) by relay.mimecast.com with ESMTP id de-mta-5-mSusH6ISPBaQexj4GHp1lQ-1;
 Thu, 19 Aug 2021 10:41:00 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB6176.eurprd04.prod.outlook.com (2603:10a6:803:f6::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.24; Thu, 19 Aug
 2021 08:40:59 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Thu, 19 Aug 2021
 08:40:59 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P193CA0059.EURP193.PROD.OUTLOOK.COM (2603:10a6:102:51::34) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.13 via Frontend Transport; Thu, 19 Aug 2021 08: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>
X-Inumbo-ID: b322cac5-ff35-4919-bca1-1172dae35718
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629362461;
	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=LHc1P45rKhX774XIVn0LWerIFDBzZCMg8qeekOXhV/w=;
	b=bCmOQg596hvzMg/L+yeVFni3rMDcM4IEpuSstTdNEtXiJahI/Sy820m71QBIwXdWu4THJo
	eH0jyld2haULN3ZeteccmO93JX9ZjPAiEZCI1FbtrIzeN6jB80Ki5Zw2msGuI2AZZyk+RJ
	UUhdBG5qaFCDlZ6yHgiFDwzGCTbSGWQ=
X-MC-Unique: mSusH6ISPBaQexj4GHp1lQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DA1izVwZjbA6X/88lVeYWXblsHQXelx+N8bREZTKN2XHA1+bJtqqyl99otVQs8NLmXLD2atHRFUG/dBCNqzZ39xBbMZU34YDRczlomJoNGKbLmqi5N7Ap0IwJgpLH6dPf9s2AsoA4wp/Bsf5Joz3OoWF89+s31H8NFhfw32B136WM0NpFPDbCEj6/fVu7nzIKInWG0bVl6WKMYddIl6+fPIpYlT2ug+KLdEO/ksQyigPsxel1W18Y+Mo0q2IquYPsnKcyjsZa3Id3qNJMF4BCVSrfXQZguzrg+Jjcxkh3IlUPHNuolUeOyWDhJaSQC1olVbaaAK+dFKZ0CncJTFEqQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LHc1P45rKhX774XIVn0LWerIFDBzZCMg8qeekOXhV/w=;
 b=kmJW05bWT8FUivlIBZWQA2abvjNJt8726SrDQGQ+ZeNPIrou871vZ01Rwy7EdupFkCzWWUJt7IRmk8jtYvd9WLqRFRtpybJWfa3wAHTaG+VoIVBmmW5rXz+QHuNEkQvM+lLdeGW426lRgE8PFfUOQ4i9q4MFUhYsxt7euNiLJ1Zl3iRu9jXnj9eNpQ10IGVaBQzS+NGssy4c80/MvuRtewawshKynk1ZjlLOY3pVJ/PPW8h6lOhVGNFykPj4YeMncYhPIKeg1ulY2ODNI7Nfp28Yem5yEzV4dKR4ad4bEXeaJz6LXYure9ize0UQEQxI+SFA7oQGkM5Lsp/S69L4yw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xenproject.org; dkim=none (message not signed)
 header.d=none;xenproject.org; dmarc=none action=none header.from=suse.com;
Subject: Re: Xen 4.16: Proposed release manager and schedule
To: Ian Jackson <iwj@xenproject.org>
Cc: xen-devel@lists.xenproject.org, George Dunlap <George.Dunlap@citrix.com>,
 committers@xenproject.org
References: <24861.8902.217023.673705@mariner.uk.xensource.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <5198b3ce-8a7c-a5b1-4ddd-f2052e1d4181@suse.com>
Date: Thu, 19 Aug 2021 10:40:57 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <24861.8902.217023.673705@mariner.uk.xensource.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P193CA0059.EURP193.PROD.OUTLOOK.COM
 (2603:10a6:102:51::34) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 819bd508-0a21-4dab-3112-08d962ed119f
X-MS-TrafficTypeDiagnostic: VI1PR04MB6176:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB6176ECE1C33A10B27EB87144B3C09@VI1PR04MB6176.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7DUOIVxxaqgBwRZo1C6Kg00IiYkW/J3KtOSDd/MBGu7hxHv2ka51mYT0GUps1lfiYvhXSSSTe+G2QaWp1idRZk3ayxXJ7pR16pYnahNdM3o7tDohawN41t4GB/lw3LZgX4ik2SFbDbIn/lE047gZd4fWZhmY7wm2yigFTFNcmb1MN4hVsZ8iwhRbiIXHPUZ8yxXoV8XrxK6G25TEmu5BWnogROLu4FiiTAzKL8X39V8liVTdDY9IpmnU1roSzcz3oBUEEKPdukJnTKU2dhLGgE4Ev0HWHcKTOzLoHAxOc0AL12QiNvy5vxQ+u6QcTCcZnN/RqifD9QMFtpOBACsB4qp/O5F93NyYIwReyewVHxeiQa+2q3JEEV9kF/B7DnImfakQcd9ibTcoMNZzViihan/8hD1kEe/Cs8PQeWheJk99dgovlPaV7vnpUlEBbbiLEov87EFizqtG+uz1rfGjQ8MQIH++JcVLLYX5+11H2LU6gSI1BflONOFnVcQ9vV6uwto/UxYM26x9UPzxt2m2rTIty7N8mNyHekZxbvIZYYYm2RDpU22GBe4c9P6OD8b8+MjrNM2m9zIedDbWAtJ2hEpqR1dr3fTkKu6VY2OJ7axXrfA/IFB5qV2YlTrlRfuU+RgmHeQeqcOLsHIQu8iihpsPQppo6ySFx973BEcFSPVj1SHoBNo6sG66hYXrb1uQ0Ji7AGbkPGT/D29VtcaM3luHXhP8mc/kiNASMZvH13k=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(366004)(136003)(346002)(39850400004)(376002)(66556008)(66946007)(53546011)(66476007)(6916009)(4326008)(478600001)(186003)(31696002)(5660300002)(2616005)(956004)(26005)(316002)(8676002)(83380400001)(8936002)(16576012)(2906002)(36756003)(38100700002)(31686004)(6486002)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?L2h4d0NxVUFLZDJCVE5KbXoyVzJZbVIzbDdIMFB4a2RMQTFoSy9EaE9xSThG?=
 =?utf-8?B?aUxPNGJVNnprYXhtb2E0SnFPZ1lTbk1ZVEpsZ0gyYk50ZS9samNtZTU1dVJU?=
 =?utf-8?B?WVRKR2hwQjc5K0dWVHBaT2VaQXoyMkRabE1tQlN1VkFCdGZSbmtrQU1xcjRQ?=
 =?utf-8?B?aFpKY2Ivc2Y5QTIwVkRTVzJPcUFoK3N3dEhQVTZwTjdhWGV3V1FRbWxWVThP?=
 =?utf-8?B?TXZENGx0SWs1OUFVNW01eHJHLzkrSlU1eC8zU1ZXb1I5cGpPNytKMVRabVpn?=
 =?utf-8?B?QU1yOGNIdkFIWndMYzhDRW1TQm9nSGNxcktnK3FLU0c4NmJGWlh4RVpza2hD?=
 =?utf-8?B?OVRvMHlqdzBRR01WWkV0WVlnQitrWlcxMDlKK0RGTGI1cjJMdUI2SEF4cmh2?=
 =?utf-8?B?amhFTytNMGdsc1VqTWI3blNMbDlpd1IvOFJZUTk1MzBmYm10Z2NuaDBzcGkr?=
 =?utf-8?B?Rm85a2xVL3NFaURkUkxESkI4QThBMUxHb3RRWnpaOVB4ck9vYjNud2xyZlh6?=
 =?utf-8?B?b3VjY2lHVlAzeXdzOEhEakQrcndFQmQ2dmJkV0VXQndzR3lwWEhjVjZUbVdw?=
 =?utf-8?B?eFlYeUgwRXBTZ2RsWnRDQ3dEZ0llV0pScDh1THlxcjV4azkwdnpmb056c0sz?=
 =?utf-8?B?ekZ1R0N6ZGhQZkpSMFhXWFZQemZacG5vblFHUmZROVZoYVB4ZmQ5Y05Ca0o1?=
 =?utf-8?B?WjFGZlF4L2RGWE1XUGhPMlZMb21XYmYrWW16NnpYQnl2dlVqYzdaOCs5RTdS?=
 =?utf-8?B?U3dubTB0VEcvaSs0MzZWWStjODNFSnVFZHMxNnBFbnlYQUthbWN6d2tIbk8y?=
 =?utf-8?B?RG5SZjA0Q0YzbDAxNE1jSG9uL0tkaUdsZUVwQjg5M2tZRTJRbEJldjNNbENw?=
 =?utf-8?B?YUJzMjUzVWFGYzZaWnBGeGVzMUp4MjFIRWZMV0ZtZThpYlZ1bEZuTlUwbDhI?=
 =?utf-8?B?N1NqN0pHNUNldG94OHh5NzNRTzczYWhDZGJENUJuWE5aVlVLVGh2REt0enVU?=
 =?utf-8?B?Wm90cElsKzF2TUhUbmIzeTVKRTAzYUZrSy80eCt5dmIwaXFMRGQvQzcrcXZy?=
 =?utf-8?B?V1dUYUFHZHIxSThJVG85aVg3T0JYbFExUmZaYzJEcHl1bTdqYnlIR0VwMHd2?=
 =?utf-8?B?bzRIaEZ0bGhWSG5HNnh3YURvME14Qk0rdkF1ajFDd203cHo0QUEwQzRHdnFC?=
 =?utf-8?B?RXcwQ3pJcTRSMUY1UkEvaE12N1J0Umd2Tm5lLzYwRjlxM1YrdEV0UjZ3Nkkw?=
 =?utf-8?B?cVRvQkJ1SnU1UEZXY2VhZy9SSWdzQ1pyZEpiY0dlYjBXejROYi96enlkRVpp?=
 =?utf-8?B?cnB6QmMyNGRMRlJnUmkxNUZQZlJoNVVpOEpvODlaMWxBUVZNbTRWMVFHNGxL?=
 =?utf-8?B?c1lDZkoyS09Pb1lLL21jMVRuMWxxVXdPR3VFc2kra09tUUlGcmppN0FJc3Rz?=
 =?utf-8?B?eEtVVEdYUzNGR2w5L1RlOFYrK0Q4S0kzdjRIRjVmU2l5ZXM2ZVYxbUVXc2R3?=
 =?utf-8?B?a01PZnlodmh1OG9kd1RQOUJPK28wSUJMOE5ZVGY4bEJJN2QwdDNmV0xtSk5U?=
 =?utf-8?B?clVJbVdVS2ViM0NNenduTmRtdXlhMkZpNCtLWmxtcGxDMWtuclVaSDlsUHNX?=
 =?utf-8?B?SFUzaW05bGJtbFRFK2VmN2RTOElLM2xUTXRueHNXWUpTdFl5cUdRN0t4Vjgy?=
 =?utf-8?B?WERNMExkakg1Uk51RE5Wd2lEN1Y3ZlBzeERHVVoyK2NWWTVhSnA5KzFTdVFw?=
 =?utf-8?Q?/K7CfpcHxT//Gi1unPoWcsiLqgfAACWTO77oLRq?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 819bd508-0a21-4dab-3112-08d962ed119f
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2021 08:40:59.3411
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 8cLFUJPexs7DX1fI7c6U3Ye9IHA9ZHYh7hTr5hTobG7YPyZnxZAaSUjlpsKkmRABY5ZGUBi9SWhJusl8SgNnTQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6176

On 18.08.2021 17:09, Ian Jackson wrote:
> We haven't formally appointed a release manager for Xen 4.16.
> I was approached and asked if I would do the job, and said yes,
> but I think things got stuck there.  Taking this as a prima
> faciae indication of community confidence, I hereby volunteer to
> take on this role.
> 
> And, I would like to tentatively propose the following schedule and
> policies for Xen 4.16.  This is based on the 4.15 schedule with some
> tweaks, and is intended to align the ultimate date roughly with the
> 4.10 and 4.13 releases, which were also in early/mid December.
> 
> I suggest we use the Lazy Consensus procedure to decide on the Release
> Manager appointment, starting now (since we're already rather late).
> In particular, if you feel someone else would make a better release
> manager, please say so right away.
> 
> For the release schedule, assuming I'm the RM, please send comments
> ASAP and in any case by noon UTC on Wednesday the 25th of August.  I
> hope to finalise the schedule then.
> 
> ** DRAFT **
> 
>   Friday 17th September                 Last posting date
> 
>     Patches adding new features should be posted to the mailing list
>     by this cate, although perhaps not in their final version.
>     (3 weeks)

Without meaning this to express any opposition to the proposed schedule,
I'd like to point out that as of mid July there's been unusually little
changes getting committed. The above leaves less than a month (plus the
3 weeks of until feature freeze); at the present rate this would mean
about no further (larger) changes.

> If as a feature proponent you feel your feature is at risk and there
> is something the Xen Project could do to help, please consult me or
> ask here on xen-devel.  In such situations please reach out earlier
> rather than later.  I will try to put you in touch with people who may
> be able to help.

Code review looks to be even more of a bottleneck than it already used
to be. Some of the series I did post long ago (and hence would never
have thought could be at risk to miss the next release) are still
blocked on not getting reviewed, or having got partially reviewed and
then things ended up stalled. Since even pings didn't lead anywhere,
I'm afraid I'm out of ideas, and I will admit that for some items I've
simply not seen any point anymore in pinging. For a few patches I
didn't even think there was any point posting them in the first place
for this very reason. Examples (totaling to about 70 pending patches,
and not naming any further individual ones):

xvmalloc() / x86 xstate area / x86 CPUID / AMX+XFD
x86: memcpy() / memset() (non-)ERMS flavors plus fallout
x86: more or less log-dirty related improvements
x86/mm: large parts of P2M code and struct p2m_domain are HVM-only
x86emul: a few small steps towards disintegration

(I also have almost 20 patches submission of which is blocked by the
presently pending batch of XSAs. Their handling may also get tight
at the current rate of progress.)

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 08:50:03 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 08:50:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168443.307541 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGdkN-0002G6-Fb; Thu, 19 Aug 2021 08:49:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168443.307541; Thu, 19 Aug 2021 08:49:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGdkN-0002Fz-CA; Thu, 19 Aug 2021 08:49:59 +0000
Received: by outflank-mailman (input) for mailman id 168443;
 Thu, 19 Aug 2021 08:49:57 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qlai=NK=lst.de=hch@srs-us1.protection.inumbo.net>)
 id 1mGdkL-0002Ft-FG
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 08:49:57 +0000
Received: from verein.lst.de (unknown [213.95.11.211])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 6cfeb4ae-00ca-11ec-a5c9-12813bfff9fa;
 Thu, 19 Aug 2021 08:49:55 +0000 (UTC)
Received: by verein.lst.de (Postfix, from userid 2407)
 id 9B4F767357; Thu, 19 Aug 2021 10:49:51 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6cfeb4ae-00ca-11ec-a5c9-12813bfff9fa
Date: Thu, 19 Aug 2021 10:49:51 +0200
From: Christoph Hellwig <hch@lst.de>
To: Tianyu Lan <ltykernel@gmail.com>
Cc: Christoph Hellwig <hch@lst.de>, kys@microsoft.com,
	haiyangz@microsoft.com, sthemmin@microsoft.com, wei.liu@kernel.org,
	decui@microsoft.com, tglx@linutronix.de, mingo@redhat.com,
	bp@alien8.de, x86@kernel.org, hpa@zytor.com,
	dave.hansen@linux.intel.com, luto@kernel.org, peterz@infradead.org,
	konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, jgross@suse.com,
	sstabellini@kernel.org, joro@8bytes.org, will@kernel.org,
	davem@davemloft.net, kuba@kernel.org, jejb@linux.ibm.com,
	martin.petersen@oracle.com, arnd@arndb.de, m.szyprowski@samsung.com,
	robin.murphy@arm.com, thomas.lendacky@amd.com,
	brijesh.singh@amd.com, ardb@kernel.org, Tianyu.Lan@microsoft.com,
	pgonda@google.com, martin.b.radev@gmail.com,
	akpm@linux-foundation.org, kirill.shutemov@linux.intel.com,
	rppt@kernel.org, sfr@canb.auug.org.au, saravanand@fb.com,
	krish.sadhukhan@oracle.com, aneesh.kumar@linux.ibm.com,
	xen-devel@lists.xenproject.org, rientjes@google.com,
	hannes@cmpxchg.org, tj@kernel.org, michael.h.kelley@microsoft.com,
	iommu@lists.linux-foundation.org, linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org, netdev@vger.kernel.org,
	vkuznets@redhat.com, parri.andrea@gmail.com, dave.hansen@intel.com
Subject: Re: [PATCH V3 10/13] x86/Swiotlb: Add Swiotlb bounce buffer remap
 function for HV IVM
Message-ID: <20210819084951.GA10461@lst.de>
References: <20210809175620.720923-1-ltykernel@gmail.com> <20210809175620.720923-11-ltykernel@gmail.com> <20210812122741.GC19050@lst.de> <d18ae061-6fc2-e69e-fc2c-2e1a1114c4b4@gmail.com> <890e5e21-714a-2db6-f68a-6211a69bebb9@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <890e5e21-714a-2db6-f68a-6211a69bebb9@gmail.com>
User-Agent: Mutt/1.5.17 (2007-11-01)

On Mon, Aug 16, 2021 at 10:50:26PM +0800, Tianyu Lan wrote:
> Hi Christoph:
>       Sorry to bother you.Please double check with these two patches
> " [PATCH V3 10/13] x86/Swiotlb: Add Swiotlb bounce buffer remap function 
> for HV IVM" and "[PATCH V3 09/13] DMA: Add dma_map_decrypted/dma_
> unmap_encrypted() function".

Do you have a git tree somewhere to look at the whole tree?

>       The swiotlb bounce buffer in the isolation VM are allocated in the
> low end memory and these memory has struct page backing. All dma address
> returned by swiotlb/DMA API are low end memory and this is as same as what 
> happen in the traditional VM.

Indeed.

>       The API dma_map_decrypted() introduced in the patch 9 is to map the 
> bounce buffer in the extra space and these memory in the low end space are 
> used as DMA memory in the driver. Do you prefer these APIs
> still in the set_memory.c? I move the API to dma/mapping.c due to the
> suggested name arch_dma_map_decrypted() in the previous mail
> (https://lore.kernel.org/netdev/20210720135437.GA13554@lst.de/).

Well, what would help is a clear description of the semantics.


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 09:11:54 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 09:11:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168450.307552 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGe5T-0005WI-B5; Thu, 19 Aug 2021 09:11:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168450.307552; Thu, 19 Aug 2021 09:11:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGe5T-0005WB-7G; Thu, 19 Aug 2021 09:11:47 +0000
Received: by outflank-mailman (input) for mailman id 168450;
 Thu, 19 Aug 2021 09:11:46 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/7+2=NK=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mGe5S-0005W5-6r
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 09:11:46 +0000
Received: from smtp-out1.suse.de (unknown [195.135.220.28])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 79329b3e-00cd-11ec-a5cb-12813bfff9fa;
 Thu, 19 Aug 2021 09:11:45 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 14CD521BDD;
 Thu, 19 Aug 2021 09:11:44 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id B7E8E1340C;
 Thu, 19 Aug 2021 09:11:43 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id r5fHKk8gHmE8JgAAGKfGzw
 (envelope-from <jgross@suse.com>); Thu, 19 Aug 2021 09:11: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: 79329b3e-00cd-11ec-a5cb-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1629364304; 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=5d4iIB0YG1Q2hWgNlSdl1akO53LgRUYySs/vk80Xn1E=;
	b=tOccwLs57K0bVzPo3j9bruI3oVhLNMvFX4PLM4rY+te0SEJ/eFBlKrgcBl/lC91LfSSZzX
	6h5pYcB5+wUIDjZGCZDosSM+89Fx86KT2c62eeEeOBmX32YXNjgILf6TZ377Xm/kNQlPAp
	PBQOiHmcprHI6mTj585g935nUcIDVFs=
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>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Anthony Perard <anthony.perard@citrix.com>,
 Marek Marczykowski <marmarek@invisiblethingslab.com>
References: <0bebfe8c-6897-dc8b-7fe0-9127d4996eb8@suse.com>
 <4b68233b-259c-3308-3292-82e991e1e108@suse.com>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH v2 02/13] libxc: split xc_logdirty_control() from
 xc_shadow_control()
Message-ID: <7284e7d0-99cc-e35d-2d44-46e7a3132498@suse.com>
Date: Thu, 19 Aug 2021 11:11:43 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <4b68233b-259c-3308-3292-82e991e1e108@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="43B1P5PSPfewMbPCclw4YdyC2HZcr0FaY"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--43B1P5PSPfewMbPCclw4YdyC2HZcr0FaY
Content-Type: multipart/mixed; boundary="3ieqkwsXAUlMLWqSzM3vZ4wqjZxzr95KD";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Anthony Perard <anthony.perard@citrix.com>,
 Marek Marczykowski <marmarek@invisiblethingslab.com>
Message-ID: <7284e7d0-99cc-e35d-2d44-46e7a3132498@suse.com>
Subject: Re: [PATCH v2 02/13] libxc: split xc_logdirty_control() from
 xc_shadow_control()
References: <0bebfe8c-6897-dc8b-7fe0-9127d4996eb8@suse.com>
 <4b68233b-259c-3308-3292-82e991e1e108@suse.com>
In-Reply-To: <4b68233b-259c-3308-3292-82e991e1e108@suse.com>

--3ieqkwsXAUlMLWqSzM3vZ4wqjZxzr95KD
Content-Type: multipart/mixed;
 boundary="------------A5D1C8DF2512E6DE871117B5"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------A5D1C8DF2512E6DE871117B5
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 05.07.21 17:12, Jan Beulich wrote:
> For log-dirty operations a 64-bit field is being truncated to become an=

> "int" return value. Seeing the large number of arguments the present
> function takes, reduce its set of parameters to that needed for all
> operations not involving the log-dirty bitmap, while introducing a new
> wrapper for the log-dirty bitmap operations. This new function in turn
> doesn't need an "mb" parameter, but has a 64-bit return type. (Using th=
e
> return value in favor of a pointer-type parameter is left as is, to
> disturb callers as little as possible.)
>=20
> While altering xc_shadow_control() anyway, also adjust the types of the=

> last two of the remaining parameters.
>=20
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> Acked-by: Christian Lindig <christian.lindig@citrix.com>
> ---
> v2: Avoid new use of DECLARE_DOMCTL. Re-base over error handling fix to=

>      libxl__arch_domain_create().
> ---
> I wonder whether we shouldn't take the opportunity and also rename
> xc_shadow_control() to, say, xc_paging_control(), matching the layer
> above the HAP/shadow distinction in the hypervisor.
>=20
> --- a/tools/include/xenctrl.h
> +++ b/tools/include/xenctrl.h
> @@ -885,11 +885,15 @@ typedef struct xen_domctl_shadow_op_stat
>   int xc_shadow_control(xc_interface *xch,
>                         uint32_t domid,
>                         unsigned int sop,
> -                      xc_hypercall_buffer_t *dirty_bitmap,
> -                      unsigned long pages,
> -                      unsigned long *mb,
> -                      uint32_t mode,
> -                      xc_shadow_op_stats_t *stats);
> +                      unsigned int *mb,
> +                      unsigned int mode);
> +long long xc_logdirty_control(xc_interface *xch,
> +                              uint32_t domid,
> +                              unsigned int sop,
> +                              xc_hypercall_buffer_t *dirty_bitmap,
> +                              unsigned long pages,
> +                              unsigned int mode,
> +                              xc_shadow_op_stats_t *stats);
>  =20
>   int xc_sched_credit_domain_set(xc_interface *xch,
>                                  uint32_t domid,
> --- a/tools/libs/ctrl/xc_domain.c
> +++ b/tools/libs/ctrl/xc_domain.c
> @@ -650,25 +650,49 @@ int xc_watchdog(xc_interface *xch,
>   int xc_shadow_control(xc_interface *xch,
>                         uint32_t domid,
>                         unsigned int sop,
> -                      xc_hypercall_buffer_t *dirty_bitmap,
> -                      unsigned long pages,
> -                      unsigned long *mb,
> -                      uint32_t mode,
> -                      xc_shadow_op_stats_t *stats)
> +                      unsigned int *mb,
> +                      unsigned int mode)
>   {
>       int rc;
>       DECLARE_DOMCTL;
> -    DECLARE_HYPERCALL_BUFFER_ARGUMENT(dirty_bitmap);
>  =20
>       memset(&domctl, 0, sizeof(domctl));
>  =20
>       domctl.cmd =3D XEN_DOMCTL_shadow_op;
>       domctl.domain =3D domid;
>       domctl.u.shadow_op.op     =3D sop;

Shouldn't you verify that sop is not one of the operations now
handled by xc_logdirty_control()?

> -    domctl.u.shadow_op.pages  =3D pages;
>       domctl.u.shadow_op.mb     =3D mb ? *mb : 0;
>       domctl.u.shadow_op.mode   =3D mode;
> -    if (dirty_bitmap !=3D NULL)
> +
> +    rc =3D do_domctl(xch, &domctl);
> +
> +    if ( mb )
> +        *mb =3D domctl.u.shadow_op.mb;
> +
> +    return rc;
> +}
> +
> +long long xc_logdirty_control(xc_interface *xch,
> +                              uint32_t domid,
> +                              unsigned int sop,
> +                              xc_hypercall_buffer_t *dirty_bitmap,
> +                              unsigned long pages,
> +                              unsigned int mode,
> +                              xc_shadow_op_stats_t *stats)
> +{
> +    int rc;
> +    struct xen_domctl domctl =3D {
> +        .cmd         =3D XEN_DOMCTL_shadow_op,
> +        .domain      =3D domid,
> +        .u.shadow_op =3D {
> +            .op    =3D sop,

And same here the other way round: sop should really only be one of
XEN_DOMCTL_SHADOW_OP_CLEAN or XEN_DOMCTL_SHADOW_OP_PEEK.

With that fixed you can add my:

Reviewed-by: Juergen Gross <jgross@suse.com>


Juergen

--------------A5D1C8DF2512E6DE871117B5
Content-Type: application/pgp-keys;
 name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Transfer-Encoding: quoted-printable
Content-Description: OpenPGP public key
Content-Disposition: attachment;
 filename="OpenPGP_0xB0DE9DD628BF132F.asc"

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOBy=
cWx
w3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJvedYm8O=
f8Z
d621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y=
9bf
IhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xq=
G7/
377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR=
3Jv
c3MgPGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsEFgIDA=
QIe
AQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4FUGNQH2lvWAUy+dnyT=
hpw
dtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3TyevpB0CA3dbBQp0OW0fgCetToGIQrg0=
MbD
1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbv=
oPH
Z8SlM4KWm8rG+lIkGurqqu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v=
5QL
+qHI3EIPtyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVyZ=
2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJCAcDAgEGFQgCC=
QoL
BBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4RF7HoZhPVPogNVbC4YA6lW7Dr=
Wf0
teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz78X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC=
/nu
AFVGy+67q2DH8As3KPu0344TBDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0Lh=
ITT
d9jLzdDad1pQSToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLm=
XBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkMnQfvUewRz=
80h
SnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMBAgAjBQJTjHDXAhsDBwsJC=
AcD
AgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJn=
FOX
gMLdBQgBlVPO3/D9R8LtF9DBAFPNhlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1=
jnD
kfJZr6jrbjgyoZHiw/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0=
N51
N5JfVRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwPOoE+l=
otu
fe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK/1xMI3/+8jbO0tsn1=
tqS
EUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuZGU+wsB5BBMBAgAjBQJTjHDrA=
hsD
BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3=
g3O
ZUEBmDHVVbqMtzwlmNC4k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5=
dM7
wRqzgJpJwK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu5=
D+j
LRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzBTNh30FVKK1Evm=
V2x
AKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37IoN1EblHI//x/e2AaIHpzK5h88N=
Eaw
QsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpW=
nHI
s98ndPUDpnoxWQugJ6MpMncr0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZR=
wgn
BC5mVM6JjQ5xDk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNV=
bVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mmwe0icXKLk=
pEd
IXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0Iv3OOImwTEe4co3c1mwARA=
QAB
wsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMvQ/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEw=
Tbe
8YFsw2V/Buv6Z4Mysln3nQK5ZadD534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1=
vJz
Q1fOU8lYFpZXTXIHb+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8=
VGi
wXvTyJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqcsuylW=
svi
uGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5BjR/i1DG86lem3iBDX=
zXs
ZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------A5D1C8DF2512E6DE871117B5--

--3ieqkwsXAUlMLWqSzM3vZ4wqjZxzr95KD--

--43B1P5PSPfewMbPCclw4YdyC2HZcr0FaY
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmEeIE8FAwAAAAAACgkQsN6d1ii/Ey86
ewf8DDj1mcZyLcKS6+OjD323aoI9KAaKe64Zh5nZ8zSP0lozgAYl6MVECuSHrcIzkD+nIB1etcUN
4gcQCcpkYjarg7oewbFuVpyYtBJiVVEQEJLGY3qDPNBdAbFHrrYZzH3NPY+suXzcNfzoe3KrJ47b
MhvA8U9Aca9GIhYlVyCzk21l0MEgPhFPvVJe0oQykZ9KQfQNBUNS5XCUoVJJwzFkyG58dE6mN5fm
YG7Tswg/ylmrP1ju+rvsll4vXXk5VkvfXaOBQO1sCyO7MXz1Ws1fL966p7PSWxVw+OW5CJLjQknw
f1oCn4S7EhCcCmOa69BVwUe+uBwi5MpOhxvUhVIlUw==
=LrMv
-----END PGP SIGNATURE-----

--43B1P5PSPfewMbPCclw4YdyC2HZcr0FaY--


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 09:16:26 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 09:16:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168456.307563 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGe9y-0006Ei-0v; Thu, 19 Aug 2021 09:16:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168456.307563; Thu, 19 Aug 2021 09:16:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGe9x-0006Eb-Ts; Thu, 19 Aug 2021 09:16:25 +0000
Received: by outflank-mailman (input) for mailman id 168456;
 Thu, 19 Aug 2021 09:16: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 1mGe9w-0006ER-DR; Thu, 19 Aug 2021 09:16: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 1mGe9w-0003Ls-6A; Thu, 19 Aug 2021 09:16: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 1mGe9v-0006vL-Sh; Thu, 19 Aug 2021 09:16:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mGe9v-000384-SE; Thu, 19 Aug 2021 09:16: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=pnuHce/fssJXYV4+tDKPkoK95lvN93K372dNgcDcGek=; b=p3bHN6tWUac8Fn0emXiUVTJP6H
	5Xy/X2nI0L8eaz/QwqqdXAoFWywmr577rBoTQAoZIuln139PHi+OCQT4Z0vDTT9GzaboRV5NY25vo
	XfuKIuLcvIpq1QAqz96jDDuwxjTBUzWjDyYFtn3Yn8lYsfeKXxpOj8/erH0BqJKu6+O0=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164240-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 164240: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:regression
    linux-5.4:test-amd64-amd64-amd64-pvgrub:debian-di-install:fail:regression
    linux-5.4:test-amd64-amd64-examine:memdisk-try-append:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:allowable
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:allowable
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check: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-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt: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-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1: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-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-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-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-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=c15b830f7c1cafd34035a46485716933f66ab753
X-Osstest-Versions-That:
    linux=e350cd02e293be9a6b93398b2d3ff1edf7695ab2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 19 Aug 2021 09:16:23 +0000

flight 164240 linux-5.4 real [real]
flight 164250 linux-5.4 real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/164240/
http://logs.test-lab.xenproject.org/osstest/logs/164250/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-i386-pvgrub 12 debian-di-install        fail REGR. vs. 164131
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install       fail REGR. vs. 164131

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-examine      4 memdisk-try-append  fail pass in 164250-retest

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     20 guest-localmigrate/x10   fail REGR. vs. 164131
 test-armhf-armhf-xl-rtds    18 guest-start/debian.repeat fail REGR. vs. 164131

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164131
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 164131
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 164131
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164131
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164131
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164131
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 164131
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164131
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 164131
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164131
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164131
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-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-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-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-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                c15b830f7c1cafd34035a46485716933f66ab753
baseline version:
 linux                e350cd02e293be9a6b93398b2d3ff1edf7695ab2

Last test of basis   164131  2021-08-08 07:11:59 Z   11 days
Failing since        164167  2021-08-12 11:47:56 Z    6 days   12 attempts
Testing same since   164240  2021-08-18 14:18:28 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alan Stern <stern@rowland.harvard.edu>
  Alex Xu (Hello71) <alex_y_xu@yahoo.ca>
  Alexander Aring <aahringo@redhat.com>
  Alexander Monakov <amonakov@ispras.ru>
  Alexander Tsoy <alexander@tsoy.me>
  Alexandre Courbot <gnurou@gmail.com>
  Alexei Starovoitov <ast@kernel.org>
  Anand Jain <anand.jain@oracle.com>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Anirudh Rayabharam <mail@anirudhrb.com>
  Antoine Tenart <atenart@kernel.org>
  Arnd Bergmann <arnd@arndb.de>
  Aya Levin <ayal@nvidia.com>
  Babu Moger <Babu.Moger@amd.com>
  Bartosz Golaszewski <bgolaszewski@baylibre.com>
  Ben Dai <ben.dai@unisoc.com>
  Ben Hutchings <ben.hutchings@mind.be>
  Bixuan Cui <cuibixuan@huawei.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Boris Ostrovsky <boris.ostrovsky@oracle.com>
  Borislav Petkov <bp@suse.de>
  Brian Norris <briannorris@chromium.org>
  Camille Lu <camille.lu@hpe.com>
  Catalin Marinas <catalin.marinas@arm.com>
  Chanho Park <chanho61.park@samsung.com>
  chihhao.chen <chihhao.chen@mediatek.com>
  Chris Lesiak <chris.lesiak@licor.com>
  Christian Hewitt <christianshewitt@gmail.com>
  Christoph Hellwig <hch@lst.de>
  Colin Ian King <colin.king@canonical.com>
  Dan Carpenter <dan.carpenter@oracle.com>
  Dan Williams <dan.j.williams@intel.com>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniele Palmas <dnlplm@gmail.com>
  Dario Binacchi <dariobin@libero.it>
  David Bauer <mail@david-bauer.net>
  David Lechner <david@lechnology.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  DENG Qingfang <dqfext@gmail.com>
  Dmitry Osipenko <digetx@gmail.com>
  Dominik Brodowski <linux@dominikbrodowski.net>
  Dongliang Mu <mudongliangabcd@gmail.com>
  Eero Lehtinen <debiangamer2@gmail.com>
  Eric Dumazet <edumazet@google.com>
  Fei Qin <fei.qin@corigine.com>
  Felipe Balbi <balbi@kernel.org>
  Filipe Manana <fdmanana@suse.com>
  Florian Eckert <fe@dev.tdt.de>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Gregory CLEMENT <gregory.clement@bootlin.com>
  Guenter Roeck <linux@roeck-us.net>
  Guido Kiener <guido.kiener@rohde-schwarz.com>
  Guoqing Jiang <jiangguoqing@kylinos.cn>
  H. Nikolaus Schaller <hns@goldelico.com>
  Hangbin Liu <liuhangbin@gmail.com>
  Hans de Goede <hdegoede@redhat.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Hervé Codina <herve.codina@bootlin.com>
  Hui Su <suhui@zeku.com>
  Hulk Robot <hulkrobot@huawei.com>
  Ilya Dryomov <idryomov@gmail.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jan Kara <jack@suse.cz>
  Jarkko Sakkinen <jarkko@kernel.org>
  Jeff Layton <jlayton@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jens Wiklander <jens.wiklander@linaro.org>
  Johan Hovold <johan@kernel.org>
  Johannes Berg <johannes.berg@intel.com>
  Jon Hunter <jonathanh@nvidia.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Juergen Borleis <jbe@pengutronix.de>
  Kees Cook <keescook@chromium.org>
  Kieran Bingham <kieran.bingham@ideasonboard.com>
  Kim Phillips <kim.phillips@amd.com>
  Konrad Jankowski <konrad0.jankowski@intel.com>
  Lai Jiangshan <laijs@linux.alibaba.com>
  Letu Ren <fantasquex@gmail.com>
  Li Manyi <limanyi@uniontech.com>
  Liam Merwick <liam.merwick@oracle.com>
  Like Xu <likexu@tencent.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Longfang Liu <liulongfang@huawei.com>
  Longpeng(Mike) <longpeng2@huawei.com>
  Louis Peens <louis.peens@corigine.com>
  Lu Baolu <baolu.lu@linux.intel.com>
  Luis Chamberlain <mcgrof@kernel.org>
  Luis Henriques <lhenriques@suse.de>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Luke D Jones <luke@ljones.dev>
  Maciej W. Rozycki <macro@orcam.me.uk>
  Marc Zyngier <maz@kernel.org>
  Marco Elver <elver@google.com>
  Marek Szyprowski <m.szyprowski@samsung.com>
  Marek Vasut <marex@denx.de>
  Mario Kleiner <mario.kleiner.de@gmail.com>
  Mark Brown <broonie@kernel.org>
  Mark Rutland <mark.rutland@arm.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Masami Hiramatsu <mhiramat@kernel.org>
  Matt Ranostay <matt.ranostay@konsulko.com>
  Matt Turner <mattst88@gmail.com>
  Matteo Croce <mcroce@microsoft.com>
  Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
  Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Maxim Devaev <mdevaev@gmail.com>
  Maxim Levitsky <mlevitsk@redhat.com>
  Maxime Chevallier <maxime.chevallier@bootlin.com>
  Maximilian Heyne <mheyne@amazon.de>
  Md Fahad Iqbal Polash <md.fahad.iqbal.polash@intel.com>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael Tretter <m.tretter@pengutronix.de>
  Miklos Szeredi <mszeredi@redhat.com>
  Nathan Chancellor <nathan@kernel.org>
  Neal Cardwell <ncardwell@google.com>
  Neil Armstrong <narmstrong@baylibre.com>
  Nikolay Aleksandrov <nikolay@nvidia.com>
  Nikolay Borisov <nborisov@suse.com>
  Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Pali Rohár <pali@kernel.org>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Machek (CIP) <pavel@denx.de>
  Pavel Skripkin <paskripkin@gmail.com>
  Pawel Laszczak <pawell@cadence.com>
  Peter Chen <peter.chen@kernel.org>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Phil Elwell <phil@raspberrypi.com>
  Philip Milev <milev.philip@gmail.com>
  Prarit Bhargava <prarit@redhat.com>
  Pu Lehui <pulehui@huawei.com>
  Qiang.zhang <qiang.zhang@windriver.com>
  Qu Wenruo <wqu@suse.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Randy Dunlap <rdunlap@infradead.org>
  Reinette Chatre <reinette.chatre@intel.com>
  Richard Fitzgerald <rf@opensource.cirrus.com>
  Roi Dayan <roid@nvidia.com>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Saeed Mahameed <saeedm@nvidia.com>
  Saeed Mirzamohammadi <saeed.mirzamohammadi@oracle.com>
  Sasha Levin <sashal@kernel.org>
  Sean Christopherson <seanjc@google.com>
  Sean Young <sean@mess.org>
  Sebastian Andrzej Siewior <bigeasy@linutronix.de>
  Shawn Guo <shawnguo@kernel.org>
  Shreyansh Chouhan <chouhan.shreyansh630@gmail.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Song Liu <song@kernel.org>
  Stas Sergeev <stsp2@yandex.ru>
  Stefan Schmidt <stefan@datenfreihafen.org>
  Stephen Boyd <sboyd@kernel.org>
  Steve Bennett <steveb@workware.net.au>
  Steven Rostedt (VMware) <rostedt@goodmis.org>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Sumit Garg <sumit.garg@linaro.org>
  syzbot+de271708674e2093097b@syzkaller.appspotmail.com
  Takashi Iwai <tiwai@suse.de>
  Takeshi Misawa <jeliantsurux@gmail.com>
  Tejun Heo <tj@kernel.org>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Theodore Ts'o <tytso@mit.edu>
  Thierry Reding <treding@nvidia.com>
  Thomas Gleixner <tglx@linutronix.de>
  Tony Lindgren <tony@atomide.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Tyler Hicks <tyhicks@linux.microsoft.com>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Vinod Koul <vkoul@kernel.org>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Wang Hai <wanghai38@huawei.com>
  Wei Shuyu <wsy@dogben.com>
  Wesley Cheng <wcheng@codeaurora.org>
  Will Deacon <will@kernel.org>
  Willy Tarreau <w@1wt.eu>
  Wolfram Sang <wsa@kernel.org>
  Xiangyang Zhang <xyz.sun.ok@gmail.com>
  Xie Yongji <xieyongji@bytedance.com>
  Xin Long <lucien.xin@gmail.com>
  Yajun Deng <yajun.deng@linux.dev>
  Yang Yingliang <yangyingliang@huawei.com>
  Yu Kuai <yukuai3@huawei.com>
  YueHaibing <yuehaibing@huawei.com>
  Zheyu Ma <zheyuma97@gmail.com>
  Zhiyong Tao <zhiyong.tao@mediatek.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 5646 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 09:18:24 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 09:18:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168461.307577 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGeBo-0006sd-Fg; Thu, 19 Aug 2021 09:18:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168461.307577; Thu, 19 Aug 2021 09: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 1mGeBo-0006sW-BH; Thu, 19 Aug 2021 09:18:20 +0000
Received: by outflank-mailman (input) for mailman id 168461;
 Thu, 19 Aug 2021 09:18:18 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KGBc=NK=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mGeBm-0006sQ-OB
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 09:18:18 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 633bfc54-00ce-11ec-a5ce-12813bfff9fa;
 Thu, 19 Aug 2021 09:18:17 +0000 (UTC)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2112.outbound.protection.outlook.com [104.47.18.112])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-36-fNGtMgJMNKqAI71Ej0JK7A-1; Thu, 19 Aug 2021 11:18:15 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB7087.eurprd04.prod.outlook.com (2603:10a6:800:12a::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16; Thu, 19 Aug
 2021 09:18:13 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Thu, 19 Aug 2021
 09:18:13 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FR0P281CA0047.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:48::18) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.11 via Frontend Transport; Thu, 19 Aug 2021 09: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: 633bfc54-00ce-11ec-a5ce-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629364696;
	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=eNkU/PCHKhwQV6NsClqvI7IV6mjqRHpXJ7Ye0upecUk=;
	b=CdV9ydkpis0rDPvcnP1rvgc31RztfoLOmeQ1RmZxH+WG4FFy8JXYx9ar3nxQAjFBKsysOG
	nqRiF8bOx3+M1z0/74ssbw7uRqqOE6v6Y1l4ZZDvD+jWW3IswwiSPuZ2gCERYM771+WoIS
	9GyJqTIvcEiLzXBYoZi9RBqgR63Jqzk=
X-MC-Unique: fNGtMgJMNKqAI71Ej0JK7A-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KnFJubYXbWX9yN19aQ1OZqUmBT07fAlauMXeWP5TRn26Xg5j2dkftu1tsvYxSDDAPKl+sDjz5ESVy40wfdMbilaa0Et2Y+cj3V31DE+b9oaTMFqMIBhkT+vRn7fNi3BUiDTSRDAHV4wVOOCOtB85qqP4e0AzlwjzTQ+LMGKmYQmSUiRgJkIP0jLPU24KWyT2NMdOv0Wex5/+GeeowXVQp9snDpnTzLzMAMtfha9sFo2iu3atLZu3iWvxE74fKvnvliPyDa/7Z+BeY/hLQdv+CsFvv1XrLBKL9ECpam3zU7FXRVF4mqjE+K05pkghYkA1u8OEoRDlXctkmbagohaJ4g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eNkU/PCHKhwQV6NsClqvI7IV6mjqRHpXJ7Ye0upecUk=;
 b=Xsi5+Ip8Um3Tzu22uCAvsyb6CILEbmlQuuW7t4dJVGKo7J/QJoMwJFsCv1hp/1VXm+za0ttOrQ/bMhg4WOvvKKqLuwOBDiDvRqgQtjZgSo2tV3bcnP3hmXG04FvboYipGJeGuou5MJxyRh0XWdHLEJHxe/BX8TOveajoHPpEq34VcgITHs1n7uWSNC2fQxm5FomMd4axisTgixDF/pnzFgez4cTABUwfD8coHUo2BYeIikzhmyu+J9KiFf0idI44U86kQWe5OAinJTBfDazKs0g5NJCEpc5sR/kr6ICLRqVyLc/93cMZck0PGEr53QX8vxP7PTaoakjUg5OzL5ao8g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: Re: [PATCH] RFC: Version support policy
To: Ian Jackson <iwj@xenproject.org>
Cc: committers@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: <20210813113727.6028-1-iwj@xenproject.org>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <de32c6c4-5ad5-862e-3988-0e7310ec3ecb@suse.com>
Date: Thu, 19 Aug 2021 11:18:11 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210813113727.6028-1-iwj@xenproject.org>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0047.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::18) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4e1ac2ba-792f-4c79-e373-08d962f2454d
X-MS-TrafficTypeDiagnostic: VI1PR04MB7087:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB70878616CB3018444354C8B2B3C09@VI1PR04MB7087.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	laFtcWxe33i7UqMsh+T43864VdbxN8etvLaQ52xNIyY+VmFfOYn6qCxWqgTdPjR150+4Lcdg3BBqjDxcG2DNXQGHrZVoDSJUKokJk3UfIeeYuRWYLh6aRpEFFI67MwwVDZSomesWxsXwINd6nPup947TrH2NqqY4doNiceLbgSyn4tdl5Q5jNT6J8o+/whOSpQwIiMHmo31DEEPOhsmDTU2LDumllkhOr4/xtGqj7e5MqhQMgV+i2pjiwE5KudwMarnrD/H/zbzC1nZjcIOBghMmTmekK6mrjd/a90OWuGsx8UIjOLEDwx32OznmFnEL/rMFzqZLcP4Ej/nIbIfpauaA0rwjqjsoRpshuxYQuUSNOlEXkK+5ul8ydgPvUs0H8o9X7IhBwp6PYNwQTgkK/jq+XOlE5a8sUp1XtL00fSWmO589p/bZkorQce7cnyDlgwfH2zOo5IvL146DTNb+6uVbeJgcOTpPikOjwoTstga6BgtS9huSxDUyPQKbTw5OuC5ApbHTsWaxC3OxjuYmYMapuF1KWkJE1l1Jl/wr4axtf3yz1AlvHBUwbt12KWaOy6fes/9myAxZ3Fh67DcgZuTgMcOYKcEk3MufrkKILDbw80we4wQXTvmkK/M++7RnY8fCrRqeushJciEbNQuIgkgPhDChEgJvTcR3qOzPbF9W5fkcKMdwxI50DgplXnADNiyyP0BiYZ++9bnI6kTPdydP93X7iliqPajCVXHmN3g=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(376002)(366004)(136003)(396003)(39850400004)(16576012)(5660300002)(6916009)(186003)(54906003)(316002)(36756003)(66556008)(86362001)(2906002)(8936002)(66476007)(38100700002)(956004)(478600001)(2616005)(31686004)(6486002)(31696002)(4326008)(8676002)(66946007)(53546011)(26005)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K05oa2p1VTRzQ2ZTWWxqQ05tQlhTSWl6MFJVQ0doQUppUFNFMllPK2xpMCtB?=
 =?utf-8?B?ZUFBMG1YS1RJVUhJRThzL0NoU1JpZUcyQzM0WlcrVjRVYmNaWmRla3JHQlJM?=
 =?utf-8?B?a29YaTRDd0FnODg1YjI1dFhtaXBjZVJ6ME9adTlzcnFma3FBWUQycERzZzBn?=
 =?utf-8?B?eCtnak9oOXpNd1FOVHlSZ3pQczB2M0tMdVI2T2pYRFhZbThvR1ZuRE5kSG9D?=
 =?utf-8?B?ZW1INDRsT0g5T09RTWE3WlRtVlFxUVNBSFZZdmtaNjF6UFk2VFF6c0FlRkVi?=
 =?utf-8?B?ZWt0UWMvZCthbEYxdFNySVFQblhHakhUcyt5VmJlOHo3ZDcxeVJnT1FBUGo3?=
 =?utf-8?B?VkxVUGF0b2IwU2hpMUQ2anNFTkVrTnRvc2d6ZkpLZEZJMXdWUEZOcWtoMUdQ?=
 =?utf-8?B?eEVwZFBCZndKZ0JUYWNoa0pmbUxFWERMMVVCVm8wSTl4bFQ5d2FhcnFqZ2l2?=
 =?utf-8?B?UXBHYmxNY3J5RW15L3I3eUI0Z2dMR0lpb1lnVTB2TDNaTkpGNUxSRnBHMlYx?=
 =?utf-8?B?dUlFcnp0dTNxajZ5c3QwMDExek5raFBrNnY3MzlyNTBoVXV4TDRuL1JaRWl6?=
 =?utf-8?B?bXFFb0Foek5YdzNIcHBNU0JxODFTWmpnNFkrYWxlck9raE5vY0V4NFpEWTRM?=
 =?utf-8?B?TGVTeXRqUkZrMDlxYlJuaTNOYzRweUcxVWMxODNrWEFaZlQ3cjQzUXphZWRQ?=
 =?utf-8?B?THlBU282b3BuM2EvUW1iRmVmcHhmc3FpZ3poVlJ0ZlFaTXk4WkFWU2srVjBz?=
 =?utf-8?B?R2tHZXRTN2pJd1Jja0lFOThETjlsUzdhRlI2WG9jM2MzbGMzQzVRenhzV0NY?=
 =?utf-8?B?OGVIaVdRaTRLT3R3UkV4YzBLYzNnWG9vcDk5WHBiRlpKQmo2RmtRVFFmWUJ4?=
 =?utf-8?B?Slc4a3F4bS9mZ3RKMDNnbXduS1hkTWYyMnZtRnlBQURUR2F3Wkx1TzJGaFl4?=
 =?utf-8?B?YUU3MFpxd0FIT0ZuQlhNcndHTW85Rld1czVtRE9OUHppWG1GYUhNaUUzYW9p?=
 =?utf-8?B?aHlIdThZeWRQSTd4ODBpeG1yRkRtakw3YUY1WTM4SGxJRGVCVExrRFpMVG5O?=
 =?utf-8?B?QndrSEVSSzRpUWpNeUxBTGhVWnJGZVplNHpscUZVc2JrdlJReDVxdWFmRkMv?=
 =?utf-8?B?dm9nK09qNVVaMVJYcTM0MUViZkhTLzBraUMwdURnZ2NIeUVXRnhPMXFtQUky?=
 =?utf-8?B?ZEZ2Rk9vdVNraFU4OTV0N0ZUazY0WVlRN3hBWUIwYkgzOG8vakFnSkNMODYz?=
 =?utf-8?B?dTZSNDVmU3c5Uk1aNHNvMHNnK3EycXgyZk5Id1dpZkZYaGIwU01DanNJK0hK?=
 =?utf-8?B?UU5lZUxGa3EvZkhoTEJqMFRScVBZZ1J5cGM3eTlVamxNRlRETVJ0eDl5ZkNp?=
 =?utf-8?B?WkdWNDlnMEJyazV3Z2VGYXBoRllyT0R5TG1nWVdWOVo5ZHprbVZWTFVWc2w4?=
 =?utf-8?B?SFZBWGFHdXAzc0lCVW5OWDNUb29XRWVaMllQSmxmOVhGRSt2bjZ5RElUZHln?=
 =?utf-8?B?VTR2Q0wvV3h5YVlWTzhIZDMvUHNGWHZTbUs1M21ydC95bisyZHd2QWR6Ly95?=
 =?utf-8?B?clFHWm5Lcm5iZ3doOWN2U0d2NnM2M1hJMzZnVTJFMVduZjRCUkt6ZWg3eUN5?=
 =?utf-8?B?TW1hc0NYRFBLbUdINHhuYlpGNGpUTzg0RFVtL1QvZWFGSXFQWkRFWmduSkVr?=
 =?utf-8?B?TXhYekh5SERjSlUySlBrTHEwNnhJOTNJU2VDZExmeFlkVmFpUmRHZklwZ3Jz?=
 =?utf-8?Q?snLx5HPcIAqZ7394hjqG/QWdsuTGGfsHh7Ib7zp?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4e1ac2ba-792f-4c79-e373-08d962f2454d
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2021 09:18:13.5055
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9hj4vRVP/7VVvhV1CSvNAMBZWGTlsCcF9piHlzWrt9Pu/EapgFxmXYIh+PBzV/rG25+1LKV5KSZolv7mRbpu7A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7087

On 13.08.2021 13:37, Ian Jackson wrote:
> The current policy for minimum supported versions of tools, compilers,
> etc. is unsatisfactory: For many dependencies no minimum version is
> specified.  For those where a version is stated, updating it is a
> decision that has to be explicitly taken for that tool.

Considering your submission of this having been close to a glibc
version issue you and I have been discussing, I wonder whether
"etc" above includes library dependencies as well.

In any event the precise scope of what is meant to be covered is
quite important to me: There are affected entities that I'm happy
to replace on older distros (binutils, gcc). There are potentially
affected entities that I'm less happy to replace, but at the time
I did work my way through it for example for Python (to still be
able to build qemu, the community of which doesn't appear to care
at all to have their stuff buildable in older environments). The
point where I'd be really in trouble would be when base platform
libraries like glibc are required to be a certain minimum version:
I'd then be (potentially severely) restricted in what systems I
can actually test stuff on.

In addition I see a difference between actively breaking e.g.
building with older tool chains vs (like you have it in your
README adjustment) merely a statement about what we believe
things may work with, leaving room for people to fix issues with
their (older) environments, and such changes then not getting
rejected simply because of policy.

> The result is persistent debates over what is good to support,
> conducted in detail in the context of individual patches.
> 
> Decisions about support involve tradeoffs, often tradeoffs between the
> interests of different people.  Currently we don't have anything
> resembling a guideline.  The result is that the individual debates are
> inconclusive; and also, this framework does not lead to good feelings
> amongst participants.
> 
> I suggest instead that we adopt a date-based policy: we define a
> maximum *age* of dependencies that we will support.
> 
> The existing documentation about actually known working versions
> then becomes a practical consequence of that policy.
> 
> In this patch I propose a cutoff of 6 years.
> Obviously there will be debate about the precise value.

Indeed I consider this way too short. Purely as a personal (and
abstract) view (realizing this isn't really practical, and knowing
there are reasons why I'd actually like to see a bump of the
baseline) I'd prefer if there weren't minimum version requirements
at all (apart from maybe - along the lines of ...

> It will also be necessary to make exceptions, and/or to make different
> rules for different architectures.  In particular, new architectures,
> new configurations, or new features, may need an absolute earliest
> tooling date which is considerably less than the usual limit.

... this - a baseline determined when Xen became an open source
project). Advanced features may of course be dependent on better
capabilities, as long as there's a way to disable building or
use of these features.

While generally I find Marek's proposal better to tie the baseline
to distros of interest, in a way it only shifts the issue, I'm
afraid.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 09:25:07 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 09:25:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168468.307588 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGeII-0008Qc-A0; Thu, 19 Aug 2021 09:25:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168468.307588; Thu, 19 Aug 2021 09:25:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGeII-0008QV-6x; Thu, 19 Aug 2021 09:25:02 +0000
Received: by outflank-mailman (input) for mailman id 168468;
 Thu, 19 Aug 2021 09:25:01 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KGBc=NK=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mGeIH-0008QP-PA
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 09:25:01 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 76d33643-1fad-4bdb-b02e-ff23e44975e2;
 Thu, 19 Aug 2021 09:25:00 +0000 (UTC)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2052.outbound.protection.outlook.com [104.47.13.52]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-35-TbiRQefHP4uUiqlyRuom-w-3; Thu, 19 Aug 2021 11:24:58 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5598.eurprd04.prod.outlook.com (2603:10a6:803:e9::30)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Thu, 19 Aug
 2021 09:24:54 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Thu, 19 Aug 2021
 09:24:54 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0265.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1::13) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Thu, 19 Aug 2021 09:24: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: 76d33643-1fad-4bdb-b02e-ff23e44975e2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629365099;
	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=7BY5mujK6oakJzuPINu+TouyQhijSBqCM4VO16n3lzw=;
	b=c/A5AvuFGCRo9w8Uu9aYPUW2xIpfbOCH+usYR7bfMa/+nh3NAFOhbOLBJBzxfRoqUvR8c0
	w8eHIVebTsn6EdOy3im4VVz9yzPeD0kNqOkjgY2VpG0KH61b8lFyP0JYHoDpkK6oJrb2Rt
	735AUpz5SXWI7dsXA9tBzeBE90eDDC4=
X-MC-Unique: TbiRQefHP4uUiqlyRuom-w-3
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ekcBmccnX9ebjSbxpZOwhR9XSRi26Z0YZQb88eTIC/LhlRwiOCy+HsjBClQ8RYxWfIl9IPynp90vqfemzznGUYfrRRRzP7llgihvbee1HeEYzLEr8F9jZYcyPeRg+s0rNOWZqzot1YhcaXT8Y4BZq8SWQGFGov9bmMcH9R60WsZs62L8TNUixvp/LHUnpw99cB+j3Oat+ZGcOVBlcO8VmIpPEfc0bieTJFj0eDMxaW2VIa1WL9AsILfI4sJoatMyU0O9GGKWe3TP0cm2X9TAt0VxjByPo5c+86suRqacDgorlXNR6Q3WDHthyXNE6TSZDAcfd82DpF+bUIOUWTb8uQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7BY5mujK6oakJzuPINu+TouyQhijSBqCM4VO16n3lzw=;
 b=ImIRu+3skoAl+N4HZC5fo/5Z2ymcH9bWllY0Z2ob8dcMJT8ZoCMDo6KukJSskR+O+Uuis50aOJqR4r48TmROpw+DRf31zkZ4BIJyzd7RB9nxsWZ3Iqblzl6masAxp6H9lQTR1nMUQpwdoYv4FsVWMQhYaY6+kjJjCwT8PDo2F+Hfnauj9KuDCPVbOcSRsyUBmSE03AMga6qIhPsOM6EuqPWiHrSdCdFGVPJOFPqkTjnV8DgOHkllY6HlxKkEX87vwskzNZ/qasLX+HEuQJfcHxFBjeGuwTWqZgy6nghNOgmNBjwMiaTUujHwplYZ2V2DIpKAxcESmUd2rE+SPK3XWA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v2 02/13] libxc: split xc_logdirty_control() from
 xc_shadow_control()
To: Juergen Gross <jgross@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Anthony Perard <anthony.perard@citrix.com>,
 Marek Marczykowski <marmarek@invisiblethingslab.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <0bebfe8c-6897-dc8b-7fe0-9127d4996eb8@suse.com>
 <4b68233b-259c-3308-3292-82e991e1e108@suse.com>
 <7284e7d0-99cc-e35d-2d44-46e7a3132498@suse.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <eba44638-699e-36e4-afd5-5b78270baafa@suse.com>
Date: Thu, 19 Aug 2021 11:24:52 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <7284e7d0-99cc-e35d-2d44-46e7a3132498@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0265.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1::13) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 97b26f81-025c-406c-b426-08d962f33478
X-MS-TrafficTypeDiagnostic: VI1PR04MB5598:
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB55985D3B231DE3D6BA4FDA65B3C09@VI1PR04MB5598.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:7219;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bcBsEqokhJYEXG88rSOrTLhBEU/2uEMLk+zVq4gc3Xek5qGbInuaSUGtZ4jXJ3N+td2DlAJhnZ1p4ME2bKhmxxE+b5J5wshswkc4k9F9Bye0+lLn7Y45l60wPxY8TaVW3f1LgwXRyZ3ebN/FoLqD32g7b/M/lq7DRsbaJ2gYOZXUFF+lvIZ6JmC6QUAVuGb6U4XdSoF4Smz+9KPp53E8giu0/Guif1L2YmE5uX4taEt2YaI2qI+MtglUsc5kF6L0G8seUE2UWimXK8ljYYeam6M571IMHywPnRHewAEOHZliwUcAIwoQBmsaUEmwwf8TIDr5cL5RbLRw2j55CFPdtFmcF/1FgsF56O4YW59V1B+DsbXzR+EK06/AaIEivFkMTAW2Kbm8Yq7pKhc1WJW6ieUl7/s6UZVxZyhM4L+ElhepmOQn+1Y9LTKAtngMihGr0kLrBDtU/YWpKnw8QZhW2aiREek04U/wVCO1+JSeWiycGyOWEn45ZTj6wX/3nBJLDKx8rDleIT8B6wipdWWb6fnE9v01rDh6aTGg05L9XVJX91DiwG+DRZU55HerLvAdMTImzmd+eSN663/E4nNTfcvzNSR2oS5SSzQ+kUDeB1rnEfHkr07Xf2SD1gvcUS52nJYKzT1+MFCR5/JIG0azY2OW1BD9vRXB32yNGOXmKSAxzZeUIhYBVb92FR7uJzwq0YIRuO62Rw7CFEdu7JKuEcZGH4uplmZyrJMAYdzvMZw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(366004)(136003)(376002)(346002)(39850400004)(2616005)(8676002)(2906002)(66476007)(31696002)(83380400001)(6636002)(956004)(38100700002)(8936002)(86362001)(478600001)(31686004)(36756003)(6862004)(4326008)(5660300002)(66946007)(6486002)(26005)(186003)(54906003)(16576012)(37006003)(316002)(53546011)(66556008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?N0xQckRVbGtZYUEraCtrWTZNZ1FkQWRwcjZRKy9vK1hvRjBsUmtPNXZ6ZWlx?=
 =?utf-8?B?QzJSeS9uS3U4d1ZrL1A0cWZjbUJ4ZGlJRjMrNEtScm40TTA3K1RXSnhHd25n?=
 =?utf-8?B?bG1hempTSDZpMUI1STUwTmYxSWpWSFc0TFA3WVdqVnpOdHp6N3BUZUZlb2tw?=
 =?utf-8?B?NEdqUWhQWnZZK25qaHcxMzlkR25MTWsydUpQL0RwT05PWjg2VVdWRkVjRHMz?=
 =?utf-8?B?TTNzYm9nWlBRbzdtdHg4NXFjU082VEdGS2VTSHpHSTBqckcrcitzaWd6SkFi?=
 =?utf-8?B?dGFibUZGMmlYMVh0ZDIzb3VDSjhHR2NXcEFWYS9kaEtYNnUrN3B6NFlGTUJY?=
 =?utf-8?B?b3Y2WDdwNGxVWUh0MTBHSEVWYnc1ME1wUE1RVm4vS2lUNGVaUkIrQThtMHYz?=
 =?utf-8?B?MDhZeHZoTnVRclorUTZITUk0a3FHak5uWVJ2RGMrLzlPYlNsNkcwSGRxQS9q?=
 =?utf-8?B?bm1TSmZ3ZWpXYjdOTVB0MkkvdDZ1cHBtdDNXc2dvOEtaUnNQeG1tdW5vSFBJ?=
 =?utf-8?B?L2N6ZytCMjl3aVNKeGdaRDRhQWVPemtoNnc2NkRwcWMxemFmYXIwS251dGdW?=
 =?utf-8?B?TCtPWHhnb2l2YjFwelFrbmkxQ3FnTWJNRUQyaEVHV09jTjRxcnJWY2NwOW5s?=
 =?utf-8?B?aDBuMnl2VUh2L1FEdHJYY1RaeWpzWGhkZThoVHhYZktmWUU1Uk83SFUvZnlv?=
 =?utf-8?B?SnpmZVcxcDIxcWtrdjlzRzBqdTViYkY0K0FwQkdld3NaQW5aNVUxWkd6YnVI?=
 =?utf-8?B?SWN2eXc1clpXMUU2YzU3cEtkUEoxTWExQXk5blJwTU9xUTZLZEZzS3Q5aHhC?=
 =?utf-8?B?Sk8yTHNZN2REeUd4bTV6RzdpNnFqMDBuejYzQjFNem9tTDI4QklMVmJKNGN1?=
 =?utf-8?B?dWtjTngzaEdqN2Yza1J3ZFRtTk9hTDFMRWRqWEw4TGkrdzdIbERiSE9heURD?=
 =?utf-8?B?c2t2M0Q0M1JLS21GUTNySjJKMkp6K0Z0TFJHeDl6cjUwYk1neEk3dEtESHVP?=
 =?utf-8?B?YjBXQ1VCd2ZFR3k5b3pIVkVXMmhGYStLNlcvalYwd1RNTWdYRHI1TkVPVkFG?=
 =?utf-8?B?VDlzU2dua0xPTCsvMVVST2VOaWRmTXdTMmIyYnZEd243Mk4wTHN3bko3ejRI?=
 =?utf-8?B?T2JWa0tJYzZjS3RpSUpidWtVVlJORUZqdWQ1ZytEU1J6ZUI0UzFyNER3OXRJ?=
 =?utf-8?B?aFlrRmZkTTY1VytpeC80N3lhaU0wQ2RJSnFxemphYU8wMlE2ZTA1dzY5SExG?=
 =?utf-8?B?ZzlxaDZDTHdZbUpuMWFvOGxjQmZwSE13TVBzVER2SUUwWkhNWGgvbkxmclRp?=
 =?utf-8?B?VlVwSDUrWS9GMVN5UlZGTkZNN2dnRnBFU2lqeVdnbEpqUlR0SE1BOEpPbmcr?=
 =?utf-8?B?ZHpweGVaWnlzTk5jL0RPY0JsUWRFY3k2OGVxcmJkL3ZMNlhLRnFucDNIRlFS?=
 =?utf-8?B?SEVxR0ZEdmF5Wld3UUhhSXM2SmNIUXFPNk5SM3hWaGVUVmhYZ2YwZFUxSGlI?=
 =?utf-8?B?QnorVXFtV3A3T0RVUUNyeXdEei9Ia3JrRUFsK04vdWxtb2xrRmxNZzM3Nmw3?=
 =?utf-8?B?eGI1VHhYT1hUbWNOVFJLVE1UNjZoZTROb0FTV3gwcHVpc0ZZS3BtdUlPZWJF?=
 =?utf-8?B?ZEZoQzBSbzZQVDV1R2ZjcmR1SElYZ3g2OG1Xb1NhQ0lqTnlCK1ZUbG5keUJN?=
 =?utf-8?B?THA4eDJUemI3S3JJQ1dHczVUdVRUWmpWd0dxYkJib2lheEhDdzFtOVBHUHdS?=
 =?utf-8?Q?5BTpxegBlf4aU1WEwdq5J/ZDchFt3ncnU9HJ6Xd?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 97b26f81-025c-406c-b426-08d962f33478
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2021 09:24:54.7485
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: WirzJGM0m9A63uOIaXihCEDxoKfmZI1AuaswRNb/JEGrT/rvK43b96kGPo0gkRI+VbIFlEjdCCr5DTNsQaIqRw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5598

On 19.08.2021 11:11, Juergen Gross wrote:
> On 05.07.21 17:12, Jan Beulich wrote:
>> For log-dirty operations a 64-bit field is being truncated to become an
>> "int" return value. Seeing the large number of arguments the present
>> function takes, reduce its set of parameters to that needed for all
>> operations not involving the log-dirty bitmap, while introducing a new
>> wrapper for the log-dirty bitmap operations. This new function in turn
>> doesn't need an "mb" parameter, but has a 64-bit return type. (Using the
>> return value in favor of a pointer-type parameter is left as is, to
>> disturb callers as little as possible.)
>>
>> While altering xc_shadow_control() anyway, also adjust the types of the
>> last two of the remaining parameters.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> Acked-by: Christian Lindig <christian.lindig@citrix.com>
>> ---
>> v2: Avoid new use of DECLARE_DOMCTL. Re-base over error handling fix to
>>      libxl__arch_domain_create().
>> ---
>> I wonder whether we shouldn't take the opportunity and also rename
>> xc_shadow_control() to, say, xc_paging_control(), matching the layer
>> above the HAP/shadow distinction in the hypervisor.
>>
>> --- a/tools/include/xenctrl.h
>> +++ b/tools/include/xenctrl.h
>> @@ -885,11 +885,15 @@ typedef struct xen_domctl_shadow_op_stat
>>   int xc_shadow_control(xc_interface *xch,
>>                         uint32_t domid,
>>                         unsigned int sop,
>> -                      xc_hypercall_buffer_t *dirty_bitmap,
>> -                      unsigned long pages,
>> -                      unsigned long *mb,
>> -                      uint32_t mode,
>> -                      xc_shadow_op_stats_t *stats);
>> +                      unsigned int *mb,
>> +                      unsigned int mode);
>> +long long xc_logdirty_control(xc_interface *xch,
>> +                              uint32_t domid,
>> +                              unsigned int sop,
>> +                              xc_hypercall_buffer_t *dirty_bitmap,
>> +                              unsigned long pages,
>> +                              unsigned int mode,
>> +                              xc_shadow_op_stats_t *stats);
>>   
>>   int xc_sched_credit_domain_set(xc_interface *xch,
>>                                  uint32_t domid,
>> --- a/tools/libs/ctrl/xc_domain.c
>> +++ b/tools/libs/ctrl/xc_domain.c
>> @@ -650,25 +650,49 @@ int xc_watchdog(xc_interface *xch,
>>   int xc_shadow_control(xc_interface *xch,
>>                         uint32_t domid,
>>                         unsigned int sop,
>> -                      xc_hypercall_buffer_t *dirty_bitmap,
>> -                      unsigned long pages,
>> -                      unsigned long *mb,
>> -                      uint32_t mode,
>> -                      xc_shadow_op_stats_t *stats)
>> +                      unsigned int *mb,
>> +                      unsigned int mode)
>>   {
>>       int rc;
>>       DECLARE_DOMCTL;
>> -    DECLARE_HYPERCALL_BUFFER_ARGUMENT(dirty_bitmap);
>>   
>>       memset(&domctl, 0, sizeof(domctl));
>>   
>>       domctl.cmd = XEN_DOMCTL_shadow_op;
>>       domctl.domain = domid;
>>       domctl.u.shadow_op.op     = sop;
> 
> Shouldn't you verify that sop is not one of the operations now
> handled by xc_logdirty_control()?

While I was considering to do this, I couldn't think of a forward
compatible way, and what I'd like to avoid is having the need to
update these functions when new ops get added, just to suitably
also exclude them then. Plus I thought that if someone elected
the (apparently) wrong function as suiting their need in a
particular case, why would we put policy in place making this
impossible?

>> -    domctl.u.shadow_op.pages  = pages;
>>       domctl.u.shadow_op.mb     = mb ? *mb : 0;
>>       domctl.u.shadow_op.mode   = mode;
>> -    if (dirty_bitmap != NULL)
>> +
>> +    rc = do_domctl(xch, &domctl);
>> +
>> +    if ( mb )
>> +        *mb = domctl.u.shadow_op.mb;
>> +
>> +    return rc;
>> +}
>> +
>> +long long xc_logdirty_control(xc_interface *xch,
>> +                              uint32_t domid,
>> +                              unsigned int sop,
>> +                              xc_hypercall_buffer_t *dirty_bitmap,
>> +                              unsigned long pages,
>> +                              unsigned int mode,
>> +                              xc_shadow_op_stats_t *stats)
>> +{
>> +    int rc;
>> +    struct xen_domctl domctl = {
>> +        .cmd         = XEN_DOMCTL_shadow_op,
>> +        .domain      = domid,
>> +        .u.shadow_op = {
>> +            .op    = sop,
> 
> And same here the other way round: sop should really only be one of
> XEN_DOMCTL_SHADOW_OP_CLEAN or XEN_DOMCTL_SHADOW_OP_PEEK.
> 
> With that fixed you can add my:
> 
> Reviewed-by: Juergen Gross <jgross@suse.com>

Thanks, but I won't take this just yet, awaiting your (and maybe
others') view(s) on my reply above.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 09:43:12 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 09:43:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168473.307599 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGeZf-0002P7-SU; Thu, 19 Aug 2021 09:42:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168473.307599; Thu, 19 Aug 2021 09:42:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGeZf-0002P0-Ni; Thu, 19 Aug 2021 09:42:59 +0000
Received: by outflank-mailman (input) for mailman id 168473;
 Thu, 19 Aug 2021 09:42: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 1mGeZe-0002Oq-CB; Thu, 19 Aug 2021 09:42: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 1mGeZe-0003pL-3x; Thu, 19 Aug 2021 09:42: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 1mGeZd-0007tU-Qw; Thu, 19 Aug 2021 09:42:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mGeZd-0000Av-QS; Thu, 19 Aug 2021 09:42: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=4gnKNEveyctSaofT2SB4LFb1s82Kb0YA8Bojvzr2l1I=; b=t2HKFqeorjox251lUBFgzrAH2W
	HQoqPmV3zXPZkyKcxLQ48ANyFTz0rZw7wj1MSveo17euA3NOXFinHAqx3yFP5ZJqpVTdp6nOnEPRa
	4fB2w83ltOHJvv8o/IUWpMK25OafcOB8C2eZQqytFKDOfkbAEsCaJhHWPJBfQ+Sunkyo=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164242-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164242: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:heisenbug
    linux-linus:test-amd64-amd64-qemuu-freebsd12-amd64:guest-start/freebsd.repeat:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:heisenbug
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:heisenbug
    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-armhf-armhf-libvirt:saverestore-support-check: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-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=614cb2751d3150850d459bee596c397f344a7936
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 19 Aug 2021 09:42:57 +0000

flight 164242 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164242/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  14 guest-start              fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install       fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 12 debian-di-install        fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 14 guest-start    fail in 164233 REGR. vs. 152332

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl-credit2  13 debian-fixup     fail in 164233 pass in 164242
 test-amd64-amd64-qemuu-freebsd12-amd64 21 guest-start/freebsd.repeat fail in 164233 pass in 164242
 test-arm64-arm64-xl-xsm      13 debian-fixup               fail pass in 164233
 test-arm64-arm64-libvirt-xsm 13 debian-fixup               fail pass in 164233

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-xsm     15 migrate-support-check fail in 164233 never pass
 test-arm64-arm64-xl-xsm 16 saverestore-support-check fail in 164233 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 152332
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 152332
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 152332
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 152332
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 152332
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 152332
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 152332
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                614cb2751d3150850d459bee596c397f344a7936
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  383 days
Failing since        152366  2020-08-01 20:49:34 Z  382 days  674 attempts
Testing same since   164233  2021-08-18 00:12:24 Z    1 days    2 attempts

------------------------------------------------------------
6800 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2011951 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 09:50:46 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 09:50:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168483.307613 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGeh7-0003rk-St; Thu, 19 Aug 2021 09:50:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168483.307613; Thu, 19 Aug 2021 09:50:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGeh7-0003rd-OD; Thu, 19 Aug 2021 09:50:41 +0000
Received: by outflank-mailman (input) for mailman id 168483;
 Thu, 19 Aug 2021 09:50:40 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/7+2=NK=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mGeh6-0003rX-Ms
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 09:50:40 +0000
Received: from smtp-out2.suse.de (unknown [195.135.220.29])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id e83a13f6-00d2-11ec-a5d7-12813bfff9fa;
 Thu, 19 Aug 2021 09:50:39 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 69972200B6;
 Thu, 19 Aug 2021 09:50:38 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 21D2F1389C;
 Thu, 19 Aug 2021 09:50:38 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id nBDHBm4pHmEdMwAAGKfGzw
 (envelope-from <jgross@suse.com>); Thu, 19 Aug 2021 09:50:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e83a13f6-00d2-11ec-a5d7-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1629366638; 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=Z3ati4Jrqq+22WvIoL1FvEQHvqhQQNovnRVVoJXJ7YA=;
	b=iGl2ablvdwGfWhM/vl8QxgzGE7tKhr21HHV6wAngAMyqP/OfrI0NspEK2qwmVP2YDQ1pDN
	dcciPC+CDJSWUUL9j2aMhrsGvvHS2YYaD3bYCgnK3Y10fb/otMGAqjJElnQ7MGF8dG2qi+
	JZrZ63zld5f8M8iYZ5FtGeda6xtgt/k=
Subject: Re: [PATCH v2 02/13] libxc: split xc_logdirty_control() from
 xc_shadow_control()
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Anthony Perard <anthony.perard@citrix.com>,
 Marek Marczykowski <marmarek@invisiblethingslab.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <0bebfe8c-6897-dc8b-7fe0-9127d4996eb8@suse.com>
 <4b68233b-259c-3308-3292-82e991e1e108@suse.com>
 <7284e7d0-99cc-e35d-2d44-46e7a3132498@suse.com>
 <eba44638-699e-36e4-afd5-5b78270baafa@suse.com>
From: Juergen Gross <jgross@suse.com>
Message-ID: <cb3b7a87-d480-d431-58a9-b47dab20d2ca@suse.com>
Date: Thu, 19 Aug 2021 11:50:37 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <eba44638-699e-36e4-afd5-5b78270baafa@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="p3sFXMvy9XnIDRU3S40123CfECepCGylj"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--p3sFXMvy9XnIDRU3S40123CfECepCGylj
Content-Type: multipart/mixed; boundary="rvXqUQHvIvwywINQdLDo2MCHGRRqZV9VE";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Anthony Perard <anthony.perard@citrix.com>,
 Marek Marczykowski <marmarek@invisiblethingslab.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Message-ID: <cb3b7a87-d480-d431-58a9-b47dab20d2ca@suse.com>
Subject: Re: [PATCH v2 02/13] libxc: split xc_logdirty_control() from
 xc_shadow_control()
References: <0bebfe8c-6897-dc8b-7fe0-9127d4996eb8@suse.com>
 <4b68233b-259c-3308-3292-82e991e1e108@suse.com>
 <7284e7d0-99cc-e35d-2d44-46e7a3132498@suse.com>
 <eba44638-699e-36e4-afd5-5b78270baafa@suse.com>
In-Reply-To: <eba44638-699e-36e4-afd5-5b78270baafa@suse.com>

--rvXqUQHvIvwywINQdLDo2MCHGRRqZV9VE
Content-Type: multipart/mixed;
 boundary="------------2975644E5234310E10EA4E22"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------2975644E5234310E10EA4E22
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 19.08.21 11:24, Jan Beulich wrote:
> On 19.08.2021 11:11, Juergen Gross wrote:
>> On 05.07.21 17:12, Jan Beulich wrote:
>>> For log-dirty operations a 64-bit field is being truncated to become =
an
>>> "int" return value. Seeing the large number of arguments the present
>>> function takes, reduce its set of parameters to that needed for all
>>> operations not involving the log-dirty bitmap, while introducing a ne=
w
>>> wrapper for the log-dirty bitmap operations. This new function in tur=
n
>>> doesn't need an "mb" parameter, but has a 64-bit return type. (Using =
the
>>> return value in favor of a pointer-type parameter is left as is, to
>>> disturb callers as little as possible.)
>>>
>>> While altering xc_shadow_control() anyway, also adjust the types of t=
he
>>> last two of the remaining parameters.
>>>
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>> Acked-by: Christian Lindig <christian.lindig@citrix.com>
>>> ---
>>> v2: Avoid new use of DECLARE_DOMCTL. Re-base over error handling fix =
to
>>>       libxl__arch_domain_create().
>>> ---
>>> I wonder whether we shouldn't take the opportunity and also rename
>>> xc_shadow_control() to, say, xc_paging_control(), matching the layer
>>> above the HAP/shadow distinction in the hypervisor.
>>>
>>> --- a/tools/include/xenctrl.h
>>> +++ b/tools/include/xenctrl.h
>>> @@ -885,11 +885,15 @@ typedef struct xen_domctl_shadow_op_stat
>>>    int xc_shadow_control(xc_interface *xch,
>>>                          uint32_t domid,
>>>                          unsigned int sop,
>>> -                      xc_hypercall_buffer_t *dirty_bitmap,
>>> -                      unsigned long pages,
>>> -                      unsigned long *mb,
>>> -                      uint32_t mode,
>>> -                      xc_shadow_op_stats_t *stats);
>>> +                      unsigned int *mb,
>>> +                      unsigned int mode);
>>> +long long xc_logdirty_control(xc_interface *xch,
>>> +                              uint32_t domid,
>>> +                              unsigned int sop,
>>> +                              xc_hypercall_buffer_t *dirty_bitmap,
>>> +                              unsigned long pages,
>>> +                              unsigned int mode,
>>> +                              xc_shadow_op_stats_t *stats);
>>>   =20
>>>    int xc_sched_credit_domain_set(xc_interface *xch,
>>>                                   uint32_t domid,
>>> --- a/tools/libs/ctrl/xc_domain.c
>>> +++ b/tools/libs/ctrl/xc_domain.c
>>> @@ -650,25 +650,49 @@ int xc_watchdog(xc_interface *xch,
>>>    int xc_shadow_control(xc_interface *xch,
>>>                          uint32_t domid,
>>>                          unsigned int sop,
>>> -                      xc_hypercall_buffer_t *dirty_bitmap,
>>> -                      unsigned long pages,
>>> -                      unsigned long *mb,
>>> -                      uint32_t mode,
>>> -                      xc_shadow_op_stats_t *stats)
>>> +                      unsigned int *mb,
>>> +                      unsigned int mode)
>>>    {
>>>        int rc;
>>>        DECLARE_DOMCTL;
>>> -    DECLARE_HYPERCALL_BUFFER_ARGUMENT(dirty_bitmap);
>>>   =20
>>>        memset(&domctl, 0, sizeof(domctl));
>>>   =20
>>>        domctl.cmd =3D XEN_DOMCTL_shadow_op;
>>>        domctl.domain =3D domid;
>>>        domctl.u.shadow_op.op     =3D sop;
>>
>> Shouldn't you verify that sop is not one of the operations now
>> handled by xc_logdirty_control()?
>=20
> While I was considering to do this, I couldn't think of a forward
> compatible way, and what I'd like to avoid is having the need to
> update these functions when new ops get added, just to suitably
> also exclude them then. Plus I thought that if someone elected
> the (apparently) wrong function as suiting their need in a
> particular case, why would we put policy in place making this
> impossible?
>=20
>>> -    domctl.u.shadow_op.pages  =3D pages;
>>>        domctl.u.shadow_op.mb     =3D mb ? *mb : 0;
>>>        domctl.u.shadow_op.mode   =3D mode;
>>> -    if (dirty_bitmap !=3D NULL)
>>> +
>>> +    rc =3D do_domctl(xch, &domctl);
>>> +
>>> +    if ( mb )
>>> +        *mb =3D domctl.u.shadow_op.mb;
>>> +
>>> +    return rc;
>>> +}
>>> +
>>> +long long xc_logdirty_control(xc_interface *xch,
>>> +                              uint32_t domid,
>>> +                              unsigned int sop,
>>> +                              xc_hypercall_buffer_t *dirty_bitmap,
>>> +                              unsigned long pages,
>>> +                              unsigned int mode,
>>> +                              xc_shadow_op_stats_t *stats)
>>> +{
>>> +    int rc;
>>> +    struct xen_domctl domctl =3D {
>>> +        .cmd         =3D XEN_DOMCTL_shadow_op,
>>> +        .domain      =3D domid,
>>> +        .u.shadow_op =3D {
>>> +            .op    =3D sop,
>>
>> And same here the other way round: sop should really only be one of
>> XEN_DOMCTL_SHADOW_OP_CLEAN or XEN_DOMCTL_SHADOW_OP_PEEK.
>>
>> With that fixed you can add my:
>>
>> Reviewed-by: Juergen Gross <jgross@suse.com>
>=20
> Thanks, but I won't take this just yet, awaiting your (and maybe
> others') view(s) on my reply above.

I'm not feeling really strong in this regard. Either way is fine for
me.


Juergen

--------------2975644E5234310E10EA4E22
Content-Type: application/pgp-keys;
 name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Transfer-Encoding: quoted-printable
Content-Description: OpenPGP public key
Content-Disposition: attachment;
 filename="OpenPGP_0xB0DE9DD628BF132F.asc"

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOBy=
cWx
w3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJvedYm8O=
f8Z
d621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y=
9bf
IhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xq=
G7/
377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR=
3Jv
c3MgPGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsEFgIDA=
QIe
AQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4FUGNQH2lvWAUy+dnyT=
hpw
dtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3TyevpB0CA3dbBQp0OW0fgCetToGIQrg0=
MbD
1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbv=
oPH
Z8SlM4KWm8rG+lIkGurqqu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v=
5QL
+qHI3EIPtyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVyZ=
2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJCAcDAgEGFQgCC=
QoL
BBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4RF7HoZhPVPogNVbC4YA6lW7Dr=
Wf0
teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz78X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC=
/nu
AFVGy+67q2DH8As3KPu0344TBDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0Lh=
ITT
d9jLzdDad1pQSToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLm=
XBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkMnQfvUewRz=
80h
SnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMBAgAjBQJTjHDXAhsDBwsJC=
AcD
AgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJn=
FOX
gMLdBQgBlVPO3/D9R8LtF9DBAFPNhlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1=
jnD
kfJZr6jrbjgyoZHiw/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0=
N51
N5JfVRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwPOoE+l=
otu
fe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK/1xMI3/+8jbO0tsn1=
tqS
EUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuZGU+wsB5BBMBAgAjBQJTjHDrA=
hsD
BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3=
g3O
ZUEBmDHVVbqMtzwlmNC4k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5=
dM7
wRqzgJpJwK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu5=
D+j
LRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzBTNh30FVKK1Evm=
V2x
AKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37IoN1EblHI//x/e2AaIHpzK5h88N=
Eaw
QsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpW=
nHI
s98ndPUDpnoxWQugJ6MpMncr0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZR=
wgn
BC5mVM6JjQ5xDk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNV=
bVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mmwe0icXKLk=
pEd
IXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0Iv3OOImwTEe4co3c1mwARA=
QAB
wsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMvQ/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEw=
Tbe
8YFsw2V/Buv6Z4Mysln3nQK5ZadD534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1=
vJz
Q1fOU8lYFpZXTXIHb+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8=
VGi
wXvTyJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqcsuylW=
svi
uGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5BjR/i1DG86lem3iBDX=
zXs
ZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------2975644E5234310E10EA4E22--

--rvXqUQHvIvwywINQdLDo2MCHGRRqZV9VE--

--p3sFXMvy9XnIDRU3S40123CfECepCGylj
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmEeKW0FAwAAAAAACgkQsN6d1ii/Ey8P
GQf/aCLIYtBpIt4dtjnp+KsdbVstatuLbppHFn+vo98TjGKDmqofYfqrzHSY4yWgdWOW+qGPxDMs
wagL5ZChaeJm66JoXRS71vybLe+tQHPV2ak99SQ/OKZ855AVBZ7YhEyDujxn2e/CxKCMNdP4+DfU
z2sKf4upAhEWNyYCAQ6kzvOFUvICi8HDfplE16p+MDJRQSZNz+BQNB203Sfp4uaT/jdZxax72Ueu
9lL/MtjVB0b+jqEIxqMvhE8V/Ljrubtq5jDDMogVBuU3phLcLFr+2Sk6sSN21hUTHSXexjnyRLAL
fxIQ4nBpeJD/ZT3c9JNTv+yW01mY0p31LxOH2/QqLg==
=BduV
-----END PGP SIGNATURE-----

--p3sFXMvy9XnIDRU3S40123CfECepCGylj--


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 09:59:27 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 09:59:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168489.307623 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGepU-0004fZ-M1; Thu, 19 Aug 2021 09:59:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168489.307623; Thu, 19 Aug 2021 09: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 1mGepU-0004fS-Ir; Thu, 19 Aug 2021 09:59:20 +0000
Received: by outflank-mailman (input) for mailman id 168489;
 Thu, 19 Aug 2021 09:59:19 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZM9U=NK=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mGepS-0004fM-TL
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 09:59:18 +0000
Received: from mail-pj1-x1035.google.com (unknown [2607:f8b0:4864:20::1035])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id b97f455f-909c-44c5-be40-10289af22179;
 Thu, 19 Aug 2021 09:59:18 +0000 (UTC)
Received: by mail-pj1-x1035.google.com with SMTP id
 cp15-20020a17090afb8fb029017891959dcbso10954588pjb.2
 for <xen-devel@lists.xenproject.org>; Thu, 19 Aug 2021 02:59:18 -0700 (PDT)
Received: from ?IPv6:2404:f801:0:5:8000::50b? ([2404:f801:9000:18:efec::50b])
 by smtp.gmail.com with ESMTPSA id
 p24sm2697989pff.161.2021.08.19.02.59.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 19 Aug 2021 02:59: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: b97f455f-909c-44c5-be40-10289af22179
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=DtRnMoZnz8ASe+6YEYHxKI9ebqeYiuiGyG8rZ+bU7W8=;
        b=e343ePw9FQBl3OmT4CjV4LRITbC1d6hYo+qRgo8O4g8DDiM0SXgUjKDzINrKBOdPuD
         16no3rFQBxZjEOjFpmVKbvGS3ZfHA34iGMzVP0GUuGwXxQcavGar4tq9NUO4BYQKL/fr
         +IcuileX2Ofw9lJAzZQDVNiSgg1ae4c7il80Ygl7Z/hArsq9NmfC57xbUCxKi+8x3zUf
         +2HPq01a+R9VEwnfGBnJGrLBlpiAjunOOPLv4ZoA/DAFfCnCqMOcoGxM88wGuVAJptCS
         RhIs91rvHPz+nEa9mRAXOsXqj+K3ODhUvtqP1kKQfDBVLC2qUMGw6g7AIb4+VxGalL4b
         xg/g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=DtRnMoZnz8ASe+6YEYHxKI9ebqeYiuiGyG8rZ+bU7W8=;
        b=Nh7a2lzH74Ff5eGwU8gH4VJs2Or90c65DUAl1zkzJizg2gF/VXWAq1vGrW5w/tIM0Q
         cJQPU4Gv8k1vVcZPTlf3W9N/NaRstjnGCXByi+d56FWdByXFYoWNg/kesMe4VhXaQb5q
         VidZdkE68mAVL4IsqcwwO0T3rpcr4UH+n3Zqv+I60MrH0Oz4s6j3iCE4/xH3YLbitJbU
         fo1RTQa6gUeM2hrlAFY0kK5wd3nnViYf8cEsLL5bDmakco9AsIpSlUrN4rH+oyzs1uCL
         0cMMYi7F3JM9n6cUhU3h4H4wvSX5aqemtZYO0v54/yI012iaQ8av9ca5wLXTorCM87P3
         b3YQ==
X-Gm-Message-State: AOAM531V80yTT2uxvE5ehEbYUYqUsCR//P5NVOhPV4W3zoKmx142Jroo
	sJjCfP9htRwy7zxNXLxjto4=
X-Google-Smtp-Source: ABdhPJxqSXdosZ9pc3k976d6RTkMk29F0RsgVn3Hn0/Mju7aILj/ApNHDMVBQRT0TOZLXDLJbYbMUw==
X-Received: by 2002:a17:90a:8905:: with SMTP id u5mr13892030pjn.95.1629367157291;
        Thu, 19 Aug 2021 02:59:17 -0700 (PDT)
Subject: Re: [PATCH V3 10/13] x86/Swiotlb: Add Swiotlb bounce buffer remap
 function for HV IVM
To: Christoph Hellwig <hch@lst.de>
Cc: kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com,
 wei.liu@kernel.org, decui@microsoft.com, tglx@linutronix.de,
 mingo@redhat.com, bp@alien8.de, x86@kernel.org, hpa@zytor.com,
 dave.hansen@linux.intel.com, luto@kernel.org, peterz@infradead.org,
 konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, jgross@suse.com,
 sstabellini@kernel.org, joro@8bytes.org, will@kernel.org,
 davem@davemloft.net, kuba@kernel.org, jejb@linux.ibm.com,
 martin.petersen@oracle.com, arnd@arndb.de, m.szyprowski@samsung.com,
 robin.murphy@arm.com, thomas.lendacky@amd.com, brijesh.singh@amd.com,
 ardb@kernel.org, Tianyu.Lan@microsoft.com, pgonda@google.com,
 martin.b.radev@gmail.com, akpm@linux-foundation.org,
 kirill.shutemov@linux.intel.com, rppt@kernel.org, sfr@canb.auug.org.au,
 saravanand@fb.com, krish.sadhukhan@oracle.com, aneesh.kumar@linux.ibm.com,
 xen-devel@lists.xenproject.org, rientjes@google.com, hannes@cmpxchg.org,
 tj@kernel.org, michael.h.kelley@microsoft.com,
 iommu@lists.linux-foundation.org, linux-arch@vger.kernel.org,
 linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
 linux-scsi@vger.kernel.org, netdev@vger.kernel.org, vkuznets@redhat.com,
 parri.andrea@gmail.com, dave.hansen@intel.com
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-11-ltykernel@gmail.com>
 <20210812122741.GC19050@lst.de>
 <d18ae061-6fc2-e69e-fc2c-2e1a1114c4b4@gmail.com>
 <890e5e21-714a-2db6-f68a-6211a69bebb9@gmail.com>
 <20210819084951.GA10461@lst.de>
From: Tianyu Lan <ltykernel@gmail.com>
Message-ID: <1c5ae861-2c35-2ef5-e764-db45bbcb88a9@gmail.com>
Date: Thu, 19 Aug 2021 17:59:02 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210819084951.GA10461@lst.de>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit



On 8/19/2021 4:49 PM, Christoph Hellwig wrote:
> On Mon, Aug 16, 2021 at 10:50:26PM +0800, Tianyu Lan wrote:
>> Hi Christoph:
>>        Sorry to bother you.Please double check with these two patches
>> " [PATCH V3 10/13] x86/Swiotlb: Add Swiotlb bounce buffer remap function
>> for HV IVM" and "[PATCH V3 09/13] DMA: Add dma_map_decrypted/dma_
>> unmap_encrypted() function".
> 
> Do you have a git tree somewhere to look at the whole tree?

Yes, here is my github link for these two patches.

https://github.com/lantianyu/linux/commit/462f7e4e44644fe7e182f7a5fb043a75acb90ee5

https://github.com/lantianyu/linux/commit/c8de236bf4366d39e8b98e5a091c39df29b03e0b

> 
>>        The swiotlb bounce buffer in the isolation VM are allocated in the
>> low end memory and these memory has struct page backing. All dma address
>> returned by swiotlb/DMA API are low end memory and this is as same as what
>> happen in the traditional VM.
> 
> Indeed.
> 
>>        The API dma_map_decrypted() introduced in the patch 9 is to map the
>> bounce buffer in the extra space and these memory in the low end space are
>> used as DMA memory in the driver. Do you prefer these APIs
>> still in the set_memory.c? I move the API to dma/mapping.c due to the
>> suggested name arch_dma_map_decrypted() in the previous mail
>> (https://lore.kernel.org/netdev/20210720135437.GA13554@lst.de/).
> 
> Well, what would help is a clear description of the semantics.
> 

Yes, I will improve description.



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 10:02:08 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 10:02:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168494.307635 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGesC-00066d-2L; Thu, 19 Aug 2021 10:02:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168494.307635; Thu, 19 Aug 2021 10:02:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGesB-00066W-Us; Thu, 19 Aug 2021 10:02:07 +0000
Received: by outflank-mailman (input) for mailman id 168494;
 Thu, 19 Aug 2021 10:02:06 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qlai=NK=lst.de=hch@srs-us1.protection.inumbo.net>)
 id 1mGesA-00066O-8F
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 10:02:06 +0000
Received: from verein.lst.de (unknown [213.95.11.211])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 8173e0bc-00d4-11ec-a5d9-12813bfff9fa;
 Thu, 19 Aug 2021 10:02:05 +0000 (UTC)
Received: by verein.lst.de (Postfix, from userid 2407)
 id 7AB826736F; Thu, 19 Aug 2021 12:02:00 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8173e0bc-00d4-11ec-a5d9-12813bfff9fa
Date: Thu, 19 Aug 2021 12:02:00 +0200
From: Christoph Hellwig <hch@lst.de>
To: Tianyu Lan <ltykernel@gmail.com>
Cc: Christoph Hellwig <hch@lst.de>, kys@microsoft.com,
	haiyangz@microsoft.com, sthemmin@microsoft.com, wei.liu@kernel.org,
	decui@microsoft.com, tglx@linutronix.de, mingo@redhat.com,
	bp@alien8.de, x86@kernel.org, hpa@zytor.com,
	dave.hansen@linux.intel.com, luto@kernel.org, peterz@infradead.org,
	konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, jgross@suse.com,
	sstabellini@kernel.org, joro@8bytes.org, will@kernel.org,
	davem@davemloft.net, kuba@kernel.org, jejb@linux.ibm.com,
	martin.petersen@oracle.com, arnd@arndb.de, m.szyprowski@samsung.com,
	robin.murphy@arm.com, thomas.lendacky@amd.com,
	brijesh.singh@amd.com, ardb@kernel.org, Tianyu.Lan@microsoft.com,
	pgonda@google.com, martin.b.radev@gmail.com,
	akpm@linux-foundation.org, kirill.shutemov@linux.intel.com,
	rppt@kernel.org, sfr@canb.auug.org.au, saravanand@fb.com,
	krish.sadhukhan@oracle.com, aneesh.kumar@linux.ibm.com,
	xen-devel@lists.xenproject.org, rientjes@google.com,
	hannes@cmpxchg.org, tj@kernel.org, michael.h.kelley@microsoft.com,
	iommu@lists.linux-foundation.org, linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org, netdev@vger.kernel.org,
	vkuznets@redhat.com, parri.andrea@gmail.com, dave.hansen@intel.com
Subject: Re: [PATCH V3 10/13] x86/Swiotlb: Add Swiotlb bounce buffer remap
 function for HV IVM
Message-ID: <20210819100200.GA16908@lst.de>
References: <20210809175620.720923-1-ltykernel@gmail.com> <20210809175620.720923-11-ltykernel@gmail.com> <20210812122741.GC19050@lst.de> <d18ae061-6fc2-e69e-fc2c-2e1a1114c4b4@gmail.com> <890e5e21-714a-2db6-f68a-6211a69bebb9@gmail.com> <20210819084951.GA10461@lst.de> <1c5ae861-2c35-2ef5-e764-db45bbcb88a9@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <1c5ae861-2c35-2ef5-e764-db45bbcb88a9@gmail.com>
User-Agent: Mutt/1.5.17 (2007-11-01)

On Thu, Aug 19, 2021 at 05:59:02PM +0800, Tianyu Lan wrote:
>
>
> On 8/19/2021 4:49 PM, Christoph Hellwig wrote:
>> On Mon, Aug 16, 2021 at 10:50:26PM +0800, Tianyu Lan wrote:
>>> Hi Christoph:
>>>        Sorry to bother you.Please double check with these two patches
>>> " [PATCH V3 10/13] x86/Swiotlb: Add Swiotlb bounce buffer remap function
>>> for HV IVM" and "[PATCH V3 09/13] DMA: Add dma_map_decrypted/dma_
>>> unmap_encrypted() function".
>>
>> Do you have a git tree somewhere to look at the whole tree?
>
> Yes, here is my github link for these two patches.
>
> https://github.com/lantianyu/linux/commit/462f7e4e44644fe7e182f7a5fb043a75acb90ee5
>
> https://github.com/lantianyu/linux/commit/c8de236bf4366d39e8b98e5a091c39df29b03e0b

Which branch is this?



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 10:02:45 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 10:02:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168497.307646 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGesn-0006lK-BY; Thu, 19 Aug 2021 10:02:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168497.307646; Thu, 19 Aug 2021 10: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 1mGesn-0006lD-7s; Thu, 19 Aug 2021 10:02:45 +0000
Received: by outflank-mailman (input) for mailman id 168497;
 Thu, 19 Aug 2021 10:02:44 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mGesm-0006iu-Iv; Thu, 19 Aug 2021 10:02:44 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mGesm-0004ID-D7; Thu, 19 Aug 2021 10:02:44 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mGesm-00008f-51; Thu, 19 Aug 2021 10:02:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mGesm-0004dT-3z; Thu, 19 Aug 2021 10:02: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=We34ZWzHJaHe1aMi6A3nq2wilr9s8m3wU9qUZ/3k+8I=; b=1xFBhR1REIDLh8CSLb+wExN4Ja
	CRvyfdK5iy8NxgOhyBYZJvxX5NrkVxja6LRd+Z6246f4aF+X8uIJf1uXpTyOQayT/I/IDAAkZhcVs
	q0KwYCyirW0iGHzXLmlvnaMKe9Is2BjHzaGFEJO7FIw6XRXg6/dRA4b2lhTtx1lkuEbA=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164249-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 164249: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=868bacd380736a67820e4b1a5fc455693abb091f
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 19 Aug 2021 10:02:44 +0000

flight 164249 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164249/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              868bacd380736a67820e4b1a5fc455693abb091f
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  405 days
Failing since        151818  2020-07-11 04:18:52 Z  404 days  396 attempts
Testing same since   164249  2021-08-19 04:18:57 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  Cédric Bosdonnat <cbosdonnat@suse.com>
  Côme Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano Fidêncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Ian Wienand <iwienand@redhat.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  John Ferlan <jferlan@redhat.com>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  Ján Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Michał Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  Moshe Levi <moshele@nvidia.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr Drąg <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tomáš Golembiovský <tgolembi@redhat.com>
  Tomáš Janoušek <tomi@nomi.cz>
  Tuguoyi <tu.guoyi@h3c.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  William Douglas <william.douglas@intel.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 69763 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 10:03:22 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 10:03:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168506.307660 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGetN-0007PO-Qy; Thu, 19 Aug 2021 10:03:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168506.307660; Thu, 19 Aug 2021 10:03:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGetN-0007PD-NV; Thu, 19 Aug 2021 10:03:21 +0000
Received: by outflank-mailman (input) for mailman id 168506;
 Thu, 19 Aug 2021 10:03:20 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZM9U=NK=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mGetM-0007Oy-NU
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 10:03:20 +0000
Received: from mail-pl1-x631.google.com (unknown [2607:f8b0:4864:20::631])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id cf59c1c4-1efc-4bc0-ae54-4d1cad2d4fab;
 Thu, 19 Aug 2021 10:03:19 +0000 (UTC)
Received: by mail-pl1-x631.google.com with SMTP id e15so3600948plh.8
 for <xen-devel@lists.xenproject.org>; Thu, 19 Aug 2021 03:03:19 -0700 (PDT)
Received: from ?IPv6:2404:f801:0:5:8000::50b? ([2404:f801:9000:18:efec::50b])
 by smtp.gmail.com with ESMTPSA id
 l11sm2847556pfd.187.2021.08.19.03.03.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 19 Aug 2021 03:03: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: cf59c1c4-1efc-4bc0-ae54-4d1cad2d4fab
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=0Z5bZ3ATC9rIbWdXJn4JmmnZhJaPoQBdkWHt9cjrKG8=;
        b=IT2Usca3A4sKF8ubQedNM5SaMd/P+GOOPAsVwIijlGErP0fzExJmYSY+A4eUcUkpXJ
         rlIgf13cji4zTPlulH73wgPhlbbzcXLto1AWAY23pc05ugnHQG+lyNsgg/hndXCJDvOZ
         akViMH02DTRkHylRGYPHa/SdGfpAhtYNgDzsjZBFu8ziREk5Ir52t81sOV2jRIjUiWu/
         9kVTMEdyW5UV9EJv7Rbge0li4OczD1s3+x4R5IGStjZTrxrYWtpg+4kGHyRYWdS60W/5
         Am1K2wsgWrjeJ9fH+MvIMoJfBnS3nAhxZjbc45vuLQjaMveZqMq4x3zvuPukeR63TOml
         jWXQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=0Z5bZ3ATC9rIbWdXJn4JmmnZhJaPoQBdkWHt9cjrKG8=;
        b=YtbEyp6Wh0LwaTYI/DuGLLGUXId61N2Odj3jWfN1RxSccRbIqnhCHrUBJtMpy+NZSO
         muypIsArh9MYAwlgzjfc6rjWILc/LhbB1YBZiYDdlnMYbxjcCqRtNUvA+e8OrVPFX92o
         gGyNXjbkn1Ji6KEesqClvN16AuXVkMnyfjbHCBTr3LUogsD+rvNWchQ2h9vGz2TvY27V
         HQQzM1CXiNgA/yhpfJuGhwsQtuiJ9ChJe5eaB70eIU7sIjRqxfd2C+652GNL4tg/qtAp
         d+Y1S3yIZ0JAoKNQqEkIguyYh8/JyYkNC0RLM3Xdg0VcmQeTO6sC30tlq1UpvcYir3Xc
         QA1A==
X-Gm-Message-State: AOAM532hOA5N22rHAzNf16L34xJOFlpkhEu+IRMP+U1UOnfmEoAVkWot
	3zADkIedXGS9pZtXWI1tMzQ=
X-Google-Smtp-Source: ABdhPJzfJPRP2BLYCvwXpllkEgoVoCQWlDbtUrPyndvtVP/tYRGu2BCJLYGTmAw6sGYSn2DMVJ/QVQ==
X-Received: by 2002:a17:902:bc4b:b029:12d:77e8:2c26 with SMTP id t11-20020a170902bc4bb029012d77e82c26mr10961353plz.67.1629367398962;
        Thu, 19 Aug 2021 03:03:18 -0700 (PDT)
Subject: Re: [PATCH V3 10/13] x86/Swiotlb: Add Swiotlb bounce buffer remap
 function for HV IVM
To: Christoph Hellwig <hch@lst.de>
Cc: kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com,
 wei.liu@kernel.org, decui@microsoft.com, tglx@linutronix.de,
 mingo@redhat.com, bp@alien8.de, x86@kernel.org, hpa@zytor.com,
 dave.hansen@linux.intel.com, luto@kernel.org, peterz@infradead.org,
 konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, jgross@suse.com,
 sstabellini@kernel.org, joro@8bytes.org, will@kernel.org,
 davem@davemloft.net, kuba@kernel.org, jejb@linux.ibm.com,
 martin.petersen@oracle.com, arnd@arndb.de, m.szyprowski@samsung.com,
 robin.murphy@arm.com, thomas.lendacky@amd.com, brijesh.singh@amd.com,
 ardb@kernel.org, Tianyu.Lan@microsoft.com, pgonda@google.com,
 martin.b.radev@gmail.com, akpm@linux-foundation.org,
 kirill.shutemov@linux.intel.com, rppt@kernel.org, sfr@canb.auug.org.au,
 saravanand@fb.com, krish.sadhukhan@oracle.com, aneesh.kumar@linux.ibm.com,
 xen-devel@lists.xenproject.org, rientjes@google.com, hannes@cmpxchg.org,
 tj@kernel.org, michael.h.kelley@microsoft.com,
 iommu@lists.linux-foundation.org, linux-arch@vger.kernel.org,
 linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
 linux-scsi@vger.kernel.org, netdev@vger.kernel.org, vkuznets@redhat.com,
 parri.andrea@gmail.com, dave.hansen@intel.com
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-11-ltykernel@gmail.com>
 <20210812122741.GC19050@lst.de>
 <d18ae061-6fc2-e69e-fc2c-2e1a1114c4b4@gmail.com>
 <890e5e21-714a-2db6-f68a-6211a69bebb9@gmail.com>
 <20210819084951.GA10461@lst.de>
 <1c5ae861-2c35-2ef5-e764-db45bbcb88a9@gmail.com>
 <20210819100200.GA16908@lst.de>
From: Tianyu Lan <ltykernel@gmail.com>
Message-ID: <8bcadc06-ce4c-8be9-c1ac-44c544e02960@gmail.com>
Date: Thu, 19 Aug 2021 18:03:04 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210819100200.GA16908@lst.de>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit

On 8/19/2021 6:02 PM, Christoph Hellwig wrote:
> On Thu, Aug 19, 2021 at 05:59:02PM +0800, Tianyu Lan wrote:
>>
>>
>> On 8/19/2021 4:49 PM, Christoph Hellwig wrote:
>>> On Mon, Aug 16, 2021 at 10:50:26PM +0800, Tianyu Lan wrote:
>>>> Hi Christoph:
>>>>         Sorry to bother you.Please double check with these two patches
>>>> " [PATCH V3 10/13] x86/Swiotlb: Add Swiotlb bounce buffer remap function
>>>> for HV IVM" and "[PATCH V3 09/13] DMA: Add dma_map_decrypted/dma_
>>>> unmap_encrypted() function".
>>>
>>> Do you have a git tree somewhere to look at the whole tree?
>>
>> Yes, here is my github link for these two patches.
>>
>> https://github.com/lantianyu/linux/commit/462f7e4e44644fe7e182f7a5fb043a75acb90ee5
>>
>> https://github.com/lantianyu/linux/commit/c8de236bf4366d39e8b98e5a091c39df29b03e0b
> 
> Which branch is this?
> 

https://github.com/lantianyu/linux/tree/isolationv3


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 10:20:15 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 10:20:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168529.307688 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGf9c-0002PN-MF; Thu, 19 Aug 2021 10:20:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168529.307688; Thu, 19 Aug 2021 10: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 1mGf9c-0002PG-JI; Thu, 19 Aug 2021 10:20:08 +0000
Received: by outflank-mailman (input) for mailman id 168529;
 Thu, 19 Aug 2021 10:20:08 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/7+2=NK=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mGf9b-0002PA-TW
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 10:20:07 +0000
Received: from smtp-out2.suse.de (unknown [195.135.220.29])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 39ffb663-778c-4cc1-b4ab-0d9552d5f8c1;
 Thu, 19 Aug 2021 10:20:07 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 268271FD85;
 Thu, 19 Aug 2021 10:20:06 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id E0F01139BA;
 Thu, 19 Aug 2021 10:20:05 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id A1RjNVUwHmH4PAAAGKfGzw
 (envelope-from <jgross@suse.com>); Thu, 19 Aug 2021 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: 39ffb663-778c-4cc1-b4ab-0d9552d5f8c1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1629368406; 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=6f4MsPViT81Ym6g5hiJgdeai1PZfa0/kyDuU1TN2xgk=;
	b=Xu4ZG9tu4CIHHkhoUG3KhjlJkE6SZzK3qcH+YVMeVFiFpeuquJCWOnMJ/njm4BSj+w0ISo
	nzpHCFQeaoT8W8fzjd4kg4Q4vuGSqSh3o7v4GJ2sik3kzyqShfox1/bW1n8UUQTwE24V8D
	ZOWoZyzkUUegEkYzyfYRviHgC52wuX0=
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>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>
References: <0bebfe8c-6897-dc8b-7fe0-9127d4996eb8@suse.com>
 <668ef720-389f-4cf1-608e-64aca4f7c73d@suse.com>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH v2 03/13] libxenguest: deal with log-dirty op stats
 overflow
Message-ID: <f69e5a2b-cd8c-3534-ab7b-427fb1fc1cdc@suse.com>
Date: Thu, 19 Aug 2021 12:20:05 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <668ef720-389f-4cf1-608e-64aca4f7c73d@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="oJPUmmWuFrj7SRE1kdwfL32DfYZ2tBT8O"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--oJPUmmWuFrj7SRE1kdwfL32DfYZ2tBT8O
Content-Type: multipart/mixed; boundary="r6QdAF3VtpGu2by1JjC0O7nvFI8hyCmbA";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>
Message-ID: <f69e5a2b-cd8c-3534-ab7b-427fb1fc1cdc@suse.com>
Subject: Re: [PATCH v2 03/13] libxenguest: deal with log-dirty op stats
 overflow
References: <0bebfe8c-6897-dc8b-7fe0-9127d4996eb8@suse.com>
 <668ef720-389f-4cf1-608e-64aca4f7c73d@suse.com>
In-Reply-To: <668ef720-389f-4cf1-608e-64aca4f7c73d@suse.com>

--r6QdAF3VtpGu2by1JjC0O7nvFI8hyCmbA
Content-Type: multipart/mixed;
 boundary="------------F700368DA9371705041E75B1"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------F700368DA9371705041E75B1
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 05.07.21 17:13, Jan Beulich wrote:
> In send_memory_live() the precise value the dirty_count struct field
> gets initialized to doesn't matter much (apart from the triggering of
> the log message in send_dirty_pages(), see below), but it is important
> that it not be zero on the first iteration (or else send_dirty_pages()
> won't get called at all). Saturate the initializer value at the maximum=

> value the field can hold.
>=20
> While there also initialize struct precopy_stats' respective field to a=

> more sane value: We don't really know how many dirty pages there are at=

> that point.
>=20
> In suspend_and_send_dirty() and verify_frames() the local variables
> don't need initializing at all, as they're only an output from the
> hypercall which gets invoked first thing.
>=20
> In send_checkpoint_dirty_pfn_list() the local variable can be dropped
> altogether: It's optional to xc_logdirty_control() and not used anywher=
e
> else.
>=20
> Note that in case the clipping actually takes effect, the "Bitmap
> contained more entries than expected..." log message will trigger. This=

> being just an informational message, I don't think this is overly
> concerning.

Is there any real reason why the width of the stats fields can't be
expanded to avoid clipping? This could avoid the need to set the
initial value to -1, which seems one of the more controversial changes.


Juergen

--------------F700368DA9371705041E75B1
Content-Type: application/pgp-keys;
 name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Transfer-Encoding: quoted-printable
Content-Description: OpenPGP public key
Content-Disposition: attachment;
 filename="OpenPGP_0xB0DE9DD628BF132F.asc"

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOBy=
cWx
w3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJvedYm8O=
f8Z
d621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y=
9bf
IhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xq=
G7/
377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR=
3Jv
c3MgPGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsEFgIDA=
QIe
AQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4FUGNQH2lvWAUy+dnyT=
hpw
dtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3TyevpB0CA3dbBQp0OW0fgCetToGIQrg0=
MbD
1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbv=
oPH
Z8SlM4KWm8rG+lIkGurqqu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v=
5QL
+qHI3EIPtyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVyZ=
2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJCAcDAgEGFQgCC=
QoL
BBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4RF7HoZhPVPogNVbC4YA6lW7Dr=
Wf0
teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz78X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC=
/nu
AFVGy+67q2DH8As3KPu0344TBDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0Lh=
ITT
d9jLzdDad1pQSToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLm=
XBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkMnQfvUewRz=
80h
SnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMBAgAjBQJTjHDXAhsDBwsJC=
AcD
AgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJn=
FOX
gMLdBQgBlVPO3/D9R8LtF9DBAFPNhlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1=
jnD
kfJZr6jrbjgyoZHiw/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0=
N51
N5JfVRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwPOoE+l=
otu
fe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK/1xMI3/+8jbO0tsn1=
tqS
EUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuZGU+wsB5BBMBAgAjBQJTjHDrA=
hsD
BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3=
g3O
ZUEBmDHVVbqMtzwlmNC4k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5=
dM7
wRqzgJpJwK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu5=
D+j
LRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzBTNh30FVKK1Evm=
V2x
AKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37IoN1EblHI//x/e2AaIHpzK5h88N=
Eaw
QsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpW=
nHI
s98ndPUDpnoxWQugJ6MpMncr0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZR=
wgn
BC5mVM6JjQ5xDk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNV=
bVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mmwe0icXKLk=
pEd
IXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0Iv3OOImwTEe4co3c1mwARA=
QAB
wsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMvQ/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEw=
Tbe
8YFsw2V/Buv6Z4Mysln3nQK5ZadD534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1=
vJz
Q1fOU8lYFpZXTXIHb+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8=
VGi
wXvTyJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqcsuylW=
svi
uGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5BjR/i1DG86lem3iBDX=
zXs
ZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------F700368DA9371705041E75B1--

--r6QdAF3VtpGu2by1JjC0O7nvFI8hyCmbA--

--oJPUmmWuFrj7SRE1kdwfL32DfYZ2tBT8O
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmEeMFUFAwAAAAAACgkQsN6d1ii/Ey9l
6AgAg3tRUpsipudBF6FT6HfV4MQ+UD9x5t7vOXFb/UqjCL8umAjFQnA01jYDQjdJysYiX955f/ZI
bnnCy35eNSoWFn0h3Y2Lp3RzJl/jierQMnRqTgnyoNSwnjqglnjsWfFeZJKq4Yz/2ltFf4c7KMo6
TIjP3drnn38YL/Xquj1by+nf/DJE854xc1cG0BYfkl0oXuzfSaT6TJ0Do6+mLn88MoX12BBl0ZCG
U5k0mjpSdOtdLzWzfocDHDNGNnqS5rNI4NuFSJDOgouxtgBagMkUX6IfyhpjCQRzMmirMIa1BnkP
26B/FSrUNt8ZiJ4AZtfescsI/XcFxVfxg+Sl8jyXeA==
=0Cku
-----END PGP SIGNATURE-----

--oJPUmmWuFrj7SRE1kdwfL32DfYZ2tBT8O--


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 10:39:15 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 10:39:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168533.307700 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGfRx-00048C-A8; Thu, 19 Aug 2021 10:39:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168533.307700; Thu, 19 Aug 2021 10: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 1mGfRx-000485-73; Thu, 19 Aug 2021 10:39:05 +0000
Received: by outflank-mailman (input) for mailman id 168533;
 Thu, 19 Aug 2021 10:39:03 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=S1mW=NK=arm.com=Jiamei.Xie@srs-us1.protection.inumbo.net>)
 id 1mGfRv-00047z-CO
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 10:39:03 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com (unknown
 [40.107.1.64]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id cf80f67a-32c1-46f5-9682-d6ff33c716c2;
 Thu, 19 Aug 2021 10:39:00 +0000 (UTC)
Received: from DBBPR09CA0031.eurprd09.prod.outlook.com (2603:10a6:10:d4::19)
 by AM9PR08MB7243.eurprd08.prod.outlook.com (2603:10a6:20b:432::24) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Thu, 19 Aug
 2021 10:38:58 +0000
Received: from DB5EUR03FT053.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:d4:cafe::4d) by DBBPR09CA0031.outlook.office365.com
 (2603:10a6:10:d4::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Thu, 19 Aug 2021 10:38:58 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT053.mail.protection.outlook.com (10.152.21.119) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Thu, 19 Aug 2021 10:38:58 +0000
Received: ("Tessian outbound 19a632698c93:v103");
 Thu, 19 Aug 2021 10:38:58 +0000
Received: from cc47cea1d179.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 53AFC11C-4D8B-42CF-960B-E583DE1AFEBC.1; 
 Thu, 19 Aug 2021 10:38:52 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id cc47cea1d179.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 19 Aug 2021 10:38:52 +0000
Received: from VI1PR08MB3056.eurprd08.prod.outlook.com (2603:10a6:803:3d::28)
 by VI1PR08MB4110.eurprd08.prod.outlook.com (2603:10a6:803:e3::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Thu, 19 Aug
 2021 10:38:50 +0000
Received: from VI1PR08MB3056.eurprd08.prod.outlook.com
 ([fe80::a931:b3e8:a3af:3a67]) by VI1PR08MB3056.eurprd08.prod.outlook.com
 ([fe80::a931:b3e8:a3af:3a67%5]) with mapi id 15.20.4415.024; Thu, 19 Aug 2021
 10:38: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: cf80f67a-32c1-46f5-9682-d6ff33c716c2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RoCj1wwPs2hEM26IIYkd/0xdN5zLl4laNPR0ZuLI+58=;
 b=WBA63obilaMkDQxhX7wRXWq3s6/0yFMCQacgi6K7qO+v9W5SsWHmoNNAQz65UKoc2FuK625QmZaQCZf3k7/WDyaW0JMaGT4Zh+Fp1XECL7Rn4NI2zab14CQ1+Pc2FZwbUSloBITlG4jFUiJgMyKl2eexVdXMrUvyvgAEr9rYpYI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bTgb8o8b8JEWChLVD7AgsFOwgmdl2iMe91DEg6K/F2/WmRY1jwJau/5s6djeQs8vdfUfO1X5XIdvb09nxhyDtrBgf0gGxVSf/Wc60Qqq5YvBQQgiXGhLePo7aZptjXiDxKWRXKsEEY56GD36AieMpVAhuZECIwHfazuqlBWq20m6W8Czi90M+5ivc+T//ku+5bqqjVCVqmCb2RvSrOIg6bAQ0Zgd2P3Yfnz5SSewUTLyX1hrglo4gYtpUS5faaCs7yNFipZCSm0/7KaR3e2hoBasBR/Bqi1VI/7IDK+2fpuHXEP3ZCixsogTGEL2Lxqkv8UBY0Bx+lIIn39ZR+1lLg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RoCj1wwPs2hEM26IIYkd/0xdN5zLl4laNPR0ZuLI+58=;
 b=NhKl+uqabBMQr4kB1Eqn4OMeyfdNbkeARw9QagXRJIcO38asraASl0GIFkVzf3iiy5a+vVpd89jQMnmUHws42NsO/Wh5IrixvNcLJLMFRjZ4p7c2ySs6/eRQJU+ng52TSG0isps9nW58x14yziIO7kmekQ6GWaN3dZwlixnztqdLFWssyhSkJJBp4BTVY2GVY0XWZLKYUaifZ9Dbmz2FBSt6ddTOgx1BlNpJZPP1bK5G67SO8KZwumrlv0FbDFAhlD/5BcFdFghgsqRpjnECUCgnSVlp+4S8rN4qo8kGUqv7S5OYHNukW06uPh2IyV238AfYh4qnTzPpv/ZSLKf3zw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RoCj1wwPs2hEM26IIYkd/0xdN5zLl4laNPR0ZuLI+58=;
 b=WBA63obilaMkDQxhX7wRXWq3s6/0yFMCQacgi6K7qO+v9W5SsWHmoNNAQz65UKoc2FuK625QmZaQCZf3k7/WDyaW0JMaGT4Zh+Fp1XECL7Rn4NI2zab14CQ1+Pc2FZwbUSloBITlG4jFUiJgMyKl2eexVdXMrUvyvgAEr9rYpYI=
From: Jiamei Xie <Jiamei.Xie@arm.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Wei Chen <Wei.Chen@arm.com>, nd <nd@arm.com>
Subject: Some questions about virtio-net on Xen x86
Thread-Topic: Some questions about virtio-net on Xen x86
Thread-Index: AdeU5cKJ2Iuh63HAShmSu85qvWY46g==
Date: Thu, 19 Aug 2021 10:38:49 +0000
Message-ID:
 <VI1PR08MB3056C6F2FF2916207824CC1492C09@VI1PR08MB3056.eurprd08.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: C2E780D59DD4A54AB0D06E9FB1916D26.0
x-checkrecipientchecked: true
Authentication-Results-Original: lists.xenproject.org; dkim=none (message not
 signed) header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 3982f261-0923-4e19-4a77-08d962fd8d00
x-ms-traffictypediagnostic: VI1PR08MB4110:|AM9PR08MB7243:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM9PR08MB7243E9E377FA8D00CAE23B8A92C09@AM9PR08MB7243.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:1284;OLM:1284;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 d1+lCAfiYtIdXhm/UC6XJ6PIGe4JoISzabxUcUIkhcBlTTiLajn4MxJcQhU9Bbo8LYBev500qrumWIK3eO1pGvhpi70gss0LEcjJI213N76Duh+aX/IjcGALBmAvY1MfEK31cbc9km6bHma1cxs5KV3yrF/dPRaz6t0gSAhbVpGW/NqKk8mNITjyM4gurkeN3Qr+btj4Wl+TJk1rvZfifSz2J3yUPaj0Pw8L/vDddNpks3HmdNgUtd1Mck48E7nVYgr8c6CBHWh6mM9Q4WgI0L4lVraSObskLYoFaUh9MmdEGCphwuHPGz3JZW2OoROtOf17pEhprx8UbO4qF7mu/QJFVdq075HkyN4BcIl0IWA6q3O5tR/kHGjbXw2xVuCqnX9KlYKqpHvQdNO9JJWWBZEe0eQGlUpvzq47he8azJGq2p8IqnRBt5llgaKtq3bZHLIy8p4zhWh4hT+LcnzuCwxCJJ2Emo1SAa8d4ayx6WdxcEtPmq/pjW5cO0FkY1aDevj96nPudBXQHz7pqiHD5APadQ2OSUzbVc0PFyFqZXYxWCE5SyTAA5pbus8HxyepFsReJmy84MG447dhW6STm5mdPHfNW+NEO11MpwOSXldrDoabNIu7Y+umRyu95nR0gKfa+tqtcRhVG/7e8ST1hUg10LyYB7Z4zKBx1G8kYNWdCS21Q9lKBq6+VzRW/DcvxJ7gqohQ/0xBCs0uii4RKrkA5bUZ3fX+xmI73iNcwqmKrpwsqa7c9nxBRJGzg/SAtQ7isf0OSEUbAGyIdeB24ytI8pJke7fyn2v4afjPauHNPJ5Y2gM47jp3CRd+9Ts9
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR08MB3056.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(136003)(376002)(396003)(346002)(39860400002)(366004)(76116006)(66476007)(54906003)(5660300002)(38070700005)(66446008)(64756008)(316002)(66946007)(26005)(8676002)(9686003)(2906002)(7696005)(86362001)(66556008)(6506007)(33656002)(122000001)(6916009)(966005)(4326008)(71200400001)(55016002)(186003)(52536014)(83380400001)(8936002)(478600001)(38100700002)(21314003);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?wCTcLd/YKKLNxOFgzGIuPpevhiL8xpqEKsbn7BR6RgWvPPCphh12T7kdO34N?=
 =?us-ascii?Q?dOK22/xTXpfi7B8J6kEf63eSP+NHRP2SB+Km8tDAfzW6Lk/JF/jCS5E+KQgU?=
 =?us-ascii?Q?mV51uh3vW3Zze8MnUNWkbkhWc90dywsSPXd5ThBYd7vKR9Z3P0HGIeCk16rN?=
 =?us-ascii?Q?twmN1FmokB3GMpJFlqeFR9FDi6ZGsEBSxgYaxhoreNXe43BSK9EA2RLSVw66?=
 =?us-ascii?Q?c7r/LxRCPKqv4t9ZZfTufg8br2CBzM7A9OljeIwENSnFmNcaFjUDcLSSFCQc?=
 =?us-ascii?Q?hqtf11nE2l2H8vAlZ9wk2NUVUCJp6vsYhpLtGBG6h3PBpf9PK3lFMco9HbKn?=
 =?us-ascii?Q?5uMafVyeaLLucnx4jl5YE3XgWfLEY9U/fUrVD/XUouF8fZV87ZLRZPo4f2fq?=
 =?us-ascii?Q?Ls/w/PKLD6BmicDY0pqqLTaSnz/5pEuGbHnUPYJPtrZw1R7w9kpU2iR7S3ke?=
 =?us-ascii?Q?49CAgIom0isW6P1U/PVJdD+BiX6uiWcn4xIJFUwGm2sOszrxHUptltSF3jNL?=
 =?us-ascii?Q?c65d/hTG4svUK8m1t0bNhuKDSBuUsDIqp+eyf35NCNxlNHt0Cmc39I62GTFc?=
 =?us-ascii?Q?rf8kjFlkdmnbrLgnOJX74LLEWKYE5Legjwsl0Hja0Fjx9xS3uzhqTYiWKwPo?=
 =?us-ascii?Q?YmemqbML8NxH84pW4zhhrDganEJHqvzGBtCdCn6hXtIErlWMmOkI/GA2PQJw?=
 =?us-ascii?Q?XmcYFYl1AK2EnWtLyJCkWTWS9mwHyMos0pxW8A7B76ZRo7dlCkYfyGC2VBfv?=
 =?us-ascii?Q?OGvgVBj9ANirgPXY6NXZhlRyOYMqjVqehilMCg1clfE53poTrBVPhkGt81jQ?=
 =?us-ascii?Q?eOghO1u9KEDI0AXhM1DWFwyETOs/gt3Xr+t8+nAPVmARbW2vXVMhjwtFLZFI?=
 =?us-ascii?Q?MCqq41JJop7xKPinknLJpAieE3zMCnvG8A6SIjAKjq1Yi78WY+pNB9soW7nG?=
 =?us-ascii?Q?B1z3pyNHeZZy/2LC3ElSX3kAWsk/srtkXFwCjgHVDaYVqMvbrcdKH2HZ2QpV?=
 =?us-ascii?Q?r5ieMtcYPbYJvYPo6dyQT18CSJBNC/23QEx+mKmCXTIXXqsxsRBRsGmawJWT?=
 =?us-ascii?Q?5/zbFNdy2+4oWLUHeVjWh/lyukdtlZ/Yf9ZtsduWamsPIQbkbz/Q9ETCt9P7?=
 =?us-ascii?Q?mYIkTA7BZClTekvg8n1QQGJ0wqdfbKPHhWG/RDe95GgeLH4dM/xfrhDN0BC7?=
 =?us-ascii?Q?TpXAUvbAdDxH2hZh4ljiMnkZTxi/fImdmXLycyX0+CuzxBkn+go0LfuI0RKS?=
 =?us-ascii?Q?EvHHzLG533FBJcEq0giht5tAM58KAR03CvSsMZRO1NcpsZIlcpsanliPxSbi?=
 =?us-ascii?Q?RX9mRTTp3n4WDrKm+ML/XfjW?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB4110
Original-Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT053.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	630f55ec-70dd-4566-4d7b-08d962fd886e
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	958/mfdYQV1t5+ipEXvKOuwU57Pk1cDZn+KoXq3N7xAariRE7R/nLmHw8CRhE8vcavATCHzHtwJTluBnFLiliFfNIi+8kgHPq0LgQFRHT/dF8zl3J1c/rZM/gj9OHnK8w5zIkvLY7/p0N0UiNtd8nHh2Jpf7sNO2oDJtlqDCwwEIVcdRXspGreM83tXbLr6L3x40U4WZMSS0AhyBIJMoVGMRh8QfqjD3qkkCu6nZY0QRhIySnOu62vmvphhuBa4QaVKmrN9z2lbZ99fnlxoBHj2VtiWG5umdGgAIE61/Iy3W1d4xzDmoRJEcgwYUPy89vLX0xfQEnn/p8CZ7oZqRkgddfoNVGSSTt+yYWd+p8xehIAYDCUNBIf1Qg5y7nKGELDjT02FlNr4E2p2we4QT9OvA2sX2tUBHE6qYXRT4yvo2T8PRxAbvNAzATnA+w2FI4HJBnpbdCxdZwDbHHQGVf4cQoj/nBCsREHYsgv1mZVlGFyMusanLLTlaiumFeLqb+GMfZZ9oM24uiLLNsvG30ofbY1WGkVmhHnSSE3uGPvofidA0KSHTp+DviIiIHqzIRrHwU8tIORYhFvNEzUMWtl78gbPcjM35wdRgLZK/nVb/q7R9JOvwVYOf0O0ok3m/hjIOCxQU/6IClftTphEehaM0MzqgEq+sQLLX7MWlgKQdlDlO/JYFSf2EWr4x7lrT1T3i7q92stnC99bZwhIkf8QhQW551PiIoclKhZ2lIsuIK5YYITg3AapoP+NR1UpgapWhe8HgtxjAomL4TLQ9e4h59aUA9MHjVjenZvT0Ot4K8QboO8atoDg5pVEYMOcS
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(396003)(376002)(136003)(39860400002)(346002)(36840700001)(46966006)(70206006)(478600001)(966005)(55016002)(316002)(70586007)(6506007)(54906003)(8676002)(52536014)(9686003)(336012)(47076005)(86362001)(2906002)(36860700001)(83380400001)(82310400003)(81166007)(4326008)(356005)(82740400003)(8936002)(186003)(7696005)(6916009)(5660300002)(33656002)(26005)(21314003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2021 10:38:58.1420
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3982f261-0923-4e19-4a77-08d962fd8d00
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT053.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB7243

Hi all,
I tried to run virtio-net on X86 machine according to the Wiki page https:/=
/wiki.xenproject.org/wiki/Virtio_On_Xen.=20
And I Encountered some confusing problems.

The Qemu version I used is QEMU emulator version 4.2.1 (Debian 1:4.2-3ubunt=
u6.17)

The content of guest.cfg is as below:
type =3D "hvm"
name =3D "g1"
memory =3D 512
vcpus =3D 2
vif =3D [ 'model=3Dvirtio-net' ]
disk =3D [ 'file:xxx/rootfs.image,xvda1,rw,backendtype=3Dqdisk' ] kernel =
=3D "/boot/vmlinuz-5.4.0-80-generic"
ramdisk =3D "/boot/initrd.img-5.4.0-80-generic"
root =3D "/dev/xvda1 ro"
extra =3D 'console=3Dhvc0 xencons=3Dtty'

I enter the guest shell. Use ps command to get the running qemu command as =
below:

/usr/local/lib/xen/bin/qemu-system-i386
-xen-domid 31
-no-shutdown
-chardev socket,id=3Dlibxl-cmd,path=3D/var/run/xen/qmp-libxl-31,server=3Don=
,wait=3Doff
-mon chardev=3Dlibxl-cmd,mode=3Dcontrol
-chardev socket,id=3Dlibxenstat-cmd,path=3D/var/run/xen/qmp-libxenstat-31,s=
erver=3Don,wait=3Doff
-mon chardev=3Dlibxenstat-cmd,mode=3Dcontrol
-nodefaults -no-user-config
-name g1
-vnc 127.0.0.1:0,to=3D99
-display none
-kernel /boot/vmlinuz-5.4.0-80-generic
-initrd /boot/initrd.img-5.4.0-80-generic -append root=3D/dev/xvda1 ro cons=
ole=3Dhvc0 xencons=3Dtty -device cirrus-vga,vgamem_mb=3D8 -boot order=3Dcda=
 -smp 2,maxcpus=3D2 -device virtio-net,id=3Dnic0,netdev=3Dnet0,mac=3D00:16:=
3e:30:1a:6e
-netdev type=3Dtap,id=3Dnet0,ifname=3Dvif31.0-emu,br=3Dxenbr0,script=3Dno,d=
ownscript=3Dno
-machine xenfv,suppress-vmdesc=3Don -m 504 -drive file=3Dxxx/rootfs.image,i=
f=3Dide,index=3D0,media=3Ddisk,format=3Draw,cache=3Dwriteback

The network-related parameters are
"=20
-device virtio-net,id=3Dnic0,netdev=3Dnet0,mac=3D00:16:3e:30:1a:6e
-netdev type=3Dtap,id=3Dnet0,ifname=3Dvif31.0-emu,br=3Dxenbr0,script=3Dno,d=
ownscript=3Dno
"

Get the interface info as below using command 'ip a'. The mac address of et=
h0 is
00:16:3e:30:1a:6e, the same as in the qemu command, which made me think
 virto-net has run successfully.
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group=
 default qlen 1000
    link/ether 00:16:3e:30:1a:6e brd ff:ff:ff:ff:ff:ff
    inet 192.168.200.3/24 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::216:3eff:fe30:1a6e/64 scope link
       valid_lft forever preferred_lft forever

I made further check.=20
1. I run command 'lspci' and got below message. But there is no virtio devi=
ces.
00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02=
)
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton I=
I]
00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03)
00:02.0 Unassigned class [ff80]: XenSource, Inc. Xen Platform Device (rev 0=
1)
00:03.0 VGA compatible controller: Cirrus Logic GD 5446

2. Run "ls /sys/class/net/ -l", what I got is as below:
lrwxrwxrwx  1 root root 0 Aug 19 08:15 eth0 -> ../../devices/vif-0/net/eth0=
 lrwxrwxrwx  1 root root 0 Aug 19 08:15 lo -> ../../devices/virtual/net/lo

Run "ls /sys/bus/xen/devices/vif-0/net/ -l", what I got is as below:
total 0 drwxr-xr-x 5
root root 0 Aug 19 08:15 eth0

It seems eth0 is not virtio-net, properly a pv-net. I am really confused.

 I have the following questions:
1. Does Xen x86 still support virtio-net based on QEMU backend?
2. If yes, is there anything wrong in my guest config file?
3. Is my way to check virtio-net in guest is right?

It is highly appreciated if you kindly tell me about these.

Best wishes
Jiamei Xie



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 11:07:21 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 11:07:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168540.307713 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGft1-0007Zj-L6; Thu, 19 Aug 2021 11:07:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168540.307713; Thu, 19 Aug 2021 11:07:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGft1-0007Zc-I9; Thu, 19 Aug 2021 11:07:03 +0000
Received: by outflank-mailman (input) for mailman id 168540;
 Thu, 19 Aug 2021 11:07:02 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KGBc=NK=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mGft0-0007ZW-Dt
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 11:07:02 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c1d88354-c3c4-4189-a25d-4d6448a25e76;
 Thu, 19 Aug 2021 11:07:01 +0000 (UTC)
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur03lp2059.outbound.protection.outlook.com [104.47.8.59]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-24-S5WzSoGvNUOz3ml3ftubKA-1; Thu, 19 Aug 2021 13:06:58 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB6863.eurprd04.prod.outlook.com (2603:10a6:803:12f::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Thu, 19 Aug
 2021 11:06:57 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Thu, 19 Aug 2021
 11:06:56 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM9P192CA0016.EURP192.PROD.OUTLOOK.COM (2603:10a6:20b:21d::21) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Thu, 19 Aug 2021 11:06:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c1d88354-c3c4-4189-a25d-4d6448a25e76
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629371220;
	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=oHgNK1P2+Qieg+5pz1vyjo5nwU/Ij1WJCnqDDxepy8Y=;
	b=cxlBaWMQkxL6A0AsIIMcMepuv4VLM7mJfzukhGwwGEECO7rg9vMfYFiH4/2DtHp+cBIsXc
	l13n3Jpw2RPjxHIo2iky7yZT53AveOSztnpEKrhGccnGJIZjlwVIUdM5yAYcLtIC+gOEni
	Sf0iK9Mp/zjgm24NEs25GGcJPH40vaQ=
X-MC-Unique: S5WzSoGvNUOz3ml3ftubKA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TKba09tLGb+Vvr1Q4IB0shQ0fwgD1deVk7mAjAUX/K74pivSXI+ZSi/NLJZXjQlTj6ejloRA/kajd1MUTA5pviOsWvHGxO2BTzihIKJRluArcmOdDNN8SRNAhECupdtruo0NP90JXWJrn/8d2YrutU+BtJBFeGgBTb4KoV/11qeH7YRdsvBF2CIhTXMgjgG1nHyx0ud1k9MnSr1EBIwLQiRSnZ+9s64n+V89gm8tAVjokxI7DdJVgayhR+N1813jAy+XEwvb0NFect2lUdE0IVv3scs7xbRPHeOQU6+YdUSEh6fBO3wau83z3Jw0K207Dz6sd5tWolGtabjOtbBrNw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=oHgNK1P2+Qieg+5pz1vyjo5nwU/Ij1WJCnqDDxepy8Y=;
 b=QWS3qbqgR00B/LlFByjgrUXXYtol8HnPLsTdCVTdac2okRleACVtqogzy0q0Hh/S7SbiVgVMnb5lylYM+3Ed5AKWisUqf0d0jhijP/wUPVJU+nSYiw9miU+1PgqbPAy7/MKeaA4akjT+EDhcS8UA+npmpv+a3ZoKayFfZYLdleGijhORMAHRt1IVv0rhjcJKV9VSyNyy7hEGvsbefIrVWlOAGvRWJky3hbZky38rjruqjSo9QJmuGZ9vzZGeS32y5p0q9JC3qxZ6aN5WAwBDhebadc3Nn0t41W6I9w0n9Y4tZ61FlutEZ5heNCdFyqjUM9ubF2BHEa+WHyX/UZGLEg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v2 03/13] libxenguest: deal with log-dirty op stats
 overflow
To: Juergen Gross <jgross@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <0bebfe8c-6897-dc8b-7fe0-9127d4996eb8@suse.com>
 <668ef720-389f-4cf1-608e-64aca4f7c73d@suse.com>
 <f69e5a2b-cd8c-3534-ab7b-427fb1fc1cdc@suse.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <f0e9c8ad-dfa2-77ac-b3db-02cba59e843c@suse.com>
Date: Thu, 19 Aug 2021 13:06:54 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <f69e5a2b-cd8c-3534-ab7b-427fb1fc1cdc@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM9P192CA0016.EURP192.PROD.OUTLOOK.COM
 (2603:10a6:20b:21d::21) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b432521d-3de7-4c2c-b34b-08d96301758d
X-MS-TrafficTypeDiagnostic: VI1PR04MB6863:
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB6863E553E73C3C69ACCA51A3B3C09@VI1PR04MB6863.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	w7GOHhwKtn1ap+bXCSFK1kUxIBR3cDAZG5460d+weTEoydmvsmZPBKzLjLjAeY+ZZd/KCBVKw1VVBeFkqWkLnwotHPNtR9s6CkGtjjtFfyZJ+WMZEENfM2YCN5OLrhuKayb2/U9YYR+BAuz/WqLS7Y7U/PGdrNGI6oCUneto85+sHcFA8UIPxKsDWNDxDj5kCTJMiJEs4jIyLs7rStQa+ba6i8Xbu5WOi/J9/ygi+CuZ45XJq/MQBvhWvbDyu3/fEBwLveBIOuX9CmSa19qL5eo68GJzTFfj8NXiXp0zZv74IHLAxaQHcxGaWOilnnULLRJW34mISMQUJal7FE4wzhochuVwee4NyRfvT5yKXSO6rk1qbh+MJKBubOvq68sokxz1TMxmTsJIv/XjMHhHCz5hWyLpJAhDyzBUGApJNmoIsrOt9WjGSPvP5VzLsHXYnNuZERrPZHvwXwGUYvWyJbFXooOwNltmmIwF2vPe1GiUS5/CM50fIYyqVmmPwIEo4Ap8R4i0mvSVGt3KlJHife0MaO0J7V5Tq/DSK2DPRFZ3DqdQF7ulbcqf5RurBu0qeywldjnKJSmUbGBkCRftzUX2OSz0VG+HjFMKCBQORqsBxqBbGaxiJHAfNy5AshJFad8iBMhAxdRzyRh2kBsb6aN2IrTk5PAbNtbaYMlrDHTQMDFMNVyAiBu/Z3W/J4bPK2/55fZzVOW8BD7wk2DQidLOjfE/9z71VZf9qERtq2GhvyW8Zo2dFLbSgz1aIaMy
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(376002)(396003)(39860400002)(346002)(366004)(8676002)(8936002)(6636002)(26005)(2906002)(316002)(16576012)(86362001)(31696002)(2616005)(956004)(38100700002)(83380400001)(53546011)(37006003)(4326008)(31686004)(54906003)(5660300002)(36756003)(6862004)(478600001)(6486002)(66946007)(186003)(66556008)(66476007)(14143004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MVVoZUc0R3ZkV1JoRmJhMEROT1JQcmN1VmJSQjlHWG1RdlpJSlo1cFdTMXhH?=
 =?utf-8?B?R0RwTjNzZWk2MTZrdE9QVENqWVFGekVrSjdrL1NtbFg5RzFkM21xS0MxZ1lj?=
 =?utf-8?B?aXZ4NkEvMTJCSEx2ZnRVT0VERnRNSzRJMllwR1FRSVNuSUxxTlRVa3dqSmpB?=
 =?utf-8?B?cll0U3dwZy9RTThmUTZBdkpoRnVLSnc0eU1kRkVwRGdYN0hWQ0U3MWpveWxM?=
 =?utf-8?B?YnFHdEhocWhWcWpuUkdPU05YQU03c0FoWDBQazh0ZWtabGxQSHVZY1l0L0I0?=
 =?utf-8?B?a2JsWGNpN3JRR3l0dlcyVlgyS3h4UGRHYjlpc2xXdkJOdFFzN3Z1RFkvUHpH?=
 =?utf-8?B?YTVSS0srRlR2NW84cTBFTE03R1BuQ0RFdFdtQTF5M2NYRW9VYkduNG9wOHFj?=
 =?utf-8?B?KzFiSzNTaktBZTZlcmNQT3RWOHV6d1kvR3FsK3hyVTcxdFB2R2gzK29qVGJ0?=
 =?utf-8?B?cTY0T1prWTIxR3E5Y2N5eTFSaVAyQm4rVE8yNE9TeEo2ajhIVXdBOFdneDAr?=
 =?utf-8?B?cnBFbEhlNWpnMVRGNm5Bci82ZUVyVHJ0ZWNXcEpBY2V6UEo4M2o2MkRzVGVj?=
 =?utf-8?B?S3F0ME02bGRScWJXRS9kdzFMYlNkenVqUE45aEdsY3pJb0JhU0ZTMWZtbnNV?=
 =?utf-8?B?MnpoYkpFSytMRGpwV0VNbGpxbzBaS2ZEZEZYK0xibkV6TUQ5V1NBWlMrcTBT?=
 =?utf-8?B?a1BhcFVkUWhPYk1LQVdFN3lXRzNTS3EweU9TNnRsbnNsaGhCS1RkRTNhY2tG?=
 =?utf-8?B?YWcweVVrZ1ZCUDJqaU0wZEpiL0dQR3NJb3ZRaTRRMjRjZkY4a0FVY20vN1RV?=
 =?utf-8?B?U2UrWXlrVkJicVpWQkxpbEYrQXgxOHV3UjA3ZWdDQWdqWXdhVHFpeVJkMTFu?=
 =?utf-8?B?ek5NUU54bUVmSmVsYXlndmhZMTdOZ2pMQzBsTnpxNSs2QWZMWFlXalp0S1NM?=
 =?utf-8?B?NWFpaVJKVkhQbjhMS1FJNnlHNzdDbHBBeHBQemZjbjJXMStuU2hzYTA0YUht?=
 =?utf-8?B?K3pxZTF3Mkt2TTU4bGFVZlVwUENDWnpTTkNoamRDM2tZYStUU1Q3VGJCeGRu?=
 =?utf-8?B?RmcxL0hzbkRFUitGdTlZQjJObDdJVWZVNVVSaldMc1hOcGtkeHZXWjB0aWtF?=
 =?utf-8?B?cmlxdHRNR09PV0YzN2FKajQxUmdMZ1l4cW1VV29jL09hSU42czNCM2h4UVlM?=
 =?utf-8?B?aXhsaEdLTjVYd0NKM2ZIWnBLOTVTRDJxWmNJKzhmQStqTVMweVJheEorUWFN?=
 =?utf-8?B?TzIzMjlKQTJLN0s3MndJM1Y0NXc1RkQvTWdZcXU4ZWF4Q3pKMWhqTXNycnYy?=
 =?utf-8?B?Yjh1Y2F0NmJQRnlFUGx0aWs5NnJlUkpmRGtTeEdBUjFZdW1sT0c3aFh0Z3Zw?=
 =?utf-8?B?Tk1qYUpVMXU1QjhON1dhUldoWDJIUW1pME1vYkhoNTcxOUdGVWZuSU80YkJL?=
 =?utf-8?B?Yno4VWV2VGRaZkdsYUMxMEhYd25RYTBXaklwZDRUR0gyRjdXRU1NdldyVity?=
 =?utf-8?B?QnNSeEhHellvTEQxUDNEdVZNQnYyQ1JtS2V4MG1hcnVLVUxRMWxNYWU1cjlo?=
 =?utf-8?B?eGpSNHFlaVBZZjR4SmM3WHhOcWZGNHUyTkM1Vy9lMkR1TTFva0NITDFSWlRy?=
 =?utf-8?B?UXZORXZmR29ZRWpiSXZ1MjZWbEgzR2lWZnpsTW1wWFdQSXhFZkQxamdnQkhL?=
 =?utf-8?B?Wmd4cHR6ZkVqTTdpd0t1Rzl3V1F0c3JvcmFsc1Z0SThGejF5WkY4L1E5MzlF?=
 =?utf-8?Q?1xWXVRplZNYAHoWUeyMgOBF6QTPBYS9R6TurbFc?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b432521d-3de7-4c2c-b34b-08d96301758d
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2021 11:06:56.8993
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Atr3vZeh4n0HXaTNn2pB5jfHP9pPx0WugSSXGk6Rvj1zQtsvyZWfL7Q/0M4k8yD1HcmJz2zkjYICheuyteAiHw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6863

On 19.08.2021 12:20, Juergen Gross wrote:
> On 05.07.21 17:13, Jan Beulich wrote:
>> In send_memory_live() the precise value the dirty_count struct field
>> gets initialized to doesn't matter much (apart from the triggering of
>> the log message in send_dirty_pages(), see below), but it is important
>> that it not be zero on the first iteration (or else send_dirty_pages()
>> won't get called at all). Saturate the initializer value at the maximum
>> value the field can hold.
>>
>> While there also initialize struct precopy_stats' respective field to a
>> more sane value: We don't really know how many dirty pages there are at
>> that point.
>>
>> In suspend_and_send_dirty() and verify_frames() the local variables
>> don't need initializing at all, as they're only an output from the
>> hypercall which gets invoked first thing.
>>
>> In send_checkpoint_dirty_pfn_list() the local variable can be dropped
>> altogether: It's optional to xc_logdirty_control() and not used anywhere
>> else.
>>
>> Note that in case the clipping actually takes effect, the "Bitmap
>> contained more entries than expected..." log message will trigger. This
>> being just an informational message, I don't think this is overly
>> concerning.
> 
> Is there any real reason why the width of the stats fields can't be
> expanded to avoid clipping? This could avoid the need to set the
> initial value to -1, which seems one of the more controversial changes.

While not impossible, it comes with a price tag, as we'd either need
to decouple xc_shadow_op_stats_t from struct xen_domctl_shadow_op_stats
or alter the underlying domctl. Neither of which looked either
appealing or necessary to me; instead I'm still struggling with
Andrew's comments, yet I didn't receive any clarification of further
explanation. Plus I continue to think that statistics output like this
shouldn't be assumed to be precise anyway, and for practical purposes
I don't think it really matters how large the counts actually are once
they've moved into the billions.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 11:10:11 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 11:10:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168547.307728 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGfw2-0000V8-4o; Thu, 19 Aug 2021 11:10:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168547.307728; Thu, 19 Aug 2021 11:10:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGfw2-0000V1-1w; Thu, 19 Aug 2021 11:10:10 +0000
Received: by outflank-mailman (input) for mailman id 168547;
 Thu, 19 Aug 2021 11:10:09 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KGBc=NK=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mGfw1-0000Uv-Fc
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 11:10:09 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id f9938e80-d5fa-49cc-ab66-9d532fe9e89e;
 Thu, 19 Aug 2021 11:10:08 +0000 (UTC)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2104.outbound.protection.outlook.com [104.47.17.104])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-31-uNoFujycOUeZdFIn9arBkA-1; Thu, 19 Aug 2021 13:10:06 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4381.eurprd04.prod.outlook.com (2603:10a6:803:6d::30)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.19; Thu, 19 Aug
 2021 11:10:05 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Thu, 19 Aug 2021
 11:10:05 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR2PR09CA0012.eurprd09.prod.outlook.com (2603:10a6:101:16::24) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Thu, 19 Aug 2021 11:10:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f9938e80-d5fa-49cc-ab66-9d532fe9e89e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629371407;
	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=6w97TOntY/prn9DUSvtMN1qyrXG60d8REduGPNvHIbg=;
	b=UDmiOYfQvuX2MqHLQLRFvUAphvj9Ln1c5Ckc/oFKDS2InBIHNvjTZ2IePZmvbZ+LKytnrv
	pjYUKW4hAPT4xThNZiDMbjPEMPSD9tQb4wFbUGaWkwdTeu7wTm5PJWxKlOGw8j+gkoIa7F
	QwK1/paHwlx+Px0vRMBvsBil8EMaJzE=
X-MC-Unique: uNoFujycOUeZdFIn9arBkA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TcDW/pnYD9Uv7+pEFYLUTODSdZ28QtYhIHcwSfezjM6xPA2qaLqXcaDS4RlvV8j55X66UddYHaNhNQhKt24MXKKIStbZBqzPmK6yIvpoJj7FwCBTjXPq3SyzGnSmpqVDjPp5zENCApvkabDj8/0U0ObnY5ApblCDvH/U3RfUwz37w7w2C91I2+KFN4O3J+1vi7v9qLZ8Nkm60msO+d9/CCGYbAR1euEV/WB1gtKTqxRp/ZNbcS7wGCmenYqPWKJYaClVESOd02sM7pHYQ5GVJn7fYB5ToKsIWOlbFu063R1ewUF3eU/ER1Sb6GdTsexyDBQCJREg3doOWtMNcTskZQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6w97TOntY/prn9DUSvtMN1qyrXG60d8REduGPNvHIbg=;
 b=kSg4TJMeyr9LIK+F2kyBZsXqHKcdKNkUC28b5BDtctli9mUSfFGDtH6zKfIY0j+ZePC/gxn1MIeEZwI17LC42xoBPOKkRwNK5KsHokoqgZPF1Q31rc0ETfLjRICES5RFoBBQXnVevFNCr4oFys+rsUIol5xxFNGBH5uoYecTUe3YIpWIUnfQ6jR8jH/WjgQl4Y0KPTpeCsf/ux/2Wx2VNNyCOYgnOdkHL8RV0cUJigjIMNxUeLY7q/CSVcHtOWucgwQ0S3LrInIBCnpaNCi6FTkl/YKKF7Y7iNLuzYfRegwLhOWpo6kk/MB2qcFisYgTTEzSwuAAjYlWIlWdvAoaHg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: meaning and use of IOMMU_FLUSHF_added
To: paul@xen.org
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <d6a6e5a3-5ea2-638e-1eb5-2fee73d82188@suse.com>
 <496eb0fb-138e-d807-ebad-fc4b792dd9be@suse.com>
 <d426b1fc-cf57-469a-59c8-a2d28ed2e312@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <f89011ff-dd4c-aa60-ebcb-1baba5c431ed@suse.com>
Date: Thu, 19 Aug 2021 13:10:03 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <d426b1fc-cf57-469a-59c8-a2d28ed2e312@xen.org>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR2PR09CA0012.eurprd09.prod.outlook.com
 (2603:10a6:101:16::24) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: da522228-9d12-48f8-7092-08d96301e5cd
X-MS-TrafficTypeDiagnostic: VI1PR04MB4381:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB438139B7F6087C09E96F9E97B3C09@VI1PR04MB4381.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	253c55HFw4t9ktlYu0L3r7EbcaASCeSWk2Mc7YT5yxGlepV0sh/VLrZ1mJhJ0mjzqymxNwVo+BBJRB/Xi6ZLCeX5h1L3u+LSAx9wWyvkSwnzG9ga8H/OgB+Q7/AwRuw29E/dCpZ2ovvj/Qf9wDQScf49A9LIef595H/uqQojjuGGTggPBDqzkQSR2pil7bWDHInkoujCRQBuRLt34SOL4ycHgXh2tAkCF5aDthX/Rf/pgrSZfnO8dV0QGvSmhUBQ7pklVnz1iCZ+k/KVHtW0BXEES6UXPDO++/YivwHJAVeNG5MMelVMjqU8dYziuOL3xFfld0Jxz8mYfGNSCysGaT7tL0aMRkFS1HUD7AxYcd9t7GqSe+7zYvQqCP0ghCZ2VA15V6jVXKiK+wmURu9mEiWQ1pl/nRC99cQnTwDKDSja+L3iptC6vurQ/0iHkrMIG6RaMyOpwqlSBBO1CaJ4F8JoibR7JbJzB8UiPX65wn/cxxg+8SwsrrNFOCyFXqJ/f0rc3D51oHHRBoN/qSzeSSBBtLW26EnuQdL0Am5ht739RYuuF8CWLnLu0g3LF4FEDys6bj+rFAByFrrViJ3oTlDgN3yIf6VNBSe4+YqNYqt3PqgoHoOlScqaeUTBjP7Dk7xBSpatgnLbiw1bQH0oNOuZPxKR9yFvp7dbNQ6yREq2oYnrFz12sJ7txrfi5ZeIjC68WXbLAOhCR5IWE0OKegClQq1b4z1253RnmNL+Yv8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(366004)(39860400002)(376002)(396003)(136003)(36756003)(956004)(6916009)(83380400001)(38100700002)(4326008)(53546011)(8936002)(2616005)(86362001)(2906002)(26005)(8676002)(186003)(16576012)(66556008)(5660300002)(66476007)(31696002)(478600001)(6486002)(31686004)(316002)(66946007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Ykc2UHFVVFJlNzFqclRpbGdwVUpkL0REbFdrZk9hbXdGZVIwbjdrNFRFQ2dp?=
 =?utf-8?B?Z3AvblkvQ1EwcERZbytYUXpVR3VRTlJCU3ZMNElMcU1HWG1MM1pkb0JieGY2?=
 =?utf-8?B?d0tncmVvV1B5R0hWa3J4enNWY0RJTU5vREo1K3AvM3I2bmJUVU52RGRGekRj?=
 =?utf-8?B?bklQaDhNL3FGTnNaZkVFb0c2OGRPaUlGbFI1NDlPK1hyaWxvMHdYblVXSEIy?=
 =?utf-8?B?T1VJNkQ3Y0phbWlRbHllSDFzZG1ZQml4WHF5eEFKa1VvaG9PcFljelNucnFl?=
 =?utf-8?B?SEJPd2JodG9YaDhVdXFsd0xxL25CbS9vbEpaUnJZeXNoWGdWc0ZvblYxWWlV?=
 =?utf-8?B?bXRTdTdXYXlZY0dEQnFZUWwxRmJGeUNOMU5zOTAwd3A2VVRiUDdoNklXSVRC?=
 =?utf-8?B?M0lJY2FNZ3FUVFZYSERJcDR4dVY4dXBXN0JNVE5vQzY1SGhJaDlpVGdoMkZN?=
 =?utf-8?B?RjZZeVJnZFNGYTNwbUUvRHkvS2dlUk9MZ3NWbzIxcXZ2K2FSQXEyQXNSYXVR?=
 =?utf-8?B?d2ZQdmpnSUhsanVWMElyY3dJUE5pNkw3dk9VNkI0bW1sOUxNdksrVjVRRVla?=
 =?utf-8?B?cDBJWUNCWFNBWUZ5N1c5MnRlOEhnaCtJVm5lRkppOXlpYUJ6Mk5rN053eGJY?=
 =?utf-8?B?ZEo2bjlYRlJkamZ4NEJNNVRrZ2VWZW5KRXluaDNrS1Z1V21yeUpLblBKWUZK?=
 =?utf-8?B?OWVXODgvejNSQjBDd3JOZjZESWtWdEZXVmJjM3RKZ1dXVTcwYVdWbzd5OUQy?=
 =?utf-8?B?TkNWQ25XTDBNd2ZHTTh3ZDNOajZiZzJqZGxuUkgwQzR3VlpUZnE5a2pWbHZm?=
 =?utf-8?B?Mmw2cE80RDZwYjJZTDFDS3RhL0JvUlc5bnZxZ2pqbHY3cWszZm95S01lL2tJ?=
 =?utf-8?B?eXdpdUNXdkRSb1Y5end4cDRjUitQODlDZWQ4UUpyVUVTcGNaQVg3OWxYNStH?=
 =?utf-8?B?a1lRdEEyTGNhdlA5RFZ3dkt0OHlWTFZpZXJQcXVRdEE4Q1I4UXhlVnVXa29y?=
 =?utf-8?B?WDlrejVBZkYwamhtaDM3L2oraTBzZ0dtR1lEdGN5ZU53TXhhc1BoZEh0Yzdr?=
 =?utf-8?B?UENvc0FBVGJnb0dvNGhIOFRMS05IcnBRTGxWUG02UFZ5TUVJMjNVT3REK05t?=
 =?utf-8?B?cjl0ZEc2OFlnREV0WXRYZDQydDhiRnMrZ2pJanh1bHV5T2EvMnYwNlE1bEt0?=
 =?utf-8?B?d3ozdTBPWjhmQTdlMFkvQUZqTlQ1d1AxZzVrREFQQWZqQ2tuRHJxNDFZL0N1?=
 =?utf-8?B?bjlwV1BOQUNNYmZRTjZGUlljTGZUME12elV5eEJKcUVhcjRGTEtTdGF6VnI3?=
 =?utf-8?B?ck5CL3JnY0Y1Mncram8wR0JudEhqQ2ppS2pCOVZhU2w2TDhja044OEt3cDFD?=
 =?utf-8?B?dmJIUlYwSzlhTVlpS1Y0VUc5TFhhTEJzMmtDZkhyRzg4bGU4cXBOVExENHpR?=
 =?utf-8?B?OStIa3ZMazVDZllsWXpOOC84THpBeFZITkNueGJoMzhJTUg2aGtIeXRFcUMy?=
 =?utf-8?B?Z0JQSUVJanEybkI3Y1pNVzJGOUNLQjl2TEgwUWhlWDlGVzJHVFRrSTAybDVt?=
 =?utf-8?B?dWRqem12SmY2WWovTFdzRVQ3NEZSZ1U2K0VTdThsM2czRGRDNi9kMEtRRlVs?=
 =?utf-8?B?QUxYbHBZeGE2Vkh2cjl0ZmFjYkVNUHNESUgxOW1CdFRVcisvUlRtc0FHUDlk?=
 =?utf-8?B?WmhDcVBFN1Y0ZHI0dFg1MzJ2WkRXLzllUnR0V0RkK2dzNFIrTUNFSk5ZS3F1?=
 =?utf-8?Q?iOBhfz9tccDHCrg/M5IJJYooxGiWEmFXdihEm2b?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: da522228-9d12-48f8-7092-08d96301e5cd
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2021 11:10:05.2208
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +OP8D6dnabrQgeZN2hf/HZtCARcs9h2yGb5B5fR2I9+hMMVt1BI7kv9QUDTZdjqNLC+fHgwbYPhUwCTMDqEGvA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4381

On 18.08.2021 16:15, Paul Durrant wrote:
> On 18/08/2021 13:09, Jan Beulich wrote:
>> On 18.08.2021 12:51, Jan Beulich wrote:
>>> back at the time I did already question your intended meaning of
>>> this flag. I notice that there's presently no consumer of it being
>>> set (apart from yielding non-zero flush_flags). I'm afraid this
>>> model makes accumulation of flush flags not work properly: With
>>> both flags set and more than a single page altered, it is
>>> impossible to tell apart whether two present PTEs were altered, or
>>> a non-present and a present one.
>>>
>>> VT-d's flushing needs to know the distinction; it may in fact be
>>> necessary to issue two flushes (or a single "heavier" one) when
>>> both non-present and present entries got transitioned to present
>>> in one go.
>>
>> No two (or "heavier") flush looks to be needed upon further reading.
>> I did derive this from our setting of "did" to zero in that case,
>> but that looks to be wrong in the first place - it's correct only
>> for context cache entry flushes. I'll make a(nother) patch ...
> 
> Yes, the intention of the flag was simply to allow a 'lighter' flush in 
> the case there are no modified entries as part of the accumulation. If 
> it is impossible to tell the difference then I guess it's not useful.

Actually things can remain as they are, I think. The problem really
was the flushing bug (patch sent earlier today): If it was necessary
to flush previously present entries with their actual did but not-
present ones with did 0, the flushing logic would have had a need to
know. With that bug fixed (and hence with flushing only needing a
yes/no indicator), all is fine as is (in this regard).

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 11:25:17 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 11:25:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168553.307739 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGgAZ-0002Bn-DR; Thu, 19 Aug 2021 11:25:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168553.307739; Thu, 19 Aug 2021 11:25:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGgAZ-0002Bg-AA; Thu, 19 Aug 2021 11:25:11 +0000
Received: by outflank-mailman (input) for mailman id 168553;
 Thu, 19 Aug 2021 11:25:10 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/7+2=NK=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mGgAY-0002Ba-Ps
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 11:25:10 +0000
Received: from smtp-out2.suse.de (unknown [195.135.220.29])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 1c40467b-00e0-11ec-a5e8-12813bfff9fa;
 Thu, 19 Aug 2021 11:25:09 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 920E11FD93;
 Thu, 19 Aug 2021 11:25:08 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 395B21340C;
 Thu, 19 Aug 2021 11:25:08 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id a5+8C5Q/HmEYUwAAGKfGzw
 (envelope-from <jgross@suse.com>); Thu, 19 Aug 2021 11:25:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1c40467b-00e0-11ec-a5e8-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1629372308; 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=K+/Zke3M1fTKkbZu+8B/ox03FCgT0Pi7r2HiZ8xIwFc=;
	b=lfgto82k1DEG3t4pt5O0SbJyIbQUgdJnu6M406tLqMnyGvXk8skK/n5LYci4Ny0oesltGI
	zeeEFTBA7cbgBn83yjn87aBWiMHDUqnJ7BEwZo+r2LNuw/1pm/xaeMyQv+rKN9llXP8HLq
	X9fSPksuKdND6SRA2Dz+wYRx83rKm94=
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <0bebfe8c-6897-dc8b-7fe0-9127d4996eb8@suse.com>
 <668ef720-389f-4cf1-608e-64aca4f7c73d@suse.com>
 <f69e5a2b-cd8c-3534-ab7b-427fb1fc1cdc@suse.com>
 <f0e9c8ad-dfa2-77ac-b3db-02cba59e843c@suse.com>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH v2 03/13] libxenguest: deal with log-dirty op stats
 overflow
Message-ID: <347edc1f-a104-1bc3-0cb2-2cfffcb6214a@suse.com>
Date: Thu, 19 Aug 2021 13:25:07 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <f0e9c8ad-dfa2-77ac-b3db-02cba59e843c@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="RY2HSgQLmFtTNkuQrkyaejGqogh9H2iZb"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--RY2HSgQLmFtTNkuQrkyaejGqogh9H2iZb
Content-Type: multipart/mixed; boundary="Er0ubBy9SQHg74Ki91yuZRdUetcf6mo7Q";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Message-ID: <347edc1f-a104-1bc3-0cb2-2cfffcb6214a@suse.com>
Subject: Re: [PATCH v2 03/13] libxenguest: deal with log-dirty op stats
 overflow
References: <0bebfe8c-6897-dc8b-7fe0-9127d4996eb8@suse.com>
 <668ef720-389f-4cf1-608e-64aca4f7c73d@suse.com>
 <f69e5a2b-cd8c-3534-ab7b-427fb1fc1cdc@suse.com>
 <f0e9c8ad-dfa2-77ac-b3db-02cba59e843c@suse.com>
In-Reply-To: <f0e9c8ad-dfa2-77ac-b3db-02cba59e843c@suse.com>

--Er0ubBy9SQHg74Ki91yuZRdUetcf6mo7Q
Content-Type: multipart/mixed;
 boundary="------------F5A225BCA0B86820088128BB"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------F5A225BCA0B86820088128BB
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 19.08.21 13:06, Jan Beulich wrote:
> On 19.08.2021 12:20, Juergen Gross wrote:
>> On 05.07.21 17:13, Jan Beulich wrote:
>>> In send_memory_live() the precise value the dirty_count struct field
>>> gets initialized to doesn't matter much (apart from the triggering of=

>>> the log message in send_dirty_pages(), see below), but it is importan=
t
>>> that it not be zero on the first iteration (or else send_dirty_pages(=
)
>>> won't get called at all). Saturate the initializer value at the maxim=
um
>>> value the field can hold.
>>>
>>> While there also initialize struct precopy_stats' respective field to=
 a
>>> more sane value: We don't really know how many dirty pages there are =
at
>>> that point.
>>>
>>> In suspend_and_send_dirty() and verify_frames() the local variables
>>> don't need initializing at all, as they're only an output from the
>>> hypercall which gets invoked first thing.
>>>
>>> In send_checkpoint_dirty_pfn_list() the local variable can be dropped=

>>> altogether: It's optional to xc_logdirty_control() and not used anywh=
ere
>>> else.
>>>
>>> Note that in case the clipping actually takes effect, the "Bitmap
>>> contained more entries than expected..." log message will trigger. Th=
is
>>> being just an informational message, I don't think this is overly
>>> concerning.
>>
>> Is there any real reason why the width of the stats fields can't be
>> expanded to avoid clipping? This could avoid the need to set the
>> initial value to -1, which seems one of the more controversial changes=
=2E
>=20
> While not impossible, it comes with a price tag, as we'd either need
> to decouple xc_shadow_op_stats_t from struct xen_domctl_shadow_op_stats=

> or alter the underlying domctl. Neither of which looked either

I was thinking about the domctl.

Apart of struct xen_sysctl_page_offline_op this seems to be the only
left domctl/sysctl structure limiting guest or host size to values
being relevant. Changing those would be a sensible thing to do IMO.

> appealing or necessary to me; instead I'm still struggling with
> Andrew's comments, yet I didn't receive any clarification of further
> explanation. Plus I continue to think that statistics output like this
> shouldn't be assumed to be precise anyway, and for practical purposes
> I don't think it really matters how large the counts actually are once
> they've moved into the billions.

In case the underlying problem can easily be avoided be changing the
type of the field I don't see why this shouldn't be done. Especially as
in this case a misleading message will just be avoided.


Juergen

--------------F5A225BCA0B86820088128BB
Content-Type: application/pgp-keys;
 name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Transfer-Encoding: quoted-printable
Content-Description: OpenPGP public key
Content-Disposition: attachment;
 filename="OpenPGP_0xB0DE9DD628BF132F.asc"

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOBy=
cWx
w3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJvedYm8O=
f8Z
d621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y=
9bf
IhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xq=
G7/
377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR=
3Jv
c3MgPGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsEFgIDA=
QIe
AQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4FUGNQH2lvWAUy+dnyT=
hpw
dtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3TyevpB0CA3dbBQp0OW0fgCetToGIQrg0=
MbD
1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbv=
oPH
Z8SlM4KWm8rG+lIkGurqqu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v=
5QL
+qHI3EIPtyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVyZ=
2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJCAcDAgEGFQgCC=
QoL
BBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4RF7HoZhPVPogNVbC4YA6lW7Dr=
Wf0
teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz78X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC=
/nu
AFVGy+67q2DH8As3KPu0344TBDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0Lh=
ITT
d9jLzdDad1pQSToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLm=
XBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkMnQfvUewRz=
80h
SnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMBAgAjBQJTjHDXAhsDBwsJC=
AcD
AgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJn=
FOX
gMLdBQgBlVPO3/D9R8LtF9DBAFPNhlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1=
jnD
kfJZr6jrbjgyoZHiw/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0=
N51
N5JfVRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwPOoE+l=
otu
fe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK/1xMI3/+8jbO0tsn1=
tqS
EUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuZGU+wsB5BBMBAgAjBQJTjHDrA=
hsD
BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3=
g3O
ZUEBmDHVVbqMtzwlmNC4k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5=
dM7
wRqzgJpJwK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu5=
D+j
LRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzBTNh30FVKK1Evm=
V2x
AKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37IoN1EblHI//x/e2AaIHpzK5h88N=
Eaw
QsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpW=
nHI
s98ndPUDpnoxWQugJ6MpMncr0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZR=
wgn
BC5mVM6JjQ5xDk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNV=
bVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mmwe0icXKLk=
pEd
IXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0Iv3OOImwTEe4co3c1mwARA=
QAB
wsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMvQ/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEw=
Tbe
8YFsw2V/Buv6Z4Mysln3nQK5ZadD534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1=
vJz
Q1fOU8lYFpZXTXIHb+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8=
VGi
wXvTyJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqcsuylW=
svi
uGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5BjR/i1DG86lem3iBDX=
zXs
ZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------F5A225BCA0B86820088128BB--

--Er0ubBy9SQHg74Ki91yuZRdUetcf6mo7Q--

--RY2HSgQLmFtTNkuQrkyaejGqogh9H2iZb
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmEeP5MFAwAAAAAACgkQsN6d1ii/Ey++
qwf/T8xFnejJDupIWRrII9/op+TXcVR2d/wTju5jfRVVV/dSVleGOFcYDPbP2gQRbxm5u4Qk0QcZ
GVpQuGGdhvscdBa+XcTaraogLUsymRqBDKIJisB6qShR4mr1xiJUQqxTCvuIPruX7pdY+xgeGfyF
x16e8+XSiooRhqSEdxnb4CHOcuC45XR9X0Bpm+jAFdrVs5iLIckQ3w/UMsr2W0OATp4xR38oZCC2
HPCV0Ci5s4BAERA+eqUEgQsIffdYwRGAICUVgH2hY/t2XDNSN4085Cse8qWuoFasTR/ArkUAx5Nd
TEyqyKNBkTs0Fo2kH3W8wFBtBDMeL4J9RuvWYLN8fA==
=1zve
-----END PGP SIGNATURE-----

--RY2HSgQLmFtTNkuQrkyaejGqogh9H2iZb--


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 11:41:21 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 11:41:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168560.307750 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGgQ5-0004eI-TR; Thu, 19 Aug 2021 11:41:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168560.307750; Thu, 19 Aug 2021 11:41: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 1mGgQ5-0004eB-QP; Thu, 19 Aug 2021 11:41:13 +0000
Received: by outflank-mailman (input) for mailman id 168560;
 Thu, 19 Aug 2021 11:41:12 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=s4yt=NK=invisiblethingslab.com=marmarek@srs-us1.protection.inumbo.net>)
 id 1mGgQ4-0004e0-4J
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 11:41:12 +0000
Received: from wout1-smtp.messagingengine.com (unknown [64.147.123.24])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 393591ee-9e4a-48a7-90c8-24d23d2935c1;
 Thu, 19 Aug 2021 11:41:11 +0000 (UTC)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id 86BAD32009E7;
 Thu, 19 Aug 2021 07:41:09 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Thu, 19 Aug 2021 07:41:09 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 19 Aug 2021 07:41: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: 393591ee-9e4a-48a7-90c8-24d23d2935c1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=jyw7M7
	yeQEgGhMnlJckFsYqDVnFrmExkBoa+gx3cV88=; b=eaazrwWbekb39pQOu5VCba
	W8wn6ke0B4xbKriR7Wusbg7IyV0nZSzzQP/KV1+PwGM2pI6roYdOtRXSYf6RPtzx
	aoQ1ixgOQGjjYQHOrpWV7QZhrnx5ZFc//wi7h5R/F89jpvViIi835v3dEpXHD6qe
	6mg0brKTNzNA4aZ4oeJOFBKKJ3M6840pdL7eg3MBDrKh5lp86kGP+ZvLt4zXAGOY
	1S+dSyWKQXgmBSyLRjtbgf7XzGc9m69CD+pHkAoVnO6FRXoyH9jTUMkZtLH94ESn
	iBbv+YulNwdXsKkeZPW5x0e6VFsGXbvjhCkwrBr4t9JRfAFecmxsZENv5H5OH+kQ
	==
X-ME-Sender: <xms:VEMeYdYCaVFjNOU64aI43-PuvMV7wIcNDukNnrw8zRNZwPADDi3DYw>
    <xme:VEMeYUaVgHtX7lQfVcbKmugFNn50zhB3-7kLRAC84rZvfYY-9yCWGCTRHSGTVjyJA
    CcxLtLKeTixMQ>
X-ME-Received: <xmr:VEMeYf_KxGNd6tPbuCE_v7jWNTT6MIA8iR9KQ5A7oKuTDyu5FG0ysg7rN3k_1tmirstTi86L8S30Px1QSXmNjYwIUa-bWGPt>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrleejgdegudcutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgvkhcu
    ofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinhhvih
    hsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepteevffei
    gffhkefhgfegfeffhfegveeikeettdfhheevieehieeitddugeefteffnecuvehluhhsth
    gvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehi
    nhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:VEMeYbr0ItP_cziifbh0LgAHMrTjxUDryhdUx-NSziiA9xfqy3-EVA>
    <xmx:VEMeYYoTfXGsrfAUCAJDDSeU6bOyITqGMx34pfWwPzVGNplObn8khw>
    <xmx:VEMeYRTq7eGsbASvPgECFPYi1_Vl0vLFBb09PFPN5eNIrrylIAD27Q>
    <xmx:VUMeYf1H_5V9hq_lagz55KXhgE2HYKsmONO67VaXQzTjD1MBtXR7WA>
Date: Thu, 19 Aug 2021 13:41:04 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: Re: [PATCH] x86/xstate: reset cached register values on resume
Message-ID: <YR5DUPS+2oFCqcWW@mail-itl>
References: <20210818113017.454251-1-marmarek@invisiblethingslab.com>
 <45de5185-b514-8c52-6922-4c587818c698@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="eTPGmSdK73dw3Lan"
Content-Disposition: inline
In-Reply-To: <45de5185-b514-8c52-6922-4c587818c698@citrix.com>


--eTPGmSdK73dw3Lan
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 19 Aug 2021 13:41:04 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: Re: [PATCH] x86/xstate: reset cached register values on resume

On Wed, Aug 18, 2021 at 01:44:31PM +0100, Andrew Cooper wrote:
> On 18/08/2021 12:30, Marek Marczykowski-G=C3=B3recki wrote:
> > set_xcr0() and set_msr_xss() use cached value to avoid setting the
> > register to the same value over and over. But suspend/resume implicitly
> > reset the registers and since percpu areas are not deallocated on
> > suspend anymore, the cache gets stale.
> > Reset the cache on resume, to ensure the next write will really hit the
> > hardware. Choose value 0, as it will never be a legitimate write to
> > those registers - and so, will force write (and cache update).
> >
> > Note the cache is used io get_xcr0() and get_msr_xss() too, but:
> > - set_xcr0() is called few lines below in xstate_init(), so it will
> >   update the cache with appropriate value
> > - get_msr_xss() is not used anywhere - and thus not before any
> >   set_msr_xss() that will fill the cache
> >
> > Fixes: aca2a985a55a "xen: don't free percpu areas during suspend"
> > Signed-off-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblething=
slab.com>
>=20
> I'd prefer to do this differently.=C2=A0 As I said in the thread, there a=
re
> other registers such as MSR_TSC_AUX which fall into the same category,
> and I'd like to make something which works systematically.

I'm not sure if I understand your message: do you want me to do things
differently, or are you working on an alternative fix yourself?

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--eTPGmSdK73dw3Lan
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmEeQ1EACgkQ24/THMrX
1yz6xgf/RWnzxspo5EBNvkTiUrIy2dJpgW1Z19fMvmc5gQkO7mOjr7hq8iszpw/G
mBYsHB2Ny0PQb2enh5vGHWo5g8EnZ8uNVUHMDJ4w9hZtu6lPawFuhKFZTI1PxHZW
KwHLs7V1ZKziFATJRytr4lxHaYRZM5GRACnGUR5JYzAV8Axn54IyIYNHFceuOUDM
F+dFpgP4+j6FM40okpq4+I7aNChLcX0HMuRk77YFqd4vTqjKf6WK8yYw1CWfVw/5
GaoWjYyrI+OIQm4KzHEERl0tuSic3l4BfuMeTFKY0/eT45KxYpEn9Wo8lF/xlLuv
bBCfZR9bsGxmenNndOKKRKw2ENx1sw==
=5yAv
-----END PGP SIGNATURE-----

--eTPGmSdK73dw3Lan--


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 11:51:28 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 11:51:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168569.307773 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGgZv-0006KG-0r; Thu, 19 Aug 2021 11:51:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168569.307773; Thu, 19 Aug 2021 11: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 1mGgZu-0006K9-Tu; Thu, 19 Aug 2021 11:51:22 +0000
Received: by outflank-mailman (input) for mailman id 168569;
 Thu, 19 Aug 2021 11:51:21 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KGBc=NK=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mGgZt-0006K3-K6
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 11:51:21 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id c430139e-00e3-11ec-a5f1-12813bfff9fa;
 Thu, 19 Aug 2021 11:51:19 +0000 (UTC)
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2057.outbound.protection.outlook.com [104.47.2.57]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-17-9khJO1b-OXqzOydlCOGAkg-1; Thu, 19 Aug 2021 13:51:17 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB7039.eurprd04.prod.outlook.com (2603:10a6:800:12b::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.19; Thu, 19 Aug
 2021 11:51:15 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Thu, 19 Aug 2021
 11:51:15 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM8P190CA0007.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:219::12) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Thu, 19 Aug 2021 11: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: c430139e-00e3-11ec-a5f1-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629373878;
	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=Lp3kkWOhwolFkz1ZnDsJ2m7Hq2sngPtIrkrQHesJJbo=;
	b=VhwCLyeN/IT6FB7gazQ7COMa1WujlvVY8yE33yyyCqVV7VIEpO+mhu/Fg9VC6d7R0w0pXM
	VLu+W6dDSRwAyjVmjsiYM3uFJAyygdEMbNW/QjOqnOCmczshOsAvQ+Uzg0dc68o0Gv71Ev
	LWag1hrysOFRM9CMzsWeY3j4wP0N9Hw=
X-MC-Unique: 9khJO1b-OXqzOydlCOGAkg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SPcRSbO/T5efQRQ3Mi8G4iWgdjEYp0QKE80jUhM+K2NZdGGDnv6r3DQUBRtaktaWscAGAAYAGuFsfOAkOQxFSqoZIkOvbZ1j4OKtrr3tFsKvfMRpN4KgumKDronrVZzIyEEf60u6qYjE7yb506KtEK4E9B8U2/XFgkcGnbEHuxCXoPa+srcrOl3FSJQcuI13OiiCanKaUSOcS+qrynkC5J4ioNvOf/QogRcISMQdtVyRmDTOqGmNA+dJmpmXW/wX8WTensj9RtjRYbtIPWMRpo/GtcCfeymf707MIPJdFZB4DPFUilil8AHcYNy8QmxHLSZY3WmYrygO68qhMOdp4w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Lp3kkWOhwolFkz1ZnDsJ2m7Hq2sngPtIrkrQHesJJbo=;
 b=RIw50PK6WCUMdYeJeN5stUOZN50NNTOKUpsJcJoaFU+eIcr2PhdCy9THt2AXlVu4yqEW67LMzMjZq8JrHdFuCvztKeJ2PUSMmLts8vEohXL4Rk+xY9C/bJ9JICERo0kCHb+gsbMXdenZvcHI0JPkQKtdHQILCYXiV0zHmHFtd3NYamk+cmngQKm3PlB6VEnTlWhKCmUi9tyL2Y4Olsy7OAm43QjJ1QAIs4g2hLoe/S90AAw1YOnhsg6SCdTvKAy8y4ObUn3tKpgABAkwiLsin9DY7hEH3DCIfXT65lRFuAQKXhpICcxDdnk/P73366g9fX2K31LnSCG+SA6m13uWSQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v2 03/13] libxenguest: deal with log-dirty op stats
 overflow
To: Juergen Gross <jgross@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <0bebfe8c-6897-dc8b-7fe0-9127d4996eb8@suse.com>
 <668ef720-389f-4cf1-608e-64aca4f7c73d@suse.com>
 <f69e5a2b-cd8c-3534-ab7b-427fb1fc1cdc@suse.com>
 <f0e9c8ad-dfa2-77ac-b3db-02cba59e843c@suse.com>
 <347edc1f-a104-1bc3-0cb2-2cfffcb6214a@suse.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <a9fbd7c1-1675-50ae-6106-8a8625643930@suse.com>
Date: Thu, 19 Aug 2021 13:51:12 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <347edc1f-a104-1bc3-0cb2-2cfffcb6214a@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM8P190CA0007.EURP190.PROD.OUTLOOK.COM
 (2603:10a6:20b:219::12) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3c509981-ab77-4024-bd33-08d96307a5e0
X-MS-TrafficTypeDiagnostic: VI1PR04MB7039:
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB7039C42EB41BC178D0AC2BE4B3C09@VI1PR04MB7039.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	HOiDgHgikfELyCrysT7ijQQw2DE8IruWOWRT97Xa04GkXab63AZn4bN7J3yJg/jj50Wi/K+gNpauG/k9kUJNaE66HjPIc66/+hWFDbwBtdowosX31QJf0xBXRJxvxQvhDT39gSPOiJxRbT9YONXlNzwFUeKY58EaBAB9b45RR3QlJOK1z6otzz8iQbhi6dY4Gj650VC78Q8OvxRIxndV4+ov9s71O5Sa0UzJxsEZXr/DwBLkmevLj52p6bH5me9S7S6FGPu2MvQRvWuP11pjE/oQE5xliprwA0OUNbxzWI56wyrMLd/KOxYtUWYKfFObHNptOYyDbaweTzHPJH0fDPHzwNpdxMmTFI0dcRKCjEqY00572NJ9GGZYuos6iMcczJGfTbeZ7Uf/864k+Bc43/yoHaOreFuJRNiM17vhbMS+TjrXGcsV2ZUtxSNdilpblMaNdyGeyrc7RpV3RfLCWRHKCK+mlvOuQSdwfHgiT/ocOzn3xdKv1Ndhe1PpsQ/XIoN/iHD8KFtZUTyHmFD7mIiubJP/TGCXUwN1teEXga2TugD2skNIJUm4BKzoFsPp42JY6A0alrtm7SOwxXl+uZ243Xh7ffH7QUndUIEU2qjEsrw+Z6dTywhbyy3CUnpBYSKcb+Cx3qqZZeGmcYbrGzDavKpsAL8ZhqV4uOjJAMgl9GJ0ldJJSqxq4ULy6FjaTaVzr+BBdbaHusTmYnNeDPR/l8SRt5AhWDwN5LQHhtEHM+z1cOuNgc+EEQHooSv1
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(366004)(376002)(136003)(396003)(39860400002)(2906002)(478600001)(956004)(31686004)(6636002)(8936002)(4326008)(5660300002)(186003)(37006003)(54906003)(86362001)(36756003)(6862004)(16576012)(316002)(26005)(53546011)(6486002)(31696002)(38100700002)(66556008)(66476007)(66946007)(2616005)(8676002)(83380400001)(14143004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?d010T1gzbkR0VGVIVis1SHlEMkhYNmkyWnBKcUJSMnEwZU4wdGpBd1pIZTkr?=
 =?utf-8?B?d1ZQSzNYa1BKVVBnS0gvTGtwYW0rUjBYQWs1SVpvT2l0OWRHL24zVEkxeWxl?=
 =?utf-8?B?bWxZMUlFSkJvYkNLdnMrTnMzdlhVNGVTTHorUC9pYm5lbVhqbmp1dmpsd1Zy?=
 =?utf-8?B?VFY2OWduY1oyZFN3NzgrMGQyYkJ5Rld0VWF3eUtVbnNEdklVL2o4RmwrWlg0?=
 =?utf-8?B?OVZOTEc3a1BzMU1jRnVxNFJRM0I2djhoS2prOGhVbEEzdFdsUUlsTXJDM0wv?=
 =?utf-8?B?WEZOTFRSdFpkZ1hPV0VMcy80cis4dzRNc2NkN2t5dHp0ZldWc0NiRlBzckpP?=
 =?utf-8?B?d2FPalQ4YUxZTE45QnZsVUVKWlhSN2VpYU0vZFF3Y3B3RkxXVFpSckpucUtV?=
 =?utf-8?B?YVdZOE9ja3R6WC8xWE5lVUU2U0IyaTduemhCNWhvbWplQWdrdkVrZDltNWMr?=
 =?utf-8?B?aC9PaFBScmNJcUFlL0xVbU42ZlJXVHZPVWlITXdTKzJxaG5GWEkzcUYycnB1?=
 =?utf-8?B?NXNwWmJIZFZmSjE0YmJKdkZycTZKMmlHR1IzOE1mSGlxc3hEZWx4YU9yQk5Y?=
 =?utf-8?B?L1BOY1g2b0FVT0hpN1E3MFBtK2E1N2hodXlwRVNkeWEzekdackIrYmo1WGV2?=
 =?utf-8?B?TkRoNFJwREJtaW1RbTRQN2tRT3lPdlRBeEltaDJmUngydzVOdlQxSDgwamUw?=
 =?utf-8?B?U1k1N25PTEo2Q09kYnJyVGJ4N0oyZGFJd1B1dk42ZUFhWEFRN2lqVEk0UEE5?=
 =?utf-8?B?UkIwejR3YXBUT0c0K0FxbjNaUkpoN0tuKy9UQmpoUnVsSk9aL3Y0ajF3cS9h?=
 =?utf-8?B?SCtqWGlDS1JyVmNvN2hOWnB4d2k2djBBeUJpUzFSYTJaNmxhUHFJaWlxTDl0?=
 =?utf-8?B?MzNLS3l2OU9razF0Wlkwc1RxUGkwOHVmQTNsUU9ONmNCUldHbjhLY0NCVmdJ?=
 =?utf-8?B?UVR4ZkVEdEhYTmNCWnEzZFYwOEw0Szh3cVN3YkxpR0FWUmovMHBrS09OQVZt?=
 =?utf-8?B?cDZIVDVJTjJTOHFLTm5RME1ndGxvTDBmbWVTam5jd2htSk42eVc1RkdqUWxj?=
 =?utf-8?B?Tzk5M3BwYVpzQ2hFSk9laUlvWTZQVVE5MDlIck5YMndTbFR2TWdhTUVMNHlo?=
 =?utf-8?B?dlJpRWhMUzVEYXh2V3A5NkNMZjFRSjBTVG1mQ0gybFpMUTZrOFBVVTIxR2NR?=
 =?utf-8?B?MVZCNDJIdnIvQUNhR0E1RVBQV0RycGF1RCtzN2V0NVh5aFFHZ1duRERRc2dG?=
 =?utf-8?B?UHlYaWpSa0QvUkI5RTZhNEJZN1hDWVQzOTlDWmo0T2RVUHAwMkJodTFwcHh6?=
 =?utf-8?B?QkUvOVFMM2ozcE8wQk9tdjAzOUo4ZkViMlpOSEFyZ2p6Mk81QmVHMWtsWkJ2?=
 =?utf-8?B?V1ZDQ1cva2M2MlZ5UW5rZzhIcUxhbFhrd1lWa2dNeVJManY4YzBqdVljaDMr?=
 =?utf-8?B?TWtxZ2FPbDhNblh1WUsxbzVjWkZwYXgzaFZFRWpxV0lzR2lYQ3k2NXk3MGdk?=
 =?utf-8?B?cVRLVmVnbU5rem83VFQ5MlJxbUdRcEpCVTY5VkQzYlJkV0FpTkpEMzVQUnJJ?=
 =?utf-8?B?TEFXbm1LSUtnTzNvMDduZEZIbEVRSmhqd2NuczdZQjNKeHlBTEwrMVRjd2E3?=
 =?utf-8?B?dTBSalFJOWNyVTg0V3RLRzFmUVFlR21BZ0Z3M1pMSVRRS0pLaTROaFAweWU3?=
 =?utf-8?B?aUVDMlVJbVo1N2xoRnVFZ0xxVk42ek1XMmY1TjZScUtubnhXbko5QmFoZFlL?=
 =?utf-8?Q?fjmHWjXiYwJzb2X3Jbg5ofki+O63I6ajJYNr22v?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3c509981-ab77-4024-bd33-08d96307a5e0
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2021 11:51:15.0005
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HPLXV/Z0SKXFPfu+yTZ3hONEHS5OW4oVJ0ZGtjWyB5GGTqrNrkYD73qS8+umaIKIzI3KpLzdQdWAWsayh7tkzA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7039

On 19.08.2021 13:25, Juergen Gross wrote:
> On 19.08.21 13:06, Jan Beulich wrote:
>> On 19.08.2021 12:20, Juergen Gross wrote:
>>> On 05.07.21 17:13, Jan Beulich wrote:
>>>> In send_memory_live() the precise value the dirty_count struct field
>>>> gets initialized to doesn't matter much (apart from the triggering of
>>>> the log message in send_dirty_pages(), see below), but it is important
>>>> that it not be zero on the first iteration (or else send_dirty_pages()
>>>> won't get called at all). Saturate the initializer value at the maximum
>>>> value the field can hold.
>>>>
>>>> While there also initialize struct precopy_stats' respective field to a
>>>> more sane value: We don't really know how many dirty pages there are at
>>>> that point.
>>>>
>>>> In suspend_and_send_dirty() and verify_frames() the local variables
>>>> don't need initializing at all, as they're only an output from the
>>>> hypercall which gets invoked first thing.
>>>>
>>>> In send_checkpoint_dirty_pfn_list() the local variable can be dropped
>>>> altogether: It's optional to xc_logdirty_control() and not used anywhere
>>>> else.
>>>>
>>>> Note that in case the clipping actually takes effect, the "Bitmap
>>>> contained more entries than expected..." log message will trigger. This
>>>> being just an informational message, I don't think this is overly
>>>> concerning.
>>>
>>> Is there any real reason why the width of the stats fields can't be
>>> expanded to avoid clipping? This could avoid the need to set the
>>> initial value to -1, which seems one of the more controversial changes.
>>
>> While not impossible, it comes with a price tag, as we'd either need
>> to decouple xc_shadow_op_stats_t from struct xen_domctl_shadow_op_stats
>> or alter the underlying domctl. Neither of which looked either
> 
> I was thinking about the domctl.
> 
> Apart of struct xen_sysctl_page_offline_op this seems to be the only
> left domctl/sysctl structure limiting guest or host size to values
> being relevant. Changing those would be a sensible thing to do IMO.

Yet in the context of v1 of this series, which included "x86/paging:
deal with log-dirty stats overflow" (now commit 17e91570c5a4) we
settled on these fields not needing widening. This doesn't prevent
us doing what you suggest, but it would look pretty odd to me at
least.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 11:53:16 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 11:53:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168574.307784 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGgbj-0006xv-Ce; Thu, 19 Aug 2021 11:53:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168574.307784; Thu, 19 Aug 2021 11:53: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 1mGgbj-0006xo-9P; Thu, 19 Aug 2021 11:53:15 +0000
Received: by outflank-mailman (input) for mailman id 168574;
 Thu, 19 Aug 2021 11:53:14 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KGBc=NK=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mGgbi-0006xi-KD
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 11:53:14 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 9f2b3553-8693-4eb9-8abc-8bd53a11c5ed;
 Thu, 19 Aug 2021 11:53:13 +0000 (UTC)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2170.outbound.protection.outlook.com [104.47.17.170])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-11-5KC0vqC0PJiZdiHAZJGTNw-2; Thu, 19 Aug 2021 13:53:11 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0402MB3935.eurprd04.prod.outlook.com (2603:10a6:803:1f::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.21; Thu, 19 Aug
 2021 11:53:09 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Thu, 19 Aug 2021
 11:53:09 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0201.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1f::21) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Thu, 19 Aug 2021 11:53: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: 9f2b3553-8693-4eb9-8abc-8bd53a11c5ed
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629373992;
	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=NDFOGwrf/co0cRw12K7EfTghWh+uwqSNo0qfEp5rEbw=;
	b=fzRZg/zJZtGGUoCEfY7g9xVNGVPOCsBoWjyCqYAaUFkKiYzrhTthRQzAMGyx3dkpvO8XHd
	QNxLzb6ZDLvY4i1KV2nInN5f8rS/EsagJrRJp3yU/fRkA/nWi2b1qxwdVKbDqTFncdwlIn
	OTDOCGIX88WbyuuQiG7EZHrZrULNm5U=
X-MC-Unique: 5KC0vqC0PJiZdiHAZJGTNw-2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Kl+D6HhC6+TxWjYAD9SBHnf8yD1C08DnqOfVAqOswBmKQIOY/OQlubtzEGaM0Yy3r5PGUVTMjMcCCbcCtsgI1SxqnISoua/GK14g5wfbZoSbz2sTFtXmZjRX+p5IBo6uaFvsSC/KoxHSpAEPlFI2+eRmBeJWJ+rXJ0g8aso0/d30O7EdwNGWzY/lfSsyRtLE5PT4tmt0pcibJoP8/J2x0IrAslfYoqs06ziAFuAz4npEqFwrZhYZ1RO1shmG3OFsEGT05+e40SfVKT2QtnsPBgvYrml+FksSj+oiXUcs8B69S9uuJ7UAJfhYTdPoCU9t+WRYfU6f+MqQXvYAecSd9w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NDFOGwrf/co0cRw12K7EfTghWh+uwqSNo0qfEp5rEbw=;
 b=D25paQ8hQEX7f/qhGpXjKOULj70XF10ORfgGfqssLfZsoNOzJ8K2HBksdWaHEgYMW23ciU3hhbLEh3MsyRdHV0HfZPOmO0FiCsbN9PcqaWPT758VH2UagJklv8MyU6dI9jT/MhsUn2j1A3QtESxiPBv4CBfXW2GWINU1n2kBrEeaJwEZeuTDKsiSaL238D8T0XuC1tvzVWuBo+ch+aF0vgdiIEi8/fTZ8jz8aB/lGhOB4RSND/QlVDZEj5G4PRh+1ixtXtY5N8WIuh7NuBbLW0wZFkgAvoOwb9sGn2/FIv2ONFMRWwsqF2InJg7WHuParJkUFQqjAwCJRDQsc4dnEQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v2 03/13] libxenguest: deal with log-dirty op stats
 overflow
From: Jan Beulich <jbeulich@suse.com>
To: Juergen Gross <jgross@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <0bebfe8c-6897-dc8b-7fe0-9127d4996eb8@suse.com>
 <668ef720-389f-4cf1-608e-64aca4f7c73d@suse.com>
 <f69e5a2b-cd8c-3534-ab7b-427fb1fc1cdc@suse.com>
 <f0e9c8ad-dfa2-77ac-b3db-02cba59e843c@suse.com>
 <347edc1f-a104-1bc3-0cb2-2cfffcb6214a@suse.com>
 <a9fbd7c1-1675-50ae-6106-8a8625643930@suse.com>
Message-ID: <6d8b3104-f7e6-494c-30e1-1c06419fbfb0@suse.com>
Date: Thu, 19 Aug 2021 13:53:07 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <a9fbd7c1-1675-50ae-6106-8a8625643930@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0201.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1f::21) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: acb69187-2ead-4a8e-6426-08d96307e9ec
X-MS-TrafficTypeDiagnostic: VI1PR0402MB3935:
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB3935A83C36730C1518227608B3C09@VI1PR0402MB3935.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jORyekUacPGcU8jnw+QH0HIJmvvyShAjDd/6wKr3V2iiZIFPJDmPbkl4Om2Pn+ttJ43Lr5N4fJN8XMZ3JSTpe76dVnlJN0hihxB96FVRl/tJVsgBI1fr4GIP7rADh6wXEEmBzbbe63Z9tpl1Jw5UVxj5aGPu8JNi95q7p6yZZyh9+KX28UHXB1vFRWIaxNz0MyGfwMwhPj027VE+B+gXBiXrUByAU9bNWwtLLlEVsZW7Lh49zQdiUe9DxnDAqghfamliIzPN38D8fxa5plXZJSbSTa6ojCJsP/EucrNv3yutwiYNg4NNNqVfp9QAkC4dbV8rkYX+k6XphOZwM594jYZiiE5pf8f80Bbn/KvfAuOHKph5yomQLhhaO6Q6vTvIUWWloyfi2kCkofrYpWVv2pqWIJm7e1C9Np27WiDM+ZOwdkhrg+/fhIWxRPTDRjwCiFkrN9kIAxuDjbenY5zUKrXuCo52nZVNwBtJ5JQcjpj+gAKe8Mtron2ZKQqV55mJQ1aBkEWahRfHXz8f0p+w9Mqz9e9M5Gfb2rF/MHvZByBIsg+AgKv9o8wvyvJUosLoe6qSGSj0Kmd1KTEbRfjMBhE2BhWG3p6emjXQOE5bfcnRaATm7QsylzgBU4UzEpHkN0KkHLX7Pj0Oe7eAq9oNz4rDfCkwNHifohLd9q7Vx6efCmEyglScat6ZUIBD9/iqYy3KwGiK4ISEF+5TBkcdKfgRTtapMkpEEiRy9esstwKuUfLR2UY6/97qBA1c4ArvdmxSDJXYwzR4mO2wagJykw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(396003)(39860400002)(376002)(136003)(366004)(478600001)(956004)(37006003)(66556008)(16576012)(2616005)(31686004)(54906003)(4326008)(6636002)(316002)(66476007)(6862004)(66946007)(31696002)(36756003)(8936002)(6486002)(2906002)(8676002)(5660300002)(186003)(38100700002)(53546011)(26005)(86362001)(83380400001)(14143004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ODJWVm05eE53THhkSG9OVnBDTjEycngzNWJtWG9VUlNFYlljSXAveER3b0tj?=
 =?utf-8?B?Mnl1aWQ0bEd1R0o4R3NtMEZ1QTZCYitSM1FDekhEMEhoMWlJUjE3b2JkYXBh?=
 =?utf-8?B?Q2RIRFYyK1o1alR5V09GZkVFS2lTOGtubEMzbUMvSCtUQmZXNVo3eXg5NFFY?=
 =?utf-8?B?RHZhREk0WTYxbHhXcUVmN2IvZ0dSYURPeXBoZ1ZyVEt6VWRpcytWdjdNUnpq?=
 =?utf-8?B?ZU1mUEd5K09Xd2RJRWZINmh0eWhhQkxERHB6M29oT0JIdzF2N1BudFBHaTZu?=
 =?utf-8?B?YmhXRGRDekxEZThPaVZTcURBSERheHk2Rml0V2tyRUdYMmlyOEg0UzRBUDBV?=
 =?utf-8?B?RmZhbkhyVDc2SlFjV0kvTm5PS3dUTzNxTERuY2tjVnJkZGlMZ081QnVHTHZG?=
 =?utf-8?B?aDlnamVRQkdXc2J6QkpEQWJqalB2WjVzRzZpeW40djVhdmNyTHpzZnJXbVpR?=
 =?utf-8?B?T2ZBUkpySCtia2lyZHJxbmtEYnIrdk9MSXh1cnczWHREM0RsMDJ4d3lrT0dk?=
 =?utf-8?B?T0lWaVEzNURXNSt2NDFuQXJHL2w3UFZQTzBZd3hTRi8raEU3MGZXMnVsbFA3?=
 =?utf-8?B?L2dMWTFVSHpPYU40VUcxL1cyUE5ieGtmVWFPZE1PTlZENFdreHQxd3lkUi81?=
 =?utf-8?B?MWNyczFzRXhocnl5MTJROEx2d3F5T01vV1FQcnRFN29WZlJ1RktYZHRKZFd6?=
 =?utf-8?B?VEJQZjhzUXhxNnI2MW4zM0FTOS9XVXdLZllESWxSQ0VlekdGUEdKK2pLZEtF?=
 =?utf-8?B?TWM1TUlSUE1uVVFVMWswNGpnTHFaR2NaWHkrMlNpbGY5eDdjRjVGUDN6dG9Y?=
 =?utf-8?B?WGlHVDF3bnVpVS9WTHpJVG4zVkpiMTZ3NW8zcm5lNGQxU3JkY0ZDSUJ5OVND?=
 =?utf-8?B?bk8xL1kyVGNHblkvU29JT1VQc3hiOUJTOC81Q1Y4MDVic2xMT1JMWG9TM2pC?=
 =?utf-8?B?LzhkUzNXOVFYWlBqVkNaNys1Qmwwb25ndG10NHdHaElVNjZjQmxGc2MrODVJ?=
 =?utf-8?B?Y0pOR29tNTFWcmpCalBmUnFzb0RDcWN1VnQ2TTFDeFVvd0tXUytnME1Oci8x?=
 =?utf-8?B?Tlc3UTB0Z3hPMzhOeTdzN2VXTk9FTHR4K2Y0LzVlSEo3Z0Y3aGplY0FpRHdN?=
 =?utf-8?B?TWdkSkxVeEk1azgraWVnWEFOUE5jWVI1bm5SY0UvWXI0c3grLytTYmdCY1h3?=
 =?utf-8?B?bDh4bFNGNWFuMDlyZ2x0SHRXSm1kbUs2Uk1xZWcyWmhVSkFYa2NUa2lOMmVs?=
 =?utf-8?B?QUQ2RWt2dEUrL2I0SzJtd25leWg3cWVCaGVISHBvcHJraWE3QlU0NmppZUh1?=
 =?utf-8?B?YWZzNWw1U0R1Q09xUUdhMDdhL21LVjJzam9rOGY3Y1hiQS8xMVRhMi80SkpO?=
 =?utf-8?B?QjF5TWd5aVp4OWFuZk9kVkJzb2dRT3NuSnQwcnFUY1MwL2paaHBJNlRtajZB?=
 =?utf-8?B?WVN4U2MySWV3U1EzRWlJcEJ6S0FFMGUzT09yaFNrMUducm01QjFzZGFLM21M?=
 =?utf-8?B?U3loQ1JxTDJMTG16dEoxVWE3ZnVuQVFaazVFMktwK1E2aXMzQWVMamhPbXVP?=
 =?utf-8?B?c3FpSndIeC85QTFMU25GcjVYS1JCbUhDOTMvRXRuclNWRTdYNU1DRDYvQ285?=
 =?utf-8?B?SUV5Y0g4OENpUEhsNnQzR1ZkTkVaOVhjRXh0QlEwTVV6eHhDSWdjZEQ0SkxY?=
 =?utf-8?B?ekdIL2d6NGZLSEdGU2UyM3hxR09GSitWVGZ4N204QTFpYWNIV0ppVithRmo4?=
 =?utf-8?Q?y5y5tvT7t3qHX7j2vc9FNz9F6lZmVvfxddR/8iD?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: acb69187-2ead-4a8e-6426-08d96307e9ec
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2021 11:53:09.1229
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3tYXir6VsFVYBLWtGzH418BjAtbVxKo4+uAntwWgseE2a14LOmPj81H1oOG6ikm8ssLtGQ5CHgXMfsfuGbnlsQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3935

On 19.08.2021 13:51, Jan Beulich wrote:
> On 19.08.2021 13:25, Juergen Gross wrote:
>> On 19.08.21 13:06, Jan Beulich wrote:
>>> On 19.08.2021 12:20, Juergen Gross wrote:
>>>> On 05.07.21 17:13, Jan Beulich wrote:
>>>>> In send_memory_live() the precise value the dirty_count struct field
>>>>> gets initialized to doesn't matter much (apart from the triggering of
>>>>> the log message in send_dirty_pages(), see below), but it is important
>>>>> that it not be zero on the first iteration (or else send_dirty_pages()
>>>>> won't get called at all). Saturate the initializer value at the maximum
>>>>> value the field can hold.
>>>>>
>>>>> While there also initialize struct precopy_stats' respective field to a
>>>>> more sane value: We don't really know how many dirty pages there are at
>>>>> that point.
>>>>>
>>>>> In suspend_and_send_dirty() and verify_frames() the local variables
>>>>> don't need initializing at all, as they're only an output from the
>>>>> hypercall which gets invoked first thing.
>>>>>
>>>>> In send_checkpoint_dirty_pfn_list() the local variable can be dropped
>>>>> altogether: It's optional to xc_logdirty_control() and not used anywhere
>>>>> else.
>>>>>
>>>>> Note that in case the clipping actually takes effect, the "Bitmap
>>>>> contained more entries than expected..." log message will trigger. This
>>>>> being just an informational message, I don't think this is overly
>>>>> concerning.
>>>>
>>>> Is there any real reason why the width of the stats fields can't be
>>>> expanded to avoid clipping? This could avoid the need to set the
>>>> initial value to -1, which seems one of the more controversial changes.
>>>
>>> While not impossible, it comes with a price tag, as we'd either need
>>> to decouple xc_shadow_op_stats_t from struct xen_domctl_shadow_op_stats
>>> or alter the underlying domctl. Neither of which looked either
>>
>> I was thinking about the domctl.
>>
>> Apart of struct xen_sysctl_page_offline_op this seems to be the only
>> left domctl/sysctl structure limiting guest or host size to values
>> being relevant. Changing those would be a sensible thing to do IMO.
> 
> Yet in the context of v1 of this series, which included "x86/paging:
> deal with log-dirty stats overflow" (now commit 17e91570c5a4) we
> settled on these fields not needing widening. This doesn't prevent
> us doing what you suggest, but it would look pretty odd to me at
> least.

And - just to make it very explicit - even if I went this route to
address a controversial point, I'd still like to understand the
reason for the original objection - if only for my own education.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 11:55:11 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 11:55:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168582.307794 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGgda-0007ed-Rq; Thu, 19 Aug 2021 11:55:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168582.307794; Thu, 19 Aug 2021 11: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 1mGgda-0007eW-Ox; Thu, 19 Aug 2021 11:55:10 +0000
Received: by outflank-mailman (input) for mailman id 168582;
 Thu, 19 Aug 2021 11:55:09 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGgdZ-0007eQ-GI
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 11:55:09 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGgdZ-0006UL-EY
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 11:55:09 +0000
Received: from iwj (helo=mariner.uk.xensource.com)
 by xenbits.xenproject.org with local-bsmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGgdZ-0007YZ-Da
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 11:55:09 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.89)
 (envelope-from <iwj@xenproject.org>)
 id 1mGgdU-0001XZ-IZ; Thu, 19 Aug 2021 12:55:04 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=References:In-Reply-To:Subject:Cc:To:Date
	:Message-ID:Content-Transfer-Encoding:Content-Type:MIME-Version:From;
	bh=ZFpKZq74rZuv2A114XyAtWL5mLpTlUDkgw8LtPbZP/4=; b=cg9kOTuBPgf7XZnwqXzaXIbHvz
	XmcgWaZLJ5fZ8o21kDttPIMg+aTOH7EfPEU9vo3wNB+thPX8gbtp/o7fjWZ4BrVqll4NrOrTtvC5X
	qste/hgcX7PGJnlQYWPSWsXLmlzO3t3T94ht7NvjpQHXqbKZTaDugWj5zTLSng9N+Z7Q=;
From: Ian Jackson <iwj@xenproject.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <24862.18072.322627.161534@mariner.uk.xensource.com>
Date: Thu, 19 Aug 2021 12:55:04 +0100
To: Jan Beulich <jbeulich@suse.com>
Cc: committers@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] RFC: Version support policy
In-Reply-To: <de32c6c4-5ad5-862e-3988-0e7310ec3ecb@suse.com>
References: <20210813113727.6028-1-iwj@xenproject.org>
	<de32c6c4-5ad5-862e-3988-0e7310ec3ecb@suse.com>
X-Mailer: VM 8.2.0b under 24.5.1 (i686-pc-linux-gnu)

Jan Beulich writes ("Re: [PATCH] RFC: Version support policy"):
> On 13.08.2021 13:37, Ian Jackson wrote:
> > The current policy for minimum supported versions of tools, compilers,
> > etc. is unsatisfactory: For many dependencies no minimum version is
> > specified.  For those where a version is stated, updating it is a
> > decision that has to be explicitly taken for that tool.
> 
> Considering your submission of this having been close to a glibc
> version issue you and I have been discussing, I wonder whether
> "etc" above includes library dependencies as well.

Yes.  This is intending to cover all dependencies of whatever nature.

> In addition I see a difference between actively breaking e.g.
> building with older tool chains vs (like you have it in your
> README adjustment) merely a statement about what we believe
> things may work with, leaving room for people to fix issues with
> their (older) environments, and such changes then not getting
> rejected simply because of policy.

This is a valid concern.  I was thinking about this and I think
something needs to be written about this somewhere but the REAME isn't
the right place.  CODING_STYLE maybe.

> > In this patch I propose a cutoff of 6 years.
> > Obviously there will be debate about the precise value.
> 
> Indeed I consider this way too short. Purely as a personal (and
> abstract) view (realizing this isn't really practical, and knowing
> there are reasons why I'd actually like to see a bump of the
> baseline) I'd prefer if there weren't minimum version requirements
> at all (apart from maybe - along the lines of ...
> 
> > It will also be necessary to make exceptions, and/or to make different
> > rules for different architectures.  In particular, new architectures,
> > new configurations, or new features, may need an absolute earliest
> > tooling date which is considerably less than the usual limit.
> 
> ... this - a baseline determined when Xen became an open source
> project).

I don't think that is workable.  Effectively, it means we are
targeting a constantly-obsolescing dependency environment.  It
would prevent us from adopting even very-well-established facilities
and improvements in our dependencies.

Effectively, it would force us to continue to write using 10- or
20-year-old idioms.  Idioms many of which have been found to be
suboptimal, and which in some cases are becoming unsupported.

Ian.


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 12:00:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 12:00:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168589.307806 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGgj7-0000kv-Un; Thu, 19 Aug 2021 12:00:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168589.307806; Thu, 19 Aug 2021 12: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 1mGgj7-0000ko-RZ; Thu, 19 Aug 2021 12:00:53 +0000
Received: by outflank-mailman (input) for mailman id 168589;
 Thu, 19 Aug 2021 12:00:52 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KGBc=NK=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mGgj6-0000ki-HF
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 12:00:52 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c5525305-1a37-42c3-9205-81445b4385db;
 Thu, 19 Aug 2021 12:00:51 +0000 (UTC)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2177.outbound.protection.outlook.com [104.47.17.177])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-1-vs7IynrqNsaKXg0emsb5SA-1; Thu, 19 Aug 2021 14:00:49 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0402MB3535.eurprd04.prod.outlook.com (2603:10a6:803:11::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.22; Thu, 19 Aug
 2021 12:00:48 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Thu, 19 Aug 2021
 12:00:48 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR01CA0120.eurprd01.prod.exchangelabs.com (2603:10a6:208:168::25) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Thu, 19 Aug 2021 12:00: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: c5525305-1a37-42c3-9205-81445b4385db
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629374450;
	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=S6E06ProHw9qSsgdiUpk7LEn3Mv9nFwIHSI2203KSsU=;
	b=H8rQ+BW4rwJaXWdpSh+CWhKHgsa53/yw20rd93S6IAOdLDwX14HTGK6i/fN5uaphEcgE6Y
	IDwIXnCPAW5x9lp+Kdvdel7YLANbQAV9qzE77o0BX3+IbB2c2ubL6aQ8yb+9bMoWPRoOjd
	ORh4RnDyuc0CIhH916xJU0pO39f2jo0=
X-MC-Unique: vs7IynrqNsaKXg0emsb5SA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=g91OBcpZFItG3VXpu/CEXDBDx3kDBTRav8/5xvoKkngAjbY1jj02ji8gbEfdULPTFZ+HtPRsN5AMMHLARhQo/p9+UCwPGwciPRLR7YCg7FIcpdBaLacARP9F9eFxNKjxlF/zWPJYQIGiAuupvkiQiX7akJCVlvwK3r5wvBiC2A2+Bf4ZqWiaEziMXKOKqYsAhe4O443OzvqN1SK+RSNRsx6nff3Lsd0h7Nu4803YmTbiFsIPYCOjciafGi0JbraXbeeeEF/4+KtILyO79Oi79wzbD2yQ6sGVT/cHLEIfhmSxrSwVB5oBejK7Pig+fAA/gZLgVT9kN1UiNFyJh501eQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=S6E06ProHw9qSsgdiUpk7LEn3Mv9nFwIHSI2203KSsU=;
 b=JWEOWdpMExLsgI4Tr55joQdjhOgDNHnpvJK906+AbeKfnyXMZXXfK1H99y7x3u7stYPr1NvPKGIYxxLBqD2+K4AJTSyvWpiirOu5bzO70hHlBojDu4pUfJvQa8TF1JKLhswUtvt1MvITSgShL6dcozRahab6ZUNWsE1as7tNxCCq+QN7Zua2D8N8LTaju6RlQIVxD+qpCwOgQHh4nPTjLsqcJ3doxA9YDm/K28tvZDEIX1l2YFHG0jV+OMAG5vJIO2OLYE63rwRTU0baagGNnwGiJGz0T98scpHwdAIz37sRn1IV95t4v6Fi99/UuktNmLQoJkZ6jljIC0Z518ORlQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: Re: [PATCH] RFC: Version support policy
To: Ian Jackson <iwj@xenproject.org>
Cc: committers@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: <20210813113727.6028-1-iwj@xenproject.org>
 <de32c6c4-5ad5-862e-3988-0e7310ec3ecb@suse.com>
 <24862.18072.322627.161534@mariner.uk.xensource.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <d107084b-6862-95f6-0df7-2e3c1b99690a@suse.com>
Date: Thu, 19 Aug 2021 14:00:45 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <24862.18072.322627.161534@mariner.uk.xensource.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM0PR01CA0120.eurprd01.prod.exchangelabs.com
 (2603:10a6:208:168::25) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a3ebde46-b509-4746-6da2-08d96308fb96
X-MS-TrafficTypeDiagnostic: VI1PR0402MB3535:
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB35357544A65243AE40F7347DB3C09@VI1PR0402MB3535.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tNac8ppIDbcLteLB4b7IfkBgaQglQPUGQUI8bh3Qkyq56KE5agIkDWXCHnjajz4pi4swB9tzvgBDjXOGPKsiYl/+T3oEOdRxCWXEH+++ejFRfw6ITdv+wduvSMP5ey85DXdLSPkglcpYlqmXG4OVdzwjdugOZ2HsJJ48gL8jkBGo5cZpX5TBwNugclmInHLUX6Ysb4iLa9oL283eyIO+8ee6Hqps4sjarTaVM85hm9sanJE+vcaULO4sXHDzDRq12mcVzRsQWaYbhyIRiY6ZMvZ2XSGZbtTqpY7jZqByE8inCtd0hGyYAjq3AsuObbzhNk9Zk934AU6RQAfkawfvr1Os/452a03GHy4NKsh81Biu2kvgUy6ZuL4UzF+tjjtXGxpVzbyeBCrVetAR+sp+v22R/F/mLOBkV8QZ+gbOp4XBXKMIEIOK44PrVmilCEjDamNt9kKVB7dU0yE2onL/gaI9jNBQjyJKKZKZsAwADHSd9KnwmlKvzp7Hzh6AvHoOhrsorFDdttbNUm/pkuWl2lfZvu4sd4aX2+wzL9pD8QuxYX77RFiRz1wnUWI1wx1bGDsc8gzNMZkVyoc2zISj26B/QDKe8ehe0DPBgIh+UADkY2Q+P5KFvaYouuR9LTnkQYoy+AhAp3fLhEqfMOhJ4mpbSHMGQAiX6rvWokeOsYnCyG8eaip5MZ+yEhHkgJvl6+1BlBgRr3wK0gd8WcPgnQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(136003)(376002)(396003)(39860400002)(366004)(5660300002)(31686004)(8936002)(956004)(6486002)(86362001)(316002)(16576012)(36756003)(31696002)(66556008)(2616005)(66946007)(478600001)(38100700002)(66476007)(186003)(2906002)(53546011)(6916009)(26005)(8676002)(83380400001)(54906003)(4326008)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SW45N0tzc2MyQ2RuK2NkallaVENXbkZOV0JmS0lPMmY1TElpMHRmSlducno5?=
 =?utf-8?B?V0lMcHlBTy9oRFBRVzNSUHdzdGRUbVNhMUI2ZGpOYWRqRDVsUnUwVzVVNThO?=
 =?utf-8?B?UHRwZytWUEozWGwvbEEzMWYrbkRLOWpZQXhydkNON1RuaitXeHB5Mi9kL1hy?=
 =?utf-8?B?NmI5ZW51OExSRUEwcFoycXBqMnBMeERBT1dMUDByU0xMR0pUcEFwY3dpWmIx?=
 =?utf-8?B?cjdUWXh1R29meG9weUtmdTBzb2xiSiszQXNQL3E5Q2E2dlQwa0wySVJGV1ho?=
 =?utf-8?B?QkhFZThIVzVIbzcwaGJwNjFiL2hSRDVvRk5iK3lOMFIyMXpWR2djOEdpYStH?=
 =?utf-8?B?aGxHMzlud1N3SExBbkpNSHNETEV2b25mSCtlVHdlQlpXM0Y1aEZWQkxPbEds?=
 =?utf-8?B?OCs2NS9uNDd6bFRhbGRjN2RwZk1ueE9qZXhXUlZybjM2U2xCVzJtbzFKV0lH?=
 =?utf-8?B?RnJtYmNYemNGWU0wUVlQdlIzZUd5K1JkQzFMQnFKN0x1M21MTTFjc2NzSW4z?=
 =?utf-8?B?eTdmZndaSmo3UnFxWThoTUM1dDJVVWpzb0Q4WE13QllZNjVJWm81Z2F0anhx?=
 =?utf-8?B?cXNvVWwzUXRHWkQwUWYxTmVQZFBhUzBhVGlqRmZLRWtmZWt6ajk1eG85MzQ0?=
 =?utf-8?B?cHdnL2ZaRW9CQ2w2ZWxrSnBnWGo2amxRR1lBU0lDMUFpYVpOQ29xd01RMC90?=
 =?utf-8?B?VXhmNXdlekx6K25oMVJPQUFXcm83RG9uM3QvTTI3ZTMxQnhDOU9TL3RGb0x2?=
 =?utf-8?B?ZmtlUWllaHB5NVZBNnR5SVBWL0t3UXdpRlc3ZTNtMDVDS1QzYUJzNVZuN28r?=
 =?utf-8?B?Qlp4Y1dtRXRlR2FPaTJKeS9yQjMvZEdRWitrOXR3VjJGM01kYkdIcUI3UVY4?=
 =?utf-8?B?S2hFZWdLK1lvRUMyTVJNWFpWckhOZWh3aFVIOUFiZEloK0FvS0lTY2orTHZs?=
 =?utf-8?B?d3VIdXJEUzllQlJ2VU9palJxQTNlSmlscGpkaTBueU85NzBMTjUvTkxJQ1hV?=
 =?utf-8?B?b0dkcmp4ZVFWTzI5MGppLzZrS2RYcG5sbFJXYnhLRmMrWGhsa0lDL2M1aXBT?=
 =?utf-8?B?NEVNZkoySWFDS0J0a2wzWjNmSU5UOEVKY05sc09IRzhVSXdFYUJhQVl5ZGZo?=
 =?utf-8?B?dUZXWWt4ZEtZQWp1VVk5TDM2QTNtczRzZklpR1N1ektCRkxkWGQvRE5tU2Fm?=
 =?utf-8?B?c1V3M2NTK2xiVVlFaC9VN0MwUHhKdW5ncnd2NHpNWi9EdkRJTzZxaHBReitR?=
 =?utf-8?B?Mml2NEViZWx2Unpwc3JyOUlwMndGLzJod3BjK2pYQ203UkFOQmplN0R1c05i?=
 =?utf-8?B?ajhVT0E2L2xoTzQwZWVSMFFCUkdaZUk2dXg5Q2pDUnJ0cDQzdHZXM0NXUm1E?=
 =?utf-8?B?c3NTY2YrOEhUWTY0bmhmK21Hai9nYllBN0JocHlLMUxjZHB2cEVQbmtLNFNY?=
 =?utf-8?B?WWw2RDhoaUxqNFpPVk5JZVFvUGJ4cmZSTFYzOEFQSHdHS1ZDVm8xdW9SNm5J?=
 =?utf-8?B?dXFwZS8vS2VBKzQ2Z0pnOFg5UVJtL1RaSnJVS0hiSnBVWllsUkhlaUxiaVJ6?=
 =?utf-8?B?ZStVRWRIMGRzSGNYTnBYeVk3VzlKcWJ2a1BtaE1oWFIwbzJzaXVUcHk4ekI3?=
 =?utf-8?B?aUlGaE0yWXBpZDBPNUszY1I4Q0tkOFpJN0JzcG5RRlpKVjczM3p0Yk9YN05i?=
 =?utf-8?B?ekNlVTdBWjJ6RGdHWFROdXFPWFVBYWNwYUJodlVtTndVMUI5bmZaZk9UaU43?=
 =?utf-8?Q?3KUNRqpWXVD9gEqAcNF05Vm9Ist1c7+JtOEpqtZ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a3ebde46-b509-4746-6da2-08d96308fb96
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2021 12:00:48.2623
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /CVag1KZbOsai4VW7Fq5zcue42E4YTPNiRcc/Sgf1DaWLypb30IRrNNSkeVtYzIXTAwj1m2OKpGurvcG5XYJvQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3535

On 19.08.2021 13:55, Ian Jackson wrote:
> Jan Beulich writes ("Re: [PATCH] RFC: Version support policy"):
>> On 13.08.2021 13:37, Ian Jackson wrote:
>>> In this patch I propose a cutoff of 6 years.
>>> Obviously there will be debate about the precise value.
>>
>> Indeed I consider this way too short. Purely as a personal (and
>> abstract) view (realizing this isn't really practical, and knowing
>> there are reasons why I'd actually like to see a bump of the
>> baseline) I'd prefer if there weren't minimum version requirements
>> at all (apart from maybe - along the lines of ...
>>
>>> It will also be necessary to make exceptions, and/or to make different
>>> rules for different architectures.  In particular, new architectures,
>>> new configurations, or new features, may need an absolute earliest
>>> tooling date which is considerably less than the usual limit.
>>
>> ... this - a baseline determined when Xen became an open source
>> project).
> 
> I don't think that is workable.  Effectively, it means we are
> targeting a constantly-obsolescing dependency environment.  It
> would prevent us from adopting even very-well-established facilities
> and improvements in our dependencies.
> 
> Effectively, it would force us to continue to write using 10- or
> 20-year-old idioms.  Idioms many of which have been found to be
> suboptimal, and which in some cases are becoming unsupported.

Right - that's why I did write "knowing there are reasons why I'd
actually like to see a bump of the baseline". I'm really of two
minds here, and either route has perhaps severe drawbacks.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 12:03:17 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 12:03:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168596.307817 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGglP-0001bF-Bv; Thu, 19 Aug 2021 12:03:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168596.307817; Thu, 19 Aug 2021 12: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 1mGglP-0001b8-8h; Thu, 19 Aug 2021 12:03:15 +0000
Received: by outflank-mailman (input) for mailman id 168596;
 Thu, 19 Aug 2021 12:03:14 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HKsV=NK=arm.com=rahul.singh@srs-us1.protection.inumbo.net>)
 id 1mGglO-0001b0-EL
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 12:03:14 +0000
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id 6d34f635-00e5-11ec-a5f2-12813bfff9fa;
 Thu, 19 Aug 2021 12:03:12 +0000 (UTC)
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 D8F6331B;
 Thu, 19 Aug 2021 05:03:11 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id BE83C3F70D;
 Thu, 19 Aug 2021 05:03: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: 6d34f635-00e5-11ec-a5f2-12813bfff9fa
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	rahul.singh@arm.com,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	George Dunlap <george.dunlap@citrix.com>,
	Ian Jackson <iwj@xenproject.org>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paul Durrant <paul@xen.org>,
	Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v1 00/14] PCI devices passthrough on Arm
Date: Thu, 19 Aug 2021 13:02:40 +0100
Message-Id: <cover.1629366665.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.17.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hello All,

The purpose of this patch series is to add PCI passthrough support to Xen on
Arm. PCI passthrough support on ARM is the collaboration work between EPAM and
ARM. ARM submitted the partial RFC [1][2] last year to get early feedback. We
tried to fix all the comments and added more features to this patch series.

Working POC with all the features can be found at [3]. Working POC is tested
on x86 so that there will be no regression on x86. Design presentation can be
found at [4]

PCI passthrough support is divided into different patches. This patch series
includes following features: 

Preparatory work to implement the PCI passthrough support for the ARM:
- Refactor MSI code.
- Fixed compilation error when HAS_PCI enabled for ARM.

Discovering PCI Host Bridge in XEN:
- PCI init to initialize the PCI driver.
- PCI host bridge discovery in XEN and map the PCI ECAM configuration space to
  the XEN memory.
- PCI access functions.

Discovering PCI devices:
- To support the PCI passthrough, XEN should be aware of the PCI
  devices.
- Hardware domain is in charge of doing the PCI enumeration and will discover
  the PCI devices and then communicate to the XEN via a hypercall to add the
  PCI devices in XEN.

Enable the existing x86 virtual PCI support for ARM:
- Add VPCI trap handler for each of the PCI device added for config space
  access.
- Register the trap handler in XEN for each of the host bridge PCI ECAM config
  space access.

Emulated PCI device tree node in libxl:
- Create a virtual PCI device tree node in libxl to enable the guest OS to
  discover the virtual PCI during guest boot.

This patch series does not inlcude the following features. Following features
will be send for review in the next version of the patch series once initial
patch series merged.

- VPCI support for DOMU guests (Non-identity mappings guest view of the BARs) 
- Virtual bus topology implementation
- IOMMU related changes (generic, SMMUv2, SMMUv3)
- MSI support for DOMU guests.
- Virual ITS support for DOMU guests

[1] https://lists.xenproject.org/archives/html/xen-devel/2020-07/msg01184.html
[2] https://lists.xenproject.org/archives/html/xen-devel/2020-07/threads.html#01184
[3] https://gitlab.com/rahsingh/xen-integration/-/commits/pci-passthrough-upstream-all
[4] https://static.sched.com/hosted_files/xen2021/e4/PCI_Device_Passthrough_On_Arm.pdf

Oleksandr Andrushchenko (1):
  xen/arm: Add support for Xilinx ZynqMP PCI host controller

Rahul Singh (13):
  xen/pci: Refactor MSI code that implements MSI functionality within
    XEN
  xen/pci: solve compilation error on ARM with HAS_PCI enabled
  xen/pci: solve compilation error on ARM with ACPI && HAS_PCI
  xen/arm: Add support for PCI init to initialize the PCI driver.
  xen/arm: PCI host bridge discovery within XEN on ARM
  xen/arm: Add support for PCI ecam operations
  xen:arm: Implement pci access functions
  xen/arm: Add cmdline boot option "pci=on"
  xen/arm: Discovering PCI devices and add the PCI devices in XEN.
  xen/arm: Enable the existing x86 virtual PCI support for ARM.
  arm/libxl: Emulated PCI device tree node in libxl
  xen/arm: Fixed error when PCI device is assigned to guest
  xen/arm: Add linux,pci-domain property for hwdom if not available.

 tools/libs/light/libxl_arm.c          | 109 +++++++++
 tools/libs/light/libxl_types.idl      |   1 +
 tools/xl/xl_parse.c                   |   2 +
 xen/arch/arm/Makefile                 |   2 +
 xen/arch/arm/domain.c                 |   4 +
 xen/arch/arm/domain_build.c           |  18 ++
 xen/arch/arm/domctl.c                 |   2 +
 xen/arch/arm/pci/Makefile             |   6 +
 xen/arch/arm/pci/ecam.c               |  63 ++++++
 xen/arch/arm/pci/pci-access.c         | 143 ++++++++++++
 xen/arch/arm/pci/pci-host-common.c    | 312 ++++++++++++++++++++++++++
 xen/arch/arm/pci/pci-host-generic.c   |  59 +++++
 xen/arch/arm/pci/pci-host-zynqmp.c    |  59 +++++
 xen/arch/arm/pci/pci.c                | 116 ++++++++++
 xen/arch/arm/physdev.c                |  42 +++-
 xen/arch/arm/vpci.c                   |  96 ++++++++
 xen/arch/arm/vpci.h                   |  37 +++
 xen/arch/x86/Kconfig                  |   1 +
 xen/drivers/passthrough/Makefile      |   1 +
 xen/drivers/passthrough/arm/iommu.c   |   5 +
 xen/drivers/passthrough/msi.c         |  96 ++++++++
 xen/drivers/passthrough/pci.c         |  63 ++----
 xen/drivers/pci/Kconfig               |   4 +
 xen/drivers/vpci/Makefile             |   3 +-
 xen/drivers/vpci/header.c             |   2 +
 xen/include/asm-arm/device.h          |   1 +
 xen/include/asm-arm/domain.h          |   5 +-
 xen/include/asm-arm/pci.h             | 106 ++++++++-
 xen/include/public/arch-arm.h         |  15 ++
 xen/include/public/device_tree_defs.h |   1 +
 xen/include/xen/msi.h                 |  56 +++++
 xen/xsm/flask/hooks.c                 |   8 +-
 32 files changed, 1384 insertions(+), 54 deletions(-)
 create mode 100644 xen/arch/arm/pci/Makefile
 create mode 100644 xen/arch/arm/pci/ecam.c
 create mode 100644 xen/arch/arm/pci/pci-access.c
 create mode 100644 xen/arch/arm/pci/pci-host-common.c
 create mode 100644 xen/arch/arm/pci/pci-host-generic.c
 create mode 100644 xen/arch/arm/pci/pci-host-zynqmp.c
 create mode 100644 xen/arch/arm/pci/pci.c
 create mode 100644 xen/arch/arm/vpci.c
 create mode 100644 xen/arch/arm/vpci.h
 create mode 100644 xen/drivers/passthrough/msi.c
 create mode 100644 xen/include/xen/msi.h

-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 12:04:41 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 12:04:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168603.307828 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGgmm-0002DG-NP; Thu, 19 Aug 2021 12:04:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168603.307828; Thu, 19 Aug 2021 12:04: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 1mGgmm-0002D9-Js; Thu, 19 Aug 2021 12:04:40 +0000
Received: by outflank-mailman (input) for mailman id 168603;
 Thu, 19 Aug 2021 12:04:39 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HKsV=NK=arm.com=rahul.singh@srs-us1.protection.inumbo.net>)
 id 1mGgml-0002Cs-7e
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 12:04:39 +0000
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id 05a63d4a-9cc0-4d63-b142-d1e131694794;
 Thu, 19 Aug 2021 12:04:36 +0000 (UTC)
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 8779C31B;
 Thu, 19 Aug 2021 05:04:36 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id A3A503F70D;
 Thu, 19 Aug 2021 05: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: 05a63d4a-9cc0-4d63-b142-d1e131694794
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	rahul.singh@arm.com,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	George Dunlap <george.dunlap@citrix.com>,
	Ian Jackson <iwj@xenproject.org>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paul Durrant <paul@xen.org>,
	Daniel De Graaf <dgdegra@tycho.nsa.gov>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH v1 01/14] xen/pci: Refactor MSI code that implements MSI functionality within XEN
Date: Thu, 19 Aug 2021 13:02:41 +0100
Message-Id: <d0b7b457762d481b19c8da6c2d55ff4acb4d6291.1629366665.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <cover.1629366665.git.rahul.singh@arm.com>
References: <cover.1629366665.git.rahul.singh@arm.com>
In-Reply-To: <cover.1629366665.git.rahul.singh@arm.com>
References: <cover.1629366665.git.rahul.singh@arm.com>

MSI code that implements MSI functionality to support MSI within XEN is
not usable on ARM. Move the code under CONFIG_HAS_PCI_MSI flag to gate
the code for ARM.

No functional change intended.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/arch/x86/Kconfig             |  1 +
 xen/drivers/passthrough/Makefile |  1 +
 xen/drivers/passthrough/msi.c    | 96 ++++++++++++++++++++++++++++++++
 xen/drivers/passthrough/pci.c    | 54 +++++-------------
 xen/drivers/pci/Kconfig          |  4 ++
 xen/include/xen/msi.h            | 56 +++++++++++++++++++
 xen/xsm/flask/hooks.c            |  8 +--
 7 files changed, 175 insertions(+), 45 deletions(-)
 create mode 100644 xen/drivers/passthrough/msi.c
 create mode 100644 xen/include/xen/msi.h

diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 9b164db641..7b46ee98c5 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -19,6 +19,7 @@ config X86
 	select HAS_NS16550
 	select HAS_PASSTHROUGH
 	select HAS_PCI
+	select HAS_PCI_MSI
 	select HAS_PDX
 	select HAS_SCHED_GRANULARITY
 	select HAS_UBSAN
diff --git a/xen/drivers/passthrough/Makefile b/xen/drivers/passthrough/Makefile
index 445690e3e5..a5efa22714 100644
--- a/xen/drivers/passthrough/Makefile
+++ b/xen/drivers/passthrough/Makefile
@@ -7,3 +7,4 @@ obj-y += iommu.o
 obj-$(CONFIG_HAS_PCI) += pci.o
 obj-$(CONFIG_HAS_DEVICE_TREE) += device_tree.o
 obj-$(CONFIG_HAS_PCI) += ats.o
+obj-$(CONFIG_HAS_PCI_MSI) += msi.o
diff --git a/xen/drivers/passthrough/msi.c b/xen/drivers/passthrough/msi.c
new file mode 100644
index 0000000000..15ad0f8160
--- /dev/null
+++ b/xen/drivers/passthrough/msi.c
@@ -0,0 +1,96 @@
+/*
+ * Copyright (C) 2008,  Netronome 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>
+#include <xen/pci.h>
+#include <asm/msi.h>
+#include <asm/hvm/io.h>
+
+int pdev_msix_assign(struct domain *d, struct pci_dev *pdev)
+{
+    int rc;
+
+    if ( pdev->msix )
+    {
+        rc = pci_reset_msix_state(pdev);
+        if ( rc )
+            return rc;
+        msixtbl_init(d);
+    }
+
+    return 0;
+}
+
+int pdev_msi_init(struct pci_dev *pdev)
+{
+    unsigned int pos;
+
+    INIT_LIST_HEAD(&pdev->msi_list);
+
+    pos = pci_find_cap_offset(pdev->seg, pdev->bus, PCI_SLOT(pdev->devfn),
+                              PCI_FUNC(pdev->devfn), PCI_CAP_ID_MSI);
+    if ( pos )
+    {
+        uint16_t ctrl = pci_conf_read16(pdev->sbdf, msi_control_reg(pos));
+
+        pdev->msi_maxvec = multi_msi_capable(ctrl);
+    }
+
+    pos = pci_find_cap_offset(pdev->seg, pdev->bus, PCI_SLOT(pdev->devfn),
+                              PCI_FUNC(pdev->devfn), PCI_CAP_ID_MSIX);
+    if ( pos )
+    {
+        struct arch_msix *msix = xzalloc(struct arch_msix);
+        uint16_t ctrl;
+
+        if ( !msix )
+            return -ENOMEM;
+
+        spin_lock_init(&msix->table_lock);
+
+        ctrl = pci_conf_read16(pdev->sbdf, msix_control_reg(pos));
+        msix->nr_entries = msix_table_size(ctrl);
+
+        pdev->msix = msix;
+    }
+
+    return 0;
+}
+
+void pdev_msi_deinit(struct pci_dev *pdev)
+{
+    XFREE(pdev->msix);
+}
+
+void pdev_dump_msi(const struct pci_dev *pdev)
+{
+    const struct msi_desc *msi;
+
+    printk("- MSIs < ");
+    list_for_each_entry ( msi, &pdev->msi_list, list )
+        printk("%d ", msi->irq);
+    printk(">");
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index fc4fa2e5c3..67f5686ab6 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -32,8 +32,8 @@
 #include <xen/softirq.h>
 #include <xen/tasklet.h>
 #include <xen/vpci.h>
+#include <xen/msi.h>
 #include <xsm/xsm.h>
-#include <asm/msi.h>
 #include "ats.h"
 
 struct pci_seg {
@@ -314,6 +314,7 @@ static struct pci_dev *alloc_pdev(struct pci_seg *pseg, u8 bus, u8 devfn)
 {
     struct pci_dev *pdev;
     unsigned int pos;
+    int rc;
 
     list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )
         if ( pdev->bus == bus && pdev->devfn == devfn )
@@ -327,35 +328,12 @@ 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;
-    INIT_LIST_HEAD(&pdev->msi_list);
-
-    pos = pci_find_cap_offset(pseg->nr, bus, PCI_SLOT(devfn), PCI_FUNC(devfn),
-                              PCI_CAP_ID_MSI);
-    if ( pos )
-    {
-        uint16_t ctrl = pci_conf_read16(pdev->sbdf, msi_control_reg(pos));
-
-        pdev->msi_maxvec = multi_msi_capable(ctrl);
-    }
 
-    pos = pci_find_cap_offset(pseg->nr, bus, PCI_SLOT(devfn), PCI_FUNC(devfn),
-                              PCI_CAP_ID_MSIX);
-    if ( pos )
+    rc = pdev_msi_init(pdev);
+    if ( rc )
     {
-        struct arch_msix *msix = xzalloc(struct arch_msix);
-        uint16_t ctrl;
-
-        if ( !msix )
-        {
-            xfree(pdev);
-            return NULL;
-        }
-        spin_lock_init(&msix->table_lock);
-
-        ctrl = pci_conf_read16(pdev->sbdf, msix_control_reg(pos));
-        msix->nr_entries = msix_table_size(ctrl);
-
-        pdev->msix = msix;
+        xfree(pdev);
+        return NULL;
     }
 
     list_add(&pdev->alldevs_list, &pseg->alldevs_list);
@@ -449,7 +427,7 @@ static void free_pdev(struct pci_seg *pseg, struct pci_dev *pdev)
     }
 
     list_del(&pdev->alldevs_list);
-    xfree(pdev->msix);
+    pdev_msi_deinit(pdev);
     xfree(pdev);
 }
 
@@ -1271,18 +1249,16 @@ bool_t pcie_aer_get_firmware_first(const struct pci_dev *pdev)
 static int _dump_pci_devices(struct pci_seg *pseg, void *arg)
 {
     struct pci_dev *pdev;
-    struct msi_desc *msi;
 
     printk("==== segment %04x ====\n", pseg->nr);
 
     list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )
     {
-        printk("%pp - %pd - node %-3d - MSIs < ",
+        printk("%pp - %pd - node %-3d ",
                &pdev->sbdf, pdev->domain,
                (pdev->node != NUMA_NO_NODE) ? pdev->node : -1);
-        list_for_each_entry ( msi, &pdev->msi_list, list )
-               printk("%d ", msi->irq);
-        printk(">\n");
+        pdev_dump_msi(pdev);
+        printk("\n");
     }
 
     return 0;
@@ -1422,13 +1398,9 @@ static int assign_device(struct domain *d, u16 seg, u8 bus, u8 devfn, u32 flag)
     ASSERT(pdev && (pdev->domain == hardware_domain ||
                     pdev->domain == dom_io));
 
-    if ( pdev->msix )
-    {
-        rc = pci_reset_msix_state(pdev);
-        if ( rc )
-            goto done;
-        msixtbl_init(d);
-    }
+    rc = pdev_msix_assign(d, pdev);
+    if ( rc )
+        goto done;
 
     pdev->fault.count = 0;
 
diff --git a/xen/drivers/pci/Kconfig b/xen/drivers/pci/Kconfig
index 7da03fa13b..c6a7bc8007 100644
--- a/xen/drivers/pci/Kconfig
+++ b/xen/drivers/pci/Kconfig
@@ -1,3 +1,7 @@
 
 config HAS_PCI
 	bool
+
+config HAS_PCI_MSI
+	bool
+	depends on HAS_PCI
diff --git a/xen/include/xen/msi.h b/xen/include/xen/msi.h
new file mode 100644
index 0000000000..b2d5bc6f9d
--- /dev/null
+++ b/xen/include/xen/msi.h
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2008,  Netronome 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 __XEN_MSI_H_
+#define __XEN_MSI_H_
+
+#ifdef CONFIG_HAS_PCI_MSI
+
+#include <asm/msi.h>
+
+int pdev_msix_assign(struct domain *d, struct pci_dev *pdev);
+int pdev_msi_init(struct pci_dev *pdev);
+void pdev_msi_deinit(struct pci_dev *pdev);
+void pdev_dump_msi(const struct pci_dev *pdev);
+
+#else /* !CONFIG_HAS_PCI_MSI */
+static inline int pdev_msix_assign(struct domain *d, struct pci_dev *pdev)
+{
+    return 0;
+}
+
+static inline int pdev_msi_init(struct pci_dev *pdev)
+{
+    return 0;
+}
+
+static inline void pdev_msi_deinit(struct pci_dev *pdev) {}
+static inline void pci_cleanup_msi(struct pci_dev *pdev) {}
+static inline void pdev_dump_msi(const struct pci_dev *pdev) {}
+
+#endif /* CONFIG_HAS_PCI_MSI */
+
+#endif /* __XEN_MSI_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/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
index f1a1217c98..fdcfeb984c 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -21,7 +21,7 @@
 #include <xen/guest_access.h>
 #include <xen/xenoprof.h>
 #include <xen/iommu.h>
-#ifdef CONFIG_HAS_PCI
+#ifdef CONFIG_HAS_PCI_MSI
 #include <asm/msi.h>
 #endif
 #include <public/xen.h>
@@ -114,7 +114,7 @@ static int get_irq_sid(int irq, u32 *sid, struct avc_audit_data *ad)
         }
         return security_irq_sid(irq, sid);
     }
-#ifdef CONFIG_HAS_PCI
+#ifdef CONFIG_HAS_PCI_MSI
     {
         struct irq_desc *desc = irq_to_desc(irq);
         if ( desc->msi_desc && desc->msi_desc->dev ) {
@@ -874,7 +874,7 @@ static int flask_map_domain_pirq (struct domain *d)
 static int flask_map_domain_msi (struct domain *d, int irq, const void *data,
                                  u32 *sid, struct avc_audit_data *ad)
 {
-#ifdef CONFIG_HAS_PCI
+#ifdef CONFIG_HAS_PCI_MSI
     const struct msi_info *msi = data;
     u32 machine_bdf = (msi->seg << 16) | (msi->bus << 8) | msi->devfn;
 
@@ -940,7 +940,7 @@ static int flask_unmap_domain_pirq (struct domain *d)
 static int flask_unmap_domain_msi (struct domain *d, int irq, const void *data,
                                    u32 *sid, struct avc_audit_data *ad)
 {
-#ifdef CONFIG_HAS_PCI
+#ifdef CONFIG_HAS_PCI_MSI
     const struct pci_dev *pdev = data;
     u32 machine_bdf = (pdev->seg << 16) | (pdev->bus << 8) | pdev->devfn;
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 12:05:14 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 12:05:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168611.307838 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGgnK-0002nn-3N; Thu, 19 Aug 2021 12:05:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168611.307838; Thu, 19 Aug 2021 12:05:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGgnK-0002ng-0J; Thu, 19 Aug 2021 12:05:14 +0000
Received: by outflank-mailman (input) for mailman id 168611;
 Thu, 19 Aug 2021 12:05:13 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HKsV=NK=arm.com=rahul.singh@srs-us1.protection.inumbo.net>)
 id 1mGgnJ-0002nY-1B
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 12:05:13 +0000
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id 5b5ee02b-6e6e-42eb-966f-4c693724cdff;
 Thu, 19 Aug 2021 12:05:11 +0000 (UTC)
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 2453531B;
 Thu, 19 Aug 2021 05:05:11 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 3D98E3F70D;
 Thu, 19 Aug 2021 05:05: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: 5b5ee02b-6e6e-42eb-966f-4c693724cdff
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	rahul.singh@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v1 02/14] xen/pci: solve compilation error on ARM with HAS_PCI enabled
Date: Thu, 19 Aug 2021 13:02:42 +0100
Message-Id: <c6009c327eaed66206fa093732ab6672530acd27.1629366665.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <cover.1629366665.git.rahul.singh@arm.com>
References: <cover.1629366665.git.rahul.singh@arm.com>
In-Reply-To: <cover.1629366665.git.rahul.singh@arm.com>
References: <cover.1629366665.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Compilation error is observed when HAS_PCI is enabled for ARM
architecture.

Add definition for arch_iommu_use_permitted() and
arch_pci_clean_pirqs().Implement dummy functions for pci_conf_read*() to
fix compilation error.

pci.c: In function ‘deassign_device’:
pci.c:849:49: error: implicit declaration of function ‘pci_to_dev’;
did you mean ‘dt_to_dev’? [-Werror=implicit-function-declaration]
            pci_to_dev(pdev));

pci.c:18: undefined reference to `pci_conf_read16’
pci.c:880: undefined reference to `arch_pci_clean_pirqs’
pci.c:1392: undefined reference to `arch_iommu_use_permitted'

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/arch/arm/Makefile               |  1 +
 xen/arch/arm/pci/Makefile           |  2 +
 xen/arch/arm/pci/pci-access.c       | 61 +++++++++++++++++++++++++++++
 xen/arch/arm/pci/pci.c              | 32 +++++++++++++++
 xen/drivers/passthrough/arm/iommu.c |  5 +++
 xen/include/asm-arm/pci.h           | 33 ++++++++++++++--
 6 files changed, 131 insertions(+), 3 deletions(-)
 create mode 100644 xen/arch/arm/pci/Makefile
 create mode 100644 xen/arch/arm/pci/pci-access.c
 create mode 100644 xen/arch/arm/pci/pci.c

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 3d3b97b5b4..0e14a5e5c8 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -6,6 +6,7 @@ ifneq ($(CONFIG_NO_PLAT),y)
 obj-y += platforms/
 endif
 obj-$(CONFIG_TEE) += tee/
+obj-$(CONFIG_HAS_PCI) += pci/
 
 obj-$(CONFIG_HAS_ALTERNATIVE) += alternative.o
 obj-y += bootfdt.init.o
diff --git a/xen/arch/arm/pci/Makefile b/xen/arch/arm/pci/Makefile
new file mode 100644
index 0000000000..a9ee0b9b44
--- /dev/null
+++ b/xen/arch/arm/pci/Makefile
@@ -0,0 +1,2 @@
+obj-y += pci.o
+obj-y += pci-access.o
diff --git a/xen/arch/arm/pci/pci-access.c b/xen/arch/arm/pci/pci-access.c
new file mode 100644
index 0000000000..b938047c03
--- /dev/null
+++ b/xen/arch/arm/pci/pci-access.c
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2021 Arm Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <xen/pci.h>
+
+static uint32_t pci_config_read(pci_sbdf_t sbdf, unsigned int reg,
+                                unsigned int len)
+{
+    return ~0U;
+}
+
+static void pci_config_write(pci_sbdf_t sbdf, unsigned int reg,
+                             unsigned int len, uint32_t val)
+{
+}
+
+/*
+ * Wrappers for all PCI configuration access functions.
+ */
+
+#define PCI_OP_WRITE(size, type)                                            \
+    void pci_conf_write##size (pci_sbdf_t sbdf,unsigned int reg, type val)  \
+{                                                                           \
+    pci_config_write(sbdf, reg, size / 8, val);                             \
+}
+
+#define PCI_OP_READ(size, type)                                             \
+    type pci_conf_read##size (pci_sbdf_t sbdf, unsigned int reg)            \
+{                                                                           \
+    return pci_config_read(sbdf, reg, size / 8);                            \
+}
+
+PCI_OP_READ(8, u8)
+PCI_OP_READ(16, u16)
+PCI_OP_READ(32, u32)
+PCI_OP_WRITE(8, u8)
+PCI_OP_WRITE(16, u16)
+PCI_OP_WRITE(32, u32)
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/pci/pci.c b/xen/arch/arm/pci/pci.c
new file mode 100644
index 0000000000..dc55d23778
--- /dev/null
+++ b/xen/arch/arm/pci/pci.c
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2021 Arm Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <xen/pci.h>
+
+int arch_pci_clean_pirqs(struct domain *d)
+{
+    return 0;
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/drivers/passthrough/arm/iommu.c b/xen/drivers/passthrough/arm/iommu.c
index db3b07a571..fdec1c5547 100644
--- a/xen/drivers/passthrough/arm/iommu.c
+++ b/xen/drivers/passthrough/arm/iommu.c
@@ -135,3 +135,8 @@ void arch_iommu_domain_destroy(struct domain *d)
 void __hwdom_init arch_iommu_hwdom_init(struct domain *d)
 {
 }
+
+bool arch_iommu_use_permitted(const struct domain *d)
+{
+    return true;
+}
diff --git a/xen/include/asm-arm/pci.h b/xen/include/asm-arm/pci.h
index de13359f65..61e43da088 100644
--- a/xen/include/asm-arm/pci.h
+++ b/xen/include/asm-arm/pci.h
@@ -1,7 +1,34 @@
-#ifndef __X86_PCI_H__
-#define __X86_PCI_H__
+/*
+ * Copyright (C) 2021 Arm Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
 
+#ifndef __ARM_PCI_H__
+#define __ARM_PCI_H__
+
+#ifdef CONFIG_HAS_PCI
+
+#define pci_to_dev(pcidev) (&(pcidev)->arch.dev)
+
+/* Arch pci dev struct */
 struct arch_pci_dev {
+    struct device dev;
 };
 
-#endif /* __X86_PCI_H__ */
+#else   /*!CONFIG_HAS_PCI*/
+
+struct arch_pci_dev { };
+
+#endif  /*!CONFIG_HAS_PCI*/
+#endif /* __ARM_PCI_H__ */
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 12:05:37 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 12:05:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168616.307849 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGgnh-0003Nu-DX; Thu, 19 Aug 2021 12:05:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168616.307849; Thu, 19 Aug 2021 12:05:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGgnh-0003Nn-AF; Thu, 19 Aug 2021 12:05:37 +0000
Received: by outflank-mailman (input) for mailman id 168616;
 Thu, 19 Aug 2021 12:05:36 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HKsV=NK=arm.com=rahul.singh@srs-us1.protection.inumbo.net>)
 id 1mGgng-0003MP-6D
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 12:05:36 +0000
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id f3b74f15-2acf-4137-b983-af5b37feea4e;
 Thu, 19 Aug 2021 12:05:35 +0000 (UTC)
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 C077431B;
 Thu, 19 Aug 2021 05:05:34 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id F41733F70D;
 Thu, 19 Aug 2021 05:05: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: f3b74f15-2acf-4137-b983-af5b37feea4e
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	rahul.singh@arm.com,
	Jan Beulich <jbeulich@suse.com>,
	Paul Durrant <paul@xen.org>
Subject: [PATCH v1 03/14] xen/pci: solve compilation error on ARM with ACPI && HAS_PCI
Date: Thu, 19 Aug 2021 13:02:43 +0100
Message-Id: <97d39d3ee398d6018bdcaf745f00d039df6a92ef.1629366665.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <cover.1629366665.git.rahul.singh@arm.com>
References: <cover.1629366665.git.rahul.singh@arm.com>
In-Reply-To: <cover.1629366665.git.rahul.singh@arm.com>
References: <cover.1629366665.git.rahul.singh@arm.com>

Compilation error is observed when ACPI and HAS_PCI is enabled for ARM
architecture. Move the code under CONFIG_X86 flag to gate the code for
ARM.

No functional change intended.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/drivers/passthrough/pci.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index 67f5686ab6..c23c8cb06b 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -1150,7 +1150,7 @@ void __hwdom_init setup_hwdom_pci_devices(
     pcidevs_unlock();
 }
 
-#ifdef CONFIG_ACPI
+#if defined(CONFIG_ACPI) && defined(CONFIG_X86)
 #include <acpi/acpi.h>
 #include <acpi/apei.h>
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 12:06:01 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 12:06:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168621.307861 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGgo1-0003v3-M4; Thu, 19 Aug 2021 12:05:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168621.307861; Thu, 19 Aug 2021 12:05:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGgo1-0003us-Ip; Thu, 19 Aug 2021 12:05:57 +0000
Received: by outflank-mailman (input) for mailman id 168621;
 Thu, 19 Aug 2021 12:05:56 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HKsV=NK=arm.com=rahul.singh@srs-us1.protection.inumbo.net>)
 id 1mGgo0-0003uH-55
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 12:05:56 +0000
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id ce6fb9f2-00e5-11ec-a5f6-12813bfff9fa;
 Thu, 19 Aug 2021 12:05:55 +0000 (UTC)
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 10B9531B;
 Thu, 19 Aug 2021 05:05:55 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 280E03F70D;
 Thu, 19 Aug 2021 05:05:54 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ce6fb9f2-00e5-11ec-a5f6-12813bfff9fa
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	rahul.singh@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v1 04/14] xen/arm: Add support for PCI init to initialize the PCI driver.
Date: Thu, 19 Aug 2021 13:02:44 +0100
Message-Id: <999887f9b4b2ea06ae99e1e003f9e43aa272a19c.1629366665.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <cover.1629366665.git.rahul.singh@arm.com>
References: <cover.1629366665.git.rahul.singh@arm.com>
In-Reply-To: <cover.1629366665.git.rahul.singh@arm.com>
References: <cover.1629366665.git.rahul.singh@arm.com>

pci_init(..) will be called during xen startup to initialize and probe
the PCI host-bridge driver.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/arch/arm/pci/pci.c       | 54 ++++++++++++++++++++++++++++++++++++
 xen/include/asm-arm/device.h |  1 +
 2 files changed, 55 insertions(+)

diff --git a/xen/arch/arm/pci/pci.c b/xen/arch/arm/pci/pci.c
index dc55d23778..d1c9cf997d 100644
--- a/xen/arch/arm/pci/pci.c
+++ b/xen/arch/arm/pci/pci.c
@@ -14,13 +14,67 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <xen/acpi.h>
+#include <xen/device_tree.h>
+#include <xen/errno.h>
+#include <xen/init.h>
 #include <xen/pci.h>
+#include <xen/param.h>
 
 int arch_pci_clean_pirqs(struct domain *d)
 {
     return 0;
 }
 
+static int __init dt_pci_init(void)
+{
+    struct dt_device_node *np;
+    int rc;
+
+    dt_for_each_device_node(dt_host, np)
+    {
+        rc = device_init(np, DEVICE_PCI, NULL);
+        if( !rc )
+            continue;
+        /*
+         * Ignore the following error codes:
+         *   - EBADF: Indicate the current is not an pci
+         *   - ENODEV: The pci device is not present or cannot be used by
+         *     Xen.
+         */
+        else if ( rc != -EBADF && rc != -ENODEV )
+        {
+            printk(XENLOG_ERR "No driver found in XEN or driver init error.\n");
+            return rc;
+        }
+    }
+
+    return 0;
+}
+
+#ifdef CONFIG_ACPI
+static void __init acpi_pci_init(void)
+{
+    printk(XENLOG_ERR "ACPI pci init not supported \n");
+    return;
+}
+#else
+static inline void __init acpi_pci_init(void) { }
+#endif
+
+static int __init pci_init(void)
+{
+    if ( acpi_disabled )
+        dt_pci_init();
+    else
+        acpi_pci_init();
+
+    pci_segments_init();
+
+    return 0;
+}
+__initcall(pci_init);
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/include/asm-arm/device.h b/xen/include/asm-arm/device.h
index ee7cff2d44..5ecd5e7bd1 100644
--- a/xen/include/asm-arm/device.h
+++ b/xen/include/asm-arm/device.h
@@ -34,6 +34,7 @@ enum device_class
     DEVICE_SERIAL,
     DEVICE_IOMMU,
     DEVICE_GIC,
+    DEVICE_PCI,
     /* Use for error */
     DEVICE_UNKNOWN,
 };
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 12:06:14 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 12:06:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168624.307872 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGgoI-0004PB-14; Thu, 19 Aug 2021 12:06:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168624.307872; Thu, 19 Aug 2021 12:06:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGgoH-0004P2-TK; Thu, 19 Aug 2021 12:06:13 +0000
Received: by outflank-mailman (input) for mailman id 168624;
 Thu, 19 Aug 2021 12:06:12 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KGBc=NK=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mGgoG-0004Mm-4S
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 12:06:12 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 4cdf898b-8598-4343-969b-2e0c7e8883ab;
 Thu, 19 Aug 2021 12:06:11 +0000 (UTC)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2056.outbound.protection.outlook.com [104.47.14.56]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-12-7hTSsEn4OQCAOgmJ0UhuVw-1; Thu, 19 Aug 2021 14:06:08 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VE1PR04MB6382.eurprd04.prod.outlook.com (2603:10a6:803:122::31)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Thu, 19 Aug
 2021 12:06:07 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Thu, 19 Aug 2021
 12:06:07 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0077.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:18::17) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.18 via Frontend Transport; Thu, 19 Aug 2021 12:06: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: 4cdf898b-8598-4343-969b-2e0c7e8883ab
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629374770;
	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=wQuc3xYl5TmM2vUqZltf9YOmqeJwaGUUm5NONliWslY=;
	b=n4iZQGaP7cl9iDAqn9gEjdFuBf+QgQDRmWpJhMRejRBp8dxQvl98AhKm/t4DCsxjrIY/iJ
	q3vb2qRvogxJnlP2Pe3LIH4C2QAhNJyKXLocF/WF88crKzIvEsgVI7YfwzvdFOKFu7BBfH
	8imQJcR+kxH4HFzNlUApkWmalsEp3gw=
X-MC-Unique: 7hTSsEn4OQCAOgmJ0UhuVw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hDu9fCjmJgnqT08POAVjDTgrTVJ9IAy3a3v99WQFgfG3tUsE4nyOj2lWOZhggBJ0xYFtbYPLbPdZl6eMqgs+9d3pBPp3W6l/AdVlPeiMOO46MwLHcAcB06O4GJ3qJuPUBJSNUf+Zk4VKFsqhQkQb9FZs0uVYy6OCwp6rI4nJZisH8e0o3GgLaaVKLWG8vS0wM9qIxyon6C5CHmtdLd/HZh/2+oyWaKIXd2oji19wDotzZe3/EKuFwnvAA+5icGIuo47mBtI3m/vlN+LKYpp45ZMWd2O5ORhNNZ7bCPGsXsIW43BTsmddHkDcFNFj+CTMQcE+glQvSHvH/aaI32gahQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wQuc3xYl5TmM2vUqZltf9YOmqeJwaGUUm5NONliWslY=;
 b=hBXidjk26VWPMJTyocYNLZbrRMVOnZBlTzd0Z8HzAcUkBmCEfpEWBLC4Zd3rvcOiwXvWfnKFfnM+e2wY6xvQwFJRAMIMpKFSYE3ite/kBDdBEOsvkiw3ZRkpAZeuyuPCM6jxZFSPyF1tRX99AHBxEKYXsZc0qUgX6AG3B6IqiLD9qm4z/xzkJUcAsd9K0cAe57q/mjFsZr1CdfsXVWh5CH5xkx9lznk7lPdenAD7EQsaMuifMsM+JE0gxvLrHsCHfpxgIgUEAAnrQ8G5Zsubpciv0WRQx4AN/3eL3abLJJZ/kTaxt/AgXgk26slOifeJD+as/EMPy+Zu7AxGe516dg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xenproject.org; dkim=none (message not signed)
 header.d=none;xenproject.org; dmarc=none action=none header.from=suse.com;
Subject: Re: [xen-unstable test] 164237: regressions - FAIL
To: Ian Jackson <iwj@xenproject.org>
References: <osstest-164237-mainreport@xen.org>
Cc: xen-devel@lists.xenproject.org,
 osstest service owner <osstest-admin@xenproject.org>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <63c26289-4797-9ac0-af95-56b6efd64cc3@suse.com>
Date: Thu, 19 Aug 2021 14:06:04 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <osstest-164237-mainreport@xen.org>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0077.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:18::17) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ae14f3ea-601e-4545-9ed9-08d96309b995
X-MS-TrafficTypeDiagnostic: VE1PR04MB6382:
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB63826B156E68668DA096E006B3C09@VE1PR04MB6382.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	wF6TuXsQT6JAA7aIXp9LQhBMXECwtmiGDNUE9a7JUDKlktXjUTeCOnvNMJZSbVK7wHKCcqHAPP2EICWllD15zDzgPEyPgLEwLjKTPvfxoXYRbbiJRnhJqfp/wt62ue/9LTyJ7x7OvD0/CeCFL0I4Wrhpp0s9qJOJVwtmrzUX6Vu3tcnz0ZxDjCoUPrvDo+2GVCpm5bkyEWxNCJ7sLfaaEoturVmt/wA25RMGgwot1JQ+tTRyGCJ5RRTaMEo5PncmOJCVpnxRQxf4f3refvya1F5s5b2iH3wRJp7YSKB6Nud7MXEjJ5pk7kU3P6q0mqCPZ8+QOsAmCBFtLaTSUPRJxniRyVMiyfK66uBvySFX8Al+PDAr5SNLjWfoZJ2K8wAgVDOsgFnpMrINRmQJyYFVB525X68JF5KKAmU97b0L65PmZv06QxaC9vjDdobmtfbN1b8P/hRh+AwhAmwC5xsShDjUCC89l/Pro2QcwCg8UdaWX4fy2eL+pV4VXD4hRrfRw1h+eAke9BL8Ua/9Nxzv7qzOwBdD3eGqogHRNp+JX5WV6HE+etae1Zg9ncjgXptjW9UjCrp3erJ48wlGtEBUP02dgnkBorkPAy3z5GqlQorDY2PFTf4AfL0mNj8QzTqefER7RMxEKvK5Y8cn9oh48ggGyj/QOakNbJ/uPBr8aKGZnGqEFzjZ6t38UkIuYWuKzkS9jzsL2kT+BOJCArgeo+W8NdTBQ1GfG7DvNTHkvCRLNOxMTi61If9mYTfXTGpjqCGmEPUd8m8MxUjCJH+1P+Q1zd11G5T7OJCj9lDpFXn/IfISpQ3/3aTQKh5ALkcI
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(39860400002)(366004)(136003)(396003)(376002)(346002)(4326008)(31686004)(966005)(53546011)(4744005)(5660300002)(66556008)(66476007)(36756003)(186003)(83380400001)(478600001)(6486002)(66946007)(26005)(316002)(8936002)(8676002)(16576012)(86362001)(31696002)(956004)(2616005)(38100700002)(2906002)(6916009)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dTBJcW5zc2w3K0FyaG9QdVFsVFNkRU85a2Z0bWFrNEJBcUptRXpaNFpLaXNN?=
 =?utf-8?B?Q0hGTlVsRDNCN202QnBZcTA3QWpIQ3Z2ZCs3c3VlMHFyWjNHZlpLUHYya1d5?=
 =?utf-8?B?SCt1Y3NNYnpRejNsN25uaEtrVnJ0c1RkZ3VxY2VnOEhjQTFWMkd6K015SUJD?=
 =?utf-8?B?cVM0MEJVZGpydWNqMVVJL2lGTWd1a296d0UxSTVmYmcwYVdNa0VadlZWMjRO?=
 =?utf-8?B?NzkvRFM5UlA2RVUzd0tybkFoNHFQbWFPVnhvWHZuek44d2ZON09WeWpRS3dq?=
 =?utf-8?B?STFJaVlRUTBSRTU3RlMrS2lUV2ZQdFFDRGMwTXdEMy9adFBoVDVHRVNTNkFP?=
 =?utf-8?B?OTJHSnZETTFtSUFRZVlqbVhweTg0anJqcGYyMU9JOWVFLzFwMDJpVllOaHJh?=
 =?utf-8?B?Y1c2Z2hpREtGalJpUm9ueTg3SEQ5Zmt0VDJmMFNwMk9abkVXLytzd2JvT1ZP?=
 =?utf-8?B?amcxcUE4anpqblFGYXducjAvL29HN3ZNMTB4TGdMUDlPOTdyeUhFVFMvV09P?=
 =?utf-8?B?ZWRmZ1dtUmZWcFErUGJjK2c3YTd3NW56UGhud2RJdng4TmE5VytQbTNXRk1T?=
 =?utf-8?B?VUZ6NVc2L3FEN29FakduakxLMVE4UHlnM2F1YWZMWkxYMEM2ZndXME9xb28y?=
 =?utf-8?B?bStCYmdBZE5ObmJDTHZ2OVRXcUcvTDh2d1dwc2xNTkJZWTl1d1dzK0V6bjM3?=
 =?utf-8?B?eE1IU0hhZERqLzVzRUR4cFpmNWZEYnFiQ01CY0FIcnYvbENZUGVsT04vdEZT?=
 =?utf-8?B?ekZJMnptOThvRlVEaFVFYVNWaXlHS3R5bzdtSk9XSUpQY2tLU1Zrc1NZNDVG?=
 =?utf-8?B?Zm9EZ212aFBBV3JYdWt6SUIzRXpIeVNzajFSRUVWTzFNSTNpeGlXaHArMnZB?=
 =?utf-8?B?UjN5cDRCVzJGeXYyYjZaV3I2V1FiK0lCRWdEUDdBaUdCaTFOYnNtVElSUVR4?=
 =?utf-8?B?UFh3bFR0YkpQSHZzMkRWTWJmeUdQMnBMVGlKTlEvbXY3OVFWZ0s3NDFESmtj?=
 =?utf-8?B?THlXY3dnRnIzOVhXSGsrUkZNK3o4UlF1UmNkYXZ1V3NYM0RDZDA0RVlvbEho?=
 =?utf-8?B?bWVPaFpZb3JKSDFuOHRqU1paR0h0V1JxalR1YkNRUlNNTDJLK2xGV3BkUnNj?=
 =?utf-8?B?SFE1STJrZjJxZFVzeFBZRlRNdVRncGtFcFVoNSt0bzBvSFZRL1NVRVRkT3I3?=
 =?utf-8?B?UWdTUGU4ODVjS2FJdlQ0enhQUVJQZUtIT1lIdnNJRTVnVkVMalp1U09RL3g2?=
 =?utf-8?B?SnFaTlRZRDlxUEpqV2JZNmZRTzVDaEpSZnBBWCsvYnhYa0VqaFdwaGxNVE5v?=
 =?utf-8?B?SUR0T0JUb3RNWHJVajdjbDA0RW10RmJ4bElJN1FKbkNyYWJXRzJVRnlzYlBY?=
 =?utf-8?B?ZjdQY1IrK01zazY0TmtHZGJZWTdvTk5mb0NyUXdnVDJjWklGcnhncGM2YS9W?=
 =?utf-8?B?UEpsWmNGYSsvUjlUb1FWTjZPTmZjaTJrcitFQnZENzQ1bzVLY3M4a3lxa0s1?=
 =?utf-8?B?Z2kxbm1zdW5zZW0rR29xc0pYeHJxWTFuaE5yTnZibmhDU0dsaXBzbUVZVDFM?=
 =?utf-8?B?WHIxN1RPME0xdXBuMm5DU2JCNEMrVkRHY3hGRDNWeGtJakRLbGRxUVR2QWt6?=
 =?utf-8?B?TEwwS3BZOGdwbDJ0SURmUVhhdmtrMjhMTE8xcWxwTENYMjhLaTljZTdHM2tK?=
 =?utf-8?B?ZjlLZzhkSGZPaDd2ald4OEVxcEJUVWpHcFdkcloyQjZLaTNQZUxWeWJ4enov?=
 =?utf-8?Q?a4p+qsuV/gD+tpUXjHPY3YarmoAc+zJCxNyWReq?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ae14f3ea-601e-4545-9ed9-08d96309b995
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2021 12:06:07.1870
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: qcJh18P9iRKnhttXzB7KSTz99LJElaSdDHeMSz1+jk32ffC1uq1lhvXKjgt+LziXOhQpGjiwqz4Dmzw6/eBFmQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6382

On 19.08.2021 05:07, osstest service owner wrote:
> flight 164237 xen-unstable real [real]
> flight 164246 xen-unstable real-retest [real]
> http://logs.test-lab.xenproject.org/osstest/logs/164237/
> http://logs.test-lab.xenproject.org/osstest/logs/164246/
> 
> Regressions :-(
> 
> Tests which did not succeed and are blocking,
> including tests which could not be run:
>  test-amd64-amd64-amd64-pvgrub 12 debian-di-install       fail REGR. vs. 164178
>  test-amd64-amd64-i386-pvgrub 12 debian-di-install        fail REGR. vs. 164178

Looks like this didn't sort itself (yet). Do you continue to be
convinced that it will, eventually?

Additionally I'm puzzled by these having been in the "are not
blocking" section up to flight 164202, and have since been in the
"are blocking" one.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 12:06:26 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 12:06:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168629.307882 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGgoU-0004uq-9d; Thu, 19 Aug 2021 12:06:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168629.307882; Thu, 19 Aug 2021 12: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 1mGgoU-0004uj-6j; Thu, 19 Aug 2021 12:06:26 +0000
Received: by outflank-mailman (input) for mailman id 168629;
 Thu, 19 Aug 2021 12:06:25 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HKsV=NK=arm.com=rahul.singh@srs-us1.protection.inumbo.net>)
 id 1mGgoT-0004oY-0Y
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 12:06:25 +0000
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id de9b866c-00e5-11ec-a5f6-12813bfff9fa;
 Thu, 19 Aug 2021 12:06:22 +0000 (UTC)
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 1170231B;
 Thu, 19 Aug 2021 05:06:22 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 27DDE3F70D;
 Thu, 19 Aug 2021 05: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: de9b866c-00e5-11ec-a5f6-12813bfff9fa
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	rahul.singh@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v1 05/14] xen/arm: PCI host bridge discovery within XEN on ARM
Date: Thu, 19 Aug 2021 13:02:45 +0100
Message-Id: <412b6574170d96d6fc4196fab4bb2b9286a770c8.1629366665.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <cover.1629366665.git.rahul.singh@arm.com>
References: <cover.1629366665.git.rahul.singh@arm.com>
In-Reply-To: <cover.1629366665.git.rahul.singh@arm.com>
References: <cover.1629366665.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

XEN during boot will read the PCI device tree node “reg” property
and will map the PCI config space to the XEN memory.

As of now "pci-host-ecam-generic" compatible board is supported.

"linux,pci-domain" device tree property assigns a fixed PCI domain
number to a host bridge, otherwise an unstable (across boots) unique
number will be assigned by Linux.This property has to be in sync with
XEN to access the PCI devices.

XEN will read the “linux,pci-domain” property from the device tree node
and configure the host bridge segment number accordingly. If this
property is not available XEN will allocate the unique segment number
to the host bridge.

dt_get_pci_domain_nr(..) and dt_pci_bus_find_domain_nr(..) are directly
imported from the Linux source tree.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/arch/arm/pci/Makefile           |   2 +
 xen/arch/arm/pci/pci-host-common.c  | 261 ++++++++++++++++++++++++++++
 xen/arch/arm/pci/pci-host-generic.c |  55 ++++++
 xen/include/asm-arm/pci.h           |  28 +++
 4 files changed, 346 insertions(+)
 create mode 100644 xen/arch/arm/pci/pci-host-common.c
 create mode 100644 xen/arch/arm/pci/pci-host-generic.c

diff --git a/xen/arch/arm/pci/Makefile b/xen/arch/arm/pci/Makefile
index a9ee0b9b44..f3d97f859e 100644
--- a/xen/arch/arm/pci/Makefile
+++ b/xen/arch/arm/pci/Makefile
@@ -1,2 +1,4 @@
 obj-y += pci.o
 obj-y += pci-access.o
+obj-y += pci-host-generic.o
+obj-y += pci-host-common.o
diff --git a/xen/arch/arm/pci/pci-host-common.c b/xen/arch/arm/pci/pci-host-common.c
new file mode 100644
index 0000000000..9dd9b02271
--- /dev/null
+++ b/xen/arch/arm/pci/pci-host-common.c
@@ -0,0 +1,261 @@
+/*
+ * Copyright (C) 2021 Arm Ltd.
+ *
+ * Based on Linux drivers/pci/ecam.c
+ * Copyright 2016 Broadcom.
+ *
+ * Based on Linux drivers/pci/controller/pci-host-common.c
+ * Based on Linux drivers/pci/controller/pci-host-generic.c
+ * Copyright (C) 2014 ARM Limited Will Deacon <will.deacon@arm.com>
+ *
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <xen/init.h>
+#include <xen/pci.h>
+#include <asm/pci.h>
+#include <xen/rwlock.h>
+#include <xen/sched.h>
+#include <xen/vmap.h>
+
+/*
+ * List for all the pci host bridges.
+ */
+
+static LIST_HEAD(pci_host_bridges);
+
+static atomic_t domain_nr = ATOMIC_INIT(-1);
+
+bool dt_pci_parse_bus_range(struct dt_device_node *dev,
+                            struct pci_config_window *cfg)
+{
+    const __be32 *cells;
+    uint32_t len;
+
+    cells = dt_get_property(dev, "bus-range", &len);
+    /* bus-range should at least be 2 cells */
+    if ( !cells || (len < (sizeof(*cells) * 2)) )
+        return false;
+
+    cfg->busn_start = dt_next_cell(1, &cells);
+    cfg->busn_end = dt_next_cell(1, &cells);
+
+    return true;
+}
+
+static inline void __iomem *pci_remap_cfgspace(paddr_t start, size_t len)
+{
+    return ioremap_nocache(start, len);
+}
+
+static void pci_ecam_free(struct pci_config_window *cfg)
+{
+    if ( cfg->win )
+        iounmap(cfg->win);
+
+    xfree(cfg);
+}
+
+static struct pci_config_window *gen_pci_init(struct dt_device_node *dev,
+                                              int ecam_reg_idx)
+{
+    int err;
+    struct pci_config_window *cfg;
+    paddr_t addr, size;
+
+    cfg = xzalloc(struct pci_config_window);
+    if ( !cfg )
+        return NULL;
+
+    err = dt_pci_parse_bus_range(dev, cfg);
+    if ( !err ) {
+        cfg->busn_start = 0;
+        cfg->busn_end = 0xff;
+        printk(XENLOG_ERR "%s:No bus range found for pci controller\n",
+               dt_node_full_name(dev));
+    } else {
+        if ( cfg->busn_end > cfg->busn_start + 0xff )
+            cfg->busn_end = cfg->busn_start + 0xff;
+    }
+
+    /* Parse our PCI ecam register address*/
+    err = dt_device_get_address(dev, ecam_reg_idx, &addr, &size);
+    if ( err )
+        goto err_exit;
+
+    cfg->phys_addr = addr;
+    cfg->size = size;
+
+    /*
+     * On 64-bit systems, we do a single ioremap for the whole config space
+     * since we have enough virtual address range available.  On 32-bit, we
+     * ioremap the config space for each bus individually.
+     *
+     * As of now only 64-bit is supported 32-bit is not supported.
+     */
+    cfg->win = pci_remap_cfgspace(cfg->phys_addr, cfg->size);
+    if ( !cfg->win )
+        goto err_exit_remap;
+
+    printk("ECAM at [mem %lx-%lx] for [bus %x-%x] \n",cfg->phys_addr,
+            cfg->phys_addr + cfg->size - 1, cfg->busn_start, cfg->busn_end);
+
+    return cfg;
+
+err_exit_remap:
+    printk(XENLOG_ERR "ECAM ioremap failed\n");
+err_exit:
+    pci_ecam_free(cfg);
+    return NULL;
+}
+
+struct pci_host_bridge *pci_alloc_host_bridge(void)
+{
+    struct pci_host_bridge *bridge = xzalloc(struct pci_host_bridge);
+
+    if ( !bridge )
+        return NULL;
+
+    INIT_LIST_HEAD(&bridge->node);
+    bridge->bus_start = ~0;
+    bridge->bus_end = ~0;
+    return bridge;
+}
+
+void pci_add_host_bridge(struct pci_host_bridge *bridge)
+{
+    list_add_tail(&bridge->node, &pci_host_bridges);
+}
+
+static int pci_get_new_domain_nr(void)
+{
+    return atomic_inc_return(&domain_nr);
+}
+
+/*
+ * This function will try to obtain the host bridge domain number by
+ * finding a property called "linux,pci-domain" of the given device node.
+ *
+ * @node: device tree node with the domain information
+ *
+ * Returns the associated domain number from DT in the range [0-0xffff], or
+ * a negative value if the required property is not found.
+ */
+static int dt_get_pci_domain_nr(struct dt_device_node *node)
+{
+    u32 domain;
+    int error;
+
+    error = dt_property_read_u32(node, "linux,pci-domain", &domain);
+    if ( !error )
+        return -EINVAL;
+
+    return (u16)domain;
+}
+
+static int pci_bus_find_domain_nr(struct dt_device_node *dev)
+{
+    static int use_dt_domains = -1;
+    int domain;
+
+    domain = dt_get_pci_domain_nr(dev);
+
+    /*
+     * Check DT domain and use_dt_domains values.
+     *
+     * If DT domain property is valid (domain >= 0) and
+     * use_dt_domains != 0, the DT assignment is valid since this means
+     * we have not previously allocated a domain number by using
+     * pci_get_new_domain_nr(); we should also update use_dt_domains to
+     * 1, to indicate that we have just assigned a domain number from
+     * DT.
+     *
+     * If DT domain property value is not valid (ie domain < 0), and we
+     * have not previously assigned a domain number from DT
+     * (use_dt_domains != 1) we should assign a domain number by
+     * using the:
+     *
+     * pci_get_new_domain_nr()
+     *
+     * API and update the use_dt_domains value to keep track of method we
+     * are using to assign domain numbers (use_dt_domains = 0).
+     *
+     * All other combinations imply we have a platform that is trying
+     * to mix domain numbers obtained from DT and pci_get_new_domain_nr(),
+     * which is a recipe for domain mishandling and it is prevented by
+     * invalidating the domain value (domain = -1) and printing a
+     * corresponding error.
+     */
+    if ( domain >= 0 && use_dt_domains )
+    {
+        use_dt_domains = 1;
+    }
+    else if ( domain < 0 && use_dt_domains != 1 )
+    {
+        use_dt_domains = 0;
+        domain = pci_get_new_domain_nr();
+    }
+    else
+    {
+        printk(XENLOG_ERR "Inconsistent \"linux,pci-domain\" property in DT\n");
+        BUG();
+    }
+
+    return domain;
+}
+
+int pci_host_common_probe(struct dt_device_node *dev,
+                          int ecam_reg_idx)
+{
+    struct pci_host_bridge *bridge;
+    struct pci_config_window *cfg;
+    int err;
+
+    bridge = pci_alloc_host_bridge();
+    if ( !bridge )
+        return -ENOMEM;
+
+    /* Parse and map our Configuration Space windows */
+    cfg = gen_pci_init(dev, ecam_reg_idx);
+    if ( !cfg )
+    {
+        err = -ENOMEM;
+        goto err_exit;
+    }
+
+    bridge->dt_node = dev;
+    bridge->sysdata = cfg;
+    bridge->bus_start = cfg->busn_start;
+    bridge->bus_end = cfg->busn_end;
+
+    bridge->segment = pci_bus_find_domain_nr(dev);
+
+    pci_add_host_bridge(bridge);
+
+    return 0;
+
+err_exit:
+    xfree(bridge);
+    return err;
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/pci/pci-host-generic.c b/xen/arch/arm/pci/pci-host-generic.c
new file mode 100644
index 0000000000..13d0f7f999
--- /dev/null
+++ b/xen/arch/arm/pci/pci-host-generic.c
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2021 Arm Ltd.
+ *
+ * Based on Linux drivers/pci/controller/pci-host-common.c
+ * Based on Linux drivers/pci/controller/pci-host-generic.c
+ * Copyright (C) 2014 ARM Limited Will Deacon <will.deacon@arm.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <asm/device.h>
+#include <xen/pci.h>
+#include <asm/pci.h>
+
+static const struct dt_device_match gen_pci_dt_match[] = {
+    { .compatible = "pci-host-ecam-generic" },
+    { },
+};
+
+static int gen_pci_dt_init(struct dt_device_node *dev, const void *data)
+{
+    const struct dt_device_match *of_id;
+
+    of_id = dt_match_node(gen_pci_dt_match, dev->dev.of_node);
+
+    printk(XENLOG_INFO "Found PCI host bridge %s compatible:%s \n",
+           dt_node_full_name(dev), of_id->compatible);
+
+    return pci_host_common_probe(dev, 0);
+}
+
+DT_DEVICE_START(pci_gen, "PCI HOST GENERIC", DEVICE_PCI)
+.dt_match = gen_pci_dt_match,
+.init = gen_pci_dt_init,
+DT_DEVICE_END
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/asm-arm/pci.h b/xen/include/asm-arm/pci.h
index 61e43da088..58a51e724e 100644
--- a/xen/include/asm-arm/pci.h
+++ b/xen/include/asm-arm/pci.h
@@ -26,6 +26,34 @@ struct arch_pci_dev {
     struct device dev;
 };
 
+/*
+ * struct to hold the mappings of a config space window. This
+ * is expected to be used as sysdata for PCI controllers that
+ * use ECAM.
+ */
+struct pci_config_window {
+    paddr_t         phys_addr;
+    paddr_t         size;
+    uint8_t         busn_start;
+    uint8_t         busn_end;
+    void __iomem    *win;
+};
+
+/*
+ * struct to hold pci host bridge information
+ * for a PCI controller.
+ */
+struct pci_host_bridge {
+    struct dt_device_node *dt_node;  /* Pointer to the associated DT node */
+    struct list_head node;           /* Node in list of host bridges */
+    uint16_t segment;                /* Segment number */
+    u8 bus_start;                    /* Bus start of this bridge. */
+    u8 bus_end;                      /* Bus end of this bridge. */
+    void *sysdata;                   /* Pointer to the config space window*/
+};
+
+int pci_host_common_probe(struct dt_device_node *dev,
+                          int ecam_reg_idx);
 #else   /*!CONFIG_HAS_PCI*/
 
 struct arch_pci_dev { };
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 12:06:55 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 12:06:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168642.307893 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGgox-0005kD-MO; Thu, 19 Aug 2021 12:06:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168642.307893; Thu, 19 Aug 2021 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 1mGgox-0005k6-JW; Thu, 19 Aug 2021 12:06:55 +0000
Received: by outflank-mailman (input) for mailman id 168642;
 Thu, 19 Aug 2021 12:06:54 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HKsV=NK=arm.com=rahul.singh@srs-us1.protection.inumbo.net>)
 id 1mGgow-0005h3-Pj
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 12:06:54 +0000
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id ef22e3cc-00e5-11ec-a5f6-12813bfff9fa;
 Thu, 19 Aug 2021 12:06:50 +0000 (UTC)
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 DA88231B;
 Thu, 19 Aug 2021 05:06:49 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 009433F70D;
 Thu, 19 Aug 2021 05:06: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: ef22e3cc-00e5-11ec-a5f6-12813bfff9fa
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	rahul.singh@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v1 06/14] xen/arm: Add support for PCI ecam operations
Date: Thu, 19 Aug 2021 13:02:46 +0100
Message-Id: <1dc8286db35ced8281587135cfa582ea44b0185f.1629366665.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <cover.1629366665.git.rahul.singh@arm.com>
References: <cover.1629366665.git.rahul.singh@arm.com>
In-Reply-To: <cover.1629366665.git.rahul.singh@arm.com>
References: <cover.1629366665.git.rahul.singh@arm.com>

Add support for PCI ecam operations to access the PCI
configuration space.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/arch/arm/pci/Makefile           |  1 +
 xen/arch/arm/pci/ecam.c             | 63 +++++++++++++++++++++++++++++
 xen/arch/arm/pci/pci-access.c       | 53 ++++++++++++++++++++++++
 xen/arch/arm/pci/pci-host-common.c  | 13 +++++-
 xen/arch/arm/pci/pci-host-generic.c |  8 +++-
 xen/include/asm-arm/pci.h           | 32 +++++++++++++++
 6 files changed, 167 insertions(+), 3 deletions(-)
 create mode 100644 xen/arch/arm/pci/ecam.c

diff --git a/xen/arch/arm/pci/Makefile b/xen/arch/arm/pci/Makefile
index f3d97f859e..6f32fbbe67 100644
--- a/xen/arch/arm/pci/Makefile
+++ b/xen/arch/arm/pci/Makefile
@@ -2,3 +2,4 @@ obj-y += pci.o
 obj-y += pci-access.o
 obj-y += pci-host-generic.o
 obj-y += pci-host-common.o
+obj-y += ecam.o
diff --git a/xen/arch/arm/pci/ecam.c b/xen/arch/arm/pci/ecam.c
new file mode 100644
index 0000000000..91c691b41f
--- /dev/null
+++ b/xen/arch/arm/pci/ecam.c
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2021 Arm Ltd.
+ *
+ * Based on Linux drivers/pci/ecam.c
+ * Copyright 2016 Broadcom
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <xen/pci.h>
+#include <xen/sched.h>
+
+/*
+ * Function to implement the pci_ops ->map_bus method.
+ */
+void __iomem *pci_ecam_map_bus(struct pci_host_bridge *bridge,
+                                      uint32_t sbdf, uint32_t where)
+{
+    const struct pci_config_window *cfg = bridge->sysdata;
+    unsigned int devfn_shift = cfg->ops->bus_shift - 8;
+    void __iomem *base;
+
+    pci_sbdf_t sbdf_t = (pci_sbdf_t) sbdf ;
+    unsigned int busn = sbdf_t.bus;
+
+    if ( busn < cfg->busn_start || busn > cfg->busn_end )
+        return NULL;
+
+    busn -= cfg->busn_start;
+    base = cfg->win + (busn << cfg->ops->bus_shift);
+
+    return base + (PCI_DEVFN(sbdf_t.dev, sbdf_t.fn) << devfn_shift) + where;
+}
+
+/* ECAM ops */
+const struct pci_ecam_ops pci_generic_ecam_ops = {
+    .bus_shift  = 20,
+    .pci_ops    = {
+        .map_bus                = pci_ecam_map_bus,
+        .read                   = pci_generic_config_read,
+        .write                  = pci_generic_config_write,
+    }
+};
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/pci/pci-access.c b/xen/arch/arm/pci/pci-access.c
index b938047c03..f39f6a3a38 100644
--- a/xen/arch/arm/pci/pci-access.c
+++ b/xen/arch/arm/pci/pci-access.c
@@ -15,6 +15,59 @@
  */
 
 #include <xen/pci.h>
+#include <asm/io.h>
+
+int pci_generic_config_read(struct pci_host_bridge *bridge, uint32_t sbdf,
+                            uint32_t reg, uint32_t len, uint32_t *value)
+{
+    void __iomem *addr = bridge->ops->map_bus(bridge, sbdf, reg);
+    if (!addr) {
+        *value = ~0;
+        return -ENODEV;
+    }
+
+    switch (len)
+    {
+    case 1:
+        *value = readb(addr);
+        break;
+    case 2:
+        *value = readw(addr);
+        break;
+    case 4:
+        *value = readl(addr);
+        break;
+    default:
+        BUG();
+    }
+
+    return 0;
+}
+
+int pci_generic_config_write(struct pci_host_bridge *bridge, uint32_t sbdf,
+                            uint32_t reg, uint32_t len, uint32_t value)
+{
+    void __iomem *addr = bridge->ops->map_bus(bridge, sbdf, reg);
+    if (!addr)
+        return -ENODEV;
+
+    switch (len)
+    {
+    case 1:
+        writeb(value, addr);
+        break;
+    case 2:
+        writew(value, addr);
+        break;
+    case 4:
+        writel(value, addr);
+        break;
+    default:
+        BUG();
+    }
+
+    return 0;
+}
 
 static uint32_t pci_config_read(pci_sbdf_t sbdf, unsigned int reg,
                                 unsigned int len)
diff --git a/xen/arch/arm/pci/pci-host-common.c b/xen/arch/arm/pci/pci-host-common.c
index 9dd9b02271..c582527e92 100644
--- a/xen/arch/arm/pci/pci-host-common.c
+++ b/xen/arch/arm/pci/pci-host-common.c
@@ -68,6 +68,7 @@ static void pci_ecam_free(struct pci_config_window *cfg)
 }
 
 static struct pci_config_window *gen_pci_init(struct dt_device_node *dev,
+                                              const struct pci_ecam_ops *ops,
                                               int ecam_reg_idx)
 {
     int err;
@@ -96,6 +97,7 @@ static struct pci_config_window *gen_pci_init(struct dt_device_node *dev,
 
     cfg->phys_addr = addr;
     cfg->size = size;
+    cfg->ops = ops;
 
     /*
      * On 64-bit systems, we do a single ioremap for the whole config space
@@ -111,6 +113,13 @@ static struct pci_config_window *gen_pci_init(struct dt_device_node *dev,
     printk("ECAM at [mem %lx-%lx] for [bus %x-%x] \n",cfg->phys_addr,
             cfg->phys_addr + cfg->size - 1, cfg->busn_start, cfg->busn_end);
 
+    if ( ops->init )
+    {
+        err = ops->init(cfg);
+        if (err)
+            goto err_exit;
+    }
+
     return cfg;
 
 err_exit_remap:
@@ -216,6 +225,7 @@ static int pci_bus_find_domain_nr(struct dt_device_node *dev)
 }
 
 int pci_host_common_probe(struct dt_device_node *dev,
+                          const struct pci_ecam_ops *ops,
                           int ecam_reg_idx)
 {
     struct pci_host_bridge *bridge;
@@ -227,7 +237,7 @@ int pci_host_common_probe(struct dt_device_node *dev,
         return -ENOMEM;
 
     /* Parse and map our Configuration Space windows */
-    cfg = gen_pci_init(dev, ecam_reg_idx);
+    cfg = gen_pci_init(dev, ops, ecam_reg_idx);
     if ( !cfg )
     {
         err = -ENOMEM;
@@ -236,6 +246,7 @@ int pci_host_common_probe(struct dt_device_node *dev,
 
     bridge->dt_node = dev;
     bridge->sysdata = cfg;
+    bridge->ops = &ops->pci_ops;
     bridge->bus_start = cfg->busn_start;
     bridge->bus_end = cfg->busn_end;
 
diff --git a/xen/arch/arm/pci/pci-host-generic.c b/xen/arch/arm/pci/pci-host-generic.c
index 13d0f7f999..2d652e8910 100644
--- a/xen/arch/arm/pci/pci-host-generic.c
+++ b/xen/arch/arm/pci/pci-host-generic.c
@@ -23,20 +23,24 @@
 #include <asm/pci.h>
 
 static const struct dt_device_match gen_pci_dt_match[] = {
-    { .compatible = "pci-host-ecam-generic" },
+    { .compatible = "pci-host-ecam-generic",
+      .data =       &pci_generic_ecam_ops },
+
     { },
 };
 
 static int gen_pci_dt_init(struct dt_device_node *dev, const void *data)
 {
     const struct dt_device_match *of_id;
+    const struct pci_ecam_ops *ops;
 
     of_id = dt_match_node(gen_pci_dt_match, dev->dev.of_node);
+    ops = (struct pci_ecam_ops *) of_id->data;
 
     printk(XENLOG_INFO "Found PCI host bridge %s compatible:%s \n",
            dt_node_full_name(dev), of_id->compatible);
 
-    return pci_host_common_probe(dev, 0);
+    return pci_host_common_probe(dev, ops, 0);
 }
 
 DT_DEVICE_START(pci_gen, "PCI HOST GENERIC", DEVICE_PCI)
diff --git a/xen/include/asm-arm/pci.h b/xen/include/asm-arm/pci.h
index 58a51e724e..22866244d2 100644
--- a/xen/include/asm-arm/pci.h
+++ b/xen/include/asm-arm/pci.h
@@ -37,6 +37,7 @@ struct pci_config_window {
     uint8_t         busn_start;
     uint8_t         busn_end;
     void __iomem    *win;
+    const struct    pci_ecam_ops *ops;
 };
 
 /*
@@ -50,10 +51,41 @@ struct pci_host_bridge {
     u8 bus_start;                    /* Bus start of this bridge. */
     u8 bus_end;                      /* Bus end of this bridge. */
     void *sysdata;                   /* Pointer to the config space window*/
+    const struct pci_ops *ops;
 };
 
+struct pci_ops {
+    void __iomem *(*map_bus)(struct pci_host_bridge *bridge, uint32_t sbdf,
+                             uint32_t offset);
+    int (*read)(struct pci_host_bridge *bridge, uint32_t sbdf,
+                uint32_t reg, uint32_t len, uint32_t *value);
+    int (*write)(struct pci_host_bridge *bridge, uint32_t sbdf,
+                 uint32_t reg, uint32_t len, uint32_t value);
+};
+
+/*
+ * struct to hold pci ops and bus shift of the config window
+ * for a PCI controller.
+ */
+struct pci_ecam_ops {
+    unsigned int            bus_shift;
+    struct pci_ops          pci_ops;
+    int (*init)(struct pci_config_window *);
+};
+
+/* Default ECAM ops */
+extern const struct pci_ecam_ops pci_generic_ecam_ops;
+
 int pci_host_common_probe(struct dt_device_node *dev,
+                          const struct pci_ecam_ops *ops,
                           int ecam_reg_idx);
+int pci_generic_config_read(struct pci_host_bridge *bridge, uint32_t sbdf,
+                            uint32_t reg, uint32_t len, uint32_t *value);
+int pci_generic_config_write(struct pci_host_bridge *bridge, uint32_t sbdf,
+                            uint32_t reg, uint32_t len, uint32_t value);
+void __iomem *pci_ecam_map_bus(struct pci_host_bridge *bridge,
+                               uint32_t sbdf, uint32_t where);
+
 #else   /*!CONFIG_HAS_PCI*/
 
 struct arch_pci_dev { };
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 12:07:12 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 12:07:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168643.307904 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGgpA-0006C5-W6; Thu, 19 Aug 2021 12:07:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168643.307904; Thu, 19 Aug 2021 12: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 1mGgpA-0006Bu-SI; Thu, 19 Aug 2021 12:07:08 +0000
Received: by outflank-mailman (input) for mailman id 168643;
 Thu, 19 Aug 2021 12:07:07 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HKsV=NK=arm.com=rahul.singh@srs-us1.protection.inumbo.net>)
 id 1mGgp9-0006AQ-IC
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 12:07:07 +0000
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id f0161eb3-35f0-4f08-9ae0-feff75077d1e;
 Thu, 19 Aug 2021 12:07:06 +0000 (UTC)
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 BD04C31B;
 Thu, 19 Aug 2021 05:07:05 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id B8F533F70D;
 Thu, 19 Aug 2021 05:07: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: f0161eb3-35f0-4f08-9ae0-feff75077d1e
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	rahul.singh@arm.com,
	Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v1 07/14] xen/arm: Add support for Xilinx ZynqMP PCI host controller
Date: Thu, 19 Aug 2021 13:02:47 +0100
Message-Id: <a3318d9459ace64224a14e4424eef657e2ed5b69.1629366665.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <cover.1629366665.git.rahul.singh@arm.com>
References: <cover.1629366665.git.rahul.singh@arm.com>
In-Reply-To: <cover.1629366665.git.rahul.singh@arm.com>
References: <cover.1629366665.git.rahul.singh@arm.com>

From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

Add support for Xilinx ZynqMP PCI host controller to map the PCI config
space to the XEN memory.

Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
---
 xen/arch/arm/pci/Makefile          |  1 +
 xen/arch/arm/pci/pci-host-zynqmp.c | 59 ++++++++++++++++++++++++++++++
 2 files changed, 60 insertions(+)
 create mode 100644 xen/arch/arm/pci/pci-host-zynqmp.c

diff --git a/xen/arch/arm/pci/Makefile b/xen/arch/arm/pci/Makefile
index 6f32fbbe67..1d045ade01 100644
--- a/xen/arch/arm/pci/Makefile
+++ b/xen/arch/arm/pci/Makefile
@@ -3,3 +3,4 @@ obj-y += pci-access.o
 obj-y += pci-host-generic.o
 obj-y += pci-host-common.o
 obj-y += ecam.o
+obj-y += pci-host-zynqmp.o
diff --git a/xen/arch/arm/pci/pci-host-zynqmp.c b/xen/arch/arm/pci/pci-host-zynqmp.c
new file mode 100644
index 0000000000..fe103e3855
--- /dev/null
+++ b/xen/arch/arm/pci/pci-host-zynqmp.c
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2020-2021 EPAM Systems
+ *
+ * Based on Linux drivers/pci/controller/pci-host-common.c
+ * Based on Linux drivers/pci/controller/pci-host-generic.c
+ * Based on xen/arch/arm/pci/pci-host-generic.c
+ * Copyright (C) 2014 ARM Limited Will Deacon <will.deacon@arm.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <asm/device.h>
+#include <xen/pci.h>
+#include <asm/pci.h>
+
+static const struct dt_device_match gen_pci_dt_match[] = {
+    { .compatible = "xlnx,nwl-pcie-2.11",
+      .data =       &pci_generic_ecam_ops },
+    { },
+};
+
+static int gen_pci_dt_init(struct dt_device_node *dev, const void *data)
+{
+    const struct dt_device_match *of_id;
+    const struct pci_ecam_ops *ops;
+
+    of_id = dt_match_node(gen_pci_dt_match, dev->dev.of_node);
+    ops = (struct pci_ecam_ops *) of_id->data;
+
+    printk(XENLOG_INFO "Found PCI host bridge %s compatible:%s \n",
+            dt_node_full_name(dev), of_id->compatible);
+
+    return pci_host_common_probe(dev, ops, 2);
+}
+
+DT_DEVICE_START(pci_gen, "PCI HOST ZYNQMP", DEVICE_PCI)
+.dt_match = gen_pci_dt_match,
+.init = gen_pci_dt_init,
+DT_DEVICE_END
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 12:07:33 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 12:07:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168650.307916 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGgpU-0006uh-8n; Thu, 19 Aug 2021 12:07:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168650.307916; Thu, 19 Aug 2021 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 1mGgpU-0006ua-50; Thu, 19 Aug 2021 12:07:28 +0000
Received: by outflank-mailman (input) for mailman id 168650;
 Thu, 19 Aug 2021 12:07:27 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HKsV=NK=arm.com=rahul.singh@srs-us1.protection.inumbo.net>)
 id 1mGgpS-0006rb-Vn
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 12:07:27 +0000
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id 630f03c5-527c-4461-8eff-72b6b89ecffd;
 Thu, 19 Aug 2021 12:07:25 +0000 (UTC)
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 9548B31B;
 Thu, 19 Aug 2021 05:07:25 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id AEF093F70D;
 Thu, 19 Aug 2021 05:07: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: 630f03c5-527c-4461-8eff-72b6b89ecffd
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	rahul.singh@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v1 08/14] xen:arm: Implement pci access functions
Date: Thu, 19 Aug 2021 13:02:48 +0100
Message-Id: <c90c3088a592b41c477a0026446294a3b9422f76.1629366665.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <cover.1629366665.git.rahul.singh@arm.com>
References: <cover.1629366665.git.rahul.singh@arm.com>
In-Reply-To: <cover.1629366665.git.rahul.singh@arm.com>
References: <cover.1629366665.git.rahul.singh@arm.com>

Implement generic pci access functions to read/write the configuration
space.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/arch/arm/pci/pci-access.c      | 31 +++++++++++++++++++++++++++++-
 xen/arch/arm/pci/pci-host-common.c | 19 ++++++++++++++++++
 xen/include/asm-arm/pci.h          |  2 ++
 3 files changed, 51 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/pci/pci-access.c b/xen/arch/arm/pci/pci-access.c
index f39f6a3a38..b94de3c3ac 100644
--- a/xen/arch/arm/pci/pci-access.c
+++ b/xen/arch/arm/pci/pci-access.c
@@ -72,12 +72,41 @@ int pci_generic_config_write(struct pci_host_bridge *bridge, uint32_t sbdf,
 static uint32_t pci_config_read(pci_sbdf_t sbdf, unsigned int reg,
                                 unsigned int len)
 {
-    return ~0U;
+    uint32_t val = GENMASK(0, len * 8);
+
+    struct pci_host_bridge *bridge = pci_find_host_bridge(sbdf.seg, sbdf.bus);
+
+    if ( unlikely(!bridge) )
+    {
+        printk(XENLOG_ERR "Unable to find bridge for "PRI_pci"\n",
+                sbdf.seg, sbdf.bus, sbdf.dev, sbdf.fn);
+        return val;
+    }
+
+    if ( unlikely(!bridge->ops->read) )
+        return val;
+
+    bridge->ops->read(bridge, (uint32_t) sbdf.sbdf, reg, len, &val);
+
+    return val;
 }
 
 static void pci_config_write(pci_sbdf_t sbdf, unsigned int reg,
                              unsigned int len, uint32_t val)
 {
+    struct pci_host_bridge *bridge = pci_find_host_bridge(sbdf.seg, sbdf.bus);
+
+    if ( unlikely(!bridge) )
+    {
+        printk(XENLOG_ERR "Unable to find bridge for "PRI_pci"\n",
+                sbdf.seg, sbdf.bus, sbdf.dev, sbdf.fn);
+        return;
+    }
+
+    if ( unlikely(!bridge->ops->write) )
+        return;
+
+    bridge->ops->write(bridge, (uint32_t) sbdf.sbdf, reg, len, val);
 }
 
 /*
diff --git a/xen/arch/arm/pci/pci-host-common.c b/xen/arch/arm/pci/pci-host-common.c
index c582527e92..62715b4676 100644
--- a/xen/arch/arm/pci/pci-host-common.c
+++ b/xen/arch/arm/pci/pci-host-common.c
@@ -261,6 +261,25 @@ err_exit:
     return err;
 }
 
+/*
+ * This function will lookup an hostbridge based on the segment and bus
+ * number.
+ */
+struct pci_host_bridge *pci_find_host_bridge(uint16_t segment, uint8_t bus)
+{
+    struct pci_host_bridge *bridge;
+
+    list_for_each_entry( bridge, &pci_host_bridges, node )
+    {
+        if ( bridge->segment != segment )
+            continue;
+        if ( (bus < bridge->bus_start) || (bus > bridge->bus_end) )
+            continue;
+        return bridge;
+    }
+
+    return NULL;
+}
 /*
  * Local variables:
  * mode: C
diff --git a/xen/include/asm-arm/pci.h b/xen/include/asm-arm/pci.h
index 22866244d2..756f8637ab 100644
--- a/xen/include/asm-arm/pci.h
+++ b/xen/include/asm-arm/pci.h
@@ -20,6 +20,7 @@
 #ifdef CONFIG_HAS_PCI
 
 #define pci_to_dev(pcidev) (&(pcidev)->arch.dev)
+#define PRI_pci "%04x:%02x:%02x.%u"
 
 /* Arch pci dev struct */
 struct arch_pci_dev {
@@ -86,6 +87,7 @@ int pci_generic_config_write(struct pci_host_bridge *bridge, uint32_t sbdf,
 void __iomem *pci_ecam_map_bus(struct pci_host_bridge *bridge,
                                uint32_t sbdf, uint32_t where);
 
+struct pci_host_bridge *pci_find_host_bridge(uint16_t segment, uint8_t bus);
 #else   /*!CONFIG_HAS_PCI*/
 
 struct arch_pci_dev { };
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 12:07:52 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 12:07:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168661.307927 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGgps-0007cw-Gv; Thu, 19 Aug 2021 12:07:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168661.307927; Thu, 19 Aug 2021 12: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 1mGgps-0007cp-Db; Thu, 19 Aug 2021 12:07:52 +0000
Received: by outflank-mailman (input) for mailman id 168661;
 Thu, 19 Aug 2021 12:07:51 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HKsV=NK=arm.com=rahul.singh@srs-us1.protection.inumbo.net>)
 id 1mGgpr-0007cb-OH
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 12:07:51 +0000
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id c59c1134-6d59-4ab3-94a4-2c3029f94130;
 Thu, 19 Aug 2021 12:07:50 +0000 (UTC)
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 3AE0831B;
 Thu, 19 Aug 2021 05:07:50 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 53BD83F70D;
 Thu, 19 Aug 2021 05:07:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c59c1134-6d59-4ab3-94a4-2c3029f94130
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	rahul.singh@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v1 09/14] xen/arm: Add cmdline boot option "pci=on"
Date: Thu, 19 Aug 2021 13:02:49 +0100
Message-Id: <e279636ea47b7d06056c2f70e76900b8d0b30ee9.1629366665.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <cover.1629366665.git.rahul.singh@arm.com>
References: <cover.1629366665.git.rahul.singh@arm.com>
In-Reply-To: <cover.1629366665.git.rahul.singh@arm.com>
References: <cover.1629366665.git.rahul.singh@arm.com>

Add cmdline boot option "pci=on" to enable/disable the PCI init during
boot.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/arch/arm/pci/pci.c | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/xen/arch/arm/pci/pci.c b/xen/arch/arm/pci/pci.c
index d1c9cf997d..dc63bbc2a2 100644
--- a/xen/arch/arm/pci/pci.c
+++ b/xen/arch/arm/pci/pci.c
@@ -62,8 +62,38 @@ static void __init acpi_pci_init(void)
 static inline void __init acpi_pci_init(void) { }
 #endif
 
+static bool __initdata param_pci_enable;
+
+static int __init parse_pci_param(const char *arg)
+{
+    if ( !arg )
+    {
+        param_pci_enable = false;
+        return 0;
+    }
+
+    switch ( parse_bool(arg, NULL) )
+    {
+    case 0:
+        param_pci_enable = false;
+        return 0;
+    case 1:
+        param_pci_enable = true;
+        return 0;
+    }
+
+    return -EINVAL;
+}
+custom_param("pci", parse_pci_param);
+
 static int __init pci_init(void)
 {
+    /*
+     * Enable PCI when has been enabled explicitly (pci=on)
+     */
+    if ( !param_pci_enable)
+        return 0;
+
     if ( acpi_disabled )
         dt_pci_init();
     else
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 12:08:14 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 12:08:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168667.307938 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGgqD-0008DQ-Qc; Thu, 19 Aug 2021 12:08:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168667.307938; Thu, 19 Aug 2021 12:08:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGgqD-0008DJ-NI; Thu, 19 Aug 2021 12:08:13 +0000
Received: by outflank-mailman (input) for mailman id 168667;
 Thu, 19 Aug 2021 12:08:13 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HKsV=NK=arm.com=rahul.singh@srs-us1.protection.inumbo.net>)
 id 1mGgqC-00080Z-Vu
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 12:08:13 +0000
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id 6f1d4a33-0e66-43fc-8496-4977d88b3586;
 Thu, 19 Aug 2021 12:08:10 +0000 (UTC)
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 C101031B;
 Thu, 19 Aug 2021 05:08:09 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id D9FA93F70D;
 Thu, 19 Aug 2021 05:08: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: 6f1d4a33-0e66-43fc-8496-4977d88b3586
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	rahul.singh@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v1 10/14] xen/arm: Discovering PCI devices and add the PCI devices in XEN.
Date: Thu, 19 Aug 2021 13:02:50 +0100
Message-Id: <a7fa6f626b0852c7859fe8d64b01293d1aa8fc0e.1629366665.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <cover.1629366665.git.rahul.singh@arm.com>
References: <cover.1629366665.git.rahul.singh@arm.com>
In-Reply-To: <cover.1629366665.git.rahul.singh@arm.com>
References: <cover.1629366665.git.rahul.singh@arm.com>

Hardware domain is in charge of doing the PCI enumeration and will
discover the PCI devices and then will communicate to XEN via hyper
call PHYSDEVOP_pci_device_add to add the PCI devices in XEN.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/arch/arm/physdev.c | 39 ++++++++++++++++++++++++++++++++++++---
 1 file changed, 36 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/physdev.c b/xen/arch/arm/physdev.c
index e91355fe22..ccce8f0eba 100644
--- a/xen/arch/arm/physdev.c
+++ b/xen/arch/arm/physdev.c
@@ -9,12 +9,45 @@
 #include <xen/errno.h>
 #include <xen/sched.h>
 #include <asm/hypercall.h>
-
+#include <xen/guest_access.h>
+#include <xsm/xsm.h>
 
 int do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
 {
-    gdprintk(XENLOG_DEBUG, "PHYSDEVOP cmd=%d: not implemented\n", cmd);
-    return -ENOSYS;
+    int ret = 0;
+
+    switch ( cmd )
+    {
+#ifdef CONFIG_HAS_PCI
+    case PHYSDEVOP_pci_device_add: {
+        struct physdev_pci_device_add add;
+        struct pci_dev_info pdev_info;
+        nodeid_t node = NUMA_NO_NODE;
+
+        ret = -EFAULT;
+        if ( copy_from_guest(&add, arg, 1) != 0 )
+            break;
+
+        pdev_info.is_extfn = !!(add.flags & XEN_PCI_DEV_EXTFN);
+        if ( add.flags & XEN_PCI_DEV_VIRTFN )
+        {
+            pdev_info.is_virtfn = 1;
+            pdev_info.physfn.bus = add.physfn.bus;
+            pdev_info.physfn.devfn = add.physfn.devfn;
+        }
+        else
+            pdev_info.is_virtfn = 0;
+
+        ret = pci_add_device(add.seg, add.bus, add.devfn, &pdev_info, node);
+        break;
+    }
+#endif
+    default:
+        gdprintk(XENLOG_DEBUG, "PHYSDEVOP cmd=%d: not implemented\n", cmd);
+        ret = -ENOSYS;
+    }
+
+    return ret;
 }
 
 /*
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 12:08:30 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 12:08:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168670.307949 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGgqU-0000If-3S; Thu, 19 Aug 2021 12:08:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168670.307949; Thu, 19 Aug 2021 12:08: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 1mGgqU-0000Hc-0Q; Thu, 19 Aug 2021 12:08:30 +0000
Received: by outflank-mailman (input) for mailman id 168670;
 Thu, 19 Aug 2021 12:08:28 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HKsV=NK=arm.com=rahul.singh@srs-us1.protection.inumbo.net>)
 id 1mGgqS-0000Gt-Ob
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 12:08:28 +0000
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id 292733d4-00e6-11ec-a5f6-12813bfff9fa;
 Thu, 19 Aug 2021 12:08:27 +0000 (UTC)
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 4F8C631B;
 Thu, 19 Aug 2021 05:08:27 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 18D1B3F70D;
 Thu, 19 Aug 2021 05:08: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: 292733d4-00e6-11ec-a5f6-12813bfff9fa
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	rahul.singh@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Jan Beulich <jbeulich@suse.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v1 11/14] xen/arm: Enable the existing x86 virtual PCI support for ARM.
Date: Thu, 19 Aug 2021 13:02:51 +0100
Message-Id: <370f4f87c148eaee5ac5ec69346828e6473f0f2d.1629366665.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <cover.1629366665.git.rahul.singh@arm.com>
References: <cover.1629366665.git.rahul.singh@arm.com>
In-Reply-To: <cover.1629366665.git.rahul.singh@arm.com>
References: <cover.1629366665.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The existing VPCI support available for X86 is adapted for Arm.
When the device is added to XEN via the hyper call
“PHYSDEVOP_pci_device_add”, VPCI handler for the config space
access is added to the Xen to emulate the PCI devices config space.

A MMIO trap handler for the PCI ECAM space is registered in XEN
so that when guest is trying to access the PCI config space,XEN
will trap the access and emulate read/write using the VPCI and
not the real PCI hardware.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/arch/arm/Makefile         |  1 +
 xen/arch/arm/domain.c         |  4 ++
 xen/arch/arm/vpci.c           | 96 +++++++++++++++++++++++++++++++++++
 xen/arch/arm/vpci.h           | 37 ++++++++++++++
 xen/drivers/passthrough/pci.c |  7 +++
 xen/drivers/vpci/Makefile     |  3 +-
 xen/drivers/vpci/header.c     |  2 +
 xen/include/asm-arm/domain.h  |  5 +-
 xen/include/asm-arm/pci.h     |  8 +++
 xen/include/public/arch-arm.h |  4 ++
 10 files changed, 165 insertions(+), 2 deletions(-)
 create mode 100644 xen/arch/arm/vpci.c
 create mode 100644 xen/arch/arm/vpci.h

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 0e14a5e5c8..7cdce684a4 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -7,6 +7,7 @@ obj-y += platforms/
 endif
 obj-$(CONFIG_TEE) += tee/
 obj-$(CONFIG_HAS_PCI) += pci/
+obj-$(CONFIG_HAS_VPCI) += vpci.o
 
 obj-$(CONFIG_HAS_ALTERNATIVE) += alternative.o
 obj-y += bootfdt.init.o
diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index 19c756ac3d..d99c653626 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -40,6 +40,7 @@
 #include <asm/vtimer.h>
 
 #include "vuart.h"
+#include "vpci.h"
 
 DEFINE_PER_CPU(struct vcpu *, curr_vcpu);
 
@@ -767,6 +768,9 @@ int arch_domain_create(struct domain *d,
     if ( is_hardware_domain(d) && (rc = domain_vuart_init(d)) )
         goto fail;
 
+    if ( (rc = domain_vpci_init(d)) != 0 )
+        goto fail;
+
     return 0;
 
 fail:
diff --git a/xen/arch/arm/vpci.c b/xen/arch/arm/vpci.c
new file mode 100644
index 0000000000..da8b1ca13c
--- /dev/null
+++ b/xen/arch/arm/vpci.c
@@ -0,0 +1,96 @@
+/*
+ * xen/arch/arm/vpci.c
+ * Copyright (c) 2021 Arm Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+#include <xen/sched.h>
+#include <asm/mmio.h>
+
+/* Do some sanity checks. */
+static bool vpci_mmio_access_allowed(unsigned int reg, unsigned int len)
+{
+    /* Check access size. */
+    if ( len != 1 && len != 2 && len != 4 && len != 8 )
+        return false;
+
+    /* Check that access is size aligned. */
+    if ( (reg & (len - 1)) )
+        return false;
+
+    return true;
+}
+
+static int vpci_mmio_read(struct vcpu *v, mmio_info_t *info,
+                          register_t *r, void *p)
+{
+    unsigned int reg;
+    pci_sbdf_t sbdf;
+    uint32_t data = 0;
+    unsigned int size = 1U << info->dabt.size;
+
+    sbdf.sbdf = (((info->gpa) & 0x0ffff000) >> 12);
+    reg = (((info->gpa) & 0x00000ffc) | (info->gpa & 3));
+
+    if ( !vpci_mmio_access_allowed(reg, size) )
+        return 1;
+
+    data = vpci_read(sbdf, reg, size);
+
+    memcpy(r, &data, size);
+
+    return 1;
+}
+
+static int vpci_mmio_write(struct vcpu *v, mmio_info_t *info,
+                           register_t r, void *p)
+{
+    unsigned int reg;
+    pci_sbdf_t sbdf;
+    uint32_t data = r;
+    unsigned int size = 1U << info->dabt.size;
+
+    sbdf.sbdf = (((info->gpa) & 0x0ffff000) >> 12);
+    reg = (((info->gpa) & 0x00000ffc) | (info->gpa & 3));
+
+    if ( !vpci_mmio_access_allowed(reg, size) )
+        return 1;
+
+    vpci_write(sbdf, reg, size, data);
+
+    return 1;
+}
+
+static const struct mmio_handler_ops vpci_mmio_handler = {
+    .read  = vpci_mmio_read,
+    .write = vpci_mmio_write,
+};
+
+int domain_vpci_init(struct domain *d)
+{
+    if ( !has_vpci(d) )
+        return 0;
+
+    register_mmio_handler(d, &vpci_mmio_handler,
+                          GUEST_VPCI_ECAM_BASE, GUEST_VPCI_ECAM_SIZE, NULL);
+
+    return 0;
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
+
diff --git a/xen/arch/arm/vpci.h b/xen/arch/arm/vpci.h
new file mode 100644
index 0000000000..8a093bb705
--- /dev/null
+++ b/xen/arch/arm/vpci.h
@@ -0,0 +1,37 @@
+/*
+ * xen/arch/arm/vpci.h
+ * Copyright (c) 2021 Arm Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; 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.
+ */
+
+#ifndef __ARCH_ARM_VPCI_H__
+#define __ARCH_ARM_VPCI_H__
+
+#ifdef CONFIG_HAS_VPCI
+int domain_vpci_init(struct domain *d);
+#else
+static inline int domain_vpci_init(struct domain *d)
+{
+    return 0;
+}
+#endif
+
+#endif /* __ARCH_ARM_VPCI_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index c23c8cb06b..56e261e9bd 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -767,6 +767,13 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
     else
         iommu_enable_device(pdev);
 
+#ifdef CONFIG_ARM
+    ret = vpci_add_handlers(pdev);
+    if ( ret ) {
+        printk(XENLOG_ERR "setup of vPCI for failed: %d\n",ret);
+        goto out;
+    }
+#endif
     pci_enable_acs(pdev);
 
 out:
diff --git a/xen/drivers/vpci/Makefile b/xen/drivers/vpci/Makefile
index 55d1bdfda0..1a1413b93e 100644
--- a/xen/drivers/vpci/Makefile
+++ b/xen/drivers/vpci/Makefile
@@ -1 +1,2 @@
-obj-y += vpci.o header.o msi.o msix.o
+obj-y += vpci.o header.o
+obj-$(CONFIG_HAS_PCI_MSI) += msi.o msix.o
diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
index ba9a036202..f8cd55e7c0 100644
--- a/xen/drivers/vpci/header.c
+++ b/xen/drivers/vpci/header.c
@@ -96,8 +96,10 @@ static void modify_decoding(const struct pci_dev *pdev, uint16_t cmd,
      * FIXME: punching holes after the p2m has been set up might be racy for
      * DomU usage, needs to be revisited.
      */
+#ifdef CONFIG_HAS_PCI_MSI
     if ( map && !rom_only && vpci_make_msix_hole(pdev) )
         return;
+#endif
 
     for ( i = 0; i < ARRAY_SIZE(header->bars); i++ )
     {
diff --git a/xen/include/asm-arm/domain.h b/xen/include/asm-arm/domain.h
index c9277b5c6d..d742b94bd6 100644
--- a/xen/include/asm-arm/domain.h
+++ b/xen/include/asm-arm/domain.h
@@ -262,7 +262,10 @@ static inline void arch_vcpu_block(struct vcpu *v) {}
 
 #define arch_vm_assist_valid_mask(d) (1UL << VMASST_TYPE_runstate_update_flag)
 
-#define has_vpci(d)    ({ (void)(d); false; })
+/* For X86 VPCI is enabled and tested for PVH DOM0 only but
+ * for ARM we enable support VPCI for guest domain also.
+ */
+#define has_vpci(d) ({ (void)(d); IS_ENABLED(CONFIG_HAS_VPCI); })
 
 #endif /* __ASM_DOMAIN_H__ */
 
diff --git a/xen/include/asm-arm/pci.h b/xen/include/asm-arm/pci.h
index 756f8637ab..c58152de80 100644
--- a/xen/include/asm-arm/pci.h
+++ b/xen/include/asm-arm/pci.h
@@ -27,6 +27,14 @@ struct arch_pci_dev {
     struct device dev;
 };
 
+/* Arch-specific MSI data for vPCI. */
+struct vpci_arch_msi {
+};
+
+/* Arch-specific MSI-X entry data for vPCI. */
+struct vpci_arch_msix_entry {
+};
+
 /*
  * struct to hold the mappings of a config space window. This
  * is expected to be used as sysdata for PCI controllers that
diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
index 64a2ca30da..0a9749e768 100644
--- a/xen/include/public/arch-arm.h
+++ b/xen/include/public/arch-arm.h
@@ -422,6 +422,10 @@ typedef uint64_t xen_callback_t;
 #define GUEST_PL011_BASE    xen_mk_ullong(0x22000000)
 #define GUEST_PL011_SIZE    xen_mk_ullong(0x00001000)
 
+/* VPCI ECAM mappings */
+#define GUEST_VPCI_ECAM_BASE    xen_mk_ullong(0x10000000)
+#define GUEST_VPCI_ECAM_SIZE    xen_mk_ullong(0x10000000)
+
 /*
  * 16MB == 4096 pages reserved for guest to use as a region to map its
  * grant table in.
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 12:08:39 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 12:08:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168673.307960 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGgqd-0000mG-Io; Thu, 19 Aug 2021 12:08:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168673.307960; Thu, 19 Aug 2021 12:08:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGgqd-0000m3-FM; Thu, 19 Aug 2021 12:08:39 +0000
Received: by outflank-mailman (input) for mailman id 168673;
 Thu, 19 Aug 2021 12:08:38 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HKsV=NK=arm.com=rahul.singh@srs-us1.protection.inumbo.net>)
 id 1mGgqc-0000kV-5Z
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 12:08:38 +0000
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id 57438a67-03ce-48a9-a6f0-9c76bd89baf1;
 Thu, 19 Aug 2021 12:08:36 +0000 (UTC)
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 A355B31B;
 Thu, 19 Aug 2021 05:08:36 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 0124A3F70D;
 Thu, 19 Aug 2021 05:08: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: 57438a67-03ce-48a9-a6f0-9c76bd89baf1
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	rahul.singh@arm.com,
	Ian Jackson <iwj@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>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v1 12/14] arm/libxl: Emulated PCI device tree node in libxl
Date: Thu, 19 Aug 2021 13:02:52 +0100
Message-Id: <31e48fe4b219ebaf5f1d9f3f7ca9b433caadc5b2.1629366665.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <cover.1629366665.git.rahul.singh@arm.com>
References: <cover.1629366665.git.rahul.singh@arm.com>
In-Reply-To: <cover.1629366665.git.rahul.singh@arm.com>
References: <cover.1629366665.git.rahul.singh@arm.com>

libxl will create an emulated PCI device tree node in the device tree to
enable the guest OS to discover the virtual PCI during guest boot.
Emulated PCI device tree node will only be created when there is any
device assigned to guest.

A new area has been reserved in the arm guest physical map at
which the VPCI bus is declared in the device tree (reg and ranges
parameters of the node).

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 tools/libs/light/libxl_arm.c          | 109 ++++++++++++++++++++++++++
 tools/libs/light/libxl_types.idl      |   1 +
 tools/xl/xl_parse.c                   |   2 +
 xen/include/public/arch-arm.h         |  11 +++
 xen/include/public/device_tree_defs.h |   1 +
 5 files changed, 124 insertions(+)

diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index e3140a6e00..a091e97e76 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -269,6 +269,58 @@ static int fdt_property_regs(libxl__gc *gc, void *fdt,
     return fdt_property(fdt, "reg", regs, sizeof(regs));
 }
 
+static int fdt_property_values(libxl__gc *gc, void *fdt,
+        const char *name, unsigned num_cells, ...)
+{
+    uint32_t prop[num_cells];
+    be32 *cells = &prop[0];
+    int i;
+    va_list ap;
+    uint32_t arg;
+
+    va_start(ap, num_cells);
+    for (i = 0 ; i < num_cells; i++) {
+        arg = va_arg(ap, uint32_t);
+        set_cell(&cells, 1, arg);
+    }
+    va_end(ap);
+
+    return fdt_property(fdt, name, prop, sizeof(prop));
+}
+
+static int fdt_property_vpci_ranges(libxl__gc *gc, void *fdt,
+                                    unsigned addr_cells,
+                                    unsigned size_cells,
+                                    unsigned num_regs, ...)
+{
+    uint32_t regs[num_regs*((addr_cells*2)+size_cells+1)];
+    be32 *cells = &regs[0];
+    int i;
+    va_list ap;
+    uint64_t arg;
+
+    va_start(ap, num_regs);
+    for (i = 0 ; i < num_regs; i++) {
+        /* Set the memory bit field */
+        arg = va_arg(ap, uint64_t);
+        set_cell(&cells, 1, arg);
+
+        /* Set the vpci bus address */
+        arg = addr_cells ? va_arg(ap, uint64_t) : 0;
+        set_cell(&cells, addr_cells , arg);
+
+        /* Set the cpu bus address where vpci address is mapped */
+        set_cell(&cells, addr_cells, arg);
+
+        /* Set the vpci size requested */
+        arg = size_cells ? va_arg(ap, uint64_t) : 0;
+        set_cell(&cells, size_cells,arg);
+    }
+    va_end(ap);
+
+    return fdt_property(fdt, "ranges", regs, sizeof(regs));
+}
+
 static int make_root_properties(libxl__gc *gc,
                                 const libxl_version_info *vers,
                                 void *fdt)
@@ -668,6 +720,57 @@ static int make_vpl011_uart_node(libxl__gc *gc, void *fdt,
     return 0;
 }
 
+static int make_vpci_node(libxl__gc *gc, void *fdt,
+        const struct arch_info *ainfo,
+        struct xc_dom_image *dom)
+{
+    int res;
+    const uint64_t vpci_ecam_base = GUEST_VPCI_ECAM_BASE;
+    const uint64_t vpci_ecam_size = GUEST_VPCI_ECAM_SIZE;
+    const char *name = GCSPRINTF("pcie@%"PRIx64, vpci_ecam_base);
+
+    res = fdt_begin_node(fdt, name);
+    if (res) return res;
+
+    res = fdt_property_compat(gc, fdt, 1, "pci-host-ecam-generic");
+    if (res) return res;
+
+    res = fdt_property_string(fdt, "device_type", "pci");
+    if (res) return res;
+
+    res = fdt_property_regs(gc, fdt, GUEST_ROOT_ADDRESS_CELLS,
+            GUEST_ROOT_SIZE_CELLS, 1, vpci_ecam_base, vpci_ecam_size);
+    if (res) return res;
+
+    res = fdt_property_values(gc, fdt, "bus-range", 2, 0,17);
+    if (res) return res;
+
+    res = fdt_property_cell(fdt, "#address-cells", 3);
+    if (res) return res;
+
+    res = fdt_property_cell(fdt, "#size-cells", 2);
+    if (res) return res;
+
+    res = fdt_property_string(fdt, "status", "okay");
+    if (res) return res;
+
+    res = fdt_property_vpci_ranges(gc, fdt, GUEST_ROOT_ADDRESS_CELLS,
+        GUEST_ROOT_SIZE_CELLS, 2,
+        GUEST_VPCI_ADDR_TYPE_MEM, GUEST_VPCI_MEM_ADDR, GUEST_VPCI_MEM_SIZE,
+        GUEST_VPCI_ADDR_TYPE_PREFETCH_MEM, GUEST_VPCI_PREFETCH_MEM_ADDR,
+        GUEST_VPCI_PREFETCH_MEM_SIZE);
+    if (res) return res;
+
+    res = fdt_property_values(gc, fdt, "msi-map", 4, 0, GUEST_PHANDLE_ITS,
+                              0, 0x10000);
+    if (res) return res;
+
+    res = fdt_end_node(fdt);
+    if (res) return res;
+
+    return 0;
+}
+
 static const struct arch_info *get_arch_info(libxl__gc *gc,
                                              const struct xc_dom_image *dom)
 {
@@ -971,6 +1074,9 @@ next_resize:
         if (info->tee == LIBXL_TEE_TYPE_OPTEE)
             FDT( make_optee_node(gc, fdt) );
 
+        if (libxl_defbool_val(info->arch_arm.vpci))
+            FDT( make_vpci_node(gc, fdt, ainfo, dom) );
+
         if (pfdt)
             FDT( copy_partial_fdt(gc, fdt, pfdt) );
 
@@ -1189,6 +1295,9 @@ void libxl__arch_domain_build_info_setdefault(libxl__gc *gc,
     /* ACPI is disabled by default */
     libxl_defbool_setdefault(&b_info->acpi, false);
 
+    /* VPCI is disabled by default */
+    libxl_defbool_setdefault(&b_info->arch_arm.vpci, false);
+
     if (b_info->type != LIBXL_DOMAIN_TYPE_PV)
         return;
 
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index 3f9fff653a..78b1ddf0b8 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -644,6 +644,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
 
     ("arch_arm", Struct(None, [("gic_version", libxl_gic_version),
                                ("vuart", libxl_vuart_type),
+                               ("vpci", libxl_defbool),
                               ])),
     ("arch_x86", Struct(None, [("msr_relaxed", libxl_defbool),
                               ])),
diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index 17dddb4cd5..ffafbeffb4 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -1497,6 +1497,8 @@ void parse_config_data(const char *config_source,
         }
         if (d_config->num_pcidevs && c_info->type == LIBXL_DOMAIN_TYPE_PV)
             libxl_defbool_set(&b_info->u.pv.e820_host, true);
+        if (d_config->num_pcidevs)
+            libxl_defbool_set(&b_info->arch_arm.vpci, true);
     }
 
     if (!xlu_cfg_get_list (config, "dtdev", &dtdevs, 0, 0)) {
diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
index 0a9749e768..01d13e669e 100644
--- a/xen/include/public/arch-arm.h
+++ b/xen/include/public/arch-arm.h
@@ -426,6 +426,17 @@ typedef uint64_t xen_callback_t;
 #define GUEST_VPCI_ECAM_BASE    xen_mk_ullong(0x10000000)
 #define GUEST_VPCI_ECAM_SIZE    xen_mk_ullong(0x10000000)
 
+/* PCI-PCIe memory space types */
+#define GUEST_VPCI_ADDR_TYPE_PREFETCH_MEM xen_mk_ullong(0x42000000)
+#define GUEST_VPCI_ADDR_TYPE_MEM          xen_mk_ullong(0x02000000)
+
+/* Guest PCI-PCIe memory space where config space and BAR will be available.*/
+#define GUEST_VPCI_PREFETCH_MEM_ADDR  xen_mk_ullong(0x900000000)
+#define GUEST_VPCI_MEM_ADDR           xen_mk_ullong(0x20000000)
+
+#define GUEST_VPCI_PREFETCH_MEM_SIZE      xen_mk_ullong(0x2000000000)
+#define GUEST_VPCI_MEM_SIZE               xen_mk_ullong(0x04000000)
+
 /*
  * 16MB == 4096 pages reserved for guest to use as a region to map its
  * grant table in.
diff --git a/xen/include/public/device_tree_defs.h b/xen/include/public/device_tree_defs.h
index 209d43de3f..d24d86b1fc 100644
--- a/xen/include/public/device_tree_defs.h
+++ b/xen/include/public/device_tree_defs.h
@@ -7,6 +7,7 @@
  * onwards. Reserve a high value for the GIC phandle.
  */
 #define GUEST_PHANDLE_GIC (65000)
+#define GUEST_PHANDLE_ITS (64999)
 
 #define GUEST_ROOT_ADDRESS_CELLS 2
 #define GUEST_ROOT_SIZE_CELLS 2
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 12:09:02 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 12:09:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168683.307971 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGgqz-0001ch-RS; Thu, 19 Aug 2021 12:09:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168683.307971; Thu, 19 Aug 2021 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 1mGgqz-0001cY-OR; Thu, 19 Aug 2021 12:09:01 +0000
Received: by outflank-mailman (input) for mailman id 168683;
 Thu, 19 Aug 2021 12:09:00 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HKsV=NK=arm.com=rahul.singh@srs-us1.protection.inumbo.net>)
 id 1mGgqy-0001W6-GO
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 12:09:00 +0000
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id 39acc188-00e6-11ec-a5f6-12813bfff9fa;
 Thu, 19 Aug 2021 12:08:55 +0000 (UTC)
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 128DC31B;
 Thu, 19 Aug 2021 05:08:55 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 2C87D3F70D;
 Thu, 19 Aug 2021 05:08: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: 39acc188-00e6-11ec-a5f6-12813bfff9fa
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	rahul.singh@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v1 13/14] xen/arm: Fixed error when PCI device is assigned to guest
Date: Thu, 19 Aug 2021 13:02:53 +0100
Message-Id: <917720808121c3098690b51d55f2d60118ec6408.1629366665.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <cover.1629366665.git.rahul.singh@arm.com>
References: <cover.1629366665.git.rahul.singh@arm.com>
In-Reply-To: <cover.1629366665.git.rahul.singh@arm.com>
References: <cover.1629366665.git.rahul.singh@arm.com>

XEN_DOMCTL_ioport_permission, PHYSDEVOP_unmap_pirq, PHYSDEVOP_unmap_pirq
are unimplemented for ARM. When libxl assigning a PCI device to the
guest error is observed related to above functions.

Implement dummy functions to fix the error.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/arch/arm/domctl.c  | 2 ++
 xen/arch/arm/physdev.c | 3 +++
 2 files changed, 5 insertions(+)

diff --git a/xen/arch/arm/domctl.c b/xen/arch/arm/domctl.c
index b7d27f37df..38813be893 100644
--- a/xen/arch/arm/domctl.c
+++ b/xen/arch/arm/domctl.c
@@ -173,6 +173,8 @@ long arch_do_domctl(struct xen_domctl *domctl, struct domain *d,
 
         return rc;
     }
+    case XEN_DOMCTL_ioport_permission:
+        return 0;
     default:
     {
         int rc;
diff --git a/xen/arch/arm/physdev.c b/xen/arch/arm/physdev.c
index ccce8f0eba..4a0affeada 100644
--- a/xen/arch/arm/physdev.c
+++ b/xen/arch/arm/physdev.c
@@ -42,6 +42,9 @@ int do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
         break;
     }
 #endif
+    case PHYSDEVOP_unmap_pirq:
+    case PHYSDEVOP_map_pirq:
+        break;
     default:
         gdprintk(XENLOG_DEBUG, "PHYSDEVOP cmd=%d: not implemented\n", cmd);
         ret = -ENOSYS;
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 12:09:03 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 12:09:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168685.307982 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGgr1-0001tj-4y; Thu, 19 Aug 2021 12:09:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168685.307982; Thu, 19 Aug 2021 12:09: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 1mGgr1-0001tW-0z; Thu, 19 Aug 2021 12:09:03 +0000
Received: by outflank-mailman (input) for mailman id 168685;
 Thu, 19 Aug 2021 12:09:01 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HKsV=NK=arm.com=rahul.singh@srs-us1.protection.inumbo.net>)
 id 1mGgqz-0001cS-MD
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 12:09:01 +0000
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id d601c046-67f9-4157-93be-4ba20d430c33;
 Thu, 19 Aug 2021 12:09:00 +0000 (UTC)
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 6E29F31B;
 Thu, 19 Aug 2021 05:09:00 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 892853F70D;
 Thu, 19 Aug 2021 05:08: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: d601c046-67f9-4157-93be-4ba20d430c33
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	rahul.singh@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v1 14/14] xen/arm: Add linux,pci-domain property for hwdom if not available.
Date: Thu, 19 Aug 2021 13:02:54 +0100
Message-Id: <0b979ccab6a4c9b2070748709f737f41fa108a42.1629366665.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <cover.1629366665.git.rahul.singh@arm.com>
References: <cover.1629366665.git.rahul.singh@arm.com>
In-Reply-To: <cover.1629366665.git.rahul.singh@arm.com>
References: <cover.1629366665.git.rahul.singh@arm.com>

If the property is not present in the device tree node for host bridge,
XEN while creating the dtb for hwdom will create this property and
assigns the already allocated segment to the host bridge
so that XEN and linux will have the same segment for the host bridges.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/arch/arm/domain_build.c        | 18 ++++++++++++++++++
 xen/arch/arm/pci/pci-host-common.c | 21 +++++++++++++++++++++
 xen/include/asm-arm/pci.h          |  3 +++
 3 files changed, 42 insertions(+)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 6c86d52781..e0cf2ff19d 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -581,6 +581,24 @@ static int __init write_properties(struct domain *d, struct kernel_info *kinfo,
             return res;
     }
 
+#ifdef CONFIG_HAS_PCI
+    if ( dt_device_type_is_equal(node, "pci") )
+    {
+        if ( !dt_find_property(node, "linux,pci-domain", NULL) )
+        {
+            uint16_t segment;
+
+            res = pci_get_host_bridge_segment(node, &segment);
+            if ( res < 0 )
+                return res;
+
+            res = fdt_property_cell(kinfo->fdt, "linux,pci-domain", segment);
+            if ( res )
+                return res;
+        }
+    }
+#endif
+
     /*
      * Override the property "status" to disable the device when it's
      * marked for passthrough.
diff --git a/xen/arch/arm/pci/pci-host-common.c b/xen/arch/arm/pci/pci-host-common.c
index 62715b4676..5e34252deb 100644
--- a/xen/arch/arm/pci/pci-host-common.c
+++ b/xen/arch/arm/pci/pci-host-common.c
@@ -280,6 +280,27 @@ struct pci_host_bridge *pci_find_host_bridge(uint16_t segment, uint8_t bus)
 
     return NULL;
 }
+
+/*
+ * This function will lookup an hostbridge based on config space address.
+ */
+int pci_get_host_bridge_segment(const struct dt_device_node *node,
+                                uint16_t *segment)
+{
+    struct pci_host_bridge *bridge;
+
+    list_for_each_entry( bridge, &pci_host_bridges, node )
+    {
+        if ( bridge->dt_node != node )
+            continue;
+
+        *segment = bridge->segment;
+        return 0;
+    }
+
+    return -EINVAL;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/include/asm-arm/pci.h b/xen/include/asm-arm/pci.h
index c58152de80..2d4610a23a 100644
--- a/xen/include/asm-arm/pci.h
+++ b/xen/include/asm-arm/pci.h
@@ -96,6 +96,9 @@ void __iomem *pci_ecam_map_bus(struct pci_host_bridge *bridge,
                                uint32_t sbdf, uint32_t where);
 
 struct pci_host_bridge *pci_find_host_bridge(uint16_t segment, uint8_t bus);
+int pci_get_host_bridge_segment(const struct dt_device_node *node,
+                                uint16_t *segment);
+
 #else   /*!CONFIG_HAS_PCI*/
 
 struct arch_pci_dev { };
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 12:09:46 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 12:09:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168702.307993 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGgri-0002xk-Dl; Thu, 19 Aug 2021 12:09:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168702.307993; Thu, 19 Aug 2021 12: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 1mGgri-0002xd-Ae; Thu, 19 Aug 2021 12:09:46 +0000
Received: by outflank-mailman (input) for mailman id 168702;
 Thu, 19 Aug 2021 12:09:44 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KGBc=NK=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mGgrg-0002wr-Gj
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 12:09:44 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c08967ba-5601-471f-9922-21399b039af6;
 Thu, 19 Aug 2021 12:09:43 +0000 (UTC)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2054.outbound.protection.outlook.com [104.47.12.54]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-17-TBtlnpu9O76yWjmTpikz4w-1; Thu, 19 Aug 2021 14:09:41 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4190.eurprd04.prod.outlook.com (2603:10a6:803:4b::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Thu, 19 Aug
 2021 12:09:39 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Thu, 19 Aug 2021
 12:09:39 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR2P264CA0035.FRAP264.PROD.OUTLOOK.COM (2603:10a6:101:1::23) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.18 via Frontend Transport; Thu, 19 Aug 2021 12: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: c08967ba-5601-471f-9922-21399b039af6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629374982;
	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=z8jyJIc4q1MroqvD8dSa4R4o1Z/tRCrMChyeoXFMFpg=;
	b=eb3NFsZ4E8ZPP0yctSz4Xf8nPbm7+jMegYi9//oQlqON7Embsc8eYHSCSVJ6SiHErW8omZ
	eRWPN6zWF0XrrjXnLOmloCJZ0h9Pse+CVd+1GBT6qarDBDUx58JWcEecmmfeoqGY0hpBZD
	l83yXB9E0bOSXaragx27c6ACJNyX6G0=
X-MC-Unique: TBtlnpu9O76yWjmTpikz4w-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Y1U1NimLeMcsWqG15soDQkEAbDaROMgiovsMIFJLDpYFmv8nOZsnbQAdTqi0rccN6BVtXZbNv5BAqArbS+9Xx5y+nwR+iSOpBVQTHmZegDC5RuOJvI1I3e/TS7uh7jMTrnS9uv/SfHR+IWybarWMYkhr7TFBletbpVQY44OeFFWKOIb4K0Q7GkcJrA52GBbY4tXuSa8/wwsGtNBiAiMRbb79tLwldtBUL/ct+k1J+HbfeGJX6HzuwJ/P15g2f1Rq4V+5t6uch4uiFPx5UvgeCoZFhi2SvrUdD+RuQo340KeyyIY9G/KmCgfMEm9CQmGqZN+dfZxGbDKEHDBJz11Qsg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=z8jyJIc4q1MroqvD8dSa4R4o1Z/tRCrMChyeoXFMFpg=;
 b=VRZfTmwAEYYif5ay8kWLrDFiQ9kxd450KSBJKen4nx1+u3GgGhW3nJgais8Er05s5C1WdprfgYEF00qL1513Mo0hm35Su+3eHCF6J7cAXh9HDA0/txwEEB4W4p0D1icBHjdD5zgc/MvqWzc1jvnGAAfrlD+A2U79xxiOrtd3F4NdTwccADFLSoWgCSsSKui5+uhKxWdghQaLSFFsdHDszSEogisOIR8YnFO0tnQD3G4bfRggoudwXtneZRax3fcAPvrWDKfKD8xjHOlH6yIK374ycfq9mKxk7y/TpXFSSaYzxjetvHnDaVexy6Zvxp/lFhzUEVwSZRZuG38qA7PiOQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v1 09/14] xen/arm: Add cmdline boot option "pci=on"
To: Rahul Singh <rahul.singh@arm.com>
Cc: bertrand.marquis@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, xen-devel@lists.xenproject.org
References: <cover.1629366665.git.rahul.singh@arm.com>
 <e279636ea47b7d06056c2f70e76900b8d0b30ee9.1629366665.git.rahul.singh@arm.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <4631a7cd-5f82-8a04-1aa5-bba8bf5bd625@suse.com>
Date: Thu, 19 Aug 2021 14:09:36 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <e279636ea47b7d06056c2f70e76900b8d0b30ee9.1629366665.git.rahul.singh@arm.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR2P264CA0035.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:101:1::23) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f91d0c7e-0ea1-4151-23ef-08d9630a381b
X-MS-TrafficTypeDiagnostic: VI1PR04MB4190:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4190835CFB19DC6A0D63956DB3C09@VI1PR04MB4190.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:2399;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	lFSY+EIkoXRnI7tSgTRq+A87pkA53/cYKo1CXcw6NRxXQLaPmpivtghlPeCZsDJFO26EGKDwhpC2mqccdVIRQOaZ7v/dPZsHadQ+jF4RNkx8tar1N7l9rWHOw49o9uTtpPksTuvq6PWbVWLKi69QKFUzjay12gCUCoPxW58aMFKvYNSKv+NT/TwWli9dMgC1LPdwn91MJoLhb+d0XpgFJi3pTSVx9IRntHBsvf8Ksrwlj6pfcRSyoas5fGhOiS+iPYPtBNultG8mxqBkIan+EavtqLpHje1iRtYQQNC3+jm5hsWNFguiLDacAX1w18D4Q3e4kXPyZWhS4aRDiliqmCmqFvfU8WDewdX+oRqqsPOXO4RXt/GgVfPUOloQID87BYoz49kJmdX05bmyDx5r4COVtvFIae2L94ntdDwVM8JaRvpZAni+TT9nccebZyMgF5LHr9AQtHm60q8gWmwrmMx2jsTIJcnVX8ZeR5MmKG/SVILOAAJBHkYigHtEmRJ11BABHhXF3KAUBOE6xPxsTgemQOVskb09e2CIt5DG+xzXaZnbWN+VG2EiCmY7EWotsXcU77G8ZnXOoseCrFxCbBLN0hJfMwNLlwhqg4h4UERpPcF8D7Snj9uPlgabHOrSH5hb9M9gPNEmkApRGNYeB+9KG5gStcLLRBOO4TrRbBEKcCnmALhzewAi+5q3waxfpd1dp+Y/0zUnDETsy1luVKTumSykeDXUH8u6iIhyFy8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(376002)(39860400002)(366004)(396003)(346002)(86362001)(66476007)(66556008)(2906002)(31686004)(2616005)(956004)(16576012)(316002)(31696002)(5660300002)(54906003)(38100700002)(8676002)(478600001)(6486002)(66946007)(8936002)(4326008)(6916009)(36756003)(186003)(26005)(4744005)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eDVQcW9hWnVvbGlvL3lkbWJCWG5jam0waDNyOFp3ZDF0WHIrWU5yb2NaZ2Js?=
 =?utf-8?B?cXprZi83blFQVEhGOXZZQ3ZGTE1sUXpUN1lKRkpYdmgwSmxXdFRSdHJma3Jz?=
 =?utf-8?B?MGNCRkJhaG5rNGZMWUpiZHlTZkVJazNaaFlyRGdjODRBMVhXVXpJR1IvNWRM?=
 =?utf-8?B?R0Myd3JjOHpUeEswenNJNUFqMTVTMzZ2VU9WVWFrdWxQaXQ4Wi90cVFPOVox?=
 =?utf-8?B?MnBuOERGZ0o2ODJzelpXTVBiUUU5ZXNIajRSQmZrdlhGZm5tdlhtS3VUa2p1?=
 =?utf-8?B?ZzIrQk9ERkQxYTZJcDRaNGdoRVFFNC9SeTNPTUM4V2tuZ1Z5eitoS0Q4NmhU?=
 =?utf-8?B?MWhvS0d2ME11NDdlbVRUbzEzdlhoTVdQMEFiWHJtY2J3R1N3aXRya3l2V24z?=
 =?utf-8?B?MzJCMWMxSDRvZlV3VVJ3bVNmRi9La1RSdTVITWREaFVtRWVKV1c3QWtzdkc2?=
 =?utf-8?B?QmhuTFVweHk4a0pWZ1FBazA2TWR2SDJ4M0xRS0pGVnZuMzJSajhJVEJIUElu?=
 =?utf-8?B?L0dISGd4V0N1VzlpcXNpMi95NFFsWnpIU1luS2RoRExBb3liS2pDcFdLdUE3?=
 =?utf-8?B?Yk5Na3FVRnR4d09HRHVDb3h1emdrSDFvSW5kUVJMUE1aMy83UEZVdzJrRHV2?=
 =?utf-8?B?emt4c09BZkdjS1JiRThoZnd5VWJWN3NjK2N6NXJQZWRURjhFSmlBL1BHRkNT?=
 =?utf-8?B?TUlTb1JabW5yMXN1c1liREdpV2ZOcmJrR2U4b2liR0xvbGVTL1FXUTdhRW56?=
 =?utf-8?B?V2tpNzNiM0VNTDNKVmZkcWpUWVp5OTlSQkRSSTRtejZrRnprRUlaaHdiNFor?=
 =?utf-8?B?S0grbkJhK215SlptNFdoUVVBNnRadEZDTU9jZFloWW9XVHlOQnN1MXNwK1pQ?=
 =?utf-8?B?bXVUZm45K0hSZjJnT1FzR25OcUlUUmF2dXFUU2dCTXhJc2R3YWpsOHB2NEht?=
 =?utf-8?B?RzQwK3J0aTVBc0QxZmVCM3JhVUFUR2p3bVoxcjAwdU5GaDcwQk13SjlxMEtT?=
 =?utf-8?B?YzFHenQwdnVOVitTYk5rYlNqRS9Nc3ZQSENrK09LWWRnVjQvK3FRejFmMXZO?=
 =?utf-8?B?LzF1a3FxWXZhYnU0bXgyVnhuNWxoSzRRVUV3VE0ra2xYRHZYazZCZE9wRmU2?=
 =?utf-8?B?THFwOTNJNEVLOUhhMFpyZU96QThSNUswMlNhTEdQbm40TlVnZTRCVVNFeWU0?=
 =?utf-8?B?bUJSV0JvWmFOMStLcDd0V3ZwOTB5cXNSZzA2WmFGV05YMDJ5d1RPVFpEUjhw?=
 =?utf-8?B?UXl1NURuV0hseU9iRUVFcjA3QnI3dDhWbVJ5bXpMNVd4b1FxakFBNWprS0xw?=
 =?utf-8?B?UENGb1VCbHlBRU0rV3BrOUVBZ1F1eFp5eEdDaW1kei9wbWw5K3RpckpWeU5C?=
 =?utf-8?B?aEdGd3lzRTlFRmlwMkR2ZWZBQTFJUHZtV29wc1o0Mjk5dnhRbEE0LzR0QXVW?=
 =?utf-8?B?TDR1MmtOaVQ5QTRVaWFwYjlTbVNBeGhqWGZ5QUthcDA4dWIwa0ozbjdrR2tU?=
 =?utf-8?B?VkIwSEpqbTgwcXJuRGlmaXVlenBIb2pDK2JwVFR5dk1NMnQ5YnMxYjNpY0J6?=
 =?utf-8?B?T09KRXczcVBRb05OcG1NOFd5Qnh0MUJtdlU2OFR1OXk0U1JsOGlDdU4vNUFm?=
 =?utf-8?B?bmF4bjZpUmJGQ2tUcm9VT1pLZzlMdTd5QkQ4WUJIOXE3QlFOdWtSQnl0TDZ2?=
 =?utf-8?B?MCtCUGFSQ1poa0tBMy84NXpKTWtKT3lIT1dZbGRlV2RqQjBXQmxtQjl3YUQ2?=
 =?utf-8?Q?njj+IWwkwlgFrkFtA3BzNEA65ua3ajn++Zp91uw?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f91d0c7e-0ea1-4151-23ef-08d9630a381b
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2021 12:09:39.3110
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 22z2ncE+AvAJLKl6oZoJ4D9Sa22ggnJl/ii0OEdxYrsGcUwKyyozWvPoQIAd8kNfM68jnqNtgiRISOcU6+E6zA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4190

On 19.08.2021 14:02, Rahul Singh wrote:
> Add cmdline boot option "pci=on" to enable/disable the PCI init during
> boot.
> 
> Signed-off-by: Rahul Singh <rahul.singh@arm.com>
> ---
>  xen/arch/arm/pci/pci.c | 30 ++++++++++++++++++++++++++++++
>  1 file changed, 30 insertions(+)

Any addition or change of a command line option should be accompanied
by an adjustment to docs/misc/xen-command-line.pandoc, please.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 12:12:53 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 12:12:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168706.308004 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGgue-0004ac-Pp; Thu, 19 Aug 2021 12:12:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168706.308004; Thu, 19 Aug 2021 12: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 1mGgue-0004aV-Lx; Thu, 19 Aug 2021 12:12:48 +0000
Received: by outflank-mailman (input) for mailman id 168706;
 Thu, 19 Aug 2021 12:12:47 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KGBc=NK=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mGgud-0004aP-OI
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 12:12:47 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 7d3e62cb-22e2-44f7-bf34-a2e5b74417de;
 Thu, 19 Aug 2021 12:12:46 +0000 (UTC)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2056.outbound.protection.outlook.com [104.47.13.56]) (Using
 TLS) by relay.mimecast.com with ESMTP id de-mta-7-7uxtjW1DNOiQ5rr31JbsAA-1;
 Thu, 19 Aug 2021 14:12:44 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5328.eurprd04.prod.outlook.com (2603:10a6:803:59::25)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.19; Thu, 19 Aug
 2021 12:12:42 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Thu, 19 Aug 2021
 12:12:42 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0175.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1c::19) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Thu, 19 Aug 2021 12:12: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: 7d3e62cb-22e2-44f7-bf34-a2e5b74417de
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629375165;
	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=JJZORqtucVApWQgaGg79zXuwp7iiOAVUA/gC1m6H+ic=;
	b=hbpFo5toIz+ckDetbsyoUjIVZEcBtALpEzzMAlMUOQAv+v6CnjXIo/UdJsjYSWLwf1bjii
	QMOvkO938J9q8jtFrvgYeAF5TcHkZknfROpLSiEkMXvGfFkFYMMtFwvSjGB+Y41JouR1ZR
	1YGb6FsVfF6M0ut09F8t3md+GwJXTvQ=
X-MC-Unique: 7uxtjW1DNOiQ5rr31JbsAA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JAnis6eCQh2WJZ7j8Ro36KPnD/szTIEQRwqbNz/ZmLNkgnYMo58TtrESTBWVOrrFXC9yanKSkC9tSul6AJf18XDdje8YgATR+EBKaIvORoZzVTEAFg3SJmojGZMjtCF6NS2qSfJZD4VACjxuh54ihYKm4morqT+Vnx9LcsagEo7QgIowCYYx2effxCM2lQzLICKEvSZVh0M0Yax81MPgEPyxMqt/0sVSDtMEOYgCewqveI9Q4m716nXpoChzzP7vtyGpEfpTn09JxBK4av5EbSPHR5iwhEWz16jdAOBC/0QcsfN1u1lDefi43aR1eYLEBWtP/96EPrC+ITIozO9BiA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JJZORqtucVApWQgaGg79zXuwp7iiOAVUA/gC1m6H+ic=;
 b=HWqOtjncEZAovVSwUGDHYT1AkhsYz9grhc5UoU30TsGPmU3zYZwgLsoLLFNlKsS/Xp73HynN/huoGdoDNyFgvvj9kMFOeBrFxwSKWoawKNIQR/Jv5KMrL1/ic4PVQueJ3QcrIhNjaSAo/pFLPIpFl/CpYEk+Nah1wXVsFn8Ejje7e7xXodPZcTBjAx9GQ5acg6KQ7vGJeh86vZeqStoS6N7ufGylTrkO1dDHE6cWgAVQyexdB4TTkd2G93cSc6brt9IISKb5gmAu4fpLjZIQDZ1FWdGAwZ428Enm3tBDqtwIHMthHyd+UeTc9kgTN5KQoKX8tnf2UGXGD9eq+AGgWA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v1 13/14] xen/arm: Fixed error when PCI device is assigned
 to guest
To: Rahul Singh <rahul.singh@arm.com>
Cc: bertrand.marquis@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, xen-devel@lists.xenproject.org
References: <cover.1629366665.git.rahul.singh@arm.com>
 <917720808121c3098690b51d55f2d60118ec6408.1629366665.git.rahul.singh@arm.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <f57bc8cf-6fcf-b9ef-cdd5-1bf5ad4701a7@suse.com>
Date: Thu, 19 Aug 2021 14:12:40 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <917720808121c3098690b51d55f2d60118ec6408.1629366665.git.rahul.singh@arm.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0175.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1c::19) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 106d931e-0bdd-4cd4-32bb-08d9630aa550
X-MS-TrafficTypeDiagnostic: VI1PR04MB5328:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB5328981071748DE89F72EDD9B3C09@VI1PR04MB5328.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:7219;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	HkZNSxUKe1QqTGDJhBobJcPdQ6OsSjNDkEBL5Ci5ldOthu3wEHac349TcJvV1km5q5dQPqcfXXOstQpHMWoaKPl7c22IFyi9jezl8MwLujbhbrc7g2VJR9Jvda2w+s6v9penAjcKGhiU/5ckM4Oex7yLZEKDemzApftmhn/JCnSJ+jo7P5Y61VMUk8x9bRC8dIDT5SMyCnACc2AqP7D9h4x9GOEiqSdLN1RfzdB89SEP6/swRKjorwK0amZx1r2jxJ5OMnTRLyJE3Gk3cYUaBWuiAVN1JaExuwVmoMGsxfkW37dON8iMmLgsZqQ1c3MIeC4lGLjBu6uHG4byS1me5saLgFYrPXxzocyQsSEY4CiKRRvWyzileBjRk1Eo2f96xqnGzsjO1YHBBvJDxxMlpHiRF7KeH9n2JPhClL5jw3wcNJcCCCFOxy0f1T/9Rs7tTKzzwlcKqYYTbxDuwgnb9NV5fczQU+HwKSOkd+BYLPI9KaofZKxL0ndVnw5bIRk3x30b0VXvanjt+mU6fii5moQkeYJN0HCsSQB8fLDRLvC+t/aOuvK2dmtqzOglJ54kp4naF/I+fVob7Qs29SncRmvPv9G/50bMsP+ozEW37yof5QqEa5vs6h5+zZ6PhbCrmqG9jO2gtSSLgT16ULc1EPgeCiCr2jEOaNZ9ZuubqNE9sBS/nLVUAD2hnwuotZzkQyoP4qjsMqCwuhyjWemnrRrc7+otjmWm6Bfm3R4hklo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(39860400002)(136003)(376002)(396003)(366004)(346002)(26005)(186003)(38100700002)(6916009)(8936002)(36756003)(53546011)(2616005)(8676002)(16576012)(4326008)(956004)(316002)(478600001)(4744005)(54906003)(31686004)(2906002)(86362001)(6486002)(66946007)(66556008)(31696002)(5660300002)(66476007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dFhndkZXZ0FMdkkzbUUrM1hycWVzTFpsU0o0M0tyLys2ejN5QzZ4QXhaQTVY?=
 =?utf-8?B?ZjNFSnJvK0MzYm00aHUyTmxMR0I4cmJwd1ZveFFoOWdrYXFHQzNGWkcyWXhV?=
 =?utf-8?B?cnZiSnB1VDBUTkpQNEYyWldmZjRCNmFCMlM3ZWVJcWhRdHdrVnluMDIwTTRr?=
 =?utf-8?B?bUJLMWx1UEZDdzhSbnVLWGhXRkJVVlJYaTcvbFRaMmhlKzNmYXpwLzdwWjFa?=
 =?utf-8?B?b2UzLzR1Skc0ako2enRUUjJaV0NoNnB5L2FYOXA3WUZJOW56OTd5dmtTZk50?=
 =?utf-8?B?UTlsTTJzdmlLU01BTG9BeUhFQ2xiV21Mc2lPUDBsRlBuZ3g0TkwzZ1ovdXkw?=
 =?utf-8?B?MDRFd0JJemZncy8xTE4zcmQ1U2h5VTBmdERFU1ZwWUtpQnNsMWpOOGVxWGRW?=
 =?utf-8?B?RmJPRjQwczZ1bGgvaHZHTW1VUHdBcmdvUjE3VFJhVEhTRE1Xejl1TFZsYXZk?=
 =?utf-8?B?b2dJNnluRGw1SHN5UFpPVTR2Z3pNMm5WSEwwWlNVN0EyTWNYYXlzWEV0NXE5?=
 =?utf-8?B?eTVsbHBVdnhMME0zaTRHQXh6VTM3SE4zYjB0SktBc0tkMFFUUXd3Tk1rd1Zi?=
 =?utf-8?B?bEE4UFFnYkthcklPRXB0RVAvWW8yck5yVEdPZXF3YjFWUXdqWjdBME1kWkRw?=
 =?utf-8?B?UCs2ek1yZDFvbHhsakx4bzBvT1V0Und5YnVoMkUrczlEelo3dmdVZWIrUUhK?=
 =?utf-8?B?NFFMZURucFJqS2hhd3UrY09TWk84SnREbWwzekFUU2Q1anlLcUxEUFRaSjNS?=
 =?utf-8?B?MTdOMlpOODAyelRFaWlENDlSVTFRRWRidFFianMyMUJrcnptRG5JSm9KQ01C?=
 =?utf-8?B?N0hId3JsVzNuRGl4Mms0c05EWXZ3dHVpTFVtT0g3K1NjbnRZRzM0ZkV0VFQ1?=
 =?utf-8?B?NTFGTTUxZ1REakxTWFo5ZWRoZWErc2MxbmxqVU11RitzRjRCWS9NNmhnZ0Zv?=
 =?utf-8?B?cHNjR2pqKzl3U1NFZUpxd01EaitTdjBUZ2Q4U3BMZTlyTUJzR3VETXo4dU5E?=
 =?utf-8?B?dUoyQ0J6UzJTSHBuWU9QWFg2WFcraDdQTWJyRklJbVZobncvV2lUbXdnekt3?=
 =?utf-8?B?UU8yZnVIaFhha1RqNlAraVE2a2UzeGxJU29yT09CTEV0V0orN2RqMnl6S2lw?=
 =?utf-8?B?UkN1ZUxrak9iZlJrTm5zZHdaMzhwY2tBZzR3eEpyaEdhbDE1M3dETG5Qc3pY?=
 =?utf-8?B?dGsyd0ZtZW4rRm92QXFGVSszTko1cGdOeGxrcUM4aWZFL1JDanEzZHo1OUkz?=
 =?utf-8?B?SGt6ZVhQZ0NPU3VVa240TkZSVGs5ZFM3Tk54NWIxN1hOeG9LczVWVzh6a3c4?=
 =?utf-8?B?UktDN3Byc0pKZ2swT0puZWZEOUVTcHZUUmROR2lMSUxxUlNyV1JQZkJDOEl2?=
 =?utf-8?B?dUh6QXZZdmJuUUUwU09SS0J3czJVZzZzb0hLS2ZhMEQxQitON3RSK2RvZDUz?=
 =?utf-8?B?ZC9hVFV0dUtURnVWbFVzdjlPbkxmenBaeFdidlFZc1ZWMDA5Zy9QQm9aOVNq?=
 =?utf-8?B?cWlGUDdaSWFQVk0waEdEbGd0am5BSDI3YU5XSlV6SjlCZ0ozZHhrQ05heHF5?=
 =?utf-8?B?ZnFxSVJ3LzdhMllUemZLdVRkb3E0S3VzaitsYWhJVXRaOVBuRnpRbXRpY0ds?=
 =?utf-8?B?R3B1SFk5RHJFOGh6alpzS2w1aVVEa3hTek9lYW9GVHZ1LzQ4Y3kxdWNJYklU?=
 =?utf-8?B?TFU2THQ4cXdaVGRza2ZWcjZzWjdqMGg1Z0U4RFFrSEFrb1RVSWowc21VdmtH?=
 =?utf-8?Q?y9yVqGLuh0hxwJ5sb3yt+I02OpfiSmL837/kmdE?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 106d931e-0bdd-4cd4-32bb-08d9630aa550
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2021 12:12:42.5294
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: eXzoijH4WwBKtP6e4mnQ1AVT+3kJVf4Nk4dKaoHWyXqITlNDK4ieJCT9LeQCnvISqm5PFzwJpqyyVngB/GVdyA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5328

On 19.08.2021 14:02, Rahul Singh wrote:
> --- a/xen/arch/arm/domctl.c
> +++ b/xen/arch/arm/domctl.c
> @@ -173,6 +173,8 @@ long arch_do_domctl(struct xen_domctl *domctl, struct domain *d,
>  
>          return rc;
>      }
> +    case XEN_DOMCTL_ioport_permission:
> +        return 0;

I don't think returning success for something that doesn't make
much sense in the first place (there aren't truly "I/O ports" on
Arm afaik) is a good idea. Instead I think the tool stack should
avoid making arch-specific calls in an arch-independent way.

> --- a/xen/arch/arm/physdev.c
> +++ b/xen/arch/arm/physdev.c
> @@ -42,6 +42,9 @@ int do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>          break;
>      }
>  #endif
> +    case PHYSDEVOP_unmap_pirq:
> +    case PHYSDEVOP_map_pirq:
> +        break;

Less sure here, but I'm not convinced either.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 12:18:47 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 12:18:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168712.308015 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGh0L-0005JW-GU; Thu, 19 Aug 2021 12:18:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168712.308015; Thu, 19 Aug 2021 12:18: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 1mGh0L-0005JP-Da; Thu, 19 Aug 2021 12:18:41 +0000
Received: by outflank-mailman (input) for mailman id 168712;
 Thu, 19 Aug 2021 12:18: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 1mGh0J-0005JJ-Ng
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 12:18: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 1mGgzr-00073E-Q4; Thu, 19 Aug 2021 12:18:11 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mGgzr-0001Yf-J3; Thu, 19 Aug 2021 12:18:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=pHMKAREm+s+DDHZ/m96rIl8yCzk6Nb4Z4r+rxzNiqR4=; b=3UDNebj37/e1scTdEdZJoWamXW
	h7XCXgR73VtPiSNSs7oRbMDLp01TxeT1ax88mgH4TyYKCMYw1MwP3HI+g3AbxeRRmGDOVU7W1fEou
	TJOcQo0qs3R4PZgDNQTF/nDrI86yQJ4/jDpYggGsjZyYEbIUvrDLg7DT8eijUlcyGq4g=;
Subject: Re: [PATCH v1 01/14] xen/pci: Refactor MSI code that implements MSI
 functionality within XEN
To: Rahul Singh <rahul.singh@arm.com>, xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com, Jan Beulich <jbeulich@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 Ian Jackson <iwj@xenproject.org>, Stefano Stabellini
 <sstabellini@kernel.org>, Paul Durrant <paul@xen.org>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>
References: <cover.1629366665.git.rahul.singh@arm.com>
 <d0b7b457762d481b19c8da6c2d55ff4acb4d6291.1629366665.git.rahul.singh@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <9022cf38-532f-05bd-d78d-50f46cdbd8f5@xen.org>
Date: Thu, 19 Aug 2021 13:18:08 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <d0b7b457762d481b19c8da6c2d55ff4acb4d6291.1629366665.git.rahul.singh@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Rahul,

On 19/08/2021 13:02, Rahul Singh wrote:
> MSI code that implements MSI functionality to support MSI within XEN is
> not usable on ARM. Move the code under CONFIG_HAS_PCI_MSI flag to gate

Can you clarify what you mean by not usable? Is it because we lack of 
support or we have no plan to use it?

Cheers,

> the code for ARM.
> 
> No functional change intended.
> 
> Signed-off-by: Rahul Singh <rahul.singh@arm.com>
> ---
>   xen/arch/x86/Kconfig             |  1 +
>   xen/drivers/passthrough/Makefile |  1 +
>   xen/drivers/passthrough/msi.c    | 96 ++++++++++++++++++++++++++++++++
>   xen/drivers/passthrough/pci.c    | 54 +++++-------------
>   xen/drivers/pci/Kconfig          |  4 ++
>   xen/include/xen/msi.h            | 56 +++++++++++++++++++
>   xen/xsm/flask/hooks.c            |  8 +--
>   7 files changed, 175 insertions(+), 45 deletions(-)
>   create mode 100644 xen/drivers/passthrough/msi.c
>   create mode 100644 xen/include/xen/msi.h
> 
> diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
> index 9b164db641..7b46ee98c5 100644
> --- a/xen/arch/x86/Kconfig
> +++ b/xen/arch/x86/Kconfig
> @@ -19,6 +19,7 @@ config X86
>   	select HAS_NS16550
>   	select HAS_PASSTHROUGH
>   	select HAS_PCI
> +	select HAS_PCI_MSI
>   	select HAS_PDX
>   	select HAS_SCHED_GRANULARITY
>   	select HAS_UBSAN
> diff --git a/xen/drivers/passthrough/Makefile b/xen/drivers/passthrough/Makefile
> index 445690e3e5..a5efa22714 100644
> --- a/xen/drivers/passthrough/Makefile
> +++ b/xen/drivers/passthrough/Makefile
> @@ -7,3 +7,4 @@ obj-y += iommu.o
>   obj-$(CONFIG_HAS_PCI) += pci.o
>   obj-$(CONFIG_HAS_DEVICE_TREE) += device_tree.o
>   obj-$(CONFIG_HAS_PCI) += ats.o
> +obj-$(CONFIG_HAS_PCI_MSI) += msi.o
> diff --git a/xen/drivers/passthrough/msi.c b/xen/drivers/passthrough/msi.c
> new file mode 100644
> index 0000000000..15ad0f8160
> --- /dev/null
> +++ b/xen/drivers/passthrough/msi.c
> @@ -0,0 +1,96 @@
> +/*
> + * Copyright (C) 2008,  Netronome 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>
> +#include <xen/pci.h>
> +#include <asm/msi.h>
> +#include <asm/hvm/io.h>
> +
> +int pdev_msix_assign(struct domain *d, struct pci_dev *pdev)
> +{
> +    int rc;
> +
> +    if ( pdev->msix )
> +    {
> +        rc = pci_reset_msix_state(pdev);
> +        if ( rc )
> +            return rc;
> +        msixtbl_init(d);
> +    }
> +
> +    return 0;
> +}
> +
> +int pdev_msi_init(struct pci_dev *pdev)
> +{
> +    unsigned int pos;
> +
> +    INIT_LIST_HEAD(&pdev->msi_list);
> +
> +    pos = pci_find_cap_offset(pdev->seg, pdev->bus, PCI_SLOT(pdev->devfn),
> +                              PCI_FUNC(pdev->devfn), PCI_CAP_ID_MSI);
> +    if ( pos )
> +    {
> +        uint16_t ctrl = pci_conf_read16(pdev->sbdf, msi_control_reg(pos));
> +
> +        pdev->msi_maxvec = multi_msi_capable(ctrl);
> +    }
> +
> +    pos = pci_find_cap_offset(pdev->seg, pdev->bus, PCI_SLOT(pdev->devfn),
> +                              PCI_FUNC(pdev->devfn), PCI_CAP_ID_MSIX);
> +    if ( pos )
> +    {
> +        struct arch_msix *msix = xzalloc(struct arch_msix);
> +        uint16_t ctrl;
> +
> +        if ( !msix )
> +            return -ENOMEM;
> +
> +        spin_lock_init(&msix->table_lock);
> +
> +        ctrl = pci_conf_read16(pdev->sbdf, msix_control_reg(pos));
> +        msix->nr_entries = msix_table_size(ctrl);
> +
> +        pdev->msix = msix;
> +    }
> +
> +    return 0;
> +}
> +
> +void pdev_msi_deinit(struct pci_dev *pdev)
> +{
> +    XFREE(pdev->msix);
> +}
> +
> +void pdev_dump_msi(const struct pci_dev *pdev)
> +{
> +    const struct msi_desc *msi;
> +
> +    printk("- MSIs < ");
> +    list_for_each_entry ( msi, &pdev->msi_list, list )
> +        printk("%d ", msi->irq);
> +    printk(">");
> +}
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * tab-width: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
> index fc4fa2e5c3..67f5686ab6 100644
> --- a/xen/drivers/passthrough/pci.c
> +++ b/xen/drivers/passthrough/pci.c
> @@ -32,8 +32,8 @@
>   #include <xen/softirq.h>
>   #include <xen/tasklet.h>
>   #include <xen/vpci.h>
> +#include <xen/msi.h>
>   #include <xsm/xsm.h>
> -#include <asm/msi.h>
>   #include "ats.h"
>   
>   struct pci_seg {
> @@ -314,6 +314,7 @@ static struct pci_dev *alloc_pdev(struct pci_seg *pseg, u8 bus, u8 devfn)
>   {
>       struct pci_dev *pdev;
>       unsigned int pos;
> +    int rc;
>   
>       list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )
>           if ( pdev->bus == bus && pdev->devfn == devfn )
> @@ -327,35 +328,12 @@ 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;
> -    INIT_LIST_HEAD(&pdev->msi_list);
> -
> -    pos = pci_find_cap_offset(pseg->nr, bus, PCI_SLOT(devfn), PCI_FUNC(devfn),
> -                              PCI_CAP_ID_MSI);
> -    if ( pos )
> -    {
> -        uint16_t ctrl = pci_conf_read16(pdev->sbdf, msi_control_reg(pos));
> -
> -        pdev->msi_maxvec = multi_msi_capable(ctrl);
> -    }
>   
> -    pos = pci_find_cap_offset(pseg->nr, bus, PCI_SLOT(devfn), PCI_FUNC(devfn),
> -                              PCI_CAP_ID_MSIX);
> -    if ( pos )
> +    rc = pdev_msi_init(pdev);
> +    if ( rc )
>       {
> -        struct arch_msix *msix = xzalloc(struct arch_msix);
> -        uint16_t ctrl;
> -
> -        if ( !msix )
> -        {
> -            xfree(pdev);
> -            return NULL;
> -        }
> -        spin_lock_init(&msix->table_lock);
> -
> -        ctrl = pci_conf_read16(pdev->sbdf, msix_control_reg(pos));
> -        msix->nr_entries = msix_table_size(ctrl);
> -
> -        pdev->msix = msix;
> +        xfree(pdev);
> +        return NULL;
>       }
>   
>       list_add(&pdev->alldevs_list, &pseg->alldevs_list);
> @@ -449,7 +427,7 @@ static void free_pdev(struct pci_seg *pseg, struct pci_dev *pdev)
>       }
>   
>       list_del(&pdev->alldevs_list);
> -    xfree(pdev->msix);
> +    pdev_msi_deinit(pdev);
>       xfree(pdev);
>   }
>   
> @@ -1271,18 +1249,16 @@ bool_t pcie_aer_get_firmware_first(const struct pci_dev *pdev)
>   static int _dump_pci_devices(struct pci_seg *pseg, void *arg)
>   {
>       struct pci_dev *pdev;
> -    struct msi_desc *msi;
>   
>       printk("==== segment %04x ====\n", pseg->nr);
>   
>       list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )
>       {
> -        printk("%pp - %pd - node %-3d - MSIs < ",
> +        printk("%pp - %pd - node %-3d ",
>                  &pdev->sbdf, pdev->domain,
>                  (pdev->node != NUMA_NO_NODE) ? pdev->node : -1);
> -        list_for_each_entry ( msi, &pdev->msi_list, list )
> -               printk("%d ", msi->irq);
> -        printk(">\n");
> +        pdev_dump_msi(pdev);
> +        printk("\n");
>       }
>   
>       return 0;
> @@ -1422,13 +1398,9 @@ static int assign_device(struct domain *d, u16 seg, u8 bus, u8 devfn, u32 flag)
>       ASSERT(pdev && (pdev->domain == hardware_domain ||
>                       pdev->domain == dom_io));
>   
> -    if ( pdev->msix )
> -    {
> -        rc = pci_reset_msix_state(pdev);
> -        if ( rc )
> -            goto done;
> -        msixtbl_init(d);
> -    }
> +    rc = pdev_msix_assign(d, pdev);
> +    if ( rc )
> +        goto done;
>   
>       pdev->fault.count = 0;
>   
> diff --git a/xen/drivers/pci/Kconfig b/xen/drivers/pci/Kconfig
> index 7da03fa13b..c6a7bc8007 100644
> --- a/xen/drivers/pci/Kconfig
> +++ b/xen/drivers/pci/Kconfig
> @@ -1,3 +1,7 @@
>   
>   config HAS_PCI
>   	bool
> +
> +config HAS_PCI_MSI
> +	bool
> +	depends on HAS_PCI
> diff --git a/xen/include/xen/msi.h b/xen/include/xen/msi.h
> new file mode 100644
> index 0000000000..b2d5bc6f9d
> --- /dev/null
> +++ b/xen/include/xen/msi.h
> @@ -0,0 +1,56 @@
> +/*
> + * Copyright (C) 2008,  Netronome 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 __XEN_MSI_H_
> +#define __XEN_MSI_H_
> +
> +#ifdef CONFIG_HAS_PCI_MSI
> +
> +#include <asm/msi.h>
> +
> +int pdev_msix_assign(struct domain *d, struct pci_dev *pdev);
> +int pdev_msi_init(struct pci_dev *pdev);
> +void pdev_msi_deinit(struct pci_dev *pdev);
> +void pdev_dump_msi(const struct pci_dev *pdev);
> +
> +#else /* !CONFIG_HAS_PCI_MSI */
> +static inline int pdev_msix_assign(struct domain *d, struct pci_dev *pdev)
> +{
> +    return 0;
> +}
> +
> +static inline int pdev_msi_init(struct pci_dev *pdev)
> +{
> +    return 0;
> +}
> +
> +static inline void pdev_msi_deinit(struct pci_dev *pdev) {}
> +static inline void pci_cleanup_msi(struct pci_dev *pdev) {}
> +static inline void pdev_dump_msi(const struct pci_dev *pdev) {}
> +
> +#endif /* CONFIG_HAS_PCI_MSI */
> +
> +#endif /* __XEN_MSI_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/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
> index f1a1217c98..fdcfeb984c 100644
> --- a/xen/xsm/flask/hooks.c
> +++ b/xen/xsm/flask/hooks.c
> @@ -21,7 +21,7 @@
>   #include <xen/guest_access.h>
>   #include <xen/xenoprof.h>
>   #include <xen/iommu.h>
> -#ifdef CONFIG_HAS_PCI
> +#ifdef CONFIG_HAS_PCI_MSI
>   #include <asm/msi.h>
>   #endif
>   #include <public/xen.h>
> @@ -114,7 +114,7 @@ static int get_irq_sid(int irq, u32 *sid, struct avc_audit_data *ad)
>           }
>           return security_irq_sid(irq, sid);
>       }
> -#ifdef CONFIG_HAS_PCI
> +#ifdef CONFIG_HAS_PCI_MSI
>       {
>           struct irq_desc *desc = irq_to_desc(irq);
>           if ( desc->msi_desc && desc->msi_desc->dev ) {
> @@ -874,7 +874,7 @@ static int flask_map_domain_pirq (struct domain *d)
>   static int flask_map_domain_msi (struct domain *d, int irq, const void *data,
>                                    u32 *sid, struct avc_audit_data *ad)
>   {
> -#ifdef CONFIG_HAS_PCI
> +#ifdef CONFIG_HAS_PCI_MSI
>       const struct msi_info *msi = data;
>       u32 machine_bdf = (msi->seg << 16) | (msi->bus << 8) | msi->devfn;
>   
> @@ -940,7 +940,7 @@ static int flask_unmap_domain_pirq (struct domain *d)
>   static int flask_unmap_domain_msi (struct domain *d, int irq, const void *data,
>                                      u32 *sid, struct avc_audit_data *ad)
>   {
> -#ifdef CONFIG_HAS_PCI
> +#ifdef CONFIG_HAS_PCI_MSI
>       const struct pci_dev *pdev = data;
>       u32 machine_bdf = (pdev->seg << 16) | (pdev->bus << 8) | pdev->devfn;
>   
> 

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 12:23:04 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 12:23:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168717.308026 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGh4a-0006oC-1T; Thu, 19 Aug 2021 12:23:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168717.308026; Thu, 19 Aug 2021 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 1mGh4Z-0006o5-UK; Thu, 19 Aug 2021 12:23:03 +0000
Received: by outflank-mailman (input) for mailman id 168717;
 Thu, 19 Aug 2021 12:23:03 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/7+2=NK=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mGh4Y-0006nz-U7
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 12:23:02 +0000
Received: from smtp-out2.suse.de (unknown [195.135.220.29])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 31e07453-00e8-11ec-a5fa-12813bfff9fa;
 Thu, 19 Aug 2021 12:23:01 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 CE8A91FD93;
 Thu, 19 Aug 2021 12:23:00 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 8F53B139BA;
 Thu, 19 Aug 2021 12:23:00 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id yTZbISRNHmGeZgAAGKfGzw
 (envelope-from <jgross@suse.com>); Thu, 19 Aug 2021 12:23:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 31e07453-00e8-11ec-a5fa-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1629375780; 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=mpjZZaahDEDN0LO+F12Ru8u3vG0uLv/OyMWdUHhs9G4=;
	b=U+NwADZGl4iHI0Md6uh/yalRc0Cip0IF+XMTg7v+smb2ZG25YH6sNPh+X/NSTEmgMghfM8
	S9JysDsP1qhSUQONldrtfHVTH0zvRjR6TX9bFJFfWqrYQrVY3UtF/IZh1tz5eRtuddsVQg
	Bj210M429MpEMX6fuqk47mm+wYKby0c=
Subject: Re: [PATCH v2] tests/xenstore: link in librt if necessary
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 Julien Grall <julien@xen.org>
References: <3efcfc3d-54c8-7308-2288-9f57ed0fca0f@suse.com>
From: Juergen Gross <jgross@suse.com>
Message-ID: <c5df4be6-22e5-5f31-9ee5-1bc3b77b9ded@suse.com>
Date: Thu, 19 Aug 2021 14:23:00 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <3efcfc3d-54c8-7308-2288-9f57ed0fca0f@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="K5u5HoC8sHD2RJwacFHcoQZU7VafpbMr6"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--K5u5HoC8sHD2RJwacFHcoQZU7VafpbMr6
Content-Type: multipart/mixed; boundary="KAqsuiUsjLWMcKE6GIOO1jl1YfKUSYD4g";
 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: Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 Julien Grall <julien@xen.org>
Message-ID: <c5df4be6-22e5-5f31-9ee5-1bc3b77b9ded@suse.com>
Subject: Re: [PATCH v2] tests/xenstore: link in librt if necessary
References: <3efcfc3d-54c8-7308-2288-9f57ed0fca0f@suse.com>
In-Reply-To: <3efcfc3d-54c8-7308-2288-9f57ed0fca0f@suse.com>

--KAqsuiUsjLWMcKE6GIOO1jl1YfKUSYD4g
Content-Type: multipart/mixed;
 boundary="------------CCA6EAE118CBFD21B4D6921D"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------CCA6EAE118CBFD21B4D6921D
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 17.08.21 16:18, Jan Beulich wrote:
> Old enough glibc has clock_gettime() in librt.so, hence the library
> needs to be specified to the linker. Newer glibc has the symbol
> available in both libraries, so make sure that libc.so is preferred (to=

> avoid an unnecessary dependency on librt.so).
>=20
> Fixes: 93c9edbef51b ("tests/xenstore: Rework Makefile")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Juergen Gross <jgross@suse.com>


Juergen

--------------CCA6EAE118CBFD21B4D6921D
Content-Type: application/pgp-keys;
 name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Transfer-Encoding: quoted-printable
Content-Description: OpenPGP public key
Content-Disposition: attachment;
 filename="OpenPGP_0xB0DE9DD628BF132F.asc"

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOBy=
cWx
w3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJvedYm8O=
f8Z
d621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y=
9bf
IhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xq=
G7/
377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR=
3Jv
c3MgPGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsEFgIDA=
QIe
AQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4FUGNQH2lvWAUy+dnyT=
hpw
dtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3TyevpB0CA3dbBQp0OW0fgCetToGIQrg0=
MbD
1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbv=
oPH
Z8SlM4KWm8rG+lIkGurqqu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v=
5QL
+qHI3EIPtyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVyZ=
2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJCAcDAgEGFQgCC=
QoL
BBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4RF7HoZhPVPogNVbC4YA6lW7Dr=
Wf0
teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz78X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC=
/nu
AFVGy+67q2DH8As3KPu0344TBDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0Lh=
ITT
d9jLzdDad1pQSToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLm=
XBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkMnQfvUewRz=
80h
SnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMBAgAjBQJTjHDXAhsDBwsJC=
AcD
AgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJn=
FOX
gMLdBQgBlVPO3/D9R8LtF9DBAFPNhlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1=
jnD
kfJZr6jrbjgyoZHiw/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0=
N51
N5JfVRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwPOoE+l=
otu
fe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK/1xMI3/+8jbO0tsn1=
tqS
EUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuZGU+wsB5BBMBAgAjBQJTjHDrA=
hsD
BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3=
g3O
ZUEBmDHVVbqMtzwlmNC4k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5=
dM7
wRqzgJpJwK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu5=
D+j
LRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzBTNh30FVKK1Evm=
V2x
AKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37IoN1EblHI//x/e2AaIHpzK5h88N=
Eaw
QsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpW=
nHI
s98ndPUDpnoxWQugJ6MpMncr0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZR=
wgn
BC5mVM6JjQ5xDk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNV=
bVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mmwe0icXKLk=
pEd
IXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0Iv3OOImwTEe4co3c1mwARA=
QAB
wsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMvQ/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEw=
Tbe
8YFsw2V/Buv6Z4Mysln3nQK5ZadD534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1=
vJz
Q1fOU8lYFpZXTXIHb+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8=
VGi
wXvTyJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqcsuylW=
svi
uGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5BjR/i1DG86lem3iBDX=
zXs
ZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------CCA6EAE118CBFD21B4D6921D--

--KAqsuiUsjLWMcKE6GIOO1jl1YfKUSYD4g--

--K5u5HoC8sHD2RJwacFHcoQZU7VafpbMr6
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmEeTSQFAwAAAAAACgkQsN6d1ii/Ey8e
UAf+JC/oZkzHZr01fZwglZ4ZJl71b8uk7+7MUFoBULnyrcACJqd4KqWap5DFarcr8YqGz6GfNZJr
WypsD2odYdg0pM5Mw4X/NpuRaX19jMc+akeGZLzg79EU7l8uNUIpPNFaPTMfwdo4X9P2KYIJSnMN
F8WKMplSGAy16znRIokSLxwzzO5ReiFfwjSCf4XCs+TVcJPYSoHUHb9aW3vJ1FR216ygDSysg0xo
h4pwwRB+N9gnxz0ESsbQUaSZGjG0bCNV9rPpVUxctXSoJkEiHiJ/UE1WxX/HI77M7/ear2fZNSYg
w+AU8rPzIhO5IRtpMVdssT8l6hgu++0DlsHwlm/npw==
=Wmfh
-----END PGP SIGNATURE-----

--K5u5HoC8sHD2RJwacFHcoQZU7VafpbMr6--


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 12:28:19 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 12:28:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168720.308036 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGh9b-0007Td-JE; Thu, 19 Aug 2021 12:28:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168720.308036; Thu, 19 Aug 2021 12:28:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGh9b-0007TW-Fw; Thu, 19 Aug 2021 12:28:15 +0000
Received: by outflank-mailman (input) for mailman id 168720;
 Thu, 19 Aug 2021 12:28: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 1mGh9Z-0007TQ-Ve
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 12:28:13 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mGh9Z-0007Ds-N1; Thu, 19 Aug 2021 12:28:13 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mGh9Z-0002Xs-G9; Thu, 19 Aug 2021 12:28:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=Oy8D/CULkjD6YM207/z3GibxQbT8xRF8CORONGvXl6I=; b=zWR/YthcMWeEpUUGQc8lCuYWeo
	sETi21dJFg9tjfe5CX/sV2XgdA+cnVDOGxRA2NZjOLaZYZus1ovG981ddA0qflcfgsiUxFFKBqAxC
	5Me2ZEF9j2JZHBgsfcUY7N9HAPbHBJKtLvxuztJ5OeU+5SiIoR7Eof6Zo5Kq1bN+NjbY=;
Subject: Re: [PATCH v1 02/14] xen/pci: solve compilation error on ARM with
 HAS_PCI enabled
To: Rahul Singh <rahul.singh@arm.com>, xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1629366665.git.rahul.singh@arm.com>
 <c6009c327eaed66206fa093732ab6672530acd27.1629366665.git.rahul.singh@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <a0d06e37-ec02-9968-01d7-907176c7c9b3@xen.org>
Date: Thu, 19 Aug 2021 13:28:11 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <c6009c327eaed66206fa093732ab6672530acd27.1629366665.git.rahul.singh@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit

Hi Rahul,

On 19/08/2021 13:02, Rahul Singh wrote:
> Compilation error is observed when HAS_PCI is enabled for ARM
> architecture.

To be pedantic, what you are trying to solve is not a compilation error 
but the fact that the PCI mandates helpers that doesn't yet exist on 
Arm. So...

> Add definition for arch_iommu_use_permitted() and
> arch_pci_clean_pirqs().Implement dummy functions for pci_conf_read*() to
> fix compilation error.

... I am not really in favor of adding dummy implementation here. 
Instead, the series should be re-ordered so we add the pci-access 
helpers first and then enable HAS_PCI towards the end of the series.

> pci.c: In function ‘deassign_device’:
> pci.c:849:49: error: implicit declaration of function ‘pci_to_dev’;
> did you mean ‘dt_to_dev’? [-Werror=implicit-function-declaration]
>              pci_to_dev(pdev));
> 
> pci.c:18: undefined reference to `pci_conf_read16’
> pci.c:880: undefined reference to `arch_pci_clean_pirqs’
> pci.c:1392: undefined reference to `arch_iommu_use_permitted'
> 
> Signed-off-by: Rahul Singh <rahul.singh@arm.com>
> ---
>   xen/arch/arm/Makefile               |  1 +
>   xen/arch/arm/pci/Makefile           |  2 +
>   xen/arch/arm/pci/pci-access.c       | 61 +++++++++++++++++++++++++++++
>   xen/arch/arm/pci/pci.c              | 32 +++++++++++++++
>   xen/drivers/passthrough/arm/iommu.c |  5 +++
>   xen/include/asm-arm/pci.h           | 33 ++++++++++++++--
>   6 files changed, 131 insertions(+), 3 deletions(-)
>   create mode 100644 xen/arch/arm/pci/Makefile
>   create mode 100644 xen/arch/arm/pci/pci-access.c
>   create mode 100644 xen/arch/arm/pci/pci.c
> 
> diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
> index 3d3b97b5b4..0e14a5e5c8 100644
> --- a/xen/arch/arm/Makefile
> +++ b/xen/arch/arm/Makefile
> @@ -6,6 +6,7 @@ ifneq ($(CONFIG_NO_PLAT),y)
>   obj-y += platforms/
>   endif
>   obj-$(CONFIG_TEE) += tee/
> +obj-$(CONFIG_HAS_PCI) += pci/
>   
>   obj-$(CONFIG_HAS_ALTERNATIVE) += alternative.o
>   obj-y += bootfdt.init.o
> diff --git a/xen/arch/arm/pci/Makefile b/xen/arch/arm/pci/Makefile
> new file mode 100644
> index 0000000000..a9ee0b9b44
> --- /dev/null
> +++ b/xen/arch/arm/pci/Makefile
> @@ -0,0 +1,2 @@
> +obj-y += pci.o
> +obj-y += pci-access.o
> diff --git a/xen/arch/arm/pci/pci-access.c b/xen/arch/arm/pci/pci-access.c
> new file mode 100644
> index 0000000000..b938047c03
> --- /dev/null
> +++ b/xen/arch/arm/pci/pci-access.c
> @@ -0,0 +1,61 @@
> +/*
> + * Copyright (C) 2021 Arm Ltd.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program.  If not, see <http://www.gnu.org/licenses/>.
> + */
> +
> +#include <xen/pci.h>
> +
> +static uint32_t pci_config_read(pci_sbdf_t sbdf, unsigned int reg,
> +                                unsigned int len)
> +{
> +    return ~0U;
> +}
> +
> +static void pci_config_write(pci_sbdf_t sbdf, unsigned int reg,
> +                             unsigned int len, uint32_t val)
> +{
> +}
> +
> +/*
> + * Wrappers for all PCI configuration access functions.
> + */
> +
> +#define PCI_OP_WRITE(size, type)                                            \
> +    void pci_conf_write##size (pci_sbdf_t sbdf,unsigned int reg, type val)  \
> +{                                                                           \
> +    pci_config_write(sbdf, reg, size / 8, val);                             \
> +}
> +
> +#define PCI_OP_READ(size, type)                                             \
> +    type pci_conf_read##size (pci_sbdf_t sbdf, unsigned int reg)            \
> +{                                                                           \
> +    return pci_config_read(sbdf, reg, size / 8);                            \
> +}
> +
> +PCI_OP_READ(8, u8)
> +PCI_OP_READ(16, u16)
> +PCI_OP_READ(32, u32)
> +PCI_OP_WRITE(8, u8)
> +PCI_OP_WRITE(16, u16)
> +PCI_OP_WRITE(32, u32)
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * tab-width: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> diff --git a/xen/arch/arm/pci/pci.c b/xen/arch/arm/pci/pci.c
> new file mode 100644
> index 0000000000..dc55d23778
> --- /dev/null
> +++ b/xen/arch/arm/pci/pci.c
> @@ -0,0 +1,32 @@
> +/*
> + * Copyright (C) 2021 Arm Ltd.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program.  If not, see <http://www.gnu.org/licenses/>.
> + */
> +
> +#include <xen/pci.h>
> +
> +int arch_pci_clean_pirqs(struct domain *d)
> +{
> +    return 0;
> +}

Please add a comment explaining why this just returns 0.

> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * tab-width: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> diff --git a/xen/drivers/passthrough/arm/iommu.c b/xen/drivers/passthrough/arm/iommu.c
> index db3b07a571..fdec1c5547 100644
> --- a/xen/drivers/passthrough/arm/iommu.c
> +++ b/xen/drivers/passthrough/arm/iommu.c
> @@ -135,3 +135,8 @@ void arch_iommu_domain_destroy(struct domain *d)
>   void __hwdom_init arch_iommu_hwdom_init(struct domain *d)
>   {
>   }
> +
> +bool arch_iommu_use_permitted(const struct domain *d)
> +{
> +    return true;
> +}

Please add a comment explaining why returning true is always fine.

> diff --git a/xen/include/asm-arm/pci.h b/xen/include/asm-arm/pci.h
> index de13359f65..61e43da088 100644
> --- a/xen/include/asm-arm/pci.h
> +++ b/xen/include/asm-arm/pci.h
> @@ -1,7 +1,34 @@
> -#ifndef __X86_PCI_H__
> -#define __X86_PCI_H__
> +/*
> + * Copyright (C) 2021 Arm Ltd.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program.  If not, see <http://www.gnu.org/licenses/>.
> + */
>   
> +#ifndef __ARM_PCI_H__
> +#define __ARM_PCI_H__
> +
> +#ifdef CONFIG_HAS_PCI
> +
> +#define pci_to_dev(pcidev) (&(pcidev)->arch.dev)
> +
> +/* Arch pci dev struct */
>   struct arch_pci_dev {
> +    struct device dev;
>   };
>   
> -#endif /* __X86_PCI_H__ */
> +#else   /*!CONFIG_HAS_PCI*/
> +
> +struct arch_pci_dev { };
> +
> +#endif  /*!CONFIG_HAS_PCI*/
> +#endif /* __ARM_PCI_H__ */
> 

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 12:31:08 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 12:31:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168726.308047 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGhCN-0000Rp-4G; Thu, 19 Aug 2021 12:31:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168726.308047; Thu, 19 Aug 2021 12: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 1mGhCN-0000Rh-1N; Thu, 19 Aug 2021 12:31:07 +0000
Received: by outflank-mailman (input) for mailman id 168726;
 Thu, 19 Aug 2021 12:31: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 1mGhCM-0000RY-29
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 12:31: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 1mGhCL-0007I4-Qu; Thu, 19 Aug 2021 12:31:05 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mGhCL-0002kK-Kw; Thu, 19 Aug 2021 12:31:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=AXhWntkWZHYRaUjThPbH7OyGQe8kYQCl69QvAbfyu80=; b=T5JwPFCzpndDKlXXINJf/w/8PG
	21StRTuFXb9eMa/d+LfvU2hNbdoKUQiNGndOXLs9ighvfiBpz1PtLXd6mTBV0AHhWyWoHXkqAbLFn
	CPpPjjaCCK452nx5QNRLjzKjHuVdIibgj7p+TR83kixdkaGoL+KaqLw+zbXzQhah4VCI=;
Subject: Re: [PATCH v1 09/14] xen/arm: Add cmdline boot option "pci=on"
To: Rahul Singh <rahul.singh@arm.com>, xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1629366665.git.rahul.singh@arm.com>
 <e279636ea47b7d06056c2f70e76900b8d0b30ee9.1629366665.git.rahul.singh@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <731afb80-bb68-0c66-4f0f-341a46118770@xen.org>
Date: Thu, 19 Aug 2021 13:31:04 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <e279636ea47b7d06056c2f70e76900b8d0b30ee9.1629366665.git.rahul.singh@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Rahul,

On 19/08/2021 13:02, Rahul Singh wrote:
> Add cmdline boot option "pci=on" to enable/disable the PCI init during
> boot.

I read this as "PCI" will be either disabled/enabled for the platform. 
Whereas, I think it will be used to decide whether Xen discover PCI and 
PCI passthrough is supported or not.

Can you also clarify why a user would want to select "pci=off"?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 12:35:52 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 12:35:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168730.308059 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGhGs-0001DA-NT; Thu, 19 Aug 2021 12:35:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168730.308059; Thu, 19 Aug 2021 12:35:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGhGs-0001D3-Jo; Thu, 19 Aug 2021 12:35:46 +0000
Received: by outflank-mailman (input) for mailman id 168730;
 Thu, 19 Aug 2021 12:35: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 1mGhGq-0001Cx-Lt
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 12:35: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 1mGhGo-0007Mx-KH; Thu, 19 Aug 2021 12:35:42 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mGhGo-0003LN-EE; Thu, 19 Aug 2021 12:35:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=n6LIJHD1Xnz+JdeLxZiwmOlO0nKpLSO1NO4GN2lDWRE=; b=sH3ykembIb0Vp5IWYtnl6fq6q3
	4WKTnMB3RS16tld/WstAkoH/ggIwvm5SQP/Qdxg42vl7jbhyRH7FAWyPCa1dc/UbEEXJ5Ox7fLV2l
	NstHi1+g6JlP3zOGOFJZw87YNoDtS8SZJAhUYJEzAINWbrwVXLzkMPX+BCt48C+F3ArQ=;
Subject: Re: [PATCH v1 10/14] xen/arm: Discovering PCI devices and add the PCI
 devices in XEN.
To: Rahul Singh <rahul.singh@arm.com>, xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Jan Beulich <jbeulich@suse.com>
References: <cover.1629366665.git.rahul.singh@arm.com>
 <a7fa6f626b0852c7859fe8d64b01293d1aa8fc0e.1629366665.git.rahul.singh@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <367ea162-9afb-1e30-860a-117abaf38867@xen.org>
Date: Thu, 19 Aug 2021 13:35:40 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <a7fa6f626b0852c7859fe8d64b01293d1aa8fc0e.1629366665.git.rahul.singh@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

(+ Jan)

Hi Rahul,

On 19/08/2021 13:02, Rahul Singh wrote:
> Hardware domain is in charge of doing the PCI enumeration and will
> discover the PCI devices and then will communicate to XEN via hyper
> call PHYSDEVOP_pci_device_add to add the PCI devices in XEN.

There are other PHYSDEVOP operations to add PCI devices. I think it is 
fine to only implement the latest (CC Jan for some opinion and confirm 
this is the latest). However, this ought to be explained in the commit 
message.

Also, public/arch-arm.h will need to be updated as we now support the 
PHYSDEVOP hypercall.

> 
> Signed-off-by: Rahul Singh <rahul.singh@arm.com>
> ---
>   xen/arch/arm/physdev.c | 39 ++++++++++++++++++++++++++++++++++++---
>   1 file changed, 36 insertions(+), 3 deletions(-)
> 
> diff --git a/xen/arch/arm/physdev.c b/xen/arch/arm/physdev.c
> index e91355fe22..ccce8f0eba 100644
> --- a/xen/arch/arm/physdev.c
> +++ b/xen/arch/arm/physdev.c
> @@ -9,12 +9,45 @@
>   #include <xen/errno.h>
>   #include <xen/sched.h>
>   #include <asm/hypercall.h>
> -
> +#include <xen/guest_access.h>
> +#include <xsm/xsm.h>
>   
>   int do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>   {
> -    gdprintk(XENLOG_DEBUG, "PHYSDEVOP cmd=%d: not implemented\n", cmd);
> -    return -ENOSYS;
> +    int ret = 0;
> +
> +    switch ( cmd )
> +    {
> +#ifdef CONFIG_HAS_PCI
> +    case PHYSDEVOP_pci_device_add: {
> +        struct physdev_pci_device_add add;
> +        struct pci_dev_info pdev_info;
> +        nodeid_t node = NUMA_NO_NODE;
> +
> +        ret = -EFAULT;
> +        if ( copy_from_guest(&add, arg, 1) != 0 )
> +            break;
> +
> +        pdev_info.is_extfn = !!(add.flags & XEN_PCI_DEV_EXTFN);
> +        if ( add.flags & XEN_PCI_DEV_VIRTFN )
> +        {
> +            pdev_info.is_virtfn = 1;
> +            pdev_info.physfn.bus = add.physfn.bus;
> +            pdev_info.physfn.devfn = add.physfn.devfn;
> +        }
> +        else
> +            pdev_info.is_virtfn = 0;
> +
> +        ret = pci_add_device(add.seg, add.bus, add.devfn, &pdev_info, node);
> +        break;
> +    }

This is pretty much a copy of the x86 version without the NUMA bit. So I 
think we want to move the implementation in common code.

> +#endif
> +    default:
> +        gdprintk(XENLOG_DEBUG, "PHYSDEVOP cmd=%d: not implemented\n", cmd);
> +        ret = -ENOSYS;
> +    }
> +
> +    return ret;
>   }
>   
>   /*
> 

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 12:41:04 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 12:41:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168735.308070 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGhLv-0002eg-A7; Thu, 19 Aug 2021 12:40:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168735.308070; Thu, 19 Aug 2021 12: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 1mGhLv-0002eZ-76; Thu, 19 Aug 2021 12:40:59 +0000
Received: by outflank-mailman (input) for mailman id 168735;
 Thu, 19 Aug 2021 12:40:58 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mGhLu-0002eT-R8
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 12:40:58 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mGhLu-0007SZ-Fo; Thu, 19 Aug 2021 12:40:58 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mGhLu-0003sE-9j; Thu, 19 Aug 2021 12: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=9yllFMNSbSrB6Ragoc8ZP1+wXjW96S0jiseqLCfNAfI=; b=ScA+UnSWpWgalqArTPESqCdba8
	WJ06lOrsMDWLjfpgvugDwUfxLjy1Pd+Z5lm2j/4WMOMIwNt9L0I29OgYb/IuRvuQJHdaDLhWV74rY
	efu93O8K0Xcsc/HhEltp65Wtk4tpw9PZodznnN67VR88AsNy5Fjl7lCkk6O0elPJqn54=;
Subject: Re: [PATCH v1 13/14] xen/arm: Fixed error when PCI device is assigned
 to guest
To: Jan Beulich <jbeulich@suse.com>, Rahul Singh <rahul.singh@arm.com>
Cc: bertrand.marquis@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <cover.1629366665.git.rahul.singh@arm.com>
 <917720808121c3098690b51d55f2d60118ec6408.1629366665.git.rahul.singh@arm.com>
 <f57bc8cf-6fcf-b9ef-cdd5-1bf5ad4701a7@suse.com>
From: Julien Grall <julien@xen.org>
Message-ID: <2e2d3618-3bc0-c2b9-3270-aa4542e52fe0@xen.org>
Date: Thu, 19 Aug 2021 13:40:56 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <f57bc8cf-6fcf-b9ef-cdd5-1bf5ad4701a7@suse.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi,

On 19/08/2021 13:12, Jan Beulich wrote:
> On 19.08.2021 14:02, Rahul Singh wrote:
>> --- a/xen/arch/arm/domctl.c
>> +++ b/xen/arch/arm/domctl.c
>> @@ -173,6 +173,8 @@ long arch_do_domctl(struct xen_domctl *domctl, struct domain *d,
>>   
>>           return rc;
>>       }
>> +    case XEN_DOMCTL_ioport_permission:
>> +        return 0;
> 
> I don't think returning success for something that doesn't make
> much sense in the first place (there aren't truly "I/O ports" on
> Arm afaik) is a good idea.

They are memory mapped. IIRC, there is a region that is reserved to fake 
them (for PCI cards that still using them).

> Instead I think the tool stack should
> avoid making arch-specific calls in an arch-independent way.

+1. The current approach means that it will be impossible to implement 
those sub operations without breaking Xen if we ever needs it.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 12:43:00 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 12:43:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168741.308080 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGhNq-0003OX-Mc; Thu, 19 Aug 2021 12:42:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168741.308080; Thu, 19 Aug 2021 12:42:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGhNq-0003OQ-Jn; Thu, 19 Aug 2021 12:42:58 +0000
Received: by outflank-mailman (input) for mailman id 168741;
 Thu, 19 Aug 2021 12:42:57 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGhNp-0003OI-LJ
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 12:42:57 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGhNp-0007XV-KI
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 12:42:57 +0000
Received: from iwj (helo=mariner.uk.xensource.com)
 by xenbits.xenproject.org with local-bsmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGhNp-000441-JP
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 12:42:57 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.89)
 (envelope-from <iwj@xenproject.org>)
 id 1mGhNm-0001fD-AW; Thu, 19 Aug 2021 13:42:54 +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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=References:In-Reply-To:Subject:Cc:To:Date
	:Message-ID:Content-Transfer-Encoding:Content-Type:MIME-Version:From;
	bh=Sa/tiZ33T+jYbrw7owB5hnEtX5+4loym9YR5MGuPCvQ=; b=x4EXhaWryQCEUrK7heMFMgFcOF
	HvvC24+72biFvTl6ZJ5mKZPsqmzhaYC5gnN5a/XoZVnd6BpqG5/G1HVL+J1mEOfJTh8R/2xyv1tFe
	CFm+tdWfBci6RTm+5eQVaEkPDlfibuw3If0F6yHl7bwQczyI0Eg6BDiLk7KKAU9JTRbI=;
From: Ian Jackson <iwj@xenproject.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <24862.20942.73057.370395@mariner.uk.xensource.com>
Date: Thu, 19 Aug 2021 13:42:54 +0100
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org,
    osstest service owner <osstest-admin@xenproject.org>
Subject: Re: [xen-unstable test] 164237: regressions - FAIL
In-Reply-To: <63c26289-4797-9ac0-af95-56b6efd64cc3@suse.com>
References: <osstest-164237-mainreport@xen.org>
	<63c26289-4797-9ac0-af95-56b6efd64cc3@suse.com>
X-Mailer: VM 8.2.0b under 24.5.1 (i686-pc-linux-gnu)

Jan Beulich writes ("Re: [xen-unstable test] 164237: regressions - FAIL"):
> Looks like this didn't sort itself (yet). Do you continue to be
> convinced that it will, eventually?

Indeed not.  The error message is different now.  The guest installer
reports

2021-08-18 18:14:09 Z 172.16.146.47:58906 <12>Aug 18 18:14:09
choose-mirror[2883]: WARNING **: broken mirror: invalid Suite in
Release file for jessie 

which is bizarre.  I didn't realise this test was using jessie,
which is ancient.  These tests seem to be hardcoded to use jessie.

I'm going through the git history to see if I (or someone else) wrote
anything which might explai.

I suspect this might be obsolete pvgrub1.

> Additionally I'm puzzled by these having been in the "are not
> blocking" section up to flight 164202, and have since been in the
> "are blocking" one.

Probably, the Debian mirrors changed to drop jessie.

Ian.


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 12:45:32 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 12:45:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168747.308091 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGhQK-00040v-3q; Thu, 19 Aug 2021 12:45:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168747.308091; Thu, 19 Aug 2021 12: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 1mGhQK-00040o-0c; Thu, 19 Aug 2021 12:45:32 +0000
Received: by outflank-mailman (input) for mailman id 168747;
 Thu, 19 Aug 2021 12:45:30 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGhQI-00040d-Ei
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 12:45:30 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGhQI-0007bd-Dv
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 12:45:30 +0000
Received: from iwj (helo=mariner.uk.xensource.com)
 by xenbits.xenproject.org with local-bsmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGhQI-0004R7-Ct
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 12:45:30 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.89)
 (envelope-from <iwj@xenproject.org>)
 id 1mGhQF-0001fx-4v; Thu, 19 Aug 2021 13:45:27 +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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=References:In-Reply-To:Subject:Cc:To:Date
	:Message-ID:Content-Transfer-Encoding:Content-Type:MIME-Version:From;
	bh=V0f/xIkcdFGzB6lu500fhFnYuxWlRxQbjzZDwAfoGZ8=; b=YU4LTY3GrjXiCo5JOMHydh7jpu
	mOPH64o3hNwUXJcmVQICnKyu0AepfGjrxZLlMwTiXVPe/qEAUrRY69Eup4whj9X9wnyCKEE48f6jf
	ImUH5vfY4ritMZBm7OtBgeW/ebJ46GI2QWpIjLxiEnSLdbM1TaB3evtZ39/wko9EDvFo=;
From: Ian Jackson <iwj@xenproject.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <24862.21094.866583.748384@mariner.uk.xensource.com>
Date: Thu, 19 Aug 2021 13:45:26 +0100
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org,
    Wei Liu <wl@xen.org>,
    Juergen Gross <jgross@suse.com>
Subject: Re: [xen-unstable test] 164237: regressions - FAIL
In-Reply-To: <63c26289-4797-9ac0-af95-56b6efd64cc3@suse.com>
References: <osstest-164237-mainreport@xen.org>
	<63c26289-4797-9ac0-af95-56b6efd64cc3@suse.com>
X-Mailer: VM 8.2.0b under 24.5.1 (i686-pc-linux-gnu)

Jan Beulich writes ("Re: [xen-unstable test] 164237: regressions - FAIL"):
> Looks like this didn't sort itself (yet). Do you continue to be
> convinced that it will, eventually?

Hooray for explanations in commit messages.

I will (1) drop this test and (2) force push staging in the meantime.

Ian.

commit 6abb2f113025c37e3e5c6bb590b8e5f60c39a861
Author: Wei Liu <wei.liu2@citrix.com>
Date:   Thu Nov 2 15:15:04 2017 +0000

    make-flight: guest should use jessie to test pvgrub
    
    stretch has 64bit feature enabled for ext4, which pvgrub can't cope.
    We want to continue to test pvgrub, so specify jessie in the guest
    suite field.
    
    A consequence is that this test will test jessie forever.  Eventually
    jessie will rot so badly that this test fails and then we will no
    longer be testing pvgrub1.  Hopefully by then no-one will be using it.
    
    CC: Juergen Gross <jgross@suse.com>
    Signed-off-by: Wei Liu <wei.liu2@citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 13:01:16 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 13:01:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168752.308103 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGhfS-0006TA-Fd; Thu, 19 Aug 2021 13:01:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168752.308103; Thu, 19 Aug 2021 13: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 1mGhfS-0006Sd-Cc; Thu, 19 Aug 2021 13:01:10 +0000
Received: by outflank-mailman (input) for mailman id 168752;
 Thu, 19 Aug 2021 13:01: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 1mGhfR-0006PO-DU
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 13:01: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 1mGhfK-0007um-Km; Thu, 19 Aug 2021 13:01:02 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mGhfK-0006Bd-DX; Thu, 19 Aug 2021 13:01:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=kPRD1YSEk4/zg+30xLpP6gUHJObPS7eTAOYadF4Cq1w=; b=sbQ2+jVx/BQzH3DCA4g5i4wQeT
	O1JrXd1tJ8bKCz53vHnkKbXbV2VyK5TqGKaUGM+ellHeco3AlWr6OLt4RaCJvmAcWq2aYuCYgnRyO
	M6fU78x9RrA1SJvdAqJib2W7yU8QMJ44CA0R7RkFv6XhdSn0fKLudguMyE1qQJ7hyPvI=;
Subject: Re: [PATCH v1 12/14] arm/libxl: Emulated PCI device tree node in
 libxl
To: Rahul Singh <rahul.singh@arm.com>, xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com, Ian Jackson <iwj@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>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1629366665.git.rahul.singh@arm.com>
 <31e48fe4b219ebaf5f1d9f3f7ca9b433caadc5b2.1629366665.git.rahul.singh@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <c0ea2f05-bf0a-a8b0-a811-d899516c26ba@xen.org>
Date: Thu, 19 Aug 2021 14:00:59 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <31e48fe4b219ebaf5f1d9f3f7ca9b433caadc5b2.1629366665.git.rahul.singh@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Rahul,

On 19/08/2021 13:02, Rahul Singh wrote:
> libxl will create an emulated PCI device tree node in the device tree to
> enable the guest OS to discover the virtual PCI during guest boot.
> Emulated PCI device tree node will only be created when there is any
> device assigned to guest.
> 
> A new area has been reserved in the arm guest physical map at
> which the VPCI bus is declared in the device tree (reg and ranges
> parameters of the node).
> 
> Signed-off-by: Rahul Singh <rahul.singh@arm.com>
> ---
>   tools/libs/light/libxl_arm.c          | 109 ++++++++++++++++++++++++++
>   tools/libs/light/libxl_types.idl      |   1 +
>   tools/xl/xl_parse.c                   |   2 +
>   xen/include/public/arch-arm.h         |  11 +++
>   xen/include/public/device_tree_defs.h |   1 +
>   5 files changed, 124 insertions(+)
> 
> diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
> index e3140a6e00..a091e97e76 100644
> --- a/tools/libs/light/libxl_arm.c
> +++ b/tools/libs/light/libxl_arm.c
> @@ -269,6 +269,58 @@ static int fdt_property_regs(libxl__gc *gc, void *fdt,
>       return fdt_property(fdt, "reg", regs, sizeof(regs));
>   }
>   
> +static int fdt_property_values(libxl__gc *gc, void *fdt,
> +        const char *name, unsigned num_cells, ...)
> +{
> +    uint32_t prop[num_cells];
> +    be32 *cells = &prop[0];
> +    int i;
> +    va_list ap;
> +    uint32_t arg;
> +
> +    va_start(ap, num_cells);
> +    for (i = 0 ; i < num_cells; i++) {
> +        arg = va_arg(ap, uint32_t);
> +        set_cell(&cells, 1, arg);
> +    }
> +    va_end(ap);
> +
> +    return fdt_property(fdt, name, prop, sizeof(prop));
> +}
> +
> +static int fdt_property_vpci_ranges(libxl__gc *gc, void *fdt,
> +                                    unsigned addr_cells,
> +                                    unsigned size_cells,
> +                                    unsigned num_regs, ...)
> +{
> +    uint32_t regs[num_regs*((addr_cells*2)+size_cells+1)];
> +    be32 *cells = &regs[0];
> +    int i;
> +    va_list ap;
> +    uint64_t arg;
> +
> +    va_start(ap, num_regs);
> +    for (i = 0 ; i < num_regs; i++) {
> +        /* Set the memory bit field */
> +        arg = va_arg(ap, uint64_t);
> +        set_cell(&cells, 1, arg);
> +
> +        /* Set the vpci bus address */
> +        arg = addr_cells ? va_arg(ap, uint64_t) : 0;
> +        set_cell(&cells, addr_cells , arg);
> +
> +        /* Set the cpu bus address where vpci address is mapped */
> +        set_cell(&cells, addr_cells, arg);
> +
> +        /* Set the vpci size requested */
> +        arg = size_cells ? va_arg(ap, uint64_t) : 0;
> +        set_cell(&cells, size_cells,arg);
> +    }
> +    va_end(ap);
> +
> +    return fdt_property(fdt, "ranges", regs, sizeof(regs));
> +}
> +
>   static int make_root_properties(libxl__gc *gc,
>                                   const libxl_version_info *vers,
>                                   void *fdt)
> @@ -668,6 +720,57 @@ static int make_vpl011_uart_node(libxl__gc *gc, void *fdt,
>       return 0;
>   }
>   
> +static int make_vpci_node(libxl__gc *gc, void *fdt,
> +        const struct arch_info *ainfo,
> +        struct xc_dom_image *dom)
> +{
> +    int res;
> +    const uint64_t vpci_ecam_base = GUEST_VPCI_ECAM_BASE;
> +    const uint64_t vpci_ecam_size = GUEST_VPCI_ECAM_SIZE;
> +    const char *name = GCSPRINTF("pcie@%"PRIx64, vpci_ecam_base);
> +
> +    res = fdt_begin_node(fdt, name);
> +    if (res) return res;
> +
> +    res = fdt_property_compat(gc, fdt, 1, "pci-host-ecam-generic");
> +    if (res) return res;
> +
> +    res = fdt_property_string(fdt, "device_type", "pci");
> +    if (res) return res;
> +
> +    res = fdt_property_regs(gc, fdt, GUEST_ROOT_ADDRESS_CELLS,
> +            GUEST_ROOT_SIZE_CELLS, 1, vpci_ecam_base, vpci_ecam_size);
> +    if (res) return res;
> +
> +    res = fdt_property_values(gc, fdt, "bus-range", 2, 0,17);

AFAICT, the "bus-range" is optional. Can you explain why we need it?

> +    if (res) return res;
> +
> +    res = fdt_property_cell(fdt, "#address-cells", 3);
> +    if (res) return res;
> +
> +    res = fdt_property_cell(fdt, "#size-cells", 2);
> +    if (res) return res;
> +
> +    res = fdt_property_string(fdt, "status", "okay");
> +    if (res) return res;
> +
> +    res = fdt_property_vpci_ranges(gc, fdt, GUEST_ROOT_ADDRESS_CELLS,
> +        GUEST_ROOT_SIZE_CELLS, 2,
> +        GUEST_VPCI_ADDR_TYPE_MEM, GUEST_VPCI_MEM_ADDR, GUEST_VPCI_MEM_SIZE,
> +        GUEST_VPCI_ADDR_TYPE_PREFETCH_MEM, GUEST_VPCI_PREFETCH_MEM_ADDR,
> +        GUEST_VPCI_PREFETCH_MEM_SIZE);
> +    if (res) return res;
> +
> +    res = fdt_property_values(gc, fdt, "msi-map", 4, 0, GUEST_PHANDLE_ITS,
> +                              0, 0x10000);

The ITS is not exposed to the guest so far. So I think this wants to be 
moved to the future series that will add ITS support.

> +    if (res) return res;
> +
> +    res = fdt_end_node(fdt);
> +    if (res) return res;
> +
> +    return 0;
> +}
> +
>   static const struct arch_info *get_arch_info(libxl__gc *gc,
>                                                const struct xc_dom_image *dom)
>   {
> @@ -971,6 +1074,9 @@ next_resize:
>           if (info->tee == LIBXL_TEE_TYPE_OPTEE)
>               FDT( make_optee_node(gc, fdt) );
>   
> +        if (libxl_defbool_val(info->arch_arm.vpci))
> +            FDT( make_vpci_node(gc, fdt, ainfo, dom) );
> +
>           if (pfdt)
>               FDT( copy_partial_fdt(gc, fdt, pfdt) );
>   
> @@ -1189,6 +1295,9 @@ void libxl__arch_domain_build_info_setdefault(libxl__gc *gc,
>       /* ACPI is disabled by default */
>       libxl_defbool_setdefault(&b_info->acpi, false);
>   
> +    /* VPCI is disabled by default */
> +    libxl_defbool_setdefault(&b_info->arch_arm.vpci, false);

Here you say that vPCI is disabled by default. However, AFAICT, in the 
previous patch you will unconditionally enable vPCI if Xen has been 
built with VPCI.

Rather than unconditionally enable VPCI for a domain, I think we should 
introduce a new flag that is passed to Xen at the domain creation. The 
flag will be set based on arch_arm.vpci.

> +
>       if (b_info->type != LIBXL_DOMAIN_TYPE_PV)
>           return;
>   
> diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
> index 3f9fff653a..78b1ddf0b8 100644
> --- a/tools/libs/light/libxl_types.idl
> +++ b/tools/libs/light/libxl_types.idl
> @@ -644,6 +644,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
>   
>       ("arch_arm", Struct(None, [("gic_version", libxl_gic_version),
>                                  ("vuart", libxl_vuart_type),
> +                               ("vpci", libxl_defbool),

Any new addition in the structure should be accompanied with a 
LIBXL_HAVE_* in the libxl.h header.

>                                 ])),
>       ("arch_x86", Struct(None, [("msr_relaxed", libxl_defbool),
>                                 ])),
> diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
> index 17dddb4cd5..ffafbeffb4 100644
> --- a/tools/xl/xl_parse.c
> +++ b/tools/xl/xl_parse.c
> @@ -1497,6 +1497,8 @@ void parse_config_data(const char *config_source,
>           }
>           if (d_config->num_pcidevs && c_info->type == LIBXL_DOMAIN_TYPE_PV)
>               libxl_defbool_set(&b_info->u.pv.e820_host, true);
> +        if (d_config->num_pcidevs)
> +            libxl_defbool_set(&b_info->arch_arm.vpci, true);
>       }
>   
>       if (!xlu_cfg_get_list (config, "dtdev", &dtdevs, 0, 0)) {
> diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
> index 0a9749e768..01d13e669e 100644
> --- a/xen/include/public/arch-arm.h
> +++ b/xen/include/public/arch-arm.h
> @@ -426,6 +426,17 @@ typedef uint64_t xen_callback_t;
>   #define GUEST_VPCI_ECAM_BASE    xen_mk_ullong(0x10000000)
>   #define GUEST_VPCI_ECAM_SIZE    xen_mk_ullong(0x10000000)
>   
> +/* PCI-PCIe memory space types */
> +#define GUEST_VPCI_ADDR_TYPE_PREFETCH_MEM xen_mk_ullong(0x42000000)
> +#define GUEST_VPCI_ADDR_TYPE_MEM          xen_mk_ullong(0x02000000)

What the size of those regions?

> +
> +/* Guest PCI-PCIe memory space where config space and BAR will be available.*/
> +#define GUEST_VPCI_PREFETCH_MEM_ADDR  xen_mk_ullong(0x900000000)
> +#define GUEST_VPCI_MEM_ADDR           xen_mk_ullong(0x20000000)
So far the memory layout defines the address in ascending order. So 
please add that after GUEST_RAM_BANK_BASES_*.

However, if I am not mistaken that base address you provide will clash 
with RAM bank 1. It also seem to be pretty high which means that this 
will not work for 32-bit domain or on CPUs that don't allow offer large 
IPA bits.

I think we need to start making the guest layout more dynamic. The VPCI 
memory space would have to go right after the end of the RAM allocated 
for a given guest.

> +
> +#define GUEST_VPCI_PREFETCH_MEM_SIZE      xen_mk_ullong(0x2000000000)
> +#define GUEST_VPCI_MEM_SIZE               xen_mk_ullong(0x04000000)

It would be better if the size for each region is defined right after 
each base.

Also, how did you decide the size of each region?

> +
>   /*
>    * 16MB == 4096 pages reserved for guest to use as a region to map its
>    * grant table in.
> diff --git a/xen/include/public/device_tree_defs.h b/xen/include/public/device_tree_defs.h
> index 209d43de3f..d24d86b1fc 100644
> --- a/xen/include/public/device_tree_defs.h
> +++ b/xen/include/public/device_tree_defs.h
> @@ -7,6 +7,7 @@
>    * onwards. Reserve a high value for the GIC phandle.
>    */
>   #define GUEST_PHANDLE_GIC (65000)
> +#define GUEST_PHANDLE_ITS (64999)
>   
>   #define GUEST_ROOT_ADDRESS_CELLS 2
>   #define GUEST_ROOT_SIZE_CELLS 2
> 

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 13:05:08 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 13:05:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168759.308114 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGhjH-0007C7-4h; Thu, 19 Aug 2021 13:05:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168759.308114; Thu, 19 Aug 2021 13:05: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 1mGhjH-0007C0-1J; Thu, 19 Aug 2021 13:05:07 +0000
Received: by outflank-mailman (input) for mailman id 168759;
 Thu, 19 Aug 2021 13:05:04 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mGhjE-0007Bu-R9
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 13:05:04 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mGhjD-0007y2-S8; Thu, 19 Aug 2021 13:05:03 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mGhjD-0006Wk-ML; Thu, 19 Aug 2021 13:05:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=T+y76dBxf7zSkrLvn7F3PzcOwV9xoryzjShDkuTFOdI=; b=bjZEsGoy0uU5TUm2nhZ71ymaQF
	fGfPpW57YZ+u12rTLUYO/GBOi6AXgpPyuvSTc6tGJFAQ/VmX243QSkCKFJqCw3v17WGCm3sXaNwGf
	ASv5ruqpPukgX2Uynp7tBEO5DaYCl7uO/kLADNMjvMg30C9ad/O81BHc7UWCG+dsymPc=;
Subject: Re: [XEN RFC PATCH 02/40] xen/arm: Print a 64-bit number in hex from
 early uart
To: Wei Chen <wei.chen@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, jbeulich@suse.com
Cc: Bertrand.Marquis@arm.com
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-3-wei.chen@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <a795ae7c-d280-6c51-2606-4305463697cd@xen.org>
Date: Thu, 19 Aug 2021 14:05:01 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210811102423.28908-3-wei.chen@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Wei,

On 11/08/2021 11:23, Wei Chen wrote:
> Current putn function that is using for early print
> only can print low 32-bit of AArch64 register. This
> will lose some important messages while debugging
> with early console. For example:
> (XEN) Bringing up CPU5
> - CPU 0000000100000100 booting -
> Will be truncated to
> (XEN) Bringing up CPU5
> - CPU 00000100 booting -
> 
> In this patch, we increased the print loops and shift
> bits to make putn print 64-bit number.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>

Acked-by: Julien Grall <jgrall@amazon.com>

> ---
>   xen/arch/arm/arm64/head.S | 9 +++++----
>   1 file changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
> index aa1f88c764..b32639d7d6 100644
> --- a/xen/arch/arm/arm64/head.S
> +++ b/xen/arch/arm/arm64/head.S
> @@ -862,17 +862,18 @@ puts:
>           ret
>   ENDPROC(puts)
>   
> -/* Print a 32-bit number in hex.  Specific to the PL011 UART.
> +/* Print a 64-bit number in hex.  Specific to the PL011 UART.

As you modify the line, can you take the opportunity to write:

/*
  * Print a 64-bit...

And also drop the second sentence as it the code has not been PL011 
specific for quite a while now.

>    * x0: Number to print.
>    * x23: Early UART base address
>    * Clobbers x0-x3 */
> +#define PRINT_MASK 0xf000000000000000
>   putn:
>           adr   x1, hex
> -        mov   x3, #8
> +        mov   x3, #16
>   1:
>           early_uart_ready x23, 2
> -        and   x2, x0, #0xf0000000    /* Mask off the top nybble */
> -        lsr   x2, x2, #28
> +        and   x2, x0, #PRINT_MASK    /* Mask off the top nybble */
> +        lsr   x2, x2, #60
>           ldrb  w2, [x1, x2]           /* Convert to a char */
>           early_uart_transmit x23, w2
>           lsl   x0, x0, #4             /* Roll it through one nybble at a time */
> 

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 13:05:53 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 13:05:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168763.308125 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGhk1-0007kz-ER; Thu, 19 Aug 2021 13:05:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168763.308125; Thu, 19 Aug 2021 13: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 1mGhk1-0007ks-Al; Thu, 19 Aug 2021 13:05:53 +0000
Received: by outflank-mailman (input) for mailman id 168763;
 Thu, 19 Aug 2021 13:05:52 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/7+2=NK=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mGhk0-0007kk-JZ
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 13:05:52 +0000
Received: from smtp-out2.suse.de (unknown [195.135.220.29])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 2db16f3e-00ee-11ec-a607-12813bfff9fa;
 Thu, 19 Aug 2021 13:05:51 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 C583E1FD97;
 Thu, 19 Aug 2021 13:05:50 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 9F0611340C;
 Thu, 19 Aug 2021 13:05:50 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id YcnIJC5XHmEGcwAAGKfGzw
 (envelope-from <jgross@suse.com>); Thu, 19 Aug 2021 13:05: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: 2db16f3e-00ee-11ec-a607-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1629378350; 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=q9wc82zAqzlqORYo/HLIPewZ0ychsr1D4iYJoWsQtVU=;
	b=uuHJEoRFC6K45fsrbuQyu8nUlWV2n8yEwbne6QQKBHWLyyBqTvtm2oe06ICx0/L1+tAlSn
	HProzkEY5SD19ZwL7wFZ8x5vCcfeSUmpGSjmv5eSEmbJsAuUijd0tyggZFxq+YnNwSzUd2
	JMgKZD5JqBAV5JSZ1P77A68dDCQ02sM=
Subject: Re: [xen-unstable test] 164237: regressions - FAIL
To: Ian Jackson <iwj@xenproject.org>, Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>
References: <osstest-164237-mainreport@xen.org>
 <63c26289-4797-9ac0-af95-56b6efd64cc3@suse.com>
 <24862.21094.866583.748384@mariner.uk.xensource.com>
From: Juergen Gross <jgross@suse.com>
Message-ID: <771e9b22-222a-6e79-0e70-3e5dec0bddd8@suse.com>
Date: Thu, 19 Aug 2021 15:05:49 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <24862.21094.866583.748384@mariner.uk.xensource.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="DGuWDHgxS0VsxmNzz13n947TEfM4iP2bU"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--DGuWDHgxS0VsxmNzz13n947TEfM4iP2bU
Content-Type: multipart/mixed; boundary="hxNhXI5DODKPZXgZAzIDoV1vWbdNwASwn";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Ian Jackson <iwj@xenproject.org>, Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>
Message-ID: <771e9b22-222a-6e79-0e70-3e5dec0bddd8@suse.com>
Subject: Re: [xen-unstable test] 164237: regressions - FAIL
References: <osstest-164237-mainreport@xen.org>
 <63c26289-4797-9ac0-af95-56b6efd64cc3@suse.com>
 <24862.21094.866583.748384@mariner.uk.xensource.com>
In-Reply-To: <24862.21094.866583.748384@mariner.uk.xensource.com>

--hxNhXI5DODKPZXgZAzIDoV1vWbdNwASwn
Content-Type: multipart/mixed;
 boundary="------------72DE88423CF44BC51BD4C8AD"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------72DE88423CF44BC51BD4C8AD
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 19.08.21 14:45, Ian Jackson wrote:
> Jan Beulich writes ("Re: [xen-unstable test] 164237: regressions - FAIL=
"):
>> Looks like this didn't sort itself (yet). Do you continue to be
>> convinced that it will, eventually?
>=20
> Hooray for explanations in commit messages.
>=20
> I will (1) drop this test and (2) force push staging in the meantime.
>=20
> Ian.
>=20
> commit 6abb2f113025c37e3e5c6bb590b8e5f60c39a861
> Author: Wei Liu <wei.liu2@citrix.com>
> Date:   Thu Nov 2 15:15:04 2017 +0000
>=20
>      make-flight: guest should use jessie to test pvgrub
>     =20
>      stretch has 64bit feature enabled for ext4, which pvgrub can't cop=
e.
>      We want to continue to test pvgrub, so specify jessie in the guest=

>      suite field.
>     =20
>      A consequence is that this test will test jessie forever.  Eventua=
lly
>      jessie will rot so badly that this test fails and then we will no
>      longer be testing pvgrub1.  Hopefully by then no-one will be using=
 it.
>     =20
>      CC: Juergen Gross <jgross@suse.com>
>      Signed-off-by: Wei Liu <wei.liu2@citrix.com>
>      Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
>=20

Does this mean we should de-support pvgrub? Or even remove it?

BTW, I don't see any reason why someone would want to keep using pvgrub
with grub-pv being available...


Juergen

--------------72DE88423CF44BC51BD4C8AD
Content-Type: application/pgp-keys;
 name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Transfer-Encoding: quoted-printable
Content-Description: OpenPGP public key
Content-Disposition: attachment;
 filename="OpenPGP_0xB0DE9DD628BF132F.asc"

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOBy=
cWx
w3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJvedYm8O=
f8Z
d621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y=
9bf
IhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xq=
G7/
377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR=
3Jv
c3MgPGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsEFgIDA=
QIe
AQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4FUGNQH2lvWAUy+dnyT=
hpw
dtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3TyevpB0CA3dbBQp0OW0fgCetToGIQrg0=
MbD
1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbv=
oPH
Z8SlM4KWm8rG+lIkGurqqu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v=
5QL
+qHI3EIPtyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVyZ=
2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJCAcDAgEGFQgCC=
QoL
BBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4RF7HoZhPVPogNVbC4YA6lW7Dr=
Wf0
teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz78X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC=
/nu
AFVGy+67q2DH8As3KPu0344TBDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0Lh=
ITT
d9jLzdDad1pQSToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLm=
XBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkMnQfvUewRz=
80h
SnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMBAgAjBQJTjHDXAhsDBwsJC=
AcD
AgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJn=
FOX
gMLdBQgBlVPO3/D9R8LtF9DBAFPNhlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1=
jnD
kfJZr6jrbjgyoZHiw/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0=
N51
N5JfVRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwPOoE+l=
otu
fe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK/1xMI3/+8jbO0tsn1=
tqS
EUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuZGU+wsB5BBMBAgAjBQJTjHDrA=
hsD
BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3=
g3O
ZUEBmDHVVbqMtzwlmNC4k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5=
dM7
wRqzgJpJwK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu5=
D+j
LRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzBTNh30FVKK1Evm=
V2x
AKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37IoN1EblHI//x/e2AaIHpzK5h88N=
Eaw
QsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpW=
nHI
s98ndPUDpnoxWQugJ6MpMncr0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZR=
wgn
BC5mVM6JjQ5xDk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNV=
bVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mmwe0icXKLk=
pEd
IXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0Iv3OOImwTEe4co3c1mwARA=
QAB
wsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMvQ/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEw=
Tbe
8YFsw2V/Buv6Z4Mysln3nQK5ZadD534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1=
vJz
Q1fOU8lYFpZXTXIHb+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8=
VGi
wXvTyJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqcsuylW=
svi
uGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5BjR/i1DG86lem3iBDX=
zXs
ZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------72DE88423CF44BC51BD4C8AD--

--hxNhXI5DODKPZXgZAzIDoV1vWbdNwASwn--

--DGuWDHgxS0VsxmNzz13n947TEfM4iP2bU
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmEeVy4FAwAAAAAACgkQsN6d1ii/Ey/7
4ggAgEn9jrp/cV6KFFS9LULE3OQwtvnwa5TEY0RuwHseAZJiViH+enJhb8KZa0FhqbgJ4D5bu6Zq
OGVSQLX1ihaVl5qL/BGApF2vxzqS4LF74MvvWRa6mfr/kPTp77q0Mc3Grfmd2bKCtHa7fMLSqFt0
8oN/cSo54n5uMkIlvON2hdI0dFVlTACk1lBO54ayN5l/d86jqyE2CtVqapbfWHqXR8HFFTRxXxYd
7eTZaFKzwvtDj1aGjteAxlhTZvPGnOmM4apevAYbaue6/wGYBliTFq6Lq5o9OH6erJQRI3UMBe9I
clhL6dKAWg4cB0VtqBjJ1CEfaSpOvmLFaERj1TA65Q==
=QXw6
-----END PGP SIGNATURE-----

--DGuWDHgxS0VsxmNzz13n947TEfM4iP2bU--


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 13:07:05 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 13:07:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168770.308139 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGhl7-0008Nk-P0; Thu, 19 Aug 2021 13:07:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168770.308139; Thu, 19 Aug 2021 13: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 1mGhl7-0008Nd-Lz; Thu, 19 Aug 2021 13:07:01 +0000
Received: by outflank-mailman (input) for mailman id 168770;
 Thu, 19 Aug 2021 13:07:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGhl7-0008NW-1n
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 13:07:01 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGhl6-00081Y-V5
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 13:07:00 +0000
Received: from iwj (helo=mariner.uk.xensource.com)
 by xenbits.xenproject.org with local-bsmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGhl6-0006kf-UA
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 13:07:00 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.89)
 (envelope-from <iwj@xenproject.org>)
 id 1mGhl1-0001jM-PH; Thu, 19 Aug 2021 14:06:55 +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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=References:In-Reply-To:Subject:Cc:To:Date
	:Message-ID:Content-Transfer-Encoding:Content-Type:MIME-Version:From;
	bh=yBGGiBTG9U92F2kmdQ+naj8M8aX3+zTHxiwFc6W6kc8=; b=VH5HaSK5lipUC2vyF5SSKC8Mtb
	YfD9Y1u3+oSLwbh1XQhgrTkeciXZB7so6B4zeCfFWEXNXwA9D2PQzVz3N2tRjyE9ZVFi8Hno83xUo
	3bDp7BJEpc4Ziv/MEDwgCjb/BBH3IPkXaA02gFZQ7d4/AC3p6qBjZTOMTZTDzdgLwJ2s=;
From: Ian Jackson <iwj@xenproject.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <24862.22383.344815.571655@mariner.uk.xensource.com>
Date: Thu, 19 Aug 2021 14:06:55 +0100
To: Juergen Gross <jgross@suse.com>
Cc: Jan Beulich <jbeulich@suse.com>,
    xen-devel@lists.xenproject.org,
    Wei Liu <wl@xen.org>
Subject: Re: [xen-unstable test] 164237: regressions - FAIL
In-Reply-To: <771e9b22-222a-6e79-0e70-3e5dec0bddd8@suse.com>
References: <osstest-164237-mainreport@xen.org>
	<63c26289-4797-9ac0-af95-56b6efd64cc3@suse.com>
	<24862.21094.866583.748384@mariner.uk.xensource.com>
	<771e9b22-222a-6e79-0e70-3e5dec0bddd8@suse.com>
X-Mailer: VM 8.2.0b under 24.5.1 (i686-pc-linux-gnu)

Juergen Gross writes ("Re: [xen-unstable test] 164237: regressions - FAIL"):
> Does this mean we should de-support pvgrub? Or even remove it?

I think so.

> BTW, I don't see any reason why someone would want to keep using pvgrub
> with grub-pv being available...

Precisely.

Ian.


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 13:09:41 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 13:09:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168776.308150 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGhnY-0000cA-6d; Thu, 19 Aug 2021 13:09:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168776.308150; Thu, 19 Aug 2021 13:09: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 1mGhnY-0000c3-3A; Thu, 19 Aug 2021 13:09:32 +0000
Received: by outflank-mailman (input) for mailman id 168776;
 Thu, 19 Aug 2021 13:09:31 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGhnX-0000bx-0t
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 13:09:31 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGhnX-00083i-0A
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 13:09:31 +0000
Received: from iwj (helo=mariner.uk.xensource.com)
 by xenbits.xenproject.org with local-bsmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGhnW-0006yk-VP
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 13:09:30 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.89)
 (envelope-from <iwj@xenproject.org>)
 id 1mGhnR-0001ke-Ot; Thu, 19 Aug 2021 14:09:25 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=References:In-Reply-To:Subject:Cc:To:Date
	:Message-ID:Content-Transfer-Encoding:Content-Type:MIME-Version:From;
	bh=PIycbnYvwYCM0ey9xO6slhM6/+th3UIqqdnnHIKPJMo=; b=BPlzm+MQ7I3usrcUnCzkmp7npu
	HFUMWeoTpYKAyLKrlyllZHBSx8o2fiqcJ+pcDhgxDL0+glPE8671B9ISNyH8R7JjC4MlS12ufLHM2
	+ctFQt24SSsBNwIOEctUqFQ+u/nXTW8WVx+MYBCuDjGlHKw4xAu5BVLvJzQFaCqxSQQA=;
From: Ian Jackson <iwj@xenproject.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <24862.22533.210407.160523@mariner.uk.xensource.com>
Date: Thu, 19 Aug 2021 14:09:25 +0100
To: Ian Jackson <iwj@xenproject.org>
Cc: Jan Beulich <jbeulich@suse.com>,
    xen-devel@lists.xenproject.org,
    Wei Liu <wl@xen.org>,
    Juergen Gross <jgross@suse.com>
Subject: Re: [xen-unstable test] 164237: regressions - FAIL
In-Reply-To: <24862.21094.866583.748384@mariner.uk.xensource.com>
References: <osstest-164237-mainreport@xen.org>
	<63c26289-4797-9ac0-af95-56b6efd64cc3@suse.com>
	<24862.21094.866583.748384@mariner.uk.xensource.com>
X-Mailer: VM 8.2.0b under 24.5.1 (i686-pc-linux-gnu)

Ian Jackson writes ("Re: [xen-unstable test] 164237: regressions - FAIL"):
> I will (1) drop this test and (2) force push staging in the meantime.

Force pushed xen-unstable staging.  osstest commit is below.

Ian.

>From 8dee6e333622d830b7a9373989f63b526a85cd94 Mon Sep 17 00:00:00 2001
From: Ian Jackson <iwj@xenproject.org>
Date: Thu, 19 Aug 2021 13:46:21 +0100
Subject: [OSSTEST PATCH] make-flight: Drop pvgrub (pvgrub1) tests

This is obsolete.  In 2017 in 6abb2f113025 we wrote:

    A consequence is that this test will test jessie forever.  Eventually
    jessie will rot so badly that this test fails and then we will no
    longer be testing pvgrub1.  Hopefully by then no-one will be using it.

This has now occurred.

I have verified with
  OSSTEST_CONFIG=standalone-config-example eatmydata ./standalone-generate-dump-flight-runvars
that the only change is to drop jobs test-amd64-amd64-*-pvgrub.

CC: Jan Beulich <jbeulich@suse.com>
CC: Juergen Gross <jgross@suse.com>
CC: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Ian Jackson <iwj@xenproject.org>
---
 make-flight | 25 -------------------------
 1 file changed, 25 deletions(-)

diff --git a/make-flight b/make-flight
index fb38bc50..e0d11c80 100755
--- a/make-flight
+++ b/make-flight
@@ -598,30 +598,6 @@ do_pygrub_tests () {
       all_hostflags=$most_hostflags
 }
 
-do_pvgrub_tests () {
-  if [ $xenarch != amd64 -o $dom0arch != amd64 -o "$kern" != "" ]; then
-    return
-  fi
-
-  job_create_test test-$xenarch$kern-$dom0arch-amd64-pvgrub     \
-    test-debian-di xl $xenarch $dom0arch                        \
-      debian_arch=amd64                                         \
-      debian_suite=jessie                                       \
-      debian_di_version=`getconfig_TftpDiVersion_suite jessie`  \
-      debian_method=netboot                                     \
-      debian_bootloader=pvgrub                                  \
-      all_hostflags=$most_hostflags                             \
-
-  job_create_test test-$xenarch$kern-$dom0arch-i386-pvgrub      \
-    test-debian-di xl $xenarch $dom0arch                        \
-      debian_arch=i386                                          \
-      debian_suite=jessie                                       \
-      debian_di_version=`getconfig_TftpDiVersion_suite jessie`  \
-      debian_method=netboot                                     \
-      debian_bootloader=pvgrub                                  \
-      all_hostflags=$most_hostflags
-}
-
 do_pv_debian_test_one () {
   testname=$1; shift
   recipe_sfx=$1; shift
@@ -945,7 +921,6 @@ test_matrix_do_one () {
   #do_passthrough_tests
 
   do_pygrub_tests
-  do_pvgrub_tests
 
   do_shadow_tests
 
-- 
2.20.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 13:25:08 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 13:25:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168792.308205 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGi2X-0003Yq-VC; Thu, 19 Aug 2021 13:25:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168792.308205; Thu, 19 Aug 2021 13:25:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGi2X-0003Yj-SD; Thu, 19 Aug 2021 13:25:01 +0000
Received: by outflank-mailman (input) for mailman id 168792;
 Thu, 19 Aug 2021 13:25:00 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGi2W-0003Yd-OW
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 13:25:00 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGi2W-0008OF-ML
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 13:25:00 +0000
Received: from iwj (helo=mariner.uk.xensource.com)
 by xenbits.xenproject.org with local-bsmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGi2W-0000Du-LC
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 13:25:00 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.89)
 (envelope-from <iwj@xenproject.org>)
 id 1mGi2R-0001mx-RH; Thu, 19 Aug 2021 14:24:55 +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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=References:In-Reply-To:Subject:Cc:To:Date
	:Message-ID:Content-Transfer-Encoding:Content-Type:MIME-Version:From;
	bh=7n/PjEn2CCyFoH/uHNcEqmiJ21lrwOFjIufHabUc6Ps=; b=RAqPw0kWpQCVlyg8ioIAymqk9Z
	J5pYldDfOzRlsTFD2dtnZCaBRuVo9ILSS1a6QJrExHeUyPto3ju4OP3Pi63qEupxyvKmE7dfjCavG
	bj2YIQo7QUi3lNRgClWi9IDDis74oNNq3mXwWDWQRWg0Fj4NeTjPiuXkzNJQ/FUtlznw=;
From: Ian Jackson <iwj@xenproject.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <24862.23463.360542.801702@mariner.uk.xensource.com>
Date: Thu, 19 Aug 2021 14:24:55 +0100
To: Juergen Gross <jgross@suse.com>
Cc: Jan Beulich <jbeulich@suse.com>,
    xen-devel@lists.xenproject.org,
    Wei Liu <wl@xen.org>
Subject: Re: [xen-unstable test] 164237: regressions - FAIL
In-Reply-To: <771e9b22-222a-6e79-0e70-3e5dec0bddd8@suse.com>
References: <osstest-164237-mainreport@xen.org>
	<63c26289-4797-9ac0-af95-56b6efd64cc3@suse.com>
	<24862.21094.866583.748384@mariner.uk.xensource.com>
	<771e9b22-222a-6e79-0e70-3e5dec0bddd8@suse.com>
X-Mailer: VM 8.2.0b under 24.5.1 (i686-pc-linux-gnu)

Juergen Gross writes ("Re: [xen-unstable test] 164237: regressions - FAIL"):
> Does this mean we should de-support pvgrub? Or even remove it?
> 
> BTW, I don't see any reason why someone would want to keep using pvgrub
> with grub-pv being available...

I went to change its status in SUPPORT.md and it wasn't in evidence.
I guess you might still want it to boot old guests.
I don't think it has any security implications because it runs in
guest context.

I have prepared a patch to SUPPORT.md which I will send in a moemnt.

Ian.


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 13:26:30 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 13:26:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168798.308216 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGi3y-00048k-9y; Thu, 19 Aug 2021 13:26:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168798.308216; Thu, 19 Aug 2021 13:26:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGi3y-00048d-6j; Thu, 19 Aug 2021 13:26:30 +0000
Received: by outflank-mailman (input) for mailman id 168798;
 Thu, 19 Aug 2021 13:26:28 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <ijackson@chiark.greenend.org.uk>) id 1mGi3w-00048V-N3
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 13:26:28 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <ijackson@chiark.greenend.org.uk>) id 1mGi3w-0008S2-ME
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 13:26:28 +0000
Received: from iwj (helo=mariner.uk.xensource.com)
 by xenbits.xenproject.org with local-bsmtp (Exim 4.92)
 (envelope-from <ijackson@chiark.greenend.org.uk>) id 1mGi3w-0000MZ-LB
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 13:26:28 +0000
Received: from [172.18.45.5] (helo=zealot.relativity.greenend.org.uk)
 by mariner.uk.xensource.com with esmtp (Exim 4.89)
 (envelope-from <ijackson@chiark.greenend.org.uk>)
 id 1mGi3u-0001nu-Qf; Thu, 19 Aug 2021 14:26:26 +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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:
	References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=GcxC7/3dIN2Vj70gFAN7rQms4ylJOMsnZCWakSsBSig=; b=jMP3zsdBspCjjvt7B3bJCXtpVp
	kOcuMqb9TZos0QTzf/QpMOs0S+fFV2esWxl6iLxW/5gR/Gp+JDtGAX/wB84fuV/R82tvc7n8DcKhZ
	/IhEkVKr9u+VWlY7C9ubfVMXHZx8rXB4YyXp1FbM73JoxFcEIt194Zu5At89YlwgLSSM=;
From: Ian Jackson <iwj@xenproject.org>
To: xen-devel@lists.xenproject.org
Cc: iwj@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>,
	Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH] SUPPORT.md: Explicitly desupport pvgrub1; and support grub-pv
Date: Thu, 19 Aug 2021 14:26:17 +0100
Message-Id: <20210819132617.10668-1-iwj@xenproject.org>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <24862.23463.360542.801702@mariner.uk.xensource.com>
References: <24862.23463.360542.801702@mariner.uk.xensource.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

We can no longer conveniently even test pv-grub1; osstest tests for
this have just been dropped from all Xen branches
(by osstest.git#8dee6e333622).

This is without prejudice to its eventual removal.  We should perhaps
proceed cautiously with that since it may be helpful for some old
guests.

Under the circumstances, I think this patch has to be a backport
candidate to all still-supported trees.

CC: Juergen Gross <jgross@suse.com>
CC: Jan Beulich <jbeulich@suse.com>,
CC: Wei Liu <wl@xen.org>
Backport-requested-by: Ian Jackson <iwj@xenproject.org>
Signed-off-by: Ian Jackson <iwj@xenproject.org>
---
 SUPPORT.md | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/SUPPORT.md b/SUPPORT.md
index 317392d8f3..9db027a85f 100644
--- a/SUPPORT.md
+++ b/SUPPORT.md
@@ -832,6 +832,28 @@ OVMF firmware implements the UEFI boot protocol.
 
     Status, qemu-xen: Supported
 
+### grub-pv aka pvgrub2 (guest bootloader)
+
+    Status: Supported
+
+Support in upstream GRUB2 for running in Xen PV, to booting Xen PV
+guests.
+
+Collaboration (and security coordination) and fixes will be provided
+by the Xen Project, as needed.
+
+### x86/HVM pvgrub1 (aka stubdom pv-grub)
+
+    Status: Obsolescent, limited support
+
+GRUB1 compiled with minios and Xen stubdom, to run in guest context.
+This is provided in the Xen source distribution for the benefit of
+very old guests; it is no longer tested, but build and functionality
+fixes are welcome.
+
+pvgrub1 is not security-supported.  However, it runs in guest context,
+so there should be no implications for host security.
+
 # Format and definitions
 
 This file contains prose, and machine-readable fragments.
-- 
2.20.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 13:28:30 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 13:28:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168803.308227 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGi5t-0004rk-PZ; Thu, 19 Aug 2021 13:28:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168803.308227; Thu, 19 Aug 2021 13:28:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGi5t-0004rd-M6; Thu, 19 Aug 2021 13:28:29 +0000
Received: by outflank-mailman (input) for mailman id 168803;
 Thu, 19 Aug 2021 13:28:28 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mGi5s-0004rP-25
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 13:28:28 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mGi5r-0008U6-61; Thu, 19 Aug 2021 13:28:27 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mGi5q-0000YE-WC; Thu, 19 Aug 2021 13:28:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=9ovr3H7QPW+FM6NO7EPo5q6SPgM4bCuiZW3uLJ2kmxk=; b=u+g9Wv34V8fdUOxJ6FpgPauCVr
	wRKUvNGY6W1w35NRAmBds+jopOskJQbxGKxX+q5VJxpHT61EUrVvlfQpHnpH5Spmatz72ZeCIr7/z
	pp8aJo+5clPaxkls/IJWHWt+Gfzw2SM7XHKvhMsxYAd7rfRBpw/ua0GzRKudXUd3NasA=;
Subject: Re: [XEN RFC PATCH 04/40] xen/arm: return default DMA bit width when
 platform is not set
To: Wei Chen <wei.chen@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, jbeulich@suse.com
Cc: Bertrand.Marquis@arm.com
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-5-wei.chen@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <61893862-6b8f-9c1b-367b-7e0c837a43c5@xen.org>
Date: Thu, 19 Aug 2021 14:28:24 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210811102423.28908-5-wei.chen@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi,

On 11/08/2021 11:23, Wei Chen wrote:
> From: Hongda Deng <Hongda.Deng@arm.com>
> 
> In current code, arch_get_dma_bitsize will return 32 when platorm
> or platform->dma_bitsize is not set. It's not resonable, for Arm,

s/resonable/reasonable/

> we don't require to reserve DMA memory. So we set dma_bitsize always
> be 0. In NO-NUMA system, arch_get_dma_bitsize will not be invoked,
> so dma_bitsize will not be overrided by this function. 

arch_get_dma_bitsize() is also used to allocate dom0 memory. We need to 
be able to allocate some DMA-able memory that can be used by every devices.

> But in NUMA
> system, once the online nodes are greater than 1, this function will
> be invoked. The dma_bitsize will be limited to 32. That means, only
> first 4GB memory can be used for DMA. But that's against our hardware
> design. We don't have that kind of restriction on hardware.

What do you mean by "hardware design"? Are you referring to the server 
you boot Xen on?

Anyway, there are plenty of platform out that have devices which can't 
DMA into memory above 32-bit. On RPI, this is even lower (30-bit).

So I would be cautious to change the default limit.

At the moment, the only place on Arm where we need DMA-able memory is 
for dom0. This is allocated at boot and can't change afterwards (for now).

So I would explore to remove the NUMA check for drop the DMA zone. FAOD, 
both suggestion are for Arm only. For x86, they need to be kept.

> Only
> platform setting can override dma_bitsize. So in this patch, we
> return default dma_bitsize, when platform and platorm->dma_bitsize
> are not set.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> Signed-off-by: Hongda Deng <Hongda.Deng@arm.com>
> ---
>   xen/arch/arm/platform.c | 4 +++-
>   xen/common/page_alloc.c | 2 +-
>   2 files changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/arch/arm/platform.c b/xen/arch/arm/platform.c
> index 4db5bbb4c5..0a27fef9a4 100644
> --- a/xen/arch/arm/platform.c
> +++ b/xen/arch/arm/platform.c
> @@ -27,6 +27,7 @@ extern const struct platform_desc _splatform[], _eplatform[];
>   /* Pointer to the current platform description */
>   static const struct platform_desc *platform;
>   
> +extern unsigned int dma_bitsize;
>   
>   static bool __init platform_is_compatible(const struct platform_desc *plat)
>   {
> @@ -157,7 +158,8 @@ bool platform_device_is_blacklisted(const struct dt_device_node *node)
>   
>   unsigned int arch_get_dma_bitsize(void)
>   {
> -    return ( platform && platform->dma_bitsize ) ? platform->dma_bitsize : 32;
> +    return ( platform && platform->dma_bitsize ) ? platform->dma_bitsize
> +                                                 : dma_bitsize;
>   }
>   
>   /*
> diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
> index 958ba0cd92..0f0cae5a4e 100644
> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -227,7 +227,7 @@ static bool __read_mostly scrub_debug;
>    * Bit width of the DMA heap -- used to override NUMA-node-first.
>    * allocation strategy, which can otherwise exhaust low memory.
>    */
> -static unsigned int dma_bitsize;
> +unsigned int dma_bitsize;
>   integer_param("dma_bits", dma_bitsize);
>   
>   /* Offlined page list, protected by heap_lock. */
> 

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 13:32:14 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 13:32:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168808.308238 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGi9S-0006LW-8g; Thu, 19 Aug 2021 13:32:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168808.308238; Thu, 19 Aug 2021 13: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 1mGi9S-0006LP-5N; Thu, 19 Aug 2021 13:32:10 +0000
Received: by outflank-mailman (input) for mailman id 168808;
 Thu, 19 Aug 2021 13:32: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 1mGi9Q-0006KX-R8
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 13:32: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 1mGi9P-00007L-Tz; Thu, 19 Aug 2021 13:32:07 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mGi9P-0000ng-NU; Thu, 19 Aug 2021 13: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=766B7eloh8o8PjRTj5ns73TBHeTqdbBUvpErsYw4wic=; b=65MDVaxg0YBVBIwgNR8dEPvQs7
	vL4aG+BLLcKHl++PQTZYv/X/ltuxxHh6w57PmFI/Vm5j/+TEaCkoQ9Gzkz6gWIi1suOtHm1JrZP54
	5ecJ/E2ZSY6BAIAmiEWD9ubWjtJm7X95W8eKHCDrTvY8aP9VPlfm1MAMef1shHKQp3FM=;
Subject: Re: [XEN RFC PATCH 05/40] xen/arm: Fix lowmem_bitsize when
 arch_get_dma_bitsize return 0
To: Wei Chen <wei.chen@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, jbeulich@suse.com
Cc: Bertrand.Marquis@arm.com
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-6-wei.chen@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <ce78f938-3fda-f7a9-f92b-4a692774b497@xen.org>
Date: Thu, 19 Aug 2021 14:32:05 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210811102423.28908-6-wei.chen@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi,

I guess this patch may be dropped after my comment on patch #4. I will 
comment just on the process.

On 11/08/2021 11:23, Wei Chen wrote:
> From: Hongda Deng <Hongda.Deng@arm.com>
> 
> In previous patch, we make arch_get_dma_bitsize return 0 when
> dma_bitsize and platform->dma_bitsize are not set. But this
> will affect lowmem_bitsize in allocate_memory_11 for domain0.
> Because this function depends lowmem_bitsize to allocate memory
> below 4GB.
> 
> In current code, when arch_get_dma_bitsize return 0, lowmem_bitsize
> will be set to 0. In this case, we will get "No bank has been
> allocated below 0-bit." message while allocating domain0 memory.
> And the lowmem will be set to false.
> 
> This behavior is inconsistent with what allocate_memory_11 done
> before, and doesn't meet this functions requirements. So we
> check arch_get_dma_bitsize's return value before set lowmem_bitsize.
> Avoid setting lowmem_bitsize to 0 by mistake.

In general, we want to avoid breaking bisection within a series. This 
means that this patch should be before patch #4.

> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> Signed-off-by: Hongda Deng <Hongda.Deng@arm.com>
> ---
>   xen/arch/arm/domain_build.c | 11 ++++++++++-
>   1 file changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 6c86d52781..cf341f349f 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -265,9 +265,18 @@ static void __init allocate_memory_11(struct domain *d,
>       int i;
>   
>       bool lowmem = true;
> -    unsigned int lowmem_bitsize = min(32U, arch_get_dma_bitsize());
> +    unsigned int lowmem_bitsize = arch_get_dma_bitsize();
>       unsigned int bits;
>   
> +    /*
> +       When dma_bitsize and platform->dma_bitsize are not set,
> +       arch_get_dma_bitsize will return 0. That means this system
> +       doesn't need to reserve memory for DMA. But in order to
> +       meet above requirements, we still need to try to allocate
> +       memory below 4GB for Dom0.
> +    */

The coding style for comments is:

/*
  * A
  * B
  */

> +    lowmem_bitsize = lowmem_bitsize ? min(32U, lowmem_bitsize) : 32U;
> +
>       /*
>        * TODO: Implement memory bank allocation when DOM0 is not direct
>        * mapped
> 

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 13:34:20 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 13:34:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168812.308249 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGiBX-0006xi-Kk; Thu, 19 Aug 2021 13:34:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168812.308249; Thu, 19 Aug 2021 13:34:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGiBX-0006xb-Hj; Thu, 19 Aug 2021 13:34:19 +0000
Received: by outflank-mailman (input) for mailman id 168812;
 Thu, 19 Aug 2021 13:34:18 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mGiBW-0006xV-NF
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 13:34:18 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mGiBV-000091-UN; Thu, 19 Aug 2021 13:34:17 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mGiBV-0001A0-OQ; Thu, 19 Aug 2021 13:34:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=jKKbfKDimSAdM6dne2I4mysQzoy0odn7FsqRU/fdx7E=; b=BNbvU5jS3V84yifMXzhCyrpPyt
	f/pQHBSdo5GTMf9tFd8HUBaK/p4wTz8gHIi0/RY5NlfyEQm7H3AdgEZwWuEcdeXjSJfwlRKR2miuk
	8sDCw6P2lQJh1fvYcJ5dUAe0MYTc0varCZQDZlRjOofPebrWKi/wPvyM9sKGtpJ2Nd4k=;
Subject: Re: [XEN RFC PATCH 07/40] xen/arm: use !CONFIG_NUMA to keep fake NUMA
 API
To: Wei Chen <wei.chen@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, jbeulich@suse.com
Cc: Bertrand.Marquis@arm.com
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-8-wei.chen@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <e9a45fe3-e4b0-6533-8b41-ac3f10ef386a@xen.org>
Date: Thu, 19 Aug 2021 14:34:16 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210811102423.28908-8-wei.chen@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Wei,

On 11/08/2021 11:23, Wei Chen wrote:
> Only Arm64 supports NUMA, the CONFIG_NUMA could not be
> enabled for Arm32.

What do you mean by "could not be enabled"?

> Even in Arm64, users still can disable
> the CONFIG_NUMA through Kconfig option. In this case, keep
> current fake NUMA API, will make Arm code still can work
> with NUMA aware memory allocation and scheduler.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>   xen/include/asm-arm/numa.h | 4 ++++
>   1 file changed, 4 insertions(+)
> 
> diff --git a/xen/include/asm-arm/numa.h b/xen/include/asm-arm/numa.h
> index 31a6de4e23..ab9c4a2448 100644
> --- a/xen/include/asm-arm/numa.h
> +++ b/xen/include/asm-arm/numa.h
> @@ -5,6 +5,8 @@
>   
>   typedef u8 nodeid_t;
>   
> +#if !defined(CONFIG_NUMA)

NIT: We tend to use #ifndef rather than #if !defined(...)

> +
>   /* Fake one node for now. See also node_online_map. */
>   #define cpu_to_node(cpu) 0
>   #define node_to_cpumask(node)   (cpu_online_map)
> @@ -25,6 +27,8 @@ extern mfn_t first_valid_mfn;
>   #define node_start_pfn(nid) (mfn_x(first_valid_mfn))
>   #define __node_distance(a, b) (20)
>   
> +#endif
> +
>   #endif /* __ARCH_ARM_NUMA_H */
>   /*
>    * Local variables:
> 

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 13:38:27 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 13:38:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168817.308260 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGiFT-0007dg-21; Thu, 19 Aug 2021 13:38:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168817.308260; Thu, 19 Aug 2021 13:38: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 1mGiFS-0007dZ-Us; Thu, 19 Aug 2021 13:38:22 +0000
Received: by outflank-mailman (input) for mailman id 168817;
 Thu, 19 Aug 2021 13:38: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 1mGiFS-0007dT-2t
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 13:38: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 1mGiFR-0000Dr-1X; Thu, 19 Aug 2021 13:38:21 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mGiFQ-0001bX-Rk; Thu, 19 Aug 2021 13:38: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:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=9kGuUOVCZyqMQIsrKypF1g+S380JcqaobSUrK9HymaI=; b=sTALER8v4JETJ4f3sUWzd2WTx2
	i2MrgTHdcqocpY2L6hUTmoULiR2dsMF1/NanDjag9rj8IHzAzjC4Hmm61/Zq4uqPCs3Mkpd7+nTF3
	hcA57iURKWbW4NOwAcGi3dqnX3IRKsaCu6BrIXwfvDPr+gep2IOIrLbA7C4qJcdLMUOk=;
Subject: Re: [XEN RFC PATCH 17/40] xen/arm: Introduce DEVICE_TREE_NUMA Kconfig
 for arm64
To: Wei Chen <wei.chen@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, jbeulich@suse.com
Cc: Bertrand.Marquis@arm.com
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-18-wei.chen@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <1fbcb8a6-67b6-e2d6-6524-cfce7a8a6557@xen.org>
Date: Thu, 19 Aug 2021 14:38:18 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210811102423.28908-18-wei.chen@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi,

On 11/08/2021 11:24, Wei Chen wrote:
> We need a Kconfig option to distinguish with ACPI based
> NUMA. So we introduce the new Kconfig option:
> DEVICE_TREE_NUMA in this patch for Arm64.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>   xen/arch/arm/Kconfig | 10 ++++++++++
>   1 file changed, 10 insertions(+)
> 
> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> index ecfa6822e4..678cc98ea3 100644
> --- a/xen/arch/arm/Kconfig
> +++ b/xen/arch/arm/Kconfig
> @@ -33,6 +33,16 @@ config ACPI
>   	  Advanced Configuration and Power Interface (ACPI) support for Xen is
>   	  an alternative to device tree on ARM64.
>   
> +config DEVICE_TREE_NUMA

The name suggests that NUMA should only be enabled for Device-Tree... 
But the description looks generic.

However, I think the user should only have the choice to say whether 
they want NUMA to be enabled or not. We should not give them the choice 
to enable/disable the parsing for DT/ACPI.

So we should have a generic config that will then select DT (and ACPI in 
the future).

> +	bool "NUMA (Non-Uniform Memory Access) Support (UNSUPPORTED)" if UNSUPPORTED
> +	depends on ARM_64
> +	select NUMA
> +	---help---
> +
> +	  Non-Uniform Memory Access (NUMA) is a computer memory design used in
> +	  multiprocessing, where the memory access time depends on the memory
> +	  location relative to the processor.
> +

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 13:40:30 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 13:40:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168822.308270 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGiHU-0000WV-Ek; Thu, 19 Aug 2021 13:40:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168822.308270; Thu, 19 Aug 2021 13:40:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGiHU-0000WO-Bo; Thu, 19 Aug 2021 13:40:28 +0000
Received: by outflank-mailman (input) for mailman id 168822;
 Thu, 19 Aug 2021 13:40:27 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KGBc=NK=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mGiHT-0000WG-1b
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 13:40:27 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 6e398f03-cdb6-401f-be61-dbd8430655d4;
 Thu, 19 Aug 2021 13:40:26 +0000 (UTC)
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur02lp2054.outbound.protection.outlook.com [104.47.4.54]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-36-I41w3FdoN-6CEZMWYEwdEw-1; Thu, 19 Aug 2021 15:40:24 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0401MB2447.eurprd04.prod.outlook.com (2603:10a6:800:53::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Thu, 19 Aug
 2021 13:40:22 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Thu, 19 Aug 2021
 13:40:22 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0057.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1d::21) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Thu, 19 Aug 2021 13:40:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6e398f03-cdb6-401f-be61-dbd8430655d4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629380425;
	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=tl7rSc9cgnJ5IRGZ1PjN2xYP1Gf+iv1kyt/0f+Jpuk0=;
	b=XgbEwB3DLv3I5wQ0sYoF7Gw+Uhquw1y0EG85qeeZJfDd7os1nQVf91GklQlICCA+qoIUPq
	+PhaWnz7xwojFZ14O7dQt8OCs5krFg76jAq/ZiGxEa7O/mLUndWWCMpqLon/TE8xNYgrWR
	4C6UK0bx3fzdITH/9GjWI3TRDt27Y1k=
X-MC-Unique: I41w3FdoN-6CEZMWYEwdEw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KP4mWqZEERAtr2NuUjz3ykavz8EOstybRoZW9eZpMktQOwRRqQLh70fMwqN9dksYYUFL6fdU4FugA6KQOgcSHGx6443JDRuDXMsSM55Ie+VmNuRq6ytDyKdXgQjcmcKTcUvMMx7QapLOq4B+PPoT8oQ56lYQYrMb3cyoXH/YFvtUV9KPqsKb2KKzoLmMzm8bpB3hA6vR2vIVxbAqD0Jl8eKTAVS2JyHDq53zVASiBkGVOl28Xn9cGo/PYzDBAKumu+KvoUv1RqarTTCzhNXjAfK1uemMtI6kx/NOjrei5rwaOWdGMjJrcNFKi1da9Q0a0/4TgzxuBTFTNFZr4wXbBA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tl7rSc9cgnJ5IRGZ1PjN2xYP1Gf+iv1kyt/0f+Jpuk0=;
 b=TmqEfKaMDsaIlzFm1yAlAFIoq0EHXuqkFGH0kilR93RDnT+OkghvGR4dRkzKODELU9THzhIB3Rcbl21qpV0wFRjh7qCSKRGUi26vty9cN7z8LQe6VhI/r6OmsLQLiVCrvqDWzkNjE3ZznwX9GNAuSodCRpT3HIcC4bwMlaOFQCqdB+6JtABlhYxYQH7uD61FA+fzs7p+Zrd92pWttjDz9pAxCNOpiagT5m8ceALxVu3z/b70o8G7rVETUhFsi/mNL5V9zuv1YbJx8BBR7N7S4tFy0MxsUUrJ/03Q6KV3Kr7FHKU/UyriofwMncwHhQyXImRgs4sz98gCWZalmDOwzg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v1 10/14] xen/arm: Discovering PCI devices and add the PCI
 devices in XEN.
To: Julien Grall <julien@xen.org>, Rahul Singh <rahul.singh@arm.com>
Cc: bertrand.marquis@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <cover.1629366665.git.rahul.singh@arm.com>
 <a7fa6f626b0852c7859fe8d64b01293d1aa8fc0e.1629366665.git.rahul.singh@arm.com>
 <367ea162-9afb-1e30-860a-117abaf38867@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <20989624-c3e3-dee6-c6d3-03e978c4a289@suse.com>
Date: Thu, 19 Aug 2021 15:40:19 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <367ea162-9afb-1e30-860a-117abaf38867@xen.org>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0057.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1d::21) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 7f716e34-21bc-415a-6e5c-08d96316e48d
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2447:
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB24473BAAF403FC6FEBF8EA28B3C09@VI1PR0401MB2447.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	m5WmimVeRSDbhnO11cUpQBqRLrvzXAhVLl+K2ZvfJIltBAu2BVSfeL1VN7lAWQZrcPlDQUg4UUr0JptztJeUtmECtTPZ+2sdzEqatb/xL0ZhEmfQU5tFHfHbsP6d+3+Qp/Ga6ysk6QNEt5VeMwnhV9gumNOSlsScjDsijwlcn2BFo90k8qXra/+MUKgK1aIS+dAd45rTjjoTSeb8imLNjMFc1iEQmtzQBEl0szrV+mHeL4oPZ8EeBJtsN2CtLXSruGGkJC17a5yjvms1dO4vnreOmaVrjOn/ue/itHRib8d1PBEp5qswuDmjDA36iZFuouEPYlhLqIpsy7pv3SCsca1YMJagl7mnQay41Uei4V0WYdZ29lIFGHPyp3YZTxUQAvDNQ47ggeLzncWHAqynRTNcITYWUpge5QGyR35TQjgdRJGmwGP5niQKxXpcuXDW+YYyl8XInhLAgErcfzTZU0Bfy+IPWQUVlHoLIhbfxrOfoyy02FJfdbq7ZWA/wUVtrhqHJeKxt2j/FEMBS6CxJt4SrfWZNkv3etG/5VV1MAox/GVOHDOYwdmvFBf6Z3yO4zIW//YQspVkfHm4ovNwOK9RJ19KLohl4NTs0u7mqKoMiejqEc+Tmw/RfgrQ1/937tDkdt9MY9322Y1UE2eH+40WBTtSwD6IahUY72+6zJQ5afh/4smUhgvtEz+FXLuLixdwDkXQBqSxZM5LYv5gapFK3GlfAcc3ngaWWXRLa9M=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(39860400002)(376002)(346002)(396003)(366004)(136003)(2616005)(26005)(6486002)(5660300002)(38100700002)(4326008)(8676002)(316002)(54906003)(53546011)(110136005)(6666004)(478600001)(186003)(956004)(8936002)(66476007)(31696002)(16576012)(2906002)(31686004)(83380400001)(36756003)(86362001)(66556008)(66946007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aGV6cjV4TXk3L2dTZnJLaWlGNzBBSXEyMkJyKzIveG9yQ2VaWTUweGQrVmxV?=
 =?utf-8?B?YjR4V0tCMExiMkE0UGgxSmF0SUFLc2I2NkxtMmdQMUdKd0VacTNpYkhuU3NH?=
 =?utf-8?B?bWxjU0x1UWJKcnUwZ1V5T1ZaSDQyRXpQSWVjNW9iMnFidm5jd3JyNURIeDZq?=
 =?utf-8?B?NnR4REZjNEM5RmpRRmQ3WUlhbFZnU0FCN3BaV2tIR2ZKUXl6R2dqTXYyUTEz?=
 =?utf-8?B?S1BHcnNmL3NvZFBLZ0hYRnlBNk9FWnhMUE1IdGtFM0ROUGRZdUUyUGFTU2lq?=
 =?utf-8?B?UGpIZ0hOci8zWm5SZ3h6N040Y0VEZk1rbDlPS3VCWFFWaytidjRDYllFR29t?=
 =?utf-8?B?eXJKRm8zeC9DaTF1MUNobHE5MzBqaXdzZWlvQitxTEFBQVpMZkJNdDFGQmI2?=
 =?utf-8?B?dzdJcmdPTERHMnNaQ0o1KzdyUnA0Z1Z2c0VJMG5mQlNKbGxPTkRYdUVkZFg3?=
 =?utf-8?B?YXd6NEFtUGUvMFhBbXFHWDgzK055OXd1TXpIM01sUk5XK0FZaTRBV0RNcFN0?=
 =?utf-8?B?OEFLZFZ5OEVhSkJ0UjBMcjBqOVRMQ0VYZDcrOTBNS2wzaXl1WG5YeFZPY3Y5?=
 =?utf-8?B?ZXp1R0oxbm1xbEV5cXBseUtoQlBtQ1VNUlpjeVJkc01xQ1FaUlU1RUNPY0E0?=
 =?utf-8?B?OGFYcGh5WEhEbTdYM004dnVVMTdRTStHUzZaaHgxYzhFcEJITHVZNmswbVll?=
 =?utf-8?B?UHJCZU42VytXTStFbjl1SkYvbkpzRFM1U1NYWEthOTlBQnEvYWc0WHQ2V1FY?=
 =?utf-8?B?enZ5czlMNmE2UUU4aHlwZFB2YzFQOU5rTWVPK1VWemR1Y2UwbzdRcnUyT3dU?=
 =?utf-8?B?dEZPNGcyOXhJaU5GQzBzUzlkRE5hclVyQlhqUEpQS1hNV3lCSmlPYlpRbUVL?=
 =?utf-8?B?K0NqVzFqbFlSZ2s0RUo5V3FOTkwwQ1JRL3I2T0pZYWgrKzhZWE5LQ3QxUnFk?=
 =?utf-8?B?VFhIRit2NEoraE4rSENnTzlyNDgxbTFGVTJPVmRnU1IyY3VQK09ZRjNob2Nn?=
 =?utf-8?B?MXl4bmJqTHp0OXI4UUtjRnRFNkp2QzA4WGhVWEJTN3ZjekpMZmlGTGtFSzZr?=
 =?utf-8?B?bG0vUFBYMVZhZ2l2VFNBbS9RUDg2cUFNYVVSL3A0L040YzVNU3VDc3BmMUFw?=
 =?utf-8?B?eXNZSDhNaXB4QXRqNiswQjA1NWJaZjNKQW1qSzVUbmprWjV5M25oSHhlNmwz?=
 =?utf-8?B?MGp1am91R0JXK3BRRHNqQzhySm1yekFxS3YyTjNiZWJqT1FmNVF1cVo5K1Vm?=
 =?utf-8?B?V2p4Vzh2ZEhLakdwS0EvRUJQN3MwSmRxQlVrL01CME9EV0ttOVV6eENmRy9x?=
 =?utf-8?B?cHBtTmQ4YUxRRDV1ck1pbjVtcUxzeW9yMVloY2JYL2crdWpXZ2V0alVGQTNO?=
 =?utf-8?B?VWZKd3Z3WWV2YlpENTNUSG9SbmI1S2ZDSnRSSUVXbGNrbENQVGRTd0k0MFZI?=
 =?utf-8?B?YTNwSnZkbVNKNitWT1ZGVDFVdnViakFySnRTUFBQVGtYNzRVK0xtYndIVmY5?=
 =?utf-8?B?ZGhFQ2x4TU03VFZWZ3h0VWFOU0xRbFI4WEgwNkhCaU5iS25Pc0l2WE9jdHBH?=
 =?utf-8?B?S3dxWEhoRXdmbTJtc2VTdFlZcG5xOTlsVXJrZllNVTFoTlRJY1RoSWV3R3Vn?=
 =?utf-8?B?RmZrbm1CbkpoazdWZlo0Zk85RERUSXZNa0IvbjdVVGxjYWNYMTJaQzZudlFL?=
 =?utf-8?B?T1ZoQW0rWi9QczVjQTRzMWVQbkpUU3dZVzVYd1RKSlp3VmVEckxhTzdNNjVO?=
 =?utf-8?Q?EyAySWsBkf4wEGYdDD+4UtjYh5PB5Yd1AfuiHz0?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7f716e34-21bc-415a-6e5c-08d96316e48d
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2021 13:40:22.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: sGVjQaDccC31ep5EwLBuRD3u1CbwJHrQI2PXkPkn4wKsBr4kD0BtNjkVBxXoxfY6Qj/RRFEqJOrfxH15kW6iPA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2447

On 19.08.2021 14:35, Julien Grall wrote:
> On 19/08/2021 13:02, Rahul Singh wrote:
>> Hardware domain is in charge of doing the PCI enumeration and will
>> discover the PCI devices and then will communicate to XEN via hyper
>> call PHYSDEVOP_pci_device_add to add the PCI devices in XEN.
> 
> There are other PHYSDEVOP operations to add PCI devices. I think it is 
> fine to only implement the latest (CC Jan for some opinion and confirm 
> this is the latest). However, this ought to be explained in the commit 
> message.

I don't think "latest" matters much here. Considering there was no
physdevop support at all on Arm, enabling whichever set seems like
a good fit would be okay.

Having written this I realize that by "latest" you may mean whether
the used sub-ops have not been obsoleted by newer ones (rather than
the last ones that were added to the physdevops set). While indeed
PHYSDEVOP_pci_device_add hasn't been superseded so far, I have a
vague recollection of there being some missing part. Without me
remembering details I'm afraid using what is there is the best we
can do for for the moment. However, ...

>> --- a/xen/arch/arm/physdev.c
>> +++ b/xen/arch/arm/physdev.c
>> @@ -9,12 +9,45 @@
>>   #include <xen/errno.h>
>>   #include <xen/sched.h>
>>   #include <asm/hypercall.h>
>> -
>> +#include <xen/guest_access.h>
>> +#include <xsm/xsm.h>
>>   
>>   int do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>>   {
>> -    gdprintk(XENLOG_DEBUG, "PHYSDEVOP cmd=%d: not implemented\n", cmd);
>> -    return -ENOSYS;
>> +    int ret = 0;
>> +
>> +    switch ( cmd )
>> +    {
>> +#ifdef CONFIG_HAS_PCI
>> +    case PHYSDEVOP_pci_device_add: {
>> +        struct physdev_pci_device_add add;
>> +        struct pci_dev_info pdev_info;
>> +        nodeid_t node = NUMA_NO_NODE;
>> +
>> +        ret = -EFAULT;
>> +        if ( copy_from_guest(&add, arg, 1) != 0 )
>> +            break;
>> +
>> +        pdev_info.is_extfn = !!(add.flags & XEN_PCI_DEV_EXTFN);
>> +        if ( add.flags & XEN_PCI_DEV_VIRTFN )
>> +        {
>> +            pdev_info.is_virtfn = 1;
>> +            pdev_info.physfn.bus = add.physfn.bus;
>> +            pdev_info.physfn.devfn = add.physfn.devfn;
>> +        }
>> +        else
>> +            pdev_info.is_virtfn = 0;
>> +
>> +        ret = pci_add_device(add.seg, add.bus, add.devfn, &pdev_info, node);
>> +        break;
>> +    }

... I don't think it should be only "add" which gets supported. "remove"
exists not just for the purpose of hot-unplug, but also for Dom0 to
remove (and then re-add) devices after e.g. bus re-numbering. (There are
some gaps there iirc, but still ...)

> This is pretty much a copy of the x86 version without the NUMA bit. So I 
> think we want to move the implementation in common code.

+1 (if sensibly possible)

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 13:42:24 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 13:42:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168827.308282 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGiJL-0001Km-Uq; Thu, 19 Aug 2021 13:42:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168827.308282; Thu, 19 Aug 2021 13:42:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGiJL-0001Kf-Rf; Thu, 19 Aug 2021 13:42:23 +0000
Received: by outflank-mailman (input) for mailman id 168827;
 Thu, 19 Aug 2021 13:42: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 1mGiJK-0001KZ-Hx
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 13:42: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 1mGiJJ-0000MX-Ng; Thu, 19 Aug 2021 13:42:21 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mGiJJ-0001ym-HY; Thu, 19 Aug 2021 13:42:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=uN3Yz2JUfasxeZpsVtPb5fk0A7iRyX40aNC0cPU/8aw=; b=vW56ITKEyDNkUahnllML3tsaGr
	QpX1LhHlGXdq0QbA4VETIzL0sra2ulbWa8WhVucNeh970AwVM2K/aWr4UNVobLN4FuX5JOK7/rO+X
	eDL4gsRM21k5Bq0m4z9WlRONBXgOvbZoJsKJH8n445IEmuQGSQKy95XpK/jkkmE4eOeA=;
Subject: Re: [XEN RFC PATCH 00/40] Add device tree based NUMA support to Arm64
To: Wei Chen <wei.chen@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, jbeulich@suse.com
Cc: Bertrand.Marquis@arm.com
References: <20210811102423.28908-1-wei.chen@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <ff5d713d-02e7-0376-3f3a-053f1b93b98f@xen.org>
Date: Thu, 19 Aug 2021 14:42:19 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Wei,

On 11/08/2021 11:23, Wei Chen wrote:
> Xen memory allocation and scheduler modules are NUMA aware.
> But actually, on x86 has implemented the architecture APIs
> to support NUMA. Arm was providing a set of fake architecture
> APIs to make it compatible with NUMA awared memory allocation
> and scheduler.
> 
> Arm system was working well as a single node NUMA system with
> these fake APIs, because we didn't have multiple nodes NUMA
> system on Arm. But in recent years, more and more Arm devices
> support multiple nodes NUMA system. Like TX2, some Hisilicon
> chips and the Ampere Altra.

All the platforms you mention here are servers (so mainly ACPI). 
However, this series is adding DT support.

Could you outline the long term plan for DT? Is it going to be used on 
production HW?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 13:54:49 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 13:54:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168831.308292 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGiVH-0002th-2A; Thu, 19 Aug 2021 13:54:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168831.308292; Thu, 19 Aug 2021 13:54: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 1mGiVG-0002ta-VQ; Thu, 19 Aug 2021 13:54:42 +0000
Received: by outflank-mailman (input) for mailman id 168831;
 Thu, 19 Aug 2021 13:54:41 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/7+2=NK=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mGiVF-0002tU-1o
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 13:54:41 +0000
Received: from smtp-out2.suse.de (unknown [195.135.220.29])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 340f3e41-39b2-465b-a7dd-4dc0350287f3;
 Thu, 19 Aug 2021 13:54:40 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 1738A1FDA4;
 Thu, 19 Aug 2021 13:54:39 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id C39631363C;
 Thu, 19 Aug 2021 13:54:38 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id 0F9QLZ5iHmHXfwAAGKfGzw
 (envelope-from <jgross@suse.com>); Thu, 19 Aug 2021 13:54:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 340f3e41-39b2-465b-a7dd-4dc0350287f3
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1629381279; 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=r1+ltUWql8Ucc9tu8CwNbwMd7GT5PEksV9EGwMbyiEs=;
	b=S8y3bOffmFypQTUO8JXATOFkSIOGckjlbrG1AIHmLZ1fEJBV5F1rpR3hEbWvMdNSSkJVvh
	Z3pw6ySeBSykp3pevT64zN3OURH5xveO8eJ4vnsBd+jzYOoD6HLERIhI9o0/TcI23GjR6Y
	WAlv6FPUSAF3+U1RYrRJ6oUq35dVAk0=
To: Ian Jackson <iwj@xenproject.org>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>
References: <24862.23463.360542.801702@mariner.uk.xensource.com>
 <20210819132617.10668-1-iwj@xenproject.org>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH] SUPPORT.md: Explicitly desupport pvgrub1; and support
 grub-pv
Message-ID: <caa66294-1beb-959f-c117-53562a0d00f7@suse.com>
Date: Thu, 19 Aug 2021 15:54:38 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <20210819132617.10668-1-iwj@xenproject.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="FBecpNaKSJmL9KgPg0frJcrSk9XaoXx7z"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--FBecpNaKSJmL9KgPg0frJcrSk9XaoXx7z
Content-Type: multipart/mixed; boundary="WwsGgCgvvv3tNZinQXQZkpaGCdypxPIfa";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Ian Jackson <iwj@xenproject.org>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>
Message-ID: <caa66294-1beb-959f-c117-53562a0d00f7@suse.com>
Subject: Re: [PATCH] SUPPORT.md: Explicitly desupport pvgrub1; and support
 grub-pv
References: <24862.23463.360542.801702@mariner.uk.xensource.com>
 <20210819132617.10668-1-iwj@xenproject.org>
In-Reply-To: <20210819132617.10668-1-iwj@xenproject.org>

--WwsGgCgvvv3tNZinQXQZkpaGCdypxPIfa
Content-Type: multipart/mixed;
 boundary="------------8B950C7A6B8728467F8A371B"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------8B950C7A6B8728467F8A371B
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 19.08.21 15:26, Ian Jackson wrote:
> We can no longer conveniently even test pv-grub1; osstest tests for
> this have just been dropped from all Xen branches
> (by osstest.git#8dee6e333622).
>=20
> This is without prejudice to its eventual removal.  We should perhaps
> proceed cautiously with that since it may be helpful for some old
> guests.

Probably, yes. OTOH keeping just old binaries should work without
any problem. This might be worth considering.

Especially as this would open up the path to drop the support of
32-bit libxenctrl/libxenguest support on 64-bit platforms in case we
want to got that route.

> Under the circumstances, I think this patch has to be a backport
> candidate to all still-supported trees.
>=20
> CC: Juergen Gross <jgross@suse.com>
> CC: Jan Beulich <jbeulich@suse.com>,
> CC: Wei Liu <wl@xen.org>
> Backport-requested-by: Ian Jackson <iwj@xenproject.org>
> Signed-off-by: Ian Jackson <iwj@xenproject.org>
> ---
>   SUPPORT.md | 22 ++++++++++++++++++++++
>   1 file changed, 22 insertions(+)
>=20
> diff --git a/SUPPORT.md b/SUPPORT.md
> index 317392d8f3..9db027a85f 100644
> --- a/SUPPORT.md
> +++ b/SUPPORT.md
> @@ -832,6 +832,28 @@ OVMF firmware implements the UEFI boot protocol.
>  =20
>       Status, qemu-xen: Supported
>  =20
> +### grub-pv aka pvgrub2 (guest bootloader)
> +
> +    Status: Supported
> +
> +Support in upstream GRUB2 for running in Xen PV, to booting Xen PV
> +guests.
> +
> +Collaboration (and security coordination) and fixes will be provided
> +by the Xen Project, as needed.
> +
> +### x86/HVM pvgrub1 (aka stubdom pv-grub)

s/HVM/PV/

> +
> +    Status: Obsolescent, limited support
> +
> +GRUB1 compiled with minios and Xen stubdom, to run in guest context.
> +This is provided in the Xen source distribution for the benefit of
> +very old guests; it is no longer tested, but build and functionality
> +fixes are welcome.
> +
> +pvgrub1 is not security-supported.  However, it runs in guest context,=

> +so there should be no implications for host security.
> +


Juergen


--------------8B950C7A6B8728467F8A371B
Content-Type: application/pgp-keys;
 name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Transfer-Encoding: quoted-printable
Content-Description: OpenPGP public key
Content-Disposition: attachment;
 filename="OpenPGP_0xB0DE9DD628BF132F.asc"

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOBy=
cWx
w3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJvedYm8O=
f8Z
d621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y=
9bf
IhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xq=
G7/
377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR=
3Jv
c3MgPGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsEFgIDA=
QIe
AQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4FUGNQH2lvWAUy+dnyT=
hpw
dtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3TyevpB0CA3dbBQp0OW0fgCetToGIQrg0=
MbD
1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbv=
oPH
Z8SlM4KWm8rG+lIkGurqqu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v=
5QL
+qHI3EIPtyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVyZ=
2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJCAcDAgEGFQgCC=
QoL
BBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4RF7HoZhPVPogNVbC4YA6lW7Dr=
Wf0
teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz78X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC=
/nu
AFVGy+67q2DH8As3KPu0344TBDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0Lh=
ITT
d9jLzdDad1pQSToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLm=
XBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkMnQfvUewRz=
80h
SnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMBAgAjBQJTjHDXAhsDBwsJC=
AcD
AgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJn=
FOX
gMLdBQgBlVPO3/D9R8LtF9DBAFPNhlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1=
jnD
kfJZr6jrbjgyoZHiw/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0=
N51
N5JfVRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwPOoE+l=
otu
fe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK/1xMI3/+8jbO0tsn1=
tqS
EUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuZGU+wsB5BBMBAgAjBQJTjHDrA=
hsD
BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3=
g3O
ZUEBmDHVVbqMtzwlmNC4k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5=
dM7
wRqzgJpJwK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu5=
D+j
LRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzBTNh30FVKK1Evm=
V2x
AKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37IoN1EblHI//x/e2AaIHpzK5h88N=
Eaw
QsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpW=
nHI
s98ndPUDpnoxWQugJ6MpMncr0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZR=
wgn
BC5mVM6JjQ5xDk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNV=
bVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mmwe0icXKLk=
pEd
IXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0Iv3OOImwTEe4co3c1mwARA=
QAB
wsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMvQ/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEw=
Tbe
8YFsw2V/Buv6Z4Mysln3nQK5ZadD534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1=
vJz
Q1fOU8lYFpZXTXIHb+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8=
VGi
wXvTyJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqcsuylW=
svi
uGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5BjR/i1DG86lem3iBDX=
zXs
ZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------8B950C7A6B8728467F8A371B--

--WwsGgCgvvv3tNZinQXQZkpaGCdypxPIfa--

--FBecpNaKSJmL9KgPg0frJcrSk9XaoXx7z
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmEeYp4FAwAAAAAACgkQsN6d1ii/Ey95
5Af/dnB5Lwm201QVjvUgLXCckmxq//CL8MRcrfz680DY8qJk3DomNx8Mjg/Cas4rAvHOJlKR9oRo
/LMjxJF6cCXEmlyiyAPYfFXeeZH23TfklzLvF49ZfkJmx4egqDVnk5iH3SrWG+VJ3/0NjQ4iLpvd
pjZ3qn2dtfPEci4dMYYDxcX5lqTSLbcG6QcMdI62Uif34JDufeLhKUj1hs/Z9G8XF4eSqFu7+MnA
mYMVI1en8RPGhVw54ZXTMKdGHVeYFmhA7V/RBS3OBBEHj7Zgqc026QIcUykFSl7CX73LWZQev4sx
Fd/OXrDFsS/bqEMhReLpi4jRxG8wnzO9ug+Tw+6isA==
=Vo2+
-----END PGP SIGNATURE-----

--FBecpNaKSJmL9KgPg0frJcrSk9XaoXx7z--


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 14:04:40 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 14:04:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168837.308304 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGieq-0004Vu-26; Thu, 19 Aug 2021 14:04:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168837.308304; Thu, 19 Aug 2021 14:04: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 1mGiep-0004Vn-V4; Thu, 19 Aug 2021 14:04:35 +0000
Received: by outflank-mailman (input) for mailman id 168837;
 Thu, 19 Aug 2021 14:04:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGieo-0004Vh-Tp
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 14:04:34 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGieo-0000ok-S6
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 14:04:34 +0000
Received: from iwj (helo=mariner.uk.xensource.com)
 by xenbits.xenproject.org with local-bsmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGieo-0004Py-R2
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 14:04:34 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.89)
 (envelope-from <iwj@xenproject.org>)
 id 1mGiel-0001uY-Dq; Thu, 19 Aug 2021 15:04: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=References:In-Reply-To:Subject:Cc:To:Date
	:Message-ID:Content-Transfer-Encoding:Content-Type:MIME-Version:From;
	bh=aiChozqk8NtZcHheZOm5sKFiXHDJq5xPxzof/ZAuA58=; b=SkwoF0OydS/wM4L1Zx/EpMLd+B
	0ptdTTpls1zDUUUo6p62mPS00+jEkxMbBrEZfz8e7twEK4lXhQovPy6U/omrE+AIH+YertFPYjSKY
	b86gHZ+juis0anehxGFfp+jeiY/+xrT9dqG6FB8lSfR/1x4AMnyWRpZn3hQmi27NxQkw=;
From: Ian Jackson <iwj@xenproject.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <24862.25839.173006.316105@mariner.uk.xensource.com>
Date: Thu, 19 Aug 2021 15:04:31 +0100
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org,
    Andrew Cooper <andrew.cooper3@citrix.com>,
    George Dunlap <george.dunlap@citrix.com>,
    Jan Beulich <jbeulich@suse.com>,
    Julien Grall <julien@xen.org>,
    Stefano Stabellini <sstabellini@kernel.org>,
    Wei Liu <wl@xen.org>
Subject: Re: [PATCH] SUPPORT.md: Explicitly desupport pvgrub1; and support
 grub-pv
In-Reply-To: <caa66294-1beb-959f-c117-53562a0d00f7@suse.com>
References: <24862.23463.360542.801702@mariner.uk.xensource.com>
	<20210819132617.10668-1-iwj@xenproject.org>
	<caa66294-1beb-959f-c117-53562a0d00f7@suse.com>
X-Mailer: VM 8.2.0b under 24.5.1 (i686-pc-linux-gnu)

Juergen Gross writes ("Re: [PATCH] SUPPORT.md: Explicitly desupport pvgrub1; and support grub-pv"):
> Probably, yes. OTOH keeping just old binaries should work without
> any problem. This might be worth considering.

Mmm.

> > +### x86/HVM pvgrub1 (aka stubdom pv-grub)
> 
> s/HVM/PV/

Oops, fixed in my tree.

Ian.


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 14:06:01 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 14:06:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168841.308315 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGigC-00055g-Ep; Thu, 19 Aug 2021 14:06:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168841.308315; Thu, 19 Aug 2021 14: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 1mGigC-00055Y-AT; Thu, 19 Aug 2021 14:06:00 +0000
Received: by outflank-mailman (input) for mailman id 168841;
 Thu, 19 Aug 2021 14:05:59 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=k4Ha=NK=arm.com=Bertrand.Marquis@srs-us1.protection.inumbo.net>)
 id 1mGigB-00055Q-DV
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 14:05:59 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com (unknown
 [40.107.6.52]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 935b1f44-00f6-11ec-a619-12813bfff9fa;
 Thu, 19 Aug 2021 14:05:58 +0000 (UTC)
Received: from AM6PR01CA0040.eurprd01.prod.exchangelabs.com
 (2603:10a6:20b:e0::17) by VE1PR08MB5712.eurprd08.prod.outlook.com
 (2603:10a6:800:1a8::5) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Thu, 19 Aug
 2021 14:05:53 +0000
Received: from AM5EUR03FT040.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:e0:cafe::db) by AM6PR01CA0040.outlook.office365.com
 (2603:10a6:20b:e0::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.18 via Frontend
 Transport; Thu, 19 Aug 2021 14:05:53 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT040.mail.protection.outlook.com (10.152.17.148) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Thu, 19 Aug 2021 14:05:52 +0000
Received: ("Tessian outbound f11f34576ce3:v103");
 Thu, 19 Aug 2021 14:05:52 +0000
Received: from c02992660319.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 12CBB185-9DD2-407F-ABD0-2DB03CB78198.1; 
 Thu, 19 Aug 2021 14:05:37 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c02992660319.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 19 Aug 2021 14:05:37 +0000
Received: from PAXPR08MB6446.eurprd08.prod.outlook.com (2603:10a6:102:12d::10)
 by PAXPR08MB6781.eurprd08.prod.outlook.com (2603:10a6:102:136::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Thu, 19 Aug
 2021 14:05:35 +0000
Received: from PAXPR08MB6446.eurprd08.prod.outlook.com
 ([fe80::3184:5465:27b6:f27d]) by PAXPR08MB6446.eurprd08.prod.outlook.com
 ([fe80::3184:5465:27b6:f27d%9]) with mapi id 15.20.4394.023; Thu, 19 Aug 2021
 14:05: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: 935b1f44-00f6-11ec-a619-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=J5sJO4RYKoPo5pFPIf4+Nip0srXvLOreumnczkLY4OA=;
 b=pTMZygRBJBeYW266du/gOp+PxNxwEC9M72OwZctkOl/ZAHUY1Z3WsxowKsYP2c2NR2Wz2TuyuykjgIP9YZMTG8P96IIb6CquxJ6d53nTtVX/x3BKzoCe7B3pR/RZ3VqaBriwh+stLHV5OoVjpLJMV7jZBdH3GJEaynrYL9IfaCs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 009d67b6e6480f2a
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mBljL8b9kzwkxlfW96FS+EsEHb15A1/UZyyTudoI9rqkP26KhiwwuSt+9YtWYeWzX2vNuv11L+BqtSf5wJDAUv7AlT8y0f1vQS7F3LaF/TntqHtvsq05xsnQDH/DNAHpnB6nPwfObu+BoWRHfPQRbbrPNGeON+uiJcWuMbOBSSnixemnDGU7UAQJVh1IRwXErwiW+H73DLBmxHohtM1rZYEuiZUdngANSghpkv5BRYfRwOGR7Uyo2K4GlgujbdpOOp8uv6pDrt4ISUT28BrEGjWG2TDOzu17cVFeovE2jolYXB6UPisFoAegHPqR9yNxCNICC4yI0os5mP/3vmIcGQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=J5sJO4RYKoPo5pFPIf4+Nip0srXvLOreumnczkLY4OA=;
 b=baPPEHmVVJhpBprP8pIvYKxTAsES0c5xkwW+zXLBwQvWJZ5mu1KxQ/IjCfia+ZE8evSzW6rkWBZd0nNsMJk4oI97+0GbztoLBnQWZ2IAQAITmbN7DspcSGIuv+BsEFw8jVFTnxrSvMD41SREvPYwSH4oBD5PlWAQcWxujd8g/NxIkJov2vwQcZIurkfBZfwlLvMbfwhIVszjkdlQ12c4rytQpniphsdvuVSSTBQzYw+Wb8DEJstUcE9lHsFM/Mk8jezEuoBJlIk2LBUPmIWeq7jqHy6OmlpuGi8yQCPrWccC0SkOJDiuWH1w2oYqO24ZdB6IuTb1Q/asfi0HjleoCw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=J5sJO4RYKoPo5pFPIf4+Nip0srXvLOreumnczkLY4OA=;
 b=pTMZygRBJBeYW266du/gOp+PxNxwEC9M72OwZctkOl/ZAHUY1Z3WsxowKsYP2c2NR2Wz2TuyuykjgIP9YZMTG8P96IIb6CquxJ6d53nTtVX/x3BKzoCe7B3pR/RZ3VqaBriwh+stLHV5OoVjpLJMV7jZBdH3GJEaynrYL9IfaCs=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: Wei Chen <Wei.Chen@arm.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>, "jbeulich@suse.com" <jbeulich@suse.com>
Subject: Re: [XEN RFC PATCH 00/40] Add device tree based NUMA support to Arm64
Thread-Topic: [XEN RFC PATCH 00/40] Add device tree based NUMA support to
 Arm64
Thread-Index: AQHXjpsc0u1zoSXj8UWFUOOk6YsPO6t64tiAgAAGgYA=
Date: Thu, 19 Aug 2021 14:05:35 +0000
Message-ID: <83288BD9-EADB-45A9-90C1-D1F89F0A21D5@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <ff5d713d-02e7-0376-3f3a-053f1b93b98f@xen.org>
In-Reply-To: <ff5d713d-02e7-0376-3f3a-053f1b93b98f@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.3654.120.0.1.13)
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 1b811229-ddb3-4343-86b2-08d9631a7496
x-ms-traffictypediagnostic: PAXPR08MB6781:|VE1PR08MB5712:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<VE1PR08MB5712740987C212D0B26D373F9DC09@VE1PR08MB5712.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:6430;OLM:6430;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 Y+X8K05du1SToQl+Fog0SVT6Ee6zoehE4kcoKrY4eKAOYYeSg7wwmUoz6l5+UqR9BQJO+03CQfK15nHIJx6LAsweY4kQW1VQJVRnfGOD0mWbgHm4FDUhYzxChzcxW7WvuoG/c+jK8rQQ8CPMhvEAbpdD8Bm/esvVVX4wWFsLWexojPT6jNULVa4CFMM8C68oHw2Laytwmd9oYgMOZUJ70Ry2vVdlCcv0y/rbUtGf5cSyEhTcJwpOHBhZIMJYEMn/HiDcx5CUm8b5SYenhXvQCTtXRfVsnsyxILAh9d3u9ZeafiJgI2iYwMjSA2/WwBjNx7wmUU1IMMPzn8rKtN1qgMqqg2NlXhXSyXLCIqysJ+DKLy4mg4949nPCdIsNz1SvQk42su8b2b9H/NZbDz224W6Qfk2VGXK+iZyaZOAafVDJ3UPTZN4qLDcmdk9GdnPTCCW0f6avb51CZ5LqiogwEgVKvYj+70F22/FGtLEtb6D6wMm2D75J6RZ7GY5m+D5wpVcNq6341WCcH2D78mZ+H0IOUrJLSX2oQCiLe/O/Bm2Vru6XxaCYffIp3gVhEXYJFwxRjnxzMsZL0+YYz3tt53GlWrUMNQiiJqWswS8YJwmq2WoMJXBZUi6w0WSaRWzmHKz0E0F22Cyd2gtGg+Qie/uIF4nWct7+mzgFed6N+Q7R503+NF4fjENpzZyXZ2g2h9qYkWrsQ1TIfYn9cy4KplM55rjAF85Ofzv0Xz1nmqkeso6jK9UvomNjQ904WqFZ
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB6446.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(346002)(396003)(366004)(136003)(39850400004)(376002)(4326008)(6506007)(53546011)(5660300002)(71200400001)(6486002)(38070700005)(76116006)(186003)(36756003)(66476007)(66446008)(66556008)(54906003)(478600001)(66946007)(26005)(91956017)(64756008)(6512007)(8936002)(8676002)(316002)(2616005)(33656002)(86362001)(38100700002)(122000001)(2906002)(6916009)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?duRIsuGbc8GPZgTGOn3M4KcA44m2oMwB8LIvJzDLP6A83mKj963McSR+xb0D?=
 =?us-ascii?Q?UVyx6TZzFHuw7hG5i5nVZarc2hAvi3r6iXX5/LYFS8MdzYiJWGEHvxJXSHP9?=
 =?us-ascii?Q?u6kL73JqISBfDPnUz4WXntAm724pS5Nzj3g2xRpRe2/3jiWUFbIyNLM5PVIC?=
 =?us-ascii?Q?1BW/cbXM23sWRpVmxUIsCH7a44l+KeMPepO6TN2sj9mlKsnTZ677SrDr9Tk9?=
 =?us-ascii?Q?SMdi/fALs8OQs987HEjKtq07rgwMvj5i4ApEbaLqIp/a94qb804NFu5o8QEq?=
 =?us-ascii?Q?uD/cbVqU7liBOyH1mJYlUp5YySbYyUzZX3/VzU7czcasuJYNMHhvy+qYpYj3?=
 =?us-ascii?Q?42GcrxUhvH0DbadbANWCCRQVPzbGe0EO2NHAXCt8Jmpd4EMzXp30v76Ps4th?=
 =?us-ascii?Q?ABbPlBjyFGwOj9EjB+5qFQRGlZgcx2Vv51RIktP7mc15nftwfOEMNIXA5NqP?=
 =?us-ascii?Q?6KJexZXncZsBsUVi1TZDyYmdeJ0YNEdCMUcRTYyXn1bMYQ42e7Mcz7JkEK/J?=
 =?us-ascii?Q?QPWOkWWa7h9SnfuBVU/2jNySyDWPU4ezJfGiAW1oU9xD/yps9gXlsbErhrp5?=
 =?us-ascii?Q?NUDdErsms35TbKDyzzPrmqmNKFa9kxPm+mu8Knuo0vc9vf3iJ5kPefQwcHW/?=
 =?us-ascii?Q?gBK3uw4FQ4+7s+DTJT3NXyMEn8QkoGHpifwePZeU99gTd/c/waGMYjV5/yVQ?=
 =?us-ascii?Q?Z0gffkAwWW/1loj7WLJoVbj+UF6PyNsDjToB26kQGSHIkh3Cx3C/tbblmrBJ?=
 =?us-ascii?Q?eu85w0oBQ7sAU4Uq4fmT+1XMLXyhDrNl1gDUtB74euDnZTtzC6UX7rrQ8F1O?=
 =?us-ascii?Q?Y5u80iZmWFIbLRxPOaWN9lyeS2cOK7EtbkhinV+XT9ehF33CYbL7gTis262f?=
 =?us-ascii?Q?HYjp84A65s1bCOJVxD3MkbLzulnU+ogTtd155WUF+//Cd0QILKNeOBX0KhTH?=
 =?us-ascii?Q?hBbOS0vJMKHHd3cpj+rbzNDkapZ7lkX6E/A32QI6CjeeDkuDpe7+ii7XCXRW?=
 =?us-ascii?Q?W3HEr9zAfoREsVG8c94ZWxNzTpdw/5k2m3UR0IveULUeOTFbk4k6bDYmVlJf?=
 =?us-ascii?Q?mIOqrayqqPBPdfDiGSHodPC9Tv4inY2gYWbgVIFLQSFhX1mCCht/AbP77eXk?=
 =?us-ascii?Q?UnFgDA4csQuGWmHYlfls5I2o9tc3iugHYEQMRMeIRzJTzksYPFpkwW5YQR7s?=
 =?us-ascii?Q?uvZIdv4YoPa+BJb6rRFYrBHqtjmVJ/JDt1592fUScZkPQPTKlMfLC8cXSD3G?=
 =?us-ascii?Q?MmSMzT1OPeKjlovj1Fnr796peIlttXvXxNQgSkaz4+bEC4ZBY7sIN/JUUa4D?=
 =?us-ascii?Q?SdQlrV9rGZLYpmR6R583feEa?=
Content-Type: text/plain; charset="us-ascii"
Content-ID: <3AD04A4218509344BEB4821385487710@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6781
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT040.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	b246acd4-fb98-49ed-d869-08d9631a6aac
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NF+/04BzK2GLL9HYKR2GGU0lQId32mZOZFrQ1pFBRUPkKU6S5rbc2s7n0ca8DJIKU3Ykh96z/vndxuS4I9FAPOyQuf4Q1FqtofDSj+7C1QXi2NBEu2uDm/AnRr9A+2lTWmLpYNeBnxZArIBHHFQgobv7bc2NLiJxe1zkEnQbbmtkrGPdoZfmLjEUmOpbe4uoy0ad59z8VQJrCO5xuhflkVurBSos0tj1kZdQCl7VJKQRQY9Z7kR4uMTS4CQG2Rlhr1Y9bwych4fMkBJqLjTxJn/Dhp8RFhepXV61Wx57QZ2SdvNnyUd5RIllhQQAsEyiB8AtOBTrQ6zZbGIsA1bxxh+eX9lw4EzTHml+w6q44fZpQ49G6G3DEb2YLfzt3FXedaGqPZf1F9gv4azSUa8v9EzuGzKbwsq3I4CUn/lOpD4mxs6I61+YfEYr+XKl0lY9ObMxLooo8h26wRLKCKK6nblzH8Jiu8L1gE0GJ8TgUUecxJsUw92FaROoQ6/iHIshOv0iU/jfSdTAtIP6NyuA2TvTpIJe2pdnS8jSlnqLdojRHbYvavZaCh+gNj2O3euFxWb67gxumN92mD5K3ubw5TwmPyNq55r5EhcSgMgGVMq0dv6sLBzwX+E1VHR0i54n3riy9g5BStQU6YlUI6i3rbywrj8drATQSPxE/bA8MYStXQ2690k63Lr5U6FbcSyYE8b7BVgCRFvXxYhYbx5ZLA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(136003)(396003)(39850400004)(376002)(346002)(36840700001)(46966006)(82310400003)(82740400003)(81166007)(8676002)(478600001)(2906002)(86362001)(2616005)(6862004)(33656002)(4326008)(107886003)(336012)(8936002)(26005)(70206006)(36860700001)(53546011)(186003)(356005)(70586007)(6486002)(5660300002)(54906003)(36756003)(6506007)(316002)(47076005)(6512007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2021 14:05:52.5417
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1b811229-ddb3-4343-86b2-08d9631a7496
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT040.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5712

Hi Julien,

> On 19 Aug 2021, at 14:42, Julien Grall <julien@xen.org> wrote:
>=20
> Hi Wei,
>=20
> On 11/08/2021 11:23, Wei Chen wrote:
>> Xen memory allocation and scheduler modules are NUMA aware.
>> But actually, on x86 has implemented the architecture APIs
>> to support NUMA. Arm was providing a set of fake architecture
>> APIs to make it compatible with NUMA awared memory allocation
>> and scheduler.
>> Arm system was working well as a single node NUMA system with
>> these fake APIs, because we didn't have multiple nodes NUMA
>> system on Arm. But in recent years, more and more Arm devices
>> support multiple nodes NUMA system. Like TX2, some Hisilicon
>> chips and the Ampere Altra.
>=20
> All the platforms you mention here are servers (so mainly ACPI). However,=
 this series is adding DT support.
>=20
> Could you outline the long term plan for DT? Is it going to be used on pr=
oduction HW?

Yes we are already and will continue to use this on production HW.
Some embedded hardware will have some usage of NUMA (as some embedded funct=
ions do require lots of computing power).
We are doing experiments of that right now using those patches.

Cheers
Bertrand

>=20
> Cheers,
>=20
> --=20
> Julien Grall



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 14:09:57 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 14:09:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168847.308326 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGijs-0005qe-3l; Thu, 19 Aug 2021 14:09:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168847.308326; Thu, 19 Aug 2021 14:09: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 1mGijr-0005qX-VV; Thu, 19 Aug 2021 14:09:47 +0000
Received: by outflank-mailman (input) for mailman id 168847;
 Thu, 19 Aug 2021 14:09:46 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KGBc=NK=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mGijq-0005qR-4s
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 14:09:46 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 89893ef2-01db-4357-8a46-37c7881625ef;
 Thu, 19 Aug 2021 14:09:45 +0000 (UTC)
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur03lp2055.outbound.protection.outlook.com [104.47.10.55]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-36-NCENcGizMk-zCIf1oY7UOg-1; Thu, 19 Aug 2021 16:09:42 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4848.eurprd04.prod.outlook.com (2603:10a6:803:55::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Thu, 19 Aug
 2021 14:09:41 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Thu, 19 Aug 2021
 14:09:41 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P251CA0005.EURP251.PROD.OUTLOOK.COM (2603:10a6:102:b5::12) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Thu, 19 Aug 2021 14: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: 89893ef2-01db-4357-8a46-37c7881625ef
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629382184;
	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=PGu7DKlvwxRpP226AGwTWWbu50CFyIs2SldBfi3CJ2M=;
	b=WHsZS48XkZsKyyCEnjshRBIQfJo88I1Drg7ZX5anGmVF7ZwWKErvhhTbkPGzd81BjvPQ49
	wZ8q6lbkIvoHUix3F4oA5qJcRghv2KkbUoKQnmLxtx5TyOQFoxbvQV/ogKOPM2i0kyuY2E
	JQ/gzyCyJJZSF7Ca2JOJDPeS/gXKEl8=
X-MC-Unique: NCENcGizMk-zCIf1oY7UOg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bwiUiJ4WG9cGzHKPhmYxi+aekZ0UWSWG8CM88NQfV6VzIf7xPGWclHfejm/+wNi4ciMGL6RgHicJjdg98DsXVsfSGtJW7pzBvVLdw3iBg+dQAGhTj+Mv7rIHObNBa1daAgoTVRiX4WT0ehbNWP8PvtWAnQWBDBImKx20ZhX5IXB9am9T7J7T30TCt9F5/K6XmumGND13bWwqED76Dr4mcKFEgoEgBzM/rL1NjF0m7s8Xtj/QS/OJ+S02b3u3iTY3eMnVlVVKF6Zq28E9tNydNdWiXrGUPHmQNXGj4/KiX+iCnGg2tG4/4478CFBF5pmEy2onU8dtlMWiHmdmurt1Ig==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PGu7DKlvwxRpP226AGwTWWbu50CFyIs2SldBfi3CJ2M=;
 b=Cr5s0FvbtNPhx1/iKJFhja8BuyyaPuXlKDBzJr0mTmWCogm2u19Y5L1oJvfgnNIlQT3txpRdWQxq3xThbUA4jE/WUI0LaYG+H08K4N/G0zkIcSpZR/ANtnc4MBoX9RoLNg03mat5pOBiePjfdH065F5yxn48+mS0mC6UDXnrPqI1WKTDYW77/Q/A7pmVkw7CGRylmeE1AQAzji892EMUYw6LWpO7dGX6645LxIUEsVieEJRGKBwjLtQSYye0uR8Wqeggw92nNie8C1Z32q/l28SztBoU+ZZPeWcZt9n0CGhGG9PVqDxbchnO93I/cSFb4DJK65vNrG2YgyyE/HwbjA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
To: Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 Anthony Perard <anthony.perard@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: "failed to free memory for the domain" from "xl create"
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Message-ID: <f0cb59af-383b-62fc-d627-a4e3bee48874@suse.com>
Date: Thu, 19 Aug 2021 16:09:36 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P251CA0005.EURP251.PROD.OUTLOOK.COM
 (2603:10a6:102:b5::12) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 798e4f55-01a5-49ff-7b0c-08d9631afcac
X-MS-TrafficTypeDiagnostic: VI1PR04MB4848:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB484840C6809BB3982899CFF0B3C09@VI1PR04MB4848.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	RxxtMoG+rMMTrliqQtRQjwx6joywJwfc+eE0qAx+zo/+zgHOhY9yv/gxNsIdEYf8twVrTn52Chx/DLz2sOVtavFtuLLvRywuU4SpVLU0itu04psMrlllQcJ/4g0lhd7Qn6JD1Rzkhk2lz493XVg0aERYoDU5RHAy5HsPCxJVCAh/6ql8lqGTH7Qo8BeZckytzGJ4vpVYUVxYJYZXBif6EVN39Ru+5UFV5zzu3Ja3d3spaurNETJrEuOq25uJR2IY14b7Vc5e6K3fzW68eNptq8VNtfcQx3hIYDPJpPl4tnrxZkb/LbsMIFUs7xcoxEcP7nxVqMEYJ881whRk0oxbs1+uWhOokEzIItOkisliFre615qfTf4EitdsqUeFdiQtB9i5SonJjThFPlMnZ+QNSi6MyR69hnxqpZm4bTz711P75z1lpCjptnLpRzH6pLcdz1OAnn9fPG53qZrv6vwJqqf2WS0JNQly+aVBTuGVX3Bcb+nDilxemHJMQ506foFANb4u69jtfdExHx//9rakeBs8Zw4fqYsy2g0mo8+GaRxJkoFbUT+Arl6BGqs/6hhb8kjsWm2b/1cymb4IJtz4zKBZDGf1siFWZd8ZoQzV2Ht/NR72raKI6KF+0UDoOdwIrPzUOEB/dr+ftYNyrQvOIQs75gymvaLHB9s9E8YJ1sFwOx69Wj4uBjuEGARgfVgG3mAJeUrf4AhxzwLztKWidfZFHPZkbCYGxjDMjfTUOxc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(376002)(366004)(396003)(136003)(39860400002)(36756003)(186003)(2616005)(4744005)(110136005)(31696002)(38100700002)(4326008)(16576012)(316002)(6486002)(2906002)(26005)(5660300002)(956004)(478600001)(6666004)(8936002)(8676002)(31686004)(66556008)(66476007)(86362001)(83380400001)(66946007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SDBIaHRFYklFYkdQNTVTYlljNkozdFhXYUtod0ttUm1QR0JsaUJMRlB0SlNZ?=
 =?utf-8?B?WTZYNmlQT3NzRWoyUWlWSkpoUlJjdHZuOFZwM2JsM2VmaVNPclIxY2luRHFa?=
 =?utf-8?B?NHgyY0FNL2VhYVhrbkZlQ0tYZmxTM2lyazd5RjZodkRWTDV2Yng3RVpkdHU4?=
 =?utf-8?B?UnlNY3BYRGxGUXlyNG1Tbys0dHRXWlNsNFdZSjQyYjluMFlMajVZTDQ2ZStO?=
 =?utf-8?B?UklZcUtHbHhFNC94RDQyWUZhWitLUk9qRE1iQ09aTU13WWZhZW5jY1Z6bUt6?=
 =?utf-8?B?NUFNcmhZQXprOW5tZlhhekFWMFc3MDBMUHZoS01PMjhtT2lOeFQ1bXFZMTg0?=
 =?utf-8?B?cW5jK2pxaXM1SXNaQ3pLUW5oT0szOTRrV0hFQW9hU2ZaRTd3UXZybmVsekg1?=
 =?utf-8?B?UHVzVzk0MXNqU3QrVmI1Z2IvUjgxbGs5NlN1dVI5NUlYM1JqSFNEbHFaV0FY?=
 =?utf-8?B?RnhReWlHUE5LL1pnZFFBdjcyQzRWK01JTDNPck4veDZGOEcvUDkvUFNFQUZv?=
 =?utf-8?B?SGdWc2NRK1lqM285SndIbzVWdmZ2WXY0d0RPM2U3cWtFSTJTc3AreXVxMWI1?=
 =?utf-8?B?QVJKbDNEQ0FxQXNaZkxNMk1mY1dGTkl6bGZtQmVHUURoWHY2U2ZPakpCSUhK?=
 =?utf-8?B?MndSdmFBaGN4ejY5QmI3eGhYQVQ1Z1F2TEZmeXdHQW9zNjNZMW02UDQ1Wlp4?=
 =?utf-8?B?V0JhaVd5OFpRSWUweEcxb1dZaENBa0MvTG9QMVpieTNnVWs4VHRaUWhXb0dj?=
 =?utf-8?B?ODRUYmpvckZ3UWhkMGxIWWdFNDdGckY3dXJoRlc5RG9Zd1VPOEthb1hSeVV6?=
 =?utf-8?B?TnVCVy9CUVRmNlJqOWc1bHgyZjdLcVNjYlM0SUhlcGJaQm1EUDRORHo2RmRF?=
 =?utf-8?B?bXM3bUV1SHFiQnZzTER2b3dwL2J6d1Eyc3M2OURydjZTeGhvZlhtczZNVGJz?=
 =?utf-8?B?Zkc5amNRZnFIc05hS0NjUXNvR2tPVElnNW9tQUtKQUhlMk9HaWFtWGhUL1RN?=
 =?utf-8?B?bkNFWmJXUVpWSHJlZmhxUndjb3Z4UEwrQkllZEdhdG45b3g0TXN1RlFRTVhs?=
 =?utf-8?B?NXpTRjdrWUF1cjdIZ3Z0S0Q2ZDkzcmpVSkNtcTBqN3pFazVsR3NnSjN5S1Vq?=
 =?utf-8?B?OTZLY1ZiRFMrdURaUFkrYXVISCtkbWhIcnBadTlmWlROUThEclgyaU10aXB6?=
 =?utf-8?B?SHhFc0RNc09rS2dYeVhDc0NHaXMvaWdpWUtaQWVjTEFucVcrcG9TQW9oaFlj?=
 =?utf-8?B?dFE5Rk9FcW5vQnFWT3Q1WG1JTjI0Z3EzeVozVGtHRmlRb3NCd2w3TENSOUFC?=
 =?utf-8?B?ZEw2Ui9rSUhWUVRiTnRJYlNUUFlzT1BFQnptMjE2OU12cjhtMTA5QUF2Z3RV?=
 =?utf-8?B?VkZ5cW1mOVB2SlNHMUE4M1VJOTZOQ0xhckJYOXk5K3NwNzI4VFdaL0VnVlRw?=
 =?utf-8?B?VTRoWUg4QnpUdVVVQWJSM1craU50SkY5SVZOOTMxb1pyd3hONTZmR21idlI3?=
 =?utf-8?B?RWRDOU40cHM3ZEN1NnZYVzlYdGkwV2tiR0hjTDFRTmYwWmNoS3F6Mms5RWFF?=
 =?utf-8?B?R25YSGFhNm1mdXFpd2lpM0szZWNlaXI0aWZTYW1oVk9LL0JUcVFvSjJCK1dJ?=
 =?utf-8?B?aDJCMThpUFB3b1FsTGZoajhOT0h4SUV4RHJBOU8rc0hxZWFOdlFEZzRtMnpM?=
 =?utf-8?B?bEdEMUd1bkNDZXJiM1ZjSEpVSmtPRExsMlNzVjFudlgrZUFRTGxtSzJQME41?=
 =?utf-8?Q?x93thv8+ojmjzt5DB8bTj05f+N81AWb5c9Nof4U?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 798e4f55-01a5-49ff-7b0c-08d9631afcac
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2021 14:09:41.0366
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: PezWooYQWH8TeuGqGLs9sPJ9VyF8gZRkmmlNYV3VFr7GHDYb98WjRT4cftXqTNrjsRdnnObJrAEzf4gQy+ad9Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4848

Hello,

besides there not having been any indication what has gone wrong
(if anything in the first place), I wonder in how far the operation
of freemem() / libxl_wait_for_memory_target() is fully suitable for
all possible scenarios. I did create the guest in question on a
Dom0 running in strict mode on large IOMMU page mappings (as far as
they didn't get shattered by that point). If we consider the case
of Dom0 ballooning out a page that was mapped by a 1G mapping, then
the shattering of the 1G page as well as one of the resulting 2M
pages would result in _one less_ free pages in the end: The
ballooned out page was freed at the price of the allocation of two
pages to become page table ones. This looks to undermine the
"forward progress" determination, which I consider fragile anyway
as long as other parallel operations potentially consuming memory
aren't locked out.

Does one of you have thoughts towards possible improvements here?

Thanks, Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 14:16:20 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 14:16:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168852.308337 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGiq6-0007Ls-RP; Thu, 19 Aug 2021 14:16:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168852.308337; Thu, 19 Aug 2021 14:16:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGiq6-0007Ll-MW; Thu, 19 Aug 2021 14:16:14 +0000
Received: by outflank-mailman (input) for mailman id 168852;
 Thu, 19 Aug 2021 14:16:12 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Lr87=NK=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mGiq4-0007LZ-Kq
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 14:16:12 +0000
Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 00ed209c-00f8-11ec-a622-12813bfff9fa;
 Thu, 19 Aug 2021 14:16: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: 00ed209c-00f8-11ec-a622-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629382571;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=02KIBDVzYYnGejhT3Pa+neuNp7f/+MnZfhjFTFx5J+A=;
  b=Fm+Unvm1UXfLfY/2sI5fafVpjdU7iCGBaDxPvbx9/XhpiO9doViWd5Xm
   0rMmfP3uCQbfohFtSSMvvRaPOquhW/6SWPvskn2jIdrvAclj6YtZxxEqU
   fK4rgxW2mF7MtdwykqoRSlxGmdVxAKAP/KXCJMvSQiotktXnTE2lrQi/K
   g=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: 1nuZs55cE1zFjPE1nrB4OR/O/th4N64MRnf7aC6Zgldhzh0fgFZ8Z10iq6iLaTrK3hlchsSFtC
 yvo407OQAeUJgFwikh+c0wFdljtq24x12ZO4o5UJvLjlhHAH0KQ1rc84cYVe74Nj7S9A35Ya2U
 d/Y3ZS+XdUww5wVROCG05FXdfhI7Fa9ZSXvk4ZmgDJLjiJh+uIayNDvxz5/k9vnymNU53AzV0u
 C1Kk+/kclAx+9CjByVHA/EkqKYf/o7xSv30J39MR9hCbpo6FqSKesb6vMudFXIiNPDVK+YAswa
 w9ctSz/2LXYri6OwPyF9xIbW
X-SBRS: 5.1
X-MesageID: 50822205
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:h9wRPa52f8CdsaffIAPXwMrXdLJyesId70hD6qhwISY1TiW9rb
 HIoB17726RtN9/Yh0dcLy7V5VoBEmsk6KdgrNhWItKPjOW21dARbsKheCJrgEIWReOlNK1vZ
 0QCpSWY+eRMbEVt6jH3DU=
X-IronPort-AV: E=Sophos;i="5.84,334,1620705600"; 
   d="scan'208";a="50822205"
Date: Thu, 19 Aug 2021 15:16:07 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jiamei Xie <Jiamei.Xie@arm.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, "Wei
 Chen" <Wei.Chen@arm.com>, nd <nd@arm.com>
Subject: Re: Some questions about virtio-net on Xen x86
Message-ID: <YR5npyXm9SwZ8iMT@perard>
References: <VI1PR08MB3056C6F2FF2916207824CC1492C09@VI1PR08MB3056.eurprd08.prod.outlook.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <VI1PR08MB3056C6F2FF2916207824CC1492C09@VI1PR08MB3056.eurprd08.prod.outlook.com>

On Thu, Aug 19, 2021 at 10:38:49AM +0000, Jiamei Xie wrote:
> Hi all,
> I tried to run virtio-net on X86 machine according to the Wiki page https://wiki.xenproject.org/wiki/Virtio_On_Xen. 
> And I Encountered some confusing problems.
> 
> It seems eth0 is not virtio-net, properly a pv-net. I am really confused.
> 
>  I have the following questions:
> 1. Does Xen x86 still support virtio-net based on QEMU backend?

Well, we don't test it, and the libxl toolstack doesn't really help
getting virtio devices.

> 2. If yes, is there anything wrong in my guest config file?

The wiki state that you should add 'xen_emul_unplug=never' to the
guest kernel's command line. (That would be "extra" in your guest.cfg.)
I think that will prevent the virtio-net device from been unplug, and so
you will see the virtio-net device in the guest.

But since libxl create Xen PV device anyway, you'll still have the Xen
PV NIC, so two NICs with the same MAC.

I hope that help,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 14:17:23 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 14:17:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168857.308347 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGirD-0007x2-4F; Thu, 19 Aug 2021 14:17:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168857.308347; Thu, 19 Aug 2021 14: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 1mGirD-0007wv-1H; Thu, 19 Aug 2021 14:17:23 +0000
Received: by outflank-mailman (input) for mailman id 168857;
 Thu, 19 Aug 2021 14:17:21 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HKsV=NK=arm.com=Rahul.Singh@srs-us1.protection.inumbo.net>)
 id 1mGirB-0007wn-RS
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 14:17:21 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com (unknown
 [2a01:111:f400:7e1a::631])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id e676985c-696e-43dd-ac71-1b2cf01533bd;
 Thu, 19 Aug 2021 14:17:19 +0000 (UTC)
Received: from FR0P281CA0073.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1e::13)
 by AM6PR08MB4456.eurprd08.prod.outlook.com (2603:10a6:20b:b3::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Thu, 19 Aug
 2021 14:17:16 +0000
Received: from VE1EUR03FT020.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:d10:1e:cafe::e5) by FR0P281CA0073.outlook.office365.com
 (2603:10a6:d10:1e::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.6 via Frontend
 Transport; Thu, 19 Aug 2021 14:17:16 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT020.mail.protection.outlook.com (10.152.18.242) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Thu, 19 Aug 2021 14:17:16 +0000
Received: ("Tessian outbound 32695b2df2f8:v103");
 Thu, 19 Aug 2021 14:17:15 +0000
Received: from 13e9eb907c29.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 8BB61E8B-443B-4165-9D95-3884CC4296C2.1; 
 Thu, 19 Aug 2021 14:17:07 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 13e9eb907c29.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 19 Aug 2021 14:17:07 +0000
Received: from AS8PR08MB6919.eurprd08.prod.outlook.com (2603:10a6:20b:39e::10)
 by AM7PR08MB5319.eurprd08.prod.outlook.com (2603:10a6:20b:dc::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Thu, 19 Aug
 2021 14:16:55 +0000
Received: from AS8PR08MB6919.eurprd08.prod.outlook.com
 ([fe80::6c11:19f8:1422:5dea]) by AS8PR08MB6919.eurprd08.prod.outlook.com
 ([fe80::6c11:19f8:1422:5dea%3]) with mapi id 15.20.4436.019; Thu, 19 Aug 2021
 14:16:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e676985c-696e-43dd-ac71-1b2cf01533bd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MmbT6IoJ1AqhVmNkzwkZF7P+epA4Rhyp0PS77kuVJ/g=;
 b=nSGTYDszzfSp3PjV6tJBIz9MlyUMOkZvg7p1cu3jmdRGjytU8jbIN1euxn/JzFw+AWlTqpQnvX/ZQx96R4NBHcxkccRcJ+cZWD9kX1vhHLKKFzjxkYpjwyTHlVbmiT8RVFiOVrZPwgzJu0LncXJykzrFbhURuBZrx7UyZ1H5INI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 8d2a064346d90100
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WqdxIO248kKtGMxJvpteQwBeD6K8r4AjJrooiPilaDM7KLvXF9UOYXoHVUdV10AjY2CDcS1l5OaUwJ87PNmQbnVRfsq8v8tBb00qMoIqnRWuFkQpDOTJzIiORbvu2GrWsuRwS+SAMxxJ2IIIQJwjfLNK2U2EMCBCJy6zmnKU0UBAoRFYHnlfTFjOz1JrbMIxbkYxEpwzY76TO0940+ny+PxkdQqPC25Co0l4T1JgFKUpIC0rCpcJPLZHfOMtLQk+eeDbqw9iXXyldNFvbZzoey3hrbWj2j1yY0CbSkIw8XjTIUYTQtWN7QDxGrdtBdQtxxFDtrLEgwjlD7Y9VRc4Uw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MmbT6IoJ1AqhVmNkzwkZF7P+epA4Rhyp0PS77kuVJ/g=;
 b=FesI2nvFF0MVqE7oz+P1qjcH3s6VayQQTQD6CUZOBf2ZQrC2gNmldfyPUgHywuzvoi+XXDrFEYhhsrWR7e1rXaCdoOcnC6wk6EQPyWNgOU640NipdUAmJrKdsqnR23YXdYvrHjo7AgwyFzg7v6IQtOrVDFKQFHT/oPLymlHxURZYT/FB6VOMntRe8jAJ3nkqnRJFtUR8Hvn2civIDkdQwukKuCKrVpcrCv+X1wJT7LeZZei/sYblbMDOASwYcpICiWB08h/qCzuMMFEFM5VoFQDFHJvZHLtuvWQ8BNm2ZnQ5JRs3rGvxR/H799GbjqpYOlT6Y8ZQ8hqD9l+1CkfDnA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MmbT6IoJ1AqhVmNkzwkZF7P+epA4Rhyp0PS77kuVJ/g=;
 b=nSGTYDszzfSp3PjV6tJBIz9MlyUMOkZvg7p1cu3jmdRGjytU8jbIN1euxn/JzFw+AWlTqpQnvX/ZQx96R4NBHcxkccRcJ+cZWD9kX1vhHLKKFzjxkYpjwyTHlVbmiT8RVFiOVrZPwgzJu0LncXJykzrFbhURuBZrx7UyZ1H5INI=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Julien Grall <julien@xen.org>
CC: xen-devel <xen-devel@lists.xenproject.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, 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>, Ian Jackson <iwj@xenproject.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Paul Durrant <paul@xen.org>, Daniel De
 Graaf <dgdegra@tycho.nsa.gov>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>
Subject: Re: [PATCH v1 01/14] xen/pci: Refactor MSI code that implements MSI
 functionality within XEN
Thread-Topic: [PATCH v1 01/14] xen/pci: Refactor MSI code that implements MSI
 functionality within XEN
Thread-Index: AQHXlPJtf5AaTUXmz0eDPPo+F/e1VKt6vqQAgAAhMYA=
Date: Thu, 19 Aug 2021 14:16:55 +0000
Message-ID: <4909CE53-15AE-4A6D-A32D-69B5E6AC6DDD@arm.com>
References: <cover.1629366665.git.rahul.singh@arm.com>
 <d0b7b457762d481b19c8da6c2d55ff4acb4d6291.1629366665.git.rahul.singh@arm.com>
 <9022cf38-532f-05bd-d78d-50f46cdbd8f5@xen.org>
In-Reply-To: <9022cf38-532f-05bd-d78d-50f46cdbd8f5@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: b6f79e31-c4f2-44d1-94a6-08d9631c0c2b
x-ms-traffictypediagnostic: AM7PR08MB5319:|AM6PR08MB4456:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM6PR08MB4456D2E5CB97C0B9AC8ECB4EFCC09@AM6PR08MB4456.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:7219;OLM:7219;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 X0XwXUpYNHAB9pFxrsNtYD62J8C43Kn5Zq9OzIqDuw95jdwDiWsNjOvtfg1NFkIkNnkwzOgszMVsWiy19ebRMasg+R9024I9o13fWicBKAUYmO49F+b6OLBMpqAB3KaHU/3RHq0Vjc7/A5QbjqsM9JT1bN3UxgP+CZHPI6pVXLzQOc0vByBcWwE6u6u0vj9+DbxOxnccGMrF5Ql238G6HtEUayqM2CN+am6dlexs4TgzH15zmujC9F3G5LcrOuuYn54h3PG1GVIWdBnPjydW9vGGw+CZ1+feG53/JqSQLO/jjMVBxo9qL8p/leF3Mk5FNJj3l4w+Y/hBGNiRawbgDmn3N0GI8aqvbKgPguO5I7tS/IXAeGvnShVQpGLF48CSZJzi4EBfEQTb2Htp+gI4JPLaaxUGw4hMm6X4Qtv1nnL6tzWcUCInvGRKK5b9rFJEgde4WIxecdpzvTFEToC6W+hBqg5XaNmIpMLxetyokTd++0jJz4UN5hl0MqOaOufjR8cBRsCcQoVutHVx0HOVCkmcGJjHgiYmBZPt99rhk11AXqIPd/XlAs8mWxQMuLaP/hmrbQnr+3IiuUf7G74Pa3yyTgMW9skjjtXTc90NtLW1TdU26Gvelbqtf3pvTDLLL4Rh+CwyIOA8vBI9inPLsWoDzif0R09/4umSuSMgPWkLSfxquAURQSJ2y0aHmkCZM+dKAlZcibtVHJTZrV4+CXUWj4qibQtZ0QspAaP+H5C2jsEPQ1jKfiFt4QV+/eXp
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB6919.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(136003)(396003)(346002)(376002)(39840400004)(76116006)(66446008)(5660300002)(66946007)(83380400001)(6486002)(71200400001)(6506007)(66556008)(53546011)(66476007)(2616005)(38100700002)(2906002)(6916009)(186003)(91956017)(6512007)(38070700005)(8676002)(7416002)(8936002)(316002)(4744005)(26005)(86362001)(33656002)(36756003)(478600001)(54906003)(64756008)(4326008)(122000001)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?JS6z2dZhEFCB/1+slbpP8j4oYRfcNJNA3ff9ryvCMnnBg9Ip+XMrCqVdi9?=
 =?iso-8859-1?Q?oY1HXSI0qAw9HJ8wO3ryTgNgdVh6wYfQsHgJxOn8B8PAPDEkKSVYrsEpez?=
 =?iso-8859-1?Q?yqNokXp20WXOkZTt3XL0vfucD+H8AXOhvHKkwgSDrpr9Rl6HZZn3BirYI0?=
 =?iso-8859-1?Q?hyRLMXlpMeWdNY34qTfalO6d8juH6i02rG6LEmyoFXbVKtIpeNfmeNVS7p?=
 =?iso-8859-1?Q?n9hl2KNN5GPfbusm5vO7RAPniVY1/TQojl95jR6Es9Xb9xfuC0lUfOaIQU?=
 =?iso-8859-1?Q?eSOzJdLrdCqNcKM7raNOU9nQRKIW74tsnz5UsxQOkjPPlJw66L5q6b+jBT?=
 =?iso-8859-1?Q?INUqxG0cZ2p7E4OnB910Uq+PQhUBhopGO2VsM0fp1FYTqkGDH92QhKlrWl?=
 =?iso-8859-1?Q?h6RowyzrjppmogDLiNzKQZcJLEff3cTQLfX5F1+ZoN3ebVHRSILOiv0v1/?=
 =?iso-8859-1?Q?z0AfTokpTjlOmUtOnlDg8W4YsyBANGGRivo+NO/C1WBB6wHE4caX6QOIiy?=
 =?iso-8859-1?Q?Rtnr8BuOKvvimPZGEoSpAuYiKqwbM3fXrRUg4zcXdAbDpPzl2RHd20Ge4g?=
 =?iso-8859-1?Q?MSz3Zjm9WCxV+joibcThOL5MCH+Lf/3as6Mgi3byoDIfrNWOBPffRUJ1Ri?=
 =?iso-8859-1?Q?cTw0FUwpe6cuQr/3piC6dw3i/FksQ8ytjr4L0zE0dgwPoz/NcfkBMvuULP?=
 =?iso-8859-1?Q?6czIHSZnR//cGyeEAdOKqhhxB4qTD9MkUsfpyQLTUodGDVH9opX/3BQzIi?=
 =?iso-8859-1?Q?+C1aBUMtImM70Ym/sdwRpk3j6ZToR5lLJfFZoz3uwpYxq158TrfuQzP6Ov?=
 =?iso-8859-1?Q?ULR7MPpzlyw4wVgY6mY5qalvzfCt3V/dBLyuL6Qeuqp0kf/6k+rRh+Qy9g?=
 =?iso-8859-1?Q?cYAZgA9MjrAa9EWojdXm0FurZkafn5PSaq4QSN9ZiHlKqGxba4lYd2CEqj?=
 =?iso-8859-1?Q?MGI9PcGYZfQFRJ8I2/bdafJD/kNapFGLfq+5OazuKcsVa0BUoTfjV6ma2x?=
 =?iso-8859-1?Q?kWNWhzibJ3R1g3Pcbtqh7hOQb0UPPndYrj0RmrWgwSzowaYhlSfad6dDW9?=
 =?iso-8859-1?Q?ROVYOyh4TXEzPePFePA9+KvfV2h8APcxJHJHYBf8vu1AsxocZk77pfdWIS?=
 =?iso-8859-1?Q?4P6E5FGek8YkMwxKLaHxeMzurq6Tek+Z3ya/YvGwLwCkYNzQSuL3tP7IWT?=
 =?iso-8859-1?Q?X/pz8YQl+N0kw85VqqVOYeaGl0/RgcOEa0nAdBQJqev4h/1qdcWAHjSbEK?=
 =?iso-8859-1?Q?c0IW7YQju9ywe/rK1xpV2026hF9Xfn1PKP+QUixU0Iy+9lIPGM91Dpf51s?=
 =?iso-8859-1?Q?LWkiVvdnFmb04Y1Akua8GkvGCX6F5jjPHHV1GqfwUNP7He8DtU14AMhF4+?=
 =?iso-8859-1?Q?sw/dBu83Rg?=
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <FED564671AB7284096D8F33B2114E7CF@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5319
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT020.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	15f1a556-57fe-4895-8c4e-08d9631bffba
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ynPkOqtP2jQ6/RNcC//9N0Fu7zzLES+ttwqF1MY3//XUEalUeTWEgOan4tV6chhcM1iwHPgsdTnMWSE26I8vgw+KRXzUY32W4+vpD3ecSjmvg1wzEVJEJK8OusmC1MLlIxUQEYsJk55WZ/UrTx5iWha7zfQ+9OKkRZZOlmLPfzcTs/FXAm1jGUCe4K8QcI4exMlv1RH4InET/jGz0E8De7BQmLlniai+7mqpN+/HkOEXH3MHnC5Job1NZcPPa52s352FzpsT1jo/Mh9SCS3a1BhxHeabyQ7eFCKSwhaLw+nFCRnN26fYMvv0VH9dB0VKKDKx4eszNR2FVdh37P3XskuAeeIYyWGT1/IlrIBKu3TdG/luUpkCWeFWN1Fgno1C0g6V4rYWwGT9ug8zijVuZWUQ1cY2yQl6sOk1kGGjVTCDktRi1tqxHLPialHm2F+0sTuxG42LuJ1avdTWRg7h95s59HEjKXWN6K/qaCkSqEBguIt+tmlyz6Sm1mPcExYFYeXAJEzjnYe7tyufX/ssxc2mTrtDwvT26w6Er3hFD27V07VguRL8fvyVw21u5b/l5nI2Clm4QelP76WJ9hxXKpmRRCYZTfn/YYio+zixNjqBNgjqg0AqRK+xDaQ+wmM2CTcjOPziJ8GBWzZuoyCdS7juUmkBicoTtU85UWh7rju4RYOxflbQJSjYqVt2HVjXFE810ySr5m6S2DSiV0drTQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(39850400004)(136003)(376002)(396003)(346002)(46966006)(36840700001)(478600001)(8936002)(54906003)(4744005)(5660300002)(6862004)(316002)(8676002)(6486002)(83380400001)(81166007)(356005)(82740400003)(107886003)(2906002)(36756003)(6512007)(4326008)(53546011)(6506007)(336012)(26005)(186003)(47076005)(86362001)(70586007)(70206006)(2616005)(33656002)(36860700001)(82310400003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2021 14:17:16.2973
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b6f79e31-c4f2-44d1-94a6-08d9631c0c2b
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT020.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4456

Hi Julien,

> On 19 Aug 2021, at 1:18 pm, Julien Grall <julien@xen.org> wrote:
>=20
> Hi Rahul,
>=20
> On 19/08/2021 13:02, Rahul Singh wrote:
>> MSI code that implements MSI functionality to support MSI within XEN is
>> not usable on ARM. Move the code under CONFIG_HAS_PCI_MSI flag to gate
>=20
> Can you clarify what you mean by not usable? Is it because we lack of sup=
port or we have no plan to use it?

We have no plan to use it. Code moved to CONFIG_HAS_PCI_MSI will only be re=
quired for ARM if we=20
decide to support PCI device access (PCI MSI interrupt support) within XEN.=
 As of now, we are planning=20
to add support for PCI device access for DOM0/DOMU guests not for XEN.=20

Regards,
Rahul


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 14:21:42 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 14:21:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168863.308359 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGivK-00010X-Os; Thu, 19 Aug 2021 14:21:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168863.308359; Thu, 19 Aug 2021 14:21:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGivK-00010Q-KW; Thu, 19 Aug 2021 14:21:38 +0000
Received: by outflank-mailman (input) for mailman id 168863;
 Thu, 19 Aug 2021 14:21:37 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/7+2=NK=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mGivJ-00010K-IV
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 14:21:37 +0000
Received: from smtp-out2.suse.de (unknown [195.135.220.29])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 9832fc91-6a88-42a4-8d57-856ed8a11e96;
 Thu, 19 Aug 2021 14:21:36 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 9AEA11FDB1;
 Thu, 19 Aug 2021 14:21:35 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 2C6F613A10;
 Thu, 19 Aug 2021 14:21:35 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id OonpB+9oHmHbCAAAGKfGzw
 (envelope-from <jgross@suse.com>); Thu, 19 Aug 2021 14:21: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: 9832fc91-6a88-42a4-8d57-856ed8a11e96
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1629382895; 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=9am+WH5CaKaObOBoMW+SWmw9yBHmYygwgbXIXyRQrp8=;
	b=MbcOKe5bHbpxdPN6BiyWjy/QhyWNQfJFYFd3ThiAauQPuXpH437ZWxBoRPUjsS4yKLa3Pg
	Qbsent/OM829sLMIUkegayvKpxDqIBDcDFIdXjAfXc9YWYWOdR2OMUNmA6f9RG2sr/1Bbz
	3Fy3P9zePuiay+LgRCH3OHXFiqaQ4b8=
Subject: Re: [PATCH v2 04/13] libxenguest: short-circuit "all-dirty" handling
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>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>
References: <0bebfe8c-6897-dc8b-7fe0-9127d4996eb8@suse.com>
 <709a0dc1-bb68-4f06-b73b-fbefaa661c77@suse.com>
From: Juergen Gross <jgross@suse.com>
Message-ID: <363687df-1342-f244-99fe-c3b7365d2587@suse.com>
Date: Thu, 19 Aug 2021 16:21:34 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <709a0dc1-bb68-4f06-b73b-fbefaa661c77@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="7groudXO83IaqPo8c7PFFBmJjX3yiQKPL"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--7groudXO83IaqPo8c7PFFBmJjX3yiQKPL
Content-Type: multipart/mixed; boundary="HwEOp32Dwme48RIkwRRp4NxA2vNljZMDc";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>
Message-ID: <363687df-1342-f244-99fe-c3b7365d2587@suse.com>
Subject: Re: [PATCH v2 04/13] libxenguest: short-circuit "all-dirty" handling
References: <0bebfe8c-6897-dc8b-7fe0-9127d4996eb8@suse.com>
 <709a0dc1-bb68-4f06-b73b-fbefaa661c77@suse.com>
In-Reply-To: <709a0dc1-bb68-4f06-b73b-fbefaa661c77@suse.com>

--HwEOp32Dwme48RIkwRRp4NxA2vNljZMDc
Content-Type: multipart/mixed;
 boundary="------------D2D43DB0AC7005616D980688"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------D2D43DB0AC7005616D980688
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 05.07.21 17:13, Jan Beulich wrote:
> For one it is unnecessary to fill a perhaps large chunk of memory with
> all ones. Add a new parameter to send_dirty_pages() for callers to
> indicate so.
>=20
> Then it is further unnecessary to allocate the dirty bitmap altogether
> when all that's ever going to happen is a single all-dirty run.
>=20
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Juergen Gross <jgross@suse.com>


Juergen

--------------D2D43DB0AC7005616D980688
Content-Type: application/pgp-keys;
 name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Transfer-Encoding: quoted-printable
Content-Description: OpenPGP public key
Content-Disposition: attachment;
 filename="OpenPGP_0xB0DE9DD628BF132F.asc"

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOBy=
cWx
w3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJvedYm8O=
f8Z
d621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y=
9bf
IhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xq=
G7/
377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR=
3Jv
c3MgPGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsEFgIDA=
QIe
AQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4FUGNQH2lvWAUy+dnyT=
hpw
dtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3TyevpB0CA3dbBQp0OW0fgCetToGIQrg0=
MbD
1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbv=
oPH
Z8SlM4KWm8rG+lIkGurqqu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v=
5QL
+qHI3EIPtyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVyZ=
2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJCAcDAgEGFQgCC=
QoL
BBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4RF7HoZhPVPogNVbC4YA6lW7Dr=
Wf0
teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz78X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC=
/nu
AFVGy+67q2DH8As3KPu0344TBDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0Lh=
ITT
d9jLzdDad1pQSToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLm=
XBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkMnQfvUewRz=
80h
SnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMBAgAjBQJTjHDXAhsDBwsJC=
AcD
AgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJn=
FOX
gMLdBQgBlVPO3/D9R8LtF9DBAFPNhlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1=
jnD
kfJZr6jrbjgyoZHiw/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0=
N51
N5JfVRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwPOoE+l=
otu
fe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK/1xMI3/+8jbO0tsn1=
tqS
EUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuZGU+wsB5BBMBAgAjBQJTjHDrA=
hsD
BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3=
g3O
ZUEBmDHVVbqMtzwlmNC4k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5=
dM7
wRqzgJpJwK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu5=
D+j
LRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzBTNh30FVKK1Evm=
V2x
AKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37IoN1EblHI//x/e2AaIHpzK5h88N=
Eaw
QsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpW=
nHI
s98ndPUDpnoxWQugJ6MpMncr0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZR=
wgn
BC5mVM6JjQ5xDk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNV=
bVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mmwe0icXKLk=
pEd
IXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0Iv3OOImwTEe4co3c1mwARA=
QAB
wsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMvQ/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEw=
Tbe
8YFsw2V/Buv6Z4Mysln3nQK5ZadD534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1=
vJz
Q1fOU8lYFpZXTXIHb+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8=
VGi
wXvTyJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqcsuylW=
svi
uGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5BjR/i1DG86lem3iBDX=
zXs
ZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------D2D43DB0AC7005616D980688--

--HwEOp32Dwme48RIkwRRp4NxA2vNljZMDc--

--7groudXO83IaqPo8c7PFFBmJjX3yiQKPL
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmEeaO4FAwAAAAAACgkQsN6d1ii/Ey8p
rwgAjLzvDYIBMEjP6KMsEW+Nmm/bsCdTqe4cuTBVtnZRxROJlR0oj6T6VKaVuN7jK/vHZuG3HN7/
QkJ+xdo2pzXJMWavoyyNFuhJvcoPuxgBt6j+Nw2FiKy02AzFQJqiR9JWHYqrhvJ0A44Hcb++ug0x
HLbTDDmIxNheHQHXFBdTwT0QH0vp/FKRDL/EO3Oqdid54fYB4udA2xfGGJdInf++XNuuyQWaN7Ri
y/lwvyzQz0xImg/LSSegakAscu4NpkCTdNmIHCAHFUU4/lq0nL0TOZsGcWA8Tmpf9M+346hritt5
mnv9RFHnWl/8FTUqpmjdaRArpHXAGURveX7bhC8/+w==
=SlgN
-----END PGP SIGNATURE-----

--7groudXO83IaqPo8c7PFFBmJjX3yiQKPL--


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 14:22:33 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 14:22:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168868.308369 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGiwD-0001f4-5a; Thu, 19 Aug 2021 14:22:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168868.308369; Thu, 19 Aug 2021 14: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 1mGiwD-0001ew-2h; Thu, 19 Aug 2021 14:22:33 +0000
Received: by outflank-mailman (input) for mailman id 168868;
 Thu, 19 Aug 2021 14:22:31 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/7+2=NK=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mGiwB-0001eo-O3
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 14:22:31 +0000
Received: from smtp-out2.suse.de (unknown [195.135.220.29])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id e3200d8a-00f8-11ec-a625-12813bfff9fa;
 Thu, 19 Aug 2021 14:22:31 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 2B3811FDA5;
 Thu, 19 Aug 2021 14:22:30 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id DB09613A10;
 Thu, 19 Aug 2021 14:22:29 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id HHcGNCVpHmEiCQAAGKfGzw
 (envelope-from <jgross@suse.com>); Thu, 19 Aug 2021 14:22: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: e3200d8a-00f8-11ec-a625-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1629382950; 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=46WlUL5FSu+egOsTWFfLPJElvIsNWWUam1lljepROPs=;
	b=Vtqb5LZIy8dEKFThEHwWqxB3KkKDUioVM8JcJpXJPRA9frcHQJvCDh0jdOcEPEn9gPKdSX
	+B9lygiRgMAgOSZJ1xAs5nDSvEd9CIiuxMFZxXfBfTYArjmuAJ68ARaigec7J21asdSXqD
	na5xVVrctPpGsYdlE5kzeTrs5FnbEWY=
Subject: Re: [PATCH v2 05/13] libxenguest: avoid allocating unused
 deferred-pages bitmap
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>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>
References: <0bebfe8c-6897-dc8b-7fe0-9127d4996eb8@suse.com>
 <7996fff1-b004-b1b0-fc35-e1307340ce18@suse.com>
From: Juergen Gross <jgross@suse.com>
Message-ID: <44e31f3f-0b8f-30e2-bfbf-5e26ae557059@suse.com>
Date: Thu, 19 Aug 2021 16:22:29 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <7996fff1-b004-b1b0-fc35-e1307340ce18@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="ERqOX5SNcYiyvnP6Dua2TNZrmQOZPUKJQ"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--ERqOX5SNcYiyvnP6Dua2TNZrmQOZPUKJQ
Content-Type: multipart/mixed; boundary="1xOFPAKJ5JNfn5Ei0qdKWXt605IcelSii";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>
Message-ID: <44e31f3f-0b8f-30e2-bfbf-5e26ae557059@suse.com>
Subject: Re: [PATCH v2 05/13] libxenguest: avoid allocating unused
 deferred-pages bitmap
References: <0bebfe8c-6897-dc8b-7fe0-9127d4996eb8@suse.com>
 <7996fff1-b004-b1b0-fc35-e1307340ce18@suse.com>
In-Reply-To: <7996fff1-b004-b1b0-fc35-e1307340ce18@suse.com>

--1xOFPAKJ5JNfn5Ei0qdKWXt605IcelSii
Content-Type: multipart/mixed;
 boundary="------------4F10AFD4E7195B7B0169342E"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------4F10AFD4E7195B7B0169342E
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 05.07.21 17:14, Jan Beulich wrote:
> Like for the dirty bitmap, it is unnecessary to allocate the deferred-
> pages bitmap when all that's ever going to happen is a single all-dirty=

> run.
>=20
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Juergen Gross <jgross@suse.com>


Juergen

--------------4F10AFD4E7195B7B0169342E
Content-Type: application/pgp-keys;
 name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Transfer-Encoding: quoted-printable
Content-Description: OpenPGP public key
Content-Disposition: attachment;
 filename="OpenPGP_0xB0DE9DD628BF132F.asc"

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOBy=
cWx
w3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJvedYm8O=
f8Z
d621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y=
9bf
IhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xq=
G7/
377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR=
3Jv
c3MgPGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsEFgIDA=
QIe
AQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4FUGNQH2lvWAUy+dnyT=
hpw
dtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3TyevpB0CA3dbBQp0OW0fgCetToGIQrg0=
MbD
1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbv=
oPH
Z8SlM4KWm8rG+lIkGurqqu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v=
5QL
+qHI3EIPtyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVyZ=
2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJCAcDAgEGFQgCC=
QoL
BBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4RF7HoZhPVPogNVbC4YA6lW7Dr=
Wf0
teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz78X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC=
/nu
AFVGy+67q2DH8As3KPu0344TBDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0Lh=
ITT
d9jLzdDad1pQSToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLm=
XBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkMnQfvUewRz=
80h
SnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMBAgAjBQJTjHDXAhsDBwsJC=
AcD
AgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJn=
FOX
gMLdBQgBlVPO3/D9R8LtF9DBAFPNhlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1=
jnD
kfJZr6jrbjgyoZHiw/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0=
N51
N5JfVRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwPOoE+l=
otu
fe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK/1xMI3/+8jbO0tsn1=
tqS
EUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuZGU+wsB5BBMBAgAjBQJTjHDrA=
hsD
BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3=
g3O
ZUEBmDHVVbqMtzwlmNC4k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5=
dM7
wRqzgJpJwK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu5=
D+j
LRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzBTNh30FVKK1Evm=
V2x
AKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37IoN1EblHI//x/e2AaIHpzK5h88N=
Eaw
QsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpW=
nHI
s98ndPUDpnoxWQugJ6MpMncr0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZR=
wgn
BC5mVM6JjQ5xDk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNV=
bVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mmwe0icXKLk=
pEd
IXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0Iv3OOImwTEe4co3c1mwARA=
QAB
wsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMvQ/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEw=
Tbe
8YFsw2V/Buv6Z4Mysln3nQK5ZadD534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1=
vJz
Q1fOU8lYFpZXTXIHb+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8=
VGi
wXvTyJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqcsuylW=
svi
uGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5BjR/i1DG86lem3iBDX=
zXs
ZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------4F10AFD4E7195B7B0169342E--

--1xOFPAKJ5JNfn5Ei0qdKWXt605IcelSii--

--ERqOX5SNcYiyvnP6Dua2TNZrmQOZPUKJQ
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmEeaSUFAwAAAAAACgkQsN6d1ii/Ey+E
NQf/YcUkYpO8jxWi2k/DjyvPdbuE5m9rcfUEOp2J86j4POSebHLY5wF92Z/Q+DYfij80FFQvVcxX
wOmGGuzyI3VyK0/r8y1X/g+Bar0cVLI+w8lFVXPYuq6dda2SK1cOpLoUS4x3bbx7cbXnHlHDlxt8
ekzCVhA/j/oCXvTLenfYWu7kYh0YJIwm+cu7iPBDdYTh49DZRuXcY2dDMTLA0IdoG1D4tYygFobh
I2LQZuP7LGtXBarFcVcZkrPqWnVeEbNPhkXIUeNiFOLea498jNXTJXf06IZ9Kq/7TTH2bCDV7/Hz
L66eqdlw6tL6H/71lUqJ5Re4Z2RdXCqkz+Ybw/ustw==
=3sut
-----END PGP SIGNATURE-----

--ERqOX5SNcYiyvnP6Dua2TNZrmQOZPUKJQ--


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 14:29:47 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 14:29:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168873.308381 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGj39-0002OB-Tb; Thu, 19 Aug 2021 14:29:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168873.308381; Thu, 19 Aug 2021 14:29:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGj39-0002O4-Qa; Thu, 19 Aug 2021 14:29:43 +0000
Received: by outflank-mailman (input) for mailman id 168873;
 Thu, 19 Aug 2021 14:29:42 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/7+2=NK=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mGj38-0002Nx-K8
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 14:29:42 +0000
Received: from smtp-out2.suse.de (unknown [195.135.220.29])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ff396cc9-ca22-47fc-ba10-b2c8d0f139ad;
 Thu, 19 Aug 2021 14:29:41 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 B7A9C1FDA7;
 Thu, 19 Aug 2021 14:29:40 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 7056413A10;
 Thu, 19 Aug 2021 14:29:40 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id tSboGdRqHmFXCwAAGKfGzw
 (envelope-from <jgross@suse.com>); Thu, 19 Aug 2021 14:29:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ff396cc9-ca22-47fc-ba10-b2c8d0f139ad
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1629383380; 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=+hha0WK4MGSbErqnpiDyGubQ7lCqoDx3pKTyzY9GuGA=;
	b=h8KkCnflI5JHXAeG5mykE+w5uQK6FCeVJoA8k6DG8MBvUTDsv0tX+94mWY1KREXw/aOCHq
	Nlvv9IyPj8T2n7SYYnGzBjR1E6qzI8GcDzb2d56sUTFYwLMop6lfqBZuYgINLpavCaFCON
	t9M7NLyDVcPI7IQjMbz25NIWJVm7Xqc=
Subject: Re: [PATCH v2 03/13] libxenguest: deal with log-dirty op stats
 overflow
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <0bebfe8c-6897-dc8b-7fe0-9127d4996eb8@suse.com>
 <668ef720-389f-4cf1-608e-64aca4f7c73d@suse.com>
 <f69e5a2b-cd8c-3534-ab7b-427fb1fc1cdc@suse.com>
 <f0e9c8ad-dfa2-77ac-b3db-02cba59e843c@suse.com>
 <347edc1f-a104-1bc3-0cb2-2cfffcb6214a@suse.com>
 <a9fbd7c1-1675-50ae-6106-8a8625643930@suse.com>
From: Juergen Gross <jgross@suse.com>
Message-ID: <4441fb9f-d3eb-d443-b04a-534545671ff4@suse.com>
Date: Thu, 19 Aug 2021 16:29:39 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <a9fbd7c1-1675-50ae-6106-8a8625643930@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="Y7HHd6IA1lFKkx72IQJmwiPikEen7LfMB"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--Y7HHd6IA1lFKkx72IQJmwiPikEen7LfMB
Content-Type: multipart/mixed; boundary="Lnr00Y0f6XIijPBfqCSzNvjbvAqjc9RW2";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Message-ID: <4441fb9f-d3eb-d443-b04a-534545671ff4@suse.com>
Subject: Re: [PATCH v2 03/13] libxenguest: deal with log-dirty op stats
 overflow
References: <0bebfe8c-6897-dc8b-7fe0-9127d4996eb8@suse.com>
 <668ef720-389f-4cf1-608e-64aca4f7c73d@suse.com>
 <f69e5a2b-cd8c-3534-ab7b-427fb1fc1cdc@suse.com>
 <f0e9c8ad-dfa2-77ac-b3db-02cba59e843c@suse.com>
 <347edc1f-a104-1bc3-0cb2-2cfffcb6214a@suse.com>
 <a9fbd7c1-1675-50ae-6106-8a8625643930@suse.com>
In-Reply-To: <a9fbd7c1-1675-50ae-6106-8a8625643930@suse.com>

--Lnr00Y0f6XIijPBfqCSzNvjbvAqjc9RW2
Content-Type: multipart/mixed;
 boundary="------------742C01FE52AAAED5C3D73417"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------742C01FE52AAAED5C3D73417
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 19.08.21 13:51, Jan Beulich wrote:
> On 19.08.2021 13:25, Juergen Gross wrote:
>> On 19.08.21 13:06, Jan Beulich wrote:
>>> On 19.08.2021 12:20, Juergen Gross wrote:
>>>> On 05.07.21 17:13, Jan Beulich wrote:
>>>>> In send_memory_live() the precise value the dirty_count struct fiel=
d
>>>>> gets initialized to doesn't matter much (apart from the triggering =
of
>>>>> the log message in send_dirty_pages(), see below), but it is import=
ant
>>>>> that it not be zero on the first iteration (or else send_dirty_page=
s()
>>>>> won't get called at all). Saturate the initializer value at the max=
imum
>>>>> value the field can hold.
>>>>>
>>>>> While there also initialize struct precopy_stats' respective field =
to a
>>>>> more sane value: We don't really know how many dirty pages there ar=
e at
>>>>> that point.
>>>>>
>>>>> In suspend_and_send_dirty() and verify_frames() the local variables=

>>>>> don't need initializing at all, as they're only an output from the
>>>>> hypercall which gets invoked first thing.
>>>>>
>>>>> In send_checkpoint_dirty_pfn_list() the local variable can be dropp=
ed
>>>>> altogether: It's optional to xc_logdirty_control() and not used any=
where
>>>>> else.
>>>>>
>>>>> Note that in case the clipping actually takes effect, the "Bitmap
>>>>> contained more entries than expected..." log message will trigger. =
This
>>>>> being just an informational message, I don't think this is overly
>>>>> concerning.
>>>>
>>>> Is there any real reason why the width of the stats fields can't be
>>>> expanded to avoid clipping? This could avoid the need to set the
>>>> initial value to -1, which seems one of the more controversial chang=
es.
>>>
>>> While not impossible, it comes with a price tag, as we'd either need
>>> to decouple xc_shadow_op_stats_t from struct xen_domctl_shadow_op_sta=
ts
>>> or alter the underlying domctl. Neither of which looked either
>>
>> I was thinking about the domctl.
>>
>> Apart of struct xen_sysctl_page_offline_op this seems to be the only
>> left domctl/sysctl structure limiting guest or host size to values
>> being relevant. Changing those would be a sensible thing to do IMO.
>=20
> Yet in the context of v1 of this series, which included "x86/paging:
> deal with log-dirty stats overflow" (now commit 17e91570c5a4) we
> settled on these fields not needing widening. This doesn't prevent
> us doing what you suggest, but it would look pretty odd to me at
> least.

Sorry I was too busy at that time to have a detailed look at the
patches.

TBH I'd rather undo the stats overflow handling and widen the fields.
This is a rather simple patch and a much cleaner solution in the end.

I'm not insisting on that, but in case I had to decide this would be my
preferred way to handle it.


Juergen

--------------742C01FE52AAAED5C3D73417
Content-Type: application/pgp-keys;
 name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Transfer-Encoding: quoted-printable
Content-Description: OpenPGP public key
Content-Disposition: attachment;
 filename="OpenPGP_0xB0DE9DD628BF132F.asc"

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOBy=
cWx
w3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJvedYm8O=
f8Z
d621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y=
9bf
IhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xq=
G7/
377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR=
3Jv
c3MgPGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsEFgIDA=
QIe
AQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4FUGNQH2lvWAUy+dnyT=
hpw
dtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3TyevpB0CA3dbBQp0OW0fgCetToGIQrg0=
MbD
1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbv=
oPH
Z8SlM4KWm8rG+lIkGurqqu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v=
5QL
+qHI3EIPtyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVyZ=
2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJCAcDAgEGFQgCC=
QoL
BBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4RF7HoZhPVPogNVbC4YA6lW7Dr=
Wf0
teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz78X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC=
/nu
AFVGy+67q2DH8As3KPu0344TBDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0Lh=
ITT
d9jLzdDad1pQSToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLm=
XBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkMnQfvUewRz=
80h
SnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMBAgAjBQJTjHDXAhsDBwsJC=
AcD
AgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJn=
FOX
gMLdBQgBlVPO3/D9R8LtF9DBAFPNhlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1=
jnD
kfJZr6jrbjgyoZHiw/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0=
N51
N5JfVRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwPOoE+l=
otu
fe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK/1xMI3/+8jbO0tsn1=
tqS
EUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuZGU+wsB5BBMBAgAjBQJTjHDrA=
hsD
BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3=
g3O
ZUEBmDHVVbqMtzwlmNC4k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5=
dM7
wRqzgJpJwK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu5=
D+j
LRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzBTNh30FVKK1Evm=
V2x
AKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37IoN1EblHI//x/e2AaIHpzK5h88N=
Eaw
QsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpW=
nHI
s98ndPUDpnoxWQugJ6MpMncr0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZR=
wgn
BC5mVM6JjQ5xDk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNV=
bVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mmwe0icXKLk=
pEd
IXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0Iv3OOImwTEe4co3c1mwARA=
QAB
wsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMvQ/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEw=
Tbe
8YFsw2V/Buv6Z4Mysln3nQK5ZadD534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1=
vJz
Q1fOU8lYFpZXTXIHb+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8=
VGi
wXvTyJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqcsuylW=
svi
uGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5BjR/i1DG86lem3iBDX=
zXs
ZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------742C01FE52AAAED5C3D73417--

--Lnr00Y0f6XIijPBfqCSzNvjbvAqjc9RW2--

--Y7HHd6IA1lFKkx72IQJmwiPikEen7LfMB
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmEeatMFAwAAAAAACgkQsN6d1ii/Ey/5
Ywf+LcJsUgGDT0ulyu/EHwhNzvlWxyS8JCQm+kd1fzbxcRfBfbwr04FIl232KE2NNhQ1WHEmNkId
VwY81mwg9yoDtbcsXMtb/5pf/Okm9uBGE1upbaH8kzFC5TLjcxzNhbU7rBcv7/kM+Wh5Lj30WI4k
86x5/yYAr7q2q6DooRtDO115A2F2QyaSCmSIFE15e+iKEdNt/YPye1XOn3/x/ML/zBqCDVaPlbTx
rIRbltVZ1oWIjFk5Bg1DlZGJNsNW4aaCdbvuL9qt9I2SU2J7U1jQ2HTBG0/omTPT6HT59AssTppO
YMZG4FfZFf5JJYuiCC/01lwB7DRof9rLSnDBFZvIMw==
=i2FB
-----END PGP SIGNATURE-----

--Y7HHd6IA1lFKkx72IQJmwiPikEen7LfMB--


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 14:37:35 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 14:37:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168878.308392 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGjAf-0003vG-Pb; Thu, 19 Aug 2021 14:37:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168878.308392; Thu, 19 Aug 2021 14: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 1mGjAf-0003v9-KU; Thu, 19 Aug 2021 14:37:29 +0000
Received: by outflank-mailman (input) for mailman id 168878;
 Thu, 19 Aug 2021 14:37:29 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mGjAf-0003uz-1q; Thu, 19 Aug 2021 14:37:29 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mGjAe-0001So-RS; Thu, 19 Aug 2021 14:37: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 1mGjAe-0004WC-GH; Thu, 19 Aug 2021 14:37:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mGjAe-0005SK-Ft; Thu, 19 Aug 2021 14:37:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=rsugxjNpraOO3x8P39iK5QQgVfAnLyvwT/KAlujleU0=; b=GUWpRsbGyfuUragSfMDNGJI46D
	MdiBCrSPRXIvx/3jQPxRkzmjcFHX3p16aDRakO9PTw5sUpCy5XUM1weoImY02P4cQUmwBYG461r+6
	uEbjkEHtmA4hC3OJw91TKoL6091r8QHegeMsv66mddTJ6nho999tHHjoHFW4bITgXfOY=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164244-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 164244: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-amd64-pvgrub:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check: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-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-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-amd64-i386-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-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=ecf2706e271fa705621f0d5ad9517fe15a22bf22
X-Osstest-Versions-That:
    qemuu=703e8cd6189cf699c8d5c094bc68b5f3afa6ad71
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 19 Aug 2021 14:37:28 +0000

flight 164244 qemu-mainline real [real]
flight 164256 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/164244/
http://logs.test-lab.xenproject.org/osstest/logs/164256/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install       fail REGR. vs. 164152
 test-amd64-amd64-i386-pvgrub 12 debian-di-install        fail REGR. vs. 164152

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164152
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164152
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164152
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164152
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164152
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164152
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164152
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-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-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-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                ecf2706e271fa705621f0d5ad9517fe15a22bf22
baseline version:
 qemuu                703e8cd6189cf699c8d5c094bc68b5f3afa6ad71

Last test of basis   164152  2021-08-10 21:08:02 Z    8 days
Failing since        164194  2021-08-15 10:38:08 Z    4 days    6 attempts
Testing same since   164234  2021-08-18 02:37:17 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexander Bulekov <alxndr@bu.edu>
  Andrew Jones <drjones@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  David Hildenbrand <david@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Lara Lazier <laramglazier@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@redhat.com>
  Taylor Simpson <tsimpson@quicinc.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                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 490 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 14:39:08 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 14:39:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168885.308405 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGjCG-0004ac-9j; Thu, 19 Aug 2021 14:39:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168885.308405; Thu, 19 Aug 2021 14:39:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGjCG-0004aV-6i; Thu, 19 Aug 2021 14:39:08 +0000
Received: by outflank-mailman (input) for mailman id 168885;
 Thu, 19 Aug 2021 14:39:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mGjCE-0004aH-Nj; Thu, 19 Aug 2021 14:39:06 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mGjCE-0001US-KI; Thu, 19 Aug 2021 14:39:06 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mGjCE-0004cb-AN; Thu, 19 Aug 2021 14:39:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mGjCE-0000Sa-9y; Thu, 19 Aug 2021 14:39: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=ZAeZJFksBr8NdzpFTyt0ctRuL+Qbh0vwcKNMRE333Hk=; b=5YZzAGBkiR4amHYLK71excBkrH
	nN93NFC9QvMmKTmKcXmyb+uwH8fk2F4tXNpNki16y7Hs961MU5FUG9dWAQJQKgJh7uUgbmrHQ1jeJ
	ZCxbti/MpN5oyvpp0s0LLZd6NT3JoCqyK2aebJ/y18oZjdafph36QTg/ZezVf3fLZiuU=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164254-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 164254: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=5293470a77ad980dce2af9b7e6c3f11eeebf1b64
X-Osstest-Versions-That:
    xen=517a90d1ca09ce00e50d46ac25566cc3bd2eb34d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 19 Aug 2021 14:39:06 +0000

flight 164254 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164254/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  5293470a77ad980dce2af9b7e6c3f11eeebf1b64
baseline version:
 xen                  517a90d1ca09ce00e50d46ac25566cc3bd2eb34d

Last test of basis   164238  2021-08-18 08:00:27 Z    1 days
Testing same since   164254  2021-08-19 12:00:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Dario Faggioli <dfaggioli@suse.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                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   517a90d1ca..5293470a77  5293470a77ad980dce2af9b7e6c3f11eeebf1b64 -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 14:39:14 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 14:39:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168887.308420 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGjCM-0004uI-Lk; Thu, 19 Aug 2021 14:39:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168887.308420; Thu, 19 Aug 2021 14:39:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGjCM-0004uB-Ht; Thu, 19 Aug 2021 14:39:14 +0000
Received: by outflank-mailman (input) for mailman id 168887;
 Thu, 19 Aug 2021 14:39:12 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KGBc=NK=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mGjCK-0004tQ-Oq
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 14:39:12 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 377926b2-00fb-11ec-a627-12813bfff9fa;
 Thu, 19 Aug 2021 14:39:11 +0000 (UTC)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2169.outbound.protection.outlook.com [104.47.17.169])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-36-_RZQ8qCEPIKFb4EARbpMgA-1; Thu, 19 Aug 2021 16:39:09 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB3119.eurprd04.prod.outlook.com (2603:10a6:802:10::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.21; Thu, 19 Aug
 2021 14:39:07 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Thu, 19 Aug 2021
 14:39:07 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM4PR0302CA0001.eurprd03.prod.outlook.com (2603:10a6:205:2::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Thu, 19 Aug 2021 14:39: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: 377926b2-00fb-11ec-a627-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629383950;
	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=piQFJEwYN8aTQq5BcODBpOIW9jmbEtxFltx0I56fXZg=;
	b=HluBhHdD7K1Ox9rGEUH6Re4j8IwhsPfEmKlf8qv1RpVpNUISqNStFNpvz0lAiD2UaSCdwJ
	hJyttd4U+78Z4mvSZHDjQGL5aLsgj5MBXId2xcs250qPxkSSUW7I4kooimntQ9cKgQh121
	tszfiatg2deXuWmqWXFSOb68A/Ikg5E=
X-MC-Unique: _RZQ8qCEPIKFb4EARbpMgA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ivm21X4/NLYZWMfGm9gJ+NywhIfDd14uJVLLaGHTFa0fT6Krq7wTa4HGO+TJdN2XgwoqR0kVLSPBex4XqGUjPneNWhY1JjaZy0CgM0SEEijMHPInXXvZDlkZl3fkBBk0K2SonHR3H5QShriWcaQJ9x0Bv3lOdLQNCUFIimyjeaGbNB4DxT0ywlf+MHPt3CM9ZaFC6L77rjFf4kVrd5xhvV2/dIJynnYrjo9nkVowbh6YL7LTs6imLE5+otnvX5sIuP/X8vxxh2UGMR2nDXdmceHhs+DQ6kKKyWadz6VXrIh07Uh2+VqRpa3oEsDqlswuTRD9B4Ae86Z1asWiTTtXkQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=piQFJEwYN8aTQq5BcODBpOIW9jmbEtxFltx0I56fXZg=;
 b=ecRZ/4LSXcXoV0Q31zN9CUfQQK/IepYhK4l4glYtB12pPyLtaH19XeJSINc6AdUDl4Xy69X1LSI7nwWQy4coFjY4epZ1kyDG2ka8xq8l+RAIlDMRPs2+M1m3tTnSomUb3KbrgrCtgGgycQOEWefNLpcV2pdUnYgoAuBLt4lYJbDZvLYK2QITljUfCJOCoX35Le4pH0ZX8kFqAbw1/8ieqZ4gcdOImEsl/84LbkTUqG2jxC8V0sLeT1jVUhF9VaFjjAiPlOljMVXO8fIjMFPdpSx4wx097mihskJ/zvuA/GpqzVunDnPPbZPY8pbrDe9yobOZMD4l+Vis9ShDirfFIA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH 1/3] x86/spec-ctrl: Split the "Hardware features"
 diagnostic line
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: <20210817143006.2821-1-andrew.cooper3@citrix.com>
 <20210817143006.2821-2-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <1ba952b1-ad26-79e1-7aa9-af7df28774f6@suse.com>
Date: Thu, 19 Aug 2021 16:38:58 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210817143006.2821-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM4PR0302CA0001.eurprd03.prod.outlook.com
 (2603:10a6:205:2::14) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 01407923-8e1f-4b40-df4f-08d9631f1990
X-MS-TrafficTypeDiagnostic: VI1PR04MB3119:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB3119E079B3A5546E3FEDBE41B3C09@VI1PR04MB3119.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:2043;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BzO/GgwN7gsO9EsTcq+oKwWZujwgnAMsGaN2WX8fx4WI4mBKEVnH7AsicIgXEX3v3D3MEUTWOdKN7w1C3FCcFuzpimwsJ1/U4zg1lLRKnHBynNrpV7Q1P47THNNaMLL1l2Togu+umy2lXrNCD99kv6RvMwIZ94FplUimalofb0X3ita4wyflgonXZTHdu6836e/wC3EYxayjBKk8jloSdIyVzRgv3nf4dd712PHnnXv83egYonxjvOGRz4euBh8fm9CDYT4F4UJH6T6SzGC6/r3QjUAfPkQM34auvup8caB5Lw+M7d5HRBsYEGK72nIhzFWNtio6gHFQMlhdM6FeJ/BGgErp1udxOIVguYdbuKwxl3JDy24TL8KaHFPhgc46j+F1514AG0OK6z7GfTAL0C7g3L+1GJ6fbIgyUxr4Ba06qjBTbViItb+2ul/A2yyErHu9TaLmgJt6y+bnWgCvg9KiB74CwH41M2nNfj08u4C5SoZqad2POG693SnqiwCZ1eS5HvsWdpbgUO+NC+HuLh55XdHv7cK24lpgXhHxWCBzS5voFBaGvLgQPRiRuUHcYAAt9GjAjLk7f9J/DIWhYCExKoXdqVziKyfJhak2I8fImevlxf8oDUIn8CIZGhmSTRWihGBbmlCAy/CcTkNgUIw1gbLpRuQg9AmXYAdfWMo73YSMAq481yLVUvG3sJTL/ZnX9wZM2/8PygiMHqZvNsfJv3uaF/9Wy7431lsjjb4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(6916009)(508600001)(38100700002)(66476007)(2616005)(956004)(8676002)(66946007)(66556008)(5660300002)(31686004)(26005)(6486002)(186003)(53546011)(4326008)(2906002)(36756003)(54906003)(6666004)(86362001)(16576012)(31696002)(316002)(8936002)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MXVPc1UrYnluVTdsb1VoT2hKT1Q1UG5jODFlVzhzT1l2dHJ1WkxiS3J0eFR6?=
 =?utf-8?B?bVFqdnNyZFYyM2tiYnE3eHhndVNYWW5qNWFNSnBpV3N4MjMxRTc3SXdGeG4x?=
 =?utf-8?B?bnZzQ1h3NUw4MzZUalZyaW9uZE9SaXlMdk4yMWx0MzBQaUErdUprM1FyT1hI?=
 =?utf-8?B?MG9iMHN1MERSa1dTZ0REMDArSllhN3JvWjkxQ09nOFA1NzhETE81enJGQjgz?=
 =?utf-8?B?K2J0cStzNjhtRE5XcGhFMXYxR2EzOWJuUGdUN1RXdTFucWVEVmhiWjR1U24y?=
 =?utf-8?B?OG44YWxSMGNDMVdLRFZOT3U4c3BTTFJXazZBYzVnU2JOcVNJZzFWU2QvWklK?=
 =?utf-8?B?UmFYMVJvN0tJZzhsWkhJbFAzdkZxd1B5WUVzS05ESjJqQ0xyKzA4c3hTZGFv?=
 =?utf-8?B?QXRMZ0ZtcU50LzRIY0xidVZoa2FWbkFZTXFYUXA0K1ZRYm1Nb0xHVEo1ZVJr?=
 =?utf-8?B?UlBycDhYZ0J4T25WZ3hYQzBxTHdtSXUrUWpvN1dpVit5Mk95RmE5SFZVbjFv?=
 =?utf-8?B?aFBkeHJyOTIxSHhXU0p1YmR0RndnU0hNbW80eUpsRlNJT1Yyd3BRelhiT2R2?=
 =?utf-8?B?Vnl2N01mNmQxblJJWTAzQ250c0ZWYitCSTZza0lxNmRNL0hDOTBRcGxjeTNY?=
 =?utf-8?B?THhvWFJNSVlxM0owMnRuQVQyVkRXeVJ3QXdTcmJkRllyeVcvOTFWWUlRSDV3?=
 =?utf-8?B?RUNHaDBLb2F6b0tDd1l2aE9ZUVFiWE92a0JmTmlBcThzcFU5UDBVQ0FRME1P?=
 =?utf-8?B?ekR4TzJOeGZQU2gxSDRLRkxKK1lPUzhIMDVtU3RuZXQxVUhXQ1Y0ZU51eTFJ?=
 =?utf-8?B?Z2hMZ0ZHNS9PaG9DYThGNmprVUszVWt0Q0tNTHJDS2lqd2pXT3Y0bVhpVkJ1?=
 =?utf-8?B?NFpqaVgrdldpMVNOYzhtaFA5SFVheVlMRC8xdGc0dGw4ejBGZWdqRDRoKzJC?=
 =?utf-8?B?bXFZTVN6RVk5OHNyRm52NDVOalFzRXN1ZFVwQlF4bmxZVGd3Qm56cmVRbGNK?=
 =?utf-8?B?NDNjeUVueWJJbDZESU9FdTBsQTluS3RJU2hDZ0c2TlRhNjlRcVRjSXZaS0VP?=
 =?utf-8?B?cEsrVVBwaWlmNW9YTWtIVGVQY1dlN25NOVlsbTdLNVcvbStFOXo1NEtCclUy?=
 =?utf-8?B?dDVvemFsKzJJd21yem8xcGxxTU53bmM3dThoQjlPWE80M0RrcVBsMngyUTNp?=
 =?utf-8?B?KzhuZ3J5bmk3SnlORlJ1L0hKOHNGWWpQQlJYK0xKM3ovRGhXU05NUnQ5c0dU?=
 =?utf-8?B?QmowbjArcWwyQkFuMXoybDBqTm5uVncwWDZtT1hQVWRZL2pDYjFkTXphVlh3?=
 =?utf-8?B?RDZpT1IyVXJFUkpVbWh5Q0JLQTJrMTNncmEwTGxUT2c0ZUlLNlR5WHpKYkVF?=
 =?utf-8?B?T0Z4UVJ2ZHdBYTN6MTJwVlBOMHRjaGxQNHk4UFdxZFJBZzloOXVGRktZTlFU?=
 =?utf-8?B?Z0Nscm1GUTd6TWxKSkxWcGRSWGFVbC8yV0NKSW9qaFFPdWJiOGkwcTcvWjdF?=
 =?utf-8?B?TCtYZURtTXlhMFdYWk1zTUcwVVdUaVd6ZStEMTI0VFZ5TVVOYVpncjhhQ0Yy?=
 =?utf-8?B?Ukh2K2dQRzBheHMzU25pY3dmc3dzQVFJeU1qMGExWlViRnZOVWpoelo1bGxv?=
 =?utf-8?B?QU0wODZSMmdiMGR0VkI5VFNGckRXenRRb3dEbzFRdzYyU3dZVVZZQmNSMWgr?=
 =?utf-8?B?b1BXZmE3Wi9KbWlmVkZIdUxDQjdmb0NldHdVSmxLTXRWK3VSS3VwaytKYVp3?=
 =?utf-8?Q?NblPusSHv6lTU0ekmu28I77KkhgRpnS/J6tjjBT?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 01407923-8e1f-4b40-df4f-08d9631f1990
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2021 14:39:07.4526
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9D0HANTTwMH5F/SPfwXGF0aPisSQkOGWilYcUqcAMKMK6UWgcA3EYJsXja6bYN2VoPv+dO/+eEgho+N1X/sXzg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3119

On 17.08.2021 16:30, Andrew Cooper wrote:
> Separate the read-only hints from the features requiring active actions on
> Xen's behalf.
> 
> Also take the opportunity split the IBRS/IBPB and IBPB mess.  More features
> with overlapping enumeration are on the way, and and it is not useful to split
> them like this.
> 
> No practical change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
with a remark and a question:

> --- a/xen/arch/x86/spec_ctrl.c
> +++ b/xen/arch/x86/spec_ctrl.c
> @@ -317,23 +317,30 @@ static void __init print_details(enum ind_thunk thunk, uint64_t caps)
>  
>      printk("Speculative mitigation facilities:\n");
>  
> -    /* Hardware features which pertain to speculative mitigations. */
> -    printk("  Hardware features:%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n",
> -           (_7d0 & cpufeat_mask(X86_FEATURE_IBRSB)) ? " IBRS/IBPB" : "",
> -           (_7d0 & cpufeat_mask(X86_FEATURE_STIBP)) ? " STIBP"     : "",
> -           (_7d0 & cpufeat_mask(X86_FEATURE_L1D_FLUSH)) ? " L1D_FLUSH" : "",
> -           (_7d0 & cpufeat_mask(X86_FEATURE_SSBD))  ? " SSBD"      : "",
> -           (_7d0 & cpufeat_mask(X86_FEATURE_MD_CLEAR)) ? " MD_CLEAR" : "",
> -           (_7d0 & cpufeat_mask(X86_FEATURE_SRBDS_CTRL)) ? " SRBDS_CTRL" : "",
> -           (e8b  & cpufeat_mask(X86_FEATURE_IBPB))  ? " IBPB"      : "",
> -           (caps & ARCH_CAPS_IBRS_ALL)              ? " IBRS_ALL"  : "",
> -           (caps & ARCH_CAPS_RDCL_NO)               ? " RDCL_NO"   : "",
> -           (caps & ARCH_CAPS_RSBA)                  ? " RSBA"      : "",
> -           (caps & ARCH_CAPS_SKIP_L1DFL)            ? " SKIP_L1DFL": "",
> -           (caps & ARCH_CAPS_SSB_NO)                ? " SSB_NO"    : "",
> -           (caps & ARCH_CAPS_MDS_NO)                ? " MDS_NO"    : "",
> -           (caps & ARCH_CAPS_TSX_CTRL)              ? " TSX_CTRL"  : "",
> -           (caps & ARCH_CAPS_TAA_NO)                ? " TAA_NO"    : "");
> +    /*
> +     * Hardware read-only information, stating immunity to certain issues, or
> +     * suggestions of which mitigation to use.
> +     */
> +    printk("  Hardware hints:%s%s%s%s%s%s%s\n",
> +           (caps & ARCH_CAPS_RDCL_NO)                        ? " RDCL_NO"        : "",
> +           (caps & ARCH_CAPS_IBRS_ALL)                       ? " IBRS_ALL"       : "",

I take it you flipped the order of these two to match the ordering
of their bit numbers? I'm slightly inclined to ask whether we
wouldn't better stay with what we had, as I could imagine users
having not sufficiently flexible text matching in place somewhere.
But I'm not going to insist. It only occurred to me and is, unlike
for the IBRS/IBPB re-arrangement of the other part, easily possible
here.

> +           (caps & ARCH_CAPS_RSBA)                           ? " RSBA"           : "",
> +           (caps & ARCH_CAPS_SKIP_L1DFL)                     ? " SKIP_L1DFL"     : "",
> +           (caps & ARCH_CAPS_SSB_NO)                         ? " SSB_NO"         : "",
> +           (caps & ARCH_CAPS_MDS_NO)                         ? " MDS_NO"         : "",
> +           (caps & ARCH_CAPS_TAA_NO)                         ? " TAA_NO"         : "");

I'm curious why we do not report IF_PSCHANGE_MC_NO here.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 14:48:00 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 14:48:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168894.308430 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGjKm-0006lu-FF; Thu, 19 Aug 2021 14:47:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168894.308430; Thu, 19 Aug 2021 14:47:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGjKm-0006ln-CI; Thu, 19 Aug 2021 14:47:56 +0000
Received: by outflank-mailman (input) for mailman id 168894;
 Thu, 19 Aug 2021 14:47:55 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KGBc=NK=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mGjKl-0006lh-2V
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 14:47:55 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 6eda79fc-00fc-11ec-a62c-12813bfff9fa;
 Thu, 19 Aug 2021 14:47:54 +0000 (UTC)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2054.outbound.protection.outlook.com [104.47.14.54]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-26-gmQypkXtM4WPtYtkZRvnkg-1; Thu, 19 Aug 2021 16:47:52 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0402MB3392.eurprd04.prod.outlook.com (2603:10a6:803:7::26)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.18; Thu, 19 Aug
 2021 14:47:50 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Thu, 19 Aug 2021
 14:47:50 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FR3P281CA0025.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1c::23) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.6 via Frontend Transport; Thu, 19 Aug 2021 14:47: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: 6eda79fc-00fc-11ec-a62c-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629384473;
	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=tHlRw4Ape6keRlyNKohKA+gC+7dHjAEEMAUc7hxgDOU=;
	b=mvbExOAptHZR6iQD0Vsoevi8FPJqHztfbH8nG1tLLv/Vgb7wFclP9SoKPhhkTzcgiUpQfi
	Qr4PeY+iKTx1Ti7u62cxbX12QAlWkjKq+w/1XJCNVenAsbloHlUKuC9lzKUbdzY5o/1kyR
	QqObaKT2IWrl+I5Mbm7BkpZi5BQPtls=
X-MC-Unique: gmQypkXtM4WPtYtkZRvnkg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=I9ews5PMLayYyqWg4pITvK5mnWOFlVORRKcG1NtIbhTx3Z+QEfgNxm9SiKjv0rKjcllggmZcBECq21YdQfzsQWz9k4kHO3N6wpFzWtSgS8RT5kLKQ6iPx25H+kAuOhVFMWAvr28GHTEZo7+IT1fj1+PpQiYht123B/pz11rsdpNSkg4HtXGTJfu9d8Y1srT4B5brS98CwTVVadODi22sqT7oGArHugtjnh2drLVkoXyaOMx3Nfu8TrzLyJZfKwRU+JYY6o56wqnXhCGdOb/H6BBviboamByEqMxQ+mqEZvdr4zCEUao0A9fM0ENaI6IBHI0EV1o075kiGDxbtmlrrA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tHlRw4Ape6keRlyNKohKA+gC+7dHjAEEMAUc7hxgDOU=;
 b=fBMltH+IkkJMJl4MC7DILCCjXEHQhjVmxFyV9TAZ0vjPcdc5SqMPtNVt6ka+l9JyA0Ye3jv6Blhg1pl9LZRWPoAM67QMGZzv/ooHyuSwOIFyk1BP/IAFjcf/v6WDMecs5Dy2lX8EXH3Jaic8vtcVcjdUyMXjd5raYdjQ7TBr9ivZhxmIb3EL88FRN3JaoLBiTP2UDir+aicqWkMb0y0L73DA+ayeAvST4SGOKHFDawqlAfAEKLDihICkhxU7LYmNoKt0a3RSZEx8f5Zp0he1F0fxysdCpAhRnGnuAkxgk/ShI9U4JFuRorNm4UgvTUo52qNu7GT+Ubtp0yOE27HbMg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH 2/3] x86/amd: Enumeration for speculative features/hints
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: <20210817143006.2821-1-andrew.cooper3@citrix.com>
 <20210817143006.2821-3-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <606ce242-65d9-2180-8330-525fe5ec5562@suse.com>
Date: Thu, 19 Aug 2021 16:47:47 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210817143006.2821-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0025.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::23) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 24336409-ee06-4443-c6cb-08d96320510c
X-MS-TrafficTypeDiagnostic: VI1PR0402MB3392:
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB3392AE6E6A616DAD939680C2B3C09@VI1PR0402MB3392.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:7691;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZD6O9A9Azw1Emiu7hGwCyQQ84Hc8JWJj2Sq2X2tumjjm8fPvrOXyoQiYTG31RIbAnHmeFls0UcUddOZ3gLlOgI/bhhcHuaxKrmDhCzwCF9l1O88uLx09W+4zuZhINvH8FoRpwT0uCoCoXlC1OucONr4rUGhoq4pfTPN3ThD7Tm2GUzDNvqZD1UEt8NhaR9h7pcJ5Dhb4XBGf/GnjR7+XZfoWV2m+DsRRpiLa6PLh9BmKRHKBuU0gO9uCy08ZCOpoCVaj1IxqnD5ELEjTeenZkWCSWjLfgLmEDa3lDF5yfnAUerDp8d+raqpJbgvrfSpVbd7QrLaKFCpGm17fhlgPhASd0fnHrYZcDz3/oisyFbPi6qWfbtEBbbiEOzSFclLOI8IeezoL11mOouyDR8TcumERzWr2jPUsH2jCzpbnlU9COgMfjDVYGNJvuIMlcL02bODSKL3OD7X6JJPUKn3uz47KCt46ohl+oVGjpXHtwLfebct8uPAuUr0KqLD+/23KC/oBY/SDZHihnlNZbnoGnU9yb3/rVDyrNTu2TgYEsCffN/J9Ys4vFIurjCB3GKq6loh7R9+JVF2Xw16VVBofgxpUM6HrTw8pPuWmZN2+6oknKKfiRdxrQAR085nX8GO8drtqb1dnp04i2GMrcu/YeuPkj5k5ffCtE2V26w1o7j2wsPrAFCPFMlz7t1FBvA65pWZl3NTeajUOTcR4Qp1J5hLdDk5cpqx6ANUbzQIC0XA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(54906003)(6916009)(508600001)(53546011)(5660300002)(36756003)(31696002)(186003)(4326008)(38100700002)(8936002)(66556008)(31686004)(26005)(16576012)(66476007)(316002)(2906002)(8676002)(66946007)(956004)(2616005)(83380400001)(6486002)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MW91TUhKSTRva3RZUjVZSUIwZWtuVXlCbTFlV25CNGVVbDJudEx3dDdhQm1J?=
 =?utf-8?B?aGxZc2dGVE1pWlRhTXV5NHdaSzNwVWJXVHZlVC8vTXRWdHpPQW82TTgva21v?=
 =?utf-8?B?LzdRUU5Xam9LTDdjZ0taWDYwVlpIY1JTVk5ObmlpRUJSMEliTkRKbUVlWXVl?=
 =?utf-8?B?Y2ZlaEwxUURiMWZMQzVYeVMzTDlqcm9ETjRFY0VlOHBUdnJKYU5XK0hqU1ps?=
 =?utf-8?B?ZmQ4SS9FQzU4T3Q2emhPcHBOMmhDMnZrckJLZjMrN25BV29uVHMwY0lZeFpD?=
 =?utf-8?B?ejBBR3FWaWN1RWZHeEF5REcvSkJ1RzFjYXMvN0dQZ3g0MDlLWmpFNlcxd3dm?=
 =?utf-8?B?Tk1pS1JHeDN3UHFHK1ZBeFNrR2NYUWY1MHdocE1iVnJPWFIvRVg2SFF6dk1o?=
 =?utf-8?B?OVQ2RmM5VUdaUTVpTWhmQVNOVjRlUVJUUHBZZTNiOGNHMUJHZ2U2WXNtSTVK?=
 =?utf-8?B?UlMvWG9tYkp4cVdKNDFPcEtkZFMyQVRUeWEzVFlDUzFXVXZYWVYyZWx6UEs2?=
 =?utf-8?B?b0lpV0FQYnp2cDdlUVJzbmlYREtFdHByZjdjWFdsVGd3WUNMZFJnUmgxdmdM?=
 =?utf-8?B?SXBwMFhuZDE1eXQycDRrK3M2dFNPd1Z4aWo3aFFnam8zbmNpdE5WcEtoaG1s?=
 =?utf-8?B?Rk5NWTZ3V2JEVTd0MnlVNG92cXdxYXBuZE5HTHZMdmt6all4RjBCY2h0T2N4?=
 =?utf-8?B?cUFOYUdHTzhHQXNtSnVDOWxVSzJ4QUthL1g5NTVjVEpqOVJaYTFmRkgzbk0z?=
 =?utf-8?B?NTJsNXJWS0FHemxTYjhVL1hZb2JMdnNPLzFRc0RnMG0yeGxWRnZ3WjU3a2lw?=
 =?utf-8?B?Smo4aXBoakhwTEg4eS9vYnluYVljekdlRDVtVDV6dzB2ZWRZQm03Nnh6b3pB?=
 =?utf-8?B?WUhuWHJNN0dxTVFSOE8yLzNxYTlRcTVPaUVCOG5jRzgyN3o3cFd0RUtyTDg3?=
 =?utf-8?B?SlMxSGh0cURYMHZkOXJETzhpeDFGRGoyLzMxaUxydU1zUzRUaGVpenAzdVE1?=
 =?utf-8?B?K2ljRFZMc2gzYm5UZW80Q0ZwSEJKMHZBVFV5K0g1OURnWitRdUd1TUplZTV1?=
 =?utf-8?B?MWQyZGZpNzRrSitHb2NKcmZUUTlLNUJ1MkM3clBrcUhNUFhKWnVraXJ1QWNO?=
 =?utf-8?B?L1BoYnYyb2hxMUpoZjNaTE5mc0JyVzVlSG9oNFpjdHFiMmtJWXcyUzY2S3Fq?=
 =?utf-8?B?TUdncytjcXloNEVyS2FlVW1qbTJHdXllZk1MeEJLS1l2ZUxWRDlBeldiUjlI?=
 =?utf-8?B?NkRoYndiUzJ2NzJOa1lHTWZpMXk4b0FteGFaZTZOSTB4LzlYU1lZMnkydGdW?=
 =?utf-8?B?OWFpc3daTnBRKzV4amNsUzBOZGtiWUxaQVVpWDB5QXFCeTF2Ymprb0ZCN0tP?=
 =?utf-8?B?djU2TWprdkc1WmxZT21KaHlQMzloVlA3THVSb2JlSzNtcVpBZDB3UjhOa21H?=
 =?utf-8?B?eUE3Z0pBU3hVTVYzVnNJWHgvNHRuWFJWVVJHKzhrN1lzTXVtUXhZR1BTZVF5?=
 =?utf-8?B?NzFRVHRSd240VzNYZjIydE43NG9sV2ZGR0kvYkg4RW1ETlRTVytLNjFLYlJI?=
 =?utf-8?B?Q2hFNEdaR3d5TjZtR0JTUVEzeWNOVHBYMWIzRzhDRG9kMmZac091aERjYmNL?=
 =?utf-8?B?NUpIb0MveTl1L250ZW9KSUg1UlFvVG04ODVtZml2dHcxeG4zMnh6eEdMVUJp?=
 =?utf-8?B?dGtmYU92MVNoRTV1MkN2Snk4a1dPTm9QelZLYlVIUmxUWXhWN2pNQ01iTUNm?=
 =?utf-8?Q?wUZVcY2roYV13s8rdchW17hLRyibgkC20VTE7A2?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 24336409-ee06-4443-c6cb-08d96320510c
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2021 14:47:50.0490
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: vx9OjKgDQF+veN773hfSar8S/hHS+1Jc5TS6H2x7o0IwRQVV1HSVAw4oMQitNZVEh4hG7LG2Heemv6lWZ5gNpQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3392

On 17.08.2021 16:30, Andrew Cooper wrote:
> There is a step change in speculation protections between the Zen1 and Zen2
> microarchitectures.
> 
> Zen1 and older have no special support.  Control bits in non-architectural
> MSRs are used to make lfence be dispatch-serialising (Spectre v1), and to
> disable Memory Disambiguation (Speculative Store Bypass).  IBPB was
> retrofitted in a microcode update, and software methods are required for
> Spectre v2 protections.
> 
> Because the bit controlling Memory Disambiguation is model specific,
> hypervisors are expected to expose a MSR_VIRT_SPEC_CTRL interface which
> abstracts the model specific details.
> 
> Zen2 and later implement the MSR_SPEC_CTRL interface in hardware, and
> virtualise the interface for HVM guests to use.  A number of hint bits are
> specified too to help guide OS software to the most efficient mitigation
> strategy.
> 
> Zen3 introduced a new feature, Predictive Store Forwarding, along with a
> control to disable it in sensitive code.
> 
> Add CPUID and VMCB details for all the new functionality.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
with one suggestion:

> --- a/tools/libs/light/libxl_cpuid.c
> +++ b/tools/libs/light/libxl_cpuid.c
> @@ -274,8 +274,18 @@ int libxl_cpuid_parse_config(libxl_cpuid_policy_list *cpuid, const char* str)
>          {"rstr-fp-err-ptrs", 0x80000008, NA, CPUID_REG_EBX, 2, 1},
>          {"wbnoinvd",     0x80000008, NA, CPUID_REG_EBX,  9,  1},
>          {"ibpb",         0x80000008, NA, CPUID_REG_EBX, 12,  1},
> +        {"ibrs",         0x80000008, NA, CPUID_REG_EBX, 14,  1},
> +        {"amd-stibp",    0x80000008, NA, CPUID_REG_EBX, 15,  1},
> +        {"ibrs-always",  0x80000008, NA, CPUID_REG_EBX, 16,  1},
> +        {"stibp-always", 0x80000008, NA, CPUID_REG_EBX, 17,  1},
> +        {"ibrs-fast",    0x80000008, NA, CPUID_REG_EBX, 18,  1},
> +        {"ibrs-same-mode", 0x80000008, NA, CPUID_REG_EBX, 19,  1},

Here and below, how about dropping the "mode" part of the name?
I can't seem to be able to think of any other "same" that could
possibly apply here.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 14:59:54 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 14:59:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168900.308441 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGjWD-0008Nq-Mo; Thu, 19 Aug 2021 14:59:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168900.308441; Thu, 19 Aug 2021 14: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 1mGjWD-0008Ni-Jr; Thu, 19 Aug 2021 14:59:45 +0000
Received: by outflank-mailman (input) for mailman id 168900;
 Thu, 19 Aug 2021 14:59:44 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KGBc=NK=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mGjWC-0008Nb-T1
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 14:59:44 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 15e8f57e-00fe-11ec-a62f-12813bfff9fa;
 Thu, 19 Aug 2021 14:59:43 +0000 (UTC)
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur02lp2052.outbound.protection.outlook.com [104.47.6.52]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-14--09PwKKLMRerBltu4fCyjQ-1; Thu, 19 Aug 2021 16:59:41 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4608.eurprd04.prod.outlook.com (2603:10a6:803:72::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Thu, 19 Aug
 2021 14:59:40 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Thu, 19 Aug 2021
 14:59:40 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR1P264CA0008.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:19e::13) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Thu, 19 Aug 2021 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: 15e8f57e-00fe-11ec-a62f-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629385182;
	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=EaqTGpIseiymaGgJz3/lZYw8fD50FDo3wl4e7ApZd7A=;
	b=NT5uQHMTHPoi363TuHT8FNC+aZphoPtuWJtPiWez92SlgZ0hzvtNvOQFj9VSs3v08ZkWmp
	j62Adz4hkSnAdz5BOV5P+MZxCjXIt85mjSIFI69pJsgBlgKnWnS10W3VTsbIo3lvS1hBxw
	/Gu/E3+qIxIi+UpUVvFkou/6QWB16UI=
X-MC-Unique: -09PwKKLMRerBltu4fCyjQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jFKMWH0C2Pc3yG+GdDDHrZNWc93aquCHNYaIrIQV6xcn8mU8q5917TR7vdeNGbvBvgaETL8kG4b5KC/ne7nQCz/Q0FP7MeMG/dnNRt6OWAk7FCY/LaSfy1iWAXlTM/GRFC/Jw/2U+T0nHUMuYcbrwHY3fQe2Cjv8nOvZQaFh7Df2GTyW5mCu8CO7nSVUSGNdUa/NAfHB7gaSqVgT1Yu+TG3C1e24xcK/PzqykgTPSitosW3pn7B2X/BgVQdJ7jWvw8MHIwBZXBYl3q1F0gY+Ti2g1dEJ6lbBbe9J6wGMQ7eocpWU6MXhf02OqXw+RlewF8oZOM9c51REERnqCNIwLA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EaqTGpIseiymaGgJz3/lZYw8fD50FDo3wl4e7ApZd7A=;
 b=SnhsGQn1vu5k1MZWOTPwnNelY7JLBq9v6YblXUH+xYuLGEg5jTLcq8N9YlQeFzYUlCW8SJBBRWMohuq0WKN7q4rw2DLeTdyWEtYdBfx2STzvP+hfvaXw7o40Hj+UlycpRtHIHxm3Wq3utFRoWf/2qQUspF8QSzxt6n5CHW6y46coMuhDw1XdwccdF+WPMqT4bknM9lMGwUXa506OZyX81XHYV15V1g/REN/FtxRnXtQEU1EsGicfley+QKBvscytmtzT8LnTvXLPkOpYTHMWIYsqBw40zFEe2/1s7cnN11rTu0W6qMVQnXf8IVlLhawy91qU2Yc+Gp1T/nxNw/7N2g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH 3/3] x86/amd: Use newer SSBD mechanisms if they exist
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20210817143006.2821-1-andrew.cooper3@citrix.com>
 <20210817143006.2821-4-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <35356c32-46a1-815e-0ecd-bd2b4b77519d@suse.com>
Date: Thu, 19 Aug 2021 16:59:34 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210817143006.2821-4-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR1P264CA0008.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:19e::13) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d0b8867a-5461-43b1-8062-08d96321f89e
X-MS-TrafficTypeDiagnostic: VI1PR04MB4608:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB46083A3DD5AE937218C3CF65B3C09@VI1PR04MB4608.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	whCEfXvbhpLS+hHdBNFmTqBfr0ohJvzzXTBhG8aKr+Yqi6y5yKY221FxbZCAqVH0dL17n1mXNA3slZubNcgCqKGEPZjC/zicBzxcqwHI6HlznjD4jbbw9QXKU9PpnJ6dRz48hKkdMtm9sIaKRUGYPtBYDbpRm3a+eiq75IyHW5BhonCNASzweE9RZeaLcLUCZnFl8qS8acS6NgqdJpNqAV1lUhFwXYDg0gfmOjMjLc7qsMeMIwMHw6Zpg6Wqz9KLfJxs5cOOgZe73ZMDs4mWG8Ags86juDJMtCEET9+kMkB11v8kAIug1HFDEduKLiYGfCGZWG2NQRQhxA1nIh3TTYNLY6BxmdRbxbNaq6gXrojAdGlIgf7YfpGh3e3OSBWxHiyo06kT65Arv2CB1XTNRnkLHCV/oBX92XmElEAffzd20iU4zHOZ15IahTZY/m93upk0g49wpJTlHKv9Jo+xOtwRkc+cut6a04zri3yy7HsPefnzCZkirfLzbl5BfHbCGYKEVXzp7juSiWfkzKCTuQywI0IKyHsj7LwiLmRp6SFstEALv+OGXlhieogQS+CgADWAYcvWvWkTIUZSLpNzi8WX8nsul0q+GU8l1eYgHBAYlX6nZ4UaL594EYG/e/obNLUGVnlvr4e+adpD+ZUEZGk2oO5HD2TsCj93t6RTfSHTKD8cO4E+M5p+IKd5xdY7wenqmr8JNBn+pv/3wlE0wp736IO3j73dWOenHQcWAmzHOG/s2LegYhTKzPcTmYU0F5GywGAXT+M1GknbPl9DqID8ZpUI4vT5KRO40EfgYdZxFPvh0Pyb0OkSGeJ8cLsI
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(346002)(136003)(366004)(39860400002)(396003)(36756003)(54906003)(2906002)(53546011)(66946007)(966005)(86362001)(5660300002)(956004)(6916009)(478600001)(31686004)(31696002)(66476007)(8936002)(26005)(66556008)(2616005)(6486002)(4326008)(316002)(8676002)(186003)(16576012)(38100700002)(6666004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QU52MW52ZUZXd2lYZXVWaDFUaGF2NW5nZG91ZVl4NkFTeHhhbVB1aUJtbElz?=
 =?utf-8?B?OVZvRmpaQ0lXZzhtUU9UY3ozWG9aa3h5VXlBeHJ6dXl6UkdPVFVBTWllQmpU?=
 =?utf-8?B?UXNLeW5WRGJHMW1NOXl4NXNUYmJqU2ptWlU2TUIxeUhJUlNTd0VRUnRtY0py?=
 =?utf-8?B?Q015UElTNEc1VkMwZ216MkJnN0tNYlhVd1JOeE9JSnVjbnlKeW5LbnhScGtt?=
 =?utf-8?B?SGlzbU1GU1BJeGpJUmR3Ujg1blNKSmlPZ29xd0QvTVBoc0lzcllYUmxleW5O?=
 =?utf-8?B?eXRGTlZSajFJT2RxRHdLSkU4VThJcmVRMUdqczVDY3J1NUoxcUF4SnBlNVJJ?=
 =?utf-8?B?dElJdVo3aWQ5TmpxSnhKMk9lZHROdGpDQm1NeTYzYW5JNWZwUHgra3BreUx2?=
 =?utf-8?B?RWlYRUQ0RzVwa0tDRXFhOThmZ3ExOUtMV0lBQ0U2RVpaMDZFSlo3L01xZnVt?=
 =?utf-8?B?ZWNEaGZSTlNTYVBGZFBzVFlMR1FxUjhKV1pVSnY5TGxBaWdGUzkwL0xoQVVz?=
 =?utf-8?B?aEhickQwYzBnd1BSc0o0aXFtZVl2cUE2ZjB2ZmQwK0grcFdlUE5wdkVNUlEr?=
 =?utf-8?B?aG85YS8ybHl6SXl0c0FvNk0yaEpoNFpnOGhiM0M3VzZJQU4rclZ4MTljaHZH?=
 =?utf-8?B?UU5MOWE0NVg2RFN6MURiQUFSeXFjeTE1VWl2ZGNIR3htR3BQWE11eWk4RlpV?=
 =?utf-8?B?NGhhSklnZjBxL242SzdBL0tUZlpJQ3QyTXVTTmxMeUpPV1UvbjBkOEF3M0dV?=
 =?utf-8?B?RG5XME5iQUhraEY0MmlxR05ENS8yR2ZYd0N0N1pOY24yeUxsZURSTFI0eG41?=
 =?utf-8?B?cXJNSWgwODJFQStNZEdwU3lXRTEzczY0TmxXZkRMVkpWbEd6V09MaFhMNWJL?=
 =?utf-8?B?MjFnUVpyNlVMR25BUUU4ZTdFU0FYNUtoNlorSmpzWnZtN0hSaVJ6QjZ3MWtr?=
 =?utf-8?B?bjlTdktoOFVmdWpucHlqbksvS1krWElWaVRwQnV2T0FlWDZsNHJ5Z2NCZ0tY?=
 =?utf-8?B?K3BSckcyK0F6WkdWOU91NnB5cE5UeVJnV0dLTTkxdW1ZL3dHUGpnWERaRkQr?=
 =?utf-8?B?Q0phb0x1dFlHTU1vdTh1QUNnUGtHRnFqN25JQUN2VWFJQmc1R2ExckpYWWFz?=
 =?utf-8?B?eXBWV2QyNGd3bm9RTG1RL0Q3aXUxZTZ4YVhRVGI4K2FJL2RLRmZYNFlZclNi?=
 =?utf-8?B?b1JSZmI2VDFuQ3Nlck5TaVdLSmhxcjR0UjAxRWpESmNzbUljckRnTFVwUklK?=
 =?utf-8?B?RkprOSsvRkpPa3RYeFE1OFZUcmFhOXRXb2RJWDhGU0J4NDRqbFlObWNneFUy?=
 =?utf-8?B?cVo5TWlhQWpySFA5RGdnaU1SdWZhRTRkckwvQjI4V3NKQWVGdEl0UU9velow?=
 =?utf-8?B?TndnWlZtdUdreVhhZlZhZmp3dHVxWW15MytHNlVaMDFDM1l6MDhlM0d3WThV?=
 =?utf-8?B?dnFtRFZHSTNONFJMVHVSaWpnY2dhOGw2QWNlbEZtbVJ4Y0VkOVQ1OUl3TVMx?=
 =?utf-8?B?enBBWVhiVDYyd0l6UnYwZUVOaW5HdTdUS0dlMWMxOU5nMXlLWS9lNEgwRkpO?=
 =?utf-8?B?VGhGRzN4WWxyUU1xQnZaZHZnRkdEZnA4OU9XUmpkeWxJZGtKU0dGKzBBcktj?=
 =?utf-8?B?S1d6RFdpbHYwem9jRG9GajQvRGJGdTI1TDBnTEJ4b0dJaTg2QTRuUUlEbDFJ?=
 =?utf-8?B?dGNldUdtNS9GNEt3cnk3YWs4Rk5zU08vUnIxRGhVRElrT014bjUzd2lRbzZB?=
 =?utf-8?Q?Kmqs5M9Zb49aPaOk0o1KvWzOaS8vCQINwceLS6Z?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d0b8867a-5461-43b1-8062-08d96321f89e
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2021 14:59:40.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: ayvYPv8HDrPmc6n2d2na15W7CrJuyVDxXK4Ndm7RgBRsN+kVmbJ9clKQvt8sOBxvxgO0E/gbVEbyFFZLD3PoNg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4608

On 17.08.2021 16:30, Andrew Cooper wrote:
> The opencoded legacy Memory Disambiguation logic in init_amd() neglected
> Fam19h for the Zen3 microarchitecture.
> 
> In practice, all Zen2 based system (AMD Fam17h Model >= 0x30 and Hygon Fam18h
> Model >= 0x4) have the architectural MSR_SPEC_CTRL and the SSBD bit within it.
> 
> Implement the algorithm given in AMD's SSBD whitepaper, and leave a
> printk_once() behind in the case that no controls can be found.
> 
> This now means that a user choosing `spec-ctrl=no-ssb` will actually turn off
> Memory Disambiguation on Fam19h/Zen3 systems.

Aiui you mean `spec-ctrl=no-ssbd` here? And the effect would then be
to turn _on_ Memory Disambiguation, unless the original comment was
the wrong way round? I'm also concerned by this behavioral change:
I think opt_ssbd would want to become a tristate, such that not
specifying the option at all will not also result in turning the bit
off even if it was on for some reason (firmware?). Similarly
"spec-ctrl=no" and "spec-ctrl=no-xen" imo shouldn't have this effect.

> --- a/xen/arch/x86/cpu/amd.c
> +++ b/xen/arch/x86/cpu/amd.c
> @@ -681,6 +681,56 @@ void amd_init_lfence(struct cpuinfo_x86 *c)
>  			  c->x86_capability);
>  }
>  
> +/*
> + * Refer to the AMD Speculative Store Bypass whitepaper:
> + * https://developer.amd.com/wp-content/resources/124441_AMD64_SpeculativeStoreBypassDisable_Whitepaper_final.pdf
> + */
> +void amd_init_ssbd(const struct cpuinfo_x86 *c)
> +{
> +	int bit = -1;
> +
> +	if (cpu_has_ssb_no)
> +		return;
> +
> +	if (cpu_has_amd_ssbd) {
> +		wrmsrl(MSR_SPEC_CTRL, opt_ssbd ? SPEC_CTRL_SSBD : 0);
> +		return;
> +	}
> +
> +	if (cpu_has_virt_ssbd) {
> +		wrmsrl(MSR_VIRT_SPEC_CTRL, opt_ssbd ? SPEC_CTRL_SSBD : 0);
> +		return;
> +	}
> +
> +	switch (c->x86) {
> +	case 0x15: bit = 54; break;
> +	case 0x16: bit = 33; break;
> +	case 0x17:
> +	case 0x18: bit = 10; break;
> +	}
> +
> +	if (bit >= 0) {
> +		uint64_t val, mask = 1ull << bit;
> +
> +		if (rdmsr_safe(MSR_AMD64_LS_CFG, val) ||
> +		    ({
> +			    val &= ~mask;
> +			    if ( opt_ssbd )

Nit: No spaces inside the parentheses here.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 15:36:41 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 15:36:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168905.308453 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGk5k-0004PT-IL; Thu, 19 Aug 2021 15:36:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168905.308453; Thu, 19 Aug 2021 15:36:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGk5k-0004PM-ES; Thu, 19 Aug 2021 15:36:28 +0000
Received: by outflank-mailman (input) for mailman id 168905;
 Thu, 19 Aug 2021 15:36:26 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGk5i-0004PG-QE
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 15:36:26 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGk5i-0002aS-Nc
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 15:36:26 +0000
Received: from iwj (helo=mariner.uk.xensource.com)
 by xenbits.xenproject.org with local-bsmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGk5i-0005dw-Md
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 15:36:26 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.89)
 (envelope-from <iwj@xenproject.org>)
 id 1mGk5f-000287-DA; Thu, 19 Aug 2021 16:36: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=References:In-Reply-To:Subject:Cc:To:Date
	:Message-ID:Content-Transfer-Encoding:Content-Type:MIME-Version:From;
	bh=iD8F9g+Qhymb1AvgV+01Y41A36faXzVbEUVpUitSXyI=; b=EQd6L4u+fG+tcvATRbris6FU1s
	/m0hjhdl/+bhmmEjjVIhLc54oG4noo7K9B/8Ew17aZk9p+QIAmJT9C8QiyUN/p8o2edIRJ8RzpDEQ
	mtuFKadXmUgU8N08kulLre9z8Hm+n35PoNItZyIgWeBLp+p4wPqILI3idz+yd9iAbJJw=;
From: Ian Jackson <iwj@xenproject.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <24862.31351.137596.242803@mariner.uk.xensource.com>
Date: Thu, 19 Aug 2021 16:36:23 +0100
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org,
    George Dunlap <George.Dunlap@citrix.com>,
    committers@xenproject.org
Subject: Re: Xen 4.16: Proposed release manager and schedule
In-Reply-To: <5198b3ce-8a7c-a5b1-4ddd-f2052e1d4181@suse.com>
References: <24861.8902.217023.673705@mariner.uk.xensource.com>
	<5198b3ce-8a7c-a5b1-4ddd-f2052e1d4181@suse.com>
X-Mailer: VM 8.2.0b under 24.5.1 (i686-pc-linux-gnu)

Jan Beulich writes ("Re: Xen 4.16: Proposed release manager and schedule"):
> On 18.08.2021 17:09, Ian Jackson wrote:
> > ** DRAFT **
> > 
> >   Friday 17th September                 Last posting date
> > 
> >     Patches adding new features should be posted to the mailing list
> >     by this cate, although perhaps not in their final version.
> >     (3 weeks)
> 
> Without meaning this to express any opposition to the proposed schedule,
> I'd like to point out that as of mid July there's been unusually little
> changes getting committed. The above leaves less than a month (plus the
> 3 weeks of until feature freeze); at the present rate this would mean
> about no further (larger) changes.

Thanks for your reply.  I recognise the problems you describe.
>From my pov as (putative) RM it is difficult to see what could
constructively be done about this situation.

One option is to slip the whole release, in the expectation (hope!) of
collecting more input.  In practical terms because of the impact of
Christmas and New Year on many of our contributors, a month's slip now
is probably more like two months' slip to the release.  So arguably
for this to be worth it, we ought to plan to slip 2 months now and
release in February.

Some of the thinness of this release in particular relates to an
unusual combination of substantial leave taken by many key
contributors, so maybe this is a thing we should consider.
Even my proposing this schedule was rather late, in part for those
reasons.

I don't personally have a strong opinion about the right decision.
But if we are intending to release in December, I think something like
my proposed schedule is probably about right.  Perhaps it could be
compressed a bit due to the lack of major contributions so far.

I would love to hear other opinions.

Ian.


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 15:44:15 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 15:44:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168909.308464 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGkDE-000606-9w; Thu, 19 Aug 2021 15:44:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168909.308464; Thu, 19 Aug 2021 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 1mGkDE-0005zz-6y; Thu, 19 Aug 2021 15:44:12 +0000
Received: by outflank-mailman (input) for mailman id 168909;
 Thu, 19 Aug 2021 15:44:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGkDC-0005zt-Ll
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 15:44:10 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGkDC-0002kx-IT
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 15:44:10 +0000
Received: from iwj (helo=mariner.uk.xensource.com)
 by xenbits.xenproject.org with local-bsmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGkDC-0006s6-HO
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 15:44:10 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.89)
 (envelope-from <iwj@xenproject.org>)
 id 1mGkD7-00029h-G6; Thu, 19 Aug 2021 16:44:05 +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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=References:In-Reply-To:Subject:Cc:To:Date
	:Message-ID:Content-Transfer-Encoding:Content-Type:MIME-Version:From;
	bh=d5+5wddgdSmCBw7L0ZyNL+Y2FP2xNV/jA+hZFQTz50E=; b=3DuXsDMxRZfhSip1qMy9LoIuI1
	TluQCFKoqyZhYCQXwfptvIFwzJGNckkbsaoqSowdy/SOZv+FyrKQJBYye9xbPtOrnXYOGqFPo2h/e
	wjREXxwJ6b7iWfoPBTUipmCLocXevaUoLrte5LDiHw5b3ZPEkwtkJEVfdRl6EvBLhfjw=;
From: Ian Jackson <iwj@xenproject.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <24862.31813.168508.687823@mariner.uk.xensource.com>
Date: Thu, 19 Aug 2021 16:44:05 +0100
To: Jan Beulich <jbeulich@suse.com>,
    Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org,
    Wei Liu <wl@xen.org>,
    Ian Jackson <ian.jackson@citrix.com>,
    George Dunlap <george.dunlap@citrix.com>,
    Stefano Stabellini <sstabellini@kernel.org>,
    Anthony Perard <anthony.perard@citrix.com>,
    Julien Grall <julien@xen.org>
Subject: preparations for 4.15.1 and 4.13.4
 support linear p2m table [and 1 more messages]
In-Reply-To: <b871c368-0e9b-20d4-ad18-55c5d8be881e@suse.com>,
	<48cc22b9-6d0a-2cfc-ce34-6aabeb84b160@suse.com>
References: <48cc22b9-6d0a-2cfc-ce34-6aabeb84b160@suse.com>
	<20210702142944.1698-1-jgross@suse.com>
	<b871c368-0e9b-20d4-ad18-55c5d8be881e@suse.com>
X-Mailer: VM 8.2.0b under 24.5.1 (i686-pc-linux-gnu)

Juergen Gross writes ("Re: [PATCH-4.15] tools/libs/ctrl: fix xc_core_arch_map_p2m() to support linear p2m table"):
> Ping?

Jan Beulich writes ("preparations for 4.15.1 and 4.13.4"):
> the releases are due in a couple of weeks time (and 4.14.3 is
> supposed to follow another few weeks later). Please point out backports
> you find missing from the respective staging branches, but which you
> consider relevant.

Hi.  I'm sorry I am behind on this.

I am going to look at some of these backports now but I may not get
through all of them...

Ian.


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 15:57:36 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 15:57:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168914.308475 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGkQ6-0007cG-Fr; Thu, 19 Aug 2021 15:57:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168914.308475; Thu, 19 Aug 2021 15: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 1mGkQ6-0007c9-Cr; Thu, 19 Aug 2021 15:57:30 +0000
Received: by outflank-mailman (input) for mailman id 168914;
 Thu, 19 Aug 2021 15:57:29 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KGBc=NK=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mGkQ5-0007c3-IF
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 15:57:29 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 26a7b6fe-0106-11ec-a63b-12813bfff9fa;
 Thu, 19 Aug 2021 15:57:27 +0000 (UTC)
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur03lp2051.outbound.protection.outlook.com [104.47.9.51]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-38-jkn2hmCzMuiXaa23wUbbkw-1; Thu, 19 Aug 2021 17:57:25 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4944.eurprd04.prod.outlook.com (2603:10a6:803:60::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Thu, 19 Aug
 2021 15:57:24 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4415.024; Thu, 19 Aug 2021
 15:57:24 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P250CA0001.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:57::6) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Thu, 19 Aug 2021 15:57:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 26a7b6fe-0106-11ec-a63b-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629388647;
	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=NFscWUsBcb2T4rNOAWJPbuu0mT45K4rC30KGc03OTWQ=;
	b=NNOfRdAx7QXBkMA/1vgjWQLSNhJRZT1w33eAIyQlV5t/WOHBV6tCXOeOXweKKtlgF+wcqf
	ptQJ6hi+yEUF3ZQB41lLgk1AVS5yNeej/fftzzOTtEiMGqyOhw64b01nr2YBrboYrz0g5a
	SEq6CUQoe6OJDRkuYMZmrlnBscVqNsY=
X-MC-Unique: jkn2hmCzMuiXaa23wUbbkw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ElyBCnoMiwp6Rl6xp7sm9Y5110KHaWh5C7UguoJBe7ET0H5KrXSdfcRJ2kmGR9bNyq/35N6fldIf9wxUPM6wrZPVrfaIHo8cdmLQBydqbkAV9Uos7f/Ti04kc5ie/LrhwMApNljdubySZj0BergrRhy6lPV79xG79y6qV6IneZIxRNg7RoBHNu+eXA6vrDiR5QERM9keiF1hSqty0yMOjoQgMzZQjZ5v799ks9FFs28jvWXUGPQ1FMcbsx9Z3zsEGvt7CyxfPabqqQ/gFcA0nCINdt60fDIuPbfQ0UVnUnt+tb1GReE4K+obAPs1/OhLaBx50T+nzaNOHWjqVLQgyA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/OudPeNClVLWA6zpCts9qVt5MgxZnutp1aJsxK/p6jg=;
 b=A94G/OztqHOf3zr+cG+YdPXY9Z1/i0rfj/tdsvXuYO8k2BZQb3W4YuFquxxv5iNKm7nGVXSNqPpTCSYpuq4kTQWqGs5TEeqa57XCGV1/SIX+rBp3i22GBo9C+4ZjL5l3Nd0c+lTj3BMXO00Yg1+H+3GUYT+qwtjEB4CfOQwPfjDglN3aZ2A9gDEmV0kUPAClGGiTbGp7R4fc0tA6NsU2gytHDBO4UIH2Zxanla5WCX9SksjPA+UHeW/s7x5S8a4AsXHdtRuOMQwRNpOTvsmHQ3UCdIbZ0Q19Vd+kOl1SsIoWUdnVDCjf7MyaqQhFvYWXJhAK1x6vozG9lUTsrOZmPQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v2 2/2] ns16550: add Exar PCIe UART cards support
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>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <20210818121649.462413-1-marmarek@invisiblethingslab.com>
 <20210818121649.462413-2-marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <1be5e798-c3ee-afb0-3da1-7bf16d9f8c41@suse.com>
Date: Thu, 19 Aug 2021 17:57:21 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210818121649.462413-2-marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: PR3P250CA0001.EURP250.PROD.OUTLOOK.COM
 (2603:10a6:102:57::6) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 7341e176-f79a-410a-ecca-08d9632a095e
X-MS-TrafficTypeDiagnostic: VI1PR04MB4944:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB494498EF963C973DE82D6C6AB3C09@VI1PR04MB4944.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8273;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BWYWjAyXbimcUe4M4EoTtGQRECjRpPIYJDE2bAUpkT+LUEg2Z54egVavlnX3R8OCFqfOyK6tQ9+uVwV8qYv5Qsgk4w5nGZSPC/+i6MAwYvJf0vdIO5foYEm7I81Hv9G+RMC+3tuw5m8tw3SPo4VPjS/1xp1OiPKYsZm/0KGvoqXX0i8AQ2K/6CqrrBXycwepnqXlYlCOjIy0sgVmB1A+sD08QWOKxf0JtCaDnN2dUErnthybQqmIBJmrkVENCFHblsivd5Pbks/RUwebjLp/iIgK73DPw5UsJjMVMUXGWDFaFQ4GPifRnJcJkhDR9YrjaoX0mD+h1JRG2Nzf+VBAs4W8xOJAkzFX9C2DnjatWncAevD6LyKfIOnMo4jQSrxpQXO3qplPfO/imld+ZFHy90XAnZgoQr5D2sAMWOOo4HC/Rs/JrTWknbwuYUUpq5RzoO5rgQ9ogH7oQJNt3BKjqe2pHeMaGU8hxXkqb9+Zd4P6sSc4IW4LjPQHmBSqoxMw1vS2p1UsguyG2cBT5pzxa+g3h4Dr+hDIVQpGPMykrSvSw9Ztm7GfKhdJOXwS2VAx9SY9xolWqHnaY60RV1IqK96GTfrIjkqpaF1ZgcEcb7jHcgdlBAm+nW//mDYEHUreqNtBKQtAjRtFPjrX7yHgdbJVxThs/9IrWss/lfZxEZhwRy0cI6TRbyY4H45aza8ZlEBWwgfLfC0boi2uJvycFndb75Ll9OcEiXy9S2wyGP4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(39840400004)(396003)(346002)(136003)(376002)(366004)(26005)(53546011)(6486002)(316002)(8936002)(6916009)(5660300002)(6666004)(186003)(86362001)(36756003)(66476007)(66556008)(956004)(8676002)(54906003)(38100700002)(2616005)(478600001)(66946007)(31696002)(16576012)(83380400001)(31686004)(2906002)(66574015)(4326008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?s0fuKBHizC12beHyZW1lsIczPHhhntPOCJdgf4riWD9/lUlR+YUiskd/JRwH?=
 =?us-ascii?Q?4j8S0hcCHwvddsQnHbytuer1fw8l6q4ekFLIdhbmLdzTnUCEVKkPI1FxjALM?=
 =?us-ascii?Q?1O4LjwYZjLvBXgqWa0o4qI6I4bT0t9wVoXPyu51KQfdig2yN+RBFsU/4T4KO?=
 =?us-ascii?Q?qMghU5Lph3YmZ6I+t1uGQSeZXFdBDItzgGXLS9vxE05dMWlKUHHM62R1h0mH?=
 =?us-ascii?Q?VbWAn9J9U99AhYEYU2/4i49sCEMOk/I848ZOiRevA8HS6+VWnSwu6pzULoT3?=
 =?us-ascii?Q?9j1G2eF38HpvlyBL1I0RHg22CvwubKMNBOXbfWJsXzIWdilMQ1KqRFzilDaz?=
 =?us-ascii?Q?t630hYAg5pqyiGF6WQYVi3EYzpsAMH71vyGhpabbRWW1BXBXPDw7SJHpLT+E?=
 =?us-ascii?Q?0RIpsOoD9Q9KkwoKJr90cjxgERsdnI6FmNeSLVkN3ypLUkcoMO0bMd8jJI2f?=
 =?us-ascii?Q?AHhS50N3dsq97QVDj3ibomT4R4PzDTpFPQR33GSWJW5XxQGjRzeOcmYJ2EcF?=
 =?us-ascii?Q?cmsRIA0GTbomlA4QY4SETYsfmYg/qy0J4vSwqMRD6lCDf8QfMuxKimyqlMlz?=
 =?us-ascii?Q?sFOa9PD5C6X9rtkoWroeji1TdLauViyxsFQrcYy/PSlhf5jLIkCSJ1p0pNB8?=
 =?us-ascii?Q?fnb3pTvpGoRDeeArHSqH/QBduHi9YxgDa190pBOVR9lgJYF1UzfktLi7kluW?=
 =?us-ascii?Q?roeABo4yF1zsINMARSw0pg0oHAkbpm+FhMCcIrGJap1l879oddzAT/NZGkSg?=
 =?us-ascii?Q?hsirW4NsMOQQdMwQTttHUFULyjIhu5s0HR9RzB19CO2bDCvNX9wYzQ4J2Pky?=
 =?us-ascii?Q?3taB8U8QyNMWCFjoRPYovjBI8027GL6yhJOoFdN207UshjMPyC3ih9vNuG8U?=
 =?us-ascii?Q?abwSiJk9ldTTYX7SXFulBzhQh4gM2AcOUnc5No5Lqn71Q/urla6rGOqn9/H3?=
 =?us-ascii?Q?Yl2+x+NJdHrapECd16D+C9gjUcdvhmjKNtQPN+0mruR8YDdvz9KlPbHq5qc7?=
 =?us-ascii?Q?1iLDCi1Mwr5JdTB7o/6MeuY++w28dm5FuBrgNulJVj0KG6GLFDCXXmRmpwry?=
 =?us-ascii?Q?TwBjPOcXSWOWbqJEEvEPUHqx2BxPru0BjhJFjNOlKJArbS3JI5qNhtIlvVQ5?=
 =?us-ascii?Q?vQ73mMu+dThO6AQQkfunLvjpRp2vC7avUso+QIrtoy91ScWz3VorNu+CW5e3?=
 =?us-ascii?Q?VqISGwiUIWIJmpPLrPaZ1MB7xwSaxBvqzVtAyk2PrC1BUyH5RSGf1SpwuI+0?=
 =?us-ascii?Q?DqYcR8xttmMqgFxnoQNj/sI/5jwJq43B/WpdWdYyGE8G1uGz5UNkyVmbmOfk?=
 =?us-ascii?Q?9r+vJnk7JjtEGUB3iKbSRrVe?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7341e176-f79a-410a-ecca-08d9632a095e
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2021 15:57:24.7767
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: p8E2sJjRYHmhPqv7ZGvU3amGVSnfVuG/OySgVFkMp9v3hhaxpBP9s5Wr90c4KZ5VGICqGEJIXH0qenBjXUwrog==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4944

On 18.08.2021 14:16, Marek Marczykowski-G=C3=B3recki wrote:
> @@ -169,6 +172,29 @@ static void handle_dw_usr_busy_quirk(struct ns16550 =
*uart)
>      }
>  }
> =20
> +static void enable_exar_enhanced_bits(struct ns16550 *uart)

Afaics the parameter can be pointer-to-const.

> +{
> +#ifdef NS16550_PCI
> +    if ( uart->bar &&
> +         pci_conf_read16(PCI_SBDF(0, uart->ps_bdf[0], uart->ps_bdf[2],
> +                         uart->ps_bdf[2]), PCI_VENDOR_ID) =3D=3D PCI_VEN=
DOR_ID_EXAR )
> +    {
> +        u8 devid =3D ns_read_reg(uart, UART_XR_DVID);
> +        u8 efr;
> +        /*
> +         * Exar XR17V35x cards ignore setting MCR[2] (hardware flow cont=
rol)
> +         * unless "Enhanced control bits" is enabled.
> +         * The below checks for a 2, 4 or 8 port UART, following Linux d=
river.
> +         */
> +        if ( devid =3D=3D 0x82 || devid =3D=3D 0x84 || devid =3D=3D 0x88=
 ) {

Hmm, now I'm in trouble as to a question you did ask earlier (once
on irc and I think also once in email): You asked whether to use
the PCI device ID _or_ the DVID register. Now you're using both,
albeit in a way not really making the access here safe: You assume
that you can access the byte at offset 0x8d on all Exar devices. I
don't know whether there is anything written anywhere telling you
this is safe. With the earlier vendor/device ID match, it would feel
safer to me if you replaced vendor ID and DVID checks here by a
check of uart->param: While you must not deref that pointer, you can
still check that it points at one of the three new entries you add
to uart_param[]. Perhaps via "switch ( uart->param - uart_param )".

Also there are a number of style nits:
- opening braces go on their own lines (except after "do"),
- blank lines are wanted between declarations and statements,
- we try to move away from u<N> and want new code to use uint<N>_t,
- with "devid" declared in the narrowest possible scope, please do
  so also for "efr" (albeit this logic may get rearranged enough to
  make this point moot).

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 16:01:41 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 16:01:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168922.308486 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGkU8-0001FI-4g; Thu, 19 Aug 2021 16:01:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168922.308486; Thu, 19 Aug 2021 16: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 1mGkU8-0001FB-0x; Thu, 19 Aug 2021 16:01:40 +0000
Received: by outflank-mailman (input) for mailman id 168922;
 Thu, 19 Aug 2021 16:01:39 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=s4yt=NK=invisiblethingslab.com=marmarek@srs-us1.protection.inumbo.net>)
 id 1mGkU7-0001F5-AX
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 16:01:39 +0000
Received: from wout5-smtp.messagingengine.com (unknown [64.147.123.21])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id bbada5c5-0106-11ec-a63b-12813bfff9fa;
 Thu, 19 Aug 2021 16:01:38 +0000 (UTC)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.42])
 by mailout.west.internal (Postfix) with ESMTP id BE84632009A6;
 Thu, 19 Aug 2021 12:01:36 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Thu, 19 Aug 2021 12:01:37 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 19 Aug 2021 12:01: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: bbada5c5-0106-11ec-a63b-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=Dy01h4
	k1X8PMpBxnG2CJblDVIVGZEsmuDHXZ2qBVuSs=; b=FQ0ExT6vnjKDOALOlCK3B8
	P8uLagat9mcURyBgbMyuwptevMYg42SBcpX1IkqnafWTzOIcUGJ6B+jq3L171Jd0
	tX88SlD5cJ41MW8iNB8L1ylt4cd4tdbvsjOSgC7eESOlKFeVHl7E9ZIzkccdz0wo
	/arT8Huk2O2OBHvc9nMWJx6KFwhzc6dC/wI7DBwi1NAZliAVN/jzPV3386UTSHNz
	I+DKF+EBkvmyTm0ftiCQqPpDA2f0IfESCq7qTrX0IgNEm9G6n3si9/K68nriO827
	xEZKliVlFj1DrWXooJR2lvFKN44G6rg1z5WxkSJ3bv5cm/VtQ3lMfEboI6zIwZQQ
	==
X-ME-Sender: <xms:X4AeYXwkA2G5bfmoAUFBQVqR3iJXX98ywd7QwhWs1qTNvKcxSY_12w>
    <xme:X4AeYfQMZJNe7nOLxrdRvXfs3zkSvgCMmG_iNM5thCJwHU6p6zi2He3q_SbPc1wBA
    AFu96hzkf-g_g>
X-ME-Received: <xmr:X4AeYRUUjSVwrhn6zUaeNE6jb6EMSKSa9ZtPv4f_OCHhe3ZEIUJvYvUsfyoLp03XVplI-PlYlmY3q6dIXMznhgLQrZvLbloI>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrleejgdelgecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgvkhcu
    ofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinhhvih
    hsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepteevffei
    gffhkefhgfegfeffhfegveeikeettdfhheevieehieeitddugeefteffnecuvehluhhsth
    gvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehi
    nhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:X4AeYRjXW7udnZr0vaY2Fo2ekxjv6aejhw5yDrvO4VV3LszYdPleaA>
    <xmx:X4AeYZDpvZ_xB19HonsgRg0-UQnmrF9gunxlq6rPfsqGcTPK7mrEFQ>
    <xmx:X4AeYaJuWlW5HBDOEGOgPemgiK3ODFKCjMej13DqPsS_uz0TxT5NhA>
    <xmx:YIAeYc4cL8JzsC0XMYGfaCAYMC25fiAqud_pq_73bDDLK8Vz6Wu51Q>
Date: Thu, 19 Aug 2021 18:01:31 +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>,
	Ian Jackson <iwj@xenproject.org>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2 2/2] ns16550: add Exar PCIe UART cards support
Message-ID: <YR6AXAWBI1SLNnGn@mail-itl>
References: <20210818121649.462413-1-marmarek@invisiblethingslab.com>
 <20210818121649.462413-2-marmarek@invisiblethingslab.com>
 <1be5e798-c3ee-afb0-3da1-7bf16d9f8c41@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="aiWOjA+FJwpNhBhN"
Content-Disposition: inline
In-Reply-To: <1be5e798-c3ee-afb0-3da1-7bf16d9f8c41@suse.com>


--aiWOjA+FJwpNhBhN
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 19 Aug 2021 18:01:31 +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>,
	Ian Jackson <iwj@xenproject.org>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2 2/2] ns16550: add Exar PCIe UART cards support

On Thu, Aug 19, 2021 at 05:57:21PM +0200, Jan Beulich wrote:
> On 18.08.2021 14:16, Marek Marczykowski-G=C3=B3recki wrote:
> > @@ -169,6 +172,29 @@ static void handle_dw_usr_busy_quirk(struct ns1655=
0 *uart)
> >      }
> >  }
> > =20
> > +static void enable_exar_enhanced_bits(struct ns16550 *uart)
>=20
> Afaics the parameter can be pointer-to-const.
>=20
> > +{
> > +#ifdef NS16550_PCI
> > +    if ( uart->bar &&
> > +         pci_conf_read16(PCI_SBDF(0, uart->ps_bdf[0], uart->ps_bdf[2],
> > +                         uart->ps_bdf[2]), PCI_VENDOR_ID) =3D=3D PCI_V=
ENDOR_ID_EXAR )
> > +    {
> > +        u8 devid =3D ns_read_reg(uart, UART_XR_DVID);
> > +        u8 efr;
> > +        /*
> > +         * Exar XR17V35x cards ignore setting MCR[2] (hardware flow co=
ntrol)
> > +         * unless "Enhanced control bits" is enabled.
> > +         * The below checks for a 2, 4 or 8 port UART, following Linux=
 driver.
> > +         */
> > +        if ( devid =3D=3D 0x82 || devid =3D=3D 0x84 || devid =3D=3D 0x=
88 ) {
>=20
> Hmm, now I'm in trouble as to a question you did ask earlier (once
> on irc and I think also once in email): You asked whether to use
> the PCI device ID _or_ the DVID register. Now you're using both,
> albeit in a way not really making the access here safe: You assume
> that you can access the byte at offset 0x8d on all Exar devices. I
> don't know whether there is anything written anywhere telling you
> this is safe. With the earlier vendor/device ID match, it would feel
> safer to me if you replaced vendor ID and DVID checks here by a
> check of uart->param: While you must not deref that pointer, you can
> still check that it points at one of the three new entries you add
> to uart_param[]. Perhaps via "switch ( uart->param - uart_param )".

Ok, indeed with checking just uart->param - uart_param, I can get rid of
pci_conf_read here entirely. And so the #ifdef won't be necessary
either.

> Also there are a number of style nits:
> - opening braces go on their own lines (except after "do"),
> - blank lines are wanted between declarations and statements,
> - we try to move away from u<N> and want new code to use uint<N>_t,
> - with "devid" declared in the narrowest possible scope, please do
>   so also for "efr" (albeit this logic may get rearranged enough to
>   make this point moot).
>=20
> Jan
>=20

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--aiWOjA+FJwpNhBhN
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmEegFsACgkQ24/THMrX
1ywm0Af/XsYnQF1PBWjoYnDlovV1jGyIm7rjqn4tf33VdVmM62NdiHR8X/RL7D3D
1UC4iPTdBZt6cGsqralQ/EC4sXbuVVmZDcv82/v9F2duphCPqa/NvzLs0qC0BsMT
YzcogfCRjj1o0q8XnhNj7wPDJiNHvDwnJhKmoN3Ux20MBwTIOlDzo3SCYssIwi06
0zMlmDJNZqErXutBEO9423E3KwXEJiDMlOjGzUYBNH3AQe7NChJ2qTP0BCoYLBVZ
91TGdOEtkOOUXZR0tdPozIxmi2RzH+RKsEQWe7sxYDFviSr+FFQMLuP9S/7/pf/C
wZNRAtgmszq/LAGLUlNr63OaxYqxCQ==
=5T3k
-----END PGP SIGNATURE-----

--aiWOjA+FJwpNhBhN--


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 16:12:10 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 16:12:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168927.308497 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGkeD-0002nr-43; Thu, 19 Aug 2021 16:12:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168927.308497; Thu, 19 Aug 2021 16: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 1mGkeD-0002nk-0R; Thu, 19 Aug 2021 16:12:05 +0000
Received: by outflank-mailman (input) for mailman id 168927;
 Thu, 19 Aug 2021 16:12:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGkeB-0002ne-A8
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 16:12:03 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGkeB-0003qJ-4l
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 16:12:03 +0000
Received: from iwj (helo=mariner.uk.xensource.com)
 by xenbits.xenproject.org with local-bsmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGkeB-0001mz-3V
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 16:12:03 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.89)
 (envelope-from <iwj@xenproject.org>)
 id 1mGke7-0002EC-Se; Thu, 19 Aug 2021 17:11:59 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=References:In-Reply-To:Subject:Cc:To:Date
	:Message-ID:Content-Transfer-Encoding:Content-Type:MIME-Version:From;
	bh=++BrMWpwmpBg1rI+sKrak4d6F8xYIOwIc1JiUfTIfIY=; b=NcHq1QJOkCS2CwQnA22fj6xThL
	OeV4CrqaGhVmrjXsq27WTtjy432u1KVgrgpXraPDLTbhppDujYP1s5nN9CK3Q2pRdjlNmA79gbi9T
	uwttgDYv6ZG01FWpp5F9kOzqabVba+atImtQeFbpwPUYcG3QKAQNmKx1695lddNfjL9M=;
From: Ian Jackson <iwj@xenproject.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <24862.33487.603952.992529@mariner.uk.xensource.com>
Date: Thu, 19 Aug 2021 17:11:59 +0100
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org,
    Ian Jackson <iwj@xenproject.org>,
    Wei Liu <wl@xen.org>,
    Jan Beulich <jbeulich@suse.com>
Subject: Re: [PATCH-4.15] tools/libs/ctrl: fix xc_core_arch_map_p2m() to
 support linear p2m table
In-Reply-To: <e7b0a267-6b9d-7bde-1d8b-75c602d5d74d@suse.com>
References: <20210702142944.1698-1-jgross@suse.com>
	<b871c368-0e9b-20d4-ad18-55c5d8be881e@suse.com>
	<e7b0a267-6b9d-7bde-1d8b-75c602d5d74d@suse.com>
X-Mailer: VM 8.2.0b under 24.5.1 (i686-pc-linux-gnu)

Juergen Gross writes ("Re: [PATCH-4.15] tools/libs/ctrl: fix xc_core_arch_map_p2m() to support linear p2m table"):
> PING!!!

Sorry.

I have reviewed this and I think it is good to backport, so

Reviewed-by: Ian Jackson <iwj@xenproject.org>

and queued.  I'll push it to staging-4.15 later today.

Ian.


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 16:15:05 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 16:15:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168933.308507 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGkh5-0003Rr-IJ; Thu, 19 Aug 2021 16:15:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168933.308507; Thu, 19 Aug 2021 16: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 1mGkh5-0003Rk-FO; Thu, 19 Aug 2021 16:15:03 +0000
Received: by outflank-mailman (input) for mailman id 168933;
 Thu, 19 Aug 2021 16:15:01 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=s4yt=NK=invisiblethingslab.com=marmarek@srs-us1.protection.inumbo.net>)
 id 1mGkh3-0003Re-T4
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 16:15:01 +0000
Received: from wout5-smtp.messagingengine.com (unknown [64.147.123.21])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 9e560052-b34a-45e6-8218-a666b1ed3a15;
 Thu, 19 Aug 2021 16:15:01 +0000 (UTC)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id 6F56C3200943;
 Thu, 19 Aug 2021 12:14:59 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute6.internal (MEProxy); Thu, 19 Aug 2021 12:15:00 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 19 Aug 2021 12:14:56 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9e560052-b34a-45e6-8218-a666b1ed3a15
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=6JqpLC
	vadBR5FB4jLtBN58eihY2TnRi5+aVUeW5D6Dw=; b=iPSfbi7/fhcszEO/eXAGc7
	m9ZYjGFgUE4EWTgFLgDs47ImYANLUeP5HrLwnAHXOVHThcftEtjcACNrKWl+USw8
	mjajvSzNzRx09SI3YQQ4Hl9UO3vNi+yxjs5cRm2s9yYRBh+sQq7SlZIIgH9ph+Dk
	WNNcjlSQvUYyDE68JSMHmdGTwhD+5V917zvkfqIImlZAR9aE/cO3IM9SmdSks+Ib
	rRXmQThQt+7inTpy7StPUZ/9i+NS9hXDCWjjyFOpkrdLCi3dyTdEhy4o9GtzbSDF
	L8dxYjW2cxU3zqVSxlG89HCOPhrGpI6AHvWsvTdnX3W1DaaPdBLUgdBlQHh3Eeqw
	==
X-ME-Sender: <xms:gYMeYXPpsLHrQKvxuM0Qzc9Zn21rGq5ptzPnLh31-9CtOvPiOtELKw>
    <xme:gYMeYR_UCtIl35N8655dZwdqvVoldyFFJfS-BAVUyNHtu_RWRSYqeR0Pd0lBlgn72
    CRO-SeYUQX3nQ>
X-ME-Received: <xmr:gYMeYWSDJI83VLDqR8TX-MWCUuyhGKsB9HgcNJKIgGXg45zjcRKu6FA4kjAovuECBb_yXa1z2-6qqK59tknof4ZbJOaeFLqo>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrleejgdeljecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgvkhcu
    ofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinhhvih
    hsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepteevffei
    gffhkefhgfegfeffhfegveeikeettdfhheevieehieeitddugeefteffnecuvehluhhsth
    gvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehi
    nhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:gYMeYbs1q930NWlRcyH58rB4jziPshGlYYwBNl5Dd54tbWM6Jg4SoQ>
    <xmx:gYMeYfem0yIupGN5LoqtonNepvD9qoDA8T3CksgQf-pwVGc-4QJXOA>
    <xmx:gYMeYX2dupqCKyg0kMB1B0MiqZLwqg4EeZAT7WEux6Mz18CPdhLqlw>
    <xmx:goMeYQGq7CtHrWEC2ov-bz8n86acS8wUmGKf_T0SxsTZXJG0I9siTg>
Date: Thu, 19 Aug 2021 18:14:53 +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>,
	Ian Jackson <iwj@xenproject.org>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2 2/2] ns16550: add Exar PCIe UART cards support
Message-ID: <YR6DfiX2zBSBKPxr@mail-itl>
References: <20210818121649.462413-1-marmarek@invisiblethingslab.com>
 <20210818121649.462413-2-marmarek@invisiblethingslab.com>
 <1be5e798-c3ee-afb0-3da1-7bf16d9f8c41@suse.com>
 <YR6AXAWBI1SLNnGn@mail-itl>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="X2PzSpjOwF3lsqlc"
Content-Disposition: inline
In-Reply-To: <YR6AXAWBI1SLNnGn@mail-itl>


--X2PzSpjOwF3lsqlc
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 19 Aug 2021 18:14:53 +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>,
	Ian Jackson <iwj@xenproject.org>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2 2/2] ns16550: add Exar PCIe UART cards support

On Thu, Aug 19, 2021 at 06:01:31PM +0200, Marek Marczykowski-G=C3=B3recki w=
rote:
> On Thu, Aug 19, 2021 at 05:57:21PM +0200, Jan Beulich wrote:
> > On 18.08.2021 14:16, Marek Marczykowski-G=C3=B3recki wrote:
> > > @@ -169,6 +172,29 @@ static void handle_dw_usr_busy_quirk(struct ns16=
550 *uart)
> > >      }
> > >  }
> > > =20
> > > +static void enable_exar_enhanced_bits(struct ns16550 *uart)
> >=20
> > Afaics the parameter can be pointer-to-const.

ns_read_reg()/ns_write_reg() lack const, so not really. They could gain
a const, though.

> Ok, indeed with checking just uart->param - uart_param, I can get rid of
> pci_conf_read here entirely. And so the #ifdef won't be necessary
> either.

#ifdef needs to stay, because uart_param is PCI-only. Not a big deal.

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--X2PzSpjOwF3lsqlc
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmEeg30ACgkQ24/THMrX
1yyA6gf/TCMVrCa2hI+UpE6C3G7+Usu4lMz0d8PI3y1UQAqSft5t0WZxLOisoIvR
Osam5jWVqqNV8pqeGtl06M0/qSbajDL8685NPKtJaNcvgnATDCCyapBQHDUfnD5y
C6aBHERyzwScpBDBGklOmFbXJMtg8/K+Ujm4FiN/Ya3TO/C15iWxCzJyROLFHqTp
a98hUNSLohdOGz5+w1FqaH+SF55NTT4LR7LPsL73eWGNmyLkbr04ZfB7iXq9yfE8
sT3jDr4BlW2jHir/7hJXcudGQ/5x95GPNyyxdQmlLucrn6gphn/xt+MwDWcCUuEE
hXCIKl8Oc94dQIUx/TvlRGyJGNh9Vw==
=jFpZ
-----END PGP SIGNATURE-----

--X2PzSpjOwF3lsqlc--


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 16:23:38 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 16:23:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168938.308519 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGkpK-0004z6-GC; Thu, 19 Aug 2021 16:23:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168938.308519; Thu, 19 Aug 2021 16: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 1mGkpK-0004yz-BU; Thu, 19 Aug 2021 16:23:34 +0000
Received: by outflank-mailman (input) for mailman id 168938;
 Thu, 19 Aug 2021 16:23:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGkpI-0004yt-Oj
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 16:23:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGkpI-000437-M1
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 16:23:32 +0000
Received: from iwj (helo=mariner.uk.xensource.com)
 by xenbits.xenproject.org with local-bsmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGkpI-0003CQ-L8
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 16:23:32 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.89)
 (envelope-from <iwj@xenproject.org>)
 id 1mGkpC-0002G5-Bb; Thu, 19 Aug 2021 17:23:26 +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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=References:In-Reply-To:Subject:Cc:To:Date
	:Message-ID:Content-Transfer-Encoding:Content-Type:MIME-Version:From;
	bh=YtbXuxtd66ZnTRRJEQTJ9b17GWXGF66DJtQgoOMIPFo=; b=rTZKjJaOKm2/robHVx2BrVrYJt
	yCA/URy90LCz64x+3XoVlK7yYdlMxmkJakyfq5RuYrIGLABxcZuKOdfixPGPM95fOZ8LDxMhxuIMm
	QssZ6fDa63fQitGP6F/v+Xveo1/xNETu4BToc7hS5oUv/YESe9L90UJ9pOGdIQr74ozE=;
From: Ian Jackson <iwj@xenproject.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <24862.34174.101215.640300@mariner.uk.xensource.com>
Date: Thu, 19 Aug 2021 17:23:26 +0100
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>,
    Olaf Hering <olaf@aepfle.de>,
    "xen-devel\@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
    George Dunlap <george.dunlap@citrix.com>,
    Stefano Stabellini <sstabellini@kernel.org>,
    Wei Liu <wl@xen.org>,
    "Julien  Grall" <julien@xen.org>
Subject: QEMU 6.0+ in 4.15 and 4.14 (Re: preparations for 4.15.1 and 4.13.4)
In-Reply-To: <YO/5lPNSjjY0NQZx@perard>
References: <48cc22b9-6d0a-2cfc-ce34-6aabeb84b160@suse.com>
	<YO/5lPNSjjY0NQZx@perard>
X-Mailer: VM 8.2.0b under 24.5.1 (i686-pc-linux-gnu)

Anthony PERARD writes ("Re: preparations for 4.15.1 and 4.13.4"):
> Can we backport support of QEMU 6.0 to Xen 4.15? I'm pretty sure
> distributions are going to want to use the latest QEMU and latest Xen,
> without needed to build two different QEMU binaries.

I think this is appropriate.  Xen 4.15 is still now, and there was an
unfortunate interaction between release dates.  Your argument makes
sense.

> [XEN PATCH v2 0/8] Fix libxl with QEMU 6.0 + remove some more deprecated usages.
> <20210511092810.13759-1-anthony.perard@citrix.com>
> Commits: d5f54009db^..fe6630ddc4
> 
> Some more QEMU 6.0 fixes
> <20210628100157.5010-1-anthony.perard@citrix.com>
> Commits: 217eef30f7  3bc3be978f

So I have queued all these.

> Also, Olaf want them to be backported to 4.14, see
>     <20210629095952.7b0b94c1.olaf@aepfle.de>

I'm unsure about this.  The diff seems moderately large.  Also, are we
sure that it wouldn't break anything other than very old qemu ?  OTOH
compat problems with newer qemu are indeed a problem especially for
distros.

I'm currently leaning towards "no" but I am very open to being
convinced this is a good idea.

Ian.


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 16:26:53 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 16:26:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168944.308530 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGksW-0005cY-VU; Thu, 19 Aug 2021 16:26:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168944.308530; Thu, 19 Aug 2021 16:26:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGksW-0005cR-Ru; Thu, 19 Aug 2021 16:26:52 +0000
Received: by outflank-mailman (input) for mailman id 168944;
 Thu, 19 Aug 2021 16:26:52 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GG3y=NK=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mGksV-0005cJ-RV
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 16:26:51 +0000
Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 06bfb8ef-0c66-4afd-935b-f762f805d22e;
 Thu, 19 Aug 2021 16:26: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: 06bfb8ef-0c66-4afd-935b-f762f805d22e
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629390410;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=0bq3BVYPoh/F+VjLX6mWhIkl7vV/zIFlvd2v2C6o/SY=;
  b=IBxrgyKveiesDmCJxFQfiThruaGeNNf6L5U1WcpzWf+Zmx4jhw+j7vyt
   Sf0P1msZNGDtdKBFYl3oVTst2GKqgT+QomFIqjs1t++geUYnzhErpot/E
   reR4AgTsNGT6aMVyfTVRcD4J9kz/brZU1oYxIPJmVCCczyA5ct8it9M/g
   o=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: K5vpNeu9O6/0X9CPbJBK4IZ5yMV9ssthhhleagY7HUGZuLnZPfaq37yzQsdT3rBFHakjvJqDBd
 B0UhpGmrIdxx3ja+pBRbfXS+mMR6pbyeesCkQz6MQO2F+Nc6zL4UXsThr1WHSc3QK6e1J3kqSm
 e1kAwY2L/HoblEYdwPzTbCu/SM8PlwbjWcSGp7Q0fPBnKQZuFh67rglp1R9GbURn1V1K53FfTv
 WbGLWG3DGhQQ0QpXCZVJIl4tFuSnmkixz2M8xXBUj0xKz8mPdrTieGM+Trpoy/dwF84MYlrmZX
 jJwH5Bbrk+UYBYamSzi7qBfa
X-SBRS: 5.1
X-MesageID: 50836927
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:kfFFVqERhnhHpxSDpLqE7MeALOsnbusQ8zAXPhZKOHhom62j9/
 xG885x6faZslwssRIb+OxoWpPufZqGz+8R3WB5B97LYOCBggaVxepZg7cKrQeNJ8VQnNQtsp
 uJ38JFeb/N5fkRt7eY3DWF
X-IronPort-AV: E=Sophos;i="5.84,335,1620705600"; 
   d="scan'208";a="50836927"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH] x86/spec-ctrl: Skip RSB overwriting when safe to do so
Date: Thu, 19 Aug 2021 17:26:41 +0100
Message-ID: <20210819162641.22772-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

In some configurations, it is safe to not overwrite the RSB on entry to Xen.
Both Intel and AMD have guidelines in this area, because of the performance
difference it makes for native kernels.

A simple microperf test, measuring the amount of time a XENVER_version
hypercall takes, shows the following improvements:

  KabyLake:     -13.9175% +/- 6.85387%
  CoffeeLake-R:  -9.1183% +/- 5.04519%
  Milan:        -17.7803% +/- 1.29808%

This is best case improvement, because no real workloads are making
XENVER_version hypercalls in a tight loop.  However, this is the hypercall
used by PV kernels to force evtchn delivery if one is pending, so it is a
common hypercall to see, especially in dom0.

The avoidance of RSB-overwriting speeds up all interrupts, exceptions and
system calls from PV or Xen context.  RSB-overwriting is still required on
VMExit from HVM guests for now.

In terms of more realistic testing, LMBench in dom0 on an AMD Rome system
shows improvements across the board, with the best improvement at 8% for
simple syscall and simple write.

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>

Backporting note.  This depends on the order of CR4 setup in __start_xen()
being ahead of the call to init_speculation().  I'm not sure how stable the
order was going backwards.

Raw stats data is here: https://paste.debian.net/hidden/0d59b024/

I was surprised that CoffeeLake's improvement wasn't better than KabyLake.
CFL-R has meltdown fixed vs KBL, so XPTI is a hit which ought to be visible in
this benchmark.  Also, MSR_SPEC_CTRL differes between the ucode-retrofitted
version and one of the early in-hardware versions.  We have yet to make use of
eIBRS so there is definitely an improvement to be had on CFL-R.
---
 xen/arch/x86/spec_ctrl.c | 67 ++++++++++++++++++++++++++++++++++++++++--------
 1 file changed, 57 insertions(+), 10 deletions(-)

diff --git a/xen/arch/x86/spec_ctrl.c b/xen/arch/x86/spec_ctrl.c
index 739b7913ff86..750110e9dfcc 100644
--- a/xen/arch/x86/spec_ctrl.c
+++ b/xen/arch/x86/spec_ctrl.c
@@ -33,7 +33,7 @@
 /* Cmdline controls for Xen's alternative blocks. */
 static bool __initdata opt_msr_sc_pv = true;
 static bool __initdata opt_msr_sc_hvm = true;
-static bool __initdata opt_rsb_pv = true;
+static int8_t __initdata opt_rsb_pv = -1;
 static bool __initdata opt_rsb_hvm = true;
 static int8_t __initdata opt_md_clear_pv = -1;
 static int8_t __initdata opt_md_clear_hvm = -1;
@@ -554,6 +554,35 @@ static bool __init retpoline_safe(uint64_t caps)
     }
 }
 
+/*
+ * https://software.intel.com/content/www/us/en/develop/articles/software-security-guidance/technical-documentation/retpoline-branch-target-injection-mitigation.html
+ *
+ * Silvermont and Airmont based cores are 64bit but only have a 32bit wide
+ * RSB, which impacts the safety of using SMEP to avoid RSB-overwriting.
+ */
+static bool __init rsb_is_full_width(void)
+{
+    if ( boot_cpu_data.x86_vendor != X86_VENDOR_INTEL ||
+         boot_cpu_data.x86 != 6 )
+        return true;
+
+    switch ( boot_cpu_data.x86_model )
+    {
+    case 0x37: /* Baytrail / Valleyview (Silvermont) */
+    case 0x4a: /* Merrifield */
+    case 0x4c: /* Cherrytrail / Brasswell */
+    case 0x4d: /* Avaton / Rangely (Silvermont) */
+    case 0x5a: /* Moorefield */
+    case 0x5d: /* SoFIA 3G Granite/ES2.1 */
+    case 0x65: /* SoFIA LTE AOSP */
+    case 0x6e: /* Cougar Mountain */
+    case 0x75: /* Lightning Mountain */
+        return false;
+    }
+
+    return true;
+}
+
 /* Calculate whether this CPU speculates past #NM */
 static bool __init should_use_eager_fpu(void)
 {
@@ -992,18 +1021,36 @@ void __init init_speculation_mitigations(void)
         default_xen_spec_ctrl |= SPEC_CTRL_SSBD;
 
     /*
-     * PV guests can poison the RSB to any virtual address from which
-     * they can execute a call instruction.  This is necessarily outside
-     * of the Xen supervisor mappings.
+     * PV guests can create RSB entries for any linear address they control,
+     * which are outside of Xen's mappings.
+     *
+     * SMEP inhibits speculation to any user mappings, so in principle it is
+     * safe to not overwrite the RSB when SMEP is active.
+     *
+     * However, some caveats apply:
+     *
+     * 1) CALL instructions push the next sequential linear address into the
+     *    RSB, meaning that there is a boundary case at the user=>supervisor
+     *    split.  This can be compensated for by having an unmapped or NX
+     *    page, or an instruction which halts speculation.
      *
-     * With SMEP enabled, the processor won't speculate into user mappings.
-     * Therefore, in this case, we don't need to worry about poisoned entries
-     * from 64bit PV guests.
+     *    For Xen, the next sequential linear address is the start of M2P
+     *    (mapped NX), or a zapped hole (unmapped).
      *
-     * 32bit PV guest kernels run in ring 1, so use supervisor mappings.
-     * If a processors speculates to 32bit PV guest kernel mappings, it is
-     * speculating in 64bit supervisor mode, and can leak data.
+     * 2) 32bit PV kernels execute in Ring 1 and use supervisor mappings.
+     *    SMEP offers no protection in this case.
+     *
+     * 3) Some CPUs have RSBs which are not full width, which allow the
+     *    attacker's entries to alias Xen addresses.
+     *
+     * It is safe to turn off RSB stuffing when Xen is using SMEP itself, and
+     * 32bit PV guests are disabled, and when the RSB is full width.
      */
+    BUILD_BUG_ON(RO_MPT_VIRT_START != PML4_ADDR(256));
+    if ( opt_rsb_pv == -1 && boot_cpu_has(X86_FEATURE_XEN_SMEP) &&
+         !opt_pv32 && rsb_is_full_width() )
+        opt_rsb_pv = 0;
+
     if ( opt_rsb_pv )
     {
         setup_force_cpu_cap(X86_FEATURE_SC_RSB_PV);
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 16:43:29 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 16:43:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168951.308541 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGl8P-0008P0-IN; Thu, 19 Aug 2021 16:43:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168951.308541; Thu, 19 Aug 2021 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 1mGl8P-0008Ot-E2; Thu, 19 Aug 2021 16:43:17 +0000
Received: by outflank-mailman (input) for mailman id 168951;
 Thu, 19 Aug 2021 16:43:16 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGl8O-0008Ok-3J
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 16:43:16 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGl8O-0004RQ-2F
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 16:43:16 +0000
Received: from iwj (helo=mariner.uk.xensource.com)
 by xenbits.xenproject.org with local-bsmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGl8O-0005m7-1E
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 16:43:16 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.89)
 (envelope-from <iwj@xenproject.org>)
 id 1mGl8J-0002Iy-AO; Thu, 19 Aug 2021 17:43:11 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=References:In-Reply-To:Subject:Cc:To:Date
	:Message-ID:Content-Transfer-Encoding:Content-Type:MIME-Version:From;
	bh=U/JedYRgAVFfXGAzwBX4nxL0YLb67ajOy+X9NzwzsQc=; b=MsgO8BBvccqE9gTXTBrcOyUHmn
	rODZzoQQoUjp3mxWQh1dSRzr78C+ROp2PPLdghMcdrQFvcqwCDQ+m7myiPhYRd/CnC6PN+nSgYFx+
	1kzxoMCt04XWi4HtLGO/11XSBYv++1PYtMzAuNoBam7q+mvc6FZoAxKxMjL2GTxaaJ2U=;
From: Ian Jackson <iwj@xenproject.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
Message-ID: <24862.35359.95257.223452@mariner.uk.xensource.com>
Date: Thu, 19 Aug 2021 17:43:11 +0100
To: Andrew Cooper <andrew.cooper3@citrix.com>,
    Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel\@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
    Ian Jackson <ian.jackson@citrix.com>,
    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>
Subject: Re: preparations for 4.15.1 and 4.13.4 [and 1 more messages]
In-Reply-To: <48cc22b9-6d0a-2cfc-ce34-6aabeb84b160@suse.com>,
	<8324f959-924b-d196-149d-2fdad95da8fa@citrix.com>
References: <48cc22b9-6d0a-2cfc-ce34-6aabeb84b160@suse.com>
	<8324f959-924b-d196-149d-2fdad95da8fa@citrix.com>
X-Mailer: VM 8.2.0b under 24.5.1 (i686-pc-linux-gnu)

Jan Beulich writes ("preparations for 4.15.1 and 4.13.4"):
> Ian: I did take the liberty to backport Anthony's
> 
> 5d3e4ebb5c71 libs/foreignmemory: Fix osdep_xenforeignmemory_map prototype

Thanks.

> Beyond this I'd like the following to be considered:
> 
> 6409210a5f51 libxencall: osdep_hypercall() should return long
> bef64f2c0019 libxencall: introduce variant of xencall2() returning long
> 01a2d001dea2 libxencall: Bump SONAME following new functionality
> 6f02d1ea4a10 libxc: use multicall for memory-op on Linux (and Solaris)

I agree these are needed.

Don't we need these, or something like them in 4.14 and earlier too ?

> If those are to be taken (which means in particular if the question of
> the .so versioning can be properly sorted),
> 
> 198a2bc6f149 x86/HVM: wire up multicalls
> 
> is going to be required as a prereq. I have backports of all of the
> above ready (so I could put them in if you tell me to), but for
> 01a2d001dea2 only in its straightforward but simplistic form, which I'm
> not sure is the right thing to do.

So, I have queued 198a2bc6f149 too.

As for the ABI: 01a2d001dea2 introduces VERS_1.3 with xencall2L.
I think backporting it to 4.15 means declaring that that is precisely
what VERS_1.3 is, and that any future changes must be in VERS_1.4.

I checked that after the backport of 198a2bc6f149, the two files
defining VERS_1.3 are the same.  Well, they are different because of
  7ffbed8681a0
  libxencall: drop bogus mentioning of xencall6()
which is fine, since that symbol didn't exist in any version.

So I propose to bump xencall to 1.4 in staging, to make sure we don't
break the ABI for 1.3 by mistake.

Andrew Cooper writes ("Re: preparations for 4.15.1 and 4.13.4"):
> We can backport changes in SONAME safely so long as:
> 
> 1) We declare VERS_1.2 to be fixed and released. This means that we
> bump to 1.3 for the next change, even if it is ahead of Xen 4.16 being
> release, and
> 
> 2) *All* ABI changes up to VERS_1.2 are backported.

I think this is what I am doing, except that I think Andy wrote "1.2"
instead of "1.3".  "1.2" is currently in staging-4.15, without my
queued series.

> The ABI called VERS_1.2 must be identical on all older branches to avoid
> binary problems when rebuilding a package against old-xen+updates, and
> then updating to a newer Xen.

Indeed.  But that is less relevant than the fact that this must also
be true for VERS_1.3 which is what we are introducing to 4.15 here :-).

Andy, I usually agree with you on ABI matters.  I think I am doing
what you mean.  Please correct me if I have misunderstood you.  If
what I hnve done is wrong, we should revert and/or fix it quickly on
staging-4.15.

(I'll ping you in IRC when I have pushed my queue to staging-4.15.)

Ian.


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 16:46:35 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 16:46:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168956.308551 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGlBb-0000il-1n; Thu, 19 Aug 2021 16:46:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168956.308551; Thu, 19 Aug 2021 16:46: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 1mGlBa-0000ie-Uj; Thu, 19 Aug 2021 16:46:34 +0000
Received: by outflank-mailman (input) for mailman id 168956;
 Thu, 19 Aug 2021 16:46:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGlBZ-0000iT-LL
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 16:46:33 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGlBZ-0004WF-KM
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 16:46:33 +0000
Received: from iwj (helo=mariner.uk.xensource.com)
 by xenbits.xenproject.org with local-bsmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGlBZ-0006J6-JR
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 16:46:33 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.89)
 (envelope-from <iwj@xenproject.org>)
 id 1mGlBU-0002K1-P7; Thu, 19 Aug 2021 17: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=References:In-Reply-To:Subject:Cc:To:Date
	:Message-ID:Content-Transfer-Encoding:Content-Type:MIME-Version:From;
	bh=o8DZOFcYPFsbVuJXyXtp3e/gbaIndLKglG5A2jgpXEw=; b=7KEowxD7mJU9Cwo+Y9GIWoHfyl
	5sZlDxDPNFOvGBMyf93gJcfRHGoP7YGNm8Dq921LPt55TgVdBhrmP/qJjngdG+8Ofxd6NsaCLgvKD
	BjhHhduvTM/QLwZv8eS83q3fvyFJjTN6O1OX9b28T2ta6vLRgU3dIOs1+ZUcKsPeWShg=;
From: Ian Jackson <iwj@xenproject.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <24862.35556.514963.249704@mariner.uk.xensource.com>
Date: Thu, 19 Aug 2021 17:46:28 +0100
To: Olaf Hering <olaf@aepfle.de>
Cc: Jan Beulich <jbeulich@suse.com>,
    "xen-devel\@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
    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>
Subject: Re: preparations for 4.15.1 and 4.13.4
In-Reply-To: <20210715161157.7e85ed9e.olaf@aepfle.de>
References: <48cc22b9-6d0a-2cfc-ce34-6aabeb84b160@suse.com>
	<20210715161157.7e85ed9e.olaf@aepfle.de>
X-Mailer: VM 8.2.0b under 24.5.1 (i686-pc-linux-gnu)

Olaf Hering writes ("Re: preparations for 4.15.1 and 4.13.4"):
> Am Thu, 15 Jul 2021 09:58:24 +0200
> schrieb Jan Beulich <jbeulich@suse.com>:
> 
> > Please point out backports you find missing from the respective staging branches, but which you consider relevant.
> 
> Depending on how green the CI is supposed to be:
> 
> 76416c459c libfsimage: fix parentheses in macro parameters
> e54c433adf libfsimage: fix clang 10 build
> 
> This will likely turn the Leap clang builds at https://gitlab.com/xen-project/xen/-/pipelines/337629824 green.

I would be happy to take fixes like these for stable branches.  I
tried a git cherry-pick but it didn't apply.  Would you like to supply
backports ?

Thanks,
Ian.


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 16:49:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 16:49:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168962.308563 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGlEq-0001Vy-Hw; Thu, 19 Aug 2021 16:49:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168962.308563; Thu, 19 Aug 2021 16: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 1mGlEq-0001Vr-Eo; Thu, 19 Aug 2021 16:49:56 +0000
Received: by outflank-mailman (input) for mailman id 168962;
 Thu, 19 Aug 2021 16:49:56 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGlEq-0001Vl-2e
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 16:49:56 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGlEp-0004Zc-Vg
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 16:49:55 +0000
Received: from iwj (helo=mariner.uk.xensource.com)
 by xenbits.xenproject.org with local-bsmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGlEp-0006gB-Uh
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 16:49:55 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.89)
 (envelope-from <iwj@xenproject.org>)
 id 1mGlEf-0002Ks-88; Thu, 19 Aug 2021 17:49:45 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=References:In-Reply-To:Subject:Cc:To:Date
	:Message-ID:Content-Transfer-Encoding:Content-Type:MIME-Version:From;
	bh=SWhuqSlrdE92iInNfvJSf/KeLyN4oiodry3n4rU4t58=; b=oxoGPhi7Mo2sZ4/36ZfpiJU+MG
	IUHqaB0vn6tmA2FgOuxSjTeKaXmy67v72rQIACZ9y6A/r7CW8Q0McYHotrZfsS73W4XIbiJVgOUgr
	Tipye0RFoKUlrZMXtJzZclXhDUg0utiEsHJ0vHriPB7pxzNhjuY6fW/vXg6GbXA5CE3o=;
From: Ian Jackson <iwj@xenproject.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <24862.35752.987640.236760@mariner.uk.xensource.com>
Date: Thu, 19 Aug 2021 17:49:44 +0100
To: Jan Beulich <jbeulich@suse.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>
Subject: Re: preparations for 4.15.1 and 4.13.4
In-Reply-To: <51ef91e4-24bd-dc95-98fd-124007634978@suse.com>
References: <48cc22b9-6d0a-2cfc-ce34-6aabeb84b160@suse.com>
	<51ef91e4-24bd-dc95-98fd-124007634978@suse.com>
X-Mailer: VM 8.2.0b under 24.5.1 (i686-pc-linux-gnu)

Jan Beulich writes ("Re: preparations for 4.15.1 and 4.13.4"):
> On 15.07.2021 09:58, Jan Beulich wrote:
> > Beyond this I'd like the following to be considered:
> > 
> > 6409210a5f51 libxencall: osdep_hypercall() should return long
> > bef64f2c0019 libxencall: introduce variant of xencall2() returning long
> > 01a2d001dea2 libxencall: Bump SONAME following new functionality
> > 6f02d1ea4a10 libxc: use multicall for memory-op on Linux (and Solaris)
> 
> in addition I'd like to ask you to consider
> 
> 0be5a00af590 libxl/x86: check return value of SHADOW_OP_SET_ALLOCATION domctl
> 
> as well, now that it has gone in.

I have queued that all the way back to 4.12, since it seems
security-adjacent at the very least.

Thanks,
Ian.


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 16:55:19 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 16:55:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168969.308578 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGlJz-0003Gg-82; Thu, 19 Aug 2021 16:55:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168969.308578; Thu, 19 Aug 2021 16:55:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGlJz-0003GZ-4z; Thu, 19 Aug 2021 16:55:15 +0000
Received: by outflank-mailman (input) for mailman id 168969;
 Thu, 19 Aug 2021 16:55:14 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGlJy-0003GH-0j
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 16:55:14 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGlJx-0004gd-W8
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 16:55:13 +0000
Received: from iwj (helo=mariner.uk.xensource.com)
 by xenbits.xenproject.org with local-bsmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGlJx-0002Jp-VF
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 16:55:13 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.89)
 (envelope-from <iwj@xenproject.org>)
 id 1mGlJt-0002NQ-5B; Thu, 19 Aug 2021 17:55: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=References:In-Reply-To:Subject:CC:To:Date
	:Message-ID:Content-Transfer-Encoding:Content-Type:MIME-Version:From;
	bh=tk5/MCtn4EWJm4QKEtLp8oMSoOLPXEK4KWSd+REwSxE=; b=rptUpFV/KONqPfmiTIINc5t1vq
	L4RvEPN5Lh04UmF1N7DWIUu9zho4rC/iwW61w/uXrpTqGkWCaXzAOhhkVHDANuarPwIancaPVuTkU
	Y8IzXKdwNxw1lzFgKsF7bqMB+SqyPLzZXA6zrG3SN8mxHcEHVaPSKj6cvqNWecKjp9Bc=;
From: Ian Jackson <iwj@xenproject.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <24862.36076.875216.461840@mariner.uk.xensource.com>
Date: Thu, 19 Aug 2021 17:55:08 +0100
To: Andrew Cooper <andrew.cooper3@citrix.com>,
CC: Jan Beulich <jbeulich@suse.com>,
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
    Ian Jackson <ian.jackson@citrix.com>,
    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>
Subject: Re: preparations for 4.15.1 and 4.13.4 [and 1 more messages]
In-Reply-To: <24862.35359.95257.223452@mariner.uk.xensource.com>
References: <48cc22b9-6d0a-2cfc-ce34-6aabeb84b160@suse.com>
	<8324f959-924b-d196-149d-2fdad95da8fa@citrix.com>
	<24862.35359.95257.223452@mariner.uk.xensource.com>
X-Mailer: VM 8.2.0b under 24.5.1 (i686-pc-linux-gnu)

Ian Jackson writes ("Re: preparations for 4.15.1 and 4.13.4 [and 1 more messages]"):
> Jan Beulich writes ("preparations for 4.15.1 and 4.13.4"):
> > The ABI called VERS_1.2 must be identical on all older branches to avoid
> > binary problems when rebuilding a package against old-xen+updates, and
> > then updating to a newer Xen.
> 
> Indeed.  But that is less relevant than the fact that this must also
> be true for VERS_1.3 which is what we are introducing to 4.15 here :-).
> 
> Andy, I usually agree with you on ABI matters.  I think I am doing
> what you mean.  Please correct me if I have misunderstood you.  If
> what I hnve done is wrong, we should revert and/or fix it quickly on
> staging-4.15.
> 
> (I'll ping you in IRC when I have pushed my queue to staging-4.15.)

I thought of a better way to do this.  See below for proposed patch to
xen.git#staging.

Ian.

>From 239847451fbef4194e757ce090b6f96c4852af46 Mon Sep 17 00:00:00 2001
From: Ian Jackson <iwj@xenproject.org>
Date: Thu, 19 Aug 2021 17:53:19 +0100
Subject: [PATCH] libxencall: Put a reminder that ABI VERS_1.3 is now frozen

CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Jan Beulich <jbeulich@suse.com>
CC: Wei Liu <wl@xen.org>
Signed-off-by: Ian Jackson <iwj@xenproject.org>
---
 tools/libs/call/libxencall.map | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/libs/call/libxencall.map b/tools/libs/call/libxencall.map
index d18a3174e9..c99630a44b 100644
--- a/tools/libs/call/libxencall.map
+++ b/tools/libs/call/libxencall.map
@@ -30,4 +30,5 @@ VERS_1.2 {
 VERS_1.3 {
 	global:
 		xencall2L;
+	/* NB VERS_1.3 is frozen since it has been exposed in Xen 4.15 */
 } VERS_1.2;
-- 
2.20.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 16:56:28 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 16:56:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168980.308617 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGlL9-0004Dx-Tb; Thu, 19 Aug 2021 16:56:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168980.308617; Thu, 19 Aug 2021 16:56:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGlL9-0004Dp-Q0; Thu, 19 Aug 2021 16:56:27 +0000
Received: by outflank-mailman (input) for mailman id 168980;
 Thu, 19 Aug 2021 16:56:26 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GG3y=NK=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mGlL8-0004DK-Az
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 16:56:26 +0000
Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ff91d953-062c-4e0d-94b8-09de15f1d068;
 Thu, 19 Aug 2021 16:56:24 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ff91d953-062c-4e0d-94b8-09de15f1d068
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629392184;
  h=to:cc:references:from:subject:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=mn0M0AcmfeHH1YO0ZPxYsRh3byoIMwKRXpCYHJk11mE=;
  b=H/fjQkaYT8hy5eqfjYVLWOyxFDprisirnJKQBacEfxwcYNOGtApRsvIy
   uOv6rZ6L9wmxUggkeVBm+el7KLq0qUT0INbe3mfiR0R5EuoG79Oy5U2LL
   ZhWHvFNpDz8/2A/dKkH1HzCiN/2h9nD8wQAhxNfPFsLbaFOMwrxEtdEYx
   Q=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: LsirwRQxWz987v+dZEX449nldelerDFzs0B8+gKCzgZlGsxn/3OwrnJNZ3Q+n+cNmS7BY+7CLC
 wPwVkf6MVVZeK4Grt0gxAFQgl2c4DBnT1OyEmiqN8FmBXahcV7RH+6Nq5qo0t0WtW00cOqN8xP
 2P+FOjh66XTZb6w1rwDX8kpbfMZu/VPt/uBsqmR7tY1fLmRyDQ7bg606ZAc6XowG80plM831af
 7Oy2+6kmC2fWnC5nvxmhYL+aTMDM16IwkgulntASfy45Y3ekMwZGO5xrVh7G7JJubMghbrJSsM
 T1Ds9VJ9o0sxurSu0XMs/v6v
X-SBRS: 5.1
X-MesageID: 51247304
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:XHUkgKldU+7StZWDtYiywa9NQc3pDfOiimdD5ihNYBxZY6Wkfp
 +V88jzhCWZtN9OYhwdcLC7WZVpQRvnhPtICPoqTMiftW7dyReVxeBZnPbfKljbdREWmdQtrZ
 uIH5IOb+EYSGIK9/oSgzPIY+rIouP3iZxA7N22pxwGLXAIGtNdBkVCe2Km+yVNNXh77PECZf
 yhD6R81lidkDgsH7+G7i5vZZm8mzSHruOoXTc2QzocrCWehzKh77D3VzCewxclSjtKhZMv63
 LMnQDV7riq96jT8G6c60bjq7Bt3PfxwNpKA8KBzuATNzXXkw6tIKBsQaeLsjwZqPymrHwqjN
 7PiRE9ONkb0QKeQkiF5T/WnyXw2jcn7HHvjXeenHvYuMT8AAk3DsJQ7LgpOCfx2g4FhpVRwa
 hL12WWu958FhXbhhnw4NDOSlVDile0iWBKq59Qs1VvFa8lLJNBp40W+01YVL0aGjjh1YwhGO
 5ySOnB+fdtd0+AZXyxhBgt/DWVZAV2Iv66eDlEhiTMuAIm2kyRjnFohPD3p01wsa7UEPJ/lr
 352s0CrsA8cicUBZgNT9vpD/HHUlAk7Hr3QRSvyG/cZdU60kT22tbKCYUOlZSXkaMzvewPcb
 T6IR5lXD0JCg7T4fPn5uwDzvmKehTnYQjQ
X-IronPort-AV: E=Sophos;i="5.84,335,1620705600"; 
   d="scan'208";a="51247304"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oApYPki5F725pbk93gtMDngABGRQMIOPaReeMLKMPefH4aqs+z0N/PNGHsbbLPRdHyMKxcZX0/Cq5WoHSkXBveWiwn6GKTyFp8DokUCI+RSdfSRUi6OypcDxV4QB6iaR0l7KPkDxqVaSXqceCvGfiu4HKMYDxuVarx/Lt0Z1M0w6ZmVOdCd3WMGjdvmEQ56MIB2uvdGN3qQbbY2y84f08ts2GPQm+ezIe7lWi5Qus5TdD9JOnMI0H2LsaiUwqsX2fdvs313TbQlOgaBGa7FklcTsGilcHWT92/v0IawXsY5h4cBH4IOD7WU4a5ceUxtBPMK8pXPMSHbYhebsFCUPQw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tlmvmu1H259mfHoV7cWTKiw5Oox7kxRba5Xf2uLSN8M=;
 b=VtUO9H9mUaAvBBMUE01Ullm/YAlCagTdgH45iqEsgfLhOpO5TDXfWnWGPNIaI0uqTaq/aWc7KjcV8/7Xjpe+L5TXeBmRt9nkf6yOtcYW1l7y312dmQSROiImZzACT+tl2r6J8obj5HWiTJO8svmAhbucra+WLYnC/e6c5AeUbu0QA4t6QTweYVTzDcHNzrxc9RzNHiiKQuKCu4pLuu2W0IH7urEPsbpu+8qqUeaYxpU5uq8QiKVdva/yjLPJ2BvtznJFvDGCWGX1XqevjDDw/P7P/3NaFKUJM4mhWzvxlQsB11QmNIR/AWyxwwJIdCgMZgJy8wVpGt/TZgeHzJziBw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tlmvmu1H259mfHoV7cWTKiw5Oox7kxRba5Xf2uLSN8M=;
 b=Uwfm0kuSyYljHLbDErBY0j/Sa+/JaifLlC4YclNxMg+jRyLk96aB2YxKkRbGQCDa5TamFY0Z+psKxBFbbGMrsCpS0Jj+wFTkSrgm9weD+6W3KQT0RxHBtXldOI1nijRGSH3dvVoCXpqYXqdA/y6/H9uGfHKr4CXn3NwAI6o8/eo=
To: Ian Jackson <iwj@xenproject.org>, Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Ian
 Jackson <ian.jackson@citrix.com>, 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: <48cc22b9-6d0a-2cfc-ce34-6aabeb84b160@suse.com>
 <8324f959-924b-d196-149d-2fdad95da8fa@citrix.com>
 <24862.35359.95257.223452@mariner.uk.xensource.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: preparations for 4.15.1 and 4.13.4 [and 1 more messages]
Message-ID: <0ff278fe-a3d4-6c42-5b74-16162f7a28c3@citrix.com>
Date: Thu, 19 Aug 2021 17:56:13 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <24862.35359.95257.223452@mariner.uk.xensource.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-GB
X-ClientProxiedBy: LO4P123CA0250.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1a7::21) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 8053ba4d-763b-4a82-b8f3-08d963324553
X-MS-TrafficTypeDiagnostic: BYAPR03MB4487:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <BYAPR03MB44873627ADC1E7DAF42B0F95BAC09@BYAPR03MB4487.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: leNmF7jUxoTVha3JNbtU9i5Qs8Lu7p8UuZ2dXo13/krVoc1MnNzsC3uug43urUmK9y9vcr+RH48Un50+VxUie3Z9hgT0G7/w5CADCZgTuk1cGNVG4w/ciPAnERXAGdvevPHRGS/c/qLYclekgL9S92R8pvIWlucdC9zyhUqIxI8ihzyPYbwgTRFQrMGbxjNLVjdWDsGJ0//przHC6LUiJQB+18x2jWvxY/f6Ru2363Xyus7RQVH60fAI0Yc8O+boeLWQT9Z0yH3v10TC5Q/WFyjclzJ+eNCtpRpjfCX8ycbznsAKEHQapsY0GJwn+NSzWTknJTioIA1Fjfg9YLn96NTmo9FQsjDlPl8YPid0g7WojMcYaONAdx/xEmVcnXZT54uVyvDVg0TtMucDKXCbJ9SplnrjA/3LHejQm1jQY4dmF2D02IAvQyAtYE58Iwh04cPI5OkOo7W8ZSqEZ/MGGDDz01ziw6MUfpoW07lXd+lJND66DGRRO7cf0J8z5eCrylz2xP/IXXNzoreC381DonxiDFV0vZQYChRYd9Oh0FY56kIg0z1oKlbFRYMbfcYROQRgRgrwtq7KtAXHA9uCAC2983kdquok1ez9MjhbSXLT6LsoNCPRUp907zyURKRKTLNBl/7iq1DIiOHfblfH3n4t/J8KuKwxV089TPIDha3FAIDyKVdu+IXFnKFiCxbqmYluqN6uMTcGQR97wMDglDskpz8LPAHV7/ljxaDICfc=
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:(4636009)(396003)(346002)(376002)(39860400002)(366004)(136003)(316002)(6486002)(66946007)(186003)(6666004)(86362001)(16576012)(53546011)(26005)(31686004)(36756003)(31696002)(5660300002)(38100700002)(2616005)(478600001)(15650500001)(66556008)(66476007)(83380400001)(2906002)(54906003)(110136005)(8936002)(956004)(4326008)(8676002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SFZuVGY1SEZrTVQzaTZCUkc2NkxlTWRJSDEreVVIUGpibmFxeFBhV0E1ZDJp?=
 =?utf-8?B?c1VGTGFFWUtrRDc4ZURUcXluSUZhZUN3UllBRVF4Wmt3bFQ3NnRMTHFMRUg4?=
 =?utf-8?B?YUlrSWI1d05XaFZrbHhlYlgwUng1a0NseVU5a0hxaG9VVlYrQ1FieTNISmpw?=
 =?utf-8?B?emtCTGpmTjAxVjJpdXhRVUpPMDA0NnFPVEdYT0t6Y1IxRGlqV2VBMEFTcVN5?=
 =?utf-8?B?Z3NHa3lOdzJjbnE0MU5VYTBySDEyV0o3UTNXU0JZc3FQamJWZThFK1R4WE1H?=
 =?utf-8?B?eFNyKzlnbEE4KzB4YklyNFBzazA4QmJ4V0NtaGp1N20wSUY3eWhZSThmYjlR?=
 =?utf-8?B?dVJnQXZkVklzaG5ZSExlSEF0ZUxhTGFZK0RwMFNjRWY4Ly94K29FUEZWUnZR?=
 =?utf-8?B?WndXRDY1b2pmSGYrdEpwUnpCaWxFVThDWlBOSm9neTlEZVpLV0pGaS9pOUly?=
 =?utf-8?B?RmY1Rk1yWGIyVkhRZVNBTzRTdldoTWdPTzFiZ1NveE1MK0ZLMkJseWIvMmlF?=
 =?utf-8?B?emxGRDI5NS9nK0tsRXpzMGJXcUJlZkdpZ094anJrdWYxL0gxWHh6KytWcXp5?=
 =?utf-8?B?TVg0OVkxRTdxYWhxZWV0aUlOY21OTzZSeGIvMGRVTjFQeWsyQVRYVERWYWQ0?=
 =?utf-8?B?UitSQWNXTlpnVGdpaGVlM2RNLzBPbXpsNy9lSHl0dlRKeitZMmlQR2pXQ0tF?=
 =?utf-8?B?RVpWTVJqWDRneDBTRG00Ly9zSUNHM1JxajVIZ3haZmtsbElIOWRXak1qUXZu?=
 =?utf-8?B?N1ZJVUNCZWtaNkdHUnNIeDYrRFBoOXEvSGxIRU9tbVV1UXh4S3c1TkZnTmlF?=
 =?utf-8?B?bjJEb09XNWZsSHdvSU54YlJGbW9FUmxZanJIR0VwTk1vNXc2VmkvamZ1TWYy?=
 =?utf-8?B?T1dkVzB3K3p6WTkzVGcybURxSThCYmNOdEdCNmFrN1IrdGV6SHpFK2F3VzVI?=
 =?utf-8?B?aU14aG9Kc2VrUnZxTHhOM1NnQ0t5OTRsRlZIem5nQUdoeTdEdHRUUHRGU0lK?=
 =?utf-8?B?eEpjcWtmRGRqWk9sdlljWjJwVHJOSHMzbVNUQ1Q2UlNjMVdxUW5QMTBzeFBP?=
 =?utf-8?B?V1hsUElyN3hFWXJQQldlNlkrYjc4b2JIR3EvS2ZiYVhmdk9wT1BJL01UT3I5?=
 =?utf-8?B?ZGdQYVQ2NWlNNjFHZGZOMHhGN3pTQXlVMUdEQWVOb1krYkpRY3VTTVdsV1NB?=
 =?utf-8?B?SzN2RlVQbEVNUndmdlVWeUdrMmlIWlVFdDFiVHJYZmlVMlA4V2xwSkZDQ3N5?=
 =?utf-8?B?TmhvQWVzcnliMFk4dm1OZy9oTFdFMUxpKytlWXp6RlpRenliemlXdHZyamNU?=
 =?utf-8?B?MWp3K0Q3MlE1UzRmSStLckJkaE5rL1BoazRXUU1nMTJsb29TdFRUb0EvaU4v?=
 =?utf-8?B?NmhOS3VkeXRyVG1wU1cyY1I5OTdMSlNRRURrWUFQcWFXVFUycVFhVTB5aFpU?=
 =?utf-8?B?RUNKWnp0MCsxamVWbXpUZ3cwQUhCWXh0QWg2T0VwRWlFSzdtNGtJbUdWdk1F?=
 =?utf-8?B?VHpTaitSUDAwZEpjeThtWUUxNGp0bFdCaVR0cmFIZGE2aU5XdURWVGkwTVBG?=
 =?utf-8?B?UEYyN015ZS9VTHNsV1JkalNuWGVKQ3phYjNMcVNrVXU4L2JEbkVhTkFvS3do?=
 =?utf-8?B?VDhRTFRqaVFHMG1YSkt0OFpjcTZ5SHBadERlaDIvT3Y1N2FMUzhEM1BtTUVB?=
 =?utf-8?B?bWFxVWpGTWMrOG8rd3pzcU05ejkra0dKY1JXZ3FBUll1OEZ6QUk5bHFOZzJP?=
 =?utf-8?Q?qzI2BAsJiPfIpEkglp2DcE6lH95do5gx/8CJwtu?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 8053ba4d-763b-4a82-b8f3-08d963324553
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2021 16:56:21.3514
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: G6+M73bvfYLUBiul5CQHgxfnWI2K9Xb28/WyXWpQ+WaG4FP0YaBktxKnphjtJqFZc2yrZEvIaI7ls6XSb6zMC8XQPMcu0wto7RpqXSidCfI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB4487
X-OriginatorOrg: citrix.com

On 19/08/2021 17:43, Ian Jackson wrote:
> Jan Beulich writes ("preparations for 4.15.1 and 4.13.4"):
>> Ian: I did take the liberty to backport Anthony's
>>
>> 5d3e4ebb5c71 libs/foreignmemory: Fix osdep_xenforeignmemory_map prototyp=
e
> Thanks.
>
>> Beyond this I'd like the following to be considered:
>>
>> 6409210a5f51 libxencall: osdep_hypercall() should return long
>> bef64f2c0019 libxencall: introduce variant of xencall2() returning long
>> 01a2d001dea2 libxencall: Bump SONAME following new functionality
>> 6f02d1ea4a10 libxc: use multicall for memory-op on Linux (and Solaris)
> I agree these are needed.
>
> Don't we need these, or something like them in 4.14 and earlier too ?
>
>> If those are to be taken (which means in particular if the question of
>> the .so versioning can be properly sorted),
>>
>> 198a2bc6f149 x86/HVM: wire up multicalls
>>
>> is going to be required as a prereq. I have backports of all of the
>> above ready (so I could put them in if you tell me to), but for
>> 01a2d001dea2 only in its straightforward but simplistic form, which I'm
>> not sure is the right thing to do.
> So, I have queued 198a2bc6f149 too.
>
> As for the ABI: 01a2d001dea2 introduces VERS_1.3 with xencall2L.
> I think backporting it to 4.15 means declaring that that is precisely
> what VERS_1.3 is, and that any future changes must be in VERS_1.4.

Yes

>
> I checked that after the backport of 198a2bc6f149, the two files
> defining VERS_1.3 are the same.  Well, they are different because of
>   7ffbed8681a0
>   libxencall: drop bogus mentioning of xencall6()
> which is fine, since that symbol didn't exist in any version.

That's probably ok, but I'd be tempted to backport that fix too.

> So I propose to bump xencall to 1.4 in staging, to make sure we don't
> break the ABI for 1.3 by mistake.

We don't proactively bump the stable libs sonames - they get bumped on
first new addition.

Otherwise, if there is no addition between now and the 4.16 release,
then the 4.16 build will produce a libfoo.so.1.4 with 1.3's effective ABI.

The same would be true in general for every stable library we didn't
modify in a specific release cycle.

>
> Andrew Cooper writes ("Re: preparations for 4.15.1 and 4.13.4"):
>> We can backport changes in SONAME safely so long as:
>>
>> 1) We declare VERS_1.2 to be fixed and released.=C2=A0 This means that w=
e
>> bump to 1.3 for the next change, even if it is ahead of Xen 4.16 being
>> release, and
>>
>> 2) *All* ABI changes up to VERS_1.2 are backported.
> I think this is what I am doing, except that I think Andy wrote "1.2"
> instead of "1.3".  "1.2" is currently in staging-4.15, without my
> queued series.

Oops - my mistake.

>
>> The ABI called VERS_1.2 must be identical on all older branches to avoid
>> binary problems when rebuilding a package against old-xen+updates, and
>> then updating to a newer Xen.
> Indeed.  But that is less relevant than the fact that this must also
> be true for VERS_1.3 which is what we are introducing to 4.15 here :-).
>
> Andy, I usually agree with you on ABI matters.  I think I am doing
> what you mean.  Please correct me if I have misunderstood you.  If
> what I hnve done is wrong, we should revert and/or fix it quickly on
> staging-4.15.

Looks good to me.

~Andrew



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 17:04:57 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 17:04:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.168998.308676 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGlTJ-0006oq-FP; Thu, 19 Aug 2021 17:04:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 168998.308676; Thu, 19 Aug 2021 17:04:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGlTJ-0006oj-Bz; Thu, 19 Aug 2021 17:04:53 +0000
Received: by outflank-mailman (input) for mailman id 168998;
 Thu, 19 Aug 2021 17:04:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGlTI-0006oa-2g
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 17:04:52 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGlTI-0004ui-0j
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 17:04:52 +0000
Received: from iwj (helo=mariner.uk.xensource.com)
 by xenbits.xenproject.org with local-bsmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGlTH-0004xV-VO
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 17:04:51 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.89)
 (envelope-from <iwj@xenproject.org>)
 id 1mGlTD-0002Px-9d; Thu, 19 Aug 2021 18:04:47 +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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=References:In-Reply-To:Subject:To:Date:
	Message-ID:Content-Transfer-Encoding:Content-Type:MIME-Version:From;
	bh=WzzGxPlZlYU8aiFDw0JadrB9Zf0ar93QLcI33/SQdts=; b=ocllz+fZLAiZMcacRzQ3MinQ+P
	dVSjf1b/6uw/DPsiRln9ElZBLUpwYqaoXQww6JZCl3kMtDhzVFsWmLca0WHrmRfozt35PIly527Bv
	ExG9zp+Zv8l0n74gsDGzMOFJmxcKCVsUHmHjLTdvu6rgnQcceah7XwyGuxSPwgSj1QXs=;
From: Ian Jackson <iwj@xenproject.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <24862.36654.996255.14674@mariner.uk.xensource.com>
Date: Thu, 19 Aug 2021 18:04:46 +0100
To: Andrew Cooper <andrew.cooper3@citrix.com>,
    Jan Beulich <jbeulich@suse.com>,
    "xen-devel\@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
    Ian Jackson <ian.jackson@citrix.com>,
    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>
Subject: Re: preparations for 4.15.1 and 4.13.4 [and 1 more messages]
In-Reply-To: <24862.36076.875216.461840@mariner.uk.xensource.com>
References: <48cc22b9-6d0a-2cfc-ce34-6aabeb84b160@suse.com>
	<8324f959-924b-d196-149d-2fdad95da8fa@citrix.com>
	<24862.35359.95257.223452@mariner.uk.xensource.com>
	<24862.36076.875216.461840@mariner.uk.xensource.com>
X-Mailer: VM 8.2.0b under 24.5.1 (i686-pc-linux-gnu)

Ian Jackson writes ("Re: preparations for 4.15.1 and 4.13.4 [and 1 more messages]"):
> I thought of a better way to do this.  See below for proposed patch to
> xen.git#staging.

We discussed this on IRC, and I'm going to drop this patch.

Ian.

18:00 <@andyhhp> I'm debating what to say there
18:01 <@Diziet> I thought of this since otherwise we're just setting ourselves 
                up to make a mistake.
18:01 <@andyhhp> I'm tempted to just leave it all alone.  That comment will go 
                 stale very quickly, and the general rule is applicable to 
                 other libs
18:01 <@Diziet> True
18:01 <@andyhhp> evidence suggests that almost all edits to the soname require 
                 a fixup...
18:01 <@Diziet> haha
18:01 <@Diziet> FE
18:01 <@andyhhp> it would be nice to do something better
18:02 <@andyhhp> and the "bump the soname proactively" is almost very nice for 
                 that.  My first thought was to suggest that we change to that 
                 as a default way of working
18:01 <@Diziet> haha
18:01 <@Diziet> FE
18:01 <@andyhhp> it would be nice to do something better
18:02 <@andyhhp> and the "bump the soname proactively" is almost very nice for 
                 that.  My first thought was to suggest that we change to that 
                 as a default way of working
18:02 <@andyhhp> but it gets you into a position where you're off-by-one when 
                 it comes to the release
18:02 <@Diziet> Mmmm
18:03 <@Diziet> OK, well, I'll drop my patch for now then if you don't feel 
                it's worth it.
18:03 <@Diziet> Thanks for the reviews, anyway.


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 17:11:22 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 17:11:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169002.308687 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGlZU-000081-5M; Thu, 19 Aug 2021 17:11:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169002.308687; Thu, 19 Aug 2021 17:11:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGlZU-00007t-1I; Thu, 19 Aug 2021 17:11:16 +0000
Received: by outflank-mailman (input) for mailman id 169002;
 Thu, 19 Aug 2021 17:11: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 1mGlZS-00007l-Sw
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 17:11: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 1mGlZR-000565-TV; Thu, 19 Aug 2021 17:11:13 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mGlZR-0005z5-LQ; Thu, 19 Aug 2021 17: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=iThDMtbvAKmaNNCSXCTXZsfEvjZ9+m9GBO4nARIsLao=; b=oDT9QCysip3cj3BWfFRMpzqNW8
	fxy4m3oUVP4eYoFLBltcteO+uM4EfwGevtVphfD5ZhrndCkYk+DvwzFA49KwEo7ZuN/+ZMnRxxVSV
	D4ZQJpatuYUKen4m8oQacbrduPmlMt+tU0+67QYV/4atALH08mLUF6IxbsXLyY93PdvM=;
Subject: Re: [XEN RFC PATCH 00/40] Add device tree based NUMA support to Arm64
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Wei Chen <Wei.Chen@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>,
 "jbeulich@suse.com" <jbeulich@suse.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <ff5d713d-02e7-0376-3f3a-053f1b93b98f@xen.org>
 <83288BD9-EADB-45A9-90C1-D1F89F0A21D5@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <a733305e-0154-cdc7-639b-69540086fb68@xen.org>
Date: Thu, 19 Aug 2021 18:11:10 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <83288BD9-EADB-45A9-90C1-D1F89F0A21D5@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit



On 19/08/2021 15:05, Bertrand Marquis wrote:
> Hi Julien,

Hi Bertrand,

>> On 19 Aug 2021, at 14:42, Julien Grall <julien@xen.org> wrote:
>>
>> Hi Wei,
>>
>> On 11/08/2021 11:23, Wei Chen wrote:
>>> Xen memory allocation and scheduler modules are NUMA aware.
>>> But actually, on x86 has implemented the architecture APIs
>>> to support NUMA. Arm was providing a set of fake architecture
>>> APIs to make it compatible with NUMA awared memory allocation
>>> and scheduler.
>>> Arm system was working well as a single node NUMA system with
>>> these fake APIs, because we didn't have multiple nodes NUMA
>>> system on Arm. But in recent years, more and more Arm devices
>>> support multiple nodes NUMA system. Like TX2, some Hisilicon
>>> chips and the Ampere Altra.
>>
>> All the platforms you mention here are servers (so mainly ACPI). However, this series is adding DT support.
>>
>> Could you outline the long term plan for DT? Is it going to be used on production HW?
> 
> Yes we are already and will continue to use this on production HW.
> Some embedded hardware will have some usage of NUMA (as some embedded functions do require lots of computing power).

Interesting! Thank you for the clarifications.

> We are doing experiments of that right now using those patches.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 17:26:38 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 17:26:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169006.308698 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGloE-0002RG-Eb; Thu, 19 Aug 2021 17:26:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169006.308698; Thu, 19 Aug 2021 17:26:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGloE-0002R9-Bf; Thu, 19 Aug 2021 17:26:30 +0000
Received: by outflank-mailman (input) for mailman id 169006;
 Thu, 19 Aug 2021 17:26:29 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGloC-0002Qz-Vc
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 17:26:28 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGloC-0005LV-Tl
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 17:26:28 +0000
Received: from iwj (helo=mariner.uk.xensource.com)
 by xenbits.xenproject.org with local-bsmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mGloC-0007qt-Ss
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 17:26:28 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.89)
 (envelope-from <iwj@xenproject.org>)
 id 1mGlo8-0002Td-25; Thu, 19 Aug 2021 18:26:24 +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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=References:In-Reply-To:Subject:Cc:To:Date
	:Message-ID:Content-Transfer-Encoding:Content-Type:MIME-Version:From;
	bh=BxlUTqQy1yJjFFwoI2PJ6s0WmdJI+g8nOLKxA2htUt4=; b=MlHxo69742594POU5LyMH66f6W
	hDip1zfA3/kyiJzszTVM4RKi3iVkleSIOwSal7poLYseUXMAMFCt3IyhDAqgeOBCHvyZhh3YRMpml
	HBbIhXPaDExLqlCDp2UqloRMu/yTnwTgY5oeWAEozOwe3xQhNtWRX+5eujMHSOk9mCBE=;
From: Ian Jackson <iwj@xenproject.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <24862.37951.763056.429447@mariner.uk.xensource.com>
Date: Thu, 19 Aug 2021 18:26:23 +0100
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jane Malalane <jane.malalane@citrix.com>,
    Xen-devel <xen-devel@lists.xenproject.org>,
    Wei Liu <wl@xen.org>,
    Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH] libs/guest: Move the guest ABI check earlier into
 xc_dom_parse_image()
In-Reply-To: <51d8928b-34cc-d74c-4833-a7124d61a7cb@citrix.com>
References: <20210817151924.6674-1-jane.malalane@citrix.com>
	<51d8928b-34cc-d74c-4833-a7124d61a7cb@citrix.com>
X-Mailer: VM 8.2.0b under 24.5.1 (i686-pc-linux-gnu)

Andrew Cooper writes ("Re: [PATCH] libs/guest: Move the guest ABI check earlier into xc_dom_parse_image()"):
> On 17/08/2021 16:19, Jane Malalane wrote:
> > Xen may not support 32-bit PV guest for a number of reasons (lack of
> > CONFIG_PV32, explicit pv=no-32 command line argument, or implicitly
> > due to CET being enabled) and advertises this to the toolstack via the
> > absence of xen-3.0-x86_32p ABI.
> >
> > Currently, when trying to boot a 32-bit PV guest, the ABI check is too
> > late and the build explodes in the following manner yielding an
> > unhelpful error message:
> >
> >   xc: error: panic: xg_dom_boot.c:121: xc_dom_boot_mem_init: can't allocate low memory for domain: Out of memory
> >   libxl: error: libxl_dom.c:586:libxl__build_dom: xc_dom_boot_mem_init failed: Operation not supported
> >   libxl: error: libxl_create.c:1573:domcreate_rebuild_done: Domain 1:cannot (re-)build domain: -3
> >   libxl: error: libxl_domain.c:1182:libxl__destroy_domid: Domain 1:Non-existant domain
> >   libxl: error: libxl_domain.c:1136:domain_destroy_callback: Domain 1:Unable to destroy guest
> >   libxl: error: libxl_domain.c:1063:domain_destroy_cb: Domain 1:Destruction of domain failed
> >
> > Move the ABI check earlier into xc_dom_parse_image() along with other
> > ELF-note feature checks.  With this adjustment, it now looks like
> > this:
> >
> >   xc: error: panic: xg_dom_boot.c:88: xc_dom_compat_check: guest type xen-3.0-x86_32p not supported by xen kernel, sorry: Invalid kernel
> >   libxl: error: libxl_dom.c:571:libxl__build_dom: xc_dom_parse_image failed
> >   domainbuilder: detail: xc_dom_release: called
> >   libxl: error: libxl_create.c:1573:domcreate_rebuild_done: Domain 11:cannot (re-)build domain: -3
> >   libxl: error: libxl_domain.c:1182:libxl__destroy_domid: Domain 11:Non-existant domain
> >   libxl: error: libxl_domain.c:1136:domain_destroy_callback: Domain 11:Unable to destroy guest
> >   libxl: error: libxl_domain.c:1063:domain_destroy_cb: Domain 11:Destruction of domain failed
> >
> > Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> > Signed-off-by: Jane Malalane <jane.malalane@citrix.com>
> 
> FWIW, Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
> 
> The net behaviour of `xl create` is still not great (the -3 in
> particular is ESRCH looking for qemu which isn't remotely relevant), but
> at least with this change, you get "guest type xen-3.0-x86_32p not
> supported by xen" out of libxc which is the root cause of the failure.

Acked-by: Ian Jackson <iwj@xenproject.org>


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 17:35:23 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 17:35:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169011.308709 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGlwk-0004Ke-7x; Thu, 19 Aug 2021 17:35:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169011.308709; Thu, 19 Aug 2021 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 1mGlwk-0004KW-4S; Thu, 19 Aug 2021 17:35:18 +0000
Received: by outflank-mailman (input) for mailman id 169011;
 Thu, 19 Aug 2021 17:35:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mGlwj-0004KM-0l
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 17:35:17 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mGlwi-0005V3-2R; Thu, 19 Aug 2021 17:35:16 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mGlwh-0000Yx-Rt; Thu, 19 Aug 2021 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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=PIEJQ3q7Wp7wvOA+y5B3+3eJzwWCC+WVPRMqjxvsVHc=; b=rtxyKsYpCkCJMeIf/QBteoiY3P
	4kbVX56HaTO4QqXoO1CPPohtdNU9/u4/ooWLhXAZ6mxRWvj8jSugIXXWZIJn7MR1V528s5cgR6QkP
	BygC7hWZ5O99wq/FL59hd6kvF67HhHQNV+p0qKV6u5PCbjtPE7TxcBhKOeNeqXoWXO1k=;
Subject: Re: [XEN RFC PATCH 18/40] xen/arm: Keep memory nodes in dtb for NUMA
 when boot from EFI
To: Wei Chen <wei.chen@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, jbeulich@suse.com
Cc: Bertrand.Marquis@arm.com
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-19-wei.chen@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <bfcfa593-60ac-43a7-4f1f-a7a3ab04a1ff@xen.org>
Date: Thu, 19 Aug 2021 18:35:13 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210811102423.28908-19-wei.chen@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Wei,

On 11/08/2021 11:24, Wei Chen wrote:
> EFI can get memory map from EFI system table. But EFI system
> table doesn't contain memory NUMA information, EFI depends on
> ACPI SRAT or device tree memory node to parse memory blocks'
> NUMA mapping.
> 
> But in current code, when Xen is booting from EFI, it will
> delete all memory nodes in device tree. So in UEFI + DTB
> boot, we don't have numa-node-id for memory blocks any more.
> 
> So in this patch, we will keep memory nodes in device tree for
> NUMA code to parse memory numa-node-id later.
> 
> As a side effect, if we still parse boot memory information in
> early_scan_node, bootmem.info will calculate memory ranges in
> memory nodes twice. So we have to prvent early_scan_node to

s/prvent/prevent/

> parse memory nodes in EFI boot.
> 
> As EFI APIs only can be used in Arm64, so we introduced a wrapper
> in header file to prevent #ifdef CONFIG_ARM_64/32 in code block.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>   xen/arch/arm/bootfdt.c      |  8 +++++++-
>   xen/arch/arm/efi/efi-boot.h | 25 -------------------------
>   xen/include/asm-arm/setup.h |  6 ++++++
>   3 files changed, 13 insertions(+), 26 deletions(-)
> 
> diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
> index 476e32e0f5..7df149dbca 100644
> --- a/xen/arch/arm/bootfdt.c
> +++ b/xen/arch/arm/bootfdt.c
> @@ -11,6 +11,7 @@
>   #include <xen/lib.h>
>   #include <xen/kernel.h>
>   #include <xen/init.h>
> +#include <xen/efi.h>
>   #include <xen/device_tree.h>
>   #include <xen/libfdt/libfdt.h>
>   #include <xen/sort.h>
> @@ -335,7 +336,12 @@ static int __init early_scan_node(const void *fdt,
>   {
>       int rc = 0;
>   
> -    if ( device_tree_node_matches(fdt, node, "memory") )
> +    /*
> +     * If system boot from EFI, bootinfo.mem has been set by EFI,

"If the system boot". Although, I would suggest to write:

"If Xen has been booted via UEFI, the memory banks will already be 
populated. So we should skip the parsing."

> +     * so we don't need to parse memory node from DTB.
> +     */
> +    if ( device_tree_node_matches(fdt, node, "memory") &&
> +         !arch_efi_enabled(EFI_BOOT) )

arch_efi_enabled() is going to be less expensive than 
device_tree_node_matches(). So I would suggest to re-order the operands.

>           rc = process_memory_node(fdt, node, name, depth,
>                                    address_cells, size_cells, &bootinfo.mem);
>       else if ( depth == 1 && !dt_node_cmp(name, "reserved-memory") )
> diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
> index cf9c37153f..d0a9987fa4 100644
> --- a/xen/arch/arm/efi/efi-boot.h
> +++ b/xen/arch/arm/efi/efi-boot.h
> @@ -197,33 +197,8 @@ EFI_STATUS __init fdt_add_uefi_nodes(EFI_SYSTEM_TABLE *sys_table,
>       int status;
>       u32 fdt_val32;
>       u64 fdt_val64;
> -    int prev;
>       int num_rsv;
>   
> -    /*
> -     * Delete any memory nodes present.  The EFI memory map is the only
> -     * memory description provided to Xen.
> -     */
> -    prev = 0;
> -    for (;;)
> -    {
> -        const char *type;
> -        int len;
> -
> -        node = fdt_next_node(fdt, prev, NULL);
> -        if ( node < 0 )
> -            break;
> -
> -        type = fdt_getprop(fdt, node, "device_type", &len);
> -        if ( type && strncmp(type, "memory", len) == 0 )
> -        {
> -            fdt_del_node(fdt, node);
> -            continue;
> -        }
> -
> -        prev = node;
> -    }
> -
>      /*
>       * Delete all memory reserve map entries. When booting via UEFI,
>       * kernel will use the UEFI memory map to find reserved regions.
> diff --git a/xen/include/asm-arm/setup.h b/xen/include/asm-arm/setup.h
> index c4b6af6029..e4fb5f0d49 100644
> --- a/xen/include/asm-arm/setup.h
> +++ b/xen/include/asm-arm/setup.h
> @@ -123,6 +123,12 @@ void device_tree_get_reg(const __be32 **cell, u32 address_cells,
>   u32 device_tree_get_u32(const void *fdt, int node,
>                           const char *prop_name, u32 dflt);
>   
> +#if defined(CONFIG_ARM_64)
> +#define arch_efi_enabled(x) efi_enabled(x)
> +#else
> +#define arch_efi_enabled(x) (0)
> +#endif

I would prefer if we introduce CONFIG_EFI that would stub efi_enabled 
for architecture not supporting EFI.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 17:45:41 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 17:45:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169016.308720 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGm6b-0006Hl-6t; Thu, 19 Aug 2021 17:45:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169016.308720; Thu, 19 Aug 2021 17: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 1mGm6b-0006He-3h; Thu, 19 Aug 2021 17:45:29 +0000
Received: by outflank-mailman (input) for mailman id 169016;
 Thu, 19 Aug 2021 17:45:28 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mGm6Z-0006HU-UC
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 17:45: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 1mGm6Z-0005ji-0h; Thu, 19 Aug 2021 17:45:27 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mGm6Y-00024s-Qu; Thu, 19 Aug 2021 17:45:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=pFqZsKzhb4YIaKYTWTcRbXcuZAxZ3s9MrUcpkenNgOk=; b=NMpmFVQ4EsIwamewRPW2Jh1TQq
	LoRLPwcpNZtganDMOwJg0LC6CMRlQv6/puWZe5as+j9cz3WIYX6yCAI2963qmQf9/K6ckdbIXjl0/
	cuAedUIDN3j6GO0F2A547B/yL0r6iZMriPb3xcz8TXn4D7VX3WLJHgyzgylEu3PSFr8I=;
Subject: Re: [XEN RFC PATCH 21/40] xen/arm: introduce device_tree_numa as a
 switch for device tree NUMA
To: Wei Chen <wei.chen@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, jbeulich@suse.com
Cc: Bertrand.Marquis@arm.com
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-22-wei.chen@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <c83a7bcc-7d74-c01c-e91a-eeb11dd348d1@xen.org>
Date: Thu, 19 Aug 2021 18:45:24 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210811102423.28908-22-wei.chen@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Wei,

On 11/08/2021 11:24, Wei Chen wrote:
> Like acpi_numa in x86 as a switch for ACPI based NUMA, we introduce
> device_tree_numa as a switch for Arm device tree based NUMA. When
> NUMA information in device tree is invalid, this switch will be set
> to -1, then NUMA support for Arm will be disabled, even if user set
> numa_off=0.

The hypervisor will never use both ACPI and DT at runtime. In fact...

> 
> Keep using bad_srat and srat_disabled functions name, because we will
> reuse node_covers_memory and acpi_scan_nodes code for Arm.

... given that both functions will be called from the common code, it 
will be a lot more difficult to add ACPI afterwards.

So I think we should either rename acpi_numa to something more generic 
(maybe fw_numa) or convert numa_off to a tri-state.

This will allow to have the code mostly common.

> These
> functions are using these two API names. And, as device tree can be
> treated as one kind of static resource table. So we keep these two
> function names.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>   xen/arch/arm/Makefile           |  1 +
>   xen/arch/arm/numa_device_tree.c | 35 +++++++++++++++++++++++++++++++++
>   xen/include/asm-arm/numa.h      |  2 ++
>   3 files changed, 38 insertions(+)
>   create mode 100644 xen/arch/arm/numa_device_tree.c
> 
> diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
> index 6e3fb8033e..13e1549be0 100644
> --- a/xen/arch/arm/Makefile
> +++ b/xen/arch/arm/Makefile
> @@ -36,6 +36,7 @@ obj-y += mem_access.o
>   obj-y += mm.o
>   obj-y += monitor.o
>   obj-$(CONFIG_NUMA) += numa.o
> +obj-$(CONFIG_DEVICE_TREE_NUMA) += numa_device_tree.o
>   obj-y += p2m.o
>   obj-y += percpu.o
>   obj-y += platform.o
> diff --git a/xen/arch/arm/numa_device_tree.c b/xen/arch/arm/numa_device_tree.c
> new file mode 100644
> index 0000000000..1c74ad135d
> --- /dev/null
> +++ b/xen/arch/arm/numa_device_tree.c
> @@ -0,0 +1,35 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Arm Architecture support layer for NUMA.
> + *
> + * Copyright (C) 2021 Arm Ltd
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program. If not, see <http://www.gnu.org/licenses/>.
> + *
> + */
> +#include <xen/init.h>
> +#include <xen/nodemask.h>
> +#include <xen/numa.h>
> +
> +s8 device_tree_numa = 0;
> +
> +int srat_disabled(void)

You export this one and ...

> +void __init bad_srat(void)

... this one without providing in a prototype.

Looking at the rest of the series... they will be turned static in the 
next patch (#21) but then re-exported in patch #33.

In general, we should refrain to modify code that was added in the same 
patch unless it is not possible for split reason (e.g code clean-up and 
then code movement).

In this case, the helpers should be exported from now.

> +{
> +    printk(KERN_ERR "DT: NUMA information is not used.\n");
> +    device_tree_numa = -1;
> +}
> diff --git a/xen/include/asm-arm/numa.h b/xen/include/asm-arm/numa.h
> index 559b028a01..756ad82d07 100644
> --- a/xen/include/asm-arm/numa.h
> +++ b/xen/include/asm-arm/numa.h
> @@ -23,6 +23,8 @@ typedef u8 nodeid_t;
>   #define NUMA_LOCAL_DISTANCE     10
>   #define NUMA_REMOTE_DISTANCE    20
>   
> +extern s8 device_tree_numa;
> +
>   extern void numa_init(bool acpi_off);
>   extern void numa_set_distance(nodeid_t from, nodeid_t to, uint32_t distance);
>   
> 

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 18:09:44 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 18:09:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169023.308735 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGmTy-0000kF-7E; Thu, 19 Aug 2021 18:09:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169023.308735; Thu, 19 Aug 2021 18:09:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGmTy-0000k8-2y; Thu, 19 Aug 2021 18:09:38 +0000
Received: by outflank-mailman (input) for mailman id 169023;
 Thu, 19 Aug 2021 18:09:36 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mGmTw-0000k2-PD
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 18:09:36 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mGmTv-0006CM-Hi; Thu, 19 Aug 2021 18:09:35 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mGmTv-0005Fq-BN; Thu, 19 Aug 2021 18:09:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=Gk2cLUzwj3ImuGllLbXl2EDB6i2rz+wiaOxxETw+y9M=; b=B6+daN4rder8kpswxAwnoO2KdG
	PWxTZ/15SVqVJiyB5qoMjxluGM25SeoOF8jQTGG6qILatah7TJZYuJBnLB3XqUhvgLvJtrZHT6Okw
	8AOSyqcvOiIGOT1Uge1pe89H7NhIT2pQxPR5n1Rzpt793sa7ZGAdqciy3U9DNFHrwC1w=;
Subject: Re: [XEN RFC PATCH 22/40] xen/arm: introduce a helper to parse device
 tree processor node
To: Wei Chen <wei.chen@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, jbeulich@suse.com
Cc: Bertrand.Marquis@arm.com
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-23-wei.chen@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <a7f544ce-405d-caee-0a49-30f87c513b47@xen.org>
Date: Thu, 19 Aug 2021 19:09:33 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210811102423.28908-23-wei.chen@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Wei,

On 11/08/2021 11:24, Wei Chen wrote:
> Processor NUMA ID information is stored in device tree's processor
> node as "numa-node-id". We need a new helper to parse this ID from
> processor node. If we get this ID from processor node, this ID's
> validity still need to be checked. Once we got a invalid NUMA ID
> from any processor node, the device tree will be marked as NUMA
> information invalid.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>   xen/arch/arm/numa_device_tree.c | 41 +++++++++++++++++++++++++++++++--
>   1 file changed, 39 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/arch/arm/numa_device_tree.c b/xen/arch/arm/numa_device_tree.c
> index 1c74ad135d..37cc56acf3 100644
> --- a/xen/arch/arm/numa_device_tree.c
> +++ b/xen/arch/arm/numa_device_tree.c
> @@ -20,16 +20,53 @@
>   #include <xen/init.h>
>   #include <xen/nodemask.h>
>   #include <xen/numa.h>
> +#include <xen/device_tree.h>
> +#include <asm/setup.h>
>   
>   s8 device_tree_numa = 0;
> +static nodemask_t processor_nodes_parsed __initdata;
>   
> -int srat_disabled(void)
> +static int srat_disabled(void)
>   {
>       return numa_off || device_tree_numa < 0;
>   }
>   
> -void __init bad_srat(void)
> +static __init void bad_srat(void)
>   {
>       printk(KERN_ERR "DT: NUMA information is not used.\n");
>       device_tree_numa = -1;
>   }
> +
> +/* Callback for device tree processor affinity */
> +static int __init dtb_numa_processor_affinity_init(nodeid_t node)
> +{
> +    if ( srat_disabled() )
> +        return -EINVAL;
> +    else if ( node == NUMA_NO_NODE || node >= MAX_NUMNODES ) {
> +		bad_srat();
> +		return -EINVAL;

You seem to have a mix of soft and hard tab in this file. Is there a lot 
of the code that was directly copied from Linux? If not, then the file 
should be using Xen coding style.

> +	}
> +
> +    node_set(node, processor_nodes_parsed);
> +
> +    device_tree_numa = 1;
> +    printk(KERN_INFO "DT: NUMA node %u processor parsed\n", node);
> +
> +    return 0;
> +}
> +
> +/* Parse CPU NUMA node info */
> +int __init device_tree_parse_numa_cpu_node(const void *fdt, int node)

AFAICT, you are going to turn this helper static in a follow-up patch. 
This is a bad practice. Instead, the function should be static from the 
beginning. If it is not possible, then you should re-order the code.

In this case, I think you can add the boilerplate to parse the NUMA 
information (patch #25) here and then extend it in each patch.


> +{
> +    uint32_t nid;
> +
> +    nid = device_tree_get_u32(fdt, node, "numa-node-id", MAX_NUMNODES);
> +    printk(XENLOG_WARNING "CPU on NUMA node:%u\n", nid);
> +    if ( nid >= MAX_NUMNODES )
> +    {
> +        printk(XENLOG_WARNING "Node id %u exceeds maximum value\n", nid);
> +        return -EINVAL;
> +    }
> +
> +    return dtb_numa_processor_affinity_init(nid);
> +}
> 

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 18:10:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 18:10:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169029.308746 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGmVG-00025u-M4; Thu, 19 Aug 2021 18:10:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169029.308746; Thu, 19 Aug 2021 18: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 1mGmVG-00025n-IQ; Thu, 19 Aug 2021 18:10:58 +0000
Received: by outflank-mailman (input) for mailman id 169029;
 Thu, 19 Aug 2021 18:10:57 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mGmVF-00025h-34
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 18:10:57 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mGmVE-0006FE-7k; Thu, 19 Aug 2021 18:10:56 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mGmVE-0005Oo-1f; Thu, 19 Aug 2021 18: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=oVCxAG2t0L37e+fNzi4v34HJ9x8iouwYAXbItguvyEw=; b=sdHOeKINrajoTfe/JilVORTJwP
	p6hFt0/9j29m7uTzoQn6KHo8DRVlxFtbTN5FGyGEeDyIE616YqpuH5OBr1KfH9cSX5PUtWHn9zyw5
	5Kv4KG4bP7qtb3r7JXwBbVEqa4BHcyX4JXqJjy6eL+YZvt86fdySdiVHifXQJARHxamo=;
Subject: Re: [XEN RFC PATCH 22/40] xen/arm: introduce a helper to parse device
 tree processor node
To: Wei Chen <wei.chen@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, jbeulich@suse.com
Cc: Bertrand.Marquis@arm.com
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-23-wei.chen@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <167bbcea-e797-c924-81d9-20e626e320cb@xen.org>
Date: Thu, 19 Aug 2021 19:10:54 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210811102423.28908-23-wei.chen@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

On 11/08/2021 11:24, Wei Chen wrote:
> Processor NUMA ID information is stored in device tree's processor
> node as "numa-node-id". We need a new helper to parse this ID from
> processor node. If we get this ID from processor node, this ID's
> validity still need to be checked. Once we got a invalid NUMA ID
> from any processor node, the device tree will be marked as NUMA
> information invalid.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>   xen/arch/arm/numa_device_tree.c | 41 +++++++++++++++++++++++++++++++--
>   1 file changed, 39 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/arch/arm/numa_device_tree.c b/xen/arch/arm/numa_device_tree.c
> index 1c74ad135d..37cc56acf3 100644
> --- a/xen/arch/arm/numa_device_tree.c
> +++ b/xen/arch/arm/numa_device_tree.c
> @@ -20,16 +20,53 @@
>   #include <xen/init.h>
>   #include <xen/nodemask.h>
>   #include <xen/numa.h>
> +#include <xen/device_tree.h>
> +#include <asm/setup.h>
>   
>   s8 device_tree_numa = 0;
> +static nodemask_t processor_nodes_parsed __initdata;
>   
> -int srat_disabled(void)
> +static int srat_disabled(void)
>   {
>       return numa_off || device_tree_numa < 0;
>   }
>   
> -void __init bad_srat(void)
> +static __init void bad_srat(void)
>   {
>       printk(KERN_ERR "DT: NUMA information is not used.\n");
>       device_tree_numa = -1;
>   }
> +
> +/* Callback for device tree processor affinity */
> +static int __init dtb_numa_processor_affinity_init(nodeid_t node)

I forgot to answer. It seems odd that some of the function names start 
with dtb_* while other starts device_tree_*. Any particular reason for 
that difference of naming?

> +{
> +    if ( srat_disabled() )
> +        return -EINVAL;
> +    else if ( node == NUMA_NO_NODE || node >= MAX_NUMNODES ) {
> +		bad_srat();
> +		return -EINVAL;
> +	}
> +
> +    node_set(node, processor_nodes_parsed);
> +
> +    device_tree_numa = 1;
> +    printk(KERN_INFO "DT: NUMA node %u processor parsed\n", node);
> +
> +    return 0;
> +}
> +
> +/* Parse CPU NUMA node info */
> +int __init device_tree_parse_numa_cpu_node(const void *fdt, int node)
> +{
> +    uint32_t nid;
> +
> +    nid = device_tree_get_u32(fdt, node, "numa-node-id", MAX_NUMNODES);
> +    printk(XENLOG_WARNING "CPU on NUMA node:%u\n", nid);
> +    if ( nid >= MAX_NUMNODES )
> +    {
> +        printk(XENLOG_WARNING "Node id %u exceeds maximum value\n", nid);
> +        return -EINVAL;
> +    }
> +
> +    return dtb_numa_processor_affinity_init(nid);
> +}
> 

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 18:11:41 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 18:11:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169034.308757 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGmVw-0002oA-Uv; Thu, 19 Aug 2021 18:11:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169034.308757; Thu, 19 Aug 2021 18:11:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGmVw-0002o1-Rf; Thu, 19 Aug 2021 18:11:40 +0000
Received: by outflank-mailman (input) for mailman id 169034;
 Thu, 19 Aug 2021 18:11:39 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5dXd=NK=microsoft.com=mikelley@srs-us1.protection.inumbo.net>)
 id 1mGmVv-0002ns-Kt
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 18:11:39 +0000
Received: from outbound.mail.eo.outlook.com (unknown [40.93.3.7])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id e3013751-0118-11ec-a652-12813bfff9fa;
 Thu, 19 Aug 2021 18:11:34 +0000 (UTC)
Received: from MWHPR21MB1593.namprd21.prod.outlook.com (2603:10b6:301:7c::11)
 by MWHPR21MB0157.namprd21.prod.outlook.com (2603:10b6:300:78::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.0; Thu, 19 Aug
 2021 18:11:31 +0000
Received: from MWHPR21MB1593.namprd21.prod.outlook.com
 ([fe80::e8f7:b582:9e2d:ba55]) by MWHPR21MB1593.namprd21.prod.outlook.com
 ([fe80::e8f7:b582:9e2d:ba55%2]) with mapi id 15.20.4436.012; Thu, 19 Aug 2021
 18:11: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: e3013751-0118-11ec-a652-12813bfff9fa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CQx5RicZXCQVwO21zoJEl63zLjOPV98nW7kJOO50pf07D3DZuHZzDM7P04kFHCvnYdmdc5z0k1IL73/tT9q0Wwzxcf2Nu6Mf9NkvFJjcGLyWf+W9HC6DVTUxWkCaqJsIRLVds2RVoVFWpGVOBtGRgrIgfNuVzXOh2O0D3aL7DU+Ywy8CKosw0uF6fn2cbNc47l5L5AiXfUKYRp8k09H1I/060xbu8EvwlA/UQfCgibSrX3uo4pGpxqJ4NTZdD5Ie+rRvZuyElPUeQZRiRfxqc1WVdcl/eVbpDcFtPhG+TCNqcKOtSV7kf9oet+LPtkMoPFA3fNzq+Txdj9qkJsRVpw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wrY7M72rF1Zr0I5j/dlAudxwgz6bxl1zXCiMr7diBYQ=;
 b=Isrmb0PG4kuJDNvN7MtzhFnxRmSsZe13SWdgqzaH+huqpsw+HZj09I78htq+zbjSRp0H4RM283VMbqaluorYPui0Ytp+CXufgLgFmsTYCxA0QeCMIo7E0pNHfg+DTcsvWW9pFrzsywa+h67Bcj9B0Z2wG88/q1oc763lNYZq85iFNbLGeid5CoIkxdmuXdg9jVtDtCfqvVIN7pRSLy+QS3TCPnnSWRI6/xjSlAPlaHtQ4TgKuckCqcSRGWyt99U39HmLMIgA8llnl3Wlzgm+0pyNlJdwUdO1OnY/CPUebkbtoaPSzqDvZLSi1ZOsfyJjFlIUBJMbAEllGCcdKbxOQg==
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=wrY7M72rF1Zr0I5j/dlAudxwgz6bxl1zXCiMr7diBYQ=;
 b=hfNdtZK8RSKoA3hwSF992+kvPvqlclLcx+yqaiu78PJDZ5ZjNo4FW+09UIZ2u3A0XHyn58K/s5N1rG1FmriLRx1P7jDLGdoziV//mMgICpMsWc65CjGXU5HynWDTErFsZe47Dm0E3MBGroRemZbar1qrWg/5pjFEKJbDn+bEA7Y=
From: Michael Kelley <mikelley@microsoft.com>
To: Tianyu Lan <ltykernel@gmail.com>, KY Srinivasan <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>, Stephen Hemminger
	<sthemmin@microsoft.com>, "wei.liu@kernel.org" <wei.liu@kernel.org>, Dexuan
 Cui <decui@microsoft.com>, "tglx@linutronix.de" <tglx@linutronix.de>,
	"mingo@redhat.com" <mingo@redhat.com>, "bp@alien8.de" <bp@alien8.de>,
	"x86@kernel.org" <x86@kernel.org>, "hpa@zytor.com" <hpa@zytor.com>,
	"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
	"luto@kernel.org" <luto@kernel.org>, "peterz@infradead.org"
	<peterz@infradead.org>, "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	"boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>, "jgross@suse.com"
	<jgross@suse.com>, "sstabellini@kernel.org" <sstabellini@kernel.org>,
	"joro@8bytes.org" <joro@8bytes.org>, "will@kernel.org" <will@kernel.org>,
	"davem@davemloft.net" <davem@davemloft.net>, "kuba@kernel.org"
	<kuba@kernel.org>, "jejb@linux.ibm.com" <jejb@linux.ibm.com>,
	"martin.petersen@oracle.com" <martin.petersen@oracle.com>, "arnd@arndb.de"
	<arnd@arndb.de>, "hch@lst.de" <hch@lst.de>, "m.szyprowski@samsung.com"
	<m.szyprowski@samsung.com>, "robin.murphy@arm.com" <robin.murphy@arm.com>,
	"thomas.lendacky@amd.com" <thomas.lendacky@amd.com>, "brijesh.singh@amd.com"
	<brijesh.singh@amd.com>, "ardb@kernel.org" <ardb@kernel.org>, Tianyu Lan
	<Tianyu.Lan@microsoft.com>, "pgonda@google.com" <pgonda@google.com>,
	"martin.b.radev@gmail.com" <martin.b.radev@gmail.com>,
	"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
	"kirill.shutemov@linux.intel.com" <kirill.shutemov@linux.intel.com>,
	"rppt@kernel.org" <rppt@kernel.org>, "sfr@canb.auug.org.au"
	<sfr@canb.auug.org.au>, "saravanand@fb.com" <saravanand@fb.com>,
	"krish.sadhukhan@oracle.com" <krish.sadhukhan@oracle.com>,
	"aneesh.kumar@linux.ibm.com" <aneesh.kumar@linux.ibm.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"rientjes@google.com" <rientjes@google.com>, "hannes@cmpxchg.org"
	<hannes@cmpxchg.org>, "tj@kernel.org" <tj@kernel.org>
CC: "iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org>,
	"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
	"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>, vkuznets
	<vkuznets@redhat.com>, "parri.andrea@gmail.com" <parri.andrea@gmail.com>,
	"dave.hansen@intel.com" <dave.hansen@intel.com>
Subject: RE: [PATCH V3 11/13] HV/IOMMU: Enable swiotlb bounce buffer for
 Isolation VM
Thread-Topic: [PATCH V3 11/13] HV/IOMMU: Enable swiotlb bounce buffer for
 Isolation VM
Thread-Index: AQHXjUfwueIoKygi8UWT9Nsp+4fozKt7FrWA
Date: Thu, 19 Aug 2021 18:11:30 +0000
Message-ID:
 <MWHPR21MB159315B335EB0B064B0B0F23D7C09@MWHPR21MB1593.namprd21.prod.outlook.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-12-ltykernel@gmail.com>
In-Reply-To: <20210809175620.720923-12-ltykernel@gmail.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=8f24f853-954e-4fb1-ba7f-63e5be13c4af;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=2021-08-19T16:38:26Z;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-office365-filtering-correlation-id: fc5d809c-5b04-466a-c429-08d9633cc55f
x-ms-traffictypediagnostic: MWHPR21MB0157:
x-ms-exchange-transport-forked: True
x-ld-processed: 72f988bf-86f1-41af-91ab-2d7cd011db47,ExtAddr
x-microsoft-antispam-prvs:
 <MWHPR21MB0157CD7828DEB9B8D9516BE2D7C09@MWHPR21MB0157.namprd21.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:158;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 SPUUuhJnmIoU4Cg2uH/0j1m2WmDcK82EdbcqiGt/Qpd7R93+9NSK/73ZEo7m+u3HzTEV8EH9PKu8ZR1VaicjcrAMSuCxUvYSTmNYs7z9IWhiMKozkADkRlt6GZJuk1ZFBLP7DCDsCNRgGRL8TJYoMG/Pv6HFH57jPTftFywGCAVIfq5oIQunUdWyeza2sdVOEOvvLW+IBr9rbYOU76HYHA7dewHPwIqycl+0KUi48higib82Wi+kxgVIWjpN4WhqZ37GMII1k/+FdPNe+QIrPkzngdsiYirxG9PCfINg8jyfyd4tXEJ1aI2ADD7uCn6s7yMIGxKSl9xD5ZXwlIyE6f4WKj3SXXnnd+hD1iIkd5b72YraW0AfU20ZdOlLD/CdNjcyNUo7amsEmFMVLXnU3wVRtt2EKiSJuzgb9SX3hEBb8v21kw+iuA60zOKWKDXV2M4iaLwl50Y2xs/G4tet0Vx2rzXJJUrKq0NupMXc0YFedO5qU0Ygenb+MSzjHkABFggHhENC+e6wVn+aC75NwafOYHWH+gJt6wwJII/PVvRo4RqDB9J2Ap97JLUf0+cncnmxo4UB1visL4A+eFaenJ52o0Rhpf1lXl6N6vUKOCG5icYFJ9fLfgdIM75htovp3CmbwVWfeWF0cwGu6RFDjq38/ivKRW+n7Qi9fOzFWcVGLkg+9mz8Uo/841rGgyUboCfjTrhb/PfFSwRO6cwniQK7wHZ0honSVO4xM1jCyUI=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR21MB1593.namprd21.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(55016002)(86362001)(8990500004)(316002)(26005)(186003)(38100700002)(71200400001)(33656002)(83380400001)(7696005)(8676002)(2906002)(122000001)(110136005)(4326008)(8936002)(921005)(54906003)(64756008)(6506007)(82960400001)(82950400001)(7416002)(7406005)(76116006)(9686003)(5660300002)(508600001)(38070700005)(66946007)(66446008)(66476007)(66556008)(10290500003)(52536014);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?DIKV3NFT4RCfv0UJLUwGs0tkglczd6DzZOKR4Nd4SWO3HLo0gpsP+ruBwJBn?=
 =?us-ascii?Q?MAs2uKtttEwKVaeyvNYa+DE1FfLWlFQtv2KGMzXfUoAMwA2E4lmHpGDBKkeq?=
 =?us-ascii?Q?igu6RayZBcu7cZ58JM8vLbwIX9KIuWec5qAQmxmYzeMNjjRqTVel9sAx8C45?=
 =?us-ascii?Q?wcQfHk0R7zcN4lEA8RkZNmzIMNXz7HQcmxTEkdHjHtXQ8biYKI+S6KdbmZ3N?=
 =?us-ascii?Q?yboAB0JzrVirv0A+u8o1ewz0PSIP5gfR+dJ3UO5H/yxIu7T8M+ecqHfPhJNR?=
 =?us-ascii?Q?25SibdIC1rVeBRnnd7kVSXA9SznT9zSFE//S1VGZpG1YIJatNbzSZN+Ysa0I?=
 =?us-ascii?Q?3OD2CqIBQtqAHAXtUd9Jta5uN+Rjk2PYm7i8Ojz61ptdXCVeazoXIOOu5ALh?=
 =?us-ascii?Q?ORq1u/+VGvgUEvCL1G/KPkf4c86CT/vm5c/W7CLjHi27Nxwj6pGSTRjpM80o?=
 =?us-ascii?Q?y4CTUGm7fpsNYM0mlPbQt6H/43nm/egNEI+g+6aAKAwYypsMEOrFKBcdMw+0?=
 =?us-ascii?Q?0pfcmCsnFyE1kYdVdG+T7gkQ6z1M7gOz8X2msN1q59YRTt2riJaq5P+OxfHH?=
 =?us-ascii?Q?ckt0BlNPi1rCqPbyFsiwJRmKjrm3teQQ5/XJo4Xp6TYDv+EWHRrbRcG1+5YJ?=
 =?us-ascii?Q?MnzvHaTxksV2beguJUlNxFwhd10Fioy74YnJh9sEH5nDgLHFny/aw3lGzrGY?=
 =?us-ascii?Q?Tk22qNMhimJZAAaY6y17RA40aNnCz9ybQcnthSL2HEBubuZqij8tBxOvFb1y?=
 =?us-ascii?Q?Sd1vADCi762MTCHNgAnKps6TdUjQnkupP+vJep/4v+cazdqR5Ltb69FAhQqv?=
 =?us-ascii?Q?uWrDGwkDiyCsTiVuy8pa0oTeUaf3jvcqRYze3hLECI1ak9JdcV8dXnWID66S?=
 =?us-ascii?Q?agQP4vECtqJl/D/xz/e6T75UbJKb7qOd+8iSwW5gVClEgFoMrY3rXIMa34yM?=
 =?us-ascii?Q?utjVtK/bQJd9oS4Ytt5C/Rg5IbJvpmN0WaixDNkqBg5jK/736t6WBqtMz0Z9?=
 =?us-ascii?Q?XEOxOIg2cSn/BJBLWpSlBe8DBFCCwyafOy/AR2gRllMoRVpKNv+b3oJfl+tZ?=
 =?us-ascii?Q?DgJt1o/B0nMWqOPlQxwtvgIAy31s9R9wpjpyr6szO0lGGBfYSVewPorYJdAi?=
 =?us-ascii?Q?1niDSx5/2d7ru1pnNe7IMKiZ33GRvRX1kS6pP69PTIgLjJ3VcbFrQ0/5g8wR?=
 =?us-ascii?Q?R8E7mdKzCVcwAVZtdZNpTqmXIHXDXltIDdQI0zJXVE1SBHaQ0sYSlTP4mjKf?=
 =?us-ascii?Q?27OFTifi8oQG5KBQgMp8dxl+Tj3M9wz8hdjdR/TZ6OYyFHWjdvRRTQPnlzp7?=
 =?us-ascii?Q?vYoUas0MUDBTnI/25TN8EN29?=
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: MWHPR21MB1593.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fc5d809c-5b04-466a-c429-08d9633cc55f
X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Aug 2021 18:11:30.5573
 (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: AFKFCJFP/cZmiQz10Z4UdhOqv4fcDTJ5JGB62xVcIQeC6YNJ1lOeSov8cJhlaQy9TXja7INKtQF+2rL5l6qJjV5hA8OKlMSR9aBaWTAoKzM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR21MB0157

From: Tianyu Lan <ltykernel@gmail.com> Sent: Monday, August 9, 2021 10:56 A=
M
>=20
> Hyper-V Isolation VM requires bounce buffer support to copy
> data from/to encrypted memory and so enable swiotlb force
> mode to use swiotlb bounce buffer for DMA transaction.
>=20
> In Isolation VM with AMD SEV, the bounce buffer needs to be
> accessed via extra address space which is above shared_gpa_boundary
> (E.G 39 bit address line) reported by Hyper-V CPUID ISOLATION_CONFIG.
> The access physical address will be original physical address +
> shared_gpa_boundary. The shared_gpa_boundary in the AMD SEV SNP
> spec is called virtual top of memory(vTOM). Memory addresses below
> vTOM are automatically treated as private while memory above
> vTOM is treated as shared.
>=20
> Swiotlb bounce buffer code calls dma_map_decrypted()
> to mark bounce buffer visible to host and map it in extra
> address space. Populate dma memory decrypted ops with hv
> map/unmap function.
>=20
> Hyper-V initalizes swiotlb bounce buffer and default swiotlb
> needs to be disabled. pci_swiotlb_detect_override() and
> pci_swiotlb_detect_4gb() enable the default one. To override
> the setting, hyperv_swiotlb_detect() needs to run before
> these detect functions which depends on the pci_xen_swiotlb_
> init(). Make pci_xen_swiotlb_init() depends on the hyperv_swiotlb
> _detect() to keep the order.
>=20
> The map function vmap_pfn() can't work in the early place
> hyperv_iommu_swiotlb_init() and so initialize swiotlb bounce
> buffer in the hyperv_iommu_swiotlb_later_init().
>=20
> Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
> ---
>  arch/x86/hyperv/ivm.c           | 28 ++++++++++++++
>  arch/x86/include/asm/mshyperv.h |  2 +
>  arch/x86/xen/pci-swiotlb-xen.c  |  3 +-
>  drivers/hv/vmbus_drv.c          |  3 ++
>  drivers/iommu/hyperv-iommu.c    | 65 +++++++++++++++++++++++++++++++++
>  include/linux/hyperv.h          |  1 +
>  6 files changed, 101 insertions(+), 1 deletion(-)
>=20
> diff --git a/arch/x86/hyperv/ivm.c b/arch/x86/hyperv/ivm.c
> index c13ec5560d73..0f05e4d6fc62 100644
> --- a/arch/x86/hyperv/ivm.c
> +++ b/arch/x86/hyperv/ivm.c
> @@ -265,3 +265,31 @@ int hv_set_mem_host_visibility(unsigned long addr, i=
nt numpages, bool visible)
>=20
>  	return __hv_set_mem_host_visibility((void *)addr, numpages, visibility)=
;
>  }
> +
> +/*
> + * hv_map_memory - map memory to extra space in the AMD SEV-SNP Isolatio=
n VM.
> + */
> +void *hv_map_memory(void *addr, unsigned long size)
> +{
> +	unsigned long *pfns =3D kcalloc(size / HV_HYP_PAGE_SIZE,
> +				      sizeof(unsigned long), GFP_KERNEL);
> +	void *vaddr;
> +	int i;
> +
> +	if (!pfns)
> +		return NULL;
> +
> +	for (i =3D 0; i < size / HV_HYP_PAGE_SIZE; i++)
> +		pfns[i] =3D virt_to_hvpfn(addr + i * HV_HYP_PAGE_SIZE) +
> +			(ms_hyperv.shared_gpa_boundary >> HV_HYP_PAGE_SHIFT);
> +
> +	vaddr =3D vmap_pfn(pfns, size / HV_HYP_PAGE_SIZE,	PAGE_KERNEL_IO);
> +	kfree(pfns);
> +
> +	return vaddr;
> +}

This function is manipulating page tables in the guest VM.  It is not invol=
ved
in communicating with Hyper-V, or passing PFNs to Hyper-V.  The pfn array
contains guest PFNs, not Hyper-V PFNs.  So it should use PAGE_SIZE
instead of HV_HYP_PAGE_SIZE, and similarly PAGE_SHIFT and virt_to_pfn().
If this code were ever to run on ARM64 in the future with PAGE_SIZE other
than 4 Kbytes, the use of PAGE_SIZE is correct choice.

> +
> +void hv_unmap_memory(void *addr)
> +{
> +	vunmap(addr);
> +}
> diff --git a/arch/x86/include/asm/mshyperv.h b/arch/x86/include/asm/mshyp=
erv.h
> index a30c60f189a3..b247739f57ac 100644
> --- a/arch/x86/include/asm/mshyperv.h
> +++ b/arch/x86/include/asm/mshyperv.h
> @@ -250,6 +250,8 @@ int hv_unmap_ioapic_interrupt(int ioapic_id, struct h=
v_interrupt_entry *entry);
>  int hv_mark_gpa_visibility(u16 count, const u64 pfn[],
>  			   enum hv_mem_host_visibility visibility);
>  int hv_set_mem_host_visibility(unsigned long addr, int numpages, bool vi=
sible);
> +void *hv_map_memory(void *addr, unsigned long size);
> +void hv_unmap_memory(void *addr);
>  void hv_sint_wrmsrl_ghcb(u64 msr, u64 value);
>  void hv_sint_rdmsrl_ghcb(u64 msr, u64 *value);
>  void hv_signal_eom_ghcb(void);
> diff --git a/arch/x86/xen/pci-swiotlb-xen.c b/arch/x86/xen/pci-swiotlb-xe=
n.c
> index 54f9aa7e8457..43bd031aa332 100644
> --- a/arch/x86/xen/pci-swiotlb-xen.c
> +++ b/arch/x86/xen/pci-swiotlb-xen.c
> @@ -4,6 +4,7 @@
>=20
>  #include <linux/dma-map-ops.h>
>  #include <linux/pci.h>
> +#include <linux/hyperv.h>
>  #include <xen/swiotlb-xen.h>
>=20
>  #include <asm/xen/hypervisor.h>
> @@ -91,6 +92,6 @@ int pci_xen_swiotlb_init_late(void)
>  EXPORT_SYMBOL_GPL(pci_xen_swiotlb_init_late);
>=20
>  IOMMU_INIT_FINISH(pci_xen_swiotlb_detect,
> -		  NULL,
> +		  hyperv_swiotlb_detect,
>  		  pci_xen_swiotlb_init,
>  		  NULL);
> diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c
> index 57bbbaa4e8f7..f068e22a5636 100644
> --- a/drivers/hv/vmbus_drv.c
> +++ b/drivers/hv/vmbus_drv.c
> @@ -23,6 +23,7 @@
>  #include <linux/cpu.h>
>  #include <linux/sched/task_stack.h>
>=20
> +#include <linux/dma-map-ops.h>
>  #include <linux/delay.h>
>  #include <linux/notifier.h>
>  #include <linux/panic_notifier.h>
> @@ -2081,6 +2082,7 @@ struct hv_device *vmbus_device_create(const guid_t =
*type,
>  	return child_device_obj;
>  }
>=20
> +static u64 vmbus_dma_mask =3D DMA_BIT_MASK(64);
>  /*
>   * vmbus_device_register - Register the child device
>   */
> @@ -2121,6 +2123,7 @@ int vmbus_device_register(struct hv_device *child_d=
evice_obj)
>  	}
>  	hv_debug_add_dev_dir(child_device_obj);
>=20
> +	child_device_obj->device.dma_mask =3D &vmbus_dma_mask;
>  	return 0;
>=20
>  err_kset_unregister:
> diff --git a/drivers/iommu/hyperv-iommu.c b/drivers/iommu/hyperv-iommu.c
> index e285a220c913..01e874b3b43a 100644
> --- a/drivers/iommu/hyperv-iommu.c
> +++ b/drivers/iommu/hyperv-iommu.c
> @@ -13,14 +13,22 @@
>  #include <linux/irq.h>
>  #include <linux/iommu.h>
>  #include <linux/module.h>
> +#include <linux/hyperv.h>
> +#include <linux/io.h>
>=20
>  #include <asm/apic.h>
>  #include <asm/cpu.h>
>  #include <asm/hw_irq.h>
>  #include <asm/io_apic.h>
> +#include <asm/iommu.h>
> +#include <asm/iommu_table.h>
>  #include <asm/irq_remapping.h>
>  #include <asm/hypervisor.h>
>  #include <asm/mshyperv.h>
> +#include <asm/swiotlb.h>
> +#include <linux/dma-map-ops.h>
> +#include <linux/dma-direct.h>
> +#include <linux/set_memory.h>
>=20
>  #include "irq_remapping.h"
>=20
> @@ -36,6 +44,9 @@
>  static cpumask_t ioapic_max_cpumask =3D { CPU_BITS_NONE };
>  static struct irq_domain *ioapic_ir_domain;
>=20
> +static unsigned long hyperv_io_tlb_size;
> +static void *hyperv_io_tlb_start;
> +
>  static int hyperv_ir_set_affinity(struct irq_data *data,
>  		const struct cpumask *mask, bool force)
>  {
> @@ -337,4 +348,58 @@ static const struct irq_domain_ops hyperv_root_ir_do=
main_ops =3D {
>  	.free =3D hyperv_root_irq_remapping_free,
>  };
>=20
> +void __init hyperv_iommu_swiotlb_init(void)
> +{
> +	unsigned long bytes;
> +
> +	/*
> +	 * Allocate Hyper-V swiotlb bounce buffer at early place
> +	 * to reserve large contiguous memory.
> +	 */
> +	hyperv_io_tlb_size =3D 256 * 1024 * 1024;

A hard coded size here seems problematic.   The memory size of
Isolated VMs can vary by orders of magnitude.  I see that
xen_swiotlb_init() uses swiotlb_size_or_default(), which at least
pays attention to the value specified on the kernel boot line.

Another example is sev_setup_arch(), which in the native case sets
the size to 6% of main memory, with a max of 1 Gbyte.  This is
the case that's closer to Isolated VMs, so doing something
similar could be a good approach.

> +	hyperv_io_tlb_start =3D
> +			memblock_alloc_low(
> +				  PAGE_ALIGN(hyperv_io_tlb_size),
> +				  HV_HYP_PAGE_SIZE);
> +
> +	if (!hyperv_io_tlb_start) {
> +		pr_warn("Fail to allocate Hyper-V swiotlb buffer.\n");
> +		return;
> +	}
> +}
> +
> +int __init hyperv_swiotlb_detect(void)
> +{
> +	if (hypervisor_is_type(X86_HYPER_MS_HYPERV)
> +	    && hv_is_isolation_supported()) {
> +		/*
> +		 * Enable swiotlb force mode in Isolation VM to
> +		 * use swiotlb bounce buffer for dma transaction.
> +		 */
> +		swiotlb_force =3D SWIOTLB_FORCE;
> +
> +		dma_memory_generic_decrypted_ops.map =3D hv_map_memory;
> +		dma_memory_generic_decrypted_ops.unmap =3D hv_unmap_memory;
> +		return 1;
> +	}
> +
> +	return 0;
> +}
> +
> +void __init hyperv_iommu_swiotlb_later_init(void)
> +{
> +	/*
> +	 * Swiotlb bounce buffer needs to be mapped in extra address
> +	 * space. Map function doesn't work in the early place and so
> +	 * call swiotlb_late_init_with_tbl() here.
> +	 */
> +	if (swiotlb_late_init_with_tbl(hyperv_io_tlb_start,
> +				       hyperv_io_tlb_size >> IO_TLB_SHIFT))
> +		panic("Fail to initialize hyperv swiotlb.\n");
> +}
> +
> +IOMMU_INIT_FINISH(hyperv_swiotlb_detect,
> +		  NULL, hyperv_iommu_swiotlb_init,
> +		  hyperv_iommu_swiotlb_later_init);
> +
>  #endif
> diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
> index 90b542597143..83fa567ad594 100644
> --- a/include/linux/hyperv.h
> +++ b/include/linux/hyperv.h
> @@ -1744,6 +1744,7 @@ int hyperv_write_cfg_blk(struct pci_dev *dev, void =
*buf, unsigned int len,
>  int hyperv_reg_block_invalidate(struct pci_dev *dev, void *context,
>  				void (*block_invalidate)(void *context,
>  							 u64 block_mask));
> +int __init hyperv_swiotlb_detect(void);
>=20
>  struct hyperv_pci_block_ops {
>  	int (*read_block)(struct pci_dev *dev, void *buf, unsigned int buf_len,
> --
> 2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 18:13:21 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 18:13:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169039.308767 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGmXY-0003UO-B1; Thu, 19 Aug 2021 18:13:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169039.308767; Thu, 19 Aug 2021 18:13:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGmXY-0003UH-83; Thu, 19 Aug 2021 18:13:20 +0000
Received: by outflank-mailman (input) for mailman id 169039;
 Thu, 19 Aug 2021 18:13: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 1mGmXX-0003U7-AD
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 18:13: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 1mGmXW-0006L5-EC; Thu, 19 Aug 2021 18:13:18 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mGmXW-0005tY-8L; Thu, 19 Aug 2021 18:13:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=snFcQKRZVfqHg99eKU4K3UEmY9tufl/rXQLxBCmnMXg=; b=IFb6dJ3nJbGS20sBAlWLO2LRWG
	eOeSnzKU65+IxyOlnV7kzcFgpeyh6UpKpDxRstvW8Dlnc/SZSvX+ujFkZR17zjhD5FKibmCfV48zr
	RUyUkfdg2jEo1FWRj9hMs3DjBfC4VtdeI9up4ihUdbzTwAlY8iLRQiriuW87lk+FB5vY=;
Subject: Re: [XEN RFC PATCH 22/40] xen/arm: introduce a helper to parse device
 tree processor node
To: Wei Chen <wei.chen@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, jbeulich@suse.com
Cc: Bertrand.Marquis@arm.com
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-23-wei.chen@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <b52884fd-da4b-f09c-8ed9-cefd7c5b6e97@xen.org>
Date: Thu, 19 Aug 2021 19:13:16 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210811102423.28908-23-wei.chen@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Wei,

On 11/08/2021 11:24, Wei Chen wrote:
> Processor NUMA ID information is stored in device tree's processor
> node as "numa-node-id". We need a new helper to parse this ID from
> processor node. If we get this ID from processor node, this ID's
> validity still need to be checked. Once we got a invalid NUMA ID
> from any processor node, the device tree will be marked as NUMA
> information invalid.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>   xen/arch/arm/numa_device_tree.c | 41 +++++++++++++++++++++++++++++++--
>   1 file changed, 39 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/arch/arm/numa_device_tree.c b/xen/arch/arm/numa_device_tree.c
> index 1c74ad135d..37cc56acf3 100644
> --- a/xen/arch/arm/numa_device_tree.c
> +++ b/xen/arch/arm/numa_device_tree.c
> @@ -20,16 +20,53 @@
>   #include <xen/init.h>
>   #include <xen/nodemask.h>
>   #include <xen/numa.h>
> +#include <xen/device_tree.h>

Nothing in this file seems to depend on xen/device_tree.h. So why do you 
need to include it?

> +#include <asm/setup.h>
>   
>   s8 device_tree_numa = 0;
> +static nodemask_t processor_nodes_parsed __initdata;
>   
> -int srat_disabled(void)
> +static int srat_disabled(void)
>   {
>       return numa_off || device_tree_numa < 0;
>   }
>   
> -void __init bad_srat(void)
> +static __init void bad_srat(void)
>   {
>       printk(KERN_ERR "DT: NUMA information is not used.\n");
>       device_tree_numa = -1;
>   }
> +
> +/* Callback for device tree processor affinity */
> +static int __init dtb_numa_processor_affinity_init(nodeid_t node)
> +{
> +    if ( srat_disabled() )
> +        return -EINVAL;
> +    else if ( node == NUMA_NO_NODE || node >= MAX_NUMNODES ) {
> +		bad_srat();
> +		return -EINVAL;
> +	}
> +
> +    node_set(node, processor_nodes_parsed);
> +
> +    device_tree_numa = 1;
> +    printk(KERN_INFO "DT: NUMA node %u processor parsed\n", node);
> +
> +    return 0;
> +}
> +
> +/* Parse CPU NUMA node info */
> +int __init device_tree_parse_numa_cpu_node(const void *fdt, int node)
> +{
> +    uint32_t nid;
> +
> +    nid = device_tree_get_u32(fdt, node, "numa-node-id", MAX_NUMNODES);
> +    printk(XENLOG_WARNING "CPU on NUMA node:%u\n", nid);
> +    if ( nid >= MAX_NUMNODES )
> +    {
> +        printk(XENLOG_WARNING "Node id %u exceeds maximum value\n", nid);
> +        return -EINVAL;
> +    }
> +
> +    return dtb_numa_processor_affinity_init(nid);
> +}
> 

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 18:15:12 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 18:15:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169045.308778 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGmZI-0004Am-R4; Thu, 19 Aug 2021 18:15:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169045.308778; Thu, 19 Aug 2021 18: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 1mGmZI-0004Af-Nn; Thu, 19 Aug 2021 18:15:08 +0000
Received: by outflank-mailman (input) for mailman id 169045;
 Thu, 19 Aug 2021 18:15:07 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5dXd=NK=microsoft.com=mikelley@srs-us1.protection.inumbo.net>)
 id 1mGmZH-0004AV-0J
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 18:15:07 +0000
Received: from outbound.mail.eo.outlook.com (unknown [40.93.3.5])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 5ed5ef74-0119-11ec-a652-12813bfff9fa;
 Thu, 19 Aug 2021 18:15:01 +0000 (UTC)
Received: from MWHPR21MB1593.namprd21.prod.outlook.com (2603:10b6:301:7c::11)
 by MWHPR21MB0157.namprd21.prod.outlook.com (2603:10b6:300:78::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.0; Thu, 19 Aug
 2021 18:14:51 +0000
Received: from MWHPR21MB1593.namprd21.prod.outlook.com
 ([fe80::e8f7:b582:9e2d:ba55]) by MWHPR21MB1593.namprd21.prod.outlook.com
 ([fe80::e8f7:b582:9e2d:ba55%2]) with mapi id 15.20.4436.012; Thu, 19 Aug 2021
 18:14: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: 5ed5ef74-0119-11ec-a652-12813bfff9fa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eSFxODerX4ZY5DtQyvl52o2xqc6E0O1er7f+HhXzGziX3zTDrOJiR418iX1Js8H224wjhyTYp0O4X322CUparF4SfnJQI/FhxzO/AMQlpai3UkYuRVA2Wz0qtENN426vTPT/H5zafnpgxug33lk0Ujajy0R2D3QH9wEHjr4KDhU9tWGKIl/mPgE2cBHyoTEmyWrRrcbwhORCNBdYdH7WCnaGKONMvuKDFXCtpuXdRJ/9vN94C/XtdpoHNAxWZyNl2PDDO27vJL67TGG9JypwR0gAQFdQDhQU0yRIiZj2NUZkH4NGntHWwWNDSSaOmYjFJBOubyRvOsFpS9bSrBHKew==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DPje1EQkp0sgvXF7x/6+ErwISjkdzQKunUbLvGGhPpo=;
 b=B2QWlaPwC2gMmC9bPzLPqkKs56ogar/NgpDCHX92/tSDGLpDHj1/h7miVRnRgKKR0+txNC5JKWq0Dgp9IHVklU0BgfHhMARaj74eHuvUq/vyPlP5Db8RO8ivanPce3I+wELKnazgb3VHuTQyWCG32/on2wAjX8go5MwkM8e2nPCGTbUOWT5KTZhuctsAtpBlSuutl/fQPtM49oRYBiY6DaQ7yYZG1TJ20t38Vy22+/9siBykFrhxUL+f5W/ByJiU1CsAfMi04c7lHnv5JtHcpMnRw3kMzJw8Oayj6UN78Qj3huPJQsgE+V5rIS63nO4wrcfnt6Br7dPZ//e5d3Gvmw==
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=DPje1EQkp0sgvXF7x/6+ErwISjkdzQKunUbLvGGhPpo=;
 b=O6EkUByemw/HGqjq/ETX0tmiNn4JWdwJjVc2AwkdkKXgWosigQK5rbH6fCasaCNSs7b1NMxaSSrTMCoBWAz5N2WTVltAuOKQLzgYOmeEsnLfFDw2CBMyP6dqYW6sEeXr0VKs+ZINs3T4cRPizDqSZCLKxqc3uk1GhjqVA4K4O5c=
From: Michael Kelley <mikelley@microsoft.com>
To: Tianyu Lan <ltykernel@gmail.com>, KY Srinivasan <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>, Stephen Hemminger
	<sthemmin@microsoft.com>, "wei.liu@kernel.org" <wei.liu@kernel.org>, Dexuan
 Cui <decui@microsoft.com>, "tglx@linutronix.de" <tglx@linutronix.de>,
	"mingo@redhat.com" <mingo@redhat.com>, "bp@alien8.de" <bp@alien8.de>,
	"x86@kernel.org" <x86@kernel.org>, "hpa@zytor.com" <hpa@zytor.com>,
	"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
	"luto@kernel.org" <luto@kernel.org>, "peterz@infradead.org"
	<peterz@infradead.org>, "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	"boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>, "jgross@suse.com"
	<jgross@suse.com>, "sstabellini@kernel.org" <sstabellini@kernel.org>,
	"joro@8bytes.org" <joro@8bytes.org>, "will@kernel.org" <will@kernel.org>,
	"davem@davemloft.net" <davem@davemloft.net>, "kuba@kernel.org"
	<kuba@kernel.org>, "jejb@linux.ibm.com" <jejb@linux.ibm.com>,
	"martin.petersen@oracle.com" <martin.petersen@oracle.com>, "arnd@arndb.de"
	<arnd@arndb.de>, "hch@lst.de" <hch@lst.de>, "m.szyprowski@samsung.com"
	<m.szyprowski@samsung.com>, "robin.murphy@arm.com" <robin.murphy@arm.com>,
	"thomas.lendacky@amd.com" <thomas.lendacky@amd.com>, "brijesh.singh@amd.com"
	<brijesh.singh@amd.com>, "ardb@kernel.org" <ardb@kernel.org>, Tianyu Lan
	<Tianyu.Lan@microsoft.com>, "pgonda@google.com" <pgonda@google.com>,
	"martin.b.radev@gmail.com" <martin.b.radev@gmail.com>,
	"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
	"kirill.shutemov@linux.intel.com" <kirill.shutemov@linux.intel.com>,
	"rppt@kernel.org" <rppt@kernel.org>, "sfr@canb.auug.org.au"
	<sfr@canb.auug.org.au>, "saravanand@fb.com" <saravanand@fb.com>,
	"krish.sadhukhan@oracle.com" <krish.sadhukhan@oracle.com>,
	"aneesh.kumar@linux.ibm.com" <aneesh.kumar@linux.ibm.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"rientjes@google.com" <rientjes@google.com>, "hannes@cmpxchg.org"
	<hannes@cmpxchg.org>, "tj@kernel.org" <tj@kernel.org>
CC: "iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org>,
	"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
	"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>, vkuznets
	<vkuznets@redhat.com>, "parri.andrea@gmail.com" <parri.andrea@gmail.com>,
	"dave.hansen@intel.com" <dave.hansen@intel.com>
Subject: RE: [PATCH V3 12/13] HV/Netvsc: Add Isolation VM support for netvsc
 driver
Thread-Topic: [PATCH V3 12/13] HV/Netvsc: Add Isolation VM support for netvsc
 driver
Thread-Index: AQHXjUf5b2VC7/Te4kWdqzzCQTFBL6t7Gw2w
Date: Thu, 19 Aug 2021 18:14:51 +0000
Message-ID:
 <MWHPR21MB15936FE72E65A62FBA3EF4F2D7C09@MWHPR21MB1593.namprd21.prod.outlook.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-13-ltykernel@gmail.com>
In-Reply-To: <20210809175620.720923-13-ltykernel@gmail.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=98e42156-2e7e-486e-98a6-5afbdfc011ce;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=2021-08-19T16:53:59Z;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-office365-filtering-correlation-id: a54f92a0-e9ee-4069-03e3-08d9633d3d06
x-ms-traffictypediagnostic: MWHPR21MB0157:
x-ms-exchange-transport-forked: True
x-ld-processed: 72f988bf-86f1-41af-91ab-2d7cd011db47,ExtAddr
x-microsoft-antispam-prvs:
 <MWHPR21MB0157B1E7993A28DF222D0A43D7C09@MWHPR21MB0157.namprd21.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:4303;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 C+2FpoeDESJgH3DxEIPmcxYCfzmxgugj2ivBBKHXhf3DNiQ7KWtXZY0ah24+/iTniM+Y8m6NyDh+if/Kzc7b8ZN9ZfFwPHVjMlbmDwmfW5NVlNmVKMVqAneHQwoI0GjuArs2Y534jFsqPyMXwfZt24KoLuI9dWoxExwg05yI3BtivGijCw+j/5jvcuspgVBZR/iSLfkVNAKBTcybFl8kbsVsTK+aTMhA459ux9AT2tfebZiMQ4XyLdozD1Pxioe+g32BCnhnNmIdA6EKcMTv7LcDJg+vZBDVr5NdjrnDt9p5W0yUTyGOzpn608+nT0Dsqwm2Cq5MmOHTxob4MKD+QB9mZmfuICLoEclbnMfyhLI5rvQr2G+peZrBs9W0wbuNlmhRGTPXaNBlOxsa6g4d+PGpBq/LGwjG2BBpFEzu7zyu/7YJbumPLqxcBAb29Qxy48TClX990JPfAYUnfAjj6gM2Ow5j0uZA//3X6sNuwMaa4Jsu2czLoBRIANX7Eg6xaa5qqDgDndHAQJVI1N7zfEVs1V1ckDoND3hk7dDcnPsPKXXaH5E1xdgi6B0MdibMfvTPYG+rf5mevlMZKudxA6DW61FSj2OTdBPrhzFm3dH0xLnUAVwzJllhHH4A2UrVgMrOU9HNwW+E0n5eFE2/ahP4kRrUzJ5oaOdsRH1fAYcBqSdPq58oqZzfLNKMQQbwS7PVtgfM2dMJNZIbEm74n3Vvf3l+un4mJ1JxhPHmeRY=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR21MB1593.namprd21.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(55016002)(86362001)(8990500004)(316002)(26005)(186003)(38100700002)(71200400001)(33656002)(83380400001)(7696005)(30864003)(8676002)(2906002)(122000001)(110136005)(4326008)(8936002)(921005)(54906003)(64756008)(6506007)(82960400001)(82950400001)(7416002)(7406005)(76116006)(9686003)(5660300002)(508600001)(38070700005)(66946007)(66446008)(66476007)(66556008)(10290500003)(52536014);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?IVBG6WNbMPC+3oClPbsLzewhgBQ2hZC7sSa0aCm9VVvquSlR14k+wrTL1pJS?=
 =?us-ascii?Q?DI0WnBfMdc68Olqz/hyUhdg/XkLSOvBSokR6LwlM8kcVFpp3jndZrfKTY3uy?=
 =?us-ascii?Q?vnVD+BmYSvazRdJogH9OTH3etUt8nzL/FgC3LeP/tZ/dvxwZOW2HQUJYV3Fp?=
 =?us-ascii?Q?CEB40S1TNoY5WcQa1bVs7kM2HRPCgYlIpWF+U1RGdp55kKb2QmppENExfCeq?=
 =?us-ascii?Q?yD0W+FJFLiy9dJwlPdFI3uB3XB+PMUNVz+BplUPAyShPaUCGGpIWRVImhN1E?=
 =?us-ascii?Q?UW1mBV/dGREBbml3mkodaAchYUf8c2FyFx9rtzjaiqVWVJdJS5u4hcM3Wc6y?=
 =?us-ascii?Q?dBb2aiWcFjeMQG8DKuaJN3k46CLM9xPdScY8A6T+RPxOqKHCPKsQrhF1f+uo?=
 =?us-ascii?Q?DOSRL8QlkYEvz5N1Ytwb16OonXe5somKiMXKy8GJ/9FHv+yMO1rhg+QCE55/?=
 =?us-ascii?Q?tZV4caedS4PSzyhTcLA51HUKLRJZPMZcZZ8HidpVz6pmDsKotS/s8WIKR4hI?=
 =?us-ascii?Q?Ccx8TlezD7KgceLtlYdCHPHDAerVDLmJF9+g6WB9s+KSborLDfgZNdY9UaHs?=
 =?us-ascii?Q?Cs1w6tcu+6vBQUCP1agnBNQwyX3OItmFZDuj/WBCVp9gO0zcXPIazR3tcJMY?=
 =?us-ascii?Q?PizvkPPDlrA68hHl1c4MMyuT0pJvnChcelPBEKgduwRafNQqvqMnKQsBM0qr?=
 =?us-ascii?Q?kB66htuCWgBzRcb0TAQQA/PjZBaccXwr0WjK8Ab0MIK5krpT+YdGKBG5vICl?=
 =?us-ascii?Q?EWlxrhcL3c62Y+i0uxLmeBdtjAn6pZWLLfF/qhn40WdY8Kv1t6Lif5kEzQ00?=
 =?us-ascii?Q?hcY+O14dII5MePQr77DT4FHWY8zG9zkhf0PxIxtvhwQi/h3BqcD58JCl2wU7?=
 =?us-ascii?Q?2p+7b2eNq2PF0BNXQjfSUCK6YObe5GrhmJT+wLfDGTATolV4UuKDiMHm7XNw?=
 =?us-ascii?Q?dG65E5ZTX3qwPAoC7LGuG0fARY3mnledoeJgWHqyGg6VbKbTIQCMv7vOqpfL?=
 =?us-ascii?Q?969oC9cVz1USDeRSc7TWrd9vw50FW0wFIzrJGVqF0LSlmKRM4RBfa3X1iLmQ?=
 =?us-ascii?Q?oRezeJ9IqMBHsI3NS6vkrwA4fYP5XLA7xPikbO+PhbiHlfAcAtroiegRSDNl?=
 =?us-ascii?Q?IKWrYGmbOZfCP6i2QBFSxdR7oKPjIdbCMo0XMVmhTIup6TG4z72GKFRZrBNW?=
 =?us-ascii?Q?wHk2GL/O9ZXw4LzGfNMG2DBgW4Toza1K3LWa18tkO0D3XyE73dWIeKlgCYtd?=
 =?us-ascii?Q?7ESgGEMnHHOYyYXDDdi8O5Vtx5imiutvx4vUwxoQvOrwogC5MuprY8foV4Gf?=
 =?us-ascii?Q?CHagzHyJJ1ufC0WAikgc3QEI?=
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: MWHPR21MB1593.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a54f92a0-e9ee-4069-03e3-08d9633d3d06
X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Aug 2021 18:14:51.3167
 (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: GGzneGYRpxFMRaobKUAnYSapisXI7wJjBntGOsYDV8W94EdtN2ZBHsWPkz8B3jJ0FBK3g6ZSNbbJEVD8JpCZedfXeY1y2lOLKtKjvIYKMWY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR21MB0157

From: Tianyu Lan <ltykernel@gmail.com> Sent: Monday, August 9, 2021 10:56 A=
M
>=20

The Subject line tag should be "hv_netvsc:".

> In Isolation VM, all shared memory with host needs to mark visible
> to host via hvcall. vmbus_establish_gpadl() has already done it for
> netvsc rx/tx ring buffer. The page buffer used by vmbus_sendpacket_
> pagebuffer() still need to handle. Use DMA API to map/umap these
> memory during sending/receiving packet and Hyper-V DMA ops callback
> will use swiotlb function to allocate bounce buffer and copy data
> from/to bounce buffer.
>=20
> Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
> ---
>  drivers/net/hyperv/hyperv_net.h   |   6 ++
>  drivers/net/hyperv/netvsc.c       | 144 +++++++++++++++++++++++++++++-
>  drivers/net/hyperv/rndis_filter.c |   2 +
>  include/linux/hyperv.h            |   5 ++
>  4 files changed, 154 insertions(+), 3 deletions(-)
>=20
> diff --git a/drivers/net/hyperv/hyperv_net.h b/drivers/net/hyperv/hyperv_=
net.h
> index bc48855dff10..862419912bfb 100644
> --- a/drivers/net/hyperv/hyperv_net.h
> +++ b/drivers/net/hyperv/hyperv_net.h
> @@ -164,6 +164,7 @@ struct hv_netvsc_packet {
>  	u32 total_bytes;
>  	u32 send_buf_index;
>  	u32 total_data_buflen;
> +	struct hv_dma_range *dma_range;
>  };
>=20
>  #define NETVSC_HASH_KEYLEN 40
> @@ -1074,6 +1075,7 @@ struct netvsc_device {
>=20
>  	/* Receive buffer allocated by us but manages by NetVSP */
>  	void *recv_buf;
> +	void *recv_original_buf;
>  	u32 recv_buf_size; /* allocated bytes */
>  	u32 recv_buf_gpadl_handle;
>  	u32 recv_section_cnt;
> @@ -1082,6 +1084,8 @@ struct netvsc_device {
>=20
>  	/* Send buffer allocated by us */
>  	void *send_buf;
> +	void *send_original_buf;
> +	u32 send_buf_size;
>  	u32 send_buf_gpadl_handle;
>  	u32 send_section_cnt;
>  	u32 send_section_size;
> @@ -1730,4 +1734,6 @@ struct rndis_message {
>  #define RETRY_US_HI	10000
>  #define RETRY_MAX	2000	/* >10 sec */
>=20
> +void netvsc_dma_unmap(struct hv_device *hv_dev,
> +		      struct hv_netvsc_packet *packet);
>  #endif /* _HYPERV_NET_H */
> diff --git a/drivers/net/hyperv/netvsc.c b/drivers/net/hyperv/netvsc.c
> index 7bd935412853..fc312e5db4d5 100644
> --- a/drivers/net/hyperv/netvsc.c
> +++ b/drivers/net/hyperv/netvsc.c
> @@ -153,8 +153,21 @@ static void free_netvsc_device(struct rcu_head *head=
)
>  	int i;
>=20
>  	kfree(nvdev->extension);
> -	vfree(nvdev->recv_buf);
> -	vfree(nvdev->send_buf);
> +
> +	if (nvdev->recv_original_buf) {
> +		vunmap(nvdev->recv_buf);
> +		vfree(nvdev->recv_original_buf);
> +	} else {
> +		vfree(nvdev->recv_buf);
> +	}
> +
> +	if (nvdev->send_original_buf) {
> +		vunmap(nvdev->send_buf);
> +		vfree(nvdev->send_original_buf);
> +	} else {
> +		vfree(nvdev->send_buf);
> +	}
> +
>  	kfree(nvdev->send_section_map);
>=20
>  	for (i =3D 0; i < VRSS_CHANNEL_MAX; i++) {
> @@ -330,6 +343,27 @@ int netvsc_alloc_recv_comp_ring(struct netvsc_device=
 *net_device, u32 q_idx)
>  	return nvchan->mrc.slots ? 0 : -ENOMEM;
>  }
>=20
> +static void *netvsc_remap_buf(void *buf, unsigned long size)
> +{
> +	unsigned long *pfns;
> +	void *vaddr;
> +	int i;
> +
> +	pfns =3D kcalloc(size / HV_HYP_PAGE_SIZE, sizeof(unsigned long),
> +		       GFP_KERNEL);

This assumes that the "size" argument is a multiple of PAGE_SIZE.  I think
that's true in all the use cases, but it would be safer to check.

> +	if (!pfns)
> +		return NULL;
> +
> +	for (i =3D 0; i < size / HV_HYP_PAGE_SIZE; i++)
> +		pfns[i] =3D virt_to_hvpfn(buf + i * HV_HYP_PAGE_SIZE)
> +			+ (ms_hyperv.shared_gpa_boundary >> HV_HYP_PAGE_SHIFT);
> +
> +	vaddr =3D vmap_pfn(pfns, size / HV_HYP_PAGE_SIZE, PAGE_KERNEL_IO);
> +	kfree(pfns);
> +
> +	return vaddr;
> +}

This function appears to be a duplicate of hv_map_memory() in Patch 11 of t=
his
series.  Is it possible to structure things so there is only one implementa=
tion?  In
any case, see the comment in hv_map_memory() about PAGE_SIZE vs
HV_HYP_PAGE_SIZE and similar.

> +
>  static int netvsc_init_buf(struct hv_device *device,
>  			   struct netvsc_device *net_device,
>  			   const struct netvsc_device_info *device_info)
> @@ -340,6 +374,7 @@ static int netvsc_init_buf(struct hv_device *device,
>  	unsigned int buf_size;
>  	size_t map_words;
>  	int i, ret =3D 0;
> +	void *vaddr;
>=20
>  	/* Get receive buffer area. */
>  	buf_size =3D device_info->recv_sections * device_info->recv_section_siz=
e;
> @@ -375,6 +410,15 @@ static int netvsc_init_buf(struct hv_device *device,
>  		goto cleanup;
>  	}
>=20
> +	if (hv_isolation_type_snp()) {
> +		vaddr =3D netvsc_remap_buf(net_device->recv_buf, buf_size);
> +		if (!vaddr)
> +			goto cleanup;
> +
> +		net_device->recv_original_buf =3D net_device->recv_buf;
> +		net_device->recv_buf =3D vaddr;
> +	}
> +
>  	/* Notify the NetVsp of the gpadl handle */
>  	init_packet =3D &net_device->channel_init_pkt;
>  	memset(init_packet, 0, sizeof(struct nvsp_message));
> @@ -477,6 +521,15 @@ static int netvsc_init_buf(struct hv_device *device,
>  		goto cleanup;
>  	}
>=20
> +	if (hv_isolation_type_snp()) {
> +		vaddr =3D netvsc_remap_buf(net_device->send_buf, buf_size);
> +		if (!vaddr)
> +			goto cleanup;

I don't think this error case is handled correctly.  Doesn't the remapping
of the recv buf need to be undone?

> +
> +		net_device->send_original_buf =3D net_device->send_buf;
> +		net_device->send_buf =3D vaddr;
> +	}
> +
>  	/* Notify the NetVsp of the gpadl handle */
>  	init_packet =3D &net_device->channel_init_pkt;
>  	memset(init_packet, 0, sizeof(struct nvsp_message));
> @@ -767,7 +820,7 @@ static void netvsc_send_tx_complete(struct net_device=
 *ndev,
>=20
>  	/* Notify the layer above us */
>  	if (likely(skb)) {
> -		const struct hv_netvsc_packet *packet
> +		struct hv_netvsc_packet *packet
>  			=3D (struct hv_netvsc_packet *)skb->cb;
>  		u32 send_index =3D packet->send_buf_index;
>  		struct netvsc_stats *tx_stats;
> @@ -783,6 +836,7 @@ static void netvsc_send_tx_complete(struct net_device=
 *ndev,
>  		tx_stats->bytes +=3D packet->total_bytes;
>  		u64_stats_update_end(&tx_stats->syncp);
>=20
> +		netvsc_dma_unmap(ndev_ctx->device_ctx, packet);
>  		napi_consume_skb(skb, budget);
>  	}
>=20
> @@ -947,6 +1001,82 @@ static void netvsc_copy_to_send_buf(struct netvsc_d=
evice *net_device,
>  		memset(dest, 0, padding);
>  }
>=20
> +void netvsc_dma_unmap(struct hv_device *hv_dev,
> +		      struct hv_netvsc_packet *packet)
> +{
> +	u32 page_count =3D packet->cp_partial ?
> +		packet->page_buf_cnt - packet->rmsg_pgcnt :
> +		packet->page_buf_cnt;
> +	int i;
> +
> +	if (!hv_is_isolation_supported())
> +		return;
> +
> +	if (!packet->dma_range)
> +		return;
> +
> +	for (i =3D 0; i < page_count; i++)
> +		dma_unmap_single(&hv_dev->device, packet->dma_range[i].dma,
> +				 packet->dma_range[i].mapping_size,
> +				 DMA_TO_DEVICE);
> +
> +	kfree(packet->dma_range);
> +}
> +
> +/* netvsc_dma_map - Map swiotlb bounce buffer with data page of
> + * packet sent by vmbus_sendpacket_pagebuffer() in the Isolation
> + * VM.
> + *
> + * In isolation VM, netvsc send buffer has been marked visible to
> + * host and so the data copied to send buffer doesn't need to use
> + * bounce buffer. The data pages handled by vmbus_sendpacket_pagebuffer(=
)
> + * may not be copied to send buffer and so these pages need to be
> + * mapped with swiotlb bounce buffer. netvsc_dma_map() is to do
> + * that. The pfns in the struct hv_page_buffer need to be converted
> + * to bounce buffer's pfn. The loop here is necessary and so not
> + * use dma_map_sg() here.

I think I understand why the loop is necessary, but it would be
nice to add a bit more comment text to explain.  The reason is
that the entries in the page buffer array are not necessarily full
pages of data.  Each entry in the array has a separate offset and
len that may be non-zero, even for entries in the middle of the
array.   And the entries are not physically contiguous.  So each
entry must be individually mapped rather than as a contiguous unit.

> + */
> +int netvsc_dma_map(struct hv_device *hv_dev,
> +		   struct hv_netvsc_packet *packet,
> +		   struct hv_page_buffer *pb)
> +{
> +	u32 page_count =3D  packet->cp_partial ?
> +		packet->page_buf_cnt - packet->rmsg_pgcnt :
> +		packet->page_buf_cnt;
> +	dma_addr_t dma;
> +	int i;
> +
> +	if (!hv_is_isolation_supported())
> +		return 0;
> +
> +	packet->dma_range =3D kcalloc(page_count,
> +				    sizeof(*packet->dma_range),
> +				    GFP_KERNEL);
> +	if (!packet->dma_range)
> +		return -ENOMEM;
> +
> +	for (i =3D 0; i < page_count; i++) {
> +		char *src =3D phys_to_virt((pb[i].pfn << HV_HYP_PAGE_SHIFT)
> +					 + pb[i].offset);
> +		u32 len =3D pb[i].len;
> +
> +		dma =3D dma_map_single(&hv_dev->device, src, len,
> +				     DMA_TO_DEVICE);
> +		if (dma_mapping_error(&hv_dev->device, dma)) {
> +			kfree(packet->dma_range);
> +			return -ENOMEM;
> +		}
> +
> +		packet->dma_range[i].dma =3D dma;
> +		packet->dma_range[i].mapping_size =3D len;
> +		pb[i].pfn =3D dma >> HV_HYP_PAGE_SHIFT;
> +		pb[i].offset =3D offset_in_hvpage(dma);
> +		pb[i].len =3D len;
> +	}
> +
> +	return 0;
> +}
> +
>  static inline int netvsc_send_pkt(
>  	struct hv_device *device,
>  	struct hv_netvsc_packet *packet,
> @@ -987,14 +1117,22 @@ static inline int netvsc_send_pkt(
>=20
>  	trace_nvsp_send_pkt(ndev, out_channel, rpkt);
>=20
> +	packet->dma_range =3D NULL;
>  	if (packet->page_buf_cnt) {
>  		if (packet->cp_partial)
>  			pb +=3D packet->rmsg_pgcnt;
>=20
> +		ret =3D netvsc_dma_map(ndev_ctx->device_ctx, packet, pb);
> +		if (ret)
> +			return ret;

I think this error case needs to set things up so sending the packet
can be retried at the higher levels.  The typical error is that
swiotlb is out of bounce buffer memory.  That's a transient
condition.  There's already code in this function to retry when
the vmbus_sendpacket functions fails because the ring buffer
is full, and running out of bounce buffer memory should probably
take the same path.

> +
>  		ret =3D vmbus_sendpacket_pagebuffer(out_channel,
>  						  pb, packet->page_buf_cnt,
>  						  &nvmsg, sizeof(nvmsg),
>  						  req_id);
> +
> +		if (ret)
> +			netvsc_dma_unmap(ndev_ctx->device_ctx, packet);
>  	} else {
>  		ret =3D vmbus_sendpacket(out_channel,
>  				       &nvmsg, sizeof(nvmsg),
> diff --git a/drivers/net/hyperv/rndis_filter.c b/drivers/net/hyperv/rndis=
_filter.c
> index f6c9c2a670f9..448fcc325ed7 100644
> --- a/drivers/net/hyperv/rndis_filter.c
> +++ b/drivers/net/hyperv/rndis_filter.c
> @@ -361,6 +361,8 @@ static void rndis_filter_receive_response(struct net_=
device *ndev,
>  			}
>  		}
>=20
> +		netvsc_dma_unmap(((struct net_device_context *)
> +			netdev_priv(ndev))->device_ctx, &request->pkt);
>  		complete(&request->wait_event);
>  	} else {
>  		netdev_err(ndev,
> diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
> index 83fa567ad594..2ea638101645 100644
> --- a/include/linux/hyperv.h
> +++ b/include/linux/hyperv.h
> @@ -1601,6 +1601,11 @@ struct hyperv_service_callback {
>  	void (*callback)(void *context);
>  };
>=20
> +struct hv_dma_range {
> +	dma_addr_t dma;
> +	u32 mapping_size;
> +};
> +
>  #define MAX_SRV_VER	0x7ffffff
>  extern bool vmbus_prep_negotiate_resp(struct icmsg_hdr *icmsghdrp, u8 *b=
uf, u32 buflen,
>  				const int *fw_version, int fw_vercnt,
> --
> 2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 18:18:09 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 18:18:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169051.308790 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGmcD-0004qC-AN; Thu, 19 Aug 2021 18:18:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169051.308790; Thu, 19 Aug 2021 18: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 1mGmcD-0004q5-6a; Thu, 19 Aug 2021 18:18:09 +0000
Received: by outflank-mailman (input) for mailman id 169051;
 Thu, 19 Aug 2021 18:18:07 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5dXd=NK=microsoft.com=mikelley@srs-us1.protection.inumbo.net>)
 id 1mGmcB-0004pz-P6
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 18:18:07 +0000
Received: from outbound.mail.eo.outlook.com (unknown [40.93.3.4])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id c9c59cd2-0119-11ec-a652-12813bfff9fa;
 Thu, 19 Aug 2021 18:18:03 +0000 (UTC)
Received: from MWHPR21MB1593.namprd21.prod.outlook.com (2603:10b6:301:7c::11)
 by MWHPR21MB0157.namprd21.prod.outlook.com (2603:10b6:300:78::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.0; Thu, 19 Aug
 2021 18:17:41 +0000
Received: from MWHPR21MB1593.namprd21.prod.outlook.com
 ([fe80::e8f7:b582:9e2d:ba55]) by MWHPR21MB1593.namprd21.prod.outlook.com
 ([fe80::e8f7:b582:9e2d:ba55%2]) with mapi id 15.20.4436.012; Thu, 19 Aug 2021
 18:17: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: c9c59cd2-0119-11ec-a652-12813bfff9fa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gwoZtuZ56poBUOAFZDpPHGy727LmeVpInTf9G53/pto5ISJpdkF8h4T0ttB83M10dk8c9mXechzbN4AwtCOWv8TQgN2/tafxbl0JFntG8SWGg33wQybtmc3AguccxS7pYiazTS48aJIpCAX+bCJ9tcdfjVMfshyG4zWtAYPThG85Q54NJZBBuyCBWoNSdOP+snI4mO1bg3BmLHMtpAB+ZEj8xJfhg1mdrw9okMrn+Nkp7c9BZKhxHL6f5OZ9Kx/+jXJgnhw7moiHVecjMSRxyBoQBNQT4+caQD/6LH3B8i2Ng7eN03v8ZNsi1vu56vX2OrDkypx3URU62sNFKwOHfg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iH7nccGMyVjmseQJK2PILp+62BP0KDo4OBuH+BbYWOU=;
 b=RkgbBJWx4eObCYmg0M9uj9K5g3M1a4vzjE5DnEhCwfmxkeaa8bUl8jySyVqxgVp2HI7pgStXV1DqNo+VWuAAAxav0ADDiNlSUkrfLVPLVyewo7U2+QmsmIe+OpyYkCDcMSPUY4Yi+WLGBcGDwgsB1j6pC3YE+pExxCzRM0R+r/NHv+9beiBbzkD0xIV6L5LClJKwzgNUbY/dZHkaB0pJ8k+Lnbfru1jUrS7UTx1+DsXhJ4cP1+4vD6UsZ06NlmCIg8+nHoa/9r7x5fV6GzrdjWZdplaFxl7ynl/bKed5jG4QmNeZyjb5SP6Msq0dsatjkeOTzcp2eD52BT8R8uU5sQ==
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=iH7nccGMyVjmseQJK2PILp+62BP0KDo4OBuH+BbYWOU=;
 b=hEwmvbxWcOW3Ug7G1e6GHsLdGSvXjC7cquF8FEnH/WFmo9aVmASk3i007zdJwwj5ap551GdTJCXFfSoiGKXGmi2p9Yavm6fJFTy6VQfM+5d6iQauIOa35zoy1YNK7pNZEXkOrt+Lu3ejACktL3oUOgulADIFtKuvvQDk94jsH7A=
From: Michael Kelley <mikelley@microsoft.com>
To: Tianyu Lan <ltykernel@gmail.com>, KY Srinivasan <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>, Stephen Hemminger
	<sthemmin@microsoft.com>, "wei.liu@kernel.org" <wei.liu@kernel.org>, Dexuan
 Cui <decui@microsoft.com>, "tglx@linutronix.de" <tglx@linutronix.de>,
	"mingo@redhat.com" <mingo@redhat.com>, "bp@alien8.de" <bp@alien8.de>,
	"x86@kernel.org" <x86@kernel.org>, "hpa@zytor.com" <hpa@zytor.com>,
	"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
	"luto@kernel.org" <luto@kernel.org>, "peterz@infradead.org"
	<peterz@infradead.org>, "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	"boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>, "jgross@suse.com"
	<jgross@suse.com>, "sstabellini@kernel.org" <sstabellini@kernel.org>,
	"joro@8bytes.org" <joro@8bytes.org>, "will@kernel.org" <will@kernel.org>,
	"davem@davemloft.net" <davem@davemloft.net>, "kuba@kernel.org"
	<kuba@kernel.org>, "jejb@linux.ibm.com" <jejb@linux.ibm.com>,
	"martin.petersen@oracle.com" <martin.petersen@oracle.com>, "arnd@arndb.de"
	<arnd@arndb.de>, "hch@lst.de" <hch@lst.de>, "m.szyprowski@samsung.com"
	<m.szyprowski@samsung.com>, "robin.murphy@arm.com" <robin.murphy@arm.com>,
	"thomas.lendacky@amd.com" <thomas.lendacky@amd.com>, "brijesh.singh@amd.com"
	<brijesh.singh@amd.com>, "ardb@kernel.org" <ardb@kernel.org>, Tianyu Lan
	<Tianyu.Lan@microsoft.com>, "pgonda@google.com" <pgonda@google.com>,
	"martin.b.radev@gmail.com" <martin.b.radev@gmail.com>,
	"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
	"kirill.shutemov@linux.intel.com" <kirill.shutemov@linux.intel.com>,
	"rppt@kernel.org" <rppt@kernel.org>, "sfr@canb.auug.org.au"
	<sfr@canb.auug.org.au>, "saravanand@fb.com" <saravanand@fb.com>,
	"krish.sadhukhan@oracle.com" <krish.sadhukhan@oracle.com>,
	"aneesh.kumar@linux.ibm.com" <aneesh.kumar@linux.ibm.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"rientjes@google.com" <rientjes@google.com>, "hannes@cmpxchg.org"
	<hannes@cmpxchg.org>, "tj@kernel.org" <tj@kernel.org>
CC: "iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org>,
	"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
	"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>, vkuznets
	<vkuznets@redhat.com>, "parri.andrea@gmail.com" <parri.andrea@gmail.com>,
	"dave.hansen@intel.com" <dave.hansen@intel.com>
Subject: RE: [PATCH V3 13/13] HV/Storvsc: Add Isolation VM support for storvsc
 driver
Thread-Topic: [PATCH V3 13/13] HV/Storvsc: Add Isolation VM support for
 storvsc driver
Thread-Index: AQHXjUf4MnryDC/QY0a+heAsfHsxAqt3v7Vg
Date: Thu, 19 Aug 2021 18:17:40 +0000
Message-ID:
 <MWHPR21MB1593EEF30FFD5C60ED744985D7C09@MWHPR21MB1593.namprd21.prod.outlook.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-14-ltykernel@gmail.com>
In-Reply-To: <20210809175620.720923-14-ltykernel@gmail.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=1ae64eaa-5064-47d6-83ad-1e0f1430f884;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=2021-08-17T13:38:17Z;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-office365-filtering-correlation-id: 3d025336-aab8-47e4-b431-08d9633da1f4
x-ms-traffictypediagnostic: MWHPR21MB0157:
x-ms-exchange-transport-forked: True
x-ld-processed: 72f988bf-86f1-41af-91ab-2d7cd011db47,ExtAddr
x-microsoft-antispam-prvs:
 <MWHPR21MB01577B563FAF54CAB3B8CA01D7C09@MWHPR21MB0157.namprd21.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:6108;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 ScXcwsXWhrmaFAN8/2i2kKNj108qUNyE2K166GSD9aPFvRa3jK0e69/YKrtsdCQjTN03Mjd7Ti0oK9rgH+yanH/ed6/9hxxkrGx+4b6eCazcp4wxO+H9mGMt+maLZ+5Y85nzjQ1IQFumdCEnr7hYQUYokAm/3Vl9h1X7CikshcCi4yov+WWEbegmUDaMzxwFK076WGlj+O3uW4zjguMOqNpFOY9e1N6kijFbQOuMGk58zdF2h04Yli2fliZ2c5HvW4CqIaE0BCSvBcie5xqsPM0zNG0O2w65oOEybWtQ5eoXvk3HD/V3wBKRzzxlhmPMPfODC6gZUCvhaitsjEd4m9JsX6rYUol54NiJdZFbBInIxfg9ALnmx2oiYSHYHEowHCpRnbc0UNLNUSricJFlMC2AJqxc9gTwFNx0j21dTV1eFsi7LkIUpV8ffpPU+yZF3BjKmc4yvOxbJ7mjaHYor5C6YrVfr5YGBK8GXxI5OPlnVbQcBlxSJYx8durwTVSBDEiGyf7fRTGTbqU8/bFu97GNNKcK2ieFBq4wlluZ6DVGjKT8wIiH9q1XY4ntgGQSWiGm0fCDoQcJNxFto+LZnT+XmRV9Bic2yibDWKLq7+gQ4nw1LC5v6Bo/QaRUA3WlEm6dtkhZQxqTOZSSUfxrCnl+9tW6q1fDmbCThGyy/+4IYxUmpD2vuxbggLx3a5be9ZD58RGaqoODWYN1sY5HYjf86l/0B6EvzUo/IzzGNA4=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR21MB1593.namprd21.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(7416002)(82960400001)(82950400001)(7406005)(4326008)(8936002)(921005)(64756008)(6506007)(54906003)(76116006)(52536014)(66476007)(66556008)(10290500003)(66446008)(5660300002)(9686003)(38070700005)(66946007)(508600001)(186003)(316002)(26005)(71200400001)(38100700002)(86362001)(8990500004)(55016002)(122000001)(110136005)(8676002)(2906002)(83380400001)(33656002)(7696005);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?aRG0iUVklSuAwUfBH5qJHOcPbkC2NrBtDsBCLSkID9XrcymfQwAnM0p1s4aH?=
 =?us-ascii?Q?ayIs8eKXmVoREMXx0tJ5psyVGRZpaSjImNiC+ql3NL/sOhAOSQErqB+8huN7?=
 =?us-ascii?Q?5AueEWK6SHl2tn65S4R5BFyYJEwPa0ShHubzZ94bON8dYhBKqg5nL/VyE5pZ?=
 =?us-ascii?Q?nykGs6kivUHi1oV1E32a9+4KeiH1j0EirOtjuWONRrXuHEjba7wCRu3sclxk?=
 =?us-ascii?Q?mXfXwHoOvNEG1fVL3lAiwazbd+QWe0wEkb5qYGqSlcc3SwrHkqkdNnc0GWVG?=
 =?us-ascii?Q?MsniUo3pV/3jV8aHbqkVoCmBb/tuIL7k2uEzWak9i/6UwzeHXxPis6kRoYXj?=
 =?us-ascii?Q?5hcfghMjyjmqsgAjBx3m932SrOfxk43abSQeYQjG+UqQPwMG8UNasuACU/39?=
 =?us-ascii?Q?M0ryg1ouf6en+A0tmz023Q8G9/V3ZR+8k5AYpDHk+eRGCLM20Z7OjEPHPDSJ?=
 =?us-ascii?Q?l27eVJbil/rkFzBJqbx9Q4p+/A01rpYWcg96y+v8WMOJD8QxBQyFgUXP32sp?=
 =?us-ascii?Q?PlV/OOgllavbjk66lBUd/Ywknwux4sKWZHTOgL8vdlQVHYXXi8uXhpqe2a+P?=
 =?us-ascii?Q?fE4VsT65V9rR7Ix4WTRG0j7aPOJpJA7BLmlQ/qpOX5Kh0LTlBOsB3HO+MrIh?=
 =?us-ascii?Q?TJG2Pzz6i9q/0+CZC8TG27rbH7NIK8B8rHnBKcaGW/aQnis/1ZogZffdUjxp?=
 =?us-ascii?Q?ezawhTI++zNbUDGIzpisi2Cz4fh3l5UlgKVMdFQGG790lfTQ1gxVUTYE2M52?=
 =?us-ascii?Q?p/53KlgUc6peD/gYKXHXiHcl0dHJyCdkvlAQj8HEd1nmvIzopkprmprhkr4y?=
 =?us-ascii?Q?ygpG9dXonzxJD+bb56GNug83x4U3UO1FvDZvdeHPaKjGyT10yu4naSRz86Mv?=
 =?us-ascii?Q?1NXVgseQA/24gxFG81Fpi7ZYX2QzpoDQ5XuPcqpB0QgvQ5ZsvGNVH/Nz3J2E?=
 =?us-ascii?Q?hHz6AYfPrPUvc4zgk1809DK3q2Y2KN99JCaL+1VCH9TbI4YZ5MpklVCm8lJJ?=
 =?us-ascii?Q?R23piGdNkdsFs26/UJhj/btxx7Zno1Is5HQILxrtb6vIAMcu3uqtPKcw8IBp?=
 =?us-ascii?Q?sGYW6vJTC4F2CfcuAo6j6ike2Xzay4ISRf8ApYMVQKzi2TT0/4ymi33KQF+h?=
 =?us-ascii?Q?BmBug6I/zu5uLUE8qfyQQf3oaAErEF3xL+gnyW6fTEdmEMbOm+4IoPoOnGen?=
 =?us-ascii?Q?ZsIrSMlm/FHaST+mKTLaWUR16a6iAdfSRSgj5Mx03d0CaMbhhye3e/GPk+uO?=
 =?us-ascii?Q?cW+fgT/NRtDUJBvQJVreGSFoMD6L3B8AZekn29yRxzZHRhepId7fjmOeNeN/?=
 =?us-ascii?Q?Wx/0SD7wgUW1SJ9OuDuFhv4J?=
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: MWHPR21MB1593.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3d025336-aab8-47e4-b431-08d9633da1f4
X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Aug 2021 18:17:40.7071
 (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: TxCcduKUuq1yHcc8BsJo2y07vKDxnuPAOoqjd/EdOBhLTw4z1rxs+qoA6XlnF0e5Uwp/eRboma6yR4YImauNFpMjY24DH0n1n0/wzhvT2kA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR21MB0157

From: Tianyu Lan <ltykernel@gmail.com> Sent: Monday, August 9, 2021 10:56 A=
M
>=20

Subject line tag should be "scsi: storvsc:"

> In Isolation VM, all shared memory with host needs to mark visible
> to host via hvcall. vmbus_establish_gpadl() has already done it for
> storvsc rx/tx ring buffer. The page buffer used by vmbus_sendpacket_
> mpb_desc() still need to handle. Use DMA API to map/umap these

s/need to handle/needs to be handled/

> memory during sending/receiving packet and Hyper-V DMA ops callback
> will use swiotlb function to allocate bounce buffer and copy data
> from/to bounce buffer.
>=20
> Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
> ---
>  drivers/scsi/storvsc_drv.c | 68 +++++++++++++++++++++++++++++++++++---
>  1 file changed, 63 insertions(+), 5 deletions(-)
>=20
> diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c
> index 328bb961c281..78320719bdd8 100644
> --- a/drivers/scsi/storvsc_drv.c
> +++ b/drivers/scsi/storvsc_drv.c
> @@ -21,6 +21,8 @@
>  #include <linux/device.h>
>  #include <linux/hyperv.h>
>  #include <linux/blkdev.h>
> +#include <linux/io.h>
> +#include <linux/dma-mapping.h>
>  #include <scsi/scsi.h>
>  #include <scsi/scsi_cmnd.h>
>  #include <scsi/scsi_host.h>
> @@ -427,6 +429,8 @@ struct storvsc_cmd_request {
>  	u32 payload_sz;
>=20
>  	struct vstor_packet vstor_packet;
> +	u32 hvpg_count;

This count is really the number of entries in the dma_range
array, right?  If so, perhaps "dma_range_count" would be
a better name so that it is more tightly associated.

> +	struct hv_dma_range *dma_range;
>  };
>=20
>=20
> @@ -509,6 +513,14 @@ struct storvsc_scan_work {
>  	u8 tgt_id;
>  };
>=20
> +#define storvsc_dma_map(dev, page, offset, size, dir) \
> +	dma_map_page(dev, page, offset, size, dir)
> +
> +#define storvsc_dma_unmap(dev, dma_range, dir)		\
> +		dma_unmap_page(dev, dma_range.dma,	\
> +			       dma_range.mapping_size,	\
> +			       dir ? DMA_FROM_DEVICE : DMA_TO_DEVICE)
> +

Each of these macros is used only once.  IMHO, they don't
add a lot of value.  Just coding dma_map/unmap_page()
inline would be fine and eliminate these lines of code.

>  static void storvsc_device_scan(struct work_struct *work)
>  {
>  	struct storvsc_scan_work *wrk;
> @@ -1260,6 +1272,7 @@ static void storvsc_on_channel_callback(void *conte=
xt)
>  	struct hv_device *device;
>  	struct storvsc_device *stor_device;
>  	struct Scsi_Host *shost;
> +	int i;
>=20
>  	if (channel->primary_channel !=3D NULL)
>  		device =3D channel->primary_channel->device_obj;
> @@ -1314,6 +1327,15 @@ static void storvsc_on_channel_callback(void *cont=
ext)
>  				request =3D (struct storvsc_cmd_request *)scsi_cmd_priv(scmnd);
>  			}
>=20
> +			if (request->dma_range) {
> +				for (i =3D 0; i < request->hvpg_count; i++)
> +					storvsc_dma_unmap(&device->device,
> +						request->dma_range[i],
> +						request->vstor_packet.vm_srb.data_in =3D=3D READ_TYPE);

I think you can directly get the DMA direction as request->cmd->sc_data_dir=
ection.

> +
> +				kfree(request->dma_range);
> +			}
> +
>  			storvsc_on_receive(stor_device, packet, request);
>  			continue;
>  		}
> @@ -1810,7 +1832,9 @@ static int storvsc_queuecommand(struct Scsi_Host *h=
ost, struct scsi_cmnd *scmnd)
>  		unsigned int hvpgoff, hvpfns_to_add;
>  		unsigned long offset_in_hvpg =3D offset_in_hvpage(sgl->offset);
>  		unsigned int hvpg_count =3D HVPFN_UP(offset_in_hvpg + length);
> +		dma_addr_t dma;
>  		u64 hvpfn;
> +		u32 size;
>=20
>  		if (hvpg_count > MAX_PAGE_BUFFER_COUNT) {
>=20
> @@ -1824,6 +1848,13 @@ static int storvsc_queuecommand(struct Scsi_Host *=
host, struct scsi_cmnd *scmnd)
>  		payload->range.len =3D length;
>  		payload->range.offset =3D offset_in_hvpg;
>=20
> +		cmd_request->dma_range =3D kcalloc(hvpg_count,
> +				 sizeof(*cmd_request->dma_range),
> +				 GFP_ATOMIC);

With this patch, it appears that storvsc_queuecommand() is always
doing bounce buffering, even when running in a non-isolated VM.
The dma_range is always allocated, and the inner loop below does
the dma mapping for every I/O page.  The corresponding code in
storvsc_on_channel_callback() that does the dma unmap allows for
the dma_range to be NULL, but that never happens.

> +		if (!cmd_request->dma_range) {
> +			ret =3D -ENOMEM;

The other memory allocation failure in this function returns
SCSI_MLQUEUE_DEVICE_BUSY.   It may be debatable as to whether
that's the best approach, but that's a topic for a different patch.  I
would suggest being consistent and using the same return code
here.

> +			goto free_payload;
> +		}
>=20
>  		for (i =3D 0; sgl !=3D NULL; sgl =3D sg_next(sgl)) {
>  			/*
> @@ -1847,9 +1878,29 @@ static int storvsc_queuecommand(struct Scsi_Host *=
host, struct scsi_cmnd *scmnd)
>  			 * last sgl should be reached at the same time that
>  			 * the PFN array is filled.
>  			 */
> -			while (hvpfns_to_add--)
> -				payload->range.pfn_array[i++] =3D	hvpfn++;
> +			while (hvpfns_to_add--) {
> +				size =3D min(HV_HYP_PAGE_SIZE - offset_in_hvpg,
> +					   (unsigned long)length);
> +				dma =3D storvsc_dma_map(&dev->device, pfn_to_page(hvpfn++),
> +						      offset_in_hvpg, size,
> +						      scmnd->sc_data_direction);
> +				if (dma_mapping_error(&dev->device, dma)) {
> +					ret =3D -ENOMEM;

The typical error from dma_map_page() will be running out of
bounce buffer memory.   This is a transient condition that should be
retried at the higher levels.  So make sure to return an error code
that indicates the I/O should be resubmitted.

> +					goto free_dma_range;
> +				}
> +
> +				if (offset_in_hvpg) {
> +					payload->range.offset =3D dma & ~HV_HYP_PAGE_MASK;
> +					offset_in_hvpg =3D 0;
> +				}

I'm not clear on why payload->range.offset needs to be set again.
Even after the dma mapping is done, doesn't the offset in the first
page have to be the same?  If it wasn't the same, Hyper-V wouldn't
be able to process the PFN list correctly.  In fact, couldn't the above
code just always set offset_in_hvpg =3D 0?

> +
> +				cmd_request->dma_range[i].dma =3D dma;
> +				cmd_request->dma_range[i].mapping_size =3D size;
> +				payload->range.pfn_array[i++] =3D dma >> HV_HYP_PAGE_SHIFT;
> +				length -=3D size;
> +			}
>  		}
> +		cmd_request->hvpg_count =3D hvpg_count;

This line just saves the size of the dma_range array.  Could
it be moved up with the code that allocates the dma_range
array?  To me, it would make more sense to have all that
code together in one place.

>  	}

The whole approach here is to do dma remapping on each individual page
of the I/O buffer.  But wouldn't it be possible to use dma_map_sg() to map
each scatterlist entry as a unit?  Each scatterlist entry describes a range=
 of
physically contiguous memory.  After dma_map_sg(), the resulting dma
address must also refer to a physically contiguous range in the swiotlb
bounce buffer memory.   So at the top of the "for" loop over the scatterlis=
t
entries, do dma_map_sg() if we're in an isolated VM.  Then compute the
hvpfn value based on the dma address instead of sg_page().  But everything
else is the same, and the inner loop for populating the pfn_arry is unmodif=
ied.
Furthermore, the dma_range array that you've added is not needed, since
scatterlist entries already have a dma_address field for saving the mapped
address, and dma_unmap_sg() uses that field.

One thing:  There's a maximum swiotlb mapping size, which I think works
out to be 256 Kbytes.  See swiotlb_max_mapping_size().  We need to make
sure that we don't get a scatterlist entry bigger than this size.  But I th=
ink
this already happens because you set the device->dma_mask field in
Patch 11 of this series.  __scsi_init_queue checks for this setting and
sets max_sectors to limits transfers to the max mapping size.

>=20
>  	cmd_request->payload =3D payload;
> @@ -1860,13 +1911,20 @@ static int storvsc_queuecommand(struct Scsi_Host =
*host, struct scsi_cmnd *scmnd)
>  	put_cpu();
>=20
>  	if (ret =3D=3D -EAGAIN) {
> -		if (payload_sz > sizeof(cmd_request->mpb))
> -			kfree(payload);
>  		/* no more space */
> -		return SCSI_MLQUEUE_DEVICE_BUSY;
> +		ret =3D SCSI_MLQUEUE_DEVICE_BUSY;
> +		goto free_dma_range;
>  	}
>=20
>  	return 0;
> +
> +free_dma_range:
> +	kfree(cmd_request->dma_range);
> +
> +free_payload:
> +	if (payload_sz > sizeof(cmd_request->mpb))
> +		kfree(payload);
> +	return ret;
>  }
>=20
>  static struct scsi_host_template scsi_driver =3D {
> --
> 2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 18:27:20 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 18:27:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169057.308801 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGml0-0006Ta-Bn; Thu, 19 Aug 2021 18:27:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169057.308801; Thu, 19 Aug 2021 18: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 1mGml0-0006TT-7T; Thu, 19 Aug 2021 18:27:14 +0000
Received: by outflank-mailman (input) for mailman id 169057;
 Thu, 19 Aug 2021 18:27: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 1mGmkz-0006TG-4j; Thu, 19 Aug 2021 18:27: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 1mGmky-0006aY-Vo; Thu, 19 Aug 2021 18:27: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 1mGmky-0005V1-L0; Thu, 19 Aug 2021 18:27:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mGmky-000881-G4; Thu, 19 Aug 2021 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
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=0/Z8doViNdmfuaFnZxUwZomIiFmx8iOYc4Qsh+UvcB8=; b=2PfqUUEpQq1i4OUKx4LVJMd3P1
	iROSMAPElg6YmjV/K3u8XYH4ahV1TZqq2oxRKZi6IoAtd5Dwe8uX0ZoSjOM3+MYscE69A8t/pcJBa
	GR8jbZW8hlBhNdXYSriCyyHNUo9cdjOTVdq6P2MDVSI7HzvTI2404FuaP9PZgfgOPCrI=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164248-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 164248: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-examine:reboot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-freebsd10-i386:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-livepatch:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-pair:xen-boot/src_host:fail:regression
    xen-unstable:test-amd64-i386-pair:xen-boot/dst_host:fail:regression
    xen-unstable:test-amd64-i386-migrupgrade:xen-boot/dst_host:fail:regression
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-qemuu-rhel6hvm-amd:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-intel:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-raw:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-amd:xen-boot:fail:regression
    xen-unstable:test-amd64-coresched-i386-xl:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-freebsd10-amd64:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-libvirt:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-libvirt-pair:xen-boot/src_host:fail:regression
    xen-unstable:test-amd64-i386-libvirt-pair:xen-boot/dst_host:fail:regression
    xen-unstable:test-amd64-i386-xl-shadow:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-pvshim:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-qemuu-rhel6hvm-intel:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-libvirt-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-amd64-pvgrub:debian-di-install:fail:regression
    xen-unstable:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:regression
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=517a90d1ca09ce00e50d46ac25566cc3bd2eb34d
X-Osstest-Versions-That:
    xen=5a88d524857e5bf78b077d30ea515fcaac061bfc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 19 Aug 2021 18:27:12 +0000

flight 164248 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164248/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemut-ws16-amd64  8 xen-boot          fail REGR. vs. 164178
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm  8 xen-boot  fail REGR. vs. 164178
 test-amd64-i386-examine       8 reboot                   fail REGR. vs. 164178
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 164178
 test-amd64-i386-xl-qemuu-debianhvm-amd64  8 xen-boot     fail REGR. vs. 164178
 test-amd64-i386-xl-xsm        8 xen-boot                 fail REGR. vs. 164178
 test-amd64-i386-freebsd10-i386  8 xen-boot               fail REGR. vs. 164178
 test-amd64-i386-livepatch     8 xen-boot                 fail REGR. vs. 164178
 test-amd64-i386-pair         12 xen-boot/src_host        fail REGR. vs. 164178
 test-amd64-i386-pair         13 xen-boot/dst_host        fail REGR. vs. 164178
 test-amd64-i386-migrupgrade  13 xen-boot/dst_host        fail REGR. vs. 164178
 test-amd64-i386-xl-qemut-debianhvm-amd64  8 xen-boot     fail REGR. vs. 164178
 test-amd64-i386-qemuu-rhel6hvm-amd  8 xen-boot           fail REGR. vs. 164178
 test-amd64-i386-qemut-rhel6hvm-intel  8 xen-boot         fail REGR. vs. 164178
 test-amd64-i386-xl-raw        8 xen-boot                 fail REGR. vs. 164178
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 164178
 test-amd64-i386-qemut-rhel6hvm-amd  8 xen-boot           fail REGR. vs. 164178
 test-amd64-coresched-i386-xl  8 xen-boot                 fail REGR. vs. 164178
 test-amd64-i386-xl-qemut-win7-amd64  8 xen-boot          fail REGR. vs. 164178
 test-amd64-i386-xl-qemuu-ovmf-amd64  8 xen-boot          fail REGR. vs. 164178
 test-amd64-i386-freebsd10-amd64  8 xen-boot              fail REGR. vs. 164178
 test-amd64-i386-libvirt       8 xen-boot                 fail REGR. vs. 164178
 test-amd64-i386-libvirt-pair 12 xen-boot/src_host        fail REGR. vs. 164178
 test-amd64-i386-libvirt-pair 13 xen-boot/dst_host        fail REGR. vs. 164178
 test-amd64-i386-xl-shadow     8 xen-boot                 fail REGR. vs. 164178
 test-amd64-i386-xl-pvshim     8 xen-boot                 fail REGR. vs. 164178
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 164178
 test-amd64-i386-xl            8 xen-boot                 fail REGR. vs. 164178
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm  8 xen-boot  fail REGR. vs. 164178
 test-amd64-i386-qemuu-rhel6hvm-intel  8 xen-boot         fail REGR. vs. 164178
 test-amd64-i386-xl-qemuu-ws16-amd64  8 xen-boot          fail REGR. vs. 164178
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 164178
 test-amd64-i386-xl-qemuu-win7-amd64  8 xen-boot          fail REGR. vs. 164178
 test-amd64-i386-libvirt-xsm   8 xen-boot                 fail REGR. vs. 164178
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install       fail REGR. vs. 164178
 test-amd64-amd64-i386-pvgrub 12 debian-di-install        fail REGR. vs. 164178

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 164178
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164178
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164178
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164178
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 164178
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164178
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164178
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-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-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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 xen                  517a90d1ca09ce00e50d46ac25566cc3bd2eb34d
baseline version:
 xen                  5a88d524857e5bf78b077d30ea515fcaac061bfc

Last test of basis   164178  2021-08-13 10:47:20 Z    6 days
Failing since        164182  2021-08-14 00:39:12 Z    5 days    9 attempts
Testing same since   164248  2021-08-19 03:12:07 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jane Malalane <jane.malalane@citrix.com>
  Kevin Stefanov <kevin.stefanov@citrix.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 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                                       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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    fail    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 517a90d1ca09ce00e50d46ac25566cc3bd2eb34d
Author: Jan Beulich <jbeulich@suse.com>
Date:   Wed Aug 18 09:44:14 2021 +0200

    VT-d: Tylersburg errata apply to further steppings
    
    While for 5500 and 5520 chipsets only B3 and C2 are mentioned in the
    spec update, X58's also mentions B2, and searching the internet suggests
    systems with this stepping are actually in use. Even worse, for X58
    erratum #69 is marked applicable even to C2. Split the check to cover
    all applicable steppings and to also report applicable errata numbers in
    the log message. The splitting requires using the DMI port instead of
    the System Management Registers device, but that's then in line (also
    revision checking wise) with the spec updates.
    
    Fixes: 6890cebc6a98 ("VT-d: deal with 5500/5520/X58 errata")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Kevin Tian <kevin.tian@intel.com>

commit 6b1ca51b1a91d002636518afe4a8a50ba7212495
Author: Jan Beulich <jbeulich@suse.com>
Date:   Wed Aug 18 09:40:08 2021 +0200

    x86/PV: assert page state in mark_pv_pt_pages_rdonly()
    
    About every time I look at dom0_construct_pv()'s "calculation" of
    nr_pt_pages I question (myself) whether the result is precise or merely
    an upper bound. I think it is meant to be precise, but I think we would
    be better off having some checking in place. Hence add ASSERT()s to
    verify that
    - all pages have a valid L1...Ln (currently L4) page table type and
    - no other bits are set, in particular the type refcount is still zero.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citirx.com>

commit 4c0a19991465fc19c5afa9bc3f304bae6044314e
Author: Jan Beulich <jbeulich@suse.com>
Date:   Wed Aug 18 09:39:08 2021 +0200

    x86/PV: suppress unnecessary Dom0 construction output
    
    v{xenstore,console}_{start,end} can only ever be zero in PV shim
    configurations. Similarly reporting just zeros for an unmapped (or
    absent) initrd is not useful. Particularly in case video is the only
    output configured, space is scarce: Split the printk() and omit lines
    carrying no information at all.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 54c9736382e0d558a6acd820e44185e020131c48
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Tue Aug 17 11:38:07 2021 +0100

    x86/cet: Fix build on newer versions of GCC
    
    Some versions of GCC complain with:
    
      traps.c:405:22: error: 'get_shstk_bottom' defined but not used [-Werror=unused-function]
       static unsigned long get_shstk_bottom(unsigned long sp)
                            ^~~~~~~~~~~~~~~~
      cc1: all warnings being treated as errors
    
    Change #ifdef to if ( IS_ENABLED(...) ) to make the sole user of
    get_shstk_bottom() visible to the compiler.
    
    Fixes: 35727551c070 ("x86/cet: Fix shskt manipulation error with BUGFRAME_{warn,run_fn}")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Compile-tested-by: Jan Beulich <jbeulich@suse.com>
    Tested-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

commit 35727551c0703493a2240e967cffc3063b13d49c
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Thu Aug 12 17:39:16 2021 +0100

    x86/cet: Fix shskt manipulation error with BUGFRAME_{warn,run_fn}
    
    This was a clear oversight in the original CET work.  The BUGFRAME_run_fn and
    BUGFRAME_warn paths update regs->rip without an equivalent adjustment to the
    shadow stack, causing IRET to suffer #CP because of the mismatch.
    
    One subtle, and therefore fragile, aspect of extable_shstk_fixup() was that it
    required regs->rip to have its old value as a cross-check that the right word
    in the shadow stack was being edited.
    
    Rework extable_shstk_fixup() into fixup_exception_return() which takes
    ownership of the update to both the regular and shadow stacks, ensuring that
    the regs->rip update is ordered correctly.
    
    Use the new fixup_exception_return() for BUGFRAME_run_fn and BUGFRAME_warn to
    ensure that the shadow stack is updated too.
    
    Fixes: 209fb9919b50 ("x86/extable: Adjust extable handling to be shadow stack compatible")
    Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Tested-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit bc141e8ca56200bdd0a12e04a6ebff3c19d6c27b
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Mon Aug 16 14:24:44 2021 +0100

    x86/ACPI: Insert missing newlines into FACS error messages
    
    Booting Xen as a PVH guest currently yields:
    
      (XEN) ACPI: SLEEP INFO: pm1x_cnt[1:b004,1:0], pm1x_evt[1:b000,1:0]
      (XEN) ACPI: FACS is not 64-byte aligned: 0xfc001010<2>ACPI: wakeup_vec[fc00101c], vec_size[20]
      (XEN) ACPI: Local APIC address 0xfee00000
    
    Insert newlines as appropriate.
    
    Fixes: d3faf9badf52 ("[host s3] Retrieve necessary sleep information from plain-text ACPI tables (FADT/FACS), and keep one hypercall remained for sleep notification.")
    Fixes: 0f089bbf43ec ("x86/ACPI: fix S3 wakeup vector mapping")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit 6928bc511399fd8f593fe49a3241212860a6a1b5
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Thu Aug 12 14:49:57 2021 +0100

    MAINTAINERS: Fix file path for kexec headers
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit 274c5e79c792ce0331d0d8cd9a01545dea5a48fd
Author: Kevin Stefanov <kevin.stefanov@citrix.com>
Date:   Mon Aug 16 15:16:56 2021 +0200

    x86/ioapic: remove use of TRUE/FALSE/1/0
    
    Also fix stray usage in VT-d.
    
    Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Kevin Stefanov <kevin.stefanov@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit 2e5512d1ffd2e720f25c376df12db8a914117589
Author: Jane Malalane <jane.malalane@citrix.com>
Date:   Mon Aug 16 15:16:20 2021 +0200

    x86/pv: provide more helpful error when CONFIG_PV32 is absent
    
    Currently, when booting a 32bit dom0 kernel, the message isn't very
    helpful:
    
      (XEN)  Xen  kernel: 64-bit, lsb
      (XEN)  Dom0 kernel: 32-bit, PAE, lsb, paddr 0x100000 -> 0x112000
      (XEN) Mismatch between Xen and DOM0 kernel
      (XEN)
      (XEN) ****************************************
      (XEN) Panic on CPU 0:
      (XEN) Could not construct domain 0
      (XEN) ****************************************
    
    With this adjustment, it now looks like this:
    
      (XEN)  Xen  kernel: 64-bit, lsb
      (XEN) Found 32-bit PV kernel, but CONFIG_PV32 missing
      (XEN)
      (XEN) ****************************************
      (XEN) Panic on CPU 0:
      (XEN) Could not construct domain 0
      (XEN) ****************************************
    
    Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Jane Malalane <jane.malalane@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit c53aa9e655e7c615283e9e9637376c2b865e9dae
Author: Jane Malalane <jane.malalane@citrix.com>
Date:   Mon Aug 16 15:15:43 2021 +0200

    x86/pv: remove unnecessary use of goto out in construct_dom0()
    
    elf_check_broken() only needs to be invoked after elf_xen_parse() and
    after elf_load_binary().
    
    Suggested-by: Jan Beulich <jbeulich@suse.com>
    Signed-off-by: Jane Malalane <jane.malalane@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit 60a9d8d2fc9c4a524c7342499580a88aaa3a2b55
Author: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Date:   Mon Aug 16 15:14:37 2021 +0200

    ns16550: do not override fifo size if explicitly set
    
    If fifo size is already set via uart_params, do not force it to 16 - which
    may not match the actual hardware. Specifically Exar cards have fifo of
    256 bytes.
    
    Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit 5c34b9af05b9e5abd25d88efc4fb783136547810
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Aug 13 16:50:09 2021 +0200

    libxc: simplify HYPERCALL_BUFFER()
    
    _hcbuf_buf1 has been there only for a pointer comparison to validate
    type compatibility. The same can be achieved by not using typeof() on
    the definition of what so far was _hcbuf_buf2, as the initializer has
    to also be type-compatible. Drop _hcbuf_buf1 and the comaprison;
    rename _hcbuf_buf2.
    
    Since we're already using compiler extensions here, don't be shy and
    also omit the middle operand of the involved ?: operator.
    
    Bring line continuation character placement in line with that of
    related macros.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit e241d15f1c8a8a02baa401af857393f9ada5aeb3
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Aug 13 16:49:46 2021 +0200

    libxenguest: fix off-by-1 in colo-secondary-bitmap merging
    
    Valid GFNs (having a representation in the dirty bitmap) need to be
    strictly below p2m_size.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 1a838bf72584788310496ba5f3d865457c80727f
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Aug 13 16:49:10 2021 +0200

    libxenguest: complete loops in xc_map_domain_meminfo()
    
    minfo->p2m_size may have more than 31 significant bits. Change the
    induction variable to unsigned long, and (largely for signed-ness
    consistency) a helper variable to unsigned int. While there also avoid
    open-coding min().
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 18:49:18 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 18:49:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169068.308844 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGn6K-0001G1-65; Thu, 19 Aug 2021 18:49:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169068.308844; Thu, 19 Aug 2021 18:49:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGn6J-0001FV-Vj; Thu, 19 Aug 2021 18:49:15 +0000
Received: by outflank-mailman (input) for mailman id 169068;
 Thu, 19 Aug 2021 18:49:14 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ErsO=NK=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1mGn6I-0000ek-T1
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 18:49:14 +0000
Received: from mx.upb.ro (unknown [141.85.13.241])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id cfe5d167-636d-41b5-a7fe-268f994a9a36;
 Thu, 19 Aug 2021 18:49:08 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mx.upb.ro (Postfix) with ESMTP id C1814B56023C;
 Thu, 19 Aug 2021 21:49:07 +0300 (EEST)
Received: from mx.upb.ro ([127.0.0.1])
 by localhost (mx.upb.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id FGm_kwtX8q1b; Thu, 19 Aug 2021 21:49:04 +0300 (EEST)
Received: from localhost (localhost [127.0.0.1])
 by mx.upb.ro (Postfix) with ESMTP id E5533B5603CA;
 Thu, 19 Aug 2021 21:34:02 +0300 (EEST)
Received: from mx.upb.ro ([127.0.0.1])
 by localhost (mx.upb.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id RsFPXnemgUID; Thu, 19 Aug 2021 21:34:02 +0300 (EEST)
Received: from localhost.localdomain (unknown [86.121.144.181])
 by mx.upb.ro (Postfix) with ESMTPSA id DFD9BB56051E;
 Thu, 19 Aug 2021 20:50:18 +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: cfe5d167-636d-41b5-a7fe-268f994a9a36
X-Virus-Scanned: amavisd-new at upb.ro
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: xen-devel@lists.xenproject.org
Cc: Ian Jackson <iwj@xenproject.org>,
	Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>
Subject: [PATCH v2 3/4] libs/foreignmemory: Use XEN_PAGE_* definitions
Date: Thu, 19 Aug 2021 20:50:11 +0300
Message-Id: <6af59839b82b3026afac7228d2d63f786943b445.1629395092.git.costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <cover.1629395092.git.costin.lupu@cs.pub.ro>
References: <cover.1629395092.git.costin.lupu@cs.pub.ro>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

These changes refine the changes in 0dbb4be7 which added a dependency to
xenctrl library. We use the XEN_PAGE_* definitions instead of the XC_PAGE=
_*
definitions and therefore we get rid of the unnecessary dependency.

Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
---
 tools/libs/foreignmemory/core.c    |  2 +-
 tools/libs/foreignmemory/freebsd.c | 10 +++++-----
 tools/libs/foreignmemory/linux.c   | 18 +++++++++---------
 tools/libs/foreignmemory/minios.c  | 10 +---------
 tools/libs/foreignmemory/netbsd.c  | 10 +++++-----
 tools/libs/foreignmemory/private.h |  2 +-
 tools/libs/foreignmemory/solaris.c |  6 +++---
 7 files changed, 25 insertions(+), 33 deletions(-)

diff --git a/tools/libs/foreignmemory/core.c b/tools/libs/foreignmemory/c=
ore.c
index 7edc6f0dbf..ad1ad9fc67 100644
--- a/tools/libs/foreignmemory/core.c
+++ b/tools/libs/foreignmemory/core.c
@@ -202,7 +202,7 @@ int xenforeignmemory_resource_size(
     if ( rc )
         return rc;
=20
-    *size =3D fres.nr_frames << XC_PAGE_SHIFT;
+    *size =3D fres.nr_frames << XEN_PAGE_SHIFT;
     return 0;
 }
=20
diff --git a/tools/libs/foreignmemory/freebsd.c b/tools/libs/foreignmemor=
y/freebsd.c
index 2cf0fa1c38..9439c4ca6a 100644
--- a/tools/libs/foreignmemory/freebsd.c
+++ b/tools/libs/foreignmemory/freebsd.c
@@ -63,7 +63,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_handl=
e *fmem,
     privcmd_mmapbatch_t ioctlx;
     int rc;
=20
-    addr =3D mmap(addr, num << XC_PAGE_SHIFT, prot, flags | MAP_SHARED, =
fd, 0);
+    addr =3D mmap(addr, num << XEN_PAGE_SHIFT, prot, flags | MAP_SHARED,=
 fd, 0);
     if ( addr =3D=3D MAP_FAILED )
         return NULL;
=20
@@ -78,7 +78,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_handl=
e *fmem,
     {
         int saved_errno =3D errno;
=20
-        (void)munmap(addr, num << XC_PAGE_SHIFT);
+        (void)munmap(addr, num << XEN_PAGE_SHIFT);
         errno =3D saved_errno;
         return NULL;
     }
@@ -89,7 +89,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_handl=
e *fmem,
 int osdep_xenforeignmemory_unmap(xenforeignmemory_handle *fmem,
                                  void *addr, size_t num)
 {
-    return munmap(addr, num << XC_PAGE_SHIFT);
+    return munmap(addr, num << XEN_PAGE_SHIFT);
 }
=20
 int osdep_xenforeignmemory_restrict(xenforeignmemory_handle *fmem,
@@ -101,7 +101,7 @@ int osdep_xenforeignmemory_restrict(xenforeignmemory_=
handle *fmem,
 int osdep_xenforeignmemory_unmap_resource(xenforeignmemory_handle *fmem,
                                         xenforeignmemory_resource_handle=
 *fres)
 {
-    return fres ? munmap(fres->addr, fres->nr_frames << XC_PAGE_SHIFT) :=
 0;
+    return fres ? munmap(fres->addr, fres->nr_frames << XEN_PAGE_SHIFT) =
: 0;
 }
=20
 int osdep_xenforeignmemory_map_resource(xenforeignmemory_handle *fmem,
@@ -120,7 +120,7 @@ int osdep_xenforeignmemory_map_resource(xenforeignmem=
ory_handle *fmem,
         /* Request for resource size.  Skip mmap(). */
         goto skip_mmap;
=20
-    fres->addr =3D mmap(fres->addr, fres->nr_frames << XC_PAGE_SHIFT,
+    fres->addr =3D mmap(fres->addr, fres->nr_frames << XEN_PAGE_SHIFT,
                       fres->prot, fres->flags | MAP_SHARED, fmem->fd, 0)=
;
     if ( fres->addr =3D=3D MAP_FAILED )
         return -1;
diff --git a/tools/libs/foreignmemory/linux.c b/tools/libs/foreignmemory/=
linux.c
index 9062117407..9dabf28cae 100644
--- a/tools/libs/foreignmemory/linux.c
+++ b/tools/libs/foreignmemory/linux.c
@@ -134,7 +134,7 @@ static int retry_paged(int fd, uint32_t dom, void *ad=
dr,
         /* At least one gfn is still in paging state */
         ioctlx.num =3D 1;
         ioctlx.dom =3D dom;
-        ioctlx.addr =3D (unsigned long)addr + (i<<XC_PAGE_SHIFT);
+        ioctlx.addr =3D (unsigned long)addr + (i<<XEN_PAGE_SHIFT);
         ioctlx.arr =3D arr + i;
         ioctlx.err =3D err + i;
=20
@@ -168,7 +168,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_han=
dle *fmem,
     size_t i;
     int rc;
=20
-    addr =3D mmap(addr, num << XC_PAGE_SHIFT, prot, flags | MAP_SHARED,
+    addr =3D mmap(addr, num << XEN_PAGE_SHIFT, prot, flags | MAP_SHARED,
                 fd, 0);
     if ( addr =3D=3D MAP_FAILED )
         return NULL;
@@ -198,7 +198,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_han=
dle *fmem,
          */
         privcmd_mmapbatch_t ioctlx;
         xen_pfn_t *pfn;
-        unsigned int pfn_arr_size =3D ROUNDUP((num * sizeof(*pfn)), XC_P=
AGE_SHIFT);
+        unsigned int pfn_arr_size =3D ROUNDUP((num * sizeof(*pfn)), XEN_=
PAGE_SHIFT);
         int os_page_size =3D sysconf(_SC_PAGESIZE);
=20
         if ( pfn_arr_size <=3D os_page_size )
@@ -210,7 +210,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_han=
dle *fmem,
             if ( pfn =3D=3D MAP_FAILED )
             {
                 PERROR("mmap of pfn array failed");
-                (void)munmap(addr, num << XC_PAGE_SHIFT);
+                (void)munmap(addr, num << XEN_PAGE_SHIFT);
                 return NULL;
             }
         }
@@ -243,7 +243,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_han=
dle *fmem,
                     continue;
                 }
                 rc =3D map_foreign_batch_single(fd, dom, pfn + i,
-                        (unsigned long)addr + (i<<XC_PAGE_SHIFT));
+                        (unsigned long)addr + (i<<XEN_PAGE_SHIFT));
                 if ( rc < 0 )
                 {
                     rc =3D -errno;
@@ -271,7 +271,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_han=
dle *fmem,
     {
         int saved_errno =3D errno;
=20
-        (void)munmap(addr, num << XC_PAGE_SHIFT);
+        (void)munmap(addr, num << XEN_PAGE_SHIFT);
         errno =3D saved_errno;
         return NULL;
     }
@@ -282,7 +282,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_han=
dle *fmem,
 int osdep_xenforeignmemory_unmap(xenforeignmemory_handle *fmem,
                                  void *addr, size_t num)
 {
-    return munmap(addr, num << XC_PAGE_SHIFT);
+    return munmap(addr, num << XEN_PAGE_SHIFT);
 }
=20
 int osdep_xenforeignmemory_restrict(xenforeignmemory_handle *fmem,
@@ -294,7 +294,7 @@ int osdep_xenforeignmemory_restrict(xenforeignmemory_=
handle *fmem,
 int osdep_xenforeignmemory_unmap_resource(
     xenforeignmemory_handle *fmem, xenforeignmemory_resource_handle *fre=
s)
 {
-    return fres ? munmap(fres->addr, fres->nr_frames << XC_PAGE_SHIFT) :=
 0;
+    return fres ? munmap(fres->addr, fres->nr_frames << XEN_PAGE_SHIFT) =
: 0;
 }
=20
 int osdep_xenforeignmemory_map_resource(
@@ -313,7 +313,7 @@ int osdep_xenforeignmemory_map_resource(
         /* Request for resource size.  Skip mmap(). */
         goto skip_mmap;
=20
-    fres->addr =3D mmap(fres->addr, fres->nr_frames << XC_PAGE_SHIFT,
+    fres->addr =3D mmap(fres->addr, fres->nr_frames << XEN_PAGE_SHIFT,
                       fres->prot, fres->flags | MAP_SHARED, fmem->fd, 0)=
;
     if ( fres->addr =3D=3D MAP_FAILED )
         return -1;
diff --git a/tools/libs/foreignmemory/minios.c b/tools/libs/foreignmemory=
/minios.c
index f2f4dfb2be..2454eb9af3 100644
--- a/tools/libs/foreignmemory/minios.c
+++ b/tools/libs/foreignmemory/minios.c
@@ -17,14 +17,6 @@
  * Copyright 2007-2008 Samuel Thibault <samuel.thibault@eu.citrix.com>.
  */
=20
-/*
- * xenctrl.h currently defines __XEN_TOOLS__ which affects what is
- * exposed by Xen headers. As the define needs to be set consistently,
- * we want to include xenctrl.h before the mini-os headers (they include
- * public headers).
- */
-#include <xenctrl.h>
-
 #include <mini-os/types.h>
 #include <mini-os/os.h>
 #include <mini-os/mm.h>
@@ -63,7 +55,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_handl=
e *fmem,
 int osdep_xenforeignmemory_unmap(xenforeignmemory_handle *fmem,
                                  void *addr, size_t num)
 {
-    return munmap(addr, num << XC_PAGE_SHIFT);
+    return munmap(addr, num << XEN_PAGE_SHIFT);
 }
=20
 /*
diff --git a/tools/libs/foreignmemory/netbsd.c b/tools/libs/foreignmemory=
/netbsd.c
index 597db775d7..ba69b9c6bb 100644
--- a/tools/libs/foreignmemory/netbsd.c
+++ b/tools/libs/foreignmemory/netbsd.c
@@ -76,7 +76,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_handl=
e *fmem,
 {
     int fd =3D fmem->fd;
     privcmd_mmapbatch_v2_t ioctlx;
-    addr =3D mmap(addr, num * XC_PAGE_SIZE, prot,
+    addr =3D mmap(addr, num * XEN_PAGE_SIZE, prot,
                 flags | MAP_ANON | MAP_SHARED, -1, 0);
     if ( addr =3D=3D MAP_FAILED ) {
         PERROR("osdep_xenforeignmemory_map: mmap failed");
@@ -93,7 +93,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_handl=
e *fmem,
     {
         int saved_errno =3D errno;
         PERROR("osdep_xenforeignmemory_map: ioctl failed");
-        munmap(addr, num * XC_PAGE_SIZE);
+        munmap(addr, num * XEN_PAGE_SIZE);
         errno =3D saved_errno;
         return NULL;
     }
@@ -104,7 +104,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_han=
dle *fmem,
 int osdep_xenforeignmemory_unmap(xenforeignmemory_handle *fmem,
                                  void *addr, size_t num)
 {
-    return munmap(addr, num * XC_PAGE_SIZE);
+    return munmap(addr, num * XEN_PAGE_SIZE);
 }
=20
 int osdep_xenforeignmemory_restrict(xenforeignmemory_handle *fmem,
@@ -117,7 +117,7 @@ int osdep_xenforeignmemory_restrict(xenforeignmemory_=
handle *fmem,
 int osdep_xenforeignmemory_unmap_resource(
     xenforeignmemory_handle *fmem, xenforeignmemory_resource_handle *fre=
s)
 {
-    return fres ? munmap(fres->addr, fres->nr_frames << XC_PAGE_SHIFT) :=
 0;
+    return fres ? munmap(fres->addr, fres->nr_frames << XEN_PAGE_SHIFT) =
: 0;
 }
=20
 int osdep_xenforeignmemory_map_resource(
@@ -136,7 +136,7 @@ int osdep_xenforeignmemory_map_resource(
         /* Request for resource size.  Skip mmap(). */
         goto skip_mmap;
=20
-    fres->addr =3D mmap(fres->addr, fres->nr_frames << XC_PAGE_SHIFT,
+    fres->addr =3D mmap(fres->addr, fres->nr_frames << XEN_PAGE_SHIFT,
                       fres->prot, fres->flags | MAP_ANON | MAP_SHARED, -=
1, 0);
     if ( fres->addr =3D=3D MAP_FAILED )
         return -1;
diff --git a/tools/libs/foreignmemory/private.h b/tools/libs/foreignmemor=
y/private.h
index 8540303adc..1200f98067 100644
--- a/tools/libs/foreignmemory/private.h
+++ b/tools/libs/foreignmemory/private.h
@@ -1,7 +1,6 @@
 #ifndef XENFOREIGNMEMORY_PRIVATE_H
 #define XENFOREIGNMEMORY_PRIVATE_H
=20
-#include <xenctrl.h>
 #include <xentoollog.h>
=20
 #include <xenforeignmemory.h>
@@ -9,6 +8,7 @@
 #include <xentoolcore_internal.h>
=20
 #include <xen/xen.h>
+#include <xen/page.h>
 #include <xen/sys/privcmd.h>
=20
 struct xenforeignmemory_handle {
diff --git a/tools/libs/foreignmemory/solaris.c b/tools/libs/foreignmemor=
y/solaris.c
index 958fb01f6d..4466780bd8 100644
--- a/tools/libs/foreignmemory/solaris.c
+++ b/tools/libs/foreignmemory/solaris.c
@@ -72,7 +72,7 @@ void *osdep_map_foreign_batch(xenforeignmem_handle *fme=
m, uint32_t dom,
 {
     int fd =3D fmem->fd;
     privcmd_mmapbatch_t ioctlx;
-    addr =3D mmap(addr, num*XC_PAGE_SIZE, prot, flags | MAP_SHARED, fd, =
0);
+    addr =3D mmap(addr, num*XEN_PAGE_SIZE, prot, flags | MAP_SHARED, fd,=
 0);
     if ( addr =3D=3D MAP_FAILED )
         return NULL;
=20
@@ -84,7 +84,7 @@ void *osdep_map_foreign_batch(xenforeignmem_handle *fme=
m, uint32_t dom,
     {
         int saved_errno =3D errno;
=20
-        (void)munmap(addr, num*XC_PAGE_SIZE);
+        (void)munmap(addr, num*XEN_PAGE_SIZE);
         errno =3D saved_errno;
         return NULL;
     }
@@ -94,7 +94,7 @@ void *osdep_map_foreign_batch(xenforeignmem_handle *fme=
m, uint32_t dom,
 int osdep_xenforeignmemory_unmap(xenforeignmemory_handle *fmem,
                                  void *addr, size_t num)
 {
-    return munmap(addr, num*XC_PAGE_SIZE);
+    return munmap(addr, num*XEN_PAGE_SIZE);
 }
=20
 /*
--=20
2.20.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 18:49:18 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 18:49:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169064.308815 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGn6E-0000ew-AA; Thu, 19 Aug 2021 18:49:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169064.308815; Thu, 19 Aug 2021 18:49:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGn6E-0000ep-5c; Thu, 19 Aug 2021 18:49:10 +0000
Received: by outflank-mailman (input) for mailman id 169064;
 Thu, 19 Aug 2021 18:49:09 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ErsO=NK=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1mGn6D-0000ee-0I
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 18:49:09 +0000
Received: from mx.upb.ro (unknown [141.85.13.210])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 21538bc1-011e-11ec-a652-12813bfff9fa;
 Thu, 19 Aug 2021 18:49:07 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mx.upb.ro (Postfix) with ESMTP id 7C694B5601CB;
 Thu, 19 Aug 2021 21:49:06 +0300 (EEST)
Received: from mx.upb.ro ([127.0.0.1])
 by localhost (mx.upb.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id vR5X3jCQjZze; Thu, 19 Aug 2021 21:49:04 +0300 (EEST)
Received: from localhost (localhost [127.0.0.1])
 by mx.upb.ro (Postfix) with ESMTP id 6D56FB5603BC;
 Thu, 19 Aug 2021 21:34:02 +0300 (EEST)
Received: from mx.upb.ro ([127.0.0.1])
 by localhost (mx.upb.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id MLGuf4FYdmuI; Thu, 19 Aug 2021 21:34:02 +0300 (EEST)
Received: from localhost.localdomain (unknown [86.121.144.181])
 by mx.upb.ro (Postfix) with ESMTPSA id 75E72B560300;
 Thu, 19 Aug 2021 20:50:16 +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: 21538bc1-011e-11ec-a652-12813bfff9fa
X-Virus-Scanned: amavisd-new at upb.ro
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Ian Jackson <iwj@xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 0/4] Introduce XEN_PAGE_* definitions for mapping guests memory
Date: Thu, 19 Aug 2021 20:50:08 +0300
Message-Id: <cover.1629395092.git.costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.20.1
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

This series tries to fix a side-effect introduced by commits 0dbb4be7 and
d1b32abd which added a dependency to xenctrl for foreignmemory and gnntab
libraries library only because they needed to use the XC_PAGE_* values.

These changes introduce the XEN_PAGE_* definitions that will be used by a=
ny
toolstack component that doesn't need a dependency to xenctrl library.

Changes since v1:
- Use same page definitions for both x86_64 and ARM (i.e. a single page.h=
 file)
- Introduce xen_mk_long()

Costin Lupu (4):
  public: Add page related definitions for accessing guests memory
  libs/ctrl: Use Xen values for XC_PAGE_* definitions
  libs/foreignmemory: Use XEN_PAGE_* definitions
  libs/gnttab: Use XEN_PAGE_* definitions

 tools/include/xenctrl.h            |  7 +++---
 tools/libs/foreignmemory/core.c    |  2 +-
 tools/libs/foreignmemory/freebsd.c | 10 ++++-----
 tools/libs/foreignmemory/linux.c   | 18 +++++++--------
 tools/libs/foreignmemory/minios.c  | 10 +--------
 tools/libs/foreignmemory/netbsd.c  | 10 ++++-----
 tools/libs/foreignmemory/private.h |  2 +-
 tools/libs/foreignmemory/solaris.c |  6 ++---
 tools/libs/gnttab/freebsd.c        | 20 ++++++++---------
 tools/libs/gnttab/linux.c          | 20 ++++++++---------
 tools/libs/gnttab/netbsd.c         | 20 ++++++++---------
 xen/include/public/page.h          | 36 ++++++++++++++++++++++++++++++
 xen/include/public/xen.h           |  3 +++
 13 files changed, 98 insertions(+), 66 deletions(-)
 create mode 100644 xen/include/public/page.h

--=20
2.20.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 18:49:18 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 18:49:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169066.308836 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGn6J-0001D3-PI; Thu, 19 Aug 2021 18:49:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169066.308836; Thu, 19 Aug 2021 18:49:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGn6J-0001Cw-Lk; Thu, 19 Aug 2021 18:49:15 +0000
Received: by outflank-mailman (input) for mailman id 169066;
 Thu, 19 Aug 2021 18:49:13 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ErsO=NK=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1mGn6H-0000ee-P0
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 18:49:13 +0000
Received: from mx.upb.ro (unknown [141.85.13.210])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 21538bc0-011e-11ec-a652-12813bfff9fa;
 Thu, 19 Aug 2021 18:49:06 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mx.upb.ro (Postfix) with ESMTP id AEA1DB5601C0;
 Thu, 19 Aug 2021 21:49:05 +0300 (EEST)
Received: from mx.upb.ro ([127.0.0.1])
 by localhost (mx.upb.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id vYzLY_UwEol9; Thu, 19 Aug 2021 21:49:03 +0300 (EEST)
Received: from localhost (localhost [127.0.0.1])
 by mx.upb.ro (Postfix) with ESMTP id 97263B560300;
 Thu, 19 Aug 2021 21:34:02 +0300 (EEST)
Received: from mx.upb.ro ([127.0.0.1])
 by localhost (mx.upb.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id TlMOKk-SEeul; Thu, 19 Aug 2021 21:34:02 +0300 (EEST)
Received: from localhost.localdomain (unknown [86.121.144.181])
 by mx.upb.ro (Postfix) with ESMTPSA id 7042EB56168B;
 Thu, 19 Aug 2021 20:50:17 +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: 21538bc0-011e-11ec-a652-12813bfff9fa
X-Virus-Scanned: amavisd-new at upb.ro
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Ian Jackson <iwj@xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v2 1/4] public: Add page related definitions for accessing guests memory
Date: Thu, 19 Aug 2021 20:50:09 +0300
Message-Id: <1d9338102d2013addfabc0cf9275ef156fd5080f.1629395092.git.costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <cover.1629395092.git.costin.lupu@cs.pub.ro>
References: <cover.1629395092.git.costin.lupu@cs.pub.ro>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

These changes introduce the page related definitions needed for mapping a=
nd
accessing guests memory. These values are intended to be used by any tool=
stack
component that needs to map guests memory. Until now, the values were def=
ined
by the xenctrl.h header, therefore whenever a component had to use them i=
t also
had to add a dependency for the xenctrl library.

This patch also introduces xen_mk_long() macrodefinition for defining lon=
g
constants both for C and assembler code.

Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
---
 xen/include/public/page.h | 36 ++++++++++++++++++++++++++++++++++++
 xen/include/public/xen.h  |  3 +++
 2 files changed, 39 insertions(+)
 create mode 100644 xen/include/public/page.h

diff --git a/xen/include/public/page.h b/xen/include/public/page.h
new file mode 100644
index 0000000000..6b06259bad
--- /dev/null
+++ b/xen/include/public/page.h
@@ -0,0 +1,36 @@
+/***********************************************************************=
*******
+ * page.h
+ *
+ * Page definitions for accessing guests memory
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining=
 a copy
+ * of this software and associated documentation files (the "Software"),=
 to
+ * deal in the Software without restriction, including without limitatio=
n the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, =
and/or
+ * sell copies of the Software, and to permit persons to whom the Softwa=
re is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be includ=
ed in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRE=
SS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILI=
TY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHA=
LL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHE=
R
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISI=
NG
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Copyright (c) 2021, Costin Lupu
+ */
+
+#ifndef __XEN_PUBLIC_PAGE_H__
+#define __XEN_PUBLIC_PAGE_H__
+
+#include "xen.h"
+
+#define XEN_PAGE_SHIFT           12
+#define XEN_PAGE_SIZE            (xen_mk_long(1) << XEN_PAGE_SHIFT)
+#define XEN_PAGE_MASK            (~(XEN_PAGE_SIZE - 1))
+
+#endif /* __XEN_PUBLIC_PAGE_H__ */
diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
index e373592c33..12531c02b5 100644
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -64,11 +64,13 @@ DEFINE_XEN_GUEST_HANDLE(xen_ulong_t);
=20
 /* Turn a plain number into a C unsigned (long (long)) constant. */
 #define __xen_mk_uint(x)  x ## U
+#define __xen_mk_long(x)  x ## L
 #define __xen_mk_ulong(x) x ## UL
 #ifndef __xen_mk_ullong
 # define __xen_mk_ullong(x) x ## ULL
 #endif
 #define xen_mk_uint(x)    __xen_mk_uint(x)
+#define xen_mk_long(x)    __xen_mk_long(x)
 #define xen_mk_ulong(x)   __xen_mk_ulong(x)
 #define xen_mk_ullong(x)  __xen_mk_ullong(x)
=20
@@ -76,6 +78,7 @@ DEFINE_XEN_GUEST_HANDLE(xen_ulong_t);
=20
 /* In assembly code we cannot use C numeric constant suffixes. */
 #define xen_mk_uint(x)   x
+#define xen_mk_long(x)   x
 #define xen_mk_ulong(x)  x
 #define xen_mk_ullong(x) x
=20
--=20
2.20.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 18:49:20 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 18:49:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169069.308862 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGn6O-0001q0-Ev; Thu, 19 Aug 2021 18:49:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169069.308862; Thu, 19 Aug 2021 18: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 1mGn6O-0001pr-A9; Thu, 19 Aug 2021 18:49:20 +0000
Received: by outflank-mailman (input) for mailman id 169069;
 Thu, 19 Aug 2021 18:49:18 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ErsO=NK=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1mGn6M-0000ee-P5
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 18:49:18 +0000
Received: from mx.upb.ro (unknown [141.85.13.210])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 25a7411c-011e-11ec-a652-12813bfff9fa;
 Thu, 19 Aug 2021 18:49:14 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mx.upb.ro (Postfix) with ESMTP id 10381B560115;
 Thu, 19 Aug 2021 21:49:12 +0300 (EEST)
Received: from mx.upb.ro ([127.0.0.1])
 by localhost (mx.upb.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id Gl-SHzGYgl4m; Thu, 19 Aug 2021 21:49:06 +0300 (EEST)
Received: from localhost (localhost [127.0.0.1])
 by mx.upb.ro (Postfix) with ESMTP id 4205BB560448;
 Thu, 19 Aug 2021 21:34:03 +0300 (EEST)
Received: from mx.upb.ro ([127.0.0.1])
 by localhost (mx.upb.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id 4Xhq7L00DpiX; Thu, 19 Aug 2021 21:34:03 +0300 (EEST)
Received: from localhost.localdomain (unknown [86.121.144.181])
 by mx.upb.ro (Postfix) with ESMTPSA id 6E154B56053B;
 Thu, 19 Aug 2021 20:50:19 +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: 25a7411c-011e-11ec-a652-12813bfff9fa
X-Virus-Scanned: amavisd-new at upb.ro
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: xen-devel@lists.xenproject.org
Cc: Ian Jackson <iwj@xenproject.org>,
	Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>
Subject: [PATCH v2 4/4] libs/gnttab: Use XEN_PAGE_* definitions
Date: Thu, 19 Aug 2021 20:50:12 +0300
Message-Id: <1b78b6e4a196a7f57d014ee699f4e8080b60610a.1629395092.git.costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <cover.1629395092.git.costin.lupu@cs.pub.ro>
References: <cover.1629395092.git.costin.lupu@cs.pub.ro>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

These changes refine the changes in d1b32abd which added a dependency to
xenctrl library. We use the XEN_PAGE_* definitions instead of the XC_PAGE=
_*
definitions and therefore we get rid of the unnecessary dependency.

Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
---
 tools/libs/gnttab/freebsd.c | 20 ++++++++++----------
 tools/libs/gnttab/linux.c   | 20 ++++++++++----------
 tools/libs/gnttab/netbsd.c  | 20 ++++++++++----------
 3 files changed, 30 insertions(+), 30 deletions(-)

diff --git a/tools/libs/gnttab/freebsd.c b/tools/libs/gnttab/freebsd.c
index e42ac3fbf3..7ecb0e3b38 100644
--- a/tools/libs/gnttab/freebsd.c
+++ b/tools/libs/gnttab/freebsd.c
@@ -28,9 +28,9 @@
 #include <sys/ioctl.h>
 #include <sys/mman.h>
=20
+#include <xen/page.h>
 #include <xen/sys/gntdev.h>
=20
-#include <xenctrl.h>
 #include <xen-tools/libs.h>
=20
 #include "private.h"
@@ -74,7 +74,7 @@ void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
     int domids_stride;
     unsigned int refs_size =3D ROUNDUP(count *
                                      sizeof(struct ioctl_gntdev_grant_re=
f),
-                                     XC_PAGE_SHIFT);
+                                     XEN_PAGE_SHIFT);
     int os_page_size =3D getpagesize();
=20
     domids_stride =3D (flags & XENGNTTAB_GRANT_MAP_SINGLE_DOMAIN) ? 0 : =
1;
@@ -105,7 +105,7 @@ void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
         goto out;
     }
=20
-    addr =3D mmap(NULL, XC_PAGE_SIZE * count, prot, MAP_SHARED, fd,
+    addr =3D mmap(NULL, XEN_PAGE_SIZE * count, prot, MAP_SHARED, fd,
                 map.index);
     if ( addr !=3D MAP_FAILED )
     {
@@ -114,7 +114,7 @@ void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
=20
         notify.index =3D map.index;
         notify.action =3D 0;
-        if ( notify_offset < XC_PAGE_SIZE * count )
+        if ( notify_offset < XEN_PAGE_SIZE * count )
         {
             notify.index +=3D notify_offset;
             notify.action |=3D UNMAP_NOTIFY_CLEAR_BYTE;
@@ -129,7 +129,7 @@ void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
         if ( rv )
         {
             GTERROR(xgt->logger, "ioctl SET_UNMAP_NOTIFY failed");
-            munmap(addr, count * XC_PAGE_SIZE);
+            munmap(addr, count * XEN_PAGE_SIZE);
             addr =3D MAP_FAILED;
         }
     }
@@ -187,7 +187,7 @@ int osdep_gnttab_unmap(xengnttab_handle *xgt,
     }
=20
     /* Next, unmap the memory. */
-    if ( (rc =3D munmap(start_address, count * XC_PAGE_SIZE)) )
+    if ( (rc =3D munmap(start_address, count * XEN_PAGE_SIZE)) )
         return rc;
=20
     /* Finally, unmap the driver slots used to store the grant informati=
on. */
@@ -254,7 +254,7 @@ void *osdep_gntshr_share_pages(xengntshr_handle *xgs,
         goto out;
     }
=20
-    area =3D mmap(NULL, count * XC_PAGE_SIZE, PROT_READ | PROT_WRITE, MA=
P_SHARED,
+    area =3D mmap(NULL, count * XEN_PAGE_SIZE, PROT_READ | PROT_WRITE, M=
AP_SHARED,
                 fd, gref_info.index);
=20
     if ( area =3D=3D MAP_FAILED )
@@ -266,7 +266,7 @@ void *osdep_gntshr_share_pages(xengntshr_handle *xgs,
=20
     notify.index =3D gref_info.index;
     notify.action =3D 0;
-    if ( notify_offset < XC_PAGE_SIZE * count )
+    if ( notify_offset < XEN_PAGE_SIZE * count )
     {
         notify.index +=3D notify_offset;
         notify.action |=3D UNMAP_NOTIFY_CLEAR_BYTE;
@@ -281,7 +281,7 @@ void *osdep_gntshr_share_pages(xengntshr_handle *xgs,
     if ( err )
     {
         GSERROR(xgs->logger, "ioctl SET_UNMAP_NOTIFY failed");
-        munmap(area, count * XC_PAGE_SIZE);
+        munmap(area, count * XEN_PAGE_SIZE);
         area =3D NULL;
     }
=20
@@ -304,7 +304,7 @@ void *osdep_gntshr_share_pages(xengntshr_handle *xgs,
 int osdep_gntshr_unshare(xengntshr_handle *xgs,
                          void *start_address, uint32_t count)
 {
-    return munmap(start_address, count * XC_PAGE_SIZE);
+    return munmap(start_address, count * XEN_PAGE_SIZE);
 }
=20
 /*
diff --git a/tools/libs/gnttab/linux.c b/tools/libs/gnttab/linux.c
index 5628fd5719..11f1acb771 100644
--- a/tools/libs/gnttab/linux.c
+++ b/tools/libs/gnttab/linux.c
@@ -29,10 +29,10 @@
 #include <sys/ioctl.h>
 #include <sys/mman.h>
=20
+#include <xen/page.h>
 #include <xen/sys/gntdev.h>
 #include <xen/sys/gntalloc.h>
=20
-#include <xenctrl.h>
 #include <xen-tools/libs.h>
=20
 #include "private.h"
@@ -101,7 +101,7 @@ void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
         map =3D alloca(map_size);
     else
     {
-        map_size =3D ROUNDUP(map_size, XC_PAGE_SHIFT);
+        map_size =3D ROUNDUP(map_size, XEN_PAGE_SHIFT);
         map =3D mmap(NULL, map_size, PROT_READ | PROT_WRITE,
                    MAP_PRIVATE | MAP_ANON | MAP_POPULATE, -1, 0);
         if ( map =3D=3D MAP_FAILED )
@@ -125,7 +125,7 @@ void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
     }
=20
  retry:
-    addr =3D mmap(NULL, XC_PAGE_SIZE * count, prot, MAP_SHARED, fd,
+    addr =3D mmap(NULL, XEN_PAGE_SIZE * count, prot, MAP_SHARED, fd,
                 map->index);
=20
     if (addr =3D=3D MAP_FAILED && errno =3D=3D EAGAIN)
@@ -150,7 +150,7 @@ void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
         struct ioctl_gntdev_unmap_notify notify;
         notify.index =3D map->index;
         notify.action =3D 0;
-        if (notify_offset < XC_PAGE_SIZE * count) {
+        if (notify_offset < XEN_PAGE_SIZE * count) {
             notify.index +=3D notify_offset;
             notify.action |=3D UNMAP_NOTIFY_CLEAR_BYTE;
         }
@@ -162,7 +162,7 @@ void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
             rv =3D ioctl(fd, IOCTL_GNTDEV_SET_UNMAP_NOTIFY, &notify);
         if (rv) {
             GTERROR(xgt->logger, "ioctl SET_UNMAP_NOTIFY failed");
-            munmap(addr, count * XC_PAGE_SIZE);
+            munmap(addr, count * XEN_PAGE_SIZE);
             addr =3D MAP_FAILED;
         }
     }
@@ -218,7 +218,7 @@ int osdep_gnttab_unmap(xengnttab_handle *xgt,
     }
=20
     /* Next, unmap the memory. */
-    if ( (rc =3D munmap(start_address, count * XC_PAGE_SIZE)) )
+    if ( (rc =3D munmap(start_address, count * XEN_PAGE_SIZE)) )
         return rc;
=20
     /* Finally, unmap the driver slots used to store the grant informati=
on. */
@@ -464,7 +464,7 @@ void *osdep_gntshr_share_pages(xengntshr_handle *xgs,
         goto out;
     }
=20
-    area =3D mmap(NULL, count * XC_PAGE_SIZE, PROT_READ | PROT_WRITE,
+    area =3D mmap(NULL, count * XEN_PAGE_SIZE, PROT_READ | PROT_WRITE,
         MAP_SHARED, fd, gref_info->index);
=20
     if (area =3D=3D MAP_FAILED) {
@@ -475,7 +475,7 @@ void *osdep_gntshr_share_pages(xengntshr_handle *xgs,
=20
     notify.index =3D gref_info->index;
     notify.action =3D 0;
-    if (notify_offset < XC_PAGE_SIZE * count) {
+    if (notify_offset < XEN_PAGE_SIZE * count) {
         notify.index +=3D notify_offset;
         notify.action |=3D UNMAP_NOTIFY_CLEAR_BYTE;
     }
@@ -487,7 +487,7 @@ void *osdep_gntshr_share_pages(xengntshr_handle *xgs,
         err =3D ioctl(fd, IOCTL_GNTALLOC_SET_UNMAP_NOTIFY, &notify);
     if (err) {
         GSERROR(xgs->logger, "ioctl SET_UNMAP_NOTIFY failed");
-        munmap(area, count * XC_PAGE_SIZE);
+        munmap(area, count * XEN_PAGE_SIZE);
         area =3D NULL;
     }
=20
@@ -508,7 +508,7 @@ void *osdep_gntshr_share_pages(xengntshr_handle *xgs,
 int osdep_gntshr_unshare(xengntshr_handle *xgs,
                          void *start_address, uint32_t count)
 {
-    return munmap(start_address, count * XC_PAGE_SIZE);
+    return munmap(start_address, count * XEN_PAGE_SIZE);
 }
=20
 /*
diff --git a/tools/libs/gnttab/netbsd.c b/tools/libs/gnttab/netbsd.c
index a4ad624b54..beb94be468 100644
--- a/tools/libs/gnttab/netbsd.c
+++ b/tools/libs/gnttab/netbsd.c
@@ -28,8 +28,8 @@
 #include <sys/ioctl.h>
 #include <sys/mman.h>
=20
-#include <xenctrl.h>
 #include <xen/xen.h>
+#include <xen/page.h>
 #include <xen/xenio.h>
=20
 #include "private.h"
@@ -84,19 +84,19 @@ void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
     }
=20
     map.count =3D count;
-    addr =3D mmap(NULL, count * XC_PAGE_SIZE,
+    addr =3D mmap(NULL, count * XEN_PAGE_SIZE,
                 prot, flags | MAP_ANON | MAP_SHARED, -1, 0);
     if ( map.va =3D=3D MAP_FAILED )
     {
         GTERROR(xgt->logger, "osdep_gnttab_grant_map: mmap failed");
-        munmap((void *)map.va, count * XC_PAGE_SIZE);
+        munmap((void *)map.va, count * XEN_PAGE_SIZE);
         addr =3D MAP_FAILED;
     }
     map.va =3D addr;
=20
     map.notify.offset =3D 0;
     map.notify.action =3D 0;
-    if ( notify_offset < XC_PAGE_SIZE * count )
+    if ( notify_offset < XEN_PAGE_SIZE * count )
     {
         map.notify.offset =3D notify_offset;
         map.notify.action |=3D UNMAP_NOTIFY_CLEAR_BYTE;
@@ -112,7 +112,7 @@ void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
     {
         GTERROR(xgt->logger,
             "ioctl IOCTL_GNTDEV_MMAP_GRANT_REF failed: %d", rv);
-        munmap(addr, count * XC_PAGE_SIZE);
+        munmap(addr, count * XEN_PAGE_SIZE);
         addr =3D MAP_FAILED;
     }
=20
@@ -133,7 +133,7 @@ int osdep_gnttab_unmap(xengnttab_handle *xgt,
     }
=20
     /* Next, unmap the memory. */
-    rc =3D munmap(start_address, count * XC_PAGE_SIZE);
+    rc =3D munmap(start_address, count * XEN_PAGE_SIZE);
=20
     return rc;
 }
@@ -184,7 +184,7 @@ void *osdep_gntshr_share_pages(xengntshr_handle *xgs,
     alloc.domid =3D domid;
     alloc.flags =3D writable ? GNTDEV_ALLOC_FLAG_WRITABLE : 0;
     alloc.count =3D count;
-    area =3D mmap(NULL, count * XC_PAGE_SIZE,
+    area =3D mmap(NULL, count * XEN_PAGE_SIZE,
                 PROT_READ | PROT_WRITE, MAP_ANON | MAP_SHARED, -1, 0);
=20
     if ( area =3D=3D MAP_FAILED )
@@ -197,7 +197,7 @@ void *osdep_gntshr_share_pages(xengntshr_handle *xgs,
=20
     alloc.notify.offset =3D 0;
     alloc.notify.action =3D 0;
-    if ( notify_offset < XC_PAGE_SIZE * count )
+    if ( notify_offset < XEN_PAGE_SIZE * count )
     {
         alloc.notify.offset =3D notify_offset;
         alloc.notify.action |=3D UNMAP_NOTIFY_CLEAR_BYTE;
@@ -212,7 +212,7 @@ void *osdep_gntshr_share_pages(xengntshr_handle *xgs,
     if ( err )
     {
         GSERROR(xgs->logger, "IOCTL_GNTDEV_ALLOC_GRANT_REF failed");
-        munmap(area, count * XC_PAGE_SIZE);
+        munmap(area, count * XEN_PAGE_SIZE);
         area =3D MAP_FAILED;
         goto out;
     }
@@ -227,7 +227,7 @@ void *osdep_gntshr_share_pages(xengntshr_handle *xgs,
 int osdep_gntshr_unshare(xengntshr_handle *xgs,
                          void *start_address, uint32_t count)
 {
-    return munmap(start_address, count * XC_PAGE_SIZE);
+    return munmap(start_address, count * XEN_PAGE_SIZE);
 }
=20
 /*
--=20
2.20.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 18:49:20 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 18:49:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169065.308826 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGn6F-0000uz-HH; Thu, 19 Aug 2021 18:49:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169065.308826; Thu, 19 Aug 2021 18: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 1mGn6F-0000us-Do; Thu, 19 Aug 2021 18:49:11 +0000
Received: by outflank-mailman (input) for mailman id 169065;
 Thu, 19 Aug 2021 18:49:10 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ErsO=NK=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1mGn6D-0000ek-W7
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 18:49:10 +0000
Received: from mx.upb.ro (unknown [141.85.13.220])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ec046c42-f40c-4421-ab0f-9ede3a08fa76;
 Thu, 19 Aug 2021 18:49:08 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mx.upb.ro (Postfix) with ESMTP id 4B2D5B5601C1;
 Thu, 19 Aug 2021 21:49:07 +0300 (EEST)
Received: from mx.upb.ro ([127.0.0.1])
 by localhost (mx.upb.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id h5aI7n1J83Tp; Thu, 19 Aug 2021 21:49:05 +0300 (EEST)
Received: from localhost (localhost [127.0.0.1])
 by mx.upb.ro (Postfix) with ESMTP id C5F2AB56023C;
 Thu, 19 Aug 2021 21:34:02 +0300 (EEST)
Received: from mx.upb.ro ([127.0.0.1])
 by localhost (mx.upb.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id jZuGbMaUYKKK; Thu, 19 Aug 2021 21:34:02 +0300 (EEST)
Received: from localhost.localdomain (unknown [86.121.144.181])
 by mx.upb.ro (Postfix) with ESMTPSA id 5AC46B5609E2;
 Thu, 19 Aug 2021 20:50:18 +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: ec046c42-f40c-4421-ab0f-9ede3a08fa76
X-Virus-Scanned: amavisd-new at upb.ro
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: xen-devel@lists.xenproject.org
Cc: Ian Jackson <iwj@xenproject.org>,
	Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>
Subject: [PATCH v2 2/4] libs/ctrl: Use Xen values for XC_PAGE_* definitions
Date: Thu, 19 Aug 2021 20:50:10 +0300
Message-Id: <c70025ff145d9a4ef16ef62c0cbd67eba41d48e7.1629395092.git.costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <cover.1629395092.git.costin.lupu@cs.pub.ro>
References: <cover.1629395092.git.costin.lupu@cs.pub.ro>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

We use the values provided by the Xen public interface for defining the
XC_PAGE_* macros.

Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
---
 tools/include/xenctrl.h | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index b77726eab7..2031308458 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -54,10 +54,11 @@
 #include <xen/foreign/x86_64.h>
 #include <xen/arch-x86/xen-mca.h>
 #endif
+#include <xen/page.h>
=20
-#define XC_PAGE_SHIFT           12
-#define XC_PAGE_SIZE            (1UL << XC_PAGE_SHIFT)
-#define XC_PAGE_MASK            (~(XC_PAGE_SIZE-1))
+#define XC_PAGE_SHIFT           XEN_PAGE_SHIFT
+#define XC_PAGE_SIZE            XEN_PAGE_SIZE
+#define XC_PAGE_MASK            XEN_PAGE_MASK
=20
 #define INVALID_MFN  (~0UL)
=20
--=20
2.20.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 18:50:44 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 18:50:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169094.308873 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGn7j-0004JA-Uq; Thu, 19 Aug 2021 18:50:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169094.308873; Thu, 19 Aug 2021 18: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 1mGn7j-0004J3-RX; Thu, 19 Aug 2021 18:50:43 +0000
Received: by outflank-mailman (input) for mailman id 169094;
 Thu, 19 Aug 2021 18:50:42 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ErsO=NK=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1mGn7i-0004IV-EV
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 18:50:42 +0000
Received: from mx.upb.ro (unknown [141.85.13.241])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 59ddb5c4-011e-11ec-a652-12813bfff9fa;
 Thu, 19 Aug 2021 18:50:41 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mx.upb.ro (Postfix) with ESMTP id B0EF0B5600E2;
 Thu, 19 Aug 2021 21:50:40 +0300 (EEST)
Received: from mx.upb.ro ([127.0.0.1])
 by localhost (mx.upb.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id yMAnOzFgBRrC; Thu, 19 Aug 2021 21:50:37 +0300 (EEST)
Received: from localhost (localhost [127.0.0.1])
 by mx.upb.ro (Postfix) with ESMTP id 458F0B56011C;
 Thu, 19 Aug 2021 21:48:52 +0300 (EEST)
Received: from mx.upb.ro ([127.0.0.1])
 by localhost (mx.upb.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id xQFHefCxj5i1; Thu, 19 Aug 2021 21:48:52 +0300 (EEST)
Received: from [192.168.1.35] (unknown [86.121.144.181])
 by mx.upb.ro (Postfix) with ESMTPSA id 427FDB56022F;
 Thu, 19 Aug 2021 21:28: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: 59ddb5c4-011e-11ec-a652-12813bfff9fa
X-Virus-Scanned: amavisd-new at upb.ro
Subject: Re: [PATCH 1/4] public: Add page related definitions for accessing
 guests memory
To: Jan Beulich <jbeulich@suse.com>
Cc: 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>, Ian Jackson <iwj@xenproject.org>,
 Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1628519855.git.costin.lupu@cs.pub.ro>
 <b397d346dcd6243d1957b3e4cfe7a09a6bd1c1b4.1628519855.git.costin.lupu@cs.pub.ro>
 <d92ed571-521e-70f1-af20-1423dbbf4014@suse.com>
From: Costin Lupu <costin.lupu@cs.pub.ro>
Message-ID: <416aeea9-db0e-d730-7e8d-2b2302371714@cs.pub.ro>
Date: Thu, 19 Aug 2021 21:28:50 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <d92ed571-521e-70f1-af20-1423dbbf4014@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit

Hi Jan,

Thanks for your comments. I've just sent a v2.

Cheers,
Costin

On 8/10/21 9:41 AM, Jan Beulich wrote:
> On 09.08.2021 16:47, Costin Lupu wrote:
>> These changes introduce the page related definitions needed for mapping and
>> accessing guests memory. These values are intended to be used by any toolstack
>> component that needs to map guests memory. Until now, the values were defined
>> by the xenctrl.h header, therefore whenever a component had to use them it also
>> had to add a dependency for the xenctrl library.
>>
>> For this patch we set the same values for both x86 and ARM architectures.
>>
>> Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
>> ---
>>  xen/include/public/arch-arm/page.h | 34 ++++++++++++++++++++++++++
>>  xen/include/public/arch-x86/page.h | 34 ++++++++++++++++++++++++++
>>  xen/include/public/page.h          | 38 ++++++++++++++++++++++++++++++
>>  3 files changed, 106 insertions(+)
>>  create mode 100644 xen/include/public/arch-arm/page.h
>>  create mode 100644 xen/include/public/arch-x86/page.h
>>  create mode 100644 xen/include/public/page.h
> 
> I'm not convinced of these warranting introduction of new headers, but
> I'm also not meaning to say that I'm strictly opposed. I don't recall
> this aspect having had any consideration, yet.
> 
>> --- /dev/null
>> +++ b/xen/include/public/arch-arm/page.h
>> @@ -0,0 +1,34 @@
>> +/******************************************************************************
>> + * page.h
>> + *
>> + * Page definitions for accessing guests memory on ARM
>> + *
>> + * Permission is hereby granted, free of charge, to any person obtaining a copy
>> + * of this software and associated documentation files (the "Software"), to
>> + * deal in the Software without restriction, including without limitation the
>> + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
>> + * sell copies of the Software, and to permit persons to whom the Software is
>> + * furnished to do so, subject to the following conditions:
>> + *
>> + * The above copyright notice and this permission notice shall be included in
>> + * all copies or substantial portions of the Software.
>> + *
>> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
>> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
>> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
>> + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
>> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
>> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
>> + * DEALINGS IN THE SOFTWARE.
>> + *
>> + * Copyright (c) 2021, Costin Lupu
>> + */
>> +
>> +#ifndef __XEN_PUBLIC_ARCH_ARM_PAGE_H__
>> +#define __XEN_PUBLIC_ARCH_ARM_PAGE_H__
>> +
>> +#define XEN_PAGE_SHIFT           12
>> +#define XEN_PAGE_SIZE            (1UL << XEN_PAGE_SHIFT)
>> +#define XEN_PAGE_MASK            (~(XEN_PAGE_SIZE - 1))
> 
> The latter two, being identical ...
> 
>> --- /dev/null
>> +++ b/xen/include/public/arch-x86/page.h
>> @@ -0,0 +1,34 @@
>> +/******************************************************************************
>> + * page.h
>> + *
>> + * Page definitions for accessing guests memory on x86
>> + *
>> + * Permission is hereby granted, free of charge, to any person obtaining a copy
>> + * of this software and associated documentation files (the "Software"), to
>> + * deal in the Software without restriction, including without limitation the
>> + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
>> + * sell copies of the Software, and to permit persons to whom the Software is
>> + * furnished to do so, subject to the following conditions:
>> + *
>> + * The above copyright notice and this permission notice shall be included in
>> + * all copies or substantial portions of the Software.
>> + *
>> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
>> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
>> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
>> + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
>> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
>> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
>> + * DEALINGS IN THE SOFTWARE.
>> + *
>> + * Copyright (c) 2021, Costin Lupu
>> + */
>> +
>> +#ifndef __XEN_PUBLIC_ARCH_X86_PAGE_H__
>> +#define __XEN_PUBLIC_ARCH_X86_PAGE_H__
>> +
>> +#define XEN_PAGE_SHIFT           12
>> +#define XEN_PAGE_SIZE            (1UL << XEN_PAGE_SHIFT)
>> +#define XEN_PAGE_MASK            (~(XEN_PAGE_SIZE - 1))
> 
> ... not just for x86, but in general, should imo move ...
> 
>> --- /dev/null
>> +++ b/xen/include/public/page.h
>> @@ -0,0 +1,38 @@
>> +/******************************************************************************
>> + * page.h
>> + *
>> + * Page definitions for accessing guests memory
>> + *
>> + * Permission is hereby granted, free of charge, to any person obtaining a copy
>> + * of this software and associated documentation files (the "Software"), to
>> + * deal in the Software without restriction, including without limitation the
>> + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
>> + * sell copies of the Software, and to permit persons to whom the Software is
>> + * furnished to do so, subject to the following conditions:
>> + *
>> + * The above copyright notice and this permission notice shall be included in
>> + * all copies or substantial portions of the Software.
>> + *
>> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
>> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
>> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
>> + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
>> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
>> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
>> + * DEALINGS IN THE SOFTWARE.
>> + *
>> + * Copyright (c) 2021, Costin Lupu
>> + */
>> +
>> +#ifndef __XEN_PUBLIC_PAGE_H__
>> +#define __XEN_PUBLIC_PAGE_H__
>> +
>> +#if defined(__i386__) || defined(__x86_64__)
>> +#include "arch-x86/page.h"
>> +#elif defined (__arm__) || defined (__aarch64__)
>> +#include "arch-arm/page.h"
>> +#else
>> +#error "Unsupported architecture"
>> +#endif
> 
> ... here. I don't think though that 1UL is an appropriate construct
> to use: Imo the smallest type this should evaluate to is xen_ulong_t,
> the constant should also be usable in assembly sources, and it would
> better also suitably sign-extend when used in e.g. XEN_PAGE_MASK.
> 
> Jan
> 
>> +#endif /* __XEN_PUBLIC_PAGE_H__ */
>>
> 


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 18:52:40 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 18:52:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169099.308884 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGn9c-0005EM-Ck; Thu, 19 Aug 2021 18:52:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169099.308884; Thu, 19 Aug 2021 18: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 1mGn9c-0005EF-8J; Thu, 19 Aug 2021 18:52:40 +0000
Received: by outflank-mailman (input) for mailman id 169099;
 Thu, 19 Aug 2021 18:52:39 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hQ7n=NK=gmail.com=xadimgnik@srs-us1.protection.inumbo.net>)
 id 1mGn9b-0005E9-0v
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 18:52:39 +0000
Received: from mail-wr1-x42f.google.com (unknown [2a00:1450:4864:20::42f])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id e55e4df1-9f39-49bb-841c-b609eef813a7;
 Thu, 19 Aug 2021 18:52:38 +0000 (UTC)
Received: by mail-wr1-x42f.google.com with SMTP id q10so10556196wro.2
 for <xen-devel@lists.xenproject.org>; Thu, 19 Aug 2021 11:52:38 -0700 (PDT)
Received: from ?IPv6:2a00:23c5:5785:9a01:ad9a:ab78:5748:a7ec?
 ([2a00:23c5:5785:9a01:ad9a:ab78:5748:a7ec])
 by smtp.gmail.com with ESMTPSA id p12sm2869167wmq.44.2021.08.19.11.52.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 19 Aug 2021 11:52: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: e55e4df1-9f39-49bb-841c-b609eef813a7
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:reply-to:subject:to:cc:references:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=Lr+dEammPH1071muYMd9h71zEsYB8zMaCj5NdNt/Jgw=;
        b=FyqecJOV3o6BdAand/SLWNYs5XpzXkTRl9/tvkhVAEjic+iGuHL7YO22NiQvhaGUqt
         Cz4ZchkPo+9roWMQZFAnTZwgNpmj8nxc3jSMOgmV03xodPqGGHrHjB8smO7uIJxAqn3I
         EL7Tj48b6KsIJr/ip9cMTB6aqJSaU3QMEVKid1WMNHSHNUq82OIWNi49Zx7fnpFdcfzF
         7kTVOpEMOvi3QkYi+4Lfxhnnqt8BApWlu2j0U2j0hQKOpYtgyRDlWmI4ss2VDbhtsBSS
         lQTswtvRKk1eKHSsbJ/mYCV6fW15dvmkbeT4Pf8j1s65SnLlm1SKeeFyKydeI/Ahy9qb
         niow==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:reply-to:subject:to:cc:references
         :message-id:date:user-agent:mime-version:in-reply-to
         :content-language:content-transfer-encoding;
        bh=Lr+dEammPH1071muYMd9h71zEsYB8zMaCj5NdNt/Jgw=;
        b=UT5iaH7QfbpG81gk601jtMN4x6IKeeUQ/BgO3Da6IC/VkXLII8O8lR55IL8VCe6Pr5
         L7gI1POA6IjtfG/LDI+1Ie2YxqNVIxdO3rOZX5AerFkdzXlypPXWkbCEGoHbq/EkeDmr
         m59azPWHluZL9sNlFoM5p0HuN+DobbmI7q4Q/KVoIoRVN4chPbe4hFG8PxjjZQycTeQQ
         oqgbbas9j89ShZalLjXnPLQULplXftrccAYRYotyTnwv8FK/xvZjiLSj6JueiKi4HyNm
         uDv4KKZdkzjMBRWiWF99rastAxMhU6ni5RMjYF5SuLzzz7MZalGXorrmj976L7/bNyvk
         STZg==
X-Gm-Message-State: AOAM532xJNQQNndVfe2P5ozAYt6u7D3csfjqJzhpIEl2CJoRNtMFNqLE
	R36QS4tUVIytSk2AH2rJrdc=
X-Google-Smtp-Source: ABdhPJx9Ifm0dAnUIJhmMCRE2KiBpcN4zDlVBpjmoq4aoYQyHYUkBgoa/gEU08AL2mjEU0R4gQnmcw==
X-Received: by 2002:adf:e107:: with SMTP id t7mr5550712wrz.165.1629399157501;
        Thu, 19 Aug 2021 11:52:37 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Reply-To: paul@xen.org
Subject: Re: [PATCH] VT-d: fix caching mode IOTLB flushing
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Kevin Tian <kevin.tian@intel.com>
References: <8b873e30-c1d1-3174-9e67-506887deedcc@suse.com>
Message-ID: <e4ff3535-e96e-0e65-1cc8-60cc75402186@xen.org>
Date: Thu, 19 Aug 2021 19:52:36 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <8b873e30-c1d1-3174-9e67-506887deedcc@suse.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit

On 19/08/2021 09:05, Jan Beulich wrote:
> While for context cache entry flushing use of did 0 is indeed correct
> (after all upon reading the context entry the IOMMU wouldn't know any
> domain ID if the entry is not present, and hence a surrogate one needs
> to be used), for IOTLB entries the normal domain ID (from the [present]
> context entry) gets used. See sub-section "IOTLB" of section "Address
> Translation Caches" in the VT-d spec.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Paul Durrant <paul@xen.org>


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 18:54:52 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 18:54:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169103.308895 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGnBg-0005r9-O6; Thu, 19 Aug 2021 18:54:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169103.308895; Thu, 19 Aug 2021 18:54: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 1mGnBg-0005r2-L4; Thu, 19 Aug 2021 18:54:48 +0000
Received: by outflank-mailman (input) for mailman id 169103;
 Thu, 19 Aug 2021 18:54:48 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hQ7n=NK=gmail.com=xadimgnik@srs-us1.protection.inumbo.net>)
 id 1mGnBf-0005qg-Va
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 18:54:48 +0000
Received: from mail-wr1-x434.google.com (unknown [2a00:1450:4864:20::434])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 8102c11f-a44c-4f35-8c6a-6bed057912ee;
 Thu, 19 Aug 2021 18:54:47 +0000 (UTC)
Received: by mail-wr1-x434.google.com with SMTP id k29so10530626wrd.7
 for <xen-devel@lists.xenproject.org>; Thu, 19 Aug 2021 11:54:47 -0700 (PDT)
Received: from ?IPv6:2a00:23c5:5785:9a01:ad9a:ab78:5748:a7ec?
 ([2a00:23c5:5785:9a01:ad9a:ab78:5748:a7ec])
 by smtp.gmail.com with ESMTPSA id z6sm3266243wmp.1.2021.08.19.11.54.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 19 Aug 2021 11:54: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: 8102c11f-a44c-4f35-8c6a-6bed057912ee
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:reply-to:subject:to:cc:references:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=mvULkYvqm6BI1lVy/Zt820NeNShyQCV7ZeA2HFgF+3o=;
        b=S/6Appc5aEvoL/jAol38cWxwuTVzV429CnIgyqoEWZsR2bCU0+AkCblgXcM9d9al8R
         mAeYxy2O3GhEImb60TVurBA8iidf8ldl8i8nVCQiNBGYfbeFEyjEaoiLTlO2IPcudc3x
         AGYmKLVG+ytm1ZEUrFJDMhMM0OtdmeJfDjr5re66VwY36Umbh5BDtqwoDRgDhr+wwKN7
         kkrT7aAiUfYd+sSu6q2ii8NqbtRokQM02tzTdScIyt5HhR61NIhbti919qhSw6osU9sy
         U8fE+v4TkgwpbqJwglGqap5LsdvlmofKF+O10/DSYtywoF0c/FrLi01QFHnoelsURC4q
         aPkw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:reply-to:subject:to:cc:references
         :message-id:date:user-agent:mime-version:in-reply-to
         :content-language:content-transfer-encoding;
        bh=mvULkYvqm6BI1lVy/Zt820NeNShyQCV7ZeA2HFgF+3o=;
        b=XXafi/234LZgzre9fjlVAjBHQaFGre5QcxK3bDZuSAjRM5BxxFb5bCKBb52cXTxlZR
         WG6i6dlhCwJHjKLpsLabTCBahyGFt6rVKLvVR7phmCbX3GuNKDooQwA8rEOzz/fO9yq7
         TpccWqbhISZiNo6CPnsj2EVW3+OgRLjQWbmiTQ8yKwE885zZt0Z4RIQXglVsxbXAt5Gc
         jdU0bsKvEyja5sMw8NU5ELvo0RaIDIH2B8A5/BmT7D87gX0ZpfD99c2kgz6JMdJ6D1OS
         /0TqUcOJAwa7rTiCR0plngD5uNWruSjaNXgRG4WTqHfvINXZJQKGrfnxrl+FRfHt4JzP
         2hHg==
X-Gm-Message-State: AOAM531wQA2GDIUQThxdSyn0RKCuOi13b3NrBI/Ig1ne2r/nChy7YPzL
	OlAhssOdBYzoY0fmt24Hcuo=
X-Google-Smtp-Source: ABdhPJzaMkSORURVkePNNVbW1LdvqyixfqoaTu8x8cE75xIPJjkeagpFg9ycDcs25fLnu3mcnnjYtw==
X-Received: by 2002:adf:df0c:: with SMTP id y12mr5531533wrl.155.1629399286429;
        Thu, 19 Aug 2021 11:54:46 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Reply-To: paul@xen.org
Subject: Re: [PATCH] AMD/IOMMU: don't increase perms when splitting superpage
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>
References: <f642d06e-77cc-7c45-0e1e-9cf694712d42@suse.com>
Message-ID: <b7b75bdb-981f-cf15-8593-3ff417ca7b7b@xen.org>
Date: Thu, 19 Aug 2021 19:54:45 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <f642d06e-77cc-7c45-0e1e-9cf694712d42@suse.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit

On 19/08/2021 09:04, Jan Beulich wrote:
> The old (super)page's permissions ought to be propagated, rather than
> blindly allowing both reads and writes.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Paul Durrant <paul@xen.org>


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 18:55:52 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 18:55:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169107.308906 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGnCi-0006RE-2Y; Thu, 19 Aug 2021 18:55:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169107.308906; Thu, 19 Aug 2021 18: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 1mGnCh-0006R7-VP; Thu, 19 Aug 2021 18:55:51 +0000
Received: by outflank-mailman (input) for mailman id 169107;
 Thu, 19 Aug 2021 18:55:51 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hQ7n=NK=gmail.com=xadimgnik@srs-us1.protection.inumbo.net>)
 id 1mGnCh-0006Qx-44
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 18:55:51 +0000
Received: from mail-wr1-x434.google.com (unknown [2a00:1450:4864:20::434])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 2f3ccfc8-3ba9-4f71-b888-27b8c6368d79;
 Thu, 19 Aug 2021 18:55:50 +0000 (UTC)
Received: by mail-wr1-x434.google.com with SMTP id k8so10556980wrn.3
 for <xen-devel@lists.xenproject.org>; Thu, 19 Aug 2021 11:55:50 -0700 (PDT)
Received: from ?IPv6:2a00:23c5:5785:9a01:ad9a:ab78:5748:a7ec?
 ([2a00:23c5:5785:9a01:ad9a:ab78:5748:a7ec])
 by smtp.gmail.com with ESMTPSA id f17sm3090812wmq.17.2021.08.19.11.55.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 19 Aug 2021 11:55:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2f3ccfc8-3ba9-4f71-b888-27b8c6368d79
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:reply-to:subject:to:cc:references:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=beKr+18OVxhdpZsKonr41wMvnFcE0jP4JQYsuR2VgVM=;
        b=VE7vAMAcKNDdrlVka/CeMl3qBXfWD+oQcQ4o23QkI9tcNuSBHR9zdZOeAO0njsO8cM
         SqyMxoVLZ+eo8Nbg+9+eTZF/qkYwts+ZNtI7OkUCrONlHjk5XOglWCYwMr//0djUAiWm
         kxrv7CQO4/AFpE/nwrWCpsb5HBU376sagSxeCBxPoxa0+PvtEcQ/78XcW3zENBzU1aYI
         fOcTnxvuWgdyNYLNG2vk2r6NOwW/CU3dcdnVY0BTUd9EgXIl1jXnMAA7lJDUz7Rqp5Qm
         439nN5C2k2ZsoziD99iz8cVLOht222+6wHJPGOjW+Kk4OVxZtm0I+gUBpKCc6wE9PQ7H
         iuvQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:reply-to:subject:to:cc:references
         :message-id:date:user-agent:mime-version:in-reply-to
         :content-language:content-transfer-encoding;
        bh=beKr+18OVxhdpZsKonr41wMvnFcE0jP4JQYsuR2VgVM=;
        b=lWfCLTbDMjTMRfuFrILUtFyBzStHzOK+uUbLBk0Y7Kz2b0COWhsChtBHsPnPusjvr8
         RmAzX1+4TCJC2s+0VY00LHdrQty9W9uIDSzuAkJ/4FaifpG/AuNozDLRx/4CFL7KMMxw
         FdQTxo/iJMRf9D7Cy7BQ2BC73ZI/PK2k93JvP3DCUK5umwUwy+nFPKDYfosgahTnxkPL
         HeTwYi2qnkIkYoYnki/tDhDtZM6/TXAcJ2qY1NppaViG7PhIlVfxKQ5ETtr1qmo5Kmjv
         DQbSbGGpCdrENcMYqWfOP6Odjg0jWDwiSYYBPNYOF0qcDn9mWchaOJjBka0TrjoeSOT0
         7jyw==
X-Gm-Message-State: AOAM533tSvVlJeMgAZGRHC3OWim35UhK1nAe3MHECBxExpZgjLyyVWhK
	dC0aGEJ2qFSqIindG8xme+A=
X-Google-Smtp-Source: ABdhPJy1824HRqYGlTjrIIe7nHo674eESKBo/yy1LwOHSy5Zu5JhUIdCnGIaX66c9Dcp5Ao0MKtT6A==
X-Received: by 2002:a5d:6352:: with SMTP id b18mr5506947wrw.116.1629399349665;
        Thu, 19 Aug 2021 11:55:49 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Reply-To: paul@xen.org
Subject: Re: [PATCH] AMD/IOMMU: don't leave page table mapped when unmapping
 ...
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>
References: <dfc83bb9-66f4-e8da-20c6-e4730e0fecde@suse.com>
Message-ID: <b3ede533-cb06-7ddd-80cb-e98fc28d8cf6@xen.org>
Date: Thu, 19 Aug 2021 19:55:48 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <dfc83bb9-66f4-e8da-20c6-e4730e0fecde@suse.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit

On 19/08/2021 09:03, Jan Beulich wrote:
> ... an already not mapped page. With all other exit paths doing the
> unmap, I have no idea how I managed to miss that aspect at the time.
> 
> Fixes: ad591454f069 ("AMD/IOMMU: don't needlessly trigger errors/crashes when unmapping a page")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 

Reviewed-by: Paul Durrant <paul@xen.org>


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 19:06:44 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 19:06:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169114.308928 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGnNB-0008Ln-AM; Thu, 19 Aug 2021 19:06:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169114.308928; Thu, 19 Aug 2021 19:06:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGnNB-0008Le-6t; Thu, 19 Aug 2021 19:06:41 +0000
Received: by outflank-mailman (input) for mailman id 169114;
 Thu, 19 Aug 2021 19:06:39 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=s4yt=NK=invisiblethingslab.com=marmarek@srs-us1.protection.inumbo.net>)
 id 1mGnN9-0008Dw-Pq
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 19:06:39 +0000
Received: from wout2-smtp.messagingengine.com (unknown [64.147.123.25])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 3152679c-4063-4bba-a285-de6273cb9d11;
 Thu, 19 Aug 2021 19:06:38 +0000 (UTC)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id 0D4D43200980;
 Thu, 19 Aug 2021 15:06:36 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute6.internal (MEProxy); Thu, 19 Aug 2021 15:06:37 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 19 Aug 2021 15:06: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: 3152679c-4063-4bba-a285-de6273cb9d11
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-transfer-encoding:content-type
	:date:from:in-reply-to:message-id:mime-version:references
	:subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm3; bh=llIunglqLdGPA+WyvDWpyBlljJRyGN7mUOneRQzXw
	Io=; b=KbVVKZlvIBkQ1qUdeRdJRalGwDzBDqPgMEfpPahtFW0wjBOqDniBnx0EH
	NvoCMEjbYqQmJW1IIto8GD4cXxOY9eWW5fefwFK1w+PTEjaNl3IxIcNHEzD2sKmq
	eF+zxSfttkr9mXnHhtmTwqWLpy0lQJqoUmaecvmO9suSInqrBp9Ar2f9qHPbz1AC
	hNuzwk8iYXRG0Cd1rCwxn8BS7bqWyV7scIoqk8q5GjXJC4m62fRi/2PoLwjJUsdh
	fbOnUqusoTcZdkVGJo6OguoUfVoeV4x8Jpi5q4tWKXyzUU+z7v78FR8gxJl3Mh5U
	OeEpqr8GK71WyQJ/CydezPtvKZ/JA==
X-ME-Sender: <xms:vKseYa1W_KR2zHKAsFZPKAIzj2SUi2XpBAYBCe-UH4Y-pvZblKztBA>
    <xme:vKseYdFxwioHaUFfSarutd6Q-D1bt0QnJdupoO3BkBtIW95eTYZnBdFJBdgs35EWv
    cq3Hl-9wSB36g>
X-ME-Received: <xmr:vKseYS6UGAmSt-SAroYiSEaVyDFhBjKQgnJrxKSrAN90p8PoU1H3e0h_APw4QDdxu0RidToD9Q4EyN3UGFFdQnVT5PAgyYvIvIEIHjy7KtpeGK98dQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrleejgddufeduucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvufffkffojghfgggtohfgsehtkeertdertdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeel
    keeujefhfeeiveektedvueelgeekhfdvhefftdfgteeufeegheetudetheffhfenucffoh
    hmrghinhepmhgrgihlihhnvggrrhdrtghomhenucevlhhushhtvghrufhiiigvpedtnecu
    rfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhesihhnvhhishhisghlvghthh
    hinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:vKseYb3X47djwFRxPGTDhXqHtpu2khw3yWSozNB3AJLfVhwL_sD9Mg>
    <xmx:vKseYdFtVgRGkiFlRcIsepRedqDaHCz50gCEMJZRuHAn7aR6-zNe5w>
    <xmx:vKseYU8kCXs583jJnKCNah9qvn3WUwMHqk7fC0q8qL2z8d4CZGen1Q>
    <xmx:vKseYS7BkK4fSkOwmx8tFAdynLTJkaiHcs5IAo6OZtpKKORJC1FJBQ>
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>,
	Ian Jackson <iwj@xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v3 2/2] ns16550: add Exar PCIe UART cards support
Date: Thu, 19 Aug 2021 21:06:25 +0200
Message-Id: <20210819190625.476165-2-marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20210819190625.476165-1-marmarek@invisiblethingslab.com>
References: <20210819190625.476165-1-marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Organization: Invisible Things Lab
Content-Transfer-Encoding: 8bit

Besides standard UART setup, this device needs enabling
(vendor-specific) "Enhanced Control Bits" - otherwise disabling hardware
control flow (MCR[2]) is ignored. Add appropriate quirk to the
ns16550_setup_preirq(), similar to the handle_dw_usr_busy_quirk(). The
new function act on Exar 2-, 4-, and 8- port cards only. I have tested
the functionality on 2-port card but based on the Linux driver, the same
applies to other models too.

Additionally, Exar card supports fractional divisor (DLD[3:0] register,
at 0x02). This part is not supported here yet, and seems to not
be required for working 115200bps at the very least.

The specification for the 2-port card is available at:
https://www.maxlinear.com/product/interface/uarts/pcie-uarts/xr17v352

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
Changes in v2:
 - use read-modify-write for enabling ECB
 - handle also 4- and 8-ports cards (but not everything from Exar)
 - formatting fixes
Changes in v3:
 - guard the quirk based on a PCI device ID only (via checking
   uart->param)
 - use const param
 - code style fixes

I've opted to move the #ifdef into ns16550_setup_preirq() itself and
move the whole enable_exar_enhanced_bits() into appropriate #ifdef too
(need to move it anyway, to use uart_param). But if you prefer the older
structure (#ifdef inside ns16550_setup_preirq()), I can do that too.
---
 xen/drivers/char/ns16550.c  | 83 ++++++++++++++++++++++++++++++++++++-
 xen/include/xen/8250-uart.h |  5 +++
 xen/include/xen/pci_ids.h   |  2 +
 3 files changed, 88 insertions(+), 2 deletions(-)

diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index 20da8fd3b421..b777c8711ee0 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -88,6 +88,9 @@ struct ns16550_config {
         param_pericom_2port,
         param_pericom_4port,
         param_pericom_8port,
+        param_exar_xr17v352,
+        param_exar_xr17v354,
+        param_exar_xr17v358,
     } param;
 };
 
@@ -104,6 +107,8 @@ struct ns16550_config_param {
     unsigned int uart_offset;
     unsigned int first_offset;
 };
+
+static void enable_exar_enhanced_bits(const struct ns16550 *uart);
 #endif
 
 static void ns16550_delayed_resume(void *data);
@@ -303,6 +308,11 @@ static void ns16550_setup_preirq(struct ns16550 *uart)
     /* Handle the DesignWare 8250 'busy-detect' quirk. */
     handle_dw_usr_busy_quirk(uart);
 
+#ifdef CONFIG_HAS_PCI
+    /* Enable Exar "Enhanced function bits" */
+    enable_exar_enhanced_bits(uart);
+#endif
+
     /* Line control and baud-rate generator. */
     ns_write_reg(uart, UART_LCR, lcr | UART_LCR_DLAB);
     if ( uart->baud != BAUD_AUTO )
@@ -781,7 +791,37 @@ static const struct ns16550_config_param __initconst uart_param[] = {
         .lsr_mask = UART_LSR_THRE,
         .bar0 = 1,
         .max_ports = 8,
-    }
+    },
+    [param_exar_xr17v352] = {
+        .base_baud = 7812500,
+        .uart_offset = 0x400,
+        .reg_width = 1,
+        .fifo_size = 256,
+        .lsr_mask = UART_LSR_THRE,
+        .bar0 = 1,
+        .mmio = 1,
+        .max_ports = 2,
+    },
+    [param_exar_xr17v354] = {
+        .base_baud = 7812500,
+        .uart_offset = 0x400,
+        .reg_width = 1,
+        .fifo_size = 256,
+        .lsr_mask = UART_LSR_THRE,
+        .bar0 = 1,
+        .mmio = 1,
+        .max_ports = 4,
+    },
+    [param_exar_xr17v358] = {
+        .base_baud = 7812500,
+        .uart_offset = 0x400,
+        .reg_width = 1,
+        .fifo_size = 256,
+        .lsr_mask = UART_LSR_THRE,
+        .bar0 = 1,
+        .mmio = 1,
+        .max_ports = 8,
+    },
 };
 
 static const struct ns16550_config __initconst uart_config[] =
@@ -1007,7 +1047,25 @@ static const struct ns16550_config __initconst uart_config[] =
         .vendor_id = PCI_VENDOR_ID_PERICOM,
         .dev_id = 0x7958,
         .param = param_pericom_8port
-    }
+    },
+    /* Exar Corp. XR17V352 Dual PCIe UART */
+    {
+        .vendor_id = PCI_VENDOR_ID_EXAR,
+        .dev_id = 0x0352,
+        .param = param_exar_xr17v352
+    },
+    /* Exar Corp. XR17V354 Quad PCIe UART */
+    {
+        .vendor_id = PCI_VENDOR_ID_EXAR,
+        .dev_id = 0x0354,
+        .param = param_exar_xr17v354
+    },
+    /* Exar Corp. XR17V358 Octal PCIe UART */
+    {
+        .vendor_id = PCI_VENDOR_ID_EXAR,
+        .dev_id = 0x0358,
+        .param = param_exar_xr17v358
+    },
 };
 
 static int __init
@@ -1177,6 +1235,27 @@ pci_uart_config(struct ns16550 *uart, bool_t skip_amt, unsigned int idx)
     return 0;
 }
 
+static void enable_exar_enhanced_bits(const struct ns16550 *uart)
+{
+    uint8_t efr;
+
+    switch ( uart->param - uart_param )
+    {
+    case param_exar_xr17v352:
+    case param_exar_xr17v354:
+    case param_exar_xr17v358:
+        /*
+         * Exar XR17V35x cards ignore setting MCR[2] (hardware flow control)
+         * unless "Enhanced control bits" is enabled.
+         * The below checks for a 2, 4 or 8 port UART, following Linux driver.
+         */
+        efr = ns_read_reg(uart, UART_XR_EFR);
+        efr |= UART_EFR_ECB;
+        ns_write_reg(uart, UART_XR_EFR, efr);
+        break;
+    }
+}
+
 #endif /* CONFIG_HAS_PCI */
 
 /*
diff --git a/xen/include/xen/8250-uart.h b/xen/include/xen/8250-uart.h
index 5c3bac33221e..74e9d552a718 100644
--- a/xen/include/xen/8250-uart.h
+++ b/xen/include/xen/8250-uart.h
@@ -35,6 +35,8 @@
 #define UART_USR          0x1f    /* Status register (DW) */
 #define UART_DLL          0x00    /* divisor latch (ls) (DLAB=1) */
 #define UART_DLM          0x01    /* divisor latch (ms) (DLAB=1) */
+#define UART_XR_EFR       0x09    /* Enhanced function register (Exar) */
+#define UART_XR_DVID      0x8d    /* Device identification */
 
 /* Interrupt Enable Register */
 #define UART_IER_ERDAI    0x01    /* rx data recv'd       */
@@ -121,6 +123,9 @@
 /* Frequency of external clock source. This definition assumes PC platform. */
 #define UART_CLOCK_HZ     1843200
 
+/* Bits in Exar specific UART_XR_EFR register */
+#define UART_EFR_ECB      0x10
+
 /* Resume retry settings */
 #define RESUME_DELAY      MILLISECS(10)
 #define RESUME_RETRIES    100
diff --git a/xen/include/xen/pci_ids.h b/xen/include/xen/pci_ids.h
index 7788ba9d2f34..e798477a7e23 100644
--- a/xen/include/xen/pci_ids.h
+++ b/xen/include/xen/pci_ids.h
@@ -4,6 +4,8 @@
 
 #define PCI_VENDOR_ID_PERICOM            0x12d8
 
+#define PCI_VENDOR_ID_EXAR               0x13a8
+
 #define PCI_VENDOR_ID_OXSEMI             0x1415
 
 #define PCI_VENDOR_ID_BROADCOM           0x14e4
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 19:06:44 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 19:06:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169113.308917 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGnN9-00085Y-3v; Thu, 19 Aug 2021 19:06:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169113.308917; Thu, 19 Aug 2021 19:06: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 1mGnN8-00085R-Vg; Thu, 19 Aug 2021 19:06:38 +0000
Received: by outflank-mailman (input) for mailman id 169113;
 Thu, 19 Aug 2021 19:06:37 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=s4yt=NK=invisiblethingslab.com=marmarek@srs-us1.protection.inumbo.net>)
 id 1mGnN6-00085L-W1
 for xen-devel@lists.xenproject.org; Thu, 19 Aug 2021 19:06:37 +0000
Received: from wout2-smtp.messagingengine.com (unknown [64.147.123.25])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 924647a9-0120-11ec-a656-12813bfff9fa;
 Thu, 19 Aug 2021 19:06:36 +0000 (UTC)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id 653DB3200949;
 Thu, 19 Aug 2021 15:06:34 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute6.internal (MEProxy); Thu, 19 Aug 2021 15:06:35 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 19 Aug 2021 15:06: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: 924647a9-0120-11ec-a656-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-transfer-encoding:content-type
	:date:from:message-id:mime-version:subject:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=xhalzY
	k1hBhXm3piIxglJetr7aSFUgItjh7mKHD7vHs=; b=gpMLlwNpVGarWPTgBXEfI6
	FFSZHm+h0dQJ7IoOU3J54xvMUE8p/Bw3YqLf68scdBU+xEeEQzQJOOkDtPDHMskr
	+78jgG0shKfuf5fL/dcoOc42W/hR/k7IY4K90tGxITJqVQ+Do3QPqkjVyFJ3fX33
	gN2rHjn81uIHwDefpHjwTVFOSo0+FQS6lAjiwwhUCXzHmVGd/RPGUi5pwEnfvq1E
	8p5GCTgQpBG74gPzEqheO5iQcLFwrKk0XRf48IfUtMb7Ggy2SC58cF/GnrdQ0Ner
	hQLSMUQDXtdkp7vUuDWfljiJwCpYrfk/8Ca86Beb/ljFdxB+Ep1ZBDmjlW6jMYHg
	==
X-ME-Sender: <xms:uaseYXv8qrnS3FgOuNm4K44QRSZzdQkv9cnXc3VtccMUbwgpmPIHwA>
    <xme:uaseYYce_l_lea7S14lbkRG0eJwM3yu1UW09waE7VmB1nmYAfGRjpmVg_BLTYsm_h
    _EVhF2Dgj2YfA>
X-ME-Received: <xmr:uaseYayhdFwpq6UlHIRiDCyNiX6vH4fayN6hsHhf-5FbwEt1v0Xtl_hMt1XBrxT4lv7dF-8tUQ22yaSo9Q3Q1-p43RyJFp9ehwIGLyHzS-ooOKC88w>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrleejgddufeduucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvufffkffogggtohfgsehtkeertdertdejnecuhfhrohhmpeforghrvghk
    ucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesihhnvh
    hishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeetgeet
    keeukeffhfejueeludehtedtkeeuiedtgffgtdfhveefueeiiefhudehgeenucevlhhush
    htvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhes
    ihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:uaseYWPKXJ7fO5-ubyTCFXs9PyYZCDJS4pLOSv4wnXdKJEWrZYePPw>
    <xmx:uaseYX_i3nRhLbFWuRWQvQ4mU_SIktlrDX0IMcBHdop6GsCWsruPWg>
    <xmx:uaseYWUmX3IF6HGu3q2iyZedHK5BOMRaOXGFL9nZX4pYpJrYh-6w7A>
    <xmx:uqseYXx2jK3D_krmG886FbzWqzS1Elb6IqXXstdP2xdSQ09mnSZVJA>
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>,
	Ian Jackson <iwj@xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v3 1/2] ns16550: specify uart param for ns_{read,write}_reg as const
Date: Thu, 19 Aug 2021 21:06:24 +0200
Message-Id: <20210819190625.476165-1-marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.31.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Organization: Invisible Things Lab
Content-Transfer-Encoding: 8bit

They don't modify it, after all.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
New in v3. There was "ns16550: do not override fifo size if explicitly
set" here before, but it's already committed.
---
 xen/drivers/char/ns16550.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index 97b85b0225cc..20da8fd3b421 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -108,7 +108,7 @@ struct ns16550_config_param {
 
 static void ns16550_delayed_resume(void *data);
 
-static u8 ns_read_reg(struct ns16550 *uart, unsigned int reg)
+static u8 ns_read_reg(const struct ns16550 *uart, unsigned int reg)
 {
     void __iomem *addr = uart->remapped_io_base + (reg << uart->reg_shift);
 #ifdef CONFIG_HAS_IOPORTS
@@ -126,7 +126,7 @@ static u8 ns_read_reg(struct ns16550 *uart, unsigned int reg)
     }
 }
 
-static void ns_write_reg(struct ns16550 *uart, unsigned int reg, u8 c)
+static void ns_write_reg(const struct ns16550 *uart, unsigned int reg, u8 c)
 {
     void __iomem *addr = uart->remapped_io_base + (reg << uart->reg_shift);
 #ifdef CONFIG_HAS_IOPORTS
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 19 21:47:31 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 21:47:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169124.308939 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGpsb-0008Pl-3g; Thu, 19 Aug 2021 21:47:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169124.308939; Thu, 19 Aug 2021 21: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 1mGpsa-0008Pe-VK; Thu, 19 Aug 2021 21:47:16 +0000
Received: by outflank-mailman (input) for mailman id 169124;
 Thu, 19 Aug 2021 21:47: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 1mGpsZ-0008PS-EV; Thu, 19 Aug 2021 21:47: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 1mGpsZ-0001y2-8H; Thu, 19 Aug 2021 21:47: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 1mGpsZ-0007tZ-0J; Thu, 19 Aug 2021 21:47:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mGpsY-0004gc-Vs; Thu, 19 Aug 2021 21: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=4sHs6bobP4/uMjshXsbKD64/cS05WcTAZc1jlzWfmV8=; b=IpGVlwZJgjUDBlFMOLJPxtFegE
	+SX2MGfvqeKrfMsKCGa1wxulgcuODdyvC0Ssbh0Q+kmAZlUP7FMLP+3TwqgxRPlpU6si7kWy5wQu/
	Y2ivMTkJou4I9SIyOFog4yPFmqLdt3L6lOVZNQSwLWTuPywZtFWtOR3MqS8xaUrscYZE=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164263-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 164263: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=1787cc167906f3fef547affb443a64762392c464
X-Osstest-Versions-That:
    xen=5293470a77ad980dce2af9b7e6c3f11eeebf1b64
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 19 Aug 2021 21:47:14 +0000

flight 164263 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164263/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  1787cc167906f3fef547affb443a64762392c464
baseline version:
 xen                  5293470a77ad980dce2af9b7e6c3f11eeebf1b64

Last test of basis   164254  2021-08-19 12:00:27 Z    0 days
Testing same since   164263  2021-08-19 18:01:39 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ian Jackson <iwj@xenproject.org>
  Jane Malalane <jane.malalane@citrix.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   5293470a77..1787cc1679  1787cc167906f3fef547affb443a64762392c464 -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 22:38:29 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 22:38:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169131.308953 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGqg2-0005ZF-MM; Thu, 19 Aug 2021 22:38:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169131.308953; Thu, 19 Aug 2021 22: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 1mGqg2-0005Z8-JB; Thu, 19 Aug 2021 22:38:22 +0000
Received: by outflank-mailman (input) for mailman id 169131;
 Thu, 19 Aug 2021 22:38: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 1mGqg1-0005Yy-Ke; Thu, 19 Aug 2021 22:38: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 1mGqg1-0002ry-EG; Thu, 19 Aug 2021 22:38: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 1mGqg1-0001HH-1s; Thu, 19 Aug 2021 22:38:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mGqg1-0008Qq-1L; Thu, 19 Aug 2021 22:38:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=7f0UrFZ47u1yJ8IpLFKUEYgTYGKoTEfq5N/NIq5v0cg=; b=BYHz2c3qBVU/I3cj5Ozm5bMojh
	m9LoZfy5l5Bm7pWHsUP0vlzPW+11ydHXrhSd/y6NCPb0DVAnxKS0TF9EK381ieTZCmdsJlI5ePse4
	BmHgBVv72mtwt3rUGGVwHKa0My8lajf0MgoJbNKLkbzHnnJpZOcxMKV4wlZN8RGOJ6DI=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164251-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 164251: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:regression
    linux-5.4:test-amd64-amd64-amd64-pvgrub:debian-di-install:fail:regression
    linux-5.4:test-amd64-amd64-examine:memdisk-try-append:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start:fail:heisenbug
    linux-5.4:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:allowable
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:allowable
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check: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-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl: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: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-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-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-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=c15b830f7c1cafd34035a46485716933f66ab753
X-Osstest-Versions-That:
    linux=e350cd02e293be9a6b93398b2d3ff1edf7695ab2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 19 Aug 2021 22:38:21 +0000

flight 164251 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164251/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-i386-pvgrub 12 debian-di-install        fail REGR. vs. 164131
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install       fail REGR. vs. 164131

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-examine    4 memdisk-try-append fail in 164240 pass in 164251
 test-armhf-armhf-xl-rtds     14 guest-start                fail pass in 164240
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat  fail pass in 164240

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     20 guest-localmigrate/x10   fail REGR. vs. 164131
 test-armhf-armhf-xl-rtds 18 guest-start/debian.repeat fail in 164240 REGR. vs. 164131

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-rtds    15 migrate-support-check fail in 164240 never pass
 test-armhf-armhf-xl-rtds 16 saverestore-support-check fail in 164240 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164131
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 164131
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 164131
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164131
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164131
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164131
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 164131
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164131
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 164131
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164131
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164131
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-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-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-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-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                c15b830f7c1cafd34035a46485716933f66ab753
baseline version:
 linux                e350cd02e293be9a6b93398b2d3ff1edf7695ab2

Last test of basis   164131  2021-08-08 07:11:59 Z   11 days
Failing since        164167  2021-08-12 11:47:56 Z    7 days   13 attempts
Testing same since   164240  2021-08-18 14:18:28 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alan Stern <stern@rowland.harvard.edu>
  Alex Xu (Hello71) <alex_y_xu@yahoo.ca>
  Alexander Aring <aahringo@redhat.com>
  Alexander Monakov <amonakov@ispras.ru>
  Alexander Tsoy <alexander@tsoy.me>
  Alexandre Courbot <gnurou@gmail.com>
  Alexei Starovoitov <ast@kernel.org>
  Anand Jain <anand.jain@oracle.com>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Anirudh Rayabharam <mail@anirudhrb.com>
  Antoine Tenart <atenart@kernel.org>
  Arnd Bergmann <arnd@arndb.de>
  Aya Levin <ayal@nvidia.com>
  Babu Moger <Babu.Moger@amd.com>
  Bartosz Golaszewski <bgolaszewski@baylibre.com>
  Ben Dai <ben.dai@unisoc.com>
  Ben Hutchings <ben.hutchings@mind.be>
  Bixuan Cui <cuibixuan@huawei.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Boris Ostrovsky <boris.ostrovsky@oracle.com>
  Borislav Petkov <bp@suse.de>
  Brian Norris <briannorris@chromium.org>
  Camille Lu <camille.lu@hpe.com>
  Catalin Marinas <catalin.marinas@arm.com>
  Chanho Park <chanho61.park@samsung.com>
  chihhao.chen <chihhao.chen@mediatek.com>
  Chris Lesiak <chris.lesiak@licor.com>
  Christian Hewitt <christianshewitt@gmail.com>
  Christoph Hellwig <hch@lst.de>
  Colin Ian King <colin.king@canonical.com>
  Dan Carpenter <dan.carpenter@oracle.com>
  Dan Williams <dan.j.williams@intel.com>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniele Palmas <dnlplm@gmail.com>
  Dario Binacchi <dariobin@libero.it>
  David Bauer <mail@david-bauer.net>
  David Lechner <david@lechnology.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  DENG Qingfang <dqfext@gmail.com>
  Dmitry Osipenko <digetx@gmail.com>
  Dominik Brodowski <linux@dominikbrodowski.net>
  Dongliang Mu <mudongliangabcd@gmail.com>
  Eero Lehtinen <debiangamer2@gmail.com>
  Eric Dumazet <edumazet@google.com>
  Fei Qin <fei.qin@corigine.com>
  Felipe Balbi <balbi@kernel.org>
  Filipe Manana <fdmanana@suse.com>
  Florian Eckert <fe@dev.tdt.de>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Gregory CLEMENT <gregory.clement@bootlin.com>
  Guenter Roeck <linux@roeck-us.net>
  Guido Kiener <guido.kiener@rohde-schwarz.com>
  Guoqing Jiang <jiangguoqing@kylinos.cn>
  H. Nikolaus Schaller <hns@goldelico.com>
  Hangbin Liu <liuhangbin@gmail.com>
  Hans de Goede <hdegoede@redhat.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Hervé Codina <herve.codina@bootlin.com>
  Hui Su <suhui@zeku.com>
  Hulk Robot <hulkrobot@huawei.com>
  Ilya Dryomov <idryomov@gmail.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jan Kara <jack@suse.cz>
  Jarkko Sakkinen <jarkko@kernel.org>
  Jeff Layton <jlayton@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jens Wiklander <jens.wiklander@linaro.org>
  Johan Hovold <johan@kernel.org>
  Johannes Berg <johannes.berg@intel.com>
  Jon Hunter <jonathanh@nvidia.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Juergen Borleis <jbe@pengutronix.de>
  Kees Cook <keescook@chromium.org>
  Kieran Bingham <kieran.bingham@ideasonboard.com>
  Kim Phillips <kim.phillips@amd.com>
  Konrad Jankowski <konrad0.jankowski@intel.com>
  Lai Jiangshan <laijs@linux.alibaba.com>
  Letu Ren <fantasquex@gmail.com>
  Li Manyi <limanyi@uniontech.com>
  Liam Merwick <liam.merwick@oracle.com>
  Like Xu <likexu@tencent.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Longfang Liu <liulongfang@huawei.com>
  Longpeng(Mike) <longpeng2@huawei.com>
  Louis Peens <louis.peens@corigine.com>
  Lu Baolu <baolu.lu@linux.intel.com>
  Luis Chamberlain <mcgrof@kernel.org>
  Luis Henriques <lhenriques@suse.de>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Luke D Jones <luke@ljones.dev>
  Maciej W. Rozycki <macro@orcam.me.uk>
  Marc Zyngier <maz@kernel.org>
  Marco Elver <elver@google.com>
  Marek Szyprowski <m.szyprowski@samsung.com>
  Marek Vasut <marex@denx.de>
  Mario Kleiner <mario.kleiner.de@gmail.com>
  Mark Brown <broonie@kernel.org>
  Mark Rutland <mark.rutland@arm.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Masami Hiramatsu <mhiramat@kernel.org>
  Matt Ranostay <matt.ranostay@konsulko.com>
  Matt Turner <mattst88@gmail.com>
  Matteo Croce <mcroce@microsoft.com>
  Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
  Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Maxim Devaev <mdevaev@gmail.com>
  Maxim Levitsky <mlevitsk@redhat.com>
  Maxime Chevallier <maxime.chevallier@bootlin.com>
  Maximilian Heyne <mheyne@amazon.de>
  Md Fahad Iqbal Polash <md.fahad.iqbal.polash@intel.com>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael Tretter <m.tretter@pengutronix.de>
  Miklos Szeredi <mszeredi@redhat.com>
  Nathan Chancellor <nathan@kernel.org>
  Neal Cardwell <ncardwell@google.com>
  Neil Armstrong <narmstrong@baylibre.com>
  Nikolay Aleksandrov <nikolay@nvidia.com>
  Nikolay Borisov <nborisov@suse.com>
  Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Pali Rohár <pali@kernel.org>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Machek (CIP) <pavel@denx.de>
  Pavel Skripkin <paskripkin@gmail.com>
  Pawel Laszczak <pawell@cadence.com>
  Peter Chen <peter.chen@kernel.org>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Phil Elwell <phil@raspberrypi.com>
  Philip Milev <milev.philip@gmail.com>
  Prarit Bhargava <prarit@redhat.com>
  Pu Lehui <pulehui@huawei.com>
  Qiang.zhang <qiang.zhang@windriver.com>
  Qu Wenruo <wqu@suse.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Randy Dunlap <rdunlap@infradead.org>
  Reinette Chatre <reinette.chatre@intel.com>
  Richard Fitzgerald <rf@opensource.cirrus.com>
  Roi Dayan <roid@nvidia.com>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Saeed Mahameed <saeedm@nvidia.com>
  Saeed Mirzamohammadi <saeed.mirzamohammadi@oracle.com>
  Sasha Levin <sashal@kernel.org>
  Sean Christopherson <seanjc@google.com>
  Sean Young <sean@mess.org>
  Sebastian Andrzej Siewior <bigeasy@linutronix.de>
  Shawn Guo <shawnguo@kernel.org>
  Shreyansh Chouhan <chouhan.shreyansh630@gmail.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Song Liu <song@kernel.org>
  Stas Sergeev <stsp2@yandex.ru>
  Stefan Schmidt <stefan@datenfreihafen.org>
  Stephen Boyd <sboyd@kernel.org>
  Steve Bennett <steveb@workware.net.au>
  Steven Rostedt (VMware) <rostedt@goodmis.org>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Sumit Garg <sumit.garg@linaro.org>
  syzbot+de271708674e2093097b@syzkaller.appspotmail.com
  Takashi Iwai <tiwai@suse.de>
  Takeshi Misawa <jeliantsurux@gmail.com>
  Tejun Heo <tj@kernel.org>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Theodore Ts'o <tytso@mit.edu>
  Thierry Reding <treding@nvidia.com>
  Thomas Gleixner <tglx@linutronix.de>
  Tony Lindgren <tony@atomide.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Tyler Hicks <tyhicks@linux.microsoft.com>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Vinod Koul <vkoul@kernel.org>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Wang Hai <wanghai38@huawei.com>
  Wei Shuyu <wsy@dogben.com>
  Wesley Cheng <wcheng@codeaurora.org>
  Will Deacon <will@kernel.org>
  Willy Tarreau <w@1wt.eu>
  Wolfram Sang <wsa@kernel.org>
  Xiangyang Zhang <xyz.sun.ok@gmail.com>
  Xie Yongji <xieyongji@bytedance.com>
  Xin Long <lucien.xin@gmail.com>
  Yajun Deng <yajun.deng@linux.dev>
  Yang Yingliang <yangyingliang@huawei.com>
  Yu Kuai <yukuai3@huawei.com>
  YueHaibing <yuehaibing@huawei.com>
  Zheyu Ma <zheyuma97@gmail.com>
  Zhiyong Tao <zhiyong.tao@mediatek.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 5646 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 19 23:38:32 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Aug 2021 23:38:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169139.308967 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGrc4-0003g9-I8; Thu, 19 Aug 2021 23:38:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169139.308967; Thu, 19 Aug 2021 23: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 1mGrc4-0003g2-Ej; Thu, 19 Aug 2021 23:38:20 +0000
Received: by outflank-mailman (input) for mailman id 169139;
 Thu, 19 Aug 2021 23:38: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 1mGrc3-0003fs-8X; Thu, 19 Aug 2021 23:38: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 1mGrc2-0003zL-VZ; Thu, 19 Aug 2021 23:38:18 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mGrc2-0003SB-L9; Thu, 19 Aug 2021 23:38:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mGrc2-0006eD-Ke; Thu, 19 Aug 2021 23:38:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=NTNg3vCx9oBXAXksYDmdhewB0MwrDTgHUuUnqGnXj4s=; b=rzfZRdnjfdb75nLQHgh8Orfa/2
	o2/kYLFIxSgEVdcuA0mloQ5qsFKmH3GFbg9jmTkipt4fZmjm1HN0T2tenRBF/PxoLnxuo5R69cz1u
	g8/zbtsUNL3Pr8wT1kbjP5CUJfOD2tlPSaIggVhPo6voAJG61It8SbyLo17t2tlsqcuo=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164255-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xtf test] 164255: all pass - PUSHED
X-Osstest-Versions-This:
    xtf=bc26bc260cbfec1c6de1778ef17cf0faa54c0e03
X-Osstest-Versions-That:
    xtf=fc32c40a97069d4696fb7aa9cb76e3ae09aa18dd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 19 Aug 2021 23:38:18 +0000

flight 164255 xtf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164255/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 xtf                  bc26bc260cbfec1c6de1778ef17cf0faa54c0e03
baseline version:
 xtf                  fc32c40a97069d4696fb7aa9cb76e3ae09aa18dd

Last test of basis   164235  2021-08-18 03:44:23 Z    1 days
Testing same since   164255  2021-08-19 12:11:19 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>

jobs:
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-amd64-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    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xtf.git
   fc32c40..bc26bc2  bc26bc260cbfec1c6de1778ef17cf0faa54c0e03 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 01:14:07 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 01:14:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169145.308981 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGt6W-0004Lc-He; Fri, 20 Aug 2021 01:13:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169145.308981; Fri, 20 Aug 2021 01:13:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGt6W-0004LU-Bq; Fri, 20 Aug 2021 01:13:52 +0000
Received: by outflank-mailman (input) for mailman id 169145;
 Fri, 20 Aug 2021 01:13:51 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=pH7i=NL=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mGt6V-0004LM-FS
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 01:13:51 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com (unknown
 [40.107.21.41]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id dfa9e422-0153-11ec-a675-12813bfff9fa;
 Fri, 20 Aug 2021 01:13:49 +0000 (UTC)
Received: from DB6PR07CA0106.eurprd07.prod.outlook.com (2603:10a6:6:2c::20) by
 VI1PR08MB2991.eurprd08.prod.outlook.com (2603:10a6:803:40::30) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19; Fri, 20 Aug 2021 01:13:47 +0000
Received: from DB5EUR03FT015.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:6:2c:cafe::8b) by DB6PR07CA0106.outlook.office365.com
 (2603:10a6:6:2c::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.9 via Frontend
 Transport; Fri, 20 Aug 2021 01:13:47 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT015.mail.protection.outlook.com (10.152.20.145) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Fri, 20 Aug 2021 01:13:47 +0000
Received: ("Tessian outbound 19a632698c93:v103");
 Fri, 20 Aug 2021 01:13:47 +0000
Received: from 3fb2fce188a9.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 24236D37-A61F-433E-8BA2-368A09BE1FC6.1; 
 Fri, 20 Aug 2021 01:13:41 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 3fb2fce188a9.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 20 Aug 2021 01:13:41 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DBBPR08MB4885.eurprd08.prod.outlook.com (2603:10a6:10:f2::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 20 Aug
 2021 01:13:38 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.019; Fri, 20 Aug 2021
 01:13: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: dfa9e422-0153-11ec-a675-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=I5ea1UXOvj1O6R847UNjM5VFamQbTT0w5FHa5zY6eSk=;
 b=QDODX/MLCFt/6YsVN+H4BkxTIBwzo9IO01XCXNHijGqL0rDoqXgEgt0gGquCTImmgnyC3eW3B5HMtTcb14vJ+aaAkLpWnODySlrkfsq3NAQWnEKSMVabO1zk455A12Z97myyczIOHFxn5OCGkygf1iKIwJGT4xzZw7r2y9CarM8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DJ09OlaCVtz/GW0MGKssDJGtbVOMIkkPlIGNfnm7qDUM3+Nmw06FBGo6Qprr5W87Wd6IDbmAQyodP8ZLiUmbfvJuMEyLrZOi+P5j3Mhg4aItwG/bTWH8Ce9piBgQJQ6+wvLrtM9/6TP6fa0qPRObnM12v98PWPc2HoWEM/tABFOFYBnvHchCw9BGbb90sPA9R+LBkJaJu7f8lou1lTnVITk8sU2IhZUQAE72UT7Fd+R4dRxU3EQLCjZoToY8dyt1ZqQgUlLipAuimCiyAV4A2V2URlPI7qJoSjAVlkjXq3W3j0n3SlHlpOpGNSqGwYmezYDJjoS8Uwwv/2J7CtvLpg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=I5ea1UXOvj1O6R847UNjM5VFamQbTT0w5FHa5zY6eSk=;
 b=dE6UroqhonEkRL7D1EdmyBW5XuQubIAHg9OWNZu6xBF2INGYdZrasqG8h4FPfINfx4YxuHvtbpls8+upd+3tDCvgzOSc3aMxXQfzYKMOjsAmavFzfjIIAmB3RzTomQzRu9zsQA+27aZrkPu3Um1U7cRdZ2srm8TgbYoI0ucq26OsppSVGzNEvcgYKV9KuTmqxpgMS32woQaPKnJqb0BBokHMOWW9Uh8TlkqDmIG9hXF2R+ftcNBRV/r3nHnSlPTsSxzZEVEUObGZLO4X2iWfC+lE94lHQbR/1QOYiP7thYucnmGRaBnyKcehQ4UPUSPK5uHNl4n8qD2R80DlrmpEQQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=I5ea1UXOvj1O6R847UNjM5VFamQbTT0w5FHa5zY6eSk=;
 b=QDODX/MLCFt/6YsVN+H4BkxTIBwzo9IO01XCXNHijGqL0rDoqXgEgt0gGquCTImmgnyC3eW3B5HMtTcb14vJ+aaAkLpWnODySlrkfsq3NAQWnEKSMVabO1zk455A12Z97myyczIOHFxn5OCGkygf1iKIwJGT4xzZw7r2y9CarM8=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>, "jbeulich@suse.com" <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 02/40] xen/arm: Print a 64-bit number in hex from
 early uart
Thread-Topic: [XEN RFC PATCH 02/40] xen/arm: Print a 64-bit number in hex from
 early uart
Thread-Index: AQHXjpsdCvhq9I7jC0CjJYd+3OMFqat62GyAgADLXdA=
Date: Fri, 20 Aug 2021 01:13:37 +0000
Message-ID:
 <DB9PR08MB6857F0336F818182F419A1F09EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-3-wei.chen@arm.com>
 <a795ae7c-d280-6c51-2606-4305463697cd@xen.org>
In-Reply-To: <a795ae7c-d280-6c51-2606-4305463697cd@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: DE16AF143AB7D544A79222A86297C0E8.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 8298993c-763b-4810-2129-08d96377c306
x-ms-traffictypediagnostic: DBBPR08MB4885:|VI1PR08MB2991:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR08MB29918FCAA0F5CAA5AC33EEF69EC19@VI1PR08MB2991.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:7691;OLM:7691;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 k9N44jwcHzF9PnMuFjWug3+4Zcj4sPvjgpLx4WfstehaY2EWiYwlrfuNHnsfE6Ljz6GpW+8EOVIn5iDlDKWOt6MxziWIs7Uyy4fat7DzawBosp8vpv8Ty/7oDXbOdKn/UHk5YVlyE6BL4qagtYR9/nmniAzyUaqXKrEFLgnrMsj+xGuiPAmE9l0MPtp1SQ6RoutBrIg78kHlTmbRPVzWhfK15aM+IG8r4e/3QFwwznUo3CLQjJ5l4wGoDSvLIO7Oqz8ajHYR5QzB7XtmrOtQURs1o2DUYyitysowSjLEtcT2vp4hHGPWXRLigjQNY+N4FU5GIZrJrZWlAr8IfYXKZqwjM4DEppoP6XaL1qS+G7JxjV2WK1ac5T6UizMCVa/Aj4qrdSPtRW3onPd7KTInxMtDwdQvdY4P1uCQCu5XHLkr7MviDWu2THvR+wuA3r4DWtpEg4sX2ddV01bd7R2P3F25KSqcJfjfhr35pC9ggubsgeZCtHu6YLsEvBpNxiujA8x+L87bUCOLz3BsoKT/0dF7Vn3NS6vwVS6g1lB1ZkVD1MBjmCjoqfXHk87cAEKDabwiM/ymv+2vOe+78a3Ss+chTwE6ainqk61SaSzjEa1SviSGhCNPtPv/mQ3RA4OploYE1QNmyaADzltG9KGlcdFTrk0cA74iQuqQYo41F6qHTnT0zJOCO67DbmV8YeXIIYnwOUqoGJYB07c8GMdv/A==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(366004)(376002)(39840400004)(136003)(346002)(4326008)(38070700005)(110136005)(66446008)(52536014)(8936002)(86362001)(8676002)(38100700002)(122000001)(478600001)(66556008)(316002)(5660300002)(7696005)(71200400001)(64756008)(66946007)(53546011)(6506007)(33656002)(83380400001)(55016002)(2906002)(9686003)(26005)(66476007)(76116006)(186003);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?MnNhNWFPRnNjTjNhNDZ1Mkt6cis0bG9BMHJ0T3JxOGxxRzdJZWJrZkdoRmJz?=
 =?utf-8?B?aC9LZjgyUTVHVXE3UFN6T2FZZGxPR0hRblMvc0ZlQThVM3gvTHdUbWFkZ3VL?=
 =?utf-8?B?d1lEdmZwdHc4RHgvZVdaS014ZXAzcWZOR1UwbjNjdG1pd0Z6bVpTbllyS2Ry?=
 =?utf-8?B?SzYxVW5QOXI5VGZiOXNsU1Bjc1ZwQTBONi9zeDdBSExKd3RCSUFLMmpMZnM1?=
 =?utf-8?B?Tjd3TG0vUzE4b3BRVjRiZzA3emNYWVo4aHdkVFQ1bmFycFlvN04yMGpaNnRE?=
 =?utf-8?B?U2dPZVN2OFFwbUNSNndIUnF2OXdYc2RUMThibnpGNS9JOVpMUmVNdnk0WElS?=
 =?utf-8?B?YlZ4RXd0QlFBUWlZRmVvbndFODIzMFNWTXZrSFFrZkdrMTBxUzJ0NjZsVkNV?=
 =?utf-8?B?RG1UeHZrVmxHR3FFRjljT0RRYWxCTTR2NWwxNjBaMHNpU3ZoZmdzRHFsVk1p?=
 =?utf-8?B?d0llNFp6OUVMMEpBd1pRMFViY2EvU0N1Um12aUxNNGdqZW4wR0t0Q2tZSlNo?=
 =?utf-8?B?N29ZN1hEdlExU0RmWWwrbzlEUkt6cHpQUDFQNkdsWGJhZ3EwbmZyTXJCc29z?=
 =?utf-8?B?WmcwL2M5VEVWa2FxNFZUWXovUUMyVEtnUGcxTVhhMEVZdVk0VFBrbHpzZEM0?=
 =?utf-8?B?R0RvWlp5SWR6VDB3bXNRUkI2WG1lUDlFaWJCOW50aDFTWFNEVks5UEtPcXFu?=
 =?utf-8?B?ZWNjdEM4dEMwMCt4V0xxWlRNcVVQRDdtMFAyOCtFdGZXQ0xiSWZsVHB2bzVM?=
 =?utf-8?B?ZjlBcVNGejdDUGI2eng2ajJZR0lwbXo4OURPN3BLRXdNUGh1Tm5WK2lhSFRq?=
 =?utf-8?B?bUREZTNSQ3NlQ2VzTFZobmVweWZXTm4ySkpTcFB5VUp4YStwVkY3bjJUazZ0?=
 =?utf-8?B?T25HOVBYOE82V3FTbXNxV0JMclFsQ2daZk5WYW1NTUhwd2orQjZpR2llb0pJ?=
 =?utf-8?B?a0NvUm0xa2ExTHR1R3d1QXpCM0w0U3dBTmtwVmpFSjdEL0tsbkV3Yy9zTXEy?=
 =?utf-8?B?TVNnUVowK25OdEsyWWpMMlpZR3RCdkdMRjdwQmpaWkxEUG5FWThGRTBtQTNG?=
 =?utf-8?B?OGNIT3loYmZVWmFiVU91ejF6V2FrUVZ4Y25VYk5wYUo0V0RUUFV3UjBoaktL?=
 =?utf-8?B?WWFFREZZY3QzTWJqZWgrTjJ6aExLaVg4NUNkMVlKQzBwT0QyMUx4dWhNRDU1?=
 =?utf-8?B?amJ4YVNaZVpjNG52TDhzYldUOWpySGpJbjc1Qzk2Rm1wc3BTVm1MREVmRXNm?=
 =?utf-8?B?NlFkeTV4aDV3UWFQZE1CV0h0eVlQTHcwZ21ncDVMMHg1NmJBRE5mZ1p6OThX?=
 =?utf-8?B?U3hxMHJ5d1p0UUlkazEzWE4vWDRtV2JCYUdKMVZKOWNwZ1Z5aU4yS1E5Q1RP?=
 =?utf-8?B?UkJJZ25pT282ek5DVjNDUnVyR0RKTkJGbUtCejZqbkgxbmJpdWJaSldnSU9k?=
 =?utf-8?B?Z2Z1L0RBRGhOTVJRVGNsYzNKQlByN0kzc3grUFZCTnRkaFlKVFlFL2lOVkNr?=
 =?utf-8?B?UkZWMXRBeWRKVjhaQXBKQjRpK1gzRlRieHpISFNaVGNMak92KytpaUVmQzk3?=
 =?utf-8?B?ZmZvWXNiRjBCaGhPY1I0TmJzU0JDMFBqellnanFUWFRpZ3lVODY5NEsvWnpJ?=
 =?utf-8?B?c0VxMk0vcHAvMFhZVDRpeWlGckpyOTdxbDZJRFhhRjhYWFNLaTZTYVQ0ZmpT?=
 =?utf-8?B?MnVNbTlJa1hnRmEyZk5pdWdZWThqZDQ0Vk1Ubm9RYW5KV1VRRDlGNm43cE00?=
 =?utf-8?Q?gPsXij3k/Xz6fVE+3p5EZatTpTXbUWF4a05zXXQ?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB4885
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT015.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	08e42a5b-cf96-470a-a991-08d96377bd6f
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5dapcmId+rytEg0FW5zveBncMiVC0ZA7t5Y8PLHzdtZQtjoLl5QLH3bb11QKJCR1Uf5PtG+n3OCsJnrkCt3EDEm757SQ1js0ygvOTNPSdES4Q/PHeAIavxznbzQ3ViJA8xeineiSXOqXbFfdGDxegcrgrCkO33CXxCalelr2xbFwtuZ/vRo/eX+ci1iMwsQVs89ovuS+9BytomUVngU7AQNCPJukjZu54f2D4KPfVcPxegqEmF4w9cBe/fGPUoENImUMpI15AtqS4RJA4zczr4c2+7s+hAPP0B1jsvqsWFyQeCre6SYSB06lK9izsb1pVhl/AcSYqJ7Kcy06E6e8wNQEsecADoolSXMrSapeGkERNeUKB3WX5sJDkUg44RuOqKWYuyopSoWvgYjm6/S0oc6WU6jdXAYIe7aLVFx4GWuhYpXWWox2mOhXC0kqzHBED5925DxvrBQWdSkAV88OIc2IcWdZp1FiWSOinQtDkgFbXJMpISnylUU9pFgUFGkeasm7qAZBS7Mai+3lAifyb3o34I1LD6q2WLx9hBarEh8G5HnoBaVf73nHTSJiGKLJhVp6otwcc5M2bb8SKko62MS2jlVgLtfe3SAWfoPOR8pb7DuQcJiNDOz6laPNNfPYFEvaAnjtLAwSe8zW4NUPOYAQksU7dUnyCd0ty5MwYLYgnVFOdQICLtZ5Y3XC0gc1EZ03nCrOmkNvhzElwpcTUQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(39840400004)(136003)(396003)(376002)(346002)(36840700001)(46966006)(53546011)(55016002)(4326008)(6506007)(52536014)(81166007)(83380400001)(82310400003)(5660300002)(110136005)(70586007)(70206006)(186003)(7696005)(478600001)(26005)(8936002)(336012)(356005)(8676002)(33656002)(9686003)(2906002)(47076005)(86362001)(36860700001)(316002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 01:13:47.3782
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8298993c-763b-4810-2129-08d96377c306
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT015.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB2991

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMTnml6UgMjE6MDUN
Cj4gVG86IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgeGVuLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnOw0KPiBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqYmV1bGljaEBzdXNlLmNvbQ0K
PiBDYzogQmVydHJhbmQgTWFycXVpcyA8QmVydHJhbmQuTWFycXVpc0Bhcm0uY29tPg0KPiBTdWJq
ZWN0OiBSZTogW1hFTiBSRkMgUEFUQ0ggMDIvNDBdIHhlbi9hcm06IFByaW50IGEgNjQtYml0IG51
bWJlciBpbiBoZXgNCj4gZnJvbSBlYXJseSB1YXJ0DQo+IA0KPiBIaSBXZWksDQo+IA0KPiBPbiAx
MS8wOC8yMDIxIDExOjIzLCBXZWkgQ2hlbiB3cm90ZToNCj4gPiBDdXJyZW50IHB1dG4gZnVuY3Rp
b24gdGhhdCBpcyB1c2luZyBmb3IgZWFybHkgcHJpbnQNCj4gPiBvbmx5IGNhbiBwcmludCBsb3cg
MzItYml0IG9mIEFBcmNoNjQgcmVnaXN0ZXIuIFRoaXMNCj4gPiB3aWxsIGxvc2Ugc29tZSBpbXBv
cnRhbnQgbWVzc2FnZXMgd2hpbGUgZGVidWdnaW5nDQo+ID4gd2l0aCBlYXJseSBjb25zb2xlLiBG
b3IgZXhhbXBsZToNCj4gPiAoWEVOKSBCcmluZ2luZyB1cCBDUFU1DQo+ID4gLSBDUFUgMDAwMDAw
MDEwMDAwMDEwMCBib290aW5nIC0NCj4gPiBXaWxsIGJlIHRydW5jYXRlZCB0bw0KPiA+IChYRU4p
IEJyaW5naW5nIHVwIENQVTUNCj4gPiAtIENQVSAwMDAwMDEwMCBib290aW5nIC0NCj4gPg0KPiA+
IEluIHRoaXMgcGF0Y2gsIHdlIGluY3JlYXNlZCB0aGUgcHJpbnQgbG9vcHMgYW5kIHNoaWZ0DQo+
ID4gYml0cyB0byBtYWtlIHB1dG4gcHJpbnQgNjQtYml0IG51bWJlci4NCj4gPg0KPiA+IFNpZ25l
ZC1vZmYtYnk6IFdlaSBDaGVuIDx3ZWkuY2hlbkBhcm0uY29tPg0KPiANCj4gQWNrZWQtYnk6IEp1
bGllbiBHcmFsbCA8amdyYWxsQGFtYXpvbi5jb20+DQo+IA0KPiA+IC0tLQ0KPiA+ICAgeGVuL2Fy
Y2gvYXJtL2FybTY0L2hlYWQuUyB8IDkgKysrKystLS0tDQo+ID4gICAxIGZpbGUgY2hhbmdlZCwg
NSBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL3hl
bi9hcmNoL2FybS9hcm02NC9oZWFkLlMgYi94ZW4vYXJjaC9hcm0vYXJtNjQvaGVhZC5TDQo+ID4g
aW5kZXggYWExZjg4Yzc2NC4uYjMyNjM5ZDdkNiAxMDA2NDQNCj4gPiAtLS0gYS94ZW4vYXJjaC9h
cm0vYXJtNjQvaGVhZC5TDQo+ID4gKysrIGIveGVuL2FyY2gvYXJtL2FybTY0L2hlYWQuUw0KPiA+
IEBAIC04NjIsMTcgKzg2MiwxOCBAQCBwdXRzOg0KPiA+ICAgICAgICAgICByZXQNCj4gPiAgIEVO
RFBST0MocHV0cykNCj4gPg0KPiA+IC0vKiBQcmludCBhIDMyLWJpdCBudW1iZXIgaW4gaGV4LiAg
U3BlY2lmaWMgdG8gdGhlIFBMMDExIFVBUlQuDQo+ID4gKy8qIFByaW50IGEgNjQtYml0IG51bWJl
ciBpbiBoZXguICBTcGVjaWZpYyB0byB0aGUgUEwwMTEgVUFSVC4NCj4gDQo+IEFzIHlvdSBtb2Rp
ZnkgdGhlIGxpbmUsIGNhbiB5b3UgdGFrZSB0aGUgb3Bwb3J0dW5pdHkgdG8gd3JpdGU6DQo+IA0K
PiAvKg0KPiAgICogUHJpbnQgYSA2NC1iaXQuLi4NCj4gDQo+IEFuZCBhbHNvIGRyb3AgdGhlIHNl
Y29uZCBzZW50ZW5jZSBhcyBpdCB0aGUgY29kZSBoYXMgbm90IGJlZW4gUEwwMTENCj4gc3BlY2lm
aWMgZm9yIHF1aXRlIGEgd2hpbGUgbm93Lg0KPiANCg0KT2ssIEkgd2lsbCBkbyBpdCBpbiBuZXh0
IHZlcnNpb24NCg0KPiA+ICAgICogeDA6IE51bWJlciB0byBwcmludC4NCj4gPiAgICAqIHgyMzog
RWFybHkgVUFSVCBiYXNlIGFkZHJlc3MNCj4gPiAgICAqIENsb2JiZXJzIHgwLXgzICovDQo+ID4g
KyNkZWZpbmUgUFJJTlRfTUFTSyAweGYwMDAwMDAwMDAwMDAwMDANCj4gPiAgIHB1dG46DQo+ID4g
ICAgICAgICAgIGFkciAgIHgxLCBoZXgNCj4gPiAtICAgICAgICBtb3YgICB4MywgIzgNCj4gPiAr
ICAgICAgICBtb3YgICB4MywgIzE2DQo+ID4gICAxOg0KPiA+ICAgICAgICAgICBlYXJseV91YXJ0
X3JlYWR5IHgyMywgMg0KPiA+IC0gICAgICAgIGFuZCAgIHgyLCB4MCwgIzB4ZjAwMDAwMDAgICAg
LyogTWFzayBvZmYgdGhlIHRvcCBueWJibGUgKi8NCj4gPiAtICAgICAgICBsc3IgICB4MiwgeDIs
ICMyOA0KPiA+ICsgICAgICAgIGFuZCAgIHgyLCB4MCwgI1BSSU5UX01BU0sgICAgLyogTWFzayBv
ZmYgdGhlIHRvcCBueWJibGUgKi8NCj4gPiArICAgICAgICBsc3IgICB4MiwgeDIsICM2MA0KPiA+
ICAgICAgICAgICBsZHJiICB3MiwgW3gxLCB4Ml0gICAgICAgICAgIC8qIENvbnZlcnQgdG8gYSBj
aGFyICovDQo+ID4gICAgICAgICAgIGVhcmx5X3VhcnRfdHJhbnNtaXQgeDIzLCB3Mg0KPiA+ICAg
ICAgICAgICBsc2wgICB4MCwgeDAsICM0ICAgICAgICAgICAgIC8qIFJvbGwgaXQgdGhyb3VnaCBv
bmUgbnliYmxlIGF0DQo+IGEgdGltZSAqLw0KPiA+DQo+IA0KPiBDaGVlcnMsDQo+IA0KPiAtLQ0K
PiBKdWxpZW4gR3JhbGwNCg==


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 01:56:09 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 01:56:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169151.308992 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGtlL-0000PA-R1; Fri, 20 Aug 2021 01:56:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169151.308992; Fri, 20 Aug 2021 01:56:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGtlL-0000P3-MC; Fri, 20 Aug 2021 01:56:03 +0000
Received: by outflank-mailman (input) for mailman id 169151;
 Fri, 20 Aug 2021 01:56: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 1mGtlK-0000Ot-NY; Fri, 20 Aug 2021 01:56: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 1mGtlK-00051Q-Em; Fri, 20 Aug 2021 01:56: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 1mGtlK-0001cT-55; Fri, 20 Aug 2021 01:56:02 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mGtlK-0004Xk-2j; Fri, 20 Aug 2021 01:56: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=4fF9k418fUsx2W8rjp07KZmbmoLaR6g6BO0sSBoEMDM=; b=llBVdDOY8NjYlayej4No7O8Ze0
	qhUhP76MD6nBPiJnOnciTD29NH6BnvBYA2TqumwEAp5tYzBNCqqtBkR+qe6QaW07G25qZkJYQ752P
	FX9C7pg4VzTB3NxB8jGTdwAggxWApYBBtuqYr1m7FaebcfU21gnsMN5Bob/eqJkoM99o=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164252-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164252: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-examine:memdisk-try-append:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-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-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=d6d09a6942050f21b065a134169002b4d6b701ef
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 20 Aug 2021 01:56:02 +0000

flight 164252 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164252/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-examine      4 memdisk-try-append       fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install       fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 12 debian-di-install        fail REGR. vs. 152332

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 152332
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 152332
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 152332
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 152332
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 152332
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 152332
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 152332
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                d6d09a6942050f21b065a134169002b4d6b701ef
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  384 days
Failing since        152366  2020-08-01 20:49:34 Z  383 days  675 attempts
Testing same since   164252  2021-08-19 09:47:18 Z    0 days    1 attempts

------------------------------------------------------------
6803 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2012254 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 02:05:14 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 02:05:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169159.309006 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGtuA-0002PW-RP; Fri, 20 Aug 2021 02:05:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169159.309006; Fri, 20 Aug 2021 02: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 1mGtuA-0002PP-OB; Fri, 20 Aug 2021 02:05:10 +0000
Received: by outflank-mailman (input) for mailman id 169159;
 Fri, 20 Aug 2021 02:05:09 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=pH7i=NL=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mGtu9-0002PJ-BA
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 02:05:09 +0000
Received: from EUR03-DB5-obe.outbound.protection.outlook.com (unknown
 [40.107.4.46]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 0a8578b3-015b-11ec-a677-12813bfff9fa;
 Fri, 20 Aug 2021 02:05:07 +0000 (UTC)
Received: from AM5PR0701CA0062.eurprd07.prod.outlook.com (2603:10a6:203:2::24)
 by AM4PR08MB2627.eurprd08.prod.outlook.com (2603:10a6:205:b::32) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.21; Fri, 20 Aug
 2021 02:05:06 +0000
Received: from VE1EUR03FT003.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:203:2:cafe::59) by AM5PR0701CA0062.outlook.office365.com
 (2603:10a6:203:2::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.6 via Frontend
 Transport; Fri, 20 Aug 2021 02:05:06 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT003.mail.protection.outlook.com (10.152.18.108) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Fri, 20 Aug 2021 02:05:05 +0000
Received: ("Tessian outbound 32695b2df2f8:v103");
 Fri, 20 Aug 2021 02:05:05 +0000
Received: from 072df2a5339d.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 E5977902-DAD2-4D5E-8B78-242EDFA07DD7.1; 
 Fri, 20 Aug 2021 02:04:54 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 072df2a5339d.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 20 Aug 2021 02:04:54 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DBBPR08MB4492.eurprd08.prod.outlook.com (2603:10a6:10:c1::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.19; Fri, 20 Aug
 2021 02:04:51 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.019; Fri, 20 Aug 2021
 02:04:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0a8578b3-015b-11ec-a677-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9Eu+NN1ekbn6jPCdBA8Sj4+6wqpe4yr5H2AHH3qZIB0=;
 b=6v4Qn5oy4+PGjnI6wZXIbjh2gcJgK0+Qtknvza8eGw9pQb3ipyV50JNMnY9vQVG80bjXAk1CTlZ7v6iehj+0LGL5M5dI/g1xVwS2YIp5UHhyVlnlASHDjZEuze4E80uykNaxBFp0yX3b91+RJJZvWT0M995sp9iAIjAF1mhFQJw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jWaQHNA9jyMSXwYsAr/VpxVOkYakDHSmZdZ87FnkIwJp8CeV8FENcM5ViCeSYdu8o9U4h1lAyUWCZKyDhkvQr1YC0hogpzJeyLXa2W6lCvoK8TaKY4jCR97lte2n6oFnYnKBMLPWPjkoQA+WAvrlO1O+SyGGV4z2X7//9NapAad0O5FQKDVySbavDoAjo2/mCIBvaoyraMbdBZaPk+4HL+YtGqeAPmHJSre01h6untMzYP+3ts4JpoiHXp/kyHrdpVtj6nHvfoZip13VTLV2tgxEc/VD4Howgj3q137AY4nzLaJIpR6m2I0e65mtjtTwVSxaXhQrABZYywKutC0zKw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9Eu+NN1ekbn6jPCdBA8Sj4+6wqpe4yr5H2AHH3qZIB0=;
 b=btpdKlvXARG4Y9aijbJA8OdmcetUKa34SQg4TyQdXlAoWmXJNtZgQ2muEKYWq1CS4sumxljWaRjNdMf0Ug+NXnfD2PMkciHTbZjL4IV8i4f/7g+pizH8DpewQKgbskOuiCntAkv5myYJpn7BO0EO6JIyygLOz5Zy8XSUHZk+MOd8+PbDJI2jH89VXAFJ9dAUB/c5QNfAk1RdXMA/JfLGR1QpBT7nUw+Dm8hFVwb0fuP/yx90l0QXE4to9vBi0YRnAlkwIZjbMdq3NpozkfgKyVHSgAE0o2vRlnBl2ggmPE5DyjpEw6ifJ21C5pyW1j03XFdp8MjeBX1nQSUyfBvCRw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9Eu+NN1ekbn6jPCdBA8Sj4+6wqpe4yr5H2AHH3qZIB0=;
 b=6v4Qn5oy4+PGjnI6wZXIbjh2gcJgK0+Qtknvza8eGw9pQb3ipyV50JNMnY9vQVG80bjXAk1CTlZ7v6iehj+0LGL5M5dI/g1xVwS2YIp5UHhyVlnlASHDjZEuze4E80uykNaxBFp0yX3b91+RJJZvWT0M995sp9iAIjAF1mhFQJw=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>, "jbeulich@suse.com" <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 04/40] xen/arm: return default DMA bit width when
 platform is not set
Thread-Topic: [XEN RFC PATCH 04/40] xen/arm: return default DMA bit width when
 platform is not set
Thread-Index: AQHXjpsgsRofIZVQlECQrMelX8Mpkqt63vUAgADFfsA=
Date: Fri, 20 Aug 2021 02:04:51 +0000
Message-ID:
 <DB9PR08MB68572A84F6A73644C4FE3F609EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-5-wei.chen@arm.com>
 <61893862-6b8f-9c1b-367b-7e0c837a43c5@xen.org>
In-Reply-To: <61893862-6b8f-9c1b-367b-7e0c837a43c5@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 9C7337F1F48B7E4BA86FF2F847396037.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 6217b633-2863-4d66-6940-08d9637eedee
x-ms-traffictypediagnostic: DBBPR08MB4492:|AM4PR08MB2627:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM4PR08MB26270E63C9AD2A278AE932949EC19@AM4PR08MB2627.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 Qs0zqQjdv2YU9hxAOcFX/HLcF6uSXCWUol2xl4JVYSwXqPbdbDVmWG6v/wX3TrGDv+TwsOXFT0pUIhgesZN0qZRk6BEMs/4bl2XDaKF6iRLUI8SSvHEkGnm7wr9ftXXGFH+Jqv8tAZ/FMiZpqLiWmYVRWtuFUX1RqMynnT5asQIe1EQFSzDngSw5slsLaeHF0MLGcQzewgiWVQ4cWlMNj8k54aexOPMMkJPJO39vDivnCTXCgtBmvWm3GomAs9vDwSvc1Vtl2+m1jYfaEbNfDUitCHzQ5r8VMEp+vuSzBEbAkzKVIniDsSVNJL+6vGceEkn7Oetkwafw1eSWUned5HL+SbICcihz4IBpF7OgIoJCh+GRn0NrzExycVX9EMGTLmD4ZuMnRJ9aS/h+R06y1yGjxv5G/Y7E0I/QYmlgSFBPTGgqeHh0L879e4LLcTjFcHSNEUaWeTrYHbN4RePG2Yw+CIexEvNZs9WeuVCJaaKHbVmB/arzTejaTwXtliuKlrKC+kvmz+SXcJAiLL95E4mCXPRwJEOeFIpmjjnhrgPAY8cQsLTupzocfjhhBxEydP7DMeFACgdEhByo/fncF1og65eaI7wjfR9UdY90fL4bHKC7FxJgaW3c3Kt3L6JpUijyCDCkD+gxgntfGKiV36u+CagYabJU6Rj9M6dAHQ6vCIurJdPo8YEpPVGgzrJv3+1qycBbXaB5p2KNuooVWw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(136003)(376002)(396003)(346002)(366004)(39850400004)(66946007)(38070700005)(64756008)(66476007)(83380400001)(71200400001)(8676002)(186003)(8936002)(4326008)(66446008)(33656002)(122000001)(66556008)(38100700002)(478600001)(26005)(2906002)(53546011)(5660300002)(55016002)(6506007)(316002)(52536014)(76116006)(110136005)(9686003)(7696005)(86362001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?NmJEN0FMbW9LU20raXNBMkMvRXl6QUpadHZBWWI4QjB6ay83VWRVYUZtbXhT?=
 =?utf-8?B?djcrT2pRU2hQS0g3STRxV0g5MzM1ajhOY1RSTTJRRjg5TTM3NGMyOGVsMjJ2?=
 =?utf-8?B?QjYyUGw5K2xUdkJqN2VBV01ZOVNKMUVpZzlNQWYrMmoraytNQ09pK0VMd3Zr?=
 =?utf-8?B?aDJDcCtTR25WdkVncWdWTG1xNTFEN3hra3ovR05tamxQSkwvNkRPdU13UjJz?=
 =?utf-8?B?b2RFKzNQZzNGbkQwY3VINUJVWVMydis1eXZIa3piZEZMdmUwaExrR21OT3pC?=
 =?utf-8?B?ZE02cUJDT2cwU2V3UkNjWG1jZ3BCRFRMa2o4OStUd1c3enZEMWd0RGw1b3l2?=
 =?utf-8?B?SEtIMm1jcEVDc21CUjBQY3RmWnd6dzNOb3VicjJ6WWpwOG8rVmdGM1JRVTZI?=
 =?utf-8?B?Q1FGSXFJRmVXRnMxaEhld2gwVHpPU3JKZHBLRnZydTZTWGxRZXEyMkQ4em1D?=
 =?utf-8?B?dUlpYjRWYmY0NzY0R3VZU3NTeUtoQXR3WHQ3RmhKeko5RVZwdDhONk9wM1FH?=
 =?utf-8?B?OGtnbUorY1NkY01EM1Z6TVVXZkZJanM3azRTRzZiSTFGV2RyWjJKYzZTb0g0?=
 =?utf-8?B?RDhORERXaGd0YVovbmtuK21nNnZLK0oyUllFK1NWaVJOc1FLQ3VMYUJWS2dx?=
 =?utf-8?B?Ui9CU09uR0dYVkF3QXFNeks4UmkzTVhvZHp0ZFF2NEtjRDhwTzlKMXgxd256?=
 =?utf-8?B?TzNWTG5SU01EV2ZqY2YvS01EVEJKVzNmZ0dPNVA5UHh2SG5LcnJIZi9WSUdK?=
 =?utf-8?B?c2EvMWttcmFkV2xCV0ZURTdDdnlNZzExcTIwUzdZY2lIVWE5TnRodUJsOCtV?=
 =?utf-8?B?OGgvTS9HVHJ0Y0tHdmRUcnB2UDBpU1poOTVubnFuUnVELytTYldiM3B1aWtn?=
 =?utf-8?B?eGtLeGF5TlFyZTdIV2UxLzVzZk1sNzZSSDhrZm5zNWFkTm55dkVhTkxwUGFC?=
 =?utf-8?B?ZG5sQW1IUllUMmFsOHBlV2hrUG96ZlVBN2NjQ2tWWVJUQ2E1ZDhXcmROMU5I?=
 =?utf-8?B?OEZVUDI1NitlT1YrRUhIMkJZUFJieHFMMUZRdVUzeElvWEV2aDRycFlFNkky?=
 =?utf-8?B?dGc0K1J6ZnE5eC92TlE1bWlCRzlHVUg0VmpuR1h5a1ZqcGhaVWFVTEVmR2t0?=
 =?utf-8?B?OC9VcEtQcXVsaFAvSmxpSUF6VTJKRDkweDZOSGlPVUZiNytZVE05RThUc2Fh?=
 =?utf-8?B?TmR4Zi90OFlDTy9TNnVxcFdwNmFCTlhoZkRUbzVvRWhWVkRjOGRKdlNjU044?=
 =?utf-8?B?cVc1RncvSEhNbzRuZW1iV1FpdkFaeFhTWnd4NkI5RE95Q0JxS2thejJtUGMr?=
 =?utf-8?B?MGx1ZHNrMWZwdzZZNWowY2xoa2VXUmxNNkFaYmwvSzdhd0MreUdjL0hacXBM?=
 =?utf-8?B?QTFQNFliV09sRlBxVHlBSmMwbzVNK3FRVkd3RmhXMWpRUTlRYUNpZnU2TkRE?=
 =?utf-8?B?V2kyZkt2RUVrdXRUcVJQTmNSN212QUxQOWcwOWZkdkZNNStWOXN2T3FGdytO?=
 =?utf-8?B?cS9TenJudWc0WHBvYTVTK2RFbE5GTytMaGVMWndKc3BNWmJjc25jVitaU3Vr?=
 =?utf-8?B?RXE4TDYzSUVGN3RjVnRyd2RkTjk0VHM1UWJyOUF2RnU0bVp0S3ZPRFd1V3R0?=
 =?utf-8?B?U0ljOHhaditXVFk0THZiempSTVFkZWZaN291RS90VGVVclhTa01PQ1ByUGhI?=
 =?utf-8?B?KzBoLzlsVHdaTFhjc25WMld3TlptOGE4Q2RxbisyRTR0dzE1dkJhRG5razJO?=
 =?utf-8?Q?3jV9LrduqjNpC39tY/UhjXrztM2sDac0SB1QDYR?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB4492
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT003.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	9235b92a-b270-46be-086d-08d9637ee57e
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	CzLDd0rHUQGMZn3qnDOF78lhth4ExipJfHSBJvqN8386HW+pNijwyZ+9vjY6l4aaklEYX8tO1fIqcwhwVluo9pC0AW9sCBiFGNdHEcLgtrCSm6Lmhmxs42sY8HlYdkk6h5kAxQ0VZ3cMwqZO/x4QQHnHNM4/txyca7xmPPaYLUMelsoU65XTMrLax4OWhmhc4pqRfXt7RQriGD7O46H+D+bJaIs/L2v8KA9zQaSrhnib+tiZh+alBqq2xTPL282HF/jYWaVk3gtPxiehcByjkm2CGIYR3GoTV6+TTYFKzDTYxPkG8nJ5RqN5bXx5SaPXFJDRvLNxKyuXsuqn3F1eoW9GA5aUznc618Fm1Gh/tvu4tw0HTk82f4rcx5rmot97n/ObVtRylJ+Sg6m9lXvokPHyE5cpme59sGpU7eeySYlq1W0LwMGdaXW7jH1FZC45oZMcDyh44wWFo9v6EYn0NtW1uoCDzgpJ6eflaYR6PSzgMHltmJSRxl/LI5sb/Fp/sQYz6aiBOkErJmQC4yGMMPJvzx/+Qw+EKuow8OqdclzUMgWjoJWO0kL7FeUMeB9T3ziA/lUTJ9kKyABoGPZ6lFbmQG3YJHLfH1c1JTiFGSptXqVcFXTbvLPnmDkKNSohK8aBFZaUgvVLNJk/6ob6dRxPafMH2cOR315S7R8+zckTN8US9fcA2OU1jdOkYigOgX+ma1IReGlmTRAiPCQJVQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(136003)(346002)(396003)(39850400004)(376002)(36840700001)(46966006)(33656002)(7696005)(82310400003)(6506007)(9686003)(2906002)(4326008)(55016002)(53546011)(70206006)(70586007)(336012)(8936002)(110136005)(8676002)(316002)(83380400001)(5660300002)(36860700001)(52536014)(47076005)(82740400003)(186003)(356005)(478600001)(81166007)(26005)(86362001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 02:05:05.7020
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6217b633-2863-4d66-6940-08d9637eedee
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT003.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR08MB2627

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMTnml6UgMjE6MjgN
Cj4gVG86IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgeGVuLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnOw0KPiBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqYmV1bGljaEBzdXNlLmNvbQ0K
PiBDYzogQmVydHJhbmQgTWFycXVpcyA8QmVydHJhbmQuTWFycXVpc0Bhcm0uY29tPg0KPiBTdWJq
ZWN0OiBSZTogW1hFTiBSRkMgUEFUQ0ggMDQvNDBdIHhlbi9hcm06IHJldHVybiBkZWZhdWx0IERN
QSBiaXQgd2lkdGgNCj4gd2hlbiBwbGF0Zm9ybSBpcyBub3Qgc2V0DQo+IA0KPiBIaSwNCj4gDQo+
IE9uIDExLzA4LzIwMjEgMTE6MjMsIFdlaSBDaGVuIHdyb3RlOg0KPiA+IEZyb206IEhvbmdkYSBE
ZW5nIDxIb25nZGEuRGVuZ0Bhcm0uY29tPg0KPiA+DQo+ID4gSW4gY3VycmVudCBjb2RlLCBhcmNo
X2dldF9kbWFfYml0c2l6ZSB3aWxsIHJldHVybiAzMiB3aGVuIHBsYXRvcm0NCj4gPiBvciBwbGF0
Zm9ybS0+ZG1hX2JpdHNpemUgaXMgbm90IHNldC4gSXQncyBub3QgcmVzb25hYmxlLCBmb3IgQXJt
LA0KPiANCj4gcy9yZXNvbmFibGUvcmVhc29uYWJsZS8NCj4gDQoNCk9rDQoNCj4gPiB3ZSBkb24n
dCByZXF1aXJlIHRvIHJlc2VydmUgRE1BIG1lbW9yeS4gU28gd2Ugc2V0IGRtYV9iaXRzaXplIGFs
d2F5cw0KPiA+IGJlIDAuIEluIE5PLU5VTUEgc3lzdGVtLCBhcmNoX2dldF9kbWFfYml0c2l6ZSB3
aWxsIG5vdCBiZSBpbnZva2VkLA0KPiA+IHNvIGRtYV9iaXRzaXplIHdpbGwgbm90IGJlIG92ZXJy
aWRlZCBieSB0aGlzIGZ1bmN0aW9uLg0KPiANCj4gYXJjaF9nZXRfZG1hX2JpdHNpemUoKSBpcyBh
bHNvIHVzZWQgdG8gYWxsb2NhdGUgZG9tMCBtZW1vcnkuIFdlIG5lZWQgdG8NCj4gYmUgYWJsZSB0
byBhbGxvY2F0ZSBzb21lIERNQS1hYmxlIG1lbW9yeSB0aGF0IGNhbiBiZSB1c2VkIGJ5IGV2ZXJ5
IGRldmljZXMuDQo+IA0KPiA+IEJ1dCBpbiBOVU1BDQo+ID4gc3lzdGVtLCBvbmNlIHRoZSBvbmxp
bmUgbm9kZXMgYXJlIGdyZWF0ZXIgdGhhbiAxLCB0aGlzIGZ1bmN0aW9uIHdpbGwNCj4gPiBiZSBp
bnZva2VkLiBUaGUgZG1hX2JpdHNpemUgd2lsbCBiZSBsaW1pdGVkIHRvIDMyLiBUaGF0IG1lYW5z
LCBvbmx5DQo+ID4gZmlyc3QgNEdCIG1lbW9yeSBjYW4gYmUgdXNlZCBmb3IgRE1BLiBCdXQgdGhh
dCdzIGFnYWluc3Qgb3VyIGhhcmR3YXJlDQo+ID4gZGVzaWduLiBXZSBkb24ndCBoYXZlIHRoYXQg
a2luZCBvZiByZXN0cmljdGlvbiBvbiBoYXJkd2FyZS4NCj4gDQo+IFdoYXQgZG8geW91IG1lYW4g
YnkgImhhcmR3YXJlIGRlc2lnbiI/IEFyZSB5b3UgcmVmZXJyaW5nIHRvIHRoZSBzZXJ2ZXINCj4g
eW91IGJvb3QgWGVuIG9uPw0KPiANCg0KWWVzLiBJIHdpbGwgY2hhbmdlIGl0IHRvIHNvbWUgbmV1
dHJhbCB3b3Jkcy4gc29tZXRoaW5nIGxpa2U6DQoiQnV0IHRoYXQgY291bGQgbm90IHJlZmxlY3Qg
c29tZSBoYXJkd2FyZSdzIHJlYWwgRE1BIGFiaWxpdHkuIFRoZXkgbWF5IG5vdA0KaGF2ZSBraW5k
IG9mIHJlc3RyaWN0aW9uIG9uIGhhcmR3YXJlLiIgPw0KDQoNCj4gQW55d2F5LCB0aGVyZSBhcmUg
cGxlbnR5IG9mIHBsYXRmb3JtIG91dCB0aGF0IGhhdmUgZGV2aWNlcyB3aGljaCBjYW4ndA0KPiBE
TUEgaW50byBtZW1vcnkgYWJvdmUgMzItYml0LiBPbiBSUEksIHRoaXMgaXMgZXZlbiBsb3dlciAo
MzAtYml0KS4NCj4gDQo+IFNvIEkgd291bGQgYmUgY2F1dGlvdXMgdG8gY2hhbmdlIHRoZSBkZWZh
dWx0IGxpbWl0Lg0KPiANCg0KSG93IGFib3V0IHJldHVybiAwIHdoZW4gcGxhdGZvcm0gZG9lc24n
dCBzcGVjaWZ5IHRoZSBsaW1pdD8NCkluIG15IG9waW5pb24sIGFyYml0cmFyeSB0byBnaXZlIDMy
IG9uIEFBcmNoNjQgZG9lc24ndCBtYWtlIHNlbnNlLg0KQnV0IGFzIHlvdSBtZW50aW9uZWQsIGlm
IFhlbiBpcyBydW5uaW5nIG9uIGEgcGxhdGZvcm0gd2l0aCBETUEgbGltaXRhdGlvbiwNCmJ1dCB3
ZSBoYXZlIG5vdCBsaXN0ZWQgdGhpcyBwbGF0Zm9ybSBpbiBYZW4gc3VwcG9ydGVkIGxpc3QsIFhl
biBjYW5ub3QNCmdldCBETUEgbGltaXQgZnJvbSBwbGF0Zm9ybS0+ZG1hX2JpdHNpemUuIEluIHRo
aXMgY2FzZSwgcmV0dXJuIDAgd2lsbA0KYWxzbyBjYXVzZSBzb21lIGlzc3VlLg0KDQo+IEF0IHRo
ZSBtb21lbnQsIHRoZSBvbmx5IHBsYWNlIG9uIEFybSB3aGVyZSB3ZSBuZWVkIERNQS1hYmxlIG1l
bW9yeSBpcw0KPiBmb3IgZG9tMC4gVGhpcyBpcyBhbGxvY2F0ZWQgYXQgYm9vdCBhbmQgY2FuJ3Qg
Y2hhbmdlIGFmdGVyd2FyZHMgKGZvciBub3cpLg0KPiANCg0KRm9yIERvbTAsIHdlIHNxdWFzaCB0
aGUgcGF0Y2gjNSBpbnRvIHRoaXMgcGF0Y2g/DQoNCj4gU28gSSB3b3VsZCBleHBsb3JlIHRvIHJl
bW92ZSB0aGUgTlVNQSBjaGVjayBmb3IgZHJvcCB0aGUgRE1BIHpvbmUuIEZBT0QsDQo+IGJvdGgg
c3VnZ2VzdGlvbiBhcmUgZm9yIEFybSBvbmx5LiBGb3IgeDg2LCB0aGV5IG5lZWQgdG8gYmUga2Vw
dC4NCj4gDQoNCldpdGhvdXQgaW50cm9kdWNpbmcgbmV3IGZsYWcsIHN1Y2ggYXMgbG93bWVtX2Zv
cl9kbWEsIGl0J3MgYSBsaXR0bGUNCmhhcmQgdG8gc2tpcCB0aGUgbnVtYSBub2RlIGNoZWNrLiBV
bmxlc3Mgd2UgY3J1ZGVseSBhZGQgI2lmZGVmIEFSQ0ggdG8gDQpjb21tb24gY29kZSwgd2hpY2gg
aXMgbm90IHdoYXQgd2Ugd2FudCB0byBzZWUgLi4uDQogICAgICBpZiAoICFkbWFfYml0c2l6ZSAm
JiAobnVtX29ubGluZV9ub2RlcygpID4gMSkgKQ0KICAgICAgICAgIGRtYV9iaXRzaXplID0gYXJj
aF9nZXRfZG1hX2JpdHNpemUoKTsNCg0KPiA+IE9ubHkNCj4gPiBwbGF0Zm9ybSBzZXR0aW5nIGNh
biBvdmVycmlkZSBkbWFfYml0c2l6ZS4gU28gaW4gdGhpcyBwYXRjaCwgd2UNCj4gPiByZXR1cm4g
ZGVmYXVsdCBkbWFfYml0c2l6ZSwgd2hlbiBwbGF0Zm9ybSBhbmQgcGxhdG9ybS0+ZG1hX2JpdHNp
emUNCj4gPiBhcmUgbm90IHNldC4NCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IFdlaSBDaGVuIDx3
ZWkuY2hlbkBhcm0uY29tPg0KPiA+IFNpZ25lZC1vZmYtYnk6IEhvbmdkYSBEZW5nIDxIb25nZGEu
RGVuZ0Bhcm0uY29tPg0KPiA+IC0tLQ0KPiA+ICAgeGVuL2FyY2gvYXJtL3BsYXRmb3JtLmMgfCA0
ICsrKy0NCj4gPiAgIHhlbi9jb21tb24vcGFnZV9hbGxvYy5jIHwgMiArLQ0KPiA+ICAgMiBmaWxl
cyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pDQo+ID4NCj4gPiBkaWZm
IC0tZ2l0IGEveGVuL2FyY2gvYXJtL3BsYXRmb3JtLmMgYi94ZW4vYXJjaC9hcm0vcGxhdGZvcm0u
Yw0KPiA+IGluZGV4IDRkYjViYmI0YzUuLjBhMjdmZWY5YTQgMTAwNjQ0DQo+ID4gLS0tIGEveGVu
L2FyY2gvYXJtL3BsYXRmb3JtLmMNCj4gPiArKysgYi94ZW4vYXJjaC9hcm0vcGxhdGZvcm0uYw0K
PiA+IEBAIC0yNyw2ICsyNyw3IEBAIGV4dGVybiBjb25zdCBzdHJ1Y3QgcGxhdGZvcm1fZGVzYyBf
c3BsYXRmb3JtW10sDQo+IF9lcGxhdGZvcm1bXTsNCj4gPiAgIC8qIFBvaW50ZXIgdG8gdGhlIGN1
cnJlbnQgcGxhdGZvcm0gZGVzY3JpcHRpb24gKi8NCj4gPiAgIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg
cGxhdGZvcm1fZGVzYyAqcGxhdGZvcm07DQo+ID4NCj4gPiArZXh0ZXJuIHVuc2lnbmVkIGludCBk
bWFfYml0c2l6ZTsNCj4gPg0KPiA+ICAgc3RhdGljIGJvb2wgX19pbml0IHBsYXRmb3JtX2lzX2Nv
bXBhdGlibGUoY29uc3Qgc3RydWN0IHBsYXRmb3JtX2Rlc2MNCj4gKnBsYXQpDQo+ID4gICB7DQo+
ID4gQEAgLTE1Nyw3ICsxNTgsOCBAQCBib29sIHBsYXRmb3JtX2RldmljZV9pc19ibGFja2xpc3Rl
ZChjb25zdCBzdHJ1Y3QNCj4gZHRfZGV2aWNlX25vZGUgKm5vZGUpDQo+ID4NCj4gPiAgIHVuc2ln
bmVkIGludCBhcmNoX2dldF9kbWFfYml0c2l6ZSh2b2lkKQ0KPiA+ICAgew0KPiA+IC0gICAgcmV0
dXJuICggcGxhdGZvcm0gJiYgcGxhdGZvcm0tPmRtYV9iaXRzaXplICkgPyBwbGF0Zm9ybS0NCj4g
PmRtYV9iaXRzaXplIDogMzI7DQo+ID4gKyAgICByZXR1cm4gKCBwbGF0Zm9ybSAmJiBwbGF0Zm9y
bS0+ZG1hX2JpdHNpemUgKSA/IHBsYXRmb3JtLQ0KPiA+ZG1hX2JpdHNpemUNCj4gPiArICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZG1hX2JpdHNpemU7
DQo+ID4gICB9DQo+ID4NCj4gPiAgIC8qDQo+ID4gZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vcGFn
ZV9hbGxvYy5jIGIveGVuL2NvbW1vbi9wYWdlX2FsbG9jLmMNCj4gPiBpbmRleCA5NThiYTBjZDky
Li4wZjBjYWU1YTRlIDEwMDY0NA0KPiA+IC0tLSBhL3hlbi9jb21tb24vcGFnZV9hbGxvYy5jDQo+
ID4gKysrIGIveGVuL2NvbW1vbi9wYWdlX2FsbG9jLmMNCj4gPiBAQCAtMjI3LDcgKzIyNyw3IEBA
IHN0YXRpYyBib29sIF9fcmVhZF9tb3N0bHkgc2NydWJfZGVidWc7DQo+ID4gICAgKiBCaXQgd2lk
dGggb2YgdGhlIERNQSBoZWFwIC0tIHVzZWQgdG8gb3ZlcnJpZGUgTlVNQS1ub2RlLWZpcnN0Lg0K
PiA+ICAgICogYWxsb2NhdGlvbiBzdHJhdGVneSwgd2hpY2ggY2FuIG90aGVyd2lzZSBleGhhdXN0
IGxvdyBtZW1vcnkuDQo+ID4gICAgKi8NCj4gPiAtc3RhdGljIHVuc2lnbmVkIGludCBkbWFfYml0
c2l6ZTsNCj4gPiArdW5zaWduZWQgaW50IGRtYV9iaXRzaXplOw0KPiA+ICAgaW50ZWdlcl9wYXJh
bSgiZG1hX2JpdHMiLCBkbWFfYml0c2l6ZSk7DQo+ID4NCj4gPiAgIC8qIE9mZmxpbmVkIHBhZ2Ug
bGlzdCwgcHJvdGVjdGVkIGJ5IGhlYXBfbG9jay4gKi8NCj4gPg0KPiANCj4gQ2hlZXJzLA0KPiAN
Cj4gLS0NCj4gSnVsaWVuIEdyYWxsDQo=


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 02:06:17 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 02:06:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169164.309017 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGtvE-0002z3-67; Fri, 20 Aug 2021 02:06:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169164.309017; Fri, 20 Aug 2021 02: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 1mGtvE-0002yw-2j; Fri, 20 Aug 2021 02:06:16 +0000
Received: by outflank-mailman (input) for mailman id 169164;
 Fri, 20 Aug 2021 02:06:15 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=pH7i=NL=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mGtvC-0002yo-TB
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 02:06:14 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com (unknown
 [40.107.21.59]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 31d4d8ea-015b-11ec-a677-12813bfff9fa;
 Fri, 20 Aug 2021 02:06:13 +0000 (UTC)
Received: from DB9PR02CA0028.eurprd02.prod.outlook.com (2603:10a6:10:1d9::33)
 by DB8PR08MB4154.eurprd08.prod.outlook.com (2603:10a6:10:b1::28) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 20 Aug
 2021 02:06:11 +0000
Received: from DB5EUR03FT012.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:1d9:cafe::21) by DB9PR02CA0028.outlook.office365.com
 (2603:10a6:10:1d9::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Fri, 20 Aug 2021 02:06:11 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT012.mail.protection.outlook.com (10.152.20.161) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Fri, 20 Aug 2021 02:06:11 +0000
Received: ("Tessian outbound 1a0c40aa17d8:v103");
 Fri, 20 Aug 2021 02:06:11 +0000
Received: from 9e82f807077f.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 7F121F9B-7824-43BA-831E-6CFA9DA9577A.1; 
 Fri, 20 Aug 2021 02:06:01 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 9e82f807077f.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 20 Aug 2021 02:06:01 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DBBPR08MB6266.eurprd08.prod.outlook.com (2603:10a6:10:203::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Fri, 20 Aug
 2021 02:05:59 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.019; Fri, 20 Aug 2021
 02: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: 31d4d8ea-015b-11ec-a677-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kqvv9mYwVRX86wxil2CdVbXYFbhpnNUpFZvMwRQ/ReE=;
 b=OOL8U09/KXWXUNU25iSExa6j3GrZxNALyfut65Q4sLBprOe2egIH0p1uVdv4CHctYeDmcXQfwaZvKQ0dK4KXW5p7fRNsPCZlPUIf+jdOU2X8l0v7oilj+f6Ysli6rjvGAXhSs7xF8Z1li2lnz9fqvaObedNED6Nv917HG4VDyrs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=n72BQbG9XzA9bgpGS3+JV20+ND303DSP/sN8IXq3hQOtliGNOvjWs9Win72QRZ5armq97lvjPUr4u2SScIQedqngiDEuiBb6DGB9fMPCplpaiiKERMQUIR3gDvS+l53JLWjTcm+ZZnLeJEheQeX9mnPFmaMtuJ7WwzZ30rKrwlgi8KL8C30RwWJ9/Cnj+2b23AGeyewdFN0dVZ4s70jJsMqagjMJoUdU8BDY20s8TBHxlJ3IskeS8v3yXs2QULYAc/ASSCveXb+IRgK1h3b/9nQBXjJ6Wqxnp+P8fc/1vxIl8qFeg1eXq4beD9IdPl7xSb/8b9ffMHGm+dTwfm9rLQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kqvv9mYwVRX86wxil2CdVbXYFbhpnNUpFZvMwRQ/ReE=;
 b=V1O0QDKKj4WcjNSnQtimvBuwFzJX+lolCE/QgP2nMlYL/VPbHR3jC+WFDnHjY1eouZ6qOVD6lCfym6SU2WIecY4US8wgMxIO/mXeM3sRr/c8HEhJBhyrehoBMrQESBTgifvMKFSv90pltp3NZ8U/4phZ7gra6T00oZCSkUV30xi4eKsvn+QxUY4nQ4bhTNm9ay1tzr/1+M+rlhe4K9/JxIrae71ab2zI+kXS93dmskBVUyQhhxhruWwSMVbG63PJNL8y3Q4YofRscK2T37a3NT0yB2OrZVemn7175xuvmIGVyoFkzSvJlWQCJMDtdJU/NmJiUEOyQEjkbc4NbZdG1w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kqvv9mYwVRX86wxil2CdVbXYFbhpnNUpFZvMwRQ/ReE=;
 b=OOL8U09/KXWXUNU25iSExa6j3GrZxNALyfut65Q4sLBprOe2egIH0p1uVdv4CHctYeDmcXQfwaZvKQ0dK4KXW5p7fRNsPCZlPUIf+jdOU2X8l0v7oilj+f6Ysli6rjvGAXhSs7xF8Z1li2lnz9fqvaObedNED6Nv917HG4VDyrs=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>, "jbeulich@suse.com" <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 05/40] xen/arm: Fix lowmem_bitsize when
 arch_get_dma_bitsize return 0
Thread-Topic: [XEN RFC PATCH 05/40] xen/arm: Fix lowmem_bitsize when
 arch_get_dma_bitsize return 0
Thread-Index: AQHXjpsg83Zycdnz1UG/A4jl+o2Uqat63/yAgADSY6A=
Date: Fri, 20 Aug 2021 02:05:59 +0000
Message-ID:
 <DB9PR08MB68570FDDBDEAE38E0301744F9EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-6-wei.chen@arm.com>
 <ce78f938-3fda-f7a9-f92b-4a692774b497@xen.org>
In-Reply-To: <ce78f938-3fda-f7a9-f92b-4a692774b497@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: A078830C2112A64C8BDA8B70F2C0637E.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 746929f5-f12a-493a-b703-08d9637f153a
x-ms-traffictypediagnostic: DBBPR08MB6266:|DB8PR08MB4154:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<DB8PR08MB4154218F2B2A755A8BE67E119EC19@DB8PR08MB4154.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:7219;OLM:7219;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 hVNe3ytCYBxIBFf5A8RuHZeec3KFmTniCGrv8PmnYl1qYG1JikVSna8yRNPFE21b5tw13zX0UKDUGacLb672YWPWjbnSTiTwRRJo3tjS4RGclxFYlVno/4QkuRfsrWAHjXDiKfyh/H66cmOtkLfk/GPbvk/5hFWdx7/6LNVjdbOeLfihZjeD14fpkWRQbNC/tJ/1jnvWW7DUa6cRUe/eYMoyd9Xhs8Jdv5xqp6+zluXX+WbqL3XBp0yUfbOlZIddqmVrSmgDMlFmycmBVIUOGDVVRf9REbAHZbOgw16mqxcHZR9lvc7l8k1wNAgTZTMMz0sIRzDp6fX0mJ15Nk7DPkHuaOGuZ/PjK9ZQzQsZ/0RJ9PCKThy1fwUDVoDvP1jK3n2OVAMIe8gjFgMbpeXvBSczTpwV/QpdlfzAW0aT3QZOE4jXkvF0xVf3CaHdlwtv88oojXuawapOp9gpAIDXya8LqyoYkFSMwlXWB0tUqvQWW8ac8pbMfuW+MNLRaODvdvPyKgD0l8ADQepjrrERm+RRo/b+Mw3LZs/ajcjde0a4dYf6ROgFcHDQvQ8kDsbXxCyav1mAA3IP2Wo9izPiYKh1pTKopQ3XZOxDLzgFUvPiQFFWYqFfiiJQ1cwYx8PW4CAW5DJv1d6Mqas2sZ+x+468w2xwUVT3GD+bzo9NI7KWPJD/pLL1AiatVwvuS4ZgMNZLQabFmBehVyqbXvnqxg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(136003)(376002)(396003)(39850400004)(346002)(64756008)(53546011)(110136005)(86362001)(76116006)(66476007)(186003)(478600001)(52536014)(4326008)(66446008)(8936002)(71200400001)(55016002)(66946007)(316002)(5660300002)(38070700005)(38100700002)(83380400001)(66556008)(33656002)(7696005)(122000001)(6506007)(9686003)(26005)(8676002)(2906002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?WFJzaUwwM0ZkcHpaK3FuOTE0UGx2RGxNaG5xRUZhV3Q5OXI0ZVNZK0tIa01t?=
 =?utf-8?B?WGN5OVBVRVl3dlRabVk2SlorOWI4V0ZmQjFqSWZLakpZdEkrV1BsVzduSFFq?=
 =?utf-8?B?eGdPaVh4TUNPeDJQdkRKUVhTSk5ROUh3cVRSRGZaK0EyNW9BY0dscDVRZkc1?=
 =?utf-8?B?bGZsUDdkTzRVcFpDaEJVYm9tUzVRTnZaRUlwYlorSXV6VDVtd1hacUZ5NEpU?=
 =?utf-8?B?ZGtpcjZ0bHYyNW1kTkwwd0IxOGc5Z0RRU0s2ZW9ZVGRvRUo0SHVmSVVIRUFB?=
 =?utf-8?B?aWpBWDFIU2I5VlcyeTZsaURSTjlRUUc2c0wwcHAwamY3SjhpUXQwU0RZV1dH?=
 =?utf-8?B?UEc1UE9WWEdqZXVWVGNBd1dlekpPbi91dDJlalVoYVpFWlAralJTUGVRanNV?=
 =?utf-8?B?OGxYU2orcGlKWXJTNG9KZFFKUk5xR1I3THgxNnZvdnlTTy9jOGRseHBaSW5F?=
 =?utf-8?B?djU5WFl3RnFtRzRpNEdNSG9ab2Z6V3BQenliMTFBcWNZSm4rNFNQaDVxQkZI?=
 =?utf-8?B?WWpXTHpldW1jajJ1NmxjQVFKOUhaVGRLUmk3VDl4cWxqMVIxa3JpdWxENXJl?=
 =?utf-8?B?T2xvTEpYUFZTaDZOQ2ttTDZYMnFkR0g3WHhvdDF4cVZDc1VwdVhqS0c1L0w2?=
 =?utf-8?B?bGpnZmRMRHFBcEVqa25QblpLcUVRMWFvUThFNG1vRUU1MnRoV3NqdDRmK2Nx?=
 =?utf-8?B?ZlZiemE3bzRqaVY5MWw0V284TDhGZWwrNCtFUGxiSGJqSy8yTWdmWFJKTVBF?=
 =?utf-8?B?SWxsWVFmaFRocThOV3VjempqcDVKNWZNTmpqMVdsdWdwLzQreEVqWFBDKzVz?=
 =?utf-8?B?UWczc0NnNWc2K3A2MDE3UzlrczBGblY4a2tmSEdEK1ROdUk1NDZ6UEFaSGVQ?=
 =?utf-8?B?bWtFZTNTTVhka1V6alhPd1FaY3luQktISmRuWjFwNThVMFBtTmhkY0dBTnk5?=
 =?utf-8?B?YVF5NmtLN3ExekplUjNFbFAwSlA4L3gzdElJUmliMGp0c1VPcmdGQTRVVWVV?=
 =?utf-8?B?OWRXTVRwekxPY2NVQ0F6TEg1d3EyWHU1L2xoWVdCMSsrSFhOY0ttQkZNZXlN?=
 =?utf-8?B?SWVBbVEyOW1FZ1NadFIrSnptWVpJN3ZScEhYNlFmekhXWk9kRkczaGgwUUF1?=
 =?utf-8?B?RkJGS3dLY0dTYlpZTGlSVWNOc3dzbUE1Y0NnMTFUb0hMZjFRcFd2eEtPRklH?=
 =?utf-8?B?THVlcWhGS2ptSC9JRFFYZ2xpanRMdGdwQ28ra0pjbmpBOXpVcWZIL1diL0lS?=
 =?utf-8?B?OGdwMXJydzNhZG5Yckl4c1VVRkxva2l5Nm1mVFhjZTZBcUNzVjRLbWZ0d0tT?=
 =?utf-8?B?M1V1TVZwRXFxUVRMb05oTHM3S0lSVlR4M2FVT2I0NGNTUHNQVm1IcjZyakxO?=
 =?utf-8?B?dUVYVlg5QnZQQVNPQ0YrK2VBOFZuMUdNMzZOOFJQMXUwTElPb2svYmRZSjhN?=
 =?utf-8?B?T1hXNjVEOEY1ZE9iQ2ZmNEJBS2tyTk5SUnlLYzVMT2ViM1lLWEk3ZHlzYW1n?=
 =?utf-8?B?Nkxjcnl1VVZQZmgzLzFFa0JHVmZXNGg2eE14elNFbXgzeHZBL3RlY3J2QkM3?=
 =?utf-8?B?MCswdDEyQ21Od1J0WkVHUzVxdVBFd3ZwQXorWVJzTndIbXhqRUNrNjVhNElM?=
 =?utf-8?B?MmVIdHR3WUc3MGxJTThadGhZdHZHTnVBSTdaZzhocHZRcXN0R1RRaHgyREE1?=
 =?utf-8?B?THExbStXYW0vQ2QrNFUyU1hTc2F6Zjlxb1FCZkJabWY4RDJ6Q3AzYmZlQ0Jj?=
 =?utf-8?Q?Rx/VTgNnNsjPo/XJrHbzmscafzw9YYpaLbacZEh?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB6266
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT012.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a73c9d9d-7e5a-4565-65a1-08d9637f0dbf
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NgknQEr1TWpYBVslXEmjvkC7BHpElPsv+mTd7UYxleHGHp+DN5KqeCmDxv4mOKIyHFJTbbveXV+m8ijIF/LPnrIvxUH+yGA9ccgefYtW86bxMqqzOSuyJliWjnLhjE7Pics51TDPQaA/dZ+MzfHOkfBA9ptJt9xXFTC6WPPYpoocPbHWrNRLiiSD0CuvBbkHzltTj0MpvuuT4mgK+0sOYnfAq0DQFp7iTkRQ/Z0IM1BcrlmP2IGn6IG9/tYZ7Uqd/mY+J0I/ISlkm6ehR3sy/l682fOtrL8IjcwF4VYIuFqG9dItZRYbrvGz6q5mCml/snnaSVtqMrC5D10yuLid5aPgkqR2yccY+2kyPRDD7oNpygPU33SzjEikzpyzE1n6gWzvYwUIfCvUiZqT5he0LTemAm7Wc8KexGGi11h8/9AUTFkggP7zcDN/0vtOMzd6HEU8Ci3C5FMdoj31ihMnMKoU7yL67R7gTSozwnW/h3LGkZrdQeDZ79q+EnYisiSyFOVNEmvGyj+HNFO/7PUQv9tX4eCotdmsAo8TU2fzFPLMhBTGXRTfCQoSc7bw/0cCy+WMNtDQJEdPqO8xlJq7QGVhFJ/JJKrOeUZLb4UP+hcpAWSkIoTjbp/rb3v0JXL40XdPmQ5fbA1zQ7jYCc9uP9ft9Ik32z18m7juCgIho3rS1CLoMXT6kP8p9Foe4F5gOvvrLLtF+mXwxuFImwmo6w==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(46966006)(36840700001)(4326008)(55016002)(53546011)(83380400001)(52536014)(81166007)(6506007)(5660300002)(110136005)(70586007)(70206006)(9686003)(186003)(7696005)(508600001)(356005)(8936002)(8676002)(336012)(33656002)(36860700001)(86362001)(82310400003)(2906002)(47076005)(26005)(316002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 02:06:11.7721
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 746929f5-f12a-493a-b703-08d9637f153a
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT012.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB4154

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMTnml6UgMjE6MzIN
Cj4gVG86IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgeGVuLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnOw0KPiBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqYmV1bGljaEBzdXNlLmNvbQ0K
PiBDYzogQmVydHJhbmQgTWFycXVpcyA8QmVydHJhbmQuTWFycXVpc0Bhcm0uY29tPg0KPiBTdWJq
ZWN0OiBSZTogW1hFTiBSRkMgUEFUQ0ggMDUvNDBdIHhlbi9hcm06IEZpeCBsb3dtZW1fYml0c2l6
ZSB3aGVuDQo+IGFyY2hfZ2V0X2RtYV9iaXRzaXplIHJldHVybiAwDQo+IA0KPiBIaSwNCj4gDQo+
IEkgZ3Vlc3MgdGhpcyBwYXRjaCBtYXkgYmUgZHJvcHBlZCBhZnRlciBteSBjb21tZW50IG9uIHBh
dGNoICM0LiBJIHdpbGwNCj4gY29tbWVudCBqdXN0IG9uIHRoZSBwcm9jZXNzLg0KPiANCg0KT2sN
Cg0KPiBPbiAxMS8wOC8yMDIxIDExOjIzLCBXZWkgQ2hlbiB3cm90ZToNCj4gPiBGcm9tOiBIb25n
ZGEgRGVuZyA8SG9uZ2RhLkRlbmdAYXJtLmNvbT4NCj4gPg0KPiA+IEluIHByZXZpb3VzIHBhdGNo
LCB3ZSBtYWtlIGFyY2hfZ2V0X2RtYV9iaXRzaXplIHJldHVybiAwIHdoZW4NCj4gPiBkbWFfYml0
c2l6ZSBhbmQgcGxhdGZvcm0tPmRtYV9iaXRzaXplIGFyZSBub3Qgc2V0LiBCdXQgdGhpcw0KPiA+
IHdpbGwgYWZmZWN0IGxvd21lbV9iaXRzaXplIGluIGFsbG9jYXRlX21lbW9yeV8xMSBmb3IgZG9t
YWluMC4NCj4gPiBCZWNhdXNlIHRoaXMgZnVuY3Rpb24gZGVwZW5kcyBsb3dtZW1fYml0c2l6ZSB0
byBhbGxvY2F0ZSBtZW1vcnkNCj4gPiBiZWxvdyA0R0IuDQo+ID4NCj4gPiBJbiBjdXJyZW50IGNv
ZGUsIHdoZW4gYXJjaF9nZXRfZG1hX2JpdHNpemUgcmV0dXJuIDAsIGxvd21lbV9iaXRzaXplDQo+
ID4gd2lsbCBiZSBzZXQgdG8gMC4gSW4gdGhpcyBjYXNlLCB3ZSB3aWxsIGdldCAiTm8gYmFuayBo
YXMgYmVlbg0KPiA+IGFsbG9jYXRlZCBiZWxvdyAwLWJpdC4iIG1lc3NhZ2Ugd2hpbGUgYWxsb2Nh
dGluZyBkb21haW4wIG1lbW9yeS4NCj4gPiBBbmQgdGhlIGxvd21lbSB3aWxsIGJlIHNldCB0byBm
YWxzZS4NCj4gPg0KPiA+IFRoaXMgYmVoYXZpb3IgaXMgaW5jb25zaXN0ZW50IHdpdGggd2hhdCBh
bGxvY2F0ZV9tZW1vcnlfMTEgZG9uZQ0KPiA+IGJlZm9yZSwgYW5kIGRvZXNuJ3QgbWVldCB0aGlz
IGZ1bmN0aW9ucyByZXF1aXJlbWVudHMuIFNvIHdlDQo+ID4gY2hlY2sgYXJjaF9nZXRfZG1hX2Jp
dHNpemUncyByZXR1cm4gdmFsdWUgYmVmb3JlIHNldCBsb3dtZW1fYml0c2l6ZS4NCj4gPiBBdm9p
ZCBzZXR0aW5nIGxvd21lbV9iaXRzaXplIHRvIDAgYnkgbWlzdGFrZS4NCj4gDQo+IEluIGdlbmVy
YWwsIHdlIHdhbnQgdG8gYXZvaWQgYnJlYWtpbmcgYmlzZWN0aW9uIHdpdGhpbiBhIHNlcmllcy4g
VGhpcw0KPiBtZWFucyB0aGF0IHRoaXMgcGF0Y2ggc2hvdWxkIGJlIGJlZm9yZSBwYXRjaCAjNC4N
Cj4gDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBXZWkgQ2hlbiA8d2VpLmNoZW5AYXJtLmNvbT4N
Cj4gPiBTaWduZWQtb2ZmLWJ5OiBIb25nZGEgRGVuZyA8SG9uZ2RhLkRlbmdAYXJtLmNvbT4NCj4g
PiAtLS0NCj4gPiAgIHhlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYyB8IDExICsrKysrKysrKyst
DQo+ID4gICAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQ0K
PiA+DQo+ID4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYyBiL3hlbi9h
cmNoL2FybS9kb21haW5fYnVpbGQuYw0KPiA+IGluZGV4IDZjODZkNTI3ODEuLmNmMzQxZjM0OWYg
MTAwNjQ0DQo+ID4gLS0tIGEveGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jDQo+ID4gKysrIGIv
eGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jDQo+ID4gQEAgLTI2NSw5ICsyNjUsMTggQEAgc3Rh
dGljIHZvaWQgX19pbml0IGFsbG9jYXRlX21lbW9yeV8xMShzdHJ1Y3QgZG9tYWluDQo+ICpkLA0K
PiA+ICAgICAgIGludCBpOw0KPiA+DQo+ID4gICAgICAgYm9vbCBsb3dtZW0gPSB0cnVlOw0KPiA+
IC0gICAgdW5zaWduZWQgaW50IGxvd21lbV9iaXRzaXplID0gbWluKDMyVSwgYXJjaF9nZXRfZG1h
X2JpdHNpemUoKSk7DQo+ID4gKyAgICB1bnNpZ25lZCBpbnQgbG93bWVtX2JpdHNpemUgPSBhcmNo
X2dldF9kbWFfYml0c2l6ZSgpOw0KPiA+ICAgICAgIHVuc2lnbmVkIGludCBiaXRzOw0KPiA+DQo+
ID4gKyAgICAvKg0KPiA+ICsgICAgICAgV2hlbiBkbWFfYml0c2l6ZSBhbmQgcGxhdGZvcm0tPmRt
YV9iaXRzaXplIGFyZSBub3Qgc2V0LA0KPiA+ICsgICAgICAgYXJjaF9nZXRfZG1hX2JpdHNpemUg
d2lsbCByZXR1cm4gMC4gVGhhdCBtZWFucyB0aGlzIHN5c3RlbQ0KPiA+ICsgICAgICAgZG9lc24n
dCBuZWVkIHRvIHJlc2VydmUgbWVtb3J5IGZvciBETUEuIEJ1dCBpbiBvcmRlciB0bw0KPiA+ICsg
ICAgICAgbWVldCBhYm92ZSByZXF1aXJlbWVudHMsIHdlIHN0aWxsIG5lZWQgdG8gdHJ5IHRvIGFs
bG9jYXRlDQo+ID4gKyAgICAgICBtZW1vcnkgYmVsb3cgNEdCIGZvciBEb20wLg0KPiA+ICsgICAg
Ki8NCj4gDQo+IFRoZSBjb2Rpbmcgc3R5bGUgZm9yIGNvbW1lbnRzIGlzOg0KPiANCj4gLyoNCj4g
ICAqIEENCj4gICAqIEINCj4gICAqLw0KPiANCg0KSSB3aWxsIGZpeCBpdC4NCg0KPiA+ICsgICAg
bG93bWVtX2JpdHNpemUgPSBsb3dtZW1fYml0c2l6ZSA/IG1pbigzMlUsIGxvd21lbV9iaXRzaXpl
KSA6IDMyVTsNCj4gPiArDQo+ID4gICAgICAgLyoNCj4gPiAgICAgICAgKiBUT0RPOiBJbXBsZW1l
bnQgbWVtb3J5IGJhbmsgYWxsb2NhdGlvbiB3aGVuIERPTTAgaXMgbm90IGRpcmVjdA0KPiA+ICAg
ICAgICAqIG1hcHBlZA0KPiA+DQo+IA0KPiBDaGVlcnMsDQo+IA0KPiAtLQ0KPiBKdWxpZW4gR3Jh
bGwNCg==


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 02:09:05 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 02:09:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169170.309028 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGtxw-0003iy-PR; Fri, 20 Aug 2021 02:09:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169170.309028; Fri, 20 Aug 2021 02:09:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGtxw-0003ir-La; Fri, 20 Aug 2021 02:09:04 +0000
Received: by outflank-mailman (input) for mailman id 169170;
 Fri, 20 Aug 2021 02:09:03 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=pH7i=NL=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mGtxv-0003ij-O3
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 02:09:03 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com (unknown
 [40.107.21.62]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 9624f73b-015b-11ec-a677-12813bfff9fa;
 Fri, 20 Aug 2021 02:09:02 +0000 (UTC)
Received: from AM7PR03CA0017.eurprd03.prod.outlook.com (2603:10a6:20b:130::27)
 by AM0PR08MB5123.eurprd08.prod.outlook.com (2603:10a6:208:15b::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.19; Fri, 20 Aug
 2021 02:09:00 +0000
Received: from VE1EUR03FT054.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:130:cafe::5d) by AM7PR03CA0017.outlook.office365.com
 (2603:10a6:20b:130::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Fri, 20 Aug 2021 02:09:00 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT054.mail.protection.outlook.com (10.152.19.64) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Fri, 20 Aug 2021 02:08:59 +0000
Received: ("Tessian outbound 8b41f5fb4e9e:v103");
 Fri, 20 Aug 2021 02:08:59 +0000
Received: from 1af4584afa08.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 EEA73CC4-6ED8-44E4-B672-ECC5337AD723.1; 
 Fri, 20 Aug 2021 02:08:53 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 1af4584afa08.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 20 Aug 2021 02:08:53 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DBBPR08MB6266.eurprd08.prod.outlook.com (2603:10a6:10:203::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Fri, 20 Aug
 2021 02:08:51 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.019; Fri, 20 Aug 2021
 02:08:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9624f73b-015b-11ec-a677-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WsIS9oTWsfU76sly8sye5wCF2HYMJJQ1ZArZaVwsr3Q=;
 b=wotyO1nWhEWcyUYKQiQEojr9AcAfXAnphfiUTXERdukIPfMIhZJzlq38ueavP+Rz0mpT9Un0mrdzSLt9zjowCr1YL9I0CDJZeZ3JHbdR2/a56Gkb/jOfPGX2G66VNsqzRkzwoIg4IVDHNgqElvyuDNrmoCyl9o6hgWrvfU65AU0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UF8+ZRfrspxKy6t2XBBDyXX/bKjL1pYZSi3JDfuEpOfrZTYvW7dcndDp0jM0OhaYF08rO+GRmyTYjbNo/jGXisop7GaIOpz/ccfISMlzsJtHPrt+COrB46zxdtaRmdQ1VxKKgdXIxtWG200lPLctSToptbshg4JT2DDBpuXlzIeN34RzINfpcrZ2Q3/yW/2xpZroZ/nfVCWtM51TQeDmHmQi6WrjeRUubpTjXiZKVv+xhckwgjKZC16nDtFckVLXA9RocYjwG+etHNpQWGq5eDHB0Dv1TtYov/yZd2U6QXdWOFfSie3vFuzgrUqgRQK7ogcg6dyGruYm3jnsCugM3w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WsIS9oTWsfU76sly8sye5wCF2HYMJJQ1ZArZaVwsr3Q=;
 b=Jn4APk2hARu5MejBnXcG//QOm6uplsvDUkPEX55rLAGBcpT6vwhz377J404Df6544Z8arD7uvf+1D8jOLkdXz8JaMbmxEook5QuU9QSoC61vJqeKxRTnFHEMaJ1PdIeRpsXnEKuxCpMbnMtAY4p2DmHz5gTcO2N7muFKYW5/cLJbtHu1sOUY1vw3U9fIIT8iaUewHQls7f2y6yPwP5L+dEJ7kDLV38kEE5p+zrfRsnjwy73WcqPotaaJ0Aa8IFXglQSjC4Y2NWmY/+xMV2Y4NkNBRZOPG/vztP/CQoJnaZs+NX5qj9RBdNsU+L71QDy3LzBVk2PiMALA2ErrWc6BzA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WsIS9oTWsfU76sly8sye5wCF2HYMJJQ1ZArZaVwsr3Q=;
 b=wotyO1nWhEWcyUYKQiQEojr9AcAfXAnphfiUTXERdukIPfMIhZJzlq38ueavP+Rz0mpT9Un0mrdzSLt9zjowCr1YL9I0CDJZeZ3JHbdR2/a56Gkb/jOfPGX2G66VNsqzRkzwoIg4IVDHNgqElvyuDNrmoCyl9o6hgWrvfU65AU0=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>, "jbeulich@suse.com" <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 07/40] xen/arm: use !CONFIG_NUMA to keep fake NUMA
 API
Thread-Topic: [XEN RFC PATCH 07/40] xen/arm: use !CONFIG_NUMA to keep fake
 NUMA API
Thread-Index: AQHXjpsrCM0mCbgWfUKWYF7VHwpa+qt64JgAgADSDXA=
Date: Fri, 20 Aug 2021 02:08:51 +0000
Message-ID:
 <DB9PR08MB6857D0004A59BC90866AE4C89EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-8-wei.chen@arm.com>
 <e9a45fe3-e4b0-6533-8b41-ac3f10ef386a@xen.org>
In-Reply-To: <e9a45fe3-e4b0-6533-8b41-ac3f10ef386a@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 90576026A0A7BA48B6A6448DBCCD0EE7.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: c76f6d39-5f47-45a0-4138-08d9637f7976
x-ms-traffictypediagnostic: DBBPR08MB6266:|AM0PR08MB5123:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM0PR08MB512398948E8B8C6B1F6F70AA9EC19@AM0PR08MB5123.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:4714;OLM:4714;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 OLcciTt99xQWFAp1J43T9vDHyaVkzXfOW6TacDIEujWPTAyt17TYeMvJZkTXTassnMtdShhQ7AalRDdY/d9gCrgpxni81cldKm7EUYt9XzuPtHiecEJShelxgaSCBee/EjIKJnDSGyV1kdIcIEOZVFi3ENbIYWOOduQ6dOfZcjfc2X5/aI2yiDNZcf1Hd4swx0evqEjTqH17cK5jkHSyokMDi7mit+qembeh3L36MO+lpS0yyQNCjHVcFAvltMu8K6g3LIvP02jYUXMCwEYtgRAIj/pVkqQYU6BC7mqFnIShYjQqxkhBfciwWjvmKI+pxLmxyRfk6QfOk2RiLH5d6mI/VC17eTw7gH0cDbsMZTlzXlMVV1a4Nj8QoTrIQIQKiP2Fbg1EglxGuzD+IAIV1Bp4hbjo6FNAEF04TPBIJH4hSt2H9s2NjhKIFKB9HcMmes92vFmk4FD5nh7U1ohPdNrPV1NuUGjQoEG/QX6n754//JAomij+YC/LA1Hm4OHDH4k9/bvvBC7XKfFYiJjaT7SG6sETuEIPdE0z0zKf5+s2SN7VP91od63hK1fFlg5qyrDFRB82fH57W/soHBGsQx2US5al5H0y0yJL7dBxkQwtxraByPLMFO3PWBV41fJtVbKj8D1bi2iUnLI7vTSXwnLu6sQXucEmDiQ1SdHsYOuGLpStZ4wXqwpcFbb9i/ZuUqay2poeFmqRBNCHaoJiiA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(346002)(39850400004)(396003)(376002)(136003)(366004)(7696005)(38100700002)(83380400001)(66556008)(33656002)(9686003)(26005)(8676002)(2906002)(122000001)(6506007)(52536014)(186003)(478600001)(66446008)(66476007)(4326008)(110136005)(64756008)(53546011)(76116006)(86362001)(316002)(5660300002)(38070700005)(8936002)(71200400001)(66946007)(55016002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?cW9vNnVDRXJlK2JlRFcrOVY3aDZnU3k3UGdQczJvVUNaVE5uZHpYUVlRQkxX?=
 =?utf-8?B?bnVsaXJScUJsZzFiUzBaL3hackp0SVVvQ3dTeUwza0NjeVFXV0phK05tSWNh?=
 =?utf-8?B?YnZ4V0Q0S3ZaM0xQcVFrbHdlZEwxRE1PMVVmQUovdk9jb25CV2ZyYVpTYjFQ?=
 =?utf-8?B?U2ZWM2MxR1dtK29CTDF0dkRUeEg4alI5ZHdKMTJTRTZvT0hpR1JIZkM3d280?=
 =?utf-8?B?Qy9LajlLcEx6R2tMVGJ4cXN1STVqTytnKzY1L3E3M0JkNjhHYWZRNGh4RCtK?=
 =?utf-8?B?d0ZSMGxsTmFUZnZxMVlRRVBoM2pSUTlhUzhDRElMNTU1RXdFbmhKeWRLZGRJ?=
 =?utf-8?B?WUU3VjBmVERwYndwUCtJSkdRVjJRVHJPd01XRFpxTmR3WkNiM01WVEtxUm1z?=
 =?utf-8?B?RlM4WDIrMmNTSjNCeUhudldtOGxCblJ3T0VLeFBRQlFiUitycFVDcEhlK2lY?=
 =?utf-8?B?bW5sRUUrNUZMYStJSTkvMU1mMjdSRlk2SHlzKzd0b2Vpb1BvTkw3UnZwbGF6?=
 =?utf-8?B?RGY2VFpNamxBenJZMDBxcGl2S3NhSzQwSGlGWFZod2Q0VUZJbVJSeDZ0NkMv?=
 =?utf-8?B?YkdIVzNPUE5rZlRiTXIxSW1CaVo3eC9KQ09aMm9TMy8rRkJESkNmRXdGdkV0?=
 =?utf-8?B?OHozN1dwRzlKQ1I3bHl2MHJQUjFwR2V4QktHK2ZwR0RHTDM4T05lL3o0R1BJ?=
 =?utf-8?B?UTNSeWVGa040MVZlY2xWeExDRWpBcVJ4TURLSXd2dzBmSS9PQWZ2SDV2QW52?=
 =?utf-8?B?OVYwdHk5SkhYNDNERElNWE9JUlRVNU9zMm53VXlvNThKblpIdXkvQnRoN2ly?=
 =?utf-8?B?S2FTcUhITERBZHM1NGxaRVlvaTUyR0x5dkFFeDh4MXJ2Q3REelpmVGVRVXUz?=
 =?utf-8?B?S2NuSjU4a3ppbHVTbmtjTE1HNFoxREJZdlI4OXdKQWZkZ2VCNGtqYm9DSlR3?=
 =?utf-8?B?Wm8rblBITnY5Y1E1RUVyN0RJM2FyTVZNWUd3OG5iL2UvYmRwQ2hjRURYN25y?=
 =?utf-8?B?cTBjcFkyNjNVMVVLMFRsNGg4N1RsMnUvaWFEUkJYSCtNZEJ0dTRMcEE1MUZX?=
 =?utf-8?B?NjVvekplb0g2RkxtQUdHZHUvYmJ6WEhqK2ViQTRpY2xqVXVFbEIzNSsyM3dN?=
 =?utf-8?B?dGFyMjV6em9yTWNzRDFzZEo4VW12aEE0Mi9lUi84NHJ6a3BPbGxSQ0NFWlBI?=
 =?utf-8?B?L1NpbmxpKzZCMmU3a1lkUHhMZXFmd0dING1JSjJsTlI1aHViYnZqNjRubFJu?=
 =?utf-8?B?a1dsN0o5M1VGcTNLNnRNS1F0ejkzUEdOSmgrRWxFMThwYTFNbDBJbEpsSDJF?=
 =?utf-8?B?cWJUZzc2QTF4UTRYcGhKQXZGTEllSmlmV2pwYWkvRXZHdk52ZWtHa085QjF0?=
 =?utf-8?B?bzFnd1RMZlBFay9mNEdpd1prVld1UkN3Z2pkVVAyeGhCN3UxQzZuWUc4MzNo?=
 =?utf-8?B?aXkrRk04MjBQbUg4eTZ6RERDeEIwYzZrU0YrdzMrSDFIdW0xdlhmQ25IdW5V?=
 =?utf-8?B?M3dYRTEzZlFYQmpvOENUdnhaNVhGMVpieGY5aDJFdGs5dWxrczVjd25ZWFFX?=
 =?utf-8?B?N3N3SXB5ditaZFUwR21wSG5JRGRHMFBJMTc1QVhGWnhQS2ZvNUZUaE9vVU5L?=
 =?utf-8?B?OG1LVHBEUzJxOVI3UGFrQUk5UEhuU0pyZVhWY0F2VHpjSFZ4N2RTQ2FRRk1V?=
 =?utf-8?B?bmE2eWlvTmd4K3ZadldlVU1CYm9xWU5rVmhJTm02WjNuVC9lVmswOUVWUGp1?=
 =?utf-8?Q?2g1vwPMsww/nm9CyHdytbtqZnq3MkkhZsibZ+19?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB6266
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT054.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	ece1490a-396a-4d9d-62c8-08d9637f747b
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tZFUj/wQnfDv7v6upqHVJLYKVu24PErROlPTvsadyXurgxqlWgh+t1zf/daB/pY7rj+gfuFX/xojN1OQwijvUlqHt5Of7GoDvquxO4roFDZ3pnxBXmrqj+JIytyeIUz0gHI2DA6/v5HY0wSwt6aXch4Ty1ntlxwQWl3JaKLw9kmmkhSNmYNe2KkPVobDBCX1WL3J7qMPibisT+Jesv96GnQHtWY51n6p42FPLKyUpbs09PunuFFCkO4TGWuo73cQqyWwnAGifoK0Iva43wKRa+9FMd12e0Bc1QWQQJzhVDxssh6ZPrGtjOscMjR60UHR9yK4nlE5UUGK2FPfRIWU9Qp9QZGhaoQw5j3AvLtvGAysJgTuWyLXyDE8ukXacqs1T/czb54jCUOXLLaEu4Lv327diRYqrzchUwUAFHgUsuly8M70SXNnrX6a3YSfeOHqfyonbzre2fCwEDn1YztXszWknzvuh01PnNE4+Qle4Iba9NZpzXZHtdi9ASJEKMarEXHfC8E9QaLkecQJM6CZz1EpVUDQxNUXPfReIJ0VT2sXBoZIMc/ZlceLSmUMQkgRn50ng3p3wA8Y3dpzDytjOStK427ZXf6dFfZoTgQxwjKYwKSZ38ousC1u7Kd4AZCUMoxB3DVIjF+2lnnkm6eyobmZe/uKKpSs/bi96zpMaysojwuHgmhYVt9Zr1pvw6J68ysfXstosHE9CZguGLTjoQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(396003)(136003)(376002)(346002)(39850400004)(36840700001)(46966006)(5660300002)(82740400003)(81166007)(478600001)(70206006)(2906002)(186003)(8676002)(8936002)(70586007)(53546011)(36860700001)(6506007)(26005)(47076005)(52536014)(33656002)(82310400003)(4326008)(316002)(86362001)(83380400001)(55016002)(110136005)(336012)(9686003)(7696005)(356005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 02:08:59.8335
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c76f6d39-5f47-45a0-4138-08d9637f7976
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT054.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5123

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMTnml6UgMjE6MzQN
Cj4gVG86IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgeGVuLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnOw0KPiBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqYmV1bGljaEBzdXNlLmNvbQ0K
PiBDYzogQmVydHJhbmQgTWFycXVpcyA8QmVydHJhbmQuTWFycXVpc0Bhcm0uY29tPg0KPiBTdWJq
ZWN0OiBSZTogW1hFTiBSRkMgUEFUQ0ggMDcvNDBdIHhlbi9hcm06IHVzZSAhQ09ORklHX05VTUEg
dG8ga2VlcCBmYWtlDQo+IE5VTUEgQVBJDQo+IA0KPiBIaSBXZWksDQo+IA0KPiBPbiAxMS8wOC8y
MDIxIDExOjIzLCBXZWkgQ2hlbiB3cm90ZToNCj4gPiBPbmx5IEFybTY0IHN1cHBvcnRzIE5VTUEs
IHRoZSBDT05GSUdfTlVNQSBjb3VsZCBub3QgYmUNCj4gPiBlbmFibGVkIGZvciBBcm0zMi4NCj4g
DQo+IFdoYXQgZG8geW91IG1lYW4gYnkgImNvdWxkIG5vdCBiZSBlbmFibGVkIj8NCg0KSSBoYXZl
IG5vdCBzZWVuIGFueSBBcm0zMiBoYXJkd2FyZSBzdXBwb3J0IE5VTUEsIHNvIEkgdGhpbmsNCndl
IGRvbid0IG5lZWQgdG8gc3VwcG9ydCBBcm0zMiBOVU1BLiBJbiB0aGlzIGNhc2UsIHRoaXMgS2Nv
bmZpZw0Kb3B0aW9uIGNvdWxkIG5vdCBiZSBlbmFibGVkIG9uIEFybTMyLg0KDQo+IA0KPiA+IEV2
ZW4gaW4gQXJtNjQsIHVzZXJzIHN0aWxsIGNhbiBkaXNhYmxlDQo+ID4gdGhlIENPTkZJR19OVU1B
IHRocm91Z2ggS2NvbmZpZyBvcHRpb24uIEluIHRoaXMgY2FzZSwga2VlcA0KPiA+IGN1cnJlbnQg
ZmFrZSBOVU1BIEFQSSwgd2lsbCBtYWtlIEFybSBjb2RlIHN0aWxsIGNhbiB3b3JrDQo+ID4gd2l0
aCBOVU1BIGF3YXJlIG1lbW9yeSBhbGxvY2F0aW9uIGFuZCBzY2hlZHVsZXIuDQo+ID4NCj4gPiBT
aWduZWQtb2ZmLWJ5OiBXZWkgQ2hlbiA8d2VpLmNoZW5AYXJtLmNvbT4NCj4gPiAtLS0NCj4gPiAg
IHhlbi9pbmNsdWRlL2FzbS1hcm0vbnVtYS5oIHwgNCArKysrDQo+ID4gICAxIGZpbGUgY2hhbmdl
ZCwgNCBpbnNlcnRpb25zKCspDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNt
LWFybS9udW1hLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL251bWEuaA0KPiA+IGluZGV4IDMxYTZk
ZTRlMjMuLmFiOWM0YTI0NDggMTAwNjQ0DQo+ID4gLS0tIGEveGVuL2luY2x1ZGUvYXNtLWFybS9u
dW1hLmgNCj4gPiArKysgYi94ZW4vaW5jbHVkZS9hc20tYXJtL251bWEuaA0KPiA+IEBAIC01LDYg
KzUsOCBAQA0KPiA+DQo+ID4gICB0eXBlZGVmIHU4IG5vZGVpZF90Ow0KPiA+DQo+ID4gKyNpZiAh
ZGVmaW5lZChDT05GSUdfTlVNQSkNCj4gDQo+IE5JVDogV2UgdGVuZCB0byB1c2UgI2lmbmRlZiBy
YXRoZXIgdGhhbiAjaWYgIWRlZmluZWQoLi4uKQ0KPiANCg0KT0ssIEkgd2lsbCBjaGFuZ2UgcmVs
YXRlZCBjaGFuZ2VzIGluIHRoaXMgc2VyaWVzLg0KDQo+ID4gKw0KPiA+ICAgLyogRmFrZSBvbmUg
bm9kZSBmb3Igbm93LiBTZWUgYWxzbyBub2RlX29ubGluZV9tYXAuICovDQo+ID4gICAjZGVmaW5l
IGNwdV90b19ub2RlKGNwdSkgMA0KPiA+ICAgI2RlZmluZSBub2RlX3RvX2NwdW1hc2sobm9kZSkg
ICAoY3B1X29ubGluZV9tYXApDQo+ID4gQEAgLTI1LDYgKzI3LDggQEAgZXh0ZXJuIG1mbl90IGZp
cnN0X3ZhbGlkX21mbjsNCj4gPiAgICNkZWZpbmUgbm9kZV9zdGFydF9wZm4obmlkKSAobWZuX3go
Zmlyc3RfdmFsaWRfbWZuKSkNCj4gPiAgICNkZWZpbmUgX19ub2RlX2Rpc3RhbmNlKGEsIGIpICgy
MCkNCj4gPg0KPiA+ICsjZW5kaWYNCj4gPiArDQo+ID4gICAjZW5kaWYgLyogX19BUkNIX0FSTV9O
VU1BX0ggKi8NCj4gPiAgIC8qDQo+ID4gICAgKiBMb2NhbCB2YXJpYWJsZXM6DQo+ID4NCj4gDQo+
IENoZWVycywNCj4gDQo+IC0tDQo+IEp1bGllbiBHcmFsbA0K


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 02:19:01 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 02:19:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169176.309039 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGu7N-0005IF-Pb; Fri, 20 Aug 2021 02:18:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169176.309039; Fri, 20 Aug 2021 02:18: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 1mGu7N-0005I8-Lu; Fri, 20 Aug 2021 02:18:49 +0000
Received: by outflank-mailman (input) for mailman id 169176;
 Fri, 20 Aug 2021 02:18:47 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=pH7i=NL=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mGu7L-0005I2-MB
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 02:18:47 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com (unknown
 [40.107.20.79]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id f1e7eb1d-015c-11ec-a67a-12813bfff9fa;
 Fri, 20 Aug 2021 02:18:45 +0000 (UTC)
Received: from AM6PR02CA0033.eurprd02.prod.outlook.com (2603:10a6:20b:6e::46)
 by DB7PR08MB3436.eurprd08.prod.outlook.com (2603:10a6:10:44::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Fri, 20 Aug
 2021 02:18:42 +0000
Received: from VE1EUR03FT050.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:6e:cafe::17) by AM6PR02CA0033.outlook.office365.com
 (2603:10a6:20b:6e::46) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Fri, 20 Aug 2021 02:18:42 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT050.mail.protection.outlook.com (10.152.19.209) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Fri, 20 Aug 2021 02:18:42 +0000
Received: ("Tessian outbound 1a0c40aa17d8:v103");
 Fri, 20 Aug 2021 02:18:42 +0000
Received: from f880f814f4a5.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 E8A5CC14-8E54-4789-ADE6-AE35933147D3.1; 
 Fri, 20 Aug 2021 02:18:31 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f880f814f4a5.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 20 Aug 2021 02:18:31 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB6PR0801MB1623.eurprd08.prod.outlook.com (2603:10a6:4:3b::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.21; Fri, 20 Aug
 2021 02:18:19 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.019; Fri, 20 Aug 2021
 02:18:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f1e7eb1d-015c-11ec-a67a-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=w7ow2CG31+YTKKpEYNAbnCqZcngS2cScXnjBUlDZiQo=;
 b=mo7r+9ucohESRfBhGg6xCsBvyx3DWwkRoIH3z3ixUh2EOviGYFLeXeLhlL9LpiRGCgze+K7+cl7Pc1KCKgLcraVHfSH6JP0eP+Cw4lmSZ9Mkj7hIJeIDMmHIjrkd1PZ5GDfKNdrmpi/jHuy/01UCsPPosdxo3rkDA5BcTWw+B7o=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hDPmmo8A0Zk27Q8IlC7JS4PQKU1teJeW9rbQz0cquBKmHy7lqJ7s5IR7MJtlW/FdckumODCAQesSP1iXXYjTfc1ElZS0zrTGUcLV3gbl7v/y+2xy/ydsD7lo6ot5cL3y3HSRVjRBiIFtVhRPXAWzum3U6PI1eEic//or94ZXG4rbjNGDF4znTy7Xe/Mmp4hNJf1WXIk+ABkxsGfs4BXkiwwYNTYzx/dqB99S2pjvn20Izc6hmYfshf+JCPcMAs7mFLfQOI5XeA60praeJPXeOSi6bTFaqfaUhaiaqoNPvE8hRc+XTGCR9tgscqN8hRVaBTuhz1BcKeGlV5eClfsx+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-SenderADCheck;
 bh=w7ow2CG31+YTKKpEYNAbnCqZcngS2cScXnjBUlDZiQo=;
 b=mA+xqeWR0fN5hNMBvQnKpLPxHroKcFCuXqAVNdNv9or7t7p559hWg3lTY7diJA9BBt0953l2B6/QyotyNvYoiy913be4eHdsYu1r1p80jDMiwwFbU5QGx7gr/2aixoTWLKg98Aeh0dgwQUtP9zKcBVj67SI0cWJ6pxwUVXCCWqdfOOSQBnE52xqZ3LiIPa+B245xK/4kuF8igIRrWEiDBee5kUc5/i5X5gnc6JJFgk5kIZsN9HeLSoZvjuhruZK03ZCNvLt/Fp5bVMMwS4pkK4lVDRHscRZd4XOrISUg8POvWsxZl/ikIwDLtt5/fmDd734FF1Ej5jTBUUDycVjScw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=w7ow2CG31+YTKKpEYNAbnCqZcngS2cScXnjBUlDZiQo=;
 b=mo7r+9ucohESRfBhGg6xCsBvyx3DWwkRoIH3z3ixUh2EOviGYFLeXeLhlL9LpiRGCgze+K7+cl7Pc1KCKgLcraVHfSH6JP0eP+Cw4lmSZ9Mkj7hIJeIDMmHIjrkd1PZ5GDfKNdrmpi/jHuy/01UCsPPosdxo3rkDA5BcTWw+B7o=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>, "jbeulich@suse.com" <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 18/40] xen/arm: Keep memory nodes in dtb for NUMA
 when boot from EFI
Thread-Topic: [XEN RFC PATCH 18/40] xen/arm: Keep memory nodes in dtb for NUMA
 when boot from EFI
Thread-Index: AQHXjptJE815hXcKO0qqVfBN7cbO2at7I+qAgACRNuA=
Date: Fri, 20 Aug 2021 02:18:18 +0000
Message-ID:
 <DB9PR08MB6857F9C9DAE5314C1F99E0159EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-19-wei.chen@arm.com>
 <bfcfa593-60ac-43a7-4f1f-a7a3ab04a1ff@xen.org>
In-Reply-To: <bfcfa593-60ac-43a7-4f1f-a7a3ab04a1ff@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 647A6D030E08D6448204841F10D7C244.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 1c03726a-4e5b-4d1c-120d-08d96380d4ba
x-ms-traffictypediagnostic: DB6PR0801MB1623:|DB7PR08MB3436:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<DB7PR08MB343697C2AE185BD4E2E64D899EC19@DB7PR08MB3436.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:9508;OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 WLKZDH/7s5/rkN7y2T8BqBXyE6e1uq/COBqeNLcIyE1wMjQeecYFw8XyPSt2rvesTdIjUv7IF1KE4fRlqjrKPK7tt7eUfXsjecKuTujLsnTVX3kdB9eO9ZppG/ZCMzYAZSEdVwL3WTFYAMoA/c3IeMTeQDhbjPJkr2JR1rwJ3THCa6l3ufTPQQ3irOXRINjPU5fUj8O8RpqxGLZ7VvkmVsEU2P4U50ODtP5QokCTmhoYEaBlfH06SKIzJodccw11WyVmcG1tV0Mxu4+Vsuikae1ySivm92RbFYOfvAbhPFyNytFCzoKasC2z4uxaMYlhUygIuYV3jRWUMDdWZJO2UGwwkaQBdFFPBOmvihWjKEPO8EKj58IAsURRec3VvhbiLGMH7J14QNW55DN0NAjt8wuPxrJJdYwSTWbJpxXhLf4nGJeiWk6cWj3bw021KH7sZ3IJ8zSECoyjc+6Hr/qA/BV7XcZ6W7EBHBCdTEehM1HafPuypXp/asagthv926S+jhB1L3rCioK6L1gb1c9qOEJ3cgVFO1rN86BxX3QrA1n6cqCcyBSSPJviw9wKjXO+JDMnoOpWMbpzquzxKPutjNbU+Ahmifib6MlmY8//g9jgg0tb1qArs4t12bMKOvXEM4wGkPM/onHvnFC71uxcLOElSLEsoigjTtXYpbze58G5XGfMQm/2fae9Wl/dkBd4Wyb7srazgG1AaToY4dXAZw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(66446008)(186003)(5660300002)(66476007)(2906002)(9686003)(26005)(6506007)(7696005)(53546011)(86362001)(8676002)(83380400001)(52536014)(38100700002)(76116006)(4326008)(33656002)(66946007)(122000001)(316002)(71200400001)(508600001)(38070700005)(110136005)(66556008)(64756008)(8936002)(55016002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?cGMrTXZBQUNxUlZmN05hTWF3UHpmT25IQVVVUWs0Q3JJOTc1cjRmRE9NamZs?=
 =?utf-8?B?S1lKYlhQVTd3a0tXOEdoMEozRlQ5VnRFQUsvZTZQVWpxYkw2VGhwVDdiN2lH?=
 =?utf-8?B?RFNNcWhVc3FGbWZNK053RzlEUGxybjRLREp3WHhURHdJZmloOFJMQlRiTkVr?=
 =?utf-8?B?L0UvZm1XQjNBZUc5YVhyME4rT1NjQmxUMlk5Tk03MW9kZ2M4azROc3dmNE1L?=
 =?utf-8?B?dkl6WVUyd3hrWG0wV3pLT1hITGg2R2NjSC9ZM0xjQWxlVFBkNE13SmF0c3Jo?=
 =?utf-8?B?VDFiZDFNaHJ3a2xTdU01SkZCMmNkRnk5cGpHSzNyQ2pIY3k1WlVJdll0aXdF?=
 =?utf-8?B?WnZqSytWTGNEMmZ5ZENkdk5WRUdKOGYzbyttZ3dmKzlTT2xWdWs1ZTduRFAz?=
 =?utf-8?B?OFdvKzY1ckdJZ29UNnZmM29rR2F2d0xqNVdycjFUcm4zY3JkeDVUenBOdHhi?=
 =?utf-8?B?MkNISmpwVm5uTE95aElueTBCcis2R1VYV0tna2hEZDl1V2ZiQ1prL0VYeUU5?=
 =?utf-8?B?Mld3OUtoek5wNENITzRkZlNmS3ZjVzgvODZvVWdBV05ZaTdTeVF2Z2FFT3BN?=
 =?utf-8?B?T0ovRlJjUEdlNC95d1crREVMTUI3MkZxTHBFRkNmRVRNdnlXSjE4bzkxSm04?=
 =?utf-8?B?S3F5QUVpM2lPemQ3TTlZRzJEMkZKWTNEQmZvdXhIWTJRdUxQRGJ2R0Z1bmw4?=
 =?utf-8?B?bHlZTE9OUzQvS0VVZGlIbEpzZ1F1ckN1U2thK3dsNUJ0MmlEU3B2cy80SHZM?=
 =?utf-8?B?OVBOKzBjSjljSDFVVWtzWGtrMmF0SFlHaG15QkYydi8rS2phVkR3TFFhTHdt?=
 =?utf-8?B?czZkc0FsQ1hCRnFMUGNuUjMramRPalkxRkJZZDRSRytTb3hFUy9WSWowYm5z?=
 =?utf-8?B?NmhqbzZRN3Noc0RNUnJWcGxncXpmRmRjTUFRbEJQVi9IOFV6aVdYWFBZMVVZ?=
 =?utf-8?B?cHRlYUZ2Rng5aUY5MEh6MnNRM3NhRUVvZWt0bVNYK2lKdFNNcjFJV210Zyt5?=
 =?utf-8?B?c3orNkIrSXZ0SDlkemthSjhvbWpIQUVXbkgxcUE4eFcvS0h0eDJ0YURnZDI2?=
 =?utf-8?B?MXRwUHN3WUlWUWJOdnZMWTY3QXYzcUM0RXZKWjdmVjlZTmpFdFV3V1ZyWEtK?=
 =?utf-8?B?NFpEKzVtck1XbGpYcHJKZ2F4ZGo0RWQwckNkNE1NOG5iaW80SE9rbTFLTE9F?=
 =?utf-8?B?WTd4SWJ5Y3pXYW5YWGwzVkxuNU1JWmZ4NWxTZ3Avdi9NWlRXdjlNMkdtdDNO?=
 =?utf-8?B?N1Y1Y2E0S0NxL1AvTGlUMkg3eXRJdWljZ2JzQVdYb0hDaTRMVHd3YW1Qa0V3?=
 =?utf-8?B?a29mWVB5U3doSC9lRTl4ODk3YTVLQWZmZ2NjS2JkamNUQTM5ejFiT0UvVEdm?=
 =?utf-8?B?bHRmTTIzcmNyMW5EV09NR0VKbU9VN21EZWl3TVNSaTRtZnUzWUc3YXpMaTNM?=
 =?utf-8?B?YXV1RytFam5scnlTVVFYb1JNMExiQUVWKzV3YmRrMlRrZ1Fidll6czRBblZ5?=
 =?utf-8?B?NTN6VTYxbDQ0WXh3VmRUT0l1VkwrMFp1Q3c0RGRtVkNYakFUUE5uNEpDVEJr?=
 =?utf-8?B?MHF1dGYyUWRyZmxNL0U0V2cvWWhOTmh5MzgrQlNVZUY0Mkd5OGNTM2NXUVI3?=
 =?utf-8?B?UzdOU1piTFlEWmhPRURDTUQzUFlpSVhOT3haemFRL1ZGbUt6eFA5TnhRU1I4?=
 =?utf-8?B?MmFXVHdLSW8rczJPbmRhUmdoRDk3NmNKK2dVamZPVFA4dUdoRHZjK1JCcDds?=
 =?utf-8?Q?l35auPHBQZpgwsDUWlNEVK7HpBK4/+Ai1fpnNhi?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB1623
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT050.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	44e77990-06e8-4dd6-52a5-08d96380c6dc
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bRHYkLdhmKW/LGzw9s6f5KQl1o/zF7PLs5xSPGp5vFjXDoEE/AIIhsZlkdbfqLSlYT1fZo1upERh+dJNXONCePa6XcoY1zjLqCwB1WNoER10Hk0ixkxVVuEkn2T5z1H4VIL+JH8+GiyycxdKROrM7pCPPvnO8VD7iiks3JB2z8bqHtJm0qNsZ+Lo0vKnbro+EqTRJJcpCEZR+NSIYKQXIdjjaCvEklrE/NpeVwTo+/buw2PNjyEHOYEI6R+P/OcNffQUZrGKxdfZXjpZNsqfcDoiqIGChiZDjbbOcnkMGkZsUzietw4GhGEFXNtaDNOjVKNaNzNzRwMHoZcJGbPwduip9ilYJ7TBMB0xPGgsbaiiAe0/eG55KglinRz62lUZwsTzwhTgf2277FLJCW2rGh+YNXctucIQQM53jQGjDOgGgBS/vhot+LAZATT+pA4xob7v4ZGXFrM1eRUoorWwNzKsC/ps1jSSem//0/UJzh3sHYZOka3fe51AoQOSq38hoTj0iA80Oft74P5kzNi4nhAvmf9CjUBC0gzO+TiOZFfr3g+KxJUHoV0QGy/FZ7kDi4axMEVQkFr/ja4NISiyXMBIvHzqxYCyD81O/KnAQ5/1jb4vpmWIu1tgWTdQyCHesyOb2AX3wYrArJRuBnObDjCWGrHhel7pz5eGdYIsvHRmgOej6xr/8rbw9Tm+ql1WxcrH5zWfceHIDK8ZOaZICA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(396003)(39850400004)(136003)(376002)(346002)(36840700001)(46966006)(2906002)(82740400003)(478600001)(7696005)(5660300002)(82310400003)(83380400001)(26005)(8676002)(33656002)(86362001)(4326008)(336012)(55016002)(186003)(70206006)(70586007)(356005)(36860700001)(9686003)(8936002)(53546011)(110136005)(6506007)(316002)(47076005)(81166007)(52536014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 02:18:42.4484
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1c03726a-4e5b-4d1c-120d-08d96380d4ba
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT050.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3436

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMjDml6UgMTozNQ0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+OyB4ZW4tZGV2ZWxAbGlzdHMueGVucHJv
amVjdC5vcmc7DQo+IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc7IGpiZXVsaWNoQHN1c2UuY29tDQo+
IENjOiBCZXJ0cmFuZCBNYXJxdWlzIDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+DQo+IFN1Ympl
Y3Q6IFJlOiBbWEVOIFJGQyBQQVRDSCAxOC80MF0geGVuL2FybTogS2VlcCBtZW1vcnkgbm9kZXMg
aW4gZHRiIGZvcg0KPiBOVU1BIHdoZW4gYm9vdCBmcm9tIEVGSQ0KPiANCj4gSGkgV2VpLA0KPiAN
Cj4gT24gMTEvMDgvMjAyMSAxMToyNCwgV2VpIENoZW4gd3JvdGU6DQo+ID4gRUZJIGNhbiBnZXQg
bWVtb3J5IG1hcCBmcm9tIEVGSSBzeXN0ZW0gdGFibGUuIEJ1dCBFRkkgc3lzdGVtDQo+ID4gdGFi
bGUgZG9lc24ndCBjb250YWluIG1lbW9yeSBOVU1BIGluZm9ybWF0aW9uLCBFRkkgZGVwZW5kcyBv
bg0KPiA+IEFDUEkgU1JBVCBvciBkZXZpY2UgdHJlZSBtZW1vcnkgbm9kZSB0byBwYXJzZSBtZW1v
cnkgYmxvY2tzJw0KPiA+IE5VTUEgbWFwcGluZy4NCj4gPg0KPiA+IEJ1dCBpbiBjdXJyZW50IGNv
ZGUsIHdoZW4gWGVuIGlzIGJvb3RpbmcgZnJvbSBFRkksIGl0IHdpbGwNCj4gPiBkZWxldGUgYWxs
IG1lbW9yeSBub2RlcyBpbiBkZXZpY2UgdHJlZS4gU28gaW4gVUVGSSArIERUQg0KPiA+IGJvb3Qs
IHdlIGRvbid0IGhhdmUgbnVtYS1ub2RlLWlkIGZvciBtZW1vcnkgYmxvY2tzIGFueSBtb3JlLg0K
PiA+DQo+ID4gU28gaW4gdGhpcyBwYXRjaCwgd2Ugd2lsbCBrZWVwIG1lbW9yeSBub2RlcyBpbiBk
ZXZpY2UgdHJlZSBmb3INCj4gPiBOVU1BIGNvZGUgdG8gcGFyc2UgbWVtb3J5IG51bWEtbm9kZS1p
ZCBsYXRlci4NCj4gPg0KPiA+IEFzIGEgc2lkZSBlZmZlY3QsIGlmIHdlIHN0aWxsIHBhcnNlIGJv
b3QgbWVtb3J5IGluZm9ybWF0aW9uIGluDQo+ID4gZWFybHlfc2Nhbl9ub2RlLCBib290bWVtLmlu
Zm8gd2lsbCBjYWxjdWxhdGUgbWVtb3J5IHJhbmdlcyBpbg0KPiA+IG1lbW9yeSBub2RlcyB0d2lj
ZS4gU28gd2UgaGF2ZSB0byBwcnZlbnQgZWFybHlfc2Nhbl9ub2RlIHRvDQo+IA0KPiBzL3BydmVu
dC9wcmV2ZW50Lw0KPiANCg0KT2sNCg0KPiA+IHBhcnNlIG1lbW9yeSBub2RlcyBpbiBFRkkgYm9v
dC4NCj4gPg0KPiA+IEFzIEVGSSBBUElzIG9ubHkgY2FuIGJlIHVzZWQgaW4gQXJtNjQsIHNvIHdl
IGludHJvZHVjZWQgYSB3cmFwcGVyDQo+ID4gaW4gaGVhZGVyIGZpbGUgdG8gcHJldmVudCAjaWZk
ZWYgQ09ORklHX0FSTV82NC8zMiBpbiBjb2RlIGJsb2NrLg0KPiA+DQo+ID4gU2lnbmVkLW9mZi1i
eTogV2VpIENoZW4gPHdlaS5jaGVuQGFybS5jb20+DQo+ID4gLS0tDQo+ID4gICB4ZW4vYXJjaC9h
cm0vYm9vdGZkdC5jICAgICAgfCAgOCArKysrKysrLQ0KPiA+ICAgeGVuL2FyY2gvYXJtL2VmaS9l
ZmktYm9vdC5oIHwgMjUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ICAgeGVuL2luY2x1
ZGUvYXNtLWFybS9zZXR1cC5oIHwgIDYgKysrKysrDQo+ID4gICAzIGZpbGVzIGNoYW5nZWQsIDEz
IGluc2VydGlvbnMoKyksIDI2IGRlbGV0aW9ucygtKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL3hl
bi9hcmNoL2FybS9ib290ZmR0LmMgYi94ZW4vYXJjaC9hcm0vYm9vdGZkdC5jDQo+ID4gaW5kZXgg
NDc2ZTMyZTBmNS4uN2RmMTQ5ZGJjYSAxMDA2NDQNCj4gPiAtLS0gYS94ZW4vYXJjaC9hcm0vYm9v
dGZkdC5jDQo+ID4gKysrIGIveGVuL2FyY2gvYXJtL2Jvb3RmZHQuYw0KPiA+IEBAIC0xMSw2ICsx
MSw3IEBADQo+ID4gICAjaW5jbHVkZSA8eGVuL2xpYi5oPg0KPiA+ICAgI2luY2x1ZGUgPHhlbi9r
ZXJuZWwuaD4NCj4gPiAgICNpbmNsdWRlIDx4ZW4vaW5pdC5oPg0KPiA+ICsjaW5jbHVkZSA8eGVu
L2VmaS5oPg0KPiA+ICAgI2luY2x1ZGUgPHhlbi9kZXZpY2VfdHJlZS5oPg0KPiA+ICAgI2luY2x1
ZGUgPHhlbi9saWJmZHQvbGliZmR0Lmg+DQo+ID4gICAjaW5jbHVkZSA8eGVuL3NvcnQuaD4NCj4g
PiBAQCAtMzM1LDcgKzMzNiwxMiBAQCBzdGF0aWMgaW50IF9faW5pdCBlYXJseV9zY2FuX25vZGUo
Y29uc3Qgdm9pZCAqZmR0LA0KPiA+ICAgew0KPiA+ICAgICAgIGludCByYyA9IDA7DQo+ID4NCj4g
PiAtICAgIGlmICggZGV2aWNlX3RyZWVfbm9kZV9tYXRjaGVzKGZkdCwgbm9kZSwgIm1lbW9yeSIp
ICkNCj4gPiArICAgIC8qDQo+ID4gKyAgICAgKiBJZiBzeXN0ZW0gYm9vdCBmcm9tIEVGSSwgYm9v
dGluZm8ubWVtIGhhcyBiZWVuIHNldCBieSBFRkksDQo+IA0KPiAiSWYgdGhlIHN5c3RlbSBib290
Ii4gQWx0aG91Z2gsIEkgd291bGQgc3VnZ2VzdCB0byB3cml0ZToNCj4gDQo+ICJJZiBYZW4gaGFz
IGJlZW4gYm9vdGVkIHZpYSBVRUZJLCB0aGUgbWVtb3J5IGJhbmtzIHdpbGwgYWxyZWFkeSBiZQ0K
PiBwb3B1bGF0ZWQuIFNvIHdlIHNob3VsZCBza2lwIHRoZSBwYXJzaW5nLiINCj4gDQoNClllcywg
dGhhdCB3b3VsZCBiZSBiZXR0ZXIuIEkgd2lsbCBjaGFuZ2UgaXQgaW4gbmV4dCB2ZXJzaW9uLg0K
DQo+ID4gKyAgICAgKiBzbyB3ZSBkb24ndCBuZWVkIHRvIHBhcnNlIG1lbW9yeSBub2RlIGZyb20g
RFRCLg0KPiA+ICsgICAgICovDQo+ID4gKyAgICBpZiAoIGRldmljZV90cmVlX25vZGVfbWF0Y2hl
cyhmZHQsIG5vZGUsICJtZW1vcnkiKSAmJg0KPiA+ICsgICAgICAgICAhYXJjaF9lZmlfZW5hYmxl
ZChFRklfQk9PVCkgKQ0KPiANCj4gYXJjaF9lZmlfZW5hYmxlZCgpIGlzIGdvaW5nIHRvIGJlIGxl
c3MgZXhwZW5zaXZlIHRoYW4NCj4gZGV2aWNlX3RyZWVfbm9kZV9tYXRjaGVzKCkuIFNvIEkgd291
bGQgc3VnZ2VzdCB0byByZS1vcmRlciB0aGUgb3BlcmFuZHMuDQo+IA0KDQp5ZXMuDQoNCj4gPiAg
ICAgICAgICAgcmMgPSBwcm9jZXNzX21lbW9yeV9ub2RlKGZkdCwgbm9kZSwgbmFtZSwgZGVwdGgs
DQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRyZXNzX2NlbGxzLCBz
aXplX2NlbGxzLA0KPiAmYm9vdGluZm8ubWVtKTsNCj4gPiAgICAgICBlbHNlIGlmICggZGVwdGgg
PT0gMSAmJiAhZHRfbm9kZV9jbXAobmFtZSwgInJlc2VydmVkLW1lbW9yeSIpICkNCj4gPiBkaWZm
IC0tZ2l0IGEveGVuL2FyY2gvYXJtL2VmaS9lZmktYm9vdC5oIGIveGVuL2FyY2gvYXJtL2VmaS9l
ZmktYm9vdC5oDQo+ID4gaW5kZXggY2Y5YzM3MTUzZi4uZDBhOTk4N2ZhNCAxMDA2NDQNCj4gPiAt
LS0gYS94ZW4vYXJjaC9hcm0vZWZpL2VmaS1ib290LmgNCj4gPiArKysgYi94ZW4vYXJjaC9hcm0v
ZWZpL2VmaS1ib290LmgNCj4gPiBAQCAtMTk3LDMzICsxOTcsOCBAQCBFRklfU1RBVFVTIF9faW5p
dA0KPiBmZHRfYWRkX3VlZmlfbm9kZXMoRUZJX1NZU1RFTV9UQUJMRSAqc3lzX3RhYmxlLA0KPiA+
ICAgICAgIGludCBzdGF0dXM7DQo+ID4gICAgICAgdTMyIGZkdF92YWwzMjsNCj4gPiAgICAgICB1
NjQgZmR0X3ZhbDY0Ow0KPiA+IC0gICAgaW50IHByZXY7DQo+ID4gICAgICAgaW50IG51bV9yc3Y7
DQo+ID4NCj4gPiAtICAgIC8qDQo+ID4gLSAgICAgKiBEZWxldGUgYW55IG1lbW9yeSBub2RlcyBw
cmVzZW50LiAgVGhlIEVGSSBtZW1vcnkgbWFwIGlzIHRoZSBvbmx5DQo+ID4gLSAgICAgKiBtZW1v
cnkgZGVzY3JpcHRpb24gcHJvdmlkZWQgdG8gWGVuLg0KPiA+IC0gICAgICovDQo+ID4gLSAgICBw
cmV2ID0gMDsNCj4gPiAtICAgIGZvciAoOzspDQo+ID4gLSAgICB7DQo+ID4gLSAgICAgICAgY29u
c3QgY2hhciAqdHlwZTsNCj4gPiAtICAgICAgICBpbnQgbGVuOw0KPiA+IC0NCj4gPiAtICAgICAg
ICBub2RlID0gZmR0X25leHRfbm9kZShmZHQsIHByZXYsIE5VTEwpOw0KPiA+IC0gICAgICAgIGlm
ICggbm9kZSA8IDAgKQ0KPiA+IC0gICAgICAgICAgICBicmVhazsNCj4gPiAtDQo+ID4gLSAgICAg
ICAgdHlwZSA9IGZkdF9nZXRwcm9wKGZkdCwgbm9kZSwgImRldmljZV90eXBlIiwgJmxlbik7DQo+
ID4gLSAgICAgICAgaWYgKCB0eXBlICYmIHN0cm5jbXAodHlwZSwgIm1lbW9yeSIsIGxlbikgPT0g
MCApDQo+ID4gLSAgICAgICAgew0KPiA+IC0gICAgICAgICAgICBmZHRfZGVsX25vZGUoZmR0LCBu
b2RlKTsNCj4gPiAtICAgICAgICAgICAgY29udGludWU7DQo+ID4gLSAgICAgICAgfQ0KPiA+IC0N
Cj4gPiAtICAgICAgICBwcmV2ID0gbm9kZTsNCj4gPiAtICAgIH0NCj4gPiAtDQo+ID4gICAgICAv
Kg0KPiA+ICAgICAgICogRGVsZXRlIGFsbCBtZW1vcnkgcmVzZXJ2ZSBtYXAgZW50cmllcy4gV2hl
biBib290aW5nIHZpYSBVRUZJLA0KPiA+ICAgICAgICoga2VybmVsIHdpbGwgdXNlIHRoZSBVRUZJ
IG1lbW9yeSBtYXAgdG8gZmluZCByZXNlcnZlZCByZWdpb25zLg0KPiA+IGRpZmYgLS1naXQgYS94
ZW4vaW5jbHVkZS9hc20tYXJtL3NldHVwLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL3NldHVwLmgN
Cj4gPiBpbmRleCBjNGI2YWY2MDI5Li5lNGZiNWYwZDQ5IDEwMDY0NA0KPiA+IC0tLSBhL3hlbi9p
bmNsdWRlL2FzbS1hcm0vc2V0dXAuaA0KPiA+ICsrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vc2V0
dXAuaA0KPiA+IEBAIC0xMjMsNiArMTIzLDEyIEBAIHZvaWQgZGV2aWNlX3RyZWVfZ2V0X3JlZyhj
b25zdCBfX2JlMzIgKipjZWxsLCB1MzINCj4gYWRkcmVzc19jZWxscywNCj4gPiAgIHUzMiBkZXZp
Y2VfdHJlZV9nZXRfdTMyKGNvbnN0IHZvaWQgKmZkdCwgaW50IG5vZGUsDQo+ID4gICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpwcm9wX25hbWUsIHUzMiBkZmx0KTsNCj4gPg0K
PiA+ICsjaWYgZGVmaW5lZChDT05GSUdfQVJNXzY0KQ0KPiA+ICsjZGVmaW5lIGFyY2hfZWZpX2Vu
YWJsZWQoeCkgZWZpX2VuYWJsZWQoeCkNCj4gPiArI2Vsc2UNCj4gPiArI2RlZmluZSBhcmNoX2Vm
aV9lbmFibGVkKHgpICgwKQ0KPiA+ICsjZW5kaWYNCj4gDQo+IEkgd291bGQgcHJlZmVyIGlmIHdl
IGludHJvZHVjZSBDT05GSUdfRUZJIHRoYXQgd291bGQgc3R1YiBlZmlfZW5hYmxlZA0KPiBmb3Ig
YXJjaGl0ZWN0dXJlIG5vdCBzdXBwb3J0aW5nIEVGSS4NCj4gDQoNClllcywgdGhhdCdzIGEgZ29v
ZCBpZGVhLg0KSSBhbHNvIGZlZWwgYSBsaXR0bGUgYXdrd2FyZCB3aXRoIHRoZSBjdXJyZW50IGFy
Y2ggaGVscGVycy4NCg0KPiBDaGVlcnMsDQo+IA0KPiAtLQ0KPiBKdWxpZW4gR3JhbGwNCg==


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 02:22:01 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 02:22:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169182.309050 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGuAS-0006pv-DC; Fri, 20 Aug 2021 02:22:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169182.309050; Fri, 20 Aug 2021 02:22:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGuAS-0006po-9o; Fri, 20 Aug 2021 02:22:00 +0000
Received: by outflank-mailman (input) for mailman id 169182;
 Fri, 20 Aug 2021 02:21:59 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=pH7i=NL=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mGuAQ-0006pg-WF
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 02:21:59 +0000
Received: from FRA01-MR2-obe.outbound.protection.outlook.com (unknown
 [40.107.9.84]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 54009750-af43-4089-b606-106785bdbbc6;
 Fri, 20 Aug 2021 02:21:56 +0000 (UTC)
Received: from DB9PR06CA0006.eurprd06.prod.outlook.com (2603:10a6:10:1db::11)
 by PR2PR08MB4714.eurprd08.prod.outlook.com (2603:10a6:101:1c::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 20 Aug
 2021 02:21:51 +0000
Received: from DB5EUR03FT059.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:1db:cafe::a1) by DB9PR06CA0006.outlook.office365.com
 (2603:10a6:10:1db::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Fri, 20 Aug 2021 02:21:51 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT059.mail.protection.outlook.com (10.152.21.175) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Fri, 20 Aug 2021 02:21:51 +0000
Received: ("Tessian outbound 6ba9ec11d42b:v103");
 Fri, 20 Aug 2021 02:21:50 +0000
Received: from 9b8fd9c8a195.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 8F114F58-8576-4D08-BA91-961D0CCF91E0.1; 
 Fri, 20 Aug 2021 02:21:40 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 9b8fd9c8a195.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 20 Aug 2021 02:21:40 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB7PR08MB3802.eurprd08.prod.outlook.com (2603:10a6:10:77::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.21; Fri, 20 Aug
 2021 02:21:38 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.019; Fri, 20 Aug 2021
 02: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: 54009750-af43-4089-b606-106785bdbbc6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jW7OVIAUcPTAxYeLV2dOZpZhL/hEQFmN1dRjX3N+Qpg=;
 b=c+3JZ0CDcdeNy1k1E2Attn/NTXMkpZO+mvc8YO0I97HoMUW+pXRmZcwXxPSSWxZh1aCuZsNWzij+tQmAlZ8yEjCSWV+zBhhy/tyN4YnCG3VR7STN8flxxmQUi1qd/AFekZWeUFK4GPi9MGESXJKfVyr3v2mT0QNlv6PGslfXfPw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mz1KJ8iQxmFUHobkwCPxT+09aoTOyTaYbpB45MuO/C/BkpdETWchH0iEBBtuyr/12KsTL1F9JB4dC6cfHo2JPPG56WydkEV1xq2B9hVaiswK393jQYvy3bF224wem+taeKrt5QkALFN6S9GFliJ/K6SBSyxW/9Oxkcpg5A3ZK5lKLvy6Fp3GfeWn2UBDV4NQ+OgyfY1sWXSaGGXXDKiufDkReSRnz15Yk5xFUi6wGuT+bF1R3DuEECFevi7Ok6gOSLTWYaCcFWxnClyrb57KwJ2eB8EHLbt+xvw1n1/6S/9L5iZ00Ajjyk1SuqKr0x57FiToAvJ40e3YqZbYIwpx+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-SenderADCheck;
 bh=jW7OVIAUcPTAxYeLV2dOZpZhL/hEQFmN1dRjX3N+Qpg=;
 b=aoCpkhzzsPj9HjCM4N8/BvxtoIaxDYF5yuk+/cqMBmCIb5wpDOmTay57LUPMpFS54UeN2pgFFiGOE84Q8u8urmVSFXMx21/Mo44VeRDCzbEKbqo7Pldsa3y8NjQ6wPqo37EEY2N+sNrCKROOBGBxF9fBMZWCk+4SLuSAAmz+v6tOaRUFbLkJPR34TVbU5+2pXTZabf2dOUNmfNJ4dVCsJO65qGopV+w29peFwEQ28UD8SnHZUjjUM4+NS0Rw4G/DCnfXO3ad01M3ZKOhQvdcj49ghdaf39CykPtFWVRc8cHfXs5mcTyu4A8kWHEcZVOG/szNLCQhV0RQTEZwG2yDPQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jW7OVIAUcPTAxYeLV2dOZpZhL/hEQFmN1dRjX3N+Qpg=;
 b=c+3JZ0CDcdeNy1k1E2Attn/NTXMkpZO+mvc8YO0I97HoMUW+pXRmZcwXxPSSWxZh1aCuZsNWzij+tQmAlZ8yEjCSWV+zBhhy/tyN4YnCG3VR7STN8flxxmQUi1qd/AFekZWeUFK4GPi9MGESXJKfVyr3v2mT0QNlv6PGslfXfPw=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>, "jbeulich@suse.com" <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 21/40] xen/arm: introduce device_tree_numa as a
 switch for device tree NUMA
Thread-Topic: [XEN RFC PATCH 21/40] xen/arm: introduce device_tree_numa as a
 switch for device tree NUMA
Thread-Index: AQHXjptKJGIUZAkdGES3RqD+Z0s1i6t7JsMAgACPmnA=
Date: Fri, 20 Aug 2021 02:21:37 +0000
Message-ID:
 <DB9PR08MB68573FDEB4A89A165D124CE19EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-22-wei.chen@arm.com>
 <c83a7bcc-7d74-c01c-e91a-eeb11dd348d1@xen.org>
In-Reply-To: <c83a7bcc-7d74-c01c-e91a-eeb11dd348d1@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: D259BECE1682D446BB66CA2545B3D42E.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 25059a9f-b65d-4b9f-4dfa-08d963814513
x-ms-traffictypediagnostic: DB7PR08MB3802:|PR2PR08MB4714:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<PR2PR08MB4714B0E9F9BAE6C68B4D49289EC19@PR2PR08MB4714.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:9508;OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 m5tqU210HXYIxaK0mAZbIJkdOs+ZoIfFw/WF8D8TFkRc2+rFn3Srkcw/cR155ERoy1YK4YZ1DP8I0kuEWkrvXGY4thXQefUOFm2cL1x2ankzGl5hpqv5GsZs5zSnZe5RI3xncCEUBLLNOxCSGa0eow3bMPA0Z3ybgEtzpC2dpIDhhEkUXngZMKJDb5MGHf/ctztfquY88FXrl+E/AwZloLilOGSHzkVzkqFFXUGZZpsOpMfxg88PxhGomivdMsHueRd4DBFRW7jYyaKLIjrII0/YjgZg3S6rK1zHj/S4YSygjn5XeAMEtj0ub3ZRXiRyAWf2AKcl1FXk+si2uasTkHpWva/o277DtmfbVosrDfPvpn5WlzySy5cjk9/fK/oXqaV05C8RcwvPJ9kmti89BOIbttHe8KnsB03g81KS7Hp8n0pcHFC8lwDTlen7E9PhYU02rkfoAYfsp/M3PekM7HJ7TwIRk1WDUUHobKmXzMlp6exVdZTK35v5tMFNcp34e9PuQvxrj2iimXahGEunNJTFjGS4FnDx/KkJZcU7yNBW8qMmksqMss7aGyqhPc8lU3YuIu+qGNbuVA//hNigeczz3LQBvsrvzXycGJXPCkHNrCIExyOHPXh6q2SFu/1+T3EyA8zyxzBRWFAvOs6088HZtEBwirbe7MbtOF0W23tARMoCXeRla0BNlNg7m5ku4p6HRAZGiDAb0JjdhYwj1jDy6SyC0skXihebzZ1DS7HbQv2/pAsr9OKYnRBXWzVcUorz1+31pZiIgdVW6dLxPN8hbdoRqHSTGCSTM+ccwQmTYXHQDNAMAIYI5Lo+7VYs
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(376002)(396003)(136003)(346002)(39850400004)(66946007)(478600001)(110136005)(55016002)(316002)(4326008)(9686003)(5660300002)(52536014)(66556008)(66446008)(2906002)(83380400001)(122000001)(71200400001)(8676002)(38100700002)(53546011)(64756008)(8936002)(76116006)(38070700005)(66476007)(7696005)(86362001)(186003)(33656002)(6506007)(26005)(2004002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?Z3BBK1BURnlVaFNjN2NtRXRkc1dBcENzM0NuaDQ5S3Noc3p5bjlLRnQ2NlIv?=
 =?utf-8?B?TzhpL2p5TVAxQld1a2htLzA0em1DenRJT3NxdTZGbDN1eVNHMUMwVUlWOG9O?=
 =?utf-8?B?cFJScW9vZkI0aWJvZFB2RWxMV0ZlTytDOXpWMUZqNGh6ZndQUnVzdE41aFdS?=
 =?utf-8?B?SDVoaUhhRVVkc0paWlE2T28rRno0OE1tbm1URlJFa2cxNGxsSnYxbTFHczMx?=
 =?utf-8?B?MjlITndpUzF0dGhuZmFsbWlHcERucUJINzdsR28wQUZMdWV5azh1NU4reWF6?=
 =?utf-8?B?VFI4dzJNRE8wVEFlVkVVQTQvanBuQSszRVl1RkxzTjRRdVQrVnpyc3c3T0F2?=
 =?utf-8?B?Ty9MUytHQUV6VW8yWjRHZWl3U1lHY2VIZXJBUllWMFFINFNqOGsycFBIL1Ir?=
 =?utf-8?B?U3RGcStxYUxzQWNIRndkemtneUUwbncxWVRNbThmQmRxQjlnTWROa0dtUFNq?=
 =?utf-8?B?NjRZNFlId3N6T0ZYV0FxSlZZMlpQWi9MY0dIUmlBNWlwZXN4VzQwVTJpQyth?=
 =?utf-8?B?VnE4SGNLaXNQa3pJOHVmV001UkQ2MTUzWlorNGRMaWFLSlpiWUdJdG1VZzJV?=
 =?utf-8?B?WnFTQ1Fka3dhUGtveFptWFFoV1Q0K05lUnJ2L0lBQmh0RWRYR1N1TFJSNXpm?=
 =?utf-8?B?RXNSWFIrYmFnc0xyVk1zWTNjRTlxYmhiaHJtM1N5NDRvWU1vTm0zSXZ6N0Q4?=
 =?utf-8?B?TUdGNlNhL2VTY0ZTL2s2cGdiSEtBaHFwSi9pU3hySDNyeUFPcmEvVVR2M2Zn?=
 =?utf-8?B?M0l3dzFsbk9mTlpSTnU4aHlxVlpXeXpYUWpVc01leUl0Q3QzUDRrTG5xZENi?=
 =?utf-8?B?YXVmRENiSnErMXR0dWFIOENza3dMSHMzYU1Da0U3NkhvdTR3T2VMaUxoenRZ?=
 =?utf-8?B?NGRFaGFFeWlrTnN4bUNaaFFraGFsZXVVMHVrK3F4L2szQWtXNEk1cVdzZm1D?=
 =?utf-8?B?QXVuVjI0c2dyeWNCaDR4YnEzcVBtejlmOFFxemdVUUVOaXl2RFVCRjRKdy9E?=
 =?utf-8?B?R0YzT2hJSkhFekVpYUt5MkZhVDZrUDdoZmpkcU9hVUp2RWo0KzBGbEZDczZG?=
 =?utf-8?B?YmNVYUhmcTZOTW9SYTRwZ09LN21acUFBS0czdERzVldwdUxZcyt3R0hQUWxM?=
 =?utf-8?B?Y0t2dWVkY1d3ZWt2dXNpT3JuOGZnajYrRFg0ZDZvNU5QR0FnQkpYMThPTGZa?=
 =?utf-8?B?b3pYR3JCRE55US9MT0FHODYxa1J0WDFhU2pMaUZLeVY0QTh6dkFBSVdkdmxE?=
 =?utf-8?B?d21RSC9xV1NjV01oS3IrREZGUFNIbTFKWHlkU01qaTQ5M2dKdEY5ZGRsSDdR?=
 =?utf-8?B?aTd5Q3dRSm9GVFJhano4UCt3YWt1aEhiVkVGOTVSSDFBbWZ1S25KYlo4REQw?=
 =?utf-8?B?bElGZEVwcVVJOGNOVWM0OUR0eFBYemp1NVorZ29zUGQ5dGtVSnljL3RvRUtF?=
 =?utf-8?B?NXFwRThBNWZnRjhIRlhhVDlvb3o1RVBsN3dwcW1jNXRLQ2k0QzlCbWVtcFhS?=
 =?utf-8?B?RlNjQ3FEVmNqcUFrbmtKN3QySDhrQWNJVDkveFhKOEhnOXVoZkIzYnBtYURa?=
 =?utf-8?B?RFgxUTRxYzBGMjFpZGdmVFlYM1dUdHVHUTlKL25GQUh5d3FWZnh1cGh3Q0xk?=
 =?utf-8?B?TnBTV0lxTzRZMWl3a0RxcWxBbFNjaTR5NUxXdHR5RVVPUlpza2YvejJJemRj?=
 =?utf-8?B?Y1pyOUJjUHZiQTIreG80djg1R1NGd2RuaDVNKzBXRzFlUituL1hwWGpWUUpK?=
 =?utf-8?Q?8UwgLniyS3NmCGuGg1yS69ZSjR4rXX+pyFqk/e6?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3802
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT059.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	91c2e9ff-a608-480a-b62a-08d963813d42
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tS8rl9C67y0RVNWXOStd6FvyRJgg/okzYGo9VP3W2/4x+UUntwa3n9Ms3f4Z5qXmAtdZw5Ba3guw7cAxBwSsjleWBmU3ZRZTHT9VsCAs7xJyDv8kzvhXorJtJYukAEzHmF4TkXQV1nRgktmWFuvR5ZdwHODk8euzhL1f3a3Efl7zGWD0CgwIKOqO/IQL6d7noFGE3IsNe5C1nxXp7+gxrplPyCydi+SUAGqrdP/Yu/aEJKv1WcgN4hvF7+vmvNJteb6X1x7LnpCniEi/QI5dRgAifdTBL7fi5fS1Xh1WWxvaI8SglDTVVm9VHJVZdnvlFJ96CIufk46ltPKHiO2SWz7yg9cG94lBPJKJmfD73O5qHD0iWHZHDfECdFnIZ6Xrw4CNLwGEgFj2Y3MQEkbv1Kyw2WYLpzsgIK6DNpxpG052gxJ8RyRwPUcSttCr7vE59mILcLOVeGab6447jj/H/ZsWUhuEQ+QQmh40HuJC1lunyRxR2gdWqO3I0nuyzx1mxATV+sddiPcvpJ++ZRIkxVF4laztGdeVSt65a70CrOFlorpAh1Fqfhu3Em7e8KP6hnqewIPLnmOpzyR6/1wJpV6tLQ5kPHb0EeZYQV/CP/qzWbZD2Bc7Y/N9tuYwQpnfOXxYF3NbM/2/Pvb8DPtG0mvsT17GTNbKY5AuTfwj+J7GWg8ZgwJL73hCtl2JeDXIW8s69RHNQdPrOqzjEI7jVgS0PKQBd2dyUZz3/BmdrvRMvVMmpLybxi2jmDoB58R+9nUfv+mAGEUt79VZlAofMPciXfxwldcNIegIhiFwVvq0MlBnHpR+VkGkigr4qEAA
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(376002)(346002)(39850400004)(136003)(396003)(36840700001)(46966006)(33656002)(81166007)(4326008)(55016002)(26005)(8676002)(316002)(82740400003)(9686003)(6506007)(5660300002)(110136005)(356005)(53546011)(186003)(478600001)(8936002)(36860700001)(70586007)(52536014)(70206006)(336012)(82310400003)(7696005)(2906002)(83380400001)(47076005)(86362001)(2004002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 02:21:51.0369
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 25059a9f-b65d-4b9f-4dfa-08d963814513
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT059.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR2PR08MB4714

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMjDml6UgMTo0NQ0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+OyB4ZW4tZGV2ZWxAbGlzdHMueGVucHJv
amVjdC5vcmc7DQo+IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc7IGpiZXVsaWNoQHN1c2UuY29tDQo+
IENjOiBCZXJ0cmFuZCBNYXJxdWlzIDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+DQo+IFN1Ympl
Y3Q6IFJlOiBbWEVOIFJGQyBQQVRDSCAyMS80MF0geGVuL2FybTogaW50cm9kdWNlIGRldmljZV90
cmVlX251bWEgYXMNCj4gYSBzd2l0Y2ggZm9yIGRldmljZSB0cmVlIE5VTUENCj4gDQo+IEhpIFdl
aSwNCj4gDQo+IE9uIDExLzA4LzIwMjEgMTE6MjQsIFdlaSBDaGVuIHdyb3RlOg0KPiA+IExpa2Ug
YWNwaV9udW1hIGluIHg4NiBhcyBhIHN3aXRjaCBmb3IgQUNQSSBiYXNlZCBOVU1BLCB3ZSBpbnRy
b2R1Y2UNCj4gPiBkZXZpY2VfdHJlZV9udW1hIGFzIGEgc3dpdGNoIGZvciBBcm0gZGV2aWNlIHRy
ZWUgYmFzZWQgTlVNQS4gV2hlbg0KPiA+IE5VTUEgaW5mb3JtYXRpb24gaW4gZGV2aWNlIHRyZWUg
aXMgaW52YWxpZCwgdGhpcyBzd2l0Y2ggd2lsbCBiZSBzZXQNCj4gPiB0byAtMSwgdGhlbiBOVU1B
IHN1cHBvcnQgZm9yIEFybSB3aWxsIGJlIGRpc2FibGVkLCBldmVuIGlmIHVzZXIgc2V0DQo+ID4g
bnVtYV9vZmY9MC4NCj4gDQo+IFRoZSBoeXBlcnZpc29yIHdpbGwgbmV2ZXIgdXNlIGJvdGggQUNQ
SSBhbmQgRFQgYXQgcnVudGltZS4gSW4gZmFjdC4uLg0KPiANCg0KWWVzLg0KDQo+ID4NCj4gPiBL
ZWVwIHVzaW5nIGJhZF9zcmF0IGFuZCBzcmF0X2Rpc2FibGVkIGZ1bmN0aW9ucyBuYW1lLCBiZWNh
dXNlIHdlIHdpbGwNCj4gPiByZXVzZSBub2RlX2NvdmVyc19tZW1vcnkgYW5kIGFjcGlfc2Nhbl9u
b2RlcyBjb2RlIGZvciBBcm0uDQo+IA0KPiAuLi4gZ2l2ZW4gdGhhdCBib3RoIGZ1bmN0aW9ucyB3
aWxsIGJlIGNhbGxlZCBmcm9tIHRoZSBjb21tb24gY29kZSwgaXQNCj4gd2lsbCBiZSBhIGxvdCBt
b3JlIGRpZmZpY3VsdCB0byBhZGQgQUNQSSBhZnRlcndhcmRzLg0KPiANCj4gU28gSSB0aGluayB3
ZSBzaG91bGQgZWl0aGVyIHJlbmFtZSBhY3BpX251bWEgdG8gc29tZXRoaW5nIG1vcmUgZ2VuZXJp
Yw0KPiAobWF5YmUgZndfbnVtYSkgb3IgY29udmVydCBudW1hX29mZiB0byBhIHRyaS1zdGF0ZS4N
Cj4gDQo+IFRoaXMgd2lsbCBhbGxvdyB0byBoYXZlIHRoZSBjb2RlIG1vc3RseSBjb21tb24uDQo+
IA0KDQpJIHdpbGwgdHJ5IHRvIGFkZHJlc3MgdGhlbSBpbiBuZXh0IHZlcnNpb24uDQoNCj4gPiBU
aGVzZQ0KPiA+IGZ1bmN0aW9ucyBhcmUgdXNpbmcgdGhlc2UgdHdvIEFQSSBuYW1lcy4gQW5kLCBh
cyBkZXZpY2UgdHJlZSBjYW4gYmUNCj4gPiB0cmVhdGVkIGFzIG9uZSBraW5kIG9mIHN0YXRpYyBy
ZXNvdXJjZSB0YWJsZS4gU28gd2Uga2VlcCB0aGVzZSB0d28NCj4gPiBmdW5jdGlvbiBuYW1lcy4N
Cj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IFdlaSBDaGVuIDx3ZWkuY2hlbkBhcm0uY29tPg0KPiA+
IC0tLQ0KPiA+ICAgeGVuL2FyY2gvYXJtL01ha2VmaWxlICAgICAgICAgICB8ICAxICsNCj4gPiAg
IHhlbi9hcmNoL2FybS9udW1hX2RldmljZV90cmVlLmMgfCAzNSArKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysNCj4gPiAgIHhlbi9pbmNsdWRlL2FzbS1hcm0vbnVtYS5oICAgICAgfCAg
MiArKw0KPiA+ICAgMyBmaWxlcyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspDQo+ID4gICBjcmVh
dGUgbW9kZSAxMDA2NDQgeGVuL2FyY2gvYXJtL251bWFfZGV2aWNlX3RyZWUuYw0KPiA+DQo+ID4g
ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9NYWtlZmlsZSBiL3hlbi9hcmNoL2FybS9NYWtlZmls
ZQ0KPiA+IGluZGV4IDZlM2ZiODAzM2UuLjEzZTE1NDliZTAgMTAwNjQ0DQo+ID4gLS0tIGEveGVu
L2FyY2gvYXJtL01ha2VmaWxlDQo+ID4gKysrIGIveGVuL2FyY2gvYXJtL01ha2VmaWxlDQo+ID4g
QEAgLTM2LDYgKzM2LDcgQEAgb2JqLXkgKz0gbWVtX2FjY2Vzcy5vDQo+ID4gICBvYmoteSArPSBt
bS5vDQo+ID4gICBvYmoteSArPSBtb25pdG9yLm8NCj4gPiAgIG9iai0kKENPTkZJR19OVU1BKSAr
PSBudW1hLm8NCj4gPiArb2JqLSQoQ09ORklHX0RFVklDRV9UUkVFX05VTUEpICs9IG51bWFfZGV2
aWNlX3RyZWUubw0KPiA+ICAgb2JqLXkgKz0gcDJtLm8NCj4gPiAgIG9iai15ICs9IHBlcmNwdS5v
DQo+ID4gICBvYmoteSArPSBwbGF0Zm9ybS5vDQo+ID4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2Fy
bS9udW1hX2RldmljZV90cmVlLmMNCj4gYi94ZW4vYXJjaC9hcm0vbnVtYV9kZXZpY2VfdHJlZS5j
DQo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiBpbmRleCAwMDAwMDAwMDAwLi4xYzc0YWQx
MzVkDQo+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ICsrKyBiL3hlbi9hcmNoL2FybS9udW1hX2Rldmlj
ZV90cmVlLmMNCj4gPiBAQCAtMCwwICsxLDM1IEBADQo+ID4gKy8vIFNQRFgtTGljZW5zZS1JZGVu
dGlmaWVyOiBHUEwtMi4wDQo+ID4gKy8qDQo+ID4gKyAqIEFybSBBcmNoaXRlY3R1cmUgc3VwcG9y
dCBsYXllciBmb3IgTlVNQS4NCj4gPiArICoNCj4gPiArICogQ29weXJpZ2h0IChDKSAyMDIxIEFy
bSBMdGQNCj4gPiArICoNCj4gPiArICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCj4gPiArICogaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMNCj4g
PiArICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uDQo+ID4gKyAq
DQo+ID4gKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0
IHdpbGwgYmUgdXNlZnVsLA0KPiA+ICsgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KPiA+ICsgKiBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQo+ID4gKyAqIEdO
VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQo+ID4gKyAqDQo+ID4g
KyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlDQo+ID4gKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNl
ZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uDQo+ID4gKyAqDQo+ID4gKyAqLw0KPiA+
ICsjaW5jbHVkZSA8eGVuL2luaXQuaD4NCj4gPiArI2luY2x1ZGUgPHhlbi9ub2RlbWFzay5oPg0K
PiA+ICsjaW5jbHVkZSA8eGVuL251bWEuaD4NCj4gPiArDQo+ID4gK3M4IGRldmljZV90cmVlX251
bWEgPSAwOw0KPiA+ICsNCj4gPiAraW50IHNyYXRfZGlzYWJsZWQodm9pZCkNCj4gDQo+IFlvdSBl
eHBvcnQgdGhpcyBvbmUgYW5kIC4uLg0KPiANCj4gPiArdm9pZCBfX2luaXQgYmFkX3NyYXQodm9p
ZCkNCj4gDQo+IC4uLiB0aGlzIG9uZSB3aXRob3V0IHByb3ZpZGluZyBpbiBhIHByb3RvdHlwZS4N
Cj4gDQo+IExvb2tpbmcgYXQgdGhlIHJlc3Qgb2YgdGhlIHNlcmllcy4uLiB0aGV5IHdpbGwgYmUg
dHVybmVkIHN0YXRpYyBpbiB0aGUNCj4gbmV4dCBwYXRjaCAoIzIxKSBidXQgdGhlbiByZS1leHBv
cnRlZCBpbiBwYXRjaCAjMzMuDQo+IA0KPiBJbiBnZW5lcmFsLCB3ZSBzaG91bGQgcmVmcmFpbiB0
byBtb2RpZnkgY29kZSB0aGF0IHdhcyBhZGRlZCBpbiB0aGUgc2FtZQ0KPiBwYXRjaCB1bmxlc3Mg
aXQgaXMgbm90IHBvc3NpYmxlIGZvciBzcGxpdCByZWFzb24gKGUuZyBjb2RlIGNsZWFuLXVwIGFu
ZA0KPiB0aGVuIGNvZGUgbW92ZW1lbnQpLg0KPiANCj4gSW4gdGhpcyBjYXNlLCB0aGUgaGVscGVy
cyBzaG91bGQgYmUgZXhwb3J0ZWQgZnJvbSBub3cuDQo+IA0KDQpPay4NCg0KPiA+ICt7DQo+ID4g
KyAgICBwcmludGsoS0VSTl9FUlIgIkRUOiBOVU1BIGluZm9ybWF0aW9uIGlzIG5vdCB1c2VkLlxu
Iik7DQo+ID4gKyAgICBkZXZpY2VfdHJlZV9udW1hID0gLTE7DQo+ID4gK30NCj4gPiBkaWZmIC0t
Z2l0IGEveGVuL2luY2x1ZGUvYXNtLWFybS9udW1hLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL251
bWEuaA0KPiA+IGluZGV4IDU1OWIwMjhhMDEuLjc1NmFkODJkMDcgMTAwNjQ0DQo+ID4gLS0tIGEv
eGVuL2luY2x1ZGUvYXNtLWFybS9udW1hLmgNCj4gPiArKysgYi94ZW4vaW5jbHVkZS9hc20tYXJt
L251bWEuaA0KPiA+IEBAIC0yMyw2ICsyMyw4IEBAIHR5cGVkZWYgdTggbm9kZWlkX3Q7DQo+ID4g
ICAjZGVmaW5lIE5VTUFfTE9DQUxfRElTVEFOQ0UgICAgIDEwDQo+ID4gICAjZGVmaW5lIE5VTUFf
UkVNT1RFX0RJU1RBTkNFICAgIDIwDQo+ID4NCj4gPiArZXh0ZXJuIHM4IGRldmljZV90cmVlX251
bWE7DQo+ID4gKw0KPiA+ICAgZXh0ZXJuIHZvaWQgbnVtYV9pbml0KGJvb2wgYWNwaV9vZmYpOw0K
PiA+ICAgZXh0ZXJuIHZvaWQgbnVtYV9zZXRfZGlzdGFuY2Uobm9kZWlkX3QgZnJvbSwgbm9kZWlk
X3QgdG8sIHVpbnQzMl90DQo+IGRpc3RhbmNlKTsNCj4gPg0KPiA+DQo+IA0KPiBDaGVlcnMsDQo+
IA0KPiAtLQ0KPiBKdWxpZW4gR3JhbGwNCg==


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 02:23:43 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 02:23:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169188.309061 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGuC6-0007Sr-Ox; Fri, 20 Aug 2021 02:23:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169188.309061; Fri, 20 Aug 2021 02:23:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGuC6-0007Sk-Lx; Fri, 20 Aug 2021 02:23:42 +0000
Received: by outflank-mailman (input) for mailman id 169188;
 Fri, 20 Aug 2021 02:23:41 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=pH7i=NL=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mGuC5-0007Se-La
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 02:23:41 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com (unknown
 [40.107.2.75]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id a177752a-015d-11ec-a67a-12813bfff9fa;
 Fri, 20 Aug 2021 02:23:40 +0000 (UTC)
Received: from AS8PR04CA0057.eurprd04.prod.outlook.com (2603:10a6:20b:312::32)
 by DB6PR0802MB2389.eurprd08.prod.outlook.com (2603:10a6:4:9e::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Fri, 20 Aug
 2021 02:23:37 +0000
Received: from AM5EUR03FT062.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:312:cafe::81) by AS8PR04CA0057.outlook.office365.com
 (2603:10a6:20b:312::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Fri, 20 Aug 2021 02:23:37 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT062.mail.protection.outlook.com (10.152.17.120) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Fri, 20 Aug 2021 02:23:37 +0000
Received: ("Tessian outbound 5918cb94a4b5:v103");
 Fri, 20 Aug 2021 02:23:37 +0000
Received: from 025bedae9462.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 597643C1-B9F0-4F99-BD16-697B8BE0BD0D.1; 
 Fri, 20 Aug 2021 02:23:31 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 025bedae9462.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 20 Aug 2021 02:23:31 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB7PR08MB3050.eurprd08.prod.outlook.com (2603:10a6:5:22::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.19; Fri, 20 Aug
 2021 02:23:29 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.019; Fri, 20 Aug 2021
 02:23:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a177752a-015d-11ec-a67a-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=j8K+sDOeLj/uGveFzG8lh7PT3T8X+fb2/lNmZv6VrK4=;
 b=sqm5nwpBYcY3r3rPpwoMSKF40B5Cx7EYCmeV2Q52UiwApeg8p9XWDfx4VCWuzZEpWavuGPzyqwdeFZykcVYluMGRg98fBlgpL/7zB/zMLuhWvv3Q7ib0rpjO9mDXpeU0eSr9QEBzHvMkJftgh+VLayx6KICC+H4jQksEKNTDke8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mc2rGHkZQrBQJxyF4jI2VXfm6afFxBaZbbZunTsnhCp1uIRPua8J37CFSqYpaZD9KcyGDKwQQ+a04H74XrGqOos24l+1UKUH+OOn7jmsoWXOgKgAI0PRl7YDJuWWUdhLxx3z6soFe6XNwaTcTwhvP3piPmak/AJyZOjQqy3v57usggnVumS9DkgEzlmEiLJAXY715urQdRIrTfQou0zBis9okcNueEjr9f60/QJdFUxHEbNzwO484MDFOy/FlOw+tA7CeJs58K5oVLU0sc3+JtJJ7ZT0NMuhKkgOqzuyesjofs8NCJDuyEixAxZ08OXwOhiGSYlV8TPnLkRHTnd+dA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=j8K+sDOeLj/uGveFzG8lh7PT3T8X+fb2/lNmZv6VrK4=;
 b=W44XALhmseEjYuk/WYjp3PvvAoJ9g8ryOcetDhj/szkZ6OolyfVuiD8flO3PtY7PUAzX3Zb6vVot+TcVG1Uh/AhkarTlVrvmRTUxeyHZ/j5FDvWsKcc0INneuAAmOxN+tsX0Jh3qBcl4lv9rmDptwyOmjUEnqR2mU5hZ//Hj+JZbUm/KNX7w+hzuhURl4c17IY5c8BC1dhQQSwWtjTq/RrwDxz2qTo9ybGSiVjWBjnPpd2X7iYekCmGaIBL9Y9NpViXHN2687M5eBlRLNNhS9ggFfYOlpB+HAwB57SzgsLjIRvo2E2gltLP8tGvfZR8HI2BqIWnxnslr7GugzJiYMg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=j8K+sDOeLj/uGveFzG8lh7PT3T8X+fb2/lNmZv6VrK4=;
 b=sqm5nwpBYcY3r3rPpwoMSKF40B5Cx7EYCmeV2Q52UiwApeg8p9XWDfx4VCWuzZEpWavuGPzyqwdeFZykcVYluMGRg98fBlgpL/7zB/zMLuhWvv3Q7ib0rpjO9mDXpeU0eSr9QEBzHvMkJftgh+VLayx6KICC+H4jQksEKNTDke8=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>, "jbeulich@suse.com" <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 22/40] xen/arm: introduce a helper to parse device
 tree processor node
Thread-Topic: [XEN RFC PATCH 22/40] xen/arm: introduce a helper to parse
 device tree processor node
Thread-Index: AQHXjps9W9pBfq916EKAfG5ObJRyjat7LowAgACIpGA=
Date: Fri, 20 Aug 2021 02:23:28 +0000
Message-ID:
 <DB9PR08MB6857105F17F529CCD54D83E89EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-23-wei.chen@arm.com>
 <b52884fd-da4b-f09c-8ed9-cefd7c5b6e97@xen.org>
In-Reply-To: <b52884fd-da4b-f09c-8ed9-cefd7c5b6e97@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 957C194B5BAF2E4A8D22BAA4D228B391.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: de5ed87e-52dc-45e7-7ffc-08d9638184a8
x-ms-traffictypediagnostic: DB7PR08MB3050:|DB6PR0802MB2389:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<DB6PR0802MB23891C72FBF028040A3B7A8E9EC19@DB6PR0802MB2389.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:9508;OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 I//9udkMGPvejeFOGvBjQ6gKZJEBhwSnTBhp4QR0jRnwIjl6/ucQ5bdm/Y15I545OJblkYC3rHug+t930oEvAGCaU2kAcsAzD0N/kXKbI0dzR2s3MqE/rHNnKlLw54+TZqiPNlDqPMnG88crkknrCr0kIuYzcraaRZfAqNsHwr0ieb480Ylf6YDrXMMtOK8wos8rka5Im+/4Dbdxube2bK/VVUw00+AvWdXuJJwxXuo6Tdx1fYnRKiUHk6MTm5wTfKqV9nm6KfSJlvNzCvkYlORyutGPRRTborjf5+f7JjuabvYLotPe8r2oV9K9dMs19WAMP1UNqfKZPWjm5GE8LyNV8xMGTKLNkg2Q5pNFsrb1+IgpLWn09AWmtCNO93abPHGJbXqFwKXeW22Q0a/jml9xpmHXONi/qZ2diz+EG7A/UpA8wyECiHIMMp0G0hXSvRT9Cx9rcbZpYHiFfaUHdI5BVY08f548xc02mypS7vlBMeOYw1t3iiz5+KqNBu2gvFffvSIOUQkHCPCVoWY5vJ5Af4AoGlGd+MRVnoLUAUpdD+ISZp1YVbRNDPnZfgKpw02sqgy72YIZ81MuBtTwOEpU05Y2i0TMMprsmg8eI91pQsn3BpoVh5fnqyY+hRXtqaohv5OnvZrLxrtL5LY5xlhyanWukk2cInIKmJVka+uj0pUQWAjIKLMAdtm3ryiYPufDgViXXlUQ9vFte1BL/g==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(346002)(396003)(136003)(39850400004)(376002)(366004)(66446008)(66476007)(33656002)(66556008)(26005)(8676002)(66946007)(122000001)(478600001)(76116006)(38070700005)(6506007)(53546011)(71200400001)(52536014)(2906002)(5660300002)(186003)(86362001)(83380400001)(4326008)(110136005)(9686003)(55016002)(8936002)(38100700002)(316002)(64756008)(7696005);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?YUhUWUtCVVlNeWE5V0xRenlyaG91VzlWbldlWnNqQjRIUjY5OGVGT29pZ1Vl?=
 =?utf-8?B?U0k5SlRnUkREaTVobGxJTWNsaTNhV1hBYzF6QnZkSG5sbDVRZHNrb1E2ay9s?=
 =?utf-8?B?QVhHa2dUd1lqaFhQS2tjL3BlWDZOazloYi8xTlUzRnNZYnlFQU9CNzkrcjRn?=
 =?utf-8?B?dWcwbUlmOWE3aWU5M0RzSUxwZUh1aXdWMlV1UmlWUzN0TmR4T0NmODRqbTVI?=
 =?utf-8?B?YlRUMkt6cFhMcmRXUzFFM0JSUVdDeFJoUWFGL1NBR1EyOXRyZTlOLzdGNnRQ?=
 =?utf-8?B?OHhFR0E3VFdZRFhJRUo2eFFBTm4ydHI5UXkrcC9OR3F2QzJ3RE9pUXNkdDZO?=
 =?utf-8?B?bFdmM2dhZlc3TEpOcjJ3dkxRS0g3TUpOU3RPRnQrcXM2NDdLZlN3TTlxTnFS?=
 =?utf-8?B?ZE9rbmJXdVdzb3Y0b2RWUXYxY0RjY0dCYU50aGRmWXhpck41UUJZK2FPWHhM?=
 =?utf-8?B?eFU2aG95Ull6Rjd5d0s4eFlQa0QxS3A3Q2U1WmMyL2o0RTlMWmxmVDA4T0JK?=
 =?utf-8?B?c28wRFlqNjk5bEVvQjNQZnNyQnE3TmVMZWxUN0lZeTFQZmNkVHRIblRHdW5X?=
 =?utf-8?B?QndCeklLSVZZNEp6SEZqNXdWMGtpMXlrRkpmajczUmhiQlhIWDNlWHdOa0dX?=
 =?utf-8?B?RjJNcCsveVExQ1BYVERyM3Y5TWl0V1pxNXJsNExZU01mNUVlMktGTDFick5x?=
 =?utf-8?B?MDV6QVRlQ1N6Slg3STNxeHN0eDMxMWNzS05ZemZrWVJadG95c2twbU5tbWQr?=
 =?utf-8?B?cWJJWnplZEJveC8vYjBCc1ZGQmZaZ2kzOGZaNWtXRFdQNFVtTVc0enlheDFY?=
 =?utf-8?B?YTN1VDErR3MzNmNmT2VUUkk4MDNFOEtxR1VsaUhtaUxFS0tPang4c29HU3pI?=
 =?utf-8?B?UTZURGZOU2xJNzJRVTRKcnlOdkVWK25nNmVkRHdid2NoQ2ZiTGFqeGRDaFZs?=
 =?utf-8?B?RlRBUFo3UmlDckVheVBRc0lHRm5kUThFV01wMVdaMEkwTnAvampHQ1VrMHRM?=
 =?utf-8?B?M3VtVHg2bS83WEtya2phSE5qM0crVXQ3OEEzNVhCNmc1Y3NLL21HMUlyNnhK?=
 =?utf-8?B?a0gwOWlBdVZlNTdMM3BSSnJHOUdhSjdla3ROMjBIMURLT2ZFTTdzZHZIMXBD?=
 =?utf-8?B?VWNwUW5zUmp1SUVRS20xTnEzbDZKWGNxWm80cnNRbjJSZWVyazlhSkcxZDdm?=
 =?utf-8?B?cUtqVXJCdGFCc2Y2Z0ZzWC96cFU1WFhidXp4b1FVcVJTTG1VZ2YxaDYwRUNj?=
 =?utf-8?B?SG0rRzBtc1M0MVJLUlJnUzhHUTFhWS9jUUVmMUVmL3ZRN044RE5xY0E1bzhv?=
 =?utf-8?B?aVpsQlpmWUxnaGxMYUh4VkZxS3lZWVpnb0RlMXBSZ3NCTDk4UmtmaTNwdHdR?=
 =?utf-8?B?bXJDVUg3SVM3TVlNbWJRQmJsanFTRlgxZ2RJQ1huakc5S1dGVk85WFJ6NERZ?=
 =?utf-8?B?WXpCMjZKSloxSFJEU1F1R1hqMUZMaDRWZ2NUVDErSEFvNG1VYW5WZGhaUVRL?=
 =?utf-8?B?UDdlTWY3S1RKR3RlNE5XL3VmcWxlSWhkQ0x1QU91RUxodEFoN2pRUndxMUR0?=
 =?utf-8?B?MjhFS1NuQlJTZnkzSExBWDNjKzA5eVVvSUVJejE1YXBIY1VRMFl4T1VpaS9p?=
 =?utf-8?B?ZjdhNXIvYXRuMUdGRzhITWRQQ09uUVQzMXkyb3p0TzVaVHF5R2lIV0podGVi?=
 =?utf-8?B?ZSt3RW5QMElLRXhvS0pXeDRvMjN2ajhLaGdqUWVnbnVickZtYXFEOTZkcVF6?=
 =?utf-8?Q?ylfyQ6dfqIyVnTpRGhDA6AxGOmPUiIGmDclDYC4?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3050
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT062.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	ef8c117a-5e47-47e2-362b-08d963817f70
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	e2w8GVmsPbH+scLEuh/XLmxulZopYI8HMAW5luQ2m0s4vqhA7CQCMgL3T8dKsHhdRpvTb2Bvplffhm4NbSxuETGtmYvUg7GUYx9VMHuBlpStbsvCxo4XK2pbm5AjpIwLtDdTE18t0wadXNCD0kF2gOnqp/JFe2pNBlQD2BWqvRg9vZdD8ymRHZfC/GrykXjp5hdRORRxG99hy+UWvzG5oqULVojWQE4AgmAXQQ0/d0zZc2TbXLUkeVW8sNjGiahTWvq3SYxptfqBQ53ERSLh+2cqosnO5F3J97tTJu1aCkDXaXvb/TrI6YG8Csj58jPeGJoaAw3ixfmLC8T78KACW8ouGyeSNWEoR87HzbomLYauvIw3jgw6MmKcJAHtDisSRBcWLaumtdKx6V47cit/LkuL3HBZ2BAckg4ecUX8NldNVsrJGtuWZtYgvXIy1h4pR4yBAJE5uRMiI4CSiEnHpuzHkx8uOsdMLsI+mgbih/7d1Ce0WrzSxY/mbGibcXY4zD6uo99cxQighxnmjmYRn8XRy2/PQu5V9dfpLlFI9mFVvauemKIopoc8P0PsCuT4Oewi7/18SpRJdsFn+0b9riZ9tFlclMMDdWY4cOzr9UhT1ch+D/idAwGhMPrtabKpo6JfZZFa1biF16Hr/X2hRmYqSmnIJktKVrSO7lX1QUfFD4A41gnXSSe4h7oNnGZidHlGjiQKJ1DKl2xCzSktww==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(136003)(39850400004)(376002)(396003)(346002)(36840700001)(46966006)(26005)(316002)(53546011)(6506007)(86362001)(47076005)(55016002)(33656002)(70586007)(186003)(7696005)(110136005)(478600001)(81166007)(2906002)(83380400001)(9686003)(70206006)(82310400003)(36860700001)(82740400003)(52536014)(336012)(4326008)(8936002)(5660300002)(8676002)(356005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 02:23:37.6652
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: de5ed87e-52dc-45e7-7ffc-08d9638184a8
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT062.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2389

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMjDml6UgMjoxMw0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+OyB4ZW4tZGV2ZWxAbGlzdHMueGVucHJv
amVjdC5vcmc7DQo+IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc7IGpiZXVsaWNoQHN1c2UuY29tDQo+
IENjOiBCZXJ0cmFuZCBNYXJxdWlzIDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+DQo+IFN1Ympl
Y3Q6IFJlOiBbWEVOIFJGQyBQQVRDSCAyMi80MF0geGVuL2FybTogaW50cm9kdWNlIGEgaGVscGVy
IHRvIHBhcnNlDQo+IGRldmljZSB0cmVlIHByb2Nlc3NvciBub2RlDQo+IA0KPiBIaSBXZWksDQo+
IA0KPiBPbiAxMS8wOC8yMDIxIDExOjI0LCBXZWkgQ2hlbiB3cm90ZToNCj4gPiBQcm9jZXNzb3Ig
TlVNQSBJRCBpbmZvcm1hdGlvbiBpcyBzdG9yZWQgaW4gZGV2aWNlIHRyZWUncyBwcm9jZXNzb3IN
Cj4gPiBub2RlIGFzICJudW1hLW5vZGUtaWQiLiBXZSBuZWVkIGEgbmV3IGhlbHBlciB0byBwYXJz
ZSB0aGlzIElEIGZyb20NCj4gPiBwcm9jZXNzb3Igbm9kZS4gSWYgd2UgZ2V0IHRoaXMgSUQgZnJv
bSBwcm9jZXNzb3Igbm9kZSwgdGhpcyBJRCdzDQo+ID4gdmFsaWRpdHkgc3RpbGwgbmVlZCB0byBi
ZSBjaGVja2VkLiBPbmNlIHdlIGdvdCBhIGludmFsaWQgTlVNQSBJRA0KPiA+IGZyb20gYW55IHBy
b2Nlc3NvciBub2RlLCB0aGUgZGV2aWNlIHRyZWUgd2lsbCBiZSBtYXJrZWQgYXMgTlVNQQ0KPiA+
IGluZm9ybWF0aW9uIGludmFsaWQuDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBXZWkgQ2hlbiA8
d2VpLmNoZW5AYXJtLmNvbT4NCj4gPiAtLS0NCj4gPiAgIHhlbi9hcmNoL2FybS9udW1hX2Rldmlj
ZV90cmVlLmMgfCA0MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0NCj4gPiAgIDEg
ZmlsZSBjaGFuZ2VkLCAzOSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQ0KPiA+DQo+ID4g
ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9udW1hX2RldmljZV90cmVlLmMNCj4gYi94ZW4vYXJj
aC9hcm0vbnVtYV9kZXZpY2VfdHJlZS5jDQo+ID4gaW5kZXggMWM3NGFkMTM1ZC4uMzdjYzU2YWNm
MyAxMDA2NDQNCj4gPiAtLS0gYS94ZW4vYXJjaC9hcm0vbnVtYV9kZXZpY2VfdHJlZS5jDQo+ID4g
KysrIGIveGVuL2FyY2gvYXJtL251bWFfZGV2aWNlX3RyZWUuYw0KPiA+IEBAIC0yMCwxNiArMjAs
NTMgQEANCj4gPiAgICNpbmNsdWRlIDx4ZW4vaW5pdC5oPg0KPiA+ICAgI2luY2x1ZGUgPHhlbi9u
b2RlbWFzay5oPg0KPiA+ICAgI2luY2x1ZGUgPHhlbi9udW1hLmg+DQo+ID4gKyNpbmNsdWRlIDx4
ZW4vZGV2aWNlX3RyZWUuaD4NCj4gDQo+IE5vdGhpbmcgaW4gdGhpcyBmaWxlIHNlZW1zIHRvIGRl
cGVuZCBvbiB4ZW4vZGV2aWNlX3RyZWUuaC4gU28gd2h5IGRvIHlvdQ0KPiBuZWVkIHRvIGluY2x1
ZGUgaXQ/DQo+IA0KDQpJIHJlbWVtYmVyIHRoYXQgd2l0aG91dCB0aGlzIGhlYWRlciBmaWxlLCBk
ZXZpY2VfdHJlZV9nZXRfdTMyIGluIHRoaXMgcGF0Y2gNCndpbGwgY2F1c2UgY29tcGlsaW5nIGZh
aWxlZC4NCg0KPiA+ICsjaW5jbHVkZSA8YXNtL3NldHVwLmg+DQo+ID4NCj4gPiAgIHM4IGRldmlj
ZV90cmVlX251bWEgPSAwOw0KPiA+ICtzdGF0aWMgbm9kZW1hc2tfdCBwcm9jZXNzb3Jfbm9kZXNf
cGFyc2VkIF9faW5pdGRhdGE7DQo+ID4NCj4gPiAtaW50IHNyYXRfZGlzYWJsZWQodm9pZCkNCj4g
PiArc3RhdGljIGludCBzcmF0X2Rpc2FibGVkKHZvaWQpDQo+ID4gICB7DQo+ID4gICAgICAgcmV0
dXJuIG51bWFfb2ZmIHx8IGRldmljZV90cmVlX251bWEgPCAwOw0KPiA+ICAgfQ0KPiA+DQo+ID4g
LXZvaWQgX19pbml0IGJhZF9zcmF0KHZvaWQpDQo+ID4gK3N0YXRpYyBfX2luaXQgdm9pZCBiYWRf
c3JhdCh2b2lkKQ0KPiA+ICAgew0KPiA+ICAgICAgIHByaW50ayhLRVJOX0VSUiAiRFQ6IE5VTUEg
aW5mb3JtYXRpb24gaXMgbm90IHVzZWQuXG4iKTsNCj4gPiAgICAgICBkZXZpY2VfdHJlZV9udW1h
ID0gLTE7DQo+ID4gICB9DQo+ID4gKw0KPiA+ICsvKiBDYWxsYmFjayBmb3IgZGV2aWNlIHRyZWUg
cHJvY2Vzc29yIGFmZmluaXR5ICovDQo+ID4gK3N0YXRpYyBpbnQgX19pbml0IGR0Yl9udW1hX3By
b2Nlc3Nvcl9hZmZpbml0eV9pbml0KG5vZGVpZF90IG5vZGUpDQo+ID4gK3sNCj4gPiArICAgIGlm
ICggc3JhdF9kaXNhYmxlZCgpICkNCj4gPiArICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4gPiAr
ICAgIGVsc2UgaWYgKCBub2RlID09IE5VTUFfTk9fTk9ERSB8fCBub2RlID49IE1BWF9OVU1OT0RF
UyApIHsNCj4gPiArCQliYWRfc3JhdCgpOw0KPiA+ICsJCXJldHVybiAtRUlOVkFMOw0KPiA+ICsJ
fQ0KPiA+ICsNCj4gPiArICAgIG5vZGVfc2V0KG5vZGUsIHByb2Nlc3Nvcl9ub2Rlc19wYXJzZWQp
Ow0KPiA+ICsNCj4gPiArICAgIGRldmljZV90cmVlX251bWEgPSAxOw0KPiA+ICsgICAgcHJpbnRr
KEtFUk5fSU5GTyAiRFQ6IE5VTUEgbm9kZSAldSBwcm9jZXNzb3IgcGFyc2VkXG4iLCBub2RlKTsN
Cj4gPiArDQo+ID4gKyAgICByZXR1cm4gMDsNCj4gPiArfQ0KPiA+ICsNCj4gPiArLyogUGFyc2Ug
Q1BVIE5VTUEgbm9kZSBpbmZvICovDQo+ID4gK2ludCBfX2luaXQgZGV2aWNlX3RyZWVfcGFyc2Vf
bnVtYV9jcHVfbm9kZShjb25zdCB2b2lkICpmZHQsIGludCBub2RlKQ0KPiA+ICt7DQo+ID4gKyAg
ICB1aW50MzJfdCBuaWQ7DQo+ID4gKw0KPiA+ICsgICAgbmlkID0gZGV2aWNlX3RyZWVfZ2V0X3Uz
MihmZHQsIG5vZGUsICJudW1hLW5vZGUtaWQiLCBNQVhfTlVNTk9ERVMpOw0KPiA+ICsgICAgcHJp
bnRrKFhFTkxPR19XQVJOSU5HICJDUFUgb24gTlVNQSBub2RlOiV1XG4iLCBuaWQpOw0KPiA+ICsg
ICAgaWYgKCBuaWQgPj0gTUFYX05VTU5PREVTICkNCj4gPiArICAgIHsNCj4gPiArICAgICAgICBw
cmludGsoWEVOTE9HX1dBUk5JTkcgIk5vZGUgaWQgJXUgZXhjZWVkcyBtYXhpbXVtIHZhbHVlXG4i
LA0KPiBuaWQpOw0KPiA+ICsgICAgICAgIHJldHVybiAtRUlOVkFMOw0KPiA+ICsgICAgfQ0KPiA+
ICsNCj4gPiArICAgIHJldHVybiBkdGJfbnVtYV9wcm9jZXNzb3JfYWZmaW5pdHlfaW5pdChuaWQp
Ow0KPiA+ICt9DQo+ID4NCj4gDQo+IC0tDQo+IEp1bGllbiBHcmFsbA0K


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 02:30:46 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 02:30:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169195.309072 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGuIr-0000VL-LK; Fri, 20 Aug 2021 02:30:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169195.309072; Fri, 20 Aug 2021 02:30:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGuIr-0000VE-IC; Fri, 20 Aug 2021 02:30:41 +0000
Received: by outflank-mailman (input) for mailman id 169195;
 Fri, 20 Aug 2021 02:30:39 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=pH7i=NL=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mGuIp-0000V8-JW
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 02:30:39 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com (unknown
 [40.107.2.86]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 9aa90014-015e-11ec-a67b-12813bfff9fa;
 Fri, 20 Aug 2021 02:30:38 +0000 (UTC)
Received: from AM6PR08CA0006.eurprd08.prod.outlook.com (2603:10a6:20b:b2::18)
 by AM9PR08MB7291.eurprd08.prod.outlook.com (2603:10a6:20b:436::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 20 Aug
 2021 02:30:36 +0000
Received: from VE1EUR03FT022.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:b2:cafe::96) by AM6PR08CA0006.outlook.office365.com
 (2603:10a6:20b:b2::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Fri, 20 Aug 2021 02:30:36 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT022.mail.protection.outlook.com (10.152.18.64) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Fri, 20 Aug 2021 02:30:36 +0000
Received: ("Tessian outbound 32695b2df2f8:v103");
 Fri, 20 Aug 2021 02:30:36 +0000
Received: from 28d05513cb22.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 14172D55-1268-4FE3-8620-59D2B7F18C8B.1; 
 Fri, 20 Aug 2021 02:30:30 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 28d05513cb22.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 20 Aug 2021 02:30:30 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB6PR0801MB1767.eurprd08.prod.outlook.com (2603:10a6:4:2e::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.21; Fri, 20 Aug
 2021 02:30:19 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.019; Fri, 20 Aug 2021
 02:30:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9aa90014-015e-11ec-a67b-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HddaFCK3CI3FCr5H1XwicGOX81s2LCclFL5816nC6fs=;
 b=7JXMJKcuPIfVp5hp4R03lEUVHYtwtIjJSO5+FZwbBXBl07sUOzda4wBZlrYrcmOXk3uVqG9nwly6WreHnXQAGTc5cux/qro/L8qcYs8agquI4w/3atdZRREYdoJeCwTqFWtTAekwqOVz1h8Pc5ATQd1VYXXBaXp01tPH1BsqMbs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ysz4NYMbq9EAbW2Yk3HRTaJPbBnV8emLyFkwR6/p5558teSLunLcVJ6wjivlHB4DgYPhOBMIOEHKYxKi3gR80OqV8mgfphUy57ZCWwL4CB/pyN6wDEFapmZvopmxVDV0JxmM31pHCmjF03Zwtw4FdrKAQ6kW0rS5J9uP/8kpNrP+teQhA/zVXJ9SFzh/5ggIHh4DbL69No97fn9lrzgZ+FkRXax07rVi5SAg/XckyGcm4A4vjFs3oRezP4212KRCmo88+oXFGWcqKpE193jCO9TqZFuFTPbif3/JAQPmXa7SPGT7yNknOAPUXdbYbgUDFkI+A4OPUs2HwlPHM6YdMQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HddaFCK3CI3FCr5H1XwicGOX81s2LCclFL5816nC6fs=;
 b=PFSAnwTaWTeyB4jtIQVpeQ6pTNr+qYz7j423WzeE9/5i4l9/PQT73HZ7PBTH/TtFAJTCt4wAHqMWOQa/41+UeHvPvloCHm/L/xg9DTgyhlTByQ6BVAiTZBSLCxgRklrAHDusFdIrmnY98OsHLCnlLvI08sLUtvMyaDE1QDDV2JIG80gIC152PULyseS/KAuVV009HhUAibyTN0ylOHWq/MTlnT+fRQ6v22p6FjBg927m8hf+92iaOI4bs5qfj0BciZl9rFWrs5yPVn7vy7P646SWAArxHL0+EPEg0mtLJ2kn7/qdmEANARyXsbSuzCpAockf3cklg1Ypkc188YTPCw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HddaFCK3CI3FCr5H1XwicGOX81s2LCclFL5816nC6fs=;
 b=7JXMJKcuPIfVp5hp4R03lEUVHYtwtIjJSO5+FZwbBXBl07sUOzda4wBZlrYrcmOXk3uVqG9nwly6WreHnXQAGTc5cux/qro/L8qcYs8agquI4w/3atdZRREYdoJeCwTqFWtTAekwqOVz1h8Pc5ATQd1VYXXBaXp01tPH1BsqMbs=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>, "jbeulich@suse.com" <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 17/40] xen/arm: Introduce DEVICE_TREE_NUMA Kconfig
 for arm64
Thread-Topic: [XEN RFC PATCH 17/40] xen/arm: Introduce DEVICE_TREE_NUMA
 Kconfig for arm64
Thread-Index: AQHXjps53Qsrm+WTv06/kg1OUu3sHKt64bkAgADV/ZA=
Date: Fri, 20 Aug 2021 02:30:18 +0000
Message-ID:
 <DB9PR08MB68571FFA0E971E3A60C588EA9EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-18-wei.chen@arm.com>
 <1fbcb8a6-67b6-e2d6-6524-cfce7a8a6557@xen.org>
In-Reply-To: <1fbcb8a6-67b6-e2d6-6524-cfce7a8a6557@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: BE68A6242F0E9846A7F9942D06D3580D.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 0f537dba-812c-4b78-5354-08d963827e4d
x-ms-traffictypediagnostic: DB6PR0801MB1767:|AM9PR08MB7291:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM9PR08MB7291C76D73C159D3998562789EC19@AM9PR08MB7291.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:8882;OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 aM3nhNx/9FtHjpuThQD5HWYxAG5sDsXtyxvG6eUf4zlHWZTpJe40d0pjjSZ3OBaqi3UPW8k/Sv/2wYDH0OCTOueVKyabbWkY21EDyWzEBrm5/KvliTIXlwcrDyflgtUgCp6SWti5I+ius98xBwpkMmVDg+xz9L7VYeCmTto8MJ3kf93VCV7gbbLxGhymjDP51urQb/J7JMtfonGLUSoN7YTPpnnOqvi4XHPTg2/xf66kZQ2Q4P+VUXJze3u1kIXuFuE7s1aQK7iYDeNZQNKZWginIDUtxNis+aT4w/Perg9x/N+SVWJJOG6gqs8x0KgbG+/P+SSrh3O5KbsbQXMPjK0Z/tOhJb8AKikdq4Pi72Uxn2YasXwzXK4BVKYBCBEUOTwnc5QQlHV8taWQAiqAvKgpSmOjIByJ7qxZA5JXN/NXtbO1srzZooTXSwJd2sHxhYgYRamQx+i6YyOJF9S0zyLI+SgUF5VWrv+OANUq9IELj3DN/M7KWCPACctgcri520kiumw8LQZxmcpAtFfQympGUvhaTZcJo8T0O08d8EVxaT6yaIA/8N/+JNSABIyiGdUJMC5GI6QLpExuxKjm6Oc9RqF6j8JYiKI0NHMVMGA0RiIiuw/5Tmr+vjnP4gRojb3ptDuNv/untqaavFQNH1FNtvsGFHBhYc6Zih4APCqjsHJhjtNbl6hbQTO+mkcKK/ZG14rMijoyJ7AlFGlb/Q==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(136003)(376002)(366004)(346002)(396003)(39850400004)(64756008)(2906002)(66476007)(66556008)(5660300002)(66446008)(26005)(9686003)(478600001)(33656002)(83380400001)(7696005)(186003)(8676002)(8936002)(122000001)(4326008)(52536014)(110136005)(38100700002)(55016002)(66946007)(86362001)(38070700005)(76116006)(71200400001)(6506007)(53546011)(316002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?TExYSmI0RTJWNWRqd3JYZG1LWG1WVGZmSGxnbVUzMGpnYVd0aFhicDk2V214?=
 =?utf-8?B?Q25HbGREdENiKzFTSVZ3VGUyT1l4TWkxVzNEQ284ckd4ZFJ3UC85NU5oa3hF?=
 =?utf-8?B?enRwWXdjN1lFenNCcXVBdUR2cjdVU3FRU3pPRUU2anhWbHJhZ3BHWmw4dng3?=
 =?utf-8?B?ZTNZQVFGbmxaaE5NcXplSFNITzhJMzRIZHhxZDhPQlZTTlVSOGJqWUd2eWky?=
 =?utf-8?B?NU5xWnA1NXRBTzVaT3Nja1Q1MTZ5aFp1aEJxeDF2OUl1K0g5andxZ0ltKzli?=
 =?utf-8?B?Yy9PbkJPT2tSeXM3bFpGSHphdXBnOFZzZStvSWJXTFVmcFRzRWxuN2h2cC90?=
 =?utf-8?B?Q2JvTmN2T203aW52MTJLc0pLUmJvdUpWMGRZU1djNlgxUGhXd1hZeUtpWk1Z?=
 =?utf-8?B?NWJNcGJybjgwa1l6TklCZHd3ckRvQ1Vvc0hUNDdJYTFwTHN3cUNmb0NSSEwy?=
 =?utf-8?B?MXdjUk5yQ0hsVm5vSWhha2hKN0RlckQ1RlJKcmx3VWJNTkVTaUNNNnoxZ0tZ?=
 =?utf-8?B?NExxbC9ON2FBVVRTczRuVnpkM1dqNE14K25RMnJIWWtBYmZ1VmxiMHE0S2J0?=
 =?utf-8?B?T3ZUNkhHbE1lWTNVYU5NMGZZTngrdUxTaGVMMnQra3RVUTBuK1BMVG5nMjh2?=
 =?utf-8?B?dWJPWDhnZi93eG5oWWVvTlZnTzdzNGtOM0V5SjZpYk43UklLSUdVWTl0Zkts?=
 =?utf-8?B?Nk5GRHIzL3AxSERxK1UwVmlTRS9oaXdYK01JZi8wbmtFQmhseGJzTFNsaXZM?=
 =?utf-8?B?YmtUUzRaNUlGcVV5QzFRSktneDUzQTVrSkcwMHR1am9BMnU4TnZJajFkSzU3?=
 =?utf-8?B?MW5jVk5NYndZcXY0bVBNc2R0eDFLelBGN1ZSZklPVnVPVjdWTlFsQXBpSEZM?=
 =?utf-8?B?cW1JejNQSnZTSWw5Y2ZKRFZld0tPTjB5VHUwcVBveWFBWXhpVFVaWWpyNzZi?=
 =?utf-8?B?cmZIMjVEbUhMYkNIb3NLRlFtcjdYb1ByZ0hMOVpKRHpGTHJxWnM4QjY2dWp6?=
 =?utf-8?B?VGhkbjBQTngzS09YZjVOYTRrNzZET2pHTVV1SzVGWTJKVFhPV2JPK1pEN3hn?=
 =?utf-8?B?RjlQelprS2pTRHdRT1drTys4eTkxWklpYy9rR3dBQlQ5MjlFSlU1b1BCbFlZ?=
 =?utf-8?B?SWY2c0ErNlZUVzk1MmVtOXh4N25qZSs0TzdBRExHT2JZMXJ2TVdoc3VwcFdW?=
 =?utf-8?B?SHgrRWVkQVF1VVFGR3daOUd4VWJER1hMMHl4QmJaVm1tdHowNHphamhWc1Jj?=
 =?utf-8?B?WXJTS2lpRXFaSXR0MWpUNXhKQmFBS20wSmtsWDRuTTZkT0RoRUNUYS9SN3FP?=
 =?utf-8?B?Y1NaT3pNV2ZBN2R2d3BsOVNFdXFxd0JLaThLK2xQcFAwc0xLSmxmNzQvb3VO?=
 =?utf-8?B?T1VVMHJSTXdocEJseEFSTGhJL1U1V2swYjI1d09aOHZZRXdvN3NGZElZZ3Rs?=
 =?utf-8?B?RkpqbGJMWVZzWVg0NmpueWFIYU5EbUJXclZMVFRBSmQvYU4xeGRZVVFZZGVE?=
 =?utf-8?B?R3hxVHppL3ZGb0c0M0VmNW5lc0wwYWZETXVBYWVlK0NoMGlCRXRyK2lmOU5h?=
 =?utf-8?B?R1RBZ0l3MmlGU0oxK2FRYTFMdnB4L0FKRDc2ZFM5d0FDdnlLdlpVZktzeUxq?=
 =?utf-8?B?aWI2ZnhHSW9hRUNTYzhqOHZSYWZEK1pWWHA2YS9SWHJLSWE5Q3JkbmgydXI1?=
 =?utf-8?B?bWJXSGpoMVVtUFNPNkRWd1pHRkdYcllZWGMxNjRVL2w1WkwvYndsMEd6VnhH?=
 =?utf-8?Q?X4OaOrxYYLKvwaVS68nI8VgY2euuPuTxIIvwyIo?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB1767
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT022.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	06361f04-d61f-46be-8db0-08d9638273de
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	P9jBO0gdkVOm2sNUXpuJTfIcTrdpSQUSWOr4bz0WDHIYLdklhpZn54e2FhqDovcOznFXqJ4UjrH9ZmcPA0FzGlo0c/p5f0pEqEjlZEzS+zRzvGwwQwCtETx2p31D/wvo3EYb/4htlgYETP/H5QHnUKjT6Zbo844b/MuNJklPenCQ60lcyiMmgHbXIa89acubq80xpeh3V0muoF0nXjiqezTHWTkVRfCLJ/bHHIZefEcKNxcMBP1ZJw8NvoM1q7mK/EKFpy2J3Z6TpoMDgb/+QymsGBfgSHaqihqZFDD55chLP6pTAM3Z5IIqXu+WzfVOKjb2+qb8RcTfDbEfpqFa1KxY7Wg3X+rDQqd32+A9x3Bf5/gyIDoKlCtuIWlgTssvmClPpx0usNDHHMsEUcpvPf3/qBDA0c8b5sKeMpG4D1ObpKuXv234jmkeCsuSX0iBnhjveCjMVjAbUwyV/61nW0FleFqkftaBa7beVA0+csbhYYt+xvhHLhhvC5Atbq6EhjBtjaZgJVoqdRcsxpJxuVCCQYag69tjc7z884InAQRphWGL3ufwDGYqWA0qR7m3l04bLRuYW86N3slo/58JogoPe75o+Ir6yNrrYutnP8FUMKEhzJ+EVEC137MaBcJM2lG96aJ7HaJGdp05AWX5IOWpGnJ/YDQRV/QjOBnc0pg8/iLeggnlB2d8wcGjFByrCytDQiYrkeIZpisY+aoY9w==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(396003)(136003)(376002)(39850400004)(346002)(46966006)(36840700001)(70206006)(70586007)(82310400003)(336012)(52536014)(36860700001)(86362001)(7696005)(82740400003)(47076005)(83380400001)(2906002)(5660300002)(55016002)(4326008)(8676002)(33656002)(81166007)(26005)(356005)(478600001)(186003)(110136005)(9686003)(6506007)(316002)(53546011)(8936002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 02:30:36.4461
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0f537dba-812c-4b78-5354-08d963827e4d
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT022.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB7291

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMTnml6UgMjE6MzgN
Cj4gVG86IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgeGVuLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnOw0KPiBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqYmV1bGljaEBzdXNlLmNvbQ0K
PiBDYzogQmVydHJhbmQgTWFycXVpcyA8QmVydHJhbmQuTWFycXVpc0Bhcm0uY29tPg0KPiBTdWJq
ZWN0OiBSZTogW1hFTiBSRkMgUEFUQ0ggMTcvNDBdIHhlbi9hcm06IEludHJvZHVjZSBERVZJQ0Vf
VFJFRV9OVU1BDQo+IEtjb25maWcgZm9yIGFybTY0DQo+IA0KPiBIaSwNCj4gDQo+IE9uIDExLzA4
LzIwMjEgMTE6MjQsIFdlaSBDaGVuIHdyb3RlOg0KPiA+IFdlIG5lZWQgYSBLY29uZmlnIG9wdGlv
biB0byBkaXN0aW5ndWlzaCB3aXRoIEFDUEkgYmFzZWQNCj4gPiBOVU1BLiBTbyB3ZSBpbnRyb2R1
Y2UgdGhlIG5ldyBLY29uZmlnIG9wdGlvbjoNCj4gPiBERVZJQ0VfVFJFRV9OVU1BIGluIHRoaXMg
cGF0Y2ggZm9yIEFybTY0Lg0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogV2VpIENoZW4gPHdlaS5j
aGVuQGFybS5jb20+DQo+ID4gLS0tDQo+ID4gICB4ZW4vYXJjaC9hcm0vS2NvbmZpZyB8IDEwICsr
KysrKysrKysNCj4gPiAgIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspDQo+ID4NCj4g
PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL0tjb25maWcgYi94ZW4vYXJjaC9hcm0vS2NvbmZp
Zw0KPiA+IGluZGV4IGVjZmE2ODIyZTQuLjY3OGNjOThlYTMgMTAwNjQ0DQo+ID4gLS0tIGEveGVu
L2FyY2gvYXJtL0tjb25maWcNCj4gPiArKysgYi94ZW4vYXJjaC9hcm0vS2NvbmZpZw0KPiA+IEBA
IC0zMyw2ICszMywxNiBAQCBjb25maWcgQUNQSQ0KPiA+ICAgCSAgQWR2YW5jZWQgQ29uZmlndXJh
dGlvbiBhbmQgUG93ZXIgSW50ZXJmYWNlIChBQ1BJKSBzdXBwb3J0IGZvciBYZW4NCj4gaXMNCj4g
PiAgIAkgIGFuIGFsdGVybmF0aXZlIHRvIGRldmljZSB0cmVlIG9uIEFSTTY0Lg0KPiA+DQo+ID4g
K2NvbmZpZyBERVZJQ0VfVFJFRV9OVU1BDQo+IA0KPiBUaGUgbmFtZSBzdWdnZXN0cyB0aGF0IE5V
TUEgc2hvdWxkIG9ubHkgYmUgZW5hYmxlZCBmb3IgRGV2aWNlLVRyZWUuLi4NCj4gQnV0IHRoZSBk
ZXNjcmlwdGlvbiBsb29rcyBnZW5lcmljLg0KPiANCj4gSG93ZXZlciwgSSB0aGluayB0aGUgdXNl
ciBzaG91bGQgb25seSBoYXZlIHRoZSBjaG9pY2UgdG8gc2F5IHdoZXRoZXINCj4gdGhleSB3YW50
IE5VTUEgdG8gYmUgZW5hYmxlZCBvciBub3QuIFdlIHNob3VsZCBub3QgZ2l2ZSB0aGVtIHRoZSBj
aG9pY2UNCj4gdG8gZW5hYmxlL2Rpc2FibGUgdGhlIHBhcnNpbmcgZm9yIERUL0FDUEkuDQo+IA0K
PiBTbyB3ZSBzaG91bGQgaGF2ZSBhIGdlbmVyaWMgY29uZmlnIHRoYXQgd2lsbCB0aGVuIHNlbGVj
dCBEVCAoYW5kIEFDUEkgaW4NCj4gdGhlIGZ1dHVyZSkuDQo+IA0KDQpIb3cgYWJvdXQgd2Ugc2Vs
ZWN0IERUX05VTUEgZGVmYXVsdCBvbiBBcm02NC4gQW5kIERUX05VTUEgc2VsZWN0IE5VTUENCmxp
a2Ugd2hhdCB3ZSBoYXZlIGRvbmUgaW4gcGF0Y2gjNiBpbiB4ODY/IEFuZCByZW1vdmUgdGhlIGRl
c2NyaXB0aW9uPw0KDQpJZiB3ZSBtYWtlIGdlbmVyaWMgTlVNQSBhcyBhIHNlbGVjdGFibGUgb3B0
aW9uLCBhbmQgZGVwZW5kcyBvbg0KTlVNQSB0byBzZWxlY3QgRFQgb3IgQUNQSSBOVU1BLiBJdCBz
ZWVtcyB0byBiZSBxdWl0ZSBkaWZmZXJlbnQgZnJvbQ0KdGhlIGV4aXN0aW5nIGxvZ2ljPw0KDQo+
ID4gKwlib29sICJOVU1BIChOb24tVW5pZm9ybSBNZW1vcnkgQWNjZXNzKSBTdXBwb3J0IChVTlNV
UFBPUlRFRCkiIGlmDQo+IFVOU1VQUE9SVEVEDQo+ID4gKwlkZXBlbmRzIG9uIEFSTV82NA0KPiA+
ICsJc2VsZWN0IE5VTUENCj4gPiArCS0tLWhlbHAtLS0NCj4gPiArDQo+ID4gKwkgIE5vbi1Vbmlm
b3JtIE1lbW9yeSBBY2Nlc3MgKE5VTUEpIGlzIGEgY29tcHV0ZXIgbWVtb3J5IGRlc2lnbiB1c2Vk
DQo+IGluDQo+ID4gKwkgIG11bHRpcHJvY2Vzc2luZywgd2hlcmUgdGhlIG1lbW9yeSBhY2Nlc3Mg
dGltZSBkZXBlbmRzIG9uIHRoZQ0KPiBtZW1vcnkNCj4gPiArCSAgbG9jYXRpb24gcmVsYXRpdmUg
dG8gdGhlIHByb2Nlc3Nvci4NCj4gPiArDQo+IA0KPiBDaGVlcnMsDQo+IA0KPiAtLQ0KPiBKdWxp
ZW4gR3JhbGwNCg==


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 02:37:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 02:37:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169201.309083 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGuPr-0001M1-Fu; Fri, 20 Aug 2021 02:37:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169201.309083; Fri, 20 Aug 2021 02: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 1mGuPr-0001Lu-CW; Fri, 20 Aug 2021 02:37:55 +0000
Received: by outflank-mailman (input) for mailman id 169201;
 Fri, 20 Aug 2021 02:37:54 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ok5w=NL=arm.com=Jiamei.Xie@srs-us1.protection.inumbo.net>)
 id 1mGuPq-0001Lo-Ak
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 02:37:54 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com (unknown
 [40.107.8.51]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id d18b257f-febf-461f-8a03-3abd419c9ede;
 Fri, 20 Aug 2021 02:37:51 +0000 (UTC)
Received: from AM6PR10CA0020.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:209:89::33)
 by AM0PR08MB5505.eurprd08.prod.outlook.com (2603:10a6:208:18e::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 20 Aug
 2021 02:37:49 +0000
Received: from AM5EUR03FT003.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:89:cafe::13) by AM6PR10CA0020.outlook.office365.com
 (2603:10a6:209:89::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Fri, 20 Aug 2021 02:37:49 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT003.mail.protection.outlook.com (10.152.16.149) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Fri, 20 Aug 2021 02:37:48 +0000
Received: ("Tessian outbound f11f34576ce3:v103");
 Fri, 20 Aug 2021 02:37:48 +0000
Received: from 2d1df6f0f05d.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 091E933D-7AEE-48D5-8DB5-E85429623D26.1; 
 Fri, 20 Aug 2021 02:37:41 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 2d1df6f0f05d.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 20 Aug 2021 02:37:41 +0000
Received: from VI1PR08MB3056.eurprd08.prod.outlook.com (2603:10a6:803:3d::28)
 by VE1PR08MB5182.eurprd08.prod.outlook.com (2603:10a6:803:10c::25)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 20 Aug
 2021 02:37:38 +0000
Received: from VI1PR08MB3056.eurprd08.prod.outlook.com
 ([fe80::a931:b3e8:a3af:3a67]) by VI1PR08MB3056.eurprd08.prod.outlook.com
 ([fe80::a931:b3e8:a3af:3a67%5]) with mapi id 15.20.4436.019; Fri, 20 Aug 2021
 02:37:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d18b257f-febf-461f-8a03-3abd419c9ede
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hAvuNKxVrhPRT3eSRcdXwaUSi1medwsmmT+OuBT8+6s=;
 b=G63gMmnhhk04YI605qT0y4tL4qMPyRa7gOSuSY6Ko5HEOXgeTqkOqmCjb/LUvNPZ+vl/blbqlRvwTQNM6C2bOL04nHbyueMDO49EaML+Ncgp/En0xJHMxud2Dr6WOVaeNi9ANTKdetftqhWFk+f2S3tAh7wHLDhhyErxU7c9XLM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DFCSRBNM2CsXOHrk3hhZBg59hMWJ1mba4L5wbxEgXiVmIT1Pyt+msPGNfXJ9JW+eDPmmEPYPSSF+eOo0fYQNf9SI1FRRdp5k705i8kj/bTsAOnJFqFiqcBlN/1AFRTljmDyiWEwwhQy5nwCkJZ6DLkagtnAicGM4AWRp+Dl3eGnK4DPz7AzrT4kDkedQbPT1e89IgrInL8Hc1/u/ztAC5qk4s8aC5praeQVYURe7IPWs8x+DSoXa4KxJ2iCgETUJ/K7TbQm6QRyT0kpxl21Ngh8sbxOhmPqlOapzTvBxX+vVgWFdqyhMinzrg2Ccje8Q7FbV3madzCnk4PWEcWzLWg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hAvuNKxVrhPRT3eSRcdXwaUSi1medwsmmT+OuBT8+6s=;
 b=nIAUFJqNlbES6pbx1y0fjE0geLPxF3x8FaAqtwF49vku/+RnnEGbYiFtnDB20Xg2XVIqD0sxxAwZhrFCqEwgIL9TsrgYFnewIikogIggILeBmoyNoG+2SrmlpfNMNhZHjKGDIweioy2AuTV/OLtY3P3eMZD9ImBAJnMDMrBiVeiGB/K5puUjzZg9x9UI67ry21yENHv8kIyxK9MCgN3gJaLQ/si/h8fXKtFpIt1czjQWMxquKHZt5soH8k03Csd/7fInQBobq+MuJkeCJI6d2B87pXJu0OayOI9Bhq0gQXWhald0Y/RauNCdSsoOtMjg31PP3RVV7GRaC5dJhd9Izw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hAvuNKxVrhPRT3eSRcdXwaUSi1medwsmmT+OuBT8+6s=;
 b=G63gMmnhhk04YI605qT0y4tL4qMPyRa7gOSuSY6Ko5HEOXgeTqkOqmCjb/LUvNPZ+vl/blbqlRvwTQNM6C2bOL04nHbyueMDO49EaML+Ncgp/En0xJHMxud2Dr6WOVaeNi9ANTKdetftqhWFk+f2S3tAh7wHLDhhyErxU7c9XLM=
From: Jiamei Xie <Jiamei.Xie@arm.com>
To: Anthony PERARD <anthony.perard@citrix.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Wei
 Chen <Wei.Chen@arm.com>, nd <nd@arm.com>
Subject: RE: Some questions about virtio-net on Xen x86
Thread-Topic: Some questions about virtio-net on Xen x86
Thread-Index: AdeU5cKJ2Iuh63HAShmSu85qvWY46gAHv3OAABlQA0A=
Date: Fri, 20 Aug 2021 02:37:35 +0000
Message-ID:
 <VI1PR08MB305615C1E11535F9FB2B12CF92C19@VI1PR08MB3056.eurprd08.prod.outlook.com>
References:
 <VI1PR08MB3056C6F2FF2916207824CC1492C09@VI1PR08MB3056.eurprd08.prod.outlook.com>
 <YR5npyXm9SwZ8iMT@perard>
In-Reply-To: <YR5npyXm9SwZ8iMT@perard>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 65D8746AF9623843ACB5D23FEE97D35B.0
x-checkrecipientchecked: true
Authentication-Results-Original: citrix.com; dkim=none (message not signed)
 header.d=none;citrix.com; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 395ca941-3c80-4765-4a15-08d963837fd8
x-ms-traffictypediagnostic: VE1PR08MB5182:|AM0PR08MB5505:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM0PR08MB5505B52F7754E065629839F792C19@AM0PR08MB5505.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:5797;OLM:5797;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 0gtyrziswkSe35UkeEKPrv1/WKgVy3E99N+Rba/Cx+VvunWmFlpT5gT5oHJ8ewNxJGMhBDqBj2aGCexuJ2hzAv7EuOeUPZwNB0TIX/BJsON2FkP75WOlPN0Bf7vtTcTXrPguGzQa9NbJd4iRivcpKingM+67gipN97vWSVV9QAqa0T3BM33RV5zqw15+Q33FlRC93n9mMXG8hzpEACpQI4RKfCo8VoAbelCwOKKAOCdvtMwreZ3VA89nDqDoSgDKtfmCRMW3QgACfoPmsm2yFpJxohSUp52zg+AmSlGCy/b3vwYv8M90vt2G1N3coQ9jMqxcxhBsC0XIr5VRNekWRMhYqalMvAbM+mrvpCopAEDzRlBbxpdOZTLYy2yaXcqZonrxwVVnvnRQl8NsoNaF882gkRpGxcLKa5R+E+nK5AMVPRvwzmRk5bzLu2UYnP9A02cY8iMwgiB33W7cdwpJ3KscSoch67EQ7rpSCIVBbsz6IVlU4X36j2GUFwmF/QyCXq8Jj0DqrITqyRBfy6g2+stjhqKKEpNe8D3xPrPe/9DLwziP9O+sJltpe7wCI8eoVwMjzBGZeJg3onaJxvGwaa68BI4dLQ8g7ikPah1HdtnhMNd5xw+PRw845itW4Nhy5PB9e5/Q/wYD4J+RysXRLU0CqdieMBKExT6hvFOR9j7uVdOBJ/NUTXWvossA/6UhGAtMLoiWtiz0kfHNa+6K0m0YIZn60icYG5M10x7uC+CKuSjx1NvdxEgM83A70ZywEk6CvTsJjzeR6OXr14t6MQJLf1xBqjfSB9uqGZ82JPE=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR08MB3056.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(366004)(136003)(346002)(376002)(39850400004)(4326008)(6506007)(54906003)(53546011)(55016002)(52536014)(83380400001)(5660300002)(71200400001)(966005)(64756008)(66476007)(66446008)(76116006)(186003)(38070700005)(7696005)(66946007)(478600001)(66556008)(26005)(6916009)(8936002)(8676002)(33656002)(38100700002)(122000001)(2906002)(86362001)(9686003)(316002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-2022-jp?B?L0FDbjFDUVhONFdhWVkrK0hQZUU5RVhJb2hPblZQZm1yRThVRWJXc0Iz?=
 =?iso-2022-jp?B?ZTYwdkMzOG5YK1ZxODhacmIzTENYby9TTkR0bzFZK3AvRGpvcWxZQU9U?=
 =?iso-2022-jp?B?NU9RL3M3U2dtZmpUcVJBNFB1cnRXakl4OGRJMitWeHVRdGFrT3lNdE0z?=
 =?iso-2022-jp?B?NWNRMXgybkRRa0NSM0VuS2V5TWZtUU12T1NLYitPTVppVk5VV3lBc3Bj?=
 =?iso-2022-jp?B?Vm5UNlhabU9CUTF5YjFBZUNwRC8rakpIdmZyaE5oTkMwRXhxbWk0SjJx?=
 =?iso-2022-jp?B?NTM4eGV1UnBQK2V5N0FwTFJucUhaRDl6eTdQYjBUVk02a2VZOGszTFVq?=
 =?iso-2022-jp?B?VUN6Q3k5SHBVU0NrL05NbXRDTXQ2YmF1U2U2cEMvWFhFL2Y0cTBVTWhJ?=
 =?iso-2022-jp?B?MWJTN0Fla0RNazUwM2lodElsdUdqSXFhOXVaMklJTnAzK2tOQmZIQ0w0?=
 =?iso-2022-jp?B?dGRuU1p0REhqRlEyTW1tRndPZm16M1BRMjM2cEk4TE5nd1VJZXZZNVVT?=
 =?iso-2022-jp?B?K1pZOHR2a0lLaThaOTJKNTIyZENRNkk4NWthK0Z2TnBGaTh2cDhYODdX?=
 =?iso-2022-jp?B?UzZuRWVZNEZsQzlzN1NKUTlUMURjZ1FXMm52KzJMazl6a3gzUmszdTRr?=
 =?iso-2022-jp?B?bzRid2RnMURGN0pnQjZBMDF4V1BkTFQyT25USmN3WmlvNXpQSHNnUFZP?=
 =?iso-2022-jp?B?cFlsYTBRb3ZWaCtPdUFiZEFkSTVXcVNDbXZ5ZlNOcUZSYjN3OHZMR3pB?=
 =?iso-2022-jp?B?dDBnNXRwRlQ0bEYrRk9JREVEYU10NTMwekR5U1U1c3YvbkVCMWMrVTEw?=
 =?iso-2022-jp?B?UDQxZGQwN3dBaEtkWjhDN0xTSVg1RjIyaE5GSlk0NEtEMW5nS1lnQ2ps?=
 =?iso-2022-jp?B?azdSenR0MFIzeWg1SjFRc0IvMEZvWW1iVk1kS1ZxRGxFT014N3Z2OUhm?=
 =?iso-2022-jp?B?MnNQNkpTbyt2SkM0bm5GUGdxQnJjMDJkdkRqOXZ2STNSMWdid0VVNkRL?=
 =?iso-2022-jp?B?bTE5cENBK3dwWm0rY1k5S1NpTUUzdVdRZk15ejA4UkJsalNqSlZiYk1O?=
 =?iso-2022-jp?B?OEgvQmhwWFplbms5V1pPaXlMdkh1OXVUbHZ4QmNia0dCS1M3dDFwZVUr?=
 =?iso-2022-jp?B?R08zVVIwQ1BoRjQ5VkJOcmt2emJZQTNoNWhpVXRFKzlZRTV4RHZXZjBz?=
 =?iso-2022-jp?B?aGhxalVMVEtJWjlJQTBnNVpYd1NlbmhYQUYxSnBCUEVIU1ZtVXYrUFZI?=
 =?iso-2022-jp?B?OHpIT2VUeVF2eUY3MWZST2JyeWRZNTR1QlBZUEx5ZHREQmVPejZjakZj?=
 =?iso-2022-jp?B?YnZrVE9WVTVJV2xDRjE4aE1IZmxucllJcDFiSW9GbEZ3dHRieHVuMzhC?=
 =?iso-2022-jp?B?dmloUTlUKzlJTE1EVWE3QVJiUC9NTHJJQWF1VmROU2hweXZUdnhXZW5x?=
 =?iso-2022-jp?B?Z0syWjhobC9OSHg2cU9zM3pBZnZyR2t4RlpvL3RqT1daZDBQZlVPZWk2?=
 =?iso-2022-jp?B?S0Fld2JVQzdyMTB1R1cyYk1iYUdORGwyNmlvSGd5YUVFelR3bXBjMFpx?=
 =?iso-2022-jp?B?U2NQbm50Zng0dm5jekJ4NHlxd3VBVnArd1p3VzA3L2svMDJjKy85Vjla?=
 =?iso-2022-jp?B?UDA4emNOMWJhWFV4K1ZHamlSeWNYUy9KRDZUc2ZhanBJN2VZTVdpbEd1?=
 =?iso-2022-jp?B?NnpLV3dOUWVuZnhkdG41VFBMdDRHQlZCODk3RDNOL3JxaExwRE5tdG9F?=
 =?iso-2022-jp?B?ditnUXpXODJmTDhkQitubzVSdEdvM1RqWkc4RkMrTVFWQ2paSDl2N3Yy?=
 =?iso-2022-jp?B?NFhBdWV6SVRNcVVwMHV2ZXYzOENKQ1pjM1YxZlFEd2xUU3RQVnl6UmhW?=
 =?iso-2022-jp?B?eXJIT1ZjcFF4Tnd0b0h0OHNKRXVOZ2M0QnNpS2IvK2F5cURBemVZb3JF?=
Content-Type: text/plain; charset="iso-2022-jp"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5182
Original-Authentication-Results: citrix.com; dkim=none (message not signed)
 header.d=none;citrix.com; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT003.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	e23a7c89-a143-48b3-cc6a-08d963837922
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yABaIXb1kk85GIw7U38VSl/4IIPoDXKvY27kG0RJY9EH/jfHU3GKXsh+upVSyd3YTn6Ba1u+CpWllZ1GgDQO7Fenykaqd9y9uLjr4Tgkb55pfVRxsJIMb6Y8pkcHe6TvuthvoR6kCmgDUvidlEmAoRbSgflXp5sRWU9P96MeCdEjA4ac5BRbZCZyHT992rVcUW0IQOuOmqui5PHUQIqGroYwJQmBrplOwZmHLJY0fRt0MCT+xfbI/FZz7CDomQt+DbEozM66GZYUv2LVF5qcefi+woXfV+XPc/scJuRTJc8gAA3E876F+yKW+ANNIvX90EUj5Sj9lo0+TKej0nG1WX5vvYI+BlYNE+xFwrAau2lGw7fzPkAgmKoWp3FgW2XaJHNe78b7f6PmlnZ+97UKhtsckZujWEHLi4eKr86wC/j0q/3jU3B6R4ypz0MpkKrNK+qqSKVJukVTTlkBwSVdpacAiSNdB/d2r3bYv5nJoLgiMXg8TTJKGL9E9GJ0BznAtJ8uAH+lYzch+RpSL1vaVAPOBPyOQamKa6+hyvKL+/k089n+b8Zs83Q74Sf3yX2DM5UmAML11R7jlNNxdfMUrgmeqE6E3XBnD6w638He++HY1udKHLdzcP4gyQV4MaVTvsC+oHhuQEh4UsSMV2bRXGHusF93MuXWtV+D2hdRQ9pSg+Y0fxHj3XHUtfv4EW0JGdKD5l3RVfWKbvX6VcxpYR3NthUnj+vFe5nqy3mM3eTXvXYDkSSW5N1QMfR7rXz6QGr1SIgDXMA5DS2bZkqdGGxpaBXhPbjG4kicVdxjNhg=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(39850400004)(376002)(396003)(136003)(346002)(36840700001)(46966006)(83380400001)(86362001)(55016002)(54906003)(33656002)(316002)(53546011)(26005)(966005)(8676002)(9686003)(70206006)(5660300002)(186003)(478600001)(52536014)(4326008)(82310400003)(6862004)(6506007)(70586007)(36860700001)(336012)(81166007)(7696005)(356005)(47076005)(8936002)(82740400003)(2906002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 02:37:48.5822
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 395ca941-3c80-4765-4a15-08d963837fd8
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT003.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5505

Hi Anthony,

-----Original Message-----
From: Anthony PERARD <anthony.perard@citrix.com>=20
Sent: 2021=1B$BG/=1B(B8=1B$B7n=1B(B19=1B$BF|=1B(B 22:16
To: Jiamei Xie <Jiamei.Xie@arm.com>
Cc: xen-devel@lists.xenproject.org; Wei Chen <Wei.Chen@arm.com>; nd <nd@arm=
.com>
Subject: Re: Some questions about virtio-net on Xen x86

On Thu, Aug 19, 2021 at 10:38:49AM +0000, Jiamei Xie wrote:
> Hi all,
> I tried to run virtio-net on X86 machine according to the Wiki page https=
://wiki.xenproject.org/wiki/Virtio_On_Xen.=20
> And I Encountered some confusing problems.
>=20
> It seems eth0 is not virtio-net, properly a pv-net. I am really confused.
>=20
>  I have the following questions:
> 1. Does Xen x86 still support virtio-net based on QEMU backend?

Well, we don't test it, and the libxl toolstack doesn't really help getting=
 virtio devices.

> 2. If yes, is there anything wrong in my guest config file?

The wiki state that you should add 'xen_emul_unplug=3Dnever' to the guest k=
ernel's command line. (That would be "extra" in your guest.cfg.) I think th=
at will prevent the virtio-net device from been unplug, and so you will see=
 the virtio-net device in the guest.

But since libxl create Xen PV device anyway, you'll still have the Xen PV N=
IC, so two NICs with the same MAC.

I hope that help,

--
Anthony PERARD

Your answer helped me a lot, thank you very much. After adding 'xen_emul_un=
plug=3Dnever', virtio-net can work normally.
I can see the virtio net device with lspci command.
00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02=
)
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton I=
I]
00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03)
00:02.0 Unassigned class [ff80]: XenSource, Inc. Xen Platform Device (rev 0=
1)
00:03.0 SCSI storage controller: Broadcom / LSI 53c895a
00:04.0 VGA compatible controller: Cirrus Logic GD 5446
00:05.0 Ethernet controller: Red Hat, Inc. Virtio network device

Best wishes
Jiamei Xie




From xen-devel-bounces@lists.xenproject.org Fri Aug 20 04:14:00 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 04:14:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169207.309094 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGvuc-0003O0-OI; Fri, 20 Aug 2021 04:13:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169207.309094; Fri, 20 Aug 2021 04: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 1mGvuc-0003Nt-Kh; Fri, 20 Aug 2021 04:13:46 +0000
Received: by outflank-mailman (input) for mailman id 169207;
 Fri, 20 Aug 2021 04:13:45 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Niul=NL=lst.de=hch@srs-us1.protection.inumbo.net>)
 id 1mGvub-0003Nn-Kr
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 04:13:45 +0000
Received: from verein.lst.de (unknown [213.95.11.211])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 01ce9250-016d-11ec-a67e-12813bfff9fa;
 Fri, 20 Aug 2021 04:13:44 +0000 (UTC)
Received: by verein.lst.de (Postfix, from userid 2407)
 id 816B46736F; Fri, 20 Aug 2021 06:13:40 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 01ce9250-016d-11ec-a67e-12813bfff9fa
Date: Fri, 20 Aug 2021 06:13:40 +0200
From: "hch@lst.de" <hch@lst.de>
To: Michael Kelley <mikelley@microsoft.com>
Cc: Tianyu Lan <ltykernel@gmail.com>, KY Srinivasan <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Stephen Hemminger <sthemmin@microsoft.com>,
	"wei.liu@kernel.org" <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	"tglx@linutronix.de" <tglx@linutronix.de>,
	"mingo@redhat.com" <mingo@redhat.com>,
	"bp@alien8.de" <bp@alien8.de>, "x86@kernel.org" <x86@kernel.org>,
	"hpa@zytor.com" <hpa@zytor.com>,
	"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
	"luto@kernel.org" <luto@kernel.org>,
	"peterz@infradead.org" <peterz@infradead.org>,
	"konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	"boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>,
	"jgross@suse.com" <jgross@suse.com>,
	"sstabellini@kernel.org" <sstabellini@kernel.org>,
	"joro@8bytes.org" <joro@8bytes.org>,
	"will@kernel.org" <will@kernel.org>,
	"davem@davemloft.net" <davem@davemloft.net>,
	"kuba@kernel.org" <kuba@kernel.org>,
	"jejb@linux.ibm.com" <jejb@linux.ibm.com>,
	"martin.petersen@oracle.com" <martin.petersen@oracle.com>,
	"arnd@arndb.de" <arnd@arndb.de>, "hch@lst.de" <hch@lst.de>,
	"m.szyprowski@samsung.com" <m.szyprowski@samsung.com>,
	"robin.murphy@arm.com" <robin.murphy@arm.com>,
	"thomas.lendacky@amd.com" <thomas.lendacky@amd.com>,
	"brijesh.singh@amd.com" <brijesh.singh@amd.com>,
	"ardb@kernel.org" <ardb@kernel.org>,
	Tianyu Lan <Tianyu.Lan@microsoft.com>,
	"pgonda@google.com" <pgonda@google.com>,
	"martin.b.radev@gmail.com" <martin.b.radev@gmail.com>,
	"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
	"kirill.shutemov@linux.intel.com" <kirill.shutemov@linux.intel.com>,
	"rppt@kernel.org" <rppt@kernel.org>,
	"sfr@canb.auug.org.au" <sfr@canb.auug.org.au>,
	"saravanand@fb.com" <saravanand@fb.com>,
	"krish.sadhukhan@oracle.com" <krish.sadhukhan@oracle.com>,
	"aneesh.kumar@linux.ibm.com" <aneesh.kumar@linux.ibm.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"rientjes@google.com" <rientjes@google.com>,
	"hannes@cmpxchg.org" <hannes@cmpxchg.org>,
	"tj@kernel.org" <tj@kernel.org>,
	"iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org>,
	"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
	"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	vkuznets <vkuznets@redhat.com>,
	"parri.andrea@gmail.com" <parri.andrea@gmail.com>,
	"dave.hansen@intel.com" <dave.hansen@intel.com>
Subject: Re: [PATCH V3 11/13] HV/IOMMU: Enable swiotlb bounce buffer for
 Isolation VM
Message-ID: <20210820041340.GA26450@lst.de>
References: <20210809175620.720923-1-ltykernel@gmail.com> <20210809175620.720923-12-ltykernel@gmail.com> <MWHPR21MB159315B335EB0B064B0B0F23D7C09@MWHPR21MB1593.namprd21.prod.outlook.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <MWHPR21MB159315B335EB0B064B0B0F23D7C09@MWHPR21MB1593.namprd21.prod.outlook.com>
User-Agent: Mutt/1.5.17 (2007-11-01)

On Thu, Aug 19, 2021 at 06:11:30PM +0000, Michael Kelley wrote:
> This function is manipulating page tables in the guest VM.  It is not involved
> in communicating with Hyper-V, or passing PFNs to Hyper-V.  The pfn array
> contains guest PFNs, not Hyper-V PFNs.  So it should use PAGE_SIZE
> instead of HV_HYP_PAGE_SIZE, and similarly PAGE_SHIFT and virt_to_pfn().
> If this code were ever to run on ARM64 in the future with PAGE_SIZE other
> than 4 Kbytes, the use of PAGE_SIZE is correct choice.

Yes.  I just stumled over this yesterday.  I think we can actually use a
nicer helper ased around vmap_range() to simplify this exactly because it
always uses the host page size.  I hope I can draft up a RFC today.



From xen-devel-bounces@lists.xenproject.org Fri Aug 20 04:22:03 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 04:22:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169213.309105 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGw2Z-0004vK-I3; Fri, 20 Aug 2021 04:21:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169213.309105; Fri, 20 Aug 2021 04: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 1mGw2Z-0004vD-Ef; Fri, 20 Aug 2021 04:21:59 +0000
Received: by outflank-mailman (input) for mailman id 169213;
 Fri, 20 Aug 2021 04:21:58 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Niul=NL=lst.de=hch@srs-us1.protection.inumbo.net>)
 id 1mGw2X-0004v7-Tv
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 04:21:57 +0000
Received: from verein.lst.de (unknown [213.95.11.211])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 89e3ad7e-971b-4df9-a6a1-3fed2b9fcc01;
 Fri, 20 Aug 2021 04:21:56 +0000 (UTC)
Received: by verein.lst.de (Postfix, from userid 2407)
 id E02696736F; Fri, 20 Aug 2021 06:21:51 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 89e3ad7e-971b-4df9-a6a1-3fed2b9fcc01
Date: Fri, 20 Aug 2021 06:21:51 +0200
From: "hch@lst.de" <hch@lst.de>
To: Michael Kelley <mikelley@microsoft.com>
Cc: Tianyu Lan <ltykernel@gmail.com>, KY Srinivasan <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Stephen Hemminger <sthemmin@microsoft.com>,
	"wei.liu@kernel.org" <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	"tglx@linutronix.de" <tglx@linutronix.de>,
	"mingo@redhat.com" <mingo@redhat.com>,
	"bp@alien8.de" <bp@alien8.de>, "x86@kernel.org" <x86@kernel.org>,
	"hpa@zytor.com" <hpa@zytor.com>,
	"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
	"luto@kernel.org" <luto@kernel.org>,
	"peterz@infradead.org" <peterz@infradead.org>,
	"konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	"boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>,
	"jgross@suse.com" <jgross@suse.com>,
	"sstabellini@kernel.org" <sstabellini@kernel.org>,
	"joro@8bytes.org" <joro@8bytes.org>,
	"will@kernel.org" <will@kernel.org>,
	"davem@davemloft.net" <davem@davemloft.net>,
	"kuba@kernel.org" <kuba@kernel.org>,
	"jejb@linux.ibm.com" <jejb@linux.ibm.com>,
	"martin.petersen@oracle.com" <martin.petersen@oracle.com>,
	"arnd@arndb.de" <arnd@arndb.de>, "hch@lst.de" <hch@lst.de>,
	"m.szyprowski@samsung.com" <m.szyprowski@samsung.com>,
	"robin.murphy@arm.com" <robin.murphy@arm.com>,
	"thomas.lendacky@amd.com" <thomas.lendacky@amd.com>,
	"brijesh.singh@amd.com" <brijesh.singh@amd.com>,
	"ardb@kernel.org" <ardb@kernel.org>,
	Tianyu Lan <Tianyu.Lan@microsoft.com>,
	"pgonda@google.com" <pgonda@google.com>,
	"martin.b.radev@gmail.com" <martin.b.radev@gmail.com>,
	"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
	"kirill.shutemov@linux.intel.com" <kirill.shutemov@linux.intel.com>,
	"rppt@kernel.org" <rppt@kernel.org>,
	"sfr@canb.auug.org.au" <sfr@canb.auug.org.au>,
	"saravanand@fb.com" <saravanand@fb.com>,
	"krish.sadhukhan@oracle.com" <krish.sadhukhan@oracle.com>,
	"aneesh.kumar@linux.ibm.com" <aneesh.kumar@linux.ibm.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"rientjes@google.com" <rientjes@google.com>,
	"hannes@cmpxchg.org" <hannes@cmpxchg.org>,
	"tj@kernel.org" <tj@kernel.org>,
	"iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org>,
	"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
	"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	vkuznets <vkuznets@redhat.com>,
	"parri.andrea@gmail.com" <parri.andrea@gmail.com>,
	"dave.hansen@intel.com" <dave.hansen@intel.com>
Subject: Re: [PATCH V3 12/13] HV/Netvsc: Add Isolation VM support for
 netvsc driver
Message-ID: <20210820042151.GB26450@lst.de>
References: <20210809175620.720923-1-ltykernel@gmail.com> <20210809175620.720923-13-ltykernel@gmail.com> <MWHPR21MB15936FE72E65A62FBA3EF4F2D7C09@MWHPR21MB1593.namprd21.prod.outlook.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <MWHPR21MB15936FE72E65A62FBA3EF4F2D7C09@MWHPR21MB1593.namprd21.prod.outlook.com>
User-Agent: Mutt/1.5.17 (2007-11-01)

On Thu, Aug 19, 2021 at 06:14:51PM +0000, Michael Kelley wrote:
> > +	if (!pfns)
> > +		return NULL;
> > +
> > +	for (i = 0; i < size / HV_HYP_PAGE_SIZE; i++)
> > +		pfns[i] = virt_to_hvpfn(buf + i * HV_HYP_PAGE_SIZE)
> > +			+ (ms_hyperv.shared_gpa_boundary >> HV_HYP_PAGE_SHIFT);
> > +
> > +	vaddr = vmap_pfn(pfns, size / HV_HYP_PAGE_SIZE, PAGE_KERNEL_IO);
> > +	kfree(pfns);
> > +
> > +	return vaddr;
> > +}
> 
> This function appears to be a duplicate of hv_map_memory() in Patch 11 of this
> series.  Is it possible to structure things so there is only one implementation?  In

So right now it it identical, but there is an important difference:
the swiotlb memory is physically contiguous to start with, so we can
do the simple remap using vmap_range as suggested in the last mail.
The cases here are pretty weird in that netvsc_remap_buf is called right
after vzalloc.  That is we create _two_ mappings in vmalloc space right
after another, where the original one is just used for establishing the
"GPADL handle" and freeing the memory.  In other words, the obvious thing
to do here would be to use a vmalloc variant that allows to take the
shared_gpa_boundary into account when setting up the PTEs.

And here is somthing I need help from the x86 experts:  does the CPU
actually care about this shared_gpa_boundary?  Or does it just matter
for the generated DMA address?  Does somehow have a good pointer to
how this mechanism works?


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 04:32:51 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 04:32:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169218.309116 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGwCz-0006Wu-Is; Fri, 20 Aug 2021 04:32:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169218.309116; Fri, 20 Aug 2021 04:32:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGwCz-0006Wn-Fo; Fri, 20 Aug 2021 04:32:45 +0000
Received: by outflank-mailman (input) for mailman id 169218;
 Fri, 20 Aug 2021 04:32:43 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Niul=NL=lst.de=hch@srs-us1.protection.inumbo.net>)
 id 1mGwCx-0006Wh-Kw
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 04:32:43 +0000
Received: from verein.lst.de (unknown [213.95.11.211])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id a858ebf0-016f-11ec-a67e-12813bfff9fa;
 Fri, 20 Aug 2021 04:32:42 +0000 (UTC)
Received: by verein.lst.de (Postfix, from userid 2407)
 id 0B8C66736F; Fri, 20 Aug 2021 06:32: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: a858ebf0-016f-11ec-a67e-12813bfff9fa
Date: Fri, 20 Aug 2021 06:32:37 +0200
From: "hch@lst.de" <hch@lst.de>
To: Michael Kelley <mikelley@microsoft.com>
Cc: Tianyu Lan <ltykernel@gmail.com>, KY Srinivasan <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Stephen Hemminger <sthemmin@microsoft.com>,
	"wei.liu@kernel.org" <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	"tglx@linutronix.de" <tglx@linutronix.de>,
	"mingo@redhat.com" <mingo@redhat.com>,
	"bp@alien8.de" <bp@alien8.de>, "x86@kernel.org" <x86@kernel.org>,
	"hpa@zytor.com" <hpa@zytor.com>,
	"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
	"luto@kernel.org" <luto@kernel.org>,
	"peterz@infradead.org" <peterz@infradead.org>,
	"konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	"boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>,
	"jgross@suse.com" <jgross@suse.com>,
	"sstabellini@kernel.org" <sstabellini@kernel.org>,
	"joro@8bytes.org" <joro@8bytes.org>,
	"will@kernel.org" <will@kernel.org>,
	"davem@davemloft.net" <davem@davemloft.net>,
	"kuba@kernel.org" <kuba@kernel.org>,
	"jejb@linux.ibm.com" <jejb@linux.ibm.com>,
	"martin.petersen@oracle.com" <martin.petersen@oracle.com>,
	"arnd@arndb.de" <arnd@arndb.de>, "hch@lst.de" <hch@lst.de>,
	"m.szyprowski@samsung.com" <m.szyprowski@samsung.com>,
	"robin.murphy@arm.com" <robin.murphy@arm.com>,
	"thomas.lendacky@amd.com" <thomas.lendacky@amd.com>,
	"brijesh.singh@amd.com" <brijesh.singh@amd.com>,
	"ardb@kernel.org" <ardb@kernel.org>,
	Tianyu Lan <Tianyu.Lan@microsoft.com>,
	"pgonda@google.com" <pgonda@google.com>,
	"martin.b.radev@gmail.com" <martin.b.radev@gmail.com>,
	"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
	"kirill.shutemov@linux.intel.com" <kirill.shutemov@linux.intel.com>,
	"rppt@kernel.org" <rppt@kernel.org>,
	"sfr@canb.auug.org.au" <sfr@canb.auug.org.au>,
	"saravanand@fb.com" <saravanand@fb.com>,
	"krish.sadhukhan@oracle.com" <krish.sadhukhan@oracle.com>,
	"aneesh.kumar@linux.ibm.com" <aneesh.kumar@linux.ibm.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"rientjes@google.com" <rientjes@google.com>,
	"hannes@cmpxchg.org" <hannes@cmpxchg.org>,
	"tj@kernel.org" <tj@kernel.org>,
	"iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org>,
	"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
	"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	vkuznets <vkuznets@redhat.com>,
	"parri.andrea@gmail.com" <parri.andrea@gmail.com>,
	"dave.hansen@intel.com" <dave.hansen@intel.com>
Subject: Re: [PATCH V3 13/13] HV/Storvsc: Add Isolation VM support for
 storvsc driver
Message-ID: <20210820043237.GC26450@lst.de>
References: <20210809175620.720923-1-ltykernel@gmail.com> <20210809175620.720923-14-ltykernel@gmail.com> <MWHPR21MB1593EEF30FFD5C60ED744985D7C09@MWHPR21MB1593.namprd21.prod.outlook.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <MWHPR21MB1593EEF30FFD5C60ED744985D7C09@MWHPR21MB1593.namprd21.prod.outlook.com>
User-Agent: Mutt/1.5.17 (2007-11-01)

On Thu, Aug 19, 2021 at 06:17:40PM +0000, Michael Kelley wrote:
> > +#define storvsc_dma_map(dev, page, offset, size, dir) \
> > +	dma_map_page(dev, page, offset, size, dir)
> > +
> > +#define storvsc_dma_unmap(dev, dma_range, dir)		\
> > +		dma_unmap_page(dev, dma_range.dma,	\
> > +			       dma_range.mapping_size,	\
> > +			       dir ? DMA_FROM_DEVICE : DMA_TO_DEVICE)
> > +
> 
> Each of these macros is used only once.  IMHO, they don't
> add a lot of value.  Just coding dma_map/unmap_page()
> inline would be fine and eliminate these lines of code.

Yes, I had the same thought when looking over the code.  Especially
as macros tend to further obsfucate the code (compared to actual helper
functions).

> > +				for (i = 0; i < request->hvpg_count; i++)
> > +					storvsc_dma_unmap(&device->device,
> > +						request->dma_range[i],
> > +						request->vstor_packet.vm_srb.data_in == READ_TYPE);
> 
> I think you can directly get the DMA direction as request->cmd->sc_data_direction.

Yes.

> > 
> > @@ -1824,6 +1848,13 @@ static int storvsc_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *scmnd)
> >  		payload->range.len = length;
> >  		payload->range.offset = offset_in_hvpg;
> > 
> > +		cmd_request->dma_range = kcalloc(hvpg_count,
> > +				 sizeof(*cmd_request->dma_range),
> > +				 GFP_ATOMIC);
> 
> With this patch, it appears that storvsc_queuecommand() is always
> doing bounce buffering, even when running in a non-isolated VM.
> The dma_range is always allocated, and the inner loop below does
> the dma mapping for every I/O page.  The corresponding code in
> storvsc_on_channel_callback() that does the dma unmap allows for
> the dma_range to be NULL, but that never happens.

Maybe I'm missing something in the hyperv code, but I don't think
dma_map_page would bounce buffer for the non-isolated case.  It
will just return the physical address.

> > +		if (!cmd_request->dma_range) {
> > +			ret = -ENOMEM;
> 
> The other memory allocation failure in this function returns
> SCSI_MLQUEUE_DEVICE_BUSY.   It may be debatable as to whether
> that's the best approach, but that's a topic for a different patch.  I
> would suggest being consistent and using the same return code
> here.

Independent of if SCSI_MLQUEUE_DEVICE_BUSY is good (it it a common
pattern in SCSI drivers), ->queuecommand can't return normal
negative errnos.  It must return the SCSI_MLQUEUE_* codes or 0.
We should probably change the return type of the method definition
to a suitable enum to make this more clear.

> > +				if (offset_in_hvpg) {
> > +					payload->range.offset = dma & ~HV_HYP_PAGE_MASK;
> > +					offset_in_hvpg = 0;
> > +				}
> 
> I'm not clear on why payload->range.offset needs to be set again.
> Even after the dma mapping is done, doesn't the offset in the first
> page have to be the same?  If it wasn't the same, Hyper-V wouldn't
> be able to process the PFN list correctly.  In fact, couldn't the above
> code just always set offset_in_hvpg = 0?

Careful.  DMA mapping is supposed to keep the offset in the page, but
for that the DMA mapping code needs to know what the device considers a
"page".  For that the driver needs to set the min_align_mask field in
struct device_dma_parameters.

> 
> The whole approach here is to do dma remapping on each individual page
> of the I/O buffer.  But wouldn't it be possible to use dma_map_sg() to map
> each scatterlist entry as a unit?  Each scatterlist entry describes a range of
> physically contiguous memory.  After dma_map_sg(), the resulting dma
> address must also refer to a physically contiguous range in the swiotlb
> bounce buffer memory.   So at the top of the "for" loop over the scatterlist
> entries, do dma_map_sg() if we're in an isolated VM.  Then compute the
> hvpfn value based on the dma address instead of sg_page().  But everything
> else is the same, and the inner loop for populating the pfn_arry is unmodified.
> Furthermore, the dma_range array that you've added is not needed, since
> scatterlist entries already have a dma_address field for saving the mapped
> address, and dma_unmap_sg() uses that field.

Yes, I think dma_map_sg is the right thing to use here, probably even
for the non-isolated case so that we can get the hv drivers out of their
little corner and into being more like a normal kernel driver.  That
is, use the scsi_dma_map/scsi_dma_unmap helpers, and then iterate over
the dma addresses one page at a time using for_each_sg_dma_page.

> 
> One thing:  There's a maximum swiotlb mapping size, which I think works
> out to be 256 Kbytes.  See swiotlb_max_mapping_size().  We need to make
> sure that we don't get a scatterlist entry bigger than this size.  But I think
> this already happens because you set the device->dma_mask field in
> Patch 11 of this series.  __scsi_init_queue checks for this setting and
> sets max_sectors to limits transfers to the max mapping size.

Indeed.


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 06:10:52 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 06:10:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169225.309130 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGxjc-0000Ro-UQ; Fri, 20 Aug 2021 06:10:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169225.309130; Fri, 20 Aug 2021 06:10:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGxjc-0000Rh-QS; Fri, 20 Aug 2021 06:10:32 +0000
Received: by outflank-mailman (input) for mailman id 169225;
 Fri, 20 Aug 2021 06:10:31 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=nWHd=NL=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mGxjb-0000Rb-SZ
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 06:10:31 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 9e647925-b0e1-4ab6-874b-70dfd5e43d13;
 Fri, 20 Aug 2021 06:10:30 +0000 (UTC)
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur02lp2050.outbound.protection.outlook.com [104.47.6.50]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-11-gbiQMUgCODCMro4vMLaWCw-1; Fri, 20 Aug 2021 08:10:28 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5165.eurprd04.prod.outlook.com (2603:10a6:803:54::25)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 20 Aug
 2021 06:10:26 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4436.019; Fri, 20 Aug 2021
 06:10:25 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0078.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:18::18) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Fri, 20 Aug 2021 06:10: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: 9e647925-b0e1-4ab6-874b-70dfd5e43d13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629439829;
	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=DTP848jVkT638Pv/M5YGcucEZxggey6e3CBMggT8o20=;
	b=nIQZHqVNsjmVtQ3eoXHp6Ym0wqmAB6SlnXxMaphgEedsOLSZlAlvQIYfebtYQdMhcfZDZi
	/M0uoZZcGWTJQ1bKzpQloDM8enCiUgsaAUcqQm6ZIkQGbR55EHeQ/Mn/sQpdjISlyfVM/B
	bqFz+QEHImzQLuA7k10fUHNyI0aAuDs=
X-MC-Unique: gbiQMUgCODCMro4vMLaWCw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mu8ZEMfSTUxMZHF7GeeyNg5Tgf5WvB0hwjPGYZrF6cogvKx1Zfe8WePbIBQpL104C5cof/SrQ0FsLbggtS/F6pjN/TIGsGg7Y2vo5bD+wkco6vmQXv4AG9LtJUfI2/twVBqAQnDqy3Udc4sjliIsy1L3VwBjHZGuMTIByFfHiDha5o1p8I2gqRC9CyaKE2+1c1NCNYb48gKLtbCWOqXGX7cJKFApKMOP2rNQ5FAREnkC23Z7whrLXPI7AlnTu+nVtYTEkOa65fMKwUOy1etuKKXtsbmSc+9wWVeo7OJRloHSJTsoOVbdPbWDq06hOPEenZKbCujHoYqLTMvos4bQmA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DTP848jVkT638Pv/M5YGcucEZxggey6e3CBMggT8o20=;
 b=mkhqbcDY/rE7SkFPbcDM2EDEpeWUViQO5dKcLsUJM0k4mikNVbx7QB5NjnUNZI/6te6d/WZCo578H5Da7d0DEnrkUOEkrQqMAi2g4CC5OC6WCJn0S17lBHGnJ5jMPrtSQ/jb3Soq6dZeoF/8bjQB8BGG4+atpJsYCS4TGBkzF6NlRwCEtuvH93vtM6R3i5csAe9Bux6AViIer28zUbj2B7LVXzJGvnAWyJtpzA7iJhlLdeugQmUw8jD/bI9cGTfQGGq6/+mQVY4wqWX2RE9ijR7Jf2yYlPDb2gwEQ4DwTVyXeOVP6xr3Lp0ZCF/5qrSVHYNVoANpyXmwO3FQ5PJA6A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: Re: preparations for 4.15.1 and 4.13.4 [and 1 more messages]
To: Ian Jackson <iwj@xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Ian Jackson <ian.jackson@citrix.com>,
 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: <48cc22b9-6d0a-2cfc-ce34-6aabeb84b160@suse.com>
 <8324f959-924b-d196-149d-2fdad95da8fa@citrix.com>
 <24862.35359.95257.223452@mariner.uk.xensource.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <6cf59a2a-71bb-834d-1f34-7de050d5991d@suse.com>
Date: Fri, 20 Aug 2021 08:10:22 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <24862.35359.95257.223452@mariner.uk.xensource.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0078.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:18::18) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ef9628be-ebcc-4c49-251d-08d963a1338c
X-MS-TrafficTypeDiagnostic: VI1PR04MB5165:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB51650C2666BDC8217002E1E3B3C19@VI1PR04MB5165.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:7691;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ztPfN0tYs7X14We2ZSFgsZB1C+Tn3KTeqy4wv5XyqR9wdShluoI5V3aht909VTW84hhCxJJ59oPuqCl9Tv1LZ1OVzurR1tvz3XjH5jkhe3gkzFIO41A9fOzvDMYdRKDvxMe8wF4X8bxzdXPuYLd/Sj5n3sS8e5hOftAFY4Un+yyfXlPaxakE8QAuL6nrMbhzq5JSVKwWG1pOqNYRO/n6Cra1DbfQMAC3hFIx8DIeaWNJ9VupAliUaPOIXIVaxgzv29Y739+tPy5J2Hm2wkmfvYVfn9JZ6NlJFKnFhbI1B6sGKsT0pQnUjSgjzyyrrUfaUMhkazfePPmNOK0kA408hBbzFoTPyG8P1l/w3HB/c3fNuJen9QM6FjH1we6Xc7qPrUkPOuihgKrtX6V2HrflJCMapC8+7j39LJ3ONNca6zP/DqpqaJobz+5CsiZdgVvRF2S1/oHQ/ilBUDsDgtnpjrHS4wajKp4mG1Iy1PC4tC1iCQ5EbSSTY4CyUIydNziYhvekBPl5YUITO4gO7dIAezQSkiLrUayfss/fspf3qZ76hp1lYRyyW99S9jknsbAwcCTn//h4HvQUCmmAkDSVO8k2A3OFsfmdF85qNN6oxhPcs/+NqYGELmqjL+EfkTeQkcH2p8OukjMm5BgmEMUnClkC0EofFCdxDVUSlJd6M1P+exAjiPkLR+EiwMAwLYg8UmgYFvsPhmlQzuk5SUHUoGPB9/Iqyy6CeU0/+7ZSATo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(376002)(346002)(39850400004)(396003)(366004)(478600001)(54906003)(110136005)(6486002)(316002)(2616005)(16576012)(4326008)(86362001)(31696002)(956004)(36756003)(31686004)(2906002)(38100700002)(186003)(53546011)(4744005)(5660300002)(8936002)(8676002)(6666004)(26005)(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?U0pucTREN1FiM1dxVnVsYng1ZHR3WmtyWWJyaHV3RTFlUDRrK0dUQ25xMkpH?=
 =?utf-8?B?LzQzUzZCR3I3WTFpckFuTllzbUxZWk8zS0hZOVNVZkR6RXFBLyt5Y0R3dXNS?=
 =?utf-8?B?SzZWK0EvdnRXVFpVZWJjVXk2L3p1QnZDcWl5V245S01EV0x2TjQ5OTh0Rmlu?=
 =?utf-8?B?ZFJkcFVjOGk2SC80aThrUU5nRExUTmpTcEZwRjZORWRtUDhlTGR1eWxIT2Z1?=
 =?utf-8?B?K2gzU2g3V2VROE13ZjdjSTF6ZmpFYUNXYXlBbjVGM0szbmFoVlEyRmhocXhC?=
 =?utf-8?B?N0dPcU5tMjRab1d3UloyYW1RRG9DNTEwU0g4SDQ1R2hnMGRwT2xQRFBVRjNw?=
 =?utf-8?B?U2JaSzd2N2dRU2dkNDVBRVArQkFYQ1RUWkRjdUNKVkZLOW15UVFyN1BpVlB1?=
 =?utf-8?B?RGRxTXNxM1NQcnpkRktMUDZBOCtIc0g1WkN2bElaQ2xmOUhKSGMvQit0dzFD?=
 =?utf-8?B?WktjZWpSTU9xNGxucjlHa3ROMXh0eUlwYUFxSkVJeG5PclFWaEdCZnF2b1dN?=
 =?utf-8?B?QVhEQTdBZ3g0eUdSODlXZklaaVo1ZkVZNXFuR0RXbmFqbWRQWnBBdDNYVVRS?=
 =?utf-8?B?MTJFdzZjWmF0UDRJdFlkd3ZJM2tLUkpXMTE5VXl4RGFCYXFJMm1heTQ0R0Zs?=
 =?utf-8?B?SzYyMlM4Y0dsc285WkpsaEcybFRONmg1ZnA0UW5DeXNkQnZmTTZMYkZLV3lK?=
 =?utf-8?B?ZUcyaU9uZHY0a21mTmxiZnQvSUQ5S0hQa2xiNVNJYTJZNHNoZy9GRjBEQzh6?=
 =?utf-8?B?R1pvck01Mktoek9jTmFYQUxtNjkvZzA1d0dUWmRFZkx6NWxpMHRldU1TUCtn?=
 =?utf-8?B?bHFEa3RlNW04WTN1cytaNU9ZMGhXc1hkaENuYzAxMHlKVnJxeUpFbGRyc012?=
 =?utf-8?B?SFlUQmh0NW5OMjM5cmdwekhvOGxHNGJ5RnRBNDRpVzJFSWg0TkkxMlZRMGlz?=
 =?utf-8?B?MlFuSnJsZzgzbzBnM09XNGdvWHJ0aWRVZVB5alJ5eGR0NjJXNHMvM04rUEYr?=
 =?utf-8?B?T3lNcDJQMFVCeGJWNkYyMEtRbUpDaGY3VysrYzdaaU11bEhKUHdjeFhKQkll?=
 =?utf-8?B?K3RJa3FJdW5ZcHdxUnJ3ek1nYnlnRXlwTksxNnd2Q1lwdnVDazcwbFZHeVVI?=
 =?utf-8?B?OWNJVXhlQ1VGbytzNWlHUGJhRDVrYWFQbEMvMkV0UWM2UkNncmlnbHFkL01p?=
 =?utf-8?B?dTFEdDdLdG94bU1ERlN5VUl4bWpLVkZGaTltY2ZJRjdQbW1LL0lKbFRkVkJB?=
 =?utf-8?B?QU9zVE1DQ1Jrc0FhUnRVcVc2bE5VZlZMTFUrUllDRVhhZHhIK1Q3czg2R1lU?=
 =?utf-8?B?bENLcGE2aEpqVG1KZGVPTkdqdUFyY29xTG11YXZ2VTU4cFh4OXZRdGFkTU1X?=
 =?utf-8?B?bEpGdDc0NGh2RGQ4blNobWlVbjJJYk9aQi9DOEpESGliWENrcEtGUWU2UlhT?=
 =?utf-8?B?TGZIdk5sMEZjOG5JcFRyZFNVbDcraGtUZGVyS2dsc3BYbEdubTRBcGVlMSs5?=
 =?utf-8?B?d0thdXBtOUN3WnNUbEs3NjZ2eGIrNW9DMHEyRnNpdFNtdXNPK0lnVjVkWm9p?=
 =?utf-8?B?L3NWVlV3eG9lbUZuekpETzA3RXlHOXp0ZmpTUlFCeHFOWURkZVFyNms2U2M2?=
 =?utf-8?B?MFpDaHBQMjVaRmV2enFsNnhiQlFXV1I0SVdnOHFqWGFZMFU4U2MwZ25iL3VR?=
 =?utf-8?B?ZHVjQm1qaUZnZnRkZjlwMHZHczVqa2luVm0rM0ZEckxSaDZiSEQ5R282M2U2?=
 =?utf-8?Q?vw6HMj7Ir44ZbOkNe8qCaiFlCT8GmyfLA7mNRmb?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ef9628be-ebcc-4c49-251d-08d963a1338c
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 06:10:25.6852
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: oTN0BEEkofM5m9fQkvLLduHCY2jxfWwAGoPqA48M+4NxkFUh+bmDqszQU6ZIwd3i5GnbLtVxPODmKWIfqJJt/w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5165

On 19.08.2021 18:43, Ian Jackson wrote:
> Jan Beulich writes ("preparations for 4.15.1 and 4.13.4"):
>> Ian: I did take the liberty to backport Anthony's
>>
>> 5d3e4ebb5c71 libs/foreignmemory: Fix osdep_xenforeignmemory_map prototype
> 
> Thanks.
> 
>> Beyond this I'd like the following to be considered:
>>
>> 6409210a5f51 libxencall: osdep_hypercall() should return long
>> bef64f2c0019 libxencall: introduce variant of xencall2() returning long
>> 01a2d001dea2 libxencall: Bump SONAME following new functionality
>> 6f02d1ea4a10 libxc: use multicall for memory-op on Linux (and Solaris)
> 
> I agree these are needed.
> 
> Don't we need these, or something like them in 4.14 and earlier too ?

Well, yes, I think so. Did I give the wrong impression of asking
for 4.15 only?

Jan



From xen-devel-bounces@lists.xenproject.org Fri Aug 20 06:22:58 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 06:22:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169231.309141 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGxva-0002Gb-4t; Fri, 20 Aug 2021 06:22:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169231.309141; Fri, 20 Aug 2021 06:22: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 1mGxva-0002GU-11; Fri, 20 Aug 2021 06:22:54 +0000
Received: by outflank-mailman (input) for mailman id 169231;
 Fri, 20 Aug 2021 06:22:53 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=nWHd=NL=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mGxvZ-0002GO-Cj
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 06:22:53 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 198f0846-9136-4be6-b291-01a78c460aa5;
 Fri, 20 Aug 2021 06:22:52 +0000 (UTC)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2109.outbound.protection.outlook.com [104.47.18.109])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-20-oR6nrMTnODKb5eBJo4oDGQ-1; Fri, 20 Aug 2021 08:22:50 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0402MB3391.eurprd04.prod.outlook.com (2603:10a6:803:3::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.19; Fri, 20 Aug
 2021 06:22:49 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4436.019; Fri, 20 Aug 2021
 06:22:48 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0274.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1::22) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Fri, 20 Aug 2021 06:22:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 198f0846-9136-4be6-b291-01a78c460aa5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629440571;
	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=flwBwBVXfU+MlPOnrWXz/2YdNax8UTXGznjYRY1Ujb0=;
	b=NmQ5INklPKZPYXn+MF11d+heD/6ZKjRaiYNmpDHkr5yY0FPf3VMY+DPASHJ7mlpir2AzT3
	QqxsEs6vFKNyFrTASvX1bWl3/yl/mfL8jnFtnq2q3exmI9V5Ps5txTjZAODedhT3QxBBOz
	v6v3R7Q2GfXcJrra647UTqEBjU7+fT8=
X-MC-Unique: oR6nrMTnODKb5eBJo4oDGQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=H6e3Ne/wOiQN1crXTyVB7sAB8rNbgne9sqSZhl9Mn+njbq4J5tSubH12xIAobpUaZc+DL62L2TR4RgTpO0jsCGtiuUfdSjx3t8btzirXJ/ZAOKMBxEGvUHwzihl4mUJK2ml1+G7Z7sZ5ArG9vBI2pf796NItOKwS5lQv453ZF9B1XExDQnMW8yOcoc/ExdzLQorBGTlBvBSq9BbsPnNM0MjQ+ZYinwhuNlM/k1xjbQ3dMFmkvya6CpBHvYJBZiLfFQWx4i68Pz8AJO6aqtxnLM6mMbE6A68W5enoGr99Iye7NTEsRev95A+Wf+kS9v3UmNHD6211/3A2qtgLt4NWeQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=flwBwBVXfU+MlPOnrWXz/2YdNax8UTXGznjYRY1Ujb0=;
 b=TSWv97OlHG4MgBzYwjKc9+1ZEMqn1J3CJPnLxc6UwWZqtMV8H7UKmjt7Cw/mILFPLnuBZy8UR1f7zWtFfmoN8cipv0/Gzzm8Qy/R47/2WUWyt9OsO6R/SSVYC7nnRFrJXJYS8E8D50fMS9o3IMX9f17qSzf+uvbjKJe04xDaYKitSABYf4+YxJMvy7BSbH1QJQgW65exwn0pkYHzk+GUYcWbHR0m6OUfgtZsPngCoE7VgETFbceBZH9owY1wH2krDg76hly2btUnLEpeoinKzpKKv9HT+TmKcj2yxDcCmo2eJIRMyI8+NN9ipYmZ54/6YCSzrWSkfxfvZeOIW8hNPQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: citrix.com; dkim=none (message not signed)
 header.d=none;citrix.com; dmarc=none action=none header.from=suse.com;
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/PV: account for 32-bit Dom0 in
 mark_pv_pt_pages_rdonly()'s ASSERT()s
Message-ID: <14ed9a42-981b-da81-9a30-6ff9b3896bfb@suse.com>
Date: Fri, 20 Aug 2021 08:22:45 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0274.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1::22) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: bc43f1f7-f542-408d-e0db-08d963a2ee98
X-MS-TrafficTypeDiagnostic: VI1PR0402MB3391:
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB33919B9943490D6E73E8F707B3C19@VI1PR0402MB3391.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:2276;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JaiaoMpiWyFmMcFNtu5nNG1AavYrY4cKaEHxScyJs9Ta8xJNnvrdetraFAA2iNCjN/F//89tRWqz3RMSQQD9fUf7krtJZNaPuzH+oRzk19ea27sYgjq/8Gz4BeI0lCJdVuSK0ns21/gGQs7y6up9tuAGRu8yCStdIfZrDCq+Or0hInNr3rMF0O1f65nDDRRBhD76PXdJrCG8CdO/XWr5KbnhmxFNznJzSYnjmHiJuFJMrvrncvyNoAdvFJQf6ZtNJQBCcuufFrca/0T+jKxS0cCOqvUqTEUjxw7hgp/YUq4BrSuA+02+v6DTaC7N8JYm2+3hgk1uIuVe1bE1dYtnzlPkM7o4oQZONs98f36XDB2G+ihoVtwWEq2AwEkN5pR+Nu020ESBeVKFWX+33ih9cQ7CA2AdvVidnEoKupS+0hY+mZLmnOshmIMwMUU/11jncXskStn0AtaqQV1HHAMTdvvMYok9QWVx6Uos0ZwZ0MsfgHzNDnWOsiswqmqyJI93qy65664Aclkhc4csakUm0Pv7UQl+r0+JVOer0t6ZxOwJqMQazegLp+1zMH1E6VQ75pA5+4UFbOg/AtlIL29rZMlPbDjYWMOVbE/Szuj6be26Az9A34brEGoUianYJy3A5CJ38TxWUqp5dSN4nUHFZdgnvjnSWaNL7EeySw1wvpcwBl4E6SJYrd4nTuvzIvVv/RLCM25YztzqWTwjfvODM9nEGMn2csRUso0Fr4C5vww=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(8936002)(4326008)(4744005)(6916009)(26005)(8676002)(38100700002)(508600001)(86362001)(956004)(54906003)(66476007)(36756003)(66556008)(186003)(31696002)(16576012)(31686004)(6486002)(2906002)(316002)(5660300002)(2616005)(66946007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dnZxYWorTUhhZm1lZkhyblRmL1Y0SThJUDJHdFRvSEdwdzlzZHowSlZmSkR5?=
 =?utf-8?B?K054SEV4Ky94VUxyZ0s3TFdENUpockliVVJSYU5Vb0t3dHdmamhmVHlXbllR?=
 =?utf-8?B?NElnUENtVEYrUUQ2TDhQVFBNNExaaDFQRG9ZVS9ST1oyS2Z3cXgxK2tvUTRX?=
 =?utf-8?B?d0E4bkk2dUppN242UjR0MzZZS2hna25zZmYxUXBoWGlRWkhGc09UaUMwWEFC?=
 =?utf-8?B?a0h0eFkrVXQxcDVQbDlVQUI0cGVWa0h3WVMwWUJDcTRDOXMzZXBzRDFoZ2xj?=
 =?utf-8?B?ZTRaZmVMVThiNUl3aSs0T295MkZvalZBQ3N4bERIK0J6Z1M2MzdyN25Pd1VT?=
 =?utf-8?B?MDZDWS9oVnVMeVdLeTZQQlZiUldQZ01qNFZ1SzNTNEtQMDVFM3VFcjNiRFJj?=
 =?utf-8?B?NTZNS0hjRWVoeDBNd2F1OEY4K1BTSFI2ZndGcmNVdmNUeEpvRmdQVE1HcEEz?=
 =?utf-8?B?d1E1V0Nxc1FtQU9zVThJcWJVbmh0UE9NdEU2NlZLbDVwLzhXNEFqWTNUTUpP?=
 =?utf-8?B?ekd0OFNmUkFYN1N3Q3lEV004c1hYUDkvcU1HbHBVaTYwOUpHU0pyU29raXJu?=
 =?utf-8?B?eEhRUEYwOHJzbXJ6MjhSTlMwTjhtRE9aYjlxM1NkUXUzS21Gd0lzZlhST3M5?=
 =?utf-8?B?Z0pUaXlQNS91V1ZiaW5GVmNpeHNTaTBuYjhLdmdrWERIQWdQUTQvS1BLSm9N?=
 =?utf-8?B?YndHVzc4dnRNVyt5KzA0Vk1sQ2xTSTVyUFRZVUU1UlpGcEswY25sOXA0bDcw?=
 =?utf-8?B?WFBTc1NsYXpoVjIwREx5eS9ES1ZBZWVZWitvdVBUdnhRSTByVmh5QXNpNVZO?=
 =?utf-8?B?ay9XOThKMjZKbzV3bE5HTEtiQlhqaFRZLzBLd3dWbzFER1c3c2lJa1A3enJC?=
 =?utf-8?B?dHY1b3E4Y1UrZEV6Q3I4Vm9jbUVLV3NTRElFVUFoSzcwcVRYN3dPVVFHOENo?=
 =?utf-8?B?TGJpbGdxZ09XUlhKQlg1b0RtNmJQbTdqSHhzaTVCTElDWW93S3RoR0ZPemls?=
 =?utf-8?B?THBzOGNTbGhIaDRuN1hVNWFQSmNVenRDNEZPY1BFWjZmWjJuM1E1bUh2VVkx?=
 =?utf-8?B?S2tKUy83TnBwcWd3c1lQaDJmMTNhSjQ2MGRENVhLNm1jelI1UmVyTkU0Zzhj?=
 =?utf-8?B?c3NqL0tMa0g0OU9ENFh2Q2w0dlFEUXFLWWR2akZSMzdPTmpDMDRXVzNJOGZ3?=
 =?utf-8?B?SGlBS0gwVEViWFFZY29PQ1N4OGZPUUNWbUFOVXEzWjViU1ZWb29DNlhDZ1lP?=
 =?utf-8?B?ZHJEVWM3S1dJelJKalZ3QmkzcENIU3VDNHgrVlFISVNVVWZoTVVrRXExQlJy?=
 =?utf-8?B?YWpQREJBUDQwWHEwKzBOTHQ3YjBWa1BOVHI5Rm56N1lxVXhoRmlBcmFQcDI2?=
 =?utf-8?B?QzNLV2Z6THFheWhoOTF5NlNwSHppN0ZuSUFZNEM5V0RWTEFWaFQ3c3FFOWNz?=
 =?utf-8?B?YUV6TmE4QXY2SlFDNDAxUVBCNWQ0VE5tV1BLSXN4OFl0dHh6OEhxbkpHYnlQ?=
 =?utf-8?B?TUllSFJNd0V6SGtBTDRUaVlSeU5ham5tOUdXVndWdmVFSDBhWml2S2dXK09P?=
 =?utf-8?B?bVBkSFJSUVBRMHAwNGdQUWcrMVo0S25sZERVV3dXRVhQd3o4M25GdThibzJB?=
 =?utf-8?B?WGYrVDczblBxOTR6RkFqMUltYStoYmhvTHQrR1h5L3pVZ01INEhFT21GRGJJ?=
 =?utf-8?B?TjRMSi9UZ21BQXowenY2SXh5VE1vSlBJSFRZYlpZdHRCZVQwclFjZTZPUjd2?=
 =?utf-8?Q?RqhYkoN5gx0nWWxK3Fmsa4F9qLO4yR+GXmKYvmq?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bc43f1f7-f542-408d-e0db-08d963a2ee98
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 06:22:48.9353
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: oh3LP1u6q0qANjUiklUQ0Ge6AQ/qH0N3bSkIi7MqLvK255DrtnvZm0cVk78omQ8PUe52e1ps1aHl+UZbV+JZOw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3391

Clearly I neglected the special needs here, and also failed to test the
change with a debug build of Xen.

Fixes: 6b1ca51b1a91 ("x86/PV: assert page state in mark_pv_pt_pages_rdonly()")
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/pv/dom0_build.c
+++ b/xen/arch/x86/pv/dom0_build.c
@@ -67,7 +67,7 @@ static __init void mark_pv_pt_pages_rdon
          */
         ASSERT((page->u.inuse.type_info & PGT_type_mask) >= PGT_l1_page_table);
         ASSERT((page->u.inuse.type_info & PGT_type_mask) <= PGT_root_page_table);
-        ASSERT(!(page->u.inuse.type_info & ~PGT_type_mask));
+        ASSERT(!(page->u.inuse.type_info & ~(PGT_type_mask | PGT_pae_xen_l2)));
 
         /* Read-only mapping + PGC_allocated + page-table page. */
         page->count_info         = PGC_allocated | 3;



From xen-devel-bounces@lists.xenproject.org Fri Aug 20 06:33:26 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 06:33:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169237.309152 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGy5h-0003qd-4V; Fri, 20 Aug 2021 06:33:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169237.309152; Fri, 20 Aug 2021 06: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 1mGy5h-0003qW-1C; Fri, 20 Aug 2021 06:33:21 +0000
Received: by outflank-mailman (input) for mailman id 169237;
 Fri, 20 Aug 2021 06:33:20 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=nWHd=NL=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mGy5f-0003qQ-VZ
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 06:33:20 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 80f01b36-0180-11ec-a68a-12813bfff9fa;
 Fri, 20 Aug 2021 06:33:18 +0000 (UTC)
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur03lp2050.outbound.protection.outlook.com [104.47.9.50]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-12-fgxG84y3NkScC66DgYVReA-1; Fri, 20 Aug 2021 08:33:15 +0200
Received: from DB8PR04MB5594.eurprd04.prod.outlook.com (2603:10a6:10:a3::31)
 by DB3PR0402MB3740.eurprd04.prod.outlook.com (2603:10a6:8:e::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Fri, 20 Aug
 2021 06:33:14 +0000
Received: from DB8PR04MB5594.eurprd04.prod.outlook.com
 ([fe80::2c99:6a5b:2940:533b]) by DB8PR04MB5594.eurprd04.prod.outlook.com
 ([fe80::2c99:6a5b:2940:533b%4]) with mapi id 15.20.4415.024; Fri, 20 Aug 2021
 06:33:14 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR04CA0026.eurprd04.prod.outlook.com (2603:10a6:208:122::39) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Fri, 20 Aug 2021 06: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: 80f01b36-0180-11ec-a68a-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629441197;
	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=zCZUzILnwxmlBtHEfZDGJFliHzXJCBFb4gswGMZUe8w=;
	b=SCW/c3nwNpnClkOMHmmpDQ1CEFRBJLViWSFfvrj94SDSyPCyqq2P3O3ZcyJTrLnzhwSW6V
	R3y+45UIDFFIqA5GYRwMV0zrqbQEfjBY1IRPQdH80nQgzxBFFAi4Jgms2bakfZUdZywl1E
	9Y6rEWvbJkTTdKicfQqij038VcHIAek=
X-MC-Unique: fgxG84y3NkScC66DgYVReA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cHgicaQsyCPG3UG9bMwBs+QcIuZRA2hHoM+nkFa14r2pEoGwZ22qKy1Hv+mQOSZjNrgGnYFSwjiQWBFmiBkBmErSGRnN9+AMZQIukXhtH8dqth+04A8WxGkIDk7oI3Z+SiAEJvCw1liVoGUyWmOwiVbCx6LtUIolG20RTU7Qa6chjxClKKrCc4PYSZJrCU3kkDq5tf+lNmfvFJIzeHpy6Jh0M/uI/WGlKF3oBj3T6TveREsXXDWMxCyKXN5jEChcTJg7JWWn2AxS/XP/PwaGr+Z4Ja+XcrBuBwbTyM6/m9l6DkKphkPpdvd7kmbMBTxZ83+JSz95/ph79qqv99Lv7g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0nooyd7LXo5tY2ItS9dsXLyQic6u4AooK1E9A42S0jY=;
 b=LQc5VB6sEDnZS1gE5AZVnjbfsuL3Ah5BPZ71r0ftmZs4WpOpQxTnT8jhPWeahaSLGAo7dq188bILjugkPOFPlyfu/bELekV43D8Ow7e23Wvy3bx/5HptsyRNmFPKFrzSviT61DWRuQ8Xe4g4w46gtAj16vogRMwQzG2Pu9mcsivdUANzWvK/KkqpGsXOii9aFQBq5flAVatQCO0UlsbBeGSIgIUQMSkH6ri4lV2cPk/+EzwQ0aYTqoad6870nQ+ttKmN3szm7TSt89B5udH7vE7q9507L4lWOqGbl+9+9OOtaVIhw9tzk79frzi0gueH+LyWnFL9SxiAT0nCqE6nDw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v3 1/2] ns16550: specify uart param for
 ns_{read,write}_reg as const
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>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <20210819190625.476165-1-marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <69c39e53-353e-b5d8-09d8-e727f37b96bd@suse.com>
Date: Fri, 20 Aug 2021 08:33:12 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210819190625.476165-1-marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM0PR04CA0026.eurprd04.prod.outlook.com
 (2603:10a6:208:122::39) To DB8PR04MB5594.eurprd04.prod.outlook.com
 (2603:10a6:10:a3::31)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 7a53eb9a-bed6-4dc0-1424-08d963a46371
X-MS-TrafficTypeDiagnostic: DB3PR0402MB3740:
X-Microsoft-Antispam-PRVS:
	<DB3PR0402MB37403703AFF0AEF7B9AAF020B3C19@DB3PR0402MB3740.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:3826;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mKZakUHJ6fg5KTn4EwVCP3iz2bfRcMdWhF4Dte7qRCsc6ntuv46piLPk6iy3aAB+lH2ZaaYTV1d1/4nvWFbSzkPH+OfxKuMUjNG+UmJFX18MKkKalZ9EoH7Bju4qL/CAmS2JIE7upBFFNBDy8X2xHAUeQ0qEU5sLrSMbmUFkp+p0+R9Q0csHnBD8/eEi9EqMabqFsTpd+JhvYJk+jfWsblHDImPQB77E6xLk8AiF6xvY13wo2EpU8CN5nkBczEd7SSx7LSnmhivARmNhBEBfunqnxFtWvXCdzjjvhVtWn9cwfbcrlwhE6cjYh3nvq/1QWqmqxkfmeQDzXCQNepnNo/kws36VSxj/Q7di1KwsnNEey7/poaxbqcdSr9dXKqf4HoaQQKoiPak5Ryu7tM7Lnxtj8IGFPRcbPHNaIwXD4R1fzt+OIzxQmF3MWMEuQg4nw/utWXLtSShOnPgsjhqx+djQvtOHIL/OS+253a/xhIDhKO4s1AfaYkkDHqK7//qxTkMJi6GJeeqkcpwDzpFIUtCfZy6T3aAn662bR6wZsyaG+kOo4gYuHgzUkTcSIfDsSvfx3qP1oE3izEsXcvJo6/EuzaFM+13gqUok/DELAlLyWkjsJDOJ7BCW5k5KPddZKrHJjl4QhT2SgIaGeXPGKnhVwiqYt4TIoQ/nYaRtHYXR9aVUYJLT1MV0Htc+MXvfc9babPotz6ji7GfxJXshd7fnMALHs9fizngcEg+qgKA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB8PR04MB5594.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(39850400004)(366004)(346002)(136003)(376002)(396003)(86362001)(2906002)(31696002)(36756003)(31686004)(38100700002)(186003)(478600001)(66556008)(66946007)(66476007)(5660300002)(53546011)(26005)(6916009)(8936002)(6486002)(558084003)(16576012)(4326008)(54906003)(8676002)(316002)(956004)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?Sn22wd73BtWmsY9zjJFykOTWVLe3VD71XehXv+DZwczwJMjbdvd0IrKbNgWj?=
 =?us-ascii?Q?WozOYGqdjGlZfQEHnPS2hp96h8tVb455HtOBZV/4gGDbIYmAliOEtuqrOWoL?=
 =?us-ascii?Q?j7T3toMA2lNRyIwWWnQn1Vr7ufXynFu7g34JCgUPssGOFr8k0JpbfnQHjIEA?=
 =?us-ascii?Q?9Zdw6oneAexFDZPOmS60W/NovJsPl55rMPBxxfDeltY8R5IZGMubYQzNUoiD?=
 =?us-ascii?Q?LqjTjPdu6VA4GaMmQd3J/JxuyvpwzjnAusiAwMGflMh7+Ek08LcCKDTb5zYw?=
 =?us-ascii?Q?FARVmFEXf5f1qIIsewfrn9JrgyspwQNPS/V0sqkNid4oz7shJyTSGFVB28Ac?=
 =?us-ascii?Q?lYGqdonqm6bsvrnQSW591KN+7uPobHogvwGQrCyy/pzKYSs0zhKL6swlM43J?=
 =?us-ascii?Q?xwgEoPxrTso1d32eCtmy2a32kxnfErk7K3BHnmXEMj8olL1ZRgVXFHPK5RKe?=
 =?us-ascii?Q?eg3NbE2+PV5Pp9rjkfFMRdBBZvawZHLXVr6EdZ+09rwQ2wqB8BudhcYV3rk0?=
 =?us-ascii?Q?iJpOMGF46QxWENh5yXn+72sMz4be/Effr+AzhXEXuv7jkvPoNbzPizZLeRhP?=
 =?us-ascii?Q?A8iZhsFdxZOL7Go/CPsg6VkdHcADkXRDc2tJmLRwlyZHxXdbXI9abHni//HG?=
 =?us-ascii?Q?Wm8YwbTeJkLaaJ1TRmJO+FqeBeln8FLPlqy/2On6eMfpH7O6A3b/gJARlRP9?=
 =?us-ascii?Q?xWFZwAq24kQDI8Vk0XH69w2XmR3xO1VXJh0h0UwYmIoGgiW35WeK8Nv3HSoJ?=
 =?us-ascii?Q?Vx9HU0O0mqAmwg0btg/YqKzxIXU9+l9gs91uuvamajsnOxvAmGTjSzs+68TI?=
 =?us-ascii?Q?2fhTWQOo5tagwUj8i1qoXf9Ekc7K57Ml+Ad1glyMDtLGomRgbGpem/PqGghf?=
 =?us-ascii?Q?1diCIvQi8xq8yQF6gzT45qyk3QmpxzCEYyWq6DKu0yFEyLwSHWBGYpvKqr52?=
 =?us-ascii?Q?hKsI3AWfqMGxt8IvKQzXaqlu5+yrEtl/1/i7kxXVGT42/EwBzvu/X0p4kDe/?=
 =?us-ascii?Q?I7a9Ib8ESDd0wANvruB2tWe2IwSKvy9nzYro7wyGiOuvtcNxNEOBq9MDYqal?=
 =?us-ascii?Q?q/Pl9qoARrbbibuLhxsk3YL4KYQcBN9pYUwtb2ExjbJEUukdfy//z8LTW1Ep?=
 =?us-ascii?Q?eajMA3hVD8NaH+tKLmxBQIKP2OtHTeYe7+OOQZv9WMI1SxPOWd95D6Hw/QkW?=
 =?us-ascii?Q?O8tiIX1G+MAbNaWV2STwUxZFjQdJZ27pDKC4Pk7a1iKC2AN0ZnawWmQ+6k//?=
 =?us-ascii?Q?KKgI8xicxsKS3IBHeESi32gsbxkEBwRBJ8s+K+3y/yCDgGhcyut3IXTRz+L3?=
 =?us-ascii?Q?eFf6h7iAH1MpAbDhmNZ1BSx1?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7a53eb9a-bed6-4dc0-1424-08d963a46371
X-MS-Exchange-CrossTenant-AuthSource: DB8PR04MB5594.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 06:33:14.4886
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: nJiS+/PFqK1WKDOXPh+bOMzf/Q0bNC4NXBq51HMHlLNnKd5HHmekIxbkOnVAbw81oJAq7q5tUaEFVnPFbKW01Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0402MB3740

On 19.08.2021 21:06, Marek Marczykowski-G=C3=B3recki wrote:
> They don't modify it, after all.
>=20
> Signed-off-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingsl=
ab.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks for taking this extra step.

Jan



From xen-devel-bounces@lists.xenproject.org Fri Aug 20 06:40:14 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 06:40:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169242.309163 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGyCI-0005E7-Po; Fri, 20 Aug 2021 06:40:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169242.309163; Fri, 20 Aug 2021 06: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 1mGyCI-0005E0-Mm; Fri, 20 Aug 2021 06:40:10 +0000
Received: by outflank-mailman (input) for mailman id 169242;
 Fri, 20 Aug 2021 06:40:09 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=nWHd=NL=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mGyCH-0005Du-Lp
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 06:40:09 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 759029d8-0181-11ec-a68a-12813bfff9fa;
 Fri, 20 Aug 2021 06:40:08 +0000 (UTC)
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur03lp2058.outbound.protection.outlook.com [104.47.10.58]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-10-fCj145E9PJqm_jerp_iqlw-1; Fri, 20 Aug 2021 08:40:06 +0200
Received: from DB8PR04MB5594.eurprd04.prod.outlook.com (2603:10a6:10:a3::31)
 by DB8PR04MB7082.eurprd04.prod.outlook.com (2603:10a6:10:129::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 20 Aug
 2021 06:40:05 +0000
Received: from DB8PR04MB5594.eurprd04.prod.outlook.com
 ([fe80::2c99:6a5b:2940:533b]) by DB8PR04MB5594.eurprd04.prod.outlook.com
 ([fe80::2c99:6a5b:2940:533b%4]) with mapi id 15.20.4415.024; Fri, 20 Aug 2021
 06:40:05 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM9P195CA0005.EURP195.PROD.OUTLOOK.COM (2603:10a6:20b:21f::10) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Fri, 20 Aug 2021 06:40:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 759029d8-0181-11ec-a68a-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629441607;
	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=TaKctkKB4VvZMCL/0IEKkxclFK5cqJrlEUp0IFG0fYU=;
	b=hPzIAYOcc3SmYkwNa/tbU+QLq7D6EPdr58r2ulIVv876wK5x4E0aSA1mV7BovQreUw5ZLQ
	WYf7HCZvzNYRerCGEFNce3KJ35otsS68XnqMFC3dwC/IGIMOoKMqK3x6/elx3rWtA6FI3M
	k2Pg7GOJuCq1ijpcwtrDrNlx76G4neE=
X-MC-Unique: fCj145E9PJqm_jerp_iqlw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ikosnk9bsa9iMdCmy8/IgK3adfmpt6yvKyS7erNXK5rHqfM0AjLmgToivkY3zYYybPWEvVfYqiBRy6Rnt6GIXc5G5xkt9ut1VrDo4H7IVtVO0mF3rEFxJMlMUzu4sVhfV8io7uZc6fkihGICFAKG5nRsDl/Yf9i6pdfK9Z7wNULpD3OfJOks6IyD1KtpPk/kDJff+rsjWxCiaB2MRc+cwnaEsg4PuIxBv2c3vpBAZnWTCllywLyMxkWxnglaC0/iUGzzgaf+HFoArfDYfs5uWvBg+wibZSd7HhadsWgADY7lzHmx1T2+W3tSZBc30vcPfRvFcd5H1qFGAzGtwFLbgg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Rmqe9DklQavUFmXKaYnR4ceDv5aqg9bft7To23E1xTU=;
 b=UyjtMHdMZbyGK0hH+Li8ayx5hC+LLYf1m89hgEquFDFD5gdRlm1eBbr9od3h1ddUg4v4tZpjIb+y5WAvmurjQoFb9zFBRe8krz0Pp/Qi7CnN4ciCgsggypYSnJMbZbuRFefl8//+2C8hRgnGeUQcgH26u47qF9ONVjFEgTn9gt9hQfTzYnQRjJyQML15VUpZ7Hc1k2EaX8gBKnj2U5kOv00pSKj1tWVmPt3uMVykNQTK/InLX52+/qYMpj4UdLmxX8fwrpAkzjJsM2ecSmhvvCIQTHz0UD1Z51KzUkGSgci9w5Uj1JTchiwdZEZa0qTw/gY9vy+LYWPSHVOsDy304A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v3 2/2] ns16550: add Exar PCIe UART cards support
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>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <20210819190625.476165-1-marmarek@invisiblethingslab.com>
 <20210819190625.476165-2-marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <400c6129-bf27-ccdc-ce56-e7e56c91face@suse.com>
Date: Fri, 20 Aug 2021 08:40:02 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210819190625.476165-2-marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM9P195CA0005.EURP195.PROD.OUTLOOK.COM
 (2603:10a6:20b:21f::10) To DB8PR04MB5594.eurprd04.prod.outlook.com
 (2603:10a6:10:a3::31)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3e59b566-e3fc-49eb-c46a-08d963a55813
X-MS-TrafficTypeDiagnostic: DB8PR04MB7082:
X-Microsoft-Antispam-PRVS:
	<DB8PR04MB7082F27BDDCA6AC3534A3556B3C19@DB8PR04MB7082.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5f/vHUF5Tgv17xtQ8Cn4i3jzpba6VqSfF97TF8wjObwZ8QO5KLhz9F//20HsFsqvzrajECLdkUET/CmV1n+H3McOyjIt3S8oTslwxE11vwPljKu7r2dHhxTj6y5oT5g6bX6raSew4oUoNTZMzVKyE+/RJr1E4UnNt1UQ1kVsnaFr5+YYKjvFa92s6JkXrE6SSzCkSKtv0Zv1+S6VrHYPjqtr1I6MWewJAzsnYJTtb1gqDbrFVgTA+X3TUH2pYZpsOKXHkKnYJgj2jANKt98v7R1Iz1xufD8D5fIUgYXnf3pr80ys7BucI6bwb4vSWScXEQdpeiPUpNqvuYbLDtjGrubz8Ia7LFu92WrKtaQTw/h3K86CqtEjGMucYIaAdTPNFaieedt0f7WW1gclmBUjACAC/y9rBU6K3kfbbM9PvyE5Y3Gn10J2BJsZOm1kFj62vTPNsLZMhRNrP2o6aEp9pxjGuafxPrP3w5QIwyrd0fAmjcJZf784Gnrd7ceFoz57FjCAW33I1waDKPY5Z8VrTD+4W4KYHkBtD7r60iJHHb+OUD9TmdbiQiDAu887DVZ6BOAbaOLOO88WTaFZf7Nzw46YcsfE/uSSS6Qsy9lwSC1bXEC2rKukVAF2mYBuJwHUPyuGjk2+RCd7Z98FfmTyafrcYBcqs5eRcAONDEdCXZ2DA03g13hokcvKo1FYsuaarXEMfiW5rlbV85s7IR3iB+ZIpTUnlx/z4dgHz+Ualft4+/XwGdYjuOiXgKaXzUsJbV6vTt8kw0GJ3Xw+MTH09UnnDagtk1nAeLvsKlAWY9o5D7KE1J6Eux60v4lSeX2h
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB8PR04MB5594.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(346002)(396003)(376002)(136003)(39850400004)(26005)(8676002)(478600001)(2906002)(66476007)(66556008)(6916009)(53546011)(186003)(36756003)(54906003)(38100700002)(966005)(66946007)(6486002)(4326008)(8936002)(316002)(31696002)(16576012)(86362001)(5660300002)(2616005)(956004)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?/N/5QqrHrXb7Fns42VNHpnsQxBQnrGl5GbJeoabVEjlcKvqx0aN7TmvCdUjo?=
 =?us-ascii?Q?/Ieh4lw/McbJvuf2gl6aVzTg4WW7pJyfrgs6+LW71U0hlXB6aUZSgLlMCRoe?=
 =?us-ascii?Q?6SmgX8lLfPLCIxJI76wwCSYA05YGkbxBxABpzL5caa37opfolkF/hsI9PUBu?=
 =?us-ascii?Q?H8tPMVrj5I99ZhUlLpgu90Ex3pHIGaAcAItM2AT519bS80WpCUdAXqKEnORn?=
 =?us-ascii?Q?1dtqkekN6uwomzd+/kNkriEuWxT0Kf7yG3HbqwjPUa3DX/Y20N6FezOB9Tyj?=
 =?us-ascii?Q?/pAkDbBlcZEcD1FnQ0eBggOiYt96h3huAmqc1AiIl55xXQrvIEWYlqzzahFm?=
 =?us-ascii?Q?lRp1h57Ho9o5yC/fHQXHlEPOBr6NU2Ge2YbHWjkzm8qg5Ty+kyAR/BhZA1Qw?=
 =?us-ascii?Q?bRHH+fm53gN7tbeR5KNmPJX3ONumJQgeunA3LDxgsIIWnu9rH/nDcXIv1gsv?=
 =?us-ascii?Q?lmKN2J8pW2x64L4iLNYS51xbopn461MYGE/Y+F2naGf9/IcWiNTjO/cxnDHq?=
 =?us-ascii?Q?RF4SQ2sRduDAW4mE2+YIAUOhLp7lcxgUx/PJ3ddC+JanDUayALaX3oSyLlAu?=
 =?us-ascii?Q?467lO/HrvAVJGv056ph8MzsuMqxy9LM6LYVGB65DRHWg8mxvfJoHFfpYp3VZ?=
 =?us-ascii?Q?fPaZe2sKfYliTn8u61Xv1e22W2QRdo45t+fybNC5cB6MUfYYeNrYuv+INJyf?=
 =?us-ascii?Q?Zs/xHnTO7VwAEiEK+bQ4PIveD1IbBqtKj56G1EtghuUOfO8Mp5t1opDGHLuk?=
 =?us-ascii?Q?3RaNbQH7ChpSIj6xQOtvs3lwrfWhCDeITu+hiYzb8Al+yqByD9eNF14z8528?=
 =?us-ascii?Q?vdF030R+JJcXvFAPbR1UsFRXrR/Xz3OTc/VglMahwR+g6MXZ1wDm6oONhYRN?=
 =?us-ascii?Q?Gyj5+/a3hdAn9RVo7J4XPTrhqKm0Gns8Ytxp15NugWvsmlROUW59jz23s7Wu?=
 =?us-ascii?Q?tSQL9UoJ/6cCW/GCQWD8zkE20x50Xn0ugXONEiVEyzdYWNZKcLfRHM8g32co?=
 =?us-ascii?Q?6Vg+LAZ3K4rB1hxJaLqNY7BgQJijUxExHWCAH73OwriQW+2I6BgssuQ+Tgrc?=
 =?us-ascii?Q?x02dCPyAyhML6xQapKeujH7PQ1f4eZBRVyPvtxGOME6tf6Ul5czb/YJADQxF?=
 =?us-ascii?Q?nFqzgluzEI0k/H+BQmXalEx5vaX9XpuWR6lZQxToVutF0iUsuFuuMK2vvxEG?=
 =?us-ascii?Q?TALj6TH5jLjQFZMsIQaa5XdHtCw/kS8Gh0KlZCA1rV0uTZyElP8iAz4GgnJm?=
 =?us-ascii?Q?ymgpuJras2r8esr2wcN4BKUkHmgdvbAxXz8FDtrPp9t1sSPqU8drIhnSIdjt?=
 =?us-ascii?Q?1Jp3DbfVLTlzqh/tOpzZJEBm?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3e59b566-e3fc-49eb-c46a-08d963a55813
X-MS-Exchange-CrossTenant-AuthSource: DB8PR04MB5594.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 06:40:04.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: 1gJnH5PYpQ31/vEVBmgPSdrrwhZivKJvv703DDtqDFNasg3W9OUJIbZNgqN6ZpBH9yw83CxGvWIFnilPkL+SMw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB7082

On 19.08.2021 21:06, Marek Marczykowski-G=C3=B3recki wrote:
> Besides standard UART setup, this device needs enabling
> (vendor-specific) "Enhanced Control Bits" - otherwise disabling hardware
> control flow (MCR[2]) is ignored. Add appropriate quirk to the
> ns16550_setup_preirq(), similar to the handle_dw_usr_busy_quirk(). The
> new function act on Exar 2-, 4-, and 8- port cards only. I have tested
> the functionality on 2-port card but based on the Linux driver, the same
> applies to other models too.
>=20
> Additionally, Exar card supports fractional divisor (DLD[3:0] register,
> at 0x02). This part is not supported here yet, and seems to not
> be required for working 115200bps at the very least.
>=20
> The specification for the 2-port card is available at:
> https://www.maxlinear.com/product/interface/uarts/pcie-uarts/xr17v352
>=20
> Signed-off-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingsl=
ab.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
with one line dropped (see bottom of mail).

> I've opted to move the #ifdef into ns16550_setup_preirq() itself and
> move the whole enable_exar_enhanced_bits() into appropriate #ifdef too
> (need to move it anyway, to use uart_param). But if you prefer the older
> structure (#ifdef inside ns16550_setup_preirq()), I can do that too.

That's okay for now, I think. When we gain more quirks we may want to
re-arrange this some. The only thing I don't like (but which is
unavoidable afaict) is ...

> @@ -104,6 +107,8 @@ struct ns16550_config_param {
>      unsigned int uart_offset;
>      unsigned int first_offset;
>  };
> +
> +static void enable_exar_enhanced_bits(const struct ns16550 *uart);
>  #endif

... this added forward declaration.

> --- a/xen/include/xen/8250-uart.h
> +++ b/xen/include/xen/8250-uart.h
> @@ -35,6 +35,8 @@
>  #define UART_USR          0x1f    /* Status register (DW) */
>  #define UART_DLL          0x00    /* divisor latch (ls) (DLAB=3D1) */
>  #define UART_DLM          0x01    /* divisor latch (ms) (DLAB=3D1) */
> +#define UART_XR_EFR       0x09    /* Enhanced function register (Exar) *=
/
> +#define UART_XR_DVID      0x8d    /* Device identification */

The latter line can now be dropped again, as the symbol has no use
anymore. I'll try to remember to take care of this while committing.

Jan



From xen-devel-bounces@lists.xenproject.org Fri Aug 20 06:42:10 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 06:42:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169249.309173 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGyED-00062w-BJ; Fri, 20 Aug 2021 06:42:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169249.309173; Fri, 20 Aug 2021 06:42:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGyED-00062p-88; Fri, 20 Aug 2021 06:42:09 +0000
Received: by outflank-mailman (input) for mailman id 169249;
 Fri, 20 Aug 2021 06:42:08 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZBHU=NL=linaro.org=takahiro.akashi@srs-us1.protection.inumbo.net>)
 id 1mGyEC-00061y-OQ
 for xen-devel@lists.xen.org; Fri, 20 Aug 2021 06:42:08 +0000
Received: from mail-pj1-x1033.google.com (unknown [2607:f8b0:4864:20::1033])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id f26f0e52-9d96-4fb0-a301-21b26b1a8a7b;
 Fri, 20 Aug 2021 06:42:05 +0000 (UTC)
Received: by mail-pj1-x1033.google.com with SMTP id oa17so6721296pjb.1
 for <xen-devel@lists.xen.org>; Thu, 19 Aug 2021 23:42:05 -0700 (PDT)
Received: from laputa (pdb6272e8.tkyea130.ap.so-net.ne.jp. [219.98.114.232])
 by smtp.gmail.com with ESMTPSA id p18sm6409532pgk.28.2021.08.19.23.41.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 19 Aug 2021 23:42: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: f26f0e52-9d96-4fb0-a301-21b26b1a8a7b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=date:from:to:cc:subject:message-id:references:mime-version
         :content-disposition:content-transfer-encoding:in-reply-to;
        bh=IXL+LpXY/aXYrTnAAj8RoxUb1PytIu3vO6M+A9cnIpM=;
        b=z7J0R2uxJXEcDSe76/TCGdCuXiDpxyOhUBQJnp3JkH218Ql0CqClhcSGeD5AS0aXya
         U4L2MIxUiJtFuvbCV7LuezLEo3H/oFYK9AOgEKFvYciCF1dA5pMM7v9rkrNLtLcSWT/9
         PmYhYCRBIZH6ih46j69LsaUgIhauwVMxQax1f7x931SvxBn/uBXFa0yaCYbaTiS/Qdle
         uzX2mbBS9KGWjFJNSZIh/MJVDsf35VtPXZhcSO28g71bUw1w9LNzKAxMK7HtUSfhoAOq
         /zxECO5c0lCckDDv4QFGw+yeDIoOu4Lr4G9i1Aahgf4QDo/Prpl/fkFcM+Yi0vitT7sV
         kyew==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:date:from:to:cc:subject:message-id:references
         :mime-version:content-disposition:content-transfer-encoding
         :in-reply-to;
        bh=IXL+LpXY/aXYrTnAAj8RoxUb1PytIu3vO6M+A9cnIpM=;
        b=d54HOmef648vpF7mZB5cl0M61+Z317H6jwlQDkTJ92J0WoGaOIz5gf4ykkOMxS5cVG
         vmIsoaK1az2O3K+tL7Rh4nw0ToW+RcQfh1ObnbziNzvc8duQdNpQpjV4SG5cIXkibIhG
         dO8Wfr80rT0PsyUNnnMu5emnUmWYwcYn+jyB9SEavuIqSq5T7Uoxy5lq+V7VooTKu8Og
         OGuUHjXTvMACQSHhWb2AOHMyJQcTXqLThxiXR28gEi8iMG8rS7V8DKes02NVX055ER9u
         chTdyFDEi/ghBBNyi/0u2Hl9RgspUIkJDKLgs8bBpP52DwfgO9WLhOyUPhqXVxSVzIcf
         5LaQ==
X-Gm-Message-State: AOAM5314ibSFDvSUC1EYgyqdBK8l9gGU4w0w6uTifd4B+8idfo0ZtzX1
	oPwZ2ZtRd9am1+8WN1IiBgL5Gg==
X-Google-Smtp-Source: ABdhPJyerImn3GFZGvGKiebjqxGkVjQnd10tMJdnXW4mUogFb3vRw16TxC0QPLj/IAPyCJuegEzwXw==
X-Received: by 2002:a17:90a:2ac4:: with SMTP id i4mr3140753pjg.157.1629441724433;
        Thu, 19 Aug 2021 23:42:04 -0700 (PDT)
Date: Fri, 20 Aug 2021 15:41:50 +0900
From: AKASHI Takahiro <takahiro.akashi@linaro.org>
To: Wei Chen <Wei.Chen@arm.com>
Cc: Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Alex Benn??e <alex.bennee@linaro.org>, Kaly Xin <Kaly.Xin@arm.com>,
	Stratos Mailing List <stratos-dev@op-lists.linaro.org>,
	"virtio-dev@lists.oasis-open.org" <virtio-dev@lists.oasis-open.org>,
	Arnd Bergmann <arnd.bergmann@linaro.org>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	"stefanha@redhat.com" <stefanha@redhat.com>,
	Jan Kiszka <jan.kiszka@siemens.com>,
	Carl van Schaik <cvanscha@qti.qualcomm.com>,
	"pratikp@quicinc.com" <pratikp@quicinc.com>,
	Srivatsa Vaddagiri <vatsa@codeaurora.org>,
	Jean-Philippe Brucker <jean-philippe@linaro.org>,
	Mathieu Poirier <mathieu.poirier@linaro.org>,
	Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Artem Mygaiev <Artem_Mygaiev@epam.com>,
	Julien Grall <julien@xen.org>, Juergen Gross <jgross@suse.com>,
	Paul Durrant <paul@xen.org>, Xen Devel <xen-devel@lists.xen.org>
Subject: Re: Enabling hypervisor agnosticism for VirtIO backends
Message-ID: <20210820064150.GC13452@laputa>
References: <87v94ldrqq.fsf@linaro.org>
 <alpine.DEB.2.21.2108041055390.9768@sstabellini-ThinkPad-T480s>
 <20210811062748.GB54169@laputa>
 <CAPD2p-mMeY=MDbAdLGrmmioSkJo147aMDrK=Qzr=PCa4jztGGg@mail.gmail.com>
 <DB9PR08MB685767CFAA4A8BCE7D2225A89EFD9@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <20210817080757.GC43203@laputa>
 <DB9PR08MB6857C656472153A42FB438C49EFE9@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <20210818053840.GE39588@laputa>
 <DB9PR08MB6857D1BE810B1D1DAF7B12AE9EFF9@DB9PR08MB6857.eurprd08.prod.outlook.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <DB9PR08MB6857D1BE810B1D1DAF7B12AE9EFF9@DB9PR08MB6857.eurprd08.prod.outlook.com>

On Wed, Aug 18, 2021 at 08:35:51AM +0000, Wei Chen wrote:
> Hi Akashi，
> 
> > -----Original Message-----
> > From: AKASHI Takahiro <takahiro.akashi@linaro.org>
> > Sent: 2021年8月18日 13:39
> > To: Wei Chen <Wei.Chen@arm.com>
> > Cc: Oleksandr Tyshchenko <olekstysh@gmail.com>; Stefano Stabellini
> > <sstabellini@kernel.org>; Alex Benn??e <alex.bennee@linaro.org>; Stratos
> > Mailing List <stratos-dev@op-lists.linaro.org>; virtio-dev@lists.oasis-
> > open.org; Arnd Bergmann <arnd.bergmann@linaro.org>; Viresh Kumar
> > <viresh.kumar@linaro.org>; Stefano Stabellini
> > <stefano.stabellini@xilinx.com>; stefanha@redhat.com; Jan Kiszka
> > <jan.kiszka@siemens.com>; Carl van Schaik <cvanscha@qti.qualcomm.com>;
> > pratikp@quicinc.com; Srivatsa Vaddagiri <vatsa@codeaurora.org>; Jean-
> > Philippe Brucker <jean-philippe@linaro.org>; Mathieu Poirier
> > <mathieu.poirier@linaro.org>; Oleksandr Tyshchenko
> > <Oleksandr_Tyshchenko@epam.com>; Bertrand Marquis
> > <Bertrand.Marquis@arm.com>; Artem Mygaiev <Artem_Mygaiev@epam.com>; Julien
> > Grall <julien@xen.org>; Juergen Gross <jgross@suse.com>; Paul Durrant
> > <paul@xen.org>; Xen Devel <xen-devel@lists.xen.org>
> > Subject: Re: Enabling hypervisor agnosticism for VirtIO backends
> >
> > On Tue, Aug 17, 2021 at 08:39:09AM +0000, Wei Chen wrote:
> > > Hi Akashi,
> > >
> > > > -----Original Message-----
> > > > From: AKASHI Takahiro <takahiro.akashi@linaro.org>
> > > > Sent: 2021年8月17日 16:08
> > > > To: Wei Chen <Wei.Chen@arm.com>
> > > > Cc: Oleksandr Tyshchenko <olekstysh@gmail.com>; Stefano Stabellini
> > > > <sstabellini@kernel.org>; Alex Benn??e <alex.bennee@linaro.org>;
> > Stratos
> > > > Mailing List <stratos-dev@op-lists.linaro.org>; virtio-
> > dev@lists.oasis-
> > > > open.org; Arnd Bergmann <arnd.bergmann@linaro.org>; Viresh Kumar
> > > > <viresh.kumar@linaro.org>; Stefano Stabellini
> > > > <stefano.stabellini@xilinx.com>; stefanha@redhat.com; Jan Kiszka
> > > > <jan.kiszka@siemens.com>; Carl van Schaik <cvanscha@qti.qualcomm.com>;
> > > > pratikp@quicinc.com; Srivatsa Vaddagiri <vatsa@codeaurora.org>; Jean-
> > > > Philippe Brucker <jean-philippe@linaro.org>; Mathieu Poirier
> > > > <mathieu.poirier@linaro.org>; Oleksandr Tyshchenko
> > > > <Oleksandr_Tyshchenko@epam.com>; Bertrand Marquis
> > > > <Bertrand.Marquis@arm.com>; Artem Mygaiev <Artem_Mygaiev@epam.com>;
> > Julien
> > > > Grall <julien@xen.org>; Juergen Gross <jgross@suse.com>; Paul Durrant
> > > > <paul@xen.org>; Xen Devel <xen-devel@lists.xen.org>
> > > > Subject: Re: Enabling hypervisor agnosticism for VirtIO backends
> > > >
> > > > Hi Wei, Oleksandr,
> > > >
> > > > On Mon, Aug 16, 2021 at 10:04:03AM +0000, Wei Chen wrote:
> > > > > Hi All,
> > > > >
> > > > > Thanks for Stefano to link my kvmtool for Xen proposal here.
> > > > > This proposal is still discussing in Xen and KVM communities.
> > > > > The main work is to decouple the kvmtool from KVM and make
> > > > > other hypervisors can reuse the virtual device implementations.
> > > > >
> > > > > In this case, we need to introduce an intermediate hypervisor
> > > > > layer for VMM abstraction, Which is, I think it's very close
> > > > > to stratos' virtio hypervisor agnosticism work.
> > > >
> > > > # My proposal[1] comes from my own idea and doesn't always represent
> > > > # Linaro's view on this subject nor reflect Alex's concerns.
> > Nevertheless,
> > > >
> > > > Your idea and my proposal seem to share the same background.
> > > > Both have the similar goal and currently start with, at first, Xen
> > > > and are based on kvm-tool. (Actually, my work is derived from
> > > > EPAM's virtio-disk, which is also based on kvm-tool.)
> > > >
> > > > In particular, the abstraction of hypervisor interfaces has a same
> > > > set of interfaces (for your "struct vmm_impl" and my "RPC interfaces").
> > > > This is not co-incident as we both share the same origin as I said
> > above.
> > > > And so we will also share the same issues. One of them is a way of
> > > > "sharing/mapping FE's memory". There is some trade-off between
> > > > the portability and the performance impact.
> > > > So we can discuss the topic here in this ML, too.
> > > > (See Alex's original email, too).
> > > >
> > > Yes, I agree.
> > >
> > > > On the other hand, my approach aims to create a "single-binary"
> > solution
> > > > in which the same binary of BE vm could run on any hypervisors.
> > > > Somehow similar to your "proposal-#2" in [2], but in my solution, all
> > > > the hypervisor-specific code would be put into another entity (VM),
> > > > named "virtio-proxy" and the abstracted operations are served via RPC.
> > > > (In this sense, BE is hypervisor-agnostic but might have OS
> > dependency.)
> > > > But I know that we need discuss if this is a requirement even
> > > > in Stratos project or not. (Maybe not)
> > > >
> > >
> > > Sorry, I haven't had time to finish reading your virtio-proxy completely
> > > (I will do it ASAP). But from your description, it seems we need a
> > > 3rd VM between FE and BE? My concern is that, if my assumption is right,
> > > will it increase the latency in data transport path? Even if we're
> > > using some lightweight guest like RTOS or Unikernel,
> >
> > Yes, you're right. But I'm afraid that it is a matter of degree.
> > As far as we execute 'mapping' operations at every fetch of payload,
> > we will see latency issue (even in your case) and if we have some solution
> > for it, we won't see it neither in my proposal :)
> >
> 
> Oleksandr has sent a proposal to Xen mailing list to reduce this kind
> of "mapping/unmapping" operations. So the latency caused by this behavior
> on Xen may eventually be eliminated, and Linux-KVM doesn't have that problem.

Obviously, I have not yet caught up there in the discussion.
Which patch specifically?

-Takahiro Akashi

> > > > Specifically speaking about kvm-tool, I have a concern about its
> > > > license term; Targeting different hypervisors and different OSs
> > > > (which I assume includes RTOS's), the resultant library should be
> > > > license permissive and GPL for kvm-tool might be an issue.
> > > > Any thoughts?
> > > >
> > >
> > > Yes. If user want to implement a FreeBSD device model, but the virtio
> > > library is GPL. Then GPL would be a problem. If we have another good
> > > candidate, I am open to it.
> >
> > I have some candidates, particularly for vq/vring, in my mind:
> > * Open-AMP, or
> > * corresponding Free-BSD code
> >
> 
> Interesting, I will look into them : )
> 
> Cheers,
> Wei Chen
> 
> > -Takahiro Akashi
> >
> >
> > > > -Takahiro Akashi
> > > >
> > > >
> > > > [1] https://op-lists.linaro.org/pipermail/stratos-dev/2021-
> > > > August/000548.html
> > > > [2] https://marc.info/?l=xen-devel&m=162373754705233&w=2
> > > >
> > > > >
> > > > > > From: Oleksandr Tyshchenko <olekstysh@gmail.com>
> > > > > > Sent: 2021年8月14日 23:38
> > > > > > To: AKASHI Takahiro <takahiro.akashi@linaro.org>; Stefano
> > Stabellini
> > > > <sstabellini@kernel.org>
> > > > > > Cc: Alex Benn??e <alex.bennee@linaro.org>; Stratos Mailing List
> > > > <stratos-dev@op-lists.linaro.org>; virtio-dev@lists.oasis-open.org;
> > Arnd
> > > > Bergmann <arnd.bergmann@linaro.org>; Viresh Kumar
> > > > <viresh.kumar@linaro.org>; Stefano Stabellini
> > > > <stefano.stabellini@xilinx.com>; stefanha@redhat.com; Jan Kiszka
> > > > <jan.kiszka@siemens.com>; Carl van Schaik <cvanscha@qti.qualcomm.com>;
> > > > pratikp@quicinc.com; Srivatsa Vaddagiri <vatsa@codeaurora.org>; Jean-
> > > > Philippe Brucker <jean-philippe@linaro.org>; Mathieu Poirier
> > > > <mathieu.poirier@linaro.org>; Wei Chen <Wei.Chen@arm.com>; Oleksandr
> > > > Tyshchenko <Oleksandr_Tyshchenko@epam.com>; Bertrand Marquis
> > > > <Bertrand.Marquis@arm.com>; Artem Mygaiev <Artem_Mygaiev@epam.com>;
> > Julien
> > > > Grall <julien@xen.org>; Juergen Gross <jgross@suse.com>; Paul Durrant
> > > > <paul@xen.org>; Xen Devel <xen-devel@lists.xen.org>
> > > > > > Subject: Re: Enabling hypervisor agnosticism for VirtIO backends
> > > > > >
> > > > > > Hello, all.
> > > > > >
> > > > > > Please see some comments below. And sorry for the possible format
> > > > issues.
> > > > > >
> > > > > > > On Wed, Aug 11, 2021 at 9:27 AM AKASHI Takahiro
> > > > <mailto:takahiro.akashi@linaro.org> wrote:
> > > > > > > On Wed, Aug 04, 2021 at 12:20:01PM -0700, Stefano Stabellini
> > wrote:
> > > > > > > > CCing people working on Xen+VirtIO and IOREQs. Not trimming
> > the
> > > > original
> > > > > > > > email to let them read the full context.
> > > > > > > >
> > > > > > > > My comments below are related to a potential Xen
> > implementation,
> > > > not
> > > > > > > > because it is the only implementation that matters, but
> > because it
> > > > is
> > > > > > > > the one I know best.
> > > > > > >
> > > > > > > Please note that my proposal (and hence the working prototype)[1]
> > > > > > > is based on Xen's virtio implementation (i.e. IOREQ) and
> > > > particularly
> > > > > > > EPAM's virtio-disk application (backend server).
> > > > > > > It has been, I believe, well generalized but is still a bit
> > biased
> > > > > > > toward this original design.
> > > > > > >
> > > > > > > So I hope you like my approach :)
> > > > > > >
> > > > > > > [1] https://op-lists.linaro.org/pipermail/stratos-dev/2021-
> > > > August/000546.html
> > > > > > >
> > > > > > > Let me take this opportunity to explain a bit more about my
> > approach
> > > > below.
> > > > > > >
> > > > > > > > Also, please see this relevant email thread:
> > > > > > > > https://marc.info/?l=xen-devel&m=162373754705233&w=2
> > > > > > > >
> > > > > > > >
> > > > > > > > On Wed, 4 Aug 2021, Alex Bennée wrote:
> > > > > > > > > Hi,
> > > > > > > > >
> > > > > > > > > One of the goals of Project Stratos is to enable hypervisor
> > > > agnostic
> > > > > > > > > backends so we can enable as much re-use of code as possible
> > and
> > > > avoid
> > > > > > > > > repeating ourselves. This is the flip side of the front end
> > > > where
> > > > > > > > > multiple front-end implementations are required - one per OS,
> > > > assuming
> > > > > > > > > you don't just want Linux guests. The resultant guests are
> > > > trivially
> > > > > > > > > movable between hypervisors modulo any abstracted paravirt
> > type
> > > > > > > > > interfaces.
> > > > > > > > >
> > > > > > > > > In my original thumb nail sketch of a solution I envisioned
> > > > vhost-user
> > > > > > > > > daemons running in a broadly POSIX like environment. The
> > > > interface to
> > > > > > > > > the daemon is fairly simple requiring only some mapped
> > memory
> > > > and some
> > > > > > > > > sort of signalling for events (on Linux this is eventfd).
> > The
> > > > idea was a
> > > > > > > > > stub binary would be responsible for any hypervisor specific
> > > > setup and
> > > > > > > > > then launch a common binary to deal with the actual
> > virtqueue
> > > > requests
> > > > > > > > > themselves.
> > > > > > > > >
> > > > > > > > > Since that original sketch we've seen an expansion in the
> > sort
> > > > of ways
> > > > > > > > > backends could be created. There is interest in
> > encapsulating
> > > > backends
> > > > > > > > > in RTOSes or unikernels for solutions like SCMI. There
> > interest
> > > > in Rust
> > > > > > > > > has prompted ideas of using the trait interface to abstract
> > > > differences
> > > > > > > > > away as well as the idea of bare-metal Rust backends.
> > > > > > > > >
> > > > > > > > > We have a card (STR-12) called "Hypercall Standardisation"
> > which
> > > > > > > > > calls for a description of the APIs needed from the
> > hypervisor
> > > > side to
> > > > > > > > > support VirtIO guests and their backends. However we are
> > some
> > > > way off
> > > > > > > > > from that at the moment as I think we need to at least
> > > > demonstrate one
> > > > > > > > > portable backend before we start codifying requirements. To
> > that
> > > > end I
> > > > > > > > > want to think about what we need for a backend to function.
> > > > > > > > >
> > > > > > > > > Configuration
> > > > > > > > > =============
> > > > > > > > >
> > > > > > > > > In the type-2 setup this is typically fairly simple because
> > the
> > > > host
> > > > > > > > > system can orchestrate the various modules that make up the
> > > > complete
> > > > > > > > > system. In the type-1 case (or even type-2 with delegated
> > > > service VMs)
> > > > > > > > > we need some sort of mechanism to inform the backend VM
> > about
> > > > key
> > > > > > > > > details about the system:
> > > > > > > > >
> > > > > > > > >   - where virt queue memory is in it's address space
> > > > > > > > >   - how it's going to receive (interrupt) and trigger (kick)
> > > > events
> > > > > > > > >   - what (if any) resources the backend needs to connect to
> > > > > > > > >
> > > > > > > > > Obviously you can elide over configuration issues by having
> > > > static
> > > > > > > > > configurations and baking the assumptions into your guest
> > images
> > > > however
> > > > > > > > > this isn't scalable in the long term. The obvious solution
> > seems
> > > > to be
> > > > > > > > > extending a subset of Device Tree data to user space but
> > perhaps
> > > > there
> > > > > > > > > are other approaches?
> > > > > > > > >
> > > > > > > > > Before any virtio transactions can take place the
> > appropriate
> > > > memory
> > > > > > > > > mappings need to be made between the FE guest and the BE
> > guest.
> > > > > > > >
> > > > > > > > > Currently the whole of the FE guests address space needs to
> > be
> > > > visible
> > > > > > > > > to whatever is serving the virtio requests. I can envision 3
> > > > approaches:
> > > > > > > > >
> > > > > > > > >  * BE guest boots with memory already mapped
> > > > > > > > >
> > > > > > > > >  This would entail the guest OS knowing where in it's Guest
> > > > Physical
> > > > > > > > >  Address space is already taken up and avoiding clashing. I
> > > > would assume
> > > > > > > > >  in this case you would want a standard interface to
> > userspace
> > > > to then
> > > > > > > > >  make that address space visible to the backend daemon.
> > > > > > >
> > > > > > > Yet another way here is that we would have well known "shared
> > > > memory" between
> > > > > > > VMs. I think that Jailhouse's ivshmem gives us good insights on
> > this
> > > > matter
> > > > > > > and that it can even be an alternative for hypervisor-agnostic
> > > > solution.
> > > > > > >
> > > > > > > (Please note memory regions in ivshmem appear as a PCI device
> > and
> > > > can be
> > > > > > > mapped locally.)
> > > > > > >
> > > > > > > I want to add this shared memory aspect to my virtio-proxy, but
> > > > > > > the resultant solution would eventually look similar to ivshmem.
> > > > > > >
> > > > > > > > >  * BE guests boots with a hypervisor handle to memory
> > > > > > > > >
> > > > > > > > >  The BE guest is then free to map the FE's memory to where
> > it
> > > > wants in
> > > > > > > > >  the BE's guest physical address space.
> > > > > > > >
> > > > > > > > I cannot see how this could work for Xen. There is no "handle"
> > to
> > > > give
> > > > > > > > to the backend if the backend is not running in dom0. So for
> > Xen I
> > > > think
> > > > > > > > the memory has to be already mapped
> > > > > > >
> > > > > > > In Xen's IOREQ solution (virtio-blk), the following information
> > is
> > > > expected
> > > > > > > to be exposed to BE via Xenstore:
> > > > > > > (I know that this is a tentative approach though.)
> > > > > > >    - the start address of configuration space
> > > > > > >    - interrupt number
> > > > > > >    - file path for backing storage
> > > > > > >    - read-only flag
> > > > > > > And the BE server have to call a particular hypervisor interface
> > to
> > > > > > > map the configuration space.
> > > > > >
> > > > > > Yes, Xenstore was chosen as a simple way to pass configuration
> > info to
> > > > the backend running in a non-toolstack domain.
> > > > > > I remember, there was a wish to avoid using Xenstore in Virtio
> > backend
> > > > itself if possible, so for non-toolstack domain, this could done with
> > > > adjusting devd (daemon that listens for devices and launches backends)
> > > > > > to read backend configuration from the Xenstore anyway and pass it
> > to
> > > > the backend via command line arguments.
> > > > > >
> > > > >
> > > > > Yes, in current PoC code we're using xenstore to pass device
> > > > configuration.
> > > > > We also designed a static device configuration parse method for
> > Dom0less
> > > > or
> > > > > other scenarios don't have xentool. yes, it's from device model
> > command
> > > > line
> > > > > or a config file.
> > > > >
> > > > > > But, if ...
> > > > > >
> > > > > > >
> > > > > > > In my approach (virtio-proxy), all those Xen (or hypervisor)-
> > > > specific
> > > > > > > stuffs are contained in virtio-proxy, yet another VM, to hide
> > all
> > > > details.
> > > > > >
> > > > > > ... the solution how to overcome that is already found and proven
> > to
> > > > work then even better.
> > > > > >
> > > > > >
> > > > > >
> > > > > > > # My point is that a "handle" is not mandatory for executing
> > mapping.
> > > > > > >
> > > > > > > > and the mapping probably done by the
> > > > > > > > toolstack (also see below.) Or we would have to invent a new
> > Xen
> > > > > > > > hypervisor interface and Xen virtual machine privileges to
> > allow
> > > > this
> > > > > > > > kind of mapping.
> > > > > > >
> > > > > > > > If we run the backend in Dom0 that we have no problems of
> > course.
> > > > > > >
> > > > > > > One of difficulties on Xen that I found in my approach is that
> > > > calling
> > > > > > > such hypervisor intefaces (registering IOREQ, mapping memory) is
> > > > only
> > > > > > > allowed on BE servers themselvies and so we will have to extend
> > > > those
> > > > > > > interfaces.
> > > > > > > This, however, will raise some concern on security and privilege
> > > > distribution
> > > > > > > as Stefan suggested.
> > > > > >
> > > > > > We also faced policy related issues with Virtio backend running in
> > > > other than Dom0 domain in a "dummy" xsm mode. In our target system we
> > run
> > > > the backend in a driver
> > > > > > domain (we call it DomD) where the underlying H/W resides. We
> > trust it,
> > > > so we wrote policy rules (to be used in "flask" xsm mode) to provide
> > it
> > > > with a little bit more privileges than a simple DomU had.
> > > > > > Now it is permitted to issue device-model, resource and memory
> > > > mappings, etc calls.
> > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > > To activate the mapping will
> > > > > > > > >  require some sort of hypercall to the hypervisor. I can see
> > two
> > > > options
> > > > > > > > >  at this point:
> > > > > > > > >
> > > > > > > > >   - expose the handle to userspace for daemon/helper to
> > trigger
> > > > the
> > > > > > > > >     mapping via existing hypercall interfaces. If using a
> > helper
> > > > you
> > > > > > > > >     would have a hypervisor specific one to avoid the daemon
> > > > having to
> > > > > > > > >     care too much about the details or push that complexity
> > into
> > > > a
> > > > > > > > >     compile time option for the daemon which would result in
> > > > different
> > > > > > > > >     binaries although a common source base.
> > > > > > > > >
> > > > > > > > >   - expose a new kernel ABI to abstract the hypercall
> > > > differences away
> > > > > > > > >     in the guest kernel. In this case the userspace would
> > > > essentially
> > > > > > > > >     ask for an abstract "map guest N memory to userspace
> > ptr"
> > > > and let
> > > > > > > > >     the kernel deal with the different hypercall interfaces.
> > > > This of
> > > > > > > > >     course assumes the majority of BE guests would be Linux
> > > > kernels and
> > > > > > > > >     leaves the bare-metal/unikernel approaches to their own
> > > > devices.
> > > > > > > > >
> > > > > > > > > Operation
> > > > > > > > > =========
> > > > > > > > >
> > > > > > > > > The core of the operation of VirtIO is fairly simple. Once
> > the
> > > > > > > > > vhost-user feature negotiation is done it's a case of
> > receiving
> > > > update
> > > > > > > > > events and parsing the resultant virt queue for data. The
> > vhost-
> > > > user
> > > > > > > > > specification handles a bunch of setup before that point,
> > mostly
> > > > to
> > > > > > > > > detail where the virt queues are set up FD's for memory and
> > > > event
> > > > > > > > > communication. This is where the envisioned stub process
> > would
> > > > be
> > > > > > > > > responsible for getting the daemon up and ready to run. This
> > is
> > > > > > > > > currently done inside a big VMM like QEMU but I suspect a
> > modern
> > > > > > > > > approach would be to use the rust-vmm vhost crate. It would
> > then
> > > > either
> > > > > > > > > communicate with the kernel's abstracted ABI or be re-
> > targeted
> > > > as a
> > > > > > > > > build option for the various hypervisors.
> > > > > > > >
> > > > > > > > One thing I mentioned before to Alex is that Xen doesn't have
> > VMMs
> > > > the
> > > > > > > > way they are typically envisioned and described in other
> > > > environments.
> > > > > > > > Instead, Xen has IOREQ servers. Each of them connects
> > > > independently to
> > > > > > > > Xen via the IOREQ interface. E.g. today multiple QEMUs could
> > be
> > > > used as
> > > > > > > > emulators for a single Xen VM, each of them connecting to Xen
> > > > > > > > independently via the IOREQ interface.
> > > > > > > >
> > > > > > > > The component responsible for starting a daemon and/or setting
> > up
> > > > shared
> > > > > > > > interfaces is the toolstack: the xl command and the
> > libxl/libxc
> > > > > > > > libraries.
> > > > > > >
> > > > > > > I think that VM configuration management (or orchestration in
> > > > Startos
> > > > > > > jargon?) is a subject to debate in parallel.
> > > > > > > Otherwise, is there any good assumption to avoid it right now?
> > > > > > >
> > > > > > > > Oleksandr and others I CCed have been working on ways for the
> > > > toolstack
> > > > > > > > to create virtio backends and setup memory mappings. They
> > might be
> > > > able
> > > > > > > > to provide more info on the subject. I do think we miss a way
> > to
> > > > provide
> > > > > > > > the configuration to the backend and anything else that the
> > > > backend
> > > > > > > > might require to start doing its job.
> > > > > >
> > > > > > Yes, some work has been done for the toolstack to handle Virtio
> > MMIO
> > > > devices in
> > > > > > general and Virtio block devices in particular. However, it has
> > not
> > > > been upstreaned yet.
> > > > > > Updated patches on review now:
> > > > > > https://lore.kernel.org/xen-devel/1621626361-29076-1-git-send-
> > email-
> > > > olekstysh@gmail.com/
> > > > > >
> > > > > > There is an additional (also important) activity to improve/fix
> > > > foreign memory mapping on Arm which I am also involved in.
> > > > > > The foreign memory mapping is proposed to be used for Virtio
> > backends
> > > > (device emulators) if there is a need to run guest OS completely
> > > > unmodified.
> > > > > > Of course, the more secure way would be to use grant memory
> > mapping.
> > > > Brietly, the main difference between them is that with foreign mapping
> > the
> > > > backend
> > > > > > can map any guest memory it wants to map, but with grant mapping
> > it is
> > > > allowed to map only what was previously granted by the frontend.
> > > > > >
> > > > > > So, there might be a problem if we want to pre-map some guest
> > memory
> > > > in advance or to cache mappings in the backend in order to improve
> > > > performance (because the mapping/unmapping guest pages every request
> > > > requires a lot of back and forth to Xen + P2M updates). In a nutshell,
> > > > currently, in order to map a guest page into the backend address space
> > we
> > > > need to steal a real physical page from the backend domain. So, with
> > the
> > > > said optimizations we might end up with no free memory in the backend
> > > > domain (see XSA-300). And what we try to achieve is to not waste a
> > real
> > > > domain memory at all by providing safe non-allocated-yet (so unused)
> > > > address space for the foreign (and grant) pages to be mapped into,
> > this
> > > > enabling work implies Xen and Linux (and likely DTB bindings) changes.
> > > > However, as it turned out, for this to work in a proper and safe way
> > some
> > > > prereq work needs to be done.
> > > > > > You can find the related Xen discussion at:
> > > > > > https://lore.kernel.org/xen-devel/1627489110-25633-1-git-send-
> > email-
> > > > olekstysh@gmail.com/
> > > > > >
> > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > > One question is how to best handle notification and kicks.
> > The
> > > > existing
> > > > > > > > > vhost-user framework uses eventfd to signal the daemon
> > (although
> > > > QEMU
> > > > > > > > > is quite capable of simulating them when you use TCG). Xen
> > has
> > > > it's own
> > > > > > > > > IOREQ mechanism. However latency is an important factor and
> > > > having
> > > > > > > > > events go through the stub would add quite a lot.
> > > > > > > >
> > > > > > > > Yeah I think, regardless of anything else, we want the
> > backends to
> > > > > > > > connect directly to the Xen hypervisor.
> > > > > > >
> > > > > > > In my approach,
> > > > > > >  a) BE -> FE: interrupts triggered by BE calling a hypervisor
> > > > interface
> > > > > > >               via virtio-proxy
> > > > > > >  b) FE -> BE: MMIO to config raises events (in event channels),
> > > > which is
> > > > > > >               converted to a callback to BE via virtio-proxy
> > > > > > >               (Xen's event channel is internnally implemented by
> > > > interrupts.)
> > > > > > >
> > > > > > > I don't know what "connect directly" means here, but sending
> > > > interrupts
> > > > > > > to the opposite side would be best efficient.
> > > > > > > Ivshmem, I suppose, takes this approach by utilizing PCI's msi-x
> > > > mechanism.
> > > > > >
> > > > > > Agree that MSI would be more efficient than SPI...
> > > > > > At the moment, in order to notify the frontend, the backend issues
> > a
> > > > specific device-model call to query Xen to inject a corresponding SPI
> > to
> > > > the guest.
> > > > > >
> > > > > >
> > > > > >
> > > > > > > >
> > > > > > > > > Could we consider the kernel internally converting IOREQ
> > > > messages from
> > > > > > > > > the Xen hypervisor to eventfd events? Would this scale with
> > > > other kernel
> > > > > > > > > hypercall interfaces?
> > > > > > > > >
> > > > > > > > > So any thoughts on what directions are worth experimenting
> > with?
> > > > > > > >
> > > > > > > > One option we should consider is for each backend to connect
> > to
> > > > Xen via
> > > > > > > > the IOREQ interface. We could generalize the IOREQ interface
> > and
> > > > make it
> > > > > > > > hypervisor agnostic. The interface is really trivial and easy
> > to
> > > > add.
> > > > > > >
> > > > > > > As I said above, my proposal does the same thing that you
> > mentioned
> > > > here :)
> > > > > > > The difference is that I do call hypervisor interfaces via
> > virtio-
> > > > proxy.
> > > > > > >
> > > > > > > > The only Xen-specific part is the notification mechanism,
> > which is
> > > > an
> > > > > > > > event channel. If we replaced the event channel with something
> > > > else the
> > > > > > > > interface would be generic. See:
> > > > > > > > https://gitlab.com/xen-project/xen/-
> > > > /blob/staging/xen/include/public/hvm/ioreq.h#L52
> > > > > > > >
> > > > > > > > I don't think that translating IOREQs to eventfd in the kernel
> > is
> > > > a
> > > > > > > > good idea: if feels like it would be extra complexity and that
> > the
> > > > > > > > kernel shouldn't be involved as this is a backend-hypervisor
> > > > interface.
> > > > > > >
> > > > > > > Given that we may want to implement BE as a bare-metal
> > application
> > > > > > > as I did on Zephyr, I don't think that the translation would not
> > be
> > > > > > > a big issue, especially on RTOS's.
> > > > > > > It will be some kind of abstraction layer of interrupt handling
> > > > > > > (or nothing but a callback mechanism).
> > > > > > >
> > > > > > > > Also, eventfd is very Linux-centric and we are trying to
> > design an
> > > > > > > > interface that could work well for RTOSes too. If we want to
> > do
> > > > > > > > something different, both OS-agnostic and hypervisor-agnostic,
> > > > perhaps
> > > > > > > > we could design a new interface. One that could be
> > implementable
> > > > in the
> > > > > > > > Xen hypervisor itself (like IOREQ) and of course any other
> > > > hypervisor
> > > > > > > > too.
> > > > > > > >
> > > > > > > >
> > > > > > > > There is also another problem. IOREQ is probably not be the
> > only
> > > > > > > > interface needed. Have a look at
> > > > > > > > https://marc.info/?l=xen-devel&m=162373754705233&w=2. Don't we
> > > > also need
> > > > > > > > an interface for the backend to inject interrupts into the
> > > > frontend? And
> > > > > > > > if the backend requires dynamic memory mappings of frontend
> > pages,
> > > > then
> > > > > > > > we would also need an interface to map/unmap domU pages.
> > > > > > >
> > > > > > > My proposal document might help here; All the interfaces
> > required
> > > > for
> > > > > > > virtio-proxy (or hypervisor-related interfaces) are listed as
> > > > > > > RPC protocols :)
> > > > > > >
> > > > > > > > These interfaces are a lot more problematic than IOREQ: IOREQ
> > is
> > > > tiny
> > > > > > > > and self-contained. It is easy to add anywhere. A new
> > interface to
> > > > > > > > inject interrupts or map pages is more difficult to manage
> > because
> > > > it
> > > > > > > > would require changes scattered across the various emulators.
> > > > > > >
> > > > > > > Exactly. I have no confident yet that my approach will also
> > apply
> > > > > > > to other hypervisors than Xen.
> > > > > > > Technically, yes, but whether people can accept it or not is a
> > > > different
> > > > > > > matter.
> > > > > > >
> > > > > > > Thanks,
> > > > > > > -Takahiro Akashi
> > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > Regards,
> > > > > >
> > > > > > Oleksandr Tyshchenko
> > > > > IMPORTANT NOTICE: The contents of this email and any attachments are
> > > > confidential and may also be privileged. If you are not the intended
> > > > recipient, please notify the sender immediately and do not disclose
> > the
> > > > contents to any other person, use it for any purpose, or store or copy
> > the
> > > > information in any medium. Thank you.
> > > IMPORTANT NOTICE: The contents of this email and any attachments are
> > confidential and may also be privileged. If you are not the intended
> > recipient, please notify the sender immediately and do not disclose the
> > contents to any other person, use it for any purpose, or store or copy the
> > information in any medium. Thank you.
> IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 06:52:25 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 06:52:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169256.309185 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGyO3-0007j8-EW; Fri, 20 Aug 2021 06:52:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169256.309185; Fri, 20 Aug 2021 06:52: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 1mGyO3-0007j1-BS; Fri, 20 Aug 2021 06:52:19 +0000
Received: by outflank-mailman (input) for mailman id 169256;
 Fri, 20 Aug 2021 06:52:18 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=nWHd=NL=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mGyO2-0007in-40
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 06:52:18 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 68a90b56-de6c-47cb-bc9c-953b8f2fc61d;
 Fri, 20 Aug 2021 06:52:16 +0000 (UTC)
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2054.outbound.protection.outlook.com [104.47.0.54]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-29-qYTbzMzWPK6hNiXIbp036Q-1; Fri, 20 Aug 2021 08:52:14 +0200
Received: from DB8PR04MB5594.eurprd04.prod.outlook.com (2603:10a6:10:a3::31)
 by DB7PR04MB5483.eurprd04.prod.outlook.com (2603:10a6:10:86::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 20 Aug
 2021 06:52:13 +0000
Received: from DB8PR04MB5594.eurprd04.prod.outlook.com
 ([fe80::2c99:6a5b:2940:533b]) by DB8PR04MB5594.eurprd04.prod.outlook.com
 ([fe80::2c99:6a5b:2940:533b%4]) with mapi id 15.20.4415.024; Fri, 20 Aug 2021
 06:52:13 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FR0P281CA0073.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1e::13) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.6 via Frontend Transport; Fri, 20 Aug 2021 06: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>
X-Inumbo-ID: 68a90b56-de6c-47cb-bc9c-953b8f2fc61d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629442335;
	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=Mym+fMmQfndhl+XUBQrpKVWUwx/9VGfl1IMhRZJc1Jw=;
	b=BrdCTSbEtoAM7+l1BRgIdwz8WSKReTC2j6vAmbqfZNJJ42n4SyLusP9fkapJhshqfzlMmn
	jIbqQCULu5hIXmFGjYAAIA9IvyyZUxUXdcFRvCe+q9/9JKGoIbIOl2pOKulFv2zUyvTIoQ
	bM0vASlC7eqgpOlrCeouXpywaVYDw58=
X-MC-Unique: qYTbzMzWPK6hNiXIbp036Q-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kiq/bE7IgnrGoSTcAYegdLAxG+KOepUIW0Vd592wyiuxelFwG1nIWZxF3KOSxQPMlU6OJ0VsDPLUr+L1y5r5+pjTbYvowg8iM4ocpND/8knqAMVxuRxu8WaAFfQcrpuy1bf3o2aElYscT/Qo0lKWV1+jU/R+80dD+0lhM58YOhTcToPyLz09qdXlgNZ07gVFKZZcMwKY7IDYkWpufRzLGgXDV6xeUIvj7PHo5mxP1hm9MvehX1Lu7zs0lw5EkHqvlV4D4facUqLjTutJ3dTQ7Lh0I422B5qgozsTbLSMCBkOjCOPlWfZF9zNp4lbE24j+PI2/ZpvQ1sxqlM5QZJCWA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Mym+fMmQfndhl+XUBQrpKVWUwx/9VGfl1IMhRZJc1Jw=;
 b=P03R0lzIKP0CaKr1zJIUovaiGnXp8Zb8YAkGE+D3K4QNX97W2cYQkpkR7oy6D7fOykeE8DwwmQLzj0YnYmUqINO+lJWvhAZKwiWK5TGB+7XKZ5zF/EGjsg3AgSf3vArKHtBIprmQlrgLYrFzA4XAmUnNKeuCOMcXiaHiKwhXmd5K1d+YNqvhKMLWMUo4qwe5bGANTnSpNi3GwNyiQruBJ3X4Ve3rwCHzhG581Yhyxfd6QuHinjXHpdnmUCBgEvruEnhpfMSFqK65EmuoUh8cpk/+B38GGdEdfQlZjTmNXUOKiv7v4viuwST7/LZ3jVqR1e2i7+f1YNFjepHJcDyi0A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v2 1/4] public: Add page related definitions for accessing
 guests memory
To: Costin Lupu <costin.lupu@cs.pub.ro>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1629395092.git.costin.lupu@cs.pub.ro>
 <1d9338102d2013addfabc0cf9275ef156fd5080f.1629395092.git.costin.lupu@cs.pub.ro>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <69747133-3d42-4179-2606-12b1d1a9c8a6@suse.com>
Date: Fri, 20 Aug 2021 08:52:10 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <1d9338102d2013addfabc0cf9275ef156fd5080f.1629395092.git.costin.lupu@cs.pub.ro>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0073.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::13) To DB8PR04MB5594.eurprd04.prod.outlook.com
 (2603:10a6:10:a3::31)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 79631f90-44d6-4985-9788-08d963a70a2b
X-MS-TrafficTypeDiagnostic: DB7PR04MB5483:
X-Microsoft-Antispam-PRVS:
	<DB7PR04MB5483F79940853C99D3924918B3C19@DB7PR04MB5483.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:5797;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	YG4n6wPoOTa0B+ILV+krB3/70JfefvUu3nb8NjwKUPmwF0BKPfgCp4ptHiS4nZPALAzQF9mHaX06RpnnIBZf5KCpE+pqWQL+S1MHqpqr0U1jpTyj/edgZHPmhy614VuV4CadavM38xPYJreb2udQe9t1xFlh/bMG2uj9DyPGlNQ5MgfbEgHFGpcjxvLjzYruoUSV63w+2NE1lV+Aw41g9kem7npvke+g0gVhf+hC81nmo1zjR6I5oIxoFeGo3w0XnpT4DmhINpSyfXZ2XVyQA/IH5L0t84mpn/WC8iSWzpT/sB2L3ubWuTlO/ibQ1CYaJNzCGoMAszghTRCCjkmy52sK/F/2ojcoCqqP2ZqJRoaIroD7kOeKgQjcs35SBwG44oqvoh3bex6jNfSOMPheH1h11z3mNrKgSgpprZ2Eaoc6kJTiluh6WV+IZ9e9mcvTfOP6dMor71I0kLqSVcKEPN8Y0yDZs90mLls/gTOXDE6FYDW1oIzYzMvo1Mttwn6Z19UswpU5IBIEc6Mrb4sdBsr9PKigcRtuZrBEoDvdew1IxUaQWi/CTtB2DXx6U+nyMUvXYYF2maBOxWRSbUPDrzNCNYTqpOO+lxjkEAuyfx1a5SkAYdJi0dutAAajJV4BgexY6Bc5Nwvi0SN3K2uc5Fsvcs0LRaVbZnJ6TzfU/MfCOcnM/F7VHf0+0r+K/cMnV+v7Gt9q5goZcHNQqNMi7bckaTEpRmmdPgBssvyj7ok=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB8PR04MB5594.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(8936002)(6916009)(83380400001)(31686004)(16576012)(5660300002)(31696002)(8676002)(6486002)(2906002)(36756003)(956004)(66476007)(54906003)(2616005)(4326008)(66556008)(86362001)(66946007)(508600001)(316002)(38100700002)(53546011)(186003)(26005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Ry83bkdiQW1RNmozT3g3M0t3RUhZc2hEd1VVRnFvaUhKanlUSmZtNUhHVVkx?=
 =?utf-8?B?TVhuYW1EdklIeHZGYVR6M2xCYmswbnlWamgreGp0Y1U2ZFlqc05HbU5JM1Aw?=
 =?utf-8?B?OHM2UEZVelRDbVVYSHpBNDVLeC81MklQUVBYQS9nbGZoZzBaOHhuV1ZCQkhQ?=
 =?utf-8?B?SVBrQ0lFcjQ3cXhodG1YY2o0NEtmYVhpQWdyU3FUT1dFOVBhczIxMGRwbkJQ?=
 =?utf-8?B?bUliVExWMStERlpldzBqVElmV0JBb3VxY2FQdldRWnlLeGl5YkJXSWlMVTRx?=
 =?utf-8?B?LzZpaWRIbE4zWVFYR21PbkRybjJKeXVsSE5tNUhYNk9RZnV6RkRmVWhpaGFM?=
 =?utf-8?B?UUx6YWhaQksvMXVXVmlJM2FpRDdaeXlFM2lXdDgyWGpzdHpkVVlzZEVjTW8z?=
 =?utf-8?B?ZHRFWktzdkd2OEw3WU1TM2dXZ1B6MlkzSHJmVWllbFdWTXRwRlUvcEg5S2dK?=
 =?utf-8?B?MGE4TllxZ2liZkFPcnFyWU1rV3NBSklzVXUzZ3JuSjliS3prZU1zT3RQQjJY?=
 =?utf-8?B?LzFSVWxSTFR3K0kydnViRjE3elhCZXJFOFc4b2VmRGhzRkZManZxQ20xemRr?=
 =?utf-8?B?UXg3SncrNXBwU2FzcmJQYzJQNC9hRHg0WlUzUjVKSWJqRHRQb1ErWEdYdUVo?=
 =?utf-8?B?WVd0SlQ1L1RJU042QTNKdldaN0JLMmhIRWxtcW9Uc2ZaTWFuaHEybFcveWk0?=
 =?utf-8?B?cy9BcVAvd3VYcTJnNy9meUo3YjdrY2RIM2ZBa3E5dVpTWkQ0Z05URHhZZ0Z4?=
 =?utf-8?B?MmxCUVJFTXgwYk1Zc08wS2hMenZMYVo4ZUpFNVk0K0RuV1p2ZGx4cGoxU0FM?=
 =?utf-8?B?SUFzT1FqekcybU9mQzduNCtqWXlrc1V2Z08yUW5Senk3YkxJb2xlOFBRZGFE?=
 =?utf-8?B?K3diVzRSTmQyU0VBSFJLUDZ5ZkpFTVRFYURjSWxzalpNRE5TZWZBMi8wZHpK?=
 =?utf-8?B?L3JkZW9GTlFXL3dLU3oyTWk3QVJNTEQ0Vld4aUJtODFWMWV0U290VjQ4MkRZ?=
 =?utf-8?B?dDNBTUJ1d1dESzZEeUtGdmJjY1o3SFJkak1VZmNxcndtU2owZ0l5VEt4WlNF?=
 =?utf-8?B?bTNFZnBwd3JHT25FN0hoZjhDUDV6eUFLNzZ5WUlsZkJ1UVp5YU1PNWtGRWNi?=
 =?utf-8?B?Q0lmdHVvUU9Fa294VlhKanNvOVdIUkpHRFQvdDROSURuZVI2L0tiQ1NCMWNS?=
 =?utf-8?B?T0FxTmY1OTExNDRUMmtKSHhtUm5vV2ZZYVhoTVcySmJTMEN5dlJJQk5KZENE?=
 =?utf-8?B?QnNXekNuQXpDNXhHRTdiZUJWcXd0UlNmSHZXNUp1ZFpvbmVGOTM1ekFCbUF6?=
 =?utf-8?B?cjg4dEJRM1doVldhN2srUHc3eERaeW5HREZoYWpVNHpkN2w2enZGaHhBVGRj?=
 =?utf-8?B?bndDdGpZZ2tNbEt5MkUxdCtzZWJSNVB5Sy8xWGtTVVFPbkgyRWxuV0tXRm00?=
 =?utf-8?B?L1d6b0x3RXo3MlU1dnJXSWlNdVZjTUNnM2NUaC9hVnpqaWJuOEduL2ErV3ho?=
 =?utf-8?B?anhYMXNSSWRyRnJrQzZXekpRejZoMUIyUjhVRksxelRaTElhUnF5d2l0bDlY?=
 =?utf-8?B?UTNETWVBYzlOejFnYWR6YVdJQ1AvbmswQmFvMkgzVXc2bWVoZFBKaGNFRzFJ?=
 =?utf-8?B?MWg4QjBBZWFDYVRHNXpHeUd6Y1Y4SXB2Q1F3dGVXL0JHSUxOSDZpNG1lTDdP?=
 =?utf-8?B?eG5vR29NbzJKSEJQWFFrWkRvQzdLa3FDcGM0SU5sbEdRSGtQMkhkQnFHb01I?=
 =?utf-8?Q?sbmOGs51tWUWA8qNxvVzPksRz1D3hxYKZoeySS8?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 79631f90-44d6-4985-9788-08d963a70a2b
X-MS-Exchange-CrossTenant-AuthSource: DB8PR04MB5594.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 06:52:13.2262
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: C+6OGb2ue4++hppU7nQUMzQoR65KqDtmYyxcLWx4TIiUCeZXETGWJAtUJsekoX0r82E4X+YIBcZMCWCepb+eFA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB5483

On 19.08.2021 19:50, Costin Lupu wrote:
> These changes introduce the page related definitions needed for mapping and
> accessing guests memory. These values are intended to be used by any toolstack
> component that needs to map guests memory. Until now, the values were defined
> by the xenctrl.h header, therefore whenever a component had to use them it also
> had to add a dependency for the xenctrl library.
> 
> This patch also introduces xen_mk_long() macrodefinition for defining long
> constants both for C and assembler code.

I'm still missing justification for the addition of a new header, especially
as I don't see that header to gain much more contents down the road.

> --- /dev/null
> +++ b/xen/include/public/page.h
> @@ -0,0 +1,36 @@
> +/******************************************************************************
> + * page.h
> + *
> + * Page definitions for accessing guests memory
> + *
> + * Permission is hereby granted, free of charge, to any person obtaining a copy
> + * of this software and associated documentation files (the "Software"), to
> + * deal in the Software without restriction, including without limitation the
> + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
> + * sell copies of the Software, and to permit persons to whom the Software is
> + * furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice shall be included in
> + * all copies or substantial portions of the Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
> + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
> + * DEALINGS IN THE SOFTWARE.
> + *
> + * Copyright (c) 2021, Costin Lupu
> + */
> +
> +#ifndef __XEN_PUBLIC_PAGE_H__
> +#define __XEN_PUBLIC_PAGE_H__
> +
> +#include "xen.h"
> +
> +#define XEN_PAGE_SHIFT           12
> +#define XEN_PAGE_SIZE            (xen_mk_long(1) << XEN_PAGE_SHIFT)
> +#define XEN_PAGE_MASK            (~(XEN_PAGE_SIZE - 1))

You went too far here, I'm afraid: In reply to v1 I did say "The latter
two, being identical ..." - XEN_PAGE_SHIFT ought to continue to be a
per-arch constant, even if right now it is the same for Arm and x86.

Thinking of which - with exposing this as a stable ABI (not just the
abstraction, but the specific values and the fact that they're
invariable become part of the stable ABI this way), what is the plan
for supporting 64k(?) page size on Arm in the future? At that point
you _cannot_ simply remove or replace the #define you add here. As
the immediate need is by the tool stack, enclosing in 

#if defined(__XEN__) || defined(__XEN_TOOLS__)

might be an option, with the downside of having stable libraries
(foreignmemory and gnttab) depend on an unstable hypervisor interface
(again). I can't seem to be able to think of anything better ...

Jan



From xen-devel-bounces@lists.xenproject.org Fri Aug 20 07:01:33 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 07:01:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169262.309196 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGyWu-0000vI-Dr; Fri, 20 Aug 2021 07:01:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169262.309196; Fri, 20 Aug 2021 07:01: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 1mGyWu-0000vB-9s; Fri, 20 Aug 2021 07:01:28 +0000
Received: by outflank-mailman (input) for mailman id 169262;
 Fri, 20 Aug 2021 07:01:26 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=nWHd=NL=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mGyWs-0000v5-BM
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 07:01:26 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 6dfddc3c-0184-11ec-a68b-12813bfff9fa;
 Fri, 20 Aug 2021 07:01:25 +0000 (UTC)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2058.outbound.protection.outlook.com [104.47.14.58]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-11-DASGLHlnNbGmjwoew19kYQ-1; Fri, 20 Aug 2021 09:01:23 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB3120.eurprd04.prod.outlook.com (2603:10a6:802:e::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 20 Aug
 2021 07:01:21 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4436.021; Fri, 20 Aug 2021
 07:01:19 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FR3P281CA0052.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4a::23) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.6 via Frontend Transport; Fri, 20 Aug 2021 07:01: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: 6dfddc3c-0184-11ec-a68b-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629442884;
	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=yiC4UT2HKm11r1HQEMs4Hu4doySrRtfdENNmxdexH2Y=;
	b=T6SPlqgAALqq+5bCSuO4da2hafe6+3R3/6/pYIoWi9fXvsC6agvx+HYN9/pjBbS1Ww9I1j
	Nu5O+1j1sS3BQNXnjCS2uwic4K67xOpUShvCRASQjSyt7cy/klhRMuAepAEBsC9lSiRO8k
	HjUj1mbfKRNtaTEGQXfS8jOTKzN8ZwE=
X-MC-Unique: DASGLHlnNbGmjwoew19kYQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hkB9iegY34WyNHGZwtIpf0MXTRCW6tM4RrNeRDnRA9DArcgvG20ixm6PFEOTX9za2Ce7XOAce1kBDF8E/vz+BvTaQU8i4+zocFQdNwnQEls8uDEU874XDAvXMj3YKRJgh6Qx/xICfqJ9+qe4oeoyF60U0Vay3s3a2FbL2q935D9kyXgjRE5l4kYoGxlu1+rEYb5gvh/pe0Wr0y8iGrqp+IR/fRDuJb3WZ57GlXSImqlGgrXPQSr2HKU28dZ9oCbgnB5Owqk+U8fKGOrkRqEW5BW3Y/acxpU3ov2Gtt4r7R1pzAgiDlWWn2aCbSm9eQu+8MdyaTluu0JJqbRoTX9hVg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fDMFeztG2YFrgSsFOaTBP3sTriRUsScYBM23J+zzJ88=;
 b=FpZkkPvD63PIUrN51s8mmVyX7X0X1v3DHT3qbFCXhRFWUnt+5zPvKrd9IfbMFe8g1ySG/b7C408aGgOkeKJ/IOgKEFuIF/RoISD7pLca3b5Gaa7xzTpahCA3008Il5cLqDrmIv8RqExmANjQC1qq9+0O3tiCamsXQvZU71TTQi4RkIECckSq4HYmH96SjjPhg3OVl64lyrJsHZZrBjwbNF1z5h80hJ1T5v1lcDFwLlscTwjM2JdVY5ItfaYxw/vbjCZsJ6JXRh5DV4H3AcW4DF3qVGhArKY3W0J32xISfft05kdYyFB75SG9FWj/pjkwp657iaaI8JGopC/uaQHUWw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v1 02/14] xen/pci: solve compilation error on ARM with
 HAS_PCI enabled
To: Rahul Singh <rahul.singh@arm.com>
CC: bertrand.marquis@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, xen-devel@lists.xenproject.org
References: <cover.1629366665.git.rahul.singh@arm.com>
 <c6009c327eaed66206fa093732ab6672530acd27.1629366665.git.rahul.singh@arm.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <da5db823-1875-ff7d-6d39-aacc170e994f@suse.com>
Date: Fri, 20 Aug 2021 09:01:08 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <c6009c327eaed66206fa093732ab6672530acd27.1629366665.git.rahul.singh@arm.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: FR3P281CA0052.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::23) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 2f34d83a-8f50-469c-c3ed-08d963a84b30
X-MS-TrafficTypeDiagnostic: VI1PR04MB3120:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB31204D74A067EB870D6F8642B3C19@VI1PR04MB3120.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	wRspc75Rhmavd6pBeeibelRuZM/0BASeY6VbVZ6zZBHHT4YzsfaJMgtzKr1HDkLtEJqB0BXhph8JdTLMpRDh7oA39jj29ZYiBRt3qWmeHuvo73YzNACH8e4Bk2FF8ayyyre79AyU7yJ8ksbxCcLrO83wXnPX6J565jt4TqpIW9ypWLgHVASEEupoFYTEDPZ5rHmt3KlaunX32JqwABzfehGlQq6w1b4xDvT6LOzVXyqpnyBQidHTp56KicqNSa/dGRwUkvpTM5+U1lnNGSs2yY7BeSSNPivzjNbCfKa1HnuMSu8vr2fpwnTW7q9ihwGvXHo34TRiRLsOSwVCqR8FA7vmbkYETzdVsU0LLTvOM+4zLE3OiUehjN3uX6WKAFMgA8dMX4sPMxbLeB2Vq8R+SE1pH72MAzELoZP7oLSr4NuDwgOivu0QpVDrqV93E+arN0jR60DiEUKhorrCv3jZ7BkUEabCh0h6UIryDf4pCp8E8crLMZ7NNSXRR+iYLuFgo9OK0AIPi0lMnVnD//9O+uPCgKqFlt8FPhEZGwF9bae6gb2yVFAwH+UcpvT4hwnhkOgIO0QpxL0rf4nSaRv7l6P9k/ex75YPo5Z1/QI4u0q387mLMfQOxY1niH6EVVAXtBwZA0uaFoanaHdft9t6/wHd6cbf9WqPHWtB0OQ3j8RisWXpWC3/pW7QdoJgsBrw/vawceZSZ2zCdcDOz3KsdjgZvxE8dMTySmDW3ohGJjQ8FHZl0pmm56AZwUHR40v+5U19QDkkK0pBr+Z+NuVk5uojZ/qDK9i8Oilw6TndOwnS05/xAIsIBEE3I5W96carmxgL0hTzGccduCoa+KAEVg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(346002)(376002)(39860400002)(366004)(136003)(83380400001)(26005)(66476007)(53546011)(66946007)(66556008)(5660300002)(2906002)(6666004)(186003)(6486002)(478600001)(2616005)(16576012)(6916009)(31696002)(8936002)(86362001)(4326008)(31686004)(8676002)(54906003)(38100700002)(316002)(956004)(36756003)(2004002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?qJ+k3raq0Y5iMBdXnrRUcGXfLvxZdUnkO1hfysFULM5S+CtVvTKKNau7/szG?=
 =?us-ascii?Q?0tFbUvWtheUMWnYTfV/5qO6hkmHmuk0KPP/pO38jy03EZ/nMHEQbzmjqzBIT?=
 =?us-ascii?Q?PJtXFUWSWDd5VvNlvPt5aaTQxeYrv0Ig23jrCcZ/5DaCJpAQOwFSEJUqOPLn?=
 =?us-ascii?Q?mk6oXnh8VX25vF3zMxIWVbPJuFQss3vzVAupRV3YkGolLSTm8ROsO16jkTP8?=
 =?us-ascii?Q?tOQ7o7PD3gXR2teP4QeC12NIju46Pf3HzIwx3nglJf0MbSJIo2r6P7rNIihD?=
 =?us-ascii?Q?QJJBxNdQ9WKqgVA8Y59MuouB6gXA00LH7DgqdraROeEhZKF2Oe6WgJ3ddUE4?=
 =?us-ascii?Q?l0RyqBiH2D9atx9K8mf4TEBhZKEbsN8DdppEOImcM4X4FhMVc1BgB+RUOYlD?=
 =?us-ascii?Q?ZLTAA+a6TjcJRhRRQZS4UQbLEciBd02Lnh3nOIlfYorebIxvRic0tF2VIiQ2?=
 =?us-ascii?Q?ZxU+oQp8UPfDlAYJcgn78Zk/K8uI35fAHwaOFPTPMRpb2uewizj82XRO4B8C?=
 =?us-ascii?Q?Aqb1hjJyQ4NDQvev9rMWE/VPWIgI6GrMiJhBIUXEuSQyXe+mfHZNNAJZMMT8?=
 =?us-ascii?Q?ykPX++oc/3D1/6QyXcvDH06M3q2qjygB9pgtZ3Ou4hp+Qa5bCfrbiDuOqyaz?=
 =?us-ascii?Q?AjmywesrEC6osgrPDQf06Z+FqQyayGjLLsreWAluvRtyPo4/AQU8+X0fZdbR?=
 =?us-ascii?Q?qqmVeWhQQTC5uRFT+drDm31kwR0BH0ZEyHhaEw4yQKu28ZEIKuEl7RLkhTjW?=
 =?us-ascii?Q?gm03juqPG4rbhiGa5IgXr+FxU5irg1ad/mqz5PE2eF7aNgxRJAQUOyaVvdfQ?=
 =?us-ascii?Q?t3D3r+5DEgkYWkNWWvxwLTXhIHRYgIhSNY9hWVokvrXC/uXdtIsleiowrffL?=
 =?us-ascii?Q?fuvpo8XrNMFinuY1jPBT831vbslmsb5bBzfGA+PtdJr3Gt/X6Gy7rDaV7HHv?=
 =?us-ascii?Q?SkkavHKjeI5GfuINFWtcC78kCm6vrWM8Ec4WhgPiN8GFzRRmMWvq0Wg6qCR4?=
 =?us-ascii?Q?gdcZV3yokLgiS1dhUQSQBMcSA4mNACm6EpzWBjkpiHifgVc4GmiSfvzCZMx+?=
 =?us-ascii?Q?26b33Hkh/MtgOspiSGi3XBxg/vqVu2LQymiRmtxiwdeQCmKKeYXbNmZzNRO7?=
 =?us-ascii?Q?IgCbiW4Ff6OHYHgfvVaUT167DZYYLQh20ocahlGXXVUHGriXqbBo0GFUjHFU?=
 =?us-ascii?Q?EnaEcVf5c+AsCQPNLwvov4aIL6/seixsG1wSdGWyB2hFJiTdFcrwzHaUdrQE?=
 =?us-ascii?Q?qQ9C6r6uP6+7+vERPtBt4PhWXxpjxSDnqvlFGM7Lx3lkLxvN+EWCSCWe9ecz?=
 =?us-ascii?Q?QX1aUK6OI9SPzjLtDhr3XdYn?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2f34d83a-8f50-469c-c3ed-08d963a84b30
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 07:01:16.8491
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: QU7vmpEK/6qeaAqdmFIT7Tlf6n5gtA8HJMwRfvxu1IJxE8OHdymc/Pn2ijmBaourJ4iy0Npfjf+b0Ve9VEgYaw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3120

On 19.08.2021 14:02, Rahul Singh wrote:
> Compilation error is observed when HAS_PCI is enabled for ARM
> architecture.
>=20
> Add definition for arch_iommu_use_permitted() and
> arch_pci_clean_pirqs().Implement dummy functions for pci_conf_read*() to
> fix compilation error.
>=20
> pci.c: In function =E2=80=98deassign_device=E2=80=99:
> pci.c:849:49: error: implicit declaration of function =E2=80=98pci_to_dev=
=E2=80=99;
> did you mean =E2=80=98dt_to_dev=E2=80=99? [-Werror=3Dimplicit-function-de=
claration]
>             pci_to_dev(pdev));
>=20
> pci.c:18: undefined reference to `pci_conf_read16=E2=80=99
> pci.c:880: undefined reference to `arch_pci_clean_pirqs=E2=80=99
> pci.c:1392: undefined reference to `arch_iommu_use_permitted'
>=20
> Signed-off-by: Rahul Singh <rahul.singh@arm.com>

A couple of nits, notwithstanding Julien's more general concern:

> --- /dev/null
> +++ b/xen/arch/arm/pci/pci-access.c
> @@ -0,0 +1,61 @@
> +/*
> + * Copyright (C) 2021 Arm Ltd.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program.  If not, see <http://www.gnu.org/licenses/>.
> + */
> +
> +#include <xen/pci.h>
> +
> +static uint32_t pci_config_read(pci_sbdf_t sbdf, unsigned int reg,
> +                                unsigned int len)
> +{
> +    return ~0U;
> +}
> +
> +static void pci_config_write(pci_sbdf_t sbdf, unsigned int reg,
> +                             unsigned int len, uint32_t val)
> +{
> +}
> +
> +/*
> + * Wrappers for all PCI configuration access functions.
> + */
> +
> +#define PCI_OP_WRITE(size, type)                                        =
    \
> +    void pci_conf_write##size (pci_sbdf_t sbdf,unsigned int reg, type va=
l)  \

One of the two blanks preceding the backslash wants to move after the first
comma. And the blank preceding the opening parenthesis wants to be dropped.

> +{                                                                       =
    \
> +    pci_config_write(sbdf, reg, size / 8, val);                         =
    \
> +}
> +
> +#define PCI_OP_READ(size, type)                                         =
    \
> +    type pci_conf_read##size (pci_sbdf_t sbdf, unsigned int reg)        =
    \

The latter of the two applies here as well.

> +{                                                                       =
    \
> +    return pci_config_read(sbdf, reg, size / 8);                        =
    \
> +}
> +
> +PCI_OP_READ(8, u8)
> +PCI_OP_READ(16, u16)
> +PCI_OP_READ(32, u32)
> +PCI_OP_WRITE(8, u8)
> +PCI_OP_WRITE(16, u16)
> +PCI_OP_WRITE(32, u32)

We aim at eliminating u<N> uses in favor of uint<N>_t - please don't
introduce new uses.

Jan



From xen-devel-bounces@lists.xenproject.org Fri Aug 20 07:06:45 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 07:06:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169268.309207 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGyby-0001aM-0e; Fri, 20 Aug 2021 07:06:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169268.309207; Fri, 20 Aug 2021 07:06:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGybx-0001aF-Tm; Fri, 20 Aug 2021 07:06:41 +0000
Received: by outflank-mailman (input) for mailman id 169268;
 Fri, 20 Aug 2021 07:06:39 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=nWHd=NL=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mGybv-0001a9-TS
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 07:06:39 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id d1824ad0-30c8-400b-98c7-97b7bbb5b683;
 Fri, 20 Aug 2021 07:06:39 +0000 (UTC)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2059.outbound.protection.outlook.com [104.47.13.59]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-35-6EpUA_PtNL2WDzM4Xu6cow-1; Fri, 20 Aug 2021 09:06:36 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5472.eurprd04.prod.outlook.com (2603:10a6:803:d3::28)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 20 Aug
 2021 07:06:34 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4436.021; Fri, 20 Aug 2021
 07:06:34 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0P190CA0012.EURP190.PROD.OUTLOOK.COM (2603:10a6:208:190::22) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Fri, 20 Aug 2021 07:06: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: d1824ad0-30c8-400b-98c7-97b7bbb5b683
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629443198;
	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=fdZpzaD+AyVoy4zykKcdr0VFCy/g9MjibvR0nMgESdk=;
	b=DdfVjrCTsRFYLoRALQgD1SpSojMCAqw60G/QXtEPQnmSdW5piPPqidnVAJ2YW/kgnWWMCU
	oJrQOJMGlup0iECX7EV3A3eDAt/EF/9oRJH1HYj/SqWd/ynPatW9wINBFH9ZdtVEUjPOSV
	vlZN8D5loqzBtIKlyIAIxM9+lBTPTec=
X-MC-Unique: 6EpUA_PtNL2WDzM4Xu6cow-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lLp8OV4AIr6NNJ9ktta+YOIlek3xp+kEOMYXYU7zoqe6URnHylhKx/0VennrgxIEWy1hjyqux4ptDcqKxW65/nj/cDQurqd3ThmnS6AGfC+R4Nfu/M2N4GMeAoEXqnbvaET7iAgfem8ekjam/py2zoP3kK7RVanOr0FG4Uweu847Mzs3pmjbzg+4R7+heZmxbEQb38JBXIQwLXLVHND3p+7uDGaBqw5ryu3PRahTHS6VhvrbtItciQEsZm1CU1Xc1+CWxcBl29IN8OgPW0CLzOLFi14JXGt9N8FFhPNqlgrAowSx7GzVeAj2pai9nM1NvZTtPJo9nWPSEcqkRipNug==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fdZpzaD+AyVoy4zykKcdr0VFCy/g9MjibvR0nMgESdk=;
 b=kiUYHZhIbZQd32K8pLY77/4rxHdyEUlYCBrsfnHBgXIm3tiunDrhyIq2Z0CnivbpdI3sSGpOHynxUwrzqtEX/rvUuG6VRinwIE82HvPE2gWiArv+x88xCOmJu947YWaH0KxWhim6m0zdqfFrb7zniCxh9ocVrG4pTWZjI+phf2PKbQ2G9pZ9VTS7ffrzCMplp38U5lfZFdPpVcTSa97+AclY2vUSIP66+MxOKS3aTCcU6OHEbTWPBU3FCsipCuI9ot++9KuCp2D07BX3ZAf/i8p2iKwUe57lRGw8h+K8tQ/w9zNyHZknypluYwGOiN3+u9BX47/UMQNIS4/oaXB6BA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v1 03/14] xen/pci: solve compilation error on ARM with
 ACPI && HAS_PCI
To: Rahul Singh <rahul.singh@arm.com>
Cc: bertrand.marquis@arm.com, Paul Durrant <paul@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1629366665.git.rahul.singh@arm.com>
 <97d39d3ee398d6018bdcaf745f00d039df6a92ef.1629366665.git.rahul.singh@arm.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <5fad114f-06c4-120e-0a48-da7045fb85c5@suse.com>
Date: Fri, 20 Aug 2021 09:06:30 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <97d39d3ee398d6018bdcaf745f00d039df6a92ef.1629366665.git.rahul.singh@arm.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM0P190CA0012.EURP190.PROD.OUTLOOK.COM
 (2603:10a6:208:190::22) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4663e88b-6969-4003-2202-08d963a90b46
X-MS-TrafficTypeDiagnostic: VI1PR04MB5472:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB547295A549CE5AF7C8E5E0CFB3C19@VI1PR04MB5472.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PMsBd+c7OMp50HmUk7ivKkk8pMN2y9amUeSx8eCnXtcF4xQPWe1zCwhRWY3vrwkP0kzpZxURWFC0x+JP4Y3EP9F0yQeC1fjCiJjsooi8euJ2fnWLuVeHwLI6P0KOZYdB+nnFPvHGBEIehTRKvogGukbqE3l2vhRiiZzI7WcBmr9bU0FFICL6PTDsSQxRCLS0CX8lBTGwat2EKIzXAJ+fTEfu59ZTNAvjzflHNsUaO2FhNkT2axrmvsAmRdB1wIIZYEbdzQeiSPmpI4tXW+ZEwZPwSwweABdRwlm5eAcNSF6Hw6hyFjSl9u6mE/J4J8wBLvsAI/61BWkCiLdLPL8jLAK8cqiLCcbvaECA1tA0B7W9pT9PFWWh+tlJG5IMKiCUuyjOxPRkWNt/1b6Sd7N8Xoh2zMbLJbGBzO1H5siqDDfRyJr16AyjcN9eCegUBdNCYw+EbV18adJFZfiAvGGWELfFudllocaO0n0biiQnCmR+rb9UAKX9yrC39nyPahHqRUfBLOT8mkXtHkowD8H7+A2ABWYvQ7WRX7XuaPI+GM7anFr/0kv+bBZCNm3u5aXdB5T9mNdBY8eWhIigflQvwzZVc8DOtr4eLe3DMZiikcHrq7pJg5EHtXD/xfh5jfKdvE3GlmNWdxpgzjAXyzmpueIDwrnW2eGSh2zhV3xbpj34MADov9DBuY+rGABn9uZr/CBrOdq42rApCrM+IILFJ30To96n8wF5SEKAqmoxHck=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(39850400004)(346002)(396003)(136003)(376002)(316002)(478600001)(66476007)(956004)(66946007)(2616005)(16576012)(31686004)(2906002)(8676002)(66556008)(38100700002)(53546011)(86362001)(6486002)(36756003)(4326008)(4744005)(6916009)(83380400001)(31696002)(186003)(8936002)(5660300002)(26005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dWdoUlN3bXI5ZHczUHdQdjl2dkZjZi9MdHNWY2xwUC96bE4rWjl0RnlUYVh0?=
 =?utf-8?B?RUJvMWtZaFQydTdBZW9mbjNSdENrUWRmQlpENWhXNk92K1A4ODJsOThCckIv?=
 =?utf-8?B?czV2amZ4ektzSVUwWlVzemhxT2RPUVNtendpQzUvVVpNTHpVWEdPV1dPZWdo?=
 =?utf-8?B?SWpPY3NVOUoxQmt6ZXF2VVJtQWl0azMwb3ZiYWFBSStyRStHdWZRcTd4YzBP?=
 =?utf-8?B?bGJndUQ2aHFiWkRnNFhZcm1lOWFneXN1eWdtS25FQmtZNXplbHJsdkpDdzN3?=
 =?utf-8?B?SEVVWENsWXJiMnA2cjFPL2VEOWZ3dGRZUFJnRTRLZFo3aVNIaUNvUEovMWlq?=
 =?utf-8?B?MUJOUnR0K0xHc0hKK0dBeml4b2hwTTZqb3ZqeUNqNGhiRlJJbHV6TWt2c0RB?=
 =?utf-8?B?eFZiUkdsdm9JVmpVWjFZRXdycVRaQmVha0hRSWlHaXhYTDBzZDhZQ1JyMzB4?=
 =?utf-8?B?QjNENlFIN3F4djJ0eHo5VnE1R3F6d1d6MDJyVy8vN0J5VFc5V2NMVnVaajJR?=
 =?utf-8?B?ay8xRnRDejVkMSt0N0ZnQ2JLM0VWb0RyelRvaW1Oa1FXOHgydlJKbnJXRFhm?=
 =?utf-8?B?U2N6NXVrMHJHTGVwY25FTER1ZG1UTVRDQkxwN1ZNVEVOOGlLR1JvRGEwUWNZ?=
 =?utf-8?B?bm5jM2ptbWxnSk9wSkVhQml3RVplNStoQWdpbWtXVG94WmN5RSsvTlo1N01l?=
 =?utf-8?B?VUw5MjZVT05FaTIrMnlvay9CQWJ3V1pRcnJ0dXJFTFVzb2hOSW1sMno5dWpC?=
 =?utf-8?B?Nkp0aThLT01vTlNTUVVNOEhjektjNi9MbVdaR0ZZWjFQNDd1bHBSaVJaS21W?=
 =?utf-8?B?dVQvU2hLLzcvTzBMYlZiYXE1RGJlSUlpbUVxazlRSU5xK0tFU2RIeDgxRHVj?=
 =?utf-8?B?VHZlaTVhSWw5MGJPMXhvR2FuUWczckFGTU1SL2g4OUNGUTZQNlhWR2ZwNnRJ?=
 =?utf-8?B?MG5yRk1hY1BtK1RzL0czYjQxZXdWUnJtZ0VnNkdNWjJ5WENiaUN6dHJHYUxj?=
 =?utf-8?B?VzRlcjJuZTJpenFPUUN4T2tEN1NIV2xXVTRCWVpsY1FTZGZKRUxralp1Z3NB?=
 =?utf-8?B?ZWluaGxFY3BZUThvVnhKUWZjdlUxSGhFU1dmeGc1YjhyYmFyTGRoQ2crd0Nk?=
 =?utf-8?B?LzVYdVd1WjM0bVpLQ296SktLNFVoakk4Ylg3SUQ5T2RQdGpXZFlIaTVCWG1Q?=
 =?utf-8?B?c1BjZUtoVTA5SzgxZ2ZaazVza05SSXpBYTczUHlUZHpyVC9uaWNPdEEvNGZR?=
 =?utf-8?B?ay9IVWJ1Sk5QNWJVNjdKdFJzRzNSQlE5UmRxc2hOdStpTXJKenJXQW83UDJx?=
 =?utf-8?B?SVdqS0M2K0FEOWo1NmNDQWJHQlBPNWJqdHI2N3ZpaWJ5SldPYnQwa3Bkb2Q3?=
 =?utf-8?B?OTRsRmNxZG5veHAwZ0d4aG44c0NHZlBvUm1ncVVRZWlwcHV4Q3ByQlY3aXBS?=
 =?utf-8?B?R1oyOXhxQXJjNFdGYjNGSnBqcHhDend5YmdVUFJScmlpSnpraTlHSC9YaW55?=
 =?utf-8?B?OENXbXQ5azRTSDhFQ2JGUml0dE5CdmZ1RnF5SzQ0SmIzY2puTjF1SDBPVVRy?=
 =?utf-8?B?OEhwSlZ0dTFpY2x5Z3I4dk5OZnBpSk43eEdEVVZIckdoN3pBemhIOGlBVFpX?=
 =?utf-8?B?dG1KZXJ6cFFueEtPWUhJK2E1UkdQTU80VmRMYkdHNC96N1VXWWd0OTJhdEU5?=
 =?utf-8?B?eENrSUVGejJ3anRlZHJFaVZmdC9jVFZqdlU5QlU4MFljNmdvRmZXMTNHMTNn?=
 =?utf-8?Q?/OioflahtuhxxbZiObjquhE46ofbCNyXj363nEd?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4663e88b-6969-4003-2202-08d963a90b46
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 07:06:34.0673
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: N4SMa4PHNYBwEymzxfRYBvd9h3yJIJvMBY1l8jRDsQmh+xcrcIMO77FL8VYHzEMqKaGEnrxx7rHmtXd3OKN/jA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5472

On 19.08.2021 14:02, Rahul Singh wrote:
> Compilation error is observed when ACPI and HAS_PCI is enabled for ARM
> architecture. Move the code under CONFIG_X86 flag to gate the code for
> ARM.

Please give at least one example of what it is that fails to compile.
What an appropriate action is depends on the nature of the error(s),
and from looking at the enclosed code I cannot easily see what it
might be that breaks for Arm.

And as suggested by Julien for the earlier patch - you will want to
re-order things such that compilation doesn't "break" in the first
place. Title and description would then want adjusting accordingly.

Jan



From xen-devel-bounces@lists.xenproject.org Fri Aug 20 07:21:07 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 07:21:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169273.309217 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGypi-0003yb-Ap; Fri, 20 Aug 2021 07:20:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169273.309217; Fri, 20 Aug 2021 07:20: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 1mGypi-0003yU-7x; Fri, 20 Aug 2021 07:20:54 +0000
Received: by outflank-mailman (input) for mailman id 169273;
 Fri, 20 Aug 2021 07:20:53 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=nWHd=NL=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mGyph-0003yO-9o
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 07:20:53 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 88c18adc-3284-4892-86f8-48ae57bc7753;
 Fri, 20 Aug 2021 07:20:51 +0000 (UTC)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2104.outbound.protection.outlook.com [104.47.17.104])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-7-ukEoMIbENaaDRHFNdF464w-1; Fri, 20 Aug 2021 09:20:49 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4351.eurprd04.prod.outlook.com (2603:10a6:803:49::33)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 20 Aug
 2021 07:20:47 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4436.021; Fri, 20 Aug 2021
 07:20:47 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM4PR0302CA0002.eurprd03.prod.outlook.com (2603:10a6:205:2::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Fri, 20 Aug 2021 07:20: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: 88c18adc-3284-4892-86f8-48ae57bc7753
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629444050;
	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=pRclRdqZMGr2NtlBUe8zp0wzer2UlOTGNoxwPQ/eZrs=;
	b=U9Wu/rE2e5Ok0DLwoHHS4elTioO8sHV/0xV2oKVDjdIhNAni0n8/VNQTvt+ILtZ630D6T3
	igCi1ux8ZWkdNmzmNIqfVur5i5i8DCF0ZcaRdDZJA/IOjWUt0rbRfnxt6qbI6Fx8Dpjr2b
	OqmJyEUz6JyCKYxGMqJSfwYPfxwqXWU=
X-MC-Unique: ukEoMIbENaaDRHFNdF464w-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=geMWvJGl58hEk+ajkaByLcZAkG1fEYLCz19NKpH8zTBnJarXQP8owSOE7UFWt3VaU2RF5HNPFHxSrpFkGFuZBlV4axQjnCJ7GPg0+IzWXIcyMzWLR08/g7YA752ku8UiCdVgkoA2QSLFL4cLo/+9RdnIcVB8+P0P4SVZjPfsBAfkSpCDp6rYH2LppB2sFK2/sGaXQ/qpVSZ9a2KBkcIBKG7GX5dgEyVh5n9vuRkVwmucCaN0Cy60wAYeNbDEBaj2m1MaaWbpEqgqurllAepVB94vyT0wjhHPH3zxdEHQ28jouKdXRz6YMQNWioTxUEKR58UlIcMuoPqX9stYrqMw3g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Yx9O5pcSjDoxiVNVRlYbcCX9Ny92lc/LeG3Tlsaib8o=;
 b=iJgEIEf6eRihi1nGEESTtjVO0NcllNPIPXLhYRTfyLix2Bq/G0uPq0aUEbzRGsd3Azdd1Tikf/nryVKJeVTDglx7ppgaNFNE3+uNXRG7c8WXyuxpyJ43+CIWJZyNcHdjz0BkX2OoiLuonz34oQuvzS3A6QtF+q+UhNJR72YNtVS3uHhLBDWFjHXcFDBgT+8jRDljyq0vyFR3JSOFVG7wI2cQgSlM4++lpHZ4bnkppqZejezft4vC3XgzFqtsyOjNSh0nZLQEqS+1ROo90txOJJi2TNmq92CXECAWYZWaRlM7TYzq7ziarQdU0sLF76crFimF6Lyn7IRUc0sJhJLQ7Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: citrix.com; dkim=none (message not signed)
 header.d=none;citrix.com; dmarc=none action=none header.from=suse.com;
Subject: Re: Ping: [PATCH v2 00/13] x86: more or less log-dirty related
 improvements
From: Jan Beulich <jbeulich@suse.com>
To: Wei Liu <wl@xen.org>, Ian Jackson <iwj@xenproject.org>
CC: Juergen Gross <jgross@suse.com>, George Dunlap
 <george.dunlap@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <0bebfe8c-6897-dc8b-7fe0-9127d4996eb8@suse.com>
 <b77e536e-1113-6fc2-55b0-b6b4f7b91b18@suse.com>
Message-ID: <5e55a871-88f3-de22-a1b8-7498577c8d05@suse.com>
Date: Fri, 20 Aug 2021 09:20:42 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <b77e536e-1113-6fc2-55b0-b6b4f7b91b18@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM4PR0302CA0002.eurprd03.prod.outlook.com
 (2603:10a6:205:2::15) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4bb0c84f-ba12-4c2e-b931-08d963ab07f9
X-MS-TrafficTypeDiagnostic: VI1PR04MB4351:
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4351A25ABD1FDBF65D9A34ABB3C19@VI1PR04MB4351.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	B1sWIjuveylaF7/hI2P1d49m4G5nQOBhbLhXYf/0JBK+VH98+ASxOuNnNIIl8hT+v9jXzK3Yi7k4iIxcXbqgjc/q5NdUicEs8/9mKTaStefrocdw6QLGCsVNtwYMr8TtCHHkIiFhce3k0f8GdD3onV3WyjnP+44cXPSHPVYLpVCXbgIcmliUmY0Qxa83RKJvSa7mrTUkST4W92AOl1ZAUAEa4smNvPLWODZx4FeAWwaEJgRG7mESpk/ooDDOv5t2C4zOWQNRuE9+Jd3GEIzzafp2sS3XMEYa+K1rCSz8gG50uZOW0li/90pmz3LdbusGkkv0iT08NKKjl/s0wNV3oKmDR3n1PJtS9ZZv+wG5PYckJ8UhKcf2jGBcp8qKQgiw3pJaqacmdaImDuSGpMcrpH2G8nbNhOFxAuMXP7ZHexxcPqV9QWadgvHS+t0KwLRXTNSzcQK3hgfdLCBAv2Z3bCVHVdm0zrvSj+CBarTc8UifGYs844pbD7odwqfEIaOcyzwe3TPAN5+P/KF/RkSvSE5NMfNJLd7yxia/Hb2hUdN3SG26OU/5ZwJGfDEXd7bgY6yZy8HS50hmXUGeoidneBZyp50OrQpxbAKZn6i3Oh/yvbrQI/6S0eqao9to1nnwS5FKDOin31LrQTvKrFV7FFCF7mjQSzKRbubtnwWD4L/qkW2xu95HGLWeMUYD5pofqAzzggvYXvSec1OPLzbVHHpJVsxD75+Lr+dNyUdAU5JeDbJwrgg9AfS1g6XebhIb
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(8676002)(38100700002)(66556008)(54906003)(2616005)(5660300002)(956004)(4326008)(6666004)(66476007)(31686004)(186003)(36756003)(86362001)(2906002)(66574015)(31696002)(110136005)(66946007)(83380400001)(16576012)(508600001)(53546011)(26005)(6486002)(8936002)(316002)(14143004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?IFA5boJ1++5jwhYA9nkE2tFjE6pdlritqOT/7bhSDXXl94fFVCZYdFHbEBEg?=
 =?us-ascii?Q?RvNasqyH7hH25SKZCo/oB7nbOL0WgEwosbJAB5Yzz9pU5RqJg7V6NTGrcLJD?=
 =?us-ascii?Q?9xwW18QfAOhBBtBtuqgoemKX3JDY+97eezPdrs0h+y5xCPi/7DnFA2vDTHQh?=
 =?us-ascii?Q?cYMaDBvNP4+0qrh2X6/nGUFz1a6voKH1sidB626LzgPGdweil1dVnrFBYHWk?=
 =?us-ascii?Q?84tZQAU9e5BeB8mcC85Q3jMdZIa3zEjXAFWzGFgFlhbNChaPdTDTITJtm5NG?=
 =?us-ascii?Q?tHAa7C5M7QDD0wlirjIDNNEAwHcQBJZxXXRRE/+9eK2ZxAjzoiPK0EUctRCu?=
 =?us-ascii?Q?sAxIRsGS55hkpFpueVWFvZOQdz5V7qkQkop2GpDKHdSWaIMiO/prHB1ze0Ou?=
 =?us-ascii?Q?7EQpFetGOBxbLagTn3MAgWLbk16Es9NobQbEZa3OwkTZ0kYBi2tZI+rGCb0v?=
 =?us-ascii?Q?c1ChcSJWszIHEuQdltpyn4z/2bLmTNd953IwYSw+E13aKr44+JQJoMncUZ3T?=
 =?us-ascii?Q?zSogb26WT15/tjvgd1BCifHZZqaagi/OHqEpZASf7WrfGocZ2lIwR4L2L8bp?=
 =?us-ascii?Q?hZ9doihc4ZcSSZt/SuL2taEuDJMuCI4zLsJR0cDw3y0mhK+v0Tl4Cbxdu11r?=
 =?us-ascii?Q?ece7UoFyg9gpXXD+C3/CX5fdMXHbcIkcGxCy05m1kRtfgYCwE3QZbYK4DBcE?=
 =?us-ascii?Q?6T31K+T9b2mMAjcckHkMx+KV+7DjR8HwKivftgxrYlVTaxYkcfJrMwsblSv9?=
 =?us-ascii?Q?X+U0CGQXKHFYophEBSifovIo5W5qVoNaETJoaPzJb3PnohEiWCx10+aN3wSR?=
 =?us-ascii?Q?TDcdN5Z+dK9aZ8MWEjef45a3QYiQUrJs56XkGqmG2kwXsj/3LH55GWoVw6Ik?=
 =?us-ascii?Q?MordFesVXYlsTicK+w86NwSGsfUwQ5eWoxV5iH6jmYuZh4r48ogjXBddJThn?=
 =?us-ascii?Q?Iv0QLWftC9f1p8DqtsnfFySRSFu64U3Y98T1PojbY9iJ09+M4vzucnLbyg41?=
 =?us-ascii?Q?+vLU6zxx4uGonVrhtiNT/S3TbQepUvoONibrKmbZ5OysR5JehLj+e0+GPfc3?=
 =?us-ascii?Q?XN4ptDp2yIGT85DHJB52bwJNw5sddgjCHyM0Q2ehnqsRLKviudWdG0zO5lRm?=
 =?us-ascii?Q?zWBkyvy//B79m04PgEmDDtQS9ovjyaDNpdqveFFFUOQyJeZXvE7twM6ME59V?=
 =?us-ascii?Q?c/zrxJVF/69t9rIfaTH8i/arv/NfzupFHUQHO8IrNu8OSXVVCj7Na51YJ7FA?=
 =?us-ascii?Q?P5vHoCCVETXPIb5d1ElIITYpgRMZJ8K0fgEXxDltfbC32Q3NJfQ45lpIETVo?=
 =?us-ascii?Q?7pzcPOm0D6q3mIZkm7D891pE?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4bb0c84f-ba12-4c2e-b931-08d963ab07f9
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 07:20:47.5908
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Nuldvvo6MwbQ1yEoqSNfHVN2c0lBfBBE8/L6KT/kPbJQy0jJ43uHS8aqm4864mTxQfLhdA1TPkiVDyf/vPuPkw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4351

On 19.07.2021 09:46, Jan Beulich wrote:
> On 05.07.2021 17:09, Jan Beulich wrote:
>> ... or so I hope. This series continues the attempt to deal with
>> the ovmf change putting the shared info page at a very high address
>> (which is now planned to get reverted there, but the general
>> problem doesn't go away by them doing so). There are further issues
>> with truncated value, which are being dealt with here. But there
>> are also not directly related changes, when I simply spotted things
>> that aren't very likely to be right the way they are. And then
>> there are also adjustments to the underlying hypervisor
>> implementation, with the goal of making the returned data more
>> useful to the consumers.
>>
>> With these changes in place, a 1Gb guest which has "inflated"
>> itself by putting a page right below the 16Tb boundary migrates
>> successfully, albeit the process takes from some 20 minutes to over
>> half an hour on my test system.
>>
>> In v2, besides integrating 2 patches that were previously sent,
>> there's one new patch and otherwise review feedback addressed
>> (albeit there wasn't any for a number of patches).
>>
>> 01: libxl/x86: check return value of SHADOW_OP_SET_ALLOCATION domctl
>=20
> while I did get an R-b from Anthony on this one, but ...
>=20
>> 02: libxc: split xc_logdirty_control() from xc_shadow_control()
>> 03: libxenguest: deal with log-dirty op stats overflow
>> 04: libxenguest: short-circuit "all-dirty" handling
>> 05: libxenguest: avoid allocating unused deferred-pages bitmap

with J=C3=BCrgen's R-b for 2, 4, and 5, may I ask for a maintainer ack on
at least patch 2? While I did address Andrew's comments on v1 of 4
and 5 (verbally), he didn't indicate back whether he was okay with
my replies, so some judgement may need applying there when deciding
whether to also give an ack there. Thanks.

Patch 3 remains controversial as it seems, unfortunately.

Jan



From xen-devel-bounces@lists.xenproject.org Fri Aug 20 07:45:11 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 07:45:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169277.309229 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGzD7-0006jz-BQ; Fri, 20 Aug 2021 07:45:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169277.309229; Fri, 20 Aug 2021 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 1mGzD7-0006js-7o; Fri, 20 Aug 2021 07:45:05 +0000
Received: by outflank-mailman (input) for mailman id 169277;
 Fri, 20 Aug 2021 07:45:04 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Z3BX=NL=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1mGzD6-0006jm-5e
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 07:45:04 +0000
Received: from mx.upb.ro (unknown [141.85.13.220])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id db80246c-b5b6-482d-9791-84bcdc292810;
 Fri, 20 Aug 2021 07:45:02 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mx.upb.ro (Postfix) with ESMTP id E5154B560099;
 Fri, 20 Aug 2021 10:45:00 +0300 (EEST)
Received: from mx.upb.ro ([127.0.0.1])
 by localhost (mx.upb.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id HE_G-e1vgChG; Fri, 20 Aug 2021 10:44:58 +0300 (EEST)
Received: from localhost (localhost [127.0.0.1])
 by mx.upb.ro (Postfix) with ESMTP id 7906FB56009F;
 Fri, 20 Aug 2021 10:44:58 +0300 (EEST)
Received: from mx.upb.ro ([127.0.0.1])
 by localhost (mx.upb.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id 1d6FXwsaMpCe; Fri, 20 Aug 2021 10:44:58 +0300 (EEST)
Received: from [192.168.1.35] (unknown [86.121.144.181])
 by mx.upb.ro (Postfix) with ESMTPSA id 96BC4B5600A3;
 Fri, 20 Aug 2021 10:44:57 +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: db80246c-b5b6-482d-9791-84bcdc292810
X-Virus-Scanned: amavisd-new at upb.ro
Subject: Re: [PATCH v2 1/4] public: Add page related definitions for accessing
 guests memory
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1629395092.git.costin.lupu@cs.pub.ro>
 <1d9338102d2013addfabc0cf9275ef156fd5080f.1629395092.git.costin.lupu@cs.pub.ro>
 <69747133-3d42-4179-2606-12b1d1a9c8a6@suse.com>
From: Costin Lupu <costin.lupu@cs.pub.ro>
Message-ID: <c942c080-183a-ddb2-f523-dd3354f5b4a0@cs.pub.ro>
Date: Fri, 20 Aug 2021 10:44:57 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <69747133-3d42-4179-2606-12b1d1a9c8a6@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit

Hi Jan,

Please see inline.

On 8/20/21 9:52 AM, Jan Beulich wrote:
> On 19.08.2021 19:50, Costin Lupu wrote:
>> These changes introduce the page related definitions needed for mapping and
>> accessing guests memory. These values are intended to be used by any toolstack
>> component that needs to map guests memory. Until now, the values were defined
>> by the xenctrl.h header, therefore whenever a component had to use them it also
>> had to add a dependency for the xenctrl library.
>>
>> This patch also introduces xen_mk_long() macrodefinition for defining long
>> constants both for C and assembler code.
> 
> I'm still missing justification for the addition of a new header, especially
> as I don't see that header to gain much more contents down the road.
> 

For the first version, since it didn't need to include other headers, I
thought it would make sense to isolate the definitions in their own
headers. Now maybe it makes more sense to put the definitions in
arch-x86/xen.h, arch-arm.h and xen.h (the latter two) respectively. What
do you think? I'm open to suggestions here.

>> --- /dev/null
>> +++ b/xen/include/public/page.h
>> @@ -0,0 +1,36 @@
>> +/******************************************************************************
>> + * page.h
>> + *
>> + * Page definitions for accessing guests memory
>> + *
>> + * Permission is hereby granted, free of charge, to any person obtaining a copy
>> + * of this software and associated documentation files (the "Software"), to
>> + * deal in the Software without restriction, including without limitation the
>> + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
>> + * sell copies of the Software, and to permit persons to whom the Software is
>> + * furnished to do so, subject to the following conditions:
>> + *
>> + * The above copyright notice and this permission notice shall be included in
>> + * all copies or substantial portions of the Software.
>> + *
>> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
>> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
>> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
>> + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
>> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
>> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
>> + * DEALINGS IN THE SOFTWARE.
>> + *
>> + * Copyright (c) 2021, Costin Lupu
>> + */
>> +
>> +#ifndef __XEN_PUBLIC_PAGE_H__
>> +#define __XEN_PUBLIC_PAGE_H__
>> +
>> +#include "xen.h"
>> +
>> +#define XEN_PAGE_SHIFT           12
>> +#define XEN_PAGE_SIZE            (xen_mk_long(1) << XEN_PAGE_SHIFT)
>> +#define XEN_PAGE_MASK            (~(XEN_PAGE_SIZE - 1))
> 
> You went too far here, I'm afraid: In reply to v1 I did say "The latter
> two, being identical ..." - XEN_PAGE_SHIFT ought to continue to be a
> per-arch constant, even if right now it is the same for Arm and x86.
> 

Alright, now I got it.

> Thinking of which - with exposing this as a stable ABI (not just the
> abstraction, but the specific values and the fact that they're
> invariable become part of the stable ABI this way), what is the plan
> for supporting 64k(?) page size on Arm in the future? At that point
> you _cannot_ simply remove or replace the #define you add here. As
> the immediate need is by the tool stack, enclosing in 
> 
> #if defined(__XEN__) || defined(__XEN_TOOLS__)
> 
> might be an option, with the downside of having stable libraries
> (foreignmemory and gnttab) depend on an unstable hypervisor interface
> (again). I can't seem to be able to think of anything better ...

Here I can be only guessing because I don't know all the requirements
and I would need more input. One would have to add new values for ARM
that would be enabled by some flag and then both the toolstack and the
hypervisor would have to be rebuilt. With the current approach I don't
think there is room for anything else, but I'm curious to hear about
other ideas.

Cheers,
Costin


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 08:20:19 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 08:20:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169316.309261 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGzl5-0003U2-Eg; Fri, 20 Aug 2021 08:20:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169316.309261; Fri, 20 Aug 2021 08: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 1mGzl5-0003Tv-BX; Fri, 20 Aug 2021 08:20:11 +0000
Received: by outflank-mailman (input) for mailman id 169316;
 Fri, 20 Aug 2021 08:20: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 1mGzl3-0003Tp-DQ
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 08:20: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 1mGzl2-0005P1-BD; Fri, 20 Aug 2021 08:20:08 +0000
Received: from [54.239.6.184] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mGzl2-000809-4z; Fri, 20 Aug 2021 08:20:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=4UkdtyzA1SUbJVk3SXx5UndA57NHc1yZGmbWj5iTt8I=; b=etvKOaLMVc1/8jyJp8M+afSIvq
	8eg3JjXphy7UXTyVTC4tpMCXebLyWpiynwDdtyOrVTYfKsHyb8TvuZCEru+iq6JOdRCDeeYAwXifX
	nwhpkkbKWSuxLfNYUx+ifMQ0u8RXfy9YgrQVGm5qNdq1mGPALorqxcVIJllUmNusyB8I=;
Subject: Re: [XEN RFC PATCH 04/40] xen/arm: return default DMA bit width when
 platform is not set
To: Wei Chen <Wei.Chen@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>,
 "jbeulich@suse.com" <jbeulich@suse.com>
Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-5-wei.chen@arm.com>
 <61893862-6b8f-9c1b-367b-7e0c837a43c5@xen.org>
 <DB9PR08MB68572A84F6A73644C4FE3F609EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
From: Julien Grall <julien@xen.org>
Message-ID: <35fdd7c0-0607-e2b6-776d-adf9eea2c0e2@xen.org>
Date: Fri, 20 Aug 2021 09:20:06 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <DB9PR08MB68572A84F6A73644C4FE3F609EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit



On 20/08/2021 03:04, Wei Chen wrote:
> Hi Julien,

Hi Wei,

>> -----Original Message-----
>> From: Julien Grall <julien@xen.org>
>> Sent: 2021年8月19日 21:28
>> To: Wei Chen <Wei.Chen@arm.com>; xen-devel@lists.xenproject.org;
>> sstabellini@kernel.org; jbeulich@suse.com
>> Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>
>> Subject: Re: [XEN RFC PATCH 04/40] xen/arm: return default DMA bit width
>> when platform is not set
>>
>> Hi,
>>
>> On 11/08/2021 11:23, Wei Chen wrote:
>>> From: Hongda Deng <Hongda.Deng@arm.com>
>>>
>>> In current code, arch_get_dma_bitsize will return 32 when platorm
>>> or platform->dma_bitsize is not set. It's not resonable, for Arm,
>>
>> s/resonable/reasonable/
>>
> 
> Ok
> 
>>> we don't require to reserve DMA memory. So we set dma_bitsize always
>>> be 0. In NO-NUMA system, arch_get_dma_bitsize will not be invoked,
>>> so dma_bitsize will not be overrided by this function.
>>
>> arch_get_dma_bitsize() is also used to allocate dom0 memory. We need to
>> be able to allocate some DMA-able memory that can be used by every devices.
>>
>>> But in NUMA
>>> system, once the online nodes are greater than 1, this function will
>>> be invoked. The dma_bitsize will be limited to 32. That means, only
>>> first 4GB memory can be used for DMA. But that's against our hardware
>>> design. We don't have that kind of restriction on hardware.
>>
>> What do you mean by "hardware design"? Are you referring to the server
>> you boot Xen on?
>>
> 
> Yes. I will change it to some neutral words. something like:
> "But that could not reflect some hardware's real DMA ability. They may not
> have kind of restriction on hardware." ?

The thing is DMA ability is not about the platform itself. It is more 
about the devices (this could just be a PCI card you just plugged). What 
you seem to suggest is no-one will ever plug such card on your platform. 
Is that correct?

> 
> 
>> Anyway, there are plenty of platform out that have devices which can't
>> DMA into memory above 32-bit. On RPI, this is even lower (30-bit).
>>
>> So I would be cautious to change the default limit.
>>
> 
> How about return 0 when platform doesn't specify the limit?
> In my opinion, arbitrary to give 32 on AArch64 doesn't make sense.
We have to care about the common use-case. We added this restriction a 
few years ago because we had a few reports of users using only 32-bit 
DMA capable device.

> But as you mentioned, if Xen is running on a platform with DMA limitation,
> but we have not listed this platform in Xen supported list, Xen cannot
> get DMA limit from platform->dma_bitsize. In this case, return 0 will
> also cause some issue.
> 
>> At the moment, the only place on Arm where we need DMA-able memory is
>> for dom0. This is allocated at boot and can't change afterwards (for now).
>>
> 
> For Dom0, we squash the patch#5 into this patch?

Let me answer with another question. Why should we modify the Arm code 
rather than the common code? IOW...

> 
>> So I would explore to remove the NUMA check for drop the DMA zone. FAOD,
>> both suggestion are for Arm only. For x86, they need to be kept.
>>
> 
> Without introducing new flag, such as lowmem_for_dma, it's a little
> hard to skip the numa node check. Unless we crudely add #ifdef ARCH to
> common code, which is not what we want to see ...
>        if ( !dma_bitsize && (num_online_nodes() > 1) )
>            dma_bitsize = arch_get_dma_bitsize();

... Why do you think we need this check on Arm when NUMA is enabled?

We can discuss how to remove it once this is answered.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 08:24:07 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 08:24:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169322.309273 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mGzol-0004IV-Up; Fri, 20 Aug 2021 08:23:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169322.309273; Fri, 20 Aug 2021 08: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 1mGzol-0004IO-RZ; Fri, 20 Aug 2021 08:23:59 +0000
Received: by outflank-mailman (input) for mailman id 169322;
 Fri, 20 Aug 2021 08:23: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 1mGzol-0004II-7z
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 08:23: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 1mGzok-0005Rk-AF; Fri, 20 Aug 2021 08:23:58 +0000
Received: from [54.239.6.184] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mGzok-0000HC-4P; Fri, 20 Aug 2021 08: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=+yFMNC13pToffs3kT/4MGiIUX70KT/zYGf+8Au4J5+g=; b=Rz3PA8in9y4wqPGszUUCSksAe3
	596D6iOQIZ+pibjEIAeRlJ50p2pQbNqk+dWmwYkkZzli2IJIGn9XVThAHTcjfbo7HJ86h5oWdJRfN
	/1HHJouJkYGm6DLRNJq0YV8TS3BRb5SZQ1mRbYuqVldxFXkEYRnB20s2QxOB7kSpGa3E=;
Subject: Re: [XEN RFC PATCH 07/40] xen/arm: use !CONFIG_NUMA to keep fake NUMA
 API
To: Wei Chen <Wei.Chen@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>,
 "jbeulich@suse.com" <jbeulich@suse.com>
Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-8-wei.chen@arm.com>
 <e9a45fe3-e4b0-6533-8b41-ac3f10ef386a@xen.org>
 <DB9PR08MB6857D0004A59BC90866AE4C89EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
From: Julien Grall <julien@xen.org>
Message-ID: <4de5b7ed-ada5-2114-2002-7f5e26a89417@xen.org>
Date: Fri, 20 Aug 2021 09:23:56 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <DB9PR08MB6857D0004A59BC90866AE4C89EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit



On 20/08/2021 03:08, Wei Chen wrote:
> Hi Julien,

Hi Wei,

> 
>> -----Original Message-----
>> From: Julien Grall <julien@xen.org>
>> Sent: 2021年8月19日 21:34
>> To: Wei Chen <Wei.Chen@arm.com>; xen-devel@lists.xenproject.org;
>> sstabellini@kernel.org; jbeulich@suse.com
>> Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>
>> Subject: Re: [XEN RFC PATCH 07/40] xen/arm: use !CONFIG_NUMA to keep fake
>> NUMA API
>>
>> Hi Wei,
>>
>> On 11/08/2021 11:23, Wei Chen wrote:
>>> Only Arm64 supports NUMA, the CONFIG_NUMA could not be
>>> enabled for Arm32.
>>
>> What do you mean by "could not be enabled"?
> 
> I have not seen any Arm32 hardware support NUMA, so I think
> we don't need to support Arm32 NUMA.

I understand that there may not be 32-bit platform with NUMA. And that's 
fine stating that in the commit message. However...

> In this case, this Kconfig
> option could not be enabled on Arm32.

... you continue to say "couldn't be enabled" without clarifying whether 
this mean that the build will break or this was just not tested because 
you don't have any platform.

To put it differently, the code for NUMA looks bitness neutral. So I 
cannot really what what prevent us to potentially use it on Arm 32-bit.

> 
>>
>>> Even in Arm64, users still can disable
>>> the CONFIG_NUMA through Kconfig option. In this case, keep
>>> current fake NUMA API, will make Arm code still can work
>>> with NUMA aware memory allocation and scheduler.
>>>
>>> Signed-off-by: Wei Chen <wei.chen@arm.com>
>>> ---
>>>    xen/include/asm-arm/numa.h | 4 ++++
>>>    1 file changed, 4 insertions(+)
>>>
>>> diff --git a/xen/include/asm-arm/numa.h b/xen/include/asm-arm/numa.h
>>> index 31a6de4e23..ab9c4a2448 100644
>>> --- a/xen/include/asm-arm/numa.h
>>> +++ b/xen/include/asm-arm/numa.h
>>> @@ -5,6 +5,8 @@
>>>
>>>    typedef u8 nodeid_t;
>>>
>>> +#if !defined(CONFIG_NUMA)
>>
>> NIT: We tend to use #ifndef rather than #if !defined(...)
>>
> 
> OK, I will change related changes in this series.
> 
>>> +
>>>    /* Fake one node for now. See also node_online_map. */
>>>    #define cpu_to_node(cpu) 0
>>>    #define node_to_cpumask(node)   (cpu_online_map)
>>> @@ -25,6 +27,8 @@ extern mfn_t first_valid_mfn;
>>>    #define node_start_pfn(nid) (mfn_x(first_valid_mfn))
>>>    #define __node_distance(a, b) (20)
>>>
>>> +#endif
>>> +
>>>    #endif /* __ARCH_ARM_NUMA_H */
>>>    /*
>>>     * Local variables:
>>>
>>
>> Cheers,
>>
>> --
>> Julien Grall

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 08:41:29 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 08:41:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169327.309284 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH05b-0006pZ-B4; Fri, 20 Aug 2021 08:41:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169327.309284; Fri, 20 Aug 2021 08:41:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH05b-0006pS-7v; Fri, 20 Aug 2021 08:41:23 +0000
Received: by outflank-mailman (input) for mailman id 169327;
 Fri, 20 Aug 2021 08:41: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 1mH05a-0006pM-AN
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 08:41: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 1mH05Z-0005og-DC; Fri, 20 Aug 2021 08:41:21 +0000
Received: from [54.239.6.184] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mH05Z-0002ML-6v; Fri, 20 Aug 2021 08:41:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=LIYsFxPsJDNA62TqrSk11n9tgyiR+UX+MfcUGqlEZug=; b=4cZuA4HtNztt7QowZktGSb0gub
	uuqys+Jpm4gKzpp08ZCDBdofzKKcjZJBspAp3C1L+IuxYx2EMOmaSEJWv+KZqElC7Qt1A6vWJlTsy
	5/ZSBTYrRjLwqQYjJ2G4CCcM9aTqUI5R5UoixJkXh1D0e8LKq8IBOU9FPK1pJr26HnCo=;
Subject: Re: [XEN RFC PATCH 17/40] xen/arm: Introduce DEVICE_TREE_NUMA Kconfig
 for arm64
To: Wei Chen <Wei.Chen@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>,
 "jbeulich@suse.com" <jbeulich@suse.com>
Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-18-wei.chen@arm.com>
 <1fbcb8a6-67b6-e2d6-6524-cfce7a8a6557@xen.org>
 <DB9PR08MB68571FFA0E971E3A60C588EA9EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
From: Julien Grall <julien@xen.org>
Message-ID: <fe477382-c078-9647-49f8-ef40a9e20b50@xen.org>
Date: Fri, 20 Aug 2021 09:41:19 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <DB9PR08MB68571FFA0E971E3A60C588EA9EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit

On 20/08/2021 03:30, Wei Chen wrote:
> Hi Julien,

Hi Wei,

>> -----Original Message-----
>> From: Julien Grall <julien@xen.org>
>> Sent: 2021年8月19日 21:38
>> To: Wei Chen <Wei.Chen@arm.com>; xen-devel@lists.xenproject.org;
>> sstabellini@kernel.org; jbeulich@suse.com
>> Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>
>> Subject: Re: [XEN RFC PATCH 17/40] xen/arm: Introduce DEVICE_TREE_NUMA
>> Kconfig for arm64
>>
>> Hi,
>>
>> On 11/08/2021 11:24, Wei Chen wrote:
>>> We need a Kconfig option to distinguish with ACPI based
>>> NUMA. So we introduce the new Kconfig option:
>>> DEVICE_TREE_NUMA in this patch for Arm64.
>>>
>>> Signed-off-by: Wei Chen <wei.chen@arm.com>
>>> ---
>>>    xen/arch/arm/Kconfig | 10 ++++++++++
>>>    1 file changed, 10 insertions(+)
>>>
>>> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
>>> index ecfa6822e4..678cc98ea3 100644
>>> --- a/xen/arch/arm/Kconfig
>>> +++ b/xen/arch/arm/Kconfig
>>> @@ -33,6 +33,16 @@ config ACPI
>>>    	  Advanced Configuration and Power Interface (ACPI) support for Xen
>> is
>>>    	  an alternative to device tree on ARM64.
>>>
>>> +config DEVICE_TREE_NUMA
>>
>> The name suggests that NUMA should only be enabled for Device-Tree...
>> But the description looks generic.
>>
>> However, I think the user should only have the choice to say whether
>> they want NUMA to be enabled or not. We should not give them the choice
>> to enable/disable the parsing for DT/ACPI.
>>
>> So we should have a generic config that will then select DT (and ACPI in
>> the future).
>>
> 
> How about we select DT_NUMA default on Arm64. And DT_NUMA select NUMA
> like what we have done in patch#6 in x86? And remove the description?
I would rather not make NUMA supported by default on Arm64. Instead, we 
should go throught the same process as other new features and gate it 
behind UNSUPPORTED until it is mature enough.

> 
> If we make generic NUMA as a selectable option, and depends on
> NUMA to select DT or ACPI NUMA. It seems to be quite different from
> the existing logic?

I am a bit confused. You added just logic to select NUMA from ACPI, 
right? So are you talking about a different logic?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 08:44:24 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 08:44:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169333.309295 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH08V-0007X5-VB; Fri, 20 Aug 2021 08:44:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169333.309295; Fri, 20 Aug 2021 08:44: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 1mH08V-0007Wy-RS; Fri, 20 Aug 2021 08:44:23 +0000
Received: by outflank-mailman (input) for mailman id 169333;
 Fri, 20 Aug 2021 08:44: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 1mH08U-0007Ws-SE
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 08:44: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 1mH08T-0005qx-Tr; Fri, 20 Aug 2021 08:44:21 +0000
Received: from [54.239.6.184] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mH08T-0002oY-O7; Fri, 20 Aug 2021 08:44:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=DtPwRcEZ/aM5yJ/Y/W3ruWx1Xb7pA5ZdSgCqTjlA0xs=; b=AeyT1DMy0Qzk2lZCeQItkP0X5d
	3qcQSy4CVzdEesF7JmPQmth4webN3KY1Nf3iTIEVY05frjR8+qHrHYSBGvgNYynJE9mETpN7rsIvj
	DMHPeA7Z1t8JrDjhNHCDM4fj0GFplwLzbnHuHAP4cojB21OqnTfgB3RC9blrlqIHwb14=;
Subject: Re: [XEN RFC PATCH 22/40] xen/arm: introduce a helper to parse device
 tree processor node
To: Wei Chen <Wei.Chen@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>,
 "jbeulich@suse.com" <jbeulich@suse.com>
Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-23-wei.chen@arm.com>
 <b52884fd-da4b-f09c-8ed9-cefd7c5b6e97@xen.org>
 <DB9PR08MB6857105F17F529CCD54D83E89EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
From: Julien Grall <julien@xen.org>
Message-ID: <317048b1-adfd-d537-aff4-4018e50f348a@xen.org>
Date: Fri, 20 Aug 2021 09:44:20 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <DB9PR08MB6857105F17F529CCD54D83E89EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit



On 20/08/2021 03:23, Wei Chen wrote:
> Hi Julien,

Hi Wei,

>> -----Original Message-----
>> From: Julien Grall <julien@xen.org>
>> Sent: 2021年8月20日 2:13
>> To: Wei Chen <Wei.Chen@arm.com>; xen-devel@lists.xenproject.org;
>> sstabellini@kernel.org; jbeulich@suse.com
>> Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>
>> Subject: Re: [XEN RFC PATCH 22/40] xen/arm: introduce a helper to parse
>> device tree processor node
>>
>> Hi Wei,
>>
>> On 11/08/2021 11:24, Wei Chen wrote:
>>> Processor NUMA ID information is stored in device tree's processor
>>> node as "numa-node-id". We need a new helper to parse this ID from
>>> processor node. If we get this ID from processor node, this ID's
>>> validity still need to be checked. Once we got a invalid NUMA ID
>>> from any processor node, the device tree will be marked as NUMA
>>> information invalid.
>>>
>>> Signed-off-by: Wei Chen <wei.chen@arm.com>
>>> ---
>>>    xen/arch/arm/numa_device_tree.c | 41 +++++++++++++++++++++++++++++++--
>>>    1 file changed, 39 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/xen/arch/arm/numa_device_tree.c
>> b/xen/arch/arm/numa_device_tree.c
>>> index 1c74ad135d..37cc56acf3 100644
>>> --- a/xen/arch/arm/numa_device_tree.c
>>> +++ b/xen/arch/arm/numa_device_tree.c
>>> @@ -20,16 +20,53 @@
>>>    #include <xen/init.h>
>>>    #include <xen/nodemask.h>
>>>    #include <xen/numa.h>
>>> +#include <xen/device_tree.h>
>>
>> Nothing in this file seems to depend on xen/device_tree.h. So why do you
>> need to include it?
>>
> 
> I remember that without this header file, device_tree_get_u32 in this patch
> will cause compiling failed.

I looked at the prototype of device_tree_get_u32() and I can't find how 
it depends on bits from device_tree.h. Can you paste the compilation error?

> 
>>> +#include <asm/setup.h>
>>>
>>>    s8 device_tree_numa = 0;
>>> +static nodemask_t processor_nodes_parsed __initdata;
>>>
>>> -int srat_disabled(void)
>>> +static int srat_disabled(void)
>>>    {
>>>        return numa_off || device_tree_numa < 0;
>>>    }
>>>
>>> -void __init bad_srat(void)
>>> +static __init void bad_srat(void)
>>>    {
>>>        printk(KERN_ERR "DT: NUMA information is not used.\n");
>>>        device_tree_numa = -1;
>>>    }
>>> +
>>> +/* Callback for device tree processor affinity */
>>> +static int __init dtb_numa_processor_affinity_init(nodeid_t node)
>>> +{
>>> +    if ( srat_disabled() )
>>> +        return -EINVAL;
>>> +    else if ( node == NUMA_NO_NODE || node >= MAX_NUMNODES ) {
>>> +		bad_srat();
>>> +		return -EINVAL;
>>> +	}
>>> +
>>> +    node_set(node, processor_nodes_parsed);
>>> +
>>> +    device_tree_numa = 1;
>>> +    printk(KERN_INFO "DT: NUMA node %u processor parsed\n", node);
>>> +
>>> +    return 0;
>>> +}
>>> +
>>> +/* Parse CPU NUMA node info */
>>> +int __init device_tree_parse_numa_cpu_node(const void *fdt, int node)
>>> +{
>>> +    uint32_t nid;
>>> +
>>> +    nid = device_tree_get_u32(fdt, node, "numa-node-id", MAX_NUMNODES);
>>> +    printk(XENLOG_WARNING "CPU on NUMA node:%u\n", nid);
>>> +    if ( nid >= MAX_NUMNODES )
>>> +    {
>>> +        printk(XENLOG_WARNING "Node id %u exceeds maximum value\n",
>> nid);
>>> +        return -EINVAL;
>>> +    }
>>> +
>>> +    return dtb_numa_processor_affinity_init(nid);
>>> +}
>>>
>>
>> --
>> Julien Grall

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 09:07:01 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 09:07:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169337.309306 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH0UH-0001kN-PE; Fri, 20 Aug 2021 09:06:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169337.309306; Fri, 20 Aug 2021 09:06: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 1mH0UH-0001kG-M7; Fri, 20 Aug 2021 09:06:53 +0000
Received: by outflank-mailman (input) for mailman id 169337;
 Fri, 20 Aug 2021 09:06:51 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=nWHd=NL=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mH0UF-0001k8-Oy
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 09:06:51 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id f4255a98-0195-11ec-a692-12813bfff9fa;
 Fri, 20 Aug 2021 09:06:50 +0000 (UTC)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2055.outbound.protection.outlook.com [104.47.12.55]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-16-oy5yFQ7UMlGwdK9zzQA4tA-2; Fri, 20 Aug 2021 11:06:48 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB6863.eurprd04.prod.outlook.com (2603:10a6:803:12f::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 20 Aug
 2021 09:06:46 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4436.021; Fri, 20 Aug 2021
 09:06:46 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR03CA0084.eurprd03.prod.outlook.com (2603:10a6:208:69::25) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Fri, 20 Aug 2021 09:06:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f4255a98-0195-11ec-a692-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629450409;
	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=DcLHc1LRBfARLQL7Na50Jy6YNFFLfZ5cK1Nuc1t6p4w=;
	b=I4xIZjmoWr8ddoKGLG6eEF8syt4BifFEDySdSkFI7PuSwPO12iuhjr1VTf/NTaNC9EwGa3
	+DfxsrKKaN9Fya1EFuXXgGa5R1kU1mQRTHTKooOncl/ayr7VOMPS3SzhSJNBZ7DuKt7HpK
	s0wzaPALejPokOWvkdkf1Z/V+gG6wGw=
X-MC-Unique: oy5yFQ7UMlGwdK9zzQA4tA-2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MEprxNZSfU2uTPzJxXTUEirqLccwQi5kguWFU3VUC4B1wR725dmJhoDLczmfsKZVrxYmqKsDBGqtVDA+viTGEPtt6Ry//cgGhxs1ht7fdwGB3C+9BAqCtjeOPAwVBqSjqaEN3eRGAaO8VctB0bFip5NL4l+br7cNem+V59hMjNCA48ONrvc5So48+RbCzc4+pDFpfk1RNGCn0Lv7o6qwRscSunAnro6wlPEbnsrzMCwEfNmQaHQMQqnvQyPVuIWP1tSAosS/5hZMVIXrnH3hiS8jQc0VkLqyEpPg67r2KJcIn61/5LHutiC+owA99jPof379jV1ROB7JhwvdLs3/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-SenderADCheck;
 bh=DcLHc1LRBfARLQL7Na50Jy6YNFFLfZ5cK1Nuc1t6p4w=;
 b=TyBmxhFjwtPai7cFe7ksWKXfsGf7rnEwJgYDN97Fzpg+90RAf7ZZ+3Tk/Tkgpl5Zz+hr7eoMm2ZsPnkYcWAex5jKForyJznLntuJx67iBNs+XC1LTHqOBbZYXK67+oe5AfhxuAhq0v2Z/+pJWoi4w+6JCOcKydvLKjZeWf9f6wazqO6q8uqP/1/GKSzEYxYCxONnVLulhtDzqXhX7gZcRW9jBvElIzGAFAqjHkz5PKmtQy56Jy92aVR3veRW4er2LsmaFxT+kVhI2SS7Iw+Z9BzujOsS+Q66zNfI2BbOtJQ4dOT/NpGsAxKlmc7yX4FdBDpTMrGTILuoyizqu9imnw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v2 1/4] public: Add page related definitions for accessing
 guests memory
To: Costin Lupu <costin.lupu@cs.pub.ro>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1629395092.git.costin.lupu@cs.pub.ro>
 <1d9338102d2013addfabc0cf9275ef156fd5080f.1629395092.git.costin.lupu@cs.pub.ro>
 <69747133-3d42-4179-2606-12b1d1a9c8a6@suse.com>
 <c942c080-183a-ddb2-f523-dd3354f5b4a0@cs.pub.ro>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <2c9e3712-0929-d6bf-8a32-3904f7137212@suse.com>
Date: Fri, 20 Aug 2021 11:06:41 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <c942c080-183a-ddb2-f523-dd3354f5b4a0@cs.pub.ro>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM0PR03CA0084.eurprd03.prod.outlook.com
 (2603:10a6:208:69::25) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 73d58273-9ad5-455e-3421-08d963b9d648
X-MS-TrafficTypeDiagnostic: VI1PR04MB6863:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB6863B684AED393748D5A18CAB3C19@VI1PR04MB6863.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:5236;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ukm5MMwonn1QjjBK7x1g5HD6eAghOmihNhP1jAQfrhAPL5ChdHzf+PV5c51Bw24vJYXPvRFhLbOGe8epZOcJIaXcfJw1CVP1p8sH/PcjaMQoRKTXJ/8KO8pJV6/aoRUxyQ4zWtAee+JzfuybGf6fbG2HiHFU3pg5Hr/M56BIpqlBa2NMbxt8l5oOhLfg9G38NSjokLb86xCypzCM2K5vxuY+BQKTDuFJcH5ucFegicXeQaFAS0bJcFcWy0IiIf2kCPvfMF93RR71S2nxj6WEt7i4ZMhuZfppeKG9VkAs/bY4SPn4xQj0+hHDwsIjcCbf7wGU1+87j5od6+SeRKMs8nmrN0bT8oPskv9C7nqxO6R7Nkio6Q/hCdWR319KZudOo4VmcaIRE5l4huZSrtgKxhf+Z5/e79lfrhT2KMoroDrgk5rqGV5Yap1pvDkR54F16eWF7IXly7FbJV1F3kKllT2cnM1qEZXIwCWxLQnlhigV/llCskcU4Xf9A6BAGQi9SItVkA5EE8Cc9aPyZsPKBB1lEqG1Piz1vEWTTT1JrOLoA8NLgKWDf3fBor20OApj57ZkslsJf22cGDYLfllULOIoOdQ1057iCMY3rwRHsgWfI2Vj/u2uC85LdoWuDq74/7an/94xOqaxXp0CylyNd3IKH34QZImzBAcwUZqDphqHg89Dq02xPXV9hVqUZN9n+4bzdyJB+/Lri4itwO9IiWuPXKdDUszhGIdu3iDYfyo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(39860400002)(366004)(136003)(346002)(376002)(396003)(26005)(186003)(36756003)(53546011)(66556008)(6666004)(2906002)(6486002)(4326008)(478600001)(16576012)(54906003)(31686004)(316002)(86362001)(38100700002)(956004)(6916009)(5660300002)(31696002)(8676002)(66476007)(83380400001)(2616005)(66946007)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SHl4U2V2SmV2eG15cG13TkFrZk1Pd2tFS1JKMUJ0WmtINXROSkpDdGF4bldY?=
 =?utf-8?B?eHNCZ1c0YnN6UlZuSzJaTmxXYURyS29pcFpUTHlUWnFpQ1BEYjU5dmk2YXZQ?=
 =?utf-8?B?NGF0b2ExVE8xdnVwaXAreklvZUJ5U2dKWHJaekRQZFlsZnh6MHd6ekhBbUo3?=
 =?utf-8?B?NHRNR2I2dUYrV2xmY0dha0pUWnpqMmlyQzFTeVV1b2dwV0NRenJreWRSOWJW?=
 =?utf-8?B?U1Q2MGpXeEZSaVdWL1lGSlNtcVNJeVZDTzU4Z1MwRHNjS3dMRUFkdG5Nem9n?=
 =?utf-8?B?MjlNdzkzMnJ1ZmUxYWRsWm8xTVFuendIZHhkM2RLWnUxbmQrb1ZuMWlQM3Z3?=
 =?utf-8?B?ZGYrVmNGZWp5UVZqYXNjTmxiQ05ZOHJIbXNqNm40bjNyV0RmbEdnK2EwNTRo?=
 =?utf-8?B?TnFHY05BTVhtWitYbm80ZURqdjF2TGwwY1kzNjlJRUZXTFVMdFRtdk8rRFoz?=
 =?utf-8?B?MWFLOUh0RHE4MmNYa1BVdW1oT1BZSmR5MlZLS2hoZTlzOG1MN0tKQnduTEVT?=
 =?utf-8?B?RU1lLzAzSUZCUG5WK0ZmbE1DQ0lrZDdIcEViMzZvSy9mS0t3V1QxMGRVV1pr?=
 =?utf-8?B?NGJnblNHblBlSWNMemtUMnVVZndoZUl4OWZZU0pSM2tVVG5yWStxYnFkSlBt?=
 =?utf-8?B?RC96S1dIdXI4V2tOR21QMHJCa3ljUU0vbWtuMzlsMzIzWEVuRWFuNmVpdXor?=
 =?utf-8?B?Wkd2TVk5ckF6b1lNV2cyNm5BWmhVcUs2Y1kxT3g2bUJPQTRNbCtGQnFlZkp3?=
 =?utf-8?B?UkVOVDliVld3RlNqMTdiYkZleHhSOFlHLzIxWDFaZThMTVNYZkoyZHVCS0xQ?=
 =?utf-8?B?R1N3Q2g2YnVJcXpabzFWSTcvZk5WMTdxRHJYZzhFZGpKTDNEcStSL1VnSW0x?=
 =?utf-8?B?bksxQm1reWhLbWVIMXYxK1pVeG9DMUNneldVbzJacWZqbDQ1cTVBZXBwUEdY?=
 =?utf-8?B?ZUV5dWo0bCs3dlRGV29wQldpL2V0Uis5anN2cEJHOTBhS1VpOFlzRFpOWSt4?=
 =?utf-8?B?cVZkbDVFbThWbEpTL1ByK1d5SFJuV2pVeXBvc3hxTC8xUWlTSXZMeFl1ckpR?=
 =?utf-8?B?TFJXb0JoZ1QyREFVckQraG9LVlYxUW5zNkl1N0wwSGVrbExwbGM0Q2ZjM3lT?=
 =?utf-8?B?UG9kdU9ON1FwUWptSDAzejBJclJYbThvMXNSNWQxMlY3aXZHdHQ1eElRT3BD?=
 =?utf-8?B?QW5udWNoVFRMM09oTWZHb0xtcW1ucFp0NFJFZFdXb1BqRVZEa0NSekd2SVBq?=
 =?utf-8?B?VjZ2MEVNOUlYL09lVDlMdEdpaU5teEZKSkVSRmZyYTB0REVpNFB5d3FXZlFn?=
 =?utf-8?B?OHUwUlhMOGprYUtVUTJlckpHTWdCWWFjMTJjLzh2L2JpSmRXbG5KT2dzSlR1?=
 =?utf-8?B?a1FkbDZIZ1I1RUc0eVNSM2lpcVlWdnBUTzhmdGVTZEt1UjgxZUNFRzlXSW1h?=
 =?utf-8?B?cXlBVkk4eU5kdW1id1AwTWxtZVQ2TjVjRnNPMWRNREtOcWQ5UVZqa0trVmZF?=
 =?utf-8?B?Z0JVaks5Q3R4SUVjb3FLT0dPYlpqOWlWVzdia0l0RFp5bi9IbDYxZVBrVERa?=
 =?utf-8?B?K2Z6Z2RuMG9kWW9MQnRRN2Z3V3RTOU9WdnY1clo3OHN0VFFvdnZKTWJZWXhj?=
 =?utf-8?B?TnBSQThJSlY3MThYK05zazRMdTYwVG9ON1dhVW1hNXV4VVd3Y1VyZ29SbGZa?=
 =?utf-8?B?WXFMd0xScWVETmt0dndiWWsvUGpXZ29HbUN5Z0paeDFvWlNVYW5OSVBHdURx?=
 =?utf-8?Q?hhAapAuRWC1y+HSc9xGBvsTKZgQdzmRNCGc+RD2?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 73d58273-9ad5-455e-3421-08d963b9d648
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 09:06:46.5970
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZhIOm4d0scLJCxmmIhDqC64aLpz6gJH3HrQDB6MiTdk7QUSke57STNygMX3NZHSnic7Q+XP8sZVYsPhlaJrZKg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6863

On 20.08.2021 09:44, Costin Lupu wrote:
> On 8/20/21 9:52 AM, Jan Beulich wrote:
>> On 19.08.2021 19:50, Costin Lupu wrote:
>>> These changes introduce the page related definitions needed for mapping and
>>> accessing guests memory. These values are intended to be used by any toolstack
>>> component that needs to map guests memory. Until now, the values were defined
>>> by the xenctrl.h header, therefore whenever a component had to use them it also
>>> had to add a dependency for the xenctrl library.
>>>
>>> This patch also introduces xen_mk_long() macrodefinition for defining long
>>> constants both for C and assembler code.
>>
>> I'm still missing justification for the addition of a new header, especially
>> as I don't see that header to gain much more contents down the road.
>>
> 
> For the first version, since it didn't need to include other headers, I
> thought it would make sense to isolate the definitions in their own
> headers. Now maybe it makes more sense to put the definitions in
> arch-x86/xen.h, arch-arm.h and xen.h (the latter two) respectively. What
> do you think? I'm open to suggestions here.

Well, yes, the headers you name are where I thought these new #define-s
would go.

Jan



From xen-devel-bounces@lists.xenproject.org Fri Aug 20 09:08:06 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 09:08:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169342.309317 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH0VS-0002M5-3k; Fri, 20 Aug 2021 09:08:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169342.309317; Fri, 20 Aug 2021 09:08: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 1mH0VS-0002Ly-0o; Fri, 20 Aug 2021 09:08:06 +0000
Received: by outflank-mailman (input) for mailman id 169342;
 Fri, 20 Aug 2021 09:08: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 1mH0VR-0002Lo-Bg
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 09:08: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 1mH0VO-0006Gc-Is; Fri, 20 Aug 2021 09:08:02 +0000
Received: from [54.239.6.184] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mH0VO-0005TA-C8; Fri, 20 Aug 2021 09:08: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:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=z0iw15Og9n7XcRJquqxl1KPORQdT7JCtTHcvrbbge7Y=; b=p65TDD07uDbgeLQkiSWtkefg9G
	cq1BqRa6lGbkxK9hbTI5pBE05NUefbTxvEZ1TU0DSP2Iddmz7EXllqT5LBoR4LKjp9At6h+wLxXRr
	uY/c3QyZ7fGbL23pUa7Jq8DDHJpEoFk+uiJ1VfMXmXl/OdnTvy9o9+OI/zRlsOozzexw=;
Subject: Re: [PATCH v2 1/4] public: Add page related definitions for accessing
 guests memory
To: Costin Lupu <costin.lupu@cs.pub.ro>, Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1629395092.git.costin.lupu@cs.pub.ro>
 <1d9338102d2013addfabc0cf9275ef156fd5080f.1629395092.git.costin.lupu@cs.pub.ro>
 <69747133-3d42-4179-2606-12b1d1a9c8a6@suse.com>
 <c942c080-183a-ddb2-f523-dd3354f5b4a0@cs.pub.ro>
From: Julien Grall <julien@xen.org>
Message-ID: <a2d0be78-f53e-a100-838a-5af2a8ef1459@xen.org>
Date: Fri, 20 Aug 2021 10:08:00 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <c942c080-183a-ddb2-f523-dd3354f5b4a0@cs.pub.ro>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi,

Replying to a single e-mail for simplicity.

On 20/08/2021 08:44, Costin Lupu wrote:
> On 8/20/21 9:52 AM, Jan Beulich wrote:
>>> --- /dev/null
>>> +++ b/xen/include/public/page.h
>>> @@ -0,0 +1,36 @@
>>> +/******************************************************************************
>>> + * page.h
>>> + *
>>> + * Page definitions for accessing guests memory
>>> + *
>>> + * Permission is hereby granted, free of charge, to any person obtaining a copy
>>> + * of this software and associated documentation files (the "Software"), to
>>> + * deal in the Software without restriction, including without limitation the
>>> + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
>>> + * sell copies of the Software, and to permit persons to whom the Software is
>>> + * furnished to do so, subject to the following conditions:
>>> + *
>>> + * The above copyright notice and this permission notice shall be included in
>>> + * all copies or substantial portions of the Software.
>>> + *
>>> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
>>> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
>>> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
>>> + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
>>> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
>>> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
>>> + * DEALINGS IN THE SOFTWARE.
>>> + *
>>> + * Copyright (c) 2021, Costin Lupu
>>> + */
>>> +
>>> +#ifndef __XEN_PUBLIC_PAGE_H__
>>> +#define __XEN_PUBLIC_PAGE_H__
>>> +
>>> +#include "xen.h"
>>> +
>>> +#define XEN_PAGE_SHIFT           12
>>> +#define XEN_PAGE_SIZE            (xen_mk_long(1) << XEN_PAGE_SHIFT)

This will use UL whereas on Arm a page frame should always be 64-bit 
regardless the bitness. Shouldn't this be converted to use xen_ulong_t 
instead?

>>> +#define XEN_PAGE_MASK            (~(XEN_PAGE_SIZE - 1))
>>
>> You went too far here, I'm afraid: In reply to v1 I did say "The latter
>> two, being identical ..." - XEN_PAGE_SHIFT ought to continue to be a
>> per-arch constant, even if right now it is the same for Arm and x86.
>>
> 
> Alright, now I got it.
> 
>> Thinking of which - with exposing this as a stable ABI (not just the
>> abstraction, but the specific values and the fact that they're
>> invariable become part of the stable ABI this way), what is the plan
>> for supporting 64k(?) page size on Arm in the future? At that point
>> you _cannot_ simply remove or replace the #define you add here. As
>> the immediate need is by the tool stack, enclosing in

I would like to get support for 64KB and 16KB pages in Xen (we already 
support in guests). But there is not much we can do with the current ABI 
as guests assume this is 4KB (that would break if Xen was using 64KB).

>>
>> #if defined(__XEN__) || defined(__XEN_TOOLS__)
>>
>> might be an option, with the downside of having stable libraries
>> (foreignmemory and gnttab) depend on an unstable hypervisor interface
>> (again). I can't seem to be able to think of anything better ...
I am not sure why you write (again) here. The two libraries always 
assumed the hypervisor was using 4KB page granularity. But until 
recently it was also assuming that the OS page granularity matched.

Our stable ABI has not been designed with multiple page granularity in 
mind. We could introduce a hypercall to query the page size used by the 
ABI. But then, I don't think we have the full picture of how this is 
going to pan out (I haven't try to use another page size on Xen yet).

I think we have three choices here:
   1) Stick with the existing definition in the tools
   2) Move the definition in the public headers and only expose them to 
the tools.
   3) Query the page size via a new hypervisor

As I wrote above, 3) is going to take some time to get it right. So the 
question here is whether 2) is temporarily better than 1).

I think it is because it at least clarify a long standing question on 
what is the granularity of page in the ABI.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 09:13:46 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 09:13:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169347.309327 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH0as-0003zU-Oz; Fri, 20 Aug 2021 09:13:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169347.309327; Fri, 20 Aug 2021 09:13:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH0as-0003zN-M5; Fri, 20 Aug 2021 09:13:42 +0000
Received: by outflank-mailman (input) for mailman id 169347;
 Fri, 20 Aug 2021 09:13:41 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EFwF=NL=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mH0ar-0003zH-44
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 09:13:41 +0000
Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id e81fbc24-0196-11ec-a692-12813bfff9fa;
 Fri, 20 Aug 2021 09:13: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: e81fbc24-0196-11ec-a692-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629450819;
  h=subject:to:cc:references:from:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=6ZduSl7WPfFrHM1VfSFFaEa9OsElRosG9c5PZHElAlo=;
  b=FSSLg74WF7Nsb81TPuNMD27tMZibqtVSnxzpdnT7tZRjdOmevxsUibNH
   SXHhWT9wSeFLGQOw9Y9/UNpuwBpgGMit7mOaK+8jCxqxwMm1JaaNjnKKf
   MjvO8+HaV+5TH2JmPyC2T18BovUigwXrd4RxZWqhj+Px/V6hbVsHxJLXB
   U=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: k3Nd3+xIyO4TZir7rt0UEMqr+va4gHX1V/6soL9n3yclZfIwlhzHfm6TjbBdQ4cv6I58NwctDc
 j9xTO3fClFyIZqRwo6l+bS+dcRHEsUZ3e2eMZBrBO9qQvGpj/BA60QfJ3zBT7tgDrHzc+0UiW7
 qwUAAxvrFs0dKauYndclXNvv+V+mDt1JSe8KMtt2FHKmNVdYsXTlZIVrhiYGOqzSAddzMuAIVB
 1uGWJP8PbdxEfdQekDM5b6Uugli2X/IYg5HkJCtDvdXlsYuubIzEW6RhjeyfIKya9g8xoW2zI0
 zXgp4fgZutlt08JJmrdAecr/
X-SBRS: 5.1
X-MesageID: 50893041
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:Kqu/bqzf7xgylZOnj190KrPwIr1zdoMgy1knxilNoH1uHvBw8v
 rEoB1173DJYVoqNk3I++rhBEDwexLhHPdOiOF6UItKNzOW21dAQrsSiLfK8nnNHDD/6/4Y9Y
 oISdkbNDQoNykZsfrH
X-IronPort-AV: E=Sophos;i="5.84,337,1620705600"; 
   d="scan'208";a="50893041"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WDixxePfLFQKkV8pLYlgcQhW96p8oOLkr3HpZVYcusg3dLrTsuratTg2rWQow9FDY3Q0vHF7DjiNuAjAkN2xeumlbNnl0yTuYEd3nONS64AvG0WPKtxW3MX4T3TLr8YMzBnOvW1puwSfx5iwcmFin/k0VX7DzoWc/gsInZzBAoPz+YKQbs9XaDOdhaBUxuYxqPTELNiY2MLix8ySR8U64uFTsoYmgShhhSCDpe6XhMIV71hsOTMabdvP+DToqOOIsoKYwCbWuEC2h2zpp3onparoLA8G3f1T55BpqNjA9JtpldfYYbV3EX4X9KzvWbTbnvED2Ul9v0MIXBiHlIdtuA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Tym9z1Vq0nvOKwiPamxTmho0cNMuab8J76H/8UwHZr8=;
 b=fgXhPtU25PJ1nPvlWrAnMyHqx4gO/kuZGngm8llZE1aiSSVkayCpr7E1ohag+BXTst2MlLGiOi0qkfnOLqbFaQX5Xtf24K/5TCABFS2RNFy2P3nVbPP4rERSzYXJXG2UsYRepach+E+6Wk6AjeJSieJyeBYwQ5G5ol3UA/5QEL6IyT5Er/EgcEP0ymZi1aa8CKJjoF3LTls3MbjEH55lpIoLQnCBGobQPyV0E08arG4SPElU2t9nmqEs+jO8FnVCUzgNppeUXp4wJss63g39GRbT/nxx2/6RYN2p7pCCOOs5z3eHbUJb6kGnF6xUJeJmCEac+x/6lhpjuCO3TORpmA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Tym9z1Vq0nvOKwiPamxTmho0cNMuab8J76H/8UwHZr8=;
 b=Keh/1TREjTQvcTx0qtNVAut89nhKtsQ3Mopn2XmFkbkKPQzm+1GdB+yCTP8Ox1sVQ93O9Bz8Cd6tekg0uybpGgI7xYmMWsa1H4+pFNqY6DgZVzxvf06PldKW56HS7T0a2zLFsVwm7sDGB6x5vTGUNqSame150dfzrHaqil3cNB4=
Subject: Re: [PATCH] x86/PV: account for 32-bit Dom0 in
 mark_pv_pt_pages_rdonly()'s ASSERT()s
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: <14ed9a42-981b-da81-9a30-6ff9b3896bfb@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Message-ID: <4f0b9a70-e58c-7005-6eeb-82b9cd295a72@citrix.com>
Date: Fri, 20 Aug 2021 10:13:30 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <14ed9a42-981b-da81-9a30-6ff9b3896bfb@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Content-Language: en-GB
X-ClientProxiedBy: LO2P265CA0457.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:a2::13) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 28eb05b0-8def-4f1a-f298-08d963baca70
X-MS-TrafficTypeDiagnostic: SJ0PR03MB5727:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <SJ0PR03MB5727855C2D6D31416E575E8BBAC19@SJ0PR03MB5727.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:2582;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 0cGa69fGoWadegEQ2L0Ql2lPt1GkjGdK45Xv6Wdxq/6VzEMgTgUMq6U/9LQJBPt4xJ/3P2mfXxB3Q4RH9vQiEycB3yYrPnuzZDRg9BiPKUDqEzyKpjttKYuaztb58g5TIh4AkuANPPkeB3EL1P/MBRijfsXo2pSHrN1kPe0eAsjFWi0177xX0S/j9kYgdeBbt4pasi7tcyaeIlGexm5g7dIdIS+Br10MpF2l1TWYpicYw6oL/B1OBjavIR/SyA88fHdFmaP9q025aklCCJaBDu2cKXTPGZTmQiX79cYuHW6rUpDMAgMlDUKbVjsBHldSP/sDW/7lm1q3m24pVbOUiaAzBSLyj5Nbe0grKo49HOZCV1tSBeb7sMri5LqpD8Go6EwLMPuZir6BwGoD6mR0EzHpANBqnHFwljJVwV2wKWSWWHcVb8VkcbqB8sesMgkrqI87PX0nwrqK8Lmq/U7keM9ibwvIlADGY5pRzTrOlDSMYt+go9qMUFOjxqPqPSpTViFViJ4cC6TprC3TCvQ5xvou8lW4eOWpARsOsA+rSib9he4LZbVdZqpF/fxV/2NRyOVieLlfaFwNfkhobPtNiwjMQLF2zB+eDvZMQAFqb9QpG4DiX6hVmdTIvOsdbRNTg/vl90q93WuuvcaUHv1tEhaze2f/KUlAeMVcnCbr5fALtzJycizn9avGsUwZ/tTDQvgt/HeGLulsM+ncQmz/tcQ2cY7S29ZemeR8u6qnyxY=
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:(4636009)(366004)(316002)(4744005)(53546011)(54906003)(8676002)(16576012)(86362001)(6666004)(31696002)(26005)(36756003)(110136005)(38100700002)(508600001)(6486002)(186003)(5660300002)(4326008)(66556008)(66476007)(107886003)(2616005)(956004)(66946007)(8936002)(55236004)(2906002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TmJibUhuOHkwSFo0VkUwN2E2WTJoTHBSOTh4QkE3VXdLWVQrT2J1S0VKckVC?=
 =?utf-8?B?SXRyVlJ0MFFqT0JCUkNYdGhIMjdmYmExcnF5SzdUWHhyNHJhdG9ETmg0ZVZK?=
 =?utf-8?B?eUlkQ0s1SzJJWjhibHVBSUdGWjN6YjNTdUxnWThLVmNLYkdPNjNiQ2xkR1pS?=
 =?utf-8?B?S0w4dXI1YWIvZkN1UWFaUFNYekZqejVjSGJSZjBKNEt6MG93Tm5TTHJ1WmFO?=
 =?utf-8?B?ZzVYYVRtNGZzRzRuUjFicE03M1BDdXNGd1hlcVM2cmc3WGxvdzMwVTJSMnpn?=
 =?utf-8?B?ZmFLS3lDRHBvNUlnSld4MW5QMWVLdVZ5aWhKTjlVZGRpclRmK3N4azg2WjBV?=
 =?utf-8?B?RDluMEFuQndKcXRtYUlxSi9DcXh6ejh2azZORmdQQkhmN2NXTnlTS0ptYk4v?=
 =?utf-8?B?M0p4bS9BWCtXenlVUG5pZno5QVZDN2hvdE53dFBRRlo0Y1dHL3JjZUQ2a214?=
 =?utf-8?B?ZW9uSVozZDJlUFBtWlRsdEFrcFJYcXpVb1NsdkdnTmU3WWt6R285b0RmQXA4?=
 =?utf-8?B?S21nTk51NkhnSmF5cmI4UnNsRUU1UlM2bXlYQktaTGFsand1dXk2dW9aV0U3?=
 =?utf-8?B?SlFwSGpFTGdFSUVYYUlSL3A3TnVuSG9NV2cwSHRUK1BzMWV1dDhzY3l6NFRq?=
 =?utf-8?B?L0ZIZUJXdlozT0Q5UWM5NUtiYXBNVFV2SFdzc2RqK1huM2IzV3padHd1RUZH?=
 =?utf-8?B?Mk9FMkRjcncwVHFOMVoxc2hwOTQyNzZ5UmIyS2ZLK2owNG9zaXpEM0R2aTl2?=
 =?utf-8?B?RjBFck83VGEvUnQ4NjQxY2NHZjZ1bUdIaEduODhEdjN1bytNNTdEeVBoYUt2?=
 =?utf-8?B?QXVDUDZHR0lkYkkzSm93VEdhRVdoRGNtdEVLVUxjeWZQRjdnWkMxOXhtMUk1?=
 =?utf-8?B?S2VMdUI3dUIyUmJsNFNpL1lRTDE4QzNRdWtSeXUxSE5weEtyMFc4WEo0ZFha?=
 =?utf-8?B?YW5kZ1ZoNUc2TnVScm12K1N1ZHRFMGl5WFdQNGJpcWRrSmhtajNyOUxNNHcv?=
 =?utf-8?B?QStQRzFZbXpGaFAveE5wcmlqcHVFUW9iTUFpdnVCZFlvVnpwcDBaVGZyTVBV?=
 =?utf-8?B?VjV5czc1MzMrM1h1QzJnaHp1SDFQWDJQb1pqeFVsZEN2c3ZNZmpPTlJlMjN4?=
 =?utf-8?B?bThSRE8vU1dqVXFQSzlBclFNUWpuL0U0WGhiWHNQcjZRbzFOQmtPRmJmU1Iw?=
 =?utf-8?B?ZG92NWNOVUhIcktrQlZ0czE4NnBqQkw5OGwvVVlpNjhVRndHbDlLRStla0hQ?=
 =?utf-8?B?Tkg0SUpMMHcvaTRaV2w4WFc5MHZnQTFaUVRyMkl4TmJnM0hveDRid0wwTVND?=
 =?utf-8?B?TVM0bWtDY0lWcjQ5TFRHVGVwMmxnb25YSTRwaXpxZE1oTFdESDJEN2ozMUlH?=
 =?utf-8?B?MWcrVFJacWRpdG03TElTY0xQcWRNQkdldmxTRDcxcHBPb0R6YmNXTlFFbEJK?=
 =?utf-8?B?SkdMSUZTMjE5Uml5K3dMbVY5ZG5hU1FEQnN3b3pGNk16ZUZKZkk1eG5uSmpD?=
 =?utf-8?B?ZUJ5RGozUUFkUTZiSHdGeHE2V0RQRzdhZXU3T3RmWEJycktIVXBydkhwWjE5?=
 =?utf-8?B?cjd5RDNTemdReVg2ZVVsRmpRWlZvNk02Z1haWnRvKzg1eEplU3NHSXVmSTll?=
 =?utf-8?B?YzR1azlkem9jdEJURWZnVzJBK21icmtiOTAvb0lYbjRLNExmR2llRGJvZWtv?=
 =?utf-8?B?MjRnbHpINnczZ2ZjenZmNndkY2oyTFVvODJFQnJVZjhVWUlwT1BkQlpjZnl3?=
 =?utf-8?Q?2k+bRKg4lJeXxBY3iLZX1Nj9dbyPpVWallCD1eO?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 28eb05b0-8def-4f1a-f298-08d963baca70
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 09:13:36.2961
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: toVJ78VVX3sJT3aEWNpf6GzaZ/gOjADl9ZvYqzyJFQD5nYKV1LCW7birqT5mdMRx1piZONh7ENicUyUMKXYea51P44aVSQ6jCdwhbqIxq9c=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5727
X-OriginatorOrg: citrix.com

On 20/08/2021 07:22, Jan Beulich wrote:
> Clearly I neglected the special needs here, and also failed to test the
> change with a debug build of Xen.
>
> Fixes: 6b1ca51b1a91 ("x86/PV: assert page state in mark_pv_pt_pages_rdonly()")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>
> --- a/xen/arch/x86/pv/dom0_build.c
> +++ b/xen/arch/x86/pv/dom0_build.c
> @@ -67,7 +67,7 @@ static __init void mark_pv_pt_pages_rdon
>           */

^ this comment needs adjusting too.

Presumably this is because PGT_pae_xen_l2 is logically part of the type?

~Andrew

>          ASSERT((page->u.inuse.type_info & PGT_type_mask) >= PGT_l1_page_table);
>          ASSERT((page->u.inuse.type_info & PGT_type_mask) <= PGT_root_page_table);
> -        ASSERT(!(page->u.inuse.type_info & ~PGT_type_mask));
> +        ASSERT(!(page->u.inuse.type_info & ~(PGT_type_mask | PGT_pae_xen_l2)));
>  
>          /* Read-only mapping + PGC_allocated + page-table page. */
>          page->count_info         = PGC_allocated | 3;
>



From xen-devel-bounces@lists.xenproject.org Fri Aug 20 09:27:04 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 09:27:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169353.309339 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH0nb-0005jo-1z; Fri, 20 Aug 2021 09:26:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169353.309339; Fri, 20 Aug 2021 09:26: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 1mH0na-0005jh-Uk; Fri, 20 Aug 2021 09:26:50 +0000
Received: by outflank-mailman (input) for mailman id 169353;
 Fri, 20 Aug 2021 09:26:49 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=nWHd=NL=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mH0nZ-0005jZ-3p
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 09:26:49 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id bdc59ba4-0198-11ec-a694-12813bfff9fa;
 Fri, 20 Aug 2021 09:26:48 +0000 (UTC)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2055.outbound.protection.outlook.com [104.47.13.55]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-38-5qUVp9DyON-GkyIN8_5Igw-1; Fri, 20 Aug 2021 11:26:45 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB6861.eurprd04.prod.outlook.com (2603:10a6:803:13c::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 20 Aug
 2021 09:26:43 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4436.021; Fri, 20 Aug 2021
 09:26:43 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0215.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1f::35) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Fri, 20 Aug 2021 09:26: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: bdc59ba4-0198-11ec-a694-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629451607;
	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=c6Ngl6G/H+bbBF5/kB7yd9zOphGopfeeluoVFAbzolA=;
	b=gQ31BYKzpb7Knb1VF6xR6/U3b+2peaLiHXtubonVWCuv37yhBUPL66dyux+vJxjnJwznZ/
	ecXHoZsPMhfcyixCEPC6jEu4WOaD38hSyJhDrnHBYO1MFRpluHreQ1KiS4UcTbKPTZZ4T3
	6pU4YLWpTewhY7mJcnu7Xm32Ygx9Vlw=
X-MC-Unique: 5qUVp9DyON-GkyIN8_5Igw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jysJT6ndrnGPPeZXLm8lV951JInUP5wStMHINbw/9gMokmWwO76hXaGx4n9a8ktvtTlkP+7v7gl16IVAcCrAHHqghsC5NPkcSIMlZxBoX9cTiV8tBopvUAn1+jsPKnabrh2Cu0PUAOIbqlyvD6WvqNF3N/EU4tGbVjrrqwtCP91xDqvkTseb1RD/VpDqWHvhhwj5hKDJ7t6a1onu92XMev+enXOqNuHmj1c6emydmVFxQbLevjfxxoJ1d5NnBvnOrH17rhHX5d/SBj3ovdqYe+bV3nS+7Yk9KMjyUH7UJ5UpQBksPzVDpZgtkoyFfmiWX1m6U87koFr+qalnFBFWSw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=c6Ngl6G/H+bbBF5/kB7yd9zOphGopfeeluoVFAbzolA=;
 b=dC4t8vZzVjm9Z3KbGBMUKaprFMszTiOcLHYOTZub3lBxFtdyFlIrd8Q8cjexrF38iAgKDNk+pQ1KObiIWYCLddsGMiZ3AxpQbCsoNu8UGMl6BDEqDsQ8V7/ojzaslTlc+XY7kUtYlykrID2rHvvX5x8vKP4HmgXeZCE+1QTKUyI6EFxSakoXsZJyJFQpfjjCn1dYXAhLsMhaAYKpm7ot38e3UDxquiDRGUMEsk+1VqpSO6X2xLsWo+LTMTYUw/7HK79xofJdk9Oahr3TpmqfSpzCGExx/9hRa3x35totHcTWl4wTdXR+opQEZkTSjtEjln2rxDwW0sqZvb36oAFkNQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: cs.pub.ro; dkim=none (message not signed)
 header.d=none;cs.pub.ro; dmarc=none action=none header.from=suse.com;
Subject: Re: [PATCH v2 1/4] public: Add page related definitions for accessing
 guests memory
To: Julien Grall <julien@xen.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org, Costin Lupu <costin.lupu@cs.pub.ro>
References: <cover.1629395092.git.costin.lupu@cs.pub.ro>
 <1d9338102d2013addfabc0cf9275ef156fd5080f.1629395092.git.costin.lupu@cs.pub.ro>
 <69747133-3d42-4179-2606-12b1d1a9c8a6@suse.com>
 <c942c080-183a-ddb2-f523-dd3354f5b4a0@cs.pub.ro>
 <a2d0be78-f53e-a100-838a-5af2a8ef1459@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <8ed65d58-2547-d4cf-0db7-74a2ab114a71@suse.com>
Date: Fri, 20 Aug 2021 11:26:40 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <a2d0be78-f53e-a100-838a-5af2a8ef1459@xen.org>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0215.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1f::35) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 24d4dc4b-28f6-4a1a-bb2d-08d963bc9fca
X-MS-TrafficTypeDiagnostic: VI1PR04MB6861:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB68610E2CE9F989B079CDA851B3C19@VI1PR04MB6861.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	x8NB+r8V2ShNbBZV4e4bbLCZtvMC6/WOiIaNbp9cfVzKfOw5hGLreb44Y+MIKA4l/qNGWG+/f1HjIBdD/5lYbqZWN946VqGc6yj7q6Sbt8IpSoA5TnixENTyg8bHAYR+DZurjzH1tQbAIBJq6gPQheSXY83qr5yANQoV0AiVOCLY2R2ThBj49hX8IguH3oxR0+3RMtGZewn9xHkfkKLTslCTdb749alrT/cLh0O1nKosdc4kI4D6nyntUsXzI9PTCfv+Jo4eROPmUHuA9+8T+ECZX1zz7aqyv9uY8zBT63Bx64RASlSKc3D2NLA9uvqM43mzp+iEvmX+sjFuuc/cg1F6yeIeAAQOdxsZ0b5VeITwS8C6bR1Qk5pM2D5bYSMBQayLCcRy8PtpezlFlaXEFiKBv8EVj4+DwXvJo/USVh72LcgN+7eM4s1rdqe2onpLk46P/ESZ+gh3X1VoQLfTHAv0X7UONn9AFLq276sh+BHuG7VZXQQtmDqsQva03HuQF5q/hZ7ecQ1lkdxtrTMfMSW25rVcLqA74JeUvmDd3lOXjKJj5BR4rtWBPCwbUz8RilVEoAU7YE9ykfEGEqDv0MnpZn+jXtPMs7kpV9Xrtss9ELGCIeHCyuM+RGLZKFAJkWeZpIjOt2rfqrZuSt5yOG/a3Ad70VZfxTXHUvVofMFu8b5sPZEtcDYQNMvPwcgm+18AexJpAMxne+N91XpSFzh274/ko/nZXYIfQvhTEcU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(396003)(39850400004)(366004)(136003)(346002)(956004)(2616005)(6486002)(38100700002)(8936002)(8676002)(478600001)(6916009)(2906002)(83380400001)(66556008)(66476007)(66946007)(36756003)(53546011)(5660300002)(16576012)(54906003)(31686004)(316002)(86362001)(26005)(4326008)(31696002)(186003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VjN4L0xxN3lYNU5YQzNyczAxS1VzMUczMmxoRUtKWVZRczRscmxCQ29nQ2RG?=
 =?utf-8?B?Zmd6OVo3UTVsRmJISWpHcFpsVFRsd0VoWUVYVVpzVlFMMXk2M3Y0a0FiWitC?=
 =?utf-8?B?ZEVOQ3pYNEljNC82cFNZTXJiRGk0cWxrYW9hWExCaENOcmorMnhoN0x3N1Vx?=
 =?utf-8?B?NzB3bnFYV1g4bGVod2NvTm44b1J4d0N6bjN3ZEh5aXdhODdtakRUV2ZaNHpr?=
 =?utf-8?B?YjUxTGYxdjQvbkt6UWZzaEdBNThVVFo5U01HYjdpd2pTVVNWSmZqNHFML1ZE?=
 =?utf-8?B?OVRwU0xkYWIwaWtIVFZLdUlwRnJ1cGJkcTFYMzJSb3prSzJYNHFNVVVpS3Ru?=
 =?utf-8?B?YWdVVjA0ZkJnSDNBN3JOVjY0NndwWXlBZDhpZmw3Nmw4NDZxVUU3RDRJVmh3?=
 =?utf-8?B?M2NZRFhVbThVQlZ5enVUby9DVVpPWWxuNUw2MTAwY3V2aEdtdG1SU3BERHdI?=
 =?utf-8?B?ZDZ3UkFMYmd1aDlrajlTV1RlVk8rWndKYkluMlN0Y1QxUE85S1RhS1AvOUVL?=
 =?utf-8?B?WnI4dWdBRHQwdEZDb3VlSWNhV1JwaWFmQzNLVW5LTFo1Sk5TSW4wd3pzNUpS?=
 =?utf-8?B?V2xkRFRBcE00Tk0xamdsU1h0aDhMdTdpdnFEZ0E4cUNuelovQVFERkxKcTEw?=
 =?utf-8?B?UU54N0xlZHhlWEdNV3BNNDVkTU0zS3dGdk1NUTJOMXBzSFFsc2Y5UTAyZFpU?=
 =?utf-8?B?TEZtNlliZTRYUzNIU0dIVWFnZUx2d3F4aERsSEdpZXJoODh3QkpQS3pGRlBX?=
 =?utf-8?B?QVo5VzdTTENlK2RObnA0TTZMdU1EdjViMkt0RnVWQzR1eE84Sml3WURPdnZB?=
 =?utf-8?B?UGJNSVBxMjNzV2hYenBJcWZuNVRvbEZITEFSR2VXRC80RERibVVKUzFBV3FC?=
 =?utf-8?B?cktKQmg0aU02Y3NTL3BjdzkyNHJlQUpickU0Y3BrNGN0TEJFYzduaG9qckVS?=
 =?utf-8?B?VlZwRWZ6Zyt5Sytwc29udUxEdkM2WnArR2dTUmx3bG40ZTVyMmtUUkZaUDVY?=
 =?utf-8?B?RjQrNU1aUVZRUUVHSitIc1N0VU5yQzZZcDM5blR5SjYrQnFEQ2JNVURKOS9y?=
 =?utf-8?B?cXVvRDc3WVhuS3IwYzVkMFpSdlQxWHE5Ti9uYlNFeFdNWUFobzgrWjhOVVo3?=
 =?utf-8?B?Q0grcVdEQzcxTlAxL1VELzlJZlJVMlhPWnJoVjJtangxNTF1ck5CTHZqZ2ZT?=
 =?utf-8?B?aWJJajBPTzduMFYzbGlVT2dpcTNkVkNyVnRCalE0SnpCYVVwVFhuWXZ1R3M4?=
 =?utf-8?B?bFdjTGd6NGZSdWhFdnFIck0xMS83aUcxS1A2R2MrbFlBOTJvWHVOcis1STdq?=
 =?utf-8?B?Mm91a0FFemRSeDU1OVZ0L2krSDExakRqN2FWOG9TcXN2WlJwYlFtK2MxSHZE?=
 =?utf-8?B?VjlQQTdpQzB2RkhLaURYejM2bWhnYStvckxyanBRQ2FHZWIwbFUySndmSXJv?=
 =?utf-8?B?M3NEUXpzUU9ubFpjK1k5VG0xR1hCck5CU09XUDhhd21OTmEvdmRZakFXSjlp?=
 =?utf-8?B?SW1odCsrWXdyUnl4SmhnV1h6QzRNYUt2NXUraU9Xd2NpQjlHZVZmUU5vVEV2?=
 =?utf-8?B?QlhYczl0WjE3QWdscUdranQ5YW95dmZVZXNzWnZGMTZDcThWSlJ6Yyt5Z2o0?=
 =?utf-8?B?bHJDb0Nad2VTa0JQTHZiVlZaSllhNko0dzdDM3pwYTFzR2pyWUlidWlIRUFM?=
 =?utf-8?B?cEgzWFVRazM3N3k3cVFFTXdubGVQeEdOZlYyTnpmdlpDNVJmSEMrV0gxTXUz?=
 =?utf-8?Q?61PLq19qzBJD3UpJTCLvAD/5IAtjpJ85V2/qhII?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 24d4dc4b-28f6-4a1a-bb2d-08d963bc9fca
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 09:26:43.6890
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 39HucaIC/r2JQFVnpRiT4XtHZs1JYWSEOqe1ky35redJ27pc64ADFd4i8Du2zSFUCtTuvW7j6UiO0SsMOn3WxA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6861

On 20.08.2021 11:08, Julien Grall wrote:
> On 20/08/2021 08:44, Costin Lupu wrote:
>> On 8/20/21 9:52 AM, Jan Beulich wrote:
>>>> --- /dev/null
>>>> +++ b/xen/include/public/page.h
>>>> @@ -0,0 +1,36 @@
>>>> +/******************************************************************************
>>>> + * page.h
>>>> + *
>>>> + * Page definitions for accessing guests memory
>>>> + *
>>>> + * Permission is hereby granted, free of charge, to any person obtaining a copy
>>>> + * of this software and associated documentation files (the "Software"), to
>>>> + * deal in the Software without restriction, including without limitation the
>>>> + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
>>>> + * sell copies of the Software, and to permit persons to whom the Software is
>>>> + * furnished to do so, subject to the following conditions:
>>>> + *
>>>> + * The above copyright notice and this permission notice shall be included in
>>>> + * all copies or substantial portions of the Software.
>>>> + *
>>>> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
>>>> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
>>>> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
>>>> + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
>>>> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
>>>> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
>>>> + * DEALINGS IN THE SOFTWARE.
>>>> + *
>>>> + * Copyright (c) 2021, Costin Lupu
>>>> + */
>>>> +
>>>> +#ifndef __XEN_PUBLIC_PAGE_H__
>>>> +#define __XEN_PUBLIC_PAGE_H__
>>>> +
>>>> +#include "xen.h"
>>>> +
>>>> +#define XEN_PAGE_SHIFT           12
>>>> +#define XEN_PAGE_SIZE            (xen_mk_long(1) << XEN_PAGE_SHIFT)
> 
> This will use UL whereas on Arm a page frame should always be 64-bit 
> regardless the bitness. Shouldn't this be converted to use xen_ulong_t 
> instead?

As pointed out on v1, XEN_PAGE_SIZE would better not end up as a
value of signed type, for ...

>>>> +#define XEN_PAGE_MASK            (~(XEN_PAGE_SIZE - 1))

... this to suitably sign-extend to wider types is necessary.

Also unless you expect someone to use typeof(XEN_PAGE_SIZE) I'm
afraid I don't see where the constant being long vs xen_long_t
(if such existed) might matter. Otoh perhaps xen_mk_ulong() would
better have produced a xen_ulong_t typed values in the first
place, but I'm afraid we can't alter the existing macro.

>>> Thinking of which - with exposing this as a stable ABI (not just the
>>> abstraction, but the specific values and the fact that they're
>>> invariable become part of the stable ABI this way), what is the plan
>>> for supporting 64k(?) page size on Arm in the future? At that point
>>> you _cannot_ simply remove or replace the #define you add here. As
>>> the immediate need is by the tool stack, enclosing in
> 
> I would like to get support for 64KB and 16KB pages in Xen (we already 
> support in guests). But there is not much we can do with the current ABI 
> as guests assume this is 4KB (that would break if Xen was using 64KB).
> 
>>>
>>> #if defined(__XEN__) || defined(__XEN_TOOLS__)
>>>
>>> might be an option, with the downside of having stable libraries
>>> (foreignmemory and gnttab) depend on an unstable hypervisor interface
>>> (again). I can't seem to be able to think of anything better ...
> I am not sure why you write (again) here. The two libraries always 
> assumed the hypervisor was using 4KB page granularity. But until 
> recently it was also assuming that the OS page granularity matched.

Assuming 4k page size was a plain assumption imo, not reliance on
a stable hypervisor interface. Just like is assuming OS and
hypervisor page sizes would match.

I wrote "(again)" because at least the foreignmemory code was, iirc,
split off of libxc at some point, i.e. used to be unstable and hence
was "fine" to rely on unstable hypervisor interfaces.

> Our stable ABI has not been designed with multiple page granularity in 
> mind. We could introduce a hypercall to query the page size used by the 
> ABI. But then, I don't think we have the full picture of how this is 
> going to pan out (I haven't try to use another page size on Xen yet).
> 
> I think we have three choices here:
>    1) Stick with the existing definition in the tools
>    2) Move the definition in the public headers and only expose them to 
> the tools.
>    3) Query the page size via a new hypervisor
> 
> As I wrote above, 3) is going to take some time to get it right. So the 
> question here is whether 2) is temporarily better than 1).

Because I understand 3) is some way out, and because I think 2) is
better than 1), I wrote "might be an option" for what you call 2).
But I could see people (Andrew for example) to take a different
position and object to such a temporary measure.

Jan



From xen-devel-bounces@lists.xenproject.org Fri Aug 20 09:30:47 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 09:30:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169361.309353 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH0rO-0007Ci-K8; Fri, 20 Aug 2021 09:30:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169361.309353; Fri, 20 Aug 2021 09:30:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH0rO-0007Cb-Gd; Fri, 20 Aug 2021 09:30:46 +0000
Received: by outflank-mailman (input) for mailman id 169361;
 Fri, 20 Aug 2021 09:30:45 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=nWHd=NL=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mH0rM-0007CV-VX
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 09:30:44 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 731868c1-477d-46e2-b6bf-d1ecd19f5e9d;
 Fri, 20 Aug 2021 09:30:44 +0000 (UTC)
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur02lp2050.outbound.protection.outlook.com [104.47.4.50]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-33-8c6onWiyM0yS2nEuYivrdw-1; Fri, 20 Aug 2021 11:30:42 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0401MB2445.eurprd04.prod.outlook.com (2603:10a6:800:55::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 20 Aug
 2021 09:30:40 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4436.021; Fri, 20 Aug 2021
 09:30:40 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR03CA0059.eurprd03.prod.outlook.com (2603:10a6:208::36) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Fri, 20 Aug 2021 09:30:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 731868c1-477d-46e2-b6bf-d1ecd19f5e9d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629451843;
	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=M0MqlltUNFLQp2EdPyFeJvvWk7s/5tILNlHM2F1TJWk=;
	b=gE7/tsOLJDUoMhipHW4biJ9T4T9IIST+3Rx/b90PR2bdQS0r2aQYSbgnxyWT0SUxXPhYy9
	etbNOUge20JZD9zH0ju0NOtSmkqKjJVWZn1TjUSEUfXJmdZ2SdKo82FqELT0mJG1uijRXH
	iJ99H+A9lsOMUrac5TiOmO/OufMJ9l0=
X-MC-Unique: 8c6onWiyM0yS2nEuYivrdw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZyC7QDYBX/SGEwuf+fM6QlzJ11eg7yFyxZkHL3VfPn9LWxV4Xgx8aKbTpBBvE2h1+au2tAXnhekssB3mJmXP4Fmfiy4BGdrC/je5oJkLnBAFI50TddEXT0Ys6TN2VggZf5WvmC+/fYWy2t03FRFjD6qOfUt2f5kGs7QT1NwPBacVxoLgaj6rSbvUc45bvnmSfC55ZbUjMJz37a6oBbYApU2D54ksrinB5je6Tamj0Cb2DlvaEhs//H1VHS85mPtAnxEH7WPQb/oWcCIfizJFt51endKfpUPMN2I5nGXTsdM5nWL7Y9AwAdki1USuPgxJqlaUVEN3CWVWxHYOneovWA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=M0MqlltUNFLQp2EdPyFeJvvWk7s/5tILNlHM2F1TJWk=;
 b=CwlHtJ2yPtV8ObzuayvyJNlx1F/KvoIYIfhrDhpgJzbqU/oRk64EQ0tcusO7RezOtIixw4UxvsvCbhr3ULDTXb/k1fDs6kft7KfrnXuhsMFVfLFoEsGeTKOKd0LUOoVpZAMp8eDYyu46il2eAHQUnRAsJdtU4UiGS3eSZLk1Y3/+OdsecvBVZB4nVIBQxRYmcqnLg+YGPBwpemP8Pp+CyhKnBXaDvjeX1av/1AoyjrRkGJgBICvB6sZrH/SeXxbr0D7kFnBc06Mhdl83X27tOeFew19xyGQtfY/qb9sMHOwfXDjmTVENVrBfcS4egway9fuHuXDy7Yc3dZip58msng==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH] x86/PV: account for 32-bit Dom0 in
 mark_pv_pt_pages_rdonly()'s ASSERT()s
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: <14ed9a42-981b-da81-9a30-6ff9b3896bfb@suse.com>
 <4f0b9a70-e58c-7005-6eeb-82b9cd295a72@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <4c74186b-801a-23e5-2e0b-d627e58dc257@suse.com>
Date: Fri, 20 Aug 2021 11:30:36 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <4f0b9a70-e58c-7005-6eeb-82b9cd295a72@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM0PR03CA0059.eurprd03.prod.outlook.com (2603:10a6:208::36)
 To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 2f61729a-1056-44da-793e-08d963bd2cdf
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2445:
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB2445A517E6F825BE08687A46B3C19@VI1PR0401MB2445.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:5797;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	q1yzR8NBftymCWXDVNEusuwPmrYD+j7XJUjtODnfehrVCwhU2HG6dyHuLHFTKXHugNuaDMpYZyw5SlLZShPo7ftda6eSzSa6NmsLrcyBc0WgZLly/tqMFbTNoo+6zL/P+w0aoRK9USo3C4kxKbdoynzyU7NJVfs+a/aedJxTRwMQ93/g8T/cxsTzPDp1cirET7dG4Sfg26CYMMSyWV/hIcIYHUiB4eRZHwy/5G3q8DiT7dyNTUQpQaW4YY2DVk6E78MMZh10MlxallXF4Z045M4wtD+BeFpxDvR1kmsqZiLJj8A2jnZSjXFKhkwoWuVXVDJc5Hsxep+VMkGqYxpDEWEl8d4wRhtVAAwEniW2n0bCSsycWa/UC/G7F1r6er7LO2h614kM+/2ClUMfY4di2a7tegijvhzXcH5ozpT3nbg/hVnbotI4y0yMIAbI3Ug9TA6M2ROjwxwpLExcHxHLoXuB0wtM8xFK7duMiP8tYkkNDZ/hDYVuRGjeHZDK+/+rO5IxIHGMfOeX6eq1YEdcsVksn54eJu4mAnlxgXmvhfe41K87Ood4bF/oYbizl4I+oCKjGR//GhtFs9npoEM6514IGTmBvo4l39ARiRBkKxbznh70M027emfWJR/NYyQJNcknidrYDznYNLEGz9EKO/wmmEqEDiZ+sfISZacCt4cIG4+vJ0flUnGGzPkYVTugo8eUu1EQYZYPZd94JLuLly5IROZjPXDTzfOlCQGU5mU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(396003)(346002)(39860400002)(366004)(136003)(478600001)(316002)(4744005)(6916009)(38100700002)(16576012)(5660300002)(2906002)(8676002)(26005)(956004)(66556008)(6666004)(2616005)(4326008)(31686004)(6486002)(36756003)(66476007)(186003)(53546011)(86362001)(54906003)(8936002)(31696002)(66946007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WVBJcjgybnRzM3M4cjNmYWkyNlZjRlgwMi9qcW9HVE9kMjBRcDhPQksxVFJJ?=
 =?utf-8?B?WjlCWlpSQ0FUcDR6Q2RWWTh0QzVBMm5vamo4cCtCNkNTa1ltNWxJcjAyazdU?=
 =?utf-8?B?L0djcXBwSm0yWmFINDdlanZnVmk5RXJiQnUwR2Z3b01sSkV0aDhMVWliQW9E?=
 =?utf-8?B?ZmhMN1QvRk1VejhxYjlRa0duY0NDRThyNVMvdzF1enNBbVZ6c2Q5ZUM3RDhN?=
 =?utf-8?B?U1pqaTMwSUtqbHFZekdwK2JZeHlHdjVTbkwwVmhGMGtUNmh4WXRuSzd5THB1?=
 =?utf-8?B?MTE1NjF0TDZwNkszMEVRb3UwTlJYSkZEOW95WGh4Qm5TSXM0dmlTdmVaTXlY?=
 =?utf-8?B?Mmk0azVnV1VITC9NU0dXTEM4TkdtQmRJbzdob0tVOGw1QzBIUCtseWRaaGFC?=
 =?utf-8?B?SG1JQ3Rqa2N0eXJTRUlzRTlwVktsVm5CdWtWcEJFclQwTE83dXRPMDdMK2Qr?=
 =?utf-8?B?UWhLN3lYL2p3MTBhOXhrVnV1ZElXSzFVdENVbjBnSnRDRVprTHE3RklmWGRk?=
 =?utf-8?B?djEvTG12Z3Q5akgxZ1g0TGtDZUtzR24rQlBsWTAyTzFjRWttc05iK04zNjhG?=
 =?utf-8?B?LzgzaUVWUGg5RUZoYzRrbU04Z2l4b2l3RjlpNVp5SDZrbDlTdFZDS1laeWE4?=
 =?utf-8?B?Rkpia3pLS2NjcWpjZEJjVk9uZVBtaWRlTDNVRHVmNWxjM1pPZzNUVVNQa0Er?=
 =?utf-8?B?Z3huQS9WL1A2cnpjRHBnRzNtRzZ2TW5YdEVDTEhGTG1SME9Gck9HUHdNTGVw?=
 =?utf-8?B?bkFMTER0QlpEN2MvMXVTbjZOaE5OQnlzelBLdXpHcFl6bEErWmYxWTlvOHY1?=
 =?utf-8?B?b1hXZElSTFVXMk9LVlpZbTFRbTBGbUN2VkZoYTFoWjhyNDliNEhKM2ZtWno1?=
 =?utf-8?B?U0pvK3laZDBTUG5oU3c3dmlwMDVXNXpEMjdWbTc1MnVBa1NLUW5kZS9LSDFr?=
 =?utf-8?B?VkdLeVZtbDNKZDFzTVlhWWJQcVA2NXRyWUpIK0k3ZkxZeWZtZitvVG02UzIr?=
 =?utf-8?B?djcrWE1GbDFpS04vNjQxMk5pZFpSMDBEa0NMd09VN2ZkbVZQOEU2ZmRxY1RK?=
 =?utf-8?B?YXRDekdSWnFvVG40SHd4QTErTlBvV1JreTN5dXpJSzRSa3BNOTBxZXdpNldu?=
 =?utf-8?B?NnlHZlY1SE5XVVVjcjBIQ3BlNzhFYUlQU3I1b3FqZFVoWFlDNWZKQ005ZWYz?=
 =?utf-8?B?cVAzTStTVmVaa3hyVkxwaU4vQ3lMaG5UYy9BZHpTNmh5NzNaZXl3eW1TZ1Zu?=
 =?utf-8?B?eHVVa3dhOGVzT2thS0dHVGd6dE44ck5JZllmVlYwZkFFREsyTVI3UGVhUjBU?=
 =?utf-8?B?YWMzWC9OWXJWL0ZjcUpBU1lkdktEck91M0ovd1NrM1YzQ21WcnFYZE05cVh4?=
 =?utf-8?B?am9YelJNMkFFUTdrY0NReFlYM050M3prcDNta1dZV09nakpuSjFQNVZLaWov?=
 =?utf-8?B?N1hveklBUXhLSUpWcUtqNGVERk9kYWJ1Q3JuSms0Vlgwam10UHRoVUpiZ2pY?=
 =?utf-8?B?ejUxQ2tLUWZVSDR1SVVHRjgxSnRnODBNelNZY0tmN0tFZFFxOUNib3Y5YlFO?=
 =?utf-8?B?cEJxRVlsN2VrOVZlYnJHWGgvTzYzbFJld08rMm1ZNmxzcUU2VWNLMFcvbUNC?=
 =?utf-8?B?ZWRUZnFjRDRMbHJRTTRpcjZFTFJQL2ErZlN5Qzd4ekhMRG5abEJERE04YUMz?=
 =?utf-8?B?Mzl0OGs4SDhqdUw3WDFQeTlpeHNvakpPT3h5SmxlS0JUMVlaUkg3OVlGQjU2?=
 =?utf-8?Q?j0bPgcNI14E+RZs+E/Uc6XPjQFMWvjCVw32t8oU?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2f61729a-1056-44da-793e-08d963bd2cdf
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 09:30:40.4076
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: OQYflo0rBkloTcINPyOK0++Wc5tj41uGRXxLmuBOwC4LyyIF5spocjWcu7f+HwMvbE1TMPz3orkR9KVDgtuBLQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2445

On 20.08.2021 11:13, Andrew Cooper wrote:
> On 20/08/2021 07:22, Jan Beulich wrote:
>> Clearly I neglected the special needs here, and also failed to test the
>> change with a debug build of Xen.
>>
>> Fixes: 6b1ca51b1a91 ("x86/PV: assert page state in mark_pv_pt_pages_rdonly()")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>
>> --- a/xen/arch/x86/pv/dom0_build.c
>> +++ b/xen/arch/x86/pv/dom0_build.c
>> @@ -67,7 +67,7 @@ static __init void mark_pv_pt_pages_rdon
>>           */
> 
> ^ this comment needs adjusting too.

I didn't precisely because ...

> Presumably this is because PGT_pae_xen_l2 is logically part of the type?

... I would have viewed it this way. But I'll send v2 in a minute.

Jan



From xen-devel-bounces@lists.xenproject.org Fri Aug 20 09:32:40 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 09:32:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169366.309364 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH0tC-000807-0b; Fri, 20 Aug 2021 09:32:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169366.309364; Fri, 20 Aug 2021 09:32:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH0tB-000800-TD; Fri, 20 Aug 2021 09:32:37 +0000
Received: by outflank-mailman (input) for mailman id 169366;
 Fri, 20 Aug 2021 09:32:36 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+YXI=NL=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mH0tA-0007zs-KO
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 09:32:36 +0000
Received: from mail-pg1-x535.google.com (unknown [2607:f8b0:4864:20::535])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 78637646-18a5-43b5-86b8-6bb44da8fa87;
 Fri, 20 Aug 2021 09:32:35 +0000 (UTC)
Received: by mail-pg1-x535.google.com with SMTP id r2so8560874pgl.10
 for <xen-devel@lists.xenproject.org>; Fri, 20 Aug 2021 02:32:35 -0700 (PDT)
Received: from ?IPv6:2404:f801:0:5:8000::50b? ([2404:f801:9000:18:efec::50b])
 by smtp.gmail.com with ESMTPSA id
 x42sm6108890pfh.205.2021.08.20.02.32.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 20 Aug 2021 02:32: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: 78637646-18a5-43b5-86b8-6bb44da8fa87
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=F/INelQk2As+/GtcCaMtJ+YzY5fXWvqQ9IG9ehmEJG8=;
        b=NOsRg08JE9vqoPHWkIYlLgvhL+MicNH2byE8RBT270hR7Y34lewYGmzCG7ZiSOPfst
         hHwY77aZbHyaZy74ak1zDkDcJThEyYHT+phdATRZfrBFvdCFxZDPgNsT5HA2ACIGOssj
         5flQeCaYSnsS7x235BGVvDlZVJfoVF2viLSRLpv9bgZw/C28yjBIhSKVFmgAWxO0RwLs
         SqRSs/9c3L856W6LO84v1LhAxpS7IpBUWCu4vR1ZWSmuRYMsAqASRYQzmnl0WEeB+EGQ
         v8cJErq4KMIgeGnBvkCcPfJfi85pvA0P+J4N0lc0Qhk1awxXio8YvgLwIqm9BpqqWqJj
         KSgw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=F/INelQk2As+/GtcCaMtJ+YzY5fXWvqQ9IG9ehmEJG8=;
        b=oS2qOXzd7/I/rqRnD1U/BXv6ThlRLvQTjYpPXghhlcziqbm//kMRig3vNQWhvaJf69
         l9hAu4NCNK1Mmq+rccfD0I00slF2LmXXCFmJqYYmqI50ysM7vy7eQNRE/peKwq7FOLyX
         csEsfezy0snA68f3N4LFWpznb5BUxQE94QsdPhN7FL4by2CuYb3Tj53QwVmjZgU2JMdu
         gu04YSKAyWqsu1eZ3q8GN59ld0+RPfApiz456Wp3yAwvKl925pzfKlTTEaDxnvcXHkqS
         weA0J9cPHBMM3h1kYSy7I3SBJEmNrUZTMzwxwesmTzMCjsISaN4G4WNg6MeJIvpBtuaa
         YB7w==
X-Gm-Message-State: AOAM532Wxx++z9mC31LzF1cRp5KaewkDUIMKrpt9bdwW/KJ+73S4+jEJ
	YvyyQOHe72CP10nnLJAz0t0=
X-Google-Smtp-Source: ABdhPJyMzC9zZ4t/lY/N9LWV+o+9MRA4tnKQgAYkkUeEh5Y8L6QkAwqXlqjG86qeQ0htTXLK/F9JXQ==
X-Received: by 2002:a63:1a46:: with SMTP id a6mr17708253pgm.226.1629451955046;
        Fri, 20 Aug 2021 02:32:35 -0700 (PDT)
Subject: Re: [PATCH V3 11/13] HV/IOMMU: Enable swiotlb bounce buffer for
 Isolation VM
To: Michael Kelley <mikelley@microsoft.com>, KY Srinivasan
 <kys@microsoft.com>, Haiyang Zhang <haiyangz@microsoft.com>,
 Stephen Hemminger <sthemmin@microsoft.com>,
 "wei.liu@kernel.org" <wei.liu@kernel.org>, Dexuan Cui <decui@microsoft.com>,
 "tglx@linutronix.de" <tglx@linutronix.de>,
 "mingo@redhat.com" <mingo@redhat.com>, "bp@alien8.de" <bp@alien8.de>,
 "x86@kernel.org" <x86@kernel.org>, "hpa@zytor.com" <hpa@zytor.com>,
 "dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
 "luto@kernel.org" <luto@kernel.org>,
 "peterz@infradead.org" <peterz@infradead.org>,
 "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
 "boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>,
 "jgross@suse.com" <jgross@suse.com>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>,
 "joro@8bytes.org" <joro@8bytes.org>, "will@kernel.org" <will@kernel.org>,
 "davem@davemloft.net" <davem@davemloft.net>,
 "kuba@kernel.org" <kuba@kernel.org>, "jejb@linux.ibm.com"
 <jejb@linux.ibm.com>, "martin.petersen@oracle.com"
 <martin.petersen@oracle.com>, "arnd@arndb.de" <arnd@arndb.de>,
 "hch@lst.de" <hch@lst.de>,
 "m.szyprowski@samsung.com" <m.szyprowski@samsung.com>,
 "robin.murphy@arm.com" <robin.murphy@arm.com>,
 "thomas.lendacky@amd.com" <thomas.lendacky@amd.com>,
 "brijesh.singh@amd.com" <brijesh.singh@amd.com>,
 "ardb@kernel.org" <ardb@kernel.org>, Tianyu Lan <Tianyu.Lan@microsoft.com>,
 "pgonda@google.com" <pgonda@google.com>,
 "martin.b.radev@gmail.com" <martin.b.radev@gmail.com>,
 "akpm@linux-foundation.org" <akpm@linux-foundation.org>,
 "kirill.shutemov@linux.intel.com" <kirill.shutemov@linux.intel.com>,
 "rppt@kernel.org" <rppt@kernel.org>,
 "sfr@canb.auug.org.au" <sfr@canb.auug.org.au>,
 "saravanand@fb.com" <saravanand@fb.com>,
 "krish.sadhukhan@oracle.com" <krish.sadhukhan@oracle.com>,
 "aneesh.kumar@linux.ibm.com" <aneesh.kumar@linux.ibm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "rientjes@google.com" <rientjes@google.com>,
 "hannes@cmpxchg.org" <hannes@cmpxchg.org>, "tj@kernel.org" <tj@kernel.org>
Cc: "iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org>,
 "linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
 "linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
 "linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
 "netdev@vger.kernel.org" <netdev@vger.kernel.org>,
 vkuznets <vkuznets@redhat.com>,
 "parri.andrea@gmail.com" <parri.andrea@gmail.com>,
 "dave.hansen@intel.com" <dave.hansen@intel.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-12-ltykernel@gmail.com>
 <MWHPR21MB159315B335EB0B064B0B0F23D7C09@MWHPR21MB1593.namprd21.prod.outlook.com>
From: Tianyu Lan <ltykernel@gmail.com>
Message-ID: <e933f7e3-5573-bb8a-c313-75884d59235c@gmail.com>
Date: Fri, 20 Aug 2021 17:32:19 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <MWHPR21MB159315B335EB0B064B0B0F23D7C09@MWHPR21MB1593.namprd21.prod.outlook.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit



On 8/20/2021 2:11 AM, Michael Kelley wrote:
>>   }
>> +
>> +/*
>> + * hv_map_memory - map memory to extra space in the AMD SEV-SNP Isolation VM.
>> + */
>> +void *hv_map_memory(void *addr, unsigned long size)
>> +{
>> +	unsigned long *pfns = kcalloc(size / HV_HYP_PAGE_SIZE,
>> +				      sizeof(unsigned long), GFP_KERNEL);
>> +	void *vaddr;
>> +	int i;
>> +
>> +	if (!pfns)
>> +		return NULL;
>> +
>> +	for (i = 0; i < size / HV_HYP_PAGE_SIZE; i++)
>> +		pfns[i] = virt_to_hvpfn(addr + i * HV_HYP_PAGE_SIZE) +
>> +			(ms_hyperv.shared_gpa_boundary >> HV_HYP_PAGE_SHIFT);
>> +
>> +	vaddr = vmap_pfn(pfns, size / HV_HYP_PAGE_SIZE,	PAGE_KERNEL_IO);
>> +	kfree(pfns);
>> +
>> +	return vaddr;
>> +}
> This function is manipulating page tables in the guest VM.  It is not involved
> in communicating with Hyper-V, or passing PFNs to Hyper-V.  The pfn array
> contains guest PFNs, not Hyper-V PFNs.  So it should use PAGE_SIZE
> instead of HV_HYP_PAGE_SIZE, and similarly PAGE_SHIFT and virt_to_pfn().
> If this code were ever to run on ARM64 in the future with PAGE_SIZE other
> than 4 Kbytes, the use of PAGE_SIZE is correct choice.

OK. Will update with PAGE_SIZE.


> 
>> +void __init hyperv_iommu_swiotlb_init(void)
>> +{
>> +	unsigned long bytes;
>> +
>> +	/*
>> +	 * Allocate Hyper-V swiotlb bounce buffer at early place
>> +	 * to reserve large contiguous memory.
>> +	 */
>> +	hyperv_io_tlb_size = 256 * 1024 * 1024;
> A hard coded size here seems problematic.   The memory size of
> Isolated VMs can vary by orders of magnitude.  I see that
> xen_swiotlb_init() uses swiotlb_size_or_default(), which at least
> pays attention to the value specified on the kernel boot line.
> 
> Another example is sev_setup_arch(), which in the native case sets
> the size to 6% of main memory, with a max of 1 Gbyte.  This is
> the case that's closer to Isolated VMs, so doing something
> similar could be a good approach.
> 

Yes, agree. It's better to keep bounce buffer size with AMD SEV.


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 09:33:07 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 09:33:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169370.309374 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH0tf-00008O-CU; Fri, 20 Aug 2021 09:33:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169370.309374; Fri, 20 Aug 2021 09:33:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH0tf-00008F-8s; Fri, 20 Aug 2021 09:33:07 +0000
Received: by outflank-mailman (input) for mailman id 169370;
 Fri, 20 Aug 2021 09:33:05 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=nWHd=NL=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mH0td-00006F-ST
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 09:33:05 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id dd0a445b-700d-4174-a022-5082d97c8a5a;
 Fri, 20 Aug 2021 09:33:05 +0000 (UTC)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2050.outbound.protection.outlook.com [104.47.14.50]) (Using
 TLS) by relay.mimecast.com with ESMTP id de-mta-7-ZvQo84tZOg2KqyDrExXbLg-1;
 Fri, 20 Aug 2021 11:33:03 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5472.eurprd04.prod.outlook.com (2603:10a6:803:d3::28)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 20 Aug
 2021 09:33:01 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4436.021; Fri, 20 Aug 2021
 09:33:01 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FR3P281CA0058.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4b::19) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.8 via Frontend Transport; Fri, 20 Aug 2021 09:33:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dd0a445b-700d-4174-a022-5082d97c8a5a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629451984;
	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=X59e0mJqxVEuvjXukbl552wx329qsWJw13VdK4933r4=;
	b=elRCazqSvAgwidPr30e+vRvyIGliZDWHzII9oElB7Qo4te7HDFTrRmtUUiwNpMNzJQM33V
	XsbpcXlnRdlq4ptgDAjdRRhPr9g0lhfzGQ4tG8opZdLA/4XGtK/6V1WMYRrQBihiA70EAC
	65bfnzrycMft05lzgLS3a8xiiEdC5Is=
X-MC-Unique: ZvQo84tZOg2KqyDrExXbLg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EwMteZEuBc7WnloyNl/Ivp/4hL6fJckfGhSPTTTKHONnzck36GCCxuCtiEWB/E9/Ts6KLC0qwhnSHEpZenDahWSp2mPeCHMH2eNLlhrDsM0gXcUJkZMP8e3oZ1BcqVe+3KoE4MhDraMBTcmExWojibhccFHGEmdnpelUOxl6g2qQjws6HWSg/GkNoNBI6LlueIE7k6nEByxhdg9URylp3jv9eBaaHJ0oXgf1mvDYWmotOyaQJQ9gIfKQS5mokXhOdpUvo4ixIxMQwJO7a3NeZUhbLAoI5KN/U5wOQOycISu973Pmu7iYveTtSj3rdRKkKqKwgdXX1VRw6iHgsSbUUg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=X59e0mJqxVEuvjXukbl552wx329qsWJw13VdK4933r4=;
 b=NKq7pqaZjOg2eESNyO0bgf5PfB+x7BMvVo5VR6sM9DmbU9BxAotAqhheYx8pvEn7gp+b3mA+EHipvQaeGxKIo5BG+GR9o4VCDYmsnDnsNFpDl8gzJAKpmLNgKGw+E2xS53hLGuz7Q7f5NjQC0KBOGXzgvzGobMxJ0yasLk3f/mEf2BDd7Srp7ttsQM3h7zyrBhATi6U9NY1KZV7407Q21wRFK9vPa8oHLbRBYtjmCxDLYZoDIwmEvDnk3VvgNhBrYtj8TXQMBgaypgXQgMf2kw7Z3H/DgzvWRKAykQKqzX8C0u23aKYagKmMF8BwTTBsi9jo23/dd42TY0FE6OuCug==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: citrix.com; dkim=none (message not signed)
 header.d=none;citrix.com; dmarc=none action=none header.from=suse.com;
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2] x86/PV: account for 32-bit Dom0 in
 mark_pv_pt_pages_rdonly()'s ASSERT()s
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>
Message-ID: <486bcdc5-8b61-3ecb-6a18-6ad361e42cdf@suse.com>
Date: Fri, 20 Aug 2021 11:32:59 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0058.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::19) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c9e858b0-2a27-451f-755e-08d963bd8122
X-MS-TrafficTypeDiagnostic: VI1PR04MB5472:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB547283A6CBD1366004D825DCB3C19@VI1PR04MB5472.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:2887;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Xz/QOTK0HTaICGzZqr6HrqkdgJjtiPq7CI3XYfJbV3RucrETw1qFoF2pHRB3x9ZWJGOVWH2X8mX73ziZFjZd5l0bE9mDLIG0KpnNwIPrWB7HO5WS+zPa6IJmp9plobS4ig7Cby1c8ppgInGa5v7OcyM0cqBJbX0VcUJD2Dli1KFt97NW4R9A9Z7uwuO571woZLrBUh6+lew+scgqbWPz5aNeHQZZEVyJUgdcbiLSUsl+hq5Bb8yvzYCtgtU4Zhw7xaxXbZE4rgHEyzCwaOlee+V7fMyxJYwf7duoYSg5aXfeUqCru6fvKofnfp/aCTjD1XeDBA/5p4xuqMIYVJ1PPIVruiAc9MpZgMAQsV+BflpiraMms8nLhgwp7wZBPl+MmeLsZmFJIu6BjoR634bdRE84UN8AQHL4MkOse299Ej3vLWJDhmBf9To0JuF5qZc16JVTpzFXI3/EZMv5m+3+g+lbz6NbLNHY7jsgwnWZvyPZhqMPnCA+dmPLk1FOeRRISxz13PS3+PPN9r0xiIIh1ksDC974zlt1OqyzINQQVhp+/UG39+W2jWn2EY3mihOBEt9vHuuAGHGrhvJ51Ge9wfqo61FsbjRHIOllCgVZGxw0sXyDBF4LUXoDo0DlTVSbCcyqxCMFSxcaMV0mYMilc5RNwr1zZ0zuf5FjVRPqouXNl7RoH48lZ9fecY2k7tgdLkILCh/N3IyKqbnYcpWElUgo9jn6yNDAXUqktKFItKk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(366004)(396003)(346002)(39850400004)(376002)(316002)(26005)(478600001)(2616005)(66946007)(956004)(66476007)(31686004)(16576012)(8676002)(54906003)(66556008)(38100700002)(2906002)(86362001)(6486002)(4326008)(15650500001)(36756003)(6916009)(83380400001)(31696002)(8936002)(186003)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RW9Zbzd5TDlZV3ZUcUdsTHgrL21lZkJzcFFULzQxc1hmaTk1SDYxYUMxVStH?=
 =?utf-8?B?TEdyUTd4SlNXdnArTDN4QmRKWkhTMzNBbWRIdVdWVUxSczVXWU0vUVRMLzFi?=
 =?utf-8?B?VVlZaVNTUE02ZGJ3cEgwQUZTMnlSWWFaL1lNcStsUzAreWViMHBCeW81bEpY?=
 =?utf-8?B?bUFSVTVKRW53RWF1cDFXTDFXUmk2TU44YW1weklMSUx1YlpySGhnREJmWnA1?=
 =?utf-8?B?TDNBZVl4MG9HK2NvUEE1UTQ0cnNhN3BPZGRzdDFWbllxdmFqODM5ZkxFRUp1?=
 =?utf-8?B?eElEYnFKMUMxMG1DTUlXTjJldXVsb25VNUJTLzBpUEp5VVVKZVpNbmtKMGFl?=
 =?utf-8?B?d0xBQjlBaE43akNZcjUxb3hYMGljOEtMaW5PRFIyTkxCSC9IbnEyOXo0SCtN?=
 =?utf-8?B?UkRwQUZFY0t6blNvR0djb2Y5RGNVdExnK2h5VkdLc1ZjUG1SdFhQOUFpc2xj?=
 =?utf-8?B?WnBOcmsvZTFoV3NsRmJ6TFFTZ2tRL0NIR0dudTY4aFVyTFNXUWxvNEF4ME1H?=
 =?utf-8?B?N1czK0ZCNVlSb2VtTTZFQzJZTXJmbWFYYnBJVDIwRndWSTJWMStFNms0cVZS?=
 =?utf-8?B?VGNJUDJlVC9KQ2hhYzQ4S0FwZUJiTkpVR0t5ZUxGRXpYUFlDeGU0eUQ0djRy?=
 =?utf-8?B?d240dS91aThRaTdET1lidHp6WHByWnQvaWw1UFFnb3dnbnVMMnF2NTJoN2NG?=
 =?utf-8?B?dGovTVY1VEpyOVVYeWliTnpvMmJqMWJXU25TWFFETFdRM0FlUW5oV2pVWUly?=
 =?utf-8?B?cSsreVcwVlo4bUJTQUZ5akFlNUVRSm8zZkg5d0c5dURmM21jRlpFcUNWbGNS?=
 =?utf-8?B?a0E2dEVDb3JqTjFhNTk0TzV3eVNFdjNiZThmRUNpV0NTcVhoUi9TYk5UL2Zx?=
 =?utf-8?B?RzJ3OHQzRmdmOUhQVExxNGJmRmNFc1ZTckV0K0o0VWFTeWorZ1pRQmxja3Fk?=
 =?utf-8?B?TFlEUWxtSm9oSkMzVFMwYVBOcHZTL0FxZUk0alE2OEwrd1huU1R2cW90YzNo?=
 =?utf-8?B?aW00VWtLOXNGZzlvOFdIc25ma2liUTBZS0hTZGo3UWpnM0JKVWpKc3FWQUE1?=
 =?utf-8?B?QjBwbjgxQUZXelBQakQrN0hDdnJlUkV5ZEtvbnR3RmZGYlgzQ3ZSMlE4Mm5m?=
 =?utf-8?B?UDhQaVBIWHovNGNMaHlnMUFQd0E3aTBiVDhDVFl2VzEzV1U5a1R6MnF5TDUz?=
 =?utf-8?B?bkpxV2IwZ2llVEhiNHVqZmdCWW13dy80bzZ5OWdaMCsyK2grN1NnSGNpN25O?=
 =?utf-8?B?QjBzY3dpZS9yaVltRzA3RDdMRlBVd0t4ODFBTkZOSUo3RWFuMlc2UCtZMFpQ?=
 =?utf-8?B?WUtYWEdhZGJFdGk2UThhY1dTendydUwvSzFlK1hueGlpdmJzS3FzenR0Q0ZD?=
 =?utf-8?B?Mk55V0ZjTnFFR2NtRGVlcmhQSHp5SmlUbExTUWVNUjlMSWoxWkhzV09tRkdm?=
 =?utf-8?B?VXc3cTByRUVETlFZQTFlYS9wNjRXdXIzR2Q0c0owdVR2UWlqSVpNMDZIWHhX?=
 =?utf-8?B?bHducVNycHR2YW9mWmMzeGk4Z2FEOWNqa21JdElBeEhGdk0wUDhEanpUUTdJ?=
 =?utf-8?B?d0tUalpEL2tBbVRCNXFWQTdsaURwYTEzZytwMzhiMHo5N09mUGE1ZUdHQXlo?=
 =?utf-8?B?UUtDcjM3bFF5anpBQUo3TUhvKzkrang2V0puT0hqUGxzY1ZUNkNqQ0YrS09r?=
 =?utf-8?B?ZC9GRUozaFRTcnlWZjIwcDdSeGV3SWVhdDdFMnVHT08yS0lRY3grVmNzc2d4?=
 =?utf-8?Q?1b/+4rQqxvSbts39KWrx6BtDdZEmy791Y4c2Tob?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c9e858b0-2a27-451f-755e-08d963bd8122
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 09:33:01.7043
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Upx8HEXHOfLgskc8DX4IFl8c4gKmpngHBsTp9Bb15DGNqylopibnnjuFrLxAOxc4phSxl65FPdZ5nw9fH4aMKA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5472

Clearly I neglected the special needs here, and also failed to test the
change with a debug build of Xen.

Fixes: 6b1ca51b1a91 ("x86/PV: assert page state in mark_pv_pt_pages_rdonly()")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: Also adjust respective comment.

--- a/xen/arch/x86/pv/dom0_build.c
+++ b/xen/arch/x86/pv/dom0_build.c
@@ -61,13 +61,14 @@ static __init void mark_pv_pt_pages_rdon
 
         /*
          * Verify that
-         * - all pages have a valid L1...Ln page table type and
+         * - all pages have a valid L1...Ln page table type (including the PAE
+         *   sub-flavor of L2) and
          * - no other bits are set, in particular the type refcount is still
          *   zero.
          */
         ASSERT((page->u.inuse.type_info & PGT_type_mask) >= PGT_l1_page_table);
         ASSERT((page->u.inuse.type_info & PGT_type_mask) <= PGT_root_page_table);
-        ASSERT(!(page->u.inuse.type_info & ~PGT_type_mask));
+        ASSERT(!(page->u.inuse.type_info & ~(PGT_type_mask | PGT_pae_xen_l2)));
 
         /* Read-only mapping + PGC_allocated + page-table page. */
         page->count_info         = PGC_allocated | 3;



From xen-devel-bounces@lists.xenproject.org Fri Aug 20 09:36:19 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 09:36:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169377.309386 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH0wk-0000sT-Sy; Fri, 20 Aug 2021 09:36:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169377.309386; Fri, 20 Aug 2021 09:36: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 1mH0wk-0000sM-Oy; Fri, 20 Aug 2021 09:36:18 +0000
Received: by outflank-mailman (input) for mailman id 169377;
 Fri, 20 Aug 2021 09:36:17 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EFwF=NL=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mH0wj-0000sG-Fx
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 09:36:17 +0000
Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id d8a24214-3e74-49e1-bc7f-2f08eef3c0ee;
 Fri, 20 Aug 2021 09:36: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: d8a24214-3e74-49e1-bc7f-2f08eef3c0ee
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629452176;
  h=subject:to:cc:references:from:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=jXibr+Nnsf1MfsiBzrGUEqjCa7pFGc3GauKAznvQz5s=;
  b=B23u5BUJQ6yNy5yXvatgCmm7NMlyQY5q2XAdf8/5y8Xz+BZ1asIe5Vf2
   Cn97Q6KftPhCEP2DNRRSiZMufmrzbGer/g66MS56aKcExGhdYCDox8tB0
   azaqV5ybK8oH5GTrfxtelcwg/zceU1Sz/ip//xVu36fWKahekq4bMN/g5
   Y=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: bGIDl0kWx6cVGvcymVFA5EYJNLi484CRKuvZMJ3Uc3kSLWDgzQbruYX30HNDYHquM+2y9Y5D/B
 3f9t2OI763KZYas6FnNIewKOsBTSFlhZGYFNyNen5M1GX9RBZDMw+8sv8Xe7rEJrrbm9obQ3sQ
 xnzeT9d2Vut1LHbeVbSD0u++Pw7LsXhPUxDY9Ygvvtgn37bXKVeJXSudRMC15M8dyTyqtexwBa
 +TQ66MQniAmXeudI06U+l200p3cfKHn5fUZo5WdoysldC7gkZ7c0CoaSCAXwNptq4mOOjjlUMZ
 g0HM0vS3HPcY8CBFCJgynVXu
X-SBRS: 5.1
X-MesageID: 52633317
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:TRPgF622y2BYeIIuF1LldAqjBTxyeYIsimQD101hICG9Lfb2qy
 n+ppgmPEHP5Qr5OEtApTiBUJPwJU80hqQFnrX5Wo3SIDUO2VHYUb2KiLGN/9SOIVyHygcw79
 YHT0E6MqyLMbEYt7eL3ODbKadY/DDvysnB7o2/vhQdPz2CKZsQiDuRYjzrY3GeLzM2Z6bReq
 Dsg/av6wDQAkj+Oa+Adwc4tqX41pL2vaOjRSRDKw8s6QGIgz/twLnmEyKA1hNbdz9U278t/U
 XMjgS8v8yYwrCG4y6Z81WWw4VdmdPnxNcGLMuQivINIjGprgqzfoxuV5CLoThwiuCy71QBls
 XKvn4bTopOwkKUWlvwjQrm2gHm3jprw3j+yWWAiX+mmsD9TCJSMbsKuatpNj/ir2YwttB116
 xGm0iDsYBMMB/GlCPho/DVShBDjCOP0DgfuN9Wq0YafZoVabdXo4Ba1lhSCo08ECXz751iOP
 VyDfvb+O1dfTqhHjPkV1FUsZiRt0kIb1C7qhBogL3S79EWpgE486Ig/r1bop9an6hNEqWtjo
 //Q9dVfLIndL5cUUsyPpZYfSMbYla9Ny4kC1jiVWgPIpt3c04lm6SHlYnd29vaD6Dg7KFC1a
 gpA2ko+VLbRSrVeISzNdtwg0vwfFk=
X-IronPort-AV: E=Sophos;i="5.84,337,1620705600"; 
   d="scan'208";a="52633317"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YnBwNy8nkIqDEkiPV4SiKyV5sY1zhqexFj0WGXp0nHm3AsBeyucwNNJg/jpH2UqfO+dIUAhm82BUtWcZop91Kd7/CYPxNQkuX1Y8DIqEKf4yxZR5GQ8MANSCcFx/99T5Pii6I9qEAlcoGf4xMyOrVR2zRhmnrP+oiHqpVM0SqZiq+maRaavDJLqoYuqcX/fVCzqNYjIKSp0KcO6udCU3PGATTyKQcroGmXOK6KjipfzAaBQjybKDyi44cofioJnXFU5nLytELSFkDZd+GgFY3ZfZuDBKWlfC+PtuPN/ugK1iVoM21OGud46j5lP68/kVdfuuP4zgbx0Yvh3pBY7YPg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jXibr+Nnsf1MfsiBzrGUEqjCa7pFGc3GauKAznvQz5s=;
 b=jQ+GUmOhDN4RSorNT2nFlzStvA7CvPGFKdaIDVcuGql7vQl1CAAi6sS1j1kCm6ebQuPTy0dxnL8A/p5S/SfHtrKp+QWyt7BvljI3bxIAwdX0jz2r8bM4iJ766SL5x812nElmu4VhPgvTBC2rRb385oBbYZAJcahfmgpnYTPA1E2A71I7VUBciBAH45a47R5eFQ7h1/UBcRDWQte2CXUtlnAy06ycJho5MTXBmfBtmewdaL70zaGuXE8NF4G4jceaZzlkmuWO2mDdluqOnqXvXKBfsgc1vq9BUXez9v+R8l9pe3Ui87qnp36gGHZBdihsjdUZGQDl3m6SScvmDycB9A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jXibr+Nnsf1MfsiBzrGUEqjCa7pFGc3GauKAznvQz5s=;
 b=HqsrjfBNSR54QrzBa/khTN19QyfkevMYcLLxAY9RuXm+NoJdB7TlouDcl8bTXqvokk27d6lBFF5pZK7LF4OOSJv4x6iZHOs2GIdWIJXDWF2eRSOyICQIsAfEbx+QKI/iQRrOUo7kJJWpVq6H08m4+GJGQP0WijmU8yrlLgFyDzc=
Subject: Re: [PATCH v2] x86/PV: account for 32-bit Dom0 in
 mark_pv_pt_pages_rdonly()'s ASSERT()s
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: <486bcdc5-8b61-3ecb-6a18-6ad361e42cdf@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Message-ID: <bc16afec-3d18-83f5-69ff-06225266e346@citrix.com>
Date: Fri, 20 Aug 2021 10:36:07 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <486bcdc5-8b61-3ecb-6a18-6ad361e42cdf@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Content-Language: en-GB
X-ClientProxiedBy: LO4P123CA0064.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:153::15) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: da11bb37-f063-490c-31eb-08d963bdf339
X-MS-TrafficTypeDiagnostic: BYAPR03MB3496:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <BYAPR03MB3496F2553CE1327FA3AECF13BAC19@BYAPR03MB3496.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:4125;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: AzWMHyj/oxs+TaiTWbyuak8s5tYqv6nmbU01+tgBviGCr5zIzOphBzeslwgUZ98B8ZmRdcqKIUrY6kuvAYA2F8PUgmDYaynRr7T5WTCPrp8mUQmdH/ePhIoGqikOKIUNrgo1D4bm2foX1NddoRF4G7qiIQS2lAhAE2LyXiud+xbb92pcwhcL26/DvP7oEyMJ1ls60LRg66iWTsJmqzVlAc7ZSj7XGwceoFFxyzgaBmMOrEQoZTwO4AQwnObCB2MVDIKmuyMkHQpIvSKOgfaaO8Wa55epaUZVNy8lIQzDo04Q1xrGJM5SACMDccT1jo6yul5nqmSrl8cZdQ+UVv5mRhdxYNc6WPMIbnElB+Gt/47Rv436jCtsxUwEt2M09y4KE0Sra9cjDtZoLgTjmnaCjF/Yx33V2fyACR7N8p12MnPS6n35Y8QVz/cm4PhuAiWwqu3YNNSD5rfhqNeuNdm5r35E8wKDsTEExOzWkbpq0S/U7Oubt6Rlz8o56QIL7LCRI4dLz+ldcV5A5LDaxYTcOMbBSrrmBWeNERWUZZTxJg10iRf2PXXIaWKnXACJOc4DOJMfvTCo9EEi+5XkkJDczMPYpQixrN42LN1Ht8/u5pK6j888Yx6eNbB7GUJu/6kaXkEZ1m3NOd1YyqCMSqXN3oddl8vevZ5MIKnFsJVLEIdKUtgXo7v0TjURY0lgCORs2DeM3TIKWZr9GO4HifQeF5XItol4PiMcAhtnD+f0nCg=
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:(4636009)(366004)(136003)(376002)(346002)(39860400002)(396003)(6486002)(66946007)(107886003)(31686004)(36756003)(2616005)(31696002)(4744005)(86362001)(6666004)(66476007)(186003)(66556008)(53546011)(55236004)(2906002)(5660300002)(110136005)(26005)(956004)(478600001)(54906003)(8676002)(8936002)(316002)(16576012)(38100700002)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?eE1NVWp6UGJSRWpJNDgwRW1TVjB6NTJadVVzR2lyZHE1WnJ5d3dFcndVZ2d3?=
 =?utf-8?B?S0VWVmMrQUlUYkJaRVd1aW4yRXhqcmk4b3hDQjZ0NnY1c0pkU0hNcWdHVHNB?=
 =?utf-8?B?cjZYZ25iVDdCdzhWODNiZlpSY0tyWWNIVmVESlBROW9nOXlmMlQrOUVyMkMx?=
 =?utf-8?B?ZmZGL0NHQ1pBa1EzN3NKVXAvUS9pd2RqRXhsVWlaYW9DNjhmZXYvRTBwUjgr?=
 =?utf-8?B?TXdpMVYybDRnQk13My9PZTd1NVd1L25mWEFuYkkrUXI0YVJydUtGOWxoYzN0?=
 =?utf-8?B?TXJJaFBVZHI1VHFOQXRqc2o4ajEreENzSDZMbm16Ukw5RDZLYzc0RmhvSlVa?=
 =?utf-8?B?TTFDQkNKTzdhVHk1T3RVdkpJWUNyemRJU29XMDUva3M4L29WTUtyeEVRMXhQ?=
 =?utf-8?B?aWV5aUpvZ2ZReE1nVEFyRWUyOHZGd2hKZTVPc0RsN1crKzg0Um8wK3Nvemd4?=
 =?utf-8?B?SU9lU2xKZDRJS3k5ZlNNUGdFaVRSMUtlcWpwM1NLNzdTK3c1ZEdnczJKR3NG?=
 =?utf-8?B?NUl1ZjlhekJRRWx0bmh6NTljVHBzR2xtUGRzbExwcFlldnpHdGNCeHE0eWxF?=
 =?utf-8?B?U2theWpCS3hLenArNitEVXdpck5OU2JFb1VRVGtHdmw4ZkRsQ0FGVEszcGpJ?=
 =?utf-8?B?aC9TMGtzcnhBdU9TclhEamJTUDlhZ1l1Vkg1SXo4UkV4ZlNONjBXSmxrWmJ2?=
 =?utf-8?B?M1lFcndEUytnRXM4UXMycnN3bU5haWlNWThkNExDL3VqSkUrbDRlRHpsSU8x?=
 =?utf-8?B?TFk0VTRBSXNVQWVWVjhmczNCNEZPZ0l3WGhUN04vV3dzcy84bGFtTU02cG41?=
 =?utf-8?B?TmQ4M1kzWU9mbE92UjNTcFBtMm5qdGJKRHBiMHZIUmxkQVhRYyt1bGk2ME5i?=
 =?utf-8?B?TkxHQlNsanFCTk5iOEhYVEd1bGNYU1BJWWhqR0paczBDUXkzOWV4VnhwRGd6?=
 =?utf-8?B?L1FoVXIzR05oakozUlltamFRZ3ZuNktaSjZpSTQ5YWY0T0h2MGJwekFZRG9Z?=
 =?utf-8?B?dGpPUGRkNjhCVWJWbGhNTjkzeWJsUE5UTWVWMU5VeG9HeHFOcHc0QVZnbGZE?=
 =?utf-8?B?Z2NQeHJTbGNmNlVvZDRZZ1RoNElxRzBxeDJCSWMvbGtRdTZtM2tyZG5OMnlJ?=
 =?utf-8?B?T3pSSDUyZTZyN3JhcWNUaFAzL05NQU1vaDJuUWNzSEQzcm9uZ3phSkFrQ3NC?=
 =?utf-8?B?LzNlNXRYeFYvS0xZQVp1THFHZkdEUGlmUE5xV2VNMVZwSjhNeU5VYTQwR3lK?=
 =?utf-8?B?ZkR1VkNrMlhiNnphZE9zTHcrNnVHb0E3RUUvQTJmWmlGNTZQdGoyMURWa3Ju?=
 =?utf-8?B?djVzSTRmR3lDM01ONEtlWmZpVkpkUS9qSkNTdFlTR25QSjMwcVlrQ2RZWU9Z?=
 =?utf-8?B?WVVoTXgyZ1NPd0JoMzN2YWhEbitVTWFwdHFjQlIvMXd5U09ENHBsNG0ySGZU?=
 =?utf-8?B?cklzVFdEWXppMDdXY21ObTVYYVdEWjErcXIzRHVJOU9oT1lrS3A0Ui8wZm9t?=
 =?utf-8?B?eXJneHg2TE9ocktFSElaanhtQ3hQTnpjUTQzcm45TmZTWVhBWTUreVRFRlQz?=
 =?utf-8?B?VVpPaU5weno0NEdmTUN0ajRNRnR2aDFSSWwzNDgyK0NDZFpBZVVBOXZBa3hL?=
 =?utf-8?B?Ui9GRmJpeGM3Nmo5Q3BlQ3Jxb0lUdElzOEluQisrMDBNRk8xMzFNaEs1d09J?=
 =?utf-8?B?M2d0MjJXME9Xd2lGMmFxQ0J5RHFSc2d3MEpKeDczMW9lMWZISkMzaUJ2UU1t?=
 =?utf-8?Q?pAWrnKFZOIyTQrBop0QvvR6+BrL7umEToqRo48I?=
X-MS-Exchange-CrossTenant-Network-Message-Id: da11bb37-f063-490c-31eb-08d963bdf339
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 09:36:13.2974
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 2dqyHhuQ3AJuFIvcbjYcywZQIiP4Ajq32GgCAGPtzAT6Fo5q1Ny5zL92i8Sr1b/nCtjhdOFUOJ6ev6zSTf67LDNTj7d/aEnNebs1pp0u128=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB3496
X-OriginatorOrg: citrix.com

On 20/08/2021 10:32, Jan Beulich wrote:
> Clearly I neglected the special needs here, and also failed to test the
> change with a debug build of Xen.
>
> Fixes: 6b1ca51b1a91 ("x86/PV: assert page state in mark_pv_pt_pages_rdonly()")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>



From xen-devel-bounces@lists.xenproject.org Fri Aug 20 09:38:09 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 09:38:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169382.309397 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH0yU-0001VD-8g; Fri, 20 Aug 2021 09:38:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169382.309397; Fri, 20 Aug 2021 09: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 1mH0yU-0001V6-4z; Fri, 20 Aug 2021 09:38:06 +0000
Received: by outflank-mailman (input) for mailman id 169382;
 Fri, 20 Aug 2021 09:38:04 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=pH7i=NL=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mH0yR-0001Uy-RJ
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 09:38:04 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com (unknown
 [40.107.8.42]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 4f76e89a-019a-11ec-a694-12813bfff9fa;
 Fri, 20 Aug 2021 09:38:01 +0000 (UTC)
Received: from DB6PR0402CA0017.eurprd04.prod.outlook.com (2603:10a6:4:91::27)
 by PAXPR08MB7003.eurprd08.prod.outlook.com (2603:10a6:102:202::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Fri, 20 Aug
 2021 09:38:00 +0000
Received: from DB5EUR03FT057.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:91:cafe::e4) by DB6PR0402CA0017.outlook.office365.com
 (2603:10a6:4:91::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Fri, 20 Aug 2021 09:38:00 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT057.mail.protection.outlook.com (10.152.20.235) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Fri, 20 Aug 2021 09:38:00 +0000
Received: ("Tessian outbound 6ba9ec11d42b:v103");
 Fri, 20 Aug 2021 09:37:59 +0000
Received: from 0f63a7a849fd.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 EC22822B-E282-4FBC-AB63-B830E74CC84C.1; 
 Fri, 20 Aug 2021 09:37:53 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 0f63a7a849fd.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 20 Aug 2021 09:37:53 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DBBPR08MB6281.eurprd08.prod.outlook.com (2603:10a6:10:1f6::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 20 Aug
 2021 09:37:52 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.019; Fri, 20 Aug 2021
 09:37:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4f76e89a-019a-11ec-a694-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RW/gyf2iCiwYmfZT7FunosTtbcg0LG5KZYigRpBtjvI=;
 b=a2JaZHlM0V1zXDRlZCAKMifkB0kI5HvkVqSabSD9eP0s+WKneRw1M4vFUo5uKvqDa/zkYgVibiFvssTsjX49YHIYgKVNqH8kez3gYliZsfqJ0RPysWVieLFl3FIDUq/Pc2O3zro2hbo5iq9lQxYt5YkE9svVOpS1uLCRR8nLKxc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=M9QY7BNBnohxm/uTi2pEhWg37JM6K6Kg4haRuyUhr1hHvrBVnp6ParlRk4xkpoWS8aBBXIpK88CLCeCT6AkFljixhAlHHGLzudAvia1XR2SNVezi2cJGlRG3gmNHVxCZKs3W6VM/+H64KXbRp5JwdoTMtNjGkG2CqndoBlkRXCgyQ3TTsACbOFP+RULMaTfeHXQ0eIIpghAdc5l9itg9RMQo0s29Yv0usxBaFXsozZlymIIGQsdQwcd5TUkZyb3MHKKcPNSm6Y8TbVTQLesjbgEVl+B/iTZkjmaM3m8TEFYoqrDihPIMld/I2kx92qU6aasIFRwlQWyMRAB9v8Qsgw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RW/gyf2iCiwYmfZT7FunosTtbcg0LG5KZYigRpBtjvI=;
 b=lSET7EVIEAp8g8UyoASoY2NEBexiPUbA8t9RJVd+jOh/4DBZGmMIWqSwZXQe+LMwoQbfNZ4ToQvv9JKv8uyPU5FigPGDP9orVfb+DW+9IWzGms+CArXlf2LJdbwkpEhHqavYAo2HXtFfkgdk9JtmWLsDqv4m7qjYbu5KhnOGQNjt4+eu7qnwJfHs+2oR/Apwv1VtjPfLoI05GKL14oPmnevdW3ULDYc+uQ4Bj9LyPu2UxZdyVaCMyO7zGRAkMJ8knTfohlyApE6CI/fX2bfj/RdWk42tq0KvStPGE208wTRXYI+5s5xs9nbs1MiOosXMVVR/zoT3Fhyr9C0BR9oFQQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RW/gyf2iCiwYmfZT7FunosTtbcg0LG5KZYigRpBtjvI=;
 b=a2JaZHlM0V1zXDRlZCAKMifkB0kI5HvkVqSabSD9eP0s+WKneRw1M4vFUo5uKvqDa/zkYgVibiFvssTsjX49YHIYgKVNqH8kez3gYliZsfqJ0RPysWVieLFl3FIDUq/Pc2O3zro2hbo5iq9lQxYt5YkE9svVOpS1uLCRR8nLKxc=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 04/40] xen/arm: return default DMA bit width when
 platform is not set
Thread-Topic: [XEN RFC PATCH 04/40] xen/arm: return default DMA bit width when
 platform is not set
Thread-Index: AQHXjpsgsRofIZVQlECQrMelX8Mpkqt63vUAgADFfsCAAHazAIAACk/g
Date: Fri, 20 Aug 2021 09:37:52 +0000
Message-ID:
 <DB9PR08MB685782C02B95DB20F4E1626F9EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-5-wei.chen@arm.com>
 <61893862-6b8f-9c1b-367b-7e0c837a43c5@xen.org>
 <DB9PR08MB68572A84F6A73644C4FE3F609EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <35fdd7c0-0607-e2b6-776d-adf9eea2c0e2@xen.org>
In-Reply-To: <35fdd7c0-0607-e2b6-776d-adf9eea2c0e2@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: AF81E28F34E7344E81F00457697AE350.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 30d7856b-d3d4-4dc7-493e-08d963be3300
x-ms-traffictypediagnostic: DBBPR08MB6281:|PAXPR08MB7003:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<PAXPR08MB7003C3C513078BA27ACF1E239EC19@PAXPR08MB7003.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 Hl0NSblM8+9XYh/p5EaR6PYQ+cIFljCCh6tlkMxN7UEI1BO8nVQccuY/ldTse/5muEW2MpVRfwEewag6KBdLm2ZYaF0F9iQZoW3UDdRFhRX9j8q3v3/McLwVeKUYvdEoYuwWdOxhMFVgTy2gOjHvjyHtnGdMjscis3vLh9aqMklJ7brb4QN+YYJduFFPBXdNcqpTk9kXQFTvpiEqRn91D3Bpxc1evYn0bujLGrG/4WKpO+Z4YONlz06YuT2foLxFb0lvPBGreNGg8VEHwflY7eG34On16t9V0bx8JPOZpHt1hclMrWAo9Z4pB2UqcAqObAIb66p3qZh/naeSFgbAefqGwKK0+4FjLuyW5DcLgh5O1vOtaLEV/0+XGeC47YaIdHZ8l0KFSr6Bme9coJk1mn2bikQ3DR6U3AJ0fJZNtloeqxlkB8dw85VnS1n2rlEitM6POTS+iAu4yctA+BQ19sx7Y4nFIlMfBzfqZGTg/givLyxDHk9QDAQSP6SCDPKLLeCwwndkdrt59BxVT1aG7HENYkWeeHwk1r6ovz2IBnoN+k/7APVYjl3JcQcz86fwPnsTS6OMjV6+IrbTkdgTwubekPcs9OhDs3haa6uMniOcn8/Tn8GeGBY06bPlaW3I6E06aLSDAPgEW9d4gHQiOYzl2e0CbBkZkxTJpIIrhtpM8z13cZvdUeEm7B57MJRV3TY8E/+lRwpNXhm5WRJ05w==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(346002)(39860400002)(396003)(376002)(136003)(316002)(66446008)(7696005)(6506007)(110136005)(66556008)(4326008)(66476007)(66946007)(76116006)(53546011)(9686003)(64756008)(52536014)(55016002)(71200400001)(86362001)(8676002)(186003)(8936002)(33656002)(478600001)(5660300002)(38100700002)(83380400001)(122000001)(38070700005)(2906002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?YlYvTmIxMTByZkp4WGxuV2prNk9wemFEL2VHK1NnZlcwTWpUVHFCd0pzY3Bz?=
 =?utf-8?B?TEovRFB6ZlBYUHFxbFpURlY4SFdOVy9Pd3BqRXlnL0V6a1FvUFY4K2RvQVl4?=
 =?utf-8?B?OVBiem9CNnREdkladzMzTGo3c1hiSFBEVmVyTndyK2pzc1BrclFXZ3ZFUzB6?=
 =?utf-8?B?Y3JwK0xxTGlxQmdLdnZnZlFpUWV6NUVuL1RIS3A2d2tIQThaVldsMjNBQWVS?=
 =?utf-8?B?WDhTTnA4NTMxQ3UrY3FEY2JaQXJwcmdlbVh6dEZoeXRBb3JvelZtMndkWlpC?=
 =?utf-8?B?U0kvMFd6bGtoSVNpUW1WNXozeXcvenBtUXhiaWNySXUrOW9FUWc2ZUZ3bWtn?=
 =?utf-8?B?VEV5eDI2VnRhT1ZOODlnQmhxbk1NMHFUalVzek1zNVdMaEVSVnFWenhBS1Ni?=
 =?utf-8?B?bnFZWVZjRGF2YmZyMjhnUTdwTkQzU24vcFZjdFdadmhSZk9ZR095bDBxTTUv?=
 =?utf-8?B?TFdxQXNOeFIzd0VNYms4ZHhKZG5VYk5EeVNTVks5RHFpVW5TeGJhWjZweEx6?=
 =?utf-8?B?VmQvTzEvbWEvNFcvUUJOYTVLalZoU1RXeGZoZ09qSVVDWFBFd01PS2hNdGtJ?=
 =?utf-8?B?SjJWZmRvU0ZQbkFmZ1BhckxsSlVDNE5kV1VvOWpqV2h0NkZ1MGJzNWFpVS95?=
 =?utf-8?B?M2JMRHo5dE50Nkw1cUtIZW5ZdG8yc1RybXJQQkQzMlBCVGROZExrblZJUWZa?=
 =?utf-8?B?NjhJWGYwRjNBN0FPVHMvMEV4SWJ1TUhRWWxhSFVFV3JqWHR1RE85Y2VBaGd6?=
 =?utf-8?B?dGxPTEt1RHdLUkN5Sy90bkZWMW9RZmlydjVlSElScVhEbVJuUUpZb3h4TUFa?=
 =?utf-8?B?d2hRVVo5azE4b3NsQWg1bzByTElXbzFldmZoMUwxVEdFQllQREhDK1J6WHZS?=
 =?utf-8?B?QkdYN3NsUytSSFJENEVIQ1IvKzVNUy9XVldWYkFDVWtLT1hvMXZGempwei9E?=
 =?utf-8?B?UVVXYnVHdGNJeVFzMGg3OWxKbEI2VVp6bDNzSnFDZlN4Skx1M011b3g4cHM4?=
 =?utf-8?B?czZGSmwxNEJlN3ZOaWV3RDlVaEJxZnhqbnN0UzlRWkExeXF3SzV4VnhwcHJI?=
 =?utf-8?B?bHlTOFlDbWdpRWFCODZNaStiL01PUFJYVUt3N3B6MURJQWEwbWJsYTFTTHF3?=
 =?utf-8?B?UFZvRlFCak94R1ZwVDhmK2txZ2szS0I2WDJnV0NpUElYUU9Dc3lQanFGbFdz?=
 =?utf-8?B?WC9ORUVodEYvWUhBb2hxZHlRL093cWZpMDV1aWNGN3dWYkRVWHY2eUYxamI1?=
 =?utf-8?B?MERjV3ZtclVXc3IrWTZFNVpJN0pFN2ZyaHoxQWg2aXlJMERNYlRPVVRxWDl2?=
 =?utf-8?B?TDczeDEwdDgvdTNMc00xNFNzVmFrZ0FmcmlIWjJDcXUzbHFuS01xSTZLWmZL?=
 =?utf-8?B?SE9icGpKS3FrNjlJWDE1WnBoQTZOZWpyVVprcDVmSU1QQ3ZSSld4anp6VEo3?=
 =?utf-8?B?eXBwNXZTcU0wdkR2SjBMSFV4T1VnYmZzV3VTQk50Mk55N1VFMm9WckozNCtH?=
 =?utf-8?B?dEtKMjNzaHIvM05IVVhrYUJScDhDWjF5UkFlbU1HOUNMd0EwQm1zeFNQVlIy?=
 =?utf-8?B?dTBwcnVoZG5DbnBlVmFwa0E3R0RmYytNVGFFTmVYc2lEdHpKZUp2VXR0d1hZ?=
 =?utf-8?B?TGtINU9kVUNIRmZsOUFDN0VjTnE2emdaWElUQmE4dUxIaS9LZTl3TXhpdHNM?=
 =?utf-8?B?VDNNM2J1c3E3YkNWQzQ4N2NGRHYwN1UwcnVOdmJsM2toSjZ2WlpmbHpsdTdB?=
 =?utf-8?B?TlZ6U3pwRjFUcWFHMUFYUEpUTVZmUnp3aTdDN0JNamtUd0hZM1hEcGtLWWFK?=
 =?utf-8?B?a1FEZUNzK2V4dmg5K3BZdGhWMWVFTFh6N2NreFI0aFVRcVRtRytLb1ByK21z?=
 =?utf-8?Q?E0o/8MqMsXx6t?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB6281
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT057.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	db6f8be9-1463-404b-bc36-08d963be2ea7
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	X7EEmgqjYkPkmMHFjiAZCi+uDnHKibLBWAlgJN4Gp4yKVzmz1nLy31rQzq0TSmKqm7fhYQvhe3H1r4cmWQUeJQ3We17/fuCo1pzLlaMeXA2D05bxJK82Yrzl22YfqJkvzPp3KJ0Yp93lP64Q0SDKfG02Udlyx6TS1NGxRrDHAPN6JtsMRCCqfdnADgyfIUBDmwi+NB7n+E8T/vb2J7EAvc5y5TdbbVTjX4nC8UlhbZ2MCPmO/RgAS5abUPAZhoqZHsVv20ny3E4CApP37TgEBdqHWdMq2vc4iU13R5+oIhIO1X7xHi5TGDFj5y0LzPPm4dAMGmrDDXrkaVv0aFwgWxlhwehe36lvQJ4vk8q5kboYJtFjCttsHx3h80i+viuEMr3IuiA1aBT+FC1OCoDCrL6+T5yzwr7/WVNkpHjEkXWf1f6mPNIneR8vrVhluMLEwRKmAKAx4YmS2FtCrgpLI2t6NyAsKw0F/KMjT9fY9q8QoLd2nD7Y4lrh2FGgeyZRCLq4qkGLAZzov003Do++qcuPxbrqxpz6ZXI0OXa6Z5KUB10IZYtTXU3+c5HGjq8yNUk8NpfVbi6fFNzWKKlOh5f7N0b5BWgyTaiW+pytexH3jDRtUplYi1pejXC9ZdYZkrlK9ghrUFpllmOlzQyQyxehu9QxtKfwN7egPf8ILkjhTytnU4KrjzCsn8m5L0ywwwW2FO7aSeSlWHH6mjbnow==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(136003)(396003)(376002)(39860400002)(346002)(46966006)(36840700001)(26005)(2906002)(8676002)(4326008)(356005)(336012)(86362001)(5660300002)(6506007)(70586007)(81166007)(7696005)(478600001)(33656002)(9686003)(55016002)(70206006)(186003)(82740400003)(47076005)(52536014)(316002)(82310400003)(110136005)(8936002)(36860700001)(83380400001)(53546011);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 09:38:00.0158
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 30d7856b-d3d4-4dc7-493e-08d963be3300
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT057.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB7003

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMjDml6UgMTY6MjAN
Cj4gVG86IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgeGVuLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnOw0KPiBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqYmV1bGljaEBzdXNlLmNvbQ0K
PiBDYzogQmVydHJhbmQgTWFycXVpcyA8QmVydHJhbmQuTWFycXVpc0Bhcm0uY29tPg0KPiBTdWJq
ZWN0OiBSZTogW1hFTiBSRkMgUEFUQ0ggMDQvNDBdIHhlbi9hcm06IHJldHVybiBkZWZhdWx0IERN
QSBiaXQgd2lkdGgNCj4gd2hlbiBwbGF0Zm9ybSBpcyBub3Qgc2V0DQo+IA0KPiANCj4gDQo+IE9u
IDIwLzA4LzIwMjEgMDM6MDQsIFdlaSBDaGVuIHdyb3RlOg0KPiA+IEhpIEp1bGllbiwNCj4gDQo+
IEhpIFdlaSwNCj4gDQo+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+IEZyb206
IEp1bGllbiBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+ID4+IFNlbnQ6IDIwMjHlubQ45pyIMTnm
l6UgMjE6MjgNCj4gPj4gVG86IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgeGVuLWRldmVs
QGxpc3RzLnhlbnByb2plY3Qub3JnOw0KPiA+PiBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqYmV1
bGljaEBzdXNlLmNvbQ0KPiA+PiBDYzogQmVydHJhbmQgTWFycXVpcyA8QmVydHJhbmQuTWFycXVp
c0Bhcm0uY29tPg0KPiA+PiBTdWJqZWN0OiBSZTogW1hFTiBSRkMgUEFUQ0ggMDQvNDBdIHhlbi9h
cm06IHJldHVybiBkZWZhdWx0IERNQSBiaXQNCj4gd2lkdGgNCj4gPj4gd2hlbiBwbGF0Zm9ybSBp
cyBub3Qgc2V0DQo+ID4+DQo+ID4+IEhpLA0KPiA+Pg0KPiA+PiBPbiAxMS8wOC8yMDIxIDExOjIz
LCBXZWkgQ2hlbiB3cm90ZToNCj4gPj4+IEZyb206IEhvbmdkYSBEZW5nIDxIb25nZGEuRGVuZ0Bh
cm0uY29tPg0KPiA+Pj4NCj4gPj4+IEluIGN1cnJlbnQgY29kZSwgYXJjaF9nZXRfZG1hX2JpdHNp
emUgd2lsbCByZXR1cm4gMzIgd2hlbiBwbGF0b3JtDQo+ID4+PiBvciBwbGF0Zm9ybS0+ZG1hX2Jp
dHNpemUgaXMgbm90IHNldC4gSXQncyBub3QgcmVzb25hYmxlLCBmb3IgQXJtLA0KPiA+Pg0KPiA+
PiBzL3Jlc29uYWJsZS9yZWFzb25hYmxlLw0KPiA+Pg0KPiA+DQo+ID4gT2sNCj4gPg0KPiA+Pj4g
d2UgZG9uJ3QgcmVxdWlyZSB0byByZXNlcnZlIERNQSBtZW1vcnkuIFNvIHdlIHNldCBkbWFfYml0
c2l6ZSBhbHdheXMNCj4gPj4+IGJlIDAuIEluIE5PLU5VTUEgc3lzdGVtLCBhcmNoX2dldF9kbWFf
Yml0c2l6ZSB3aWxsIG5vdCBiZSBpbnZva2VkLA0KPiA+Pj4gc28gZG1hX2JpdHNpemUgd2lsbCBu
b3QgYmUgb3ZlcnJpZGVkIGJ5IHRoaXMgZnVuY3Rpb24uDQo+ID4+DQo+ID4+IGFyY2hfZ2V0X2Rt
YV9iaXRzaXplKCkgaXMgYWxzbyB1c2VkIHRvIGFsbG9jYXRlIGRvbTAgbWVtb3J5LiBXZSBuZWVk
IHRvDQo+ID4+IGJlIGFibGUgdG8gYWxsb2NhdGUgc29tZSBETUEtYWJsZSBtZW1vcnkgdGhhdCBj
YW4gYmUgdXNlZCBieSBldmVyeQ0KPiBkZXZpY2VzLg0KPiA+Pg0KPiA+Pj4gQnV0IGluIE5VTUEN
Cj4gPj4+IHN5c3RlbSwgb25jZSB0aGUgb25saW5lIG5vZGVzIGFyZSBncmVhdGVyIHRoYW4gMSwg
dGhpcyBmdW5jdGlvbiB3aWxsDQo+ID4+PiBiZSBpbnZva2VkLiBUaGUgZG1hX2JpdHNpemUgd2ls
bCBiZSBsaW1pdGVkIHRvIDMyLiBUaGF0IG1lYW5zLCBvbmx5DQo+ID4+PiBmaXJzdCA0R0IgbWVt
b3J5IGNhbiBiZSB1c2VkIGZvciBETUEuIEJ1dCB0aGF0J3MgYWdhaW5zdCBvdXIgaGFyZHdhcmUN
Cj4gPj4+IGRlc2lnbi4gV2UgZG9uJ3QgaGF2ZSB0aGF0IGtpbmQgb2YgcmVzdHJpY3Rpb24gb24g
aGFyZHdhcmUuDQo+ID4+DQo+ID4+IFdoYXQgZG8geW91IG1lYW4gYnkgImhhcmR3YXJlIGRlc2ln
biI/IEFyZSB5b3UgcmVmZXJyaW5nIHRvIHRoZSBzZXJ2ZXINCj4gPj4geW91IGJvb3QgWGVuIG9u
Pw0KPiA+Pg0KPiA+DQo+ID4gWWVzLiBJIHdpbGwgY2hhbmdlIGl0IHRvIHNvbWUgbmV1dHJhbCB3
b3Jkcy4gc29tZXRoaW5nIGxpa2U6DQo+ID4gIkJ1dCB0aGF0IGNvdWxkIG5vdCByZWZsZWN0IHNv
bWUgaGFyZHdhcmUncyByZWFsIERNQSBhYmlsaXR5LiBUaGV5IG1heQ0KPiBub3QNCj4gPiBoYXZl
IGtpbmQgb2YgcmVzdHJpY3Rpb24gb24gaGFyZHdhcmUuIiA/DQo+IA0KPiBUaGUgdGhpbmcgaXMg
RE1BIGFiaWxpdHkgaXMgbm90IGFib3V0IHRoZSBwbGF0Zm9ybSBpdHNlbGYuIEl0IGlzIG1vcmUN
Cj4gYWJvdXQgdGhlIGRldmljZXMgKHRoaXMgY291bGQganVzdCBiZSBhIFBDSSBjYXJkIHlvdSBq
dXN0IHBsdWdnZWQpLiBXaGF0DQo+IHlvdSBzZWVtIHRvIHN1Z2dlc3QgaXMgbm8tb25lIHdpbGwg
ZXZlciBwbHVnIHN1Y2ggY2FyZCBvbiB5b3VyIHBsYXRmb3JtLg0KPiBJcyB0aGF0IGNvcnJlY3Q/
DQo+IA0KDQpPSywgSSB1bmRlcnN0YW5kIG5vdy4gTGV0J3Mga2VlcCAzMi1iaXQgYXMgZGVmYXVs
dCB2YWx1ZSwgYnV0IGV2ZW4gaW4gdGhpcw0KY2FzZSwgaG93IGFib3V0IERNQS0xNiBkZXZpY2Vz
PyBBbHRob3VnaCB0aGVzZSBkZXZpY2VzIGFyZSB2ZXJ5IHJhcmUsIHRoZXkNCnN0aWxsIGV4aXN0
IDogKQ0KQW55d2F5LCBrZWVwIHRoZSBhcmNoX2dldF9kbWFfYml0c2l6ZSBhcyBvcmlnaW5hbCBt
YXliZSB0aGUgYmVzdCBhcHByb2FjaA0KZm9yIG5vdy4NCg0KDQo+ID4NCj4gPg0KPiA+PiBBbnl3
YXksIHRoZXJlIGFyZSBwbGVudHkgb2YgcGxhdGZvcm0gb3V0IHRoYXQgaGF2ZSBkZXZpY2VzIHdo
aWNoIGNhbid0DQo+ID4+IERNQSBpbnRvIG1lbW9yeSBhYm92ZSAzMi1iaXQuIE9uIFJQSSwgdGhp
cyBpcyBldmVuIGxvd2VyICgzMC1iaXQpLg0KPiA+Pg0KPiA+PiBTbyBJIHdvdWxkIGJlIGNhdXRp
b3VzIHRvIGNoYW5nZSB0aGUgZGVmYXVsdCBsaW1pdC4NCj4gPj4NCj4gPg0KPiA+IEhvdyBhYm91
dCByZXR1cm4gMCB3aGVuIHBsYXRmb3JtIGRvZXNuJ3Qgc3BlY2lmeSB0aGUgbGltaXQ/DQo+ID4g
SW4gbXkgb3BpbmlvbiwgYXJiaXRyYXJ5IHRvIGdpdmUgMzIgb24gQUFyY2g2NCBkb2Vzbid0IG1h
a2Ugc2Vuc2UuDQo+IFdlIGhhdmUgdG8gY2FyZSBhYm91dCB0aGUgY29tbW9uIHVzZS1jYXNlLiBX
ZSBhZGRlZCB0aGlzIHJlc3RyaWN0aW9uIGENCj4gZmV3IHllYXJzIGFnbyBiZWNhdXNlIHdlIGhh
ZCBhIGZldyByZXBvcnRzIG9mIHVzZXJzIHVzaW5nIG9ubHkgMzItYml0DQo+IERNQSBjYXBhYmxl
IGRldmljZS4NCj4gDQo+ID4gQnV0IGFzIHlvdSBtZW50aW9uZWQsIGlmIFhlbiBpcyBydW5uaW5n
IG9uIGEgcGxhdGZvcm0gd2l0aCBETUENCj4gbGltaXRhdGlvbiwNCj4gPiBidXQgd2UgaGF2ZSBu
b3QgbGlzdGVkIHRoaXMgcGxhdGZvcm0gaW4gWGVuIHN1cHBvcnRlZCBsaXN0LCBYZW4gY2Fubm90
DQo+ID4gZ2V0IERNQSBsaW1pdCBmcm9tIHBsYXRmb3JtLT5kbWFfYml0c2l6ZS4gSW4gdGhpcyBj
YXNlLCByZXR1cm4gMCB3aWxsDQo+ID4gYWxzbyBjYXVzZSBzb21lIGlzc3VlLg0KPiA+DQo+ID4+
IEF0IHRoZSBtb21lbnQsIHRoZSBvbmx5IHBsYWNlIG9uIEFybSB3aGVyZSB3ZSBuZWVkIERNQS1h
YmxlIG1lbW9yeSBpcw0KPiA+PiBmb3IgZG9tMC4gVGhpcyBpcyBhbGxvY2F0ZWQgYXQgYm9vdCBh
bmQgY2FuJ3QgY2hhbmdlIGFmdGVyd2FyZHMgKGZvcg0KPiBub3cpLg0KPiA+Pg0KPiA+DQo+ID4g
Rm9yIERvbTAsIHdlIHNxdWFzaCB0aGUgcGF0Y2gjNSBpbnRvIHRoaXMgcGF0Y2g/DQo+IA0KPiBM
ZXQgbWUgYW5zd2VyIHdpdGggYW5vdGhlciBxdWVzdGlvbi4gV2h5IHNob3VsZCB3ZSBtb2RpZnkg
dGhlIEFybSBjb2RlDQo+IHJhdGhlciB0aGFuIHRoZSBjb21tb24gY29kZT8gSU9XLi4uDQoNCkFz
IEkgYW5zd2VyZWQgYWJvdmUsIGxldCdzIGtlZXAgYXJjaF9nZXRfZG1hX2JpdHNpemUgYXMgb3Jp
Z2luYWwgdGhlbg0Kd2UgZG9uJ3QgbmVlZCB0byBtb2RpZnkgQXJtIGNvZGUuDQoNCj4gDQo+ID4N
Cj4gPj4gU28gSSB3b3VsZCBleHBsb3JlIHRvIHJlbW92ZSB0aGUgTlVNQSBjaGVjayBmb3IgZHJv
cCB0aGUgRE1BIHpvbmUuIEZBT0QsDQo+ID4+IGJvdGggc3VnZ2VzdGlvbiBhcmUgZm9yIEFybSBv
bmx5LiBGb3IgeDg2LCB0aGV5IG5lZWQgdG8gYmUga2VwdC4NCj4gPj4NCj4gPg0KPiA+IFdpdGhv
dXQgaW50cm9kdWNpbmcgbmV3IGZsYWcsIHN1Y2ggYXMgbG93bWVtX2Zvcl9kbWEsIGl0J3MgYSBs
aXR0bGUNCj4gPiBoYXJkIHRvIHNraXAgdGhlIG51bWEgbm9kZSBjaGVjay4gVW5sZXNzIHdlIGNy
dWRlbHkgYWRkICNpZmRlZiBBUkNIIHRvDQo+ID4gY29tbW9uIGNvZGUsIHdoaWNoIGlzIG5vdCB3
aGF0IHdlIHdhbnQgdG8gc2VlIC4uLg0KPiA+ICAgICAgICBpZiAoICFkbWFfYml0c2l6ZSAmJiAo
bnVtX29ubGluZV9ub2RlcygpID4gMSkgKQ0KPiA+ICAgICAgICAgICAgZG1hX2JpdHNpemUgPSBh
cmNoX2dldF9kbWFfYml0c2l6ZSgpOw0KPiANCj4gLi4uIFdoeSBkbyB5b3UgdGhpbmsgd2UgbmVl
ZCB0aGlzIGNoZWNrIG9uIEFybSB3aGVuIE5VTUEgaXMgZW5hYmxlZD8NCj4gDQoNCkkgZGlkbid0
IHRoaW5rIEFybSBuZWVkcywgd2hhdCBJIHNhaWQgaXMgaW50cm9kdWNlIGEgZmxhZyB0byBkaXNh
YmxlDQp0aGlzIGNoZWNrIGZvciBBcm0gb3Igb3RoZXIgQXJjaGl0ZWN0dXJlcyB0aGF0IHRoZXkg
ZG9uJ3QgbmVlZCB0aGlzIGNoZWNrLg0KDQo+IFdlIGNhbiBkaXNjdXNzIGhvdyB0byByZW1vdmUg
aXQgb25jZSB0aGlzIGlzIGFuc3dlcmVkLg0KPiANCg0KSSB0aGluayB3ZSBjYW4gc3RhcnQgdG8g
ZGlzY3VzcyBpdC4NCg0KPiBDaGVlcnMsDQo+IA0KPiAtLQ0KPiBKdWxpZW4gR3JhbGwNCg==


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 09:39:40 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 09:39:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169388.309408 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH0zy-0002A7-R9; Fri, 20 Aug 2021 09:39:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169388.309408; Fri, 20 Aug 2021 09:39:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH0zy-0002A0-NG; Fri, 20 Aug 2021 09:39:38 +0000
Received: by outflank-mailman (input) for mailman id 169388;
 Fri, 20 Aug 2021 09:39:37 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aok1=NL=arm.com=michal.orzel@srs-us1.protection.inumbo.net>)
 id 1mH0zx-00029r-LT
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 09:39:37 +0000
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id 22d96068-bebb-4776-9e54-07b8a04534a3;
 Fri, 20 Aug 2021 09:39:36 +0000 (UTC)
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 B881B1042;
 Fri, 20 Aug 2021 02:39:35 -0700 (PDT)
Received: from e123311-lin.arm.com (unknown [10.57.15.69])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 7A3023F40C;
 Fri, 20 Aug 2021 02:39: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: 22d96068-bebb-4776-9e54-07b8a04534a3
From: Michal Orzel <michal.orzel@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	bertrand.marquis@arm.com,
	christopher.w.clark@gmail.com
Subject: [PATCH] xen/public: arch-arm: Add mention of argo_op hypercall
Date: Fri, 20 Aug 2021 11:39:24 +0200
Message-Id: <20210820093924.9991-1-michal.orzel@arm.com>
X-Mailer: git-send-email 2.29.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Commit 1ddc0d43c20cb1c1125d4d6cefc78624b2a9ccb7 introducing
argo_op hypercall forgot to add a mention of it in the
comment listing supported hypercalls. Fix that.

Signed-off-by: Michal Orzel <michal.orzel@arm.com>
---
 xen/include/public/arch-arm.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
index 64a2ca30da..6b5a5f818a 100644
--- a/xen/include/public/arch-arm.h
+++ b/xen/include/public/arch-arm.h
@@ -128,6 +128,8 @@
  *    * VCPUOP_register_vcpu_info
  *    * VCPUOP_register_runstate_memory_area
  *
+ *  HYPERVISOR_argo_op
+ *   All generic sub-operations
  *
  * Other notes on the ARM ABI:
  *
-- 
2.29.0



From xen-devel-bounces@lists.xenproject.org Fri Aug 20 10:25:11 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 10:25:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169395.309422 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH1hw-0007nG-CA; Fri, 20 Aug 2021 10:25:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169395.309422; Fri, 20 Aug 2021 10: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 1mH1hw-0007n9-91; Fri, 20 Aug 2021 10:25:04 +0000
Received: by outflank-mailman (input) for mailman id 169395;
 Fri, 20 Aug 2021 10:25:03 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=pH7i=NL=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mH1hv-0007n3-45
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 10:25:03 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com (unknown
 [40.107.20.62]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 7b4aa354-6733-4b76-af2f-f43d6e9f33af;
 Fri, 20 Aug 2021 10:25:00 +0000 (UTC)
Received: from AM6P193CA0137.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:85::42)
 by AM0PR08MB4289.eurprd08.prod.outlook.com (2603:10a6:208:148::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.19; Fri, 20 Aug
 2021 10:24:56 +0000
Received: from AM5EUR03FT035.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:85:cafe::4c) by AM6P193CA0137.outlook.office365.com
 (2603:10a6:209:85::42) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Fri, 20 Aug 2021 10:24:56 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT035.mail.protection.outlook.com (10.152.16.119) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Fri, 20 Aug 2021 10:24:56 +0000
Received: ("Tessian outbound 19a632698c93:v103");
 Fri, 20 Aug 2021 10:24:55 +0000
Received: from bd9ed4af69c0.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 3A5D0ED6-5C7F-4B48-AD79-D9E6B6CD9092.1; 
 Fri, 20 Aug 2021 10:24:49 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id bd9ed4af69c0.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 20 Aug 2021 10:24:49 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB7PR08MB3275.eurprd08.prod.outlook.com (2603:10a6:5:24::26) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.19; Fri, 20 Aug
 2021 10:24:48 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.019; Fri, 20 Aug 2021
 10:24: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: 7b4aa354-6733-4b76-af2f-f43d6e9f33af
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cYDASW+GYpY+13bZub+EVONE3w99SG4BF+emqvkhvU0=;
 b=cK+q/ZrncE80rsef8z0RfrpDnBUiNwc1BvAQu6eqnXTZEOtfQ4I0sQHKs9qy1Yw1VMZyf8EF4OVmN3GDst7mN8ffxjHwqfzfLuZBscHdnv8r4GLKRgie1qT5R8L15Kl8TBHX+PLvYnr4T8EIFZuOfhTaXOd404TuTt6NQ8dI+I0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 6a7816dafe8c7b2d
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MVb6pllqNLMZABMdDLq9yUvwWdXuHfrnccJuwFVHZRGv65AX8Yub+deVo0cluQ84dedVVzvdHKwYhZL4KmtpIm5VS042sYKjN3LmpjLCMlv92tS3c1iLGuD9ImHA0yODWgB/Qr2sNAvQCMPiINllMRrSbhX3fVE806cJ/eCcXeVBGLAQB3O2t1UH3fQOcZN/9X8X+fx5xH8LxyflVTtxqBuzdbwLXa1arPr+i7Q4Ldcg8JQPtOSY/xTFS1KoXJf/F3itjdDS15ftXTqV+vC37M5l/6dWYKqb6tBQN+Xm5gkpZJ+5TNMrbwnUNs6+9sFtOXy61kbEQowzoSTpOT/btQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cYDASW+GYpY+13bZub+EVONE3w99SG4BF+emqvkhvU0=;
 b=B+0wagpO8334iU3NTmGuAiRdi81YUo7/aI1sP+ZhMKYtSNqCYJ8xOjBwNjQvHunHcNJRSnFKIjAD/O0bls+l1nV9ziFgLN2BbVFz87OSxwVmikxSbkuz8iAsbCdx+PvKdMCZGCeBpwzWRcgbpYnuHIoiNAxTgiBx2qYJ3s/vN972PWpj+jViQLo0hZR72YmfXK+4OchqkTkDI9UxQKTkklLuNdR82cxUQqEMvlvqnYghl4m+z8IvPMSCBwksPCZf0qfAtWGvL5RSEz1509fqZH+Xns5RgCE0FKG6ojffps3+mMsVV9QZd4pIfEftEXluqbPAMTQK2PTNRK4DfSY+Xg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cYDASW+GYpY+13bZub+EVONE3w99SG4BF+emqvkhvU0=;
 b=cK+q/ZrncE80rsef8z0RfrpDnBUiNwc1BvAQu6eqnXTZEOtfQ4I0sQHKs9qy1Yw1VMZyf8EF4OVmN3GDst7mN8ffxjHwqfzfLuZBscHdnv8r4GLKRgie1qT5R8L15Kl8TBHX+PLvYnr4T8EIFZuOfhTaXOd404TuTt6NQ8dI+I0=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 07/40] xen/arm: use !CONFIG_NUMA to keep fake NUMA
 API
Thread-Topic: [XEN RFC PATCH 07/40] xen/arm: use !CONFIG_NUMA to keep fake
 NUMA API
Thread-Index: AQHXjpsrCM0mCbgWfUKWYF7VHwpa+qt64JgAgADSDXCAAGmUAIAAFMHg
Date: Fri, 20 Aug 2021 10:24:48 +0000
Message-ID:
 <DB9PR08MB6857B5CEDA012C10B192F3F19EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-8-wei.chen@arm.com>
 <e9a45fe3-e4b0-6533-8b41-ac3f10ef386a@xen.org>
 <DB9PR08MB6857D0004A59BC90866AE4C89EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <4de5b7ed-ada5-2114-2002-7f5e26a89417@xen.org>
In-Reply-To: <4de5b7ed-ada5-2114-2002-7f5e26a89417@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: E3C4C55DD3533D4DB8064F8E6A8E0C0F.0
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: d1d6af10-fe7a-4827-0a24-08d963c4c18e
x-ms-traffictypediagnostic: DB7PR08MB3275:|AM0PR08MB4289:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM0PR08MB4289210DCC5CB8B1333360329EC19@AM0PR08MB4289.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:8273;OLM:8273;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 iOpJG2VGAKU2XjPOoIMTwWO11jlGfQq4d+Ee5l1BvC3KxS2pi3xUcJcBGgY/rSp9T0gIVXQ28J1B3YZLzyXLHHJzmC4PNfOA0vtb3DwWNiioFfaMrKAgZfXvBH73JUe+yfZ2yY/3FRUcxalIfxnlwCPfPy4zb3E2SwSehbcmdh5df/VmAMwpnuX6DPWfXf4O0Af7bZN7Cuec2q/w2Q0i2TKtf51ltgy3Ksd95tazNL41YqQxpzdgkICiuFLrnBWO+nmqxyMWA6mqm9n+VgrsLysBaDt/USzhYRa4ZXi/a9b/v0T/4RieosYWJKjYro0+NpYeFskMF7JRqq78VVjC4z+tRNRGKJufHVWIb7aB9tMpb+2vNDI6uBcATOfu9PIJie1uhTzloXFU8eYulCKgobCW1NK+Q2d547IFtsuB2eFRIOf3WymilNDazWCQufj2MTL/z3WX/RSibrFeBArF5A0Do24kndwufHkK1FaxmOtxYv8LV8BpRwnLkeb9uwWGEix1Enr+aRHB+jhpQIqkBN795kIxHPXXeAQeoILqqSacXxeJm7Fpon0+zzuml48bPGaaKie4TXhLb5DPWuAFvChc4Ruq1QA5nuUvpnNMiI+gLaq6BBrGxez2i2ETQ3mAsYkxy9R2MigtMz81Iw44i8kdV1U6GfuioDe0PQtuiVQrUqh55XaKhQnr8RitJQXmTtnqWmqcVzSPL9R0PNscKA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(136003)(396003)(376002)(39860400002)(346002)(76116006)(8936002)(53546011)(71200400001)(7696005)(122000001)(186003)(478600001)(38070700005)(55016002)(64756008)(66946007)(66556008)(66476007)(316002)(6506007)(2906002)(4326008)(66446008)(38100700002)(8676002)(110136005)(86362001)(9686003)(83380400001)(33656002)(5660300002)(52536014);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?N25MVkZmWE85Y3Q0a3RyeHFxeXJZbUJlOE16STZQRTdwd09NL0l5SjBORTJ4?=
 =?utf-8?B?ZVZ3K01WbzZWaHBCVXRLR1NUcWxZOTdacFdMQ2pIV3ZWWTdSSXF4TVBLQkUw?=
 =?utf-8?B?a29UbG5sVlRyOVJlbjBjYzBweXRLcU5YZnZTVU4veng4NlNGTzdQS3VORGNa?=
 =?utf-8?B?M0xBeHY2NXhpU2Y4TU8vNlM4MjV0R05yS3EremU5RHcyaXMyQ21hNVU2K3FJ?=
 =?utf-8?B?bVgxcGx1b3hHUHMwTzF0VU40K2JaT2lmNTBZeHAxcExyVTBWa1ExalJFVXF4?=
 =?utf-8?B?eS90YWFhTzE3NUM5enBNVHBXLzhEYXlmQkYwVVhsc0U1VEdCOFFubHBycjBK?=
 =?utf-8?B?bTBVVnQ2U2YraDU1TTBJdStSbVFpS1BVajR2R013RjZnUkNWVC9aNXIrbjYy?=
 =?utf-8?B?LzFGL041cEd1TTZKejJYTGtMQk1vVkN2ckVxNWFWNnRhbDk0cHp2eGkrWisr?=
 =?utf-8?B?ZU1sUFR4emVTd0xNNVB6cFZCcEZKd1g2cUZUMkJjL0FHSGRxSlh1ZHB4TnhI?=
 =?utf-8?B?dElEYnJYT1Z4VHhwME9pbmF0a0FSSTFQRmc4T0lTNlJTQUdRdFN3QVZlMnVj?=
 =?utf-8?B?R0ZTdVlPODhTamJReVE4bzdPTEJ5dVM1N2hZNVhRa2YrZzJyTUFqS1c2UjJF?=
 =?utf-8?B?U2JlY2ZjWFQ3WFpiOThST0R3K0NCZ0hsSUtnSldRTFl1MU9seXZXV2RIcmM1?=
 =?utf-8?B?Q1ZXblBiZjFxOXNSRFBPRXJ1dldHMG1uMENlcDdNMHVJandSMThBdU12RXl6?=
 =?utf-8?B?YWFwVXlxSC9POGlJTTNtTC9qV3VuL1VReG9RSTY1QXhaN1dpdmdQNUFRVW1G?=
 =?utf-8?B?OEthaWpoUGJaekVPR1JZcDN1cXdGellnV2Y3c2J6OXJUclBibkpDTzc0ZTVG?=
 =?utf-8?B?RmFjZGpCV1JoWndhMzZSSU85M1p0Q1BkZkZXb2pPRjhUWUdZKzkydG1VSkRo?=
 =?utf-8?B?OXluNURZRlljOE83c0pxNTFlSStQQWszSkNZeTVaRWY5YzR1eW1VSHdxTXJl?=
 =?utf-8?B?R2hHVE5rcG53d0NVN2hYQWtBUW9zTVN6RC9NME55M3VuUjhXa0dkMzZyTUlL?=
 =?utf-8?B?eWZQajZrVFBxZUJBaDBwaFlLVnArSHJTRmc2K201NC9BTENRZ052dG15eTJJ?=
 =?utf-8?B?bmo0cEloaTFZY0RWVnpPMmFkazZKakh5MmxuaGxQSVE0WEhQZGlteE03YW5J?=
 =?utf-8?B?WWZDRTVmR2hZTEg1cFhQVUVWMUE1SGlpanNNMVNxdlc1dEF4SmwyM3ErWjMv?=
 =?utf-8?B?MEpVQ0pMNm5leWRSOGRWbVlvMG83WFRITTh4cnh0ZmhOUUlSdEJjWXlrSEQ4?=
 =?utf-8?B?Ty9TQ2tIMk9qN0xMRERTcnlITHBtY2ZNU244b1ZQbmkvTXZPMTh3cmlDcGhT?=
 =?utf-8?B?ZTFlcU1nSHFoaUV3NGNCZTdFZEF4dG55UmRJdGtpd0hESzgrNDAvb1lSRC9s?=
 =?utf-8?B?V00rRGpaOGRrRVJpWUN1UEw3Mytxa0txSlNGMEJsSkFxTWcremRaRHVORlVk?=
 =?utf-8?B?elZNRXRDZk1raVM5VWNUa1RZUzFQREhmbkpYVk5FOTdRNUJEbVd0RmN1RkVu?=
 =?utf-8?B?a09IRnFTb1NSMFN3ajQ2TEU4cnpkdWJHSDZObDErOFhKTUlHQlkvYUl6Rmc4?=
 =?utf-8?B?NjUzbkJhRDcvMjFCS29yL2wyVGlVa3RpZnhxanhJaTd2bEZUMFFRYXJBSDhK?=
 =?utf-8?B?d0VCQVNCQVlCc2dOc2xBbE9aaTVmVWNVTEcwRnVXeWlGdWtHcnorMGFEWWRH?=
 =?utf-8?B?UERjdUZNNlJ0SEZ6dnRtV0NnU1JJdFJmVVV0dzN2dXBHbXJsR1RuZEFrQ1dU?=
 =?utf-8?B?bW9ZSWM3R0xaTUUzNUlibVFQRWplZXgxYjN0eWc2T0JrSjJuTWFUZmptd2RH?=
 =?utf-8?Q?VacodSNTZLisg?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3275
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT035.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	f074cf75-3dc5-47e3-4754-08d963c4bcbf
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qVBBLnLuoBLheUJhi9MRiSnLgMSPcjZyiIpsNyPL1oiHbIJ5vpEFhUC57H7soRnvDzznTRbdR95ACh2jsstpiVNVWCRhIMF3hL+7x8xahWx1KDZi/VbRw+yfyjn+iokR47KuB1S574gr5MvwLsi6W1rqKTbfMZHzixPdW9Tc0U8Qh2MXXaZu/FzE6XfGyjZMs/AC1sj7XyKshemj3PXoqN8w4uBae762aTsyytJOxN/pEFdjEf4Z8jcKB2RryvXhUw5elG1yz7I4hzga4wB+5ChnfSKzKivBg31nRb6ygL4bbHVv68wQjk9FT57cU5nTxBNWUy5yODUbfGNGPeUCP09RugPkegB6GP9zDv2e1IoTYqG5BrnSMrSu1jtRe2TLQgyDO3/3Wglidib08Atv48oVZzY2J2v6D9D/Fq2DyWfeYVYDAxF2/bcb7EhmGYQrAjxvunEAbIePagnCzF0aPdTVhdPYSbG7k9YiPhFUTsihhJqRZHAI1ANTQ6TUkUvYXU/wdr6MR9ay7Zw9I5BotKE0RTcRBn+xdgR4dJ8b/t8JptO8KYazJavfAnuiVjHh3Y/fx54Dp/P75enPoPnww/OoRkoAlR62y0ahqshGh0YgD6WxdHRsJDfDpKNUKO9FFvIKrOQOWi0+dsA4Geqw/beGp6q00Ni6rNNliOfSkYS/3fPlfrrxKvDGAGTfvloTyZ7H0MHJbMVnz+59zImI0g==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(136003)(39860400002)(346002)(396003)(376002)(46966006)(36840700001)(2906002)(8936002)(26005)(5660300002)(186003)(70206006)(8676002)(47076005)(33656002)(478600001)(82310400003)(52536014)(53546011)(6506007)(81166007)(55016002)(70586007)(9686003)(336012)(316002)(83380400001)(86362001)(4326008)(82740400003)(356005)(36860700001)(110136005)(7696005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 10:24:56.1097
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d1d6af10-fe7a-4827-0a24-08d963c4c18e
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT035.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB4289

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMjDml6UgMTY6MjQN
Cj4gVG86IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgeGVuLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnOw0KPiBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqYmV1bGljaEBzdXNlLmNvbQ0K
PiBDYzogQmVydHJhbmQgTWFycXVpcyA8QmVydHJhbmQuTWFycXVpc0Bhcm0uY29tPg0KPiBTdWJq
ZWN0OiBSZTogW1hFTiBSRkMgUEFUQ0ggMDcvNDBdIHhlbi9hcm06IHVzZSAhQ09ORklHX05VTUEg
dG8ga2VlcCBmYWtlDQo+IE5VTUEgQVBJDQo+IA0KPiANCj4gDQo+IE9uIDIwLzA4LzIwMjEgMDM6
MDgsIFdlaSBDaGVuIHdyb3RlOg0KPiA+IEhpIEp1bGllbiwNCj4gDQo+IEhpIFdlaSwNCj4gDQo+
ID4NCj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogSnVsaWVuIEdy
YWxsIDxqdWxpZW5AeGVuLm9yZz4NCj4gPj4gU2VudDogMjAyMeW5tDjmnIgxOeaXpSAyMTozNA0K
PiA+PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+OyB4ZW4tZGV2ZWxAbGlzdHMueGVu
cHJvamVjdC5vcmc7DQo+ID4+IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc7IGpiZXVsaWNoQHN1c2Uu
Y29tDQo+ID4+IENjOiBCZXJ0cmFuZCBNYXJxdWlzIDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+
DQo+ID4+IFN1YmplY3Q6IFJlOiBbWEVOIFJGQyBQQVRDSCAwNy80MF0geGVuL2FybTogdXNlICFD
T05GSUdfTlVNQSB0byBrZWVwDQo+IGZha2UNCj4gPj4gTlVNQSBBUEkNCj4gPj4NCj4gPj4gSGkg
V2VpLA0KPiA+Pg0KPiA+PiBPbiAxMS8wOC8yMDIxIDExOjIzLCBXZWkgQ2hlbiB3cm90ZToNCj4g
Pj4+IE9ubHkgQXJtNjQgc3VwcG9ydHMgTlVNQSwgdGhlIENPTkZJR19OVU1BIGNvdWxkIG5vdCBi
ZQ0KPiA+Pj4gZW5hYmxlZCBmb3IgQXJtMzIuDQo+ID4+DQo+ID4+IFdoYXQgZG8geW91IG1lYW4g
YnkgImNvdWxkIG5vdCBiZSBlbmFibGVkIj8NCj4gPg0KPiA+IEkgaGF2ZSBub3Qgc2VlbiBhbnkg
QXJtMzIgaGFyZHdhcmUgc3VwcG9ydCBOVU1BLCBzbyBJIHRoaW5rDQo+ID4gd2UgZG9uJ3QgbmVl
ZCB0byBzdXBwb3J0IEFybTMyIE5VTUEuDQo+IA0KPiBJIHVuZGVyc3RhbmQgdGhhdCB0aGVyZSBt
YXkgbm90IGJlIDMyLWJpdCBwbGF0Zm9ybSB3aXRoIE5VTUEuIEFuZCB0aGF0J3MNCj4gZmluZSBz
dGF0aW5nIHRoYXQgaW4gdGhlIGNvbW1pdCBtZXNzYWdlLiBIb3dldmVyLi4uDQo+IA0KPiA+IElu
IHRoaXMgY2FzZSwgdGhpcyBLY29uZmlnDQo+ID4gb3B0aW9uIGNvdWxkIG5vdCBiZSBlbmFibGVk
IG9uIEFybTMyLg0KPiANCj4gLi4uIHlvdSBjb250aW51ZSB0byBzYXkgImNvdWxkbid0IGJlIGVu
YWJsZWQiIHdpdGhvdXQgY2xhcmlmeWluZyB3aGV0aGVyDQo+IHRoaXMgbWVhbiB0aGF0IHRoZSBi
dWlsZCB3aWxsIGJyZWFrIG9yIHRoaXMgd2FzIGp1c3Qgbm90IHRlc3RlZCBiZWNhdXNlDQo+IHlv
dSBkb24ndCBoYXZlIGFueSBwbGF0Zm9ybS4NCg0KT2ssIEkgdW5kZXJzdGFuZCB5b3VyIGNvbmNl
cm4uIFllcywgbXkgd29yZHMgd291bGQgbGVhZCB0byBtaXMtdW5kZXJzdGFuZGluZy4NCklmIHdl
IG1ha2UgQ09ORklHX05VTUEgZW5hYmxlZCBpbiBBcm0zMiwgaXQgbmVlZCBBcm0zMiB0byBpbXBs
ZW1lbnQgc29tZQ0KY29kZSB0byBzdXBwb3J0IE5VTUEgY29tbW9uIGNvZGUuIE90aGVyd2lzZSB0
aGUgQXJtMzIgYnVpbGQgd2lsbCBmYWlsZWQuDQpJIGhhdmUgbm90IHRyaWVkIHRvIGltcGxlbWVu
dCB0aG9zZSBjb2RlIGZvciBBcm0zMi4gQW5kIEkgZm91bmQgdGhlcmUgaXMNCm5vIEFybTMyIG1h
Y2hpbmUgc3VwcG9ydCBOVU1BLCBzbyBJIHdhbnRlZCBBcm0zMiB0byB1c2UgZmFrZSBOVU1BIEFQ
SQ0KYXMgYmVmb3JlLg0KDQo+IA0KPiBUbyBwdXQgaXQgZGlmZmVyZW50bHksIHRoZSBjb2RlIGZv
ciBOVU1BIGxvb2tzIGJpdG5lc3MgbmV1dHJhbC4gU28gSQ0KPiBjYW5ub3QgcmVhbGx5IHdoYXQg
d2hhdCBwcmV2ZW50IHVzIHRvIHBvdGVudGlhbGx5IHVzZSBpdCBvbiBBcm0gMzItYml0Lg0KPiAN
Cg0KWWVzLCB5b3UncmUgcmlnaHQsIGl0J3MgbmV1dHJhbC4gQnV0IGRvIHdlIHJlYWxseSBuZWVk
IHRvIGFkZCBjb2RlIHRvIGFuDQpBUkNIIHRoYXQgaXQgbWF5IG5ldmVyIHVzZT8gQW5kIGhvdyBj
YW4gd2UgdGVzdCB0aGlzIGNvZGU/IEJlZm9yZSB0aGlzIHBhdGNoLA0KSSBoYWQgY2hlY2tlZCBM
aW51eCwgYW5kIGZvdW5kIHRoYXQgT0ZfTlVNQSBvbmx5IHNlbGVjdGVkIGJ5IEFybTY0IG5vdCBB
cm0zMi4NCkJ1dCBpZiB5b3UgZmVlbCB0aGUgbmVlZCB0byBhZGQgdG8gYXJtMzIsIEkgaGF2ZSBu
byBwcm9ibGVtIHdpdGggdGhhdC4NCg0KPiA+DQo+ID4+DQo+ID4+PiBFdmVuIGluIEFybTY0LCB1
c2VycyBzdGlsbCBjYW4gZGlzYWJsZQ0KPiA+Pj4gdGhlIENPTkZJR19OVU1BIHRocm91Z2ggS2Nv
bmZpZyBvcHRpb24uIEluIHRoaXMgY2FzZSwga2VlcA0KPiA+Pj4gY3VycmVudCBmYWtlIE5VTUEg
QVBJLCB3aWxsIG1ha2UgQXJtIGNvZGUgc3RpbGwgY2FuIHdvcmsNCj4gPj4+IHdpdGggTlVNQSBh
d2FyZSBtZW1vcnkgYWxsb2NhdGlvbiBhbmQgc2NoZWR1bGVyLg0KPiA+Pj4NCj4gPj4+IFNpZ25l
ZC1vZmYtYnk6IFdlaSBDaGVuIDx3ZWkuY2hlbkBhcm0uY29tPg0KPiA+Pj4gLS0tDQo+ID4+PiAg
ICB4ZW4vaW5jbHVkZS9hc20tYXJtL251bWEuaCB8IDQgKysrKw0KPiA+Pj4gICAgMSBmaWxlIGNo
YW5nZWQsIDQgaW5zZXJ0aW9ucygrKQ0KPiA+Pj4NCj4gPj4+IGRpZmYgLS1naXQgYS94ZW4vaW5j
bHVkZS9hc20tYXJtL251bWEuaCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vbnVtYS5oDQo+ID4+PiBp
bmRleCAzMWE2ZGU0ZTIzLi5hYjljNGEyNDQ4IDEwMDY0NA0KPiA+Pj4gLS0tIGEveGVuL2luY2x1
ZGUvYXNtLWFybS9udW1hLmgNCj4gPj4+ICsrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vbnVtYS5o
DQo+ID4+PiBAQCAtNSw2ICs1LDggQEANCj4gPj4+DQo+ID4+PiAgICB0eXBlZGVmIHU4IG5vZGVp
ZF90Ow0KPiA+Pj4NCj4gPj4+ICsjaWYgIWRlZmluZWQoQ09ORklHX05VTUEpDQo+ID4+DQo+ID4+
IE5JVDogV2UgdGVuZCB0byB1c2UgI2lmbmRlZiByYXRoZXIgdGhhbiAjaWYgIWRlZmluZWQoLi4u
KQ0KPiA+Pg0KPiA+DQo+ID4gT0ssIEkgd2lsbCBjaGFuZ2UgcmVsYXRlZCBjaGFuZ2VzIGluIHRo
aXMgc2VyaWVzLg0KPiA+DQo+ID4+PiArDQo+ID4+PiAgICAvKiBGYWtlIG9uZSBub2RlIGZvciBu
b3cuIFNlZSBhbHNvIG5vZGVfb25saW5lX21hcC4gKi8NCj4gPj4+ICAgICNkZWZpbmUgY3B1X3Rv
X25vZGUoY3B1KSAwDQo+ID4+PiAgICAjZGVmaW5lIG5vZGVfdG9fY3B1bWFzayhub2RlKSAgIChj
cHVfb25saW5lX21hcCkNCj4gPj4+IEBAIC0yNSw2ICsyNyw4IEBAIGV4dGVybiBtZm5fdCBmaXJz
dF92YWxpZF9tZm47DQo+ID4+PiAgICAjZGVmaW5lIG5vZGVfc3RhcnRfcGZuKG5pZCkgKG1mbl94
KGZpcnN0X3ZhbGlkX21mbikpDQo+ID4+PiAgICAjZGVmaW5lIF9fbm9kZV9kaXN0YW5jZShhLCBi
KSAoMjApDQo+ID4+Pg0KPiA+Pj4gKyNlbmRpZg0KPiA+Pj4gKw0KPiA+Pj4gICAgI2VuZGlmIC8q
IF9fQVJDSF9BUk1fTlVNQV9IICovDQo+ID4+PiAgICAvKg0KPiA+Pj4gICAgICogTG9jYWwgdmFy
aWFibGVzOg0KPiA+Pj4NCj4gPj4NCj4gPj4gQ2hlZXJzLA0KPiA+Pg0KPiA+PiAtLQ0KPiA+PiBK
dWxpZW4gR3JhbGwNCj4gDQo+IENoZWVycywNCj4gDQo+IC0tDQo+IEp1bGllbiBHcmFsbA0K


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 10:31:14 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 10:31:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169401.309435 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH1nk-0000uP-4D; Fri, 20 Aug 2021 10:31:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169401.309435; Fri, 20 Aug 2021 10:31:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH1nk-0000uI-12; Fri, 20 Aug 2021 10:31:04 +0000
Received: by outflank-mailman (input) for mailman id 169401;
 Fri, 20 Aug 2021 10:31:03 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5+ZW=NL=arm.com=Rahul.Singh@srs-us1.protection.inumbo.net>)
 id 1mH1nj-0000qW-0H
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 10:31:03 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com (unknown
 [40.107.1.68]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id d8be3d8e-f9ef-46b1-9675-b4bb761cb216;
 Fri, 20 Aug 2021 10:31:00 +0000 (UTC)
Received: from AS8PR04CA0050.eurprd04.prod.outlook.com (2603:10a6:20b:312::25)
 by VI1PR08MB3581.eurprd08.prod.outlook.com (2603:10a6:803:79::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.19; Fri, 20 Aug
 2021 10:30:56 +0000
Received: from AM5EUR03FT055.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:312:cafe::15) by AS8PR04CA0050.outlook.office365.com
 (2603:10a6:20b:312::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Fri, 20 Aug 2021 10:30:56 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT055.mail.protection.outlook.com (10.152.17.214) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Fri, 20 Aug 2021 10:30:56 +0000
Received: ("Tessian outbound 6ba9ec11d42b:v103");
 Fri, 20 Aug 2021 10:30:55 +0000
Received: from dcffbae2affa.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 53BA4A8F-F372-4BA1-80CF-6DBCA17380B4.1; 
 Fri, 20 Aug 2021 10:30:48 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id dcffbae2affa.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 20 Aug 2021 10:30:48 +0000
Received: from AS8PR08MB6919.eurprd08.prod.outlook.com (2603:10a6:20b:39e::10)
 by AM7PR08MB5528.eurprd08.prod.outlook.com (2603:10a6:20b:dd::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 20 Aug
 2021 10:30:46 +0000
Received: from AS8PR08MB6919.eurprd08.prod.outlook.com
 ([fe80::6c11:19f8:1422:5dea]) by AS8PR08MB6919.eurprd08.prod.outlook.com
 ([fe80::6c11:19f8:1422:5dea%3]) with mapi id 15.20.4436.019; Fri, 20 Aug 2021
 10:30:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d8be3d8e-f9ef-46b1-9675-b4bb761cb216
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=N07I+lCryiHHLdPJ8XqqcqyWhzPEBfN8VjfBPIH743A=;
 b=7Ys2yZY89o8kRRp+806+GbceIXcEPBPHck0YKE53biKPXTTC+zeLb/DE/87UOUpVn4IC6pQAXlATOgtcpAufi7dLQvwyDQHawCRcPRTbIG/CfuYvs5la1tJh9q0oOrdpLLy+NceuhQLdVeELAgeldTR8oPycnILojT94FhbsZ9c=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 54de302854658eae
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZntkcrF03z3rVxPt2HyASkXep2+Efl8ZLSsAMqf58sPHJxL6Z7FSVQiZg+GIStUoTI6+QpIZP9RAtiK/PU70+xFxBXQTtC+bwZVgoZvkhyaCyjNAuWFFK8Gai/YdbVUjb5yiNC8EUW0usiD0edBb63R+N3QQxiqOUCbCyLemxwB71jbGY93ly4ex47bLCCvz/+7jU2qVCPxddb73m6AGhHUTPSk8NtORZvkQxCYBNmWe7L1CZQjGCItNitOoKNjHKa4tR+E/SY0pcitTPdy1TVA8ImoAYwcepWNF3oQQ5FNoFhkja20U51rryLG4CNMJ3ItA4E9FT8qln/LGZWrAIA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=N07I+lCryiHHLdPJ8XqqcqyWhzPEBfN8VjfBPIH743A=;
 b=kkBCMX8FCdwwojAoaal8CBiQ2MW6OVRugcNKk2/4g2S/exxqMWA3b26VKORihI7WnekyPbvdLxNKvMHWa+U2HTF2FeTf+xbMtAzUv7Lhr2SF8ciBURdQeaeK6RaZnn30ATQqjrnUpLgeH4WbvI3K05YysFtHzlo26xpNmq2fNI4rxoRahtJ02PdCnaxrnOyxijkgCyNhK1HgnI2LyK98SUEHNn0H40lCtvt+Vb12G0yhohcYnFlCOvrdm2RYfpP8hDXlMAY3V0BfL+4MoPkZzcuPSSNlgAFd9nF01ASqCueCE3gJaZddOSqRY3JnrXq9TNhpa2BA7QhXMeVhhPsnWQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=N07I+lCryiHHLdPJ8XqqcqyWhzPEBfN8VjfBPIH743A=;
 b=7Ys2yZY89o8kRRp+806+GbceIXcEPBPHck0YKE53biKPXTTC+zeLb/DE/87UOUpVn4IC6pQAXlATOgtcpAufi7dLQvwyDQHawCRcPRTbIG/CfuYvs5la1tJh9q0oOrdpLLy+NceuhQLdVeELAgeldTR8oPycnILojT94FhbsZ9c=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Julien Grall <julien@xen.org>
CC: xen-devel <xen-devel@lists.xenproject.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v1 02/14] xen/pci: solve compilation error on ARM with
 HAS_PCI enabled
Thread-Topic: [PATCH v1 02/14] xen/pci: solve compilation error on ARM with
 HAS_PCI enabled
Thread-Index: AQHXlPJ69O5DKvBqZU6v8IxjA4iLvqt6wXOAgAFxhoA=
Date: Fri, 20 Aug 2021 10:30:46 +0000
Message-ID: <7F8FC9A8-5580-4517-BF8C-640BCE778D02@arm.com>
References: <cover.1629366665.git.rahul.singh@arm.com>
 <c6009c327eaed66206fa093732ab6672530acd27.1629366665.git.rahul.singh@arm.com>
 <a0d06e37-ec02-9968-01d7-907176c7c9b3@xen.org>
In-Reply-To: <a0d06e37-ec02-9968-01d7-907176c7c9b3@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 93c5bc94-5080-4ac3-26e5-08d963c59816
x-ms-traffictypediagnostic: AM7PR08MB5528:|VI1PR08MB3581:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR08MB35813F9419982BEC9AC28E3DFCC19@VI1PR08MB3581.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:8882;OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 1uKbblRRLYilHtcprU+3xBKUaFbh8PDxkzF/CnqX8Eelz2e5W4pYCdDkld8DSA4lv0gWe+q4qUZOtNhBomuEfhv8EnXF+DV1b2loHpbZv28cCsuZog1ZG1THiKo97C/gsre77IDP2F6TBYyhflrQamZbjVrRH1EsOTmfoygZwjhXL7WvXGPyRvtAHWMyysvOmveWxZcXlDdmBiLFGvmTcCsd3sxDogWQoZGDErpuCqOQ/PCTI8p8I6YxT15/H58fICC2Nj4IKmBuXoz4D+brvtoeH0KKAnkoAlLtelDv5Sn8d0aWhIcd4SV8MO/n/zj6JqgTNyjDGzdEVfSa8l547Qcv+v2j1Qi9TZUYPvQAne3pDcATzPsO5Pl7lYMSMaF1/92gAC0IB1wkINlN91abcBmYfO9T4JXGsLWl5l9jlW41GzRn7AK+bsY3HiemtaNdxMWLxPxKfaPMHjUmZONnl7yKMJX3gj3NG4Gjccw9RJ3Lj7ceGg79Yutx7CZvTqqFMelPMwwfqaQ/xat/0l9EcEgn5kevz46H8b2xsCyADT6dBzoB4I5xAaiKoHEqG76GdZkIwYwntksXl4w9nFDSM9QjSRKJpVLNHUXVVbg4MiZNFpI5+ZPJB3QZ20SAzg1F4tAAMUd/N0DZXBT6xirD1DmZxfdy5qAGwxBZ5sKLxXwt2D8fdo3JIRXmtnOtEmQVIMCPs6KpVuK8eVcW6Txbk3xlg2wkZfE/bwanNj/3hG9fwdqTcSA9imVJVchS6/+CIpoNCi9CBBN4MgoT2rxbbn/p+UOsvFdJJhWyc8GbwWWxQnkNKH0eCvKpYefX0qsQHF98HXrGU2u97dorGYca3g==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB6919.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(39860400002)(376002)(136003)(346002)(366004)(396003)(8676002)(2616005)(6512007)(316002)(478600001)(186003)(54906003)(66556008)(66946007)(66476007)(66446008)(91956017)(2906002)(76116006)(64756008)(6486002)(5660300002)(6916009)(4326008)(53546011)(6506007)(8936002)(26005)(86362001)(33656002)(71200400001)(38070700005)(38100700002)(36756003)(122000001)(83380400001)(2004002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?ejM5bzlVTCs1RDh6Y05kRCsxK3BUM0g3RGlqbENUb1FUTXdveTdkRkk0YkxP?=
 =?utf-8?B?SVJzbkNuR0JvbmloK2pqVEd0eDdyT0dVSkRDNVphRk11QnFIbEZKaEZ1UXhv?=
 =?utf-8?B?dE1Ja2wwQ1JGeEVRMlVuVUwwcittZ0txYWsrR09PQ1JQbGtXeG9jMk1qRTUv?=
 =?utf-8?B?VFRwWC9MdkJxdi9rV05ubjJWVXhETW1Ea2lmNmVXNXJlZjJ6NmRWeDFTWVZM?=
 =?utf-8?B?Rno1MGZqZkN0eEw5d1dDMjFNNEVaUGNzVFM4RGRkNldGai9KQzltaEFXNUp3?=
 =?utf-8?B?a0NnQ0Zva3NiN0ZVNW5uZGxiTFpabEdzMG5JZHBRNmNTOUVyc1hqTll5bWY1?=
 =?utf-8?B?TkpPREg4bVdpeFpGWUlpSFBhWVBJdnhMM1FjL0prOG04YmpZMWdzdFRNN0w5?=
 =?utf-8?B?SWczRUt3SUozM3I0TTNaSy9uYk9EQ09JekIvTHBkT1E0cXNPejZYOVR4TTRl?=
 =?utf-8?B?M2xVZGVaSmsvOHBEUUpnWDkxZW5RNjlDVFlSSzhQdlNJQ3FQdmIzUHgwYit4?=
 =?utf-8?B?aDEzY0kvTE1TbmJQQkRkTWsyakdXSVJGeFpxdGFJbFRyQkRDeDdSdWp6WC9R?=
 =?utf-8?B?VVRmS0ZITGgzWEFmaDN6UjF6eTdlcmRzT3ZpL2toQXU5M0Z2SVV6RkxNQU1r?=
 =?utf-8?B?bzlsRVNlcVhHMlNQd21aWmdjemtXQkhpTkttN3djcWJFYWtQY0xTa1BYN3hN?=
 =?utf-8?B?VTNFZFpFZ2NDUGRXcXdSQWZtSTU2MDhXc1hBa1NvbStMdXVoZWxRU0NOZDAw?=
 =?utf-8?B?ekFibU5Fay84SHNXL3hCcWZqN1lJK25OaTZPUFE4WW1RWERhTHUzNlFySkIw?=
 =?utf-8?B?a3lwTy9rSGpHVktoZk9GVEQvWUx0NFd1NndZU1Fockt2elVFSG1RZmErekJy?=
 =?utf-8?B?QUlHVGF1ZThybnU1eUlWNWFPVlU0N3RSaDVHTm9DQW9VWlFua2RucVFBNjBy?=
 =?utf-8?B?b1F4djFPYTRhVTNXRFNvVm9RUHpWekQyb3FaNjNRQW5KQWY0emhjaWxEdEFu?=
 =?utf-8?B?UEl6T3VrN1VqRjcxV0JYMTJFcWhyb2RxQ2p3UXVacm5IY3ZwU3lOVHhybkc3?=
 =?utf-8?B?emc5MWwvVThSWEZZMWMySkdWeDJLSjMxaHNKS2hhN0YrSSszbU1hSng5Nk5L?=
 =?utf-8?B?bHhTRTlGd1lKVXF6NVZGMUJJTWg0MVh5bzlLeWNkRGt4OE1MUGtlMy9UdGp5?=
 =?utf-8?B?cWp3VnVzUnJ5STRZYVhrWnlyNDBWSVlsaUpsSWdnUVpCbzU5Z3hJVTFxTXFC?=
 =?utf-8?B?NkN6eUpVRnhVZFhNTWw0MkltSmhSbHBOMkhna0ppbW1lSmgwUk8yN2NUZU4x?=
 =?utf-8?B?V3loQUkvTGc3TDZjYjZmZ3VObmdSeFZmMjFyd1ZVMlExKysrejFGSzZySHBB?=
 =?utf-8?B?SytFaGhDK01GN2R4cTFEdVc3Z0FUK0IvVHp2Tkxjd1k0eDcvejZiUXVZZDcy?=
 =?utf-8?B?OXEyVm5kdjhiRGs0dVYwZ1Y0ZjYvd2hzV1BXTHFLVTNxSmJFbWdPdFhlL3VT?=
 =?utf-8?B?cTl4aCs0eWpUTzdETEFEVzkrU0t5UVJHYWNTcGZ3UFRJbENWQmgyNHA5WjY0?=
 =?utf-8?B?TjF2bDJ0amJEVU1YcmJkMFpvMFhSQXcyZDFYWithMzJjMW42NnFtbjFPUGpB?=
 =?utf-8?B?aC95WUJqZE53UU9mek9NQjg0cDUrUng0d1BWWElaWmx4NUl6TXNyanc4WkVS?=
 =?utf-8?B?am1BR3cwdFZLWWxmelR4OHNyWHNiSEdNWjY1UG80ay9BSEJqME9WRU43dHZn?=
 =?utf-8?Q?uYJm4L5FlM2EiQPx0a9F9fFeEKwHv/SyQHaHXbZ?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <77C7A4AC33CCA741BAB4AADE7C7D0675@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5528
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT055.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	7f43e29a-9d36-4133-7694-08d963c5925e
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	IH4Rt8EYpq897D39IUuCSXZYeta45g2h3RJ2KMJ/rnFA1TgoQ/mpypyi4U5ss/4H/jr/8VA+rdmMN8ou0VQ9lHuyRnWSEOFbA+iaECQvW6z4iEqStJtIY1eZJONd/vriF2bceolTHzVE7vH732aoxKUz0G0E2lp5ZkzMZDYC9NqDnKSS1TBQXjYfpCvKGtSfPcpVRy0AEjy7ghjp+wtgA2aEzjIUVYcIvnfy8QAetVsbiSu6/qC5DpaOqj3mBmsZZxPqR6PGh4wmfOOSBTXbmYE+oF6eTJ4MTmmxuEpQaj+78yOAorEtpc46XzboNW35yCWuOOxz7iMN1m73er9rmvWttzKxRiABgZwTD1chUcf1h91atLqLOuMTx75JybsI1Hm4ZSYAeQasxksnpbw9OyYJLBGCK2vW+yD750Oer3VbkYINgSUi0XoEBs1o9z8qJX8tu7+SU1BAEgGtSMwFKP6fRH0N3g8iO57hvEYM+rB8dRusHABPfxWMFhXLvX4D7MFd9/5AarFODFvyzq1uiOnQRDlmzMigSeSRtnS5zPfv11kM9JuAR0TRms1Nqi+c3O+Is6oSgU+t32uEkQ0f/pJz/bDjLAgyBO92wHTfH9+W0xHx+lWP8wYYuRo1vKnIy67s42RJFRqlIX7RINFB4XqBAeQKTepRA1mUh1Qma/jEReyxYZUb0TOhrBEP6fDltdyRTOfChyswZFOu4iPyut4tLZ7r2C1O2JWulGIXK2lxNKLbihvc30UhmwvXl4UL2LK1Vonu4TSvN5CNGV0OEM8XETwg6vLIDxBzR4Q16YAqDPLgNVNMP0NkJmO7Uv1y
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(346002)(396003)(136003)(39860400002)(376002)(36840700001)(46966006)(47076005)(26005)(82740400003)(70206006)(107886003)(6506007)(5660300002)(81166007)(6862004)(2616005)(36860700001)(8936002)(33656002)(86362001)(70586007)(4326008)(82310400003)(8676002)(54906003)(186003)(36756003)(356005)(6486002)(6512007)(336012)(316002)(2906002)(83380400001)(478600001)(53546011)(2004002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 10:30:56.0211
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 93c5bc94-5080-4ac3-26e5-08d963c59816
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT055.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3581

SGkgSnVsaWVuLA0KDQo+IE9uIDE5IEF1ZyAyMDIxLCBhdCAxOjI4IHBtLCBKdWxpZW4gR3JhbGwg
PGp1bGllbkB4ZW4ub3JnPiB3cm90ZToNCj4gDQo+IEhpIFJhaHVsLA0KPiANCj4gT24gMTkvMDgv
MjAyMSAxMzowMiwgUmFodWwgU2luZ2ggd3JvdGU6DQo+PiBDb21waWxhdGlvbiBlcnJvciBpcyBv
YnNlcnZlZCB3aGVuIEhBU19QQ0kgaXMgZW5hYmxlZCBmb3IgQVJNDQo+PiBhcmNoaXRlY3R1cmUu
DQo+IA0KPiBUbyBiZSBwZWRhbnRpYywgd2hhdCB5b3UgYXJlIHRyeWluZyB0byBzb2x2ZSBpcyBu
b3QgYSBjb21waWxhdGlvbiBlcnJvciBidXQgdGhlIGZhY3QgdGhhdCB0aGUgUENJIG1hbmRhdGVz
IGhlbHBlcnMgdGhhdCBkb2Vzbid0IHlldCBleGlzdCBvbiBBcm0uIFNvLi4uDQo+IA0KPj4gQWRk
IGRlZmluaXRpb24gZm9yIGFyY2hfaW9tbXVfdXNlX3Blcm1pdHRlZCgpIGFuZA0KPj4gYXJjaF9w
Y2lfY2xlYW5fcGlycXMoKS5JbXBsZW1lbnQgZHVtbXkgZnVuY3Rpb25zIGZvciBwY2lfY29uZl9y
ZWFkKigpIHRvDQo+PiBmaXggY29tcGlsYXRpb24gZXJyb3IuDQo+IA0KPiAuLi4gSSBhbSBub3Qg
cmVhbGx5IGluIGZhdm9yIG9mIGFkZGluZyBkdW1teSBpbXBsZW1lbnRhdGlvbiBoZXJlLiBJbnN0
ZWFkLCB0aGUgc2VyaWVzIHNob3VsZCBiZSByZS1vcmRlcmVkIHNvIHdlIGFkZCB0aGUgcGNpLWFj
Y2VzcyBoZWxwZXJzIGZpcnN0IGFuZCB0aGVuIGVuYWJsZSBIQVNfUENJIHRvd2FyZHMgdGhlIGVu
ZCBvZiB0aGUgc2VyaWVzLg0KDQpPay4gSSB3aWxsIHJlbW92ZSB0aGUgZHVtbXkgZnVuY3Rpb24g
aW1wbGVtZW50YXRpb24gZnJvbSB0aGlzIHBhdGNoIGFuZCB3aWxsIGVuYWJsZSB0aGUgSEFTX1BD
SSANCmFmdGVyIGFkZGluZyB0aGUgUENJIGFjY2VzcyBmdW5jdGlvbnMgcGF0Y2ggYW5kIG90aGVy
IGJpdHMuDQoNCj4gDQo+PiBwY2kuYzogSW4gZnVuY3Rpb24g4oCYZGVhc3NpZ25fZGV2aWNl4oCZ
Og0KPj4gcGNpLmM6ODQ5OjQ5OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rp
b24g4oCYcGNpX3RvX2RlduKAmTsNCj4+IGRpZCB5b3UgbWVhbiDigJhkdF90b19kZXbigJk/IFst
V2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQ0KPj4gICAgICAgICAgICAgcGNp
X3RvX2RldihwZGV2KSk7DQo+PiBwY2kuYzoxODogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgcGNp
X2NvbmZfcmVhZDE24oCZDQo+PiBwY2kuYzo4ODA6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGFy
Y2hfcGNpX2NsZWFuX3BpcnFz4oCZDQo+PiBwY2kuYzoxMzkyOiB1bmRlZmluZWQgcmVmZXJlbmNl
IHRvIGBhcmNoX2lvbW11X3VzZV9wZXJtaXR0ZWQnDQo+PiBTaWduZWQtb2ZmLWJ5OiBSYWh1bCBT
aW5naCA8cmFodWwuc2luZ2hAYXJtLmNvbT4NCj4+IC0tLQ0KPj4gIHhlbi9hcmNoL2FybS9NYWtl
ZmlsZSAgICAgICAgICAgICAgIHwgIDEgKw0KPj4gIHhlbi9hcmNoL2FybS9wY2kvTWFrZWZpbGUg
ICAgICAgICAgIHwgIDIgKw0KPj4gIHhlbi9hcmNoL2FybS9wY2kvcGNpLWFjY2Vzcy5jICAgICAg
IHwgNjEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4+ICB4ZW4vYXJjaC9hcm0vcGNp
L3BjaS5jICAgICAgICAgICAgICB8IDMyICsrKysrKysrKysrKysrKw0KPj4gIHhlbi9kcml2ZXJz
L3Bhc3N0aHJvdWdoL2FybS9pb21tdS5jIHwgIDUgKysrDQo+PiAgeGVuL2luY2x1ZGUvYXNtLWFy
bS9wY2kuaCAgICAgICAgICAgfCAzMyArKysrKysrKysrKysrKy0tDQo+PiAgNiBmaWxlcyBjaGFu
Z2VkLCAxMzEgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkNCj4+ICBjcmVhdGUgbW9kZSAx
MDA2NDQgeGVuL2FyY2gvYXJtL3BjaS9NYWtlZmlsZQ0KPj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCB4
ZW4vYXJjaC9hcm0vcGNpL3BjaS1hY2Nlc3MuYw0KPj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCB4ZW4v
YXJjaC9hcm0vcGNpL3BjaS5jDQo+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL01ha2VmaWxl
IGIveGVuL2FyY2gvYXJtL01ha2VmaWxlDQo+PiBpbmRleCAzZDNiOTdiNWI0Li4wZTE0YTVlNWM4
IDEwMDY0NA0KPj4gLS0tIGEveGVuL2FyY2gvYXJtL01ha2VmaWxlDQo+PiArKysgYi94ZW4vYXJj
aC9hcm0vTWFrZWZpbGUNCj4+IEBAIC02LDYgKzYsNyBAQCBpZm5lcSAoJChDT05GSUdfTk9fUExB
VCkseSkNCj4+ICBvYmoteSArPSBwbGF0Zm9ybXMvDQo+PiAgZW5kaWYNCj4+ICBvYmotJChDT05G
SUdfVEVFKSArPSB0ZWUvDQo+PiArb2JqLSQoQ09ORklHX0hBU19QQ0kpICs9IHBjaS8NCj4+ICAg
IG9iai0kKENPTkZJR19IQVNfQUxURVJOQVRJVkUpICs9IGFsdGVybmF0aXZlLm8NCj4+ICBvYmot
eSArPSBib290ZmR0LmluaXQubw0KPj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9wY2kvTWFr
ZWZpbGUgYi94ZW4vYXJjaC9hcm0vcGNpL01ha2VmaWxlDQo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0
NA0KPj4gaW5kZXggMDAwMDAwMDAwMC4uYTllZTBiOWI0NA0KPj4gLS0tIC9kZXYvbnVsbA0KPj4g
KysrIGIveGVuL2FyY2gvYXJtL3BjaS9NYWtlZmlsZQ0KPj4gQEAgLTAsMCArMSwyIEBADQo+PiAr
b2JqLXkgKz0gcGNpLm8NCj4+ICtvYmoteSArPSBwY2ktYWNjZXNzLm8NCj4+IGRpZmYgLS1naXQg
YS94ZW4vYXJjaC9hcm0vcGNpL3BjaS1hY2Nlc3MuYyBiL3hlbi9hcmNoL2FybS9wY2kvcGNpLWFj
Y2Vzcy5jDQo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPj4gaW5kZXggMDAwMDAwMDAwMC4uYjkz
ODA0N2MwMw0KPj4gLS0tIC9kZXYvbnVsbA0KPj4gKysrIGIveGVuL2FyY2gvYXJtL3BjaS9wY2kt
YWNjZXNzLmMNCj4+IEBAIC0wLDAgKzEsNjEgQEANCj4+ICsvKg0KPj4gKyAqIENvcHlyaWdodCAo
QykgMjAyMSBBcm0gTHRkLg0KPj4gKyAqDQo+PiArICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCj4+ICsgKiBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24g
MiBhcw0KPj4gKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLg0K
Pj4gKyAqDQo+PiArICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsDQo+PiArICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCj4+ICsgKiBNRVJDSEFOVEFCSUxJ
VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQo+PiArICog
R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCj4+ICsgKg0KPj4g
KyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlDQo+PiArICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNl
ZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uDQo+PiArICovDQo+PiArDQo+PiArI2lu
Y2x1ZGUgPHhlbi9wY2kuaD4NCj4+ICsNCj4+ICtzdGF0aWMgdWludDMyX3QgcGNpX2NvbmZpZ19y
ZWFkKHBjaV9zYmRmX3Qgc2JkZiwgdW5zaWduZWQgaW50IHJlZywNCj4+ICsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBsZW4pDQo+PiArew0KPj4gKyAgICByZXR1
cm4gfjBVOw0KPj4gK30NCj4+ICsNCj4+ICtzdGF0aWMgdm9pZCBwY2lfY29uZmlnX3dyaXRlKHBj
aV9zYmRmX3Qgc2JkZiwgdW5zaWduZWQgaW50IHJlZywNCj4+ICsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVuc2lnbmVkIGludCBsZW4sIHVpbnQzMl90IHZhbCkNCj4+ICt7DQo+PiArfQ0K
Pj4gKw0KPj4gKy8qDQo+PiArICogV3JhcHBlcnMgZm9yIGFsbCBQQ0kgY29uZmlndXJhdGlvbiBh
Y2Nlc3MgZnVuY3Rpb25zLg0KPj4gKyAqLw0KPj4gKw0KPj4gKyNkZWZpbmUgUENJX09QX1dSSVRF
KHNpemUsIHR5cGUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
DQo+PiArICAgIHZvaWQgcGNpX2NvbmZfd3JpdGUjI3NpemUgKHBjaV9zYmRmX3Qgc2JkZix1bnNp
Z25lZCBpbnQgcmVnLCB0eXBlIHZhbCkgIFwNCj4+ICt7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPj4g
KyAgICBwY2lfY29uZmlnX3dyaXRlKHNiZGYsIHJlZywgc2l6ZSAvIDgsIHZhbCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcDQo+PiArfQ0KPj4gKw0KPj4gKyNkZWZpbmUgUENJX09QX1JF
QUQoc2l6ZSwgdHlwZSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcDQo+PiArICAgIHR5cGUgcGNpX2NvbmZfcmVhZCMjc2l6ZSAocGNpX3NiZGZfdCBzYmRmLCB1
bnNpZ25lZCBpbnQgcmVnKSAgICAgICAgICAgIFwNCj4+ICt7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0K
Pj4gKyAgICByZXR1cm4gcGNpX2NvbmZpZ19yZWFkKHNiZGYsIHJlZywgc2l6ZSAvIDgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcDQo+PiArfQ0KPj4gKw0KPj4gK1BDSV9PUF9SRUFEKDgs
IHU4KQ0KPj4gK1BDSV9PUF9SRUFEKDE2LCB1MTYpDQo+PiArUENJX09QX1JFQUQoMzIsIHUzMikN
Cj4+ICtQQ0lfT1BfV1JJVEUoOCwgdTgpDQo+PiArUENJX09QX1dSSVRFKDE2LCB1MTYpDQo+PiAr
UENJX09QX1dSSVRFKDMyLCB1MzIpDQo+PiArDQo+PiArLyoNCj4+ICsgKiBMb2NhbCB2YXJpYWJs
ZXM6DQo+PiArICogbW9kZTogQw0KPj4gKyAqIGMtZmlsZS1zdHlsZTogIkJTRCINCj4+ICsgKiBj
LWJhc2ljLW9mZnNldDogNA0KPj4gKyAqIHRhYi13aWR0aDogNA0KPj4gKyAqIGluZGVudC10YWJz
LW1vZGU6IG5pbA0KPj4gKyAqIEVuZDoNCj4+ICsgKi8NCj4+IGRpZmYgLS1naXQgYS94ZW4vYXJj
aC9hcm0vcGNpL3BjaS5jIGIveGVuL2FyY2gvYXJtL3BjaS9wY2kuYw0KPj4gbmV3IGZpbGUgbW9k
ZSAxMDA2NDQNCj4+IGluZGV4IDAwMDAwMDAwMDAuLmRjNTVkMjM3NzgNCj4+IC0tLSAvZGV2L251
bGwNCj4+ICsrKyBiL3hlbi9hcmNoL2FybS9wY2kvcGNpLmMNCj4+IEBAIC0wLDAgKzEsMzIgQEAN
Cj4+ICsvKg0KPj4gKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcm0gTHRkLg0KPj4gKyAqDQo+PiAr
ICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vciBtb2RpZnkNCj4+ICsgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcw0KPj4gKyAqIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLg0KPj4gKyAqDQo+PiArICogVGhpcyBwcm9ncmFtIGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQo+PiArICog
YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu
dHkgb2YNCj4+ICsgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlDQo+PiArICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4NCj4+ICsgKg0KPj4gKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQo+PiArICogYWxvbmcgd2l0
aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2Vz
Lz4uDQo+PiArICovDQo+PiArDQo+PiArI2luY2x1ZGUgPHhlbi9wY2kuaD4NCj4+ICsNCj4+ICtp
bnQgYXJjaF9wY2lfY2xlYW5fcGlycXMoc3RydWN0IGRvbWFpbiAqZCkNCj4+ICt7DQo+PiArICAg
IHJldHVybiAwOw0KPj4gK30NCj4gDQo+IFBsZWFzZSBhZGQgYSBjb21tZW50IGV4cGxhaW5pbmcg
d2h5IHRoaXMganVzdCByZXR1cm5zIDAuDQoNCkhlcmUgaXMgdGhlIGNvbW1lbnQgdGhhdCBJIHdp
bGwgYWRkIGluIG5leHQgdmVyc2lvbi4NCi8qDQogKiBSZXR1cm4gMCBhcyBvbiBBUk0gdGhlcmUg
aXMgbm8gcGNpIHBoeXNpY2FsIGlycXMgdGhhdCByZXF1aXJlZCBjbGVhbnVwLg0KICovIA0KDQo+
IA0KPj4gKw0KPj4gKy8qDQo+PiArICogTG9jYWwgdmFyaWFibGVzOg0KPj4gKyAqIG1vZGU6IEMN
Cj4+ICsgKiBjLWZpbGUtc3R5bGU6ICJCU0QiDQo+PiArICogYy1iYXNpYy1vZmZzZXQ6IDQNCj4+
ICsgKiB0YWItd2lkdGg6IDQNCj4+ICsgKiBpbmRlbnQtdGFicy1tb2RlOiBuaWwNCj4+ICsgKiBF
bmQ6DQo+PiArICovDQo+PiBkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYXJt
L2lvbW11LmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vaW9tbXUuYw0KPj4gaW5kZXgg
ZGIzYjA3YTU3MS4uZmRlYzFjNTU0NyAxMDA2NDQNCj4+IC0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0
aHJvdWdoL2FybS9pb21tdS5jDQo+PiArKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0v
aW9tbXUuYw0KPj4gQEAgLTEzNSwzICsxMzUsOCBAQCB2b2lkIGFyY2hfaW9tbXVfZG9tYWluX2Rl
c3Ryb3koc3RydWN0IGRvbWFpbiAqZCkNCj4+ICB2b2lkIF9faHdkb21faW5pdCBhcmNoX2lvbW11
X2h3ZG9tX2luaXQoc3RydWN0IGRvbWFpbiAqZCkNCj4+ICB7DQo+PiAgfQ0KPj4gKw0KPj4gK2Jv
b2wgYXJjaF9pb21tdV91c2VfcGVybWl0dGVkKGNvbnN0IHN0cnVjdCBkb21haW4gKmQpDQo+PiAr
ew0KPj4gKyAgICByZXR1cm4gdHJ1ZTsNCj4+ICt9DQo+IA0KPiBQbGVhc2UgYWRkIGEgY29tbWVu
dCBleHBsYWluaW5nIHdoeSByZXR1cm5pbmcgdHJ1ZSBpcyBhbHdheXMgZmluZS4NCg0KSGVyZSBp
cyB0aGUgY29tbWVudCB0aGF0IEkgd2lsbCBhZGQgaW4gbmV4dCB2ZXJzaW9uOg0KDQovKg0KICog
UmV0dXJuIHRydWUgYXMgaW9tbXUgdXNlIGlzIGFsd2F5cyBwZXJtaXR0ZWQgaWYgbWVtLXNoYXJp
bmcsIA0KICogbWVtLXBhZ2luZywgb3IgbG9nLWRpcnR5IGZ1bmN0aW9uYWxpdHkgaXMgbm90IGVu
YWJsZWQuDQogKi8gDQoNClJlZ2FyZHMsDQpSYWh1bA==


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 10:50:18 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 10:50:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169413.309467 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH269-0003YQ-5L; Fri, 20 Aug 2021 10:50:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169413.309467; Fri, 20 Aug 2021 10:50:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH269-0003Xa-1M; Fri, 20 Aug 2021 10:50:05 +0000
Received: by outflank-mailman (input) for mailman id 169413;
 Fri, 20 Aug 2021 10:50:03 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=pH7i=NL=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mH267-0003DM-5Y
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 10:50:03 +0000
Received: from EUR03-AM5-obe.outbound.protection.outlook.com (unknown
 [40.107.3.44]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ee3e4b3d-4312-48ad-a67f-86d70d784bed;
 Fri, 20 Aug 2021 10:50:00 +0000 (UTC)
Received: from AM5PR1001CA0065.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:206:15::42) by DBBPR08MB4821.eurprd08.prod.outlook.com
 (2603:10a6:10:d5::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.24; Fri, 20 Aug
 2021 10:49:58 +0000
Received: from AM5EUR03FT043.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:206:15:cafe::5a) by AM5PR1001CA0065.outlook.office365.com
 (2603:10a6:206:15::42) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.18 via Frontend
 Transport; Fri, 20 Aug 2021 10:49:58 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT043.mail.protection.outlook.com (10.152.17.43) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Fri, 20 Aug 2021 10:49:58 +0000
Received: ("Tessian outbound 1a0c40aa17d8:v103");
 Fri, 20 Aug 2021 10:49:57 +0000
Received: from d2cd7d3aa593.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 DA8DA143-304B-4266-8841-D56A62D46575.1; 
 Fri, 20 Aug 2021 10:49:51 +0000
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d2cd7d3aa593.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 20 Aug 2021 10:49:51 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB6PR0801MB1877.eurprd08.prod.outlook.com (2603:10a6:4:72::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 20 Aug
 2021 10:49:50 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.019; Fri, 20 Aug 2021
 10:49:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ee3e4b3d-4312-48ad-a67f-86d70d784bed
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4CjrrO265wf0aGcX4XJfwZNR15y2eAMmUON8dxOA9VA=;
 b=9BbNS9Jjl41FuhgPDIJRBzaysXzPrMIB5GijKO2sr9mhMiqsDoNrPLDBxX8e3e0lSegpdHsnpDXBn3oKMX8t/lkE70wf+l80jXQoqVy3DHvHt0b8Q1ebYsFLrjK3dEO/gUXpmWaLi/FRU+6B9QTNvY0hXjS9ekAMOZcEwKpE6bs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 4064da89f091ea73
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=H2wJWOMxt6b2NX3oPcKc0tsbVLy2F3HyNkQWckT24ZrEuWV2DNokPAjme1dKJImw+82e7Tm5IKmiksDqUbjd2Jz6jic+SdZvlUueddGPL+LCvhQJsV2YwifQtuN5XK4PaMeOGNIf3LZsVAWTSbJVSHvdTXOXHb3ZGFwA4Iv9p9eYk/HkHU8nKSaicWTDPzqY/93CjaeRvA9e9f0xNZMcz1sdZYR8bpvwGA2xfxyTSzC3CobyTtrJCHs33sMJo4wMjuodQpwcOTNRftPbMUuvZvYa2q6GwteMR2FlPRZyXFpTmBFIm4uiiP9UA0/eD+s6i1TMDUDP7vI1L0HEsZuneA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4CjrrO265wf0aGcX4XJfwZNR15y2eAMmUON8dxOA9VA=;
 b=FcGu0JZZh7EqvpZ5k0HmhBtMd9STsl59ZEBrCJVrQ27vC2nWyBhM3OGcDuGW7lS7d772jiAj3DTHeoUQ3Eiis6Xr/FNmm3TyUIKtxBsIdReMl9KqEkTJfc+d2+Q2lbDNdaAp/qsHlHwkV9+D8MTE7/vRp5ESnpR2aJKCSY23ryPqtiHCowc0W/vSKPlenihJCW1Oe+OisYzoONhOg7ZfqQB4P97rDiw+QC4GOnyTm2CAzNdlQRuhECx7dmZrenBvoXJ7J3FVbXgQbnKv+YefTpp1h6/873Igg7sFV/wtORDEZTVHu1WgN57pTosLzVj32gI3De8sPYdKZz+tojskuQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4CjrrO265wf0aGcX4XJfwZNR15y2eAMmUON8dxOA9VA=;
 b=9BbNS9Jjl41FuhgPDIJRBzaysXzPrMIB5GijKO2sr9mhMiqsDoNrPLDBxX8e3e0lSegpdHsnpDXBn3oKMX8t/lkE70wf+l80jXQoqVy3DHvHt0b8Q1ebYsFLrjK3dEO/gUXpmWaLi/FRU+6B9QTNvY0hXjS9ekAMOZcEwKpE6bs=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 17/40] xen/arm: Introduce DEVICE_TREE_NUMA Kconfig
 for arm64
Thread-Topic: [XEN RFC PATCH 17/40] xen/arm: Introduce DEVICE_TREE_NUMA
 Kconfig for arm64
Thread-Index: AQHXjps53Qsrm+WTv06/kg1OUu3sHKt64bkAgADV/ZCAAGlegIAAHTUQ
Date: Fri, 20 Aug 2021 10:49:50 +0000
Message-ID:
 <DB9PR08MB6857E4371D0E31C65E952C0E9EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-18-wei.chen@arm.com>
 <1fbcb8a6-67b6-e2d6-6524-cfce7a8a6557@xen.org>
 <DB9PR08MB68571FFA0E971E3A60C588EA9EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <fe477382-c078-9647-49f8-ef40a9e20b50@xen.org>
In-Reply-To: <fe477382-c078-9647-49f8-ef40a9e20b50@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: EAC63C512C3C4141B61853DB3D4804F8.0
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 6027197b-07f7-471b-1473-08d963c840e3
x-ms-traffictypediagnostic: DB6PR0801MB1877:|DBBPR08MB4821:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<DBBPR08MB482118321FBA3B584CA9A3579EC19@DBBPR08MB4821.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:9508;OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 FNcTJN72YX8Hhm/jtvPJgKjcJS+D3KfE//qu1r6dviJYRpp489TFv8mhTduzQ8IjOd//xqRykrE2Rzt65OWxnvUDSClUpMsMNkWpXc+vBjKOsweDiZmNk0mJv5S4wilGMqwnZN/8W9wD5IpVMSZ3CUaNgU9bEJJTjr53HC2eT+t3dfu5HnfkpCOZd3IkxbIukmcZEb79ockXiyVFefPc/sk2nkt5qbcnVqqy4FV2vhdb6BD/dsD9KGHDVc+P+sqH10UAcbgNwJn/tdlug3NaO7QI2onTsrOU/N7oMyDrBUQUQWBbotjELUmhpj4kYgmY10E6LLKTWh1+m9ALhfH9qmSkWPfGZGJsWzSO1V9JEcvGeyxI/UAfA+XRh6KiJGqcDZqxPSHmgNJIdzcYAKc5vqH8x2BDHZNDT85lGX077G/vAQkiB0JV4+0mrISOj27Puk9S+vbeXlMYWyEw09dAnNdE5iq5wRup8GkVNlGmX1VsmKy1WkhgjftNnn8dcu9nObLm5YJ+qF/UcPwBiFuqZNEDBwgxH8NoNuw+LAtU7vt+xVSOTte1dju7WtaOeaenY+4mLgpfzfEhaSJE76jZA12XhCHMPu10UupWGCkj7a59ydoyWndBDj2JJX/hNKOA8CNadeEjLpBN7+8AbtO+MFsJAPN5ftFpV94Bv0FjNonnPLzpn9//8IEmhso/4x9DTdptSgm/nXn7PuC09msDcQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(376002)(136003)(346002)(366004)(39860400002)(8936002)(8676002)(2906002)(316002)(86362001)(122000001)(38100700002)(33656002)(5660300002)(6506007)(110136005)(4326008)(55016002)(71200400001)(52536014)(53546011)(7696005)(478600001)(66946007)(83380400001)(66446008)(66476007)(64756008)(9686003)(66556008)(38070700005)(186003)(76116006);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?R01wOGNzZ3BOWFo3ejloMzYwamFuc1hTeGdJSStDZUZoR2dGeWFVWmM1MGJX?=
 =?utf-8?B?NFFwZDBiamhNUnJRdG1HMVpCOHlPTXpDc0JLTGlzejFuWmRwd1h2ZGw4T3Vh?=
 =?utf-8?B?RVFyakpvYzJSSXJTQWlCanNVM3N3UlR2SVJZdTNyZkp1aC9WbjF4dXJVcVJ6?=
 =?utf-8?B?U25kRFRnQTFDcCtZbU5DdWViTytEUjJXREQ4dzFwNWRyZDNSTHdjbWNKOWtP?=
 =?utf-8?B?N24zZCtzNEFxdStmWkV5TlNNbUZHdDVxQ0pjbVBDZ21ZL0pURHA0cGgxdXd5?=
 =?utf-8?B?d2VCT2UyS1Ercjh2TWNJUE1hOVlFTTZGUERlZDAwb1MxNXRyaGl1Z3czK3Z2?=
 =?utf-8?B?SXBmNFJ3OGUzU1dkRXZaZFRuOS9RdnNiNWRHVFd1YitOU0F1OHZXVW04OVAr?=
 =?utf-8?B?aXlKOXhkNE01R0VSaGN5SXU3U2d5Yzg3WUlHTnJWeHdBbzlLOElmdld5SGpG?=
 =?utf-8?B?VGNWdnNsSkh4TmN0T2VWQXBCVEJoWWVZNnBtay9sYjdRTnhmTExoR1N6WXl3?=
 =?utf-8?B?dXpzbHlVZmVpd2dhWUYrN1pTWjl4YUN2ZlpoMGJvMzNKa253YitzWTEzNTlE?=
 =?utf-8?B?bDdEOTdEWXBZWTZuS1VIMndYdXJCTVVKS1pRM3FqdjhUTm1hWUM2NVloU3hw?=
 =?utf-8?B?aFZvMmdBcVJ4Y2phVDBWVDFrTGwwTGVJUkduWjdQMXN0L0Q3My9tREdzeity?=
 =?utf-8?B?c2M0cWZhdk9tQy94RnF4dFBiczQxOVlPYUNYVnRaWlhjUXJpd08wMGFkQWYx?=
 =?utf-8?B?ejJmb29oUm9FYllFcENqekt6MVQyT3JyT3FISzJqWmJielRHWklucXQrYmRL?=
 =?utf-8?B?OFRiTk9WYzB1Z2xLRkpzWUhEUHpRQTJkdFB0Q2ZOZlU1QlRqYzNHanFlZDNK?=
 =?utf-8?B?SkpjZDdhcnJnR2RCMHpkcFhQRUF0MWxuejhPVytXbU1OQWppRkJhWm9mRGkv?=
 =?utf-8?B?ZzdWZmtSenBRUDNIZS9BRlZkb1FGOFpPZ2sveUJSMlRualFqNFNZSVVoWU84?=
 =?utf-8?B?dUJ0VndROTR3eUhzRmlPbklMZmhzRFJRdDBTem0zUUo2YzVpeHpZUkZjaUhE?=
 =?utf-8?B?dEFpNUxDcUZNVzEwZEpsSWZ2TUxKbmVBbzVCZjBkZFMyeDlDUDVjWXJZQXZM?=
 =?utf-8?B?TzNNcFB1VmJxaUZFbHk5NUFabDl5RnBRNy9HbFZoUkxjcU9IMnh0ZWtLRXV3?=
 =?utf-8?B?azlLSzU4MGVRYWZWL08yWjlLQW5tSmdBMmZTQXZFc1dHK1R6ZWJGaTA5dS9x?=
 =?utf-8?B?U2syM0ZqNjF2WG9wejVTRm1xeXVKbC9rQ1Nmc0xtTXpDZWZhRHVEdmpRWEQr?=
 =?utf-8?B?L3pFUjNGbktwd00yZ1RZY1F2bGRWR0YyTmJuWkQvdEpGekJENjZSd2JxWEhK?=
 =?utf-8?B?VTBCaXVqZ0RicEt6RnIrZXJJS0toRVIzTjNJVXpaZFdmVU1ZMXJCbk5HQW5U?=
 =?utf-8?B?VDlaMnplMG1OMmVoUGZSSUlGbU10Mm53Z2VDaEQ5ZEFzNFpBUFRLWUJZSW12?=
 =?utf-8?B?U09sUjIweFdseWpGd2RPV3c3dVpFMkRBa0lvNGswUkJIU2k5c1pOZjlZVFZE?=
 =?utf-8?B?R2xyK1dyRWxERFlvZy96K1ZlWU1tQ2JjZEhEYWdWVE5GblUwam4wVGtIbkFF?=
 =?utf-8?B?enQ3NTdjYnN5c0FMLzEyYlJiVFozNGhTMGU4V0FyMm54YkZTUmJIeE1JTnN6?=
 =?utf-8?B?d0lzY1ZXYWhOUjRybEtjRG9UOUNGWXBxZ2JxT2UvbzlUQ29nUGc3S01iOUtK?=
 =?utf-8?B?SXlmdWVabWRYZTBWNVZmYlYzQ0IxYnZtNEFvVXI1aUFZdmF6RHRvaG1xY08x?=
 =?utf-8?B?bEZJeVZvd3daellSdWRVbVBOUnRPNGtBTkRCdWFsbFVPTG9kalJjUEViWVNG?=
 =?utf-8?Q?WvEVl8tAVKmxZ?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB1877
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT043.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	e375ff1b-5af7-48c8-c3f6-08d963c83c55
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	wWHAPiLRu7zJtgXSkuWuamO1wOhXvMti2mkt3FveqkZQ77O+IonMx2UDvrkar5QE7Q9rzqW6ZJl6ZsVhFoN9hjzbiKKcamoT5kg4ewoHleIGE76bCWomEpR+9o0fqq34rEEDOba0qHwm5StA+lA5ZgB11yAxBUanKcudpLHjyNhRfZPp0nftB5ueH6Gi2MngacCPOjAz+BuLR2Mstm900mpLl4Y5y/NvunhJy7KRF0AV6iaWYwJKINvlqhWTILCU0WUL6Z9ezTYNW0QQtqbL0gcWpYa0dbu1AgNNDsSDjSwbDePUK3HOspo+1Pvq0bkPgjVqS441MMUzvTpu2XuqzGLilhlsMyj6SqGjd4iR9Vq6cQaTm0IznnaZpW08pMeWJN0AMLv1Gmuboin8OIQ0zkItVRxBhC999RJm68hdFHV7nqv03Q4ByjOHC1mYcivaF4ngjifMbPS2ptU8N+pUolXq6MMIExbbTYxhZRTD7TNMYOtKkneDWJK+pn89EdUws5pKze0ueZx8TDTQyYaPcKCxFmNqOvVJDyzfg5Ek6MeVHf8c3O3XGkklhO1qsU3QE4rUGZ9HK7aqN2uRHjpxh+Eqa+m1v0L2C78ERa+trbGHxc6iGDnj0JIMpMlHUjJ++MKnxyuGsPNjIp79X6+i8qpNdVWfNiCWIjU1MzAxGzv6WPkf8cs7nMEb4tsrYZVPdlMEGUg+i/eVtE+4P9FBOw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(46966006)(36840700001)(83380400001)(4326008)(508600001)(2906002)(53546011)(55016002)(8676002)(82310400003)(7696005)(186003)(26005)(86362001)(33656002)(336012)(5660300002)(6506007)(81166007)(316002)(356005)(110136005)(9686003)(47076005)(8936002)(70586007)(52536014)(36860700001)(70206006);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 10:49:58.2318
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6027197b-07f7-471b-1473-08d963c840e3
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT043.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB4821

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMjDml6UgMTY6NDEN
Cj4gVG86IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgeGVuLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnOw0KPiBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqYmV1bGljaEBzdXNlLmNvbQ0K
PiBDYzogQmVydHJhbmQgTWFycXVpcyA8QmVydHJhbmQuTWFycXVpc0Bhcm0uY29tPg0KPiBTdWJq
ZWN0OiBSZTogW1hFTiBSRkMgUEFUQ0ggMTcvNDBdIHhlbi9hcm06IEludHJvZHVjZSBERVZJQ0Vf
VFJFRV9OVU1BDQo+IEtjb25maWcgZm9yIGFybTY0DQo+IA0KPiBPbiAyMC8wOC8yMDIxIDAzOjMw
LCBXZWkgQ2hlbiB3cm90ZToNCj4gPiBIaSBKdWxpZW4sDQo+IA0KPiBIaSBXZWksDQo+IA0KPiA+
PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBKdWxpZW4gR3JhbGwgPGp1
bGllbkB4ZW4ub3JnPg0KPiA+PiBTZW50OiAyMDIx5bm0OOaciDE55pelIDIxOjM4DQo+ID4+IFRv
OiBXZWkgQ2hlbiA8V2VpLkNoZW5AYXJtLmNvbT47IHhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0
Lm9yZzsNCj4gPj4gc3N0YWJlbGxpbmlAa2VybmVsLm9yZzsgamJldWxpY2hAc3VzZS5jb20NCj4g
Pj4gQ2M6IEJlcnRyYW5kIE1hcnF1aXMgPEJlcnRyYW5kLk1hcnF1aXNAYXJtLmNvbT4NCj4gPj4g
U3ViamVjdDogUmU6IFtYRU4gUkZDIFBBVENIIDE3LzQwXSB4ZW4vYXJtOiBJbnRyb2R1Y2UgREVW
SUNFX1RSRUVfTlVNQQ0KPiA+PiBLY29uZmlnIGZvciBhcm02NA0KPiA+Pg0KPiA+PiBIaSwNCj4g
Pj4NCj4gPj4gT24gMTEvMDgvMjAyMSAxMToyNCwgV2VpIENoZW4gd3JvdGU6DQo+ID4+PiBXZSBu
ZWVkIGEgS2NvbmZpZyBvcHRpb24gdG8gZGlzdGluZ3Vpc2ggd2l0aCBBQ1BJIGJhc2VkDQo+ID4+
PiBOVU1BLiBTbyB3ZSBpbnRyb2R1Y2UgdGhlIG5ldyBLY29uZmlnIG9wdGlvbjoNCj4gPj4+IERF
VklDRV9UUkVFX05VTUEgaW4gdGhpcyBwYXRjaCBmb3IgQXJtNjQuDQo+ID4+Pg0KPiA+Pj4gU2ln
bmVkLW9mZi1ieTogV2VpIENoZW4gPHdlaS5jaGVuQGFybS5jb20+DQo+ID4+PiAtLS0NCj4gPj4+
ICAgIHhlbi9hcmNoL2FybS9LY29uZmlnIHwgMTAgKysrKysrKysrKw0KPiA+Pj4gICAgMSBmaWxl
IGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKykNCj4gPj4+DQo+ID4+PiBkaWZmIC0tZ2l0IGEveGVu
L2FyY2gvYXJtL0tjb25maWcgYi94ZW4vYXJjaC9hcm0vS2NvbmZpZw0KPiA+Pj4gaW5kZXggZWNm
YTY4MjJlNC4uNjc4Y2M5OGVhMyAxMDA2NDQNCj4gPj4+IC0tLSBhL3hlbi9hcmNoL2FybS9LY29u
ZmlnDQo+ID4+PiArKysgYi94ZW4vYXJjaC9hcm0vS2NvbmZpZw0KPiA+Pj4gQEAgLTMzLDYgKzMz
LDE2IEBAIGNvbmZpZyBBQ1BJDQo+ID4+PiAgICAJICBBZHZhbmNlZCBDb25maWd1cmF0aW9uIGFu
ZCBQb3dlciBJbnRlcmZhY2UgKEFDUEkpIHN1cHBvcnQNCj4gZm9yIFhlbg0KPiA+PiBpcw0KPiA+
Pj4gICAgCSAgYW4gYWx0ZXJuYXRpdmUgdG8gZGV2aWNlIHRyZWUgb24gQVJNNjQuDQo+ID4+Pg0K
PiA+Pj4gK2NvbmZpZyBERVZJQ0VfVFJFRV9OVU1BDQo+ID4+DQo+ID4+IFRoZSBuYW1lIHN1Z2dl
c3RzIHRoYXQgTlVNQSBzaG91bGQgb25seSBiZSBlbmFibGVkIGZvciBEZXZpY2UtVHJlZS4uLg0K
PiA+PiBCdXQgdGhlIGRlc2NyaXB0aW9uIGxvb2tzIGdlbmVyaWMuDQo+ID4+DQo+ID4+IEhvd2V2
ZXIsIEkgdGhpbmsgdGhlIHVzZXIgc2hvdWxkIG9ubHkgaGF2ZSB0aGUgY2hvaWNlIHRvIHNheSB3
aGV0aGVyDQo+ID4+IHRoZXkgd2FudCBOVU1BIHRvIGJlIGVuYWJsZWQgb3Igbm90LiBXZSBzaG91
bGQgbm90IGdpdmUgdGhlbSB0aGUgY2hvaWNlDQo+ID4+IHRvIGVuYWJsZS9kaXNhYmxlIHRoZSBw
YXJzaW5nIGZvciBEVC9BQ1BJLg0KPiA+Pg0KPiA+PiBTbyB3ZSBzaG91bGQgaGF2ZSBhIGdlbmVy
aWMgY29uZmlnIHRoYXQgd2lsbCB0aGVuIHNlbGVjdCBEVCAoYW5kIEFDUEkNCj4gaW4NCj4gPj4g
dGhlIGZ1dHVyZSkuDQo+ID4+DQo+ID4NCj4gPiBIb3cgYWJvdXQgd2Ugc2VsZWN0IERUX05VTUEg
ZGVmYXVsdCBvbiBBcm02NC4gQW5kIERUX05VTUEgc2VsZWN0IE5VTUENCj4gPiBsaWtlIHdoYXQg
d2UgaGF2ZSBkb25lIGluIHBhdGNoIzYgaW4geDg2PyBBbmQgcmVtb3ZlIHRoZSBkZXNjcmlwdGlv
bj8NCj4gSSB3b3VsZCByYXRoZXIgbm90IG1ha2UgTlVNQSBzdXBwb3J0ZWQgYnkgZGVmYXVsdCBv
biBBcm02NC4gSW5zdGVhZCwgd2UNCj4gc2hvdWxkIGdvIHRocm91Z2h0IHRoZSBzYW1lIHByb2Nl
c3MgYXMgb3RoZXIgbmV3IGZlYXR1cmVzIGFuZCBnYXRlIGl0DQo+IGJlaGluZCBVTlNVUFBPUlRF
RCB1bnRpbCBpdCBpcyBtYXR1cmUgZW5vdWdoLg0KPiANCg0KT2suIEkgYWdyZWUgd2l0aCB0aGlz
Lg0KDQo+ID4NCj4gPiBJZiB3ZSBtYWtlIGdlbmVyaWMgTlVNQSBhcyBhIHNlbGVjdGFibGUgb3B0
aW9uLCBhbmQgZGVwZW5kcyBvbg0KPiA+IE5VTUEgdG8gc2VsZWN0IERUIG9yIEFDUEkgTlVNQS4g
SXQgc2VlbXMgdG8gYmUgcXVpdGUgZGlmZmVyZW50IGZyb20NCj4gPiB0aGUgZXhpc3RpbmcgbG9n
aWM/DQo+IA0KPiBJIGFtIGEgYml0IGNvbmZ1c2VkLiBZb3UgYWRkZWQganVzdCBsb2dpYyB0byBz
ZWxlY3QgTlVNQSBmcm9tIEFDUEksDQo+IHJpZ2h0PyBTbyBhcmUgeW91IHRhbGtpbmcgYWJvdXQg
YSBkaWZmZXJlbnQgbG9naWM/DQo+IA0KDQpObywgSSBkaWRuJ3Qgd2FudCBhIGRpZmZlcmVudCBv
bmUuIEkgdGhvdWdodCB5b3Ugd2FudGVkIGl0IHRoYXQgd2F5Lg0KT2J2aW91c2x5LCBJIG1pcy11
bmRlcnN0YW5kZWQgeW91ciBjb21tZW50cy4NCg0KQ2FuIEkgdW5kZXJzdGFuZCB5b3VyIHByZXZp
b3VzIGNvbW1lbnRzIGxpa2UgZm9sbG93aW5nOg0KMS4gV2Ugc2hvdWxkIGhhdmUgYSBnZW5lcmlj
IGNvbmZpZyB0aGF0IHdpbGwgdGhlbiBzZWxlY3QgRFQgYW5kIEFDUEk6DQogICBCZWNhdXNlIHdl
IGFscmVhZHkgaGF2ZSBDT05GSUdfTlVNQSBpbiBjb21tb24gbGF5ZXIuIFNvIHdlIG5lZWQgdG8N
CiAgIGFkZCBhbm90aGVyIG9uZSBmb3IgQXJtIGxpa2UgQ09ORklHX0FSTV9OVU1BPw0KICAgQW5k
IGluIHRoaXMgb3B0aW9uLCB3ZSBjYW4gc2VsZWN0IENPTkZJR19ERVZJQ0VfVFJFRV9OVU1BDQog
ICBhdXRvbWF0aWNhbGx5IGlmIGRldmljZSB0cmVlIGlzIGVuYWJsZWQuIElmIENPTkZJR19BQ1BJ
DQogICBpcyBlbmFibGVkLCB3ZSB3aWxsIHNlbGVjdCBDT05GSUdfQUNQSV9OVU1BIHRvbyAoaW4g
dGhlDQogICBmdXR1cmUpDQogICBJbiBYZW4gY29kZSwgRFRfTlVNQSBhbmQgQUNQSV9OVU1BIGNv
ZGUgY2FuIGNvLWV4aXN0LCBYZW4NCiAgIHdpbGwgY2hlY2sgdGhlIHN5c3RlbSBBQ1BJIHN1cHBv
cnQgc3RhdHVzIHRvIGRlY2lkZSB0byB1c2UNCiAgIERUX05VTUEgb3IgQUNQSV9OVU1BPw0KDQoN
Cj4gQ2hlZXJzLA0KPiANCj4gLS0NCj4gSnVsaWVuIEdyYWxsDQo=


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 11:18:25 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 11:18:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169419.309478 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH2XT-0006bg-8x; Fri, 20 Aug 2021 11:18:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169419.309478; Fri, 20 Aug 2021 11:18:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH2XT-0006bZ-5e; Fri, 20 Aug 2021 11:18:19 +0000
Received: by outflank-mailman (input) for mailman id 169419;
 Fri, 20 Aug 2021 11:18:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mH2XR-0006bT-O5
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 11:18:17 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mH2XR-0000TI-Hr; Fri, 20 Aug 2021 11:18:17 +0000
Received: from [54.239.6.185] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mH2XR-0005jn-Bv; Fri, 20 Aug 2021 11:18:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=XrUklDuPUV70Pkq3TmqSu7P0L92HYTuOCVkrBipAJlE=; b=M9WLK/MSIFgbaDrWxpPL2m6op+
	F1VvIuiiul3nlBAzUtq1RFCeBqfah34mWN8e+CsJpNJ75OZGFZr8JUV+buJ9M1Z5bYEdvSBTxJoG7
	90IDZaVITlqLIKVXq0zvGjiSaVMxe5fRPitvfGdv2RaVoaSRNmc8aX3+oCmjlaBZW03w=;
Subject: Re: [XEN RFC PATCH 04/40] xen/arm: return default DMA bit width when
 platform is not set
To: Wei Chen <Wei.Chen@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>
Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-5-wei.chen@arm.com>
 <61893862-6b8f-9c1b-367b-7e0c837a43c5@xen.org>
 <DB9PR08MB68572A84F6A73644C4FE3F609EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <35fdd7c0-0607-e2b6-776d-adf9eea2c0e2@xen.org>
 <DB9PR08MB685782C02B95DB20F4E1626F9EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
From: Julien Grall <julien@xen.org>
Message-ID: <ec9fcd88-5ea6-8e9e-f226-a818276887d0@xen.org>
Date: Fri, 20 Aug 2021 12:18:15 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <DB9PR08MB685782C02B95DB20F4E1626F9EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit

On 20/08/2021 10:37, Wei Chen wrote:
> Hi Julien,

Hi Wei,

>> -----Original Message-----
>> From: Julien Grall <julien@xen.org>
>> Sent: 2021年8月20日 16:20
>> To: Wei Chen <Wei.Chen@arm.com>; xen-devel@lists.xenproject.org;
>> sstabellini@kernel.org; jbeulich@suse.com
>> Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>
>> Subject: Re: [XEN RFC PATCH 04/40] xen/arm: return default DMA bit width
>> when platform is not set
>>
>>
>>
>> On 20/08/2021 03:04, Wei Chen wrote:
>>> Hi Julien,
>>
>> Hi Wei,
>>
>>>> -----Original Message-----
>>>> From: Julien Grall <julien@xen.org>
>>>> Sent: 2021年8月19日 21:28
>>>> To: Wei Chen <Wei.Chen@arm.com>; xen-devel@lists.xenproject.org;
>>>> sstabellini@kernel.org; jbeulich@suse.com
>>>> Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>
>>>> Subject: Re: [XEN RFC PATCH 04/40] xen/arm: return default DMA bit
>> width
>>>> when platform is not set
>>>>
>>>> Hi,
>>>>
>>>> On 11/08/2021 11:23, Wei Chen wrote:
>>>>> From: Hongda Deng <Hongda.Deng@arm.com>
>>>>>
>>>>> In current code, arch_get_dma_bitsize will return 32 when platorm
>>>>> or platform->dma_bitsize is not set. It's not resonable, for Arm,
>>>>
>>>> s/resonable/reasonable/
>>>>
>>>
>>> Ok
>>>
>>>>> we don't require to reserve DMA memory. So we set dma_bitsize always
>>>>> be 0. In NO-NUMA system, arch_get_dma_bitsize will not be invoked,
>>>>> so dma_bitsize will not be overrided by this function.
>>>>
>>>> arch_get_dma_bitsize() is also used to allocate dom0 memory. We need to
>>>> be able to allocate some DMA-able memory that can be used by every
>> devices.
>>>>
>>>>> But in NUMA
>>>>> system, once the online nodes are greater than 1, this function will
>>>>> be invoked. The dma_bitsize will be limited to 32. That means, only
>>>>> first 4GB memory can be used for DMA. But that's against our hardware
>>>>> design. We don't have that kind of restriction on hardware.
>>>>
>>>> What do you mean by "hardware design"? Are you referring to the server
>>>> you boot Xen on?
>>>>
>>>
>>> Yes. I will change it to some neutral words. something like:
>>> "But that could not reflect some hardware's real DMA ability. They may
>> not
>>> have kind of restriction on hardware." ?
>>
>> The thing is DMA ability is not about the platform itself. It is more
>> about the devices (this could just be a PCI card you just plugged). What
>> you seem to suggest is no-one will ever plug such card on your platform.
>> Is that correct?
>>
> 
> OK, I understand now. Let's keep 32-bit as default value, but even in this
> case, how about DMA-16 devices? Although these devices are very rare, they
> still exist : )

I haven't heard anyone reporting issues with them on Xen on Arm. So I 
assume that either it works or no-one is using them.

My main point is we need to care about the common use case. 32-bit DMA 
device is still a thing and caused trouble to some of our users (e.g. NXP).

If tomorrow, someone report issue with 16-bit DMA device, then we can 
consider our options how to handle.

>>>> So I would explore to remove the NUMA check for drop the DMA zone. FAOD,
>>>> both suggestion are for Arm only. For x86, they need to be kept.
>>>>
>>>
>>> Without introducing new flag, such as lowmem_for_dma, it's a little
>>> hard to skip the numa node check. Unless we crudely add #ifdef ARCH to
>>> common code, which is not what we want to see ...
>>>         if ( !dma_bitsize && (num_online_nodes() > 1) )
>>>             dma_bitsize = arch_get_dma_bitsize();
>>
>> ... Why do you think we need this check on Arm when NUMA is enabled?
>>
> 
> I didn't think Arm needs, what I said is introduce a flag to disable
> this check for Arm or other Architectures that they don't need this check.
> 
>> We can discuss how to remove it once this is answered.
>>
> 
> I think we can start to discuss it.

How about replacing the second part of the check with a new helper 
arch_have_default_dma_zone() (or a different name)?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 11:21:37 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 11:21:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169424.309488 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH2ae-00085P-Nz; Fri, 20 Aug 2021 11:21:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169424.309488; Fri, 20 Aug 2021 11: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 1mH2ae-00085I-Kx; Fri, 20 Aug 2021 11:21:36 +0000
Received: by outflank-mailman (input) for mailman id 169424;
 Fri, 20 Aug 2021 11:21:34 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5+ZW=NL=arm.com=Rahul.Singh@srs-us1.protection.inumbo.net>)
 id 1mH2ac-00085A-Fj
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 11:21:34 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com (unknown
 [40.107.7.44]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 63ce69cd-2b3d-4ece-9d71-5c6da333b2eb;
 Fri, 20 Aug 2021 11:21:32 +0000 (UTC)
Received: from DU2PR04CA0186.eurprd04.prod.outlook.com (2603:10a6:10:28d::11)
 by PAXPR08MB6750.eurprd08.prod.outlook.com (2603:10a6:102:13f::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 20 Aug
 2021 11:21:29 +0000
Received: from DB5EUR03FT036.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:28d:cafe::73) by DU2PR04CA0186.outlook.office365.com
 (2603:10a6:10:28d::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Fri, 20 Aug 2021 11:21:29 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT036.mail.protection.outlook.com (10.152.20.185) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Fri, 20 Aug 2021 11:21:29 +0000
Received: ("Tessian outbound 1a0c40aa17d8:v103");
 Fri, 20 Aug 2021 11:21:29 +0000
Received: from 0ea88ca6ad1c.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 0BDFF79F-CB7C-4DE2-89A3-D20A5A760EBE.1; 
 Fri, 20 Aug 2021 11:21:21 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 0ea88ca6ad1c.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 20 Aug 2021 11:21:21 +0000
Received: from AS8PR08MB6919.eurprd08.prod.outlook.com (2603:10a6:20b:39e::10)
 by AM6PR08MB3879.eurprd08.prod.outlook.com (2603:10a6:20b:8c::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.19; Fri, 20 Aug
 2021 11:21:20 +0000
Received: from AS8PR08MB6919.eurprd08.prod.outlook.com
 ([fe80::6c11:19f8:1422:5dea]) by AS8PR08MB6919.eurprd08.prod.outlook.com
 ([fe80::6c11:19f8:1422:5dea%3]) with mapi id 15.20.4436.019; Fri, 20 Aug 2021
 11:21:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 63ce69cd-2b3d-4ece-9d71-5c6da333b2eb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GWwoyQDVbWoc1gV197GUIo3AFzui+JZogHS6GLjkp+4=;
 b=eF/DhkNEnduDww43wKvGTAr5kQV/koS+UJmv4O1xagrGjSFCf2xGZCtrIyOw+1koq2+TRNQAG+lUriyUd46ELmbabqGsiMVfmATwmlvoI2SVvBWIjkldwVJF4PAJl6jRlShCr7cIcEIjyWGSCPoiybJTqoAapWccqJLe4GuzqKo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 207088c28f149a4a
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TASW4qHSXawr3nqwpJ23dlY8DZTO1lXk+7De626JV4xwV/e1VSiYVJDcd3DXmpFvIJlFnFFOeMiIyCqn/MDavB5rvj9OxV8ahkH9qZsdUgKJAIYl2m2Wo1QEZWBATGNaTCRo8cCdVxcsFzFryi0T35reSd59lJWE5jyVV1mcpwnpb1MinxEeRSx8ufHq0+0ZtBTZAu7mNBx/9rSTJn/f5+r+66UyZQpRYjGy+2qebIwiencXdGTNSdiWYR4A6a7tDSWNX4MDxn0itDZCXm43aMY6ydAlZNttKXkt6mls8qH02zBw0X3ZjL4KpXAxuZTl9kW2KLRiMijP+U76MpOziw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GWwoyQDVbWoc1gV197GUIo3AFzui+JZogHS6GLjkp+4=;
 b=EgBVyjLJoY1jNfbf0MQDeB+Hg6/Ou6xDsgUbm/IOsLz/sKmy3WDGAyh3W0dH/S4fmzrg61jo4IC35DxeRc7x2ZKwPk+STYCyrtu8AXB/4x6ggNMXX4yEGvixDBBmcL3NW9fAPQBkexIEbD0WPV7PqsIAymKcIdJszopUPtMP2Bm0WFDym4N+PlmaUwvZdQJxB3bepZSf8drJIa2aV7FkEXLlPMV1SCMhP3PMsdO5YlodDd6s82nFIGPwdD/XbyIyWBsF++baQFoVAw/YlnzTpE0ATetmr6q5nKIHrxM7Ig7qOd9Hdi1UoR5LLbpjpGrUu6hci9oapmVM+0/PNXnfpQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GWwoyQDVbWoc1gV197GUIo3AFzui+JZogHS6GLjkp+4=;
 b=eF/DhkNEnduDww43wKvGTAr5kQV/koS+UJmv4O1xagrGjSFCf2xGZCtrIyOw+1koq2+TRNQAG+lUriyUd46ELmbabqGsiMVfmATwmlvoI2SVvBWIjkldwVJF4PAJl6jRlShCr7cIcEIjyWGSCPoiybJTqoAapWccqJLe4GuzqKo=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v1 02/14] xen/pci: solve compilation error on ARM with
 HAS_PCI enabled
Thread-Topic: [PATCH v1 02/14] xen/pci: solve compilation error on ARM with
 HAS_PCI enabled
Thread-Index: AQHXlPJ69O5DKvBqZU6v8IxjA4iLvqt7+GgAgABIsYA=
Date: Fri, 20 Aug 2021 11:21:20 +0000
Message-ID: <F287EFE7-B153-4FAC-AF1D-8636FBCAAEF7@arm.com>
References: <cover.1629366665.git.rahul.singh@arm.com>
 <c6009c327eaed66206fa093732ab6672530acd27.1629366665.git.rahul.singh@arm.com>
 <da5db823-1875-ff7d-6d39-aacc170e994f@suse.com>
In-Reply-To: <da5db823-1875-ff7d-6d39-aacc170e994f@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: suse.com; dkim=none (message not signed)
 header.d=none;suse.com; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: e2fa39b8-38c9-406b-2dd4-08d963cca839
x-ms-traffictypediagnostic: AM6PR08MB3879:|PAXPR08MB6750:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<PAXPR08MB6750013CB48735A31E242435FCC19@PAXPR08MB6750.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:8882;OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 g00Fx0o8Ae65mXiEFrQPke0DpO6tyBf2HNCyHlET0koISyXgdxfC/wWNzzHU8ctBFmNcanF1xP8Z2Il9oFXc/7c05Xb1mpUtC2aqVCZGNHiYfI3QPPxI+LAKcj+BEkwcAuU2meNWwAFfp6/43AWJapbIqWzbUuBfQidVhFMeU4wXYQ4pnp3vZuJZzBPBnHojq3HAQNFKxYS/PadEctyigEy32WnvIydgs6/4us2olFgL2VP/U/1BZv17JfTGwgpQC4C4VS0eBKD2agweylOcoIjtMmzHxOJqu0UXVhe0V1zUxvUVmCb2PCJOHekVjU9M9VTmHFq0Cu6BpTh7xeMeMDpoxlHGB0VlK5wrR32Fz91hqxEEp1Y/EO0kXBAwAdkJdO5b/BWBxNZnrv4LinGbPw+jTUynD3mzWc/sNKZ48EtqOszJ16/YqmH5c/EAboS/mmGpOGFxxfmjSfqLZ/ziJQz+ga3mcgTCp9tMVbIWvuCCbXv0+wk9mRSWAeCQywCY3nVweOwfL1oIRgozEkSggYQtNQUnMndO6bEyRIjsC/wk2zTpiM14FY+TBQjw7vDUCf6gWVJCKiy2osBiUDUpE43IPlT5caWtByFmIdhHzgo6i/5avxXZD6L8ZGfnWeZv/tNCPddtethKPRbZg8mefb7hYk9OCW4Z98TI5H9O8aImnZXnOJ1rptBTUu1LQjbnz7FjNvTGmHwgMoFerRDVkZZUlJ7JmR9EYc4BYiK4V1pIdQDmbEfE7vUtIvnpyQlS8SpR8QVjuRgM9zQAPG58wbUWAUV5unhYtQzNKuiOC2++DjGwLdy4jlhI8OT58qkrDpeZjcNke/Tf154U9QbdXw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB6919.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(136003)(396003)(366004)(39860400002)(376002)(346002)(91956017)(66446008)(5660300002)(2906002)(76116006)(38070700005)(6486002)(64756008)(26005)(122000001)(478600001)(8936002)(66476007)(66556008)(53546011)(8676002)(6506007)(6916009)(71200400001)(186003)(83380400001)(66946007)(33656002)(316002)(4326008)(2616005)(38100700002)(54906003)(6512007)(36756003)(86362001)(2004002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?MDc3QzFSTHl3VjFQQUh2b2lRWWh6cGZQbzFuaVZoK0RZRmVWT2VEV0dFNDcz?=
 =?utf-8?B?S0t2bE8zbTFLc05xM3hyL3BIanBRdWsyQnN1ekFWMWo1NFhoNnVBL2RTLzh6?=
 =?utf-8?B?ZEhTckNIbTREZ2lNNGtzQXBCUXgyNVdzWTVhQzUrZVlkaGhyV1ZHYjkxc2VO?=
 =?utf-8?B?Q0RrS3RNRlZVdUFhWHlTdmI3bTdyNld0OWNoYStXQkxjV3lpL3FMV3FwOFFC?=
 =?utf-8?B?NzJaYXlYQnZVcDFpNUthVTRDSlc0ZGV3YXFmNE9iUmgxZitiRTBuZ0tJUmdp?=
 =?utf-8?B?NHRWVjB6ajBoQ1Flc2M5RGVKNGJ5R0Izd3VpeUczbWQ0UW5HUUZ3VWJuMTZ0?=
 =?utf-8?B?bXpqQU91dkg4SmEwT3NXaEVuQkNiY2NEZ3g0bUJ1RVZ0cDl0SjFyRVZXZGgx?=
 =?utf-8?B?UlZ5MUJ5TVZhcmFrczk4cEh4MmdkQzVWRzNYdlRaUlJ0dXFoTHgxcmphSVNQ?=
 =?utf-8?B?M3BLTXg2VXVMN1NsRTgvZXcxcTBSY1NKUXB1b3RPaktqUnZLTHFjSTZ5L3lD?=
 =?utf-8?B?V3BTVVMwYVo5ZEJPTFoyaHhUdEJZM2VLVW1TenlINGRmQ1NNM0FJVExHN3ZS?=
 =?utf-8?B?YUo4OWEzMDBabm1UWHFMdTdZdXFCUFdDK3NHS2RiN1p1Uld1UlFBQ3o4d2tT?=
 =?utf-8?B?amVZMFJ3Z2wzS1ZyQXZmM1MzemtVV00zY0U5OU9IWCtpa1FTTkFLSDFvejdq?=
 =?utf-8?B?bWNZREhjdjMyeHR6MWliTHc0L3k0TnlsOXNZaldKNmRXTWNOSDFYWE5hdHli?=
 =?utf-8?B?eG9Vb2l6bW1JYzV6RDUwOFM4bVAvOXVBaDlybWVoYkdEc2laSHJ3dGE2bjJC?=
 =?utf-8?B?OGpNU3NDekxHWU1SZVJPVGpsMitpZGdhakdsV3VvS0RoTGQvcXFCR0t5ajJE?=
 =?utf-8?B?Q0tBYjJxZ3RpSFB1T3dWeWhhRG9jZ09pRWRoVnNienkwUE1UZXQvNFU1V3JZ?=
 =?utf-8?B?T1Rkc3dhMVRLWWVQSmhLVkVJdWtySXhFNzdMWW53K0lGaEk5aWFJRVJoMFRh?=
 =?utf-8?B?T0dBd3ZlZDBCZ0pQYnhYdm5PRjVnZWpQRzV4VjhKRlJQK3c4TXBuV1d4Wmsx?=
 =?utf-8?B?bVVnQVQvYVpqRldKdjBqWUtnMkVmN3Q4L1VFWjI3VXRvR0VBdEZCaDBlWjha?=
 =?utf-8?B?Z01zOWpmT1RjZlN1Yld2dmx2Lysvd3dyQ0MrTHRiZ3VIOFFpbUwzUklLaFJ6?=
 =?utf-8?B?L0kvMWZXdTgvRGtUdzlMOVFZbFFMeEV2VkwzYVkyRUxhZTEyUmZHNmpLS2Fv?=
 =?utf-8?B?SzV0bTcwWk5DMHJsQUcrdFZpNm94VjBaZlhMZVdraTgvRWNUQ3UyOWp4djZL?=
 =?utf-8?B?Sm1PdlhFTDg2dFZycUhxVGRUOEtLMXgvZTVWdnNXUElWbnFnRmJOLzBjM2FD?=
 =?utf-8?B?UUk2ek9kaUFwU3d5bXRaMEFtRUxFUTQyclEzU3ZIQjBKeVFOMjBFRnM0N0li?=
 =?utf-8?B?cmRGdm4yYWdIUFhuamFuVWhUTi9ISU9TdWRVR1ZhY0pLdEk0RUM3dXB6eC9u?=
 =?utf-8?B?MHdtMllzcUxDRGFJekxpOVcwZytLQ3lJbm00ejdLcDFlRjEvdGwxMk1NVEZJ?=
 =?utf-8?B?Zm4xL3FZY0JLbU4zYlhsY3ZRKzNMVlpZcjQrbWVPQTlkTFk3WlBhanVwYnJY?=
 =?utf-8?B?OC8xUnZPMENXSEptVGJoVmk5SnhrS0xpZE1ubGxlR1U2eTRTUXRYSXJZU1RL?=
 =?utf-8?B?YVpHSEd3UHEzQnAvd2s4V0xmMGpQU1VUSDBxeUUwdXRvVzlnNi9xRFhLMDlC?=
 =?utf-8?Q?lLJFkzngI2MLjyA7+sz+GOB+B91JYLITxeH8UnJ?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <A5D1A7D16B4EFC40BF61D6CC999ACA0B@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3879
Original-Authentication-Results: suse.com; dkim=none (message not signed)
 header.d=none;suse.com; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT036.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	0b5b8dbd-ad40-4e59-b9f3-08d963cca2cf
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tlGvwZ4vKatQ1m1smvJ6Ue5li5xjcgRfD2DiFcwhnj/YwNEX1C80+QZwIYgDaADmlS0vo1oRVpOVW+OnmwOz1NqZCDI/+d9uUTwwllk3SHXzL+vGN2AJfAvZpUHaz/SId3vuNO9FxvO1VgyZIFsU66ry4UYlRhhzLoqg+D9mUIvjSwuhmacd0OZAwwG1RkoOOiLaS4z7soAkw167Vv2awGfpk+V5MxdaahLDplU0dFeVAqPcVJbE6pFMTeOTKXdnS2WCn4S7T+MgB1pCQmgfuYcVDhP9YNGrfpEUfXlrBvBspPnn5y8cddganGZu34/xq55SsdN6jnZDFA+RocV9deBb8YQ4lNpA120Fh6ICkZg/u3kGEWxWPKcQ/Gs5ChVtm881hJa+ndxmgIgx1d7K37jFTlz/DIBtQGmbzVU1RS2DheU8I9ubbac8GoyXoyCCoSdw1d8wxb//onKtfVd/6B4SgXJK+7q/4WyRkHjtuxCk2ER7eOFbKFolNwXA+b4YLTNLxlnZczOAn3KT14kfcVo1J6tAsIj79Y0DjhcO9MAHvx+foZfwScetHl7d+AYFZ0Y1e7XPLZKdxCA5CCAf0NxktWUHZ5uHFI3WKNSSlNvnKxUMa9DTdmc9u2KtoyhGICMSvJO/Rgy1NEpjuCfTR7Ub6/xFOiSqFyWxdzXdea0uIaGbHwWe5ts9B2mXfJZ1M6+4CcmHaYVA5ftspUO5djh4IUu8/SmIVaoN6K/NutZdAGekqPbkWOuWiGLuY4oWUoBhOVzutcoJQ35Ai0pKelzjDyvQEKW7vzWs5Zfv/gJh/hR9bFShQX0He3cV4TIE
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(396003)(39860400002)(346002)(376002)(136003)(46966006)(36840700001)(8676002)(186003)(82310400003)(81166007)(356005)(336012)(6512007)(6862004)(33656002)(4326008)(70586007)(316002)(6486002)(36860700001)(47076005)(36756003)(83380400001)(26005)(2906002)(478600001)(8936002)(2616005)(6506007)(53546011)(86362001)(5660300002)(70206006)(82740400003)(54906003)(2004002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 11:21:29.6293
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e2fa39b8-38c9-406b-2dd4-08d963cca839
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT036.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6750

SGkgSmFuDQoNCj4gT24gMjAgQXVnIDIwMjEsIGF0IDg6MDEgYW0sIEphbiBCZXVsaWNoIDxqYmV1
bGljaEBzdXNlLmNvbT4gd3JvdGU6DQo+IA0KPiBPbiAxOS4wOC4yMDIxIDE0OjAyLCBSYWh1bCBT
aW5naCB3cm90ZToNCj4+IENvbXBpbGF0aW9uIGVycm9yIGlzIG9ic2VydmVkIHdoZW4gSEFTX1BD
SSBpcyBlbmFibGVkIGZvciBBUk0NCj4+IGFyY2hpdGVjdHVyZS4NCj4+IA0KPj4gQWRkIGRlZmlu
aXRpb24gZm9yIGFyY2hfaW9tbXVfdXNlX3Blcm1pdHRlZCgpIGFuZA0KPj4gYXJjaF9wY2lfY2xl
YW5fcGlycXMoKS5JbXBsZW1lbnQgZHVtbXkgZnVuY3Rpb25zIGZvciBwY2lfY29uZl9yZWFkKigp
IHRvDQo+PiBmaXggY29tcGlsYXRpb24gZXJyb3IuDQo+PiANCj4+IHBjaS5jOiBJbiBmdW5jdGlv
biDigJhkZWFzc2lnbl9kZXZpY2XigJk6DQo+PiBwY2kuYzo4NDk6NDk6IGVycm9yOiBpbXBsaWNp
dCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhwY2lfdG9fZGV24oCZOw0KPj4gZGlkIHlvdSBt
ZWFuIOKAmGR0X3RvX2RlduKAmT8gWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRp
b25dDQo+PiAgICAgICAgICAgIHBjaV90b19kZXYocGRldikpOw0KPj4gDQo+PiBwY2kuYzoxODog
dW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgcGNpX2NvbmZfcmVhZDE24oCZDQo+PiBwY2kuYzo4ODA6
IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGFyY2hfcGNpX2NsZWFuX3BpcnFz4oCZDQo+PiBwY2ku
YzoxMzkyOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBhcmNoX2lvbW11X3VzZV9wZXJtaXR0ZWQn
DQo+PiANCj4+IFNpZ25lZC1vZmYtYnk6IFJhaHVsIFNpbmdoIDxyYWh1bC5zaW5naEBhcm0uY29t
Pg0KPiANCj4gQSBjb3VwbGUgb2Ygbml0cywgbm90d2l0aHN0YW5kaW5nIEp1bGllbidzIG1vcmUg
Z2VuZXJhbCBjb25jZXJuOg0KPiANCj4+IC0tLSAvZGV2L251bGwNCj4+ICsrKyBiL3hlbi9hcmNo
L2FybS9wY2kvcGNpLWFjY2Vzcy5jDQo+PiBAQCAtMCwwICsxLDYxIEBADQo+PiArLyoNCj4+ICsg
KiBDb3B5cmlnaHQgKEMpIDIwMjEgQXJtIEx0ZC4NCj4+ICsgKg0KPj4gKyAqIFRoaXMgcHJvZ3Jh
bSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5
DQo+PiArICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSB2ZXJzaW9uIDIgYXMNCj4+ICsgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbi4NCj4+ICsgKg0KPj4gKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KPj4gKyAqIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQo+PiArICog
TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl
IHRoZQ0KPj4gKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu
DQo+PiArICoNCj4+ICsgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH
TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KPj4gKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFt
LiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+Lg0KPj4gKyAqLw0K
Pj4gKw0KPj4gKyNpbmNsdWRlIDx4ZW4vcGNpLmg+DQo+PiArDQo+PiArc3RhdGljIHVpbnQzMl90
IHBjaV9jb25maWdfcmVhZChwY2lfc2JkZl90IHNiZGYsIHVuc2lnbmVkIGludCByZWcsDQo+PiAr
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbGVuKQ0KPj4gK3sN
Cj4+ICsgICAgcmV0dXJuIH4wVTsNCj4+ICt9DQo+PiArDQo+PiArc3RhdGljIHZvaWQgcGNpX2Nv
bmZpZ193cml0ZShwY2lfc2JkZl90IHNiZGYsIHVuc2lnbmVkIGludCByZWcsDQo+PiArICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbGVuLCB1aW50MzJfdCB2YWwpDQo+
PiArew0KPj4gK30NCj4+ICsNCj4+ICsvKg0KPj4gKyAqIFdyYXBwZXJzIGZvciBhbGwgUENJIGNv
bmZpZ3VyYXRpb24gYWNjZXNzIGZ1bmN0aW9ucy4NCj4+ICsgKi8NCj4+ICsNCj4+ICsjZGVmaW5l
IFBDSV9PUF9XUklURShzaXplLCB0eXBlKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXA0KPj4gKyAgICB2b2lkIHBjaV9jb25mX3dyaXRlIyNzaXplIChwY2lfc2Jk
Zl90IHNiZGYsdW5zaWduZWQgaW50IHJlZywgdHlwZSB2YWwpICBcDQo+IA0KPiBPbmUgb2YgdGhl
IHR3byBibGFua3MgcHJlY2VkaW5nIHRoZSBiYWNrc2xhc2ggd2FudHMgdG8gbW92ZSBhZnRlciB0
aGUgZmlyc3QNCj4gY29tbWEuIEFuZCB0aGUgYmxhbmsgcHJlY2VkaW5nIHRoZSBvcGVuaW5nIHBh
cmVudGhlc2lzIHdhbnRzIHRvIGJlIGRyb3BwZWQuDQoNCkkgd2lsbCBtb2RpZnkgYXMgYmVsb3cg
LiBQbGVhc2UgY29ycmVjdCBtZSBpZiBJIG1pc3VuZGVyc3Rvb2Qgd3JvbmdseS4NCg0KI2RlZmlu
ZSBQQ0lfT1BfV1JJVEUoc2l6ZSwgdHlwZSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAg
ICAgICAgICAgICAgICAgICANCiAgICB2b2lkIHBjaV9jb25mX3dyaXRlIyNzaXplKHBjaV9zYmRm
X3Qgc2JkZiwgICAgICAgICAgICAgIFwgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgcmVnLCB0eXBlIHZhbCkgIAkgICAgIFwgICAg
ICAgICAgICAgICAgICAgDQp7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAgICAg
ICAgICAgICANCiAgICBwY2lfY29uZmlnX3dyaXRlKHNiZGYsIHJlZywgc2l6ZSAvIDgsIHZhbCk7
ICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgICAgICAgICAgDQp9DQoNCj4gDQo+PiAreyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwNCj4+ICsgICAgcGNpX2NvbmZpZ193cml0ZShzYmRmLCByZWcsIHNp
emUgLyA4LCB2YWwpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPj4gK30NCj4+ICsN
Cj4+ICsjZGVmaW5lIFBDSV9PUF9SRUFEKHNpemUsIHR5cGUpICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXA0KPj4gKyAgICB0eXBlIHBjaV9jb25mX3JlYWQjI3Np
emUgKHBjaV9zYmRmX3Qgc2JkZiwgdW5zaWduZWQgaW50IHJlZykgICAgICAgICAgICBcDQo+IA0K
PiBUaGUgbGF0dGVyIG9mIHRoZSB0d28gYXBwbGllcyBoZXJlIGFzIHdlbGwuDQo+IA0KPj4gK3sg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcDQo+PiArICAgIHJldHVybiBwY2lfY29uZmlnX3JlYWQoc2JkZiwg
cmVnLCBzaXplIC8gOCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4+ICt9DQo+PiAr
DQo+PiArUENJX09QX1JFQUQoOCwgdTgpDQo+PiArUENJX09QX1JFQUQoMTYsIHUxNikNCj4+ICtQ
Q0lfT1BfUkVBRCgzMiwgdTMyKQ0KPj4gK1BDSV9PUF9XUklURSg4LCB1OCkNCj4+ICtQQ0lfT1Bf
V1JJVEUoMTYsIHUxNikNCj4+ICtQQ0lfT1BfV1JJVEUoMzIsIHUzMikNCj4gDQo+IFdlIGFpbSBh
dCBlbGltaW5hdGluZyB1PE4+IHVzZXMgaW4gZmF2b3Igb2YgdWludDxOPl90IC0gcGxlYXNlIGRv
bid0DQo+IGludHJvZHVjZSBuZXcgdXNlcy4NCg0KT2sgLiBJIHdpbGwgbW9kaWZ5IGluIG5leHQg
dmVyc2lvbi4NCg0KUmVnYXJkcywNClJhaHVsDQo+IA0KPiBKYW4NCg0K


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 11:22:12 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 11:22:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169430.309500 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH2bE-0000HZ-6K; Fri, 20 Aug 2021 11:22:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169430.309500; Fri, 20 Aug 2021 11:22: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 1mH2bE-0000HS-3M; Fri, 20 Aug 2021 11:22:12 +0000
Received: by outflank-mailman (input) for mailman id 169430;
 Fri, 20 Aug 2021 11:22: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 1mH2bD-0000HC-Cq; Fri, 20 Aug 2021 11:22: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 1mH2bD-0000Xs-4N; Fri, 20 Aug 2021 11:22: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 1mH2bC-0003gT-Ou; Fri, 20 Aug 2021 11:22:10 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mH2bC-0006av-Nu; Fri, 20 Aug 2021 11: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ac9IS/6TPL0Ke3hdu0Ynle3XG0B9Cg9W19veSLie9Rs=; b=BfyP3dLLITKuhNpo6axkalBZDJ
	uvGtRac6AEaDxNB6IfYoaXyBTH6PmRH/cc0I/e580TMkVtvfhGoYmRDC3CB7fx0aH8/bFJSn2XwJO
	I2jr0LXVPmL/MR4Vl32my9FCXn/LXPdWCDxo31pXANrYj+L7WvMAphmhYFNkAKJDJBTw=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164258-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 164258: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-amd64-pvgrub:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:regression
    qemu-mainline:test-armhf-armhf-xl-vhd:leak-check/check:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check: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-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-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-amd64-i386-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-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=ecf2706e271fa705621f0d5ad9517fe15a22bf22
X-Osstest-Versions-That:
    qemuu=703e8cd6189cf699c8d5c094bc68b5f3afa6ad71
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 20 Aug 2021 11:22:10 +0000

flight 164258 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164258/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install       fail REGR. vs. 164152
 test-amd64-amd64-i386-pvgrub 12 debian-di-install        fail REGR. vs. 164152

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-vhd      20 leak-check/check           fail pass in 164244

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164152
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164152
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164152
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164152
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164152
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164152
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164152
 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-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-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-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-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                ecf2706e271fa705621f0d5ad9517fe15a22bf22
baseline version:
 qemuu                703e8cd6189cf699c8d5c094bc68b5f3afa6ad71

Last test of basis   164152  2021-08-10 21:08:02 Z    9 days
Failing since        164194  2021-08-15 10:38:08 Z    5 days    7 attempts
Testing same since   164234  2021-08-18 02:37:17 Z    2 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexander Bulekov <alxndr@bu.edu>
  Andrew Jones <drjones@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  David Hildenbrand <david@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Lara Lazier <laramglazier@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@redhat.com>
  Taylor Simpson <tsimpson@quicinc.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                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-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 490 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 11:24:35 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 11:24:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169437.309514 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH2dT-0000yK-Kg; Fri, 20 Aug 2021 11:24:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169437.309514; Fri, 20 Aug 2021 11: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 1mH2dT-0000yD-HV; Fri, 20 Aug 2021 11:24:31 +0000
Received: by outflank-mailman (input) for mailman id 169437;
 Fri, 20 Aug 2021 11:24:30 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mH2dR-0000y3-V4
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 11:24: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 1mH2dR-0000Zg-QG; Fri, 20 Aug 2021 11:24:29 +0000
Received: from [54.239.6.178] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mH2dR-0006o0-KE; Fri, 20 Aug 2021 11:24:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=ll30wo+4e6oD6mjhRlwn499a0z9259KKTu5M4AJtpqw=; b=MOgD+EO+Ny57urievkEmFBaJkS
	mVaHgdKn+vJJux1nS3pD3aGkLq0h6P15ppB1PtxcWUnJygEBskzGExUDnPrdnNac6JLf9ga46XdMN
	7wmZvxHQt8oMrS8tJgaOvsU9MGBDwAB+/ZTdX5qXwUTatU/qDpWCbPIOMdrG288mTYAM=;
Subject: Re: [XEN RFC PATCH 07/40] xen/arm: use !CONFIG_NUMA to keep fake NUMA
 API
To: Wei Chen <Wei.Chen@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>
Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-8-wei.chen@arm.com>
 <e9a45fe3-e4b0-6533-8b41-ac3f10ef386a@xen.org>
 <DB9PR08MB6857D0004A59BC90866AE4C89EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <4de5b7ed-ada5-2114-2002-7f5e26a89417@xen.org>
 <DB9PR08MB6857B5CEDA012C10B192F3F19EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
From: Julien Grall <julien@xen.org>
Message-ID: <54707c92-3bda-60b8-4b36-1eae172cacb1@xen.org>
Date: Fri, 20 Aug 2021 12:24:28 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <DB9PR08MB6857B5CEDA012C10B192F3F19EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit



On 20/08/2021 11:24, Wei Chen wrote:
> Hi Julien,

Hi Wei,

> 
>> -----Original Message-----
>> From: Julien Grall <julien@xen.org>
>> Sent: 2021年8月20日 16:24
>> To: Wei Chen <Wei.Chen@arm.com>; xen-devel@lists.xenproject.org;
>> sstabellini@kernel.org; jbeulich@suse.com
>> Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>
>> Subject: Re: [XEN RFC PATCH 07/40] xen/arm: use !CONFIG_NUMA to keep fake
>> NUMA API
>>
>>
>>
>> On 20/08/2021 03:08, Wei Chen wrote:
>>> Hi Julien,
>>
>> Hi Wei,
>>
>>>
>>>> -----Original Message-----
>>>> From: Julien Grall <julien@xen.org>
>>>> Sent: 2021年8月19日 21:34
>>>> To: Wei Chen <Wei.Chen@arm.com>; xen-devel@lists.xenproject.org;
>>>> sstabellini@kernel.org; jbeulich@suse.com
>>>> Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>
>>>> Subject: Re: [XEN RFC PATCH 07/40] xen/arm: use !CONFIG_NUMA to keep
>> fake
>>>> NUMA API
>>>>
>>>> Hi Wei,
>>>>
>>>> On 11/08/2021 11:23, Wei Chen wrote:
>>>>> Only Arm64 supports NUMA, the CONFIG_NUMA could not be
>>>>> enabled for Arm32.
>>>>
>>>> What do you mean by "could not be enabled"?
>>>
>>> I have not seen any Arm32 hardware support NUMA, so I think
>>> we don't need to support Arm32 NUMA.
>>
>> I understand that there may not be 32-bit platform with NUMA. And that's
>> fine stating that in the commit message. However...
>>
>>> In this case, this Kconfig
>>> option could not be enabled on Arm32.
>>
>> ... you continue to say "couldn't be enabled" without clarifying whether
>> this mean that the build will break or this was just not tested because
>> you don't have any platform.
> 
> Ok, I understand your concern. Yes, my words would lead to mis-understanding.
> If we make CONFIG_NUMA enabled in Arm32, it need Arm32 to implement some
> code to support NUMA common code. Otherwise the Arm32 build will failed.

When I skimmed through the series, most of the code seems to be either 
in common, arm (bitness neutral). So I am not quite too sure why it 
would not build. Do you have more details?

> I have not tried to implement those code for Arm32. And I found there is
> no Arm32 machine support NUMA, so I wanted Arm32 to use fake NUMA API
> as before.
> 
>>
>> To put it differently, the code for NUMA looks bitness neutral. So I
>> cannot really what what prevent us to potentially use it on Arm 32-bit.
>>
> 
> Yes, you're right, it's neutral. But do we really need to add code to an
> ARCH that it may never use?

Technically you already added the code because arch/arm/ is common 
between arm32 and arm64. My only ask is to not make the new config 
depends on arm64. If you only build test it that fine because...

And how can we test this code?

I don't expect any of the code to be an issue on arm32 as the code 
should mostly be arch neutral.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 11:28:56 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 11:28:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169443.309525 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH2hi-0001df-6e; Fri, 20 Aug 2021 11:28:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169443.309525; Fri, 20 Aug 2021 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 1mH2hi-0001dY-3W; Fri, 20 Aug 2021 11:28:54 +0000
Received: by outflank-mailman (input) for mailman id 169443;
 Fri, 20 Aug 2021 11:28:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mH2hg-0001dS-JJ
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 11:28:52 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mH2hg-0000ec-AH; Fri, 20 Aug 2021 11:28:52 +0000
Received: from [54.239.6.178] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mH2hg-0007E9-4W; Fri, 20 Aug 2021 11:28:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=FmHYeanjJaz1BIVHvS12jEYNuY36ZBm44NOpDlbAIqI=; b=4cckuUcHL4RpLYNsNQvN/phcQ+
	EVFAGiaVyyJcaL76aYR8TkwJtlXRcFDbUxCu/pKSp4esAxWNZgq6hmT8O9PTFQsbOFE8QDm5um0EP
	QWPQrmRntA56cqR0E8QkBy4LkZQRroMVPdCq1z7ZJFzCXQB3m/MclOSxImGYDsF1wf1Y=;
Subject: Re: [XEN RFC PATCH 17/40] xen/arm: Introduce DEVICE_TREE_NUMA Kconfig
 for arm64
To: Wei Chen <Wei.Chen@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>
Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-18-wei.chen@arm.com>
 <1fbcb8a6-67b6-e2d6-6524-cfce7a8a6557@xen.org>
 <DB9PR08MB68571FFA0E971E3A60C588EA9EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <fe477382-c078-9647-49f8-ef40a9e20b50@xen.org>
 <DB9PR08MB6857E4371D0E31C65E952C0E9EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
From: Julien Grall <julien@xen.org>
Message-ID: <00d536c1-311c-3f66-c0d2-6bdcc5f1d794@xen.org>
Date: Fri, 20 Aug 2021 12:28:50 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <DB9PR08MB6857E4371D0E31C65E952C0E9EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit



On 20/08/2021 11:49, Wei Chen wrote:
> Hi Julien,

Hi Wei,

> 
>> -----Original Message-----
>> From: Julien Grall <julien@xen.org>
>> Sent: 2021年8月20日 16:41
>> To: Wei Chen <Wei.Chen@arm.com>; xen-devel@lists.xenproject.org;
>> sstabellini@kernel.org; jbeulich@suse.com
>> Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>
>> Subject: Re: [XEN RFC PATCH 17/40] xen/arm: Introduce DEVICE_TREE_NUMA
>> Kconfig for arm64
>>
>> On 20/08/2021 03:30, Wei Chen wrote:
>>> Hi Julien,
>>
>> Hi Wei,
>>
>>>> -----Original Message-----
>>>> From: Julien Grall <julien@xen.org>
>>>> Sent: 2021年8月19日 21:38
>>>> To: Wei Chen <Wei.Chen@arm.com>; xen-devel@lists.xenproject.org;
>>>> sstabellini@kernel.org; jbeulich@suse.com
>>>> Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>
>>>> Subject: Re: [XEN RFC PATCH 17/40] xen/arm: Introduce DEVICE_TREE_NUMA
>>>> Kconfig for arm64
>>>>
>>>> Hi,
>>>>
>>>> On 11/08/2021 11:24, Wei Chen wrote:
>>>>> We need a Kconfig option to distinguish with ACPI based
>>>>> NUMA. So we introduce the new Kconfig option:
>>>>> DEVICE_TREE_NUMA in this patch for Arm64.
>>>>>
>>>>> Signed-off-by: Wei Chen <wei.chen@arm.com>
>>>>> ---
>>>>>     xen/arch/arm/Kconfig | 10 ++++++++++
>>>>>     1 file changed, 10 insertions(+)
>>>>>
>>>>> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
>>>>> index ecfa6822e4..678cc98ea3 100644
>>>>> --- a/xen/arch/arm/Kconfig
>>>>> +++ b/xen/arch/arm/Kconfig
>>>>> @@ -33,6 +33,16 @@ config ACPI
>>>>>     	  Advanced Configuration and Power Interface (ACPI) support
>> for Xen
>>>> is
>>>>>     	  an alternative to device tree on ARM64.
>>>>>
>>>>> +config DEVICE_TREE_NUMA
>>>>
>>>> The name suggests that NUMA should only be enabled for Device-Tree...
>>>> But the description looks generic.
>>>>
>>>> However, I think the user should only have the choice to say whether
>>>> they want NUMA to be enabled or not. We should not give them the choice
>>>> to enable/disable the parsing for DT/ACPI.
>>>>
>>>> So we should have a generic config that will then select DT (and ACPI
>> in
>>>> the future).
>>>>
>>>
>>> How about we select DT_NUMA default on Arm64. And DT_NUMA select NUMA
>>> like what we have done in patch#6 in x86? And remove the description?
>> I would rather not make NUMA supported by default on Arm64. Instead, we
>> should go throught the same process as other new features and gate it
>> behind UNSUPPORTED until it is mature enough.
>>
> 
> Ok. I agree with this.
> 
>>>
>>> If we make generic NUMA as a selectable option, and depends on
>>> NUMA to select DT or ACPI NUMA. It seems to be quite different from
>>> the existing logic?
>>
>> I am a bit confused. You added just logic to select NUMA from ACPI,
>> right? So are you talking about a different logic?
>>
> 
> No, I didn't want a different one. I thought you wanted it that way.
> Obviously, I mis-understanded your comments.
> 
> Can I understand your previous comments like following:
> 1. We should have a generic config that will then select DT and ACPI:
>     Because we already have CONFIG_NUMA in common layer. So we need to
>     add another one for Arm like CONFIG_ARM_NUMA?

I think so.

>     And in this option, we can select CONFIG_DEVICE_TREE_NUMA
>     automatically if device tree is enabled. If CONFIG_ACPI
>     is enabled, we will select CONFIG_ACPI_NUMA too (in the
>     future)
>     In Xen code, DT_NUMA and ACPI_NUMA code can co-exist, Xen

Distributions should not have to build a different Xen for DT and ACPI. 
So it is more they *must* co-exist.

>     will check the system ACPI support status to decide to use
>     DT_NUMA or ACPI_NUMA?

Yes. A user should only have to say "I want to use NUMA". This is Xen to 
figure out whether we need to compile the support for DT and/or ACPI.

Once we have support for APCI, it doesn't make a lot of sense for the 
users to say "I want to compile with DT and ACPI but I only want NUMA 
when using DT".

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 11:37:46 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 11:37:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169449.309536 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH2q4-0003HR-0F; Fri, 20 Aug 2021 11:37:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169449.309536; Fri, 20 Aug 2021 11: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 1mH2q3-0003HK-Sy; Fri, 20 Aug 2021 11:37:31 +0000
Received: by outflank-mailman (input) for mailman id 169449;
 Fri, 20 Aug 2021 11:37:30 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mH2q2-0003HE-JC
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 11:37:30 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mH2q1-0000o7-IO; Fri, 20 Aug 2021 11:37:29 +0000
Received: from [54.239.6.185] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mH2q1-0008F5-Cj; Fri, 20 Aug 2021 11:37:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=YHiAFsyL75OWyuvIvgYr5cJmSnEUh/HX4HxdDz8iA2A=; b=cgagBSZ8Gq+VtkQTUlCRjLA/fQ
	FwFhreClSWCJuzV8+Bl6g+ISKMji7ueRLe0yBesor0JG/EqaKIz4ODbGr7iHgNR6xjIb+e0tmz8Jg
	39VVgK5yzd+gvB5xRWYPB9fP7lw/fOy1f0iVki/vkAzZX4n5YU46FLYly8dcCIKXdg6I=;
Subject: Re: [PATCH v1 02/14] xen/pci: solve compilation error on ARM with
 HAS_PCI enabled
To: Rahul Singh <Rahul.Singh@arm.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1629366665.git.rahul.singh@arm.com>
 <c6009c327eaed66206fa093732ab6672530acd27.1629366665.git.rahul.singh@arm.com>
 <a0d06e37-ec02-9968-01d7-907176c7c9b3@xen.org>
 <7F8FC9A8-5580-4517-BF8C-640BCE778D02@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <1abfb3cb-993d-3389-c627-6b8cf40457a4@xen.org>
Date: Fri, 20 Aug 2021 12:37:27 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <7F8FC9A8-5580-4517-BF8C-640BCE778D02@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Rahul,

On 20/08/2021 11:30, Rahul Singh wrote:
>> Please add a comment explaining why this just returns 0.
> 
> Here is the comment that I will add in next version.
> /*
>   * Return 0 as on ARM there is no pci physical irqs that required cleanup.
>   */

In this context, PIRQ means an interrupts that was routed to the guest 
and could be mapped to an event channel. We have no such concept on Arm 
(see allocate_pirq_struct()).

So I would write "PIRQ event channels are not supported on Arm, so 
nothing to do".

> 
>>
>>> +
>>> +/*
>>> + * Local variables:
>>> + * mode: C
>>> + * c-file-style: "BSD"
>>> + * c-basic-offset: 4
>>> + * tab-width: 4
>>> + * indent-tabs-mode: nil
>>> + * End:
>>> + */
>>> diff --git a/xen/drivers/passthrough/arm/iommu.c b/xen/drivers/passthrough/arm/iommu.c
>>> index db3b07a571..fdec1c5547 100644
>>> --- a/xen/drivers/passthrough/arm/iommu.c
>>> +++ b/xen/drivers/passthrough/arm/iommu.c
>>> @@ -135,3 +135,8 @@ void arch_iommu_domain_destroy(struct domain *d)
>>>   void __hwdom_init arch_iommu_hwdom_init(struct domain *d)
>>>   {
>>>   }
>>> +
>>> +bool arch_iommu_use_permitted(const struct domain *d)
>>> +{
>>> +    return true;
>>> +}
>>
>> Please add a comment explaining why returning true is always fine.
> 
> Here is the comment that I will add in next version:
> 
> /*
>   * Return true as iommu use is always permitted if mem-sharing,
>   * mem-paging, or log-dirty functionality is not enabled.
>   */
How about writing "Unlike x86, Arm doesn't support mem-sharing, 
mem-paging and log-dirty (yet). So there is no restriction to use the 
IOMMU".

This would make clear why you are mentioning mem-sharing, mem-paging & co.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 11:41:21 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 11:41:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169456.309551 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH2tj-0004nT-Je; Fri, 20 Aug 2021 11:41:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169456.309551; Fri, 20 Aug 2021 11:41:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH2tj-0004nM-E6; Fri, 20 Aug 2021 11:41:19 +0000
Received: by outflank-mailman (input) for mailman id 169456;
 Fri, 20 Aug 2021 11:41:18 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5+ZW=NL=arm.com=Rahul.Singh@srs-us1.protection.inumbo.net>)
 id 1mH2ti-0004nG-Ng
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 11:41:18 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com (unknown
 [40.107.8.43]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 8c37772a-f12c-4c28-a9f3-4cd59068335d;
 Fri, 20 Aug 2021 11:41:16 +0000 (UTC)
Received: from AM5PR1001CA0013.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:206:2::26)
 by HE1PR0802MB2523.eurprd08.prod.outlook.com (2603:10a6:3:e1::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 20 Aug
 2021 11:41:14 +0000
Received: from AM5EUR03FT048.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:206:2:cafe::50) by AM5PR1001CA0013.outlook.office365.com
 (2603:10a6:206:2::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.18 via Frontend
 Transport; Fri, 20 Aug 2021 11:41:14 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT048.mail.protection.outlook.com (10.152.17.177) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Fri, 20 Aug 2021 11:41:13 +0000
Received: ("Tessian outbound f11f34576ce3:v103");
 Fri, 20 Aug 2021 11:41:12 +0000
Received: from caf75a431579.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 0FDCAFD7-1D39-44A3-8398-B663F459307F.1; 
 Fri, 20 Aug 2021 11:41:06 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id caf75a431579.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 20 Aug 2021 11:41:06 +0000
Received: from AS8PR08MB6919.eurprd08.prod.outlook.com (2603:10a6:20b:39e::10)
 by AM7PR08MB5318.eurprd08.prod.outlook.com (2603:10a6:20b:104::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.21; Fri, 20 Aug
 2021 11:41:04 +0000
Received: from AS8PR08MB6919.eurprd08.prod.outlook.com
 ([fe80::6c11:19f8:1422:5dea]) by AS8PR08MB6919.eurprd08.prod.outlook.com
 ([fe80::6c11:19f8:1422:5dea%3]) with mapi id 15.20.4436.019; Fri, 20 Aug 2021
 11: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: 8c37772a-f12c-4c28-a9f3-4cd59068335d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=y5rK+EobFOx6GLMcK0fCWxmzm62sBElQ0GJY/pOHMjM=;
 b=qMQGubwut+jdNdp2gyGYxufhfsZQR0QXAfPLNteVX8y0czMsW/s3AQkInZ9RkEWIq1ry3BB/CfAGAbU5G7HVa1Mpn1yvhicluCCNOsHbdE/4cIf5WS38XVAu1imxkh2P3sKJed3Islqi7k0Hi4tBbqLyqoX6CDrEz9zKetAMjvM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 112b2bb6f4914b38
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fFjYqyebfwmRbxBTeQI1fHE3JcGRrkJsGDLUPbOU7XKVe2BWoqH4/qeOkV7gJpDnM//PZC6bbph2xcq+wpBaOaskQn0hSASKM0jW2msyVRoSAQEI9YfDZ+eDR9D73a/8xEiCCARbuwXTY9EF5v5Yyk6oy0f8usbgZmDv/SskqLoeg0Tmo1axINJn7emGp7xSCm79ii0OimJX8+XfSjHNX7qLeAOYaF8DDk8gUgsmTORQRo1UYdlILgf3l5RjmVf3hDhNzgQLLxyrxYwA7oo6fJFkYaaeWX2jkJ1Om7e27cGzb6qhKi7ujutxVWz2z1mI9D2d3asJ7l/3dU3Lv1li4w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=y5rK+EobFOx6GLMcK0fCWxmzm62sBElQ0GJY/pOHMjM=;
 b=azo4sDe9OvNf6QAksihw0EodnnzZfyUYMk/c6yp24JGoGg0rqrZwZPlu87zgia4bjlVuXg1rGjSwLfQVaICOCrmYAVVYie0GOtQkCVfswB8nfnhdnjpgdG6VSz9IO8L7kMfeSHh+oZMx1eTbADjtkQ4mkcrm5gxGapD6gav5hXpkTONvoAntSw1v4YN0iOR0r2HXIsj+w69/8Rh1wZVFXOaTxYsAKU0eYv7FlVJnbpbkVTHXx+Q3c1lc8Nba085sG+08jYG81cQgebUCG4t9jw01JrPg4tms1iErw72FRflqq7IiX+IVG1NaCxqbtxpeAKAD2TAePinCpmpqRYao9w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=y5rK+EobFOx6GLMcK0fCWxmzm62sBElQ0GJY/pOHMjM=;
 b=qMQGubwut+jdNdp2gyGYxufhfsZQR0QXAfPLNteVX8y0czMsW/s3AQkInZ9RkEWIq1ry3BB/CfAGAbU5G7HVa1Mpn1yvhicluCCNOsHbdE/4cIf5WS38XVAu1imxkh2P3sKJed3Islqi7k0Hi4tBbqLyqoX6CDrEz9zKetAMjvM=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Paul Durrant <paul@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v1 03/14] xen/pci: solve compilation error on ARM with
 ACPI && HAS_PCI
Thread-Topic: [PATCH v1 03/14] xen/pci: solve compilation error on ARM with
 ACPI && HAS_PCI
Thread-Index: AQHXlPKNppsGoVMjlkS0HQqYv0RYK6t7+ecAgABMtoA=
Date: Fri, 20 Aug 2021 11:41:04 +0000
Message-ID: <76520AA8-D02C-4207-A722-33D935E76776@arm.com>
References: <cover.1629366665.git.rahul.singh@arm.com>
 <97d39d3ee398d6018bdcaf745f00d039df6a92ef.1629366665.git.rahul.singh@arm.com>
 <5fad114f-06c4-120e-0a48-da7045fb85c5@suse.com>
In-Reply-To: <5fad114f-06c4-120e-0a48-da7045fb85c5@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: suse.com; dkim=none (message not signed)
 header.d=none;suse.com; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 1fb62fe8-fee5-4ad2-2dd7-08d963cf6a09
x-ms-traffictypediagnostic: AM7PR08MB5318:|HE1PR0802MB2523:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<HE1PR0802MB2523922CB81928C05EFB4F19FCC19@HE1PR0802MB2523.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:9508;OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 YTy8BwAHI8Irc77ceGXO89bZ4WZjyxbIzloON3my3AEn3iIL9GpDmje7UstuUePfVsa2kJoaEiZsmG6BEMeDSSdhimCmn1I++JzVtIcIy49zJJsAdUWjwKLLYid2Ikr/li69MecpXiljDZLeedoGcOgusSXwfWbPLpx7ot1jfOnDV/9L/TeFArFBkQxjYDpDu3ZVL9Z/wtz1z7DM34i9pcGGaUopThH1Pz5mglHRYyIUPfVS8c63Z4/z3v9stEuYXiexS2R0IOnN61hkM57I3GJX2exJ5zgcrnmQPTVHy9F+yFmCi2Wj8mMbPbYvKkqcMyx2Kxl66GLvEGvrLZkoH4XeKPg7lfgNWUnDoIEsNPvBrY5lK9ehXFLAAgRu4NcAMrAVufK5lZcCl9Hk4NYn0drAiaVOITMKUhjvcSfyyyBRUTielpOedbnHmHUAAoSC7m64Ztw9AQ4oWxdeVUBnqEdfB5Et1qgzlmIVKDg464CUUNqUajpLq7H0AWgUKjx5qU89FuNbma0sgUn8e6UU86oErjHVybzbft+H4Mbvf607dYz/wXOcolkWZSJ+X/im7M96NCrLx+Pc5pje3nYzchPODx8UTdSsVUIfPRALRdNzzUvldqiTerlY6lfJI6syWZXSCVjsf5hzu4bLt97gZZVk8q3/TQpoQH8bfvr3VwV9Bi47+fTbIei7VqncrQ0EIqBFBUvdbcyPYf+ZCDVmIII4wO+H6UabCYx5IN6zeA5uNuZdOCXBTH0ze2s0ZQY4
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB6919.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(6512007)(64756008)(66556008)(66476007)(186003)(6506007)(53546011)(2616005)(2906002)(4326008)(26005)(122000001)(38100700002)(38070700005)(6486002)(71200400001)(5660300002)(91956017)(66946007)(76116006)(36756003)(33656002)(83380400001)(8676002)(8936002)(86362001)(54906003)(66446008)(316002)(6916009)(508600001)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?c3l0ZlM5MTM2dDYzTlF1WVFEMXdqanlCWVh6MjZlcXV1MVF2QXlnWXpldGJw?=
 =?utf-8?B?aHdRQ01idVRJTXFyaTIraldrTDBvWkVockFocHRpbkVWckFHbHhBVXZUUmw4?=
 =?utf-8?B?M1YxTUZXK1RDdEN0L3Z5S3BLQyt4L0ZVNFZ6OE1FbzFpR0xTVitRVFNIdDFn?=
 =?utf-8?B?T3Vrd1dyR05yOXBFNEx4ZmRXSVRHOE9TRlBuY2U2M1JkcGNxRktMVnZDMFZC?=
 =?utf-8?B?aUpERHBLVkJkMjdYRklodFBteHhzQ1lrZU0rWjBHZlBpdWx6dSs0SjZyV25p?=
 =?utf-8?B?K1JSWm1QOGU2WTdtSG9INDIxdXZWRnhJUHBLenl4REJLU0pNVnZlWThlZy9x?=
 =?utf-8?B?bno0K01PZ29ONTI2b3picC96MUR0aTlQTENlWTVRZG1hVlFyY1A0UHNNcFFS?=
 =?utf-8?B?anhkN0cyUUZWV0I4RWVNU1QwSHNPN2VEeE5IQmFZbFo2VEs5a0JvY3c3Q1Uw?=
 =?utf-8?B?MWxTV3lQZjFiZXF0cHFaWkNVRnJNaVdNZWowUFVFeHhGeko1MGFFb2toeVVi?=
 =?utf-8?B?cUNrSGpENUY1NkhSMUdVNVJkZVNHZjE4S3k2Qm9BM3p2U21Ca3hJZUs3Qm9K?=
 =?utf-8?B?NG5uRGNHZ1FHQUhaUHc3clBicmpNSDJ1b0VLaTF5L1NBNmFuYXFsUk9wTkUr?=
 =?utf-8?B?NFlBbDkxRmF2VGJzZ2owSGdxTHEvck5OWGtlS0pVbWtLZ0d0czZyeFdGU3Y1?=
 =?utf-8?B?VGVRckJtYi93enpqa2x5bituU0QxcEJKSVluOWh5L0Rmd2pFMDJ0RHhrRkkr?=
 =?utf-8?B?bysya3VNejc0U2hsSVpLUWsrdjFXMWhlbXVWS3pDVThUVWVNa0dkMzM0ZCti?=
 =?utf-8?B?MXVXK2ptbk1vdXVGdFFDaks3MDQ3cGlid1Y3MStnbG13UHJSbWJsenVITXBC?=
 =?utf-8?B?KzZsYzdnL3dneSt2eVlMcHRUQ2FPOVQzMXc4Qjd4eG5TeXUwa1FKY3VmMitw?=
 =?utf-8?B?T3llZGZvSm41YzNQa1Q0cFMzWU9HYmplMXJsVVBJQ01qNHdmd09hSndHc3dT?=
 =?utf-8?B?TGgvZ3FCTTVzQkcyRUhFRW9OcnVMdWd2SXhKS0xsMk01bndSK1g1bFR4SkJQ?=
 =?utf-8?B?eXljSzNWQWlIR204Qm1xOHhueXJpeXk1L1hqeXNqck41Mkt3NlFERmwvUEx5?=
 =?utf-8?B?TnZENWI5VzVicERZVC8zdHdOYVdVeWRNQzVnT3RnTENTV2dSenRLYU1RR21U?=
 =?utf-8?B?QThaL1JoUjBYSVFDT3FQOGpRS0tobzY2WHdGRU9zZERtaVcxWS9LU25ObjVP?=
 =?utf-8?B?R3VjUG1tQ3lrRGo5OE9TSnR0cTl6bXJ5b3FlbDVZR2RLenVXUzRpM1NYcVZo?=
 =?utf-8?B?NGRINzJycUp6YVBpcFZZa1JqOVdhWldKU05NU1VqN2g2ZXQ4YnhOMXVQQUcv?=
 =?utf-8?B?cDRoczBaSUphanVUSDFhbU9haXhXeWJOZmJCNlU2Qk10d3hGNDI4Zi9mQjVX?=
 =?utf-8?B?LytHNjMrSlZlNTk3eVJSVTk3ZVlzK2ZqMlNQWFpId09UT2c1K3Fld2gwUEl6?=
 =?utf-8?B?RGhYa0RucThPblBJWmIzYUdZaUJvazhIUEpJV3RnMXFJNThjTXkzaEJoTURQ?=
 =?utf-8?B?b1oxYlVQOHpaWDlnU0pEdkROZ3IzK0tva0hLaXQ0UHQwRUlUWUthRDBoRWRU?=
 =?utf-8?B?S2NaUHFMcnZ3MThlUXI1dWU3bDl4RjVxWXJmTUIyWi9Bb041ZWhDZXBuNDdr?=
 =?utf-8?B?R3Yxc1JZWlRCZ0Q3ZXBwK0hiNks5bVRiY2FPN2hsTk1rZE01MXdzRzdhZlVO?=
 =?utf-8?Q?p3Fn3wzuEetzWCA2ZEgY7StKSEEytkm/IhchOgY?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <FC359B91DAF16143A27668F6098934D3@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5318
Original-Authentication-Results: suse.com; dkim=none (message not signed)
 header.d=none;suse.com; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT048.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	ac3407a1-2e53-4830-b0f3-08d963cf645e
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0S1IQYG4nfF/8ektFe1RKyPcUvaq3XZ1cu0jJyMbR58erDve/kMN/9M6RLiTOtfPTqcxG8jKCcl+qE8QQOzYa5aIXaKLx9PpG3grdcwAx1XRm8lybyEMsLqSuG2W26m6/5uXC3qATBIrhFCY5eX/nHaVoBfpmM9eTsAXiaEpr0QFomKOvJVx4UUZO7nXY53de/UjmBEguQEVgYkBp6hyv6/Fcealy9RplgraYBs+oZwYOxj6umAIDCEfzxUilZGKnaF/30cAs5BkHD2qjF2vORo5z28aJuQY7/vJJjXowWEQLfE29px3uUc8t9NRaRtVA9LbHDBC8Xv0QznR6r2WXTziyXoXBDMj6IiBGQGSjFuqh6/OOmG/Kzy/6NxiBcGW4y22WlDg1eVWrHF11hLQxAglTenpwGgUg5SM97wRIdCv+hWSihAOFwI0cgdQgh6Cyj57CnE2IzU4QyUMEPtmDuxOhW3h/UyF/sg9AdK1YfS/o+3ddl7ZGGS/N0s1MLv1uyyAMY/dGba41rRZvrozsJYLzOpH41Pps8J5UZvcuVHfw066rK84TTArslXRLJr+OKt1qSrI9Q40oVG5QFwESIcyETckpe+V48YM8fM5kYDETq0XobsiYKnSK2nIW6OhIv7jP41K97WtrCCLrMve3+NKULwJafnhanw+khnHf+c2EMIiRO7ZCdovbyLCtLziSTTFVG7vdlF5+5mJUyQItw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(39860400002)(136003)(376002)(396003)(346002)(36840700001)(46966006)(4326008)(53546011)(54906003)(5660300002)(82740400003)(82310400003)(6506007)(81166007)(70206006)(70586007)(36756003)(83380400001)(186003)(478600001)(6862004)(6486002)(26005)(8676002)(356005)(336012)(8936002)(2616005)(33656002)(6512007)(316002)(36860700001)(86362001)(47076005)(2906002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 11:41:13.7382
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1fb62fe8-fee5-4ad2-2dd7-08d963cf6a09
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT048.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0802MB2523

SGkgSmFuDQoNCj4gT24gMjAgQXVnIDIwMjEsIGF0IDg6MDYgYW0sIEphbiBCZXVsaWNoIDxqYmV1
bGljaEBzdXNlLmNvbT4gd3JvdGU6DQo+IA0KPiBPbiAxOS4wOC4yMDIxIDE0OjAyLCBSYWh1bCBT
aW5naCB3cm90ZToNCj4+IENvbXBpbGF0aW9uIGVycm9yIGlzIG9ic2VydmVkIHdoZW4gQUNQSSBh
bmQgSEFTX1BDSSBpcyBlbmFibGVkIGZvciBBUk0NCj4+IGFyY2hpdGVjdHVyZS4gTW92ZSB0aGUg
Y29kZSB1bmRlciBDT05GSUdfWDg2IGZsYWcgdG8gZ2F0ZSB0aGUgY29kZSBmb3INCj4+IEFSTS4N
Cj4gDQo+IFBsZWFzZSBnaXZlIGF0IGxlYXN0IG9uZSBleGFtcGxlIG9mIHdoYXQgaXQgaXMgdGhh
dCBmYWlscyB0byBjb21waWxlLg0KPiBXaGF0IGFuIGFwcHJvcHJpYXRlIGFjdGlvbiBpcyBkZXBl
bmRzIG9uIHRoZSBuYXR1cmUgb2YgdGhlIGVycm9yKHMpLA0KPiBhbmQgZnJvbSBsb29raW5nIGF0
IHRoZSBlbmNsb3NlZCBjb2RlIEkgY2Fubm90IGVhc2lseSBzZWUgd2hhdCBpdA0KPiBtaWdodCBi
ZSB0aGF0IGJyZWFrcyBmb3IgQXJtLg0KDQpJIGFtIG9ic2VydmluZyBiZWxvdyBlcnJvciB3aGVu
IGVuYWJsZWQgQUNQSSAmJiBIQVNfUENJIGZvciBBUk0uDQoNCnByZWxpbmsubzogSW4gZnVuY3Rp
b24gYHBjaWVfYWVyX2dldF9maXJtd2FyZV9maXJzdOKAmToNCi94ZW4vZHJpdmVycy9wYXNzdGhy
b3VnaC9wY2kuYzoxMjUxOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBhcGVpX2hlc3RfcGFyc2Un
DQphYXJjaDY0LWxpbnV4LWdudS1sZDogL2hvbWUvcmFoc2luMDEvd29yay94ZW4vcGNpLXBhc3N0
aHJvdWdoLXVwc3RyZWFtL3hlbi94ZW4vLnhlbi1zeW1zLjA6IGhpZGRlbiBzeW1ib2wgYGFwZWlf
aGVzdF9wYXJzZScgaXNuJ3QgZGVmaW5lZA0KDQpJIGZvdW5kIHRoYXQgYXBlaS8gaXMgb25seSBl
bmFibGVkIGZvciB4ODYgYW5kIHBjaWVfYWVyX2dldF9maXJtd2FyZV9maXJzdCgpIGlzIG9ubHkg
Y2FsbGVkIGZyb20geDg2IGNvZGUuDQpvYmotJChDT05GSUdfWDg2KSArPSBhcGVpLw0KDQpJIGFt
IG5vdCBzdXJlIHdoZXRoZXIgd2UgbmVlZCB0aGlzIGNvZGUgZm9yIEFSTSBhcmNoaXRlY3R1cmUg
DQp0aGF0IGlzIHdoeSBJIGdhdGUgdGhlIGNvZGUgZm9yIEFSTSB2aWEgQ09ORklHX1g4Ng0KDQo+
IA0KPiBBbmQgYXMgc3VnZ2VzdGVkIGJ5IEp1bGllbiBmb3IgdGhlIGVhcmxpZXIgcGF0Y2ggLSB5
b3Ugd2lsbCB3YW50IHRvDQo+IHJlLW9yZGVyIHRoaW5ncyBzdWNoIHRoYXQgY29tcGlsYXRpb24g
ZG9lc24ndCAiYnJlYWsiIGluIHRoZSBmaXJzdA0KPiBwbGFjZS4gVGl0bGUgYW5kIGRlc2NyaXB0
aW9uIHdvdWxkIHRoZW4gd2FudCBhZGp1c3RpbmcgYWNjb3JkaW5nbHkuDQoNCkxldCBtZSByZW9y
ZGVyICB0aGUgcGF0Y2ggc2VyaWVzIGluIG5leHQgdmVyc2lvbi4NClJlZ2FyZHMsDQpSYWh1bA0K
PiANCj4gSmFuDQo+IA0KDQoNCg0KDQo=


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 11:54:06 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 11:54:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169462.309564 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH35x-0006RT-P0; Fri, 20 Aug 2021 11:53:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169462.309564; Fri, 20 Aug 2021 11:53: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 1mH35x-0006RM-La; Fri, 20 Aug 2021 11:53:57 +0000
Received: by outflank-mailman (input) for mailman id 169462;
 Fri, 20 Aug 2021 11:53:56 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=pH7i=NL=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mH35w-0006RG-Fl
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 11:53:56 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com (unknown
 [40.107.22.43]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 13f219c7-3531-439d-bf05-88ae2d22b26e;
 Fri, 20 Aug 2021 11:53:54 +0000 (UTC)
Received: from DU2PR04CA0339.eurprd04.prod.outlook.com (2603:10a6:10:2b4::18)
 by AM0PR08MB4227.eurprd08.prod.outlook.com (2603:10a6:208:13d::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Fri, 20 Aug
 2021 11:53:52 +0000
Received: from DB5EUR03FT003.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:2b4:cafe::41) by DU2PR04CA0339.outlook.office365.com
 (2603:10a6:10:2b4::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Fri, 20 Aug 2021 11:53:52 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT003.mail.protection.outlook.com (10.152.20.157) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Fri, 20 Aug 2021 11:53:52 +0000
Received: ("Tessian outbound 56612e04f172:v103");
 Fri, 20 Aug 2021 11:53:52 +0000
Received: from 91a45f384db9.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 1C5D4E1B-537E-4AA4-8F5A-A77A0912D3A3.1; 
 Fri, 20 Aug 2021 11:53:46 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 91a45f384db9.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 20 Aug 2021 11:53:46 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DBBPR08MB4886.eurprd08.prod.outlook.com (2603:10a6:10:f4::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 20 Aug
 2021 11:53:32 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.019; Fri, 20 Aug 2021
 11:53: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: 13f219c7-3531-439d-bf05-88ae2d22b26e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=T4EvlY1E7+4gXwKbUizIkzoLT2Wz5RlwoxRnBgJywBM=;
 b=N2s6pB/JmwEH2+bY0L8vdJ2hNDyJxD+ajFGRe+8mgrcA+9YELHGT1ZQZnbDybAJXzLZe6YNrhF0jg4nWssUYek1fT1lfntVt+Ho/8819Mqcrk+wvV6PoVLxifCVMpV28ZEmv5rPNqT3gCsy8y/+gLz2R1eCNUOtLnD0oaa4udNk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 3a2c88a484c48d33
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PoyeX5di78L7Yge/2dZIkwz28KMfcSDdKI75qX+62+qAws7v2iGBIh2Cypn8t/167G45z/uU3oF/jLHfn0JTRdJ7UbQviGZcPiwRPh9DCfGO/Fo3c0slCuycoulkTEtbiNptiHJbN3vKNDKMy861ic2UbOP/Eh5JyyktORUf5hpSchIy+vycfukYDbQzs3k6InXLlD/bZa/ZSTBm1jgx4IKyX413meKHcxprQUhnQjl1PeP1wwGPIGYC6ayk2VUlYW5XZY/jBISyOn012EU0WHb9xcLTMrP3JlCEOEU7e75qdvSuzcAzNbIVYTokxhrYkPrDVFerruQYqWX3dcXelw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=T4EvlY1E7+4gXwKbUizIkzoLT2Wz5RlwoxRnBgJywBM=;
 b=FTgQG5t9JxEPPhyAC7QRzuCCjpBynSkB/lwYAc8/Hwr4vv62jYpdyHFS1C+KXbRf7rhpnKXo//yBzBcyaM5kEZU9EGjNuQcOSqcHwJFvMcTYWuJcFm4jx11LloNKfBEkcPtEXdkiiOUEXfL015NSYD/+CoZUIqR6C+1eSdcJyGlZ2dwahAS267L8749m9SuWYlgj68EFIuZVuipj739a7ctPoHPb8/lwmXlxnvM31rysNHhBrEzVgmhEjpoBhg4y28fuqpLx6SsilXN8kzJFswYNsPeykgiiaey+2tUknng+M/+dlLuy7QjRd2mN32e12IuA/eNPSuyfUpuFtxbsvQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=T4EvlY1E7+4gXwKbUizIkzoLT2Wz5RlwoxRnBgJywBM=;
 b=N2s6pB/JmwEH2+bY0L8vdJ2hNDyJxD+ajFGRe+8mgrcA+9YELHGT1ZQZnbDybAJXzLZe6YNrhF0jg4nWssUYek1fT1lfntVt+Ho/8819Mqcrk+wvV6PoVLxifCVMpV28ZEmv5rPNqT3gCsy8y/+gLz2R1eCNUOtLnD0oaa4udNk=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 22/40] xen/arm: introduce a helper to parse device
 tree processor node
Thread-Topic: [XEN RFC PATCH 22/40] xen/arm: introduce a helper to parse
 device tree processor node
Thread-Index: AQHXjps9W9pBfq916EKAfG5ObJRyjat7LowAgACIpGCAAGq8AIAAIxsQ
Date: Fri, 20 Aug 2021 11:53:32 +0000
Message-ID:
 <DB9PR08MB6857FF0A21898C7BB2E680E99EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-23-wei.chen@arm.com>
 <b52884fd-da4b-f09c-8ed9-cefd7c5b6e97@xen.org>
 <DB9PR08MB6857105F17F529CCD54D83E89EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <317048b1-adfd-d537-aff4-4018e50f348a@xen.org>
In-Reply-To: <317048b1-adfd-d537-aff4-4018e50f348a@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: CD7E85A195414543A17A26BA271DBB36.0
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 6d54857f-5ecb-417e-dfe0-08d963d12e54
x-ms-traffictypediagnostic: DBBPR08MB4886:|AM0PR08MB4227:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM0PR08MB4227EC0939CE7EFEC72EBE2B9EC19@AM0PR08MB4227.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 orThC+ScTePdv0+agiKkQpTe6O9YGhlZv8HBMtGSMWCVe6lB9qRSe3zUHckPjwDfIw8CxmfY1pHYQa6EP2t6E29eV22+PtDcaMfVA+BpEzr4hUgUyRiZlhtoWYmoUhtiIVJ8vMTxi/cIjfyB8g8ldxus7R/AGR6ACrXg4x+UG4yiEJrcUMeNwV4Io/rk3/AizcKp0LEl5RK4IijwRNXRDrf7HuW8CAjksrtH7TO53gTH7B7DhQ1CN4M3XhksK9RQqxphDJLLB8SoSKGN40PVa0T1fLdx00CEOQlCAb8bRpebjqn/ey+82+9RB2rRbHRC9HzXflix72qAfNP1SqjDblMBhda1WsGwplJfDORnG7KAhk4MULrQrSjPeL3zM0l82s5NdQJFR2XHT2QQQ6ffJ7dLW9LuG6qHpm+MtHVSLrSN1iZiWtHHQNOH6n+80fPyvdfzSxaT4grt0cCFuoxyHJhA/09AAAzj55gYBrg4oA6XuPztmQZN2S6ymjK0ZBEo4flMKoldymEKoq48cOKCA8IOognoNAj1HBVtwZBsPFfPJ752trWn3IoGHNEQuAr0JjkIoeyWm9xEOXxKcsYhaEVHv0X2xzw0OJTlzqgy04DxMp/12HzKw2NM8WrsnBMvJzV8w+VTKxJ4UxHjuPgcJfyHYuKz6vkCq3KGY7ZVSlrXWDr8o+PStMG9WOHtZa81XEosp+TR08bWS3zW6fDClQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(366004)(136003)(39860400002)(376002)(346002)(66446008)(76116006)(64756008)(55016002)(478600001)(66476007)(316002)(66946007)(8676002)(66556008)(52536014)(38100700002)(2906002)(86362001)(6506007)(110136005)(122000001)(9686003)(53546011)(38070700005)(83380400001)(7696005)(186003)(8936002)(4326008)(5660300002)(33656002)(26005)(71200400001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?TmIrOXN0R0NXNGdBTERFQ1hKMlM2UmswUW83TElQQkxmR0RHTDZmTFVzWVor?=
 =?utf-8?B?ZVFyVk4ycEhFS0hqK3dWSjJIVmhxUjhzeG95M0xxU2pzZFo2OWNKS0NZeXMv?=
 =?utf-8?B?L29pZlhEenl5QzQ0L1VnSVArSi9zcVhmWnFEMitPYTlDZVlyOUJ6WWM2MXRO?=
 =?utf-8?B?cXFtR3VZVEhrd21OempMSDh5RUwvb0dDSUcrNEVTcVhLamdTYTdVN3MxV0pO?=
 =?utf-8?B?ZmpNRFhsbVJsTG1BV1ZENzZxdWlYSTRJVGlWTktYbEJvMm9Ja0pFYWo4WlFT?=
 =?utf-8?B?bnVYUUxPM0FlN2FsbXdVTzNXckJ3WDluVVByekZ6aVAyZlE2Qncyb2EzMlRw?=
 =?utf-8?B?VnRSMFpzY1JXSmNpU2JKQW9uSWZXL0k4V2I1aUdvWGZBSzNzNW95aUdYNCtx?=
 =?utf-8?B?RUJLdWJ0anFhOThqaXVReTNpRFl6dEptZzZzai9uWlloRFlWdXlGRWNOTzR0?=
 =?utf-8?B?bWwzUVRleHVBRmQzOFh2cEgwVTdWNkpGQ0JaN2s5TjBheU0yT2RFTlVDRjBp?=
 =?utf-8?B?VVlwZklTdllXNXFUenEvRXl5MXppaHNaSU9VYWxRSlBBQTJ1aUNIV21wcGFM?=
 =?utf-8?B?VS9ZSU14QmFXRGlleEQ5LzB6Y2xaRHRRTDMrK1dWTDZKeHFZKyt2S3JMK0pp?=
 =?utf-8?B?MHRiRk90VHp1U2F3REt2ZVhDOXhtZUlpUUsvZW1uYmlSNWdidzRseUtDV2Ex?=
 =?utf-8?B?eVpXK09SRFZRQU55QVBIWFhnUjVwaENJMW9DNVhmNVh3OXUrVXg2cThwYktP?=
 =?utf-8?B?YU0xQ0YrVlJpWUlzVTJMcHp3UTlvRURCMmFPOUY5bHBNOGRvNlVwYW5iaXBa?=
 =?utf-8?B?VW14bENLQXB4L2lHZWtwUGg2NHloeHJkNkZDUXE1OU14Mk5TSlUzTUpycjY0?=
 =?utf-8?B?S245RitxMkJpbDJpekVBQnF5bkxVTHBhTngrTkxyVUJ1SHVSZEYwUEZsSTF0?=
 =?utf-8?B?Z09YYVFkYmo0c1VsSWJQRDJIdXZKSE1uMDRiQUdVOCtIQWFRY1R6cmR6ZW5j?=
 =?utf-8?B?ZFI2ZWhkdGlGNDFpODQ5UEJ6NDA3aHhoOE9QSTNmMERseTlnQWVDNG1kQmlB?=
 =?utf-8?B?MTVGQkhlbjk1Qlc4VTgvMC9JUm9OYzVaYzRmSXBZV0JuVlhLQXpTanFUWUhh?=
 =?utf-8?B?eXVRZHdQdmFMNHhEalNwVmpDZkFMTjBjZmlwcWRJc1J3SWxuNW54dHFEa0dm?=
 =?utf-8?B?b3JRem03alpDNFVJSU1sTGFUVHlZYXJXbFoxZXVWYzZmT2tUcnk3ODZIVjll?=
 =?utf-8?B?L3RBbXRGZDRGNmI1RzBXYzFXWnE3NHNiMmFqS250YzdqZ3BHclYwckRzeVZS?=
 =?utf-8?B?QmMvb3krSnk1R1c0SVFBekpvM3Jzcmk0dTJ0TFd3WkVUeWNmZGhVRkppS1Nl?=
 =?utf-8?B?d04rRlhQTXhxRlBTZEV2RVg3L09FZ0pCUEs1WUVEeUkrMXVHQTk0bEk2SUVm?=
 =?utf-8?B?Rld4eUMraGxrZXFsbmFlUktQakxtMEFFRHJqRk1OeTdWQ0dvUklMV05TSTBT?=
 =?utf-8?B?QUNJVlRTdU1kbzJpWkVHREhqZ2wzdlpiMVhmOWVLc1dkMW01SCsydTkzWVRt?=
 =?utf-8?B?MzhYTjcwenpmN0NaMjBzYlFteGR0bjRWdGhRZFBmblhvUnFKb1VoVE1ITmVQ?=
 =?utf-8?B?Wmo3aHMwYktsVEZSN0dzMEFmWlZObExtS21sMUdGNmxlZmw3akhoa21UTGRG?=
 =?utf-8?B?NlJYb0lKTHZCSEpySGt5WEhSVEp3TDFPQXh5ajBoS3ZVMm5CMFJzTTFjS2dQ?=
 =?utf-8?Q?U2MZgP70F+/e5hIH2UOlQoJK+aHajWMZcTPHhZo?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB4886
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT003.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	5580ff17-e15d-46c5-bc4b-08d963d1222e
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	C+yZtY8sm3ZYuHEdbw0KJ7llnRazT4gAh+9ujMJCNdfqrsAbf8+3nMltkB/NYjpFdPcP3WmaWUcONIMQ4e837WDRHQIlXw3qyRXfw2unRrHjl8nwjW92+qBuORFzz/9DUJKZbCX0AZD6EM2LiSD7yx6qZ2vaxDJ/g9JnAsjBupXoI5XHw2vKGxaTwIednSUac6V/zkHX/C1/VRg9n/MtNnM5GJh6seG8z2J6xLEic/cfkxjHeIkYEQKIeFSXI4qdEF1KXdkfQ66QbZuj7mOJ/YwOY/f7QDOQgkw6t9sgVGp9nYoaiaamREaUjiJVcVrddI3ZpqatVuXTTjovTJ4UjhTiLBZP6Zuu5JXkFdmBUgSYGYj3TCWiuMlB5ocj4wZpC+S0lrolpyqW42HY1aQ2IZgnK261uAWYvyTYb4RZFSSmtqxCHhUXMz+ZvzOXBE34S+5GCZ84ZulsCQuMYYR1TOUZbAf9Qym3GJqsoat7xlwjHLzgWuXVB11ZasKuFDFWoBXJy7OFd5bflZZrdwyWia3mDEloKyODQYSc9z55uxKj/REAyGHJInssx+XXJdIjLDSNa+7xDscd1JF1oEyBlqZ4m5gtWenAGO3C9Gfy/VQ3br+xE92j66LJbIMM+AZus3Fn/EF0RCX8TDLgKDXoYw8JUGrlIzQPO2BtvfXgQfgSFzNcWue+016vn7Q9oA2ojYu8uFygFkz62GPqkjbkvQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(396003)(346002)(39860400002)(376002)(136003)(46966006)(36840700001)(4326008)(8936002)(9686003)(55016002)(336012)(26005)(47076005)(36860700001)(316002)(186003)(7696005)(6506007)(53546011)(52536014)(2906002)(82310400003)(82740400003)(478600001)(83380400001)(33656002)(5660300002)(86362001)(70586007)(8676002)(81166007)(70206006)(110136005)(356005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 11:53:52.6184
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6d54857f-5ecb-417e-dfe0-08d963d12e54
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT003.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB4227

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMjDml6UgMTY6NDQN
Cj4gVG86IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgeGVuLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnOw0KPiBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqYmV1bGljaEBzdXNlLmNvbQ0K
PiBDYzogQmVydHJhbmQgTWFycXVpcyA8QmVydHJhbmQuTWFycXVpc0Bhcm0uY29tPg0KPiBTdWJq
ZWN0OiBSZTogW1hFTiBSRkMgUEFUQ0ggMjIvNDBdIHhlbi9hcm06IGludHJvZHVjZSBhIGhlbHBl
ciB0byBwYXJzZQ0KPiBkZXZpY2UgdHJlZSBwcm9jZXNzb3Igbm9kZQ0KPiANCj4gDQo+IA0KPiBP
biAyMC8wOC8yMDIxIDAzOjIzLCBXZWkgQ2hlbiB3cm90ZToNCj4gPiBIaSBKdWxpZW4sDQo+IA0K
PiBIaSBXZWksDQo+IA0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9t
OiBKdWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4ub3JnPg0KPiA+PiBTZW50OiAyMDIx5bm0OOaciDIw
5pelIDI6MTMNCj4gPj4gVG86IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgeGVuLWRldmVs
QGxpc3RzLnhlbnByb2plY3Qub3JnOw0KPiA+PiBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqYmV1
bGljaEBzdXNlLmNvbQ0KPiA+PiBDYzogQmVydHJhbmQgTWFycXVpcyA8QmVydHJhbmQuTWFycXVp
c0Bhcm0uY29tPg0KPiA+PiBTdWJqZWN0OiBSZTogW1hFTiBSRkMgUEFUQ0ggMjIvNDBdIHhlbi9h
cm06IGludHJvZHVjZSBhIGhlbHBlciB0byBwYXJzZQ0KPiA+PiBkZXZpY2UgdHJlZSBwcm9jZXNz
b3Igbm9kZQ0KPiA+Pg0KPiA+PiBIaSBXZWksDQo+ID4+DQo+ID4+IE9uIDExLzA4LzIwMjEgMTE6
MjQsIFdlaSBDaGVuIHdyb3RlOg0KPiA+Pj4gUHJvY2Vzc29yIE5VTUEgSUQgaW5mb3JtYXRpb24g
aXMgc3RvcmVkIGluIGRldmljZSB0cmVlJ3MgcHJvY2Vzc29yDQo+ID4+PiBub2RlIGFzICJudW1h
LW5vZGUtaWQiLiBXZSBuZWVkIGEgbmV3IGhlbHBlciB0byBwYXJzZSB0aGlzIElEIGZyb20NCj4g
Pj4+IHByb2Nlc3NvciBub2RlLiBJZiB3ZSBnZXQgdGhpcyBJRCBmcm9tIHByb2Nlc3NvciBub2Rl
LCB0aGlzIElEJ3MNCj4gPj4+IHZhbGlkaXR5IHN0aWxsIG5lZWQgdG8gYmUgY2hlY2tlZC4gT25j
ZSB3ZSBnb3QgYSBpbnZhbGlkIE5VTUEgSUQNCj4gPj4+IGZyb20gYW55IHByb2Nlc3NvciBub2Rl
LCB0aGUgZGV2aWNlIHRyZWUgd2lsbCBiZSBtYXJrZWQgYXMgTlVNQQ0KPiA+Pj4gaW5mb3JtYXRp
b24gaW52YWxpZC4NCj4gPj4+DQo+ID4+PiBTaWduZWQtb2ZmLWJ5OiBXZWkgQ2hlbiA8d2VpLmNo
ZW5AYXJtLmNvbT4NCj4gPj4+IC0tLQ0KPiA+Pj4gICAgeGVuL2FyY2gvYXJtL251bWFfZGV2aWNl
X3RyZWUuYyB8IDQxDQo+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQ0KPiA+Pj4g
ICAgMSBmaWxlIGNoYW5nZWQsIDM5IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pDQo+ID4+
Pg0KPiA+Pj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9udW1hX2RldmljZV90cmVlLmMNCj4g
Pj4gYi94ZW4vYXJjaC9hcm0vbnVtYV9kZXZpY2VfdHJlZS5jDQo+ID4+PiBpbmRleCAxYzc0YWQx
MzVkLi4zN2NjNTZhY2YzIDEwMDY0NA0KPiA+Pj4gLS0tIGEveGVuL2FyY2gvYXJtL251bWFfZGV2
aWNlX3RyZWUuYw0KPiA+Pj4gKysrIGIveGVuL2FyY2gvYXJtL251bWFfZGV2aWNlX3RyZWUuYw0K
PiA+Pj4gQEAgLTIwLDE2ICsyMCw1MyBAQA0KPiA+Pj4gICAgI2luY2x1ZGUgPHhlbi9pbml0Lmg+
DQo+ID4+PiAgICAjaW5jbHVkZSA8eGVuL25vZGVtYXNrLmg+DQo+ID4+PiAgICAjaW5jbHVkZSA8
eGVuL251bWEuaD4NCj4gPj4+ICsjaW5jbHVkZSA8eGVuL2RldmljZV90cmVlLmg+DQo+ID4+DQo+
ID4+IE5vdGhpbmcgaW4gdGhpcyBmaWxlIHNlZW1zIHRvIGRlcGVuZCBvbiB4ZW4vZGV2aWNlX3Ry
ZWUuaC4gU28gd2h5IGRvDQo+IHlvdQ0KPiA+PiBuZWVkIHRvIGluY2x1ZGUgaXQ/DQo+ID4+DQo+
ID4NCj4gPiBJIHJlbWVtYmVyIHRoYXQgd2l0aG91dCB0aGlzIGhlYWRlciBmaWxlLCBkZXZpY2Vf
dHJlZV9nZXRfdTMyIGluIHRoaXMNCj4gcGF0Y2gNCj4gPiB3aWxsIGNhdXNlIGNvbXBpbGluZyBm
YWlsZWQuDQo+IA0KPiBJIGxvb2tlZCBhdCB0aGUgcHJvdG90eXBlIG9mIGRldmljZV90cmVlX2dl
dF91MzIoKSBhbmQgSSBjYW4ndCBmaW5kIGhvdw0KPiBpdCBkZXBlbmRzIG9uIGJpdHMgZnJvbSBk
ZXZpY2VfdHJlZS5oLiBDYW4geW91IHBhc3RlIHRoZSBjb21waWxhdGlvbiBlcnJvcj8NCj4gDQoN
CkkgdGVzdGVkIGl0IGFnYWluLCB0aGlzIGhlYWRlciBmaWxlIHNob3VsZCBiZSBpbnRyb2R1Y2Vk
IGluIGZvbGxvd2luZyBwYXRjaGVzOg0KbnVtYV9kZXZpY2VfdHJlZS5jOiBJbiBmdW5jdGlvbiDi
gJhkZXZpY2VfdHJlZV9wYXJzZV9udW1hX2Rpc3RhbmNlX21hcF92MeKAmToNCm51bWFfZGV2aWNl
X3RyZWUuYzoyNDM6MTY6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDi
gJhkdF9yZWFkX251bWJlcuKAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlv
bl0NCiAgMjQzIHwgICAgICAgICBmcm9tID0gZHRfcmVhZF9udW1iZXIobWF0cml4LCAxKTsNCiAg
ICAgIHwgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn4NCm51bWFfZGV2aWNlX3RyZWUuYzoy
NDM6MTY6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmGR0X3JlYWRfbnVt
YmVy4oCZIFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQ0KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcg
dHJlYXRlZCBhcyBlcnJvcnMNCg0KSSB3aWxsIG1vdmUgaXQgdG8gYW5vdGhlciBwYXRjaC4NCg0K
PiA+DQo+ID4+PiArI2luY2x1ZGUgPGFzbS9zZXR1cC5oPg0KPiA+Pj4NCj4gPj4+ICAgIHM4IGRl
dmljZV90cmVlX251bWEgPSAwOw0KPiA+Pj4gK3N0YXRpYyBub2RlbWFza190IHByb2Nlc3Nvcl9u
b2Rlc19wYXJzZWQgX19pbml0ZGF0YTsNCj4gPj4+DQo+ID4+PiAtaW50IHNyYXRfZGlzYWJsZWQo
dm9pZCkNCj4gPj4+ICtzdGF0aWMgaW50IHNyYXRfZGlzYWJsZWQodm9pZCkNCj4gPj4+ICAgIHsN
Cj4gPj4+ICAgICAgICByZXR1cm4gbnVtYV9vZmYgfHwgZGV2aWNlX3RyZWVfbnVtYSA8IDA7DQo+
ID4+PiAgICB9DQo+ID4+Pg0KPiA+Pj4gLXZvaWQgX19pbml0IGJhZF9zcmF0KHZvaWQpDQo+ID4+
PiArc3RhdGljIF9faW5pdCB2b2lkIGJhZF9zcmF0KHZvaWQpDQo+ID4+PiAgICB7DQo+ID4+PiAg
ICAgICAgcHJpbnRrKEtFUk5fRVJSICJEVDogTlVNQSBpbmZvcm1hdGlvbiBpcyBub3QgdXNlZC5c
biIpOw0KPiA+Pj4gICAgICAgIGRldmljZV90cmVlX251bWEgPSAtMTsNCj4gPj4+ICAgIH0NCj4g
Pj4+ICsNCj4gPj4+ICsvKiBDYWxsYmFjayBmb3IgZGV2aWNlIHRyZWUgcHJvY2Vzc29yIGFmZmlu
aXR5ICovDQo+ID4+PiArc3RhdGljIGludCBfX2luaXQgZHRiX251bWFfcHJvY2Vzc29yX2FmZmlu
aXR5X2luaXQobm9kZWlkX3Qgbm9kZSkNCj4gPj4+ICt7DQo+ID4+PiArICAgIGlmICggc3JhdF9k
aXNhYmxlZCgpICkNCj4gPj4+ICsgICAgICAgIHJldHVybiAtRUlOVkFMOw0KPiA+Pj4gKyAgICBl
bHNlIGlmICggbm9kZSA9PSBOVU1BX05PX05PREUgfHwgbm9kZSA+PSBNQVhfTlVNTk9ERVMgKSB7
DQo+ID4+PiArCQliYWRfc3JhdCgpOw0KPiA+Pj4gKwkJcmV0dXJuIC1FSU5WQUw7DQo+ID4+PiAr
CX0NCj4gPj4+ICsNCj4gPj4+ICsgICAgbm9kZV9zZXQobm9kZSwgcHJvY2Vzc29yX25vZGVzX3Bh
cnNlZCk7DQo+ID4+PiArDQo+ID4+PiArICAgIGRldmljZV90cmVlX251bWEgPSAxOw0KPiA+Pj4g
KyAgICBwcmludGsoS0VSTl9JTkZPICJEVDogTlVNQSBub2RlICV1IHByb2Nlc3NvciBwYXJzZWRc
biIsIG5vZGUpOw0KPiA+Pj4gKw0KPiA+Pj4gKyAgICByZXR1cm4gMDsNCj4gPj4+ICt9DQo+ID4+
PiArDQo+ID4+PiArLyogUGFyc2UgQ1BVIE5VTUEgbm9kZSBpbmZvICovDQo+ID4+PiAraW50IF9f
aW5pdCBkZXZpY2VfdHJlZV9wYXJzZV9udW1hX2NwdV9ub2RlKGNvbnN0IHZvaWQgKmZkdCwgaW50
IG5vZGUpDQo+ID4+PiArew0KPiA+Pj4gKyAgICB1aW50MzJfdCBuaWQ7DQo+ID4+PiArDQo+ID4+
PiArICAgIG5pZCA9IGRldmljZV90cmVlX2dldF91MzIoZmR0LCBub2RlLCAibnVtYS1ub2RlLWlk
IiwNCj4gTUFYX05VTU5PREVTKTsNCj4gPj4+ICsgICAgcHJpbnRrKFhFTkxPR19XQVJOSU5HICJD
UFUgb24gTlVNQSBub2RlOiV1XG4iLCBuaWQpOw0KPiA+Pj4gKyAgICBpZiAoIG5pZCA+PSBNQVhf
TlVNTk9ERVMgKQ0KPiA+Pj4gKyAgICB7DQo+ID4+PiArICAgICAgICBwcmludGsoWEVOTE9HX1dB
Uk5JTkcgIk5vZGUgaWQgJXUgZXhjZWVkcyBtYXhpbXVtIHZhbHVlXG4iLA0KPiA+PiBuaWQpOw0K
PiA+Pj4gKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+ID4+PiArICAgIH0NCj4gPj4+ICsNCj4g
Pj4+ICsgICAgcmV0dXJuIGR0Yl9udW1hX3Byb2Nlc3Nvcl9hZmZpbml0eV9pbml0KG5pZCk7DQo+
ID4+PiArfQ0KPiA+Pj4NCj4gPj4NCj4gPj4gLS0NCj4gPj4gSnVsaWVuIEdyYWxsDQo+IA0KPiBD
aGVlcnMsDQo+IA0KPiAtLQ0KPiBKdWxpZW4gR3JhbGwNCg==


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 11:54:23 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 11:54:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169465.309575 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH36N-0006y8-6Y; Fri, 20 Aug 2021 11:54:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169465.309575; Fri, 20 Aug 2021 11: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 1mH36N-0006y1-2t; Fri, 20 Aug 2021 11:54:23 +0000
Received: by outflank-mailman (input) for mailman id 169465;
 Fri, 20 Aug 2021 11:54:21 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=nWHd=NL=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mH36L-0006q1-ST
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 11:54:21 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 58b2bcc8-01ad-11ec-a6a2-12813bfff9fa;
 Fri, 20 Aug 2021 11:54:17 +0000 (UTC)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2051.outbound.protection.outlook.com [104.47.13.51]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-12-8h6h11nxPn-sd8JxaEAh4Q-1; Fri, 20 Aug 2021 13:54:15 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB6863.eurprd04.prod.outlook.com (2603:10a6:803:12f::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 20 Aug
 2021 11:54:14 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4436.021; Fri, 20 Aug 2021
 11:54:14 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR08CA0036.eurprd08.prod.outlook.com (2603:10a6:208:d2::49) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Fri, 20 Aug 2021 11: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: 58b2bcc8-01ad-11ec-a6a2-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629460456;
	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=kN5vKdCl3WyiWaRzFLkkO3X1ym2mAHBqRSRCmjDkfB4=;
	b=AugmjCDkowrwCtnB61jvQOMKc0lcZ4LRfmswi36cm+lmCsOoELR3xI5AwbnaBCytdUiBj7
	zFOBKWHISmN9OGgtnlvED27MnIi4KbJgh2DlxTJ42LZSmKL+va8BFS0jHy7s4/YRevl1u8
	iu+ebr12UOhzuUWAOFzYuaLGRczzCHE=
X-MC-Unique: 8h6h11nxPn-sd8JxaEAh4Q-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KeGrBNO4JUsGshkMO4OLeDh4bA6Jhp1Np8DL1/gKv0p56RnDlkXdrOFYhsd0pa3uVn+yKekuadEMwzZyonq7SOMVf2xKwfIo1uodORqR+lFbcxefkLuWAXADB9Va8QHLUyWtgh34hISnLhCycVHzlWltbVkSXMh2lC8rCUGfd1e7w1D02GtE+PJf/pS76BAJVgdfkjW2u3lFbYSf7PHJCCSVG8ntWMYrmFi5IWtUnAlzeIxjV/0j+p7YkJViX8iM7wbTtWOy/+AwNvjb6ietyHPrAWf+81CdDZjeibgO45kfMWtFJDlKGypVkx4Yvvq3LyGB3seIy8s/2djRAMdB/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-SenderADCheck;
 bh=+8llChDX0beL1a49RdUUuRG/UdkGSb3s2buSNQrdoVg=;
 b=CaaWllUVpYwHgmCaAmSfpuHTc3prqcCnlHe2ZynVFZDA2IeJcwmlmo8fYxffL3AWRl2Pc6wm7vwrC7BQVnGdHLylYtEx+U68jbO7ToiApSC4t4Lw648a3K8iHk3zllYoHO3/iUVZXRo1p41jlbGTuYNTt/WPBDKVoDzrT/fFzjCmhgXRmw6CPBXRCxZiw9xvkOhS+kvcL0dI6xt8fz/zyjbG57asfc2XXqRoTHCd+4pTX4tBYqTvL1kd5HdJDFpXmdKlxwPAScD1uIiA5x3oBueTGeYyEyu3JEcePVgWW8nH8Ni6Jt3okNy+JF3rYUadb4kMeNPqhVZH/cA0vbsB2Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v1 03/14] xen/pci: solve compilation error on ARM with
 ACPI && HAS_PCI
To: Rahul Singh <Rahul.Singh@arm.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Paul Durrant <paul@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <cover.1629366665.git.rahul.singh@arm.com>
 <97d39d3ee398d6018bdcaf745f00d039df6a92ef.1629366665.git.rahul.singh@arm.com>
 <5fad114f-06c4-120e-0a48-da7045fb85c5@suse.com>
 <76520AA8-D02C-4207-A722-33D935E76776@arm.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <a8982dae-0928-3230-f10d-ada277bc8397@suse.com>
Date: Fri, 20 Aug 2021 13:54:11 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <76520AA8-D02C-4207-A722-33D935E76776@arm.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM0PR08CA0036.eurprd08.prod.outlook.com
 (2603:10a6:208:d2::49) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 78a221fc-c6ef-4741-b36d-08d963d13b53
X-MS-TrafficTypeDiagnostic: VI1PR04MB6863:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB686312D87296597DECE1B745B3C19@VI1PR04MB6863.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jZe7CIikNjp56IViBDv5jDGfMs5toJjL6i0bashp7dwEoG2YSfK7d7XP3RZtzuFFHIqdl4lwmTOJu/Ea8aBa1qzYiR+6OdU55y+RS+itQodYgO7eLfolf8+JJ4SxgCnn+4GdTaYnEqGXXnTesh+6MRsLalMNsARAvN5ESdFjjbqe2Lf3FSNGOLFTVRz+QSuOGkjASHcgiVNyT252jZF3C3NEh7hauUYetKvjQtJGLaSeCgDo8g5Kxmil5wqRXsjUlJi/tlF+yA988oVoA8Bmj3NZPT/52fi4rwNdDN04m0LfBpdrtOO7WMAoiJd2LzDnn7tdyLnMfVG8THHUpwdR+eqH2OIeZsXS3R8OQFggHj9sqZJaO49+OdBiOPt/JKP9kd+u1z2Ug5d5Y8pN4IAYN+VH0WHEwemQUjT3ZpQCWAkE296p6KEO/KDFMDlg+C1G1GwIk6j0TFcwy153aZctA9r1KHVNVXEwj2ALHK/6eHN3lJbpZ+YFl+yCWhvwTBxigLgyHgOaU+ABPNVtGisRoJj6WKpBwW+3C4DC3hcEo+In9OOfJYUfE+V/pWhm4VnSml6gKOpxMY9ZqKpSIJE6V5gv6kbiCl12u80kQ2N7WCkRAryU7nshJzNDPvz6GS1nDdk7KYwmktdvuTL7zjpqcl1hla58u4DM3Ag6+TPw9GTIT9qvO2hRx+PFAP/9kenXOcmwCaE/f5EAXrBx1/1Hk1QGfPIYXQ/febdoWLEfjys=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(346002)(366004)(396003)(39840400004)(136003)(6916009)(5660300002)(956004)(38100700002)(31686004)(316002)(86362001)(83380400001)(2616005)(8936002)(66946007)(8676002)(31696002)(66476007)(53546011)(186003)(26005)(66556008)(36756003)(4326008)(54906003)(16576012)(478600001)(6666004)(2906002)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?qalyfjEbSF0J5UFF0hr92rbHyTUd84cmK9OVTaTTLxGhP+SKv1nynLu+W/Ov?=
 =?us-ascii?Q?p9WYleLsItJWMAnVF0Rp/nOOYLCEnRacQhJ6ZlZkYDsoW0Hp2oXs+GVJhgvz?=
 =?us-ascii?Q?PupamSZ4B1paavhyXnc5nupbnURNewQhD+r6nEewvfsbbaMbJTnSHXRr38Ya?=
 =?us-ascii?Q?O081BeGA8cqKtRcrTnqa4zZwildfzTCJrG4SLYGoeMoiMN9A9io9O0+sStSe?=
 =?us-ascii?Q?ymcWsT7uJAayGJE7ihTy+kfoQgyITHZSsXpKuNSxbMZMpMpXVRVQi7aesHpf?=
 =?us-ascii?Q?N7rCYcCstO8z3uIaQgz9ZrdKZS50pQVP8vp98ShMeb/UBwU1SgihZh23G9EM?=
 =?us-ascii?Q?R96zVOMYlYVfDrr5kNWOu4OqWTOM1QkeDGAsYbFhzPKYsoKaFlXGSascmgmE?=
 =?us-ascii?Q?vsWH3acPt1vdPij1aJYJD0YPMGQBI1XyWJZhCrlZvAw1qjMzldPyzOBsy6ly?=
 =?us-ascii?Q?JyaO0tV0C+c3sMvbuZOcCgh+pwWnsZ83eBSbvsfn95bilr5KC8VCJK/ckYJo?=
 =?us-ascii?Q?jGw1f2JZi5r2NKi7AKjSeQfqfJLQbIltSD4odaKMX/LmYijcMfev2vZK8Rkg?=
 =?us-ascii?Q?FtkwAZ4g8fY0S783/C7lzPoh8ReozxzspuCuWQgOonj2jkZuWtg3JrI1LnLU?=
 =?us-ascii?Q?x5mJIzAELJkghJ2A3j4hrRf3QXPcajoHYVVHTnAzsS1+MQ2jQ62QG3c6kRFE?=
 =?us-ascii?Q?Yv0cEOHye8GGihPGsEq2gx6wppGS4rvjPL90/XU9SmpcdXcqCHsMff9hx0ou?=
 =?us-ascii?Q?IrywI2FdeDOQJmGKIWFt5Nw1ll3DGwNde8Oe+KZ0v46/ZI9DrexqiIhEAPUh?=
 =?us-ascii?Q?nnQqk1hvPAmle9dGZ2yXmCJs/VKhNLAI2tJmSnkcgmQ5AmwxS17e2avB7sR6?=
 =?us-ascii?Q?l5ByRupPuO9fYQQE6N7WYavP/w3QJ0KBcslKLTLRVRQBxxDRgte1++Ly7ZRt?=
 =?us-ascii?Q?IeTEMAqJeySxe1OjbuYUo7elus4DNF9mSnRiBOzy+WXy8uTFCkJeK4qWZOfd?=
 =?us-ascii?Q?tUqIMtzfvh/YGmT0j1EiW/Ur/oT45OkpubHx0GGYlNR3WZYEWNeAX5CzO+TX?=
 =?us-ascii?Q?z9a8jB02UyGDJjvuBDlma3jokJxuhrIigvBynvDmIR9GPN9YddO43MPNi0DG?=
 =?us-ascii?Q?6HgC/AoBrLDoiXqTKXFPNyPntI9Yt5jx7HZh2BkjRrNqokFWubrmu9lJZrv8?=
 =?us-ascii?Q?+ZKebwvAR40BrH6acff75thPvw7Lb42tWWbHqjOaib650oPe6fv8ki9Qr0kC?=
 =?us-ascii?Q?ygBC1o7fnn1G111jvRlczoX1XdzlGx0/QATC3rMYE+lO6up81VUJAZNk9sz3?=
 =?us-ascii?Q?2aKS5fCzqNcEYcREdwICndNl?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 78a221fc-c6ef-4741-b36d-08d963d13b53
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 11:54:14.5211
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rlKDiX9Vl5Yj/31Ap26IHIevrorPtlPFk3CqICZLTuaVlAp0Y//za4e42HOQqvfhnKOTUWni66Z0OlT8Dg/E4A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6863

On 20.08.2021 13:41, Rahul Singh wrote:
> Hi Jan
>=20
>> On 20 Aug 2021, at 8:06 am, Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 19.08.2021 14:02, Rahul Singh wrote:
>>> Compilation error is observed when ACPI and HAS_PCI is enabled for ARM
>>> architecture. Move the code under CONFIG_X86 flag to gate the code for
>>> ARM.
>>
>> Please give at least one example of what it is that fails to compile.
>> What an appropriate action is depends on the nature of the error(s),
>> and from looking at the enclosed code I cannot easily see what it
>> might be that breaks for Arm.
>=20
> I am observing below error when enabled ACPI && HAS_PCI for ARM.
>=20
> prelink.o: In function `pcie_aer_get_firmware_first=E2=80=99:
> /xen/drivers/passthrough/pci.c:1251: undefined reference to `apei_hest_pa=
rse'
> aarch64-linux-gnu-ld: /home/rahsin01/work/xen/pci-passthrough-upstream/xe=
n/xen/.xen-syms.0: hidden symbol `apei_hest_parse' isn't defined
>=20
> I found that apei/ is only enabled for x86 and pcie_aer_get_firmware_firs=
t() is only called from x86 code.
> obj-$(CONFIG_X86) +=3D apei/
>=20
> I am not sure whether we need this code for ARM architecture=20
> that is why I gate the code for ARM via CONFIG_X86

So you Arm folks will probably want to settle on that aspect first. What
is wanted to keep things building depends on that.

Jan



From xen-devel-bounces@lists.xenproject.org Fri Aug 20 11:54:27 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 11:54:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169467.309586 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH36R-0007Ie-Ez; Fri, 20 Aug 2021 11:54:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169467.309586; Fri, 20 Aug 2021 11:54: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 1mH36R-0007IX-Br; Fri, 20 Aug 2021 11:54:27 +0000
Received: by outflank-mailman (input) for mailman id 169467;
 Fri, 20 Aug 2021 11:54:26 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=V1tc=NL=gmail.com=andr2000@srs-us1.protection.inumbo.net>)
 id 1mH36Q-0007Ha-5t
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 11:54:26 +0000
Received: from mail-lj1-x232.google.com (unknown [2a00:1450:4864:20::232])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 904fd6b3-48ed-4393-854f-5a487dceaf27;
 Fri, 20 Aug 2021 11:54:25 +0000 (UTC)
Received: by mail-lj1-x232.google.com with SMTP id q21so16866304ljj.6
 for <xen-devel@lists.xenproject.org>; Fri, 20 Aug 2021 04:54:25 -0700 (PDT)
Received: from a2klaptop.localdomain ([185.199.97.5])
 by smtp.gmail.com with ESMTPSA id z13sm532779ljj.43.2021.08.20.04.54.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 20 Aug 2021 04:54: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: 904fd6b3-48ed-4393-854f-5a487dceaf27
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=g6dP90LhiVMec/QpqzfPTZ0GUWlCB10odQ+8whyOwLY=;
        b=qV/ZJ2oTQQixmUh1PSEBUPRhMLKkQhetJ8DgGDnFuDcvwPflW61yV1KkOAMjWyfzsj
         iiZ6CpwGtwCb36f725h1vI1in/ttIif7W6vCOWk6weHDT2bS4F1dW0EtAwg1C4CwHLyn
         B6kIgowk2oIZSkcK6re7CKDUXe3EXcNAAFObUc+soiEAQg67CVV/1OAvHaA7V5u8uG2h
         IjveTMlPjx0BTXmEsCY0g1WGj7rVRGTHJkHXxF52DqEMg3kyXZy+vrIswoZBCT3l4g77
         v8bLSNL75jaD7Wi1g26/VxQ0pXe/CSNqpImshSzQmG5kRgKWuqnZCU4MPZs8Uc1tP0HS
         Ejww==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=g6dP90LhiVMec/QpqzfPTZ0GUWlCB10odQ+8whyOwLY=;
        b=oNIsMRb1qvIafXRhCnnC26aeRTGUgutK4tMy1nv9tKOOyfYy5wD6f+yHCcFD5g7Qwl
         RmnCSmN38/wI4goyeKwpvJ9miTyTptZ0oHxj4iZZe1joMORPCkWQOKZJTLM4TsmHe2OT
         2lFu0YHtIkcjRRqa0mjPbIGoqHLta0JjrRQKa+lMHvbxIRpDqFHMa4BBGaGYKhQhVl2P
         c6RuP10o6H2rIFhOWWHLr83cerSIJYExw5fI6MRAcQLC6KG3i/5Ri1A2vzwFFy+Tr7R9
         rB7pIOKl4Ck6VSKj+P7wGNKHOPXUnEcLdtpVH8NHX6aKrAf8OuIQmkHWY7QQrW8OyrJo
         PtBA==
X-Gm-Message-State: AOAM5326j3YEbixAdOmCYCysQcVQS2SYtq/RJ6vV9u6G8LmY21DDFQsV
	NaHS6VsjCYeblZOGjsnegKU=
X-Google-Smtp-Source: ABdhPJwtAtZCFblSYr+UzaxuqpNe/hdK1iEXM4gqWh2MrNqkBBpxSM1HJN5T18d/NbKFhfqNCWznig==
X-Received: by 2002:a05:651c:30d:: with SMTP id a13mr14917993ljp.393.1629460464383;
        Fri, 20 Aug 2021 04:54:24 -0700 (PDT)
From: Oleksandr Andrushchenko <andr2000@gmail.com>
To: andrew.cooper3@citrix.com,
	george.dunlap@citrix.com,
	iwj@xenproject.org,
	jbeulich@suse.com,
	julien@xen.org,
	sstabellini@kernel.org,
	wl@xen.org,
	xen-devel@lists.xenproject.org
Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Subject: [PATCH] ns16550: Properly gate Exar PCIe UART cards support
Date: Fri, 20 Aug 2021 14:54:22 +0300
Message-Id: <20210820115422.2185145-1-andr2000@gmail.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

This fixes Arm build which doesn't have ns16550 PCI support.

ns16550.c:313:5: error: implicit declaration of function 'enable_exar_enhanced_bits' [-Werror=implicit-function-declaration]
  313 |     enable_exar_enhanced_bits(uart);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~

Fixes: 5ffd37db2ff6 ("ns16550: add Exar PCIe UART cards support")

Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
---
 xen/drivers/char/ns16550.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index b777c8711ee0..e2c24082c368 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -308,7 +308,7 @@ static void ns16550_setup_preirq(struct ns16550 *uart)
     /* Handle the DesignWare 8250 'busy-detect' quirk. */
     handle_dw_usr_busy_quirk(uart);
 
-#ifdef CONFIG_HAS_PCI
+#ifdef NS16550_PCI
     /* Enable Exar "Enhanced function bits" */
     enable_exar_enhanced_bits(uart);
 #endif
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 20 11:55:33 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 11:55:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169480.309596 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH37U-0008F0-Qp; Fri, 20 Aug 2021 11:55:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169480.309596; Fri, 20 Aug 2021 11:55: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 1mH37U-0008Et-Nc; Fri, 20 Aug 2021 11:55:32 +0000
Received: by outflank-mailman (input) for mailman id 169480;
 Fri, 20 Aug 2021 11:55:32 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=nWHd=NL=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mH37U-0008Ej-6A
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 11:55:32 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id a8dd7dfd-83f4-4660-b232-9d437fc89e41;
 Fri, 20 Aug 2021 11:55:31 +0000 (UTC)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2059.outbound.protection.outlook.com [104.47.13.59]) (Using
 TLS) by relay.mimecast.com with ESMTP id de-mta-6-ZZKFO3geO7GKOJTXM4jPuw-1;
 Fri, 20 Aug 2021 13:55:29 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB6863.eurprd04.prod.outlook.com (2603:10a6:803:12f::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 20 Aug
 2021 11:55:27 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4436.021; Fri, 20 Aug 2021
 11:55:27 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM9P193CA0023.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:21e::28) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Fri, 20 Aug 2021 11:55: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: a8dd7dfd-83f4-4660-b232-9d437fc89e41
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629460530;
	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=j8xAUhEBDar5YM7Ezl9VSQJIR+KltFHLR4zA7sENwrw=;
	b=N5yQf/hLYQ8XdTQOf2riDRe/ziK2S4paf50RFLv/Dm2056xifF6Y3vyj3fk2HFrQMPQ9co
	bGFM70R9cvEt8K+bSNf/M5B7OjWL61yzx0Pu5+cSHyerdIRPxnzywK7B473w5a5qb5OkQK
	uEYdqC5VpZs3gxLX09fCndMF5QpcRk8=
X-MC-Unique: ZZKFO3geO7GKOJTXM4jPuw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cPH7rR5aW1Or7Cqdg6fq1k6dTgQxcwMqXncAGSXE0RsrdBVulOcgOkrQZhD4GimC+oa19io/LgfsOb997kXzSePhUbROj544YV+V6CRTxQNl9HWSwtzM1GkH8BjigZ86wOkI+S8dxNtZLw7ORER3bVVt2ofVCtcF+O73vv9hHuCv0ubRNeBA4GTFv48twie9m7emhfbgKh4elZKFuoPWRLon4rkFEoWxmZZAMAHkQVbZaLMfKO/dO90WFTRZRawsCb3rKbpqXJvYxYx+334J669vBpJBDCc2BAeIabGzBSJjd/RbEzuF2gub4UlPxlS5z9KlP0OIGJJI0sbJjV3Now==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=j8xAUhEBDar5YM7Ezl9VSQJIR+KltFHLR4zA7sENwrw=;
 b=LrdcRGZishHOdx9ZeOZHpDEU5wVd/rKn36YE6p+lU81OTpF6dgMgrE5efJYgjHJN3PrZR5Saww2/9kK9BrNrSah1nPBx9P/iNuI7Qeall/Da4n1jmNzq8wgHVqwAuAf/Py9g+xidIlVfQ71Y0D+1WSprQmzIFvsROt/Y+55PS4aOYa5ESwW+nUq/fLWZyNKf7ZoznVBxNJb6ORUXyuTLmxLL0EUg7qvhJaBNbhnY1SNyS7N/qINI/Me6Fbzf7SIylrY9ikdguCgLPbcAd6Ag8eYDEB/XqXuIVlrs0rUugMMfnkqKQnylSfE0u2PWGHjmVTa/FjzvoSv5X6n1TAGIlg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: epam.com; dkim=none (message not signed)
 header.d=none;epam.com; dmarc=none action=none header.from=suse.com;
Subject: Re: [PATCH v1 02/14] xen/pci: solve compilation error on ARM with
 HAS_PCI enabled
To: Julien Grall <julien@xen.org>, Rahul Singh <Rahul.Singh@arm.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1629366665.git.rahul.singh@arm.com>
 <c6009c327eaed66206fa093732ab6672530acd27.1629366665.git.rahul.singh@arm.com>
 <a0d06e37-ec02-9968-01d7-907176c7c9b3@xen.org>
 <7F8FC9A8-5580-4517-BF8C-640BCE778D02@arm.com>
 <1abfb3cb-993d-3389-c627-6b8cf40457a4@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <09db7641-5cc8-13dd-f19b-558f7676a5a6@suse.com>
Date: Fri, 20 Aug 2021 13:55:25 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <1abfb3cb-993d-3389-c627-6b8cf40457a4@xen.org>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM9P193CA0023.EURP193.PROD.OUTLOOK.COM
 (2603:10a6:20b:21e::28) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 16afc633-a598-44d7-fb5c-08d963d1670b
X-MS-TrafficTypeDiagnostic: VI1PR04MB6863:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB6863EA45099B478C48E58D09B3C19@VI1PR04MB6863.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	GF7bLuTewAZwF1K77DXrkd2nkVVZiXczGL7hhXxltp2Xpvv/n1EtoaVxfVS2D/bs+3bMNzuAg1H8ZkQmTE34JSk2y7Rq1q14DSjoE+z/a6PpI1SjML2um17QTg0I3gRPxctJOXiPbVy9PRO1g+ul9Q6iOF8PfuwQDVowxSn9vQW0NMOdsoT+BA7qNue/LFGTDEqkgIZYDA+JFUKcRO6yqunhECNT3Jz6/udqCeK3fOVjiVOYs2vXOVn2d6kIUjurewbZZ5RBbfrcpRTirciQKbMqEidQKl0l3AGqco5i64GIMvcXRkupalm43nKngaM16HHq5Awsd4LbOf/Rk3r6UsQ/vSiGgvQ7Rg0y4x3fK2ix2l3nX8KNIkjQ3F2ghbr+WF9jkIFXgEQkdrZ5ZAFCVKZQ0LUbKKTtEpUjQNmF5jeOm5hGLbLxTamEc1UHTYVbnSWVgkSjIPodkk/tVZLWjQqO/bLB0qZFgBLlyDAVJn2jz8dGPFV9Fyqz8F47250v0eB9LctIqIH77xRP5xVu0pbHqjoVOpTqe4n/FIB/wRD0uKuP3DTOI4Md5aFF5L29kz9EH3PnPJfHm6cKEStL4C8Zasrh8m5l4l9kE4GrR2LhncfE2LphL66ORIOykBwcnqUdIcUQwjT0iJYlcC7W83AU8/UbE940tyWKyrgH8qd0BCgWkLBO+E7OPESycc8XN7Y6a65FMbWbkwngI2HdbO6wIWgbhNqduQW9vQnUh5g=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(346002)(366004)(396003)(39840400004)(136003)(5660300002)(956004)(38100700002)(31686004)(316002)(86362001)(2616005)(8936002)(66946007)(8676002)(31696002)(66476007)(53546011)(186003)(26005)(66556008)(36756003)(4744005)(4326008)(54906003)(16576012)(478600001)(110136005)(2906002)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UitQUVNYKzJHSmlJclJVOXo5bkpVVjVuQmFxVlNtTnhlYS8yd1gwSGdWYWFn?=
 =?utf-8?B?WnZMWTcyNmcwclFmN04yNlJ3TDBuQkthdmhJVmZGd09meE5FaUhERXF0NnVY?=
 =?utf-8?B?MWNSVEhUd1dyOENKS0FoUEh3RVV3a0YrVXIxeVRQNzlsUWU5czJtTVNCRkgx?=
 =?utf-8?B?dDR6d280ZXIxYVFmdWo1YUZKYVRNSVFIMHdKUFNYSlArMXdkZUlPMWZGNmpH?=
 =?utf-8?B?OXUxb1dsZFg5SFBHWkFPMlh2bTRBMm5ZY0Z3M1NKZC9iRXorS0FUZlpkWjA2?=
 =?utf-8?B?dUZDY3lrTzd0ZElPSzBoUFlkOFljRklvSERjMzg0bU01eGEzZjBib0VuMmJE?=
 =?utf-8?B?TW9qMkhmZlc4cC9xRUU3N1JUTDllWnVhZjJjZm9uT3NvVnVwNW90VnZKUWU4?=
 =?utf-8?B?MlNxSEU0NXYwRjBtY1JXZ3kwZnc1enJ3MUEzbXhxV3VoSFo0SXpVSnQ2SDI1?=
 =?utf-8?B?N0ovQklOY0puUDVNZWtkUE44UVlyVW1MdnpsaDFsdFZVUHkrTmxwU3JwbDkx?=
 =?utf-8?B?RHhuZGozVHFodjEvT1VTbDJ2MWtOYjFuR2lieUhGRm1xZGg2TXhuOVNDU3VZ?=
 =?utf-8?B?blg0RWR0S1JSQmpISzFDeWVCTXFvYVpZQUV0VjFoSGlnV2NPL1JBRmtWSUI4?=
 =?utf-8?B?MnV1SWZHRExaZ3RBalYvcEZxRElFVUUrSTc3QVFkQVp1eDFiYnU1ZW0rVS9o?=
 =?utf-8?B?MzViNG9BMjNrLzAzTmovbjlSb0pFdUVDc3dFZ2hEVEw1RDFvdWx3V0pHQmhG?=
 =?utf-8?B?ZEkrblFpSHZVZTc5UjRkK1pFNVRpNmFBczUxVVpmUEZHSWpWdi9JbDEzWERJ?=
 =?utf-8?B?OVhoNGwzN25TY2RSeGNneXByNmduNzhCMzl2ZDhSRU9VM0pzMUxmSGNleWtF?=
 =?utf-8?B?TktzTjdpRmtiRE1maGVlZEVOcnlLblZrb0x1cERkbUxXTWk1RnUrVVk3dnI5?=
 =?utf-8?B?Z05DWUZRU2hob1FQVGVVeWNsRk40YXFlTHl4Njl4MGpOVFdtYll3Mi80ZDNQ?=
 =?utf-8?B?aWhCbi9KcXVMc3IxRTZsNlFtR0wvZXl6WDZPelB1eCtqZ2ZGaGVqc3hiZndp?=
 =?utf-8?B?bnc0SFJCSWZBZ3BLZm1wbkFGczU1OGVueXJiVlo1dGZYMTZ4dWxiS0JENWli?=
 =?utf-8?B?TVYwVHRGMnhLd29NRVVYZXpoT0VOSE1JdDUzWllSMnRoTWJwUktHMHdLNy9N?=
 =?utf-8?B?VkdzZGRXdkZNTVkwYVVMNEgyUUxnbGxrZVgrNzZxU1V4eXpXSzBMVElYRDR5?=
 =?utf-8?B?OVVwdTVjWk1qSWxIcXZpb3ZXVUpHWVdFbjBnY05kUW52NFN0RXY3ODZhV1B1?=
 =?utf-8?B?aGwvWEZEVzlGRGNWb3RBaW5EUHVRZ3kxbDdNa2xFbmJscjM4R3pJSXBJSHQr?=
 =?utf-8?B?cGx5aEI1cnMzY0RDN1NyZU1yOUJmbGwvczhZV2MxdjhSMG5mc0w2ODNtblNs?=
 =?utf-8?B?cnBqU2tjM0hUZ2ZYT1U1VGlSb2Qya01Ha2FweWdFUXFzZ0xYZEI1blRZbTQ0?=
 =?utf-8?B?dU1seHFNMUJGNTdvYXduc1ZWQzBqR0hxWG1RNGlZV1B1Z3Jrd0g2RjQxcW9t?=
 =?utf-8?B?dGloZXQyWHh0WXlpY1ZjNmhudmlCMis2Y1hBSlNvUlFIVEhOZEhvYmtyanpO?=
 =?utf-8?B?eGhXWWxCdkZuMk1SYlA1N3RUOTZ6QVFZS3VUVzZ4VDJFWHlnS29oM2xMR1Ja?=
 =?utf-8?B?MlhNVE9hL2J1c1FtcTYrSVM2Yi9ScGg3dTdzRzIwZ2wweWE2cXA5LytrWXE1?=
 =?utf-8?Q?KrTNokpaVz1TmbBleYZLVFzgQca7J5LnUL8HFrK?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 16afc633-a598-44d7-fb5c-08d963d1670b
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 11:55:27.8708
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +dph8mGFz/To3DqYcb6DEGbgaYJj4en283nGYjzkn05IRxh94SCbBjb07GIlvV3wVXizM9HVYpzlWUTIe5EmTw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6863

On 20.08.2021 13:37, Julien Grall wrote:
> On 20/08/2021 11:30, Rahul Singh wrote:
>>> Please add a comment explaining why this just returns 0.
>>
>> Here is the comment that I will add in next version.
>> /*
>>   * Return 0 as on ARM there is no pci physical irqs that required cleanup.
>>   */
> 
> In this context, PIRQ means an interrupts that was routed to the guest 
> and could be mapped to an event channel. We have no such concept on Arm 
> (see allocate_pirq_struct()).
> 
> So I would write "PIRQ event channels are not supported on Arm, so 
> nothing to do".

Does this mean ASSERT_UNREACHABLE() might be appropriate here?

Jan



From xen-devel-bounces@lists.xenproject.org Fri Aug 20 11:58:24 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 11:58:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169485.309608 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH3AF-0000Xm-9G; Fri, 20 Aug 2021 11:58:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169485.309608; Fri, 20 Aug 2021 11: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 1mH3AF-0000Xf-5h; Fri, 20 Aug 2021 11:58:23 +0000
Received: by outflank-mailman (input) for mailman id 169485;
 Fri, 20 Aug 2021 11:58:22 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=pH7i=NL=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mH3AE-0000XZ-B6
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 11:58:22 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com (unknown
 [40.107.1.75]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id e9609146-01ad-11ec-a6a2-12813bfff9fa;
 Fri, 20 Aug 2021 11:58:20 +0000 (UTC)
Received: from DU2PR04CA0251.eurprd04.prod.outlook.com (2603:10a6:10:28e::16)
 by VI1PR08MB3806.eurprd08.prod.outlook.com (2603:10a6:803:b7::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 20 Aug
 2021 11:58:18 +0000
Received: from DB5EUR03FT045.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:28e:cafe::50) by DU2PR04CA0251.outlook.office365.com
 (2603:10a6:10:28e::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Fri, 20 Aug 2021 11:58:18 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT045.mail.protection.outlook.com (10.152.21.164) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Fri, 20 Aug 2021 11:58:17 +0000
Received: ("Tessian outbound f11f34576ce3:v103");
 Fri, 20 Aug 2021 11:58:17 +0000
Received: from 3e46764cd15d.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 BBBF144F-55B8-49C5-B73F-8EF76B5C8EB5.1; 
 Fri, 20 Aug 2021 11:58:11 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 3e46764cd15d.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 20 Aug 2021 11:58:11 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB7PR08MB3403.eurprd08.prod.outlook.com (2603:10a6:10:4b::24) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.19; Fri, 20 Aug
 2021 11:58:09 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.019; Fri, 20 Aug 2021
 11:58: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: e9609146-01ad-11ec-a6a2-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lzmTUGknngJL0AS6h5LKJCtkJcSp2wujxJW8uX89Ocs=;
 b=oTwfwrcSpBQud7sx9I+8BHfu8cFDlEQVu5njEnDeUf8keNcEIKO0U9AHbGxSAB4OrsS49YG9UrELNKq9+ABEjSjyiaPdxUt7IJvPcRjqy3KvvhS79Dx5cbL4/tx6Q9gt+vPPlbp7mguRGxOUzunI2z8tPlPGGoNFs0F4I4waoeE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 8ea2a575f05896e3
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eAFqxkA7O+WYJUFr9KKDQepWqwQGLoxy7i8dmLRLzCtFbTykPMrSeufx6jKB436s1JE9PgBdJmVe7wUsdUyNdv+78t6rfCePJdMYf6ggF9DY/mFDf0KzUyxjpSSu+QjC4KA4tjBUTvd+GvLI55v3iEFMDxfGMwZlLNVB7rHgcLMTMpUAIgHo6wtVLVmn4AGbnDLQdsBKMeIotXcO05etvu7jfwRambBZyO1FMwMfCxR1VX61c3oaV2qbStSuooc0FqceuGmG6VJ+bKKVI93E4+LjlMGQiG1vmfWSdD9c3K1FbeUESkM648ji4+w6RrLpyYJpy/pFjoXtBT8jKuotDg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lzmTUGknngJL0AS6h5LKJCtkJcSp2wujxJW8uX89Ocs=;
 b=Uxv0zn+44HDTJznBbvsGEyFJHju6V3cy4IDnQ27POkGihOLA+oWhd+ojV29ZSl1U7A4V8CePuB+9CYMSmaP5m0zg2WFBbPuHyTVoX/0DijvjmxiQGfFJbAVfuDch39FxW6delVT49+yy8/ZlHIu6TwZ9E5qRC79qGlUmIlKuYWLAF+/QV7E4R5jqr3grvvh3+3WIo8+dLYZjhTdReDiluq/diT64q1Oi3ANw5XVzft9T6Gfb084a8Q4tA3HYH3JRZwnar7WxiCw0o2uCNRLsOLRIlfvs889DlpdgaSGwhqFOkeSEKkfrNyXKxcbZWCjraIr/7gWdlED51U+p2aVHpA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lzmTUGknngJL0AS6h5LKJCtkJcSp2wujxJW8uX89Ocs=;
 b=oTwfwrcSpBQud7sx9I+8BHfu8cFDlEQVu5njEnDeUf8keNcEIKO0U9AHbGxSAB4OrsS49YG9UrELNKq9+ABEjSjyiaPdxUt7IJvPcRjqy3KvvhS79Dx5cbL4/tx6Q9gt+vPPlbp7mguRGxOUzunI2z8tPlPGGoNFs0F4I4waoeE=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 04/40] xen/arm: return default DMA bit width when
 platform is not set
Thread-Topic: [XEN RFC PATCH 04/40] xen/arm: return default DMA bit width when
 platform is not set
Thread-Index:
 AQHXjpsgsRofIZVQlECQrMelX8Mpkqt63vUAgADFfsCAAHazAIAACk/ggAAneICAAAox8A==
Date: Fri, 20 Aug 2021 11:58:09 +0000
Message-ID:
 <DB9PR08MB6857DA5109792DA1224FF9469EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-5-wei.chen@arm.com>
 <61893862-6b8f-9c1b-367b-7e0c837a43c5@xen.org>
 <DB9PR08MB68572A84F6A73644C4FE3F609EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <35fdd7c0-0607-e2b6-776d-adf9eea2c0e2@xen.org>
 <DB9PR08MB685782C02B95DB20F4E1626F9EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <ec9fcd88-5ea6-8e9e-f226-a818276887d0@xen.org>
In-Reply-To: <ec9fcd88-5ea6-8e9e-f226-a818276887d0@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: F921F168A0DD2249B0E0338AADEEEC20.0
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 1ea08b61-9709-4394-82d8-08d963d1cc7d
x-ms-traffictypediagnostic: DB7PR08MB3403:|VI1PR08MB3806:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR08MB38063CE761CFAB6FFBE248A19EC19@VI1PR08MB3806.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:9508;OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 /YRZ7/1zw4fly7h2BJXg9y95lQVKkxZf3ClkFmgwAJK8LNlttGO3Oug2wj6juYJQFQgvG4o2RXsk44uQd+bgMOr6gXiUJ8h8/uIpfhSPEt0EiLq5sx30KI2ICXp2lyLwpsrLnksaRazs9GoWTwCpEQ9u3jW7o9DA3AKM6rGYrtI21C80vHcs7WfkzJdM9+Cl5yNIJrsEc+xCNhDCFEvLDLayt4r7NWBFLxCkvmmf+iy5JuI2zYyeIdvQMFh1JJT5j/KYigPwT7i36ktuD4cRUrdvnCbTDyAPMyKeX/+gkdLSPNsstuWxqBGnGIj0clIdkDu6LHtWD04V+9zA0TaBAxkkoafsIcFaMg7Qr9M/TUA/PYxNMXOHcv6DtdciGp9hTvVhE8Nkct6QQIpOcWqBorE3dy/qdoeTlgB/RMN+qZpTpfEIngoygUBbQGV9EaNDzJ3hRKV437JMOCzsaTGIG1Fu/gj3Z0JN7IbjPOhXmleOkFY7yFr1D4iTMjdfW68BvMzZbKrvpD3CZ5oGe56tIY0Mb9L97YFcbxVNfJWXADe52QpuhbFmsO/oKJu+I/dJklp+PdShjfHep2j/rzP/qZnpQLepIZmCb6T/ppZZDGYkPwuITu1gt8UI/CLOdAG6KL3AjoA8CZ+YhN3okiu6H5qn6D+1RYSQtT+ypCXGjB8XgqiUZ9cnMHmQGGlcP4qs1yS9AXZCdFKoOiYqyr5l6Q==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(39860400002)(346002)(376002)(396003)(136003)(366004)(186003)(26005)(5660300002)(66946007)(38100700002)(7696005)(66476007)(71200400001)(9686003)(66446008)(4326008)(8676002)(8936002)(2906002)(83380400001)(122000001)(478600001)(110136005)(316002)(86362001)(55016002)(76116006)(64756008)(33656002)(52536014)(6506007)(38070700005)(66556008)(53546011);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?eGJqTVFTb2VHTnhWYlFpRGJDMVpSRlN4MkFhUktWd0VhOVpnZzkwRy83Y2ZZ?=
 =?utf-8?B?enZHYkZIU2hVaFZXQkxGdEVXZHVWYlNWQXZEZmlBaGMvckNRK2xqNmd5UGJm?=
 =?utf-8?B?RkFwN21kc1ZRRzRQVGdpUWoxK2dmckhBalZlWmRVWVVuME1Od2d6UWVhQzRz?=
 =?utf-8?B?QW5OUHErOXFRQXBVUFZ6TUQxTDdJVUo0aW5hY3JZdmYrMmhyRDNURWZYekNR?=
 =?utf-8?B?R2sySk8rUDZDMXZKZXlsUThIcy9pWDQ3YSswYy9QTlRjL0Irc0xoZC9xRnRG?=
 =?utf-8?B?RjJFWHQ4amNpQ0I5aHZ3NE9ta0M3azlRdytHTUswTlNQai9VT0ZhTXFOY1ZU?=
 =?utf-8?B?em9aMmQrZStOT2tsUVhKTmVhaUFyTFIwSm9YSlBJWWo5THZwK0Faa0ZwZFhC?=
 =?utf-8?B?L3A2MUYzSE0yNTNXZGY0VWlZc0YyR2FrVDE1ZUFDTU5zY3R5TmNNbUhpanpT?=
 =?utf-8?B?QjhRTk1yNk5mVWxQV2wwYkZ1d1JyWG9TWnlId1ZManYyQUdvcnk4SkgxaDc4?=
 =?utf-8?B?OWg3OXl3bTArK29KalUvaG5YbEpaaU5FTXlrK2s3THQrRHFoczIwOThEaCtv?=
 =?utf-8?B?TUlQejhzeGJkcmFWbkVoSTJkVDU0YmhYYlovRC9JTDh4QUhUc1pybGt0OU5Z?=
 =?utf-8?B?em5WUDlWMkp1WmVhaTlyRWpVMy9LSHJOUmdwQXhhNGl1aEFFL0VPV3F4Rncz?=
 =?utf-8?B?VUF4WXFYWGxMRGU1Q2NtaHdKL2x2SmxhS1NLTzUrbUtyMmhUbFZZdzRuNXFB?=
 =?utf-8?B?TkpkM1hjL2dqZ3crdXNmOEg5ZXVSZUJwOVFlWERaQUFhdFhUMmw4ejNXKzNM?=
 =?utf-8?B?bnNlcFg3MmNmb3dUVUJkVnhPMUNEajF2OXBMcW5DYzZ2OURjbDVibFFQZnlk?=
 =?utf-8?B?K0xVZG9uaFpBRzF6TUNDcjRKL3ZsMzBXTEhKZ3oxRmxYWFdPMVdrNk1UMEVK?=
 =?utf-8?B?VTd6ZjlrOGVuK3N6blhQTGQzK0xsVW9DUDcvbHV0UlBwdmNyQlg5bGlBZXVQ?=
 =?utf-8?B?MUl5OXJKMVFBVURFblNNYTUzY1NVdnA5d1RkMFozWEJvNTI1UHo5T285TmV0?=
 =?utf-8?B?cUI0dGJLNXpIQXVYaytKYW5ORWRjWUlZMllIRXdpY1VWSWNYQ2IxSnZ5dkJR?=
 =?utf-8?B?RVJBRWhQSXMvWWFTR2VDWDRWV01oZk5FZkVqcWxNYU9LaTdVeEV0enE2TDBY?=
 =?utf-8?B?MEREcWdrL1gwVjQxUFlmS2JrcU0xblBud3JzTEgyeWFUQWgvU2p3ZURLY3ZS?=
 =?utf-8?B?SEVPOGJubGJLMGJqNzkwMG5EM3hkOWROU0VNVHVsL2ZNaVM5ZXNSTlp2b0dE?=
 =?utf-8?B?ZDlVYXNDVG83V3pTSUIrVlVSRmh4aE9kNnhRUDVLY3M0U2ZCV1d6ZFJneVV5?=
 =?utf-8?B?RnN0LzgrY05KSElhcWFSNlJiVm5rdE9RNFhPenJtRDE3bTQxYjJzbEQ3ZjdZ?=
 =?utf-8?B?czVoRCtsVVBVM2RzQjRZMDU4SEpRQkhGN1V0azVJWG1RQ1JUOWFTajJsRDF3?=
 =?utf-8?B?Sm1oaTlkT1NQOW1MVXBqWDkwTWxiR2FPZDE2WlE3SW8ydTRuSDYvZUVIcnVI?=
 =?utf-8?B?K2Y5UmYwQVViVDhiRzBsd2QrM0hESWFRZ1RIcjhLNE5Benl1N0loUmdWaUx4?=
 =?utf-8?B?aUlzUG5YYTc4M01rTXMxVnBHYm5QQU1CUVhrLytKWHJpTHNhTkR5RDdXNWJL?=
 =?utf-8?B?eDJ1N01abjIxQjZScDR1b1U2OU13MWVnZFhySmt4bVkrQWs3Y2lESE1JMjhC?=
 =?utf-8?Q?W95Cxq1xC7M4Rb8moJqb61lB9KzSXd31vHi2RnU?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3403
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT045.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	65e636ad-3e1e-412d-7131-08d963d1c77f
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/aOyP9dsNpA8TLmlDqIjCkHXL9rfav4+yuvh3xiXHzRnvnD+Ja2+BGL2LwQtECtCX+oaqJaa6QCwFH3t/bJkaywvWdnxGVZkQTfFe0ns6sIpWmODZ42y95rZsrx8F1QCZ8JtfbruucNPxH0/hDNqkVOj0vxz6DhlKUe008fUDKvDQuwc3ARa5KeR6h7b0aeMOLA4d4Hl6Wkxl8dchRalRiwcKUvLYyRHi3ERxg1TJqw+zCWd+bMmGWGRb9h/vRnpuBuZbN24HGA0TNJ23dDZIoA+nV4IpSX5CQYZorNCsWI9aGa1doNUo/46pa/Y2Cz7+1sjjIWnhFMG63fKveEz47Kr4MoI2ABwo8Iu0DvC6dBNfWvku76Dxi54S3W8py88AX1yxsSEvQf/+fdjY9CvJ8z4XWpKIIh8BUXLcC/Gzv1iiuoVwK3kCEAnz4QNrujKk1NLwxQVZOijqJVvF6dn/UL5YbehPBr+yxwTi79sEoMgcmga9s9Mp7/8F2Gum26Cum/fzt4J4vuaPBjOqLDLEg9K6mu/LoACg1jc1hx3hNIiYRTUDVQiwQttOj87S1q88b7ecDz6TH3ImK2ygJi8cfGhpJjn8+iFnRQTOans7sz5ytGtRS/+LawhAr1VK6uU+qBuHsKqD0rCt9Fhl0xQI/3F034w7MNAaJ3MKQ7nqMabaXaw38HRSlWQkUNluQ5UGu5XhAgvMJhVnuqH3WqXsg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(376002)(346002)(396003)(136003)(39860400002)(46966006)(36840700001)(33656002)(55016002)(26005)(4326008)(8676002)(81166007)(316002)(8936002)(110136005)(6506007)(336012)(5660300002)(9686003)(356005)(478600001)(186003)(53546011)(70206006)(52536014)(36860700001)(82740400003)(70586007)(82310400003)(2906002)(7696005)(47076005)(83380400001)(86362001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 11:58:17.9648
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1ea08b61-9709-4394-82d8-08d963d1cc7d
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT045.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3806

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMjDml6UgMTk6MTgN
Cj4gVG86IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgeGVuLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnOw0KPiBzc3RhYmVsbGluaUBrZXJuZWwub3JnDQo+IENjOiBCZXJ0cmFuZCBNYXJx
dWlzIDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+DQo+IFN1YmplY3Q6IFJlOiBbWEVOIFJGQyBQ
QVRDSCAwNC80MF0geGVuL2FybTogcmV0dXJuIGRlZmF1bHQgRE1BIGJpdCB3aWR0aA0KPiB3aGVu
IHBsYXRmb3JtIGlzIG5vdCBzZXQNCj4gDQo+IE9uIDIwLzA4LzIwMjEgMTA6MzcsIFdlaSBDaGVu
IHdyb3RlOg0KPiA+IEhpIEp1bGllbiwNCj4gDQo+IEhpIFdlaSwNCj4gDQo+ID4+IC0tLS0tT3Jp
Z2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+IEZyb206IEp1bGllbiBHcmFsbCA8anVsaWVuQHhlbi5v
cmc+DQo+ID4+IFNlbnQ6IDIwMjHlubQ45pyIMjDml6UgMTY6MjANCj4gPj4gVG86IFdlaSBDaGVu
IDxXZWkuQ2hlbkBhcm0uY29tPjsgeGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnOw0KPiA+
PiBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqYmV1bGljaEBzdXNlLmNvbQ0KPiA+PiBDYzogQmVy
dHJhbmQgTWFycXVpcyA8QmVydHJhbmQuTWFycXVpc0Bhcm0uY29tPg0KPiA+PiBTdWJqZWN0OiBS
ZTogW1hFTiBSRkMgUEFUQ0ggMDQvNDBdIHhlbi9hcm06IHJldHVybiBkZWZhdWx0IERNQSBiaXQN
Cj4gd2lkdGgNCj4gPj4gd2hlbiBwbGF0Zm9ybSBpcyBub3Qgc2V0DQo+ID4+DQo+ID4+DQo+ID4+
DQo+ID4+IE9uIDIwLzA4LzIwMjEgMDM6MDQsIFdlaSBDaGVuIHdyb3RlOg0KPiA+Pj4gSGkgSnVs
aWVuLA0KPiA+Pg0KPiA+PiBIaSBXZWksDQo+ID4+DQo+ID4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNz
YWdlLS0tLS0NCj4gPj4+PiBGcm9tOiBKdWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4ub3JnPg0KPiA+
Pj4+IFNlbnQ6IDIwMjHlubQ45pyIMTnml6UgMjE6MjgNCj4gPj4+PiBUbzogV2VpIENoZW4gPFdl
aS5DaGVuQGFybS5jb20+OyB4ZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmc7DQo+ID4+Pj4g
c3N0YWJlbGxpbmlAa2VybmVsLm9yZzsgamJldWxpY2hAc3VzZS5jb20NCj4gPj4+PiBDYzogQmVy
dHJhbmQgTWFycXVpcyA8QmVydHJhbmQuTWFycXVpc0Bhcm0uY29tPg0KPiA+Pj4+IFN1YmplY3Q6
IFJlOiBbWEVOIFJGQyBQQVRDSCAwNC80MF0geGVuL2FybTogcmV0dXJuIGRlZmF1bHQgRE1BIGJp
dA0KPiA+PiB3aWR0aA0KPiA+Pj4+IHdoZW4gcGxhdGZvcm0gaXMgbm90IHNldA0KPiA+Pj4+DQo+
ID4+Pj4gSGksDQo+ID4+Pj4NCj4gPj4+PiBPbiAxMS8wOC8yMDIxIDExOjIzLCBXZWkgQ2hlbiB3
cm90ZToNCj4gPj4+Pj4gRnJvbTogSG9uZ2RhIERlbmcgPEhvbmdkYS5EZW5nQGFybS5jb20+DQo+
ID4+Pj4+DQo+ID4+Pj4+IEluIGN1cnJlbnQgY29kZSwgYXJjaF9nZXRfZG1hX2JpdHNpemUgd2ls
bCByZXR1cm4gMzIgd2hlbiBwbGF0b3JtDQo+ID4+Pj4+IG9yIHBsYXRmb3JtLT5kbWFfYml0c2l6
ZSBpcyBub3Qgc2V0LiBJdCdzIG5vdCByZXNvbmFibGUsIGZvciBBcm0sDQo+ID4+Pj4NCj4gPj4+
PiBzL3Jlc29uYWJsZS9yZWFzb25hYmxlLw0KPiA+Pj4+DQo+ID4+Pg0KPiA+Pj4gT2sNCj4gPj4+
DQo+ID4+Pj4+IHdlIGRvbid0IHJlcXVpcmUgdG8gcmVzZXJ2ZSBETUEgbWVtb3J5LiBTbyB3ZSBz
ZXQgZG1hX2JpdHNpemUgYWx3YXlzDQo+ID4+Pj4+IGJlIDAuIEluIE5PLU5VTUEgc3lzdGVtLCBh
cmNoX2dldF9kbWFfYml0c2l6ZSB3aWxsIG5vdCBiZSBpbnZva2VkLA0KPiA+Pj4+PiBzbyBkbWFf
Yml0c2l6ZSB3aWxsIG5vdCBiZSBvdmVycmlkZWQgYnkgdGhpcyBmdW5jdGlvbi4NCj4gPj4+Pg0K
PiA+Pj4+IGFyY2hfZ2V0X2RtYV9iaXRzaXplKCkgaXMgYWxzbyB1c2VkIHRvIGFsbG9jYXRlIGRv
bTAgbWVtb3J5LiBXZSBuZWVkDQo+IHRvDQo+ID4+Pj4gYmUgYWJsZSB0byBhbGxvY2F0ZSBzb21l
IERNQS1hYmxlIG1lbW9yeSB0aGF0IGNhbiBiZSB1c2VkIGJ5IGV2ZXJ5DQo+ID4+IGRldmljZXMu
DQo+ID4+Pj4NCj4gPj4+Pj4gQnV0IGluIE5VTUENCj4gPj4+Pj4gc3lzdGVtLCBvbmNlIHRoZSBv
bmxpbmUgbm9kZXMgYXJlIGdyZWF0ZXIgdGhhbiAxLCB0aGlzIGZ1bmN0aW9uIHdpbGwNCj4gPj4+
Pj4gYmUgaW52b2tlZC4gVGhlIGRtYV9iaXRzaXplIHdpbGwgYmUgbGltaXRlZCB0byAzMi4gVGhh
dCBtZWFucywgb25seQ0KPiA+Pj4+PiBmaXJzdCA0R0IgbWVtb3J5IGNhbiBiZSB1c2VkIGZvciBE
TUEuIEJ1dCB0aGF0J3MgYWdhaW5zdCBvdXINCj4gaGFyZHdhcmUNCj4gPj4+Pj4gZGVzaWduLiBX
ZSBkb24ndCBoYXZlIHRoYXQga2luZCBvZiByZXN0cmljdGlvbiBvbiBoYXJkd2FyZS4NCj4gPj4+
Pg0KPiA+Pj4+IFdoYXQgZG8geW91IG1lYW4gYnkgImhhcmR3YXJlIGRlc2lnbiI/IEFyZSB5b3Ug
cmVmZXJyaW5nIHRvIHRoZQ0KPiBzZXJ2ZXINCj4gPj4+PiB5b3UgYm9vdCBYZW4gb24/DQo+ID4+
Pj4NCj4gPj4+DQo+ID4+PiBZZXMuIEkgd2lsbCBjaGFuZ2UgaXQgdG8gc29tZSBuZXV0cmFsIHdv
cmRzLiBzb21ldGhpbmcgbGlrZToNCj4gPj4+ICJCdXQgdGhhdCBjb3VsZCBub3QgcmVmbGVjdCBz
b21lIGhhcmR3YXJlJ3MgcmVhbCBETUEgYWJpbGl0eS4gVGhleSBtYXkNCj4gPj4gbm90DQo+ID4+
PiBoYXZlIGtpbmQgb2YgcmVzdHJpY3Rpb24gb24gaGFyZHdhcmUuIiA/DQo+ID4+DQo+ID4+IFRo
ZSB0aGluZyBpcyBETUEgYWJpbGl0eSBpcyBub3QgYWJvdXQgdGhlIHBsYXRmb3JtIGl0c2VsZi4g
SXQgaXMgbW9yZQ0KPiA+PiBhYm91dCB0aGUgZGV2aWNlcyAodGhpcyBjb3VsZCBqdXN0IGJlIGEg
UENJIGNhcmQgeW91IGp1c3QgcGx1Z2dlZCkuDQo+IFdoYXQNCj4gPj4geW91IHNlZW0gdG8gc3Vn
Z2VzdCBpcyBuby1vbmUgd2lsbCBldmVyIHBsdWcgc3VjaCBjYXJkIG9uIHlvdXIgcGxhdGZvcm0u
DQo+ID4+IElzIHRoYXQgY29ycmVjdD8NCj4gPj4NCj4gPg0KPiA+IE9LLCBJIHVuZGVyc3RhbmQg
bm93LiBMZXQncyBrZWVwIDMyLWJpdCBhcyBkZWZhdWx0IHZhbHVlLCBidXQgZXZlbiBpbg0KPiB0
aGlzDQo+ID4gY2FzZSwgaG93IGFib3V0IERNQS0xNiBkZXZpY2VzPyBBbHRob3VnaCB0aGVzZSBk
ZXZpY2VzIGFyZSB2ZXJ5IHJhcmUsDQo+IHRoZXkNCj4gPiBzdGlsbCBleGlzdCA6ICkNCj4gDQo+
IEkgaGF2ZW4ndCBoZWFyZCBhbnlvbmUgcmVwb3J0aW5nIGlzc3VlcyB3aXRoIHRoZW0gb24gWGVu
IG9uIEFybS4gU28gSQ0KPiBhc3N1bWUgdGhhdCBlaXRoZXIgaXQgd29ya3Mgb3Igbm8tb25lIGlz
IHVzaW5nIHRoZW0uDQo+IA0KPiBNeSBtYWluIHBvaW50IGlzIHdlIG5lZWQgdG8gY2FyZSBhYm91
dCB0aGUgY29tbW9uIHVzZSBjYXNlLiAzMi1iaXQgRE1BDQo+IGRldmljZSBpcyBzdGlsbCBhIHRo
aW5nIGFuZCBjYXVzZWQgdHJvdWJsZSB0byBzb21lIG9mIG91ciB1c2VycyAoZS5nLiBOWFApLg0K
PiANCj4gSWYgdG9tb3Jyb3csIHNvbWVvbmUgcmVwb3J0IGlzc3VlIHdpdGggMTYtYml0IERNQSBk
ZXZpY2UsIHRoZW4gd2UgY2FuDQo+IGNvbnNpZGVyIG91ciBvcHRpb25zIGhvdyB0byBoYW5kbGUu
DQo+IA0KPiA+Pj4+IFNvIEkgd291bGQgZXhwbG9yZSB0byByZW1vdmUgdGhlIE5VTUEgY2hlY2sg
Zm9yIGRyb3AgdGhlIERNQSB6b25lLg0KPiBGQU9ELA0KPiA+Pj4+IGJvdGggc3VnZ2VzdGlvbiBh
cmUgZm9yIEFybSBvbmx5LiBGb3IgeDg2LCB0aGV5IG5lZWQgdG8gYmUga2VwdC4NCj4gPj4+Pg0K
PiA+Pj4NCj4gPj4+IFdpdGhvdXQgaW50cm9kdWNpbmcgbmV3IGZsYWcsIHN1Y2ggYXMgbG93bWVt
X2Zvcl9kbWEsIGl0J3MgYSBsaXR0bGUNCj4gPj4+IGhhcmQgdG8gc2tpcCB0aGUgbnVtYSBub2Rl
IGNoZWNrLiBVbmxlc3Mgd2UgY3J1ZGVseSBhZGQgI2lmZGVmIEFSQ0ggdG8NCj4gPj4+IGNvbW1v
biBjb2RlLCB3aGljaCBpcyBub3Qgd2hhdCB3ZSB3YW50IHRvIHNlZSAuLi4NCj4gPj4+ICAgICAg
ICAgaWYgKCAhZG1hX2JpdHNpemUgJiYgKG51bV9vbmxpbmVfbm9kZXMoKSA+IDEpICkNCj4gPj4+
ICAgICAgICAgICAgIGRtYV9iaXRzaXplID0gYXJjaF9nZXRfZG1hX2JpdHNpemUoKTsNCj4gPj4N
Cj4gPj4gLi4uIFdoeSBkbyB5b3UgdGhpbmsgd2UgbmVlZCB0aGlzIGNoZWNrIG9uIEFybSB3aGVu
IE5VTUEgaXMgZW5hYmxlZD8NCj4gPj4NCj4gPg0KPiA+IEkgZGlkbid0IHRoaW5rIEFybSBuZWVk
cywgd2hhdCBJIHNhaWQgaXMgaW50cm9kdWNlIGEgZmxhZyB0byBkaXNhYmxlDQo+ID4gdGhpcyBj
aGVjayBmb3IgQXJtIG9yIG90aGVyIEFyY2hpdGVjdHVyZXMgdGhhdCB0aGV5IGRvbid0IG5lZWQg
dGhpcw0KPiBjaGVjay4NCj4gPg0KPiA+PiBXZSBjYW4gZGlzY3VzcyBob3cgdG8gcmVtb3ZlIGl0
IG9uY2UgdGhpcyBpcyBhbnN3ZXJlZC4NCj4gPj4NCj4gPg0KPiA+IEkgdGhpbmsgd2UgY2FuIHN0
YXJ0IHRvIGRpc2N1c3MgaXQuDQo+IA0KPiBIb3cgYWJvdXQgcmVwbGFjaW5nIHRoZSBzZWNvbmQg
cGFydCBvZiB0aGUgY2hlY2sgd2l0aCBhIG5ldyBoZWxwZXINCj4gYXJjaF9oYXZlX2RlZmF1bHRf
ZG1hX3pvbmUoKSAob3IgYSBkaWZmZXJlbnQgbmFtZSk/DQoNClRoaXMgc2VlbXMgbGlrZSBhIG1l
dGhvZCB3b3J0aCB0cnlpbmcsIEkgd2lsbCB0cnkgdG8gZm9sbG93IHRoaXMgd2F5DQp0byBjb21w
b3NlIG5leHQgdmVyc2lvbi4NCg0KPiANCj4gQ2hlZXJzLA0KPiANCj4gLS0NCj4gSnVsaWVuIEdy
YWxsDQo=


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 12:07:19 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 12:07:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169494.309618 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH3Io-0002FH-9j; Fri, 20 Aug 2021 12:07:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169494.309618; Fri, 20 Aug 2021 12:07:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH3Io-0002FA-6g; Fri, 20 Aug 2021 12:07:14 +0000
Received: by outflank-mailman (input) for mailman id 169494;
 Fri, 20 Aug 2021 12:07:13 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=nWHd=NL=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mH3Im-0002Ez-VH
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 12:07:12 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 25b64658-01af-11ec-a6a2-12813bfff9fa;
 Fri, 20 Aug 2021 12:07:11 +0000 (UTC)
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2051.outbound.protection.outlook.com [104.47.2.51]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-32-gasV4yzOOLqNhYPpKqwLDA-1; Fri, 20 Aug 2021 14:07:09 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VE1PR04MB7375.eurprd04.prod.outlook.com (2603:10a6:800:1a8::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 20 Aug
 2021 12:07:07 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4436.021; Fri, 20 Aug 2021
 12:07:07 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P189CA0054.EURP189.PROD.OUTLOOK.COM (2603:10a6:102:53::29) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Fri, 20 Aug 2021 12:07:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 25b64658-01af-11ec-a6a2-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629461230;
	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=tzqFJ5DQuYawbCFJUSn8oHxjHDJugyc15iD50lfNrtw=;
	b=jC8LTAWsaB+ND9mRMoyW/1M6o2JW5MC+7rflzDRSK8Ca2UrpT+HRYvAAhlFaH9FL3uWdHC
	7tev+OgiK7O4Wylo9OfDUPOWw0VwolK12QuHWgnQO0Wi9h7tqpVZz6eekBKtLT2mwE8VPD
	qclgshLy2qGm3x8opINFJ6Of9xmsi/Q=
X-MC-Unique: gasV4yzOOLqNhYPpKqwLDA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XUS7bPbcUHbXY/TsAMiNvASb/iVxhHsUUVvVdInSntYORdip2/90LQWZvf8uzrjPMKk/z6rePUOmi7wrhp3FoFb9xxnJjK50dc/cX/Z8f+Ej3dg5U1Le21HWTuvAVRrQ2zKw2XhfPI0hIifMZPTbDC3YvePes3jdiFpFWgeKEG5JSyi1nwmUyZMM5yJKaPwLxjs/yeQpn80jNtdy1J2sLBKc9jd7ijuJoEvmCx8LafUrinHEsqRec0sXYUx6bfkbXm/HUJ7r5cedZqMuboD+KjTmKEaXIQtRbYDPEnaHGS9h5dmWgk+xQty/eEjc80s2cmC0xL/OjPQs3Rl11SaYsg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tzqFJ5DQuYawbCFJUSn8oHxjHDJugyc15iD50lfNrtw=;
 b=WguT4BFipugBQAWoVPF8hD5fGTONCA2D+V7EuCojnWZiybHFlik0ySztAzNnE6EEKFCaYMQ8xqU1VUcKpui7baeZzY6gFvEEtsDBauUgHiq1jCEzipfUxFX0RGD8WpHfVZtb/W+bh7JvRS3K4NoxAjrFl4pDcKvPqGRanV9Gr2YjR5haO3WlS91PLsRKKQRN0mX/XxO4fy0I/wHxn7KyJU0AwCUWaMCp8EDHFXIHwOYjSfxnEsW3JPMuPRIk8/uA2bDMZSK/SjDjxhtOzp01p9EW1Whc5hpQszt4fcHIVcV82x4Qur1gfwQGcUFz9PPTNZX4X0fPz2iS6FaFSr0K8g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH] ns16550: Properly gate Exar PCIe UART cards support
To: Oleksandr Andrushchenko <andr2000@gmail.com>
Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
 andrew.cooper3@citrix.com, george.dunlap@citrix.com, iwj@xenproject.org,
 julien@xen.org, sstabellini@kernel.org, wl@xen.org,
 xen-devel@lists.xenproject.org
References: <20210820115422.2185145-1-andr2000@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <af460288-0fac-b894-f727-65010ca64088@suse.com>
Date: Fri, 20 Aug 2021 14:07:05 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210820115422.2185145-1-andr2000@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P189CA0054.EURP189.PROD.OUTLOOK.COM
 (2603:10a6:102:53::29) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ee8112dd-2b7f-4c91-2c7e-08d963d30822
X-MS-TrafficTypeDiagnostic: VE1PR04MB7375:
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB7375DE5A43F1A0FFF7012A6FB3C19@VE1PR04MB7375.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NLhYeEBEGcwBRhMa1MUhtG3ifzCr99P6BtDU0GTCGpr8Hvhxe3sz8gMqu7ntd2ky/X1GgZCNBrojqwsSw7eoB7zPKyS8tnGXYs5LTiuCuAa+AzFTNS5P+eilTN1EBnxPCV+LBtQZm8A5VneAnvUcIFMeSpDxu9i8OXzHgh+hSQkrMRcdTgcSJIidqgmUf009/8Rx4fZknHRQWyYo9ewrFYcX2Qo5B/aziCFZ2LpEgjW+AyMyF3wy3ort5WmIrI+HPdihRYfLC7gmJeC1KFZpt1G/42k81tqC0B2/da0DgVoaUQyxRBMoQX3a0JLYfa/Vu8rpZkZLESmtlRtFritSnKkHusFPa6ZBryDuuaPw3I8e/QHNEqenEboXd8ijqJqfciEJ/OJ0mclfawlTOOUnUF7zATiSB2CtzC1jLjs8WC5DPgejsNUhI5I61Q9lMS7n63DADfjD2tbOlHpc7A6P9TkNCD8PoeSBDPzxUW78S9YMxaKCnFbGIMCoMEUrnvMMsIxtglyK+QY3H1EvBMAxOQdmIFk1ir2VQlL1djyouxi2S0mFFHBwRUqfJzSYH7c8oieXeyuEec47gG2wrmqC/BbCQGNzuF9t28jHamCXTn4PI+3XJoffRiCw42JXU9llVs6yBzkeUgUz/di4pO0nYKMzhuTDlZbDHG6RHCez2moAVN/vcl1LnKzPTcft6PAixL0rUO1HuEIESUkd6lwpNmnwekhdv0yo56P2L7kaZzs=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(346002)(39860400002)(136003)(366004)(376002)(478600001)(16576012)(316002)(36756003)(4326008)(83380400001)(38100700002)(956004)(2906002)(2616005)(31686004)(26005)(66946007)(8936002)(8676002)(6916009)(53546011)(66476007)(66556008)(86362001)(5660300002)(6486002)(31696002)(186003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RGwvdHgyTHp0U1FrLzRjVUdXYmhDYmtsdlNQbVpyRE9mL0pIdzZ0cm5VNjRD?=
 =?utf-8?B?WmJyN1E5Yy8zc1p2ZUc1dDduVWF0ekY5Y2lEQ2xiTWt3U3Y4bzhwbGp5ZXhT?=
 =?utf-8?B?d3c1M21zT2RvMkZETEFMT3FaMWlLZ2FCVGF5ZXpsbXNORWU3MUVCVlBvYUVu?=
 =?utf-8?B?Z21VVHMrRUNpaVFFNURuemdvdHFncW5xWmtpVmRZcDVCeWluSFI3YUZkcHNW?=
 =?utf-8?B?MUJJUDNOMzkvMHpOZlRQSERyNkpLcDFjOXFPMktNQWJuUk5oOWppZUJVREIw?=
 =?utf-8?B?VzVmQU5mWjhUcUM0TmhHaVRWang1UjNUOU5uVmJKM0Z4UnN3ZTEzUmIwS2hk?=
 =?utf-8?B?NGpFNFpjc1VhQTNCTGZFYmNidFBJNllZR0FlbEpIODFLZGRvQVl5cUE0SHlk?=
 =?utf-8?B?RUxMSXI1YU8waXpwa3o5d09wb2c5TWk3UWRGM0t1bTZieU5BTmhhMVppUlQy?=
 =?utf-8?B?eFQzRGMzZ05NUmVXK3hSdzFlamcvam9pQ2NoRXNwTXdEaGtDZ3pBN1JaRTFw?=
 =?utf-8?B?cmwxdW9WQVdET1I5YjVKTHBLQzM4TTJuQWpsZDd6RUl6NVA2bzVKSUZ6ZFFo?=
 =?utf-8?B?bVgzT3hQSUtkSDR6NE16RGdTSy9LRVBjRE4rTDNUOGNHWE9jb3U1ZTVUbEhZ?=
 =?utf-8?B?TWN6cHpUMVg5YS9HZHBCNDlCV0crb2RpUUM0Um9uZXlIVGR2NzhJSG9EMWhI?=
 =?utf-8?B?d0kvMkQ1TDhiZGJqY0R6K3ZqYWhwQmxNTTBHdTZtdjcyM2ZSQWFZZkg4V0Vu?=
 =?utf-8?B?REp5bG9TK2xoYkhySTNNMjJTRnlEMEJMRWlXZGsxMFY4ZjdKb1AwS1RUb3Bk?=
 =?utf-8?B?MkFzV3hJenhmdGFNZUNITUNUZCtPWkMwZThDbGhxMXZ0OTJmeHNxOTRXZzlr?=
 =?utf-8?B?eHN1NU1keUpEbmU3N1ZsRVlNWkoyY2MwNGVRWGhrbFcyZ0xGTTR4d2RlRU5G?=
 =?utf-8?B?ZWl1T0xjTm01YzNtMEFvMHVWMDBaMWVJUmF2TUUvczU1b0VUbFQ5Q1J6MEpX?=
 =?utf-8?B?Z3hCOXoxL3pwQVFzaDJtVWdoRGx5Tk9sZDhpeDYzeVJ1d3h4Z0tIOUM0ZFVQ?=
 =?utf-8?B?UHlsZE9pU0lMUGo5dDd3aTRCSEx5SDVacHcvejgwSUFwUU5HK3d5QjlDa2tN?=
 =?utf-8?B?NWZIem9TYTUveFR1UjVhM0w0STVOUEllRHJncy9DQmtjUTRaYkp4NW92ZFFn?=
 =?utf-8?B?ZVlTT2JIcjlvZktrVnZWTWJFNkFZNmo0bUZpZWhiMDZIRVlRY2Q3UHZHbHRV?=
 =?utf-8?B?d0tmcVVUWkxmRFlDcndyMDdPOFlIQ0IyYmJnQnhnM1UvYzlXRmRoVGMwQnBM?=
 =?utf-8?B?Qm5nU1UwY3ZtcUFzUEZ0dktFNHltNTZTaGFSVmxOTndZQWdMYUZQWG1CUTlZ?=
 =?utf-8?B?V2xpTWxzVEFjTFVJTFI5RE5RdUR6NkM5bHBjeGRVY2I5YXNMa21xZG9DZXVB?=
 =?utf-8?B?SGVoRkRLUVA2SlFJQTlMbitnVWVlV241WDFYK2FJM1UzZW1udFArVkJud0NF?=
 =?utf-8?B?YWY0OWQzUGZTbTkrdEdPeHdtV2NTRzI1QmlLRCtnbHlXWDlCY2laajlObG1C?=
 =?utf-8?B?ejEyZjAwNXdWVVp5ano5QWI0MmtoWEhlKzNvKzc1Z0swSEVMcU0xblhGbGI3?=
 =?utf-8?B?V3ZoMTFaZ3Y4M0hCczVyTEpDeXdtekpOcmpCSkV0VmRvRkFVREtRR1hkaHI0?=
 =?utf-8?B?QnNnRHFOYTBoaDNGZmk3bFJlRlJ3bEFwTEV1UnMxODU1b2tURnYyeStIKzVH?=
 =?utf-8?Q?YwFwmxog+FXtfSOLKEnC76Z6VilBGnCB3GBOaYz?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ee8112dd-2b7f-4c91-2c7e-08d963d30822
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 12:07:07.6481
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3briiArBLpAjT60y7dP28KdfxUUDy3ysl3sO/Uhn4b9e4cqSwIRUZdRxK0BaySvROH6UvVh3xCWm3r10SnJVgg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7375

On 20.08.2021 13:54, Oleksandr Andrushchenko wrote:
> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> 
> This fixes Arm build which doesn't have ns16550 PCI support.
> 
> ns16550.c:313:5: error: implicit declaration of function 'enable_exar_enhanced_bits' [-Werror=implicit-function-declaration]
>   313 |     enable_exar_enhanced_bits(uart);
>       |     ^~~~~~~~~~~~~~~~~~~~~~~~~

This can't be the full story - both Arm32 and Arm64 build fine for me.
In fact I can't find any "select HAS_PCI" outside of x86'es subtree.

> Fixes: 5ffd37db2ff6 ("ns16550: add Exar PCIe UART cards support")

IOW this tag is wrong, no matter that I agree that ...

> --- a/xen/drivers/char/ns16550.c
> +++ b/xen/drivers/char/ns16550.c
> @@ -308,7 +308,7 @@ static void ns16550_setup_preirq(struct ns16550 *uart)
>      /* Handle the DesignWare 8250 'busy-detect' quirk. */
>      handle_dw_usr_busy_quirk(uart);
>  
> -#ifdef CONFIG_HAS_PCI
> +#ifdef NS16550_PCI
>      /* Enable Exar "Enhanced function bits" */
>      enable_exar_enhanced_bits(uart);
>  #endif

... this change is wanted, but just for consistency for now. If you
can supply an improved / accurate description, I'll be happy to commit
this with
Reviewed-by: Jan Beulich <jbeulich@suse.com>

As an aside - please follow patch submission guidelines: Patches go
To the list, with maintainers (and perhaps other relevant folks) on Cc.

Jan



From xen-devel-bounces@lists.xenproject.org Fri Aug 20 12:10:23 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 12:10:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169501.309630 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH3Lp-0003Zv-Qq; Fri, 20 Aug 2021 12:10:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169501.309630; Fri, 20 Aug 2021 12: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 1mH3Lp-0003Zo-MN; Fri, 20 Aug 2021 12:10:21 +0000
Received: by outflank-mailman (input) for mailman id 169501;
 Fri, 20 Aug 2021 12:10: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 1mH3Lo-0003Zi-GQ
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 12:10: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 1mH3Ln-0001Tx-Fp; Fri, 20 Aug 2021 12:10:19 +0000
Received: from [54.239.6.185] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mH3Ln-0003dY-8v; Fri, 20 Aug 2021 12:10: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:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=8Iz2i3yGNdKpmozgAmLtOqeEF1Bv45SaN//uecaTvoY=; b=wNZRpjS/QFtMTNtvtQf0p2T2qp
	x3UdWf7P9osMo9Irlaz/xeg3R7H3BnvuFnqJA70o5F1gWHN6sOCKCsoC60EodpQamw+jw0cYgeCZ1
	/iRRZkd4AuStlT9Ln7XZyPpn/gDiPHHlXvbFCSzxPAhzdrpHwRn+FbSUBCs4JnYGeCgg=;
Subject: Re: [PATCH v1 02/14] xen/pci: solve compilation error on ARM with
 HAS_PCI enabled
To: Jan Beulich <jbeulich@suse.com>, Rahul Singh <Rahul.Singh@arm.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1629366665.git.rahul.singh@arm.com>
 <c6009c327eaed66206fa093732ab6672530acd27.1629366665.git.rahul.singh@arm.com>
 <a0d06e37-ec02-9968-01d7-907176c7c9b3@xen.org>
 <7F8FC9A8-5580-4517-BF8C-640BCE778D02@arm.com>
 <1abfb3cb-993d-3389-c627-6b8cf40457a4@xen.org>
 <09db7641-5cc8-13dd-f19b-558f7676a5a6@suse.com>
From: Julien Grall <julien@xen.org>
Message-ID: <3957b8b7-21a6-8e70-d5ce-069eaf1ee991@xen.org>
Date: Fri, 20 Aug 2021 13:10:17 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <09db7641-5cc8-13dd-f19b-558f7676a5a6@suse.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Jan,

On 20/08/2021 12:55, Jan Beulich wrote:
> On 20.08.2021 13:37, Julien Grall wrote:
>> On 20/08/2021 11:30, Rahul Singh wrote:
>>>> Please add a comment explaining why this just returns 0.
>>>
>>> Here is the comment that I will add in next version.
>>> /*
>>>    * Return 0 as on ARM there is no pci physical irqs that required cleanup.
>>>    */
>>
>> In this context, PIRQ means an interrupts that was routed to the guest
>> and could be mapped to an event channel. We have no such concept on Arm
>> (see allocate_pirq_struct()).
>>
>> So I would write "PIRQ event channels are not supported on Arm, so
>> nothing to do".
> 
> Does this mean ASSERT_UNREACHABLE() might be appropriate here?

Unfortunately no. This is call unconditionally from pci_release_devices().

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 12:18:33 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 12:18:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169507.309641 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH3Tf-0004S0-Ka; Fri, 20 Aug 2021 12:18:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169507.309641; Fri, 20 Aug 2021 12: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 1mH3Tf-0004Rt-H5; Fri, 20 Aug 2021 12:18:27 +0000
Received: by outflank-mailman (input) for mailman id 169507;
 Fri, 20 Aug 2021 12:18:26 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=V1tc=NL=gmail.com=andr2000@srs-us1.protection.inumbo.net>)
 id 1mH3Te-0004Rn-6K
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 12:18:26 +0000
Received: from mail-lf1-x12f.google.com (unknown [2a00:1450:4864:20::12f])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 3239f2f2-fd67-4b22-875e-b3a22f9a8b6d;
 Fri, 20 Aug 2021 12:18:25 +0000 (UTC)
Received: by mail-lf1-x12f.google.com with SMTP id i9so20169642lfg.10
 for <xen-devel@lists.xenproject.org>; Fri, 20 Aug 2021 05:18:25 -0700 (PDT)
Received: from [192.168.10.179] ([185.199.97.5])
 by smtp.gmail.com with ESMTPSA id y27sm673259lfa.260.2021.08.20.05.18.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 20 Aug 2021 05:18: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: 3239f2f2-fd67-4b22-875e-b3a22f9a8b6d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-transfer-encoding:content-language;
        bh=/LayrJE7QVSHSD7UaPlooOdCQ2dRKb7KkcBeOvSZsiQ=;
        b=jPqw9BKMK90zi2us/D/FNJr24VFM1T9Gzvq1YZdRo6ooVMGa8TWc99uxPyuawVWssL
         VKGdViGbASReDmbkUgjCovaZx7XuPqYVCWt1y/WRU5kE8pXwqvO5LO0YQWyiSSB1IYzJ
         my87XTYg0roMkBFUrzU1KgUWAcP4RBJ+kHQp+/K27OWu8DHUaEdUK+dpy0179mpEdK1U
         ZBQPreWzEY5jzSJ/OlI9/bPu/obpMyfHDsFmeZay86KJYra6l8DC347lzj8YnhyqtGcB
         Gjb6N4pVJno2Oq6EaIhOY9n31QE0hbX9Maq/kdJtaCEBBW5a9bCSZP5t+Wl7ugxFwb26
         Ki3g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-transfer-encoding
         :content-language;
        bh=/LayrJE7QVSHSD7UaPlooOdCQ2dRKb7KkcBeOvSZsiQ=;
        b=YwJ3zRjItZuyvzdOdylhvL+Lr3VGBxBUFSsEsHQPAmZyJbgouDZTT/AERqDGUNFNWr
         rxsGhWa7o5IAV9nqQFripVde+aT2olUb/rzE854Zb26ejr4TubpzV5Ma9sIZRA4ONl3G
         MZPeTKs6AA3f7zZEwpKnKUP2o+pRxAojfjM40OYUpdWi0XDjGp9zD/KXKplHkl8edIk1
         FNkxan2CE35LFpmc4ubYCWAG4njKreJ9M95DpHnIPn0bnK2BH1X6i9NDCKdhwQmRVyP/
         Q2eyTs7B1Z1YIXmrAnDCKi83HV4DvZTKIUuoVNozXJJ4LJOCxW43TIBTZZr6d4TX3tjq
         IkmA==
X-Gm-Message-State: AOAM530aZZw1mFAAqK7JTzBfIU+Ck6Kv8rdKoVeLPbrIiE8FZUgGkn6z
	zfzdMPMenG9/8pEwx6rlXnPPLrtFdId3Ow==
X-Google-Smtp-Source: ABdhPJzRlegQUaUqRLqlKrPimoeGIsLWCCCKUaIAXl84gnjKpdP3uapAh6UDyo/V8XzDlrNVzpjbzQ==
X-Received: by 2002:a19:e00a:: with SMTP id x10mr15206905lfg.536.1629461903756;
        Fri, 20 Aug 2021 05:18:23 -0700 (PDT)
Subject: Re: [PATCH] ns16550: Properly gate Exar PCIe UART cards support
To: Jan Beulich <jbeulich@suse.com>
Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
 andrew.cooper3@citrix.com, george.dunlap@citrix.com, iwj@xenproject.org,
 julien@xen.org, sstabellini@kernel.org, wl@xen.org,
 xen-devel@lists.xenproject.org
References: <20210820115422.2185145-1-andr2000@gmail.com>
 <af460288-0fac-b894-f727-65010ca64088@suse.com>
From: Oleksandr Andrushchenko <andr2000@gmail.com>
Message-ID: <016307c3-4a69-dc39-4a3b-490544b205a6@gmail.com>
Date: Fri, 20 Aug 2021 15:18:22 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <af460288-0fac-b894-f727-65010ca64088@suse.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US


On 20.08.21 15:07, Jan Beulich wrote:
> On 20.08.2021 13:54, Oleksandr Andrushchenko wrote:
>> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
>>
>> This fixes Arm build which doesn't have ns16550 PCI support.
>>
>> ns16550.c:313:5: error: implicit declaration of function 'enable_exar_enhanced_bits' [-Werror=implicit-function-declaration]
>>    313 |     enable_exar_enhanced_bits(uart);
>>        |     ^~~~~~~~~~~~~~~~~~~~~~~~~
> This can't be the full story - both Arm32 and Arm64 build fine for me.
> In fact I can't find any "select HAS_PCI" outside of x86'es subtree.
>
>> Fixes: 5ffd37db2ff6 ("ns16550: add Exar PCIe UART cards support")
> IOW this tag is wrong, no matter that I agree that ...

Ok, the full story is that I am building this with PCI passthrough support on Arm,

so yes, you are obviously correct here and "Fixes" tag does not apply.

I will remove it.

>
>> --- a/xen/drivers/char/ns16550.c
>> +++ b/xen/drivers/char/ns16550.c
>> @@ -308,7 +308,7 @@ static void ns16550_setup_preirq(struct ns16550 *uart)
>>       /* Handle the DesignWare 8250 'busy-detect' quirk. */
>>       handle_dw_usr_busy_quirk(uart);
>>   
>> -#ifdef CONFIG_HAS_PCI
>> +#ifdef NS16550_PCI
>>       /* Enable Exar "Enhanced function bits" */
>>       enable_exar_enhanced_bits(uart);
>>   #endif
> ... this change is wanted, but just for consistency for now. If you
> can supply an improved / accurate description, I'll be happy to commit
> this with
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

I can put the following description:

     ns16550: Properly gate Exar PCIe UART cards support

     Arm is about to get PCI passthrough support which means CONFIG_HAS_PCI
     will be enabled, so this code will fail as Arm doesn't have ns16550
     PCI support:

     ns16550.c:313:5: error: implicit declaration of function 'enable_exar_enhanced_bits' [-Werror=implicit-function-declaration]
       313 |     enable_exar_enhanced_bits(uart);
           |     ^~~~~~~~~~~~~~~~~~~~~~~~~

     Fix this by gating Exar PCIe UART cards support with the above in mind.

Will this be ok?

Can I keep your rb tag with this description?

>
> As an aside - please follow patch submission guidelines: Patches go
> To the list, with maintainers (and perhaps other relevant folks) on Cc.
Sure, sorry about that
>
> Jan
>
Thank you,

Oleksandr



From xen-devel-bounces@lists.xenproject.org Fri Aug 20 12:19:45 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 12:19:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169512.309652 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH3Uu-00051D-VQ; Fri, 20 Aug 2021 12:19:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169512.309652; Fri, 20 Aug 2021 12: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 1mH3Uu-000516-Rd; Fri, 20 Aug 2021 12:19:44 +0000
Received: by outflank-mailman (input) for mailman id 169512;
 Fri, 20 Aug 2021 12:19:44 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5+ZW=NL=arm.com=Rahul.Singh@srs-us1.protection.inumbo.net>)
 id 1mH3Ut-00050y-Tu
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 12:19:43 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com (unknown
 [40.107.2.64]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id e5199564-01b0-11ec-a6a6-12813bfff9fa;
 Fri, 20 Aug 2021 12:19:42 +0000 (UTC)
Received: from AS8P189CA0029.EURP189.PROD.OUTLOOK.COM (2603:10a6:20b:31f::15)
 by AM0PR08MB5043.eurprd08.prod.outlook.com (2603:10a6:208:166::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.18; Fri, 20 Aug
 2021 12:19:40 +0000
Received: from AM5EUR03FT062.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:31f:cafe::7e) by AS8P189CA0029.outlook.office365.com
 (2603:10a6:20b:31f::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Fri, 20 Aug 2021 12:19:40 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT062.mail.protection.outlook.com (10.152.17.120) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Fri, 20 Aug 2021 12:19:39 +0000
Received: ("Tessian outbound 1a0c40aa17d8:v103");
 Fri, 20 Aug 2021 12:19:39 +0000
Received: from 90e5503778f5.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 57431FF5-79E7-4EF0-B564-0B174AAE754E.1; 
 Fri, 20 Aug 2021 12:19:29 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 90e5503778f5.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 20 Aug 2021 12:19:29 +0000
Received: from AS8PR08MB6919.eurprd08.prod.outlook.com (2603:10a6:20b:39e::10)
 by AM6PR08MB3829.eurprd08.prod.outlook.com (2603:10a6:20b:85::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.19; Fri, 20 Aug
 2021 12:19:27 +0000
Received: from AS8PR08MB6919.eurprd08.prod.outlook.com
 ([fe80::6c11:19f8:1422:5dea]) by AS8PR08MB6919.eurprd08.prod.outlook.com
 ([fe80::6c11:19f8:1422:5dea%3]) with mapi id 15.20.4436.019; Fri, 20 Aug 2021
 12:19: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: e5199564-01b0-11ec-a6a6-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4jDM9W5p0EmNb8fTDvb8b8rIFFo/atxGhDoAPxeuvsE=;
 b=hQZFVqMF28EutuhmFse+V8w3ehUZMQNKFgIIr+Iz9IVh69a9GAZuy5JYObhjmsZ9T5Hik7rLZOl1MEf+PKi1Nir3SWbtXd+6fv/Ecz0tBNUTkHk00aAjzEP7vJAZfQ0W0Ca78Sz7GZxa36JbJowGnWrDHVU/sSs6/vDS/PpcZ0U=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 1d649c994b041dce
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Foq9z1k4q7asC9HodmsV9N6ydIeT8OlDuAm5lp2OUl9AfoMJfu510KqU3e366DNus6bdC7HXJt0R3ScMsP8odFdmDfIryUi1E0YYHALx4u02Xs4SOQltpqV+7+bRi54uVoMiFh47wttOKCGn7ogSyIGX1K1YbRUMke4EEgHJhwhSqByes4sbAI5nvudG4S0GjfPlaB/bjQEKM0/QaSoEIZGGNquSEZpPj/wfcCIXsrkzjrWx1qzi7g6YwheZ4knpOWx8I0lm77jGiql302WCljXvnadwU03I7xGfiMZu21vqd2UzG5CxA2pQgfcufhNmG8s/hPSsWpVYBudUDpdjRg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4jDM9W5p0EmNb8fTDvb8b8rIFFo/atxGhDoAPxeuvsE=;
 b=Hgy2tiThF3Haa2JruTszRO8FoCP/8saVQ1ZK/3Rzx/+cHz8IB4c7EkC4d+Qubp2Zqm4Mp+5UBF+daD0zjZRIJvrgzpxpagrwbBfQFFajnxfXDbGrZqEVmOwmZ55t25q9PFhQTai+5ayeYOMQbOnJdkFgYPaAc0Y58zMxxFUwTRL+SXr7cmujU3iEWND65hqMpLcaYiYwX2fnoh6W0yRWqkEZGIL0AhJOERaBWHZAR6/9cgXIe3a4F57s43cwoB8bMvyWxMcPTC6v7jZhkdQZhdzKjZImQeVpNPl/MDv+2iagGHruQKhQSoDQnOJPOda2MsU3Xnz9VgYFfJS/I4V31A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4jDM9W5p0EmNb8fTDvb8b8rIFFo/atxGhDoAPxeuvsE=;
 b=hQZFVqMF28EutuhmFse+V8w3ehUZMQNKFgIIr+Iz9IVh69a9GAZuy5JYObhjmsZ9T5Hik7rLZOl1MEf+PKi1Nir3SWbtXd+6fv/Ecz0tBNUTkHk00aAjzEP7vJAZfQ0W0Ca78Sz7GZxa36JbJowGnWrDHVU/sSs6/vDS/PpcZ0U=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Julien Grall <julien@xen.org>
CC: xen-devel <xen-devel@lists.xenproject.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v1 09/14] xen/arm: Add cmdline boot option "pci=on"
Thread-Topic: [PATCH v1 09/14] xen/arm: Add cmdline boot option "pci=on"
Thread-Index: AQHXlPLhtufH+Y7V4UGOnj5QL/fazat6wkEAgAGPFAA=
Date: Fri, 20 Aug 2021 12:19:27 +0000
Message-ID: <DBFA6CEF-F8BC-4516-B609-99985F0C4698@arm.com>
References: <cover.1629366665.git.rahul.singh@arm.com>
 <e279636ea47b7d06056c2f70e76900b8d0b30ee9.1629366665.git.rahul.singh@arm.com>
 <731afb80-bb68-0c66-4f0f-341a46118770@xen.org>
In-Reply-To: <731afb80-bb68-0c66-4f0f-341a46118770@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: fea94e15-6eb8-47c9-e215-08d963d4c899
x-ms-traffictypediagnostic: AM6PR08MB3829:|AM0PR08MB5043:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM0PR08MB50431C7D08A637A09038286CFCC19@AM0PR08MB5043.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:8882;OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 T2qA+K0mEORDS6KN/lezcOUxrwqfKWKRqAaFW1lT49swYc16tGHJ3zty5KIij0VSA9IG3W+XGdAFnlKu8HdhWjx2YXcv+DlGMR6a/rjhlR9WjTNJL5qy/kzuUPCJ5kkZFTryvCAGBxdrRLYnJuRb9qNaU6NtdXnqwHnsiYiLRkkhEmKO68yp9Sy7LVfdHk5ScxtmlHMsx8APadkZeL8JkXtAdpn8MUv5XozILumHQq9rU/XWir+4AetVwFOvfBKh3IHj1zrk13MYp1g7s2XfEWhI7q2eMTcet5E3YSjK6Vl3MTPThdEhZqYz8eW1gCgzYx7zp6T18fFwbveptHKnLBmySjo/QQJdokAk1zoh9YJ6yihLCRJlWdHgL1NTPe5m6YNY5UcLkdilqFvFsviDN5b/Ty7oMsCBarjbzQF56DxcfacJSmdkFwQZ+RsEeJmCdEtgMs+GsadeZ1LFSK/cKcZFJYfd7TwKVQcECbrL/pPOPp3zSo8lzuNw0O8Jtfakxd2caFfvSY2Ntu7WnCwTy7irpuEV0h/IIjH+bsr72ThA6JKLQCkvLFyKTu8eNmAl199rQujuA9GNjXCbr2waSnHAVaLSjXx+Zm8R+GcPpWCjowAAShNpoHuTjOuKNrINfR2KqStWE8CD4ga9ivMZm3gFaeHg6WGOsvtax0R1OkGdmzUAEjN2zZRYZu6yDGz2jeBpPyh8RSrMpmd9SEPlDCz624ilgiyZlZEfFBFwV2lzMeVe8vn07hQYMXGoDH3Z
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB6919.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(376002)(396003)(136003)(39860400002)(346002)(366004)(2906002)(6916009)(4744005)(8936002)(186003)(8676002)(4326008)(38100700002)(26005)(6486002)(91956017)(478600001)(33656002)(66446008)(38070700005)(122000001)(6506007)(53546011)(66946007)(54906003)(316002)(2616005)(83380400001)(76116006)(86362001)(6512007)(71200400001)(36756003)(64756008)(5660300002)(66476007)(66556008)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?zluQGrtpbi06m1ScZPLa71OuziP3IjukU2sowAv/zFFOZFSPkzwm+kQgr5Tw?=
 =?us-ascii?Q?apDyPK4r7xrEZgb8mHbcJOCMEenyBT6sJ0WXueLl2wTSTMyAlFqw6g83uXAr?=
 =?us-ascii?Q?XnJ3EvUiFzUjWPnTeJWqV50LZhqog699214Y0aOcVYSuFUPaOZIOVJEvVDt2?=
 =?us-ascii?Q?CeWLBLRUyuGNG1P+DAZ4fJgrj1yyYr+vJOJr5vB+sSJsWzbajDAntVbD3J+k?=
 =?us-ascii?Q?QjxYchr6csLuHtCdc2tHuf3XEJO1YSiJ+cCMcfl+lcRbB6y3oYjzFS52LSIW?=
 =?us-ascii?Q?Ps4zp2LfMvywiPlFasUG/sou0L8weytncsaaFfzF9/UG4+mDLgk0CKkXXz1S?=
 =?us-ascii?Q?D2sbza7q2Mkrw9JnC4a7wDcpUBMmX8oDATThZ4RdaDW/yPNeFRMY8gPEO8tP?=
 =?us-ascii?Q?qOPuDVmCbfGWeQE8eXI4VeqR8mUEFJOSA4RPb1AnuzgJMDjQqqb69P9Bd54p?=
 =?us-ascii?Q?pJE5Raofwj/IafGacXBwgobvU0PqeaPZyCsTQoNNol42epYn1VTlF5gCptXP?=
 =?us-ascii?Q?0DnYmCCofULd0EBVdwVUZ2f8N0NXp0mahID9/Ou+6/H8rMhjXQv0qPTzaacP?=
 =?us-ascii?Q?2gZUrQSf0euUQWCQ3CNSizzagEfxBzJm0+dWCScwVnr4gasYDTjxd3Lzb7jR?=
 =?us-ascii?Q?0IjVZ2Fja+HSQm+N7UvhrjQZqqpU8MHCz/ICiDLmaZUodXlJZkZDG1QP6tmS?=
 =?us-ascii?Q?U5stuUoib0JWsw0JPsOC8zH8zuVBTQwdNB2sRtjwpD0otZJ2VPHxoURB+laP?=
 =?us-ascii?Q?RMJqY3/iU28d171AqprjD3rcaamcdoAU7BhUbSDzc/cIZ86W2Oc8t3f8YnhY?=
 =?us-ascii?Q?0VBhBIy7WBOz7Jk7JsXY3qlrz3OVhMXuKnKt+vHD2+HiQZu1PhhvbzfdggYk?=
 =?us-ascii?Q?lNUNKZjplbpHa4yhommUMZgOXDRiN+ulFWT4OwuTsSBT6C9jpRCnTKDc/R7b?=
 =?us-ascii?Q?Hj3XMqqQgPJ0LJaZ99JFfAwE15HnzjEbrbTrau0Sj/zYZWamdK2yC91la+nh?=
 =?us-ascii?Q?/FlqVM7+/k1SlVzl9rMJda4OAA+PcJxCIjOfYTMp2K3EuYkBxFec3eClYmI9?=
 =?us-ascii?Q?pLl/PZYXbxTcsozXzsSfn6pyppHd5t9tlIRpYfP8EHFM4P/2j0Sh5ccrQuHc?=
 =?us-ascii?Q?EJ/pDmWUNo1s1JWzkNb9x/AsU/+cQReHWrtr5h2og08l++Di1s2FMjY2kQZv?=
 =?us-ascii?Q?FkwmScE7yRJ3d+RWgGmb9rmk3eGCT/A9yOltxlXU9iW6yXTbhEZIFYrLpOf3?=
 =?us-ascii?Q?Sw6yQtU5cDvvY2j0huFGj/GgsQ2MHmuQcc3rBCl2qKcNGYhyi4FDDD+W5qTV?=
 =?us-ascii?Q?1s2hwZ5CfNZh9k9At2IKcjmJ?=
Content-Type: text/plain; charset="us-ascii"
Content-ID: <B6E23B784F55314BBA20B0540C817666@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3829
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT062.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	250d4676-0d1c-4af6-f4c0-08d963d4c138
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	DD3HTL3GfdmIrYFVwlkWs/XdX9GVQlpXdap5bwEd7h2W4e8XJKQu2haVESx6Dl+XlfZMbNn1MvuusI/BRv+L5kGKF0A2IjRQZsVxAZBs3Q8UQ0+aL1o9BH7z8lDVcyN0NtclfiNVrkKXSuecg+xVAxTXiPvKJTOyOlxrWmToW4t6gi+LHYwvI4zDlDtNGbTO8eLC0jHamwvRFnMjXW5tuCqNDtCV4I4wEexP0XEOfOGIKYu3SVPaB+vApoqBbAZwFBFxtPdx0zobGm+fGVu8TW+rBjgf9KCOyJi8bRAZWbc0wqPR5KSV82tlAImwjuQ2t9aASvG/U3PPGpS1nkVHMgKNuJwDLd2tqk4A/WoOVCthQ0R1ixNbgHeVvN7uWqG6jCVe+XGs0DABpxDlSr1VK8iDBxYPItotZw1J/Is/V0UXl9ctcZRiTqBUWSlrGIdwzB6z/YdqgUL82sbTgwemlv0OMSLWOJRMCHA9gX/THyMiVdaK8r+ynEcROObh2wrSAoZEj6I3RTUfyUQ4EFgkUe48A3kWsA9Gm+nSUyP72ABPSuAUbwQNCMlJOZO4m7MDBaF8fpT6YRGipfq0jJiWsBQ9h4YXhZoWlqcCD44zpzZZ6kXhL9daeFi+pMXUgUh0gz1YdoXSCH9WsaykhXKn1nnP5NOLNOzbYfoPWWbzVUxm1Jq+RqpugXPzhnC7KUkoGaMlC407BqtERHq4Sddxmg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(396003)(39860400002)(376002)(346002)(136003)(36840700001)(46966006)(2616005)(70206006)(356005)(86362001)(36860700001)(26005)(2906002)(4326008)(53546011)(8936002)(5660300002)(336012)(82740400003)(316002)(4744005)(81166007)(83380400001)(70586007)(6486002)(36756003)(54906003)(107886003)(478600001)(8676002)(6506007)(6862004)(47076005)(186003)(82310400003)(33656002)(6512007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 12:19:39.8820
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: fea94e15-6eb8-47c9-e215-08d963d4c899
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT062.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5043

Hi Julien,

> On 19 Aug 2021, at 1:31 pm, Julien Grall <julien@xen.org> wrote:
>=20
> Hi Rahul,
>=20
> On 19/08/2021 13:02, Rahul Singh wrote:
>> Add cmdline boot option "pci=3Don" to enable/disable the PCI init during
>> boot.
>=20
> I read this as "PCI" will be either disabled/enabled for the platform. Wh=
ereas, I think it will be used to decide whether Xen discover PCI and PCI p=
assthrough is supported or not.

Yes. I will modify the option to "pci-passthrough=3D=3D <boolean>"
>=20
> Can you also clarify why a user would want to select "pci=3Doff"?

As pci-passthrough support emulate the PCI devices for DOM0 also, I thought=
 if someone want to=20
boot the DOM0 without emulating the PCI device in XEN and wants to have dir=
ect access to device.

I am ok to drop this patch if you feel adding the option is not required at=
 all.
=20
Regards,
Rahul=


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 12:23:53 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 12:23:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169519.309663 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH3Yr-0006fL-L9; Fri, 20 Aug 2021 12:23:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169519.309663; Fri, 20 Aug 2021 12:23:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH3Yr-0006fE-Ho; Fri, 20 Aug 2021 12:23:49 +0000
Received: by outflank-mailman (input) for mailman id 169519;
 Fri, 20 Aug 2021 12:23:47 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=pH7i=NL=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mH3Yp-0006f8-HM
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 12:23:47 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com (unknown
 [2a01:111:f400:7e1b::61b])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 64b649ed-304b-4eec-99dd-dd4aca6d8026;
 Fri, 20 Aug 2021 12:23:44 +0000 (UTC)
Received: from AM6P193CA0050.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:8e::27)
 by VI1PR08MB5487.eurprd08.prod.outlook.com (2603:10a6:803:13c::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 20 Aug
 2021 12:23:42 +0000
Received: from AM5EUR03FT060.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:8e::4) by AM6P193CA0050.outlook.office365.com
 (2603:10a6:209:8e::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Fri, 20 Aug 2021 12:23:42 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT060.mail.protection.outlook.com (10.152.16.160) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Fri, 20 Aug 2021 12:23:42 +0000
Received: ("Tessian outbound 6ba9ec11d42b:v103");
 Fri, 20 Aug 2021 12:23:42 +0000
Received: from 01702f122d2c.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 C49DDB5E-99DA-4463-A7E8-128C3CA279EF.1; 
 Fri, 20 Aug 2021 12:23:36 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 01702f122d2c.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 20 Aug 2021 12:23:36 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DBBPR08MB6155.eurprd08.prod.outlook.com (2603:10a6:10:1f5::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 20 Aug
 2021 12:23:34 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.019; Fri, 20 Aug 2021
 12:23:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 64b649ed-304b-4eec-99dd-dd4aca6d8026
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=p4O0HCD6hKhVfljtXUrujILXkV2kWFA3TrVkdjjwKxc=;
 b=RMKVdlbjMy3oEN3JyvCTZ5UsimFlj6JtqSuzFWc/2FDWPz66q6JPOD5MsbJrt4vFKFlBng0HYt4Z5WH4Gj4l3lXqKGnE7g4gDaLU9tcDQebIoRGecr8ptJI4c9ntvA8YI9HVNTYCzefY83iT54eoxxSwkxnjftLLM2R0ZYmppzw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PeMDRbvpD2D6qfDjgNx/apdn4Maky6Kf9gnEjsoSsA5K91coKm/vXijbD/CZL9JF+M2uhxSrE+rD8y3aZJejSb6HOgnoeViJ+2gs19Yyvo/CuvaoSGNhSDhr/+rO29bg5l1JNIUiVOjT2O6o53+gY6WKN+Gj3r1Qd00Fkq4yXHXYePCN7yN/y/ix1JCKDBc2G6WeUUTUBKzrJJeBS1fyXZ4gEpVdht7iVvw2SVerVcaMdI7kS378IcgDzGNZNNgmPmhNohTipE1V0vKt55V+Re5Wq84FQMx0i9pd1n1Ps/we/H4i6CsRKepPHFpYAoJW9OXBHL/wvBNThp4J+23Dpw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=p4O0HCD6hKhVfljtXUrujILXkV2kWFA3TrVkdjjwKxc=;
 b=KoUI5DleSFt5QBYWsIO8N5DLNFTXN4Hd5Gkf/fOkoAc56y4oZPSyCrxn/aBl7kJsbUGSYoxiMhOjSYsgZ4yGWpabWxiCqrOdfXQa60iqXhXn8a+5QU+556h8fdJDlqKTAr1CxtjGjEzF5DzOMit+GrOrmqoW8uQGYl0nUNDTOGFSKhBvQJ532xhEdk1hmvfHVXUP9miIN0HgSR2IbScV6gTnOTFhuwJMwtzG8rGm5Bfct+rysQ4Fza3UlPt5EfAPk3uQ0VfVMoEPblAXEJVEzS8gRwnKyODAEtoggwbeDinqzPhKk+9vKCFgzqKRUOqRHWWD0FHsaHimTraNN4IMNg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=p4O0HCD6hKhVfljtXUrujILXkV2kWFA3TrVkdjjwKxc=;
 b=RMKVdlbjMy3oEN3JyvCTZ5UsimFlj6JtqSuzFWc/2FDWPz66q6JPOD5MsbJrt4vFKFlBng0HYt4Z5WH4Gj4l3lXqKGnE7g4gDaLU9tcDQebIoRGecr8ptJI4c9ntvA8YI9HVNTYCzefY83iT54eoxxSwkxnjftLLM2R0ZYmppzw=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 07/40] xen/arm: use !CONFIG_NUMA to keep fake NUMA
 API
Thread-Topic: [XEN RFC PATCH 07/40] xen/arm: use !CONFIG_NUMA to keep fake
 NUMA API
Thread-Index:
 AQHXjpsrCM0mCbgWfUKWYF7VHwpa+qt64JgAgADSDXCAAGmUAIAAFMHggAAdrwCAAAnQ0A==
Date: Fri, 20 Aug 2021 12:23:34 +0000
Message-ID:
 <DB9PR08MB6857BA75DFA2294CCC26EA309EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-8-wei.chen@arm.com>
 <e9a45fe3-e4b0-6533-8b41-ac3f10ef386a@xen.org>
 <DB9PR08MB6857D0004A59BC90866AE4C89EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <4de5b7ed-ada5-2114-2002-7f5e26a89417@xen.org>
 <DB9PR08MB6857B5CEDA012C10B192F3F19EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <54707c92-3bda-60b8-4b36-1eae172cacb1@xen.org>
In-Reply-To: <54707c92-3bda-60b8-4b36-1eae172cacb1@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: D0679C675CBEC645A72FA056C8E7D996.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 16b106eb-adc0-4024-f3be-08d963d5595a
x-ms-traffictypediagnostic: DBBPR08MB6155:|VI1PR08MB5487:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR08MB54879D3BACC2F5AB10BB9F649EC19@VI1PR08MB5487.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 z7x5D1gYPrgLwXtEp3/V4325ptZc+GmLqJdnoqYZxh/8FUL8/uSRLv2jB6obyNiZmE+SMDyNlHV8tuX3jfiZdJ9TBGShBsa2Ge1b3taN/hYCpb3YffSLwmxhWm9QZVFHmgPQPYnMwK0xIuz6cQu8S1a7aWwknNfKmKhAalvTEt96KeL3bjMlnpponLjzHP/0m58P/wSlpielVkhn8bMb86kHRff3142RxxIvSn8I4bE81bhYE/v3Zi0xp5BfCw/ykHLP/B9KcYjIGGS8K8B5EN1y2nYNs8uXIyHfCYDhIBQAzY2jCcV6k83fshAQQZZXRmGBsCEx6fgOO395WuzqI2lm6XjlF6pwYMhfuq2+Gjpl0mU/hYdUlUEk4bqELZl8nbN08fvfJojHAxA1dpEWZgZhllAlW/dRKgQ60DI/BJ1Zpcs6VLmowc0aeokCY+FqFXcML0lcprPFZ+4N6tNqTyOkoH2Xa30mxYuSoZ/RiDEO2IVJkVnFi1r1yqYiZelA/IbWcEsZw/ntStV7aQDdd5cMzDzDYbWQrCshVpNPC3Ep4v/jvefXmjQxzGmBiV1lSKc+3AdM35k3fe0Xqjgw/5J0N1SPynwSZ6b+8DNailTGJdHmFgefKuTYKLY4ejd/7kgN5IblOLoOxC7bGoSRGD6Jiu0CeStGEzSTuGr5h4Bf2ksvhjZqEquiLuNqdVgJ44pG/cebIH+79g7RbqltAA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(376002)(346002)(396003)(39860400002)(136003)(366004)(122000001)(110136005)(71200400001)(186003)(9686003)(6506007)(38100700002)(76116006)(316002)(33656002)(4326008)(26005)(2906002)(5660300002)(55016002)(7696005)(478600001)(8936002)(38070700005)(8676002)(66556008)(66476007)(66946007)(86362001)(52536014)(83380400001)(66446008)(64756008)(53546011);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?bHFpb1NoamlUOVJmajdhN2MxbmpPSEJBOFc1L09JRWdlNWRKZDhxN2FwRmM0?=
 =?utf-8?B?Q2U3Z0tEamVQeXEyWW5hSkYwTUFNOWw0bVF3d3dzTGJyMVFWV3hGdjl3Z1pB?=
 =?utf-8?B?d2taUDZybVNMWklHR1IvblVXWGhBVTdTNzBhVFliL0lHcWFFZGdkaDZKejUv?=
 =?utf-8?B?NzhsL0FKaUFIZUVoS2ErWHJDUVU2a2hDL3NJWHJkMEJ1WmY0Ty9PQjJ1Tkxj?=
 =?utf-8?B?eS9KOGEvZ3I2bHl4QzREalpDWjJ4SlY2Q0xzMVdUUk1KUW9STHlYN0p5WEY5?=
 =?utf-8?B?RlVYM2dwRHJGKzA0cnM4ejZ2dkpUS3NhL0EzRnFyVWg0WS9tbUR3R082M3Z1?=
 =?utf-8?B?eUFiZXBUaXBQTmdCa2pmWUlWdXRZZkxIL0ZkQ1VRY2pVK05aYjg1cldRL0NK?=
 =?utf-8?B?d0kwZ2VoVlBGVS90NjJDdVd4WUxHUmR0amJSNXdQN3NKNDdkTFFjWElvS0xh?=
 =?utf-8?B?NEpDYUlWb2t3YitGVytSVHB6L3dpYWR5MEVGeFQybGQxdHhqUllPdDQwL2pM?=
 =?utf-8?B?ekppN0liNUJRbmNZZTVBSWM4cTAxWURXRkN6L2FyeGdvdkYvWHpaTG5aZEl6?=
 =?utf-8?B?cUQ2Zm9HZC9ISmNlWVRNVG9jdDJreGlzOGV2SEpEVE5FUU1Yc012Z1pWdklB?=
 =?utf-8?B?TU5JdFZPRzVEcVMvWVpWQ3FWMGhyME5LdUw2Si91TVdTVGZKN0Ria1JLNUVk?=
 =?utf-8?B?L2xtOWJnWWxTclVKbTYvbjByMGw1RFJNekxwWDRnbEl1cERqWjVKa1JsVHJP?=
 =?utf-8?B?VVNBaXFiWWtMRFp3QytPdFNYUEpCU2F1Mk4xS2lYZ3diZVVUSW0zcXJCWGNW?=
 =?utf-8?B?akxmUmgxMzJaZEVGN3dHSmYxSmtkRkFuejVOV2RlZjR4Ymh2OXRoeHlhZi8r?=
 =?utf-8?B?TkNqbTJJT3Q3bHFxVi9pd1lpcW05RkYxd1JuaGphYkpRYW5JMEhiVUkzaURm?=
 =?utf-8?B?L3p6QzdBc0t6NTc1Rkl5eWRrdC9SdnhoMjlzZW5FenU1OGVZaC9IV0s0bytJ?=
 =?utf-8?B?ZEpQYnpyYmhDRCtWMHloWXN6NDdNRTFpclhoSEM5NWdZODBOMTVtZER2aGFa?=
 =?utf-8?B?OHpmM2poZGREUCsxalQ1dFFYZTY1cDFONHVyRVhDRXI4NlM4QWtLQi9tTnh5?=
 =?utf-8?B?ZXNZWENPUkRSMDl6TEVWbU1xeWdLdlhMU1NGalhaQzZ6U2krVGF3dWhydzMv?=
 =?utf-8?B?YkhzdUhXb3lLdmZxc1BjSzRmNmZtWTBDdGJaZm1hWlVPMGs2QUpHVjY1V21T?=
 =?utf-8?B?OEtBZ1Ztck9mT3FDRXZmNmNlSzBtdTBIbk5LamlIeW5lSm9hUHlxR3JDb0hq?=
 =?utf-8?B?WW5MNFJBSGllUkIycmkwM3JNRGZNMjdMWXhSN29TdGlibU9uRGtZUmdpVEhN?=
 =?utf-8?B?UktDQWhTOXNISEF5VnJpRkxoaS82R1d2N1BKcFRhNU1VOVJjYmROd3laVS9q?=
 =?utf-8?B?WHFRWUhTSExxcXQ0cG1tWDcwUFNCbXJwN0tsNkxpc3YrWXQ0cDJjTERWekxT?=
 =?utf-8?B?bkNrUDVxckpaaThsL0NXeHU0aVlrL21aRmdiSnZqMHZzVWE3VVVpamc1WlUw?=
 =?utf-8?B?RnN4QlJsZmg2WE1Lemw2VzFOSTdmWUNOVTNEdzlPRzMwWmRCakRLODZsUWR3?=
 =?utf-8?B?Sy9ySTFDVjhmdk5vbGJITTc2NFFYZSt3S0VuOWRiWHVvMFFsQmdwdXFHODdK?=
 =?utf-8?B?NjQvaUsyVXZyN3IrVmZGWmJkTXJEUDdNK0Y3L0c2UHowNC9Bb3k2Y1dMWDk1?=
 =?utf-8?Q?63St8aIOHksHsl2NtjYUbqdW+B+HQlUtEl+TQHZ?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB6155
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT060.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	8a205ac0-93e9-4191-2fad-08d963d55492
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xzb5Kh1fA/FU+y+Rhjt2jiwZMT3dQvH2I/WEx2S3hL2A8XawdbgPaI0ZNLlFdymNe8dWR2zCn6vj3PDfjTCIBm+jrWpQKWkdzf3CQsGQMFWADYosrzwSvhveFQUIRS0o9S5UviSQMgcFpre/J6igHoOO7Kt96vDodPRFSjfaWdxLGpZt+0YAFBGVrxFLQxeApK2cwvfYBdf8YWYD5t4hAyr11eEJrI3YWi78B1MHTvtQejJDiHpGpV0eaFhd0QJFbgYVuCnLp4fVSdwfZmL/KIFpiWrmSN8Nuau0wQx/DZhd/5w+6rq6yLq49+bZ+7CQbeojivjHVZ+UAcqoJ66a6AVPQX0cmVRgAtm6QrcO9SoP9xvIThw+ZIx+/yXndglMXwoH7fv7N2bMKE30xaP7BrrR+KDdZjxGWcbxL9lPSYmjx9oWPAeoFm4JcypnmpXyq2k7xUe+neiHjA0zIbTrXd8XLqeorpsHIicwnT65fFMM0N5Rr44rcqWIH6WPdqKl3VTBjJUKvvi3lNjvOGGHx3D9OmynkYXm+DvDMoOPGVdjdTPhJ3qzWK1szLz557wtm93O2HESRd92Hwx679FDLXHgEKbEd///6EK+dq1hQHAx1xD7XIxLl6NseXEW2J5GRkvrV/eFklxfue1cUp/4PIq6VcbTGOxhhCtkpEwI+05oqKBGzhuZoai1kAl9u233g1OP9xlAOUYEMdGAx4YS6g==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(39860400002)(396003)(346002)(376002)(136003)(46966006)(36840700001)(186003)(336012)(55016002)(316002)(356005)(4326008)(81166007)(9686003)(82310400003)(33656002)(8676002)(478600001)(70586007)(36860700001)(83380400001)(2906002)(110136005)(5660300002)(53546011)(26005)(7696005)(6506007)(52536014)(8936002)(47076005)(70206006)(86362001)(82740400003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 12:23:42.7262
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 16b106eb-adc0-4024-f3be-08d963d5595a
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT060.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB5487

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMjDml6UgMTk6MjQN
Cj4gVG86IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgeGVuLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnOw0KPiBzc3RhYmVsbGluaUBrZXJuZWwub3JnDQo+IENjOiBCZXJ0cmFuZCBNYXJx
dWlzIDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+DQo+IFN1YmplY3Q6IFJlOiBbWEVOIFJGQyBQ
QVRDSCAwNy80MF0geGVuL2FybTogdXNlICFDT05GSUdfTlVNQSB0byBrZWVwIGZha2UNCj4gTlVN
QSBBUEkNCj4gDQo+IA0KPiANCj4gT24gMjAvMDgvMjAyMSAxMToyNCwgV2VpIENoZW4gd3JvdGU6
DQo+ID4gSGkgSnVsaWVuLA0KPiANCj4gSGkgV2VpLA0KPiANCj4gPg0KPiA+PiAtLS0tLU9yaWdp
bmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBKdWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4ub3Jn
Pg0KPiA+PiBTZW50OiAyMDIx5bm0OOaciDIw5pelIDE2OjI0DQo+ID4+IFRvOiBXZWkgQ2hlbiA8
V2VpLkNoZW5AYXJtLmNvbT47IHhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZzsNCj4gPj4g
c3N0YWJlbGxpbmlAa2VybmVsLm9yZzsgamJldWxpY2hAc3VzZS5jb20NCj4gPj4gQ2M6IEJlcnRy
YW5kIE1hcnF1aXMgPEJlcnRyYW5kLk1hcnF1aXNAYXJtLmNvbT4NCj4gPj4gU3ViamVjdDogUmU6
IFtYRU4gUkZDIFBBVENIIDA3LzQwXSB4ZW4vYXJtOiB1c2UgIUNPTkZJR19OVU1BIHRvIGtlZXAN
Cj4gZmFrZQ0KPiA+PiBOVU1BIEFQSQ0KPiA+Pg0KPiA+Pg0KPiA+Pg0KPiA+PiBPbiAyMC8wOC8y
MDIxIDAzOjA4LCBXZWkgQ2hlbiB3cm90ZToNCj4gPj4+IEhpIEp1bGllbiwNCj4gPj4NCj4gPj4g
SGkgV2VpLA0KPiA+Pg0KPiA+Pj4NCj4gPj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K
PiA+Pj4+IEZyb206IEp1bGllbiBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+ID4+Pj4gU2VudDog
MjAyMeW5tDjmnIgxOeaXpSAyMTozNA0KPiA+Pj4+IFRvOiBXZWkgQ2hlbiA8V2VpLkNoZW5AYXJt
LmNvbT47IHhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZzsNCj4gPj4+PiBzc3RhYmVsbGlu
aUBrZXJuZWwub3JnOyBqYmV1bGljaEBzdXNlLmNvbQ0KPiA+Pj4+IENjOiBCZXJ0cmFuZCBNYXJx
dWlzIDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+DQo+ID4+Pj4gU3ViamVjdDogUmU6IFtYRU4g
UkZDIFBBVENIIDA3LzQwXSB4ZW4vYXJtOiB1c2UgIUNPTkZJR19OVU1BIHRvIGtlZXANCj4gPj4g
ZmFrZQ0KPiA+Pj4+IE5VTUEgQVBJDQo+ID4+Pj4NCj4gPj4+PiBIaSBXZWksDQo+ID4+Pj4NCj4g
Pj4+PiBPbiAxMS8wOC8yMDIxIDExOjIzLCBXZWkgQ2hlbiB3cm90ZToNCj4gPj4+Pj4gT25seSBB
cm02NCBzdXBwb3J0cyBOVU1BLCB0aGUgQ09ORklHX05VTUEgY291bGQgbm90IGJlDQo+ID4+Pj4+
IGVuYWJsZWQgZm9yIEFybTMyLg0KPiA+Pj4+DQo+ID4+Pj4gV2hhdCBkbyB5b3UgbWVhbiBieSAi
Y291bGQgbm90IGJlIGVuYWJsZWQiPw0KPiA+Pj4NCj4gPj4+IEkgaGF2ZSBub3Qgc2VlbiBhbnkg
QXJtMzIgaGFyZHdhcmUgc3VwcG9ydCBOVU1BLCBzbyBJIHRoaW5rDQo+ID4+PiB3ZSBkb24ndCBu
ZWVkIHRvIHN1cHBvcnQgQXJtMzIgTlVNQS4NCj4gPj4NCj4gPj4gSSB1bmRlcnN0YW5kIHRoYXQg
dGhlcmUgbWF5IG5vdCBiZSAzMi1iaXQgcGxhdGZvcm0gd2l0aCBOVU1BLiBBbmQNCj4gdGhhdCdz
DQo+ID4+IGZpbmUgc3RhdGluZyB0aGF0IGluIHRoZSBjb21taXQgbWVzc2FnZS4gSG93ZXZlci4u
Lg0KPiA+Pg0KPiA+Pj4gSW4gdGhpcyBjYXNlLCB0aGlzIEtjb25maWcNCj4gPj4+IG9wdGlvbiBj
b3VsZCBub3QgYmUgZW5hYmxlZCBvbiBBcm0zMi4NCj4gPj4NCj4gPj4gLi4uIHlvdSBjb250aW51
ZSB0byBzYXkgImNvdWxkbid0IGJlIGVuYWJsZWQiIHdpdGhvdXQgY2xhcmlmeWluZw0KPiB3aGV0
aGVyDQo+ID4+IHRoaXMgbWVhbiB0aGF0IHRoZSBidWlsZCB3aWxsIGJyZWFrIG9yIHRoaXMgd2Fz
IGp1c3Qgbm90IHRlc3RlZCBiZWNhdXNlDQo+ID4+IHlvdSBkb24ndCBoYXZlIGFueSBwbGF0Zm9y
bS4NCj4gPg0KPiA+IE9rLCBJIHVuZGVyc3RhbmQgeW91ciBjb25jZXJuLiBZZXMsIG15IHdvcmRz
IHdvdWxkIGxlYWQgdG8gbWlzLQ0KPiB1bmRlcnN0YW5kaW5nLg0KPiA+IElmIHdlIG1ha2UgQ09O
RklHX05VTUEgZW5hYmxlZCBpbiBBcm0zMiwgaXQgbmVlZCBBcm0zMiB0byBpbXBsZW1lbnQgc29t
ZQ0KPiA+IGNvZGUgdG8gc3VwcG9ydCBOVU1BIGNvbW1vbiBjb2RlLiBPdGhlcndpc2UgdGhlIEFy
bTMyIGJ1aWxkIHdpbGwgZmFpbGVkLg0KPiANCj4gV2hlbiBJIHNraW1tZWQgdGhyb3VnaCB0aGUg
c2VyaWVzLCBtb3N0IG9mIHRoZSBjb2RlIHNlZW1zIHRvIGJlIGVpdGhlcg0KPiBpbiBjb21tb24s
IGFybSAoYml0bmVzcyBuZXV0cmFsKS4gU28gSSBhbSBub3QgcXVpdGUgdG9vIHN1cmUgd2h5IGl0
DQo+IHdvdWxkIG5vdCBidWlsZC4gRG8geW91IGhhdmUgbW9yZSBkZXRhaWxzPw0KPiANCg0KSXQg
Y291bGQgbm90IGJ1aWxkIGJlY2F1c2UgSSBoYXZlIG5vdCB0cmllZCB0byBlbmFibGUgZGV2aWNl
X3RyZWVfbnVtYQ0Kb3B0aW9uIGZvciBBcm0zMiBidXQgZW5hYmxlZCBOVU1BIGZvciBhcm0zMi4N
Cg0KSSBoYXZlIHRlc3RlZCBpdCBhZ2FpbiwgeWVzLCBzaW1wbGUgZW5hYmxlIGRldmljZV90cmVl
X251bWEgYW5kIE5VTUENCmZvciBhcm0zMiBjYW4gYnVpbGQgYSBpbWFnZSBzdWNjZXNzZnVsbHku
DQoNClNvLCBJIHRoaW5rIGl0J3MgT0sgdG8gZW5hYmxlIHRoaXMgb24gQXJtMzIsIGFuZCBJIHdp
bGwgZG8gaXQgaW4gbmV4dA0KdmVyc2lvbi4gQnV0LCBjYW4gd2Ugc3RpbGwga2VlcCB0aGVzZSBG
QUtFIEFQSXM/IElmIHVzZXIgZG9uJ3Qgd2FudCB0bw0KZW5hYmxlIE5VTUEgdGhleSBzdGlsbCBj
YW4gbWFrZSBYZW4gd29yaz8gQW5kIEkgd2lsbCByZW1vdmUgImNvdWxkIG5vdA0KZW5hYmxlIGZv
ciBBcm0zMiIgZnJvbSBjb21taXQgbG9nLg0KDQo+ID4gSSBoYXZlIG5vdCB0cmllZCB0byBpbXBs
ZW1lbnQgdGhvc2UgY29kZSBmb3IgQXJtMzIuIEFuZCBJIGZvdW5kIHRoZXJlIGlzDQo+ID4gbm8g
QXJtMzIgbWFjaGluZSBzdXBwb3J0IE5VTUEsIHNvIEkgd2FudGVkIEFybTMyIHRvIHVzZSBmYWtl
IE5VTUEgQVBJDQo+ID4gYXMgYmVmb3JlLg0KPiA+DQo+ID4+DQo+ID4+IFRvIHB1dCBpdCBkaWZm
ZXJlbnRseSwgdGhlIGNvZGUgZm9yIE5VTUEgbG9va3MgYml0bmVzcyBuZXV0cmFsLiBTbyBJDQo+
ID4+IGNhbm5vdCByZWFsbHkgd2hhdCB3aGF0IHByZXZlbnQgdXMgdG8gcG90ZW50aWFsbHkgdXNl
IGl0IG9uIEFybSAzMi1iaXQuDQo+ID4+DQo+ID4NCj4gPiBZZXMsIHlvdSdyZSByaWdodCwgaXQn
cyBuZXV0cmFsLiBCdXQgZG8gd2UgcmVhbGx5IG5lZWQgdG8gYWRkIGNvZGUgdG8gYW4NCj4gPiBB
UkNIIHRoYXQgaXQgbWF5IG5ldmVyIHVzZT8NCj4gDQo+IFRlY2huaWNhbGx5IHlvdSBhbHJlYWR5
IGFkZGVkIHRoZSBjb2RlIGJlY2F1c2UgYXJjaC9hcm0vIGlzIGNvbW1vbg0KPiBiZXR3ZWVuIGFy
bTMyIGFuZCBhcm02NC4gTXkgb25seSBhc2sgaXMgdG8gbm90IG1ha2UgdGhlIG5ldyBjb25maWcN
Cj4gZGVwZW5kcyBvbiBhcm02NC4gSWYgeW91IG9ubHkgYnVpbGQgdGVzdCBpdCB0aGF0IGZpbmUg
YmVjYXVzZS4uLg0KPiANCj4gQW5kIGhvdyBjYW4gd2UgdGVzdCB0aGlzIGNvZGU/DQo+IA0KPiBJ
IGRvbid0IGV4cGVjdCBhbnkgb2YgdGhlIGNvZGUgdG8gYmUgYW4gaXNzdWUgb24gYXJtMzIgYXMg
dGhlIGNvZGUNCj4gc2hvdWxkIG1vc3RseSBiZSBhcmNoIG5ldXRyYWwuDQoNCkkgbWVhbiwgd2Ug
ZG9uJ3QgaGF2ZSBBcm0zMiBOVU1BIG1hY2hpbmUgdG8gdGVzdCwgSSBkb24ndCBrbm93DQp0aGUg
Y29kZSB3b3JrcyB3ZWxsIG9uIEFybTMyIE5VTUEgb3Igbm90LiBJIG9ubHkgY2FuIHZlcmlmeSB0
aGVtDQpvbiBub24tTlVNQSBhcm0zMiwgYW5kIG1ha2Ugc3VyZSB0aGlzIGNvZGUgd2lsbCBub3Qg
YnJlYWsgZXhpc3RlZA0KbWFjaGluZXMuDQoNCj4gDQo+IENoZWVycywNCj4gDQo+IC0tDQo+IEp1
bGllbiBHcmFsbA0K


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 12:25:17 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 12:25:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169524.309673 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH3aF-0007Fo-WF; Fri, 20 Aug 2021 12:25:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169524.309673; Fri, 20 Aug 2021 12:25:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH3aF-0007Fh-Sh; Fri, 20 Aug 2021 12:25:15 +0000
Received: by outflank-mailman (input) for mailman id 169524;
 Fri, 20 Aug 2021 12:25:15 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=pH7i=NL=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mH3aF-0007FY-3I
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 12:25:15 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com (unknown
 [40.107.21.44]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id b7a28e29-1ed3-4c16-8205-b9f792f4b974;
 Fri, 20 Aug 2021 12:25:12 +0000 (UTC)
Received: from AM7PR02CA0006.eurprd02.prod.outlook.com (2603:10a6:20b:100::16)
 by VI1PR0801MB1968.eurprd08.prod.outlook.com (2603:10a6:800:88::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 20 Aug
 2021 12:25:08 +0000
Received: from VE1EUR03FT044.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:100:cafe::46) by AM7PR02CA0006.outlook.office365.com
 (2603:10a6:20b:100::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Fri, 20 Aug 2021 12:25:08 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT044.mail.protection.outlook.com (10.152.19.106) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Fri, 20 Aug 2021 12:25:08 +0000
Received: ("Tessian outbound 19a632698c93:v103");
 Fri, 20 Aug 2021 12:25:07 +0000
Received: from 0c2e9eec198c.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 726A0094-FA5C-4DBC-A7BF-A69A80608920.1; 
 Fri, 20 Aug 2021 12:25:02 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 0c2e9eec198c.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 20 Aug 2021 12:25:02 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB9PR08MB6958.eurprd08.prod.outlook.com (2603:10a6:10:2be::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.21; Fri, 20 Aug
 2021 12:25:01 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.019; Fri, 20 Aug 2021
 12: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>
X-Inumbo-ID: b7a28e29-1ed3-4c16-8205-b9f792f4b974
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CSDGBMqDzpWRZnorRAQN2MCd1THkrhLKXb/+uQJm7CI=;
 b=SBKBbJ9xP2IOIvQ7rN+2AGRo9cDfLI4Ebi+2VV8LrzbJAkDpdn8vevUJSqEAhhYnP4NLwzmtVKI046HetYW/5VIYwAiY2SoLB4dy/Li1F+mKLZP/YRoUgjpccGLxRUnoB1ba1ER1qzXR8ga7A7OPkpaA9Pz8+c3wg1zGRhp8VCc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=INhsP5DoZI9g5PPbceKVW/Oc+Dh4wcUsaGwP1DNVpOFKXlXfYrYz4hk9n+WvO34M/GwMG2GxTPcXmw7tL6RsiZBTsOMZFX+pCAh06j8F1RNM4njQ3ztQDe1VhFoktDPHepha/Zly6RZa7u8MHlHEB1tagW3IFK4Quxood0C90gr7jU+3/n3CuFUGICrTgVHo2jQosTiM2Aijz1kIkDnAbAq0GyQ2+fKEO9qrOvBucekIphGt8OYXAh7sHR1AsI2Re+icOtMwy6+oHPsIO+2XLg39+mikWCYgf8QV+ff2lDpG80+xCjMLFnjkaGdS5c1DH+7kNpfMV7d+H8XTFaHAWQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CSDGBMqDzpWRZnorRAQN2MCd1THkrhLKXb/+uQJm7CI=;
 b=HHBnaXfC80UksbfDrHtEcrgUf9XIl9zsVnZ11bH6eyM6nSmJexLzeIMN3DQGBjT23AW7Q3ixgRObFNVnl1ynAcdHPDO9ASXZATLAsCKVd/xGLdD946HqYKvxoESJoMe35ll0MvCcrgMJBA/ncoaKrjUyDbCAcg0/Rd0XzFGpShbY+wzD/8cJWL5f6/yNKGxxoUwO4I3QfmIn5m1WkHd2bx1i9+MSU4bw7J3acQKAYvFoLtobKgkqpCvwIoHQDMvWZTM2koC+HNkwV65MabbIE8Xjfp84xVGRqWZqe4idR4iOouUeaRTwPb4G0SfSLa5pm8X7ouwY+C2evNinyNCjdA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CSDGBMqDzpWRZnorRAQN2MCd1THkrhLKXb/+uQJm7CI=;
 b=SBKBbJ9xP2IOIvQ7rN+2AGRo9cDfLI4Ebi+2VV8LrzbJAkDpdn8vevUJSqEAhhYnP4NLwzmtVKI046HetYW/5VIYwAiY2SoLB4dy/Li1F+mKLZP/YRoUgjpccGLxRUnoB1ba1ER1qzXR8ga7A7OPkpaA9Pz8+c3wg1zGRhp8VCc=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 17/40] xen/arm: Introduce DEVICE_TREE_NUMA Kconfig
 for arm64
Thread-Topic: [XEN RFC PATCH 17/40] xen/arm: Introduce DEVICE_TREE_NUMA
 Kconfig for arm64
Thread-Index:
 AQHXjps53Qsrm+WTv06/kg1OUu3sHKt64bkAgADV/ZCAAGlegIAAHTUQgAARmQCAAA9VEA==
Date: Fri, 20 Aug 2021 12:25:00 +0000
Message-ID:
 <DB9PR08MB6857875F92E743A20F7C77BD9EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-18-wei.chen@arm.com>
 <1fbcb8a6-67b6-e2d6-6524-cfce7a8a6557@xen.org>
 <DB9PR08MB68571FFA0E971E3A60C588EA9EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <fe477382-c078-9647-49f8-ef40a9e20b50@xen.org>
 <DB9PR08MB6857E4371D0E31C65E952C0E9EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <00d536c1-311c-3f66-c0d2-6bdcc5f1d794@xen.org>
In-Reply-To: <00d536c1-311c-3f66-c0d2-6bdcc5f1d794@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 454D75666E594646A147D14745133E18.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: ab4acf56-c1d6-4e45-6163-08d963d58c5b
x-ms-traffictypediagnostic: DB9PR08MB6958:|VI1PR0801MB1968:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR0801MB19682A23201B554CC92593079EC19@VI1PR0801MB1968.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 7weJGjP2splesast3g/KavMl3viad+vkGL9tZmE/fIdYmsLCITaoRfwscLXwu0okamNBbePx+UmfDuu5f9QeFMjSKQWDuPLvg2NZVHL2LvwqZpn15u60+UYPrLx2t/qccni83etg2jYjjfgv4DARo1lhAwj4r9ofb4zy7IiMZPOil40xQikuoOb+kH6H/K9/icLqubqc3M7HGrG/7kTN1QcOA+pE8+ZokAzIl1m5f5wnrp79tZaMPnsJKou2KkQ+68Is7aLfWz6heMQUUS1gWxrX/EQrATmbfmL9G7nHdOpB0QPpPR8ayqU6GH367ZAfhlEZvJUEUuugO4v+UQpRmSae7O8zFE1WxozpbyndRXqDn2HaqsKVD/Q3Gt8nWM/ayIjRdhqTeMwKtqwayjbrce/+vPXLhWRjcNk4p1gqxLXuVB/6Xi1DRLikx19sc7bP7o2g7HsDkQaAjDeB67Ws2WykYI+FaQbh8vvKp/NEE3c7Zsb63HRy2d7tXk3WLNvXnt6D7/uGkiUx6FZVCzOtuFIRrUum+Bw0FEzlvaOS9nUvTC7QcthJVXoTxrCPhzeOrzPnHuKFo/9eL+yuIL5YeC8ENqQHd+a96NFFqaO+6y02zJ5rj6Kmev6d3YJX+Msg31UuHqMBC2WouMmmilv6X+9t6BTNyu+H6BbcaAefwt1en41iMt7xInrwpPpcHuzWikr1r7oyqr9oFjgNF5fDmQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(136003)(376002)(396003)(366004)(39860400002)(346002)(2906002)(8936002)(186003)(38070700005)(38100700002)(33656002)(122000001)(52536014)(7696005)(6506007)(66946007)(53546011)(66446008)(66476007)(64756008)(9686003)(26005)(76116006)(8676002)(55016002)(478600001)(66556008)(86362001)(4326008)(110136005)(316002)(71200400001)(5660300002)(83380400001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?b3JnTnF2dVk1WnhBc1RmRUJZSkFwS3BMbFlsSlJERXQ3QWhBSCtrdVI5NVVV?=
 =?utf-8?B?d0NLNCtkR21HVkQ4WkxFckVPb1poZXJZMDVsZHY0NWRrRXcvbnNKOFVkNHZH?=
 =?utf-8?B?bWcxTktWcldlbHVlUDRMK0dza09Wc2V2MitJN2p4UmtvNmYrZVRFSlEwU1Zs?=
 =?utf-8?B?dzM3RGszNHhvbG45czBMR1Z1bzUvQnQzUTNBa2xnT2dsZFlQeFEzS2YrRE43?=
 =?utf-8?B?aEl3dWJleE9vVHQxZjBneHY5RHZGM1IreURMTklIMjlKYUVSMzhkcEtGT3RZ?=
 =?utf-8?B?bEFkSWpBSURVaGZ6dW15MElDbG1HQ0dNblMvOXNveXk2MDQrWTBGMDc3VmMv?=
 =?utf-8?B?ZWpFVENQR2Y3cGc2N3NGeUhNUVBLdmpPNFB4SFJ2U0p3S01ib1VlMjhUVFNN?=
 =?utf-8?B?WnlRWnBGSExQYUlZTTRuQmU5djFjNFBMcnhrVVdKc290T1ZmSGdPU1hXSjgr?=
 =?utf-8?B?c2dLcHJ1SVZsM29ncWRJMXc4Q0x1U3dQcFd2a1pNNHFJQXhCczNtNWVwSjNN?=
 =?utf-8?B?T3RlN0Vic2hLbE1LcFpCaEhQZzhHYmtCM1F3OXM0UndkOTNYNyt4VEtGK1Ev?=
 =?utf-8?B?ZWVtLzYwdDNMdllmRzJmd242UWpidzVtVEh2NHUyczNBZGQ2UmNKcHRpY0Uw?=
 =?utf-8?B?aGhMNEs3QlNWdzhVZDAxcWpOOVlHSFhEOHdoWGUxSHhaTWhxbmR3bEZWcHNj?=
 =?utf-8?B?TEJpOUVoMGJJYkNnMnpKV0ZrMFNDN0VJTkRmTG9Bb1FlU2pQdlIzUVdCNUV6?=
 =?utf-8?B?cExkYWRsWDQvTFFPNjVYK1MvVkJVdU9uZi96T00vNU5nWE5QSkEvcXBvYlJj?=
 =?utf-8?B?NGF6c1NqdGtBbUFSejFTb1hEa2d4VTVhbXNJUElyYVNFcE16NVdZdmVhUXhE?=
 =?utf-8?B?UWhJNDQrblRBQnVJVHVhRFJSVU5pUXc2RFp1SmkvRVlHQWxXb3pFMlF2T01r?=
 =?utf-8?B?SVVCU0dRL0NUdFhGS0w5a1M0SEMvRFpsSVlqWTY3dnVxRFcyMEtOWHVtSGtF?=
 =?utf-8?B?ZHA5cldjYmR4dmcwaWIrUUVHSWVqc2NjZVc0Yk5QYTNiUGpNTG14RVJwclB0?=
 =?utf-8?B?SG81WGZXTkxlbExjZnM4dWtVMjhsZ1VTeHNzbjl3RDJ0K0NHSWtvTzlUdkJV?=
 =?utf-8?B?anVRR3VVcTE4dWJmVmpjTzI5Q3p2RWpSa3QwVnlTK01WRUdBM2hBNUt3N3RN?=
 =?utf-8?B?bjZEd2xpUWE2R3EzelBoV1lhUi90Uk5EeFIxVzZCM2wvdmZqSW10VC9QZmJE?=
 =?utf-8?B?d21VcjBnSElacENkbVY4U3dxYitUclRSNnBqKzFQcFdYN3BQc2VRSHVHdnRm?=
 =?utf-8?B?elVpNm5neWIyWFZST3FTOWtjclAvVzMwMWplRDkwdCtVVEpIc3JtQ09aZWtn?=
 =?utf-8?B?akJBVmtYNGNpVmxZUnlDcUU4L2M3NFpIV2g3Vk85WmV6UEFVTnROSHhWNHpZ?=
 =?utf-8?B?UDhZS2syKzRJaGpvL3JwalUvQzh2OXQ2M3owc2pnZml6RFk4c1VzVmg4UEV3?=
 =?utf-8?B?WFpURTVjUW9xbGZsV3NLRng3TWFuVS94OEJiU0swVStlTWF1aXNaZlNKOTAw?=
 =?utf-8?B?dVlqcHl0R1M1K3VndXU1dnBTT3hYUWZzU0FQalRyQ1RXWGpLLzNaUlV5eEl3?=
 =?utf-8?B?Y1VoN0hETXgxQjllcGYxVGtDaXlYdDZ2Zm1JbXBzZkRGQkJ4MjM3RGdwR2Zr?=
 =?utf-8?B?dlFYR1dvYWJoVTVmWnJqZnlJaHlrQzhFYlZwaEhJY3VERGxaZVNYajhxOWF1?=
 =?utf-8?Q?EpG+p3x4H0m2t5CgcMMXC/DL71i/9ro9nbTIQ8b?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6958
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT044.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	9d036174-186e-406f-20d1-08d963d58800
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	6oHgTOSEHOVF2MieY/k0mVb75t0qzjkwU1hJk893gRBzJsEzERdqG5SJ7t7BLf6MGxs+14ys6pST28xNOcVTlATmDsU0XZWk8m6FuPS/eyqRTtQskKE+uAKOucdyGRe35bkukuwOkPD8k42rxZiXMNcXLZWcXWXFQGtA2O1Y8o6dgoicIRojaz1AlXeZhuEIiD/CJzzcmnGHWsBVdvLeujnzMSr5aJoYU/F0K0QYryJ/Fl7IK/uLpw8nnYzXZOVfm7lVarDAX3uDL7yT3HbpTNfoWzpAULvPUtyootD310cSf4CFfX6ehkXfOktzLBGGliKjuKSKeBgtpZCWf6epc0wfsmBZsSc94wku157XMCCS2JStuuEWrCJuQRwkkeonuQ4GgfDHCI89HKZLXoUoar6rL0qrnjY2XDPMDHuIhnMGYYyjF61KR55MjBDaELhs7l5SXfEzDOxNsg3g5FhXhhHvkqua5bUJE56W6xi670HErZDGs5HECpmmzjX0kCk/e7nDZRcT8yuTTb3ITyZSeMNVFzWNOsZX1Zwpx9rYWh7kjrfnrb/CZojvXq69B3ZQQBWDEqIqvtfbL0YsTlkfqUNkSWlUkBe8CFzOAnKTpn7RCjKYiyisYoxUT+6TWJI1eh6DddkR5XTsZ2RYO1X3Ai7bIr6Y61aBGm2RyvIkj7elMXqFQznHXQeJ2v2PDkCY6UeJ7CAcX58LQ/jWjB990Q==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(396003)(39860400002)(376002)(136003)(346002)(36840700001)(46966006)(5660300002)(4326008)(7696005)(478600001)(8676002)(81166007)(336012)(55016002)(82310400003)(110136005)(6506007)(36860700001)(33656002)(52536014)(47076005)(2906002)(316002)(356005)(26005)(86362001)(82740400003)(70586007)(83380400001)(70206006)(9686003)(186003)(53546011)(8936002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 12:25:08.2039
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ab4acf56-c1d6-4e45-6163-08d963d58c5b
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT044.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB1968

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMjDml6UgMTk6MjkN
Cj4gVG86IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgeGVuLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnOw0KPiBzc3RhYmVsbGluaUBrZXJuZWwub3JnDQo+IENjOiBCZXJ0cmFuZCBNYXJx
dWlzIDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+DQo+IFN1YmplY3Q6IFJlOiBbWEVOIFJGQyBQ
QVRDSCAxNy80MF0geGVuL2FybTogSW50cm9kdWNlIERFVklDRV9UUkVFX05VTUENCj4gS2NvbmZp
ZyBmb3IgYXJtNjQNCj4gDQo+IA0KPiANCj4gT24gMjAvMDgvMjAyMSAxMTo0OSwgV2VpIENoZW4g
d3JvdGU6DQo+ID4gSGkgSnVsaWVuLA0KPiANCj4gSGkgV2VpLA0KPiANCj4gPg0KPiA+PiAtLS0t
LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBKdWxpZW4gR3JhbGwgPGp1bGllbkB4
ZW4ub3JnPg0KPiA+PiBTZW50OiAyMDIx5bm0OOaciDIw5pelIDE2OjQxDQo+ID4+IFRvOiBXZWkg
Q2hlbiA8V2VpLkNoZW5AYXJtLmNvbT47IHhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZzsN
Cj4gPj4gc3N0YWJlbGxpbmlAa2VybmVsLm9yZzsgamJldWxpY2hAc3VzZS5jb20NCj4gPj4gQ2M6
IEJlcnRyYW5kIE1hcnF1aXMgPEJlcnRyYW5kLk1hcnF1aXNAYXJtLmNvbT4NCj4gPj4gU3ViamVj
dDogUmU6IFtYRU4gUkZDIFBBVENIIDE3LzQwXSB4ZW4vYXJtOiBJbnRyb2R1Y2UgREVWSUNFX1RS
RUVfTlVNQQ0KPiA+PiBLY29uZmlnIGZvciBhcm02NA0KPiA+Pg0KPiA+PiBPbiAyMC8wOC8yMDIx
IDAzOjMwLCBXZWkgQ2hlbiB3cm90ZToNCj4gPj4+IEhpIEp1bGllbiwNCj4gPj4NCj4gPj4gSGkg
V2VpLA0KPiA+Pg0KPiA+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+Pj4gRnJv
bTogSnVsaWVuIEdyYWxsIDxqdWxpZW5AeGVuLm9yZz4NCj4gPj4+PiBTZW50OiAyMDIx5bm0OOac
iDE55pelIDIxOjM4DQo+ID4+Pj4gVG86IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgeGVu
LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnOw0KPiA+Pj4+IHNzdGFiZWxsaW5pQGtlcm5lbC5v
cmc7IGpiZXVsaWNoQHN1c2UuY29tDQo+ID4+Pj4gQ2M6IEJlcnRyYW5kIE1hcnF1aXMgPEJlcnRy
YW5kLk1hcnF1aXNAYXJtLmNvbT4NCj4gPj4+PiBTdWJqZWN0OiBSZTogW1hFTiBSRkMgUEFUQ0gg
MTcvNDBdIHhlbi9hcm06IEludHJvZHVjZQ0KPiBERVZJQ0VfVFJFRV9OVU1BDQo+ID4+Pj4gS2Nv
bmZpZyBmb3IgYXJtNjQNCj4gPj4+Pg0KPiA+Pj4+IEhpLA0KPiA+Pj4+DQo+ID4+Pj4gT24gMTEv
MDgvMjAyMSAxMToyNCwgV2VpIENoZW4gd3JvdGU6DQo+ID4+Pj4+IFdlIG5lZWQgYSBLY29uZmln
IG9wdGlvbiB0byBkaXN0aW5ndWlzaCB3aXRoIEFDUEkgYmFzZWQNCj4gPj4+Pj4gTlVNQS4gU28g
d2UgaW50cm9kdWNlIHRoZSBuZXcgS2NvbmZpZyBvcHRpb246DQo+ID4+Pj4+IERFVklDRV9UUkVF
X05VTUEgaW4gdGhpcyBwYXRjaCBmb3IgQXJtNjQuDQo+ID4+Pj4+DQo+ID4+Pj4+IFNpZ25lZC1v
ZmYtYnk6IFdlaSBDaGVuIDx3ZWkuY2hlbkBhcm0uY29tPg0KPiA+Pj4+PiAtLS0NCj4gPj4+Pj4g
ICAgIHhlbi9hcmNoL2FybS9LY29uZmlnIHwgMTAgKysrKysrKysrKw0KPiA+Pj4+PiAgICAgMSBm
aWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKykNCj4gPj4+Pj4NCj4gPj4+Pj4gZGlmZiAtLWdp
dCBhL3hlbi9hcmNoL2FybS9LY29uZmlnIGIveGVuL2FyY2gvYXJtL0tjb25maWcNCj4gPj4+Pj4g
aW5kZXggZWNmYTY4MjJlNC4uNjc4Y2M5OGVhMyAxMDA2NDQNCj4gPj4+Pj4gLS0tIGEveGVuL2Fy
Y2gvYXJtL0tjb25maWcNCj4gPj4+Pj4gKysrIGIveGVuL2FyY2gvYXJtL0tjb25maWcNCj4gPj4+
Pj4gQEAgLTMzLDYgKzMzLDE2IEBAIGNvbmZpZyBBQ1BJDQo+ID4+Pj4+ICAgICAJICBBZHZhbmNl
ZCBDb25maWd1cmF0aW9uIGFuZCBQb3dlciBJbnRlcmZhY2UgKEFDUEkpIHN1cHBvcnQNCj4gPj4g
Zm9yIFhlbg0KPiA+Pj4+IGlzDQo+ID4+Pj4+ICAgICAJICBhbiBhbHRlcm5hdGl2ZSB0byBkZXZp
Y2UgdHJlZSBvbiBBUk02NC4NCj4gPj4+Pj4NCj4gPj4+Pj4gK2NvbmZpZyBERVZJQ0VfVFJFRV9O
VU1BDQo+ID4+Pj4NCj4gPj4+PiBUaGUgbmFtZSBzdWdnZXN0cyB0aGF0IE5VTUEgc2hvdWxkIG9u
bHkgYmUgZW5hYmxlZCBmb3IgRGV2aWNlLVRyZWUuLi4NCj4gPj4+PiBCdXQgdGhlIGRlc2NyaXB0
aW9uIGxvb2tzIGdlbmVyaWMuDQo+ID4+Pj4NCj4gPj4+PiBIb3dldmVyLCBJIHRoaW5rIHRoZSB1
c2VyIHNob3VsZCBvbmx5IGhhdmUgdGhlIGNob2ljZSB0byBzYXkgd2hldGhlcg0KPiA+Pj4+IHRo
ZXkgd2FudCBOVU1BIHRvIGJlIGVuYWJsZWQgb3Igbm90LiBXZSBzaG91bGQgbm90IGdpdmUgdGhl
bSB0aGUNCj4gY2hvaWNlDQo+ID4+Pj4gdG8gZW5hYmxlL2Rpc2FibGUgdGhlIHBhcnNpbmcgZm9y
IERUL0FDUEkuDQo+ID4+Pj4NCj4gPj4+PiBTbyB3ZSBzaG91bGQgaGF2ZSBhIGdlbmVyaWMgY29u
ZmlnIHRoYXQgd2lsbCB0aGVuIHNlbGVjdCBEVCAoYW5kIEFDUEkNCj4gPj4gaW4NCj4gPj4+PiB0
aGUgZnV0dXJlKS4NCj4gPj4+Pg0KPiA+Pj4NCj4gPj4+IEhvdyBhYm91dCB3ZSBzZWxlY3QgRFRf
TlVNQSBkZWZhdWx0IG9uIEFybTY0LiBBbmQgRFRfTlVNQSBzZWxlY3QgTlVNQQ0KPiA+Pj4gbGlr
ZSB3aGF0IHdlIGhhdmUgZG9uZSBpbiBwYXRjaCM2IGluIHg4Nj8gQW5kIHJlbW92ZSB0aGUgZGVz
Y3JpcHRpb24/DQo+ID4+IEkgd291bGQgcmF0aGVyIG5vdCBtYWtlIE5VTUEgc3VwcG9ydGVkIGJ5
IGRlZmF1bHQgb24gQXJtNjQuIEluc3RlYWQsIHdlDQo+ID4+IHNob3VsZCBnbyB0aHJvdWdodCB0
aGUgc2FtZSBwcm9jZXNzIGFzIG90aGVyIG5ldyBmZWF0dXJlcyBhbmQgZ2F0ZSBpdA0KPiA+PiBi
ZWhpbmQgVU5TVVBQT1JURUQgdW50aWwgaXQgaXMgbWF0dXJlIGVub3VnaC4NCj4gPj4NCj4gPg0K
PiA+IE9rLiBJIGFncmVlIHdpdGggdGhpcy4NCj4gPg0KPiA+Pj4NCj4gPj4+IElmIHdlIG1ha2Ug
Z2VuZXJpYyBOVU1BIGFzIGEgc2VsZWN0YWJsZSBvcHRpb24sIGFuZCBkZXBlbmRzIG9uDQo+ID4+
PiBOVU1BIHRvIHNlbGVjdCBEVCBvciBBQ1BJIE5VTUEuIEl0IHNlZW1zIHRvIGJlIHF1aXRlIGRp
ZmZlcmVudCBmcm9tDQo+ID4+PiB0aGUgZXhpc3RpbmcgbG9naWM/DQo+ID4+DQo+ID4+IEkgYW0g
YSBiaXQgY29uZnVzZWQuIFlvdSBhZGRlZCBqdXN0IGxvZ2ljIHRvIHNlbGVjdCBOVU1BIGZyb20g
QUNQSSwNCj4gPj4gcmlnaHQ/IFNvIGFyZSB5b3UgdGFsa2luZyBhYm91dCBhIGRpZmZlcmVudCBs
b2dpYz8NCj4gPj4NCj4gPg0KPiA+IE5vLCBJIGRpZG4ndCB3YW50IGEgZGlmZmVyZW50IG9uZS4g
SSB0aG91Z2h0IHlvdSB3YW50ZWQgaXQgdGhhdCB3YXkuDQo+ID4gT2J2aW91c2x5LCBJIG1pcy11
bmRlcnN0YW5kZWQgeW91ciBjb21tZW50cy4NCj4gPg0KPiA+IENhbiBJIHVuZGVyc3RhbmQgeW91
ciBwcmV2aW91cyBjb21tZW50cyBsaWtlIGZvbGxvd2luZzoNCj4gPiAxLiBXZSBzaG91bGQgaGF2
ZSBhIGdlbmVyaWMgY29uZmlnIHRoYXQgd2lsbCB0aGVuIHNlbGVjdCBEVCBhbmQgQUNQSToNCj4g
PiAgICAgQmVjYXVzZSB3ZSBhbHJlYWR5IGhhdmUgQ09ORklHX05VTUEgaW4gY29tbW9uIGxheWVy
LiBTbyB3ZSBuZWVkIHRvDQo+ID4gICAgIGFkZCBhbm90aGVyIG9uZSBmb3IgQXJtIGxpa2UgQ09O
RklHX0FSTV9OVU1BPw0KPiANCj4gSSB0aGluayBzby4NCj4gDQo+ID4gICAgIEFuZCBpbiB0aGlz
IG9wdGlvbiwgd2UgY2FuIHNlbGVjdCBDT05GSUdfREVWSUNFX1RSRUVfTlVNQQ0KPiA+ICAgICBh
dXRvbWF0aWNhbGx5IGlmIGRldmljZSB0cmVlIGlzIGVuYWJsZWQuIElmIENPTkZJR19BQ1BJDQo+
ID4gICAgIGlzIGVuYWJsZWQsIHdlIHdpbGwgc2VsZWN0IENPTkZJR19BQ1BJX05VTUEgdG9vIChp
biB0aGUNCj4gPiAgICAgZnV0dXJlKQ0KPiA+ICAgICBJbiBYZW4gY29kZSwgRFRfTlVNQSBhbmQg
QUNQSV9OVU1BIGNvZGUgY2FuIGNvLWV4aXN0LCBYZW4NCj4gDQo+IERpc3RyaWJ1dGlvbnMgc2hv
dWxkIG5vdCBoYXZlIHRvIGJ1aWxkIGEgZGlmZmVyZW50IFhlbiBmb3IgRFQgYW5kIEFDUEkuDQo+
IFNvIGl0IGlzIG1vcmUgdGhleSAqbXVzdCogY28tZXhpc3QuDQo+IA0KPiA+ICAgICB3aWxsIGNo
ZWNrIHRoZSBzeXN0ZW0gQUNQSSBzdXBwb3J0IHN0YXR1cyB0byBkZWNpZGUgdG8gdXNlDQo+ID4g
ICAgIERUX05VTUEgb3IgQUNQSV9OVU1BPw0KPiANCj4gWWVzLiBBIHVzZXIgc2hvdWxkIG9ubHkg
aGF2ZSB0byBzYXkgIkkgd2FudCB0byB1c2UgTlVNQSIuIFRoaXMgaXMgWGVuIHRvDQo+IGZpZ3Vy
ZSBvdXQgd2hldGhlciB3ZSBuZWVkIHRvIGNvbXBpbGUgdGhlIHN1cHBvcnQgZm9yIERUIGFuZC9v
ciBBQ1BJLg0KPiANCj4gT25jZSB3ZSBoYXZlIHN1cHBvcnQgZm9yIEFQQ0ksIGl0IGRvZXNuJ3Qg
bWFrZSBhIGxvdCBvZiBzZW5zZSBmb3IgdGhlDQo+IHVzZXJzIHRvIHNheSAiSSB3YW50IHRvIGNv
bXBpbGUgd2l0aCBEVCBhbmQgQUNQSSBidXQgSSBvbmx5IHdhbnQgTlVNQQ0KPiB3aGVuIHVzaW5n
IERUIi4NCj4gDQoNCkkgYW0gZ2xhZCB3ZSBhcmUgbm93IGluIHRoZSBzYW1lIHBhZ2UuIE9rLCBJ
IHdpbGwgY2hhbmdlIHRoZSBLY29uZmlnDQpsaWtlIHRoaXMgaW4gbmV4dCB2ZXJzaW9uLg0KDQo+
IENoZWVycywNCj4gDQo+IC0tDQo+IEp1bGllbiBHcmFsbA0K


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 13:06:26 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 13:06:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169531.309684 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH4Dq-0003ZM-5v; Fri, 20 Aug 2021 13:06:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169531.309684; Fri, 20 Aug 2021 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 1mH4Dq-0003ZF-2l; Fri, 20 Aug 2021 13:06:10 +0000
Received: by outflank-mailman (input) for mailman id 169531;
 Fri, 20 Aug 2021 13:06:09 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5+ZW=NL=arm.com=Rahul.Singh@srs-us1.protection.inumbo.net>)
 id 1mH4Dp-0003Z7-7G
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 13:06:09 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com (unknown
 [40.107.6.46]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id f0346276-6c64-414a-b69c-963f65ee11d9;
 Fri, 20 Aug 2021 13:06:06 +0000 (UTC)
Received: from AS8P189CA0011.EURP189.PROD.OUTLOOK.COM (2603:10a6:20b:31f::24)
 by AS8PR08MB5941.eurprd08.prod.outlook.com (2603:10a6:20b:296::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 20 Aug
 2021 13:06:05 +0000
Received: from AM5EUR03FT048.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:31f:cafe::be) by AS8P189CA0011.outlook.office365.com
 (2603:10a6:20b:31f::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Fri, 20 Aug 2021 13:06:05 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT048.mail.protection.outlook.com (10.152.17.177) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Fri, 20 Aug 2021 13:06:04 +0000
Received: ("Tessian outbound 5918cb94a4b5:v103");
 Fri, 20 Aug 2021 13:06:04 +0000
Received: from 9ad05df75efd.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 0439DFAB-5C7A-4EB2-A06E-06C3EDF81900.1; 
 Fri, 20 Aug 2021 13:05:53 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 9ad05df75efd.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 20 Aug 2021 13:05:53 +0000
Received: from AS8PR08MB6919.eurprd08.prod.outlook.com (2603:10a6:20b:39e::10)
 by AM6PR08MB2998.eurprd08.prod.outlook.com (2603:10a6:209:4e::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.19; Fri, 20 Aug
 2021 13:05:50 +0000
Received: from AS8PR08MB6919.eurprd08.prod.outlook.com
 ([fe80::6c11:19f8:1422:5dea]) by AS8PR08MB6919.eurprd08.prod.outlook.com
 ([fe80::6c11:19f8:1422:5dea%3]) with mapi id 15.20.4436.019; Fri, 20 Aug 2021
 13:05: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: f0346276-6c64-414a-b69c-963f65ee11d9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FqrVtcr6wLbX1KQ7cYlGpgqKPkszw2NQrxQhSgXwnYU=;
 b=NIbScfFgn1GxShczIo2+8D4G0nqYWV5sTBsawcoLgEdQ5DlhcCJUe0ltULcIXk2tpujA6QY0UF9jRYJ1EcW9x7R6Ufudpp4+RICLpxPtr+Bz3583UQzdEqSzGD73RHG9kSciaCFBqewVjZ0oVyx4uynm2BC6deEf2Gmf37RZ+WQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 4919e0ea9a67cd8d
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AaDbaOnGXrYYSVMoO4rjcotrW91ccUT3ttDqKN1DppgcREYdH0QFl4IpPZDv0GnneC5bmG1Dw5tvKvEQuw32stDSJIyw4V6wIEmIwEyWbSx4/sXx65ZBQWkg3g2hAWGSzB6vtdhOFIr1uhZve8atBi4TFwfkJrtBlZDnmpfItRW0bXHhKFm+KygP8BGGXTotiEWumyLVCD02/Fdx6FgCICB5SXp3369M2W2WnRMzXBlKU72dAaDzyxlJSCgb7PNDXH07BR3ScgR9HCZplSHJhcq1QmWMiQu5z35CktnAkmL1clW6P931K6DsCdecl1cgfsroL669C+ekNiQraNa1wg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FqrVtcr6wLbX1KQ7cYlGpgqKPkszw2NQrxQhSgXwnYU=;
 b=bBqYajnTrtQQbSwQcud3NJlNGnOF74VIJuFlsArUwvDQK0v3jfGbYBmxKQ4jhSJCA6bmziTdcYDQJmkSkWOotnXtu7TJI6U3Gp6sYLC2nMYZcdDg2Mt6OuMCpn347t4X6k957DuDggX8tPJWxKetkHQIT3+/twMqSbIpiQpfkW3srjM5j60+jTD63LMmsHJxXyKGJHuzCzoeI/ZkCj2yXc7GqOZwrA+EF8tR6atjdv0m8vceY5AP8FRcEDn7ZP0WDtHrm2OAJAEn3xreOXLp8fXQncmbaqXqAhnBXNq0W1xIfw/DG+4CxXo6GxAOIIHZ9bVGKDI1vZcLd5nK2FsGwA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FqrVtcr6wLbX1KQ7cYlGpgqKPkszw2NQrxQhSgXwnYU=;
 b=NIbScfFgn1GxShczIo2+8D4G0nqYWV5sTBsawcoLgEdQ5DlhcCJUe0ltULcIXk2tpujA6QY0UF9jRYJ1EcW9x7R6Ufudpp4+RICLpxPtr+Bz3583UQzdEqSzGD73RHG9kSciaCFBqewVjZ0oVyx4uynm2BC6deEf2Gmf37RZ+WQ=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Julien Grall <julien@xen.org>
CC: xen-devel <xen-devel@lists.xenproject.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Jan Beulich
	<jbeulich@suse.com>
Subject: Re: [PATCH v1 10/14] xen/arm: Discovering PCI devices and add the PCI
 devices in XEN.
Thread-Topic: [PATCH v1 10/14] xen/arm: Discovering PCI devices and add the
 PCI devices in XEN.
Thread-Index: AQHXlPLlKrcwY4kSPU6FlkOop/ITjqt6w4oAgAGawgA=
Date: Fri, 20 Aug 2021 13:05:50 +0000
Message-ID: <E548F212-5F94-420F-A812-D370052993AF@arm.com>
References: <cover.1629366665.git.rahul.singh@arm.com>
 <a7fa6f626b0852c7859fe8d64b01293d1aa8fc0e.1629366665.git.rahul.singh@arm.com>
 <367ea162-9afb-1e30-860a-117abaf38867@xen.org>
In-Reply-To: <367ea162-9afb-1e30-860a-117abaf38867@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 4120bdb4-b7f5-461e-b7b8-08d963db4475
x-ms-traffictypediagnostic: AM6PR08MB2998:|AS8PR08MB5941:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AS8PR08MB5941EA4FA840E81904409486FCC19@AS8PR08MB5941.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:3383;OLM:3383;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 hCPjk9IbL2YzqwThKQvZZjX34wKQrUrNtDBPXbKr3VEQSOT219MN+LYbFDbK2xrEKXO+UGGaq1k2N59RYkOugGibJdh800CTCztSEaYZrj8KLLXwPdsr7utb0HjgzgSbwr/TaXrR/sZzjcIxZ8Ec571bFXR6QUT9q01kB0XiWBgFI0kQKYd+xrw9UeBLA23evN9QFYVtVNy2Z4/E8qqoCoZfOMGGNRrpdeYelkhTkq3hGtlSgPCyPL65JdlCOwOBoIrTl7LmE/wppOj+O37FadfZqTARoEKfiX3G1E2R19F4LDeYfrWpSCkOT3KaZQWGY1AIEugtSGJoGpsUidi8xW2Ef6t3k37lNj1vkTdAphQnTZh/gWSyT73pf5O8kRw2dmkdETD2jKBmwM5yfUcek6v7EXxYwNDZ9Vsqb1OXnahE4I5By5vdhER3Oq76iJGzdum6ipZnKoNUHL3VBanXKM1N49cWIuQqapC3g1LLKyooKH4tYNsDNg9YEAryBJW2GLiYlHSBmLlmzzVBaTelD4V+jZZ6uy6L/r4IReehvsuKiKe3EIaGoYR6dk2C+VGB4AKIqXJKW5PqYbdI4xHVnZulUc+KbXnpCMr4QsKvD/MIcm9zeeOISw2EDm17JDdE4MGZzUkMkrU0kKeJbroBQLvIKnr6Na1S7I1NxWvJdqRPsn0XTB4hU+vqWdm+g0rcX/VIfX9/87R/Zx/BxN4I9wmXiiSVSJRaBokHoVdqCkGG6XVRSxbyMtyh84mKmkuv
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB6919.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(376002)(396003)(136003)(39860400002)(346002)(366004)(6916009)(2906002)(64756008)(38070700005)(8936002)(186003)(66946007)(26005)(91956017)(478600001)(83380400001)(66446008)(6506007)(122000001)(53546011)(4326008)(76116006)(33656002)(86362001)(316002)(71200400001)(8676002)(38100700002)(54906003)(6486002)(2616005)(6512007)(36756003)(5660300002)(66556008)(66476007)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?OfmdlTtI65+Iyt3HpmCRK21NFwHhr1k7eQkh3PjPqJOg5LQD7mGKG7C7a2de?=
 =?us-ascii?Q?uTwaIuNWSrfi8AM7+dSLiObhcAMrrCkkE4AaDPpJ2075kq8zu7mkXDh7N6l0?=
 =?us-ascii?Q?aT/t3fQZAQ3ck/qAr7sfjlBnHxtEe2WCizDt2OXh5G737vCDbHgP8VbVO3+w?=
 =?us-ascii?Q?l0dZJQ4SWcTcSaTvgcWf2Rihiq6yumNsj1Cb1SiIH1XDFqFywR0sGhzWDxVT?=
 =?us-ascii?Q?fcRYtc4wjO15IyJx76gNbZL9BIb5VTfaXYgf6verigq3zDZyhxRFwOf0MRrS?=
 =?us-ascii?Q?C5eQ/4hV1X23VX1irJz/j0qvkH0QON2z6ie4Vm6JYELP4SwQngHAHaQngMAN?=
 =?us-ascii?Q?YqjuHUDava7PlsFhOB7FTEMYmcoLW8KqBLNUBraFLKHfFCKG2F9iWb//h5QI?=
 =?us-ascii?Q?h4QYrqmMKD9MD5M+I5Y3pcAs1l//0zzXSNTnKFGzwbHCoifcdfAC0VCiGUTb?=
 =?us-ascii?Q?2nZlXJf60qmb0pEa+2k0G4e+8XdlD1UFEijS0anFXq8L3NCR6PG/y/Dh+H0F?=
 =?us-ascii?Q?84l6Ed8MgnRUpmWz6E0UFdppJL0c44dsfwH5HMX5rw+X2kAbhDCRfhAgtm8+?=
 =?us-ascii?Q?rFRq8+LSMlB+jba7BhKBsixNie+A3rMi6nUxt4ybfsz3S4i3Y5Ykiv4gDqYQ?=
 =?us-ascii?Q?He70R7XIpjTZbl90jGkciDH12LXlTTXIEP5EQmpO9D/Ob/a++hh001JXl3xl?=
 =?us-ascii?Q?YNvqNbRI8EZ05eYzFhk+Yax/R+Dv/91MpB60DayTZojGywPDcurwbVN3NVAW?=
 =?us-ascii?Q?y02JiXrhEMTmhMWqqnugx5P2xwLCRDJRQTaaGMnxj2M3cu+7T+J3Gll6cKBs?=
 =?us-ascii?Q?aLV/v/Tid1mTqNLVQbmsGqzml64HOCRg9ySMoo1FrW/imjTM0ddWqEj+h/uG?=
 =?us-ascii?Q?CKGvtskL4ImfSlafsUGBDYUfxt63LG7KNhzHfChj4SZroH0lmiyE30Cu6W1o?=
 =?us-ascii?Q?bmuQPkFKm1nIn/mEJHUo7lTDXllyER9hI1hhcQfXajHoCr0YXn+kyZYm+1BX?=
 =?us-ascii?Q?YKFAm2Mp5cbxvhu2fzLa0SLWc0uflvYJwbQ3qGueBDWse7RHmwT3BGsDI0MX?=
 =?us-ascii?Q?LyWYwaX9S7+Kc2bhy/UscHyxXFJ4bevtEqIwDnE7JEwbpvqePsjtlyjgEmls?=
 =?us-ascii?Q?Uyiww8hvfYsi/JyzP33QDLSR/MV65MrCvBQh+m5Qwxg+2PwC32ZD5Zra9Qv6?=
 =?us-ascii?Q?9Uis8vnqxRgtZxiRrYF+AH6i5RtyNZhl3uKPttPQ07pb5Wm49PCUVdFZlTHn?=
 =?us-ascii?Q?Uuknx1DNFibemsPatwt0Eu5PEyVLNnQqNj6hTI2b/uSyI+g7rQP1sQDCyB3N?=
 =?us-ascii?Q?FpgJBKcvUGu5pTDP/+x71lUC?=
Content-Type: text/plain; charset="us-ascii"
Content-ID: <535EC22978F95D48BCDAD86090F0EA39@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB2998
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT048.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	d169332b-7ee9-417c-48fd-08d963db3c1e
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	W2vGn29Q4kgQEzFUtQKTIDHAmyZKMIg19TVJbNyGRimtHr7TzzbKBX5zCiAlaoKF9QgzDA3SEiDpIAlVsrCRMGOEalPwcaeaLV4bD0nsFSUohfOidYnyFlM5uTQhOnecFlWalGJFDOt+X+gCDt9UahaPTR2YSwysp3XHACf/qGMO2NZ9O4h0AxtIshU00yP30u/pFCFP+7KcNJhhlhQAJM4oiz05eTMn78+mMi7gn/fh4SO4EohKgmhZOhQM/okqEeKEnC+SJdD9vjib3pFDaSB7x51qFhMcICVwWApcTAqyLhdkYoLpVp+AnHxL1MW+0Cnl5JkfJaQhqNZrnNE4GOfGtwBdC1pdBHpHEEmGI6HEwnBUdTHuiJPSi7FgUXpEpEGfRns9OlVyqOz/ryojit3yenPiFrAf/cpDGyLgs3CSe5F0QaVYWhEiIeXqoiSOHJ42T6GXgSGrltAotezs0hGbI47JrwaW40TZ7Pj3eZtIaorvR88NqJAVXGUFR88rkwVRhSju2zk2GJhVMQDX1KSPLEszbZ631qwgIYOemihr9SRQNlpozGCNohBQYYJAeuStukPLs6cVaO2yI7MbQrj0cltuHjFwKF9xgVrB0d/lOGwbvT7RYCk5H8SIl+JdlpumkMu9qmcl/bniMqjtLWKtt8cqgBp3kXzQN1RDsenAkdMuyeYtg6levcXe1O0FwcucAcOwrJIVStHTA/kpSA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(36840700001)(46966006)(26005)(83380400001)(6512007)(70586007)(508600001)(2906002)(8676002)(107886003)(356005)(36860700001)(70206006)(53546011)(36756003)(186003)(6506007)(6486002)(33656002)(8936002)(54906003)(4326008)(336012)(5660300002)(316002)(82310400003)(86362001)(2616005)(47076005)(6862004)(81166007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 13:06:04.6649
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4120bdb4-b7f5-461e-b7b8-08d963db4475
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT048.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB5941

Hi Julien,

> On 19 Aug 2021, at 1:35 pm, Julien Grall <julien@xen.org> wrote:
>=20
> (+ Jan)
>=20
> Hi Rahul,
>=20
> On 19/08/2021 13:02, Rahul Singh wrote:
>> Hardware domain is in charge of doing the PCI enumeration and will
>> discover the PCI devices and then will communicate to XEN via hyper
>> call PHYSDEVOP_pci_device_add to add the PCI devices in XEN.
>=20
> There are other PHYSDEVOP operations to add PCI devices. I think it is fi=
ne to only implement the latest (CC Jan for some opinion and confirm this i=
s the latest). However, this ought to be explained in the commit message.

As per Jan comments I will add the PHYSDEVOP_pci_device_remove() in the nex=
t version.
>=20
> Also, public/arch-arm.h will need to be updated as we now support the PHY=
SDEVOP hypercall.

Ok.
>=20
>> Signed-off-by: Rahul Singh <rahul.singh@arm.com>
>> ---
>>  xen/arch/arm/physdev.c | 39 ++++++++++++++++++++++++++++++++++++---
>>  1 file changed, 36 insertions(+), 3 deletions(-)
>> diff --git a/xen/arch/arm/physdev.c b/xen/arch/arm/physdev.c
>> index e91355fe22..ccce8f0eba 100644
>> --- a/xen/arch/arm/physdev.c
>> +++ b/xen/arch/arm/physdev.c
>> @@ -9,12 +9,45 @@
>>  #include <xen/errno.h>
>>  #include <xen/sched.h>
>>  #include <asm/hypercall.h>
>> -
>> +#include <xen/guest_access.h>
>> +#include <xsm/xsm.h>
>>    int do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>>  {
>> -    gdprintk(XENLOG_DEBUG, "PHYSDEVOP cmd=3D%d: not implemented\n", cmd=
);
>> -    return -ENOSYS;
>> +    int ret =3D 0;
>> +
>> +    switch ( cmd )
>> +    {
>> +#ifdef CONFIG_HAS_PCI
>> +    case PHYSDEVOP_pci_device_add: {
>> +        struct physdev_pci_device_add add;
>> +        struct pci_dev_info pdev_info;
>> +        nodeid_t node =3D NUMA_NO_NODE;
>> +
>> +        ret =3D -EFAULT;
>> +        if ( copy_from_guest(&add, arg, 1) !=3D 0 )
>> +            break;
>> +
>> +        pdev_info.is_extfn =3D !!(add.flags & XEN_PCI_DEV_EXTFN);
>> +        if ( add.flags & XEN_PCI_DEV_VIRTFN )
>> +        {
>> +            pdev_info.is_virtfn =3D 1;
>> +            pdev_info.physfn.bus =3D add.physfn.bus;
>> +            pdev_info.physfn.devfn =3D add.physfn.devfn;
>> +        }
>> +        else
>> +            pdev_info.is_virtfn =3D 0;
>> +
>> +        ret =3D pci_add_device(add.seg, add.bus, add.devfn, &pdev_info,=
 node);
>> +        break;
>> +    }
>=20
> This is pretty much a copy of the x86 version without the NUMA bit. So I =
think we want to move the implementation in common code.

Ok. Let me move the PHYSDEVOP_pci_device_* to common code.

Regards,
Rahul



From xen-devel-bounces@lists.xenproject.org Fri Aug 20 13:11:37 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 13:11:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169536.309695 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH4J3-00057V-Qn; Fri, 20 Aug 2021 13:11:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169536.309695; Fri, 20 Aug 2021 13:11:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH4J3-00057O-Nf; Fri, 20 Aug 2021 13:11:33 +0000
Received: by outflank-mailman (input) for mailman id 169536;
 Fri, 20 Aug 2021 13:11:32 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+YXI=NL=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mH4J2-00057I-Kr
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 13:11:32 +0000
Received: from mail-pf1-x42a.google.com (unknown [2607:f8b0:4864:20::42a])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id d7f30fdc-386a-43f1-a446-c89ba651feed;
 Fri, 20 Aug 2021 13:11:31 +0000 (UTC)
Received: by mail-pf1-x42a.google.com with SMTP id w68so8553471pfd.0
 for <xen-devel@lists.xenproject.org>; Fri, 20 Aug 2021 06:11:31 -0700 (PDT)
Received: from ?IPv6:2404:f801:0:5:8000::50b? ([2404:f801:9000:18:efec::50b])
 by smtp.gmail.com with ESMTPSA id
 z2sm8304603pgb.33.2021.08.20.06.11.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 20 Aug 2021 06:11: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: d7f30fdc-386a-43f1-a446-c89ba651feed
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=DumM/jSCQ5pQ9eZgFpU+0KewnSiWRI7kODNq3MVNO9E=;
        b=Lxpe8djYypSrG+rDhdI8Zj8XoAi8qqQia8zhwT4UV3xhiowgSs10jy3AgDNzKEDEyF
         2GuLbi9GVVFcjh9UlMDL9KUW8QrzZktPvIUcY7JQUGRvDt+fa7vHuxhyvZAdvey3t4ob
         hD12I6HXHDrZkRjMhWqSXBvFA8t0l/nORUqxhobI5jL9kGkFeKuaLFh4hExMg94Nn/+Y
         ZX0iJa6zVUQl4P3W+vN6fOmLG2tonMXiCheuMNI43YhxqI96dxD+FKqPHJQaTLtG54GP
         oe6y5RcUvG1ZNewnn9OX4H8s3Nmh0Ni6Kg3bG+ljwBTTlaL4sNTRBPgI879siMp4TQte
         F+eA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=DumM/jSCQ5pQ9eZgFpU+0KewnSiWRI7kODNq3MVNO9E=;
        b=MjOa239vAYQYv4Ofu+GzIJSuQQLeCEX/MgRZ1/bF6tEw/+2ZIfJQnVsmiWaM8Wkadg
         wd37djqwlFqo5D4U7sxAWYfYdO3N/XPwZ7KsQG+DdKNiAI1GzHMnA0K08Jub+c24IhfD
         ftCY+fxcGnpOIrOv3euaMKBNW+G99v+dCAG/dNeWU7IYOtubzFEjiVVYujgLz++wrX+x
         nwnn/q0+211b0+Bu3ixc1pK0sP92EDK4Bj5fxR2W2zUYtcY1FEazhQLo/iL1j7C5H/d6
         kF1xaRf/cpd6y6VwM7c01gVvrUudmltdm9oBZs4EkUfJhVQUW3kmsLfdR2Q1PuzyJt1e
         VG3A==
X-Gm-Message-State: AOAM533yjtwpz38pDkBG6wum/8p7rkboaC97+gKRNS7MTPwS/9ESGWTU
	HSvTtEQJErZc40Wi5kebROc=
X-Google-Smtp-Source: ABdhPJxylFQdwesAZv+5jXWctSOyZLpktCQebAX+HYEeyV7Dv3stIO/u8x8uQwcYBOXvuYmq81vLhg==
X-Received: by 2002:aa7:95a6:0:b0:3e0:efe2:83ee with SMTP id a6-20020aa795a6000000b003e0efe283eemr19334679pfk.36.1629465090875;
        Fri, 20 Aug 2021 06:11:30 -0700 (PDT)
Subject: Re: [PATCH V3 12/13] HV/Netvsc: Add Isolation VM support for netvsc
 driver
To: "hch@lst.de" <hch@lst.de>, Michael Kelley <mikelley@microsoft.com>
Cc: KY Srinivasan <kys@microsoft.com>, Haiyang Zhang
 <haiyangz@microsoft.com>, Stephen Hemminger <sthemmin@microsoft.com>,
 "wei.liu@kernel.org" <wei.liu@kernel.org>, Dexuan Cui <decui@microsoft.com>,
 "tglx@linutronix.de" <tglx@linutronix.de>,
 "mingo@redhat.com" <mingo@redhat.com>, "bp@alien8.de" <bp@alien8.de>,
 "x86@kernel.org" <x86@kernel.org>, "hpa@zytor.com" <hpa@zytor.com>,
 "dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
 "luto@kernel.org" <luto@kernel.org>,
 "peterz@infradead.org" <peterz@infradead.org>,
 "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
 "boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>,
 "jgross@suse.com" <jgross@suse.com>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>,
 "joro@8bytes.org" <joro@8bytes.org>, "will@kernel.org" <will@kernel.org>,
 "davem@davemloft.net" <davem@davemloft.net>,
 "kuba@kernel.org" <kuba@kernel.org>, "jejb@linux.ibm.com"
 <jejb@linux.ibm.com>, "martin.petersen@oracle.com"
 <martin.petersen@oracle.com>, "arnd@arndb.de" <arnd@arndb.de>,
 "m.szyprowski@samsung.com" <m.szyprowski@samsung.com>,
 "robin.murphy@arm.com" <robin.murphy@arm.com>,
 "thomas.lendacky@amd.com" <thomas.lendacky@amd.com>,
 "brijesh.singh@amd.com" <brijesh.singh@amd.com>,
 "ardb@kernel.org" <ardb@kernel.org>, Tianyu Lan <Tianyu.Lan@microsoft.com>,
 "pgonda@google.com" <pgonda@google.com>,
 "martin.b.radev@gmail.com" <martin.b.radev@gmail.com>,
 "akpm@linux-foundation.org" <akpm@linux-foundation.org>,
 "kirill.shutemov@linux.intel.com" <kirill.shutemov@linux.intel.com>,
 "rppt@kernel.org" <rppt@kernel.org>,
 "sfr@canb.auug.org.au" <sfr@canb.auug.org.au>,
 "saravanand@fb.com" <saravanand@fb.com>,
 "krish.sadhukhan@oracle.com" <krish.sadhukhan@oracle.com>,
 "aneesh.kumar@linux.ibm.com" <aneesh.kumar@linux.ibm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "rientjes@google.com" <rientjes@google.com>,
 "hannes@cmpxchg.org" <hannes@cmpxchg.org>, "tj@kernel.org" <tj@kernel.org>,
 "iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org>,
 "linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
 "linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
 "linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
 "netdev@vger.kernel.org" <netdev@vger.kernel.org>,
 vkuznets <vkuznets@redhat.com>,
 "parri.andrea@gmail.com" <parri.andrea@gmail.com>,
 "dave.hansen@intel.com" <dave.hansen@intel.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-13-ltykernel@gmail.com>
 <MWHPR21MB15936FE72E65A62FBA3EF4F2D7C09@MWHPR21MB1593.namprd21.prod.outlook.com>
 <20210820042151.GB26450@lst.de>
From: Tianyu Lan <ltykernel@gmail.com>
Message-ID: <9e4d5de1-37b3-550d-9bca-4eb158e45b33@gmail.com>
Date: Fri, 20 Aug 2021 21:11:15 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210820042151.GB26450@lst.de>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit



On 8/20/2021 12:21 PM, hch@lst.de wrote:
> On Thu, Aug 19, 2021 at 06:14:51PM +0000, Michael Kelley wrote:
>>> +	if (!pfns)
>>> +		return NULL;
>>> +
>>> +	for (i = 0; i < size / HV_HYP_PAGE_SIZE; i++)
>>> +		pfns[i] = virt_to_hvpfn(buf + i * HV_HYP_PAGE_SIZE)
>>> +			+ (ms_hyperv.shared_gpa_boundary >> HV_HYP_PAGE_SHIFT);
>>> +
>>> +	vaddr = vmap_pfn(pfns, size / HV_HYP_PAGE_SIZE, PAGE_KERNEL_IO);
>>> +	kfree(pfns);
>>> +
>>> +	return vaddr;
>>> +}
>>
>> This function appears to be a duplicate of hv_map_memory() in Patch 11 of this
>> series.  Is it possible to structure things so there is only one implementation?  In
> 
> So right now it it identical, but there is an important difference:
> the swiotlb memory is physically contiguous to start with, so we can
> do the simple remap using vmap_range as suggested in the last mail.
> The cases here are pretty weird in that netvsc_remap_buf is called right
> after vzalloc.  That is we create _two_ mappings in vmalloc space right
> after another, where the original one is just used for establishing the
> "GPADL handle" and freeing the memory.  In other words, the obvious thing
> to do here would be to use a vmalloc variant that allows to take the
> shared_gpa_boundary into account when setting up the PTEs.

The buffer is allocated via vmalloc(). It needs to be marked as host
visible via hyperv hvcall before being accessed via address space above
shared_gpa_boundary. The hvcall is called in the vmbus_establish_gpadl().

> 
> And here is somthing I need help from the x86 experts:  does the CPU
> actually care about this shared_gpa_boundary?  Or does it just matter
> for the generated DMA address?  Does somehow have a good pointer to
> how this mechanism works?
> 

The shared_gpa_boundary is vTOM feature of AMD SEV-SNP. Tom Lendacky
introduced the feature in previous mail. I copy it here and please have
a look.

 From Tom Lendacky:
IIUC, this is using the vTOM feature of SEV-SNP. When this feature is
enabled for a VMPL level, any physical memory addresses below vTOM are
considered private/encrypted and any physical memory addresses above vTOM
are considered shared/unencrypted. With this option, you don't need a
fully enlightened guest that sets and clears page table encryption bits.
You just need the DMA buffers to be allocated in the proper range above 
vTOM.

See the section on "Virtual Machine Privilege Levels" in
https://www.amd.com/system/files/TechDocs/SEV-SNP-strengthening-vm-isolation-with-integrity-protection-and-more.pdf.


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 13:31:05 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 13:31:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169544.309713 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH4bp-0007Zx-IE; Fri, 20 Aug 2021 13:30:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169544.309713; Fri, 20 Aug 2021 13: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 1mH4bp-0007Zq-E2; Fri, 20 Aug 2021 13:30:57 +0000
Received: by outflank-mailman (input) for mailman id 169544;
 Fri, 20 Aug 2021 13:30:55 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=oNJw=NL=amd.com=Thomas.Lendacky@srs-us1.protection.inumbo.net>)
 id 1mH4bn-0007Zk-Gk
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 13:30:55 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com (unknown
 [40.107.237.80]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id d75b91e6-01ba-11ec-a6bb-12813bfff9fa;
 Fri, 20 Aug 2021 13:30:54 +0000 (UTC)
Received: from BL1PR12MB5221.namprd12.prod.outlook.com (2603:10b6:208:30b::9)
 by BL0PR12MB5505.namprd12.prod.outlook.com (2603:10b6:208:1ce::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.21; Fri, 20 Aug
 2021 13:30:47 +0000
Received: from BL1PR12MB5221.namprd12.prod.outlook.com
 ([fe80::8ce1:ecac:a5bd:e463]) by BL1PR12MB5221.namprd12.prod.outlook.com
 ([fe80::8ce1:ecac:a5bd:e463%6]) with mapi id 15.20.4436.021; Fri, 20 Aug 2021
 13:30:46 +0000
Received: from office-ryzen.texastahm.com (67.79.209.213) by
 SN7PR04CA0076.namprd04.prod.outlook.com (2603:10b6:806:121::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Fri, 20 Aug 2021 13:30:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d75b91e6-01ba-11ec-a6bb-12813bfff9fa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RYbNohynw1dwZkENpWuS9EeVpZoOsCEeYwWfir8ADcGcV5qvruzikLkpnGYox0aflbY8M32/sgsF1ge170JhmsjQig1MRZBnwUeQtXhXiN/Ooj8ph06FQhj07dMMNbcPSRxoXhCc2vZam2T/m5ESVDWbciDCY7mQ+nMwlV62gYgG90HQHSwAZtZs39E7Fm27fM+oGXZE0ltbYz2jA2EFhqYR+cDxVT0i0uQQ87d7JYlfJX+ldZaDoUxBMZxqijkGbeW9xL/azb1/xk9CIqHc6nRtLvrOfoJoqPGmMhSfPtvsiELZrIDiBoCK2cgpQU2lZS8PLMUNOM9XnVPWlOP57Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=M2xoiIec73wfWq4W/xdhp0kJ0euoZbXzd3Kj0SBhyoA=;
 b=FOt1ncds7gc5flmmxmouzNnWagRE4w7c/aA6XgymUjxYuNEyLv+TiT9ZsYrBZlm8IuLEs6dK3HfyhYsojNOYlRSbKTOmXlILn/BXe29thT9M6WgGbnIS4L7f7fHt02CvZdkWXEPe0j/gUVSMchOFXgrAWEM+yd9Zoo70GdNwusEhJxug9jn7OdardKCJPdtQaHBeHgm0N4L5cX652GG4SBLh5KuJsok9zBPI03p2WfjuB2+laYl5ahfeJUWIGnqHXvQrR0bgV3RWXW/TBha1lsMAdhNcyJvIsAblp/yb4pfVreYb766NUCqzB+AeKIS1pORyPheJiyoIo0hl5+1h6w==
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=M2xoiIec73wfWq4W/xdhp0kJ0euoZbXzd3Kj0SBhyoA=;
 b=OsJlYQd1i67xL9Vk4OXig18TWdkVh1rBAGSxxV8KMtvG2i8P3wHGYouyjv+0qsudX2GKN4++xoyqU7o8IHjom+bKZVHsQmGuoqNCGG3NJmk01kL5rPpwZONDWoVVODqwRwR5ASTIwieIl4Wx5UWb6ukXn7Bq6Pc23QXU4oDT4gY=
Authentication-Results: intel.com; dkim=none (message not signed)
 header.d=none;intel.com; dmarc=none action=none header.from=amd.com;
Subject: Re: [PATCH V3 12/13] HV/Netvsc: Add Isolation VM support for netvsc
 driver
To: "hch@lst.de" <hch@lst.de>, Michael Kelley <mikelley@microsoft.com>
Cc: Tianyu Lan <ltykernel@gmail.com>, KY Srinivasan <kys@microsoft.com>,
 Haiyang Zhang <haiyangz@microsoft.com>,
 Stephen Hemminger <sthemmin@microsoft.com>,
 "wei.liu@kernel.org" <wei.liu@kernel.org>, Dexuan Cui <decui@microsoft.com>,
 "tglx@linutronix.de" <tglx@linutronix.de>,
 "mingo@redhat.com" <mingo@redhat.com>, "bp@alien8.de" <bp@alien8.de>,
 "x86@kernel.org" <x86@kernel.org>, "hpa@zytor.com" <hpa@zytor.com>,
 "dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
 "luto@kernel.org" <luto@kernel.org>,
 "peterz@infradead.org" <peterz@infradead.org>,
 "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
 "boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>,
 "jgross@suse.com" <jgross@suse.com>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>,
 "joro@8bytes.org" <joro@8bytes.org>, "will@kernel.org" <will@kernel.org>,
 "davem@davemloft.net" <davem@davemloft.net>,
 "kuba@kernel.org" <kuba@kernel.org>, "jejb@linux.ibm.com"
 <jejb@linux.ibm.com>, "martin.petersen@oracle.com"
 <martin.petersen@oracle.com>, "arnd@arndb.de" <arnd@arndb.de>,
 "m.szyprowski@samsung.com" <m.szyprowski@samsung.com>,
 "robin.murphy@arm.com" <robin.murphy@arm.com>,
 "brijesh.singh@amd.com" <brijesh.singh@amd.com>,
 "ardb@kernel.org" <ardb@kernel.org>, Tianyu Lan <Tianyu.Lan@microsoft.com>,
 "pgonda@google.com" <pgonda@google.com>,
 "martin.b.radev@gmail.com" <martin.b.radev@gmail.com>,
 "akpm@linux-foundation.org" <akpm@linux-foundation.org>,
 "kirill.shutemov@linux.intel.com" <kirill.shutemov@linux.intel.com>,
 "rppt@kernel.org" <rppt@kernel.org>,
 "sfr@canb.auug.org.au" <sfr@canb.auug.org.au>,
 "saravanand@fb.com" <saravanand@fb.com>,
 "krish.sadhukhan@oracle.com" <krish.sadhukhan@oracle.com>,
 "aneesh.kumar@linux.ibm.com" <aneesh.kumar@linux.ibm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "rientjes@google.com" <rientjes@google.com>,
 "hannes@cmpxchg.org" <hannes@cmpxchg.org>, "tj@kernel.org" <tj@kernel.org>,
 "iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org>,
 "linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
 "linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
 "linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
 "netdev@vger.kernel.org" <netdev@vger.kernel.org>,
 vkuznets <vkuznets@redhat.com>,
 "parri.andrea@gmail.com" <parri.andrea@gmail.com>,
 "dave.hansen@intel.com" <dave.hansen@intel.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-13-ltykernel@gmail.com>
 <MWHPR21MB15936FE72E65A62FBA3EF4F2D7C09@MWHPR21MB1593.namprd21.prod.outlook.com>
 <20210820042151.GB26450@lst.de>
From: Tom Lendacky <thomas.lendacky@amd.com>
Message-ID: <276f30b6-d741-f88b-ae93-f3d6653498cb@amd.com>
Date: Fri, 20 Aug 2021 08:30:40 -0500
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
In-Reply-To: <20210820042151.GB26450@lst.de>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: SN7PR04CA0076.namprd04.prod.outlook.com
 (2603:10b6:806:121::21) To BL1PR12MB5221.namprd12.prod.outlook.com
 (2603:10b6:208:30b::9)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 7f130b86-2f2b-4289-9e36-08d963deb7af
X-MS-TrafficTypeDiagnostic: BL0PR12MB5505:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS:
	<BL0PR12MB5505050EC4C321D2C86CD03AECC19@BL0PR12MB5505.namprd12.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2gfyETn3qPjvqavDCPew+TbbzgP+8XxltXMx17ZYNVD/4NlalSsAa+KKIR5Urkr1sSmB3/cwDqgdMmq/6tIOrYHz3HUDWAJ1jRNk83r8L7ctDyM5orPKlCNMPJE0k2NYF57OQkPDPQX67Z2cWpCBiFGajyWwuk5ERFLtMHAR0frKoScRPP0Ib166timsFJDDm4TIfcApAH4jBVneW2eco07NnbT8RMMS0P5zH3T4YjMtY8afcND9BJkYrLRpbOIRfq3u6mHGT8MNI/7VCMsVlSS2PRY7MQrovF9YajDJuyULwIDlDB6sn7ypAEH8lRok36nSZ1YgRkJlJREdc+hqKaQgYgWIL69OOwyNSC9OE+KAXOc2uv5TFK2ofy7YP2H2ueuPDrYSH3lVXvYfF7hGCyQzIqcUvaICv1OeePXtWS6Ca9UZG5uIhmWA7AgMHZ8Y2jJFZ+HeJSNsm5QPQrwoDiwV2kK3CIpWu4wThn57uOulGOqMfWXVkX3Jt6bVadIyHnoj/6FYbTI74Dh8kr86w6JEnzwTX/Tc34GTPethoDCh9kuVYLTNKdmaddsQ/IbVgcRi5pbEb/V/+p3BFtlAdCQc7QKzjkKmnzMVoGce4+AruedyzRFY2qttWyH3AYFcci3qlakIY1mygl4fcfzNG6YjBTAOEe9B359sdcQlR9uxhErmU2HrYhY6c5JX2XdLDgdhRnPBva7vzYeIJ+lVWnAduHgWqkhLxtMGrPYVoi28hUqIBdlWm37bQ6+fm5KONCejKiNDWleqCg0FK6JHcOkeFHG9eym4dN6mMHmbF8HDC58Be8feZt+3ShZbk0w1GZ2SNV6ZC8d6fpMsCU6LhgB7ge0ZPvT1StHBWHpv3Ms=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR12MB5221.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(376002)(39860400002)(346002)(366004)(136003)(396003)(478600001)(6486002)(26005)(31696002)(6512007)(186003)(2906002)(38100700002)(5660300002)(53546011)(6506007)(36756003)(4326008)(66946007)(966005)(86362001)(66476007)(8676002)(2616005)(7416002)(956004)(54906003)(8936002)(316002)(110136005)(83380400001)(31686004)(66556008)(7366002)(7406005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QnJtTlQzdEo1eThEUWNGZ3VZaTBsbnRkRGorRHNWVHhvN2VKdnV4cWpyaDM4?=
 =?utf-8?B?MVBIL2VnR3lRVWJiZ2ZGc081dFkrZ29pdTlvOXZZY1JoN1dSU1dqbm5VNlpB?=
 =?utf-8?B?L3dmMzVDb2MzeWVNSU02bmRydlFNRkc5WGFMMjhGanh3TzhFVzNUWnAzWXpO?=
 =?utf-8?B?YVpuTkJFQTV0aG1wL2Nmek93TVdGWGZ6R1BOcjlSdGFWNzVpOGpKYXFjak5j?=
 =?utf-8?B?WjF2ZHVuUFUzcHNXYzJvRVVkci96MWxVWmFmVnFkN2FwTzNGbjZWNmh4emFF?=
 =?utf-8?B?V0Z5NUFxRWdYREk4WDdydjJ1dnJ1ZlloSXFPTmdmYXlBZyt2aXRyVGhaM01w?=
 =?utf-8?B?VDBRUmRMSi9XTU9kMS84MFNIdG44YWVIdGdmeUpERjVpRGV5MU1ETGRVZWQy?=
 =?utf-8?B?RWRBbER3bExYU0p2SzVTSEZWZ1N0MXE0MGMvZit3NUpWbk1GdlFLT1VCY3dQ?=
 =?utf-8?B?MjFhQjlQYmM3bCtmcUYzMkJkbm5RQlhvcys2UHlUSExvZUNtWXJpc1ZGK09w?=
 =?utf-8?B?cVFDbDlTcjFUWmF6RERGZk9qQzBMcllDaytaZWk2RXZoaDROTTJjNERCS2s5?=
 =?utf-8?B?SWVtMW1xRTV5QnNoTUxTOHY5b3hxTEZjVlBtT0dCRUZGM0NsQ0ZkaUx4N010?=
 =?utf-8?B?U3JwWG01Zmo4Z0RNei9Eb0ljSjJiU3doNWoyYUljcVBBZGZqZlJwZkY2bG5h?=
 =?utf-8?B?RDhkRSttWE1zZjFUQjRDWnpDVS8wd0ozaUZKMEh6SVF1N0FqaVc4TVA3TStF?=
 =?utf-8?B?VkhXN01MSHc2eHFrZUZJMU1LOE4rUmMwT05IZnFQTG5JVlM2Mzc0TWs0Ymd6?=
 =?utf-8?B?azZTNytNS08yNkszRU9mWUVnSERGVlI3Y0dQbUVITFJRRmVUREpmQUR2L1A0?=
 =?utf-8?B?c3lYaWRVV3F0d3FRSTJ6QmdGTTBHYWlrd0hLckpHUkxCZDA4VmlQTjFEUExI?=
 =?utf-8?B?SUFxQjdSQ3pmMldEdE1OTDFEK0UyWUxBQWVBMWxKVk8yRkJubzRRSDVmalNa?=
 =?utf-8?B?dmpmem1kaVhyejE1RGpWYkNJV0dYbXpuQ1RTWXFvaHFOcTlOZ2pmbFZDNnFO?=
 =?utf-8?B?b2toU1BXU2VSRURSOXVYdDJmOGdQQis5UG9CUDVXd3VEa1paRWdtbzV1QkFx?=
 =?utf-8?B?Mjl3QXBqZm9PeUp1aWtmcTRPcjFwdjFmdTFzK3lHRjFjbmV5UHRUZkt0OGRC?=
 =?utf-8?B?eUszOHdYdUI1WlVJaU84OGJoVmJ3bzZReHZZK3ZPbXJrakl3Z1hhUG9FYVQv?=
 =?utf-8?B?RjI2WjhqZlBsZEpkbEFHT245aS9sVE5ZWEVsVUFFYlNLcDdtMWc3YXdLeEE3?=
 =?utf-8?B?aHBGZ1QxVGkxRDlxd0JLYVlXSGRFVFFzUDNTNUhxRUxWbkR6LytjYUJzMms1?=
 =?utf-8?B?NE5TeC9YcVRZRng5dmUwdzdTNUdzRVo2TkZOT1F1cUdJbE9USFVTTDV6alpl?=
 =?utf-8?B?K2lKZlhxamRiUEpKMk14aXh1RmZyK3VPb09lalJaK1RTdlhjVXBuTW0wdmhy?=
 =?utf-8?B?Uy9pamFZTDlMMGlpSitMdUpiU0lSa1ZLOVREd2hwOGt0eWZ5Q3REZGVEbnFF?=
 =?utf-8?B?WlFWTzc1L0FBWTA0MDg2NnFoeXRtbFNKeDZ5b1lmN3orNk5nQkpTZ2EyOWVV?=
 =?utf-8?B?ckJLUTdlOExXeHpSamRqa0t4aHRnUTIwblRNTDdGTUgzNXJIZEQvZVkrTnlQ?=
 =?utf-8?B?cjFrMFNxWWJPNEZLMFZ4cmRzeC9YVXN6SXAvWFlSeHl4Q2Z6cnBXbWY3RXZU?=
 =?utf-8?Q?hfuG64VcprR6WNR3AoY7QKRoELfMUz5I9Lk+qaJ?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7f130b86-2f2b-4289-9e36-08d963deb7af
X-MS-Exchange-CrossTenant-AuthSource: BL1PR12MB5221.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 13:30:46.7933
 (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: N8hF636Kko5E5awL4utZAAnAsHYUJ8Xk+OiOcjEEkkOPM6jQoYTv0V+JT3OSFZsDActObVEyU8+GN5p2WRrXMA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR12MB5505

On 8/19/21 11:21 PM, hch@lst.de wrote:
> On Thu, Aug 19, 2021 at 06:14:51PM +0000, Michael Kelley wrote:
>>> +	if (!pfns)
>>> +		return NULL;
>>> +
>>> +	for (i = 0; i < size / HV_HYP_PAGE_SIZE; i++)
>>> +		pfns[i] = virt_to_hvpfn(buf + i * HV_HYP_PAGE_SIZE)
>>> +			+ (ms_hyperv.shared_gpa_boundary >> HV_HYP_PAGE_SHIFT);
>>> +
>>> +	vaddr = vmap_pfn(pfns, size / HV_HYP_PAGE_SIZE, PAGE_KERNEL_IO);
>>> +	kfree(pfns);
>>> +
>>> +	return vaddr;
>>> +}
>>
>> This function appears to be a duplicate of hv_map_memory() in Patch 11 of this
>> series.  Is it possible to structure things so there is only one implementation?  In
> 
> So right now it it identical, but there is an important difference:
> the swiotlb memory is physically contiguous to start with, so we can
> do the simple remap using vmap_range as suggested in the last mail.
> The cases here are pretty weird in that netvsc_remap_buf is called right
> after vzalloc.  That is we create _two_ mappings in vmalloc space right
> after another, where the original one is just used for establishing the
> "GPADL handle" and freeing the memory.  In other words, the obvious thing
> to do here would be to use a vmalloc variant that allows to take the
> shared_gpa_boundary into account when setting up the PTEs.
> 
> And here is somthing I need help from the x86 experts:  does the CPU
> actually care about this shared_gpa_boundary?  Or does it just matter
> for the generated DMA address?  Does somehow have a good pointer to
> how this mechanism works?

The CPU does care. Here's some info:

APM Volume 2, Section 15.36.8:
https://www.amd.com/system/files/TechDocs/24593.pdf

AMD SEV-SNP Whitepaper, Virtual Machine Privilege Levels (~page 14):
https://www.amd.com/system/files/TechDocs/SEV-SNP-strengthening-vm-isolation-with-integrity-protection-and-more.pdf

Thanks,
Tom

> 


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 14:21:07 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 14:21:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169550.309724 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH5O9-0004sM-I7; Fri, 20 Aug 2021 14:20:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169550.309724; Fri, 20 Aug 2021 14:20:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH5O9-0004sF-E7; Fri, 20 Aug 2021 14:20:53 +0000
Received: by outflank-mailman (input) for mailman id 169550;
 Fri, 20 Aug 2021 14:20:51 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=nWHd=NL=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mH5O7-0004s9-S5
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 14:20:51 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id d16f699a-01c1-11ec-a6ce-12813bfff9fa;
 Fri, 20 Aug 2021 14:20:50 +0000 (UTC)
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur03lp2050.outbound.protection.outlook.com [104.47.9.50]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-32-CX94dqp5MuGBkQvDmqTZxg-1; Fri, 20 Aug 2021 16:20:48 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB7151.eurprd04.prod.outlook.com (2603:10a6:800:129::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 20 Aug
 2021 14:20:45 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4436.021; Fri, 20 Aug 2021
 14:20:45 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR2PR09CA0008.eurprd09.prod.outlook.com (2603:10a6:101:16::20) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Fri, 20 Aug 2021 14:20: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: d16f699a-01c1-11ec-a6ce-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629469249;
	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=yPm7/Len7OmkUoBDZ3hNIUNXpsl/z1Jj7QjqfZmQAQg=;
	b=FyZtmCqZEyf9TDZmfdrMvTFJCrjoIYJSaHA2j7jmdTrDjqc/PBntNBRn8r1QKtb4Cpvb0z
	aldcUE+kNT6zegapAAOBh9ceTyYCrjK8JbG0f29IwuAfJNbRJ7jxEDswqUxU2I/y8G/iVW
	eQChbOW8bjLXqsnaM6+fUAP9JCCwIpI=
X-MC-Unique: CX94dqp5MuGBkQvDmqTZxg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Q/NDS8T5yiKNY4jm6Gdh0uul2N9K/7XiPGQmekecLqxtfRP155CduaEV6nTevKg/LGKzAempVIKTIYnxoKhQEzNSvEkpFHY2C4Dx4aFBDf6nIoFQx3tum+TjPCjOh+c7Pu2S/O7AD9srIgKD51FYPxVDWzK1XnwQncbGo+RN2q8n8g0fruCKWIX5N/5mZnxcUEzB+XXlszWtgHVHXPxEha/8EdzsZQ4M1sGJp9qklZueBxgkl7E/wP14Y1ZMBFsINFVoFmceByzLB9qsSLv7wsD8PDg73YetJ+an3cAiqj6QDkgya+xhzxefeycsmbdkEZnSaKoZh+LRnubnBBCdLw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=C+I5z8RrYDFC9c3oNs+W6CU3Go73LPWPMWe6Fwpk+H8=;
 b=bBkwSjP5WAVVHefu3l3tl4j01yshvNsTUm+OBYdjwFCSs41GcKD+1eryQf1ZlYIxw2AT4/d5RVho2/fiKk+uE7liutYT8sHhHQylV08IBUMUU1PRDpj2WkU0ZooOcl0Kfs7ULDXjs/dU+/50zJ6x3qbDu3Kk4voXNUf1TDePIJVPmdr1C7dmeKyAnpE7mugIjZfRO6J0Ci2yyw51vcz12A+0ImTxPFpz+iEG/0mcezCHQelP781k0AmS7ezvf4HiO3kheB3gObhCgu/MHyzXSMrRxcZO5eBPZfPeF3yB3wABqybo3mLeG5QwrxfSM28Y5l18Ry63fP99bFnjRi7GkQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH] ns16550: Properly gate Exar PCIe UART cards support
To: Oleksandr Andrushchenko <andr2000@gmail.com>
CC: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
 andrew.cooper3@citrix.com, george.dunlap@citrix.com, iwj@xenproject.org,
 julien@xen.org, sstabellini@kernel.org, wl@xen.org,
 xen-devel@lists.xenproject.org
References: <20210820115422.2185145-1-andr2000@gmail.com>
 <af460288-0fac-b894-f727-65010ca64088@suse.com>
 <016307c3-4a69-dc39-4a3b-490544b205a6@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <a6b98f23-8c31-ed9f-ff65-3bbafb76d816@suse.com>
Date: Fri, 20 Aug 2021 16:20:42 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <016307c3-4a69-dc39-4a3b-490544b205a6@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: PR2PR09CA0008.eurprd09.prod.outlook.com
 (2603:10a6:101:16::20) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 0d778a20-18a0-431f-a821-08d963e5b2fd
X-MS-TrafficTypeDiagnostic: VI1PR04MB7151:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB71515EF04DBB9A5FF146ADB4B3C19@VI1PR04MB7151.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:2582;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5eBRs/HhXPCx16IYI2ChmORCj4juXNKRUx7xsD5qQqmyU+1ua1k/0yNKbklMWiSq7/3FmlP6MFyZfTFDSSv4s7Cabr+ibyn9HsGrGVw6ulMfdLXPeAhsizL7Px/CSL9yP7FQ3vle07rp1UfP3HVlObOS+HXtssaEU+BKKK5YUrroEJrsmIKPcpnh3xNuQ4sCuJ3sa7UIReWYwlkfin3p5+M2qgVx8MuCBq5DxWXOxqXA9dvoFpgcTvAzju/XBvg5HMlTL2cmFn4XQMtcWYJbLvghFIUg3TwqwQ3UmWqlqXnMNP8+RAFT+2UMUNzou1+IQSjj3O5L6nniVMPFdngfJdVLij83WV3LRf/FiWnIGbzNgwc/+Z/t4ELMFHhnljmZijauhVfUcQQDHbmNW39AGl9l7lneXHczwG89x77CmwSbGV8A3YO47tfyWwd7gKoE2DFnD0rVHMm1fqO4gMRjipJmOA7whQJfS/8omSC1pSG0S/ZoWULK7N8DPnP5VAwRN9wX3JHCVnLLcHEpCaIWBiLTsebmI+u2HnbV1ZG9R5gb/o/RLAvflmKbzEGT5sxF58WdVUTz3mzJgmDvZBHCXk7AeiOXS9+MWxkfC67yTOTkFczd6MqHqUXL/7U8SjkLXCbwpPO+JAAn3Ht3eSSjFikPbeMtTGnQrxmNV2ae+8k1Fb1BhQwr7cjsvCbsy8bkszc9bnCfFLE9unta0rcARBK7zpp0pzy6zIycfHaKIuM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(366004)(396003)(376002)(39860400002)(136003)(36756003)(31696002)(66946007)(83380400001)(26005)(86362001)(31686004)(38100700002)(16576012)(2906002)(6916009)(5660300002)(316002)(956004)(478600001)(8936002)(2616005)(4326008)(53546011)(186003)(6486002)(66556008)(66476007)(8676002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?+He7e8PWTYKglY2icGC0pY2fyprfAhczyCSxbQ3R2bHkMmOHfo5tse0lAbHH?=
 =?us-ascii?Q?2jjoQJLx3SHyv0FrS+xVILsA7zWHBZTMeLVm4HJRkEXwHMkWzf7yhvU33HQL?=
 =?us-ascii?Q?V53PLLRilT9OGnOe9gbaiH2Jk8YbILhNlO8rISs+eQHYvya9mQOuj61it9Xm?=
 =?us-ascii?Q?4GGowHJo4qM3KE0GzKGXVKHmbaiEzgL86PYfjm62JH/BVn6PU7QIzs25kbak?=
 =?us-ascii?Q?M7uB2LA4zFclISn1NhUzpD4TeTbNwTBzLkGpHZhstWUnd7Xs0iQiDnaUWcDH?=
 =?us-ascii?Q?dDqe72e49hF88i+pPbDWLPiO2AeXJx5lwydeXCVUvb+SphqCflrg57NlpBqw?=
 =?us-ascii?Q?t3EMeV2fcJjWK2Ez4oO33Cz/8QyIrrpw5ygkg4uLoao62pZuV949WRPgj2r9?=
 =?us-ascii?Q?G6dBT+Yr2J43NbJMmNXcrsr8yt0KB4uwpN2eUBpghdR0fjIwZ0+4lC1/qZ+T?=
 =?us-ascii?Q?ByxYzBsUViXSNHw3mQ8pVu1X+Yi7xO6b+LLgW7/V/z0UZI4ccGvqj4d5dhIo?=
 =?us-ascii?Q?Z3rwxjccYEX974F20Th1gJ4p8SXS7nXPxDOeS2kypHzKh4i4sOrJktq/AxWW?=
 =?us-ascii?Q?puisv1M0AasgWjSyieLJseWNI44X//tMyjHNRswhFtVncSdOYWGckqTOmo7D?=
 =?us-ascii?Q?TSDEGrfunebRTD74W3Nr6DJC0zTH2Sxh21+SMQs8Hk59EG9X+c8atow3djmC?=
 =?us-ascii?Q?ph9+SQgTX7f6MWYfCTiJKJedVs4XhjQFRoDxiqX1Ynh+OEVg/ee4uEyyrP4R?=
 =?us-ascii?Q?VVnHq+rH3JVtOevz2pyS2NLBtqSHoF98sjq/PKXZVnX5+t5OkRI1/W675n0f?=
 =?us-ascii?Q?Q/ng9strKelASN7sRYHKLV//ejyqa8EGxPm9hN8hlpsS+n2PUlxzoeEQx4Wh?=
 =?us-ascii?Q?dUKCw16GJbp6HH96xsH12mG2LX18LSxCN1OEBQ0h+AXzoeekzuBexpQ+6G+v?=
 =?us-ascii?Q?eGIVmK5B4ZBQrK6vcT29lOaCvd51kIar6j5+tL/t35avn7eN8SOFkxXo2HQm?=
 =?us-ascii?Q?H8MpPWKfq/sX9dsUIgPEBKkp7rNmnOLvnRQglBN+Iz7SOLuoxC/unE1Nr9Hm?=
 =?us-ascii?Q?aumomqhCHNUZfIHfegVdCeDHTSV84UH/ZmvxKQIicnPpvzvlUHi3HaDOpyQA?=
 =?us-ascii?Q?S9oYajNWkGPE1etUBP3a60eG6l/QQEBdwF2+jRn6/ZN937dk05gLIwbovRj5?=
 =?us-ascii?Q?VS5rgTHfqoRJX4IqZiK2hpX/01YlIpT2BVg9apnKAGVoAydr+rDrFD83vnkE?=
 =?us-ascii?Q?fXEXWm+qVBvR4/oenyxsDgiA9Qw1gqWvENWHgrZf1rqU+SfBYZvHY5CMzTxK?=
 =?us-ascii?Q?XJe9q39vGgX+kQjNcpjBGhGF?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0d778a20-18a0-431f-a821-08d963e5b2fd
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 14:20:45.2423
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZH1h53kEORyMOzHHFviOket+UkN0ur72mEbyk36/Rmd2j2mP/q+WGaJ2rc+H1WbGFinfSgtWUdc7oPWCMzPF+A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7151

On 20.08.2021 14:18, Oleksandr Andrushchenko wrote:
>=20
> On 20.08.21 15:07, Jan Beulich wrote:
>> On 20.08.2021 13:54, Oleksandr Andrushchenko wrote:
>>> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
>>>
>>> This fixes Arm build which doesn't have ns16550 PCI support.
>>>
>>> ns16550.c:313:5: error: implicit declaration of function 'enable_exar_e=
nhanced_bits' [-Werror=3Dimplicit-function-declaration]
>>>    313 |     enable_exar_enhanced_bits(uart);
>>>        |     ^~~~~~~~~~~~~~~~~~~~~~~~~
>> This can't be the full story - both Arm32 and Arm64 build fine for me.
>> In fact I can't find any "select HAS_PCI" outside of x86'es subtree.
>>
>>> Fixes: 5ffd37db2ff6 ("ns16550: add Exar PCIe UART cards support")
>> IOW this tag is wrong, no matter that I agree that ...
>=20
> Ok, the full story is that I am building this with PCI passthrough suppor=
t on Arm,
>=20
> so yes, you are obviously correct here and "Fixes" tag does not apply.
>=20
> I will remove it.
>=20
>>
>>> --- a/xen/drivers/char/ns16550.c
>>> +++ b/xen/drivers/char/ns16550.c
>>> @@ -308,7 +308,7 @@ static void ns16550_setup_preirq(struct ns16550 *ua=
rt)
>>>       /* Handle the DesignWare 8250 'busy-detect' quirk. */
>>>       handle_dw_usr_busy_quirk(uart);
>>>  =20
>>> -#ifdef CONFIG_HAS_PCI
>>> +#ifdef NS16550_PCI
>>>       /* Enable Exar "Enhanced function bits" */
>>>       enable_exar_enhanced_bits(uart);
>>>   #endif
>> ... this change is wanted, but just for consistency for now. If you
>> can supply an improved / accurate description, I'll be happy to commit
>> this with
>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>=20
> I can put the following description:
>=20
>  =C2=A0=C2=A0=C2=A0 ns16550: Properly gate Exar PCIe UART cards support
>=20
>  =C2=A0=C2=A0=C2=A0 Arm is about to get PCI passthrough support which mea=
ns CONFIG_HAS_PCI
>  =C2=A0=C2=A0=C2=A0 will be enabled, so this code will fail as Arm doesn'=
t have ns16550
>  =C2=A0=C2=A0=C2=A0 PCI support:
>=20
>  =C2=A0=C2=A0=C2=A0 ns16550.c:313:5: error: implicit declaration of funct=
ion 'enable_exar_enhanced_bits' [-Werror=3Dimplicit-function-declaration]
>  =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 313 |=C2=A0=C2=A0=C2=A0=C2=A0 enable_exar=
_enhanced_bits(uart);
>  =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=
=A0=C2=A0 ^~~~~~~~~~~~~~~~~~~~~~~~~
>=20
>  =C2=A0=C2=A0=C2=A0 Fix this by gating Exar PCIe UART cards support with =
the above in mind.
>=20
> Will this be ok?
>=20
> Can I keep your rb tag with this description?

No need to resubmit - I've replaced the original description and
committed the result.

Jan



From xen-devel-bounces@lists.xenproject.org Fri Aug 20 14:34:51 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 14:34:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169560.309745 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH5ba-0006my-Sj; Fri, 20 Aug 2021 14:34:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169560.309745; Fri, 20 Aug 2021 14:34:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH5ba-0006mr-Pp; Fri, 20 Aug 2021 14:34:46 +0000
Received: by outflank-mailman (input) for mailman id 169560;
 Fri, 20 Aug 2021 14:34:45 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mH5bZ-0006ml-Hc
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 14:34:45 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mH5bY-0004JY-GB; Fri, 20 Aug 2021 14:34:44 +0000
Received: from [54.239.6.185] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mH5bY-0003Sh-9N; Fri, 20 Aug 2021 14:34:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=cF04O8AFn9oyP+EjTMf7BULsEC/mKak+muIdJIm4AA4=; b=ukkyumCVB0R1muBi74T1EnOiEX
	Atgw3Pz5J4/AUIVFuKTaY8bWL3W3deS8g2IGC5JHkMYXvFOyC9D/oJ0Hip9nHY/IFYy2x0PTEDzOy
	DIEYA/+YrgiE+v0iOhchmZibX4bGRQWuNS3iW6PQH8kiLAQ3Ihz/Z3j2pwWVJtaWKFcE=;
Subject: Re: [PATCH v1 09/14] xen/arm: Add cmdline boot option "pci=on"
To: Rahul Singh <Rahul.Singh@arm.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1629366665.git.rahul.singh@arm.com>
 <e279636ea47b7d06056c2f70e76900b8d0b30ee9.1629366665.git.rahul.singh@arm.com>
 <731afb80-bb68-0c66-4f0f-341a46118770@xen.org>
 <DBFA6CEF-F8BC-4516-B609-99985F0C4698@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <b17f7970-ec4c-96e8-1a1c-0d3039d4d43e@xen.org>
Date: Fri, 20 Aug 2021 15:34:42 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <DBFA6CEF-F8BC-4516-B609-99985F0C4698@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit



On 20/08/2021 13:19, Rahul Singh wrote:
> Hi Julien,

Hi Rahul,

> 
>> On 19 Aug 2021, at 1:31 pm, Julien Grall <julien@xen.org> wrote:
>>
>> Hi Rahul,
>>
>> On 19/08/2021 13:02, Rahul Singh wrote:
>>> Add cmdline boot option "pci=on" to enable/disable the PCI init during
>>> boot.
>>
>> I read this as "PCI" will be either disabled/enabled for the platform. Whereas, I think it will be used to decide whether Xen discover PCI and PCI passthrough is supported or not.
> 
> Yes. I will modify the option to "pci-passthrough== <boolean>"
>>
>> Can you also clarify why a user would want to select "pci=off"?
> 
> As pci-passthrough support emulate the PCI devices for DOM0 also, I thought if someone want to
> boot the DOM0 without emulating the PCI device in XEN and wants to have direct access to device.

Dom0 will always have direct access to the PCI device. The only 
difference is whether the access to the hostbridge and config space will 
be trapped by Xen. I expect the both to mainly happen during boot and 
therefore the overhead will be limited.

> 
> I am ok to drop this patch if you feel adding the option is not required at all.
One of the reason I could see this option to be useful is to figure out 
if an issue occurs because of the hostbridge emulation. Yet, I am still 
not fully convinced adding an option is worth it.

Jan and others, any opinions?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 14:37:34 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 14:37:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169565.309756 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH5eH-0007Qq-AW; Fri, 20 Aug 2021 14:37:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169565.309756; Fri, 20 Aug 2021 14:37:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH5eH-0007Qj-7Y; Fri, 20 Aug 2021 14:37:33 +0000
Received: by outflank-mailman (input) for mailman id 169565;
 Fri, 20 Aug 2021 14:37:31 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=nWHd=NL=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mH5eF-0007Qd-Sz
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 14:37:31 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id cfa40300-bb3a-4f85-b45b-8a89738e6516;
 Fri, 20 Aug 2021 14:37:30 +0000 (UTC)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2052.outbound.protection.outlook.com [104.47.14.52]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-16-hKeGDovuOjOvaUkKCOU4nw-1; Fri, 20 Aug 2021 16:37:28 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0402MB3776.eurprd04.prod.outlook.com (2603:10a6:803:18::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.21; Fri, 20 Aug
 2021 14:37:27 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4436.021; Fri, 20 Aug 2021
 14:37:27 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P189CA0059.EURP189.PROD.OUTLOOK.COM (2603:10a6:102:53::34) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Fri, 20 Aug 2021 14:37: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: cfa40300-bb3a-4f85-b45b-8a89738e6516
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629470249;
	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=ij/gM9WxNVKA4jhCN/biYFt4Nn/KgPsxvohxiIRTXW8=;
	b=Y+mg/UFPZaGzQDw8TdrTaZwjLO8Tu4PVsVsNAz+JtEUSXhO5ePFzznhWXlMjmmNZ6LAa9P
	GFEQWCd99fkgeWiPe4z7gihs0XdjZbHu2E5R8ogGQcFpzHN5CABlDBysnt9SofJPi9GCMQ
	RhzJy5+petTBcGHA57ogHu3n0RY0wys=
X-MC-Unique: hKeGDovuOjOvaUkKCOU4nw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=d4qqTh1TwBZ+LCPjLVasVdJ1+suLDdA0dK7rJWM9Z9FQNvQ0lHBnJwQ2eT8PlNbWEvna4yLceoM3EKBLGquE/P9bvmkfkxxWCiSn6i7Ogtlz9IYbt3FVwKj9rPjoGzuyy8tSQ9D3m1ocdKmAIiQZYLoseDpCOQSzWha4tMWwO3tikpRouRRdfOt8gcsHcFxR09sOe3pTV/bC+hGDNgfdl2K+eYqSAylXNKZEME7XpK5WUrbkRWl5NASLQDpHJhZfcsdCu7sihB7Ff+7f2erL0Tjwqk9U6ciPoprfQQCkm6IGS++PifxkjQoKp+AgHvWo3PGjc2ybO+f1ve6O1dg7+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-SenderADCheck;
 bh=ij/gM9WxNVKA4jhCN/biYFt4Nn/KgPsxvohxiIRTXW8=;
 b=eQEQkSGEhd7l1KoN/1R3ygsv6/0g3hVhNGXJFbUtKrMdaPFR04INLkVOwgphhoT5sUOGXSD3+dbmgzjoTQJ1Ul19BoSTEJXzpuRxabAXgqiDYBw2wn7uMknHGyuFa3IBwzMN5KIht7tAvcgAZaIBoRfGm9nlxEoo25Kw+4ATeMNMjnxEOz/WKs/mXeaSNMkLInGi+3Hb/POjIpkz4oQIaIx/SqY9p+qmjVTn3pl2+b8RhhK0YUwq78LZiGBfwUBUjxyF/YaXehwUpSoIKWBn1sCKqxC7BO9VbYoISREGDwaS61CP9WKcRNpP0aF9urkUiZGMyWItpSCj+JbOqYJ4WQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: epam.com; dkim=none (message not signed)
 header.d=none;epam.com; dmarc=none action=none header.from=suse.com;
Subject: Re: [PATCH v1 09/14] xen/arm: Add cmdline boot option "pci=on"
To: Julien Grall <julien@xen.org>, Rahul Singh <Rahul.Singh@arm.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1629366665.git.rahul.singh@arm.com>
 <e279636ea47b7d06056c2f70e76900b8d0b30ee9.1629366665.git.rahul.singh@arm.com>
 <731afb80-bb68-0c66-4f0f-341a46118770@xen.org>
 <DBFA6CEF-F8BC-4516-B609-99985F0C4698@arm.com>
 <b17f7970-ec4c-96e8-1a1c-0d3039d4d43e@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <f9c4837c-085d-d7a3-d79d-a77c6b5bf201@suse.com>
Date: Fri, 20 Aug 2021 16:37:24 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <b17f7970-ec4c-96e8-1a1c-0d3039d4d43e@xen.org>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P189CA0059.EURP189.PROD.OUTLOOK.COM
 (2603:10a6:102:53::34) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3b057f6f-7bfe-4e5f-2c2c-08d963e80846
X-MS-TrafficTypeDiagnostic: VI1PR0402MB3776:
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB3776AEF731A728F612A2EDFAB3C19@VI1PR0402MB3776.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	q0RpzYIn/dejU6w3MRPWLEQHu7dZfVZyGIozWPjq4fJXp5ROIviXjmtjLlNODt/5yBubRizjkdj1G5PP/dJuYnz39gS3OdGb5vWsgvkuCPgj8L6/u0J12pI4DmLEZ1hFAsEN4TbKvlMuKRSLz0ydP0NGl7QAMOvCBzFVAg8HjlMQkldo/b1nMTn11e+EZ075NjimhXqpLyoNgCI+UUIYA8klqNrIPwVsHOZIENug5g8HWlolDZWRs8tuF5DSF48hLB9DHxfQCWyehjZJ4/9vXnEhz/e6+2aNp2sZ59jM4lJ0pSF641wfTkFnZXQx/SlMmC34ZcT+bzJcl1f1oh9jr1iJGDNUmxwOJziVpP8R48GgcRYmDLyvm0pa/ixgK2hFyF3jfdg3JYXEcI0iWnLuRTCdreeFHn4ghIZYTo5GTSGY7T6IK+ISkOwdv7wQf66nemvtE1mzSKNzoFszk+w4vXgcjsdPvke2J2zHHHJXCgWetYeNaSPTdeYp5S4zgZrpOc0F3DNbJN35ctZdPr6cUTeHxcWSHJ3cOxCFkyPMGg4M9fnMyBfTD6ahBX9Th4tqqcG3K+8wXokzYhFSuyxEWjA3aPF0pJod38MmPik67iVZbomz6MEY1zGnnuHhhtTFe2IwwYxyvCFrv5XUfnMwOWaA+hUf5hytskUiPqRXXhSMTrvj8qImbvAeYLchrmujlTmbdT8NVVh2c2xqz7ycBefaYUvAYM4tgeq8R0mt+M8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(396003)(376002)(136003)(346002)(39860400002)(5660300002)(186003)(53546011)(26005)(86362001)(31696002)(36756003)(2906002)(478600001)(83380400001)(316002)(31686004)(16576012)(6486002)(66556008)(110136005)(66946007)(66476007)(54906003)(4326008)(956004)(8936002)(2616005)(8676002)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TWZ1KzFBVlhxNC9ha3dQRFJUVkJWREEwY1h2UngyN1VMT3pSbWlXNmdqYVJ5?=
 =?utf-8?B?T2d0emhwK3R3WFBOSlhQNHZxT2NXOVhhT0EwZWNQa1lLbm5DRjUrclZjVDd3?=
 =?utf-8?B?NndwbXpLTFhwa3gzb21iQnYzQUVGamdkNGo3ZHVUNE9jczJLOWtvQVZxYXFo?=
 =?utf-8?B?ZG8wOEpQMUZyZWNsREVDbG9qclJTbXhZQ21hTGozVzAxV1I3Rkd5azI1THdM?=
 =?utf-8?B?SFFXS21xVmswNUhCaW5JY2c0aDc2YVNKTmt4Y1g3MXpVem9sN2tsbFpGWkV4?=
 =?utf-8?B?S0UxNU9DNU5yR2dVZEp1d2dvTmNsQUR3czE0M2RVdFQ2ajdtenBCOWpLSFM2?=
 =?utf-8?B?QzB2OEtNWncwcGJWUW4wUW5nMkVsOUUvSzhzUnFxWjROZSs1ZDJOakpRRGJn?=
 =?utf-8?B?eTlBbytSVi9Fem0rSk1TSFN1T2NKeVZqcUQxV3FwNHBZMjJ4NXJRc2lOeS9N?=
 =?utf-8?B?cmszS0MwQTlod2NuZVRsVDFQUUh0dE5YaTJxY2lGUmt0K2Rva2ZvYjlTS0ZY?=
 =?utf-8?B?ZTNuellCNnkzd2ZLZXhaSVc3eXpxa0RCaitkV2NRWWhydEl5TmQ2K1UxMUlr?=
 =?utf-8?B?RjZ1REtOcjZxKzJGNFN5aDdETStUb2Y3emd3Z3BNb1E5RkhPZE1nU3hsRlNm?=
 =?utf-8?B?N1k0emwzTFpDVDZCSTF6SXBTOU5OejRhdVBIcHVESmlUdHlMV1R1WHpiNmdV?=
 =?utf-8?B?dDkzd3FVdHNGekoySEVFUnVSdW9YZ2lJRkxNVmUxMU53U3FqUUk5YUtmQzlT?=
 =?utf-8?B?L0M5NUF5dFdvZ1JVMFNQRzZRQWhBQTdsN1QvSENwTjYrSXB6bWtNZjdwZkRo?=
 =?utf-8?B?a0ROOERZS0xXSlV5bEk5MFBBVnMvd0tnYjJkRERxVFVoQ0xDVE1qZFlLTm55?=
 =?utf-8?B?YTBheFhKcXRxc3NoV1ZERDg5aHZLUEdsWDN4TUM0STQ0Q1gwZ0lWcWt4RGVV?=
 =?utf-8?B?RHl3cXBOREhLQk8xZTBCVENFTnU1SVltWjRvaVNMcE1Za3k0ZWo4TXNHQ1Fj?=
 =?utf-8?B?ZWp4Z3Y5ODJyY0plZHlpdFlqTmo4QjRvR050OWIyUDVQeEtPQmJkdnNoallB?=
 =?utf-8?B?ZTRZOTArak9SbSs0UmNVbzRoVTUzTUhjSldub0NETkRrd09scDM4Y1YraGNh?=
 =?utf-8?B?T0w0UGJwRDlkbm5XMXZ3QWNBVkRxc3ZuSDNtYXMzT2NtMWhhMm8zRjdNaEVF?=
 =?utf-8?B?bFozanYwVVpBMmZ4aFUwVmNXODcxWitrN1A5bDQvVWJGeGE1NnFmMWFVWjlv?=
 =?utf-8?B?MUhEK0l5ZGx1WjZJMUJjL1NmMFNpRjM2TUcwTnVZUlBsU0dpbWlQTDZGM2l1?=
 =?utf-8?B?UVJYdEw4L0EyR2FGaEZWb2UyMW5RM25kVkR0UGNpUmd0Z2Y5R1F2cVM3UWJV?=
 =?utf-8?B?emFldWFFMjJCZ1p4TTJ1bnJPQ1JCUk9lSHVNVUpZb3NZdllPSFhQa2hQTlBa?=
 =?utf-8?B?WVNROVBqYWhVZjZjVzFUT2xoaFIwTVEvVVdDZCtUK1dLd2pIR2lXNmZZRVRo?=
 =?utf-8?B?NjAwSzRqdFgxSGpXYVFIQTBvdyt3TVE1QUVMYy80YXp0V3kyWmtqYStzcU5J?=
 =?utf-8?B?WEhkQ3VuUnBQN2ZDZWhLMXp0VDNtUzRTUGdpVjRiT2VjK1ZGWkIydGh6SG9z?=
 =?utf-8?B?M1NDOHJLWGwwY1d2VHYzWjBOUGtJVVpVNWZoQndZa0RWVDVHSkxaQXdweklK?=
 =?utf-8?B?T0hGTGdIV2xBc2tINmp1aU9UOW5TSFJRYW5aZUNsMFhLVm5HbU5yZm53MStL?=
 =?utf-8?Q?KvZ+CWNznDJO0zJjXvJGTN3hUQjae42/T2xJU3d?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3b057f6f-7bfe-4e5f-2c2c-08d963e80846
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 14:37:27.3214
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: PWuxppB0Xly1aAjGp5czbPCz6Y2ltptU+KlABn1rnT9QRkkz5TPOTZpYDO/n6PxoeejTdeiOdBy0VaFZ3f0VGQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3776

On 20.08.2021 16:34, Julien Grall wrote:
> On 20/08/2021 13:19, Rahul Singh wrote:
>>> On 19 Aug 2021, at 1:31 pm, Julien Grall <julien@xen.org> wrote:
>>> On 19/08/2021 13:02, Rahul Singh wrote:
>>>> Add cmdline boot option "pci=on" to enable/disable the PCI init during
>>>> boot.
>>>
>>> I read this as "PCI" will be either disabled/enabled for the platform. Whereas, I think it will be used to decide whether Xen discover PCI and PCI passthrough is supported or not.
>>
>> Yes. I will modify the option to "pci-passthrough== <boolean>"
>>>
>>> Can you also clarify why a user would want to select "pci=off"?
>>
>> As pci-passthrough support emulate the PCI devices for DOM0 also, I thought if someone want to
>> boot the DOM0 without emulating the PCI device in XEN and wants to have direct access to device.
> 
> Dom0 will always have direct access to the PCI device. The only 
> difference is whether the access to the hostbridge and config space will 
> be trapped by Xen. I expect the both to mainly happen during boot and 
> therefore the overhead will be limited.
> 
>>
>> I am ok to drop this patch if you feel adding the option is not required at all.
> One of the reason I could see this option to be useful is to figure out 
> if an issue occurs because of the hostbridge emulation. Yet, I am still 
> not fully convinced adding an option is worth it.
> 
> Jan and others, any opinions?

Well, if there's a proper fallback, then why not allow using it in
case of problems?

Jan



From xen-devel-bounces@lists.xenproject.org Fri Aug 20 14:41:50 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 14:41:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169570.309767 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH5iM-0000WR-SD; Fri, 20 Aug 2021 14:41:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169570.309767; Fri, 20 Aug 2021 14: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 1mH5iM-0000WK-OE; Fri, 20 Aug 2021 14:41:46 +0000
Received: by outflank-mailman (input) for mailman id 169570;
 Fri, 20 Aug 2021 14:41:45 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mH5iL-0000WE-F5
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 14:41:45 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mH5iL-0004X1-9r; Fri, 20 Aug 2021 14:41:45 +0000
Received: from [54.239.6.185] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mH5iL-0004Ug-42; Fri, 20 Aug 2021 14:41: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:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=lk5MHqeag5VsFqUhgTDJIKvQ4yZc4+EvU1tREyHhZxg=; b=se/M1ZhEzkrrcUMWbeC4l4pWbe
	JD7YtUgjRGA//O2wvoVhgmqioKK4dfaSJbxk4Q2pA8FHLp0azveQw8/JPa+64++heChcVnpowEf/X
	17WlwrGI7Urew3bnPRZXxV67VU5/EFoJA/44EZDy9tKtHZMH9GSJq7mb9kh2QlYJRaAI=;
Subject: Re: [XEN RFC PATCH 07/40] xen/arm: use !CONFIG_NUMA to keep fake NUMA
 API
To: Wei Chen <Wei.Chen@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>
Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-8-wei.chen@arm.com>
 <e9a45fe3-e4b0-6533-8b41-ac3f10ef386a@xen.org>
 <DB9PR08MB6857D0004A59BC90866AE4C89EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <4de5b7ed-ada5-2114-2002-7f5e26a89417@xen.org>
 <DB9PR08MB6857B5CEDA012C10B192F3F19EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <54707c92-3bda-60b8-4b36-1eae172cacb1@xen.org>
 <DB9PR08MB6857BA75DFA2294CCC26EA309EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
From: Julien Grall <julien@xen.org>
Message-ID: <12065cae-6dd4-84c9-d6c7-2e901cf50a6a@xen.org>
Date: Fri, 20 Aug 2021 15:41:43 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <DB9PR08MB6857BA75DFA2294CCC26EA309EC19@DB9PR08MB6857.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit

On 20/08/2021 13:23, Wei Chen wrote:
> Hi Julien,

Hi Wei,

>> -----Original Message-----
>> From: Julien Grall <julien@xen.org>
>> Sent: 2021年8月20日 19:24
>> To: Wei Chen <Wei.Chen@arm.com>; xen-devel@lists.xenproject.org;
>> sstabellini@kernel.org
>> Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>
>> Subject: Re: [XEN RFC PATCH 07/40] xen/arm: use !CONFIG_NUMA to keep fake
>> NUMA API
>>
>>
>>
>> On 20/08/2021 11:24, Wei Chen wrote:
>>> Hi Julien,
>>
>> Hi Wei,
>>
>>>
>>>> -----Original Message-----
>>>> From: Julien Grall <julien@xen.org>
>>>> Sent: 2021年8月20日 16:24
>>>> To: Wei Chen <Wei.Chen@arm.com>; xen-devel@lists.xenproject.org;
>>>> sstabellini@kernel.org; jbeulich@suse.com
>>>> Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>
>>>> Subject: Re: [XEN RFC PATCH 07/40] xen/arm: use !CONFIG_NUMA to keep
>> fake
>>>> NUMA API
>>>>
>>>>
>>>>
>>>> On 20/08/2021 03:08, Wei Chen wrote:
>>>>> Hi Julien,
>>>>
>>>> Hi Wei,
>>>>
>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Julien Grall <julien@xen.org>
>>>>>> Sent: 2021年8月19日 21:34
>>>>>> To: Wei Chen <Wei.Chen@arm.com>; xen-devel@lists.xenproject.org;
>>>>>> sstabellini@kernel.org; jbeulich@suse.com
>>>>>> Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>
>>>>>> Subject: Re: [XEN RFC PATCH 07/40] xen/arm: use !CONFIG_NUMA to keep
>>>> fake
>>>>>> NUMA API
>>>>>>
>>>>>> Hi Wei,
>>>>>>
>>>>>> On 11/08/2021 11:23, Wei Chen wrote:
>>>>>>> Only Arm64 supports NUMA, the CONFIG_NUMA could not be
>>>>>>> enabled for Arm32.
>>>>>>
>>>>>> What do you mean by "could not be enabled"?
>>>>>
>>>>> I have not seen any Arm32 hardware support NUMA, so I think
>>>>> we don't need to support Arm32 NUMA.
>>>>
>>>> I understand that there may not be 32-bit platform with NUMA. And
>> that's
>>>> fine stating that in the commit message. However...
>>>>
>>>>> In this case, this Kconfig
>>>>> option could not be enabled on Arm32.
>>>>
>>>> ... you continue to say "couldn't be enabled" without clarifying
>> whether
>>>> this mean that the build will break or this was just not tested because
>>>> you don't have any platform.
>>>
>>> Ok, I understand your concern. Yes, my words would lead to mis-
>> understanding.
>>> If we make CONFIG_NUMA enabled in Arm32, it need Arm32 to implement some
>>> code to support NUMA common code. Otherwise the Arm32 build will failed.
>>
>> When I skimmed through the series, most of the code seems to be either
>> in common, arm (bitness neutral). So I am not quite too sure why it
>> would not build. Do you have more details?
>>
> 
> It could not build because I have not tried to enable device_tree_numa
> option for Arm32 but enabled NUMA for arm32.
> 
> I have tested it again, yes, simple enable device_tree_numa and NUMA
> for arm32 can build a image successfully.
> 
> So, I think it's OK to enable this on Arm32, and I will do it in next
> version. But, can we still keep these FAKE APIs? If user don't want to
> enable NUMA they still can make Xen work? 

Yes, we still need to keep the FAKE APIs. I was only commenting about 
the wording in the commit message.

> And I will remove "could not
> enable for Arm32" from commit log.
> 
>>> I have not tried to implement those code for Arm32. And I found there is
>>> no Arm32 machine support NUMA, so I wanted Arm32 to use fake NUMA API
>>> as before.
>>>
>>>>
>>>> To put it differently, the code for NUMA looks bitness neutral. So I
>>>> cannot really what what prevent us to potentially use it on Arm 32-bit.
>>>>
>>>
>>> Yes, you're right, it's neutral. But do we really need to add code to an
>>> ARCH that it may never use?
>>
>> Technically you already added the code because arch/arm/ is common
>> between arm32 and arm64. My only ask is to not make the new config
>> depends on arm64. If you only build test it that fine because...
>>
>> And how can we test this code?
>>
>> I don't expect any of the code to be an issue on arm32 as the code
>> should mostly be arch neutral.
> 
> I mean, we don't have Arm32 NUMA machine to test, I don't know
> the code works well on Arm32 NUMA or not. I only can verify them
> on non-NUMA arm32, and make sure this code will not break existed
> machines.

I understood you don't have any Arm32 NUMA machine. But I don't see the 
lack of testing as an issue because the code doesn't look to contain 
bits that may rely on arm64. So there are very limited reasons for the 
code to break on arm32.

If we really want to test it, then it should be feasible to fake the 
NUMA node in the DT. However, I don't expect you to do it.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 15:20:49 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 15:20:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169578.309777 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH6K1-00052N-0O; Fri, 20 Aug 2021 15:20:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169578.309777; Fri, 20 Aug 2021 15:20:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH6K0-00052G-Tk; Fri, 20 Aug 2021 15:20:40 +0000
Received: by outflank-mailman (input) for mailman id 169578;
 Fri, 20 Aug 2021 15:20:39 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+YXI=NL=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mH6Jz-00052A-F8
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 15:20:39 +0000
Received: from mail-pf1-x42c.google.com (unknown [2607:f8b0:4864:20::42c])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id de52595a-052b-4c43-a848-1c681d0ef473;
 Fri, 20 Aug 2021 15:20:37 +0000 (UTC)
Received: by mail-pf1-x42c.google.com with SMTP id t42so6311619pfg.12
 for <xen-devel@lists.xenproject.org>; Fri, 20 Aug 2021 08:20:37 -0700 (PDT)
Received: from ?IPv6:2404:f801:0:5:8000::50b? ([2404:f801:9000:18:efec::50b])
 by smtp.gmail.com with ESMTPSA id
 j5sm12049220pjv.56.2021.08.20.08.20.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 20 Aug 2021 08:20: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: de52595a-052b-4c43-a848-1c681d0ef473
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=lOEOP553DOa54mvzQOTvxqghJgRlAqL/9egTYk51TpA=;
        b=mNTS2gd5G3Ks7sZBiQSqKbxnuIVyWXDolh/tFasaTIp9Tx741ulpCEBBJUeNG6CWbn
         bJhOlYcTmBgVknfCmejlU0pKjFYMNkb+mTQ+mEeg9ITv0adYOUR3hmKmVoC7BoPnsD0I
         XWSBpp9HDsxPIU9RwnpnjWs+5qzfOYMAlk5vuGurnNnqnw7ijhJHg8X5IJWWxqYixCt3
         +tg+SVuZQBaKBNS55ZDk0TnfxHeHQGNWLe/31oj8sgUHgNeRZB8TZc9b01CQkJiBbfS1
         6m4md9Xn57tauA6eGKdWIXay7jb4zj040dBBFUXZl5hvlW19Wrja0c672M7277VVHF2w
         s3ag==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=lOEOP553DOa54mvzQOTvxqghJgRlAqL/9egTYk51TpA=;
        b=X0IoCz1EjTjBqX8jZ4VmgWzFrT97dWVwtBaQiyjAHZ1aqidGPcooD3SOvm4ueilxUu
         Z6s/t/adkpUeLvzxDTVlU7QgnxbGu9fSTyoPyxfe47UaRyhKxGMZjOQyNrjuvNqHmRRl
         cYDbSUUyDccjtZEiwV9fpgPXf484kWzNfnuF7YSKVvucq7pYXRsFdsoPZ0bZqrFjY4MF
         CR16fv0+bFdK0gbeKvFaDcXhGMpN6u6O2h/rrFSlXqDzwm+4PHpCdcDWNI8cytUQjsgy
         INNTfdADi0qzVYrckfimQ8cIDGj2hpTt6Fpd/P5+uvppv7MGyOfTAlAH1tf5SdTIu4q4
         vIOg==
X-Gm-Message-State: AOAM530WgM/2JJuZ6M/qfvtAU09QCllY2JI3t6q5RfgC7uSRwsiUHAXb
	g8AYDp66SD12CufYuv+iQh8=
X-Google-Smtp-Source: ABdhPJzI2VZH5dwiRm0Ac/QtnJrMRH7ImkxlvumANqaLggfhogz2MaNnTDbHOsxuG4eIDNmSXl+big==
X-Received: by 2002:aa7:9f12:0:b029:3e0:3224:6cd5 with SMTP id g18-20020aa79f120000b02903e032246cd5mr20286867pfr.43.1629472836712;
        Fri, 20 Aug 2021 08:20:36 -0700 (PDT)
Subject: Re: [PATCH V3 13/13] HV/Storvsc: Add Isolation VM support for storvsc
 driver
To: Michael Kelley <mikelley@microsoft.com>, KY Srinivasan
 <kys@microsoft.com>, Haiyang Zhang <haiyangz@microsoft.com>,
 Stephen Hemminger <sthemmin@microsoft.com>,
 "wei.liu@kernel.org" <wei.liu@kernel.org>, Dexuan Cui <decui@microsoft.com>,
 "tglx@linutronix.de" <tglx@linutronix.de>,
 "mingo@redhat.com" <mingo@redhat.com>, "bp@alien8.de" <bp@alien8.de>,
 "x86@kernel.org" <x86@kernel.org>, "hpa@zytor.com" <hpa@zytor.com>,
 "dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
 "luto@kernel.org" <luto@kernel.org>,
 "peterz@infradead.org" <peterz@infradead.org>,
 "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
 "boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>,
 "jgross@suse.com" <jgross@suse.com>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>,
 "joro@8bytes.org" <joro@8bytes.org>, "will@kernel.org" <will@kernel.org>,
 "davem@davemloft.net" <davem@davemloft.net>,
 "kuba@kernel.org" <kuba@kernel.org>, "jejb@linux.ibm.com"
 <jejb@linux.ibm.com>, "martin.petersen@oracle.com"
 <martin.petersen@oracle.com>, "arnd@arndb.de" <arnd@arndb.de>,
 "hch@lst.de" <hch@lst.de>,
 "m.szyprowski@samsung.com" <m.szyprowski@samsung.com>,
 "robin.murphy@arm.com" <robin.murphy@arm.com>,
 "thomas.lendacky@amd.com" <thomas.lendacky@amd.com>,
 "brijesh.singh@amd.com" <brijesh.singh@amd.com>,
 "ardb@kernel.org" <ardb@kernel.org>, Tianyu Lan <Tianyu.Lan@microsoft.com>,
 "pgonda@google.com" <pgonda@google.com>,
 "martin.b.radev@gmail.com" <martin.b.radev@gmail.com>,
 "akpm@linux-foundation.org" <akpm@linux-foundation.org>,
 "kirill.shutemov@linux.intel.com" <kirill.shutemov@linux.intel.com>,
 "rppt@kernel.org" <rppt@kernel.org>,
 "sfr@canb.auug.org.au" <sfr@canb.auug.org.au>,
 "saravanand@fb.com" <saravanand@fb.com>,
 "krish.sadhukhan@oracle.com" <krish.sadhukhan@oracle.com>,
 "aneesh.kumar@linux.ibm.com" <aneesh.kumar@linux.ibm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "rientjes@google.com" <rientjes@google.com>,
 "hannes@cmpxchg.org" <hannes@cmpxchg.org>, "tj@kernel.org" <tj@kernel.org>
Cc: "iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org>,
 "linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
 "linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
 "linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
 "netdev@vger.kernel.org" <netdev@vger.kernel.org>,
 vkuznets <vkuznets@redhat.com>,
 "parri.andrea@gmail.com" <parri.andrea@gmail.com>,
 "dave.hansen@intel.com" <dave.hansen@intel.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-14-ltykernel@gmail.com>
 <MWHPR21MB1593EEF30FFD5C60ED744985D7C09@MWHPR21MB1593.namprd21.prod.outlook.com>
From: Tianyu Lan <ltykernel@gmail.com>
Message-ID: <a96626db-4ac9-3ce4-64e9-92568e4f827a@gmail.com>
Date: Fri, 20 Aug 2021 23:20:21 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <MWHPR21MB1593EEF30FFD5C60ED744985D7C09@MWHPR21MB1593.namprd21.prod.outlook.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit



On 8/20/2021 2:17 AM, Michael Kelley wrote:
> From: Tianyu Lan <ltykernel@gmail.com> Sent: Monday, August 9, 2021 10:56 AM
>>
> 
> Subject line tag should be "scsi: storvsc:"
> 
>> In Isolation VM, all shared memory with host needs to mark visible
>> to host via hvcall. vmbus_establish_gpadl() has already done it for
>> storvsc rx/tx ring buffer. The page buffer used by vmbus_sendpacket_
>> mpb_desc() still need to handle. Use DMA API to map/umap these
> 
> s/need to handle/needs to be handled/
> 
>> memory during sending/receiving packet and Hyper-V DMA ops callback
>> will use swiotlb function to allocate bounce buffer and copy data
>> from/to bounce buffer.
>>
>> Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
>> ---
>>   drivers/scsi/storvsc_drv.c | 68 +++++++++++++++++++++++++++++++++++---
>>   1 file changed, 63 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c
>> index 328bb961c281..78320719bdd8 100644
>> --- a/drivers/scsi/storvsc_drv.c
>> +++ b/drivers/scsi/storvsc_drv.c
>> @@ -21,6 +21,8 @@
>>   #include <linux/device.h>
>>   #include <linux/hyperv.h>
>>   #include <linux/blkdev.h>
>> +#include <linux/io.h>
>> +#include <linux/dma-mapping.h>
>>   #include <scsi/scsi.h>
>>   #include <scsi/scsi_cmnd.h>
>>   #include <scsi/scsi_host.h>
>> @@ -427,6 +429,8 @@ struct storvsc_cmd_request {
>>   	u32 payload_sz;
>>
>>   	struct vstor_packet vstor_packet;
>> +	u32 hvpg_count;
> 
> This count is really the number of entries in the dma_range
> array, right?  If so, perhaps "dma_range_count" would be
> a better name so that it is more tightly associated.

Yes, will update.

> 
>> +	struct hv_dma_range *dma_range;
>>   };
>>
>>
>> @@ -509,6 +513,14 @@ struct storvsc_scan_work {
>>   	u8 tgt_id;
>>   };
>>
>> +#define storvsc_dma_map(dev, page, offset, size, dir) \
>> +	dma_map_page(dev, page, offset, size, dir)
>> +
>> +#define storvsc_dma_unmap(dev, dma_range, dir)		\
>> +		dma_unmap_page(dev, dma_range.dma,	\
>> +			       dma_range.mapping_size,	\
>> +			       dir ? DMA_FROM_DEVICE : DMA_TO_DEVICE)
>> +
> 
> Each of these macros is used only once.  IMHO, they don't
> add a lot of value.  Just coding dma_map/unmap_page()
> inline would be fine and eliminate these lines of code.

OK. Will update.

> 
>>   static void storvsc_device_scan(struct work_struct *work)
>>   {
>>   	struct storvsc_scan_work *wrk;
>> @@ -1260,6 +1272,7 @@ static void storvsc_on_channel_callback(void *context)
>>   	struct hv_device *device;
>>   	struct storvsc_device *stor_device;
>>   	struct Scsi_Host *shost;
>> +	int i;
>>
>>   	if (channel->primary_channel != NULL)
>>   		device = channel->primary_channel->device_obj;
>> @@ -1314,6 +1327,15 @@ static void storvsc_on_channel_callback(void *context)
>>   				request = (struct storvsc_cmd_request *)scsi_cmd_priv(scmnd);
>>   			}
>>
>> +			if (request->dma_range) {
>> +				for (i = 0; i < request->hvpg_count; i++)
>> +					storvsc_dma_unmap(&device->device,
>> +						request->dma_range[i],
>> +						request->vstor_packet.vm_srb.data_in == READ_TYPE);
> 
> I think you can directly get the DMA direction as request->cmd->sc_data_direction.
> 
>> +
>> +				kfree(request->dma_range);
>> +			}
>> +
>>   			storvsc_on_receive(stor_device, packet, request);
>>   			continue;
>>   		}
>> @@ -1810,7 +1832,9 @@ static int storvsc_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *scmnd)
>>   		unsigned int hvpgoff, hvpfns_to_add;
>>   		unsigned long offset_in_hvpg = offset_in_hvpage(sgl->offset);
>>   		unsigned int hvpg_count = HVPFN_UP(offset_in_hvpg + length);
>> +		dma_addr_t dma;
>>   		u64 hvpfn;
>> +		u32 size;
>>
>>   		if (hvpg_count > MAX_PAGE_BUFFER_COUNT) {
>>
>> @@ -1824,6 +1848,13 @@ static int storvsc_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *scmnd)
>>   		payload->range.len = length;
>>   		payload->range.offset = offset_in_hvpg;
>>
>> +		cmd_request->dma_range = kcalloc(hvpg_count,
>> +				 sizeof(*cmd_request->dma_range),
>> +				 GFP_ATOMIC);
> 
> With this patch, it appears that storvsc_queuecommand() is always
> doing bounce buffering, even when running in a non-isolated VM.

In the non-isolated VM, SWIOTLB_FORCE mode isn't enabled and so
the swiotlb bounce buffer will not work.

> The dma_range is always allocated, and the inner loop below does
> the dma mapping for every I/O page.  The corresponding code in
> storvsc_on_channel_callback() that does the dma unmap allows for
> the dma_range to be NULL, but that never happens.

Yes, dma mapping function will return PA directly in non-isolated VM.

> 
>> +		if (!cmd_request->dma_range) {
>> +			ret = -ENOMEM;
> 
> The other memory allocation failure in this function returns
> SCSI_MLQUEUE_DEVICE_BUSY.   It may be debatable as to whether
> that's the best approach, but that's a topic for a different patch.  I
> would suggest being consistent and using the same return code
> here.

OK. I will keep to return SCSI_MLQUEUE_DEVICE_BUSY here.

> 
>> +			goto free_payload;
>> +		}
>>
>>   		for (i = 0; sgl != NULL; sgl = sg_next(sgl)) {
>>   			/*
>> @@ -1847,9 +1878,29 @@ static int storvsc_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *scmnd)
>>   			 * last sgl should be reached at the same time that
>>   			 * the PFN array is filled.
>>   			 */
>> -			while (hvpfns_to_add--)
>> -				payload->range.pfn_array[i++] =	hvpfn++;
>> +			while (hvpfns_to_add--) {
>> +				size = min(HV_HYP_PAGE_SIZE - offset_in_hvpg,
>> +					   (unsigned long)length);
>> +				dma = storvsc_dma_map(&dev->device, pfn_to_page(hvpfn++),
>> +						      offset_in_hvpg, size,
>> +						      scmnd->sc_data_direction);
>> +				if (dma_mapping_error(&dev->device, dma)) {
>> +					ret = -ENOMEM;
> 
> The typical error from dma_map_page() will be running out of
> bounce buffer memory.   This is a transient condition that should be
> retried at the higher levels.  So make sure to return an error code
> that indicates the I/O should be resubmitted.

OK. It looks like error code should be SCSI_MLQUEUE_DEVICE_BUSY here.

> 
>> +					goto free_dma_range;
>> +				}
>> +
>> +				if (offset_in_hvpg) {
>> +					payload->range.offset = dma & ~HV_HYP_PAGE_MASK;
>> +					offset_in_hvpg = 0;
>> +				}
> 
> I'm not clear on why payload->range.offset needs to be set again.
> Even after the dma mapping is done, doesn't the offset in the first
> page have to be the same?  If it wasn't the same, Hyper-V wouldn't
> be able to process the PFN list correctly.  In fact, couldn't the above
> code just always set offset_in_hvpg = 0?

The offset will be changed. The swiotlb bounce buffer is allocated with 
IO_TLB_SIZE(2K) as unit. So the offset here may be changed.

> 
>> +
>> +				cmd_request->dma_range[i].dma = dma;
>> +				cmd_request->dma_range[i].mapping_size = size;
>> +				payload->range.pfn_array[i++] = dma >> HV_HYP_PAGE_SHIFT;
>> +				length -= size;
>> +			}
>>   		}
>> +		cmd_request->hvpg_count = hvpg_count;
> 
> This line just saves the size of the dma_range array.  Could
> it be moved up with the code that allocates the dma_range
> array?  To me, it would make more sense to have all that
> code together in one place.

Sure. Will update.

> 
>>   	}
> 
> The whole approach here is to do dma remapping on each individual page
> of the I/O buffer.  But wouldn't it be possible to use dma_map_sg() to map
> each scatterlist entry as a unit?  Each scatterlist entry describes a range of
> physically contiguous memory.  After dma_map_sg(), the resulting dma
> address must also refer to a physically contiguous range in the swiotlb
> bounce buffer memory.   So at the top of the "for" loop over the scatterlist
> entries, do dma_map_sg() if we're in an isolated VM.  Then compute the
> hvpfn value based on the dma address instead of sg_page().  But everything
> else is the same, and the inner loop for populating the pfn_arry is unmodified.
> Furthermore, the dma_range array that you've added is not needed, since
> scatterlist entries already have a dma_address field for saving the mapped
> address, and dma_unmap_sg() uses that field.

I don't use dma_map_sg() here in order to avoid introducing one more 
loop(e,g dma_map_sg()). We already have a loop to populate 
cmd_request->dma_range[] and so do the dma map in the same loop.

> 
> One thing:  There's a maximum swiotlb mapping size, which I think works
> out to be 256 Kbytes.  See swiotlb_max_mapping_size().  We need to make
> sure that we don't get a scatterlist entry bigger than this size.  But I think
> this already happens because you set the device->dma_mask field in
> Patch 11 of this series.  __scsi_init_queue checks for this setting and
> sets max_sectors to limits transfers to the max mapping size.

I will double check.

> 
>>
>>   	cmd_request->payload = payload;
>> @@ -1860,13 +1911,20 @@ static int storvsc_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *scmnd)
>>   	put_cpu();
>>
>>   	if (ret == -EAGAIN) {
>> -		if (payload_sz > sizeof(cmd_request->mpb))
>> -			kfree(payload);
>>   		/* no more space */
>> -		return SCSI_MLQUEUE_DEVICE_BUSY;
>> +		ret = SCSI_MLQUEUE_DEVICE_BUSY;
>> +		goto free_dma_range;
>>   	}
>>
>>   	return 0;
>> +
>> +free_dma_range:
>> +	kfree(cmd_request->dma_range);
>> +
>> +free_payload:
>> +	if (payload_sz > sizeof(cmd_request->mpb))
>> +		kfree(payload);
>> +	return ret;
>>   }
>>
>>   static struct scsi_host_template scsi_driver = {
>> --
>> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 15:28:45 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 15:28:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169583.309788 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH6Rd-0005um-NY; Fri, 20 Aug 2021 15:28:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169583.309788; Fri, 20 Aug 2021 15: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 1mH6Rd-0005uf-Ka; Fri, 20 Aug 2021 15:28:33 +0000
Received: by outflank-mailman (input) for mailman id 169583;
 Fri, 20 Aug 2021 15:28: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 1mH6Rc-0005uV-Pg; Fri, 20 Aug 2021 15:28: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 1mH6Rc-0005QM-LE; Fri, 20 Aug 2021 15:28: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 1mH6Rc-0007rv-Ao; Fri, 20 Aug 2021 15:28:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mH6Rc-0000eX-AP; Fri, 20 Aug 2021 15:28: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=EUHDV4dKHJw7cavthVW0ZuM3yFt1OZoxJCSI0Zmq+Ec=; b=eKi+a+QQdsX6E2BeXuhmNB5bJS
	UobLbWZGKPQwY89tlryyuSetS6ntAd8uTnGzW4io53DC10XNiZE95EMP0fRrTeqJXGEssw+by4xOG
	Xc43BGcFgHS68UMVvuEtM+YPZ+uloiX9etDizAwCLeMyz0P5Lfo1ieVq7PGM18BVxuhg=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164271-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 164271: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=b8238afd076189c1e1b459752f78e8639b5c2a3a
X-Osstest-Versions-That:
    xen=1787cc167906f3fef547affb443a64762392c464
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 20 Aug 2021 15:28:32 +0000

flight 164271 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164271/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  b8238afd076189c1e1b459752f78e8639b5c2a3a
baseline version:
 xen                  1787cc167906f3fef547affb443a64762392c464

Last test of basis   164263  2021-08-19 18:01:39 Z    0 days
Testing same since   164271  2021-08-20 11:00:28 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   1787cc1679..b8238afd07  b8238afd076189c1e1b459752f78e8639b5c2a3a -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 15:38:21 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 15:38:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169592.309809 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH6b0-0007YY-Pu; Fri, 20 Aug 2021 15:38:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169592.309809; Fri, 20 Aug 2021 15:38: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 1mH6b0-0007YR-Mm; Fri, 20 Aug 2021 15:38:14 +0000
Received: by outflank-mailman (input) for mailman id 169592;
 Fri, 20 Aug 2021 15:38:13 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+YXI=NL=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mH6az-0007YL-B0
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 15:38:13 +0000
Received: from mail-pg1-x530.google.com (unknown [2607:f8b0:4864:20::530])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 9d4cbf0f-1eca-4e1a-ac62-23f282f47db4;
 Fri, 20 Aug 2021 15:38:12 +0000 (UTC)
Received: by mail-pg1-x530.google.com with SMTP id q2so9525476pgt.6
 for <xen-devel@lists.xenproject.org>; Fri, 20 Aug 2021 08:38:12 -0700 (PDT)
Received: from ?IPv6:2404:f801:0:5:8000::50b? ([2404:f801:9000:1a:efea::50b])
 by smtp.gmail.com with ESMTPSA id
 i26sm7738720pfu.6.2021.08.20.08.37.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 20 Aug 2021 08:38: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: 9d4cbf0f-1eca-4e1a-ac62-23f282f47db4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:from:to:cc:references:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=dVOZ4z0XPa7OayGE8ECMnwdJyIdPwvP3nXcnH8MPASM=;
        b=A/zNrhCd3U9O9ero/5NghZBre9EOOjJ3OGobszwgvGoiOz7/5WsjufLewqFNiAvU0v
         UdflMS96g40+NfLrBAqJeCjCdymuciBQ80Yx/AQ8ITRU/L7SATQ2tHnIIaF5k29JMsjP
         WAvdDEXHkH/FVzOYK69bzTjmosbJipBqxfsdB/cAPu2yYaYLLNyru8HIfNH/zhlEl+mU
         b5+PJ4XRQM2BJW9oXzisu/vOdi7dHLX+vQAJHyTA5vk0DQ7OMESbpxAVqABg7O8/+78J
         3nht4WbwZ0TDJVCxNgnUkxAG6lFfKLPK4ZeS+qG0noIJNBwIfI2dl2YXRq8khGR4QbyN
         AtMQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:from:to:cc:references:message-id:date
         :user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=dVOZ4z0XPa7OayGE8ECMnwdJyIdPwvP3nXcnH8MPASM=;
        b=a0yEnGvpCu1W/1jdp9Jn8OOnusUQHYFJ71BbzUT3NHyuA5n7nZoGvUnc+5HBONeSRJ
         VrQD/r0QhlwWE0MKZbolwvoiw/R67kLNzNrGNxYh1pEOwg4zlkrdAQ2Y+sGuliqlizZk
         q875QS1RurC6BcI0j+thTlQ0KxLs/qVW6jNJN0FU3fIbQtHM/7AZTlp6I+/IvDMZogjF
         pn1Uf3ct3Ov1yY2Amzfic88GZ3zzlvZPaJv6rBFSUjS/zXVYfb28lZSJ4EUrmMXmoowH
         W75yCuRCM5xm/KIwENBa/+UjJxAOoEKqq/y9wfOBn0iS5UjKNq/pAlFJ3xCsXYTOeyiM
         i7iw==
X-Gm-Message-State: AOAM532qmDHy8+nzv4+r1rPMqWHGc076kcKObORULW2BJ8d5mT7Fs610
	TJdLoxM6x5+G8DuHdOKCrkQ=
X-Google-Smtp-Source: ABdhPJyVl6KA/n8a2L0ZyHmpD0HkIjOfmbblHOo22Ydnq/pt3+qZWO40wgWo8CzM7IJsFIvGGIvzGQ==
X-Received: by 2002:a63:1962:: with SMTP id 34mr19583687pgz.14.1629473891609;
        Fri, 20 Aug 2021 08:38:11 -0700 (PDT)
Subject: Re: [PATCH V3 13/13] HV/Storvsc: Add Isolation VM support for storvsc
 driver
From: Tianyu Lan <ltykernel@gmail.com>
To: Michael Kelley <mikelley@microsoft.com>, KY Srinivasan
 <kys@microsoft.com>, Haiyang Zhang <haiyangz@microsoft.com>,
 Stephen Hemminger <sthemmin@microsoft.com>,
 "wei.liu@kernel.org" <wei.liu@kernel.org>, Dexuan Cui <decui@microsoft.com>,
 "tglx@linutronix.de" <tglx@linutronix.de>,
 "mingo@redhat.com" <mingo@redhat.com>, "bp@alien8.de" <bp@alien8.de>,
 "x86@kernel.org" <x86@kernel.org>, "hpa@zytor.com" <hpa@zytor.com>,
 "dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
 "luto@kernel.org" <luto@kernel.org>,
 "peterz@infradead.org" <peterz@infradead.org>,
 "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
 "boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>,
 "jgross@suse.com" <jgross@suse.com>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>,
 "joro@8bytes.org" <joro@8bytes.org>, "will@kernel.org" <will@kernel.org>,
 "davem@davemloft.net" <davem@davemloft.net>,
 "kuba@kernel.org" <kuba@kernel.org>, "jejb@linux.ibm.com"
 <jejb@linux.ibm.com>, "martin.petersen@oracle.com"
 <martin.petersen@oracle.com>, "arnd@arndb.de" <arnd@arndb.de>,
 "hch@lst.de" <hch@lst.de>,
 "m.szyprowski@samsung.com" <m.szyprowski@samsung.com>,
 "robin.murphy@arm.com" <robin.murphy@arm.com>,
 "thomas.lendacky@amd.com" <thomas.lendacky@amd.com>,
 "brijesh.singh@amd.com" <brijesh.singh@amd.com>,
 "ardb@kernel.org" <ardb@kernel.org>, Tianyu Lan <Tianyu.Lan@microsoft.com>,
 "pgonda@google.com" <pgonda@google.com>,
 "martin.b.radev@gmail.com" <martin.b.radev@gmail.com>,
 "akpm@linux-foundation.org" <akpm@linux-foundation.org>,
 "kirill.shutemov@linux.intel.com" <kirill.shutemov@linux.intel.com>,
 "rppt@kernel.org" <rppt@kernel.org>,
 "sfr@canb.auug.org.au" <sfr@canb.auug.org.au>,
 "saravanand@fb.com" <saravanand@fb.com>,
 "krish.sadhukhan@oracle.com" <krish.sadhukhan@oracle.com>,
 "aneesh.kumar@linux.ibm.com" <aneesh.kumar@linux.ibm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "rientjes@google.com" <rientjes@google.com>,
 "hannes@cmpxchg.org" <hannes@cmpxchg.org>, "tj@kernel.org" <tj@kernel.org>
Cc: "iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org>,
 "linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
 "linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
 "linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
 "netdev@vger.kernel.org" <netdev@vger.kernel.org>,
 vkuznets <vkuznets@redhat.com>,
 "parri.andrea@gmail.com" <parri.andrea@gmail.com>,
 "dave.hansen@intel.com" <dave.hansen@intel.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-14-ltykernel@gmail.com>
 <MWHPR21MB1593EEF30FFD5C60ED744985D7C09@MWHPR21MB1593.namprd21.prod.outlook.com>
 <a96626db-4ac9-3ce4-64e9-92568e4f827a@gmail.com>
Message-ID: <9ae704a9-838c-0a54-9c16-f0f10eaaaefe@gmail.com>
Date: Fri, 20 Aug 2021 23:37:56 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <a96626db-4ac9-3ce4-64e9-92568e4f827a@gmail.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 8bit

On 8/20/2021 11:20 PM, Tianyu Lan wrote:
>> The whole approach here is to do dma remapping on each individual page
>> of the I/O buffer.  But wouldn't it be possible to use dma_map_sg() to 
>> map
>> each scatterlist entry as a unit?  Each scatterlist entry describes a 
>> range of
>> physically contiguous memory.  After dma_map_sg(), the resulting dma
>> address must also refer to a physically contiguous range in the swiotlb
>> bounce buffer memory.   So at the top of the "for" loop over the 
>> scatterlist
>> entries, do dma_map_sg() if we're in an isolated VM.  Then compute the
>> hvpfn value based on the dma address instead of sg_page().  But 
>> everything
>> else is the same, and the inner loop for populating the pfn_arry is 
>> unmodified.
>> Furthermore, the dma_range array that you've added is not needed, since
>> scatterlist entries already have a dma_address field for saving the 
>> mapped
>> address, and dma_unmap_sg() uses that field.
> 
> I don't use dma_map_sg() here in order to avoid introducing one more 
> loop(e,g dma_map_sg()). We already have a loop to populate 
> cmd_request->dma_range[] and so do the dma map in the same loop.

Sorry for a typo. s/cmd_request->dma_range[]/payload->range.pfn_array[]/


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 15:40:25 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 15:40:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169598.309820 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH6d7-0000RT-91; Fri, 20 Aug 2021 15:40:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169598.309820; Fri, 20 Aug 2021 15:40: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 1mH6d7-0000RM-4i; Fri, 20 Aug 2021 15:40:25 +0000
Received: by outflank-mailman (input) for mailman id 169598;
 Fri, 20 Aug 2021 15:40:23 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eXiP=NL=microsoft.com=mikelley@srs-us1.protection.inumbo.net>)
 id 1mH6d5-0000RE-3i
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 15:40:23 +0000
Received: from outbound.mail.eo.outlook.com (unknown [40.93.8.8])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 83138a4b-5801-4e6d-9366-cd74ae701ceb;
 Fri, 20 Aug 2021 15:40:19 +0000 (UTC)
Received: from CY4PR21MB1586.namprd21.prod.outlook.com (2603:10b6:910:90::10)
 by CY4PR21MB0181.namprd21.prod.outlook.com (2603:10b6:903:ba::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.0; Fri, 20 Aug
 2021 15:40:09 +0000
Received: from CY4PR21MB1586.namprd21.prod.outlook.com
 ([fe80::686d:43d8:a7e8:1aa6]) by CY4PR21MB1586.namprd21.prod.outlook.com
 ([fe80::686d:43d8:a7e8:1aa6%8]) with mapi id 15.20.4457.007; Fri, 20 Aug 2021
 15: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: 83138a4b-5801-4e6d-9366-cd74ae701ceb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Twk6JxRCCorgtqG9tUHN26l3kqiniajhANolR2SN+vuVrmuzLs8jxbMOGkiZlb7wdhrGPY+WSWynp23O6LkKw/6ja+ZOcbNaCABlVD2INdsVGWxzYhRMqyP73xikDY6a3t4I5YlZ4JEnQbFLHj4ov1a+9IY7KxfzMvz2L4A8T7CwG5QHsmVZVz7E/cNqIhsBKG/7Wqts5Enwjczk9ViyxZqhg/ehfaPcFgIzvXj96B7GNlk+j8wyYRrqZuzHYGesBEyVbrYbs7KOzbqWR8/cHFhWemqQzi3frQkk189dgW5UrOWSgNZA/WfbEyDf7GBZCOhcLOeRxxIdSGzL1Gt7Nw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version;
 bh=+/NK5CpwxxqKlpEdtVzC/K4J3I9XlbMl3qZJvfxbzUY=;
 b=L1hyilwLzh3NcgO4SY21fD8vP3NRvSpHhNinbWLIqXm/dKmwcXh8JZl0ZWBDXO2JrsrHZZE054WmXqGo87S45d46ZP088vi4vF7/34qWqz0XCw8HelKGBF4tmtEWGMkaSJwLqZ5gd5h7zsomiuFNL9BPqG/vdTE/1IjAe3GzNrId+TqY2g0U3LPiZDclw5izVFiaUPhIPqPb1hpxUGbSdGHUN+kY1+AhnX+HLGKMfUgvYv0TTTh53PGso89Onl7sehtIOF9YBySltQn2pvHgihiQ2puMQiRH3e347LMx749xK/rzSvVn8zH6z8zZGqOlgHeu4C51Wk9gaw8GHa2Cqw==
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=+/NK5CpwxxqKlpEdtVzC/K4J3I9XlbMl3qZJvfxbzUY=;
 b=fZ5t9YbHJEzPzxj8FyR4Voc2uHmyUHv/Pl1dDNBZkcZ65uWfQ+8iQIMOkE80qt7zjxcJ0gs+WQwQBz7m8lqKXCOjfYRiEoekQiVz3vxyCYuyVuVkzb5kVeKCXjWK7073QwgL7f1SNH0cn0Zod+EAGyfhBnSoUY/VurH/0YwQcq0=
From: Michael Kelley <mikelley@microsoft.com>
To: "hch@lst.de" <hch@lst.de>
CC: Tianyu Lan <ltykernel@gmail.com>, KY Srinivasan <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>, Stephen Hemminger
	<sthemmin@microsoft.com>, "wei.liu@kernel.org" <wei.liu@kernel.org>, Dexuan
 Cui <decui@microsoft.com>, "tglx@linutronix.de" <tglx@linutronix.de>,
	"mingo@redhat.com" <mingo@redhat.com>, "bp@alien8.de" <bp@alien8.de>,
	"x86@kernel.org" <x86@kernel.org>, "hpa@zytor.com" <hpa@zytor.com>,
	"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
	"luto@kernel.org" <luto@kernel.org>, "peterz@infradead.org"
	<peterz@infradead.org>, "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	"boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>, "jgross@suse.com"
	<jgross@suse.com>, "sstabellini@kernel.org" <sstabellini@kernel.org>,
	"joro@8bytes.org" <joro@8bytes.org>, "will@kernel.org" <will@kernel.org>,
	"davem@davemloft.net" <davem@davemloft.net>, "kuba@kernel.org"
	<kuba@kernel.org>, "jejb@linux.ibm.com" <jejb@linux.ibm.com>,
	"martin.petersen@oracle.com" <martin.petersen@oracle.com>, "arnd@arndb.de"
	<arnd@arndb.de>, "m.szyprowski@samsung.com" <m.szyprowski@samsung.com>,
	"robin.murphy@arm.com" <robin.murphy@arm.com>, "thomas.lendacky@amd.com"
	<thomas.lendacky@amd.com>, "brijesh.singh@amd.com" <brijesh.singh@amd.com>,
	"ardb@kernel.org" <ardb@kernel.org>, Tianyu Lan <Tianyu.Lan@microsoft.com>,
	"pgonda@google.com" <pgonda@google.com>, "martin.b.radev@gmail.com"
	<martin.b.radev@gmail.com>, "akpm@linux-foundation.org"
	<akpm@linux-foundation.org>, "kirill.shutemov@linux.intel.com"
	<kirill.shutemov@linux.intel.com>, "rppt@kernel.org" <rppt@kernel.org>,
	"sfr@canb.auug.org.au" <sfr@canb.auug.org.au>, "saravanand@fb.com"
	<saravanand@fb.com>, "krish.sadhukhan@oracle.com"
	<krish.sadhukhan@oracle.com>, "aneesh.kumar@linux.ibm.com"
	<aneesh.kumar@linux.ibm.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "rientjes@google.com"
	<rientjes@google.com>, "hannes@cmpxchg.org" <hannes@cmpxchg.org>,
	"tj@kernel.org" <tj@kernel.org>, "iommu@lists.linux-foundation.org"
	<iommu@lists.linux-foundation.org>, "linux-arch@vger.kernel.org"
	<linux-arch@vger.kernel.org>, "linux-hyperv@vger.kernel.org"
	<linux-hyperv@vger.kernel.org>, "linux-kernel@vger.kernel.org"
	<linux-kernel@vger.kernel.org>, "linux-scsi@vger.kernel.org"
	<linux-scsi@vger.kernel.org>, "netdev@vger.kernel.org"
	<netdev@vger.kernel.org>, vkuznets <vkuznets@redhat.com>,
	"parri.andrea@gmail.com" <parri.andrea@gmail.com>, "dave.hansen@intel.com"
	<dave.hansen@intel.com>
Subject: RE: [PATCH V3 13/13] HV/Storvsc: Add Isolation VM support for storvsc
 driver
Thread-Topic: [PATCH V3 13/13] HV/Storvsc: Add Isolation VM support for
 storvsc driver
Thread-Index: AQHXjUf4MnryDC/QY0a+heAsfHsxAqt3v7VggAQeiYCAAK+YMA==
Date: Fri, 20 Aug 2021 15:40:08 +0000
Message-ID:
 <CY4PR21MB1586FEB6F6ADD592C04E541BD7C19@CY4PR21MB1586.namprd21.prod.outlook.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-14-ltykernel@gmail.com>
 <MWHPR21MB1593EEF30FFD5C60ED744985D7C09@MWHPR21MB1593.namprd21.prod.outlook.com>
 <20210820043237.GC26450@lst.de>
In-Reply-To: <20210820043237.GC26450@lst.de>
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=ec22af1e-6e43-4509-a7bc-50a42915e01c;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=2021-08-20T15:01:05Z;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-office365-filtering-correlation-id: 8952dda2-15ee-4aa7-8c78-08d963f0ca7e
x-ms-traffictypediagnostic: CY4PR21MB0181:
x-ms-exchange-transport-forked: True
x-ld-processed: 72f988bf-86f1-41af-91ab-2d7cd011db47,ExtAddr
x-microsoft-antispam-prvs:
 <CY4PR21MB01815EA2D7C317824F336A33D7C19@CY4PR21MB0181.namprd21.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 utuOfdMYn/AtqiQgHWCFiKU4B80qQ20mGq5jBTuPSsuIzsYe+QXsiYsmvOC/WafqgrJ+jNi6bJFq2fOsM4ukkgAm5ALdlaaFCB0Ncti87Pzo5WBUJKZR24dc9Wijc/C3hycrPeXMVHfShgqp6R6Tat8MffLYm7JMHHsiwaRPJGEECL/1OnatYNHbzW5j/i1Qls5XVeKCzPf4lPtBkdVyAju90yoVowViwGvmF3bmPggsMaypkt+3eHOGfu/xab7ypZBHZVrk8jMIyOZrD8Qnzs7kfVEVJuavPtlz1eiPtU7s9sEdrX3DINmCw4ETB11jUBSTklMyU/KNMFTOCJWNJ4L/6nN7eVgjy3gBEczRjZgoc6Z5TtpYcOakPRu4rQriObCmPRT0jinj8HbvG8ERNNjgwIKRKBbg7egv6Nn4LTTeMZgc1XFwZK2QE0UeTAEkR2pg2pFUsMciMD2Z8uqhjekUPmIaSzub3pyQqVRoI/1ya04Brp0iG4TxTUa+5gjo43okEPUosaCirx78JXNaPWW3U8KZwUsd6yBivYlCmIQS3bv0woPbQo8GeJ1yl4g/wGpxlgrfpusfol8BcaNOgAzrYdtp2jq9cFquUsWWYf5WqtlqCPhnLE0mEJ0h8ZZ8vAklg1f441htVwnWVlSS4GYrPAtp9OnOlZFEYPXQNOdTKyFYlhg1RVhp45KWUghoPpVPDMOk3GuRCFje7ebX0g==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY4PR21MB1586.namprd21.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(71200400001)(9686003)(66946007)(76116006)(55016002)(10290500003)(66446008)(64756008)(66556008)(66476007)(508600001)(316002)(54906003)(8990500004)(38070700005)(82950400001)(122000001)(38100700002)(4326008)(6916009)(5660300002)(52536014)(82960400001)(8676002)(8936002)(83380400001)(7696005)(26005)(33656002)(6506007)(7416002)(7406005)(2906002)(86362001)(186003);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?DdPGWdWTMNl4lEHpzE77mNPNkz+09aUEvJ3ft5KAcfi5nzungltFQKlS/SV/?=
 =?us-ascii?Q?+t7dGaDBMBzor1zYbzTP4p8X8HDjPJ+Sbpqn/ebkZRrZCVRQURfaCdc/P45d?=
 =?us-ascii?Q?emIovBXST4P2LUNGB//RZyhRUM/qFUw+s0AwnSwlGG168wSWQgLtJ85RIqfP?=
 =?us-ascii?Q?p/3Pl2cZXd+3io1kPBWLmLEvz4uA7oFeyfLn7y4IdEphLU1ck4lReId4ajI8?=
 =?us-ascii?Q?YyVH6V/sGzr0Ea+DqwMEh4QxpMAAZ5QIQh228anLexENCMgiCkh8LzQA2gt2?=
 =?us-ascii?Q?5BgEwv/nd5ojYowxhrDNiE0StlTsSYcXu8sHPVOxeI2zMD8oSGqVQ0iJq1T2?=
 =?us-ascii?Q?BNF8oY72mzptYHfaf8G84C7+OzBTjkeAXEXaFqFNpY9WIYs056s7GJIMAH12?=
 =?us-ascii?Q?dMvqZe5syqsMV5SEiwOG+fRsAF3Mg3ugpb9trS82+CoVG4CYxtBPAyHnYEdj?=
 =?us-ascii?Q?OZ8ynmm4JO6Hn12y2fyRCMM5IvoTQfG9Oh+0hSCngRalMUgGMP3WtQO6ig1y?=
 =?us-ascii?Q?NHbg+yDIa0VSd0EEQIccZxOVleWHygqpvnnTZI07POZDZvZIOwQ+1dRuBtYW?=
 =?us-ascii?Q?NX3BCjqUVGK8W9gqTZlSptPD+RIbJ41gRF9b+FVpO1Ow8gr7z6UNBAglVTld?=
 =?us-ascii?Q?ujXUAHySptja20WVgrL8ohmNRdXMkV6lsgpuK8D4733s9lqSF8oYqFCGeaTC?=
 =?us-ascii?Q?sq27uz7ZKcT3H5uj8KO5V73d43nZ7jXp1VrEcC9c8dxQqGHEukazfXJMO9iW?=
 =?us-ascii?Q?x5WH5NOxLx/fBofAdE2uG7BYxJWOIdPAVTfXly6Tb88eKDZm6TWFEDGDVgfT?=
 =?us-ascii?Q?7FIomxBTzy2PhHY2MScUoUf+FEkgg8S8VLmEBQnB9DI+LhmRvyp9z3rV5igp?=
 =?us-ascii?Q?2oesTUpmli2Jhj+bGbDpMzmpe1BssxvZxrw4i8wMSfId3NBuwaYQdDoQjMTW?=
 =?us-ascii?Q?bRbTN3HLt5YcD9Dmx4EVpXCsL1+BJpE5EBhUw/A3U//b3vkHGpY1thCv5V4u?=
 =?us-ascii?Q?tROntR1OcJ8sG09z41yMzTQEkBvmvXU6Vp3TgVtEym2PRUUswvNzVpVQ7Pcs?=
 =?us-ascii?Q?t2aHdDkDjWK0mwZsjS7twATIA1+Lf9SrBFZXSO5RSZS8LjvqEMet5Xf/A/dd?=
 =?us-ascii?Q?2oNohxhCyHKPGbz2Q5F3UWOwqRlVs4xZAunsjumPefURTlQU4R3k3dqG4+KH?=
 =?us-ascii?Q?FH+KbHuwjPmyXdhwSVq+nfmujOfS/ypld7ZY2u7Oybba8Lm0iZx14lT7NdWB?=
 =?us-ascii?Q?N3gQDRsxLgoWhY/Fc8lhTU50am/49xypCfnS64GG8o5ZULuLygpiAUJNN326?=
 =?us-ascii?Q?Qn0Mb87rCp8wrXwk5ODhfwi0?=
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: CY4PR21MB1586.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8952dda2-15ee-4aa7-8c78-08d963f0ca7e
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Aug 2021 15:40:08.7649
 (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: 99cyBQnHfXNgKPnTN0avtns84U9PaVoHFQe1/qYdj/dpMDUiFeqzyMsnwm4c+SfG3QgfgpQzH3V8+03B8A1OaY00KS2xJekq+mqk1jvd4fg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR21MB0181

From: hch@lst.de <hch@lst.de> Sent: Thursday, August 19, 2021 9:33 PM
>=20
> On Thu, Aug 19, 2021 at 06:17:40PM +0000, Michael Kelley wrote:
> > >
> > > @@ -1824,6 +1848,13 @@ static int storvsc_queuecommand(struct Scsi_Ho=
st *host, struct scsi_cmnd *scmnd)
> > >  		payload->range.len =3D length;
> > >  		payload->range.offset =3D offset_in_hvpg;
> > >
> > > +		cmd_request->dma_range =3D kcalloc(hvpg_count,
> > > +				 sizeof(*cmd_request->dma_range),
> > > +				 GFP_ATOMIC);
> >
> > With this patch, it appears that storvsc_queuecommand() is always
> > doing bounce buffering, even when running in a non-isolated VM.
> > The dma_range is always allocated, and the inner loop below does
> > the dma mapping for every I/O page.  The corresponding code in
> > storvsc_on_channel_callback() that does the dma unmap allows for
> > the dma_range to be NULL, but that never happens.
>=20
> Maybe I'm missing something in the hyperv code, but I don't think
> dma_map_page would bounce buffer for the non-isolated case.  It
> will just return the physical address.

OK, right.  In the isolated VM case, the swiotlb is in force mode
and will do bounce buffering.  In the non-isolated case,
dma_map_page_attrs() -> dma_direct_map_page() does a lot of
checking but eventually just returns the physical address.  As this
patch is currently coded, it adds a fair amount of overhead
here in storvsc_queuecommand(), plus the overhead of the dma
mapping function deciding to use the identity mapping.  But if
dma_map_sg() is used and the code is simplified a bit, the overhead
will be less in general and will be per sgl entry instead of per page.

>=20
> > > +				if (offset_in_hvpg) {
> > > +					payload->range.offset =3D dma & ~HV_HYP_PAGE_MASK;
> > > +					offset_in_hvpg =3D 0;
> > > +				}
> >
> > I'm not clear on why payload->range.offset needs to be set again.
> > Even after the dma mapping is done, doesn't the offset in the first
> > page have to be the same?  If it wasn't the same, Hyper-V wouldn't
> > be able to process the PFN list correctly.  In fact, couldn't the above
> > code just always set offset_in_hvpg =3D 0?
>=20
> Careful.  DMA mapping is supposed to keep the offset in the page, but
> for that the DMA mapping code needs to know what the device considers a
> "page".  For that the driver needs to set the min_align_mask field in
> struct device_dma_parameters.
>=20

I see that the swiotlb code gets and uses the min_align_mask field.  But
the NVME driver is the only driver that ever sets it, so the value is zero
in all other cases.  Does swiotlb just use PAGE_SIZE in that that case?  I
couldn't tell from a quick glance at the swiotlb code.

> >
> > The whole approach here is to do dma remapping on each individual page
> > of the I/O buffer.  But wouldn't it be possible to use dma_map_sg() to =
map
> > each scatterlist entry as a unit?  Each scatterlist entry describes a r=
ange of
> > physically contiguous memory.  After dma_map_sg(), the resulting dma
> > address must also refer to a physically contiguous range in the swiotlb
> > bounce buffer memory.   So at the top of the "for" loop over the scatte=
rlist
> > entries, do dma_map_sg() if we're in an isolated VM.  Then compute the
> > hvpfn value based on the dma address instead of sg_page().  But everyth=
ing
> > else is the same, and the inner loop for populating the pfn_arry is unm=
odified.
> > Furthermore, the dma_range array that you've added is not needed, since
> > scatterlist entries already have a dma_address field for saving the map=
ped
> > address, and dma_unmap_sg() uses that field.
>=20
> Yes, I think dma_map_sg is the right thing to use here, probably even
> for the non-isolated case so that we can get the hv drivers out of their
> little corner and into being more like a normal kernel driver.  That
> is, use the scsi_dma_map/scsi_dma_unmap helpers, and then iterate over
> the dma addresses one page at a time using for_each_sg_dma_page.
>=20

Doing some broader revisions to the Hyper-V storvsc driver is up next on
my to-do list.  Rather than significantly modifying the non-isolated case i=
n
this patch set, I'd suggest factoring it into my broader revisions.

Michael


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 16:01:36 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 16:01:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169604.309831 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH6xX-0003qx-5d; Fri, 20 Aug 2021 16:01:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169604.309831; Fri, 20 Aug 2021 16: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 1mH6xX-0003qq-1s; Fri, 20 Aug 2021 16:01:31 +0000
Received: by outflank-mailman (input) for mailman id 169604;
 Fri, 20 Aug 2021 16:01:29 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+YXI=NL=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mH6xV-0003qh-J8
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 16:01:29 +0000
Received: from mail-pj1-x1029.google.com (unknown [2607:f8b0:4864:20::1029])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 5c292e26-eeaa-4257-826a-d27eeb69609b;
 Fri, 20 Aug 2021 16:01:28 +0000 (UTC)
Received: by mail-pj1-x1029.google.com with SMTP id
 om1-20020a17090b3a8100b0017941c44ce4so14078431pjb.3
 for <xen-devel@lists.xenproject.org>; Fri, 20 Aug 2021 09:01:28 -0700 (PDT)
Received: from ?IPv6:2404:f801:0:5:8000::50b? ([2404:f801:9000:1a:efea::50b])
 by smtp.gmail.com with ESMTPSA id
 d13sm7231479pfn.136.2021.08.20.09.01.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 20 Aug 2021 09:01: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: 5c292e26-eeaa-4257-826a-d27eeb69609b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=6hkf/wZhCtR6vOr1rFs7j4PHAMzvx+pV5RifX8vz64w=;
        b=ulVBu2T5KowwVfB0c+Pj7D1x6UX3lrEW4q5gi1uKDrhDSOEEvgFJc2iatc2+TtU876
         3YWisMvf4eMwCoOLCeYGsB+uOF346PhOTgb7zUh3Lb2nRH2KW0qeY+hbTn7tvtD1DnY9
         nXFdSFR98f4JZ8VDtEW33Rhy+blxF8OQ86t/6hll5TaD7Nx6ZojSMKSKhJ1hw75OGNdF
         5QNgQa+RekCcy2Frgo3cicRVsfzQQTPJ8j4hT1RZJLSBFG3QWfgIWg3k//uuKSre7T/2
         8VzMqDr1DEa04OHtgJG2gbhoc3+6h476DmYqCtJSetNKMXlb2f0pfPhwPy8bR4VO+w7L
         lnRA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=6hkf/wZhCtR6vOr1rFs7j4PHAMzvx+pV5RifX8vz64w=;
        b=cVW2ZX4iSRCRP997CRBdmNLZ40sVdKOx2exO2JOiko2seR07B4XTsK4UZGo9dwsLMR
         FO3usYz0twYlM3LPiKu2MGoiytn16ZD6tBcvWoeUX5FuRAYTal84n3NxrjLHkXhd6nA+
         rs5L7BD0YRoJlrIA3emu3jGe3Ahw8C7Ev4dP7DDTlFywESesP1ItPURl2k/8vr2XuW3G
         HeDPU6A97LiL22s3b9n7UBEl2ZPX7NHjRjgajjWDQMAYas+li48RQuZFQ3tjGunmELzA
         j39q/Mnsvcoy8R+F0g5BmW7Pi6gvzSOLFD1nCNnprUQTEQjGN4RtOuvJfSDXs2kRd8f5
         GyXw==
X-Gm-Message-State: AOAM5313m48J2amzxqcWG2nskPOszLd5yQMrwuM9qqOs6PwEwsicXsJZ
	jswXwEXxCjQUh0mpZC4DTZs=
X-Google-Smtp-Source: ABdhPJwR1RVJYLKe/MVCnk4GrQZc0dmrh9f2+p51nJ6B5j1MzX30pZi4Z2P9kd3FIw+73ti2bZhlVQ==
X-Received: by 2002:a17:90a:c88:: with SMTP id v8mr5330712pja.197.1629475287515;
        Fri, 20 Aug 2021 09:01:27 -0700 (PDT)
Subject: Re: [PATCH V3 13/13] HV/Storvsc: Add Isolation VM support for storvsc
 driver
To: "hch@lst.de" <hch@lst.de>, Michael Kelley <mikelley@microsoft.com>
Cc: KY Srinivasan <kys@microsoft.com>, Haiyang Zhang
 <haiyangz@microsoft.com>, Stephen Hemminger <sthemmin@microsoft.com>,
 "wei.liu@kernel.org" <wei.liu@kernel.org>, Dexuan Cui <decui@microsoft.com>,
 "tglx@linutronix.de" <tglx@linutronix.de>,
 "mingo@redhat.com" <mingo@redhat.com>, "bp@alien8.de" <bp@alien8.de>,
 "x86@kernel.org" <x86@kernel.org>, "hpa@zytor.com" <hpa@zytor.com>,
 "dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
 "luto@kernel.org" <luto@kernel.org>,
 "peterz@infradead.org" <peterz@infradead.org>,
 "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
 "boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>,
 "jgross@suse.com" <jgross@suse.com>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>,
 "joro@8bytes.org" <joro@8bytes.org>, "will@kernel.org" <will@kernel.org>,
 "davem@davemloft.net" <davem@davemloft.net>,
 "kuba@kernel.org" <kuba@kernel.org>, "jejb@linux.ibm.com"
 <jejb@linux.ibm.com>, "martin.petersen@oracle.com"
 <martin.petersen@oracle.com>, "arnd@arndb.de" <arnd@arndb.de>,
 "m.szyprowski@samsung.com" <m.szyprowski@samsung.com>,
 "robin.murphy@arm.com" <robin.murphy@arm.com>,
 "thomas.lendacky@amd.com" <thomas.lendacky@amd.com>,
 "brijesh.singh@amd.com" <brijesh.singh@amd.com>,
 "ardb@kernel.org" <ardb@kernel.org>, Tianyu Lan <Tianyu.Lan@microsoft.com>,
 "pgonda@google.com" <pgonda@google.com>,
 "martin.b.radev@gmail.com" <martin.b.radev@gmail.com>,
 "akpm@linux-foundation.org" <akpm@linux-foundation.org>,
 "kirill.shutemov@linux.intel.com" <kirill.shutemov@linux.intel.com>,
 "rppt@kernel.org" <rppt@kernel.org>,
 "sfr@canb.auug.org.au" <sfr@canb.auug.org.au>,
 "saravanand@fb.com" <saravanand@fb.com>,
 "krish.sadhukhan@oracle.com" <krish.sadhukhan@oracle.com>,
 "aneesh.kumar@linux.ibm.com" <aneesh.kumar@linux.ibm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "rientjes@google.com" <rientjes@google.com>,
 "hannes@cmpxchg.org" <hannes@cmpxchg.org>, "tj@kernel.org" <tj@kernel.org>,
 "iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org>,
 "linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
 "linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
 "linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
 "netdev@vger.kernel.org" <netdev@vger.kernel.org>,
 vkuznets <vkuznets@redhat.com>,
 "parri.andrea@gmail.com" <parri.andrea@gmail.com>,
 "dave.hansen@intel.com" <dave.hansen@intel.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-14-ltykernel@gmail.com>
 <MWHPR21MB1593EEF30FFD5C60ED744985D7C09@MWHPR21MB1593.namprd21.prod.outlook.com>
 <20210820043237.GC26450@lst.de>
From: Tianyu Lan <ltykernel@gmail.com>
Message-ID: <011eb875-ced7-1e98-f09a-ee83699854e4@gmail.com>
Date: Sat, 21 Aug 2021 00:01:12 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210820043237.GC26450@lst.de>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit



On 8/20/2021 12:32 PM, hch@lst.de wrote:
> On Thu, Aug 19, 2021 at 06:17:40PM +0000, Michael Kelley wrote:
>>> +#define storvsc_dma_map(dev, page, offset, size, dir) \
>>> +	dma_map_page(dev, page, offset, size, dir)
>>> +
>>> +#define storvsc_dma_unmap(dev, dma_range, dir)		\
>>> +		dma_unmap_page(dev, dma_range.dma,	\
>>> +			       dma_range.mapping_size,	\
>>> +			       dir ? DMA_FROM_DEVICE : DMA_TO_DEVICE)
>>> +
>>
>> Each of these macros is used only once.  IMHO, they don't
>> add a lot of value.  Just coding dma_map/unmap_page()
>> inline would be fine and eliminate these lines of code.
> 
> Yes, I had the same thought when looking over the code.  Especially
> as macros tend to further obsfucate the code (compared to actual helper
> functions).
> 
>>> +				for (i = 0; i < request->hvpg_count; i++)
>>> +					storvsc_dma_unmap(&device->device,
>>> +						request->dma_range[i],
>>> +						request->vstor_packet.vm_srb.data_in == READ_TYPE);
>>
>> I think you can directly get the DMA direction as request->cmd->sc_data_direction.
> 
> Yes.
> 
>>>
>>> @@ -1824,6 +1848,13 @@ static int storvsc_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *scmnd)
>>>   		payload->range.len = length;
>>>   		payload->range.offset = offset_in_hvpg;
>>>
>>> +		cmd_request->dma_range = kcalloc(hvpg_count,
>>> +				 sizeof(*cmd_request->dma_range),
>>> +				 GFP_ATOMIC);
>>
>> With this patch, it appears that storvsc_queuecommand() is always
>> doing bounce buffering, even when running in a non-isolated VM.
>> The dma_range is always allocated, and the inner loop below does
>> the dma mapping for every I/O page.  The corresponding code in
>> storvsc_on_channel_callback() that does the dma unmap allows for
>> the dma_range to be NULL, but that never happens.
> 
> Maybe I'm missing something in the hyperv code, but I don't think
> dma_map_page would bounce buffer for the non-isolated case.  It
> will just return the physical address.

Yes, the swiotlb_force mode isn't enabled in non-isolated VM and so
dma_page_page() returns the physical address directly.

> 
>>> +		if (!cmd_request->dma_range) {
>>> +			ret = -ENOMEM;
>>
>> The other memory allocation failure in this function returns
>> SCSI_MLQUEUE_DEVICE_BUSY.   It may be debatable as to whether
>> that's the best approach, but that's a topic for a different patch.  I
>> would suggest being consistent and using the same return code
>> here.
> 
> Independent of if SCSI_MLQUEUE_DEVICE_BUSY is good (it it a common
> pattern in SCSI drivers), ->queuecommand can't return normal
> negative errnos.  It must return the SCSI_MLQUEUE_* codes or 0.
> We should probably change the return type of the method definition
> to a suitable enum to make this more clear.

Yes, will update. Thanks.

> 
>>> +				if (offset_in_hvpg) {
>>> +					payload->range.offset = dma & ~HV_HYP_PAGE_MASK;
>>> +					offset_in_hvpg = 0;
>>> +				}
>>
>> I'm not clear on why payload->range.offset needs to be set again.
>> Even after the dma mapping is done, doesn't the offset in the first
>> page have to be the same?  If it wasn't the same, Hyper-V wouldn't
>> be able to process the PFN list correctly.  In fact, couldn't the above
>> code just always set offset_in_hvpg = 0?
> 
> Careful.  DMA mapping is supposed to keep the offset in the page, but
> for that the DMA mapping code needs to know what the device considers a
> "page".  For that the driver needs to set the min_align_mask field in
> struct device_dma_parameters.

The default allocate unit of swiotlb bounce is IO_TLB_SIZE(2k).
Otherwise, I find some scsi request cmd's length is less than 100byte.
Keep a small unit can avoid wasting bounce buffer and just need to
update the offset.


> 
>>
>> The whole approach here is to do dma remapping on each individual page
>> of the I/O buffer.  But wouldn't it be possible to use dma_map_sg() to map
>> each scatterlist entry as a unit?  Each scatterlist entry describes a range of
>> physically contiguous memory.  After dma_map_sg(), the resulting dma
>> address must also refer to a physically contiguous range in the swiotlb
>> bounce buffer memory.   So at the top of the "for" loop over the scatterlist
>> entries, do dma_map_sg() if we're in an isolated VM.  Then compute the
>> hvpfn value based on the dma address instead of sg_page().  But everything
>> else is the same, and the inner loop for populating the pfn_arry is unmodified.
>> Furthermore, the dma_range array that you've added is not needed, since
>> scatterlist entries already have a dma_address field for saving the mapped
>> address, and dma_unmap_sg() uses that field.
> 
> Yes, I think dma_map_sg is the right thing to use here, probably even
> for the non-isolated case so that we can get the hv drivers out of their
> little corner and into being more like a normal kernel driver.  That
> is, use the scsi_dma_map/scsi_dma_unmap helpers, and then iterate over
> the dma addresses one page at a time using for_each_sg_dma_page.
> 

I wonder whether we may introduce a new API scsi_dma_map_with_callback. 
Caller provides a callback and run callback in sg loop of 
dma_direct_map_sg(). Caller need to update some data structure in the sg 
loop. Here is such case that driver needs to populate 
payload->range.pfn_array[]. This is why I don't use dma_map_sg() here.


>>
>> One thing:  There's a maximum swiotlb mapping size, which I think works
>> out to be 256 Kbytes.  See swiotlb_max_mapping_size().  We need to make
>> sure that we don't get a scatterlist entry bigger than this size.  But I think
>> this already happens because you set the device->dma_mask field in
>> Patch 11 of this series.  __scsi_init_queue checks for this setting and
>> sets max_sectors to limits transfers to the max mapping size.
> 
> Indeed.
> 


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 16:04:16 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 16:04:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169608.309842 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH70A-0004Tu-Ig; Fri, 20 Aug 2021 16:04:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169608.309842; Fri, 20 Aug 2021 16:04:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH70A-0004Tn-F2; Fri, 20 Aug 2021 16:04:14 +0000
Received: by outflank-mailman (input) for mailman id 169608;
 Fri, 20 Aug 2021 16:04:14 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5+ZW=NL=arm.com=Rahul.Singh@srs-us1.protection.inumbo.net>)
 id 1mH709-0004Th-Qi
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 16:04:14 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com (unknown
 [40.107.20.62]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 41d603d4-01d0-11ec-a6dd-12813bfff9fa;
 Fri, 20 Aug 2021 16:04:11 +0000 (UTC)
Received: from DBBPR09CA0025.eurprd09.prod.outlook.com (2603:10a6:10:d4::13)
 by VI1PR08MB4159.eurprd08.prod.outlook.com (2603:10a6:803:e9::33) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.18; Fri, 20 Aug
 2021 16:04:09 +0000
Received: from DB5EUR03FT015.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:d4:cafe::5a) by DBBPR09CA0025.outlook.office365.com
 (2603:10a6:10:d4::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Fri, 20 Aug 2021 16:04:09 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT015.mail.protection.outlook.com (10.152.20.145) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Fri, 20 Aug 2021 16:04:09 +0000
Received: ("Tessian outbound 19a632698c93:v103");
 Fri, 20 Aug 2021 16:04:09 +0000
Received: from 3adb8d4953e6.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B294F569-C070-400B-8E10-53348CDDE024.1; 
 Fri, 20 Aug 2021 16:03:59 +0000
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 3adb8d4953e6.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 20 Aug 2021 16:03:59 +0000
Received: from AS8PR08MB6919.eurprd08.prod.outlook.com (2603:10a6:20b:39e::10)
 by AS8PR08MB6342.eurprd08.prod.outlook.com (2603:10a6:20b:31a::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 20 Aug
 2021 16:03:55 +0000
Received: from AS8PR08MB6919.eurprd08.prod.outlook.com
 ([fe80::6c11:19f8:1422:5dea]) by AS8PR08MB6919.eurprd08.prod.outlook.com
 ([fe80::6c11:19f8:1422:5dea%3]) with mapi id 15.20.4436.019; Fri, 20 Aug 2021
 16:03:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 41d603d4-01d0-11ec-a6dd-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AS6s5NrIQBEKJ3V4Pkoss0WWWWyelHtOR4PTvyH5XW8=;
 b=FcFnpNgWJV/TN8FizKlVy9ma7E2/4u//AIzMCpZwmwqFgUhoh2MCzeVyG8l8Zs63UkwRNFbvJxEL8W89+F5X1rCg5Ty8N0E6D6GuDMKpWarLQs/qaq8vv1KVs/6PuznShaL2kJig6rzbs/XEiXf7OLH+xbmBaXkufKZPM6eh034=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 60003dadc4a77003
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZxGouiqGbQFLYUt9bmYlYjKldjOVFxJLmS0z3hm5Pk+lwaM6pbvQyWwAycv5zHQqSqFkHXWL8EudJJZP657g28sk8X8RF0aDgvkheWLFVeB7fIyuNYQvdY91lbLNujonuArF0P2QX/bzrxl32fH1Ghqv66SPRoEv1UkSm5QZlkxVxE8by0yriZaOBMiSXyNa27ZaTKtR4yghCtTm8SD242hdjAt9pdjnvdtTSkPMrLKQZZyvRl2e2WGbO+88N1ZOD2aAHKMCHvEaeCR0NnKFhrTftoS3jE7vF5sSO0tXW2VDjCFpqHoAExvi2j4jW1EAkhVqGXADidG8lkWZx49bQg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AS6s5NrIQBEKJ3V4Pkoss0WWWWyelHtOR4PTvyH5XW8=;
 b=WnK6oqF6D69uExfOSFUsp0QxtC+f67OesgDQd3SGy6GBaHhNdNv5+VabMEj916uQtTC1PRV3olCXXbEs8Ic00O4VFD9UncSl703kb9cQpGDy9B8/fqJ8azXFpyoTY9KWO+f6bH9004sGZdh+s8mW4eBiE0xAr3TeqouiTg++6lnWo0Ub9D9W9cfzsxFvSuxVgPCNz6AI/KvvO3B82/rsGr4qsPwnyy45sREF0Vzb+phxJJeQnhXQNAGFEFlv7ZcnBxKVL6v9I67LmENcy7zmi0cdMyFNDj+U0gbdGgklFhMpZ8iIB/PhMW/OnYYXn7MOqLrDrVbrgrr5x0uP4R1o6Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AS6s5NrIQBEKJ3V4Pkoss0WWWWyelHtOR4PTvyH5XW8=;
 b=FcFnpNgWJV/TN8FizKlVy9ma7E2/4u//AIzMCpZwmwqFgUhoh2MCzeVyG8l8Zs63UkwRNFbvJxEL8W89+F5X1rCg5Ty8N0E6D6GuDMKpWarLQs/qaq8vv1KVs/6PuznShaL2kJig6rzbs/XEiXf7OLH+xbmBaXkufKZPM6eh034=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Julien Grall <julien@xen.org>
CC: xen-devel <xen-devel@lists.xenproject.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Ian Jackson <iwj@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>, Stefano
 Stabellini <sstabellini@kernel.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v1 12/14] arm/libxl: Emulated PCI device tree node in
 libxl
Thread-Topic: [PATCH v1 12/14] arm/libxl: Emulated PCI device tree node in
 libxl
Thread-Index: AQHXlPL+C+mRsI0CR06NagiBtFP5pat6ypyAgAHFXIA=
Date: Fri, 20 Aug 2021 16:03:39 +0000
Message-ID: <664B0578-B440-4229-8D6B-7B98857E75BF@arm.com>
References: <cover.1629366665.git.rahul.singh@arm.com>
 <31e48fe4b219ebaf5f1d9f3f7ca9b433caadc5b2.1629366665.git.rahul.singh@arm.com>
 <c0ea2f05-bf0a-a8b0-a811-d899516c26ba@xen.org>
In-Reply-To: <c0ea2f05-bf0a-a8b0-a811-d899516c26ba@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: c717df3f-1254-4623-a638-08d963f4251b
x-ms-traffictypediagnostic: AS8PR08MB6342:|VI1PR08MB4159:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR08MB41592658EB317A84AA3A185AFCC19@VI1PR08MB4159.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:8882;OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 a51SVpnYMglSj9NFkwQ8nNrNIaMOU0qUHHO29lgrfFGiESK76j0OsZeYV7YmhXhXbAQmcM7OPr02Ow3GQWJ8qZRc2v2dlIFrhAiE2yXhsYzh5RNXbEcMJasH77RI3Zy9PI6a/g5B70AnuYyu07Em+BH/vozUs7QUa7Vydhm7kIFv4QDBkAjQI4GLJT8zoCtOspwBVVcYeiiLbGv+Q7prhaMpApzHP75VGy/INtZmo4GlJIbOdzkomtSLdat105Vk7qzF2l6gtChCefY88RRG1zj3rD7ob8lAG1EDHkj2u3xRtszxIlKMOmO3ZwCKT2j495pS//exeD+aV0lCuNIdPtXsY4UzoAEyX4Jlfr6rTVDW90P4F3dGLahFDNWxSTFNU1pZx1zfa6cChPClFN31zJUz3zPLzSsIigaMk/f7LA+VZWAyTrAABEeglqDpp5q/5UAZ+2oNhi/zHWbxQK/rSTfd3KUbwt2NR91LElCyRJJd1B9Vl41YUwPFkq2Hk+6ccbpAY6qU8NQmm1sPeHkLMFAgVg4vDHuWFCVfMX2adgr2QlkSeC+R0d43/C7kUREdYb3rf1I6EvR59ONsoAIXznYjf5V4GkG/6zUXIOltf/j9QfKO6vTxvSNj44znU4+5wrhkHku/b4tUX0zc6fmHSQKtu8Yts6wRChogGGYcchmA6r42DjgYzLq7sp5yxoPT2PDDbYT0lVqsDqAEDCFf+0x7N09CCnETHPmxawSjYwRGOU5xGr32kqL8l0gXgKWqe6YT29/onPT+PyKQ/DLFCWUZo8f29/xdWlSeourr0FWJTsIl6g327o7lr7IdoM2Sti7qW4v1bxflL5M/mY7JtA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB6919.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(39850400004)(396003)(366004)(346002)(376002)(136003)(6506007)(53546011)(5660300002)(186003)(71200400001)(76116006)(38070700005)(6512007)(8936002)(6666004)(8676002)(26005)(66946007)(66556008)(86362001)(64756008)(66476007)(66446008)(6916009)(6486002)(7416002)(478600001)(2616005)(36756003)(4326008)(316002)(54906003)(83380400001)(38100700002)(122000001)(966005)(2906002)(33656002)(91956017)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?IFnW2+qJLnM995KNMab4fQvW7sUeu7VM5lmJh1hC9Rnj8mUg2ySGDYKDDHe/?=
 =?us-ascii?Q?2xQKS8Fsxh2WtolWkBvNknLDIm53THxqpWmnM3ikYQr1sazgAJL0xgGIljCB?=
 =?us-ascii?Q?91DJFcopSvdINcawtmLzuxbrYmcU2sPxYOoQJXLz1oWYoY/wOV888K4YR7c0?=
 =?us-ascii?Q?g0i2EQ0C8wgGnj/RCGCD5yUP8s9AL0/VHZPfjjtPBjY2GCCn0AxsNDialmSw?=
 =?us-ascii?Q?H9OLIB04L0eeAxfdl1ZvJ+Aufo9Ccf2NnGXfCJRuFxbbr/z4boipHNCJl8Wg?=
 =?us-ascii?Q?L5kUo+f/81fTnzOzD1+p1jb8KjoOq8IwCoasyJc4Pt+NCewnd4wtmBBcWuu2?=
 =?us-ascii?Q?P6LzyrfbE2SkskFJHA8YQlefT7l3zed2P/bHWkOmlZH8sRu3+aFAbgz/Z4zN?=
 =?us-ascii?Q?0cv44igYo/WsVe96RozlfRMh5pgmKc4u7Wle36OXkVEdPJSVO2u5oGjibLc0?=
 =?us-ascii?Q?CBtn5XFcOS+MtcL04Mcri+xz7JTbBbowUv75g2zFx5p4el+koGnMU5q1yu7W?=
 =?us-ascii?Q?o7ycwnFxepOfLwmGBkUnW488QcAMjE90FqBtzwLRbUPfTOgFKrguQ9ZgKkhr?=
 =?us-ascii?Q?2eGPw94ER0DULiP48LDH4vpurBHqJOf55ZmhwB/JXPYlxoKsG6DpUXqObwLT?=
 =?us-ascii?Q?0UC+XLuHpgsM+UaSgAvoBvDmueebUkouOPipTOHGqzXfcihY22H6I4AIMC6e?=
 =?us-ascii?Q?8CPFZkJxNla810pMlLRz4R96MPzzUaRXkF+bCgU8Rf+rcGsk3GE7axAC1bsN?=
 =?us-ascii?Q?fo8CTNDkNmsc1ynrGj9ECDJc86Hb2V86e2zz5mnpXRXyZwRzv48gYDKgM46C?=
 =?us-ascii?Q?17HhXqRhrKP6Oo71AWlAdCAtT9U5y2NC8M8TRvPhz1whfYc8Uu0J9vsOPFuU?=
 =?us-ascii?Q?5BKNgk8TDE4KP2SusfQX/tHfgglA/ETiMB2slqIcN3Az5z1iigdLPPN7wDtU?=
 =?us-ascii?Q?vZn1XYL33Y9TOYc0tWfz46U0r2VqQ6hbefXKOOg7YqqXs/shWRXpulrjG9AC?=
 =?us-ascii?Q?VQEm3jInGKx2fjL/m7NE0Qurw+siiR3BGm+rKUVcYXg1t0k4GGxxoE5w7Owv?=
 =?us-ascii?Q?eAeiQxC3Q1jvdKnXJOzaQ/628As3Z2spopu0cSKv0pFmoBQdKyc1038X40S8?=
 =?us-ascii?Q?Hf6W3cRxhFL17FmCfYFI40EKKz/KeZSObUPM5PWGQ99ffZe8/BttgBy3oxOU?=
 =?us-ascii?Q?J3Nr07xBP4OEaVQOk41h767UaVxhrrCB9sQvrNw9HOw92mkx1ZBQRHZGeHJe?=
 =?us-ascii?Q?wotwUqYCLOm1z2C/Ek3yeTcCUZxS0s26dczizwhsfaeLuHr/c7HedxoiMqPQ?=
 =?us-ascii?Q?oNUQGP1sVZWstKeDnRPOBi0y?=
Content-Type: text/plain; charset="us-ascii"
Content-ID: <8B1FE54F8BA4974781DCA21D80649BC5@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6342
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT015.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	65828909-4f4a-48d7-6e5e-08d963f41cdb
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JePTvFwJL0intmVsxeS9/fCWqLIE1jTN7CvGOUr2jrO/w5suYdZLlDsKqh64jovG3vOf+QCJxwdthlKl/FjUDPzMcgxqVS2IctLhBYZ5x9GITqwDixUyYHytJ8D2WQTacu/GHoY6zwa42PRWRsmy1h/iAzjqW/upN0P4O6g4WJwn/Ac9EYoxFoOgac4jQAjSPHxx3g1Eth1jhXOj++MgR/pleTE3MBF6q3mxTDnGoNFsKGwsVprQ9Y+5GrwnbYGt6avmpFtck9WU0GqmfM3ynuUKP2RreZMtJz8WN/1rN3YjCLD5eBcF2RNev76rsxetx+TxVvVB4HD2a94+6VDUU+aPnGLWYnBF58xAwJmoo2pTLNPyNKGH+hLLW0TKynsJMS2m6VTy40dhonKxruhafcFIVnw8PUEDcrHOPOYxXrSpKIKiF27OxDIhBhf2kO+/P9OWxHzgCHo/YN9luWkERluMVAJ03lrGXuQCl8NL0R8fvZ9gX+F90s0Pt9p4tE4/2pqMVI5BwW4OfShAeBtRhHY92y6K2tYIn0Y7UqMipm2e1/7RZhaa4fxfIqhx/CwfjGtPpcUwMcZNcTEeQw8lr0u1EVvXEJGGfYCNWxJ01vO2/hvoLrCxV81jxdejbRhfyxAAb4l/RlFRdgVNypeA2UlHwLBcMpc13ZiN0cclby/B4H17Vl1RhXcz7+rQlHwDSEs+vucHU+ANdKmsrcCWEXVIbYxJaZ11oB5BexFGFvLLAwPRmBpieVTKS2RfszvnCtP6yBoiZL9n3X5J0g0jlDiqFPjDLwDOTYiNjNeRGnk=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(136003)(346002)(376002)(396003)(39850400004)(36840700001)(46966006)(54906003)(316002)(82310400003)(6512007)(478600001)(4326008)(26005)(6862004)(6486002)(33656002)(336012)(107886003)(86362001)(5660300002)(186003)(53546011)(70206006)(70586007)(6506007)(81166007)(8676002)(36756003)(36860700001)(966005)(2906002)(356005)(6666004)(83380400001)(82740400003)(47076005)(2616005)(8936002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 16:04:09.5284
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c717df3f-1254-4623-a638-08d963f4251b
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT015.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB4159

Hi Julien,

> On 19 Aug 2021, at 2:00 pm, Julien Grall <julien@xen.org> wrote:
>=20
> Hi Rahul,
>=20
> On 19/08/2021 13:02, Rahul Singh wrote:
>> libxl will create an emulated PCI device tree node in the device tree to
>> enable the guest OS to discover the virtual PCI during guest boot.
>> Emulated PCI device tree node will only be created when there is any
>> device assigned to guest.
>> A new area has been reserved in the arm guest physical map at
>> which the VPCI bus is declared in the device tree (reg and ranges
>> parameters of the node).
>> Signed-off-by: Rahul Singh <rahul.singh@arm.com>
>> ---
>>  tools/libs/light/libxl_arm.c          | 109 ++++++++++++++++++++++++++
>>  tools/libs/light/libxl_types.idl      |   1 +
>>  tools/xl/xl_parse.c                   |   2 +
>>  xen/include/public/arch-arm.h         |  11 +++
>>  xen/include/public/device_tree_defs.h |   1 +
>>  5 files changed, 124 insertions(+)
>> diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
>> index e3140a6e00..a091e97e76 100644
>> --- a/tools/libs/light/libxl_arm.c
>> +++ b/tools/libs/light/libxl_arm.c
>> @@ -269,6 +269,58 @@ static int fdt_property_regs(libxl__gc *gc, void *f=
dt,
>>      return fdt_property(fdt, "reg", regs, sizeof(regs));
>>  }
>>  +static int fdt_property_values(libxl__gc *gc, void *fdt,
>> +        const char *name, unsigned num_cells, ...)
>> +{
>> +    uint32_t prop[num_cells];
>> +    be32 *cells =3D &prop[0];
>> +    int i;
>> +    va_list ap;
>> +    uint32_t arg;
>> +
>> +    va_start(ap, num_cells);
>> +    for (i =3D 0 ; i < num_cells; i++) {
>> +        arg =3D va_arg(ap, uint32_t);
>> +        set_cell(&cells, 1, arg);
>> +    }
>> +    va_end(ap);
>> +
>> +    return fdt_property(fdt, name, prop, sizeof(prop));
>> +}
>> +
>> +static int fdt_property_vpci_ranges(libxl__gc *gc, void *fdt,
>> +                                    unsigned addr_cells,
>> +                                    unsigned size_cells,
>> +                                    unsigned num_regs, ...)
>> +{
>> +    uint32_t regs[num_regs*((addr_cells*2)+size_cells+1)];
>> +    be32 *cells =3D &regs[0];
>> +    int i;
>> +    va_list ap;
>> +    uint64_t arg;
>> +
>> +    va_start(ap, num_regs);
>> +    for (i =3D 0 ; i < num_regs; i++) {
>> +        /* Set the memory bit field */
>> +        arg =3D va_arg(ap, uint64_t);
>> +        set_cell(&cells, 1, arg);
>> +
>> +        /* Set the vpci bus address */
>> +        arg =3D addr_cells ? va_arg(ap, uint64_t) : 0;
>> +        set_cell(&cells, addr_cells , arg);
>> +
>> +        /* Set the cpu bus address where vpci address is mapped */
>> +        set_cell(&cells, addr_cells, arg);
>> +
>> +        /* Set the vpci size requested */
>> +        arg =3D size_cells ? va_arg(ap, uint64_t) : 0;
>> +        set_cell(&cells, size_cells,arg);
>> +    }
>> +    va_end(ap);
>> +
>> +    return fdt_property(fdt, "ranges", regs, sizeof(regs));
>> +}
>> +
>>  static int make_root_properties(libxl__gc *gc,
>>                                  const libxl_version_info *vers,
>>                                  void *fdt)
>> @@ -668,6 +720,57 @@ static int make_vpl011_uart_node(libxl__gc *gc, voi=
d *fdt,
>>      return 0;
>>  }
>>  +static int make_vpci_node(libxl__gc *gc, void *fdt,
>> +        const struct arch_info *ainfo,
>> +        struct xc_dom_image *dom)
>> +{
>> +    int res;
>> +    const uint64_t vpci_ecam_base =3D GUEST_VPCI_ECAM_BASE;
>> +    const uint64_t vpci_ecam_size =3D GUEST_VPCI_ECAM_SIZE;
>> +    const char *name =3D GCSPRINTF("pcie@%"PRIx64, vpci_ecam_base);
>> +
>> +    res =3D fdt_begin_node(fdt, name);
>> +    if (res) return res;
>> +
>> +    res =3D fdt_property_compat(gc, fdt, 1, "pci-host-ecam-generic");
>> +    if (res) return res;
>> +
>> +    res =3D fdt_property_string(fdt, "device_type", "pci");
>> +    if (res) return res;
>> +
>> +    res =3D fdt_property_regs(gc, fdt, GUEST_ROOT_ADDRESS_CELLS,
>> +            GUEST_ROOT_SIZE_CELLS, 1, vpci_ecam_base, vpci_ecam_size);
>> +    if (res) return res;
>> +
>> +    res =3D fdt_property_values(gc, fdt, "bus-range", 2, 0,17);
>=20
> AFAICT, the "bus-range" is optional. Can you explain why we need it?

We need it to implement the function pci_ecam_map_bus().
>=20
>> +    if (res) return res;
>> +
>> +    res =3D fdt_property_cell(fdt, "#address-cells", 3);
>> +    if (res) return res;
>> +
>> +    res =3D fdt_property_cell(fdt, "#size-cells", 2);
>> +    if (res) return res;
>> +
>> +    res =3D fdt_property_string(fdt, "status", "okay");
>> +    if (res) return res;
>> +
>> +    res =3D fdt_property_vpci_ranges(gc, fdt, GUEST_ROOT_ADDRESS_CELLS,
>> +        GUEST_ROOT_SIZE_CELLS, 2,
>> +        GUEST_VPCI_ADDR_TYPE_MEM, GUEST_VPCI_MEM_ADDR, GUEST_VPCI_MEM_S=
IZE,
>> +        GUEST_VPCI_ADDR_TYPE_PREFETCH_MEM, GUEST_VPCI_PREFETCH_MEM_ADDR=
,
>> +        GUEST_VPCI_PREFETCH_MEM_SIZE);
>> +    if (res) return res;
>> +
>> +    res =3D fdt_property_values(gc, fdt, "msi-map", 4, 0, GUEST_PHANDLE=
_ITS,
>> +                              0, 0x10000);
>=20
> The ITS is not exposed to the guest so far. So I think this wants to be m=
oved to the future series that will add ITS support.

Ok. I will remove this in next version.

>> +    if (res) return res;
>> +
>> +    res =3D fdt_end_node(fdt);
>> +    if (res) return res;
>> +
>> +    return 0;
>> +}
>> +
>>  static const struct arch_info *get_arch_info(libxl__gc *gc,
>>                                               const struct xc_dom_image =
*dom)
>>  {
>> @@ -971,6 +1074,9 @@ next_resize:
>>          if (info->tee =3D=3D LIBXL_TEE_TYPE_OPTEE)
>>              FDT( make_optee_node(gc, fdt) );
>>  +        if (libxl_defbool_val(info->arch_arm.vpci))
>> +            FDT( make_vpci_node(gc, fdt, ainfo, dom) );
>> +
>>          if (pfdt)
>>              FDT( copy_partial_fdt(gc, fdt, pfdt) );
>>  @@ -1189,6 +1295,9 @@ void libxl__arch_domain_build_info_setdefault(lib=
xl__gc *gc,
>>      /* ACPI is disabled by default */
>>      libxl_defbool_setdefault(&b_info->acpi, false);
>>  +    /* VPCI is disabled by default */
>> +    libxl_defbool_setdefault(&b_info->arch_arm.vpci, false);
>=20
> Here you say that vPCI is disabled by default. However, AFAICT, in the pr=
evious patch you will unconditionally enable vPCI if Xen has been built wit=
h VPCI.
>=20
> Rather than unconditionally enable VPCI for a domain, I think we should i=
ntroduce a new flag that is passed to Xen at the domain creation. The flag =
will be set based on arch_arm.vpci.

OK. I will introduce the flag in next version.

>=20
>> +
>>      if (b_info->type !=3D LIBXL_DOMAIN_TYPE_PV)
>>          return;
>>  diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_=
types.idl
>> index 3f9fff653a..78b1ddf0b8 100644
>> --- a/tools/libs/light/libxl_types.idl
>> +++ b/tools/libs/light/libxl_types.idl
>> @@ -644,6 +644,7 @@ libxl_domain_build_info =3D Struct("domain_build_inf=
o",[
>>        ("arch_arm", Struct(None, [("gic_version", libxl_gic_version),
>>                                 ("vuart", libxl_vuart_type),
>> +                               ("vpci", libxl_defbool),
>=20
> Any new addition in the structure should be accompanied with a LIBXL_HAVE=
_* in the libxl.h header.

OK.
>=20
>>                                ])),
>>      ("arch_x86", Struct(None, [("msr_relaxed", libxl_defbool),
>>                                ])),
>> diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
>> index 17dddb4cd5..ffafbeffb4 100644
>> --- a/tools/xl/xl_parse.c
>> +++ b/tools/xl/xl_parse.c
>> @@ -1497,6 +1497,8 @@ void parse_config_data(const char *config_source,
>>          }
>>          if (d_config->num_pcidevs && c_info->type =3D=3D LIBXL_DOMAIN_T=
YPE_PV)
>>              libxl_defbool_set(&b_info->u.pv.e820_host, true);
>> +        if (d_config->num_pcidevs)
>> +            libxl_defbool_set(&b_info->arch_arm.vpci, true);
>>      }
>>        if (!xlu_cfg_get_list (config, "dtdev", &dtdevs, 0, 0)) {
>> diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm=
.h
>> index 0a9749e768..01d13e669e 100644
>> --- a/xen/include/public/arch-arm.h
>> +++ b/xen/include/public/arch-arm.h
>> @@ -426,6 +426,17 @@ typedef uint64_t xen_callback_t;
>>  #define GUEST_VPCI_ECAM_BASE    xen_mk_ullong(0x10000000)
>>  #define GUEST_VPCI_ECAM_SIZE    xen_mk_ullong(0x10000000)
>>  +/* PCI-PCIe memory space types */
>> +#define GUEST_VPCI_ADDR_TYPE_PREFETCH_MEM xen_mk_ullong(0x42000000)
>> +#define GUEST_VPCI_ADDR_TYPE_MEM          xen_mk_ullong(0x02000000)
>=20
> What the size of those regions?

Non Prefetch Memory: Size 64 MB start at 512 MB
Prefetch Memory: Size 128 GB start at 36 GB
>=20
>> +
>> +/* Guest PCI-PCIe memory space where config space and BAR will be avail=
able.*/
>> +#define GUEST_VPCI_PREFETCH_MEM_ADDR  xen_mk_ullong(0x900000000)
>> +#define GUEST_VPCI_MEM_ADDR           xen_mk_ullong(0x20000000)
> So far the memory layout defines the address in ascending order. So pleas=
e add that after GUEST_RAM_BANK_BASES_*.

Ok.
>=20
> However, if I am not mistaken that base address you provide will clash wi=
th RAM bank 1. It also seem to be pretty high which means that this will no=
t work for 32-bit domain or on CPUs that don't allow offer large IPA bits.

Yes I also checked that now that it is having clash with RAM bank 1.
There is unused space is guest memory that we can use for Non Prefetch Memo=
ry as per below guest memory map.
https://gitlab.com/xen-project/fusa/fusa-docs/-/blob/master/high-level/gues=
t-memory-layout-arm.rst

Proposed value:
Non Prefetch Memory: Size 64 MB start at 0x22001000
Prefetch Memory: Size 4 GB start at 4 GB.

>=20
> I think we need to start making the guest layout more dynamic. The VPCI m=
emory space would have to go right after the end of the RAM allocated for a=
 given guest.
>=20
>> +
>> +#define GUEST_VPCI_PREFETCH_MEM_SIZE      xen_mk_ullong(0x2000000000)
>> +#define GUEST_VPCI_MEM_SIZE               xen_mk_ullong(0x04000000)
>=20
> It would be better if the size for each region is defined right after eac=
h base.
OK.=20

>=20
> Also, how did you decide the size of each region?

I thought 64 MB will be sufficient. I think it should be based on number of=
 devices we can assign to the guest.=20

Regards,
Rahul

>=20
>> +
>>  /*
>>   * 16MB =3D=3D 4096 pages reserved for guest to use as a region to map =
its
>>   * grant table in.
>> diff --git a/xen/include/public/device_tree_defs.h b/xen/include/public/=
device_tree_defs.h
>> index 209d43de3f..d24d86b1fc 100644
>> --- a/xen/include/public/device_tree_defs.h
>> +++ b/xen/include/public/device_tree_defs.h
>> @@ -7,6 +7,7 @@
>>   * onwards. Reserve a high value for the GIC phandle.
>>   */
>>  #define GUEST_PHANDLE_GIC (65000)
>> +#define GUEST_PHANDLE_ITS (64999)
>>    #define GUEST_ROOT_ADDRESS_CELLS 2
>>  #define GUEST_ROOT_SIZE_CELLS 2
>=20
> Cheers,
>=20
> --=20
> Julien Grall



From xen-devel-bounces@lists.xenproject.org Fri Aug 20 16:08:47 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 16:08:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169615.309853 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH74W-0005DK-8J; Fri, 20 Aug 2021 16:08:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169615.309853; Fri, 20 Aug 2021 16: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 1mH74W-0005DD-4a; Fri, 20 Aug 2021 16:08:44 +0000
Received: by outflank-mailman (input) for mailman id 169615;
 Fri, 20 Aug 2021 16:08:43 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eXiP=NL=microsoft.com=mikelley@srs-us1.protection.inumbo.net>)
 id 1mH74V-0005D7-4X
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 16:08:43 +0000
Received: from outbound.mail.eo.outlook.com (unknown [40.93.3.13])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id e1392a3d-01d0-11ec-a6df-12813bfff9fa;
 Fri, 20 Aug 2021 16:08:38 +0000 (UTC)
Received: from CY4PR21MB1586.namprd21.prod.outlook.com (2603:10b6:910:90::10)
 by CY4PR21MB0630.namprd21.prod.outlook.com (2603:10b6:903:12e::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.1; Fri, 20 Aug
 2021 16:08:32 +0000
Received: from CY4PR21MB1586.namprd21.prod.outlook.com
 ([fe80::686d:43d8:a7e8:1aa6]) by CY4PR21MB1586.namprd21.prod.outlook.com
 ([fe80::686d:43d8:a7e8:1aa6%8]) with mapi id 15.20.4457.007; Fri, 20 Aug 2021
 16:08: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: e1392a3d-01d0-11ec-a6df-12813bfff9fa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TY6igOUyzdF0rVBZ2UcB6Ev9ueZEF7QpwENfv6Per5IcgZDPKYTiFXkbxOJEJMnAGLgt+8uo6McgHzrhQ/AdJlaieu1jNYEGjKCAYaz2BLhZ1qYiqRaS93n256s9xVMg2VTEi4L4s98d9JKTwVu+eVIU38Eh7SbbcXtmVM8nEa66A0oaAKmUjOsPYCUTmiQp3mw8OmT4q3r5Y0L3eK0KfwZyKcnMjJYo1CQItX89eY4jkOjosKmTJ9q/zz3woENsE5/JEYjC/Xt+awy44Aoh57BqWALUd5C9zid/yZS4h02OV6qv/E8yq3si9vcrjInA0FlIpzptwQOv79YTh1An8w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+H0tDeTmwPsXkAmbo0pX2aftdDFEj/VcfEvMEKiOGi4=;
 b=L4lTkr9uiEeQ+H/6GXxv8YnQk83P4J69DIT7GuJaPeXadhWVILDfo430dpH6t2TIk14F8MDFVXaTq6uZjCxiN/RgdKpxYrd1l5gS5O5Jo1Tr3IxXUByqjFEQnpFnINk4HQEpgXPgUQFHx2dA/FjuSRZMpDC7VJSP3Qwqld5q0YY9DZQaWNBC7aiRgfaU+95M/eUAxsfiuWivHEd4w/Ft0HaY/kJ7ljS/WbWyX/C1ODpnpbfG7G5D1QATS9JxWa5JTumM7c4kdNi2gtViFGoPsCrFG1AvH4S20hhEQo9kwqTO/k4NSKmbziDwzdwXyz2MfjEk4sDgCOVUnzdIfpxbWQ==
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=+H0tDeTmwPsXkAmbo0pX2aftdDFEj/VcfEvMEKiOGi4=;
 b=Qo4QhWF7WhFLlT6/ElfXBMMRDGgJzhTnJ0579en7N1NDXqfeCvmbvSXnZ7ginKUHwagg218BMnRMsM1Cl4Htj/W4s79orbnnvZ8MvB9kNeqyx4eTOAn7wPcCo6mP8mOz2d6DAStkuGnWyLeNW/prDhngSaM9P3GriTnfV4Yrxrs=
From: Michael Kelley <mikelley@microsoft.com>
To: Tianyu Lan <ltykernel@gmail.com>, KY Srinivasan <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>, Stephen Hemminger
	<sthemmin@microsoft.com>, "wei.liu@kernel.org" <wei.liu@kernel.org>, Dexuan
 Cui <decui@microsoft.com>, "tglx@linutronix.de" <tglx@linutronix.de>,
	"mingo@redhat.com" <mingo@redhat.com>, "bp@alien8.de" <bp@alien8.de>,
	"x86@kernel.org" <x86@kernel.org>, "hpa@zytor.com" <hpa@zytor.com>,
	"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
	"luto@kernel.org" <luto@kernel.org>, "peterz@infradead.org"
	<peterz@infradead.org>, "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	"boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>, "jgross@suse.com"
	<jgross@suse.com>, "sstabellini@kernel.org" <sstabellini@kernel.org>,
	"joro@8bytes.org" <joro@8bytes.org>, "will@kernel.org" <will@kernel.org>,
	"davem@davemloft.net" <davem@davemloft.net>, "kuba@kernel.org"
	<kuba@kernel.org>, "jejb@linux.ibm.com" <jejb@linux.ibm.com>,
	"martin.petersen@oracle.com" <martin.petersen@oracle.com>, "arnd@arndb.de"
	<arnd@arndb.de>, "hch@lst.de" <hch@lst.de>, "m.szyprowski@samsung.com"
	<m.szyprowski@samsung.com>, "robin.murphy@arm.com" <robin.murphy@arm.com>,
	"thomas.lendacky@amd.com" <thomas.lendacky@amd.com>, "brijesh.singh@amd.com"
	<brijesh.singh@amd.com>, "ardb@kernel.org" <ardb@kernel.org>, Tianyu Lan
	<Tianyu.Lan@microsoft.com>, "pgonda@google.com" <pgonda@google.com>,
	"martin.b.radev@gmail.com" <martin.b.radev@gmail.com>,
	"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
	"kirill.shutemov@linux.intel.com" <kirill.shutemov@linux.intel.com>,
	"rppt@kernel.org" <rppt@kernel.org>, "sfr@canb.auug.org.au"
	<sfr@canb.auug.org.au>, "saravanand@fb.com" <saravanand@fb.com>,
	"krish.sadhukhan@oracle.com" <krish.sadhukhan@oracle.com>,
	"aneesh.kumar@linux.ibm.com" <aneesh.kumar@linux.ibm.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"rientjes@google.com" <rientjes@google.com>, "hannes@cmpxchg.org"
	<hannes@cmpxchg.org>, "tj@kernel.org" <tj@kernel.org>
CC: "iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org>,
	"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
	"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>, vkuznets
	<vkuznets@redhat.com>, "parri.andrea@gmail.com" <parri.andrea@gmail.com>,
	"dave.hansen@intel.com" <dave.hansen@intel.com>
Subject: RE: [PATCH V3 13/13] HV/Storvsc: Add Isolation VM support for storvsc
 driver
Thread-Topic: [PATCH V3 13/13] HV/Storvsc: Add Isolation VM support for
 storvsc driver
Thread-Index: AQHXjUf4MnryDC/QY0a+heAsfHsxAqt3v7VggATTgoCAAAfhIA==
Date: Fri, 20 Aug 2021 16:08:32 +0000
Message-ID:
 <CY4PR21MB158664748760672446BFA075D7C19@CY4PR21MB1586.namprd21.prod.outlook.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-14-ltykernel@gmail.com>
 <MWHPR21MB1593EEF30FFD5C60ED744985D7C09@MWHPR21MB1593.namprd21.prod.outlook.com>
 <a96626db-4ac9-3ce4-64e9-92568e4f827a@gmail.com>
In-Reply-To: <a96626db-4ac9-3ce4-64e9-92568e4f827a@gmail.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=17b8e382-57d0-4c83-8b70-e6b9188dc733;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=2021-08-20T15:48:32Z;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-office365-filtering-correlation-id: ee0201dd-fdff-4203-0104-08d963f4c1f9
x-ms-traffictypediagnostic: CY4PR21MB0630:
x-ms-exchange-transport-forked: True
x-ld-processed: 72f988bf-86f1-41af-91ab-2d7cd011db47,ExtAddr
x-microsoft-antispam-prvs:
 <CY4PR21MB063069C91821DB2B19844FC4D7C19@CY4PR21MB0630.namprd21.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:8273;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 zhmVJrKlueJP0U4GmOu0PtiGsKg+aF6JDSCxkBOYRH2XVjbEtuYDPVU8ZTR/Y/mwm13CYY/wo/KvDWzLy0bgK+LbADZMaf6V+PscVEOh1J6HFtkXyu2kob7RmgMCFMrzEel5VnPoCNoxLsGIbAYZ1qu3EsPgzKUEC0vOau0z8M61wwRolh3x8tsk/10gwKv71MqOpaXPgAz87nh1TrnVI8HxeVpxg8/osbq7S0cWojFHNH2UNhSIHS5+cYRW3dBkema4u3Rb7755PYw1RzU2VRDgWmAQO7tYRmySgNtMnIeXJD9CkqLjlEAZSTIYCtNuHgRL0RE5XkyivpAsasOevZhOEqEC7k9FwydF15rDNGUIugyoJ75b3PhCDDW3lifGnGPn4Ghq1Vs/eQwVFr2rg9CS+a1RqC30qXip77D248sm16HyO+agl5bZQGQtT0j0w+YrtplCrvX1M+5X2+A4B+tXzA7ZKn4nDOSWx7DG52wNgn+z4OjCE3ZDbsxNVwBw0TuhTkfQlvP28H9FgPMGrDr2T5f3Ql+iGb/LzBoGHJW/Fr1y5jyRcIKPtYsBLwTohp21TfleJbRcRYvVWi1bpko4AEeM4UHQGrrlMJUeVjVNzNl/hWr5/f0AKpVZwLCiB4QDUR/5I3j9HfHka/5cunzjCbck9N80A0x5Cu4hnJZD7Lekimt7PLr+N/7ggVZjb49cidDNQwZrAPkATwU7W9520lbu/NB+wzzWkay/9uE=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY4PR21MB1586.namprd21.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(508600001)(316002)(8936002)(4326008)(8990500004)(86362001)(83380400001)(71200400001)(10290500003)(66476007)(66556008)(64756008)(110136005)(8676002)(921005)(54906003)(76116006)(186003)(66946007)(66446008)(7416002)(55016002)(2906002)(38100700002)(6506007)(7406005)(9686003)(52536014)(82950400001)(82960400001)(33656002)(7696005)(38070700005)(122000001)(5660300002)(26005)(53546011);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?RnhQNlFId0pVQkMya0hsdXpYVnJLU3U0blY3RDhORnlhcGt0Vmw0QTN1UGRw?=
 =?utf-8?B?M1Zub0JXcU16TkxCTmMyWXZZV1lOTnExZENEWGU1K3ppMjJSMG1jZ2phU1hv?=
 =?utf-8?B?eGI2dEg5NjNBY1BmSXJ2K3F0dEQxdWVLZnhWcWFKdHo2V3BZU1pVSmlzcUsx?=
 =?utf-8?B?eTB3QkJYYTRYMHBDNjFpSWRJcFFBVHRrMG1QZWxOQldveUp4aGtsSit5OGEw?=
 =?utf-8?B?ZURoM2ZKV0J2N3d4a2xwaEpnTlJaMGNhQnI1SzBpeHljRW15NlBDemU0Qi9q?=
 =?utf-8?B?RTNudG5nNTkyd0gwcmtQOXdDWkM5dFBaL0oxTlp5dkU5SE9SdVVNNER4Mm1s?=
 =?utf-8?B?UG11cFN2dmtMN0xGdHdvd3NYUGU3MDlvcXdDZDl2RE1neEgwL1YxaVZDQi9w?=
 =?utf-8?B?Nk0rMmRtKzZXUnZaUGh1UWtKUjhqcnJTdEorcVMwZ1h5Q1ZNbWNVMFprVWJx?=
 =?utf-8?B?Nnp3ZE5HdEJ1NExKMXcrbnJIRkNML2xvTC9NTWd4cEFLZW54NXp3ckJKYmxJ?=
 =?utf-8?B?NFg5N3UweXIvWk8wV3FUSUJPaXpNaGZ2b0F4cFZZdDFGR2ZRekNKTVpqV041?=
 =?utf-8?B?Z080TVNmb3ozVk1zZUJjTHh5WE1UTHJBdEVwNmhBTGg2K2htZ3NiczEvQUxH?=
 =?utf-8?B?U3cycDRaVXUvVTNXbkVvZXdRS2QwNVZXNEdMT3hOM3FoemlGaElOOEZNQkNm?=
 =?utf-8?B?QlhxdWVGbXdqVnFuMjQ2a1FkTlVlUHdJMlFwdCtUR1l2RDZtNkdyNGYybVdH?=
 =?utf-8?B?aGt5SWNnWDVBZjRlQW81dFpJQjVhd1pFQ1ArTVhIczY2UjYxblJjZlhITkhE?=
 =?utf-8?B?RjlDWmM1NldIM0o0SzdISHhJQ01RaXdmVmZJZkEvRS9UWEJVUFRGZ29FbHNi?=
 =?utf-8?B?anFaUk5nWFB4NnJUelFRcGc2bTZGWmZNNnJ0c2g2Z2wyUE5JMTdtUHFhaEZG?=
 =?utf-8?B?aFdlajRmMk1kNXdMV1c1Z3BwR1hoaFAwMktaVWRIWExWcWlvTjNGNFBTVS9J?=
 =?utf-8?B?RHlpUndsdXZXRkVid2ovRFBxUEhOYkluOGJIREgzbjBCMExUMWw3NW5WWjRl?=
 =?utf-8?B?SDlxaDl0a1hybUxoeEZnOUVrWmpOSlVPVFBNRXoxNS82emU0ZUhUZEVBSmpV?=
 =?utf-8?B?MzVNRW02Q0xwRVh4VjNJSXhlZGVLdTNTZVg5Z1BTUVFoUTVnZkE2cE01UVBk?=
 =?utf-8?B?eFE1dXFaaHVvMFArSERsVkQ0U3drVDZnY1ZSbEVwb1dGcHlNTEVodFJib3Vv?=
 =?utf-8?B?YTZJZHlUVzNkUzYvMDIxaC9PNklxMS9QR1lmU3hGdDVRUk05dFV2b2tHTkhz?=
 =?utf-8?B?V2tGTElLQ0J5L3EzWkZuQVBqR3lNNVJpYzd4VWIrVDlnQ0ZFVVlWQy9tNERx?=
 =?utf-8?B?ZmgvNnFrVklaUnFhTllNdi80emFPWkFBWEV6K3lFSlhocjBCZGpoYjdIcGlD?=
 =?utf-8?B?Q3h3TjE0aXlYaHhSWnBodk5kQ3Q2dkF1RTBFQnM5RzBZbDNTNkp5VnZNQnhR?=
 =?utf-8?B?am95QVVzY09jOVhFclNIbXJhd1RQemFPclZjNjFZNUpmRUNwU3haVXp4Vk0w?=
 =?utf-8?B?TDRjblRoRFJUYzNzVjREdzlCanR6KzdZWEpGdXdJWExlZEc0S2pnNFdZUG1n?=
 =?utf-8?B?cUtmM0pjZWl5MmdSRDI3dmNwTFIvbmtOc05QV3BRaTEyRllDV1lLbFQ4S3M2?=
 =?utf-8?B?N0dyaTZLRFduWWhiWW0zR095UE41N3A5cm1vVDg4Q3BENmwwMnVWQzNGQlVt?=
 =?utf-8?Q?XAeZ88WyfJTO9t5543mrW3/uHlcr6mWfCWtlwgu?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: microsoft.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: CY4PR21MB1586.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ee0201dd-fdff-4203-0104-08d963f4c1f9
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Aug 2021 16:08:32.4059
 (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: xO8fyyaAz65eHLOQzdArWlu4p62qqD+BCCyq5FTn0Dg3XmvvJMiiCKkoljDBB0qwmMkM9akoOwJJiiUDD3YgRw/wF7vTOJc47XNlt5y0Eqo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR21MB0630

RnJvbTogVGlhbnl1IExhbiA8bHR5a2VybmVsQGdtYWlsLmNvbT4gU2VudDogRnJpZGF5LCBBdWd1
c3QgMjAsIDIwMjEgODoyMCBBTQ0KPiANCj4gT24gOC8yMC8yMDIxIDI6MTcgQU0sIE1pY2hhZWwg
S2VsbGV5IHdyb3RlOg0KPiA+IEZyb206IFRpYW55dSBMYW4gPGx0eWtlcm5lbEBnbWFpbC5jb20+
IFNlbnQ6IE1vbmRheSwgQXVndXN0IDksIDIwMjEgMTA6NTYgQU0NCj4gPg0KPiA+IEknbSBub3Qg
Y2xlYXIgb24gd2h5IHBheWxvYWQtPnJhbmdlLm9mZnNldCBuZWVkcyB0byBiZSBzZXQgYWdhaW4u
DQo+ID4gRXZlbiBhZnRlciB0aGUgZG1hIG1hcHBpbmcgaXMgZG9uZSwgZG9lc24ndCB0aGUgb2Zm
c2V0IGluIHRoZSBmaXJzdA0KPiA+IHBhZ2UgaGF2ZSB0byBiZSB0aGUgc2FtZT8gIElmIGl0IHdh
c24ndCB0aGUgc2FtZSwgSHlwZXItViB3b3VsZG4ndA0KPiA+IGJlIGFibGUgdG8gcHJvY2VzcyB0
aGUgUEZOIGxpc3QgY29ycmVjdGx5LiAgSW4gZmFjdCwgY291bGRuJ3QgdGhlIGFib3ZlDQo+ID4g
Y29kZSBqdXN0IGFsd2F5cyBzZXQgb2Zmc2V0X2luX2h2cGcgPSAwPw0KPiANCj4gVGhlIG9mZnNl
dCB3aWxsIGJlIGNoYW5nZWQuIFRoZSBzd2lvdGxiIGJvdW5jZSBidWZmZXIgaXMgYWxsb2NhdGVk
IHdpdGgNCj4gSU9fVExCX1NJWkUoMkspIGFzIHVuaXQuIFNvIHRoZSBvZmZzZXQgaGVyZSBtYXkg
YmUgY2hhbmdlZC4NCj4gDQoNCldlIG5lZWQgdG8gcHJldmVudCB0aGUgb2Zmc2V0IGZyb20gY2hh
bmdpbmcuICBUaGUgc3RvcnZzYyBkcml2ZXIgcGFzc2VzDQpqdXN0IGEgUEZOIGxpc3QgdG8gSHlw
ZXItViwgcGx1cyBhbiBvdmVyYWxsIHN0YXJ0aW5nIG9mZnNldCBhbmQgbGVuZ3RoLiAgVW5saWtl
DQp0aGUgbmV0dnNjIGRyaXZlciwgZWFjaCBlbnRyeSBpbiB0aGUgUEZOIGxpc3QgZG9lcyAqbm90
KiBoYXZlIGl0cyBvd24gb2Zmc2V0DQphbmQgbGVuZ3RoLiAgSHlwZXItViBhc3N1bWVzIHRoYXQg
dGhlIGxpc3QgaXMgImRlbnNlIiBhbmQgdGhhdCB0aGVyZSBhcmUNCm5vIGhvbGVzIChpLmUuLCB1
bnVzZWQgbWVtb3J5IGFyZWFzKS4NCg0KRm9yIGV4YW1wbGUsIGNvbnNpZGVyIGFuIG9yaWdpbmFs
IGJ1ZmZlciBwYXNzZWQgaW50byBzdG9ydnNjX3F1ZXVlY29tbWFuZCgpDQpvZiA4IEtieXRlcywg
YnV0IGFsaWduZWQgd2l0aCAxIEtieXRlcyBhdCB0aGUgZW5kIG9mIHRoZSBmaXJzdCBwYWdlLCB0
aGVuDQo0IEtieXRlcyBpbiB0aGUgc2Vjb25kIHBhZ2UsIGFuZCAzIEtieXRlcyBpbiB0aGUgYmVn
aW5uaW5nIG9mIHRoZSB0aGlyZCBwYWdlLg0KVGhlIG9mZnNldCBvZiB0aGF0IGZpcnN0IDEgS2J5
dGVzIGhhcyB0byByZW1haW4gYXMgMyBLYnl0ZXMuICBJZiBib3VuY2UgYnVmZmVyaW5nDQptb3Zl
cyBpdCB0byBhIGRpZmZlcmVudCBvZmZzZXQsIHRoZXJlJ3Mgbm8gd2F5IHRvIHRlbGwgSHlwZXIt
ViB0byBpZ25vcmUgdGhlDQpyZW1haW5pbmcgYnl0ZXMgaW4gdGhlIGZpcnN0IHBhZ2UgKGF0IGxl
YXN0IG5vdCB3aXRob3V0IHVzaW5nIGEgZGlmZmVyZW50DQptZXRob2QgdG8gY29tbXVuaWNhdGUg
d2l0aCBIeXBlci1WKS4gICBJbiBzdWNoIGEgY2FzZSwgdGhlIHdyb25nDQpkYXRhIHdpbGwgZ2V0
IHRyYW5zZmVycmVkLiAgUHJlc3VtYWJseSB0aGUgZWFzaWVyIHNvbHV0aW9uIGlzIHRvIHNldCB0
aGUNCm1pbl9hbGlnbl9tYXNrIGZpZWxkIGFzIENocmlzdG9wIHN1Z2dlc3RlZC4NCg0KPiANCj4g
Pg0KPiA+PiAgIAl9DQo+ID4NCj4gPiBUaGUgd2hvbGUgYXBwcm9hY2ggaGVyZSBpcyB0byBkbyBk
bWEgcmVtYXBwaW5nIG9uIGVhY2ggaW5kaXZpZHVhbCBwYWdlDQo+ID4gb2YgdGhlIEkvTyBidWZm
ZXIuICBCdXQgd291bGRuJ3QgaXQgYmUgcG9zc2libGUgdG8gdXNlIGRtYV9tYXBfc2coKSB0byBt
YXANCj4gPiBlYWNoIHNjYXR0ZXJsaXN0IGVudHJ5IGFzIGEgdW5pdD8gIEVhY2ggc2NhdHRlcmxp
c3QgZW50cnkgZGVzY3JpYmVzIGEgcmFuZ2Ugb2YNCj4gPiBwaHlzaWNhbGx5IGNvbnRpZ3VvdXMg
bWVtb3J5LiAgQWZ0ZXIgZG1hX21hcF9zZygpLCB0aGUgcmVzdWx0aW5nIGRtYQ0KPiA+IGFkZHJl
c3MgbXVzdCBhbHNvIHJlZmVyIHRvIGEgcGh5c2ljYWxseSBjb250aWd1b3VzIHJhbmdlIGluIHRo
ZSBzd2lvdGxiDQo+ID4gYm91bmNlIGJ1ZmZlciBtZW1vcnkuICAgU28gYXQgdGhlIHRvcCBvZiB0
aGUgImZvciIgbG9vcCBvdmVyIHRoZSBzY2F0dGVybGlzdA0KPiA+IGVudHJpZXMsIGRvIGRtYV9t
YXBfc2coKSBpZiB3ZSdyZSBpbiBhbiBpc29sYXRlZCBWTS4gIFRoZW4gY29tcHV0ZSB0aGUNCj4g
PiBodnBmbiB2YWx1ZSBiYXNlZCBvbiB0aGUgZG1hIGFkZHJlc3MgaW5zdGVhZCBvZiBzZ19wYWdl
KCkuICBCdXQgZXZlcnl0aGluZw0KPiA+IGVsc2UgaXMgdGhlIHNhbWUsIGFuZCB0aGUgaW5uZXIg
bG9vcCBmb3IgcG9wdWxhdGluZyB0aGUgcGZuX2FycnkgaXMgdW5tb2RpZmllZC4NCj4gPiBGdXJ0
aGVybW9yZSwgdGhlIGRtYV9yYW5nZSBhcnJheSB0aGF0IHlvdSd2ZSBhZGRlZCBpcyBub3QgbmVl
ZGVkLCBzaW5jZQ0KPiA+IHNjYXR0ZXJsaXN0IGVudHJpZXMgYWxyZWFkeSBoYXZlIGEgZG1hX2Fk
ZHJlc3MgZmllbGQgZm9yIHNhdmluZyB0aGUgbWFwcGVkDQo+ID4gYWRkcmVzcywgYW5kIGRtYV91
bm1hcF9zZygpIHVzZXMgdGhhdCBmaWVsZC4NCj4gDQo+IEkgZG9uJ3QgdXNlIGRtYV9tYXBfc2co
KSBoZXJlIGluIG9yZGVyIHRvIGF2b2lkIGludHJvZHVjaW5nIG9uZSBtb3JlDQo+IGxvb3AoZSxn
IGRtYV9tYXBfc2coKSkuIFdlIGFscmVhZHkgaGF2ZSBhIGxvb3AgdG8gcG9wdWxhdGUNCj4gY21k
X3JlcXVlc3QtPmRtYV9yYW5nZVtdIGFuZCBzbyBkbyB0aGUgZG1hIG1hcCBpbiB0aGUgc2FtZSBs
b29wLg0KPiANCg0KSSdtIG5vdCBzZWVpbmcgd2hlcmUgdGhlIGFkZGl0aW9uYWwgbG9vcCBjb21l
cyBmcm9tLiAgU3RvcnZzYw0KYWxyZWFkeSBoYXMgYSBsb29wIHRocm91Z2ggdGhlIHNnbCBlbnRy
aWVzLiAgUmV0YWluIHRoYXQgbG9vcCBhbmQgY2FsbA0KZG1hX21hcF9zZygpIHdpdGggbmVudHMg
c2V0IHRvIDEuICBUaGVuIHRoZSBzZXF1ZW5jZSBpcw0KZG1hX21hcF9zZygpIC0tPiBkbWFfbWFw
X3NnX2F0dHJzKCkgLS0+IGRtYV9kaXJlY3RfbWFwX3NnKCkgLT4NCmRtYV9kaXJlY3RfbWFwX3Bh
Z2UoKS4gIFRoZSBsYXR0ZXIgZnVuY3Rpb24gd2lsbCBjYWxsIHN3aW90bGJfbWFwKCkNCnRvIG1h
cCBhbGwgcGFnZXMgb2YgdGhlIHNnbCBlbnRyeSBhcyBhIHNpbmdsZSBvcGVyYXRpb24uDQoNCk1p
Y2hhZWwNCg0KDQo=


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 17:02:33 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 17:02:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169624.309870 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH7uJ-0003Pc-DZ; Fri, 20 Aug 2021 17:02:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169624.309870; Fri, 20 Aug 2021 17:02:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH7uJ-0003PV-Aa; Fri, 20 Aug 2021 17:02:15 +0000
Received: by outflank-mailman (input) for mailman id 169624;
 Fri, 20 Aug 2021 17:02:14 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5+ZW=NL=arm.com=Rahul.Singh@srs-us1.protection.inumbo.net>)
 id 1mH7uI-0003PP-NA
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 17:02:14 +0000
Received: from EUR03-DB5-obe.outbound.protection.outlook.com (unknown
 [40.107.4.47]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 5cb87a44-01d8-11ec-a6e9-12813bfff9fa;
 Fri, 20 Aug 2021 17:02:12 +0000 (UTC)
Received: from DB9PR06CA0020.eurprd06.prod.outlook.com (2603:10a6:10:1db::25)
 by VI1PR08MB3519.eurprd08.prod.outlook.com (2603:10a6:803:85::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.18; Fri, 20 Aug
 2021 17:02:11 +0000
Received: from DB5EUR03FT008.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:1db:cafe::75) by DB9PR06CA0020.outlook.office365.com
 (2603:10a6:10:1db::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.18 via Frontend
 Transport; Fri, 20 Aug 2021 17:02:10 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT008.mail.protection.outlook.com (10.152.20.98) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Fri, 20 Aug 2021 17:02:10 +0000
Received: ("Tessian outbound 32695b2df2f8:v103");
 Fri, 20 Aug 2021 17:02:10 +0000
Received: from f2716aa27af9.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 275EC790-3351-4B80-8713-1BBC8EA11863.1; 
 Fri, 20 Aug 2021 17:02:04 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f2716aa27af9.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 20 Aug 2021 17:02:04 +0000
Received: from AS8PR08MB6919.eurprd08.prod.outlook.com (2603:10a6:20b:39e::10)
 by AM6PR08MB5237.eurprd08.prod.outlook.com (2603:10a6:20b:e9::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Fri, 20 Aug
 2021 17:01:59 +0000
Received: from AS8PR08MB6919.eurprd08.prod.outlook.com
 ([fe80::6c11:19f8:1422:5dea]) by AS8PR08MB6919.eurprd08.prod.outlook.com
 ([fe80::6c11:19f8:1422:5dea%3]) with mapi id 15.20.4436.019; Fri, 20 Aug 2021
 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: 5cb87a44-01d8-11ec-a6e9-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pJ6+97H3saUxhivE3cn8tqVpZGQmL7lGL4gSErrjN0w=;
 b=bjy6LPzHs8CJLHKRx/K5F0gX12mAyMf+XDIYpMVtm7yXYOIvjusqvpl2xTVif6DP6M8DwN9GkJh7wGRR3uQK0mqv2XACZns7vxzOnI3WlFk+ykWOzFiSVPI4acfFPkgfspoHFWMHfnhYaQA3+TCJcdWQEavtnKSoQXbukt4LXAw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 0807fca869aa4eae
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HeHdaAsHL1walq0di9yCZRMGfBkXTJ0oQiXXX1eQzSoHIT+BknH85ehrBffbQmuh5aPNWXpZpTd82y+fFGtw3CFNw7dC5LEgEbar0YPFHORGhCNtoz49VI/4VjuqdUgDoOh0FKyrI7liVdRr5xDYaAzU6cRmWd5KKXp6WadDwMgydQi6zlin1vU/3OIH8TpHY3zGS2GGk87PuTFj64aCZnZbz/aFxTIf2UDi9ekhhiLQBihXbq1/OWWq+eIptLqZ0yoikpm3PwMSwG+m00+XvCuJrfDWgGv/LUtne+VmjxWXSPibl+O2QUdS8klu3LuIfh4fBl7c7XIh2FYHHEpiTQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pJ6+97H3saUxhivE3cn8tqVpZGQmL7lGL4gSErrjN0w=;
 b=Esef3ezN90GjDrkcVEoYfVsG074yvl4/KQElivVCqtA+K1BaBbsq6pK06vOxhrgX2z8XSkumu/GGw/drpSL6XkI9iUAAL0ypOhvvEH+ROjqaoYMLiBYVpd1HUXjFo8a6bd1GF1tEjScjH+tigTfbXKgvW97NghBTh9P+w1RIT5XVbTQihiQBItIlAXy/fTjZHRZkLV3OmcaJk4my31jNT8wAojlqAkn0mI1D5v3tvl0ClH0kE/LQusVqxPHbSNzKNqKZ5ck2TkdzCfIeKX8ktyhTfTeq3hLOgyKN9ZlYnIGhrmi2lzfl9CrEi4ql8xKmOIfIJHn35zyzzDohMaB41g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pJ6+97H3saUxhivE3cn8tqVpZGQmL7lGL4gSErrjN0w=;
 b=bjy6LPzHs8CJLHKRx/K5F0gX12mAyMf+XDIYpMVtm7yXYOIvjusqvpl2xTVif6DP6M8DwN9GkJh7wGRR3uQK0mqv2XACZns7vxzOnI3WlFk+ykWOzFiSVPI4acfFPkgfspoHFWMHfnhYaQA3+TCJcdWQEavtnKSoQXbukt4LXAw=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v1 13/14] xen/arm: Fixed error when PCI device is assigned
 to guest
Thread-Topic: [PATCH v1 13/14] xen/arm: Fixed error when PCI device is
 assigned to guest
Thread-Index: AQHXlPL/fNVOYnE9fEGgRojjCVjj8at6vRwAgAHjK4A=
Date: Fri, 20 Aug 2021 17:01:59 +0000
Message-ID: <EE39BE82-DAFE-4BA0-AB22-5543CBCBDF26@arm.com>
References: <cover.1629366665.git.rahul.singh@arm.com>
 <917720808121c3098690b51d55f2d60118ec6408.1629366665.git.rahul.singh@arm.com>
 <f57bc8cf-6fcf-b9ef-cdd5-1bf5ad4701a7@suse.com>
In-Reply-To: <f57bc8cf-6fcf-b9ef-cdd5-1bf5ad4701a7@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: suse.com; dkim=none (message not signed)
 header.d=none;suse.com; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: b4f90d0d-aaf2-40b4-0f72-08d963fc4019
x-ms-traffictypediagnostic: AM6PR08MB5237:|VI1PR08MB3519:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR08MB35195C009A8F42C419297FDCFCC19@VI1PR08MB3519.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:8273;OLM:8273;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 5z9lqM5BVv5YhlXVKiLbLJPzIPJvJ9XgHHIq5GJ+AOnI8KE2KEEDIk4ovfAk9d3RdLMHWzS3srAhsx4aX5pQPQK8f8Vlpoc9Awv1iV0z/vbCMkjdwjFAh4EaZAormSy5p3gdBopM2moOLWGZRrtj2Wzt43Md9Ay2Dx5eKXADOkI87rb87jIw3rq9CYyXn+ePDVdxfNO0VrSS3P5JakTa0QVPBRtlzFp65uwo7S5508Y5MVMIiNxPfmxJ6gfgVauNEjKkn8aPDg+HrDWFzhnk13h7EEWe5LSJZrmXTysKXy0oQ6KLts4PoAJR189C8waoMqJt7kyZf09yHW/SQzSzaKI45MeEg6aF6T+Bf1n5k5jN+jQjD3wvUlNTOpUnv/wra0uppE5EdHLaxiMPwA4TMdp+/qaijH35gnuR8OZ/typkAbaqmT+h+Bi5/eV9kB1yQH5MzyKJhfy4rZVWBcHUVXBPgWvSU9lYuauol3Hea3LzHQT8/ezOZa6WmkpfvS7f6OpjQqtYeCyliwzYJkf+StGzV6D8284CSxQF/eEr5P9LY17K+t1fCWHfQNGkf9erkZo2HtaHf0VBtVBJ4HK/KgUrYHqL5e8skGKWjxnGnE9TYhR+fbb3of8P1KA6tSmKNrGPSLb9cuMpGDodzY2K5yDxvRFgsTnNJYK8tSmdN79ZTBQhsCsjLiSFl3CMi95Cknyu2O623s5yyw6yS9WK2rbYVozGUSUvxgM+P/3+7aLiun47EKsAmwCQcv39Sk/p
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB6919.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(508600001)(91956017)(186003)(36756003)(76116006)(71200400001)(54906003)(53546011)(5660300002)(86362001)(4326008)(8936002)(2616005)(6512007)(316002)(122000001)(8676002)(6506007)(6486002)(2906002)(66446008)(64756008)(66556008)(66476007)(38100700002)(33656002)(66946007)(38070700005)(26005)(6916009)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?WZcPWudnsV3WFP4Ol7OwgqodXISuQ1iSa+xPQ9BwVQOZ79Lcwr2Pwu5sm56y?=
 =?us-ascii?Q?4CxUqW0QogohRG9BPvzLwDsbbnbQopxj9t7IbCjOPRZzuODffwbvexVo1F2O?=
 =?us-ascii?Q?VWdScHWd6NfSKtOEwrmRKjJUCcjMXh4h5WEcW84OJwchSH9L/SpAfWwImO9I?=
 =?us-ascii?Q?bxtvZBmm1TtBcEUjPCOFT+5k/yQGGjQGjdTuAX8t99c8SxOfnyw/EzxNZt9f?=
 =?us-ascii?Q?xkNqHGdnOp6O94nPC9y3B9Yq90UEG/gCcBjZ+E+3VoYzlUZ2seA6xz3eabAQ?=
 =?us-ascii?Q?JEb9P7tMpYEQtG53BYgxqP8abWJ30AU+osOtB42o5FyDVSpvpeTEsfci3aW8?=
 =?us-ascii?Q?bTERUpX0kjMr5dAlSNxEPYBpmyjQAkCjP4x7+OPX0R+004r9DfYkjOekKfFm?=
 =?us-ascii?Q?MOUSG74Q1JAcYR7cEXSvf+h1Eam26dv31s+8C/sPzVDSZcbti711/XUtVhTF?=
 =?us-ascii?Q?Udhdl8kyXGLZawFkTHpbQdkak8qcfW2TW6Rva4iJBw5lh/hHRXGYdDSBVMym?=
 =?us-ascii?Q?981g2P2Qd6aIappHFLfuJI3I7qqyqt8YsJ480/QpQWXI6TATwPkPtNU/OUDa?=
 =?us-ascii?Q?srwdtFP3JDk79ruKF7wiYdTTL9vQzUVDgoMsGNh1HLB++CTyUoFdxE3qpcrz?=
 =?us-ascii?Q?gcRBdKiyp/mymirI9z3NjkCoznLxuK2aysj42Lry50yJfaoA/UgdMVUyohce?=
 =?us-ascii?Q?8JbakulWyA/dMesX5hzWFQjR8HsuwNZWdJgeEILGIs1glEgWOWhX7u6YBSJp?=
 =?us-ascii?Q?sdXfuybiQ9h4g/X3Xf+YhIVjViu2gV4np3ydCx6kHqvL7+5SKYO4mXz2tvab?=
 =?us-ascii?Q?5zjpgWCeLUOyE79SrYZ7Ambwp42Ca9X8iMTkMxIBjUDt+p1gun08w7R8Tq1C?=
 =?us-ascii?Q?MT5CO7VDLZPMZvNh+2Bns+nQ4hWlSIYAdAjb7F+XW+001+7BL1FfTJbLj5wx?=
 =?us-ascii?Q?m3yoHgGnfbJcYWWKBYeI2JAyQ6khzHEfTqplbOD1W4YcZ9v4Ylra7cCxSpHX?=
 =?us-ascii?Q?IS2J3Y0qFBl6feAikFr+NNlWLkOgcoxFWoBbtIcc83OKWvd2wBIPiDVimdoB?=
 =?us-ascii?Q?naaVCyvwWGBguUuE1+f8AfHTUc4EsTIp6oymppJ3/kEJ64CT4S4i4eV7/X4b?=
 =?us-ascii?Q?0fSbnuLHd53ZFgawBDlAJ6hYCWWjLxjk/mgwcc67yCBnL5XrrWLRxQS1MI8b?=
 =?us-ascii?Q?MPguyumXrAVucKYUrc0JCVTPw6RM63ow5NYSSxpHCAHSD61PbnPp9yxcBKR3?=
 =?us-ascii?Q?VIUJRveLxxqtPSsOnbw9NmEhyjamwO7tcwdXnJY7gtWoZjv4EJCcQTz8JU31?=
 =?us-ascii?Q?Lg8bMXSx95j9pys8LNf87LA/?=
Content-Type: text/plain; charset="us-ascii"
Content-ID: <B63C18ACEFD87A41A4285FCDF21381B4@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB5237
Original-Authentication-Results: suse.com; dkim=none (message not signed)
 header.d=none;suse.com; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT008.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	98c8c3b4-e770-4301-c40c-08d963fc3969
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xJzen9gk0h3xWvdAHYKS9YvYkmWw17yOqvrVDOnKw3V0alRCmysEVvw3Z5txT4jXSwHSnbcUugS0YvamQp/vUw/e1TgxMPzzz4WkWqj6rpjq3B/Uo8sNykLRCojFRZl2fAipJFZC/nReTdXwMoTg7WQLyJD3k/WSJDNdjb84jf7lGsef1siBkecPhHHIc5Ee0taJdWlw0Ow+08qXLhraouufhHOgqhF2ku044dAbwSqegBKPduNVKtC4KHdgCWLm7x97CD7UuRNWw9LKM2Fxj5gdu56duCnYocDNzCEE/AHwS0IS5JaLxDZdGI1qkZq/x1cY/+0OvTs3zIIOQiJRXzJRQ/tm4skijOIt0KrU0EZoTrOZ4s7ALxM0SFLXtHV4/ley9V7syGV6Re8tGWaVicyRga9eYdrtqQc+LQcaV+/NBCyzapaGYMgo6P5xam1o7xccWTBh4y2R4GNLa2en7lt4Zv4S3IQ6FnsjSs/Jw5YqOvSYhYNEkzG2DTMDiqSUOOvVJ/Qp+CVZxOj57Cvn1y4s38NyEMp+IZ88IJt3fbdLe47dXKaltO+pECF3JCWK2rW2TqeoClE4ITwot48c4boBohDG3ggl/f8fiYFNQSjy9sVyauOo5r0f9C7KahTBvYZguWizDs/490bis20se/J7Dx6NI2GEY2iI06vo8cE4EZDCBFVu7MfSB+tBNMtjEm2VJG1MtPvhPGR+SUiJig==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(346002)(396003)(39850400004)(136003)(376002)(46966006)(36840700001)(86362001)(336012)(356005)(70586007)(4326008)(8936002)(53546011)(36860700001)(6512007)(36756003)(2616005)(54906003)(82740400003)(8676002)(81166007)(316002)(478600001)(26005)(70206006)(6506007)(33656002)(82310400003)(47076005)(6862004)(5660300002)(2906002)(186003)(6486002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2021 17:02:10.7788
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b4f90d0d-aaf2-40b4-0f72-08d963fc4019
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT008.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3519

Hi Jan,

> On 19 Aug 2021, at 1:12 pm, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> On 19.08.2021 14:02, Rahul Singh wrote:
>> --- a/xen/arch/arm/domctl.c
>> +++ b/xen/arch/arm/domctl.c
>> @@ -173,6 +173,8 @@ long arch_do_domctl(struct xen_domctl *domctl, struc=
t domain *d,
>>=20
>>         return rc;
>>     }
>> +    case XEN_DOMCTL_ioport_permission:
>> +        return 0;
>=20
> I don't think returning success for something that doesn't make
> much sense in the first place (there aren't truly "I/O ports" on
> Arm afaik) is a good idea.
> Instead I think the tool stack should
> avoid making arch-specific calls in an arch-independent way.

I agree with you let me try to modify the toolstack not to call the arch-sp=
ecific call.

Regards,
Rahul
>=20
>> --- a/xen/arch/arm/physdev.c
>> +++ b/xen/arch/arm/physdev.c
>> @@ -42,6 +42,9 @@ int do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void=
) arg)
>>         break;
>>     }
>> #endif
>> +    case PHYSDEVOP_unmap_pirq:
>> +    case PHYSDEVOP_map_pirq:
>> +        break;
>=20
> Less sure here, but I'm not convinced either.
>=20
> Jan
>=20



From xen-devel-bounces@lists.xenproject.org Fri Aug 20 17:33:52 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 17:33:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169630.309880 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH8Oo-00077C-1f; Fri, 20 Aug 2021 17:33:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169630.309880; Fri, 20 Aug 2021 17: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 1mH8On-000775-Us; Fri, 20 Aug 2021 17:33:45 +0000
Received: by outflank-mailman (input) for mailman id 169630;
 Fri, 20 Aug 2021 17:33:45 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ejsu=NL=gmail.com=christopher.w.clark@srs-us1.protection.inumbo.net>)
 id 1mH8On-00076z-2a
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 17:33:45 +0000
Received: from mail-ot1-x331.google.com (unknown [2607:f8b0:4864:20::331])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 1f563949-48b0-4816-aa38-8b2b48e39060;
 Fri, 20 Aug 2021 17:33:44 +0000 (UTC)
Received: by mail-ot1-x331.google.com with SMTP id
 y14-20020a0568302a0e00b0051acbdb2869so8687117otu.2
 for <xen-devel@lists.xenproject.org>; Fri, 20 Aug 2021 10:33: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: 1f563949-48b0-4816-aa38-8b2b48e39060
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc;
        bh=ozQo/O/xQTTSBaei3FXjoC5gpnxorgxOR6kM/OupHjc=;
        b=eG14DNBBYmzvmOPEi08NJQmyx13jTBS2FWExr6gi6z/GZG8TJq3NPrP0GQwkyOmXDj
         W+Lpgfv2OLXdUFEQ0HMEJ/SeW9HR8s/dDyrAlET3RXBVX23DP1Y+2jwPgZGXdeg1Aok+
         D8DT3Gei3Wq0tlkb5XR6ioYIzPaxj0WG2tFqW1hQsO4w1gxEa2nVu/oYbzHnW3bOapy1
         J+R6V9B2gQ8I1f/oGwGTCVLxt7hy5jKn1ctDSh9w2wxHYCGWjh2byjtG5n0Gbr3NKQ93
         aA2ugnD+idgTlimosvMLHMZo0AKSIscZfIaoVpCg8C81HoeliJoEUxQ0LWlCenUruy8d
         7Z4Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=ozQo/O/xQTTSBaei3FXjoC5gpnxorgxOR6kM/OupHjc=;
        b=EnodlTIJcWicLdIg0MFVw2DDGq5tZoWdieDapTPxpOOoDThvOzIMFlrYeG4G+ihrBP
         d3XMpGBHkP1UAP1UQBDRsaqFGOqqVRlvNoTAOcFVn1OfNg6D/E9AcoSo+FiYE5FoxaIt
         XPrqDPv0pbvs44HNk5sgg8WxAx3PX6W4XfJtm0kH0M4ZA5Wi7P3mYzp7TsYSl/wssCWK
         xadGZVVztd85nI3AHztiKvHvj+L7+vp0aPfENEUB+4nQ/DEDqBfVDaQ4sTw5I/at26uW
         YBZr/gQ7yxmOU8rwH17+j4pWvwkRuBL89RKk+twJkdyvXpwVzccWH4eL42FZqs696pax
         SaTw==
X-Gm-Message-State: AOAM530iNcLEgELO4A8jtRuPJ2KKZbt1owhXIdkFdWPQf5cro44flxEA
	x+F9J5uXO7aoH7m6PgD4iC2M6rcwOaFFO2+pNHY=
X-Google-Smtp-Source: ABdhPJzQu579/bW1CR9cL15BAeeczl5HeQooA/JGr1s0e/YTeDJaI3FZ8m9jLBZ9XBaS1uc0JGHRAk88W/2X2L6/LDw=
X-Received: by 2002:a05:6830:3114:: with SMTP id b20mr14636124ots.17.1629480823693;
 Fri, 20 Aug 2021 10:33:43 -0700 (PDT)
MIME-Version: 1.0
References: <20210820093924.9991-1-michal.orzel@arm.com>
In-Reply-To: <20210820093924.9991-1-michal.orzel@arm.com>
From: Christopher Clark <christopher.w.clark@gmail.com>
Date: Fri, 20 Aug 2021 10:33:33 -0700
Message-ID: <CACMJ4Ga6DqVmX5wyheFJTnxaKEnVCs7ezDhYxO=7qmC2UEhVyg@mail.gmail.com>
Subject: Re: [PATCH] xen/public: arch-arm: Add mention of argo_op hypercall
To: Michal Orzel <michal.orzel@arm.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>
Content-Type: multipart/alternative; boundary="000000000000aa273f05ca0111f5"

--000000000000aa273f05ca0111f5
Content-Type: text/plain; charset="UTF-8"

On Fri, Aug 20, 2021 at 2:39 AM Michal Orzel <michal.orzel@arm.com> wrote:

> Commit 1ddc0d43c20cb1c1125d4d6cefc78624b2a9ccb7 introducing
> argo_op hypercall forgot to add a mention of it in the
> comment listing supported hypercalls. Fix that.
>
> Signed-off-by: Michal Orzel <michal.orzel@arm.com>
>

Thanks, Michal.
Reviewed-by: Christopher Clark <christopher.w.clark@gmail.com>

Christopher

---
>  xen/include/public/arch-arm.h | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
> index 64a2ca30da..6b5a5f818a 100644
> --- a/xen/include/public/arch-arm.h
> +++ b/xen/include/public/arch-arm.h
> @@ -128,6 +128,8 @@
>   *    * VCPUOP_register_vcpu_info
>   *    * VCPUOP_register_runstate_memory_area
>   *
> + *  HYPERVISOR_argo_op
> + *   All generic sub-operations
>   *
>   * Other notes on the ARM ABI:
>   *
> --
> 2.29.0
>
>

--000000000000aa273f05ca0111f5
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr">On Fri, Aug 20, 2021 at 2:39 AM Michal Or=
zel &lt;<a href=3D"mailto:michal.orzel@arm.com">michal.orzel@arm.com</a>&gt=
; wrote:<br></div><div class=3D"gmail_quote"><blockquote class=3D"gmail_quo=
te" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204=
);padding-left:1ex">Commit 1ddc0d43c20cb1c1125d4d6cefc78624b2a9ccb7 introdu=
cing<br>
argo_op hypercall forgot to add a mention of it in the<br>
comment listing supported hypercalls. Fix that.<br>
<br>
Signed-off-by: Michal Orzel &lt;<a href=3D"mailto:michal.orzel@arm.com" tar=
get=3D"_blank">michal.orzel@arm.com</a>&gt;<br></blockquote><div><br></div>=
<div>Thanks, Michal.</div><div>Reviewed-by: Christopher Clark &lt;<a href=
=3D"mailto:christopher.w.clark@gmail.com">christopher.w.clark@gmail.com</a>=
&gt;</div><div><br></div><div>Christopher</div><div><br></div><blockquote c=
lass=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px soli=
d rgb(204,204,204);padding-left:1ex">
---<br>
=C2=A0xen/include/public/arch-arm.h | 2 ++<br>
=C2=A01 file changed, 2 insertions(+)<br>
<br>
diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h<=
br>
index 64a2ca30da..6b5a5f818a 100644<br>
--- a/xen/include/public/arch-arm.h<br>
+++ b/xen/include/public/arch-arm.h<br>
@@ -128,6 +128,8 @@<br>
=C2=A0 *=C2=A0 =C2=A0 * VCPUOP_register_vcpu_info<br>
=C2=A0 *=C2=A0 =C2=A0 * VCPUOP_register_runstate_memory_area<br>
=C2=A0 *<br>
+ *=C2=A0 HYPERVISOR_argo_op<br>
+ *=C2=A0 =C2=A0All generic sub-operations<br>
=C2=A0 *<br>
=C2=A0 * Other notes on the ARM ABI:<br>
=C2=A0 *<br>
-- <br>
2.29.0<br>
<br>
</blockquote></div></div>

--000000000000aa273f05ca0111f5--


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 17:35:54 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 17:35:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169636.309891 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH8Qr-0007is-Dr; Fri, 20 Aug 2021 17:35:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169636.309891; Fri, 20 Aug 2021 17:35: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 1mH8Qr-0007il-Ax; Fri, 20 Aug 2021 17:35:53 +0000
Received: by outflank-mailman (input) for mailman id 169636;
 Fri, 20 Aug 2021 17:35: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 1mH8Qp-0007ib-Jo; Fri, 20 Aug 2021 17:35: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 1mH8Qp-0008VW-Ec; Fri, 20 Aug 2021 17:35: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 1mH8Qp-0005fT-5g; Fri, 20 Aug 2021 17:35:51 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mH8Qp-0003R2-5D; Fri, 20 Aug 2021 17: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>
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=mZnJ4Jwzc8W3fhojRzWGhVkQ9Q/6rlfBQKiFJof2EyY=; b=RTEhS9BTY+aQKNUSieIkDlvbOO
	GDALSCVenyHbwakNiDsSeKUOPeX6tNE/zVC7xi/5VBtEI/7dJoAnBZHYiGXDk0sUt8neDjaGPhVcm
	9XDHQI+9oRf1yGQZFQ8wUMadAcXALUwVuKK4mhZh55AZP1vRLFyvOt0Dg/8MwGQbQ3pk=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Subject: [xen-unstable bisection] complete test-amd64-i386-xl-qemut-ws16-amd64
Message-Id: <E1mH8Qp-0003R2-5D@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 20 Aug 2021 17:35:51 +0000

branch xen-unstable
xenbranch xen-unstable
job test-amd64-i386-xl-qemut-ws16-amd64
testid xen-boot

Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  6b1ca51b1a91d002636518afe4a8a50ba7212495
  Bug not present: 4c0a19991465fc19c5afa9bc3f304bae6044314e
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164278/


  commit 6b1ca51b1a91d002636518afe4a8a50ba7212495
  Author: Jan Beulich <jbeulich@suse.com>
  Date:   Wed Aug 18 09:40:08 2021 +0200
  
      x86/PV: assert page state in mark_pv_pt_pages_rdonly()
      
      About every time I look at dom0_construct_pv()'s "calculation" of
      nr_pt_pages I question (myself) whether the result is precise or merely
      an upper bound. I think it is meant to be precise, but I think we would
      be better off having some checking in place. Hence add ASSERT()s to
      verify that
      - all pages have a valid L1...Ln (currently L4) page table type and
      - no other bits are set, in particular the type refcount is still zero.
      
      Signed-off-by: Jan Beulich <jbeulich@suse.com>
      Reviewed-by: Andrew Cooper <andrew.cooper3@citirx.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-unstable/test-amd64-i386-xl-qemut-ws16-amd64.xen-boot.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/test-amd64-i386-xl-qemut-ws16-amd64.xen-boot --summary-out=tmp/164278.bisection-summary --basis-template=164178 --blessings=real,real-bisect,real-retry xen-unstable test-amd64-i386-xl-qemut-ws16-amd64 xen-boot
Searching for failure / basis pass:
 164248 fail [host=huxelrebe1] / 164237 ok.
Failure / basis pass flights: 164248 / 164237
(tree with no url: minios)
(tree with no url: ovmf)
(tree with no url: seabios)
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: xen git://xenbits.xen.org/xen.git
Latest c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 517a90d1ca09ce00e50d46ac25566cc3bd2eb34d
Basis pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 54c9736382e0d558a6acd820e44185e020131c48
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/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c7437ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#136c34c9bc4179dc64b15b2bb5f0c54\
 ca4ddf823-136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 git://xenbits.xen.org/xen.git#54c9736382e0d558a6acd820e44185e020131c48-517a90d1ca09ce00e50d46ac25566cc3bd2eb34d
Loaded 5001 nodes in revision graph
Searching for test results:
 164230 pass irrelevant
 164237 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 54c9736382e0d558a6acd820e44185e020131c48
 164248 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 517a90d1ca09ce00e50d46ac25566cc3bd2eb34d
 164265 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 54c9736382e0d558a6acd820e44185e020131c48
 164269 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 517a90d1ca09ce00e50d46ac25566cc3bd2eb34d
 164270 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 4c0a19991465fc19c5afa9bc3f304bae6044314e
 164273 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 6b1ca51b1a91d002636518afe4a8a50ba7212495
 164274 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 4c0a19991465fc19c5afa9bc3f304bae6044314e
 164275 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 6b1ca51b1a91d002636518afe4a8a50ba7212495
 164276 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 4c0a19991465fc19c5afa9bc3f304bae6044314e
 164278 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 6b1ca51b1a91d002636518afe4a8a50ba7212495
Searching for interesting versions
 Result found: flight 164237 (pass), for basis pass
 For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 4c0a19991465fc19c5afa9bc3f304bae6044314e, results HASH(0x55b95b244be8) HASH(0x55b95b24a928) HASH(0x55b95ad98ad8) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9b\
 c4179dc64b15b2bb5f0c54ca4ddf823 54c9736382e0d558a6acd820e44185e020131c48, results HASH(0x55b95b246f18) HASH(0x55b95b23a9b0) Result found: flight 164248 (fail), for basis failure (at ancestor ~677)
 Repro found: flight 164265 (pass), for basis pass
 Repro found: flight 164269 (fail), for basis failure
 0 revisions at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 4c0a19991465fc19c5afa9bc3f304bae6044314e
No revisions left to test, checking graph state.
 Result found: flight 164270 (pass), for last pass
 Result found: flight 164273 (fail), for first failure
 Repro found: flight 164274 (pass), for last pass
 Repro found: flight 164275 (fail), for first failure
 Repro found: flight 164276 (pass), for last pass
 Repro found: flight 164278 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  6b1ca51b1a91d002636518afe4a8a50ba7212495
  Bug not present: 4c0a19991465fc19c5afa9bc3f304bae6044314e
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164278/


  commit 6b1ca51b1a91d002636518afe4a8a50ba7212495
  Author: Jan Beulich <jbeulich@suse.com>
  Date:   Wed Aug 18 09:40:08 2021 +0200
  
      x86/PV: assert page state in mark_pv_pt_pages_rdonly()
      
      About every time I look at dom0_construct_pv()'s "calculation" of
      nr_pt_pages I question (myself) whether the result is precise or merely
      an upper bound. I think it is meant to be precise, but I think we would
      be better off having some checking in place. Hence add ASSERT()s to
      verify that
      - all pages have a valid L1...Ln (currently L4) page table type and
      - no other bits are set, in particular the type refcount is still zero.
      
      Signed-off-by: Jan Beulich <jbeulich@suse.com>
      Reviewed-by: Andrew Cooper <andrew.cooper3@citirx.com>

Revision graph left in /home/logs/results/bisect/xen-unstable/test-amd64-i386-xl-qemut-ws16-amd64.xen-boot.{dot,ps,png,html,svg}.
----------------------------------------
164278: tolerable ALL FAIL

flight 164278 xen-unstable real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/164278/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-i386-xl-qemut-ws16-amd64  8 xen-boot         fail baseline untested


jobs:
 test-amd64-i386-xl-qemut-ws16-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 Aug 20 18:04:47 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 18:04:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169645.309912 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH8sX-0003Ak-SU; Fri, 20 Aug 2021 18:04:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169645.309912; Fri, 20 Aug 2021 18: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 1mH8sX-0003Ad-Ov; Fri, 20 Aug 2021 18:04:29 +0000
Received: by outflank-mailman (input) for mailman id 169645;
 Fri, 20 Aug 2021 18:04:29 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+YXI=NL=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mH8sX-0003AX-94
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 18:04:29 +0000
Received: from mail-pj1-x102e.google.com (unknown [2607:f8b0:4864:20::102e])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 3a4e79f4-dd12-4720-a13c-ac67c7d54153;
 Fri, 20 Aug 2021 18:04:28 +0000 (UTC)
Received: by mail-pj1-x102e.google.com with SMTP id
 28-20020a17090a031cb0290178dcd8a4d1so9729127pje.0
 for <xen-devel@lists.xenproject.org>; Fri, 20 Aug 2021 11:04:27 -0700 (PDT)
Received: from ?IPv6:2404:f801:0:5:8000::50b? ([2404:f801:9000:18:efec::50b])
 by smtp.gmail.com with ESMTPSA id
 w14sm7846700pfn.91.2021.08.20.11.04.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 20 Aug 2021 11:04: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: 3a4e79f4-dd12-4720-a13c-ac67c7d54153
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=QqX9IQo8g7WhG7Y3/RlQFVFx2KCstQLv7H4OsFNThv0=;
        b=QGQqGFLjVXsqVhcZsfR9+tjVsH1D3pSrX1tMNmqU0GIyCghQ/ePeqEBsaqliat+lBk
         sWM1blpaQD4n8UpkoQGp3GvRWRD5hog7rntjqP/tLitl0UO8N+cmjlpSE6BuDGlg1mOb
         ftTvn2OIVzMZD9A7EbVTeoquvRVhZ0TurG6rgOA49IykfcmSDWD+7KL1XF1ICKaePoh7
         eovukTIu5///DrcvTy6y4fU2ec67g3e7kh09QvOizKu6BPyJpz+gWDr2a4pZbE6eJ3jC
         tPpnVVUWuDkSNMXnx1AP93T+ZlOwsUj1K/EjlhTs/8P1XObwmDCUhDI36MeSDeyv+Lyx
         4pUA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=QqX9IQo8g7WhG7Y3/RlQFVFx2KCstQLv7H4OsFNThv0=;
        b=j59NmFtLJz5sN+1ZuCwZcJlkhqNC3VChVGHVOVWf4G1VSxfhCTDVp2kC7SV5KB2wdd
         ylp/rOdv1jh04Ve+47M4T/bAAjW/Su75sIT7OBW1Q5YhfT2GHlzvWKaRyczNGI4rM5Rk
         0Ui2lUoLdmsqVY4//fuLVL3FVwB+icqrQc79Ap5gSBOS9cnejz6JFONygVtFv7phIYJ8
         euu5+VFXBHF0T10Z/k6XoQcws/foAX7n6hI8YY14cVLq3M0x1g77LOc+1qQnb2tbOWuk
         d3fI0odXRI2IqzOngbqANCMEQXNPis4VGuPcJTtfoj/d7WZ367SiaE/LaMEdr3mkiy4y
         fXNA==
X-Gm-Message-State: AOAM5310Lf34tSaGKmgLEqABP9NcruhqNVyHuk20R93sOYVC50cPB8Mf
	2qBt8K6JpaaL3sIW93djeIU=
X-Google-Smtp-Source: ABdhPJyVf/JDbkxrxYIOEx8LcPerWBJMz+suKjnjDiwPFUPj971OZDtTnjV4pO5ZrAubU2bKD5IcXw==
X-Received: by 2002:a17:902:be0d:b0:12d:cb3c:3e7f with SMTP id r13-20020a170902be0d00b0012dcb3c3e7fmr17262258pls.0.1629482667216;
        Fri, 20 Aug 2021 11:04:27 -0700 (PDT)
Subject: Re: [PATCH V3 13/13] HV/Storvsc: Add Isolation VM support for storvsc
 driver
To: Michael Kelley <mikelley@microsoft.com>, KY Srinivasan
 <kys@microsoft.com>, Haiyang Zhang <haiyangz@microsoft.com>,
 Stephen Hemminger <sthemmin@microsoft.com>,
 "wei.liu@kernel.org" <wei.liu@kernel.org>, Dexuan Cui <decui@microsoft.com>,
 "tglx@linutronix.de" <tglx@linutronix.de>,
 "mingo@redhat.com" <mingo@redhat.com>, "bp@alien8.de" <bp@alien8.de>,
 "x86@kernel.org" <x86@kernel.org>, "hpa@zytor.com" <hpa@zytor.com>,
 "dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
 "luto@kernel.org" <luto@kernel.org>,
 "peterz@infradead.org" <peterz@infradead.org>,
 "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
 "boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>,
 "jgross@suse.com" <jgross@suse.com>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>,
 "joro@8bytes.org" <joro@8bytes.org>, "will@kernel.org" <will@kernel.org>,
 "davem@davemloft.net" <davem@davemloft.net>,
 "kuba@kernel.org" <kuba@kernel.org>, "jejb@linux.ibm.com"
 <jejb@linux.ibm.com>, "martin.petersen@oracle.com"
 <martin.petersen@oracle.com>, "arnd@arndb.de" <arnd@arndb.de>,
 "hch@lst.de" <hch@lst.de>,
 "m.szyprowski@samsung.com" <m.szyprowski@samsung.com>,
 "robin.murphy@arm.com" <robin.murphy@arm.com>,
 "thomas.lendacky@amd.com" <thomas.lendacky@amd.com>,
 "brijesh.singh@amd.com" <brijesh.singh@amd.com>,
 "ardb@kernel.org" <ardb@kernel.org>, Tianyu Lan <Tianyu.Lan@microsoft.com>,
 "pgonda@google.com" <pgonda@google.com>,
 "martin.b.radev@gmail.com" <martin.b.radev@gmail.com>,
 "akpm@linux-foundation.org" <akpm@linux-foundation.org>,
 "kirill.shutemov@linux.intel.com" <kirill.shutemov@linux.intel.com>,
 "rppt@kernel.org" <rppt@kernel.org>,
 "sfr@canb.auug.org.au" <sfr@canb.auug.org.au>,
 "saravanand@fb.com" <saravanand@fb.com>,
 "krish.sadhukhan@oracle.com" <krish.sadhukhan@oracle.com>,
 "aneesh.kumar@linux.ibm.com" <aneesh.kumar@linux.ibm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "rientjes@google.com" <rientjes@google.com>,
 "hannes@cmpxchg.org" <hannes@cmpxchg.org>, "tj@kernel.org" <tj@kernel.org>
Cc: "iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org>,
 "linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
 "linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
 "linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
 "netdev@vger.kernel.org" <netdev@vger.kernel.org>,
 vkuznets <vkuznets@redhat.com>,
 "parri.andrea@gmail.com" <parri.andrea@gmail.com>,
 "dave.hansen@intel.com" <dave.hansen@intel.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-14-ltykernel@gmail.com>
 <MWHPR21MB1593EEF30FFD5C60ED744985D7C09@MWHPR21MB1593.namprd21.prod.outlook.com>
 <a96626db-4ac9-3ce4-64e9-92568e4f827a@gmail.com>
 <CY4PR21MB158664748760672446BFA075D7C19@CY4PR21MB1586.namprd21.prod.outlook.com>
From: Tianyu Lan <ltykernel@gmail.com>
Message-ID: <939aa552-5c24-65ee-518d-1cf72867c15d@gmail.com>
Date: Sat, 21 Aug 2021 02:04:11 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <CY4PR21MB158664748760672446BFA075D7C19@CY4PR21MB1586.namprd21.prod.outlook.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit



On 8/21/2021 12:08 AM, Michael Kelley wrote:
>>>>    	}
>>> The whole approach here is to do dma remapping on each individual page
>>> of the I/O buffer.  But wouldn't it be possible to use dma_map_sg() to map
>>> each scatterlist entry as a unit?  Each scatterlist entry describes a range of
>>> physically contiguous memory.  After dma_map_sg(), the resulting dma
>>> address must also refer to a physically contiguous range in the swiotlb
>>> bounce buffer memory.   So at the top of the "for" loop over the scatterlist
>>> entries, do dma_map_sg() if we're in an isolated VM.  Then compute the
>>> hvpfn value based on the dma address instead of sg_page().  But everything
>>> else is the same, and the inner loop for populating the pfn_arry is unmodified.
>>> Furthermore, the dma_range array that you've added is not needed, since
>>> scatterlist entries already have a dma_address field for saving the mapped
>>> address, and dma_unmap_sg() uses that field.
>> I don't use dma_map_sg() here in order to avoid introducing one more
>> loop(e,g dma_map_sg()). We already have a loop to populate
>> cmd_request->dma_range[] and so do the dma map in the same loop.
>>
> I'm not seeing where the additional loop comes from.  Storvsc
> already has a loop through the sgl entries.  Retain that loop and call
> dma_map_sg() with nents set to 1.  Then the sequence is
> dma_map_sg() --> dma_map_sg_attrs() --> dma_direct_map_sg() ->
> dma_direct_map_page().  The latter function will call swiotlb_map()
> to map all pages of the sgl entry as a single operation.

After dma_map_sg(), we still need to go through scatter list again to 
populate payload->rrange.pfn_array. We may just go through the scatter 
list just once if dma_map_sg() accepts a callback and run it during go
through scatter list.


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 18:21:25 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 18:21:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169649.309923 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mH98m-0005lE-Br; Fri, 20 Aug 2021 18:21:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169649.309923; Fri, 20 Aug 2021 18: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 1mH98m-0005l7-7Y; Fri, 20 Aug 2021 18:21:16 +0000
Received: by outflank-mailman (input) for mailman id 169649;
 Fri, 20 Aug 2021 18:21:15 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+YXI=NL=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mH98l-0005l1-6C
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 18:21:15 +0000
Received: from mail-pf1-x42e.google.com (unknown [2607:f8b0:4864:20::42e])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ca0e4bfe-a460-4768-9ac3-3d35a942731d;
 Fri, 20 Aug 2021 18:21:14 +0000 (UTC)
Received: by mail-pf1-x42e.google.com with SMTP id j187so9303703pfg.4
 for <xen-devel@lists.xenproject.org>; Fri, 20 Aug 2021 11:21:14 -0700 (PDT)
Received: from ?IPv6:2404:f801:0:5:8000::50b? ([2404:f801:9000:18:efec::50b])
 by smtp.gmail.com with ESMTPSA id
 n12sm9253074pgr.2.2021.08.20.11.20.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 20 Aug 2021 11:21: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: ca0e4bfe-a460-4768-9ac3-3d35a942731d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=FnnZUNvhPvIx/VcFIRs7Mx/cKrQt7VgripjVwaHxsaI=;
        b=nOkgFzUUeuE2uOq6KpBWbmk2uCSVbcFBzkWKWriACYTXwD2Dfd42Y/PQxXFWgP/UQB
         TogIgojLtlyPz9QZAvWYG7x2Pth4sWyW9aCIzNRMkahsKt7LnIP0hQceLcgKHpy70hBM
         tN3pbDH8t4qDq8nt48kTuMyGdfR+karexcyZbSVJGxqKp8Xjr7WSOFalJR4zWRTyN9eU
         cS/bv7TIGxxMVY+JEwNGmD+vn6WhpJX2S3CF5XZsTbPF9biARKkYXKoQGAuaOxtAT4R5
         vG04+TCNyrhDuU8ZUFurYQVnP2CxwvKxr71yt2ETcHsuHN50myIZUfVBAsyoQwK7oxl8
         TKsA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=FnnZUNvhPvIx/VcFIRs7Mx/cKrQt7VgripjVwaHxsaI=;
        b=Uhgj6VALhyDqCAjnTmdaANgxw+Zb8cR+INrSZ3JkIP5khIC4kRFymeXJMDB/8LjGkK
         8notbs/CcPTqPeeLqUC4KdmmVJtxq6lP/mYAcYxuJQY9kO7m3+V+Wlyb+D7inm+IW6DP
         eyD9Xdm+IV84DIHQcbLxtqjYLHbhdXzh+kUOXVPZ6qSMaVsCFd/8+w4vaKvNhiBPkcvC
         NOVik9ZfNiKreVD79giGRmwpxaRAlcWzvW0hSPg/mMABS/5Lopzap4WAz1UZTqpUXJ3F
         GUDAl+QrUCaWLp9tpVzqBKsYHt5KBEOVrnhKfZYnU6uv3QgtnEhsmjxh8SMNUR8p+tZI
         /IYw==
X-Gm-Message-State: AOAM532v+MRcHqPxcFFcRaKt+hB1cI4sfTrFrRLz83VpWjyGT9cB334P
	2z2orRtsX1Bbu7tD4uU1EWU=
X-Google-Smtp-Source: ABdhPJxzsYelAgPwIrLwHXwqEGliJ5vS+we4MW2tj375Z/nX9HFwmx8yp+6BPHWxDivdPsW7WY4m1A==
X-Received: by 2002:a62:78c1:0:b0:3e2:bdc:6952 with SMTP id t184-20020a6278c1000000b003e20bdc6952mr20448852pfc.45.1629483673512;
        Fri, 20 Aug 2021 11:21:13 -0700 (PDT)
Subject: Re: [PATCH V3 12/13] HV/Netvsc: Add Isolation VM support for netvsc
 driver
To: Michael Kelley <mikelley@microsoft.com>, KY Srinivasan
 <kys@microsoft.com>, Haiyang Zhang <haiyangz@microsoft.com>,
 Stephen Hemminger <sthemmin@microsoft.com>,
 "wei.liu@kernel.org" <wei.liu@kernel.org>, Dexuan Cui <decui@microsoft.com>,
 "tglx@linutronix.de" <tglx@linutronix.de>,
 "mingo@redhat.com" <mingo@redhat.com>, "bp@alien8.de" <bp@alien8.de>,
 "x86@kernel.org" <x86@kernel.org>, "hpa@zytor.com" <hpa@zytor.com>,
 "dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
 "luto@kernel.org" <luto@kernel.org>,
 "peterz@infradead.org" <peterz@infradead.org>,
 "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
 "boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>,
 "jgross@suse.com" <jgross@suse.com>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>,
 "joro@8bytes.org" <joro@8bytes.org>, "will@kernel.org" <will@kernel.org>,
 "davem@davemloft.net" <davem@davemloft.net>,
 "kuba@kernel.org" <kuba@kernel.org>, "jejb@linux.ibm.com"
 <jejb@linux.ibm.com>, "martin.petersen@oracle.com"
 <martin.petersen@oracle.com>, "arnd@arndb.de" <arnd@arndb.de>,
 "hch@lst.de" <hch@lst.de>,
 "m.szyprowski@samsung.com" <m.szyprowski@samsung.com>,
 "robin.murphy@arm.com" <robin.murphy@arm.com>,
 "thomas.lendacky@amd.com" <thomas.lendacky@amd.com>,
 "brijesh.singh@amd.com" <brijesh.singh@amd.com>,
 "ardb@kernel.org" <ardb@kernel.org>, Tianyu Lan <Tianyu.Lan@microsoft.com>,
 "pgonda@google.com" <pgonda@google.com>,
 "martin.b.radev@gmail.com" <martin.b.radev@gmail.com>,
 "akpm@linux-foundation.org" <akpm@linux-foundation.org>,
 "kirill.shutemov@linux.intel.com" <kirill.shutemov@linux.intel.com>,
 "rppt@kernel.org" <rppt@kernel.org>,
 "sfr@canb.auug.org.au" <sfr@canb.auug.org.au>,
 "saravanand@fb.com" <saravanand@fb.com>,
 "krish.sadhukhan@oracle.com" <krish.sadhukhan@oracle.com>,
 "aneesh.kumar@linux.ibm.com" <aneesh.kumar@linux.ibm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "rientjes@google.com" <rientjes@google.com>,
 "hannes@cmpxchg.org" <hannes@cmpxchg.org>, "tj@kernel.org" <tj@kernel.org>
Cc: "iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org>,
 "linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
 "linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
 "linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
 "netdev@vger.kernel.org" <netdev@vger.kernel.org>,
 vkuznets <vkuznets@redhat.com>,
 "parri.andrea@gmail.com" <parri.andrea@gmail.com>,
 "dave.hansen@intel.com" <dave.hansen@intel.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-13-ltykernel@gmail.com>
 <MWHPR21MB15936FE72E65A62FBA3EF4F2D7C09@MWHPR21MB1593.namprd21.prod.outlook.com>
From: Tianyu Lan <ltykernel@gmail.com>
Message-ID: <713480b3-f924-60dd-96a4-b6318930383f@gmail.com>
Date: Sat, 21 Aug 2021 02:20:58 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <MWHPR21MB15936FE72E65A62FBA3EF4F2D7C09@MWHPR21MB1593.namprd21.prod.outlook.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit

On 8/20/2021 2:14 AM, Michael Kelley wrote:
>> @@ -477,6 +521,15 @@ static int netvsc_init_buf(struct hv_device *device,
>>   		goto cleanup;
>>   	}
>>
>> +	if (hv_isolation_type_snp()) {
>> +		vaddr = netvsc_remap_buf(net_device->send_buf, buf_size);
>> +		if (!vaddr)
>> +			goto cleanup;
> I don't think this error case is handled correctly.  Doesn't the remapping
> of the recv buf need to be undone?
>

Yes, actually I thought to return error here and free_netvsc_device() 
will help to unmap recv_buffer finally. But I forget to set ret = 
-ENOMEM when add netvsc_remap_buf() helper.



From xen-devel-bounces@lists.xenproject.org Fri Aug 20 19:22:38 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 19:22:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169666.309944 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mHA5u-0004C2-QV; Fri, 20 Aug 2021 19:22:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169666.309944; Fri, 20 Aug 2021 19: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 1mHA5u-0004Bv-NB; Fri, 20 Aug 2021 19:22:22 +0000
Received: by outflank-mailman (input) for mailman id 169666;
 Fri, 20 Aug 2021 19:22:21 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eXiP=NL=microsoft.com=mikelley@srs-us1.protection.inumbo.net>)
 id 1mHA5t-0004Bp-HZ
 for xen-devel@lists.xenproject.org; Fri, 20 Aug 2021 19:22:21 +0000
Received: from outbound.mail.eo.outlook.com (unknown [40.93.8.15])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id d52e90f9-4cef-4a0f-95fb-96e520b3cf12;
 Fri, 20 Aug 2021 19:22:18 +0000 (UTC)
Received: from CY4PR21MB1586.namprd21.prod.outlook.com (2603:10b6:910:90::10)
 by CY4PR21MB0280.namprd21.prod.outlook.com (2603:10b6:903:bb::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.6; Fri, 20 Aug
 2021 19:22:14 +0000
Received: from CY4PR21MB1586.namprd21.prod.outlook.com
 ([fe80::686d:43d8:a7e8:1aa6]) by CY4PR21MB1586.namprd21.prod.outlook.com
 ([fe80::686d:43d8:a7e8:1aa6%8]) with mapi id 15.20.4457.007; Fri, 20 Aug 2021
 19:22:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d52e90f9-4cef-4a0f-95fb-96e520b3cf12
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DzodoZrq5U0TGafkMgl8AUuSPyMClQn6jiRFX7PvtZEYAzfyFJAg91NRmvMCdHF9gjjKDrTKUqdaCVd/qsTweTKsOeQWO9WzzYGtb/PHrgTgxDB2iBROuop0APk41vINy0rMZLs01+P0t6T8+4742aBz0MQGENtR5EKY6pJkPqCJTm+pIz6NNffV6PfF564f7linR/Wo5gJKC6RvynVCxHaEsAYVirB4uOC2ZSnsoBT4L94MLXpC9lP5K1qCk5sxm3dJHlj9WS38ZokbqoLa8hGODq4iIR2DE633JzBQ719uhoxpkxPnaG2kh0uShkhZ/aaaIo2e/rKVAfdqZpYS8A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nijsuRvOJ23nsVmLpYc5DV21YnvuxPrMi13EC1b7neQ=;
 b=V66kKHFWWE3Nue0n2WcgCNCr4/ReSRzOCQSkcMhaO/qSJzCHq15XUN++aPn5lSdW3IhaVwjkB65Kkuk2gCPi3ZPrzRjzYw43VAfKvTW8cHfbe8HMXTcn8JRDysiBIkURfJwyN2yjpc4dU6HSxqdpEs/uzoT2BHlH3OnY6ML10jOo9QuqoCmMs7sgSzprNnIm8M8vbJlmUWlr+5m93K8PAxr6vomcZ/q2Jat0ZkaLydSEBaWA4jOU3vmsTj3W8CgkRBMnC5mQ+TM/ro5njjA/lkxG9od7xgBC8XwhOSeU2sHWLMuwrCTi/Uj2JT70k47rr+Dc+1ahoHyova7457mhxg==
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=nijsuRvOJ23nsVmLpYc5DV21YnvuxPrMi13EC1b7neQ=;
 b=GiJdV2HSWswR4HtjJgxNfECN3LcjsqPqHM96HfRNhWTrEDBBUV77LDnL0sgn5uqP7o88fDBa6/RsLsx8Bb99DthqPMpTHKyrjjYch6ZXsDrO/DtznNnrHq36lOC7Rn7+vvKQTf63YSNfDxRvFlq/DqBDNwPh7lLOLYoeNkpU6eA=
From: Michael Kelley <mikelley@microsoft.com>
To: Tianyu Lan <ltykernel@gmail.com>, KY Srinivasan <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>, Stephen Hemminger
	<sthemmin@microsoft.com>, "wei.liu@kernel.org" <wei.liu@kernel.org>, Dexuan
 Cui <decui@microsoft.com>, "tglx@linutronix.de" <tglx@linutronix.de>,
	"mingo@redhat.com" <mingo@redhat.com>, "bp@alien8.de" <bp@alien8.de>,
	"x86@kernel.org" <x86@kernel.org>, "hpa@zytor.com" <hpa@zytor.com>,
	"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
	"luto@kernel.org" <luto@kernel.org>, "peterz@infradead.org"
	<peterz@infradead.org>, "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	"boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>, "jgross@suse.com"
	<jgross@suse.com>, "sstabellini@kernel.org" <sstabellini@kernel.org>,
	"joro@8bytes.org" <joro@8bytes.org>, "will@kernel.org" <will@kernel.org>,
	"davem@davemloft.net" <davem@davemloft.net>, "kuba@kernel.org"
	<kuba@kernel.org>, "jejb@linux.ibm.com" <jejb@linux.ibm.com>,
	"martin.petersen@oracle.com" <martin.petersen@oracle.com>, "arnd@arndb.de"
	<arnd@arndb.de>, "hch@lst.de" <hch@lst.de>, "m.szyprowski@samsung.com"
	<m.szyprowski@samsung.com>, "robin.murphy@arm.com" <robin.murphy@arm.com>,
	"thomas.lendacky@amd.com" <thomas.lendacky@amd.com>, "brijesh.singh@amd.com"
	<brijesh.singh@amd.com>, "ardb@kernel.org" <ardb@kernel.org>, Tianyu Lan
	<Tianyu.Lan@microsoft.com>, "pgonda@google.com" <pgonda@google.com>,
	"martin.b.radev@gmail.com" <martin.b.radev@gmail.com>,
	"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
	"kirill.shutemov@linux.intel.com" <kirill.shutemov@linux.intel.com>,
	"rppt@kernel.org" <rppt@kernel.org>, "sfr@canb.auug.org.au"
	<sfr@canb.auug.org.au>, "saravanand@fb.com" <saravanand@fb.com>,
	"krish.sadhukhan@oracle.com" <krish.sadhukhan@oracle.com>,
	"aneesh.kumar@linux.ibm.com" <aneesh.kumar@linux.ibm.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"rientjes@google.com" <rientjes@google.com>, "hannes@cmpxchg.org"
	<hannes@cmpxchg.org>, "tj@kernel.org" <tj@kernel.org>
CC: "iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org>,
	"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
	"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>, vkuznets
	<vkuznets@redhat.com>, "parri.andrea@gmail.com" <parri.andrea@gmail.com>,
	"dave.hansen@intel.com" <dave.hansen@intel.com>
Subject: RE: [PATCH V3 13/13] HV/Storvsc: Add Isolation VM support for storvsc
 driver
Thread-Topic: [PATCH V3 13/13] HV/Storvsc: Add Isolation VM support for
 storvsc driver
Thread-Index: AQHXjUf4MnryDC/QY0a+heAsfHsxAqt3v7VggATTgoCAAAfhIIAAJeaAgAAM0aA=
Date: Fri, 20 Aug 2021 19:22:14 +0000
Message-ID:
 <CY4PR21MB158655D98947D66C1C8B80B3D7C19@CY4PR21MB1586.namprd21.prod.outlook.com>
References: <20210809175620.720923-1-ltykernel@gmail.com>
 <20210809175620.720923-14-ltykernel@gmail.com>
 <MWHPR21MB1593EEF30FFD5C60ED744985D7C09@MWHPR21MB1593.namprd21.prod.outlook.com>
 <a96626db-4ac9-3ce4-64e9-92568e4f827a@gmail.com>
 <CY4PR21MB158664748760672446BFA075D7C19@CY4PR21MB1586.namprd21.prod.outlook.com>
 <939aa552-5c24-65ee-518d-1cf72867c15d@gmail.com>
In-Reply-To: <939aa552-5c24-65ee-518d-1cf72867c15d@gmail.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=0ba912b1-2bad-45cd-923b-a60bd443d8c3;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=2021-08-20T18:50:03Z;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-office365-filtering-correlation-id: 24d7f675-86d5-41ad-9da2-08d9640fd10e
x-ms-traffictypediagnostic: CY4PR21MB0280:
x-ms-exchange-transport-forked: True
x-ld-processed: 72f988bf-86f1-41af-91ab-2d7cd011db47,ExtAddr
x-microsoft-antispam-prvs:
 <CY4PR21MB02800876B8C69885C5DFD7E5D7C19@CY4PR21MB0280.namprd21.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:3276;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 eLeThGL+2lxj/EfsBL3cZ4P03clXBgcRcqDYtOsesgeRHs5z0qnZdu5fole5HKbixBvEKKPUvHiPtC/V+hsyeQcITyyE4UAKpGMx/IL5XvZ2AvSfRj09DqG/iOaF+TWiZawfbn31pFDAyUC2bn0QczYqcT591GpGn2fx6hDQei1MubCIE626EvuwR6FuD9qZtZgq53j8QCPauBXerLlblsnJqNCR2S7DQcgPUZbIHvHIBHlQ3Tcmr8eA6hDspTX+bCYmEbPYNMl+23H3c/MxrpUpDF5y+VTknxqDQg7Zu+FVd4FbPCC3tMacmAEGMKwAEnjk0xkbT2y7dypMP0G+RzmhcN1TnnLEWeY/mbUYTWfzG3a5rezO7YsgA+K94oMctv1iDykKp6H4ryM8ssC7EbFEYCQqOepKzDYosfyKHLOScume2NhRtD+XFfEKeOAXukPw6giJsqm/M9yVc8eE3xPVl6Z+sNJrq2JtE2dDhAuQNiAP3BTWHVRjPN/HuytJEdKKO3ShioeIbiTWRwQAM/5kjdLZLVCB5aPwcbd+om7oCNlYlyQWL4KofvQlfCCPojpeBdgiY/ICVS8/uh59HPuGNPtGlUwbbT3xoZMuSHgPYrxA9j1Y0pW6ngCt+U5xTIYHjnoWuKom4T7CygQb//w1/um+WcbjQbPTcwct1/yp8xlD38m2vFJVkgzuDw7rsmaznkbvocmsEsqgUH3fADFAqRyO9eO9yLmrVSwa000=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY4PR21MB1586.namprd21.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(83380400001)(316002)(26005)(86362001)(55016002)(54906003)(33656002)(82950400001)(122000001)(8676002)(4326008)(53546011)(64756008)(110136005)(9686003)(38100700002)(8936002)(38070700005)(71200400001)(10290500003)(7406005)(8990500004)(66476007)(7416002)(76116006)(186003)(6506007)(52536014)(66446008)(5660300002)(921005)(7696005)(2906002)(82960400001)(508600001)(66946007)(66556008);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?ZC85ZUI4Yll0clhJWFBURFF2dzFZV3RvZnJqM1MzakFJMExVNUlaUXE2U3lK?=
 =?utf-8?B?VDN5Um5nWUZqUEE5L2ErbFlWV0Q2MjV6Slg0UE1aWi9SMk9Tc0dKUmFIZ3Bs?=
 =?utf-8?B?b2Iya3dyWEVJUVozdnRPQkZZeU9ZV2t3K0N6cjNiQ3MzM2RjUVhEUzVyRzgz?=
 =?utf-8?B?QjJjRE9BbmowNjA3WTFlQTdSeVZlVko0dlBUU3R3cTFaQjJKclVnaVJtV005?=
 =?utf-8?B?aHd2Q29pKzRsMTRYZTROc1VEcndaeDdyenFGKzBIU0NTRXEyQXM0R3ByWTQv?=
 =?utf-8?B?di83V1NScXU0UDdpUHd2SVVKdUN6VW1FOEdUd0JDV0ZBMFRlN2tZTkJEWEE2?=
 =?utf-8?B?a3pKM1J1eEkrMXNWUnFYeXc3aTIwTVhsTUgvR1BORjNTN2orS1luZVh0RGxv?=
 =?utf-8?B?VUMzSnk1UHhMRWpJdWdqbStGdU5KYTJzRUJVd0tlTy91SURDYml3bXVTYzFS?=
 =?utf-8?B?V1ZGSjAyNnpIR2ZMQW11RnEwMElWdTlxWDB5eDl2Tm9DcEtvdGVJdWFyUGVL?=
 =?utf-8?B?M0tYTjFUWTE5S3dVYnBJUHkrU0VzMHhPNG9iM3hUcXhYdzhpWjVVVzZxRFNJ?=
 =?utf-8?B?OGdLeklBVDBlbVNhY1NzMFZ6RVhIMnFQZ0xkNFZ4RkYyWHp0WkdROE9uWEhy?=
 =?utf-8?B?SjRDcEh2UC9YYzJYalBGRkxPZGVVMjhXVmtoc21rbWVNaWozZ3UraU1iNG1Y?=
 =?utf-8?B?blYyU2szcXF3SllPcHFSNk54dC9NbEhQRlBQRDA5d2RZUWI5SFhJcHEyMitZ?=
 =?utf-8?B?OFEzYm9Tc1pDL1VHeFBLQjVZZEJzTlkzSVk1aVBkZXNHaldKTkdLWVU1djNR?=
 =?utf-8?B?NU5oYy9FdEkyQmdrUFVzWkFzQnlYU2ZrMmRnUCtmTDhPMW44cVV5ckt1S3dX?=
 =?utf-8?B?YnBLQllqaEozeS9RTTEvM0pSV3kvcDh6bjZPdzNTeUZFcHZiL2Q1TFc1SlVU?=
 =?utf-8?B?aENkZkRxMWVHVEJRNlk3YmVYeEh0RXBJa0FIYmdCanBDc2pIMXhFQnhsWDFt?=
 =?utf-8?B?K1RNME1hOHFvV2xhWmFjYTZrdmFLTWJMaUhyMUZja0h1YWcxQks2SHJpR1hI?=
 =?utf-8?B?QlAzWXk2T1FIaUtsYzJKa21NQjFLWGc2MStNRGZGOGJZb1FxM0IxTFp1U29I?=
 =?utf-8?B?MCtJQVJBQkhhblovRkw5ZUVnOEY2U2NNemlrdnM1UisxQXZNUWs4M0ZRd216?=
 =?utf-8?B?Q05HN0tCTHk1cWNCbHZsY0xReXdrTk5yL1A2cnVQaUFyakdkTlhpV0pMTGVz?=
 =?utf-8?B?Vk8wa3ExTE5sWDdieXdBbDhPUllTQ1lHMG50NjdTVzFPU3pSSCtmbnk1UDhP?=
 =?utf-8?B?R1lPMUNhTll3S0ZhZlNNajVkZ1ozWlhxRjVGMHd1RFN3Qk9yMEJHQkZaVU5u?=
 =?utf-8?B?Q1pYNGpmbVRxYXRhRFFsekJFUEZpSXpWY2hNcGs4ZjBBN2o0VURPaURrSmtW?=
 =?utf-8?B?Uk5UZS9USWQ1S0N2MnFmQ2kzODZhNC9JUE1yODNsdmhQTnlUQXFXa1ZYeFdC?=
 =?utf-8?B?R2orRHF2M3Y3NklnS1hLQ2RyUXJ1MXp1S0U5L0V1Q3RqdFBrU1Qrc1owaThi?=
 =?utf-8?B?YkdoUWR4QWRNRDNoS0ZsN0pNbDlRVE84UGw3YVl2ZnlvRmdlY3Vmb0gvYnNR?=
 =?utf-8?B?WStCS2xPRUZKd1VnMXhrcHBXR3pFRjJMVHJGOEgrVUVwVEh3NlhkS1dVV0or?=
 =?utf-8?B?ejZncVNXV1U3UG90YTFNZ0hzeHM1S20zSkd3OVdvMVRkejJWUTE3ZFpUenVW?=
 =?utf-8?Q?F5mEVZ5P0anxObU2dpBW71v9BSvqYRNsTcNtsaA?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: microsoft.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: CY4PR21MB1586.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 24d7f675-86d5-41ad-9da2-08d9640fd10e
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Aug 2021 19:22:14.1800
 (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: SqILgPuiapj/MmCXfScJLA4Yxao5XWu94HGgwVOQddBGv82AAtJ/bdPhIpcF/8pyCvwycQ7Cx9YBLaMFf5240xBLw1rztk2dS0qJTi/QGYM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR21MB0280

RnJvbTogVGlhbnl1IExhbiA8bHR5a2VybmVsQGdtYWlsLmNvbT4gU2VudDogRnJpZGF5LCBBdWd1
c3QgMjAsIDIwMjEgMTE6MDQgQU0NCj4gDQo+IE9uIDgvMjEvMjAyMSAxMjowOCBBTSwgTWljaGFl
bCBLZWxsZXkgd3JvdGU6DQo+ID4+Pj4gICAgCX0NCj4gPj4+IFRoZSB3aG9sZSBhcHByb2FjaCBo
ZXJlIGlzIHRvIGRvIGRtYSByZW1hcHBpbmcgb24gZWFjaCBpbmRpdmlkdWFsIHBhZ2UNCj4gPj4+
IG9mIHRoZSBJL08gYnVmZmVyLiAgQnV0IHdvdWxkbid0IGl0IGJlIHBvc3NpYmxlIHRvIHVzZSBk
bWFfbWFwX3NnKCkgdG8gbWFwDQo+ID4+PiBlYWNoIHNjYXR0ZXJsaXN0IGVudHJ5IGFzIGEgdW5p
dD8gIEVhY2ggc2NhdHRlcmxpc3QgZW50cnkgZGVzY3JpYmVzIGEgcmFuZ2Ugb2YNCj4gPj4+IHBo
eXNpY2FsbHkgY29udGlndW91cyBtZW1vcnkuICBBZnRlciBkbWFfbWFwX3NnKCksIHRoZSByZXN1
bHRpbmcgZG1hDQo+ID4+PiBhZGRyZXNzIG11c3QgYWxzbyByZWZlciB0byBhIHBoeXNpY2FsbHkg
Y29udGlndW91cyByYW5nZSBpbiB0aGUgc3dpb3RsYg0KPiA+Pj4gYm91bmNlIGJ1ZmZlciBtZW1v
cnkuICAgU28gYXQgdGhlIHRvcCBvZiB0aGUgImZvciIgbG9vcCBvdmVyIHRoZSBzY2F0dGVybGlz
dA0KPiA+Pj4gZW50cmllcywgZG8gZG1hX21hcF9zZygpIGlmIHdlJ3JlIGluIGFuIGlzb2xhdGVk
IFZNLiAgVGhlbiBjb21wdXRlIHRoZQ0KPiA+Pj4gaHZwZm4gdmFsdWUgYmFzZWQgb24gdGhlIGRt
YSBhZGRyZXNzIGluc3RlYWQgb2Ygc2dfcGFnZSgpLiAgQnV0IGV2ZXJ5dGhpbmcNCj4gPj4+IGVs
c2UgaXMgdGhlIHNhbWUsIGFuZCB0aGUgaW5uZXIgbG9vcCBmb3IgcG9wdWxhdGluZyB0aGUgcGZu
X2FycnkgaXMgdW5tb2RpZmllZC4NCj4gPj4+IEZ1cnRoZXJtb3JlLCB0aGUgZG1hX3JhbmdlIGFy
cmF5IHRoYXQgeW91J3ZlIGFkZGVkIGlzIG5vdCBuZWVkZWQsIHNpbmNlDQo+ID4+PiBzY2F0dGVy
bGlzdCBlbnRyaWVzIGFscmVhZHkgaGF2ZSBhIGRtYV9hZGRyZXNzIGZpZWxkIGZvciBzYXZpbmcg
dGhlIG1hcHBlZA0KPiA+Pj4gYWRkcmVzcywgYW5kIGRtYV91bm1hcF9zZygpIHVzZXMgdGhhdCBm
aWVsZC4NCj4gPj4gSSBkb24ndCB1c2UgZG1hX21hcF9zZygpIGhlcmUgaW4gb3JkZXIgdG8gYXZv
aWQgaW50cm9kdWNpbmcgb25lIG1vcmUNCj4gPj4gbG9vcChlLGcgZG1hX21hcF9zZygpKS4gV2Ug
YWxyZWFkeSBoYXZlIGEgbG9vcCB0byBwb3B1bGF0ZQ0KPiA+PiBjbWRfcmVxdWVzdC0+ZG1hX3Jh
bmdlW10gYW5kIHNvIGRvIHRoZSBkbWEgbWFwIGluIHRoZSBzYW1lIGxvb3AuDQo+ID4+DQo+ID4g
SSdtIG5vdCBzZWVpbmcgd2hlcmUgdGhlIGFkZGl0aW9uYWwgbG9vcCBjb21lcyBmcm9tLiAgU3Rv
cnZzYw0KPiA+IGFscmVhZHkgaGFzIGEgbG9vcCB0aHJvdWdoIHRoZSBzZ2wgZW50cmllcy4gIFJl
dGFpbiB0aGF0IGxvb3AgYW5kIGNhbGwNCj4gPiBkbWFfbWFwX3NnKCkgd2l0aCBuZW50cyBzZXQg
dG8gMS4gIFRoZW4gdGhlIHNlcXVlbmNlIGlzDQo+ID4gZG1hX21hcF9zZygpIC0tPiBkbWFfbWFw
X3NnX2F0dHJzKCkgLS0+IGRtYV9kaXJlY3RfbWFwX3NnKCkgLT4NCj4gPiBkbWFfZGlyZWN0X21h
cF9wYWdlKCkuICBUaGUgbGF0dGVyIGZ1bmN0aW9uIHdpbGwgY2FsbCBzd2lvdGxiX21hcCgpDQo+
ID4gdG8gbWFwIGFsbCBwYWdlcyBvZiB0aGUgc2dsIGVudHJ5IGFzIGEgc2luZ2xlIG9wZXJhdGlv
bi4NCj4gDQo+IEFmdGVyIGRtYV9tYXBfc2coKSwgd2Ugc3RpbGwgbmVlZCB0byBnbyB0aHJvdWdo
IHNjYXR0ZXIgbGlzdCBhZ2FpbiB0bw0KPiBwb3B1bGF0ZSBwYXlsb2FkLT5ycmFuZ2UucGZuX2Fy
cmF5LiBXZSBtYXkganVzdCBnbyB0aHJvdWdoIHRoZSBzY2F0dGVyDQo+IGxpc3QganVzdCBvbmNl
IGlmIGRtYV9tYXBfc2coKSBhY2NlcHRzIGEgY2FsbGJhY2sgYW5kIHJ1biBpdCBkdXJpbmcgZ28N
Cj4gdGhyb3VnaCBzY2F0dGVyIGxpc3QuDQoNCkhlcmUncyBzb21lIGNvZGUgZm9yIHdoYXQgSSdt
IHN1Z2dlc3RpbmcgKG5vdCBldmVuIGNvbXBpbGUgdGVzdGVkKS4NClRoZSBvbmx5IGNoYW5nZSBp
cyB3aGF0J3MgaW4gdGhlICJpZiIgY2xhdXNlIG9mIHRoZSBTTlAgdGVzdC4gIGRtYV9tYXBfc2co
KQ0KaXMgY2FsbGVkIHdpdGggdGhlIG5lbnRzIHBhcmFtZXRlciBzZXQgdG8gb25lIHNvIHRoYXQg
aXQgb25seQ0KcHJvY2Vzc2VzIG9uZSBzZ2wgZW50cnkgZWFjaCB0aW1lIGl0IGlzIGNhbGxlZCwg
YW5kIGRvZXNuJ3Qgd2FsayB0aGUNCmVudGlyZSBzZ2wuICBBcmd1YWJseSwgd2UgZG9uJ3QgZXZl
biBuZWVkIHRoZSBTTlAgdGVzdCBhbmQgdGhlIGVsc2UNCmNsYXVzZSAtLSBqdXN0IGFsd2F5cyBk
byB3aGF0J3MgaW4gdGhlIGlmIGNsYXVzZS4NCg0KVGhlIGNvcnJlc3BvbmRpbmcgY29kZSBpbiBz
dG9ydnNjX29uX2NoYW5uZWxfY2FsbGJhY2sgd291bGQgYWxzbw0KaGF2ZSB0byBiZSBjaGFuZ2Vk
LiAgIEFuZCB3ZSBzdGlsbCBoYXZlIHRvIHNldCB0aGUgbWluX2FsaWduX21hc2sNCnNvIHN3aW90
bGIgd2lsbCBwcmVzZXJ2ZSBhbnkgb2Zmc2V0LiAgU3RvcnN2c2MgYWxyZWFkeSBoYXMgdGhpbmdz
IHNldCB1cA0Kc28gdGhhdCBoaWdoZXIgbGV2ZWxzIGVuc3VyZSB0aGVyZSBhcmUgbm8gaG9sZXMg
YmV0d2VlbiBzZ2wgZW50cmllcywNCmFuZCB0aGF0IG5lZWRzIHRvIHN0YXkgdHJ1ZS4NCg0KCWlm
IChzZ19jb3VudCkgew0KCQl1bnNpZ25lZCBpbnQgaHZwZ29mZiwgaHZwZm5zX3RvX2FkZDsNCgkJ
dW5zaWduZWQgbG9uZyBvZmZzZXRfaW5faHZwZyA9IG9mZnNldF9pbl9odnBhZ2Uoc2dsLT5vZmZz
ZXQpOw0KCQl1bnNpZ25lZCBpbnQgaHZwZ19jb3VudCA9IEhWUEZOX1VQKG9mZnNldF9pbl9odnBn
ICsgbGVuZ3RoKTsNCgkJdTY0IGh2cGZuOw0KCQlpbnQgbmVudHM7DQoNCgkJaWYgKGh2cGdfY291
bnQgPiBNQVhfUEFHRV9CVUZGRVJfQ09VTlQpIHsNCg0KCQkJcGF5bG9hZF9zeiA9IChodnBnX2Nv
dW50ICogc2l6ZW9mKHU2NCkgKw0KCQkJCSAgICAgIHNpemVvZihzdHJ1Y3Qgdm1idXNfcGFja2V0
X21wYl9hcnJheSkpOw0KCQkJcGF5bG9hZCA9IGt6YWxsb2MocGF5bG9hZF9zeiwgR0ZQX0FUT01J
Qyk7DQoJCQlpZiAoIXBheWxvYWQpDQoJCQkJcmV0dXJuIFNDU0lfTUxRVUVVRV9ERVZJQ0VfQlVT
WTsNCgkJfQ0KDQoJCXBheWxvYWQtPnJhbmdlLmxlbiA9IGxlbmd0aDsNCgkJcGF5bG9hZC0+cmFu
Z2Uub2Zmc2V0ID0gb2Zmc2V0X2luX2h2cGc7DQoNCg0KCQlmb3IgKGkgPSAwOyBzZ2wgIT0gTlVM
TDsgc2dsID0gc2dfbmV4dChzZ2wpKSB7DQoJCQkvKg0KCQkJICogSW5pdCB2YWx1ZXMgZm9yIHRo
ZSBjdXJyZW50IHNnbCBlbnRyeS4gaHZwZ29mZg0KCQkJICogYW5kIGh2cGZuc190b19hZGQgYXJl
IGluIHVuaXRzIG9mIEh5cGVyLVYgc2l6ZQ0KCQkJICogcGFnZXMuIEhhbmRsaW5nIHRoZSBQQUdF
X1NJWkUgIT0gSFZfSFlQX1BBR0VfU0laRQ0KCQkJICogY2FzZSBhbHNvIGhhbmRsZXMgdmFsdWVz
IG9mIHNnbC0+b2Zmc2V0IHRoYXQgYXJlDQoJCQkgKiBsYXJnZXIgdGhhbiBQQUdFX1NJWkUuIFN1
Y2ggb2Zmc2V0cyBhcmUgaGFuZGxlZA0KCQkJICogZXZlbiBvbiBvdGhlciB0aGFuIHRoZSBmaXJz
dCBzZ2wgZW50cnksIHByb3ZpZGVkDQoJCQkgKiB0aGV5IGFyZSBhIG11bHRpcGxlIG9mIFBBR0Vf
U0laRS4NCgkJCSAqLw0KCQkJaHZwZ29mZiA9IEhWUEZOX0RPV04oc2dsLT5vZmZzZXQpOw0KDQoJ
CQlpZiAoaHZfaXNvbGF0aW9uX3R5cGVfc25wKCkpIHsNCgkJCQluZW50cyA9IGRtYV9tYXBfc2co
ZGV2LT5kZXZpY2UsIHNnbCwgMSwgc2NtbmQtPnNjX2RhdGFfZGlyZWN0aW9uKTsNCgkJCQlpZiAo
bmVudHMgIT0gMSkNCgkJCQkJPHJldHVybiBlcnJvciBjb2RlIHNvIGhpZ2hlciBsZXZlbHMgd2ls
bCByZXRyeT4NCgkJCQlodnBmbiA9IEhWUEZOX0RPV04oc2dfZG1hX2FkZHJlc3Moc2dsKSkgKyBo
dnBnb2ZmOw0KCQkJfSBlbHNlIHsNCgkJCQlodnBmbiA9IHBhZ2VfdG9faHZwZm4oc2dfcGFnZShz
Z2wpKSArIGh2cGdvZmY7DQoJCQl9DQoNCgkJCWh2cGZuc190b19hZGQgPSBIVlBGTl9VUChzZ2wt
Pm9mZnNldCArIHNnbC0+bGVuZ3RoKSAtDQoJCQkJCQlodnBnb2ZmOw0KDQoJCQkvKg0KCQkJICog
RmlsbCB0aGUgbmV4dCBwb3J0aW9uIG9mIHRoZSBQRk4gYXJyYXkgd2l0aA0KCQkJICogc2VxdWVu
dGlhbCBIeXBlci1WIFBGTnMgZm9yIHRoZSBjb250aWd1b3VzIHBoeXNpY2FsDQoJCQkgKiBtZW1v
cnkgZGVzY3JpYmVkIGJ5IHRoZSBzZ2wgZW50cnkuIFRoZSBlbmQgb2YgdGhlDQoJCQkgKiBsYXN0
IHNnbCBzaG91bGQgYmUgcmVhY2hlZCBhdCB0aGUgc2FtZSB0aW1lIHRoYXQNCgkJCSAqIHRoZSBQ
Rk4gYXJyYXkgaXMgZmlsbGVkLg0KCQkJICovDQoJCQl3aGlsZSAoaHZwZm5zX3RvX2FkZC0tKQ0K
CQkJCXBheWxvYWQtPnJhbmdlLnBmbl9hcnJheVtpKytdID0gaHZwZm4rKzsNCgkJfQ0KCX0NCg==


From xen-devel-bounces@lists.xenproject.org Fri Aug 20 19:35:57 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Aug 2021 19:35:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169671.309955 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mHAIy-0005ok-13; Fri, 20 Aug 2021 19:35:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169671.309955; Fri, 20 Aug 2021 19:35: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 1mHAIx-0005od-UI; Fri, 20 Aug 2021 19:35:51 +0000
Received: by outflank-mailman (input) for mailman id 169671;
 Fri, 20 Aug 2021 19:35:50 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mHAIw-0005oT-1T; Fri, 20 Aug 2021 19:35:50 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mHAIv-0002UN-Sq; Fri, 20 Aug 2021 19:35: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 1mHAIv-0002Ob-JM; Fri, 20 Aug 2021 19:35:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mHAIv-0005CZ-Ir; Fri, 20 Aug 2021 19:35:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ps1CarbjeuKvLN4UkEvOLAxBxqT8hMINapSEBQrYGpg=; b=TvyiCYDWoxE96U7dP/yS+nwSoO
	dFI7FPCpR+y9L34h0zdQK4SDwxTmz+Od1F4Jicoln2z21smiJpNtFRssQg4Fu166+U/hD4mhXGs6V
	cow2qYhWj8yazmAfEpz7IYGh6Q5+8azkrhfWfLgsTChix1HYJxCCx00rIDsZ8nzfHz9I=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164277-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 164277: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=93713f444b3f29d6848527506db69cf78976b32d
X-Osstest-Versions-That:
    xen=b8238afd076189c1e1b459752f78e8639b5c2a3a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 20 Aug 2021 19:35:49 +0000

flight 164277 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164277/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  93713f444b3f29d6848527506db69cf78976b32d
baseline version:
 xen                  b8238afd076189c1e1b459752f78e8639b5c2a3a

Last test of basis   164271  2021-08-20 11:00:28 Z    0 days
Testing same since   164277  2021-08-20 16:01:39 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   b8238afd07..93713f444b  93713f444b3f29d6848527506db69cf78976b32d -> smoke


From xen-devel-bounces@lists.xenproject.org Sat Aug 21 06:19:08 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 21 Aug 2021 06:19:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169697.310023 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mHKLC-0003wA-S9; Sat, 21 Aug 2021 06:18:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169697.310023; Sat, 21 Aug 2021 06: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 1mHKLC-0003vi-LK; Sat, 21 Aug 2021 06:18:50 +0000
Received: by outflank-mailman (input) for mailman id 169697;
 Sat, 21 Aug 2021 06:18: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 1mHKLB-0003vY-IF; Sat, 21 Aug 2021 06:18: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 1mHKLB-0006oN-8R; Sat, 21 Aug 2021 06:18: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 1mHKLA-0000YM-Uc; Sat, 21 Aug 2021 06:18:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mHKLA-0004VC-U7; Sat, 21 Aug 2021 06:18:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
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=lOv1VVT3Rq46mwm4Pw8LhjDwDBm1QaceUkdRh+Y57Wk=; b=KgxHhQXTE22gE4TzDcmrhtuPPv
	CARE6UWW90GmdrVxTvlzW3sa4COlDqT829OpB7gRCH4MT4OCBG4+HXWoQ1d4N4mpvTW6MTlGOAMir
	h7NGbXM7tjRoCAbg5FYdk9dLkZlOZzYVSJA/mzWTyKHfKLIJ1W4va7hqlq7WsMBWAQZ4=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Subject: [xen-unstable bisection] complete test-amd64-i386-examine
Message-Id: <E1mHKLA-0004VC-U7@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 21 Aug 2021 06:18:48 +0000

branch xen-unstable
xenbranch xen-unstable
job test-amd64-i386-examine
testid reboot

Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  6b1ca51b1a91d002636518afe4a8a50ba7212495
  Bug not present: 4c0a19991465fc19c5afa9bc3f304bae6044314e
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164290/


  commit 6b1ca51b1a91d002636518afe4a8a50ba7212495
  Author: Jan Beulich <jbeulich@suse.com>
  Date:   Wed Aug 18 09:40:08 2021 +0200
  
      x86/PV: assert page state in mark_pv_pt_pages_rdonly()
      
      About every time I look at dom0_construct_pv()'s "calculation" of
      nr_pt_pages I question (myself) whether the result is precise or merely
      an upper bound. I think it is meant to be precise, but I think we would
      be better off having some checking in place. Hence add ASSERT()s to
      verify that
      - all pages have a valid L1...Ln (currently L4) page table type and
      - no other bits are set, in particular the type refcount is still zero.
      
      Signed-off-by: Jan Beulich <jbeulich@suse.com>
      Reviewed-by: Andrew Cooper <andrew.cooper3@citirx.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-unstable/test-amd64-i386-examine.reboot.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/test-amd64-i386-examine.reboot --summary-out=tmp/164290.bisection-summary --basis-template=164178 --blessings=real,real-bisect,real-retry xen-unstable test-amd64-i386-examine reboot
Searching for failure / basis pass:
 164248 fail [host=huxelrebe1] / 164237 [host=elbling1] 164230 [host=albana1] 164171 [host=elbling1] 164154 [host=pinot1] 164149 [host=chardonnay0] 164145 [host=fiano1] 164129 [host=albana0] 164123 [host=pinot0] 164119 [host=albana1] 164116 [host=fiano0] 164106 [host=elbling1] 164097 ok.
Failure / basis pass flights: 164248 / 164097
(tree with no url: minios)
(tree with no url: ovmf)
(tree with no url: seabios)
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: xen git://xenbits.xen.org/xen.git
Latest c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 517a90d1ca09ce00e50d46ac25566cc3bd2eb34d
Basis pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 2278d2cbb0b7c1b48b298c6c4c6a7de2271ac928
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/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c7437ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#136c34c9bc4179dc64b15b2bb5f0c54\
 ca4ddf823-136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 git://xenbits.xen.org/xen.git#2278d2cbb0b7c1b48b298c6c4c6a7de2271ac928-517a90d1ca09ce00e50d46ac25566cc3bd2eb34d
Loaded 5001 nodes in revision graph
Searching for test results:
 164094 [host=albana0]
 164097 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 2278d2cbb0b7c1b48b298c6c4c6a7de2271ac928
 164106 [host=elbling1]
 164116 [host=fiano0]
 164119 [host=albana1]
 164123 [host=pinot0]
 164129 [host=albana0]
 164145 [host=fiano1]
 164149 [host=chardonnay0]
 164154 [host=pinot1]
 164171 [host=elbling1]
 164230 [host=albana1]
 164237 [host=elbling1]
 164248 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 517a90d1ca09ce00e50d46ac25566cc3bd2eb34d
 164280 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 2278d2cbb0b7c1b48b298c6c4c6a7de2271ac928
 164281 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 517a90d1ca09ce00e50d46ac25566cc3bd2eb34d
 164282 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 5c34b9af05b9e5abd25d88efc4fb783136547810
 164283 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 6928bc511399fd8f593fe49a3241212860a6a1b5
 164284 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 54c9736382e0d558a6acd820e44185e020131c48
 164285 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 4c0a19991465fc19c5afa9bc3f304bae6044314e
 164286 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 6b1ca51b1a91d002636518afe4a8a50ba7212495
 164287 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 4c0a19991465fc19c5afa9bc3f304bae6044314e
 164288 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 6b1ca51b1a91d002636518afe4a8a50ba7212495
 164289 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 4c0a19991465fc19c5afa9bc3f304bae6044314e
 164290 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 6b1ca51b1a91d002636518afe4a8a50ba7212495
Searching for interesting versions
 Result found: flight 164097 (pass), for basis pass
 For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 4c0a19991465fc19c5afa9bc3f304bae6044314e, results HASH(0x556daeba1e78) HASH(0x556daeb818d0) HASH(0x556daeba1ff8) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9b\
 c4179dc64b15b2bb5f0c54ca4ddf823 54c9736382e0d558a6acd820e44185e020131c48, results HASH(0x556daeb9fe70) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 6928bc511399fd8f593fe49a3241212860a6a1b5, results HASH(0x556daeb9ec48) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f\
 0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 5c34b9af05b9e5abd25d88efc4fb783136547810, results HASH(0x556daeb9cc40) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 2278d2cbb0b7c1b48b298c6c4c6a7de2271ac928, results HASH(0x556daeb91cc8) HASH(0x556daeb8c130) Result found: flight 164248 (fail), \
 for basis failure (at ancestor ~677)
 Repro found: flight 164280 (pass), for basis pass
 Repro found: flight 164281 (fail), for basis failure
 0 revisions at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 4c0a19991465fc19c5afa9bc3f304bae6044314e
No revisions left to test, checking graph state.
 Result found: flight 164285 (pass), for last pass
 Result found: flight 164286 (fail), for first failure
 Repro found: flight 164287 (pass), for last pass
 Repro found: flight 164288 (fail), for first failure
 Repro found: flight 164289 (pass), for last pass
 Repro found: flight 164290 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  6b1ca51b1a91d002636518afe4a8a50ba7212495
  Bug not present: 4c0a19991465fc19c5afa9bc3f304bae6044314e
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164290/


  commit 6b1ca51b1a91d002636518afe4a8a50ba7212495
  Author: Jan Beulich <jbeulich@suse.com>
  Date:   Wed Aug 18 09:40:08 2021 +0200
  
      x86/PV: assert page state in mark_pv_pt_pages_rdonly()
      
      About every time I look at dom0_construct_pv()'s "calculation" of
      nr_pt_pages I question (myself) whether the result is precise or merely
      an upper bound. I think it is meant to be precise, but I think we would
      be better off having some checking in place. Hence add ASSERT()s to
      verify that
      - all pages have a valid L1...Ln (currently L4) page table type and
      - no other bits are set, in particular the type refcount is still zero.
      
      Signed-off-by: Jan Beulich <jbeulich@suse.com>
      Reviewed-by: Andrew Cooper <andrew.cooper3@citirx.com>

Revision graph left in /home/logs/results/bisect/xen-unstable/test-amd64-i386-examine.reboot.{dot,ps,png,html,svg}.
----------------------------------------
164290: tolerable ALL FAIL

flight 164290 xen-unstable real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/164290/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-i386-examine       8 reboot                  fail baseline untested


jobs:
 test-amd64-i386-examine                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary



From xen-devel-bounces@lists.xenproject.org Sat Aug 21 08:40:32 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 21 Aug 2021 08:40:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169719.310046 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mHMY6-0003LP-TW; Sat, 21 Aug 2021 08:40:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169719.310046; Sat, 21 Aug 2021 08: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 1mHMY6-0003LI-PT; Sat, 21 Aug 2021 08:40:18 +0000
Received: by outflank-mailman (input) for mailman id 169719;
 Sat, 21 Aug 2021 08:40: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 1mHMY4-0003L7-Lr; Sat, 21 Aug 2021 08:40: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 1mHMY4-0001ls-C5; Sat, 21 Aug 2021 08: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 1mHMY4-0005Z8-1p; Sat, 21 Aug 2021 08:40:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mHMY4-0005YM-1G; Sat, 21 Aug 2021 08:40:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=doA0LHEtJlF57VPgyl4KmfPw6FoLvRSJieRmRh0sysY=; b=xQ/4juAkxRCsGu7JESVDY+HHq3
	EP3LpGkRk2SOHQ6BSJ0uL8c3eiYPZamwkrDOOAwo9HdufI6uyLUWOYkuNh1gTj+sv7OgWrWlk0icz
	O19rLTjulJ8hhA0oiDXCvWN3i8s0iiqUC0Zj8t03S5wANigpbEj8SbzzW1zk06mnLXc8=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164259-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.12-testing test] 164259: regressions - FAIL
X-Osstest-Failures:
    xen-4.12-testing:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    xen-4.12-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    xen-4.12-testing:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:regression
    xen-4.12-testing:test-amd64-amd64-amd64-pvgrub:debian-di-install:fail:regression
    xen-4.12-testing:test-amd64-amd64-xl-qcow2:guest-saverestore.2:fail:heisenbug
    xen-4.12-testing:test-amd64-amd64-xl-qcow2:guest-localmigrate/x10:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=c6c5f9d8b3e23178341cd7f9b7614a463df74266
X-Osstest-Versions-That:
    xen=ea20eee97e9e0861127a8070cc7b9ae3557b09fb
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 21 Aug 2021 08:40:16 +0000

flight 164259 xen-4.12-testing real [real]
flight 164293 xen-4.12-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/164259/
http://logs.test-lab.xenproject.org/osstest/logs/164293/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 162549
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 162549
 test-amd64-amd64-i386-pvgrub 12 debian-di-install        fail REGR. vs. 162549
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install       fail REGR. vs. 162549

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qcow2    18 guest-saverestore.2 fail pass in 164293-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qcow2 19 guest-localmigrate/x10 fail in 164293 like 162549
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 162549
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 162549
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 162549
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 162549
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 162549
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 162549
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 162549
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 162549
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 162549
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 162549
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 162549
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-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-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 xen                  c6c5f9d8b3e23178341cd7f9b7614a463df74266
baseline version:
 xen                  ea20eee97e9e0861127a8070cc7b9ae3557b09fb

Last test of basis   162549  2021-06-08 18:37:01 Z   73 days
Testing same since   164259  2021-08-19 17:07:29 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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-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                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit c6c5f9d8b3e23178341cd7f9b7614a463df74266
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Jul 19 12:28:09 2021 +0200

    libxl/x86: check return value of SHADOW_OP_SET_ALLOCATION domctl
    
    The hypervisor may not have enough memory to satisfy the request. While
    there, make the unit of the value clear by renaming the local variable.
    
    Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    backport-requested-by: Jan Beulich <jbeulich@suse.com>
    (cherry picked from commit 0be5a00af590c97ea553aadb60f1e0b3af53d8f6)
    (cherry picked from commit 6bbdcefd205903b2181b3b4fdc9503709ecdb7c4)
    (cherry picked from commit 61f28060d5b899c502e2b3bf45a39b1dd2a1224c)
    (cherry picked from commit 3cdc7b6b35106180c9021c1742cafacfa764fdad)
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Sat Aug 21 08:54:24 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 21 Aug 2021 08:54:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169729.310063 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mHMlg-0005Cf-85; Sat, 21 Aug 2021 08:54:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169729.310063; Sat, 21 Aug 2021 08: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 1mHMlg-0005CY-4h; Sat, 21 Aug 2021 08:54:20 +0000
Received: by outflank-mailman (input) for mailman id 169729;
 Sat, 21 Aug 2021 08:54: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 1mHMlf-0005CO-GA; Sat, 21 Aug 2021 08:54: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 1mHMlf-000278-Ah; Sat, 21 Aug 2021 08:54: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 1mHMle-0005uR-V6; Sat, 21 Aug 2021 08:54:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mHMle-00058c-Ua; Sat, 21 Aug 2021 08:54:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=R6RqdBYmoXIBLTHoNvLpoLpuYQ/Jw1OUwovO0dEi4Ng=; b=1J4vSDBP+KuudPDT1oCpZjXSva
	Bf+Pvfysz2fy5aazD9THkL/8CCA1rrmGL6KinmGYh1V5YT8mCc8oIoDGw58A0P9xFne+l6JAB6V04
	YOXV14jf4opa2LF6DfkfBgkllFukY1Y15n7IJmwHk5pTJ45dAIuRcYPJxK+SoVvsl1cE=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164261-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.14-testing test] 164261: regressions - FAIL
X-Osstest-Failures:
    xen-4.14-testing:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    xen-4.14-testing:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:regression
    xen-4.14-testing:test-amd64-amd64-amd64-pvgrub:debian-di-install:fail:regression
    xen-4.14-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:guest-start/debianhvm.repeat:fail:heisenbug
    xen-4.14-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemut-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-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-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-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-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-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-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=61f28060d5b899c502e2b3bf45a39b1dd2a1224c
X-Osstest-Versions-That:
    xen=49299c4813b7847d29df07bf790f5489060f2a9c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 21 Aug 2021 08:54:18 +0000

flight 164261 xen-4.14-testing real [real]
flight 164291 xen-4.14-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/164261/
http://logs.test-lab.xenproject.org/osstest/logs/164291/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 163750
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 163750
 test-amd64-amd64-i386-pvgrub 12 debian-di-install        fail REGR. vs. 163750
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install       fail REGR. vs. 163750

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 18 guest-start/debianhvm.repeat fail pass in 164291-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 163750
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 163750
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 163750
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 163750
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 163750
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 163750
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 163750
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 163750
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 163750
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 163750
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 163750
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-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-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-xsm 15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-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-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  61f28060d5b899c502e2b3bf45a39b1dd2a1224c
baseline version:
 xen                  49299c4813b7847d29df07bf790f5489060f2a9c

Last test of basis   163750  2021-07-16 21:07:40 Z   35 days
Testing same since   164261  2021-08-19 17:07:29 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 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                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 61f28060d5b899c502e2b3bf45a39b1dd2a1224c
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Jul 19 12:28:09 2021 +0200

    libxl/x86: check return value of SHADOW_OP_SET_ALLOCATION domctl
    
    The hypervisor may not have enough memory to satisfy the request. While
    there, make the unit of the value clear by renaming the local variable.
    
    Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    backport-requested-by: Jan Beulich <jbeulich@suse.com>
    (cherry picked from commit 0be5a00af590c97ea553aadb60f1e0b3af53d8f6)
    (cherry picked from commit 6bbdcefd205903b2181b3b4fdc9503709ecdb7c4)
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Sat Aug 21 09:21:26 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 21 Aug 2021 09:21:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169738.310080 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mHNBp-0000Sx-KN; Sat, 21 Aug 2021 09:21:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169738.310080; Sat, 21 Aug 2021 09:21:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mHNBp-0000Sq-HD; Sat, 21 Aug 2021 09:21:21 +0000
Received: by outflank-mailman (input) for mailman id 169738;
 Sat, 21 Aug 2021 09:21:19 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mHNBn-0000Sg-Ps; Sat, 21 Aug 2021 09:21:19 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mHNBn-0002jg-Jy; Sat, 21 Aug 2021 09:21:19 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mHNBn-00075n-C7; Sat, 21 Aug 2021 09:21:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mHNBn-0001Ib-Ba; Sat, 21 Aug 2021 09:21: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=IziIlWqpOW2b8GafStrmowuprkkWWy8fAosY6GQ40iw=; b=3f7clvFWASrj4puIxUJTrUJ5NN
	QXABX9jrlG7OxRllsNMj0GpJ8Bez6ZJqU+xkO4kfQCk2a2HfdIKHBDpE/4S/8FVGftnhEAjhJkA7T
	RFW8CzZ2n9g/qqK8UqyJmp3jZnJphXhYtxG3SlyLt9xIJ9MvuUNGCMWmsIBIL3iBUmps=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164260-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.13-testing test] 164260: regressions - FAIL
X-Osstest-Failures:
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    xen-4.13-testing:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    xen-4.13-testing:test-amd64-amd64-amd64-pvgrub:debian-di-install:fail:regression
    xen-4.13-testing:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:regression
    xen-4.13-testing:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:allowable
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=3cdc7b6b35106180c9021c1742cafacfa764fdad
X-Osstest-Versions-That:
    xen=32d580902b959000d79d51dff03a3560653c4fcb
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 21 Aug 2021 09:21:19 +0000

flight 164260 xen-4.13-testing real [real]
flight 164295 xen-4.13-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/164260/
http://logs.test-lab.xenproject.org/osstest/logs/164295/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 163761
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 163761
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install       fail REGR. vs. 163761
 test-amd64-amd64-i386-pvgrub 12 debian-di-install        fail REGR. vs. 163761

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds    18 guest-start/debian.repeat fail REGR. vs. 163761

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 163761
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 163761
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 163761
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 163761
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 163761
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 163761
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 163761
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 163761
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 163761
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 163761
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 163761
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  3cdc7b6b35106180c9021c1742cafacfa764fdad
baseline version:
 xen                  32d580902b959000d79d51dff03a3560653c4fcb

Last test of basis   163761  2021-07-17 07:57:22 Z   35 days
Testing same since   164260  2021-08-19 17:07:29 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 3cdc7b6b35106180c9021c1742cafacfa764fdad
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Jul 19 12:28:09 2021 +0200

    libxl/x86: check return value of SHADOW_OP_SET_ALLOCATION domctl
    
    The hypervisor may not have enough memory to satisfy the request. While
    there, make the unit of the value clear by renaming the local variable.
    
    Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    backport-requested-by: Jan Beulich <jbeulich@suse.com>
    (cherry picked from commit 0be5a00af590c97ea553aadb60f1e0b3af53d8f6)
    (cherry picked from commit 6bbdcefd205903b2181b3b4fdc9503709ecdb7c4)
    (cherry picked from commit 61f28060d5b899c502e2b3bf45a39b1dd2a1224c)
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Sat Aug 21 10:19:15 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 21 Aug 2021 10:19:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169750.310103 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mHO5W-0006II-UD; Sat, 21 Aug 2021 10:18:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169750.310103; Sat, 21 Aug 2021 10:18:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mHO5W-0006IB-RH; Sat, 21 Aug 2021 10:18:54 +0000
Received: by outflank-mailman (input) for mailman id 169750;
 Sat, 21 Aug 2021 10:18: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 1mHO5V-0006I1-Ha; Sat, 21 Aug 2021 10:18: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 1mHO5V-000427-9s; Sat, 21 Aug 2021 10:18: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 1mHO5U-0000qU-Vo; Sat, 21 Aug 2021 10:18:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mHO5U-00014I-VK; Sat, 21 Aug 2021 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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=gWAl/skWBXBJkSJSCHyyqWU/HjrQpJiaNyPNY98qWCg=; b=yc9o65Wa+jYIolzyZ8HwDkuSbb
	lvqcEOLRJsJ0I4R6fZ1szxqYX+vzVCyh/waUB2rmRTkPNFodaPfgqA2EcILBQMgmLNuqNyTy+ggbq
	5yF+EP+McZ2QXEUj7ByaHu/4omLL3X7kd0L5GfK9NHq/Oe0rWImsNP6Sa2oLVUOKdMyo=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164262-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.15-testing test] 164262: regressions - FAIL
X-Osstest-Failures:
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    xen-4.15-testing:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    xen-4.15-testing:test-amd64-amd64-amd64-pvgrub:debian-di-install:fail:regression
    xen-4.15-testing:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:regression
    xen-4.15-testing:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:allowable
    xen-4.15-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-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-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-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-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-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:migrate-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-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=6bbdcefd205903b2181b3b4fdc9503709ecdb7c4
X-Osstest-Versions-That:
    xen=dba774896f7dd74773c14d537643b7d7477fefcd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 21 Aug 2021 10:18:52 +0000

flight 164262 xen-4.15-testing real [real]
flight 164292 xen-4.15-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/164262/
http://logs.test-lab.xenproject.org/osstest/logs/164292/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 163759
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 163759
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install       fail REGR. vs. 163759
 test-amd64-amd64-i386-pvgrub 12 debian-di-install        fail REGR. vs. 163759

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds    18 guest-start/debian.repeat fail REGR. vs. 163759

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 163759
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 163759
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 163759
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 163759
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 163759
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 163759
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 163759
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 163759
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 163759
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 163759
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 163759
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-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-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-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  6bbdcefd205903b2181b3b4fdc9503709ecdb7c4
baseline version:
 xen                  dba774896f7dd74773c14d537643b7d7477fefcd

Last test of basis   163759  2021-07-17 04:12:25 Z   35 days
Testing same since   164262  2021-08-19 17:07:29 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Ian Jackson <iwj@xenproject.org>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 335 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 21 14:24:44 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 21 Aug 2021 14:24:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169798.310138 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mHRv8-0006mC-28; Sat, 21 Aug 2021 14:24:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169798.310138; Sat, 21 Aug 2021 14:24:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mHRv7-0006m5-Ur; Sat, 21 Aug 2021 14:24:25 +0000
Received: by outflank-mailman (input) for mailman id 169798;
 Sat, 21 Aug 2021 14:24: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 1mHRv6-0006lv-Ln; Sat, 21 Aug 2021 14:24: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 1mHRv6-0000wK-G1; Sat, 21 Aug 2021 14:24: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 1mHRv6-0002zP-5S; Sat, 21 Aug 2021 14:24:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mHRv6-0000AW-4w; Sat, 21 Aug 2021 14:24:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=qS87F3AdPGtUlXLAuopaE6l4SrTTW6gb81AcUTPQ/A8=; b=t+0xzwu1wQ/Rs5Qk/VXZZUwzqP
	S8ttbPnhl/4JlkzhrX0/AvWDDIRSpNhYQg07PmqYYcfpq+d7a9oo93A6+d3qB34RMXl0yAplvuKSU
	vIfG4+WnKX33bfxn6VFO/4SCeqZ6shis+FfCNxQ2msvroLE+Ituc5izSEl8Jda9royZc=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164264-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 164264: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-examine:reboot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-freebsd10-i386:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-livepatch:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-pair:xen-boot/src_host:fail:regression
    xen-unstable:test-amd64-i386-pair:xen-boot/dst_host:fail:regression
    xen-unstable:test-amd64-i386-migrupgrade:xen-boot/dst_host:fail:regression
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-intel:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-amd:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-raw:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-qemuu-rhel6hvm-amd:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    xen-unstable:test-amd64-coresched-i386-xl:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-freebsd10-amd64:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-libvirt:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-shadow:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-libvirt-pair:xen-boot/src_host:fail:regression
    xen-unstable:test-amd64-i386-libvirt-pair:xen-boot/dst_host:fail:regression
    xen-unstable:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-pvshim:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-qemuu-rhel6hvm-intel:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-libvirt-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:allowable
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-amd64-pvgrub:debian-di-install:fail:nonblocking
    xen-unstable:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=5293470a77ad980dce2af9b7e6c3f11eeebf1b64
X-Osstest-Versions-That:
    xen=54c9736382e0d558a6acd820e44185e020131c48
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 21 Aug 2021 14:24:24 +0000

flight 164264 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164264/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemut-ws16-amd64  8 xen-boot          fail REGR. vs. 164237
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm  8 xen-boot  fail REGR. vs. 164237
 test-amd64-i386-examine       8 reboot                   fail REGR. vs. 164237
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 164237
 test-amd64-i386-xl-xsm        8 xen-boot                 fail REGR. vs. 164237
 test-amd64-i386-freebsd10-i386  8 xen-boot               fail REGR. vs. 164237
 test-amd64-i386-livepatch     8 xen-boot                 fail REGR. vs. 164237
 test-amd64-i386-pair         12 xen-boot/src_host        fail REGR. vs. 164237
 test-amd64-i386-pair         13 xen-boot/dst_host        fail REGR. vs. 164237
 test-amd64-i386-migrupgrade  13 xen-boot/dst_host        fail REGR. vs. 164237
 test-amd64-i386-xl-qemut-debianhvm-amd64  8 xen-boot     fail REGR. vs. 164237
 test-amd64-i386-xl-qemuu-debianhvm-amd64  8 xen-boot     fail REGR. vs. 164237
 test-amd64-i386-qemut-rhel6hvm-intel  8 xen-boot         fail REGR. vs. 164237
 test-amd64-i386-qemut-rhel6hvm-amd  8 xen-boot           fail REGR. vs. 164237
 test-amd64-i386-xl-raw        8 xen-boot                 fail REGR. vs. 164237
 test-amd64-i386-qemuu-rhel6hvm-amd  8 xen-boot           fail REGR. vs. 164237
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 164237
 test-amd64-coresched-i386-xl  8 xen-boot                 fail REGR. vs. 164237
 test-amd64-i386-freebsd10-amd64  8 xen-boot              fail REGR. vs. 164237
 test-amd64-i386-xl-qemut-win7-amd64  8 xen-boot          fail REGR. vs. 164237
 test-amd64-i386-libvirt       8 xen-boot                 fail REGR. vs. 164237
 test-amd64-i386-xl-qemuu-ovmf-amd64  8 xen-boot          fail REGR. vs. 164237
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 164237
 test-amd64-i386-xl            8 xen-boot                 fail REGR. vs. 164237
 test-amd64-i386-xl-shadow     8 xen-boot                 fail REGR. vs. 164237
 test-amd64-i386-libvirt-pair 12 xen-boot/src_host        fail REGR. vs. 164237
 test-amd64-i386-libvirt-pair 13 xen-boot/dst_host        fail REGR. vs. 164237
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm  8 xen-boot  fail REGR. vs. 164237
 test-amd64-i386-xl-pvshim     8 xen-boot                 fail REGR. vs. 164237
 test-amd64-i386-qemuu-rhel6hvm-intel  8 xen-boot         fail REGR. vs. 164237
 test-amd64-i386-xl-qemuu-ws16-amd64  8 xen-boot          fail REGR. vs. 164237
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 164237
 test-amd64-i386-xl-qemuu-win7-amd64  8 xen-boot          fail REGR. vs. 164237
 test-amd64-i386-libvirt-xsm   8 xen-boot                 fail REGR. vs. 164237

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     20 guest-localmigrate/x10   fail REGR. vs. 164237

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 164237
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164237
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164237
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164237
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install            fail like 164237
 test-amd64-amd64-i386-pvgrub 12 debian-di-install            fail  like 164237
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 164237
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164237
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164237
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-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-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-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 xen                  5293470a77ad980dce2af9b7e6c3f11eeebf1b64
baseline version:
 xen                  54c9736382e0d558a6acd820e44185e020131c48

Last test of basis   164237  2021-08-18 07:24:21 Z    3 days
Failing since        164248  2021-08-19 03:12:07 Z    2 days    2 attempts
Testing same since   164264  2021-08-19 18:39:40 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Dario Faggioli <dfaggioli@suse.com>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@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                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 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                                       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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    fail    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 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-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 5293470a77ad980dce2af9b7e6c3f11eeebf1b64
Author: Juergen Gross <jgross@suse.com>
Date:   Thu Aug 19 13:38:31 2021 +0200

    xen/sched: fix get_cpu_idle_time() for smt=0 suspend/resume
    
    With smt=0 during a suspend/resume cycle of the machine the threads
    which have been parked before will briefly come up again. This can
    result in problems e.g. with cpufreq driver being active as this will
    call into get_cpu_idle_time() for a cpu without initialized scheduler
    data.
    
    Fix that by letting get_cpu_idle_time() deal with this case. Drop a
    redundant check in exchange.
    
    Fixes: 132cbe8f35632fb2 ("sched: fix get_cpu_idle_time() with core scheduling")
    Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Tested-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Dario Faggioli <dfaggioli@suse.com>

commit 475715d65a1084fd38c5baa12c18d1e2f5f74ea0
Author: Jan Beulich <jbeulich@suse.com>
Date:   Thu Aug 19 13:37:42 2021 +0200

    Arm: relax iomem_access_permitted() check
    
    Ranges checked by iomem_access_permitted() are inclusive; to permit a
    mapping there's no need for access to also have been granted for the
    subsequent page.
    
    Fixes: 80f9c3167084 ("xen/arm: acpi: Map MMIO on fault in stage-2 page table for the hardware domain")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>

commit dd635cebd1eefc7f90bbe3d5df2524a2a3a94f88
Author: Jan Beulich <jbeulich@suse.com>
Date:   Thu Aug 19 13:36:54 2021 +0200

    x86: mark compat hypercall regs clobbering for intended fall-through
    
    Oddly enough in the original report Coverity only complained about the
    native hypercall related switch() statements. Now that it has seen those
    fixed, it complains about (only HVM) compat ones. Hence the CIDs below
    are all for the HVM side of things, yet while at it take care of the PV
    side as well.
    
    Coverity-ID: 1487105, 1487106, 1487107, 1487108, 1487109.
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 517a90d1ca09ce00e50d46ac25566cc3bd2eb34d
Author: Jan Beulich <jbeulich@suse.com>
Date:   Wed Aug 18 09:44:14 2021 +0200

    VT-d: Tylersburg errata apply to further steppings
    
    While for 5500 and 5520 chipsets only B3 and C2 are mentioned in the
    spec update, X58's also mentions B2, and searching the internet suggests
    systems with this stepping are actually in use. Even worse, for X58
    erratum #69 is marked applicable even to C2. Split the check to cover
    all applicable steppings and to also report applicable errata numbers in
    the log message. The splitting requires using the DMI port instead of
    the System Management Registers device, but that's then in line (also
    revision checking wise) with the spec updates.
    
    Fixes: 6890cebc6a98 ("VT-d: deal with 5500/5520/X58 errata")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Kevin Tian <kevin.tian@intel.com>

commit 6b1ca51b1a91d002636518afe4a8a50ba7212495
Author: Jan Beulich <jbeulich@suse.com>
Date:   Wed Aug 18 09:40:08 2021 +0200

    x86/PV: assert page state in mark_pv_pt_pages_rdonly()
    
    About every time I look at dom0_construct_pv()'s "calculation" of
    nr_pt_pages I question (myself) whether the result is precise or merely
    an upper bound. I think it is meant to be precise, but I think we would
    be better off having some checking in place. Hence add ASSERT()s to
    verify that
    - all pages have a valid L1...Ln (currently L4) page table type and
    - no other bits are set, in particular the type refcount is still zero.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citirx.com>

commit 4c0a19991465fc19c5afa9bc3f304bae6044314e
Author: Jan Beulich <jbeulich@suse.com>
Date:   Wed Aug 18 09:39:08 2021 +0200

    x86/PV: suppress unnecessary Dom0 construction output
    
    v{xenstore,console}_{start,end} can only ever be zero in PV shim
    configurations. Similarly reporting just zeros for an unmapped (or
    absent) initrd is not useful. Particularly in case video is the only
    output configured, space is scarce: Split the printk() and omit lines
    carrying no information at all.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Sat Aug 21 16:25:50 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 21 Aug 2021 16:25:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169823.310158 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mHToN-00032W-NH; Sat, 21 Aug 2021 16:25:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169823.310158; Sat, 21 Aug 2021 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 1mHToN-00032P-KK; Sat, 21 Aug 2021 16:25:35 +0000
Received: by outflank-mailman (input) for mailman id 169823;
 Sat, 21 Aug 2021 16:25:34 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=EL8J=NM=m5p.com=ehem@srs-us1.protection.inumbo.net>)
 id 1mHToM-00032J-CL
 for xen-devel@lists.xenproject.org; Sat, 21 Aug 2021 16:25:34 +0000
Received: from mailhost.m5p.com (unknown [74.104.188.4])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 93a21043-8756-4b0a-b426-0f22b338665a;
 Sat, 21 Aug 2021 16:25:33 +0000 (UTC)
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 17LGPORH068327
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Sat, 21 Aug 2021 12:25:30 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 17LGPOJJ068326;
 Sat, 21 Aug 2021 09:25:24 -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: 93a21043-8756-4b0a-b426-0f22b338665a
Date: Sat, 21 Aug 2021 09:25:24 -0700
From: Elliott Mitchell <ehem+xen@m5p.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>
Subject: Xen C-state Issues
Message-ID: <YSEo9Box2AFnmdLZ@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.5
X-Spam-Checker-Version: SpamAssassin 3.4.5 (2021-03-20) on mattapan.m5p.com

ACPI C-state support might not see too much use, but it does see some.

With Xen 4.11 and Linux kernel 4.19, I found higher C-states only got
enabled for physical cores for which Domain 0 had a corresponding vCPU.
On a machine where Domain 0 has 5 vCPUs, but 8 reported cores, the
additional C-states would only be enabled on cores 0-4.

This can be worked around by giving Domain 0 vCPUs equal to cores, but
then offlining the extra vCPUs.  I'm guessing this is a bug with the
Linux 4.19 xen_acpi_processor module.



Appears Xen 4.14 doesn't work at all with Linux kernel 4.19's ACPI
C-state support.  This combination is unable to enable higher C-states
on any core.  Since Xen 4.14 and Linux 4.19 are *both* *presently*
supported it seems patch(es) are needed somewhere for this combination.


-- 
(\___(\___(\______          --=> 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 Aug 21 16:33:53 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 21 Aug 2021 16:33:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169830.310168 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mHTwL-0004fl-Lt; Sat, 21 Aug 2021 16:33:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169830.310168; Sat, 21 Aug 2021 16: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 1mHTwL-0004fe-J2; Sat, 21 Aug 2021 16:33:49 +0000
Received: by outflank-mailman (input) for mailman id 169830;
 Sat, 21 Aug 2021 16:33:48 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mHTwK-0004fU-P2; Sat, 21 Aug 2021 16:33:48 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mHTwK-0004Ia-Iw; Sat, 21 Aug 2021 16:33:48 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mHTwK-0002nm-AC; Sat, 21 Aug 2021 16:33:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mHTwK-00019a-9e; Sat, 21 Aug 2021 16:33:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=bvejCH/73YGxo3Hp/P1/82LBXw+2GBykZ86STfqKNE4=; b=l6xuDPwmMoFfR0USaEFm6KuI9A
	/Tekyl465NROJsr/bT57pSc4qZ8aOKXSXAtKMeZ4dCv6j9ELWniGUU+DivZl9LsZLhICzLYu8+48F
	SZL7rMWhI3LkMYxScMhZYWixZSIj5rI+w1efElxdxYriTvisHyjtGra8Vj5XbmVKJRTQ=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164268-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 164268: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=94ac9d55fd9067326c483372c858bb4233826880
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 21 Aug 2021 16:33:48 +0000

flight 164268 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164268/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              94ac9d55fd9067326c483372c858bb4233826880
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  407 days
Failing since        151818  2020-07-11 04:18:52 Z  406 days  397 attempts
Testing same since   164268  2021-08-20 04:20:07 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  Cédric Bosdonnat <cbosdonnat@suse.com>
  Côme Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano Fidêncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Ian Wienand <iwienand@redhat.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  John Ferlan <jferlan@redhat.com>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  Ján Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Michał Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  Moshe Levi <moshele@nvidia.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr Drąg <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tomáš Golembiovský <tgolembi@redhat.com>
  Tomáš Janoušek <tomi@nomi.cz>
  Tuguoyi <tu.guoyi@h3c.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  William Douglas <william.douglas@intel.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 69930 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 21 17:22:12 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 21 Aug 2021 17:22:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169839.310183 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mHUh3-0001lv-CA; Sat, 21 Aug 2021 17:22:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169839.310183; Sat, 21 Aug 2021 17:22:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mHUh3-0001lo-8p; Sat, 21 Aug 2021 17:22:05 +0000
Received: by outflank-mailman (input) for mailman id 169839;
 Sat, 21 Aug 2021 17:22: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 1mHUh1-0001le-Ne; Sat, 21 Aug 2021 17:22: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 1mHUh1-0005SM-Hk; Sat, 21 Aug 2021 17:22: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 1mHUh1-0004ga-5d; Sat, 21 Aug 2021 17:22:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mHUh1-0006S3-54; Sat, 21 Aug 2021 17: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=p1Yh+qkAjPw2KzhLJ/DfR96duDJ3Pw1Uc/ymHsAqyT4=; b=5trPm4C6IE/tW4EO04pIb1zuOj
	O6HpE3OU5/Erb171wgZqHuBlp7QfZyR2No1752ML8O7WTkWkdAV/U/y5T1BCEfZUz1VCav32i8Ixe
	Gy6a0ZGIz1xx8I/bAMxQCnRLY+XdNxgTOcbKnMLHRebGC8MzQWZya5QJglyMy6ltUokA=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164266-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 164266: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:regression
    linux-5.4:test-amd64-amd64-amd64-pvgrub:debian-di-install:fail:regression
    linux-5.4:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start:fail:heisenbug
    linux-5.4:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-libvirt-pair:leak-check/check/dst_host: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-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check: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-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt: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: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: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-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-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-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=c15b830f7c1cafd34035a46485716933f66ab753
X-Osstest-Versions-That:
    linux=e350cd02e293be9a6b93398b2d3ff1edf7695ab2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 21 Aug 2021 17:22:03 +0000

flight 164266 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164266/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-i386-pvgrub 12 debian-di-install        fail REGR. vs. 164131
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install       fail REGR. vs. 164131

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-rtds 20 guest-localmigrate/x10 fail in 164251 pass in 164266
 test-armhf-armhf-xl-rtds     14 guest-start      fail in 164251 pass in 164266
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat fail in 164251 pass in 164266
 test-amd64-i386-libvirt-pair 31 leak-check/check/dst_host  fail pass in 164251

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164131
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 164131
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 164131
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164131
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164131
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164131
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 164131
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164131
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 164131
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164131
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164131
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-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-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-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-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                c15b830f7c1cafd34035a46485716933f66ab753
baseline version:
 linux                e350cd02e293be9a6b93398b2d3ff1edf7695ab2

Last test of basis   164131  2021-08-08 07:11:59 Z   13 days
Failing since        164167  2021-08-12 11:47:56 Z    9 days   14 attempts
Testing same since   164240  2021-08-18 14:18:28 Z    3 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alan Stern <stern@rowland.harvard.edu>
  Alex Xu (Hello71) <alex_y_xu@yahoo.ca>
  Alexander Aring <aahringo@redhat.com>
  Alexander Monakov <amonakov@ispras.ru>
  Alexander Tsoy <alexander@tsoy.me>
  Alexandre Courbot <gnurou@gmail.com>
  Alexei Starovoitov <ast@kernel.org>
  Anand Jain <anand.jain@oracle.com>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Anirudh Rayabharam <mail@anirudhrb.com>
  Antoine Tenart <atenart@kernel.org>
  Arnd Bergmann <arnd@arndb.de>
  Aya Levin <ayal@nvidia.com>
  Babu Moger <Babu.Moger@amd.com>
  Bartosz Golaszewski <bgolaszewski@baylibre.com>
  Ben Dai <ben.dai@unisoc.com>
  Ben Hutchings <ben.hutchings@mind.be>
  Bixuan Cui <cuibixuan@huawei.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Boris Ostrovsky <boris.ostrovsky@oracle.com>
  Borislav Petkov <bp@suse.de>
  Brian Norris <briannorris@chromium.org>
  Camille Lu <camille.lu@hpe.com>
  Catalin Marinas <catalin.marinas@arm.com>
  Chanho Park <chanho61.park@samsung.com>
  chihhao.chen <chihhao.chen@mediatek.com>
  Chris Lesiak <chris.lesiak@licor.com>
  Christian Hewitt <christianshewitt@gmail.com>
  Christoph Hellwig <hch@lst.de>
  Colin Ian King <colin.king@canonical.com>
  Dan Carpenter <dan.carpenter@oracle.com>
  Dan Williams <dan.j.williams@intel.com>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniele Palmas <dnlplm@gmail.com>
  Dario Binacchi <dariobin@libero.it>
  David Bauer <mail@david-bauer.net>
  David Lechner <david@lechnology.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  DENG Qingfang <dqfext@gmail.com>
  Dmitry Osipenko <digetx@gmail.com>
  Dominik Brodowski <linux@dominikbrodowski.net>
  Dongliang Mu <mudongliangabcd@gmail.com>
  Eero Lehtinen <debiangamer2@gmail.com>
  Eric Dumazet <edumazet@google.com>
  Fei Qin <fei.qin@corigine.com>
  Felipe Balbi <balbi@kernel.org>
  Filipe Manana <fdmanana@suse.com>
  Florian Eckert <fe@dev.tdt.de>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Gregory CLEMENT <gregory.clement@bootlin.com>
  Guenter Roeck <linux@roeck-us.net>
  Guido Kiener <guido.kiener@rohde-schwarz.com>
  Guoqing Jiang <jiangguoqing@kylinos.cn>
  H. Nikolaus Schaller <hns@goldelico.com>
  Hangbin Liu <liuhangbin@gmail.com>
  Hans de Goede <hdegoede@redhat.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Hervé Codina <herve.codina@bootlin.com>
  Hui Su <suhui@zeku.com>
  Hulk Robot <hulkrobot@huawei.com>
  Ilya Dryomov <idryomov@gmail.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jan Kara <jack@suse.cz>
  Jarkko Sakkinen <jarkko@kernel.org>
  Jeff Layton <jlayton@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jens Wiklander <jens.wiklander@linaro.org>
  Johan Hovold <johan@kernel.org>
  Johannes Berg <johannes.berg@intel.com>
  Jon Hunter <jonathanh@nvidia.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Juergen Borleis <jbe@pengutronix.de>
  Kees Cook <keescook@chromium.org>
  Kieran Bingham <kieran.bingham@ideasonboard.com>
  Kim Phillips <kim.phillips@amd.com>
  Konrad Jankowski <konrad0.jankowski@intel.com>
  Lai Jiangshan <laijs@linux.alibaba.com>
  Letu Ren <fantasquex@gmail.com>
  Li Manyi <limanyi@uniontech.com>
  Liam Merwick <liam.merwick@oracle.com>
  Like Xu <likexu@tencent.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Longfang Liu <liulongfang@huawei.com>
  Longpeng(Mike) <longpeng2@huawei.com>
  Louis Peens <louis.peens@corigine.com>
  Lu Baolu <baolu.lu@linux.intel.com>
  Luis Chamberlain <mcgrof@kernel.org>
  Luis Henriques <lhenriques@suse.de>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Luke D Jones <luke@ljones.dev>
  Maciej W. Rozycki <macro@orcam.me.uk>
  Marc Zyngier <maz@kernel.org>
  Marco Elver <elver@google.com>
  Marek Szyprowski <m.szyprowski@samsung.com>
  Marek Vasut <marex@denx.de>
  Mario Kleiner <mario.kleiner.de@gmail.com>
  Mark Brown <broonie@kernel.org>
  Mark Rutland <mark.rutland@arm.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Masami Hiramatsu <mhiramat@kernel.org>
  Matt Ranostay <matt.ranostay@konsulko.com>
  Matt Turner <mattst88@gmail.com>
  Matteo Croce <mcroce@microsoft.com>
  Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
  Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Maxim Devaev <mdevaev@gmail.com>
  Maxim Levitsky <mlevitsk@redhat.com>
  Maxime Chevallier <maxime.chevallier@bootlin.com>
  Maximilian Heyne <mheyne@amazon.de>
  Md Fahad Iqbal Polash <md.fahad.iqbal.polash@intel.com>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael Tretter <m.tretter@pengutronix.de>
  Miklos Szeredi <mszeredi@redhat.com>
  Nathan Chancellor <nathan@kernel.org>
  Neal Cardwell <ncardwell@google.com>
  Neil Armstrong <narmstrong@baylibre.com>
  Nikolay Aleksandrov <nikolay@nvidia.com>
  Nikolay Borisov <nborisov@suse.com>
  Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Pali Rohár <pali@kernel.org>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Machek (CIP) <pavel@denx.de>
  Pavel Skripkin <paskripkin@gmail.com>
  Pawel Laszczak <pawell@cadence.com>
  Peter Chen <peter.chen@kernel.org>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Phil Elwell <phil@raspberrypi.com>
  Philip Milev <milev.philip@gmail.com>
  Prarit Bhargava <prarit@redhat.com>
  Pu Lehui <pulehui@huawei.com>
  Qiang.zhang <qiang.zhang@windriver.com>
  Qu Wenruo <wqu@suse.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Randy Dunlap <rdunlap@infradead.org>
  Reinette Chatre <reinette.chatre@intel.com>
  Richard Fitzgerald <rf@opensource.cirrus.com>
  Roi Dayan <roid@nvidia.com>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Saeed Mahameed <saeedm@nvidia.com>
  Saeed Mirzamohammadi <saeed.mirzamohammadi@oracle.com>
  Sasha Levin <sashal@kernel.org>
  Sean Christopherson <seanjc@google.com>
  Sean Young <sean@mess.org>
  Sebastian Andrzej Siewior <bigeasy@linutronix.de>
  Shawn Guo <shawnguo@kernel.org>
  Shreyansh Chouhan <chouhan.shreyansh630@gmail.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Song Liu <song@kernel.org>
  Stas Sergeev <stsp2@yandex.ru>
  Stefan Schmidt <stefan@datenfreihafen.org>
  Stephen Boyd <sboyd@kernel.org>
  Steve Bennett <steveb@workware.net.au>
  Steven Rostedt (VMware) <rostedt@goodmis.org>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Sumit Garg <sumit.garg@linaro.org>
  syzbot+de271708674e2093097b@syzkaller.appspotmail.com
  Takashi Iwai <tiwai@suse.de>
  Takeshi Misawa <jeliantsurux@gmail.com>
  Tejun Heo <tj@kernel.org>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Theodore Ts'o <tytso@mit.edu>
  Thierry Reding <treding@nvidia.com>
  Thomas Gleixner <tglx@linutronix.de>
  Tony Lindgren <tony@atomide.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Tyler Hicks <tyhicks@linux.microsoft.com>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Vinod Koul <vkoul@kernel.org>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Wang Hai <wanghai38@huawei.com>
  Wei Shuyu <wsy@dogben.com>
  Wesley Cheng <wcheng@codeaurora.org>
  Will Deacon <will@kernel.org>
  Willy Tarreau <w@1wt.eu>
  Wolfram Sang <wsa@kernel.org>
  Xiangyang Zhang <xyz.sun.ok@gmail.com>
  Xie Yongji <xieyongji@bytedance.com>
  Xin Long <lucien.xin@gmail.com>
  Yajun Deng <yajun.deng@linux.dev>
  Yang Yingliang <yangyingliang@huawei.com>
  Yu Kuai <yukuai3@huawei.com>
  YueHaibing <yuehaibing@huawei.com>
  Zheyu Ma <zheyuma97@gmail.com>
  Zhiyong Tao <zhiyong.tao@mediatek.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 5646 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 21 20:44:57 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 21 Aug 2021 20:44:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169860.310215 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mHXr2-0005X1-Tw; Sat, 21 Aug 2021 20:44:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169860.310215; Sat, 21 Aug 2021 20:44:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mHXr2-0005Wu-Qo; Sat, 21 Aug 2021 20:44:36 +0000
Received: by outflank-mailman (input) for mailman id 169860;
 Sat, 21 Aug 2021 20:44: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 1mHXr1-0005Wk-JN; Sat, 21 Aug 2021 20:44: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 1mHXr1-0001sp-Cp; Sat, 21 Aug 2021 20:44: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 1mHXr1-0003iK-2q; Sat, 21 Aug 2021 20:44:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mHXr1-00056D-25; Sat, 21 Aug 2021 20:44: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=hvZFTOrwOdpc+GkIwpu7K2Gk6TofVKKkIi6OY5XVA/s=; b=Cfo1XJURacxxtNK9Um+ZpqP4WY
	+X2WZ9I5yVNn/MMJyOvN1J72xFkd1Lb+iCEXyiwCRpEmzVECmyv6qlhrkyPdDjW6ICol3WftEAMz9
	bp561itaTdlTceenhimS5ZM12Rg/R8dpX26Ek5cQhGkex8PXmhigG2PK6xd0fkZdt+uE=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164267-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164267: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-amd64-pvgrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=d992fe5318d8d7af9510b879439a3c7f283da442
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 21 Aug 2021 20:44:35 +0000

flight 164267 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164267/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 152332
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install       fail REGR. vs. 152332
 test-amd64-amd64-i386-pvgrub 12 debian-di-install        fail REGR. vs. 152332

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 152332
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 152332
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 152332
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 152332
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 152332
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 152332
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 152332
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                d992fe5318d8d7af9510b879439a3c7f283da442
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  386 days
Failing since        152366  2020-08-01 20:49:34 Z  384 days  676 attempts
Testing same since   164267  2021-08-20 02:00:39 Z    1 days    1 attempts

------------------------------------------------------------
6809 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                fail    
 test-amd64-amd64-i386-pvgrub                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2014154 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 21 23:30:18 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 21 Aug 2021 23:30:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169873.310241 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mHaR7-0005Bs-LO; Sat, 21 Aug 2021 23:30:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169873.310241; Sat, 21 Aug 2021 23: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 1mHaR7-0005BC-Gv; Sat, 21 Aug 2021 23:30:01 +0000
Received: by outflank-mailman (input) for mailman id 169873;
 Sat, 21 Aug 2021 23:29: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 1mHaR5-0005Ak-Fd; Sat, 21 Aug 2021 23:29: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 1mHaR5-0005S5-6T; Sat, 21 Aug 2021 23:29: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 1mHaR4-00035r-UK; Sat, 21 Aug 2021 23:29:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mHaR4-0004Qo-Tq; Sat, 21 Aug 2021 23:29: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:Message-Id:Subject:To;
	bh=Orp19uPE0lUzTvT1f10J+UJWNYp/AIQrv9PXEn+7hvE=; b=JxhCD+B3diLWFET8AkdKSML49H
	oe9b7hEdWIFoSKSAyzhKRVV4kqtRfFKB+QYCZ+ROJ3PMeZ11wk4RK618vu7cmiJS9T6zHtYzrT+J4
	xxpSdTa2UYRE2eWQzNNDvEyiZY4q6tE7dMRkb5oh/nefpg/v4Y3ZosvO5/OrjRZDol90=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Subject: [xen-unstable bisection] complete test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm
Message-Id: <E1mHaR4-0004Qo-Tq@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 21 Aug 2021 23:29:58 +0000

branch xen-unstable
xenbranch xen-unstable
job test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm
testid xen-boot

Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  6b1ca51b1a91d002636518afe4a8a50ba7212495
  Bug not present: 4c0a19991465fc19c5afa9bc3f304bae6044314e
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164318/


  commit 6b1ca51b1a91d002636518afe4a8a50ba7212495
  Author: Jan Beulich <jbeulich@suse.com>
  Date:   Wed Aug 18 09:40:08 2021 +0200
  
      x86/PV: assert page state in mark_pv_pt_pages_rdonly()
      
      About every time I look at dom0_construct_pv()'s "calculation" of
      nr_pt_pages I question (myself) whether the result is precise or merely
      an upper bound. I think it is meant to be precise, but I think we would
      be better off having some checking in place. Hence add ASSERT()s to
      verify that
      - all pages have a valid L1...Ln (currently L4) page table type and
      - no other bits are set, in particular the type refcount is still zero.
      
      Signed-off-by: Jan Beulich <jbeulich@suse.com>
      Reviewed-by: Andrew Cooper <andrew.cooper3@citirx.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-unstable/test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm.xen-boot.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/test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm.xen-boot --summary-out=tmp/164318.bisection-summary --basis-template=164237 --blessings=real,real-bisect,real-retry xen-unstable test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm xen-boot
Searching for failure / basis pass:
 164264 fail [host=huxelrebe1] / 164237 [host=chardonnay0] 164230 [host=huxelrebe0] 164171 [host=pinot1] 164154 [host=albana0] 164149 [host=elbling1] 164145 [host=albana1] 164129 [host=chardonnay0] 164123 [host=elbling0] 164119 ok.
Failure / basis pass flights: 164264 / 164119
(tree with no url: minios)
(tree with no url: ovmf)
(tree with no url: seabios)
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: xen git://xenbits.xen.org/xen.git
Latest c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 5293470a77ad980dce2af9b7e6c3f11eeebf1b64
Basis pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 2b45ff60301a988badec526846e77b538383ae63
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/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c7437ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#136c34c9bc4179dc64b15b2bb5f0c54\
 ca4ddf823-136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 git://xenbits.xen.org/xen.git#2b45ff60301a988badec526846e77b538383ae63-5293470a77ad980dce2af9b7e6c3f11eeebf1b64
Loaded 5001 nodes in revision graph
Searching for test results:
 164116 [host=albana1]
 164119 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 2b45ff60301a988badec526846e77b538383ae63
 164123 [host=elbling0]
 164129 [host=chardonnay0]
 164145 [host=albana1]
 164149 [host=elbling1]
 164154 [host=albana0]
 164171 [host=pinot1]
 164230 [host=huxelrebe0]
 164237 [host=chardonnay0]
 164248 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 517a90d1ca09ce00e50d46ac25566cc3bd2eb34d
 164264 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 5293470a77ad980dce2af9b7e6c3f11eeebf1b64
 164294 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 2b45ff60301a988badec526846e77b538383ae63
 164296 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 517a90d1ca09ce00e50d46ac25566cc3bd2eb34d
 164303 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 60a9d8d2fc9c4a524c7342499580a88aaa3a2b55
 164306 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 bc141e8ca56200bdd0a12e04a6ebff3c19d6c27b
 164307 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 54c9736382e0d558a6acd820e44185e020131c48
 164308 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 4c0a19991465fc19c5afa9bc3f304bae6044314e
 164310 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 5293470a77ad980dce2af9b7e6c3f11eeebf1b64
 164313 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 6b1ca51b1a91d002636518afe4a8a50ba7212495
 164314 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 4c0a19991465fc19c5afa9bc3f304bae6044314e
 164315 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 6b1ca51b1a91d002636518afe4a8a50ba7212495
 164317 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 4c0a19991465fc19c5afa9bc3f304bae6044314e
 164318 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 6b1ca51b1a91d002636518afe4a8a50ba7212495
Searching for interesting versions
 Result found: flight 164119 (pass), for basis pass
 For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 4c0a19991465fc19c5afa9bc3f304bae6044314e, results HASH(0x55db81533920) HASH(0x55db81541048) HASH(0x55db8153d190) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9b\
 c4179dc64b15b2bb5f0c54ca4ddf823 54c9736382e0d558a6acd820e44185e020131c48, results HASH(0x55db8152ab58) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 bc141e8ca56200bdd0a12e04a6ebff3c19d6c27b, results HASH(0x55db8153aa08) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f\
 0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 60a9d8d2fc9c4a524c7342499580a88aaa3a2b55, results HASH(0x55db81535ad0) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 2b45ff60301a988badec526846e77b538383ae63, results HASH(0x55db81531018) HASH(0x55db815295d0) Result found: flight 164248 (fail), \
 for basis failure (at ancestor ~680)
 Repro found: flight 164294 (pass), for basis pass
 Repro found: flight 164310 (fail), for basis failure
 0 revisions at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 4c0a19991465fc19c5afa9bc3f304bae6044314e
No revisions left to test, checking graph state.
 Result found: flight 164308 (pass), for last pass
 Result found: flight 164313 (fail), for first failure
 Repro found: flight 164314 (pass), for last pass
 Repro found: flight 164315 (fail), for first failure
 Repro found: flight 164317 (pass), for last pass
 Repro found: flight 164318 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  6b1ca51b1a91d002636518afe4a8a50ba7212495
  Bug not present: 4c0a19991465fc19c5afa9bc3f304bae6044314e
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164318/


  commit 6b1ca51b1a91d002636518afe4a8a50ba7212495
  Author: Jan Beulich <jbeulich@suse.com>
  Date:   Wed Aug 18 09:40:08 2021 +0200
  
      x86/PV: assert page state in mark_pv_pt_pages_rdonly()
      
      About every time I look at dom0_construct_pv()'s "calculation" of
      nr_pt_pages I question (myself) whether the result is precise or merely
      an upper bound. I think it is meant to be precise, but I think we would
      be better off having some checking in place. Hence add ASSERT()s to
      verify that
      - all pages have a valid L1...Ln (currently L4) page table type and
      - no other bits are set, in particular the type refcount is still zero.
      
      Signed-off-by: Jan Beulich <jbeulich@suse.com>
      Reviewed-by: Andrew Cooper <andrew.cooper3@citirx.com>

Revision graph left in /home/logs/results/bisect/xen-unstable/test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm.xen-boot.{dot,ps,png,html,svg}.
----------------------------------------
164318: tolerable ALL FAIL

flight 164318 xen-unstable real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/164318/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail baseline untested


jobs:
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-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 Sun Aug 22 01:58:15 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 22 Aug 2021 01:58:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169894.310278 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mHckL-0002bA-4y; Sun, 22 Aug 2021 01:58:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169894.310278; Sun, 22 Aug 2021 01:58:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mHckL-0002b3-14; Sun, 22 Aug 2021 01:58:01 +0000
Received: by outflank-mailman (input) for mailman id 169894;
 Sun, 22 Aug 2021 01:57: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 1mHckJ-0002at-Pb; Sun, 22 Aug 2021 01:57: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 1mHckJ-000783-JA; Sun, 22 Aug 2021 01:57: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 1mHckJ-0001xv-8O; Sun, 22 Aug 2021 01:57:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mHckJ-0003R4-7b; Sun, 22 Aug 2021 01:57: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=ZhOn5Ow+Bhbi5ZIGXDvcQHHLgammS/zJwrU0WT99Qp8=; b=1KIgRZJqS/mr5bR/Up5F9NN59Z
	zFTafDOSGI1NUW4w4VqsFLewgfEo6pYRt6vO8hwmMa0N/09BoD/0FvvVDIu5cDh2IAx4NCF3YaQIt
	WIdRCLLxDzRbDX1OPNhFQIN/sDkJdwTFGjseKrMXTtZ0GzO+H+GuBSvmmyTGQsQ4iah0=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164272-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 164272: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-arm64:xen-build:fail:regression
    qemu-mainline:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    qemu-mainline:build-arm64-libvirt: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-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check: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-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check: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-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-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=ecf2706e271fa705621f0d5ad9517fe15a22bf22
X-Osstest-Versions-That:
    qemuu=703e8cd6189cf699c8d5c094bc68b5f3afa6ad71
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 22 Aug 2021 01:57:59 +0000

flight 164272 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164272/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64                   6 xen-build                fail REGR. vs. 164152

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-seattle   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 build-arm64-libvirt           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-qemuu-win7-amd64 19 guest-stop            fail like 164152
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164152
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164152
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164152
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164152
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164152
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164152
 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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                ecf2706e271fa705621f0d5ad9517fe15a22bf22
baseline version:
 qemuu                703e8cd6189cf699c8d5c094bc68b5f3afa6ad71

Last test of basis   164152  2021-08-10 21:08:02 Z   11 days
Failing since        164194  2021-08-15 10:38:08 Z    6 days    8 attempts
Testing same since   164234  2021-08-18 02:37:17 Z    3 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexander Bulekov <alxndr@bu.edu>
  Andrew Jones <drjones@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  David Hildenbrand <david@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Lara Lazier <laramglazier@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@redhat.com>
  Taylor Simpson <tsimpson@quicinc.com>
  Thomas Huth <thuth@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  fail    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          blocked 
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          blocked 
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  blocked 
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 490 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 22 05:10:28 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 22 Aug 2021 05:10:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169923.310349 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mHfkH-0006wu-J7; Sun, 22 Aug 2021 05:10:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169923.310349; Sun, 22 Aug 2021 05:10: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 1mHfkH-0006wn-GA; Sun, 22 Aug 2021 05:10:09 +0000
Received: by outflank-mailman (input) for mailman id 169923;
 Sun, 22 Aug 2021 05:10: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 1mHfkG-0006wd-FV; Sun, 22 Aug 2021 05:10: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 1mHfkF-0003tE-IQ; Sun, 22 Aug 2021 05:10: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 1mHfkF-0003w9-9W; Sun, 22 Aug 2021 05:10:07 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mHfkF-0005ba-92; Sun, 22 Aug 2021 05:10: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=1DUojouWs7MTkqNac+nQc7F0P2pItAGAUyo910QkncY=; b=aqQeQ3UFCTMvea29edXBNq2Or4
	gHf9KtLOrVihXy5W23+GneJ9FkWoCrXdgonJJ1ktg5timMD7AyVD5eruNuLyqQaiX03SGk3RuQjaY
	VLl+5RZecFMV1jP5q4uy3v3iYbCiLo0AflE/BsQUQx7ipUc14UUATNA5QEK2ptOu6a0Q=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164298-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.12-testing test] 164298: regressions - FAIL
X-Osstest-Failures:
    xen-4.12-testing:test-amd64-amd64-xl-qcow2:guest-saverestore.2:fail:regression
    xen-4.12-testing:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    xen-4.12-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    xen-4.12-testing:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:regression
    xen-4.12-testing:test-amd64-amd64-amd64-pvgrub:debian-di-install:fail:regression
    xen-4.12-testing:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-4.12-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=c6c5f9d8b3e23178341cd7f9b7614a463df74266
X-Osstest-Versions-That:
    xen=ea20eee97e9e0861127a8070cc7b9ae3557b09fb
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 22 Aug 2021 05:10:07 +0000

flight 164298 xen-4.12-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164298/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qcow2    18 guest-saverestore.2      fail REGR. vs. 162549
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 162549
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 162549
 test-amd64-amd64-i386-pvgrub 12 debian-di-install fail in 164259 REGR. vs. 162549
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install fail in 164259 REGR. vs. 162549

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 164259

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 162549
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 162549
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 162549
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 162549
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 162549
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 162549
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 162549
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 162549
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 162549
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 162549
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 162549
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-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-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-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  c6c5f9d8b3e23178341cd7f9b7614a463df74266
baseline version:
 xen                  ea20eee97e9e0861127a8070cc7b9ae3557b09fb

Last test of basis   162549  2021-06-08 18:37:01 Z   74 days
Testing same since   164259  2021-08-19 17:07:29 Z    2 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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-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                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit c6c5f9d8b3e23178341cd7f9b7614a463df74266
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Jul 19 12:28:09 2021 +0200

    libxl/x86: check return value of SHADOW_OP_SET_ALLOCATION domctl
    
    The hypervisor may not have enough memory to satisfy the request. While
    there, make the unit of the value clear by renaming the local variable.
    
    Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    backport-requested-by: Jan Beulich <jbeulich@suse.com>
    (cherry picked from commit 0be5a00af590c97ea553aadb60f1e0b3af53d8f6)
    (cherry picked from commit 6bbdcefd205903b2181b3b4fdc9503709ecdb7c4)
    (cherry picked from commit 61f28060d5b899c502e2b3bf45a39b1dd2a1224c)
    (cherry picked from commit 3cdc7b6b35106180c9021c1742cafacfa764fdad)
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Sun Aug 22 09:51:13 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 22 Aug 2021 09:51:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.169970.310424 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mHk83-0002Jn-IK; Sun, 22 Aug 2021 09:50:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 169970.310424; Sun, 22 Aug 2021 09:50:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mHk83-0002Jg-F3; Sun, 22 Aug 2021 09:50:59 +0000
Received: by outflank-mailman (input) for mailman id 169970;
 Sun, 22 Aug 2021 09:50: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 1mHk82-0002JW-39; Sun, 22 Aug 2021 09:50: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 1mHk81-0002Ud-Vr; Sun, 22 Aug 2021 09:50: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 1mHk81-00008B-Nl; Sun, 22 Aug 2021 09:50:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mHk81-0006dy-NF; Sun, 22 Aug 2021 09:50:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=P8AETfvFpwVGxHG8/Mw4yxkxxtpIFZi+88SgcIQwuEo=; b=h5UFzudILDIHjkGItcFeRORu8d
	zgqFgTznDg7a8mM9MGcFg9Kbx84YjCkKi8tprlTm2VD4ZNavBlgALjp3rY2g802rugXNChMkYh3UQ
	sQLmKoaQj/UPI711IWO8uz6nv/tlj71hMVfaYoexVtr4nI8+6C0xIgSNM5x2QcIM5eqM=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164344-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-coverity test] 164344: all pass - PUSHED
X-Osstest-Versions-This:
    xen=93713f444b3f29d6848527506db69cf78976b32d
X-Osstest-Versions-That:
    xen=54c9736382e0d558a6acd820e44185e020131c48
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 22 Aug 2021 09:50:57 +0000

flight 164344 xen-unstable-coverity real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164344/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 xen                  93713f444b3f29d6848527506db69cf78976b32d
baseline version:
 xen                  54c9736382e0d558a6acd820e44185e020131c48

Last test of basis   164239  2021-08-18 09:19:40 Z    4 days
Testing same since   164344  2021-08-22 09:18:28 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Dario Faggioli <dfaggioli@suse.com>
  Ian Jackson <iwj@xenproject.org>
  Jan Beulich <jbeulich@suse.com>
  Jane Malalane <jane.malalane@citrix.com>
  Juergen Gross <jgross@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

jobs:
 coverity-amd64                                               pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   54c9736382..93713f444b  93713f444b3f29d6848527506db69cf78976b32d -> coverity-tested/smoke


From xen-devel-bounces@lists.xenproject.org Sun Aug 22 12:50:07 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 22 Aug 2021 12:50:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170007.310474 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mHmv8-0003Kt-TX; Sun, 22 Aug 2021 12:49:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170007.310474; Sun, 22 Aug 2021 12: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 1mHmv8-0003Km-QG; Sun, 22 Aug 2021 12:49:50 +0000
Received: by outflank-mailman (input) for mailman id 170007;
 Sun, 22 Aug 2021 12:49: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 1mHmv8-0003Kc-5w; Sun, 22 Aug 2021 12:49: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 1mHmv7-0006TV-Sa; Sun, 22 Aug 2021 12:49: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 1mHmv7-0007cT-Ke; Sun, 22 Aug 2021 12:49:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mHmv7-00048k-JE; Sun, 22 Aug 2021 12:49: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=rQQGyJJyFnvvdf8D2hWYXVSHnvCPvKCT83TjUHPxlO8=; b=RduiynwSNuEGV7NueG+5Vc2PIo
	enmiIuXGKprbpriZdRPV7mBb0V5237EzRUQyxM7m467k92RdFkcXooqbUdv6/pdaOfBcWTTAc/tm+
	h0aI3VbG7WUL4XdJc6gzCs6UObkVDDdDEv88MTEQDok32y2So4ppUhKr6So2NTIX0OjI=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164300-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.14-testing test] 164300: regressions - FAIL
X-Osstest-Failures:
    xen-4.14-testing:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    xen-4.14-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemut-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-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-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-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-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=61f28060d5b899c502e2b3bf45a39b1dd2a1224c
X-Osstest-Versions-That:
    xen=49299c4813b7847d29df07bf790f5489060f2a9c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 22 Aug 2021 12:49:49 +0000

flight 164300 xen-4.14-testing real [real]
flight 164347 xen-4.14-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/164300/
http://logs.test-lab.xenproject.org/osstest/logs/164347/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 163750
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 163750

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 163750
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 163750
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 163750
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 163750
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 163750
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 163750
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 163750
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 163750
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 163750
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 163750
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 163750
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  61f28060d5b899c502e2b3bf45a39b1dd2a1224c
baseline version:
 xen                  49299c4813b7847d29df07bf790f5489060f2a9c

Last test of basis   163750  2021-07-16 21:07:40 Z   36 days
Testing same since   164261  2021-08-19 17:07:29 Z    2 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 61f28060d5b899c502e2b3bf45a39b1dd2a1224c
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Jul 19 12:28:09 2021 +0200

    libxl/x86: check return value of SHADOW_OP_SET_ALLOCATION domctl
    
    The hypervisor may not have enough memory to satisfy the request. While
    there, make the unit of the value clear by renaming the local variable.
    
    Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    backport-requested-by: Jan Beulich <jbeulich@suse.com>
    (cherry picked from commit 0be5a00af590c97ea553aadb60f1e0b3af53d8f6)
    (cherry picked from commit 6bbdcefd205903b2181b3b4fdc9503709ecdb7c4)
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Sun Aug 22 19:50:21 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 22 Aug 2021 19:50:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170059.310584 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mHtTg-0003DW-UB; Sun, 22 Aug 2021 19:49:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170059.310584; Sun, 22 Aug 2021 19: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 1mHtTg-0003DP-QW; Sun, 22 Aug 2021 19:49:56 +0000
Received: by outflank-mailman (input) for mailman id 170059;
 Sun, 22 Aug 2021 19:49:55 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mHtTf-0003DF-OP; Sun, 22 Aug 2021 19:49: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 1mHtTf-0007Rx-GQ; Sun, 22 Aug 2021 19:49: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 1mHtTf-0002jF-5H; Sun, 22 Aug 2021 19:49:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mHtTf-0004Yk-4o; Sun, 22 Aug 2021 19:49: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=1vCin1ZSTvCx3kjAwlTs7Uk7KB5WFW76MbWPX3WDDd4=; b=cMzMg/ooh9kjCJ/MX/no7BH3yQ
	RqDDK6V5ods5Tl/gilGlF4hlhqKGmkUbk9ddDE1WYcQnJiva2cx53BmJsHheFf6gzq2cyJCFuiOPJ
	4nlwR7v5qNnwO1qhoz1W3YqeFykmkm8qoeaWsAPzu/r3oqFhVbUc2f8w1XzF7rlg7wow=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164301-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.13-testing test] 164301: regressions - FAIL
X-Osstest-Failures:
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    xen-4.13-testing:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    xen-4.13-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=3cdc7b6b35106180c9021c1742cafacfa764fdad
X-Osstest-Versions-That:
    xen=32d580902b959000d79d51dff03a3560653c4fcb
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 22 Aug 2021 19:49:55 +0000

flight 164301 xen-4.13-testing real [real]
flight 164364 xen-4.13-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/164301/
http://logs.test-lab.xenproject.org/osstest/logs/164364/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 163761
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 163761

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 163761
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 163761
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 163761
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 163761
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 163761
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 163761
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 163761
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 163761
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 163761
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 163761
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 163761
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 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-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  3cdc7b6b35106180c9021c1742cafacfa764fdad
baseline version:
 xen                  32d580902b959000d79d51dff03a3560653c4fcb

Last test of basis   163761  2021-07-17 07:57:22 Z   36 days
Testing same since   164260  2021-08-19 17:07:29 Z    3 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 3cdc7b6b35106180c9021c1742cafacfa764fdad
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Jul 19 12:28:09 2021 +0200

    libxl/x86: check return value of SHADOW_OP_SET_ALLOCATION domctl
    
    The hypervisor may not have enough memory to satisfy the request. While
    there, make the unit of the value clear by renaming the local variable.
    
    Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    backport-requested-by: Jan Beulich <jbeulich@suse.com>
    (cherry picked from commit 0be5a00af590c97ea553aadb60f1e0b3af53d8f6)
    (cherry picked from commit 6bbdcefd205903b2181b3b4fdc9503709ecdb7c4)
    (cherry picked from commit 61f28060d5b899c502e2b3bf45a39b1dd2a1224c)
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Sun Aug 22 20:24:53 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 22 Aug 2021 20:24:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170067.310597 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mHu1N-0007iE-Vf; Sun, 22 Aug 2021 20:24:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170067.310597; Sun, 22 Aug 2021 20:24:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mHu1N-0007i7-Sq; Sun, 22 Aug 2021 20:24:45 +0000
Received: by outflank-mailman (input) for mailman id 170067;
 Sun, 22 Aug 2021 20:24:45 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mHu1N-0007hx-0v; Sun, 22 Aug 2021 20:24:45 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mHu1M-0008FZ-Pm; Sun, 22 Aug 2021 20:24: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 1mHu1M-0004F0-Ei; Sun, 22 Aug 2021 20:24:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mHu1M-0002v2-EF; Sun, 22 Aug 2021 20:24:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=w7Z2O2bxuYRJIizq80qtBdwCZDXpSRWbam08q5I4V+U=; b=2roK62z0x312hsdMjyhdtGyRwR
	yc0FQNdCmEd01wj3ZPMySzGAUEqXbfUolvUJIlc9uz6cTbCF/2azZZlLpTrtXMs1mtjx4+sLHMK02
	D31dPktrGr/IKlfBZFZEi69KQHg49gzyAZrTsBPKjS52GQy9A+EKgr0dM8pDaFizwybc=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164311-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 164311: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=406a6c20a8a324ed6643246f9681da2aaff59aa3
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 22 Aug 2021 20:24:44 +0000

flight 164311 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164311/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              406a6c20a8a324ed6643246f9681da2aaff59aa3
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  408 days
Failing since        151818  2020-07-11 04:18:52 Z  407 days  398 attempts
Testing same since   164311  2021-08-21 16:36:59 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  Cédric Bosdonnat <cbosdonnat@suse.com>
  Côme Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano Fidêncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Ian Wienand <iwienand@redhat.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  John Ferlan <jferlan@redhat.com>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  Ján Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Michał Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  Moshe Levi <moshele@nvidia.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr Drąg <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tomáš Golembiovský <tgolembi@redhat.com>
  Tomáš Janoušek <tomi@nomi.cz>
  Tuguoyi <tu.guoyi@h3c.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  William Douglas <william.douglas@intel.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 70327 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 23 00:40:32 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 00:40:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170113.310702 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mHy0d-0000EP-VF; Mon, 23 Aug 2021 00:40:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170113.310702; Mon, 23 Aug 2021 00:40:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mHy0d-0000EI-SJ; Mon, 23 Aug 2021 00:40:15 +0000
Received: by outflank-mailman (input) for mailman id 170113;
 Mon, 23 Aug 2021 00:40:15 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mHy0d-0000E8-2F; Mon, 23 Aug 2021 00:40:15 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mHy0c-0005P3-Q7; Mon, 23 Aug 2021 00:40:14 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mHy0c-0007rg-Hx; Mon, 23 Aug 2021 00:40:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mHy0c-00059n-HR; Mon, 23 Aug 2021 00:40:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Message-Id:Subject:To;
	bh=XPYeikl57fjXeNKm/pD6xDMkLqCJn2HwXwJwjMWulKQ=; b=dZubyIFPNthUbzvEox6NREivix
	AKk6uTx8CjNA9+f/dxlnKwt/xOm4+ZOqbbSoPPVXDOS8tS5bQ6go/aVza6ORwV8V+XbM1BmxhzsT7
	F44GYxFskcn/DiZMWDQOsHhFDEDZ0fKi4MATh6KnQsGAlyFUUF5McJwUSQ708L7pyE5k=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Subject: [xen-4.12-testing bisection] complete test-amd64-i386-xl-qemuu-ovmf-amd64
Message-Id: <E1mHy0c-00059n-HR@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 23 Aug 2021 00:40:14 +0000

branch xen-4.12-testing
xenbranch xen-4.12-testing
job test-amd64-i386-xl-qemuu-ovmf-amd64
testid debian-hvm-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 git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  ovmf git://xenbits.xen.org/osstest/ovmf.git
  Bug introduced:  d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Bug not present: 3357ac73807d83eb212632ee7c2e032a20a49c56
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164383/


  commit d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Author: Laszlo Ersek <lersek@redhat.com>
  Date:   Wed May 26 22:14:24 2021 +0200
  
      OvmfPkg/PlatformPei: remove Xen support
      
      The "OvmfPkg/PlatformPei/PlatformPei.inf" module is used by the following
      platform DSCs:
      
        OvmfPkg/AmdSev/AmdSevX64.dsc
        OvmfPkg/OvmfPkgIa32.dsc
        OvmfPkg/OvmfPkgIa32X64.dsc
        OvmfPkg/OvmfPkgX64.dsc
      
      Remove Xen support from "OvmfPkg/PlatformPei", including any dependencies
      that now become unused. The basic idea is to substitute FALSE for "mXen".
      
      Remove "OvmfPkg/PlatformPei" from the "OvmfPkg: Xen-related modules"
      section of "Maintainers.txt".
      
      This patch is best reviewed with "git show -b -W".
      
      Cc: Andrew Fish <afish@apple.com>
      Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
      Cc: Jordan Justen <jordan.l.justen@intel.com>
      Cc: Leif Lindholm <leif@nuviainc.com>
      Cc: Michael D Kinney <michael.d.kinney@intel.com>
      Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
      Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2122
      Signed-off-by: Laszlo Ersek <lersek@redhat.com>
      Message-Id: <20210526201446.12554-22-lersek@redhat.com>
      Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
      Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
      Reviewed-by: Leif Lindholm <leif@nuviainc.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-4.12-testing/test-amd64-i386-xl-qemuu-ovmf-amd64.debian-hvm-install.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/xen-4.12-testing/test-amd64-i386-xl-qemuu-ovmf-amd64.debian-hvm-install --summary-out=tmp/164383.bisection-summary --basis-template=162549 --blessings=real,real-bisect,real-retry xen-4.12-testing test-amd64-i386-xl-qemuu-ovmf-amd64 debian-hvm-install
Searching for failure / basis pass:
 164298 fail [host=huxelrebe0] / 162549 [host=huxelrebe1] 161821 [host=chardonnay1] 161807 ok.
Failure / basis pass flights: 164298 / 161807
(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 git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git
Latest c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 54082c81d96028ba8c76fbe6784085cf1df76b20 c6c5f9d8b3e23178341cd7f9b7614a463df74266
Basis pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f297b7f20010711e36e981fe45645302cc9d109d d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 b0d61ecef66eb05bd7a4eb7ada88ec5dab06dfee 5984905b2638df87a0262d1ee91f0a6e14a86df6
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#f297b7f20010711e36e981fe45645302cc9d109d-ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c git://xenbits.xen.org/qemu-xen-traditional.git#d0d8ad39ecb51cd7497cd524484\
 fe09f50876798-d0d8ad39ecb51cd7497cd524484fe09f50876798 git://xenbits.xen.org/qemu-xen.git#92a78636a51611475f711637c44cafbda3ef9859-92a78636a51611475f711637c44cafbda3ef9859 git://xenbits.xen.org/osstest/seabios.git#b0d61ecef66eb05bd7a4eb7ada88ec5dab06dfee-54082c81d96028ba8c76fbe6784085cf1df76b20 git://xenbits.xen.org/xen.git#5984905b2638df87a0262d1ee91f0a6e14a86df6-c6c5f9d8b3e23178341cd7f9b7614a463df74266
Loaded 12607 nodes in revision graph
Searching for test results:
 164259 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 54082c81d96028ba8c76fbe6784085cf1df76b20 c6c5f9d8b3e23178341cd7f9b7614a463df74266
 164297 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f297b7f20010711e36e981fe45645302cc9d109d d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 b0d61ecef66eb05bd7a4eb7ada88ec5dab06dfee 5984905b2638df87a0262d1ee91f0a6e14a86df6
 164320 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 54082c81d96028ba8c76fbe6784085cf1df76b20 c6c5f9d8b3e23178341cd7f9b7614a463df74266
 164323 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 20ca52882877ba9025da2ee58c8dab7808eca457 d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 e3c30795823672eec9bde75187e184f23ed98d70 ea20eee97e9e0861127a8070cc7b9ae3557b09fb
 164298 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 54082c81d96028ba8c76fbe6784085cf1df76b20 c6c5f9d8b3e23178341cd7f9b7614a463df74266
 164332 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64 d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 5984905b2638df87a0262d1ee91f0a6e14a86df6
 164336 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 adfa3327d4fc25d5eff5fedcdb11ecde52a995cc d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 6eff8085980dba0938cea0193b8a0fd3c6b0c4ca 5984905b2638df87a0262d1ee91f0a6e14a86df6
 164340 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 e25566cd2bf03e9cf66f30c3b7c2b6944022ee5a d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 5984905b2638df87a0262d1ee91f0a6e14a86df6
 164346 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c9bba52fc7312e8ea9071f9a4b7005954e36e0c1 d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 5984905b2638df87a0262d1ee91f0a6e14a86df6
 164351 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 8f8d3d90c5c5e317693a87339f9ddf9d7412a0fc d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 5984905b2638df87a0262d1ee91f0a6e14a86df6
 164359 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 e7641171b6c1f858f3d979c0e8f04d6c12870baa d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 5984905b2638df87a0262d1ee91f0a6e14a86df6
 164363 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 5984905b2638df87a0262d1ee91f0a6e14a86df6
 164354 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d491c88a0c8bec7a0c8b51e0c7d1f8dc102cfa40 d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 5984905b2638df87a0262d1ee91f0a6e14a86df6
 164366 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64 d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 5984905b2638df87a0262d1ee91f0a6e14a86df6
 164370 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 5984905b2638df87a0262d1ee91f0a6e14a86df6
 164375 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64 d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 5984905b2638df87a0262d1ee91f0a6e14a86df6
 164379 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 5984905b2638df87a0262d1ee91f0a6e14a86df6
 164383 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64 d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 5984905b2638df87a0262d1ee91f0a6e14a86df6
 161776 [host=albana1]
 161807 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f297b7f20010711e36e981fe45645302cc9d109d d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 b0d61ecef66eb05bd7a4eb7ada88ec5dab06dfee 5984905b2638df87a0262d1ee91f0a6e14a86df6
 161821 [host=chardonnay1]
 162549 [host=huxelrebe1]
Searching for interesting versions
 Result found: flight 161807 (pass), for basis pass
 For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 5984905b2638df87a0262d1ee91f0a6e14a86df6, results HASH(0x55ba7e3acaa0) HASH(0x55ba7e38c978) HASH(0x55ba7e3c1740) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1\
 e6a472b0eb9558310b518f0dfcd8860 e7641171b6c1f858f3d979c0e8f04d6c12870baa d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 5984905b2638df87a0262d1ee91f0a6e14a86df6, results HASH(0x55ba7e357798) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d491c88a0c8bec7a0c8b51e0c7d1f8dc102cfa40 d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637\
 c44cafbda3ef9859 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 5984905b2638df87a0262d1ee91f0a6e14a86df6, results HASH(0x55ba7e385a38) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 8f8d3d90c5c5e317693a87339f9ddf9d7412a0fc d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 5984905b2638df87a0262d1ee91f0a6e14a86df6, results HASH(0x55ba7e3b2ab8) For basis\
  failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c9bba52fc7312e8ea9071f9a4b7005954e36e0c1 d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 5984905b2638df87a0262d1ee91f0a6e14a86df6, results HASH(0x55ba7d6da998) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 e25566cd2bf03e9cf66f\
 30c3b7c2b6944022ee5a d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 5984905b2638df87a0262d1ee91f0a6e14a86df6, results HASH(0x55ba7e3b36e0) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 adfa3327d4fc25d5eff5fedcdb11ecde52a995cc d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 6eff8085980dba0938cea0193b8a0fd3c6b\
 0c4ca 5984905b2638df87a0262d1ee91f0a6e14a86df6, results HASH(0x55ba7e3c4370) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f297b7f20010711e36e981fe45645302cc9d109d d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 b0d61ecef66eb05bd7a4eb7ada88ec5dab06dfee 5984905b2638df87a0262d1ee91f0a6e14a86df6, results HASH(0x55ba7e37bfe8) HASH(0x55ba7e3bdd30) Result found: flight 164259 (fail), for \
 basis failure (at ancestor ~896)
 Repro found: flight 164297 (pass), for basis pass
 Repro found: flight 164298 (fail), for basis failure
 0 revisions at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 5984905b2638df87a0262d1ee91f0a6e14a86df6
No revisions left to test, checking graph state.
 Result found: flight 164363 (pass), for last pass
 Result found: flight 164366 (fail), for first failure
 Repro found: flight 164370 (pass), for last pass
 Repro found: flight 164375 (fail), for first failure
 Repro found: flight 164379 (pass), for last pass
 Repro found: flight 164383 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  ovmf git://xenbits.xen.org/osstest/ovmf.git
  Bug introduced:  d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Bug not present: 3357ac73807d83eb212632ee7c2e032a20a49c56
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164383/


  commit d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Author: Laszlo Ersek <lersek@redhat.com>
  Date:   Wed May 26 22:14:24 2021 +0200
  
      OvmfPkg/PlatformPei: remove Xen support
      
      The "OvmfPkg/PlatformPei/PlatformPei.inf" module is used by the following
      platform DSCs:
      
        OvmfPkg/AmdSev/AmdSevX64.dsc
        OvmfPkg/OvmfPkgIa32.dsc
        OvmfPkg/OvmfPkgIa32X64.dsc
        OvmfPkg/OvmfPkgX64.dsc
      
      Remove Xen support from "OvmfPkg/PlatformPei", including any dependencies
      that now become unused. The basic idea is to substitute FALSE for "mXen".
      
      Remove "OvmfPkg/PlatformPei" from the "OvmfPkg: Xen-related modules"
      section of "Maintainers.txt".
      
      This patch is best reviewed with "git show -b -W".
      
      Cc: Andrew Fish <afish@apple.com>
      Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
      Cc: Jordan Justen <jordan.l.justen@intel.com>
      Cc: Leif Lindholm <leif@nuviainc.com>
      Cc: Michael D Kinney <michael.d.kinney@intel.com>
      Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
      Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2122
      Signed-off-by: Laszlo Ersek <lersek@redhat.com>
      Message-Id: <20210526201446.12554-22-lersek@redhat.com>
      Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
      Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
      Reviewed-by: Leif Lindholm <leif@nuviainc.com>

pnmtopng: 136 colors found
Revision graph left in /home/logs/results/bisect/xen-4.12-testing/test-amd64-i386-xl-qemuu-ovmf-amd64.debian-hvm-install.{dot,ps,png,html,svg}.
----------------------------------------
164383: tolerable ALL FAIL

flight 164383 xen-4.12-testing real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/164383/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail baseline untested


jobs:
 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



From xen-devel-bounces@lists.xenproject.org Mon Aug 23 01:19:35 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 01:19:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170123.310722 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mHycb-0002IK-79; Mon, 23 Aug 2021 01:19:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170123.310722; Mon, 23 Aug 2021 01: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 1mHycb-0002ID-4G; Mon, 23 Aug 2021 01:19:29 +0000
Received: by outflank-mailman (input) for mailman id 170123;
 Mon, 23 Aug 2021 01:19: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 1mHyca-0002I3-5b; Mon, 23 Aug 2021 01:19: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 1mHycZ-00043o-OK; Mon, 23 Aug 2021 01:19: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 1mHycZ-0001hF-DH; Mon, 23 Aug 2021 01:19:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mHycZ-0004Ec-CM; Mon, 23 Aug 2021 01:19: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=am2vMKVfIqRevnRhjnTGHkV3e2TGPPLiuLFrOLcw+ps=; b=Y29CGCmZSuOzKTdxgUWXnv9Qjr
	mzIs3nn152KzSyH8y3V7WUDFUhYodbB90cvUfEa3wk8/GXCJQPWmrx8j0pxBkWmqAMqKFPb/xgwAx
	i7Si4t+svXqKRJubS8Y+JUtJzRCw1GxgBzOErUw2XMTaW56i/pubZtTCpDI3FXtt6ywE=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164304-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.15-testing test] 164304: regressions - FAIL
X-Osstest-Failures:
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    xen-4.15-testing:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    xen-4.15-testing:test-amd64-amd64-amd64-pvgrub:debian-di-install:fail:regression
    xen-4.15-testing:test-amd64-amd64-i386-pvgrub:debian-di-install:fail:regression
    xen-4.15-testing:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:heisenbug
    xen-4.15-testing:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:debian-hvm-install: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-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-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-seattle:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-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-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm: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-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=6bbdcefd205903b2181b3b4fdc9503709ecdb7c4
X-Osstest-Versions-That:
    xen=dba774896f7dd74773c14d537643b7d7477fefcd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 23 Aug 2021 01:19:27 +0000

flight 164304 xen-4.15-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164304/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 163759
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 163759
 test-amd64-amd64-amd64-pvgrub 12 debian-di-install fail in 164262 REGR. vs. 163759
 test-amd64-amd64-i386-pvgrub 12 debian-di-install fail in 164262 REGR. vs. 163759

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-rtds 18 guest-start/debian.repeat fail in 164262 pass in 164304
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 164262

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 163759
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 163759
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 163759
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 163759
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 163759
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 163759
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 163759
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 163759
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 163759
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 163759
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 163759
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-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-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  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-xsm      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-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  6bbdcefd205903b2181b3b4fdc9503709ecdb7c4
baseline version:
 xen                  dba774896f7dd74773c14d537643b7d7477fefcd

Last test of basis   163759  2021-07-17 04:12:25 Z   36 days
Testing same since   164262  2021-08-19 17:07:29 Z    3 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Ian Jackson <iwj@xenproject.org>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  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                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 335 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 23 02:13:52 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 02:13:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170137.310754 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mHzT3-0000YM-Fu; Mon, 23 Aug 2021 02:13:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170137.310754; Mon, 23 Aug 2021 02:13: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 1mHzT3-0000YF-Bt; Mon, 23 Aug 2021 02:13:41 +0000
Received: by outflank-mailman (input) for mailman id 170137;
 Mon, 23 Aug 2021 02:13: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 1mHzT1-0000Y5-AS; Mon, 23 Aug 2021 02:13: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 1mHzT1-0005b7-5h; Mon, 23 Aug 2021 02:13: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 1mHzT0-0003St-UQ; Mon, 23 Aug 2021 02:13:39 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mHzT0-0003tN-Tw; Mon, 23 Aug 2021 02:13: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:Message-Id:Subject:To;
	bh=BDN7xn24FtTUR2RfhdITMPAbKQeyU6m+O236ZWY6V18=; b=g8MceoJ0D1iCPyr4POECtGu1lK
	A/6ot06/lW/U2wKqBEwkvBLQgizSZGBrOxWI9MIu2lm5wRf+nOJCM9oNuHGKzPXcBwJ4/uVtcnR+8
	5EW0PdBq3Z6J3CpLEIi/zrpyiIOwXWl7H1FNKxQdH1+ToipseGdbg52byCF/IIuZki2Y=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Subject: [xen-4.13-testing bisection] complete test-amd64-amd64-xl-qemuu-ovmf-amd64
Message-Id: <E1mHzT0-0003tN-Tw@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 23 Aug 2021 02:13:38 +0000

branch xen-4.13-testing
xenbranch xen-4.13-testing
job test-amd64-amd64-xl-qemuu-ovmf-amd64
testid debian-hvm-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 git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  ovmf git://xenbits.xen.org/osstest/ovmf.git
  Bug introduced:  d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Bug not present: 3357ac73807d83eb212632ee7c2e032a20a49c56
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164385/


  commit d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Author: Laszlo Ersek <lersek@redhat.com>
  Date:   Wed May 26 22:14:24 2021 +0200
  
      OvmfPkg/PlatformPei: remove Xen support
      
      The "OvmfPkg/PlatformPei/PlatformPei.inf" module is used by the following
      platform DSCs:
      
        OvmfPkg/AmdSev/AmdSevX64.dsc
        OvmfPkg/OvmfPkgIa32.dsc
        OvmfPkg/OvmfPkgIa32X64.dsc
        OvmfPkg/OvmfPkgX64.dsc
      
      Remove Xen support from "OvmfPkg/PlatformPei", including any dependencies
      that now become unused. The basic idea is to substitute FALSE for "mXen".
      
      Remove "OvmfPkg/PlatformPei" from the "OvmfPkg: Xen-related modules"
      section of "Maintainers.txt".
      
      This patch is best reviewed with "git show -b -W".
      
      Cc: Andrew Fish <afish@apple.com>
      Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
      Cc: Jordan Justen <jordan.l.justen@intel.com>
      Cc: Leif Lindholm <leif@nuviainc.com>
      Cc: Michael D Kinney <michael.d.kinney@intel.com>
      Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
      Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2122
      Signed-off-by: Laszlo Ersek <lersek@redhat.com>
      Message-Id: <20210526201446.12554-22-lersek@redhat.com>
      Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
      Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
      Reviewed-by: Leif Lindholm <leif@nuviainc.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-4.13-testing/test-amd64-amd64-xl-qemuu-ovmf-amd64.debian-hvm-install.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/xen-4.13-testing/test-amd64-amd64-xl-qemuu-ovmf-amd64.debian-hvm-install --summary-out=tmp/164385.bisection-summary --basis-template=163761 --blessings=real,real-bisect,real-retry xen-4.13-testing test-amd64-amd64-xl-qemuu-ovmf-amd64 debian-hvm-install
Searching for failure / basis pass:
 164301 fail [host=elbling0] / 163761 ok.
Failure / basis pass flights: 164301 / 163761
(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 git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git
Latest c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 3cdc7b6b35106180c9021c1742cafacfa764fdad
Basis pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c410ad4da4b7785170d3d42a3ba190c2caac6feb d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 32d580902b959000d79d51dff03a3560653c4fcb
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#c410ad4da4b7785170d3d42a3ba190c2caac6feb-ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c git://xenbits.xen.org/qemu-xen-traditional.git#d0d8ad39ecb51cd7497cd524484\
 fe09f50876798-d0d8ad39ecb51cd7497cd524484fe09f50876798 git://xenbits.xen.org/qemu-xen.git#7269466a5b0c0e89b36dc9a7db0554ae404aa230-7269466a5b0c0e89b36dc9a7db0554ae404aa230 git://xenbits.xen.org/osstest/seabios.git#54082c81d96028ba8c76fbe6784085cf1df76b20-54082c81d96028ba8c76fbe6784085cf1df76b20 git://xenbits.xen.org/xen.git#32d580902b959000d79d51dff03a3560653c4fcb-3cdc7b6b35106180c9021c1742cafacfa764fdad
Loaded 10001 nodes in revision graph
Searching for test results:
 163761 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c410ad4da4b7785170d3d42a3ba190c2caac6feb d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 32d580902b959000d79d51dff03a3560653c4fcb
 164260 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 3cdc7b6b35106180c9021c1742cafacfa764fdad
 164322 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 3cdc7b6b35106180c9021c1742cafacfa764fdad
 164327 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b37cfdd2807181aed2fee1e17bd7ec1190db266a d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 32d580902b959000d79d51dff03a3560653c4fcb
 164301 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 3cdc7b6b35106180c9021c1742cafacfa764fdad
 164302 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c410ad4da4b7785170d3d42a3ba190c2caac6feb d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 32d580902b959000d79d51dff03a3560653c4fcb
 164331 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 54e90edaed0d7c15230902ac4d74f4304bad2ebd d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 32d580902b959000d79d51dff03a3560653c4fcb
 164337 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b005f9f1f51c2b0ce680b42b7a743b430d8f2625 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 32d580902b959000d79d51dff03a3560653c4fcb
 164341 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 747b1ef72543c321c386198641a29de7f8537520 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 32d580902b959000d79d51dff03a3560653c4fcb
 164345 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 4174c5c7874ec21c2e693565d3685cf9f5c2e2e8 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 32d580902b959000d79d51dff03a3560653c4fcb
 164350 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 32d580902b959000d79d51dff03a3560653c4fcb
 164355 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 e7641171b6c1f858f3d979c0e8f04d6c12870baa d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 32d580902b959000d79d51dff03a3560653c4fcb
 164357 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 32d580902b959000d79d51dff03a3560653c4fcb
 164362 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 32d580902b959000d79d51dff03a3560653c4fcb
 164367 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 32d580902b959000d79d51dff03a3560653c4fcb
 164372 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 32d580902b959000d79d51dff03a3560653c4fcb
 164381 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 32d580902b959000d79d51dff03a3560653c4fcb
 164385 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 32d580902b959000d79d51dff03a3560653c4fcb
Searching for interesting versions
 Result found: flight 163761 (pass), for basis pass
 For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 32d580902b959000d79d51dff03a3560653c4fcb, results HASH(0x55dc0866bbc0) HASH(0x55dc08764be8) HASH(0x55dc0875d190) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1\
 e6a472b0eb9558310b518f0dfcd8860 e7641171b6c1f858f3d979c0e8f04d6c12870baa d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 32d580902b959000d79d51dff03a3560653c4fcb, results HASH(0x55dc0875f820) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 4174c5c7874ec21c2e693565d3685cf9f5c2e2e8 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7\
 db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 32d580902b959000d79d51dff03a3560653c4fcb, results HASH(0x55dc0863a808) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 747b1ef72543c321c386198641a29de7f8537520 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 32d580902b959000d79d51dff03a3560653c4fcb, results HASH(0x55dc0875fb20) For basis\
  failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c410ad4da4b7785170d3d42a3ba190c2caac6feb d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 32d580902b959000d79d51dff03a3560653c4fcb, results HASH(0x55dc086506d0) HASH(0x55dc0863eb18) Result found: flight 164260 (fail), for basis failure (at ancestor ~1865)
 Repro found: flight 164302 (pass), for basis pass
 Repro found: flight 164322 (fail), for basis failure
 0 revisions at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 32d580902b959000d79d51dff03a3560653c4fcb
No revisions left to test, checking graph state.
 Result found: flight 164357 (pass), for last pass
 Result found: flight 164362 (fail), for first failure
 Repro found: flight 164367 (pass), for last pass
 Repro found: flight 164372 (fail), for first failure
 Repro found: flight 164381 (pass), for last pass
 Repro found: flight 164385 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  ovmf git://xenbits.xen.org/osstest/ovmf.git
  Bug introduced:  d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Bug not present: 3357ac73807d83eb212632ee7c2e032a20a49c56
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164385/


  commit d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Author: Laszlo Ersek <lersek@redhat.com>
  Date:   Wed May 26 22:14:24 2021 +0200
  
      OvmfPkg/PlatformPei: remove Xen support
      
      The "OvmfPkg/PlatformPei/PlatformPei.inf" module is used by the following
      platform DSCs:
      
        OvmfPkg/AmdSev/AmdSevX64.dsc
        OvmfPkg/OvmfPkgIa32.dsc
        OvmfPkg/OvmfPkgIa32X64.dsc
        OvmfPkg/OvmfPkgX64.dsc
      
      Remove Xen support from "OvmfPkg/PlatformPei", including any dependencies
      that now become unused. The basic idea is to substitute FALSE for "mXen".
      
      Remove "OvmfPkg/PlatformPei" from the "OvmfPkg: Xen-related modules"
      section of "Maintainers.txt".
      
      This patch is best reviewed with "git show -b -W".
      
      Cc: Andrew Fish <afish@apple.com>
      Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
      Cc: Jordan Justen <jordan.l.justen@intel.com>
      Cc: Leif Lindholm <leif@nuviainc.com>
      Cc: Michael D Kinney <michael.d.kinney@intel.com>
      Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
      Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2122
      Signed-off-by: Laszlo Ersek <lersek@redhat.com>
      Message-Id: <20210526201446.12554-22-lersek@redhat.com>
      Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
      Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
      Reviewed-by: Leif Lindholm <leif@nuviainc.com>

pnmtopng: 203 colors found
Revision graph left in /home/logs/results/bisect/xen-4.13-testing/test-amd64-amd64-xl-qemuu-ovmf-amd64.debian-hvm-install.{dot,ps,png,html,svg}.
----------------------------------------
164385: tolerable ALL FAIL

flight 164385 xen-4.13-testing real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/164385/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail baseline untested


jobs:
 test-amd64-amd64-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



From xen-devel-bounces@lists.xenproject.org Mon Aug 23 03:49:03 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 03:49:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170154.310783 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI0wz-00026B-3L; Mon, 23 Aug 2021 03:48:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170154.310783; Mon, 23 Aug 2021 03:48: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 1mI0wz-000264-0E; Mon, 23 Aug 2021 03:48:41 +0000
Received: by outflank-mailman (input) for mailman id 170154;
 Mon, 23 Aug 2021 03:48: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 1mI0wx-00025u-RL; Mon, 23 Aug 2021 03:48: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 1mI0wx-0007yY-HM; Mon, 23 Aug 2021 03:48: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 1mI0wx-0000Vz-Ah; Mon, 23 Aug 2021 03:48:39 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mI0wx-0006BW-AE; Mon, 23 Aug 2021 03:48: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:Message-Id:Subject:To;
	bh=u9jUka+tPfSAHhV1LS4rV6fBqd6lyro/JrZale7KtM8=; b=KrkFz8pmeMqTZJ6Va124atTAjl
	AzFAgtSIjIWJQLAqqJCDtHpk08KynradrzJIjvlCh+8voHzbwpmSh9WQ2wFi0PP85kUtKVv4mQq6Q
	fleXGTe62BrkdKroguXz1Er/AAqEkBy/wKr8b3rsmmGrj6AiJcwbauNR8BHrpRFxLc90=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Subject: [xen-4.15-testing bisection] complete test-amd64-amd64-xl-qemuu-ovmf-amd64
Message-Id: <E1mI0wx-0006BW-AE@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 23 Aug 2021 03:48:39 +0000

branch xen-4.15-testing
xenbranch xen-4.15-testing
job test-amd64-amd64-xl-qemuu-ovmf-amd64
testid debian-hvm-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 git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  ovmf git://xenbits.xen.org/osstest/ovmf.git
  Bug introduced:  d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Bug not present: 3357ac73807d83eb212632ee7c2e032a20a49c56
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164393/


  commit d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Author: Laszlo Ersek <lersek@redhat.com>
  Date:   Wed May 26 22:14:24 2021 +0200
  
      OvmfPkg/PlatformPei: remove Xen support
      
      The "OvmfPkg/PlatformPei/PlatformPei.inf" module is used by the following
      platform DSCs:
      
        OvmfPkg/AmdSev/AmdSevX64.dsc
        OvmfPkg/OvmfPkgIa32.dsc
        OvmfPkg/OvmfPkgIa32X64.dsc
        OvmfPkg/OvmfPkgX64.dsc
      
      Remove Xen support from "OvmfPkg/PlatformPei", including any dependencies
      that now become unused. The basic idea is to substitute FALSE for "mXen".
      
      Remove "OvmfPkg/PlatformPei" from the "OvmfPkg: Xen-related modules"
      section of "Maintainers.txt".
      
      This patch is best reviewed with "git show -b -W".
      
      Cc: Andrew Fish <afish@apple.com>
      Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
      Cc: Jordan Justen <jordan.l.justen@intel.com>
      Cc: Leif Lindholm <leif@nuviainc.com>
      Cc: Michael D Kinney <michael.d.kinney@intel.com>
      Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
      Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2122
      Signed-off-by: Laszlo Ersek <lersek@redhat.com>
      Message-Id: <20210526201446.12554-22-lersek@redhat.com>
      Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
      Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
      Reviewed-by: Leif Lindholm <leif@nuviainc.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-4.15-testing/test-amd64-amd64-xl-qemuu-ovmf-amd64.debian-hvm-install.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/xen-4.15-testing/test-amd64-amd64-xl-qemuu-ovmf-amd64.debian-hvm-install --summary-out=tmp/164393.bisection-summary --basis-template=163759 --blessings=real,real-bisect,real-retry xen-4.15-testing test-amd64-amd64-xl-qemuu-ovmf-amd64 debian-hvm-install
Searching for failure / basis pass:
 164304 fail [host=fiano0] / 163759 [host=godello1] 163727 [host=chardonnay0] 163710 [host=fiano1] 162882 [host=chardonnay0] 162561 [host=godello0] 162546 [host=elbling0] 162366 [host=chardonnay1] 161772 [host=fiano1] 161322 [host=godello0] 161049 [host=godello1] 160774 [host=huxelrebe1] 160455 ok.
Failure / basis pass flights: 164304 / 160455
(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 git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git
Latest c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 54082c81d96028ba8c76fbe6784085cf1df76b20 6bbdcefd205903b2181b3b4fdc9503709ecdb7c4
Basis pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f037af6ecbc3b55042c998a59ed8df8548e64b99 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 7ea428895af2840d85c524f0bd11a38aac308308 b0d61ecef66eb05bd7a4eb7ada88ec5dab06dfee 7fa14f3f525b4a2d660794424fd787cfdf9c904b
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#f037af6ecbc3b55042c998a59ed8df8548e64b99-ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c74\
 37ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#7ea428895af2840d85c524f0bd11a38aac308308-e2af2d050338c99e8436e251ad67aafb3ebbd501 git://xenbits.xen.org/osstest/seabios.git#b0d61ecef66eb05bd7a4eb7ada88ec5dab06dfee-54082c81d96028ba8c76fbe6784085cf1df76b20 git://xenbits.xen.org/xen.git#7fa14f3f525b4a2d660794424fd787cfdf9c904b-6bbdcefd205903b2181b3b4fdc9503709ecdb7c4
Loaded 12608 nodes in revision graph
Searching for test results:
 162882 [host=chardonnay0]
 163710 [host=fiano1]
 163727 [host=chardonnay0]
 163759 [host=godello1]
 164262 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 54082c81d96028ba8c76fbe6784085cf1df76b20 6bbdcefd205903b2181b3b4fdc9503709ecdb7c4
 164305 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f037af6ecbc3b55042c998a59ed8df8548e64b99 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 7ea428895af2840d85c524f0bd11a38aac308308 b0d61ecef66eb05bd7a4eb7ada88ec5dab06dfee 7fa14f3f525b4a2d660794424fd787cfdf9c904b
 164325 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 54082c81d96028ba8c76fbe6784085cf1df76b20 6bbdcefd205903b2181b3b4fdc9503709ecdb7c4
 164304 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 54082c81d96028ba8c76fbe6784085cf1df76b20 6bbdcefd205903b2181b3b4fdc9503709ecdb7c4
 164330 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c2f24ba3218ae91a8d5a1a31c31dad3417850d0c 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 7292e4a0a8f58333ccbd2d0d47242f9865083c9c eae0dfac891f521ceb6c4733e22a0cd718f336c0
 164339 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 34e16ff883f0e047fb9c0ac5c179f1b084ffbf98 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 6eff8085980dba0938cea0193b8a0fd3c6b0c4ca 280d472f4fca070a10377e318d90cabfc2540810
 164343 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 924c2b847f0bc4325f6d14e562e2fb2d8acbc4d0 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 7292e4a0a8f58333ccbd2d0d47242f9865083c9c ee2b1d616e8dda8edf1946c403c781983d1888b7
 164348 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 4115840c282660b071dbd53c08516e437df1ad0b 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 7292e4a0a8f58333ccbd2d0d47242f9865083c9c eae0dfac891f521ceb6c4733e22a0cd718f336c0
 164352 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 7292e4a0a8f58333ccbd2d0d47242f9865083c9c eae0dfac891f521ceb6c4733e22a0cd718f336c0
 164358 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 4174c5c7874ec21c2e693565d3685cf9f5c2e2e8 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 7292e4a0a8f58333ccbd2d0d47242f9865083c9c eae0dfac891f521ceb6c4733e22a0cd718f336c0
 164361 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 e7641171b6c1f858f3d979c0e8f04d6c12870baa 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 7292e4a0a8f58333ccbd2d0d47242f9865083c9c eae0dfac891f521ceb6c4733e22a0cd718f336c0
 164335 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 0bbc20727598421c4e47d46b982246217df8c6bc 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 b0d61ecef66eb05bd7a4eb7ada88ec5dab06dfee 5788a7e61145d0ad4f93d3ff22f7d6b5dfef7478
 164365 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 7292e4a0a8f58333ccbd2d0d47242f9865083c9c eae0dfac891f521ceb6c4733e22a0cd718f336c0
 164369 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 7292e4a0a8f58333ccbd2d0d47242f9865083c9c eae0dfac891f521ceb6c4733e22a0cd718f336c0
 164376 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 7292e4a0a8f58333ccbd2d0d47242f9865083c9c eae0dfac891f521ceb6c4733e22a0cd718f336c0
 164380 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 7292e4a0a8f58333ccbd2d0d47242f9865083c9c eae0dfac891f521ceb6c4733e22a0cd718f336c0
 164386 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 7292e4a0a8f58333ccbd2d0d47242f9865083c9c eae0dfac891f521ceb6c4733e22a0cd718f336c0
 164393 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 7292e4a0a8f58333ccbd2d0d47242f9865083c9c eae0dfac891f521ceb6c4733e22a0cd718f336c0
 160455 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f037af6ecbc3b55042c998a59ed8df8548e64b99 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 7ea428895af2840d85c524f0bd11a38aac308308 b0d61ecef66eb05bd7a4eb7ada88ec5dab06dfee 7fa14f3f525b4a2d660794424fd787cfdf9c904b
 160774 [host=huxelrebe1]
 161049 [host=godello1]
 161322 [host=godello0]
 161772 [host=fiano1]
 162366 [host=chardonnay1]
 162546 [host=elbling0]
 162561 [host=godello0]
Searching for interesting versions
 Result found: flight 160455 (pass), for basis pass
 For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 7292e4a0a8f58333ccbd2d0d47242f9865083c9c eae0dfac891f521ceb6c4733e22a0cd718f336c0, results HASH(0x55f78eeaef00) HASH(0x55f78ed754d0) HASH(0x55f78ed21ef8) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1\
 e6a472b0eb9558310b518f0dfcd8860 e7641171b6c1f858f3d979c0e8f04d6c12870baa 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 7292e4a0a8f58333ccbd2d0d47242f9865083c9c eae0dfac891f521ceb6c4733e22a0cd718f336c0, results HASH(0x55f78ed33188) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 4174c5c7874ec21c2e693565d3685cf9f5c2e2e8 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251\
 ad67aafb3ebbd501 7292e4a0a8f58333ccbd2d0d47242f9865083c9c eae0dfac891f521ceb6c4733e22a0cd718f336c0, results HASH(0x55f78ed5d600) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 4115840c282660b071dbd53c08516e437df1ad0b 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 7292e4a0a8f58333ccbd2d0d47242f9865083c9c eae0dfac891f521ceb6c4733e22a0cd718f336c0, results HASH(0x55f78ed828d0) For basis\
  failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 924c2b847f0bc4325f6d14e562e2fb2d8acbc4d0 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 7292e4a0a8f58333ccbd2d0d47242f9865083c9c ee2b1d616e8dda8edf1946c403c781983d1888b7, results HASH(0x55f78ed7b510) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 34e16ff883f0e047fb9c\
 0ac5c179f1b084ffbf98 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 6eff8085980dba0938cea0193b8a0fd3c6b0c4ca 280d472f4fca070a10377e318d90cabfc2540810, results HASH(0x55f78ed64240) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 0bbc20727598421c4e47d46b982246217df8c6bc 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 b0d61ecef66eb05bd7a4eb7ada88ec5dab0\
 6dfee 5788a7e61145d0ad4f93d3ff22f7d6b5dfef7478, results HASH(0x55f78eea6ea8) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f037af6ecbc3b55042c998a59ed8df8548e64b99 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 7ea428895af2840d85c524f0bd11a38aac308308 b0d61ecef66eb05bd7a4eb7ada88ec5dab06dfee 7fa14f3f525b4a2d660794424fd787cfdf9c904b, results HASH(0x55f78ed48a50) HASH(0x55f78ed7dc98) Result found: flight 164262 (fail), for \
 basis failure (at ancestor ~695)
 Repro found: flight 164305 (pass), for basis pass
 Repro found: flight 164325 (fail), for basis failure
 0 revisions at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 7292e4a0a8f58333ccbd2d0d47242f9865083c9c eae0dfac891f521ceb6c4733e22a0cd718f336c0
No revisions left to test, checking graph state.
 Result found: flight 164365 (pass), for last pass
 Result found: flight 164369 (fail), for first failure
 Repro found: flight 164376 (pass), for last pass
 Repro found: flight 164380 (fail), for first failure
 Repro found: flight 164386 (pass), for last pass
 Repro found: flight 164393 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  ovmf git://xenbits.xen.org/osstest/ovmf.git
  Bug introduced:  d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Bug not present: 3357ac73807d83eb212632ee7c2e032a20a49c56
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164393/


  commit d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Author: Laszlo Ersek <lersek@redhat.com>
  Date:   Wed May 26 22:14:24 2021 +0200
  
      OvmfPkg/PlatformPei: remove Xen support
      
      The "OvmfPkg/PlatformPei/PlatformPei.inf" module is used by the following
      platform DSCs:
      
        OvmfPkg/AmdSev/AmdSevX64.dsc
        OvmfPkg/OvmfPkgIa32.dsc
        OvmfPkg/OvmfPkgIa32X64.dsc
        OvmfPkg/OvmfPkgX64.dsc
      
      Remove Xen support from "OvmfPkg/PlatformPei", including any dependencies
      that now become unused. The basic idea is to substitute FALSE for "mXen".
      
      Remove "OvmfPkg/PlatformPei" from the "OvmfPkg: Xen-related modules"
      section of "Maintainers.txt".
      
      This patch is best reviewed with "git show -b -W".
      
      Cc: Andrew Fish <afish@apple.com>
      Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
      Cc: Jordan Justen <jordan.l.justen@intel.com>
      Cc: Leif Lindholm <leif@nuviainc.com>
      Cc: Michael D Kinney <michael.d.kinney@intel.com>
      Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
      Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2122
      Signed-off-by: Laszlo Ersek <lersek@redhat.com>
      Message-Id: <20210526201446.12554-22-lersek@redhat.com>
      Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
      Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
      Reviewed-by: Leif Lindholm <leif@nuviainc.com>

pnmtopng: 77 colors found
Revision graph left in /home/logs/results/bisect/xen-4.15-testing/test-amd64-amd64-xl-qemuu-ovmf-amd64.debian-hvm-install.{dot,ps,png,html,svg}.
----------------------------------------
164393: tolerable ALL FAIL

flight 164393 xen-4.15-testing real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/164393/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail baseline untested


jobs:
 test-amd64-amd64-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



From xen-devel-bounces@lists.xenproject.org Mon Aug 23 04:06:53 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 04:06:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170141.310803 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI1EV-0004gz-Q9; Mon, 23 Aug 2021 04:06:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170141.310803; Mon, 23 Aug 2021 04:06: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 1mI1EV-0004gs-N7; Mon, 23 Aug 2021 04:06:47 +0000
Received: by outflank-mailman (input) for mailman id 170141;
 Mon, 23 Aug 2021 02:14:11 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/cRC=NO=gmail.com=cgel.zte@srs-us1.protection.inumbo.net>)
 id 1mHzTX-00016N-82
 for xen-devel@lists.xenproject.org; Mon, 23 Aug 2021 02:14:11 +0000
Received: from mail-qv1-xf30.google.com (unknown [2607:f8b0:4864:20::f30])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id f0661be9-7914-470a-aaff-a154003d7f20;
 Mon, 23 Aug 2021 02:14:10 +0000 (UTC)
Received: by mail-qv1-xf30.google.com with SMTP id jv8so8906236qvb.3
 for <xen-devel@lists.xenproject.org>; Sun, 22 Aug 2021 19:14:10 -0700 (PDT)
Received: from localhost.localdomain ([193.203.214.57])
 by smtp.gmail.com with ESMTPSA id q184sm7802318qkd.35.2021.08.22.19.14.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 22 Aug 2021 19:14: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: f0661be9-7914-470a-aaff-a154003d7f20
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=0c9W4KFzvkxaiLSuIZiuuGcjam2e7naE89uHIwtQELE=;
        b=mxa9y2T3jwlzAXL1NUtH+yeIKKyyjAPm/UA29J2QlNW4w/UC1hCCt3X+b57hTVMVeH
         iOGtBdIGeFOXJ9tgvnYQfFw4Iw2a0Ngq8MwMmk6EBKTRZHjlO0iBTwg0et8PKKMUG6HJ
         7om7LG1oOtgOOqLTNyHBmmu7dRa9cnu9XskR4pYNAA/57zkkIn4UCM/y/VqWHzrWhKbs
         EYSVN68AK3oiOPiFHCQoKruQ8OEirw9v2AeWOdYShwj5ksNYkh9eJ+5WB7enN5upSzje
         62KSQ0STMSTG6ocM7zuGGgDqiDhRpRtY9GX/EXW5tT879oP+qPq0kmTArb3G1bBMqmr3
         yfJg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=0c9W4KFzvkxaiLSuIZiuuGcjam2e7naE89uHIwtQELE=;
        b=LhhO+zFooykZ9ik8Zc2A13Xt2hsNidDuhnzTHtZcHNosrfYvDlhAGjc+VYYbvG76cZ
         B7FNjqw9JQWr+Wo+i3u1dD0NvBZkeSaArIWK9/DJUZ6KeRs7OxB8lmkJhfbUWFBNJjrZ
         wKuQUn0mv1GJ8a64hlJWEagrqwCb2Ilu7W7rqW8NqeSls9NhMs0f7EFLRwQ8T0N1oLSO
         nneyPhIvQW3inxiIwDekuU1chJX02QMyJ8613WVdcEIUsPz5C7AStgu0IRC9uvp8bWxo
         PgOsG3PLe+qiNRZP960y9RatN6b3vZo72V3jT8aetLD6BIeHXPGcDBrtqZD1SIbLz2d1
         subw==
X-Gm-Message-State: AOAM532xeGUa7SV//T/prGzwS1oYNwhFVvV5CFmuwQh+/ik+RiPt29wL
	Watve0nFaqunBwQ6+r1Nmds=
X-Google-Smtp-Source: ABdhPJznK5ysUfTJ15bQvLes/OQoG9at49ANSShnH6MsgWQpw086j7Vgeh3Q62J5hKzvn2kcT0VbGQ==
X-Received: by 2002:a0c:e885:: with SMTP id b5mr31250706qvo.48.1629684850072;
        Sun, 22 Aug 2021 19:14:10 -0700 (PDT)
From: CGEL <cgel.zte@gmail.com>
X-Google-Original-From: CGEL <jing.yangyang@zte.com.cn>
To: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	x86@kernel.org,
	"H . Peter Anvin" <hpa@zytor.com>,
	xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org,
	Jing Yangyang <jing.yangyang@zte.com.cn>,
	Zeal Robot <zealci@zte.com.cn>
Subject: [PATCH linux-next] arch/x86/xen/time.c: fix bugon.cocci warnings
Date: Sun, 22 Aug 2021 19:13:53 -0700
Message-Id: <20210823021353.44391-1-jing.yangyang@zte.com.cn>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Jing Yangyang <jing.yangyang@zte.com.cn>

Use BUG_ON instead of a if condition followed by BUG.

Generated by: scripts/coccinelle/misc/bugon.cocci

Reported-by: Zeal Robot <zealci@zte.com.cn>
Signed-off-by: Jing Yangyang <jing.yangyang@zte.com.cn>
---
 arch/x86/xen/time.c | 20 ++++++++------------
 1 file changed, 8 insertions(+), 12 deletions(-)

diff --git a/arch/x86/xen/time.c b/arch/x86/xen/time.c
index d9c945e..6e29b69 100644
--- a/arch/x86/xen/time.c
+++ b/arch/x86/xen/time.c
@@ -210,8 +210,7 @@ static int xen_timerop_set_next_event(unsigned long delta,
 {
 	WARN_ON(!clockevent_state_oneshot(evt));
 
-	if (HYPERVISOR_set_timer_op(get_abs_timeout(delta)) < 0)
-		BUG();
+	BUG_ON(HYPERVISOR_set_timer_op(get_abs_timeout(delta)) < 0);
 
 	/* We may have missed the deadline, but there's no real way of
 	   knowing for sure.  If the event was in the past, then we'll
@@ -241,11 +240,10 @@ static int xen_vcpuop_shutdown(struct clock_event_device *evt)
 {
 	int cpu = smp_processor_id();
 
-	if (HYPERVISOR_vcpu_op(VCPUOP_stop_singleshot_timer, xen_vcpu_nr(cpu),
+	BUG_ON(HYPERVISOR_vcpu_op(VCPUOP_stop_singleshot_timer, xen_vcpu_nr(cpu),
 			       NULL) ||
-	    HYPERVISOR_vcpu_op(VCPUOP_stop_periodic_timer, xen_vcpu_nr(cpu),
-			       NULL))
-		BUG();
+		HYPERVISOR_vcpu_op(VCPUOP_stop_periodic_timer, xen_vcpu_nr(cpu),
+			       NULL));
 
 	return 0;
 }
@@ -254,9 +252,8 @@ static int xen_vcpuop_set_oneshot(struct clock_event_device *evt)
 {
 	int cpu = smp_processor_id();
 
-	if (HYPERVISOR_vcpu_op(VCPUOP_stop_periodic_timer, xen_vcpu_nr(cpu),
-			       NULL))
-		BUG();
+	BUG_ON(HYPERVISOR_vcpu_op(VCPUOP_stop_periodic_timer, xen_vcpu_nr(cpu),
+			       NULL));
 
 	return 0;
 }
@@ -373,9 +370,8 @@ void xen_timer_resume(void)
 		return;
 
 	for_each_online_cpu(cpu) {
-		if (HYPERVISOR_vcpu_op(VCPUOP_stop_periodic_timer,
-				       xen_vcpu_nr(cpu), NULL))
-			BUG();
+		BUG_ON(HYPERVISOR_vcpu_op(VCPUOP_stop_periodic_timer,
+				       xen_vcpu_nr(cpu), NULL));
 	}
 }
 
-- 
1.8.3.1




From xen-devel-bounces@lists.xenproject.org Mon Aug 23 06:25:27 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 06:25:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170179.310834 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI3OS-0002LB-6O; Mon, 23 Aug 2021 06:25:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170179.310834; Mon, 23 Aug 2021 06:25:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI3OS-0002L4-3V; Mon, 23 Aug 2021 06:25:12 +0000
Received: by outflank-mailman (input) for mailman id 170179;
 Mon, 23 Aug 2021 06:25:11 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fKZt=NO=linaro.org=takahiro.akashi@srs-us1.protection.inumbo.net>)
 id 1mI3OR-0002Ky-3f
 for xen-devel@lists.xen.org; Mon, 23 Aug 2021 06:25:11 +0000
Received: from mail-pj1-x102f.google.com (unknown [2607:f8b0:4864:20::102f])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 0a7f1ff6-2dbf-4a3e-b614-ea5e4d731c27;
 Mon, 23 Aug 2021 06:25:09 +0000 (UTC)
Received: by mail-pj1-x102f.google.com with SMTP id
 u11-20020a17090adb4b00b00181668a56d6so5164741pjx.5
 for <xen-devel@lists.xen.org>; Sun, 22 Aug 2021 23:25:09 -0700 (PDT)
Received: from laputa (pdb6272e8.tkyea130.ap.so-net.ne.jp. [219.98.114.232])
 by smtp.gmail.com with ESMTPSA id y12sm13993144pfa.25.2021.08.22.23.25.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 22 Aug 2021 23:25:08 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0a7f1ff6-2dbf-4a3e-b614-ea5e4d731c27
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=date:from:to:cc:subject:message-id:references:mime-version
         :content-disposition:in-reply-to;
        bh=o2BbdJSJt+wx2eDv7DKojN6rQv2otTWP7dDlf+VpwK8=;
        b=aoN90aCokvUfeTPn6lCcaJ8lTCA+DhB8sw7SqtkVmKiHSXEY9v5jLKdF8Z7ScCRmiV
         nZndxqNFo0rmCh4CxEVvJr25s7U2WK4n0eiwY/v+/i7qqBJXybOCXtTZZGQ9r1JSygmL
         XMpa0gbofJ/VD3hIxO/Dx3t3MX1+gc2zN8hN1E54r1mmoPT3BeBzZnq+I2qhEXjEfyaH
         JjDRDrXW1uxy2GLvnmsSyTlpYfWUqXqX+7uXtIbqZPFoHaL0qllhHkcp9686jXK7IySK
         jRmI2snu/cmiFl9++nxxTzHtY/5dIu3u3knBvN7UidoBJWFJD/kJf4+eG7iqSA0puTCU
         ZDdg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:date:from:to:cc:subject:message-id:references
         :mime-version:content-disposition:in-reply-to;
        bh=o2BbdJSJt+wx2eDv7DKojN6rQv2otTWP7dDlf+VpwK8=;
        b=adya1v2AMGEYN4C4qIgOOuLh4hJ+uMPTJb4fs/DeRgqFmMBPAbJC4fccGI5BBsX/Yn
         +6DrNfcleUB7vDBwHD1qVzYuztn1Tpi7dmezrvEed0JZHYNdC+ZU4Pdo/dx+BujZd1uj
         j3jkprBeK1XaNvJ8W3P6v8VQFqZ4lD29boMCSE1BW1btpAo7LeGBKMlWS/Z4/PzPNLkM
         kpUtp0gPtfkpdxRiPw8gECcOtIy8CwiyYgs6Q3JfUsWJHp7xHgYIcRd7xrapxr5NVQ27
         dqAgTkYlphTLO5tcOzPDMFb5PJfoclCBJnVDUYAqJDW18XPZ+Zjez/wPeL+LVkHU7vRJ
         uINA==
X-Gm-Message-State: AOAM530b78a0Ip4zxyZ2hCZ8XHiA/m7hquMhvJbD9CYiH6bKAShIx34b
	YyoXSQ4R4FfSTNdeLBYNOb0ppw==
X-Google-Smtp-Source: ABdhPJzkkswNQUG91D43fIPfEdN2i3XOEBaGQOlDvl7QIwHEehCH7WeB91b35y2jagao9miz1FoYfw==
X-Received: by 2002:a17:902:b190:b029:12d:487:dddc with SMTP id s16-20020a170902b190b029012d0487dddcmr27347125plr.24.1629699908612;
        Sun, 22 Aug 2021 23:25:08 -0700 (PDT)
Date: Mon, 23 Aug 2021 15:25:00 +0900
From: AKASHI Takahiro <takahiro.akashi@linaro.org>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Alex Benn??e <alex.bennee@linaro.org>,
	Stratos Mailing List <stratos-dev@op-lists.linaro.org>,
	virtio-dev@lists.oasis-open.org,
	Arnd Bergmann <arnd.bergmann@linaro.org>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Jan Kiszka <jan.kiszka@siemens.com>,
	Carl van Schaik <cvanscha@qti.qualcomm.com>, pratikp@quicinc.com,
	Srivatsa Vaddagiri <vatsa@codeaurora.org>,
	Jean-Philippe Brucker <jean-philippe@linaro.org>,
	Mathieu Poirier <mathieu.poirier@linaro.org>, Wei.Chen@arm.com,
	olekstysh@gmail.com, Oleksandr_Tyshchenko@epam.com,
	Bertrand.Marquis@arm.com, Artem_Mygaiev@epam.com, julien@xen.org,
	jgross@suse.com, paul@xen.org, xen-devel@lists.xen.org
Subject: Re: Enabling hypervisor agnosticism for VirtIO backends
Message-ID: <20210823062500.GC40863@laputa>
References: <87v94ldrqq.fsf@linaro.org>
 <alpine.DEB.2.21.2108041055390.9768@sstabellini-ThinkPad-T480s>
 <YRuSPT9075NuWRYS@stefanha-x1.localdomain>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <YRuSPT9075NuWRYS@stefanha-x1.localdomain>

Hi Stefan,

On Tue, Aug 17, 2021 at 11:41:01AM +0100, Stefan Hajnoczi wrote:
> On Wed, Aug 04, 2021 at 12:20:01PM -0700, Stefano Stabellini wrote:
> > > Could we consider the kernel internally converting IOREQ messages from
> > > the Xen hypervisor to eventfd events? Would this scale with other kernel
> > > hypercall interfaces?
> > > 
> > > So any thoughts on what directions are worth experimenting with?
> >  
> > One option we should consider is for each backend to connect to Xen via
> > the IOREQ interface. We could generalize the IOREQ interface and make it
> > hypervisor agnostic. The interface is really trivial and easy to add.
> > The only Xen-specific part is the notification mechanism, which is an
> > event channel. If we replaced the event channel with something else the
> > interface would be generic. See:
> > https://gitlab.com/xen-project/xen/-/blob/staging/xen/include/public/hvm/ioreq.h#L52
> 
> There have been experiments with something kind of similar in KVM
> recently (see struct ioregionfd_cmd):
> https://lore.kernel.org/kvm/dad3d025bcf15ece11d9df0ff685e8ab0a4f2edd.1613828727.git.eafanasova@gmail.com/

Do you know the current status of Elena's work?
It was last February that she posted her latest patch
and it has not been merged upstream yet.

> > There is also another problem. IOREQ is probably not be the only
> > interface needed. Have a look at
> > https://marc.info/?l=xen-devel&m=162373754705233&w=2. Don't we also need
> > an interface for the backend to inject interrupts into the frontend? And
> > if the backend requires dynamic memory mappings of frontend pages, then
> > we would also need an interface to map/unmap domU pages.
> > 
> > These interfaces are a lot more problematic than IOREQ: IOREQ is tiny
> > and self-contained. It is easy to add anywhere. A new interface to
> > inject interrupts or map pages is more difficult to manage because it
> > would require changes scattered across the various emulators.
> 
> Something like ioreq is indeed necessary to implement arbitrary devices,
> but if you are willing to restrict yourself to VIRTIO then other
> interfaces are possible too because the VIRTIO device model is different
> from the general purpose x86 PIO/MMIO that Xen's ioreq seems to support.

Can you please elaborate your thoughts a bit more here?

It seems to me that trapping MMIOs to configuration space and
forwarding those events to BE (or device emulation) is a quite
straight-forward way to emulate device MMIOs.
Or do you think of something of protocols used in vhost-user?

# On the contrary, virtio-ivshmem only requires a driver to explicitly
# forward a "write" request of MMIO accesses to BE. But I don't think
# it's your point. 

-Takahiro Akashi

> Stefan




From xen-devel-bounces@lists.xenproject.org Mon Aug 23 07:07:49 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 07:07:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170188.310851 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI43Z-0006vt-NC; Mon, 23 Aug 2021 07:07:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170188.310851; Mon, 23 Aug 2021 07:07:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI43Z-0006vm-KD; Mon, 23 Aug 2021 07:07:41 +0000
Received: by outflank-mailman (input) for mailman id 170188;
 Mon, 23 Aug 2021 07:07:39 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=h1N0=NO=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mI43X-0006vg-Dw
 for xen-devel@lists.xenproject.org; Mon, 23 Aug 2021 07:07:39 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 1952f2de-3adf-48d4-a02f-7d5f76eb19f1;
 Mon, 23 Aug 2021 07:07:37 +0000 (UTC)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2055.outbound.protection.outlook.com [104.47.12.55]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-23-O0FTAxZFPF-ItwC9JklhuQ-1; Mon, 23 Aug 2021 09:07:34 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB7024.eurprd04.prod.outlook.com (2603:10a6:800:124::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Mon, 23 Aug
 2021 07:07:33 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4436.024; Mon, 23 Aug 2021
 07:07:32 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR2P264CA0044.FRAP264.PROD.OUTLOOK.COM (2603:10a6:101:1::32) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Mon, 23 Aug 2021 07:07: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: 1952f2de-3adf-48d4-a02f-7d5f76eb19f1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629702456;
	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=tWcn8uZ8Zdep6qSbX+p9vR+nJm/6fhDokv9ZHP88qwI=;
	b=dvkCdfZCwXP7AdTNwUkjppQPZcjxbqYZ1bEp9JgB5vNHqXsAEY8uBRtTcvu5D2Tj3Vc7Ol
	Bmh6kybvhup5oi65d3wTG1Mee5l+DU0u6Pq+I+CvUVXJEiJoGmKL6xgj74w8H3Hw1soyfm
	ymvfFsSM5Mjy5AYCrk6t5WxdF76JQ18=
X-MC-Unique: O0FTAxZFPF-ItwC9JklhuQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=J7d/Me0xmBf7W3AnfLorAoV/El6kWMno2rsVKcNJgygpvpbkD9tdSduqpNiXDCV9eWbZC/foVPoccAbBIPO3VUX5n6g7v4/KKYWCsskkOMFZODaFUVjhfTuOs2U1lmOkkZ9AtxZDaLOrfc78/TunR1klTBshMDSRhmvyZkY0Ij6zyAVWmlaUt7SQSvJNujadAmjjv91OJpKvaxyHbw9EqIolafWXGA3tCHtb7IGs3wlfke20a0ecDi2ZOnnzF98jPybJyIRTalYv8FmMiMklkCQ/78O4bI3AIL4JekT6LI550iBdjfzeZ4/wgrO5GofbgoZwwkV/mI+rNzfjolqolg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tWcn8uZ8Zdep6qSbX+p9vR+nJm/6fhDokv9ZHP88qwI=;
 b=ctYqXzQzAZCbYpCCgs2QwAPYFSKqHbYN+cg0uYleRyCIdry1ua7Wo6h1dDOL4lGe6LQ/pL7Ri2z24Ms+1Git+CNWDUhiM7wH9+ww+zRrn6/OKsqs6bjTK++f+brnPBBq9Oxenn7XBz9WFA7Dex5g+s6PLKUfG5vUt6hssGTRLagVbXtZ/N9fwOQkQRlUoNQ1PsHfFxbiMmMXAQbqToKIvBiklAjXD1ZPeF+iMz/PZ/bYik5JrLAKY7eQ8ItGWjHghiAfinI1VVPD76Hn0MLtZwIe6TQguB9sCfuromdiQ1AZHYxnnnEzT3Px+a5hN6jII6edxB2ddLeIJfO6zDwTBw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [xen-4.12-testing bisection] complete
 test-amd64-i386-xl-qemuu-ovmf-amd64
To: Ian Jackson <iwj@xenproject.org>,
 Anthony Perard <anthony.perard@citrix.com>
References: <E1mHy0c-00059n-HR@osstest.test-lab.xenproject.org>
Cc: osstest service owner <osstest-admin@xenproject.org>,
 xen-devel@lists.xenproject.org
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <9e009e5d-41cf-71de-fed4-88a962b4ab66@suse.com>
Date: Mon, 23 Aug 2021 09:07:32 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <E1mHy0c-00059n-HR@osstest.test-lab.xenproject.org>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR2P264CA0044.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:101:1::32) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: aa7eaeff-77ba-4bb8-488f-08d96604ad63
X-MS-TrafficTypeDiagnostic: VI1PR04MB7024:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB702439EA8E983C6A93D5918EB3C49@VI1PR04MB7024.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	o0BrtnccNYbKiHzyYswbw1kpItPKIKI7BgAeQ9PduEJh0DcvTXlaCCnLHevRerTqJVlqHvDC5GAvJDgax2w0+9k+cT9rdC1Ls8Rj7DHLuFktU40JSX8AHWMDEqADLVVbSAgnyOfqhKICtvybAHjZH69ORrLvSYw9dEqW+hBWGQKffDvhKhvZEp1UeNyDKR+f3Yl+5d8HJcGOWd9nnKiAZvG9n3r5mXL8sVIpLs9aNLKZFFjVtHzkTHN5XxCvfk8tuSZPT/f5sIfDhFGe+wCyb/iSpUBVDdgwG4luQRO4y1DteQjsopY6hG/V6cHTgnv2kV+/CN/wxrYu0ZPROFrd9jsUpB7hOJ2TDWO3gjs+ZEdMRTzAOrtaJWDsfmAykMbkrX+NAKHBwT5WNaNtgm4hpEUCPz7yZPrGyX1zkcDBLDi7YKtnQggqKgURQp/eJqeQb+mheETupG22nbuoWhP/bo07bDK4v7J/s6uVMtW7H+knkYAQSj5D3lwNLNdb9xYoVrUhRwkBj3cGGNmkHf/M/yIj40xDflq9eHToC2PWpx4NmgfLDwhdjxl91ESraXIJp65d994Usd2cs4+VMwS98oNWEqbpkQiriGVQc/Jy39Q+VaXA92vMlRd4TKBqsp2tkzOCyuaFnpx2TvoKzaO2nbxUeEkieG0WEatpxNXfDn6cJ5zf6rBFKpEfk6NZFtpukNpaTTTX3MjYypJaEJ4x5zYg8iHeYWwI+Lhamu+470xiBhozh6vAPYFp25jpie92RP4v/t0K4OT4qdYXmfjWhz3JYaTuLaIG1Bcfdlu1LFmHaKoSowrbGgx6XYDsz0hz
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(39850400004)(366004)(396003)(346002)(376002)(31696002)(36756003)(26005)(2616005)(6486002)(956004)(83380400001)(186003)(31686004)(38100700002)(16576012)(8676002)(5660300002)(4326008)(8936002)(86362001)(53546011)(66946007)(110136005)(66556008)(66476007)(316002)(478600001)(966005)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ejBwSFVUaU1JTXEyRzIzVVh5QTI3czQ3Um5QSnNHbXg2dllIWXJzeDBIU2lO?=
 =?utf-8?B?OThDR3dqOHUrdi9iWC83M3BCRWhXK0RFRGpncUNxQmpBRzk1MHZGSHA4VDJz?=
 =?utf-8?B?OStROXpSRWdDTVdzS3JaNU9QT2Vwbm5PODNlcE12QlBESjdCdnBMQk9BcUx5?=
 =?utf-8?B?djc5L2M5YUlhTlZTcXo3MUt0UVJKVEFuS3FVT2pTZjBpOXgxV1dsVzBLUmFJ?=
 =?utf-8?B?empsWm9DVjZ6MUE0djVuZUJpakMwK21SMXhtcldidWgwRmk3SFByMk9zR3JL?=
 =?utf-8?B?bzRBYkxhODByMWhiRllRcFloS2pYQnNHVnVQN29DbVdieC9xdGpSN2wxM1pS?=
 =?utf-8?B?WHRoSmtWS2lDM1B2UVJ0MWR2SzJsUWpqeDdpRGpVaUFrT0QxaE5MLzBxMTk5?=
 =?utf-8?B?TGNyVE9PcXVsTjUvQ0VCeGh5cCtVOS8xZTBSc3M5aTlySGhwTW5Rb01YS2lH?=
 =?utf-8?B?VUpxU2VSYmpwZDlZdTMwMVhPYVpxZzNiZEZicnpBMmx0T2NDVmc2Q0Nock9n?=
 =?utf-8?B?bEZwWmMvY0JtR2ZLR24xbHRXQjJYVmJva2dhZUgrWWNlYkJubTAvSjVQb09v?=
 =?utf-8?B?QzB3LzdJOFdRbnh3R2MyNEJ6a0ZnOFhjQVhkS0l5ekJBeHE0aGZaQVVnS2Jw?=
 =?utf-8?B?clhYOTRqMEpPbjBPeXVUdHJwTElRcDdJVDBxOGpSeTEreHpLL1R6a1oxc2l3?=
 =?utf-8?B?OHUySE15SzczOStPSDNEZlpPMndiR0hlbG1iekxHZjlhYitpL2FuVndaV0x2?=
 =?utf-8?B?MEJ1L292K1FLZWlqTlp6K05QWTl3WVRpSmthMWZCZWhkcFNxVm5MbU8zemM2?=
 =?utf-8?B?N3NlVXJORFhxMWM1ZnhjaDV4djRudlJTZnhGR2kzdlVJMVJyd2dZdVl3Y3VQ?=
 =?utf-8?B?OUJubEdKbG95Y24rak5vaDFLb1FCQTVDK1lVWkpmZk5ucmhVTUtLb1czTVZX?=
 =?utf-8?B?K2ZVL3QvclRScXEvNm9zVjEwRlY0MDJtcks3TTdNRStmeXhxM3Q4aGdud3pa?=
 =?utf-8?B?RDFpbzZMbkhPUmwvRG9BTWFlVFdleGZBQ2s2MmJlVE1uVktvLzZ2S3BWWjhI?=
 =?utf-8?B?RSs4WUY2eTFKdUpBR3pMSGpSR1ZyVFc2UjY2YXJzNHY1b0dWOS9ydHE5Ymk5?=
 =?utf-8?B?Z2N3N2hRUjlSVFVwNFlPQ3NaZTBwS2YrN3dsVlozblhSZEVENWo2Yy9MWGFk?=
 =?utf-8?B?TC9tZGRicU00TjNqSStERkxxWTI2Y3hkYXNHTSsraC9xMTdmdFpDYW9VQ3Fm?=
 =?utf-8?B?Z2JnaHUzREZXeWtXSFNxemxoVmluMHE3Zkt4Ty9INFZtOE9DZE1XcGdjZ2pi?=
 =?utf-8?B?Rm93Sy9EN0JQNk12WFZHUEd6ckRaQXNhejQ2NkxZSW1UZmNGMW02UHE3MFFN?=
 =?utf-8?B?ajc3Y1pCZXRNZDFmSm82MEJja2U1V0sxVzVNelRuT0dITW9BNTJkMzRqQUJT?=
 =?utf-8?B?bld6clQyNkxhMkFEdCtUL3F3WThzWkJBTHhUQUJYUzhCRTVDQ1Y0UWhOZk1N?=
 =?utf-8?B?eUQ2SEFoNlAzUzVXZ0tTVnJjYUFQbkMwc2xsOTdQRFlQZWFtWG1adGFJWHFJ?=
 =?utf-8?B?WGY4ZHpxNTBFS0VHdFlBRHg2bGZhVUd3WEd3RVpXTGwzQzBSdHFWblFRWTJD?=
 =?utf-8?B?cDRxNk5JeUQzU0tVUFFZeW1GOU95V0dvRzN4N2FCd0dhdkxJYXN6TUwyTFVQ?=
 =?utf-8?B?Ym9tRVYxRUp0S1E2a2V6YXV0c0tiZHM3NmRveWR0Q1ZZM00xRGpQQ3hUUG5I?=
 =?utf-8?Q?5QGGQ3A4w+xS091njC09c/C+bdCn40xfLAkSKOp?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: aa7eaeff-77ba-4bb8-488f-08d96604ad63
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2021 07:07:32.6052
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /+WhpKG1+ANPZU0u66CgXx5T03VEBgoFGqFzm38fBoilZJTDUZDXO1NeXlCTnTZ4fBDGZbEA/Iz4I1eE9jiICA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7024

On 23.08.2021 02:40, osstest service owner wrote:
> branch xen-4.12-testing
> xenbranch xen-4.12-testing
> job test-amd64-i386-xl-qemuu-ovmf-amd64
> testid debian-hvm-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 git://xenbits.xen.org/qemu-xen.git
> Tree: seabios git://xenbits.xen.org/osstest/seabios.git
> Tree: xen git://xenbits.xen.org/xen.git
> 
> *** Found and reproduced problem changeset ***
> 
>   Bug is in tree:  ovmf git://xenbits.xen.org/osstest/ovmf.git
>   Bug introduced:  d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
>   Bug not present: 3357ac73807d83eb212632ee7c2e032a20a49c56
>   Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164383/
> 
> 
>   commit d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
>   Author: Laszlo Ersek <lersek@redhat.com>
>   Date:   Wed May 26 22:14:24 2021 +0200
>   
>       OvmfPkg/PlatformPei: remove Xen support

Uniformly from 4.15 through to 4.12 (the latter of which shouldn't have
been affected by whatever has been pulled in in the first place, given
it's a security-only branch, but with the OVMF commit to use being
hardcoded in ./Config.mk I don't really understand how a possible
change to the OVMF tree could have affected this version) tests are
now failing, everywhere with the above bisection result. Given that we
want to get out releases from the 4.15 and 4.13 branches right after
the batch of XSAs going public on Wednesday, something needs to be
done about this pretty soon.

Does osstest override ./Config.mk's choice? Albeit I guess even if it
does that's not outright wrong, and instead it would be bad if the
older versions wouldn't work anymore with an updated OVMF.

Thank you for looking into this,
Jan



From xen-devel-bounces@lists.xenproject.org Mon Aug 23 07:13:03 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 07:13:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170193.310863 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI48g-0008QR-Bu; Mon, 23 Aug 2021 07:12:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170193.310863; Mon, 23 Aug 2021 07: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 1mI48g-0008QK-88; Mon, 23 Aug 2021 07:12:58 +0000
Received: by outflank-mailman (input) for mailman id 170193;
 Mon, 23 Aug 2021 07:12:57 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=h1N0=NO=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mI48f-0008QE-1l
 for xen-devel@lists.xenproject.org; Mon, 23 Aug 2021 07:12:57 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 89986fbe-03e1-11ec-a864-12813bfff9fa;
 Mon, 23 Aug 2021 07:12:56 +0000 (UTC)
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur02lp2055.outbound.protection.outlook.com [104.47.6.55]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-29-KkW5To4XOVeW56LYqAwyqQ-1; Mon, 23 Aug 2021 09:12:53 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VE1PR04MB7360.eurprd04.prod.outlook.com (2603:10a6:800:1a3::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Mon, 23 Aug
 2021 07:12:52 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4436.024; Mon, 23 Aug 2021
 07:12:52 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR02CA0223.eurprd02.prod.outlook.com (2603:10a6:20b:28f::30) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Mon, 23 Aug 2021 07:12:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 89986fbe-03e1-11ec-a864-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629702775;
	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=Yu+aqojlU2uDBpz0VWJq++QkoONsKI9eDFOxdYeOFzM=;
	b=H+PbTwehk/t7uMoSOPrOoOIr//iheyCjbcQVAKJhq+5DlwYzpOAc+qL4TgGHbkL8jXJhs/
	4+hp9KruACxZtwnhMWlCHOONvd47dF58jd6fnmmCfy2fLbSA14oWGTNtUeoLYXnvbIRHzi
	VwKkkNq+F+0RV3ENzsp811pqXC/JXos=
X-MC-Unique: KkW5To4XOVeW56LYqAwyqQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=C4qTfxTz7CHU191WlVTo7Div4mz9c4ZuONTGiid/7OnkRCKw1+DDg2lbIQo+FaLJMotIniS5rjSVdfX9VGsxm8YY6MUWnfbznsQPAeAGHVkktFAsb+qdBJN5vJ+U3Q4au/0Pz5iDPOGno4TTsK8vS0hl0Rb+AgMzUs4DsMaYd3/7NhSvWOrAPc4CYOXlNE9poMbjW1wiHSRaq8gOUs+Gmsmc/usEKQz1KQ0oGzVHy3xqTNuh33z7EFhoBG9+HjIMOoo+VfkwVOwXlWlhVcBBsav1/F4w7xmrlAUcN6+dV4ZGQCyot4XJlhdnfVmZtB8eFHIHGuJC4yMfUXrcIzgEPg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Yu+aqojlU2uDBpz0VWJq++QkoONsKI9eDFOxdYeOFzM=;
 b=eB6mvZ0o5vNjM9qTXqewQxaXGnx3EkKSELQxXxovhuV8BkhV6WqlZY6Y9/EqpT2r/rKnS8aTH7VHlu945qDu7F0tDqyA+pCPW6nbzlbYnnSxBh06W7KXqIYJMB+sM6esp8s7vsqN6L+8zeQU6P6AN8m1Ot1OTsP7Ok3MrZ0tamytfsjdIruzNVznuCRRSQx2fJccEHraXGVR7Em5fGLZO57g35ST+c8OSrKRJ1rxt5bolxR5rnefU/IsmWeGV5jTbWRvuRgcSWRiuGUBzwsGXJjWZk5ihxCYPihyahgHXwD1RQ3oaTmSU4mHBDKAdykvHQ2iBewVIb60u5gHp7p3TA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: Xen C-state Issues
To: Elliott Mitchell <ehem+xen@m5p.com>
References: <YSEo9Box2AFnmdLZ@mattapan.m5p.com>
Cc: xen-devel@lists.xenproject.org
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <dea9cf97-9332-b1c9-2cff-d87564832529@suse.com>
Date: Mon, 23 Aug 2021 09:12:52 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <YSEo9Box2AFnmdLZ@mattapan.m5p.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM0PR02CA0223.eurprd02.prod.outlook.com
 (2603:10a6:20b:28f::30) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: bb43f555-f24a-4360-8abe-08d966056c04
X-MS-TrafficTypeDiagnostic: VE1PR04MB7360:
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB736053A63DD4220517B8725AB3C49@VE1PR04MB7360.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	pWCplJE3dDnvRsjE/WB+1qoUGb83vxKcJyFflFg6RZX91koEcQ0IYZzB/8bB0W9sSlmS1VhbiZ/97RLVC3pRWHuRaI+5bQuy3dkO0+9OKa/wEx/qVY69OoA5e6vigJgoh/Lc2/rEyBd1veEvz9jTrz0uS1dbDldWX7nrsJZpL0R0Xk3A0rWN8TAmJGW+z0l8RLWg1qbPCZ60ZAsxdU60xVwISRquXd0lkyMdLxUaqHJPOZf1bYK4vU3E+f9Ea0G92ef5hsClxoj/HZNEcfUqoynkTTVa7NeW0c/xBgtZd2htPGZE3840YnPzOjtX3UhEUgdeVaaybRmj9qHEuf7fEM/R0TuK+2PcnPLXwmyTYdV8fxISmelOSYjuRRF6JRgIe4RIiFBRAHpsshWZAl/Xi96ONgrMGAWCOiRnvrqrBngHCZhf7ocE0Ct0KP+6q3HX6cMWDSLB9LM7Srkr4jHBJI0pUV9DowcYBEMIdRnWodj4pwifoEz31rPt3Qnvv8km93ikmdD57NHvLWdiUvUTQR5KSSA5oBgZTCiZSxrMHRI9zFLUnnGPvkj55teOw8+WHJ8ZVaWAFIbEosY67CEr7Hsm4bPBvfDbBhyA5K0CyEeCKE24skE5oVQi9NDo7UAp6KIVICUgNqdBvxMuD2cEtf8ASX2ld7jQ9e6pUze+7A9ILmZQd9CwRUJL0/QFaSqPe4R3P0r4VjxI2UofYv3xeIbypnqKNET4isTqHjTtamE=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(396003)(366004)(136003)(39850400004)(376002)(8936002)(956004)(53546011)(2616005)(16576012)(186003)(38100700002)(26005)(36756003)(8676002)(6486002)(5660300002)(86362001)(31696002)(66556008)(66946007)(316002)(66476007)(4326008)(31686004)(478600001)(3480700007)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cEw4cTJBbnJmN3Qwc2RYRWJReTExNEdaZTFTdGlyRHhudHZoRVpZZ21rQnNw?=
 =?utf-8?B?UW42eEllSkhYOEh4V3VXSkkwZ3lyQm1mYkpvWlgxUE9aRTNuaVpGSWRxT3BB?=
 =?utf-8?B?V0tac0FKeTRMdlFUSlIyZW1UMWY2Q1QzN01TblZHeXRQNTNGRVpVYXRTb1Vs?=
 =?utf-8?B?cjBZMzJkeWhVQXh4cE1UYjdLbHNIUG9oaTc0eXk2cU00UXlHRmtoZGd3NEhh?=
 =?utf-8?B?bFliVFI3T2tGRTd6QkFhR2lTVkJSZ0svNlk4ZHFKbGt6M2wzcFVLS0s1K0dt?=
 =?utf-8?B?a0dXY0VDVUlWdE1PYWQ5R2EvNmRWL255S0VwMWdZZlZoMTdJYlVCTEZXTFRZ?=
 =?utf-8?B?RDNZVWNwVTRYQmErZnNBc2IyMGlTNWUvMzZJeTZJV25DanFySTdneHdyTWQv?=
 =?utf-8?B?TzBueGJUMmVKbXVJZEdwVHE5K1QzUEppTitDZ1FRaWdHV3ZIa2xrcktONW12?=
 =?utf-8?B?eTVQMS95RlNqeVA5QUx1ZUFEY0RlMVlRdnAzR0lmVWl5ckV0UUtwbTN6eCtP?=
 =?utf-8?B?N0tlcTFtYXhhZTkwcUd0UWpXdG94WFNTdGp5VXBYVnpTQkFyczlUYlNINndl?=
 =?utf-8?B?K1M2Mm92eEp2RlNDZmYvbThwV2E5eHFxVGNlL0xTSE9NR3B5emdlZWE1MUlJ?=
 =?utf-8?B?RHRRdlhlNDhCZ050M2dEVG9KR1dCVlZTdXhzY3JUMzhVVGdoZEpwSkN5RDcx?=
 =?utf-8?B?dndqbjAwVjgzUXNIQXFUa1ZGUGEyQUtjVGNVbzJpbThKY25YcW9Wc1JhLzlu?=
 =?utf-8?B?K3FPTGgxLzkvRGgwblg4TnJ4aHdpRzI2Um5Pcmxjd014NHhrRXFKMW9kL2hZ?=
 =?utf-8?B?aDRoblFLWEwvU21pcDdYUHJSZUJNNmVkMmxvV1MrSnBXUWplUnpJWjhvUFNP?=
 =?utf-8?B?QnRtVyt0R29SMERueDF2K0EyNm1TZHhoVEJDTkgxT0VVa0hLcTc1bEZEa1hB?=
 =?utf-8?B?MXNkREU1cXlpTmdKSHpnOW5xbEhDK1Y5M25DeUgySENMSUoxelg2bzNiZlI2?=
 =?utf-8?B?WXpJUUNOWDROMmFyZFBlSk5VMVNTQ3pIMkRldFNDUUVrV3kyYVRwWkxBTUNv?=
 =?utf-8?B?cWJyeiszQjVIUWF4MGhCNEhQSUN2MWg2QUFPYldnKzJrc2VJb2I0UTBmSGtl?=
 =?utf-8?B?UDQ0cXdXUmlWaWJibFJYV0taRXd4Rm1oZHVTdDg2TU1QVzJBbS9QYXpPdFJE?=
 =?utf-8?B?RHNHSEh3NE85T29RU2xHV0Z0ZnJMeERLblh2S3FhcGcvU2JYT0JZVDBzQk5D?=
 =?utf-8?B?VU5GUG84TW9rWldPZ1A0TG5Sem4xTElsdEVFWkdNN1IrZ1QrYlRETi9XMTdH?=
 =?utf-8?B?V2hTNFpKTmh2d3dOQmdBaGRSY0NKekF0ZWpjTUFPdHF1dGhPVEE4clNxNDFF?=
 =?utf-8?B?RkdpbVFpcWZxZ3lHK0E3YjJ0Z0pSTXgrQkplT2srRlp4M0VDQWJ5QUw5Y0ov?=
 =?utf-8?B?ZnQ3RkxRYUdBMUtRMkJSYW00WlVkOCthSFlPOUhjcjRTS0szeUtFLzd2eEZI?=
 =?utf-8?B?Z3hRcDRxdFBabzViL3MyaGw3SGZxUGVoTm5JSHFUQlJ0Y0IxN1lKeUNxeXU3?=
 =?utf-8?B?R1dRT25mVkpjb2VZVWk5N21MWlVUS1Rjd2pWNm0rcnpMdXFYTlRON0I4VGdZ?=
 =?utf-8?B?ZlFuR2d6QmxWb0pnVko3YlNqWnJjLzkvYnBFUUFRdzAwMHpBWjRvOEZjdldt?=
 =?utf-8?B?UWpVOE1kTXdJVFFMaUdzQ2pzNXp6Wk5taU5NVHBVMDRzcnRXNktFRHgxZzRw?=
 =?utf-8?Q?fAMO0PN7TanRoxrt0V+sjhjD4iZx/T8fcaeOD1m?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bb43f555-f24a-4360-8abe-08d966056c04
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2021 07:12:52.3731
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DmB0K1kN/LB+DskCSauh7d511k4p8IBD3LmXzedi5MLqaEA7ufYX0bNITuqeNHfDEd2OxHkfp8rZxVS8YvnSXw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7360

On 21.08.2021 18:25, Elliott Mitchell wrote:
> ACPI C-state support might not see too much use, but it does see some.
> 
> With Xen 4.11 and Linux kernel 4.19, I found higher C-states only got
> enabled for physical cores for which Domain 0 had a corresponding vCPU.
> On a machine where Domain 0 has 5 vCPUs, but 8 reported cores, the
> additional C-states would only be enabled on cores 0-4.
> 
> This can be worked around by giving Domain 0 vCPUs equal to cores, but
> then offlining the extra vCPUs.  I'm guessing this is a bug with the
> Linux 4.19 xen_acpi_processor module.
> 
> 
> 
> Appears Xen 4.14 doesn't work at all with Linux kernel 4.19's ACPI
> C-state support.  This combination is unable to enable higher C-states
> on any core.  Since Xen 4.14 and Linux 4.19 are *both* *presently*
> supported it seems patch(es) are needed somewhere for this combination.

Hmm, having had observed the same quite some time ago, I thought I had
dealt with these problems. Albeit surely not in Xen 4.11 or Linux 4.19.
Any chance you could check up-to-date versions of both Xen and Linux
(together)?

Jan



From xen-devel-bounces@lists.xenproject.org Mon Aug 23 08:00:25 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 08:00:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170207.310888 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI4sQ-0005nW-Ho; Mon, 23 Aug 2021 08:00:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170207.310888; Mon, 23 Aug 2021 08: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 1mI4sQ-0005nL-BF; Mon, 23 Aug 2021 08:00:14 +0000
Received: by outflank-mailman (input) for mailman id 170207;
 Mon, 23 Aug 2021 08:00: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 1mI4sO-0005mm-Hd; Mon, 23 Aug 2021 08:00: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 1mI4sN-0005bp-H6; Mon, 23 Aug 2021 08:00: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 1mI4sN-0004VI-AS; Mon, 23 Aug 2021 08:00:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mI4sN-0000SO-9o; Mon, 23 Aug 2021 08: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=pVDvNNRXOfSwO5Q8Lj198YVJ3wgIl37z37COXZFvlCQ=; b=ZIoOjkkLsYYeWeZibbKjxzWkR8
	HwcyfedCgyPlIQZSebPqa1ul9e8deVIB2yhjLo2aZadUSs554HEIMgN/9hWDqUzkLEljIqCjDyRSW
	BlLr/ZHzWrLPS/IMWYBxTi1FoVSmcj+01Kp/IBfvRtB3imQoy6OWW9g8A+pz6bE25++E=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164309-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 164309: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-examine:memdisk-try-append:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:allowable
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=93713f444b3f29d6848527506db69cf78976b32d
X-Osstest-Versions-That:
    xen=54c9736382e0d558a6acd820e44185e020131c48
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 23 Aug 2021 08:00:11 +0000

flight 164309 xen-unstable real [real]
flight 164403 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/164309/
http://logs.test-lab.xenproject.org/osstest/logs/164403/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-examine      4 memdisk-try-append  fail pass in 164403-retest
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 164403-retest

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds    18 guest-start/debian.repeat fail REGR. vs. 164237

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 164237
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164237
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164237
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 164237
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 164237
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164237
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 164237
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164237
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164237
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164237
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164237
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-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-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 xen                  93713f444b3f29d6848527506db69cf78976b32d
baseline version:
 xen                  54c9736382e0d558a6acd820e44185e020131c48

Last test of basis   164237  2021-08-18 07:24:21 Z    5 days
Failing since        164248  2021-08-19 03:12:07 Z    4 days    3 attempts
Testing same since   164309  2021-08-21 14:27:38 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Dario Faggioli <dfaggioli@suse.com>
  Ian Jackson <iwj@xenproject.org>
  Jan Beulich <jbeulich@suse.com>
  Jane Malalane <jane.malalane@citrix.com>
  Juergen Gross <jgross@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   54c9736382..93713f444b  93713f444b3f29d6848527506db69cf78976b32d -> master


From xen-devel-bounces@lists.xenproject.org Mon Aug 23 08:33:30 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 08:33:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170230.310949 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI5OV-0001qT-U8; Mon, 23 Aug 2021 08:33:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170230.310949; Mon, 23 Aug 2021 08:33: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 1mI5OV-0001qM-Qz; Mon, 23 Aug 2021 08:33:23 +0000
Received: by outflank-mailman (input) for mailman id 170230;
 Mon, 23 Aug 2021 08:33:22 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=bkyO=NO=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mI5OU-0001qE-8s
 for xen-devel@lists.xenproject.org; Mon, 23 Aug 2021 08:33:22 +0000
Received: from smtp-out2.suse.de (unknown [195.135.220.29])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id c5a205aa-03ec-11ec-a868-12813bfff9fa;
 Mon, 23 Aug 2021 08:33:21 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 2A7181FD90;
 Mon, 23 Aug 2021 08:33:20 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id C13FA13A12;
 Mon, 23 Aug 2021 08:33:19 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id tFkaLU9dI2FjZAAAGKfGzw
 (envelope-from <jgross@suse.com>); Mon, 23 Aug 2021 08:33: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: c5a205aa-03ec-11ec-a868-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1629707600; 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=nVMmg5e/QybRQpHPqYsBXcYu4l9nPxKjI4xTD9R0cRk=;
	b=Ef2PSIlCeGvAodf6grsZpKsvFTUeAJ1E5vTZFZds5xEGAhzH1PYjLeHl8d88/2G9uFbURz
	K3st55j+5RGFUOyOEmsTTk1VboiikUY/Y2cc5mCFL+PUk/TmWe0TpWtnbre7b8365CvvVx
	36fz2TGTIZm7ZUKj1BWYKiVXBKA5jUo=
To: CGEL <cgel.zte@gmail.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, x86@kernel.org,
 "H . Peter Anvin" <hpa@zytor.com>, xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org, Jing Yangyang <jing.yangyang@zte.com.cn>,
 Zeal Robot <zealci@zte.com.cn>
References: <20210823021353.44391-1-jing.yangyang@zte.com.cn>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH linux-next] arch/x86/xen/time.c: fix bugon.cocci warnings
Message-ID: <b7bd47d4-c83d-7f2c-ef6c-a309bf101745@suse.com>
Date: Mon, 23 Aug 2021 10:33:19 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <20210823021353.44391-1-jing.yangyang@zte.com.cn>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="s6tNo8rdvM0JfkAmHNrGgrKFkwgMIWJ1v"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--s6tNo8rdvM0JfkAmHNrGgrKFkwgMIWJ1v
Content-Type: multipart/mixed; boundary="ya1C52Jif3LNEhUlrq2WyMKUkHDhK5PUz";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: CGEL <cgel.zte@gmail.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, x86@kernel.org,
 "H . Peter Anvin" <hpa@zytor.com>, xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org, Jing Yangyang <jing.yangyang@zte.com.cn>,
 Zeal Robot <zealci@zte.com.cn>
Message-ID: <b7bd47d4-c83d-7f2c-ef6c-a309bf101745@suse.com>
Subject: Re: [PATCH linux-next] arch/x86/xen/time.c: fix bugon.cocci warnings
References: <20210823021353.44391-1-jing.yangyang@zte.com.cn>
In-Reply-To: <20210823021353.44391-1-jing.yangyang@zte.com.cn>

--ya1C52Jif3LNEhUlrq2WyMKUkHDhK5PUz
Content-Type: multipart/mixed;
 boundary="------------248CE5AC1254D59E682F13F6"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------248CE5AC1254D59E682F13F6
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 23.08.21 04:13, CGEL wrote:
> From: Jing Yangyang <jing.yangyang@zte.com.cn>
>=20
> Use BUG_ON instead of a if condition followed by BUG.
>=20
> Generated by: scripts/coccinelle/misc/bugon.cocci
>=20
> Reported-by: Zeal Robot <zealci@zte.com.cn>
> Signed-off-by: Jing Yangyang <jing.yangyang@zte.com.cn>
> ---
>   arch/x86/xen/time.c | 20 ++++++++------------
>   1 file changed, 8 insertions(+), 12 deletions(-)
>=20
> diff --git a/arch/x86/xen/time.c b/arch/x86/xen/time.c
> index d9c945e..6e29b69 100644
> --- a/arch/x86/xen/time.c
> +++ b/arch/x86/xen/time.c
> @@ -210,8 +210,7 @@ static int xen_timerop_set_next_event(unsigned long=
 delta,
>   {
>   	WARN_ON(!clockevent_state_oneshot(evt));
>  =20
> -	if (HYPERVISOR_set_timer_op(get_abs_timeout(delta)) < 0)
> -		BUG();
> +	BUG_ON(HYPERVISOR_set_timer_op(get_abs_timeout(delta)) < 0);
>  =20
>   	/* We may have missed the deadline, but there's no real way of
>   	   knowing for sure.  If the event was in the past, then we'll
> @@ -241,11 +240,10 @@ static int xen_vcpuop_shutdown(struct clock_event=
_device *evt)
>   {
>   	int cpu =3D smp_processor_id();
>  =20
> -	if (HYPERVISOR_vcpu_op(VCPUOP_stop_singleshot_timer, xen_vcpu_nr(cpu)=
,
> +	BUG_ON(HYPERVISOR_vcpu_op(VCPUOP_stop_singleshot_timer, xen_vcpu_nr(c=
pu),
>   			       NULL) ||

Please adjust the alignment of the continuation line (i.e. insert 2
blanks). Same below.

Even better would be to avoid the repeated "xen_vcpu_nr(cpu)" by
using "int vcpu =3D xen_vcpu_nr(smp_processor_id());" leading to the
possibility to not need the continuation lines at all.

> -	    HYPERVISOR_vcpu_op(VCPUOP_stop_periodic_timer, xen_vcpu_nr(cpu),
> -			       NULL))
> -		BUG();
> +		HYPERVISOR_vcpu_op(VCPUOP_stop_periodic_timer, xen_vcpu_nr(cpu),
> +			       NULL));
>  =20
>   	return 0;
>   }
> @@ -254,9 +252,8 @@ static int xen_vcpuop_set_oneshot(struct clock_even=
t_device *evt)
>   {
>   	int cpu =3D smp_processor_id();
>  =20
> -	if (HYPERVISOR_vcpu_op(VCPUOP_stop_periodic_timer, xen_vcpu_nr(cpu),
> -			       NULL))
> -		BUG();
> +	BUG_ON(HYPERVISOR_vcpu_op(VCPUOP_stop_periodic_timer, xen_vcpu_nr(cpu=
),
> +			       NULL));

See above.

>  =20
>   	return 0;
>   }
> @@ -373,9 +370,8 @@ void xen_timer_resume(void)
>   		return;
>  =20
>   	for_each_online_cpu(cpu) {
> -		if (HYPERVISOR_vcpu_op(VCPUOP_stop_periodic_timer,
> -				       xen_vcpu_nr(cpu), NULL))
> -			BUG();
> +		BUG_ON(HYPERVISOR_vcpu_op(VCPUOP_stop_periodic_timer,
> +				       xen_vcpu_nr(cpu), NULL));

See above.


Juergen

--------------248CE5AC1254D59E682F13F6
Content-Type: application/pgp-keys;
 name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Transfer-Encoding: quoted-printable
Content-Description: OpenPGP public key
Content-Disposition: attachment;
 filename="OpenPGP_0xB0DE9DD628BF132F.asc"

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOBy=
cWx
w3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJvedYm8O=
f8Z
d621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y=
9bf
IhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xq=
G7/
377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR=
3Jv
c3MgPGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsEFgIDA=
QIe
AQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4FUGNQH2lvWAUy+dnyT=
hpw
dtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3TyevpB0CA3dbBQp0OW0fgCetToGIQrg0=
MbD
1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbv=
oPH
Z8SlM4KWm8rG+lIkGurqqu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v=
5QL
+qHI3EIPtyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVyZ=
2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJCAcDAgEGFQgCC=
QoL
BBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4RF7HoZhPVPogNVbC4YA6lW7Dr=
Wf0
teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz78X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC=
/nu
AFVGy+67q2DH8As3KPu0344TBDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0Lh=
ITT
d9jLzdDad1pQSToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLm=
XBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkMnQfvUewRz=
80h
SnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMBAgAjBQJTjHDXAhsDBwsJC=
AcD
AgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJn=
FOX
gMLdBQgBlVPO3/D9R8LtF9DBAFPNhlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1=
jnD
kfJZr6jrbjgyoZHiw/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0=
N51
N5JfVRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwPOoE+l=
otu
fe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK/1xMI3/+8jbO0tsn1=
tqS
EUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuZGU+wsB5BBMBAgAjBQJTjHDrA=
hsD
BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3=
g3O
ZUEBmDHVVbqMtzwlmNC4k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5=
dM7
wRqzgJpJwK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu5=
D+j
LRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzBTNh30FVKK1Evm=
V2x
AKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37IoN1EblHI//x/e2AaIHpzK5h88N=
Eaw
QsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpW=
nHI
s98ndPUDpnoxWQugJ6MpMncr0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZR=
wgn
BC5mVM6JjQ5xDk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNV=
bVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mmwe0icXKLk=
pEd
IXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0Iv3OOImwTEe4co3c1mwARA=
QAB
wsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMvQ/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEw=
Tbe
8YFsw2V/Buv6Z4Mysln3nQK5ZadD534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1=
vJz
Q1fOU8lYFpZXTXIHb+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8=
VGi
wXvTyJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqcsuylW=
svi
uGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5BjR/i1DG86lem3iBDX=
zXs
ZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------248CE5AC1254D59E682F13F6--

--ya1C52Jif3LNEhUlrq2WyMKUkHDhK5PUz--

--s6tNo8rdvM0JfkAmHNrGgrKFkwgMIWJ1v
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmEjXU8FAwAAAAAACgkQsN6d1ii/Ey8f
Dwf8D84OgGeNV0bi06jFlOyMYbS7AGSU05dH/UGTMEB60geoI5dcI7ZDmiPQF/JRkiXPBTdO8auh
v1EI6TvOhBc09P6Sq9cMQz+DiWZgarxibaxXoP9XyPh8lNll69GlKk+briE6wanmaCcVROLnuOoU
GsGH8KslsfjqylqqJGIbvKNVY2yvh8qCYPNUbN0TW2vYTySKlCcl6NsGU3l0QNyBwkfPSZW5Uovp
Fze7bXXGOTzH/S4zP9+Agvzf6bBmfwPHJ2BTDdadKLlMnvIPmpOKdMHXs3AFG8E4FXIIFHDxco5j
TwO/dVB1D58hzGmfGeR8xsI2ao/SUDvtlb5JwyyP2w==
=fZCz
-----END PGP SIGNATURE-----

--s6tNo8rdvM0JfkAmHNrGgrKFkwgMIWJ1v--


From xen-devel-bounces@lists.xenproject.org Mon Aug 23 08:42:58 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 08:42:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170235.310960 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI5Xh-0003UD-SK; Mon, 23 Aug 2021 08:42:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170235.310960; Mon, 23 Aug 2021 08: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 1mI5Xh-0003U6-On; Mon, 23 Aug 2021 08:42:53 +0000
Received: by outflank-mailman (input) for mailman id 170235;
 Mon, 23 Aug 2021 08:42:52 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7cRX=NO=aepfle.de=olaf@srs-us1.protection.inumbo.net>)
 id 1mI5Xg-0003U0-26
 for xen-devel@lists.xenproject.org; Mon, 23 Aug 2021 08:42:52 +0000
Received: from mo4-p01-ob.smtp.rzone.de (unknown [81.169.146.166])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 8fb71afe-5b1b-4174-b2c1-a634a3c67521;
 Mon, 23 Aug 2021 08:42:50 +0000 (UTC)
Received: from sender by smtp.strato.de (RZmta 47.31.0 AUTH)
 with ESMTPSA id 50780dx7N8gc5qD
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits))
 (Client did not present a certificate);
 Mon, 23 Aug 2021 10:42: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: 8fb71afe-5b1b-4174-b2c1-a634a3c67521
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1629708159;
    s=strato-dkim-0002; d=aepfle.de;
    h=References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date:Cc:Date:
    From:Subject:Sender;
    bh=mPdVfYoYtI/rQDFLSMCqbNQeID8JCRPRWzHS1x4KQc0=;
    b=TPPQnieOJ6Pb4heuqF1fSYoEg4xv0rGNO3VJ2ebbaFaoQYMbL4oIfhCFGpBKMt9P85
    lAyrKD3R5T/lKcpKOV7XVdwhod3+Wb6HraSJkf5MHL2CMwd+8qQ9TCaqWmG01eiPOBxa
    sJI3c/tMrfBinv0q/1T2ZGUNjvmxfDQJEEBO62ikTT+Atn/CngahVAS9ltQTFN+8BJ0A
    +EC7K/ptSOWNTmsuQD4q8Oe8xsvN8boVUpEWPPEnAUXtvpqr6xjFuVWhuvkB0PPKoH+n
    Ffpq7W0eWbVYpAaYqeuY34oN8kDbh5bH+rH2XdI4NY3tU2yaGPgn2/STXrzUxrO4pcXJ
    bWiw==
Authentication-Results: strato.com;
    dkim=none
X-RZG-AUTH: ":P2EQZWCpfu+qG7CngxMFH1J+3q8wa/QLpd5ylWvMDX3y/OuD5rXVisF0Bx6Ea03stVRsAR9aZ79uaPClvCLmExvdWpq0"
X-RZG-CLASS-ID: mo00
Date: Mon, 23 Aug 2021 10:42:31 +0200
From: Olaf Hering <olaf@aepfle.de>
To: Ian Jackson <iwj@xenproject.org>
Cc: Jan Beulich <jbeulich@suse.com>, "xen-devel\@lists.xenproject.org"
 <xen-devel@lists.xenproject.org>, 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>
Subject: Re: preparations for 4.15.1 and 4.13.4
Message-ID: <20210823104231.3a960057.olaf@aepfle.de>
In-Reply-To: <24862.35556.514963.249704@mariner.uk.xensource.com>
References: <48cc22b9-6d0a-2cfc-ce34-6aabeb84b160@suse.com>
	<20210715161157.7e85ed9e.olaf@aepfle.de>
	<24862.35556.514963.249704@mariner.uk.xensource.com>
X-Mailer: Claws Mail 2021.08.10 (GTK+ 2.24.32; x86_64-suse-linux-gnu)
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="Sig_/HchlfDD6JuMNlH4j=xRSrCS";
 protocol="application/pgp-signature"; micalg=pgp-sha256

--Sig_/HchlfDD6JuMNlH4j=xRSrCS
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

Am Thu, 19 Aug 2021 17:46:28 +0100
schrieb Ian Jackson <iwj@xenproject.org>:

> I would be happy to take fixes like these for stable branches.  I
> tried a git cherry-pick but it didn't apply.  Would you like to supply
> backports ?

This script worked for me in staging-4.13:

set -ex
git cherry-pick -ex e54c433adf01a242bf6e9fe9378a2c83d3f8b419
git cherry-pick -ex 76416c459c


Olaf

--Sig_/HchlfDD6JuMNlH4j=xRSrCS
Content-Type: application/pgp-signature
Content-Description: Digitale Signatur von OpenPGP

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEE97o7Um30LT3B+5b/86SN7mm1DoAFAmEjX3cACgkQ86SN7mm1
DoDZow//RCLFV63W27kRW2Oan80gjfR5LuAkQ60N7WV1CDgsMFrU3usMuUmikZ8e
A1wiY7123Nb8rQEiXNSHiwJl46XaQxcXNu7TXIg+nWjJfhnQFlbg0djydObVdys7
6gRUBBQicBP8Hq4BSsy4C3pAeTNcT3vcyPiOjR1/qbMqu6Y5DiivZcV7MPzQ8nso
s/qOJhr2sMiQve0WoASFfSaQEQqcsjqwG1PfsnVmZ0Oi3mxcjHFPpZNZR8DPv0gu
d1Iy9IkW4u5ucACzmTZVM5EPbyo1pGIFAXTbU6mCYcgodG1Dh5PD+ApqVlnFDJi3
bnodyCzZt2QQdm9Lk8MOTvqJOsSmnTRrH68VPwJLNU6Y+0POmdOAzNPY4/eiYcpR
gjo45stYsRKAXHTi8nBoHnHbGltxWlo8d1vtlqJFWItaLvRCX0SuDswmMqLsOhO9
EVA+cw0fbiQZrWhxrm2eWEUHa6xW9DXgn2Y20V+oJiCwEAfych928vZPBxFp73V1
mhIVDDZsf/rY9YuTZ84Qif+iX0FWTu25h7A6QpFLZcXWRkMC9c77aZerNTCg/Su/
t5aaEE7F5zjG85OSA0hmeSiqhS5GZ7diA95NNwjm2L633IOYweU94qkaVTyOED11
E6vWDVNwShIUgtcMv+A4jjQms4rqEGOSlP9svHuoGrRxD3Id5Y4=
=GB1w
-----END PGP SIGNATURE-----

--Sig_/HchlfDD6JuMNlH4j=xRSrCS--


From xen-devel-bounces@lists.xenproject.org Mon Aug 23 08:42:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 08:42:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170236.310971 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI5Xm-0003lc-4T; Mon, 23 Aug 2021 08:42:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170236.310971; Mon, 23 Aug 2021 08:42:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI5Xm-0003lV-0w; Mon, 23 Aug 2021 08:42:58 +0000
Received: by outflank-mailman (input) for mailman id 170236;
 Mon, 23 Aug 2021 08:42:57 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HaWV=NO=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mI5Xl-0003kz-50
 for xen-devel@lists.xenproject.org; Mon, 23 Aug 2021 08:42:57 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com (unknown
 [40.107.22.45]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 1b19a2b3-03ee-11ec-a869-12813bfff9fa;
 Mon, 23 Aug 2021 08:42:54 +0000 (UTC)
Received: from AM5PR0602CA0008.eurprd06.prod.outlook.com
 (2603:10a6:203:a3::18) by HE1PR0802MB2267.eurprd08.prod.outlook.com
 (2603:10a6:3:ce::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Mon, 23 Aug
 2021 08:42:52 +0000
Received: from AM5EUR03FT049.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:203:a3:cafe::ed) by AM5PR0602CA0008.outlook.office365.com
 (2603:10a6:203:a3::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Mon, 23 Aug 2021 08:42:52 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT049.mail.protection.outlook.com (10.152.17.130) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Mon, 23 Aug 2021 08:42:51 +0000
Received: ("Tessian outbound f11f34576ce3:v103");
 Mon, 23 Aug 2021 08:42:51 +0000
Received: from 3cef2f3ece4e.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 70C1D05C-324B-4FC1-A881-EF92049DF063.1; 
 Mon, 23 Aug 2021 08:42:44 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 3cef2f3ece4e.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 23 Aug 2021 08:42:44 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB6PR0801MB1767.eurprd08.prod.outlook.com (2603:10a6:4:2e::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Mon, 23 Aug
 2021 08:42:42 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.024; Mon, 23 Aug 2021
 08:42:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1b19a2b3-03ee-11ec-a869-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=T1pkVL8K5qZgRRoA+z/hH++1DUNfMlc5B3covajGPac=;
 b=uolFweWLZ9Z4rVb3I/9TTt1nrN2CBngeTycqOZpRlGSN+L3LMFB0v5T3NVqbgACs36G48wj9fYmqs2g0YASDukMr9xkyqF3NEsO582mJBY0dE4ClBH9+lxFegzR4wR/EBf4V0QwvPIpIJv5UN2BeDAcwd3vjbY5IEsCLhUIDGlQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YYKtuQv6YX9SHMsMA6fRcc5es2x0jC14SMpMM/n6NpO4GyIkAy8JgsTE3oJl4LJ56WYjZccsJchJpYyLDPy8bO0Y70lNpljrKPzmI6uJgHjOW/8eyTpSGqhww9AM+5gfvEhzbMGIf9WsDeFtQaH0ZgrGuuR4xtqJ2PeEGGfcFhdMcIXw4B2zdpKhJh9z6Rgtm54cnZAScOYygZ47+tVWNIEehL6hL8UMhgT7YB7WUBXNhZc8JKfSalqlQa2Q/x7iq+fG7fGDq09z7xXDHvxcRdxFINP7k9WOIE+LH0eWwd8GqUSxsn6lZHl0T7fqIwEeuNIQnp5SxGPi+d/g/TAKZg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=T1pkVL8K5qZgRRoA+z/hH++1DUNfMlc5B3covajGPac=;
 b=dICoyaBRDnySgnpDW75IJ0+f/QP7LlFXHxRyBCxDbN4Ku4phuuF5jiUQgsHxj+MNPPq/lLgy0x0x9Gf3DASIHhvd3q3IDlBz4q81dca/peSAle+QgpwbBRmUwYc7BA1OsQWqBsyJR+x3IKRLtGAab7hMy4kRi/phZV5N2W2rgFzxEWzmoxr+XhsSG79aGYpcNLrjCh6m+NqiuvRJuFDh1eYgTfFs14VMj44CH+RydmxTlNRA93rYud9uA9eCHo85egwnCrPiSj6lYgUoWBaMoiyJVVMromkmjnwRakc+88R1bwLTwHJRDQib0Qe4MeXxleC61Pcq9G6iLTb4aBFonw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=T1pkVL8K5qZgRRoA+z/hH++1DUNfMlc5B3covajGPac=;
 b=uolFweWLZ9Z4rVb3I/9TTt1nrN2CBngeTycqOZpRlGSN+L3LMFB0v5T3NVqbgACs36G48wj9fYmqs2g0YASDukMr9xkyqF3NEsO582mJBY0dE4ClBH9+lxFegzR4wR/EBf4V0QwvPIpIJv5UN2BeDAcwd3vjbY5IEsCLhUIDGlQ=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>, "jbeulich@suse.com" <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 22/40] xen/arm: introduce a helper to parse device
 tree processor node
Thread-Topic: [XEN RFC PATCH 22/40] xen/arm: introduce a helper to parse
 device tree processor node
Thread-Index: AQHXjps9W9pBfq916EKAfG5ObJRyjat7LYKAgAWqNNA=
Date: Mon, 23 Aug 2021 08:42:42 +0000
Message-ID:
 <DB9PR08MB685790C47B160B962CBADD309EC49@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-23-wei.chen@arm.com>
 <a7f544ce-405d-caee-0a49-30f87c513b47@xen.org>
In-Reply-To: <a7f544ce-405d-caee-0a49-30f87c513b47@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: EECE1C190A05DC469B8FCE8D47741C76.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 6be28ba0-fb47-467a-9a44-08d96611fe45
x-ms-traffictypediagnostic: DB6PR0801MB1767:|HE1PR0802MB2267:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<HE1PR0802MB2267DB2BAEA9DA55DFF62DC29EC49@HE1PR0802MB2267.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 NJ3/9Up/8BWakbzX3hrrg2paCQNx2yV+mY2AG2/AqA0OIW1085SK1P2XcAaKiJMGMTqquD2hn+57JCfjE5DAGBm7biA7sasi0tqHId4hTccbQBTKvab4nHz4oM0J8yKkQwhly5AyqTIp80lDibClWWZzDrZfygU8f4thwqzfmWrbcjI6PWaebWXwOpaZ+Yn1gdhiLkVGP50++CNlUeHuOeKvIY86n9KO/mOKO9WlwpwKQTg1M53xwC766yRnNhWScA0Sh1U4XaL9hkS5BRUpmXNOTUzVUDVmIBTYuQbOwHVxpt/qSqbe03Gcjj41jH2hp91NiXH7RnsnNkJO1vPkFm79EPyKURisc9ONMBuFh0zkU1SeZVw8/nHjWEZxRKKOExJT4yPyGiKWJHXGSXg/UByFk50pI0J0O4XuEVzjCmhtAjT2rRDDtvTsur86H8HTsOg+Be48MwQpHJ6Eyr32jBFlOMBR2amro2g38UV9CYkZvmeWwzzmbK05N6eWWN1MqVzkPpqFyVnfmhdE30FOIlaZGw3MlJE+NCvZPcnKv4B3QJAj1Jz7zfbIjULNaNVQluagJUu1EnEhxNk++5ztXkUqqQn/snqBTVzGYBoGcz3SgCbx/POTCvorSW3mfeKdQSeKMR7W8BESlcGG+8vGSszBMaPu7g9gkrfIv8UGLUtdcTC+hMY2WvEGjrxR4WSheXm/JQiI4WqOak4dC5nU8g==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(39850400004)(136003)(346002)(396003)(376002)(366004)(110136005)(83380400001)(8676002)(186003)(55016002)(9686003)(33656002)(5660300002)(38070700005)(316002)(2906002)(66556008)(71200400001)(53546011)(6506007)(38100700002)(26005)(8936002)(76116006)(52536014)(66446008)(478600001)(64756008)(122000001)(86362001)(66946007)(66476007)(7696005)(4326008);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?R3dTREFkL1FVdjJ5aEhoY2Y0SGxHeVBkVGliOWZtS2YwSGpvMkd2aVM2eWYv?=
 =?utf-8?B?a0hmMFRUZFI5blVtQUpXb3hOSXVWMlpjc0xFcDMzR0FXaXFxdlNjZWl2MjdZ?=
 =?utf-8?B?UWVmQWQ1WGJ0NDZKTVVuR1B1S29tQm5vWkd2NURaRUpPUGk4QjM0N0hTRzVu?=
 =?utf-8?B?RGxmMGVyNnF5cGNnanBPR3VYTlNabENHUnZjdkFBd2tDbE1HbjdGbUFYQis0?=
 =?utf-8?B?a1NxOUZHTmVza2J2aVlyeEZadzE4eWNyZTdKRU5yVm0wcWpMczBkaXpjNGhn?=
 =?utf-8?B?QnpTVVl0TXE0TkVPZE5BNU9va2d0NE5DZVVVOEgzbll5SWQvdXFMbVJnOCs0?=
 =?utf-8?B?WXpmVUFwQk9DMUU2K1RNdnBBRDJHUUpheU1GOXdoaHlaYWp2K1Y0YXlRT2Fi?=
 =?utf-8?B?T1FvU0pMK0FjaWlXbkdJK1RtZ1FlelhmYUo3aVdPTXQ2SnU2dVJUcmV1WnNT?=
 =?utf-8?B?TVNQRFpvWFFyc25nUndIRnVTZVpYSUVKVG1LZllyMXgyMERYQnBTUUsxU0Jq?=
 =?utf-8?B?eXhZMGduNHBxRldTaXdIODJodU5aeUk5QnZESUtUSm9BcnhQVzRidnVDTnM2?=
 =?utf-8?B?cDhlQ1o1aGtIQXVGUENwdEhjNllTN0tQaXdKQVhRMDhQZTVCUzVSQ2VJSzdQ?=
 =?utf-8?B?VEZCQUFCSVZtdWF0SXkxTnBSWlBVUURBcFJuYkVNNjZSZWZtWmQ5Y0l3TjU5?=
 =?utf-8?B?ODRvWENkTVdVZGkwTCtyUm5vMjJWY3JYS1JEekZWdjYzYndYd1VUbXpPUEVZ?=
 =?utf-8?B?OWlCaTZWQWxkYkhBd00yVmlmalI5ZkpEN3RjdkZ6Ui9FNlR1MmdjTDBNQmxx?=
 =?utf-8?B?aElxZnM4WmVGSXpHK29YZ2hsYkRPMDR4MjI3L2lHcVV6bTNkWXRxdVNUSFN0?=
 =?utf-8?B?aERTbHM2a3l0eHhJTjVJTnR3RGxHOCtXa25CaGpSU0xDeWFYWHlFTmJEN09v?=
 =?utf-8?B?YlR1bERtS1cwcUwzd2hIbzQ5QVVSYTZtZ2pGNGIzNkpQL0JQT1h4aDNjaVVk?=
 =?utf-8?B?WWhIY1BFaDBmSVFZeXJ6MHY2eTZ5MGlleG00Q3dzeXZQeExsQ01zWGNwdEhw?=
 =?utf-8?B?VDVDZTBCY1NwR2Q5UzFXaWh1WWtvejUyd3FqdXpKbk0xUlk5cFNTZ3pndEto?=
 =?utf-8?B?cXdjU2ZVVVYvNHpodWhBZlFMUEZRcFFyZWZLd1pDb0E2VTYvRzhNZE0rWXFJ?=
 =?utf-8?B?bmt6WFAxdzJaTG9uTFBSK25KRnNEYkwvR3RqNWpJQmRIelRIamNLdjY3dmgr?=
 =?utf-8?B?OVViREcxT1dmZW9aOWVsSGNZZEplTjBJZWMrd0VWWDgvOEQ2U0FabUtkMktL?=
 =?utf-8?B?Y1k0RHdXa0dPTmZiT3R2bmdZYTduMEZ0K3UrT1JGak9OYzlTR0pIR0pSbXdv?=
 =?utf-8?B?Z2l0a3BXVHoybDhjTEJPVi9ZWHB2UWdUZ250QTRXUTZ5NkFDb2tJd1RNVkdX?=
 =?utf-8?B?M2FxbHZydlBwQlk0V01zcGs3R0F4cmcxWTRjaWw5YlBjbVZzZVZSRHRlUE5h?=
 =?utf-8?B?aFFEbTd5cDR6SzYrczZuZVlxbnUrRGo2b0lqLytVa0hVSWNKbUdzTDJoYUNP?=
 =?utf-8?B?R0JXdDE4QXZTSGRDTllkUFQ3OXB4Mk1UZmZ5SFhhRG9nQ1NvbkxPenU1TkVl?=
 =?utf-8?B?dzVjSy9yQURnZHhxa0pLdlpJTXc0ZWJ2eFRlZmdDSWVMR1I4WFFHWEdRL0Mv?=
 =?utf-8?B?ek9OM2p6L05BNjRtbnlUS2I4WGs3RXFwZURVWFFFWnBKblQrZUdRT0dWTFd5?=
 =?utf-8?Q?3LvlDFXl/ZwccDy249aHooiAjxOBizqC2PFw7gU?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB1767
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT049.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	7f55b52d-16bc-46da-6b04-08d96611f8da
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	K3oKBRHY90uj3kOdDsrgx7Z+0wvIeDCrAtqRJdQORNJKvqOWrO0fqAOnGNcg5dh7Zev5G/XMXnj4Eg5Sm+3UMe/k87pl6BPzUgS80tzBumrV2tlqECvdKI6ZLN4p7KX3PmXWk+KbP5t8+Hy7EKwy8NlWsgiFKGyVjhY6B9MZNTeWN5Nus0tCj951JeYxHJNizFoQfw9MpxaKJN04XqmdHS8SOWMGGaTliV54f5VMPYcX0FFl7ckBMNNI/H7y8MjlnX6yTmUNhurZW24DndsVRUVUDXL5cWAL1+/OZFR6mHvvN1qdWXsAq/46QwZ7WeiYgRSB5YDg+ZVcN2LN+Lgr4XFUHHhtbPLdheBu+OLikllKjjEeBNuy8eIjhUGNlizamvA8ZrYaXx1d9v4vT6FRJmUyvw0+AvrrXn7KfJ0AWZQruz7rMoz49LFf8hvnqG1cng4jy+1BQnOaw1NQPdhtZnrt0R7wXBh7xVB9/RHzNQqgrRdFUfGrnOWlpclmW8IZtmg/HnKeFb4rCQxRyNXZPrVhG2NVG4lTLpJNHOj+5fXyBNJd/wDXqFYe3Pl0MO/OMKAblmsQYc93UtkrCl+CK1+qNLuOt3x5hIP8iUTiZ2OKM9ZjwSAQKVLyvK5DHWrtLPdDI61YTj57uhhWpCvEyqcrVXAenqhZZCH8SYbdTSpW4IcZ01UmsY8ICUjJuFTo6/Qgm5nffJUFtNxKf3RDZA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(39850400004)(346002)(396003)(136003)(376002)(46966006)(36840700001)(55016002)(83380400001)(9686003)(110136005)(478600001)(52536014)(2906002)(186003)(4326008)(336012)(36860700001)(47076005)(33656002)(82310400003)(8676002)(86362001)(26005)(6506007)(53546011)(82740400003)(7696005)(81166007)(5660300002)(70586007)(8936002)(316002)(356005)(70206006);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2021 08:42:51.5418
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6be28ba0-fb47-467a-9a44-08d96611fe45
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT049.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0802MB2267

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMjDml6UgMjoxMA0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+OyB4ZW4tZGV2ZWxAbGlzdHMueGVucHJv
amVjdC5vcmc7DQo+IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc7IGpiZXVsaWNoQHN1c2UuY29tDQo+
IENjOiBCZXJ0cmFuZCBNYXJxdWlzIDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+DQo+IFN1Ympl
Y3Q6IFJlOiBbWEVOIFJGQyBQQVRDSCAyMi80MF0geGVuL2FybTogaW50cm9kdWNlIGEgaGVscGVy
IHRvIHBhcnNlDQo+IGRldmljZSB0cmVlIHByb2Nlc3NvciBub2RlDQo+IA0KPiBIaSBXZWksDQo+
IA0KPiBPbiAxMS8wOC8yMDIxIDExOjI0LCBXZWkgQ2hlbiB3cm90ZToNCj4gPiBQcm9jZXNzb3Ig
TlVNQSBJRCBpbmZvcm1hdGlvbiBpcyBzdG9yZWQgaW4gZGV2aWNlIHRyZWUncyBwcm9jZXNzb3IN
Cj4gPiBub2RlIGFzICJudW1hLW5vZGUtaWQiLiBXZSBuZWVkIGEgbmV3IGhlbHBlciB0byBwYXJz
ZSB0aGlzIElEIGZyb20NCj4gPiBwcm9jZXNzb3Igbm9kZS4gSWYgd2UgZ2V0IHRoaXMgSUQgZnJv
bSBwcm9jZXNzb3Igbm9kZSwgdGhpcyBJRCdzDQo+ID4gdmFsaWRpdHkgc3RpbGwgbmVlZCB0byBi
ZSBjaGVja2VkLiBPbmNlIHdlIGdvdCBhIGludmFsaWQgTlVNQSBJRA0KPiA+IGZyb20gYW55IHBy
b2Nlc3NvciBub2RlLCB0aGUgZGV2aWNlIHRyZWUgd2lsbCBiZSBtYXJrZWQgYXMgTlVNQQ0KPiA+
IGluZm9ybWF0aW9uIGludmFsaWQuDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBXZWkgQ2hlbiA8
d2VpLmNoZW5AYXJtLmNvbT4NCj4gPiAtLS0NCj4gPiAgIHhlbi9hcmNoL2FybS9udW1hX2Rldmlj
ZV90cmVlLmMgfCA0MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0NCj4gPiAgIDEg
ZmlsZSBjaGFuZ2VkLCAzOSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQ0KPiA+DQo+ID4g
ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9udW1hX2RldmljZV90cmVlLmMNCj4gYi94ZW4vYXJj
aC9hcm0vbnVtYV9kZXZpY2VfdHJlZS5jDQo+ID4gaW5kZXggMWM3NGFkMTM1ZC4uMzdjYzU2YWNm
MyAxMDA2NDQNCj4gPiAtLS0gYS94ZW4vYXJjaC9hcm0vbnVtYV9kZXZpY2VfdHJlZS5jDQo+ID4g
KysrIGIveGVuL2FyY2gvYXJtL251bWFfZGV2aWNlX3RyZWUuYw0KPiA+IEBAIC0yMCwxNiArMjAs
NTMgQEANCj4gPiAgICNpbmNsdWRlIDx4ZW4vaW5pdC5oPg0KPiA+ICAgI2luY2x1ZGUgPHhlbi9u
b2RlbWFzay5oPg0KPiA+ICAgI2luY2x1ZGUgPHhlbi9udW1hLmg+DQo+ID4gKyNpbmNsdWRlIDx4
ZW4vZGV2aWNlX3RyZWUuaD4NCj4gPiArI2luY2x1ZGUgPGFzbS9zZXR1cC5oPg0KPiA+DQo+ID4g
ICBzOCBkZXZpY2VfdHJlZV9udW1hID0gMDsNCj4gPiArc3RhdGljIG5vZGVtYXNrX3QgcHJvY2Vz
c29yX25vZGVzX3BhcnNlZCBfX2luaXRkYXRhOw0KPiA+DQo+ID4gLWludCBzcmF0X2Rpc2FibGVk
KHZvaWQpDQo+ID4gK3N0YXRpYyBpbnQgc3JhdF9kaXNhYmxlZCh2b2lkKQ0KPiA+ICAgew0KPiA+
ICAgICAgIHJldHVybiBudW1hX29mZiB8fCBkZXZpY2VfdHJlZV9udW1hIDwgMDsNCj4gPiAgIH0N
Cj4gPg0KPiA+IC12b2lkIF9faW5pdCBiYWRfc3JhdCh2b2lkKQ0KPiA+ICtzdGF0aWMgX19pbml0
IHZvaWQgYmFkX3NyYXQodm9pZCkNCj4gPiAgIHsNCj4gPiAgICAgICBwcmludGsoS0VSTl9FUlIg
IkRUOiBOVU1BIGluZm9ybWF0aW9uIGlzIG5vdCB1c2VkLlxuIik7DQo+ID4gICAgICAgZGV2aWNl
X3RyZWVfbnVtYSA9IC0xOw0KPiA+ICAgfQ0KPiA+ICsNCj4gPiArLyogQ2FsbGJhY2sgZm9yIGRl
dmljZSB0cmVlIHByb2Nlc3NvciBhZmZpbml0eSAqLw0KPiA+ICtzdGF0aWMgaW50IF9faW5pdCBk
dGJfbnVtYV9wcm9jZXNzb3JfYWZmaW5pdHlfaW5pdChub2RlaWRfdCBub2RlKQ0KPiA+ICt7DQo+
ID4gKyAgICBpZiAoIHNyYXRfZGlzYWJsZWQoKSApDQo+ID4gKyAgICAgICAgcmV0dXJuIC1FSU5W
QUw7DQo+ID4gKyAgICBlbHNlIGlmICggbm9kZSA9PSBOVU1BX05PX05PREUgfHwgbm9kZSA+PSBN
QVhfTlVNTk9ERVMgKSB7DQo+ID4gKwkJYmFkX3NyYXQoKTsNCj4gPiArCQlyZXR1cm4gLUVJTlZB
TDsNCj4gDQo+IFlvdSBzZWVtIHRvIGhhdmUgYSBtaXggb2Ygc29mdCBhbmQgaGFyZCB0YWIgaW4g
dGhpcyBmaWxlLiBJcyB0aGVyZSBhIGxvdA0KPiBvZiB0aGUgY29kZSB0aGF0IHdhcyBkaXJlY3Rs
eSBjb3BpZWQgZnJvbSBMaW51eD8gSWYgbm90LCB0aGVuIHRoZSBmaWxlDQo+IHNob3VsZCBiZSB1
c2luZyBYZW4gY29kaW5nIHN0eWxlLg0KPiANCg0KSSBjb3BpZWQgc29tZSBjb2RlIGZyb20geDg2
LCBhbmQgeDg2IGlzIExpbnV4IHN0eWxlLg0KU28sIHllcywgSSBzaG91bGQgYWRqdXN0IHRoZW0g
aXQgWGVuIGNvZGluZyBzdHlsZS4NCkkgd2lsbCBkbyBpdCBpbiBuZXh0IHZlcnNpb24uDQoNCj4g
PiArCX0NCj4gPiArDQo+ID4gKyAgICBub2RlX3NldChub2RlLCBwcm9jZXNzb3Jfbm9kZXNfcGFy
c2VkKTsNCj4gPiArDQo+ID4gKyAgICBkZXZpY2VfdHJlZV9udW1hID0gMTsNCj4gPiArICAgIHBy
aW50ayhLRVJOX0lORk8gIkRUOiBOVU1BIG5vZGUgJXUgcHJvY2Vzc29yIHBhcnNlZFxuIiwgbm9k
ZSk7DQo+ID4gKw0KPiA+ICsgICAgcmV0dXJuIDA7DQo+ID4gK30NCj4gPiArDQo+ID4gKy8qIFBh
cnNlIENQVSBOVU1BIG5vZGUgaW5mbyAqLw0KPiA+ICtpbnQgX19pbml0IGRldmljZV90cmVlX3Bh
cnNlX251bWFfY3B1X25vZGUoY29uc3Qgdm9pZCAqZmR0LCBpbnQgbm9kZSkNCj4gDQo+IEFGQUlD
VCwgeW91IGFyZSBnb2luZyB0byB0dXJuIHRoaXMgaGVscGVyIHN0YXRpYyBpbiBhIGZvbGxvdy11
cCBwYXRjaC4NCj4gVGhpcyBpcyBhIGJhZCBwcmFjdGljZS4gSW5zdGVhZCwgdGhlIGZ1bmN0aW9u
IHNob3VsZCBiZSBzdGF0aWMgZnJvbSB0aGUNCj4gYmVnaW5uaW5nLiBJZiBpdCBpcyBub3QgcG9z
c2libGUsIHRoZW4geW91IHNob3VsZCByZS1vcmRlciB0aGUgY29kZS4NCj4gDQo+IEluIHRoaXMg
Y2FzZSwgSSB0aGluayB5b3UgY2FuIGFkZCB0aGUgYm9pbGVycGxhdGUgdG8gcGFyc2UgdGhlIE5V
TUENCj4gaW5mb3JtYXRpb24gKHBhdGNoICMyNSkgaGVyZSBhbmQgdGhlbiBleHRlbmQgaXQgaW4g
ZWFjaCBwYXRjaC4NCj4gDQo+IA0KDQpUaGF0J3MgbWFrZSBzZW5zZSwgSSB3aWxsIHRyeSB0byBh
ZGRyZXNzIGl0IGluIG5leHQgdmVyc2lvbi4NCg0KPiA+ICt7DQo+ID4gKyAgICB1aW50MzJfdCBu
aWQ7DQo+ID4gKw0KPiA+ICsgICAgbmlkID0gZGV2aWNlX3RyZWVfZ2V0X3UzMihmZHQsIG5vZGUs
ICJudW1hLW5vZGUtaWQiLCBNQVhfTlVNTk9ERVMpOw0KPiA+ICsgICAgcHJpbnRrKFhFTkxPR19X
QVJOSU5HICJDUFUgb24gTlVNQSBub2RlOiV1XG4iLCBuaWQpOw0KPiA+ICsgICAgaWYgKCBuaWQg
Pj0gTUFYX05VTU5PREVTICkNCj4gPiArICAgIHsNCj4gPiArICAgICAgICBwcmludGsoWEVOTE9H
X1dBUk5JTkcgIk5vZGUgaWQgJXUgZXhjZWVkcyBtYXhpbXVtIHZhbHVlXG4iLA0KPiBuaWQpOw0K
PiA+ICsgICAgICAgIHJldHVybiAtRUlOVkFMOw0KPiA+ICsgICAgfQ0KPiA+ICsNCj4gPiArICAg
IHJldHVybiBkdGJfbnVtYV9wcm9jZXNzb3JfYWZmaW5pdHlfaW5pdChuaWQpOw0KPiA+ICt9DQo+
ID4NCj4gDQo+IENoZWVycywNCj4gDQo+IC0tDQo+IEp1bGllbiBHcmFsbA0K


From xen-devel-bounces@lists.xenproject.org Mon Aug 23 08:47:52 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 08:47:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170245.310982 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI5cU-0004sV-RU; Mon, 23 Aug 2021 08:47:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170245.310982; Mon, 23 Aug 2021 08:47: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 1mI5cU-0004sO-Nw; Mon, 23 Aug 2021 08:47:50 +0000
Received: by outflank-mailman (input) for mailman id 170245;
 Mon, 23 Aug 2021 08:47:49 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HaWV=NO=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mI5cT-0004sI-30
 for xen-devel@lists.xenproject.org; Mon, 23 Aug 2021 08:47:49 +0000
Received: from EUR03-AM5-obe.outbound.protection.outlook.com (unknown
 [40.107.3.64]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id c8d5ac5c-03ee-11ec-a869-12813bfff9fa;
 Mon, 23 Aug 2021 08:47:45 +0000 (UTC)
Received: from DB8PR06CA0025.eurprd06.prod.outlook.com (2603:10a6:10:100::38)
 by PR3PR08MB5852.eurprd08.prod.outlook.com (2603:10a6:102:8e::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Mon, 23 Aug
 2021 08:47:43 +0000
Received: from DB5EUR03FT064.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:100:cafe::15) by DB8PR06CA0025.outlook.office365.com
 (2603:10a6:10:100::38) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.18 via Frontend
 Transport; Mon, 23 Aug 2021 08:47:43 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT064.mail.protection.outlook.com (10.152.21.199) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Mon, 23 Aug 2021 08:47:43 +0000
Received: ("Tessian outbound 19a632698c93:v103");
 Mon, 23 Aug 2021 08:47:43 +0000
Received: from 3a0835581fc0.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 DD29BEC3-8ACA-4CE4-8697-38D03D518858.1; 
 Mon, 23 Aug 2021 08:47:37 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 3a0835581fc0.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 23 Aug 2021 08:47:37 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DBAPR08MB5736.eurprd08.prod.outlook.com (2603:10a6:10:1a9::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.21; Mon, 23 Aug
 2021 08:47:36 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.024; Mon, 23 Aug 2021
 08:47:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c8d5ac5c-03ee-11ec-a869-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yo/zjycK8UgiXNY+K+niGF/tmvjW1iywlGXgjhHlpas=;
 b=V9/jYFfLZvv0cExnw2Bk8HYpC8RGTv3fbI4z00aTvEqngbhHRqVlwAPCclsFlbEoYxVCS8shk/22F4qa1P2MvDVECkQu60mR9QC5DzE+ovtbyGPqTiFWJMWAGu5AQh/p+EXfgLxKsVaQSvynatyhRtE6uKKQK0WrcP1wRpDQnWE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=C5vM6eVQojxtg6LshR+5uMQj6QTk9M/PLEmgiMYt2hNPhxv+0ZH2BZJjZW1+J0KeqCAzqOzOMJc2/TCmafd7fnkJXtSsiGiPGSmLUEI/jduxX/uw6ZhRDhT0QmqTNUQQydOIAaFIP63Pd3+CjNBeha2wcvem31Y79xoKen50g5LK+L8vQRi/U3vNNkdTCQfcAdj9N3fv2YxN2rG0UjbuzN8Vwju2fFkp+H3ufT45jvVOTDiJlwe0GfMPmovrNbZLopX1dmIxBShJUGcaY8SKLTux07v6zTY/EAnq/ZXxFXmxwtDpIgkgGE/Gk93ZOEKbOmteeujIDKQNbZYW1K6KLQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yo/zjycK8UgiXNY+K+niGF/tmvjW1iywlGXgjhHlpas=;
 b=Z2C+g44wN5+8PQs2JRirktXZ8dcwV2BDa2dg6XfxviQgo9KZwFvGIOubJ+Ebk7buw6kmThAW9FUpf2y93dk0I78ybMbUXw3T1K7psWq7jKmg3aZXMhIj9UZsoDuatRxbq02an7sw17mWotfLf0tEZ60LnfxXUlAuuQsNZtMUggnyjnTFoJfLLX44lBZPLLCxION/5WoCZGIUHiGB3Jr9y3FowbStnLnouA/6gzzgeaqYpQaVUYjSNNdnp3UCm9Apy9sVGKgtB7BrJGDL3OYimScHSi9wb3Y3uyNSg3VfzMNOXmeT0Nwse/UJxD/TfXPIwZa5hB8DQR1xByeQ5GyIjA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yo/zjycK8UgiXNY+K+niGF/tmvjW1iywlGXgjhHlpas=;
 b=V9/jYFfLZvv0cExnw2Bk8HYpC8RGTv3fbI4z00aTvEqngbhHRqVlwAPCclsFlbEoYxVCS8shk/22F4qa1P2MvDVECkQu60mR9QC5DzE+ovtbyGPqTiFWJMWAGu5AQh/p+EXfgLxKsVaQSvynatyhRtE6uKKQK0WrcP1wRpDQnWE=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 22/40] xen/arm: introduce a helper to parse device
 tree processor node
Thread-Topic: [XEN RFC PATCH 22/40] xen/arm: introduce a helper to parse
 device tree processor node
Thread-Index: AQHXjps9W9pBfq916EKAfG5ObJRyjat7LeMAgAWqo3A=
Date: Mon, 23 Aug 2021 08:47:35 +0000
Message-ID:
 <DB9PR08MB6857D1E22305A7878103EBC99EC49@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-23-wei.chen@arm.com>
 <167bbcea-e797-c924-81d9-20e626e320cb@xen.org>
In-Reply-To: <167bbcea-e797-c924-81d9-20e626e320cb@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 49F2D1EF5E8E6240AF262F4D3876E239.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 64b84b11-a22d-40e0-5caa-08d96612ac48
x-ms-traffictypediagnostic: DBAPR08MB5736:|PR3PR08MB5852:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<PR3PR08MB58520BC8BBB8D61D91A16AB59EC49@PR3PR08MB5852.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 ppVfolWnhAF9My/rOIqTD+L7cyc6awZ8s/BPieb864+1Z1W81ggRl4qqNP3QYtdiesl8grllnEBDs15ASXYKeWYdJa6+z9lf8E2SSLgWV1mIrI+CUgiBHYHMY+QoF5D5oGDIP4tV4aQcNnS975zf6jEgrb3bJAJgmCT1378Q20C/mQywRdhbz0mPA7Ul+pHNSk/v9gKyqiO5wNZZWzBaQQ7gFoqNKh1oP0J4JO1MswfweScbdkWjRrJeXqQ1a/nt/syms2TNvcBMeM4i3RFj2lF27BPhI8mRO7PIGcPgNKoDtjUZjzRmKorjzdyJwbrw+YZIe49+HEcPeUpJkUmPKjYbD8cSDeXM+3KlEK5W4i45FgdsxqigznvDHWY0wc9SChSv98cX8fqAUl7s4jo2DnpiyjlNO9TobA3PqTfxN7ZfBvB5sMXVF01TLT114YxJf/73T7H7ul8l715VE9C5wmDbWujXsy+5bjXvU15CjzqABf7RCoWctJE6Soog9RsMAGAMaa0wUYpEggEoRqMVpPZrQ/L5l2quuT4MDuEFx/rs3F9J/28S4vOD8mo/IITRfcvYx5sq5Y8KANeLC6LkvLhW/U0Ae22ZI6YW9uJW+g6Sah42DmoLT8Cn0QUu+ryNJyWC/1SuulnqIw6dTLXNCUlWko6yL25QRHQ9yBpPy4LfQJaaAZJ+L0b+sesyyLK+1I83gmCgF12tBbKZd6RYVQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(136003)(346002)(376002)(39850400004)(396003)(186003)(8936002)(38100700002)(122000001)(6506007)(26005)(478600001)(53546011)(66556008)(8676002)(64756008)(66476007)(66446008)(71200400001)(9686003)(66946007)(55016002)(76116006)(52536014)(316002)(38070700005)(4326008)(110136005)(5660300002)(7696005)(86362001)(2906002)(83380400001)(33656002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?VWkzbVphNlZ6R3E5TS9pajdpU05nc005SVIyeUFWUGVqeGhlblozYkcyeksw?=
 =?utf-8?B?T0RNMGw3WGttendZeHBwK05jMHRTSjgzclJGR3R1aHVtRW1DNmtwTGd2MmNJ?=
 =?utf-8?B?eTZNYlFxeExaRlZRT3Qva1R1M0hLSUpJNmRGUkVvaFpoNVRpWS94OFJmV1h2?=
 =?utf-8?B?cHNhQVJ2MzFpNUtpblNETW90MGhEd3JyRG1LUU5ycVhqVEE1eGg4ZndrdlpS?=
 =?utf-8?B?MnJwNHVmOEFPTVh6S0dFbUJrZ29LeURGVFE4NWhSZjdOTUY4TVVBQmdscmpJ?=
 =?utf-8?B?L21WS2FjZWllb1VGOUQvclFYMUJ6NGRGWFVETkdCOWYwUVpvL0p0ckFMcnJT?=
 =?utf-8?B?SHlwTnZLczhGRUw4OWM2M24xQk9sZGtLZHBjVkRSVCs4eHc2Um9vNmcvN0Uv?=
 =?utf-8?B?UXl4TnBZc2pITEx3QVdyYWFLenRLRldJbG14N3oyRFovU2dwNmtobUg3S0ZV?=
 =?utf-8?B?aDZvN2JHYmtjcHM2UFRhM1BmakFTcGh6MzY1d3gzekZXUU02TWprNndzLy9i?=
 =?utf-8?B?cStFK1NuOUNNL094dVFtZUYxbnFUYUQ3am43dTFzQUtMT2JQVFpqNXZHUTFO?=
 =?utf-8?B?SEFWYlRvY09mYS9IWXN3TndiZnRaaENBNXFVWCs0YjM0S21XOTFEYUFOT3dS?=
 =?utf-8?B?L2ZqcGFSZFIzVTB4VW1xdkw0cDBGMWdVMHhMSmM2NGRScmNBcFRTVytjdTMx?=
 =?utf-8?B?dnpYSlJNaGkxOXExQUk1Y1NvOUV0ZGxjTnArbzFxeU0xc3NoVjB2N2hlRUx1?=
 =?utf-8?B?MU9PYTRCckNGZmdJRllwVXBCTVNYZ3ljait5TUUyMkNiTWs4M0J4blZkdzMz?=
 =?utf-8?B?OFJSbG03V1M5Q1ZIQU5FVHkwSlRRYllRSUpvY2k1WkJ6Y0QzbS9rSHVHL3ZK?=
 =?utf-8?B?blBsZlJBS2tiZ1hCOU9MMXFlOFcwcmZNazc4dmJKUm9iTWxabzRwWHdxZ0Ro?=
 =?utf-8?B?T2JEMVp2blZQelhUUmROWjhPalNZSEpoREpaODBmMGFXZmhIUk9BL2w4RUFF?=
 =?utf-8?B?WUtnMU5hWThWb3N1WjBEQU1Zd1pGdFVCc2dDenA3U0k1Rmd6K3dTR0JQT3pV?=
 =?utf-8?B?VnYrcHZOekMvU0FLMktod0dUZHB0UjFLYmdHYnJXVjFlVmRWeWkrN0JER25X?=
 =?utf-8?B?Ri9uTU1yQ0JURUl0ajhGOG4wZzlmSmNDSStLUTRoV1kwRktWTnVTQXZPOEV0?=
 =?utf-8?B?c1RlVmZ4bVl5dysxMDhENVlJNTRIM2JUbkcwVGJSUCtjZGIzRkRkV3oyVGMz?=
 =?utf-8?B?VC9zVGpQMjFFTlBieDY5bUkrNXRmcUFobXRxc3BTRURRNmtDK3ZVcXpjNkdi?=
 =?utf-8?B?ZDIxQ1FqSVpFMUwzalJzWlV4OTVLL2xRZGpTdjFIcGdqOXAyV0JBNVRNRjh2?=
 =?utf-8?B?dE5mSHpYU29uUnlYZ09PeFFzbXhHcUZiWWtGQklUZFBwbEw2SGZYZnBzU0Zo?=
 =?utf-8?B?RmNRbHdtekNwOVBMaURLeU1nODBNVEpVVFc4dHZBa3Ird3RJSHhSVms1eWcv?=
 =?utf-8?B?THNhcTZRL0Fqb0QvcmNsUDU2WUtHY1ZRY1IwOFZRTUFLTGRkQ0FMMXhkeVpH?=
 =?utf-8?B?YS9xOW1ZNGJ0MzVXR3QxazlDMFlVNjZRUUpIWEdQNkhlWW5OOVUwYUVoRmli?=
 =?utf-8?B?TWlKT2oyZXVVWHI0NzN6MzBwa1o1c3dxbVUxeTNLTXNZb2xlMnFCWHppNjNh?=
 =?utf-8?B?VE16d2pnT2dYUVVpNVl3RGJqYm11Q2U0aWY0cEh5RmJDYXNNNW54OHk0WXhM?=
 =?utf-8?Q?VVVpxdCDkpYthrRPzuPwhSCXYIRGw7RdIBCrh5J?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5736
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT064.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	80021382-5711-4f69-42a2-08d96612a7e9
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dhnOsyhIMjgrwfzbyo82xTeouDdNierwIhnKIF7CigoDCTgV4aSaaKSqG/4fuV/lPklu3YWRyyBd5kH7BDQw4VSagQ2JXDVp5YUHYOC44zZKm8JYVWU5J1LEt0GRxweK8rwVOUpdGRWZnZBlAZTGjmqlF4Mi6GzqPEJ22kJQvbMEKSPFainhdWyX9l22Vo9QOFjVBhTY8ekMA2zqU75KU2KqBZ70IqUVki34YHu8i6Af8FbsyE6jhlkfDKd9PHUCXtZVI01LxMF62xJIG1MQrwWlDtjnjJHwLCJq7gcikkLOltgcDA19ZVPe8k88Hq3x8qs3pSCAsGp8hJVShTDdh1OO/N1NmDAhUTxzUohV4Zzew/h86Q7zlhFEF4VWuyqOIpSSOpaeHs3EkOht4b8kEuh8rECL8ZHB4VMUSvv22hEsA5iUO39Lz9aatyxiRzRLJT+xYxY86iA+eEsAlwkbnq6bA+0ZWm0Ol+ZVoexfSaS+8O+4CP/O119lmfZrNr/ZyYK1fyvHW0pH1BUL/JavQZadERC9ztHdChPLvqnMP6y86dCAUed2nDSBPS6BgOUPJPSha427khyE3SQ62PUjGKNC9y/AG8ZRxlP7jvloM6kPFeFDO3R00+9ApAA0nkEBmRjlhKd+qWotOcJq/69tjzRXgnDfraPeywxw7VTAMlfxhXmR4cNIPQ/jESM6o+SgjZZ3jh/dRjPxouWdl1bbRQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(346002)(136003)(376002)(39850400004)(396003)(36840700001)(46966006)(83380400001)(81166007)(70206006)(8676002)(70586007)(33656002)(82310400003)(110136005)(8936002)(6506007)(53546011)(26005)(2906002)(4326008)(316002)(47076005)(7696005)(86362001)(356005)(336012)(55016002)(5660300002)(478600001)(9686003)(52536014)(36860700001)(186003)(82740400003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2021 08:47:43.5443
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 64b84b11-a22d-40e0-5caa-08d96612ac48
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT064.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5852

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMjDml6UgMjoxMQ0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+OyB4ZW4tZGV2ZWxAbGlzdHMueGVucHJv
amVjdC5vcmc7DQo+IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc7IGpiZXVsaWNoQHN1c2UuY29tDQo+
IENjOiBCZXJ0cmFuZCBNYXJxdWlzIDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+DQo+IFN1Ympl
Y3Q6IFJlOiBbWEVOIFJGQyBQQVRDSCAyMi80MF0geGVuL2FybTogaW50cm9kdWNlIGEgaGVscGVy
IHRvIHBhcnNlDQo+IGRldmljZSB0cmVlIHByb2Nlc3NvciBub2RlDQo+IA0KPiBPbiAxMS8wOC8y
MDIxIDExOjI0LCBXZWkgQ2hlbiB3cm90ZToNCj4gPiBQcm9jZXNzb3IgTlVNQSBJRCBpbmZvcm1h
dGlvbiBpcyBzdG9yZWQgaW4gZGV2aWNlIHRyZWUncyBwcm9jZXNzb3INCj4gPiBub2RlIGFzICJu
dW1hLW5vZGUtaWQiLiBXZSBuZWVkIGEgbmV3IGhlbHBlciB0byBwYXJzZSB0aGlzIElEIGZyb20N
Cj4gPiBwcm9jZXNzb3Igbm9kZS4gSWYgd2UgZ2V0IHRoaXMgSUQgZnJvbSBwcm9jZXNzb3Igbm9k
ZSwgdGhpcyBJRCdzDQo+ID4gdmFsaWRpdHkgc3RpbGwgbmVlZCB0byBiZSBjaGVja2VkLiBPbmNl
IHdlIGdvdCBhIGludmFsaWQgTlVNQSBJRA0KPiA+IGZyb20gYW55IHByb2Nlc3NvciBub2RlLCB0
aGUgZGV2aWNlIHRyZWUgd2lsbCBiZSBtYXJrZWQgYXMgTlVNQQ0KPiA+IGluZm9ybWF0aW9uIGlu
dmFsaWQuDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBXZWkgQ2hlbiA8d2VpLmNoZW5AYXJtLmNv
bT4NCj4gPiAtLS0NCj4gPiAgIHhlbi9hcmNoL2FybS9udW1hX2RldmljZV90cmVlLmMgfCA0MSAr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0NCj4gPiAgIDEgZmlsZSBjaGFuZ2VkLCAz
OSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL3hl
bi9hcmNoL2FybS9udW1hX2RldmljZV90cmVlLmMNCj4gYi94ZW4vYXJjaC9hcm0vbnVtYV9kZXZp
Y2VfdHJlZS5jDQo+ID4gaW5kZXggMWM3NGFkMTM1ZC4uMzdjYzU2YWNmMyAxMDA2NDQNCj4gPiAt
LS0gYS94ZW4vYXJjaC9hcm0vbnVtYV9kZXZpY2VfdHJlZS5jDQo+ID4gKysrIGIveGVuL2FyY2gv
YXJtL251bWFfZGV2aWNlX3RyZWUuYw0KPiA+IEBAIC0yMCwxNiArMjAsNTMgQEANCj4gPiAgICNp
bmNsdWRlIDx4ZW4vaW5pdC5oPg0KPiA+ICAgI2luY2x1ZGUgPHhlbi9ub2RlbWFzay5oPg0KPiA+
ICAgI2luY2x1ZGUgPHhlbi9udW1hLmg+DQo+ID4gKyNpbmNsdWRlIDx4ZW4vZGV2aWNlX3RyZWUu
aD4NCj4gPiArI2luY2x1ZGUgPGFzbS9zZXR1cC5oPg0KPiA+DQo+ID4gICBzOCBkZXZpY2VfdHJl
ZV9udW1hID0gMDsNCj4gPiArc3RhdGljIG5vZGVtYXNrX3QgcHJvY2Vzc29yX25vZGVzX3BhcnNl
ZCBfX2luaXRkYXRhOw0KPiA+DQo+ID4gLWludCBzcmF0X2Rpc2FibGVkKHZvaWQpDQo+ID4gK3N0
YXRpYyBpbnQgc3JhdF9kaXNhYmxlZCh2b2lkKQ0KPiA+ICAgew0KPiA+ICAgICAgIHJldHVybiBu
dW1hX29mZiB8fCBkZXZpY2VfdHJlZV9udW1hIDwgMDsNCj4gPiAgIH0NCj4gPg0KPiA+IC12b2lk
IF9faW5pdCBiYWRfc3JhdCh2b2lkKQ0KPiA+ICtzdGF0aWMgX19pbml0IHZvaWQgYmFkX3NyYXQo
dm9pZCkNCj4gPiAgIHsNCj4gPiAgICAgICBwcmludGsoS0VSTl9FUlIgIkRUOiBOVU1BIGluZm9y
bWF0aW9uIGlzIG5vdCB1c2VkLlxuIik7DQo+ID4gICAgICAgZGV2aWNlX3RyZWVfbnVtYSA9IC0x
Ow0KPiA+ICAgfQ0KPiA+ICsNCj4gPiArLyogQ2FsbGJhY2sgZm9yIGRldmljZSB0cmVlIHByb2Nl
c3NvciBhZmZpbml0eSAqLw0KPiA+ICtzdGF0aWMgaW50IF9faW5pdCBkdGJfbnVtYV9wcm9jZXNz
b3JfYWZmaW5pdHlfaW5pdChub2RlaWRfdCBub2RlKQ0KPiANCj4gSSBmb3Jnb3QgdG8gYW5zd2Vy
LiBJdCBzZWVtcyBvZGQgdGhhdCBzb21lIG9mIHRoZSBmdW5jdGlvbiBuYW1lcyBzdGFydA0KPiB3
aXRoIGR0Yl8qIHdoaWxlIG90aGVyIHN0YXJ0cyBkZXZpY2VfdHJlZV8qLiBBbnkgcGFydGljdWxh
ciByZWFzb24gZm9yDQo+IHRoYXQgZGlmZmVyZW5jZSBvZiBuYW1pbmc/DQo+IA0KDQp5ZXMsIGlu
IHRoZSB2ZXJ5IGJlZ2lubmluZywgSSB3YW50IHRvIGtlZXAgZGV2aWNlX3RyZWVfIHByZWZpeCBm
b3INCmZ1bmN0aW9ucyB0aGF0IHdpbGwgaGFuZGxlIGR0YiBmaWxlLiBBbmQgdXNlIGR0Yl8gcHJl
Zml4IHRvIHJlcGxhY2UNCmFjcGksIHRvIGluZGljYXRlLCB0aGlzIGZ1bmN0aW9uIGlzIGRldmlj
ZSB0cmVlIHZlcnNpb24gbnVtYSBpbXBsZW1lbnRhdGlvbi4NCg0KSWYgdGhhdCdzIG5vdCB0aGUg
cmlnaHQgcmVhc29uLCBJIHdpbGwgdW5pZnkgYWxsIHByZWZpeCB0byBkZXZpY2VfdHJlZV8NCmlu
IG5leHQgdmVyc2lvbi4gSG93IGRvIHlvdSB0aGluayBhYm91dCBpdD8NCg0KPiA+ICt7DQo+ID4g
KyAgICBpZiAoIHNyYXRfZGlzYWJsZWQoKSApDQo+ID4gKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7
DQo+ID4gKyAgICBlbHNlIGlmICggbm9kZSA9PSBOVU1BX05PX05PREUgfHwgbm9kZSA+PSBNQVhf
TlVNTk9ERVMgKSB7DQo+ID4gKwkJYmFkX3NyYXQoKTsNCj4gPiArCQlyZXR1cm4gLUVJTlZBTDsN
Cj4gPiArCX0NCj4gPiArDQo+ID4gKyAgICBub2RlX3NldChub2RlLCBwcm9jZXNzb3Jfbm9kZXNf
cGFyc2VkKTsNCj4gPiArDQo+ID4gKyAgICBkZXZpY2VfdHJlZV9udW1hID0gMTsNCj4gPiArICAg
IHByaW50ayhLRVJOX0lORk8gIkRUOiBOVU1BIG5vZGUgJXUgcHJvY2Vzc29yIHBhcnNlZFxuIiwg
bm9kZSk7DQo+ID4gKw0KPiA+ICsgICAgcmV0dXJuIDA7DQo+ID4gK30NCj4gPiArDQo+ID4gKy8q
IFBhcnNlIENQVSBOVU1BIG5vZGUgaW5mbyAqLw0KPiA+ICtpbnQgX19pbml0IGRldmljZV90cmVl
X3BhcnNlX251bWFfY3B1X25vZGUoY29uc3Qgdm9pZCAqZmR0LCBpbnQgbm9kZSkNCj4gPiArew0K
PiA+ICsgICAgdWludDMyX3QgbmlkOw0KPiA+ICsNCj4gPiArICAgIG5pZCA9IGRldmljZV90cmVl
X2dldF91MzIoZmR0LCBub2RlLCAibnVtYS1ub2RlLWlkIiwgTUFYX05VTU5PREVTKTsNCj4gPiAr
ICAgIHByaW50ayhYRU5MT0dfV0FSTklORyAiQ1BVIG9uIE5VTUEgbm9kZToldVxuIiwgbmlkKTsN
Cj4gPiArICAgIGlmICggbmlkID49IE1BWF9OVU1OT0RFUyApDQo+ID4gKyAgICB7DQo+ID4gKyAg
ICAgICAgcHJpbnRrKFhFTkxPR19XQVJOSU5HICJOb2RlIGlkICV1IGV4Y2VlZHMgbWF4aW11bSB2
YWx1ZVxuIiwNCj4gbmlkKTsNCj4gPiArICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4gPiArICAg
IH0NCj4gPiArDQo+ID4gKyAgICByZXR1cm4gZHRiX251bWFfcHJvY2Vzc29yX2FmZmluaXR5X2lu
aXQobmlkKTsNCj4gPiArfQ0KPiA+DQo+IA0KPiBDaGVlcnMsDQo+IA0KPiAtLQ0KPiBKdWxpZW4g
R3JhbGwNCg==


From xen-devel-bounces@lists.xenproject.org Mon Aug 23 09:28:07 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 09:28:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170257.310999 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI6FE-0000vK-3Z; Mon, 23 Aug 2021 09:27:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170257.310999; Mon, 23 Aug 2021 09:27:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI6FD-0000vD-WB; Mon, 23 Aug 2021 09:27:52 +0000
Received: by outflank-mailman (input) for mailman id 170257;
 Mon, 23 Aug 2021 09:27: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 1mI6FC-0000v3-0I; Mon, 23 Aug 2021 09:27: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 1mI6FB-0007Mm-Qn; Mon, 23 Aug 2021 09:27: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 1mI6FB-0007lB-Gk; Mon, 23 Aug 2021 09:27:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mI6FB-0005ge-GC; Mon, 23 Aug 2021 09: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=SsbGVC8SvCw9thwW0gG5ha7BotIyqz7xd4FV4EHbYqE=; b=bDcC8cQDCWef3ak1S/YVvx+uiu
	WWpORiiatzt5IeMVuVePRpADYel/7X32mdI6Rilv7MVhozLQ3/daIEyRKJcv/xlvbnf844Em1lWlO
	RRHCaKvGwjmyvacnfP1Vfss7SNHEaZQ+EDFXTWWyDdTiEf3l5gUELqlm1+txLHw/Ogm4=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164312-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 164312: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check: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-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt: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: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: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-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-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-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=c15b830f7c1cafd34035a46485716933f66ab753
X-Osstest-Versions-That:
    linux=e350cd02e293be9a6b93398b2d3ff1edf7695ab2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 23 Aug 2021 09:27:49 +0000

flight 164312 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164312/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164131
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 164131
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 164131
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164131
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164131
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164131
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 164131
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164131
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 164131
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164131
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164131
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-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-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-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-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                c15b830f7c1cafd34035a46485716933f66ab753
baseline version:
 linux                e350cd02e293be9a6b93398b2d3ff1edf7695ab2

Last test of basis   164131  2021-08-08 07:11:59 Z   15 days
Failing since        164167  2021-08-12 11:47:56 Z   10 days   15 attempts
Testing same since   164240  2021-08-18 14:18:28 Z    4 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alan Stern <stern@rowland.harvard.edu>
  Alex Xu (Hello71) <alex_y_xu@yahoo.ca>
  Alexander Aring <aahringo@redhat.com>
  Alexander Monakov <amonakov@ispras.ru>
  Alexander Tsoy <alexander@tsoy.me>
  Alexandre Courbot <gnurou@gmail.com>
  Alexei Starovoitov <ast@kernel.org>
  Anand Jain <anand.jain@oracle.com>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Anirudh Rayabharam <mail@anirudhrb.com>
  Antoine Tenart <atenart@kernel.org>
  Arnd Bergmann <arnd@arndb.de>
  Aya Levin <ayal@nvidia.com>
  Babu Moger <Babu.Moger@amd.com>
  Bartosz Golaszewski <bgolaszewski@baylibre.com>
  Ben Dai <ben.dai@unisoc.com>
  Ben Hutchings <ben.hutchings@mind.be>
  Bixuan Cui <cuibixuan@huawei.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Boris Ostrovsky <boris.ostrovsky@oracle.com>
  Borislav Petkov <bp@suse.de>
  Brian Norris <briannorris@chromium.org>
  Camille Lu <camille.lu@hpe.com>
  Catalin Marinas <catalin.marinas@arm.com>
  Chanho Park <chanho61.park@samsung.com>
  chihhao.chen <chihhao.chen@mediatek.com>
  Chris Lesiak <chris.lesiak@licor.com>
  Christian Hewitt <christianshewitt@gmail.com>
  Christoph Hellwig <hch@lst.de>
  Colin Ian King <colin.king@canonical.com>
  Dan Carpenter <dan.carpenter@oracle.com>
  Dan Williams <dan.j.williams@intel.com>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniele Palmas <dnlplm@gmail.com>
  Dario Binacchi <dariobin@libero.it>
  David Bauer <mail@david-bauer.net>
  David Lechner <david@lechnology.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  DENG Qingfang <dqfext@gmail.com>
  Dmitry Osipenko <digetx@gmail.com>
  Dominik Brodowski <linux@dominikbrodowski.net>
  Dongliang Mu <mudongliangabcd@gmail.com>
  Eero Lehtinen <debiangamer2@gmail.com>
  Eric Dumazet <edumazet@google.com>
  Fei Qin <fei.qin@corigine.com>
  Felipe Balbi <balbi@kernel.org>
  Filipe Manana <fdmanana@suse.com>
  Florian Eckert <fe@dev.tdt.de>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Gregory CLEMENT <gregory.clement@bootlin.com>
  Guenter Roeck <linux@roeck-us.net>
  Guido Kiener <guido.kiener@rohde-schwarz.com>
  Guoqing Jiang <jiangguoqing@kylinos.cn>
  H. Nikolaus Schaller <hns@goldelico.com>
  Hangbin Liu <liuhangbin@gmail.com>
  Hans de Goede <hdegoede@redhat.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Hervé Codina <herve.codina@bootlin.com>
  Hui Su <suhui@zeku.com>
  Hulk Robot <hulkrobot@huawei.com>
  Ilya Dryomov <idryomov@gmail.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jan Kara <jack@suse.cz>
  Jarkko Sakkinen <jarkko@kernel.org>
  Jeff Layton <jlayton@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jens Wiklander <jens.wiklander@linaro.org>
  Johan Hovold <johan@kernel.org>
  Johannes Berg <johannes.berg@intel.com>
  Jon Hunter <jonathanh@nvidia.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Juergen Borleis <jbe@pengutronix.de>
  Kees Cook <keescook@chromium.org>
  Kieran Bingham <kieran.bingham@ideasonboard.com>
  Kim Phillips <kim.phillips@amd.com>
  Konrad Jankowski <konrad0.jankowski@intel.com>
  Lai Jiangshan <laijs@linux.alibaba.com>
  Letu Ren <fantasquex@gmail.com>
  Li Manyi <limanyi@uniontech.com>
  Liam Merwick <liam.merwick@oracle.com>
  Like Xu <likexu@tencent.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Longfang Liu <liulongfang@huawei.com>
  Longpeng(Mike) <longpeng2@huawei.com>
  Louis Peens <louis.peens@corigine.com>
  Lu Baolu <baolu.lu@linux.intel.com>
  Luis Chamberlain <mcgrof@kernel.org>
  Luis Henriques <lhenriques@suse.de>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Luke D Jones <luke@ljones.dev>
  Maciej W. Rozycki <macro@orcam.me.uk>
  Marc Zyngier <maz@kernel.org>
  Marco Elver <elver@google.com>
  Marek Szyprowski <m.szyprowski@samsung.com>
  Marek Vasut <marex@denx.de>
  Mario Kleiner <mario.kleiner.de@gmail.com>
  Mark Brown <broonie@kernel.org>
  Mark Rutland <mark.rutland@arm.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Masami Hiramatsu <mhiramat@kernel.org>
  Matt Ranostay <matt.ranostay@konsulko.com>
  Matt Turner <mattst88@gmail.com>
  Matteo Croce <mcroce@microsoft.com>
  Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
  Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Maxim Devaev <mdevaev@gmail.com>
  Maxim Levitsky <mlevitsk@redhat.com>
  Maxime Chevallier <maxime.chevallier@bootlin.com>
  Maximilian Heyne <mheyne@amazon.de>
  Md Fahad Iqbal Polash <md.fahad.iqbal.polash@intel.com>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael Tretter <m.tretter@pengutronix.de>
  Miklos Szeredi <mszeredi@redhat.com>
  Nathan Chancellor <nathan@kernel.org>
  Neal Cardwell <ncardwell@google.com>
  Neil Armstrong <narmstrong@baylibre.com>
  Nikolay Aleksandrov <nikolay@nvidia.com>
  Nikolay Borisov <nborisov@suse.com>
  Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Pali Rohár <pali@kernel.org>
  Paolo Bonzini <pbonzini@redhat.com>
  Pavel Machek (CIP) <pavel@denx.de>
  Pavel Skripkin <paskripkin@gmail.com>
  Pawel Laszczak <pawell@cadence.com>
  Peter Chen <peter.chen@kernel.org>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Phil Elwell <phil@raspberrypi.com>
  Philip Milev <milev.philip@gmail.com>
  Prarit Bhargava <prarit@redhat.com>
  Pu Lehui <pulehui@huawei.com>
  Qiang.zhang <qiang.zhang@windriver.com>
  Qu Wenruo <wqu@suse.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Randy Dunlap <rdunlap@infradead.org>
  Reinette Chatre <reinette.chatre@intel.com>
  Richard Fitzgerald <rf@opensource.cirrus.com>
  Roi Dayan <roid@nvidia.com>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Saeed Mahameed <saeedm@nvidia.com>
  Saeed Mirzamohammadi <saeed.mirzamohammadi@oracle.com>
  Sasha Levin <sashal@kernel.org>
  Sean Christopherson <seanjc@google.com>
  Sean Young <sean@mess.org>
  Sebastian Andrzej Siewior <bigeasy@linutronix.de>
  Shawn Guo <shawnguo@kernel.org>
  Shreyansh Chouhan <chouhan.shreyansh630@gmail.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Song Liu <song@kernel.org>
  Stas Sergeev <stsp2@yandex.ru>
  Stefan Schmidt <stefan@datenfreihafen.org>
  Stephen Boyd <sboyd@kernel.org>
  Steve Bennett <steveb@workware.net.au>
  Steven Rostedt (VMware) <rostedt@goodmis.org>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Sumit Garg <sumit.garg@linaro.org>
  syzbot+de271708674e2093097b@syzkaller.appspotmail.com
  Takashi Iwai <tiwai@suse.de>
  Takeshi Misawa <jeliantsurux@gmail.com>
  Tejun Heo <tj@kernel.org>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Theodore Ts'o <tytso@mit.edu>
  Thierry Reding <treding@nvidia.com>
  Thomas Gleixner <tglx@linutronix.de>
  Tony Lindgren <tony@atomide.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Tyler Hicks <tyhicks@linux.microsoft.com>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Vinod Koul <vkoul@kernel.org>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Wang Hai <wanghai38@huawei.com>
  Wei Shuyu <wsy@dogben.com>
  Wesley Cheng <wcheng@codeaurora.org>
  Will Deacon <will@kernel.org>
  Willy Tarreau <w@1wt.eu>
  Wolfram Sang <wsa@kernel.org>
  Xiangyang Zhang <xyz.sun.ok@gmail.com>
  Xie Yongji <xieyongji@bytedance.com>
  Xin Long <lucien.xin@gmail.com>
  Yajun Deng <yajun.deng@linux.dev>
  Yang Yingliang <yangyingliang@huawei.com>
  Yu Kuai <yukuai3@huawei.com>
  YueHaibing <yuehaibing@huawei.com>
  Zheyu Ma <zheyuma97@gmail.com>
  Zhiyong Tao <zhiyong.tao@mediatek.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   e350cd02e293..c15b830f7c1c  c15b830f7c1cafd34035a46485716933f66ab753 -> tested/linux-5.4


From xen-devel-bounces@lists.xenproject.org Mon Aug 23 09:33:35 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 09:33:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170264.311013 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI6Kh-0002U2-VQ; Mon, 23 Aug 2021 09:33:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170264.311013; Mon, 23 Aug 2021 09:33:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI6Kh-0002Tv-Rr; Mon, 23 Aug 2021 09:33:31 +0000
Received: by outflank-mailman (input) for mailman id 170264;
 Mon, 23 Aug 2021 09:33:30 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qkzG=NO=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mI6Kg-0002To-Fq
 for xen-devel@lists.xenproject.org; Mon, 23 Aug 2021 09:33:30 +0000
Received: from esa6.hc3370-68.iphmx.com (unknown [216.71.155.175])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 825fd8e9-90e7-457d-ba38-58c349d04a25;
 Mon, 23 Aug 2021 09:33: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: 825fd8e9-90e7-457d-ba38-58c349d04a25
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629711208;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=K+2dEHEQQZycdvhuyp9PYKX6j5tG3GT18k9oIBc13hs=;
  b=DHMzkAmV1ib1FgjiEsWdOQAuEz1I1FQJcuzTzPraKJ1+ihiueYo+JuYu
   bpHK8AaycXq6ARzzz7yjphFHYfRL4WJfeE84wJlFfOAyc0qCuWW2Kne7R
   756GlIT9y+WeBuiLfS+o8wVhPWnzkFlmZIlZbFdFEkGxZg/9eWmeTXraV
   4=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: yyLdlr/SNROMQXTYXTS5rlSNSroHXNPEzbFLlBcBzUgQxKiK9+oRo5sZrhhctEHECs2GwcBVw6
 +Bln1IMCWOWpQA11h4Pi5dWHqO0xuQr+NAeEqdgCIF1teXzumMtp4HGgwnIMq9l47Omv5Ye6iW
 FUYaHRtm1XCmbRXMWkpqQ7xREiRrUu+SfxfX1CowHk5v/pECrO2Y5MVQi9SRsoyUe7z87tfa6u
 NEn4CGdJoHhvk3ARQyeBwdLbtrqOyJcIHmbJLCrWz4SS+wWn5p8EETAy49pURUxGSavmsyoe0R
 ZjI0ol2biqVABrfiAT2F/E3z
X-SBRS: 5.1
X-MesageID: 51069041
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:mPruz6MTPMiHOsBcTs+jsMiBIKoaSvp037BL7SxMoHluGfBw+P
 rAoB1273HJYVQqOE3I6OrgBEDoexq1n/NICOIqTNSftWfdyQ6VBbAnwYz+wyDxXw3Sn9QtsZ
 uIqpIOauHNMQ==
X-IronPort-AV: E=Sophos;i="5.84,344,1620705600"; 
   d="scan'208";a="51069041"
Date: Mon, 23 Aug 2021 10:33:25 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Ian Jackson <iwj@xenproject.org>, osstest service owner
	<osstest-admin@xenproject.org>, <xen-devel@lists.xenproject.org>
Subject: Re: [xen-4.12-testing bisection] complete
 test-amd64-i386-xl-qemuu-ovmf-amd64
Message-ID: <YSNrZfjGJzdKUlvV@perard>
References: <E1mHy0c-00059n-HR@osstest.test-lab.xenproject.org>
 <9e009e5d-41cf-71de-fed4-88a962b4ab66@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <9e009e5d-41cf-71de-fed4-88a962b4ab66@suse.com>

On Mon, Aug 23, 2021 at 09:07:32AM +0200, Jan Beulich wrote:
> On 23.08.2021 02:40, osstest service owner wrote:
> >   commit d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
> >   Author: Laszlo Ersek <lersek@redhat.com>
> >   Date:   Wed May 26 22:14:24 2021 +0200
> >   
> >       OvmfPkg/PlatformPei: remove Xen support
> 
> Uniformly from 4.15 through to 4.12 (the latter of which shouldn't have
> been affected by whatever has been pulled in in the first place, given
> it's a security-only branch, but with the OVMF commit to use being
> hardcoded in ./Config.mk I don't really understand how a possible
> change to the OVMF tree could have affected this version) tests are
> now failing, everywhere with the above bisection result. Given that we
> want to get out releases from the 4.15 and 4.13 branches right after
> the batch of XSAs going public on Wednesday, something needs to be
> done about this pretty soon.
> 
> Does osstest override ./Config.mk's choice? Albeit I guess even if it
> does that's not outright wrong, and instead it would be bad if the
> older versions wouldn't work anymore with an updated OVMF.

Yes, osstest uses "xen-tested-master" branch since c9d1e5896fe2
("cr-daily-branch: ovmf: "usually" use xen-tested-master") for stable
branches.

We are going to need to backport a commit from unstable. Either
    aad7b5c11d51 ("tools/firmware/ovmf: Use OvmfXen platform file is exist")
        (but has been reverted)
or
    81f291420238 ("tools/firmware/ovmf: Use OvmfXen platform file if exist and update OVMF")
        (but it also changes the version of ovmf pulled by default,
         which we probably don't want to change)

So I would suggest backporting aad7b5c11d51.

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Aug 23 09:48:51 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 09:48:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170268.311024 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI6ZQ-00045o-8j; Mon, 23 Aug 2021 09:48:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170268.311024; Mon, 23 Aug 2021 09:48:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI6ZQ-00045h-5c; Mon, 23 Aug 2021 09:48:44 +0000
Received: by outflank-mailman (input) for mailman id 170268;
 Mon, 23 Aug 2021 09:48:43 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7cRX=NO=aepfle.de=olaf@srs-us1.protection.inumbo.net>)
 id 1mI6ZO-00045b-JE
 for xen-devel@lists.xenproject.org; Mon, 23 Aug 2021 09:48:43 +0000
Received: from mo4-p01-ob.smtp.rzone.de (unknown [81.169.146.166])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id b667e00b-fc5d-4b8b-8f2a-eed4a7543b03;
 Mon, 23 Aug 2021 09:48:41 +0000 (UTC)
Received: from sender by smtp.strato.de (RZmta 47.31.0 AUTH)
 with ESMTPSA id 50780dx7N9mY6Is
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits))
 (Client did not present a certificate);
 Mon, 23 Aug 2021 11:48:34 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b667e00b-fc5d-4b8b-8f2a-eed4a7543b03
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1629712114;
    s=strato-dkim-0002; d=aepfle.de;
    h=References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date:Cc:Date:
    From:Subject:Sender;
    bh=oaT0A/ZTEHlEEJVsxmdBmN7IqkD5XMIahdEWAhhAwWY=;
    b=Rc2DAuz0fFgPGzNZ6+QPgQc/vXmkc2XyHhdgWPfn7JgAke4vsO36bi+i8ubUFGm4Sl
    DO3/EoN9YZTqEa15sOgu2e1yJB9QBkLLpV+feLqb9qZMdjOZKr4lHO8Nh5fW3LBlL2m2
    ngLbgRpTjeklYwbg6aXdt22QGrdF3Goagm6tuVDyowA+PQE5yQSXv7j1b2cz16JGjAqf
    yVXj/K99dWcWLhOyrvU5x8/qkr17fjMSwpb8rgD9KbToDyExEFu4wdFqS733C/5egTmH
    DNxiWNPWBkrRr0XMWjDIIrefYDjK96JKcegLVsdak5MXoX1KneTWVhR7o8ZvYCbiWsFF
    PtOQ==
Authentication-Results: strato.com;
    dkim=none
X-RZG-AUTH: ":P2EQZWCpfu+qG7CngxMFH1J+3q8wa/QLpd5ylWvMDX3y/OuD5rXVisF0Bx6Ea03stVRsAR9aZ79uaPClvCLmExvdWpq0"
X-RZG-CLASS-ID: mo00
Date: Mon, 23 Aug 2021 11:48:25 +0200
From: Olaf Hering <olaf@aepfle.de>
To: Ian Jackson <iwj@xenproject.org>
Cc: Anthony PERARD <anthony.perard@citrix.com>, Jan Beulich
 <jbeulich@suse.com>, "xen-devel\@lists.xenproject.org"
 <xen-devel@lists.xenproject.org>, George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, "Julien
  Grall" <julien@xen.org>
Subject: Re: QEMU 6.0+ in 4.15 and 4.14 (Re: preparations for 4.15.1 and
 4.13.4)
Message-ID: <20210823114825.2be2f738.olaf@aepfle.de>
In-Reply-To: <24862.34174.101215.640300@mariner.uk.xensource.com>
References: <48cc22b9-6d0a-2cfc-ce34-6aabeb84b160@suse.com>
	<YO/5lPNSjjY0NQZx@perard>
	<24862.34174.101215.640300@mariner.uk.xensource.com>
X-Mailer: Claws Mail 2021.08.10 (GTK+ 2.24.32; x86_64-suse-linux-gnu)
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="Sig_/x3q1YGTjz3XSW6=viYjPxFk";
 protocol="application/pgp-signature"; micalg=pgp-sha256

--Sig_/x3q1YGTjz3XSW6=viYjPxFk
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

Am Thu, 19 Aug 2021 17:23:26 +0100
schrieb Ian Jackson <iwj@xenproject.org>:

> Anthony PERARD writes ("Re: preparations for 4.15.1 and 4.13.4"):
> > Also, Olaf want them to be backported to 4.14, see
> >     <20210629095952.7b0b94c1.olaf@aepfle.de> =20
> I'm unsure about this.  The diff seems moderately large.  Also, are we
> sure that it wouldn't break anything other than very old qemu ?  OTOH
> compat problems with newer qemu are indeed a problem especially for
> distros.

libxl in 4.14 and 4.15 is nearly identical.
It would reduce the amount of changes for Xen in Leap 15.3.
SUSE uses a separate qemu binary since a few years, in case of 15.3 it happ=
ens to be qemu-5.2.=20
This variant of qemu removed "cpu-add", as a result cpu hotplug with HVM fa=
ils.

Olaf

--Sig_/x3q1YGTjz3XSW6=viYjPxFk
Content-Type: application/pgp-signature
Content-Description: Digitale Signatur von OpenPGP

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEE97o7Um30LT3B+5b/86SN7mm1DoAFAmEjbukACgkQ86SN7mm1
DoAmkQ/+K9CykXtLqgMNQTX3yFIR3IebnMBFGYkeRoVq+HfTuF9clYLe2i0ZJKT8
J/QCbvtslnXvixEW1Wk9ojGE+zajXoonEgoATH7APICQPpxjFfByH9Z2p98QtJRg
FX4zZQ4VAwFs1/6CchM/Ff+irGKQ4ICRy0d90xCmsinguXT4LJ3RreZ35MEXzjdR
gWM6bk3P87AaJ8FIqdNJQTl+WYEeeqQXe2v7yqZDi4TmrcagbqxFKTL/R/5VLbgq
yDf3crVOD5RsltvURSNzAebFkpLudyaTSM4wMJInZCzQO42PBfhFu2yGQCmieBMZ
R5/E/tXouPgEGOXQazxON8JfQ/GFESNvChQNHIdlcQTp/xQohDcGuH/Ebh6UzdS6
iI141p17FW9l4tJs1zjgDRgLa1Dz8U63lbB2rToOw0JTu0fQHnRb+s66XaK9VbcH
oMRkAQwfi+WLEbRRYdOelxWIoEr33mgK9x/ZNrNYz0J6VBJV4MfUurEGrV7Pla8m
kZssHC9NeL/5MbgT3PIAWYF4kzd/MK2gyIA9Er0RHzDqX/euOazCmgelcNHl3DGp
2kW6MIqX1UXZFMoR6lfdkkDu73J+DlZGthJV3wEnSajjQ08Th/cwOu2QoVPQol0B
8VSv8FjqQT6jrMMlsAsoC5fKXwb8XQ5SqBSlcrpTL5BGNcmF+PQ=
=AHnU
-----END PGP SIGNATURE-----

--Sig_/x3q1YGTjz3XSW6=viYjPxFk--


From xen-devel-bounces@lists.xenproject.org Mon Aug 23 09:59:11 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 09:59:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170275.311034 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI6jR-0005f0-9R; Mon, 23 Aug 2021 09:59:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170275.311034; Mon, 23 Aug 2021 09:59:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI6jR-0005et-6Z; Mon, 23 Aug 2021 09:59:05 +0000
Received: by outflank-mailman (input) for mailman id 170275;
 Mon, 23 Aug 2021 09:59:04 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Cmfa=NO=redhat.com=stefanha@srs-us1.protection.inumbo.net>)
 id 1mI6jP-0005en-Tu
 for xen-devel@lists.xen.org; Mon, 23 Aug 2021 09:59:04 +0000
Received: from us-smtp-delivery-124.mimecast.com (unknown [216.205.24.124])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id bdc62580-03f8-11ec-a86d-12813bfff9fa;
 Mon, 23 Aug 2021 09:59:01 +0000 (UTC)
Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com
 [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id
 us-mta-519-XuRXJwcmOoOrjRgUS5BQsA-1; Mon, 23 Aug 2021 05:58:56 -0400
Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com
 [10.5.11.23])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx01.redhat.com (Postfix) with ESMTPS id B0B76C7402;
 Mon, 23 Aug 2021 09:58:53 +0000 (UTC)
Received: from localhost (unknown [10.39.194.67])
 by smtp.corp.redhat.com (Postfix) with ESMTP id E095019C44;
 Mon, 23 Aug 2021 09:58: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: bdc62580-03f8-11ec-a86d-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1629712741;
	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=YzGe2IEY0KZ8Y4xV34CSaJqV45CvoHN7keeVYoFE7J4=;
	b=YSq+Y4XXIK3poM93h+84b2hzdMEY5Igz1AyVZrQdl1CbJNy6vD0dU3DsEIOAZ45Y9lr5wm
	OMVCkyM7N/V7OBTgS2mQJvfsEQYBKoVBk2MwsMI7nnI8jyJHwG29WkIR2v93+T8iD74Nd5
	h+gtcXZ3a/yHGZMXa1ToJ6b5dI3ikAY=
X-MC-Unique: XuRXJwcmOoOrjRgUS5BQsA-1
Date: Mon, 23 Aug 2021 10:58:46 +0100
From: Stefan Hajnoczi <stefanha@redhat.com>
To: AKASHI Takahiro <takahiro.akashi@linaro.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Alex Benn??e <alex.bennee@linaro.org>,
	Stratos Mailing List <stratos-dev@op-lists.linaro.org>,
	virtio-dev@lists.oasis-open.org,
	Arnd Bergmann <arnd.bergmann@linaro.org>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Jan Kiszka <jan.kiszka@siemens.com>,
	Carl van Schaik <cvanscha@qti.qualcomm.com>, pratikp@quicinc.com,
	Srivatsa Vaddagiri <vatsa@codeaurora.org>,
	Jean-Philippe Brucker <jean-philippe@linaro.org>,
	Mathieu Poirier <mathieu.poirier@linaro.org>, Wei.Chen@arm.com,
	olekstysh@gmail.com, Oleksandr_Tyshchenko@epam.com,
	Bertrand.Marquis@arm.com, Artem_Mygaiev@epam.com, julien@xen.org,
	jgross@suse.com, paul@xen.org, xen-devel@lists.xen.org
Subject: Re: Enabling hypervisor agnosticism for VirtIO backends
Message-ID: <YSNxVjlpCsc+chEC@stefanha-x1.localdomain>
References: <87v94ldrqq.fsf@linaro.org>
 <alpine.DEB.2.21.2108041055390.9768@sstabellini-ThinkPad-T480s>
 <YRuSPT9075NuWRYS@stefanha-x1.localdomain>
 <20210823062500.GC40863@laputa>
MIME-Version: 1.0
In-Reply-To: <20210823062500.GC40863@laputa>
X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23
Authentication-Results: relay.mimecast.com;
	auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=stefanha@redhat.com
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="yK3XVrpRKx0e7peX"
Content-Disposition: inline

--yK3XVrpRKx0e7peX
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Mon, Aug 23, 2021 at 03:25:00PM +0900, AKASHI Takahiro wrote:
> Hi Stefan,
>=20
> On Tue, Aug 17, 2021 at 11:41:01AM +0100, Stefan Hajnoczi wrote:
> > On Wed, Aug 04, 2021 at 12:20:01PM -0700, Stefano Stabellini wrote:
> > > > Could we consider the kernel internally converting IOREQ messages f=
rom
> > > > the Xen hypervisor to eventfd events? Would this scale with other k=
ernel
> > > > hypercall interfaces?
> > > >=20
> > > > So any thoughts on what directions are worth experimenting with?
> > > =20
> > > One option we should consider is for each backend to connect to Xen v=
ia
> > > the IOREQ interface. We could generalize the IOREQ interface and make=
 it
> > > hypervisor agnostic. The interface is really trivial and easy to add.
> > > The only Xen-specific part is the notification mechanism, which is an
> > > event channel. If we replaced the event channel with something else t=
he
> > > interface would be generic. See:
> > > https://gitlab.com/xen-project/xen/-/blob/staging/xen/include/public/=
hvm/ioreq.h#L52
> >=20
> > There have been experiments with something kind of similar in KVM
> > recently (see struct ioregionfd_cmd):
> > https://lore.kernel.org/kvm/dad3d025bcf15ece11d9df0ff685e8ab0a4f2edd.16=
13828727.git.eafanasova@gmail.com/
>=20
> Do you know the current status of Elena's work?
> It was last February that she posted her latest patch
> and it has not been merged upstream yet.

Elena worked on this during her Outreachy internship. At the moment no
one is actively working on the patches.

> > > There is also another problem. IOREQ is probably not be the only
> > > interface needed. Have a look at
> > > https://marc.info/?l=3Dxen-devel&m=3D162373754705233&w=3D2. Don't we =
also need
> > > an interface for the backend to inject interrupts into the frontend? =
And
> > > if the backend requires dynamic memory mappings of frontend pages, th=
en
> > > we would also need an interface to map/unmap domU pages.
> > >=20
> > > These interfaces are a lot more problematic than IOREQ: IOREQ is tiny
> > > and self-contained. It is easy to add anywhere. A new interface to
> > > inject interrupts or map pages is more difficult to manage because it
> > > would require changes scattered across the various emulators.
> >=20
> > Something like ioreq is indeed necessary to implement arbitrary devices=
,
> > but if you are willing to restrict yourself to VIRTIO then other
> > interfaces are possible too because the VIRTIO device model is differen=
t
> > from the general purpose x86 PIO/MMIO that Xen's ioreq seems to support=
.
>=20
> Can you please elaborate your thoughts a bit more here?
>=20
> It seems to me that trapping MMIOs to configuration space and
> forwarding those events to BE (or device emulation) is a quite
> straight-forward way to emulate device MMIOs.
> Or do you think of something of protocols used in vhost-user?
>=20
> # On the contrary, virtio-ivshmem only requires a driver to explicitly
> # forward a "write" request of MMIO accesses to BE. But I don't think
> # it's your point.=20

See my first reply to this email thread about alternative interfaces for
VIRTIO device emulation. The main thing to note was that although the
shared memory vring is used by VIRTIO transports today, the device model
actually allows transports to implement virtqueues differently (e.g.
making it possible to create a VIRTIO over TCP transport without shared
memory in the future).

It's possible to define a hypercall interface as a new VIRTIO transport
that provides higher-level virtqueue operations. Doing this is more work
than using vrings though since existing guest driver and device
emulation code already supports vrings.

I don't know the requirements of Stratos so I can't say if creating a
new hypervisor-independent interface (VIRTIO transport) that doesn't
rely on shared memory vrings makes sense. I just wanted to raise the
idea in case you find that VIRTIO's vrings don't meet your requirements.

Stefan

--yK3XVrpRKx0e7peX
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhpWov9P5fNqsNXdanKSrs4Grc8gFAmEjcVYACgkQnKSrs4Gr
c8gdnAgAn5gW6trpxBI4eF3tg90QZzgHc+llyARWpRx0MUGkK75BecJy82x/sqWR
G8WZ8c9xn8iU1kCI4FBoknRE6dG2aUh5uoJIiXpdCXjGZ/18vJe+jVRcWDJsa+NR
cf65FiH+7GkDOZRpS0NvJp1e4a3h5Azb1QN9QsS+FK4MEQBZN3tL4UEsmwOk40eM
uT9HMUS+4RIvmkqk5ejtvPIUYyZV4viqHB3/g6K7HdK4TvbrrB1h1jmRlQBP9td9
i3h8N9ApALn0n16tknYTWz8ivBAksA6g/L38G0tSlI+G8SBmoYBKNaDJa8ZPq/BM
K9d+4v1ErJfsigKIsff6wXsdqf5cug==
=dIhB
-----END PGP SIGNATURE-----

--yK3XVrpRKx0e7peX--



From xen-devel-bounces@lists.xenproject.org Mon Aug 23 10:04:01 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 10:04:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170284.311048 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI6oB-0007IT-Ul; Mon, 23 Aug 2021 10:03:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170284.311048; Mon, 23 Aug 2021 10:03:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI6oB-0007IM-Rs; Mon, 23 Aug 2021 10:03:59 +0000
Received: by outflank-mailman (input) for mailman id 170284;
 Mon, 23 Aug 2021 10:03: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 1mI6o9-0007IC-Nc; Mon, 23 Aug 2021 10:03: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 1mI6o9-00089r-FX; Mon, 23 Aug 2021 10:03: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 1mI6o9-0000Q7-5z; Mon, 23 Aug 2021 10:03:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mI6o9-00026T-5X; Mon, 23 Aug 2021 10:03: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:Message-Id:Subject:To;
	bh=0CZldllB3EyCx7q3/UE/tikoPUrt9YnxZiZy4AgB8ng=; b=WC3HYv5lXOHyB4XiP+/sjzpwRu
	pQfk6agS0gjS2I/wmpnFIuEP7nrEnG9oQqlR7RdxUqXwxghFjWjzhrfDP7MP8feN1sjj4JZ4H8nGq
	VJnw4mY7fBgALR+oATMREeY2MHOpYMRm7mZhEVzKVUDopwkiKpETiCyLUeREoWf+zI5A=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Subject: [xen-4.14-testing bisection] complete test-amd64-i386-xl-qemuu-ovmf-amd64
Message-Id: <E1mI6o9-00026T-5X@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 23 Aug 2021 10:03:57 +0000

branch xen-4.14-testing
xenbranch xen-4.14-testing
job test-amd64-i386-xl-qemuu-ovmf-amd64
testid debian-hvm-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 git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  ovmf git://xenbits.xen.org/osstest/ovmf.git
  Bug introduced:  d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Bug not present: 3357ac73807d83eb212632ee7c2e032a20a49c56
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164407/


  commit d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Author: Laszlo Ersek <lersek@redhat.com>
  Date:   Wed May 26 22:14:24 2021 +0200
  
      OvmfPkg/PlatformPei: remove Xen support
      
      The "OvmfPkg/PlatformPei/PlatformPei.inf" module is used by the following
      platform DSCs:
      
        OvmfPkg/AmdSev/AmdSevX64.dsc
        OvmfPkg/OvmfPkgIa32.dsc
        OvmfPkg/OvmfPkgIa32X64.dsc
        OvmfPkg/OvmfPkgX64.dsc
      
      Remove Xen support from "OvmfPkg/PlatformPei", including any dependencies
      that now become unused. The basic idea is to substitute FALSE for "mXen".
      
      Remove "OvmfPkg/PlatformPei" from the "OvmfPkg: Xen-related modules"
      section of "Maintainers.txt".
      
      This patch is best reviewed with "git show -b -W".
      
      Cc: Andrew Fish <afish@apple.com>
      Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
      Cc: Jordan Justen <jordan.l.justen@intel.com>
      Cc: Leif Lindholm <leif@nuviainc.com>
      Cc: Michael D Kinney <michael.d.kinney@intel.com>
      Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
      Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2122
      Signed-off-by: Laszlo Ersek <lersek@redhat.com>
      Message-Id: <20210526201446.12554-22-lersek@redhat.com>
      Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
      Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
      Reviewed-by: Leif Lindholm <leif@nuviainc.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-4.14-testing/test-amd64-i386-xl-qemuu-ovmf-amd64.debian-hvm-install.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/xen-4.14-testing/test-amd64-i386-xl-qemuu-ovmf-amd64.debian-hvm-install --summary-out=tmp/164407.bisection-summary --basis-template=163750 --blessings=real,real-bisect,real-retry xen-4.14-testing test-amd64-i386-xl-qemuu-ovmf-amd64 debian-hvm-install
Searching for failure / basis pass:
 164300 fail [host=huxelrebe0] / 163750 [host=elbling1] 163726 [host=albana0] 163709 [host=chardonnay0] 162891 [host=albana0] 162881 [host=elbling1] 162547 [host=fiano0] 162365 [host=albana1] 161771 [host=albana1] 161484 [host=chardonnay1] 161324 [host=elbling0] 161048 [host=elbling1] 160156 [host=elbling0] 160143 [host=chardonnay1] 160127 [host=huxelrebe1] 159840 [host=chardonnay1] 159450 [host=elbling1] 159420 [host=fiano0] 158558 [host=fiano0] 157673 [host=huxelrebe1] 157650 [host=albana0] 15\
 7564 [host=fiano0] 157133 [host=fiano1] 156989 [host=elbling1] 156716 [host=huxelrebe1] 156670 [host=pinot0] 156617 [host=chardonnay0] 156594 [host=chardonnay1] 156525 [host=fiano1] 156460 [host=elbling1] 156394 [host=albana1] 156264 [host=fiano0] 156063 [host=albana1] 156031 [host=pinot0] 155417 [host=fiano0] 155303 [host=huxelrebe1] 155173 [host=rimava1] 155087 ok.
Failure / basis pass flights: 164300 / 155087
(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 git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git
Latest c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 54082c81d96028ba8c76fbe6784085cf1df76b20 61f28060d5b899c502e2b3bf45a39b1dd2a1224c
Basis pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dd5c7e3c5282b084daa5bbf0ec229cec699b2c17 3c659044118e34603161457db9934a34f816d78b ea6d3cd1ed79d824e605a70c3626bc437c386260 155821a1990b6de78dde5f98fa5ab90e802021e0 f37a1cf023b277d0d49323bf322ce3ff0c92262d
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#dd5c7e3c5282b084daa5bbf0ec229cec699b2c17-ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c git://xenbits.xen.org/qemu-xen-traditional.git#3c659044118e34603161457db99\
 34a34f816d78b-3c659044118e34603161457db9934a34f816d78b git://xenbits.xen.org/qemu-xen.git#ea6d3cd1ed79d824e605a70c3626bc437c386260-d7d6a60e73ee21e82f0bac2036153ccccf996e6c git://xenbits.xen.org/osstest/seabios.git#155821a1990b6de78dde5f98fa5ab90e802021e0-54082c81d96028ba8c76fbe6784085cf1df76b20 git://xenbits.xen.org/xen.git#f37a1cf023b277d0d49323bf322ce3ff0c92262d-61f28060d5b899c502e2b3bf45a39b1dd2a1224c
Loaded 74248 nodes in revision graph
Searching for test results:
 162881 [host=elbling1]
 162891 [host=albana0]
 154641 [host=albana1]
 155016 [host=pinot0]
 155087 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dd5c7e3c5282b084daa5bbf0ec229cec699b2c17 3c659044118e34603161457db9934a34f816d78b ea6d3cd1ed79d824e605a70c3626bc437c386260 155821a1990b6de78dde5f98fa5ab90e802021e0 f37a1cf023b277d0d49323bf322ce3ff0c92262d
 155173 [host=rimava1]
 155303 [host=huxelrebe1]
 155417 [host=fiano0]
 156031 [host=pinot0]
 156063 [host=albana1]
 156264 [host=fiano0]
 156394 [host=albana1]
 156404 []
 156460 [host=elbling1]
 156525 [host=fiano1]
 163709 [host=chardonnay0]
 163726 [host=albana0]
 156594 [host=chardonnay1]
 156617 [host=chardonnay0]
 163750 [host=elbling1]
 156670 [host=pinot0]
 156716 [host=huxelrebe1]
 156989 [host=elbling1]
 157133 [host=fiano1]
 157564 [host=fiano0]
 157650 [host=albana0]
 157673 [host=huxelrebe1]
 158558 [host=fiano0]
 164261 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 54082c81d96028ba8c76fbe6784085cf1df76b20 61f28060d5b899c502e2b3bf45a39b1dd2a1224c
 164299 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dd5c7e3c5282b084daa5bbf0ec229cec699b2c17 3c659044118e34603161457db9934a34f816d78b ea6d3cd1ed79d824e605a70c3626bc437c386260 155821a1990b6de78dde5f98fa5ab90e802021e0 f37a1cf023b277d0d49323bf322ce3ff0c92262d
 164321 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 54082c81d96028ba8c76fbe6784085cf1df76b20 61f28060d5b899c502e2b3bf45a39b1dd2a1224c
 164300 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 54082c81d96028ba8c76fbe6784085cf1df76b20 61f28060d5b899c502e2b3bf45a39b1dd2a1224c
 164328 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 e64bd0704f08b0dd88fb88429f9db307ff26f4d5 3c659044118e34603161457db9934a34f816d78b e6a4cbe48cfca6adbe4e7acdf7e405c8315facaa ef88eeaf052c8a7d28c5f85e790c5e45bcffa45e 4170218cb96546426664e5c1d00c5a848a26ae9e
 164333 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 34e16ff883f0e047fb9c0ac5c179f1b084ffbf98 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 6eff8085980dba0938cea0193b8a0fd3c6b0c4ca 10f0b2d49376865d49680f06c52b451fabce3bb5
 164338 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 19a541d70e0748af69d3b09d55a1415762c8d749 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c e3c30795823672eec9bde75187e184f23ed98d70 b6a8c4f72def4d1135ff42660a86276ce2565c8c
 164342 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d4a8aaee7303c4095828aac79ce36704b24675d3 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b046e05736deecbd8254540c5e45444115fb1c98
 164349 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 e25566cd2bf03e9cf66f30c3b7c2b6944022ee5a 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b046e05736deecbd8254540c5e45444115fb1c98
 164356 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b046e05736deecbd8254540c5e45444115fb1c98
 164360 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c9bba52fc7312e8ea9071f9a4b7005954e36e0c1 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b046e05736deecbd8254540c5e45444115fb1c98
 164368 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 8f8d3d90c5c5e317693a87339f9ddf9d7412a0fc 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b046e05736deecbd8254540c5e45444115fb1c98
 164377 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d491c88a0c8bec7a0c8b51e0c7d1f8dc102cfa40 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b046e05736deecbd8254540c5e45444115fb1c98
 164384 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 e7641171b6c1f858f3d979c0e8f04d6c12870baa 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b046e05736deecbd8254540c5e45444115fb1c98
 164391 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b046e05736deecbd8254540c5e45444115fb1c98
 164396 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b046e05736deecbd8254540c5e45444115fb1c98
 164399 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b046e05736deecbd8254540c5e45444115fb1c98
 164401 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b046e05736deecbd8254540c5e45444115fb1c98
 164404 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b046e05736deecbd8254540c5e45444115fb1c98
 164407 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b046e05736deecbd8254540c5e45444115fb1c98
 159420 [host=fiano0]
 159450 [host=elbling1]
 159840 [host=chardonnay1]
 160127 [host=huxelrebe1]
 160143 [host=chardonnay1]
 160156 [host=elbling0]
 161048 [host=elbling1]
 161324 [host=elbling0]
 161484 [host=chardonnay1]
 161771 [host=albana1]
 162365 [host=albana1]
 162547 [host=fiano0]
Searching for interesting versions
 Result found: flight 155087 (pass), for basis pass
 For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b046e05736deecbd8254540c5e45444115fb1c98, results HASH(0x5590906bae60) HASH(0x5590907315a8) HASH(0x5590906e8920) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1\
 e6a472b0eb9558310b518f0dfcd8860 e7641171b6c1f858f3d979c0e8f04d6c12870baa 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b046e05736deecbd8254540c5e45444115fb1c98, results HASH(0x5590906d2430) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d491c88a0c8bec7a0c8b51e0c7d1f8dc102cfa40 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac20\
 36153ccccf996e6c 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b046e05736deecbd8254540c5e45444115fb1c98, results HASH(0x5590907150a0) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 8f8d3d90c5c5e317693a87339f9ddf9d7412a0fc 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b046e05736deecbd8254540c5e45444115fb1c98, results HASH(0x55909071e2e8) For basis\
  failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c9bba52fc7312e8ea9071f9a4b7005954e36e0c1 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b046e05736deecbd8254540c5e45444115fb1c98, results HASH(0x559090721cf8) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 e25566cd2bf03e9cf66f\
 30c3b7c2b6944022ee5a 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b046e05736deecbd8254540c5e45444115fb1c98, results HASH(0x55909070d838) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 34e16ff883f0e047fb9c0ac5c179f1b084ffbf98 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 6eff8085980dba0938cea0193b8a0fd3c6b\
 0c4ca 10f0b2d49376865d49680f06c52b451fabce3bb5, results HASH(0x5590906abed8) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 e64bd0704f08b0dd88fb88429f9db307ff26f4d5 3c659044118e34603161457db9934a34f816d78b e6a4cbe48cfca6adbe4e7acdf7e405c8315facaa ef88eeaf052c8a7d28c5f85e790c5e45bcffa45e 4170218cb96546426664e5c1d00c5a848a26ae9e, results HASH(0x55908bda62d0) Result found: flight 164261 (fail), for basis failure (at anc\
 estor ~1239)
 Repro found: flight 164299 (pass), for basis pass
 Repro found: flight 164300 (fail), for basis failure
 0 revisions at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b046e05736deecbd8254540c5e45444115fb1c98
No revisions left to test, checking graph state.
 Result found: flight 164391 (pass), for last pass
 Result found: flight 164396 (fail), for first failure
 Repro found: flight 164399 (pass), for last pass
 Repro found: flight 164401 (fail), for first failure
 Repro found: flight 164404 (pass), for last pass
 Repro found: flight 164407 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  ovmf git://xenbits.xen.org/osstest/ovmf.git
  Bug introduced:  d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Bug not present: 3357ac73807d83eb212632ee7c2e032a20a49c56
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164407/


  commit d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Author: Laszlo Ersek <lersek@redhat.com>
  Date:   Wed May 26 22:14:24 2021 +0200
  
      OvmfPkg/PlatformPei: remove Xen support
      
      The "OvmfPkg/PlatformPei/PlatformPei.inf" module is used by the following
      platform DSCs:
      
        OvmfPkg/AmdSev/AmdSevX64.dsc
        OvmfPkg/OvmfPkgIa32.dsc
        OvmfPkg/OvmfPkgIa32X64.dsc
        OvmfPkg/OvmfPkgX64.dsc
      
      Remove Xen support from "OvmfPkg/PlatformPei", including any dependencies
      that now become unused. The basic idea is to substitute FALSE for "mXen".
      
      Remove "OvmfPkg/PlatformPei" from the "OvmfPkg: Xen-related modules"
      section of "Maintainers.txt".
      
      This patch is best reviewed with "git show -b -W".
      
      Cc: Andrew Fish <afish@apple.com>
      Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
      Cc: Jordan Justen <jordan.l.justen@intel.com>
      Cc: Leif Lindholm <leif@nuviainc.com>
      Cc: Michael D Kinney <michael.d.kinney@intel.com>
      Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
      Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2122
      Signed-off-by: Laszlo Ersek <lersek@redhat.com>
      Message-Id: <20210526201446.12554-22-lersek@redhat.com>
      Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
      Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
      Reviewed-by: Leif Lindholm <leif@nuviainc.com>

neato: graph is too large for cairo-renderer bitmaps. Scaling by 0.432802 to fit
pnmtopng: 57 colors found
Revision graph left in /home/logs/results/bisect/xen-4.14-testing/test-amd64-i386-xl-qemuu-ovmf-amd64.debian-hvm-install.{dot,ps,png,html,svg}.
----------------------------------------
164407: tolerable ALL FAIL

flight 164407 xen-4.14-testing real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/164407/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail baseline untested


jobs:
 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



From xen-devel-bounces@lists.xenproject.org Mon Aug 23 10:08:09 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 10:08:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170293.311063 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI6s8-00081p-OB; Mon, 23 Aug 2021 10:08:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170293.311063; Mon, 23 Aug 2021 10:08:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI6s8-00081i-KJ; Mon, 23 Aug 2021 10:08:04 +0000
Received: by outflank-mailman (input) for mailman id 170293;
 Mon, 23 Aug 2021 10:08:03 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=h1N0=NO=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mI6s7-00081c-4s
 for xen-devel@lists.xenproject.org; Mon, 23 Aug 2021 10:08:03 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id fd5a8c9e-03f9-11ec-a86e-12813bfff9fa;
 Mon, 23 Aug 2021 10:07:58 +0000 (UTC)
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur03lp2050.outbound.protection.outlook.com [104.47.8.50]) (Using
 TLS) by relay.mimecast.com with ESMTP id de-mta-5-wuVUA3avO7uJ6KGL9xqxQw-1;
 Mon, 23 Aug 2021 12:07:47 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0401MB2607.eurprd04.prod.outlook.com (2603:10a6:800:58::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Mon, 23 Aug
 2021 10:07:46 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4436.024; Mon, 23 Aug 2021
 10:07:46 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0243.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100::15) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Mon, 23 Aug 2021 10:07: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: fd5a8c9e-03f9-11ec-a86e-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629713277;
	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=OdBMyKTHFaYUPWB5WhpAnWW3mJOLfufORfe7ZsuOY4s=;
	b=f+e1mpGulFik6o4PcJOCjeWcnCS3H9JZ/bXRFr5QJJi5OL9axIT5BQnj/aFLUUgHYSPNx6
	k4Hkdu2h/RADr1Y6rhkEkpLvN/7y84tjvi6ugOQqsjsPJTiCsKFSr3//dAhIGDWcHboQV8
	5aPzIsWjf4xQYMLjl/P7ZqMYrTMkan4=
X-MC-Unique: wuVUA3avO7uJ6KGL9xqxQw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Yo+EXMNAX7b13Xw1EStrXAfHRU1DFAbHS6EcII5ezHUU9DJI1BKw4Z/WjZiwuA27JHnPOcO/XNwaFL6wk+xgXtopVVBGHxRlRW5xcO0JKFqd9n0oskhz+JxUPW/MJsAWQWfMwTCth1R8ByDGU4SjwHU0SwZ3VldAnCOb1pNCQNDorIhle9uYulbZR5HiCPQ1+6y7sxEP6xA2ubLuY2wvO62KXo95DSU+NdaO8N7JgwBl85BGlgXniCdigXn+H0TgIGiA+GFbf03hTZkTB2xwRUkHyRDYHNd9HdfXY/+UlMvv6pEhcpRFjdxiHq6F9vilDDypXlqUHvY0siyBRZxp9g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OdBMyKTHFaYUPWB5WhpAnWW3mJOLfufORfe7ZsuOY4s=;
 b=IBo2OVdtmTAnE65YmASDgM8IPnLN8ANG8Bt+s9hsXoxIgGP2L4LmAl0S8Kop/qDS4cevamrwkeo4nlN/iy6vEfuFO+6ucr5/tLpLPiHkhT/U3WRxKA6OPoAZ540dexVOvCpSNKyjl3BvnBMXVu+k68i8GYeX7iZxhfpeiIVqfGzMrb3WkNEGHEEqH5UIv5+RzHQpJY/Ny1Y9OCx7hD6OTMH4thzv8sHnvoVCno8C41QZmvcyc6MrRjGXbztKWNhG6EujyLV5KtMTF77MIgreLlWbX4a9f3EeSiuvKE8IySeLY20bU9pl5s/E+hd3TAPma17AT5+KfQWt/JjPfgQf3g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [xen-4.12-testing bisection] complete
 test-amd64-i386-xl-qemuu-ovmf-amd64
To: Anthony PERARD <anthony.perard@citrix.com>,
 Ian Jackson <iwj@xenproject.org>
Cc: osstest service owner <osstest-admin@xenproject.org>,
 xen-devel@lists.xenproject.org
References: <E1mHy0c-00059n-HR@osstest.test-lab.xenproject.org>
 <9e009e5d-41cf-71de-fed4-88a962b4ab66@suse.com> <YSNrZfjGJzdKUlvV@perard>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <3700f293-001c-c01c-c443-86be60e5601f@suse.com>
Date: Mon, 23 Aug 2021 12:07:44 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <YSNrZfjGJzdKUlvV@perard>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0243.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100::15)
 To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a1d61fa3-6272-4010-bf5e-08d9661ddab4
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2607:
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB2607A057006E415B4042F007B3C49@VI1PR0401MB2607.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ioA0yTWfkxoPP/sd3x/8Hhi7cFELQeW/TN2KKhU1rhSpZknZWa1iu9NcgKnPE1zAvEMWvyzJn/6iBW0iau3tZREnXXmhCt/qEhb4VSSUQhpfSRGmh7O0hEcdyghOfBBAy+DdFu5KkEA68mZEQnuCMs1k+tGuUtLrSnkeAbcicpjWwm0vZjLxpxAD5pZ/XMrDUwC1Bem45P8KH5Yog9A9m33349kZ1L2HzXUfHDHyg1p6GhLKQjTiD8mP6D0S+iUOYwlFqj0eRi1QRc0AAhLQPi2rgXMbJi3/5s5UgTFebghzIOkPWl3Ze+pEvPt4/KfaOfHvAtYFcu/bckpyQDl2slQ1l7pw2mHdlX7j6AX8piyeOS8QhOEfdC2LU8awsI8Fv7HAHtRGWbaZro1dSNspEEoE8rYasJoJesodEcJHObLon6MHD5njCYYMfcVuP3rwXYUlKuJjVTbUWBMe3cAW8FjX06WjE15+TSjc/8Dkuf7X4qCpaFU16DSqaclXhr1/UpQFAsVvQx4VO8ohZJe00NOn7S6ebz2J/QuXwPmBJjQBwIXnfbQUrpPxrafEhAsgywYeh9EBJtlX+SEytFG9b/W1Y7q/YuX60mFuWKicweQ+dI+OG12aI1UVU8kLXOa7sM9isVN+GJbg5IDunmH+R19gu7lvGXTV+B72LOrJppbf6Gl0QQSvboHS6wwRlZ2Zuk0S+x6UVNj4bISuDdN0AwLTYAbc5R1mg3bUTHoc46k=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(39850400004)(366004)(396003)(346002)(376002)(26005)(186003)(2906002)(38100700002)(6486002)(5660300002)(31686004)(2616005)(956004)(8676002)(66946007)(110136005)(4326008)(31696002)(8936002)(16576012)(478600001)(66476007)(316002)(66556008)(36756003)(83380400001)(53546011)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?emxyNFVRZUNTczgvR2VGYkhwWGU5akhmZk8xVHRxc2lBdFBpZ0NVTElFbzFw?=
 =?utf-8?B?SmdWVFdDSE95MUgzMnlyQk1UTWl6aHE1aXpxTmROQy9lczVZWVAyRWN2M1FE?=
 =?utf-8?B?R2ZsRXlIbld0cytuVlRhenZvbWJjWXlIUndvOWJKSjRJb0xiNWMxZ3l2ME9E?=
 =?utf-8?B?YzdWai9hTjY0VTUzbEVMd3FuSFBxQkhER29XUk10clJ4NFJ6NzM3bDlNbVZR?=
 =?utf-8?B?Z1lZSWtra3JmV1JRamNOczJTUHVWQ0xnREN6RTRXOFN0OFMwbWYyeE9IV3hW?=
 =?utf-8?B?c0ZsVW11c011ZFBRb1pQTzZwQjVyREU3WUxJMWwvclBpYzVhZUJxdC8yWi9N?=
 =?utf-8?B?YlhwSWpCbFRZVnNadXNManVnTTJUYlVXNFBtQ2VJbDNoQ3pkcHptMVZxaUt6?=
 =?utf-8?B?MUxnWlF5SUx3ZjB1TUZrTFpaditxdWtyTGNrRExrK2tOSU9KQXVTL21tS0Jj?=
 =?utf-8?B?YlplQkVWZkptYUVGK3IrY3JEeWwvM01HMU9DdnFES2xodXBScFhwdmt2OHZW?=
 =?utf-8?B?OHFjQ2VHYjFUcVVORCtUYU53VW1yYVk5clM4VEd5Y2JzSFVSalg5WXVmaEo0?=
 =?utf-8?B?UnlaNHdNU01RQ2RNWWJsdzBHZVZ6aUhKZEd3djdibGluQ0tEU2Qwd2gyLzhH?=
 =?utf-8?B?NWJzSFFuNU9BaU9XbzVUb1RNNi9qWndGTmtzVFFhcnd5RFp0N0p6d2F0UVJo?=
 =?utf-8?B?WjZOUm42VE9ZS2tlenZIU1BseVFPV20zNHczcGUxYVREUEJLK3FlZlB0QjFX?=
 =?utf-8?B?ZkowUG5yU1o1b1dJS2lOYytOMkFjYmc4QjF6d1c1WTE1UkZ3cDhSYjBzcURR?=
 =?utf-8?B?N0JGVWVlUktWZjQ3NGoyNjA1SVRFYmM4Q0wvM3NyK2lMZkZYVXhnRVh2VVlC?=
 =?utf-8?B?ZFo1amZHY0pFdDA4KzFRcDg2QWlKN2hFaTRzT0pieDFhWUhiZVpObmVmUXhD?=
 =?utf-8?B?akoxNlNVMFJnYXFWRjMwaHROUTlnZ0Z3Uk5MMTdlN2xpK3VXL21qL0NwUDVI?=
 =?utf-8?B?TDF4Uk1RY0p3ZDd0OWJ3Zi80WUQ2VTdNZzltQzB3OXN4L3F3NlU3RUhwQmQz?=
 =?utf-8?B?c3JGb1F1cU1YQWl1a2IyR1R0QjhROWY5TVpKNWZQZ0pxbEY5cjZMcnBVTUZD?=
 =?utf-8?B?S2phLytTa0hpQmdBdEJ6UmxhMTdwSkUxc20wL0ZZdEpHZDNMYTM1U2l5a2FU?=
 =?utf-8?B?amR0TjVMYUdFK1F4bms2SGs1bk92YkVobGNPUEJKMW9LTVpLMkdncVB3K0hJ?=
 =?utf-8?B?NFRReW5nU1BtMzhUdzlHTHZKb0k5S0JUQ1pJUitlb3VTVkRzVjJDeC84THVH?=
 =?utf-8?B?Zk1iQzI5U2xTNmJmTlJCdm5pQmQxVGN3U3FMNXBmSFN0U1NROU5aRmNKZFdQ?=
 =?utf-8?B?MW55UUNNVUZJQjIwV1BscnVVM2dGdEhFandpVWRwYmJYV2krcEhIY3FCK0Yy?=
 =?utf-8?B?T2hCM0s3Ym4xTUg1M1liOEdJL2NhbThoNzRVUThXSnpnd0p6TFZsbkpMdjda?=
 =?utf-8?B?Yjl6Y01zSG5nYm1nUlVnTjZwNnNYWVowMXo4RldtdmkyT1lxVVh3SWZnQ1Y4?=
 =?utf-8?B?U0w0M1A2MTk0VWRVdkZLeHVNdzB4ZnRPUW5zeGxOS2tBMVJwdWxRd2hkRjhI?=
 =?utf-8?B?a2d2eEVjelpRODJvSVpmVnhGRnc0eXp2aW1ZN1d0L3ZsbmxJY2RmK0wvUjY3?=
 =?utf-8?B?WVozNjNxbmQrMlhJL2MxRHUrUFV2bWswOTQxbTlsSFdQLy9ZaXFkcHhXV21F?=
 =?utf-8?Q?UUmnIXXU1wxBbF1eLzfq1+BW78qEJlaA3yPy3S0?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a1d61fa3-6272-4010-bf5e-08d9661ddab4
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2021 10:07:46.0238
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: q+HOls2W2DrnAe+ItBtVDoOmNX01vuVIg9aISL9py7BfjK2RGDGP8QX6/6erAcbvovLbtBZ5EodXO8JVs6828g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2607

On 23.08.2021 11:33, Anthony PERARD wrote:
> On Mon, Aug 23, 2021 at 09:07:32AM +0200, Jan Beulich wrote:
>> On 23.08.2021 02:40, osstest service owner wrote:
>>>   commit d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
>>>   Author: Laszlo Ersek <lersek@redhat.com>
>>>   Date:   Wed May 26 22:14:24 2021 +0200
>>>   
>>>       OvmfPkg/PlatformPei: remove Xen support
>>
>> Uniformly from 4.15 through to 4.12 (the latter of which shouldn't have
>> been affected by whatever has been pulled in in the first place, given
>> it's a security-only branch, but with the OVMF commit to use being
>> hardcoded in ./Config.mk I don't really understand how a possible
>> change to the OVMF tree could have affected this version) tests are
>> now failing, everywhere with the above bisection result. Given that we
>> want to get out releases from the 4.15 and 4.13 branches right after
>> the batch of XSAs going public on Wednesday, something needs to be
>> done about this pretty soon.
>>
>> Does osstest override ./Config.mk's choice? Albeit I guess even if it
>> does that's not outright wrong, and instead it would be bad if the
>> older versions wouldn't work anymore with an updated OVMF.
> 
> Yes, osstest uses "xen-tested-master" branch since c9d1e5896fe2
> ("cr-daily-branch: ovmf: "usually" use xen-tested-master") for stable
> branches.
> 
> We are going to need to backport a commit from unstable. Either
>     aad7b5c11d51 ("tools/firmware/ovmf: Use OvmfXen platform file is exist")
>         (but has been reverted)
> or
>     81f291420238 ("tools/firmware/ovmf: Use OvmfXen platform file if exist and update OVMF")
>         (but it also changes the version of ovmf pulled by default,
>          which we probably don't want to change)
> 
> So I would suggest backporting aad7b5c11d51.

Anthony - thanks for the quick reply.

Ian - that's largely your call then I guess.

Overall I'm not convinced though that backporting either of these
changes is the way to go. But I say this without knowing what the
background is for osstest's overriding of Config.mk. Plus it's not
immediately clear to me whether backporting is perhaps the only
approach to keeping older Xen versions working with up-to-date
OVMF; I'm getting the impression that it might be.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Aug 23 10:33:05 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 10:33:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170305.311077 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI7G7-0002zv-Nm; Mon, 23 Aug 2021 10:32:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170305.311077; Mon, 23 Aug 2021 10:32:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI7G7-0002zo-Kb; Mon, 23 Aug 2021 10:32:51 +0000
Received: by outflank-mailman (input) for mailman id 170305;
 Mon, 23 Aug 2021 10:32:50 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/xpK=NO=arm.com=bertrand.marquis@srs-us1.protection.inumbo.net>)
 id 1mI7G6-0002zi-13
 for xen-devel@lists.xenproject.org; Mon, 23 Aug 2021 10:32:50 +0000
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id 509039d5-c927-4e22-9905-e12ae4af69ef;
 Mon, 23 Aug 2021 10:32:48 +0000 (UTC)
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 1343612FC;
 Mon, 23 Aug 2021 03:32:48 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id D10F73F66F;
 Mon, 23 Aug 2021 03:32: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: 509039d5-c927-4e22-9905-e12ae4af69ef
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: 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>,
	Ian Jackson <iwj@xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v2 0/7] xen/arm: Sanitize cpuinfo
Date: Mon, 23 Aug 2021 11:32:09 +0100
Message-Id: <cover.1629713932.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.17.1

On arm architecture we might have heterogeneous platforms with different
types of cores. As a guest can potentialy run on any of those cores we
have to present them cpu features which are compatible with all cores
and discard the features which are only available on some cores.

As the features can be fairly complex, the way to deduce from 2
different features, what should be the acceptable minimal feature can be
complex (and sometime impossible).

To reduce the implementation effort in Xen, this serie is importing the
structures and filtering system used by Linux in order to build a
cpuinfo containing the best values compatible with all cores on the
platform.

The serie start by importing the necessary code and structure from Linux
and then use it to sanitize the boot cpuinfo.
It is also simplifying some Xen code which was doing the same in p2m
and allows to use heterogeneous platforms on arm64.

It is also adding DCZID and CTR registers in cpuinfo in order to check
for incoherent values between cores for those 2 registers. Xen is
tainted if different DCZID registers are found and CTR register is
sanitized when possible and in this case CTR register (and other
registers catched by HCR.TID2) is emulated.

With this serie, Xen was tested on a Juno board running on all 6 cores.

Changes in v2:
- Sanitize DCZID register
- Sanitize CTR_EL0 and add emulation of registers catched by TID2
- rename cpu_boot_data to system_cpuinfo

Bertrand Marquis (7):
  xen/arm: Import ID registers definitions from Linux
  xen/arm: Import ID features sanitize from linux
  xen/arm: Rename cpu_boot_data to system_cpuinfo
  xen/arm: Sanitize cpuinfo ID registers fields
  xen/arm: Use sanitize values for p2m
  xen/arm: Taint Xen on incompatible DCZID values
  xen/arm: Sanitize CTR_EL0 and emulate it if needed

 xen/arch/arm/arm64/Makefile            |   1 +
 xen/arch/arm/arm64/cpufeature.c        | 644 +++++++++++++++++++++++++
 xen/arch/arm/arm64/vsysreg.c           |  40 ++
 xen/arch/arm/cpufeature.c              |  12 +-
 xen/arch/arm/domain.c                  |   8 +
 xen/arch/arm/p2m.c                     |  30 +-
 xen/arch/arm/setup.c                   |  36 +-
 xen/arch/arm/smpboot.c                 |  11 +-
 xen/arch/arm/vcpreg.c                  |  45 ++
 xen/common/kernel.c                    |   6 +-
 xen/include/asm-arm/arm64/cpufeature.h | 104 ++++
 xen/include/asm-arm/arm64/hsr.h        |   6 +
 xen/include/asm-arm/arm64/sysregs.h    | 312 ++++++++++++
 xen/include/asm-arm/cpufeature.h       |  34 +-
 xen/include/asm-arm/processor.h        |  18 +-
 xen/include/xen/lib.h                  |   1 +
 16 files changed, 1254 insertions(+), 54 deletions(-)
 create mode 100644 xen/arch/arm/arm64/cpufeature.c
 create mode 100644 xen/include/asm-arm/arm64/cpufeature.h

-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 23 10:33:45 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 10:33:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170309.311088 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI7Gz-0003XI-0l; Mon, 23 Aug 2021 10:33:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170309.311088; Mon, 23 Aug 2021 10: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 1mI7Gy-0003XB-Tw; Mon, 23 Aug 2021 10:33:44 +0000
Received: by outflank-mailman (input) for mailman id 170309;
 Mon, 23 Aug 2021 10:33:43 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/xpK=NO=arm.com=bertrand.marquis@srs-us1.protection.inumbo.net>)
 id 1mI7Gx-0003X5-5e
 for xen-devel@lists.xenproject.org; Mon, 23 Aug 2021 10:33:43 +0000
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id 965acbb9-03fd-11ec-a86f-12813bfff9fa;
 Mon, 23 Aug 2021 10:33:42 +0000 (UTC)
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 5523C12FC;
 Mon, 23 Aug 2021 03:33:42 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 8AB793F66F;
 Mon, 23 Aug 2021 03:33: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: 965acbb9-03fd-11ec-a86f-12813bfff9fa
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2 1/7] xen/arm: Import ID registers definitions from Linux
Date: Mon, 23 Aug 2021 11:32:10 +0100
Message-Id: <eb44830ea7fd9963854cf83ccebcd9a0a0c566f6.1629713932.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <cover.1629713932.git.bertrand.marquis@arm.com>
References: <cover.1629713932.git.bertrand.marquis@arm.com>
In-Reply-To: <cover.1629713932.git.bertrand.marquis@arm.com>
References: <cover.1629713932.git.bertrand.marquis@arm.com>

Import some ID registers definitions from Linux sysreg header to have
required shift definitions for all ID registers fields.

Those are required to reuse the cpufeature sanitization system from
Linux kernel.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
Changes in v2: Rebase
---
 xen/include/asm-arm/arm64/sysregs.h | 312 ++++++++++++++++++++++++++++
 1 file changed, 312 insertions(+)

diff --git a/xen/include/asm-arm/arm64/sysregs.h b/xen/include/asm-arm/arm64/sysregs.h
index 795901e1ba..d7e4772f21 100644
--- a/xen/include/asm-arm/arm64/sysregs.h
+++ b/xen/include/asm-arm/arm64/sysregs.h
@@ -85,6 +85,318 @@
 #define ID_DFR1_EL1                 S3_0_C0_C3_5
 #endif
 
+/* ID registers (imported from arm64/include/asm/sysreg.h in Linux) */
+
+/* id_aa64isar0 */
+#define ID_AA64ISAR0_RNDR_SHIFT      60
+#define ID_AA64ISAR0_TLB_SHIFT       56
+#define ID_AA64ISAR0_TS_SHIFT        52
+#define ID_AA64ISAR0_FHM_SHIFT       48
+#define ID_AA64ISAR0_DP_SHIFT        44
+#define ID_AA64ISAR0_SM4_SHIFT       40
+#define ID_AA64ISAR0_SM3_SHIFT       36
+#define ID_AA64ISAR0_SHA3_SHIFT      32
+#define ID_AA64ISAR0_RDM_SHIFT       28
+#define ID_AA64ISAR0_ATOMICS_SHIFT   20
+#define ID_AA64ISAR0_CRC32_SHIFT     16
+#define ID_AA64ISAR0_SHA2_SHIFT      12
+#define ID_AA64ISAR0_SHA1_SHIFT      8
+#define ID_AA64ISAR0_AES_SHIFT       4
+
+#define ID_AA64ISAR0_TLB_RANGE_NI    0x0
+#define ID_AA64ISAR0_TLB_RANGE       0x2
+
+/* id_aa64isar1 */
+#define ID_AA64ISAR1_I8MM_SHIFT      52
+#define ID_AA64ISAR1_DGH_SHIFT       48
+#define ID_AA64ISAR1_BF16_SHIFT      44
+#define ID_AA64ISAR1_SPECRES_SHIFT   40
+#define ID_AA64ISAR1_SB_SHIFT        36
+#define ID_AA64ISAR1_FRINTTS_SHIFT   32
+#define ID_AA64ISAR1_GPI_SHIFT       28
+#define ID_AA64ISAR1_GPA_SHIFT       24
+#define ID_AA64ISAR1_LRCPC_SHIFT     20
+#define ID_AA64ISAR1_FCMA_SHIFT      16
+#define ID_AA64ISAR1_JSCVT_SHIFT     12
+#define ID_AA64ISAR1_API_SHIFT       8
+#define ID_AA64ISAR1_APA_SHIFT       4
+#define ID_AA64ISAR1_DPB_SHIFT       0
+
+#define ID_AA64ISAR1_APA_NI                     0x0
+#define ID_AA64ISAR1_APA_ARCHITECTED            0x1
+#define ID_AA64ISAR1_APA_ARCH_EPAC              0x2
+#define ID_AA64ISAR1_APA_ARCH_EPAC2             0x3
+#define ID_AA64ISAR1_APA_ARCH_EPAC2_FPAC        0x4
+#define ID_AA64ISAR1_APA_ARCH_EPAC2_FPAC_CMB    0x5
+#define ID_AA64ISAR1_API_NI                     0x0
+#define ID_AA64ISAR1_API_IMP_DEF                0x1
+#define ID_AA64ISAR1_API_IMP_DEF_EPAC           0x2
+#define ID_AA64ISAR1_API_IMP_DEF_EPAC2          0x3
+#define ID_AA64ISAR1_API_IMP_DEF_EPAC2_FPAC     0x4
+#define ID_AA64ISAR1_API_IMP_DEF_EPAC2_FPAC_CMB 0x5
+#define ID_AA64ISAR1_GPA_NI                     0x0
+#define ID_AA64ISAR1_GPA_ARCHITECTED            0x1
+#define ID_AA64ISAR1_GPI_NI                     0x0
+#define ID_AA64ISAR1_GPI_IMP_DEF                0x1
+
+/* id_aa64pfr0 */
+#define ID_AA64PFR0_CSV3_SHIFT       60
+#define ID_AA64PFR0_CSV2_SHIFT       56
+#define ID_AA64PFR0_DIT_SHIFT        48
+#define ID_AA64PFR0_AMU_SHIFT        44
+#define ID_AA64PFR0_MPAM_SHIFT       40
+#define ID_AA64PFR0_SEL2_SHIFT       36
+#define ID_AA64PFR0_SVE_SHIFT        32
+#define ID_AA64PFR0_RAS_SHIFT        28
+#define ID_AA64PFR0_GIC_SHIFT        24
+#define ID_AA64PFR0_ASIMD_SHIFT      20
+#define ID_AA64PFR0_FP_SHIFT         16
+#define ID_AA64PFR0_EL3_SHIFT        12
+#define ID_AA64PFR0_EL2_SHIFT        8
+#define ID_AA64PFR0_EL1_SHIFT        4
+#define ID_AA64PFR0_EL0_SHIFT        0
+
+#define ID_AA64PFR0_AMU              0x1
+#define ID_AA64PFR0_SVE              0x1
+#define ID_AA64PFR0_RAS_V1           0x1
+#define ID_AA64PFR0_FP_NI            0xf
+#define ID_AA64PFR0_FP_SUPPORTED     0x0
+#define ID_AA64PFR0_ASIMD_NI         0xf
+#define ID_AA64PFR0_ASIMD_SUPPORTED  0x0
+#define ID_AA64PFR0_EL1_64BIT_ONLY   0x1
+#define ID_AA64PFR0_EL1_32BIT_64BIT  0x2
+#define ID_AA64PFR0_EL0_64BIT_ONLY   0x1
+#define ID_AA64PFR0_EL0_32BIT_64BIT  0x2
+
+/* id_aa64pfr1 */
+#define ID_AA64PFR1_MPAMFRAC_SHIFT   16
+#define ID_AA64PFR1_RASFRAC_SHIFT    12
+#define ID_AA64PFR1_MTE_SHIFT        8
+#define ID_AA64PFR1_SSBS_SHIFT       4
+#define ID_AA64PFR1_BT_SHIFT         0
+
+#define ID_AA64PFR1_SSBS_PSTATE_NI    0
+#define ID_AA64PFR1_SSBS_PSTATE_ONLY  1
+#define ID_AA64PFR1_SSBS_PSTATE_INSNS 2
+#define ID_AA64PFR1_BT_BTI            0x1
+
+#define ID_AA64PFR1_MTE_NI           0x0
+#define ID_AA64PFR1_MTE_EL0          0x1
+#define ID_AA64PFR1_MTE              0x2
+
+/* id_aa64zfr0 */
+#define ID_AA64ZFR0_F64MM_SHIFT      56
+#define ID_AA64ZFR0_F32MM_SHIFT      52
+#define ID_AA64ZFR0_I8MM_SHIFT       44
+#define ID_AA64ZFR0_SM4_SHIFT        40
+#define ID_AA64ZFR0_SHA3_SHIFT       32
+#define ID_AA64ZFR0_BF16_SHIFT       20
+#define ID_AA64ZFR0_BITPERM_SHIFT    16
+#define ID_AA64ZFR0_AES_SHIFT        4
+#define ID_AA64ZFR0_SVEVER_SHIFT     0
+
+#define ID_AA64ZFR0_F64MM            0x1
+#define ID_AA64ZFR0_F32MM            0x1
+#define ID_AA64ZFR0_I8MM             0x1
+#define ID_AA64ZFR0_BF16             0x1
+#define ID_AA64ZFR0_SM4              0x1
+#define ID_AA64ZFR0_SHA3             0x1
+#define ID_AA64ZFR0_BITPERM          0x1
+#define ID_AA64ZFR0_AES              0x1
+#define ID_AA64ZFR0_AES_PMULL        0x2
+#define ID_AA64ZFR0_SVEVER_SVE2      0x1
+
+/* id_aa64mmfr0 */
+#define ID_AA64MMFR0_ECV_SHIFT       60
+#define ID_AA64MMFR0_FGT_SHIFT       56
+#define ID_AA64MMFR0_EXS_SHIFT       44
+#define ID_AA64MMFR0_TGRAN4_2_SHIFT  40
+#define ID_AA64MMFR0_TGRAN64_2_SHIFT 36
+#define ID_AA64MMFR0_TGRAN16_2_SHIFT 32
+#define ID_AA64MMFR0_TGRAN4_SHIFT    28
+#define ID_AA64MMFR0_TGRAN64_SHIFT   24
+#define ID_AA64MMFR0_TGRAN16_SHIFT   20
+#define ID_AA64MMFR0_BIGENDEL0_SHIFT 16
+#define ID_AA64MMFR0_SNSMEM_SHIFT    12
+#define ID_AA64MMFR0_BIGENDEL_SHIFT  8
+#define ID_AA64MMFR0_ASID_SHIFT      4
+#define ID_AA64MMFR0_PARANGE_SHIFT   0
+
+#define ID_AA64MMFR0_TGRAN4_NI         0xf
+#define ID_AA64MMFR0_TGRAN4_SUPPORTED  0x0
+#define ID_AA64MMFR0_TGRAN64_NI        0xf
+#define ID_AA64MMFR0_TGRAN64_SUPPORTED 0x0
+#define ID_AA64MMFR0_TGRAN16_NI        0x0
+#define ID_AA64MMFR0_TGRAN16_SUPPORTED 0x1
+#define ID_AA64MMFR0_PARANGE_48        0x5
+#define ID_AA64MMFR0_PARANGE_52        0x6
+
+/* id_aa64mmfr1 */
+#define ID_AA64MMFR1_ETS_SHIFT       36
+#define ID_AA64MMFR1_TWED_SHIFT      32
+#define ID_AA64MMFR1_XNX_SHIFT       28
+#define ID_AA64MMFR1_SPECSEI_SHIFT   24
+#define ID_AA64MMFR1_PAN_SHIFT       20
+#define ID_AA64MMFR1_LOR_SHIFT       16
+#define ID_AA64MMFR1_HPD_SHIFT       12
+#define ID_AA64MMFR1_VHE_SHIFT       8
+#define ID_AA64MMFR1_VMIDBITS_SHIFT  4
+#define ID_AA64MMFR1_HADBS_SHIFT     0
+
+#define ID_AA64MMFR1_VMIDBITS_8      0
+#define ID_AA64MMFR1_VMIDBITS_16     2
+
+/* id_aa64mmfr2 */
+#define ID_AA64MMFR2_E0PD_SHIFT      60
+#define ID_AA64MMFR2_EVT_SHIFT       56
+#define ID_AA64MMFR2_BBM_SHIFT       52
+#define ID_AA64MMFR2_TTL_SHIFT       48
+#define ID_AA64MMFR2_FWB_SHIFT       40
+#define ID_AA64MMFR2_IDS_SHIFT       36
+#define ID_AA64MMFR2_AT_SHIFT        32
+#define ID_AA64MMFR2_ST_SHIFT        28
+#define ID_AA64MMFR2_NV_SHIFT        24
+#define ID_AA64MMFR2_CCIDX_SHIFT     20
+#define ID_AA64MMFR2_LVA_SHIFT       16
+#define ID_AA64MMFR2_IESB_SHIFT      12
+#define ID_AA64MMFR2_LSM_SHIFT       8
+#define ID_AA64MMFR2_UAO_SHIFT       4
+#define ID_AA64MMFR2_CNP_SHIFT       0
+
+/* id_aa64dfr0 */
+#define ID_AA64DFR0_DOUBLELOCK_SHIFT 36
+#define ID_AA64DFR0_PMSVER_SHIFT     32
+#define ID_AA64DFR0_CTX_CMPS_SHIFT   28
+#define ID_AA64DFR0_WRPS_SHIFT       20
+#define ID_AA64DFR0_BRPS_SHIFT       12
+#define ID_AA64DFR0_PMUVER_SHIFT     8
+#define ID_AA64DFR0_TRACEVER_SHIFT   4
+#define ID_AA64DFR0_DEBUGVER_SHIFT   0
+
+#define ID_AA64DFR0_PMUVER_8_0       0x1
+#define ID_AA64DFR0_PMUVER_8_1       0x4
+#define ID_AA64DFR0_PMUVER_8_4       0x5
+#define ID_AA64DFR0_PMUVER_8_5       0x6
+#define ID_AA64DFR0_PMUVER_IMP_DEF   0xf
+
+#define ID_DFR0_PERFMON_SHIFT        24
+
+#define ID_DFR0_PERFMON_8_1          0x4
+
+#define ID_ISAR4_SWP_FRAC_SHIFT        28
+#define ID_ISAR4_PSR_M_SHIFT           24
+#define ID_ISAR4_SYNCH_PRIM_FRAC_SHIFT 20
+#define ID_ISAR4_BARRIER_SHIFT         16
+#define ID_ISAR4_SMC_SHIFT             12
+#define ID_ISAR4_WRITEBACK_SHIFT       8
+#define ID_ISAR4_WITHSHIFTS_SHIFT      4
+#define ID_ISAR4_UNPRIV_SHIFT          0
+
+#define ID_DFR1_MTPMU_SHIFT          0
+
+#define ID_ISAR0_DIVIDE_SHIFT        24
+#define ID_ISAR0_DEBUG_SHIFT         20
+#define ID_ISAR0_COPROC_SHIFT        16
+#define ID_ISAR0_CMPBRANCH_SHIFT     12
+#define ID_ISAR0_BITFIELD_SHIFT      8
+#define ID_ISAR0_BITCOUNT_SHIFT      4
+#define ID_ISAR0_SWAP_SHIFT          0
+
+#define ID_ISAR5_RDM_SHIFT           24
+#define ID_ISAR5_CRC32_SHIFT         16
+#define ID_ISAR5_SHA2_SHIFT          12
+#define ID_ISAR5_SHA1_SHIFT          8
+#define ID_ISAR5_AES_SHIFT           4
+#define ID_ISAR5_SEVL_SHIFT          0
+
+#define ID_ISAR6_I8MM_SHIFT          24
+#define ID_ISAR6_BF16_SHIFT          20
+#define ID_ISAR6_SPECRES_SHIFT       16
+#define ID_ISAR6_SB_SHIFT            12
+#define ID_ISAR6_FHM_SHIFT           8
+#define ID_ISAR6_DP_SHIFT            4
+#define ID_ISAR6_JSCVT_SHIFT         0
+
+#define ID_MMFR0_INNERSHR_SHIFT      28
+#define ID_MMFR0_FCSE_SHIFT          24
+#define ID_MMFR0_AUXREG_SHIFT        20
+#define ID_MMFR0_TCM_SHIFT           16
+#define ID_MMFR0_SHARELVL_SHIFT      12
+#define ID_MMFR0_OUTERSHR_SHIFT      8
+#define ID_MMFR0_PMSA_SHIFT          4
+#define ID_MMFR0_VMSA_SHIFT          0
+
+#define ID_MMFR4_EVT_SHIFT           28
+#define ID_MMFR4_CCIDX_SHIFT         24
+#define ID_MMFR4_LSM_SHIFT           20
+#define ID_MMFR4_HPDS_SHIFT          16
+#define ID_MMFR4_CNP_SHIFT           12
+#define ID_MMFR4_XNX_SHIFT           8
+#define ID_MMFR4_AC2_SHIFT           4
+#define ID_MMFR4_SPECSEI_SHIFT       0
+
+#define ID_MMFR5_ETS_SHIFT           0
+
+#define ID_PFR0_DIT_SHIFT            24
+#define ID_PFR0_CSV2_SHIFT           16
+#define ID_PFR0_STATE3_SHIFT         12
+#define ID_PFR0_STATE2_SHIFT         8
+#define ID_PFR0_STATE1_SHIFT         4
+#define ID_PFR0_STATE0_SHIFT         0
+
+#define ID_DFR0_PERFMON_SHIFT        24
+#define ID_DFR0_MPROFDBG_SHIFT       20
+#define ID_DFR0_MMAPTRC_SHIFT        16
+#define ID_DFR0_COPTRC_SHIFT         12
+#define ID_DFR0_MMAPDBG_SHIFT        8
+#define ID_DFR0_COPSDBG_SHIFT        4
+#define ID_DFR0_COPDBG_SHIFT         0
+
+#define ID_PFR2_SSBS_SHIFT           4
+#define ID_PFR2_CSV3_SHIFT           0
+
+#define MVFR0_FPROUND_SHIFT          28
+#define MVFR0_FPSHVEC_SHIFT          24
+#define MVFR0_FPSQRT_SHIFT           20
+#define MVFR0_FPDIVIDE_SHIFT         16
+#define MVFR0_FPTRAP_SHIFT           12
+#define MVFR0_FPDP_SHIFT             8
+#define MVFR0_FPSP_SHIFT             4
+#define MVFR0_SIMD_SHIFT             0
+
+#define MVFR1_SIMDFMAC_SHIFT         28
+#define MVFR1_FPHP_SHIFT             24
+#define MVFR1_SIMDHP_SHIFT           20
+#define MVFR1_SIMDSP_SHIFT           16
+#define MVFR1_SIMDINT_SHIFT          12
+#define MVFR1_SIMDLS_SHIFT           8
+#define MVFR1_FPDNAN_SHIFT           4
+#define MVFR1_FPFTZ_SHIFT            0
+
+#define ID_PFR1_GIC_SHIFT            28
+#define ID_PFR1_VIRT_FRAC_SHIFT      24
+#define ID_PFR1_SEC_FRAC_SHIFT       20
+#define ID_PFR1_GENTIMER_SHIFT       16
+#define ID_PFR1_VIRTUALIZATION_SHIFT 12
+#define ID_PFR1_MPROGMOD_SHIFT       8
+#define ID_PFR1_SECURITY_SHIFT       4
+#define ID_PFR1_PROGMOD_SHIFT        0
+
+#define MVFR2_FPMISC_SHIFT           4
+#define MVFR2_SIMDMISC_SHIFT         0
+
+#define DCZID_DZP_SHIFT              4
+#define DCZID_BS_SHIFT               0
+
+/*
+ * The ZCR_ELx_LEN_* definitions intentionally include bits [8:4] which
+ * are reserved by the SVE architecture for future expansion of the LEN
+ * field, with compatible semantics.
+ */
+#define ZCR_ELx_LEN_SHIFT            0
+#define ZCR_ELx_LEN_SIZE             9
+#define ZCR_ELx_LEN_MASK             0x1ff
+
 /* Access to system registers */
 
 #define WRITE_SYSREG64(v, name) do {                    \
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 23 10:33:48 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 10:33:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170310.311099 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI7H2-0003pm-Fk; Mon, 23 Aug 2021 10:33:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170310.311099; Mon, 23 Aug 2021 10:33:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI7H2-0003pc-Bs; Mon, 23 Aug 2021 10:33:48 +0000
Received: by outflank-mailman (input) for mailman id 170310;
 Mon, 23 Aug 2021 10:33:47 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/xpK=NO=arm.com=bertrand.marquis@srs-us1.protection.inumbo.net>)
 id 1mI7H1-0003ow-Oz
 for xen-devel@lists.xenproject.org; Mon, 23 Aug 2021 10:33:47 +0000
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id 0b419d2f-719e-45f0-8c18-b29c48eb347e;
 Mon, 23 Aug 2021 10:33:46 +0000 (UTC)
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 81471143D;
 Mon, 23 Aug 2021 03:33:46 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id D1B433F66F;
 Mon, 23 Aug 2021 03:33: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: 0b419d2f-719e-45f0-8c18-b29c48eb347e
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2 5/7] xen/arm: Use sanitize values for p2m
Date: Mon, 23 Aug 2021 11:32:14 +0100
Message-Id: <b6d656bd249e85ef192a0bbddae1eb8492e51583.1629713932.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <cover.1629713932.git.bertrand.marquis@arm.com>
References: <cover.1629713932.git.bertrand.marquis@arm.com>
In-Reply-To: <cover.1629713932.git.bertrand.marquis@arm.com>
References: <cover.1629713932.git.bertrand.marquis@arm.com>

Replace the code in p2m trying to find a sane value for the VMID size
supported and the PAR to use. We are now using the boot cpuinfo as the
values there are sanitized during boot and the value for those
parameters is now the safest possible value on the system.

On arm32, the system will panic if there are different types of core so
those checks were not needed anyway.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
Changes in v2:
 - use system_cpuinfo
---
 xen/arch/arm/p2m.c | 30 ++++++++++--------------------
 1 file changed, 10 insertions(+), 20 deletions(-)

diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index eff9a105e7..41b6430c30 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -2045,31 +2045,21 @@ void __init setup_virt_paging(void)
         [7] = { 0 }  /* Invalid */
     };
 
-    unsigned int i, cpu;
+    unsigned int i;
     unsigned int pa_range = 0x10; /* Larger than any possible value */
-    bool vmid_8_bit = false;
-
-    for_each_online_cpu ( cpu )
-    {
-        const struct cpuinfo_arm *info = &cpu_data[cpu];
 
-        /*
-         * Restrict "p2m_ipa_bits" if needed. As P2M table is always configured
-         * with IPA bits == PA bits, compare against "pabits".
-         */
-        if ( pa_range_info[info->mm64.pa_range].pabits < p2m_ipa_bits )
-            p2m_ipa_bits = pa_range_info[info->mm64.pa_range].pabits;
-
-        /* Set a flag if the current cpu does not support 16 bit VMIDs. */
-        if ( info->mm64.vmid_bits != MM64_VMID_16_BITS_SUPPORT )
-            vmid_8_bit = true;
-    }
+    /*
+     * Restrict "p2m_ipa_bits" if needed. As P2M table is always configured
+     * with IPA bits == PA bits, compare against "pabits".
+     */
+    if ( pa_range_info[system_cpuinfo.mm64.pa_range].pabits < p2m_ipa_bits )
+        p2m_ipa_bits = pa_range_info[system_cpuinfo.mm64.pa_range].pabits;
 
     /*
-     * If the flag is not set then it means all CPUs support 16-bit
-     * VMIDs.
+     * cpu info sanitization made sure we support 16bits VMID only if all
+     * cores are supporting it.
      */
-    if ( !vmid_8_bit )
+    if ( system_cpuinfo.mm64.vmid_bits == MM64_VMID_16_BITS_SUPPORT )
         max_vmid = MAX_VMID_16_BIT;
 
     /* Choose suitable "pa_range" according to the resulted "p2m_ipa_bits". */
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 23 10:33:49 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 10:33:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170311.311110 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI7H3-00047M-Oq; Mon, 23 Aug 2021 10:33:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170311.311110; Mon, 23 Aug 2021 10: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 1mI7H3-00047F-Lb; Mon, 23 Aug 2021 10:33:49 +0000
Received: by outflank-mailman (input) for mailman id 170311;
 Mon, 23 Aug 2021 10:33:48 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/xpK=NO=arm.com=bertrand.marquis@srs-us1.protection.inumbo.net>)
 id 1mI7H2-0003X5-43
 for xen-devel@lists.xenproject.org; Mon, 23 Aug 2021 10:33:48 +0000
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id 965acbba-03fd-11ec-a86f-12813bfff9fa;
 Mon, 23 Aug 2021 10:33:43 +0000 (UTC)
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 5396912FC;
 Mon, 23 Aug 2021 03:33:43 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 88F873F66F;
 Mon, 23 Aug 2021 03:33: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: 965acbba-03fd-11ec-a86f-12813bfff9fa
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2 2/7] xen/arm: Import ID features sanitize from linux
Date: Mon, 23 Aug 2021 11:32:11 +0100
Message-Id: <21ba37d419ca26622184f7908d3fa1bf1f256004.1629713932.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <cover.1629713932.git.bertrand.marquis@arm.com>
References: <cover.1629713932.git.bertrand.marquis@arm.com>
In-Reply-To: <cover.1629713932.git.bertrand.marquis@arm.com>
References: <cover.1629713932.git.bertrand.marquis@arm.com>

Import structures declared in Linux file arch/arm64/kernel/cpufeature.c
and the required types from arch/arm64/include/asm/cpufeature.h.

Current code has been imported from Linux 5.13-rc5 (Commit ID
cd1245d75ce93b8fd206f4b34eb58bcfe156d5e9) and copied into cpufeature.c
in arm64 code and cpufeature.h in arm64 specific headers.

Those structure will be used to sanitize the cpu features available to
the ones availble on all cores of a system even if we are on an
heterogeneous platform (from example a big/LITTLE).

For each feature field of all ID registers, those structures define what
is the safest value and if we can allow to have different values in
different cores.

This patch is introducing Linux code without any changes to it.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
Changes in v2:
- Move add to Makefile to following patch to allow bisection
- Remove GPL text as SPDL is there
- Re-add introduction comment from Linux Kernel file
- Rename cpusanitize.c to cpufeature.c to keep Linux file name
- Move structures imported from linux headers into a new cpufeature.h
header in asm-arm/arm64.
- Move comment about imported code origin to the file header
- Remove not needed linux function declarations instead of removing them
in the following patch
- Add original arm64_ftr_safe_value from Linux
- include kernel.h to use max()
- remove unused ftr_single32 as we will not use it
- remove ctr associated structures that we cannot use (keep the one
defining sanitization bits)
---
 xen/arch/arm/arm64/cpufeature.c        | 504 +++++++++++++++++++++++++
 xen/include/asm-arm/arm64/cpufeature.h | 104 +++++
 2 files changed, 608 insertions(+)
 create mode 100644 xen/arch/arm/arm64/cpufeature.c
 create mode 100644 xen/include/asm-arm/arm64/cpufeature.h

diff --git a/xen/arch/arm/arm64/cpufeature.c b/xen/arch/arm/arm64/cpufeature.c
new file mode 100644
index 0000000000..5777e33e5c
--- /dev/null
+++ b/xen/arch/arm/arm64/cpufeature.c
@@ -0,0 +1,504 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Contains CPU feature definitions
+ *
+ * The following structures have been imported directly from Linux kernel and
+ * should be kept in sync.
+ * The current version has been imported from arch/arm64/kernel/cpufeature.c
+ *  from kernel version 5.13-rc5 together with the required structures and
+ *  macros from arch/arm64/include/asm/cpufeature.h which are stored in
+ *  include/asm-arm/arm64/cpufeature.h
+ *
+ * Copyright (C) 2021 Arm Ltd.
+ * based on code from the Linux kernel, which is:
+ *  Copyright (C) 2015 ARM Ltd.
+ *
+ * A note for the weary kernel hacker: the code here is confusing and hard to
+ * follow! That's partly because it's solving a nasty problem, but also because
+ * there's a little bit of over-abstraction that tends to obscure what's going
+ * on behind a maze of helper functions and macros.
+ *
+ * The basic problem is that hardware folks have started gluing together CPUs
+ * with distinct architectural features; in some cases even creating SoCs where
+ * user-visible instructions are available only on a subset of the available
+ * cores. We try to address this by snapshotting the feature registers of the
+ * boot CPU and comparing these with the feature registers of each secondary
+ * CPU when bringing them up. If there is a mismatch, then we update the
+ * snapshot state to indicate the lowest-common denominator of the feature,
+ * known as the "safe" value. This snapshot state can be queried to view the
+ * "sanitised" value of a feature register.
+ *
+ * The sanitised register values are used to decide which capabilities we
+ * have in the system. These may be in the form of traditional "hwcaps"
+ * advertised to userspace or internal "cpucaps" which are used to configure
+ * things like alternative patching and static keys. While a feature mismatch
+ * may result in a TAINT_CPU_OUT_OF_SPEC kernel taint, a capability mismatch
+ * may prevent a CPU from being onlined at all.
+ *
+ * Some implementation details worth remembering:
+ *
+ * - Mismatched features are *always* sanitised to a "safe" value, which
+ *   usually indicates that the feature is not supported.
+ *
+ * - A mismatched feature marked with FTR_STRICT will cause a "SANITY CHECK"
+ *   warning when onlining an offending CPU and the kernel will be tainted
+ *   with TAINT_CPU_OUT_OF_SPEC.
+ *
+ * - Features marked as FTR_VISIBLE have their sanitised value visible to
+ *   userspace. FTR_VISIBLE features in registers that are only visible
+ *   to EL0 by trapping *must* have a corresponding HWCAP so that late
+ *   onlining of CPUs cannot lead to features disappearing at runtime.
+ *
+ * - A "feature" is typically a 4-bit register field. A "capability" is the
+ *   high-level description derived from the sanitised field value.
+ *
+ * - Read the Arm ARM (DDI 0487F.a) section D13.1.3 ("Principles of the ID
+ *   scheme for fields in ID registers") to understand when feature fields
+ *   may be signed or unsigned (FTR_SIGNED and FTR_UNSIGNED accordingly).
+ *
+ * - KVM exposes its own view of the feature registers to guest operating
+ *   systems regardless of FTR_VISIBLE. This is typically driven from the
+ *   sanitised register values to allow virtual CPUs to be migrated between
+ *   arbitrary physical CPUs, but some features not present on the host are
+ *   also advertised and emulated. Look at sys_reg_descs[] for the gory
+ *   details.
+ *
+ * - If the arm64_ftr_bits[] for a register has a missing field, then this
+ *   field is treated as STRICT RES0, including for read_sanitised_ftr_reg().
+ *   This is stronger than FTR_HIDDEN and can be used to hide features from
+ *   KVM guests.
+ */
+
+#include <xen/types.h>
+#include <xen/kernel.h>
+#include <asm/sysregs.h>
+#include <asm/cpufeature.h>
+#include <asm/arm64/cpufeature.h>
+
+#define __ARM64_FTR_BITS(SIGNED, VISIBLE, STRICT, TYPE, SHIFT, WIDTH, SAFE_VAL) \
+	{						\
+		.sign = SIGNED,				\
+		.visible = VISIBLE,			\
+		.strict = STRICT,			\
+		.type = TYPE,				\
+		.shift = SHIFT,				\
+		.width = WIDTH,				\
+		.safe_val = SAFE_VAL,			\
+	}
+
+/* Define a feature with unsigned values */
+#define ARM64_FTR_BITS(VISIBLE, STRICT, TYPE, SHIFT, WIDTH, SAFE_VAL) \
+	__ARM64_FTR_BITS(FTR_UNSIGNED, VISIBLE, STRICT, TYPE, SHIFT, WIDTH, SAFE_VAL)
+
+/* Define a feature with a signed value */
+#define S_ARM64_FTR_BITS(VISIBLE, STRICT, TYPE, SHIFT, WIDTH, SAFE_VAL) \
+	__ARM64_FTR_BITS(FTR_SIGNED, VISIBLE, STRICT, TYPE, SHIFT, WIDTH, SAFE_VAL)
+
+#define ARM64_FTR_END					\
+	{						\
+		.width = 0,				\
+	}
+
+/*
+ * NOTE: Any changes to the visibility of features should be kept in
+ * sync with the documentation of the CPU feature register ABI.
+ */
+static const struct arm64_ftr_bits ftr_id_aa64isar0[] = {
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR0_RNDR_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR0_TLB_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR0_TS_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR0_FHM_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR0_DP_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR0_SM4_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR0_SM3_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR0_SHA3_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR0_RDM_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR0_ATOMICS_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR0_CRC32_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR0_SHA2_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR0_SHA1_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR0_AES_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_aa64isar1[] = {
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_I8MM_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_DGH_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_BF16_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_SPECRES_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_SB_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_FRINTTS_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_PTR_AUTH),
+		       FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_GPI_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_PTR_AUTH),
+		       FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_GPA_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_LRCPC_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_FCMA_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_JSCVT_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_PTR_AUTH),
+		       FTR_STRICT, FTR_EXACT, ID_AA64ISAR1_API_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_PTR_AUTH),
+		       FTR_STRICT, FTR_EXACT, ID_AA64ISAR1_APA_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_DPB_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_aa64pfr0[] = {
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64PFR0_CSV3_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64PFR0_CSV2_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64PFR0_DIT_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64PFR0_AMU_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64PFR0_MPAM_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64PFR0_SEL2_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_SVE),
+				   FTR_STRICT, FTR_LOWER_SAFE, ID_AA64PFR0_SVE_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64PFR0_RAS_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64PFR0_GIC_SHIFT, 4, 0),
+	S_ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64PFR0_ASIMD_SHIFT, 4, ID_AA64PFR0_ASIMD_NI),
+	S_ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64PFR0_FP_SHIFT, 4, ID_AA64PFR0_FP_NI),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64PFR0_EL3_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64PFR0_EL2_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64PFR0_EL1_SHIFT, 4, ID_AA64PFR0_EL1_64BIT_ONLY),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64PFR0_EL0_SHIFT, 4, ID_AA64PFR0_EL0_64BIT_ONLY),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_aa64pfr1[] = {
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64PFR1_MPAMFRAC_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64PFR1_RASFRAC_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_MTE),
+		       FTR_STRICT, FTR_LOWER_SAFE, ID_AA64PFR1_MTE_SHIFT, 4, ID_AA64PFR1_MTE_NI),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64PFR1_SSBS_SHIFT, 4, ID_AA64PFR1_SSBS_PSTATE_NI),
+	ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_BTI),
+				    FTR_STRICT, FTR_LOWER_SAFE, ID_AA64PFR1_BT_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_aa64zfr0[] = {
+	ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_SVE),
+		       FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ZFR0_F64MM_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_SVE),
+		       FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ZFR0_F32MM_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_SVE),
+		       FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ZFR0_I8MM_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_SVE),
+		       FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ZFR0_SM4_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_SVE),
+		       FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ZFR0_SHA3_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_SVE),
+		       FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ZFR0_BF16_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_SVE),
+		       FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ZFR0_BITPERM_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_SVE),
+		       FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ZFR0_AES_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_SVE),
+		       FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ZFR0_SVEVER_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_aa64mmfr0[] = {
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR0_ECV_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR0_FGT_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR0_EXS_SHIFT, 4, 0),
+	/*
+	 * Page size not being supported at Stage-2 is not fatal. You
+	 * just give up KVM if PAGE_SIZE isn't supported there. Go fix
+	 * your favourite nesting hypervisor.
+	 *
+	 * There is a small corner case where the hypervisor explicitly
+	 * advertises a given granule size at Stage-2 (value 2) on some
+	 * vCPUs, and uses the fallback to Stage-1 (value 0) for other
+	 * vCPUs. Although this is not forbidden by the architecture, it
+	 * indicates that the hypervisor is being silly (or buggy).
+	 *
+	 * We make no effort to cope with this and pretend that if these
+	 * fields are inconsistent across vCPUs, then it isn't worth
+	 * trying to bring KVM up.
+	 */
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_EXACT, ID_AA64MMFR0_TGRAN4_2_SHIFT, 4, 1),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_EXACT, ID_AA64MMFR0_TGRAN64_2_SHIFT, 4, 1),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_EXACT, ID_AA64MMFR0_TGRAN16_2_SHIFT, 4, 1),
+	/*
+	 * We already refuse to boot CPUs that don't support our configured
+	 * page size, so we can only detect mismatches for a page size other
+	 * than the one we're currently using. Unfortunately, SoCs like this
+	 * exist in the wild so, even though we don't like it, we'll have to go
+	 * along with it and treat them as non-strict.
+	 */
+	S_ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64MMFR0_TGRAN4_SHIFT, 4, ID_AA64MMFR0_TGRAN4_NI),
+	S_ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64MMFR0_TGRAN64_SHIFT, 4, ID_AA64MMFR0_TGRAN64_NI),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64MMFR0_TGRAN16_SHIFT, 4, ID_AA64MMFR0_TGRAN16_NI),
+
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR0_BIGENDEL0_SHIFT, 4, 0),
+	/* Linux shouldn't care about secure memory */
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64MMFR0_SNSMEM_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR0_BIGENDEL_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR0_ASID_SHIFT, 4, 0),
+	/*
+	 * Differing PARange is fine as long as all peripherals and memory are mapped
+	 * within the minimum PARange of all CPUs
+	 */
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64MMFR0_PARANGE_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_aa64mmfr1[] = {
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR1_ETS_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR1_TWED_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR1_XNX_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_HIGHER_SAFE, ID_AA64MMFR1_SPECSEI_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR1_PAN_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR1_LOR_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR1_HPD_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR1_VHE_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR1_VMIDBITS_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR1_HADBS_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_aa64mmfr2[] = {
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64MMFR2_E0PD_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR2_EVT_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR2_BBM_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR2_TTL_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR2_FWB_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR2_IDS_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR2_AT_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR2_ST_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR2_NV_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR2_CCIDX_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR2_LVA_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64MMFR2_IESB_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR2_LSM_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR2_UAO_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR2_CNP_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_ctr[] = {
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_EXACT, 31, 1, 1), /* RES1 */
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, CTR_DIC_SHIFT, 1, 1),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, CTR_IDC_SHIFT, 1, 1),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_HIGHER_OR_ZERO_SAFE, CTR_CWG_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_HIGHER_OR_ZERO_SAFE, CTR_ERG_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, CTR_DMINLINE_SHIFT, 4, 1),
+	/*
+	 * Linux can handle differing I-cache policies. Userspace JITs will
+	 * make use of *minLine.
+	 * If we have differing I-cache policies, report it as the weakest - VIPT.
+	 */
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_NONSTRICT, FTR_EXACT, CTR_L1IP_SHIFT, 2, ICACHE_POLICY_VIPT),	/* L1Ip */
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, CTR_IMINLINE_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_mmfr0[] = {
+	S_ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR0_INNERSHR_SHIFT, 4, 0xf),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR0_FCSE_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_MMFR0_AUXREG_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR0_TCM_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR0_SHARELVL_SHIFT, 4, 0),
+	S_ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR0_OUTERSHR_SHIFT, 4, 0xf),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR0_PMSA_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR0_VMSA_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_aa64dfr0[] = {
+	S_ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64DFR0_DOUBLELOCK_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64DFR0_PMSVER_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64DFR0_CTX_CMPS_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64DFR0_WRPS_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64DFR0_BRPS_SHIFT, 4, 0),
+	/*
+	 * We can instantiate multiple PMU instances with different levels
+	 * of support.
+	 */
+	S_ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_EXACT, ID_AA64DFR0_PMUVER_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_EXACT, ID_AA64DFR0_DEBUGVER_SHIFT, 4, 0x6),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_mvfr2[] = {
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, MVFR2_FPMISC_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, MVFR2_SIMDMISC_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_dczid[] = {
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_EXACT, DCZID_DZP_SHIFT, 1, 1),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, DCZID_BS_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_isar0[] = {
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR0_DIVIDE_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR0_DEBUG_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR0_COPROC_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR0_CMPBRANCH_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR0_BITFIELD_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR0_BITCOUNT_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR0_SWAP_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_isar5[] = {
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR5_RDM_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR5_CRC32_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR5_SHA2_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR5_SHA1_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR5_AES_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR5_SEVL_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_mmfr4[] = {
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR4_EVT_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR4_CCIDX_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR4_LSM_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR4_HPDS_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR4_CNP_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR4_XNX_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR4_AC2_SHIFT, 4, 0),
+
+	/*
+	 * SpecSEI = 1 indicates that the PE might generate an SError on an
+	 * external abort on speculative read. It is safe to assume that an
+	 * SError might be generated than it will not be. Hence it has been
+	 * classified as FTR_HIGHER_SAFE.
+	 */
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_HIGHER_SAFE, ID_MMFR4_SPECSEI_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_isar4[] = {
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR4_SWP_FRAC_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR4_PSR_M_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR4_SYNCH_PRIM_FRAC_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR4_BARRIER_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR4_SMC_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR4_WRITEBACK_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR4_WITHSHIFTS_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR4_UNPRIV_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_mmfr5[] = {
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR5_ETS_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_isar6[] = {
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR6_I8MM_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR6_BF16_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR6_SPECRES_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR6_SB_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR6_FHM_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR6_DP_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR6_JSCVT_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_pfr0[] = {
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_PFR0_DIT_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_PFR0_CSV2_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_PFR0_STATE3_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_PFR0_STATE2_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_PFR0_STATE1_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_PFR0_STATE0_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_pfr1[] = {
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_PFR1_GIC_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_PFR1_VIRT_FRAC_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_PFR1_SEC_FRAC_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_PFR1_GENTIMER_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_PFR1_VIRTUALIZATION_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_PFR1_MPROGMOD_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_PFR1_SECURITY_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_PFR1_PROGMOD_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_pfr2[] = {
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_PFR2_SSBS_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_PFR2_CSV3_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_dfr0[] = {
+	/* [31:28] TraceFilt */
+	S_ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_DFR0_PERFMON_SHIFT, 4, 0xf),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_DFR0_MPROFDBG_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_DFR0_MMAPTRC_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_DFR0_COPTRC_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_DFR0_MMAPDBG_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_DFR0_COPSDBG_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_DFR0_COPDBG_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_dfr1[] = {
+	S_ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_DFR1_MTPMU_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+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,
+};
+
+/*
+ * Common ftr bits for a 32bit register with all hidden, strict
+ * attributes, with 4bit feature fields and a default safe value of
+ * 0. Covers the following 32bit registers:
+ * id_isar[1-4], id_mmfr[1-3], id_pfr1, mvfr[0-1]
+ */
+static const struct arm64_ftr_bits ftr_generic_32bits[] = {
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, 28, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, 24, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, 20, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, 16, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, 12, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, 8, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, 4, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, 0, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_raz[] = {
+	ARM64_FTR_END,
+};
+
+static s64 arm64_ftr_safe_value(const struct arm64_ftr_bits *ftrp, s64 new,
+				s64 cur)
+{
+	s64 ret = 0;
+
+	switch (ftrp->type) {
+	case FTR_EXACT:
+		ret = ftrp->safe_val;
+		break;
+	case FTR_LOWER_SAFE:
+		ret = min(new, cur);
+		break;
+	case FTR_HIGHER_OR_ZERO_SAFE:
+		if (!cur || !new)
+			break;
+		fallthrough;
+	case FTR_HIGHER_SAFE:
+		ret = max(new, cur);
+		break;
+	default:
+		BUG();
+	}
+
+	return ret;
+}
+
+/*
+ * End of imported linux structures and code
+ */
+
diff --git a/xen/include/asm-arm/arm64/cpufeature.h b/xen/include/asm-arm/arm64/cpufeature.h
new file mode 100644
index 0000000000..d9b9fa77cb
--- /dev/null
+++ b/xen/include/asm-arm/arm64/cpufeature.h
@@ -0,0 +1,104 @@
+#ifndef __ASM_ARM_ARM64_CPUFEATURES_H
+#define __ASM_ARM_ARM64_CPUFEATURES_H
+
+/*
+ * CPU feature register tracking
+ *
+ * The safe value of a CPUID feature field is dependent on the implications
+ * of the values assigned to it by the architecture. Based on the relationship
+ * between the values, the features are classified into 3 types - LOWER_SAFE,
+ * HIGHER_SAFE and EXACT.
+ *
+ * The lowest value of all the CPUs is chosen for LOWER_SAFE and highest
+ * for HIGHER_SAFE. It is expected that all CPUs have the same value for
+ * a field when EXACT is specified, failing which, the safe value specified
+ * in the table is chosen.
+ */
+
+enum ftr_type {
+	FTR_EXACT,			/* Use a predefined safe value */
+	FTR_LOWER_SAFE,			/* Smaller value is safe */
+	FTR_HIGHER_SAFE,		/* Bigger value is safe */
+	FTR_HIGHER_OR_ZERO_SAFE,	/* Bigger value is safe, but 0 is biggest */
+};
+
+#define FTR_STRICT	true	/* SANITY check strict matching required */
+#define FTR_NONSTRICT	false	/* SANITY check ignored */
+
+#define FTR_SIGNED	true	/* Value should be treated as signed */
+#define FTR_UNSIGNED	false	/* Value should be treated as unsigned */
+
+#define FTR_VISIBLE	true	/* Feature visible to the user space */
+#define FTR_HIDDEN	false	/* Feature is hidden from the user */
+
+#define FTR_VISIBLE_IF_IS_ENABLED(config)		\
+	(IS_ENABLED(config) ? FTR_VISIBLE : FTR_HIDDEN)
+
+struct arm64_ftr_bits {
+	bool		sign;	/* Value is signed ? */
+	bool		visible;
+	bool		strict;	/* CPU Sanity check: strict matching required ? */
+	enum ftr_type	type;
+	u8		shift;
+	u8		width;
+	s64		safe_val; /* safe value for FTR_EXACT features */
+};
+
+static inline int __attribute_const__
+cpuid_feature_extract_signed_field_width(u64 features, int field, int width)
+{
+	return (s64)(features << (64 - width - field)) >> (64 - width);
+}
+
+static inline int __attribute_const__
+cpuid_feature_extract_signed_field(u64 features, int field)
+{
+	return cpuid_feature_extract_signed_field_width(features, field, 4);
+}
+
+static inline unsigned int __attribute_const__
+cpuid_feature_extract_unsigned_field_width(u64 features, int field, int width)
+{
+	return (u64)(features << (64 - width - field)) >> (64 - width);
+}
+
+static inline unsigned int __attribute_const__
+cpuid_feature_extract_unsigned_field(u64 features, int field)
+{
+	return cpuid_feature_extract_unsigned_field_width(features, field, 4);
+}
+
+static inline u64 arm64_ftr_mask(const struct arm64_ftr_bits *ftrp)
+{
+	return (u64)GENMASK(ftrp->shift + ftrp->width - 1, ftrp->shift);
+}
+
+static inline int __attribute_const__
+cpuid_feature_extract_field_width(u64 features, int field, int width, bool sign)
+{
+	return (sign) ?
+		cpuid_feature_extract_signed_field_width(features, field, width) :
+		cpuid_feature_extract_unsigned_field_width(features, field, width);
+}
+
+static inline int __attribute_const__
+cpuid_feature_extract_field(u64 features, int field, bool sign)
+{
+	return cpuid_feature_extract_field_width(features, field, 4, sign);
+}
+
+static inline s64 arm64_ftr_value(const struct arm64_ftr_bits *ftrp, u64 val)
+{
+	return (s64)cpuid_feature_extract_field_width(val, ftrp->shift, ftrp->width, ftrp->sign);
+}
+
+#endif /* _ASM_ARM_ARM64_CPUFEATURES_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 Mon Aug 23 10:33:54 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 10:33:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170312.311121 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI7H8-0004Vj-9R; Mon, 23 Aug 2021 10:33:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170312.311121; Mon, 23 Aug 2021 10:33:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI7H8-0004VU-52; Mon, 23 Aug 2021 10:33:54 +0000
Received: by outflank-mailman (input) for mailman id 170312;
 Mon, 23 Aug 2021 10:33:52 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/xpK=NO=arm.com=bertrand.marquis@srs-us1.protection.inumbo.net>)
 id 1mI7H6-0003ow-NU
 for xen-devel@lists.xenproject.org; Mon, 23 Aug 2021 10:33:52 +0000
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id 8976ba6c-84db-4fc1-8635-5c24693602d2;
 Mon, 23 Aug 2021 10:33:47 +0000 (UTC)
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 640961474;
 Mon, 23 Aug 2021 03:33:47 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id B46963F66F;
 Mon, 23 Aug 2021 03:33: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: 8976ba6c-84db-4fc1-8635-5c24693602d2
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2 6/7] xen/arm: Taint Xen on incompatible DCZID values
Date: Mon, 23 Aug 2021 11:32:15 +0100
Message-Id: <5cbf35ee54b44774818d703e43e161740eca02a9.1629713932.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <cover.1629713932.git.bertrand.marquis@arm.com>
References: <cover.1629713932.git.bertrand.marquis@arm.com>
In-Reply-To: <cover.1629713932.git.bertrand.marquis@arm.com>
References: <cover.1629713932.git.bertrand.marquis@arm.com>

Use arm64 cpu feature sanitization to TAIN Xen if different DCZID values
are found (ftr_dczid is using only STRICT method).
In this case actual memory being cleaned by DC ZVA operations would be
different depending on the cores which could make a guest zeroing too
much or too little memory if it is merged between CPUs.

We could, on processor supporting it, trap access to DCZID_EL0 register
using HFGRTR_EL2 register but this would not solve the case where a
process is being migrated during a copy or if it cached the value of the
register.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
Change in v2: Patch introduced in v2
---
 xen/arch/arm/arm64/cpufeature.c  | 14 +++++++++++---
 xen/arch/arm/cpufeature.c        |  2 ++
 xen/include/asm-arm/cpufeature.h |  8 ++++++++
 3 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/arm64/cpufeature.c b/xen/arch/arm/arm64/cpufeature.c
index 61f629ebaa..b1936ef1d6 100644
--- a/xen/arch/arm/arm64/cpufeature.c
+++ b/xen/arch/arm/arm64/cpufeature.c
@@ -329,14 +329,11 @@ static const struct arm64_ftr_bits ftr_mvfr2[] = {
 	ARM64_FTR_END,
 };
 
-#if 0
-/* TODO: handle this when sanitizing cache related registers */
 static const struct arm64_ftr_bits ftr_dczid[] = {
 	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_EXACT, DCZID_DZP_SHIFT, 1, 1),
 	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, DCZID_BS_SHIFT, 4, 0),
 	ARM64_FTR_END,
 };
-#endif
 
 static const struct arm64_ftr_bits ftr_id_isar0[] = {
 	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR0_DIVIDE_SHIFT, 4, 0),
@@ -592,6 +589,17 @@ void update_system_features(const struct cpuinfo_arm *new)
 
 	SANITIZE_ID_REG(zfr64, 0, aa64zfr0);
 
+	/*
+	 * Comment from Linux:
+	 * Userspace may perform DC ZVA instructions. Mismatched block sizes
+	 * could result in too much or too little memory being zeroed if a
+	 * process is preempted and migrated between CPUs.
+	 *
+	 * ftr_dczid is using STRICT comparison so we will taint Xen if different
+	 * values are found.
+	 */
+	SANITIZE_REG(dczid, 0, dczid);
+
 	if ( cpu_feature64_has_el0_32(&system_cpuinfo) )
 	{
 		SANITIZE_ID_REG(pfr32, 0, pfr0);
diff --git a/xen/arch/arm/cpufeature.c b/xen/arch/arm/cpufeature.c
index f600a611bd..113f20f601 100644
--- a/xen/arch/arm/cpufeature.c
+++ b/xen/arch/arm/cpufeature.c
@@ -125,6 +125,8 @@ void identify_cpu(struct cpuinfo_arm *c)
 
     c->zfr64.bits[0] = READ_SYSREG(ID_AA64ZFR0_EL1);
 
+    c->dczid.bits[0] = READ_SYSREG(DCZID_EL0);
+
     aarch32_el0 = cpu_feature64_has_el0_32(c);
 #endif
 
diff --git a/xen/include/asm-arm/cpufeature.h b/xen/include/asm-arm/cpufeature.h
index 52cb3133e0..5219fd3bab 100644
--- a/xen/include/asm-arm/cpufeature.h
+++ b/xen/include/asm-arm/cpufeature.h
@@ -259,6 +259,14 @@ struct cpuinfo_arm {
         register_t bits[1];
     } zfr64;
 
+    /*
+     * DCZID is only used to check for incoherent values between cores
+     * and taint Xen in this case
+     */
+    struct {
+        register_t bits[1];
+    } dczid;
+
 #endif
 
     /*
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 23 10:33:54 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 10:33:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170313.311126 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI7H8-0004ZG-MP; Mon, 23 Aug 2021 10:33:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170313.311126; Mon, 23 Aug 2021 10:33:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI7H8-0004YR-FU; Mon, 23 Aug 2021 10:33:54 +0000
Received: by outflank-mailman (input) for mailman id 170313;
 Mon, 23 Aug 2021 10:33:53 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/xpK=NO=arm.com=bertrand.marquis@srs-us1.protection.inumbo.net>)
 id 1mI7H7-0003X5-4B
 for xen-devel@lists.xenproject.org; Mon, 23 Aug 2021 10:33:53 +0000
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id 976a3f02-03fd-11ec-a86f-12813bfff9fa;
 Mon, 23 Aug 2021 10:33:44 +0000 (UTC)
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 3655813A1;
 Mon, 23 Aug 2021 03:33:44 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 86A453F66F;
 Mon, 23 Aug 2021 03:33: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: 976a3f02-03fd-11ec-a86f-12813bfff9fa
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2 3/7] xen/arm: Rename cpu_boot_data to system_cpuinfo
Date: Mon, 23 Aug 2021 11:32:12 +0100
Message-Id: <d7c334259b5154ecc36c65c2150b894fca10732e.1629713932.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <cover.1629713932.git.bertrand.marquis@arm.com>
References: <cover.1629713932.git.bertrand.marquis@arm.com>
In-Reply-To: <cover.1629713932.git.bertrand.marquis@arm.com>
References: <cover.1629713932.git.bertrand.marquis@arm.com>

As we will sanitize the content of boot_cpu_data it will not really
contain the boot cpu information but the system sanitize information.
Rename the structure to system_cpuinfo so the user is informed that this
is the system wide available feature and not anymore the features of the
boot cpu.
The original boot cpu data is still available in cpu_data.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
Change in v2:
  - patch introduced in v2
---
 xen/arch/arm/cpufeature.c        |  8 ++------
 xen/arch/arm/setup.c             | 34 ++++++++++++++++++--------------
 xen/arch/arm/smpboot.c           |  6 +++---
 xen/include/asm-arm/cpufeature.h |  6 +++---
 4 files changed, 27 insertions(+), 27 deletions(-)

diff --git a/xen/arch/arm/cpufeature.c b/xen/arch/arm/cpufeature.c
index 1d88783809..f600a611bd 100644
--- a/xen/arch/arm/cpufeature.c
+++ b/xen/arch/arm/cpufeature.c
@@ -169,12 +169,8 @@ void identify_cpu(struct cpuinfo_arm *c)
  */
 static int __init create_guest_cpuinfo(void)
 {
-    /*
-     * TODO: The code is currently using only the features detected on the boot
-     * core. In the long term we should try to compute values containing only
-     * features supported by all cores.
-     */
-    guest_cpuinfo = boot_cpu_data;
+    /* Use the sanitized cpuinfo as initial guest cpuinfo */
+    guest_cpuinfo = system_cpuinfo;
 
 #ifdef CONFIG_ARM_64
     /* Hide MPAM support as xen does not support it */
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 63a908e325..3798c5ade0 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -56,7 +56,11 @@
 
 struct bootinfo __initdata bootinfo;
 
-struct cpuinfo_arm __read_mostly boot_cpu_data;
+/*
+ * Sanitized version of cpuinfo containing only features available on all
+ * cores (only on arm64 as there is no sanitization support on arm32).
+ */
+struct cpuinfo_arm __read_mostly system_cpuinfo;
 
 #ifdef CONFIG_ACPI
 bool __read_mostly acpi_disabled;
@@ -100,7 +104,7 @@ static const char * __initdata processor_implementers[] = {
 static void __init processor_id(void)
 {
     const char *implementer = "Unknown";
-    struct cpuinfo_arm *c = &boot_cpu_data;
+    struct cpuinfo_arm *c = &system_cpuinfo;
 
     identify_cpu(c);
     current_cpu_data = *c;
@@ -120,7 +124,7 @@ static void __init processor_id(void)
 #if defined(CONFIG_ARM_64)
     printk("64-bit Execution:\n");
     printk("  Processor Features: %016"PRIx64" %016"PRIx64"\n",
-           boot_cpu_data.pfr64.bits[0], boot_cpu_data.pfr64.bits[1]);
+           system_cpuinfo.pfr64.bits[0], system_cpuinfo.pfr64.bits[1]);
     printk("    Exception Levels: EL3:%s EL2:%s EL1:%s EL0:%s\n",
            cpu_has_el3_32 ? "64+32" : cpu_has_el3_64 ? "64" : "No",
            cpu_has_el2_32 ? "64+32" : cpu_has_el2_64 ? "64" : "No",
@@ -144,13 +148,13 @@ static void __init processor_id(void)
                boot_cpu_feature64(simd));
 
     printk("  Debug Features: %016"PRIx64" %016"PRIx64"\n",
-           boot_cpu_data.dbg64.bits[0], boot_cpu_data.dbg64.bits[1]);
+           system_cpuinfo.dbg64.bits[0], system_cpuinfo.dbg64.bits[1]);
     printk("  Auxiliary Features: %016"PRIx64" %016"PRIx64"\n",
-           boot_cpu_data.aux64.bits[0], boot_cpu_data.aux64.bits[1]);
+           system_cpuinfo.aux64.bits[0], system_cpuinfo.aux64.bits[1]);
     printk("  Memory Model Features: %016"PRIx64" %016"PRIx64"\n",
-           boot_cpu_data.mm64.bits[0], boot_cpu_data.mm64.bits[1]);
+           system_cpuinfo.mm64.bits[0], system_cpuinfo.mm64.bits[1]);
     printk("  ISA Features:  %016"PRIx64" %016"PRIx64"\n",
-           boot_cpu_data.isa64.bits[0], boot_cpu_data.isa64.bits[1]);
+           system_cpuinfo.isa64.bits[0], system_cpuinfo.isa64.bits[1]);
 #endif
 
     /*
@@ -161,7 +165,7 @@ static void __init processor_id(void)
     {
         printk("32-bit Execution:\n");
         printk("  Processor Features: %"PRIregister":%"PRIregister"\n",
-               boot_cpu_data.pfr32.bits[0], boot_cpu_data.pfr32.bits[1]);
+               system_cpuinfo.pfr32.bits[0], system_cpuinfo.pfr32.bits[1]);
         printk("    Instruction Sets:%s%s%s%s%s%s\n",
                cpu_has_aarch32 ? " AArch32" : "",
                cpu_has_arm ? " A32" : "",
@@ -174,18 +178,18 @@ static void __init processor_id(void)
                cpu_has_security ? " Security" : "");
 
         printk("  Debug Features: %"PRIregister"\n",
-               boot_cpu_data.dbg32.bits[0]);
+               system_cpuinfo.dbg32.bits[0]);
         printk("  Auxiliary Features: %"PRIregister"\n",
-               boot_cpu_data.aux32.bits[0]);
+               system_cpuinfo.aux32.bits[0]);
         printk("  Memory Model Features: %"PRIregister" %"PRIregister"\n"
                "                         %"PRIregister" %"PRIregister"\n",
-               boot_cpu_data.mm32.bits[0], boot_cpu_data.mm32.bits[1],
-               boot_cpu_data.mm32.bits[2], boot_cpu_data.mm32.bits[3]);
+               system_cpuinfo.mm32.bits[0], system_cpuinfo.mm32.bits[1],
+               system_cpuinfo.mm32.bits[2], system_cpuinfo.mm32.bits[3]);
         printk("  ISA Features: %"PRIregister" %"PRIregister" %"PRIregister"\n"
                "                %"PRIregister" %"PRIregister" %"PRIregister"\n",
-               boot_cpu_data.isa32.bits[0], boot_cpu_data.isa32.bits[1],
-               boot_cpu_data.isa32.bits[2], boot_cpu_data.isa32.bits[3],
-               boot_cpu_data.isa32.bits[4], boot_cpu_data.isa32.bits[5]);
+               system_cpuinfo.isa32.bits[0], system_cpuinfo.isa32.bits[1],
+               system_cpuinfo.isa32.bits[2], system_cpuinfo.isa32.bits[3],
+               system_cpuinfo.isa32.bits[4], system_cpuinfo.isa32.bits[5]);
     }
     else
     {
diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index a1ee3146ef..c9f2827d56 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -124,7 +124,7 @@ static void __init dt_smp_init_cpus(void)
     bool bootcpu_valid = false;
     int rc;
 
-    mpidr = boot_cpu_data.mpidr.bits & MPIDR_HWID_MASK;
+    mpidr = system_cpuinfo.mpidr.bits & MPIDR_HWID_MASK;
 
     if ( !cpus )
     {
@@ -319,13 +319,13 @@ void start_secondary(void)
      * now.
      */
     if ( !opt_hmp_unsafe &&
-         current_cpu_data.midr.bits != boot_cpu_data.midr.bits )
+         current_cpu_data.midr.bits != system_cpuinfo.midr.bits )
     {
         printk(XENLOG_ERR
                "CPU%u MIDR (0x%"PRIregister") does not match boot CPU MIDR (0x%"PRIregister"),\n"
                XENLOG_ERR "disable cpu (see big.LITTLE.txt under docs/).\n",
                smp_processor_id(), current_cpu_data.midr.bits,
-               boot_cpu_data.midr.bits);
+               system_cpuinfo.midr.bits);
         stop_cpu();
     }
 
diff --git a/xen/include/asm-arm/cpufeature.h b/xen/include/asm-arm/cpufeature.h
index ba48db3eac..8f2b8e7830 100644
--- a/xen/include/asm-arm/cpufeature.h
+++ b/xen/include/asm-arm/cpufeature.h
@@ -3,7 +3,7 @@
 
 #ifdef CONFIG_ARM_64
 #define cpu_feature64(c, feat)         ((c)->pfr64.feat)
-#define boot_cpu_feature64(feat)       (boot_cpu_data.pfr64.feat)
+#define boot_cpu_feature64(feat)       (system_cpuinfo.pfr64.feat)
 
 #define cpu_feature64_has_el0_32(c)    (cpu_feature64(c, el0) == 2)
 
@@ -21,7 +21,7 @@
 #endif
 
 #define cpu_feature32(c, feat)         ((c)->pfr32.feat)
-#define boot_cpu_feature32(feat)       (boot_cpu_data.pfr32.feat)
+#define boot_cpu_feature32(feat)       (system_cpuinfo.pfr32.feat)
 
 #define cpu_has_arm       (boot_cpu_feature32(arm) == 1)
 #define cpu_has_thumb     (boot_cpu_feature32(thumb) >= 1)
@@ -326,7 +326,7 @@ struct cpuinfo_arm {
     } mvfr;
 };
 
-extern struct cpuinfo_arm boot_cpu_data;
+extern struct cpuinfo_arm system_cpuinfo;
 
 extern void identify_cpu(struct cpuinfo_arm *);
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 23 10:33:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 10:33:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170314.311143 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI7HD-0005Gg-0x; Mon, 23 Aug 2021 10:33:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170314.311143; Mon, 23 Aug 2021 10:33:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI7HC-0005GI-Sa; Mon, 23 Aug 2021 10:33:58 +0000
Received: by outflank-mailman (input) for mailman id 170314;
 Mon, 23 Aug 2021 10:33:57 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/xpK=NO=arm.com=bertrand.marquis@srs-us1.protection.inumbo.net>)
 id 1mI7HB-0003ow-Nh
 for xen-devel@lists.xenproject.org; Mon, 23 Aug 2021 10:33:57 +0000
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id 7be7332c-dc3f-435b-bf7c-512a2bf6f9ad;
 Mon, 23 Aug 2021 10:33:48 +0000 (UTC)
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 46A7513A1;
 Mon, 23 Aug 2021 03:33:48 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 9715E3F66F;
 Mon, 23 Aug 2021 03:33: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: 7be7332c-dc3f-435b-bf7c-512a2bf6f9ad
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2 7/7] xen/arm: Sanitize CTR_EL0 and emulate it if needed
Date: Mon, 23 Aug 2021 11:32:16 +0100
Message-Id: <f2028a4ad34f8288deb89472595c27ce55c81355.1629713932.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <cover.1629713932.git.bertrand.marquis@arm.com>
References: <cover.1629713932.git.bertrand.marquis@arm.com>
In-Reply-To: <cover.1629713932.git.bertrand.marquis@arm.com>
References: <cover.1629713932.git.bertrand.marquis@arm.com>

Sanitize CTR_EL0 value between cores.

In most cases different values will taint Xen but if different
i-cache policies are found, we choose the one which will be compatible
between all cores in terms of invalidation/data cache flushing strategy.

In this case we need to activate the TID2 bit in HCR to emulate the
TCR_EL0 register for guests. This patch is not activating TID2 bit all
the time to limit the overhead when possible.

When TID2 is activate we also need to emulate the CCSIDR, CSSELR and
CLIDR registers which is done here for both 32 and 64bit versions of the
registers.

Add CTR register field definitions using Linux value and define names
and use the opportunity to rename CTR_L1Ip to use an upper case name
instead. The patch is also defining ICACHE_POLICY_xxx instead of only
having CTR_L1IP_xxx. Code using those defines is also updated by this
patch (arm32 setup).

On most big/LITTLE platforms this patch will activate TID2 and emulate
VIPT type of i-cache for all cores (as most LITTLE cores are VIPT where
big ones are PIPT). This is the case for example on Juno boards.

On platforms with only the same type of cores, this patch should not
modify the behaviour.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
Change in v2: Patch introduced in v2
---
 xen/arch/arm/arm64/cpufeature.c  | 19 +++++++++++---
 xen/arch/arm/arm64/vsysreg.c     | 40 ++++++++++++++++++++++++++++
 xen/arch/arm/cpufeature.c        |  2 ++
 xen/arch/arm/domain.c            |  8 ++++++
 xen/arch/arm/setup.c             |  2 +-
 xen/arch/arm/vcpreg.c            | 45 ++++++++++++++++++++++++++++++++
 xen/include/asm-arm/arm64/hsr.h  |  6 +++++
 xen/include/asm-arm/cpufeature.h | 11 ++++++++
 xen/include/asm-arm/processor.h  | 18 ++++++++++---
 9 files changed, 143 insertions(+), 8 deletions(-)

diff --git a/xen/arch/arm/arm64/cpufeature.c b/xen/arch/arm/arm64/cpufeature.c
index b1936ef1d6..334d590ba0 100644
--- a/xen/arch/arm/arm64/cpufeature.c
+++ b/xen/arch/arm/arm64/cpufeature.c
@@ -275,9 +275,6 @@ static const struct arm64_ftr_bits ftr_id_aa64mmfr2[] = {
 	ARM64_FTR_END,
 };
 
-#if 0
-/* TODO: use this to sanitize the cache line size among cores */
-
 static const struct arm64_ftr_bits ftr_ctr[] = {
 	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_EXACT, 31, 1, 1), /* RES1 */
 	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, CTR_DIC_SHIFT, 1, 1),
@@ -294,7 +291,6 @@ static const struct arm64_ftr_bits ftr_ctr[] = {
 	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, CTR_IMINLINE_SHIFT, 4, 0),
 	ARM64_FTR_END,
 };
-#endif
 
 static const struct arm64_ftr_bits ftr_id_mmfr0[] = {
 	S_ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR0_INNERSHR_SHIFT, 4, 0xf),
@@ -510,6 +506,12 @@ static s64 arm64_ftr_safe_value(const struct arm64_ftr_bits *ftrp, s64 new,
  * End of imported linux structures and code
  */
 
+/*
+ * This is set to true if we have different type of i-caches on cores
+ * and used to activate TID2 bit to emulate CTR_EL0 register for guests
+ */
+bool mismatch_cache_type = false;
+
 static void sanitize_reg(u64 *cur_reg, u64 new_reg, const char *reg_name,
 						const struct arm64_ftr_bits *ftrp)
 {
@@ -600,6 +602,15 @@ void update_system_features(const struct cpuinfo_arm *new)
 	 */
 	SANITIZE_REG(dczid, 0, dczid);
 
+	SANITIZE_REG(ctr, 0, ctr);
+
+	/*
+	 * If CTR is different among cores, set mismatch_cache_type to activate
+	 * TID2 bit in HCR and emulate CTR register access for guests.
+	 */
+	if ( system_cpuinfo.ctr.bits[0] != new->ctr.bits[0] )
+		mismatch_cache_type = true;
+
 	if ( cpu_feature64_has_el0_32(&system_cpuinfo) )
 	{
 		SANITIZE_ID_REG(pfr32, 0, pfr0);
diff --git a/xen/arch/arm/arm64/vsysreg.c b/xen/arch/arm/arm64/vsysreg.c
index 887266dd46..17212bd7ae 100644
--- a/xen/arch/arm/arm64/vsysreg.c
+++ b/xen/arch/arm/arm64/vsysreg.c
@@ -341,6 +341,46 @@ void do_sysreg(struct cpu_user_regs *regs,
     case HSR_SYSREG(3,0,c0,c7,7):
         return handle_ro_raz(regs, regidx, hsr.sysreg.read, hsr, 1);
 
+    /*
+     * HCR_EL2.TID2
+     *
+     * registers related to cache detection
+     */
+    case HSR_SYSREG_CTR_EL0:
+        return handle_ro_read_val(regs, regidx, hsr.sysreg.read, hsr, 1,
+                system_cpuinfo.ctr.bits[0]);
+
+    case HSR_SYSREG_CLIDR_EL1:
+        return handle_ro_read_val(regs, regidx, hsr.sysreg.read, hsr, 1,
+                READ_SYSREG(CLIDR_EL1));
+
+    case HSR_SYSREG_CSSELR_EL1:
+        if ( psr_mode_is_user(regs) )
+            return inject_undef_exception(regs, hsr);
+        if ( hsr.sysreg.read )
+            set_user_reg(regs, regidx, v->arch.csselr);
+        else
+            v->arch.csselr = get_user_reg(regs, regidx);
+        break;
+
+    case HSR_SYSREG_CCSIDR_EL1:
+        if ( psr_mode_is_user(regs) )
+            return inject_undef_exception(regs, hsr);
+        if ( hsr.sysreg.read )
+        {
+            /* we need to set CSSELR and do the read of CCSIDR atomically */
+            WRITE_SYSREG(v->arch.csselr, CSSELR_EL1);
+            set_user_reg(regs, regidx, READ_SYSREG(CCSIDR_EL1));
+        }
+        break;
+
+    case HSR_SYSREG_CCSIDR2_EL1:
+        /*
+         * This would need to return a properly defined value if CCIDX is
+         * implemented in the processor
+         */
+        return inject_undef_exception(regs, hsr);
+
     /*
      * HCR_EL2.TIDCP
      *
diff --git a/xen/arch/arm/cpufeature.c b/xen/arch/arm/cpufeature.c
index 113f20f601..6e51f530a8 100644
--- a/xen/arch/arm/cpufeature.c
+++ b/xen/arch/arm/cpufeature.c
@@ -127,6 +127,8 @@ void identify_cpu(struct cpuinfo_arm *c)
 
     c->dczid.bits[0] = READ_SYSREG(DCZID_EL0);
 
+    c->ctr.bits[0] = READ_SYSREG(CTR_EL0);
+
     aarch32_el0 = cpu_feature64_has_el0_32(c);
 #endif
 
diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index 19c756ac3d..7a97fde3e7 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -585,6 +585,14 @@ int arch_vcpu_create(struct vcpu *v)
     v->arch.vmpidr = MPIDR_SMP | vcpuid_to_vaffinity(v->vcpu_id);
 
     v->arch.hcr_el2 = get_default_hcr_flags();
+#ifdef CONFIG_ARM64
+    /*
+     * Only activated TID2 to catch access to CTR_EL0 if the platform has some
+     * mismatching i-cache types among cores
+     */
+    if ( mismatch_cache_type )
+        v->arch.hcr_el2 |= HCR_TID2;
+#endif
 
     if ( (rc = vcpu_vgic_init(v)) != 0 )
         goto fail;
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 3798c5ade0..33b7bfb59c 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -627,7 +627,7 @@ static void __init setup_mm(void)
         panic("No memory bank\n");
 
     /* We only supports instruction caches implementing the IVIPT extension. */
-    if ( ((ctr >> CTR_L1Ip_SHIFT) & CTR_L1Ip_MASK) == CTR_L1Ip_AIVIVT )
+    if ( ((ctr >> CTR_L1IP_SHIFT) & CTR_L1IP_MASK) == ICACHE_POLICY_AIVIVT )
         panic("AIVIVT instruction cache not supported\n");
 
     init_pdx();
diff --git a/xen/arch/arm/vcpreg.c b/xen/arch/arm/vcpreg.c
index 33259c4194..5ffed96ded 100644
--- a/xen/arch/arm/vcpreg.c
+++ b/xen/arch/arm/vcpreg.c
@@ -361,6 +361,51 @@ void do_cp15_32(struct cpu_user_regs *regs, const union hsr hsr)
     HSR_CPREG32_TID3_CASES(c7):
         return handle_ro_raz(regs, regidx, cp32.read, hsr, 1);
 
+#ifdef CONFIG_ARM64
+    /*
+     * HCR_EL2.TID2
+     *
+     * registers related to cache detection
+     * Only supported on arm64 as we do not sanitize cpuinfo on arm32 so we
+     * do not need to emulate those.
+     */
+    case HSR_CPREG32(CTR):
+        return handle_ro_read_val(regs, regidx, cp32.read, hsr, 1,
+                system_cpuinfo.ctr.bits[0]);
+
+    case HSR_CPREG32(CLIDR):
+        return handle_ro_read_val(regs, regidx, cp32.read, hsr, 1,
+                READ_SYSREG(CLIDR_EL1));
+
+    case HSR_CPREG32(CSSELR):
+        if ( psr_mode_is_user(regs) )
+            return inject_undef_exception(regs, hsr);
+        if ( cp32.read )
+            set_user_reg(regs, regidx, v->arch.csselr);
+        else
+            v->arch.csselr = get_user_reg(regs, regidx);
+        break;
+
+    case HSR_CPREG32(CCSIDR):
+        if ( psr_mode_is_user(regs) )
+            return inject_undef_exception(regs, hsr);
+        if ( cp32.read )
+        {
+            /* we need to set CSSELR and do the read of CCSIDR atomically */
+            WRITE_SYSREG(v->arch.csselr, CSSELR_EL1);
+            set_user_reg(regs, regidx, READ_SYSREG(CCSIDR_EL1));
+        }
+        break;
+
+    case HSR_CPREG32(CCSIDR2):
+        /*
+         * This would need to return a properly defined value if CCIDX is
+         * implemented in the processor
+         */
+        return inject_undef_exception(regs, hsr);
+
+#endif
+
     /*
      * HCR_EL2.TIDCP
      *
diff --git a/xen/include/asm-arm/arm64/hsr.h b/xen/include/asm-arm/arm64/hsr.h
index e691d41c17..c33980e4e5 100644
--- a/xen/include/asm-arm/arm64/hsr.h
+++ b/xen/include/asm-arm/arm64/hsr.h
@@ -147,6 +147,12 @@
 #define HSR_SYSREG_ID_AA64AFR1_EL1   HSR_SYSREG(3,0,c0,c5,5)
 #define HSR_SYSREG_ID_AA64ZFR0_EL1   HSR_SYSREG(3,0,c0,c4,4)
 
+#define HSR_SYSREG_CTR_EL0      HSR_SYSREG(3,3,c0,c0,1)
+#define HSR_SYSREG_CLIDR_EL1    HSR_SYSREG(3,1,c0,c0,1)
+#define HSR_SYSREG_CSSELR_EL1   HSR_SYSREG(3,2,c0,c0,0)
+#define HSR_SYSREG_CCSIDR_EL1   HSR_SYSREG(3,1,c0,c0,0)
+#define HSR_SYSREG_CCSIDR2_EL1  HSR_SYSREG(3,1,c0,c0,2)
+
 #endif /* __ASM_ARM_ARM64_HSR_H */
 
 /*
diff --git a/xen/include/asm-arm/cpufeature.h b/xen/include/asm-arm/cpufeature.h
index 5219fd3bab..ca6e827fcb 100644
--- a/xen/include/asm-arm/cpufeature.h
+++ b/xen/include/asm-arm/cpufeature.h
@@ -267,6 +267,14 @@ struct cpuinfo_arm {
         register_t bits[1];
     } dczid;
 
+    /*
+     * CTR is only used to check for different cache types or policies and
+     * taint Xen in this case
+     */
+    struct {
+        register_t bits[1];
+    } ctr;
+
 #endif
 
     /*
@@ -339,6 +347,9 @@ extern struct cpuinfo_arm system_cpuinfo;
 extern void identify_cpu(struct cpuinfo_arm *);
 
 #ifdef CONFIG_ARM_64
+
+extern bool mismatched_cache_type;
+
 extern void update_system_features(const struct cpuinfo_arm *);
 #else
 static inline void update_system_features(const struct cpuinfo_arm *cpuinfo)
diff --git a/xen/include/asm-arm/processor.h b/xen/include/asm-arm/processor.h
index 2577e9a244..8c9843e12b 100644
--- a/xen/include/asm-arm/processor.h
+++ b/xen/include/asm-arm/processor.h
@@ -7,9 +7,21 @@
 #include <public/arch-arm.h>
 
 /* CTR Cache Type Register */
-#define CTR_L1Ip_MASK       0x3
-#define CTR_L1Ip_SHIFT      14
-#define CTR_L1Ip_AIVIVT     0x1
+#define CTR_L1IP_MASK       0x3
+#define CTR_L1IP_SHIFT      14
+#define CTR_DMINLINE_SHIFT  16
+#define CTR_IMINLINE_SHIFT  0
+#define CTR_IMINLINE_MASK   0xf
+#define CTR_ERG_SHIFT       20
+#define CTR_CWG_SHIFT       24
+#define CTR_CWG_MASK        15
+#define CTR_IDC_SHIFT       28
+#define CTR_DIC_SHIFT       29
+
+#define ICACHE_POLICY_VPIPT  0
+#define ICACHE_POLICY_AIVIVT 1
+#define ICACHE_POLICY_VIPT   2
+#define ICACHE_POLICY_PIPT   3
 
 /* MIDR Main ID Register */
 #define MIDR_REVISION_MASK      0xf
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 23 10:33:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 10:33:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170315.311149 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI7HD-0005L0-HU; Mon, 23 Aug 2021 10:33:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170315.311149; Mon, 23 Aug 2021 10: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 1mI7HD-0005K7-7V; Mon, 23 Aug 2021 10:33:59 +0000
Received: by outflank-mailman (input) for mailman id 170315;
 Mon, 23 Aug 2021 10:33:58 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/xpK=NO=arm.com=bertrand.marquis@srs-us1.protection.inumbo.net>)
 id 1mI7HC-0003X5-4G
 for xen-devel@lists.xenproject.org; Mon, 23 Aug 2021 10:33:58 +0000
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id 984bbd07-03fd-11ec-a86f-12813bfff9fa;
 Mon, 23 Aug 2021 10:33:46 +0000 (UTC)
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 9F45012FC;
 Mon, 23 Aug 2021 03:33:45 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 6A9703F66F;
 Mon, 23 Aug 2021 03:33: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: 984bbd07-03fd-11ec-a86f-12813bfff9fa
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: 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>,
	Ian Jackson <iwj@xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v2 4/7] xen/arm: Sanitize cpuinfo ID registers fields
Date: Mon, 23 Aug 2021 11:32:13 +0100
Message-Id: <58562c6fe41d1f6b4ccb2747520974113bdc117d.1629713932.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <cover.1629713932.git.bertrand.marquis@arm.com>
References: <cover.1629713932.git.bertrand.marquis@arm.com>
In-Reply-To: <cover.1629713932.git.bertrand.marquis@arm.com>
References: <cover.1629713932.git.bertrand.marquis@arm.com>

Define a sanitize_cpu function to be called on secondary cores to
sanitize the system cpuinfo structure.

The safest value is taken when possible and the system is marked tainted
if we encounter values which are incompatible with each other.

Call the update_system_features function on all secondary cores and
remove the code disabling secondary cores if they are not the same
as the boot core as we are now able to handle this use case.

This is only supported on arm64 so update_system_features is an empty
static inline on arm32.

The patch is also adding a new TAINT_CPU_OUT_OF_SPEC to warn the user if
Xen is running on a system with features differences between cores which
are not supported.

The patch is disabling CTR_EL0, DCZID_EL0 and ZCRusing #if 0 with a TODO
as this patch is not handling sanitization of those registers.
CTR_EL0/DCZID will be handled in a future patch to properly handle
different cache attributes when possible.
ZCR should be sanitize once we add support for SVE in Xen.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
Changes in v2:
- add compilation of cpufeature.c in this patch instead of previous one
- remove functions reused from linux code and moved to header
- rename sanitize_cpu to update_system_features
- change to Linux coding style
- remove dev comments
- surround currently not used Linux structures with #if 0 and adapt the
commit message
- add missing aa64dfr1 register
- add TODO for CTR, DCZID and ZCR
- add CPU_OUT_OF_SPEC support to print_taint
- use system_cpuinfo instead of boot_cpu_data
---
 xen/arch/arm/arm64/Makefile      |   1 +
 xen/arch/arm/arm64/cpufeature.c  | 121 +++++++++++++++++++++++++++++++
 xen/arch/arm/smpboot.c           |   5 +-
 xen/common/kernel.c              |   6 +-
 xen/include/asm-arm/cpufeature.h |   9 +++
 xen/include/xen/lib.h            |   1 +
 6 files changed, 140 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/arm64/Makefile b/xen/arch/arm/arm64/Makefile
index 40642ff574..701d66883d 100644
--- a/xen/arch/arm/arm64/Makefile
+++ b/xen/arch/arm/arm64/Makefile
@@ -1,6 +1,7 @@
 obj-y += lib/
 
 obj-y += cache.o
+obj-y += cpufeature.o
 obj-$(CONFIG_HARDEN_BRANCH_PREDICTOR) += bpi.o
 obj-$(CONFIG_EARLY_PRINTK) += debug.o
 obj-y += domctl.o
diff --git a/xen/arch/arm/arm64/cpufeature.c b/xen/arch/arm/arm64/cpufeature.c
index 5777e33e5c..61f629ebaa 100644
--- a/xen/arch/arm/arm64/cpufeature.c
+++ b/xen/arch/arm/arm64/cpufeature.c
@@ -275,6 +275,9 @@ static const struct arm64_ftr_bits ftr_id_aa64mmfr2[] = {
 	ARM64_FTR_END,
 };
 
+#if 0
+/* TODO: use this to sanitize the cache line size among cores */
+
 static const struct arm64_ftr_bits ftr_ctr[] = {
 	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_EXACT, 31, 1, 1), /* RES1 */
 	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, CTR_DIC_SHIFT, 1, 1),
@@ -291,6 +294,7 @@ static const struct arm64_ftr_bits ftr_ctr[] = {
 	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, CTR_IMINLINE_SHIFT, 4, 0),
 	ARM64_FTR_END,
 };
+#endif
 
 static const struct arm64_ftr_bits ftr_id_mmfr0[] = {
 	S_ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR0_INNERSHR_SHIFT, 4, 0xf),
@@ -325,11 +329,14 @@ static const struct arm64_ftr_bits ftr_mvfr2[] = {
 	ARM64_FTR_END,
 };
 
+#if 0
+/* TODO: handle this when sanitizing cache related registers */
 static const struct arm64_ftr_bits ftr_dczid[] = {
 	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_EXACT, DCZID_DZP_SHIFT, 1, 1),
 	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, DCZID_BS_SHIFT, 4, 0),
 	ARM64_FTR_END,
 };
+#endif
 
 static const struct arm64_ftr_bits ftr_id_isar0[] = {
 	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR0_DIVIDE_SHIFT, 4, 0),
@@ -444,11 +451,15 @@ 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
@@ -502,3 +513,113 @@ static s64 arm64_ftr_safe_value(const struct arm64_ftr_bits *ftrp, s64 new,
  * End of imported linux structures and code
  */
 
+static void sanitize_reg(u64 *cur_reg, u64 new_reg, const char *reg_name,
+						const struct arm64_ftr_bits *ftrp)
+{
+	int taint = 0;
+	u64 old_reg = *cur_reg;
+
+	for (;ftrp->width != 0;ftrp++)
+	{
+		u64 mask;
+		s64 cur_field = arm64_ftr_value(ftrp, *cur_reg);
+		s64 new_field = arm64_ftr_value(ftrp, new_reg);
+
+		if (cur_field == new_field)
+			continue;
+
+		if (ftrp->strict)
+			taint = 1;
+
+		mask = arm64_ftr_mask(ftrp);
+
+		*cur_reg &= ~mask;
+		*cur_reg |= (arm64_ftr_safe_value(ftrp, new_field, cur_field)
+					<< ftrp->shift) & mask;
+	}
+
+	if (old_reg != new_reg)
+		printk(XENLOG_DEBUG "SANITY DIF: %s 0x%"PRIx64" -> 0x%"PRIx64"\n",
+				reg_name, old_reg, new_reg);
+	if (old_reg != *cur_reg)
+		printk(XENLOG_DEBUG "SANITY FIX: %s 0x%"PRIx64" -> 0x%"PRIx64"\n",
+				reg_name, old_reg, *cur_reg);
+
+	if (taint)
+	{
+		printk(XENLOG_WARNING "SANITY CHECK: Unexpected variation in %s.\n",
+				reg_name);
+		add_taint(TAINT_CPU_OUT_OF_SPEC);
+	}
+}
+
+
+/*
+ * This function should be called on secondary cores to sanitize the boot cpu
+ * cpuinfo.
+ */
+void update_system_features(const struct cpuinfo_arm *new)
+{
+
+#define SANITIZE_REG(field, num, reg)  \
+	sanitize_reg(&system_cpuinfo.field.bits[num], new->field.bits[num], \
+				 #reg, ftr_##reg)
+
+#define SANITIZE_ID_REG(field, num, reg)  \
+	sanitize_reg(&system_cpuinfo.field.bits[num], new->field.bits[num], \
+				#reg, ftr_id_##reg)
+
+#define SANITIZE_RAZ_REG(field, num, reg)  \
+	sanitize_reg(&system_cpuinfo.field.bits[num], new->field.bits[num], \
+				#reg, ftr_raz)
+
+#define SANITIZE_GENERIC_REG(field, num, reg)  \
+	sanitize_reg(&system_cpuinfo.field.bits[num], new->field.bits[num], \
+				#reg, ftr_generic_32bits)
+
+	SANITIZE_ID_REG(pfr64, 0, aa64pfr0);
+	SANITIZE_ID_REG(pfr64, 1, aa64pfr1);
+
+	SANITIZE_ID_REG(dbg64, 0, aa64dfr0);
+	SANITIZE_RAZ_REG(dbg64, 1, aa64dfr1);
+
+	SANITIZE_ID_REG(mm64, 0, aa64mmfr0);
+	SANITIZE_ID_REG(mm64, 1, aa64mmfr1);
+	SANITIZE_ID_REG(mm64, 2, aa64mmfr2);
+
+	SANITIZE_ID_REG(isa64, 0, aa64isar0);
+	SANITIZE_ID_REG(isa64, 1, aa64isar1);
+
+	SANITIZE_ID_REG(zfr64, 0, aa64zfr0);
+
+	if ( cpu_feature64_has_el0_32(&system_cpuinfo) )
+	{
+		SANITIZE_ID_REG(pfr32, 0, pfr0);
+		SANITIZE_ID_REG(pfr32, 1, pfr1);
+		SANITIZE_ID_REG(pfr32, 2, pfr2);
+
+		SANITIZE_ID_REG(dbg32, 0, dfr0);
+		SANITIZE_ID_REG(dbg32, 1, dfr1);
+
+		SANITIZE_ID_REG(mm32, 0, mmfr0);
+		SANITIZE_GENERIC_REG(mm32, 1, mmfr1);
+		SANITIZE_GENERIC_REG(mm32, 2, mmfr2);
+		SANITIZE_GENERIC_REG(mm32, 3, mmfr3);
+		SANITIZE_ID_REG(mm32, 4, mmfr4);
+		SANITIZE_ID_REG(mm32, 5, mmfr5);
+
+		SANITIZE_ID_REG(isa32, 0, isar0);
+		SANITIZE_GENERIC_REG(isa32, 1, isar1);
+		SANITIZE_GENERIC_REG(isa32, 2, isar2);
+		SANITIZE_GENERIC_REG(isa32, 3, isar3);
+		SANITIZE_ID_REG(isa32, 4, isar4);
+		SANITIZE_ID_REG(isa32, 5, isar5);
+		SANITIZE_ID_REG(isa32, 6, isar6);
+
+		SANITIZE_GENERIC_REG(mvfr, 0, mvfr0);
+		SANITIZE_GENERIC_REG(mvfr, 1, mvfr1);
+#ifndef MVFR2_MAYBE_UNDEFINED
+		SANITIZE_REG(mvfr, 2, mvfr2);
+#endif
+	}
+}
diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index c9f2827d56..f631482a62 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -307,12 +307,14 @@ void start_secondary(void)
     set_processor_id(cpuid);
 
     identify_cpu(&current_cpu_data);
+    update_system_features(&current_cpu_data);
     processor_setup();
 
     init_traps();
 
+#ifndef CONFIG_ARM_64
     /*
-     * Currently Xen assumes the platform has only one kind of CPUs.
+     * Currently Xen assumes the platform has only one kind of CPUs on ARM32.
      * This assumption does not hold on big.LITTLE platform and may
      * result to instability and insecure platform (unless cpu affinity
      * is manually specified for all domains). Better to park them for
@@ -328,6 +330,7 @@ void start_secondary(void)
                system_cpuinfo.midr.bits);
         stop_cpu();
     }
+#endif
 
     if ( dcache_line_bytes != read_dcache_line_bytes() )
     {
diff --git a/xen/common/kernel.c b/xen/common/kernel.c
index d77756a81e..e119e5401f 100644
--- a/xen/common/kernel.c
+++ b/xen/common/kernel.c
@@ -327,6 +327,7 @@ unsigned int tainted;
  *  'H' - HVM forced emulation prefix is permitted.
  *  'M' - Machine had a machine check experience.
  *  'U' - Platform is unsecure (usually due to an errata on the platform).
+ *  'S' - Out of spec CPU (One core has a feature incompatible with others).
  *
  *      The string is overwritten by the next call to print_taint().
  */
@@ -334,12 +335,13 @@ char *print_tainted(char *str)
 {
     if ( tainted )
     {
-        snprintf(str, TAINT_STRING_MAX_LEN, "Tainted: %c%c%c%c%c",
+        snprintf(str, TAINT_STRING_MAX_LEN, "Tainted: %c%c%c%c%c%c",
                  tainted & TAINT_MACHINE_UNSECURE ? 'U' : ' ',
                  tainted & TAINT_MACHINE_CHECK ? 'M' : ' ',
                  tainted & TAINT_SYNC_CONSOLE ? 'C' : ' ',
                  tainted & TAINT_ERROR_INJECT ? 'E' : ' ',
-                 tainted & TAINT_HVM_FEP ? 'H' : ' ');
+                 tainted & TAINT_HVM_FEP ? 'H' : ' ',
+                 tainted & TAINT_CPU_OUT_OF_SPEC ? 'S' : ' ');
     }
     else
     {
diff --git a/xen/include/asm-arm/cpufeature.h b/xen/include/asm-arm/cpufeature.h
index 8f2b8e7830..52cb3133e0 100644
--- a/xen/include/asm-arm/cpufeature.h
+++ b/xen/include/asm-arm/cpufeature.h
@@ -330,6 +330,15 @@ extern struct cpuinfo_arm system_cpuinfo;
 
 extern void identify_cpu(struct cpuinfo_arm *);
 
+#ifdef CONFIG_ARM_64
+extern void update_system_features(const struct cpuinfo_arm *);
+#else
+static inline void update_system_features(const struct cpuinfo_arm *cpuinfo)
+{
+    /* Not supported on arm32 */
+}
+#endif
+
 extern struct cpuinfo_arm cpu_data[];
 #define current_cpu_data cpu_data[smp_processor_id()]
 
diff --git a/xen/include/xen/lib.h b/xen/include/xen/lib.h
index 1198c7c0b2..c6987973bf 100644
--- a/xen/include/xen/lib.h
+++ b/xen/include/xen/lib.h
@@ -192,6 +192,7 @@ uint64_t muldiv64(uint64_t a, uint32_t b, uint32_t c);
 #define TAINT_ERROR_INJECT              (1u << 2)
 #define TAINT_HVM_FEP                   (1u << 3)
 #define TAINT_MACHINE_UNSECURE          (1u << 4)
+#define TAINT_CPU_OUT_OF_SPEC           (1u << 5)
 extern unsigned int tainted;
 #define TAINT_STRING_MAX_LEN            20
 extern char *print_tainted(char *str);
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 23 10:59:10 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 10:59:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170362.311165 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI7fU-0001bY-Pp; Mon, 23 Aug 2021 10:59:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170362.311165; Mon, 23 Aug 2021 10: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 1mI7fU-0001bR-Mo; Mon, 23 Aug 2021 10:59:04 +0000
Received: by outflank-mailman (input) for mailman id 170362;
 Mon, 23 Aug 2021 10:59: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 1mI7fT-0001bJ-38
 for xen-devel@lists.xenproject.org; Mon, 23 Aug 2021 10:59: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 1mI7fS-0000oM-TF; Mon, 23 Aug 2021 10:59:02 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mI7fS-0003PU-NH; Mon, 23 Aug 2021 10:59:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=/KEcFdc5cvYV1UT1YfQWjlYzy1YOIhtMsmcJlVGUk9k=; b=FmUjrkmB9vsk13uOxAu/MI68wW
	M/cDM+vEUT14LDi5T8m5RAUnSctMfRLopuF9MSH1SzJS5uhb8cusx1jo/xXze73pq3Ed6KjX/E7DQ
	6Cse8PQpDtlMWgaUu7/6k1eQltnpY2GXXxejaLy87kA1KelC9f4pSJ7eUSZ7nnrTZIJM=;
Subject: Re: [XEN RFC PATCH 22/40] xen/arm: introduce a helper to parse device
 tree processor node
To: Wei Chen <Wei.Chen@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>
Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-23-wei.chen@arm.com>
 <167bbcea-e797-c924-81d9-20e626e320cb@xen.org>
 <DB9PR08MB6857D1E22305A7878103EBC99EC49@DB9PR08MB6857.eurprd08.prod.outlook.com>
From: Julien Grall <julien@xen.org>
Message-ID: <3b5d47cf-95c1-cb56-9246-57a94a6f9b1e@xen.org>
Date: Mon, 23 Aug 2021 11:59:00 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <DB9PR08MB6857D1E22305A7878103EBC99EC49@DB9PR08MB6857.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit



On 23/08/2021 09:47, Wei Chen wrote:
> Hi Julien,

Hi Wei,

>> -----Original Message-----
>> From: Julien Grall <julien@xen.org>
>> Sent: 2021年8月20日 2:11
>> To: Wei Chen <Wei.Chen@arm.com>; xen-devel@lists.xenproject.org;
>> sstabellini@kernel.org; jbeulich@suse.com
>> Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>
>> Subject: Re: [XEN RFC PATCH 22/40] xen/arm: introduce a helper to parse
>> device tree processor node
>>
>> On 11/08/2021 11:24, Wei Chen wrote:
>>> Processor NUMA ID information is stored in device tree's processor
>>> node as "numa-node-id". We need a new helper to parse this ID from
>>> processor node. If we get this ID from processor node, this ID's
>>> validity still need to be checked. Once we got a invalid NUMA ID
>>> from any processor node, the device tree will be marked as NUMA
>>> information invalid.
>>>
>>> Signed-off-by: Wei Chen <wei.chen@arm.com>
>>> ---
>>>    xen/arch/arm/numa_device_tree.c | 41 +++++++++++++++++++++++++++++++--
>>>    1 file changed, 39 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/xen/arch/arm/numa_device_tree.c
>> b/xen/arch/arm/numa_device_tree.c
>>> index 1c74ad135d..37cc56acf3 100644
>>> --- a/xen/arch/arm/numa_device_tree.c
>>> +++ b/xen/arch/arm/numa_device_tree.c
>>> @@ -20,16 +20,53 @@
>>>    #include <xen/init.h>
>>>    #include <xen/nodemask.h>
>>>    #include <xen/numa.h>
>>> +#include <xen/device_tree.h>
>>> +#include <asm/setup.h>
>>>
>>>    s8 device_tree_numa = 0;
>>> +static nodemask_t processor_nodes_parsed __initdata;
>>>
>>> -int srat_disabled(void)
>>> +static int srat_disabled(void)
>>>    {
>>>        return numa_off || device_tree_numa < 0;
>>>    }
>>>
>>> -void __init bad_srat(void)
>>> +static __init void bad_srat(void)
>>>    {
>>>        printk(KERN_ERR "DT: NUMA information is not used.\n");
>>>        device_tree_numa = -1;
>>>    }
>>> +
>>> +/* Callback for device tree processor affinity */
>>> +static int __init dtb_numa_processor_affinity_init(nodeid_t node)
>>
>> I forgot to answer. It seems odd that some of the function names start
>> with dtb_* while other starts device_tree_*. Any particular reason for
>> that difference of naming?
>>
> 
> yes, in the very beginning, I want to keep device_tree_ prefix for
> functions that will handle dtb file. And use dtb_ prefix to replace
> acpi, to indicate, this function is device tree version numa implementation.

Thanks for the clarification. The difference between "dtb" and 
"device_tree" is quite subttle: the former refers to the binary while 
the latter refers to the format. Most of the readers are likely to infer 
they mean the same. So I think this will bring more confusion.

> 
> If that's not the right reason, I will unify all prefix to device_tree_
> in next version. How do you think about it?

AFAICT, your parsing functions will always start with 
"device_tree_parse_". I would prefer if the set replacing the ACPI 
helpers start with "device_tree_".

If you are concern with the length of the function name, then I would 
suggest to prefix all the functions with "fdt" (We are dealing with the 
flattened DT after all) or "dt".

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 23 11:48:12 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 11:48:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170369.311176 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI8Qo-00077V-Ap; Mon, 23 Aug 2021 11:47:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170369.311176; Mon, 23 Aug 2021 11:47:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI8Qo-00077O-7u; Mon, 23 Aug 2021 11:47:58 +0000
Received: by outflank-mailman (input) for mailman id 170369;
 Mon, 23 Aug 2021 11:47:57 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mI8Qm-00077I-UT
 for xen-devel@lists.xenproject.org; Mon, 23 Aug 2021 11:47: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 1mI8Ql-0001ei-VH; Mon, 23 Aug 2021 11:47:55 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mI8Ql-0001h9-Od; Mon, 23 Aug 2021 11:47:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=A5qsuXl4HlEnrc3vG0wrBT3ZI/GQLlKntmNNKJdEYhk=; b=U2vEpsil2q85AS3CHuoWTSS4Kh
	KQisF/1jM+q/oSUaLfJiqt8GBxID2sUa8Aqp7LMg/k3emPm2Tz6o82Bk6gnSLO9vxE1Zqh3tsYQwO
	YEuw2QydYfeqVcyGIuZ994QULHRWY7MrhqA+tWw8gCPnYiYnLvN3v0cEHn8Enhqjw4GU=;
Subject: Re: [PATCH v2 5/7] xen/arm: Use sanitize values for p2m
To: Bertrand Marquis <bertrand.marquis@arm.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1629713932.git.bertrand.marquis@arm.com>
 <b6d656bd249e85ef192a0bbddae1eb8492e51583.1629713932.git.bertrand.marquis@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <7c8684a1-a20f-0534-2a4b-3a778a80166b@xen.org>
Date: Mon, 23 Aug 2021 12:47:53 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <b6d656bd249e85ef192a0bbddae1eb8492e51583.1629713932.git.bertrand.marquis@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Bertrand,

On 23/08/2021 11:32, Bertrand Marquis wrote:
> Replace the code in p2m trying to find a sane value for the VMID size
> supported and the PAR to use. We are now using the boot cpuinfo as the
> values there are sanitized during boot and the value for those
> parameters is now the safest possible value on the system.
> 
> On arm32, the system will panic if there are different types of core so
> those checks were not needed anyway.

So the assumption is that if you have the same MIDR, then you must have 
the same features. I understand this is what Xen assumes today but I 
never viewed that check as the truth. It is more to limit the damage on 
most platform.

So can you confirm whether this is something that Arm guarantees?

That said, I am not against removing the code. But I would like the 
comment to be amended if this is not a correct assumption.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 23 12:10:18 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 12:10:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170381.311187 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI8mL-00022c-5D; Mon, 23 Aug 2021 12:10:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170381.311187; Mon, 23 Aug 2021 12:10:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI8mL-00022V-1V; Mon, 23 Aug 2021 12:10:13 +0000
Received: by outflank-mailman (input) for mailman id 170381;
 Mon, 23 Aug 2021 12:10: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 1mI8mJ-00022N-Os
 for xen-devel@lists.xenproject.org; Mon, 23 Aug 2021 12:10: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 1mI8mE-00023T-3b; Mon, 23 Aug 2021 12:10:06 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mI8mD-0004bE-SB; Mon, 23 Aug 2021 12:10: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:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=c0LI5Dat8k0q7n2GlAf5ZsEOEaSxvFiRGZFBd3ySrC8=; b=1oZbxemtA24CSMeJWz2z5b51Re
	KJsKN+yncNfhLpdolCacdR7HmEBZahC61zUJwxY6Ohz2c8WLBHJvoG+TL0ep+Gi16ReAWFSzivK3W
	PPjLd87K7SfBrFOqKXwCFP2xWSHim9qt/ic0Zp6BCnrCol6sVd6InODDhaSw2xAR+2A8=;
Subject: Re: [PATCH v2 0/7] xen/arm: Sanitize cpuinfo
To: Bertrand Marquis <bertrand.marquis@arm.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Jan Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>
References: <cover.1629713932.git.bertrand.marquis@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <30ad3be3-b8b2-b83f-e061-5a428175e3f4@xen.org>
Date: Mon, 23 Aug 2021 13:10:03 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <cover.1629713932.git.bertrand.marquis@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Bertrand,

On 23/08/2021 11:32, Bertrand Marquis wrote:
> On arm architecture we might have heterogeneous platforms with different
> types of cores. As a guest can potentialy run on any of those cores we
> have to present them cpu features which are compatible with all cores
> and discard the features which are only available on some cores.

Sanitizing the CPU info is important for Xen so it can correctly size 
the P2M, flush the cache... However, I don't think this is going to be 
sufficient to be able to move a vCPU between different type of pCPU.

The main hurdle I can see so far is errata handling. Not all the errata 
can be fully handled in Xen so some of them are left to the guest to 
mitigate.

The errata are usually detected based on the MIDR while the OS is 
booting. IOW, a guest will not be able to know that it needs to handle 
an errata for pCPU B if it only runs on pCPU A.

I don't know yet how this can be solved, but errata are not that 
uncommon on Arm. So until this addressed, we will still need to make 
sure that vCPUs are not migrated between pCPUs with at least a different 
MIDR.

This prevention can be either done manually by pinning the vCPUs or 
implementing the proposal that Dario sent a few years ago (see [1]).

Cheers,

[1] 
https://lists.xenproject.org/archives/html/xen-devel/2016-12/msg00826.html

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 23 12:14:34 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 12:14:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170404.311198 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI8qX-0002r6-N0; Mon, 23 Aug 2021 12:14:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170404.311198; Mon, 23 Aug 2021 12:14:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI8qX-0002qz-JX; Mon, 23 Aug 2021 12:14:33 +0000
Received: by outflank-mailman (input) for mailman id 170404;
 Mon, 23 Aug 2021 12:14: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 1mI8qW-0002qt-AJ
 for xen-devel@lists.xenproject.org; Mon, 23 Aug 2021 12:14: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 1mI8qV-000278-DA; Mon, 23 Aug 2021 12:14:31 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mI8qV-0005EL-7c; Mon, 23 Aug 2021 12:14: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:
	MIME-Version:Date:Message-ID:References:Cc:To:From:Subject;
	bh=l+wpBVu7YLc5UHm7qm4O0gMelctUgnDrA1VRd6IVyE0=; b=OK4qJLD6yzxftWhhm3EEa9k50W
	9z5dYCvzlajdWCmc/NFL49/jzE6ah1evpzJDaLDsnRt6O/R1qlEEPUZ4vKr7FqJgcJi0yGqBvptdZ
	bN8tTsnm4VpXC2QmCGA4Cgq13s2rbxrxuqq+apYVmjTMHlMCcb6WI+c1Rient08TkIKc=;
Subject: Re: [PATCH v2 5/7] xen/arm: Use sanitize values for p2m
From: Julien Grall <julien@xen.org>
To: Bertrand Marquis <bertrand.marquis@arm.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1629713932.git.bertrand.marquis@arm.com>
 <b6d656bd249e85ef192a0bbddae1eb8492e51583.1629713932.git.bertrand.marquis@arm.com>
 <7c8684a1-a20f-0534-2a4b-3a778a80166b@xen.org>
Message-ID: <9b3acf5f-4937-4f4f-d392-f37dcc0e7c3c@xen.org>
Date: Mon, 23 Aug 2021 13:14:29 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <7c8684a1-a20f-0534-2a4b-3a778a80166b@xen.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit



On 23/08/2021 12:47, Julien Grall wrote:
> Hi Bertrand,
> 
> On 23/08/2021 11:32, Bertrand Marquis wrote:
>> Replace the code in p2m trying to find a sane value for the VMID size
>> supported and the PAR to use. We are now using the boot cpuinfo as the
>> values there are sanitized during boot and the value for those
>> parameters is now the safest possible value on the system.
>>
>> On arm32, the system will panic if there are different types of core so
>> those checks were not needed anyway.
> 
> So the assumption is that if you have the same MIDR, then you must have 
> the same features. I understand this is what Xen assumes today but I 
> never viewed that check as the truth. It is more to limit the damage on 
> most platform.
> 
> So can you confirm whether this is something that Arm guarantees?
> 
> That said, I am not against removing the code. But I would like the 
> comment to be amended if this is not a correct assumption.

s/comment/commit message/.

> Cheers,
> 

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 23 12:26:53 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 12:26:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170411.311209 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI92N-0004QB-Sf; Mon, 23 Aug 2021 12:26:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170411.311209; Mon, 23 Aug 2021 12: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 1mI92N-0004Q4-PF; Mon, 23 Aug 2021 12:26:47 +0000
Received: by outflank-mailman (input) for mailman id 170411;
 Mon, 23 Aug 2021 12:26:46 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qkzG=NO=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mI92M-0004Py-Fd
 for xen-devel@lists.xenproject.org; Mon, 23 Aug 2021 12:26:46 +0000
Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 5e75f474-040d-11ec-a872-12813bfff9fa;
 Mon, 23 Aug 2021 12:26: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: 5e75f474-040d-11ec-a872-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629721601;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=Z4mCfKHaxbQNKo/26kGmar3/UwAh/wLJ/ByyIRamOFA=;
  b=ZzE3xVd2XaE3bmaVK2AuwYAeiH/uPRWoXvA18u0h+SDJUlHF9r6vR57E
   HPx9s4cRRhB4PUcoFHBkky4ZbqVugPqDOSG8o05ex+d2H1C6GvpmUHjFj
   NwBt87PDs6KmyyT7w6mLy68lRaDJGa5OgAxSp6oA8IngHy/EGLixXRGC8
   Q=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: jlTcOXLEnhy5z77bB9bI6fnjPoFB040OKPX5TbVRir39z+0uHnc+CyhlFHOumhcG5T3iXWHpX7
 zTSngEvDOpT1KvDCPUtkhY+wDH7JB4IqLhxdKhp20dFp1iyCVktZDIHCxGy08MBTb9HP0+NNhc
 gQGwqiu5hwUXWYDRD0kRzaHHioztbuuy71R5t8nTQwQRYdBlq23obL7w3qJVZsatlG0oD9tfKJ
 ZrA8Z17yJdNf1th7dyoxj/gkrWC6YGE2YXCefztvua4+MFDCXB2ZSSMz2bWmvm5Rr7zi1etMmG
 tgJg5DIpESw/jLJmPMWVJ5/H
X-SBRS: 5.1
X-MesageID: 51064148
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:n8LLvauV0HZZZaowjNjGqh3Z7skDjNV00zEX/kB9WHVpm6yj+v
 xGUs566faUskd0ZJhEo7q90ca7Lk80maQa3WBzB8bGYOCFghrKEGgK1+KLrwEIcxeUygc379
 YDT0ERMrzN5VgRt7eG3OG7eexQvOVuJsqT9JjjJ3QGd3AVV0l5hT0JbTpyiidNNXJ77ZxSLu
 v72uN34wCOVF4wdcqBCnwMT4H41qf2fMKPW29+O/Y/gjP+9Q+V1A==
X-IronPort-AV: E=Sophos;i="5.84,344,1620705600"; 
   d="scan'208";a="51064148"
Date: Mon, 23 Aug 2021 13:26:37 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Ian Jackson <iwj@xenproject.org>, osstest service owner
	<osstest-admin@xenproject.org>, <xen-devel@lists.xenproject.org>
Subject: Re: [xen-4.12-testing bisection] complete
 test-amd64-i386-xl-qemuu-ovmf-amd64
Message-ID: <YSOT/TVwPNxUI+pb@perard>
References: <E1mHy0c-00059n-HR@osstest.test-lab.xenproject.org>
 <9e009e5d-41cf-71de-fed4-88a962b4ab66@suse.com>
 <YSNrZfjGJzdKUlvV@perard>
 <3700f293-001c-c01c-c443-86be60e5601f@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <3700f293-001c-c01c-c443-86be60e5601f@suse.com>

On Mon, Aug 23, 2021 at 12:07:44PM +0200, Jan Beulich wrote:
> On 23.08.2021 11:33, Anthony PERARD wrote:
> > On Mon, Aug 23, 2021 at 09:07:32AM +0200, Jan Beulich wrote:
> >> On 23.08.2021 02:40, osstest service owner wrote:
> >>>   commit d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
> >>>   Author: Laszlo Ersek <lersek@redhat.com>
> >>>   Date:   Wed May 26 22:14:24 2021 +0200
> >>>   
> >>>       OvmfPkg/PlatformPei: remove Xen support
> >>
> >> Uniformly from 4.15 through to 4.12 (the latter of which shouldn't have
> >> been affected by whatever has been pulled in in the first place, given
> >> it's a security-only branch, but with the OVMF commit to use being
> >> hardcoded in ./Config.mk I don't really understand how a possible
> >> change to the OVMF tree could have affected this version) tests are
> >> now failing, everywhere with the above bisection result. Given that we
> >> want to get out releases from the 4.15 and 4.13 branches right after
> >> the batch of XSAs going public on Wednesday, something needs to be
> >> done about this pretty soon.
> >>
> >> Does osstest override ./Config.mk's choice? Albeit I guess even if it
> >> does that's not outright wrong, and instead it would be bad if the
> >> older versions wouldn't work anymore with an updated OVMF.
> > 
> > Yes, osstest uses "xen-tested-master" branch since c9d1e5896fe2
> > ("cr-daily-branch: ovmf: "usually" use xen-tested-master") for stable
> > branches.
> > 
> > We are going to need to backport a commit from unstable. Either
> >     aad7b5c11d51 ("tools/firmware/ovmf: Use OvmfXen platform file is exist")
> >         (but has been reverted)
> > or
> >     81f291420238 ("tools/firmware/ovmf: Use OvmfXen platform file if exist and update OVMF")
> >         (but it also changes the version of ovmf pulled by default,
> >          which we probably don't want to change)
> > 
> > So I would suggest backporting aad7b5c11d51.
> 
> Anthony - thanks for the quick reply.
> 
> Ian - that's largely your call then I guess.
> 
> Overall I'm not convinced though that backporting either of these
> changes is the way to go. But I say this without knowing what the
> background is for osstest's overriding of Config.mk. Plus it's not
> immediately clear to me whether backporting is perhaps the only
> approach to keeping older Xen versions working with up-to-date
> OVMF; I'm getting the impression that it might be.

Well, a better approach would be for osstest to do a separate build for
OVMF, but in the meantime we are stuck with xen.git having to build
everything.

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Aug 23 12:39:32 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 12:39:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170417.311220 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI9Ed-0005zw-0R; Mon, 23 Aug 2021 12:39:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170417.311220; Mon, 23 Aug 2021 12: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 1mI9Ec-0005zp-T2; Mon, 23 Aug 2021 12:39:26 +0000
Received: by outflank-mailman (input) for mailman id 170417;
 Mon, 23 Aug 2021 12:39:25 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/xpK=NO=arm.com=Bertrand.Marquis@srs-us1.protection.inumbo.net>)
 id 1mI9Eb-0005zj-11
 for xen-devel@lists.xenproject.org; Mon, 23 Aug 2021 12:39:25 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com (unknown
 [40.107.20.58]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 58cf3cb1-fcd9-4129-99fe-96f496d91454;
 Mon, 23 Aug 2021 12:39:22 +0000 (UTC)
Received: from AM6P193CA0112.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:85::17)
 by DBBPR08MB4741.eurprd08.prod.outlook.com (2603:10a6:10:d8::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Mon, 23 Aug
 2021 12:39:21 +0000
Received: from VE1EUR03FT052.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:85:cafe::21) by AM6P193CA0112.outlook.office365.com
 (2603:10a6:209:85::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Mon, 23 Aug 2021 12:39:21 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT052.mail.protection.outlook.com (10.152.19.173) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Mon, 23 Aug 2021 12:39:20 +0000
Received: ("Tessian outbound 56612e04f172:v103");
 Mon, 23 Aug 2021 12:39:20 +0000
Received: from f7da315c0a6a.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 5261B906-E85C-4871-A5A0-3BC10225CF33.1; 
 Mon, 23 Aug 2021 12:39:11 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f7da315c0a6a.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 23 Aug 2021 12:39:11 +0000
Received: from PAXPR08MB6446.eurprd08.prod.outlook.com (2603:10a6:102:12d::10)
 by PA4PR08MB5998.eurprd08.prod.outlook.com (2603:10a6:102:e9::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Mon, 23 Aug
 2021 12:39:10 +0000
Received: from PAXPR08MB6446.eurprd08.prod.outlook.com
 ([fe80::3184:5465:27b6:f27d]) by PAXPR08MB6446.eurprd08.prod.outlook.com
 ([fe80::3184:5465:27b6:f27d%9]) with mapi id 15.20.4394.023; Mon, 23 Aug 2021
 12:39: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: 58cf3cb1-fcd9-4129-99fe-96f496d91454
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3R9UmUQuParRVRHO+yeuPmtDYNAnIFC/HgVg53kldPY=;
 b=WKa7ALcj0eiqeoe3YoFiogQ4HIFTx6dx3f1S6ImDHyeOrZaqgRwqaBwisn7Iw3Ng3HZJLVWncnEmFHVCzULws/yU95Dip/9P4v99M8ar6INGLBp+UMl+qziwJhFC4PFfqaDW1eK1Zik4cI0oBjKXIcgOf1OsrZRE8v3c+A20tTo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 6b2d1bae6bc4a1cf
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oI/21IBA77n60mKms3QTwmkuoj+4W2WydGpzfGyGiSE4uzDnHSLH8GGSK7xHlNj7/l49Kj+tCxCyarWojGm++KKo4JRufPYIddv6HU85AQD4xJkEzUorO/eEKNPOBsSfv0SEqPmpSxNezBmKF1SHF9IEZbsiewz6SXo5xC1RBkS2yJKIWUM1gLkC53y8DNZoNQKsotTS3v8UmV/scCycD+7jpjtf2wMyB+5bjINLHwsLCQyFrlV0kSSVDnSHeLqV4lLPXcwUFKQjiH8B4mDuB+hHxiUhJn65KfyNhrQgQcdZiYB/Md5bkO+gjmOBDUG8ZEiuoAsjrZrCqOA+lhKS5Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3R9UmUQuParRVRHO+yeuPmtDYNAnIFC/HgVg53kldPY=;
 b=H7pz+T4bETjBlDsgEjHP3wri12UPz0j1VFfj3HYSCo8N/eBcKXju88u430M81ZUBQ5bYGhZ40onJ2sNBtMG6GXfJw+hKS3YeAM1+mIeiZFgdBMLqAmHkmUYzLqeYrkIv6J7itRj5CwWPZA7TU4Dw0oDBIM1dYad+8ul26FIPlXOhc7+uY4TRX3csDciJflR+3b6hNEGdmDXx+C9jOrJ/roFBCfnqVLCuAirD604v9sXTP1UPMi8tqfQh4rbePGprO9vAE+jX5kjzOmVJnHNbjmqh0wCFEHgBPqtzoMM/ausnaPwxHPXHGgrmkcUmO14yPhGd7Mzgy4say7sUwE+m5g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3R9UmUQuParRVRHO+yeuPmtDYNAnIFC/HgVg53kldPY=;
 b=WKa7ALcj0eiqeoe3YoFiogQ4HIFTx6dx3f1S6ImDHyeOrZaqgRwqaBwisn7Iw3Ng3HZJLVWncnEmFHVCzULws/yU95Dip/9P4v99M8ar6INGLBp+UMl+qziwJhFC4PFfqaDW1eK1Zik4cI0oBjKXIcgOf1OsrZRE8v3c+A20tTo=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v2 5/7] xen/arm: Use sanitize values for p2m
Thread-Topic: [PATCH v2 5/7] xen/arm: Use sanitize values for p2m
Thread-Index: AQHXmApoMVB9cWExpU2kmUfkwXVwUKuA+VSAgAAOUYA=
Date: Mon, 23 Aug 2021 12:39:10 +0000
Message-ID: <D6083043-B649-43E1-9654-99BC1B8FEED5@arm.com>
References: <cover.1629713932.git.bertrand.marquis@arm.com>
 <b6d656bd249e85ef192a0bbddae1eb8492e51583.1629713932.git.bertrand.marquis@arm.com>
 <7c8684a1-a20f-0534-2a4b-3a778a80166b@xen.org>
In-Reply-To: <7c8684a1-a20f-0534-2a4b-3a778a80166b@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.3654.120.0.1.13)
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 42a1bbcd-8419-4561-4ca2-08d9663307b8
x-ms-traffictypediagnostic: PA4PR08MB5998:|DBBPR08MB4741:
X-Microsoft-Antispam-PRVS:
	<DBBPR08MB4741CBDB7044B4EC842874939DC49@DBBPR08MB4741.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 39YpSKuRcCbbYGAIZxxgNCU6WNDGzvUYIenWPeQfwJEAp0ZTbP0wLna4kk3VfRO8f6Ct9OCE6CT936rd9kfFCHBEOUHynuzRrLY0gVBb7oNrWhhsn1jqwIlXQCqYLRDxFVg7nY+nTLX+nG/te7UsUnxmknpVDSWRRJS0yZxPf9Cfj8QKo+t5Sdsaye88uzvO2tU6tsJ9hq/rCoZc9C1jqrWpPzSfFl6MW/mwpvXHRbLiL+x7IQ8tuCxIQ7cEJRTV2kFamZgGOV1LCI8D30AnAOLJfit1KUhYyulw1Wc4WRdoQi0dntUu26sExXrP1Jx+4TV2fKnYYdFARuSVeLuQ9KLdJJEF/iZFnVwSxNKN4fw+gGmx411Jtm3gV8p1/9v0zPklZu+kx8O+zhxN6Xzy16YVthWzJ0BZK6f6EaQMiQHZCBC+NGPVx7eyDcCrV0dGREuo6WmQD/l0Ktnb0s7nazlvxWLZgOIakKXlf8Q3dCu+36VvT9E5wYxzSF+LGn1tmXa76i77OwerKFXhzDbp9VsWbXPVU+naQseaOzKDlcTJnTf0mIS9P5VYc/rdQ4z0dD3jcjn0LqRmKU48gitDYB7Mx7fbYUNPm2qE8GsXA3MAmgddbN7rBYnTI4qL0AQ6/OSsAttLxqX8eVFlPl8EvqFtgbmjgXvGFpq7W78HcVGs6epfExdH2hOrb8fMsdqJzGkp39InbSc15jqPP9EJLh4QNv4/x32J4t9NOj2ZQPhDVwBvKabrtKv6LWZITzfX
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB6446.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(136003)(346002)(366004)(39850400004)(396003)(376002)(38070700005)(33656002)(83380400001)(122000001)(53546011)(6512007)(4326008)(5660300002)(71200400001)(91956017)(6916009)(54906003)(66946007)(76116006)(6486002)(316002)(2616005)(2906002)(86362001)(186003)(66476007)(66446008)(478600001)(8676002)(26005)(66556008)(64756008)(8936002)(38100700002)(36756003)(6506007)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?F9BQSkFTi13b7GCObKtRju/jFF0ZgxQl2xGlE70Im7aveEdHr8SUH1ppg2Pq?=
 =?us-ascii?Q?1+2hTeZTRQIg1s1hnCh1+3yhqaUESRW+TgSp77iomI1SdAPYYFk1T7FvcRG/?=
 =?us-ascii?Q?2AEqPY6Ivo9u2PVJ5dS3Xdtbx9nREDFglUZioc5gpzfTsj1zZSZoThEoo/NZ?=
 =?us-ascii?Q?ke0lLBp6qFzE93xuyiIZfZ7pKoIFk+CHjvb1Wy02wmH7iG5bXCSeKwMQHEy7?=
 =?us-ascii?Q?PKbGh9hOf5Jhsf6OxXB9qLCenJFUQ+rU2vnTr3jrKhujSdbdJ09IIiGe5dQa?=
 =?us-ascii?Q?13Eb1UP6GZYpsQcxMqGKc/zv4FdRf8+soXV0qSDegk9TZteRh6RZcAFK1Kiz?=
 =?us-ascii?Q?ioDsdwtYehaId4EYzlfan+Nc7/qpqAhVxYTCKazOejbeUfDpNxIx9J/4VttM?=
 =?us-ascii?Q?d83b58hJjiHoRVbou2n67OnEQWo7Z/ND5+eBsMmshl20aVzDJJ2GIU6wvULY?=
 =?us-ascii?Q?5j8BNUGpIEgmIbdLoGLuHgtpuEaSUgrmBFPsyi7ak/Tstm22BtXMajbOLFAg?=
 =?us-ascii?Q?d+P9RsnZhgmvon8zXDddhvseYxSWD5Ian3IzfzXikCPuCxOl/aVzp7XtA1Mh?=
 =?us-ascii?Q?SGDHydIgXVos2O6xmKoyalLZYKCNevQjQr3JZqsjnzEtLa4G5sY0XMGudyS8?=
 =?us-ascii?Q?1lDlv9kUm7tDY0IPLcFP5pKcQpqysXVZwYmgErTFJ/HFlsmN+RQlSqXtmWz4?=
 =?us-ascii?Q?Aq/OxQIaReq9R632a2HFuviJrGTcXdnlUvc2jZpgtFT+RmBS9rBtrJqUA78C?=
 =?us-ascii?Q?9HzEkPsujllgnXFAP7r3k8Kn6Er5Jv7heba+U2yFqwqzGFZlYZhP2EFHya/c?=
 =?us-ascii?Q?xgtKgiamj3pZlGQAOpYcHZp4ZU/oW3QUeYCELFIAUmavfemU9Yu81eZkvJ/c?=
 =?us-ascii?Q?+1fPmCVSgrjNGoXDs3dpD11fDs6bz6rU/PEBCzwkuBhaIvVPyxIm5Ner/Q0M?=
 =?us-ascii?Q?ZrTne6ZrzyIRpV2FNebLH6ZAt6A9nhHa6gDqjcKAd5FLjhzlHBn91M0kYArB?=
 =?us-ascii?Q?35rRkoOzTVz1i+aLIJugntZ9yq7aQR8IJlXJeP6c+/rPMQ+QDN0Of2esQWba?=
 =?us-ascii?Q?wq1asllKFPOe0Wlpuu28Ydd9RTh9kD4JuC3ElmHuGEaDqqc9MA5w1kTWQytS?=
 =?us-ascii?Q?MXRsl4vF3tJ6K2FAeodn7t7jQ0RXatYFV3sLsmIEIpZFfiqIPY7v72VNfyXs?=
 =?us-ascii?Q?lO3VEHY7a2fA1FZS+DtB2zghO9/apRkSQNWZeH3drhu/31Er200vbwDH31Z+?=
 =?us-ascii?Q?ALzpdujh2P1dyJNiEJzSsG+p4oZNGSxzO4pWYuHW1rRn9ZVamr/UR5s4wFHN?=
 =?us-ascii?Q?AlnSiMGTqq8GvXTUVcYzyEAq?=
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="us-ascii"
Content-ID: <EC787C20EC7D304EB66D44FF039B73E7@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB5998
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT052.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	35fc90d5-b929-42b0-8e50-08d9663301ba
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	HFvkFLbm6WbaWEwajI20NvYddd+bvUX89rZpDJz+xedykib5jgVSLw9HxUWqwdFWbszE2Y8vdnnBH5JfvWSlUyhoDofi72PKRqfxqeKmU7VCoLVedsiT5HKEZOUaLRPIVqnanDWjgJrCkMWWK0EAKuhcye9wXKBcgDme5IAKbxGetOOs10bD0dtdhcTuzotZzd1C+0zNx53ZoaKyreLtJQUamXGklm2Z9XYWIHdZdbYejFsvU7eec+T31zAFDG6Jo6ubzOHqjPr5vuXD5j8XNtSpOzP22oslXcYYS2aRaZBaoVFFm/DZtzFR/KMSNRGWBsW5BNDLSofv6qebz2FvQ/q+A+RgBKiI+ktdVmS2OIVAu5VjS41+iYP0nWQbWwOpv6PAS4gHS4q4dmUdFC4dQdRVVbFn+mekQJz2r9Qkyd4AfBSJCzTKXV+td/2K7Kn7ZntMwhjErPp4SD5ZNd9CrDw0ajlCMqv2B52zodJq9y+tCqy+WbwkbkxqrRzjYmsM04BCwNLGBOec8CbAcCSiiSQamStgKSrUa1Z+DHIG9cINkDZpN6yfD6GPz5mAJJo63TK4DjuqIwU18Z0EbLwcyhXYZ0c11oVNqWTgMkb7bdeZo/sZgupAs7gNeHQhOrf/7nr0+bDvCFk0g4vpVPKYUDiwmfricM5KJkFqxzJ8+RGwoZnxrMBWMvTKZthJm+qb0I+vrwUZJTQ6r9ZuS/sJrw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(376002)(396003)(346002)(136003)(39860400002)(36840700001)(46966006)(82740400003)(53546011)(83380400001)(8676002)(336012)(81166007)(107886003)(6512007)(4326008)(186003)(2616005)(6506007)(33656002)(478600001)(36756003)(316002)(54906003)(26005)(2906002)(6862004)(70586007)(36860700001)(70206006)(86362001)(356005)(6486002)(82310400003)(5660300002)(47076005)(8936002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2021 12:39:20.7486
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 42a1bbcd-8419-4561-4ca2-08d9663307b8
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT052.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB4741

Hi Julien,

> On 23 Aug 2021, at 12:47, Julien Grall <julien@xen.org> wrote:
>=20
> Hi Bertrand,
>=20
> On 23/08/2021 11:32, Bertrand Marquis wrote:
>> Replace the code in p2m trying to find a sane value for the VMID size
>> supported and the PAR to use. We are now using the boot cpuinfo as the
>> values there are sanitized during boot and the value for those
>> parameters is now the safest possible value on the system.
>> On arm32, the system will panic if there are different types of core so
>> those checks were not needed anyway.
>=20
> So the assumption is that if you have the same MIDR, then you must have t=
he same features. I understand this is what Xen assumes today but I never v=
iewed that check as the truth. It is more to limit the damage on most platf=
orm.

This was the assumption before, I did not change anything but just explaine=
d in the commit message why this was not possible to come to this code.

>=20
> So can you confirm whether this is something that Arm guarantees?

For a specific MIDR from Arm (ie a Cortex) the PAR is fixed and VMID size t=
o.
But for an other Arm architecture processor I cannot say.

>=20
> That said, I am not against removing the code. But I would like the comme=
nt to be amended if this is not a correct assumption.

Would the following be acceptable:
On arm32, Xen is not booting on systems having different MIDR amongst cores=
 and it is assumed that cores with the same MIDR will have the same PAR and=
 VMID size.

Cheers
Bertrand

>=20
> Cheers,
>=20
> --=20
> Julien Grall



From xen-devel-bounces@lists.xenproject.org Mon Aug 23 13:22:39 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 13:22:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170436.311234 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI9uF-0002qL-Aa; Mon, 23 Aug 2021 13:22:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170436.311234; Mon, 23 Aug 2021 13:22:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mI9uF-0002qE-6D; Mon, 23 Aug 2021 13:22:27 +0000
Received: by outflank-mailman (input) for mailman id 170436;
 Mon, 23 Aug 2021 13:22: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 1mI9uD-0002q8-4L
 for xen-devel@lists.xenproject.org; Mon, 23 Aug 2021 13:22: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 1mI9uC-0003Iv-1X; Mon, 23 Aug 2021 13:22:24 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mI9uB-0005iV-RI; Mon, 23 Aug 2021 13:22:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=6Gp4/MtC/YuJnbkLsnbOVjQlaG2aboMt4uZ39O1s70I=; b=BE7PH73pr0SE1pTNte8nj/DUiD
	Ubv0/VZ0zZjd/SQwn4u8Kfy9L08ZCzjW1UMbFFLTYyGeGnBfZ8JVMxecBiLJI11D22WnTZjb9owUO
	0j1uBr1SSrXcEcOhI1ZZ0WG05vWftrznJqX7HxPfn9ePaZMiv21gPxcOkt09t70M+2Wg=;
Subject: Re: [PATCH v2 5/7] xen/arm: Use sanitize values for p2m
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1629713932.git.bertrand.marquis@arm.com>
 <b6d656bd249e85ef192a0bbddae1eb8492e51583.1629713932.git.bertrand.marquis@arm.com>
 <7c8684a1-a20f-0534-2a4b-3a778a80166b@xen.org>
 <D6083043-B649-43E1-9654-99BC1B8FEED5@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <1f16b3d6-8cb5-499b-6a9e-0bdc08368756@xen.org>
Date: Mon, 23 Aug 2021 14:22:22 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <D6083043-B649-43E1-9654-99BC1B8FEED5@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit



On 23/08/2021 13:39, Bertrand Marquis wrote:
> Hi Julien,

Hi Bertrand,

> 
>> On 23 Aug 2021, at 12:47, Julien Grall <julien@xen.org> wrote:
>>
>> Hi Bertrand,
>>
>> On 23/08/2021 11:32, Bertrand Marquis wrote:
>>> Replace the code in p2m trying to find a sane value for the VMID size
>>> supported and the PAR to use. We are now using the boot cpuinfo as the
>>> values there are sanitized during boot and the value for those
>>> parameters is now the safest possible value on the system.
>>> On arm32, the system will panic if there are different types of core so
>>> those checks were not needed anyway.
>>
>> So the assumption is that if you have the same MIDR, then you must have the same features. I understand this is what Xen assumes today but I never viewed that check as the truth. It is more to limit the damage on most platform.
> 
> This was the assumption before, I did not change anything but just explained in the commit message why this was not possible to come to this code.

Yes. This is not a new, however I thought I would mention it because I 
want to avoid continuing to use wrong assumptions.

However, this code is arm64 only as it is #ifdef right? (Sorry I should 
have looked at the code the first time) So ...

> 
>>
>> So can you confirm whether this is something that Arm guarantees?
> 
> For a specific MIDR from Arm (ie a Cortex) the PAR is fixed and VMID size to.
> But for an other Arm architecture processor I cannot say.
> 
>>
>> That said, I am not against removing the code. But I would like the comment to be amended if this is not a correct assumption.
> 
> Would the following be acceptable:
> On arm32, Xen is not booting on systems having different MIDR amongst cores and it is assumed that cores with the same MIDR will have the same PAR and VMID size.
... I would just drop any mention of arm32 here.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 23 13:37:37 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 13:37:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170446.311245 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIA8r-0004SY-Ot; Mon, 23 Aug 2021 13:37:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170446.311245; Mon, 23 Aug 2021 13: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 1mIA8r-0004SR-L9; Mon, 23 Aug 2021 13:37:33 +0000
Received: by outflank-mailman (input) for mailman id 170446;
 Mon, 23 Aug 2021 13:37:32 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/xpK=NO=arm.com=Bertrand.Marquis@srs-us1.protection.inumbo.net>)
 id 1mIA8q-0004SL-Mh
 for xen-devel@lists.xenproject.org; Mon, 23 Aug 2021 13:37:32 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com (unknown
 [40.107.6.46]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 8fa8e3da-5758-4978-beb3-95bf9c3344b3;
 Mon, 23 Aug 2021 13:37:30 +0000 (UTC)
Received: from DB6PR07CA0188.eurprd07.prod.outlook.com (2603:10a6:6:42::18) by
 AS8PR08MB6277.eurprd08.prod.outlook.com (2603:10a6:20b:23d::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Mon, 23 Aug
 2021 13:37:25 +0000
Received: from DB5EUR03FT062.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:6:42:cafe::82) by DB6PR07CA0188.outlook.office365.com
 (2603:10a6:6:42::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.6 via Frontend
 Transport; Mon, 23 Aug 2021 13:37:25 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT062.mail.protection.outlook.com (10.152.20.197) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Mon, 23 Aug 2021 13:37:25 +0000
Received: ("Tessian outbound f11f34576ce3:v103");
 Mon, 23 Aug 2021 13:37:25 +0000
Received: from 1513162917ce.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 70094AD6-195A-4C94-8C63-240ED70AC6CC.1; 
 Mon, 23 Aug 2021 13:37:18 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 1513162917ce.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 23 Aug 2021 13:37:18 +0000
Received: from PAXPR08MB6446.eurprd08.prod.outlook.com (2603:10a6:102:12d::10)
 by PA4PR08MB6141.eurprd08.prod.outlook.com (2603:10a6:102:f2::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Mon, 23 Aug
 2021 13:37:16 +0000
Received: from PAXPR08MB6446.eurprd08.prod.outlook.com
 ([fe80::3184:5465:27b6:f27d]) by PAXPR08MB6446.eurprd08.prod.outlook.com
 ([fe80::3184:5465:27b6:f27d%9]) with mapi id 15.20.4394.023; Mon, 23 Aug 2021
 13: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>
X-Inumbo-ID: 8fa8e3da-5758-4978-beb3-95bf9c3344b3
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yDAY3uCWOIIsn7O7NSAGWtXEUQOoxP5EGUNrLlpqKEw=;
 b=1nPOq8X/d+V+QwGGX2iDh/rSJRTi1vXyZVVZ+lyNpW6VUKPczIUPrgIZ1+QvQu5JqgdJGYZYKkfMsll1FUqmjl87XKpkyHD9d4PEhrpT/OHjrbMCT/ZL/mq97L648tBtB5+MqDxUt9vJAWNsQTHiAXUk6x93/O/R3d08uXAtZl8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 6edcc558ac84e181
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CAq1Y/pQaPzM1YrgP3g/lmQVCSjD5ysHB42uNJBVVqNDToQXpyTSTo3lR6V2kA44kzTrVugyDaSmNOaHXIbsUVYphvpis6oc8NtOBUAYVOONr8sh3tz1aqnOERuW4sJsz0hprWxp6agkMmpRPYSAxScCsoqcrXkf87J8OywLCzwui0foeSGaGpejoa48qc/RG0dz43B9osdLGhDLeenGXJUixmLqaF2N4y/BsfqRQTihzvQ1d8pKpmlx1IcpYE+gqpbxNXql1+NRki5I/wldh50INCaiy2TlTS0xOQeL4VuF1A+k62/45laZSZwnxSTV9ABwgdABTNqLGBgrRaf4GA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yDAY3uCWOIIsn7O7NSAGWtXEUQOoxP5EGUNrLlpqKEw=;
 b=HvQe0u1TSrUUOHIcOS/obagbq7YKH7k1cc+Cm6LtqOx1KOpkjCF1h+1OtlEEupvL9hSdo8EUBH2iH8Lqs6iQ3PxC/2OtdXL7YPT4GyuJHqMzQuBCcEhCIzuZBiBK4WYsU0FSNXf5Kq9rj37GxMQ/UzpncU7r5ald6LtvrMkH3UJ28xn1fOwq4DJv43PfUIAnUVxy1Yth91NYBVGy2tTkJj9sjucx8oSj2IWV0J1nb2/sg01Dn7EpLeDhg+KYgbHO3nHXHI2vJDEka5AbrS1gTrH3y9bxfCFx1kJA/FGGXxZzc6GgJ7SW1lMD/qgO/m07tVhqu0FOX9vebcmLS6A8Cw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yDAY3uCWOIIsn7O7NSAGWtXEUQOoxP5EGUNrLlpqKEw=;
 b=1nPOq8X/d+V+QwGGX2iDh/rSJRTi1vXyZVVZ+lyNpW6VUKPczIUPrgIZ1+QvQu5JqgdJGYZYKkfMsll1FUqmjl87XKpkyHD9d4PEhrpT/OHjrbMCT/ZL/mq97L648tBtB5+MqDxUt9vJAWNsQTHiAXUk6x93/O/R3d08uXAtZl8=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v2 5/7] xen/arm: Use sanitize values for p2m
Thread-Topic: [PATCH v2 5/7] xen/arm: Use sanitize values for p2m
Thread-Index: AQHXmApoMVB9cWExpU2kmUfkwXVwUKuA+VSAgAAOUYCAAAwVAIAABCmA
Date: Mon, 23 Aug 2021 13:37:16 +0000
Message-ID: <869CC2CC-0B99-4F9D-94BA-8D1B0911232A@arm.com>
References: <cover.1629713932.git.bertrand.marquis@arm.com>
 <b6d656bd249e85ef192a0bbddae1eb8492e51583.1629713932.git.bertrand.marquis@arm.com>
 <7c8684a1-a20f-0534-2a4b-3a778a80166b@xen.org>
 <D6083043-B649-43E1-9654-99BC1B8FEED5@arm.com>
 <1f16b3d6-8cb5-499b-6a9e-0bdc08368756@xen.org>
In-Reply-To: <1f16b3d6-8cb5-499b-6a9e-0bdc08368756@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.3654.120.0.1.13)
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 199fa4df-f02d-4c7b-7def-08d9663b24a3
x-ms-traffictypediagnostic: PA4PR08MB6141:|AS8PR08MB6277:
X-Microsoft-Antispam-PRVS:
	<AS8PR08MB6277CCCBBE549197E0B67CF59DC49@AS8PR08MB6277.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 mVVqkXU9zeCpQ6FPpok6TWyXYuBvZglasNuuYTZ9NEUVZ5RPUL46dAd40MvhTG9V45+1H9AqvuHBJIVj3zCW/BKxegWPm/lOmKIBBa5SKVQIYUYLHNW2I4R+cutHA+MdVO1YHairE+OxWXPSrukW4xLgpK1fjMA+nxw6Z8rwyjjYm+3RoLur/c29wQ7QAxEO2A7YcTgVJsZ8UCn9p6cwFnXHsLl5q1lN9TQY0Ll3zjcvpne0/gVssNBgqgljScpF4/XGXKeFVgM2fAfM6PiHLg1V1/RcVDccnS0PDBOHfmnLEXSHK/+piMQKwVI6LdTHbFm06SbygGqLk8czrs8E5WU39fMdw26qo72lqrnEptEuMElsOF16LBoAo2xTjy2Rb8S8MZjHgoQKCPY8fwEvKIsWZDCZzQXoRGP4qZsy1/k3KJ6V81xtZyZkdSekkIHso9n2A5D1SJH6HZckMRfUWLgJzN8HTYt9U+HfVo0jAo7g7BOz8fwAnz2dtuY5hHMtGVkaLnB19H7T/j1IU4i1iBGUateYK9gN6QzBNZ1I6t+kKGknsBDPse+guor1KJa+PqBTnKeRvebOdHkAQ0YNUPpz50PHbsvVuq9FCoJfO9v61JbVH0IXnncq5t6f5ezud7oHb2PNy2mOL8i0b1UOvMpJKWwHPCzpeQ7+5W88NVpKHYiokXXOqPKEX0EIrWUEiSAEprS9ljNBfxBBvbE3UePK0qneCAwJ9h92T4SBNoqOeSjpR/PHw7dzC7kcJbAB
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB6446.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(6486002)(91956017)(6512007)(83380400001)(66946007)(33656002)(186003)(6506007)(36756003)(53546011)(26005)(508600001)(66556008)(8676002)(38070700005)(66476007)(316002)(6916009)(4326008)(86362001)(71200400001)(54906003)(8936002)(2906002)(122000001)(5660300002)(38100700002)(76116006)(64756008)(2616005)(66446008)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?yUSNAVIu/VCW9adMnbbExgNh3JX8e+CWJMjAIV9qEs5qgXYfx9+c/eNmmK7D?=
 =?us-ascii?Q?tr9coaA2HZGBkUELfKwY7eJSfA77aY8PzgZnKBgp11dBoKtLPu0AaEK8OSwj?=
 =?us-ascii?Q?85/vwsU/MR+IoTpvhaAdlAOi0lzvStT1bnSBLZDEEmGJ/FOU+BJepuzTVEGB?=
 =?us-ascii?Q?/rrUAyB4Ch9gEnSewBVjOtpWy3mtP8+RsrC1mvP0i7XwVKamq3+v8ZSDqtW2?=
 =?us-ascii?Q?VYnH8kd7t8yKQAuxiR+zHPd8tH7hMIwUivoAJrHBrFts1ujBBnWNMXi0eXPl?=
 =?us-ascii?Q?qEuDgvXM7fCJdHH14LgYEjml1UPJ3or03qtMtxaOrq/NkU4+Z8gV8OZSd6sy?=
 =?us-ascii?Q?LgRlQWnld8LiyO3bgAVm1shuKcbpWCHBuanlj2mW7MIcRjGZ+J6f+q5Z4mRY?=
 =?us-ascii?Q?8oVsuXsfyVV0jxHq+QyTF5eAH1e4ofN6UIQvihCEG282tolDxgk1QSK28C3j?=
 =?us-ascii?Q?tjrILLtEhmZuq5M9WE5fFSfNg//SsV+uurJLQsj4FnLfIWqzf7dlaS5ELaNw?=
 =?us-ascii?Q?8LabI4CXTu7ojG0Q42MbqxH4Iw6ZtuThXfGcOMbQuf9A1gy0zlDV6qCPZudH?=
 =?us-ascii?Q?mDUvRehLt5UdUwa2WmXaC33+SNb8Ppu6QbjK25MGvYcc2HX0xPdWi94amnpd?=
 =?us-ascii?Q?O+ahCJrje/xJQ5ifiNxvRBLx4fkg/K/yiuka6HEg8xkrm/09DunpzWuBoynF?=
 =?us-ascii?Q?bd7OR1qunZzht0EDWvBipUgNWNYQvPu4TgxMiBo9Tlh0hTDkbhFx1Td09jM1?=
 =?us-ascii?Q?JMWd0aShPRGDIE3zCKVjJhF7Gtj7+nfAYU1/8txu6RecvZE+OhEf6tYlRBD4?=
 =?us-ascii?Q?9PwefWRIGpDVraa21eNw9NhYYnFfCmYCpQZMaWJz7GyO+ZtXKXqv2sV01BS9?=
 =?us-ascii?Q?FFt5U9G1gkjQCgXK34mUOrwVY16ryXiB44CCzyJ8VieufNMlTDEzOaH1HyCl?=
 =?us-ascii?Q?mzvEcqjK7WvySOL6RhXFV7S2H9YO0wBrejsNSwhrFfhhHD+HFU4MJuasXmAD?=
 =?us-ascii?Q?QSQsBN/i3mwmJJQpM+RXg24XFTZYpvwJzxWCUjM5RsZoCiB2vFiJu3LuwliL?=
 =?us-ascii?Q?1/B7uEpMYpD3CV2+9xCW/iDIzzaflJOMQwfwxOYwyhYVlMQL40TR6Zj0wUyb?=
 =?us-ascii?Q?1iPniuVHGYMJ82EQFHCCMj7LlTMx+7KsBBB/uQbOC9ieltvFYDmfdn43qeat?=
 =?us-ascii?Q?ffTzE6RQZRCs5u9g44BpqV+CyhyMnvB4DhH3uINlOHwZcCgAI8v7HxOAvu33?=
 =?us-ascii?Q?RRbQbtbxsMBwS56WfE+nK+ANqRSvSKhMXXrcPKLCUI5tHri61MHCgi8yI5we?=
 =?us-ascii?Q?hssHTTbfSumIS5zNStIbjm1x?=
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="us-ascii"
Content-ID: <218505B56253204DAF20AF416B64787C@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6141
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT062.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	cd50af96-1f54-4d53-231f-08d9663b1f38
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bJMUuoxPtsyVl2hzlu5322u/4Hg3lgscINR164jPEuPvGmTivJypSuUDm5jdF5ZWkDJisnsQ2ehR7LjASI5I73ZVcj+ekuMft8wdVfbQLpKlUxP8tsTHzu9aMsiwVNceSAkA0WUVOfSkxL/JE03RSUdWyvZL0nNWY2JWieZp4FYp8qOs/8n4soINGqvXYi0vC1tWuvl1/ySx8sHZH6JJdKPq/v2++yzyN1tyrJcrDbt/2b4INZZGjgbdwoCWlGjc4L6patqVPqXAdCeyrqHJ1VC5y+UOxqG9DNZPedPnn7oHIsqqE7yQTj4l4ezr2IabUsnGXCCItxN2K9e1BYMw5isATttnQ8bcJP8s05HhjLLkfM7OnRpz4NMFBVRHnq7UBt34twe70YlnUMmdn3X0ak+tGRp9qncT+wco/qrVHU7CfxmQ4wWWHnV+cxhK+ACk5SW0yX94rT/XnwQAWrg+gqsTJ3FUW8PV2tCGiBj2VujZj9fv51WOHtgJeDRz8HFIZFvT6Av8FbYOeZaBHGV/CgfCkc6WhXswcjEQN9EhNCbNQka/Hq/hTMwlXkw4NTHT76OJVc6hPUst9olb3Mv6eCvLyfZH+WYUH5ayZMpzW9TCOPHgbTTwkhASg0IruFGQ3jzltS0jsh68teUmNRlsJAFqNKKVOMS8N7iqBpUZR2QndpwkO2tCvp/GUgb+GYLz28WwEEbH1lF6wkwevLXNnw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(136003)(376002)(346002)(396003)(39860400002)(46966006)(36840700001)(82740400003)(356005)(70586007)(70206006)(2616005)(2906002)(186003)(8676002)(36860700001)(54906003)(336012)(5660300002)(33656002)(8936002)(83380400001)(26005)(6512007)(81166007)(6862004)(478600001)(4326008)(6486002)(316002)(47076005)(36756003)(82310400003)(107886003)(86362001)(53546011)(6506007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2021 13:37:25.3363
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 199fa4df-f02d-4c7b-7def-08d9663b24a3
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT062.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6277

Hi,

> On 23 Aug 2021, at 14:22, Julien Grall <julien@xen.org> wrote:
>=20
>=20
>=20
> On 23/08/2021 13:39, Bertrand Marquis wrote:
>> Hi Julien,
>=20
> Hi Bertrand,
>=20
>>> On 23 Aug 2021, at 12:47, Julien Grall <julien@xen.org> wrote:
>>>=20
>>> Hi Bertrand,
>>>=20
>>> On 23/08/2021 11:32, Bertrand Marquis wrote:
>>>> Replace the code in p2m trying to find a sane value for the VMID size
>>>> supported and the PAR to use. We are now using the boot cpuinfo as the
>>>> values there are sanitized during boot and the value for those
>>>> parameters is now the safest possible value on the system.
>>>> On arm32, the system will panic if there are different types of core s=
o
>>>> those checks were not needed anyway.
>>>=20
>>> So the assumption is that if you have the same MIDR, then you must have=
 the same features. I understand this is what Xen assumes today but I never=
 viewed that check as the truth. It is more to limit the damage on most pla=
tform.
>> This was the assumption before, I did not change anything but just expla=
ined in the commit message why this was not possible to come to this code.
>=20
> Yes. This is not a new, however I thought I would mention it because I wa=
nt to avoid continuing to use wrong assumptions.
>=20
> However, this code is arm64 only as it is #ifdef right? (Sorry I should h=
ave looked at the code the first time) So ...
>=20
>>>=20
>>> So can you confirm whether this is something that Arm guarantees?
>> For a specific MIDR from Arm (ie a Cortex) the PAR is fixed and VMID siz=
e to.
>> But for an other Arm architecture processor I cannot say.
>>>=20
>>> That said, I am not against removing the code. But I would like the com=
ment to be amended if this is not a correct assumption.
>> Would the following be acceptable:
>> On arm32, Xen is not booting on systems having different MIDR amongst co=
res and it is assumed that cores with the same MIDR will have the same PAR =
and VMID size.
> ... I would just drop any mention of arm32 here.

Ok

Cheers
Bertrand

>=20
> Cheers,
>=20
> --=20
> Julien Grall



From xen-devel-bounces@lists.xenproject.org Mon Aug 23 13:38:30 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 13:38:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170454.311256 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIA9m-000553-2y; Mon, 23 Aug 2021 13:38:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170454.311256; Mon, 23 Aug 2021 13:38:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIA9l-00054w-W0; Mon, 23 Aug 2021 13:38:29 +0000
Received: by outflank-mailman (input) for mailman id 170454;
 Mon, 23 Aug 2021 13:38: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 1mIA9k-00054k-Rt; Mon, 23 Aug 2021 13:38: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 1mIA9k-0003YH-Hz; Mon, 23 Aug 2021 13:38: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 1mIA9k-0002Jv-8W; Mon, 23 Aug 2021 13:38:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mIA9k-0007eo-7i; Mon, 23 Aug 2021 13:38:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=WRI0y8xpolBeeYFHf5JnMIo7MgjTP4G4DI+oHC4vTAM=; b=dL1rSFu3pUiesDxGVBmsenkqu/
	CgEDGPfIKvCZh4keu2lEZYtbY81F7Ioc3+sqSTTutjN2Ff7hUFzzy0cqqH/0n61bQZ6/EssvS32Kt
	q7x9/DJHmJ69eE2nTGw5k/1rFYmdYj6eFYA+7375LnhOQ6yeMI9Ceh+QDe+dSeODB29Y=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164316-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164316: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-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-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=9ff50bf2f2ff5fab01cac26d8eed21a89308e6ef
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 23 Aug 2021 13:38:28 +0000

flight 164316 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164316/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  14 guest-start              fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 152332

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     18 guest-localmigrate       fail REGR. vs. 152332

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 152332
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 152332
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 152332
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 152332
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 152332
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 152332
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 152332
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                9ff50bf2f2ff5fab01cac26d8eed21a89308e6ef
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  387 days
Failing since        152366  2020-08-01 20:49:34 Z  386 days  677 attempts
Testing same since   164316  2021-08-21 20:48:58 Z    1 days    1 attempts

------------------------------------------------------------
6816 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2016436 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 23 15:48:45 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 15:48:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170485.311282 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mICBa-0001Ce-TJ; Mon, 23 Aug 2021 15:48:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170485.311282; Mon, 23 Aug 2021 15: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 1mICBa-0001CX-P8; Mon, 23 Aug 2021 15:48:30 +0000
Received: by outflank-mailman (input) for mailman id 170485;
 Mon, 23 Aug 2021 15:48:30 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/xpK=NO=arm.com=Bertrand.Marquis@srs-us1.protection.inumbo.net>)
 id 1mICBZ-0001CR-Q5
 for xen-devel@lists.xenproject.org; Mon, 23 Aug 2021 15:48:29 +0000
Received: from EUR03-DB5-obe.outbound.protection.outlook.com (unknown
 [40.107.4.86]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 4ae0182d-c48a-4f12-99b9-0730c996c13b;
 Mon, 23 Aug 2021 15:48:27 +0000 (UTC)
Received: from AM6P194CA0020.EURP194.PROD.OUTLOOK.COM (2603:10a6:209:90::33)
 by VI1PR08MB4189.eurprd08.prod.outlook.com (2603:10a6:803:e7::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Mon, 23 Aug
 2021 15:48:24 +0000
Received: from VE1EUR03FT023.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:90:cafe::4e) by AM6P194CA0020.outlook.office365.com
 (2603:10a6:209:90::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Mon, 23 Aug 2021 15:48:24 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT023.mail.protection.outlook.com (10.152.18.133) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Mon, 23 Aug 2021 15:48:24 +0000
Received: ("Tessian outbound 56612e04f172:v103");
 Mon, 23 Aug 2021 15:48:24 +0000
Received: from ea07b43f768a.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 2FDFC96D-1A53-4DE1-90E4-8D2ECE484B3B.1; 
 Mon, 23 Aug 2021 15:48:17 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ea07b43f768a.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 23 Aug 2021 15:48:17 +0000
Received: from PAXPR08MB6446.eurprd08.prod.outlook.com (2603:10a6:102:12d::10)
 by PAXPR08MB6560.eurprd08.prod.outlook.com (2603:10a6:102:12d::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.19; Mon, 23 Aug
 2021 15:48:14 +0000
Received: from PAXPR08MB6446.eurprd08.prod.outlook.com
 ([fe80::3184:5465:27b6:f27d]) by PAXPR08MB6446.eurprd08.prod.outlook.com
 ([fe80::3184:5465:27b6:f27d%9]) with mapi id 15.20.4394.023; Mon, 23 Aug 2021
 15:48: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: 4ae0182d-c48a-4f12-99b9-0730c996c13b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=w1HbpxITTjsoyKhikva9BLbtIa2JQIM7YNisgW2fNmw=;
 b=XfTdxsJQCeNC5Rlk9Q2vzdY2k7y6L6d4R+wdEYNz3uvYxjR3tKZeSVKRNI2VqdHr01U5VB/OLYF7EI7bkUpv9I9wQ1lnEK6lt3tujXbstTRT8+HhxF2Ta3mN+yFuyZQ8NqmnWYrkmKDM/MmaMQqAMZX7Cs9Iq5oNoj+Ad9bd6Ic=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: ea0c63d358fe2b98
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=n7zlgGSldAbSYfD8JVVLFIFJDjOd1hNEi1OLe2j+aNhtq8/z8C3zqcAADrDVxn5pbOKMlLMjClAcTXKIHIeaxnZrdPl4Q6zp5T7h5sfUqs578QJ1ZuXWTt60pFkRonty9UDAtyAmcB4Plq9eqD2A4Kv15/rGrfo3POvEBK5+eOltLuzej8SQsMRno7FuPUPh6dDrtunRUS57xrdPw2KS4gPI/uPo1w8OMJI8ESvSIJhnj4617hpgMzdmvfqKTjLKbM67+nIQhN1mPLykXSCojStgP9Y39vmhA/DlX+iNhEPhkpT0jcPC+hjWCPWgzq/GFBuwVql7p6C+oCZjSJe9eg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=w1HbpxITTjsoyKhikva9BLbtIa2JQIM7YNisgW2fNmw=;
 b=na75W2ZRJxkkZlylICrNKhPsfT/zxVSTS5vLsZ3XqRDEXfdiOaQjhKmreqCsqARpQUdjlwvWGPoPH+INceE4V2+twzsNeKNb8m0wU3Ia8irCQqszuCmsvL3Y0MsVpXykLOja8rFpGBUjAYNCReWGNPHSWzwvw48khVZHas+fSWm2xldO1pF5t5TMOyJrNrbBJXSkkylQEnnXohpfxwEEr/w4n6MFRfjcjSiZNO2AxFI/486fxFja0DZit4d5lGh9+xcw2k0Fp/ydIJVv/jK+ydtPLGwRA+Qnu7fwNTIVrClDA5UAK+9Tx5VtNiBhlZQ7JKVxQ7Vos0sqJAzymdeFEQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=w1HbpxITTjsoyKhikva9BLbtIa2JQIM7YNisgW2fNmw=;
 b=XfTdxsJQCeNC5Rlk9Q2vzdY2k7y6L6d4R+wdEYNz3uvYxjR3tKZeSVKRNI2VqdHr01U5VB/OLYF7EI7bkUpv9I9wQ1lnEK6lt3tujXbstTRT8+HhxF2Ta3mN+yFuyZQ8NqmnWYrkmKDM/MmaMQqAMZX7Cs9Iq5oNoj+Ad9bd6Ic=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>
Subject: Re: [PATCH v2 0/7] xen/arm: Sanitize cpuinfo
Thread-Topic: [PATCH v2 0/7] xen/arm: Sanitize cpuinfo
Thread-Index: AQHXmApE4Kv6+ShsZkCCCMo7AkZIk6uA/4aAgAA89IA=
Date: Mon, 23 Aug 2021 15:48:14 +0000
Message-ID: <07661F12-BA25-4854-92A3-86172AC0ACF6@arm.com>
References: <cover.1629713932.git.bertrand.marquis@arm.com>
 <30ad3be3-b8b2-b83f-e061-5a428175e3f4@xen.org>
In-Reply-To: <30ad3be3-b8b2-b83f-e061-5a428175e3f4@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.3654.120.0.1.13)
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 5b9932ad-b7d0-41f6-ca73-08d9664d711e
x-ms-traffictypediagnostic: PAXPR08MB6560:|VI1PR08MB4189:
X-Microsoft-Antispam-PRVS:
	<VI1PR08MB4189260DD6158E992EF20B6F9DC49@VI1PR08MB4189.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:9508;OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 mKvAzw8TlqCdlGTxuj3RvPO3w1ZRq2oCyM1fw2asqaeaDh5k8yexRVaGK6F46vphacf4pH5ysGI1Yif1U0TDnV3gwzMCEgEAeBIIla4UE7gmZsXZRwyu/MZYa2WBGaK9KVfpdw0U04feNgvMw5ISPa5FlZoymxiQFwZ+yCq04acdNzAnZtrJbPeeVuv+NDCUhPTLPPC7ZDtbE4uXPUOOLtF/JRaTOrX5TFU+SivPaUVUYlkvMvSga8zk+v58v/RdlMTd995qn6xfkq23pSuFleAboq6qTQPgRTjzb/oPqkh8h7lNXJwB9l2dvthPxA1IknCWhbairq5T9ws9bxhE6Dn9s6mx5qd+bhUa8HJfQGv5IC3gNhYDzUChYS7qt4eT8O7+Ial2QH2NrSyDvV3/mpIACTbJQ3Pm/VqAhAGXDyq8TPNnBrIAZVjzT+ILjya6cr3GExX9jnlkr5MqrwM12Y9+HsPlHa6hkT34zliVA3+IE8GilKUZvtYHTH1NWV2synC4CFIKOd4xNGTRf5Uo2VRsb8EmjYgZGiux21PZO2umFtxOxmuMPLMySEJ02aXjJdO+O+uV5sZIRIZr4EHEuTB5gxIw4iO06ib7Pa7a9QEcn8Kdq/jraQbPhTKRJv+1R8Ow5Hj/tGEyzchexbi4v6JSFHlP9ES6FZhisskP/t+nWiaKq6ElxhtSzRzCZGtuoOjUwc5SZoPbm6pOBLfFTE5/wuzwZFHHJ7DuOYzHIMFK/asnAAWFoIG68KTAVpdpLR7EAMwW6kt5+Tqb9lXe+F2NMGOphT8Lts7shTz1aUqJVuBCfYA9l4TJlwbqMDBw
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB6446.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(39860400002)(346002)(136003)(366004)(376002)(6916009)(66446008)(36756003)(6512007)(66556008)(122000001)(2616005)(38100700002)(26005)(478600001)(66946007)(53546011)(66476007)(38070700005)(186003)(316002)(64756008)(4326008)(76116006)(6486002)(8936002)(6506007)(71200400001)(54906003)(2906002)(5660300002)(966005)(8676002)(91956017)(86362001)(33656002)(83380400001)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?LApokFcxTrBp4AmzHBHujqid6M5AIW+CC42w2QmeAV8m65xF4udoNR1BC9zn?=
 =?us-ascii?Q?X5SbOSVCqsgrrb8r8/3EdQMykl8KFtY+vAfDFPPVl/JYm/GJFypYU9/62kcT?=
 =?us-ascii?Q?Z+5N58jSf76EHJWtZY9+kSepRs2LMo6NZgcHPJ1cKrqKHZRFcsEbJamxAD7X?=
 =?us-ascii?Q?m3Z4I3rNqfEwCVnsTmmfRxTR+k4aeV1OvNtH77fMDD2jltVyV8/GfAjj/HzD?=
 =?us-ascii?Q?6/VP0Yzfzp6ipvXckg1QLH5feW/Ng4iJ+6Azs8ffRkCfOztZHvMUrAvxGB27?=
 =?us-ascii?Q?RPMHyyCi/80sGQqkDdHWIC9n+2Y4vFPgG0aaiod+uswbmPqv0l9+DmFw8SPU?=
 =?us-ascii?Q?TOnX9S2TCBGMzjeS/fvhto+IM7OUEkv/39wDdwVIMN7leY2cSiBgji7Ahx+R?=
 =?us-ascii?Q?WWP+I5rOWgobLYw7OUEyd+hwxPkzUbePso15nK2x6GOMnqWWEMU6kn9JB3hM?=
 =?us-ascii?Q?D1TR1rg+IPZw+Sz7tjqPK2tt9+H1+otPw/J3S6oErO6P+1ztkF7oY3vGIjSz?=
 =?us-ascii?Q?R4CqMq6ZhMuq5zxkcYVEfoPyer3myPeTMDMl2gIFekX8d0fNOHUBojdpSyzR?=
 =?us-ascii?Q?mPRKse1uKiivu6RM8jVH43aPzwC8jDzkFIumAWRmi496Q+t2b8VXnecWcS4l?=
 =?us-ascii?Q?PzKzPj7R3ronuhmoye5peo+wejH9MiExbOZE7THcm9xnCfwEW+1VraozB0RT?=
 =?us-ascii?Q?anjO6a5Jo0m3Emr6pZ8ittzsIvpHoNjQ1ha1gpGig5v90G9F+jdxkJ2C+R/G?=
 =?us-ascii?Q?rPWtXueYIESxKwEE+6aSHpN8viw+ErLgm/ImZ9Lsc2/a3ytRgHKaiqqEdlIM?=
 =?us-ascii?Q?CFzvjxl+uBlvSHsA7xUSVFpo+XR1UxdcnkwBK/NzLo1v1GG8M6EnZ1Tqmfgx?=
 =?us-ascii?Q?Tt0sb/DssugmNCc7GSltg/BfcuDdJK79/LKNk7AbXKbUATx03dC9STEX/YyJ?=
 =?us-ascii?Q?2wajHq8WwJifFuBs75BuuXG1IOhvCbPPMwCtcGVCUaJd9O64R5HSHLzxCKjn?=
 =?us-ascii?Q?++obVm1kizqmt4pXk+D84QDZzHOyaFb/bdv99m9RODpQcBYCnrpv2LDE1s+W?=
 =?us-ascii?Q?1/6qzRxSBsEKx+bCsjFb4jpNz0EfuTnQvdoQEiO4wgQRYnvtyNjpAfSwJqrn?=
 =?us-ascii?Q?8tw+hVJaYCCmHso6/cE89tCAiHRGabJh64K7xwtoIvYkb05M8sWGvUL6qKIs?=
 =?us-ascii?Q?MD1RC8cNI3VlGepr0y0H+ORJ6SN00kr7G0dGSSLwyp+zU6NuPLaTfnhmg3b1?=
 =?us-ascii?Q?OWckSZau89pkOQ87IUUpwSUS66wy9GTtrCLFaQL4c/r+9cu19PYO1RHYlEmK?=
 =?us-ascii?Q?jfuRjmZakXNSz9lhMPJvodR6?=
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="us-ascii"
Content-ID: <1F21EF037178D648B9EA7DD5E44F0260@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6560
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT023.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	c9075bb7-d384-4901-c448-08d9664d6b12
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TDERKFcHZlkNLLJ/HxiODHyWy6HZCFOPAW0AvQ8XOqQ8wIgTL2jkgCttczZgxLsHDq9g6LvnxDEv5HXDxBkeFVKhP0jLcQoLaVS1Pq9ZMh178US0WKHqSjdc4D2uAzHZmo50owA9IVD9gLC40QHCHpcv1SOjwA2NtAD7e+jUUvcFEV4D1tGis92usSZjnOtzmWZkbIZErGL0arhkm+DBXUF/pj/spwZ+SSXOtXfg2ToiqGNt4BIS8ncqumL6B/NErwUId6YaLuJHjL6PY9lR8l/eIP+8qrgYx9XkoguxKVI7nyT3xC0tvgpkyL/NOtXwsfXAYR4JtkiQU6/2xrigAT1Qm6203ii7bVs3FVG50klYsoT9PPBCVjFhngSIFHHkrQyBbOfh6NPINt2hXhh/VgOvU4cQsYvfdsUoDDbfG0jhZjUC71YUGqOdA/tVKETObtNn/+FM7EckTiC5YI4Jn8TEoXPNlBRErvQVh3lMb1YqOexr6ocPkw6n+61nTlfdoIRXD03nXbYAWmwF6j5JmXc8QHJxJMyDQmvhW35pdwzsrqjNZocmwcrAsb75Yt57AXka2cB9K+Drj7jLRv8hXFedqM2GUdZVPAsF2BCFh7N4CalLbieH6EFJ7677L6qKQ7dz2ZftZ5ib8pvH1DyIWL6eq2tZcvsx3OSphBTFw2hK37kbJLa3StEzRZEcXwNxSgAkL7UmTdSNxFDxPMi3hgAdic2b6jgkxxrylB9o7y4Sr1yYb5+X0XtlIZrHgmqwBLB1HKX1BJCU10z9kzctOonEz0gLEIF6br7CM/6KU/s=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(39860400002)(396003)(136003)(346002)(376002)(36840700001)(46966006)(186003)(70206006)(70586007)(82740400003)(4326008)(316002)(8676002)(81166007)(36860700001)(5660300002)(6512007)(54906003)(356005)(26005)(2616005)(6862004)(107886003)(6486002)(966005)(47076005)(53546011)(36756003)(6506007)(33656002)(86362001)(478600001)(82310400003)(336012)(8936002)(83380400001)(2906002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2021 15:48:24.4924
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5b9932ad-b7d0-41f6-ca73-08d9664d711e
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT023.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB4189

Hi Julien,

[Keep only arm maintainers in the CC list]

> On 23 Aug 2021, at 13:10, Julien Grall <julien@xen.org> wrote:
>=20
> Hi Bertrand,
>=20
> On 23/08/2021 11:32, Bertrand Marquis wrote:
>> On arm architecture we might have heterogeneous platforms with different
>> types of cores. As a guest can potentialy run on any of those cores we
>> have to present them cpu features which are compatible with all cores
>> and discard the features which are only available on some cores.
>=20
> Sanitizing the CPU info is important for Xen so it can correctly size the=
 P2M, flush the cache... However, I don't think this is going to be suffici=
ent to be able to move a vCPU between different type of pCPU.
>=20
> The main hurdle I can see so far is errata handling. Not all the errata c=
an be fully handled in Xen so some of them are left to the guest to mitigat=
e.

I agree this is something to work on and a problem with the current serie.

>=20
> The errata are usually detected based on the MIDR while the OS is booting=
. IOW, a guest will not be able to know that it needs to handle an errata f=
or pCPU B if it only runs on pCPU A.

Ack.

>=20
> I don't know yet how this can be solved, but errata are not that uncommon=
 on Arm. So until this addressed, we will still need to make sure that vCPU=
s are not migrated between pCPUs with at least a different MIDR.
>=20
> This prevention can be either done manually by pinning the vCPUs or imple=
menting the proposal that Dario sent a few years ago (see [1]).

My current proposal would be the following:
- add a command line option to allow to use all cores on a heterogeneous pl=
atform (different MIDR)
- taint Xen on this case
- keep the feature sanitize as it is as on this case it will create a safer=
 setup (apart from the errata potential problem)
- keep current behaviour if command line option is not passed

Having a solution to enable all cores (even if it is unsafe) could still be=
 a good improvement for development on big.LITTLE
platforms or for people knowing how to properly configure the system to pre=
vent the problems by using properly cpupools so
I still think this serie with the proposed changes is still making a lot of=
 sense.

I will start looking at a long term solution, maybe automatically create a =
cpupools on boot or investigate on the design you provided.

Please give me your view on this.

Kind regards
Bertrand

>=20
> Cheers,
>=20
> [1] https://lists.xenproject.org/archives/html/xen-devel/2016-12/msg00826=
.html
>=20
> --=20
> Julien Grall



From xen-devel-bounces@lists.xenproject.org Mon Aug 23 17:03:19 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 17:03:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170502.311293 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIDLq-0001HG-8R; Mon, 23 Aug 2021 17:03:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170502.311293; Mon, 23 Aug 2021 17:03:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIDLq-0001H9-5M; Mon, 23 Aug 2021 17:03:10 +0000
Received: by outflank-mailman (input) for mailman id 170502;
 Mon, 23 Aug 2021 17:03:08 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lvRo=NO=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1mIDLo-0001Gx-R4
 for xen-devel@lists.xenproject.org; Mon, 23 Aug 2021 17:03:08 +0000
Received: from mx.upb.ro (unknown [141.85.13.241])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id fc001ef7-0433-11ec-a879-12813bfff9fa;
 Mon, 23 Aug 2021 17:03:07 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mx.upb.ro (Postfix) with ESMTP id 10526B5600B7;
 Mon, 23 Aug 2021 20:03:06 +0300 (EEST)
Received: from mx.upb.ro ([127.0.0.1])
 by localhost (mx.upb.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id 4lcgr9anX_5F; Mon, 23 Aug 2021 20:03:04 +0300 (EEST)
Received: from localhost (localhost [127.0.0.1])
 by mx.upb.ro (Postfix) with ESMTP id 39269B56008F;
 Mon, 23 Aug 2021 20:03:04 +0300 (EEST)
Received: from mx.upb.ro ([127.0.0.1])
 by localhost (mx.upb.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id 0_98ZgINJCV6; Mon, 23 Aug 2021 20:03:04 +0300 (EEST)
Received: from localhost.localdomain (unknown [86.121.144.181])
 by mx.upb.ro (Postfix) with ESMTPSA id 9049AB56005B;
 Mon, 23 Aug 2021 20:03:03 +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: fc001ef7-0433-11ec-a879-12813bfff9fa
X-Virus-Scanned: amavisd-new at upb.ro
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: xen-devel@lists.xenproject.org
Cc: Ian Jackson <iwj@xenproject.org>,
	Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>
Subject: [PATCH v3 2/4] libs/ctrl: Use Xen values for XC_PAGE_* definitions
Date: Mon, 23 Aug 2021 20:02:54 +0300
Message-Id: <d5f02f07e9d8847a00cfe78a0e45703fdac7cd1f.1629737453.git.costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <cover.1629737453.git.costin.lupu@cs.pub.ro>
References: <cover.1629737453.git.costin.lupu@cs.pub.ro>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

We use the values provided by the Xen public interface for defining the
XC_PAGE_* macros.

Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
---
 tools/include/xenctrl.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index b77726eab7..52a1768ee7 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -55,9 +55,9 @@
 #include <xen/arch-x86/xen-mca.h>
 #endif
=20
-#define XC_PAGE_SHIFT           12
-#define XC_PAGE_SIZE            (1UL << XC_PAGE_SHIFT)
-#define XC_PAGE_MASK            (~(XC_PAGE_SIZE-1))
+#define XC_PAGE_SHIFT           XEN_PAGE_SHIFT
+#define XC_PAGE_SIZE            XEN_PAGE_SIZE
+#define XC_PAGE_MASK            XEN_PAGE_MASK
=20
 #define INVALID_MFN  (~0UL)
=20
--=20
2.20.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 23 17:03:19 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 17:03:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170503.311296 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIDLq-0001K4-Hd; Mon, 23 Aug 2021 17:03:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170503.311296; Mon, 23 Aug 2021 17:03:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIDLq-0001J7-DD; Mon, 23 Aug 2021 17:03:10 +0000
Received: by outflank-mailman (input) for mailman id 170503;
 Mon, 23 Aug 2021 17:03:09 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lvRo=NO=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1mIDLp-0001H2-7b
 for xen-devel@lists.xenproject.org; Mon, 23 Aug 2021 17:03:09 +0000
Received: from mx.upb.ro (unknown [141.85.13.220])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 33d58277-c271-4081-ae4c-a0dbf4362b78;
 Mon, 23 Aug 2021 17:03:07 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mx.upb.ro (Postfix) with ESMTP id 2E3B2B56008F;
 Mon, 23 Aug 2021 20:03:06 +0300 (EEST)
Received: from mx.upb.ro ([127.0.0.1])
 by localhost (mx.upb.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id ZXIII3mYf7jK; Mon, 23 Aug 2021 20:03:03 +0300 (EEST)
Received: from localhost (localhost [127.0.0.1])
 by mx.upb.ro (Postfix) with ESMTP id 90F37B5600BF;
 Mon, 23 Aug 2021 20:03:03 +0300 (EEST)
Received: from mx.upb.ro ([127.0.0.1])
 by localhost (mx.upb.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id Wz-XGhTtxHKr; Mon, 23 Aug 2021 20:03:03 +0300 (EEST)
Received: from localhost.localdomain (unknown [86.121.144.181])
 by mx.upb.ro (Postfix) with ESMTPSA id 9185AB56008F;
 Mon, 23 Aug 2021 20:03:02 +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: 33d58277-c271-4081-ae4c-a0dbf4362b78
X-Virus-Scanned: amavisd-new at upb.ro
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: xen-devel@lists.xenproject.org
Cc: 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>,
	Ian Jackson <iwj@xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v3 1/4] public: Add page related definitions for accessing guests memory
Date: Mon, 23 Aug 2021 20:02:53 +0300
Message-Id: <22031be8466bb18d1dd891481ccc67d8c2b2dd55.1629737453.git.costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <cover.1629737453.git.costin.lupu@cs.pub.ro>
References: <cover.1629737453.git.costin.lupu@cs.pub.ro>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

These changes introduce the page related definitions needed for mapping a=
nd
accessing guests memory. These values are intended to be used by any tool=
stack
component that needs to map guests memory. Until now, the values were def=
ined
by the xenctrl.h header, therefore whenever a component had to use them i=
t also
had to add a dependency for the xenctrl library.

This patch also introduces xen_mk_long() macrodefinition for defining lon=
g
constants both for C and assembler code.

Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
---
 xen/include/public/arch-arm.h     | 8 ++++++++
 xen/include/public/arch-x86/xen.h | 8 ++++++++
 xen/include/public/xen.h          | 9 +++++++++
 3 files changed, 25 insertions(+)

diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.=
h
index 64a2ca30da..caf7825d95 100644
--- a/xen/include/public/arch-arm.h
+++ b/xen/include/public/arch-arm.h
@@ -471,6 +471,14 @@ typedef uint64_t xen_callback_t;
 typedef struct xen_pmu_arch { uint8_t dummy; } xen_pmu_arch_t;
 #endif
=20
+#if defined(__XEN__) || defined(__XEN_TOOLS__)
+/*
+ *  Page definitions needed for accessing guests memory
+ */
+#define XEN_PAGE_SHIFT   12
+
+#endif/* __XEN__ || __XEN_TOOLS__ */
+
 #endif /*  __XEN_PUBLIC_ARCH_ARM_H__ */
=20
 /*
diff --git a/xen/include/public/arch-x86/xen.h b/xen/include/public/arch-=
x86/xen.h
index 7acd94c8eb..f9939c742b 100644
--- a/xen/include/public/arch-x86/xen.h
+++ b/xen/include/public/arch-x86/xen.h
@@ -385,6 +385,14 @@ DEFINE_XEN_GUEST_HANDLE(xen_msr_entry_t);
  */
 #define XEN_HVM_DEBUGCONS_IOPORT 0xe9
=20
+#if defined(__XEN__) || defined(__XEN_TOOLS__)
+/*
+ *  Page definitions needed for accessing guests memory
+ */
+#define XEN_PAGE_SHIFT   12
+
+#endif /* __XEN__ || __XEN_TOOLS__ */
+
 #endif /* __XEN_PUBLIC_ARCH_X86_XEN_H__ */
=20
 /*
diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
index e373592c33..c6486040b9 100644
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -64,11 +64,13 @@ DEFINE_XEN_GUEST_HANDLE(xen_ulong_t);
=20
 /* Turn a plain number into a C unsigned (long (long)) constant. */
 #define __xen_mk_uint(x)  x ## U
+#define __xen_mk_long(x)  x ## L
 #define __xen_mk_ulong(x) x ## UL
 #ifndef __xen_mk_ullong
 # define __xen_mk_ullong(x) x ## ULL
 #endif
 #define xen_mk_uint(x)    __xen_mk_uint(x)
+#define xen_mk_long(x)    __xen_mk_long(x)
 #define xen_mk_ulong(x)   __xen_mk_ulong(x)
 #define xen_mk_ullong(x)  __xen_mk_ullong(x)
=20
@@ -76,6 +78,7 @@ DEFINE_XEN_GUEST_HANDLE(xen_ulong_t);
=20
 /* In assembly code we cannot use C numeric constant suffixes. */
 #define xen_mk_uint(x)   x
+#define xen_mk_long(x)   x
 #define xen_mk_ulong(x)  x
 #define xen_mk_ullong(x) x
=20
@@ -1034,6 +1037,12 @@ struct xenctl_bitmap {
 typedef struct xenctl_bitmap xenctl_bitmap_t;
 #endif
=20
+/*
+ *  Page definitions needed for accessing guests memory
+ */
+#define XEN_PAGE_SIZE            (xen_mk_long(1) << XEN_PAGE_SHIFT)
+#define XEN_PAGE_MASK            (~(XEN_PAGE_SIZE - 1))
+
 #endif /* defined(__XEN__) || defined(__XEN_TOOLS__) */
=20
 #endif /* __XEN_PUBLIC_XEN_H__ */
--=20
2.20.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 23 17:03:19 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 17:03:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170504.311315 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIDLu-0001ob-QN; Mon, 23 Aug 2021 17:03:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170504.311315; Mon, 23 Aug 2021 17:03:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIDLu-0001oQ-Mm; Mon, 23 Aug 2021 17:03:14 +0000
Received: by outflank-mailman (input) for mailman id 170504;
 Mon, 23 Aug 2021 17:03:13 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lvRo=NO=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1mIDLt-0001Gx-Lu
 for xen-devel@lists.xenproject.org; Mon, 23 Aug 2021 17:03:13 +0000
Received: from mx.upb.ro (unknown [141.85.13.220])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id fc001ef6-0433-11ec-a879-12813bfff9fa;
 Mon, 23 Aug 2021 17:03:06 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mx.upb.ro (Postfix) with ESMTP id EA03DB5600C3;
 Mon, 23 Aug 2021 20:03:04 +0300 (EEST)
Received: from mx.upb.ro ([127.0.0.1])
 by localhost (mx.upb.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id lP8l6OS2WvUV; Mon, 23 Aug 2021 20:03:03 +0300 (EEST)
Received: from localhost (localhost [127.0.0.1])
 by mx.upb.ro (Postfix) with ESMTP id 97051B5600B7;
 Mon, 23 Aug 2021 20:03:02 +0300 (EEST)
Received: from mx.upb.ro ([127.0.0.1])
 by localhost (mx.upb.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id yRU6gUqEzLHJ; Mon, 23 Aug 2021 20:03:02 +0300 (EEST)
Received: from localhost.localdomain (unknown [86.121.144.181])
 by mx.upb.ro (Postfix) with ESMTPSA id 6F560B56005B;
 Mon, 23 Aug 2021 20:03:01 +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: fc001ef6-0433-11ec-a879-12813bfff9fa
X-Virus-Scanned: amavisd-new at upb.ro
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: xen-devel@lists.xenproject.org
Cc: 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>,
	Ian Jackson <iwj@xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 0/4] Introduce XEN_PAGE_* definitions for mapping guests memory
Date: Mon, 23 Aug 2021 20:02:52 +0300
Message-Id: <cover.1629737453.git.costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.20.1
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

This series tries to fix a side-effect introduced by commits 0dbb4be7 and
d1b32abd which added a dependency to xenctrl for foreignmemory and gnntab
libraries library only because they needed to use the XC_PAGE_* values.

These changes introduce the XEN_PAGE_* definitions that will be used by a=
ny
toolstack component that doesn't need a dependency to xenctrl library.

Changes since v1:
- Use same page definitions for both x86_64 and ARM (i.e. a single page.h=
 file)
- Introduce xen_mk_long()

Changes since v2:
- Get rid of new page.h header and use instead arch-x86/xen.h, arch-arm.h=
 and
  xen.h headers

Costin Lupu (4):
  public: Add page related definitions for accessing guests memory
  libs/ctrl: Use Xen values for XC_PAGE_* definitions
  libs/foreignmemory: Use XEN_PAGE_* definitions
  libs/gnttab: Use XEN_PAGE_* definitions

 tools/include/xenctrl.h            |  6 +++---
 tools/libs/foreignmemory/Makefile  |  2 ++
 tools/libs/foreignmemory/core.c    |  2 +-
 tools/libs/foreignmemory/freebsd.c | 10 +++++-----
 tools/libs/foreignmemory/linux.c   | 18 +++++++++---------
 tools/libs/foreignmemory/minios.c  | 10 +---------
 tools/libs/foreignmemory/netbsd.c  | 10 +++++-----
 tools/libs/foreignmemory/private.h |  1 -
 tools/libs/foreignmemory/solaris.c |  6 +++---
 tools/libs/gnttab/Makefile         |  2 ++
 tools/libs/gnttab/freebsd.c        | 19 +++++++++----------
 tools/libs/gnttab/linux.c          | 19 +++++++++----------
 tools/libs/gnttab/netbsd.c         | 19 +++++++++----------
 xen/include/public/arch-arm.h      |  8 ++++++++
 xen/include/public/arch-x86/xen.h  |  8 ++++++++
 xen/include/public/xen.h           |  9 +++++++++
 16 files changed, 83 insertions(+), 66 deletions(-)

--=20
2.20.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 23 17:08:31 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 17:08:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170519.311326 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIDQy-00038n-ER; Mon, 23 Aug 2021 17:08:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170519.311326; Mon, 23 Aug 2021 17: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 1mIDQy-00038g-BM; Mon, 23 Aug 2021 17:08:28 +0000
Received: by outflank-mailman (input) for mailman id 170519;
 Mon, 23 Aug 2021 17:08:27 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lvRo=NO=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1mIDQw-00038a-Vl
 for xen-devel@lists.xenproject.org; Mon, 23 Aug 2021 17:08:27 +0000
Received: from mx.upb.ro (unknown [141.85.13.240])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 43ee8c6d-77ef-45ab-b80b-157880e9e468;
 Mon, 23 Aug 2021 17:08:26 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mx.upb.ro (Postfix) with ESMTP id 7CFEEB5600BF;
 Mon, 23 Aug 2021 20:03:11 +0300 (EEST)
Received: from mx.upb.ro ([127.0.0.1])
 by localhost (mx.upb.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id LGNDaAA5lvfU; Mon, 23 Aug 2021 20:03:05 +0300 (EEST)
Received: from localhost (localhost [127.0.0.1])
 by mx.upb.ro (Postfix) with ESMTP id 86157B56005B;
 Mon, 23 Aug 2021 20:03:05 +0300 (EEST)
Received: from mx.upb.ro ([127.0.0.1])
 by localhost (mx.upb.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id zRvSgQiabKf3; Mon, 23 Aug 2021 20:03:05 +0300 (EEST)
Received: from localhost.localdomain (unknown [86.121.144.181])
 by mx.upb.ro (Postfix) with ESMTPSA id ED5EEB5600C7;
 Mon, 23 Aug 2021 20:03:04 +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: 43ee8c6d-77ef-45ab-b80b-157880e9e468
X-Virus-Scanned: amavisd-new at upb.ro
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: xen-devel@lists.xenproject.org
Cc: Ian Jackson <iwj@xenproject.org>,
	Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>
Subject: [PATCH v3 4/4] libs/gnttab: Use XEN_PAGE_* definitions
Date: Mon, 23 Aug 2021 20:02:56 +0300
Message-Id: <532a25ce59efa583b6e8bb3e258bd65058ba46c4.1629737453.git.costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <cover.1629737453.git.costin.lupu@cs.pub.ro>
References: <cover.1629737453.git.costin.lupu@cs.pub.ro>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

These changes refine the changes in d1b32abd which added a dependency to
xenctrl library. We use the XEN_PAGE_* definitions instead of the XC_PAGE=
_*
definitions and therefore we get rid of the unnecessary dependency.

Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
---
 tools/libs/gnttab/Makefile  |  2 ++
 tools/libs/gnttab/freebsd.c | 19 +++++++++----------
 tools/libs/gnttab/linux.c   | 19 +++++++++----------
 tools/libs/gnttab/netbsd.c  | 19 +++++++++----------
 4 files changed, 29 insertions(+), 30 deletions(-)

diff --git a/tools/libs/gnttab/Makefile b/tools/libs/gnttab/Makefile
index ae390ce60f..a884860378 100644
--- a/tools/libs/gnttab/Makefile
+++ b/tools/libs/gnttab/Makefile
@@ -13,4 +13,6 @@ SRCS-$(CONFIG_FreeBSD) +=3D $(SRCS-GNTTAB) $(SRCS-GNTSH=
R) freebsd.c
 SRCS-$(CONFIG_NetBSD)  +=3D $(SRCS-GNTTAB) $(SRCS-GNTSHR) netbsd.c
 SRCS-$(CONFIG_SunOS)   +=3D gnttab_unimp.c gntshr_unimp.c
=20
+CFLAGS   +=3D -D__XEN_TOOLS__
+
 include $(XEN_ROOT)/tools/libs/libs.mk
diff --git a/tools/libs/gnttab/freebsd.c b/tools/libs/gnttab/freebsd.c
index e42ac3fbf3..548e21361d 100644
--- a/tools/libs/gnttab/freebsd.c
+++ b/tools/libs/gnttab/freebsd.c
@@ -30,7 +30,6 @@
=20
 #include <xen/sys/gntdev.h>
=20
-#include <xenctrl.h>
 #include <xen-tools/libs.h>
=20
 #include "private.h"
@@ -74,7 +73,7 @@ void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
     int domids_stride;
     unsigned int refs_size =3D ROUNDUP(count *
                                      sizeof(struct ioctl_gntdev_grant_re=
f),
-                                     XC_PAGE_SHIFT);
+                                     XEN_PAGE_SHIFT);
     int os_page_size =3D getpagesize();
=20
     domids_stride =3D (flags & XENGNTTAB_GRANT_MAP_SINGLE_DOMAIN) ? 0 : =
1;
@@ -105,7 +104,7 @@ void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
         goto out;
     }
=20
-    addr =3D mmap(NULL, XC_PAGE_SIZE * count, prot, MAP_SHARED, fd,
+    addr =3D mmap(NULL, XEN_PAGE_SIZE * count, prot, MAP_SHARED, fd,
                 map.index);
     if ( addr !=3D MAP_FAILED )
     {
@@ -114,7 +113,7 @@ void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
=20
         notify.index =3D map.index;
         notify.action =3D 0;
-        if ( notify_offset < XC_PAGE_SIZE * count )
+        if ( notify_offset < XEN_PAGE_SIZE * count )
         {
             notify.index +=3D notify_offset;
             notify.action |=3D UNMAP_NOTIFY_CLEAR_BYTE;
@@ -129,7 +128,7 @@ void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
         if ( rv )
         {
             GTERROR(xgt->logger, "ioctl SET_UNMAP_NOTIFY failed");
-            munmap(addr, count * XC_PAGE_SIZE);
+            munmap(addr, count * XEN_PAGE_SIZE);
             addr =3D MAP_FAILED;
         }
     }
@@ -187,7 +186,7 @@ int osdep_gnttab_unmap(xengnttab_handle *xgt,
     }
=20
     /* Next, unmap the memory. */
-    if ( (rc =3D munmap(start_address, count * XC_PAGE_SIZE)) )
+    if ( (rc =3D munmap(start_address, count * XEN_PAGE_SIZE)) )
         return rc;
=20
     /* Finally, unmap the driver slots used to store the grant informati=
on. */
@@ -254,7 +253,7 @@ void *osdep_gntshr_share_pages(xengntshr_handle *xgs,
         goto out;
     }
=20
-    area =3D mmap(NULL, count * XC_PAGE_SIZE, PROT_READ | PROT_WRITE, MA=
P_SHARED,
+    area =3D mmap(NULL, count * XEN_PAGE_SIZE, PROT_READ | PROT_WRITE, M=
AP_SHARED,
                 fd, gref_info.index);
=20
     if ( area =3D=3D MAP_FAILED )
@@ -266,7 +265,7 @@ void *osdep_gntshr_share_pages(xengntshr_handle *xgs,
=20
     notify.index =3D gref_info.index;
     notify.action =3D 0;
-    if ( notify_offset < XC_PAGE_SIZE * count )
+    if ( notify_offset < XEN_PAGE_SIZE * count )
     {
         notify.index +=3D notify_offset;
         notify.action |=3D UNMAP_NOTIFY_CLEAR_BYTE;
@@ -281,7 +280,7 @@ void *osdep_gntshr_share_pages(xengntshr_handle *xgs,
     if ( err )
     {
         GSERROR(xgs->logger, "ioctl SET_UNMAP_NOTIFY failed");
-        munmap(area, count * XC_PAGE_SIZE);
+        munmap(area, count * XEN_PAGE_SIZE);
         area =3D NULL;
     }
=20
@@ -304,7 +303,7 @@ void *osdep_gntshr_share_pages(xengntshr_handle *xgs,
 int osdep_gntshr_unshare(xengntshr_handle *xgs,
                          void *start_address, uint32_t count)
 {
-    return munmap(start_address, count * XC_PAGE_SIZE);
+    return munmap(start_address, count * XEN_PAGE_SIZE);
 }
=20
 /*
diff --git a/tools/libs/gnttab/linux.c b/tools/libs/gnttab/linux.c
index 5628fd5719..064aa3097f 100644
--- a/tools/libs/gnttab/linux.c
+++ b/tools/libs/gnttab/linux.c
@@ -32,7 +32,6 @@
 #include <xen/sys/gntdev.h>
 #include <xen/sys/gntalloc.h>
=20
-#include <xenctrl.h>
 #include <xen-tools/libs.h>
=20
 #include "private.h"
@@ -101,7 +100,7 @@ void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
         map =3D alloca(map_size);
     else
     {
-        map_size =3D ROUNDUP(map_size, XC_PAGE_SHIFT);
+        map_size =3D ROUNDUP(map_size, XEN_PAGE_SHIFT);
         map =3D mmap(NULL, map_size, PROT_READ | PROT_WRITE,
                    MAP_PRIVATE | MAP_ANON | MAP_POPULATE, -1, 0);
         if ( map =3D=3D MAP_FAILED )
@@ -125,7 +124,7 @@ void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
     }
=20
  retry:
-    addr =3D mmap(NULL, XC_PAGE_SIZE * count, prot, MAP_SHARED, fd,
+    addr =3D mmap(NULL, XEN_PAGE_SIZE * count, prot, MAP_SHARED, fd,
                 map->index);
=20
     if (addr =3D=3D MAP_FAILED && errno =3D=3D EAGAIN)
@@ -150,7 +149,7 @@ void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
         struct ioctl_gntdev_unmap_notify notify;
         notify.index =3D map->index;
         notify.action =3D 0;
-        if (notify_offset < XC_PAGE_SIZE * count) {
+        if (notify_offset < XEN_PAGE_SIZE * count) {
             notify.index +=3D notify_offset;
             notify.action |=3D UNMAP_NOTIFY_CLEAR_BYTE;
         }
@@ -162,7 +161,7 @@ void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
             rv =3D ioctl(fd, IOCTL_GNTDEV_SET_UNMAP_NOTIFY, &notify);
         if (rv) {
             GTERROR(xgt->logger, "ioctl SET_UNMAP_NOTIFY failed");
-            munmap(addr, count * XC_PAGE_SIZE);
+            munmap(addr, count * XEN_PAGE_SIZE);
             addr =3D MAP_FAILED;
         }
     }
@@ -218,7 +217,7 @@ int osdep_gnttab_unmap(xengnttab_handle *xgt,
     }
=20
     /* Next, unmap the memory. */
-    if ( (rc =3D munmap(start_address, count * XC_PAGE_SIZE)) )
+    if ( (rc =3D munmap(start_address, count * XEN_PAGE_SIZE)) )
         return rc;
=20
     /* Finally, unmap the driver slots used to store the grant informati=
on. */
@@ -464,7 +463,7 @@ void *osdep_gntshr_share_pages(xengntshr_handle *xgs,
         goto out;
     }
=20
-    area =3D mmap(NULL, count * XC_PAGE_SIZE, PROT_READ | PROT_WRITE,
+    area =3D mmap(NULL, count * XEN_PAGE_SIZE, PROT_READ | PROT_WRITE,
         MAP_SHARED, fd, gref_info->index);
=20
     if (area =3D=3D MAP_FAILED) {
@@ -475,7 +474,7 @@ void *osdep_gntshr_share_pages(xengntshr_handle *xgs,
=20
     notify.index =3D gref_info->index;
     notify.action =3D 0;
-    if (notify_offset < XC_PAGE_SIZE * count) {
+    if (notify_offset < XEN_PAGE_SIZE * count) {
         notify.index +=3D notify_offset;
         notify.action |=3D UNMAP_NOTIFY_CLEAR_BYTE;
     }
@@ -487,7 +486,7 @@ void *osdep_gntshr_share_pages(xengntshr_handle *xgs,
         err =3D ioctl(fd, IOCTL_GNTALLOC_SET_UNMAP_NOTIFY, &notify);
     if (err) {
         GSERROR(xgs->logger, "ioctl SET_UNMAP_NOTIFY failed");
-        munmap(area, count * XC_PAGE_SIZE);
+        munmap(area, count * XEN_PAGE_SIZE);
         area =3D NULL;
     }
=20
@@ -508,7 +507,7 @@ void *osdep_gntshr_share_pages(xengntshr_handle *xgs,
 int osdep_gntshr_unshare(xengntshr_handle *xgs,
                          void *start_address, uint32_t count)
 {
-    return munmap(start_address, count * XC_PAGE_SIZE);
+    return munmap(start_address, count * XEN_PAGE_SIZE);
 }
=20
 /*
diff --git a/tools/libs/gnttab/netbsd.c b/tools/libs/gnttab/netbsd.c
index a4ad624b54..b88dbcb49b 100644
--- a/tools/libs/gnttab/netbsd.c
+++ b/tools/libs/gnttab/netbsd.c
@@ -28,7 +28,6 @@
 #include <sys/ioctl.h>
 #include <sys/mman.h>
=20
-#include <xenctrl.h>
 #include <xen/xen.h>
 #include <xen/xenio.h>
=20
@@ -84,19 +83,19 @@ void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
     }
=20
     map.count =3D count;
-    addr =3D mmap(NULL, count * XC_PAGE_SIZE,
+    addr =3D mmap(NULL, count * XEN_PAGE_SIZE,
                 prot, flags | MAP_ANON | MAP_SHARED, -1, 0);
     if ( map.va =3D=3D MAP_FAILED )
     {
         GTERROR(xgt->logger, "osdep_gnttab_grant_map: mmap failed");
-        munmap((void *)map.va, count * XC_PAGE_SIZE);
+        munmap((void *)map.va, count * XEN_PAGE_SIZE);
         addr =3D MAP_FAILED;
     }
     map.va =3D addr;
=20
     map.notify.offset =3D 0;
     map.notify.action =3D 0;
-    if ( notify_offset < XC_PAGE_SIZE * count )
+    if ( notify_offset < XEN_PAGE_SIZE * count )
     {
         map.notify.offset =3D notify_offset;
         map.notify.action |=3D UNMAP_NOTIFY_CLEAR_BYTE;
@@ -112,7 +111,7 @@ void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
     {
         GTERROR(xgt->logger,
             "ioctl IOCTL_GNTDEV_MMAP_GRANT_REF failed: %d", rv);
-        munmap(addr, count * XC_PAGE_SIZE);
+        munmap(addr, count * XEN_PAGE_SIZE);
         addr =3D MAP_FAILED;
     }
=20
@@ -133,7 +132,7 @@ int osdep_gnttab_unmap(xengnttab_handle *xgt,
     }
=20
     /* Next, unmap the memory. */
-    rc =3D munmap(start_address, count * XC_PAGE_SIZE);
+    rc =3D munmap(start_address, count * XEN_PAGE_SIZE);
=20
     return rc;
 }
@@ -184,7 +183,7 @@ void *osdep_gntshr_share_pages(xengntshr_handle *xgs,
     alloc.domid =3D domid;
     alloc.flags =3D writable ? GNTDEV_ALLOC_FLAG_WRITABLE : 0;
     alloc.count =3D count;
-    area =3D mmap(NULL, count * XC_PAGE_SIZE,
+    area =3D mmap(NULL, count * XEN_PAGE_SIZE,
                 PROT_READ | PROT_WRITE, MAP_ANON | MAP_SHARED, -1, 0);
=20
     if ( area =3D=3D MAP_FAILED )
@@ -197,7 +196,7 @@ void *osdep_gntshr_share_pages(xengntshr_handle *xgs,
=20
     alloc.notify.offset =3D 0;
     alloc.notify.action =3D 0;
-    if ( notify_offset < XC_PAGE_SIZE * count )
+    if ( notify_offset < XEN_PAGE_SIZE * count )
     {
         alloc.notify.offset =3D notify_offset;
         alloc.notify.action |=3D UNMAP_NOTIFY_CLEAR_BYTE;
@@ -212,7 +211,7 @@ void *osdep_gntshr_share_pages(xengntshr_handle *xgs,
     if ( err )
     {
         GSERROR(xgs->logger, "IOCTL_GNTDEV_ALLOC_GRANT_REF failed");
-        munmap(area, count * XC_PAGE_SIZE);
+        munmap(area, count * XEN_PAGE_SIZE);
         area =3D MAP_FAILED;
         goto out;
     }
@@ -227,7 +226,7 @@ void *osdep_gntshr_share_pages(xengntshr_handle *xgs,
 int osdep_gntshr_unshare(xengntshr_handle *xgs,
                          void *start_address, uint32_t count)
 {
-    return munmap(start_address, count * XC_PAGE_SIZE);
+    return munmap(start_address, count * XEN_PAGE_SIZE);
 }
=20
 /*
--=20
2.20.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 23 17:17:13 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 17:17:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170528.311337 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIDZM-0004ig-Ct; Mon, 23 Aug 2021 17:17:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170528.311337; Mon, 23 Aug 2021 17: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 1mIDZM-0004iZ-A2; Mon, 23 Aug 2021 17:17:08 +0000
Received: by outflank-mailman (input) for mailman id 170528;
 Mon, 23 Aug 2021 17:17: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 1mIDZL-0004iT-29
 for xen-devel@lists.xenproject.org; Mon, 23 Aug 2021 17:17: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 1mIDZG-0007tA-BS; Mon, 23 Aug 2021 17:17:02 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mIDZG-0005E2-4T; Mon, 23 Aug 2021 17: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=wEtuQ//vLw5YntL2uLJAc5jvGvoeiL7/YYf+B2y1iuc=; b=rYU0zy1jehX9xQacN+UkQJ2qjH
	xQLl2ziCwE+zyNrrOhC1MyDTf5plUk466NdGh7WlJwlgTmIu/8DUIMGk+GHRrxVdSLyksuoSz001i
	1YxreS+SgeWpIRtYiyTk2DB+M2Fm534Tv1RjnPQ6GFRUKt0hjC/pCEz8q+NhTmXt3/dg=;
Subject: Re: [PATCH v2 1/4] public: Add page related definitions for accessing
 guests memory
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org, Costin Lupu <costin.lupu@cs.pub.ro>
References: <cover.1629395092.git.costin.lupu@cs.pub.ro>
 <1d9338102d2013addfabc0cf9275ef156fd5080f.1629395092.git.costin.lupu@cs.pub.ro>
 <69747133-3d42-4179-2606-12b1d1a9c8a6@suse.com>
 <c942c080-183a-ddb2-f523-dd3354f5b4a0@cs.pub.ro>
 <a2d0be78-f53e-a100-838a-5af2a8ef1459@xen.org>
 <8ed65d58-2547-d4cf-0db7-74a2ab114a71@suse.com>
From: Julien Grall <julien@xen.org>
Message-ID: <6dbe57f9-6355-d584-382f-a06779aa9121@xen.org>
Date: Mon, 23 Aug 2021 18:16:59 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <8ed65d58-2547-d4cf-0db7-74a2ab114a71@suse.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Jan,

On 20/08/2021 10:26, Jan Beulich wrote:
> On 20.08.2021 11:08, Julien Grall wrote:
>> On 20/08/2021 08:44, Costin Lupu wrote:
>>> On 8/20/21 9:52 AM, Jan Beulich wrote:
>>>>> --- /dev/null
>>>>> +++ b/xen/include/public/page.h
>>>>> @@ -0,0 +1,36 @@
>>>>> +/******************************************************************************
>>>>> + * page.h
>>>>> + *
>>>>> + * Page definitions for accessing guests memory
>>>>> + *
>>>>> + * Permission is hereby granted, free of charge, to any person obtaining a copy
>>>>> + * of this software and associated documentation files (the "Software"), to
>>>>> + * deal in the Software without restriction, including without limitation the
>>>>> + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
>>>>> + * sell copies of the Software, and to permit persons to whom the Software is
>>>>> + * furnished to do so, subject to the following conditions:
>>>>> + *
>>>>> + * The above copyright notice and this permission notice shall be included in
>>>>> + * all copies or substantial portions of the Software.
>>>>> + *
>>>>> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
>>>>> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
>>>>> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
>>>>> + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
>>>>> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
>>>>> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
>>>>> + * DEALINGS IN THE SOFTWARE.
>>>>> + *
>>>>> + * Copyright (c) 2021, Costin Lupu
>>>>> + */
>>>>> +
>>>>> +#ifndef __XEN_PUBLIC_PAGE_H__
>>>>> +#define __XEN_PUBLIC_PAGE_H__
>>>>> +
>>>>> +#include "xen.h"
>>>>> +
>>>>> +#define XEN_PAGE_SHIFT           12
>>>>> +#define XEN_PAGE_SIZE            (xen_mk_long(1) << XEN_PAGE_SHIFT)
>>
>> This will use UL whereas on Arm a page frame should always be 64-bit
>> regardless the bitness. Shouldn't this be converted to use xen_ulong_t
>> instead?
> 
> As pointed out on v1, XEN_PAGE_SIZE would better not end up as a
> value of signed type, for ...

Did you mean "not end up as a value of **unsigned** type"...

> 
>>>>> +#define XEN_PAGE_MASK            (~(XEN_PAGE_SIZE - 1))
> 
> ... this to suitably sign-extend to wider types is necessary.

... because, if I am not mistaken, the sign-extension wouldn't happen 
with unsigned type. But then on v1 you wrote:

"Imo the smallest type this should evaluate to is xen_ulong_t"

Which I interpreted as this value should be 64-bit on Arm32. If this not 
what you meant then I am lost.

> 
> Also unless you expect someone to use typeof(XEN_PAGE_SIZE) I'm
> afraid I don't see where the constant being long vs xen_long_t
> (if such existed) might matter.
> Otoh perhaps xen_mk_ulong() would
> better have produced a xen_ulong_t typed values in the first
> place, but I'm afraid we can't alter the existing macro.

We can create a new one.

>> Our stable ABI has not been designed with multiple page granularity in
>> mind. We could introduce a hypercall to query the page size used by the
>> ABI. But then, I don't think we have the full picture of how this is
>> going to pan out (I haven't try to use another page size on Xen yet).
>>
>> I think we have three choices here:
>>     1) Stick with the existing definition in the tools
>>     2) Move the definition in the public headers and only expose them to
>> the tools.
>>     3) Query the page size via a new hypervisor
>>
>> As I wrote above, 3) is going to take some time to get it right. So the
>> question here is whether 2) is temporarily better than 1).
> 
> Because I understand 3) is some way out, and because I think 2) is
> better than 1), I wrote "might be an option" for what you call 2).
> But I could see people (Andrew for example) to take a different
> position and object to such a temporary measure.

I think we need to make a decision so Costin doesn't keep sending 
version on something that can't be merged. What does the others thinks?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 23 17:38:32 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 17:38:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170539.311348 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIDty-0007Dq-3E; Mon, 23 Aug 2021 17:38:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170539.311348; Mon, 23 Aug 2021 17:38:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIDtx-0007Dj-W9; Mon, 23 Aug 2021 17:38:25 +0000
Received: by outflank-mailman (input) for mailman id 170539;
 Mon, 23 Aug 2021 17:38:25 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lvRo=NO=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1mIDtx-0007Dd-7p
 for xen-devel@lists.xenproject.org; Mon, 23 Aug 2021 17:38:25 +0000
Received: from mx.upb.ro (unknown [141.85.13.201])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id ea2552e6-0438-11ec-a87a-12813bfff9fa;
 Mon, 23 Aug 2021 17:38:24 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mx.upb.ro (Postfix) with ESMTP id 69B4CB5600B7;
 Mon, 23 Aug 2021 20:03:10 +0300 (EEST)
Received: from mx.upb.ro ([127.0.0.1])
 by localhost (mx.upb.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id oGo02o3IyrQN; Mon, 23 Aug 2021 20:03:05 +0300 (EEST)
Received: from localhost (localhost [127.0.0.1])
 by mx.upb.ro (Postfix) with ESMTP id E8CB7B5600C2;
 Mon, 23 Aug 2021 20:03:04 +0300 (EEST)
Received: from mx.upb.ro ([127.0.0.1])
 by localhost (mx.upb.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id p2yt0dO45zb1; Mon, 23 Aug 2021 20:03:04 +0300 (EEST)
Received: from localhost.localdomain (unknown [86.121.144.181])
 by mx.upb.ro (Postfix) with ESMTPSA id 3A15EB5600C0;
 Mon, 23 Aug 2021 20:03:04 +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: ea2552e6-0438-11ec-a87a-12813bfff9fa
X-Virus-Scanned: amavisd-new at upb.ro
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: xen-devel@lists.xenproject.org
Cc: Ian Jackson <iwj@xenproject.org>,
	Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>
Subject: [PATCH v3 3/4] libs/foreignmemory: Use XEN_PAGE_* definitions
Date: Mon, 23 Aug 2021 20:02:55 +0300
Message-Id: <b67bbe5e4a54e28c1d63cd1144081b779b9a6a8d.1629737453.git.costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <cover.1629737453.git.costin.lupu@cs.pub.ro>
References: <cover.1629737453.git.costin.lupu@cs.pub.ro>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

These changes refine the changes in 0dbb4be7 which added a dependency to
xenctrl library. We use the XEN_PAGE_* definitions instead of the XC_PAGE=
_*
definitions and therefore we get rid of the unnecessary dependency.

Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
---
 tools/libs/foreignmemory/Makefile  |  2 ++
 tools/libs/foreignmemory/core.c    |  2 +-
 tools/libs/foreignmemory/freebsd.c | 10 +++++-----
 tools/libs/foreignmemory/linux.c   | 18 +++++++++---------
 tools/libs/foreignmemory/minios.c  | 10 +---------
 tools/libs/foreignmemory/netbsd.c  | 10 +++++-----
 tools/libs/foreignmemory/private.h |  1 -
 tools/libs/foreignmemory/solaris.c |  6 +++---
 8 files changed, 26 insertions(+), 33 deletions(-)

diff --git a/tools/libs/foreignmemory/Makefile b/tools/libs/foreignmemory=
/Makefile
index 0eb9a3a712..e3f417f5ca 100644
--- a/tools/libs/foreignmemory/Makefile
+++ b/tools/libs/foreignmemory/Makefile
@@ -11,4 +11,6 @@ SRCS-$(CONFIG_SunOS)   +=3D compat.c solaris.c
 SRCS-$(CONFIG_NetBSD)  +=3D netbsd.c
 SRCS-$(CONFIG_MiniOS)  +=3D minios.c
=20
+CFLAGS   +=3D -D__XEN_TOOLS__
+
 include $(XEN_ROOT)/tools/libs/libs.mk
diff --git a/tools/libs/foreignmemory/core.c b/tools/libs/foreignmemory/c=
ore.c
index 7edc6f0dbf..ad1ad9fc67 100644
--- a/tools/libs/foreignmemory/core.c
+++ b/tools/libs/foreignmemory/core.c
@@ -202,7 +202,7 @@ int xenforeignmemory_resource_size(
     if ( rc )
         return rc;
=20
-    *size =3D fres.nr_frames << XC_PAGE_SHIFT;
+    *size =3D fres.nr_frames << XEN_PAGE_SHIFT;
     return 0;
 }
=20
diff --git a/tools/libs/foreignmemory/freebsd.c b/tools/libs/foreignmemor=
y/freebsd.c
index 2cf0fa1c38..9439c4ca6a 100644
--- a/tools/libs/foreignmemory/freebsd.c
+++ b/tools/libs/foreignmemory/freebsd.c
@@ -63,7 +63,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_handl=
e *fmem,
     privcmd_mmapbatch_t ioctlx;
     int rc;
=20
-    addr =3D mmap(addr, num << XC_PAGE_SHIFT, prot, flags | MAP_SHARED, =
fd, 0);
+    addr =3D mmap(addr, num << XEN_PAGE_SHIFT, prot, flags | MAP_SHARED,=
 fd, 0);
     if ( addr =3D=3D MAP_FAILED )
         return NULL;
=20
@@ -78,7 +78,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_handl=
e *fmem,
     {
         int saved_errno =3D errno;
=20
-        (void)munmap(addr, num << XC_PAGE_SHIFT);
+        (void)munmap(addr, num << XEN_PAGE_SHIFT);
         errno =3D saved_errno;
         return NULL;
     }
@@ -89,7 +89,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_handl=
e *fmem,
 int osdep_xenforeignmemory_unmap(xenforeignmemory_handle *fmem,
                                  void *addr, size_t num)
 {
-    return munmap(addr, num << XC_PAGE_SHIFT);
+    return munmap(addr, num << XEN_PAGE_SHIFT);
 }
=20
 int osdep_xenforeignmemory_restrict(xenforeignmemory_handle *fmem,
@@ -101,7 +101,7 @@ int osdep_xenforeignmemory_restrict(xenforeignmemory_=
handle *fmem,
 int osdep_xenforeignmemory_unmap_resource(xenforeignmemory_handle *fmem,
                                         xenforeignmemory_resource_handle=
 *fres)
 {
-    return fres ? munmap(fres->addr, fres->nr_frames << XC_PAGE_SHIFT) :=
 0;
+    return fres ? munmap(fres->addr, fres->nr_frames << XEN_PAGE_SHIFT) =
: 0;
 }
=20
 int osdep_xenforeignmemory_map_resource(xenforeignmemory_handle *fmem,
@@ -120,7 +120,7 @@ int osdep_xenforeignmemory_map_resource(xenforeignmem=
ory_handle *fmem,
         /* Request for resource size.  Skip mmap(). */
         goto skip_mmap;
=20
-    fres->addr =3D mmap(fres->addr, fres->nr_frames << XC_PAGE_SHIFT,
+    fres->addr =3D mmap(fres->addr, fres->nr_frames << XEN_PAGE_SHIFT,
                       fres->prot, fres->flags | MAP_SHARED, fmem->fd, 0)=
;
     if ( fres->addr =3D=3D MAP_FAILED )
         return -1;
diff --git a/tools/libs/foreignmemory/linux.c b/tools/libs/foreignmemory/=
linux.c
index 9062117407..9dabf28cae 100644
--- a/tools/libs/foreignmemory/linux.c
+++ b/tools/libs/foreignmemory/linux.c
@@ -134,7 +134,7 @@ static int retry_paged(int fd, uint32_t dom, void *ad=
dr,
         /* At least one gfn is still in paging state */
         ioctlx.num =3D 1;
         ioctlx.dom =3D dom;
-        ioctlx.addr =3D (unsigned long)addr + (i<<XC_PAGE_SHIFT);
+        ioctlx.addr =3D (unsigned long)addr + (i<<XEN_PAGE_SHIFT);
         ioctlx.arr =3D arr + i;
         ioctlx.err =3D err + i;
=20
@@ -168,7 +168,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_han=
dle *fmem,
     size_t i;
     int rc;
=20
-    addr =3D mmap(addr, num << XC_PAGE_SHIFT, prot, flags | MAP_SHARED,
+    addr =3D mmap(addr, num << XEN_PAGE_SHIFT, prot, flags | MAP_SHARED,
                 fd, 0);
     if ( addr =3D=3D MAP_FAILED )
         return NULL;
@@ -198,7 +198,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_han=
dle *fmem,
          */
         privcmd_mmapbatch_t ioctlx;
         xen_pfn_t *pfn;
-        unsigned int pfn_arr_size =3D ROUNDUP((num * sizeof(*pfn)), XC_P=
AGE_SHIFT);
+        unsigned int pfn_arr_size =3D ROUNDUP((num * sizeof(*pfn)), XEN_=
PAGE_SHIFT);
         int os_page_size =3D sysconf(_SC_PAGESIZE);
=20
         if ( pfn_arr_size <=3D os_page_size )
@@ -210,7 +210,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_han=
dle *fmem,
             if ( pfn =3D=3D MAP_FAILED )
             {
                 PERROR("mmap of pfn array failed");
-                (void)munmap(addr, num << XC_PAGE_SHIFT);
+                (void)munmap(addr, num << XEN_PAGE_SHIFT);
                 return NULL;
             }
         }
@@ -243,7 +243,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_han=
dle *fmem,
                     continue;
                 }
                 rc =3D map_foreign_batch_single(fd, dom, pfn + i,
-                        (unsigned long)addr + (i<<XC_PAGE_SHIFT));
+                        (unsigned long)addr + (i<<XEN_PAGE_SHIFT));
                 if ( rc < 0 )
                 {
                     rc =3D -errno;
@@ -271,7 +271,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_han=
dle *fmem,
     {
         int saved_errno =3D errno;
=20
-        (void)munmap(addr, num << XC_PAGE_SHIFT);
+        (void)munmap(addr, num << XEN_PAGE_SHIFT);
         errno =3D saved_errno;
         return NULL;
     }
@@ -282,7 +282,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_han=
dle *fmem,
 int osdep_xenforeignmemory_unmap(xenforeignmemory_handle *fmem,
                                  void *addr, size_t num)
 {
-    return munmap(addr, num << XC_PAGE_SHIFT);
+    return munmap(addr, num << XEN_PAGE_SHIFT);
 }
=20
 int osdep_xenforeignmemory_restrict(xenforeignmemory_handle *fmem,
@@ -294,7 +294,7 @@ int osdep_xenforeignmemory_restrict(xenforeignmemory_=
handle *fmem,
 int osdep_xenforeignmemory_unmap_resource(
     xenforeignmemory_handle *fmem, xenforeignmemory_resource_handle *fre=
s)
 {
-    return fres ? munmap(fres->addr, fres->nr_frames << XC_PAGE_SHIFT) :=
 0;
+    return fres ? munmap(fres->addr, fres->nr_frames << XEN_PAGE_SHIFT) =
: 0;
 }
=20
 int osdep_xenforeignmemory_map_resource(
@@ -313,7 +313,7 @@ int osdep_xenforeignmemory_map_resource(
         /* Request for resource size.  Skip mmap(). */
         goto skip_mmap;
=20
-    fres->addr =3D mmap(fres->addr, fres->nr_frames << XC_PAGE_SHIFT,
+    fres->addr =3D mmap(fres->addr, fres->nr_frames << XEN_PAGE_SHIFT,
                       fres->prot, fres->flags | MAP_SHARED, fmem->fd, 0)=
;
     if ( fres->addr =3D=3D MAP_FAILED )
         return -1;
diff --git a/tools/libs/foreignmemory/minios.c b/tools/libs/foreignmemory=
/minios.c
index f2f4dfb2be..2454eb9af3 100644
--- a/tools/libs/foreignmemory/minios.c
+++ b/tools/libs/foreignmemory/minios.c
@@ -17,14 +17,6 @@
  * Copyright 2007-2008 Samuel Thibault <samuel.thibault@eu.citrix.com>.
  */
=20
-/*
- * xenctrl.h currently defines __XEN_TOOLS__ which affects what is
- * exposed by Xen headers. As the define needs to be set consistently,
- * we want to include xenctrl.h before the mini-os headers (they include
- * public headers).
- */
-#include <xenctrl.h>
-
 #include <mini-os/types.h>
 #include <mini-os/os.h>
 #include <mini-os/mm.h>
@@ -63,7 +55,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_handl=
e *fmem,
 int osdep_xenforeignmemory_unmap(xenforeignmemory_handle *fmem,
                                  void *addr, size_t num)
 {
-    return munmap(addr, num << XC_PAGE_SHIFT);
+    return munmap(addr, num << XEN_PAGE_SHIFT);
 }
=20
 /*
diff --git a/tools/libs/foreignmemory/netbsd.c b/tools/libs/foreignmemory=
/netbsd.c
index 597db775d7..ba69b9c6bb 100644
--- a/tools/libs/foreignmemory/netbsd.c
+++ b/tools/libs/foreignmemory/netbsd.c
@@ -76,7 +76,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_handl=
e *fmem,
 {
     int fd =3D fmem->fd;
     privcmd_mmapbatch_v2_t ioctlx;
-    addr =3D mmap(addr, num * XC_PAGE_SIZE, prot,
+    addr =3D mmap(addr, num * XEN_PAGE_SIZE, prot,
                 flags | MAP_ANON | MAP_SHARED, -1, 0);
     if ( addr =3D=3D MAP_FAILED ) {
         PERROR("osdep_xenforeignmemory_map: mmap failed");
@@ -93,7 +93,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_handl=
e *fmem,
     {
         int saved_errno =3D errno;
         PERROR("osdep_xenforeignmemory_map: ioctl failed");
-        munmap(addr, num * XC_PAGE_SIZE);
+        munmap(addr, num * XEN_PAGE_SIZE);
         errno =3D saved_errno;
         return NULL;
     }
@@ -104,7 +104,7 @@ void *osdep_xenforeignmemory_map(xenforeignmemory_han=
dle *fmem,
 int osdep_xenforeignmemory_unmap(xenforeignmemory_handle *fmem,
                                  void *addr, size_t num)
 {
-    return munmap(addr, num * XC_PAGE_SIZE);
+    return munmap(addr, num * XEN_PAGE_SIZE);
 }
=20
 int osdep_xenforeignmemory_restrict(xenforeignmemory_handle *fmem,
@@ -117,7 +117,7 @@ int osdep_xenforeignmemory_restrict(xenforeignmemory_=
handle *fmem,
 int osdep_xenforeignmemory_unmap_resource(
     xenforeignmemory_handle *fmem, xenforeignmemory_resource_handle *fre=
s)
 {
-    return fres ? munmap(fres->addr, fres->nr_frames << XC_PAGE_SHIFT) :=
 0;
+    return fres ? munmap(fres->addr, fres->nr_frames << XEN_PAGE_SHIFT) =
: 0;
 }
=20
 int osdep_xenforeignmemory_map_resource(
@@ -136,7 +136,7 @@ int osdep_xenforeignmemory_map_resource(
         /* Request for resource size.  Skip mmap(). */
         goto skip_mmap;
=20
-    fres->addr =3D mmap(fres->addr, fres->nr_frames << XC_PAGE_SHIFT,
+    fres->addr =3D mmap(fres->addr, fres->nr_frames << XEN_PAGE_SHIFT,
                       fres->prot, fres->flags | MAP_ANON | MAP_SHARED, -=
1, 0);
     if ( fres->addr =3D=3D MAP_FAILED )
         return -1;
diff --git a/tools/libs/foreignmemory/private.h b/tools/libs/foreignmemor=
y/private.h
index 8540303adc..48df948f90 100644
--- a/tools/libs/foreignmemory/private.h
+++ b/tools/libs/foreignmemory/private.h
@@ -1,7 +1,6 @@
 #ifndef XENFOREIGNMEMORY_PRIVATE_H
 #define XENFOREIGNMEMORY_PRIVATE_H
=20
-#include <xenctrl.h>
 #include <xentoollog.h>
=20
 #include <xenforeignmemory.h>
diff --git a/tools/libs/foreignmemory/solaris.c b/tools/libs/foreignmemor=
y/solaris.c
index 958fb01f6d..4466780bd8 100644
--- a/tools/libs/foreignmemory/solaris.c
+++ b/tools/libs/foreignmemory/solaris.c
@@ -72,7 +72,7 @@ void *osdep_map_foreign_batch(xenforeignmem_handle *fme=
m, uint32_t dom,
 {
     int fd =3D fmem->fd;
     privcmd_mmapbatch_t ioctlx;
-    addr =3D mmap(addr, num*XC_PAGE_SIZE, prot, flags | MAP_SHARED, fd, =
0);
+    addr =3D mmap(addr, num*XEN_PAGE_SIZE, prot, flags | MAP_SHARED, fd,=
 0);
     if ( addr =3D=3D MAP_FAILED )
         return NULL;
=20
@@ -84,7 +84,7 @@ void *osdep_map_foreign_batch(xenforeignmem_handle *fme=
m, uint32_t dom,
     {
         int saved_errno =3D errno;
=20
-        (void)munmap(addr, num*XC_PAGE_SIZE);
+        (void)munmap(addr, num*XEN_PAGE_SIZE);
         errno =3D saved_errno;
         return NULL;
     }
@@ -94,7 +94,7 @@ void *osdep_map_foreign_batch(xenforeignmem_handle *fme=
m, uint32_t dom,
 int osdep_xenforeignmemory_unmap(xenforeignmemory_handle *fmem,
                                  void *addr, size_t num)
 {
-    return munmap(addr, num*XC_PAGE_SIZE);
+    return munmap(addr, num*XEN_PAGE_SIZE);
 }
=20
 /*
--=20
2.20.1



From xen-devel-bounces@lists.xenproject.org Mon Aug 23 17:46:37 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 17:46:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170546.311358 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIE1o-0000Gz-TU; Mon, 23 Aug 2021 17:46:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170546.311358; Mon, 23 Aug 2021 17: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 1mIE1o-0000Gs-Qc; Mon, 23 Aug 2021 17:46:32 +0000
Received: by outflank-mailman (input) for mailman id 170546;
 Mon, 23 Aug 2021 17:46: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 1mIE1n-0000Gi-NO; Mon, 23 Aug 2021 17:46: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 1mIE1n-0008Nm-FU; Mon, 23 Aug 2021 17:46: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 1mIE1n-0004qI-1h; Mon, 23 Aug 2021 17:46:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mIE1n-0001Iq-0v; Mon, 23 Aug 2021 17:46:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=/Uq1sonJw/ZhKwhxVJ4YWG/B4tdl/kSGebeoM8tLFnk=; b=CBJKPDAlW0UCaqu/2ix+RNSg6w
	dQMAmdCEWEK0PHPEq1JudYh+jisfBdvfZ3u/G3aV3Gpsn6awtyTFny6ffSPQfOYzXJVZKPlS4gm1O
	3fw8C/quGbNpzJMca3p8wWGCtu41L+eYF/wJ5dL/giuYdqquWKoUkw5Ajn8/MLxqd+tY=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164324-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 164324: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check: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-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-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-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt: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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=ecf2706e271fa705621f0d5ad9517fe15a22bf22
X-Osstest-Versions-That:
    qemuu=703e8cd6189cf699c8d5c094bc68b5f3afa6ad71
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 23 Aug 2021 17:46:31 +0000

flight 164324 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164324/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164152
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164152
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164152
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164152
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164152
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164152
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164152
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                ecf2706e271fa705621f0d5ad9517fe15a22bf22
baseline version:
 qemuu                703e8cd6189cf699c8d5c094bc68b5f3afa6ad71

Last test of basis   164152  2021-08-10 21:08:02 Z   12 days
Failing since        164194  2021-08-15 10:38:08 Z    8 days    9 attempts
Testing same since   164234  2021-08-18 02:37:17 Z    5 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexander Bulekov <alxndr@bu.edu>
  Andrew Jones <drjones@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  David Hildenbrand <david@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Lara Lazier <laramglazier@gmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@redhat.com>
  Taylor Simpson <tsimpson@quicinc.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                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   703e8cd618..ecf2706e27  ecf2706e271fa705621f0d5ad9517fe15a22bf22 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Mon Aug 23 17:47:08 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 17:47:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170553.311374 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIE2O-0000tw-Ea; Mon, 23 Aug 2021 17:47:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170553.311374; Mon, 23 Aug 2021 17:47:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIE2O-0000tp-8l; Mon, 23 Aug 2021 17:47:08 +0000
Received: by outflank-mailman (input) for mailman id 170553;
 Mon, 23 Aug 2021 17:47: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 1mIE2M-0000te-So
 for xen-devel@lists.xenproject.org; Mon, 23 Aug 2021 17:47: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 1mIE2L-0008OV-VR; Mon, 23 Aug 2021 17:47:05 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mIE2L-0000Ge-L5; Mon, 23 Aug 2021 17:47:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=a2qmqJrGSnaiyThI2dszzxxbGjk28THCh159ETZOwZU=; b=ARd9g3NvtNaIH71ZBCi701isN9
	xv2P441kH8FKb+8BAQE8Hufab+swgjSpgAv/aS2Qi6t+RNMOOkvYiRXmpCiCUGhV4/lw7Acb+Kefv
	W0Y4Yis5kZn10Dyjx2MB/r5msVwtfKRfFUUAGoehPgyPT+vxXHKQMchHbTb2G2MZbIbs=;
Subject: Re: [XEN RFC PATCH 08/40] xen/x86: Move NUMA memory node map
 functions to common
To: Wei Chen <wei.chen@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, jbeulich@suse.com
Cc: Bertrand.Marquis@arm.com
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-9-wei.chen@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <a12849ee-9549-f495-93b5-376f987177ad@xen.org>
Date: Mon, 23 Aug 2021 18:47:03 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210811102423.28908-9-wei.chen@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Wei,

On 11/08/2021 11:23, Wei Chen wrote:
> In the later patches we will add NUMA support to Arm. Arm
> NUMA support will follow current memory node map management
> as x86. So this part of code can be common, in this case,
> we move this part of code from arch/x86 to common.

I would add "No functional changes intended" to make clear this patch is 
only moving code.

> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>   xen/arch/x86/numa.c        | 114 --------------------------------
>   xen/common/Makefile        |   1 +
>   xen/common/numa.c          | 131 +++++++++++++++++++++++++++++++++++++
>   xen/include/asm-x86/numa.h |  29 --------
>   xen/include/xen/numa.h     |  35 ++++++++++
>   5 files changed, 167 insertions(+), 143 deletions(-)
>   create mode 100644 xen/common/numa.c
> 
> diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c
> index d23f4f7919..a6211be121 100644
> --- a/xen/arch/x86/numa.c
> +++ b/xen/arch/x86/numa.c
> @@ -29,14 +29,6 @@ custom_param("numa", numa_setup);
>   /* from proto.h */
>   #define round_up(x,y) ((((x)+(y))-1) & (~((y)-1)))
>   
> -struct node_data node_data[MAX_NUMNODES];
> -
> -/* Mapping from pdx to node id */
> -int memnode_shift;
> -static typeof(*memnodemap) _memnodemap[64];
> -unsigned long memnodemapsize;
> -u8 *memnodemap;
> -
>   nodeid_t cpu_to_node[NR_CPUS] __read_mostly = {
>       [0 ... NR_CPUS-1] = NUMA_NO_NODE
>   };
> @@ -58,112 +50,6 @@ int srat_disabled(void)
>       return numa_off || acpi_numa < 0;
>   }
>   
> -/*
> - * Given a shift value, try to populate memnodemap[]
> - * Returns :
> - * 1 if OK
> - * 0 if memnodmap[] too small (of shift too small)
> - * -1 if node overlap or lost ram (shift too big)
> - */
> -static int __init populate_memnodemap(const struct node *nodes,
> -                                      int numnodes, int shift, nodeid_t *nodeids)
> -{
> -    unsigned long spdx, epdx;
> -    int i, res = -1;
> -
> -    memset(memnodemap, NUMA_NO_NODE, memnodemapsize * sizeof(*memnodemap));
> -    for ( i = 0; i < numnodes; i++ )
> -    {
> -        spdx = paddr_to_pdx(nodes[i].start);
> -        epdx = paddr_to_pdx(nodes[i].end - 1) + 1;
> -        if ( spdx >= epdx )
> -            continue;
> -        if ( (epdx >> shift) >= memnodemapsize )
> -            return 0;
> -        do {
> -            if ( memnodemap[spdx >> shift] != NUMA_NO_NODE )
> -                return -1;
> -
> -            if ( !nodeids )
> -                memnodemap[spdx >> shift] = i;
> -            else
> -                memnodemap[spdx >> shift] = nodeids[i];
> -
> -            spdx += (1UL << shift);
> -        } while ( spdx < epdx );
> -        res = 1;
> -    }
> -
> -    return res;
> -}
> -
> -static int __init allocate_cachealigned_memnodemap(void)
> -{
> -    unsigned long size = PFN_UP(memnodemapsize * sizeof(*memnodemap));
> -    unsigned long mfn = mfn_x(alloc_boot_pages(size, 1));
> -
> -    memnodemap = mfn_to_virt(mfn);
> -    mfn <<= PAGE_SHIFT;
> -    size <<= PAGE_SHIFT;
> -    printk(KERN_DEBUG "NUMA: Allocated memnodemap from %lx - %lx\n",
> -           mfn, mfn + size);
> -    memnodemapsize = size / sizeof(*memnodemap);
> -
> -    return 0;
> -}
> -
> -/*
> - * The LSB of all start and end addresses in the node map is the value of the
> - * maximum possible shift.
> - */
> -static int __init extract_lsb_from_nodes(const struct node *nodes,
> -                                         int numnodes)
> -{
> -    int i, nodes_used = 0;
> -    unsigned long spdx, epdx;
> -    unsigned long bitfield = 0, memtop = 0;
> -
> -    for ( i = 0; i < numnodes; i++ )
> -    {
> -        spdx = paddr_to_pdx(nodes[i].start);
> -        epdx = paddr_to_pdx(nodes[i].end - 1) + 1;
> -        if ( spdx >= epdx )
> -            continue;
> -        bitfield |= spdx;
> -        nodes_used++;
> -        if ( epdx > memtop )
> -            memtop = epdx;
> -    }
> -    if ( nodes_used <= 1 )
> -        i = BITS_PER_LONG - 1;
> -    else
> -        i = find_first_bit(&bitfield, sizeof(unsigned long)*8);
> -    memnodemapsize = (memtop >> i) + 1;
> -    return i;
> -}
> -
> -int __init compute_hash_shift(struct node *nodes, int numnodes,
> -                              nodeid_t *nodeids)
> -{
> -    int shift;
> -
> -    shift = extract_lsb_from_nodes(nodes, numnodes);
> -    if ( memnodemapsize <= ARRAY_SIZE(_memnodemap) )
> -        memnodemap = _memnodemap;
> -    else if ( allocate_cachealigned_memnodemap() )
> -        return -1;
> -    printk(KERN_DEBUG "NUMA: Using %d for the hash shift.\n", shift);
> -
> -    if ( populate_memnodemap(nodes, numnodes, shift, nodeids) != 1 )
> -    {
> -        printk(KERN_INFO "Your memory is not aligned you need to "
> -               "rebuild your hypervisor with a bigger NODEMAPSIZE "
> -               "shift=%d\n", shift);
> -        return -1;
> -    }
> -
> -    return shift;
> -}
>   /* initialize NODE_DATA given nodeid and start/end */
>   void __init setup_node_bootmem(nodeid_t nodeid, u64 start, u64 end)
>   {
> diff --git a/xen/common/Makefile b/xen/common/Makefile
> index 54de70d422..f8f667e90a 100644
> --- a/xen/common/Makefile
> +++ b/xen/common/Makefile
> @@ -54,6 +54,7 @@ obj-y += wait.o
>   obj-bin-y += warning.init.o
>   obj-$(CONFIG_XENOPROF) += xenoprof.o
>   obj-y += xmalloc_tlsf.o
> +obj-$(CONFIG_NUMA) += numa.o

AFAICT, the Makefile is listing the file in alphabetical order. So 
please add numa.o in the correct position.

>   
>   obj-bin-$(CONFIG_X86) += $(foreach n,decompress bunzip2 unxz unlzma lzo unlzo unlz4 unzstd earlycpio,$(n).init.o)
>   
> diff --git a/xen/common/numa.c b/xen/common/numa.c
> new file mode 100644
> index 0000000000..e65b6a6676
> --- /dev/null
> +++ b/xen/common/numa.c
> @@ -0,0 +1,131 @@
> +/*
> + * Generic VM initialization for x86-64 NUMA setups.
> + * Copyright 2002,2003 Andi Kleen, SuSE Labs.
> + * Adapted for Xen: Ryan Harper <ryanh@us.ibm.com>
> + */
> +
> +#include <xen/mm.h>
> +#include <xen/string.h>
> +#include <xen/init.h>
> +#include <xen/ctype.h>

You don't seem to use any helpers./types directly defined by at least 
this header...

> +#include <xen/nodemask.h>
> +#include <xen/numa.h>
> +#include <xen/time.h>

... this one and ...

> +#include <xen/smp.h>

... this one. Can you check the list of headers and introduce the 
minimum? If the dependency is required by another headers, then I think 
that dependency should be moved in the header requiring it.

> +#include <xen/pfn.h>
> +#include <xen/sched.h>

Please sort the includes in alphabetical order.

> +
> +struct node_data node_data[MAX_NUMNODES];
> +
> +/* Mapping from pdx to node id */
> +int memnode_shift;
> +typeof(*memnodemap) _memnodemap[64];
> +unsigned long memnodemapsize;
> +u8 *memnodemap;
> +
> +/*
> + * Given a shift value, try to populate memnodemap[]
> + * Returns :
> + * 1 if OK
> + * 0 if memnodmap[] too small (of shift too small)
> + * -1 if node overlap or lost ram (shift too big)
> + */
> +static int __init populate_memnodemap(const struct node *nodes,
> +                                      int numnodes, int shift, nodeid_t *nodeids)
> +{
> +    unsigned long spdx, epdx;
> +    int i, res = -1;
> +
> +    memset(memnodemap, NUMA_NO_NODE, memnodemapsize * sizeof(*memnodemap));
> +    for ( i = 0; i < numnodes; i++ )
> +    {
> +        spdx = paddr_to_pdx(nodes[i].start);
> +        epdx = paddr_to_pdx(nodes[i].end - 1) + 1;
> +        if ( spdx >= epdx )
> +            continue;
> +        if ( (epdx >> shift) >= memnodemapsize )
> +            return 0;
> +        do {
> +            if ( memnodemap[spdx >> shift] != NUMA_NO_NODE )
> +                return -1;
> +
> +            if ( !nodeids )
> +                memnodemap[spdx >> shift] = i;
> +            else
> +                memnodemap[spdx >> shift] = nodeids[i];
> +
> +            spdx += (1UL << shift);
> +        } while ( spdx < epdx );
> +        res = 1;
> +    }
> +
> +    return res;
> +}
> +
> +static int __init allocate_cachealigned_memnodemap(void)
> +{
> +    unsigned long size = PFN_UP(memnodemapsize * sizeof(*memnodemap));
> +    unsigned long mfn = mfn_x(alloc_boot_pages(size, 1));
> +
> +    memnodemap = mfn_to_virt(mfn);
> +    mfn <<= PAGE_SHIFT;
> +    size <<= PAGE_SHIFT;
> +    printk(KERN_DEBUG "NUMA: Allocated memnodemap from %lx - %lx\n",
> +           mfn, mfn + size);
> +    memnodemapsize = size / sizeof(*memnodemap);
> +
> +    return 0;
> +}
> +
> +/*
> + * The LSB of all start and end addresses in the node map is the value of the
> + * maximum possible shift.
> + */
> +static int __init extract_lsb_from_nodes(const struct node *nodes,
> +                                         int numnodes)
> +{
> +    int i, nodes_used = 0;
> +    unsigned long spdx, epdx;
> +    unsigned long bitfield = 0, memtop = 0;
> +
> +    for ( i = 0; i < numnodes; i++ )
> +    {
> +        spdx = paddr_to_pdx(nodes[i].start);
> +        epdx = paddr_to_pdx(nodes[i].end - 1) + 1;
> +        if ( spdx >= epdx )
> +            continue;
> +        bitfield |= spdx;
> +        nodes_used++;
> +        if ( epdx > memtop )
> +            memtop = epdx;
> +    }
> +    if ( nodes_used <= 1 )
> +        i = BITS_PER_LONG - 1;
> +    else
> +        i = find_first_bit(&bitfield, sizeof(unsigned long)*8);
> +    memnodemapsize = (memtop >> i) + 1;
> +    return i;
> +}
> +
> +int __init compute_hash_shift(struct node *nodes, int numnodes,
> +                              nodeid_t *nodeids)
> +{
> +    int shift;
> +
> +    shift = extract_lsb_from_nodes(nodes, numnodes);
> +    if ( memnodemapsize <= ARRAY_SIZE(_memnodemap) )
> +        memnodemap = _memnodemap;
> +    else if ( allocate_cachealigned_memnodemap() )
> +        return -1;
> +    printk(KERN_DEBUG "NUMA: Using %d for the hash shift.\n", shift);
> +
> +    if ( populate_memnodemap(nodes, numnodes, shift, nodeids) != 1 )
> +    {
> +        printk(KERN_INFO "Your memory is not aligned you need to "
> +               "rebuild your hypervisor with a bigger NODEMAPSIZE "
> +               "shift=%d\n", shift);
> +        return -1;
> +    }
> +
> +    return shift;
> +}
> diff --git a/xen/include/asm-x86/numa.h b/xen/include/asm-x86/numa.h
> index bada2c0bb9..abe5617d01 100644
> --- a/xen/include/asm-x86/numa.h
> +++ b/xen/include/asm-x86/numa.h
> @@ -26,7 +26,6 @@ extern int compute_hash_shift(struct node *nodes, int numnodes,
>   extern nodeid_t pxm_to_node(unsigned int pxm);
>   
>   #define ZONE_ALIGN (1UL << (MAX_ORDER+PAGE_SHIFT))
> -#define VIRTUAL_BUG_ON(x)
>   
>   extern void numa_add_cpu(int cpu);
>   extern void numa_init_array(void);
> @@ -47,34 +46,6 @@ static inline void clear_node_cpumask(int cpu)
>   	cpumask_clear_cpu(cpu, &node_to_cpumask[cpu_to_node(cpu)]);
>   }
>   
> -/* Simple perfect hash to map pdx to node numbers */
> -extern int memnode_shift;
> -extern unsigned long memnodemapsize;
> -extern u8 *memnodemap;
> -
> -struct node_data {
> -    unsigned long node_start_pfn;
> -    unsigned long node_spanned_pages;
> -};
> -
> -extern struct node_data node_data[];
> -
> -static inline __attribute__((pure)) nodeid_t phys_to_nid(paddr_t addr)
> -{
> -	nodeid_t nid;
> -	VIRTUAL_BUG_ON((paddr_to_pdx(addr) >> memnode_shift) >= memnodemapsize);
> -	nid = memnodemap[paddr_to_pdx(addr) >> memnode_shift];
> -	VIRTUAL_BUG_ON(nid >= MAX_NUMNODES || !node_data[nid]);
> -	return nid;
> -}
> -
> -#define NODE_DATA(nid)		(&(node_data[nid]))
> -
> -#define node_start_pfn(nid)	(NODE_DATA(nid)->node_start_pfn)
> -#define node_spanned_pages(nid)	(NODE_DATA(nid)->node_spanned_pages)
> -#define node_end_pfn(nid)       (NODE_DATA(nid)->node_start_pfn + \
> -				 NODE_DATA(nid)->node_spanned_pages)
> -
>   extern int valid_numa_range(u64 start, u64 end, nodeid_t node);
>   
>   void srat_parse_regions(u64 addr);
> diff --git a/xen/include/xen/numa.h b/xen/include/xen/numa.h
> index 7aef1a88dc..39e8a4e00a 100644
> --- a/xen/include/xen/numa.h
> +++ b/xen/include/xen/numa.h
> @@ -18,4 +18,39 @@
>     (((d)->vcpu != NULL && (d)->vcpu[0] != NULL) \
>      ? vcpu_to_node((d)->vcpu[0]) : NUMA_NO_NODE)
>   
> +/* The following content can be used when NUMA feature is enabled */
> +#if defined(CONFIG_NUMA)

Please use #ifdef CONFIG_NUMA

> +
> +/* Simple perfect hash to map pdx to node numbers */
> +extern int memnode_shift;
> +extern unsigned long memnodemapsize;
> +extern u8 *memnodemap;
> +extern typeof(*memnodemap) _memnodemap[64];

AFAICT, this will be turned static against in a follow-up patch. Can 
this be avoided?

> +
> +struct node_data {
> +    unsigned long node_start_pfn;
> +    unsigned long node_spanned_pages;
> +};
> +
> +extern struct node_data node_data[];
> +#define VIRTUAL_BUG_ON(x)
> +
> +static inline __attribute__((pure)) nodeid_t phys_to_nid(paddr_t addr)
> +{
> +	nodeid_t nid;
> +	VIRTUAL_BUG_ON((paddr_to_pdx(addr) >> memnode_shift) >= memnodemapsize);
> +	nid = memnodemap[paddr_to_pdx(addr) >> memnode_shift];
> +	VIRTUAL_BUG_ON(nid >= MAX_NUMNODES || !node_data[nid]);
> +	return nid;
> +}
> +
> +#define NODE_DATA(nid)		(&(node_data[nid]))
> +
> +#define node_start_pfn(nid)	(NODE_DATA(nid)->node_start_pfn)
> +#define node_spanned_pages(nid)	(NODE_DATA(nid)->node_spanned_pages)
> +#define node_end_pfn(nid)       (NODE_DATA(nid)->node_start_pfn + \
> +				 NODE_DATA(nid)->node_spanned_pages)
> +
> +#endif /* CONFIG_NUMA */
> +
>   #endif /* _XEN_NUMA_H */
> 

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 23 17:53:12 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 17:53:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170562.311383 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIE8B-0002SD-1a; Mon, 23 Aug 2021 17:53:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170562.311383; Mon, 23 Aug 2021 17:53:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIE8A-0002S6-Us; Mon, 23 Aug 2021 17:53:06 +0000
Received: by outflank-mailman (input) for mailman id 170562;
 Mon, 23 Aug 2021 17:53:06 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=0Yzi=NO=gmail.com=scottwd@srs-us1.protection.inumbo.net>)
 id 1mIE8A-0002S0-7d
 for xen-devel@lists.xenproject.org; Mon, 23 Aug 2021 17:53:06 +0000
Received: from mail-ed1-x532.google.com (unknown [2a00:1450:4864:20::532])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 69215f32-e037-488b-8a4f-c296706e673e;
 Mon, 23 Aug 2021 17:53:04 +0000 (UTC)
Received: by mail-ed1-x532.google.com with SMTP id cn28so27442717edb.6
 for <xen-devel@lists.xenproject.org>; Mon, 23 Aug 2021 10:53: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: 69215f32-e037-488b-8a4f-c296706e673e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc;
        bh=ZvMwkb+36TfrfpAI3Yg8Ts4UzSPrqDR905z3KcDc3ak=;
        b=ZtJ9TllUHdX7z2LHmldUj3zro8VFUh1BBYNeR66x6lYx/ckPMYTfX04b5BMqFmN+Id
         bJTB4idCFj54jqqMOKgJgMBASBe1iVu3HDEPFU1y0ZZeeaE467utbKrwEnoLHm99dH/w
         swPm+MmaoD+IgwPOnFsVnTxlBaqvTaVB4872YwJYQlWfsLxX6ciE9CXWUcca1UCoGiwg
         m4qsxbTxESc+2HzlvajCRoR5DBES2nE9Ek4VxXNueVTe4cLFu/I+mwepB5wqnctP9nz8
         PCDHrskF2QkQvGjE63SFtZCvaxG7xo33N5xNpxGHKyGcxkWhdTFOmWEJuJvzEVpD2Ha/
         V0yw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=ZvMwkb+36TfrfpAI3Yg8Ts4UzSPrqDR905z3KcDc3ak=;
        b=iZMskkVcdEg9wb/p+p8v4qIkfIGm+UbaqBZPjlob7LyNQOkvYK+TMjQfizkAeT/DR9
         ItI65nv7ZvOp/Pl5reiCf5qUTnra3E0gNQmiWOpMtl5l75+f3AZlJfKVjasnfX18Xx0u
         5wcMSs619JSgXSrT2iERNSP6PhZ3+6AMJw3q1kAz6h6cRy9UuhOczes2aEpAQvV072CZ
         VDCZTWjAqHZRRiHuoHohdjPHAXZCzPIABWWlqkKXKodph4vgkqGTllpB9WW6JIEw9NBg
         SKKw5PFCrUTwBA8OpIErj8KKvT7Ji8pgD0phlRt4rDD2qCoOUs0UqLsoDdWzijtHG9YS
         q0Lw==
X-Gm-Message-State: AOAM532baxzWEAAVv+uNhKcX6w6ltCDBQ1m8uznRwwFMockB6SH5d5Hw
	tl3eyj6mjfF6i7yj9+QdE4GD3NwJNpI1M54puD0=
X-Google-Smtp-Source: ABdhPJwxhbt6fQnLXCdSRjM4WDL6Rq4VJmBX7RZ80erJ9Erc21mo5voBJPcysx2x0EMpZJv4YFgfdcn79VwxXUm0BsM=
X-Received: by 2002:a05:6402:205:: with SMTP id t5mr14694441edv.81.1629741183542;
 Mon, 23 Aug 2021 10:53:03 -0700 (PDT)
MIME-Version: 1.0
References: <edb72ed62c7c1154d5ed282e57e1750b6d79fa15.1627672412.git.scott.davis@starlab.io>
 <CAKf6xpuAzbz-PP-k3oNGo-3_iXWhjBF=nm4zdDb16UqB8ov_Og@mail.gmail.com>
In-Reply-To: <CAKf6xpuAzbz-PP-k3oNGo-3_iXWhjBF=nm4zdDb16UqB8ov_Og@mail.gmail.com>
From: Scott Davis <scottwd@gmail.com>
Date: Mon, 23 Aug 2021 13:52:52 -0400
Message-ID: <CAHi-UFLV0fGgBZLGzvs_PtPcYRanGiCQRZpYhGP=nZz22V1BDA@mail.gmail.com>
Subject: Re: [PATCH v2] tools/xl: Add device_model_stubdomain_init_seclabel
 option to xl.cfg
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>, Scott Davis <scott.davis@starlab.io>, 
	Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>, 
	George Dunlap <george.dunlap@citrix.com>, Nick Rosbrook <rosbrookn@ainfosec.com>, 
	Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, 
	Daniel De Graaf <dgdegra@tycho.nsa.gov>, "Daniel P . Smith" <dpsmith@apertussolutions.com>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	Andrew Cooper <andrew.cooper3@citrix.com>
Content-Type: text/plain; charset="UTF-8"

Thanks for the review, Jason!

On Tue, Aug 17, 2021 at 9:15 PM Jason Andryuk <jandryuk@gmail.com> wrote:
>> The implementation mirrors that of the 'seclabel' and 'init_seclabel'
>> options for user domains. When all used in concert, this enables the
>
> Drop all -> "When used in concert"?

Ack for v3.

>> - changed all security label lookup failures due to FLASK being disabled
>>   from warnings to hard errors based on mailing list discussion
>
> I think this should be a separate patch before this one, since it is
> distinct from adding device_model_stubdomain_init_seclabel.

Ack for v3.

>> - added discussion of relabel point to commit message
>
> I was hoping for more people's thoughts on this. I'm just going to
> write down my thoughts on this to get them out there.
>
> The non-stubdom case is very straightforward:
> <-init-><-relabel-><-unpause-><-exec->
>
> Relabeling before unpause is a nice delineation point. Since the
> guest hasn't run, it can't be mid-operation when the relabel happens.
>
> The stubdom case as implemented by the patch is this:
> Guest:
> <---------init------------->|<-relabel-><-unpause-><-exec->
> Stubdom:                    |
> <-init--><-unpause-><-exec->|<-relabel-><-exec->
>
> Here the stubdom runs for some time and then gets relabeled.
>
> The alternative would be to relabel the stubdom before unpause and
> then relabel the guest:
> Guest:
> <----------init---------------------->|<-relabel-><-unpause-><-exec->
> Stubdom:                              |
> <-init-><-relabel-><-unpause-><-exec--|--exec->
>
> Here relabel then unpause is maintained for both guest and stubdom.
>
> Relabeling the *running* stubdom gives me pause. We don't have any
> synchronization with the stubdom's & QEMU's state. QEMU wrote
> "running" to indicate it was up, but that doesn't say anything about
> the rest of the kernel. From the other side, the stubdom and QEMU
> running and having the guest label change could be surprising.
>
> Scott, you are using this, so I may be imagining concerns that don't
> exist. And you did mention your approach gives the PCI assignment
> only to the stubdom init label, which could be a nice feature. It's
> just the lack of clear delineation for the stubdom that makes me
> wonder about it.
>
> Having said that, for your approach, I think the code looks good.

As you said, there are advantages to both approaches. Relabeling the
stubdom before its launch would eliminate potential race conditions
between stubdom init and the run-time relabeling, which could cause
sporadic failures in any init steps that can fail to complete before
the relabel. On the other hand, waiting to relabel allows any
(dom0 -> stubdom) privileges that are required only for stubdom init,
particularly device passthrough setup, to be dropped from the run-time
label. (stubdom/dom0 -> domU) privileges are of less concern, since
they can be dropped by relabeling of the guest regardless.

At this point I can neither rule out synchronization issues with the late
relabeling approach nor quantify the benefits, as the policy I've been
using to verify this is fairly maximal in terms of run-time privileges.
I do intend to spend some time experimenting and shrinking it down in
the near future, though. Before that experimentation, I'll add a second
stubdom relabel point just before the stubdom is unpaused, along with a
config boolean to select which relabel point is used. That should allow
me to determine how much security benefit we'd be getting from the
later relabeling, and may be how things should go in upstream so that
users have a choice of approach.

In the meantime, input from any other devs is certainly welcome.

Good day,
    Scott


From xen-devel-bounces@lists.xenproject.org Mon Aug 23 17:54:28 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 17:54:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170568.311394 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIE9T-000325-Cv; Mon, 23 Aug 2021 17:54:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170568.311394; Mon, 23 Aug 2021 17:54: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 1mIE9T-00031y-9z; Mon, 23 Aug 2021 17:54:27 +0000
Received: by outflank-mailman (input) for mailman id 170568;
 Mon, 23 Aug 2021 17:54: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 1mIE9S-00031q-CW
 for xen-devel@lists.xenproject.org; Mon, 23 Aug 2021 17:54: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 1mIE9R-0008VD-HE; Mon, 23 Aug 2021 17:54:25 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mIE9R-0000qX-B4; Mon, 23 Aug 2021 17:54: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:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=O06dRWBbO4b6yN+EtUVjNvTlsNpspPTofeRcxSNCFWE=; b=fc0Xe8ZPEmNLazj6z0c1VmlDDR
	PbpBVv5ig7umNK7LGelOAR5rTzr2XrrBO4hY/UsgU65s+94Np/o+CsmMWF41DNLrqgg8eqV50J7nE
	3s37mUEZjmNHPJ5czhCibMyIOX88SXjWyNrCfLZ+6cUZrSazDjPy2qephQshDOPZTyy8=;
Subject: Re: [XEN RFC PATCH 09/40] xen/x86: Move numa_add_cpu_node to common
To: Wei Chen <wei.chen@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, jbeulich@suse.com
Cc: Bertrand.Marquis@arm.com
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-10-wei.chen@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <b867041b-0b36-c197-a54a-28cb58075c94@xen.org>
Date: Mon, 23 Aug 2021 18:54:23 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210811102423.28908-10-wei.chen@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Wei,

On 11/08/2021 11:23, Wei Chen wrote:
> This function will be reused by Arm later, so we move it
> from arch/x86 to common. But we keep cpu_to_node and
> node_to_cpumask to x86 header file. Because cpu_to_node and
> node_to_cpumask have different implementation for x86 and Arm.
> We will move them to common header file when we change the Arm
> implementation in later patches.

AFAICT, the Arm helpers are gated by !CONFIG_NUMA and the ones in common 
code will be gated by CONFIG_NUMA. So I am not quite too understand why 
they can't be moved now. Can you clarify it?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Aug 23 17:58:07 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Aug 2021 17:58:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170576.311405 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIECz-0003ii-UB; Mon, 23 Aug 2021 17:58:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170576.311405; Mon, 23 Aug 2021 17: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 1mIECz-0003ib-RG; Mon, 23 Aug 2021 17:58:05 +0000
Received: by outflank-mailman (input) for mailman id 170576;
 Mon, 23 Aug 2021 17:58:04 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mIECy-0003iV-4m
 for xen-devel@lists.xenproject.org; Mon, 23 Aug 2021 17:58:04 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mIECx-00008a-0B; Mon, 23 Aug 2021 17:58:03 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mIECw-0001Iv-Qk; Mon, 23 Aug 2021 17:58: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:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=T2JSAkKBRQcUO/gzCOf9uwToE5IrSjXAfVOU2gEqTA0=; b=nXBbn1+yQkjIXdBE/HOVmqcxgb
	1oRxajxCpwV1G50Rhv4/6Pv6oblLDdPQD9jmpLIcFtkQ/zgwRvLKFsr9LghXSN9LGTuqFq5U0pFDw
	NPShPfM7hApvQ0EcDxYbh0PiLuFExpEpcsPQQkW4Opo0iE/01oXsdfBA4bamkGVfg0l8=;
Subject: Re: [XEN RFC PATCH 10/40] xen/x86: Move NR_NODE_MEMBLKS macro to
 common
To: Wei Chen <wei.chen@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, jbeulich@suse.com
Cc: Bertrand.Marquis@arm.com
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-11-wei.chen@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <286592b5-ea2f-f77d-14f7-b85411e3d7f7@xen.org>
Date: Mon, 23 Aug 2021 18:58:01 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210811102423.28908-11-wei.chen@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Wei,

On 11/08/2021 11:23, Wei Chen wrote:
> Not only x86 ACPI need this macro. Device tree based NUMA
> also needs this macro to present max memory block number.
AFAICT, a memory range described in DT cannot be split across multiple 
nodes. So I think we want to define NR_NODE_MEMBLKS as NR_MEM_BANKS.

> So we move it from x86 ACPI header file to common NUMA
> header file.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>   xen/include/asm-x86/acpi.h | 1 -
>   xen/include/xen/numa.h     | 1 +
>   2 files changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/include/asm-x86/acpi.h b/xen/include/asm-x86/acpi.h
> index 7032f3a001..d347500a3c 100644
> --- a/xen/include/asm-x86/acpi.h
> +++ b/xen/include/asm-x86/acpi.h
> @@ -103,7 +103,6 @@ extern unsigned long acpi_wakeup_address;
>   
>   extern s8 acpi_numa;
>   extern int acpi_scan_nodes(u64 start, u64 end);
> -#define NR_NODE_MEMBLKS (MAX_NUMNODES*2)
>   
>   extern struct acpi_sleep_info acpi_sinfo;
>   #define acpi_video_flags bootsym(video_flags)
> diff --git a/xen/include/xen/numa.h b/xen/include/xen/numa.h
> index f9769cba4b..5af74b357f 100644
> --- a/xen/include/xen/numa.h
> +++ b/xen/include/xen/numa.h
> @@ -11,6 +11,7 @@
>   #define NUMA_NO_DISTANCE 0xFF
>   
>   #define MAX_NUMNODES    (1 << NODES_SHIFT)
> +#define NR_NODE_MEMBLKS (MAX_NUMNODES*2)
>   
>   #define vcpu_to_node(v) (cpu_to_node((v)->processor))
>   
> 

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 24 04:08:04 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 04:08:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170628.311453 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mINiw-0000p5-2p; Tue, 24 Aug 2021 04:07:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170628.311453; Tue, 24 Aug 2021 04:07: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 1mINiv-0000oh-Qr; Tue, 24 Aug 2021 04:07:41 +0000
Received: by outflank-mailman (input) for mailman id 170628;
 Tue, 24 Aug 2021 04:07:40 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uHFs=NP=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mINiu-0000ob-Cb
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 04:07:40 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com (unknown
 [40.107.6.63]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 72a26086-f8c1-4245-954e-4bb9a7659a8c;
 Tue, 24 Aug 2021 04:07:36 +0000 (UTC)
Received: from AM6PR04CA0072.eurprd04.prod.outlook.com (2603:10a6:20b:f0::49)
 by VI1PR08MB2686.eurprd08.prod.outlook.com (2603:10a6:802:18::29)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Tue, 24 Aug
 2021 04:07:33 +0000
Received: from AM5EUR03FT038.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:f0:cafe::b6) by AM6PR04CA0072.outlook.office365.com
 (2603:10a6:20b:f0::49) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Tue, 24 Aug 2021 04:07:33 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT038.mail.protection.outlook.com (10.152.17.118) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Tue, 24 Aug 2021 04:07:32 +0000
Received: ("Tessian outbound f11f34576ce3:v103");
 Tue, 24 Aug 2021 04:07:32 +0000
Received: from 261c13fe238f.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 AA9F02A7-7261-4F8A-87F8-8D1794E99ACB.1; 
 Tue, 24 Aug 2021 04:07:22 +0000
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 261c13fe238f.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 24 Aug 2021 04:07:22 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DBBPR08MB6060.eurprd08.prod.outlook.com (2603:10a6:10:20a::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.21; Tue, 24 Aug
 2021 04:07:20 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.024; Tue, 24 Aug 2021
 04: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: 72a26086-f8c1-4245-954e-4bb9a7659a8c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QayhYDrE9aE/Cr+MhhTWEQQA9VBWjywp4l8p1vWoSKQ=;
 b=ojCHxAGdo+iyfrGnhCxk+r4xAqW8MZQh5ogasxacdoqJtzzu51GL92wYiwcE/TQL3w3bP7AD378b+BHjdG8IsPVYuhoXHTfFAqjDanMIGPqmI3rUn0Fu1M4A3GMs5ceU1an1IcIpyM9LsZiBZcyBW5mNhwSE0ULJ6MQhSjQYBxA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=V2zIPiT5iPJxoO7+Fb2zI0NLyjKnYIVpWyBNlXYQqLLstoP4FSgRs+4UPsF8m6aCAsnE0Ni5lOie1d7qj3dDhokgSIbEUc9sD9uYr0EcpGBu/gXj2BQlDBVsCYBv5yBuEHeSQ//21u3+a7k7E4CHocZlf+sdbdBmLjY0Yp2LPjq0osp35rXdQWM77sQNIKcXSMojhYgD3PUBFgm89I/z3dDE5A6g68SONw/ZKgcdXHCEF80ndciuy7hgcPW6A9mTfcEL+ecxVRvXtRjkUTmDfm/MCVzkYjb15nOmtf/IneOCyWiwkAuxVJut5WMJ0dJaw6aXws6qnV6pZ0xsnxTftg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QayhYDrE9aE/Cr+MhhTWEQQA9VBWjywp4l8p1vWoSKQ=;
 b=ZWLRxzoTKJ4JGDkywd1GwGfDRC71PvvW57TU3T+VA+aZzEsggjhjusZziNzuqECnUkpaKL4rrQMLbyd1heISEN4RkhzCSNZW7ufxFOyZzD0H/u0WHX3oBbGMXrAuq1CJE8dMZUfljKbCXvDq3HroZZ2P5w4ji0mIYMESqiaIoIjN44/ELFpr4VNODSdFNzQ3suT136c+uRr2fnTXJ8ioh5zqdUnRlrDFzMf+HIFjZKesy+Q6MtvaNE8e+7leqwIPZEpEcqBILV5QBv41pLHzVaZ3akviEwFUwh52M+vRxrCIbLnAK/2hvjGUeJJRmbwipJtdT/w0WuR/CRRmr8PFHw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QayhYDrE9aE/Cr+MhhTWEQQA9VBWjywp4l8p1vWoSKQ=;
 b=ojCHxAGdo+iyfrGnhCxk+r4xAqW8MZQh5ogasxacdoqJtzzu51GL92wYiwcE/TQL3w3bP7AD378b+BHjdG8IsPVYuhoXHTfFAqjDanMIGPqmI3rUn0Fu1M4A3GMs5ceU1an1IcIpyM9LsZiBZcyBW5mNhwSE0ULJ6MQhSjQYBxA=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>, "jbeulich@suse.com" <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 08/40] xen/x86: Move NUMA memory node map
 functions to common
Thread-Topic: [XEN RFC PATCH 08/40] xen/x86: Move NUMA memory node map
 functions to common
Thread-Index: AQHXjpsxBGls5NwFnkiq4w4yl3t8HKuBcIyAgACsofA=
Date: Tue, 24 Aug 2021 04:07:20 +0000
Message-ID:
 <DB9PR08MB6857F31BE7977B31FE9A5C029EC59@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-9-wei.chen@arm.com>
 <a12849ee-9549-f495-93b5-376f987177ad@xen.org>
In-Reply-To: <a12849ee-9549-f495-93b5-376f987177ad@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 410B4D0E8FD22E42BD78F290AF165100.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 147c0884-402c-41fc-b3eb-08d966b4b2d4
x-ms-traffictypediagnostic: DBBPR08MB6060:|VI1PR08MB2686:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR08MB268616EFDD0100024C92D7CE9EC59@VI1PR08MB2686.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:9508;OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 htyiGxYtMVFwyF5n7CrqbKmbH4zvdsRczC9YJg+28HQ6AfKXRfw5hHOpgmgNOv+9Iq+J4M92I8kPDF/Zr6pWxCYOhstgcudDkDGuZbSYO1KdStJRmO+/npQvgbt9KZC5jL0xgttaWMkNPozaljCoVPiqfjYvnnz+uAbboFPFFMc5GzbBJZrn64MIY6LLrF9Z2VIhJWPCHDYXslIqp8Quu/ezoL3+ZRQJ1ObWefX68wrlgTs4395QPkw87rL+M+vfG8em5usmH6FKbCgPOAvm+PK25zN5FW4b6ksjRLIKikonK869o8uMBgLK6WPkbkJ08rUN9v6i/+tmiAlRM3/9NPbtu5NpVFRcJiA/TYOWTvYEpn7r3lgVl8k2jMZv/26gwO+G/flgpTlDwEHPVe5BbVyeiPaag+3orU9czfZE6Iw7QbVuCVDe/xpOzZJaVuST24XK+OD6kDjKysCWHdIvvY5gRpPjU6ff0s02tD+6ziTEOqUAKw3KG8Mb4QpxmrPNFLDvETr3ORaQaRj5IH2jyImL1/eLNPsSq5k9ZV6MitwkbC8q28tOv78Y7C0b2M1p22Za5fPEHAJ3BKVk1/CRqopspvw77lOtq7TgGwAe8ybOOiSv9hN+lO75oFuNgh0YwzplwPM7II6fRsI7KcRbeBwbgSzIssPjTVvDyHkfI+dh9MII9jXgiO40dSQOwrQD7cO33dQyuCCkw/U0VDKpwg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(39860400002)(346002)(376002)(136003)(396003)(366004)(7696005)(26005)(76116006)(9686003)(110136005)(86362001)(6506007)(478600001)(52536014)(33656002)(83380400001)(4326008)(316002)(64756008)(122000001)(66946007)(66446008)(53546011)(38070700005)(71200400001)(66476007)(38100700002)(66556008)(8676002)(8936002)(2906002)(30864003)(5660300002)(186003)(55016002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?MFpGSFF4OXNlNnVjN2M2MndpNkJ4RDZ1OTlNaXl2cUFKYzMwVGtSWkY4dWpQ?=
 =?utf-8?B?TFE3SEVENzFtTFlNSEhJcjdibzJ6c0dOWWViZVY1cithcmZQUWlzLzF4bzRx?=
 =?utf-8?B?YWNuL0ZqZGZmMGZOdVBJS2pBTVRoNHJWYnNUWFROVC8ySzhJY0RRQkZwNzBh?=
 =?utf-8?B?Um1Tdm5jaG1XSWNFa0FyVXBISEY0QVU4L0duckMvT2trNUVqUnVjQ3g3Wmo4?=
 =?utf-8?B?OVVOeWwwdnQ5SXhnUDRvcDJvOUVYTWRueEZjTFI3TjU2Um1OZk8zb2tkQTdE?=
 =?utf-8?B?Rnp1aUgrQWozV1RNSytHd1NkeUpialBzVElDdXFBcitscHlLVVIzQnE0Zktn?=
 =?utf-8?B?WEZERlBCSWkzWENRQmpERWFsVVhadEkrUkZIVFlKdVZ6SitzUS9FeEc5TE14?=
 =?utf-8?B?R1BMNDNvU283VWg1SXppYkU0NTQzVm1PcUozcGNqVHVXU3VSTkc1RGY5WEh1?=
 =?utf-8?B?ZDVkTW0yb1pIL2tYbU82eDkydVBhV01BQldDSSsvRnltN1hPZEJLN2djeFNZ?=
 =?utf-8?B?cTBtdzcwMzh6TldSYnpGTzY1cFFCK0lSb3JWSDMrTEh6WFRGbUFNRWRKbitm?=
 =?utf-8?B?ejRtYkRpb1hlSnRNTk0zMWdYbWw0dzUxM3l2MXJlZFB3VWREQUJDYTRURyt0?=
 =?utf-8?B?YnJ6QkdkeVMzRFVwdUtMeTk5bFJVc2Z4RW4wcnlwcm0wcEhBbUl3ZVBsc3Ro?=
 =?utf-8?B?QU9QNHl1Y0h0bDJHZktRSzRSUlZLajF3RW96dzYrNXEyUTZhMCs1QUh6eXB1?=
 =?utf-8?B?ZEI1U1FobVJpM2Qwc200cWUvMmUwVndXaTE3RHVOMVhXWHRJYTREbkxlMytp?=
 =?utf-8?B?eTY2YVl2aUtSdVNlSTZRcEJxOTVMcmc0UWhpUEwwVlcrWWlobjRVSS9zaWZv?=
 =?utf-8?B?OTBCaysvT1ozVGxpUVQrRWxrTEFnK3Q2bWJ2Mko5cUhiQlVTV2o5aXN6eDVF?=
 =?utf-8?B?d0ZkV09nWmJXM3YzYko2VFg0TXd1Wk5PdWlFNEFPVkNrNldlVkxiZHlaWDVU?=
 =?utf-8?B?SytaN1c4c3grV2pGeStRb2VObDNoWjF2UDFrQm4rbUFOSHZvVlluakxFQ0lw?=
 =?utf-8?B?WkxnT3IrdWVTWGVHM2h2cW05YnlpR0l4TzIxNVJ6TWJhVUs5VThMSG5NT3Ja?=
 =?utf-8?B?NEZpSjJGTnE3eC83RlB0T2VqR2FwbjlxTCtraDdOYWFCcWRqeSt3a0FxZXNT?=
 =?utf-8?B?cmVPRmNBL0t3M2JLMmhCUXRoeDRJSkpsUFFkV0dqK1Vya0EwY1BEVHlvVEhI?=
 =?utf-8?B?NjJNTE8zcTdkWHV0QXE1YnFEUEZERUgxV1J6OG1Wa3lnSlBMTWJoTXBtaVFR?=
 =?utf-8?B?UERrVnpjSDQxUnRoYWtjZm5LTk5kQ3VYNmxRd1k0VCt3TjkxUmNJRW1vQjRB?=
 =?utf-8?B?Z0JoM1Q0M0cwQ2xnOVRoZWhoakJuT0k5SXNiWVpQdWhsSExwSDdla29TcGJZ?=
 =?utf-8?B?WnlYTUxWMmpDVi9HKzJmSU9vbFhaUHZTanZ2REJJeW00Q05OeC80M2JvREU5?=
 =?utf-8?B?ZG9WY2t6NHBtNzBrOHVRTXpMeWJid3BOS3l3dHc0b1hMQnY0T0g0dUdUeEh1?=
 =?utf-8?B?RjN4NmxIaFJBVjNFeU8wQ1RsMkdMVVAzSDRLeGN1OWJzRC9Kd1JweFluY0g0?=
 =?utf-8?B?QTJqZmMrZDNZRG1ORGQzTDZWTXc2RlhOTHVjYW5tdE4rOXgwT3YvSjFkMEc0?=
 =?utf-8?B?LzhOTzNHcm9aRDYvUlR1eGp5dWU1eHMvT2lUTmI1WnpUUGRURmFLTmNYcld2?=
 =?utf-8?Q?cJXA43/NuhcAY8QTztI6ivB3NCDBsrErY5ww7VP?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB6060
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT038.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	2452c171-af80-4031-2960-08d966b4ab60
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xSSeXf+5cc421Mh9gJlQj25Xgga97olQd5VZgFyeHfb6G6w7f+lksjbAaLdWb9aAfqa7PbaTzCI+nV2ZlGwb6hv1LqWqwYLqwxlv1tEmuOFPu3t3nBPbI76kjpkTZUKtTK/l3ql2/N0JAa4gBsb+jdnRSxRF/CqT0qPA84glLfhSl5Dqm0bqPoVdjUNY4tGSOJkG+f/K2daECQeLOxO3PRYbJNg74oUNWX5AqQjD5rf7A/ZT/JPNWI1sCVgm8BPDJQgZLB7b+ntZp1HuT6+Ol4AAfcihjDJ574z8fs6qM4KLkPkXM51mQ2JLnqBfC37sSSjj9kUU0zhmOa8mdIW9z/OKatzXgEKWjIaQ2aGIQFYDnpKKvGkaJQ5PNSacal5/EilEgBFba1euapeXYJcGiT5SCDkZlyO8BaUl3OsLZoiTVxKa8WtXJ6ZfRmqIrrDErkEAkWWWHhQ1msHH4lYNaRMksMngG3QKicmMV3ESy3t4nvpn7KA9PDjdozQLebovBcjYU71EA6Lu402NsJzNhBD1lygXY3RiMY09T3/GGeRhSYJJuN3IyMZ6RaeVehu8408prZ7rNwPpMA6reAkZGXKT7ww7VeoLrMNrGEpg8NxoJeAEl/roMMxMwV2M/KGuUzypWjjZJGE9AFR0UDJWqFhv/0UPAORgWAA+SGAhRshkETXxLmnLfi8gXcSXlZGdKjf8+NBRZ2n7YLy5L1kuEQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(136003)(346002)(39860400002)(376002)(396003)(36840700001)(46966006)(83380400001)(336012)(82310400003)(70586007)(186003)(36860700001)(6506007)(70206006)(4326008)(7696005)(110136005)(316002)(478600001)(8936002)(5660300002)(81166007)(26005)(52536014)(30864003)(9686003)(47076005)(8676002)(55016002)(356005)(33656002)(82740400003)(53546011)(2906002)(86362001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 04:07:32.9306
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 147c0884-402c-41fc-b3eb-08d966b4b2d4
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT038.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB2686

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMjTml6UgMTo0Nw0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+OyB4ZW4tZGV2ZWxAbGlzdHMueGVucHJv
amVjdC5vcmc7DQo+IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc7IGpiZXVsaWNoQHN1c2UuY29tDQo+
IENjOiBCZXJ0cmFuZCBNYXJxdWlzIDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+DQo+IFN1Ympl
Y3Q6IFJlOiBbWEVOIFJGQyBQQVRDSCAwOC80MF0geGVuL3g4NjogTW92ZSBOVU1BIG1lbW9yeSBu
b2RlIG1hcA0KPiBmdW5jdGlvbnMgdG8gY29tbW9uDQo+IA0KPiBIaSBXZWksDQo+IA0KPiBPbiAx
MS8wOC8yMDIxIDExOjIzLCBXZWkgQ2hlbiB3cm90ZToNCj4gPiBJbiB0aGUgbGF0ZXIgcGF0Y2hl
cyB3ZSB3aWxsIGFkZCBOVU1BIHN1cHBvcnQgdG8gQXJtLiBBcm0NCj4gPiBOVU1BIHN1cHBvcnQg
d2lsbCBmb2xsb3cgY3VycmVudCBtZW1vcnkgbm9kZSBtYXAgbWFuYWdlbWVudA0KPiA+IGFzIHg4
Ni4gU28gdGhpcyBwYXJ0IG9mIGNvZGUgY2FuIGJlIGNvbW1vbiwgaW4gdGhpcyBjYXNlLA0KPiA+
IHdlIG1vdmUgdGhpcyBwYXJ0IG9mIGNvZGUgZnJvbSBhcmNoL3g4NiB0byBjb21tb24uDQo+IA0K
PiBJIHdvdWxkIGFkZCAiTm8gZnVuY3Rpb25hbCBjaGFuZ2VzIGludGVuZGVkIiB0byBtYWtlIGNs
ZWFyIHRoaXMgcGF0Y2ggaXMNCj4gb25seSBtb3ZpbmcgY29kZS4NCg0KT2ssIEkgd2lsbCBkbyBp
dC4NCg0KPiANCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IFdlaSBDaGVuIDx3ZWkuY2hlbkBhcm0u
Y29tPg0KPiA+IC0tLQ0KPiA+ICAgeGVuL2FyY2gveDg2L251bWEuYyAgICAgICAgfCAxMTQgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiAgIHhlbi9jb21tb24vTWFrZWZpbGUg
ICAgICAgIHwgICAxICsNCj4gPiAgIHhlbi9jb21tb24vbnVtYS5jICAgICAgICAgIHwgMTMxICsr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gPiAgIHhlbi9pbmNsdWRlL2Fz
bS14ODYvbnVtYS5oIHwgIDI5IC0tLS0tLS0tDQo+ID4gICB4ZW4vaW5jbHVkZS94ZW4vbnVtYS5o
ICAgICB8ICAzNSArKysrKysrKysrDQo+ID4gICA1IGZpbGVzIGNoYW5nZWQsIDE2NyBpbnNlcnRp
b25zKCspLCAxNDMgZGVsZXRpb25zKC0pDQo+ID4gICBjcmVhdGUgbW9kZSAxMDA2NDQgeGVuL2Nv
bW1vbi9udW1hLmMNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbnVtYS5jIGIv
eGVuL2FyY2gveDg2L251bWEuYw0KPiA+IGluZGV4IGQyM2Y0Zjc5MTkuLmE2MjExYmUxMjEgMTAw
NjQ0DQo+ID4gLS0tIGEveGVuL2FyY2gveDg2L251bWEuYw0KPiA+ICsrKyBiL3hlbi9hcmNoL3g4
Ni9udW1hLmMNCj4gPiBAQCAtMjksMTQgKzI5LDYgQEAgY3VzdG9tX3BhcmFtKCJudW1hIiwgbnVt
YV9zZXR1cCk7DQo+ID4gICAvKiBmcm9tIHByb3RvLmggKi8NCj4gPiAgICNkZWZpbmUgcm91bmRf
dXAoeCx5KSAoKCgoeCkrKHkpKS0xKSAmICh+KCh5KS0xKSkpDQo+ID4NCj4gPiAtc3RydWN0IG5v
ZGVfZGF0YSBub2RlX2RhdGFbTUFYX05VTU5PREVTXTsNCj4gPiAtDQo+ID4gLS8qIE1hcHBpbmcg
ZnJvbSBwZHggdG8gbm9kZSBpZCAqLw0KPiA+IC1pbnQgbWVtbm9kZV9zaGlmdDsNCj4gPiAtc3Rh
dGljIHR5cGVvZigqbWVtbm9kZW1hcCkgX21lbW5vZGVtYXBbNjRdOw0KPiA+IC11bnNpZ25lZCBs
b25nIG1lbW5vZGVtYXBzaXplOw0KPiA+IC11OCAqbWVtbm9kZW1hcDsNCj4gPiAtDQo+ID4gICBu
b2RlaWRfdCBjcHVfdG9fbm9kZVtOUl9DUFVTXSBfX3JlYWRfbW9zdGx5ID0gew0KPiA+ICAgICAg
IFswIC4uLiBOUl9DUFVTLTFdID0gTlVNQV9OT19OT0RFDQo+ID4gICB9Ow0KPiA+IEBAIC01OCwx
MTIgKzUwLDYgQEAgaW50IHNyYXRfZGlzYWJsZWQodm9pZCkNCj4gPiAgICAgICByZXR1cm4gbnVt
YV9vZmYgfHwgYWNwaV9udW1hIDwgMDsNCj4gPiAgIH0NCj4gPg0KPiA+IC0vKg0KPiA+IC0gKiBH
aXZlbiBhIHNoaWZ0IHZhbHVlLCB0cnkgdG8gcG9wdWxhdGUgbWVtbm9kZW1hcFtdDQo+ID4gLSAq
IFJldHVybnMgOg0KPiA+IC0gKiAxIGlmIE9LDQo+ID4gLSAqIDAgaWYgbWVtbm9kbWFwW10gdG9v
IHNtYWxsIChvZiBzaGlmdCB0b28gc21hbGwpDQo+ID4gLSAqIC0xIGlmIG5vZGUgb3ZlcmxhcCBv
ciBsb3N0IHJhbSAoc2hpZnQgdG9vIGJpZykNCj4gPiAtICovDQo+ID4gLXN0YXRpYyBpbnQgX19p
bml0IHBvcHVsYXRlX21lbW5vZGVtYXAoY29uc3Qgc3RydWN0IG5vZGUgKm5vZGVzLA0KPiA+IC0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBudW1ub2RlcywgaW50IHNo
aWZ0LCBub2RlaWRfdA0KPiAqbm9kZWlkcykNCj4gPiAtew0KPiA+IC0gICAgdW5zaWduZWQgbG9u
ZyBzcGR4LCBlcGR4Ow0KPiA+IC0gICAgaW50IGksIHJlcyA9IC0xOw0KPiA+IC0NCj4gPiAtICAg
IG1lbXNldChtZW1ub2RlbWFwLCBOVU1BX05PX05PREUsIG1lbW5vZGVtYXBzaXplICoNCj4gc2l6
ZW9mKCptZW1ub2RlbWFwKSk7DQo+ID4gLSAgICBmb3IgKCBpID0gMDsgaSA8IG51bW5vZGVzOyBp
KysgKQ0KPiA+IC0gICAgew0KPiA+IC0gICAgICAgIHNwZHggPSBwYWRkcl90b19wZHgobm9kZXNb
aV0uc3RhcnQpOw0KPiA+IC0gICAgICAgIGVwZHggPSBwYWRkcl90b19wZHgobm9kZXNbaV0uZW5k
IC0gMSkgKyAxOw0KPiA+IC0gICAgICAgIGlmICggc3BkeCA+PSBlcGR4ICkNCj4gPiAtICAgICAg
ICAgICAgY29udGludWU7DQo+ID4gLSAgICAgICAgaWYgKCAoZXBkeCA+PiBzaGlmdCkgPj0gbWVt
bm9kZW1hcHNpemUgKQ0KPiA+IC0gICAgICAgICAgICByZXR1cm4gMDsNCj4gPiAtICAgICAgICBk
byB7DQo+ID4gLSAgICAgICAgICAgIGlmICggbWVtbm9kZW1hcFtzcGR4ID4+IHNoaWZ0XSAhPSBO
VU1BX05PX05PREUgKQ0KPiA+IC0gICAgICAgICAgICAgICAgcmV0dXJuIC0xOw0KPiA+IC0NCj4g
PiAtICAgICAgICAgICAgaWYgKCAhbm9kZWlkcyApDQo+ID4gLSAgICAgICAgICAgICAgICBtZW1u
b2RlbWFwW3NwZHggPj4gc2hpZnRdID0gaTsNCj4gPiAtICAgICAgICAgICAgZWxzZQ0KPiA+IC0g
ICAgICAgICAgICAgICAgbWVtbm9kZW1hcFtzcGR4ID4+IHNoaWZ0XSA9IG5vZGVpZHNbaV07DQo+
ID4gLQ0KPiA+IC0gICAgICAgICAgICBzcGR4ICs9ICgxVUwgPDwgc2hpZnQpOw0KPiA+IC0gICAg
ICAgIH0gd2hpbGUgKCBzcGR4IDwgZXBkeCApOw0KPiA+IC0gICAgICAgIHJlcyA9IDE7DQo+ID4g
LSAgICB9DQo+ID4gLQ0KPiA+IC0gICAgcmV0dXJuIHJlczsNCj4gPiAtfQ0KPiA+IC0NCj4gPiAt
c3RhdGljIGludCBfX2luaXQgYWxsb2NhdGVfY2FjaGVhbGlnbmVkX21lbW5vZGVtYXAodm9pZCkN
Cj4gPiAtew0KPiA+IC0gICAgdW5zaWduZWQgbG9uZyBzaXplID0gUEZOX1VQKG1lbW5vZGVtYXBz
aXplICogc2l6ZW9mKCptZW1ub2RlbWFwKSk7DQo+ID4gLSAgICB1bnNpZ25lZCBsb25nIG1mbiA9
IG1mbl94KGFsbG9jX2Jvb3RfcGFnZXMoc2l6ZSwgMSkpOw0KPiA+IC0NCj4gPiAtICAgIG1lbW5v
ZGVtYXAgPSBtZm5fdG9fdmlydChtZm4pOw0KPiA+IC0gICAgbWZuIDw8PSBQQUdFX1NISUZUOw0K
PiA+IC0gICAgc2l6ZSA8PD0gUEFHRV9TSElGVDsNCj4gPiAtICAgIHByaW50ayhLRVJOX0RFQlVH
ICJOVU1BOiBBbGxvY2F0ZWQgbWVtbm9kZW1hcCBmcm9tICVseCAtICVseFxuIiwNCj4gPiAtICAg
ICAgICAgICBtZm4sIG1mbiArIHNpemUpOw0KPiA+IC0gICAgbWVtbm9kZW1hcHNpemUgPSBzaXpl
IC8gc2l6ZW9mKCptZW1ub2RlbWFwKTsNCj4gPiAtDQo+ID4gLSAgICByZXR1cm4gMDsNCj4gPiAt
fQ0KPiA+IC0NCj4gPiAtLyoNCj4gPiAtICogVGhlIExTQiBvZiBhbGwgc3RhcnQgYW5kIGVuZCBh
ZGRyZXNzZXMgaW4gdGhlIG5vZGUgbWFwIGlzIHRoZSB2YWx1ZQ0KPiBvZiB0aGUNCj4gPiAtICog
bWF4aW11bSBwb3NzaWJsZSBzaGlmdC4NCj4gPiAtICovDQo+ID4gLXN0YXRpYyBpbnQgX19pbml0
IGV4dHJhY3RfbHNiX2Zyb21fbm9kZXMoY29uc3Qgc3RydWN0IG5vZGUgKm5vZGVzLA0KPiA+IC0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBudW1ub2RlcykNCj4g
PiAtew0KPiA+IC0gICAgaW50IGksIG5vZGVzX3VzZWQgPSAwOw0KPiA+IC0gICAgdW5zaWduZWQg
bG9uZyBzcGR4LCBlcGR4Ow0KPiA+IC0gICAgdW5zaWduZWQgbG9uZyBiaXRmaWVsZCA9IDAsIG1l
bXRvcCA9IDA7DQo+ID4gLQ0KPiA+IC0gICAgZm9yICggaSA9IDA7IGkgPCBudW1ub2RlczsgaSsr
ICkNCj4gPiAtICAgIHsNCj4gPiAtICAgICAgICBzcGR4ID0gcGFkZHJfdG9fcGR4KG5vZGVzW2ld
LnN0YXJ0KTsNCj4gPiAtICAgICAgICBlcGR4ID0gcGFkZHJfdG9fcGR4KG5vZGVzW2ldLmVuZCAt
IDEpICsgMTsNCj4gPiAtICAgICAgICBpZiAoIHNwZHggPj0gZXBkeCApDQo+ID4gLSAgICAgICAg
ICAgIGNvbnRpbnVlOw0KPiA+IC0gICAgICAgIGJpdGZpZWxkIHw9IHNwZHg7DQo+ID4gLSAgICAg
ICAgbm9kZXNfdXNlZCsrOw0KPiA+IC0gICAgICAgIGlmICggZXBkeCA+IG1lbXRvcCApDQo+ID4g
LSAgICAgICAgICAgIG1lbXRvcCA9IGVwZHg7DQo+ID4gLSAgICB9DQo+ID4gLSAgICBpZiAoIG5v
ZGVzX3VzZWQgPD0gMSApDQo+ID4gLSAgICAgICAgaSA9IEJJVFNfUEVSX0xPTkcgLSAxOw0KPiA+
IC0gICAgZWxzZQ0KPiA+IC0gICAgICAgIGkgPSBmaW5kX2ZpcnN0X2JpdCgmYml0ZmllbGQsIHNp
emVvZih1bnNpZ25lZCBsb25nKSo4KTsNCj4gPiAtICAgIG1lbW5vZGVtYXBzaXplID0gKG1lbXRv
cCA+PiBpKSArIDE7DQo+ID4gLSAgICByZXR1cm4gaTsNCj4gPiAtfQ0KPiA+IC0NCj4gPiAtaW50
IF9faW5pdCBjb21wdXRlX2hhc2hfc2hpZnQoc3RydWN0IG5vZGUgKm5vZGVzLCBpbnQgbnVtbm9k
ZXMsDQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVpZF90ICpub2RlaWRz
KQ0KPiA+IC17DQo+ID4gLSAgICBpbnQgc2hpZnQ7DQo+ID4gLQ0KPiA+IC0gICAgc2hpZnQgPSBl
eHRyYWN0X2xzYl9mcm9tX25vZGVzKG5vZGVzLCBudW1ub2Rlcyk7DQo+ID4gLSAgICBpZiAoIG1l
bW5vZGVtYXBzaXplIDw9IEFSUkFZX1NJWkUoX21lbW5vZGVtYXApICkNCj4gPiAtICAgICAgICBt
ZW1ub2RlbWFwID0gX21lbW5vZGVtYXA7DQo+ID4gLSAgICBlbHNlIGlmICggYWxsb2NhdGVfY2Fj
aGVhbGlnbmVkX21lbW5vZGVtYXAoKSApDQo+ID4gLSAgICAgICAgcmV0dXJuIC0xOw0KPiA+IC0g
ICAgcHJpbnRrKEtFUk5fREVCVUcgIk5VTUE6IFVzaW5nICVkIGZvciB0aGUgaGFzaCBzaGlmdC5c
biIsIHNoaWZ0KTsNCj4gPiAtDQo+ID4gLSAgICBpZiAoIHBvcHVsYXRlX21lbW5vZGVtYXAobm9k
ZXMsIG51bW5vZGVzLCBzaGlmdCwgbm9kZWlkcykgIT0gMSApDQo+ID4gLSAgICB7DQo+ID4gLSAg
ICAgICAgcHJpbnRrKEtFUk5fSU5GTyAiWW91ciBtZW1vcnkgaXMgbm90IGFsaWduZWQgeW91IG5l
ZWQgdG8gIg0KPiA+IC0gICAgICAgICAgICAgICAicmVidWlsZCB5b3VyIGh5cGVydmlzb3Igd2l0
aCBhIGJpZ2dlciBOT0RFTUFQU0laRSAiDQo+ID4gLSAgICAgICAgICAgICAgICJzaGlmdD0lZFxu
Iiwgc2hpZnQpOw0KPiA+IC0gICAgICAgIHJldHVybiAtMTsNCj4gPiAtICAgIH0NCj4gPiAtDQo+
ID4gLSAgICByZXR1cm4gc2hpZnQ7DQo+ID4gLX0NCj4gPiAgIC8qIGluaXRpYWxpemUgTk9ERV9E
QVRBIGdpdmVuIG5vZGVpZCBhbmQgc3RhcnQvZW5kICovDQo+ID4gICB2b2lkIF9faW5pdCBzZXR1
cF9ub2RlX2Jvb3RtZW0obm9kZWlkX3Qgbm9kZWlkLCB1NjQgc3RhcnQsIHU2NCBlbmQpDQo+ID4g
ICB7DQo+ID4gZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vTWFrZWZpbGUgYi94ZW4vY29tbW9uL01h
a2VmaWxlDQo+ID4gaW5kZXggNTRkZTcwZDQyMi4uZjhmNjY3ZTkwYSAxMDA2NDQNCj4gPiAtLS0g
YS94ZW4vY29tbW9uL01ha2VmaWxlDQo+ID4gKysrIGIveGVuL2NvbW1vbi9NYWtlZmlsZQ0KPiA+
IEBAIC01NCw2ICs1NCw3IEBAIG9iai15ICs9IHdhaXQubw0KPiA+ICAgb2JqLWJpbi15ICs9IHdh
cm5pbmcuaW5pdC5vDQo+ID4gICBvYmotJChDT05GSUdfWEVOT1BST0YpICs9IHhlbm9wcm9mLm8N
Cj4gPiAgIG9iai15ICs9IHhtYWxsb2NfdGxzZi5vDQo+ID4gK29iai0kKENPTkZJR19OVU1BKSAr
PSBudW1hLm8NCj4gDQo+IEFGQUlDVCwgdGhlIE1ha2VmaWxlIGlzIGxpc3RpbmcgdGhlIGZpbGUg
aW4gYWxwaGFiZXRpY2FsIG9yZGVyLiBTbw0KPiBwbGVhc2UgYWRkIG51bWEubyBpbiB0aGUgY29y
cmVjdCBwb3NpdGlvbi4NCj4gDQoNClRoYW5rcyBmb3IgdGhlIHJlbWluZGVyLCBJIHdpbGwgZml4
IGl0Lg0KDQo+ID4NCj4gPiAgIG9iai1iaW4tJChDT05GSUdfWDg2KSArPSAkKGZvcmVhY2ggbixk
ZWNvbXByZXNzIGJ1bnppcDIgdW54eiB1bmx6bWENCj4gbHpvIHVubHpvIHVubHo0IHVuenN0ZCBl
YXJseWNwaW8sJChuKS5pbml0Lm8pDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9u
dW1hLmMgYi94ZW4vY29tbW9uL251bWEuYw0KPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4g
aW5kZXggMDAwMDAwMDAwMC4uZTY1YjZhNjY3Ng0KPiA+IC0tLSAvZGV2L251bGwNCj4gPiArKysg
Yi94ZW4vY29tbW9uL251bWEuYw0KPiA+IEBAIC0wLDAgKzEsMTMxIEBADQo+ID4gKy8qDQo+ID4g
KyAqIEdlbmVyaWMgVk0gaW5pdGlhbGl6YXRpb24gZm9yIHg4Ni02NCBOVU1BIHNldHVwcy4NCj4g
PiArICogQ29weXJpZ2h0IDIwMDIsMjAwMyBBbmRpIEtsZWVuLCBTdVNFIExhYnMuDQo+ID4gKyAq
IEFkYXB0ZWQgZm9yIFhlbjogUnlhbiBIYXJwZXIgPHJ5YW5oQHVzLmlibS5jb20+DQo+ID4gKyAq
Lw0KPiA+ICsNCj4gPiArI2luY2x1ZGUgPHhlbi9tbS5oPg0KPiA+ICsjaW5jbHVkZSA8eGVuL3N0
cmluZy5oPg0KPiA+ICsjaW5jbHVkZSA8eGVuL2luaXQuaD4NCj4gPiArI2luY2x1ZGUgPHhlbi9j
dHlwZS5oPg0KPiANCj4gWW91IGRvbid0IHNlZW0gdG8gdXNlIGFueSBoZWxwZXJzLi90eXBlcyBk
aXJlY3RseSBkZWZpbmVkIGJ5IGF0IGxlYXN0DQo+IHRoaXMgaGVhZGVyLi4uDQo+IA0KPiA+ICsj
aW5jbHVkZSA8eGVuL25vZGVtYXNrLmg+DQo+ID4gKyNpbmNsdWRlIDx4ZW4vbnVtYS5oPg0KPiA+
ICsjaW5jbHVkZSA8eGVuL3RpbWUuaD4NCj4gDQo+IC4uLiB0aGlzIG9uZSBhbmQgLi4uDQo+IA0K
PiA+ICsjaW5jbHVkZSA8eGVuL3NtcC5oPg0KPiANCj4gLi4uIHRoaXMgb25lLiBDYW4geW91IGNo
ZWNrIHRoZSBsaXN0IG9mIGhlYWRlcnMgYW5kIGludHJvZHVjZSB0aGUNCj4gbWluaW11bT8gSWYg
dGhlIGRlcGVuZGVuY3kgaXMgcmVxdWlyZWQgYnkgYW5vdGhlciBoZWFkZXJzLCB0aGVuIEkgdGhp
bmsNCj4gdGhhdCBkZXBlbmRlbmN5IHNob3VsZCBiZSBtb3ZlZCBpbiB0aGUgaGVhZGVyIHJlcXVp
cmluZyBpdC4NCj4gDQoNCkkgd2lsbCBjaGVjayBpdCBpbiBuZXh0IHZlcnNpb24uIElmIGl0IGlz
bid0IG5lZWRlZCwgSSB3aWxsIHJlbW92ZSBpdC4NCg0KPiA+ICsjaW5jbHVkZSA8eGVuL3Bmbi5o
Pg0KPiA+ICsjaW5jbHVkZSA8eGVuL3NjaGVkLmg+DQo+IA0KPiBQbGVhc2Ugc29ydCB0aGUgaW5j
bHVkZXMgaW4gYWxwaGFiZXRpY2FsIG9yZGVyLg0KPiANCg0KT0sNCg0KPiA+ICsNCj4gPiArc3Ry
dWN0IG5vZGVfZGF0YSBub2RlX2RhdGFbTUFYX05VTU5PREVTXTsNCj4gPiArDQo+ID4gKy8qIE1h
cHBpbmcgZnJvbSBwZHggdG8gbm9kZSBpZCAqLw0KPiA+ICtpbnQgbWVtbm9kZV9zaGlmdDsNCj4g
PiArdHlwZW9mKCptZW1ub2RlbWFwKSBfbWVtbm9kZW1hcFs2NF07DQo+ID4gK3Vuc2lnbmVkIGxv
bmcgbWVtbm9kZW1hcHNpemU7DQo+ID4gK3U4ICptZW1ub2RlbWFwOw0KPiA+ICsNCj4gPiArLyoN
Cj4gPiArICogR2l2ZW4gYSBzaGlmdCB2YWx1ZSwgdHJ5IHRvIHBvcHVsYXRlIG1lbW5vZGVtYXBb
XQ0KPiA+ICsgKiBSZXR1cm5zIDoNCj4gPiArICogMSBpZiBPSw0KPiA+ICsgKiAwIGlmIG1lbW5v
ZG1hcFtdIHRvbyBzbWFsbCAob2Ygc2hpZnQgdG9vIHNtYWxsKQ0KPiA+ICsgKiAtMSBpZiBub2Rl
IG92ZXJsYXAgb3IgbG9zdCByYW0gKHNoaWZ0IHRvbyBiaWcpDQo+ID4gKyAqLw0KPiA+ICtzdGF0
aWMgaW50IF9faW5pdCBwb3B1bGF0ZV9tZW1ub2RlbWFwKGNvbnN0IHN0cnVjdCBub2RlICpub2Rl
cywNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbnVtbm9k
ZXMsIGludCBzaGlmdCwgbm9kZWlkX3QNCj4gKm5vZGVpZHMpDQo+ID4gK3sNCj4gPiArICAgIHVu
c2lnbmVkIGxvbmcgc3BkeCwgZXBkeDsNCj4gPiArICAgIGludCBpLCByZXMgPSAtMTsNCj4gPiAr
DQo+ID4gKyAgICBtZW1zZXQobWVtbm9kZW1hcCwgTlVNQV9OT19OT0RFLCBtZW1ub2RlbWFwc2l6
ZSAqDQo+IHNpemVvZigqbWVtbm9kZW1hcCkpOw0KPiA+ICsgICAgZm9yICggaSA9IDA7IGkgPCBu
dW1ub2RlczsgaSsrICkNCj4gPiArICAgIHsNCj4gPiArICAgICAgICBzcGR4ID0gcGFkZHJfdG9f
cGR4KG5vZGVzW2ldLnN0YXJ0KTsNCj4gPiArICAgICAgICBlcGR4ID0gcGFkZHJfdG9fcGR4KG5v
ZGVzW2ldLmVuZCAtIDEpICsgMTsNCj4gPiArICAgICAgICBpZiAoIHNwZHggPj0gZXBkeCApDQo+
ID4gKyAgICAgICAgICAgIGNvbnRpbnVlOw0KPiA+ICsgICAgICAgIGlmICggKGVwZHggPj4gc2hp
ZnQpID49IG1lbW5vZGVtYXBzaXplICkNCj4gPiArICAgICAgICAgICAgcmV0dXJuIDA7DQo+ID4g
KyAgICAgICAgZG8gew0KPiA+ICsgICAgICAgICAgICBpZiAoIG1lbW5vZGVtYXBbc3BkeCA+PiBz
aGlmdF0gIT0gTlVNQV9OT19OT0RFICkNCj4gPiArICAgICAgICAgICAgICAgIHJldHVybiAtMTsN
Cj4gPiArDQo+ID4gKyAgICAgICAgICAgIGlmICggIW5vZGVpZHMgKQ0KPiA+ICsgICAgICAgICAg
ICAgICAgbWVtbm9kZW1hcFtzcGR4ID4+IHNoaWZ0XSA9IGk7DQo+ID4gKyAgICAgICAgICAgIGVs
c2UNCj4gPiArICAgICAgICAgICAgICAgIG1lbW5vZGVtYXBbc3BkeCA+PiBzaGlmdF0gPSBub2Rl
aWRzW2ldOw0KPiA+ICsNCj4gPiArICAgICAgICAgICAgc3BkeCArPSAoMVVMIDw8IHNoaWZ0KTsN
Cj4gPiArICAgICAgICB9IHdoaWxlICggc3BkeCA8IGVwZHggKTsNCj4gPiArICAgICAgICByZXMg
PSAxOw0KPiA+ICsgICAgfQ0KPiA+ICsNCj4gPiArICAgIHJldHVybiByZXM7DQo+ID4gK30NCj4g
PiArDQo+ID4gK3N0YXRpYyBpbnQgX19pbml0IGFsbG9jYXRlX2NhY2hlYWxpZ25lZF9tZW1ub2Rl
bWFwKHZvaWQpDQo+ID4gK3sNCj4gPiArICAgIHVuc2lnbmVkIGxvbmcgc2l6ZSA9IFBGTl9VUCht
ZW1ub2RlbWFwc2l6ZSAqIHNpemVvZigqbWVtbm9kZW1hcCkpOw0KPiA+ICsgICAgdW5zaWduZWQg
bG9uZyBtZm4gPSBtZm5feChhbGxvY19ib290X3BhZ2VzKHNpemUsIDEpKTsNCj4gPiArDQo+ID4g
KyAgICBtZW1ub2RlbWFwID0gbWZuX3RvX3ZpcnQobWZuKTsNCj4gPiArICAgIG1mbiA8PD0gUEFH
RV9TSElGVDsNCj4gPiArICAgIHNpemUgPDw9IFBBR0VfU0hJRlQ7DQo+ID4gKyAgICBwcmludGso
S0VSTl9ERUJVRyAiTlVNQTogQWxsb2NhdGVkIG1lbW5vZGVtYXAgZnJvbSAlbHggLSAlbHhcbiIs
DQo+ID4gKyAgICAgICAgICAgbWZuLCBtZm4gKyBzaXplKTsNCj4gPiArICAgIG1lbW5vZGVtYXBz
aXplID0gc2l6ZSAvIHNpemVvZigqbWVtbm9kZW1hcCk7DQo+ID4gKw0KPiA+ICsgICAgcmV0dXJu
IDA7DQo+ID4gK30NCj4gPiArDQo+ID4gKy8qDQo+ID4gKyAqIFRoZSBMU0Igb2YgYWxsIHN0YXJ0
IGFuZCBlbmQgYWRkcmVzc2VzIGluIHRoZSBub2RlIG1hcCBpcyB0aGUgdmFsdWUNCj4gb2YgdGhl
DQo+ID4gKyAqIG1heGltdW0gcG9zc2libGUgc2hpZnQuDQo+ID4gKyAqLw0KPiA+ICtzdGF0aWMg
aW50IF9faW5pdCBleHRyYWN0X2xzYl9mcm9tX25vZGVzKGNvbnN0IHN0cnVjdCBub2RlICpub2Rl
cywNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbnVt
bm9kZXMpDQo+ID4gK3sNCj4gPiArICAgIGludCBpLCBub2Rlc191c2VkID0gMDsNCj4gPiArICAg
IHVuc2lnbmVkIGxvbmcgc3BkeCwgZXBkeDsNCj4gPiArICAgIHVuc2lnbmVkIGxvbmcgYml0Zmll
bGQgPSAwLCBtZW10b3AgPSAwOw0KPiA+ICsNCj4gPiArICAgIGZvciAoIGkgPSAwOyBpIDwgbnVt
bm9kZXM7IGkrKyApDQo+ID4gKyAgICB7DQo+ID4gKyAgICAgICAgc3BkeCA9IHBhZGRyX3RvX3Bk
eChub2Rlc1tpXS5zdGFydCk7DQo+ID4gKyAgICAgICAgZXBkeCA9IHBhZGRyX3RvX3BkeChub2Rl
c1tpXS5lbmQgLSAxKSArIDE7DQo+ID4gKyAgICAgICAgaWYgKCBzcGR4ID49IGVwZHggKQ0KPiA+
ICsgICAgICAgICAgICBjb250aW51ZTsNCj4gPiArICAgICAgICBiaXRmaWVsZCB8PSBzcGR4Ow0K
PiA+ICsgICAgICAgIG5vZGVzX3VzZWQrKzsNCj4gPiArICAgICAgICBpZiAoIGVwZHggPiBtZW10
b3AgKQ0KPiA+ICsgICAgICAgICAgICBtZW10b3AgPSBlcGR4Ow0KPiA+ICsgICAgfQ0KPiA+ICsg
ICAgaWYgKCBub2Rlc191c2VkIDw9IDEgKQ0KPiA+ICsgICAgICAgIGkgPSBCSVRTX1BFUl9MT05H
IC0gMTsNCj4gPiArICAgIGVsc2UNCj4gPiArICAgICAgICBpID0gZmluZF9maXJzdF9iaXQoJmJp
dGZpZWxkLCBzaXplb2YodW5zaWduZWQgbG9uZykqOCk7DQo+ID4gKyAgICBtZW1ub2RlbWFwc2l6
ZSA9IChtZW10b3AgPj4gaSkgKyAxOw0KPiA+ICsgICAgcmV0dXJuIGk7DQo+ID4gK30NCj4gPiAr
DQo+ID4gK2ludCBfX2luaXQgY29tcHV0ZV9oYXNoX3NoaWZ0KHN0cnVjdCBub2RlICpub2Rlcywg
aW50IG51bW5vZGVzLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlaWRf
dCAqbm9kZWlkcykNCj4gPiArew0KPiA+ICsgICAgaW50IHNoaWZ0Ow0KPiA+ICsNCj4gPiArICAg
IHNoaWZ0ID0gZXh0cmFjdF9sc2JfZnJvbV9ub2Rlcyhub2RlcywgbnVtbm9kZXMpOw0KPiA+ICsg
ICAgaWYgKCBtZW1ub2RlbWFwc2l6ZSA8PSBBUlJBWV9TSVpFKF9tZW1ub2RlbWFwKSApDQo+ID4g
KyAgICAgICAgbWVtbm9kZW1hcCA9IF9tZW1ub2RlbWFwOw0KPiA+ICsgICAgZWxzZSBpZiAoIGFs
bG9jYXRlX2NhY2hlYWxpZ25lZF9tZW1ub2RlbWFwKCkgKQ0KPiA+ICsgICAgICAgIHJldHVybiAt
MTsNCj4gPiArICAgIHByaW50ayhLRVJOX0RFQlVHICJOVU1BOiBVc2luZyAlZCBmb3IgdGhlIGhh
c2ggc2hpZnQuXG4iLCBzaGlmdCk7DQo+ID4gKw0KPiA+ICsgICAgaWYgKCBwb3B1bGF0ZV9tZW1u
b2RlbWFwKG5vZGVzLCBudW1ub2Rlcywgc2hpZnQsIG5vZGVpZHMpICE9IDEgKQ0KPiA+ICsgICAg
ew0KPiA+ICsgICAgICAgIHByaW50ayhLRVJOX0lORk8gIllvdXIgbWVtb3J5IGlzIG5vdCBhbGln
bmVkIHlvdSBuZWVkIHRvICINCj4gPiArICAgICAgICAgICAgICAgInJlYnVpbGQgeW91ciBoeXBl
cnZpc29yIHdpdGggYSBiaWdnZXIgTk9ERU1BUFNJWkUgIg0KPiA+ICsgICAgICAgICAgICAgICAi
c2hpZnQ9JWRcbiIsIHNoaWZ0KTsNCj4gPiArICAgICAgICByZXR1cm4gLTE7DQo+ID4gKyAgICB9
DQo+ID4gKw0KPiA+ICsgICAgcmV0dXJuIHNoaWZ0Ow0KPiA+ICt9DQo+ID4gZGlmZiAtLWdpdCBh
L3hlbi9pbmNsdWRlL2FzbS14ODYvbnVtYS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9udW1hLmgN
Cj4gPiBpbmRleCBiYWRhMmMwYmI5Li5hYmU1NjE3ZDAxIDEwMDY0NA0KPiA+IC0tLSBhL3hlbi9p
bmNsdWRlL2FzbS14ODYvbnVtYS5oDQo+ID4gKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9udW1h
LmgNCj4gPiBAQCAtMjYsNyArMjYsNiBAQCBleHRlcm4gaW50IGNvbXB1dGVfaGFzaF9zaGlmdChz
dHJ1Y3Qgbm9kZSAqbm9kZXMsIGludA0KPiBudW1ub2RlcywNCj4gPiAgIGV4dGVybiBub2RlaWRf
dCBweG1fdG9fbm9kZSh1bnNpZ25lZCBpbnQgcHhtKTsNCj4gPg0KPiA+ICAgI2RlZmluZSBaT05F
X0FMSUdOICgxVUwgPDwgKE1BWF9PUkRFUitQQUdFX1NISUZUKSkNCj4gPiAtI2RlZmluZSBWSVJU
VUFMX0JVR19PTih4KQ0KPiA+DQo+ID4gICBleHRlcm4gdm9pZCBudW1hX2FkZF9jcHUoaW50IGNw
dSk7DQo+ID4gICBleHRlcm4gdm9pZCBudW1hX2luaXRfYXJyYXkodm9pZCk7DQo+ID4gQEAgLTQ3
LDM0ICs0Niw2IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBjbGVhcl9ub2RlX2NwdW1hc2soaW50IGNw
dSkNCj4gPiAgIAljcHVtYXNrX2NsZWFyX2NwdShjcHUsICZub2RlX3RvX2NwdW1hc2tbY3B1X3Rv
X25vZGUoY3B1KV0pOw0KPiA+ICAgfQ0KPiA+DQo+ID4gLS8qIFNpbXBsZSBwZXJmZWN0IGhhc2gg
dG8gbWFwIHBkeCB0byBub2RlIG51bWJlcnMgKi8NCj4gPiAtZXh0ZXJuIGludCBtZW1ub2RlX3No
aWZ0Ow0KPiA+IC1leHRlcm4gdW5zaWduZWQgbG9uZyBtZW1ub2RlbWFwc2l6ZTsNCj4gPiAtZXh0
ZXJuIHU4ICptZW1ub2RlbWFwOw0KPiA+IC0NCj4gPiAtc3RydWN0IG5vZGVfZGF0YSB7DQo+ID4g
LSAgICB1bnNpZ25lZCBsb25nIG5vZGVfc3RhcnRfcGZuOw0KPiA+IC0gICAgdW5zaWduZWQgbG9u
ZyBub2RlX3NwYW5uZWRfcGFnZXM7DQo+ID4gLX07DQo+ID4gLQ0KPiA+IC1leHRlcm4gc3RydWN0
IG5vZGVfZGF0YSBub2RlX2RhdGFbXTsNCj4gPiAtDQo+ID4gLXN0YXRpYyBpbmxpbmUgX19hdHRy
aWJ1dGVfXygocHVyZSkpIG5vZGVpZF90IHBoeXNfdG9fbmlkKHBhZGRyX3QgYWRkcikNCj4gPiAt
ew0KPiA+IC0Jbm9kZWlkX3QgbmlkOw0KPiA+IC0JVklSVFVBTF9CVUdfT04oKHBhZGRyX3RvX3Bk
eChhZGRyKSA+PiBtZW1ub2RlX3NoaWZ0KSA+PQ0KPiBtZW1ub2RlbWFwc2l6ZSk7DQo+ID4gLQlu
aWQgPSBtZW1ub2RlbWFwW3BhZGRyX3RvX3BkeChhZGRyKSA+PiBtZW1ub2RlX3NoaWZ0XTsNCj4g
PiAtCVZJUlRVQUxfQlVHX09OKG5pZCA+PSBNQVhfTlVNTk9ERVMgfHwgIW5vZGVfZGF0YVtuaWRd
KTsNCj4gPiAtCXJldHVybiBuaWQ7DQo+ID4gLX0NCj4gPiAtDQo+ID4gLSNkZWZpbmUgTk9ERV9E
QVRBKG5pZCkJCSgmKG5vZGVfZGF0YVtuaWRdKSkNCj4gPiAtDQo+ID4gLSNkZWZpbmUgbm9kZV9z
dGFydF9wZm4obmlkKQkoTk9ERV9EQVRBKG5pZCktPm5vZGVfc3RhcnRfcGZuKQ0KPiA+IC0jZGVm
aW5lIG5vZGVfc3Bhbm5lZF9wYWdlcyhuaWQpCShOT0RFX0RBVEEobmlkKS0+bm9kZV9zcGFubmVk
X3BhZ2VzKQ0KPiA+IC0jZGVmaW5lIG5vZGVfZW5kX3BmbihuaWQpICAgICAgIChOT0RFX0RBVEEo
bmlkKS0+bm9kZV9zdGFydF9wZm4gKyBcDQo+ID4gLQkJCQkgTk9ERV9EQVRBKG5pZCktPm5vZGVf
c3Bhbm5lZF9wYWdlcykNCj4gPiAtDQo+ID4gICBleHRlcm4gaW50IHZhbGlkX251bWFfcmFuZ2Uo
dTY0IHN0YXJ0LCB1NjQgZW5kLCBub2RlaWRfdCBub2RlKTsNCj4gPg0KPiA+ICAgdm9pZCBzcmF0
X3BhcnNlX3JlZ2lvbnModTY0IGFkZHIpOw0KPiA+IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94
ZW4vbnVtYS5oIGIveGVuL2luY2x1ZGUveGVuL251bWEuaA0KPiA+IGluZGV4IDdhZWYxYTg4ZGMu
LjM5ZThhNGUwMGEgMTAwNjQ0DQo+ID4gLS0tIGEveGVuL2luY2x1ZGUveGVuL251bWEuaA0KPiA+
ICsrKyBiL3hlbi9pbmNsdWRlL3hlbi9udW1hLmgNCj4gPiBAQCAtMTgsNCArMTgsMzkgQEANCj4g
PiAgICAgKCgoZCktPnZjcHUgIT0gTlVMTCAmJiAoZCktPnZjcHVbMF0gIT0gTlVMTCkgXA0KPiA+
ICAgICAgPyB2Y3B1X3RvX25vZGUoKGQpLT52Y3B1WzBdKSA6IE5VTUFfTk9fTk9ERSkNCj4gPg0K
PiA+ICsvKiBUaGUgZm9sbG93aW5nIGNvbnRlbnQgY2FuIGJlIHVzZWQgd2hlbiBOVU1BIGZlYXR1
cmUgaXMgZW5hYmxlZCAqLw0KPiA+ICsjaWYgZGVmaW5lZChDT05GSUdfTlVNQSkNCj4gDQo+IFBs
ZWFzZSB1c2UgI2lmZGVmIENPTkZJR19OVU1BDQo+IA0KPiA+ICsNCj4gPiArLyogU2ltcGxlIHBl
cmZlY3QgaGFzaCB0byBtYXAgcGR4IHRvIG5vZGUgbnVtYmVycyAqLw0KPiA+ICtleHRlcm4gaW50
IG1lbW5vZGVfc2hpZnQ7DQo+ID4gK2V4dGVybiB1bnNpZ25lZCBsb25nIG1lbW5vZGVtYXBzaXpl
Ow0KPiA+ICtleHRlcm4gdTggKm1lbW5vZGVtYXA7DQo+ID4gK2V4dGVybiB0eXBlb2YoKm1lbW5v
ZGVtYXApIF9tZW1ub2RlbWFwWzY0XTsNCj4gDQo+IEFGQUlDVCwgdGhpcyB3aWxsIGJlIHR1cm5l
ZCBzdGF0aWMgYWdhaW5zdCBpbiBhIGZvbGxvdy11cCBwYXRjaC4gQ2FuDQo+IHRoaXMgYmUgYXZv
aWRlZD8NCj4gDQoNCkkgd2lsbCB0cnkgaXQgaW4gbmV4dCB2ZXJzaW9uLg0KDQo+ID4gKw0KPiA+
ICtzdHJ1Y3Qgbm9kZV9kYXRhIHsNCj4gPiArICAgIHVuc2lnbmVkIGxvbmcgbm9kZV9zdGFydF9w
Zm47DQo+ID4gKyAgICB1bnNpZ25lZCBsb25nIG5vZGVfc3Bhbm5lZF9wYWdlczsNCj4gPiArfTsN
Cj4gPiArDQo+ID4gK2V4dGVybiBzdHJ1Y3Qgbm9kZV9kYXRhIG5vZGVfZGF0YVtdOw0KPiA+ICsj
ZGVmaW5lIFZJUlRVQUxfQlVHX09OKHgpDQo+ID4gKw0KPiA+ICtzdGF0aWMgaW5saW5lIF9fYXR0
cmlidXRlX18oKHB1cmUpKSBub2RlaWRfdCBwaHlzX3RvX25pZChwYWRkcl90IGFkZHIpDQo+ID4g
K3sNCj4gPiArCW5vZGVpZF90IG5pZDsNCj4gPiArCVZJUlRVQUxfQlVHX09OKChwYWRkcl90b19w
ZHgoYWRkcikgPj4gbWVtbm9kZV9zaGlmdCkgPj0NCj4gbWVtbm9kZW1hcHNpemUpOw0KPiA+ICsJ
bmlkID0gbWVtbm9kZW1hcFtwYWRkcl90b19wZHgoYWRkcikgPj4gbWVtbm9kZV9zaGlmdF07DQo+
ID4gKwlWSVJUVUFMX0JVR19PTihuaWQgPj0gTUFYX05VTU5PREVTIHx8ICFub2RlX2RhdGFbbmlk
XSk7DQo+ID4gKwlyZXR1cm4gbmlkOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICsjZGVmaW5lIE5PREVf
REFUQShuaWQpCQkoJihub2RlX2RhdGFbbmlkXSkpDQo+ID4gKw0KPiA+ICsjZGVmaW5lIG5vZGVf
c3RhcnRfcGZuKG5pZCkJKE5PREVfREFUQShuaWQpLT5ub2RlX3N0YXJ0X3BmbikNCj4gPiArI2Rl
ZmluZSBub2RlX3NwYW5uZWRfcGFnZXMobmlkKQkoTk9ERV9EQVRBKG5pZCktPm5vZGVfc3Bhbm5l
ZF9wYWdlcykNCj4gPiArI2RlZmluZSBub2RlX2VuZF9wZm4obmlkKSAgICAgICAoTk9ERV9EQVRB
KG5pZCktPm5vZGVfc3RhcnRfcGZuICsgXA0KPiA+ICsJCQkJIE5PREVfREFUQShuaWQpLT5ub2Rl
X3NwYW5uZWRfcGFnZXMpDQo+ID4gKw0KPiA+ICsjZW5kaWYgLyogQ09ORklHX05VTUEgKi8NCj4g
PiArDQo+ID4gICAjZW5kaWYgLyogX1hFTl9OVU1BX0ggKi8NCj4gPg0KPiANCj4gQ2hlZXJzLA0K
PiANCj4gLS0NCj4gSnVsaWVuIEdyYWxsDQo=


From xen-devel-bounces@lists.xenproject.org Tue Aug 24 04:09:44 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 04:09:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170635.311464 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mINkt-0001S3-Ec; Tue, 24 Aug 2021 04:09:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170635.311464; Tue, 24 Aug 2021 04: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 1mINkt-0001Rw-BT; Tue, 24 Aug 2021 04:09:43 +0000
Received: by outflank-mailman (input) for mailman id 170635;
 Tue, 24 Aug 2021 04:09:42 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uHFs=NP=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mINks-0001Rp-0Q
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 04:09:42 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com (unknown
 [40.107.5.53]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 1a555897-0491-11ec-a8a3-12813bfff9fa;
 Tue, 24 Aug 2021 04:09:40 +0000 (UTC)
Received: from AS8PR04CA0040.eurprd04.prod.outlook.com (2603:10a6:20b:312::15)
 by DB9PR08MB7132.eurprd08.prod.outlook.com (2603:10a6:10:2ca::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Tue, 24 Aug
 2021 04:09:30 +0000
Received: from VE1EUR03FT040.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:312:cafe::f6) by AS8PR04CA0040.outlook.office365.com
 (2603:10a6:20b:312::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Tue, 24 Aug 2021 04:09:30 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT040.mail.protection.outlook.com (10.152.18.210) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Tue, 24 Aug 2021 04:09:30 +0000
Received: ("Tessian outbound 19a632698c93:v103");
 Tue, 24 Aug 2021 04:09:29 +0000
Received: from 6b88e920b3b5.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 0771B27F-35A1-4EB0-AA75-1F91774CC797.1; 
 Tue, 24 Aug 2021 04:09:23 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 6b88e920b3b5.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 24 Aug 2021 04:09:23 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB6PR0801MB1880.eurprd08.prod.outlook.com (2603:10a6:4:74::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Tue, 24 Aug
 2021 04:09:21 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.024; Tue, 24 Aug 2021
 04:09:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1a555897-0491-11ec-a8a3-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NdKfiIynHaGGXuF93I1P98Gdn/vNHevgPoSJOQ6VeJQ=;
 b=uq4ix+3/7iw6MMMvyMn7b0fBY4bsYeTaGdBbXQQLZ6pAKYA63So+1Hg4lXSQIqoFF7DThc32pTRaAACdx4ra3iJQRlvJ3+0Q7rFKlbSlbnhB3WR8Dw+GnKqi2epXd6WDFzdTzA8vzgFdXfSV0PiY1qD8E92f2dEytYefBpW8alQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bBDgKAOkZBx9T6MfR+cpyxXLecRtWy0Mrm7I4NeFQ7/KnHlHQVdg+E/h6JVXC0P0fLsIlY/7N90oXCCYgo/bgh59AzQlPTW4YIW04AbxUOZmk5DotmwIpddpcs90kMdvJctGO/jEmRltXD5eUbA8OMbwKEhUbN5KKILjxXhpfUInvUUlOCDUQjzZXWoNOqhGfz6W6Ohh6XAHsnOWGqhDS/CojjjpKvFNZIS0qedfaoY2AKPr9qbfiUeUUCcnuyp+D9csQj6RGXTfB7cdfPZhs0Kr4zBuxT3RN2jcUBEe6D30hXfaa7x3eY++t4lbeB9+hcYmpuu2DtOUJ9RMIiu9qA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NdKfiIynHaGGXuF93I1P98Gdn/vNHevgPoSJOQ6VeJQ=;
 b=BiJaiPuTAIS/yuPV/Ycr57gyEUkKH0DYbDLkWYFJttJ1WRW84ibMG/LxHglphWuRqPMUYYpatvG9KHynE40IQkIgmKzu4iToP4bU/vGUCYI+6YqrM/P8+vweHXG/5tol6pbHG2gZGzApve3Un1ZvHO4I1BGxhaXb4tYdFNnBl9sYGkZg7/1SHShczd27dreBZ7cX/SltLrqqpkFm2iNGK9H/DPorXoC2T3MASTI7jphZ9TsDvaCz8CN3ntO5/4gnORIUC0bxtHH+GAJGvAgP9dh/EnIN9WVw7mxJas/B39HFsRLb7lwYLmigbL7BKp7xEe9kXJiVrY56ubboDPETsw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NdKfiIynHaGGXuF93I1P98Gdn/vNHevgPoSJOQ6VeJQ=;
 b=uq4ix+3/7iw6MMMvyMn7b0fBY4bsYeTaGdBbXQQLZ6pAKYA63So+1Hg4lXSQIqoFF7DThc32pTRaAACdx4ra3iJQRlvJ3+0Q7rFKlbSlbnhB3WR8Dw+GnKqi2epXd6WDFzdTzA8vzgFdXfSV0PiY1qD8E92f2dEytYefBpW8alQ=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 22/40] xen/arm: introduce a helper to parse device
 tree processor node
Thread-Topic: [XEN RFC PATCH 22/40] xen/arm: introduce a helper to parse
 device tree processor node
Thread-Index: AQHXjps9W9pBfq916EKAfG5ObJRyjat7LeMAgAWqo3CAACYEAIABH2PQ
Date: Tue, 24 Aug 2021 04:09:20 +0000
Message-ID:
 <DB9PR08MB6857668227DE26ED4A9FF8799EC59@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-23-wei.chen@arm.com>
 <167bbcea-e797-c924-81d9-20e626e320cb@xen.org>
 <DB9PR08MB6857D1E22305A7878103EBC99EC49@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <3b5d47cf-95c1-cb56-9246-57a94a6f9b1e@xen.org>
In-Reply-To: <3b5d47cf-95c1-cb56-9246-57a94a6f9b1e@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: DC8C0C488265C043A50B93B25DDCC260.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: b4d9bedd-968f-4833-a0f0-08d966b4f8ca
x-ms-traffictypediagnostic: DB6PR0801MB1880:|DB9PR08MB7132:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<DB9PR08MB7132EE5819212BCE537E32DC9EC59@DB9PR08MB7132.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:9508;OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 skx4B+GwdHhAgvrPpQHC8MrsICbIIjLfPtLbJXXy/wURQzSnUE+ZrZ9hWqfSWSV58RhoUdvCaeZ/i+aZRtxJjW5L/I3yt5cMz/YUzuja87xwAeVl3kjnddYZbaHSEjxV4t6u10UtZxciW8dHEPHAHQtvZ7zLUjK2jC7QexoCX8x4F6qElzvsZ3tmJaLiAZYtQHQja4dRQE/JVXtqdZAr38Ts1PH+jnosxeP4e1GzvYDHQ1/UZ7cfiFXSff+0cb6ZZTLVWroItd2kgdoWdD9g0qxNXkN6Vfot/fOvnuBFjW+h6hWhfjwsYRm+DVLLheGWD/LfEOvZq6DG0WKDs6qQYoGIbwBvRPo/oDM6evpf37z5SRuPOfDSZDt7fktxHizn1xFTEXL6ZKXt0V9G9Tk5SJWJnLHr9UgoVR4UtLR4nHIaF749lwLGdVUJb+U60D80PGK4MTeYV2uAGTxQBT9Eu5KBLU1DH7nKOBQCtTkIXXHYHdt5HV9EBN1wJ3iX7A/JYFs/lshtyJsejDPwrHh7ZAJWYnEaWQUHf56Jhs34pNatVKH4N/MZ8pTksDzfm1Yi5yI53NPKPmtKTQ5mgCy52Qs43omtXBGVn/w+Qu49V/wGtL4Pxg+cMswlkn025zgYkxDGUbDqvW5iWRhD2Pn8rwmJHa5hsd3MqrQyCOPzfKIGW7scEGU1jgZ5HI66Vgu2YROZpm/CSl4IKTeI99yyrg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(346002)(136003)(39860400002)(396003)(366004)(376002)(4326008)(83380400001)(64756008)(66556008)(66446008)(76116006)(66476007)(55016002)(8676002)(38100700002)(122000001)(38070700005)(33656002)(86362001)(2906002)(6506007)(53546011)(26005)(186003)(71200400001)(7696005)(110136005)(478600001)(5660300002)(66946007)(316002)(9686003)(8936002)(52536014);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?bE9mQ01Jc0o2Y0JqL2JCY0tmK29KaDh6a0JVbWdYY3FzMUNCVDNEc3U3L3dv?=
 =?utf-8?B?SERqZnN3S2V4U2xRdzd4cUJ3Q1hLMDRUQWQ4UTRrbnNiYVN1ai9pR0pjWHZn?=
 =?utf-8?B?UFNWdEZsMDgrRGRjWkdtWUFWSWdyYkdOUTh2VkFZcVR6VnA1ZXZqajhPOWJE?=
 =?utf-8?B?Y2xNUkdWaEl2akF6TUc2b3g5ZUZyVFJrVjVROFNrM1V5MVVyNHgvRkF0MGJm?=
 =?utf-8?B?bW81dG5NOFJTWGxRSVIrR1RKL2RnMFN0Y1hhVWorWS9zUDd2YWNMZ1YvT3F2?=
 =?utf-8?B?TE5NNFdYNVF1Yi90VmNjNzFEQVFjazV5dEJtTERtVFpxSmtsTWQ5STlwc0dM?=
 =?utf-8?B?RG1YOXQwTXpaOU80cmpTTTZ2ZkV3WVVlWnU0WVdKdGhoQ2U5RThxVk8wV1p4?=
 =?utf-8?B?b0ZoS0Y5bXk0Y2Rya05kRHQxUERURWpqdmxRRU5tOUphbm1tR3J5MzY5YUg3?=
 =?utf-8?B?Y1hrcW9qQndGY0RGTTlhc1BuelNUaGp2bXVJL05xM2pwS1Q2aWVYU0t6bWJy?=
 =?utf-8?B?bjVQd1JqOHMzRWdacXUzbzh0ZCtnMzdJWDc1bm9La3NRT0Npek4wOFg2SE5Y?=
 =?utf-8?B?SzZFbVYxYUFGWU12UUJsQlA5aUxhUjRWQzhGNEhhLzhYZng1R3BUOXlSamxS?=
 =?utf-8?B?VHQ3bGV4QUxLL0VnOFpldVZIcHhnaFJhUnJUZnA2dHlySVJRdGxIVExLbDdR?=
 =?utf-8?B?MzZTejlpVW1va2JvUkU0ZWhlR2FTY1RqM3NuMExYdjY1TVpJNjZwcWVGTTlo?=
 =?utf-8?B?SmJIMTBJa2ZhZmdhaFFrWmJUVlFhOEZ6RG1WQVpkZVZoNm9HUVcvSENsaklF?=
 =?utf-8?B?QndIdmc5b3p1OTRMeHRTak9vNnJuZWhCY2lWMEtzdzErR2tmZU5sdWtFakQ4?=
 =?utf-8?B?TGVrQlczSmo4L0pKUTNiTVdUN1RKZFFHbklTNGpQbVNNSHJsWEZMYmdlNWlS?=
 =?utf-8?B?UTc2dllyVkhYOWNEakFpaTNLMlVIa1F0MDlOcVluSjZuVzlydzlPOGk0MHJk?=
 =?utf-8?B?VjN1Y1UzY2J1K1BXMU4vZXc0M1VsVTBQdElSZmFsbjc1Y2VGcDZleEpTMFlF?=
 =?utf-8?B?L2NnczkvUzdUOEgyUklVRE4vczdsd0JOWEJaQzJJMVM2TlhLMzVTTmdwdkRx?=
 =?utf-8?B?WlVyWnZPNjNhdUVqZXZjdjY1aWE0UWlnM1NKU1MxY2piYXZ2b0lzUXlBbUdz?=
 =?utf-8?B?dXFPNDcvdE1pOGR5YkMzVWpRbW1WQ0hnY2kxa29Ddy90UnpueENKdGdpdlFq?=
 =?utf-8?B?VmV3Z1ZnbHdvK1ZPWE1wMHFEdHVWL1k0UlB1ZE1idkF4L2pyM0JRWUo4Z05N?=
 =?utf-8?B?UHY3bVYxVXUzWGhlTWwxZHlGWjVyMEkzKzRQdG1GMGY2bnUyVDdEME5ObUIw?=
 =?utf-8?B?eHdCYWhnMWtmZ2huY3RkWVFnR2RMRWMvLzFmVjRwcEdvSzByblgwWWNNS3pz?=
 =?utf-8?B?V2VaT2UvVDkvWTNaNmxheC83UDlZeWdFY0s0bzJKcDk3MmpGRHZGSHNoVzFa?=
 =?utf-8?B?VlhSNnVLYnBVY2QrMjBzUEY0azBrbk1aM3U1R3E5ZW1NRDdLeWVWTUt1cHBx?=
 =?utf-8?B?dXp2Ukw5ZU9SNVdQdHNzZnZ1UnJwT1hMaVFoZ3JUL294TCtPaDBBK05yMkhr?=
 =?utf-8?B?ZGdtdHRCcGZGMlVrckRubmQ0ZmlOWlJjd3dkZmhkc0hSbVhFSklyc0VwTjJj?=
 =?utf-8?B?SUFIczRjQml5c1BCZllyUjh3YUZvUDFZTnVidE9PNVhPdFVYbnVoclFOTFJN?=
 =?utf-8?Q?ni6UG6W3tUm5fkr6luYIr1Orb6dT/bg+gK+zRyb?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB1880
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT040.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	f6fda35c-828d-4ead-f317-08d966b4f32d
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	aXrwgyVPKmpSb/fAxC1j68IgSNC9030gesGpPE49J55XZ8zn/+VDdFBx+Keo0JGRX+ega+D40FawVCqqbsviCyDLWBUrhro69FLh7I36q7a5dbVWUmnpzoRQ/wJCoUsWxeDfdbr90UBeqGp20Bpj+9IHzCnCey4HZtjgoNUOIMURGZyHWZBDnKmdFPyx+EuAnXAWI6vBa1oAKgG92i1X3p3+zpTNqCg5hWxIIIGWIz6fVgwejVKt+NQejoiXlSlevpgHyYuQVY1Dq2VT+7ZbHWa0SYLTAsWnw9Y83ofEjUjHB6oQXEekONNnHevbRRJJCTemPQzc57q9VcI9xSHzUQVaSDiTUrmm60KKp68IdGaSJvLIK6hPgiMnGcH8nQuCTUUOWTdbXOlka1Q2liLgzCpq9lM9KEeCFZxld2hmy+dTOECtBFD9vNWPoqBLpH0Dic55celYmQqxEsZMFKGoDOVMsv3KbIR9rWstfMxgZLQveSAF/NQrdOKEYHL+5XLnKi1o0a3NkKuIP3jyLXL22QGDeanGcEqvBKxgcaH4eKDZCenecFQflf/mWg5jaJcD15rJLkYutQ6mYJ/Eo7ua0cJYeSHR5imBc4Gg8r8e85kgYmTDWwuv7Xug3MoPzheMkV4Sbftk3LoKTPlW4R7eMYsXjRClS0AxztEjNd36IA7DgXLnZ469cgnGFVDdPIOrqSQDojHTzPHKUr6xnZABTA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(346002)(376002)(136003)(396003)(39860400002)(36840700001)(46966006)(478600001)(336012)(81166007)(5660300002)(9686003)(26005)(52536014)(356005)(55016002)(82740400003)(53546011)(2906002)(8676002)(7696005)(82310400003)(70586007)(186003)(8936002)(70206006)(36860700001)(110136005)(316002)(47076005)(4326008)(83380400001)(33656002)(6506007)(86362001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 04:09:30.2711
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b4d9bedd-968f-4833-a0f0-08d966b4f8ca
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT040.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB7132

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMjPml6UgMTg6NTkN
Cj4gVG86IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgeGVuLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnOw0KPiBzc3RhYmVsbGluaUBrZXJuZWwub3JnDQo+IENjOiBCZXJ0cmFuZCBNYXJx
dWlzIDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+DQo+IFN1YmplY3Q6IFJlOiBbWEVOIFJGQyBQ
QVRDSCAyMi80MF0geGVuL2FybTogaW50cm9kdWNlIGEgaGVscGVyIHRvIHBhcnNlDQo+IGRldmlj
ZSB0cmVlIHByb2Nlc3NvciBub2RlDQo+IA0KPiANCj4gDQo+IE9uIDIzLzA4LzIwMjEgMDk6NDcs
IFdlaSBDaGVuIHdyb3RlOg0KPiA+IEhpIEp1bGllbiwNCj4gDQo+IEhpIFdlaSwNCj4gDQo+ID4+
IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+IEZyb206IEp1bGllbiBHcmFsbCA8anVs
aWVuQHhlbi5vcmc+DQo+ID4+IFNlbnQ6IDIwMjHlubQ45pyIMjDml6UgMjoxMQ0KPiA+PiBUbzog
V2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+OyB4ZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5v
cmc7DQo+ID4+IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc7IGpiZXVsaWNoQHN1c2UuY29tDQo+ID4+
IENjOiBCZXJ0cmFuZCBNYXJxdWlzIDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+DQo+ID4+IFN1
YmplY3Q6IFJlOiBbWEVOIFJGQyBQQVRDSCAyMi80MF0geGVuL2FybTogaW50cm9kdWNlIGEgaGVs
cGVyIHRvIHBhcnNlDQo+ID4+IGRldmljZSB0cmVlIHByb2Nlc3NvciBub2RlDQo+ID4+DQo+ID4+
IE9uIDExLzA4LzIwMjEgMTE6MjQsIFdlaSBDaGVuIHdyb3RlOg0KPiA+Pj4gUHJvY2Vzc29yIE5V
TUEgSUQgaW5mb3JtYXRpb24gaXMgc3RvcmVkIGluIGRldmljZSB0cmVlJ3MgcHJvY2Vzc29yDQo+
ID4+PiBub2RlIGFzICJudW1hLW5vZGUtaWQiLiBXZSBuZWVkIGEgbmV3IGhlbHBlciB0byBwYXJz
ZSB0aGlzIElEIGZyb20NCj4gPj4+IHByb2Nlc3NvciBub2RlLiBJZiB3ZSBnZXQgdGhpcyBJRCBm
cm9tIHByb2Nlc3NvciBub2RlLCB0aGlzIElEJ3MNCj4gPj4+IHZhbGlkaXR5IHN0aWxsIG5lZWQg
dG8gYmUgY2hlY2tlZC4gT25jZSB3ZSBnb3QgYSBpbnZhbGlkIE5VTUEgSUQNCj4gPj4+IGZyb20g
YW55IHByb2Nlc3NvciBub2RlLCB0aGUgZGV2aWNlIHRyZWUgd2lsbCBiZSBtYXJrZWQgYXMgTlVN
QQ0KPiA+Pj4gaW5mb3JtYXRpb24gaW52YWxpZC4NCj4gPj4+DQo+ID4+PiBTaWduZWQtb2ZmLWJ5
OiBXZWkgQ2hlbiA8d2VpLmNoZW5AYXJtLmNvbT4NCj4gPj4+IC0tLQ0KPiA+Pj4gICAgeGVuL2Fy
Y2gvYXJtL251bWFfZGV2aWNlX3RyZWUuYyB8IDQxDQo+ICsrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKystLQ0KPiA+Pj4gICAgMSBmaWxlIGNoYW5nZWQsIDM5IGluc2VydGlvbnMoKyksIDIg
ZGVsZXRpb25zKC0pDQo+ID4+Pg0KPiA+Pj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9udW1h
X2RldmljZV90cmVlLmMNCj4gPj4gYi94ZW4vYXJjaC9hcm0vbnVtYV9kZXZpY2VfdHJlZS5jDQo+
ID4+PiBpbmRleCAxYzc0YWQxMzVkLi4zN2NjNTZhY2YzIDEwMDY0NA0KPiA+Pj4gLS0tIGEveGVu
L2FyY2gvYXJtL251bWFfZGV2aWNlX3RyZWUuYw0KPiA+Pj4gKysrIGIveGVuL2FyY2gvYXJtL251
bWFfZGV2aWNlX3RyZWUuYw0KPiA+Pj4gQEAgLTIwLDE2ICsyMCw1MyBAQA0KPiA+Pj4gICAgI2lu
Y2x1ZGUgPHhlbi9pbml0Lmg+DQo+ID4+PiAgICAjaW5jbHVkZSA8eGVuL25vZGVtYXNrLmg+DQo+
ID4+PiAgICAjaW5jbHVkZSA8eGVuL251bWEuaD4NCj4gPj4+ICsjaW5jbHVkZSA8eGVuL2Rldmlj
ZV90cmVlLmg+DQo+ID4+PiArI2luY2x1ZGUgPGFzbS9zZXR1cC5oPg0KPiA+Pj4NCj4gPj4+ICAg
IHM4IGRldmljZV90cmVlX251bWEgPSAwOw0KPiA+Pj4gK3N0YXRpYyBub2RlbWFza190IHByb2Nl
c3Nvcl9ub2Rlc19wYXJzZWQgX19pbml0ZGF0YTsNCj4gPj4+DQo+ID4+PiAtaW50IHNyYXRfZGlz
YWJsZWQodm9pZCkNCj4gPj4+ICtzdGF0aWMgaW50IHNyYXRfZGlzYWJsZWQodm9pZCkNCj4gPj4+
ICAgIHsNCj4gPj4+ICAgICAgICByZXR1cm4gbnVtYV9vZmYgfHwgZGV2aWNlX3RyZWVfbnVtYSA8
IDA7DQo+ID4+PiAgICB9DQo+ID4+Pg0KPiA+Pj4gLXZvaWQgX19pbml0IGJhZF9zcmF0KHZvaWQp
DQo+ID4+PiArc3RhdGljIF9faW5pdCB2b2lkIGJhZF9zcmF0KHZvaWQpDQo+ID4+PiAgICB7DQo+
ID4+PiAgICAgICAgcHJpbnRrKEtFUk5fRVJSICJEVDogTlVNQSBpbmZvcm1hdGlvbiBpcyBub3Qg
dXNlZC5cbiIpOw0KPiA+Pj4gICAgICAgIGRldmljZV90cmVlX251bWEgPSAtMTsNCj4gPj4+ICAg
IH0NCj4gPj4+ICsNCj4gPj4+ICsvKiBDYWxsYmFjayBmb3IgZGV2aWNlIHRyZWUgcHJvY2Vzc29y
IGFmZmluaXR5ICovDQo+ID4+PiArc3RhdGljIGludCBfX2luaXQgZHRiX251bWFfcHJvY2Vzc29y
X2FmZmluaXR5X2luaXQobm9kZWlkX3Qgbm9kZSkNCj4gPj4NCj4gPj4gSSBmb3Jnb3QgdG8gYW5z
d2VyLiBJdCBzZWVtcyBvZGQgdGhhdCBzb21lIG9mIHRoZSBmdW5jdGlvbiBuYW1lcyBzdGFydA0K
PiA+PiB3aXRoIGR0Yl8qIHdoaWxlIG90aGVyIHN0YXJ0cyBkZXZpY2VfdHJlZV8qLiBBbnkgcGFy
dGljdWxhciByZWFzb24gZm9yDQo+ID4+IHRoYXQgZGlmZmVyZW5jZSBvZiBuYW1pbmc/DQo+ID4+
DQo+ID4NCj4gPiB5ZXMsIGluIHRoZSB2ZXJ5IGJlZ2lubmluZywgSSB3YW50IHRvIGtlZXAgZGV2
aWNlX3RyZWVfIHByZWZpeCBmb3INCj4gPiBmdW5jdGlvbnMgdGhhdCB3aWxsIGhhbmRsZSBkdGIg
ZmlsZS4gQW5kIHVzZSBkdGJfIHByZWZpeCB0byByZXBsYWNlDQo+ID4gYWNwaSwgdG8gaW5kaWNh
dGUsIHRoaXMgZnVuY3Rpb24gaXMgZGV2aWNlIHRyZWUgdmVyc2lvbiBudW1hDQo+IGltcGxlbWVu
dGF0aW9uLg0KPiANCj4gVGhhbmtzIGZvciB0aGUgY2xhcmlmaWNhdGlvbi4gVGhlIGRpZmZlcmVu
Y2UgYmV0d2VlbiAiZHRiIiBhbmQNCj4gImRldmljZV90cmVlIiBpcyBxdWl0ZSBzdWJ0dGxlOiB0
aGUgZm9ybWVyIHJlZmVycyB0byB0aGUgYmluYXJ5IHdoaWxlDQo+IHRoZSBsYXR0ZXIgcmVmZXJz
IHRvIHRoZSBmb3JtYXQuIE1vc3Qgb2YgdGhlIHJlYWRlcnMgYXJlIGxpa2VseSB0byBpbmZlcg0K
PiB0aGV5IG1lYW4gdGhlIHNhbWUuIFNvIEkgdGhpbmsgdGhpcyB3aWxsIGJyaW5nIG1vcmUgY29u
ZnVzaW9uLg0KPiANCg0KVGhhbmtzIGZvciB0aGUgY2xhcmlmaWNhdGlvbi4NCg0KPiA+DQo+ID4g
SWYgdGhhdCdzIG5vdCB0aGUgcmlnaHQgcmVhc29uLCBJIHdpbGwgdW5pZnkgYWxsIHByZWZpeCB0
byBkZXZpY2VfdHJlZV8NCj4gPiBpbiBuZXh0IHZlcnNpb24uIEhvdyBkbyB5b3UgdGhpbmsgYWJv
dXQgaXQ/DQo+IA0KPiBBRkFJQ1QsIHlvdXIgcGFyc2luZyBmdW5jdGlvbnMgd2lsbCBhbHdheXMg
c3RhcnQgd2l0aA0KPiAiZGV2aWNlX3RyZWVfcGFyc2VfIi4gSSB3b3VsZCBwcmVmZXIgaWYgdGhl
IHNldCByZXBsYWNpbmcgdGhlIEFDUEkNCj4gaGVscGVycyBzdGFydCB3aXRoICJkZXZpY2VfdHJl
ZV8iLg0KPiANCj4gSWYgeW91IGFyZSBjb25jZXJuIHdpdGggdGhlIGxlbmd0aCBvZiB0aGUgZnVu
Y3Rpb24gbmFtZSwgdGhlbiBJIHdvdWxkDQo+IHN1Z2dlc3QgdG8gcHJlZml4IGFsbCB0aGUgZnVu
Y3Rpb25zIHdpdGggImZkdCIgKFdlIGFyZSBkZWFsaW5nIHdpdGggdGhlDQo+IGZsYXR0ZW5lZCBE
VCBhZnRlciBhbGwpIG9yICJkdCIuDQoNClRoYXQgbWFrZXMgc2Vuc2UsIEkgd2lsbCBkbyBpdC4N
Cg0KPiANCj4gQ2hlZXJzLA0KPiANCj4gLS0NCj4gSnVsaWVuIEdyYWxsDQo=


From xen-devel-bounces@lists.xenproject.org Tue Aug 24 04:16:56 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 04:16:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170643.311475 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mINro-0002yT-9X; Tue, 24 Aug 2021 04:16:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170643.311475; Tue, 24 Aug 2021 04: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 1mINro-0002yM-62; Tue, 24 Aug 2021 04:16:52 +0000
Received: by outflank-mailman (input) for mailman id 170643;
 Tue, 24 Aug 2021 04:16: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 1mINrm-0002yC-4A; Tue, 24 Aug 2021 04:16: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 1mINrl-0001Wp-Qw; Tue, 24 Aug 2021 04:16: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 1mINrl-0004WL-Fc; Tue, 24 Aug 2021 04:16:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mINrl-0001i6-F6; Tue, 24 Aug 2021 04:16: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=TjK5SOvbYIxk9RbQbpqRQbkO60Z1HAbqNa+95gG32nQ=; b=Xb6MVDlYq9/ggsPY+JNJD7+1p3
	HwuxuZayykJxkg5cb6+WfY5ZGyPvLnJHH2jzIyiMJRa0VrCB8bR5FRDe0+WL2MKze+shHkdBAet0W
	Y8YtcLz89i7AK6AmT0BIHSXp06RQjSse+S75Ddvl8fJqk6MtO7ftX5Zvx+0aToYaaUr0=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164334-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.12-testing test] 164334: regressions - FAIL
X-Osstest-Failures:
    xen-4.12-testing:test-amd64-amd64-xl-qcow2:guest-saverestore.2:fail:regression
    xen-4.12-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    xen-4.12-testing:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    xen-4.12-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=c6c5f9d8b3e23178341cd7f9b7614a463df74266
X-Osstest-Versions-That:
    xen=ea20eee97e9e0861127a8070cc7b9ae3557b09fb
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 24 Aug 2021 04:16:49 +0000

flight 164334 xen-4.12-testing real [real]
flight 164417 xen-4.12-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/164334/
http://logs.test-lab.xenproject.org/osstest/logs/164417/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qcow2    18 guest-saverestore.2      fail REGR. vs. 162549
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 162549
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 162549

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 162549
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 162549
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 162549
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 162549
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 162549
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 162549
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 162549
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 162549
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 162549
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 162549
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 162549
 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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-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-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  c6c5f9d8b3e23178341cd7f9b7614a463df74266
baseline version:
 xen                  ea20eee97e9e0861127a8070cc7b9ae3557b09fb

Last test of basis   162549  2021-06-08 18:37:01 Z   76 days
Testing same since   164259  2021-08-19 17:07:29 Z    4 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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-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                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit c6c5f9d8b3e23178341cd7f9b7614a463df74266
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Jul 19 12:28:09 2021 +0200

    libxl/x86: check return value of SHADOW_OP_SET_ALLOCATION domctl
    
    The hypervisor may not have enough memory to satisfy the request. While
    there, make the unit of the value clear by renaming the local variable.
    
    Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    backport-requested-by: Jan Beulich <jbeulich@suse.com>
    (cherry picked from commit 0be5a00af590c97ea553aadb60f1e0b3af53d8f6)
    (cherry picked from commit 6bbdcefd205903b2181b3b4fdc9503709ecdb7c4)
    (cherry picked from commit 61f28060d5b899c502e2b3bf45a39b1dd2a1224c)
    (cherry picked from commit 3cdc7b6b35106180c9021c1742cafacfa764fdad)
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Tue Aug 24 04:19:18 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 04:19:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170651.311489 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mINu8-0003gV-Sn; Tue, 24 Aug 2021 04:19:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170651.311489; Tue, 24 Aug 2021 04:19:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mINu8-0003gO-Pe; Tue, 24 Aug 2021 04:19:16 +0000
Received: by outflank-mailman (input) for mailman id 170651;
 Tue, 24 Aug 2021 04:19:15 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uHFs=NP=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mINu7-0003gI-9j
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 04:19:15 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com (unknown
 [2a01:111:f400:7d00::620])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 1283d1df-39c8-4f19-b871-73eb3cf6d764;
 Tue, 24 Aug 2021 04:19:12 +0000 (UTC)
Received: from AM4PR0701CA0025.eurprd07.prod.outlook.com
 (2603:10a6:200:42::35) by AM6PR08MB4007.eurprd08.prod.outlook.com
 (2603:10a6:20b:a1::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Tue, 24 Aug
 2021 04:19:10 +0000
Received: from VE1EUR03FT030.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:200:42:cafe::f4) by AM4PR0701CA0025.outlook.office365.com
 (2603:10a6:200:42::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.6 via Frontend
 Transport; Tue, 24 Aug 2021 04:19:10 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT030.mail.protection.outlook.com (10.152.18.66) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Tue, 24 Aug 2021 04:19:10 +0000
Received: ("Tessian outbound 19a632698c93:v103");
 Tue, 24 Aug 2021 04:19:10 +0000
Received: from 1659e92aa7a3.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 612CBD8D-79D5-4AE2-B615-6CD1A9FE021E.1; 
 Tue, 24 Aug 2021 04:18:59 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 1659e92aa7a3.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 24 Aug 2021 04:18:59 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB9PR08MB6960.eurprd08.prod.outlook.com (2603:10a6:10:2c0::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Tue, 24 Aug
 2021 04:18:57 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.024; Tue, 24 Aug 2021
 04:18: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: 1283d1df-39c8-4f19-b871-73eb3cf6d764
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5B/xjtBpUOxDahcCe8b/trxJvEWYMcCovUcpTJ0I3SU=;
 b=LBBbAN3jVJ4U0lJVViyXcueTUPSmRudrEf2Z2OgdVil5/kRvoqwfCZCRr73I1P1kSw/Lza0Sxwv274/GxE1vvUCOQ8cTcENPpqBqLOfKtnAFEGNt3Pji7fKCb6mYFp8iQiFcet8Nt6N2wIEbZjbO/kQlGcDak7LBsGe3fwBUA9s=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cnqLjSUoUdXlGnWpX9sieRpofaZUlSK8LKt9rFPn5l2DKNVlbnJKKlmSprSX7t4hQ5yvhLOx/HbG40r2yHleSz0bZMiov6m/tDi4EP6hRz2+K7eSVs4TsBQUfPEi9rtYNwxSpL5VYJLDs75AdOlI1uqJg9jMITnteleAlAHb+OxA+Toygubz7OIzfDicscerl4HpS39wkoBCO+IedJdcbz1fw+NF3tRyNRe2RYIx6POH903kXxHh/Wx2sZ/97FOSf/mNjF0xyEhGHqiGRsmj7tbu/rOF2WNs447Ykh+P6zqKNewTFJnMGvr5yw3BkmQPSnH0lB9Y4pGe3xfQZ9+7BQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5B/xjtBpUOxDahcCe8b/trxJvEWYMcCovUcpTJ0I3SU=;
 b=OwDNlicXpPjYykvwpV6ideVVn62djmt6CrICZPs7jpmzvSxr6n1cAe82ZcKG5f/ySsxtir/lbtz8cbfmX1be4IejLawgikk0JLqbhR4Z8QYDxAFAlfKQGAyEyqKYmDgK1C9CU9KjImohAmdN5AnDjcbOJ9IfTrJ4cjk4Nph8qvsozmC32kPJkXaiDfH1eH48/UkmPNuYepUjsBsVRukZZQkiphVm4tMHb5APsqYjgf3DxkkRU/mbeBqWsukkjdVuFdGTkrT0dAM211Xpkkxvla0H6oYGOc/hv4uuPFezCaA6rcsVjTw/Nsppqig5oH+wn+aqoriuqyuCFwnuu+m44g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5B/xjtBpUOxDahcCe8b/trxJvEWYMcCovUcpTJ0I3SU=;
 b=LBBbAN3jVJ4U0lJVViyXcueTUPSmRudrEf2Z2OgdVil5/kRvoqwfCZCRr73I1P1kSw/Lza0Sxwv274/GxE1vvUCOQ8cTcENPpqBqLOfKtnAFEGNt3Pji7fKCb6mYFp8iQiFcet8Nt6N2wIEbZjbO/kQlGcDak7LBsGe3fwBUA9s=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>, "jbeulich@suse.com" <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 09/40] xen/x86: Move numa_add_cpu_node to common
Thread-Topic: [XEN RFC PATCH 09/40] xen/x86: Move numa_add_cpu_node to common
Thread-Index: AQHXjpsxWzM+1+Y9tEG1bhQyDwIVUKuBcpmAgACuDNA=
Date: Tue, 24 Aug 2021 04:18:57 +0000
Message-ID:
 <DB9PR08MB685766A6223512E9D954A61A9EC59@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-10-wei.chen@arm.com>
 <b867041b-0b36-c197-a54a-28cb58075c94@xen.org>
In-Reply-To: <b867041b-0b36-c197-a54a-28cb58075c94@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 40C334157FED7A429930A6AFB7F0E006.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 14158035-4ff7-4d29-a14d-08d966b65297
x-ms-traffictypediagnostic: DB9PR08MB6960:|AM6PR08MB4007:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM6PR08MB4007AA331C285DB31D4A047A9EC59@AM6PR08MB4007.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:7691;OLM:7691;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 p4FFqiP7CXhJDWmcrQlcbXBJbTbkmz40Fp/+/QS94jXi44GU6FKFVtrE+Qo4hhvLSgIVw1h5Ce8R5+R3W0JRZ9zbqdzHDntcrupA2ZgFXX+y0uOLsKWTiPDa4tI6ESnbOK8WXF0PSVyyuya2JR7B9RT59PxhXmn4yQqsXPnBl4vmAY9GgIHiMkdbZlUbPTKJ++uhuur8KosVTGdxf3anoJUdKEDn2J3FWveYeyaKW8KB9fZWk37myErSrZKGV8YLaelf/NKvn0aB1Me4/UeAvfLjBvPuoUofcUYjw7SettrSmb9MSPewvIVhPwBnYA9iDS2Td+JEy1R1LwyrSUUwDevrrcWozeaJnmoSr805YtevfysUiX13nCXaEk2AcQcvJoR6CJYx7ytp5JTSsJhON/m3Q+09t0VyIJ/r9Uxoin41W235Gc0BFKvUhd+KvAh1pgoqdoCtpfSkQQmdNOrDywlLM1GwTcc+SwaLiFzU179OixFIunW4a71n90zBYH68nDEZopDlV3d3Wrd5DgQpKfWO5rasLlRFzi/JeqWcgrLwDwqEcnSshQ48IEpAOXouo7o/OhCpOcq9uzDIK1yPAPuOIiROUpRtAp2o5f2SjUvNRtzDZiSaBKITt30370odi5FlHgTOfobtDwqYaSWaYVAoZZPThXXGo2b2BRz6hb4xqgb8oaoyykhTMjoxGeDREMqgR2JPRJNVTsUxs+7USw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(39860400002)(366004)(376002)(396003)(136003)(346002)(33656002)(316002)(7696005)(66946007)(86362001)(53546011)(5660300002)(186003)(6506007)(4326008)(9686003)(71200400001)(38070700005)(38100700002)(55016002)(76116006)(66446008)(52536014)(64756008)(26005)(66476007)(66556008)(110136005)(8676002)(8936002)(122000001)(478600001)(83380400001)(2906002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?R3dRSmFER1lEaG1BTWhTazRkV0VtaC9RWVRoNnlwRlgvbnUxWDRPbXBqWG1J?=
 =?utf-8?B?T0R2RG5FK0dXazdmMmx2cHFDMDlVWGV4RVJhUm5NUmNBSnRVdlB0ZXh5Tyt0?=
 =?utf-8?B?TnB0N2FyK0NvM3EvKzVQK3M1VVV2eFBSNGZpd01aOUZiUDdiRUpPSlBTZVJh?=
 =?utf-8?B?NW54REFudG16S2ZKL1lxZlI1WXdMdEF3bFRLTytPQkh2a0t6MFRwWjlOZ2Q5?=
 =?utf-8?B?ZS9WbzdpeGNJZzVCcDExbzl0aHJEVnh5eVFmaGh3WFdyYlBrM1lOVVRodDc3?=
 =?utf-8?B?T2xwei9kQ2dGN0VoOHBtRXI5NDF5ZEplTDkyOEFuK3NXdWsvQkJhZ0N4eWNr?=
 =?utf-8?B?V0dxK3Q1Yk9KQ0d4SjNzNVV1aWxab3pEN01uYWp0dVFiWTliZnM0N1B2T3U2?=
 =?utf-8?B?TitKeHNCYkRmalpla2FUM1NiWlVleGpubWhHVTU5ZU50R3dPQXp3WTdVV1JG?=
 =?utf-8?B?UGowSVpoTU1HM0g0cHgrdkZkY0RXZERzck1UeGQxUE9leDZTZkNkbmp2bnhm?=
 =?utf-8?B?WWFuVU55YXN5NnRuRnBtQmtSMXlFaEV5blFlVFdveGxsNXF5QUZRelgrOFkv?=
 =?utf-8?B?SVVscTVKSTlZcTRNQ01ic1JsRnJyVnZNbVhIV3BVM3ZhM0wzZDdIQ2I4clMz?=
 =?utf-8?B?RTFHNEtmZWtJby8vemIyOVd3YVhjTkQ3M3h1WjRyY2ZiSTNiNGlvUFo3UmZC?=
 =?utf-8?B?RDFycHdweCs1SEp0TU9DSU5XYll0VlRnZ1RORktPZGs3OGtPYVEyVEVDdWw5?=
 =?utf-8?B?Q05XdEtsSVBaaUtNMEpGSTl2bFk1Qm40eHBIOStMWG14R1lqVjZMbGhvQWRL?=
 =?utf-8?B?VE5ncDA0TGYyNUZnRmM1eGcyZHAxLzdPNUpEdjNDQjFtNzRQMldWOFlqSmYv?=
 =?utf-8?B?Z3dyY2lvKzE0Yi91dkh4Y3FqVVFZNCt6N2dnL1BaVm5KNGdGNm1KaEtBdmlZ?=
 =?utf-8?B?TXdONVdIZFdKUy80M2IyQ0pOR3NTOGZPQ1dpR2ZUcmJ0WGtub2lkdis3ODhs?=
 =?utf-8?B?SWNna005R0M0UUJnQUlXMytvbU5QMlg0bm5IajFpOEdURGxjUVVIby8xeUF2?=
 =?utf-8?B?QWQxR0llVENSVzJ0cXRYblcrRU8ybXY1R0FtdlVyUkZqcERsNHpPWUJXWERw?=
 =?utf-8?B?clNBYWk4QWpVazNKUG9lR1llK2NBMHR5Wm5pM1ErS0FEYWRGck5iaU04SUQy?=
 =?utf-8?B?dllObmRqalZPS1h1UXlCUk1QcUtuMHB4ZG5qTElPY2NBd3BqZU5oZUQwcnVl?=
 =?utf-8?B?VkM1amwzOGlsYUozdHM4Y3B1elpOL3JsWTR3aUh0Q3I5VWNtS2lsM2cycjZ0?=
 =?utf-8?B?TmUvbGFyQm5RWmNBWWhrTXZnQ0NnTG1BUERSOEt0d0srQWcwOW9KNVc3Vzhq?=
 =?utf-8?B?bnBKQklKL2hGTjBMNmswekVVR3ZNWGhHSWRnREh2a2VNZ2FnWmdHanVCaFI2?=
 =?utf-8?B?Q2tDSDhRZWg4TmlvbEw0ZEVkcUV0VDNVMHF3Z214aWlyK2RJbUFXcEJIQ2Ey?=
 =?utf-8?B?cVM5TnhacE9lMHRDOTlpbjI0R2R5VWtIdlFqSSt2Z1Z1bnNmdzVvNmJ6L3Zq?=
 =?utf-8?B?emV2Wm1UdG1ZQTQzMnVib1ZPK3BucjgxNXVQVSsxZC9mSTR2aXIzNC8zTjBJ?=
 =?utf-8?B?YUJwL3FaOFNKNHFKNE9Qdkc5RjVraUQ4RHlLRmU3dnVQSHFWWld4bUtWUTNs?=
 =?utf-8?B?K09HRnRDNlhPN2crNzR4d0pTMFBMMWtMRW9tNXJoRFNBTTFFNVVEVEVxV05G?=
 =?utf-8?Q?+H/GISBBaagTHv+nokeQVklBuM4T5rD0gcEujfw?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6960
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT030.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	25b65ff7-ae5d-484f-ab80-08d966b64ae1
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	meCJDl0zjmjGTQY0Z5gSznshiDt5Zh6xl1QrmMxm7TB05wHfcFl/TiHGsNew0LWWwMKHuuAHTuZkVaW976Ojo98t3nZUrcT+kQ3YwmakXaOw9sCF7Fet8yabdS1Ow73f5g5HZWCXTwy/45QW9PQVLNEKisZ7Agez69gKfxRv+WDiixOLeInlJoi10Kxwfb8yyKwUPcowuZeK0oY3NiGFfckeDu4IdFNCqYI8Cgp7POkOwMkXckqrYICtE3FyETuxKD/nLfQDH0ywU7oiO6tCjrm6By2nIoxdnccsPEhsoFSasn2ffDa333BkRRD4567JthVkxydCaCHdrWmqWZgX+yVpYh5PrLonSrm7e/Ay5tyjpmz+ORHTGc6aJXIzVhO8utVtzVxLsYszffVuOaCC+BzG1bNWbDnrtI7ZWvaOL9p7JRuKTkWpn38VtPf5uWEy7lmoztvZDNSHyxI07MAXroVs5u8MR6rfM7w8yphTiXePeu5fwMndsPhlDs8TF1BOaiSAWUXuuNGxOFDvVoDAVpL08Q8ajSdL7sFmGo/90MSChAha6XRkoqqSI5GTFJcaXPdQgJ7mu5Jowfy14SGQBQgGDCEqqADad4zKWL1mpeFxGLcWBidXGVF+0GrlZgHH+xCJwP1tX1BssBR3cL7EYVIAbhRjF+QSC7wea8ejPBLdw+tBC2529ztVI8j9b4TAGpmOh42BXUqjpVbjZxGnrw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(396003)(346002)(376002)(39860400002)(136003)(36840700001)(46966006)(81166007)(356005)(110136005)(82740400003)(8676002)(7696005)(478600001)(9686003)(55016002)(26005)(8936002)(36860700001)(33656002)(53546011)(86362001)(82310400003)(83380400001)(6506007)(52536014)(47076005)(316002)(70206006)(2906002)(186003)(4326008)(336012)(5660300002)(70586007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 04:19:10.4326
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 14158035-4ff7-4d29-a14d-08d966b65297
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT030.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4007

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMjTml6UgMTo1NA0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+OyB4ZW4tZGV2ZWxAbGlzdHMueGVucHJv
amVjdC5vcmc7DQo+IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc7IGpiZXVsaWNoQHN1c2UuY29tDQo+
IENjOiBCZXJ0cmFuZCBNYXJxdWlzIDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+DQo+IFN1Ympl
Y3Q6IFJlOiBbWEVOIFJGQyBQQVRDSCAwOS80MF0geGVuL3g4NjogTW92ZSBudW1hX2FkZF9jcHVf
bm9kZSB0bw0KPiBjb21tb24NCj4gDQo+IEhpIFdlaSwNCj4gDQo+IE9uIDExLzA4LzIwMjEgMTE6
MjMsIFdlaSBDaGVuIHdyb3RlOg0KPiA+IFRoaXMgZnVuY3Rpb24gd2lsbCBiZSByZXVzZWQgYnkg
QXJtIGxhdGVyLCBzbyB3ZSBtb3ZlIGl0DQo+ID4gZnJvbSBhcmNoL3g4NiB0byBjb21tb24uIEJ1
dCB3ZSBrZWVwIGNwdV90b19ub2RlIGFuZA0KPiA+IG5vZGVfdG9fY3B1bWFzayB0byB4ODYgaGVh
ZGVyIGZpbGUuIEJlY2F1c2UgY3B1X3RvX25vZGUgYW5kDQo+ID4gbm9kZV90b19jcHVtYXNrIGhh
dmUgZGlmZmVyZW50IGltcGxlbWVudGF0aW9uIGZvciB4ODYgYW5kIEFybS4NCj4gPiBXZSB3aWxs
IG1vdmUgdGhlbSB0byBjb21tb24gaGVhZGVyIGZpbGUgd2hlbiB3ZSBjaGFuZ2UgdGhlIEFybQ0K
PiA+IGltcGxlbWVudGF0aW9uIGluIGxhdGVyIHBhdGNoZXMuDQo+IA0KPiBBRkFJQ1QsIHRoZSBB
cm0gaGVscGVycyBhcmUgZ2F0ZWQgYnkgIUNPTkZJR19OVU1BIGFuZCB0aGUgb25lcyBpbiBjb21t
b24NCj4gY29kZSB3aWxsIGJlIGdhdGVkIGJ5IENPTkZJR19OVU1BLiBTbyBJIGFtIG5vdCBxdWl0
ZSB0b28gdW5kZXJzdGFuZCB3aHkNCj4gdGhleSBjYW4ndCBiZSBtb3ZlZCBub3cuIENhbiB5b3Ug
Y2xhcmlmeSBpdD8NCj4gDQoNClllcywgeW91J3JlIHJpZ2h0LiBBZnRlciB3ZSBoYWQgaW50cm9k
dWNlZCAhQ09ORklHX05VTUEsIHdlIGNhbg0KbW92ZSBub2RlX3RvX2NwdW1hc2sgYW5kIGNwdV90
b19ub2RlIGluIHRoaXMgcGF0Y2ggdG9vLiBJIHdpbGwNCmZpeCBpdCBpbiBuZXh0IHZlcnNpb24u
DQoNCj4gQ2hlZXJzLA0KPiANCj4gLS0NCj4gSnVsaWVuIEdyYWxsDQo=


From xen-devel-bounces@lists.xenproject.org Tue Aug 24 05:16:01 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 05:16:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170662.311506 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIOmn-0001ph-Bf; Tue, 24 Aug 2021 05:15:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170662.311506; Tue, 24 Aug 2021 05:15:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIOmn-0001pa-8Z; Tue, 24 Aug 2021 05:15:45 +0000
Received: by outflank-mailman (input) for mailman id 170662;
 Tue, 24 Aug 2021 05:15: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 1mIOml-0001pQ-W0; Tue, 24 Aug 2021 05:15: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 1mIOml-0002ph-Md; Tue, 24 Aug 2021 05:15: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 1mIOml-0006Y2-E3; Tue, 24 Aug 2021 05:15:43 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mIOml-0005ra-DY; Tue, 24 Aug 2021 05:15:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=2gPdBNmjIhxjHITMmsNwQ1pFbIdkei8iGtHtNdJJNQ4=; b=ZcjKLckA/f8AjLL9bJkmJk2XUh
	0LsYCfh5+A5qRP8E3f/p8hFtFCu+nesO29CN6/yl2nGbKJvNO7qW53L0dJgtm6+ZDT9jJ6RI9Trxf
	legxpkX80CrhC2GDGjJVvWMUzgg1pwfNo4iVNxkoGo0NIUT3JPwg6f0B5nNktCKbccjI=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164374-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 164374: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=406a6c20a8a324ed6643246f9681da2aaff59aa3
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 24 Aug 2021 05:15:43 +0000

flight 164374 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164374/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              406a6c20a8a324ed6643246f9681da2aaff59aa3
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  410 days
Failing since        151818  2020-07-11 04:18:52 Z  409 days  399 attempts
Testing same since   164311  2021-08-21 16:36:59 Z    2 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  Cédric Bosdonnat <cbosdonnat@suse.com>
  Côme Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano Fidêncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Ian Wienand <iwienand@redhat.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  John Ferlan <jferlan@redhat.com>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  Ján Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Michał Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  Moshe Levi <moshele@nvidia.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr Drąg <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tomáš Golembiovský <tgolembi@redhat.com>
  Tomáš Janoušek <tomi@nomi.cz>
  Tuguoyi <tu.guoyi@h3c.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  William Douglas <william.douglas@intel.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 70327 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 24 05:37:19 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 05:37:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170669.311520 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIP7b-0004LV-A3; Tue, 24 Aug 2021 05:37:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170669.311520; Tue, 24 Aug 2021 05: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 1mIP7b-0004LO-67; Tue, 24 Aug 2021 05:37:15 +0000
Received: by outflank-mailman (input) for mailman id 170669;
 Tue, 24 Aug 2021 05:37:14 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jcJD=NP=m5p.com=ehem@srs-us1.protection.inumbo.net>)
 id 1mIP7Z-0004LF-Vu
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 05:37:14 +0000
Received: from mailhost.m5p.com (unknown [74.104.188.4])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 41aace8f-9d1f-46d5-86fd-ce9912672c55;
 Tue, 24 Aug 2021 05:37:12 +0000 (UTC)
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 17O5b1Hf003445
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Tue, 24 Aug 2021 01:37:07 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 17O5b1Tg003444;
 Mon, 23 Aug 2021 22:37: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: 41aace8f-9d1f-46d5-86fd-ce9912672c55
Date: Mon, 23 Aug 2021 22:37:01 -0700
From: Elliott Mitchell <ehem+xen@m5p.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org
Subject: Re: Xen C-state Issues
Message-ID: <YSSFffDK5/5MUAdj@mattapan.m5p.com>
References: <YSEo9Box2AFnmdLZ@mattapan.m5p.com>
 <dea9cf97-9332-b1c9-2cff-d87564832529@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <dea9cf97-9332-b1c9-2cff-d87564832529@suse.com>
X-Spam-Status: No, score=0.4 required=10.0 tests=KHOP_HELO_FCRDNS autolearn=no
	autolearn_force=no version=3.4.5
X-Spam-Checker-Version: SpamAssassin 3.4.5 (2021-03-20) on mattapan.m5p.com

On Mon, Aug 23, 2021 at 09:12:52AM +0200, Jan Beulich wrote:
> On 21.08.2021 18:25, Elliott Mitchell wrote:
> > ACPI C-state support might not see too much use, but it does see some.
> > 
> > With Xen 4.11 and Linux kernel 4.19, I found higher C-states only got
> > enabled for physical cores for which Domain 0 had a corresponding vCPU.
> > On a machine where Domain 0 has 5 vCPUs, but 8 reported cores, the
> > additional C-states would only be enabled on cores 0-4.
> > 
> > This can be worked around by giving Domain 0 vCPUs equal to cores, but
> > then offlining the extra vCPUs.  I'm guessing this is a bug with the
> > Linux 4.19 xen_acpi_processor module.
> > 
> > 
> > 
> > Appears Xen 4.14 doesn't work at all with Linux kernel 4.19's ACPI
> > C-state support.  This combination is unable to enable higher C-states
> > on any core.  Since Xen 4.14 and Linux 4.19 are *both* *presently*
> > supported it seems patch(es) are needed somewhere for this combination.
> 
> Hmm, having had observed the same quite some time ago, I thought I had
> dealt with these problems. Albeit surely not in Xen 4.11 or Linux 4.19.
> Any chance you could check up-to-date versions of both Xen and Linux
> (together)?

I can believe you got this fixed, but the Linux fixes never got
backported.

Of the two, higher C-states working with Linux 4.19 and Xen 4.11, but
not Linux 4.19 and Xen 4.14 is more concerning to me.  While offlining
extra vCPUs after boot is inefficient, it does work.  I'm unaware of any
potential workaround for disabled C-states.

Though on second thought some breakage with Xen showed up between
Linux 4.19.181 and 4.19.194.  Now I'm wondering whether the higher
C-states might have worked with 4.19.181...


-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |         ehem+sigmsg@m5p.com  PGP 87145445         |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445




From xen-devel-bounces@lists.xenproject.org Tue Aug 24 06:11:44 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 06:11:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170681.311543 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIPeq-0000EP-9B; Tue, 24 Aug 2021 06:11:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170681.311543; Tue, 24 Aug 2021 06:11:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIPeq-0000EI-5s; Tue, 24 Aug 2021 06:11:36 +0000
Received: by outflank-mailman (input) for mailman id 170681;
 Tue, 24 Aug 2021 06:11:34 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIPeo-0000EC-Il
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 06:11:34 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 20c1ce10-04a2-11ec-a8ab-12813bfff9fa;
 Tue, 24 Aug 2021 06:11:33 +0000 (UTC)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2050.outbound.protection.outlook.com [104.47.12.50]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-20-_44sbAoiO2eWT_fdo5hd5Q-1; Tue, 24 Aug 2021 08:11:30 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM4PR0401MB2418.eurprd04.prod.outlook.com (2603:10a6:200:4d::27)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Tue, 24 Aug
 2021 06:11:29 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 06:11:29 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR01CA0131.eurprd01.prod.exchangelabs.com (2603:10a6:208:168::36) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Tue, 24 Aug 2021 06:11: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: 20c1ce10-04a2-11ec-a8ab-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629785492;
	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=8CD0FWMFXLY+eTVIRCy7mctKYRIjHlhAEcF4Ef8INWM=;
	b=fhK2EQL9ReSN8kE1ajWuhXXD+da5FhWtix7qjRpQzmvd5J9eI5kEc32P5BGDaeVOdmyfuP
	JKdFZHM8BvbRAQ/YdUCKzVVhmXgVhO29/6MIvBhdCxvJ5hHrSTsLUORdSYttFPQFpmKhoz
	l+VeRqoMPWTEig54ufOqKMeWnKqQnI8=
X-MC-Unique: _44sbAoiO2eWT_fdo5hd5Q-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gw/Wkb8g3vK5sErrzDljt0gIP/sy+b3Bxr71vvxDzeGDSF4UxptFydvtG+FNmFps8V4s4r4+AM57C4M+9VjmLw6ssilmsr0zOpvFWImEGOaJWf5D6cAaEYZwnFOWI4mcx81gU35uIqT7xxWbMaO1ogT+IefkidmEUWzD/dmRyY+0wXW/OWxkgxBNmkHj5VLdAtKfBTW6d1hNCPF431sulbVGQHMMqPqTSz+X9fTtzzzTYvewHxBFNuh99+mHW4dmNginr75a2bvOieRo7kLuKKOecxRtM/Tp5Ym8A6wTQdmwrXv1Pq/91Gp1uJiC8QiXdr0rwRF8nnpzRIYoMiDPmw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8CD0FWMFXLY+eTVIRCy7mctKYRIjHlhAEcF4Ef8INWM=;
 b=C377jXZVhBoClT3AsiHXxSzcpH9YQX8sbuc9ojTUAV/kz+LXGqwUasj6iFOeY5aq2zvXdRYBXZl0dybhBGkHZ0WLQkLqd48ud/m5m6XxSQEUeJQoM5jPQ4vOMeU58HVUZH0Tvudk4ws+AITgr8V+zl4+4rIYCxedfbn2A/akQY3/WD/ck9QkYtkCft3f9Cza1hUxFhyvv2+8FnUFmROW0RiBCQba5aLYfqIA/Q9YGMmQUynWl+oF9+Ym/8Rt8oTAq7kxqFBFIQjQeK3vdiN7t28pc+VZ3+AFfIshSNQkf724F/1lKI8O9t1s/iah/XvvUKfqtZLcmbMddsfnK/cmXA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v3 1/4] public: Add page related definitions for accessing
 guests memory
To: Costin Lupu <costin.lupu@cs.pub.ro>
Cc: 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>, Ian Jackson <iwj@xenproject.org>,
 Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1629737453.git.costin.lupu@cs.pub.ro>
 <22031be8466bb18d1dd891481ccc67d8c2b2dd55.1629737453.git.costin.lupu@cs.pub.ro>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <accc3026-1043-6b90-eda4-1951ef808bdc@suse.com>
Date: Tue, 24 Aug 2021 08:11:26 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <22031be8466bb18d1dd891481ccc67d8c2b2dd55.1629737453.git.costin.lupu@cs.pub.ro>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM0PR01CA0131.eurprd01.prod.exchangelabs.com
 (2603:10a6:208:168::36) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: cf2e25dd-fa6d-4f5f-4672-08d966c60234
X-MS-TrafficTypeDiagnostic: AM4PR0401MB2418:
X-Microsoft-Antispam-PRVS:
	<AM4PR0401MB24185244DD365077AA9829B3B3C59@AM4PR0401MB2418.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yYUk22I6/Kp5EBOjzJ9E8aIX7gK9QWRTZrNer5Wzu8Cj8CTlQx6KuYqQHyAJ00uWyh3wi/PQWJ4aTVNgYi8HEzgU7jyOBr/4se5VUOsmjKPlwrCqpaX3AltSMLEK1BA0qx5RNOkioVzcjZXLCIT6e6IgKMI9X8y0U5m5YYLWI2KyW80BbFp7g9jIk32+5y061dTZLiS/4TWmSvdOtL/Qra4qSSW0f6IHEMxzYaBQUiKWU33tRlQMDpqk+rysbUH84VRyFLD6isRUpTKUz2EJjdejIbdPNB8Tilv37WuWxysS0Q+ecMI6WOE5NzgNqkfor4NKGFofl2+zLhMExLzo3JD5+xAqk9cU1fnSybESpWaTlhf7dnfkFAX7rn2kd7rQLlRwrJoe5qKnx4fmDngqj0jux6PayfjYREn/1Ya6xL1nMru0kidKpcavL5KCczJfk42XG9LHLkyq7b3HhYTa2T8xYZSgtNtNZ7rZyr0GudB7zo+9TO8lu8WTEKBstnMoy73xRXjDg9Fmt5MIGaUHqFXtudJUQzvrmWLD2yISvBgZSJU/yGE45BrCtismF4zEkxCKBGraj6BZVAaCSrRIH6Ti+qJOT1ALsGNl2gzNyxIOr6OZg2gufV+n6VDUy4DUc/aWT+ahNFj6GsmO8CvfluYGf67yxKp9XpvrCEVfzc9iyE3UR76dGQIiw4Y2/0u/
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(83380400001)(186003)(66476007)(16576012)(6486002)(66946007)(6916009)(508600001)(2616005)(66556008)(54906003)(4326008)(38100700002)(316002)(26005)(7416002)(956004)(8936002)(8676002)(31696002)(2906002)(53546011)(36756003)(5660300002)(86362001)(31686004)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?a2NqUUVxUnFqTkZ3RXRuZ0RYR2FsN01STjhoYncyWStJbGNENEFEekpxN3VI?=
 =?utf-8?B?M1FIUy9WZE1xWVpKd0Z1VFBJQUJnUllFcCt3dDkwa09UUnZPKy9MeldOUTFQ?=
 =?utf-8?B?Vlp6R1BUUU9QOUthL1lKS0MvSy82WTk3VDFlaWlGd0c2c0RBNUZqYlk3Zlo1?=
 =?utf-8?B?UEZZczRDcElUSE9qRXNUZ1d3TU1MVnpLWWI4UkJ0a3B5bXFBaXdtRHZLRHhV?=
 =?utf-8?B?YlFmLzhWVXQ5NkZTRUhsa1JCc3ZSMVA0Zk5YM2xkWVgwWE43bElENyt5RkxW?=
 =?utf-8?B?K1N1TUJKcTVoWWxSRHExRndMbS9iRnZjeFY2WWRaUFdnYklYSmhoL21qeEcz?=
 =?utf-8?B?UHEvalRkYTZXZEtCUllFRWd4OC9lTlJaMHhyUmE0Q215NmhmbXpCRzVTeFZC?=
 =?utf-8?B?UDZmbG9wZVNOUTRxU0RrRnVvTDF2UTVtdjAwSlkybG9jR09UZ25HaHVub05o?=
 =?utf-8?B?dFJ1ejhEN041ZmJMSHVqV3hmdE82K3lROURMOFl1SFpleTQ2ck1RclhnNW1n?=
 =?utf-8?B?RTZPTjV5ZmVJS3pPVEtCRXBZcmJoWXRXd3BEV3pkOVZNTEtXQ0xWelZjY3dJ?=
 =?utf-8?B?SWtVOEhyQXVETmJaaFF6RFpxMlpobndINHhyUTYycnZYbnhCRDdhbTFuUzd6?=
 =?utf-8?B?UTlvVDNHVmJQUFdMNW5tS0E4UW5qRmhuZWxsSCtWaWREOHFHZ0Y0ai9xOGFJ?=
 =?utf-8?B?dVVGT0Y1aFIwc2wvWDgzOXFaSkp6bjV3NzJkR3ZVZ2pPQVpEelNseFVYMDEv?=
 =?utf-8?B?emZmYkd0K1NkN2RVVThFOWlFdXVmZjZhOVJ4eFAyYVpCZ3lIWC9zV1QzRUUr?=
 =?utf-8?B?Vm51eDd6cm9jSkNDaVl3NEJuSENDL3g3RUlZZU1ObDk5RDYyc1FBS1J5RU53?=
 =?utf-8?B?bVhBZTNMeWNVNE1yZW1TY0NIS2lhYWtKWm5xK1dyL040Q1B5VllQK2pMRm5Y?=
 =?utf-8?B?K3dzZ21idUI2cnB1UWZyMlVmdExWRzZGWEQvR3lRUkY0Q1U5MWd1eUc1cW9L?=
 =?utf-8?B?OG9qZERPVks4S1djU00yWHl0YjRhbENlVG9lcVZDY1p2bXNIaW9NeHU3NTZM?=
 =?utf-8?B?ZTZoa1BoUnhvYkhKYTRHSzdzYjhzR0JDUitxcEUwdHBkY05yMllBTVRkMGEx?=
 =?utf-8?B?YXpzOFpsZnJBM3Uya01FaGsrc25VUnRSN2RHU2hCbmVoRXlTTTNGWm4wd1ZR?=
 =?utf-8?B?RHhZdUJxZ05vSEV6c3BIMXpvSHJzdWRHTUpDcERVMXVVVjhlaVZGNi8wSk45?=
 =?utf-8?B?dEZmN3F1NVpkMUIwbHVubnZQMlJiVzVkRG9yQTIwZHdJSjdBS3Mrc2RPTUQw?=
 =?utf-8?B?SnhLYXJPY25rTitKZytBS2NmekdwWjJLZTJlRlJtTTgvd0VXa0VaRzlOeGgw?=
 =?utf-8?B?OUQ4dzNHcjJUOVoveHJGZFUwdXVUcFBabHI5Z2JkWnFwSUtMVTFXeDYzamdp?=
 =?utf-8?B?NEtJVFhGZ1UzUnlkakJibElna1JnN2p6M1NINkNrblFOd2MwMVRRNU1JeG9a?=
 =?utf-8?B?cW9lL2svQ1psblJ5MG9XODZobGUvb1FtOVpxKzdyemZRQndvY1QyOHNhdTZp?=
 =?utf-8?B?a2ZlclBWVFczS3BWcU5qNDJRbzFhL3FEcm1tT3BKTk8zUEZLcVg0TW1Pd1lI?=
 =?utf-8?B?aUJXeUFQWElRck5qdjNmYVZVSTMwQzFsT3dwRm1JZnY0QjJRQmdBSFdISWdt?=
 =?utf-8?B?cldBR1hZd3ZPd25CbTd3ZnBOc0UwdFhmWlpKaXNQUnZFZGYyckR3ZkZYQ1J4?=
 =?utf-8?Q?AAUpHRtim+sEFvVP83WmhO68Et5A62Z6P4QgOoJ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cf2e25dd-fa6d-4f5f-4672-08d966c60234
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 06:11:28.0571
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 2O/s/oS/WRfCMCzZIBNjD7kbB15BB5Md6xa9rxjp9wiXc1owXG5jD8m5yvDlHV+OGehvNwzBcHQqGFQGpB4sSQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0401MB2418

On 23.08.2021 19:02, Costin Lupu wrote:
> These changes introduce the page related definitions needed for mapping and
> accessing guests memory. These values are intended to be used by any toolstack
> component that needs to map guests memory. Until now, the values were defined
> by the xenctrl.h header, therefore whenever a component had to use them it also
> had to add a dependency for the xenctrl library.
> 
> This patch also introduces xen_mk_long() macrodefinition for defining long
> constants both for C and assembler code.
> 
> Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>

x86 part:
Acked-by: Jan Beulich <jbeulich@suse.com>

This extends to the common parts only if the Arm side gets an ack,
since - as said before - there you're treating use of one unstable
interface (libxc) for another (the ABI) in supposedly stable
libraries, or - if the ABI is to be stable despite being exposed
to the tool stack only - you make it impossible to make the page
size variable down the road.

Just yesterday we've been (internally) talking about the similar
"maximum vCPU-s" aspect: This shouldn't be taken directly from the
ABI by tool stacks, as imo we ought to allow the upper bounds to
be configurable in the hypervisor (with the present limits merely
becoming limits of what can be configured). This would similarly
require a library function (or two, as HVM and PV limits are
likely different). I wonder whether we shouldn't have a stable
library providing functions to retrieve such limits. Initially the
library would return constants, short of the hypervisor providing
the needed data.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 06:14:50 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 06:14:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170687.311554 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIPhx-0000sV-Q0; Tue, 24 Aug 2021 06:14:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170687.311554; Tue, 24 Aug 2021 06: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 1mIPhx-0000sO-Le; Tue, 24 Aug 2021 06:14:49 +0000
Received: by outflank-mailman (input) for mailman id 170687;
 Tue, 24 Aug 2021 06:14:48 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIPhw-0000sI-Df
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 06:14:48 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 949b9064-04a2-11ec-a8ab-12813bfff9fa;
 Tue, 24 Aug 2021 06:14:47 +0000 (UTC)
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur02lp2054.outbound.protection.outlook.com [104.47.4.54]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-25--_Tb8paVMyeJct6Gv7N9qg-1; Tue, 24 Aug 2021 08:14:45 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM0PR04MB5218.eurprd04.prod.outlook.com (2603:10a6:208:c4::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Tue, 24 Aug
 2021 06:14:44 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 06:14:43 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM4PR0101CA0057.eurprd01.prod.exchangelabs.com (2603:10a6:200:41::25) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Tue, 24 Aug 2021 06: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: 949b9064-04a2-11ec-a8ab-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629785686;
	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=SedVO7fKHJffm8XxMC1S+DrN/iYMpNZxWPJq3WwUt4k=;
	b=hQPIUKzfIixaSmu4kqsBm5mUtrMOS2R3wxOhKgojnNtf/79/MKKGTw2afE9+KIWn3F9W5I
	nFo6hBCTLYK2HszSuKN/Q72JRVSeamr3h7NvkHgaoua+kSOpR09TKa/7HAW7MTH8NRaWHL
	tCADqsmsJViU40aIyOSZ0F2jVOUBclI=
X-MC-Unique: -_Tb8paVMyeJct6Gv7N9qg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mUa1Be5BEtNPhmWcSUwQBY1f5yd3vCk13v6PUZRsko82fJ63h8OpCJUHcU+s7lanJhfztbyTrHHXEN0ztksHGifTHi31jFzvJSeVTFiJytepOdz1LX9CSualVOnNqiCOxfEE0escXs/y6iOjkA8ukGTB1qBiCeZKX3jEGcKk07hyJKApLSw6g6JK2rAKcs6Bc/gOgjrszbwGh6NGQiYIFcquzylq7wgJh7EIsH8v4rITMIXhc+MOJqZ7uE/tJnd5vGnoUpqmMrQd0WIUOkX2vmVI1yvA9x64YYoSxAy3+EJRCpIoYuaR8T15ZXhSb9Lkb/2rl05LSDn4GZgwLrFTMw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SedVO7fKHJffm8XxMC1S+DrN/iYMpNZxWPJq3WwUt4k=;
 b=ISBKKIzOfPoJk/3FiHqBEmRMys5HJLH4C8U/YbjGY7KAOxKZvvisD16RKc6em7OCXYUiDREpcOERgySZ7pFnIclmXLYzveGR7M+zSwmSRgz2b2UPAPXHvLp4MJEZ+myeX3p4lhjIl7pk+/VJ7UaUFYnx5rm4LLQW9prsWlElHkLkgMyWG/1UPLNBFh3aMvHvmOC/5ThyENhtod7JZN9pPlcWR9tV9yin6Ak/7Ck+TKvi43u+i2CE6Eg73CJovDU0QuqTDgeGPtqno6y1DF+lp/NHpANAvNAZLl2jBqOMcRXt06AHNsMDtpW7XBLcIejC7Hq+BfLYe8azwA6lZIvHDw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: Xen C-state Issues
To: Elliott Mitchell <ehem+xen@m5p.com>
Cc: xen-devel@lists.xenproject.org
References: <YSEo9Box2AFnmdLZ@mattapan.m5p.com>
 <dea9cf97-9332-b1c9-2cff-d87564832529@suse.com>
 <YSSFffDK5/5MUAdj@mattapan.m5p.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <09fc5490-5b14-474c-dbe0-864952f19a33@suse.com>
Date: Tue, 24 Aug 2021 08:14:41 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <YSSFffDK5/5MUAdj@mattapan.m5p.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM4PR0101CA0057.eurprd01.prod.exchangelabs.com
 (2603:10a6:200:41::25) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a56e025a-fe31-4ff1-e3ee-08d966c67716
X-MS-TrafficTypeDiagnostic: AM0PR04MB5218:
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB52180F7D3D065B52650E4C33B3C59@AM0PR04MB5218.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Q9PtgqMlvHadx15e5b2ZuLsszzJfTnnt6uUCOFKAj8+M7W6siFTFD0Jxj6WE8OiOOxMCojLvExS2jxdfhNpOgl8OdKYXFSgy6WctwSZ6NCUhrf/4lZnX/h7WuxYRQxW+J9dJ6Yc7i+K4M2YcnfxixCJ+T1jNjLTU8MI5mkrr7tLxJpuaQryMSMPwo1Q3To0DbKAgKp+BJ+oNHRmlJswvviAHjv9uBArSDgplnFIhrHiUjc5CatCuh7/hS/uNWNZNIogJPHtaFUBrndUMNdQniADcGGeMLBVISQftARM2JUumYyXAKhsOT5oD2refM1O8Qt4or198O7+44aevX3Cnl/0rJgcJHsysSYQah2DincNukBglaPLhYJHYSZIeqwsxtbMTftSBy4W3I/jKSHgAk/6sKkamnc7rPXgyFzc3HUKeJNzBg2PMRIMpIiPL/d0B/o/AhstXWlkVlP8tUS6jTqdowH8GR5Nrb4muM0x4VkUujp7eYMeA/ci/cx96wuBL8I+lpA5waTxYXZ86sL/3XsqRpDtQW5vNBY232oEzvkzKnBATPzBC9HfdBTYfMMstpzXkdlAZnMz3AAOrHvt3H0y11NKWSTrLInnFNGhVHHCyjGo4KVgyfzMPfxvX8HkhMwidjxqNAZ4rAem+AveWea1KCWf+WWxZyO9vsRcBRgQylu3CMX86RnrOLIwljAag6ddi3HKVsD24MPqy9b+vXQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(376002)(346002)(396003)(39850400004)(136003)(2906002)(86362001)(6486002)(53546011)(66476007)(31696002)(186003)(38100700002)(956004)(2616005)(8936002)(31686004)(66556008)(4326008)(26005)(316002)(5660300002)(3480700007)(478600001)(66946007)(8676002)(36756003)(16576012)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VDYzdHhYRTRkc0huU3AzMlNaYkNZZ3dnejllOERuRUFsSEE0UXliQlBQZDdR?=
 =?utf-8?B?cjM0TWNnQ1V6bWhONDRuZEpIa3ZNMXEwalZVY1ZXbjdKTkVTRzUrYVpZSDQ2?=
 =?utf-8?B?b2ZRNU83VEhnQWFmQUhWUEcvY0RYZ0FuNFROQmdFbnVIbGZmb1dEWHFRUFll?=
 =?utf-8?B?djJJKzZ0UWQxQVdTdlN2TExLUXlybi8zZmtiZDVaZy8vWnRlR1Q2MVp1N0ov?=
 =?utf-8?B?QnUvMU14Z3hNWStSM0hxa0NNYncvTWxHRlVpT2tTRG5idUcvVFdVS2xpdXB0?=
 =?utf-8?B?ZmUvcDBnUTNmaHFPQ3dxNng0VkhjYXcrbG9DM200bld4MzltOWN2MXQ2eU9w?=
 =?utf-8?B?ZkNlTTZUT29qZU9BcC9TYnpRelVnZUNUNWh1UFlKbHI3R2N5S00yVG52ZnJT?=
 =?utf-8?B?OFVrcjliY2VaOHJYeUV2ZXM0TFQrVWRxNmRTNmI2WFVJb1Vvd0RubEZQa1Iv?=
 =?utf-8?B?UER2cVFaWmNJdWhRdnVDL0VCbmIxcWowV0dGSG9DenA3L1BrbzVyaEt2T1Mv?=
 =?utf-8?B?U3lXYVR1ZE9KS1pybHMrS1hnSDJtZzJidHhjWlBLcnpiL2N0MDZyZEFQN2h2?=
 =?utf-8?B?dWIzTXRaWU5Xd1E1djM0VWtzaDY5dkFiRElQYjFkZnNPY3NqT0ZVYnJIZHJX?=
 =?utf-8?B?djY0MG4zWkZXcjdDQzZWaGJkRER4VE56V0F5QjJJQ2lOQnBFdmtrbXB6R0NW?=
 =?utf-8?B?eWQwUXBSbDQzcVhyMXcybGhYZWNUelJhTXMzK0JiUytkaktPRjFEbUFETGI3?=
 =?utf-8?B?MXdZZ2FCZjZrb2JuSkF6NWVxZzFjWFRqU1lzUTFXdUhTdXczS2NWTWdON1Bk?=
 =?utf-8?B?d21ja0pxdFhLUXN2dTNCNkkvQjlNNG9CVlRIOGl0dU9MWEZ4NVFQOG1JdmlR?=
 =?utf-8?B?NHNCRDhabzdBSFpWQTVvMjNjc2JYRkJ1SVFWM2tVT2kyRzVpWnFrZFc4YkRU?=
 =?utf-8?B?RkFmK1IvM0FIMHZrT05GSkFuZGlhSkxYVXpSbzd0WnpGMko5VkdsTEtkSzBF?=
 =?utf-8?B?Y1dxbWhDOEJ2ei9uVm5IeGJMWUpBRUVOR01uYWNuZ3ZIQ3I4c0xhekhCbkpQ?=
 =?utf-8?B?SjYxSDMyUmVsQkNHd3NGcjdvUDNwZENzcXZLcU05MmFhQlFEYjI5dTI2bmpT?=
 =?utf-8?B?dmVuRlM0YWJvUHpWY3ljem9aTndCbWFtZUlST0pyc3VwVEZob3pZN2ZJWEJl?=
 =?utf-8?B?ZWFsZC9rd3BJNUhDbDZXOGZ3ZTZHVCs1WTA3MldxYWN1cVY0NFhtTEVCVGE0?=
 =?utf-8?B?WDdnbzF2a2ZHaU5GV2JYcUdlQmFaZ01jUnJGTlh6QlpsNXozclhIcS9jdi8v?=
 =?utf-8?B?anJ5TWM1eENTcEFKQzZ1R3BZdlZucit0Q3p1SWx0MGdHUHFQQVZ5bTVGWXJk?=
 =?utf-8?B?aDNHUzd4V1RETEtxVmVLRnZNRUZWZkJCUEZGYlVacDMrbWhwWmhyS0hWbDhP?=
 =?utf-8?B?bGkyTXRJVk0xam1EcW0zU0ZBUVYzWGNrTUVDcDRra212ZE1TelFDa1pQK1l4?=
 =?utf-8?B?VUxjRWh3akVNbUdBSUVFdExvZnFnYTNvV2VvV0FaTVR2NWVvSGNxNmltUXpY?=
 =?utf-8?B?T1J0akVSd3ZxNjNWNExVMytwMVY5TEVWWmdZT0xLSHhVWFlxN2pIemxmSGJ0?=
 =?utf-8?B?a1Yyd044bGtJYWJWeVIzSEcvTjdEcHVoSlFlYXZGVzU0MjlrSHNOWFMzUjRP?=
 =?utf-8?B?bVlLMzg1YlVMdjRZVVFtdWkzSmxNVnh0Q1dBWDErbGZzMHdwQjZMbkdyai9K?=
 =?utf-8?Q?KGhrEw8ZDBOCYO0aMwb9X7chh93qx661bpy9y7O?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a56e025a-fe31-4ff1-e3ee-08d966c67716
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 06:14:43.8721
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xJ/Lx2IH0K0nLMKBJcO8YU8ISvAQR2rktmw4u2W6BDFxC2ObFUmM0Av5gRXavO6U6xllgaevoZCMI0kBNYNmmw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB5218

On 24.08.2021 07:37, Elliott Mitchell wrote:
> On Mon, Aug 23, 2021 at 09:12:52AM +0200, Jan Beulich wrote:
>> On 21.08.2021 18:25, Elliott Mitchell wrote:
>>> ACPI C-state support might not see too much use, but it does see some.
>>>
>>> With Xen 4.11 and Linux kernel 4.19, I found higher C-states only got
>>> enabled for physical cores for which Domain 0 had a corresponding vCPU.
>>> On a machine where Domain 0 has 5 vCPUs, but 8 reported cores, the
>>> additional C-states would only be enabled on cores 0-4.
>>>
>>> This can be worked around by giving Domain 0 vCPUs equal to cores, but
>>> then offlining the extra vCPUs.  I'm guessing this is a bug with the
>>> Linux 4.19 xen_acpi_processor module.
>>>
>>>
>>>
>>> Appears Xen 4.14 doesn't work at all with Linux kernel 4.19's ACPI
>>> C-state support.  This combination is unable to enable higher C-states
>>> on any core.  Since Xen 4.14 and Linux 4.19 are *both* *presently*
>>> supported it seems patch(es) are needed somewhere for this combination.
>>
>> Hmm, having had observed the same quite some time ago, I thought I had
>> dealt with these problems. Albeit surely not in Xen 4.11 or Linux 4.19.
>> Any chance you could check up-to-date versions of both Xen and Linux
>> (together)?
> 
> I can believe you got this fixed, but the Linux fixes never got
> backported.
> 
> Of the two, higher C-states working with Linux 4.19 and Xen 4.11, but
> not Linux 4.19 and Xen 4.14 is more concerning to me.

I'm afraid without you providing detail (full verbosity logs) and
ideally checking with 4.15 or yet better -unstable it's going to be
hard to judge whether that's a bug, and if so where it might sit.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 06:18:40 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 06:18:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170692.311564 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIPlS-0001XK-94; Tue, 24 Aug 2021 06:18:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170692.311564; Tue, 24 Aug 2021 06: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 1mIPlS-0001XD-62; Tue, 24 Aug 2021 06:18:26 +0000
Received: by outflank-mailman (input) for mailman id 170692;
 Tue, 24 Aug 2021 06:18:25 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIPlR-0001X7-1e
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 06:18:25 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 153f71ea-04a3-11ec-a8ab-12813bfff9fa;
 Tue, 24 Aug 2021 06:18:23 +0000 (UTC)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2056.outbound.protection.outlook.com [104.47.14.56]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-28-GDu2f5Z3OjihrBHcZXN9BQ-1; Tue, 24 Aug 2021 08:18:21 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM8PR04MB7732.eurprd04.prod.outlook.com (2603:10a6:20b:237::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Tue, 24 Aug
 2021 06:18:19 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 06:18:19 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR2P264CA0034.FRAP264.PROD.OUTLOOK.COM (2603:10a6:101:1::22) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Tue, 24 Aug 2021 06:18:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 153f71ea-04a3-11ec-a8ab-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629785902;
	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=ZH1b1WONHeUppUmcrKdr4F4XzN3c8Xjs8z3MgFm2jFc=;
	b=MgBEunKSgfGUzmM1cG4MHrYiAottFm8yhobLT5mTdrHEEjS7Ynpbr6wv7oHaO+o5Ts+Oio
	7xgQipkuD6PtbnUv9fLJH5K05yf4WgYWUOYXhNO/PVQ3UVI3NQP9TmdnXXgPr5KmZvuMCW
	w1qRsz8uKJgyQ1VBfzCHmBuy/buAYwY=
X-MC-Unique: GDu2f5Z3OjihrBHcZXN9BQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kg8Usbm2T1z4xXlQCD52YXGffxov/abtmdRYKWwtVXT0r03zyJi9I9yYTttKb1adoFuIQ4KuhGQ2M/3/liIa8NapEhBOQtinyaEYVbXNuTEG9U2ClClxoX6uaPcU+UuhzyBx91JThQtB3+0ZNQOazcnYB5WMcBQUddPtmdQrdFlRQb/7oaCzKZk4RxBDV2QEMgSjYZ/EUbTbefgAAtc73IhPFnw4SlgodPK65m+9Akl92DmRTckoXOFezu0KOqJTZN+Ly+pFge51xLSDJuSiKMghzsCMBEgvQS7aWX1U9romKTFx8R7ZSs00Plio+U6BbiMdMGUjPhGdO4AUYHOq7Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZH1b1WONHeUppUmcrKdr4F4XzN3c8Xjs8z3MgFm2jFc=;
 b=YpnYucDEF8f2pbbpwd/s4zdvbydGW+tOUSeOh9zFGEhBjCwPeoO+pE2DHSHMZxQQJyeKzhMWrvRp8832IQsWSQQc3HBOFYhwYTEE2YzXFNPdSVeOCwK/v1KUWf8dabIO7cVpfXFHZTa9xBe+Fo4rgiH2BPs2IQSYQjUFVOqGhQElaOgogqEF7loOnt6J7QurLAhkVN0GI5POCvTyGoELZbl6zpbtUfeE6Lh4zx+YmF8y1J46XqeONlzyA/POMcVH2pI7belv+5hvekzIemh/ulDI3KQ292/+/afqFpZYkos3uYxFfud4FPGUZS9/KhrrBMIGnH8prquiaViRzZvEgg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: cs.pub.ro; dkim=none (message not signed)
 header.d=none;cs.pub.ro; dmarc=none action=none header.from=suse.com;
Subject: Re: [PATCH v2 1/4] public: Add page related definitions for accessing
 guests memory
To: Julien Grall <julien@xen.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org, Costin Lupu <costin.lupu@cs.pub.ro>
References: <cover.1629395092.git.costin.lupu@cs.pub.ro>
 <1d9338102d2013addfabc0cf9275ef156fd5080f.1629395092.git.costin.lupu@cs.pub.ro>
 <69747133-3d42-4179-2606-12b1d1a9c8a6@suse.com>
 <c942c080-183a-ddb2-f523-dd3354f5b4a0@cs.pub.ro>
 <a2d0be78-f53e-a100-838a-5af2a8ef1459@xen.org>
 <8ed65d58-2547-d4cf-0db7-74a2ab114a71@suse.com>
 <6dbe57f9-6355-d584-382f-a06779aa9121@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <addff815-987d-4ffa-3ed5-fcd9bba83cc5@suse.com>
Date: Tue, 24 Aug 2021 08:18:17 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <6dbe57f9-6355-d584-382f-a06779aa9121@xen.org>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR2P264CA0034.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:101:1::22) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c2897589-c04c-4fec-dff5-08d966c6f7bd
X-MS-TrafficTypeDiagnostic: AM8PR04MB7732:
X-Microsoft-Antispam-PRVS:
	<AM8PR04MB7732DC81D9E4A8DEEE621169B3C59@AM8PR04MB7732.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	L+IgulUlE5dDdhlcdhDkYD90TlNiodqWB8C9Ng85vTtY8VZZTm9Tq/doO0D7vmFkfG2/p3lVi2qdd2zI4Q9Y1Q+kJVRX6qNxthbRZjlR2Yk0XX85psRbdA4LPkGiVKPczZtSW70K1hqsZMIZaC9toBzMceNkEnE3zn5IkmzAjbnv5HP2qpv1HwEeMtyk1bQMfF9ZOwR6XS7/qiNF0hVIKHtvm0W1MOXgaPLZDxQerMNW9ybtwlSq4uiApoj1QHGO/rN1xk64nKE3iMeN7dKH8wds5Cz4kI7XEZkJXs61hl04Qm+MSfHtns/Jue0eSjEQbrKEbfSL9Ht5BQpOLuxfoavcdD8SUM9gHW7OC5NkDNi04/XOWeXKidJdpHaDUNtZfVi+izfea/BYqucaJdc/dlYt1K4czD5Ro1OJXLjcKJhvZeYptR+gPzt/QE5qveVCSgf6rdik4zCg7nzwpLkX2ErHaPGaKeL8+ruJsVzruz4OB0wjl/Xn7tjM2i/Ty1lUQT9lZJM4IGJ6C4rKjHcj85eJeSwTfoCtuJ2JA20FiaYvHBUy7zQBg/pBemzIAgvNGz4Bcie1UoZHhsQdHDZuXoxxoFaLzl963FElf3jiKOmGA733uysQ7r8hG2xSMnkb5AZmqYLCI9UEJH2qQDrMHoTHasLzNqzAgS/OS/YDXR7YOd2i+F5QdVNZoI1LWye5I7eOuFqNbjuj6bUngSqcdDz0Gy2xndUtrC4SDCIByN8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(38100700002)(5660300002)(6486002)(31696002)(83380400001)(66556008)(2616005)(26005)(956004)(2906002)(186003)(53546011)(36756003)(8676002)(54906003)(86362001)(6916009)(31686004)(4326008)(316002)(508600001)(66946007)(8936002)(66476007)(16576012)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TFpoTzFoQ1JWa29JK0NWTmg2elQxVkptZFp6aTl0a3FtTVNmSitvMzBCbEIv?=
 =?utf-8?B?SU43WTBwUEluL2hVQUlxRTRrWjRGeHhQU29ITHdxdENDVnFsM01DRFl4dXFU?=
 =?utf-8?B?S1N6T3FOeTVGSURPRzl1ankzV2x0TGFZelZEZ1ZFOWRPbmF4Y0V3QlZSajk4?=
 =?utf-8?B?ZTEwYW4wRmRtNUM3blkwTEFwMzNZaVRncGFWdEtFSkQvSmJ1enF6OGU1Y2xp?=
 =?utf-8?B?T2JQaTNJak53eG1haVFKdG1qUFI3TkZ6Qll5Z0s3QmhEMEdIWEZxVnp3UnNt?=
 =?utf-8?B?UUp6bi8rdWppb2RWMFdxZlQySDcvV3cxKytiNjdmdkhYcHI3TnZXSlJzNGRm?=
 =?utf-8?B?S0FtYlF0Y3NQUmw0T3Nlb1JnaW52Y2RjWUI1ajVTYXJYMVhrRzB3anNVMnhL?=
 =?utf-8?B?VjE2TGd1eVJaWFZQKytGV3dxODdvV0lldXRzSm5Celd3R1JlQlc3V0lQaHpY?=
 =?utf-8?B?aGd0aEo4OGNnK1p2TWRGaXV0UG1Rdzl6RGFIRWM2cXB1ZWNOQ1IxSnR6emVB?=
 =?utf-8?B?NzRxRHZFV2dhRWcrNlBtek0zU1VBMDhWeXFzRENwMjA4Z0J3YllyV01XM1RB?=
 =?utf-8?B?QnQ3SUhwU0JVUkpITmtSSGNMV0twUGJDVE9VUjBIclhtanZWemdPTWJTM3Ji?=
 =?utf-8?B?M1h2SkF3azNPcG4vNlRibjFLZGtla0NTUU9JR3YyYytjYUNYOEtYU3NuS1Fm?=
 =?utf-8?B?KzlxUVBnOTJ6eGVtWjJjaEZRc0lsNStrMmRDZHBSUmVLYUFuUmhDYmJQeFJB?=
 =?utf-8?B?NUtCR09TTFpNTDFKTHhmaXl3amJIRHB1QVFJSE8wWUJPYTEvK3FZWVpNYnhD?=
 =?utf-8?B?REczc2tmQXVGTWV1d2pocHBVMjViWEpibXpoWlIwK2NndEZXUCtwbVRQVWlo?=
 =?utf-8?B?ejJFV29LaGNUNjdlYmpTVEtaemtHdW9nRnNJRGJpWG5nQ1BDTUVvRkdHMGZ1?=
 =?utf-8?B?UmlSdmtuZkthYTRTQlRSdmk4bmdGTGxvNm05OE9FaVF6NzBmV0VOZzgxcGpW?=
 =?utf-8?B?RXRKMFJwK21udERpaHhjMklTWDN2SE5EeDhMaWxZZWJwR1hjNThEUXJYc0Ir?=
 =?utf-8?B?eTFQZURHSUtkcHB6b1hPempJNVgxOWJVRnVwbHYrSkplVDIvMmNWYXlkRnpH?=
 =?utf-8?B?VHYvNE5vby8wNnJPOXlDWFFoc1VTTEpVczQ5WTJ2V3ZoMllaUithejJzOVpY?=
 =?utf-8?B?NkM0Uk5DK2YrNklKRk0zeTNpTGpRWmlQd0I3aDR5V3NhSi9jYWJDVFJiNkpF?=
 =?utf-8?B?ajkwbUVFZ2hvcUhUczM1K1ZhZVVhbHpUYi8yMHlGamVoeXlEYk9SRjcwSHh4?=
 =?utf-8?B?aEcwY0cwK1ljNW53VThwZTFraVVxMUhmYkh5cXpvOXVQQ0daLzhncWVrVG1t?=
 =?utf-8?B?OVNsRkFSeUtOMDB2YkJlTDNMQXRzV0xxQWxyNjVlSEJZVVJrTDZxRW03UVNv?=
 =?utf-8?B?NVN0T2UreUVDekcvdU9CN25MUElKYm5mY00yYVFwRHl1ZStiSkJWdFZDZnU3?=
 =?utf-8?B?b0lCQzVVVUlwdEFOem8zS0lvRXdzd0FlK3M0dDRZWGxXUzEvM2h4cVBUdFdB?=
 =?utf-8?B?TkE4ZFVwVEZuSmFPOTA2R3J1OWJoUVJqSTducnI0Sk5BeldzZjNWRDlRcFZG?=
 =?utf-8?B?RTdLV2cvMUtmRExReGV1Vis1L1Q4b092cDMrZjRpcWV0YkJEalZ0dGRZWUxY?=
 =?utf-8?B?allRZGwyY1dkSUhQbVVJYjAvU1lrVEFwaUV6cjlqYXd3cUNYeS9kZFA4ZmRy?=
 =?utf-8?Q?5u3Mffq/mC7tug7I8YR7Gp9tAEm7KHAMbqzZrfS?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c2897589-c04c-4fec-dff5-08d966c6f7bd
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 06:18:19.7288
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HCWkl1vIbO2dhwJmiowrugDUqTTXn2pHVook4qO3Y57c8xFGUMqGUGA99UxSbSXHxK9ooVOyAQlOlyrZgQQUZQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7732

On 23.08.2021 19:16, Julien Grall wrote:
> Hi Jan,
> 
> On 20/08/2021 10:26, Jan Beulich wrote:
>> On 20.08.2021 11:08, Julien Grall wrote:
>>> On 20/08/2021 08:44, Costin Lupu wrote:
>>>> On 8/20/21 9:52 AM, Jan Beulich wrote:
>>>>>> --- /dev/null
>>>>>> +++ b/xen/include/public/page.h
>>>>>> @@ -0,0 +1,36 @@
>>>>>> +/******************************************************************************
>>>>>> + * page.h
>>>>>> + *
>>>>>> + * Page definitions for accessing guests memory
>>>>>> + *
>>>>>> + * Permission is hereby granted, free of charge, to any person obtaining a copy
>>>>>> + * of this software and associated documentation files (the "Software"), to
>>>>>> + * deal in the Software without restriction, including without limitation the
>>>>>> + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
>>>>>> + * sell copies of the Software, and to permit persons to whom the Software is
>>>>>> + * furnished to do so, subject to the following conditions:
>>>>>> + *
>>>>>> + * The above copyright notice and this permission notice shall be included in
>>>>>> + * all copies or substantial portions of the Software.
>>>>>> + *
>>>>>> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
>>>>>> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
>>>>>> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
>>>>>> + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
>>>>>> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
>>>>>> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
>>>>>> + * DEALINGS IN THE SOFTWARE.
>>>>>> + *
>>>>>> + * Copyright (c) 2021, Costin Lupu
>>>>>> + */
>>>>>> +
>>>>>> +#ifndef __XEN_PUBLIC_PAGE_H__
>>>>>> +#define __XEN_PUBLIC_PAGE_H__
>>>>>> +
>>>>>> +#include "xen.h"
>>>>>> +
>>>>>> +#define XEN_PAGE_SHIFT           12
>>>>>> +#define XEN_PAGE_SIZE            (xen_mk_long(1) << XEN_PAGE_SHIFT)
>>>
>>> This will use UL whereas on Arm a page frame should always be 64-bit
>>> regardless the bitness. Shouldn't this be converted to use xen_ulong_t
>>> instead?
>>
>> As pointed out on v1, XEN_PAGE_SIZE would better not end up as a
>> value of signed type, for ...
> 
> Did you mean "not end up as a value of **unsigned** type"...

Oh, of course I did. I'm sorry for the confusion caused.

>>>>>> +#define XEN_PAGE_MASK            (~(XEN_PAGE_SIZE - 1))
>>
>> ... this to suitably sign-extend to wider types is necessary.
> 
> ... because, if I am not mistaken, the sign-extension wouldn't happen 
> with unsigned type. But then on v1 you wrote:
> 
> "Imo the smallest type this should evaluate to is xen_ulong_t"
> 
> Which I interpreted as this value should be 64-bit on Arm32. If this not 
> what you meant then I am lost.

And there I would better have said "If indeed unsigned for whatever
reason, the smallest type this should evaluate to is xen_ulong_t."

>> Also unless you expect someone to use typeof(XEN_PAGE_SIZE) I'm
>> afraid I don't see where the constant being long vs xen_long_t
>> (if such existed) might matter.
>> Otoh perhaps xen_mk_ulong() would
>> better have produced a xen_ulong_t typed values in the first
>> place, but I'm afraid we can't alter the existing macro.
> 
> We can create a new one.

But we shouldn't carelessly add stuff, as we can't later remove it.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 06:25:27 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 06:25:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170698.311576 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIPsC-00033c-6m; Tue, 24 Aug 2021 06:25:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170698.311576; Tue, 24 Aug 2021 06:25:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIPsC-00033V-2x; Tue, 24 Aug 2021 06:25:24 +0000
Received: by outflank-mailman (input) for mailman id 170698;
 Tue, 24 Aug 2021 06:25: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 1mIPsA-00033L-8f; Tue, 24 Aug 2021 06:25: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 1mIPsA-00046j-1w; Tue, 24 Aug 2021 06:25: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 1mIPs9-0001H8-M7; Tue, 24 Aug 2021 06:25:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mIPs9-00016M-Lb; Tue, 24 Aug 2021 06: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=pGUd38WrjsmMYYF934BbtOBpyiJtCocprZrrZtONANU=; b=uUw7IkUgVpYA7VonGbff45oVg2
	COMkSE92ICsavvUMtOnrELdYuy09EHcLlzH+is0lOOEYnNOAXSI+Ztz3BqK8mrsxFisD1pWtSuq8/
	jBi5xB+trean5dAiWYIv6dT5aXO50Wjg4JDNyskJ6bCDN6zC8CFt6UzB9ae1n73YeQBI=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164353-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.14-testing test] 164353: regressions - FAIL
X-Osstest-Failures:
    xen-4.14-testing:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    xen-4.14-testing:test-armhf-armhf-xl-rtds:guest-start/debian.repeat: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-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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: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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-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:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=61f28060d5b899c502e2b3bf45a39b1dd2a1224c
X-Osstest-Versions-That:
    xen=49299c4813b7847d29df07bf790f5489060f2a9c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 24 Aug 2021 06:25:21 +0000

flight 164353 xen-4.14-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164353/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 163750
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 163750

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat  fail pass in 164300

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 163750
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 163750
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 163750
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 163750
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 163750
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 163750
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 163750
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 163750
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 163750
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 163750
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 163750
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  61f28060d5b899c502e2b3bf45a39b1dd2a1224c
baseline version:
 xen                  49299c4813b7847d29df07bf790f5489060f2a9c

Last test of basis   163750  2021-07-16 21:07:40 Z   38 days
Testing same since   164261  2021-08-19 17:07:29 Z    4 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 61f28060d5b899c502e2b3bf45a39b1dd2a1224c
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Jul 19 12:28:09 2021 +0200

    libxl/x86: check return value of SHADOW_OP_SET_ALLOCATION domctl
    
    The hypervisor may not have enough memory to satisfy the request. While
    there, make the unit of the value clear by renaming the local variable.
    
    Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    backport-requested-by: Jan Beulich <jbeulich@suse.com>
    (cherry picked from commit 0be5a00af590c97ea553aadb60f1e0b3af53d8f6)
    (cherry picked from commit 6bbdcefd205903b2181b3b4fdc9503709ecdb7c4)
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Tue Aug 24 08:45:51 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 08:45:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170728.311614 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIS3s-0000W1-T4; Tue, 24 Aug 2021 08:45:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170728.311614; Tue, 24 Aug 2021 08: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 1mIS3s-0000Vu-Nw; Tue, 24 Aug 2021 08:45:36 +0000
Received: by outflank-mailman (input) for mailman id 170728;
 Tue, 24 Aug 2021 08:45:35 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Tbfa=NP=lst.de=hch@srs-us1.protection.inumbo.net>)
 id 1mIS3r-0000Vo-9f
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 08:45:35 +0000
Received: from verein.lst.de (unknown [213.95.11.211])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id a4b547c8-04b7-11ec-a8b8-12813bfff9fa;
 Tue, 24 Aug 2021 08:45:33 +0000 (UTC)
Received: by verein.lst.de (Postfix, from userid 2407)
 id 45F8F67373; Tue, 24 Aug 2021 10:45:28 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a4b547c8-04b7-11ec-a8b8-12813bfff9fa
Date: Tue, 24 Aug 2021 10:45:27 +0200
From: Christoph Hellwig <hch@lst.de>
To: Tianyu Lan <ltykernel@gmail.com>
Cc: kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com,
	wei.liu@kernel.org, decui@microsoft.com, tglx@linutronix.de,
	mingo@redhat.com, bp@alien8.de, x86@kernel.org, hpa@zytor.com,
	dave.hansen@linux.intel.com, luto@kernel.org, peterz@infradead.org,
	konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, jgross@suse.com,
	sstabellini@kernel.org, joro@8bytes.org, will@kernel.org,
	davem@davemloft.net, kuba@kernel.org, jejb@linux.ibm.com,
	martin.petersen@oracle.com, arnd@arndb.de, hch@lst.de,
	m.szyprowski@samsung.com, robin.murphy@arm.com,
	thomas.lendacky@amd.com, brijesh.singh@amd.com, ardb@kernel.org,
	Tianyu.Lan@microsoft.com, pgonda@google.com,
	martin.b.radev@gmail.com, akpm@linux-foundation.org,
	kirill.shutemov@linux.intel.com, rppt@kernel.org,
	sfr@canb.auug.org.au, saravanand@fb.com, krish.sadhukhan@oracle.com,
	aneesh.kumar@linux.ibm.com, xen-devel@lists.xenproject.org,
	rientjes@google.com, hannes@cmpxchg.org, tj@kernel.org,
	michael.h.kelley@microsoft.com, iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org, linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org, vkuznets@redhat.com, parri.andrea@gmail.com,
	dave.hansen@intel.com
Subject: Re: [PATCH V3 05/13] HV: Add Write/Read MSR registers via ghcb page
Message-ID: <20210824084527.GA29844@lst.de>
References: <20210809175620.720923-1-ltykernel@gmail.com> <20210809175620.720923-6-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20210809175620.720923-6-ltykernel@gmail.com>
User-Agent: Mutt/1.5.17 (2007-11-01)

This patch fails to compile when CONFIG_AMD_MEM_ENCRYPT is not enabled,
in which case there is sev_es_ghcb_hv_call_simple is not defined.


From xen-devel-bounces@lists.xenproject.org Tue Aug 24 08:46:52 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 08:46:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170734.311625 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIS56-00014w-5L; Tue, 24 Aug 2021 08:46:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170734.311625; Tue, 24 Aug 2021 08: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 1mIS56-00014p-2H; Tue, 24 Aug 2021 08:46:52 +0000
Received: by outflank-mailman (input) for mailman id 170734;
 Tue, 24 Aug 2021 08:46:50 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Tbfa=NP=lst.de=hch@srs-us1.protection.inumbo.net>)
 id 1mIS54-00014h-KK
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 08:46:50 +0000
Received: from verein.lst.de (unknown [213.95.11.211])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 7d51cb1e-7a2f-4f45-add3-39c09f731333;
 Tue, 24 Aug 2021 08:46:49 +0000 (UTC)
Received: by verein.lst.de (Postfix, from userid 2407)
 id E9A5C67373; Tue, 24 Aug 2021 10:46:46 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7d51cb1e-7a2f-4f45-add3-39c09f731333
Date: Tue, 24 Aug 2021 10:46:46 +0200
From: "hch@lst.de" <hch@lst.de>
To: Tianyu Lan <ltykernel@gmail.com>
Cc: Michael Kelley <mikelley@microsoft.com>,
	KY Srinivasan <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Stephen Hemminger <sthemmin@microsoft.com>,
	"wei.liu@kernel.org" <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	"tglx@linutronix.de" <tglx@linutronix.de>,
	"mingo@redhat.com" <mingo@redhat.com>,
	"bp@alien8.de" <bp@alien8.de>, "x86@kernel.org" <x86@kernel.org>,
	"hpa@zytor.com" <hpa@zytor.com>,
	"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
	"luto@kernel.org" <luto@kernel.org>,
	"peterz@infradead.org" <peterz@infradead.org>,
	"konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	"boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>,
	"jgross@suse.com" <jgross@suse.com>,
	"sstabellini@kernel.org" <sstabellini@kernel.org>,
	"joro@8bytes.org" <joro@8bytes.org>,
	"will@kernel.org" <will@kernel.org>,
	"davem@davemloft.net" <davem@davemloft.net>,
	"kuba@kernel.org" <kuba@kernel.org>,
	"jejb@linux.ibm.com" <jejb@linux.ibm.com>,
	"martin.petersen@oracle.com" <martin.petersen@oracle.com>,
	"arnd@arndb.de" <arnd@arndb.de>, "hch@lst.de" <hch@lst.de>,
	"m.szyprowski@samsung.com" <m.szyprowski@samsung.com>,
	"robin.murphy@arm.com" <robin.murphy@arm.com>,
	"thomas.lendacky@amd.com" <thomas.lendacky@amd.com>,
	"brijesh.singh@amd.com" <brijesh.singh@amd.com>,
	"ardb@kernel.org" <ardb@kernel.org>,
	Tianyu Lan <Tianyu.Lan@microsoft.com>,
	"pgonda@google.com" <pgonda@google.com>,
	"martin.b.radev@gmail.com" <martin.b.radev@gmail.com>,
	"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
	"kirill.shutemov@linux.intel.com" <kirill.shutemov@linux.intel.com>,
	"rppt@kernel.org" <rppt@kernel.org>,
	"sfr@canb.auug.org.au" <sfr@canb.auug.org.au>,
	"saravanand@fb.com" <saravanand@fb.com>,
	"krish.sadhukhan@oracle.com" <krish.sadhukhan@oracle.com>,
	"aneesh.kumar@linux.ibm.com" <aneesh.kumar@linux.ibm.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"rientjes@google.com" <rientjes@google.com>,
	"hannes@cmpxchg.org" <hannes@cmpxchg.org>,
	"tj@kernel.org" <tj@kernel.org>,
	"iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org>,
	"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
	"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	vkuznets <vkuznets@redhat.com>,
	"parri.andrea@gmail.com" <parri.andrea@gmail.com>,
	"dave.hansen@intel.com" <dave.hansen@intel.com>
Subject: Re: [PATCH V3 13/13] HV/Storvsc: Add Isolation VM support for
 storvsc driver
Message-ID: <20210824084646.GB29844@lst.de>
References: <20210809175620.720923-1-ltykernel@gmail.com> <20210809175620.720923-14-ltykernel@gmail.com> <MWHPR21MB1593EEF30FFD5C60ED744985D7C09@MWHPR21MB1593.namprd21.prod.outlook.com> <a96626db-4ac9-3ce4-64e9-92568e4f827a@gmail.com> <CY4PR21MB158664748760672446BFA075D7C19@CY4PR21MB1586.namprd21.prod.outlook.com> <939aa552-5c24-65ee-518d-1cf72867c15d@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <939aa552-5c24-65ee-518d-1cf72867c15d@gmail.com>
User-Agent: Mutt/1.5.17 (2007-11-01)

On Sat, Aug 21, 2021 at 02:04:11AM +0800, Tianyu Lan wrote:
> After dma_map_sg(), we still need to go through scatter list again to 
> populate payload->rrange.pfn_array. We may just go through the scatter list 
> just once if dma_map_sg() accepts a callback and run it during go
> through scatter list.

Iterating a cache hot array is way faster than doing lots of indirect
calls.


From xen-devel-bounces@lists.xenproject.org Tue Aug 24 08:49:43 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 08:49:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170740.311636 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIS7q-0001m7-Kp; Tue, 24 Aug 2021 08:49:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170740.311636; Tue, 24 Aug 2021 08:49:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIS7q-0001m0-H7; Tue, 24 Aug 2021 08:49:42 +0000
Received: by outflank-mailman (input) for mailman id 170740;
 Tue, 24 Aug 2021 08:49:40 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Tbfa=NP=lst.de=hch@srs-us1.protection.inumbo.net>)
 id 1mIS7o-0001lq-PZ
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 08:49:40 +0000
Received: from verein.lst.de (unknown [213.95.11.211])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 91bb3ec2-2dde-4797-81ff-a1b7b7d7e52b;
 Tue, 24 Aug 2021 08:49:39 +0000 (UTC)
Received: by verein.lst.de (Postfix, from userid 2407)
 id 6100567373; Tue, 24 Aug 2021 10:49:35 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 91bb3ec2-2dde-4797-81ff-a1b7b7d7e52b
Date: Tue, 24 Aug 2021 10:49:34 +0200
From: "hch@lst.de" <hch@lst.de>
To: Michael Kelley <mikelley@microsoft.com>
Cc: "hch@lst.de" <hch@lst.de>, Tianyu Lan <ltykernel@gmail.com>,
	KY Srinivasan <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Stephen Hemminger <sthemmin@microsoft.com>,
	"wei.liu@kernel.org" <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	"tglx@linutronix.de" <tglx@linutronix.de>,
	"mingo@redhat.com" <mingo@redhat.com>,
	"bp@alien8.de" <bp@alien8.de>, "x86@kernel.org" <x86@kernel.org>,
	"hpa@zytor.com" <hpa@zytor.com>,
	"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
	"luto@kernel.org" <luto@kernel.org>,
	"peterz@infradead.org" <peterz@infradead.org>,
	"konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	"boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>,
	"jgross@suse.com" <jgross@suse.com>,
	"sstabellini@kernel.org" <sstabellini@kernel.org>,
	"joro@8bytes.org" <joro@8bytes.org>,
	"will@kernel.org" <will@kernel.org>,
	"davem@davemloft.net" <davem@davemloft.net>,
	"kuba@kernel.org" <kuba@kernel.org>,
	"jejb@linux.ibm.com" <jejb@linux.ibm.com>,
	"martin.petersen@oracle.com" <martin.petersen@oracle.com>,
	"arnd@arndb.de" <arnd@arndb.de>,
	"m.szyprowski@samsung.com" <m.szyprowski@samsung.com>,
	"robin.murphy@arm.com" <robin.murphy@arm.com>,
	"thomas.lendacky@amd.com" <thomas.lendacky@amd.com>,
	"brijesh.singh@amd.com" <brijesh.singh@amd.com>,
	"ardb@kernel.org" <ardb@kernel.org>,
	Tianyu Lan <Tianyu.Lan@microsoft.com>,
	"pgonda@google.com" <pgonda@google.com>,
	"martin.b.radev@gmail.com" <martin.b.radev@gmail.com>,
	"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
	"kirill.shutemov@linux.intel.com" <kirill.shutemov@linux.intel.com>,
	"rppt@kernel.org" <rppt@kernel.org>,
	"sfr@canb.auug.org.au" <sfr@canb.auug.org.au>,
	"saravanand@fb.com" <saravanand@fb.com>,
	"krish.sadhukhan@oracle.com" <krish.sadhukhan@oracle.com>,
	"aneesh.kumar@linux.ibm.com" <aneesh.kumar@linux.ibm.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"rientjes@google.com" <rientjes@google.com>,
	"hannes@cmpxchg.org" <hannes@cmpxchg.org>,
	"tj@kernel.org" <tj@kernel.org>,
	"iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org>,
	"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
	"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	vkuznets <vkuznets@redhat.com>,
	"parri.andrea@gmail.com" <parri.andrea@gmail.com>,
	"dave.hansen@intel.com" <dave.hansen@intel.com>,
	linux-rdma@vger.kernel.org, mpi3mr-linuxdrv.pdl@broadcom.com
Subject: min_align_mask Re: [PATCH V3 13/13] HV/Storvsc: Add Isolation VM
 support for storvsc driver
Message-ID: <20210824084934.GC29844@lst.de>
References: <20210809175620.720923-1-ltykernel@gmail.com> <20210809175620.720923-14-ltykernel@gmail.com> <MWHPR21MB1593EEF30FFD5C60ED744985D7C09@MWHPR21MB1593.namprd21.prod.outlook.com> <20210820043237.GC26450@lst.de> <CY4PR21MB1586FEB6F6ADD592C04E541BD7C19@CY4PR21MB1586.namprd21.prod.outlook.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <CY4PR21MB1586FEB6F6ADD592C04E541BD7C19@CY4PR21MB1586.namprd21.prod.outlook.com>
User-Agent: Mutt/1.5.17 (2007-11-01)

On Fri, Aug 20, 2021 at 03:40:08PM +0000, Michael Kelley wrote:
> I see that the swiotlb code gets and uses the min_align_mask field.  But
> the NVME driver is the only driver that ever sets it, so the value is zero
> in all other cases.  Does swiotlb just use PAGE_SIZE in that that case?  I
> couldn't tell from a quick glance at the swiotlb code.

The encoding isn't all that common.  I only know it for the RDMA memory
registration format, and RDMA in general does not interact very well
with swiotlb (although the in-kernel drivers should work fine, it is
userspace RDMA that is the problem).  It seems recently a new driver
using the format (mpi3mr) also showed up.  All these should probably set
the min_align_mask.


From xen-devel-bounces@lists.xenproject.org Tue Aug 24 08:56:01 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 08:56:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170750.311647 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mISDs-0003KU-G1; Tue, 24 Aug 2021 08:55:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170750.311647; Tue, 24 Aug 2021 08: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 1mISDs-0003KN-CW; Tue, 24 Aug 2021 08:55:56 +0000
Received: by outflank-mailman (input) for mailman id 170750;
 Tue, 24 Aug 2021 08:55:55 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mISDr-0003KH-ME
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 08:55:55 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mISDn-0007DR-Mx; Tue, 24 Aug 2021 08:55:51 +0000
Received: from [54.239.6.177] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mISDn-0004e7-Gm; Tue, 24 Aug 2021 08:55:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=wVgtpYlYjXQSb3UpiwNiOFTGs7zww5EnvDddJY0c+H8=; b=yJ7DW0i+n+EitzFhozPT6vk4tY
	iqc69TfDmGaXmPLp2F8WyDYDXwXN0jTWt25wv9lo2RzPNWb/UDoH5c15NH8osKmsu1N0VLeUDQb7e
	yiEIIO3kg1782nH0d78jLy+aEhGDtgL3hRTsaSZASLtTtUPU1n6UeCGZPI7g8nKgiG20=;
Subject: Re: Xen 4.16: Proposed release manager and schedule
To: Ian Jackson <iwj@xenproject.org>, committers@xenproject.org
Cc: xen-devel@lists.xenproject.org, George Dunlap <George.Dunlap@citrix.com>
References: <24861.8902.217023.673705@mariner.uk.xensource.com>
From: Julien Grall <julien@xen.org>
Message-ID: <478691b0-d01c-4d4d-66f7-c7f417293ced@xen.org>
Date: Tue, 24 Aug 2021 09:55:49 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <24861.8902.217023.673705@mariner.uk.xensource.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi,

On 18/08/2021 16:09, Ian Jackson wrote:
> We haven't formally appointed a release manager for Xen 4.16.
> I was approached and asked if I would do the job, and said yes,
> but I think things got stuck there.  Taking this as a prima
> faciae indication of community confidence, I hereby volunteer to
> take on this role.
> 
> And, I would like to tentatively propose the following schedule and
> policies for Xen 4.16.  This is based on the 4.15 schedule with some
> tweaks, and is intended to align the ultimate date roughly with the
> 4.10 and 4.13 releases, which were also in early/mid December.
> 
> I suggest we use the Lazy Consensus procedure to decide on the Release
> Manager appointment, starting now (since we're already rather late).
> In particular, if you feel someone else would make a better release
> manager, please say so right away.
> 
> For the release schedule, assuming I'm the RM, please send comments
> ASAP and in any case by noon UTC on Wednesday the 25th of August.  I
> hope to finalise the schedule then.
> 
> ** DRAFT **
> 
>    Friday 17th September                 Last posting date
> 
>      Patches adding new features should be posted to the mailing list
>      by this cate, although perhaps not in their final version.
>      (3 weeks)
> 
>    Friday 8th October                    Feature freeze
>   
>      Patches adding new features should be committed by this date.
>      Straightforward bugfixes may continue to be accepted by
>      maintainers.
>      (3 weeks)

At the moment, on Arm, I am tracking a few big series that are candidate 
for 4.16. Unfortunately, we will have some review bandwidth shortage 
over the next month so this will impact what we can merge on time.

So far, we don't have major features merged. If we follow this schedule, 
this will be a fairly quiet release.

I think on the Arm side, an extra week could give us some slack to merge 
part of what is currently under review on the ML.

I saw your answer to Jan about splipping the release for longer. I will 
answer there directly.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 24 09:17:40 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 09:17:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170758.311658 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mISYo-0005pY-9R; Tue, 24 Aug 2021 09:17:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170758.311658; Tue, 24 Aug 2021 09: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 1mISYo-0005pR-65; Tue, 24 Aug 2021 09:17:34 +0000
Received: by outflank-mailman (input) for mailman id 170758;
 Tue, 24 Aug 2021 09:17: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 1mISYm-0005pL-Uu
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 09:17: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 1mISYi-0007am-Nh; Tue, 24 Aug 2021 09:17:28 +0000
Received: from [54.239.6.186] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mISYi-00071u-HW; Tue, 24 Aug 2021 09:17:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=SPcgU1Wj2foiQgmDV260M9lK2mvEVW5aQeKvMNPW/s8=; b=iBo5Oj5fcGTHVBw3U8Qd5HiieK
	ymoDo6PathUG5+OgxOOS85NZ+Z/9xdpXWo7JAOsRcJQFZ0AVrVj0iZQbxGspipt2AdotZQV1jseYG
	BM5nN8eOP2Ov+XHVP+4+XE56/1M6bU8riQXdeKkhD4hCmSBcm5ROMHAo4C9RU6LkEZWw=;
Subject: Re: Xen 4.16: Proposed release manager and schedule
To: Ian Jackson <iwj@xenproject.org>, Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org, George Dunlap <George.Dunlap@citrix.com>,
 committers@xenproject.org
References: <24861.8902.217023.673705@mariner.uk.xensource.com>
 <5198b3ce-8a7c-a5b1-4ddd-f2052e1d4181@suse.com>
 <24862.31351.137596.242803@mariner.uk.xensource.com>
From: Julien Grall <julien@xen.org>
Message-ID: <db112874-eb0a-c9ad-4509-6d048b056038@xen.org>
Date: Tue, 24 Aug 2021 10:17:26 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <24862.31351.137596.242803@mariner.uk.xensource.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Ian,

On 19/08/2021 16:36, Ian Jackson wrote:
> Jan Beulich writes ("Re: Xen 4.16: Proposed release manager and schedule"):
>> On 18.08.2021 17:09, Ian Jackson wrote:
>>> ** DRAFT **
>>>
>>>    Friday 17th September                 Last posting date
>>>
>>>      Patches adding new features should be posted to the mailing list
>>>      by this cate, although perhaps not in their final version.
>>>      (3 weeks)
>>
>> Without meaning this to express any opposition to the proposed schedule,
>> I'd like to point out that as of mid July there's been unusually little
>> changes getting committed. The above leaves less than a month (plus the
>> 3 weeks of until feature freeze); at the present rate this would mean
>> about no further (larger) changes.
> 
> Thanks for your reply.  I recognise the problems you describe.
>  From my pov as (putative) RM it is difficult to see what could
> constructively be done about this situation.
> 
> One option is to slip the whole release, in the expectation (hope!) of
> collecting more input.  In practical terms because of the impact of
> Christmas and New Year on many of our contributors, a month's slip now
> is probably more like two months' slip to the release.  So arguably
> for this to be worth it, we ought to plan to slip 2 months now and
> release in February.

A 2 months slip looks appealling to get more features. But it means we 
will end up to split all the future releases.

IIRC the timing was chosen so the release avoids major holidays in 
various part of the world. So we would either need to decide on a new 
cadence or find a way (maybe the next release will be longer as well?) 
to get back on track.

> 
> Some of the thinness of this release in particular relates to an
> unusual combination of substantial leave taken by many key
> contributors, so maybe this is a thing we should consider.
> Even my proposing this schedule was rather late, in part for those
> reasons.
> 
> I don't personally have a strong opinion about the right decision.
> But if we are intending to release in December, I think something like
> my proposed schedule is probably about right.  Perhaps it could be
> compressed a bit due to the lack of major contributions so far.

At the moment, my preference is to stick with the release in December. 
We don't have major contributions checked in yet on Arm, but there is a 
chance to have a couple of them with the current schedule on Arm.

We also have a collection of bug fixes which makes Arm running better on 
some platform.

So I think the release would still be worthwhile even in the worst case 
where nothing major is merged.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 24 09:51:34 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 09:51:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170778.311695 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIT5b-0001pz-Av; Tue, 24 Aug 2021 09:51:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170778.311695; Tue, 24 Aug 2021 09:51:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIT5b-0001ps-7f; Tue, 24 Aug 2021 09:51:27 +0000
Received: by outflank-mailman (input) for mailman id 170778;
 Tue, 24 Aug 2021 09:51:25 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jFgo=NP=arm.com=Penny.Zheng@srs-us1.protection.inumbo.net>)
 id 1mIT5Z-0001jx-QZ
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 09:51:25 +0000
Received: from EUR03-AM5-obe.outbound.protection.outlook.com (unknown
 [40.107.3.85]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id d6e04b40-04c0-11ec-a8bd-12813bfff9fa;
 Tue, 24 Aug 2021 09:51:23 +0000 (UTC)
Received: from AS8PR04CA0015.eurprd04.prod.outlook.com (2603:10a6:20b:310::20)
 by DB8PR08MB4089.eurprd08.prod.outlook.com (2603:10a6:10:a7::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.23; Tue, 24 Aug
 2021 09:51:21 +0000
Received: from VE1EUR03FT027.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:310:cafe::1e) by AS8PR04CA0015.outlook.office365.com
 (2603:10a6:20b:310::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Tue, 24 Aug 2021 09:51:21 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT027.mail.protection.outlook.com (10.152.18.154) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Tue, 24 Aug 2021 09:51:20 +0000
Received: ("Tessian outbound 5918cb94a4b5:v103");
 Tue, 24 Aug 2021 09:51:20 +0000
Received: from 994f709d97c8.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 6900B23F-7D4E-4437-8459-65DD8356B926.1; 
 Tue, 24 Aug 2021 09:51:14 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 994f709d97c8.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 24 Aug 2021 09:51:14 +0000
Received: from AM5PR0201CA0003.eurprd02.prod.outlook.com
 (2603:10a6:203:3d::13) by PAXPR08MB6333.eurprd08.prod.outlook.com
 (2603:10a6:102:12c::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Tue, 24 Aug
 2021 09:51:12 +0000
Received: from VE1EUR03FT044.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:203:3d:cafe::5) by AM5PR0201CA0003.outlook.office365.com
 (2603:10a6:203:3d::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17 via Frontend
 Transport; Tue, 24 Aug 2021 09:51:12 +0000
Received: from nebula.arm.com (40.67.248.234) by
 VE1EUR03FT044.mail.protection.outlook.com (10.152.19.106) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4436.19 via Frontend Transport; Tue, 24 Aug 2021 09:51:12 +0000
Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX04.Arm.com
 (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Tue, 24 Aug
 2021 09:51:09 +0000
Received: from penny.shanghai.arm.com (10.169.190.66) by mail.arm.com
 (10.251.24.32) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Tue, 24 Aug 2021 09:51: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: d6e04b40-04c0-11ec-a8bd-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sgS1Rf3ebomsvnvr/wY+lSEo95uM3e33VHow5395u4k=;
 b=mibLvdyD7IHZhVLqONO9NMM7qZ1LWJo+KRg8oNxux+bsCzDNWREDoCpLcglV///3924VGe40O4EgAh0d37B4lJQZbnmRmcf9o8ODEAvFjbhnQVBe+fFrqVnsJcEaoQtSf6CBqXAiFVb/fV3aOqB8WGmizgChpYekfUiI7wxDrPo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: a7a8e112fc7dfd32
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cr325YzIupOpAOA1/LY2pt7ID9zs6NLcgNrCfbZVv4wrgZcj1EYMCd9XGRn0fcDAOXSCDqKdoaVCh5V7poHmfTm+Dm4j7yRSl7tHPrbe9N4VkDHOpvpOH5UqHflbsDGvsjJBNhHeUOUrR1f1+mOQoEkneyBnGMh1ybMnZXcaVpExGLZlgAHetU2OibXvQeFAbhMo9ClHqfFp8CFqNcpih5luLFRWsqc0P6yyGZXzTuqPff4QVxp67zY7jgIfOrX1aKVmOCqbmyd10Qux6J5rPyiZoGlmrHEiZjDHag3/Apq6vrvjdbdSNshHjUGI6EP41F/3StZCd4ky2lTmmT1TKA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sgS1Rf3ebomsvnvr/wY+lSEo95uM3e33VHow5395u4k=;
 b=nM1s/jzKG1cWuMVzLzHmD5BAy6PhR3an9JalFyXCubi/bmbII2zm86s7oP76GZltNnx/wV1FoizqSrF0XABLFZjYyx2Osmw/zVKVz4oIFX4+wTY82OBY4o/We6/9/G9VFGKM4751s80yE7sS90W3RI/U+Uy0pLyjzk1DhdUIX0qGYvde4LCQ3oeNf8iQkCeBbEuYFw7BWGrpmDK+32wN3LEWzYMVLtDTrSO714sfRMpPlqYqHKHrQL3EUdOHEu7CDWA+EGZd7u0/FHal/6+qSuIVPhY4B6R/obHSHVIlw74M4SxaHT6EjMtqJc2CVRzaqA7jbO370cw0Hd3+0mgN0A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sgS1Rf3ebomsvnvr/wY+lSEo95uM3e33VHow5395u4k=;
 b=mibLvdyD7IHZhVLqONO9NMM7qZ1LWJo+KRg8oNxux+bsCzDNWREDoCpLcglV///3924VGe40O4EgAh0d37B4lJQZbnmRmcf9o8ODEAvFjbhnQVBe+fFrqVnsJcEaoQtSf6CBqXAiFVb/fV3aOqB8WGmizgChpYekfUiI7wxDrPo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Penny Zheng <penny.zheng@arm.com>
To: <xen-devel@lists.xenproject.org>, <sstabellini@kernel.org>,
	<julien@xen.org>
CC: <Bertrand.Marquis@arm.com>, <Penny.Zheng@arm.com>, <Wei.Chen@arm.com>,
	<nd@arm.com>
Subject: [PATCH v5 2/7] xen/arm: introduce domain on Static Allocation
Date: Tue, 24 Aug 2021 09:50:40 +0000
Message-ID: <20210824095045.2281500-3-penny.zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210824095045.2281500-1-penny.zheng@arm.com>
References: <20210824095045.2281500-1-penny.zheng@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 31fd7733-6bd5-41b4-e01a-08d966e4ba08
X-MS-TrafficTypeDiagnostic: PAXPR08MB6333:|DB8PR08MB4089:
X-Microsoft-Antispam-PRVS:
	<DB8PR08MB4089EE44A9621E1B7BA7BAD2F7C59@DB8PR08MB4089.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:3826;OLM:3826;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 rJ7GmzhwkieSGiYdEyCQEKv50U5jUmAsAk2PqOulPk+2lDcViMtBCZUpC66LzLflzLspz4p0hBStw0H7q1onkiqxWtp+DEj1sMueBC8wbG9zwewLaHVBhPAxr25ZP1QdeYv4KRHZOLR8/Ht7Hd3bIl4TLWz2sSpZ2IFBCxSNe38x0ZknoeGRDN9c8trtysG+735lTHfFlpgElMO7KoNA96nK6u+XGEO2NYeRQJn8e2X+unaLzmyHIfjoH+qdLZLicnBD9Y3uGpgVPpyxx16coEA6AlupbTW3Cr5AH3NHPKBCsP8a9cAkeLcOgQb2UJffo9BUlIXnmucC4YaKS21gCPLVdkWZY1/rX8IcPbPqqILtSjMBMS8SW4AC+eOpTgoVqX613YzIEEGtSizbeMHKy60FpxNlOmUAzs6XYTZbAeAIfHDFecVdPRYKan97I7lcc0PuXVzv6ApbPqlqEjEqVs+fhwsudN5xxceDIWfgZzRf1mJhJ7XcK/lTkvWrQV6yCVH3pviOwnbVkR0EbfiuIDzEZ69VrrDmjQo0kXMD/894L7XmbQZIMH3kHfd78KL4Jv6fFx8MKhm99laWPKfrmWJkDwVSl2BEDMfEkkXZnzYRw1NeQspz5zeeWZX7VKNJcp4nevO+n6B8SazKgGtcImXC+splfh+RTzK6ivB4rov+yjz/A+qax9JxkK56HzgVHuVmFKzqdGVdLL2piQ7M25mmZ+pzDWnRFQWZ56BuyGQ=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(346002)(396003)(136003)(39860400002)(376002)(36840700001)(46966006)(36860700001)(83380400001)(426003)(36756003)(82310400003)(82740400003)(356005)(81166007)(2616005)(5660300002)(70206006)(47076005)(110136005)(316002)(44832011)(186003)(478600001)(70586007)(4326008)(2906002)(8676002)(6666004)(336012)(7696005)(26005)(86362001)(54906003)(1076003)(8936002)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6333
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT027.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	8a15d582-71ce-434f-1c9e-08d966e4b51f
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MnFmhpuQHPBh2pDyCfar4UvRieuUCaFnXz8VxmFEH4598/Lfgd6rfRpakTzoYnIfOfb7XoaTltz7R+otrG0co1FJytwXS1ERqqgW3v4qsXffUmRhrWm16LCvZ3RppljEDDv2OshiqhyUoOhEap57Paf08GheOG27+CVNrvyqToXxyhUGc1e4HQZvxmJVr2RhR9xE1XCgPDcE5g96bkEtxMfYJBeO+J2zrpHkNL6QqrR9O80kcF14ELqtnedlFvzYiIuLoIBhl62AM7gOzBPqd8A2nQMTmB+5aJJ0fMEFZ61lQsCd/MEcDpigwMOw95sLrajuWHKpzLyCif/cjOhwdrNoq0J++wuG1ExqlUsFWlaUM7evYASjjfqQJXZzOvfodzJdwDO8G4V6/Aix+HGXe+hZwsFkD9WQdcTagBza4/uqWIFLG7Fn3iPP+FdJSeW3rlh5dInjklqcWZAZ9aKSAFxPFESHKoinbrL1oWGOQloaJOO3c+iOEVhsTVaL1YhsICgu4H/mvMPh0K1t9Tb+/etGEf/yJEB5SeIFJMs6vHLHeQETXAT75CZtlaAHLRidFrqMVNdtBkSYKGzSMeHVsOV3tllb3x7bBYULhG2zZpB+5NT5JjCKhOmaCfXGEXvFvTlZIwVE46rrInrr9vV42pw8WG/zCbD4w6EXvi1hwPg4RyYjhfgLW8RzhtrulhPF1PG9cVQCwN1Ut4/Gf8Uh7Q==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(39860400002)(136003)(346002)(396003)(376002)(36840700001)(46966006)(86362001)(186003)(426003)(336012)(5660300002)(8936002)(36756003)(8676002)(110136005)(83380400001)(54906003)(26005)(82740400003)(70206006)(82310400003)(6666004)(70586007)(316002)(7696005)(36860700001)(47076005)(2906002)(1076003)(4326008)(81166007)(2616005)(44832011)(478600001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 09:51:20.8316
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 31fd7733-6bd5-41b4-e01a-08d966e4ba08
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT027.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB4089

Static Allocation refers to system or sub-system(domains) for which memory
areas are pre-defined by configuration using physical address ranges.
Those pre-defined memory, -- Static Memory, as parts of RAM reserved in the
beginning, shall never go to heap allocator or boot allocator for any use.

Memory can be statically allocated to a domain using the property "xen,static-
mem" defined in the domain configuration. The number of cells for the address
and the size must be defined using respectively the properties
"#xen,static-mem-address-cells" and "#xen,static-mem-size-cells".

This patch introduces this new `xen,static-mem` feature, and also documents
and parses this new attribute at boot time.

This patch also introduces a new field "bool xen_domain" in "struct membank"
to tell the difference of one memory bank is reserved as the whole
hardware resource, or bind to one specific xen domain node, through
"xen,static-mem"

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
---
v5 changes:
- check the node using the Xen domain binding whether contains the property
"xen,static-mem", not the property itself
- add "rc = ..." to get the error propagated
- introduce new field "bool xen_domain", then static memory shall be also stored
as reserved memory(bootinfo.reserved_mem), but being bind to one
specific Xen domain node.
- doc refinement
---
 docs/misc/arm/device-tree/booting.txt | 33 ++++++++++++++++++++++++
 xen/arch/arm/bootfdt.c                | 36 +++++++++++++++++++++++++--
 xen/include/asm-arm/setup.h           |  1 +
 3 files changed, 68 insertions(+), 2 deletions(-)

diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt
index 5243bc7fd3..95b20ddc3a 100644
--- a/docs/misc/arm/device-tree/booting.txt
+++ b/docs/misc/arm/device-tree/booting.txt
@@ -268,3 +268,36 @@ The DTB fragment is loaded at 0xc000000 in the example above. It should
 follow the convention explained in docs/misc/arm/passthrough.txt. The
 DTB fragment will be added to the guest device tree, so that the guest
 kernel will be able to discover the device.
+
+
+Static Allocation
+=============
+
+Static Allocation refers to system or sub-system(domains) for which memory
+areas are pre-defined by configuration using physical address ranges.
+
+Memory can be statically allocated to a domain using the property "xen,static-
+mem" defined in the domain configuration. The number of cells for the address
+and the size must be defined using respectively the properties
+"#xen,static-mem-address-cells" and "#xen,static-mem-size-cells".
+
+Below is an example on how to specify the static memory region in the
+device-tree:
+
+    / {
+        chosen {
+            domU1 {
+                compatible = "xen,domain";
+                #address-cells = <0x2>;
+                #size-cells = <0x2>;
+                cpus = <2>;
+                #xen,static-mem-address-cells = <0x1>;
+                #xen,static-mem-size-cells = <0x1>;
+                xen,static-mem = <0x30000000 0x20000000>;
+                ...
+            };
+        };
+    };
+
+This will reserve a 512MB region starting at the host physical address
+0x30000000 to be exclusively used by DomU1
diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
index 8c81be3379..00f34eec58 100644
--- a/xen/arch/arm/bootfdt.c
+++ b/xen/arch/arm/bootfdt.c
@@ -66,7 +66,7 @@ void __init device_tree_get_reg(const __be32 **cell, u32 address_cells,
 static int __init device_tree_get_meminfo(const void *fdt, int node,
                                           const char *prop_name,
                                           u32 address_cells, u32 size_cells,
-                                          void *data)
+                                          void *data, bool xen_domain)
 {
     const struct fdt_property *prop;
     unsigned int i, banks;
@@ -90,6 +90,7 @@ static int __init device_tree_get_meminfo(const void *fdt, int node,
             continue;
         mem->bank[mem->nr_banks].start = start;
         mem->bank[mem->nr_banks].size = size;
+        mem->bank[mem->nr_banks].xen_domain = xen_domain;
         mem->nr_banks++;
     }
 
@@ -184,7 +185,8 @@ static int __init process_memory_node(const void *fdt, int node,
         return -EINVAL;
     }
 
-    return device_tree_get_meminfo(fdt, node, "reg", address_cells, size_cells, data);
+    return device_tree_get_meminfo(fdt, node, "reg", address_cells, size_cells,
+                                   data, false);
 }
 
 static int __init process_reserved_memory_node(const void *fdt, int node,
@@ -338,6 +340,34 @@ static void __init process_chosen_node(const void *fdt, int node,
     add_boot_module(BOOTMOD_RAMDISK, start, end-start, false);
 }
 
+static int __init process_domain_node(const void *fdt, int node,
+                                       const char *name,
+                                       u32 address_cells, u32 size_cells)
+{
+    const struct fdt_property *prop;
+
+    printk("Checking for \"xen,static-mem\" in domain node\n");
+
+    prop = fdt_get_property(fdt, node, "xen,static-mem", NULL);
+    if ( !prop )
+        /* No "xen,static-mem" present. */
+        return 0;
+
+    address_cells = device_tree_get_u32(fdt, node,
+                                        "#xen,static-mem-address-cells", 0);
+    size_cells = device_tree_get_u32(fdt, node,
+                                     "#xen,static-mem-size-cells", 0);
+    if ( address_cells < 1 || size_cells < 1 )
+    {
+        printk("fdt: node `%s': invalid #xen,static-mem-address-cells or #xen,static-mem-size-cells",
+               name);
+        return -EINVAL;
+    }
+
+    return device_tree_get_meminfo(fdt, node, "xen,static-mem", address_cells,
+                                   size_cells, &bootinfo.reserved_mem, true);
+}
+
 static int __init early_scan_node(const void *fdt,
                                   int node, const char *name, int depth,
                                   u32 address_cells, u32 size_cells,
@@ -356,6 +386,8 @@ static int __init early_scan_node(const void *fdt,
         process_multiboot_node(fdt, node, name, address_cells, size_cells);
     else if ( depth == 1 && device_tree_node_matches(fdt, node, "chosen") )
         process_chosen_node(fdt, node, name, address_cells, size_cells);
+    else if ( depth == 2 && device_tree_node_compatible(fdt, node, "xen,domain") )
+        rc = process_domain_node(fdt, node, name, address_cells, size_cells);
 
     if ( rc < 0 )
         printk("fdt: node `%s': parsing failed\n", name);
diff --git a/xen/include/asm-arm/setup.h b/xen/include/asm-arm/setup.h
index c4b6af6029..6c3c16294b 100644
--- a/xen/include/asm-arm/setup.h
+++ b/xen/include/asm-arm/setup.h
@@ -24,6 +24,7 @@ typedef enum {
 struct membank {
     paddr_t start;
     paddr_t size;
+    bool xen_domain; /* whether memory bank is bind to Xen domain. */
 };
 
 struct meminfo {
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 09:51:34 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 09:51:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170779.311706 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIT5f-0002A5-Pj; Tue, 24 Aug 2021 09:51:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170779.311706; Tue, 24 Aug 2021 09:51: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 1mIT5f-00029u-LP; Tue, 24 Aug 2021 09:51:31 +0000
Received: by outflank-mailman (input) for mailman id 170779;
 Tue, 24 Aug 2021 09:51:30 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jFgo=NP=arm.com=Penny.Zheng@srs-us1.protection.inumbo.net>)
 id 1mIT5e-0001jx-IE
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 09:51:30 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com (unknown
 [40.107.14.53]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id d863c26c-04c0-11ec-a8bd-12813bfff9fa;
 Tue, 24 Aug 2021 09:51:25 +0000 (UTC)
Received: from AM6PR05CA0036.eurprd05.prod.outlook.com (2603:10a6:20b:2e::49)
 by VE1PR08MB5789.eurprd08.prod.outlook.com (2603:10a6:800:1b3::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Tue, 24 Aug
 2021 09:51:21 +0000
Received: from VE1EUR03FT057.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:2e:cafe::8a) by AM6PR05CA0036.outlook.office365.com
 (2603:10a6:20b:2e::49) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Tue, 24 Aug 2021 09:51:20 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT057.mail.protection.outlook.com (10.152.19.123) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Tue, 24 Aug 2021 09:51:20 +0000
Received: ("Tessian outbound 8b41f5fb4e9e:v103");
 Tue, 24 Aug 2021 09:51:20 +0000
Received: from adc004bf6f7e.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 3B52D7D6-362E-4D86-AEFD-C85867EF2FA3.1; 
 Tue, 24 Aug 2021 09:51:12 +0000
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id adc004bf6f7e.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 24 Aug 2021 09:51:12 +0000
Received: from PR3P191CA0004.EURP191.PROD.OUTLOOK.COM (2603:10a6:102:54::9) by
 PAXPR08MB6413.eurprd08.prod.outlook.com (2603:10a6:102:de::8) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19; Tue, 24 Aug 2021 09:51:04 +0000
Received: from VE1EUR03FT034.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:102:54:cafe::7c) by PR3P191CA0004.outlook.office365.com
 (2603:10a6:102:54::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Tue, 24 Aug 2021 09:51:04 +0000
Received: from nebula.arm.com (40.67.248.234) by
 VE1EUR03FT034.mail.protection.outlook.com (10.152.18.85) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4436.19 via Frontend Transport; Tue, 24 Aug 2021 09:51:04 +0000
Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX04.Arm.com
 (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Tue, 24 Aug
 2021 09:51:04 +0000
Received: from penny.shanghai.arm.com (10.169.190.66) by mail.arm.com
 (10.251.24.32) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Tue, 24 Aug 2021 09:51:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d863c26c-04c0-11ec-a8bd-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3hSXwV+LF8aZ6rr1B6EiK6NpwkJjwqXzs3QVlw9mGFM=;
 b=TeczPd6c0M1xBSz9cSegDTF96DeK5W4ksnCmA1FrR48r5u9ta8oT5wToWI4wLg3lVp8sbW6qGbj5JtQsaA8z2+th1u37R/DyUVonDXEq6qHj9YPT0Lm6aVQXw+qrRFpXkpUkvXE9bYeXboNvbSBdmazHlDruGRiDbDSjjuwAG+A=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 2e60c7edc7a8b935
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gjAzDU+FwZyqJjo1puhQBZyOCSuRrb7ZLK4Vwwiue+YB3SNSh4uSHSdGU+u66Ktyo3nniwyz+PCVzwT3DecfBKenrUWIZymNq+ptE1GfGg8eV9Yv98aLaVka4r3JIdZCmw5JkVffhavV69kYXuxtxl2GRc/nPRCuFzQXODoUj8JeHGdtW2NIm8Bo2O209lTuehc+St/E4aWqiD1Kvt+O1Xwn69zUhvJuIKBwXzGRgQp0m52fYP8cfxEooB1zhS8jQpI81vFt3dnaUGk/BneINX4dWzEMhH3eYGljOcpr3ZGNORuOThqSsA5Rgxdpvfr3dUVceGxXrIlFftbkP97/VQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3hSXwV+LF8aZ6rr1B6EiK6NpwkJjwqXzs3QVlw9mGFM=;
 b=TgPEYMnlifej0llVdjG/DiPldqVWLvJDFjplC6EWC0pGbnNzD7IHroA8DvfVmkkQZGv7M5k8Svvy0D5A1/4BxXLcjJ44bywdLDND/K7bf6FqsvKzNk56To+0LNq46OKYOrJBOXrR+4l+T2jmrddQHLcqzFQ53M0XzNB+nwa55gJs5XeYnFjzRW47rj9dSI1fhIOOk8B4pg0Px/VlJyMpGa3qb8GeMPiILw1rdY/VRaREONPJw3CgDGfwgNKPR3PH2qK7VS8wxbpmklFKNP6PKB+LMdJLbgY7CCapD2q+H8QA8X26AQjFfIllX6rT1xzCngtXVgEWaLE/NAw0ayITAQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3hSXwV+LF8aZ6rr1B6EiK6NpwkJjwqXzs3QVlw9mGFM=;
 b=TeczPd6c0M1xBSz9cSegDTF96DeK5W4ksnCmA1FrR48r5u9ta8oT5wToWI4wLg3lVp8sbW6qGbj5JtQsaA8z2+th1u37R/DyUVonDXEq6qHj9YPT0Lm6aVQXw+qrRFpXkpUkvXE9bYeXboNvbSBdmazHlDruGRiDbDSjjuwAG+A=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Penny Zheng <penny.zheng@arm.com>
To: <xen-devel@lists.xenproject.org>, <sstabellini@kernel.org>,
	<julien@xen.org>
CC: <Bertrand.Marquis@arm.com>, <Penny.Zheng@arm.com>, <Wei.Chen@arm.com>,
	<nd@arm.com>
Subject: [PATCH v5 0/7] Domain on Static Allocation
Date: Tue, 24 Aug 2021 09:50:38 +0000
Message-ID: <20210824095045.2281500-1-penny.zheng@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 2166c4db-796f-4ac7-76d2-08d966e4b9e3
X-MS-TrafficTypeDiagnostic: PAXPR08MB6413:|VE1PR08MB5789:
X-Microsoft-Antispam-PRVS:
	<VE1PR08MB5789E34FE389E25F5DF379FEF7C59@VE1PR08MB5789.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:6430;OLM:6430;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 WRbfUylmS4Be0WRfI611HRbEniCgbhWe1o6MVNLLwg8SmXb4t0XHi+3tIjSHyblX613l4sGp9GwVDEzoaYwPaBebyKY/f1UwXkn7+dlyCW4dhuzJTPLKHnCMZNjip11aGnpDIo4xcBD2wmuFVXJlG0rbC4nyT8KtTab333jko8Ur++obYOEgjg+yR3RId8m9rZrESdNuG7BrLEhm1uE8OEwbsC1eqc1n78dwXncIk3JIveLZywarBWf0NcSQvxNph4lX1lhpbdeL5De+b8X9EnjvDvqlCZAjsoZpcrBtslHc5CiR7XzZX2m+fK+y3lbHujsR7/XfqCzR6GSCegFNGxnbeYXylSQfYYwmHqxj/X7+dMajja78oGmzaQgylX1q96ifVppXmR+KPug/cfrzbfpigWOtMdg6uE/W6QJJcsdyopGKG3/Mv8VrDqgojS37t7iXHlPcQkQb8y/wzgQSbJ5JjnB0bhv/1ptwrRCcsaxnOTR1AA24zJix28ngTuyl0Smjqw5cmp1UoRUSRvc0w4OoOxp7Yzw8mJ/dbGzVCX5ELO9otLiidTHa63483J8OXXbDDdSjvFv95qVcBYNU5oLSbm6tvwJZ/WUoB/Y3dqHTppo9zX9YPvtba7vUpImD8WMutAZkSHOzs7TVR/gFClgwJaBZO6jhCkDznCsUfRCsIizNtwFDEyhKviSpZyVf6oc3/Z+kTyIfha6xHYgOGJbQN3c1RFxoSpsZvOjKwQ/4t+DbKkE2FmxXF70HgRZ6JZJnlEWnXb/DdBYoyPnExudCkMI0VJ5jkv2nYL2tXvynbUWlCC6Vo6FXww8z6L+d
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(39860400002)(346002)(376002)(396003)(136003)(46966006)(36840700001)(186003)(36860700001)(2906002)(336012)(8676002)(82310400003)(83380400001)(5660300002)(47076005)(110136005)(7696005)(8936002)(426003)(2616005)(4326008)(966005)(6666004)(478600001)(86362001)(44832011)(70586007)(26005)(356005)(70206006)(316002)(1076003)(36756003)(54906003)(81166007)(82740400003)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6413
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT057.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	46ad7f5e-498d-4b5d-14db-08d966e4b043
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2T0RimhRTTFHQ4iPks+VBacCEzTNbxMf3iUjUkGweSaJuwO1Dnxixuafpg7pJNug0mAAr3IRxQW3PQdb9o+/vLJU0wP7V9nPGmpBWpwMY7zqYf/NDagyjcmVB0OYycNWpG+7PWiNv9ImgdtGOsc918npOa9fQswHX9h/flmWP6jU/8FWml+aLYYubjpoqfO5XEorNtOuln6fmSHvWfRsXLk1Mpxlq2PGhruF00eYA0+EpOw1bmiPQaKPD6T+FF5PaJiDagW2/ldS1Xd7cOx52mqasR5B6PZ5NaWyZxK7I5dx85WS9CVTd0BQ9nN3Q6evP54Hc2/TKgi4EACwC8N56cDQnjyK5z753H/gvPDKElBuqIC0Ah42DSfwBeYqolfKWZtMIXWOfUzbR17iMKbq0r9aBhO+xi6Usckmcl1du9qokfBUanELR7MxZ6wxAnBw6Pd+UmKcg2/xL7K7n1qHGWCpWSj4iChXW20qxLDid/PTmoDYYwzMswiNblAMpwftB9ofUchDbgQSLvAhajowt6an97+DEEvSCY21Co8ZUcayGU1iZN7w+6U0qMGEYRCVgiaAoDfax7hnrcXnONY+oN5qF5OJR9Z1kKntKTvDLtbXwkNbhbZC7oNgOytk/dzDdLpJzf5WcVHdw68cHJ7UAbBjQh7ofQyxbKcp0XtiWUylmQZJhIeZrp4etmDZOaFRvynLIqhhrgHeNj7agZILGys3o/SqDN7JIq7LBCiwTXtc1bXYsKuJpGOQI6ak/2F0msCqkQ1MsfQJIOJViaQCuAHO+qfcmM9VB5aLVZsiFgw=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(346002)(39860400002)(396003)(376002)(136003)(46966006)(36840700001)(83380400001)(36860700001)(2616005)(2906002)(36756003)(966005)(478600001)(47076005)(1076003)(44832011)(26005)(426003)(336012)(70586007)(7696005)(82310400003)(186003)(4326008)(70206006)(54906003)(6666004)(81166007)(316002)(8936002)(82740400003)(8676002)(110136005)(5660300002)(86362001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 09:51:20.5855
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2166c4db-796f-4ac7-76d2-08d966e4b9e3
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT057.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5789

Static Allocation refers to system or sub-system(domains) for which memory
areas are pre-defined by configuration using physical address ranges.
Those pre-defined memory, -- Static Memory, as parts of RAM reserved in the
beginning, shall never go to heap allocator or boot allocator for any use.

Memory can be statically allocated to a domain using the property "xen,static-
mem" defined in the domain configuration. The number of cells for the address
and the size must be defined using respectively the properties
"#xen,static-mem-address-cells" and "#xen,static-mem-size-cells".

This Patch Serie only talks about Domain on Static Allocation.

Looking into related [design link](
https://lists.xenproject.org/archives/html/xen-devel/2021-05/msg00882.html)
for more details.

The whole design is about Static Allocation and 1:1 direct-map, and this
Patch Serie only covers parts of it, which are Domain on Static Allocation.
Other features will be delievered through different patch series.
---
changes in v2:
 - consider reserved-memory binding and use phandle to refer(still in
discussion)
 - remove unused reserved field in struct page_info, unused helper
page_get_reserved_owner and page_set_reserved_owner
 - introduce CONFIG_STATIC_ALLOCATION to avoid bringing dead codes in
other archs.
 - extract common code from free_heap_pages and free_staticmem_pages
 - introduce new interface assign_pages_nr
 - change pfn-named to mfn-named
 - remove meaningless MEMF_no_owner case
 - leave zone concept out of DMA limitation check
 - take care of concurrency issue on static memory allocation
 - ensure the consistency when `xen,static-mem` and `memory` are both defined
 - fix the scalability issue in allocate_static_memory
 - allocate static memory when parse
---
changes in v3:
- use "xen,static-mem" property to be compatible with System Sevice Tree
in the future
- introduce new helper device_tree_get_meminfo
- extract common codes for dealing with reserved memory stored in
bootinfo
- rename from "free_page" to "mark_page_free"
- remove non-trivial page_to_mfn conversion in "mark_page_free" due to
pdx compression, and let the MFN passed in
- let all switch-cases shared in "mark_page_free"
- change CONFIG_STATIC_ALLOCATION to CONFIG_STATIC_MEMORY
- put init_staticmem_pages in setup_mm
- rename assign_pages_nr to assign_pages
- alter the order of assign_pages parameters to help backporting
- change name from alloc_staticmem_pages/alloc_domstatic_pages to
acquire_staticmem_pages and acquire_domstatic_pages.
- remove hunks' #ifdef-ary by introducing PGC_reserved = 0
- remove DMA restriction
- "memory" property shall be mandatory
- rename allocate_static_bank_memory to append_static_memory_to_bank
- infer the next GFN from the bank information in append_static_memory_to_bank
- simplify the code of double loop in allocate_static_memory
---
changes in v4:
- move the option CONFIG_STATIC_MEMORY to common code, and with Arm
"select"ing it
- replace round_pg{down,up}() with PFN_DOWN()/PFN_UP()
- in all cases where order-0 pages get passed, prefer using new assign_pages
to pass literal 1
- reconstruct the order of assign_pages parameters
- moving tlb/cache flush outside of the locked region, considering XSA-364
and reducing the amount of work happening with the heap_lock held
- remove MEMF_no_refcount case
- make acquire_staticmem_pages/acquire_domstatic_pages being __init
---
changes in v5:
- check the node using the Xen domain binding whether contains the property
"xen,static-mem", not the property itself
- add "rc = ..." to get the error propagated
- introduce new field "bool xen_domain", then static memory shall be also stored
as reserved memory(bootinfo.reserved_mem), but being bind to one
specific Xen domain node.
- make CONFIG_STATIC_MEMORY user selectable and gated by UNSUPPORTED.
- wrap all static-allocation-related codes with CONFIG_STATIC_MEMORY
even in arm-specific file.
- make bank_start/bank_end type of mfn_t, and rename bank_size to
bank_pages.
- Having both functions assign_pages/assign_page with similar parameter
arrangement
- bundle all the functions for static allocation in a single place
- return an error and revert the changes, when the page is not free
and reserved.
- check the MFN is valid for every page and also add a comment to warn
that this function needs to be reworked if used outside of boot.
- use less of mfn_to_page/page_to_mfn
- use ASSERT_UNREACHABLE() to also check that the two flags are clear
- pass the start MFN first and then the number of pages in both
acquire_staticmem_pages and acquire_domstatic_pages
- make acquire_domstatic_pages() to return an errno
- don't split comment over multi-line (even they are more than 80 characters)
- simply use dt_find_property(node, "xen,static-mem", NULL) to tell
whether using allocate_static_memory, and add error comment when
"xen,static-mem" is used but CONFIG_STATIC_MEMORY is not enabled.
- exporting p2m_insert_mapping() and introduce guest_physmap_add_pages
to cope with adding guest RAM p2m mapping with nr_pages.
- check both pbase and psize are page aligned
- simplify the code in the loops by moving append_static_memory_to_bank()
outside of the if/else.
---
TODO:
- reboot domain on static allocation
- Implement all memory-ops(hypercalls) regarding domain on static allocation
to balloon in/out memory
- asynchronously scrubbing PGC_reserved pages

Penny Zheng (7):
  xen/arm: introduce new helper device_tree_get_meminfo
  xen/arm: introduce domain on Static Allocation
  xen: introduce mark_page_free
  xen/arm: static memory initialization
  xen: re-define assign_pages and introduce assign_page
  xen/arm: introduce acquire_staticmem_pages and acquire_domstatic_pages
  xen/arm: introduce allocate_static_memory

 docs/misc/arm/device-tree/booting.txt |  33 ++++
 xen/arch/arm/bootfdt.c                | 100 ++++++++---
 xen/arch/arm/domain_build.c           | 156 +++++++++++++++-
 xen/arch/arm/p2m.c                    |   7 +-
 xen/arch/arm/setup.c                  |  31 ++++
 xen/arch/x86/pv/dom0_build.c          |   2 +-
 xen/common/Kconfig                    |  17 ++
 xen/common/grant_table.c              |   2 +-
 xen/common/memory.c                   |   4 +-
 xen/common/page_alloc.c               | 250 ++++++++++++++++++++------
 xen/include/asm-arm/mm.h              |   3 +
 xen/include/asm-arm/p2m.h             |  11 ++
 xen/include/asm-arm/setup.h           |   1 +
 xen/include/xen/mm.h                  |  14 ++
 14 files changed, 540 insertions(+), 91 deletions(-)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 09:51:34 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 09:51:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170777.311684 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIT5Z-0001Zr-1Y; Tue, 24 Aug 2021 09:51:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170777.311684; Tue, 24 Aug 2021 09:51:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIT5Y-0001Zk-Un; Tue, 24 Aug 2021 09:51:24 +0000
Received: by outflank-mailman (input) for mailman id 170777;
 Tue, 24 Aug 2021 09:51:23 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jFgo=NP=arm.com=Penny.Zheng@srs-us1.protection.inumbo.net>)
 id 1mIT5X-0001Ze-CJ
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 09:51:23 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com (unknown
 [40.107.21.57]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id e62dad9b-2c11-4df7-840c-2380c947c542;
 Tue, 24 Aug 2021 09:51:20 +0000 (UTC)
Received: from AM6P195CA0079.EURP195.PROD.OUTLOOK.COM (2603:10a6:209:86::20)
 by VI1PR08MB3389.eurprd08.prod.outlook.com (2603:10a6:803:87::26) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Tue, 24 Aug
 2021 09:51:17 +0000
Received: from AM5EUR03FT027.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:86:cafe::24) by AM6P195CA0079.outlook.office365.com
 (2603:10a6:209:86::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Tue, 24 Aug 2021 09:51:17 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT027.mail.protection.outlook.com (10.152.16.138) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Tue, 24 Aug 2021 09:51:16 +0000
Received: ("Tessian outbound 19a632698c93:v103");
 Tue, 24 Aug 2021 09:51:15 +0000
Received: from a5e976017d9c.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 DF84A7BB-9503-4F41-9C11-AC0F90042E68.1; 
 Tue, 24 Aug 2021 09:51:09 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id a5e976017d9c.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 24 Aug 2021 09:51:09 +0000
Received: from AM5PR0201CA0011.eurprd02.prod.outlook.com
 (2603:10a6:203:3d::21) by AM0PR08MB3812.eurprd08.prod.outlook.com
 (2603:10a6:208:fd::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Tue, 24 Aug
 2021 09:51:08 +0000
Received: from VE1EUR03FT044.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:203:3d:cafe::8) by AM5PR0201CA0011.outlook.office365.com
 (2603:10a6:203:3d::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Tue, 24 Aug 2021 09:51:08 +0000
Received: from nebula.arm.com (40.67.248.234) by
 VE1EUR03FT044.mail.protection.outlook.com (10.152.19.106) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4436.19 via Frontend Transport; Tue, 24 Aug 2021 09:51:08 +0000
Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX04.Arm.com
 (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Tue, 24 Aug
 2021 09:51:07 +0000
Received: from penny.shanghai.arm.com (10.169.190.66) by mail.arm.com
 (10.251.24.32) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Tue, 24 Aug 2021 09:51: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: e62dad9b-2c11-4df7-840c-2380c947c542
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jYrQe6x6Dlk8l1vIqTVluKWnc7+Ol0QPjCsq0YGfsUo=;
 b=IIbgLhG0l+ea15w/s+y2UEVK+TyZYh2PMm/YH7brUklNRkXjrkAZgbU7IRMf119B0l5jPfyj2ntbcoIEfbIrKOPfPkC9D/6n4fBCcxQnhbOhzPkJmVp0Iqb6x7kxp5cpPhKBAs3+LaLWzh/cWT/bXhzUpF+VYN+4lrUJIM2jjGI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 05db3f125ba0b9b2
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FQxsA1fRx7Nw3n146ZTnO9dDBVjnyjtyD1s/KsMNpjmO1KhUS5Z0wZrwMy01niUJvIqnjVu5HKRa5PRm6Y/CMFUJpVMS2IXyfnRMb2lE8KJrJhTCrBdYqLiGZbXKMSz0d7TR6EXaPmtnYN40V3jV8U0CiDeYyWV9k4zNPGFqqFE2d9REWhFWJOAGN5VOSYuq5n2kOc1vt9iexlaJUPKfECQYjUCH/f0vl8bByIT4A9PaGbuGr0zSM84MafyHDZovoKsZp/aC3d3nU6Ob5m6gZ1v1FIHLGdk+2siW6puBnfXysBRPffCiAylHL0Jm+WSB7QxGmBJRAhU9cuK0TSRSwg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jYrQe6x6Dlk8l1vIqTVluKWnc7+Ol0QPjCsq0YGfsUo=;
 b=NJfYgo3po9pae2z6fVvKb6ZhwhFgzP8yQvHLTXF2qBRuU7FVu8njGPJXXXX+SOhs4D7KDlX4YaGR/9279D1r8JpPXhB5XvsFP8pyXai+jn0y9N2cPBYrSk8L+MmL0hhqVSCVHvxbwMB3ttP140w3pHS12BsXdwUQDNklsX+GIZTM5gZermGqBpAKw/cpNxwIbM4ycpSqfdDZTViWbwhDrgVipiwc1y1OqmbZR26ntC6Vwjta/F5wMl2FaOEfDBdDAhmQmK0NFWul8waUYsp3pPT7Htx2KikYnlnuVEyTihnVlTpwq8AG7jqQO8fG9kS4PgHQxxBF2Z8XsB5dftzjbg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jYrQe6x6Dlk8l1vIqTVluKWnc7+Ol0QPjCsq0YGfsUo=;
 b=IIbgLhG0l+ea15w/s+y2UEVK+TyZYh2PMm/YH7brUklNRkXjrkAZgbU7IRMf119B0l5jPfyj2ntbcoIEfbIrKOPfPkC9D/6n4fBCcxQnhbOhzPkJmVp0Iqb6x7kxp5cpPhKBAs3+LaLWzh/cWT/bXhzUpF+VYN+4lrUJIM2jjGI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Penny Zheng <penny.zheng@arm.com>
To: <xen-devel@lists.xenproject.org>, <sstabellini@kernel.org>,
	<julien@xen.org>
CC: <Bertrand.Marquis@arm.com>, <Penny.Zheng@arm.com>, <Wei.Chen@arm.com>,
	<nd@arm.com>
Subject: [PATCH v5 1/7] xen/arm: introduce new helper device_tree_get_meminfo
Date: Tue, 24 Aug 2021 09:50:39 +0000
Message-ID: <20210824095045.2281500-2-penny.zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210824095045.2281500-1-penny.zheng@arm.com>
References: <20210824095045.2281500-1-penny.zheng@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5dcdf328-ea6d-4fe2-2d1f-08d966e4b771
X-MS-TrafficTypeDiagnostic: AM0PR08MB3812:|VI1PR08MB3389:
X-Microsoft-Antispam-PRVS:
	<VI1PR08MB3389082C89520836F61BAC3BF7C59@VI1PR08MB3389.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:393;OLM:393;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 jpylx3nyKW4u59+xtGq21UIQ2/R8o0AybQe5KQIi51ZMxAt2qlMyS2AdHwXdnNIXlhl/wuAwnUC0lKZhNjWMMLQJi+j0nxJw+EAxcIiXkQ6daFo4d+r7AnVHoArrzZCu0GbiMmpplB6jXjL+956JVqkAKwgMQTBuBEudP1iTVceKfPAza25ap4cug7bKWccqaKwQZVgEkZBcrzCSiOtk5/Uk7MXDZagCagqiURLcnUJUREKnAOsLIbySk+U7xhD1bQv3P87l11MrhvvTBXRne+iCzCe/4rIX7cRqsSZlYGYU0ipLgP16wL+ct4mQ5k5z/iYW2P5rpigP+/oTwapMdzS5+oFXrow8FxSriL4xOoyjwaZzJ/FfqS/dmmhlap7/dgwwF54Cqz8/DqF5+a4qBxczWxndAhxDQShARdFSydexOjJKEHxXBQ5coiHeYKFsfTpi7TBYrUslqsAVmC2VVHrdOHuuBQ17co4IrpSUNSDfbBaYDWI6EhciOx39VnTcCwmDAbpXi0jmBGYG3jqPim3gI6dEVSnTMlI2F2Wb5kEeIa9o+cQL26bN0cwxzugIYrzxWDNnqRDqkqVZSPCEkI0MNMN7GvuiYp0fg6x9vAFFM/gGRN1jNrxbcyW3wwDBoWKSRM+/ZAcHwA8Byc51wvpEBwJf5GJIqx3kCF1emXN0+Gshl6GG8+LGcQXfzVn0k6doGkE9nDdI+TLJfdGrHycXMkWpSif4nizQ3fnc7yE=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(39860400002)(376002)(346002)(136003)(396003)(46966006)(36840700001)(336012)(26005)(426003)(186003)(86362001)(7696005)(82310400003)(83380400001)(47076005)(36860700001)(1076003)(2616005)(2906002)(44832011)(4326008)(316002)(70586007)(70206006)(6666004)(36756003)(8676002)(5660300002)(8936002)(478600001)(54906003)(110136005)(356005)(81166007)(82740400003)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3812
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT027.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	e79ea3f7-d44d-48ea-0b8b-08d966e4b2b6
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	iiavaBXD+h6LtUXrFBJKyOqUcRWg1PsfHpio5b+HM5qQCNenZ1ZSYaRqpB4x6jHw2j5k1roh0LxIuePC5S6N++c/sn3FbdTKBncf0Y6vd/RqHnYqy3srUSY+ornD60x/5G0IwPycHNU4iZwT1OYwv3VwjNTcTOKQHb4UNcJtBsVGDpe8AY7f8vY5g256kBxsWjonFRYpAQiLoqWzrKbl2HrrTK4Ya7GzkmdkqhYQV6OX9pAiRjwu9PUDYsch9vVQYcmZyokec1T4iMhZ0GZL768VfQeQHs7vklT5wsYya2fY3VIBaxV9Ad/NB7Zhbw5VQAjEWh7jYIcHt633dBIG3dQuzeCDYtdAsCr66rBO7Hz6u46/z15ZT3+hxNmyVx6p52w0XK4/zrWVoTs7wzkd/A1xaSCrwCVHzILLX+1+6MJbs/bgB8yFct/l0af9N5JJiDHGwWH/3iJ7iIQ+nbwPBTXbM7wajuU2r+/hdIWnppJydk5e2lDr7iaF4ZWmKPphyd5XKC6ZnJVQXO9GGu9roybiSi8cIEUQ6oL1Cjs2BAQrQVal7EpcYh/POab0FZoTdDL4UP8BoWVycgSMI4kF8UMDb4r8rTdiVgulsWvaxij69JTyTrszbNJt8iPFBagawHIlF+Ze56BlEWnVskJf3xsQuEwb3tzdtq0YR0J4lFdsfZX8IPFMbv0UtsNagE+kCiT5rFBQRFt2/pLqJJPM2Q==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(346002)(376002)(39860400002)(396003)(136003)(46966006)(36840700001)(70586007)(70206006)(26005)(6666004)(336012)(426003)(186003)(5660300002)(478600001)(47076005)(83380400001)(36860700001)(82310400003)(36756003)(8676002)(44832011)(2906002)(82740400003)(316002)(4326008)(8936002)(86362001)(1076003)(7696005)(110136005)(54906003)(2616005)(81166007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 09:51:16.5290
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5dcdf328-ea6d-4fe2-2d1f-08d966e4b771
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT027.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3389

A few functions iterate over the device tree property to get memory info,
like "reg" or the later "xen,static-mem", so this commit creates a new helper
device_tree_get_meminfo to extract the common codes.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
---
 xen/arch/arm/bootfdt.c | 68 ++++++++++++++++++++++++------------------
 1 file changed, 39 insertions(+), 29 deletions(-)

diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
index 476e32e0f5..8c81be3379 100644
--- a/xen/arch/arm/bootfdt.c
+++ b/xen/arch/arm/bootfdt.c
@@ -63,6 +63,44 @@ void __init device_tree_get_reg(const __be32 **cell, u32 address_cells,
     *size = dt_next_cell(size_cells, cell);
 }
 
+static int __init device_tree_get_meminfo(const void *fdt, int node,
+                                          const char *prop_name,
+                                          u32 address_cells, u32 size_cells,
+                                          void *data)
+{
+    const struct fdt_property *prop;
+    unsigned int i, banks;
+    const __be32 *cell;
+    u32 reg_cells = address_cells + size_cells;
+    paddr_t start, size;
+    struct meminfo *mem = data;
+
+    prop = fdt_get_property(fdt, node, prop_name, NULL);
+    if ( !prop )
+        return -ENOENT;
+
+    cell = (const __be32 *)prop->data;
+    banks = fdt32_to_cpu(prop->len) / (reg_cells * sizeof (u32));
+
+    for ( i = 0; i < banks && mem->nr_banks < NR_MEM_BANKS; i++ )
+    {
+        device_tree_get_reg(&cell, address_cells, size_cells, &start, &size);
+        /* Some DT may describe empty bank, ignore them */
+        if ( !size )
+            continue;
+        mem->bank[mem->nr_banks].start = start;
+        mem->bank[mem->nr_banks].size = size;
+        mem->nr_banks++;
+    }
+
+    if ( i < banks )
+    {
+        printk("Warning: Max number of supported memory regions reached.\n");
+        return -ENOSPC;
+    }
+    return 0;
+}
+
 u32 __init device_tree_get_u32(const void *fdt, int node,
                                const char *prop_name, u32 dflt)
 {
@@ -139,14 +177,6 @@ static int __init process_memory_node(const void *fdt, int node,
                                       u32 address_cells, u32 size_cells,
                                       void *data)
 {
-    const struct fdt_property *prop;
-    int i;
-    int banks;
-    const __be32 *cell;
-    paddr_t start, size;
-    u32 reg_cells = address_cells + size_cells;
-    struct meminfo *mem = data;
-
     if ( address_cells < 1 || size_cells < 1 )
     {
         printk("fdt: node `%s': invalid #address-cells or #size-cells",
@@ -154,27 +184,7 @@ static int __init process_memory_node(const void *fdt, int node,
         return -EINVAL;
     }
 
-    prop = fdt_get_property(fdt, node, "reg", NULL);
-    if ( !prop )
-        return -ENOENT;
-
-    cell = (const __be32 *)prop->data;
-    banks = fdt32_to_cpu(prop->len) / (reg_cells * sizeof (u32));
-
-    for ( i = 0; i < banks && mem->nr_banks < NR_MEM_BANKS; i++ )
-    {
-        device_tree_get_reg(&cell, address_cells, size_cells, &start, &size);
-        /* Some DT may describe empty bank, ignore them */
-        if ( !size )
-            continue;
-        mem->bank[mem->nr_banks].start = start;
-        mem->bank[mem->nr_banks].size = size;
-        mem->nr_banks++;
-    }
-
-    if ( i < banks )
-        return -ENOSPC;
-    return 0;
+    return device_tree_get_meminfo(fdt, node, "reg", address_cells, size_cells, data);
 }
 
 static int __init process_reserved_memory_node(const void *fdt, int node,
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 09:51:37 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 09:51:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170780.311717 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIT5l-0002WL-3T; Tue, 24 Aug 2021 09:51:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170780.311717; Tue, 24 Aug 2021 09:51:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIT5k-0002WA-Ua; Tue, 24 Aug 2021 09:51:36 +0000
Received: by outflank-mailman (input) for mailman id 170780;
 Tue, 24 Aug 2021 09:51:35 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jFgo=NP=arm.com=Penny.Zheng@srs-us1.protection.inumbo.net>)
 id 1mIT5i-0002Tu-UE
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 09:51:34 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com (unknown
 [40.107.21.85]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 84e98b07-5ae5-4789-b99a-3304ca552e00;
 Tue, 24 Aug 2021 09:51:32 +0000 (UTC)
Received: from AM6PR01CA0071.eurprd01.prod.exchangelabs.com
 (2603:10a6:20b:e0::48) by AM9PR08MB6084.eurprd08.prod.outlook.com
 (2603:10a6:20b:287::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Tue, 24 Aug
 2021 09:51:30 +0000
Received: from AM5EUR03FT009.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:e0:cafe::28) by AM6PR01CA0071.outlook.office365.com
 (2603:10a6:20b:e0::48) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Tue, 24 Aug 2021 09:51:30 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT009.mail.protection.outlook.com (10.152.16.110) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Tue, 24 Aug 2021 09:51:29 +0000
Received: ("Tessian outbound 6ba9ec11d42b:v103");
 Tue, 24 Aug 2021 09:51:29 +0000
Received: from ae5e3912cea3.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 76EB30BB-DB75-4075-9B5C-21EACB5D0EB5.1; 
 Tue, 24 Aug 2021 09:51:23 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ae5e3912cea3.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 24 Aug 2021 09:51:23 +0000
Received: from AM5PR0502CA0004.eurprd05.prod.outlook.com
 (2603:10a6:203:91::14) by AM0PR08MB4100.eurprd08.prod.outlook.com
 (2603:10a6:208:130::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Tue, 24 Aug
 2021 09:51:21 +0000
Received: from VE1EUR03FT045.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:203:91:cafe::d3) by AM5PR0502CA0004.outlook.office365.com
 (2603:10a6:203:91::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Tue, 24 Aug 2021 09:51:21 +0000
Received: from nebula.arm.com (40.67.248.234) by
 VE1EUR03FT045.mail.protection.outlook.com (10.152.19.51) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4436.19 via Frontend Transport; Tue, 24 Aug 2021 09:51:21 +0000
Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX04.Arm.com
 (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Tue, 24 Aug
 2021 09:51:20 +0000
Received: from penny.shanghai.arm.com (10.169.190.66) by mail.arm.com
 (10.251.24.32) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Tue, 24 Aug 2021 09:51: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: 84e98b07-5ae5-4789-b99a-3304ca552e00
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5tPaEnjZ8duvQGcHfvIm9iQd7eKfK7t1x8y/bf8dPDM=;
 b=neH5ZxEAlrPgjrWBPKsxX8fgE6fYz+X2byIiM4i02gRQ+JP2ctXg3T81K6clhXNvfuX7EG0ydFptJaLHuTsgXXyQxdK6MC0+GOEFO/tu2W4/0hkJe0vhp69fad+Q6P74QrouBNezy+TCTB6RmKwGbXBn2JRQtTFmDSowLEzuqhk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: c1c509608f450f34
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=M4aAitWHamHigfugvBqAzFNe1rruW2Z+rXmbcJpEmFLx9HQayjmGuD9A8atJsfvUC17QmA/v+nEa4EK8M3/RorgyMrgGWO+ONhwJ8oyEarPm+hh3TrPR8QQjv+DcqG2wl/0OwsqTQwMaY6mjGQuIVHxvTja9OkvxJH5dLYBJHEshlOlj8qs9g+MNL+HwkNNZJ3IEoKToa9kMjjQuit1qj5BFmqPm7R69O+BHuL0vdeIXTj875ENSpDQqHv91M095dyVIgAl9/hnn1BWCO/19edVDYjy+hykE6zyw4wT3lBiGwtY5UFKqvretngTP+kEIJG2KbraWDPY5fqGPe51QUQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5tPaEnjZ8duvQGcHfvIm9iQd7eKfK7t1x8y/bf8dPDM=;
 b=lZo7BSP+VzqaQwoYOPTQBdQE6dNDhz+qghL1ZYKdaKL+W1R8ZBo/DAYskBYin1r7VfgvJc7y1nC2pJkqTXu0s9SYI6ShkZZDRJ6K/De+Ai6HXgf9+8KMfU4KG3HpeCdHItb4mEcmBbsqPYJaT0AKgm3gd9VOa/+Zmg+96Tg0BoQI/2HWBgOEBgtGAjcWEp1r+XXfSqH8a/d1aEE09BRZGpdhxK/03bGbv1RzENVFy376pFjYgmPts2b73P+VoxneAE1OfF0kF3AyfXuSFANO0XUkE3+VLK3xmU2QP2FivDQx4wBLtMraXJJZ3kFAawQ5UiXbVrSJJcaBgRbYCIMgXw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5tPaEnjZ8duvQGcHfvIm9iQd7eKfK7t1x8y/bf8dPDM=;
 b=neH5ZxEAlrPgjrWBPKsxX8fgE6fYz+X2byIiM4i02gRQ+JP2ctXg3T81K6clhXNvfuX7EG0ydFptJaLHuTsgXXyQxdK6MC0+GOEFO/tu2W4/0hkJe0vhp69fad+Q6P74QrouBNezy+TCTB6RmKwGbXBn2JRQtTFmDSowLEzuqhk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Penny Zheng <penny.zheng@arm.com>
To: <xen-devel@lists.xenproject.org>, <sstabellini@kernel.org>,
	<julien@xen.org>
CC: <Bertrand.Marquis@arm.com>, <Penny.Zheng@arm.com>, <Wei.Chen@arm.com>,
	<nd@arm.com>
Subject: [PATCH v5 6/7] xen/arm: introduce acquire_staticmem_pages and acquire_domstatic_pages
Date: Tue, 24 Aug 2021 09:50:44 +0000
Message-ID: <20210824095045.2281500-7-penny.zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210824095045.2281500-1-penny.zheng@arm.com>
References: <20210824095045.2281500-1-penny.zheng@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 39683ef3-ba77-4b49-071d-08d966e4bf5c
X-MS-TrafficTypeDiagnostic: AM0PR08MB4100:|AM9PR08MB6084:
X-Microsoft-Antispam-PRVS:
	<AM9PR08MB6084C3FA96C944210C5B3B2EF7C59@AM9PR08MB6084.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:655;OLM:655;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 a0aSYMKOnVupwcwSsODyeDk+NBE9MwtsGoZ8RVEuZ0vB/1Gb1iKnfmXAfvJm5NI2PYRRG8oF8YPTOj2ImkRhvwFsSnIFquQMtxbx/6WLYsmQCv3mYOqGNgicpK7EMq8Twb9foG/pUxuf8Jd/ImyxsBdqjO0UlX9rBlnoc/NFqi8Din3dwjkTa79p3PB+cm/c51FL5ICgICOIIFC1nEoiQlIo7OLX8VuFIyySiTBlKJ4zBPn+uLkRfX3HSEG19wM8kIgp45GC2ibNC222nlbRpEP7XlsBvmawY53FuD5Xhr+mLmT0vET6p81AM8iTyFoLialygjD3SOLLfZZvBnxajkyRMW4m55rJgiMBqVtO/MVetYbNQPvgfyHh06phsz+M9fNRW76tTiKFQbk7HZw0rV/eWFeap3RitCR5QfD7nKsJ7O2v+3j5Rn/N52vSZylEsonbE+Fr2YI0i83MqdlZWP9yKULfzXBHdoqPvaTdsDWu0vt2ffZghXZCglhHNy/lf1hjPc2hYJMGJJJOPVSxy8EGfwesS16pbaJIpWHkqvMrh5GG/LFq5C7+HtK5FGBDa94oaghMDb5bohXKCgyqQsOjUvh6dAFxSSRpXvzOZx5U1iqpOKs2koB5O80QEq5UWNdelrWxOJCyiwkB5S9lAlGRglMe5YR6mDtcOspLg0uh7iI8Fc8U1nu+3l6sM7uomhac6P00pAgxge2s4Kf+Hg6Uq80ThKb7Z8QBZy6ZSdE=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(376002)(136003)(396003)(39860400002)(346002)(46966006)(36840700001)(36860700001)(186003)(5660300002)(7696005)(70206006)(70586007)(2906002)(8936002)(2616005)(26005)(82740400003)(44832011)(82310400003)(86362001)(83380400001)(478600001)(36756003)(316002)(6666004)(47076005)(54906003)(110136005)(81166007)(336012)(1076003)(356005)(4326008)(426003)(8676002)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB4100
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT009.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	d79a5212-9a33-40dd-6252-08d966e4ba3f
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	WVi8kR3Z7tZe08nKZXo8X1UdsmUZagHM9kq8CGWWP58Mc5AQSoLAvNUqvk12G6zIORvU5YcOzY/tfK/LxPRa3cQKYHa69FpjsrnuYshyx0duFY7E0nUGlW0OoYJ6nGL4jM1TjthoONCbv8cR8lja68xUrK8A8kjnAJdpjJ+St5dSxVSsUSk5gX9FE0De/91fNwJieGVoLq+FKeSn/+LJQZY/r9kb+BIziySsyeu8KTu+M2QfMWjPNnrkFlQLHZr02ms4sgH2yVc3y01+AdWTsN+LCkO0w0IO24nFFwb7EfEEdt64V/PjImi5UOgRhBHrA+Y1Lx5PXlhosf8iUGctnvyYXpouw0sGxbqsvuG83T9YEB2DkN22EZioh6mviU+p0hJV5GlFpJOEgEHvVT9RO3n8Fqk7CRF9azhFCocweMBZj4gyBo/NDZsF4Q8/PAuC0gXZVS7Q5xWbd9GRGaNCX++ndfc2nFn18iFZKUhvadNapVeplei5U9HWdN6tSQ5v/8uR3WWE9BZrggkaLaSbA0sCwBQmgTViJHjrKxRVGHFpT6Ry47thsOw31fKH5LDxkY7j3+MlUXoT/wr9FD/FdsDfwE/VaEoL3z9OtRzSGG90PRx0jgr9naPiGct7rukB3cs1MIwU38GgEKwLZPWhXnMKD8bb5YFnLOYMtbx+F866Ta5Bw/pMlaq97ZxVuI93EYQC34NnOxOdyuKykE+pcw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(39860400002)(376002)(136003)(346002)(396003)(36840700001)(46966006)(8676002)(70206006)(6666004)(8936002)(5660300002)(36756003)(70586007)(82740400003)(81166007)(316002)(110136005)(54906003)(478600001)(426003)(7696005)(82310400003)(26005)(86362001)(336012)(186003)(36860700001)(44832011)(2906002)(2616005)(4326008)(47076005)(1076003)(83380400001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 09:51:29.7952
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 39683ef3-ba77-4b49-071d-08d966e4bf5c
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT009.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6084

acquire_staticmem_pages aims to acquire nr_mfns contiguous pages of
static memory, starting at smfn. And it is the equivalent of alloc_heap_pages
for static memory.

For each page, it shall check if the page is reserved(PGC_reserved)
and free. It shall also do a set of necessary initialization, which are
mostly the same ones in alloc_heap_pages, like, following the same
cache-coherency policy and turning page status into PGC_state_inuse, etc.

acquire_domstatic_pages is the equivalent of alloc_domheap_pages for
static memory, and it is to acquire nr_mfns contiguous pages of static memory
and assign them to one specific domain.

It uses acquire_staticmem_pages to acquire nr_mfns pages of static memory,
then on success, it will use assign_pages to assign those pages
to one specific domain.

In order to differentiate pages of static memory from those allocated from
heap, this patch introduces a new page flag PGC_reserved, then mark pages of
static memory PGC_reserved when initializing them.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
---
v5 changes
- bundle all the functions for static allocation in a single place
- return an error and revert the changes, when the page is not free
and reserved.
- check the MFN is valid for every page and also add a comment to warn
that this function needs to be reworked if used outside of boot.
- use less of mfn_to_page/page_to_mfn
- use ASSERT_UNREACHABLE() to also check that the two flags are clear
- pass the start MFN first and then the number of pages in both
acquire_staticmem_pages and acquire_domstatic_pages
- make acquire_domstatic_pages() to return an errno
- combine the commit of "xen/arm: introduce PGC_reserved"
---
 xen/common/page_alloc.c  | 118 ++++++++++++++++++++++++++++++++++++++-
 xen/include/asm-arm/mm.h |   3 +
 xen/include/xen/mm.h     |   2 +
 3 files changed, 121 insertions(+), 2 deletions(-)

diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 05c9834dc2..c0a8898502 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -151,6 +151,10 @@
 #define p2m_pod_offline_or_broken_replace(pg) BUG_ON(pg != NULL)
 #endif
 
+#ifndef PGC_reserved
+#define PGC_reserved 0
+#endif
+
 /*
  * Comma-separated list of hexadecimal page numbers containing bad bytes.
  * e.g. 'badpage=0x3f45,0x8a321'.
@@ -2282,7 +2286,7 @@ int assign_pages(
 
         for ( i = 0; i < nr; i++ )
         {
-            ASSERT(!(pg[i].count_info & ~PGC_extra));
+            ASSERT(!(pg[i].count_info & ~(PGC_extra | PGC_reserved)));
             if ( pg[i].count_info & PGC_extra )
                 extra_pages++;
         }
@@ -2321,7 +2325,8 @@ int assign_pages(
         page_set_owner(&pg[i], d);
         smp_wmb(); /* Domain pointer must be visible before updating refcnt. */
         pg[i].count_info =
-            (pg[i].count_info & PGC_extra) | PGC_allocated | 1;
+            (pg[i].count_info & (PGC_extra | PGC_reserved)) | PGC_allocated | 1;
+
         page_list_add_tail(&pg[i], page_to_list(d, &pg[i]));
     }
 
@@ -2625,7 +2630,116 @@ void __init free_staticmem_pages(struct page_info *pg, unsigned long nr_mfns,
             /* TODO: asynchronous scrubbing for pages of static memory. */
             scrub_one_page(pg);
         }
+
+        /* In case initializing page of static memory, mark it PGC_reserved. */
+        pg[i].count_info |= PGC_reserved;
+    }
+}
+
+/*
+ * Acquire nr_mfns contiguous reserved pages, starting at #smfn, of
+ * static memory.
+ * This function needs to be reworked if used outside of boot.
+ */
+static struct page_info * __init acquire_staticmem_pages(mfn_t smfn,
+                                                         unsigned long nr_mfns,
+                                                         unsigned int memflags)
+{
+    bool need_tlbflush = false;
+    uint32_t tlbflush_timestamp = 0;
+    unsigned long i;
+    struct page_info *pg;
+
+    ASSERT(nr_mfns);
+    for ( unsigned long i = 0; i < nr_mfns; i++ )
+        if ( !mfn_valid(mfn_add(smfn, i)) )
+            return NULL;
+
+    pg = mfn_to_page(smfn);
+
+    spin_lock(&heap_lock);
+
+    for ( i = 0; i < nr_mfns; i++ )
+    {
+        /* The page should be reserved and not yet allocated. */
+        if ( pg[i].count_info != (PGC_state_free | PGC_reserved) )
+        {
+            printk(XENLOG_ERR
+                   "pg[%lu] Static MFN %"PRI_mfn" c=%#lx t=%#x\n",
+                   i, mfn_x(smfn) + i,
+                   pg[i].count_info, pg[i].tlbflush_timestamp);
+            goto out_err;
+        }
+
+        if ( !(memflags & MEMF_no_tlbflush) )
+            accumulate_tlbflush(&need_tlbflush, &pg[i],
+                                &tlbflush_timestamp);
+
+        /*
+         * Preserve flag PGC_reserved and change page state
+         * to PGC_state_inuse.
+         */
+        pg[i].count_info = PGC_reserved | PGC_state_inuse;
+        /* Initialise fields which have other uses for free pages. */
+        pg[i].u.inuse.type_info = 0;
+        page_set_owner(&pg[i], NULL);
     }
+
+    spin_unlock(&heap_lock);
+
+    if ( need_tlbflush )
+        filtered_flush_tlb_mask(tlbflush_timestamp);
+
+    /*
+     * Ensure cache and RAM are consistent for platforms where the guest
+     * can control its own visibility of/through the cache.
+     */
+    for ( i = 0; i < nr_mfns; i++ )
+        flush_page_to_ram(mfn_x(smfn) + i, !(memflags & MEMF_no_icache_flush));
+
+    return pg;
+
+out_err:
+    for ( unsigned long j = 0; j < i; j++ )
+        pg[j].count_info = PGC_reserved | PGC_state_free;
+
+    spin_unlock(&heap_lock);
+
+    return NULL;
+}
+
+/*
+ * Acquire nr_mfns contiguous pages, starting at #smfn, of static memory,
+ * then assign them to one specific domain #d.
+ */
+int __init acquire_domstatic_pages(struct domain *d, mfn_t smfn,
+                                   unsigned long nr_mfns, unsigned int memflags)
+{
+    struct page_info *pg;
+
+    ASSERT(!in_irq());
+
+    pg = acquire_staticmem_pages(smfn, nr_mfns, memflags);
+    if ( !pg )
+        return -ENOENT;
+
+    if ( !d || (memflags & (MEMF_no_owner | MEMF_no_refcount)) )
+    {
+        /*
+         * Respective handling omitted here because right now
+         * acquired static memory is only for guest RAM.
+         */
+        ASSERT_UNREACHABLE();
+        return -EINVAL;
+    }
+
+    if ( assign_pages(d, pg, nr_mfns, memflags) )
+    {
+        free_staticmem_pages(pg, nr_mfns, memflags & MEMF_no_scrub);
+        return -EINVAL;
+    }
+
+    return 0;
 }
 #endif
 
diff --git a/xen/include/asm-arm/mm.h b/xen/include/asm-arm/mm.h
index ded74d29da..7b5e7b7f69 100644
--- a/xen/include/asm-arm/mm.h
+++ b/xen/include/asm-arm/mm.h
@@ -108,6 +108,9 @@ struct page_info
   /* Page is Xen heap? */
 #define _PGC_xen_heap     PG_shift(2)
 #define PGC_xen_heap      PG_mask(1, 2)
+  /* Page is reserved */
+#define _PGC_reserved     PG_shift(3)
+#define PGC_reserved      PG_mask(1, 3)
 /* ... */
 /* Page is broken? */
 #define _PGC_broken       PG_shift(7)
diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
index f243ff88d7..6d83b7894b 100644
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -89,6 +89,8 @@ bool scrub_free_pages(void);
 /* These functions are for static memory */
 void free_staticmem_pages(struct page_info *pg, unsigned long nr_mfns,
                           bool need_scrub);
+int acquire_domstatic_pages(struct domain *d, mfn_t smfn, unsigned long nr_mfns,
+                            unsigned int memflags);
 #endif
 
 /* Map machine page range in Xen virtual address space. */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 09:51:37 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 09:51:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170781.311721 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIT5l-0002ZA-CM; Tue, 24 Aug 2021 09:51:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170781.311721; Tue, 24 Aug 2021 09:51:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIT5l-0002Yf-8P; Tue, 24 Aug 2021 09:51:37 +0000
Received: by outflank-mailman (input) for mailman id 170781;
 Tue, 24 Aug 2021 09:51:35 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jFgo=NP=arm.com=Penny.Zheng@srs-us1.protection.inumbo.net>)
 id 1mIT5j-0001jx-IR
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 09:51:35 +0000
Received: from EUR03-DB5-obe.outbound.protection.outlook.com (unknown
 [40.107.4.84]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id d863c26d-04c0-11ec-a8bd-12813bfff9fa;
 Tue, 24 Aug 2021 09:51:27 +0000 (UTC)
Received: from AM6PR04CA0071.eurprd04.prod.outlook.com (2603:10a6:20b:f0::48)
 by VI1PR08MB3312.eurprd08.prod.outlook.com (2603:10a6:803:46::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17; Tue, 24 Aug
 2021 09:51:25 +0000
Received: from AM5EUR03FT019.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:f0:cafe::68) by AM6PR04CA0071.outlook.office365.com
 (2603:10a6:20b:f0::48) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Tue, 24 Aug 2021 09:51:25 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT019.mail.protection.outlook.com (10.152.16.104) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Tue, 24 Aug 2021 09:51:24 +0000
Received: ("Tessian outbound 1a0c40aa17d8:v103");
 Tue, 24 Aug 2021 09:51:24 +0000
Received: from 18d40905e8f9.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 4D58BF8A-4FE5-4505-AAFF-1BEBA3EA22FE.1; 
 Tue, 24 Aug 2021 09:51:17 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 18d40905e8f9.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 24 Aug 2021 09:51:17 +0000
Received: from AM5PR0201CA0003.eurprd02.prod.outlook.com
 (2603:10a6:203:3d::13) 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.4436.22; Tue, 24 Aug
 2021 09:51:16 +0000
Received: from VE1EUR03FT044.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:203:3d:cafe::18) by AM5PR0201CA0003.outlook.office365.com
 (2603:10a6:203:3d::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17 via Frontend
 Transport; Tue, 24 Aug 2021 09:51:16 +0000
Received: from nebula.arm.com (40.67.248.234) by
 VE1EUR03FT044.mail.protection.outlook.com (10.152.19.106) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4436.19 via Frontend Transport; Tue, 24 Aug 2021 09:51:16 +0000
Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX04.Arm.com
 (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Tue, 24 Aug
 2021 09:51:12 +0000
Received: from penny.shanghai.arm.com (10.169.190.66) by mail.arm.com
 (10.251.24.32) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Tue, 24 Aug 2021 09: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: d863c26d-04c0-11ec-a8bd-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AMCW5xXNqkaV3p45gVg1gz98GeXvw0DWsgYQwmmZLho=;
 b=5ZRAdd6cAXgBwK/nXdk+hMT/o2xm0O5gJ2dgHPaHTKkyi+OjNEt5Sym5ehlP8A2PKBAC9oUZCgoOvMIEJF783yvoAchpKTfM7z4eNpsVThtx7Z4Ty2TtE+HeHa89Fd6schNKOpIb6CBBntn3eFeJLUxk5TG2cgb8PgXhkbhBu+4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 63a0de5792350791
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=L0CANS+3Am7tSyU1YmB3Ge8ooBZfY9OUIZnvseDvN50zkmxoQKJhxHfMgufDGLyZG2RORklgALxnKt5lYLDESM0vUTWBpJ/fIfnsPNf/1Px/j57EaJCC7NDWsah6ZSWqd6LUIlOhZK5Nifc+xclSPntROpw7pl3Rx7VYRF1sWu9GJa/LFomPmkRW4isvhdqVUjI0qafCKuMCSAsnxs2oH+2bmqlImToZQcxnmzksQtwc5u6psEyQ+2ONouHj6IcEb1kqwBbO/7+8qKAMUVHVBh3KDsWkrv3zGSLoAqJqzvNa/TV7um6rVA+Sb+x0HT74H3iakqZCt1WwrtkKu+I64w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AMCW5xXNqkaV3p45gVg1gz98GeXvw0DWsgYQwmmZLho=;
 b=XL0yM/S9QBUjyjblxFs64l1gFXj+iLIy6qDcSsgdj9XQ3lClMQirCfe0cxM9wENodT9pGljYdKmp2S0zOS4TOhKbvOJsgh7jqIhLzjzNM8YvGuzURSYobsAFJpDJBizFVmgFXylC1kJcnf138H1h8Tzaq76RlciPPRewPZAoCap7gR+EuKRBUym0TzhmM64rdU7Ham507BkLEq3j/6t5dqRRRlKsXbPJglAXb4jaKQbGiNH+eCh40hNjwZiGKYuFfDj5rCjWSEeDSFHA7Q8Ra6k6FBxDE6XF0852Mr6NMkId+jNBMYMSZeNyksDnmfKuXcAaiMeDnqbbBV5ibLNTSg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AMCW5xXNqkaV3p45gVg1gz98GeXvw0DWsgYQwmmZLho=;
 b=5ZRAdd6cAXgBwK/nXdk+hMT/o2xm0O5gJ2dgHPaHTKkyi+OjNEt5Sym5ehlP8A2PKBAC9oUZCgoOvMIEJF783yvoAchpKTfM7z4eNpsVThtx7Z4Ty2TtE+HeHa89Fd6schNKOpIb6CBBntn3eFeJLUxk5TG2cgb8PgXhkbhBu+4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Penny Zheng <penny.zheng@arm.com>
To: <xen-devel@lists.xenproject.org>, <sstabellini@kernel.org>,
	<julien@xen.org>
CC: <Bertrand.Marquis@arm.com>, <Penny.Zheng@arm.com>, <Wei.Chen@arm.com>,
	<nd@arm.com>
Subject: [PATCH v5 3/7] xen: introduce mark_page_free
Date: Tue, 24 Aug 2021 09:50:41 +0000
Message-ID: <20210824095045.2281500-4-penny.zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210824095045.2281500-1-penny.zheng@arm.com>
References: <20210824095045.2281500-1-penny.zheng@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 696ecbd7-dcb3-4257-7004-08d966e4bc3c
X-MS-TrafficTypeDiagnostic: AM7PR08MB5445:|VI1PR08MB3312:
X-Microsoft-Antispam-PRVS:
	<VI1PR08MB3312FCA0FC346E8066545720F7C59@VI1PR08MB3312.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:1051;OLM:1051;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 QcX7D+JbneCSXtwTIyLOQla7fMrnaytAJj+ZCw4VnU46V54AiBk/9HlAdZLkIAKt3Dx3B8dRkeitirVj2EJxHkQ/MW9V9b+Z101Vr1ksWW2lPw++va0o+dLnUZosCv7+lygkHZdGDbPHbdGKzCEENwKlMq3Fc8/1CAcS8Yactee5GSqRUrm2vdYFzxAyiGelwRiVvf01iXC3ZeGweb6qTpMq2C5OuEcGNU6jq6e1Upn1SnvH/iqkq2v18C7bNTUzXpULmuDLahtfiMKZfRUE6bKhmPd3YIW98SML6ssCxFEIc4G9sfqSarvIp2FruXk3zfMUMObkDygY6UmhuWXflF7v2NlNMtp2XDjD0w6jY2hCApvd1xXEs2oAyD1+2uXLHEhhCOls+WKe6ZeJDOuicvHwmw0qRyNp/yfBLSff+Km6jcqFKUkN3ePZy9cENcf63mX4kyzwuzcRSaUzKXlKudNdiGpBKboWyzfe7HX/gGpvHcFQTj8iQLLZMqXDPWzjHPclqC8Q/dcQh9qX16SrZcEeW6J/3M3s945mgVa9p2w2EeUxTDcPiyfNnj/ikc9Db2PFmo7b2IZ4BOJTa0rmn9vo0hCr/rXNd+6GuNoVvAlhD/7u7f0raMgM5dzXUb+s+AInM11FJxeaK6WeEUh4PyI/78oI7wwcPBihiBaoUZTiYY17tzy7XbV7ghKTWs7RJKKZ0JpJglMHX9/qyJFV8r/0hyZ4spdW/2LetvxAcyM=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(39860400002)(346002)(376002)(396003)(136003)(36840700001)(46966006)(2906002)(2616005)(44832011)(36860700001)(82740400003)(81166007)(356005)(36756003)(7696005)(86362001)(5660300002)(186003)(70206006)(26005)(70586007)(110136005)(1076003)(316002)(478600001)(54906003)(336012)(82310400003)(426003)(83380400001)(8676002)(47076005)(6666004)(8936002)(4326008)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5445
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT019.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	3dc5b45b-910c-4b24-72d0-08d966e4b78c
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	J7rGBK5BCA+uVVFjqjW8klJm0ezvawODyTwVioZMawknNCHk35jFdxG3173RtuqLrdsL+g23zNl2UHmJ6GNEnyN2W6Dbmn7pnsp7pVkM2Pje+XWbGs41d1IKDCL2ULkKSc9G0xw8bh5shQyaeFi0RiPc9j/sauRV7AwLnYXaT+7IcoEJSp0vkU8siYFgfdwSJNHw43MVDQ31IFpF0dTWQP8bXRSmnvxTl1t+etMi6uFj93+pwCcBOWZDpjLzOFxkPz6Y8AQdSTbdD0EIo7u0rZUk/yzQoBFP0NCcTC0OWfUNgmqEsk+c60kF/cPwzT5mVEZcBHOjU7wy0S7QZ0sUOxTG2AXLppxeSpv23hN8MP8hyxg7jzToB+4OcXwyXgyM/vLVLp19ePsetftw4DPd+5DUWyyUhfAtVG6DxZGuGCJ68674OdvT1kOqcnfuTT0HF1vNGEiLS02aJfG2e/mqE+VwFtTd+4F6bJx3K/NptiifFpbRcjJ80h1a4AXBqHKjPgC9AqaUgNF9q6aeJA8sTG2UKf69eybP/2IUVfvVx9e8bh6Y6Mc3gxTt4X+4le0MPbf7NwqN6bAAXiGZMArR/c4BSlsXBclMi8KdlN7Vbg0GV/iXJmt0xpj8N5YEk3ZCWJp0N5HixUb1Fj2Dm2IYcv2vu4NiayvYJzXzJUCiNZ4W/HhebSr0JXcH+irpYeaSrNSCR5bXrjfsZ8PCdK2hYQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(39860400002)(136003)(396003)(376002)(346002)(36840700001)(46966006)(6666004)(336012)(26005)(81166007)(110136005)(7696005)(8936002)(1076003)(186003)(70586007)(2906002)(70206006)(5660300002)(316002)(426003)(54906003)(2616005)(36756003)(47076005)(4326008)(82310400003)(36860700001)(82740400003)(8676002)(44832011)(478600001)(83380400001)(86362001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 09:51:24.5520
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 696ecbd7-dcb3-4257-7004-08d966e4bc3c
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT019.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3312

This commit defines a new helper mark_page_free to extract common code,
like following the same cache/TLB coherency policy, between free_heap_pages
and the new function free_staticmem_pages, which will be introduced later.

The PDX compression makes that conversion between the MFN and the page can
be potentially non-trivial. As the function is internal, pass the MFN and
the page. They are both expected to match.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
 xen/common/page_alloc.c | 89 ++++++++++++++++++++++-------------------
 1 file changed, 48 insertions(+), 41 deletions(-)

diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 958ba0cd92..a3ee5eca9e 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -1376,6 +1376,53 @@ bool scrub_free_pages(void)
     return node_to_scrub(false) != NUMA_NO_NODE;
 }
 
+static void mark_page_free(struct page_info *pg, mfn_t mfn)
+{
+    ASSERT(mfn_x(mfn) == mfn_x(page_to_mfn(pg)));
+
+    /*
+     * Cannot assume that count_info == 0, as there are some corner cases
+     * where it isn't the case and yet it isn't a bug:
+     *  1. page_get_owner() is NULL
+     *  2. page_get_owner() is a domain that was never accessible by
+     *     its domid (e.g., failed to fully construct the domain).
+     *  3. page was never addressable by the guest (e.g., it's an
+     *     auto-translate-physmap guest and the page was never included
+     *     in its pseudophysical address space).
+     * In all the above cases there can be no guest mappings of this page.
+     */
+    switch ( pg->count_info & PGC_state )
+    {
+    case PGC_state_inuse:
+        BUG_ON(pg->count_info & PGC_broken);
+        pg->count_info = PGC_state_free;
+        break;
+
+    case PGC_state_offlining:
+        pg->count_info = (pg->count_info & PGC_broken) |
+                         PGC_state_offlined;
+        tainted = 1;
+        break;
+
+    default:
+        printk(XENLOG_ERR
+               "pg MFN %"PRI_mfn" c=%#lx o=%u v=%#lx t=%#x\n",
+               mfn_x(mfn),
+               pg->count_info, pg->v.free.order,
+               pg->u.free.val, pg->tlbflush_timestamp);
+        BUG();
+    }
+
+    /* If a page has no owner it will need no safety TLB flush. */
+    pg->u.free.need_tlbflush = (page_get_owner(pg) != NULL);
+    if ( pg->u.free.need_tlbflush )
+        page_set_tlbflush_timestamp(pg);
+
+    /* This page is not a guest frame any more. */
+    page_set_owner(pg, NULL); /* set_gpfn_from_mfn snoops pg owner */
+    set_gpfn_from_mfn(mfn_x(mfn), INVALID_M2P_ENTRY);
+}
+
 /* Free 2^@order set of pages. */
 static void free_heap_pages(
     struct page_info *pg, unsigned int order, bool need_scrub)
@@ -1392,47 +1439,7 @@ static void free_heap_pages(
 
     for ( i = 0; i < (1 << order); i++ )
     {
-        /*
-         * Cannot assume that count_info == 0, as there are some corner cases
-         * where it isn't the case and yet it isn't a bug:
-         *  1. page_get_owner() is NULL
-         *  2. page_get_owner() is a domain that was never accessible by
-         *     its domid (e.g., failed to fully construct the domain).
-         *  3. page was never addressable by the guest (e.g., it's an
-         *     auto-translate-physmap guest and the page was never included
-         *     in its pseudophysical address space).
-         * In all the above cases there can be no guest mappings of this page.
-         */
-        switch ( pg[i].count_info & PGC_state )
-        {
-        case PGC_state_inuse:
-            BUG_ON(pg[i].count_info & PGC_broken);
-            pg[i].count_info = PGC_state_free;
-            break;
-
-        case PGC_state_offlining:
-            pg[i].count_info = (pg[i].count_info & PGC_broken) |
-                               PGC_state_offlined;
-            tainted = 1;
-            break;
-
-        default:
-            printk(XENLOG_ERR
-                   "pg[%u] MFN %"PRI_mfn" c=%#lx o=%u v=%#lx t=%#x\n",
-                   i, mfn_x(mfn) + i,
-                   pg[i].count_info, pg[i].v.free.order,
-                   pg[i].u.free.val, pg[i].tlbflush_timestamp);
-            BUG();
-        }
-
-        /* If a page has no owner it will need no safety TLB flush. */
-        pg[i].u.free.need_tlbflush = (page_get_owner(&pg[i]) != NULL);
-        if ( pg[i].u.free.need_tlbflush )
-            page_set_tlbflush_timestamp(&pg[i]);
-
-        /* This page is not a guest frame any more. */
-        page_set_owner(&pg[i], NULL); /* set_gpfn_from_mfn snoops pg owner */
-        set_gpfn_from_mfn(mfn_x(mfn) + i, INVALID_M2P_ENTRY);
+        mark_page_free(&pg[i], mfn_add(mfn, i));
 
         if ( need_scrub )
         {
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 09:51:41 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 09:51:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170782.311739 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIT5p-0003Bi-0P; Tue, 24 Aug 2021 09:51:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170782.311739; Tue, 24 Aug 2021 09:51:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIT5o-0003BV-PR; Tue, 24 Aug 2021 09:51:40 +0000
Received: by outflank-mailman (input) for mailman id 170782;
 Tue, 24 Aug 2021 09:51:39 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jFgo=NP=arm.com=Penny.Zheng@srs-us1.protection.inumbo.net>)
 id 1mIT5n-0002Tu-RN
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 09:51:39 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com (unknown
 [40.107.7.47]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 418e4ad9-99d2-4efc-868e-5257f7469a34;
 Tue, 24 Aug 2021 09:51:37 +0000 (UTC)
Received: from AM5PR0601CA0045.eurprd06.prod.outlook.com
 (2603:10a6:203:68::31) by AM5PR0801MB1923.eurprd08.prod.outlook.com
 (2603:10a6:203:4c::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Tue, 24 Aug
 2021 09:51:25 +0000
Received: from AM5EUR03FT027.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:203:68:cafe::6d) by AM5PR0601CA0045.outlook.office365.com
 (2603:10a6:203:68::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Tue, 24 Aug 2021 09:51:25 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT027.mail.protection.outlook.com (10.152.16.138) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Tue, 24 Aug 2021 09:51:25 +0000
Received: ("Tessian outbound 19a632698c93:v103");
 Tue, 24 Aug 2021 09:51:25 +0000
Received: from e619e60a2b94.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 25436489-2F15-4110-B2B4-DE307DDF86E3.1; 
 Tue, 24 Aug 2021 09:51:19 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e619e60a2b94.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 24 Aug 2021 09:51:19 +0000
Received: from AM5PR0201CA0016.eurprd02.prod.outlook.com
 (2603:10a6:203:3d::26) by AS8PR08MB6198.eurprd08.prod.outlook.com
 (2603:10a6:20b:29f::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Tue, 24 Aug
 2021 09:51:17 +0000
Received: from VE1EUR03FT044.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:203:3d:cafe::b3) by AM5PR0201CA0016.outlook.office365.com
 (2603:10a6:203:3d::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17 via Frontend
 Transport; Tue, 24 Aug 2021 09:51:17 +0000
Received: from nebula.arm.com (40.67.248.234) by
 VE1EUR03FT044.mail.protection.outlook.com (10.152.19.106) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4436.19 via Frontend Transport; Tue, 24 Aug 2021 09:51:17 +0000
Received: from AZ-NEU-EX01.Emea.Arm.com (10.251.26.4) by AZ-NEU-EX04.Arm.com
 (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2308.14; Tue, 24 Aug
 2021 09:51:16 +0000
Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX01.Emea.Arm.com
 (10.251.26.4) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2308.14; Tue, 24
 Aug 2021 09:51:13 +0000
Received: from penny.shanghai.arm.com (10.169.190.66) by mail.arm.com
 (10.251.24.32) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Tue, 24 Aug 2021 09:51:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 418e4ad9-99d2-4efc-868e-5257f7469a34
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zA8vK69jWi9elV7ywSF5xfDQGg45S54vXFg9HWwKfbA=;
 b=nMYTi8fUExyK2GA8yIgPAKUMvhLjkHU8li+A3+yoWD7ifg+MkPLwgotbS+YilJ1+STNR5xq93ZEA6QDfvxLmUO9sQiCvqMHJwZkX/RtYcpmpAan80UFSbOGxP2rBmsxXMzh3Y7qKIy8gtBBgKBxdHNOYeMjzump6vG3FyWk4VLc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 7d9a61e54c426259
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Q8ktLPRGGRW4fQ6Aa7S7NNSWoWs1VEK2p2hfcf0lRi3z8fdG2gpUGgFE9hQv3NVbdp1zS/KDCo+fijqyst8/QINmhrhoMqVZJdYnHXX/B8jM8tOjx7xRXy7WyBrj4Bmszy2xYhYnUx/yXx0FKF36Pf2RP4uCuqsK6OsxBDS7JuKQBFrVvpzcBn3G6G5aFmIfG7/4Ute+BYOQ3gMlMRKLgtFmA7y6IY/j9tj79qbAws9libcrQ/5jwQMMkSMMkUi3YNMp0j0DUZrupbXFvGIMb38mViAUIkS6RfszEIVxieyJPu2uHV3dcqQxlOMOF5AsJlvbbllzbfQDAAZ7OB5Jkw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zA8vK69jWi9elV7ywSF5xfDQGg45S54vXFg9HWwKfbA=;
 b=YaDuTvjDpZ5y25XMDrBsRcxRsKouJAn6E6FRd3hUjqqcUr/Bw1/YahP4BGcPme5dN68Ne2dUi4QJzT+++dsRTFNZYsRMsBNehhkdRl/qaWdLHGHOFVZDNWLFeFec+ZKTmw63myZStlI7yUaI3Jbzo0Cbj5zAaiA+GNvu6mw1GOjzkLkAGgtTGF8r35YxLo4fn25mTRr2Pgm29zZboIKjLuZm4Gz/R/uOTmr+YWdHGHb1XH3JMWugUADSArWWmRr7OcSoFw3qsub2w5LFyOarGSzTndSipn3J2cBQbhIG2WYGp3C8d8ft/lQHov25pLEUhBmvOPtq5zjtDLbzCYBetA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zA8vK69jWi9elV7ywSF5xfDQGg45S54vXFg9HWwKfbA=;
 b=nMYTi8fUExyK2GA8yIgPAKUMvhLjkHU8li+A3+yoWD7ifg+MkPLwgotbS+YilJ1+STNR5xq93ZEA6QDfvxLmUO9sQiCvqMHJwZkX/RtYcpmpAan80UFSbOGxP2rBmsxXMzh3Y7qKIy8gtBBgKBxdHNOYeMjzump6vG3FyWk4VLc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Penny Zheng <penny.zheng@arm.com>
To: <xen-devel@lists.xenproject.org>, <sstabellini@kernel.org>,
	<julien@xen.org>
CC: <Bertrand.Marquis@arm.com>, <Penny.Zheng@arm.com>, <Wei.Chen@arm.com>,
	<nd@arm.com>
Subject: [PATCH v5 4/7] xen/arm: static memory initialization
Date: Tue, 24 Aug 2021 09:50:42 +0000
Message-ID: <20210824095045.2281500-5-penny.zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210824095045.2281500-1-penny.zheng@arm.com>
References: <20210824095045.2281500-1-penny.zheng@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b8b67c96-e7b6-42cf-5dab-08d966e4bcb2
X-MS-TrafficTypeDiagnostic: AS8PR08MB6198:|AM5PR0801MB1923:
X-Microsoft-Antispam-PRVS:
	<AM5PR0801MB192307B6A388470DB261700EF7C59@AM5PR0801MB1923.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:277;OLM:277;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 ijPQoXv5naNyvinRjfwQt8mVYP65oSCUwp61hhsaTBrpUPrIq42lpqkX7zhupf9WdeNrQlLTLopN2Hb/X9obkTqL1RdZ0y1yTxNKMTOaxgzrSD8swQ8hVPLAIMiA6Ylv+8U66rdsBrhK3YnJKoOVTNoaxrpPSR8BjsmI8UfZgstNAHLD91GMbr44wMcCsp0zPfi/VI5KclTbpEpRq83yinoUTlKL35gyJJb86AloJ7QzhpkZ4pozYY9DHemZIyQ3Ew8BLIRlWk378++uh8kwBU4QxfU1GfPPT/gh7OlG1SY56SU48WduEp5//hSHSOUAUKBPUrmyl7ad2x141e4byQebZ6A6moc/o+n1RgPE+CVrXqhYC18w2ZAL0AkjhoxsbWRkDFvOXxJVsP6GWw9qj6RUK9EprgINt3nTISlU/QbY/TC3w+6GsW+sT2avnB+pynCXyV0CUeQ4I2HcNA783DyIEZh4/IER4p3kXdJaXT5pmFe+Sxcg54GPvx+R5VJoyTP5RVV73xGUqpNb5tU8LSM7cs2vfeMg6SZFRRx0xuSXcIFlXnc0ExMGjq00Z3x4de2qPKROuuye4/C1O/dAGuRtwiBVmNxej2OsaG6k1WszX+CYrP7y6u4XdFBxlQgivNnD9GpKzfmCKalPbIwdURL/qtq3phNRvuuWOzIqh4h0+cwXG56//EBzdnFF8YtVvhYEZF0EpG0mrNQVkJ8vB7jl/g3zGUKpbCEagF7Y5ow=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(136003)(376002)(39860400002)(396003)(346002)(36840700001)(46966006)(47076005)(316002)(83380400001)(82740400003)(110136005)(86362001)(4326008)(6666004)(1076003)(54906003)(36860700001)(7696005)(2906002)(336012)(426003)(70206006)(36756003)(26005)(8676002)(478600001)(2616005)(5660300002)(8936002)(81166007)(82310400003)(44832011)(186003)(356005)(70586007)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6198
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT027.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	ddcf9125-94d3-44dd-2dfa-08d966e4b82f
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	iczQqjcXB3iu09BsSP9rpRJtoa6TVUgENmZgZi6b3j6fuwO6OIRuCZWJ6N+0mJdK5AULk8bdQjS5HtA+Wy/K3BhYHJab7HkkplaepztN4CTdWaGxObwBf1KJcB9hYw8UOU4MI1lHXYyW4u3wt6UZI/cW4nn9MhXQc0/DyQZ6qz/7UNkuUjsIPQh8TAE8euWE1Nxhjf3QIC4DI2S52sZ+I4+Y+DiyJ7YmbKrIKSx+Bsy8gMyPl61sP4uCxs8Hts1QvZG8reBOurLJaw0XX6UUoKW+JUn0qNS2U5U3OgzFpb3izFbZxfk2O7H4ZnYETE6mBKbmj8Igv6y6obtu/TihJjVmEuqvZhECM75yj4XTeSHbP1vZKg+Mme6pMugtzYawM+AuJfsvvBnIOOrCXQuWQt90tLEzFGEinQmZcx/r4HLEyrllFk9GcLXxOhK8x9FPVkwWGZD0sn0bgDqmQLYjbgoCzpa3bs2uLDA9IhZwW4jH/rgxq07HIatGTqlVIsZ04RtGeUvBsIwmDcNOnX9w7YwqNi/CXZW2M+5aDH5CbvLTXkSA54bRbRYTUqSXe1TqjlnVczlWQKsoDaJiLpIGRod18w60cG1Lbuj19D/jc/PsVsaVSS5C4ebrnjalQaPaWjIwfWwzeOeLlAd2oTh7zeRL9QuJgseC18VJka8F9k7BYskesepzBFxJ284E8ixZB0bH3Tz8X0pr+AGpUbETBQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(346002)(396003)(39860400002)(376002)(136003)(46966006)(36840700001)(7696005)(6666004)(5660300002)(86362001)(478600001)(2906002)(44832011)(36860700001)(316002)(1076003)(54906003)(36756003)(110136005)(2616005)(426003)(4326008)(83380400001)(336012)(26005)(82310400003)(47076005)(70206006)(82740400003)(186003)(70586007)(8936002)(81166007)(8676002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 09:51:25.3458
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b8b67c96-e7b6-42cf-5dab-08d966e4bcb2
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT027.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1923

This patch introduces static memory initialization, during system boot up.

The new function init_staticmem_pages is responsible for static memory
initialization.

Helper free_staticmem_pages is the equivalent of free_heap_pages, to free
nr_mfns pages of static memory.

This commit also introduces new CONFIG_STATIC_MEMORY to wrap all
static-allocation-related codes.

Put asynchronous scrubbing for pages of static memory in TODO list.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
---
v5 change:
- make CONFIG_STATIC_MEMORY user selectable and gated by UNSUPPORTED.
- wrap all static-allocation-related codes with CONFIG_STATIC_MEMORY
even in arm-specific file.
- make bank_start/bank_end type of mfn_t, and rename bank_size to
bank_pages.
---
 xen/arch/arm/setup.c    | 31 +++++++++++++++++++++++++++++++
 xen/common/Kconfig      | 17 +++++++++++++++++
 xen/common/page_alloc.c | 22 +++++++++++++++++++++-
 xen/include/xen/mm.h    |  6 ++++++
 4 files changed, 75 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 63a908e325..44aca9f1b9 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -609,6 +609,29 @@ static void __init init_pdx(void)
     }
 }
 
+#ifdef CONFIG_STATIC_MEMORY
+/* Static memory initialization */
+static void __init init_staticmem_pages(void)
+{
+    unsigned int bank;
+
+    for ( bank = 0 ; bank < bootinfo.reserved_mem.nr_banks; bank++ )
+    {
+        if ( bootinfo.reserved_mem.bank[bank].xen_domain )
+        {
+            mfn_t bank_start = _mfn(PFN_UP(bootinfo.reserved_mem.bank[bank].start));
+            unsigned long bank_pages = PFN_DOWN(bootinfo.reserved_mem.bank[bank].size);
+            mfn_t bank_end = mfn_add(bank_start, bank_pages);
+
+            if ( mfn_x(bank_end) <= mfn_x(bank_start) )
+                return;
+
+            free_staticmem_pages(mfn_to_page(bank_start), bank_pages, false);
+        }
+    }
+}
+#endif
+
 #ifdef CONFIG_ARM_32
 static void __init setup_mm(void)
 {
@@ -736,6 +759,10 @@ static void __init setup_mm(void)
     /* Add xenheap memory that was not already added to the boot allocator. */
     init_xenheap_pages(mfn_to_maddr(xenheap_mfn_start),
                        mfn_to_maddr(xenheap_mfn_end));
+
+#ifdef CONFIG_STATIC_MEMORY
+    init_staticmem_pages();
+#endif
 }
 #else /* CONFIG_ARM_64 */
 static void __init setup_mm(void)
@@ -789,6 +816,10 @@ static void __init setup_mm(void)
 
     setup_frametable_mappings(ram_start, ram_end);
     max_page = PFN_DOWN(ram_end);
+
+#ifdef CONFIG_STATIC_MEMORY
+    init_staticmem_pages();
+#endif
 }
 #endif
 
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 0ddd18e11a..514a2c9022 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -67,6 +67,23 @@ config MEM_ACCESS
 config NEEDS_LIBELF
 	bool
 
+config STATIC_MEMORY
+        bool "Static Allocation Support (UNSUPPORTED)" if UNSUPPORTED
+	depends on ARM
+	---help---
+	  Static Allocation refers to system or sub-system(domains) for
+	  which memory areas are pre-defined by configuration using physical
+          address ranges.
+
+	  Those pre-defined memory, -- Static Memory, as parts of RAM reserved
+	  during system boot-up, shall never go to heap allocator or boot
+	  allocator for any use.
+
+	  When enabled, memory can be statically allocated to a domain using
+	  the property "xen,static-mem" defined in the domain configuration.
+
+	  If unsure, say Y.
+
 menu "Speculative hardening"
 
 config SPECULATIVE_HARDEN_ARRAY
diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index a3ee5eca9e..2b4591bc56 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -1519,7 +1519,6 @@ static void free_heap_pages(
     spin_unlock(&heap_lock);
 }
 
-
 /*
  * Following rules applied for page offline:
  * Once a page is broken, it can't be assigned anymore
@@ -2604,6 +2603,27 @@ struct domain *get_pg_owner(domid_t domid)
     return pg_owner;
 }
 
+#ifdef CONFIG_STATIC_MEMORY
+/* Equivalent of free_heap_pages to free nr_mfns pages of static memory. */
+void __init free_staticmem_pages(struct page_info *pg, unsigned long nr_mfns,
+                                 bool need_scrub)
+{
+    mfn_t mfn = page_to_mfn(pg);
+    unsigned long i;
+
+    for ( i = 0; i < nr_mfns; i++ )
+    {
+        mark_page_free(&pg[i], mfn_add(mfn, i));
+
+        if ( need_scrub )
+        {
+            /* TODO: asynchronous scrubbing for pages of static memory. */
+            scrub_one_page(pg);
+        }
+    }
+}
+#endif
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
index 667f9dac83..8e8fb5a615 100644
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -85,6 +85,12 @@ bool scrub_free_pages(void);
 } while ( false )
 #define FREE_XENHEAP_PAGE(p) FREE_XENHEAP_PAGES(p, 0)
 
+#ifdef CONFIG_STATIC_MEMORY
+/* These functions are for static memory */
+void free_staticmem_pages(struct page_info *pg, unsigned long nr_mfns,
+                          bool need_scrub);
+#endif
+
 /* Map machine page range in Xen virtual address space. */
 int map_pages_to_xen(
     unsigned long virt,
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 09:51:42 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 09:51:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170783.311750 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIT5q-0003WO-Gw; Tue, 24 Aug 2021 09:51:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170783.311750; Tue, 24 Aug 2021 09: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 1mIT5q-0003Vz-Cu; Tue, 24 Aug 2021 09:51:42 +0000
Received: by outflank-mailman (input) for mailman id 170783;
 Tue, 24 Aug 2021 09:51:40 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jFgo=NP=arm.com=Penny.Zheng@srs-us1.protection.inumbo.net>)
 id 1mIT5o-0001jx-Io
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 09:51:40 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com (unknown
 [40.107.2.49]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id d972d328-04c0-11ec-a8bd-12813bfff9fa;
 Tue, 24 Aug 2021 09:51:27 +0000 (UTC)
Received: from AM6P191CA0063.EURP191.PROD.OUTLOOK.COM (2603:10a6:209:7f::40)
 by AS8PR08MB6295.eurprd08.prod.outlook.com (2603:10a6:20b:295::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Tue, 24 Aug
 2021 09:51:25 +0000
Received: from VE1EUR03FT031.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:7f:cafe::4b) by AM6P191CA0063.outlook.office365.com
 (2603:10a6:209:7f::40) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Tue, 24 Aug 2021 09:51:25 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT031.mail.protection.outlook.com (10.152.18.69) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Tue, 24 Aug 2021 09:51:25 +0000
Received: ("Tessian outbound 6ba9ec11d42b:v103");
 Tue, 24 Aug 2021 09:51:24 +0000
Received: from 2d60cc076f9f.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 CCAB6915-C373-4258-A749-48723893509E.1; 
 Tue, 24 Aug 2021 09:51:18 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 2d60cc076f9f.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 24 Aug 2021 09:51:18 +0000
Received: from DU2PR04CA0315.eurprd04.prod.outlook.com (2603:10a6:10:2b5::20)
 by VE1PR08MB5743.eurprd08.prod.outlook.com (2603:10a6:800:1b2::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Tue, 24 Aug
 2021 09:51:17 +0000
Received: from DB5EUR03FT016.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:2b5:cafe::3f) by DU2PR04CA0315.outlook.office365.com
 (2603:10a6:10:2b5::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17 via Frontend
 Transport; Tue, 24 Aug 2021 09:51:17 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT016.mail.protection.outlook.com (10.152.20.141) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4436.19 via Frontend Transport; Tue, 24 Aug 2021 09:51:17 +0000
Received: from AZ-NEU-EX01.Emea.Arm.com (10.251.26.4) by AZ-NEU-EX03.Arm.com
 (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2308.14; Tue, 24 Aug
 2021 09:51:18 +0000
Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX01.Emea.Arm.com
 (10.251.26.4) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2308.14; Tue, 24
 Aug 2021 09:51:16 +0000
Received: from penny.shanghai.arm.com (10.169.190.66) by mail.arm.com
 (10.251.24.32) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Tue, 24 Aug 2021 09: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: d972d328-04c0-11ec-a8bd-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IJALBkaGXtysRE/87767gpew+VdKasYR1FGSjePRRnw=;
 b=WTpj40YU/+KkiwTkxDcvgROVsnVptdQ07I2CihhfdBzbGmvU1pDMVBpBDU6WmZoQ4pOK+R1nlK0545Nw7whX3JWGUEMriTMWn8rKaVqEzEVB8kl4pZvCgqOfofMsJ+TKMENntjyget4lFk867oEFcIQ14NBdyq4imXSvzxuN5w8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 15ab006417afe7aa
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nSu4DArNGnjLz665LvGmlp4ThA5V697BWwc8RWdxDY1XJJ5rfsaRt7CBzH0G22CYc7bUZeLRCZEYpIf1rDPDY2nfRar/gWefmbFJPY+vh2L7lF1LAdp0rFUrHLGl8RAe+M9WOs5TdluZoK2oTQ/RH2oA5iWyRqqg3loYhH5LsnIJ28cI3W3phD3y/NXM/GIw7yf0CzlxJE1Lxtm3hmpR373qRln9RiPOtpHVol2M3HSeTL1SRjTolbGh8ZTvUOVvQczdt5b4AD2Mmq3QE1pAMCfFNf/wFxMzpV+F66Og1ODKoCaBC1O0d3BfRExaA5C7fSgsDoSjAhy/iQshC8DNJw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IJALBkaGXtysRE/87767gpew+VdKasYR1FGSjePRRnw=;
 b=ZdO/EkqaQPIrPgQ+4INlaJ/re8NN8qgjMr/c4ZX1QnpfpX/s64L3I2prAgAx99LRLPvEcVc4vG6lPlWfKbLdduzCaoB7f7KTK3qdWAvorpT29ADCzxWjtz0gKHtdGWYurWX02NUBPcWyphNyCGAZmDRgEiYyxmFbTLXkX+rv/ou8xKn5ybJGJDqL3rpiux6TDESvrDlhNjuhX7mBKk5LuJLnQr9G1+5khppg5HqDjg4ROIGZAbnr0w2DJkG47RuBykvN2rqb76r6Abt8cDV8wMCIGBMbUFofhcAJ7MgBW50PywIqbPE/YjrEpjeorYGH4wgD2tXqOzgUgQPm3NUZhA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IJALBkaGXtysRE/87767gpew+VdKasYR1FGSjePRRnw=;
 b=WTpj40YU/+KkiwTkxDcvgROVsnVptdQ07I2CihhfdBzbGmvU1pDMVBpBDU6WmZoQ4pOK+R1nlK0545Nw7whX3JWGUEMriTMWn8rKaVqEzEVB8kl4pZvCgqOfofMsJ+TKMENntjyget4lFk867oEFcIQ14NBdyq4imXSvzxuN5w8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Penny Zheng <penny.zheng@arm.com>
To: <xen-devel@lists.xenproject.org>, <sstabellini@kernel.org>,
	<julien@xen.org>
CC: <Bertrand.Marquis@arm.com>, <Penny.Zheng@arm.com>, <Wei.Chen@arm.com>,
	<nd@arm.com>
Subject: [PATCH v5 5/7] xen: re-define assign_pages and introduce assign_page
Date: Tue, 24 Aug 2021 09:50:43 +0000
Message-ID: <20210824095045.2281500-6-penny.zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210824095045.2281500-1-penny.zheng@arm.com>
References: <20210824095045.2281500-1-penny.zheng@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 73b428b6-1498-405c-a295-08d966e4bc87
X-MS-TrafficTypeDiagnostic: VE1PR08MB5743:|AS8PR08MB6295:
X-Microsoft-Antispam-PRVS:
	<AS8PR08MB6295EFF65F5D5BBB99ABFD68F7C59@AS8PR08MB6295.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:288;OLM:288;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 G42+jB7tdPmCqQ9/iz9+hRIFMf004j/j++uru/RSXg6KypYyUrZ41eojCCPCvaTJWdXqejFveCRV8+V7sIXyzKkqt5ec/i3EvYeTNl2xDQLkbSVNlG+DMBYtmStkM9FXpdDQ4EzaoY3YOAYhT+ZQF4+y+VWPymCTN3yAFq4XPGsefdrZD8A/QQEpo1JC6EHJ5l6z50XPojtTvw4KJFMgz6NfVuZv/w+Ryc825iHanbhUEy+ImPQC/61O37wtQRo9M+EfA2svSpMNkJV8LtbtU8uYgDqV4YCQ54OLDLY1+vI1rLPjayeneuXMkNqyizzmtm5mGU2h+lspq9fyQg7mUw3rfyyQ/x8Z2dKc+99vVXRgVtKNzN3fFDa+cGIkJoYLyGk/qfCxiTmtkxEI2+mOzM9TPujBQzevPIigH6OozYid2N8hxl5RtzXJY0lgIBwywx59OWAWSZTRHseRRHkFPZZQaXmbLK62Y/dlBUy3eCs9jK7btmgePD1mXVJ5+XhPPuDXqYE6ha8gW53KS40NGQK0TL9MvVsZ8d6nx9PoHYI99h7gvMyF8oMR0dpbgTe0dybm/QWjMCDYXJlyIVRdKIEfJU8RtCTYjl7rfhvPusOJ1jMauZ1I26Ph0KgI0DtBVvOYmLdZ9wPrg1Ug6DkwPamFE7D5IvuB0tSPKLEQMOPBXXshC3tIpz9x2BzK/yMvj/MgqNmX+EVFiLwbPzajUHJrr37g41r9e845FRG6zEk=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(396003)(346002)(376002)(136003)(39860400002)(36840700001)(46966006)(70206006)(70586007)(26005)(426003)(6666004)(186003)(5660300002)(478600001)(336012)(47076005)(83380400001)(82310400003)(36860700001)(8676002)(82740400003)(36756003)(356005)(2906002)(316002)(4326008)(8936002)(86362001)(7696005)(1076003)(110136005)(54906003)(81166007)(2616005)(44832011)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5743
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT031.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	9ca43312-6b8b-4eca-d05a-08d966e4b811
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	OHN6+9rk2RgzVfOnP9xVzyLSUBV9wBdDGneZaLjw8TCxYJu19fXfGYuvRc220JogfUkArzClxUpM7jhgwQF/HhjdVzFPPOA2id3pqISRe5fUi/I/pNK+7YOniwJ7Mtny0M3pBVd+85GSqslg7pTHYh/beCLSsNzmOOBy6e9ryBq2fuTivOuDiHovp+DiN5u6pLbWVdc6sZJ6TsnmZbNSmboZ50FE+pNCR/0x4x3NzM32QY6kEEO/awYa+I3V0uN5GDUt5+a4THkCFLMw70irpJgfAx3ZOZ8PTF21gNROPV9NVBMPPlnFo5Qy7Rn3ONoFLmQ7j8ZfxBHkMTcr26Q+Y0bb4CwMPVt5wADi19c5fqoOwruCojBa8kSFg0iD8kEGXU6WIINch4JGgwIMHH4V8q+YfOzBVDISTp1GVO/xc/XjOJpFEG+Ea8hXm8R/sn6KAOQbDTyc+3lYL6sppcR3xGGkjX0aF6r+Ih+1DFOgGH05ZDCSjLl1EDyfBQGBC0dGxvMdJ0gMnBiPbSvfVBpFwNwmG4Tsb9B+lUP4MMUd0+nw9PcXl9edwDub9H6Bzz9ZmI3MQtJWPedkr0VvLGJcCTPd9m8Kna6qmQwVgkigWRlAv7FgJJ+HLjWX5xAYBre/fgTluwnV3jTaY2yheWy/fVKQBhA5m4c/hwz+6HYxUn7dfgXqLlCG3ZYCjiQQ783fcgcoDIVqmZKWMUmy48HPCw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(39860400002)(396003)(376002)(136003)(346002)(46966006)(36840700001)(47076005)(36860700001)(316002)(7696005)(36756003)(110136005)(70206006)(4326008)(70586007)(2616005)(186003)(82310400003)(1076003)(54906003)(8676002)(81166007)(26005)(8936002)(6666004)(86362001)(44832011)(5660300002)(478600001)(336012)(82740400003)(83380400001)(426003)(2906002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 09:51:25.0128
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 73b428b6-1498-405c-a295-08d966e4bc87
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT031.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6295

In order to deal with the trouble of count-to-order conversion when page number
is not in a power-of-two, this commit re-define assign_pages for nr pages and
assign_page for original page with a single order.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
v5 change:
- Having both functions assign_pages/assign_page with similar parameter
arrangement
---
 xen/arch/x86/pv/dom0_build.c |  2 +-
 xen/common/grant_table.c     |  2 +-
 xen/common/memory.c          |  4 ++--
 xen/common/page_alloc.c      | 21 +++++++++++++--------
 xen/include/xen/mm.h         |  6 ++++++
 5 files changed, 23 insertions(+), 12 deletions(-)

diff --git a/xen/arch/x86/pv/dom0_build.c b/xen/arch/x86/pv/dom0_build.c
index d5a1a6a4e2..ebbafe48f3 100644
--- a/xen/arch/x86/pv/dom0_build.c
+++ b/xen/arch/x86/pv/dom0_build.c
@@ -557,7 +557,7 @@ int __init dom0_construct_pv(struct domain *d,
         else
         {
             while ( count-- )
-                if ( assign_pages(d, mfn_to_page(_mfn(mfn++)), 0, 0) )
+                if ( assign_pages(d, mfn_to_page(_mfn(mfn++)), 1, 0) )
                     BUG();
         }
         initrd->mod_end = 0;
diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c
index fab77ab9cc..1e138201a5 100644
--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -2342,7 +2342,7 @@ gnttab_transfer(
          * is respected and speculative execution is blocked accordingly
          */
         if ( unlikely(!evaluate_nospec(okay)) ||
-            unlikely(assign_pages(e, page, 0, MEMF_no_refcount)) )
+            unlikely(assign_pages(e, page, 1, MEMF_no_refcount)) )
         {
             bool drop_dom_ref;
 
diff --git a/xen/common/memory.c b/xen/common/memory.c
index e07bd9a5ea..e22dad2c37 100644
--- a/xen/common/memory.c
+++ b/xen/common/memory.c
@@ -728,7 +728,7 @@ static long memory_exchange(XEN_GUEST_HANDLE_PARAM(xen_memory_exchange_t) arg)
         /* Assign each output page to the domain. */
         for ( j = 0; (page = page_list_remove_head(&out_chunk_list)); ++j )
         {
-            if ( assign_pages(d, page, exch.out.extent_order,
+            if ( assign_page(d, page, exch.out.extent_order,
                               MEMF_no_refcount) )
             {
                 unsigned long dec_count;
@@ -797,7 +797,7 @@ static long memory_exchange(XEN_GUEST_HANDLE_PARAM(xen_memory_exchange_t) arg)
      * cleared PGC_allocated.
      */
     while ( (page = page_list_remove_head(&in_chunk_list)) )
-        if ( assign_pages(d, page, 0, MEMF_no_refcount) )
+        if ( assign_pages(d, page, 1, MEMF_no_refcount) )
         {
             BUG_ON(!d->is_dying);
             free_domheap_page(page);
diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 2b4591bc56..05c9834dc2 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -2260,7 +2260,7 @@ void init_domheap_pages(paddr_t ps, paddr_t pe)
 int assign_pages(
     struct domain *d,
     struct page_info *pg,
-    unsigned int order,
+    unsigned long nr,
     unsigned int memflags)
 {
     int rc = 0;
@@ -2280,7 +2280,7 @@ int assign_pages(
     {
         unsigned int extra_pages = 0;
 
-        for ( i = 0; i < (1ul << order); i++ )
+        for ( i = 0; i < nr; i++ )
         {
             ASSERT(!(pg[i].count_info & ~PGC_extra));
             if ( pg[i].count_info & PGC_extra )
@@ -2289,18 +2289,18 @@ int assign_pages(
 
         ASSERT(!extra_pages ||
                ((memflags & MEMF_no_refcount) &&
-                extra_pages == 1u << order));
+                extra_pages == nr));
     }
 #endif
 
     if ( pg[0].count_info & PGC_extra )
     {
-        d->extra_pages += 1u << order;
+        d->extra_pages += nr;
         memflags &= ~MEMF_no_refcount;
     }
     else if ( !(memflags & MEMF_no_refcount) )
     {
-        unsigned int tot_pages = domain_tot_pages(d) + (1 << order);
+        unsigned int tot_pages = domain_tot_pages(d) + nr;
 
         if ( unlikely(tot_pages > d->max_pages) )
         {
@@ -2312,10 +2312,10 @@ int assign_pages(
     }
 
     if ( !(memflags & MEMF_no_refcount) &&
-         unlikely(domain_adjust_tot_pages(d, 1 << order) == (1 << order)) )
+         unlikely(domain_adjust_tot_pages(d, nr) == nr) )
         get_knownalive_domain(d);
 
-    for ( i = 0; i < (1 << order); i++ )
+    for ( i = 0; i < nr; i++ )
     {
         ASSERT(page_get_owner(&pg[i]) == NULL);
         page_set_owner(&pg[i], d);
@@ -2330,6 +2330,11 @@ int assign_pages(
     return rc;
 }
 
+int assign_page(struct domain *d, struct page_info *pg, unsigned int order,
+                unsigned int memflags)
+{
+    return assign_pages(d, pg, 1UL << order, memflags);
+}
 
 struct page_info *alloc_domheap_pages(
     struct domain *d, unsigned int order, unsigned int memflags)
@@ -2372,7 +2377,7 @@ struct page_info *alloc_domheap_pages(
                 pg[i].count_info = PGC_extra;
             }
         }
-        if ( assign_pages(d, pg, order, memflags) )
+        if ( assign_page(d, pg, order, memflags) )
         {
             free_heap_pages(pg, order, memflags & MEMF_no_scrub);
             return NULL;
diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
index 8e8fb5a615..f243ff88d7 100644
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -132,6 +132,12 @@ int query_page_offline(mfn_t mfn, uint32_t *status);
 void heap_init_late(void);
 
 int assign_pages(
+    struct domain *d,
+    struct page_info *pg,
+    unsigned long nr,
+    unsigned int memflags);
+
+int assign_page(
     struct domain *d,
     struct page_info *pg,
     unsigned int order,
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 09:51:47 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 09:51:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170786.311761 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIT5u-000487-Ue; Tue, 24 Aug 2021 09:51:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170786.311761; Tue, 24 Aug 2021 09: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 1mIT5u-00047m-QH; Tue, 24 Aug 2021 09:51:46 +0000
Received: by outflank-mailman (input) for mailman id 170786;
 Tue, 24 Aug 2021 09:51:45 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jFgo=NP=arm.com=Penny.Zheng@srs-us1.protection.inumbo.net>)
 id 1mIT5t-0001jx-Ik
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 09:51:45 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com (unknown
 [40.107.20.52]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id dd066ed2-04c0-11ec-a8bd-12813bfff9fa;
 Tue, 24 Aug 2021 09:51:33 +0000 (UTC)
Received: from DB3PR08CA0027.eurprd08.prod.outlook.com (2603:10a6:8::40) by
 PA4PR08MB6013.eurprd08.prod.outlook.com (2603:10a6:102:eb::15) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19; Tue, 24 Aug 2021 09:51:31 +0000
Received: from DB5EUR03FT059.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:8:0:cafe::92) by DB3PR08CA0027.outlook.office365.com
 (2603:10a6:8::40) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Tue, 24 Aug 2021 09:51:31 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT059.mail.protection.outlook.com (10.152.21.175) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Tue, 24 Aug 2021 09:51:31 +0000
Received: ("Tessian outbound 1a0c40aa17d8:v103");
 Tue, 24 Aug 2021 09:51:31 +0000
Received: from c95121f8b9ec.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 7B45D01B-342F-4C4A-B795-CCD275B590C5.1; 
 Tue, 24 Aug 2021 09:51:24 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c95121f8b9ec.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 24 Aug 2021 09:51:24 +0000
Received: from PR1P264CA0007.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:19e::12)
 by AS8PR08MB6262.eurprd08.prod.outlook.com (2603:10a6:20b:23e::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.23; Tue, 24 Aug
 2021 09:51:23 +0000
Received: from VE1EUR03FT047.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:102:19e:cafe::33) by PR1P264CA0007.outlook.office365.com
 (2603:10a6:102:19e::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Tue, 24 Aug 2021 09:51:23 +0000
Received: from nebula.arm.com (40.67.248.234) by
 VE1EUR03FT047.mail.protection.outlook.com (10.152.19.218) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4436.19 via Frontend Transport; Tue, 24 Aug 2021 09:51:23 +0000
Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX04.Arm.com
 (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Tue, 24 Aug
 2021 09:51:23 +0000
Received: from penny.shanghai.arm.com (10.169.190.66) by mail.arm.com
 (10.251.24.32) with Microsoft SMTP Server id 15.1.2308.14 via Frontend
 Transport; Tue, 24 Aug 2021 09: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: dd066ed2-04c0-11ec-a8bd-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jCR1N5VD61Zz4i/4bAQFFEqhtNhHdIyamLBbOXBLKh0=;
 b=kVvxkvaFY4c6slOekkJJde7mVfQy0vZO/JY/YMYu9rZxl4qZxFL/mtQWC0FsQbnmYHhkkUiLZFroTLrE03XXaLdbkaKWzCkkpyZ1JyeVNfhOwievoMTfHxEbVBQnsDxL4Dxzo2RpbX3zQQXKp5TC0kRIX84/N1CHHBB0ThaRapU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 47d3cdf982d824b1
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TYBGFN2OhbQBfw65VdFUirKULboshgBsVJOvDcGta8LYTUWpQkViGDKTOEJbvVsn2UpQYY/jclDfvB36XSbPoFeXO73z5iL3HE6fyiUp8kJ+NqOJpvx88+d03eo0pIpng4EScyfzMhMHzYNBOGOQBUWJCyw5gm4djq9hmLqSouVTbncrmfLakbHnA6pZUTvVRplyM2O6EwuOiTfuFMZSlUOfWocW+TQV1uDqZjWdXbSNuDxrUxrGEq32C6KOSyOorXK6rpPQLCQN5vMVswjPZieRL2dwwKir3w3Kezs6TXfYaBu8ZlbMHbtGB9A5pogqlRnzMmRqxxO+BkIng/OsPw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jCR1N5VD61Zz4i/4bAQFFEqhtNhHdIyamLBbOXBLKh0=;
 b=HTS+zuNpDQRiQ8EBixACfsiDon5J/BfJVG2ztAzFCtI8HrenxNEZO9GIn8iw+TyeaucQpp1lipUllLtbnxrtc38VZpQN9ho573DZBRyJ4R36pYaqDGdM2fPnk9TmNeDjYJnpxyn684MGK2UAl7H21b1XyCDfjQsmJ9nIOfpBhsrYhuZlBiSD5ht70zzNlotVqye/WekGqPNSIVxUmur/w60J1BIMG3ynY1zIcbzrz/C4JukeneYXXhYaSGbRvhwv1HuBNSnx1wL9RWo32Kk7LLHsMcDxfcDxvUVRZZke6yJVRRnLgxgc0Two47QTsgCKkrQhWWazoFXLuKldPFQJOg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jCR1N5VD61Zz4i/4bAQFFEqhtNhHdIyamLBbOXBLKh0=;
 b=kVvxkvaFY4c6slOekkJJde7mVfQy0vZO/JY/YMYu9rZxl4qZxFL/mtQWC0FsQbnmYHhkkUiLZFroTLrE03XXaLdbkaKWzCkkpyZ1JyeVNfhOwievoMTfHxEbVBQnsDxL4Dxzo2RpbX3zQQXKp5TC0kRIX84/N1CHHBB0ThaRapU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Penny Zheng <penny.zheng@arm.com>
To: <xen-devel@lists.xenproject.org>, <sstabellini@kernel.org>,
	<julien@xen.org>
CC: <Bertrand.Marquis@arm.com>, <Penny.Zheng@arm.com>, <Wei.Chen@arm.com>,
	<nd@arm.com>
Subject: [PATCH v5 7/7] xen/arm: introduce allocate_static_memory
Date: Tue, 24 Aug 2021 09:50:45 +0000
Message-ID: <20210824095045.2281500-8-penny.zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210824095045.2281500-1-penny.zheng@arm.com>
References: <20210824095045.2281500-1-penny.zheng@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: dba16fa7-e07d-4d4d-6e8d-08d966e4c06f
X-MS-TrafficTypeDiagnostic: AS8PR08MB6262:|PA4PR08MB6013:
X-Microsoft-Antispam-PRVS:
	<PA4PR08MB60136B22CBBF458177DB4FBAF7C59@PA4PR08MB6013.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:6108;OLM:6108;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 zGMIJDRfuXJz65eLzr+ldrdYHcy8jVzGYa5pMn8bo2YSG7JIzRQGDH+Lg4QFnjk5VEEjFlg32PXvrpw5D+wI4mc9RGpfV5KDH03BXDbtNTWSn0gdoh8ioQhSKKsAKKVHCPXukxlhdswYjB/yTZ9M3CI5XRWMYjcuqI3KOpGb526uAklFqEazc7s+ppHCDfNucArBaISYwU8euDfdx2uR5I7b9hg/RCOjkPkNBW29HuaopC1DH6pbs8JdagSqJnzAKm0ZmJ29ei3LytlUS2y+qj4bo+3QcezQqMbD+Yv1dKeuBOYOGl/LnFNT6RtCo01FAEiHtPYehTfU9p4ooAXZKfoUMqB3aspwpxXla2+ECXakvZnYnaikclJktsAoqmmznCrlbCeTvb1vN7+OS1i2Y20TBu95HKR+WZpSx2ok3W+q94FAT1CTzMya/niLtqPnjRy0tJJIWxMtiHLBqGqFSPpGwCKp66o54N8jlDEZLrqD5d6AA+8xU3bJx0Z+owCkJXBK3YIRlz+oQ671B1T9jFURg8OApl0PHwYKOUrp708SPw4psCz2RpV0Vn8cejkMke9vCwHLqcL9QQxdmucfN4dBn1S4StlbLW/RDKVX2GGG/pTWGdmhICVL6KFnqw6iAbq8SSgvOjPWtLSL9y033hyFvGwMv2f8sfE0jZjFnxr6rhWF3Hq0FAyokG1OApJssvA9RCL/P7qiFYSDq5M16XwARWi4o0feKNnKEZufwD4=
X-Forefront-Antispam-Report-Untrusted:
 CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(136003)(376002)(346002)(396003)(39860400002)(36840700001)(46966006)(4326008)(7696005)(44832011)(8936002)(356005)(83380400001)(47076005)(82310400003)(2906002)(426003)(26005)(1076003)(54906003)(316002)(8676002)(110136005)(478600001)(336012)(70586007)(70206006)(36860700001)(36756003)(81166007)(5660300002)(86362001)(82740400003)(186003)(6666004)(2616005)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6262
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT059.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	f29032cb-0e61-4620-099e-08d966e4bb7d
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+LcbmH3+uw1igaMzw8yG+tNzx1Si5pu5bO224trezPuDR3q7uo3E0NmhXrWsNVQa/JFBEGEjb0Hz/N6/GyNnLxM4lx8pyB8noa2duEndgYXkFJ+8qkExTpNRFOYgEGZinm7KV6FM2249nyfpDGDrY9ITJUHkxYuq+GzmKUDPCmh/kQyv+2VszUOcLbPaSq/9Hm5avzJcMBkVn8E0bUPvu+tA/I/0BdcmRFpuFIxbSF3bXZKeOiu8WMMXHP73TYPgd7vulYQ3Q88CphAKlgsgyyRzAMoAEvKrG5HpohuDsyrlZEFawl8XZ2irXOU1HJc7OUrQKaIA60appjQHk2siQRDAn9nOwAHLiubOydXfDX6hfp/oXgXWf9yElhHREbGtunSLKLxNu9tI3KGuM07z2fKEvGSFIObokf9a/roqoc9YXVMdXYsKBv6aiJaONslawnMAHM9invi/JMLWXnqK8IpDEhJwXcQhjxO4yBQ9PzbiLEssubznuEh8/yiwYO4mwD/Oe/W6mWmxtweOu68b6jSF8eys4tesJVvwQCAeb6CUDNULsAUsOPLodXbsH8HST/zUlLM+AsvrRmcmXCCBvODX0APhKJUbr39gxkaTO6E5DJg1rp8W83h8zkt1enixkqwrNGoCB4pyYZvKtFRhwk2YfRD0VEqwWQ2v/c3A/tSCB9o7YzZei8qvRGrKWGLiem4LMu2gZ+Xciwa4EtJVsw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(36840700001)(46966006)(54906003)(36756003)(26005)(4326008)(8676002)(336012)(8936002)(316002)(7696005)(1076003)(44832011)(508600001)(47076005)(2616005)(5660300002)(110136005)(186003)(70206006)(83380400001)(82310400003)(6666004)(81166007)(86362001)(70586007)(426003)(36860700001)(2906002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 09:51:31.6650
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: dba16fa7-e07d-4d4d-6e8d-08d966e4c06f
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT059.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6013

This commit introduces allocate_static_memory to allocate static memory as
guest RAM for Domain on Static Allocation.

It uses acquire_domstatic_pages to acquire pre-configured static memory
for this domain, and uses guest_physmap_add_pages to set up P2M table.
These pre-defined static memory banks shall be mapped to the fixed guest RAM
banks. And only when they exhausts the current guest RAM bank, it will seek
to the next one.

In order to deal with the trouble of count-to-order conversion when page number
is not in a power-of-two, this commit exports p2m_insert_mapping and introduce
a new function guest_physmap_add_pages to cope with adding guest RAM p2m
mapping with nr_pages.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
---
v5 changes:
- don't split comment over multi-line (even they are more than 80 characters)
- simply use dt_find_property(node, "xen,static-mem", NULL) to tell
whether using allocate_static_memory, and add error comment when
"xen,static-mem" is used but CONFIG_STATIC_MEMORY is not enabled.
- exporting p2m_insert_mapping() and introduce guest_physmap_add_pages
to cope with adding guest RAM p2m mapping with nr_pages.
- check both pbase and psize are page aligned
- simplify the code in the loops by moving append_static_memory_to_bank()
outside of the if/else.
---
 xen/arch/arm/domain_build.c | 156 +++++++++++++++++++++++++++++++++++-
 xen/arch/arm/p2m.c          |   7 +-
 xen/include/asm-arm/p2m.h   |  11 +++
 3 files changed, 168 insertions(+), 6 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 6c86d52781..843b8514c7 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -480,6 +480,148 @@ fail:
           (unsigned long)kinfo->unassigned_mem >> 10);
 }
 
+#ifdef CONFIG_STATIC_MEMORY
+static bool __init append_static_memory_to_bank(struct domain *d,
+                                                struct membank *bank,
+                                                mfn_t smfn,
+                                                paddr_t size)
+{
+    int res;
+    unsigned int nr_pages = size >> PAGE_SHIFT;
+    /* Infer next GFN. */
+    gfn_t sgfn = gaddr_to_gfn(bank->start + bank->size);
+
+    res = guest_physmap_add_pages(d, sgfn, smfn, nr_pages);
+    if ( res )
+    {
+        dprintk(XENLOG_ERR, "Failed to map pages to DOMU: %d", res);
+        return false;
+    }
+
+    bank->size = bank->size + size;
+
+    return true;
+}
+
+/* Allocate memory from static memory as RAM for one specific domain d. */
+static void __init allocate_static_memory(struct domain *d,
+                                          struct kernel_info *kinfo,
+                                          const struct dt_device_node *node)
+{
+    const struct dt_property *prop;
+    u32 addr_cells, size_cells, reg_cells;
+    unsigned int nr_banks, gbank = 0, bank = 0;
+    const uint64_t rambase[] = GUEST_RAM_BANK_BASES;
+    const uint64_t ramsize[] = GUEST_RAM_BANK_SIZES;
+    const __be32 *cell;
+    u64 tot_size = 0;
+    paddr_t pbase, psize, gsize;
+    mfn_t smfn;
+    int res;
+
+    prop = dt_find_property(node, "xen,static-mem", NULL);
+    if ( !dt_property_read_u32(node, "#xen,static-mem-address-cells",
+                               &addr_cells) )
+    {
+        printk(XENLOG_ERR
+               "%pd: failed to read \"#xen,static-mem-address-cells\".\n", d);
+        goto fail;
+    }
+
+    if ( !dt_property_read_u32(node, "#xen,static-mem-size-cells",
+                               &size_cells) )
+    {
+        printk(XENLOG_ERR
+               "%pd: failed to read \"#xen,static-mem-size-cells\".\n", d);
+        goto fail;
+    }
+    reg_cells = addr_cells + size_cells;
+
+    /* Start with GUEST_RAM0. */
+    gsize = ramsize[gbank];
+    kinfo->mem.bank[gbank].start = rambase[gbank];
+
+    cell = (const __be32 *)prop->value;
+    nr_banks = (prop->length) / (reg_cells * sizeof (u32));
+
+    for ( ; bank < nr_banks; bank++ )
+    {
+        device_tree_get_reg(&cell, addr_cells, size_cells, &pbase, &psize);
+        ASSERT(IS_ALIGNED(pbase, PAGE_SIZE) && IS_ALIGNED(psize, PAGE_SIZE));
+
+        smfn = maddr_to_mfn(pbase);
+        res = acquire_domstatic_pages(d, smfn, psize >> PAGE_SHIFT, 0);
+        if ( res )
+        {
+            printk(XENLOG_ERR
+                   "%pd: failed to acquire static memory: %d.\n", d, res);
+            goto fail;
+        }
+
+        printk(XENLOG_INFO "%pd: STATIC BANK[%u] %#"PRIpaddr"-%#"PRIpaddr"\n",
+               d, bank, pbase, pbase + psize);
+
+        /*
+         * It shall be mapped to the fixed guest RAM banks(GUEST_RAM_BANK_BASES),
+         * And only when it exhausts the current guest RAM bank, it will seek
+         * to the next.
+         */
+        while ( 1 )
+        {
+            /* Map as much as possible the static range to the guest bank */
+            if ( !append_static_memory_to_bank(d, &kinfo->mem.bank[gbank], smfn,
+                                               min(psize, gsize)) )
+                goto fail;
+
+            /*
+             * The current physical bank is fully mapped.
+             * Handle the next physical bank.
+             */
+            if ( gsize >= psize )
+            {
+                gsize = gsize - psize;
+                break;
+            }
+            /*
+             * When current guest bank size is not enough to map.
+             * Before seeking to the next, check if we still have available
+             * guest bank.
+             */
+            else if ( (gbank + 1) >= GUEST_RAM_BANKS )
+            {
+                printk(XENLOG_ERR "Exhausted all fixed guest banks.\n");
+                goto fail;
+            }
+            else
+            {
+                psize = psize - gsize;
+                smfn = mfn_add(smfn, gsize >> PAGE_SHIFT);
+                /* Update to the next guest bank. */
+                gbank++;
+                gsize = ramsize[gbank];
+                kinfo->mem.bank[gbank].start = rambase[gbank];
+            }
+        }
+
+        tot_size += psize;
+    }
+
+    kinfo->mem.nr_banks = ++gbank;
+    kinfo->unassigned_mem -= tot_size;
+    if ( kinfo->unassigned_mem )
+    {
+        printk(XENLOG_ERR
+               "Size of \"memory\" property doesn't match up with the sum-up of \"xen,static-mem\".\n");
+        goto fail;
+    }
+
+    return;
+
+fail:
+    panic("Failed to allocate requested static memory for domain %pd.", d);
+}
+#endif
+
 static int __init write_properties(struct domain *d, struct kernel_info *kinfo,
                                    const struct dt_device_node *node)
 {
@@ -2452,7 +2594,19 @@ static int __init construct_domU(struct domain *d,
     /* type must be set before allocate memory */
     d->arch.type = kinfo.type;
 #endif
-    allocate_memory(d, &kinfo);
+    if ( !dt_find_property(node, "xen,static-mem", NULL) )
+        allocate_memory(d, &kinfo);
+#ifdef CONFIG_STATIC_MEMORY
+    else
+        allocate_static_memory(d, &kinfo, node);
+#else
+    else
+    {
+        printk(XENLOG_ERR
+               "CONFIG_STATIC_MEMORY must be enabled to use \"xen,static-mem\".\n");
+        return -EINVAL;
+    }
+#endif
 
     rc = prepare_dtb_domU(d, &kinfo);
     if ( rc < 0 )
diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index eff9a105e7..6e01e83967 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -1293,11 +1293,8 @@ out:
     return resolved;
 }
 
-static inline int p2m_insert_mapping(struct domain *d,
-                                     gfn_t start_gfn,
-                                     unsigned long nr,
-                                     mfn_t mfn,
-                                     p2m_type_t t)
+int p2m_insert_mapping(struct domain *d, gfn_t start_gfn, unsigned long nr,
+                       mfn_t mfn, p2m_type_t t)
 {
     struct p2m_domain *p2m = p2m_get_hostp2m(d);
     int rc;
diff --git a/xen/include/asm-arm/p2m.h b/xen/include/asm-arm/p2m.h
index 6a2108398f..f885cc522b 100644
--- a/xen/include/asm-arm/p2m.h
+++ b/xen/include/asm-arm/p2m.h
@@ -300,6 +300,9 @@ int map_dev_mmio_region(struct domain *d,
                         unsigned long nr,
                         mfn_t mfn);
 
+int p2m_insert_mapping(struct domain *d, gfn_t start_gfn, unsigned long nr,
+                       mfn_t mfn, p2m_type_t t);
+
 int guest_physmap_add_entry(struct domain *d,
                             gfn_t gfn,
                             mfn_t mfn,
@@ -315,6 +318,14 @@ static inline int guest_physmap_add_page(struct domain *d,
     return guest_physmap_add_entry(d, gfn, mfn, page_order, p2m_ram_rw);
 }
 
+static inline int guest_physmap_add_pages(struct domain *d,
+                                          gfn_t gfn,
+                                          mfn_t mfn,
+                                          unsigned int nr_pages)
+{
+    return p2m_insert_mapping(d, gfn, nr_pages, mfn, p2m_ram_rw);
+}
+
 mfn_t gfn_to_mfn(struct domain *d, gfn_t gfn);
 
 /* Look up a GFN and take a reference count on the backing page. */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 10:01:56 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 10:01:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170836.311775 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mITFf-0007f3-8y; Tue, 24 Aug 2021 10:01:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170836.311775; Tue, 24 Aug 2021 10: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 1mITFf-0007ew-5k; Tue, 24 Aug 2021 10:01:51 +0000
Received: by outflank-mailman (input) for mailman id 170836;
 Tue, 24 Aug 2021 10:01:49 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mITFd-0007eq-2z
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:01:49 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mITFc-0008R7-S6; Tue, 24 Aug 2021 10:01:48 +0000
Received: from [54.239.6.186] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mITFc-0003Vl-Kh; Tue, 24 Aug 2021 10:01:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=/f8AxZ9Yzn9f3v5ry0oTHgtpH+Yh7IChSmBNyuL2yj0=; b=1juNX2hGM+LtSKIdn3SJ8nteVq
	7IQ4uu4CFM8cc9IqAqzM1LVVbFGA2jaRmv/PIudtmTKPqaHInaKLqlSY8fD7a6ciG0/13DP8gH3oa
	Bs6klj6RdHdGIzhigw5fpBEyjmfUwzjHe1G0NAkQ/8Wepwc/GyjFalAIvfzoYLoM+enI=;
Subject: Re: [PATCH v2 0/7] xen/arm: Sanitize cpuinfo
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <cover.1629713932.git.bertrand.marquis@arm.com>
 <30ad3be3-b8b2-b83f-e061-5a428175e3f4@xen.org>
 <07661F12-BA25-4854-92A3-86172AC0ACF6@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <f9d7e8d4-f804-55f8-5a01-1f1733a83bdf@xen.org>
Date: Tue, 24 Aug 2021 11:01:47 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <07661F12-BA25-4854-92A3-86172AC0ACF6@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit



On 23/08/2021 16:48, Bertrand Marquis wrote:
> Hi Julien,

Hi Bertrand,

> [Keep only arm maintainers in the CC list]
> 
>> On 23 Aug 2021, at 13:10, Julien Grall <julien@xen.org> wrote:
>>
>> Hi Bertrand,
>>
>> On 23/08/2021 11:32, Bertrand Marquis wrote:
>>> On arm architecture we might have heterogeneous platforms with different
>>> types of cores. As a guest can potentialy run on any of those cores we
>>> have to present them cpu features which are compatible with all cores
>>> and discard the features which are only available on some cores.
>>
>> Sanitizing the CPU info is important for Xen so it can correctly size the P2M, flush the cache... However, I don't think this is going to be sufficient to be able to move a vCPU between different type of pCPU.
>>
>> The main hurdle I can see so far is errata handling. Not all the errata can be fully handled in Xen so some of them are left to the guest to mitigate.
> 
> I agree this is something to work on and a problem with the current serie.
> 
>>
>> The errata are usually detected based on the MIDR while the OS is booting. IOW, a guest will not be able to know that it needs to handle an errata for pCPU B if it only runs on pCPU A.
> 
> Ack.
> 
>>
>> I don't know yet how this can be solved, but errata are not that uncommon on Arm. So until this addressed, we will still need to make sure that vCPUs are not migrated between pCPUs with at least a different MIDR.
>>
>> This prevention can be either done manually by pinning the vCPUs or implementing the proposal that Dario sent a few years ago (see [1]).
> 
> My current proposal would be the following:
> - add a command line option to allow to use all cores on a heterogeneous platform (different MIDR)

We already have a command line for heterogenous platform. How about 
re-using it?

> - taint Xen on this case
> - keep the feature sanitize as it is as on this case it will create a safer setup (apart from the errata potential problem)
> - keep current behaviour if command line option is not passed
> 
> Having a solution to enable all cores (even if it is unsafe) could still be a good improvement for development on big.LITTLE
> platforms or for people knowing how to properly configure the system to prevent the problems by using properly cpupools so
> I still think this serie with the proposed changes is still making a lot of sense.

+1.

> 
> I will start looking at a long term solution, maybe automatically create a cpupools on boot or investigate on the design you provided.

IIRC, all vCPUs of a domain needs to be in the same cpupool. If your 
plan is to expose big.LITTLE to the guest, then you would need to look 
at the design proposal from Dario.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 24 10:09:13 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 10:09:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170841.311785 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mITMh-0008Ml-W8; Tue, 24 Aug 2021 10:09:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170841.311785; Tue, 24 Aug 2021 10:09:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mITMh-0008Me-T9; Tue, 24 Aug 2021 10:09:07 +0000
Received: by outflank-mailman (input) for mailman id 170841;
 Tue, 24 Aug 2021 10:09: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 1mITMg-0008MY-TQ
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:09: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 1mITMg-00006O-Nq; Tue, 24 Aug 2021 10:09:06 +0000
Received: from [54.239.6.186] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mITMg-0004Fh-HU; Tue, 24 Aug 2021 10:09: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:
	MIME-Version:Date:Message-ID:References:Cc:To:From:Subject;
	bh=0I4ZBp/Cbv83CjJH0iVXfFo89zGV7f2Di89x7lrrBbo=; b=ujVJn8X6AmJVPltgtLgObSRbYL
	JzTbLccKAihL1vsEMxfIrUXzO1zz/XoAVQVKzSCPv2khlpFruElR+N7Nr9yx3opxeTkTdFMQxNtM1
	R7PkhpW6My56EfXfpNJD6xTbshE/0pDV67daO11i3p3jliKD5WZgNqSQrIBUVfNxniTY=;
Subject: Re: [PATCH v2] xen/arm: smmu: Set/clear IOMMU domain for device
From: Julien Grall <julien@xen.org>
To: Oleksandr Andrushchenko <andr2000@gmail.com>, sstabellini@kernel.org,
 Volodymyr_Babchuk@epam.com, xen-devel@lists.xenproject.org
Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
References: <20210818052202.1711084-1-andr2000@gmail.com>
 <4654c3c8-b31b-c017-df76-0a6c3c9fc928@xen.org>
Message-ID: <d038d0d9-607b-cf32-fc54-006b903bf836@xen.org>
Date: Tue, 24 Aug 2021 11:09:04 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <4654c3c8-b31b-c017-df76-0a6c3c9fc928@xen.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit



On 18/08/2021 18:42, Julien Grall wrote:
> On 18/08/2021 06:22, Oleksandr Andrushchenko wrote:
>> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
>>
>> When a device is assigned/de-assigned it is required to properly set
>> IOMMU domain used to protect the device. This assignment was missing,
>> thus it was not possible to de-assign the device:
>>
>> (XEN) Deassigning device 0000:03:00.0 from dom2
>> (XEN) smmu: 0000:03:00.0:  not attached to domain 2
>> (XEN) d2: deassign (0000:03:00.0) failed (-3)
>>
>> Fix this by assigning IOMMU domain on arm_smmu_assign_dev and reset it
>> to NULL on arm_smmu_deassign_dev.
>>
>> Fixes: 06d1f7a278dd ("xen/arm: smmuv1: Keep track of S2CR state")
>>
>> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
>> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> 
> Reviewed-by: Julien Grall <jgrall@amazon.com>

I have just committed it.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 24 10:24:18 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 10:24:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170848.311801 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mITbJ-0002NB-C9; Tue, 24 Aug 2021 10:24:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170848.311801; Tue, 24 Aug 2021 10:24:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mITbJ-0002N4-7f; Tue, 24 Aug 2021 10:24:13 +0000
Received: by outflank-mailman (input) for mailman id 170848;
 Tue, 24 Aug 2021 10:24:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mITbI-0002My-7Q
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:24:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mITbH-0000OM-5P; Tue, 24 Aug 2021 10:24:11 +0000
Received: from [54.239.6.177] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mITbG-0005xJ-V0; Tue, 24 Aug 2021 10: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=ZvSrbHeCwtixDAJXHxoOiRy04AP9GIFE0YY3/y7MfR0=; b=i+wNQpZFp95iFRtQp+pT+U+39G
	KpaPQ32WzabM4KWGl2t9U7JB2VYwAwLuhj4r1XHaUc5cftD71rZun5ZQrhjXEwk/vl0FBDko/yUB/
	ORgR8M64z+QA6mGBbU/Cz8iSedHOLUeX1AVVXZLmE8yo/jD3DbBAj8s5E1q63BvM30Lk=;
Subject: Re: [PATCH] xen/public: arch-arm: Add mention of argo_op hypercall
To: Christopher Clark <christopher.w.clark@gmail.com>,
 Michal Orzel <michal.orzel@arm.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <20210820093924.9991-1-michal.orzel@arm.com>
 <CACMJ4Ga6DqVmX5wyheFJTnxaKEnVCs7ezDhYxO=7qmC2UEhVyg@mail.gmail.com>
From: Julien Grall <julien@xen.org>
Message-ID: <2d1309f5-1186-6e67-94c9-779c2093bca2@xen.org>
Date: Tue, 24 Aug 2021 11:24:09 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <CACMJ4Ga6DqVmX5wyheFJTnxaKEnVCs7ezDhYxO=7qmC2UEhVyg@mail.gmail.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi,

On 20/08/2021 18:33, Christopher Clark wrote:
> On Fri, Aug 20, 2021 at 2:39 AM Michal Orzel <michal.orzel@arm.com 
> <mailto:michal.orzel@arm.com>> wrote:
> 
>     Commit 1ddc0d43c20cb1c1125d4d6cefc78624b2a9ccb7 introducing
>     argo_op hypercall forgot to add a mention of it in the
>     comment listing supported hypercalls. Fix that.
> 
>     Signed-off-by: Michal Orzel <michal.orzel@arm.com
>     <mailto:michal.orzel@arm.com>>
> 
> 
> Thanks, Michal.
> Reviewed-by: Christopher Clark <christopher.w.clark@gmail.com 
> <mailto:christopher.w.clark@gmail.com>>

Acked-by: Julien Grall <jgrall@amazon.com>

And committed.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 24 10:28:17 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 10:28:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170854.311811 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mITfE-00031y-Rj; Tue, 24 Aug 2021 10:28:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170854.311811; Tue, 24 Aug 2021 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 1mITfE-00031r-Oh; Tue, 24 Aug 2021 10:28:16 +0000
Received: by outflank-mailman (input) for mailman id 170854;
 Tue, 24 Aug 2021 10:28:15 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=3Uw6=NP=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mITfD-00031f-Bo
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:28:15 +0000
Received: from smtp-out2.suse.de (unknown [195.135.220.29])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id fcaa3606-04c5-11ec-a8c4-12813bfff9fa;
 Tue, 24 Aug 2021 10:28:14 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 4E91D1FD84;
 Tue, 24 Aug 2021 10:28:13 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 0A1AB136DD;
 Tue, 24 Aug 2021 10:28:13 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id WT7oAL3JJGG8DwAAGKfGzw
 (envelope-from <jgross@suse.com>); Tue, 24 Aug 2021 10:28:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fcaa3606-04c5-11ec-a8c4-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1629800893; 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=3sbNcmhBSTVo5KYZTHugr3AbCZgn9x7Of4fyWuiEohU=;
	b=n3qgFoWwu0QTp3L1qNcVioaf+GMOKbbANz2taAoIgSXmKNVNwa1yG4bHW42VfW1etWEUhQ
	VRUcGVx5mWXQ33GYeeIfj+MEftA6855+98ln0kqZi6NPCJyX24axaQt7+P+CyQSby5QRld
	R0wf2tkrOhsK1c49Qpgw10FQ3Xc7nxs=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org,
	netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"David S. Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>
Subject: [PATCH v2 0/4] xen: harden netfront against malicious backends
Date: Tue, 24 Aug 2021 12:28:05 +0200
Message-Id: <20210824102809.26370-1-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Xen backends of para-virtualized devices can live in dom0 kernel, dom0
user land, or in a driver domain. This means that a backend might
reside in a less trusted environment than the Xen core components, so
a backend should not be able to do harm to a Xen guest (it can still
mess up I/O data, but it shouldn't be able to e.g. crash a guest by
other means or cause a privilege escalation in the guest).

Unfortunately netfront in the Linux kernel is fully trusting its
backend. This series is fixing netfront in this regard.

It was discussed to handle this as a security problem, but the topic
was discussed in public before, so it isn't a real secret.

It should be mentioned that a similar series has been posted some years
ago by Marek Marczykowski-Górecki, but this series has not been applied
due to a Xen header not having been available in the Xen git repo at
that time. Additionally my series is fixing some more DoS cases.

Changes in V2:
- put netfront patches into own series
- comments addressed
- new patch 3

Juergen Gross (4):
  xen/netfront: read response from backend only once
  xen/netfront: don't read data from request on the ring page
  xen/netfront: disentangle tx_skb_freelist
  xen/netfront: don't trust the backend response data blindly

 drivers/net/xen-netfront.c | 272 +++++++++++++++++++++++--------------
 1 file changed, 169 insertions(+), 103 deletions(-)

-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 10:28:18 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 10:28:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170855.311823 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mITfG-0003IY-6S; Tue, 24 Aug 2021 10:28:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170855.311823; Tue, 24 Aug 2021 10:28:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mITfG-0003IN-1I; Tue, 24 Aug 2021 10:28:18 +0000
Received: by outflank-mailman (input) for mailman id 170855;
 Tue, 24 Aug 2021 10:28:16 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=3Uw6=NP=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mITfE-00031l-4Y
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:28:16 +0000
Received: from smtp-out1.suse.de (unknown [195.135.220.28])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 44d69b1b-7280-4e2d-a16d-190dcef9212e;
 Tue, 24 Aug 2021 10:28:14 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 EF470220AC;
 Tue, 24 Aug 2021 10:28:13 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id AAFBB136DD;
 Tue, 24 Aug 2021 10:28:13 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id 6BJGKL3JJGG8DwAAGKfGzw
 (envelope-from <jgross@suse.com>); Tue, 24 Aug 2021 10:28:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 44d69b1b-7280-4e2d-a16d-190dcef9212e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1629800893; 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=xzRnNXEpYNK6Fr5aUl3tWJGBJDdvhYuHIaqCmKzznYU=;
	b=Q+8gdbEVImSGds7mmPaM4UehS+aTvl6Jy+7iX7DxXXhxkZgPpS4IOcdZd25ZzMRAmjW9kb
	n32wpEB0gsPm6SzdwQNp6wxpOyyxsoznmynuAgqxBufivgjhWLcd+aRn5E+MizuAVJZgcV
	QPa5WwxRjK/QKCMDzUCCm08y/G8KCEU=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org,
	netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"David S. Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>
Subject: [PATCH v2 2/4] xen/netfront: don't read data from request on the ring page
Date: Tue, 24 Aug 2021 12:28:07 +0200
Message-Id: <20210824102809.26370-3-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20210824102809.26370-1-jgross@suse.com>
References: <20210824102809.26370-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In order to avoid a malicious backend being able to influence the local
processing of a request build the request locally first and then copy
it to the ring page. Any reading from the request influencing the
processing in the frontend needs to be done on the local instance.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- drop local tx variable (Jan Beulich)
- fix oversight of reading value from ring page (Jan Beulich)
---
 drivers/net/xen-netfront.c | 86 +++++++++++++++++++-------------------
 1 file changed, 42 insertions(+), 44 deletions(-)

diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
index 003cdf2ffc92..714fe9d2c534 100644
--- a/drivers/net/xen-netfront.c
+++ b/drivers/net/xen-netfront.c
@@ -435,7 +435,8 @@ struct xennet_gnttab_make_txreq {
 	struct netfront_queue *queue;
 	struct sk_buff *skb;
 	struct page *page;
-	struct xen_netif_tx_request *tx; /* Last request */
+	struct xen_netif_tx_request *tx;      /* Last request on ring page */
+	struct xen_netif_tx_request tx_local; /* Last request local copy*/
 	unsigned int size;
 };
 
@@ -463,30 +464,27 @@ static void xennet_tx_setup_grant(unsigned long gfn, unsigned int offset,
 	queue->grant_tx_page[id] = page;
 	queue->grant_tx_ref[id] = ref;
 
-	tx->id = id;
-	tx->gref = ref;
-	tx->offset = offset;
-	tx->size = len;
-	tx->flags = 0;
+	info->tx_local.id = id;
+	info->tx_local.gref = ref;
+	info->tx_local.offset = offset;
+	info->tx_local.size = len;
+	info->tx_local.flags = 0;
+
+	*tx = info->tx_local;
 
 	info->tx = tx;
-	info->size += tx->size;
+	info->size += info->tx_local.size;
 }
 
 static struct xen_netif_tx_request *xennet_make_first_txreq(
-	struct netfront_queue *queue, struct sk_buff *skb,
-	struct page *page, unsigned int offset, unsigned int len)
+	struct xennet_gnttab_make_txreq *info,
+	unsigned int offset, unsigned int len)
 {
-	struct xennet_gnttab_make_txreq info = {
-		.queue = queue,
-		.skb = skb,
-		.page = page,
-		.size = 0,
-	};
+	info->size = 0;
 
-	gnttab_for_one_grant(page, offset, len, xennet_tx_setup_grant, &info);
+	gnttab_for_one_grant(info->page, offset, len, xennet_tx_setup_grant, info);
 
-	return info.tx;
+	return info->tx;
 }
 
 static void xennet_make_one_txreq(unsigned long gfn, unsigned int offset,
@@ -499,35 +497,27 @@ static void xennet_make_one_txreq(unsigned long gfn, unsigned int offset,
 	xennet_tx_setup_grant(gfn, offset, len, data);
 }
 
-static struct xen_netif_tx_request *xennet_make_txreqs(
-	struct netfront_queue *queue, struct xen_netif_tx_request *tx,
-	struct sk_buff *skb, struct page *page,
+static void xennet_make_txreqs(
+	struct xennet_gnttab_make_txreq *info,
+	struct page *page,
 	unsigned int offset, unsigned int len)
 {
-	struct xennet_gnttab_make_txreq info = {
-		.queue = queue,
-		.skb = skb,
-		.tx = tx,
-	};
-
 	/* Skip unused frames from start of page */
 	page += offset >> PAGE_SHIFT;
 	offset &= ~PAGE_MASK;
 
 	while (len) {
-		info.page = page;
-		info.size = 0;
+		info->page = page;
+		info->size = 0;
 
 		gnttab_foreach_grant_in_range(page, offset, len,
 					      xennet_make_one_txreq,
-					      &info);
+					      info);
 
 		page++;
 		offset = 0;
-		len -= info.size;
+		len -= info->size;
 	}
-
-	return info.tx;
 }
 
 /*
@@ -580,10 +570,14 @@ static int xennet_xdp_xmit_one(struct net_device *dev,
 {
 	struct netfront_info *np = netdev_priv(dev);
 	struct netfront_stats *tx_stats = this_cpu_ptr(np->tx_stats);
+	struct xennet_gnttab_make_txreq info = {
+		.queue = queue,
+		.skb = NULL,
+		.page = virt_to_page(xdpf->data),
+	};
 	int notify;
 
-	xennet_make_first_txreq(queue, NULL,
-				virt_to_page(xdpf->data),
+	xennet_make_first_txreq(&info,
 				offset_in_page(xdpf->data),
 				xdpf->len);
 
@@ -638,7 +632,7 @@ static netdev_tx_t xennet_start_xmit(struct sk_buff *skb, struct net_device *dev
 {
 	struct netfront_info *np = netdev_priv(dev);
 	struct netfront_stats *tx_stats = this_cpu_ptr(np->tx_stats);
-	struct xen_netif_tx_request *tx, *first_tx;
+	struct xen_netif_tx_request *first_tx;
 	unsigned int i;
 	int notify;
 	int slots;
@@ -647,6 +641,7 @@ static netdev_tx_t xennet_start_xmit(struct sk_buff *skb, struct net_device *dev
 	unsigned int len;
 	unsigned long flags;
 	struct netfront_queue *queue = NULL;
+	struct xennet_gnttab_make_txreq info = { };
 	unsigned int num_queues = dev->real_num_tx_queues;
 	u16 queue_index;
 	struct sk_buff *nskb;
@@ -704,21 +699,24 @@ static netdev_tx_t xennet_start_xmit(struct sk_buff *skb, struct net_device *dev
 	}
 
 	/* First request for the linear area. */
-	first_tx = tx = xennet_make_first_txreq(queue, skb,
-						page, offset, len);
-	offset += tx->size;
+	info.queue = queue;
+	info.skb = skb;
+	info.page = page;
+	first_tx = xennet_make_first_txreq(&info, offset, len);
+	offset += info.tx_local.size;
 	if (offset == PAGE_SIZE) {
 		page++;
 		offset = 0;
 	}
-	len -= tx->size;
+	len -= info.tx_local.size;
 
 	if (skb->ip_summed == CHECKSUM_PARTIAL)
 		/* local packet? */
-		tx->flags |= XEN_NETTXF_csum_blank | XEN_NETTXF_data_validated;
+		first_tx->flags |= XEN_NETTXF_csum_blank |
+				   XEN_NETTXF_data_validated;
 	else if (skb->ip_summed == CHECKSUM_UNNECESSARY)
 		/* remote but checksummed. */
-		tx->flags |= XEN_NETTXF_data_validated;
+		first_tx->flags |= XEN_NETTXF_data_validated;
 
 	/* Optional extra info after the first request. */
 	if (skb_shinfo(skb)->gso_size) {
@@ -727,7 +725,7 @@ static netdev_tx_t xennet_start_xmit(struct sk_buff *skb, struct net_device *dev
 		gso = (struct xen_netif_extra_info *)
 			RING_GET_REQUEST(&queue->tx, queue->tx.req_prod_pvt++);
 
-		tx->flags |= XEN_NETTXF_extra_info;
+		first_tx->flags |= XEN_NETTXF_extra_info;
 
 		gso->u.gso.size = skb_shinfo(skb)->gso_size;
 		gso->u.gso.type = (skb_shinfo(skb)->gso_type & SKB_GSO_TCPV6) ?
@@ -741,12 +739,12 @@ static netdev_tx_t xennet_start_xmit(struct sk_buff *skb, struct net_device *dev
 	}
 
 	/* Requests for the rest of the linear area. */
-	tx = xennet_make_txreqs(queue, tx, skb, page, offset, len);
+	xennet_make_txreqs(&info, page, offset, len);
 
 	/* Requests for all the frags. */
 	for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) {
 		skb_frag_t *frag = &skb_shinfo(skb)->frags[i];
-		tx = xennet_make_txreqs(queue, tx, skb, skb_frag_page(frag),
+		xennet_make_txreqs(&info, skb_frag_page(frag),
 					skb_frag_off(frag),
 					skb_frag_size(frag));
 	}
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 10:28:21 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 10:28:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170856.311834 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mITfJ-0003bt-Fc; Tue, 24 Aug 2021 10:28:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170856.311834; Tue, 24 Aug 2021 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 1mITfJ-0003bh-BL; Tue, 24 Aug 2021 10:28:21 +0000
Received: by outflank-mailman (input) for mailman id 170856;
 Tue, 24 Aug 2021 10:28:20 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=3Uw6=NP=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mITfI-00031f-7P
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:28:20 +0000
Received: from smtp-out2.suse.de (unknown [195.135.220.29])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id fcdf2e9c-04c5-11ec-a8c4-12813bfff9fa;
 Tue, 24 Aug 2021 10:28:14 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 A1B482004F;
 Tue, 24 Aug 2021 10:28:13 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 57BEF136DD;
 Tue, 24 Aug 2021 10:28:13 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id SPvuE73JJGG8DwAAGKfGzw
 (envelope-from <jgross@suse.com>); Tue, 24 Aug 2021 10:28:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fcdf2e9c-04c5-11ec-a8c4-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1629800893; 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=IbajY+E/j5QwN8ylzKx9q6TBPEhkc8yuc65ahR0PtvI=;
	b=mtDdJM9krc0OORygAchXMQ1LUti7fTdnE0i5Bpye5LlNYakl02v56oaP3Wr3xyP9+Rr+gZ
	HYespA8yyUahVvKBf97VhQx96d+Ic56qZ/wmmuRcW28YMSIMSD76oguqKSoZxcM4pQD4B8
	2+uI+Ll40TQO7J+fbs6O3W9G6E+VGtc=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org,
	netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"David S. Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2 1/4] xen/netfront: read response from backend only once
Date: Tue, 24 Aug 2021 12:28:06 +0200
Message-Id: <20210824102809.26370-2-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20210824102809.26370-1-jgross@suse.com>
References: <20210824102809.26370-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In order to avoid problems in case the backend is modifying a response
on the ring page while the frontend has already seen it, just read the
response into a local buffer in one go and then operate on that buffer
only.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
V2:
- use direct structure assignment instead of memcpy() (Jan Beulich)
---
 drivers/net/xen-netfront.c | 38 +++++++++++++++++++-------------------
 1 file changed, 19 insertions(+), 19 deletions(-)

diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
index 44275908d61a..003cdf2ffc92 100644
--- a/drivers/net/xen-netfront.c
+++ b/drivers/net/xen-netfront.c
@@ -399,13 +399,13 @@ static void xennet_tx_buf_gc(struct netfront_queue *queue)
 		rmb(); /* Ensure we see responses up to 'rp'. */
 
 		for (cons = queue->tx.rsp_cons; cons != prod; cons++) {
-			struct xen_netif_tx_response *txrsp;
+			struct xen_netif_tx_response txrsp;
 
-			txrsp = RING_GET_RESPONSE(&queue->tx, cons);
-			if (txrsp->status == XEN_NETIF_RSP_NULL)
+			RING_COPY_RESPONSE(&queue->tx, cons, &txrsp);
+			if (txrsp.status == XEN_NETIF_RSP_NULL)
 				continue;
 
-			id  = txrsp->id;
+			id  = txrsp.id;
 			skb = queue->tx_skbs[id].skb;
 			if (unlikely(gnttab_query_foreign_access(
 				queue->grant_tx_ref[id]) != 0)) {
@@ -814,7 +814,7 @@ static int xennet_get_extras(struct netfront_queue *queue,
 			     RING_IDX rp)
 
 {
-	struct xen_netif_extra_info *extra;
+	struct xen_netif_extra_info extra;
 	struct device *dev = &queue->info->netdev->dev;
 	RING_IDX cons = queue->rx.rsp_cons;
 	int err = 0;
@@ -830,24 +830,22 @@ static int xennet_get_extras(struct netfront_queue *queue,
 			break;
 		}
 
-		extra = (struct xen_netif_extra_info *)
-			RING_GET_RESPONSE(&queue->rx, ++cons);
+		RING_COPY_RESPONSE(&queue->rx, ++cons, &extra);
 
-		if (unlikely(!extra->type ||
-			     extra->type >= XEN_NETIF_EXTRA_TYPE_MAX)) {
+		if (unlikely(!extra.type ||
+			     extra.type >= XEN_NETIF_EXTRA_TYPE_MAX)) {
 			if (net_ratelimit())
 				dev_warn(dev, "Invalid extra type: %d\n",
-					extra->type);
+					 extra.type);
 			err = -EINVAL;
 		} else {
-			memcpy(&extras[extra->type - 1], extra,
-			       sizeof(*extra));
+			extras[extra.type - 1] = extra;
 		}
 
 		skb = xennet_get_rx_skb(queue, cons);
 		ref = xennet_get_rx_ref(queue, cons);
 		xennet_move_rx_slot(queue, skb, ref);
-	} while (extra->flags & XEN_NETIF_EXTRA_FLAG_MORE);
+	} while (extra.flags & XEN_NETIF_EXTRA_FLAG_MORE);
 
 	queue->rx.rsp_cons = cons;
 	return err;
@@ -905,7 +903,7 @@ static int xennet_get_responses(struct netfront_queue *queue,
 				struct sk_buff_head *list,
 				bool *need_xdp_flush)
 {
-	struct xen_netif_rx_response *rx = &rinfo->rx;
+	struct xen_netif_rx_response *rx = &rinfo->rx, rx_local;
 	int max = XEN_NETIF_NR_SLOTS_MIN + (rx->status <= RX_COPY_THRESHOLD);
 	RING_IDX cons = queue->rx.rsp_cons;
 	struct sk_buff *skb = xennet_get_rx_skb(queue, cons);
@@ -989,7 +987,8 @@ static int xennet_get_responses(struct netfront_queue *queue,
 			break;
 		}
 
-		rx = RING_GET_RESPONSE(&queue->rx, cons + slots);
+		RING_COPY_RESPONSE(&queue->rx, cons + slots, &rx_local);
+		rx = &rx_local;
 		skb = xennet_get_rx_skb(queue, cons + slots);
 		ref = xennet_get_rx_ref(queue, cons + slots);
 		slots++;
@@ -1044,10 +1043,11 @@ static int xennet_fill_frags(struct netfront_queue *queue,
 	struct sk_buff *nskb;
 
 	while ((nskb = __skb_dequeue(list))) {
-		struct xen_netif_rx_response *rx =
-			RING_GET_RESPONSE(&queue->rx, ++cons);
+		struct xen_netif_rx_response rx;
 		skb_frag_t *nfrag = &skb_shinfo(nskb)->frags[0];
 
+		RING_COPY_RESPONSE(&queue->rx, ++cons, &rx);
+
 		if (skb_shinfo(skb)->nr_frags == MAX_SKB_FRAGS) {
 			unsigned int pull_to = NETFRONT_SKB_CB(skb)->pull_to;
 
@@ -1062,7 +1062,7 @@ static int xennet_fill_frags(struct netfront_queue *queue,
 
 		skb_add_rx_frag(skb, skb_shinfo(skb)->nr_frags,
 				skb_frag_page(nfrag),
-				rx->offset, rx->status, PAGE_SIZE);
+				rx.offset, rx.status, PAGE_SIZE);
 
 		skb_shinfo(nskb)->nr_frags = 0;
 		kfree_skb(nskb);
@@ -1161,7 +1161,7 @@ static int xennet_poll(struct napi_struct *napi, int budget)
 	i = queue->rx.rsp_cons;
 	work_done = 0;
 	while ((i != rp) && (work_done < budget)) {
-		memcpy(rx, RING_GET_RESPONSE(&queue->rx, i), sizeof(*rx));
+		RING_COPY_RESPONSE(&queue->rx, i, rx);
 		memset(extras, 0, sizeof(rinfo.extras));
 
 		err = xennet_get_responses(queue, &rinfo, rp, &tmpq,
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 10:28:23 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 10:28:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170857.311845 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mITfK-0003uT-Tt; Tue, 24 Aug 2021 10:28:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170857.311845; Tue, 24 Aug 2021 10:28:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mITfK-0003uG-Q8; Tue, 24 Aug 2021 10:28:22 +0000
Received: by outflank-mailman (input) for mailman id 170857;
 Tue, 24 Aug 2021 10:28:21 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=3Uw6=NP=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mITfJ-00031l-3a
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:28:21 +0000
Received: from smtp-out2.suse.de (unknown [195.135.220.29])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 74f56f79-319b-4012-a878-2fb3c7833876;
 Tue, 24 Aug 2021 10:28:15 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 969A920051;
 Tue, 24 Aug 2021 10:28:14 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 52545136DD;
 Tue, 24 Aug 2021 10:28:14 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id yDeiEr7JJGG8DwAAGKfGzw
 (envelope-from <jgross@suse.com>); Tue, 24 Aug 2021 10:28: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: 74f56f79-319b-4012-a878-2fb3c7833876
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1629800894; 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=nfhixkZoKYt7ltZuGvoMSJv4YyU9Ov7I0dmOxqpdsKE=;
	b=DcR+51AtjNOu/RurWnkc4/qcw2RfDI2dJrDj/kJHKxCouGLQNJhFK50ZaZBZasJVpbTU7Q
	iqFhF5ojLAljx7+nVh/UOfGJnk12i3tue4uY5AJkjdNeDxN1IDCzpRXe0jh3onS3kfaPuX
	sIsCN8m06Dkp46Gon3fUJYQTn0DLNLo=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org,
	netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"David S. Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>
Subject: [PATCH v2 4/4] xen/netfront: don't trust the backend response data blindly
Date: Tue, 24 Aug 2021 12:28:09 +0200
Message-Id: <20210824102809.26370-5-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20210824102809.26370-1-jgross@suse.com>
References: <20210824102809.26370-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Today netfront will trust the backend to send only sane response data.
In order to avoid privilege escalations or crashes in case of malicious
backends verify the data to be within expected limits. Especially make
sure that the response always references an outstanding request.

Note that only the tx queue needs special id handling, as for the rx
queue the id is equal to the index in the ring page.

Introduce a new indicator for the device whether it is broken and let
the device stop working when it is set. Set this indicator in case the
backend sets any weird data.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- set the pending flag only just before sending the request (Jan Beulich)
- reset broken indicator during connect (Jan Beulich)
---
 drivers/net/xen-netfront.c | 89 +++++++++++++++++++++++++++++++++++---
 1 file changed, 84 insertions(+), 5 deletions(-)

diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
index 956e1266bd1a..e31b98403f31 100644
--- a/drivers/net/xen-netfront.c
+++ b/drivers/net/xen-netfront.c
@@ -131,10 +131,12 @@ struct netfront_queue {
 	struct sk_buff *tx_skbs[NET_TX_RING_SIZE];
 	unsigned short tx_link[NET_TX_RING_SIZE];
 #define TX_LINK_NONE 0xffff
+#define TX_PENDING   0xfffe
 	grant_ref_t gref_tx_head;
 	grant_ref_t grant_tx_ref[NET_TX_RING_SIZE];
 	struct page *grant_tx_page[NET_TX_RING_SIZE];
 	unsigned tx_skb_freelist;
+	unsigned int tx_pend_queue;
 
 	spinlock_t   rx_lock ____cacheline_aligned_in_smp;
 	struct xen_netif_rx_front_ring rx;
@@ -167,6 +169,9 @@ struct netfront_info {
 	bool netback_has_xdp_headroom;
 	bool netfront_xdp_enabled;
 
+	/* Is device behaving sane? */
+	bool broken;
+
 	atomic_t rx_gso_checksum_fixup;
 };
 
@@ -349,7 +354,7 @@ static int xennet_open(struct net_device *dev)
 	unsigned int i = 0;
 	struct netfront_queue *queue = NULL;
 
-	if (!np->queues)
+	if (!np->queues || np->broken)
 		return -ENODEV;
 
 	for (i = 0; i < num_queues; ++i) {
@@ -377,11 +382,17 @@ static void xennet_tx_buf_gc(struct netfront_queue *queue)
 	unsigned short id;
 	struct sk_buff *skb;
 	bool more_to_do;
+	const struct device *dev = &queue->info->netdev->dev;
 
 	BUG_ON(!netif_carrier_ok(queue->info->netdev));
 
 	do {
 		prod = queue->tx.sring->rsp_prod;
+		if (RING_RESPONSE_PROD_OVERFLOW(&queue->tx, prod)) {
+			dev_alert(dev, "Illegal number of responses %u\n",
+				  prod - queue->tx.rsp_cons);
+			goto err;
+		}
 		rmb(); /* Ensure we see responses up to 'rp'. */
 
 		for (cons = queue->tx.rsp_cons; cons != prod; cons++) {
@@ -391,14 +402,27 @@ static void xennet_tx_buf_gc(struct netfront_queue *queue)
 			if (txrsp.status == XEN_NETIF_RSP_NULL)
 				continue;
 
-			id  = txrsp.id;
+			id = txrsp.id;
+			if (id >= RING_SIZE(&queue->tx)) {
+				dev_alert(dev,
+					  "Response has incorrect id (%u)\n",
+					  id);
+				goto err;
+			}
+			if (queue->tx_link[id] != TX_PENDING) {
+				dev_alert(dev,
+					  "Response for inactive request\n");
+				goto err;
+			}
+
+			queue->tx_link[id] = TX_LINK_NONE;
 			skb = queue->tx_skbs[id];
 			queue->tx_skbs[id] = NULL;
 			if (unlikely(gnttab_query_foreign_access(
 				queue->grant_tx_ref[id]) != 0)) {
-				pr_alert("%s: warning -- grant still in use by backend domain\n",
-					 __func__);
-				BUG();
+				dev_alert(dev,
+					  "Grant still in use by backend domain\n");
+				goto err;
 			}
 			gnttab_end_foreign_access_ref(
 				queue->grant_tx_ref[id], GNTMAP_readonly);
@@ -416,6 +440,12 @@ static void xennet_tx_buf_gc(struct netfront_queue *queue)
 	} while (more_to_do);
 
 	xennet_maybe_wake_tx(queue);
+
+	return;
+
+ err:
+	queue->info->broken = true;
+	dev_alert(dev, "Disabled for further use\n");
 }
 
 struct xennet_gnttab_make_txreq {
@@ -459,6 +489,12 @@ static void xennet_tx_setup_grant(unsigned long gfn, unsigned int offset,
 
 	*tx = info->tx_local;
 
+	/*
+	 * Put the request in the pending queue, it will be set to be pending
+	 * when the producer index is about to be raised.
+	 */
+	add_id_to_list(&queue->tx_pend_queue, queue->tx_link, id);
+
 	info->tx = tx;
 	info->size += info->tx_local.size;
 }
@@ -551,6 +587,15 @@ static u16 xennet_select_queue(struct net_device *dev, struct sk_buff *skb,
 	return queue_idx;
 }
 
+static void xennet_mark_tx_pending(struct netfront_queue *queue)
+{
+	unsigned int i;
+
+	while ((i = get_id_from_list(&queue->tx_pend_queue, queue->tx_link)) !=
+	       TX_LINK_NONE)
+		queue->tx_link[i] = TX_PENDING;
+}
+
 static int xennet_xdp_xmit_one(struct net_device *dev,
 			       struct netfront_queue *queue,
 			       struct xdp_frame *xdpf)
@@ -568,6 +613,8 @@ static int xennet_xdp_xmit_one(struct net_device *dev,
 				offset_in_page(xdpf->data),
 				xdpf->len);
 
+	xennet_mark_tx_pending(queue);
+
 	RING_PUSH_REQUESTS_AND_CHECK_NOTIFY(&queue->tx, notify);
 	if (notify)
 		notify_remote_via_irq(queue->tx_irq);
@@ -592,6 +639,8 @@ static int xennet_xdp_xmit(struct net_device *dev, int n,
 	int nxmit = 0;
 	int i;
 
+	if (unlikely(np->broken))
+		return -ENODEV;
 	if (unlikely(flags & ~XDP_XMIT_FLAGS_MASK))
 		return -EINVAL;
 
@@ -636,6 +685,8 @@ static netdev_tx_t xennet_start_xmit(struct sk_buff *skb, struct net_device *dev
 	/* Drop the packet if no queues are set up */
 	if (num_queues < 1)
 		goto drop;
+	if (unlikely(np->broken))
+		goto drop;
 	/* Determine which queue to transmit this SKB on */
 	queue_index = skb_get_queue_mapping(skb);
 	queue = &np->queues[queue_index];
@@ -742,6 +793,8 @@ static netdev_tx_t xennet_start_xmit(struct sk_buff *skb, struct net_device *dev
 	/* timestamp packet in software */
 	skb_tx_timestamp(skb);
 
+	xennet_mark_tx_pending(queue);
+
 	RING_PUSH_REQUESTS_AND_CHECK_NOTIFY(&queue->tx, notify);
 	if (notify)
 		notify_remote_via_irq(queue->tx_irq);
@@ -1141,6 +1194,13 @@ static int xennet_poll(struct napi_struct *napi, int budget)
 	skb_queue_head_init(&tmpq);
 
 	rp = queue->rx.sring->rsp_prod;
+	if (RING_RESPONSE_PROD_OVERFLOW(&queue->rx, rp)) {
+		dev_alert(&dev->dev, "Illegal number of responses %u\n",
+			  rp - queue->rx.rsp_cons);
+		queue->info->broken = true;
+		spin_unlock(&queue->rx_lock);
+		return 0;
+	}
 	rmb(); /* Ensure we see queued responses up to 'rp'. */
 
 	i = queue->rx.rsp_cons;
@@ -1362,6 +1422,9 @@ static irqreturn_t xennet_tx_interrupt(int irq, void *dev_id)
 	struct netfront_queue *queue = dev_id;
 	unsigned long flags;
 
+	if (queue->info->broken)
+		return IRQ_HANDLED;
+
 	spin_lock_irqsave(&queue->tx_lock, flags);
 	xennet_tx_buf_gc(queue);
 	spin_unlock_irqrestore(&queue->tx_lock, flags);
@@ -1374,6 +1437,9 @@ static irqreturn_t xennet_rx_interrupt(int irq, void *dev_id)
 	struct netfront_queue *queue = dev_id;
 	struct net_device *dev = queue->info->netdev;
 
+	if (queue->info->broken)
+		return IRQ_HANDLED;
+
 	if (likely(netif_carrier_ok(dev) &&
 		   RING_HAS_UNCONSUMED_RESPONSES(&queue->rx)))
 		napi_schedule(&queue->napi);
@@ -1395,6 +1461,10 @@ static void xennet_poll_controller(struct net_device *dev)
 	struct netfront_info *info = netdev_priv(dev);
 	unsigned int num_queues = dev->real_num_tx_queues;
 	unsigned int i;
+
+	if (info->broken)
+		return;
+
 	for (i = 0; i < num_queues; ++i)
 		xennet_interrupt(0, &info->queues[i]);
 }
@@ -1466,6 +1536,11 @@ static int xennet_xdp_set(struct net_device *dev, struct bpf_prog *prog,
 
 static int xennet_xdp(struct net_device *dev, struct netdev_bpf *xdp)
 {
+	struct netfront_info *np = netdev_priv(dev);
+
+	if (np->broken)
+		return -ENODEV;
+
 	switch (xdp->command) {
 	case XDP_SETUP_PROG:
 		return xennet_xdp_set(dev, xdp->prog, xdp->extack);
@@ -1841,6 +1916,7 @@ static int xennet_init_queue(struct netfront_queue *queue)
 
 	/* Initialise tx_skb_freelist as a free chain containing every entry. */
 	queue->tx_skb_freelist = 0;
+	queue->tx_pend_queue = TX_LINK_NONE;
 	for (i = 0; i < NET_TX_RING_SIZE; i++) {
 		queue->tx_link[i] = i + 1;
 		queue->grant_tx_ref[i] = GRANT_INVALID_REF;
@@ -2115,6 +2191,9 @@ static int talk_to_netback(struct xenbus_device *dev,
 	if (info->queues)
 		xennet_destroy_queues(info);
 
+	/* For the case of a reconnect reset the "broken" indicator. */
+	info->broken = false;
+
 	err = xennet_create_queues(info, &num_queues);
 	if (err < 0) {
 		xenbus_dev_fatal(dev, err, "creating queues");
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 10:28:28 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 10:28:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170858.311856 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mITfQ-0004L3-7N; Tue, 24 Aug 2021 10:28:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170858.311856; Tue, 24 Aug 2021 10: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 1mITfQ-0004Ku-2u; Tue, 24 Aug 2021 10:28:28 +0000
Received: by outflank-mailman (input) for mailman id 170858;
 Tue, 24 Aug 2021 10:28:26 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=3Uw6=NP=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mITfO-00031l-3n
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:28:26 +0000
Received: from smtp-out2.suse.de (unknown [195.135.220.29])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 84f74615-da8a-4f51-8b77-82161ad5c47f;
 Tue, 24 Aug 2021 10:28:15 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 4AF9E20050;
 Tue, 24 Aug 2021 10:28:14 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 048EE136DD;
 Tue, 24 Aug 2021 10:28:13 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id aKYuO73JJGG8DwAAGKfGzw
 (envelope-from <jgross@suse.com>); Tue, 24 Aug 2021 10:28:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 84f74615-da8a-4f51-8b77-82161ad5c47f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1629800894; 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=dRfHDlbGvJX0Rh3aH0nd0i0HxQzYtne2EnV2YC+Etxk=;
	b=WA3W65tQDCGvZ6HWHIGUJZAQZYk/ziLqp7BG4E0U2Kn9UPepZzumKpmbZ0uW+XGqsGRDGm
	hc3woFMVOqUqQY8GKTWR9k337NFfSSOWEWki45zkGpCXg4Tdq40AaS6+pew3yTMN51P8xQ
	BAUavhaDsivS2qpG2Z9jGgMWI7k70rk=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org,
	netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"David S. Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>
Subject: [PATCH v2 3/4] xen/netfront: disentangle tx_skb_freelist
Date: Tue, 24 Aug 2021 12:28:08 +0200
Message-Id: <20210824102809.26370-4-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20210824102809.26370-1-jgross@suse.com>
References: <20210824102809.26370-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The tx_skb_freelist elements are in a single linked list with the
request id used as link reference. The per element link field is in a
union with the skb pointer of an in use request.

Move the link reference out of the union in order to enable a later
reuse of it for requests which need a populated skb pointer.

Rename add_id_to_freelist() and get_id_from_freelist() to
add_id_to_list() and get_id_from_list() in order to prepare using
those for other lists as well. Define ~0 as value to indicate the end
of a list and place that value into the link for a request not being
on the list.

When freeing a skb zero the skb pointer in the request. Use a NULL
value of the skb pointer instead of skb_entry_is_link() for deciding
whether a request has a skb linked to it.

Remove skb_entry_set_link() and open code it instead as it is really
trivial now.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- new patch
---
 drivers/net/xen-netfront.c | 61 ++++++++++++++++----------------------
 1 file changed, 25 insertions(+), 36 deletions(-)

diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
index 714fe9d2c534..956e1266bd1a 100644
--- a/drivers/net/xen-netfront.c
+++ b/drivers/net/xen-netfront.c
@@ -126,17 +126,11 @@ struct netfront_queue {
 
 	/*
 	 * {tx,rx}_skbs store outstanding skbuffs. Free tx_skb entries
-	 * are linked from tx_skb_freelist through skb_entry.link.
-	 *
-	 *  NB. Freelist index entries are always going to be less than
-	 *  PAGE_OFFSET, whereas pointers to skbs will always be equal or
-	 *  greater than PAGE_OFFSET: we use this property to distinguish
-	 *  them.
+	 * are linked from tx_skb_freelist through tx_link.
 	 */
-	union skb_entry {
-		struct sk_buff *skb;
-		unsigned long link;
-	} tx_skbs[NET_TX_RING_SIZE];
+	struct sk_buff *tx_skbs[NET_TX_RING_SIZE];
+	unsigned short tx_link[NET_TX_RING_SIZE];
+#define TX_LINK_NONE 0xffff
 	grant_ref_t gref_tx_head;
 	grant_ref_t grant_tx_ref[NET_TX_RING_SIZE];
 	struct page *grant_tx_page[NET_TX_RING_SIZE];
@@ -181,33 +175,25 @@ struct netfront_rx_info {
 	struct xen_netif_extra_info extras[XEN_NETIF_EXTRA_TYPE_MAX - 1];
 };
 
-static void skb_entry_set_link(union skb_entry *list, unsigned short id)
-{
-	list->link = id;
-}
-
-static int skb_entry_is_link(const union skb_entry *list)
-{
-	BUILD_BUG_ON(sizeof(list->skb) != sizeof(list->link));
-	return (unsigned long)list->skb < PAGE_OFFSET;
-}
-
 /*
  * Access macros for acquiring freeing slots in tx_skbs[].
  */
 
-static void add_id_to_freelist(unsigned *head, union skb_entry *list,
-			       unsigned short id)
+static void add_id_to_list(unsigned *head, unsigned short *list,
+			   unsigned short id)
 {
-	skb_entry_set_link(&list[id], *head);
+	list[id] = *head;
 	*head = id;
 }
 
-static unsigned short get_id_from_freelist(unsigned *head,
-					   union skb_entry *list)
+static unsigned short get_id_from_list(unsigned *head, unsigned short *list)
 {
 	unsigned int id = *head;
-	*head = list[id].link;
+
+	if (id != TX_LINK_NONE) {
+		*head = list[id];
+		list[id] = TX_LINK_NONE;
+	}
 	return id;
 }
 
@@ -406,7 +392,8 @@ static void xennet_tx_buf_gc(struct netfront_queue *queue)
 				continue;
 
 			id  = txrsp.id;
-			skb = queue->tx_skbs[id].skb;
+			skb = queue->tx_skbs[id];
+			queue->tx_skbs[id] = NULL;
 			if (unlikely(gnttab_query_foreign_access(
 				queue->grant_tx_ref[id]) != 0)) {
 				pr_alert("%s: warning -- grant still in use by backend domain\n",
@@ -419,7 +406,7 @@ static void xennet_tx_buf_gc(struct netfront_queue *queue)
 				&queue->gref_tx_head, queue->grant_tx_ref[id]);
 			queue->grant_tx_ref[id] = GRANT_INVALID_REF;
 			queue->grant_tx_page[id] = NULL;
-			add_id_to_freelist(&queue->tx_skb_freelist, queue->tx_skbs, id);
+			add_id_to_list(&queue->tx_skb_freelist, queue->tx_link, id);
 			dev_kfree_skb_irq(skb);
 		}
 
@@ -452,7 +439,7 @@ static void xennet_tx_setup_grant(unsigned long gfn, unsigned int offset,
 	struct netfront_queue *queue = info->queue;
 	struct sk_buff *skb = info->skb;
 
-	id = get_id_from_freelist(&queue->tx_skb_freelist, queue->tx_skbs);
+	id = get_id_from_list(&queue->tx_skb_freelist, queue->tx_link);
 	tx = RING_GET_REQUEST(&queue->tx, queue->tx.req_prod_pvt++);
 	ref = gnttab_claim_grant_reference(&queue->gref_tx_head);
 	WARN_ON_ONCE(IS_ERR_VALUE((unsigned long)(int)ref));
@@ -460,7 +447,7 @@ static void xennet_tx_setup_grant(unsigned long gfn, unsigned int offset,
 	gnttab_grant_foreign_access_ref(ref, queue->info->xbdev->otherend_id,
 					gfn, GNTMAP_readonly);
 
-	queue->tx_skbs[id].skb = skb;
+	queue->tx_skbs[id] = skb;
 	queue->grant_tx_page[id] = page;
 	queue->grant_tx_ref[id] = ref;
 
@@ -1284,17 +1271,18 @@ static void xennet_release_tx_bufs(struct netfront_queue *queue)
 
 	for (i = 0; i < NET_TX_RING_SIZE; i++) {
 		/* Skip over entries which are actually freelist references */
-		if (skb_entry_is_link(&queue->tx_skbs[i]))
+		if (!queue->tx_skbs[i])
 			continue;
 
-		skb = queue->tx_skbs[i].skb;
+		skb = queue->tx_skbs[i];
+		queue->tx_skbs[i] = NULL;
 		get_page(queue->grant_tx_page[i]);
 		gnttab_end_foreign_access(queue->grant_tx_ref[i],
 					  GNTMAP_readonly,
 					  (unsigned long)page_address(queue->grant_tx_page[i]));
 		queue->grant_tx_page[i] = NULL;
 		queue->grant_tx_ref[i] = GRANT_INVALID_REF;
-		add_id_to_freelist(&queue->tx_skb_freelist, queue->tx_skbs, i);
+		add_id_to_list(&queue->tx_skb_freelist, queue->tx_link, i);
 		dev_kfree_skb_irq(skb);
 	}
 }
@@ -1851,13 +1839,14 @@ static int xennet_init_queue(struct netfront_queue *queue)
 	snprintf(queue->name, sizeof(queue->name), "vif%s-q%u",
 		 devid, queue->id);
 
-	/* Initialise tx_skbs as a free chain containing every entry. */
+	/* Initialise tx_skb_freelist as a free chain containing every entry. */
 	queue->tx_skb_freelist = 0;
 	for (i = 0; i < NET_TX_RING_SIZE; i++) {
-		skb_entry_set_link(&queue->tx_skbs[i], i+1);
+		queue->tx_link[i] = i + 1;
 		queue->grant_tx_ref[i] = GRANT_INVALID_REF;
 		queue->grant_tx_page[i] = NULL;
 	}
+	queue->tx_link[NET_TX_RING_SIZE - 1] = TX_LINK_NONE;
 
 	/* Clear out rx_skbs */
 	for (i = 0; i < NET_RX_RING_SIZE; i++) {
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 10:42:08 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 10:42:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170885.311874 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mITsX-0007sd-G2; Tue, 24 Aug 2021 10:42:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170885.311874; Tue, 24 Aug 2021 10: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 1mITsX-0007sW-Cc; Tue, 24 Aug 2021 10:42:01 +0000
Received: by outflank-mailman (input) for mailman id 170885;
 Tue, 24 Aug 2021 10:42:00 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9r+0=NP=arm.com=Bertrand.Marquis@srs-us1.protection.inumbo.net>)
 id 1mITsW-0007sQ-NR
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:42:00 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com (unknown
 [40.107.20.42]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id e91c7c14-04c7-11ec-a8c5-12813bfff9fa;
 Tue, 24 Aug 2021 10:42:00 +0000 (UTC)
Received: from AS8PR04CA0200.eurprd04.prod.outlook.com (2603:10a6:20b:2f3::25)
 by DBAPR08MB5605.eurprd08.prod.outlook.com (2603:10a6:10:1af::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.21; Tue, 24 Aug
 2021 10:41:55 +0000
Received: from VE1EUR03FT053.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:2f3:cafe::87) by AS8PR04CA0200.outlook.office365.com
 (2603:10a6:20b:2f3::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Tue, 24 Aug 2021 10:41:55 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT053.mail.protection.outlook.com (10.152.19.198) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Tue, 24 Aug 2021 10:41:55 +0000
Received: ("Tessian outbound 1a0c40aa17d8:v103");
 Tue, 24 Aug 2021 10:41:55 +0000
Received: from f4505f0dd98f.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 9CD7EDC6-7D2B-49F0-B42A-41425008A0A0.1; 
 Tue, 24 Aug 2021 10:41:48 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f4505f0dd98f.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 24 Aug 2021 10:41:48 +0000
Received: from PAXPR08MB6446.eurprd08.prod.outlook.com (2603:10a6:102:12d::10)
 by PAXPR08MB6830.eurprd08.prod.outlook.com (2603:10a6:102:130::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Tue, 24 Aug
 2021 10:41:40 +0000
Received: from PAXPR08MB6446.eurprd08.prod.outlook.com
 ([fe80::3184:5465:27b6:f27d]) by PAXPR08MB6446.eurprd08.prod.outlook.com
 ([fe80::3184:5465:27b6:f27d%9]) with mapi id 15.20.4394.023; Tue, 24 Aug 2021
 10:41: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: e91c7c14-04c7-11ec-a8c5-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Fwt8ow94lMbyTe2O9Zr+xCrdeKG7wR68frym4d9H2Ek=;
 b=LiCTdE6Y0g1TBpMIbIdYPfmA+N/yuDr9+pBXV9iLqDnhhygyW94Oyv4JRWzXjxoNdTNXryizZZwtzhIgXUiqg++oB3EVeY+HfIW3sLLIAzo1w0drCkzcII6E4oSCDvm31kG9N9/vgl8uShv31PksvKQYzzdyNkImkeWibLfM6jc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: f4a3e5c42d3e8a96
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kl9rG8ckASHSptIaAGHkUnyvveYWYCU4BcjjMDf1gGKMktb0klgPIXn/HIlPmh5i7uyj9AtOtDfqtw/TpNHygmyCCdt4VGektZyWL7PaNE+rDiT0phh+US8fxB3/85hmKZ0fiBLhudchbG958cYJ1rMWIEcrD4pXTpUUz3DcS7FnCwSJg5DziuCaSfA8a7/Ro/imIIccW7EfJOMZVpeSCHWXb5ICPzx4WYc8+HeetMbTU8nDaj3x0+IvttZXouecwHt7uuYVplzxlcf/wd67MraaJqyNxIzgwgl74lcBttLmPlYbEhAvfztDSlMKMZmjwhobxHlh/bSigeCtEDbTCA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Fwt8ow94lMbyTe2O9Zr+xCrdeKG7wR68frym4d9H2Ek=;
 b=T4B+Kw6YgOSsF1F6COgbEZK7s5FzG0hQ/o6qWc6gA9r5ehzqboUuJaBgj+ev5YR4J74BCLer20GitB9/Drc/W5wPD/kSTrBeif462SDbIa8rvjoenSJf1BfdZV//wkgHspAqrp8ht4EAgljA7T5+9mCkS3h71nB3H7qa5pajPct/moDzG0wJyxDkLSw5edV7rZqnfXgFrQN0eyLAG8yanW63Fo91YOhlpavlwobxLWdP3KVIAceR5J8z9tBxOrpciENr6TnbCrx+Qm5zu2OBxjsTjtkOf+SqBKV7/19tLshf4+PIFtA4G9+s506uqmqeRPn2+MdwPVPkS7uQBnvoZg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Fwt8ow94lMbyTe2O9Zr+xCrdeKG7wR68frym4d9H2Ek=;
 b=LiCTdE6Y0g1TBpMIbIdYPfmA+N/yuDr9+pBXV9iLqDnhhygyW94Oyv4JRWzXjxoNdTNXryizZZwtzhIgXUiqg++oB3EVeY+HfIW3sLLIAzo1w0drCkzcII6E4oSCDvm31kG9N9/vgl8uShv31PksvKQYzzdyNkImkeWibLfM6jc=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>
Subject: Re: [PATCH v2 0/7] xen/arm: Sanitize cpuinfo
Thread-Topic: [PATCH v2 0/7] xen/arm: Sanitize cpuinfo
Thread-Index: AQHXmApE4Kv6+ShsZkCCCMo7AkZIk6uA/4aAgAA89ICAATGKgIAACyUA
Date: Tue, 24 Aug 2021 10:41:40 +0000
Message-ID: <CA410FEE-796C-4065-AC16-BB202009AACD@arm.com>
References: <cover.1629713932.git.bertrand.marquis@arm.com>
 <30ad3be3-b8b2-b83f-e061-5a428175e3f4@xen.org>
 <07661F12-BA25-4854-92A3-86172AC0ACF6@arm.com>
 <f9d7e8d4-f804-55f8-5a01-1f1733a83bdf@xen.org>
In-Reply-To: <f9d7e8d4-f804-55f8-5a01-1f1733a83bdf@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.3654.120.0.1.13)
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 6887597f-118c-4a18-eca1-08d966ebcad1
x-ms-traffictypediagnostic: PAXPR08MB6830:|DBAPR08MB5605:
X-Microsoft-Antispam-PRVS:
	<DBAPR08MB560516D841D77B186C0F73019DC59@DBAPR08MB5605.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:9508;OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 4iu+VrgOLxbfAVOsQK26OSSGR1mHzCi0dfXu4JWgB12Kd5/K347aG9FmTCJJGsU52+XsuvVrJP/vGlnqoBkNBAAdfJpk/jovmnwGIjita1weNCZqtjcPpW4+1fjrL3yF/BzpC2/pNZteUlGdtOUeTvd7tnLZXajL+m+7Ya37WUKskQ5eZ+HjYvDEGjlTbmOnDvUk43wxdfn/Ir1IqwFylgecrjwsXfRUwiFmC46qkKmAQpnGRRr1mv0dMx4f8Gf6p9+JfeqSTyWIMz1h1jH6JwUiQ2sQNTrEuc9z2qnEVsgjXpZ+0M3aloJE18ew1DAqZyGBx7kNzAGVzbVYNIn/DLGyjXBL1PnjJFeQwMGdp1Gv2hQua9ywMHoSCjKbrJye3+aWrgNMGeRJFuCtYYqrw0KvvpGku2fcMq3z22doH6JLD9IBSxBuTmW8ttJb4GqKm89Vc4D7Jzr6YxTfjrbcAj3td5NtuQNQdirYediYZVpUFejWPZYPTZl4ktgdMP9b8Di+zSbci5gCu6UC8Ij+jweoOUO/2Fea1uohdQts0/jVxMrXsE9u10VDodWhXMH0EXIGio6i7FGPXZvy0YAjG/u5vsPnFP3aXgO2JtxJJB4adl4E14D7+5kcOyIVKiJ2COnEk57YJjivA0oQWzMhCPvp3DLk0+3tyio/AOn4wFFBpo60CDjgBQV5r5mTQCruNBq2+pUiu3pcQtD6fQUgjGKzijTAyMAJYnsz3r+vKkjHlsxnZRsRZp5F1z6CrpAA
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB6446.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(376002)(366004)(346002)(396003)(39860400002)(136003)(36756003)(2616005)(122000001)(5660300002)(6486002)(66476007)(8676002)(38100700002)(71200400001)(83380400001)(66556008)(6512007)(33656002)(66446008)(66946007)(4326008)(26005)(316002)(2906002)(64756008)(186003)(478600001)(6916009)(54906003)(8936002)(76116006)(53546011)(6506007)(86362001)(38070700005)(91956017)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?HbBb4uShFHuRbmH19Le1c6onW13Nd9BXRWB3LV8bHF4Tt/beXfaIHbBHdN6l?=
 =?us-ascii?Q?aqrmAkFKA+5bUcBFHReUdZYQwrM20wipF41TkuN+R+NKoIhJFqTgmHqmHWsn?=
 =?us-ascii?Q?nAxcNP6f1pl2ne/RGV67dgbeLu6aW6drcCipuOjgPoqrY1k55knwaG5bDpB/?=
 =?us-ascii?Q?OLKQC6VlAIzi/hDt8Fz3Zswt76eO416sHRK+AoTfwTqzoKMFvOQZxYRzV9Ks?=
 =?us-ascii?Q?d/i+hbvFMMThy3WJulZb/caN60bindmE1HeBDzs2ED1Kvnvt+ZMi07mPdK0Y?=
 =?us-ascii?Q?MhNDcTDt6sW4IRynG5ySSNhDGgQpibrIhq1Gy00FHaop5rvceDRbgPh6VDlk?=
 =?us-ascii?Q?LmKTjaI14wja/fY9o9W/pCA9R3hpdT3SsUw0drYkYqUVZITdWJoFYWOEImnF?=
 =?us-ascii?Q?LQZegwIHHC9FG2wvOwlNwRcyCtJc5MMd0G/D1uZHwOdOkeLun5Zue/hQ2uL1?=
 =?us-ascii?Q?bEpd5zcjrNpGi5GoGjLhb3ZDCtwdhQ1YIC5ZKvmwBlCoWpyNppKqyhEanJHN?=
 =?us-ascii?Q?YWSvjL2QcF87p8dg7OT+R8vrJdgmBc92EdT+lpwxqwf+2prGTUmnrVQa1gie?=
 =?us-ascii?Q?r1dOZLzR6KhE9PyBkux+Yhrf5P5DQ63fRjH+rx+DDXXofzc/MmQZIoZxBbKT?=
 =?us-ascii?Q?zeXdCkL4y1880g1v7t3R8a0I1AkpY1hoi2Iri77EnNWZ2KIf71wKwb5jImnU?=
 =?us-ascii?Q?WlKJMk1PgGAiMhig02u0eVOo9fEbmXmgEcVT7RjL15h3DsSXSEaO3YVyVELy?=
 =?us-ascii?Q?niKTwrz7PHUfPP3DJDFqQYvnPxTHq0Wz8pnHc9jb80dTc9fghqIOkhnKCtdy?=
 =?us-ascii?Q?XTCxUbN8aoURS1YnG+mS7Gba1z9awI5V/6cZ3fBsmIeCK1f0exo73X939KN0?=
 =?us-ascii?Q?W7Iq+b2Hr5U3IHnbQH/vS7ZvrFvqpTB5pLNTzAI1dN3uHUD3v0LG6ZpAVaEC?=
 =?us-ascii?Q?YS3zfe6ffzesSqQCriLprfk/cuFEqr+6n8YNOED1dazzP8srQJiVFatQ7ydY?=
 =?us-ascii?Q?WdiK0nOw/SbUIMFsIvhKR3b5m9w0UmvgBLq3HHXUUVawqdIXM3epws79rR9a?=
 =?us-ascii?Q?JVHWnUDCKxbtW8vCuOVVzj183rE3vDpbYrvZs+mn9hegGtPkO37v7gqt/WDL?=
 =?us-ascii?Q?wThAIk0cXle4LZNBaq+NpA7RUpP1/UvL179pwTVMXfKK6ZsBfgUTYsS2SDQD?=
 =?us-ascii?Q?WejaQ4j5jBIoczCKY9kq9FB5ZZ9ou1JXi01WdLfydEWOHBcp7t4gHVemZkay?=
 =?us-ascii?Q?cVoHLHvlQ3lLFit9z9O+Piw06FsC9uf/B3R5lqjdUk0dW0qHz3Sb8CsH4nDD?=
 =?us-ascii?Q?eIsBbOhjs6rD0TeiwFXuhz3r?=
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="us-ascii"
Content-ID: <46696445DCDB3B4F8A915D7346F046B0@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6830
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT053.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	06232a04-b8cc-41cf-daed-08d966ebc1fe
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	F+4HPuV5ZbbVgHs5LqZ7qSK10ItIhmVr1eEr2G+J7Y9QrB0k6uXAz3FxDY8XhVAV1BRa7tk3IKj9o8NwiWfGPopO8A+Hr1m0FlIKfvZfHm3fB5Fe0lO557ySFVNS49/D/bLeJJ4HnEkRaTKQMjpXf27/p/iws+qGHJs/uVw/DHnnhS7004nkyjqzdMcCbvAat47s64/UHPHohVaS/Ensp+4ctj7AElq6z1w3hNQDw9NXmRLt+dMBPPwddwWFHjb+iBZ1R+nKlpIHuU5wWRIrK+s8CDdOb3ToB3lKd+DrhawKV7YoSjUkQfa0e9fyuhUL5hK7fWfDKripJKKN3IXT6ceq8WEXnowLCGBL0SCamY8GOsCQnXqUaQ7yAMydbkcypKRe/fHo66k9dVG6Cz0z8tco0jZ6IoJE/6WNxiofVScXWfV9AsFSBBkhcJdCrRgKEy65B9+guxBU7npB8lqmfwwkaKcYykjsVFvSWd1iK7kX+jqqRuIQfE22S/BWvKe8PUcveo0FCoINVjkrqzPzDVPrkeQvS84VnpfE1SXTrGZ19S8OWq3nGLf/uuF9pCekfRqEuqcNCzng8Qt9k2CpRv/WnNambg7anUg+4C9H3Hqm7QAg9Y/P+/Q1v6+Id2EeaWM4Bx9BLOV3gJ+KBBjPqcrAGggE2H417uN+GA+qPR7fjMWhbs8Ski5RuNPfuC+0ZWIlw54pzmpFH3b7fFwjSw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(346002)(396003)(376002)(39850400004)(136003)(46966006)(36840700001)(8936002)(36860700001)(478600001)(53546011)(6506007)(5660300002)(107886003)(82310400003)(6862004)(36756003)(47076005)(83380400001)(2906002)(33656002)(86362001)(54906003)(6512007)(2616005)(70586007)(4326008)(82740400003)(70206006)(316002)(186003)(8676002)(6486002)(336012)(356005)(26005)(81166007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 10:41:55.4669
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6887597f-118c-4a18-eca1-08d966ebcad1
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT053.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5605

Hi Julien

> On 24 Aug 2021, at 11:01, Julien Grall <julien@xen.org> wrote:
>=20
>=20
>=20
> On 23/08/2021 16:48, Bertrand Marquis wrote:
>> Hi Julien,
>=20
> Hi Bertrand,
>=20
>> [Keep only arm maintainers in the CC list]
>>> On 23 Aug 2021, at 13:10, Julien Grall <julien@xen.org> wrote:
>>>=20
>>> Hi Bertrand,
>>>=20
>>> On 23/08/2021 11:32, Bertrand Marquis wrote:
>>>> On arm architecture we might have heterogeneous platforms with differe=
nt
>>>> types of cores. As a guest can potentialy run on any of those cores we
>>>> have to present them cpu features which are compatible with all cores
>>>> and discard the features which are only available on some cores.
>>>=20
>>> Sanitizing the CPU info is important for Xen so it can correctly size t=
he P2M, flush the cache... However, I don't think this is going to be suffi=
cient to be able to move a vCPU between different type of pCPU.
>>>=20
>>> The main hurdle I can see so far is errata handling. Not all the errata=
 can be fully handled in Xen so some of them are left to the guest to mitig=
ate.
>> I agree this is something to work on and a problem with the current seri=
e.
>>>=20
>>> The errata are usually detected based on the MIDR while the OS is booti=
ng. IOW, a guest will not be able to know that it needs to handle an errata=
 for pCPU B if it only runs on pCPU A.
>> Ack.
>>>=20
>>> I don't know yet how this can be solved, but errata are not that uncomm=
on on Arm. So until this addressed, we will still need to make sure that vC=
PUs are not migrated between pCPUs with at least a different MIDR.
>>>=20
>>> This prevention can be either done manually by pinning the vCPUs or imp=
lementing the proposal that Dario sent a few years ago (see [1]).
>> My current proposal would be the following:
>> - add a command line option to allow to use all cores on a heterogeneous=
 platform (different MIDR)
>=20
> We already have a command line for heterogenous platform. How about re-us=
ing it?

I guess you mean hmp-unsafe which is in fact already mentioning big.LITTLE.
That is what I was planning to use (I should have mentioned it)

>=20
>> - taint Xen on this case
>> - keep the feature sanitize as it is as on this case it will create a sa=
fer setup (apart from the errata potential problem)
>> - keep current behaviour if command line option is not passed
>> Having a solution to enable all cores (even if it is unsafe) could still=
 be a good improvement for development on big.LITTLE
>> platforms or for people knowing how to properly configure the system to =
prevent the problems by using properly cpupools so
>> I still think this serie with the proposed changes is still making a lot=
 of sense.
>=20
> +1.
>=20
>> I will start looking at a long term solution, maybe automatically create=
 a cpupools on boot or investigate on the design you provided.
>=20
> IIRC, all vCPUs of a domain needs to be in the same cpupool. If your plan=
 is to expose big.LITTLE to the guest, then you would need to look at the d=
esign proposal from Dario.

I started to look at Dario idea and I was also thinking we could in fact pr=
e-create cpupools for each kind of cores.
I will continue to dig and come up with a design for that because we have s=
ome use cases which might be more
complex like allowing a guest to actually have both big and little cores in=
 which case we need to provide them with
the right cpuinfo and make sure the vcpus are always assigned to the same k=
ind of core.

I will work on a v3 with the agreed changes and then write a proposal for t=
he next step.

Cheers
Bertrand

>=20
> Cheers,
>=20
> --=20
> Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 10:50:54 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 10:50:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170893.311887 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIU14-0000wn-G1; Tue, 24 Aug 2021 10:50:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170893.311887; Tue, 24 Aug 2021 10:50:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIU14-0000wg-D2; Tue, 24 Aug 2021 10:50:50 +0000
Received: by outflank-mailman (input) for mailman id 170893;
 Tue, 24 Aug 2021 10:50:49 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU13-0000wa-1d
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:50:49 +0000
Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 2391e626-04c9-11ec-a8c5-12813bfff9fa;
 Tue, 24 Aug 2021 10: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: 2391e626-04c9-11ec-a8c5-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802247;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=ZLzfpeVcbnlSXaU/oXQHrIyxhVmhoG8fkFq0zEl5QGU=;
  b=gjoPltIOWDehLMSsFBmNhkLwLLqm8lTkwHkPwxNG+BuhodSC8UVINA1l
   6kakporpfQ3rlMnYOLDXaVER2ir8+GynUO8VqxeFB0dXgp1ODios5Mnls
   5NGIq1CelCmii2eU3IyVFwLUc74xLRKC45ZLJejRZKiMwcHT++5vgvdOg
   w=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: AVNnb+JEY8R2ArffvvoKtbGZfLWQxKGZG0eMLt1JTgyyKgl89dBSLjybw6iU/yluRcxPR7vZPc
 GxlVN555aMZ+sRSbJmXhk3gbOT5VkoVvEZhkni4hFF7oTYFZAZysAs1jqe4abK6kVohpIKqTmf
 Gy7ttY1f9rnIzobVeyq6DLK7QCGKyzRtASghstnSgH51Ak3jmvB55Wxk6yXWZQjBSu2vCUUxm4
 YzPbApUlbkAWrg+4HqxbNdFDwvQ9AT6qTrXGF0SuDkoGrVsCNLYO3ulctltfA5DiCzETKryOy9
 eUS4q1EoiN9bTUvz87uz2yhs
X-SBRS: 5.1
X-MesageID: 52875421
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:ydPET60cHRfX5uAW14LdXgqjBQ5yeYIsimQD101hICG9Lfb0qy
 n+pp4mPEHP4wr5AEtQ/+xpOMG7IU80hqQFmLX5XI3SFzUO11HYSL2KgbGN/9SCIVy1ygc+79
 YGT0EWMrSZYTdHZK3BkWqF+qMbsby6GdeT9IXjJhlWLD1CWuVF1UNUGwybGkp5SE1tHpwiDq
 eR4cJBun6JZWkXRt7TPAhIY8Hz4/nw0L72ax8PABAqrCOUiymz1bL8Gx+Emj8DTjJ0x6s4+2
 StqX232kzjiYD09vbv7R6S031koqqj9jKFPr3PtiEhEESstu9vXvUlZ1TNhkFwnAjl0idTrD
 CFmWZaAy000QKdQoj9m2qW5yDwlDkp8HPs0lmenD/qptH4XiszD45biZteaQax0TtXgDhQ6t
 M+44uijeshMfoAplWN2/HYExVx0kakq3srluAey3RZTIsFcbdU6YgS5llcHpsMFD/zrNlPKp
 gnMOjMoPJNNV+KZXHQuWdihNSqQ3QoBx+DBkwPoNac3TRalG1wi0EY2MsclHEd849VcegM28
 3UdqBz0L1eRM4faqxwQO8HXMusE2TIBQnBNWqDSG6XYZ3v+0i92aIfxY9Fmt1CVKZ4sKfaqa
 6xI2+w71RCBn4GIff+o6Fj41TXRnmhUXD31sRTjqIJyoHBeA==
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="52875421"
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>, "Ian
 Jackson" <iwj@xenproject.org>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [XEN PATCH v7 01/51] build: introduce cpp_flags macro
Date: Tue, 24 Aug 2021 11:49:48 +0100
Message-ID: <20210824105038.1257926-2-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-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:
    v7:
    - also filter -flto
    - and convert "asm-offsets.s" and "xen/x86/%.lds" to use cpp_flags as
      well.
    
    v6:
    - switch to a macro as suggested
      which allows to be used with both a_flags and c_flags
    
    v5:
    - new patch

 xen/Makefile                    | 2 +-
 xen/Rules.mk                    | 7 +++++--
 xen/arch/x86/Makefile           | 2 +-
 xen/arch/x86/mm/Makefile        | 2 +-
 xen/arch/x86/mm/hap/Makefile    | 2 +-
 xen/arch/x86/mm/shadow/Makefile | 2 +-
 6 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/xen/Makefile b/xen/Makefile
index 94e837182615..4ceb02d37441 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -410,7 +410,7 @@ include/xen/compile.h: include/xen/compile.h.in .banner
 	@mv -f $@.new $@
 
 asm-offsets.s: arch/$(TARGET_ARCH)/$(TARGET_SUBARCH)/asm-offsets.c
-	$(CC) $(filter-out -Wa$(comma)% -flto,$(c_flags)) -S -g0 -o $@.new -MQ $@ $<
+	$(CC) $(call cpp_flags,$(c_flags)) -S -g0 -o $@.new -MQ $@ $<
 	$(call move-if-changed,$@.new,$@)
 
 include/asm-$(TARGET_ARCH)/asm-offsets.h: asm-offsets.s
diff --git a/xen/Rules.mk b/xen/Rules.mk
index d65d6a48993b..c99c4a9475c9 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -133,6 +133,9 @@ endif
 # Always build obj-bin files as binary even if they come from C source. 
 $(obj-bin-y): XEN_CFLAGS := $(filter-out -flto,$(XEN_CFLAGS))
 
+# To be use with $(a_flags) or $(c_flags) to produce CPP flags
+cpp_flags = $(filter-out -Wa$(comma)% -flto,$(1))
+
 # Calculation of flags, first the generic flags, then the arch specific flags,
 # and last the flags modified for a target or a directory.
 
@@ -222,13 +225,13 @@ $(filter %.init.o,$(obj-y) $(obj-bin-y) $(extra-y)): %.init.o: %.o FORCE
 	$(call if_changed,obj_init_o)
 
 quiet_cmd_cpp_i_c = CPP     $@
-cmd_cpp_i_c = $(CPP) $(filter-out -Wa$(comma)%,$(c_flags)) -MQ $@ -o $@ $<
+cmd_cpp_i_c = $(CPP) $(call cpp_flags,$(c_flags)) -MQ $@ -o $@ $<
 
 quiet_cmd_cc_s_c = CC      $@
 cmd_cc_s_c = $(CC) $(filter-out -Wa$(comma)%,$(c_flags)) -S $< -o $@
 
 quiet_cmd_cpp_s_S = CPP     $@
-cmd_cpp_s_S = $(CPP) $(filter-out -Wa$(comma)%,$(a_flags)) -MQ $@ -o $@ $<
+cmd_cpp_s_S = $(CPP) $(call cpp_flags,$(a_flags)) -MQ $@ -o $@ $<
 
 %.i: %.c FORCE
 	$(call if_changed,cpp_i_c)
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index fe38cfd54421..462472215c91 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -292,7 +292,7 @@ $(BASEDIR)/include/asm-x86/asm-macros.h: asm-macros.i Makefile
 
 efi.lds: AFLAGS-y += -DEFI
 xen.lds efi.lds: xen.lds.S
-	$(CPP) -P $(filter-out -Wa$(comma)%,$(a_flags)) -MQ $@ -o $@ $<
+	$(CPP) -P $(call cpp_flags,$(a_flags)) -MQ $@ -o $@ $<
 
 boot/mkelf32: boot/mkelf32.c
 	$(HOSTCC) $(HOSTCFLAGS) -o $@ $<
diff --git a/xen/arch/x86/mm/Makefile b/xen/arch/x86/mm/Makefile
index b31041644fe8..2818c066f76a 100644
--- a/xen/arch/x86/mm/Makefile
+++ b/xen/arch/x86/mm/Makefile
@@ -15,7 +15,7 @@ guest_walk_%.o: guest_walk.c Makefile
 	$(CC) $(c_flags) -DGUEST_PAGING_LEVELS=$* -c $< -o $@
 
 guest_walk_%.i: guest_walk.c Makefile
-	$(CPP) $(filter-out -Wa$(comma)%,$(c_flags)) -DGUEST_PAGING_LEVELS=$* -c $< -o $@
+	$(CPP) $(call cpp_flags,$(c_flags)) -DGUEST_PAGING_LEVELS=$* -c $< -o $@
 
 guest_walk_%.s: guest_walk.c Makefile
 	$(CC) $(filter-out -Wa$(comma)%,$(c_flags)) -DGUEST_PAGING_LEVELS=$* -S $< -o $@
diff --git a/xen/arch/x86/mm/hap/Makefile b/xen/arch/x86/mm/hap/Makefile
index 22e7ad54bd33..c6d296b51720 100644
--- a/xen/arch/x86/mm/hap/Makefile
+++ b/xen/arch/x86/mm/hap/Makefile
@@ -9,7 +9,7 @@ guest_walk_%level.o: guest_walk.c Makefile
 	$(CC) $(c_flags) -DGUEST_PAGING_LEVELS=$* -c $< -o $@
 
 guest_walk_%level.i: guest_walk.c Makefile
-	$(CPP) $(filter-out -Wa$(comma)%,$(c_flags)) -DGUEST_PAGING_LEVELS=$* -c $< -o $@
+	$(CPP) $(call cpp_flags,$(c_flags)) -DGUEST_PAGING_LEVELS=$* -c $< -o $@
 
 guest_walk_%level.s: guest_walk.c Makefile
 	$(CC) $(filter-out -Wa$(comma)%,$(c_flags)) -DGUEST_PAGING_LEVELS=$* -S $< -o $@
diff --git a/xen/arch/x86/mm/shadow/Makefile b/xen/arch/x86/mm/shadow/Makefile
index 770213fe9d84..fd64b4dda925 100644
--- a/xen/arch/x86/mm/shadow/Makefile
+++ b/xen/arch/x86/mm/shadow/Makefile
@@ -10,7 +10,7 @@ guest_%.o: multi.c Makefile
 	$(CC) $(c_flags) -DGUEST_PAGING_LEVELS=$* -c $< -o $@
 
 guest_%.i: multi.c Makefile
-	$(CPP) $(filter-out -Wa$(comma)%,$(c_flags)) -DGUEST_PAGING_LEVELS=$* -c $< -o $@
+	$(CPP) $(call cpp_flags,$(c_flags)) -DGUEST_PAGING_LEVELS=$* -c $< -o $@
 
 guest_%.s: multi.c Makefile
 	$(CC) $(filter-out -Wa$(comma)%,$(c_flags)) -DGUEST_PAGING_LEVELS=$* -S $< -o $@
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 10:50:55 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 10:50:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170894.311899 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIU19-0001Ef-Nu; Tue, 24 Aug 2021 10:50:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170894.311899; Tue, 24 Aug 2021 10: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 1mIU19-0001EV-L1; Tue, 24 Aug 2021 10:50:55 +0000
Received: by outflank-mailman (input) for mailman id 170894;
 Tue, 24 Aug 2021 10:50:54 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU17-0000wa-U1
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:50:53 +0000
Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 2500185c-04c9-11ec-a8c5-12813bfff9fa;
 Tue, 24 Aug 2021 10:50: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: 2500185c-04c9-11ec-a8c5-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802250;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=7FQvY3N7Dn2gL79xi6cUz0Zwpk5522yieldEo41vf9E=;
  b=T1Ty6VnqgeKKmXZtGbatuyRsSEbY1oVdQ0iv35A7ERL/LtheyPmhaa2A
   OYYP/E2SjkiHNJ5OAYOPctk7S8BoF8+T7LY3PrgY6c3DouR3kRYsh0e2G
   bv9iS93wsseL1uYlP/sIIDIcT4SaFN72Qv82EJoG0KKOBrPXfCxiJtN0S
   w=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: yEjU0FBp9IJ/pt/cWd7MOMiQs/gaeXC7LKezZ8lzU2l8qghCsDt5kQMzl/yzQ+tnwFI6gz6Z9Z
 C19xRsa/J4k9/5wLWLWdmtnPiGkIsm9nHYGCMg6QbQuJZ0sxaNY4pFcQ4vC1wl5HTSoZzA+Eqf
 xzfaSBlMO8XLFCOKMn50hqb0NyZsTAUv++0dkgHLC2pcXHB1/zFiHySIwCLqjHjzZrB08kUZ7h
 RqZfvlPP7WDiP/bjUOXX1uwD40OMEl2Fi/xviKUuvVnBIKOwNToMQ9dM5yihL4vDF6Le8HeEwG
 uNh6lv5gLxDItdVITJDavX5U
X-SBRS: 5.1
X-MesageID: 50772160
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:Z1PDxKljkOmbwsZwz9jBIhV7QIbpDfIU3DAbv31ZSRFFG/Fxl6
 iV8sjzsiWE7gr5OUtQ4exoV5PhfZqxz/JICMwqTNKftWrdyQyVxeNZnOjfKlTbckWUnINgPO
 VbAsxD4bXLfCFHZK3BgTVQfexO/DD+ytHLudvj
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="50772160"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Jan Beulich
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>
Subject: [XEN PATCH v7 02/51] build: use if_changed on built_in.o
Date: Tue, 24 Aug 2021 11:49:49 +0100
Message-ID: <20210824105038.1257926-3-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

In the case where $(obj-y) is empty, we also replace $(c_flags) by
$(XEN_CFLAGS) to avoid generating an .%.d dependency file. This avoid
make trying to include %.h file in the ld command if $(obj-y) isn't
empty anymore on a second run.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---

Notes:
    v7:
    - Display "CC" for cmd_cc_builtin instead of "LD".
    
    v6:
    - use $(if $(strip $(obj-y)),ld_builtin,cc_builtin)
      as suggested
    - rebased
    
    v4:
    - Have cmd_ld_builtin depends on CONFIG_LTO, which simplify built_in.o
      rule.

 xen/Rules.mk | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/xen/Rules.mk b/xen/Rules.mk
index c99c4a9475c9..5a6a5d63260f 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -147,17 +147,22 @@ include $(BASEDIR)/arch/$(TARGET_ARCH)/Rules.mk
 c_flags += $(CFLAGS-y)
 a_flags += $(CFLAGS-y) $(AFLAGS-y)
 
-built_in.o: $(obj-y) $(if $(strip $(lib-y)),lib.a) $(extra-y)
-ifeq ($(strip $(obj-y)),)
-	$(CC) $(c_flags) -c -x c /dev/null -o $@
-else
+quiet_cmd_cc_builtin = CC      $@
+cmd_cc_builtin = \
+    $(CC) $(XEN_CFLAGS) -c -x c /dev/null -o $@
+
+quiet_cmd_ld_builtin = LD      $@
 ifeq ($(CONFIG_LTO),y)
-	$(LD_LTO) -r -o $@ $(filter $(obj-y),$^)
+cmd_ld_builtin = \
+    $(LD_LTO) -r -o $@ $(filter $(obj-y),$(real-prereqs))
 else
-	$(LD) $(XEN_LDFLAGS) -r -o $@ $(filter $(obj-y),$^)
-endif
+cmd_ld_builtin = \
+    $(LD) $(XEN_LDFLAGS) -r -o $@ $(filter $(obj-y),$(real-prereqs))
 endif
 
+built_in.o: $(obj-y) $(if $(strip $(lib-y)),lib.a) $(extra-y) FORCE
+	$(call if_changed,$(if $(strip $(obj-y)),ld_builtin,cc_builtin))
+
 lib.a: $(lib-y) FORCE
 	$(call if_changed,ar)
 
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 10:50:57 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 10:50:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170895.311909 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIU1B-0001Vg-1e; Tue, 24 Aug 2021 10:50:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170895.311909; Tue, 24 Aug 2021 10: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 1mIU1A-0001VZ-Ui; Tue, 24 Aug 2021 10:50:56 +0000
Received: by outflank-mailman (input) for mailman id 170895;
 Tue, 24 Aug 2021 10:50:55 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU19-0001EC-DA
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:50:55 +0000
Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 9e319690-db6f-4a69-b0cb-f74710fa9e68;
 Tue, 24 Aug 2021 10:50: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: 9e319690-db6f-4a69-b0cb-f74710fa9e68
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802246;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=acSCD5FF+6r5YlidwcyXtJJHEsjn2HupumG3W4JepO0=;
  b=e/Krs/VMsi50uqQ98KJR8AovEqOq7X+OSq99ziIffZTnJxt3THoOyktA
   WZggK0XolZhj0fVW5UCNzuTPzXXADo3PtpjMGnOYhVbZbHnWDBd+lFcCq
   ubdvIUvvJaiEtVYW6EKf/pfyU/yCaFeFrs2q2oPdUdCUjyQX+JVDgKC62
   M=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: TpHHLg3FCR48Xs4MEIlf2cq3KGmoG6DZ76/ihWr/EsVNiywlxaeFgg9wTqRCpfM/jcY/4sLyPx
 /8EAcqbSSqQpQIWC1XeNfWvxAveAbO7D5VkFZYJa5nu7AaZp5QLiUSgOl5/1DEWbd29scdCbDT
 xFgCkC1IMiOkLJCv6/6gCpAMbiAIsoy/ZXu7VVLOPWygFRCrBxNFKv0zou9gx9FgS6aR2mx6NP
 OxXu/0Zf0tztBvc7eov9QAxBhEpnyvXmK5fVFuakL5w5dhm+2Sd5G/3PPJhhIu21nBRNlWJqIk
 6TJKhWdRQqw7vbiwUvdLpZtx
X-SBRS: 5.1
X-MesageID: 51130703
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:nUwoZapm/TcwkEGwKCF7NkcaV5uZL9V00zEX/kB9WHVpm5Oj+v
 xGzc5w6farsl0ssSkb6Ku90KnpewK+yXcH2/hqAV7CZnirhILMFu1fBOTZslrd8kHFl9K1kJ
 0QC5SWa+eAQmSS7/yKhjVQeuxIqLbozEnrv5am854Hd3AJV0gU1XYcNu/tKDwSeOApP/oEPa
 vZwvACiyureHwRYMj+LGICRfL/q9rCk4+jSQIaBjY8gTP+zA+A2frfKVy1zx0eWzRAzfMJ6m
 7eiTH04a2lrrWS1gLc7WnO9J5b8eGRiuerRfb8yfT9GA+czzpAV74RH4FqewpF591H3Wxa0u
 UkZS1QefibpUmhJ11d6iGdpjUImAxel0MKj2Xoz0cL6PaJOw4SGo5Pg5lUfQDe7FdltNZg0L
 hT12bcrJZPCwjc9R6Nr+Qg+Csa5XZcjEBS59L7tUYvGLf2qYUh37A37QdQCtMNDSj64IcoHK
 1nC9zd/u9fdRefY2rCtmdizdSwVjBrdy32CHQqq4iQyXxbjXp5x0wXyIgWmWoB7os0T91B6/
 7fOqplmblSRosdbL57Bu0GXcyrY1a9Ci7kISaXOxDqBasHM3XCp9r+56g0/vijfNgSwJ47iP
 36ISRlXK4JCjbT4Oi1rdB2Gzz2MRSAtAXWu7RjDsJCy8PBrZLQQF2+dGw=
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51130703"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Kevin Tian
	<kevin.tian@intel.com>, George Dunlap <george.dunlap@citrix.com>, Ian Jackson
	<iwj@xenproject.org>, Connor Davis <connojdavis@gmail.com>, Bob Eshleman
	<bobbyeshleman@gmail.com>, Alistair Francis <alistair.francis@wdc.com>, "Tim
 Deegan" <tim@xen.org>, Jun Nakajima <jun.nakajima@intel.com>, Tamas K Lengyel
	<tamas@tklengyel.com>, Doug Goldstein <cardoe@cardoe.com>, Jan Beulich
	<jbeulich@suse.com>, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, "Julien
 Grall" <julien@xen.org>, Alexandru Isaila <aisaila@bitdefender.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Ross Lagerwall
	<ross.lagerwall@citrix.com>, Petre Pircalabu <ppircalabu@bitdefender.com>,
	Paul Durrant <paul@xen.org>, Daniel De Graaf <dgdegra@tycho.nsa.gov>, "Daniel
 P. Smith" <dpsmith@apertussolutions.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Wei Liu <wl@xen.org>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Lukasz Hawrylko
	<lukasz.hawrylko@linux.intel.com>
Subject: [XEN PATCH v7 00/51] xen: Build system improvements, now with out-of-tree build!
Date: Tue, 24 Aug 2021 11:49:47 +0100
Message-ID: <20210824105038.1257926-1-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
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.build-system-xen-v7

v7:
    Out-of-tree build!

    This mean many more patches. Everything after patch 27 is new.

    There's a few new patch before that, but otherwise are rework of v6.

v6:
    This new version of the series get's us very close to be able to do
    out-of-tree build, but I've stop at been able to use Linux's `fixdep` and
    getting rid of those annoying *.d2 files generation.

    There a few patch left from the previous round within the first 8 patches
    (mixed with new or replaced patches). All the rest is new.

    The main patch is probably "build: build everything from the root dir, use
    obj=$subdir" which has still quite a few changes left. I might be still be
    able to break it down even more if needed to help with review (and might
    allow me to better explain some changes in it).

v5:
https://lore.kernel.org/xen-devel/20200421161208.2429539-1-anthony.perard@citrix.com/
- few changes detailed in patch notes.
- 1 new patch

Hi,

I have work toward building Xen (the hypervisor) with Linux's build system,
Kbuild.

The main reason for that is to be able to have out-of-tree build. It's annoying
when a build fail because of the pvshim. Other benefit is a much faster
rebuild, and `make clean` doesn't take ages, and better dependencies to figure
out what needs to be rebuild.

This new version of the series get's us very close to be able to do out-of-tree
build, but I've stop at been able to use Linux's `fixdep` and getting rid of
those annoying *.d2 files.

Cheers,

Anthony PERARD (51):
  build: introduce cpp_flags macro
  build: use if_changed on built_in.o
  build: use if_changed_rules with %.o:%.c targets
  build: factorise generation of the linker scripts
  x86/mm: avoid building multiple .o from a single .c file
  build,include: rework compat-build-source.py
  build,include: rework compat-build-header.py
  build: fix clean targets when subdir-y is used
  build: use subdir-y in test/Makefile
  build,arm: move LDFLAGS change to arch.mk
  build: move make option changes check earlier
  build: avoid building arm/arm/*/head.o twice
  build: convert binfile use to if_changed
  xen: move include/asm-* to arch/*/include/asm
  build,riscv: tell the build system about riscv64/head.S
  build: generate "include/xen/compile.h" with if_changed
  build: set XEN_BUILD_EFI earlier
  build: fix $(TARGET).efi creation in arch/arm
  build: fix arch/x86/note.o rule
  build: avoid re-executing the main Makefile by introducing build.mk
  build: set ALL_OBJS to main Makefile; move prelink.o to main Makefile
  build: clean common temporary files from root makefile
  build,include: remove arch-*/*.h public header listing from
    headers*.chk
  build: prepare to always invoke $(MAKE) from xen/, use $(obj)
  build: rework test/livepatch/Makefile
  build: build everything from the root dir, use obj=$subdir
  build: introduce if_changed_deps
  build: rename __LINKER__ to LINKER_SCRIPT
  build: add an other explicite rules to not build $(XEN_ROOT)/.config
  build: hook kconfig into xen build system
  xen/tools/kconfig: fix build with -Wdeclaration-after-statement
  build: Remove KBUILD_ specific from Makefile.host
  build: handle always-y and hostprogs-always-y
  build: start building the tools with the main makefiles
  build: Add headers path to CFLAGS once for all archs
  build: generate x86's asm-macros.h with filechk
  build: clean-up "clean" rules of duplication
  build: use main rune to build host binary x86's mkelf32 and mkreloc
  build: rework coverage and ubsan CFLAGS handling
  build: fix dependencies in arch/x86/boot
  build,x86: remove the need for build32.mk
  build: grab common EFI source files in arch specific dir
  build: replace $(BASEDIR) by $(objtree)
  build: add $(srctree) in few key places
  build: rework cloc recipe
  build: replace $(BASEDIR) by $(srctree)
  build: Rework "clean" to clean from the root dir
  build: Rework "headers*.chk" prerequisite in include/
  build: adding out-of-tree support to the xen build
  build: specify source tree in include/ for prerequisite
  build: add %.E targets

 .gitignore                                    |   7 +-
 MAINTAINERS                                   |  37 +-
 tools/include/Makefile                        |   2 +-
 tools/misc/xen-access.c                       |   4 +-
 tools/tests/vhpet/Makefile                    |   2 +-
 xen/Kconfig                                   |   4 +-
 xen/Makefile                                  | 408 +++++++++++-------
 xen/Rules.mk                                  | 293 ++++++++-----
 xen/arch/arm/Makefile                         |  62 +--
 xen/arch/arm/README.LinuxPrimitives           |  10 +-
 xen/arch/arm/arch.mk                          |  12 +-
 xen/arch/arm/arm32/Makefile                   |   1 +
 xen/arch/arm/arm32/head.S                     |   2 +-
 xen/arch/arm/arm64/Makefile                   |   2 +
 xen/arch/arm/arm64/head.S                     |   2 +-
 xen/arch/arm/efi/Makefile                     |   9 +
 .../asm-arm => arch/arm/include/asm}/acpi.h   |   0
 .../arm/include/asm}/alternative.h            |   0
 .../asm-arm => arch/arm/include/asm}/altp2m.h |   0
 .../arm/include/asm}/arm32/atomic.h           |   0
 .../arm/include/asm}/arm32/bitops.h           |   0
 .../arm/include/asm}/arm32/bug.h              |   0
 .../arm/include/asm}/arm32/cmpxchg.h          |   0
 .../arm/include/asm}/arm32/flushtlb.h         |   0
 .../arm/include/asm}/arm32/insn.h             |   0
 .../arm/include/asm}/arm32/io.h               |   0
 .../arm/include/asm}/arm32/macros.h           |   0
 .../arm/include/asm}/arm32/mm.h               |   0
 .../arm/include/asm}/arm32/page.h             |   0
 .../arm/include/asm}/arm32/processor.h        |   0
 .../arm/include/asm}/arm32/sysregs.h          |   0
 .../arm/include/asm}/arm32/system.h           |   0
 .../arm/include/asm}/arm32/traps.h            |   0
 .../arm/include/asm}/arm32/vfp.h              |   0
 .../arm/include/asm}/arm64/atomic.h           |   0
 .../arm/include/asm}/arm64/bitops.h           |   0
 .../arm/include/asm}/arm64/brk.h              |   0
 .../arm/include/asm}/arm64/bug.h              |   0
 .../arm/include/asm}/arm64/cmpxchg.h          |   0
 .../arm/include/asm}/arm64/efibind.h          |   0
 .../arm/include/asm}/arm64/flushtlb.h         |   0
 .../arm/include/asm}/arm64/hsr.h              |   0
 .../arm/include/asm}/arm64/insn.h             |   0
 .../arm/include/asm}/arm64/io.h               |   0
 .../arm/include/asm}/arm64/macros.h           |   0
 .../arm/include/asm}/arm64/mm.h               |   0
 .../arm/include/asm}/arm64/page.h             |   0
 .../arm/include/asm}/arm64/processor.h        |   0
 .../arm/include/asm}/arm64/sysregs.h          |   0
 .../arm/include/asm}/arm64/system.h           |   0
 .../arm/include/asm}/arm64/traps.h            |   0
 .../arm/include/asm}/arm64/vfp.h              |   0
 .../arm/include/asm}/asm_defns.h              |   0
 .../asm-arm => arch/arm/include/asm}/atomic.h |   0
 .../asm-arm => arch/arm/include/asm}/bitops.h |   0
 .../asm-arm => arch/arm/include/asm}/bug.h    |   0
 .../arm/include/asm}/byteorder.h              |   0
 .../asm-arm => arch/arm/include/asm}/cache.h  |   0
 .../arm/include/asm}/cadence-uart.h           |   0
 .../asm-arm => arch/arm/include/asm}/config.h |   2 +-
 .../asm-arm => arch/arm/include/asm}/cpregs.h |   0
 .../arm/include/asm}/cpuerrata.h              |   0
 .../arm/include/asm}/cpufeature.h             |   0
 .../arm/include/asm}/current.h                |   0
 .../arm/include/asm}/debugger.h               |   0
 .../asm-arm => arch/arm/include/asm}/delay.h  |   0
 .../asm-arm => arch/arm/include/asm}/desc.h   |   0
 .../asm-arm => arch/arm/include/asm}/device.h |   0
 .../asm-arm => arch/arm/include/asm}/div64.h  |   0
 .../asm-arm => arch/arm/include/asm}/domain.h |   0
 .../arm/include/asm}/domain_build.h           |   0
 .../arm/include/asm}/early_printk.h           |   0
 .../arm/include/asm}/efibind.h                |   0
 .../asm-arm => arch/arm/include/asm}/elf.h    |   0
 .../asm-arm => arch/arm/include/asm}/event.h  |   0
 .../arm/include/asm}/exynos4210-uart.h        |   0
 .../arm/include/asm}/flushtlb.h               |   0
 .../asm-arm => arch/arm/include/asm}/gic.h    |   0
 .../arm/include/asm}/gic_v3_defs.h            |   0
 .../arm/include/asm}/gic_v3_its.h             |   0
 .../arm/include/asm}/grant_table.h            |   0
 .../arm/include/asm}/guest_access.h           |   0
 .../arm/include/asm}/guest_atomics.h          |   0
 .../arm/include/asm}/guest_walk.h             |   0
 .../arm/include/asm}/hardirq.h                |   0
 .../asm-arm => arch/arm/include/asm}/hsr.h    |   0
 .../arm/include/asm}/hypercall.h              |   0
 .../asm-arm => arch/arm/include/asm}/init.h   |   0
 .../asm-arm => arch/arm/include/asm}/insn.h   |   0
 .../asm-arm => arch/arm/include/asm}/io.h     |   0
 .../asm-arm => arch/arm/include/asm}/iocap.h  |   0
 .../asm-arm => arch/arm/include/asm}/iommu.h  |   0
 .../arm/include/asm}/iommu_fwspec.h           |   0
 .../asm-arm => arch/arm/include/asm}/ioreq.h  |   0
 .../asm-arm => arch/arm/include/asm}/irq.h    |   0
 .../asm-arm => arch/arm/include/asm}/kernel.h |   0
 .../arm/include/asm}/livepatch.h              |   0
 .../asm-arm => arch/arm/include/asm}/lpae.h   |   0
 .../asm-arm => arch/arm/include/asm}/macros.h |   0
 .../arm/include/asm}/mem_access.h             |   0
 .../asm-arm => arch/arm/include/asm}/mm.h     |   0
 .../asm-arm => arch/arm/include/asm}/mmio.h   |   0
 .../arm/include/asm}/monitor.h                |   0
 .../arm/include/asm}/new_vgic.h               |   0
 .../asm-arm => arch/arm/include/asm}/nospec.h |   0
 .../asm-arm => arch/arm/include/asm}/numa.h   |   0
 .../asm-arm => arch/arm/include/asm}/p2m.h    |   0
 .../arm/include/asm}/page-bits.h              |   0
 .../asm-arm => arch/arm/include/asm}/page.h   |   0
 .../asm-arm => arch/arm/include/asm}/paging.h |   0
 .../asm-arm => arch/arm/include/asm}/pci.h    |   0
 .../asm-arm => arch/arm/include/asm}/percpu.h |   0
 .../asm-arm => arch/arm/include/asm}/perfc.h  |   0
 .../arm/include/asm}/perfc_defn.h             |   0
 .../arm/include/asm}/pl011-uart.h             |   0
 .../arm/include/asm}/platform.h               |   0
 .../arm/include/asm}/platforms/exynos5.h      |   0
 .../arm/include/asm}/platforms/midway.h       |   0
 .../arm/include/asm}/platforms/omap5.h        |   0
 .../arm/include/asm}/platforms/vexpress.h     |   0
 .../asm}/platforms/xilinx-zynqmp-eemi.h       |   0
 .../arm/include/asm}/processor.h              |   0
 .../arm/include/asm}/procinfo.h               |   0
 .../asm-arm => arch/arm/include/asm}/psci.h   |   0
 .../asm-arm => arch/arm/include/asm}/random.h |   0
 .../asm-arm => arch/arm/include/asm}/regs.h   |   0
 .../arm/include/asm}/scif-uart.h              |   0
 .../asm-arm => arch/arm/include/asm}/setup.h  |   0
 .../arm/include/asm}/short-desc.h             |   0
 .../asm-arm => arch/arm/include/asm}/smccc.h  |   0
 .../asm-arm => arch/arm/include/asm}/smp.h    |   0
 .../arm/include/asm}/softirq.h                |   0
 .../arm/include/asm}/spinlock.h               |   0
 .../asm-arm => arch/arm/include/asm}/string.h |   0
 .../arm/include/asm}/sysregs.h                |   0
 .../asm-arm => arch/arm/include/asm}/system.h |   0
 .../arm/include/asm}/tee/optee_msg.h          |   0
 .../arm/include/asm}/tee/optee_rpc_cmd.h      |   0
 .../arm/include/asm}/tee/optee_smc.h          |   0
 .../arm/include/asm}/tee/tee.h                |   0
 .../asm-arm => arch/arm/include/asm}/time.h   |   0
 .../asm-arm => arch/arm/include/asm}/trace.h  |   0
 .../asm-arm => arch/arm/include/asm}/traps.h  |   0
 .../asm-arm => arch/arm/include/asm}/types.h  |   0
 .../asm-arm => arch/arm/include/asm}/vfp.h    |   0
 .../arm/include/asm}/vgic-emul.h              |   0
 .../asm-arm => arch/arm/include/asm}/vgic.h   |   0
 .../arm/include/asm}/vm_event.h               |   0
 .../asm-arm => arch/arm/include/asm}/vpl011.h |   0
 .../asm-arm => arch/arm/include/asm}/vpsci.h  |   0
 .../asm-arm => arch/arm/include/asm}/vreg.h   |   0
 .../asm-arm => arch/arm/include/asm}/vtimer.h |   0
 .../arm/include/asm}/xenoprof.h               |   0
 xen/arch/arm/smpboot.c                        |   2 +-
 xen/arch/arm/vpsci.c                          |   2 +-
 xen/arch/riscv/arch.mk                        |   1 -
 .../riscv/include/asm}/config.h               |   0
 xen/arch/riscv/riscv64/Makefile               |   1 +
 xen/arch/x86/Makefile                         | 204 ++++-----
 xen/arch/x86/Rules.mk                         |   4 +-
 xen/arch/x86/arch.mk                          |  54 ++-
 xen/arch/x86/boot/Makefile                    |  62 ++-
 xen/arch/x86/boot/build32.mk                  |  40 --
 xen/arch/x86/efi/Makefile                     |  15 +-
 .../asm-x86 => arch/x86/include/asm}/acpi.h   |   0
 .../x86/include/asm}/alternative-asm.h        |   0
 .../x86/include/asm}/alternative.h            |   0
 .../asm-x86 => arch/x86/include/asm}/altp2m.h |   0
 .../asm-x86 => arch/x86/include/asm}/amd.h    |   0
 .../asm-x86 => arch/x86/include/asm}/apic.h   |   0
 .../x86/include/asm}/apicdef.h                |   0
 .../x86/include/asm}/asm-defns.h              |   0
 .../x86/include/asm}/asm_defns.h              |   0
 .../asm-x86 => arch/x86/include/asm}/atomic.h |   0
 .../asm-x86 => arch/x86/include/asm}/bitops.h |   0
 .../asm-x86 => arch/x86/include/asm}/bug.h    |   0
 .../x86/include/asm}/byteorder.h              |   0
 .../x86/include/asm}/bzimage.h                |   0
 .../asm-x86 => arch/x86/include/asm}/cache.h  |   0
 .../asm-x86 => arch/x86/include/asm}/compat.h |   0
 .../asm-x86 => arch/x86/include/asm}/config.h |   0
 .../x86/include/asm}/cpufeature.h             |   0
 .../x86/include/asm}/cpufeatures.h            |   0
 .../x86/include/asm}/cpufeatureset.h          |   0
 .../asm-x86 => arch/x86/include/asm}/cpuid.h  |   0
 .../x86/include/asm}/cpuidle.h                |   0
 .../x86/include/asm}/current.h                |   2 +-
 .../x86/include/asm}/debugger.h               |   0
 .../x86/include/asm}/debugreg.h               |   0
 .../asm-x86 => arch/x86/include/asm}/delay.h  |   0
 .../asm-x86 => arch/x86/include/asm}/desc.h   |   0
 .../asm-x86 => arch/x86/include/asm}/device.h |   0
 .../asm-x86 => arch/x86/include/asm}/div64.h  |   0
 .../x86/include/asm}/dom0_build.h             |   0
 .../asm-x86 => arch/x86/include/asm}/domain.h |   2 +-
 .../asm-x86 => arch/x86/include/asm}/e820.h   |   0
 .../asm-x86 => arch/x86/include/asm}/edd.h    |   0
 .../x86/include/asm}/efibind.h                |   0
 .../asm-x86 => arch/x86/include/asm}/elf.h    |   0
 .../asm-x86 => arch/x86/include/asm}/event.h  |   0
 .../asm-x86 => arch/x86/include/asm}/fixmap.h |   0
 .../x86/include/asm}/flushtlb.h               |   0
 .../x86/include/asm}/genapic.h                |   0
 .../x86/include/asm}/grant_table.h            |   0
 .../asm-x86 => arch/x86/include/asm}/guest.h  |   0
 .../x86/include/asm}/guest/hyperv-hcall.h     |   0
 .../x86/include/asm}/guest/hyperv-tlfs.h      |   0
 .../x86/include/asm}/guest/hyperv.h           |   0
 .../x86/include/asm}/guest/hypervisor.h       |   0
 .../x86/include/asm}/guest/pvh-boot.h         |   0
 .../x86/include/asm}/guest/xen-hcall.h        |   0
 .../x86/include/asm}/guest/xen.h              |   0
 .../x86/include/asm}/guest_access.h           |   0
 .../x86/include/asm}/guest_atomics.h          |   0
 .../x86/include/asm}/guest_pt.h               |   0
 .../asm-x86 => arch/x86/include/asm}/hap.h    |   0
 .../x86/include/asm}/hardirq.h                |   0
 .../asm-x86 => arch/x86/include/asm}/hpet.h   |   0
 .../x86/include/asm}/hvm/asid.h               |   0
 .../x86/include/asm}/hvm/cacheattr.h          |   0
 .../x86/include/asm}/hvm/domain.h             |   0
 .../x86/include/asm}/hvm/emulate.h            |   0
 .../x86/include/asm}/hvm/grant_table.h        |   0
 .../x86/include/asm}/hvm/guest_access.h       |   0
 .../x86/include/asm}/hvm/hvm.h                |   0
 .../asm-x86 => arch/x86/include/asm}/hvm/io.h |   0
 .../x86/include/asm}/hvm/ioreq.h              |   0
 .../x86/include/asm}/hvm/irq.h                |   0
 .../x86/include/asm}/hvm/monitor.h            |   0
 .../x86/include/asm}/hvm/nestedhvm.h          |   0
 .../x86/include/asm}/hvm/save.h               |   0
 .../x86/include/asm}/hvm/support.h            |   0
 .../x86/include/asm}/hvm/svm/asid.h           |   0
 .../x86/include/asm}/hvm/svm/emulate.h        |   0
 .../x86/include/asm}/hvm/svm/intr.h           |   0
 .../x86/include/asm}/hvm/svm/nestedsvm.h      |   0
 .../x86/include/asm}/hvm/svm/svm.h            |   0
 .../x86/include/asm}/hvm/svm/svmdebug.h       |   0
 .../x86/include/asm}/hvm/svm/vmcb.h           |   0
 .../x86/include/asm}/hvm/trace.h              |   0
 .../x86/include/asm}/hvm/vcpu.h               |   0
 .../x86/include/asm}/hvm/vioapic.h            |   0
 .../x86/include/asm}/hvm/viridian.h           |   0
 .../x86/include/asm}/hvm/vlapic.h             |   0
 .../x86/include/asm}/hvm/vm_event.h           |   0
 .../x86/include/asm}/hvm/vmx/vmcs.h           |   0
 .../x86/include/asm}/hvm/vmx/vmx.h            |   0
 .../x86/include/asm}/hvm/vmx/vvmx.h           |   0
 .../x86/include/asm}/hvm/vpic.h               |   0
 .../x86/include/asm}/hvm/vpt.h                |   0
 .../x86/include/asm}/hypercall.h              |   0
 .../asm-x86 => arch/x86/include/asm}/i387.h   |   0
 .../asm-x86 => arch/x86/include/asm}/init.h   |   0
 .../x86/include/asm}/invpcid.h                |   0
 .../asm-x86 => arch/x86/include/asm}/io.h     |   0
 .../x86/include/asm}/io_apic.h                |   0
 .../asm-x86 => arch/x86/include/asm}/iocap.h  |   0
 .../asm-x86 => arch/x86/include/asm}/iommu.h  |   0
 .../asm-x86 => arch/x86/include/asm}/ioreq.h  |   0
 .../asm-x86 => arch/x86/include/asm}/irq.h    |   0
 .../asm-x86 => arch/x86/include/asm}/ldt.h    |   0
 .../x86/include/asm}/livepatch.h              |   0
 .../x86/include/asm}/mach-default/bios_ebda.h |   0
 .../x86/include/asm}/mach-default/io_ports.h  |   0
 .../include/asm}/mach-default/irq_vectors.h   |   0
 .../include/asm}/mach-default/mach_mpparse.h  |   0
 .../include/asm}/mach-default/mach_mpspec.h   |   0
 .../x86/include/asm}/mach-generic/mach_apic.h |   0
 .../include/asm}/mach-generic/mach_mpparse.h  |   0
 .../x86/include/asm}/machine_kexec.h          |   0
 .../x86/include/asm}/mc146818rtc.h            |   0
 .../asm-x86 => arch/x86/include/asm}/mce.h    |   0
 .../x86/include/asm}/mem_access.h             |   0
 .../x86/include/asm}/mem_paging.h             |   0
 .../x86/include/asm}/mem_sharing.h            |   0
 .../x86/include/asm}/microcode.h              |   0
 .../asm-x86 => arch/x86/include/asm}/mm.h     |   0
 .../x86/include/asm}/monitor.h                |   0
 .../asm-x86 => arch/x86/include/asm}/mpspec.h |   0
 .../x86/include/asm}/mpspec_def.h             |   0
 .../asm-x86 => arch/x86/include/asm}/msi.h    |   0
 .../x86/include/asm}/msr-index.h              |   0
 .../asm-x86 => arch/x86/include/asm}/msr.h    |   0
 .../asm-x86 => arch/x86/include/asm}/mtrr.h   |   0
 .../x86/include/asm}/multicall.h              |   0
 .../asm-x86 => arch/x86/include/asm}/mwait.h  |   0
 .../asm-x86 => arch/x86/include/asm}/nmi.h    |   0
 .../asm-x86 => arch/x86/include/asm}/nops.h   |   0
 .../asm-x86 => arch/x86/include/asm}/nospec.h |   0
 .../asm-x86 => arch/x86/include/asm}/numa.h   |   0
 .../asm-x86 => arch/x86/include/asm}/p2m.h    |   0
 .../x86/include/asm}/page-bits.h              |   0
 .../asm-x86 => arch/x86/include/asm}/page.h   |   0
 .../asm-x86 => arch/x86/include/asm}/paging.h |   0
 .../asm-x86 => arch/x86/include/asm}/pci.h    |   0
 .../asm-x86 => arch/x86/include/asm}/percpu.h |   0
 .../asm-x86 => arch/x86/include/asm}/perfc.h  |   0
 .../x86/include/asm}/perfc_defn.h             |   0
 .../x86/include/asm}/processor.h              |   0
 .../asm-x86 => arch/x86/include/asm}/psr.h    |   0
 .../x86/include/asm}/pv/domain.h              |   0
 .../x86/include/asm}/pv/grant_table.h         |   0
 .../asm-x86 => arch/x86/include/asm}/pv/mm.h  |   0
 .../x86/include/asm}/pv/shim.h                |   0
 .../x86/include/asm}/pv/traps.h               |   0
 .../asm-x86 => arch/x86/include/asm}/random.h |   0
 .../asm-x86 => arch/x86/include/asm}/regs.h   |   0
 .../asm-x86 => arch/x86/include/asm}/setup.h  |   0
 .../asm-x86 => arch/x86/include/asm}/shadow.h |   0
 .../asm-x86 => arch/x86/include/asm}/shared.h |   0
 .../asm-x86 => arch/x86/include/asm}/smp.h    |   0
 .../x86/include/asm}/softirq.h                |   0
 .../x86/include/asm}/spec_ctrl.h              |   0
 .../x86/include/asm}/spec_ctrl_asm.h          |   0
 .../x86/include/asm}/spinlock.h               |   0
 .../asm-x86 => arch/x86/include/asm}/string.h |   0
 .../asm-x86 => arch/x86/include/asm}/system.h |   0
 .../asm-x86 => arch/x86/include/asm}/tboot.h  |   0
 .../asm-x86 => arch/x86/include/asm}/time.h   |   0
 .../asm-x86 => arch/x86/include/asm}/trace.h  |   0
 .../asm-x86 => arch/x86/include/asm}/traps.h  |   0
 .../asm-x86 => arch/x86/include/asm}/types.h  |   0
 .../x86/include/asm}/uaccess.h                |   0
 .../x86/include/asm}/unaligned.h              |   0
 .../x86/include/asm}/vm_event.h               |   0
 .../asm-x86 => arch/x86/include/asm}/vpmu.h   |   0
 .../x86/include/asm}/x86-defns.h              |   0
 .../x86/include/asm}/x86-vendors.h            |   0
 .../x86/include/asm}/x86_64/efibind.h         |   0
 .../x86/include/asm}/x86_64/elf.h             |   0
 .../x86/include/asm}/x86_64/page.h            |   0
 .../x86/include/asm}/x86_64/regs.h            |   0
 .../x86/include/asm}/x86_64/system.h          |   0
 .../x86/include/asm}/x86_64/uaccess.h         |   0
 .../x86/include/asm}/x86_emulate.h            |   2 +-
 .../x86/include/asm}/xenoprof.h               |   0
 .../asm-x86 => arch/x86/include/asm}/xstate.h |   0
 xen/arch/x86/mm/Makefile                      |   9 -
 xen/arch/x86/mm/guest_walk.c                  |   3 -
 xen/arch/x86/mm/guest_walk_2.c                |   2 +
 xen/arch/x86/mm/guest_walk_3.c                |   2 +
 xen/arch/x86/mm/guest_walk_4.c                |   2 +
 xen/arch/x86/mm/hap/Makefile                  |  15 +-
 xen/arch/x86/mm/hap/guest_walk.c              |   3 -
 xen/arch/x86/mm/hap/guest_walk_2.c            |   2 +
 xen/arch/x86/mm/hap/guest_walk_3.c            |   2 +
 xen/arch/x86/mm/hap/guest_walk_4.c            |   2 +
 xen/arch/x86/mm/shadow/Makefile               |   9 -
 xen/arch/x86/mm/shadow/guest_2.c              |   2 +
 xen/arch/x86/mm/shadow/guest_3.c              |   2 +
 xen/arch/x86/mm/shadow/guest_4.c              |   2 +
 xen/arch/x86/mm/shadow/multi.c                |   3 -
 xen/build.mk                                  |  87 ++++
 xen/common/Makefile                           |  14 +-
 xen/common/efi/runtime.c                      |   2 +-
 xen/common/libelf/Makefile                    |   4 +-
 xen/common/libfdt/Makefile                    |   8 +-
 xen/common/page_alloc.c                       |   2 +-
 xen/include/Makefile                          |  81 ++--
 xen/include/xen/acpi.h                        |   5 +-
 xen/include/xen/bitmap.h                      |   2 +-
 xen/scripts/Kbuild.include                    |  65 ++-
 xen/scripts/Kconfig.include                   |   2 +-
 xen/scripts/Makefile.clean                    |  40 +-
 xen/{tools/kconfig => scripts}/Makefile.host  |  29 +-
 xen/scripts/mkmakefile                        |  17 +
 xen/test/Makefile                             |  16 +-
 xen/test/livepatch/Makefile                   | 213 ++++-----
 xen/tools/Makefile                            |  14 +-
 xen/tools/compat-build-header.py              |  44 +-
 xen/tools/compat-build-source.py              |   8 +-
 xen/tools/fixdep.c                            | 404 +++++++++++++++++
 xen/tools/kconfig/Makefile.kconfig            | 106 -----
 xen/tools/kconfig/confdata.c                  |   2 +-
 xen/tools/symbols.c                           |  18 +-
 xen/xsm/flask/Makefile                        |  45 +-
 xen/xsm/flask/policy/mkaccess_vector.sh       |   7 +-
 xen/xsm/flask/ss/Makefile                     |   5 +-
 378 files changed, 1572 insertions(+), 978 deletions(-)
 rename xen/{include/asm-arm => arch/arm/include/asm}/acpi.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/alternative.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/altp2m.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm32/atomic.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm32/bitops.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm32/bug.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm32/cmpxchg.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm32/flushtlb.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm32/insn.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm32/io.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm32/macros.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm32/mm.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm32/page.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm32/processor.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm32/sysregs.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm32/system.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm32/traps.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm32/vfp.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm64/atomic.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm64/bitops.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm64/brk.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm64/bug.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm64/cmpxchg.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm64/efibind.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm64/flushtlb.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm64/hsr.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm64/insn.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm64/io.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm64/macros.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm64/mm.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm64/page.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm64/processor.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm64/sysregs.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm64/system.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm64/traps.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm64/vfp.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/asm_defns.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/atomic.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/bitops.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/bug.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/byteorder.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/cache.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/cadence-uart.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/config.h (99%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/cpregs.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/cpuerrata.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/cpufeature.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/current.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/debugger.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/delay.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/desc.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/device.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/div64.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/domain.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/domain_build.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/early_printk.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/efibind.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/elf.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/event.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/exynos4210-uart.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/flushtlb.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/gic.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/gic_v3_defs.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/gic_v3_its.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/grant_table.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/guest_access.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/guest_atomics.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/guest_walk.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/hardirq.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/hsr.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/hypercall.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/init.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/insn.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/io.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/iocap.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/iommu.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/iommu_fwspec.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/ioreq.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/irq.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/kernel.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/livepatch.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/lpae.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/macros.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/mem_access.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/mm.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/mmio.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/monitor.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/new_vgic.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/nospec.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/numa.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/p2m.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/page-bits.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/page.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/paging.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/pci.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/percpu.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/perfc.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/perfc_defn.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/pl011-uart.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/platform.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/platforms/exynos5.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/platforms/midway.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/platforms/omap5.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/platforms/vexpress.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/platforms/xilinx-zynqmp-eemi.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/processor.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/procinfo.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/psci.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/random.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/regs.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/scif-uart.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/setup.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/short-desc.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/smccc.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/smp.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/softirq.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/spinlock.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/string.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/sysregs.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/system.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/tee/optee_msg.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/tee/optee_rpc_cmd.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/tee/optee_smc.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/tee/tee.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/time.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/trace.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/traps.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/types.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/vfp.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/vgic-emul.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/vgic.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/vm_event.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/vpl011.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/vpsci.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/vreg.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/vtimer.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/xenoprof.h (100%)
 rename xen/{include/asm-riscv => arch/riscv/include/asm}/config.h (100%)
 create mode 100644 xen/arch/riscv/riscv64/Makefile
 delete mode 100644 xen/arch/x86/boot/build32.mk
 rename xen/{include/asm-x86 => arch/x86/include/asm}/acpi.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/alternative-asm.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/alternative.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/altp2m.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/amd.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/apic.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/apicdef.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/asm-defns.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/asm_defns.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/atomic.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/bitops.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/bug.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/byteorder.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/bzimage.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/cache.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/compat.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/config.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/cpufeature.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/cpufeatures.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/cpufeatureset.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/cpuid.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/cpuidle.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/current.h (99%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/debugger.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/debugreg.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/delay.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/desc.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/device.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/div64.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/dom0_build.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/domain.h (99%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/e820.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/edd.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/efibind.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/elf.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/event.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/fixmap.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/flushtlb.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/genapic.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/grant_table.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/guest.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/guest/hyperv-hcall.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/guest/hyperv-tlfs.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/guest/hyperv.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/guest/hypervisor.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/guest/pvh-boot.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/guest/xen-hcall.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/guest/xen.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/guest_access.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/guest_atomics.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/guest_pt.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hap.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hardirq.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hpet.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/asid.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/cacheattr.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/domain.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/emulate.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/grant_table.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/guest_access.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/hvm.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/io.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/ioreq.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/irq.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/monitor.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/nestedhvm.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/save.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/support.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/svm/asid.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/svm/emulate.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/svm/intr.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/svm/nestedsvm.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/svm/svm.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/svm/svmdebug.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/svm/vmcb.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/trace.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/vcpu.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/vioapic.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/viridian.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/vlapic.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/vm_event.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/vmx/vmcs.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/vmx/vmx.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/vmx/vvmx.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/vpic.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/vpt.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hypercall.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/i387.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/init.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/invpcid.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/io.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/io_apic.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/iocap.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/iommu.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/ioreq.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/irq.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/ldt.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/livepatch.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/mach-default/bios_ebda.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/mach-default/io_ports.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/mach-default/irq_vectors.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/mach-default/mach_mpparse.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/mach-default/mach_mpspec.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/mach-generic/mach_apic.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/mach-generic/mach_mpparse.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/machine_kexec.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/mc146818rtc.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/mce.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/mem_access.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/mem_paging.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/mem_sharing.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/microcode.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/mm.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/monitor.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/mpspec.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/mpspec_def.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/msi.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/msr-index.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/msr.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/mtrr.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/multicall.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/mwait.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/nmi.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/nops.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/nospec.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/numa.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/p2m.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/page-bits.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/page.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/paging.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/pci.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/percpu.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/perfc.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/perfc_defn.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/processor.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/psr.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/pv/domain.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/pv/grant_table.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/pv/mm.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/pv/shim.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/pv/traps.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/random.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/regs.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/setup.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/shadow.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/shared.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/smp.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/softirq.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/spec_ctrl.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/spec_ctrl_asm.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/spinlock.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/string.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/system.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/tboot.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/time.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/trace.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/traps.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/types.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/uaccess.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/unaligned.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/vm_event.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/vpmu.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/x86-defns.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/x86-vendors.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/x86_64/efibind.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/x86_64/elf.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/x86_64/page.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/x86_64/regs.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/x86_64/system.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/x86_64/uaccess.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/x86_emulate.h (89%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/xenoprof.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/xstate.h (100%)
 create mode 100644 xen/arch/x86/mm/guest_walk_2.c
 create mode 100644 xen/arch/x86/mm/guest_walk_3.c
 create mode 100644 xen/arch/x86/mm/guest_walk_4.c
 create mode 100644 xen/arch/x86/mm/hap/guest_walk_2.c
 create mode 100644 xen/arch/x86/mm/hap/guest_walk_3.c
 create mode 100644 xen/arch/x86/mm/hap/guest_walk_4.c
 create mode 100644 xen/arch/x86/mm/shadow/guest_2.c
 create mode 100644 xen/arch/x86/mm/shadow/guest_3.c
 create mode 100644 xen/arch/x86/mm/shadow/guest_4.c
 create mode 100644 xen/build.mk
 rename xen/{tools/kconfig => scripts}/Makefile.host (88%)
 create mode 100755 xen/scripts/mkmakefile
 create mode 100644 xen/tools/fixdep.c
 delete mode 100644 xen/tools/kconfig/Makefile.kconfig

-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 10:51:01 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 10:51:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170896.311921 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIU1F-0001se-I3; Tue, 24 Aug 2021 10:51:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170896.311921; Tue, 24 Aug 2021 10: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 1mIU1F-0001sQ-ET; Tue, 24 Aug 2021 10:51:01 +0000
Received: by outflank-mailman (input) for mailman id 170896;
 Tue, 24 Aug 2021 10:51:00 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU1E-0001EC-7s
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:51:00 +0000
Received: from esa6.hc3370-68.iphmx.com (unknown [216.71.155.175])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ef0fc935-9c35-46d8-a7ef-10ed928aeba0;
 Tue, 24 Aug 2021 10:50: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: ef0fc935-9c35-46d8-a7ef-10ed928aeba0
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802251;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=Q742NIKsfagzLTI5IRupvO4GLE3bLFBwUaLmp6zd0iU=;
  b=ewvO3pYNInt3Ak6F8VmSe8r0zV+C+2jfUmaQb5C0WQ+WwZK5PY+CkZ7Z
   EZlrlZdXgtZJaNZ7tsvPiBMtIofAXLgUAbXMK+CkDlGhptxZkhtJcLaMd
   3b425zHaoiBDP47wbnrb/EFw7irWCTZZ0Fbe+rdFq1aMNWYcqp4y2bVtf
   4=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: 2ibQmHC7TUxW3LONtSaNsTqjpSt2xZEyWMZFxgziJ7B03C4tL1Pvpb0sScLPd34rI20DEBBrkG
 1QwFvR/nyHdxIflkipHqSQPmnZVeXEikszOd1uii8/n2noZ8jzt7CsQCsmgxNzztIHUh7szzWQ
 KDhkk6/UNeOKktnfG2bwCZGjlLsob8OhYuYnKBy3JB20FNhg1/hVTAauG1/t/Jn69lOT6VpINc
 TLSVGh3Lg2vh298nklo8mK2qFjCEiGvEaby1t7jAT0H99or5RUsT4SJQ3Gl9MLXWVZ83gqUqWr
 swPzu1VnrHzlUsJ4OrFr+J80
X-SBRS: 5.1
X-MesageID: 51166334
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:rrW4qKz8RU4/Y18Hk6ZjKrPw1r1zdoMgy1knxilNoHxuH/BwWf
 rPoB17726RtN91YhsdcL+7V5VoLUmzyXcX2/h1AV7BZniEhILAFugLgbcKqweKJ8SUzJ8+6U
 4PSclD4N2bNykGsS75ijPIb+rJFrO8gd+VbeS19QYScelzAZsQiDuQkmygYzZLrA8tP+teKL
 OsovBpihCHYnotYsGyFhA+LpL+T42iruOeXfYebSRXkDWzsQ==
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51166334"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Jan Beulich
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>
Subject: [XEN PATCH v7 03/51] build: use if_changed_rules with %.o:%.c targets
Date: Tue, 24 Aug 2021 11:49:50 +0100
Message-ID: <20210824105038.1257926-4-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Use $(dot-target) to have the target name prefix with a dot.

Now, when the CC command has run, it is recorded in .*.cmd
file, then if_changed_rules will compare it on subsequent runs.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/Rules.mk | 26 +++++++++++++++++---------
 1 file changed, 17 insertions(+), 9 deletions(-)

diff --git a/xen/Rules.mk b/xen/Rules.mk
index 5a6a5d63260f..eaf770414305 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -192,19 +192,27 @@ FORCE:
 
 SRCPATH := $(patsubst $(BASEDIR)/%,%,$(CURDIR))
 
-%.o: %.c Makefile
+quiet_cmd_cc_o_c = CC      $@
 ifeq ($(CONFIG_ENFORCE_UNIQUE_SYMBOLS),y)
-	$(CC) $(c_flags) -c $< -o $(@D)/.$(@F).tmp -MQ $@
-ifeq ($(CONFIG_CC_IS_CLANG),y)
-	$(OBJCOPY) --redefine-sym $<=$(SRCPATH)/$< $(@D)/.$(@F).tmp $@
-else
-	$(OBJCOPY) --redefine-sym $(<F)=$(SRCPATH)/$< $(@D)/.$(@F).tmp $@
-endif
-	rm -f $(@D)/.$(@F).tmp
+    cmd_cc_o_c = $(CC) $(c_flags) -c $< -o $(dot-target).tmp -MQ $@
+    ifeq ($(CONFIG_CC_IS_CLANG),y)
+        cmd_objcopy_fix_sym = $(OBJCOPY) --redefine-sym $<=$(SRCPATH)/$< $(dot-target).tmp $@
+    else
+        cmd_objcopy_fix_sym = $(OBJCOPY) --redefine-sym $(<F)=$(SRCPATH)/$< $(dot-target).tmp $@
+    endif
+    cmd_objcopy_fix_sym += && rm -f $(dot-target).tmp
 else
-	$(CC) $(c_flags) -c $< -o $@
+    cmd_cc_o_c = $(CC) $(c_flags) -c $< -o $@
 endif
 
+define rule_cc_o_c
+    $(call cmd_and_record,cc_o_c)
+    $(call cmd,objcopy_fix_sym)
+endef
+
+%.o: %.c FORCE
+	$(call if_changed_rule,cc_o_c)
+
 quiet_cmd_cc_o_S = CC      $@
 cmd_cc_o_S = $(CC) $(a_flags) -c $< -o $@
 
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 10:51:07 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 10:51:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170897.311932 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIU1K-0002ON-RR; Tue, 24 Aug 2021 10:51:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170897.311932; Tue, 24 Aug 2021 10:51:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIU1K-0002Nw-Nu; Tue, 24 Aug 2021 10:51:06 +0000
Received: by outflank-mailman (input) for mailman id 170897;
 Tue, 24 Aug 2021 10:51:05 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU1J-0001EC-8G
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:51:05 +0000
Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ba79b65f-1574-4338-8e89-3dc8bd3c0e8d;
 Tue, 24 Aug 2021 10:50: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: ba79b65f-1574-4338-8e89-3dc8bd3c0e8d
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802254;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=dpg5dNCI5KoYFV8Mi9Zw+FnUJgLgwOk+tl2lsfCuIpI=;
  b=WxQTo/I68+jj5YzY1gJyYz1ev9mkqdoNEXfujm79XBCj9tZlRJY42LTd
   8yQNd/cpA8WXl6Q1rhw9ynwmNGoVWgEKWdcqSus0dQzrqEtJ7Y+nG9MbV
   c62suEx0bVb33v0UDsPdJKD/8BNk7mMRb+q81NjdKvjSQjZc7cCDOAzXI
   Q=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: S8yQSeJGRsoRd1pLsohXAez0LXWsoIxiAww9UL1Cn8mi7ctWXmaZ2w5CO45h5BMeDlNTLc6So5
 qdHXXJdFKfxHesppObzaDL4FjKCSGaUQ1HqWZOJcPbn6f0nMTOfBIRJUtdp0gP1Igi/3WW74DT
 nV1Vm49eK2n5It0a5IQU8B0+cxTkEcqXLXxZfv9L9szJ/vIAPeGUFkUD23HUjN6/7bfzQhQVcF
 AgrJKr/CdCDheh23u2gOeybdbcVfuYuEMt0WbMdjJFuhEto/dme14F38+n7w3gtaAUdnkbWRhj
 FTa+aGqnCBo8zqzyVxLFx/VX
X-SBRS: 5.1
X-MesageID: 51540863
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:DVxTCqv7YSBWhy7LR4RO3J1L7skDTtV00zEX/kB9WHVpmszxra
 6TdZMgpHnJYVcqKQkdcL+7WJVoLUmxyXcx2/h1AV7AZniAhILLFvAA0WKK+VSJcEeSygce79
 YFT0EXMqyIMbEQt6fHCWeDfOrIuOP3kpyVuQ==
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51540863"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Jan Beulich
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [XEN PATCH v7 04/51] build: factorise generation of the linker scripts
Date: Tue, 24 Aug 2021 11:49:51 +0100
Message-ID: <20210824105038.1257926-5-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

In Arm and X86 makefile, generating the linker script is the same, so
we can simply have both call the same macro.

We need to add *.lds files into extra-y so that Rules.mk can find the
.*.cmd dependency file and load it.

Change made to the command line:
- Use cpp_flags macro which simply filter -Wa,% options from $(a_flags).
- Added -D__LINKER__ even it is only used by Arm's lds.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---

Notes:
    v6:
    - CPP already used instead of CC -E
    - -Ui386 already removed
    - cpp_flags is now a macro
    - rebased
    
    v5:
    - rename cc_lds_S to cpp_lds_S as the binary runned is now CPP
    - Use new cpp_flags instead of the open-coded filter of a_flags.
    
    v4:
    - fix rebuild by adding FORCE as dependency
    - Use $(CPP)
    - remove -Ui386
    - avoid using "define" for cmd_cc_lds_S, as adding '; \' on each line is
      still mandatory for if_changed (or cmd) macro to work.

 xen/Rules.mk          | 4 ++++
 xen/arch/arm/Makefile | 6 ++++--
 xen/arch/x86/Makefile | 6 ++++--
 3 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/xen/Rules.mk b/xen/Rules.mk
index eaf770414305..3f61682ceab7 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -255,6 +255,10 @@ cmd_cpp_s_S = $(CPP) $(call cpp_flags,$(a_flags)) -MQ $@ -o $@ $<
 %.s: %.S FORCE
 	$(call if_changed,cpp_s_S)
 
+# Linker scripts, .lds.S -> .lds
+quiet_cmd_cpp_lds_S = LDS     $@
+cmd_cpp_lds_S = $(CPP) -P $(call cpp_flags,$(a_flags)) -D__LINKER__ -MQ $@ -o $@ $<
+
 # Add intermediate targets:
 # When building objects with specific suffix patterns, add intermediate
 # targets that the final targets are derived from.
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 3d3b97b5b440..0edd9dee6f49 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -66,6 +66,8 @@ obj-y += vpsci.o
 obj-y += vuart.o
 extra-y += $(TARGET_SUBARCH)/head.o
 
+extra-y += xen.lds
+
 #obj-bin-y += ....o
 
 ifneq ($(CONFIG_DTB_FILE),"")
@@ -133,8 +135,8 @@ $(TARGET)-syms: prelink.o xen.lds
 .PHONY: include
 include:
 
-xen.lds: xen.lds.S
-	$(CPP) -P $(a_flags) -D__LINKER__ -MQ $@ -o $@ $<
+xen.lds: xen.lds.S FORCE
+	$(call if_changed,cpp_lds_S)
 
 dtb.o: $(patsubst "%",%,$(CONFIG_DTB_FILE))
 
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 462472215c91..929227f5a3ac 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -79,6 +79,7 @@ obj-y += sysctl.o
 endif
 
 extra-y += asm-macros.i
+extra-y += xen.lds
 
 ifneq ($(CONFIG_HVM),y)
 x86_emulate.o: CFLAGS-y += -Wno-unused-label
@@ -239,6 +240,7 @@ endif
 note_file_option ?= $(note_file)
 
 ifeq ($(XEN_BUILD_PE),y)
+extra-y += efi.lds
 $(TARGET).efi: prelink.o $(note_file) efi.lds efi/relocs-dummy.o efi/mkreloc
 ifeq ($(CONFIG_DEBUG_INFO),y)
 	$(if $(filter --strip-debug,$(EFI_LDFLAGS)),echo,:) "Will strip debug info from $(@F)"
@@ -291,8 +293,8 @@ $(BASEDIR)/include/asm-x86/asm-macros.h: asm-macros.i Makefile
 	$(call move-if-changed,$@.new,$@)
 
 efi.lds: AFLAGS-y += -DEFI
-xen.lds efi.lds: xen.lds.S
-	$(CPP) -P $(call cpp_flags,$(a_flags)) -MQ $@ -o $@ $<
+xen.lds efi.lds: xen.lds.S FORCE
+	$(call if_changed,cpp_lds_S)
 
 boot/mkelf32: boot/mkelf32.c
 	$(HOSTCC) $(HOSTCFLAGS) -o $@ $<
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 10:51:12 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 10:51:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170899.311943 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIU1Q-0002xs-5U; Tue, 24 Aug 2021 10:51:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170899.311943; Tue, 24 Aug 2021 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 1mIU1Q-0002xd-1t; Tue, 24 Aug 2021 10:51:12 +0000
Received: by outflank-mailman (input) for mailman id 170899;
 Tue, 24 Aug 2021 10:51:10 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU1O-0001EC-8P
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:51:10 +0000
Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 41e3a8e2-0b1f-4042-92b3-d95aab8ee7f6;
 Tue, 24 Aug 2021 10:50:56 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 41e3a8e2-0b1f-4042-92b3-d95aab8ee7f6
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802256;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=3v6VgYoCB1FiODVzXr89QZnLW/+oJafwNriPhNu9t2w=;
  b=WUsCYAq2xgCGpSHnndzvkYBkev1ekoIcwlzPe2WCnLQapg0CQoLfDeGe
   d8ih0yNPRbYjHJSuezgr+os2a0JVGuGDjktdurzYbY5sd4deBxP6Pomxp
   dGC250ixR/fwq6fH+bVksKUIipPisDDoz7hk8juQa+RDbPswDcO4hm8mQ
   8=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: yL0OrWhAX1W40TtzPwLZ4nUazHgR76fFPZDorW3Rb1m0k82ZgSseQLRuTCz9KzFeCEx1wASUHC
 4hFk3c+pv/sHwB8FGPOIddTE19z0/uZ8EY+XJk49N9/igzXegw7GCkCwTtVUpInMnkVTMPe7Tt
 MCf+zFscxbfZvmANlyrfVGPt/kL4l+gVEGYxxI10BvyEv6vs0GKGuP5GgYTYKFzm5ypMo9Lsk1
 sA/0ENSil+riQDQvOCXyIe2kbXnPduVCbJVt1FEU5kfP/SttvfdgBJIcaT+giSTwE1PsT92OGU
 hTOEAk14w5gIfBHN54F5U0Se
X-SBRS: 5.1
X-MesageID: 51130710
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:zfpfh6z2clbVXD+GjqmAKrPwKr1zdoMgy1knxilNoRw8SKOlfq
 eV7ZMmPH7P+U8ssR4b+OxoVJPsfZqYz+8W3WBzB8bHYOCFgguVxehZhOOIqQEIWReOk9K1vZ
 0QFZSWY+efMbEVt6rHCXGDYrUd/OU=
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51130710"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Jan Beulich
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [XEN PATCH v7 05/51] x86/mm: avoid building multiple .o from a single .c file
Date: Tue, 24 Aug 2021 11:49:52 +0100
Message-ID: <20210824105038.1257926-6-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

This replace the use of a single .c file use for multiple .o file by
creating multiple .c file including the first one.

There's quite a few issues with trying to build more than one object
file from a single source file: there's is a duplication of the make
rules to generate those targets; there is an additional ".file" symbol
added in order to differentiate between the object files; and the
tools/symbols have an heuristic to try to pick up the right ".file".

This patch adds new .c source file which avoid the need to add a
second ".file" symbol and thus avoid the need to deal with those
issues.

Also remove __OBJECT_FILE__ from $(CC) command line as it isn't used
anywhere anymore. And remove the macro "build-intermediate" since the
generic rules for single targets can be used.

And rename the objects in mm/hap/ to remove the extra "level".

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---

Notes:
    v7:
    - rename hap/guest_walk_${level}level.c to hap/guest_walk_${level}.c
    
    v6:
    - new patch
      to replace both from v5:
        xen,symbols: rework file symbols selection
        build: use if_changed to build mm/*/guest_%.o
    
    The changes in the patch for symbols.c was too complicated to explain,
    and I probably didn't realize one important fact about the tool: it deal
    with all *.o been concatenated to each other, without a way to figure
    out which symbol belong to which original file, and certainly no way to
    figure out if there's more than one ".file" symbol to choose from beside
    some fragile heuristic.

 xen/Makefile                       | 11 -----------
 xen/Rules.mk                       |  2 +-
 xen/arch/x86/mm/Makefile           |  9 ---------
 xen/arch/x86/mm/guest_walk.c       |  3 ---
 xen/arch/x86/mm/guest_walk_2.c     |  2 ++
 xen/arch/x86/mm/guest_walk_3.c     |  2 ++
 xen/arch/x86/mm/guest_walk_4.c     |  2 ++
 xen/arch/x86/mm/hap/Makefile       | 15 +++------------
 xen/arch/x86/mm/hap/guest_walk.c   |  3 ---
 xen/arch/x86/mm/hap/guest_walk_2.c |  2 ++
 xen/arch/x86/mm/hap/guest_walk_3.c |  2 ++
 xen/arch/x86/mm/hap/guest_walk_4.c |  2 ++
 xen/arch/x86/mm/shadow/Makefile    |  9 ---------
 xen/arch/x86/mm/shadow/guest_2.c   |  2 ++
 xen/arch/x86/mm/shadow/guest_3.c   |  2 ++
 xen/arch/x86/mm/shadow/guest_4.c   |  2 ++
 xen/arch/x86/mm/shadow/multi.c     |  3 ---
 xen/tools/symbols.c                | 18 ++----------------
 18 files changed, 24 insertions(+), 67 deletions(-)
 create mode 100644 xen/arch/x86/mm/guest_walk_2.c
 create mode 100644 xen/arch/x86/mm/guest_walk_3.c
 create mode 100644 xen/arch/x86/mm/guest_walk_4.c
 create mode 100644 xen/arch/x86/mm/hap/guest_walk_2.c
 create mode 100644 xen/arch/x86/mm/hap/guest_walk_3.c
 create mode 100644 xen/arch/x86/mm/hap/guest_walk_4.c
 create mode 100644 xen/arch/x86/mm/shadow/guest_2.c
 create mode 100644 xen/arch/x86/mm/shadow/guest_3.c
 create mode 100644 xen/arch/x86/mm/shadow/guest_4.c

diff --git a/xen/Makefile b/xen/Makefile
index 4ceb02d37441..f35a4d84f7cd 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -482,17 +482,6 @@ _MAP:
 %/: FORCE
 	$(MAKE) -f $(BASEDIR)/Rules.mk -C $* built_in.o built_in_bin.o
 
-build-intermediate = $(eval $(call build-intermediate-closure,$(1)))
-define build-intermediate-closure
-$(1): FORCE
-	$(MAKE) -f $(BASEDIR)/Rules.mk -C $$(@D) $$(@F)
-endef
-
-$(foreach base,arch/x86/mm/guest_walk_% \
-               arch/x86/mm/hap/guest_walk_%level \
-               arch/x86/mm/shadow/guest_%, \
-    $(foreach ext,o i s,$(call build-intermediate,$(base).$(ext))))
-
 .PHONY: cloc
 cloc:
 	$(eval tmpfile := $(shell mktemp))
diff --git a/xen/Rules.mk b/xen/Rules.mk
index 3f61682ceab7..48ae519d0153 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -139,7 +139,7 @@ cpp_flags = $(filter-out -Wa$(comma)% -flto,$(1))
 # Calculation of flags, first the generic flags, then the arch specific flags,
 # and last the flags modified for a target or a directory.
 
-c_flags = -MMD -MP -MF $(@D)/.$(@F).d $(XEN_CFLAGS) '-D__OBJECT_FILE__="$@"'
+c_flags = -MMD -MP -MF $(@D)/.$(@F).d $(XEN_CFLAGS)
 a_flags = -MMD -MP -MF $(@D)/.$(@F).d $(XEN_AFLAGS)
 
 include $(BASEDIR)/arch/$(TARGET_ARCH)/Rules.mk
diff --git a/xen/arch/x86/mm/Makefile b/xen/arch/x86/mm/Makefile
index 2818c066f76a..6b7882d992bb 100644
--- a/xen/arch/x86/mm/Makefile
+++ b/xen/arch/x86/mm/Makefile
@@ -10,12 +10,3 @@ obj-$(CONFIG_MEM_SHARING) += mem_sharing.o
 obj-y += p2m.o
 obj-$(CONFIG_HVM) += p2m-ept.o p2m-pod.o p2m-pt.o
 obj-y += paging.o
-
-guest_walk_%.o: guest_walk.c Makefile
-	$(CC) $(c_flags) -DGUEST_PAGING_LEVELS=$* -c $< -o $@
-
-guest_walk_%.i: guest_walk.c Makefile
-	$(CPP) $(call cpp_flags,$(c_flags)) -DGUEST_PAGING_LEVELS=$* -c $< -o $@
-
-guest_walk_%.s: guest_walk.c Makefile
-	$(CC) $(filter-out -Wa$(comma)%,$(c_flags)) -DGUEST_PAGING_LEVELS=$* -S $< -o $@
diff --git a/xen/arch/x86/mm/guest_walk.c b/xen/arch/x86/mm/guest_walk.c
index 30d83cf1e0e6..b9f607272c39 100644
--- a/xen/arch/x86/mm/guest_walk.c
+++ b/xen/arch/x86/mm/guest_walk.c
@@ -21,9 +21,6 @@
  * along with this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
-/* Allow uniquely identifying static symbols in the 3 generated objects. */
-asm(".file \"" __OBJECT_FILE__ "\"");
-
 #include <xen/types.h>
 #include <xen/mm.h>
 #include <xen/paging.h>
diff --git a/xen/arch/x86/mm/guest_walk_2.c b/xen/arch/x86/mm/guest_walk_2.c
new file mode 100644
index 000000000000..defcd59bc260
--- /dev/null
+++ b/xen/arch/x86/mm/guest_walk_2.c
@@ -0,0 +1,2 @@
+#define GUEST_PAGING_LEVELS 2
+#include "guest_walk.c"
diff --git a/xen/arch/x86/mm/guest_walk_3.c b/xen/arch/x86/mm/guest_walk_3.c
new file mode 100644
index 000000000000..1c9eca37741e
--- /dev/null
+++ b/xen/arch/x86/mm/guest_walk_3.c
@@ -0,0 +1,2 @@
+#define GUEST_PAGING_LEVELS 3
+#include "guest_walk.c"
diff --git a/xen/arch/x86/mm/guest_walk_4.c b/xen/arch/x86/mm/guest_walk_4.c
new file mode 100644
index 000000000000..aa3900338a2d
--- /dev/null
+++ b/xen/arch/x86/mm/guest_walk_4.c
@@ -0,0 +1,2 @@
+#define GUEST_PAGING_LEVELS 4
+#include "guest_walk.c"
diff --git a/xen/arch/x86/mm/hap/Makefile b/xen/arch/x86/mm/hap/Makefile
index c6d296b51720..8ef54b1faa50 100644
--- a/xen/arch/x86/mm/hap/Makefile
+++ b/xen/arch/x86/mm/hap/Makefile
@@ -1,15 +1,6 @@
 obj-y += hap.o
-obj-y += guest_walk_2level.o
-obj-y += guest_walk_3level.o
-obj-y += guest_walk_4level.o
+obj-y += guest_walk_2.o
+obj-y += guest_walk_3.o
+obj-y += guest_walk_4.o
 obj-y += nested_hap.o
 obj-y += nested_ept.o
-
-guest_walk_%level.o: guest_walk.c Makefile
-	$(CC) $(c_flags) -DGUEST_PAGING_LEVELS=$* -c $< -o $@
-
-guest_walk_%level.i: guest_walk.c Makefile
-	$(CPP) $(call cpp_flags,$(c_flags)) -DGUEST_PAGING_LEVELS=$* -c $< -o $@
-
-guest_walk_%level.s: guest_walk.c Makefile
-	$(CC) $(filter-out -Wa$(comma)%,$(c_flags)) -DGUEST_PAGING_LEVELS=$* -S $< -o $@
diff --git a/xen/arch/x86/mm/hap/guest_walk.c b/xen/arch/x86/mm/hap/guest_walk.c
index f59ebc84a290..832a8058471e 100644
--- a/xen/arch/x86/mm/hap/guest_walk.c
+++ b/xen/arch/x86/mm/hap/guest_walk.c
@@ -18,9 +18,6 @@
  * this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
-/* Allow uniquely identifying static symbols in the 3 generated objects. */
-asm(".file \"" __OBJECT_FILE__ "\"");
-
 #include <xen/domain_page.h>
 #include <xen/paging.h>
 #include <xen/sched.h>
diff --git a/xen/arch/x86/mm/hap/guest_walk_2.c b/xen/arch/x86/mm/hap/guest_walk_2.c
new file mode 100644
index 000000000000..defcd59bc260
--- /dev/null
+++ b/xen/arch/x86/mm/hap/guest_walk_2.c
@@ -0,0 +1,2 @@
+#define GUEST_PAGING_LEVELS 2
+#include "guest_walk.c"
diff --git a/xen/arch/x86/mm/hap/guest_walk_3.c b/xen/arch/x86/mm/hap/guest_walk_3.c
new file mode 100644
index 000000000000..1c9eca37741e
--- /dev/null
+++ b/xen/arch/x86/mm/hap/guest_walk_3.c
@@ -0,0 +1,2 @@
+#define GUEST_PAGING_LEVELS 3
+#include "guest_walk.c"
diff --git a/xen/arch/x86/mm/hap/guest_walk_4.c b/xen/arch/x86/mm/hap/guest_walk_4.c
new file mode 100644
index 000000000000..aa3900338a2d
--- /dev/null
+++ b/xen/arch/x86/mm/hap/guest_walk_4.c
@@ -0,0 +1,2 @@
+#define GUEST_PAGING_LEVELS 4
+#include "guest_walk.c"
diff --git a/xen/arch/x86/mm/shadow/Makefile b/xen/arch/x86/mm/shadow/Makefile
index fd64b4dda925..b4a1620b6920 100644
--- a/xen/arch/x86/mm/shadow/Makefile
+++ b/xen/arch/x86/mm/shadow/Makefile
@@ -5,12 +5,3 @@ obj-$(CONFIG_PV) += pv.o guest_4.o
 else
 obj-y += none.o
 endif
-
-guest_%.o: multi.c Makefile
-	$(CC) $(c_flags) -DGUEST_PAGING_LEVELS=$* -c $< -o $@
-
-guest_%.i: multi.c Makefile
-	$(CPP) $(call cpp_flags,$(c_flags)) -DGUEST_PAGING_LEVELS=$* -c $< -o $@
-
-guest_%.s: multi.c Makefile
-	$(CC) $(filter-out -Wa$(comma)%,$(c_flags)) -DGUEST_PAGING_LEVELS=$* -S $< -o $@
diff --git a/xen/arch/x86/mm/shadow/guest_2.c b/xen/arch/x86/mm/shadow/guest_2.c
new file mode 100644
index 000000000000..288b229982b0
--- /dev/null
+++ b/xen/arch/x86/mm/shadow/guest_2.c
@@ -0,0 +1,2 @@
+#define GUEST_PAGING_LEVELS 2
+#include "multi.c"
diff --git a/xen/arch/x86/mm/shadow/guest_3.c b/xen/arch/x86/mm/shadow/guest_3.c
new file mode 100644
index 000000000000..04e17b0b8adc
--- /dev/null
+++ b/xen/arch/x86/mm/shadow/guest_3.c
@@ -0,0 +1,2 @@
+#define GUEST_PAGING_LEVELS 3
+#include "multi.c"
diff --git a/xen/arch/x86/mm/shadow/guest_4.c b/xen/arch/x86/mm/shadow/guest_4.c
new file mode 100644
index 000000000000..c0c5d3cb11ad
--- /dev/null
+++ b/xen/arch/x86/mm/shadow/guest_4.c
@@ -0,0 +1,2 @@
+#define GUEST_PAGING_LEVELS 4
+#include "multi.c"
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index 8bb028c2e2fa..7207fcf9e75f 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -20,9 +20,6 @@
  * along with this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
-/* Allow uniquely identifying static symbols in the 3 generated objects. */
-asm(".file \"" __OBJECT_FILE__ "\"");
-
 #include <xen/types.h>
 #include <xen/mm.h>
 #include <xen/trace.h>
diff --git a/xen/tools/symbols.c b/xen/tools/symbols.c
index 0b124526165d..710e9785d348 100644
--- a/xen/tools/symbols.c
+++ b/xen/tools/symbols.c
@@ -84,7 +84,6 @@ static int read_symbol(FILE *in, struct sym_entry *s)
 {
 	char str[500], type[20] = "";
 	char *sym, stype;
-	static enum { symbol, single_source, multi_source } last;
 	static char *filename;
 	int rc = -1;
 
@@ -118,24 +117,11 @@ static int read_symbol(FILE *in, struct sym_entry *s)
 	      */
 	     input_format == fmt_sysv && !*type && stype == '?' && sym &&
 	     sym[1] && strchr("cSsoh", sym[1]) && !sym[2])) {
-		/*
-		 * gas prior to binutils commit fbdf9406b0 (expected to appear
-		 * in 2.27) outputs symbol table entries resulting from .file
-		 * in reverse order. If we get two consecutive file symbols,
-		 * prefer the first one if that names an object file or has a
-		 * directory component (to cover multiply compiled files).
-		 */
-		bool multi = strchr(str, '/') || (sym && sym[1] == 'o');
-
-		if (multi || last != multi_source) {
-			free(filename);
-			filename = *str ? strdup(str) : NULL;
-		}
-		last = multi ? multi_source : single_source;
+		free(filename);
+		filename = *str ? strdup(str) : NULL;
 		goto skip_tail;
 	}
 
-	last = symbol;
 	rc = -1;
 
 	sym = str;
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 10:51:16 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 10:51:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170902.311954 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIU1U-0003aa-HB; Tue, 24 Aug 2021 10:51:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170902.311954; Tue, 24 Aug 2021 10: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 1mIU1U-0003aO-Bk; Tue, 24 Aug 2021 10:51:16 +0000
Received: by outflank-mailman (input) for mailman id 170902;
 Tue, 24 Aug 2021 10:51:15 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU1T-0001EC-8L
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:51:15 +0000
Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id a7d11996-2282-4cd7-9e1f-89089d3a8aef;
 Tue, 24 Aug 2021 10:50: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: a7d11996-2282-4cd7-9e1f-89089d3a8aef
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802257;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=Co6H7lVgiBUcy/feyke8bR5ma3P4dUmv5ksGl3mwp9c=;
  b=RyECNtla7WtKLhP5VrS8g/QrmUQJMJolbUA1qa5P6/f491WdC9XijfJP
   mpPQre//fSm6xIB0DjId1zlqVhjjZMt0kYZ+j+UXUeNiyJ+zfMrJ+m+LU
   rZFZnIkkn3D0GTnY88jBQr8DgAXmFbAHvBJZZeU1BLyJvANXOS0arcsaC
   o=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: 3p1CextGzq0q9aOS4LAZ0UORCqraVkDsfc8ZpkLWAm/jshJ1BrfugFW/tAN4978p8Zbeh0HTYH
 +o6E6ZTkmAY19T3sZccjzvO9k2K8N3Sd1HOW2bm328Bu2iJJWN/SkHpIuWLub6TXJ/l9i7WHVA
 i6e/qN2PRifvasRCLCqBBkTUvi15uhJocjwq++34kURssTIAI3gPcIDbMHzui08WDLoFqL/E9e
 9vIFOhVtWDy332c4aKbix3jMJcSO+0w5uwMgEiirF/Joqi8R+rcCYHetqbaRnxLn6mk422Ub/i
 DNXXlDvNm3di2srvJsL160cj
X-SBRS: 5.1
X-MesageID: 52875430
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:/dW1DqGBbYKpD/ZypLqFVJHXdLJyesId70hD6qkvc3Fom52j/f
 xGws5x6fatskd2ZJkh8erhBEDyewKkyXcV2/hbAV7MZniDhILFFu9fBOjZsnfd8k/Fh4lgPM
 5bGsATZ+EYZmIK7voSlTPIdurIt+P3kpxA692+815dCSVRL41w5QZwDQiWVmdsQhNdOJY/HJ
 2AouJaujuJYx0sH4iGL0hAe9KGi8zAlZrgbxJDLQUg8hOygTSh76O/OwSE3y0ZTyhEzd4ZgC
 f4ek3Cl+ueWsOAu1/hPlzontdrcRzau5l+7fm3+4kow/PX+0OVjcpaKvm/VXsO0ZmSAR4R4a
 LxSlEbTolOAjrqDxuIiAqo1A/63Dk07Xj+jVeenHv4uMT8ACk3EsxbmOtiA23kAmcbzaVBOZ
 hwrhWkXltsfGL9tTW448KNWwBhl0Kyr3ZnmekPj2ZHWY9bbLNKt4QQ8E5cDZ9FRUvBmcgaOf
 grCNuZ6OddcFucYXyctm5zwMa0VnB2GhudWEANtsGczjATlnFkyEkTwtAZgx47hdsAYogB4/
 6BPrVjlblIQMNTZaVhBP0ZSc/yEWDJSQKkChPmHb0mLtB0B5vpke+I3FwY3pDXRHU49upApH
 2aaiIkiYcbQTOQNeSemIZM7g3ABH6gWDiF8LAv26RE
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="52875430"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Jan Beulich
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>
Subject: [XEN PATCH v7 06/51] build,include: rework compat-build-source.py
Date: Tue, 24 Aug 2021 11:49:53 +0100
Message-ID: <20210824105038.1257926-7-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Improvement are:
- give the path to xlat.lst as argument
- include `grep -v` in compat-build-source.py script, we don't need to
  write this in several scripted language.

No changes in final compat/%.h headers.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---

Notes:
    v7:
    - actually keep the dependency on Makefile
    
    v6:
    - remove dependency on Makefile as it's not needed anymore
    
    v5:
    - removed "have 'xlat.lst' path as a variable" from the patch.
    
    v4:
    - new patch

 xen/include/Makefile             | 3 +--
 xen/tools/compat-build-source.py | 8 +++++++-
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/xen/include/Makefile b/xen/include/Makefile
index c8ca97eed0fc..4fa10e68f997 100644
--- a/xen/include/Makefile
+++ b/xen/include/Makefile
@@ -61,8 +61,7 @@ compat/%.i: compat/%.c Makefile
 
 compat/%.c: public/%.h xlat.lst Makefile $(BASEDIR)/tools/compat-build-source.py
 	mkdir -p $(@D)
-	grep -v 'DEFINE_XEN_GUEST_HANDLE(long)' $< | \
-	$(PYTHON) $(BASEDIR)/tools/compat-build-source.py >$@.new
+	$(PYTHON) $(BASEDIR)/tools/compat-build-source.py xlat.lst <$< >$@.new
 	mv -f $@.new $@
 
 compat/.xlat/%.h: compat/%.h compat/.xlat/%.lst $(BASEDIR)/tools/get-fields.sh Makefile
diff --git a/xen/tools/compat-build-source.py b/xen/tools/compat-build-source.py
index 2bcaf27d05a3..274d6917ab7f 100755
--- a/xen/tools/compat-build-source.py
+++ b/xen/tools/compat-build-source.py
@@ -13,7 +13,11 @@ pats = [
  [ r"XEN_GUEST_HANDLE", r"COMPAT_HANDLE" ],
 ];
 
-xlatf = open('xlat.lst', 'r')
+try:
+    xlatf = open(sys.argv[1], 'r')
+except IndexError:
+    print('missing path to xlat.lst argument')
+    sys.exit(1)
 for line in xlatf.readlines():
     match = re.subn(r"^\s*\?\s+(\w*)\s.*", r"\1", line.rstrip())
     if match[1]:
@@ -25,6 +29,8 @@ for pat in pats:
     pat[0] = re.compile(pat[0])
 
 for line in sys.stdin.readlines():
+    if 'DEFINE_XEN_GUEST_HANDLE(long)' in line:
+        continue
     for pat in pats:
         line = re.sub(pat[0], pat[1], line)
     print(line.rstrip())
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 10:51:22 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 10:51:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170908.311965 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIU1a-0004EU-2U; Tue, 24 Aug 2021 10:51:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170908.311965; Tue, 24 Aug 2021 10: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 1mIU1Z-0004EJ-VO; Tue, 24 Aug 2021 10:51:21 +0000
Received: by outflank-mailman (input) for mailman id 170908;
 Tue, 24 Aug 2021 10:51:20 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU1Y-0001EC-8c
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:51:20 +0000
Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ab10c055-d9a1-4273-af9f-d01a7cf118ec;
 Tue, 24 Aug 2021 10:50: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: ab10c055-d9a1-4273-af9f-d01a7cf118ec
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802259;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=bL9YzgcK9j7B9sQjCTznPaTPzCmp5IsYcEeL7e+0Qqw=;
  b=iE3p3f/KKDcv6K50PpuZLtPlmNbpFNl6N8uYKz4BZHycmkTZfaUIhKsH
   z+6IQQoIQwbf6Ol2nTFtBpBRhl3YLh6dgwU20K7jBxJdIaDiB88knsEkW
   kvd2zbY+U9n5QhtugINJcFVJ19bNS5biFl2a8B05zEhn2RyQ78cLX1Juy
   c=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: u5dnNFc5aE5Gc8GOmsJN0+wIApDq6LGZASTLbcLPe5VrER6GeEjP8h3ZkfASe1pXAK95G+1YHx
 jtqZvyjnhBNKOgD6s6/I0kBg6iBMI/6qA4nDYJh+6DE01whLxsyD31Ds2DKrQLgke+3KJnrFZ5
 l4p5LBe/T/xLlxJP5bcAhfJAzoe1OEBOjDVJISRhwdNoVdHIv+6uqAUbWReMo1CF8QUCCOcPdi
 VNJQ+eH6sySXIegxluQxARnGQ06HeQ0hSzJPUEl/nW/IbX776S/rliPf1B2H1fPWcZ//VubD5L
 CxLUbg9A8rjOH7ST+N950r/r
X-SBRS: 5.1
X-MesageID: 50772170
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:nx4COa2SNhlwRaQsvsoEiwqjBIokLtp133Aq2lEZdPRUGvb3qy
 nIpoV86faUskdoZJhOo7C90cW7LU80sKQFhLX5Xo3SOzUO2lHYT72KhLGKq1aLdhEWtNQtsZ
 uIG5IOceEYZmIasS+V2maF+q4bsbu6zJw=
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="50772170"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Wei Liu <wl@xen.org>, "Andrew
 Cooper" <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>, Jan Beulich
	<jbeulich@suse.com>, "Julien Grall" <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>
Subject: [XEN PATCH v7 07/51] build,include: rework compat-build-header.py
Date: Tue, 24 Aug 2021 11:49:54 +0100
Message-ID: <20210824105038.1257926-8-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Replace a mix of shell script and python script by all python script.

No change to the final generated headers.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Acked-by: Wei Liu <wl@xen.org>
---

Notes:
    v7:
    - actually keep the dependency on Makefile
    
    v6:
    - removed handling of $(prefix-y) and $(suffix-y), they've been removed.
    - remove dependency on Makefile as it's not needed anymore
    - rebased
    
    v5:
    - Removed -P from CPP when generating compat/%.i
      -> keep removing linemarkers and keep de-duplicating empty lines.
      So that all the blank line that currently exist in the generated
      headers stays in place.
    
    v4:
    - new patch

 xen/include/Makefile             |  9 +------
 xen/tools/compat-build-header.py | 44 ++++++++++++++++++++++++++++++--
 2 files changed, 43 insertions(+), 10 deletions(-)

diff --git a/xen/include/Makefile b/xen/include/Makefile
index 4fa10e68f997..95daa8a28975 100644
--- a/xen/include/Makefile
+++ b/xen/include/Makefile
@@ -46,14 +46,7 @@ public-$(CONFIG_ARM) := $(wildcard public/arch-arm/*.h public/arch-arm/*/*.h)
 all: $(headers-y)
 
 compat/%.h: compat/%.i Makefile $(BASEDIR)/tools/compat-build-header.py
-	set -e; id=_$$(echo $@ | tr '[:lower:]-/.' '[:upper:]___'); \
-	echo "#ifndef $$id" >$@.new; \
-	echo "#define $$id" >>$@.new; \
-	echo "#include <xen/compat.h>" >>$@.new; \
-	$(if $(filter-out compat/arch-%.h,$@),echo "#include <$(patsubst compat/%,public/%,$@)>" >>$@.new;) \
-	grep -v '^# [0-9]' $< | \
-	$(PYTHON) $(BASEDIR)/tools/compat-build-header.py | uniq >>$@.new; \
-	echo "#endif /* $$id */" >>$@.new
+	$(PYTHON) $(BASEDIR)/tools/compat-build-header.py <$< $@ >>$@.new; \
 	mv -f $@.new $@
 
 compat/%.i: compat/%.c Makefile
diff --git a/xen/tools/compat-build-header.py b/xen/tools/compat-build-header.py
index 065d3b1b6ee8..5f5474fba051 100755
--- a/xen/tools/compat-build-header.py
+++ b/xen/tools/compat-build-header.py
@@ -2,6 +2,12 @@
 
 import re,sys
 
+try:
+    maketrans = str.maketrans
+except AttributeError:
+    # For python2
+    from string import maketrans
+
 pats = [
  [ r"__InClUdE__(.*)", r"#include\1" ],
  [ r"__IfDeF__ (XEN_HAVE.*)", r"#ifdef \1" ],
@@ -23,7 +29,41 @@ pats = [
  [ r"(^|[^\w])long([^\w]|$$)", r"\1int\2" ]
 ];
 
+output_filename = sys.argv[1]
+
+# tr '[:lower:]-/.' '[:upper:]___'
+header_id = '_' + \
+    output_filename.upper().translate(maketrans('-/.','___'))
+
+header = """#ifndef {0}
+#define {0}
+#include <xen/compat.h>""".format(header_id)
+
+print(header)
+
+if not re.match("compat/arch-.*.h$", output_filename):
+    x = output_filename.replace("compat/","public/")
+    print('#include <%s>' % x)
+
+last_line_empty = False
 for line in sys.stdin.readlines():
+    line = line.rstrip()
+
+    # Remove linemarkers generated by the preprocessor.
+    if re.match(r"^# \d", line):
+        continue
+
+    # De-duplicate empty lines.
+    if len(line) == 0:
+        if not last_line_empty:
+            print(line)
+            last_line_empty = True
+        continue
+    else:
+        last_line_empty = False
+
     for pat in pats:
-        line = re.subn(pat[0], pat[1], line)[0]
-    print(line.rstrip())
+        line = re.sub(pat[0], pat[1], line)
+    print(line)
+
+print("#endif /* %s */" % header_id)
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 10:51:29 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 10:51:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170913.311976 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIU1f-0004mE-Ay; Tue, 24 Aug 2021 10:51:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170913.311976; Tue, 24 Aug 2021 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 1mIU1f-0004m5-6w; Tue, 24 Aug 2021 10:51:27 +0000
Received: by outflank-mailman (input) for mailman id 170913;
 Tue, 24 Aug 2021 10:51:25 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU1d-0001EC-8p
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:51:25 +0000
Received: from esa6.hc3370-68.iphmx.com (unknown [216.71.155.175])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ddfb5660-2b70-4538-b3e4-29642c14e627;
 Tue, 24 Aug 2021 10:51:02 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ddfb5660-2b70-4538-b3e4-29642c14e627
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802261;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=VYSylFgL3OrKmloanpbNZC7EqqdXJeoQnSFUl8Se9ag=;
  b=A5y0TZ2T9G8hGP4o4DlCV9idx0P/naEZtsVVgEHPbs1PGhYTHi0lbC8x
   +ryRBlB3vDZFennQC3jbGBddbo0ST6ner6xHe90wWVGKI5zpjPl7BFuvh
   VORP9oFpRDVSk303fbdspGChPiLBGeQUmuGhSdCQMAE1FIlscY8Pyb1Y+
   s=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: Ndfau1ELZ/b//XxcvHRBqBwrrlEUcpQF1l+UJe5JQuF8WArUHl7/GO50A/5WWZiilPWmQnLc8u
 jfkxdy/+hd2pxrdoYV2+/Wn8lGZY3M9N8s9yhCgsVkLURO7BuTAPAUWsXgXR9S+3xESitOsQM1
 pThWyBGW4SimBQ9wKmDPYFRZOq/YCk4J2qAbQ6yLxAMydDDNuo/sI3DRjSc9bFxRh3zbai/Pom
 hOgYxHjaswJSLy/8aEEXNMV82kC35ZISesARRi2QuXnqA8QTb8XJ7l0/zwT+5PfJp7rXvQ2Jnn
 8mWX1fXxxcdQNnE3Y24Mi6Sh
X-SBRS: 5.1
X-MesageID: 51166340
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:6xLTBaGXYTMjgWa6pLqEEseALOsnbusQ8zAXPiBKJCC9vPb5qy
 nOpoV+6faQslwssR4b9uxoVJPvfZq+z+8R3WByB8bAYOCOggLBQL2KhbGI/9SKIVydygcy78
 Zdm6gVMqyMMbB55/yKnDVRxbwbsaa6GKPDv5ah8590JzsaDJ2Jd21Ce32m+ksdfnghObMJUK
 Cyy+BgvDSadXEefq2AdwM4t7iqnayzqHr+CyR2fyIa1A==
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51166340"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Jan Beulich
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>
Subject: [XEN PATCH v7 08/51] build: fix clean targets when subdir-y is used
Date: Tue, 24 Aug 2021 11:49:55 +0100
Message-ID: <20210824105038.1257926-9-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

The make variable $(subdir-y) isn't used yet but will be in a
following patch. Anything in $(subdir-y) doesn't to have a '/' as
suffix as we already now it's a directory.

Rework the rules so that it doesn't matter whether there is a '/' or
not. It also mimic more closely to the way Linux's Kbuild descend in
subdirectories.

FORCE phony target isn't needed anymore running clean, so it can be
removed.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/scripts/Makefile.clean | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/xen/scripts/Makefile.clean b/xen/scripts/Makefile.clean
index 53379e6102cc..027c200c0efc 100644
--- a/xen/scripts/Makefile.clean
+++ b/xen/scripts/Makefile.clean
@@ -12,19 +12,18 @@ include Makefile
 # Figure out what we need to clean from the various variables
 # ==========================================================================
 subdir-all := $(subdir-y) $(subdir-n) $(subdir-) \
-              $(filter %/, $(obj-y) $(obj-n) $(obj-))
+              $(patsubst %/,%, $(filter %/, $(obj-y) $(obj-n) $(obj-)))
 
 DEPS_RM = $(DEPS) $(DEPS_INCLUDE)
 .PHONY: clean
-clean:: $(addprefix _clean_, $(subdir-all))
+clean:: $(subdir-all)
 	rm -f *.o .*.o.tmp *~ core $(DEPS_RM)
 
 # Descending
 # ---------------------------------------------------------------------------
 
-_clean_%/: FORCE
-	$(MAKE) $(clean) $*
+PHONY += $(subdir-all)
+$(subdir-all):
+	$(MAKE) $(clean) $@
 
-# Force execution of pattern rules (for which PHONY cannot be directly used).
-.PHONY: FORCE
-FORCE:
+.PHONY: $(PHONY)
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 10:51:29 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 10:51:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170914.311982 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIU1f-0004qK-RQ; Tue, 24 Aug 2021 10:51:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170914.311982; Tue, 24 Aug 2021 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 1mIU1f-0004pB-HS; Tue, 24 Aug 2021 10:51:27 +0000
Received: by outflank-mailman (input) for mailman id 170914;
 Tue, 24 Aug 2021 10:51:25 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU1d-0003Ux-94
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:51:25 +0000
Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 361a20b0-04c9-11ec-a8c5-12813bfff9fa;
 Tue, 24 Aug 2021 10:51: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: 361a20b0-04c9-11ec-a8c5-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802279;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=0CY45XrUU2T0e2Vp/z8jyA8usgILrp2Rsr6xmzfEv6A=;
  b=ISha4QLBoO6lqYEdFy/7A1FwCzbsZNizvFbITpTSYi7kgNcTsZMMkrqP
   vfWn6e8PSuVG4LAzfK0UC0hxaq5Oly6XwoQW7GBczWIfAB5z4zFMfJtLQ
   bKp8w0Ue/QvH4f8LDmbCM3YrKi3SCpk7ClG/IaSbJqEO0gD9Te391eQws
   o=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: pFsjp1tOBwai6Z9SHPUnMOK5s8wm+7L0DeAix7HOrAEf3eT6O2aP/owMMthgNeJck/78FqlKFe
 gRGdIYMUwWkltEOzKojqr6pnkJ289wF2pBMA6e4riD9CX7uWk805bHRXgfQ5mPnnjIUqRKeCC/
 2vNmkm77MYWqtC/+qGreKYF30T9FzNxfiC8Uq/Bgsd0ERzLY0FEZS5asbV3OrXhnyKthCVS2yo
 fiqEUUMyuLuaiVocNa6aQH1rGxtbx4rV4yG5sB5KKBjPnFGsaYFZAQRXiGh9VL+kmqxr0u04VC
 8IW0SzcFw739QEqgoBC5TS6A
X-SBRS: 5.1
X-MesageID: 51130735
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:EVYY16nwshRySrV/UBoem+BoE8vpDfOeimdD5ihNYBxZY6Wkfp
 +V8cjzhCWftN9OYhodcIi7SdK9qXO1z+8X3WBjB8bZYOCGghrlEGgG1+ffKlLbakrDH4JmtJ
 uINpIOcOEYbmIKwvoSgjPIderIqePvmM/HuQ6d9QYVcegAUdAD0+4NMHf+LqQAfngiOXNWLv
 qhz/sCgwDlVWUcb8y9CHVAdfPEvcf3mJXvZgNDLwI76SGV5AnYqYLSIly95FMzQjlPybAt/S
 zuiAri/JiutPm911v1y3LT1ZJLg9Hso+EzRPBky/JlaQkEuDzYIbiJaIfy+AzdZ9vfr2rCpe
 O84SvI+f4DrU85MFvF+CcFkDOQrQrGo0WStWNwx0GT7/ARDQhKdPZplMZXdADU5FEnu8w52K
 VX33iBv54SFh/Ymj/hjuK4Hy2COXDE0kbKvNRj+UC3a7FuIYO5bLZvjn99AdMFBmb3+YonGO
 5hAIXV4+tXa0qTazTcsnN0yNKhU3wvFlPeK3Jy8PC9wnxThjR03kEYzMsQkjMJ8488UYBN46
 DBPr5znL9DQ8cKZeZ2BfsHQ8GwFmvRKCi8e166MBDiDuUKKnjNo5n47PE84/yrYoUByN8olJ
 HIQDpjxBkPkoLVeLmzNbhwg13wqUmGLEXQI/Bllu1EU+fHNcTW2AW4OSATr/c=
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51130735"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Bob Eshleman
	<bobbyeshleman@gmail.com>, Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [XEN PATCH v7 15/51] build,riscv: tell the build system about riscv64/head.S
Date: Tue, 24 Aug 2021 11:50:02 +0100
Message-ID: <20210824105038.1257926-16-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

This allows to `make arch/riscv/riscv64/head.o`.

Example of rune on a fresh copy of the repository:
    make XEN_TARGET_ARCH=riscv64 CROSS_COMPILE=riscv64-linux-gnu- KBUILD_DEFCONFIG=tiny64_defconfig arch/riscv/riscv64/head.o

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Acked-by: Bob Eshleman <bobbyeshleman@gmail.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Acked-by: Connor Davis <connojdavis@gmail.com>
---
 xen/arch/riscv/riscv64/Makefile | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 xen/arch/riscv/riscv64/Makefile

diff --git a/xen/arch/riscv/riscv64/Makefile b/xen/arch/riscv/riscv64/Makefile
new file mode 100644
index 000000000000..15a4a65f6615
--- /dev/null
+++ b/xen/arch/riscv/riscv64/Makefile
@@ -0,0 +1 @@
+extra-y += head.o
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 10:51:36 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 10:51:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170919.312003 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIU1k-0005hF-Hf; Tue, 24 Aug 2021 10:51:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170919.312003; Tue, 24 Aug 2021 10: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 1mIU1k-0005g8-9L; Tue, 24 Aug 2021 10:51:32 +0000
Received: by outflank-mailman (input) for mailman id 170919;
 Tue, 24 Aug 2021 10:51:30 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU1i-0003Ux-8z
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:51:30 +0000
Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 35d853ee-04c9-11ec-a8c5-12813bfff9fa;
 Tue, 24 Aug 2021 10:51: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: 35d853ee-04c9-11ec-a8c5-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802278;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=i6szS8ayYQoVvg/oA88HgBsvGa9IldJQspmK9pVPvts=;
  b=erQiNVSXtyZF4J1OmXZM7/OzFqc6lc6aVJdh5+LkE3Z6UKuEs4sONMin
   YpURes45k0XeqJkON0QlP4nkywFZxZNjLm6+ecXTKdMpXJ6WxOtTSD/hy
   7EIJiOeziG4KgWMHfGD85Mi3I2RMfzjmUzRSVVBbFCVTGHFXxcE2Jaon+
   w=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: jhr0/K6Z4LJCBX+sK7qYHq7SYKKuTT4l3phw+LrYqg6SuzoA0utMVn2SSkcFavfK1SDj4RCpK9
 oDhNwWsTiD20SAFsY9H3OS101k8u6gUm9vOeLUcRIPfpnzzO+7fgGYBfSw2MKUKCn6oarv6WX9
 W1psEpAl7CWjSFnfV/WWgRT93Zc8QfpB4Hj8J7KVZsCooveYx5QbBL1qqf65RL7uZKDfg7y00N
 2k54f3mq6xvsG1A9UgmZYPJJEBvWNGI2/MLUUoVi22jSXOPZhylSlglRDIT555kEwriIHUx9d3
 /uaHBRwn+8binQA4oYMyjgN4
X-SBRS: 5.1
X-MesageID: 51153544
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:MlyUjaEqr6vLRWnLpLqE0MeALOsnbusQ8zAXP0AYc3Jom6uj5q
 aTdZUgpGfJYVkqOE3I9ertBEDEewK4yXcX2/h3AV7BZniEhILAFugLhuGO/9SjIVybygc079
 YYT0EUMrzN5DZB4voSmDPIceod/A==
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51153544"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>, Jan Beulich
	<jbeulich@suse.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Tamas K Lengyel
	<tamas@tklengyel.com>, Alexandru Isaila <aisaila@bitdefender.com>, "Petre
 Pircalabu" <ppircalabu@bitdefender.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>, Bob Eshleman
	<bobbyeshleman@gmail.com>, Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.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>, Lukasz Hawrylko <lukasz.hawrylko@linux.intel.com>
Subject: [XEN PATCH v7 14/51] xen: move include/asm-* to arch/*/include/asm
Date: Tue, 24 Aug 2021 11:50:01 +0100
Message-ID: <20210824105038.1257926-15-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

This avoid the need to create the symbolic link "include/asm".

Whenever a comment refer to an "asm" headers, this patch avoid
spelling the arch when not needed to avoid some code churn.

One unrelated change is to sort entries in MAINTAINERS for "INTEL(R)
VT FOR X86 (VT-X)"

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Acked-by: Paul Durrant <paul@xen.org>
---

Notes:
    v7:
    - fix MAINTAINERS entry for arch-riscv
    - move to arch/*/include/asm instead
    - In most comment refering to an asm headers, avoid spelling the arch
      name when not needed.
      That doesn't work "common/efi/runtime.c" as the description of Xen's
      stack is only in x86's "asm/current.h" and not in arm's "asm/current.h".
    - sort entries in MAINTAINERS for "INTEL(R) VT FOR X86 (VT-X)"

 .gitignore                                    |  5 +--
 MAINTAINERS                                   | 37 +++++++++----------
 tools/include/Makefile                        |  2 +-
 tools/misc/xen-access.c                       |  4 +-
 tools/tests/vhpet/Makefile                    |  2 +-
 xen/Makefile                                  | 13 +++----
 xen/arch/arm/README.LinuxPrimitives           | 10 ++---
 xen/arch/arm/arch.mk                          |  1 +
 xen/arch/arm/arm32/head.S                     |  2 +-
 xen/arch/arm/arm64/head.S                     |  2 +-
 .../asm-arm => arch/arm/include/asm}/acpi.h   |  0
 .../arm/include/asm}/alternative.h            |  0
 .../asm-arm => arch/arm/include/asm}/altp2m.h |  0
 .../arm/include/asm}/arm32/atomic.h           |  0
 .../arm/include/asm}/arm32/bitops.h           |  0
 .../arm/include/asm}/arm32/bug.h              |  0
 .../arm/include/asm}/arm32/cmpxchg.h          |  0
 .../arm/include/asm}/arm32/flushtlb.h         |  0
 .../arm/include/asm}/arm32/insn.h             |  0
 .../arm/include/asm}/arm32/io.h               |  0
 .../arm/include/asm}/arm32/macros.h           |  0
 .../arm/include/asm}/arm32/mm.h               |  0
 .../arm/include/asm}/arm32/page.h             |  0
 .../arm/include/asm}/arm32/processor.h        |  0
 .../arm/include/asm}/arm32/sysregs.h          |  0
 .../arm/include/asm}/arm32/system.h           |  0
 .../arm/include/asm}/arm32/traps.h            |  0
 .../arm/include/asm}/arm32/vfp.h              |  0
 .../arm/include/asm}/arm64/atomic.h           |  0
 .../arm/include/asm}/arm64/bitops.h           |  0
 .../arm/include/asm}/arm64/brk.h              |  0
 .../arm/include/asm}/arm64/bug.h              |  0
 .../arm/include/asm}/arm64/cmpxchg.h          |  0
 .../arm/include/asm}/arm64/efibind.h          |  0
 .../arm/include/asm}/arm64/flushtlb.h         |  0
 .../arm/include/asm}/arm64/hsr.h              |  0
 .../arm/include/asm}/arm64/insn.h             |  0
 .../arm/include/asm}/arm64/io.h               |  0
 .../arm/include/asm}/arm64/macros.h           |  0
 .../arm/include/asm}/arm64/mm.h               |  0
 .../arm/include/asm}/arm64/page.h             |  0
 .../arm/include/asm}/arm64/processor.h        |  0
 .../arm/include/asm}/arm64/sysregs.h          |  0
 .../arm/include/asm}/arm64/system.h           |  0
 .../arm/include/asm}/arm64/traps.h            |  0
 .../arm/include/asm}/arm64/vfp.h              |  0
 .../arm/include/asm}/asm_defns.h              |  0
 .../asm-arm => arch/arm/include/asm}/atomic.h |  0
 .../asm-arm => arch/arm/include/asm}/bitops.h |  0
 .../asm-arm => arch/arm/include/asm}/bug.h    |  0
 .../arm/include/asm}/byteorder.h              |  0
 .../asm-arm => arch/arm/include/asm}/cache.h  |  0
 .../arm/include/asm}/cadence-uart.h           |  0
 .../asm-arm => arch/arm/include/asm}/config.h |  0
 .../asm-arm => arch/arm/include/asm}/cpregs.h |  0
 .../arm/include/asm}/cpuerrata.h              |  0
 .../arm/include/asm}/cpufeature.h             |  0
 .../arm/include/asm}/current.h                |  0
 .../arm/include/asm}/debugger.h               |  0
 .../asm-arm => arch/arm/include/asm}/delay.h  |  0
 .../asm-arm => arch/arm/include/asm}/desc.h   |  0
 .../asm-arm => arch/arm/include/asm}/device.h |  0
 .../asm-arm => arch/arm/include/asm}/div64.h  |  0
 .../asm-arm => arch/arm/include/asm}/domain.h |  0
 .../arm/include/asm}/domain_build.h           |  0
 .../arm/include/asm}/early_printk.h           |  0
 .../arm/include/asm}/efibind.h                |  0
 .../asm-arm => arch/arm/include/asm}/elf.h    |  0
 .../asm-arm => arch/arm/include/asm}/event.h  |  0
 .../arm/include/asm}/exynos4210-uart.h        |  0
 .../arm/include/asm}/flushtlb.h               |  0
 .../asm-arm => arch/arm/include/asm}/gic.h    |  0
 .../arm/include/asm}/gic_v3_defs.h            |  0
 .../arm/include/asm}/gic_v3_its.h             |  0
 .../arm/include/asm}/grant_table.h            |  0
 .../arm/include/asm}/guest_access.h           |  0
 .../arm/include/asm}/guest_atomics.h          |  0
 .../arm/include/asm}/guest_walk.h             |  0
 .../arm/include/asm}/hardirq.h                |  0
 .../asm-arm => arch/arm/include/asm}/hsr.h    |  0
 .../arm/include/asm}/hypercall.h              |  0
 .../asm-arm => arch/arm/include/asm}/init.h   |  0
 .../asm-arm => arch/arm/include/asm}/insn.h   |  0
 .../asm-arm => arch/arm/include/asm}/io.h     |  0
 .../asm-arm => arch/arm/include/asm}/iocap.h  |  0
 .../asm-arm => arch/arm/include/asm}/iommu.h  |  0
 .../arm/include/asm}/iommu_fwspec.h           |  0
 .../asm-arm => arch/arm/include/asm}/ioreq.h  |  0
 .../asm-arm => arch/arm/include/asm}/irq.h    |  0
 .../asm-arm => arch/arm/include/asm}/kernel.h |  0
 .../arm/include/asm}/livepatch.h              |  0
 .../asm-arm => arch/arm/include/asm}/lpae.h   |  0
 .../asm-arm => arch/arm/include/asm}/macros.h |  0
 .../arm/include/asm}/mem_access.h             |  0
 .../asm-arm => arch/arm/include/asm}/mm.h     |  0
 .../asm-arm => arch/arm/include/asm}/mmio.h   |  0
 .../arm/include/asm}/monitor.h                |  0
 .../arm/include/asm}/new_vgic.h               |  0
 .../asm-arm => arch/arm/include/asm}/nospec.h |  0
 .../asm-arm => arch/arm/include/asm}/numa.h   |  0
 .../asm-arm => arch/arm/include/asm}/p2m.h    |  0
 .../arm/include/asm}/page-bits.h              |  0
 .../asm-arm => arch/arm/include/asm}/page.h   |  0
 .../asm-arm => arch/arm/include/asm}/paging.h |  0
 .../asm-arm => arch/arm/include/asm}/pci.h    |  0
 .../asm-arm => arch/arm/include/asm}/percpu.h |  0
 .../asm-arm => arch/arm/include/asm}/perfc.h  |  0
 .../arm/include/asm}/perfc_defn.h             |  0
 .../arm/include/asm}/pl011-uart.h             |  0
 .../arm/include/asm}/platform.h               |  0
 .../arm/include/asm}/platforms/exynos5.h      |  0
 .../arm/include/asm}/platforms/midway.h       |  0
 .../arm/include/asm}/platforms/omap5.h        |  0
 .../arm/include/asm}/platforms/vexpress.h     |  0
 .../asm}/platforms/xilinx-zynqmp-eemi.h       |  0
 .../arm/include/asm}/processor.h              |  0
 .../arm/include/asm}/procinfo.h               |  0
 .../asm-arm => arch/arm/include/asm}/psci.h   |  0
 .../asm-arm => arch/arm/include/asm}/random.h |  0
 .../asm-arm => arch/arm/include/asm}/regs.h   |  0
 .../arm/include/asm}/scif-uart.h              |  0
 .../asm-arm => arch/arm/include/asm}/setup.h  |  0
 .../arm/include/asm}/short-desc.h             |  0
 .../asm-arm => arch/arm/include/asm}/smccc.h  |  0
 .../asm-arm => arch/arm/include/asm}/smp.h    |  0
 .../arm/include/asm}/softirq.h                |  0
 .../arm/include/asm}/spinlock.h               |  0
 .../asm-arm => arch/arm/include/asm}/string.h |  0
 .../arm/include/asm}/sysregs.h                |  0
 .../asm-arm => arch/arm/include/asm}/system.h |  0
 .../arm/include/asm}/tee/optee_msg.h          |  0
 .../arm/include/asm}/tee/optee_rpc_cmd.h      |  0
 .../arm/include/asm}/tee/optee_smc.h          |  0
 .../arm/include/asm}/tee/tee.h                |  0
 .../asm-arm => arch/arm/include/asm}/time.h   |  0
 .../asm-arm => arch/arm/include/asm}/trace.h  |  0
 .../asm-arm => arch/arm/include/asm}/traps.h  |  0
 .../asm-arm => arch/arm/include/asm}/types.h  |  0
 .../asm-arm => arch/arm/include/asm}/vfp.h    |  0
 .../arm/include/asm}/vgic-emul.h              |  0
 .../asm-arm => arch/arm/include/asm}/vgic.h   |  0
 .../arm/include/asm}/vm_event.h               |  0
 .../asm-arm => arch/arm/include/asm}/vpl011.h |  0
 .../asm-arm => arch/arm/include/asm}/vpsci.h  |  0
 .../asm-arm => arch/arm/include/asm}/vreg.h   |  0
 .../asm-arm => arch/arm/include/asm}/vtimer.h |  0
 .../arm/include/asm}/xenoprof.h               |  0
 xen/arch/arm/smpboot.c                        |  2 +-
 xen/arch/arm/vpsci.c                          |  2 +-
 xen/arch/riscv/arch.mk                        |  1 +
 .../riscv/include/asm}/config.h               |  0
 xen/arch/x86/Makefile                         |  6 +--
 xen/arch/x86/arch.mk                          |  5 ++-
 .../asm-x86 => arch/x86/include/asm}/acpi.h   |  0
 .../x86/include/asm}/alternative-asm.h        |  0
 .../x86/include/asm}/alternative.h            |  0
 .../asm-x86 => arch/x86/include/asm}/altp2m.h |  0
 .../asm-x86 => arch/x86/include/asm}/amd.h    |  0
 .../asm-x86 => arch/x86/include/asm}/apic.h   |  0
 .../x86/include/asm}/apicdef.h                |  0
 .../x86/include/asm}/asm-defns.h              |  0
 .../x86/include/asm}/asm_defns.h              |  0
 .../asm-x86 => arch/x86/include/asm}/atomic.h |  0
 .../asm-x86 => arch/x86/include/asm}/bitops.h |  0
 .../asm-x86 => arch/x86/include/asm}/bug.h    |  0
 .../x86/include/asm}/byteorder.h              |  0
 .../x86/include/asm}/bzimage.h                |  0
 .../asm-x86 => arch/x86/include/asm}/cache.h  |  0
 .../asm-x86 => arch/x86/include/asm}/compat.h |  0
 .../asm-x86 => arch/x86/include/asm}/config.h |  0
 .../x86/include/asm}/cpufeature.h             |  0
 .../x86/include/asm}/cpufeatures.h            |  0
 .../x86/include/asm}/cpufeatureset.h          |  0
 .../asm-x86 => arch/x86/include/asm}/cpuid.h  |  0
 .../x86/include/asm}/cpuidle.h                |  0
 .../x86/include/asm}/current.h                |  2 +-
 .../x86/include/asm}/debugger.h               |  0
 .../x86/include/asm}/debugreg.h               |  0
 .../asm-x86 => arch/x86/include/asm}/delay.h  |  0
 .../asm-x86 => arch/x86/include/asm}/desc.h   |  0
 .../asm-x86 => arch/x86/include/asm}/device.h |  0
 .../asm-x86 => arch/x86/include/asm}/div64.h  |  0
 .../x86/include/asm}/dom0_build.h             |  0
 .../asm-x86 => arch/x86/include/asm}/domain.h |  2 +-
 .../asm-x86 => arch/x86/include/asm}/e820.h   |  0
 .../asm-x86 => arch/x86/include/asm}/edd.h    |  0
 .../x86/include/asm}/efibind.h                |  0
 .../asm-x86 => arch/x86/include/asm}/elf.h    |  0
 .../asm-x86 => arch/x86/include/asm}/event.h  |  0
 .../asm-x86 => arch/x86/include/asm}/fixmap.h |  0
 .../x86/include/asm}/flushtlb.h               |  0
 .../x86/include/asm}/genapic.h                |  0
 .../x86/include/asm}/grant_table.h            |  0
 .../asm-x86 => arch/x86/include/asm}/guest.h  |  0
 .../x86/include/asm}/guest/hyperv-hcall.h     |  0
 .../x86/include/asm}/guest/hyperv-tlfs.h      |  0
 .../x86/include/asm}/guest/hyperv.h           |  0
 .../x86/include/asm}/guest/hypervisor.h       |  0
 .../x86/include/asm}/guest/pvh-boot.h         |  0
 .../x86/include/asm}/guest/xen-hcall.h        |  0
 .../x86/include/asm}/guest/xen.h              |  0
 .../x86/include/asm}/guest_access.h           |  0
 .../x86/include/asm}/guest_atomics.h          |  0
 .../x86/include/asm}/guest_pt.h               |  0
 .../asm-x86 => arch/x86/include/asm}/hap.h    |  0
 .../x86/include/asm}/hardirq.h                |  0
 .../asm-x86 => arch/x86/include/asm}/hpet.h   |  0
 .../x86/include/asm}/hvm/asid.h               |  0
 .../x86/include/asm}/hvm/cacheattr.h          |  0
 .../x86/include/asm}/hvm/domain.h             |  0
 .../x86/include/asm}/hvm/emulate.h            |  0
 .../x86/include/asm}/hvm/grant_table.h        |  0
 .../x86/include/asm}/hvm/guest_access.h       |  0
 .../x86/include/asm}/hvm/hvm.h                |  0
 .../asm-x86 => arch/x86/include/asm}/hvm/io.h |  0
 .../x86/include/asm}/hvm/ioreq.h              |  0
 .../x86/include/asm}/hvm/irq.h                |  0
 .../x86/include/asm}/hvm/monitor.h            |  0
 .../x86/include/asm}/hvm/nestedhvm.h          |  0
 .../x86/include/asm}/hvm/save.h               |  0
 .../x86/include/asm}/hvm/support.h            |  0
 .../x86/include/asm}/hvm/svm/asid.h           |  0
 .../x86/include/asm}/hvm/svm/emulate.h        |  0
 .../x86/include/asm}/hvm/svm/intr.h           |  0
 .../x86/include/asm}/hvm/svm/nestedsvm.h      |  0
 .../x86/include/asm}/hvm/svm/svm.h            |  0
 .../x86/include/asm}/hvm/svm/svmdebug.h       |  0
 .../x86/include/asm}/hvm/svm/vmcb.h           |  0
 .../x86/include/asm}/hvm/trace.h              |  0
 .../x86/include/asm}/hvm/vcpu.h               |  0
 .../x86/include/asm}/hvm/vioapic.h            |  0
 .../x86/include/asm}/hvm/viridian.h           |  0
 .../x86/include/asm}/hvm/vlapic.h             |  0
 .../x86/include/asm}/hvm/vm_event.h           |  0
 .../x86/include/asm}/hvm/vmx/vmcs.h           |  0
 .../x86/include/asm}/hvm/vmx/vmx.h            |  0
 .../x86/include/asm}/hvm/vmx/vvmx.h           |  0
 .../x86/include/asm}/hvm/vpic.h               |  0
 .../x86/include/asm}/hvm/vpt.h                |  0
 .../x86/include/asm}/hypercall.h              |  0
 .../asm-x86 => arch/x86/include/asm}/i387.h   |  0
 .../asm-x86 => arch/x86/include/asm}/init.h   |  0
 .../x86/include/asm}/invpcid.h                |  0
 .../asm-x86 => arch/x86/include/asm}/io.h     |  0
 .../x86/include/asm}/io_apic.h                |  0
 .../asm-x86 => arch/x86/include/asm}/iocap.h  |  0
 .../asm-x86 => arch/x86/include/asm}/iommu.h  |  0
 .../asm-x86 => arch/x86/include/asm}/ioreq.h  |  0
 .../asm-x86 => arch/x86/include/asm}/irq.h    |  0
 .../asm-x86 => arch/x86/include/asm}/ldt.h    |  0
 .../x86/include/asm}/livepatch.h              |  0
 .../x86/include/asm}/mach-default/bios_ebda.h |  0
 .../x86/include/asm}/mach-default/io_ports.h  |  0
 .../include/asm}/mach-default/irq_vectors.h   |  0
 .../include/asm}/mach-default/mach_mpparse.h  |  0
 .../include/asm}/mach-default/mach_mpspec.h   |  0
 .../x86/include/asm}/mach-generic/mach_apic.h |  0
 .../include/asm}/mach-generic/mach_mpparse.h  |  0
 .../x86/include/asm}/machine_kexec.h          |  0
 .../x86/include/asm}/mc146818rtc.h            |  0
 .../asm-x86 => arch/x86/include/asm}/mce.h    |  0
 .../x86/include/asm}/mem_access.h             |  0
 .../x86/include/asm}/mem_paging.h             |  0
 .../x86/include/asm}/mem_sharing.h            |  0
 .../x86/include/asm}/microcode.h              |  0
 .../asm-x86 => arch/x86/include/asm}/mm.h     |  0
 .../x86/include/asm}/monitor.h                |  0
 .../asm-x86 => arch/x86/include/asm}/mpspec.h |  0
 .../x86/include/asm}/mpspec_def.h             |  0
 .../asm-x86 => arch/x86/include/asm}/msi.h    |  0
 .../x86/include/asm}/msr-index.h              |  0
 .../asm-x86 => arch/x86/include/asm}/msr.h    |  0
 .../asm-x86 => arch/x86/include/asm}/mtrr.h   |  0
 .../x86/include/asm}/multicall.h              |  0
 .../asm-x86 => arch/x86/include/asm}/mwait.h  |  0
 .../asm-x86 => arch/x86/include/asm}/nmi.h    |  0
 .../asm-x86 => arch/x86/include/asm}/nops.h   |  0
 .../asm-x86 => arch/x86/include/asm}/nospec.h |  0
 .../asm-x86 => arch/x86/include/asm}/numa.h   |  0
 .../asm-x86 => arch/x86/include/asm}/p2m.h    |  0
 .../x86/include/asm}/page-bits.h              |  0
 .../asm-x86 => arch/x86/include/asm}/page.h   |  0
 .../asm-x86 => arch/x86/include/asm}/paging.h |  0
 .../asm-x86 => arch/x86/include/asm}/pci.h    |  0
 .../asm-x86 => arch/x86/include/asm}/percpu.h |  0
 .../asm-x86 => arch/x86/include/asm}/perfc.h  |  0
 .../x86/include/asm}/perfc_defn.h             |  0
 .../x86/include/asm}/processor.h              |  0
 .../asm-x86 => arch/x86/include/asm}/psr.h    |  0
 .../x86/include/asm}/pv/domain.h              |  0
 .../x86/include/asm}/pv/grant_table.h         |  0
 .../asm-x86 => arch/x86/include/asm}/pv/mm.h  |  0
 .../x86/include/asm}/pv/shim.h                |  0
 .../x86/include/asm}/pv/traps.h               |  0
 .../asm-x86 => arch/x86/include/asm}/random.h |  0
 .../asm-x86 => arch/x86/include/asm}/regs.h   |  0
 .../asm-x86 => arch/x86/include/asm}/setup.h  |  0
 .../asm-x86 => arch/x86/include/asm}/shadow.h |  0
 .../asm-x86 => arch/x86/include/asm}/shared.h |  0
 .../asm-x86 => arch/x86/include/asm}/smp.h    |  0
 .../x86/include/asm}/softirq.h                |  0
 .../x86/include/asm}/spec_ctrl.h              |  0
 .../x86/include/asm}/spec_ctrl_asm.h          |  0
 .../x86/include/asm}/spinlock.h               |  0
 .../asm-x86 => arch/x86/include/asm}/string.h |  0
 .../asm-x86 => arch/x86/include/asm}/system.h |  0
 .../asm-x86 => arch/x86/include/asm}/tboot.h  |  0
 .../asm-x86 => arch/x86/include/asm}/time.h   |  0
 .../asm-x86 => arch/x86/include/asm}/trace.h  |  0
 .../asm-x86 => arch/x86/include/asm}/traps.h  |  0
 .../asm-x86 => arch/x86/include/asm}/types.h  |  0
 .../x86/include/asm}/uaccess.h                |  0
 .../x86/include/asm}/unaligned.h              |  0
 .../x86/include/asm}/vm_event.h               |  0
 .../asm-x86 => arch/x86/include/asm}/vpmu.h   |  0
 .../x86/include/asm}/x86-defns.h              |  0
 .../x86/include/asm}/x86-vendors.h            |  0
 .../x86/include/asm}/x86_64/efibind.h         |  0
 .../x86/include/asm}/x86_64/elf.h             |  0
 .../x86/include/asm}/x86_64/page.h            |  0
 .../x86/include/asm}/x86_64/regs.h            |  0
 .../x86/include/asm}/x86_64/system.h          |  0
 .../x86/include/asm}/x86_64/uaccess.h         |  0
 .../x86/include/asm}/x86_emulate.h            |  2 +-
 .../x86/include/asm}/xenoprof.h               |  0
 .../asm-x86 => arch/x86/include/asm}/xstate.h |  0
 xen/common/efi/runtime.c                      |  2 +-
 xen/common/page_alloc.c                       |  2 +-
 xen/include/xen/acpi.h                        |  5 ++-
 xen/include/xen/bitmap.h                      |  2 +-
 330 files changed, 55 insertions(+), 56 deletions(-)
 rename xen/{include/asm-arm => arch/arm/include/asm}/acpi.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/alternative.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/altp2m.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm32/atomic.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm32/bitops.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm32/bug.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm32/cmpxchg.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm32/flushtlb.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm32/insn.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm32/io.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm32/macros.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm32/mm.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm32/page.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm32/processor.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm32/sysregs.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm32/system.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm32/traps.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm32/vfp.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm64/atomic.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm64/bitops.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm64/brk.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm64/bug.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm64/cmpxchg.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm64/efibind.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm64/flushtlb.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm64/hsr.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm64/insn.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm64/io.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm64/macros.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm64/mm.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm64/page.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm64/processor.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm64/sysregs.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm64/system.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm64/traps.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/arm64/vfp.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/asm_defns.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/atomic.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/bitops.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/bug.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/byteorder.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/cache.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/cadence-uart.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/config.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/cpregs.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/cpuerrata.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/cpufeature.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/current.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/debugger.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/delay.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/desc.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/device.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/div64.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/domain.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/domain_build.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/early_printk.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/efibind.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/elf.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/event.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/exynos4210-uart.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/flushtlb.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/gic.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/gic_v3_defs.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/gic_v3_its.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/grant_table.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/guest_access.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/guest_atomics.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/guest_walk.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/hardirq.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/hsr.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/hypercall.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/init.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/insn.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/io.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/iocap.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/iommu.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/iommu_fwspec.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/ioreq.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/irq.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/kernel.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/livepatch.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/lpae.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/macros.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/mem_access.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/mm.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/mmio.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/monitor.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/new_vgic.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/nospec.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/numa.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/p2m.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/page-bits.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/page.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/paging.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/pci.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/percpu.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/perfc.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/perfc_defn.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/pl011-uart.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/platform.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/platforms/exynos5.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/platforms/midway.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/platforms/omap5.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/platforms/vexpress.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/platforms/xilinx-zynqmp-eemi.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/processor.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/procinfo.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/psci.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/random.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/regs.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/scif-uart.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/setup.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/short-desc.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/smccc.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/smp.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/softirq.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/spinlock.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/string.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/sysregs.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/system.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/tee/optee_msg.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/tee/optee_rpc_cmd.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/tee/optee_smc.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/tee/tee.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/time.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/trace.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/traps.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/types.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/vfp.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/vgic-emul.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/vgic.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/vm_event.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/vpl011.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/vpsci.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/vreg.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/vtimer.h (100%)
 rename xen/{include/asm-arm => arch/arm/include/asm}/xenoprof.h (100%)
 rename xen/{include/asm-riscv => arch/riscv/include/asm}/config.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/acpi.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/alternative-asm.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/alternative.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/altp2m.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/amd.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/apic.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/apicdef.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/asm-defns.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/asm_defns.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/atomic.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/bitops.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/bug.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/byteorder.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/bzimage.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/cache.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/compat.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/config.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/cpufeature.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/cpufeatures.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/cpufeatureset.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/cpuid.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/cpuidle.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/current.h (99%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/debugger.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/debugreg.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/delay.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/desc.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/device.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/div64.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/dom0_build.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/domain.h (99%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/e820.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/edd.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/efibind.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/elf.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/event.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/fixmap.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/flushtlb.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/genapic.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/grant_table.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/guest.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/guest/hyperv-hcall.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/guest/hyperv-tlfs.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/guest/hyperv.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/guest/hypervisor.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/guest/pvh-boot.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/guest/xen-hcall.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/guest/xen.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/guest_access.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/guest_atomics.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/guest_pt.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hap.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hardirq.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hpet.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/asid.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/cacheattr.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/domain.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/emulate.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/grant_table.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/guest_access.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/hvm.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/io.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/ioreq.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/irq.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/monitor.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/nestedhvm.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/save.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/support.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/svm/asid.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/svm/emulate.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/svm/intr.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/svm/nestedsvm.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/svm/svm.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/svm/svmdebug.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/svm/vmcb.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/trace.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/vcpu.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/vioapic.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/viridian.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/vlapic.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/vm_event.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/vmx/vmcs.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/vmx/vmx.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/vmx/vvmx.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/vpic.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hvm/vpt.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/hypercall.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/i387.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/init.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/invpcid.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/io.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/io_apic.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/iocap.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/iommu.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/ioreq.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/irq.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/ldt.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/livepatch.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/mach-default/bios_ebda.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/mach-default/io_ports.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/mach-default/irq_vectors.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/mach-default/mach_mpparse.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/mach-default/mach_mpspec.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/mach-generic/mach_apic.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/mach-generic/mach_mpparse.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/machine_kexec.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/mc146818rtc.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/mce.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/mem_access.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/mem_paging.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/mem_sharing.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/microcode.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/mm.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/monitor.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/mpspec.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/mpspec_def.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/msi.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/msr-index.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/msr.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/mtrr.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/multicall.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/mwait.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/nmi.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/nops.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/nospec.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/numa.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/p2m.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/page-bits.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/page.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/paging.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/pci.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/percpu.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/perfc.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/perfc_defn.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/processor.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/psr.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/pv/domain.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/pv/grant_table.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/pv/mm.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/pv/shim.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/pv/traps.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/random.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/regs.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/setup.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/shadow.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/shared.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/smp.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/softirq.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/spec_ctrl.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/spec_ctrl_asm.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/spinlock.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/string.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/system.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/tboot.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/time.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/trace.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/traps.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/types.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/uaccess.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/unaligned.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/vm_event.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/vpmu.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/x86-defns.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/x86-vendors.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/x86_64/efibind.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/x86_64/elf.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/x86_64/page.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/x86_64/regs.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/x86_64/system.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/x86_64/uaccess.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/x86_emulate.h (89%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/xenoprof.h (100%)
 rename xen/{include/asm-x86 => arch/x86/include/asm}/xstate.h (100%)

diff --git a/.gitignore b/.gitignore
index 8ebb51b6c5e8..bc964663d25c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -315,6 +315,7 @@ xen/arch/x86/boot/*.lnk
 xen/arch/x86/efi.lds
 xen/arch/x86/efi/check.efi
 xen/arch/x86/efi/mkreloc
+xen/arch/x86/include/asm/asm-macros.h
 xen/arch/*/xen.lds
 xen/arch/*/efi/boot.c
 xen/arch/*/efi/compat.c
@@ -322,13 +323,11 @@ xen/arch/*/efi/ebmalloc.c
 xen/arch/*/efi/efi.h
 xen/arch/*/efi/pe.c
 xen/arch/*/efi/runtime.c
+xen/arch/*/include/asm/asm-offsets.h
 xen/asm-offsets.s
 xen/common/config_data.S
 xen/common/config.gz
 xen/include/headers*.chk
-xen/include/asm
-xen/include/asm-*/asm-offsets.h
-xen/include/asm-x86/asm-macros.h
 xen/include/compat/*
 xen/include/config/
 xen/include/generated/
diff --git a/MAINTAINERS b/MAINTAINERS
index 56d16e4328cf..d7041c3cc698 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -245,7 +245,6 @@ F:	xen/drivers/char/omap-uart.c
 F:	xen/drivers/char/pl011.c
 F:	xen/drivers/char/scif-uart.c
 F:	xen/drivers/passthrough/arm/
-F:	xen/include/asm-arm/
 F:	xen/include/public/arch-arm/
 F:	xen/include/public/arch-arm.h
 
@@ -291,10 +290,10 @@ EFI
 M:	Jan Beulich <jbeulich@suse.com>
 S:	Supported
 F:	xen/arch/x86/efi/
+F:	xen/arch/x86/include/asm/efi*.h
+F:	xen/arch/x86/include/asm/x86_*/efi*.h
 F:	xen/common/efi/
 F:	xen/include/efi/
-F:	xen/include/asm-x86/efi*.h
-F:	xen/include/asm-x86/x86_*/efi*.h
 
 GDBSX DEBUGGER
 M:	Elena Ufimtseva <elena.ufimtseva@oracle.com>
@@ -320,8 +319,8 @@ F:	xen/include/xen/hypfs.h
 INTEL(R) TRUSTED EXECUTION TECHNOLOGY (TXT)
 R:	Lukasz Hawrylko <lukasz.hawrylko@linux.intel.com>
 S:	Odd Fixes
+F:	xen/arch/x86/include/asm/tboot.h
 F:	xen/arch/x86/tboot.c
-F:	xen/include/asm-x86/tboot.h
 
 INTEL(R) VT FOR DIRECTED I/O (VT-D)
 M:	Kevin Tian <kevin.tian@intel.com>
@@ -332,10 +331,10 @@ INTEL(R) VT FOR X86 (VT-X)
 M:	Jun Nakajima <jun.nakajima@intel.com>
 M:	Kevin Tian <kevin.tian@intel.com>
 S:	Supported
+F:	xen/arch/x86/cpu/vpmu_intel.c
 F:	xen/arch/x86/hvm/vmx/
+F:	xen/arch/x86/include/asm/hvm/vmx/
 F:	xen/arch/x86/mm/p2m-ept.c
-F:	xen/include/asm-x86/hvm/vmx/
-F:	xen/arch/x86/cpu/vpmu_intel.c
 
 IOMMU VENDOR INDEPENDENT CODE
 M:	Jan Beulich <jbeulich@suse.com>
@@ -411,10 +410,10 @@ M:	Ross Lagerwall <ross.lagerwall@citrix.com>
 S:	Supported
 F:	docs/misc/livepatch.pandoc
 F:	tools/misc/xen-livepatch.c
+F:	xen/arch/*/include/asm/livepatch.h
 F:	xen/arch/*/livepatch*
 F:	xen/arch/*/*/livepatch*
 F:	xen/common/livepatch*
-F:	xen/include/asm-*/livepatch.h
 F:	xen/include/xen/livepatch*
 F:	xen/test/livepatch/*
 
@@ -485,7 +484,6 @@ R:	Connor Davis <connojdavis@gmail.com>
 S:	Supported
 F:	config/riscv64.mk
 F:	xen/arch/riscv/
-F:	xen/include/asm-riscv/
 
 RTDS SCHEDULER
 M:	Dario Faggioli <dfaggioli@suse.com>
@@ -514,8 +512,8 @@ F:	stubdom/
 TEE MEDIATORS
 M:	Volodymyr Babchuk <volodymyr_babchuk@epam.com>
 S:	Supported
+F:	xen/arch/arm/include/asm/tee
 F:	xen/arch/arm/tee/
-F:	xen/include/asm-arm/tee
 
 TOOLSTACK
 M:	Ian Jackson <iwj@xenproject.org>
@@ -543,6 +541,8 @@ F:	tools/misc/xen-access.c
 F:	xen/arch/*/monitor.c
 F:	xen/arch/*/vm_event.c
 F:	xen/arch/arm/mem_access.c
+F:	xen/arch/x86/include/asm/hvm/monitor.h
+F:	xen/arch/x86/include/asm/hvm/vm_event.h
 F:	xen/arch/x86/mm/mem_access.c
 F:	xen/arch/x86/hvm/monitor.c
 F:	xen/arch/x86/hvm/vm_event.c
@@ -552,8 +552,6 @@ F:	xen/common/vm_event.c
 F:	xen/include/*/mem_access.h
 F:	xen/include/*/monitor.h
 F:	xen/include/*/vm_event.h
-F:	xen/include/asm-x86/hvm/monitor.h
-F:	xen/include/asm-x86/hvm/vm_event.h
 
 VPCI
 M:	Roger Pau Monné <roger.pau@citrix.com>
@@ -579,7 +577,6 @@ R:	Wei Liu <wl@xen.org>
 S:	Supported
 L:	xen-devel@lists.xenproject.org
 F:	xen/arch/x86/
-F:	xen/include/asm-x86/
 F:	xen/include/public/arch-x86/
 F:	xen/include/xen/lib/x86
 F:	xen/lib/x86
@@ -599,10 +596,10 @@ F:	xen/arch/x86/hvm/emulate.c
 F:	xen/arch/x86/hvm/intercept.c
 F:	xen/arch/x86/hvm/io.c
 F:	xen/arch/x86/hvm/ioreq.c
-F:	xen/include/asm-x86/hvm/emulate.h
-F:	xen/include/asm-x86/hvm/io.h
-F:	xen/include/asm-x86/hvm/ioreq.h
-F:	xen/include/asm-x86/ioreq.h
+F:	xen/arch/x86/include/asm/hvm/emulate.h
+F:	xen/arch/x86/include/asm/hvm/io.h
+F:	xen/arch/x86/include/asm/hvm/ioreq.h
+F:	xen/arch/x86/include/asm/ioreq.h
 
 X86 MEMORY MANAGEMENT
 M:	Jan Beulich <jbeulich@suse.com>
@@ -634,10 +631,10 @@ M:	Wei Liu <wl@xen.org>
 S:	Supported
 F:	xen/arch/x86/guest/hyperv/
 F:	xen/arch/x86/hvm/viridian/
-F:	xen/include/asm-x86/guest/hyperv.h
-F:	xen/include/asm-x86/guest/hyperv-hcall.h
-F:	xen/include/asm-x86/guest/hyperv-tlfs.h
-F:	xen/include/asm-x86/hvm/viridian.h
+F:	xen/arch/x86/include/asm/guest/hyperv.h
+F:	xen/arch/x86/include/asm/guest/hyperv-hcall.h
+F:	xen/arch/x86/include/asm/guest/hyperv-tlfs.h
+F:	xen/arch/x86/include/asm/hvm/viridian.h
 
 XENSTORE
 M:	Ian Jackson <iwj@xenproject.org>
diff --git a/tools/include/Makefile b/tools/include/Makefile
index 42605d46b937..6668756ceb63 100644
--- a/tools/include/Makefile
+++ b/tools/include/Makefile
@@ -30,7 +30,7 @@ xen-dir:
 	ln -s $(XEN_ROOT)/xen/include/acpi/platform acpi/
 	ln -s $(XEN_ROOT)/xen/include/acpi/ac*.h acpi/
 ifeq ($(CONFIG_X86),y)
-	ln -s $(XEN_ROOT)/xen/include/asm-x86 xen/asm
+	ln -s $(XEN_ROOT)/xen/arch/x86/include/asm xen/asm
 	mkdir -p xen/lib/x86
 	ln -s $(filter-out %autogen.h,$(wildcard $(XEN_ROOT)/xen/include/xen/lib/x86/*.h)) xen/lib/x86/
 	ln -s $(XEN_ROOT)/xen/include/xen/lib/x86/Makefile xen/lib/x86/
diff --git a/tools/misc/xen-access.c b/tools/misc/xen-access.c
index 4bbef0bd2e10..0731c20b8355 100644
--- a/tools/misc/xen-access.c
+++ b/tools/misc/xen-access.c
@@ -56,11 +56,11 @@
 #define ERROR(a, b...) fprintf(stderr, a "\n", ## b)
 #define PERROR(a, b...) fprintf(stderr, a ": %s\n", ## b, strerror(errno))
 
-/* From xen/include/asm-x86/processor.h */
+/* From xen/arch/x86/include/asm/processor.h */
 #define X86_TRAP_DEBUG  1
 #define X86_TRAP_INT3   3
 
-/* From xen/include/asm-x86/x86-defns.h */
+/* From xen/arch/x86/include/asm/x86-defns.h */
 #define X86_CR4_PGE        0x00000080 /* enable global pages */
 
 typedef struct vm_event {
diff --git a/tools/tests/vhpet/Makefile b/tools/tests/vhpet/Makefile
index cb88dd01c5f8..2d56ffdfd9c5 100644
--- a/tools/tests/vhpet/Makefile
+++ b/tools/tests/vhpet/Makefile
@@ -32,7 +32,7 @@ distclean: clean
 .PHONY: install
 install:
 
-hpet.h: $(XEN_ROOT)/xen/include/asm-x86/hpet.h
+hpet.h: $(XEN_ROOT)/xen/arch/x86/include/asm/hpet.h
 	cp $< $@
 
 hpet.c: $(XEN_ROOT)/xen/arch/x86/hvm/hpet.c
diff --git a/xen/Makefile b/xen/Makefile
index 2c56546cd1dc..da1b8ddb97ff 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -164,7 +164,7 @@ ifeq ($(TARGET_ARCH),x86)
 t1 = $(call as-insn,$(CC),".L0: .L1: .skip (.L1 - .L0)",,-no-integrated-as)
 
 # Check whether clang asm()-s support .include.
-t2 = $(call as-insn,$(CC) -I$(BASEDIR)/include,".include \"asm-x86/asm-defns.h\"",,-no-integrated-as)
+t2 = $(call as-insn,$(CC) -I$(BASEDIR)/arch/x86/include,".include \"asm/asm-defns.h\"",,-no-integrated-as)
 
 # Check whether clang keeps .macro-s between asm()-s:
 # https://bugs.llvm.org/show_bug.cgi?id=36110
@@ -367,7 +367,7 @@ _clean: delete-unfresh-files
 	find . \( -name "*.o" -o -name ".*.d" -o -name ".*.d2" \
 		-o -name "*.gcno" -o -name ".*.cmd" -o -name "lib.a" \) -exec rm -f {} \;
 	rm -f include/asm $(TARGET) $(TARGET).gz $(TARGET).efi $(TARGET).efi.map $(TARGET)-syms $(TARGET)-syms.map *~ core
-	rm -f asm-offsets.s include/asm-*/asm-offsets.h
+	rm -f asm-offsets.s arch/*/include/asm/asm-offsets.h
 	rm -f .banner
 
 .PHONY: _distclean
@@ -381,7 +381,6 @@ $(TARGET).gz: $(TARGET)
 $(TARGET): delete-unfresh-files
 	$(MAKE) -C tools
 	$(MAKE) -f $(BASEDIR)/Rules.mk include/xen/compile.h
-	[ -e include/asm ] || ln -sf asm-$(TARGET_ARCH) include/asm
 	[ -e arch/$(TARGET_ARCH)/efi ] && for f in $$(cd common/efi; echo *.[ch]); \
 		do test -r arch/$(TARGET_ARCH)/efi/$$f || \
 		   ln -nsf ../../../common/efi/$$f arch/$(TARGET_ARCH)/efi/; \
@@ -389,7 +388,7 @@ $(TARGET): delete-unfresh-files
 		true
 	$(MAKE) -f $(BASEDIR)/Rules.mk -C include
 	$(MAKE) -f $(BASEDIR)/Rules.mk -C arch/$(TARGET_ARCH) include
-	$(MAKE) -f $(BASEDIR)/Rules.mk include/asm-$(TARGET_ARCH)/asm-offsets.h
+	$(MAKE) -f $(BASEDIR)/Rules.mk arch/$(TARGET_ARCH)/include/asm/asm-offsets.h
 	$(MAKE) -f $(BASEDIR)/Rules.mk -C arch/$(TARGET_ARCH) $@
 
 # drivers/char/console.o contains static banner/compile info. Blow it away.
@@ -435,7 +434,7 @@ asm-offsets.s: arch/$(TARGET_ARCH)/$(TARGET_SUBARCH)/asm-offsets.c
 	$(CC) $(call cpp_flags,$(c_flags)) -S -g0 -o $@.new -MQ $@ $<
 	$(call move-if-changed,$@.new,$@)
 
-include/asm-$(TARGET_ARCH)/asm-offsets.h: asm-offsets.s
+arch/$(TARGET_ARCH)/include/asm/asm-offsets.h: asm-offsets.s
 	@(set -e; \
 	  echo "/*"; \
 	  echo " * DO NOT MODIFY."; \
@@ -453,8 +452,8 @@ include/asm-$(TARGET_ARCH)/asm-offsets.h: asm-offsets.s
 
 SUBDIRS = xsm arch/$(TARGET_ARCH) common drivers lib test
 define all_sources
-    ( find include/asm-$(TARGET_ARCH) -name '*.h' -print; \
-      find include -name 'asm-*' -prune -o -name '*.h' -print; \
+    ( find arch/$(TARGET_ARCH)/include -name '*.h' -print; \
+      find include -name '*.h' -print; \
       find $(SUBDIRS) -name '*.[chS]' -print )
 endef
 
diff --git a/xen/arch/arm/README.LinuxPrimitives b/xen/arch/arm/README.LinuxPrimitives
index 664a9f89ed27..1d53e6a898da 100644
--- a/xen/arch/arm/README.LinuxPrimitives
+++ b/xen/arch/arm/README.LinuxPrimitives
@@ -8,19 +8,19 @@ arm64:
 
 bitops: last sync @ v3.16-rc6 (last commit: 8715466b6027)
 
-linux/arch/arm64/include/asm/bitops.h   xen/include/asm-arm/arm64/bitops.h
+linux/arch/arm64/include/asm/bitops.h   xen/arch/arm/include/asm/arm64/bitops.h
 
 ---------------------------------------------------------------------
 
 cmpxchg: last sync @ v3.16-rc6 (last commit: e1dfda9ced9b)
 
-linux/arch/arm64/include/asm/cmpxchg.h  xen/include/asm-arm/arm64/cmpxchg.h
+linux/arch/arm64/include/asm/cmpxchg.h  xen/arch/arm/include/asm/arm64/cmpxchg.h
 
 ---------------------------------------------------------------------
 
 atomics: last sync @ v3.16-rc6 (last commit: 8715466b6027)
 
-linux/arch/arm64/include/asm/atomic.h   xen/include/asm-arm/arm64/atomic.h
+linux/arch/arm64/include/asm/atomic.h   xen/arch/arm/include/asm/arm64/atomic.h
 
 The following functions were taken from Linux:
     atomic_add(), atomic_add_return(), atomic_sub(), atomic_sub_return(),
@@ -76,13 +76,13 @@ diff -u ../linux/arch/arm/lib/findbit.S xen/arch/arm/arm32/lib/findbit.S
 
 cmpxchg: last sync @ v3.16-rc6 (last commit: c32ffce0f66e)
 
-linux/arch/arm/include/asm/cmpxchg.h    xen/include/asm-arm/arm32/cmpxchg.h
+linux/arch/arm/include/asm/cmpxchg.h    xen/arch/arm/include/asm/arm32/cmpxchg.h
 
 ---------------------------------------------------------------------
 
 atomics: last sync @ v3.16-rc6 (last commit: 030d0178bdbd)
 
-linux/arch/arm/include/asm/atomic.h     xen/include/asm-arm/arm32/atomic.h
+linux/arch/arm/include/asm/atomic.h     xen/arch/arm/include/asm/arm32/atomic.h
 
 The following functions were taken from Linux:
     atomic_add(), atomic_add_return(), atomic_sub(), atomic_sub_return(),
diff --git a/xen/arch/arm/arch.mk b/xen/arch/arm/arch.mk
index 6a2982059486..c3ac443b3788 100644
--- a/xen/arch/arm/arch.mk
+++ b/xen/arch/arm/arch.mk
@@ -2,6 +2,7 @@
 # arm-specific definitions
 
 CFLAGS += -I$(BASEDIR)/include
+CFLAGS += -I$(BASEDIR)/arch/$(TARGET_ARCH)/include
 
 $(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS))
 $(call cc-option-add,CFLAGS,CC,-Wnested-externs)
diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index 7178865f48c3..b5912d381b98 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -599,7 +599,7 @@ remove_identity_mapping:
         strd  r2, r3, [r0, r1]
 
 identity_mapping_removed:
-        /* See asm-arm/arm32/flushtlb.h for the explanation of the sequence. */
+        /* See asm/arm32/flushtlb.h for the explanation of the sequence. */
         dsb   nshst
         mcr   CP32(r0, TLBIALLH)
         dsb   nsh
diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
index aa1f88c76498..51b00ab0bea6 100644
--- a/xen/arch/arm/arm64/head.S
+++ b/xen/arch/arm/arm64/head.S
@@ -737,7 +737,7 @@ remove_identity_mapping:
         str   xzr, [x0, x1, lsl #3]
 
 identity_mapping_removed:
-        /* See asm-arm/arm64/flushtlb.h for the explanation of the sequence. */
+        /* See asm/arm64/flushtlb.h for the explanation of the sequence. */
         dsb   nshst
         tlbi  alle2
         dsb   nsh
diff --git a/xen/include/asm-arm/acpi.h b/xen/arch/arm/include/asm/acpi.h
similarity index 100%
rename from xen/include/asm-arm/acpi.h
rename to xen/arch/arm/include/asm/acpi.h
diff --git a/xen/include/asm-arm/alternative.h b/xen/arch/arm/include/asm/alternative.h
similarity index 100%
rename from xen/include/asm-arm/alternative.h
rename to xen/arch/arm/include/asm/alternative.h
diff --git a/xen/include/asm-arm/altp2m.h b/xen/arch/arm/include/asm/altp2m.h
similarity index 100%
rename from xen/include/asm-arm/altp2m.h
rename to xen/arch/arm/include/asm/altp2m.h
diff --git a/xen/include/asm-arm/arm32/atomic.h b/xen/arch/arm/include/asm/arm32/atomic.h
similarity index 100%
rename from xen/include/asm-arm/arm32/atomic.h
rename to xen/arch/arm/include/asm/arm32/atomic.h
diff --git a/xen/include/asm-arm/arm32/bitops.h b/xen/arch/arm/include/asm/arm32/bitops.h
similarity index 100%
rename from xen/include/asm-arm/arm32/bitops.h
rename to xen/arch/arm/include/asm/arm32/bitops.h
diff --git a/xen/include/asm-arm/arm32/bug.h b/xen/arch/arm/include/asm/arm32/bug.h
similarity index 100%
rename from xen/include/asm-arm/arm32/bug.h
rename to xen/arch/arm/include/asm/arm32/bug.h
diff --git a/xen/include/asm-arm/arm32/cmpxchg.h b/xen/arch/arm/include/asm/arm32/cmpxchg.h
similarity index 100%
rename from xen/include/asm-arm/arm32/cmpxchg.h
rename to xen/arch/arm/include/asm/arm32/cmpxchg.h
diff --git a/xen/include/asm-arm/arm32/flushtlb.h b/xen/arch/arm/include/asm/arm32/flushtlb.h
similarity index 100%
rename from xen/include/asm-arm/arm32/flushtlb.h
rename to xen/arch/arm/include/asm/arm32/flushtlb.h
diff --git a/xen/include/asm-arm/arm32/insn.h b/xen/arch/arm/include/asm/arm32/insn.h
similarity index 100%
rename from xen/include/asm-arm/arm32/insn.h
rename to xen/arch/arm/include/asm/arm32/insn.h
diff --git a/xen/include/asm-arm/arm32/io.h b/xen/arch/arm/include/asm/arm32/io.h
similarity index 100%
rename from xen/include/asm-arm/arm32/io.h
rename to xen/arch/arm/include/asm/arm32/io.h
diff --git a/xen/include/asm-arm/arm32/macros.h b/xen/arch/arm/include/asm/arm32/macros.h
similarity index 100%
rename from xen/include/asm-arm/arm32/macros.h
rename to xen/arch/arm/include/asm/arm32/macros.h
diff --git a/xen/include/asm-arm/arm32/mm.h b/xen/arch/arm/include/asm/arm32/mm.h
similarity index 100%
rename from xen/include/asm-arm/arm32/mm.h
rename to xen/arch/arm/include/asm/arm32/mm.h
diff --git a/xen/include/asm-arm/arm32/page.h b/xen/arch/arm/include/asm/arm32/page.h
similarity index 100%
rename from xen/include/asm-arm/arm32/page.h
rename to xen/arch/arm/include/asm/arm32/page.h
diff --git a/xen/include/asm-arm/arm32/processor.h b/xen/arch/arm/include/asm/arm32/processor.h
similarity index 100%
rename from xen/include/asm-arm/arm32/processor.h
rename to xen/arch/arm/include/asm/arm32/processor.h
diff --git a/xen/include/asm-arm/arm32/sysregs.h b/xen/arch/arm/include/asm/arm32/sysregs.h
similarity index 100%
rename from xen/include/asm-arm/arm32/sysregs.h
rename to xen/arch/arm/include/asm/arm32/sysregs.h
diff --git a/xen/include/asm-arm/arm32/system.h b/xen/arch/arm/include/asm/arm32/system.h
similarity index 100%
rename from xen/include/asm-arm/arm32/system.h
rename to xen/arch/arm/include/asm/arm32/system.h
diff --git a/xen/include/asm-arm/arm32/traps.h b/xen/arch/arm/include/asm/arm32/traps.h
similarity index 100%
rename from xen/include/asm-arm/arm32/traps.h
rename to xen/arch/arm/include/asm/arm32/traps.h
diff --git a/xen/include/asm-arm/arm32/vfp.h b/xen/arch/arm/include/asm/arm32/vfp.h
similarity index 100%
rename from xen/include/asm-arm/arm32/vfp.h
rename to xen/arch/arm/include/asm/arm32/vfp.h
diff --git a/xen/include/asm-arm/arm64/atomic.h b/xen/arch/arm/include/asm/arm64/atomic.h
similarity index 100%
rename from xen/include/asm-arm/arm64/atomic.h
rename to xen/arch/arm/include/asm/arm64/atomic.h
diff --git a/xen/include/asm-arm/arm64/bitops.h b/xen/arch/arm/include/asm/arm64/bitops.h
similarity index 100%
rename from xen/include/asm-arm/arm64/bitops.h
rename to xen/arch/arm/include/asm/arm64/bitops.h
diff --git a/xen/include/asm-arm/arm64/brk.h b/xen/arch/arm/include/asm/arm64/brk.h
similarity index 100%
rename from xen/include/asm-arm/arm64/brk.h
rename to xen/arch/arm/include/asm/arm64/brk.h
diff --git a/xen/include/asm-arm/arm64/bug.h b/xen/arch/arm/include/asm/arm64/bug.h
similarity index 100%
rename from xen/include/asm-arm/arm64/bug.h
rename to xen/arch/arm/include/asm/arm64/bug.h
diff --git a/xen/include/asm-arm/arm64/cmpxchg.h b/xen/arch/arm/include/asm/arm64/cmpxchg.h
similarity index 100%
rename from xen/include/asm-arm/arm64/cmpxchg.h
rename to xen/arch/arm/include/asm/arm64/cmpxchg.h
diff --git a/xen/include/asm-arm/arm64/efibind.h b/xen/arch/arm/include/asm/arm64/efibind.h
similarity index 100%
rename from xen/include/asm-arm/arm64/efibind.h
rename to xen/arch/arm/include/asm/arm64/efibind.h
diff --git a/xen/include/asm-arm/arm64/flushtlb.h b/xen/arch/arm/include/asm/arm64/flushtlb.h
similarity index 100%
rename from xen/include/asm-arm/arm64/flushtlb.h
rename to xen/arch/arm/include/asm/arm64/flushtlb.h
diff --git a/xen/include/asm-arm/arm64/hsr.h b/xen/arch/arm/include/asm/arm64/hsr.h
similarity index 100%
rename from xen/include/asm-arm/arm64/hsr.h
rename to xen/arch/arm/include/asm/arm64/hsr.h
diff --git a/xen/include/asm-arm/arm64/insn.h b/xen/arch/arm/include/asm/arm64/insn.h
similarity index 100%
rename from xen/include/asm-arm/arm64/insn.h
rename to xen/arch/arm/include/asm/arm64/insn.h
diff --git a/xen/include/asm-arm/arm64/io.h b/xen/arch/arm/include/asm/arm64/io.h
similarity index 100%
rename from xen/include/asm-arm/arm64/io.h
rename to xen/arch/arm/include/asm/arm64/io.h
diff --git a/xen/include/asm-arm/arm64/macros.h b/xen/arch/arm/include/asm/arm64/macros.h
similarity index 100%
rename from xen/include/asm-arm/arm64/macros.h
rename to xen/arch/arm/include/asm/arm64/macros.h
diff --git a/xen/include/asm-arm/arm64/mm.h b/xen/arch/arm/include/asm/arm64/mm.h
similarity index 100%
rename from xen/include/asm-arm/arm64/mm.h
rename to xen/arch/arm/include/asm/arm64/mm.h
diff --git a/xen/include/asm-arm/arm64/page.h b/xen/arch/arm/include/asm/arm64/page.h
similarity index 100%
rename from xen/include/asm-arm/arm64/page.h
rename to xen/arch/arm/include/asm/arm64/page.h
diff --git a/xen/include/asm-arm/arm64/processor.h b/xen/arch/arm/include/asm/arm64/processor.h
similarity index 100%
rename from xen/include/asm-arm/arm64/processor.h
rename to xen/arch/arm/include/asm/arm64/processor.h
diff --git a/xen/include/asm-arm/arm64/sysregs.h b/xen/arch/arm/include/asm/arm64/sysregs.h
similarity index 100%
rename from xen/include/asm-arm/arm64/sysregs.h
rename to xen/arch/arm/include/asm/arm64/sysregs.h
diff --git a/xen/include/asm-arm/arm64/system.h b/xen/arch/arm/include/asm/arm64/system.h
similarity index 100%
rename from xen/include/asm-arm/arm64/system.h
rename to xen/arch/arm/include/asm/arm64/system.h
diff --git a/xen/include/asm-arm/arm64/traps.h b/xen/arch/arm/include/asm/arm64/traps.h
similarity index 100%
rename from xen/include/asm-arm/arm64/traps.h
rename to xen/arch/arm/include/asm/arm64/traps.h
diff --git a/xen/include/asm-arm/arm64/vfp.h b/xen/arch/arm/include/asm/arm64/vfp.h
similarity index 100%
rename from xen/include/asm-arm/arm64/vfp.h
rename to xen/arch/arm/include/asm/arm64/vfp.h
diff --git a/xen/include/asm-arm/asm_defns.h b/xen/arch/arm/include/asm/asm_defns.h
similarity index 100%
rename from xen/include/asm-arm/asm_defns.h
rename to xen/arch/arm/include/asm/asm_defns.h
diff --git a/xen/include/asm-arm/atomic.h b/xen/arch/arm/include/asm/atomic.h
similarity index 100%
rename from xen/include/asm-arm/atomic.h
rename to xen/arch/arm/include/asm/atomic.h
diff --git a/xen/include/asm-arm/bitops.h b/xen/arch/arm/include/asm/bitops.h
similarity index 100%
rename from xen/include/asm-arm/bitops.h
rename to xen/arch/arm/include/asm/bitops.h
diff --git a/xen/include/asm-arm/bug.h b/xen/arch/arm/include/asm/bug.h
similarity index 100%
rename from xen/include/asm-arm/bug.h
rename to xen/arch/arm/include/asm/bug.h
diff --git a/xen/include/asm-arm/byteorder.h b/xen/arch/arm/include/asm/byteorder.h
similarity index 100%
rename from xen/include/asm-arm/byteorder.h
rename to xen/arch/arm/include/asm/byteorder.h
diff --git a/xen/include/asm-arm/cache.h b/xen/arch/arm/include/asm/cache.h
similarity index 100%
rename from xen/include/asm-arm/cache.h
rename to xen/arch/arm/include/asm/cache.h
diff --git a/xen/include/asm-arm/cadence-uart.h b/xen/arch/arm/include/asm/cadence-uart.h
similarity index 100%
rename from xen/include/asm-arm/cadence-uart.h
rename to xen/arch/arm/include/asm/cadence-uart.h
diff --git a/xen/include/asm-arm/config.h b/xen/arch/arm/include/asm/config.h
similarity index 100%
rename from xen/include/asm-arm/config.h
rename to xen/arch/arm/include/asm/config.h
diff --git a/xen/include/asm-arm/cpregs.h b/xen/arch/arm/include/asm/cpregs.h
similarity index 100%
rename from xen/include/asm-arm/cpregs.h
rename to xen/arch/arm/include/asm/cpregs.h
diff --git a/xen/include/asm-arm/cpuerrata.h b/xen/arch/arm/include/asm/cpuerrata.h
similarity index 100%
rename from xen/include/asm-arm/cpuerrata.h
rename to xen/arch/arm/include/asm/cpuerrata.h
diff --git a/xen/include/asm-arm/cpufeature.h b/xen/arch/arm/include/asm/cpufeature.h
similarity index 100%
rename from xen/include/asm-arm/cpufeature.h
rename to xen/arch/arm/include/asm/cpufeature.h
diff --git a/xen/include/asm-arm/current.h b/xen/arch/arm/include/asm/current.h
similarity index 100%
rename from xen/include/asm-arm/current.h
rename to xen/arch/arm/include/asm/current.h
diff --git a/xen/include/asm-arm/debugger.h b/xen/arch/arm/include/asm/debugger.h
similarity index 100%
rename from xen/include/asm-arm/debugger.h
rename to xen/arch/arm/include/asm/debugger.h
diff --git a/xen/include/asm-arm/delay.h b/xen/arch/arm/include/asm/delay.h
similarity index 100%
rename from xen/include/asm-arm/delay.h
rename to xen/arch/arm/include/asm/delay.h
diff --git a/xen/include/asm-arm/desc.h b/xen/arch/arm/include/asm/desc.h
similarity index 100%
rename from xen/include/asm-arm/desc.h
rename to xen/arch/arm/include/asm/desc.h
diff --git a/xen/include/asm-arm/device.h b/xen/arch/arm/include/asm/device.h
similarity index 100%
rename from xen/include/asm-arm/device.h
rename to xen/arch/arm/include/asm/device.h
diff --git a/xen/include/asm-arm/div64.h b/xen/arch/arm/include/asm/div64.h
similarity index 100%
rename from xen/include/asm-arm/div64.h
rename to xen/arch/arm/include/asm/div64.h
diff --git a/xen/include/asm-arm/domain.h b/xen/arch/arm/include/asm/domain.h
similarity index 100%
rename from xen/include/asm-arm/domain.h
rename to xen/arch/arm/include/asm/domain.h
diff --git a/xen/include/asm-arm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
similarity index 100%
rename from xen/include/asm-arm/domain_build.h
rename to xen/arch/arm/include/asm/domain_build.h
diff --git a/xen/include/asm-arm/early_printk.h b/xen/arch/arm/include/asm/early_printk.h
similarity index 100%
rename from xen/include/asm-arm/early_printk.h
rename to xen/arch/arm/include/asm/early_printk.h
diff --git a/xen/include/asm-arm/efibind.h b/xen/arch/arm/include/asm/efibind.h
similarity index 100%
rename from xen/include/asm-arm/efibind.h
rename to xen/arch/arm/include/asm/efibind.h
diff --git a/xen/include/asm-arm/elf.h b/xen/arch/arm/include/asm/elf.h
similarity index 100%
rename from xen/include/asm-arm/elf.h
rename to xen/arch/arm/include/asm/elf.h
diff --git a/xen/include/asm-arm/event.h b/xen/arch/arm/include/asm/event.h
similarity index 100%
rename from xen/include/asm-arm/event.h
rename to xen/arch/arm/include/asm/event.h
diff --git a/xen/include/asm-arm/exynos4210-uart.h b/xen/arch/arm/include/asm/exynos4210-uart.h
similarity index 100%
rename from xen/include/asm-arm/exynos4210-uart.h
rename to xen/arch/arm/include/asm/exynos4210-uart.h
diff --git a/xen/include/asm-arm/flushtlb.h b/xen/arch/arm/include/asm/flushtlb.h
similarity index 100%
rename from xen/include/asm-arm/flushtlb.h
rename to xen/arch/arm/include/asm/flushtlb.h
diff --git a/xen/include/asm-arm/gic.h b/xen/arch/arm/include/asm/gic.h
similarity index 100%
rename from xen/include/asm-arm/gic.h
rename to xen/arch/arm/include/asm/gic.h
diff --git a/xen/include/asm-arm/gic_v3_defs.h b/xen/arch/arm/include/asm/gic_v3_defs.h
similarity index 100%
rename from xen/include/asm-arm/gic_v3_defs.h
rename to xen/arch/arm/include/asm/gic_v3_defs.h
diff --git a/xen/include/asm-arm/gic_v3_its.h b/xen/arch/arm/include/asm/gic_v3_its.h
similarity index 100%
rename from xen/include/asm-arm/gic_v3_its.h
rename to xen/arch/arm/include/asm/gic_v3_its.h
diff --git a/xen/include/asm-arm/grant_table.h b/xen/arch/arm/include/asm/grant_table.h
similarity index 100%
rename from xen/include/asm-arm/grant_table.h
rename to xen/arch/arm/include/asm/grant_table.h
diff --git a/xen/include/asm-arm/guest_access.h b/xen/arch/arm/include/asm/guest_access.h
similarity index 100%
rename from xen/include/asm-arm/guest_access.h
rename to xen/arch/arm/include/asm/guest_access.h
diff --git a/xen/include/asm-arm/guest_atomics.h b/xen/arch/arm/include/asm/guest_atomics.h
similarity index 100%
rename from xen/include/asm-arm/guest_atomics.h
rename to xen/arch/arm/include/asm/guest_atomics.h
diff --git a/xen/include/asm-arm/guest_walk.h b/xen/arch/arm/include/asm/guest_walk.h
similarity index 100%
rename from xen/include/asm-arm/guest_walk.h
rename to xen/arch/arm/include/asm/guest_walk.h
diff --git a/xen/include/asm-arm/hardirq.h b/xen/arch/arm/include/asm/hardirq.h
similarity index 100%
rename from xen/include/asm-arm/hardirq.h
rename to xen/arch/arm/include/asm/hardirq.h
diff --git a/xen/include/asm-arm/hsr.h b/xen/arch/arm/include/asm/hsr.h
similarity index 100%
rename from xen/include/asm-arm/hsr.h
rename to xen/arch/arm/include/asm/hsr.h
diff --git a/xen/include/asm-arm/hypercall.h b/xen/arch/arm/include/asm/hypercall.h
similarity index 100%
rename from xen/include/asm-arm/hypercall.h
rename to xen/arch/arm/include/asm/hypercall.h
diff --git a/xen/include/asm-arm/init.h b/xen/arch/arm/include/asm/init.h
similarity index 100%
rename from xen/include/asm-arm/init.h
rename to xen/arch/arm/include/asm/init.h
diff --git a/xen/include/asm-arm/insn.h b/xen/arch/arm/include/asm/insn.h
similarity index 100%
rename from xen/include/asm-arm/insn.h
rename to xen/arch/arm/include/asm/insn.h
diff --git a/xen/include/asm-arm/io.h b/xen/arch/arm/include/asm/io.h
similarity index 100%
rename from xen/include/asm-arm/io.h
rename to xen/arch/arm/include/asm/io.h
diff --git a/xen/include/asm-arm/iocap.h b/xen/arch/arm/include/asm/iocap.h
similarity index 100%
rename from xen/include/asm-arm/iocap.h
rename to xen/arch/arm/include/asm/iocap.h
diff --git a/xen/include/asm-arm/iommu.h b/xen/arch/arm/include/asm/iommu.h
similarity index 100%
rename from xen/include/asm-arm/iommu.h
rename to xen/arch/arm/include/asm/iommu.h
diff --git a/xen/include/asm-arm/iommu_fwspec.h b/xen/arch/arm/include/asm/iommu_fwspec.h
similarity index 100%
rename from xen/include/asm-arm/iommu_fwspec.h
rename to xen/arch/arm/include/asm/iommu_fwspec.h
diff --git a/xen/include/asm-arm/ioreq.h b/xen/arch/arm/include/asm/ioreq.h
similarity index 100%
rename from xen/include/asm-arm/ioreq.h
rename to xen/arch/arm/include/asm/ioreq.h
diff --git a/xen/include/asm-arm/irq.h b/xen/arch/arm/include/asm/irq.h
similarity index 100%
rename from xen/include/asm-arm/irq.h
rename to xen/arch/arm/include/asm/irq.h
diff --git a/xen/include/asm-arm/kernel.h b/xen/arch/arm/include/asm/kernel.h
similarity index 100%
rename from xen/include/asm-arm/kernel.h
rename to xen/arch/arm/include/asm/kernel.h
diff --git a/xen/include/asm-arm/livepatch.h b/xen/arch/arm/include/asm/livepatch.h
similarity index 100%
rename from xen/include/asm-arm/livepatch.h
rename to xen/arch/arm/include/asm/livepatch.h
diff --git a/xen/include/asm-arm/lpae.h b/xen/arch/arm/include/asm/lpae.h
similarity index 100%
rename from xen/include/asm-arm/lpae.h
rename to xen/arch/arm/include/asm/lpae.h
diff --git a/xen/include/asm-arm/macros.h b/xen/arch/arm/include/asm/macros.h
similarity index 100%
rename from xen/include/asm-arm/macros.h
rename to xen/arch/arm/include/asm/macros.h
diff --git a/xen/include/asm-arm/mem_access.h b/xen/arch/arm/include/asm/mem_access.h
similarity index 100%
rename from xen/include/asm-arm/mem_access.h
rename to xen/arch/arm/include/asm/mem_access.h
diff --git a/xen/include/asm-arm/mm.h b/xen/arch/arm/include/asm/mm.h
similarity index 100%
rename from xen/include/asm-arm/mm.h
rename to xen/arch/arm/include/asm/mm.h
diff --git a/xen/include/asm-arm/mmio.h b/xen/arch/arm/include/asm/mmio.h
similarity index 100%
rename from xen/include/asm-arm/mmio.h
rename to xen/arch/arm/include/asm/mmio.h
diff --git a/xen/include/asm-arm/monitor.h b/xen/arch/arm/include/asm/monitor.h
similarity index 100%
rename from xen/include/asm-arm/monitor.h
rename to xen/arch/arm/include/asm/monitor.h
diff --git a/xen/include/asm-arm/new_vgic.h b/xen/arch/arm/include/asm/new_vgic.h
similarity index 100%
rename from xen/include/asm-arm/new_vgic.h
rename to xen/arch/arm/include/asm/new_vgic.h
diff --git a/xen/include/asm-arm/nospec.h b/xen/arch/arm/include/asm/nospec.h
similarity index 100%
rename from xen/include/asm-arm/nospec.h
rename to xen/arch/arm/include/asm/nospec.h
diff --git a/xen/include/asm-arm/numa.h b/xen/arch/arm/include/asm/numa.h
similarity index 100%
rename from xen/include/asm-arm/numa.h
rename to xen/arch/arm/include/asm/numa.h
diff --git a/xen/include/asm-arm/p2m.h b/xen/arch/arm/include/asm/p2m.h
similarity index 100%
rename from xen/include/asm-arm/p2m.h
rename to xen/arch/arm/include/asm/p2m.h
diff --git a/xen/include/asm-arm/page-bits.h b/xen/arch/arm/include/asm/page-bits.h
similarity index 100%
rename from xen/include/asm-arm/page-bits.h
rename to xen/arch/arm/include/asm/page-bits.h
diff --git a/xen/include/asm-arm/page.h b/xen/arch/arm/include/asm/page.h
similarity index 100%
rename from xen/include/asm-arm/page.h
rename to xen/arch/arm/include/asm/page.h
diff --git a/xen/include/asm-arm/paging.h b/xen/arch/arm/include/asm/paging.h
similarity index 100%
rename from xen/include/asm-arm/paging.h
rename to xen/arch/arm/include/asm/paging.h
diff --git a/xen/include/asm-arm/pci.h b/xen/arch/arm/include/asm/pci.h
similarity index 100%
rename from xen/include/asm-arm/pci.h
rename to xen/arch/arm/include/asm/pci.h
diff --git a/xen/include/asm-arm/percpu.h b/xen/arch/arm/include/asm/percpu.h
similarity index 100%
rename from xen/include/asm-arm/percpu.h
rename to xen/arch/arm/include/asm/percpu.h
diff --git a/xen/include/asm-arm/perfc.h b/xen/arch/arm/include/asm/perfc.h
similarity index 100%
rename from xen/include/asm-arm/perfc.h
rename to xen/arch/arm/include/asm/perfc.h
diff --git a/xen/include/asm-arm/perfc_defn.h b/xen/arch/arm/include/asm/perfc_defn.h
similarity index 100%
rename from xen/include/asm-arm/perfc_defn.h
rename to xen/arch/arm/include/asm/perfc_defn.h
diff --git a/xen/include/asm-arm/pl011-uart.h b/xen/arch/arm/include/asm/pl011-uart.h
similarity index 100%
rename from xen/include/asm-arm/pl011-uart.h
rename to xen/arch/arm/include/asm/pl011-uart.h
diff --git a/xen/include/asm-arm/platform.h b/xen/arch/arm/include/asm/platform.h
similarity index 100%
rename from xen/include/asm-arm/platform.h
rename to xen/arch/arm/include/asm/platform.h
diff --git a/xen/include/asm-arm/platforms/exynos5.h b/xen/arch/arm/include/asm/platforms/exynos5.h
similarity index 100%
rename from xen/include/asm-arm/platforms/exynos5.h
rename to xen/arch/arm/include/asm/platforms/exynos5.h
diff --git a/xen/include/asm-arm/platforms/midway.h b/xen/arch/arm/include/asm/platforms/midway.h
similarity index 100%
rename from xen/include/asm-arm/platforms/midway.h
rename to xen/arch/arm/include/asm/platforms/midway.h
diff --git a/xen/include/asm-arm/platforms/omap5.h b/xen/arch/arm/include/asm/platforms/omap5.h
similarity index 100%
rename from xen/include/asm-arm/platforms/omap5.h
rename to xen/arch/arm/include/asm/platforms/omap5.h
diff --git a/xen/include/asm-arm/platforms/vexpress.h b/xen/arch/arm/include/asm/platforms/vexpress.h
similarity index 100%
rename from xen/include/asm-arm/platforms/vexpress.h
rename to xen/arch/arm/include/asm/platforms/vexpress.h
diff --git a/xen/include/asm-arm/platforms/xilinx-zynqmp-eemi.h b/xen/arch/arm/include/asm/platforms/xilinx-zynqmp-eemi.h
similarity index 100%
rename from xen/include/asm-arm/platforms/xilinx-zynqmp-eemi.h
rename to xen/arch/arm/include/asm/platforms/xilinx-zynqmp-eemi.h
diff --git a/xen/include/asm-arm/processor.h b/xen/arch/arm/include/asm/processor.h
similarity index 100%
rename from xen/include/asm-arm/processor.h
rename to xen/arch/arm/include/asm/processor.h
diff --git a/xen/include/asm-arm/procinfo.h b/xen/arch/arm/include/asm/procinfo.h
similarity index 100%
rename from xen/include/asm-arm/procinfo.h
rename to xen/arch/arm/include/asm/procinfo.h
diff --git a/xen/include/asm-arm/psci.h b/xen/arch/arm/include/asm/psci.h
similarity index 100%
rename from xen/include/asm-arm/psci.h
rename to xen/arch/arm/include/asm/psci.h
diff --git a/xen/include/asm-arm/random.h b/xen/arch/arm/include/asm/random.h
similarity index 100%
rename from xen/include/asm-arm/random.h
rename to xen/arch/arm/include/asm/random.h
diff --git a/xen/include/asm-arm/regs.h b/xen/arch/arm/include/asm/regs.h
similarity index 100%
rename from xen/include/asm-arm/regs.h
rename to xen/arch/arm/include/asm/regs.h
diff --git a/xen/include/asm-arm/scif-uart.h b/xen/arch/arm/include/asm/scif-uart.h
similarity index 100%
rename from xen/include/asm-arm/scif-uart.h
rename to xen/arch/arm/include/asm/scif-uart.h
diff --git a/xen/include/asm-arm/setup.h b/xen/arch/arm/include/asm/setup.h
similarity index 100%
rename from xen/include/asm-arm/setup.h
rename to xen/arch/arm/include/asm/setup.h
diff --git a/xen/include/asm-arm/short-desc.h b/xen/arch/arm/include/asm/short-desc.h
similarity index 100%
rename from xen/include/asm-arm/short-desc.h
rename to xen/arch/arm/include/asm/short-desc.h
diff --git a/xen/include/asm-arm/smccc.h b/xen/arch/arm/include/asm/smccc.h
similarity index 100%
rename from xen/include/asm-arm/smccc.h
rename to xen/arch/arm/include/asm/smccc.h
diff --git a/xen/include/asm-arm/smp.h b/xen/arch/arm/include/asm/smp.h
similarity index 100%
rename from xen/include/asm-arm/smp.h
rename to xen/arch/arm/include/asm/smp.h
diff --git a/xen/include/asm-arm/softirq.h b/xen/arch/arm/include/asm/softirq.h
similarity index 100%
rename from xen/include/asm-arm/softirq.h
rename to xen/arch/arm/include/asm/softirq.h
diff --git a/xen/include/asm-arm/spinlock.h b/xen/arch/arm/include/asm/spinlock.h
similarity index 100%
rename from xen/include/asm-arm/spinlock.h
rename to xen/arch/arm/include/asm/spinlock.h
diff --git a/xen/include/asm-arm/string.h b/xen/arch/arm/include/asm/string.h
similarity index 100%
rename from xen/include/asm-arm/string.h
rename to xen/arch/arm/include/asm/string.h
diff --git a/xen/include/asm-arm/sysregs.h b/xen/arch/arm/include/asm/sysregs.h
similarity index 100%
rename from xen/include/asm-arm/sysregs.h
rename to xen/arch/arm/include/asm/sysregs.h
diff --git a/xen/include/asm-arm/system.h b/xen/arch/arm/include/asm/system.h
similarity index 100%
rename from xen/include/asm-arm/system.h
rename to xen/arch/arm/include/asm/system.h
diff --git a/xen/include/asm-arm/tee/optee_msg.h b/xen/arch/arm/include/asm/tee/optee_msg.h
similarity index 100%
rename from xen/include/asm-arm/tee/optee_msg.h
rename to xen/arch/arm/include/asm/tee/optee_msg.h
diff --git a/xen/include/asm-arm/tee/optee_rpc_cmd.h b/xen/arch/arm/include/asm/tee/optee_rpc_cmd.h
similarity index 100%
rename from xen/include/asm-arm/tee/optee_rpc_cmd.h
rename to xen/arch/arm/include/asm/tee/optee_rpc_cmd.h
diff --git a/xen/include/asm-arm/tee/optee_smc.h b/xen/arch/arm/include/asm/tee/optee_smc.h
similarity index 100%
rename from xen/include/asm-arm/tee/optee_smc.h
rename to xen/arch/arm/include/asm/tee/optee_smc.h
diff --git a/xen/include/asm-arm/tee/tee.h b/xen/arch/arm/include/asm/tee/tee.h
similarity index 100%
rename from xen/include/asm-arm/tee/tee.h
rename to xen/arch/arm/include/asm/tee/tee.h
diff --git a/xen/include/asm-arm/time.h b/xen/arch/arm/include/asm/time.h
similarity index 100%
rename from xen/include/asm-arm/time.h
rename to xen/arch/arm/include/asm/time.h
diff --git a/xen/include/asm-arm/trace.h b/xen/arch/arm/include/asm/trace.h
similarity index 100%
rename from xen/include/asm-arm/trace.h
rename to xen/arch/arm/include/asm/trace.h
diff --git a/xen/include/asm-arm/traps.h b/xen/arch/arm/include/asm/traps.h
similarity index 100%
rename from xen/include/asm-arm/traps.h
rename to xen/arch/arm/include/asm/traps.h
diff --git a/xen/include/asm-arm/types.h b/xen/arch/arm/include/asm/types.h
similarity index 100%
rename from xen/include/asm-arm/types.h
rename to xen/arch/arm/include/asm/types.h
diff --git a/xen/include/asm-arm/vfp.h b/xen/arch/arm/include/asm/vfp.h
similarity index 100%
rename from xen/include/asm-arm/vfp.h
rename to xen/arch/arm/include/asm/vfp.h
diff --git a/xen/include/asm-arm/vgic-emul.h b/xen/arch/arm/include/asm/vgic-emul.h
similarity index 100%
rename from xen/include/asm-arm/vgic-emul.h
rename to xen/arch/arm/include/asm/vgic-emul.h
diff --git a/xen/include/asm-arm/vgic.h b/xen/arch/arm/include/asm/vgic.h
similarity index 100%
rename from xen/include/asm-arm/vgic.h
rename to xen/arch/arm/include/asm/vgic.h
diff --git a/xen/include/asm-arm/vm_event.h b/xen/arch/arm/include/asm/vm_event.h
similarity index 100%
rename from xen/include/asm-arm/vm_event.h
rename to xen/arch/arm/include/asm/vm_event.h
diff --git a/xen/include/asm-arm/vpl011.h b/xen/arch/arm/include/asm/vpl011.h
similarity index 100%
rename from xen/include/asm-arm/vpl011.h
rename to xen/arch/arm/include/asm/vpl011.h
diff --git a/xen/include/asm-arm/vpsci.h b/xen/arch/arm/include/asm/vpsci.h
similarity index 100%
rename from xen/include/asm-arm/vpsci.h
rename to xen/arch/arm/include/asm/vpsci.h
diff --git a/xen/include/asm-arm/vreg.h b/xen/arch/arm/include/asm/vreg.h
similarity index 100%
rename from xen/include/asm-arm/vreg.h
rename to xen/arch/arm/include/asm/vreg.h
diff --git a/xen/include/asm-arm/vtimer.h b/xen/arch/arm/include/asm/vtimer.h
similarity index 100%
rename from xen/include/asm-arm/vtimer.h
rename to xen/arch/arm/include/asm/vtimer.h
diff --git a/xen/include/asm-arm/xenoprof.h b/xen/arch/arm/include/asm/xenoprof.h
similarity index 100%
rename from xen/include/asm-arm/xenoprof.h
rename to xen/arch/arm/include/asm/xenoprof.h
diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index a1ee3146efeb..ed7b4bd26eea 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -46,7 +46,7 @@ struct cpuinfo_arm cpu_data[NR_CPUS];
 /* CPU logical map: map xen cpuid to an MPIDR */
 register_t __cpu_logical_map[NR_CPUS] = { [0 ... NR_CPUS-1] = MPIDR_INVALID };
 
-/* Fake one node for now. See also include/asm-arm/numa.h */
+/* Fake one node for now. See also asm/numa.h */
 nodemask_t __read_mostly node_online_map = { { [0] = 1UL } };
 
 /* Xen stack for bringing up the first CPU. */
diff --git a/xen/arch/arm/vpsci.c b/xen/arch/arm/vpsci.c
index c1e250be5967..744d43ec2798 100644
--- a/xen/arch/arm/vpsci.c
+++ b/xen/arch/arm/vpsci.c
@@ -278,7 +278,7 @@ bool do_vpsci_0_1_call(struct cpu_user_regs *regs, uint32_t fid)
 bool do_vpsci_0_2_call(struct cpu_user_regs *regs, uint32_t fid)
 {
     /*
-     * /!\ VPSCI_NR_FUNCS (in asm-arm/vpsci.h) should be updated when
+     * /!\ VPSCI_NR_FUNCS (in asm/vpsci.h) should be updated when
      * adding/removing a function. SCCC_SMCCC_*_REVISION should be
      * updated once per release.
      */
diff --git a/xen/arch/riscv/arch.mk b/xen/arch/riscv/arch.mk
index 53dadb897591..39ae6ffea94d 100644
--- a/xen/arch/riscv/arch.mk
+++ b/xen/arch/riscv/arch.mk
@@ -12,3 +12,4 @@ riscv-march-$(CONFIG_RISCV_ISA_C)       := $(riscv-march-y)c
 
 CFLAGS += -march=$(riscv-march-y) -mstrict-align -mcmodel=medany
 CFLAGS += -I$(BASEDIR)/include
+CFLAGS += -I$(BASEDIR)/arch/$(TARGET_ARCH)/include
diff --git a/xen/include/asm-riscv/config.h b/xen/arch/riscv/include/asm/config.h
similarity index 100%
rename from xen/include/asm-riscv/config.h
rename to xen/arch/riscv/include/asm/config.h
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 929227f5a3ac..5e1d38d6cd5b 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -274,11 +274,11 @@ efi/buildid.o efi/relocs-dummy.o: $(BASEDIR)/arch/x86/efi/built_in.o
 efi/buildid.o efi/relocs-dummy.o: ;
 
 .PHONY: include
-include: $(BASEDIR)/include/asm-x86/asm-macros.h
+include: $(BASEDIR)/arch/x86/include/asm/asm-macros.h
 
 asm-macros.i: CFLAGS-y += -D__ASSEMBLY__ -P
 
-$(BASEDIR)/include/asm-x86/asm-macros.h: asm-macros.i Makefile
+$(BASEDIR)/arch/x86/include/asm/asm-macros.h: asm-macros.i Makefile
 	echo '#if 0' >$@.new
 	echo '.if 0' >>$@.new
 	echo '#endif' >>$@.new
@@ -305,7 +305,7 @@ efi/mkreloc: efi/mkreloc.c
 .PHONY: clean
 clean::
 	rm -f *.lds *.new boot/*.o boot/*~ boot/core boot/mkelf32
-	rm -f asm-macros.i $(BASEDIR)/include/asm-x86/asm-macros.*
+	rm -f asm-macros.i $(BASEDIR)/arch/x86/include/asm/asm-macros.*
 	rm -f $(BASEDIR)/.xen-syms.[0-9]* boot/.*.d $(BASEDIR)/.xen.elf32
 	rm -f $(BASEDIR)/.xen.efi.[0-9]* efi/*.efi efi/mkreloc
 	rm -f boot/cmdline.S boot/reloc.S boot/*.lnk boot/*.bin
diff --git a/xen/arch/x86/arch.mk b/xen/arch/x86/arch.mk
index ce0c1a0e7fb2..eea320e618b9 100644
--- a/xen/arch/x86/arch.mk
+++ b/xen/arch/x86/arch.mk
@@ -4,8 +4,9 @@
 export XEN_IMG_OFFSET := 0x200000
 
 CFLAGS += -I$(BASEDIR)/include
-CFLAGS += -I$(BASEDIR)/include/asm-x86/mach-generic
-CFLAGS += -I$(BASEDIR)/include/asm-x86/mach-default
+CFLAGS += -I$(BASEDIR)/arch/$(TARGET_ARCH)/include
+CFLAGS += -I$(BASEDIR)/arch/x86/include/asm/mach-generic
+CFLAGS += -I$(BASEDIR)/arch/x86/include/asm/mach-default
 CFLAGS += -DXEN_IMG_OFFSET=$(XEN_IMG_OFFSET)
 
 # Prevent floating-point variables from creeping into Xen.
diff --git a/xen/include/asm-x86/acpi.h b/xen/arch/x86/include/asm/acpi.h
similarity index 100%
rename from xen/include/asm-x86/acpi.h
rename to xen/arch/x86/include/asm/acpi.h
diff --git a/xen/include/asm-x86/alternative-asm.h b/xen/arch/x86/include/asm/alternative-asm.h
similarity index 100%
rename from xen/include/asm-x86/alternative-asm.h
rename to xen/arch/x86/include/asm/alternative-asm.h
diff --git a/xen/include/asm-x86/alternative.h b/xen/arch/x86/include/asm/alternative.h
similarity index 100%
rename from xen/include/asm-x86/alternative.h
rename to xen/arch/x86/include/asm/alternative.h
diff --git a/xen/include/asm-x86/altp2m.h b/xen/arch/x86/include/asm/altp2m.h
similarity index 100%
rename from xen/include/asm-x86/altp2m.h
rename to xen/arch/x86/include/asm/altp2m.h
diff --git a/xen/include/asm-x86/amd.h b/xen/arch/x86/include/asm/amd.h
similarity index 100%
rename from xen/include/asm-x86/amd.h
rename to xen/arch/x86/include/asm/amd.h
diff --git a/xen/include/asm-x86/apic.h b/xen/arch/x86/include/asm/apic.h
similarity index 100%
rename from xen/include/asm-x86/apic.h
rename to xen/arch/x86/include/asm/apic.h
diff --git a/xen/include/asm-x86/apicdef.h b/xen/arch/x86/include/asm/apicdef.h
similarity index 100%
rename from xen/include/asm-x86/apicdef.h
rename to xen/arch/x86/include/asm/apicdef.h
diff --git a/xen/include/asm-x86/asm-defns.h b/xen/arch/x86/include/asm/asm-defns.h
similarity index 100%
rename from xen/include/asm-x86/asm-defns.h
rename to xen/arch/x86/include/asm/asm-defns.h
diff --git a/xen/include/asm-x86/asm_defns.h b/xen/arch/x86/include/asm/asm_defns.h
similarity index 100%
rename from xen/include/asm-x86/asm_defns.h
rename to xen/arch/x86/include/asm/asm_defns.h
diff --git a/xen/include/asm-x86/atomic.h b/xen/arch/x86/include/asm/atomic.h
similarity index 100%
rename from xen/include/asm-x86/atomic.h
rename to xen/arch/x86/include/asm/atomic.h
diff --git a/xen/include/asm-x86/bitops.h b/xen/arch/x86/include/asm/bitops.h
similarity index 100%
rename from xen/include/asm-x86/bitops.h
rename to xen/arch/x86/include/asm/bitops.h
diff --git a/xen/include/asm-x86/bug.h b/xen/arch/x86/include/asm/bug.h
similarity index 100%
rename from xen/include/asm-x86/bug.h
rename to xen/arch/x86/include/asm/bug.h
diff --git a/xen/include/asm-x86/byteorder.h b/xen/arch/x86/include/asm/byteorder.h
similarity index 100%
rename from xen/include/asm-x86/byteorder.h
rename to xen/arch/x86/include/asm/byteorder.h
diff --git a/xen/include/asm-x86/bzimage.h b/xen/arch/x86/include/asm/bzimage.h
similarity index 100%
rename from xen/include/asm-x86/bzimage.h
rename to xen/arch/x86/include/asm/bzimage.h
diff --git a/xen/include/asm-x86/cache.h b/xen/arch/x86/include/asm/cache.h
similarity index 100%
rename from xen/include/asm-x86/cache.h
rename to xen/arch/x86/include/asm/cache.h
diff --git a/xen/include/asm-x86/compat.h b/xen/arch/x86/include/asm/compat.h
similarity index 100%
rename from xen/include/asm-x86/compat.h
rename to xen/arch/x86/include/asm/compat.h
diff --git a/xen/include/asm-x86/config.h b/xen/arch/x86/include/asm/config.h
similarity index 100%
rename from xen/include/asm-x86/config.h
rename to xen/arch/x86/include/asm/config.h
diff --git a/xen/include/asm-x86/cpufeature.h b/xen/arch/x86/include/asm/cpufeature.h
similarity index 100%
rename from xen/include/asm-x86/cpufeature.h
rename to xen/arch/x86/include/asm/cpufeature.h
diff --git a/xen/include/asm-x86/cpufeatures.h b/xen/arch/x86/include/asm/cpufeatures.h
similarity index 100%
rename from xen/include/asm-x86/cpufeatures.h
rename to xen/arch/x86/include/asm/cpufeatures.h
diff --git a/xen/include/asm-x86/cpufeatureset.h b/xen/arch/x86/include/asm/cpufeatureset.h
similarity index 100%
rename from xen/include/asm-x86/cpufeatureset.h
rename to xen/arch/x86/include/asm/cpufeatureset.h
diff --git a/xen/include/asm-x86/cpuid.h b/xen/arch/x86/include/asm/cpuid.h
similarity index 100%
rename from xen/include/asm-x86/cpuid.h
rename to xen/arch/x86/include/asm/cpuid.h
diff --git a/xen/include/asm-x86/cpuidle.h b/xen/arch/x86/include/asm/cpuidle.h
similarity index 100%
rename from xen/include/asm-x86/cpuidle.h
rename to xen/arch/x86/include/asm/cpuidle.h
diff --git a/xen/include/asm-x86/current.h b/xen/arch/x86/include/asm/current.h
similarity index 99%
rename from xen/include/asm-x86/current.h
rename to xen/arch/x86/include/asm/current.h
index a74ad4bc4c44..cfbedc31983f 100644
--- a/xen/include/asm-x86/current.h
+++ b/xen/arch/x86/include/asm/current.h
@@ -53,7 +53,7 @@ struct cpu_info {
     unsigned long xen_cr3;
     unsigned long pv_cr3;
 
-    /* See asm-x86/spec_ctrl_asm.h for usage. */
+    /* See asm/spec_ctrl_asm.h for usage. */
     unsigned int shadow_spec_ctrl;
     uint8_t      xen_spec_ctrl;
     uint8_t      spec_ctrl_flags;
diff --git a/xen/include/asm-x86/debugger.h b/xen/arch/x86/include/asm/debugger.h
similarity index 100%
rename from xen/include/asm-x86/debugger.h
rename to xen/arch/x86/include/asm/debugger.h
diff --git a/xen/include/asm-x86/debugreg.h b/xen/arch/x86/include/asm/debugreg.h
similarity index 100%
rename from xen/include/asm-x86/debugreg.h
rename to xen/arch/x86/include/asm/debugreg.h
diff --git a/xen/include/asm-x86/delay.h b/xen/arch/x86/include/asm/delay.h
similarity index 100%
rename from xen/include/asm-x86/delay.h
rename to xen/arch/x86/include/asm/delay.h
diff --git a/xen/include/asm-x86/desc.h b/xen/arch/x86/include/asm/desc.h
similarity index 100%
rename from xen/include/asm-x86/desc.h
rename to xen/arch/x86/include/asm/desc.h
diff --git a/xen/include/asm-x86/device.h b/xen/arch/x86/include/asm/device.h
similarity index 100%
rename from xen/include/asm-x86/device.h
rename to xen/arch/x86/include/asm/device.h
diff --git a/xen/include/asm-x86/div64.h b/xen/arch/x86/include/asm/div64.h
similarity index 100%
rename from xen/include/asm-x86/div64.h
rename to xen/arch/x86/include/asm/div64.h
diff --git a/xen/include/asm-x86/dom0_build.h b/xen/arch/x86/include/asm/dom0_build.h
similarity index 100%
rename from xen/include/asm-x86/dom0_build.h
rename to xen/arch/x86/include/asm/dom0_build.h
diff --git a/xen/include/asm-x86/domain.h b/xen/arch/x86/include/asm/domain.h
similarity index 99%
rename from xen/include/asm-x86/domain.h
rename to xen/arch/x86/include/asm/domain.h
index 92d54de0b9a1..e62e10959801 100644
--- a/xen/include/asm-x86/domain.h
+++ b/xen/arch/x86/include/asm/domain.h
@@ -384,7 +384,7 @@ struct arch_domain
     struct PITState vpit;
 
     /* TSC management (emulation, pv, scaling, stats) */
-    int tsc_mode;            /* see include/asm-x86/time.h */
+    int tsc_mode;            /* see asm/time.h */
     bool_t vtsc;             /* tsc is emulated (may change after migrate) */
     s_time_t vtsc_last;      /* previous TSC value (guarantee monotonicity) */
     uint64_t vtsc_offset;    /* adjustment for save/restore/migrate */
diff --git a/xen/include/asm-x86/e820.h b/xen/arch/x86/include/asm/e820.h
similarity index 100%
rename from xen/include/asm-x86/e820.h
rename to xen/arch/x86/include/asm/e820.h
diff --git a/xen/include/asm-x86/edd.h b/xen/arch/x86/include/asm/edd.h
similarity index 100%
rename from xen/include/asm-x86/edd.h
rename to xen/arch/x86/include/asm/edd.h
diff --git a/xen/include/asm-x86/efibind.h b/xen/arch/x86/include/asm/efibind.h
similarity index 100%
rename from xen/include/asm-x86/efibind.h
rename to xen/arch/x86/include/asm/efibind.h
diff --git a/xen/include/asm-x86/elf.h b/xen/arch/x86/include/asm/elf.h
similarity index 100%
rename from xen/include/asm-x86/elf.h
rename to xen/arch/x86/include/asm/elf.h
diff --git a/xen/include/asm-x86/event.h b/xen/arch/x86/include/asm/event.h
similarity index 100%
rename from xen/include/asm-x86/event.h
rename to xen/arch/x86/include/asm/event.h
diff --git a/xen/include/asm-x86/fixmap.h b/xen/arch/x86/include/asm/fixmap.h
similarity index 100%
rename from xen/include/asm-x86/fixmap.h
rename to xen/arch/x86/include/asm/fixmap.h
diff --git a/xen/include/asm-x86/flushtlb.h b/xen/arch/x86/include/asm/flushtlb.h
similarity index 100%
rename from xen/include/asm-x86/flushtlb.h
rename to xen/arch/x86/include/asm/flushtlb.h
diff --git a/xen/include/asm-x86/genapic.h b/xen/arch/x86/include/asm/genapic.h
similarity index 100%
rename from xen/include/asm-x86/genapic.h
rename to xen/arch/x86/include/asm/genapic.h
diff --git a/xen/include/asm-x86/grant_table.h b/xen/arch/x86/include/asm/grant_table.h
similarity index 100%
rename from xen/include/asm-x86/grant_table.h
rename to xen/arch/x86/include/asm/grant_table.h
diff --git a/xen/include/asm-x86/guest.h b/xen/arch/x86/include/asm/guest.h
similarity index 100%
rename from xen/include/asm-x86/guest.h
rename to xen/arch/x86/include/asm/guest.h
diff --git a/xen/include/asm-x86/guest/hyperv-hcall.h b/xen/arch/x86/include/asm/guest/hyperv-hcall.h
similarity index 100%
rename from xen/include/asm-x86/guest/hyperv-hcall.h
rename to xen/arch/x86/include/asm/guest/hyperv-hcall.h
diff --git a/xen/include/asm-x86/guest/hyperv-tlfs.h b/xen/arch/x86/include/asm/guest/hyperv-tlfs.h
similarity index 100%
rename from xen/include/asm-x86/guest/hyperv-tlfs.h
rename to xen/arch/x86/include/asm/guest/hyperv-tlfs.h
diff --git a/xen/include/asm-x86/guest/hyperv.h b/xen/arch/x86/include/asm/guest/hyperv.h
similarity index 100%
rename from xen/include/asm-x86/guest/hyperv.h
rename to xen/arch/x86/include/asm/guest/hyperv.h
diff --git a/xen/include/asm-x86/guest/hypervisor.h b/xen/arch/x86/include/asm/guest/hypervisor.h
similarity index 100%
rename from xen/include/asm-x86/guest/hypervisor.h
rename to xen/arch/x86/include/asm/guest/hypervisor.h
diff --git a/xen/include/asm-x86/guest/pvh-boot.h b/xen/arch/x86/include/asm/guest/pvh-boot.h
similarity index 100%
rename from xen/include/asm-x86/guest/pvh-boot.h
rename to xen/arch/x86/include/asm/guest/pvh-boot.h
diff --git a/xen/include/asm-x86/guest/xen-hcall.h b/xen/arch/x86/include/asm/guest/xen-hcall.h
similarity index 100%
rename from xen/include/asm-x86/guest/xen-hcall.h
rename to xen/arch/x86/include/asm/guest/xen-hcall.h
diff --git a/xen/include/asm-x86/guest/xen.h b/xen/arch/x86/include/asm/guest/xen.h
similarity index 100%
rename from xen/include/asm-x86/guest/xen.h
rename to xen/arch/x86/include/asm/guest/xen.h
diff --git a/xen/include/asm-x86/guest_access.h b/xen/arch/x86/include/asm/guest_access.h
similarity index 100%
rename from xen/include/asm-x86/guest_access.h
rename to xen/arch/x86/include/asm/guest_access.h
diff --git a/xen/include/asm-x86/guest_atomics.h b/xen/arch/x86/include/asm/guest_atomics.h
similarity index 100%
rename from xen/include/asm-x86/guest_atomics.h
rename to xen/arch/x86/include/asm/guest_atomics.h
diff --git a/xen/include/asm-x86/guest_pt.h b/xen/arch/x86/include/asm/guest_pt.h
similarity index 100%
rename from xen/include/asm-x86/guest_pt.h
rename to xen/arch/x86/include/asm/guest_pt.h
diff --git a/xen/include/asm-x86/hap.h b/xen/arch/x86/include/asm/hap.h
similarity index 100%
rename from xen/include/asm-x86/hap.h
rename to xen/arch/x86/include/asm/hap.h
diff --git a/xen/include/asm-x86/hardirq.h b/xen/arch/x86/include/asm/hardirq.h
similarity index 100%
rename from xen/include/asm-x86/hardirq.h
rename to xen/arch/x86/include/asm/hardirq.h
diff --git a/xen/include/asm-x86/hpet.h b/xen/arch/x86/include/asm/hpet.h
similarity index 100%
rename from xen/include/asm-x86/hpet.h
rename to xen/arch/x86/include/asm/hpet.h
diff --git a/xen/include/asm-x86/hvm/asid.h b/xen/arch/x86/include/asm/hvm/asid.h
similarity index 100%
rename from xen/include/asm-x86/hvm/asid.h
rename to xen/arch/x86/include/asm/hvm/asid.h
diff --git a/xen/include/asm-x86/hvm/cacheattr.h b/xen/arch/x86/include/asm/hvm/cacheattr.h
similarity index 100%
rename from xen/include/asm-x86/hvm/cacheattr.h
rename to xen/arch/x86/include/asm/hvm/cacheattr.h
diff --git a/xen/include/asm-x86/hvm/domain.h b/xen/arch/x86/include/asm/hvm/domain.h
similarity index 100%
rename from xen/include/asm-x86/hvm/domain.h
rename to xen/arch/x86/include/asm/hvm/domain.h
diff --git a/xen/include/asm-x86/hvm/emulate.h b/xen/arch/x86/include/asm/hvm/emulate.h
similarity index 100%
rename from xen/include/asm-x86/hvm/emulate.h
rename to xen/arch/x86/include/asm/hvm/emulate.h
diff --git a/xen/include/asm-x86/hvm/grant_table.h b/xen/arch/x86/include/asm/hvm/grant_table.h
similarity index 100%
rename from xen/include/asm-x86/hvm/grant_table.h
rename to xen/arch/x86/include/asm/hvm/grant_table.h
diff --git a/xen/include/asm-x86/hvm/guest_access.h b/xen/arch/x86/include/asm/hvm/guest_access.h
similarity index 100%
rename from xen/include/asm-x86/hvm/guest_access.h
rename to xen/arch/x86/include/asm/hvm/guest_access.h
diff --git a/xen/include/asm-x86/hvm/hvm.h b/xen/arch/x86/include/asm/hvm/hvm.h
similarity index 100%
rename from xen/include/asm-x86/hvm/hvm.h
rename to xen/arch/x86/include/asm/hvm/hvm.h
diff --git a/xen/include/asm-x86/hvm/io.h b/xen/arch/x86/include/asm/hvm/io.h
similarity index 100%
rename from xen/include/asm-x86/hvm/io.h
rename to xen/arch/x86/include/asm/hvm/io.h
diff --git a/xen/include/asm-x86/hvm/ioreq.h b/xen/arch/x86/include/asm/hvm/ioreq.h
similarity index 100%
rename from xen/include/asm-x86/hvm/ioreq.h
rename to xen/arch/x86/include/asm/hvm/ioreq.h
diff --git a/xen/include/asm-x86/hvm/irq.h b/xen/arch/x86/include/asm/hvm/irq.h
similarity index 100%
rename from xen/include/asm-x86/hvm/irq.h
rename to xen/arch/x86/include/asm/hvm/irq.h
diff --git a/xen/include/asm-x86/hvm/monitor.h b/xen/arch/x86/include/asm/hvm/monitor.h
similarity index 100%
rename from xen/include/asm-x86/hvm/monitor.h
rename to xen/arch/x86/include/asm/hvm/monitor.h
diff --git a/xen/include/asm-x86/hvm/nestedhvm.h b/xen/arch/x86/include/asm/hvm/nestedhvm.h
similarity index 100%
rename from xen/include/asm-x86/hvm/nestedhvm.h
rename to xen/arch/x86/include/asm/hvm/nestedhvm.h
diff --git a/xen/include/asm-x86/hvm/save.h b/xen/arch/x86/include/asm/hvm/save.h
similarity index 100%
rename from xen/include/asm-x86/hvm/save.h
rename to xen/arch/x86/include/asm/hvm/save.h
diff --git a/xen/include/asm-x86/hvm/support.h b/xen/arch/x86/include/asm/hvm/support.h
similarity index 100%
rename from xen/include/asm-x86/hvm/support.h
rename to xen/arch/x86/include/asm/hvm/support.h
diff --git a/xen/include/asm-x86/hvm/svm/asid.h b/xen/arch/x86/include/asm/hvm/svm/asid.h
similarity index 100%
rename from xen/include/asm-x86/hvm/svm/asid.h
rename to xen/arch/x86/include/asm/hvm/svm/asid.h
diff --git a/xen/include/asm-x86/hvm/svm/emulate.h b/xen/arch/x86/include/asm/hvm/svm/emulate.h
similarity index 100%
rename from xen/include/asm-x86/hvm/svm/emulate.h
rename to xen/arch/x86/include/asm/hvm/svm/emulate.h
diff --git a/xen/include/asm-x86/hvm/svm/intr.h b/xen/arch/x86/include/asm/hvm/svm/intr.h
similarity index 100%
rename from xen/include/asm-x86/hvm/svm/intr.h
rename to xen/arch/x86/include/asm/hvm/svm/intr.h
diff --git a/xen/include/asm-x86/hvm/svm/nestedsvm.h b/xen/arch/x86/include/asm/hvm/svm/nestedsvm.h
similarity index 100%
rename from xen/include/asm-x86/hvm/svm/nestedsvm.h
rename to xen/arch/x86/include/asm/hvm/svm/nestedsvm.h
diff --git a/xen/include/asm-x86/hvm/svm/svm.h b/xen/arch/x86/include/asm/hvm/svm/svm.h
similarity index 100%
rename from xen/include/asm-x86/hvm/svm/svm.h
rename to xen/arch/x86/include/asm/hvm/svm/svm.h
diff --git a/xen/include/asm-x86/hvm/svm/svmdebug.h b/xen/arch/x86/include/asm/hvm/svm/svmdebug.h
similarity index 100%
rename from xen/include/asm-x86/hvm/svm/svmdebug.h
rename to xen/arch/x86/include/asm/hvm/svm/svmdebug.h
diff --git a/xen/include/asm-x86/hvm/svm/vmcb.h b/xen/arch/x86/include/asm/hvm/svm/vmcb.h
similarity index 100%
rename from xen/include/asm-x86/hvm/svm/vmcb.h
rename to xen/arch/x86/include/asm/hvm/svm/vmcb.h
diff --git a/xen/include/asm-x86/hvm/trace.h b/xen/arch/x86/include/asm/hvm/trace.h
similarity index 100%
rename from xen/include/asm-x86/hvm/trace.h
rename to xen/arch/x86/include/asm/hvm/trace.h
diff --git a/xen/include/asm-x86/hvm/vcpu.h b/xen/arch/x86/include/asm/hvm/vcpu.h
similarity index 100%
rename from xen/include/asm-x86/hvm/vcpu.h
rename to xen/arch/x86/include/asm/hvm/vcpu.h
diff --git a/xen/include/asm-x86/hvm/vioapic.h b/xen/arch/x86/include/asm/hvm/vioapic.h
similarity index 100%
rename from xen/include/asm-x86/hvm/vioapic.h
rename to xen/arch/x86/include/asm/hvm/vioapic.h
diff --git a/xen/include/asm-x86/hvm/viridian.h b/xen/arch/x86/include/asm/hvm/viridian.h
similarity index 100%
rename from xen/include/asm-x86/hvm/viridian.h
rename to xen/arch/x86/include/asm/hvm/viridian.h
diff --git a/xen/include/asm-x86/hvm/vlapic.h b/xen/arch/x86/include/asm/hvm/vlapic.h
similarity index 100%
rename from xen/include/asm-x86/hvm/vlapic.h
rename to xen/arch/x86/include/asm/hvm/vlapic.h
diff --git a/xen/include/asm-x86/hvm/vm_event.h b/xen/arch/x86/include/asm/hvm/vm_event.h
similarity index 100%
rename from xen/include/asm-x86/hvm/vm_event.h
rename to xen/arch/x86/include/asm/hvm/vm_event.h
diff --git a/xen/include/asm-x86/hvm/vmx/vmcs.h b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
similarity index 100%
rename from xen/include/asm-x86/hvm/vmx/vmcs.h
rename to xen/arch/x86/include/asm/hvm/vmx/vmcs.h
diff --git a/xen/include/asm-x86/hvm/vmx/vmx.h b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
similarity index 100%
rename from xen/include/asm-x86/hvm/vmx/vmx.h
rename to xen/arch/x86/include/asm/hvm/vmx/vmx.h
diff --git a/xen/include/asm-x86/hvm/vmx/vvmx.h b/xen/arch/x86/include/asm/hvm/vmx/vvmx.h
similarity index 100%
rename from xen/include/asm-x86/hvm/vmx/vvmx.h
rename to xen/arch/x86/include/asm/hvm/vmx/vvmx.h
diff --git a/xen/include/asm-x86/hvm/vpic.h b/xen/arch/x86/include/asm/hvm/vpic.h
similarity index 100%
rename from xen/include/asm-x86/hvm/vpic.h
rename to xen/arch/x86/include/asm/hvm/vpic.h
diff --git a/xen/include/asm-x86/hvm/vpt.h b/xen/arch/x86/include/asm/hvm/vpt.h
similarity index 100%
rename from xen/include/asm-x86/hvm/vpt.h
rename to xen/arch/x86/include/asm/hvm/vpt.h
diff --git a/xen/include/asm-x86/hypercall.h b/xen/arch/x86/include/asm/hypercall.h
similarity index 100%
rename from xen/include/asm-x86/hypercall.h
rename to xen/arch/x86/include/asm/hypercall.h
diff --git a/xen/include/asm-x86/i387.h b/xen/arch/x86/include/asm/i387.h
similarity index 100%
rename from xen/include/asm-x86/i387.h
rename to xen/arch/x86/include/asm/i387.h
diff --git a/xen/include/asm-x86/init.h b/xen/arch/x86/include/asm/init.h
similarity index 100%
rename from xen/include/asm-x86/init.h
rename to xen/arch/x86/include/asm/init.h
diff --git a/xen/include/asm-x86/invpcid.h b/xen/arch/x86/include/asm/invpcid.h
similarity index 100%
rename from xen/include/asm-x86/invpcid.h
rename to xen/arch/x86/include/asm/invpcid.h
diff --git a/xen/include/asm-x86/io.h b/xen/arch/x86/include/asm/io.h
similarity index 100%
rename from xen/include/asm-x86/io.h
rename to xen/arch/x86/include/asm/io.h
diff --git a/xen/include/asm-x86/io_apic.h b/xen/arch/x86/include/asm/io_apic.h
similarity index 100%
rename from xen/include/asm-x86/io_apic.h
rename to xen/arch/x86/include/asm/io_apic.h
diff --git a/xen/include/asm-x86/iocap.h b/xen/arch/x86/include/asm/iocap.h
similarity index 100%
rename from xen/include/asm-x86/iocap.h
rename to xen/arch/x86/include/asm/iocap.h
diff --git a/xen/include/asm-x86/iommu.h b/xen/arch/x86/include/asm/iommu.h
similarity index 100%
rename from xen/include/asm-x86/iommu.h
rename to xen/arch/x86/include/asm/iommu.h
diff --git a/xen/include/asm-x86/ioreq.h b/xen/arch/x86/include/asm/ioreq.h
similarity index 100%
rename from xen/include/asm-x86/ioreq.h
rename to xen/arch/x86/include/asm/ioreq.h
diff --git a/xen/include/asm-x86/irq.h b/xen/arch/x86/include/asm/irq.h
similarity index 100%
rename from xen/include/asm-x86/irq.h
rename to xen/arch/x86/include/asm/irq.h
diff --git a/xen/include/asm-x86/ldt.h b/xen/arch/x86/include/asm/ldt.h
similarity index 100%
rename from xen/include/asm-x86/ldt.h
rename to xen/arch/x86/include/asm/ldt.h
diff --git a/xen/include/asm-x86/livepatch.h b/xen/arch/x86/include/asm/livepatch.h
similarity index 100%
rename from xen/include/asm-x86/livepatch.h
rename to xen/arch/x86/include/asm/livepatch.h
diff --git a/xen/include/asm-x86/mach-default/bios_ebda.h b/xen/arch/x86/include/asm/mach-default/bios_ebda.h
similarity index 100%
rename from xen/include/asm-x86/mach-default/bios_ebda.h
rename to xen/arch/x86/include/asm/mach-default/bios_ebda.h
diff --git a/xen/include/asm-x86/mach-default/io_ports.h b/xen/arch/x86/include/asm/mach-default/io_ports.h
similarity index 100%
rename from xen/include/asm-x86/mach-default/io_ports.h
rename to xen/arch/x86/include/asm/mach-default/io_ports.h
diff --git a/xen/include/asm-x86/mach-default/irq_vectors.h b/xen/arch/x86/include/asm/mach-default/irq_vectors.h
similarity index 100%
rename from xen/include/asm-x86/mach-default/irq_vectors.h
rename to xen/arch/x86/include/asm/mach-default/irq_vectors.h
diff --git a/xen/include/asm-x86/mach-default/mach_mpparse.h b/xen/arch/x86/include/asm/mach-default/mach_mpparse.h
similarity index 100%
rename from xen/include/asm-x86/mach-default/mach_mpparse.h
rename to xen/arch/x86/include/asm/mach-default/mach_mpparse.h
diff --git a/xen/include/asm-x86/mach-default/mach_mpspec.h b/xen/arch/x86/include/asm/mach-default/mach_mpspec.h
similarity index 100%
rename from xen/include/asm-x86/mach-default/mach_mpspec.h
rename to xen/arch/x86/include/asm/mach-default/mach_mpspec.h
diff --git a/xen/include/asm-x86/mach-generic/mach_apic.h b/xen/arch/x86/include/asm/mach-generic/mach_apic.h
similarity index 100%
rename from xen/include/asm-x86/mach-generic/mach_apic.h
rename to xen/arch/x86/include/asm/mach-generic/mach_apic.h
diff --git a/xen/include/asm-x86/mach-generic/mach_mpparse.h b/xen/arch/x86/include/asm/mach-generic/mach_mpparse.h
similarity index 100%
rename from xen/include/asm-x86/mach-generic/mach_mpparse.h
rename to xen/arch/x86/include/asm/mach-generic/mach_mpparse.h
diff --git a/xen/include/asm-x86/machine_kexec.h b/xen/arch/x86/include/asm/machine_kexec.h
similarity index 100%
rename from xen/include/asm-x86/machine_kexec.h
rename to xen/arch/x86/include/asm/machine_kexec.h
diff --git a/xen/include/asm-x86/mc146818rtc.h b/xen/arch/x86/include/asm/mc146818rtc.h
similarity index 100%
rename from xen/include/asm-x86/mc146818rtc.h
rename to xen/arch/x86/include/asm/mc146818rtc.h
diff --git a/xen/include/asm-x86/mce.h b/xen/arch/x86/include/asm/mce.h
similarity index 100%
rename from xen/include/asm-x86/mce.h
rename to xen/arch/x86/include/asm/mce.h
diff --git a/xen/include/asm-x86/mem_access.h b/xen/arch/x86/include/asm/mem_access.h
similarity index 100%
rename from xen/include/asm-x86/mem_access.h
rename to xen/arch/x86/include/asm/mem_access.h
diff --git a/xen/include/asm-x86/mem_paging.h b/xen/arch/x86/include/asm/mem_paging.h
similarity index 100%
rename from xen/include/asm-x86/mem_paging.h
rename to xen/arch/x86/include/asm/mem_paging.h
diff --git a/xen/include/asm-x86/mem_sharing.h b/xen/arch/x86/include/asm/mem_sharing.h
similarity index 100%
rename from xen/include/asm-x86/mem_sharing.h
rename to xen/arch/x86/include/asm/mem_sharing.h
diff --git a/xen/include/asm-x86/microcode.h b/xen/arch/x86/include/asm/microcode.h
similarity index 100%
rename from xen/include/asm-x86/microcode.h
rename to xen/arch/x86/include/asm/microcode.h
diff --git a/xen/include/asm-x86/mm.h b/xen/arch/x86/include/asm/mm.h
similarity index 100%
rename from xen/include/asm-x86/mm.h
rename to xen/arch/x86/include/asm/mm.h
diff --git a/xen/include/asm-x86/monitor.h b/xen/arch/x86/include/asm/monitor.h
similarity index 100%
rename from xen/include/asm-x86/monitor.h
rename to xen/arch/x86/include/asm/monitor.h
diff --git a/xen/include/asm-x86/mpspec.h b/xen/arch/x86/include/asm/mpspec.h
similarity index 100%
rename from xen/include/asm-x86/mpspec.h
rename to xen/arch/x86/include/asm/mpspec.h
diff --git a/xen/include/asm-x86/mpspec_def.h b/xen/arch/x86/include/asm/mpspec_def.h
similarity index 100%
rename from xen/include/asm-x86/mpspec_def.h
rename to xen/arch/x86/include/asm/mpspec_def.h
diff --git a/xen/include/asm-x86/msi.h b/xen/arch/x86/include/asm/msi.h
similarity index 100%
rename from xen/include/asm-x86/msi.h
rename to xen/arch/x86/include/asm/msi.h
diff --git a/xen/include/asm-x86/msr-index.h b/xen/arch/x86/include/asm/msr-index.h
similarity index 100%
rename from xen/include/asm-x86/msr-index.h
rename to xen/arch/x86/include/asm/msr-index.h
diff --git a/xen/include/asm-x86/msr.h b/xen/arch/x86/include/asm/msr.h
similarity index 100%
rename from xen/include/asm-x86/msr.h
rename to xen/arch/x86/include/asm/msr.h
diff --git a/xen/include/asm-x86/mtrr.h b/xen/arch/x86/include/asm/mtrr.h
similarity index 100%
rename from xen/include/asm-x86/mtrr.h
rename to xen/arch/x86/include/asm/mtrr.h
diff --git a/xen/include/asm-x86/multicall.h b/xen/arch/x86/include/asm/multicall.h
similarity index 100%
rename from xen/include/asm-x86/multicall.h
rename to xen/arch/x86/include/asm/multicall.h
diff --git a/xen/include/asm-x86/mwait.h b/xen/arch/x86/include/asm/mwait.h
similarity index 100%
rename from xen/include/asm-x86/mwait.h
rename to xen/arch/x86/include/asm/mwait.h
diff --git a/xen/include/asm-x86/nmi.h b/xen/arch/x86/include/asm/nmi.h
similarity index 100%
rename from xen/include/asm-x86/nmi.h
rename to xen/arch/x86/include/asm/nmi.h
diff --git a/xen/include/asm-x86/nops.h b/xen/arch/x86/include/asm/nops.h
similarity index 100%
rename from xen/include/asm-x86/nops.h
rename to xen/arch/x86/include/asm/nops.h
diff --git a/xen/include/asm-x86/nospec.h b/xen/arch/x86/include/asm/nospec.h
similarity index 100%
rename from xen/include/asm-x86/nospec.h
rename to xen/arch/x86/include/asm/nospec.h
diff --git a/xen/include/asm-x86/numa.h b/xen/arch/x86/include/asm/numa.h
similarity index 100%
rename from xen/include/asm-x86/numa.h
rename to xen/arch/x86/include/asm/numa.h
diff --git a/xen/include/asm-x86/p2m.h b/xen/arch/x86/include/asm/p2m.h
similarity index 100%
rename from xen/include/asm-x86/p2m.h
rename to xen/arch/x86/include/asm/p2m.h
diff --git a/xen/include/asm-x86/page-bits.h b/xen/arch/x86/include/asm/page-bits.h
similarity index 100%
rename from xen/include/asm-x86/page-bits.h
rename to xen/arch/x86/include/asm/page-bits.h
diff --git a/xen/include/asm-x86/page.h b/xen/arch/x86/include/asm/page.h
similarity index 100%
rename from xen/include/asm-x86/page.h
rename to xen/arch/x86/include/asm/page.h
diff --git a/xen/include/asm-x86/paging.h b/xen/arch/x86/include/asm/paging.h
similarity index 100%
rename from xen/include/asm-x86/paging.h
rename to xen/arch/x86/include/asm/paging.h
diff --git a/xen/include/asm-x86/pci.h b/xen/arch/x86/include/asm/pci.h
similarity index 100%
rename from xen/include/asm-x86/pci.h
rename to xen/arch/x86/include/asm/pci.h
diff --git a/xen/include/asm-x86/percpu.h b/xen/arch/x86/include/asm/percpu.h
similarity index 100%
rename from xen/include/asm-x86/percpu.h
rename to xen/arch/x86/include/asm/percpu.h
diff --git a/xen/include/asm-x86/perfc.h b/xen/arch/x86/include/asm/perfc.h
similarity index 100%
rename from xen/include/asm-x86/perfc.h
rename to xen/arch/x86/include/asm/perfc.h
diff --git a/xen/include/asm-x86/perfc_defn.h b/xen/arch/x86/include/asm/perfc_defn.h
similarity index 100%
rename from xen/include/asm-x86/perfc_defn.h
rename to xen/arch/x86/include/asm/perfc_defn.h
diff --git a/xen/include/asm-x86/processor.h b/xen/arch/x86/include/asm/processor.h
similarity index 100%
rename from xen/include/asm-x86/processor.h
rename to xen/arch/x86/include/asm/processor.h
diff --git a/xen/include/asm-x86/psr.h b/xen/arch/x86/include/asm/psr.h
similarity index 100%
rename from xen/include/asm-x86/psr.h
rename to xen/arch/x86/include/asm/psr.h
diff --git a/xen/include/asm-x86/pv/domain.h b/xen/arch/x86/include/asm/pv/domain.h
similarity index 100%
rename from xen/include/asm-x86/pv/domain.h
rename to xen/arch/x86/include/asm/pv/domain.h
diff --git a/xen/include/asm-x86/pv/grant_table.h b/xen/arch/x86/include/asm/pv/grant_table.h
similarity index 100%
rename from xen/include/asm-x86/pv/grant_table.h
rename to xen/arch/x86/include/asm/pv/grant_table.h
diff --git a/xen/include/asm-x86/pv/mm.h b/xen/arch/x86/include/asm/pv/mm.h
similarity index 100%
rename from xen/include/asm-x86/pv/mm.h
rename to xen/arch/x86/include/asm/pv/mm.h
diff --git a/xen/include/asm-x86/pv/shim.h b/xen/arch/x86/include/asm/pv/shim.h
similarity index 100%
rename from xen/include/asm-x86/pv/shim.h
rename to xen/arch/x86/include/asm/pv/shim.h
diff --git a/xen/include/asm-x86/pv/traps.h b/xen/arch/x86/include/asm/pv/traps.h
similarity index 100%
rename from xen/include/asm-x86/pv/traps.h
rename to xen/arch/x86/include/asm/pv/traps.h
diff --git a/xen/include/asm-x86/random.h b/xen/arch/x86/include/asm/random.h
similarity index 100%
rename from xen/include/asm-x86/random.h
rename to xen/arch/x86/include/asm/random.h
diff --git a/xen/include/asm-x86/regs.h b/xen/arch/x86/include/asm/regs.h
similarity index 100%
rename from xen/include/asm-x86/regs.h
rename to xen/arch/x86/include/asm/regs.h
diff --git a/xen/include/asm-x86/setup.h b/xen/arch/x86/include/asm/setup.h
similarity index 100%
rename from xen/include/asm-x86/setup.h
rename to xen/arch/x86/include/asm/setup.h
diff --git a/xen/include/asm-x86/shadow.h b/xen/arch/x86/include/asm/shadow.h
similarity index 100%
rename from xen/include/asm-x86/shadow.h
rename to xen/arch/x86/include/asm/shadow.h
diff --git a/xen/include/asm-x86/shared.h b/xen/arch/x86/include/asm/shared.h
similarity index 100%
rename from xen/include/asm-x86/shared.h
rename to xen/arch/x86/include/asm/shared.h
diff --git a/xen/include/asm-x86/smp.h b/xen/arch/x86/include/asm/smp.h
similarity index 100%
rename from xen/include/asm-x86/smp.h
rename to xen/arch/x86/include/asm/smp.h
diff --git a/xen/include/asm-x86/softirq.h b/xen/arch/x86/include/asm/softirq.h
similarity index 100%
rename from xen/include/asm-x86/softirq.h
rename to xen/arch/x86/include/asm/softirq.h
diff --git a/xen/include/asm-x86/spec_ctrl.h b/xen/arch/x86/include/asm/spec_ctrl.h
similarity index 100%
rename from xen/include/asm-x86/spec_ctrl.h
rename to xen/arch/x86/include/asm/spec_ctrl.h
diff --git a/xen/include/asm-x86/spec_ctrl_asm.h b/xen/arch/x86/include/asm/spec_ctrl_asm.h
similarity index 100%
rename from xen/include/asm-x86/spec_ctrl_asm.h
rename to xen/arch/x86/include/asm/spec_ctrl_asm.h
diff --git a/xen/include/asm-x86/spinlock.h b/xen/arch/x86/include/asm/spinlock.h
similarity index 100%
rename from xen/include/asm-x86/spinlock.h
rename to xen/arch/x86/include/asm/spinlock.h
diff --git a/xen/include/asm-x86/string.h b/xen/arch/x86/include/asm/string.h
similarity index 100%
rename from xen/include/asm-x86/string.h
rename to xen/arch/x86/include/asm/string.h
diff --git a/xen/include/asm-x86/system.h b/xen/arch/x86/include/asm/system.h
similarity index 100%
rename from xen/include/asm-x86/system.h
rename to xen/arch/x86/include/asm/system.h
diff --git a/xen/include/asm-x86/tboot.h b/xen/arch/x86/include/asm/tboot.h
similarity index 100%
rename from xen/include/asm-x86/tboot.h
rename to xen/arch/x86/include/asm/tboot.h
diff --git a/xen/include/asm-x86/time.h b/xen/arch/x86/include/asm/time.h
similarity index 100%
rename from xen/include/asm-x86/time.h
rename to xen/arch/x86/include/asm/time.h
diff --git a/xen/include/asm-x86/trace.h b/xen/arch/x86/include/asm/trace.h
similarity index 100%
rename from xen/include/asm-x86/trace.h
rename to xen/arch/x86/include/asm/trace.h
diff --git a/xen/include/asm-x86/traps.h b/xen/arch/x86/include/asm/traps.h
similarity index 100%
rename from xen/include/asm-x86/traps.h
rename to xen/arch/x86/include/asm/traps.h
diff --git a/xen/include/asm-x86/types.h b/xen/arch/x86/include/asm/types.h
similarity index 100%
rename from xen/include/asm-x86/types.h
rename to xen/arch/x86/include/asm/types.h
diff --git a/xen/include/asm-x86/uaccess.h b/xen/arch/x86/include/asm/uaccess.h
similarity index 100%
rename from xen/include/asm-x86/uaccess.h
rename to xen/arch/x86/include/asm/uaccess.h
diff --git a/xen/include/asm-x86/unaligned.h b/xen/arch/x86/include/asm/unaligned.h
similarity index 100%
rename from xen/include/asm-x86/unaligned.h
rename to xen/arch/x86/include/asm/unaligned.h
diff --git a/xen/include/asm-x86/vm_event.h b/xen/arch/x86/include/asm/vm_event.h
similarity index 100%
rename from xen/include/asm-x86/vm_event.h
rename to xen/arch/x86/include/asm/vm_event.h
diff --git a/xen/include/asm-x86/vpmu.h b/xen/arch/x86/include/asm/vpmu.h
similarity index 100%
rename from xen/include/asm-x86/vpmu.h
rename to xen/arch/x86/include/asm/vpmu.h
diff --git a/xen/include/asm-x86/x86-defns.h b/xen/arch/x86/include/asm/x86-defns.h
similarity index 100%
rename from xen/include/asm-x86/x86-defns.h
rename to xen/arch/x86/include/asm/x86-defns.h
diff --git a/xen/include/asm-x86/x86-vendors.h b/xen/arch/x86/include/asm/x86-vendors.h
similarity index 100%
rename from xen/include/asm-x86/x86-vendors.h
rename to xen/arch/x86/include/asm/x86-vendors.h
diff --git a/xen/include/asm-x86/x86_64/efibind.h b/xen/arch/x86/include/asm/x86_64/efibind.h
similarity index 100%
rename from xen/include/asm-x86/x86_64/efibind.h
rename to xen/arch/x86/include/asm/x86_64/efibind.h
diff --git a/xen/include/asm-x86/x86_64/elf.h b/xen/arch/x86/include/asm/x86_64/elf.h
similarity index 100%
rename from xen/include/asm-x86/x86_64/elf.h
rename to xen/arch/x86/include/asm/x86_64/elf.h
diff --git a/xen/include/asm-x86/x86_64/page.h b/xen/arch/x86/include/asm/x86_64/page.h
similarity index 100%
rename from xen/include/asm-x86/x86_64/page.h
rename to xen/arch/x86/include/asm/x86_64/page.h
diff --git a/xen/include/asm-x86/x86_64/regs.h b/xen/arch/x86/include/asm/x86_64/regs.h
similarity index 100%
rename from xen/include/asm-x86/x86_64/regs.h
rename to xen/arch/x86/include/asm/x86_64/regs.h
diff --git a/xen/include/asm-x86/x86_64/system.h b/xen/arch/x86/include/asm/x86_64/system.h
similarity index 100%
rename from xen/include/asm-x86/x86_64/system.h
rename to xen/arch/x86/include/asm/x86_64/system.h
diff --git a/xen/include/asm-x86/x86_64/uaccess.h b/xen/arch/x86/include/asm/x86_64/uaccess.h
similarity index 100%
rename from xen/include/asm-x86/x86_64/uaccess.h
rename to xen/arch/x86/include/asm/x86_64/uaccess.h
diff --git a/xen/include/asm-x86/x86_emulate.h b/xen/arch/x86/include/asm/x86_emulate.h
similarity index 89%
rename from xen/include/asm-x86/x86_emulate.h
rename to xen/arch/x86/include/asm/x86_emulate.h
index 9125807e24fa..c184c0053c93 100644
--- a/xen/include/asm-x86/x86_emulate.h
+++ b/xen/arch/x86/include/asm/x86_emulate.h
@@ -16,6 +16,6 @@
 #include <xen/lib.h>
 #include <asm/regs.h>
 
-#include "../../arch/x86/x86_emulate/x86_emulate.h"
+#include "../../x86_emulate/x86_emulate.h"
 
 #endif /* __ASM_X86_X86_EMULATE_H__ */
diff --git a/xen/include/asm-x86/xenoprof.h b/xen/arch/x86/include/asm/xenoprof.h
similarity index 100%
rename from xen/include/asm-x86/xenoprof.h
rename to xen/arch/x86/include/asm/xenoprof.h
diff --git a/xen/include/asm-x86/xstate.h b/xen/arch/x86/include/asm/xstate.h
similarity index 100%
rename from xen/include/asm-x86/xstate.h
rename to xen/arch/x86/include/asm/xstate.h
diff --git a/xen/common/efi/runtime.c b/xen/common/efi/runtime.c
index 375b94229e13..38d6caf2a430 100644
--- a/xen/common/efi/runtime.c
+++ b/xen/common/efi/runtime.c
@@ -12,7 +12,7 @@ struct efi_rs_state {
 #ifdef CONFIG_X86
  /*
   * The way stacks get set up leads to them always being on an 8-byte
-  * boundary not evenly divisible by 16 (see asm-x86/current.h). The EFI ABI,
+  * boundary not evenly divisible by 16 (see asm/current.h). The EFI ABI,
   * just like the CPU one, however requires stacks to be 16-byte aligned
   * before every function call. Since the compiler assumes this (unless
   * passing it -mpreferred-stack-boundary=3), it wouldn't generate code to
diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 958ba0cd9256..f3eeab132e08 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -241,7 +241,7 @@ PAGE_LIST_HEAD(page_broken_list);
 
 /*
  * first_valid_mfn is exported because it is use in ARM specific NUMA
- * helpers. See comment in asm-arm/numa.h.
+ * helpers. See comment in asm/numa.h.
  */
 mfn_t first_valid_mfn = INVALID_MFN_INITIALIZER;
 
diff --git a/xen/include/xen/acpi.h b/xen/include/xen/acpi.h
index 088c238a504a..08834f140266 100644
--- a/xen/include/xen/acpi.h
+++ b/xen/include/xen/acpi.h
@@ -40,8 +40,9 @@
 #define ACPI_MADT_GET_TRIGGER(inti)	ACPI_MADT_GET_(TRIGGER, inti)
 
 /*
- * Fixmap pages to reserve for ACPI boot-time tables (see asm-x86/fixmap.h or
- * asm-arm/config.h, 64 pages(256KB) is large enough for most cases.)
+ * Fixmap pages to reserve for ACPI boot-time tables (see
+ * arch/x86/include/asm/fixmap.h or arch/arm/include/asm/config.h,
+ * 64 pages(256KB) is large enough for most cases.)
  */
 #define NUM_FIXMAP_ACPI_PAGES  64
 
diff --git a/xen/include/xen/bitmap.h b/xen/include/xen/bitmap.h
index e9175ab54a59..3caf92c76d6d 100644
--- a/xen/include/xen/bitmap.h
+++ b/xen/include/xen/bitmap.h
@@ -14,7 +14,7 @@
  *
  * Function implementations generic to all architectures are in
  * lib/bitmap.c.  Functions implementations that are architecture
- * specific are in various include/asm-<arch>/bitops.h headers
+ * specific are in various asm/bitops.h headers
  * and other arch/<arch> specific files.
  *
  * See lib/bitmap.c for more details.
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 10:51:36 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 10:51:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170922.312020 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIU1o-0006Uo-8x; Tue, 24 Aug 2021 10:51:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170922.312020; Tue, 24 Aug 2021 10:51:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIU1o-0006UR-0r; Tue, 24 Aug 2021 10:51:36 +0000
Received: by outflank-mailman (input) for mailman id 170922;
 Tue, 24 Aug 2021 10:51:35 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU1n-0001EC-9I
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:51:35 +0000
Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 76f38e87-9105-480e-a83f-4a7dfa7b7b1a;
 Tue, 24 Aug 2021 10:51: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: 76f38e87-9105-480e-a83f-4a7dfa7b7b1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802264;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=uLKI3ja1OUbts2SnkXQR8tTgRcFYuztp8ELRrsey8HY=;
  b=VYroVH00n+ybuBn09VsyLn6GKpPdtSExr2nwZuXe09BMtGNsW7GtYt2z
   FrumIXCDB5RQyK5WpIE5PAx69ZLVZJbqtsWdtWbi7i+RC8q471utsOFO3
   SNmk7Sezft0TsysWWdkGrRaIezX6+YjpnovEZ2ocSur4Hai10Jla/Opov
   s=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: 2oW+qoLJIU6VIRXe3KMj3mwIx+b59bIH+EIZhKH3DjENHu4zGYYHdIOv2UbL0i18aysFS9ZWa7
 GVDf4YPj1m+r7A+u5hN3WrPiK2JTCpFk61coLiaCp4iMchmd7srIPvFNNIwIcmCGAP7AdPI4aa
 SYmUz2tI5k0/KvZ96nZ6rOVxt4OSAFd3HtG1C4LGHt2ocJHcR/EfukDG63NizZAGeuD03lrxjy
 mzLS44BAcbPKCGdZEiuTBAIfr8vguqURFTGqHIoODQKEGKYny0DzN8dWSsQXJp5lL1GavEI6gi
 P2+Zdi9jqU5UNwfFOXu89w3G
X-SBRS: 5.1
X-MesageID: 52875438
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:PjfI8aHoydIMXuc1pLqFVJHXdLJyesId70hD6qkvc3Fom52j/f
 xGws5x6fatskd2ZJkh8erhBEDyewKkyXcV2/hbAV7MZniDhILFFu9fBOjZsnfd8k/Fh4lgPM
 5bGsATZ+EYZmIK7voSlTPIdurIt+P3kpxA692+815dCSVRL41w5QZwDQiWVmdsQhNdOJY/HJ
 2AouJaujuJYx0sH4iGL0hAe9KGi8zAlZrgbxJDLQUg8hOygTSh76O/OwSE3y0ZTyhEzd4ZgC
 f4ek3Cl+ueWsOAu1/hPlzontdrcRzau5l+7fm3+4kow/PX+0OVjcpaKvm/VXsO0ZmSAR4R4a
 LxSlEbTolOAjrqDxuIiAqo1A/63Dk07Xj+jVeenHv4uMT8ACk3EsxbmOtiA23kAmcbzaVBOZ
 hwrhWkXltsfGL9tTW448KNWwBhl0Kyr3ZnmekPj2ZHWY9bbLNKt4QQ8E5cDZ9FRUvBmcgaOf
 grCNuZ6OddcFucYXyctm5zwMa0VnB2GhudWEANtsGczjATlnFkyEkTwtAZgx47hdsAYogB4/
 6BPrVjlblIQMNTZaVhBP0ZSc/yEWDJSQKkChPmHb0mLtB0B5vpke+I3FwY3pDXRHU49upApH
 2aaiIkiYcbQTOQNeSemIZM7g3ABH6gWDiF8LAv26RE
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="52875438"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: [XEN PATCH v7 10/51] build,arm: move LDFLAGS change to arch.mk
Date: Tue, 24 Aug 2021 11:49:57 +0100
Message-ID: <20210824105038.1257926-11-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-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>
---
 xen/arch/arm/Makefile | 8 --------
 xen/arch/arm/arch.mk  | 8 ++++++++
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 0edd9dee6f49..3d0af8ebc93c 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -104,14 +104,6 @@ prelink.o: $(ALL_OBJS) $(ALL_LIBS) FORCE
 	$(call if_changed,ld)
 endif
 
-ifeq ($(CONFIG_ARM64_ERRATUM_843419),y)
-    ifeq ($(call ld-option, --fix-cortex-a53-843419),n)
-        $(warning ld does not support --fix-cortex-a53-843419; xen may be susceptible to erratum)
-    else
-        XEN_LDFLAGS += --fix-cortex-a53-843419
-    endif
-endif
-
 targets += prelink.o
 
 $(TARGET)-syms: prelink.o xen.lds
diff --git a/xen/arch/arm/arch.mk b/xen/arch/arm/arch.mk
index 11caec86ba14..6a2982059486 100644
--- a/xen/arch/arm/arch.mk
+++ b/xen/arch/arm/arch.mk
@@ -17,3 +17,11 @@ $(call cc-option-add,CFLAGS-$(CONFIG_ARM_64),CC,-mno-outline-atomics)
 ifneq ($(filter command line environment,$(origin CONFIG_EARLY_PRINTK)),)
     $(error You must use 'make menuconfig' to enable/disable early printk now)
 endif
+
+ifeq ($(CONFIG_ARM64_ERRATUM_843419),y)
+    ifeq ($(call ld-option, --fix-cortex-a53-843419),n)
+        $(warning ld does not support --fix-cortex-a53-843419; xen may be susceptible to erratum)
+    else
+        LDFLAGS += --fix-cortex-a53-843419
+    endif
+endif
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 10:51:37 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 10:51:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170918.311998 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIU1k-0005dQ-22; Tue, 24 Aug 2021 10:51:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170918.311998; Tue, 24 Aug 2021 10: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 1mIU1j-0005dI-UV; Tue, 24 Aug 2021 10:51:31 +0000
Received: by outflank-mailman (input) for mailman id 170918;
 Tue, 24 Aug 2021 10:51:30 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU1i-0001EC-9F
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:51:30 +0000
Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 7e70fb7b-8b13-40da-bd22-5cd12aced9c2;
 Tue, 24 Aug 2021 10:51: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: 7e70fb7b-8b13-40da-bd22-5cd12aced9c2
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802263;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=aeF7Kv7O4DhLszrRehfv9wqocK16xFjPyQnD/pOHJvE=;
  b=igjrcCscg2+nQDxvLdIdD4T0XMV76WNL5ZpWZIXuzuh9ujZvH/vtmDz3
   BZm3Avo6U85Z00OZhOh3CfxdC8Of8V1Im/9qODLaqFPxTp8J+laHJKxjT
   4M7xrGjWOI7At4ASCRVhbV0x/m0BzJO0ozIXmGHE8BPVIoAh8oSY3v9xe
   c=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: lrXu+DHBj+AeJaQBq0MAWxjoaL+0yaNtvNLPbzW7baavHMgkl8cjdAqAkexlhzmLQ4WR6eARv6
 a/XimwmpGrzwO5wKaQcbn7T/5QXtJLemMfst68o/hJgdvNSYMiqd0eQk2gAhmc7v2o89OcwZlx
 ET20SgetBXTvgdyfB5GoowYYoE+635KSqg1Zyyi6tI0wwI8pWvLyMZij9j7yh9XqxGlGk22MFd
 GZwM1Lm+443lfyEpLorAtdn1pbELskKkUWnk9UL7oAL6wG+GfR+kKWnCGtiMXqXJLTYQRb1tuH
 pIEo8LsyN/S1m7SitTUMMxHU
X-SBRS: 5.1
X-MesageID: 51153521
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:3VkvwKPCKF354MBcT33155DYdb4zR+YMi2TDiHoddfUFSKalfp
 6V98jzjSWE7gr4WBkb+exoS5PwOE80lKQFqrX5Uo3SODUO1FHHEGgA1/qp/9SDIVyYygc178
 4JH8dD4bbLfDtHZLPBkWyF+qEbsbu6Gc6T5Nv2/jNId0VHeqtg5wB2BkKwCUttXjRLApI/Cd
 61+tdHjyDIQwVaUu2LQl0+G8TTrdzCk5zrJTQcAQQ81QWIhTS0rJbnDhmj2AsEWT8n+8ZszY
 GFqX222kyQiYD69vbu7R6R032Qoqqi9jJ3Pr3MtiHSEESotu/nXvUkZ1TIhkFMnAjm0idQrD
 CLmWZsAy070QKqQkil5RTqwAXuyzAo9jvrzkKZm2LqpYjjSCs9ENcpv/MuTvL10TtVgDhH6t
 M944tZjesnMTrQ2CDmo9TYXRBjkUS55XIkjO4IlnRaFY8TcqVYo4AT9F5cVM5oJlOz1Kk3VO
 11SM3M7vdfdl2XK3jfo2l02dSpGnA+BA2PTEQOstGclzJWgHd6xU0Fw9F3pAZIyLstD51fo+
 jUOKVhk79DCscQcKJmHe8EBdC6D2TcKCi8RV564W6XZp3vHki91aIfzI9FmN1CSaZ4v6fawq
 6xLW+wnVRCBH7GGImU2oFX/lTXXGCwNA6duv1j2w==
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51153521"
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>, "Ian
 Jackson" <iwj@xenproject.org>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>
Subject: [XEN PATCH v7 09/51] build: use subdir-y in test/Makefile
Date: Tue, 24 Aug 2021 11:49:56 +0100
Message-ID: <20210824105038.1257926-10-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

This allows Makefile.clean to recurse into livepatch without help.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 xen/test/Makefile | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/xen/test/Makefile b/xen/test/Makefile
index aaa499664396..41e4d7bdb78b 100644
--- a/xen/test/Makefile
+++ b/xen/test/Makefile
@@ -4,15 +4,10 @@ tests all: build
 
 ifneq ($(XEN_TARGET_ARCH),x86_32)
 # Xen 32-bit x86 hypervisor no longer supported, so has no test livepatches
-SUBDIRS += livepatch
+subdir-y += livepatch
 endif
 
 install build subtree-force-update uninstall: %:
-	set -e; for s in $(SUBDIRS); do \
+	set -e; for s in $(subdir-y); do \
 		$(MAKE) -f $(BASEDIR)/Rules.mk -C $$s $*; \
 	done
-
-clean::
-	set -e; for s in $(SUBDIRS); do \
-		$(MAKE) -f $(BASEDIR)/Rules.mk -C $$s $@; \
-	done
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 10:51:41 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 10:51:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170928.312031 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIU1t-0007II-JA; Tue, 24 Aug 2021 10:51:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170928.312031; Tue, 24 Aug 2021 10:51:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIU1t-0007I3-EV; Tue, 24 Aug 2021 10:51:41 +0000
Received: by outflank-mailman (input) for mailman id 170928;
 Tue, 24 Aug 2021 10:51:40 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU1s-0001EC-9R
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:51:40 +0000
Received: from esa6.hc3370-68.iphmx.com (unknown [216.71.155.175])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id e4a9e43c-6982-480e-9a20-723681e4cb13;
 Tue, 24 Aug 2021 10:51: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: e4a9e43c-6982-480e-9a20-723681e4cb13
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802266;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=b7uRuMBIULvFTfFL0MTl+k+EkGnHEI0YpQ0xr5zoMeQ=;
  b=hvqP7WRRzTuWZMambJ/kZHmaRbp+CVUHmGceXrEx2K/y24W3vII3QfO9
   YVRIRzX7ZQBt+9qsODNnC3ILf/PMMLWItScsXai2dyx7wPLgL9tY4lRx0
   mj9H4kBbtNJcFb7Bs+C5cgAhyCtXFobSRR4W2WKYTC0LSeahxroA09ian
   A=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: nqdIsawWsV0NUNXuRV64bM3LTdvfA9L0RIzmIdIoOqEOGYtyTZA6EwN8D2FBYlEU+YKF8FWKbY
 cq3QA3gqM/zSrIUyqA33VqMBolQQP+Iulo1hMcb3ykcLSny1uY8MZPPxXvIpA5+Ia4MThxzlxQ
 fY9Rq/1CiHKWEwA01k3cl0YTVR/XNNqBg8pINOs8OQITQm6NwEDJJa3lPepcTv0D4eBs/X+Yl4
 9GOBEO9nIY5y5A9a/VnLbPIjiAv1vY0C/p5o2QuHxejyrLcJUvEDw2RQnSo88OftzcjfBiu6xv
 mqRWUMEobbocyrrlNG7J0+2w
X-SBRS: 5.1
X-MesageID: 51166344
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:NtBFhanGO5sHbNIhcnlJy33Ntc/pDfOQimdD5ihNYBxZY6Wkfp
 +V8cjzhCWftN9OYhodcIi7Sc+9qXO1z/5ICPoqTM6ftWjdySCVxe5ZnO/fKlHbdREWldQtn5
 uIEZIOb+EYZGIS5aqU3ODSKadC/DDzytHMuQ6o9QYOcegFUcBdxjY8LjzePlx9RQFAC5Z8Po
 Gb/NB7qz2pfmlSRtinB1EeNtKz6+HjpdbDW1orFhQn4A6BgXeD87jhCSWV2R8YTndm3aoiy2
 7YiAb0j5/T/M1TiyWsmVM73a4m2OcJ+eEzR/BkTfJlaAkEvzzYJbiJnYfy+Qzd7tvfrGrC2+
 O82yvId/4DkE85OFvF7CcFkjOQqgoG+jvsz0SVjmDkptG8TDUmC9BZjYYcaRfB7VE81esMpp
 6j8ljpw6a/Nymw6xgVJuK4Ji1Chw6xuz4vgOQTh3tQXc8Xb6JQt5UW+AdQHI0bFCz35Yg7GK
 02ZfusrMp+YBefdTTUr2NvyNujUjA6GQqHWFELvoiQ3yJNlH50wkMEzIgUn2sG9pg6V55Yjt
 60e5hAhfVLVIsbfKh9DOAOTY++DXHMWwvFNCaILVHuBMg8SgfwQl7MkccIDcSRCeI1JbcJ6e
 j8uWJjxB0PkhjVeLCzNbVwg2/waXT4RjLw180b/IR9ttTHNcrWDRE=
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51166344"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Jan Beulich
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>
Subject: [XEN PATCH v7 11/51] build: move make option changes check earlier
Date: Tue, 24 Aug 2021 11:49:58 +0100
Message-ID: <20210824105038.1257926-12-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

And thus avoiding checking for those variable over and over again.

Also, add "e.g." in the error messages to hint that "menuconfig"
isn't the only way.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---

Notes:
    v7:
    - Add "e.g." into the error message to hint that menuconfig isn't the
      only way.

 xen/Makefile | 22 ++++++++++++++++++++++
 xen/Rules.mk | 22 ----------------------
 2 files changed, 22 insertions(+), 22 deletions(-)

diff --git a/xen/Makefile b/xen/Makefile
index f35a4d84f7cd..2c56546cd1dc 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -56,6 +56,28 @@ include scripts/Kbuild.include
 ifneq ($(root-make-done),y)
 # section to run before calling Rules.mk, but only once.
 
+ifneq ($(origin crash_debug),undefined)
+$(error "You must use e.g. 'make menuconfig' to enable/disable crash_debug now.")
+endif
+ifeq ($(origin debug),command line)
+$(warning "You must use e.g. 'make menuconfig' to enable/disable debug now.")
+endif
+ifneq ($(origin frame_pointer),undefined)
+$(error "You must use e.g. 'make menuconfig' to enable/disable frame_pointer now.")
+endif
+ifneq ($(origin kexec),undefined)
+$(error "You must use e.g. 'make menuconfig' to enable/disable kexec now.")
+endif
+ifneq ($(origin lock_profile),undefined)
+$(error "You must use e.g. 'make menuconfig' to enable/disable lock_profile now.")
+endif
+ifneq ($(origin perfc),undefined)
+$(error "You must use e.g. 'make menuconfig' to enable/disable perfc now.")
+endif
+ifneq ($(origin verbose),undefined)
+$(error "You must use e.g. 'make menuconfig' to enable/disable verbose now.")
+endif
+
 # Beautify output
 # ---------------------------------------------------------------------------
 #
diff --git a/xen/Rules.mk b/xen/Rules.mk
index 48ae519d0153..c313486ce0f6 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -9,28 +9,6 @@ include $(XEN_ROOT)/Config.mk
 include $(BASEDIR)/scripts/Kbuild.include
 
 
-ifneq ($(origin crash_debug),undefined)
-$(error "You must use 'make menuconfig' to enable/disable crash_debug now.")
-endif
-ifeq ($(origin debug),command line)
-$(warning "You must use 'make menuconfig' to enable/disable debug now.")
-endif
-ifneq ($(origin frame_pointer),undefined)
-$(error "You must use 'make menuconfig' to enable/disable frame_pointer now.")
-endif
-ifneq ($(origin kexec),undefined)
-$(error "You must use 'make menuconfig' to enable/disable kexec now.")
-endif
-ifneq ($(origin lock_profile),undefined)
-$(error "You must use 'make menuconfig' to enable/disable lock_profile now.")
-endif
-ifneq ($(origin perfc),undefined)
-$(error "You must use 'make menuconfig' to enable/disable perfc now.")
-endif
-ifneq ($(origin verbose),undefined)
-$(error "You must use 'make menuconfig' to enable/disable verbose now.")
-endif
-
 TARGET := $(BASEDIR)/xen
 
 # Note that link order matters!
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 10:54:54 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 10:54:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170952.312041 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIU4z-0001Fh-3j; Tue, 24 Aug 2021 10:54:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170952.312041; Tue, 24 Aug 2021 10:54: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 1mIU4z-0001Fa-0l; Tue, 24 Aug 2021 10:54:53 +0000
Received: by outflank-mailman (input) for mailman id 170952;
 Tue, 24 Aug 2021 10:54:52 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIU4y-0001FU-71
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:54:52 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id e0f4afe0-d9aa-4d81-bc4b-355ef466f6a1;
 Tue, 24 Aug 2021 10:54:51 +0000 (UTC)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2107.outbound.protection.outlook.com [104.47.18.107])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-25-Q31Xz7msOWWGO-aBrgASoA-1; Tue, 24 Aug 2021 12:54:49 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM0PR04MB4786.eurprd04.prod.outlook.com (2603:10a6:208:cf::25)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Tue, 24 Aug
 2021 10:54:48 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 10:54:48 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FR3P281CA0022.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1c::10) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.6 via Frontend Transport; Tue, 24 Aug 2021 10: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: e0f4afe0-d9aa-4d81-bc4b-355ef466f6a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629802490;
	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=S274DjccSW/v6nWZGszRzhg0IhZBbtOuANRVpp83PnI=;
	b=gf8ChfzyvTeOU1HgFMqQjLlk1nhUXKqq8LNKWagMN0LHt9Yv+tTLNzkQmqQnegI+sKKW6j
	VFmLclSZBB9m8P75mndnveNx867sMcB9muWVBBvhGsjPWFJNkqOKHY7iAU8cw+1kWw4zRl
	gFpBHoUBZh+GcjJLFZVUZchXDjdWCZU=
X-MC-Unique: Q31Xz7msOWWGO-aBrgASoA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aRdbNXTBvT7EgnH2mJbsK5bOUZlv/oppNvzBE0l/v8qjkNdJRCP6GLNIXdo+czr4gxXZgRRMrYS5oMbFInSh68WjDmj/COzgvl7rG06xUC+crfvjyMdnzvzchqkUOYjfPSowi/n/br69ce7aM9PHIn1rSsVJwZaFDYXrrZBi6Myty06oUk5PGOGi4Auw0ThvQQi4IiNDL7hLN3R8uwZDO08uUQ6dU7LZHHwtfDRZ7r6+Z/AN2KWapEXNH/iFly74o3J7DVgJa+But4PhQx4XHZHHIYhf/ko9tTm3aDavBsg3rGw08coK0+MAx8oR5pP3/qMWkSSr2SjKe8UyVu/ZZQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=S274DjccSW/v6nWZGszRzhg0IhZBbtOuANRVpp83PnI=;
 b=NdldZ1z+bEFYXLlVjL0T3OWQFfFpXhA//d4rlZKH8gnBGA65KCn9mD+As4w4qm3gupoByy4HclDg0OmeAPpmqVz81g+WPhVBbpHJUfRIiT98IzbN5HOCCikMXiVYXAdwbT+Rmz5o+AVLcAA4sMyipF/9QoD7Jmr7GGZStJ+fKdyGtFKaLqH1grDEHDzshdrsKRIsNMqou3KsV69Yo7wRRO2R0ovphxsZr4HrpzJ+0sfBcnrpACfsM+WB0/jnXqEFJyI+32nRe9Y2LxCRiJwbLrjgT1XSjNDNNk4sLCe5zwBjxAqcrEMYJBr6yKnMUX2wakmo5XJq505yMLPUrDxuTg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: Re: [PATCH v5 5/7] xen: re-define assign_pages and introduce
 assign_page
To: Penny Zheng <penny.zheng@arm.com>
Cc: Bertrand.Marquis@arm.com, Wei.Chen@arm.com, nd@arm.com,
 xen-devel@lists.xenproject.org, sstabellini@kernel.org, julien@xen.org
References: <20210824095045.2281500-1-penny.zheng@arm.com>
 <20210824095045.2281500-6-penny.zheng@arm.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <50f8b8a2-e706-770a-ceb8-a7fc4cf189d8@suse.com>
Date: Tue, 24 Aug 2021 12:54:46 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210824095045.2281500-6-penny.zheng@arm.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0022.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::10) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 7aa063ce-9229-4d93-a085-08d966ed9714
X-MS-TrafficTypeDiagnostic: AM0PR04MB4786:
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB47867B5A578AAFE639EE313BB3C59@AM0PR04MB4786.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:2276;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bs3KjzavZ9U2FN9pkL3Lo74rN8k3NGOmbsT2ycg0zMKZUN0BJqh5Rka3G/1JX0ICKzBk4KLfmLeK7iaIZewOiF5vty4Du1eSwaGUNDoU9vUEwlgJFXF/Eb0QoqzJEkWOpjwEDefAmPPn5GRZAYNAdDvZhVwDhF8rJPLy2B8ubY7P2wYYT7MKwsZm4MhO8IagidzYZoEy8orgEZ2c/4tXJIAiwsDPoR/qtdNWg7uvssTfHKXwoOh36AE5V2Fb/hiGjRXvqFwGq7GpznFS3NLKz8Dy43lAxdteofsBARehQhTbatSPHHwJIr//P18JVtQZuJ3IT4R30QX65FyriY+QEPKQ833EB0FWeFzMMqM9Q6l5pIo4mE6qDDX9Oq0vNlLKKCHSVjoR/Rag4QPx/ePO77x3QS4FHCuV9Y5gOpje/OsCPin97CPNrMhq2qdxG8G6TcUyWHlTWdHaokmArEmuYrcPPlGhFMc4we9vO1aRk8ie0Xk9bSdVZFXCUzO5VVe+JlnjXCTf/ijlusO0L6DW1j9gwNPPKIB5IHZ12XvC8VRWcKExELX98fCfGWtQesKngSi6YeiC6Ym9HGA8hRrA9IdxGHQrnJahoF7hHV0IKXpGuSMgJbZWGGm67J52OuqIJbrigFh/Y6+xwmC0LME3cnWC7xbyxvnvdPDB7SKORmufEeXx050X/oqPxHjyyiEqUSLDK675ri1I16WGgd0NEkyZ1ZxTrY9jBrwuFnCC7zE=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(508600001)(31686004)(316002)(53546011)(86362001)(66946007)(8936002)(31696002)(186003)(16576012)(6916009)(66476007)(66556008)(26005)(6486002)(5660300002)(8676002)(38100700002)(4744005)(83380400001)(36756003)(2906002)(956004)(4326008)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?S0ZqQTdOMUIyU3FxTUEyVGwxc0h5SEdHaDVjcThtSkRnYURWWjVGdzFlRmZU?=
 =?utf-8?B?dUhBeU9mUmZobTBDUzY1UEo1ZHpRb3UrYWlwZm9mbCt2YURqbXFXYXN0U3k3?=
 =?utf-8?B?QlFlSmhDaDllUlphTGRmK08yRVBLNzNyUjZlMEdlMy96U25TVVJyWFJaQzdy?=
 =?utf-8?B?dStrMmN2aWQ5czVURHR0Nm1NY1BIRjVldEtwZ2RFYmVsRVVqeE1PcmdRMXIy?=
 =?utf-8?B?SG1BS1ZCYmJyaFpXemNLMzlsdWV4Z0JCdlF6SGQ1Qk00ODVNdUhyejFFNU03?=
 =?utf-8?B?Uy9iYURLMEpvVi91UTlJZ3lJZ1pwQ3VFb1hYcTZMa1VYWHZhcmkvSGZrTURw?=
 =?utf-8?B?SHlVYi9YaEtpbFhVb21rU2lXMnNUT1RieHNvV285WUJZQWJVQmVjclJRS041?=
 =?utf-8?B?WGZUN3UwQmppZWJTaTlYRkh6dkUxTjF0ekxXMFEzUTRaT0RQMHo5MTEzbjBz?=
 =?utf-8?B?dWtQYnRsR20yOTNsRzBldFJ6cURad1RpZEp2dlBqanM3N2tRc1R5Y05sZEhB?=
 =?utf-8?B?QWYxbWFZTHJPSWNHWktrekE4Q0UyVURGc3NKTlZzTFVKdW94RTIyTTJzRUFX?=
 =?utf-8?B?eG00VUlKUDE0TEpNUlNnanBSeG45ajR1MEJaeHJrck82WTQ5cXZQQ1BZeGxH?=
 =?utf-8?B?SkVjdzlubFlSem9SR1BrWmZsMDdicXRUQnVFZnlqNEJTNEVWVHp1RWh2YzZS?=
 =?utf-8?B?bEx1NWIzK2JBTUMvZGp1SWp1SW5Cdy93Znd3aWNNKzFEUWgwa1MrT2Qvam5N?=
 =?utf-8?B?TEg0NHFzaGVUeHJDZ1ViQUhuS0JIdDM0NjZwNGVudEZQMElLNTl4ZEFOaVYr?=
 =?utf-8?B?d3p6a0RsNUtmS0h4R21zZ2hleXpIV3MvZFNqeC9HSjhqaFZ3R2lTWkFxb0gx?=
 =?utf-8?B?dmhGVlJyNkVEOFZubXU4bVgxY09zNEdYMTludW10Wlk1TlpuZVU1bHUxWXpT?=
 =?utf-8?B?bUZyc01UejRsL0xVaVRTcmk4eUx4Sm5XT2VpVHNzdUJ1ZVRkUVk2NWFjMy9Y?=
 =?utf-8?B?MXRjaUxiMklpaEQvU2h5eUUvbXFmaGxYczNGYS9oTUo4c2hvSlV2SHJPM3V0?=
 =?utf-8?B?QW5JalVTcUVTcXhFSjFQaHJORE42SzR1eVdjZjYxRVVTcVhIN24yNjUvT3Iz?=
 =?utf-8?B?eTVjQ3JobWtHVkdHVDlheWtZdktjNkRjQ1FqcjFvNmRqQU5DQmJ5eGx2Nzhl?=
 =?utf-8?B?UkUvRldxUFV4b3k1WlA4angyY3cwYlNBclV1RHRobGVoeUh2TkZTakR2eERO?=
 =?utf-8?B?VDZ5OWdOTWduaUFMdmUxNDIxMEMzMDRtMDdnL2Z4ajFESmdLTWxxT3NVdWlE?=
 =?utf-8?B?N0t4YmRCbXFkZDFzVE9YYUNrSmw0Z3RWK2pjOHdJODdESkZWeUFIMnRRV0NW?=
 =?utf-8?B?Z09OdzhSbS9pT3hPYnQzK1ZoRUtKL0dHdHNZOWxlVDNEV3hndVAyZFdrOHEx?=
 =?utf-8?B?SXZvNlo3b21wY2lHay93M3h2WWI4ZVdvT0hYcVF1Z1pWN0Z6MXdCUjYyRGVs?=
 =?utf-8?B?Vk1ZTTYrSHZidUo5eU5oakJOeTdnZ0VWbHJodEpmMFZLS1BNa3RqUkdtWTVK?=
 =?utf-8?B?a1graVF0b0ZrdXlheVRKMTZPMlVQQmhzRjcvQ2FhZmg5dC9wMFJoaWErcENj?=
 =?utf-8?B?bWFud3Yzd1k5VUp0TTR3N29PQzVscHVPSEt1V21qNC95ZmN0S3d2dWkxN2ls?=
 =?utf-8?B?SFY3OUhrMWVYTXNCZm80MzF5UUVTcUdxOTJBaWN2NTl5d3NEUXJMdTlZWEJI?=
 =?utf-8?Q?V668CWngLZNkHGBi6zsppchfuSfV+mae8+Aw7nj?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7aa063ce-9229-4d93-a085-08d966ed9714
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 10:54:47.9108
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5reBDdz+tCFTVPfLcfYADA6cTCcwhZKMQf2dvOFTJtcXixrqNhlaGHE5Iri66+xeF+Gfn5b8Z6dcxv0C/WeEsg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4786

On 24.08.2021 11:50, Penny Zheng wrote:
> In order to deal with the trouble of count-to-order conversion when page number
> is not in a power-of-two, this commit re-define assign_pages for nr pages and
> assign_page for original page with a single order.
> 
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
> Acked-by: Jan Beulich <jbeulich@suse.com>

This ...

> --- a/xen/arch/x86/pv/dom0_build.c
> +++ b/xen/arch/x86/pv/dom0_build.c
> @@ -557,7 +557,7 @@ int __init dom0_construct_pv(struct domain *d,
>          else
>          {
>              while ( count-- )
> -                if ( assign_pages(d, mfn_to_page(_mfn(mfn++)), 0, 0) )
> +                if ( assign_pages(d, mfn_to_page(_mfn(mfn++)), 1, 0) )

... is precisely what I did _not_ ack. The re-ordering of parameters
should remain as you had it. The request from Julien wasn't to undo
that, but to harmonize the new function's parameters with those of
the existing function.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:01:06 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:01:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170959.312057 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUAy-0002j7-4C; Tue, 24 Aug 2021 11:01:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170959.312057; Tue, 24 Aug 2021 11: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 1mIUAy-0002i9-08; Tue, 24 Aug 2021 11:01:04 +0000
Received: by outflank-mailman (input) for mailman id 170959;
 Tue, 24 Aug 2021 11:01:02 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU2W-0001EC-Aq
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:52:20 +0000
Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 930ad33d-b515-4fe2-b6d7-25f038806064;
 Tue, 24 Aug 2021 10:51: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: 930ad33d-b515-4fe2-b6d7-25f038806064
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802283;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=FW24mf7gQhBpHHcg9GJm9hyluG+ERn9X5WYN2UmMbPk=;
  b=Z8r2AQdRi+/NjWbISrBzb8qehjOIyKDNS9p5iaj8V6DqJuOC0jRxm75g
   oNnbyo5uAXyLbBOKGUvUSy3E7tImlzPtpGN0aque1S2kKf6soeSVhwLzU
   Cl/CermTQzEzMY/UA5q9kzKjXrZOxyxFX5sVH2tqrgUIYTfB9qmjHw/vO
   A=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: x5Me5gMX8yanwNrzDTYwNTAHf2ybo9F+pMvILih7HdtcE7pw9zqLMUWBWkPRp+4fXIYG5AGyht
 QM8xPEpFuqJAEd6MFcfXfodn9F14gtJh/WkpAz6qOmYDc4jOkd3Kj72eEM6FvSKEosX0UlpJAj
 jnm03gXfEIVmGqQfUOh7To5T9SJFBOhVnJyRzD8v7M/Oc7RHR353I7WmX/6vHhMCQ6zt8EX3SC
 T3R/DUcIftFHPMZVSO2D+R2qMZy6n+Q+W3a7nTj+YCdlkDwPK+E/hLkW/pkIGWpX3z46JC9BH+
 nXq20fkEqjRTWEmSqKWHzMur
X-SBRS: 5.1
X-MesageID: 52875464
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:R4R896rLEWB0taI4l5WiHM0aV5oTeYIsimQD101hICG8cqSj+f
 xG+85rsyMc6QxhIE3I9urhBEDtex/hHNtOkOws1NSZLW7bUQmTXeJfBOLZqlWKcUDDH6xmpM
 NdmsBFeaTN5DNB7PoSjjPWLz9Z+qjkzJyV
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="52875464"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: [XEN PATCH v7 18/51] build: fix $(TARGET).efi creation in arch/arm
Date: Tue, 24 Aug 2021 11:50:05 +0100
Message-ID: <20210824105038.1257926-19-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

There is no need to try to guess a relative path to the "xen.efi" file,
we can simply use $@. Also, there's no need to use `notdir`, make
already do that work via $(@F).

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 xen/arch/arm/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index cc90d9796e6e..dc1d09c8b429 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -93,7 +93,7 @@ endif
 $(TARGET): $(TARGET)-syms
 	$(OBJCOPY) -O binary -S $< $@
 ifeq ($(CONFIG_ARM_64),y)
-	ln -sf $(notdir $@)  ../../$(notdir $@).efi
+	ln -sf $(@F) $@.efi
 endif
 
 ifeq ($(CONFIG_LTO),y)
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:01:06 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:01:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170957.312053 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUAx-0002gH-RQ; Tue, 24 Aug 2021 11:01:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170957.312053; Tue, 24 Aug 2021 11:01:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUAx-0002gA-OB; Tue, 24 Aug 2021 11:01:03 +0000
Received: by outflank-mailman (input) for mailman id 170957;
 Tue, 24 Aug 2021 11:01:02 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU22-0001EC-9b
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:51:50 +0000
Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 3bd6516f-f5e4-492b-9635-845939c011e7;
 Tue, 24 Aug 2021 10:51: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: 3bd6516f-f5e4-492b-9635-845939c011e7
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802269;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=WypzVU9rf23sGm2Av46eWBR2S9nY0Xuo8OA2HzrRil0=;
  b=AAUTZgulXbDcDEFnl7sWjm8ot5/+lNi6z4Z3Yl1HWvzcTWym4JBEjbBV
   AWaEgPJ1tq1WwJKOVcvdST6iYUDO8+18H6/Mg2mWraQfADfTFG5Uu/ARj
   AWX4WajI+SXUw7faracDBxn8sYD1dnd2b6pTU3A955Uh6YRFPR/iAMszJ
   A=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: V5zkhaFj1GJEZ9xLAqK6GdzDCUgaGdMHnS8SzdSXpa8yMjZncY8XGpF+D4eYZRL1gZ9CwaJRof
 H1UWmZOa221YArykhQGZPUzSgZAGHr1ZuBM2hnnxe2yj1kG694XykysdPrwQ4gmz8RC7kImmbP
 +KwgegsLA1Fi8GD+p2nX7pgeSBmdXYap3Y+LwD+nTcVjpk6XMVzCSMfT2vfc5SxEmelyBXkvcZ
 SDQWNcApf8ecc4rk+0lp4he5s+7Db0/kiXf22NPBA1gtIESleU/AitiZN2R0QuYvmp3I4hmTtZ
 nfTnSDA3/F1KE1NCpVVGbXKh
X-SBRS: 5.1
X-MesageID: 51153535
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:fCnLzqFyzFcUXqC5pLqEEseALOsnbusQ8zAXPiBKJCC9vPb5qy
 nOpoV+6faQslwssR4b9uxoVJPvfZq+z+8R3WByB8bAYOCOggLBQL2KhbGI/9SKIVydygcy78
 Zdm6gVMqyMMbB55/yKnDVRxbwbsaa6GKPDv5ah8590JzsaDJ2Jd21Ce32m+ksdfnghObMJUK
 Cyy+BgvDSadXEefq2AdwM4t7iqnayzqHr+CyR2fyIa1A==
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51153535"
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>, "Ian
 Jackson" <iwj@xenproject.org>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>, Daniel De Graaf <dgdegra@tycho.nsa.gov>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>
Subject: [XEN PATCH v7 13/51] build: convert binfile use to if_changed
Date: Tue, 24 Aug 2021 11:50:00 +0100
Message-ID: <20210824105038.1257926-14-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

This will allow to detect command line changes and allow to regenerate
the file in that case.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

Notes:
    v7:
    - define $(cmd_binfile) in Rules.mk so we can use the same one in both
      common/ and xsm/flask/

 xen/Rules.mk           | 5 +++++
 xen/common/Makefile    | 5 +++--
 xen/xsm/flask/Makefile | 6 ++++--
 3 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/xen/Rules.mk b/xen/Rules.mk
index c313486ce0f6..f449669475bd 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -57,6 +57,11 @@ cmd_ar = rm -f $@; $(AR) cr $@ $(real-prereqs)
 quiet_cmd_objcopy = OBJCOPY $@
 cmd_objcopy = $(OBJCOPY) $(OBJCOPYFLAGS) $< $@
 
+# binfile
+# use e.g. $(call if_changed,binfile,binary-file varname)
+quiet_cmd_binfile = BINFILE $@
+cmd_binfile = $(SHELL) $(BASEDIR)/tools/binfile $(BINFILE_FLAGS) $@ $(2)
+
 define gendep
     ifneq ($(1),$(subst /,:,$(1)))
         DEPS += $(dir $(1)).$(notdir $(1)).d
diff --git a/xen/common/Makefile b/xen/common/Makefile
index 54de70d42278..141d7d40d3dc 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -80,8 +80,9 @@ config.gz: $(CONF_FILE)
 
 config_data.o: config.gz
 
-config_data.S: $(BASEDIR)/tools/binfile
-	$(SHELL) $(BASEDIR)/tools/binfile $@ config.gz xen_config_data
+config_data.S: $(BASEDIR)/tools/binfile FORCE
+	$(call if_changed,binfile,config.gz xen_config_data)
+targets += config_data.S
 
 clean::
 	rm -f config_data.S config.gz 2>/dev/null
diff --git a/xen/xsm/flask/Makefile b/xen/xsm/flask/Makefile
index 637159ad8276..f4d4038c01bd 100644
--- a/xen/xsm/flask/Makefile
+++ b/xen/xsm/flask/Makefile
@@ -35,8 +35,10 @@ $(subst include/,%/,$(AV_H_FILES)): $(AV_H_DEPEND) $(mkaccess) FORCE
 obj-bin-$(CONFIG_XSM_FLASK_POLICY) += flask-policy.o
 flask-policy.o: policy.bin
 
-flask-policy.S: $(BASEDIR)/tools/binfile
-	$(SHELL) $(BASEDIR)/tools/binfile -i $@ policy.bin xsm_flask_init_policy
+flask-policy.S: BINFILE_FLAGS := -i
+flask-policy.S: $(BASEDIR)/tools/binfile FORCE
+	$(call if_changed,binfile,policy.bin xsm_flask_init_policy)
+targets += flask-policy.S
 
 FLASK_BUILD_DIR := $(CURDIR)
 POLICY_SRC := $(FLASK_BUILD_DIR)/xenpolicy-$(XEN_FULLVERSION)
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:01:09 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:01:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170960.312075 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUB3-0003GS-FC; Tue, 24 Aug 2021 11:01:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170960.312075; Tue, 24 Aug 2021 11:01: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 1mIUB3-0003GH-Bs; Tue, 24 Aug 2021 11:01:09 +0000
Received: by outflank-mailman (input) for mailman id 170960;
 Tue, 24 Aug 2021 11:01:08 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU4S-0001EC-F1
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:54:20 +0000
Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 8e617b9b-5a5e-4494-8b72-22f8ebac187a;
 Tue, 24 Aug 2021 10:52: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: 8e617b9b-5a5e-4494-8b72-22f8ebac187a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802339;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=Egvo0J+VmflXfAlaJgCtB/ylgXyk2Ou1lKw+xDQ2zOE=;
  b=CnLfuk9U2LaijG36A7donSzpU+9S4coJpYh6wmEaDmtjprHtheT8Pak9
   4JmrKEkkNhknilAbvKic0MEgshJAIUDZgzbk/RlYItAPFn9uU3U0j6PuL
   FMAciOArGPjaK7jeAc7ABhGkYSBcH1AeikyMFspg+yHWCDAJpL2DtlMCC
   Y=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: MrliczgKjkZzflRwdjnCOG5/Va3dupq6Bhxuiu6S5anisuXDaTyeSkrI2Z4YI3y+DaeOals0fR
 me7Me/eRTASKPtaeFwQNCN0lQSyK9ZmrOYXNJQqeaUDDfU5cWmGtAObdohMN0c4kIeBx/czBy+
 QSdvarpCoLWMPMErAlydFbxLzGJwsa2ISNtmO1dUEfwIkY65vXELSJprWs479LGI/E3QhjC2Co
 UCYHLPJClaCBLivQ1FFbsLZdDnO5sFHHBt1lfxaUqVGLikv7CVlCo5qoMeXhW+XttGLSKpNP1V
 KBFkZbDZz3+7ssJDHfmfWxkQ
X-SBRS: 5.1
X-MesageID: 51130801
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:+pO/KaABhTwsDlLlHegQsceALOsnbusQ8zAXPh9KJCC9I/bzqy
 nxpp8mPEfP+VAssHFJo7C90dq7MArhHP9OkMIs1NiZLW3bUQeTQr2KjrGSiQEIeReOkdK1vJ
 0IG8QQNDSaNykYsS+O2njcLz9W+qjkzEnHv4bj5kYoaTsvR7Br7g9/BAreOFZxXhN6CZ0wE4
 fZztZbphK7EE5nIviTNz0gZazuttfLnJXpbVotHBg88jSDijuu9frTDwWY5BEDSDlCqI1Svl
 Qt0jaJqJlLgcvLiiM05FWjrKi+X+GRiOerMfb8y/T97A+czzpAKr4RH4Fq9wpF2N1HoGxa6+
 Uk5S1QcvibokmhBF2dsF/j3RLt3y0p7GKnwViEgWH7qci8Xz4iDdFd7LgpBCcxxnBQyO2U6p
 g7qF5xdqAnfC/ojWD4/ZzFRhtqnk27rT4rlvMSlWVWVc8bZKVKpYIS8UtJGNNYdRiKoLwPAa
 1rFoXR9fxWeVSVYzTQuXRu2sWlWjA2Eg2dSkYPt8SJ23xdnWx/zUEf2MsD901wva4VWt1B/a
 DJI65onLZBQosfar98Hv4IRY+tBmnEUXv3QRevyJTcZdM60lf22uDKCZkOlZ2Xka0zvegPcc
 76IS5lXEYJCj3TINzLx5tW7xyIW3m5UV3Wu7Fj26Q=
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51130801"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: 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>, Wei Liu
	<wl@xen.org>, George Dunlap <george.dunlap@citrix.com>, Ian Jackson
	<iwj@xenproject.org>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Daniel De Graaf <dgdegra@tycho.nsa.gov>, "Daniel P.
 Smith" <dpsmith@apertussolutions.com>
Subject: [XEN PATCH v7 44/51] build: add $(srctree) in few key places
Date: Tue, 24 Aug 2021 11:50:31 +0100
Message-ID: <20210824105038.1257926-45-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

This adds $(srctree) to a few path where make's VPATH=$(srctree) won't
apply.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 xen/arch/x86/arch.mk   | 2 +-
 xen/build.mk           | 4 ++--
 xen/include/Makefile   | 4 ++--
 xen/xsm/flask/Makefile | 8 ++++----
 4 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/xen/arch/x86/arch.mk b/xen/arch/x86/arch.mk
index 53b48ded28de..f0dc6820f85c 100644
--- a/xen/arch/x86/arch.mk
+++ b/xen/arch/x86/arch.mk
@@ -63,7 +63,7 @@ ifneq ($(CONFIG_PV_SHIM_EXCLUSIVE),y)
 efi-check-o = arch/x86/efi/check.o
 
 # Check if the compiler supports the MS ABI.
-XEN_BUILD_EFI := $(call if-success,$(CC) $(CFLAGS) -c $(efi-check-o:.o=.c) -o $(efi-check-o),y)
+XEN_BUILD_EFI := $(call if-success,$(CC) $(CFLAGS) -c $(srctree)/$(efi-check-o:.o=.c) -o $(efi-check-o),y)
 
 # Check if the linker supports PE.
 EFI_LDFLAGS := $(patsubst -m%,-mi386pep,$(LDFLAGS)) --subsystem=10
diff --git a/xen/build.mk b/xen/build.mk
index 537c32f42d25..0f9d718709b7 100644
--- a/xen/build.mk
+++ b/xen/build.mk
@@ -25,9 +25,9 @@ define cmd_compile.h
 	    -e 's/@@version@@/$(XEN_VERSION)/g' \
 	    -e 's/@@subversion@@/$(XEN_SUBVERSION)/g' \
 	    -e 's/@@extraversion@@/$(XEN_EXTRAVERSION)/g' \
-	    -e 's!@@changeset@@!$(shell tools/scmversion $(XEN_ROOT) || echo "unavailable")!g' \
+	    -e 's!@@changeset@@!$(shell $(srctree)/tools/scmversion $(XEN_ROOT) || echo "unavailable")!g' \
 	    < $< > $(dot-target).tmp; \
-	sed -rf tools/process-banner.sed < .banner >> $(dot-target).tmp; \
+	sed -rf $(srctree)/tools/process-banner.sed < .banner >> $(dot-target).tmp; \
 	mv -f $(dot-target).tmp $@; \
     fi
 endef
diff --git a/xen/include/Makefile b/xen/include/Makefile
index 341196306abd..0b72c129da69 100644
--- a/xen/include/Makefile
+++ b/xen/include/Makefile
@@ -51,7 +51,7 @@ $(obj)/compat/%.i: $(obj)/compat/%.c $(src)/Makefile
 
 $(obj)/compat/%.c: $(src)/public/%.h $(src)/xlat.lst $(src)/Makefile $(BASEDIR)/tools/compat-build-source.py
 	mkdir -p $(@D)
-	$(PYTHON) $(BASEDIR)/tools/compat-build-source.py $(src)/xlat.lst <$< >$@.new
+	$(PYTHON) $(BASEDIR)/tools/compat-build-source.py $(srctree)/$(src)/xlat.lst <$< >$@.new
 	mv -f $@.new $@
 
 $(obj)/compat/.xlat/%.h: $(obj)/compat/%.h $(obj)/compat/.xlat/%.lst $(BASEDIR)/tools/get-fields.sh $(src)/Makefile
@@ -67,7 +67,7 @@ $(obj)/compat/.xlat/%.lst: $(src)/xlat.lst $(src)/Makefile
 	grep -v '^[[:blank:]]*#' $< | sed -ne 's,@arch@,$(compat-arch-y),g' -re 's,[[:blank:]]+$*\.h[[:blank:]]*$$,,p' >$@.new
 	$(call move-if-changed,$@.new,$@)
 
-xlat-y := $(shell sed -ne 's,@arch@,$(compat-arch-y),g' -re 's,^[?!][[:blank:]]+[^[:blank:]]+[[:blank:]]+,,p' $(src)/xlat.lst | uniq)
+xlat-y := $(shell sed -ne 's,@arch@,$(compat-arch-y),g' -re 's,^[?!][[:blank:]]+[^[:blank:]]+[[:blank:]]+,,p' $(srctree)/$(src)/xlat.lst | uniq)
 xlat-y := $(filter $(patsubst compat/%,%,$(headers-y)),$(xlat-y))
 
 $(obj)/compat/xlat.h: $(addprefix $(obj)/compat/.xlat/,$(xlat-y)) $(obj)/config/auto.conf $(src)/Makefile
diff --git a/xen/xsm/flask/Makefile b/xen/xsm/flask/Makefile
index bff36aa97918..56aed07e27fe 100644
--- a/xen/xsm/flask/Makefile
+++ b/xen/xsm/flask/Makefile
@@ -8,8 +8,8 @@ CFLAGS-y += -I$(obj)/include
 
 AWK = awk
 
-FLASK_H_DEPEND := $(addprefix $(src)/policy/,security_classes initial_sids)
-AV_H_DEPEND = $(src)/policy/access_vectors
+FLASK_H_DEPEND := $(addprefix $(srctree)/$(src)/policy/,security_classes initial_sids)
+AV_H_DEPEND = $(srctree)/$(src)/policy/access_vectors
 
 FLASK_H_FILES := flask.h class_to_string.h initial_sid_to_string.h
 AV_H_FILES := av_perm_to_string.h av_permissions.h
@@ -18,14 +18,14 @@ ALL_H_FILES := $(addprefix include/,$(FLASK_H_FILES) $(AV_H_FILES))
 $(addprefix $(obj)/,$(obj-y)) $(obj)/ss/built_in.o: $(addprefix $(obj)/,$(ALL_H_FILES))
 extra-y += $(ALL_H_FILES)
 
-mkflask := $(src)/policy/mkflask.sh
+mkflask := $(srctree)/$(src)/policy/mkflask.sh
 quiet_cmd_mkflask = MKFLASK $@
 cmd_mkflask = $(SHELL) $(mkflask) $(AWK) $(obj)/include $(FLASK_H_DEPEND)
 
 $(addprefix $(obj)/%/,$(FLASK_H_FILES)): $(FLASK_H_DEPEND) $(mkflask) FORCE
 	$(call if_changed,mkflask)
 
-mkaccess := $(src)/policy/mkaccess_vector.sh
+mkaccess := $(srctree)/$(src)/policy/mkaccess_vector.sh
 quiet_cmd_mkaccess = MKACCESS VECTOR $@
 cmd_mkaccess = $(SHELL) $(mkaccess) $(AWK) $(obj)/include $(AV_H_DEPEND)
 
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:01:24 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:01:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170962.312086 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUBH-0003un-RM; Tue, 24 Aug 2021 11:01:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170962.312086; Tue, 24 Aug 2021 11: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 1mIUBH-0003ug-Ln; Tue, 24 Aug 2021 11:01:23 +0000
Received: by outflank-mailman (input) for mailman id 170962;
 Tue, 24 Aug 2021 11:01:23 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU2g-0003Ux-Ax
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:52:30 +0000
Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 494f4692-04c9-11ec-a8c5-12813bfff9fa;
 Tue, 24 Aug 2021 10:51: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: 494f4692-04c9-11ec-a8c5-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802310;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=vEelbM4UoXbBjdC2Us5bYDimWRQuQticI4pfz6oeico=;
  b=AtqoZtSTf0BBr4W/oSLNxSVY5Zaw0EqmcVbxNYZiltMktQG0r8WcdY3H
   8z+tcwCgfDLIiksRIzoVa2Vf2T+VxAOG363zSmiNF4Es7Df9MtUsUQCzQ
   k6UYZExK/C8cxShyQvOp+4s/vbhYvaIBXOaLNAyZqD6EgGEmJ/yGomZw/
   o=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: K/J/akUfpicZ6OzK9IaEFb0RO9niAiRqNr7aZimZGWj5ic+hUsiB3DOwWn15nxWmazaz/lZ+PC
 nSxUYSxF4LlJdaqayN7IJJfWYA031dK8nR4uEnnFPJJwBTxFihoNdSHgIVY+vlUVOd2rN9HAGP
 1WVYfGKEQ7tVsUTYM4Lw9sEJPFhetQykunHnIy2FVNAUR8Yu4WSjiH8F9D4STYjuYX8hSiXKmD
 wee8e4qRr/F2tgFOceRTrei1PIbt8e+hPfBqv6wJQeQHTzvbN9BXrA557ThYnk7kV7qKHaaEWq
 lLECsuzaxC6Sg8SRa4Uii0of
X-SBRS: 5.1
X-MesageID: 50772220
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:a1Duva4RO7YUTBA3uQPXwPDXdLJyesId70hD6qhwISY6TiX+rb
 HJoB17726NtN9/YhEdcLy7VJVoBEmskKKdgrNhWotKPjOW21dARbsKheCJrgEIWReOktK1vZ
 0QCpSWY+eQMbEVt6nHCXGDYrQd/OU=
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="50772220"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Doug Goldstein
	<cardoe@cardoe.com>
Subject: [XEN PATCH v7 31/51] xen/tools/kconfig: fix build with -Wdeclaration-after-statement
Date: Tue, 24 Aug 2021 11:50:18 +0100
Message-ID: <20210824105038.1257926-32-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

We are going to start building kconfig with HOSTCFLAGS from Config.mk,
it has the flag "-Wdeclaration-after-statement".

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 xen/tools/kconfig/confdata.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/tools/kconfig/confdata.c b/xen/tools/kconfig/confdata.c
index 3569d2dec37c..a69250c91355 100644
--- a/xen/tools/kconfig/confdata.c
+++ b/xen/tools/kconfig/confdata.c
@@ -1237,6 +1237,7 @@ void set_all_choice_values(struct symbol *csym)
 
 bool conf_set_all_new_symbols(enum conf_def_mode mode)
 {
+	bool has_changed = false;
 	struct symbol *sym, *csym;
 	int i, cnt, pby, pty, ptm;	/* pby: probability of bool     = y
 					 * pty: probability of tristate = y
@@ -1283,7 +1284,6 @@ bool conf_set_all_new_symbols(enum conf_def_mode mode)
 			exit( 1 );
 		}
 	}
-	bool has_changed = false;
 
 	for_all_symbols(i, sym) {
 		if (sym_has_value(sym) || (sym->flags & SYMBOL_VALID))
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:01:25 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:01:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170964.312097 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUBJ-0004Do-40; Tue, 24 Aug 2021 11:01:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170964.312097; Tue, 24 Aug 2021 11:01:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUBI-0004Ce-Vx; Tue, 24 Aug 2021 11:01:24 +0000
Received: by outflank-mailman (input) for mailman id 170964;
 Tue, 24 Aug 2021 11:01:23 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU48-0001EC-EX
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:54:00 +0000
Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 40e21d5a-37bb-40ae-96b4-b3fcbf82905b;
 Tue, 24 Aug 2021 10:52: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: 40e21d5a-37bb-40ae-96b4-b3fcbf82905b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802321;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=xRhF1EY/QRtV5cyAdngF/J6PljqQGZ9sLSwIGFFQ1do=;
  b=hBcBdXy9FfJCzsd/e5/GhnBBMA/1WIzrNPOnGm8ls/IdHeFrBf0dsRcq
   FTycmRIfhKasIDeRJMj+xITzM00Gcq0uqYTCIR2mccMVxryn114XeLHfC
   EHnVKxjwVsQv7CYMN/04mc/Tjt3oIhD3LQxxCR2bIfKVrFrPPz+jfdtrc
   I=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: 8Pi9jibUCalk3QDJxoRQbBzIKB1rsgoQSyCyx3jEvp1739Chw+CAKXsS3nPyLTQKi4lJ2LJmlp
 ZED/8KyRElYy3zq537iHhcTJO9oIdkk5E3yUbVKXYbibAtjI2JwIHKdGYeUOAiV1Ho84xcR8fj
 g0xo7Ob5FBREY+1Rq8gHnw0R3XmftwqbcT5Z0pLSAQUhVjPEPBPLsv3NXxY5POZq2qprAa7xtS
 73YaBvjVIRq4yCB36xskESOZpDX4e+I7x47rwpbyQrcpBxiQncYV+l5F2p4zNNIcYJsYhqPjkH
 SOBNCWP+kpCWGGGu23ZJtHOc
X-SBRS: 5.1
X-MesageID: 51153594
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:fMZf2arIimsxEIPcRlDuP6YaV5uXL9V00zEX/kB9WHVpm5Oj+v
 xGzc5w6farsl0ssSkb6La90KnpexPhHO1OkPAs1NaZLULbUQSTXeVfBOfZrQEIeBeOvNK1t5
 0QFJSWYeeYZTQUsS+Q2njaLz9U+qjjzEnev5a9854Cd2BXQpAlyz08JheQE0VwSgUDL4E+Do
 Cg6s1OoCflUWgLb+ygb0N1E9TrlpnurtbLcBQGDxko5E2lljWz8oP3FBCew1M3Ty5P+7E/6m
 LI+jaJqZlL8svLhCM05VWjr6i+q+GRieerw/b8yPT9Hw+cyzpAor4RHoFq8gpF5N1Ho2xa6O
 Uk6y1QRPibrUmhM11d6CGdoTXIwXIg7WTvxkSfhmamqcvlRCgiA84Eno5BdADFgnBQyu2U/Z
 g7q15xjaAnei8oXR6NluTgRlVvjA65sHAimekcgzhWVpYfcqZYqcga8FlOGJkNESrm4MR/ed
 MeRP309bJTaxeXfnrZtm5gzJilWWkyBA6PRgwHttaO2zZbkXhlxw8TxdAZnH0H6JUhIqM0rt
 jsI+BtjvVDX8UWZaVyCKMIRta2EHXERVbWPGebMT3cZdQ60rL22uzKCZAOlZ+XkbAzvecPca
 X6ISBlXDQJCj/T4OW1reJ22wGIW2OgQDio0d1a6/FCy83BeIY=
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51153594"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: 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>, Wei Liu
	<wl@xen.org>
Subject: [XEN PATCH v7 36/51] build: generate x86's asm-macros.h with filechk
Date: Tue, 24 Aug 2021 11:50:23 +0100
Message-ID: <20210824105038.1257926-37-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

When we will build out-of-tree, make is going to try to generate
"asm-macros.h" before the directories "arch/x86/include/asm" exist,
thus we would need to call `mkdir` explicitly. We will use "filechk"
for that as it does everything that the current recipe does and does
call `mkdir`.

Also, they are no more "*.new" files generated in this directory.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 xen/arch/x86/Makefile | 29 ++++++++++++++++-------------
 1 file changed, 16 insertions(+), 13 deletions(-)

diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 05f1d12065a0..1ef2536ece26 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -233,18 +233,21 @@ include: $(BASEDIR)/arch/x86/include/asm/asm-macros.h
 $(obj)/asm-macros.i: CFLAGS-y += -D__ASSEMBLY__ -P
 
 $(BASEDIR)/arch/x86/include/asm/asm-macros.h: $(obj)/asm-macros.i $(src)/Makefile
-	echo '#if 0' >$@.new
-	echo '.if 0' >>$@.new
-	echo '#endif' >>$@.new
-	echo '#ifndef __ASM_MACROS_H__' >>$@.new
-	echo '#define __ASM_MACROS_H__' >>$@.new
-	echo 'asm ( ".include \"$@\"" );' >>$@.new
-	echo '#endif /* __ASM_MACROS_H__ */' >>$@.new
-	echo '#if 0' >>$@.new
-	echo '.endif' >>$@.new
-	cat $< >>$@.new
-	echo '#endif' >>$@.new
-	$(call move-if-changed,$@.new,$@)
+	$(call filechk,asm-macros.h)
+
+define filechk_asm-macros.h
+    echo '#if 0'; \
+    echo '.if 0'; \
+    echo '#endif'; \
+    echo '#ifndef __ASM_MACROS_H__'; \
+    echo '#define __ASM_MACROS_H__'; \
+    echo 'asm ( ".include \"$@\"" );'; \
+    echo '#endif /* __ASM_MACROS_H__ */'; \
+    echo '#if 0'; \
+    echo '.endif'; \
+    cat $<; \
+    echo '#endif'
+endef
 
 $(obj)/efi.lds: AFLAGS-y += -DEFI
 $(obj)/xen.lds $(obj)/efi.lds: $(src)/xen.lds.S FORCE
@@ -258,7 +261,7 @@ $(obj)/efi/mkreloc: $(src)/efi/mkreloc.c
 
 .PHONY: clean
 clean::
-	rm -f *.lds *.new boot/*.o boot/*~ boot/core boot/mkelf32
+	rm -f *.lds boot/*.o boot/*~ boot/core boot/mkelf32
 	rm -f asm-macros.i $(BASEDIR)/arch/x86/include/asm/asm-macros.*
 	rm -f $(BASEDIR)/.xen-syms.[0-9]* boot/.*.d $(BASEDIR)/.xen.elf32
 	rm -f $(BASEDIR)/.xen.efi.[0-9]* efi/*.efi efi/mkreloc
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:01:25 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:01:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170965.312102 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUBJ-0004IW-Nn; Tue, 24 Aug 2021 11:01:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170965.312102; Tue, 24 Aug 2021 11:01:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUBJ-0004Hn-CK; Tue, 24 Aug 2021 11:01:25 +0000
Received: by outflank-mailman (input) for mailman id 170965;
 Tue, 24 Aug 2021 11:01:23 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU2l-0003Ux-BE
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:52:35 +0000
Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 48f60f1e-04c9-11ec-a8c5-12813bfff9fa;
 Tue, 24 Aug 2021 10:51:50 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 48f60f1e-04c9-11ec-a8c5-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802310;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=8C0xAdMUUfkJ37y514dbn4rwdZzvKCfmub6TXPDdPqE=;
  b=KxTPTE6Qb92z08PH3mjjNxD8A3R2uLtqGnmM/A+vs4LTXPXuxY5SKxCk
   yzBm0bwT+F1HqaarS1R6vD8qzczTS+uN+EF17c0D2NrvT16KZFfASjnRW
   oHgDVEWNIL6Y8tGSear9M+hQF7rzuRwT2HawEM0R5M5750lR/qUHgW2iD
   A=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: zhf6Rgnp4MiaqAvZY4qkAEIxayiu1O1ZkOs98h5T3MxWkHVVJibf2yaDAmq61XI4aS5B/O77tZ
 8VwP2spuwcTQUEK0q8cryluO9rt0AalnF+SCmqHtTi8XteYZ4SVYKEg0qOI2RRJcrd0zb7gZA3
 sLHZk48w1/+iuA71aChzUAexRoUsonu8+SOZK0BMrYgSsY4jN6B5Ocxe1pQfZs7eMSFlhaKJGy
 /k8/WOMWs/YNKweZlU1A4A8NG6/z+EPPkiINZBLE/ved/MVzShwaAR7ynAX5MREJcgweKxWhaZ
 jGuVdTMgNrEbqWcgb9SzV3++
X-SBRS: 5.1
X-MesageID: 51540928
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:utxec6q07c76T4TACoUzwh8aV5uZL9V00zEX/kB9WHVpm5Oj+v
 xGzc5w6farsl0ssSkb6Ku90KnpewK+yXcH2/hqAV7CZnirhILMFu1fBOTZslrd8kHFl9K1kJ
 0QC5SWa+eAQmSS7/yKhjVQeuxIqLbozEnrv5am854Hd3AJV0gU1XYcNu/tKDwSeOApP/oEPa
 vZwvACiyureHwRYMj+LGICRfL/q9rCk4+jSQIaBjY8gTP+zA+A2frfKVy1zx0eWzRAzfMJ6m
 7eiTH04a2lrrWS1gLc7WnO9J5b8eGRiuerRfb8yfT9GA+czzpAV74RH4FqewpF591H3Wxa0u
 UkZS1QefibpUmhJ11d6iGdpjUImAxel0MKj2Xoz0cL6PaJOw4SGo5Pg5lUfQDe7FdltNZg0L
 hT12bcrJZPCwjc9R6Nr+Qg+Csa5XZcjEBS59L7tUYvGLf2qYUh37A37QdQCtMNDSj64IcoHK
 1nC9zd/u9fdRefY2rCtmdizdSwVjBrdy32CHQqq4iQyXxbjXp5x0wXyIgWmWoB7os0T91B6/
 7fOqplmblSRosdbL57Bu0GXcyrY1a9Ci7kISaXOxDqBasHM3XCp9r+56g0/vijfNgSwJ47iP
 36ISRlXK4JCjbT4Oi1rdB2Gzz2MRSAtAXWu7RjDsJCy8PBrZLQQF2+dGw=
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51540928"
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>, "Ian
 Jackson" <iwj@xenproject.org>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>, Doug Goldstein <cardoe@cardoe.com>
Subject: [XEN PATCH v7 30/51] build: hook kconfig into xen build system
Date: Tue, 24 Aug 2021 11:50:17 +0100
Message-ID: <20210824105038.1257926-31-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Now that xen's build system is very close to Linux's ones, we can hook
"Makefile.host" into Xen's build system, and we can build Kconfig with
that.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 xen/Makefile                                 |  34 ++++--
 xen/Rules.mk                                 |  13 ++-
 xen/scripts/Kbuild.include                   |  31 ++++++
 xen/scripts/Makefile.clean                   |   9 ++
 xen/{tools/kconfig => scripts}/Makefile.host |   3 +
 xen/tools/kconfig/Makefile.kconfig           | 106 -------------------
 6 files changed, 78 insertions(+), 118 deletions(-)
 rename xen/{tools/kconfig => scripts}/Makefile.host (98%)
 delete mode 100644 xen/tools/kconfig/Makefile.kconfig

diff --git a/xen/Makefile b/xen/Makefile
index 1b5517b02a8c..0da08bc39930 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -33,6 +33,7 @@ ARCH=$(XEN_TARGET_ARCH)
 SRCARCH=$(shell echo $(ARCH) | \
           sed -e 's/x86.*/x86/' -e s'/arm\(32\|64\)/arm/g' \
               -e s'/riscv.*/riscv/g')
+export ARCH SRCARCH
 
 # Don't break if the build process wasn't called from the top level
 # we need XEN_TARGET_ARCH to generate the proper config
@@ -156,6 +157,13 @@ ifneq ($(filter %config,$(MAKECMDGOALS)),)
     config-build := y
 endif
 
+export CONFIG_SHELL := $(SHELL)
+export YACC = $(if $(BISON),$(BISON),bison)
+export LEX = $(if $(FLEX),$(FLEX),flex)
+
+# Default file for 'make defconfig'.
+export KBUILD_DEFCONFIG := $(ARCH)_defconfig
+
 # CLANG_FLAGS needs to be calculated before calling Kconfig
 ifneq ($(shell $(CC) --version 2>&1 | head -n 1 | grep clang),)
 CLANG_FLAGS :=
@@ -194,22 +202,19 @@ PHONY += tools_fixdep
 tools_fixdep:
 	$(MAKE) -C tools fixdep
 
-# Shorthand for kconfig
-kconfig = -f $(BASEDIR)/tools/kconfig/Makefile.kconfig ARCH=$(ARCH) SRCARCH=$(SRCARCH) HOSTCC="$(HOSTCC)" HOSTCXX="$(HOSTCXX)"
-
 ifeq ($(config-build),y)
 # ===========================================================================
 # *config targets only - make sure prerequisites are updated, and descend
 # in tools/kconfig to make the *config target
 
-config: FORCE
-	$(MAKE) $(kconfig) $@
+config: tools_fixdep FORCE
+	$(Q)$(MAKE) $(build)=tools/kconfig $@
 
 # Config.mk tries to include .config file, don't try to remake it
 %/.config: ;
 
-%config: FORCE
-	$(MAKE) $(kconfig) $@
+%config: tools_fixdep FORCE
+	$(Q)$(MAKE) $(build)=tools/kconfig $@
 
 else # !config-build
 
@@ -219,9 +224,15 @@ ifeq ($(need-config),y)
 # changes are detected.
 -include include/config/auto.conf.cmd
 
+# This allows make to build fixdep before invoking defconfig. We can't use
+# "tools_fixdep" which is a .PHONY target and would force make to call
+# "defconfig" again to update $(KCONFIG_CONFIG).
+tools/fixdep:
+	$(MAKE) -C tools fixdep
+
 # Allow people to just run `make` as before and not force them to configure
-$(KCONFIG_CONFIG):
-	$(MAKE) $(kconfig) defconfig
+$(KCONFIG_CONFIG): tools/fixdep
+	$(Q)$(MAKE) $(build)=tools/kconfig defconfig
 
 # The actual configuration files used during the build are stored in
 # include/generated/ and include/config/. Update them if .config is newer than
@@ -230,7 +241,7 @@ $(KCONFIG_CONFIG):
 # This exploits the 'multi-target pattern rule' trick.
 # The syncconfig should be executed only once to make all the targets.
 include/config/%.conf include/config/%.conf.cmd: $(KCONFIG_CONFIG)
-	$(MAKE) $(kconfig) syncconfig
+	$(Q)$(MAKE) $(build)=tools/kconfig syncconfig
 
 ifeq ($(CONFIG_DEBUG),y)
 CFLAGS += -O1
@@ -391,9 +402,10 @@ _clean:
 	$(MAKE) $(clean) arch/riscv
 	$(MAKE) $(clean) arch/x86
 	$(MAKE) $(clean) test
-	$(MAKE) $(kconfig) clean
+	$(MAKE) $(clean) tools/kconfig
 	find . \( -name "*.o" -o -name ".*.d" -o -name ".*.d2" \
 		-o -name ".*.o.tmp" -o -name "*~" -o -name "core" \
+		-o -name '*.lex.c' -o -name '*.tab.[ch]' \
 		-o -name "*.gcno" -o -name ".*.cmd" -o -name "lib.a" \) -exec rm -f {} \;
 	rm -f include/asm $(TARGET) $(TARGET).gz $(TARGET).efi $(TARGET).efi.map $(TARGET)-syms $(TARGET)-syms.map *~ core
 	rm -f asm-offsets.s arch/*/include/asm/asm-offsets.h
diff --git a/xen/Rules.mk b/xen/Rules.mk
index f1043a78a332..760ccff0e8f1 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -94,6 +94,13 @@ subdir-y        := $(addprefix $(obj)/,$(subdir-y))
 nocov-y         := $(addprefix $(obj)/,$(nocov-y))
 noubsan-y       := $(addprefix $(obj)/,$(noubsan-y))
 
+# Do not include hostprogs rules unless needed.
+# $(sort ...) is used here to remove duplicated words and excessive spaces.
+hostprogs-y := $(sort $(hostprogs-y))
+ifneq ($(hostprogs-y),)
+include scripts/Makefile.host
+endif
+
 # subdir-builtin may contain duplications. Use $(sort ...)
 subdir-builtin := $(sort $(filter %/built_in.o, $(obj-y)))
 
@@ -272,7 +279,11 @@ intermediate_targets = $(foreach sfx, $(2), \
 				$(patsubst %$(strip $(1)),%$(sfx), \
 					$(filter %$(strip $(1)), $(targets))))
 # %.init.o <- %.o
-targets += $(call intermediate_targets, .init.o, .o)
+# %.lex.o <- %.lex.c <- %.l
+# %.tab.o <- %.tab.[ch] <- %.y
+targets += $(call intermediate_targets, .init.o, .o) \
+	   $(call intermediate_targets, .lex.o, .lex.c) \
+	   $(call intermediate_targets, .tab.o, .tab.c .tab.h)
 
 # Build
 # ---------------------------------------------------------------------------
diff --git a/xen/scripts/Kbuild.include b/xen/scripts/Kbuild.include
index aa3a8a1bd9e7..3e436639da1c 100644
--- a/xen/scripts/Kbuild.include
+++ b/xen/scripts/Kbuild.include
@@ -25,6 +25,37 @@ real-prereqs = $(filter-out $(PHONY), $^)
 # Escape single quote for use in echo statements
 escsq = $(subst $(squote),'\$(squote)',$1)
 
+###
+# Easy method for doing a status message
+       kecho := :
+ quiet_kecho := echo
+silent_kecho := :
+kecho := $($(quiet)kecho)
+
+###
+# filechk is used to check if the content of a generated file is updated.
+# Sample usage:
+#
+# filechk_sample = echo $(KERNELRELEASE)
+# version.h: FORCE
+#	$(call filechk,sample)
+#
+# The rule defined shall write to stdout the content of the new file.
+# The existing file will be compared with the new one.
+# - If no file exist it is created
+# - If the content differ the new file is used
+# - If they are equal no change, and no timestamp update
+define filechk
+	$(Q)set -e;						\
+	mkdir -p $(dir $@);					\
+	trap "rm -f $(dot-target).tmp" EXIT;			\
+	{ $(filechk_$(1)); } > $(dot-target).tmp;		\
+	if [ ! -r $@ ] || ! cmp -s $@ $(dot-target).tmp; then	\
+		$(kecho) '  UPD     $@';			\
+		mv -f $(dot-target).tmp $@;			\
+	fi
+endef
+
 # as-insn: Check whether assembler supports an instruction.
 # Usage: cflags-y += $(call as-insn,CC FLAGS,"insn",option-yes,option-no)
 as-insn = $(if $(shell echo 'void _(void) { asm volatile ( $(2) ); }' \
diff --git a/xen/scripts/Makefile.clean b/xen/scripts/Makefile.clean
index 36b7e7e92f93..156d6307cf83 100644
--- a/xen/scripts/Makefile.clean
+++ b/xen/scripts/Makefile.clean
@@ -17,8 +17,17 @@ include $(src)/Makefile
 subdir-all := $(subdir-y) $(subdir-n) $(subdir-) \
               $(patsubst %/,%, $(filter %/, $(obj-y) $(obj-n) $(obj-)))
 
+__clean-files := \
+    $(clean-files) $(hostprogs-y) $(hostprogs-)
+
+__clean-files := $(wildcard $(__clean-files))
+
 .PHONY: clean
 clean:: $(subdir-all)
+ifneq ($(strip $(__clean-files)),)
+	rm -rf $(__clean-files)
+endif
+	@:
 
 # Descending
 # ---------------------------------------------------------------------------
diff --git a/xen/tools/kconfig/Makefile.host b/xen/scripts/Makefile.host
similarity index 98%
rename from xen/tools/kconfig/Makefile.host
rename to xen/scripts/Makefile.host
index 4c51c95d40f4..61c7bff7a9bb 100644
--- a/xen/tools/kconfig/Makefile.host
+++ b/xen/scripts/Makefile.host
@@ -1,5 +1,8 @@
 # SPDX-License-Identifier: GPL-2.0
 
+# target with $(obj)/ and its suffix stripped
+target-stem = $(basename $(patsubst $(obj)/%,%,$@))
+
 # LEX
 # ---------------------------------------------------------------------------
 quiet_cmd_flex = LEX     $@
diff --git a/xen/tools/kconfig/Makefile.kconfig b/xen/tools/kconfig/Makefile.kconfig
deleted file mode 100644
index 799321ec4d07..000000000000
--- a/xen/tools/kconfig/Makefile.kconfig
+++ /dev/null
@@ -1,106 +0,0 @@
-# xen/tools/kconfig
-
-# default rule to do nothing
-all:
-
-# Xen doesn't have a silent build flag
-quiet :=
-Q :=
-kecho := :
-
-# eventually you'll want to do out of tree builds
-srctree := $(BASEDIR)
-objtree := $(srctree)
-src := tools/kconfig
-obj := $(src)
-
-# handle functions (most of these lifted from different Linux makefiles
-dot-target = $(dir $@).$(notdir $@)
-depfile = $(subst $(comma),,$(dot-target).d)
-basetarget = $(basename $(notdir $@))
-# target with $(obj)/ and its suffix stripped
-target-stem = $(basename $(patsubst $(obj)/%,%,$@))
-cmd = $(cmd_$(1))
-if_changed = $(cmd_$(1))
-if_changed_dep = $(cmd_$(1))
-
-###
-# filechk is used to check if the content of a generated file is updated.
-# Sample usage:
-#
-# filechk_sample = echo $(KERNELRELEASE)
-# version.h: FORCE
-#	$(call filechk,sample)
-#
-# The rule defined shall write to stdout the content of the new file.
-# The existing file will be compared with the new one.
-# - If no file exist it is created
-# - If the content differ the new file is used
-# - If they are equal no change, and no timestamp update
-# - stdin is piped in from the first prerequisite ($<) so one has
-#   to specify a valid file as first prerequisite (often the kbuild file)
-define filechk
-	$(Q)set -e;				\
-	mkdir -p $(dir $@);			\
-	{ $(filechk_$(1)); } > $@.tmp;		\
-	if [ -r $@ ] && cmp -s $@ $@.tmp; then	\
-		rm -f $@.tmp;			\
-	else					\
-		$(kecho) '  UPD     $@';	\
-		mv -f $@.tmp $@;		\
-	fi
-endef
-
-define multi_depend
-$(foreach m, $(notdir $1), \
-	$(eval $(obj)/$m: \
-	$(addprefix $(obj)/, $(foreach s, $3, $($(m:%$(strip $2)=%$(s)))))))
-endef
-
-# Set our default defconfig file
-KBUILD_DEFCONFIG := $(ARCH)_defconfig
-
-# provide our shell
-CONFIG_SHELL := $(SHELL)
-
-# provide the host compiler
-HOSTCC ?= gcc
-HOSTCXX ?= g++
-YACC = $(if $(BISON),$(BISON),bison)
-LEX = $(if $(FLEX),$(FLEX),flex)
-
-# force target
-PHONY += FORCE
-
-FORCE:
-
-# include the original Makefile and Makefile.host from Linux
-include $(src)/Makefile
-include $(src)/Makefile.host
-
-# Add intermediate targets:
-# When building objects with specific suffix patterns, add intermediate
-# targets that the final targets are derived from.
-intermediate_targets = $(foreach sfx, $(2), \
-				$(patsubst %$(strip $(1)),%$(sfx), \
-					$(filter %$(strip $(1)), $(targets))))
-
-# %.lex.o <- %.lex.c <- %.l
-# %.tab.o <- %.tab.[ch] <- %.y
-targets += $(call intermediate_targets, .lex.o, .lex.c) \
-	   $(call intermediate_targets, .tab.o, .tab.c .tab.h)
-
-# clean up rule
-clean-deps = $(foreach f,$(host-cobjs) $(host-cxxobjs),$(dir $f).$(notdir $f).d)
-clean-shipped = $(patsubst %_shipped,%,$(wildcard $(obj)/*_shipped))
-
-clean:
-	rm -rf $(clean-files)
-	rm -rf $(clean-deps)
-	rm -rf $(host-csingle) $(host-cmulti) $(host-cxxmulti) $(host-cobjs) $(host-cxxobjs)
-	rm -rf $(clean-shipped)
-
-$(obj)/zconf%: $(src)/zconf%_shipped
-	cp -f $< $@
-
-.PHONY: $(PHONY)
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:01:31 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:01:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170972.312119 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUBP-00054m-9M; Tue, 24 Aug 2021 11:01:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170972.312119; Tue, 24 Aug 2021 11: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 1mIUBP-000543-3t; Tue, 24 Aug 2021 11:01:31 +0000
Received: by outflank-mailman (input) for mailman id 170972;
 Tue, 24 Aug 2021 11:01:30 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU4D-0003Ux-ER
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:54:05 +0000
Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 61415b14-04c9-11ec-a8c6-12813bfff9fa;
 Tue, 24 Aug 2021 10:52: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: 61415b14-04c9-11ec-a8c6-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802351;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=qIhqeksXTsJld6lhwEnOa5nx/YE0BWnrn6VUwRvVnk4=;
  b=ZjW+KAJIsmAOAxLmt0dtP4h/vj0SuNM4Hf7gsC8Y3uXRXxYZFIru1glF
   pA8sG2b81dsbNAhF8AeIZrj9spF4Zs6AbzMnEKAdewcIeHNKJIzL8BCTd
   p9TRnfHUeuVT9aNyoVfkF44UaE5K0Bz81JSkjliahAVNq8OrrzTNGE5HS
   M=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: fHKQ0ZvUS7+lvVLYCyJjtkAi7/fyG2TviMf6NFjK1fY3NxLxTYJ9vOMsccwVlqKUYR95fSAt/h
 u2sKMJjEM7m3wSxrRKfJB/Frc/Y3tKV4+UCRkeTTbHxOh1Ppl2cSk5JBuQBSIiyOmSM5i9uIdy
 PBuO7ZRS0UzZRbXUNNtGZD5YbHJZ+p4mQh7fJ53ndDADfeUKMkoHFVwFwhiJbPh7s8iU6xKi3m
 CSgDeAvSYOHDhpJ9B4JX2vh/hVYnyWHq6i6q1Wng6mVoJyLaptAGUbh8k8W44mu5oXadkuyujm
 K2RZsu/NdXoZzqfgEqHjGiIu
X-SBRS: 5.1
X-MesageID: 51130805
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:KQ+fb68kV0JJoj8PmLZuk+Fkdb1zdoMgy1knxilNoENuH/Bwxv
 rFoB1E73TJYW4qKRcdcdDpAsm9qADnhOdICOgqTPyftWbdyQ+Vxe1Zg7cKoAeQUREWlNQtsp
 uIGpIWYLGeMbEQt7eY3ODMKadE/DDxytHLuQ6x9RZQZDAvT5slwxZyCw6dHEEzbhJBH4AFGJ
 2V4dcCjya8eFwMB/7LSkUtbqzmnZnmhZjmaRkJC1oM8w+Vlw6l77b8DlyxwgoeaTVS2r0vmF
 K13DARp5/T/c1T+CWsl1M73K4m2+cJDeEzRvBkv/JlawkETDzYIbiJFYfy+Azd69vfkGrC2O
 O82CvIef4Dpk85N1vF2yfFyk3u1i0j5GTlzkLdiXz/odbhTDZ/EMZZg5lFGyGpnXbIkesMpJ
 6j5VjpwKa/zCmw7RjV9pzNTVVnh0C0qX0tnaoaiGFeS5IXbPtUoZYE9E1YHZ8cFGaigbpXWN
 VGHYXZ/rJbYFmaZ3fWsi1mx8GtRG06GlODTlIZssKY3jBKlDRyzlcexsYYgnAcnahNAqVs9q
 DBKOBlhbtORsgZYeZ0A/oAW9K+DijXTRfFIAupUCHa/WE8SgDwQrvMkcsIDc2RCeA1JaoJ6e
 f8uQljxBMPkmrVeLKz9YwO6RbQXWn4RijpxqhlluhEhoE=
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51130805"
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>, "Ian
 Jackson" <iwj@xenproject.org>, 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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, "Konrad
 Rzeszutek Wilk" <konrad.wilk@oracle.com>, Ross Lagerwall
	<ross.lagerwall@citrix.com>, Daniel De Graaf <dgdegra@tycho.nsa.gov>, "Daniel
 P. Smith" <dpsmith@apertussolutions.com>
Subject: [XEN PATCH v7 49/51] build: adding out-of-tree support to the xen build
Date: Tue, 24 Aug 2021 11:50:36 +0100
Message-ID: <20210824105038.1257926-50-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

This implement out-of-tree support, there's two ways to create an
out-of-tree build tree (after that, `make` in that new directory
works):
    make O=build
    mkdir build; cd build; make -f ../Makefile
also works with an absolute path for both.

This implementation only works if the source tree is clean, as we use
VPATH.

This patch copies most new code with handling out-of-tree build from
Linux v5.12.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 xen/Makefile                | 173 +++++++++++++++++++++++++++++-------
 xen/Rules.mk                |  11 ++-
 xen/arch/arm/efi/Makefile   |   3 +
 xen/arch/x86/arch.mk        |   3 +
 xen/arch/x86/boot/Makefile  |   5 +-
 xen/arch/x86/efi/Makefile   |   3 +
 xen/include/Makefile        |   9 +-
 xen/scripts/mkmakefile      |  17 ++++
 xen/test/livepatch/Makefile |   2 +
 xen/xsm/flask/Makefile      |   3 +
 xen/xsm/flask/ss/Makefile   |   3 +
 11 files changed, 194 insertions(+), 38 deletions(-)
 create mode 100755 xen/scripts/mkmakefile

diff --git a/xen/Makefile b/xen/Makefile
index 67ced3e92689..d27c213c3aa9 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -1,3 +1,7 @@
+# $(lastword,) for GNU Make older than 0.81
+lastword = $(word $(words $(1)),$(1))
+this-makefile := $(call lastword,$(MAKEFILE_LIST))
+
 # This is the correct place to edit the build version.
 # All other places this is stored (eg. compile.h) should be autogenerated.
 export XEN_VERSION       = 4
@@ -17,33 +21,18 @@ export XEN_BUILD_HOST	?= $(shell hostname)
 PYTHON_INTERPRETER	:= $(word 1,$(shell which python3 python python2 2>/dev/null) python)
 export PYTHON		?= $(PYTHON_INTERPRETER)
 
-export XEN_ROOT := $(CURDIR)/..
+$(if $(filter __%, $(MAKECMDGOALS)), \
+	$(error targets prefixed with '__' are only for internal use))
 
-srctree := .
-objtree := .
-export srctree objtree
+# That's our default target when none is given on the command line
+PHONY := __all
+__all:
 
 # Do not use make's built-in rules and variables
 MAKEFLAGS += -rR
 
 EFI_MOUNTPOINT ?= $(BOOT_DIR)/efi
 
-ARCH=$(XEN_TARGET_ARCH)
-SRCARCH=$(shell echo $(ARCH) | \
-          sed -e 's/x86.*/x86/' -e s'/arm\(32\|64\)/arm/g' \
-              -e s'/riscv.*/riscv/g')
-export ARCH SRCARCH
-
-# Don't break if the build process wasn't called from the top level
-# we need XEN_TARGET_ARCH to generate the proper config
-include $(XEN_ROOT)/Config.mk
-
-# Set ARCH/SUBARCH appropriately.
-export TARGET_SUBARCH  := $(XEN_TARGET_ARCH)
-export TARGET_ARCH     := $(shell echo $(XEN_TARGET_ARCH) | \
-                            sed -e 's/x86.*/x86/' -e s'/arm\(32\|64\)/arm/g' \
-                                -e s'/riscv.*/riscv/g')
-
 # Allow someone to change their config file
 export KCONFIG_CONFIG ?= .config
 
@@ -51,14 +40,9 @@ export CC CXX LD
 
 export TARGET := xen
 
-.PHONY: default
-default: build
-
 .PHONY: dist
 dist: install
 
-include scripts/Kbuild.include
-
 ifneq ($(root-make-done),y)
 # section to run before calling Rules.mk, but only once.
 
@@ -130,14 +114,93 @@ endif
 
 ifneq ($(findstring s,$(filter-out --%,$(MAKEFLAGS))),)
     quiet := silent_
+    KBUILD_VERBOSE = 0
 endif
 
 export quiet Q KBUILD_VERBOSE
 
+# $(realpath,) for GNU Make older than 0.81
+realpath = $(wildcard $(foreach file,$(1),$(shell cd -P $(dir $(file)) && echo "$$PWD/$(notdir $(file))")))
+
+ifeq ("$(origin O)", "command line")
+  KBUILD_OUTPUT := $(O)
+endif
+
+ifneq ($(KBUILD_OUTPUT),)
+# Make's built-in functions such as $(abspath ...), $(realpath ...) cannot
+# expand a shell special character '~'. We use a somewhat tedious way here.
+abs_objtree := $(shell mkdir -p $(KBUILD_OUTPUT) && cd $(KBUILD_OUTPUT) && pwd)
+$(if $(abs_objtree),, \
+     $(error failed to create output directory "$(KBUILD_OUTPUT)"))
+
+# $(realpath ...) resolves symlinks
+abs_objtree := $(call realpath,$(abs_objtree))
+else
 abs_objtree := $(CURDIR)
-abs_srctree := $(CURDIR)
+endif
+
+ifeq ($(abs_objtree),$(CURDIR))
+# Suppress "Entering directory ..." unless we are changing the work directory.
+MAKEFLAGS += --no-print-directory
+else
+need-sub-make := 1
+endif
+
+abs_srctree := $(call realpath,$(dir $(this-makefile)))
+
+ifneq ($(words $(subst :, ,$(abs_srctree))), 1)
+$(error source directory cannot contain spaces or colons)
+endif
+
+ifneq ($(abs_srctree),$(abs_objtree))
+# Look for make include files relative to root of kernel src
+#
+# This does not become effective immediately because MAKEFLAGS is re-parsed
+# once after the Makefile is read. We need to invoke sub-make.
+MAKEFLAGS += --include-dir=$(abs_srctree)
+need-sub-make := 1
+endif
 
 export abs_srctree abs_objtree
+export root-make-done := y
+
+ifeq ($(need-sub-make),1)
+
+PHONY += $(MAKECMDGOALS) __sub-make
+
+$(filter-out $(this-makefile), $(MAKECMDGOALS)) __all: __sub-make
+	@:
+
+# Invoke a second make in the output directory, passing relevant variables
+__sub-make:
+	$(Q)$(MAKE) -C $(abs_objtree) -f $(abs_srctree)/Makefile $(MAKECMDGOALS)
+
+endif # need-sub-make
+endif # root-make-done
+
+# We process the rest of the Makefile if this is the final invocation of make
+ifeq ($(need-sub-make),)
+
+ifeq ($(abs_srctree),$(abs_objtree))
+        # building in the source tree
+        srctree := .
+	building_out_of_srctree :=
+else
+        ifeq ($(abs_srctree)/,$(dir $(abs_objtree)))
+                # building in a subdirectory of the source tree
+                srctree := ..
+        else
+                srctree := $(abs_srctree)
+        endif
+	building_out_of_srctree := 1
+endif
+
+objtree		:= .
+VPATH		:= $(srctree)
+
+export building_out_of_srctree srctree objtree VPATH
+
+export XEN_ROOT := $(abs_srctree)/..
 
 # To make sure we do not include .config for any of the *config targets
 # catch them early, and hand them over to tools/kconfig/Makefile
@@ -161,6 +224,24 @@ ifneq ($(filter %config,$(MAKECMDGOALS)),)
     config-build := y
 endif
 
+include scripts/Kbuild.include
+
+ARCH=$(XEN_TARGET_ARCH)
+SRCARCH=$(shell echo $(ARCH) | \
+          sed -e 's/x86.*/x86/' -e s'/arm\(32\|64\)/arm/g' \
+              -e s'/riscv.*/riscv/g')
+export ARCH SRCARCH
+
+# Don't break if the build process wasn't called from the top level
+# we need XEN_TARGET_ARCH to generate the proper config
+include $(XEN_ROOT)/Config.mk
+
+# Set ARCH/SUBARCH appropriately.
+export TARGET_SUBARCH  := $(XEN_TARGET_ARCH)
+export TARGET_ARCH     := $(shell echo $(XEN_TARGET_ARCH) | \
+                            sed -e 's/x86.*/x86/' -e s'/arm\(32\|64\)/arm/g' \
+                                -e s'/riscv.*/riscv/g')
+
 export CONFIG_SHELL := $(SHELL)
 export YACC = $(if $(BISON),$(BISON),bison)
 export LEX = $(if $(FLEX),$(FLEX),flex)
@@ -196,9 +277,6 @@ CFLAGS += $(CLANG_FLAGS)
 export CLANG_FLAGS
 endif
 
-export root-make-done := y
-endif # root-make-done
-
 # ===========================================================================
 # Rules shared between *config targets and build targets
 
@@ -206,18 +284,42 @@ PHONY += tools_fixdep
 tools_fixdep:
 	$(MAKE) $(build)=tools tools/fixdep
 
+PHONY += outputmakefile
+# Before starting out-of-tree build, make sure the source tree is clean.
+# outputmakefile generates a Makefile in the output directory, if using a
+# separate output directory. This allows convenient use of make in the
+# output directory.
+# At the same time when output Makefile generated, generate .gitignore to
+# ignore whole output directory
+outputmakefile:
+ifdef building_out_of_srctree
+	$(Q)if [ -f $(srctree)/.config -o \
+		 -d $(srctree)/include/config -o \
+		 -d $(srctree)/include/generated ]; then \
+		echo >&2 "***"; \
+		echo >&2 "*** The source tree is not clean, please run 'make$(if $(findstring command line, $(origin XEN_TARGET_ARCH)), XEN_TARGET_ARCH=$(XEN_TARGET_ARCH)) distclean'"; \
+		echo >&2 "*** in $(abs_srctree)";\
+		echo >&2 "***"; \
+		false; \
+	fi
+	$(Q)ln -fsn $(srctree) source
+	$(Q)$(SHELL) $(srctree)/scripts/mkmakefile $(srctree)
+	$(Q)test -e .gitignore || \
+	{ echo "# this is build directory, ignore it"; echo "*"; } > .gitignore
+endif
+
 ifeq ($(config-build),y)
 # ===========================================================================
 # *config targets only - make sure prerequisites are updated, and descend
 # in tools/kconfig to make the *config target
 
-config: tools_fixdep FORCE
+config: tools_fixdep outputmakefile FORCE
 	$(Q)$(MAKE) $(build)=tools/kconfig $@
 
 # Config.mk tries to include .config file, don't try to remake it
 %/.config: ;
 
-%config: tools_fixdep FORCE
+%config: tools_fixdep outputmakefile FORCE
 	$(Q)$(MAKE) $(build)=tools/kconfig $@
 
 else # !config-build
@@ -299,6 +401,10 @@ endif
 
 CFLAGS += -I$(srctree)/include
 CFLAGS += -I$(srctree)/arch/$(TARGET_ARCH)/include
+ifdef building_out_of_srctree
+    CFLAGS += -I$(objtree)/include
+    CFLAGS += -I$(objtree)/arch/$(TARGET_ARCH)/include
+endif
 
 # Note that link order matters!
 ALL_OBJS-y                := common/built_in.o
@@ -323,6 +429,8 @@ export CFLAGS_UBSAN
 
 endif # need-config
 
+__all: build
+
 main-targets := build install uninstall clean distclean MAP
 .PHONY: $(main-targets)
 ifneq ($(XEN_TARGET_ARCH),x86_32)
@@ -426,7 +534,7 @@ $(TARGET).gz: $(TARGET)
 	gzip -n -f -9 < $< > $@.new
 	mv $@.new $@
 
-$(TARGET): tools_fixdep FORCE
+$(TARGET): tools_fixdep outputmakefile FORCE
 	$(MAKE) $(build)=tools
 	$(MAKE) $(build)=. include/xen/compile.h
 	$(MAKE) $(build)=include all
@@ -492,6 +600,7 @@ cloc:
 	find . -name '*.o.cmd' -exec awk '/^source_/{print $$3;}' {} + | cloc --list-file=-
 
 endif #config-build
+endif # need-sub-make
 
 PHONY += FORCE
 FORCE:
diff --git a/xen/Rules.mk b/xen/Rules.mk
index cb8b35ceb596..6c97f539330a 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -38,7 +38,7 @@ SPECIAL_DATA_SECTIONS := rodata $(foreach a,1 2 4 8 16, \
                          $(foreach r,rel rel.ro,data.$(r).local)
 
 # The filename build.mk has precedence over Makefile
-mk-dir := $(src)
+mk-dir := $(srctree)/$(src)
 include $(if $(wildcard $(mk-dir)/build.mk),$(mk-dir)/build.mk,$(mk-dir)/Makefile)
 
 # Linking
@@ -330,6 +330,15 @@ existing-targets := $(wildcard $(sort $(targets)))
 
 -include $(foreach f,$(existing-targets),$(dir $(f)).$(notdir $(f)).cmd)
 
+# Create directories for object files if they do not exist
+obj-dirs := $(sort $(patsubst %/,%, $(dir $(targets))))
+# If targets exist, their directories apparently exist. Skip mkdir.
+existing-dirs := $(sort $(patsubst %/,%, $(dir $(existing-targets))))
+obj-dirs := $(strip $(filter-out $(existing-dirs), $(obj-dirs)))
+ifneq ($(obj-dirs),)
+$(shell mkdir -p $(obj-dirs))
+endif
+
 # Declare the contents of the PHONY variable as phony.  We keep that
 # information in a variable so we can use it in if_changed and friends.
 .PHONY: $(PHONY)
diff --git a/xen/arch/arm/efi/Makefile b/xen/arch/arm/efi/Makefile
index 36e15ac280cd..b985043f8c80 100644
--- a/xen/arch/arm/efi/Makefile
+++ b/xen/arch/arm/efi/Makefile
@@ -1,5 +1,8 @@
 CFLAGS-y += -fshort-wchar
 CFLAGS-y += -I$(srctree)/common/efi
+ifdef building_out_of_srctree
+CFLAGS-y += -I$(srctree)/$(src)
+endif
 
 obj-y += boot.init.o pe.init.o ebmalloc.o runtime.o
 obj-$(CONFIG_ACPI) +=  efi-dom0.init.o
diff --git a/xen/arch/x86/arch.mk b/xen/arch/x86/arch.mk
index f0dc6820f85c..963926b37d9d 100644
--- a/xen/arch/x86/arch.mk
+++ b/xen/arch/x86/arch.mk
@@ -62,6 +62,9 @@ ifneq ($(CONFIG_PV_SHIM_EXCLUSIVE),y)
 
 efi-check-o = arch/x86/efi/check.o
 
+# Create the directory for out-of-tree build
+$(shell mkdir -p $(dir $(efi-check-o)))
+
 # Check if the compiler supports the MS ABI.
 XEN_BUILD_EFI := $(call if-success,$(CC) $(CFLAGS) -c $(srctree)/$(efi-check-o:.o=.c) -o $(efi-check-o),y)
 
diff --git a/xen/arch/x86/boot/Makefile b/xen/arch/x86/boot/Makefile
index c2385e69332d..3909db51b1fd 100644
--- a/xen/arch/x86/boot/Makefile
+++ b/xen/arch/x86/boot/Makefile
@@ -7,6 +7,9 @@ targets += $(head-objs:.S=.o)
 
 head-objs := $(addprefix $(obj)/, $(head-objs))
 
+ifdef building_out_of_srctree
+$(obj)/head.o: CFLAGS-y += -I$(obj)
+endif
 $(obj)/head.o: $(head-objs)
 
 LDFLAGS_DIRECT_OpenBSD = _obsd
@@ -22,7 +25,7 @@ $(call cc-option-add,CFLAGS_x86_32,CC,-Wno-unused-but-set-variable)
 $(call cc-option-add,CFLAGS_x86_32,CC,-Wno-unused-local-typedefs)
 $(call cc-options-add,CFLAGS_x86_32,CC,$(EMBEDDED_EXTRA_CFLAGS))
 CFLAGS_x86_32 += -Werror -fno-builtin -g0 -msoft-float
-CFLAGS_x86_32 += -I$(srctree)/include
+CFLAGS_x86_32 += -I$(srctree)/include $(if $(building_out_of_srctree), -I$(objtree)/include)
 
 # override for 32bit binaries
 $(head-objs:.S=.o): CFLAGS-stack-boundary :=
diff --git a/xen/arch/x86/efi/Makefile b/xen/arch/x86/efi/Makefile
index da05935a9348..a716f3fac9cf 100644
--- a/xen/arch/x86/efi/Makefile
+++ b/xen/arch/x86/efi/Makefile
@@ -1,5 +1,8 @@
 CFLAGS-y += -fshort-wchar
 CFLAGS-y += -I$(srctree)/common/efi
+ifdef building_out_of_srctree
+CFLAGS-y += -I$(srctree)/$(src)
+endif
 
 quiet_cmd_objcopy_o_ihex = OBJCOPY $@
 cmd_objcopy_o_ihex = $(OBJCOPY) -I ihex -O binary $< $@
diff --git a/xen/include/Makefile b/xen/include/Makefile
index 4e64a31ecab3..2cd779a4108c 100644
--- a/xen/include/Makefile
+++ b/xen/include/Makefile
@@ -110,7 +110,7 @@ $(obj)/headers99.chk: $(PUBLIC_C99_HEADERS) $(src)/Makefile
 	$(foreach i, $(filter %.h,$^),                                        \
 	    echo "#include "\"$(i)\"                                          \
 	    | $(CC) -x c -std=c99 -Wall -Werror                               \
-	      -include stdint.h $(foreach j, $($(i)-prereq), -include $(j).h) \
+	      -include stdint.h $(foreach j, $($(patsubst $(srctree)/%,%,$i)-prereq), -include $(j).h) \
 	      -S -o /dev/null -                                               \
 	    || exit $$?; echo $(i) >> $@.new;)
 	mv $@.new $@
@@ -124,8 +124,8 @@ $(obj)/headers++.chk: $(PUBLIC_HEADERS) $(src)/Makefile
 	$(foreach i, $(filter %.h,$^),                                        \
 	    echo "#include "\"$(i)\"                                          \
 	    | $(CXX) -x c++ -std=gnu++98 -Wall -Werror -D__XEN_TOOLS__        \
-	      -include stdint.h -include $(src)/public/xen.h                  \
-	      $(foreach j, $($(i)-prereq), -include c$(j)) -S -o /dev/null -  \
+	      -include stdint.h -include $(srctree)/$(src)/public/xen.h       \
+	      $(foreach j, $($(patsubst $(srctree)/%,%,$i)-prereq), -include c$(j)) -S -o /dev/null -  \
 	    || exit $$?; echo $(i) >> $@.new;)
 	mv $@.new $@
 
@@ -134,7 +134,8 @@ endif
 ifeq ($(XEN_TARGET_ARCH),x86_64)
 .PHONY: lib-x86-all
 lib-x86-all:
-	$(MAKE) -C $(obj)/xen/lib/x86 all
+	@mkdir -p $(obj)/xen/lib/x86
+	$(MAKE) -C $(obj)/xen/lib/x86 -f $(abs_srctree)/$(src)/xen/lib/x86/Makefile VPATH=$(srctree) all
 
 all: lib-x86-all
 endif
diff --git a/xen/scripts/mkmakefile b/xen/scripts/mkmakefile
new file mode 100755
index 000000000000..1cb174751429
--- /dev/null
+++ b/xen/scripts/mkmakefile
@@ -0,0 +1,17 @@
+#!/bin/sh
+# SPDX-License-Identifier: GPL-2.0
+# Generates a small Makefile used in the root of the output
+# directory, to allow make to be started from there.
+# The Makefile also allow for more convinient build of external modules
+
+# Usage
+# $1 - Kernel src directory
+
+if [ "${quiet}" != "silent_" ]; then
+	echo "  GEN     Makefile"
+fi
+
+cat << EOF > Makefile
+# Automatically generated by $0: don't edit
+include $1/Makefile
+EOF
diff --git a/xen/test/livepatch/Makefile b/xen/test/livepatch/Makefile
index 5807a559b42a..51f93f6ba61f 100644
--- a/xen/test/livepatch/Makefile
+++ b/xen/test/livepatch/Makefile
@@ -11,6 +11,8 @@ endif
 CODE_ADDR=$(shell nm --defined $(1) | grep $(2) | awk '{print "0x"$$1}')
 CODE_SZ=$(shell nm --defined -S $(1) | grep $(2) | awk '{ print "0x"$$2}')
 
+CFLAGS-y += -I$(obj)
+
 extra-y += xen_hello_world.livepatch
 xen_hello_world-objs := xen_hello_world_func.o xen_hello_world.o note.o xen_note.o modinfo.o
 $(obj)/xen_hello_world.o: $(obj)/config.h
diff --git a/xen/xsm/flask/Makefile b/xen/xsm/flask/Makefile
index d655cf8d1974..2c6febc54bf6 100644
--- a/xen/xsm/flask/Makefile
+++ b/xen/xsm/flask/Makefile
@@ -5,6 +5,9 @@ obj-y += flask_op.o
 obj-y += ss/
 
 CFLAGS-y += -I$(obj)/include
+ifdef building_out_of_srctree
+    CFLAGS-y += -I$(srctree)/$(src)/include
+endif
 
 AWK = awk
 
diff --git a/xen/xsm/flask/ss/Makefile b/xen/xsm/flask/ss/Makefile
index aba1339f3808..c50d67320ed3 100644
--- a/xen/xsm/flask/ss/Makefile
+++ b/xen/xsm/flask/ss/Makefile
@@ -9,3 +9,6 @@ obj-y += conditional.o
 obj-y += mls.o
 
 CFLAGS-y += -I$(srctree)/xsm/flask/include
+ifdef building_out_of_srctree
+    CFLAGS-y += -I$(objtree)/xsm/flask/include
+endif
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:01:31 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:01:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170974.312122 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUBP-000587-Mc; Tue, 24 Aug 2021 11:01:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170974.312122; Tue, 24 Aug 2021 11: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 1mIUBP-00057G-Ez; Tue, 24 Aug 2021 11:01:31 +0000
Received: by outflank-mailman (input) for mailman id 170974;
 Tue, 24 Aug 2021 11:01:30 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU2R-0001EC-Ah
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:52:15 +0000
Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id fdf2d3ba-4e2a-49c7-b534-17960bb9caa3;
 Tue, 24 Aug 2021 10:51: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: fdf2d3ba-4e2a-49c7-b534-17960bb9caa3
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802282;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=R0ELoo+7nNz0sid1BROwVq9XSwu7Jmvu/Gqb1wk09qU=;
  b=gzxVU9cridmz+ubVLYa7jwbY2CJzK/hlHcqJCOICUXX1qb619b4zYvmg
   H9pV8hFcK8tU0BKtBy+DspbWpt20tnPZeaE3bdqsDTI5NA1erQAmJ7N09
   Ftzalq2kFOPYnH6f4SC46LaU0e1/zzfLzBi9jo6mxgwxn82JLDeG8U37H
   M=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: PQ3LFFBQZQNFDhB5zYo3jISxm/h2RT0bxuS357LbZxPJrtZRLBAvvwrTdHwO7tqjdA6HubXp/Q
 RwT9WMvDo6hFcsV0GZFOoqmjTosx3Mjl/I9l5IRYCdueIqL3s4DMAXSIUNydxNWvKOmt7BGDAn
 L6ZAPOi8Lz7xm0i2b3PVLf6ms+pMp2umBYrZ3AwL9zVNwWp4RTybSN0ivCbs5xEnHSvXNnAEx0
 PhSZXQrnQc9SHtw6k4Zkvh1cnCGvlGtAWvnF8v1vJ78OaAL1LRv0vZ2GNap1haVuMMrjBDmFe8
 ePnF4ypTCJhm4jS0IQrDqNUN
X-SBRS: 5.1
X-MesageID: 51153557
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:gy42IKGGoyHBd1HspLqFWpHXdLJyesId70hD6qkvc3Fom52j/f
 xGws5x6fatskdrZJkh8erwW5VoMkmsj6KdgLNhcYtKOTOLhILGFvAE0WKP+Vzd8mjFh5ZgPM
 RbAudD4b/LfD5HZK/BiWHWferIguP3iZxA7t2urUuFODsaD52ImD0JbzpzfHcXeCB2Qb4CUL
 aM7MtOoDStPV4NaN6gO3UDV+/f4/XWiZPPe3c9dl8awTjLqQntxK/xEhCe0BtbeShI260e/W
 /MlBG8zrm/ssu81gTX2wbontRrcZrau5h+7f63+40owwbX+0KVjUNaKvq/VQUO0aOSAZAR4Z
 /xSlkbTp1OAjjqDxyISFPWqnXdOXAVmjHfIBaj8ATeiN28SzQgB8Vbg4VFNhPf9ko7pdl5lL
 lGxmSDqvNsfFv9dYvGlqv1vjxR5zyJSEAZ4KcuZr1kIPkjQa4UqZZa8FJeEZ8GEi6/4Ic7EP
 N2BMWZ4PpNa1uVY33Qo2EqmbWXLz4ONwbDRlJHtt2e0jBQknw8x0wExNYHlnNF8J4mUZFL6+
 nNL6wtnrBTSc0da757GY46MICKI32IRQiJPHOZIFzhGq1CM3XRq4Tv6LFw/+2ucIxg9upEpH
 0AaiItiYcWQTOiNSSj5uw7zvn9ehTJYd228LAh23FQgMyNeIbW
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51153557"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: 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>, Wei Liu
	<wl@xen.org>
Subject: [XEN PATCH v7 17/51] build: set XEN_BUILD_EFI earlier
Date: Tue, 24 Aug 2021 11:50:04 +0100
Message-ID: <20210824105038.1257926-18-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

We are going to need the variable XEN_BUILD_EFI earlier.

But a side effect of calculating the value of $(XEN_BUILD_EFI) is to
also to generate "efi/check.o" which is used for further checks.
Thus the whole chain that check for EFI support is moved to
"arch.mk".

Some other changes are made to avoid too much duplication:
    - $(efi-check-o): Used to avoid repeating "efi/check.*". We don't
      set it to the path to the source as it would be wrong as soon
      as we support out-of-tree build.
    - $(LD_PE_check_cmd): As it is called twice, with an updated
      $(EFI_LDFLAGS).

$(nr-fixups) is renamed to $(efi-check-relocs) as the former might be
a bit too generic.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

Notes:
    v7:
    - Do the whole check for EFI support in arch.mk. So efi/check.o is
      produce there and used there, and produce efi/check.efi and use it there.
      Thus avoid the need to repeat the test done for XEN_BUILD_EFI.

 xen/arch/x86/Makefile | 36 ++----------------------------------
 xen/arch/x86/arch.mk  | 42 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 44 insertions(+), 34 deletions(-)

diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 5e1d38d6cd5b..dfcbd01bb4ed 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -123,41 +123,7 @@ $(TARGET): $(TARGET)-syms $(efi-y) boot/mkelf32
 	mv $(TMP) $(TARGET)
 
 ifneq ($(efi-y),)
-
-# Check if the compiler supports the MS ABI.
-export XEN_BUILD_EFI := $(shell $(CC) $(XEN_CFLAGS) -c efi/check.c -o efi/check.o 2>/dev/null && echo y)
 CFLAGS-$(XEN_BUILD_EFI) += -DXEN_BUILD_EFI
-
-# Check if the linker supports PE.
-EFI_LDFLAGS = $(patsubst -m%,-mi386pep,$(XEN_LDFLAGS)) --subsystem=10
-XEN_BUILD_PE := $(if $(XEN_BUILD_EFI),$(call ld-option,$(EFI_LDFLAGS) --image-base=0x100000000 -o efi/check.efi efi/check.o))
-# If the above failed, it may be merely because of the linker not dealing well
-# with debug info. Try again with stripping it.
-ifeq ($(CONFIG_DEBUG_INFO)-$(XEN_BUILD_PE),y-n)
-EFI_LDFLAGS += --strip-debug
-XEN_BUILD_PE := $(call ld-option,$(EFI_LDFLAGS) --image-base=0x100000000 -o efi/check.efi efi/check.o)
-endif
-
-ifeq ($(XEN_BUILD_PE),y)
-
-# Check if the linker produces fixups in PE by default
-nr-fixups := $(shell $(OBJDUMP) -p efi/check.efi | grep '^[[:blank:]]*reloc[[:blank:]]*[0-9][[:blank:]].*DIR64$$' | wc -l)
-ifeq ($(nr-fixups),2)
-MKRELOC := :
-relocs-dummy :=
-else
-MKRELOC := efi/mkreloc
-relocs-dummy := efi/relocs-dummy.o
-# If the linker produced fixups but not precisely two of them, we need to
-# disable it doing so.  But if it didn't produce any fixups, it also wouldn't
-# recognize the option.
-ifneq ($(nr-fixups),0)
-EFI_LDFLAGS += --disable-reloc-section
-endif
-endif
-
-endif # $(XEN_BUILD_PE)
-
 endif # $(efi-y)
 
 ALL_OBJS := $(BASEDIR)/arch/x86/boot/built_in.o $(BASEDIR)/arch/x86/efi/built_in.o $(ALL_OBJS)
@@ -218,8 +184,10 @@ endif
 
 $(TARGET).efi: VIRT_BASE = 0x$(shell $(NM) efi/relocs-dummy.o | sed -n 's, A VIRT_START$$,,p')
 ifeq ($(MKRELOC),:)
+relocs-dummy :=
 $(TARGET).efi: ALT_BASE :=
 else
+relocs-dummy := efi/relocs-dummy.o
 $(TARGET).efi: ALT_BASE = 0x$(shell $(NM) efi/relocs-dummy.o | sed -n 's, A ALT_START$$,,p')
 endif
 
diff --git a/xen/arch/x86/arch.mk b/xen/arch/x86/arch.mk
index eea320e618b9..98dd41d32118 100644
--- a/xen/arch/x86/arch.mk
+++ b/xen/arch/x86/arch.mk
@@ -60,5 +60,47 @@ ifeq ($(CONFIG_UBSAN),y)
 $(call cc-option-add,CFLAGS_UBSAN,CC,-fno-sanitize=alignment)
 endif
 
+ifneq ($(CONFIG_PV_SHIM_EXCLUSIVE),y)
+
+efi-check-o = arch/x86/efi/check.o
+
+# Check if the compiler supports the MS ABI.
+XEN_BUILD_EFI := $(call if-success,$(CC) $(CFLAGS) -c $(efi-check-o:.o=.c) -o $(efi-check-o),y)
+
+# Check if the linker supports PE.
+EFI_LDFLAGS := $(patsubst -m%,-mi386pep,$(LDFLAGS)) --subsystem=10
+LD_PE_check_cmd = $(call ld-option,$(EFI_LDFLAGS) --image-base=0x100000000 -o $(efi-check-o:.o=.efi) $(efi-check-o))
+XEN_BUILD_PE := $(LD_PE_check_cmd)
+
+# If the above failed, it may be merely because of the linker not dealing well
+# with debug info. Try again with stripping it.
+ifeq ($(CONFIG_DEBUG_INFO)-$(XEN_BUILD_PE),y-n)
+EFI_LDFLAGS += --strip-debug
+XEN_BUILD_PE := $(LD_PE_check_cmd)
+endif
+
+ifeq ($(XEN_BUILD_PE),y)
+
+# Check if the linker produces fixups in PE by default
+efi-check-relocs := $(shell $(OBJDUMP) -p $(efi-check-o:.o=.efi) | grep '^[[:blank:]]*reloc[[:blank:]]*[0-9][[:blank:]].*DIR64$$' | wc -l)
+
+ifeq ($(efi-check-relocs),2)
+MKRELOC := :
+else
+MKRELOC := efi/mkreloc
+# If the linker produced fixups but not precisely two of them, we need to
+# disable it doing so.  But if it didn't produce any fixups, it also wouldn't
+# recognize the option.
+ifneq ($(efi-check-relocs),0)
+EFI_LDFLAGS += --disable-reloc-section
+endif
+endif
+
+endif # $(XEN_BUILD_PE)
+
+export XEN_BUILD_EFI XEN_BUILD_PE MKRELOC
+export EFI_LDFLAGS
+endif
+
 # Set up the assembler include path properly for older toolchains.
 CFLAGS += -Wa,-I$(BASEDIR)/include
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:01:32 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:01:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170975.312130 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUBQ-0005Hh-HU; Tue, 24 Aug 2021 11:01:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170975.312130; Tue, 24 Aug 2021 11: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 1mIUBQ-0005GM-1C; Tue, 24 Aug 2021 11:01:32 +0000
Received: by outflank-mailman (input) for mailman id 170975;
 Tue, 24 Aug 2021 11:01:30 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU1x-0001EC-9V
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:51:45 +0000
Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c425c8f3-66b6-4f5d-a715-381d512cfa24;
 Tue, 24 Aug 2021 10:51: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: c425c8f3-66b6-4f5d-a715-381d512cfa24
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802268;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=fDJGU3FkNLcK/b6b+O2MvcAjqOVoHCERsz8l937Wo3Y=;
  b=gJQ4E4xqPbpeCd7bVUdlEJhMg04N7JjFdlJ4qFKlV65jMEzbSyQTqq8x
   fh94BXFUPb6dSfZF/D2AQVsKD1ZGlz+lZVT0yzUtTpqSmb2NFjTv89E17
   pGzG24Y3wJ4DGH8ws1gC7Dv91s62UB+TWxxk9KMjzirc7zVkPAjIoJ5us
   A=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: o4GYAJKiEqeohc1zWN8L7hnKNGzoj4T0925gua+IWeEGOBw84hGr/N0oyoyJl4AcSpqfCMDPz7
 uNyDoe2/qcD5QBn6HQerPN0woY9bdV5/PfeAtHa4JzPfJOYHHexfhFLtq4zE1QrhmUxjdjuVQS
 y/rWCh7DsW5iw2VkBoVqZQ53V+8ZdODIzx96bGtZwmjN6qN8QYTB9TGz4MWQ910vXQKVA8eZ6I
 py5Q3VAb8dMUv6CklQvdmyEw8W/0mvZQBRsp1DLjek45MIbBRMnpp5i9eSxi9IebtGjF5h1608
 ah9uH3+7EKOk6+iZk0qgswAP
X-SBRS: 5.1
X-MesageID: 51130726
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:SfC356yGMaLhi5qMcGgXKrPxnuskLtp133Aq2lEZdPULSKGlfp
 GV9sjziyWetN9IYgBapTiBUJPwIk80hqQFm7X5XI3SEDUO3VHFEGgM1/qE/9SNIUzDH6tmpN
 9dmstFeZLN5DpB/KDHCWCDer5OruVvsprY/Ns2pE0dLz2CHpsQizuRfTzrd3GeKjMnObMJUL
 6nouZXrTupfnoaKu6hAGMeYuTFr9rX0Lr7fB8vHXccmUizpALtzIS/PwmT3x8YXT8K66wl63
 L5nwvw4bjmm+2nyyXby3TY4/1t6ZvcI5p4dY+xY/ouW3DRYzWTFcBcsnq5zXcISdSUmRQXeR
 /30lEd1opImirslyqO0GbQMkHboUoTAjnZuBGlaDLY0LPEbSN/BMxbiY1DdBzFr0ImodFnya
 pOm3mUrpxNEHr77WzADnfzJmJXf2eP0AwfeNQo/jViuEolGc1shJ1a+FkQHIYLHSr85oxiGO
 5yDNvE7PITdV+BdXjWsmRm3dTpBx0Ib127a1lHvtbQ3yldnXh/wUddzMsDnm0Y/JZ4T5Vf/e
 zLPqlhibkLRM4LaqB2AvsHXKKMeyfwaAOJNHjXLUXsFakBNX6Io5nr4K8t7OXvY5AMxItaou
 W3bLqZjx9HR6vKM7zC4HRmyGG9fIyNZ0WZ9igF3ekGhlTVfsuaDRG+
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51130726"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: [XEN PATCH v7 12/51] build: avoid building arm/arm/*/head.o twice
Date: Tue, 24 Aug 2021 11:49:59 +0100
Message-ID: <20210824105038.1257926-13-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

head.o is been built twice, once because it is in $(ALL_OBJS) and a
second time because it is in $(extra-y) and thus it is rebuilt when
building "arch/arm/built_in.o".

Fix this by adding a dependency of "head.o" on the directory
"arch/arm/".

Also, we should avoid building object that are in subdirectories, so
move the declaration in there. This doesn't change anything as
"arch/arm/built_in.o" depends on "arch/arm/$subarch/built_in.o" which
depends on $(extra-y), so we still need to depend on
"arch/arm/built_in.o".

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 xen/arch/arm/Makefile       | 7 ++++++-
 xen/arch/arm/arm32/Makefile | 1 +
 xen/arch/arm/arm64/Makefile | 2 ++
 3 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 3d0af8ebc93c..cc90d9796e6e 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -64,7 +64,6 @@ obj-$(CONFIG_SBSA_VUART_CONSOLE) += vpl011.o
 obj-y += vsmc.o
 obj-y += vpsci.o
 obj-y += vuart.o
-extra-y += $(TARGET_SUBARCH)/head.o
 
 extra-y += xen.lds
 
@@ -76,6 +75,12 @@ endif
 
 ALL_OBJS := $(TARGET_SUBARCH)/head.o $(ALL_OBJS)
 
+# head.o is built by descending into the sub-directory, depends on the part of
+# $(ALL_OBJS) that will eventually recurse into $(TARGET_SUBARCH)/ and build
+# head.o
+$(TARGET_SUBARCH)/head.o: $(BASEDIR)/arch/arm/built_in.o
+$(TARGET_SUBARCH)/head.o: ;
+
 ifdef CONFIG_LIVEPATCH
 all_symbols = --all-symbols
 ifdef CONFIG_FAST_SYMBOL_LOOKUP
diff --git a/xen/arch/arm/arm32/Makefile b/xen/arch/arm/arm32/Makefile
index 96105d238307..3040eabce3ad 100644
--- a/xen/arch/arm/arm32/Makefile
+++ b/xen/arch/arm/arm32/Makefile
@@ -11,3 +11,4 @@ obj-y += smpboot.o
 obj-y += traps.o
 obj-y += vfp.o
 
+extra-y += head.o
diff --git a/xen/arch/arm/arm64/Makefile b/xen/arch/arm/arm64/Makefile
index 40642ff57494..0bb284dedab2 100644
--- a/xen/arch/arm/arm64/Makefile
+++ b/xen/arch/arm/arm64/Makefile
@@ -13,3 +13,5 @@ obj-y += smpboot.o
 obj-y += traps.o
 obj-y += vfp.o
 obj-y += vsysreg.o
+
+extra-y += head.o
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:01:33 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:01:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170977.312136 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUBR-0005QF-AC; Tue, 24 Aug 2021 11:01:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170977.312136; Tue, 24 Aug 2021 11: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 1mIUBQ-0005Lm-Ne; Tue, 24 Aug 2021 11:01:32 +0000
Received: by outflank-mailman (input) for mailman id 170977;
 Tue, 24 Aug 2021 11:01:30 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU3y-0003Ux-Dz
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:53:50 +0000
Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 58312edd-04c9-11ec-a8c6-12813bfff9fa;
 Tue, 24 Aug 2021 10:52: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: 58312edd-04c9-11ec-a8c6-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802336;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=JD+7VO3K52HwJz8EfkgwAVmchIJrhqCdmlKnQtk1bE0=;
  b=EII+9uvLpfXGVicNq9z0JoHN5jV2UbmDKoS25kz5i5YFxWuneOaEIWff
   jm7f0icPRg+q+fQst03VM6cXYYRYf/AZ283B8kdf5EQ+/SraUQkuEakSl
   c+oqogak6HEifq8ecwzQrQpVSOqBrdlN3/zmhnskT5kYl9AJIKEGG0K/h
   o=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: 7t/CwgoykC3EH/Ms9CYPanVVarqk2ub3S2sjL78gsjcXbCZTQnBvoJADlt7wG2u/yoZsxm2Dgs
 a/TWTiTPaWQXWe1K0C/5b1P9syRlSuSoVzxQP+MzkNvAg7gRUb2OobBrrgjpie6OUbY9SDH6QI
 hVqxwz6Z+1P0Xu2nJSRB7W4Ki84FS42LQPOp8eZNKyNz/ZZPidOruYETSDDiyuIhRqwjwsdbMq
 9l6AAhMWsm9qHN7B4/kAArQXlELjEyb4R5kkogwiTnvylk272FOE22hsNfwGRl2iXQxejg1+7s
 pqTxR4SpagLwQN08/p8i97oY
X-SBRS: 5.1
X-MesageID: 51540947
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:NXnpRKOKZDr4oMBcT33155DYdb4zR+YMi2TDiHoddfUFSKalfp
 6V98jzjSWE7gr4WBkb+exoS5PwOE80lKQFqrX5Uo3SODUO1FHHEGgA1/qp/9SDIVyYygc178
 4JH8dD4bbLfDtHZLPBkWyF+qEbsbu6Gc6T5Nv2/jNId0VHeqtg5wB2BkKwCUttXjRLApI/Cd
 61+tdHjyDIQwVaUu2LQl0+G8TTrdzCk5zrJTQcAQQ81QWIhTS0rJbnDhmj2AsEWT8n+8ZszY
 GFqX222kyQiYD69vbu7R6R032Qoqqi9jJ3Pr3MtiHSEESotu/nXvUkZ1TIhkFMnAjm0idQrD
 CLmWZsAy070QKqQkil5RTqwAXuyzAo9jvrzkKZm2LqpYjjSCs9ENcpv/MuTvL10TtVgDhH6t
 M944tZjesnMTrQ2CDmo9TYXRBjkUS55XIkjO4IlnRaFY8TcqVYo4AT9F5cVM5oJlOz1Kk3VO
 11SM3M7vdfdl2XK3jfo2l02dSpGnA+BA2PTEQOstGclzJWgHd6xU0Fw9F3pAZIyLstD51fo+
 jUOKVhk79DCscQcKJmHe8EBdC6D2TcKCi8RV564W6XZp3vHki91aIfzI9FmN1CSaZ4v6fawq
 6xLW+wnVRCBH7GGImU2oFX/lTXXGCwNA6duv1j2w==
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51540947"
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>, "Ian
 Jackson" <iwj@xenproject.org>, 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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, "Konrad
 Rzeszutek Wilk" <konrad.wilk@oracle.com>, Ross Lagerwall
	<ross.lagerwall@citrix.com>, Daniel De Graaf <dgdegra@tycho.nsa.gov>, "Daniel
 P. Smith" <dpsmith@apertussolutions.com>
Subject: [XEN PATCH v7 43/51] build: replace $(BASEDIR) by $(objtree)
Date: Tue, 24 Aug 2021 11:50:30 +0100
Message-ID: <20210824105038.1257926-44-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

We need to differentiate between source files and generated/built
files. We will be replacing $(BASEDIR) by $(objtree) for files that
are generated, and $(abs_objtree) in cases where an absolute path is
necessary.

The "clean" target is still changing to the subdir been cleaned, to
remove file in the root we need to use $(abs_objtree).

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 xen/Makefile                |  5 +++++
 xen/Rules.mk                |  2 +-
 xen/arch/arm/Makefile       | 12 ++++++------
 xen/arch/x86/Makefile       | 34 +++++++++++++++++-----------------
 xen/common/Makefile         |  2 +-
 xen/test/livepatch/Makefile | 12 ++++++------
 xen/xsm/flask/Makefile      |  2 +-
 7 files changed, 37 insertions(+), 32 deletions(-)

diff --git a/xen/Makefile b/xen/Makefile
index 4c1dd9ce2ea1..36a64118007b 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -135,6 +135,11 @@ endif
 
 export quiet Q KBUILD_VERBOSE
 
+abs_objtree := $(CURDIR)
+abs_srctree := $(CURDIR)
+
+export abs_srctree abs_objtree
+
 # To make sure we do not include .config for any of the *config targets
 # catch them early, and hand them over to tools/kconfig/Makefile
 
diff --git a/xen/Rules.mk b/xen/Rules.mk
index 6877fcc2d6d8..fae6b8918019 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -8,7 +8,7 @@ src := $(obj)
 PHONY := __build
 __build:
 
--include $(BASEDIR)/include/config/auto.conf
+-include $(objtree)/include/config/auto.conf
 
 include $(XEN_ROOT)/Config.mk
 
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index e6eff291c5e5..774648d6296e 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -88,21 +88,21 @@ ifeq ($(CONFIG_ARM_64),y)
 	ln -sf $(@F) $@.efi
 endif
 
-$(TARGET)-syms: $(BASEDIR)/prelink.o $(obj)/xen.lds
+$(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
 	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
-	    $(BASEDIR)/common/symbols-dummy.o -o $(@D)/.$(@F).0
+	    $(objtree)/common/symbols-dummy.o -o $(@D)/.$(@F).0
 	$(NM) -pa --format=sysv $(@D)/.$(@F).0 \
-		| $(BASEDIR)/tools/symbols $(all_symbols) --sysv --sort >$(@D)/.$(@F).0.S
+		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort >$(@D)/.$(@F).0.S
 	$(MAKE) $(build)=$(@D) $(@D)/.$(@F).0.o
 	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
 	    $(@D)/.$(@F).0.o -o $(@D)/.$(@F).1
 	$(NM) -pa --format=sysv $(@D)/.$(@F).1 \
-		| $(BASEDIR)/tools/symbols $(all_symbols) --sysv --sort >$(@D)/.$(@F).1.S
+		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort >$(@D)/.$(@F).1.S
 	$(MAKE) $(build)=$(@D) $(@D)/.$(@F).1.o
 	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) \
 	    $(@D)/.$(@F).1.o -o $@
 	$(NM) -pa --format=sysv $(@D)/$(@F) \
-		| $(BASEDIR)/tools/symbols --all-symbols --xensyms --sysv --sort \
+		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
 		>$(@D)/$(@F).map
 	rm -f $(@D)/.$(@F).[0-9]*
 
@@ -117,4 +117,4 @@ $(obj)/dtb.o: $(patsubst "%",%,$(CONFIG_DTB_FILE))
 .PHONY: clean
 clean::
 	rm -f $(obj)/xen.lds
-	rm -f $(BASEDIR)/.xen-syms.[0-9]*
+	rm -f $(abs_objtree)/.xen-syms.[0-9]*
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 4ea8ade7202c..85c44c69ff5a 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -92,8 +92,8 @@ ifneq ($(CONFIG_HVM),y)
 $(obj)/x86_emulate.o: CFLAGS-y += -Wno-unused-label
 endif
 
-efi-y := $(shell if [ ! -r $(BASEDIR)/include/xen/compile.h -o \
-                      -O $(BASEDIR)/include/xen/compile.h ]; then \
+efi-y := $(shell if [ ! -r $(objtree)/include/xen/compile.h -o \
+                      -O $(objtree)/include/xen/compile.h ]; then \
                          echo '$(TARGET).efi'; fi) \
          $(space)
 efi-$(CONFIG_PV_SHIM_EXCLUSIVE) :=
@@ -133,23 +133,23 @@ ifneq ($(efi-y),)
 CFLAGS-$(XEN_BUILD_EFI) += -DXEN_BUILD_EFI
 endif # $(efi-y)
 
-$(TARGET)-syms: $(BASEDIR)/prelink.o $(obj)/xen.lds
+$(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
 	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) \
-	    $(BASEDIR)/common/symbols-dummy.o -o $(@D)/.$(@F).0
+	    $(objtree)/common/symbols-dummy.o -o $(@D)/.$(@F).0
 	$(NM) -pa --format=sysv $(@D)/.$(@F).0 \
-		| $(BASEDIR)/tools/symbols $(all_symbols) --sysv --sort \
+		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
 		>$(@D)/.$(@F).0.S
 	$(MAKE) $(build)=$(@D) $(@D)/.$(@F).0.o
 	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) \
 	    $(@D)/.$(@F).0.o -o $(@D)/.$(@F).1
 	$(NM) -pa --format=sysv $(@D)/.$(@F).1 \
-		| $(BASEDIR)/tools/symbols $(all_symbols) --sysv --sort $(syms-warn-dup-y) \
+		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort $(syms-warn-dup-y) \
 		>$(@D)/.$(@F).1.S
 	$(MAKE) $(build)=$(@D) $(@D)/.$(@F).1.o
 	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) \
 	    $(@D)/.$(@F).1.o -o $@
 	$(NM) -pa --format=sysv $(@D)/$(@F) \
-		| $(BASEDIR)/tools/symbols --all-symbols --xensyms --sysv --sort \
+		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
 		>$(@D)/$(@F).map
 	rm -f $(@D)/.$(@F).[0-9]* $(@D)/..$(@F).[0-9]*
 
@@ -199,28 +199,28 @@ note_file_option ?= $(note_file)
 
 ifeq ($(XEN_BUILD_PE),y)
 extra-y += efi.lds
-$(TARGET).efi: $(BASEDIR)/prelink.o $(note_file) $(obj)/efi.lds $(obj)/efi/relocs-dummy.o $(obj)/efi/mkreloc
+$(TARGET).efi: $(objtree)/prelink.o $(note_file) $(obj)/efi.lds $(obj)/efi/relocs-dummy.o $(obj)/efi/mkreloc
 ifeq ($(CONFIG_DEBUG_INFO),y)
 	$(if $(filter --strip-debug,$(EFI_LDFLAGS)),echo,:) "Will strip debug info from $(@F)"
 endif
 	$(foreach base, $(VIRT_BASE) $(ALT_BASE), \
 	          $(LD) $(call EFI_LDFLAGS,$(base)) -T $(obj)/efi.lds -N $< $(relocs-dummy) \
-	                $(BASEDIR)/common/symbols-dummy.o $(note_file_option) -o $(@D)/.$(@F).$(base).0 &&) :
+	                $(objtree)/common/symbols-dummy.o $(note_file_option) -o $(@D)/.$(@F).$(base).0 &&) :
 	$(MKRELOC) $(foreach base,$(VIRT_BASE) $(ALT_BASE),$(@D)/.$(@F).$(base).0) >$(@D)/.$(@F).0r.S
 	$(NM) -pa --format=sysv $(@D)/.$(@F).$(VIRT_BASE).0 \
-		| $(BASEDIR)/tools/symbols $(all_symbols) --sysv --sort >$(@D)/.$(@F).0s.S
+		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort >$(@D)/.$(@F).0s.S
 	$(MAKE) $(build)=$(@D) .$(@F).0r.o .$(@F).0s.o
 	$(foreach base, $(VIRT_BASE) $(ALT_BASE), \
 	          $(LD) $(call EFI_LDFLAGS,$(base)) -T $(obj)/efi.lds -N $< \
 	                $(@D)/.$(@F).0r.o $(@D)/.$(@F).0s.o $(note_file_option) -o $(@D)/.$(@F).$(base).1 &&) :
 	$(MKRELOC) $(foreach base,$(VIRT_BASE) $(ALT_BASE),$(@D)/.$(@F).$(base).1) >$(@D)/.$(@F).1r.S
 	$(NM) -pa --format=sysv $(@D)/.$(@F).$(VIRT_BASE).1 \
-		| $(BASEDIR)/tools/symbols $(all_symbols) --sysv --sort >$(@D)/.$(@F).1s.S
+		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort >$(@D)/.$(@F).1s.S
 	$(MAKE) $(build)=$(@D) .$(@F).1r.o .$(@F).1s.o
 	$(LD) $(call EFI_LDFLAGS,$(VIRT_BASE)) -T $(obj)/efi.lds -N $< \
 	                $(@D)/.$(@F).1r.o $(@D)/.$(@F).1s.o $(note_file_option) -o $@
 	$(NM) -pa --format=sysv $(@D)/$(@F) \
-		| $(BASEDIR)/tools/symbols --all-symbols --xensyms --sysv --sort >$(@D)/$(@F).map
+		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort >$(@D)/$(@F).map
 	rm -f $(@D)/.$(@F).[0-9]* $(@D)/..$(@F).[0-9]*
 else
 $(TARGET).efi: FORCE
@@ -232,11 +232,11 @@ endif
 $(obj)/efi/buildid.o $(obj)/efi/relocs-dummy.o: ;
 
 .PHONY: include
-include: $(BASEDIR)/arch/x86/include/asm/asm-macros.h
+include: $(objtree)/arch/x86/include/asm/asm-macros.h
 
 $(obj)/asm-macros.i: CFLAGS-y += -D__ASSEMBLY__ -P
 
-$(BASEDIR)/arch/x86/include/asm/asm-macros.h: $(obj)/asm-macros.i $(src)/Makefile
+$(objtree)/arch/x86/include/asm/asm-macros.h: $(obj)/asm-macros.i $(src)/Makefile
 	$(call filechk,asm-macros.h)
 
 define filechk_asm-macros.h
@@ -260,7 +260,7 @@ $(obj)/xen.lds $(obj)/efi.lds: $(src)/xen.lds.S FORCE
 .PHONY: clean
 clean::
 	rm -f *.lds
-	rm -f asm-macros.i $(BASEDIR)/arch/x86/include/asm/asm-macros.*
-	rm -f $(BASEDIR)/.xen-syms.[0-9]* $(BASEDIR)/.xen.elf32
-	rm -f $(BASEDIR)/.xen.efi.[0-9]* efi/*.efi
+	rm -f asm-macros.i $(abs_objtree)/arch/x86/include/asm/asm-macros.*
+	rm -f $(abs_objtree)/.xen-syms.[0-9]* $(abs_objtree)/.xen.elf32
+	rm -f $(abs_objtree)/.xen.efi.[0-9]* efi/*.efi
 	rm -f boot/cmdline.S boot/reloc.S boot/*.lnk boot/*.bin
diff --git a/xen/common/Makefile b/xen/common/Makefile
index ca839118e4d1..8771c2775efb 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -74,7 +74,7 @@ obj-$(CONFIG_UBSAN) += ubsan/
 obj-$(CONFIG_NEEDS_LIBELF) += libelf/
 obj-$(CONFIG_HAS_DEVICE_TREE) += libfdt/
 
-CONF_FILE := $(if $(patsubst /%,,$(KCONFIG_CONFIG)),$(BASEDIR)/)$(KCONFIG_CONFIG)
+CONF_FILE := $(if $(patsubst /%,,$(KCONFIG_CONFIG)),$(objtree)/)$(KCONFIG_CONFIG)
 $(obj)/config.gz: $(CONF_FILE)
 	gzip -n -c $< >$@
 
diff --git a/xen/test/livepatch/Makefile b/xen/test/livepatch/Makefile
index dee5fd78c188..008e89fc9a47 100644
--- a/xen/test/livepatch/Makefile
+++ b/xen/test/livepatch/Makefile
@@ -22,9 +22,9 @@ $(obj)/xen_hello_world.o: $(obj)/config.h
 $(obj)/config.h: $(obj)/xen_hello_world_func.o
 	(set -e; \
 	 echo "#define NEW_CODE_SZ $(call CODE_SZ,$<,xen_hello_world)"; \
-	 echo "#define MINOR_VERSION_SZ $(call CODE_SZ,$(BASEDIR)/xen-syms,xen_minor_version)"; \
-	 echo "#define MINOR_VERSION_ADDR $(call CODE_ADDR,$(BASEDIR)/xen-syms,xen_minor_version)"; \
-	 echo "#define OLD_CODE_SZ $(call CODE_SZ,$(BASEDIR)/xen-syms,xen_extra_version)") > $@
+	 echo "#define MINOR_VERSION_SZ $(call CODE_SZ,$(objtree)/xen-syms,xen_minor_version)"; \
+	 echo "#define MINOR_VERSION_ADDR $(call CODE_ADDR,$(objtree)/xen-syms,xen_minor_version)"; \
+	 echo "#define OLD_CODE_SZ $(call CODE_SZ,$(objtree)/xen-syms,xen_extra_version)") > $@
 
 $(obj)/modinfo.o:
 	(set -e; \
@@ -42,7 +42,7 @@ $(obj)/modinfo.o:
 # not be built (it is for EFI builds), and that we do not have
 # the note.o.bin to muck with (as it gets deleted)
 #
-$(obj)/note.o: $(BASEDIR)/xen-syms
+$(obj)/note.o: $(objtree)/xen-syms
 	$(OBJCOPY) -O binary --only-section=.note.gnu.build-id $< $@.bin
 	$(OBJCOPY) $(OBJCOPY_MAGIC) \
 		   --rename-section=.data=.livepatch.depends,alloc,load,readonly,data,contents -S $@.bin $@
@@ -52,7 +52,7 @@ $(obj)/note.o: $(BASEDIR)/xen-syms
 # Append .livepatch.xen_depends section
 # with Xen build-id derived from xen-syms.
 #
-$(obj)/xen_note.o: $(BASEDIR)/xen-syms
+$(obj)/xen_note.o: $(objtree)/xen-syms
 	$(OBJCOPY) -O binary --only-section=.note.gnu.build-id $< $@.bin
 	$(OBJCOPY) $(OBJCOPY_MAGIC) \
 		   --rename-section=.data=.livepatch.xen_depends,alloc,load,readonly,data,contents -S $@.bin $@
@@ -125,7 +125,7 @@ xen_action_hooks_norevert-objs := xen_action_hooks_marker.o xen_hello_world_func
 
 EXPECT_BYTES_COUNT := 8
 CODE_GET_EXPECT=$(shell $(OBJDUMP) -d --insn-width=1 $(1) | sed -n -e '/<'$(2)'>:$$/,/^$$/ p' | tail -n +2 | head -n $(EXPECT_BYTES_COUNT) | awk '{$$0=$$2; printf "%s", substr($$0,length-1)}' | sed 's/.\{2\}/0x&,/g' | sed 's/^/{/;s/,$$/}/g')
-$(obj)/expect_config.h: $(BASEDIR)/xen-syms
+$(obj)/expect_config.h: $(objtree)/xen-syms
 	(set -e; \
 	 echo "#define EXPECT_BYTES $(call CODE_GET_EXPECT,$<,xen_extra_version)"; \
          echo "#define EXPECT_BYTES_COUNT $(EXPECT_BYTES_COUNT)") > $@
diff --git a/xen/xsm/flask/Makefile b/xen/xsm/flask/Makefile
index 8d18c7d4ae6f..bff36aa97918 100644
--- a/xen/xsm/flask/Makefile
+++ b/xen/xsm/flask/Makefile
@@ -40,7 +40,7 @@ $(obj)/flask-policy.S: $(BASEDIR)/tools/binfile FORCE
 	$(call if_changed,binfile,$(obj)/policy.bin xsm_flask_init_policy)
 targets += flask-policy.S
 
-FLASK_BUILD_DIR := $(BASEDIR)/$(obj)
+FLASK_BUILD_DIR := $(abs_objtree)/$(obj)
 POLICY_SRC := $(FLASK_BUILD_DIR)/xenpolicy-$(XEN_FULLVERSION)
 
 $(obj)/policy.bin: FORCE
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:01:34 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:01:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170979.312144 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUBS-0005dT-67; Tue, 24 Aug 2021 11:01:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170979.312144; Tue, 24 Aug 2021 11: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 1mIUBR-0005ZD-Jr; Tue, 24 Aug 2021 11:01:33 +0000
Received: by outflank-mailman (input) for mailman id 170979;
 Tue, 24 Aug 2021 11:01:31 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU3F-0001EC-CT
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:53:05 +0000
Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 33cfbd9a-2a67-489c-8e26-e8d7916239e1;
 Tue, 24 Aug 2021 10:51: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: 33cfbd9a-2a67-489c-8e26-e8d7916239e1
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802296;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=NvEmkqOo6yXRkyt9zgrXIkN+iDNV5iXFphMHOhlw3oc=;
  b=DG/vsRqO3evCdiqIJq4UGEbcPZgdXdUJnS6R29d/vje58tCXUsAqJwY5
   PXnQyjFVL+9waGyctP6mRMPH9l4rZleVC8zGd3uj3ZL4uhyibgpdieaCY
   tH1fNWOfiTqPc3WGZHM6Fuvny2UOF0huxLmwjwiDngFBT4zc3Y6Wmjc42
   k=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: mNNC3bn4bAW4fwvZWVPVixEXj6s4n/M/b8LKt12PUoL/x1TVxHSvnnUJd+mPFUd/9wo9wOi55R
 4226qXYoyFScOKwP0JDiUthFHmWxqf9Zb0S3Hz5NVq7qL1QdbM9o/wm8vLrl1Tb/6DLTB0bXif
 Z1b1rKSYX8aSu2GfjdhRbX7CPBcawYf5Yv6/ERVFTxiyZ6/1QMLLpBWzSEoV5DS/YV+vtSa9eL
 jMtQNJuyPJ4f4qSCEiyPolksqBaK071ozr3UMhqlbr8NV+uSBJQlKOIVA+0KOae/N1G5RJDcoP
 DNlvLys3qAedXscgmhqtVFha
X-SBRS: 5.1
X-MesageID: 51130762
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:1F6mVa5o/dkGyi9ZVwPXwDLXdLJyesId70hD6qkQc3FomwKj9/
 xG/c5rsSMc7Qx6ZJhOo7+90cW7L080lqQFhLX5X43SPzUO0VHARO1fBOPZqAEIcBeOlNK1u5
 0AT0B/YueAcGSTj6zBkXWF+wBL+qj5zEiq792usUuEVWtRGsZdB58SMHfhLqVxLjM2Y6YRJd
 6nyedsgSGvQngTZtTTPAh+YwCSz+e77a4PeHQ9dmYa1DU=
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51130762"
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>, "Ian
 Jackson" <iwj@xenproject.org>, 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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Daniel De Graaf
	<dgdegra@tycho.nsa.gov>, "Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: [XEN PATCH v7 24/51] build: prepare to always invoke $(MAKE) from xen/, use $(obj)
Date: Tue, 24 Aug 2021 11:50:11 +0100
Message-ID: <20210824105038.1257926-25-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

In a future patch, when building a subdirectory, we will set
"obj=$subdir" rather than change directory.

Before that, we add "$(obj)" and "$(src)" in as many places as
possible where we will need to know which subdirectory is been built.
"$(obj)" is for files been generated during the build, and "$(src)" is
for files present in the source tree.

For now, we set both to "." in Rules.mk and Makefile.clean.

A few places don't tolerate the addition of "./", this is because make
remove the leading "./" in targets and dependencies in rules, so these
will be change later.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 xen/Rules.mk                            |  5 ++-
 xen/arch/arm/Makefile                   | 14 ++++----
 xen/arch/x86/Makefile                   | 48 ++++++++++++-------------
 xen/arch/x86/boot/Makefile              | 14 ++++----
 xen/arch/x86/efi/Makefile               |  6 ++--
 xen/common/Makefile                     |  8 ++---
 xen/common/libelf/Makefile              |  4 +--
 xen/common/libfdt/Makefile              |  6 ++--
 xen/include/Makefile                    | 40 ++++++++++-----------
 xen/scripts/Makefile.clean              |  5 ++-
 xen/xsm/flask/Makefile                  | 36 +++++++++----------
 xen/xsm/flask/policy/mkaccess_vector.sh |  7 ++--
 12 files changed, 101 insertions(+), 92 deletions(-)

diff --git a/xen/Rules.mk b/xen/Rules.mk
index 2db13a8f9c54..245efe705a1e 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -3,6 +3,9 @@
 # Makefile and are consumed by Rules.mk
 #
 
+obj := .
+src := $(obj)
+
 -include $(BASEDIR)/include/config/auto.conf
 
 include $(XEN_ROOT)/Config.mk
@@ -21,7 +24,7 @@ SPECIAL_DATA_SECTIONS := rodata $(foreach a,1 2 4 8 16, \
                          $(foreach r,rel rel.ro,data.$(r).local)
 
 # The filename build.mk has precedence over Makefile
-mk-dir := .
+mk-dir := $(src)
 include $(if $(wildcard $(mk-dir)/build.mk),$(mk-dir)/build.mk,$(mk-dir)/Makefile)
 
 # Linking
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 067c0d9844e4..9f9c73aa6c5d 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -88,18 +88,18 @@ ifeq ($(CONFIG_ARM_64),y)
 	ln -sf $(@F) $@.efi
 endif
 
-$(TARGET)-syms: $(BASEDIR)/prelink.o xen.lds
-	$(LD) $(XEN_LDFLAGS) -T xen.lds -N $< \
+$(TARGET)-syms: $(BASEDIR)/prelink.o $(obj)/xen.lds
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
 	    $(BASEDIR)/common/symbols-dummy.o -o $(@D)/.$(@F).0
 	$(NM) -pa --format=sysv $(@D)/.$(@F).0 \
 		| $(BASEDIR)/tools/symbols $(all_symbols) --sysv --sort >$(@D)/.$(@F).0.S
 	$(MAKE) -f $(BASEDIR)/Rules.mk $(@D)/.$(@F).0.o
-	$(LD) $(XEN_LDFLAGS) -T xen.lds -N $< \
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
 	    $(@D)/.$(@F).0.o -o $(@D)/.$(@F).1
 	$(NM) -pa --format=sysv $(@D)/.$(@F).1 \
 		| $(BASEDIR)/tools/symbols $(all_symbols) --sysv --sort >$(@D)/.$(@F).1.S
 	$(MAKE) -f $(BASEDIR)/Rules.mk $(@D)/.$(@F).1.o
-	$(LD) $(XEN_LDFLAGS) -T xen.lds -N $< $(build_id_linker) \
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) \
 	    $(@D)/.$(@F).1.o -o $@
 	$(NM) -pa --format=sysv $(@D)/$(@F) \
 		| $(BASEDIR)/tools/symbols --all-symbols --xensyms --sysv --sort \
@@ -109,13 +109,13 @@ $(TARGET)-syms: $(BASEDIR)/prelink.o xen.lds
 .PHONY: include
 include:
 
-xen.lds: xen.lds.S FORCE
+$(obj)/xen.lds: $(src)/xen.lds.S FORCE
 	$(call if_changed,cpp_lds_S)
 
-dtb.o: $(patsubst "%",%,$(CONFIG_DTB_FILE))
+$(obj)/dtb.o: $(patsubst "%",%,$(CONFIG_DTB_FILE))
 
 .PHONY: clean
 clean::
-	rm -f xen.lds
+	rm -f $(obj)/xen.lds
 	rm -f $(BASEDIR)/.xen-syms.[0-9]*
 	rm -f $(TARGET).efi
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 823f8fed4144..bb2da0d013fb 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -82,7 +82,7 @@ extra-y += asm-macros.i
 extra-y += xen.lds
 
 ifneq ($(CONFIG_HVM),y)
-x86_emulate.o: CFLAGS-y += -Wno-unused-label
+$(obj)/x86_emulate.o: CFLAGS-y += -Wno-unused-label
 endif
 
 efi-y := $(shell if [ ! -r $(BASEDIR)/include/xen/compile.h -o \
@@ -113,8 +113,8 @@ syms-warn-dup-$(CONFIG_SUPPRESS_DUPLICATE_SYMBOL_WARNINGS) :=
 syms-warn-dup-$(CONFIG_ENFORCE_UNIQUE_SYMBOLS) := --error-dup
 
 $(TARGET): TMP = $(@D)/.$(@F).elf32
-$(TARGET): $(TARGET)-syms $(efi-y) boot/mkelf32
-	./boot/mkelf32 $(notes_phdrs) $(TARGET)-syms $(TMP) $(XEN_IMG_OFFSET) \
+$(TARGET): $(TARGET)-syms $(efi-y) $(obj)/boot/mkelf32
+	$(obj)/boot/mkelf32 $(notes_phdrs) $(TARGET)-syms $(TMP) $(XEN_IMG_OFFSET) \
 	               `$(NM) $(TARGET)-syms | sed -ne 's/^\([^ ]*\) . __2M_rwdata_end$$/0x\1/p'`
 	od -t x4 -N 8192 $(TMP)  | grep 1badb002 > /dev/null || \
 		{ echo "No Multiboot1 header found" >&2; false; }
@@ -126,27 +126,27 @@ ifneq ($(efi-y),)
 CFLAGS-$(XEN_BUILD_EFI) += -DXEN_BUILD_EFI
 endif # $(efi-y)
 
-$(TARGET)-syms: $(BASEDIR)/prelink.o xen.lds
-	$(LD) $(XEN_LDFLAGS) -T xen.lds -N $< $(build_id_linker) \
+$(TARGET)-syms: $(BASEDIR)/prelink.o $(obj)/xen.lds
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) \
 	    $(BASEDIR)/common/symbols-dummy.o -o $(@D)/.$(@F).0
 	$(NM) -pa --format=sysv $(@D)/.$(@F).0 \
 		| $(BASEDIR)/tools/symbols $(all_symbols) --sysv --sort \
 		>$(@D)/.$(@F).0.S
 	$(MAKE) -f $(BASEDIR)/Rules.mk $(@D)/.$(@F).0.o
-	$(LD) $(XEN_LDFLAGS) -T xen.lds -N $< $(build_id_linker) \
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) \
 	    $(@D)/.$(@F).0.o -o $(@D)/.$(@F).1
 	$(NM) -pa --format=sysv $(@D)/.$(@F).1 \
 		| $(BASEDIR)/tools/symbols $(all_symbols) --sysv --sort $(syms-warn-dup-y) \
 		>$(@D)/.$(@F).1.S
 	$(MAKE) -f $(BASEDIR)/Rules.mk $(@D)/.$(@F).1.o
-	$(LD) $(XEN_LDFLAGS) -T xen.lds -N $< $(build_id_linker) \
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) \
 	    $(@D)/.$(@F).1.o -o $@
 	$(NM) -pa --format=sysv $(@D)/$(@F) \
 		| $(BASEDIR)/tools/symbols --all-symbols --xensyms --sysv --sort \
 		>$(@D)/$(@F).map
 	rm -f $(@D)/.$(@F).[0-9]* $(@D)/..$(@F).[0-9]*
 
-note.o: $(TARGET)-syms
+$(obj)/note.o: $(TARGET)-syms
 	$(OBJCOPY) -O binary --only-section=.note.gnu.build-id $< $@.bin
 	$(OBJCOPY) -I binary -O elf64-x86-64 -B i386:x86-64 \
 		--rename-section=.data=.note.gnu.build-id -S $@.bin $@
@@ -165,25 +165,25 @@ ifdef SOURCE_DATE_EPOCH
 EFI_LDFLAGS += --no-insert-timestamp
 endif
 
-$(TARGET).efi: VIRT_BASE = 0x$(shell $(NM) efi/relocs-dummy.o | sed -n 's, A VIRT_START$$,,p')
+$(TARGET).efi: VIRT_BASE = 0x$(shell $(NM) $(obj)/efi/relocs-dummy.o | sed -n 's, A VIRT_START$$,,p')
 ifeq ($(MKRELOC),:)
 relocs-dummy :=
 $(TARGET).efi: ALT_BASE :=
 else
-relocs-dummy := efi/relocs-dummy.o
-$(TARGET).efi: ALT_BASE = 0x$(shell $(NM) efi/relocs-dummy.o | sed -n 's, A ALT_START$$,,p')
+relocs-dummy := $(obj)/efi/relocs-dummy.o
+$(TARGET).efi: ALT_BASE = 0x$(shell $(NM) $(obj)/efi/relocs-dummy.o | sed -n 's, A ALT_START$$,,p')
 endif
 
 ifneq ($(build_id_linker),)
 ifeq ($(call ld-ver-build-id,$(LD) $(filter -m%,$(EFI_LDFLAGS))),y)
 CFLAGS-y += -DBUILD_ID_EFI
 EFI_LDFLAGS += $(build_id_linker)
-note_file := efi/buildid.o
+note_file := $(obj)/efi/buildid.o
 # NB: this must be the last input in the linker call, because inputs following
 # the -b option will all be treated as being in the specified format.
 note_file_option := -b pe-x86-64 $(note_file)
 else
-note_file := note.o
+note_file := $(obj)/note.o
 endif
 else
 note_file :=
@@ -192,25 +192,25 @@ note_file_option ?= $(note_file)
 
 ifeq ($(XEN_BUILD_PE),y)
 extra-y += efi.lds
-$(TARGET).efi: $(BASEDIR)/prelink.o $(note_file) efi.lds efi/relocs-dummy.o efi/mkreloc
+$(TARGET).efi: $(BASEDIR)/prelink.o $(note_file) $(obj)/efi.lds $(obj)/efi/relocs-dummy.o $(obj)/efi/mkreloc
 ifeq ($(CONFIG_DEBUG_INFO),y)
 	$(if $(filter --strip-debug,$(EFI_LDFLAGS)),echo,:) "Will strip debug info from $(@F)"
 endif
 	$(foreach base, $(VIRT_BASE) $(ALT_BASE), \
-	          $(LD) $(call EFI_LDFLAGS,$(base)) -T efi.lds -N $< $(relocs-dummy) \
+	          $(LD) $(call EFI_LDFLAGS,$(base)) -T $(obj)/efi.lds -N $< $(relocs-dummy) \
 	                $(BASEDIR)/common/symbols-dummy.o $(note_file_option) -o $(@D)/.$(@F).$(base).0 &&) :
 	$(MKRELOC) $(foreach base,$(VIRT_BASE) $(ALT_BASE),$(@D)/.$(@F).$(base).0) >$(@D)/.$(@F).0r.S
 	$(NM) -pa --format=sysv $(@D)/.$(@F).$(VIRT_BASE).0 \
 		| $(BASEDIR)/tools/symbols $(all_symbols) --sysv --sort >$(@D)/.$(@F).0s.S
 	$(MAKE) -f $(BASEDIR)/Rules.mk $(@D)/.$(@F).0r.o $(@D)/.$(@F).0s.o
 	$(foreach base, $(VIRT_BASE) $(ALT_BASE), \
-	          $(LD) $(call EFI_LDFLAGS,$(base)) -T efi.lds -N $< \
+	          $(LD) $(call EFI_LDFLAGS,$(base)) -T $(obj)/efi.lds -N $< \
 	                $(@D)/.$(@F).0r.o $(@D)/.$(@F).0s.o $(note_file_option) -o $(@D)/.$(@F).$(base).1 &&) :
 	$(MKRELOC) $(foreach base,$(VIRT_BASE) $(ALT_BASE),$(@D)/.$(@F).$(base).1) >$(@D)/.$(@F).1r.S
 	$(NM) -pa --format=sysv $(@D)/.$(@F).$(VIRT_BASE).1 \
 		| $(BASEDIR)/tools/symbols $(all_symbols) --sysv --sort >$(@D)/.$(@F).1s.S
 	$(MAKE) -f $(BASEDIR)/Rules.mk $(@D)/.$(@F).1r.o $(@D)/.$(@F).1s.o
-	$(LD) $(call EFI_LDFLAGS,$(VIRT_BASE)) -T efi.lds -N $< \
+	$(LD) $(call EFI_LDFLAGS,$(VIRT_BASE)) -T $(obj)/efi.lds -N $< \
 	                $(@D)/.$(@F).1r.o $(@D)/.$(@F).1s.o $(note_file_option) -o $@
 	$(NM) -pa --format=sysv $(@D)/$(@F) \
 		| $(BASEDIR)/tools/symbols --all-symbols --xensyms --sysv --sort >$(@D)/$(@F).map
@@ -222,14 +222,14 @@ $(TARGET).efi: FORCE
 endif
 
 # These should already have been rebuilt when building the prerequisite of "prelink.o"
-efi/buildid.o efi/relocs-dummy.o: ;
+$(obj)/efi/buildid.o $(obj)/efi/relocs-dummy.o: ;
 
 .PHONY: include
 include: $(BASEDIR)/arch/x86/include/asm/asm-macros.h
 
-asm-macros.i: CFLAGS-y += -D__ASSEMBLY__ -P
+$(obj)/asm-macros.i: CFLAGS-y += -D__ASSEMBLY__ -P
 
-$(BASEDIR)/arch/x86/include/asm/asm-macros.h: asm-macros.i Makefile
+$(BASEDIR)/arch/x86/include/asm/asm-macros.h: $(obj)/asm-macros.i $(src)/Makefile
 	echo '#if 0' >$@.new
 	echo '.if 0' >>$@.new
 	echo '#endif' >>$@.new
@@ -243,14 +243,14 @@ $(BASEDIR)/arch/x86/include/asm/asm-macros.h: asm-macros.i Makefile
 	echo '#endif' >>$@.new
 	$(call move-if-changed,$@.new,$@)
 
-efi.lds: AFLAGS-y += -DEFI
-xen.lds efi.lds: xen.lds.S FORCE
+$(obj)/efi.lds: AFLAGS-y += -DEFI
+$(obj)/xen.lds $(obj)/efi.lds: $(src)/xen.lds.S FORCE
 	$(call if_changed,cpp_lds_S)
 
-boot/mkelf32: boot/mkelf32.c
+$(obj)/boot/mkelf32: $(src)/boot/mkelf32.c
 	$(HOSTCC) $(HOSTCFLAGS) -o $@ $<
 
-efi/mkreloc: efi/mkreloc.c
+$(obj)/efi/mkreloc: $(src)/efi/mkreloc.c
 	$(HOSTCC) $(HOSTCFLAGS) -g -o $@ $<
 
 .PHONY: clean
diff --git a/xen/arch/x86/boot/Makefile b/xen/arch/x86/boot/Makefile
index 9b31bfcbfb8a..53d357489df2 100644
--- a/xen/arch/x86/boot/Makefile
+++ b/xen/arch/x86/boot/Makefile
@@ -1,8 +1,8 @@
 obj-bin-y += head.o
 
-DEFS_H_DEPS = defs.h $(BASEDIR)/include/xen/stdbool.h
+DEFS_H_DEPS = $(src)/defs.h $(BASEDIR)/include/xen/stdbool.h
 
-CMDLINE_DEPS = $(DEFS_H_DEPS) video.h
+CMDLINE_DEPS = $(DEFS_H_DEPS) $(src)/video.h
 
 RELOC_DEPS = $(DEFS_H_DEPS) \
 	     $(BASEDIR)/include/generated/autoconf.h \
@@ -11,10 +11,10 @@ RELOC_DEPS = $(DEFS_H_DEPS) \
 	     $(BASEDIR)/include/xen/multiboot2.h \
 	     $(BASEDIR)/include/public/arch-x86/hvm/start_info.h
 
-head.o: cmdline.S reloc.S
+$(obj)/head.o: $(obj)/cmdline.S $(obj)/reloc.S
 
-cmdline.S: cmdline.c $(CMDLINE_DEPS)
-	$(MAKE) -f build32.mk $@ CMDLINE_DEPS="$(CMDLINE_DEPS)"
+$(obj)/cmdline.S: $(src)/cmdline.c $(CMDLINE_DEPS)
+	$(MAKE) -f build32.mk -C $(obj) $(@F) CMDLINE_DEPS="$(CMDLINE_DEPS)"
 
-reloc.S: reloc.c $(RELOC_DEPS)
-	$(MAKE) -f build32.mk $@ RELOC_DEPS="$(RELOC_DEPS)"
+$(obj)/reloc.S: $(src)/reloc.c $(RELOC_DEPS)
+	$(MAKE) -f build32.mk -C $(obj) $(@F) RELOC_DEPS="$(RELOC_DEPS)"
diff --git a/xen/arch/x86/efi/Makefile b/xen/arch/x86/efi/Makefile
index 87b927ed865b..ac815f02cb5e 100644
--- a/xen/arch/x86/efi/Makefile
+++ b/xen/arch/x86/efi/Makefile
@@ -3,16 +3,16 @@ CFLAGS-y += -fshort-wchar
 quiet_cmd_objcopy_o_ihex = OBJCOPY $@
 cmd_objcopy_o_ihex = $(OBJCOPY) -I ihex -O binary $< $@
 
-%.o: %.ihex FORCE
+$(obj)/%.o: $(src)/%.ihex FORCE
 	$(call if_changed,objcopy_o_ihex)
 
-boot.init.o: buildid.o
+$(obj)/boot.init.o: $(obj)/buildid.o
 
 EFIOBJ-y := boot.init.o pe.init.o ebmalloc.o runtime.o
 EFIOBJ-$(CONFIG_COMPAT) += compat.o
 
 $(call cc-option-add,cflags-stack-boundary,CC,-mpreferred-stack-boundary=4)
-$(EFIOBJ-y): CFLAGS-stack-boundary := $(cflags-stack-boundary)
+$(addprefix $(obj)/,$(EFIOBJ-y)): CFLAGS-stack-boundary := $(cflags-stack-boundary)
 
 obj-y := stub.o
 obj-$(XEN_BUILD_EFI) := $(filter-out %.init.o,$(EFIOBJ-y))
diff --git a/xen/common/Makefile b/xen/common/Makefile
index 141d7d40d3dc..ca839118e4d1 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -75,13 +75,13 @@ obj-$(CONFIG_NEEDS_LIBELF) += libelf/
 obj-$(CONFIG_HAS_DEVICE_TREE) += libfdt/
 
 CONF_FILE := $(if $(patsubst /%,,$(KCONFIG_CONFIG)),$(BASEDIR)/)$(KCONFIG_CONFIG)
-config.gz: $(CONF_FILE)
+$(obj)/config.gz: $(CONF_FILE)
 	gzip -n -c $< >$@
 
-config_data.o: config.gz
+$(obj)/config_data.o: $(obj)/config.gz
 
-config_data.S: $(BASEDIR)/tools/binfile FORCE
-	$(call if_changed,binfile,config.gz xen_config_data)
+$(obj)/config_data.S: $(BASEDIR)/tools/binfile FORCE
+	$(call if_changed,binfile,$(obj)/config.gz xen_config_data)
 targets += config_data.S
 
 clean::
diff --git a/xen/common/libelf/Makefile b/xen/common/libelf/Makefile
index a92326c982e9..8a4522e4e141 100644
--- a/xen/common/libelf/Makefile
+++ b/xen/common/libelf/Makefile
@@ -7,10 +7,10 @@ OBJCOPYFLAGS := $(foreach s,$(SECTIONS),--rename-section .$(s)=.init.$(s))
 
 CFLAGS-y += -Wno-pointer-sign
 
-libelf.o: libelf-temp.o FORCE
+$(obj)/libelf.o: $(obj)/libelf-temp.o FORCE
 	$(call if_changed,objcopy)
 
-libelf-temp.o: $(libelf-objs) FORCE
+$(obj)/libelf-temp.o: $(addprefix $(obj)/,$(libelf-objs)) FORCE
 	$(call if_changed,ld)
 
 extra-y += libelf-temp.o $(libelf-objs)
diff --git a/xen/common/libfdt/Makefile b/xen/common/libfdt/Makefile
index 6bd207cf8ffa..6708af12e583 100644
--- a/xen/common/libfdt/Makefile
+++ b/xen/common/libfdt/Makefile
@@ -1,4 +1,4 @@
-include Makefile.libfdt
+include $(src)/Makefile.libfdt
 
 SECTIONS := text data $(SPECIAL_DATA_SECTIONS)
 OBJCOPYFLAGS := $(foreach s,$(SECTIONS),--rename-section .$(s)=.init.$(s))
@@ -8,10 +8,10 @@ nocov-y += libfdt.o
 
 CFLAGS-y += -I$(BASEDIR)/include/xen/libfdt/
 
-libfdt.o: libfdt-temp.o FORCE
+$(obj)/libfdt.o: $(obj)/libfdt-temp.o FORCE
 	$(call if_changed,objcopy)
 
-libfdt-temp.o: $(LIBFDT_OBJS) FORCE
+$(obj)/libfdt-temp.o: $(addprefix $(obj)/,$(LIBFDT_OBJS)) FORCE
 	$(call if_changed,ld)
 
 extra-y += libfdt-temp.o $(LIBFDT_OBJS)
diff --git a/xen/include/Makefile b/xen/include/Makefile
index 65a938a66555..69224e22a950 100644
--- a/xen/include/Makefile
+++ b/xen/include/Makefile
@@ -40,53 +40,53 @@ cppflags-$(CONFIG_X86)    += -m32
 endif
 
 .PHONY: all
-all: $(headers-y)
+all: $(addprefix $(obj)/,$(headers-y))
 
-compat/%.h: compat/%.i Makefile $(BASEDIR)/tools/compat-build-header.py
-	$(PYTHON) $(BASEDIR)/tools/compat-build-header.py <$< $@ >>$@.new; \
+$(obj)/compat/%.h: $(obj)/compat/%.i $(src)/Makefile $(BASEDIR)/tools/compat-build-header.py
+	$(PYTHON) $(BASEDIR)/tools/compat-build-header.py <$< $(patsubst $(obj)/%,%,$@) >>$@.new; \
 	mv -f $@.new $@
 
-compat/%.i: compat/%.c Makefile
+$(obj)/compat/%.i: $(obj)/compat/%.c $(src)/Makefile
 	$(CPP) $(filter-out -Wa$(comma)% -include %/include/xen/config.h,$(XEN_CFLAGS)) $(cppflags-y) -o $@ $<
 
-compat/%.c: public/%.h xlat.lst Makefile $(BASEDIR)/tools/compat-build-source.py
+$(obj)/compat/%.c: $(src)/public/%.h $(src)/xlat.lst $(src)/Makefile $(BASEDIR)/tools/compat-build-source.py
 	mkdir -p $(@D)
-	$(PYTHON) $(BASEDIR)/tools/compat-build-source.py xlat.lst <$< >$@.new
+	$(PYTHON) $(BASEDIR)/tools/compat-build-source.py $(src)/xlat.lst <$< >$@.new
 	mv -f $@.new $@
 
-compat/.xlat/%.h: compat/%.h compat/.xlat/%.lst $(BASEDIR)/tools/get-fields.sh Makefile
+$(obj)/compat/.xlat/%.h: $(obj)/compat/%.h $(obj)/compat/.xlat/%.lst $(BASEDIR)/tools/get-fields.sh $(src)/Makefile
 	export PYTHON=$(PYTHON); \
 	while read what name; do \
 		$(SHELL) $(BASEDIR)/tools/get-fields.sh "$$what" compat_$$name $< || exit $$?; \
 	done <$(patsubst compat/%,compat/.xlat/%,$(basename $<)).lst >$@.new
 	mv -f $@.new $@
 
-.PRECIOUS: compat/.xlat/%.lst
-compat/.xlat/%.lst: xlat.lst Makefile
+.PRECIOUS: $(obj)/compat/.xlat/%.lst
+$(obj)/compat/.xlat/%.lst: $(src)/xlat.lst $(src)/Makefile
 	mkdir -p $(@D)
 	grep -v '^[[:blank:]]*#' $< | sed -ne 's,@arch@,$(compat-arch-y),g' -re 's,[[:blank:]]+$*\.h[[:blank:]]*$$,,p' >$@.new
 	$(call move-if-changed,$@.new,$@)
 
-xlat-y := $(shell sed -ne 's,@arch@,$(compat-arch-y),g' -re 's,^[?!][[:blank:]]+[^[:blank:]]+[[:blank:]]+,,p' xlat.lst | uniq)
+xlat-y := $(shell sed -ne 's,@arch@,$(compat-arch-y),g' -re 's,^[?!][[:blank:]]+[^[:blank:]]+[[:blank:]]+,,p' $(src)/xlat.lst | uniq)
 xlat-y := $(filter $(patsubst compat/%,%,$(headers-y)),$(xlat-y))
 
-compat/xlat.h: $(addprefix compat/.xlat/,$(xlat-y)) config/auto.conf Makefile
+$(obj)/compat/xlat.h: $(addprefix $(obj)/compat/.xlat/,$(xlat-y)) $(obj)/config/auto.conf $(src)/Makefile
 	cat $(filter %.h,$^) >$@.new
 	mv -f $@.new $@
 
 ifeq ($(XEN_TARGET_ARCH),$(XEN_COMPILE_ARCH))
 
-all: headers.chk headers99.chk headers++.chk
+all: $(obj)/headers.chk $(obj)/headers99.chk $(obj)/headers++.chk
 
-PUBLIC_HEADERS := $(filter-out public/arch-% public/dom0_ops.h, $(wildcard public/*.h public/*/*.h))
+PUBLIC_HEADERS := $(filter-out $(src)/public/arch-% $(src)/public/dom0_ops.h, $(wildcard $(src)/public/*.h $(src)/public/*/*.h))
 
-PUBLIC_C99_HEADERS := public/io/9pfs.h public/io/pvcalls.h
-PUBLIC_ANSI_HEADERS := $(filter-out public/%ctl.h public/xsm/% public/%hvm/save.h $(PUBLIC_C99_HEADERS), $(PUBLIC_HEADERS))
+PUBLIC_C99_HEADERS := $(src)/public/io/9pfs.h $(src)/public/io/pvcalls.h
+PUBLIC_ANSI_HEADERS := $(filter-out $(src)/public/%ctl.h $(src)/public/xsm/% $(src)/public/%hvm/save.h $(PUBLIC_C99_HEADERS), $(PUBLIC_HEADERS))
 
 public/io/9pfs.h-prereq := string
 public/io/pvcalls.h-prereq := string
 
-headers.chk: $(PUBLIC_ANSI_HEADERS) Makefile
+$(obj)/headers.chk: $(PUBLIC_ANSI_HEADERS) $(src)/Makefile
 	for i in $(filter %.h,$^); do \
 	    $(CC) -x c -ansi -Wall -Werror -include stdint.h \
 	          -S -o /dev/null $$i || exit 1; \
@@ -94,7 +94,7 @@ headers.chk: $(PUBLIC_ANSI_HEADERS) Makefile
 	done >$@.new
 	mv $@.new $@
 
-headers99.chk: $(PUBLIC_C99_HEADERS) Makefile
+$(obj)/headers99.chk: $(PUBLIC_C99_HEADERS) $(src)/Makefile
 	rm -f $@.new
 	$(foreach i, $(filter %.h,$^),                                        \
 	    echo "#include "\"$(i)\"                                          \
@@ -104,7 +104,7 @@ headers99.chk: $(PUBLIC_C99_HEADERS) Makefile
 	    || exit $$?; echo $(i) >> $@.new;)
 	mv $@.new $@
 
-headers++.chk: $(PUBLIC_HEADERS) Makefile
+$(obj)/headers++.chk: $(PUBLIC_HEADERS) $(src)/Makefile
 	rm -f $@.new
 	if ! $(CXX) -v >/dev/null 2>&1; then                                  \
 	    touch $@.new;                                                     \
@@ -113,7 +113,7 @@ headers++.chk: $(PUBLIC_HEADERS) Makefile
 	$(foreach i, $(filter %.h,$^),                                        \
 	    echo "#include "\"$(i)\"                                          \
 	    | $(CXX) -x c++ -std=gnu++98 -Wall -Werror -D__XEN_TOOLS__        \
-	      -include stdint.h -include public/xen.h                         \
+	      -include stdint.h -include $(src)/public/xen.h                  \
 	      $(foreach j, $($(i)-prereq), -include c$(j)) -S -o /dev/null -  \
 	    || exit $$?; echo $(i) >> $@.new;)
 	mv $@.new $@
@@ -123,7 +123,7 @@ endif
 ifeq ($(XEN_TARGET_ARCH),x86_64)
 .PHONY: lib-x86-all
 lib-x86-all:
-	$(MAKE) -C xen/lib/x86 all
+	$(MAKE) -C $(obj)/xen/lib/x86 all
 
 all: lib-x86-all
 endif
diff --git a/xen/scripts/Makefile.clean b/xen/scripts/Makefile.clean
index b6df9e861e6e..36b7e7e92f93 100644
--- a/xen/scripts/Makefile.clean
+++ b/xen/scripts/Makefile.clean
@@ -3,11 +3,14 @@
 # Cleaning up
 # ==========================================================================
 
+obj := .
+src := $(obj)
+
 clean::
 
 include $(BASEDIR)/scripts/Kbuild.include
 
-include Makefile
+include $(src)/Makefile
 
 # Figure out what we need to clean from the various variables
 # ==========================================================================
diff --git a/xen/xsm/flask/Makefile b/xen/xsm/flask/Makefile
index f4d4038c01bd..ab26b8682e46 100644
--- a/xen/xsm/flask/Makefile
+++ b/xen/xsm/flask/Makefile
@@ -4,46 +4,46 @@ obj-y += flask_op.o
 
 obj-y += ss/
 
-CFLAGS-y += -I./include
+CFLAGS-y += -I$(obj)/include
 
 AWK = awk
 
-FLASK_H_DEPEND = policy/security_classes policy/initial_sids
-AV_H_DEPEND = policy/access_vectors
+FLASK_H_DEPEND := $(addprefix $(src)/policy/,security_classes initial_sids)
+AV_H_DEPEND = $(src)/policy/access_vectors
 
-FLASK_H_FILES = include/flask.h include/class_to_string.h include/initial_sid_to_string.h
-AV_H_FILES = include/av_perm_to_string.h include/av_permissions.h
-ALL_H_FILES = $(FLASK_H_FILES) $(AV_H_FILES)
+FLASK_H_FILES := flask.h class_to_string.h initial_sid_to_string.h
+AV_H_FILES := av_perm_to_string.h av_permissions.h
+ALL_H_FILES := $(addprefix include/,$(FLASK_H_FILES) $(AV_H_FILES))
 
-$(obj-y) ss/built_in.o: $(ALL_H_FILES)
+$(addprefix $(obj)/,$(obj-y)) $(obj)/ss/built_in.o: $(addprefix $(obj)/,$(ALL_H_FILES))
 extra-y += $(ALL_H_FILES)
 
-mkflask := policy/mkflask.sh
+mkflask := $(src)/policy/mkflask.sh
 quiet_cmd_mkflask = MKFLASK $@
-cmd_mkflask = $(SHELL) $(mkflask) $(AWK) include $(FLASK_H_DEPEND)
+cmd_mkflask = $(SHELL) $(mkflask) $(AWK) $(obj)/include $(FLASK_H_DEPEND)
 
-$(subst include/,%/,$(FLASK_H_FILES)): $(FLASK_H_DEPEND) $(mkflask) FORCE
+$(addprefix $(obj)/%/,$(FLASK_H_FILES)): $(FLASK_H_DEPEND) $(mkflask) FORCE
 	$(call if_changed,mkflask)
 
-mkaccess := policy/mkaccess_vector.sh
+mkaccess := $(src)/policy/mkaccess_vector.sh
 quiet_cmd_mkaccess = MKACCESS VECTOR $@
-cmd_mkaccess = $(SHELL) $(mkaccess) $(AWK) $(AV_H_DEPEND)
+cmd_mkaccess = $(SHELL) $(mkaccess) $(AWK) $(obj)/include $(AV_H_DEPEND)
 
-$(subst include/,%/,$(AV_H_FILES)): $(AV_H_DEPEND) $(mkaccess) FORCE
+$(addprefix $(obj)/%/,$(AV_H_FILES)): $(AV_H_DEPEND) $(mkaccess) FORCE
 	$(call if_changed,mkaccess)
 
 obj-bin-$(CONFIG_XSM_FLASK_POLICY) += flask-policy.o
-flask-policy.o: policy.bin
+$(obj)/flask-policy.o: $(obj)/policy.bin
 
-flask-policy.S: BINFILE_FLAGS := -i
-flask-policy.S: $(BASEDIR)/tools/binfile FORCE
-	$(call if_changed,binfile,policy.bin xsm_flask_init_policy)
+$(obj)/flask-policy.S: BINFILE_FLAGS := -i
+$(obj)/flask-policy.S: $(BASEDIR)/tools/binfile FORCE
+	$(call if_changed,binfile,$(obj)/policy.bin xsm_flask_init_policy)
 targets += flask-policy.S
 
 FLASK_BUILD_DIR := $(CURDIR)
 POLICY_SRC := $(FLASK_BUILD_DIR)/xenpolicy-$(XEN_FULLVERSION)
 
-policy.bin: FORCE
+$(obj)/policy.bin: FORCE
 	$(MAKE) -f $(XEN_ROOT)/tools/flask/policy/Makefile.common -C $(XEN_ROOT)/tools/flask/policy FLASK_BUILD_DIR=$(FLASK_BUILD_DIR)
 	cmp -s $(POLICY_SRC) $@ || cp $(POLICY_SRC) $@
 
diff --git a/xen/xsm/flask/policy/mkaccess_vector.sh b/xen/xsm/flask/policy/mkaccess_vector.sh
index 942ede4713f1..ad9772193bff 100755
--- a/xen/xsm/flask/policy/mkaccess_vector.sh
+++ b/xen/xsm/flask/policy/mkaccess_vector.sh
@@ -8,9 +8,12 @@ set -e
 awk=$1
 shift
 
+output_dir=$1
+shift
+
 # output files
-av_permissions="include/av_permissions.h"
-av_perm_to_string="include/av_perm_to_string.h"
+av_permissions="$output_dir/av_permissions.h"
+av_perm_to_string="$output_dir/av_perm_to_string.h"
 
 cat $* | $awk "
 BEGIN	{
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:01:35 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:01:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170980.312154 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUBT-0005uA-BM; Tue, 24 Aug 2021 11:01:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170980.312154; Tue, 24 Aug 2021 11:01:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUBS-0005pv-KW; Tue, 24 Aug 2021 11:01:34 +0000
Received: by outflank-mailman (input) for mailman id 170980;
 Tue, 24 Aug 2021 11:01:31 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU4D-0001EC-Eg
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:54:05 +0000
Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 793aa3ad-c75d-43fc-bf1c-091d2a3119cc;
 Tue, 24 Aug 2021 10:52: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: 793aa3ad-c75d-43fc-bf1c-091d2a3119cc
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802324;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=peF07yApvAmonymrFonEMIY5XQyw9u/7Zv4cwXrx8fA=;
  b=MwK8I3rgEKS+PCXeyQzZ1o/FI/ibhhackQPeM+dRr5B7BsaKPBlVQbaz
   bp1WSWzfnCCfCJXue1WLPkfWrjnuYqMh7tNJ9Hkb+fZvzVxPgYC5/qNVw
   6flfbLSlGKhhxsj1d5USd6gE8fbWy1o/SqRq6Y4UWHON8iqb/IgN8aSJ2
   I=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: Xw9/UdIF15GytftMnKccpbXrN2UvK+wtd3B4MB07ib0vmF7VM7ZKWNUOfqbXSWfaMkR5hZxOgO
 LMEE4ZkeJyvRKPpbDRxKZ+Eiwx8Fh1S1RfYZSkc0rFZ0Q1SidII7PtUn8NCAEIGgi+TuXzVNvE
 n9Db8dtSEGrPofU7WR0jNKNdywEOhldxEWZ+qZj8pYmuaf+iNHHOHptLyL6R9uClNmNpAeS5I6
 QW21FSOQuByifAQHWQTgkVE7LXGQuA5PTrb01xrXsXK4UDPfi0n+2Cw+nhbtvTN03YbLhKTyE7
 06NkqoXf07oFpZwVI292/PMf
X-SBRS: 5.1
X-MesageID: 51130789
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:wc/1sK2kOGZMf4gILori8QqjBQ5yeYIsimQD101hICG9Lfb0qy
 n+pp4mPEHP4wr5AEtQ/+xpOMG7IU80hqQFmLX5XI3SFzUO11HYSL2KgbGN/9SCIVy1ygc+79
 YGT0EWMrSZYTdHZK3BkWqF+qMbsby6GdeT9IXjJhlWLD1CWuVF1UNUGwybGkp5SE1tHpwiDq
 eR4cJBun6JZWkXRt7TPAhIY8Hz4/nw0L72ax8PABAqrCOUiymz1bL8Gx+Emj8DTjJ0x6s4+2
 StqX232kzjiYD09vbv7R6S031koqqj9jKFPr3PtiEhEESstu9vXvUlZ1TNhkFwnAjl0idTrD
 CFmWZaAy000QKdQoj9m2qW5yDwlDkp8HPs0lmenD/qptH4XiszD45biZteaQax0TtXgDhQ6t
 M+44uijeshMfoAplWN2/HYExVx0kakq3srluAey3RZTIsFcbdU6YgS5llcHpsMFD/zrNlPKp
 gnMOjMoPJNNV+KZXHQuWdihNSqQ3QoBx+DBkwPoNac3TRalG1wi0EY2MsclHEd849VcegM28
 3UdqBz0L1eRM4faqxwQO8HXMusE2TIBQnBNWqDSG6XYZ3v+0i92aIfxY9Fmt1CVKZ4sKfaqa
 6xI2+w71RCBn4GIff+o6Fj41TXRnmhUXD31sRTjqIJyoHBeA==
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51130789"
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>, "Ian
 Jackson" <iwj@xenproject.org>, 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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, "Konrad
 Rzeszutek Wilk" <konrad.wilk@oracle.com>, Ross Lagerwall
	<ross.lagerwall@citrix.com>, Daniel De Graaf <dgdegra@tycho.nsa.gov>, "Daniel
 P. Smith" <dpsmith@apertussolutions.com>
Subject: [XEN PATCH v7 37/51] build: clean-up "clean" rules of duplication
Date: Tue, 24 Aug 2021 11:50:24 +0100
Message-ID: <20210824105038.1257926-38-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

All those files to be removed are already done in the main Makefile,
either by the "find" command or directly (for $(TARGET).efi).

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 xen/Makefile                | 2 +-
 xen/arch/arm/Makefile       | 1 -
 xen/arch/x86/Makefile       | 5 ++---
 xen/test/livepatch/Makefile | 2 +-
 xen/xsm/flask/Makefile      | 2 +-
 5 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/xen/Makefile b/xen/Makefile
index 28854d6cb29f..950bee10ba38 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -410,7 +410,7 @@ _clean:
 		-o -name ".*.o.tmp" -o -name "*~" -o -name "core" \
 		-o -name '*.lex.c' -o -name '*.tab.[ch]' \
 		-o -name "*.gcno" -o -name ".*.cmd" -o -name "lib.a" \) -exec rm -f {} \;
-	rm -f include/asm $(TARGET) $(TARGET).gz $(TARGET).efi $(TARGET).efi.map $(TARGET)-syms $(TARGET)-syms.map *~ core
+	rm -f include/asm $(TARGET) $(TARGET).gz $(TARGET).efi $(TARGET).efi.map $(TARGET)-syms $(TARGET)-syms.map
 	rm -f asm-offsets.s arch/*/include/asm/asm-offsets.h
 	rm -f .banner include/xen/compile.h
 
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index a3204d22d17b..e6eff291c5e5 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -118,4 +118,3 @@ $(obj)/dtb.o: $(patsubst "%",%,$(CONFIG_DTB_FILE))
 clean::
 	rm -f $(obj)/xen.lds
 	rm -f $(BASEDIR)/.xen-syms.[0-9]*
-	rm -f $(TARGET).efi
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 1ef2536ece26..8d789d25a3ff 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -261,9 +261,8 @@ $(obj)/efi/mkreloc: $(src)/efi/mkreloc.c
 
 .PHONY: clean
 clean::
-	rm -f *.lds boot/*.o boot/*~ boot/core boot/mkelf32
+	rm -f *.lds boot/mkelf32
 	rm -f asm-macros.i $(BASEDIR)/arch/x86/include/asm/asm-macros.*
-	rm -f $(BASEDIR)/.xen-syms.[0-9]* boot/.*.d $(BASEDIR)/.xen.elf32
+	rm -f $(BASEDIR)/.xen-syms.[0-9]* $(BASEDIR)/.xen.elf32
 	rm -f $(BASEDIR)/.xen.efi.[0-9]* efi/*.efi efi/mkreloc
 	rm -f boot/cmdline.S boot/reloc.S boot/*.lnk boot/*.bin
-	rm -f note.o
diff --git a/xen/test/livepatch/Makefile b/xen/test/livepatch/Makefile
index 52ee58a08c5f..dee5fd78c188 100644
--- a/xen/test/livepatch/Makefile
+++ b/xen/test/livepatch/Makefile
@@ -162,4 +162,4 @@ uninstall:
 
 .PHONY: clean
 clean::
-	rm -f *.o .*.o.d *.livepatch config.h expect_config.h
+	rm -f *.livepatch config.h expect_config.h
diff --git a/xen/xsm/flask/Makefile b/xen/xsm/flask/Makefile
index 57190ff6c8ad..8d18c7d4ae6f 100644
--- a/xen/xsm/flask/Makefile
+++ b/xen/xsm/flask/Makefile
@@ -49,4 +49,4 @@ $(obj)/policy.bin: FORCE
 
 .PHONY: clean
 clean::
-	rm -f $(ALL_H_FILES) *.o $(DEPS_RM) policy.* $(POLICY_SRC) flask-policy.S
+	rm -f $(ALL_H_FILES) policy.* $(POLICY_SRC) flask-policy.S
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:01:37 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:01:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170984.312166 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUBV-0006PM-DW; Tue, 24 Aug 2021 11:01:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170984.312166; Tue, 24 Aug 2021 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 1mIUBU-0006Jd-Io; Tue, 24 Aug 2021 11:01:36 +0000
Received: by outflank-mailman (input) for mailman id 170984;
 Tue, 24 Aug 2021 11:01:32 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU4I-0003Ux-EX
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:54:10 +0000
Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 62114c5c-04c9-11ec-a8c6-12813bfff9fa;
 Tue, 24 Aug 2021 10: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: 62114c5c-04c9-11ec-a8c6-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802352;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=F/M2/vq6KWl0VqsyNOoDat2OseP4JIu38Fm2gzKcBlQ=;
  b=U3QYDburFTqe6KbFy+HVkOn65kkw4XoFWbBNxCzDsfIQcGiBgXQKUT7q
   yYgf4Kq3mxO5OwuNm/a0RojM/aW6JrMQ3tZVTj1AHiopSJrOmvivWnUlP
   Iwjx1ptKlL14y0IqfpIiz0PPr1jxw9gRZ4b+eCTTVe3KNSxiLzrwxb98o
   4=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: 4jsNkiXImDfIJLLZOZGWIqMVlMjMO+QFBJMHH+BC9qi49EwwtiuItf0s49pDPfznhjdk6JHjce
 3LUwotgP/JhkFXeBfHadoRrNp7M4KiCBWL1VkYooALtdr9cj1kTmhGEY6lNKvgYThaBFWmNgst
 zEQjxLGBIuYR8+TXC5OitDX1vJhDNkAooXAmz9ApP9lWiOJZyiFHyUYj0O2QvDHjk3XY8GIAZl
 4n9B6IY1oSOkGkdR3zmlcZeY3nRXcCG8d3Y6TIn1u7YOVy2zmk6MofpzgZKwcWTUxZD+bSv6LD
 qL0Jzh/1WMby5042szX1/Q3e
X-SBRS: 5.1
X-MesageID: 51153615
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:tKSuF65bio8NpUvPrAPXwPDXdLJyesId70hD6qhwISY6TiX+rb
 HJoB17726NtN9/YhEdcLy7VJVoBEmskKKdgrNhWotKPjOW21dARbsKheCJrgEIWReOktK1vZ
 0QCpSWY+eQMbEVt6nHCXGDYrQd/OU=
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51153615"
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>, "Ian
 Jackson" <iwj@xenproject.org>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>
Subject: [XEN PATCH v7 50/51] build: specify source tree in include/ for prerequisite
Date: Tue, 24 Aug 2021 11:50:37 +0100
Message-ID: <20210824105038.1257926-51-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

When doing an out-of-tree build, and thus setting VPATH,
GNU Make 0.81 on Ubuntu Trusty complains about Circular dependency of
include/Makefile and include/xlat.lst and drop them. The build fails
later due to headers malformed.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 xen/include/Makefile | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/xen/include/Makefile b/xen/include/Makefile
index 2cd779a4108c..b94cfea74660 100644
--- a/xen/include/Makefile
+++ b/xen/include/Makefile
@@ -42,19 +42,19 @@ endif
 .PHONY: all
 all: $(addprefix $(obj)/,$(headers-y))
 
-$(obj)/compat/%.h: $(obj)/compat/%.i $(src)/Makefile $(srctree)/tools/compat-build-header.py
+$(obj)/compat/%.h: $(obj)/compat/%.i $(srctree)/$(src)/Makefile $(srctree)/tools/compat-build-header.py
 	$(PYTHON) $(srctree)/tools/compat-build-header.py <$< $(patsubst $(obj)/%,%,$@) >>$@.new; \
 	mv -f $@.new $@
 
-$(obj)/compat/%.i: $(obj)/compat/%.c $(src)/Makefile
+$(obj)/compat/%.i: $(obj)/compat/%.c $(srctree)/$(src)/Makefile
 	$(CPP) $(filter-out -Wa$(comma)% -include %/include/xen/config.h,$(XEN_CFLAGS)) $(cppflags-y) -o $@ $<
 
-$(obj)/compat/%.c: $(src)/public/%.h $(src)/xlat.lst $(src)/Makefile $(srctree)/tools/compat-build-source.py
+$(obj)/compat/%.c: $(src)/public/%.h $(srctree)/$(src)/xlat.lst $(srctree)/$(src)/Makefile $(srctree)/tools/compat-build-source.py
 	mkdir -p $(@D)
 	$(PYTHON) $(srctree)/tools/compat-build-source.py $(srctree)/$(src)/xlat.lst <$< >$@.new
 	mv -f $@.new $@
 
-$(obj)/compat/.xlat/%.h: $(obj)/compat/%.h $(obj)/compat/.xlat/%.lst $(srctree)/tools/get-fields.sh $(src)/Makefile
+$(obj)/compat/.xlat/%.h: $(obj)/compat/%.h $(obj)/compat/.xlat/%.lst $(srctree)/tools/get-fields.sh $(srctree)/$(src)/Makefile
 	export PYTHON=$(PYTHON); \
 	while read what name; do \
 		$(SHELL) $(srctree)/tools/get-fields.sh "$$what" compat_$$name $< || exit $$?; \
@@ -62,7 +62,7 @@ $(obj)/compat/.xlat/%.h: $(obj)/compat/%.h $(obj)/compat/.xlat/%.lst $(srctree)/
 	mv -f $@.new $@
 
 .PRECIOUS: $(obj)/compat/.xlat/%.lst
-$(obj)/compat/.xlat/%.lst: $(src)/xlat.lst $(src)/Makefile
+$(obj)/compat/.xlat/%.lst: $(srctree)/$(src)/xlat.lst $(srctree)/$(src)/Makefile
 	mkdir -p $(@D)
 	grep -v '^[[:blank:]]*#' $< | sed -ne 's,@arch@,$(compat-arch-y),g' -re 's,[[:blank:]]+$*\.h[[:blank:]]*$$,,p' >$@.new
 	$(call move-if-changed,$@.new,$@)
@@ -70,7 +70,7 @@ $(obj)/compat/.xlat/%.lst: $(src)/xlat.lst $(src)/Makefile
 xlat-y := $(shell sed -ne 's,@arch@,$(compat-arch-y),g' -re 's,^[?!][[:blank:]]+[^[:blank:]]+[[:blank:]]+,,p' $(srctree)/$(src)/xlat.lst | uniq)
 xlat-y := $(filter $(patsubst compat/%,%,$(headers-y)),$(xlat-y))
 
-$(obj)/compat/xlat.h: $(addprefix $(obj)/compat/.xlat/,$(xlat-y)) $(obj)/config/auto.conf $(src)/Makefile
+$(obj)/compat/xlat.h: $(addprefix $(obj)/compat/.xlat/,$(xlat-y)) $(obj)/config/auto.conf $(srctree)/$(src)/Makefile
 	cat $(filter %.h,$^) >$@.new
 	mv -f $@.new $@
 
@@ -97,7 +97,7 @@ PUBLIC_C99_HEADERS := $(addprefix $(hdrs-path)/, $(c99-headers))
 $(src)/public/io/9pfs.h-prereq := string
 $(src)/public/io/pvcalls.h-prereq := string
 
-$(obj)/headers.chk: $(PUBLIC_ANSI_HEADERS) $(src)/Makefile
+$(obj)/headers.chk: $(PUBLIC_ANSI_HEADERS) $(srctree)/$(src)/Makefile
 	for i in $(filter %.h,$^); do \
 	    $(CC) -x c -ansi -Wall -Werror -include stdint.h \
 	          -S -o /dev/null $$i || exit 1; \
@@ -105,7 +105,7 @@ $(obj)/headers.chk: $(PUBLIC_ANSI_HEADERS) $(src)/Makefile
 	done >$@.new
 	mv $@.new $@
 
-$(obj)/headers99.chk: $(PUBLIC_C99_HEADERS) $(src)/Makefile
+$(obj)/headers99.chk: $(PUBLIC_C99_HEADERS) $(srctree)/$(src)/Makefile
 	rm -f $@.new
 	$(foreach i, $(filter %.h,$^),                                        \
 	    echo "#include "\"$(i)\"                                          \
@@ -115,7 +115,7 @@ $(obj)/headers99.chk: $(PUBLIC_C99_HEADERS) $(src)/Makefile
 	    || exit $$?; echo $(i) >> $@.new;)
 	mv $@.new $@
 
-$(obj)/headers++.chk: $(PUBLIC_HEADERS) $(src)/Makefile
+$(obj)/headers++.chk: $(PUBLIC_HEADERS) $(srctree)/$(src)/Makefile
 	rm -f $@.new
 	if ! $(CXX) -v >/dev/null 2>&1; then                                  \
 	    touch $@.new;                                                     \
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:01:43 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:01:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170991.312196 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUBa-0007ol-SB; Tue, 24 Aug 2021 11:01:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170991.312196; Tue, 24 Aug 2021 11: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 1mIUBa-0007o7-J5; Tue, 24 Aug 2021 11:01:42 +0000
Received: by outflank-mailman (input) for mailman id 170991;
 Tue, 24 Aug 2021 11:01:40 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU4X-0001EC-F8
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:54:25 +0000
Received: from esa6.hc3370-68.iphmx.com (unknown [216.71.155.175])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id b4d2f649-f41e-4578-908e-2618cdba78ae;
 Tue, 24 Aug 2021 10:52: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: b4d2f649-f41e-4578-908e-2618cdba78ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802340;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=FDnqHMoR0cH4CGhhkHf9+wr9hwq4IdoBCZrIirFvi5I=;
  b=W0x7J9SkHZWsKgTk3bS5eDzQs9sGJaAMc3iL/yOyZspWlK5t1X8apZBn
   unLtOF9YfrfLgiycGm5rIQMic2H60CfSozaxz7EY1Vt4oBGzy2DxPq89S
   x8ZiitSOMi9+D0iyImLFbzFDhXoadjVqQZWZyOshFmtu0zQSAfZ+jTXLN
   c=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: Ubg3qgVyfvbrTwyewNxqT5RGvwVUhQ2qV4dJWl/Nl5iTvb9pIMdQIJtrQXJZp51z3g4ThjDVL1
 OR70pnT0QUZs6EqIq/km1xyqD6emaboy9jQaZCaaaO36qX9RlSMYLi39c0aQJ5WHV1cL3hcGxe
 altK5+1Pv5WfioqPTvVe5nUVr6tLC3azohMGif8p3bLgO5Fxaoq4Z7Q24kjSESatBCi4vBI2bV
 VrO5jxU6vvJ5pDkr5ccm4BiVEthMH6S6JSltusS62EDW3IwslkdqPNQCoSLjZYz3VdrPanBDVA
 ahZwzoYtVsmMVnO7fh8U0jD+
X-SBRS: 5.1
X-MesageID: 51166413
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:SaWcj6NZFIw1HsBcT33155DYdb4zR+YMi2TDiHoddfUFSKalfp
 6V98jzjSWE7gr4WBkb+exoS5PwOE80lKQFqrX5Uo3SODUO1FHHEGgA1/qp/9SDIVyYygc178
 4JH8dD4bbLfDtHZLPBkWyF+qEbsbu6Gc6T5Nv2/jNId0VHeqtg5wB2BkKwCUttXjRLApI/Cd
 61+tdHjyDIQwVaUu2LQl0+G8TTrdzCk5zrJTQcAQQ81QWIhTS0rJbnDhmj2AsEWT8n+8ZszY
 GFqX222kyQiYD69vbu7R6R032Qoqqi9jJ3Pr3MtiHSEESotu/nXvUkZ1TIhkFMnAjm0idQrD
 CLmWZsAy070QKqQkil5RTqwAXuyzAo9jvrzkKZm2LqpYjjSCs9ENcpv/MuTvL10TtVgDhH6t
 M944tZjesnMTrQ2CDmo9TYXRBjkUS55XIkjO4IlnRaFY8TcqVYo4AT9F5cVM5oJlOz1Kk3VO
 11SM3M7vdfdl2XK3jfo2l02dSpGnA+BA2PTEQOstGclzJWgHd6xU0Fw9F3pAZIyLstD51fo+
 jUOKVhk79DCscQcKJmHe8EBdC6D2TcKCi8RV564W6XZp3vHki91aIfzI9FmN1CSaZ4v6fawq
 6xLW+wnVRCBH7GGImU2oFX/lTXXGCwNA6duv1j2w==
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51166413"
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>, "Ian
 Jackson" <iwj@xenproject.org>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>
Subject: [XEN PATCH v7 45/51] build: rework cloc recipe
Date: Tue, 24 Aug 2021 11:50:32 +0100
Message-ID: <20210824105038.1257926-46-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

After folowing patches, the recipe doesn't work anymore.
    - build: build everything from the root dir, use obj=$subdir
    - build: introduce if_changed_deps

First patch mean that $(names) already have $(path), and the second
one, the .*.d files are replaced by .*.cmd files which are much
simpler to parse here.

Also replace the makefile programming by a much simpler shell command.

This doesn't check anymore if the source file exist, but that can be
fixed by running `make clean`, and probably doesn't impact the
calculation. `cloc` just complain that some files don't exist.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 xen/Makefile | 9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)

diff --git a/xen/Makefile b/xen/Makefile
index 36a64118007b..b09584e33f9c 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -490,14 +490,7 @@ _MAP:
 
 .PHONY: cloc
 cloc:
-	$(eval tmpfile := $(shell mktemp))
-	$(foreach f, $(shell find $(BASEDIR) -name *.o.d), \
-		$(eval path := $(dir $(f))) \
-		$(eval names := $(shell grep -o "[a-zA-Z0-9_/-]*\.[cS]" $(f))) \
-		$(foreach sf, $(names), \
-			$(shell if test -f $(path)/$(sf) ; then echo $(path)/$(sf) >> $(tmpfile); fi;)))
-	cloc --list-file=$(tmpfile)
-	rm $(tmpfile)
+	find . -name '*.o.cmd' -exec awk '/^source_/{print $$3;}' {} + | cloc --list-file=-
 
 endif #config-build
 
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:01:44 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:01:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170993.312201 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUBb-0007tr-LU; Tue, 24 Aug 2021 11:01:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170993.312201; Tue, 24 Aug 2021 11:01:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUBb-0007ri-6c; Tue, 24 Aug 2021 11:01:43 +0000
Received: by outflank-mailman (input) for mailman id 170993;
 Tue, 24 Aug 2021 11:01:41 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU3o-0003Ux-Dm
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:53:40 +0000
Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 555758b2-04c9-11ec-a8c6-12813bfff9fa;
 Tue, 24 Aug 2021 10:52: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: 555758b2-04c9-11ec-a8c6-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802330;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=9DhKzuHQgtLZwJkkZ8/kcJ7SrlG3Or2a9FCTUzxU3+k=;
  b=hZG1vhybvkCKFzONblFma/ZUHiH/pR1c25yfxyzNnjB+LPJiNR9xR25q
   19PG/JEXdxQGVjldW6xhqOD3P9uyjtsQVpktPBo7qkyoXAAYLtaGbp7MB
   QydHgKKlWLd0UtG3BM2ufG7e0ZxzTljYkPiJDhNpI3/DIzeMs66y0/vOd
   s=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: /r2M2TNFXwPbrGLy1IZv6b3W19xSN/7Zks9Cg6hkhJKMndA4VHYE+5RA3wamuigjXwK6lw6w/M
 BLBnYS+WTLj91SwHYROPQdD1aVN0kGu33RFAFSNtp6WaiZxLp2+kPFsHN6wxU0qS9T2mPSl/yw
 n1HZurYZcW9rntabU1x/KwbqvZpdH/wryIcP4kYXrtaiexYjSCk3WMKVHIn39EYs294XcZQIJb
 mXMwU1OQM2sr9Pwj5GF7ZzhOpmz078LT+Cr0zQ3mNtF67vvyhMKXkDBMeB4m7aRK9SSEer/qcN
 3xoU+c0WcbYYCZKMLb9eYuJb
X-SBRS: 5.1
X-MesageID: 52875523
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:JWFcvqvGGspTaqJf1dK4XqoL7skDjNV00zEX/kB9WHVpm6yj+v
 xGUs566faUskd0ZJhEo7q90ca7Lk80maQa3WBzB8bGYOCFghrKEGgK1+KLrwEIcxeUygc379
 YDT0ERMrzN5VgRt7eG3OG7eexQvOVuJsqT9JjjJ3QGd3AVV0l5hT0JbTpyiidNNXJ77ZxSLu
 v72uN34wCOVF4wdcqBCnwMT4H41qf2fMKPW29+O/Y/gjP+9Q+V1A==
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="52875523"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: 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>, Wei Liu
	<wl@xen.org>
Subject: [XEN PATCH v7 41/51] build,x86: remove the need for build32.mk
Date: Tue, 24 Aug 2021 11:50:28 +0100
Message-ID: <20210824105038.1257926-42-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Rework "arch/x86/boot/Makefile" to allow it to build both file
"cmdline.S" and "reloc.S" without "build32.mk".

These will now use the main rules for "%.o: %.c", and thus generate a
dependency file. (We will not need to track the dependency manually
anymore.)

But for that, we need to override the main CFLAGS to do a 32bit build.
Thus we copy all the necessary flags from "Config.mk", and apply them
only to "cmdline.o" and "reloc.o".

Specificaly apply the rule "%.S: %.bin" to both cmdline.S and reloc.S
to avoid make trying to regenerate other %.S files with it.

There is no change expected to the resulting "cmdline.S" and
"reloc.S", only the *.o file changes as their symbole for FILE goes
from "cmdline.c" to "arch/x86//cmdline.c". (No idea why "boot" is
missing from the string.) (I've only check with gcc, not clang.)

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 xen/arch/x86/boot/Makefile   | 60 ++++++++++++++++++++++++++----------
 xen/arch/x86/boot/build32.mk | 40 ------------------------
 2 files changed, 44 insertions(+), 56 deletions(-)
 delete mode 100644 xen/arch/x86/boot/build32.mk

diff --git a/xen/arch/x86/boot/Makefile b/xen/arch/x86/boot/Makefile
index 73a3b1514965..3580a9b656e8 100644
--- a/xen/arch/x86/boot/Makefile
+++ b/xen/arch/x86/boot/Makefile
@@ -1,23 +1,51 @@
 obj-bin-y += head.o
+head-objs := cmdline.S reloc.S
 
-DEFS_H_DEPS = $(BASEDIR)/$(src)/defs.h $(BASEDIR)/include/xen/stdbool.h
+nocov-y += $(head-objs:.S=.o)
+noubsan-y += $(head-objs:.S=.o)
+targets += $(head-objs:.S=.o)
 
-CMDLINE_DEPS = $(DEFS_H_DEPS) $(BASEDIR)/$(src)/video.h \
-	       $(BASEDIR)/include/xen/kconfig.h \
-	       $(BASEDIR)/include/generated/autoconf.h
+head-objs := $(addprefix $(obj)/, $(head-objs))
 
-RELOC_DEPS = $(DEFS_H_DEPS) \
-	     $(BASEDIR)/include/generated/autoconf.h \
-	     $(BASEDIR)/include/xen/kconfig.h \
-	     $(BASEDIR)/include/xen/multiboot.h \
-	     $(BASEDIR)/include/xen/multiboot2.h \
-	     $(BASEDIR)/include/xen/const.h \
-	     $(BASEDIR)/include/public/arch-x86/hvm/start_info.h
+$(obj)/head.o: $(head-objs)
 
-$(obj)/head.o: $(obj)/cmdline.S $(obj)/reloc.S
+LDFLAGS_DIRECT_OpenBSD = _obsd
+LDFLAGS_DIRECT_FreeBSD = _fbsd
+$(head-objs:.S=.lnk): LDFLAGS_DIRECT := -melf_i386$(LDFLAGS_DIRECT_$(XEN_OS))
 
-$(obj)/cmdline.S: $(src)/cmdline.c $(CMDLINE_DEPS) $(src)/build32.lds
-	$(MAKE) -f $(BASEDIR)/$(src)/build32.mk -C $(obj) $(@F) CMDLINE_DEPS="$(CMDLINE_DEPS)"
+CFLAGS_x86_32 := -m32 -march=i686
+CFLAGS_x86_32 += -fno-strict-aliasing
+CFLAGS_x86_32 += -std=gnu99
+CFLAGS_x86_32 += -Wall -Wstrict-prototypes
+$(call cc-option-add,CFLAGS_x86_32,CC,-Wdeclaration-after-statement)
+$(call cc-option-add,CFLAGS_x86_32,CC,-Wno-unused-but-set-variable)
+$(call cc-option-add,CFLAGS_x86_32,CC,-Wno-unused-local-typedefs)
+$(call cc-options-add,CFLAGS_x86_32,CC,$(EMBEDDED_EXTRA_CFLAGS))
+CFLAGS_x86_32 += -Werror -fno-builtin -g0 -msoft-float
+CFLAGS_x86_32 += -I$(srctree)/include
 
-$(obj)/reloc.S: $(src)/reloc.c $(RELOC_DEPS) $(src)/build32.lds
-	$(MAKE) -f $(BASEDIR)/$(src)/build32.mk -C $(obj) $(@F) RELOC_DEPS="$(RELOC_DEPS)"
+# override for 32bit binaries
+$(head-objs:.S=.o): CFLAGS-stack-boundary :=
+$(head-objs:.S=.o): XEN_CFLAGS := $(CFLAGS_x86_32) -fpic
+
+$(head-objs): %.S: %.bin
+	(od -v -t x $< | tr -s ' ' | awk 'NR > 1 {print s} {s=$$0}' | \
+	sed 's/ /,0x/g' | sed 's/,0x$$//' | sed 's/^[0-9]*,/ .long /') >$@
+
+# Drop .got.plt during conversion to plain binary format.
+# Please check build32.lds for more details.
+%.bin: %.lnk
+	$(OBJDUMP) -h $< | sed -n '/[0-9]/{s,00*,0,g;p;}' | \
+		while read idx name sz rest; do \
+			case "$$name" in \
+			.got.plt) \
+				test $$sz != 0c || continue; \
+				echo "Error: non-empty $$name: 0x$$sz" >&2; \
+				exit $$(expr $$idx + 1);; \
+			esac; \
+		done
+	$(OBJCOPY) -O binary -R .got.plt $< $@
+
+
+%.lnk: %.o $(src)/build32.lds
+	$(LD) $(LDFLAGS_DIRECT) -N -T $(filter %.lds,$^) -o $@ $<
diff --git a/xen/arch/x86/boot/build32.mk b/xen/arch/x86/boot/build32.mk
deleted file mode 100644
index e90680cd9f52..000000000000
--- a/xen/arch/x86/boot/build32.mk
+++ /dev/null
@@ -1,40 +0,0 @@
-override XEN_TARGET_ARCH=x86_32
-CFLAGS =
-include $(XEN_ROOT)/Config.mk
-
-$(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS))
-
-CFLAGS += -Werror -fno-builtin -g0 -msoft-float
-CFLAGS += -I$(BASEDIR)/include
-CFLAGS := $(filter-out -flto,$(CFLAGS)) 
-
-# NB. awk invocation is a portable alternative to 'head -n -1'
-%.S: %.bin
-	(od -v -t x $< | tr -s ' ' | awk 'NR > 1 {print s} {s=$$0}' | \
-	sed 's/ /,0x/g' | sed 's/,0x$$//' | sed 's/^[0-9]*,/ .long /') >$@
-
-# Drop .got.plt during conversion to plain binary format.
-# Please check build32.lds for more details.
-%.bin: %.lnk
-	$(OBJDUMP) -h $< | sed -n '/[0-9]/{s,00*,0,g;p;}' | \
-		while read idx name sz rest; do \
-			case "$$name" in \
-			.got.plt) \
-				test $$sz != 0c || continue; \
-				echo "Error: non-empty $$name: 0x$$sz" >&2; \
-				exit $$(expr $$idx + 1);; \
-			esac; \
-		done
-	$(OBJCOPY) -O binary -R .got.plt $< $@
-
-%.lnk: %.o build32.lds
-	$(LD) $(LDFLAGS_DIRECT) -N -T build32.lds -o $@ $<
-
-%.o: %.c
-	$(CC) $(CFLAGS) -c -fpic $< -o $@
-
-cmdline.o: cmdline.c $(CMDLINE_DEPS)
-
-reloc.o: reloc.c $(RELOC_DEPS)
-
-.PRECIOUS: %.bin %.lnk
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:01:45 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:01:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170996.312208 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUBd-00087e-5W; Tue, 24 Aug 2021 11:01:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170996.312208; Tue, 24 Aug 2021 11:01:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUBc-00083I-9S; Tue, 24 Aug 2021 11:01:44 +0000
Received: by outflank-mailman (input) for mailman id 170996;
 Tue, 24 Aug 2021 11:01:41 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU2R-0003Ux-AZ
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:52:15 +0000
Received: from esa6.hc3370-68.iphmx.com (unknown [216.71.155.175])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 46e059c8-04c9-11ec-a8c5-12813bfff9fa;
 Tue, 24 Aug 2021 10:51: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: 46e059c8-04c9-11ec-a8c5-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802306;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=aX8fbbOJrw/glho2e/gRuUJr0uXwqlhwJqAv5f/9XQw=;
  b=SY9vzKbecohOr5v5XVXkVj1lr0wAvSbHYIFy5YyNWMcJ30Nv7bz3HTdt
   JA+8/BBiracH11Dvj/7lj5n6cRoFelvcZuQVnhNN/ufDJug2OoxORwaIJ
   xfphc5ZnzZUMSnFuPXDctKAmXDmGdvj6N7UHVbQc9ZXQKrgilnempfepr
   U=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: HFlbiZv665B8YfXjtD/xz/Bcsmgo//L/+dFt6uhkZhnBznxmOw2oogNSBxClYV42C5YRhG2Qw4
 m6UTjzqWx+7eP+4XxMjPATBg4fSdQSr03lo+RF2/CZD6ZDeoNeC0ct9AhF8QctvnUV00el83UI
 hMwOom4shQBykew5TkVFTXNSlDL70tu1n3uQ9eBHapoEKjjYlwxth4lutsqrZS2npJaFvinbU0
 QEoXpgCCSzsOODMevMDogSeM57ociXkFmMmr3uQUtATF4K0lzLsWWc24a9G57S1mWRsJ1HOtSH
 SxncRTP+otznwF3qV3H0bq1X
X-SBRS: 5.1
X-MesageID: 51166374
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:mTumcqtNN+NVHS6FZPJt7vfa7skDTtV00zEX/kB9WHVpmszxra
 6TdZMgpHnJYVcqKQkdcL+7WJVoLUmxyXcx2/h1AV7AZniAhILLFvAA0WKK+VSJcEeSygce79
 YFT0EXMqyIMbEQt6fHCWeDfOrIuOP3kpyVuQ==
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51166374"
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>, "Ian
 Jackson" <iwj@xenproject.org>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [XEN PATCH v7 27/51] build: introduce if_changed_deps
Date: Tue, 24 Aug 2021 11:50:14 +0100
Message-ID: <20210824105038.1257926-28-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

This macro does compare command line like if_changed, but it also
rewrite the dependencies generated by $(CC) in order to depend on a
CONFIG_* as generated by kconfig instead of depending on autoconf.h.
This allow to make a change in kconfig options and only rebuild the
object that uses that CONFIG_* option.

cmd_and_record isn't needed anymore as it is replace by
cmd_and_fixdep.

There's only one .*.d dependency file left which is explicitly
included as a workound, all the other are been absorb into the .*.cmd
dependency files via `fixdep`. So including .*.d can be removed from
the makefile.

This imports fixdep.c and if_changed_deps macro from Linux v5.12.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 .gitignore                 |   1 +
 xen/Makefile               |  15 +-
 xen/Rules.mk               |  17 +-
 xen/arch/x86/Makefile      |   8 +-
 xen/build.mk               |   1 +
 xen/scripts/Kbuild.include |  17 +-
 xen/tools/Makefile         |   7 +-
 xen/tools/fixdep.c         | 404 +++++++++++++++++++++++++++++++++++++
 8 files changed, 441 insertions(+), 29 deletions(-)
 create mode 100644 xen/tools/fixdep.c

diff --git a/.gitignore b/.gitignore
index 59a22d1685e2..550b38b9fa3c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -338,6 +338,7 @@ xen/include/xen/lib/x86/cpuid-autogen.h
 xen/test/livepatch/config.h
 xen/test/livepatch/expect_config.h
 xen/test/livepatch/*.livepatch
+xen/tools/fixdep
 xen/tools/kconfig/.tmp_gtkcheck
 xen/tools/kconfig/.tmp_qtcheck
 xen/tools/symbols
diff --git a/xen/Makefile b/xen/Makefile
index eb9ea70aaa29..1b5517b02a8c 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -187,6 +187,13 @@ endif
 export root-make-done := y
 endif # root-make-done
 
+# ===========================================================================
+# Rules shared between *config targets and build targets
+
+PHONY += tools_fixdep
+tools_fixdep:
+	$(MAKE) -C tools fixdep
+
 # Shorthand for kconfig
 kconfig = -f $(BASEDIR)/tools/kconfig/Makefile.kconfig ARCH=$(ARCH) SRCARCH=$(SRCARCH) HOSTCC="$(HOSTCC)" HOSTCXX="$(HOSTCXX)"
 
@@ -400,7 +407,7 @@ $(TARGET).gz: $(TARGET)
 	gzip -n -f -9 < $< > $@.new
 	mv $@.new $@
 
-$(TARGET): FORCE
+$(TARGET): tools_fixdep FORCE
 	$(MAKE) -C tools
 	$(MAKE) $(build)=. include/xen/compile.h
 	[ -e arch/$(TARGET_ARCH)/efi ] && for f in $$(cd common/efi; echo *.[ch]); \
@@ -457,13 +464,13 @@ cscope:
 _MAP:
 	$(NM) -n $(TARGET)-syms | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' > System.map
 
-%.o %.i %.s: %.c FORCE
+%.o %.i %.s: %.c tools_fixdep FORCE
 	$(MAKE) $(build)=$(*D) $(*D)/$(@F)
 
-%.o %.s: %.S FORCE
+%.o %.s: %.S tools_fixdep FORCE
 	$(MAKE) $(build)=$(*D) $(*D)/$(@F)
 
-%/: FORCE
+%/: tools_fixdep FORCE
 	$(MAKE) $(build)=$* need-builtin=1
 
 .PHONY: cloc
diff --git a/xen/Rules.mk b/xen/Rules.mk
index 2e1435ff4ada..9b8415160649 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -148,8 +148,8 @@ cpp_flags = $(filter-out -Wa$(comma)% -flto,$(1))
 # Calculation of flags, first the generic flags, then the arch specific flags,
 # and last the flags modified for a target or a directory.
 
-c_flags = -MMD -MP -MF $(@D)/.$(@F).d $(XEN_CFLAGS)
-a_flags = -MMD -MP -MF $(@D)/.$(@F).d $(XEN_AFLAGS)
+c_flags = -MMD -MP -MF $(depfile) $(XEN_CFLAGS)
+a_flags = -MMD -MP -MF $(depfile) $(XEN_AFLAGS)
 
 include $(BASEDIR)/arch/$(TARGET_ARCH)/Rules.mk
 
@@ -206,7 +206,7 @@ else
 endif
 
 define rule_cc_o_c
-    $(call cmd_and_record,cc_o_c)
+    $(call cmd_and_fixdep,cc_o_c)
     $(call cmd,objcopy_fix_sym)
 endef
 
@@ -217,7 +217,7 @@ quiet_cmd_cc_o_S = CC      $@
 cmd_cc_o_S = $(CC) $(a_flags) -c $< -o $@
 
 $(obj)/%.o: $(src)/%.S FORCE
-	$(call if_changed,cc_o_S)
+	$(call if_changed_dep,cc_o_S)
 
 
 quiet_cmd_obj_init_o = INIT_O  $@
@@ -247,13 +247,13 @@ quiet_cmd_cpp_s_S = CPP     $@
 cmd_cpp_s_S = $(CPP) $(call cpp_flags,$(a_flags)) -MQ $@ -o $@ $<
 
 $(obj)/%.i: $(src)/%.c FORCE
-	$(call if_changed,cpp_i_c)
+	$(call if_changed_dep,cpp_i_c)
 
 $(obj)/%.s: $(src)/%.c FORCE
-	$(call if_changed,cc_s_c)
+	$(call if_changed_dep,cc_s_c)
 
 $(obj)/%.s: $(src)/%.S FORCE
-	$(call if_changed,cpp_s_S)
+	$(call if_changed_dep,cpp_s_S)
 
 # Linker scripts, .lds.S -> .lds
 quiet_cmd_cpp_lds_S = LDS     $@
@@ -292,9 +292,6 @@ existing-targets := $(wildcard $(sort $(targets)))
 
 -include $(foreach f,$(existing-targets),$(dir $(f)).$(notdir $(f)).cmd)
 
-DEPS:= $(foreach f,$(existing-targets),$(dir $(f)).$(notdir $(f)).d)
--include $(DEPS_INCLUDE)
-
 # Declare the contents of the PHONY variable as phony.  We keep that
 # information in a variable so we can use it in if_changed and friends.
 .PHONY: $(PHONY)
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index f60084eb73e7..05f1d12065a0 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -248,7 +248,7 @@ $(BASEDIR)/arch/x86/include/asm/asm-macros.h: $(obj)/asm-macros.i $(src)/Makefil
 
 $(obj)/efi.lds: AFLAGS-y += -DEFI
 $(obj)/xen.lds $(obj)/efi.lds: $(src)/xen.lds.S FORCE
-	$(call if_changed,cpp_lds_S)
+	$(call if_changed_dep,cpp_lds_S)
 
 $(obj)/boot/mkelf32: $(src)/boot/mkelf32.c
 	$(HOSTCC) $(HOSTCFLAGS) -o $@ $<
@@ -264,9 +264,3 @@ clean::
 	rm -f $(BASEDIR)/.xen.efi.[0-9]* efi/*.efi efi/mkreloc
 	rm -f boot/cmdline.S boot/reloc.S boot/*.lnk boot/*.bin
 	rm -f note.o
-
-# Suppress loading of DEPS files for internal, temporary target files.  This
-# then also suppresses re-generation of the respective .*.d2 files.
-ifeq ($(filter-out .xen%.o,$(notdir $(MAKECMDGOALS))),)
-DEPS_INCLUDE:=
-endif
diff --git a/xen/build.mk b/xen/build.mk
index c6c06d9f17f5..537c32f42d25 100644
--- a/xen/build.mk
+++ b/xen/build.mk
@@ -37,6 +37,7 @@ include/xen/compile.h: include/xen/compile.h.in .banner FORCE
 	$(call if_changed,compile.h)
 targets += include/xen/compile.h
 
+-include $(wildcard .asm-offsets.s.d)
 asm-offsets.s: arch/$(TARGET_ARCH)/$(TARGET_SUBARCH)/asm-offsets.c
 	$(CC) $(call cpp_flags,$(c_flags)) -S -g0 -o $@.new -MQ $@ $<
 	$(call move-if-changed,$@.new,$@)
diff --git a/xen/scripts/Kbuild.include b/xen/scripts/Kbuild.include
index 62c7caeba1d1..aa3a8a1bd9e7 100644
--- a/xen/scripts/Kbuild.include
+++ b/xen/scripts/Kbuild.include
@@ -15,8 +15,7 @@ dot-target = $(@D)/.$(@F)
 
 ###
 # dependencies
-DEPS = .*.d
-DEPS_INCLUDE = $(addsuffix .d2, $(basename $(wildcard $(DEPS))))
+depfile = $(dot-target).d
 
 ###
 # real prerequisites without phony targets
@@ -81,6 +80,8 @@ cmd = @set -e; $(echo-cmd) $(cmd_$(1))
 ###
 # if_changed      - execute command if any prerequisite is newer than
 #                   target, or command line has changed
+# if_changed_dep  - as if_changed, but uses fixdep to reveal dependencies
+#                   including used config symbols
 # if_changed_rule - as if_changed but execute rule instead
 
 ifneq ($(KBUILD_NOCMDDEP),1)
@@ -109,15 +110,19 @@ if_changed = $(if $(any-prereq)$(cmd-check),                                 \
         $(cmd);                                                              \
         printf '%s\n' 'cmd_$@ := $(make-cmd)' > $(dot-target).cmd, @:)
 
+# Execute the command and also postprocess generated .d dependencies file.
+if_changed_dep = $(if $(any-prereq)$(cmd-check),$(cmd_and_fixdep),@:)
+
+cmd_and_fixdep =                                                             \
+        $(cmd);                                                              \
+        tools/fixdep $(depfile) $@ '$(make-cmd)' > $(dot-target).cmd;        \
+        rm -f $(depfile)
+
 # Usage: $(call if_changed_rule,foo)
 # Will check if $(cmd_foo) or any of the prerequisites changed,
 # and if so will execute $(rule_foo).
 if_changed_rule = $(if $(any-prereq)$(cmd-check),$(rule_$(1)),@:)
 
-cmd_and_record =                                                             \
-        $(cmd);                                                              \
-        printf '%s\n' 'cmd_$@ := $(make-cmd)' > $(dot-target).cmd
-
 ###
 # why - tell why a target got built
 #       enabled by make V=2
diff --git a/xen/tools/Makefile b/xen/tools/Makefile
index 4e42163f981c..722f3664549d 100644
--- a/xen/tools/Makefile
+++ b/xen/tools/Makefile
@@ -2,11 +2,14 @@
 include $(XEN_ROOT)/Config.mk
 
 .PHONY: default
-default: symbols
+default: symbols fixdep
 
 .PHONY: clean
 clean:
-	rm -f *.o symbols
+	rm -f *.o symbols fixdep
 
 symbols: symbols.c
 	$(HOSTCC) $(HOSTCFLAGS) -o $@ $<
+
+fixdep: fixdep.c
+	$(HOSTCC) $(HOSTCFLAGS) -o $@ $<
diff --git a/xen/tools/fixdep.c b/xen/tools/fixdep.c
new file mode 100644
index 000000000000..d98540552941
--- /dev/null
+++ b/xen/tools/fixdep.c
@@ -0,0 +1,404 @@
+/*
+ * "Optimize" a list of dependencies as spit out by gcc -MD
+ * for the kernel build
+ * ===========================================================================
+ *
+ * Author       Kai Germaschewski
+ * Copyright    2002 by Kai Germaschewski  <kai.germaschewski@gmx.de>
+ *
+ * This software may be used and distributed according to the terms
+ * of the GNU General Public License, incorporated herein by reference.
+ *
+ *
+ * Introduction:
+ *
+ * gcc produces a very nice and correct list of dependencies which
+ * tells make when to remake a file.
+ *
+ * To use this list as-is however has the drawback that virtually
+ * every file in the kernel includes autoconf.h.
+ *
+ * If the user re-runs make *config, autoconf.h will be
+ * regenerated.  make notices that and will rebuild every file which
+ * includes autoconf.h, i.e. basically all files. This is extremely
+ * annoying if the user just changed CONFIG_HIS_DRIVER from n to m.
+ *
+ * So we play the same trick that "mkdep" played before. We replace
+ * the dependency on autoconf.h by a dependency on every config
+ * option which is mentioned in any of the listed prerequisites.
+ *
+ * kconfig populates a tree in include/config/ with an empty file
+ * for each config symbol and when the configuration is updated
+ * the files representing changed config options are touched
+ * which then let make pick up the changes and the files that use
+ * the config symbols are rebuilt.
+ *
+ * So if the user changes his CONFIG_HIS_DRIVER option, only the objects
+ * which depend on "include/config/his/driver.h" will be rebuilt,
+ * so most likely only his driver ;-)
+ *
+ * The idea above dates, by the way, back to Michael E Chastain, AFAIK.
+ *
+ * So to get dependencies right, there are two issues:
+ * o if any of the files the compiler read changed, we need to rebuild
+ * o if the command line given to the compile the file changed, we
+ *   better rebuild as well.
+ *
+ * The former is handled by using the -MD output, the later by saving
+ * the command line used to compile the old object and comparing it
+ * to the one we would now use.
+ *
+ * Again, also this idea is pretty old and has been discussed on
+ * kbuild-devel a long time ago. I don't have a sensibly working
+ * internet connection right now, so I rather don't mention names
+ * without double checking.
+ *
+ * This code here has been based partially based on mkdep.c, which
+ * says the following about its history:
+ *
+ *   Copyright abandoned, Michael Chastain, <mailto:mec@shout.net>.
+ *   This is a C version of syncdep.pl by Werner Almesberger.
+ *
+ *
+ * It is invoked as
+ *
+ *   fixdep <depfile> <target> <cmdline>
+ *
+ * and will read the dependency file <depfile>
+ *
+ * The transformed dependency snipped is written to stdout.
+ *
+ * It first generates a line
+ *
+ *   cmd_<target> = <cmdline>
+ *
+ * and then basically copies the .<target>.d file to stdout, in the
+ * process filtering out the dependency on autoconf.h and adding
+ * dependencies on include/config/my/option.h for every
+ * CONFIG_MY_OPTION encountered in any of the prerequisites.
+ *
+ * We don't even try to really parse the header files, but
+ * merely grep, i.e. if CONFIG_FOO is mentioned in a comment, it will
+ * be picked up as well. It's not a problem with respect to
+ * correctness, since that can only give too many dependencies, thus
+ * we cannot miss a rebuild. Since people tend to not mention totally
+ * unrelated CONFIG_ options all over the place, it's not an
+ * efficiency problem either.
+ *
+ * (Note: it'd be easy to port over the complete mkdep state machine,
+ *  but I don't think the added complexity is worth it)
+ */
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <string.h>
+#include <stdarg.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <ctype.h>
+
+static void usage(void)
+{
+	fprintf(stderr, "Usage: fixdep <depfile> <target> <cmdline>\n");
+	exit(1);
+}
+
+/*
+ * In the intended usage of this program, the stdout is redirected to .*.cmd
+ * files. The return value of printf() and putchar() must be checked to catch
+ * any error, e.g. "No space left on device".
+ */
+static void xprintf(const char *format, ...)
+{
+	va_list ap;
+	int ret;
+
+	va_start(ap, format);
+	ret = vprintf(format, ap);
+	if (ret < 0) {
+		perror("fixdep");
+		exit(1);
+	}
+	va_end(ap);
+}
+
+static void xputchar(int c)
+{
+	int ret;
+
+	ret = putchar(c);
+	if (ret == EOF) {
+		perror("fixdep");
+		exit(1);
+	}
+}
+
+/*
+ * Print out a dependency path from a symbol name
+ */
+static void print_dep(const char *m, int slen, const char *dir)
+{
+	int c, prev_c = '/', i;
+
+	xprintf("    $(wildcard %s/", dir);
+	for (i = 0; i < slen; i++) {
+		c = m[i];
+		if (c == '_')
+			c = '/';
+		else
+			c = tolower(c);
+		if (c != '/' || prev_c != '/')
+			xputchar(c);
+		prev_c = c;
+	}
+	xprintf(".h) \\\n");
+}
+
+struct item {
+	struct item	*next;
+	unsigned int	len;
+	unsigned int	hash;
+	char		name[];
+};
+
+#define HASHSZ 256
+static struct item *hashtab[HASHSZ];
+
+static unsigned int strhash(const char *str, unsigned int sz)
+{
+	/* fnv32 hash */
+	unsigned int i, hash = 2166136261U;
+
+	for (i = 0; i < sz; i++)
+		hash = (hash ^ str[i]) * 0x01000193;
+	return hash;
+}
+
+/*
+ * Lookup a value in the configuration string.
+ */
+static int is_defined_config(const char *name, int len, unsigned int hash)
+{
+	struct item *aux;
+
+	for (aux = hashtab[hash % HASHSZ]; aux; aux = aux->next) {
+		if (aux->hash == hash && aux->len == len &&
+		    memcmp(aux->name, name, len) == 0)
+			return 1;
+	}
+	return 0;
+}
+
+/*
+ * Add a new value to the configuration string.
+ */
+static void define_config(const char *name, int len, unsigned int hash)
+{
+	struct item *aux = malloc(sizeof(*aux) + len);
+
+	if (!aux) {
+		perror("fixdep:malloc");
+		exit(1);
+	}
+	memcpy(aux->name, name, len);
+	aux->len = len;
+	aux->hash = hash;
+	aux->next = hashtab[hash % HASHSZ];
+	hashtab[hash % HASHSZ] = aux;
+}
+
+/*
+ * Record the use of a CONFIG_* word.
+ */
+static void use_config(const char *m, int slen)
+{
+	unsigned int hash = strhash(m, slen);
+
+	if (is_defined_config(m, slen, hash))
+	    return;
+
+	define_config(m, slen, hash);
+	print_dep(m, slen, "include/config");
+}
+
+/* test if s ends in sub */
+static int str_ends_with(const char *s, int slen, const char *sub)
+{
+	int sublen = strlen(sub);
+
+	if (sublen > slen)
+		return 0;
+
+	return !memcmp(s + slen - sublen, sub, sublen);
+}
+
+static void parse_config_file(const char *p)
+{
+	const char *q, *r;
+	const char *start = p;
+
+	while ((p = strstr(p, "CONFIG_"))) {
+		if (p > start && (isalnum(p[-1]) || p[-1] == '_')) {
+			p += 7;
+			continue;
+		}
+		p += 7;
+		q = p;
+		while (isalnum(*q) || *q == '_')
+			q++;
+		if (str_ends_with(p, q - p, "_MODULE"))
+			r = q - 7;
+		else
+			r = q;
+		if (r > p)
+			use_config(p, r - p);
+		p = q;
+	}
+}
+
+static void *read_file(const char *filename)
+{
+	struct stat st;
+	int fd;
+	char *buf;
+
+	fd = open(filename, O_RDONLY);
+	if (fd < 0) {
+		fprintf(stderr, "fixdep: error opening file: ");
+		perror(filename);
+		exit(2);
+	}
+	if (fstat(fd, &st) < 0) {
+		fprintf(stderr, "fixdep: error fstat'ing file: ");
+		perror(filename);
+		exit(2);
+	}
+	buf = malloc(st.st_size + 1);
+	if (!buf) {
+		perror("fixdep: malloc");
+		exit(2);
+	}
+	if (read(fd, buf, st.st_size) != st.st_size) {
+		perror("fixdep: read");
+		exit(2);
+	}
+	buf[st.st_size] = '\0';
+	close(fd);
+
+	return buf;
+}
+
+/* Ignore certain dependencies */
+static int is_ignored_file(const char *s, int len)
+{
+	return str_ends_with(s, len, "include/generated/autoconf.h") ||
+	       str_ends_with(s, len, "include/generated/autoksyms.h");
+}
+
+/*
+ * Important: The below generated source_foo.o and deps_foo.o variable
+ * assignments are parsed not only by make, but also by the rather simple
+ * parser in scripts/mod/sumversion.c.
+ */
+static void parse_dep_file(char *m, const char *target)
+{
+	char *p;
+	int is_last, is_target;
+	int saw_any_target = 0;
+	int is_first_dep = 0;
+	void *buf;
+
+	while (1) {
+		/* Skip any "white space" */
+		while (*m == ' ' || *m == '\\' || *m == '\n')
+			m++;
+
+		if (!*m)
+			break;
+
+		/* Find next "white space" */
+		p = m;
+		while (*p && *p != ' ' && *p != '\\' && *p != '\n')
+			p++;
+		is_last = (*p == '\0');
+		/* Is the token we found a target name? */
+		is_target = (*(p-1) == ':');
+		/* Don't write any target names into the dependency file */
+		if (is_target) {
+			/* The /next/ file is the first dependency */
+			is_first_dep = 1;
+		} else if (!is_ignored_file(m, p - m)) {
+			*p = '\0';
+
+			/*
+			 * Do not list the source file as dependency, so that
+			 * kbuild is not confused if a .c file is rewritten
+			 * into .S or vice versa. Storing it in source_* is
+			 * needed for modpost to compute srcversions.
+			 */
+			if (is_first_dep) {
+				/*
+				 * If processing the concatenation of multiple
+				 * dependency files, only process the first
+				 * target name, which will be the original
+				 * source name, and ignore any other target
+				 * names, which will be intermediate temporary
+				 * files.
+				 */
+				if (!saw_any_target) {
+					saw_any_target = 1;
+					xprintf("source_%s := %s\n\n",
+						target, m);
+					xprintf("deps_%s := \\\n", target);
+				}
+				is_first_dep = 0;
+			} else {
+				xprintf("  %s \\\n", m);
+			}
+
+			buf = read_file(m);
+			parse_config_file(buf);
+			free(buf);
+		}
+
+		if (is_last)
+			break;
+
+		/*
+		 * Start searching for next token immediately after the first
+		 * "whitespace" character that follows this token.
+		 */
+		m = p + 1;
+	}
+
+	if (!saw_any_target) {
+		fprintf(stderr, "fixdep: parse error; no targets found\n");
+		exit(1);
+	}
+
+	xprintf("\n%s: $(deps_%s)\n\n", target, target);
+	xprintf("$(deps_%s):\n", target);
+}
+
+int main(int argc, char *argv[])
+{
+	const char *depfile, *target, *cmdline;
+	void *buf;
+
+	if (argc != 4)
+		usage();
+
+	depfile = argv[1];
+	target = argv[2];
+	cmdline = argv[3];
+
+	xprintf("cmd_%s := %s\n\n", target, cmdline);
+
+	buf = read_file(depfile);
+	parse_dep_file(buf, target);
+	free(buf);
+
+	return 0;
+}
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:01:46 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:01:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.170997.312209 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUBd-0008EM-Dd; Tue, 24 Aug 2021 11:01:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 170997.312209; Tue, 24 Aug 2021 11:01: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 1mIUBd-0008Cy-07; Tue, 24 Aug 2021 11:01:45 +0000
Received: by outflank-mailman (input) for mailman id 170997;
 Tue, 24 Aug 2021 11:01:42 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU4N-0001EC-Ev
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:54:15 +0000
Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 6333f6ed-aaac-483c-a919-463de5858291;
 Tue, 24 Aug 2021 10:52: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: 6333f6ed-aaac-483c-a919-463de5858291
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802327;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=0sdKoSvD950B0zcSvy6AS1vxf5zMM2TIt6vZB7gd6A8=;
  b=NR8eimQi/WDkegfaDQYT7Woa0iN2TliHISijXHP2P8wpRUXQPJrf1k+s
   tbO+ZRmgvLDQ5c/3+PGe94DzjBpm5g5PNYdaWJJFCKKT+3NXY3dFAQ+AK
   e3thryVLxxfQTDszuVc7csp+lktQvuQW2Ynp4klFDpCK4d0VNc86G1V9n
   Q=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: 47z0dCT4csvYRb1sn4qDiS4fqAtWgx+7AaDOQknfgr+XufCsn6Zx6+K1Y3esQgWsvNoYj1PHjL
 xQ8amI4x8CiJDDeT0gIz49blFzcykp1VdqajMtcCiFVUb/t5LmFU9pR/QmC1wBAMJOIg59ufSp
 lx+KXWbX/HWOvzRl4a4TCE4Af7bTinz1JNoEwwT+cq1PFZ8T6WWB/YVIGP2jVNCfFYPgakTTmR
 gtYhEfURnfNYBAsGeASZUlt1yT7C5bkP9WVzR93Sh12SFy9csFSwNsAlIBFko83V5ZUAWtKs9E
 TMWlulfyuSLG8FOO1tZ7WJxb
X-SBRS: 5.1
X-MesageID: 50772237
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:lkUgW6kN7KEec+8G0DPkOXZg4WDpDfOQimdD5ihNYBxZY6Wkfp
 +V8cjzhCWftN9OYhodcIi7Sc+9qXO1z/5ICPoqTM6ftWjdySCVxe5ZnO/fKlHbdREWldQtn5
 uIEZIOb+EYZGIS5aqU3ODSKadC/DDzytHMuQ6o9QYOcegFUcBdxjY8LjzePlx9RQFAC5Z8Po
 Gb/NB7qz2pfmlSRtinB1EeNtKz6+HjpdbDW1orFhQn4A6BgXeD87jhCSWV2R8YTndm3aoiy2
 7YiAb0j5/T/M1TiyWsmVM73a4m2OcJ+eEzR/BkTfJlaAkEvzzYJbiJnYfy+Qzd7tvfrGrC2+
 O82yvId/4DkE85OFvF7CcFkjOQqgoG+jvsz0SVjmDkptG8TDUmC9BZjYYcaRfB7VE81esMpp
 6j8ljpw6a/Nymw6xgVJuK4Ji1Chw6xuz4vgOQTh3tQXc8Xb6JQt5UW+AdQHI0bFCz35Yg7GK
 02ZfusrMp+YBefdTTUr2NvyNujUjA6GQqHWFELvoiQ3yJNlH50wkMEzIgUn2sG9pg6V55Yjt
 60e5hAhfVLVIsbfKh9DOAOTY++DXHMWwvFNCaILVHuBMg8SgfwQl7MkccIDcSRCeI1JbcJ6e
 j8uWJjxB0PkhjVeLCzNbVwg2/waXT4RjLw180b/IR9ttTHNcrWDRE=
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="50772237"
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>, "Ian
 Jackson" <iwj@xenproject.org>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>
Subject: [XEN PATCH v7 39/51] build: rework coverage and ubsan CFLAGS handling
Date: Tue, 24 Aug 2021 11:50:26 +0100
Message-ID: <20210824105038.1257926-40-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

When assigning a value a target-specific variable, that also affect
prerequisite of the target. This is mostly fine, but there is one case
where we will not want the COV_FLAGS added to the CFLAGS.

In arch/x86/boot, we have "head.o" with "cmdline.S" as prerequisite
and ultimately "cmdline.o", we don't want COV_FLAGS to that last one.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 xen/Rules.mk | 21 ++++++++++++++++++---
 1 file changed, 18 insertions(+), 3 deletions(-)

diff --git a/xen/Rules.mk b/xen/Rules.mk
index 1e1839c4b629..6877fcc2d6d8 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -131,19 +131,31 @@ targets += $(targets-for-builtin)
 
 $(filter %.init.o,$(obj-y) $(obj-bin-y) $(extra-y)): CFLAGS-y += -DINIT_SECTIONS_ONLY
 
+non-init-objects = $(filter-out %.init.o, $(obj-y) $(obj-bin-y) $(extra-y))
+
 ifeq ($(CONFIG_COVERAGE),y)
 ifeq ($(CONFIG_CC_IS_CLANG),y)
     COV_FLAGS := -fprofile-instr-generate -fcoverage-mapping
 else
     COV_FLAGS := -fprofile-arcs -ftest-coverage
 endif
-$(filter-out %.init.o $(nocov-y),$(obj-y) $(obj-bin-y) $(extra-y)): CFLAGS-y += $(COV_FLAGS)
+
+$(non-init-objects): _c_flags += $(COV_FLAGS)
+
+# Reset COV_FLAGS in cases where an objects as another one as prerequisite
+$(nocov-y) $(filter %.init.o, $(obj-y) $(obj-bin-y) $(extra-y)): \
+    COV_FLAGS :=
 endif
 
 ifeq ($(CONFIG_UBSAN),y)
 # Any -fno-sanitize= options need to come after any -fsanitize= options
-$(filter-out %.init.o $(noubsan-y),$(obj-y) $(obj-bin-y) $(extra-y)): \
-CFLAGS-y += $(filter-out -fno-%,$(CFLAGS_UBSAN)) $(filter -fno-%,$(CFLAGS_UBSAN))
+UBSAN_FLAGS := $(filter-out -fno-%,$(CFLAGS_UBSAN)) $(filter -fno-%,$(CFLAGS_UBSAN))
+
+$(non-init-objects): _c_flags += $(UBSAN_FLAGS)
+
+# Reset UBSAN_FLAGS in cases where an objects as another one as prerequisite
+$(noubsan-y) $(filter %.init.o, $(obj-y) $(obj-bin-y) $(extra-y)): \
+    UBSAN_FLAGS :=
 endif
 
 ifeq ($(CONFIG_LTO),y)
@@ -172,6 +184,9 @@ a_flags = -MMD -MP -MF $(depfile) $(XEN_AFLAGS)
 
 include $(BASEDIR)/arch/$(TARGET_ARCH)/Rules.mk
 
+c_flags += $(_c_flags)
+a_flags += $(_c_flags)
+
 c_flags += $(CFLAGS-y)
 a_flags += $(CFLAGS-y) $(AFLAGS-y)
 
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:01:49 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:01:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171000.312221 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUBg-0000Me-Pm; Tue, 24 Aug 2021 11:01:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171000.312221; Tue, 24 Aug 2021 11: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 1mIUBf-0000Dz-Ia; Tue, 24 Aug 2021 11:01:47 +0000
Received: by outflank-mailman (input) for mailman id 171000;
 Tue, 24 Aug 2021 11:01:43 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU43-0003Ux-E1
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:53:55 +0000
Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 5c0972c7-04c9-11ec-a8c6-12813bfff9fa;
 Tue, 24 Aug 2021 10:52: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: 5c0972c7-04c9-11ec-a8c6-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802342;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=35aTLDDxJLidrizomT+8cU8VdN54jKZMaixNrR0BilA=;
  b=bcOlprwX/+bomvWWpVtzpwEjB6ZFvTAytKmxSkUoZLDq8cftc+oQ5krN
   Ng3enpdh0eh58f7bZ6nT3RfJT2T0T8mO2iJMO+FkB93QCI/wJOcyIYhUl
   Igm2EkZ0zuwibDLGFyScBoXTxoVZoK7EcaZIgJcviLtJRTpziaheuWkhy
   w=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: tPFce8HdmO6qKBEqtVkwgUYZlALVUviKlNGnsdtp/AGozADmlySbsidoGKL24REOEHkalwmqub
 0iLr3gRol7BGsPBCP/2cDK3ARR5/F4HRKpoKbECCEMCIcQVm7UHu03iDs1Bb9xJ7fJcZNDKQUa
 k3O/eyL9Qu/CkVaVJRiZbJ2dphgZA4v+MAFFd4JJ76OHqQqBMhu2mXP6AUvmu8pDIUsSD8QXD2
 Hvde1BF2rnAUZ154LhzlnfPVmFa0a3+V5zWok1WsMpvJU9lslmnMUFXT45jIA9Kh8sunsCBjGa
 +QIiu+ueXYl1WaDob/8mRYkW
X-SBRS: 5.1
X-MesageID: 51540950
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:qoWxp6vS2Oi/ebFh6g/r4ksZ7skCyoMji2hC6mlwRA09TyXGra
 2TdaUgvyMc1gx7ZJh5o6HnBEGBKUm9yXcH2/hpAV7CZnishILGFvAH0WKP+VPd8k7Fh6RgPM
 VbAs9D4bTLZDAX4voSizPIcOrIteP3lZxA8t2urUuFIzsKV4hQqyNCTiqLGEx/QwdLQbAjEo
 CH28ZBrz28PVwKc8WSHBA+LqT+juyOsKijTQ8NBhYh5gXLpyiv8qTGHx+R2Qpbey9TwI0l7X
 POn2XCl+qeWrCAu1HhPl3ontRrcejau5h+7Qu3+4oowwDX+0eVjUJaKvi/VX4O0aWSAR0R4a
 HxSl8bTr9OAjXqDyyISFLWqnPd+Sdr5Hn4xVCCh3z/5cT/WTIhEsJEwZlUax3D9iMbzadBOY
 9wrhakXqBsfGT9deXGlqn1fgAvklDxrWspkOYVgXAaWYwCaKVJpYha+E9OCp8PEC/z9YhiSY
 BVfYnhzecTdUnfY2HSv2FpztDpVnMvHg2eSkxHvsCOyTBZkH1w0kNdzs0CmXUL8o47VvB/lq
 35G7UtkKsLQt4dbKp7CutEScyrCnbVSRaJK26WKUSPLtBzB5sMke+E3FwR3pDVRHUl9upPpH
 3xaiIqiYdpQTOSNSSn5uw1zjndBH66QSngjtpD4pQRgMyNeIbW
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51540950"
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>, "Ian
 Jackson" <iwj@xenproject.org>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>, Daniel De Graaf <dgdegra@tycho.nsa.gov>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>
Subject: [XEN PATCH v7 46/51] build: replace $(BASEDIR) by $(srctree)
Date: Tue, 24 Aug 2021 11:50:33 +0100
Message-ID: <20210824105038.1257926-47-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

$(srctree) is a better description for the source directory than
$(BASEDIR) that has been used for both source and build directory
(which where the same).

"clean" is still changing directory, so we need to use absolute path
for it.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 xen/Kconfig                 |  4 ++--
 xen/Makefile                |  7 +++----
 xen/Rules.mk                |  6 +++---
 xen/common/Makefile         |  2 +-
 xen/common/libfdt/Makefile  |  2 +-
 xen/include/Makefile        | 12 ++++++------
 xen/scripts/Kbuild.include  |  4 ++--
 xen/scripts/Kconfig.include |  2 +-
 xen/scripts/Makefile.clean  |  2 +-
 xen/xsm/flask/Makefile      |  2 +-
 10 files changed, 21 insertions(+), 22 deletions(-)

diff --git a/xen/Kconfig b/xen/Kconfig
index bcbd2758e5d3..ac9a638d372e 100644
--- a/xen/Kconfig
+++ b/xen/Kconfig
@@ -14,14 +14,14 @@ config CC_IS_GCC
 
 config GCC_VERSION
 	int
-	default $(shell,$(BASEDIR)/scripts/gcc-version.sh $(CC))
+	default $(shell,$(srctree)/scripts/gcc-version.sh $(CC))
 
 config CC_IS_CLANG
 	def_bool $(success,$(CC) --version | head -n 1 | grep -q clang)
 
 config CLANG_VERSION
 	int
-	default $(shell,$(BASEDIR)/scripts/clang-version.sh $(CC))
+	default $(shell,$(srctree)/scripts/clang-version.sh $(CC))
 
 # -fvisibility=hidden reduces -fpic cost, if it's available
 config CC_HAS_VISIBILITY_ATTRIBUTE
diff --git a/xen/Makefile b/xen/Makefile
index b09584e33f9c..1a288b87980a 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -17,8 +17,7 @@ export XEN_BUILD_HOST	?= $(shell hostname)
 PYTHON_INTERPRETER	:= $(word 1,$(shell which python3 python python2 2>/dev/null) python)
 export PYTHON		?= $(PYTHON_INTERPRETER)
 
-export BASEDIR := $(CURDIR)
-export XEN_ROOT := $(BASEDIR)/..
+export XEN_ROOT := $(CURDIR)/..
 
 srctree := .
 objtree := .
@@ -183,7 +182,7 @@ ifeq ($(TARGET_ARCH),x86)
 t1 = $(call as-insn,$(CC),".L0: .L1: .skip (.L1 - .L0)",,-no-integrated-as)
 
 # Check whether clang asm()-s support .include.
-t2 = $(call as-insn,$(CC) -I$(BASEDIR)/arch/x86/include,".include \"asm/asm-defns.h\"",,-no-integrated-as)
+t2 = $(call as-insn,$(CC) -I$(srctree)/arch/x86/include,".include \"asm/asm-defns.h\"",,-no-integrated-as)
 
 # Check whether clang keeps .macro-s between asm()-s:
 # https://bugs.llvm.org/show_bug.cgi?id=36110
@@ -311,7 +310,7 @@ ALL_OBJS-$(CONFIG_CRYPTO) += crypto/built_in.o
 
 ALL_LIBS-y                := lib/lib.a
 
-include $(BASEDIR)/arch/$(TARGET_ARCH)/arch.mk
+include $(srctree)/arch/$(TARGET_ARCH)/arch.mk
 
 export ALL_OBJS := $(ALL_OBJS-y)
 export ALL_LIBS := $(ALL_LIBS-y)
diff --git a/xen/Rules.mk b/xen/Rules.mk
index fae6b8918019..cb8b35ceb596 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -15,7 +15,7 @@ include $(XEN_ROOT)/Config.mk
 # Don't try to remake this file included by Config.mk.
 $(XEN_ROOT)/.config: ;
 
-include $(BASEDIR)/scripts/Kbuild.include
+include $(srctree)/scripts/Kbuild.include
 
 ifndef obj
 $(warning kbuild: Rules.mk is included improperly)
@@ -63,7 +63,7 @@ cmd_objcopy = $(OBJCOPY) $(OBJCOPYFLAGS) $< $@
 # binfile
 # use e.g. $(call if_changed,binfile,binary-file varname)
 quiet_cmd_binfile = BINFILE $@
-cmd_binfile = $(SHELL) $(BASEDIR)/tools/binfile $(BINFILE_FLAGS) $@ $(2)
+cmd_binfile = $(SHELL) $(srctree)/tools/binfile $(BINFILE_FLAGS) $@ $(2)
 
 # Figure out what we need to build from the various variables
 # ===========================================================================
@@ -182,7 +182,7 @@ cpp_flags = $(filter-out -Wa$(comma)% -flto,$(1))
 c_flags = -MMD -MP -MF $(depfile) $(XEN_CFLAGS)
 a_flags = -MMD -MP -MF $(depfile) $(XEN_AFLAGS)
 
-include $(BASEDIR)/arch/$(TARGET_ARCH)/Rules.mk
+include $(srctree)/arch/$(TARGET_ARCH)/Rules.mk
 
 c_flags += $(_c_flags)
 a_flags += $(_c_flags)
diff --git a/xen/common/Makefile b/xen/common/Makefile
index 8771c2775efb..db78b06f4a50 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -80,7 +80,7 @@ $(obj)/config.gz: $(CONF_FILE)
 
 $(obj)/config_data.o: $(obj)/config.gz
 
-$(obj)/config_data.S: $(BASEDIR)/tools/binfile FORCE
+$(obj)/config_data.S: $(srctree)/tools/binfile FORCE
 	$(call if_changed,binfile,$(obj)/config.gz xen_config_data)
 targets += config_data.S
 
diff --git a/xen/common/libfdt/Makefile b/xen/common/libfdt/Makefile
index 6708af12e583..75aaefa2e37f 100644
--- a/xen/common/libfdt/Makefile
+++ b/xen/common/libfdt/Makefile
@@ -6,7 +6,7 @@ OBJCOPYFLAGS := $(foreach s,$(SECTIONS),--rename-section .$(s)=.init.$(s))
 obj-y += libfdt.o
 nocov-y += libfdt.o
 
-CFLAGS-y += -I$(BASEDIR)/include/xen/libfdt/
+CFLAGS-y += -I$(srctree)/include/xen/libfdt/
 
 $(obj)/libfdt.o: $(obj)/libfdt-temp.o FORCE
 	$(call if_changed,objcopy)
diff --git a/xen/include/Makefile b/xen/include/Makefile
index 0b72c129da69..f5241b70e7fa 100644
--- a/xen/include/Makefile
+++ b/xen/include/Makefile
@@ -42,22 +42,22 @@ endif
 .PHONY: all
 all: $(addprefix $(obj)/,$(headers-y))
 
-$(obj)/compat/%.h: $(obj)/compat/%.i $(src)/Makefile $(BASEDIR)/tools/compat-build-header.py
-	$(PYTHON) $(BASEDIR)/tools/compat-build-header.py <$< $(patsubst $(obj)/%,%,$@) >>$@.new; \
+$(obj)/compat/%.h: $(obj)/compat/%.i $(src)/Makefile $(srctree)/tools/compat-build-header.py
+	$(PYTHON) $(srctree)/tools/compat-build-header.py <$< $(patsubst $(obj)/%,%,$@) >>$@.new; \
 	mv -f $@.new $@
 
 $(obj)/compat/%.i: $(obj)/compat/%.c $(src)/Makefile
 	$(CPP) $(filter-out -Wa$(comma)% -include %/include/xen/config.h,$(XEN_CFLAGS)) $(cppflags-y) -o $@ $<
 
-$(obj)/compat/%.c: $(src)/public/%.h $(src)/xlat.lst $(src)/Makefile $(BASEDIR)/tools/compat-build-source.py
+$(obj)/compat/%.c: $(src)/public/%.h $(src)/xlat.lst $(src)/Makefile $(srctree)/tools/compat-build-source.py
 	mkdir -p $(@D)
-	$(PYTHON) $(BASEDIR)/tools/compat-build-source.py $(srctree)/$(src)/xlat.lst <$< >$@.new
+	$(PYTHON) $(srctree)/tools/compat-build-source.py $(srctree)/$(src)/xlat.lst <$< >$@.new
 	mv -f $@.new $@
 
-$(obj)/compat/.xlat/%.h: $(obj)/compat/%.h $(obj)/compat/.xlat/%.lst $(BASEDIR)/tools/get-fields.sh $(src)/Makefile
+$(obj)/compat/.xlat/%.h: $(obj)/compat/%.h $(obj)/compat/.xlat/%.lst $(srctree)/tools/get-fields.sh $(src)/Makefile
 	export PYTHON=$(PYTHON); \
 	while read what name; do \
-		$(SHELL) $(BASEDIR)/tools/get-fields.sh "$$what" compat_$$name $< || exit $$?; \
+		$(SHELL) $(srctree)/tools/get-fields.sh "$$what" compat_$$name $< || exit $$?; \
 	done <$(patsubst $(obj)/compat/%,$(obj)/compat/.xlat/%,$(basename $<)).lst >$@.new
 	mv -f $@.new $@
 
diff --git a/xen/scripts/Kbuild.include b/xen/scripts/Kbuild.include
index 3e436639da1c..81abe4b4aa55 100644
--- a/xen/scripts/Kbuild.include
+++ b/xen/scripts/Kbuild.include
@@ -93,12 +93,12 @@ cc-ifversion = $(shell [ $(CONFIG_GCC_VERSION)0 $(1) $(2)000 ] && echo $(3) || e
 # Shorthand for $(Q)$(MAKE) -f scripts/Makefile.build obj=
 # Usage:
 # $(Q)$(MAKE) $(build)=dir
-build := -f $(BASEDIR)/Rules.mk obj
+build := -f $(srctree)/Rules.mk obj
 
 # Shorthand for $(MAKE) clean
 # Usage:
 # $(MAKE) $(clean) dir
-clean := -f $(BASEDIR)/scripts/Makefile.clean clean -C
+clean := -f $(abs_srctree)/scripts/Makefile.clean clean -C
 
 # echo command.
 # Short version is used, if $(quiet) equals `quiet_', otherwise full one.
diff --git a/xen/scripts/Kconfig.include b/xen/scripts/Kconfig.include
index e1f13e17207e..389a690a127a 100644
--- a/xen/scripts/Kconfig.include
+++ b/xen/scripts/Kconfig.include
@@ -40,4 +40,4 @@ $(error-if,$(failure,command -v $(CC)),compiler '$(CC)' not found)
 $(error-if,$(failure,command -v $(LD)),linker '$(LD)' not found)
 
 # gcc version including patch level
-gcc-version := $(shell,$(BASEDIR)/scripts/gcc-version.sh $(CC))
+gcc-version := $(shell,$(srctree)/scripts/gcc-version.sh $(CC))
diff --git a/xen/scripts/Makefile.clean b/xen/scripts/Makefile.clean
index c2689d4af5fa..db1d1f918d42 100644
--- a/xen/scripts/Makefile.clean
+++ b/xen/scripts/Makefile.clean
@@ -8,7 +8,7 @@ src := $(obj)
 
 clean::
 
-include $(BASEDIR)/scripts/Kbuild.include
+include $(abs_srctree)/scripts/Kbuild.include
 
 include $(src)/Makefile
 
diff --git a/xen/xsm/flask/Makefile b/xen/xsm/flask/Makefile
index 56aed07e27fe..1da6de2867ae 100644
--- a/xen/xsm/flask/Makefile
+++ b/xen/xsm/flask/Makefile
@@ -36,7 +36,7 @@ obj-bin-$(CONFIG_XSM_FLASK_POLICY) += flask-policy.o
 $(obj)/flask-policy.o: $(obj)/policy.bin
 
 $(obj)/flask-policy.S: BINFILE_FLAGS := -i
-$(obj)/flask-policy.S: $(BASEDIR)/tools/binfile FORCE
+$(obj)/flask-policy.S: $(srctree)/tools/binfile FORCE
 	$(call if_changed,binfile,$(obj)/policy.bin xsm_flask_init_policy)
 targets += flask-policy.S
 
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:01:51 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:01:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171001.312229 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUBi-0000jv-Gy; Tue, 24 Aug 2021 11:01:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171001.312229; Tue, 24 Aug 2021 11:01: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 1mIUBh-0000ab-3A; Tue, 24 Aug 2021 11:01:49 +0000
Received: by outflank-mailman (input) for mailman id 171001;
 Tue, 24 Aug 2021 11:01:44 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU3A-0001EC-CK
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:53:00 +0000
Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 29d63f64-83ea-4e87-a250-534450e6dc50;
 Tue, 24 Aug 2021 10:51: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: 29d63f64-83ea-4e87-a250-534450e6dc50
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802293;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=4Cv/yeAIlw+I3PqZSpnr4pgLY+dq26BTRMJUJxN2iw4=;
  b=Ic+EdWU+iNQ20et/vMjEMRVos2UXYAbtzZ38DrZ1+xpsbKIaPZtI4KTG
   uRi4RSxhLBOH6/YFUjzT1GJOkE52+komQvIp/Vr2mkq5fFsTR4Ds+VTP0
   Ksz9JwiN9Gu3xbeBe/NKBGdi3EgY7G9O6MJbvaSkJRGdCySg/2YR+Z7rk
   U=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: 9FiVE4Hs4ct/OKapHCfR5rlGmoKlsqritircRBdgizXln8eYCQSfrEPdzvpg+Wb50gMOqyyM6I
 U4n6x9r6z3+3YNywjuJ5NTTG9z6R9fuUsRFwfZPw7ZQBLFms7BIEZYKMNuYmPdp03qWloDHWHX
 StxNqj8bZjbXG8dLRjOzevdAUsMhubxd835QZn9/Dc6FA4eU32SyvtwjpI/UP2V3x5YhZOPGgR
 OfuswxZBknMXDBbiLevguqB+vKtbX++9h/hO/iAWqpxlEBDtrXqo1hDuNUXHvdO98PE9mKlQfX
 uvPAjAHTkRzDI1lIlk9Y5fH8
X-SBRS: 5.1
X-MesageID: 52875482
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:+Q4/jqDdYsCUQjjlHegQsceALOsnbusQ8zAXPh9KJCC9I/bzqy
 nxpp8mPEfP+VAssHFJo7C90dq7MArhHP9OkMIs1NiZLW3bUQeTQr2KjrGSiQEIeReOkdK1vJ
 0IG8QQNDSaNykYsS+O2njcLz9W+qjkzEnHv4bj5kYoaTsvR7Br7g9/BAreOFZxXhN6CZ0wE4
 fZztZbphK7EE5nIviTNz0gZazuttfLnJXpbVotHBg88jSDijuu9frTDwWY5BEDSDlCqI1Svl
 Qt0jaJqJlLgcvLiiM05FWjrKi+X+GRiOerMfb8y/T97A+czzpAKr4RH4Fq9wpF2N1HoGxa6+
 Uk5S1QcvibokmhBF2dsF/j3RLt3y0p7GKnwViEgWH7qci8Xz4iDdFd7LgpBCcxxnBQyO2U6p
 g7qF5xdqAnfC/ojWD4/ZzFRhtqnk27rT4rlvMSlWVWVc8bZKVKpYIS8UtJGNNYdRiKoLwPAa
 1rFoXR9fxWeVSVYzTQuXRu2sWlWjA2Eg2dSkYPt8SJ23xdnWx/zUEf2MsD901wva4VWt1B/a
 DJI65onLZBQosfar98Hv4IRY+tBmnEUXv3QRevyJTcZdM60lf22uDKCZkOlZ2Xka0zvegPcc
 76IS5lXEYJCj3TINzLx5tW7xyIW3m5UV3Wu7Fj26Q=
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="52875482"
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>, "Ian
 Jackson" <iwj@xenproject.org>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>
Subject: [XEN PATCH v7 23/51] build,include: remove arch-*/*.h public header listing from headers*.chk
Date: Tue, 24 Aug 2021 11:50:10 +0100
Message-ID: <20210824105038.1257926-24-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

$(public-y) contains "public/arch-%" but when used by
$(PUBLIC_HEADERS) $(public-y) is filtered-out by the pattern
"public/arch-%". So $(public-y) content is never used.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

Notes:
    v7:
    - new patch

 xen/include/Makefile | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/xen/include/Makefile b/xen/include/Makefile
index 95daa8a28975..65a938a66555 100644
--- a/xen/include/Makefile
+++ b/xen/include/Makefile
@@ -39,9 +39,6 @@ cppflags-$(CONFIG_X86)    += -m32
 
 endif
 
-public-$(CONFIG_X86) := $(wildcard public/arch-x86/*.h public/arch-x86/*/*.h)
-public-$(CONFIG_ARM) := $(wildcard public/arch-arm/*.h public/arch-arm/*/*.h)
-
 .PHONY: all
 all: $(headers-y)
 
@@ -81,7 +78,7 @@ ifeq ($(XEN_TARGET_ARCH),$(XEN_COMPILE_ARCH))
 
 all: headers.chk headers99.chk headers++.chk
 
-PUBLIC_HEADERS := $(filter-out public/arch-% public/dom0_ops.h, $(wildcard public/*.h public/*/*.h) $(public-y))
+PUBLIC_HEADERS := $(filter-out public/arch-% public/dom0_ops.h, $(wildcard public/*.h public/*/*.h))
 
 PUBLIC_C99_HEADERS := public/io/9pfs.h public/io/pvcalls.h
 PUBLIC_ANSI_HEADERS := $(filter-out public/%ctl.h public/xsm/% public/%hvm/save.h $(PUBLIC_C99_HEADERS), $(PUBLIC_HEADERS))
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:01:53 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:01:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171002.312238 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUBk-0000zl-PQ; Tue, 24 Aug 2021 11:01:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171002.312238; Tue, 24 Aug 2021 11:01:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUBi-0000tG-Os; Tue, 24 Aug 2021 11:01:50 +0000
Received: by outflank-mailman (input) for mailman id 171002;
 Tue, 24 Aug 2021 11:01:45 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU48-0003Ux-EL
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:54:00 +0000
Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 5edca810-04c9-11ec-a8c6-12813bfff9fa;
 Tue, 24 Aug 2021 10:52: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: 5edca810-04c9-11ec-a8c6-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802347;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=I9w9cGZo+/VGBhzaJdsY6/R/D9f03RAWtGSiZGJZmx8=;
  b=Xb4UFhNgdPB8bBedrWuHMOEsPV6Wq7gU4/5tgu8KRFBYmqXI0pjPuo9a
   VbArppdpKA670v/grMABPRiKBDzThNnoDwaVXjAZxNh+P6Lrl2V+tDNwR
   wgPURRq1g/UA3Kl5ksN6Af/5ELAUOV2csfWlBUkTQvgRvxS/ohT/nUwvo
   w=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: gNeFafWRySL8KG/VGtvOqXK9CUK0WgOuppa6GdQ1/USxqAYBskm0qioZ2WUXhL1OcoIl5qN4Pi
 4lUzC2otoIqEYdxstol68v1T36QGPV+Hol974D4YZnLT9GJ7NIIhH3vrGEh4C75ut5GOc47tsk
 TkwdRXjQVAhVOUQwUiYlfGX2mIbZSxuXprckzstzsJXnljBYdVhrDcc8F7kwVLS89T2A3zZQkV
 WP9AgMThlb6dvoEngd/IRsuVj6/zvXG3AEC4SPwhqIjdb2CiLZuk8vbnundq1MUauC5XwSj42x
 YNot8sqnQ53tThpyqApNz/+R
X-SBRS: 5.1
X-MesageID: 51153607
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:xGCWeqFsem6QoPbOpLqFVJHXdLJyesId70hD6qkvc3Fom52j/f
 xGws5x6fatskd2ZJkh8erhBEDyewKkyXcV2/hbAV7MZniDhILFFu9fBOjZsnfd8k/Fh4lgPM
 5bGsATZ+EYZmIK7voSlTPIdurIt+P3kpxA692+815dCSVRL41w5QZwDQiWVmdsQhNdOJY/HJ
 2AouJaujuJYx0sH4iGL0hAe9KGi8zAlZrgbxJDLQUg8hOygTSh76O/OwSE3y0ZTyhEzd4ZgC
 f4ek3Cl+ueWsOAu1/hPlzontdrcRzau5l+7fm3+4kow/PX+0OVjcpaKvm/VXsO0ZmSAR4R4a
 LxSlEbTolOAjrqDxuIiAqo1A/63Dk07Xj+jVeenHv4uMT8ACk3EsxbmOtiA23kAmcbzaVBOZ
 hwrhWkXltsfGL9tTW448KNWwBhl0Kyr3ZnmekPj2ZHWY9bbLNKt4QQ8E5cDZ9FRUvBmcgaOf
 grCNuZ6OddcFucYXyctm5zwMa0VnB2GhudWEANtsGczjATlnFkyEkTwtAZgx47hdsAYogB4/
 6BPrVjlblIQMNTZaVhBP0ZSc/yEWDJSQKkChPmHb0mLtB0B5vpke+I3FwY3pDXRHU49upApH
 2aaiIkiYcbQTOQNeSemIZM7g3ABH6gWDiF8LAv26RE
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51153607"
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>, "Ian
 Jackson" <iwj@xenproject.org>, 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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, "Konrad
 Rzeszutek Wilk" <konrad.wilk@oracle.com>, Ross Lagerwall
	<ross.lagerwall@citrix.com>, Daniel De Graaf <dgdegra@tycho.nsa.gov>, "Daniel
 P. Smith" <dpsmith@apertussolutions.com>
Subject: [XEN PATCH v7 47/51] build: Rework "clean" to clean from the root dir
Date: Tue, 24 Aug 2021 11:50:34 +0100
Message-ID: <20210824105038.1257926-48-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

This will allow "clean" to work from an out-of-tree build when
it will be available.

Some of the file been removed in current "clean" target aren't added
to $(clean-files) because they are already listed in $(extra-) or
$(extra-y).

Also clean files in "arch/x86/boot" from that directory by allowing
"clean" to descend into the subdir by adding "boot" into $(subdir-).

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 xen/Makefile                | 24 ++++++++++++------------
 xen/arch/arm/Makefile       |  5 +----
 xen/arch/x86/Makefile       | 18 ++++++++++--------
 xen/arch/x86/boot/Makefile  |  2 ++
 xen/common/Makefile         |  3 +--
 xen/include/Makefile        |  4 +---
 xen/scripts/Kbuild.include  |  2 +-
 xen/scripts/Makefile.clean  | 14 +++++++++++---
 xen/test/livepatch/Makefile |  4 +---
 xen/xsm/flask/Makefile      |  4 +---
 10 files changed, 41 insertions(+), 39 deletions(-)

diff --git a/xen/Makefile b/xen/Makefile
index 1a288b87980a..67ced3e92689 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -398,18 +398,18 @@ _debug:
 
 .PHONY: _clean
 _clean:
-	$(MAKE) $(clean) tools
-	$(MAKE) $(clean) include
-	$(MAKE) $(clean) common
-	$(MAKE) $(clean) drivers
-	$(MAKE) $(clean) lib
-	$(MAKE) $(clean) xsm
-	$(MAKE) $(clean) crypto
-	$(MAKE) $(clean) arch/arm
-	$(MAKE) $(clean) arch/riscv
-	$(MAKE) $(clean) arch/x86
-	$(MAKE) $(clean) test
-	$(MAKE) $(clean) tools/kconfig
+	$(Q)$(MAKE) $(clean)=tools
+	$(Q)$(MAKE) $(clean)=include
+	$(Q)$(MAKE) $(clean)=common
+	$(Q)$(MAKE) $(clean)=drivers
+	$(Q)$(MAKE) $(clean)=lib
+	$(Q)$(MAKE) $(clean)=xsm
+	$(Q)$(MAKE) $(clean)=crypto
+	$(Q)$(MAKE) $(clean)=arch/arm
+	$(Q)$(MAKE) $(clean)=arch/riscv
+	$(Q)$(MAKE) $(clean)=arch/x86
+	$(Q)$(MAKE) $(clean)=test
+	$(Q)$(MAKE) $(clean)=tools/kconfig
 	find . \( -name "*.o" -o -name ".*.d" -o -name ".*.d2" \
 		-o -name ".*.o.tmp" -o -name "*~" -o -name "core" \
 		-o -name '*.lex.c' -o -name '*.tab.[ch]' \
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 774648d6296e..3a69b5ef6cc3 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -114,7 +114,4 @@ $(obj)/xen.lds: $(src)/xen.lds.S FORCE
 
 $(obj)/dtb.o: $(patsubst "%",%,$(CONFIG_DTB_FILE))
 
-.PHONY: clean
-clean::
-	rm -f $(obj)/xen.lds
-	rm -f $(abs_objtree)/.xen-syms.[0-9]*
+clean-files := $(objtree)/.xen-syms.[0-9]*
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 85c44c69ff5a..25bf3cc2ac9a 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -78,6 +78,9 @@ obj-$(CONFIG_COMPAT) += x86_64/platform_hypercall.o
 obj-y += sysctl.o
 endif
 
+# Allows "clean" to descend into boot/
+subdir- += boot
+
 extra-y += asm-macros.i
 extra-y += xen.lds
 
@@ -197,8 +200,8 @@ note_file :=
 endif
 note_file_option ?= $(note_file)
 
+extra-$(XEN_BUILD_PE) += efi.lds
 ifeq ($(XEN_BUILD_PE),y)
-extra-y += efi.lds
 $(TARGET).efi: $(objtree)/prelink.o $(note_file) $(obj)/efi.lds $(obj)/efi/relocs-dummy.o $(obj)/efi/mkreloc
 ifeq ($(CONFIG_DEBUG_INFO),y)
 	$(if $(filter --strip-debug,$(EFI_LDFLAGS)),echo,:) "Will strip debug info from $(@F)"
@@ -257,10 +260,9 @@ $(obj)/efi.lds: AFLAGS-y += -DEFI
 $(obj)/xen.lds $(obj)/efi.lds: $(src)/xen.lds.S FORCE
 	$(call if_changed_dep,cpp_lds_S)
 
-.PHONY: clean
-clean::
-	rm -f *.lds
-	rm -f asm-macros.i $(abs_objtree)/arch/x86/include/asm/asm-macros.*
-	rm -f $(abs_objtree)/.xen-syms.[0-9]* $(abs_objtree)/.xen.elf32
-	rm -f $(abs_objtree)/.xen.efi.[0-9]* efi/*.efi
-	rm -f boot/cmdline.S boot/reloc.S boot/*.lnk boot/*.bin
+clean-files := \
+    include/asm/asm-macros.* \
+    $(objtree)/.xen-syms.[0-9]* \
+    $(objtree)/.xen.elf32 \
+    $(objtree)/.xen.efi.[0-9]* \
+    efi/*.efi
diff --git a/xen/arch/x86/boot/Makefile b/xen/arch/x86/boot/Makefile
index 3580a9b656e8..c2385e69332d 100644
--- a/xen/arch/x86/boot/Makefile
+++ b/xen/arch/x86/boot/Makefile
@@ -49,3 +49,5 @@ $(head-objs): %.S: %.bin
 
 %.lnk: %.o $(src)/build32.lds
 	$(LD) $(LDFLAGS_DIRECT) -N -T $(filter %.lds,$^) -o $@ $<
+
+clean-files := cmdline.S reloc.S *.lnk *.bin
diff --git a/xen/common/Makefile b/xen/common/Makefile
index db78b06f4a50..9208d233642a 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -84,5 +84,4 @@ $(obj)/config_data.S: $(srctree)/tools/binfile FORCE
 	$(call if_changed,binfile,$(obj)/config.gz xen_config_data)
 targets += config_data.S
 
-clean::
-	rm -f config_data.S config.gz 2>/dev/null
+clean-files := config_data.S config.gz
diff --git a/xen/include/Makefile b/xen/include/Makefile
index f5241b70e7fa..c3172f6636be 100644
--- a/xen/include/Makefile
+++ b/xen/include/Makefile
@@ -128,6 +128,4 @@ lib-x86-all:
 all: lib-x86-all
 endif
 
-clean::
-	rm -rf compat config generated headers*.chk
-	rm -f $(BASEDIR)/include/xen/lib/x86/cpuid-autogen.h
+clean-files := compat config generated headers*.chk xen/lib/x86/cpuid-autogen.h
diff --git a/xen/scripts/Kbuild.include b/xen/scripts/Kbuild.include
index 81abe4b4aa55..862b2a49c5ac 100644
--- a/xen/scripts/Kbuild.include
+++ b/xen/scripts/Kbuild.include
@@ -98,7 +98,7 @@ build := -f $(srctree)/Rules.mk obj
 # Shorthand for $(MAKE) clean
 # Usage:
 # $(MAKE) $(clean) dir
-clean := -f $(abs_srctree)/scripts/Makefile.clean clean -C
+clean := -f $(srctree)/scripts/Makefile.clean obj
 
 # echo command.
 # Short version is used, if $(quiet) equals `quiet_', otherwise full one.
diff --git a/xen/scripts/Makefile.clean b/xen/scripts/Makefile.clean
index db1d1f918d42..fa3fee758348 100644
--- a/xen/scripts/Makefile.clean
+++ b/xen/scripts/Makefile.clean
@@ -3,7 +3,6 @@
 # Cleaning up
 # ==========================================================================
 
-obj := .
 src := $(obj)
 
 clean::
@@ -17,11 +16,20 @@ include $(src)/Makefile
 subdir-all := $(subdir-y) $(subdir-n) $(subdir-) \
               $(patsubst %/,%, $(filter %/, $(obj-y) $(obj-n) $(obj-)))
 
+subdir-all := $(addprefix $(obj)/,$(subdir-all))
+
 __clean-files := \
     $(clean-files) $(hostprogs-y) $(hostprogs-) \
+    $(extra-y) $(extra-) \
     $(hostprogs-always-y) $(hostprogs-always-)
 
-__clean-files := $(wildcard $(__clean-files))
+# clean-files is given relative to the current directory, unless it
+# starts with $(objtree)/ (which means "./", so do not add "./" unless
+# you want to delete a file from the toplevel object directory).
+
+__clean-files := $(wildcard \
+		   $(addprefix $(obj)/, $(filter-out /% $(objtree)/%, $(__clean-files))) \
+		   $(filter /% $(objtree)/%, $(__clean-files)))
 
 .PHONY: clean
 clean:: $(subdir-all)
@@ -35,6 +43,6 @@ endif
 
 PHONY += $(subdir-all)
 $(subdir-all):
-	$(MAKE) $(clean) $@
+	$(Q)$(MAKE) $(clean)=$@
 
 .PHONY: $(PHONY)
diff --git a/xen/test/livepatch/Makefile b/xen/test/livepatch/Makefile
index 008e89fc9a47..5807a559b42a 100644
--- a/xen/test/livepatch/Makefile
+++ b/xen/test/livepatch/Makefile
@@ -160,6 +160,4 @@ install: $(addprefix $(obj)/,$(LIVEPATCHES))
 uninstall:
 	cd $(DESTDIR)$(LIVEPATCH_DEBUG_DIR) && rm -f $(LIVEPATCHES)
 
-.PHONY: clean
-clean::
-	rm -f *.livepatch config.h expect_config.h
+clean-files := config.h expect_config.h
diff --git a/xen/xsm/flask/Makefile b/xen/xsm/flask/Makefile
index 1da6de2867ae..d655cf8d1974 100644
--- a/xen/xsm/flask/Makefile
+++ b/xen/xsm/flask/Makefile
@@ -47,6 +47,4 @@ $(obj)/policy.bin: FORCE
 	$(MAKE) -f $(XEN_ROOT)/tools/flask/policy/Makefile.common -C $(XEN_ROOT)/tools/flask/policy FLASK_BUILD_DIR=$(FLASK_BUILD_DIR)
 	cmp -s $(POLICY_SRC) $@ || cp $(POLICY_SRC) $@
 
-.PHONY: clean
-clean::
-	rm -f $(ALL_H_FILES) policy.* $(POLICY_SRC) flask-policy.S
+clean-files := policy.* $(POLICY_SRC) flask-policy.S
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:01:56 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:01:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171007.312248 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUBn-0001iq-L3; Tue, 24 Aug 2021 11:01:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171007.312248; Tue, 24 Aug 2021 11:01:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUBl-0001a7-Th; Tue, 24 Aug 2021 11:01:53 +0000
Received: by outflank-mailman (input) for mailman id 171007;
 Tue, 24 Aug 2021 11:01:47 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU35-0003Ux-CH
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:52:55 +0000
Received: from esa6.hc3370-68.iphmx.com (unknown [216.71.155.175])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 4ac0f07c-04c9-11ec-a8c5-12813bfff9fa;
 Tue, 24 Aug 2021 10:51: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: 4ac0f07c-04c9-11ec-a8c5-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802314;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=e9beWPLZ66LkDKWINmxWgPLa0xieM3oPvCgwItf4tcI=;
  b=XmzDOKnGR9pzdJKVHd5HoinLupX8I3u04pKIjcv7rgxsV/XGV1dE3MQR
   cQxMWbYuoV8bvqWh73ExoyWqV6c5sXWIUndRzBo+ZWR1A/ubp6UtYXTfn
   Nv6JH3EYRXXraCZf8Amddv1Esq38A1vCExfidRJ1ml4LYg2LnecT8m9z/
   o=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: uQI0xWw6n21OdE3SYcrHMrutDgUY0LW5tnZ4E0nWQw+8NYsU9hTv0iD8Zhazxx7FQc6hkn/Rz6
 PQUOJyBpNUfWWf2XaFY03Hfj449KayKP5NqcB8xdGI18HuZJr2oijSawHFElU+al4avT/XSeJx
 mEilWVJuL+64xokcryCy92sAyGgmynCDTmmCNJxzQZLaprJalCm94F7uzh530KwvF24evO9Qzw
 x8oXka3JxEMVLiaeaHa6oK/2oJ9+Y3wcwrj9Je8fbK+R6ajXFLaTeWuOxkJY7ipt1H5mM4Rp4e
 uIxk78KhSaLEGwEMzuq6nD2S
X-SBRS: 5.1
X-MesageID: 51166397
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:EoqMxKv1c282+cDtTctFItgn7skCyoMji2hC6mlwRA09TyXGra
 2TdaUgvyMc1gx7ZJh5o6HnBEGBKUm9yXcH2/hpAV7CZnishILGFvAH0WKP+VPd8k7Fh6RgPM
 VbAs9D4bTLZDAX4voSizPIcOrIteP3lZxA8t2urUuFIzsKV4hQqyNCTiqLGEx/QwdLQbAjEo
 CH28ZBrz28PVwKc8WSHBA+LqT+juyOsKijTQ8NBhYh5gXLpyiv8qTGHx+R2Qpbey9TwI0l7X
 POn2XCl+qeWrCAu1HhPl3ontRrcejau5h+7Qu3+4oowwDX+0eVjUJaKvi/VX4O0aWSAR0R4a
 HxSl8bTr9OAjXqDyyISFLWqnPd+Sdr5Hn4xVCCh3z/5cT/WTIhEsJEwZlUax3D9iMbzadBOY
 9wrhakXqBsfGT9deXGlqn1fgAvklDxrWspkOYVgXAaWYwCaKVJpYha+E9OCp8PEC/z9YhiSY
 BVfYnhzecTdUnfY2HSv2FpztDpVnMvHg2eSkxHvsCOyTBZkH1w0kNdzs0CmXUL8o47VvB/lq
 35G7UtkKsLQt4dbKp7CutEScyrCnbVSRaJK26WKUSPLtBzB5sMke+E3FwR3pDVRHUl9upPpH
 3xaiIqiYdpQTOSNSSn5uw1zjndBH66QSngjtpD4pQRgMyNeIbW
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51166397"
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>, "Ian
 Jackson" <iwj@xenproject.org>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>
Subject: [XEN PATCH v7 33/51] build: handle always-y and hostprogs-always-y
Date: Tue, 24 Aug 2021 11:50:20 +0100
Message-ID: <20210824105038.1257926-34-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

This will be used for xen/tools/.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 xen/Rules.mk               | 10 +++++++++-
 xen/scripts/Makefile.clean |  3 ++-
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/xen/Rules.mk b/xen/Rules.mk
index 760ccff0e8f1..1e1839c4b629 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -83,9 +83,17 @@ else
 obj-y    := $(filter-out %/, $(obj-y))
 endif
 
+# hostprogs-always-y += foo
+# ... is a shorthand for
+# hostprogs-y += foo
+# always-y  += foo
+hostprogs-y += $(hostprogs-always-y)
+always-y += $(hostprogs-always-y)
+
 # Add subdir path
 
 extra-y         := $(addprefix $(obj)/,$(extra-y))
+always-y        := $(addprefix $(obj)/,$(always-y))
 targets         := $(addprefix $(obj)/,$(targets))
 lib-y           := $(addprefix $(obj)/,$(lib-y))
 obj-y           := $(addprefix $(obj)/,$(obj-y))
@@ -288,7 +296,7 @@ targets += $(call intermediate_targets, .init.o, .o) \
 # Build
 # ---------------------------------------------------------------------------
 
-__build: $(targets-for-builtin) $(subdir-y)
+__build: $(targets-for-builtin) $(subdir-y) $(always-y)
 	@:
 
 # Descending
diff --git a/xen/scripts/Makefile.clean b/xen/scripts/Makefile.clean
index 156d6307cf83..c2689d4af5fa 100644
--- a/xen/scripts/Makefile.clean
+++ b/xen/scripts/Makefile.clean
@@ -18,7 +18,8 @@ subdir-all := $(subdir-y) $(subdir-n) $(subdir-) \
               $(patsubst %/,%, $(filter %/, $(obj-y) $(obj-n) $(obj-)))
 
 __clean-files := \
-    $(clean-files) $(hostprogs-y) $(hostprogs-)
+    $(clean-files) $(hostprogs-y) $(hostprogs-) \
+    $(hostprogs-always-y) $(hostprogs-always-)
 
 __clean-files := $(wildcard $(__clean-files))
 
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:01:58 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:01:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171009.312258 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUBp-0002Aj-Fs; Tue, 24 Aug 2021 11:01:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171009.312258; Tue, 24 Aug 2021 11:01:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUBn-0001zp-ME; Tue, 24 Aug 2021 11:01:55 +0000
Received: by outflank-mailman (input) for mailman id 171009;
 Tue, 24 Aug 2021 11:01:49 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU4N-0003Ux-Ee
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:54:15 +0000
Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 637f13da-04c9-11ec-a8c6-12813bfff9fa;
 Tue, 24 Aug 2021 10:52: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: 637f13da-04c9-11ec-a8c6-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802355;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=YEQGvIYAxhCe5H6wIWepHfg/efcf3yv+PfASQNpjxxI=;
  b=DLVv2QQYrQwqAU0lix9wgBykVEIby+uQeQQWrnoRbmHr/sVja78u04oU
   tILpoQaUDUWeqMkBlTZG6OXtPhMAyeJWKy6O2/+e1FYdcdXT0NbxfBpF/
   +CjWsw5T+O5XZmk/p1VMpe3+1D04oejqP2t1mgeUVtS93UU4z6f3XtDul
   E=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: 1jd2RLyJdsLUw7xBH6tEvn6hZ2r8TOw62HDrkvbwSG6H4IHuQHDxYJ0/o838D0LZZ8tw46Trpd
 Euk1QwcD3MXVFPJuy4SupGRqMNlPYdWz9xhfnwITTHTe7eQZSjqsE/Bzt4LqHui+L11KBB6xOM
 ab3Fl5fKfFB3F7uVMWcK8Qlg/UwZSULC8DkqKZSnpFsmb40puDnk6QYzPfkJaLk3m7Z6BQkRDG
 33cbz/yIyaZlhmhag/X0KZcwa3KjdrWbNZhel+UuhMNPPAX0Vt81EaptD+5lE2H9DfNRZm8Cj9
 nggmCTZ2WBXNen3og9rSKrIL
X-SBRS: 5.1
X-MesageID: 51540954
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:LVvb+qsbCsTmq7RwlcfEHnEG7skCyoMji2hC6mlwRA09TyXGra
 2TdaUgvyMc1gx7ZJh5o6HnBEGBKUm9yXcH2/hpAV7CZnishILGFvAH0WKP+VPd8k7Fh6RgPM
 VbAs9D4bTLZDAX4voSizPIcOrIteP3lZxA8t2urUuFIzsKV4hQqyNCTiqLGEx/QwdLQbAjEo
 CH28ZBrz28PVwKc8WSHBA+LqT+juyOsKijTQ8NBhYh5gXLpyiv8qTGHx+R2Qpbey9TwI0l7X
 POn2XCl+qeWrCAu1HhPl3ontRrcejau5h+7Qu3+4oowwDX+0eVjUJaKvi/VX4O0aWSAR0R4a
 HxSl8bTr9OAjXqDyyISFLWqnPd+Sdr5Hn4xVCCh3z/5cT/WTIhEsJEwZlUax3D9iMbzadBOY
 9wrhakXqBsfGT9deXGlqn1fgAvklDxrWspkOYVgXAaWYwCaKVJpYha+E9OCp8PEC/z9YhiSY
 BVfYnhzecTdUnfY2HSv2FpztDpVnMvHg2eSkxHvsCOyTBZkH1w0kNdzs0CmXUL8o47VvB/lq
 35G7UtkKsLQt4dbKp7CutEScyrCnbVSRaJK26WKUSPLtBzB5sMke+E3FwR3pDVRHUl9upPpH
 3xaiIqiYdpQTOSNSSn5uw1zjndBH66QSngjtpD4pQRgMyNeIbW
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51540954"
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>, "Ian
 Jackson" <iwj@xenproject.org>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>
Subject: [XEN PATCH v7 51/51] build: add %.E targets
Date: Tue, 24 Aug 2021 11:50:38 +0100
Message-ID: <20210824105038.1257926-52-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

I guess it's easier to remember that %.E does "$(CC) -E" or "$(CPP)".

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 xen/Makefile | 4 ++--
 xen/Rules.mk | 5 +++++
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/xen/Makefile b/xen/Makefile
index d27c213c3aa9..91b34d549970 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -586,10 +586,10 @@ cscope:
 _MAP:
 	$(NM) -n $(TARGET)-syms | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' > System.map
 
-%.o %.i %.s: %.c tools_fixdep FORCE
+%.o %.i %.s %.E: %.c tools_fixdep FORCE
 	$(MAKE) $(build)=$(*D) $(*D)/$(@F)
 
-%.o %.s: %.S tools_fixdep FORCE
+%.o %.s %.E: %.S tools_fixdep FORCE
 	$(MAKE) $(build)=$(*D) $(*D)/$(@F)
 
 %/: tools_fixdep FORCE
diff --git a/xen/Rules.mk b/xen/Rules.mk
index 6c97f539330a..7d6112a3cdec 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -289,6 +289,11 @@ $(obj)/%.s: $(src)/%.c FORCE
 $(obj)/%.s: $(src)/%.S FORCE
 	$(call if_changed_dep,cpp_s_S)
 
+$(obj)/%.E: $(src)/%.c FORCE
+	$(call if_changed_dep,cpp_i_c)
+$(obj)/%.E: $(src)/%.S FORCE
+	$(call if_changed_dep,cpp_s_S)
+
 # Linker scripts, .lds.S -> .lds
 quiet_cmd_cpp_lds_S = LDS     $@
 cmd_cpp_lds_S = $(CPP) -P $(call cpp_flags,$(a_flags)) -DLINKER_SCRIPT -MQ $@ -o $@ $<
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:02:06 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:02:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171028.312290 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUBx-0004T2-EF; Tue, 24 Aug 2021 11:02:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171028.312290; Tue, 24 Aug 2021 11: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 1mIUBw-0004K9-Ad; Tue, 24 Aug 2021 11:02:04 +0000
Received: by outflank-mailman (input) for mailman id 171028;
 Tue, 24 Aug 2021 11:02:02 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU2g-0001EC-B7
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:52:30 +0000
Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ab13fdac-e976-4770-acbc-e1e8e94801f2;
 Tue, 24 Aug 2021 10:51: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: ab13fdac-e976-4770-acbc-e1e8e94801f2
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802286;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=cHly7piTV/09q3M8YN1XfYbGfLVMKH8oLzqmNMH8ZNY=;
  b=a+TZdo1IeOS8mRC/AjetJkrjkqxhFPhk3mQWfJdV+ze5ovsIBqZjzlSN
   XYzEEM2fO6sJFY9KTL/5lfXr8t+DhJnEvqJmrC8Cz8IIbiYkyVR8LHZY1
   GibxGjBH2rR1zLvKRWYzb/OXjxFErn8AFnfLcwlbP566GmrG4ACPlNn8A
   g=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: wstmAh46vNhiyRQ5qTYzPeStKmCCkj/kOn7UK/rPf7/C1EXG/PxTVJE7tVkLLfd6lXFqBfNBNo
 1z7G8PpX7fNM5loNIwZedU+6aP7KVcrxDE20unZuRNmp0ZWLLdSrsM/SfAutNMXK9g7RFsrcL1
 RMHUx+JY8Y1AccTlp0EtiyOWWj587St5lNizo2vPVTiwiwxiVcvRVFcKT5O+oIcA1CLPPpKPzN
 WnFBisMXfNuTrKoK/KgdPnMdvN80ofQHP7EDZ/YLWq1N4nMld/o81cqK3U4l7NHqrU3fk/Fcs6
 MQV5FPWaiHqzvxWwTHbX01FG
X-SBRS: 5.1
X-MesageID: 50772192
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:mqgKT6lAySSFoNzGzbshUcV3+lXpDfIU3DAbv31ZSRFFG/Fxl6
 iV8sjzsiWE7gr5OUtQ4exoV5PhfZqxz/JICMwqTNKftWrdyQyVxeNZnOjfKlTbckWUnINgPO
 VbAsxD4bXLfCFHZK3BgTVQfexO/DD+ytHLudvj
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="50772192"
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>, "Ian
 Jackson" <iwj@xenproject.org>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>
Subject: [XEN PATCH v7 20/51] build: avoid re-executing the main Makefile by introducing build.mk
Date: Tue, 24 Aug 2021 11:50:07 +0100
Message-ID: <20210824105038.1257926-21-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Currently, the xen/Makefile is re-parsed several times: once to start
the build process, and several more time with Rules.mk including it.
This makes it difficult to reason with a Makefile used for several
purpose, and it actually slow down the build process.

So this patch introduce "build.mk" which Rules.mk will use when
present instead of the "Makefile" of a directory. (Linux's Kbuild
named that file "Kbuild".)

We have a few targets to move to "build.mk" identified by them been
build via "make -f Rules.mk" without changing directory.

As for the main targets like "build", we can have them depends on
there underscore-prefix targets like "_build" without having to use
"Rules.mk" while still retaining the check for unsupported
architecture. (Those main rules are changed to be single-colon as
there should only be a single recipe for them.)

With nearly everything needed to move to "build.mk" moved, there is a
single dependency left from "Rules.mk": $(TARGET), which is moved to
the main Makefile.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

Notes:
    v7:
    - new patch

 xen/Makefile | 69 ++++++----------------------------------------------
 xen/Rules.mk |  6 ++---
 xen/build.mk | 58 +++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 68 insertions(+), 65 deletions(-)
 create mode 100644 xen/build.mk

diff --git a/xen/Makefile b/xen/Makefile
index b408d35b4af0..7f100845cdd0 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -45,6 +45,8 @@ export KCONFIG_CONFIG ?= .config
 
 export CC CXX LD
 
+export TARGET := $(BASEDIR)/xen
+
 .PHONY: default
 default: build
 
@@ -279,11 +281,13 @@ export CFLAGS_UBSAN
 
 endif # need-config
 
-.PHONY: build install uninstall clean distclean MAP
-build install uninstall debug clean distclean MAP::
+main-targets := build install uninstall clean distclean MAP
+.PHONY: $(main-targets)
 ifneq ($(XEN_TARGET_ARCH),x86_32)
-	$(MAKE) -f Rules.mk _$@
+$(main-targets): %: _%
+	@:
 else
+$(main-targets):
 	echo "*** Xen x86/32 target no longer supported!"
 endif
 
@@ -391,65 +395,6 @@ $(TARGET): FORCE
 	$(MAKE) -f $(BASEDIR)/Rules.mk arch/$(TARGET_ARCH)/include/asm/asm-offsets.h
 	$(MAKE) -f $(BASEDIR)/Rules.mk -C arch/$(TARGET_ARCH) $@
 
-quiet_cmd_banner = BANNER  $@
-define cmd_banner
-    if which figlet >/dev/null 2>&1 ; then \
-	echo " Xen $(XEN_FULLVERSION)" | figlet -f $< > $@.tmp; \
-    else \
-	echo " Xen $(XEN_FULLVERSION)" > $@.tmp; \
-    fi; \
-    mv -f $@.tmp $@
-endef
-
-.banner: tools/xen.flf FORCE
-	$(call if_changed,banner)
-targets += .banner
-
-# Don't refresh this files during e.g., 'sudo make install'
-quiet_cmd_compile.h = UPD     $@
-define cmd_compile.h
-    if [ ! -r $@ -o -O $@ ]; then \
-	sed -e 's/@@date@@/$(XEN_BUILD_DATE)/g' \
-	    -e 's/@@time@@/$(XEN_BUILD_TIME)/g' \
-	    -e 's/@@whoami@@/$(XEN_WHOAMI)/g' \
-	    -e 's/@@domain@@/$(XEN_DOMAIN)/g' \
-	    -e 's/@@hostname@@/$(XEN_BUILD_HOST)/g' \
-	    -e 's!@@compiler@@!$(shell $(CC) $(CFLAGS) --version 2>&1 | head -1)!g' \
-	    -e 's/@@version@@/$(XEN_VERSION)/g' \
-	    -e 's/@@subversion@@/$(XEN_SUBVERSION)/g' \
-	    -e 's/@@extraversion@@/$(XEN_EXTRAVERSION)/g' \
-	    -e 's!@@changeset@@!$(shell tools/scmversion $(XEN_ROOT) || echo "unavailable")!g' \
-	    < $< > $(dot-target).tmp; \
-	sed -rf tools/process-banner.sed < .banner >> $(dot-target).tmp; \
-	mv -f $(dot-target).tmp $@; \
-    fi
-endef
-
-include/xen/compile.h: include/xen/compile.h.in .banner FORCE
-	@cat .banner
-	$(call if_changed,compile.h)
-targets += include/xen/compile.h
-
-asm-offsets.s: arch/$(TARGET_ARCH)/$(TARGET_SUBARCH)/asm-offsets.c
-	$(CC) $(call cpp_flags,$(c_flags)) -S -g0 -o $@.new -MQ $@ $<
-	$(call move-if-changed,$@.new,$@)
-
-arch/$(TARGET_ARCH)/include/asm/asm-offsets.h: asm-offsets.s
-	@(set -e; \
-	  echo "/*"; \
-	  echo " * DO NOT MODIFY."; \
-	  echo " *"; \
-	  echo " * This file was auto-generated from $<"; \
-	  echo " *"; \
-	  echo " */"; \
-	  echo ""; \
-	  echo "#ifndef __ASM_OFFSETS_H__"; \
-	  echo "#define __ASM_OFFSETS_H__"; \
-	  echo ""; \
-	  sed -rne "/^[^#].*==>/{s:.*==>(.*)<==.*:\1:; s: [\$$#]: :; p;}"; \
-	  echo ""; \
-	  echo "#endif") <$< >$@
-
 SUBDIRS = xsm arch/$(TARGET_ARCH) common drivers lib test
 define all_sources
     ( find arch/$(TARGET_ARCH)/include -name '*.h' -print; \
diff --git a/xen/Rules.mk b/xen/Rules.mk
index f449669475bd..a49ca4ceca39 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -9,8 +9,6 @@ include $(XEN_ROOT)/Config.mk
 include $(BASEDIR)/scripts/Kbuild.include
 
 
-TARGET := $(BASEDIR)/xen
-
 # Note that link order matters!
 ALL_OBJS-y               += $(BASEDIR)/common/built_in.o
 ALL_OBJS-y               += $(BASEDIR)/drivers/built_in.o
@@ -36,7 +34,9 @@ SPECIAL_DATA_SECTIONS := rodata $(foreach a,1 2 4 8 16, \
                                             rodata.cst$(a)) \
                          $(foreach r,rel rel.ro,data.$(r).local)
 
-include Makefile
+# The filename build.mk has precedence over Makefile
+mk-dir := .
+include $(if $(wildcard $(mk-dir)/build.mk),$(mk-dir)/build.mk,$(mk-dir)/Makefile)
 
 # Linking
 # ---------------------------------------------------------------------------
diff --git a/xen/build.mk b/xen/build.mk
new file mode 100644
index 000000000000..369e1fe5c698
--- /dev/null
+++ b/xen/build.mk
@@ -0,0 +1,58 @@
+quiet_cmd_banner = BANNER  $@
+define cmd_banner
+    if which figlet >/dev/null 2>&1 ; then \
+	echo " Xen $(XEN_FULLVERSION)" | figlet -f $< > $@.tmp; \
+    else \
+	echo " Xen $(XEN_FULLVERSION)" > $@.tmp; \
+    fi; \
+    mv -f $@.tmp $@
+endef
+
+.banner: tools/xen.flf FORCE
+	$(call if_changed,banner)
+targets += .banner
+
+# Don't refresh this files during e.g., 'sudo make install'
+quiet_cmd_compile.h = UPD     $@
+define cmd_compile.h
+    if [ ! -r $@ -o -O $@ ]; then \
+	sed -e 's/@@date@@/$(XEN_BUILD_DATE)/g' \
+	    -e 's/@@time@@/$(XEN_BUILD_TIME)/g' \
+	    -e 's/@@whoami@@/$(XEN_WHOAMI)/g' \
+	    -e 's/@@domain@@/$(XEN_DOMAIN)/g' \
+	    -e 's/@@hostname@@/$(XEN_BUILD_HOST)/g' \
+	    -e 's!@@compiler@@!$(shell $(CC) $(CFLAGS) --version 2>&1 | head -1)!g' \
+	    -e 's/@@version@@/$(XEN_VERSION)/g' \
+	    -e 's/@@subversion@@/$(XEN_SUBVERSION)/g' \
+	    -e 's/@@extraversion@@/$(XEN_EXTRAVERSION)/g' \
+	    -e 's!@@changeset@@!$(shell tools/scmversion $(XEN_ROOT) || echo "unavailable")!g' \
+	    < $< > $(dot-target).tmp; \
+	sed -rf tools/process-banner.sed < .banner >> $(dot-target).tmp; \
+	mv -f $(dot-target).tmp $@; \
+    fi
+endef
+
+include/xen/compile.h: include/xen/compile.h.in .banner FORCE
+	@cat .banner
+	$(call if_changed,compile.h)
+targets += include/xen/compile.h
+
+asm-offsets.s: arch/$(TARGET_ARCH)/$(TARGET_SUBARCH)/asm-offsets.c
+	$(CC) $(call cpp_flags,$(c_flags)) -S -g0 -o $@.new -MQ $@ $<
+	$(call move-if-changed,$@.new,$@)
+
+arch/$(TARGET_ARCH)/include/asm/asm-offsets.h: asm-offsets.s
+	@(set -e; \
+	  echo "/*"; \
+	  echo " * DO NOT MODIFY."; \
+	  echo " *"; \
+	  echo " * This file was auto-generated from $<"; \
+	  echo " *"; \
+	  echo " */"; \
+	  echo ""; \
+	  echo "#ifndef __ASM_OFFSETS_H__"; \
+	  echo "#define __ASM_OFFSETS_H__"; \
+	  echo ""; \
+	  sed -rne "/^[^#].*==>/{s:.*==>(.*)<==.*:\1:; s: [\$$#]: :; p;}"; \
+	  echo ""; \
+	  echo "#endif") <$< >$@
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:02:07 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:02:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171032.312299 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUBy-0004dG-Mj; Tue, 24 Aug 2021 11:02:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171032.312299; Tue, 24 Aug 2021 11:02:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUBx-0004at-Az; Tue, 24 Aug 2021 11:02:05 +0000
Received: by outflank-mailman (input) for mailman id 171032;
 Tue, 24 Aug 2021 11:02:03 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU2q-0001EC-BW
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:52:40 +0000
Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id a383b904-a75f-42e2-b22a-f5d75428bf56;
 Tue, 24 Aug 2021 10:51: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: a383b904-a75f-42e2-b22a-f5d75428bf56
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802289;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=ui+BY0F0TRtPJ3eDZ5+KxMNHd28XswPS9MmRVT66jrE=;
  b=LOODNyByltSuy4o1SAC2+OXZ11+tNhMOPKh6bG0DaYntlkFY83PaVe9H
   mej4+cCVM0eZ+0bIhFj+YIcvNPLJGOvTO7+IlF9A579d3r2K7eKwoSi8/
   WWPCtIjLHK7DBsNi8i6Pvajfi9eL2IYye8AHdeTqXCkuwmM7ddMbFCIH8
   4=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: Z9UG7eg6GsKnDrcWXWdKaaOqYma/EzdXgtDFjV7xBXYDGIQCcQpUG4hHl/qHGEJ4azM9ZGsjC1
 1fMCjRpKt0UDhQrWjyLa05p192wmTZud/SSNfby9tPDWgQq3UcZ2n3x0coNYdYkk9fzb1g98Xo
 hrsDc4t2TAuWyFKTrjzqhgod4vzOW9gGgO27G4wil19k9SGVMKfI6JVc7DyX2WHqD0Wx4AjzV/
 bZ0eNQ9533X6clG8VC5Jo/ZlUkaiLh8EzA02ab3NCEKVGYTw7ErDcOcNQ2E8AmqSq91kieoJ5w
 fEtbYxQA5TRp3tsdtScu4Xlt
X-SBRS: 5.1
X-MesageID: 51540914
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:yGeysawQjWlVbuwI6/S/KrPxkOskLtp133Aq2lEZdPULSKGlfp
 GV9sjziyWetN9IYgBHpTiBUJPhfZquz+8N3WBxB8boYOCIghrNEGgP1+XfKl7bamfDH4xmpM
 BdmsFFYbWdYmSS5vyKgzVQZuxQpeVvh5rY59s2oU0NcShaL4VbqytpAAeSFUN7ACNcA4AiKZ
 aa7s1b4xK9ZHU+dK2AdzU4dtmGg+eOuIPtYBYACRJiwhKJlymU5LnzFAXd9gsCUglI3awp/Q
 H+4kPED+SYwr+GIy3npi/uBqdt6ZjcIxx4dY6xY/0uW3TRY8CTFcFcsvO5zXQISaqUmS4XeZ
 H30mwd1oJImj7slyiO0GHQ8hil3zA053D4z1iExXPlvMziXTo/T9FMnIRDb3LimjwdVfxHod
 Z2Nliixu1q5NL77VXAzsmNUwsvmlu/oHIkn+JWh3tDUZEGYLsUqYAE5ktaHJoJASq/sekcYa
 FTJdCZ4OwTfUKRbnjfsGUqyNuwXm4rFhPDRkQZoMSa3zVfgXg8xUoFw84UmGsG6fsGOtB5zv
 WBNr4tmKBFT8cQY644DOAdQdGvAmiIWh7IOHL6GyWTKEjGAQO+l3fT2sRK2AiHQu118HICou
 WzbLoDjx9OR6vHM7zw4LRbtgvKXHiwGS/wz8023ekIhoHB
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51540914"
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>, "Ian
 Jackson" <iwj@xenproject.org>, 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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [XEN PATCH v7 21/51] build: set ALL_OBJS to main Makefile; move prelink.o to main Makefile
Date: Tue, 24 Aug 2021 11:50:08 +0100
Message-ID: <20210824105038.1257926-22-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

This is to avoid arch/$arch/Makefile having to recurse into parents
directories.

This avoid duplication of the logic to build prelink.o between arches.

In order to do that, we cut the $(TARGET) target in the main Makefile in
two, there is a "prepare" phase/target runned before starting to build
"prelink.o" which will prepare "include/" among other things, the all
the $(ALL_OBJS) will be generated in order to build "prelink.o" and
finally $(TARGET) will be generated by calling into "arch/*/" to make
$(TARGET).

Now we don't need to prefix $(ALL_OBJS) with $(BASEDIR) as it is now
only used from the main Makefile. Other changes is using "$<" instead
of spelling "prelink.o" in the target "$(TARGET)" in both
arch/*/Makefile.

Beside "prelink.o" been at a different location, no other functional
change intended.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

Notes:
    v7:
    - change, now things are in build.mk: no more prepare phase needed

 xen/Makefile          | 15 ++++++++++++++-
 xen/Rules.mk          | 14 --------------
 xen/arch/arm/Makefile | 31 ++++---------------------------
 xen/arch/arm/arch.mk  |  2 ++
 xen/arch/x86/Makefile | 29 ++++++-----------------------
 xen/arch/x86/arch.mk  |  2 ++
 xen/build.mk          | 24 ++++++++++++++++++++++++
 7 files changed, 52 insertions(+), 65 deletions(-)

diff --git a/xen/Makefile b/xen/Makefile
index 7f100845cdd0..1dad20a95be6 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -271,8 +271,21 @@ CFLAGS += -flto
 LDFLAGS-$(CONFIG_CC_IS_CLANG) += -plugin LLVMgold.so
 endif
 
+# Note that link order matters!
+ALL_OBJS-y                := common/built_in.o
+ALL_OBJS-y                += drivers/built_in.o
+ALL_OBJS-y                += lib/built_in.o
+ALL_OBJS-y                += xsm/built_in.o
+ALL_OBJS-y                += arch/$(TARGET_ARCH)/built_in.o
+ALL_OBJS-$(CONFIG_CRYPTO) += crypto/built_in.o
+
+ALL_LIBS-y                := lib/lib.a
+
 include $(BASEDIR)/arch/$(TARGET_ARCH)/arch.mk
 
+export ALL_OBJS := $(ALL_OBJS-y)
+export ALL_LIBS := $(ALL_LIBS-y)
+
 # define new variables to avoid the ones defined in Config.mk
 export XEN_CFLAGS := $(CFLAGS)
 export XEN_AFLAGS := $(AFLAGS)
@@ -393,7 +406,7 @@ $(TARGET): FORCE
 	$(MAKE) -f $(BASEDIR)/Rules.mk -C include
 	$(MAKE) -f $(BASEDIR)/Rules.mk -C arch/$(TARGET_ARCH) include
 	$(MAKE) -f $(BASEDIR)/Rules.mk arch/$(TARGET_ARCH)/include/asm/asm-offsets.h
-	$(MAKE) -f $(BASEDIR)/Rules.mk -C arch/$(TARGET_ARCH) $@
+	$(MAKE) -f $(BASEDIR)/Rules.mk $@
 
 SUBDIRS = xsm arch/$(TARGET_ARCH) common drivers lib test
 define all_sources
diff --git a/xen/Rules.mk b/xen/Rules.mk
index a49ca4ceca39..2db13a8f9c54 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -8,26 +8,12 @@
 include $(XEN_ROOT)/Config.mk
 include $(BASEDIR)/scripts/Kbuild.include
 
-
-# Note that link order matters!
-ALL_OBJS-y               += $(BASEDIR)/common/built_in.o
-ALL_OBJS-y               += $(BASEDIR)/drivers/built_in.o
-ALL_OBJS-y               += $(BASEDIR)/lib/built_in.o
-ALL_OBJS-y               += $(BASEDIR)/xsm/built_in.o
-ALL_OBJS-y               += $(BASEDIR)/arch/$(TARGET_ARCH)/built_in.o
-ALL_OBJS-$(CONFIG_CRYPTO)   += $(BASEDIR)/crypto/built_in.o
-
-ALL_LIBS-y               := $(BASEDIR)/lib/lib.a
-
 # Initialise some variables
 lib-y :=
 targets :=
 CFLAGS-y :=
 AFLAGS-y :=
 
-ALL_OBJS := $(ALL_OBJS-y)
-ALL_LIBS := $(ALL_LIBS-y)
-
 SPECIAL_DATA_SECTIONS := rodata $(foreach a,1 2 4 8 16, \
                                             $(foreach w,1 2 4, \
                                                         rodata.str$(w).$(a)) \
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index dc1d09c8b429..067c0d9844e4 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -73,14 +73,6 @@ ifneq ($(CONFIG_DTB_FILE),"")
 obj-y += dtb.o
 endif
 
-ALL_OBJS := $(TARGET_SUBARCH)/head.o $(ALL_OBJS)
-
-# head.o is built by descending into the sub-directory, depends on the part of
-# $(ALL_OBJS) that will eventually recurse into $(TARGET_SUBARCH)/ and build
-# head.o
-$(TARGET_SUBARCH)/head.o: $(BASEDIR)/arch/arm/built_in.o
-$(TARGET_SUBARCH)/head.o: ;
-
 ifdef CONFIG_LIVEPATCH
 all_symbols = --all-symbols
 ifdef CONFIG_FAST_SYMBOL_LOOKUP
@@ -96,33 +88,18 @@ ifeq ($(CONFIG_ARM_64),y)
 	ln -sf $(@F) $@.efi
 endif
 
-ifeq ($(CONFIG_LTO),y)
-# Gather all LTO objects together
-prelink_lto.o: $(ALL_OBJS) $(ALL_LIBS)
-	$(LD_LTO) -r -o $@ $(filter-out %.a,$^) --start-group $(filter %.a,$^) --end-group
-
-# Link it with all the binary objects
-prelink.o: $(patsubst %/built_in.o,%/built_in_bin.o,$(ALL_OBJS)) prelink_lto.o
-	$(call if_changed,ld)
-else
-prelink.o: $(ALL_OBJS) $(ALL_LIBS) FORCE
-	$(call if_changed,ld)
-endif
-
-targets += prelink.o
-
-$(TARGET)-syms: prelink.o xen.lds
-	$(LD) $(XEN_LDFLAGS) -T xen.lds -N prelink.o \
+$(TARGET)-syms: $(BASEDIR)/prelink.o xen.lds
+	$(LD) $(XEN_LDFLAGS) -T xen.lds -N $< \
 	    $(BASEDIR)/common/symbols-dummy.o -o $(@D)/.$(@F).0
 	$(NM) -pa --format=sysv $(@D)/.$(@F).0 \
 		| $(BASEDIR)/tools/symbols $(all_symbols) --sysv --sort >$(@D)/.$(@F).0.S
 	$(MAKE) -f $(BASEDIR)/Rules.mk $(@D)/.$(@F).0.o
-	$(LD) $(XEN_LDFLAGS) -T xen.lds -N prelink.o \
+	$(LD) $(XEN_LDFLAGS) -T xen.lds -N $< \
 	    $(@D)/.$(@F).0.o -o $(@D)/.$(@F).1
 	$(NM) -pa --format=sysv $(@D)/.$(@F).1 \
 		| $(BASEDIR)/tools/symbols $(all_symbols) --sysv --sort >$(@D)/.$(@F).1.S
 	$(MAKE) -f $(BASEDIR)/Rules.mk $(@D)/.$(@F).1.o
-	$(LD) $(XEN_LDFLAGS) -T xen.lds -N prelink.o $(build_id_linker) \
+	$(LD) $(XEN_LDFLAGS) -T xen.lds -N $< $(build_id_linker) \
 	    $(@D)/.$(@F).1.o -o $@
 	$(NM) -pa --format=sysv $(@D)/$(@F) \
 		| $(BASEDIR)/tools/symbols --all-symbols --xensyms --sysv --sort \
diff --git a/xen/arch/arm/arch.mk b/xen/arch/arm/arch.mk
index c3ac443b3788..ba3f140e2ea7 100644
--- a/xen/arch/arm/arch.mk
+++ b/xen/arch/arm/arch.mk
@@ -26,3 +26,5 @@ ifeq ($(CONFIG_ARM64_ERRATUM_843419),y)
         LDFLAGS += --fix-cortex-a53-843419
     endif
 endif
+
+ALL_OBJS-y := arch/arm/$(TARGET_SUBARCH)/head.o $(ALL_OBJS-y)
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 29aa67ea371e..823f8fed4144 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -126,37 +126,20 @@ ifneq ($(efi-y),)
 CFLAGS-$(XEN_BUILD_EFI) += -DXEN_BUILD_EFI
 endif # $(efi-y)
 
-ALL_OBJS := $(BASEDIR)/arch/x86/boot/built_in.o $(BASEDIR)/arch/x86/efi/built_in.o $(ALL_OBJS)
-
-ifeq ($(CONFIG_LTO),y)
-# Gather all LTO objects together
-prelink_lto.o: $(ALL_OBJS) $(ALL_LIBS)
-	$(LD_LTO) -r -o $@ $(filter-out %.a,$^) --start-group $(filter %.a,$^) --end-group
-
-# Link it with all the binary objects
-prelink.o: $(patsubst %/built_in.o,%/built_in_bin.o,$(ALL_OBJS)) prelink_lto.o FORCE
-	$(call if_changed,ld)
-else
-prelink.o: $(ALL_OBJS) $(ALL_LIBS) FORCE
-	$(call if_changed,ld)
-endif
-
-targets += prelink.o
-
-$(TARGET)-syms: prelink.o xen.lds
-	$(LD) $(XEN_LDFLAGS) -T xen.lds -N prelink.o $(build_id_linker) \
+$(TARGET)-syms: $(BASEDIR)/prelink.o xen.lds
+	$(LD) $(XEN_LDFLAGS) -T xen.lds -N $< $(build_id_linker) \
 	    $(BASEDIR)/common/symbols-dummy.o -o $(@D)/.$(@F).0
 	$(NM) -pa --format=sysv $(@D)/.$(@F).0 \
 		| $(BASEDIR)/tools/symbols $(all_symbols) --sysv --sort \
 		>$(@D)/.$(@F).0.S
 	$(MAKE) -f $(BASEDIR)/Rules.mk $(@D)/.$(@F).0.o
-	$(LD) $(XEN_LDFLAGS) -T xen.lds -N prelink.o $(build_id_linker) \
+	$(LD) $(XEN_LDFLAGS) -T xen.lds -N $< $(build_id_linker) \
 	    $(@D)/.$(@F).0.o -o $(@D)/.$(@F).1
 	$(NM) -pa --format=sysv $(@D)/.$(@F).1 \
 		| $(BASEDIR)/tools/symbols $(all_symbols) --sysv --sort $(syms-warn-dup-y) \
 		>$(@D)/.$(@F).1.S
 	$(MAKE) -f $(BASEDIR)/Rules.mk $(@D)/.$(@F).1.o
-	$(LD) $(XEN_LDFLAGS) -T xen.lds -N prelink.o $(build_id_linker) \
+	$(LD) $(XEN_LDFLAGS) -T xen.lds -N $< $(build_id_linker) \
 	    $(@D)/.$(@F).1.o -o $@
 	$(NM) -pa --format=sysv $(@D)/$(@F) \
 		| $(BASEDIR)/tools/symbols --all-symbols --xensyms --sysv --sort \
@@ -209,7 +192,7 @@ note_file_option ?= $(note_file)
 
 ifeq ($(XEN_BUILD_PE),y)
 extra-y += efi.lds
-$(TARGET).efi: prelink.o $(note_file) efi.lds efi/relocs-dummy.o efi/mkreloc
+$(TARGET).efi: $(BASEDIR)/prelink.o $(note_file) efi.lds efi/relocs-dummy.o efi/mkreloc
 ifeq ($(CONFIG_DEBUG_INFO),y)
 	$(if $(filter --strip-debug,$(EFI_LDFLAGS)),echo,:) "Will strip debug info from $(@F)"
 endif
@@ -238,7 +221,7 @@ $(TARGET).efi: FORCE
 	echo '$(if $(filter y,$(XEN_BUILD_EFI)),xen.efi generation,EFI support) disabled'
 endif
 
-efi/buildid.o efi/relocs-dummy.o: $(BASEDIR)/arch/x86/efi/built_in.o
+# These should already have been rebuilt when building the prerequisite of "prelink.o"
 efi/buildid.o efi/relocs-dummy.o: ;
 
 .PHONY: include
diff --git a/xen/arch/x86/arch.mk b/xen/arch/x86/arch.mk
index 98dd41d32118..61e0222f4a08 100644
--- a/xen/arch/x86/arch.mk
+++ b/xen/arch/x86/arch.mk
@@ -104,3 +104,5 @@ endif
 
 # Set up the assembler include path properly for older toolchains.
 CFLAGS += -Wa,-I$(BASEDIR)/include
+
+ALL_OBJS-y := arch/x86/boot/built_in.o arch/x86/efi/built_in.o $(ALL_OBJS-y)
diff --git a/xen/build.mk b/xen/build.mk
index 369e1fe5c698..9093d9f493bc 100644
--- a/xen/build.mk
+++ b/xen/build.mk
@@ -56,3 +56,27 @@ arch/$(TARGET_ARCH)/include/asm/asm-offsets.h: asm-offsets.s
 	  sed -rne "/^[^#].*==>/{s:.*==>(.*)<==.*:\1:; s: [\$$#]: :; p;}"; \
 	  echo ""; \
 	  echo "#endif") <$< >$@
+
+# head.o is built by descending into arch/arm/$(TARGET_SUBARCH), depends on the
+# part of $(ALL_OBJS) that will eventually recurse into $(TARGET_SUBARCH)/ and
+# build head.o
+arch/arm/$(TARGET_SUBARCH)/head.o: arch/arm/built_in.o
+arch/arm/$(TARGET_SUBARCH)/head.o: ;
+
+ifeq ($(CONFIG_LTO),y)
+# Gather all LTO objects together
+prelink_lto.o: $(ALL_OBJS) $(ALL_LIBS)
+	$(LD_LTO) -r -o $@ $(filter-out %.a,$^) --start-group $(filter %.a,$^) --end-group
+
+# Link it with all the binary objects
+prelink.o: $(patsubst %/built_in.o,%/built_in_bin.o,$(ALL_OBJS)) prelink_lto.o FORCE
+	$(call if_changed,ld)
+else
+prelink.o: $(ALL_OBJS) $(ALL_LIBS) FORCE
+	$(call if_changed,ld)
+endif
+
+targets += prelink.o
+
+$(TARGET): prelink.o FORCE
+	$(MAKE) -f $(BASEDIR)/Rules.mk -C arch/$(TARGET_ARCH) $@
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:02:12 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:02:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171044.312313 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUC4-0005zp-31; Tue, 24 Aug 2021 11:02:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171044.312313; Tue, 24 Aug 2021 11:02:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUC3-0005x9-E4; Tue, 24 Aug 2021 11:02:11 +0000
Received: by outflank-mailman (input) for mailman id 171044;
 Tue, 24 Aug 2021 11:02:09 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU3o-0001EC-Dm
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:53:40 +0000
Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 68f546d2-c207-4731-818d-fce33251a239;
 Tue, 24 Aug 2021 10:52: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: 68f546d2-c207-4731-818d-fce33251a239
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802320;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=eL+L/g0OFbmcLBVeQHSISwMI5xPrpz9PQZVTlfTI3z8=;
  b=Jgi6/5Y2vKTDWTOhRfLRlCXGw//4q0Z4lDgMgAkafGQPBaB0FTTs86UZ
   ot6eLHeSsKN3dYQA9zCQoBM5Z2Vi5JTvs2w5J6iu5DX5AGw9i5mWKOH20
   IUuVyyAjiGPPwD+AWEhJRVtbZQTeZLhrldGLE11XtzJ36SzPnWI3/s6dP
   I=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: aNYs++s88y0oUPr7KFWX8745FZRW9raGVnJRewvDoxXdGKdZY9Qh2m5uk7XPCfn1uh8FSHxFSP
 lbpWviy8UUjWqLpY/EYTOGrSlVGftFyF1L+9cBCo/j3s0VHO2aEP1R3HdCK5I+CIleukBoqRU/
 OPrLjjnR457CVBMgGFc+vEJIBqwVrvGIn8RP5ylVxdaWEzlEcOTG1ln0+tWyoo25qwdgmas6VD
 bRi2H/CC4oXC23TTqqUsqJqQ3yu0tqfAnt/QfJeh7WxgMHPx4YLLKk9Y1Md5VuIPp69PmFgxgO
 DCoTdw3twKRyOrHyEUg5/xGy
X-SBRS: 5.1
X-MesageID: 51130784
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:vD1lU6v/1S1IbKQAjDDIC7yE7skDTtV00zEX/kB9WHVpmszxra
 6TdZMgpHnJYVcqKQkdcL+7WJVoLUmxyXcx2/h1AV7AZniAhILLFvAA0WKK+VSJcEeSygce79
 YFT0EXMqyIMbEQt6fHCWeDfOrIuOP3kpyVuQ==
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51130784"
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>, "Ian
 Jackson" <iwj@xenproject.org>, 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>, Bob Eshleman
	<bobbyeshleman@gmail.com>, Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>
Subject: [XEN PATCH v7 35/51] build: Add headers path to CFLAGS once for all archs
Date: Tue, 24 Aug 2021 11:50:22 +0100
Message-ID: <20210824105038.1257926-36-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

This just remove duplication.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 xen/Makefile           | 3 +++
 xen/arch/arm/arch.mk   | 3 ---
 xen/arch/riscv/arch.mk | 2 --
 xen/arch/x86/arch.mk   | 2 --
 4 files changed, 3 insertions(+), 7 deletions(-)

diff --git a/xen/Makefile b/xen/Makefile
index 8381ffd5d168..28854d6cb29f 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -293,6 +293,9 @@ CFLAGS += -flto
 LDFLAGS-$(CONFIG_CC_IS_CLANG) += -plugin LLVMgold.so
 endif
 
+CFLAGS += -I$(srctree)/include
+CFLAGS += -I$(srctree)/arch/$(TARGET_ARCH)/include
+
 # Note that link order matters!
 ALL_OBJS-y                := common/built_in.o
 ALL_OBJS-y                += drivers/built_in.o
diff --git a/xen/arch/arm/arch.mk b/xen/arch/arm/arch.mk
index 4e3f7014305e..094b67072304 100644
--- a/xen/arch/arm/arch.mk
+++ b/xen/arch/arm/arch.mk
@@ -1,9 +1,6 @@
 ########################################
 # arm-specific definitions
 
-CFLAGS += -I$(srctree)/include
-CFLAGS += -I$(srctree)/arch/$(TARGET_ARCH)/include
-
 $(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS))
 $(call cc-option-add,CFLAGS,CC,-Wnested-externs)
 
diff --git a/xen/arch/riscv/arch.mk b/xen/arch/riscv/arch.mk
index 694ba053ceab..ae8fe9dec730 100644
--- a/xen/arch/riscv/arch.mk
+++ b/xen/arch/riscv/arch.mk
@@ -11,5 +11,3 @@ riscv-march-$(CONFIG_RISCV_ISA_C)       := $(riscv-march-y)c
 # -mcmodel=medlow would force Xen into the lower half.
 
 CFLAGS += -march=$(riscv-march-y) -mstrict-align -mcmodel=medany
-CFLAGS += -I$(srctree)/include
-CFLAGS += -I$(srctree)/arch/$(TARGET_ARCH)/include
diff --git a/xen/arch/x86/arch.mk b/xen/arch/x86/arch.mk
index 8bbf3e18e410..53b48ded28de 100644
--- a/xen/arch/x86/arch.mk
+++ b/xen/arch/x86/arch.mk
@@ -3,8 +3,6 @@
 
 export XEN_IMG_OFFSET := 0x200000
 
-CFLAGS += -I$(srctree)/include
-CFLAGS += -I$(srctree)/arch/$(TARGET_ARCH)/include
 CFLAGS += -I$(srctree)/arch/x86/include/asm/mach-generic
 CFLAGS += -I$(srctree)/arch/x86/include/asm/mach-default
 CFLAGS += -DXEN_IMG_OFFSET=$(XEN_IMG_OFFSET)
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:02:14 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:02:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171051.312321 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUC5-0006UQ-SY; Tue, 24 Aug 2021 11:02:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171051.312321; Tue, 24 Aug 2021 11:02:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUC5-0006PO-F6; Tue, 24 Aug 2021 11:02:13 +0000
Received: by outflank-mailman (input) for mailman id 171051;
 Tue, 24 Aug 2021 11:02:10 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU2b-0001EC-B2
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:52:25 +0000
Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 94b400f2-f700-47d4-a60a-3018c7968342;
 Tue, 24 Aug 2021 10:51: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: 94b400f2-f700-47d4-a60a-3018c7968342
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802284;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=iJZ2e3nfEOTMZ6VCfmOynps4uVIsfbwmPPxlvx4nL9s=;
  b=Oh8hDTdAgi+UdIkUmVkMGtBJMIaWbc1zqAKQcLENcSOvJbpqIDeA/K2s
   0i0h4xtAtYSzb0Q5/266qlyVGW2t6nAkE7IRiLW9itO4CY6HqUWF7UfSV
   Z/QIoSfOfUEkKs9K+J5P9/x9ZBRnU8mvr15VYhqQDEGdTsQ7WyvCobp86
   o=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: XV11iicS4d7/cF81GPwgEvK2EQEmjkOn5zSMUBM2cqRwD52fI8Dmvf9vaffgGbKUXbMnj3b9gc
 tBUv4yyQ9omLbj3f2wTr8gk/8ucwZ2rh0sW0NY9kfIcJSfynh5XJ+IObWqVxLLio88blA3PgZX
 6Kkv3VMArC1Y3MdwvUdU1ea3o0BvhmPq/afWLg52gJ2xiJ/bFGqnlqMnQRf9Y/VczP5R/SM6VS
 GQPm7sRmUkapCLGP+d93MLnAb5ffN3crUCt7oFzCikct7kIpMoRM1Xt1bKsw9z42snF5NjWji7
 kjLCqmOgr33lN8Mby/on6oAC
X-SBRS: 5.1
X-MesageID: 52875467
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:DCquc66/WD6OrsE5LAPXwM7XdLJyesId70hD6qhwISY7TiX+rb
 HIoB17726MtN9/YhAdcLy7VZVoBEmsl6KdgrNhWYtKPjOHhILAFugLhuHfKn/bakjDH4ZmpM
 FdmsNFZuEYY2IXsS+D2njaL+od
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="52875467"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: 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>, Wei Liu
	<wl@xen.org>
Subject: [XEN PATCH v7 19/51] build: fix arch/x86/note.o rule
Date: Tue, 24 Aug 2021 11:50:06 +0100
Message-ID: <20210824105038.1257926-20-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Avoid different spelling for the location of "xen-syms", and simply
use the dependency variable. This avoid the assumption about $(TARGET)
value.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---

Notes:
    v7:
    - fix typo in title

 xen/arch/x86/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index dfcbd01bb4ed..29aa67ea371e 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -164,7 +164,7 @@ $(TARGET)-syms: prelink.o xen.lds
 	rm -f $(@D)/.$(@F).[0-9]* $(@D)/..$(@F).[0-9]*
 
 note.o: $(TARGET)-syms
-	$(OBJCOPY) -O binary --only-section=.note.gnu.build-id  $(BASEDIR)/xen-syms $@.bin
+	$(OBJCOPY) -O binary --only-section=.note.gnu.build-id $< $@.bin
 	$(OBJCOPY) -I binary -O elf64-x86-64 -B i386:x86-64 \
 		--rename-section=.data=.note.gnu.build-id -S $@.bin $@
 	rm -f $@.bin
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:02:15 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:02:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171056.312328 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUC6-0006dY-SH; Tue, 24 Aug 2021 11:02:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171056.312328; Tue, 24 Aug 2021 11: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 1mIUC6-0006Zh-C8; Tue, 24 Aug 2021 11:02:14 +0000
Received: by outflank-mailman (input) for mailman id 171056;
 Tue, 24 Aug 2021 11:02:12 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU2M-0001EC-AW
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:52:10 +0000
Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id be739491-6fcf-47d3-924a-58cc87201d46;
 Tue, 24 Aug 2021 10:51:20 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: be739491-6fcf-47d3-924a-58cc87201d46
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802280;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=4K2WW2uFAO71Mw1Ci7VJHE6S1kjO2hGHCWlQ2ukScjo=;
  b=J4+2uQcfeNnESq08hNFzKzc9bNcencyAOCxfIsX1f1am37l1iZuwzqYI
   pB+7HDAl7vqCdCPB3v7gndIwe19psAJ11FHO7jCZHvop6wAmtZ2zRtVwW
   yKj13FCCvGH8asyMqyip3hwjOErg4PCzcnhy9Nu5krmnbaW0F5tmCvkUT
   8=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: BECysvkXl+SLk8oroUW9xH1BtvgHaX6XgzpAPVRXqScfK3SmFuUXzOvEh6lVKYxFJx33tY3Lr4
 YKv6mcxpS5X9hPlkLTqzOHUKZTT5jmJVkVY8RLzP3jIumyBcOnYxwh4BBk6Zu03KitEislh6zD
 0n37lx45qoyQ4/oDOIAqSCGqF0IOAf4S/3k8b7Vw9ca7KR/Z0EzPt6trrndppci/OXCZOlCNEO
 Mpau9Nl+dPaTtOpYemAeUtF+xsmlNPrFTjm582FCYshN2W2p38rPxizgw1kuRPCWa/xTyJJscC
 G8oWNjC521hlbYsfSTPpjnxj
X-SBRS: 5.1
X-MesageID: 50772186
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:MlMACa+0nqzPz1J3W4luk+AiI+orL9Y04lQ7vn2ZKSY5TiVXra
 CTdZUgpHvJYVMqMk3I9uruBEDtex3hHP1OkOws1NWZLWrbUQKTRekP0WKL+Vbd8kbFh4xgPM
 lbEpSXCLfLfCVHZcSR2njFLz73quP3j5xBho3lvglQpRkBUdAG0+/gYDzraXGfQmN9dPwEPa
 vZ3OVrjRy6d08aa8yqb0N1JdQq97Xw5evbiQdtPW9e1DWz
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="50772186"
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>, "Ian
 Jackson" <iwj@xenproject.org>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>
Subject: [XEN PATCH v7 16/51] build: generate "include/xen/compile.h" with if_changed
Date: Tue, 24 Aug 2021 11:50:03 +0100
Message-ID: <20210824105038.1257926-17-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

This will avoid regenerating "compile.h" if the content hasn't changed.

As it's currently the case, the file isn't regenerated during `sudo
make install` if it exist and does belong to a different user, thus we
can remove the target "delete-unfresh-files". Target "$(TARGET)" still
need a phony dependency, so add "FORCE".

Use "$(dot-target).tmp" as temporary file as this is already cover by
".*.tmp" partern in ".gitconfig".

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

Notes:
    v7:
    - Use $(if_changed,) instead of importing a new macro from Linux
      (filechk).
    - use $(dot-target).tmp as temporary file, that way is hiden, and
      already cover by .gitignore via ".*.tmp". (filechk was doing the same)
    - update .gitignore.

 .gitignore   |  1 -
 xen/Makefile | 34 +++++++++++++++++-----------------
 2 files changed, 17 insertions(+), 18 deletions(-)

diff --git a/.gitignore b/.gitignore
index bc964663d25c..59a22d1685e2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -332,7 +332,6 @@ xen/include/compat/*
 xen/include/config/
 xen/include/generated/
 xen/include/public/public
-xen/include/xen/*.new
 xen/include/xen/acm_policy.h
 xen/include/xen/compile.h
 xen/include/xen/lib/x86/cpuid-autogen.h
diff --git a/xen/Makefile b/xen/Makefile
index da1b8ddb97ff..b408d35b4af0 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -351,7 +351,7 @@ _debug:
 	$(OBJDUMP) -D -S $(TARGET)-syms > $(TARGET).s
 
 .PHONY: _clean
-_clean: delete-unfresh-files
+_clean:
 	$(MAKE) -C tools clean
 	$(MAKE) $(clean) include
 	$(MAKE) $(clean) common
@@ -368,7 +368,7 @@ _clean: delete-unfresh-files
 		-o -name "*.gcno" -o -name ".*.cmd" -o -name "lib.a" \) -exec rm -f {} \;
 	rm -f include/asm $(TARGET) $(TARGET).gz $(TARGET).efi $(TARGET).efi.map $(TARGET)-syms $(TARGET)-syms.map *~ core
 	rm -f asm-offsets.s arch/*/include/asm/asm-offsets.h
-	rm -f .banner
+	rm -f .banner include/xen/compile.h
 
 .PHONY: _distclean
 _distclean: clean
@@ -378,7 +378,7 @@ $(TARGET).gz: $(TARGET)
 	gzip -n -f -9 < $< > $@.new
 	mv $@.new $@
 
-$(TARGET): delete-unfresh-files
+$(TARGET): FORCE
 	$(MAKE) -C tools
 	$(MAKE) -f $(BASEDIR)/Rules.mk include/xen/compile.h
 	[ -e arch/$(TARGET_ARCH)/efi ] && for f in $$(cd common/efi; echo *.[ch]); \
@@ -391,14 +391,6 @@ $(TARGET): delete-unfresh-files
 	$(MAKE) -f $(BASEDIR)/Rules.mk arch/$(TARGET_ARCH)/include/asm/asm-offsets.h
 	$(MAKE) -f $(BASEDIR)/Rules.mk -C arch/$(TARGET_ARCH) $@
 
-# drivers/char/console.o contains static banner/compile info. Blow it away.
-# Don't refresh these files during e.g., 'sudo make install'
-.PHONY: delete-unfresh-files
-delete-unfresh-files:
-	@if [ ! -r include/xen/compile.h -o -O include/xen/compile.h ]; then \
-		rm -f include/xen/compile.h; \
-	fi
-
 quiet_cmd_banner = BANNER  $@
 define cmd_banner
     if which figlet >/dev/null 2>&1 ; then \
@@ -413,9 +405,11 @@ endef
 	$(call if_changed,banner)
 targets += .banner
 
-# compile.h contains dynamic build info. Rebuilt on every 'make' invocation.
-include/xen/compile.h: include/xen/compile.h.in .banner
-	@sed -e 's/@@date@@/$(XEN_BUILD_DATE)/g' \
+# Don't refresh this files during e.g., 'sudo make install'
+quiet_cmd_compile.h = UPD     $@
+define cmd_compile.h
+    if [ ! -r $@ -o -O $@ ]; then \
+	sed -e 's/@@date@@/$(XEN_BUILD_DATE)/g' \
 	    -e 's/@@time@@/$(XEN_BUILD_TIME)/g' \
 	    -e 's/@@whoami@@/$(XEN_WHOAMI)/g' \
 	    -e 's/@@domain@@/$(XEN_DOMAIN)/g' \
@@ -425,10 +419,16 @@ include/xen/compile.h: include/xen/compile.h.in .banner
 	    -e 's/@@subversion@@/$(XEN_SUBVERSION)/g' \
 	    -e 's/@@extraversion@@/$(XEN_EXTRAVERSION)/g' \
 	    -e 's!@@changeset@@!$(shell tools/scmversion $(XEN_ROOT) || echo "unavailable")!g' \
-	    < include/xen/compile.h.in > $@.new
+	    < $< > $(dot-target).tmp; \
+	sed -rf tools/process-banner.sed < .banner >> $(dot-target).tmp; \
+	mv -f $(dot-target).tmp $@; \
+    fi
+endef
+
+include/xen/compile.h: include/xen/compile.h.in .banner FORCE
 	@cat .banner
-	@sed -rf tools/process-banner.sed < .banner >> $@.new
-	@mv -f $@.new $@
+	$(call if_changed,compile.h)
+targets += include/xen/compile.h
 
 asm-offsets.s: arch/$(TARGET_ARCH)/$(TARGET_SUBARCH)/asm-offsets.c
 	$(CC) $(call cpp_flags,$(c_flags)) -S -g0 -o $@.new -MQ $@ $<
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:02:18 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:02:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171059.312342 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUCA-0007Lv-7a; Tue, 24 Aug 2021 11:02:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171059.312342; Tue, 24 Aug 2021 11:02:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUC9-0007H7-J7; Tue, 24 Aug 2021 11:02:17 +0000
Received: by outflank-mailman (input) for mailman id 171059;
 Tue, 24 Aug 2021 11:02:15 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU3U-0003Ux-DN
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:53:20 +0000
Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 4f03605a-04c9-11ec-a8c5-12813bfff9fa;
 Tue, 24 Aug 2021 10:52: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: 4f03605a-04c9-11ec-a8c5-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802320;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=tyXShWdhRptLb0PMlNJcfYjoy4z6ZbWALAV+zNWtrDI=;
  b=DH5w8fCyFAo+oBF+wcK04t+GG0PnDPNc2cdyvGoTlmXibC9STvWf4aG+
   UFO26C0Ar7I8K6iGDKrcYT72Vd/qWEh1pg0PBf2dMVuBZ3UcTBjroGoJU
   HsMXPQm4ZKQqjVTv6ag3nh6SE6fIkUmm1shZ6/vYIMQnahdBVUJ1pzj3x
   A=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: sEc01VfBThFuO0UAc+f5BJqKMOvCxA9LTQ87LdcF7g50tphwRarlTPCiWZ1HcBxnyTmFe73lbw
 fbu8ctAU6HoPp1m8lOmZUzzcIIQgUjPP85BEa/hgCB2zQPT4UiSL0inzxV98AeftDeoM5iwaLl
 TKuPtyhB3ZPNWGGjlF6CjrFH0UEmlNmScZJ6H1G4UAjMbSNmfHLXUMO1LX82MiEjIxMuVCAdjw
 w+uivzNnqTczGGbjxfhF+Rk/1RhljFd7sNbCzvUaFEsl7FBj3/zrACiT8B3ybdyqYnGkf7zIeg
 LbMTc2di2S1emxf2P08r9Pci
X-SBRS: 5.1
X-MesageID: 52875488
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:7axdtKmgzsAdnoH/tQq8Zi3QYDjpDfOQimdD5ihNYBxZY6Wkfp
 +V8cjzhCWftN9OYhodcIi7Sc+9qXO1z/5ICPoqTM6ftWjdySCVxe5ZnO/fKlHbdREWldQtn5
 uIEZIOb+EYZGIS5aqU3ODSKadC/DDzytHMuQ6o9QYOcegFUcBdxjY8LjzePlx9RQFAC5Z8Po
 Gb/NB7qz2pfmlSRtinB1EeNtKz6+HjpdbDW1orFhQn4A6BgXeD87jhCSWV2R8YTndm3aoiy2
 7YiAb0j5/T/M1TiyWsmVM73a4m2OcJ+eEzR/BkTfJlaAkEvzzYJbiJnYfy+Qzd7tvfrGrC2+
 O82yvId/4DkE85OFvF7CcFkjOQqgoG+jvsz0SVjmDkptG8TDUmC9BZjYYcaRfB7VE81esMpp
 6j8ljpw6a/Nymw6xgVJuK4Ji1Chw6xuz4vgOQTh3tQXc8Xb6JQt5UW+AdQHI0bFCz35Yg7GK
 02ZfusrMp+YBefdTTUr2NvyNujUjA6GQqHWFELvoiQ3yJNlH50wkMEzIgUn2sG9pg6V55Yjt
 60e5hAhfVLVIsbfKh9DOAOTY++DXHMWwvFNCaILVHuBMg8SgfwQl7MkccIDcSRCeI1JbcJ6e
 j8uWJjxB0PkhjVeLCzNbVwg2/waXT4RjLw180b/IR9ttTHNcrWDRE=
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="52875488"
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>, "Ian
 Jackson" <iwj@xenproject.org>, 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>
Subject: [XEN PATCH v7 25/51] build: rework test/livepatch/Makefile
Date: Tue, 24 Aug 2021 11:50:12 +0100
Message-ID: <20210824105038.1257926-26-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

This rework the livepatch/Makefile to make it less repetitive and make
use of the facilities. All the targets to be built are now listed in
$(extra-y) which will allow Rules.mk to build them without the need of
a local target in a future patch.

There are some changes/fixes in this patch:
- when "xen-syms" is used for a target, it is added to the dependency
  list of the target, which allow to rebuild the target when xen-syms
  changes. But if "xen-syms" is missing, make simply fails.
- modinfo.o wasn't removing it's $@.bin file like the other targets,
  this is now done.
- The command to build *.livepatch targets as been fixed to use
  $(XEN_LDFLAGS) rather than just $(LDFLAGS) which is a fallout from
  2740d96efdd3 ("xen/build: have the root Makefile generates the
  CFLAGS")

make will findout the dependencies of the *.livepatch files and thus
what to built by "looking" at the objects listed in the *-objs
variables. The actual dependencies is generated by the new
"multi_depend" macro.

"$(targets)" needs to be updated with the objects listed in the
different *-objs variables to allow make to load the .*.cmd dependency
files.

This patch copies the macro "multi_depend" from Linux 5.12.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 xen/scripts/Kbuild.include  |   9 ++
 xen/test/livepatch/Makefile | 213 ++++++++++++++----------------------
 2 files changed, 91 insertions(+), 131 deletions(-)

diff --git a/xen/scripts/Kbuild.include b/xen/scripts/Kbuild.include
index 83c7e1457baa..563b323f0501 100644
--- a/xen/scripts/Kbuild.include
+++ b/xen/scripts/Kbuild.include
@@ -151,3 +151,12 @@ why =                                                                        \
 
 echo-why = $(call escsq, $(strip $(why)))
 endif
+
+# Useful for describing the dependency of composite objects
+# Usage:
+#   $(call multi_depend, multi_used_targets, suffix_to_remove, suffix_to_add)
+define multi_depend
+$(foreach m, $(notdir $1), \
+	$(eval $(obj)/$m: \
+	$(addprefix $(obj)/, $(foreach s, $3, $($(m:%$(strip $2)=%$(s)))))))
+endef
diff --git a/xen/test/livepatch/Makefile b/xen/test/livepatch/Makefile
index 148dddb90473..e59245323e92 100644
--- a/xen/test/livepatch/Makefile
+++ b/xen/test/livepatch/Makefile
@@ -12,81 +12,29 @@ CODE_ADDR=$(shell nm --defined $(1) | grep $(2) | awk '{print "0x"$$1}')
 CODE_SZ=$(shell nm --defined -S $(1) | grep $(2) | awk '{ print "0x"$$2}')
 
 .PHONY: default
-
-LIVEPATCH := xen_hello_world.livepatch
-LIVEPATCH_BYE := xen_bye_world.livepatch
-LIVEPATCH_REPLACE := xen_replace_world.livepatch
-LIVEPATCH_NOP := xen_nop.livepatch
-LIVEPATCH_NO_XEN_BUILDID := xen_no_xen_buildid.livepatch
-LIVEPATCH_PREPOST_HOOKS := xen_prepost_hooks.livepatch
-LIVEPATCH_PREPOST_HOOKS_FAIL := xen_prepost_hooks_fail.livepatch
-LIVEPATCH_ACTION_HOOKS := xen_action_hooks.livepatch
-LIVEPATCH_ACTION_HOOKS_NOFUNC := xen_action_hooks_nofunc.livepatch
-LIVEPATCH_ACTION_HOOKS_MARKER:= xen_action_hooks_marker.livepatch
-LIVEPATCH_ACTION_HOOKS_NOAPPLY:= xen_action_hooks_noapply.livepatch
-LIVEPATCH_ACTION_HOOKS_NOREVERT:= xen_action_hooks_norevert.livepatch
-LIVEPATCH_EXPECTATIONS:= xen_expectations.livepatch
-LIVEPATCH_EXPECTATIONS_FAIL:= xen_expectations_fail.livepatch
-
-LIVEPATCHES += $(LIVEPATCH)
-LIVEPATCHES += $(LIVEPATCH_BYE)
-LIVEPATCHES += $(LIVEPATCH_REPLACE)
-LIVEPATCHES += $(LIVEPATCH_NOP)
-LIVEPATCHES += $(LIVEPATCH_NO_XEN_BUILDID)
-LIVEPATCHES += $(LIVEPATCH_PREPOST_HOOKS)
-LIVEPATCHES += $(LIVEPATCH_PREPOST_HOOKS_FAIL)
-LIVEPATCHES += $(LIVEPATCH_ACTION_HOOKS)
-LIVEPATCHES += $(LIVEPATCH_ACTION_HOOKS_NOFUNC)
-LIVEPATCHES += $(LIVEPATCH_ACTION_HOOKS_MARKER)
-LIVEPATCHES += $(LIVEPATCH_ACTION_HOOKS_NOAPPLY)
-LIVEPATCHES += $(LIVEPATCH_ACTION_HOOKS_NOREVERT)
-LIVEPATCHES += $(LIVEPATCH_EXPECTATIONS)
-LIVEPATCHES += $(LIVEPATCH_EXPECTATIONS_FAIL)
-
-LIVEPATCH_DEBUG_DIR ?= $(DEBUG_DIR)/xen-livepatch
-
 build default: livepatch
 
-install: livepatch
-	$(INSTALL_DIR) $(DESTDIR)$(LIVEPATCH_DEBUG_DIR)
-	$(INSTALL_DATA) $(LIVEPATCHES) $(DESTDIR)$(LIVEPATCH_DEBUG_DIR)
-
-uninstall:
-	cd $(DESTDIR)$(LIVEPATCH_DEBUG_DIR) && rm -f $(LIVEPATCHES)
-
-.PHONY: clean
-clean::
-	rm -f *.o .*.o.d *.livepatch config.h expect_config.h
+extra-y += xen_hello_world.livepatch
+xen_hello_world-objs := xen_hello_world_func.o xen_hello_world.o note.o xen_note.o modinfo.o
+$(obj)/xen_hello_world.o: $(obj)/config.h
 
 #
 # To compute these values we need the binary files: xen-syms
 # and xen_hello_world_func.o to be already compiled.
 #
-.PHONY: config.h
-config.h: OLD_CODE_SZ=$(call CODE_SZ,$(BASEDIR)/xen-syms,xen_extra_version)
-config.h: NEW_CODE_SZ=$(call CODE_SZ,$<,xen_hello_world)
-config.h: MINOR_VERSION_SZ=$(call CODE_SZ,$(BASEDIR)/xen-syms,xen_minor_version)
-config.h: MINOR_VERSION_ADDR=$(call CODE_ADDR,$(BASEDIR)/xen-syms,xen_minor_version)
-config.h: xen_hello_world_func.o
+$(obj)/config.h: $(obj)/xen_hello_world_func.o
 	(set -e; \
-	 echo "#define NEW_CODE_SZ $(NEW_CODE_SZ)"; \
-	 echo "#define MINOR_VERSION_SZ $(MINOR_VERSION_SZ)"; \
-	 echo "#define MINOR_VERSION_ADDR $(MINOR_VERSION_ADDR)"; \
-	 echo "#define OLD_CODE_SZ $(OLD_CODE_SZ)") > $@
+	 echo "#define NEW_CODE_SZ $(call CODE_SZ,$<,xen_hello_world)"; \
+	 echo "#define MINOR_VERSION_SZ $(call CODE_SZ,$(BASEDIR)/xen-syms,xen_minor_version)"; \
+	 echo "#define MINOR_VERSION_ADDR $(call CODE_ADDR,$(BASEDIR)/xen-syms,xen_minor_version)"; \
+	 echo "#define OLD_CODE_SZ $(call CODE_SZ,$(BASEDIR)/xen-syms,xen_extra_version)") > $@
 
-xen_hello_world.o: config.h
-
-.PHONY: $(LIVEPATCH)
-$(LIVEPATCH): xen_hello_world_func.o xen_hello_world.o note.o xen_note.o modinfo.o
-	$(LD) $(LDFLAGS) $(build_id_linker) -r -o $(LIVEPATCH) $^
-
-.PHONY: modinfo.o
-modinfo.o:
+$(obj)/modinfo.o:
 	(set -e; \
 	 printf "LIVEPATCH_RULEZ\0") > $@.bin
 	$(OBJCOPY) $(OBJCOPY_MAGIC) \
 		   --rename-section=.data=.modinfo,alloc,load,readonly,data,contents -S $@.bin $@
-	#rm -f $@.bin
+	rm -f $@.bin
 
 #
 # This target is only accessible if CONFIG_LIVEPATCH is defined, which
@@ -97,9 +45,8 @@ modinfo.o:
 # not be built (it is for EFI builds), and that we do not have
 # the note.o.bin to muck with (as it gets deleted)
 #
-.PHONY: note.o
-note.o:
-	$(OBJCOPY) -O binary --only-section=.note.gnu.build-id $(BASEDIR)/xen-syms $@.bin
+$(obj)/note.o: $(BASEDIR)/xen-syms
+	$(OBJCOPY) -O binary --only-section=.note.gnu.build-id $< $@.bin
 	$(OBJCOPY) $(OBJCOPY_MAGIC) \
 		   --rename-section=.data=.livepatch.depends,alloc,load,readonly,data,contents -S $@.bin $@
 	rm -f $@.bin
@@ -108,9 +55,8 @@ note.o:
 # Append .livepatch.xen_depends section
 # with Xen build-id derived from xen-syms.
 #
-.PHONY: xen_note.o
-xen_note.o:
-	$(OBJCOPY) -O binary --only-section=.note.gnu.build-id $(BASEDIR)/xen-syms $@.bin
+$(obj)/xen_note.o: $(BASEDIR)/xen-syms
+	$(OBJCOPY) -O binary --only-section=.note.gnu.build-id $< $@.bin
 	$(OBJCOPY) $(OBJCOPY_MAGIC) \
 		   --rename-section=.data=.livepatch.xen_depends,alloc,load,readonly,data,contents -S $@.bin $@
 	rm -f $@.bin
@@ -119,102 +65,107 @@ xen_note.o:
 # Extract the build-id of the xen_hello_world.livepatch
 # (which xen_bye_world will depend on).
 #
-.PHONY: hello_world_note.o
-hello_world_note.o: $(LIVEPATCH)
-	$(OBJCOPY) -O binary --only-section=.note.gnu.build-id $(LIVEPATCH) $@.bin
+$(obj)/hello_world_note.o: $(obj)/xen_hello_world.livepatch
+	$(OBJCOPY) -O binary --only-section=.note.gnu.build-id $< $@.bin
 	$(OBJCOPY) $(OBJCOPY_MAGIC) \
 		   --rename-section=.data=.livepatch.depends,alloc,load,readonly,data,contents -S $@.bin $@
 	rm -f $@.bin
 
-xen_bye_world.o: config.h
 
-.PHONY: $(LIVEPATCH_BYE)
-$(LIVEPATCH_BYE): xen_bye_world_func.o xen_bye_world.o hello_world_note.o xen_note.o
-	$(LD) $(LDFLAGS) $(build_id_linker) -r -o $(LIVEPATCH_BYE) $^
+extra-y += xen_bye_world.livepatch
+xen_bye_world-objs := xen_bye_world_func.o xen_bye_world.o hello_world_note.o xen_note.o
+$(obj)/xen_bye_world.o: $(obj)/config.h
 
-xen_replace_world.o: config.h
 
-.PHONY: $(LIVEPATCH_REPLACE)
-$(LIVEPATCH_REPLACE): xen_replace_world_func.o xen_replace_world.o note.o xen_note.o
-	$(LD) $(LDFLAGS) $(build_id_linker) -r -o $(LIVEPATCH_REPLACE) $^
+extra-y += xen_replace_world.livepatch
+xen_replace_world-objs := xen_replace_world_func.o xen_replace_world.o note.o xen_note.o
+$(obj)/xen_replace_world.o: $(obj)/config.h
 
-xen_nop.o: config.h
 
-.PHONY: $(LIVEPATCH_NOP)
-$(LIVEPATCH_NOP): xen_nop.o note.o xen_note.o
-	$(LD) $(LDFLAGS) $(build_id_linker) -r -o $(LIVEPATCH_NOP) $^
+extra-y += xen_nop.livepatch
+xen_nop-objs := xen_nop.o note.o xen_note.o
+$(obj)/xen_nop.o: $(obj)/config.h
 
 # This one always fails upon upload, because it deliberately
 # does not have a .livepatch.xen_depends (xen_note.o) section.
-xen_no_xen_buildid.o: config.h
-
-.PHONY: $(LIVEPATCH_NO_XEN_BUILDID)
-$(LIVEPATCH_NO_XEN_BUILDID): xen_nop.o note.o
-	$(LD) $(LDFLAGS) $(build_id_linker) -r -o $(LIVEPATCH_NO_XEN_BUILDID) $^
+extra-y += xen_no_xen_buildid.livepatch
+xen_no_xen_buildid-objs := xen_nop.o note.o
 
-xen_prepost_hooks.o: config.h
+$(obj)/xen_prepost_hooks.o: $(obj)/config.h
 
-.PHONY: $(LIVEPATCH_PREPOST_HOOKS)
-$(LIVEPATCH_PREPOST_HOOKS): xen_prepost_hooks.o xen_hello_world_func.o note.o xen_note.o
-	$(LD) $(LDFLAGS) $(build_id_linker) -r -o $(LIVEPATCH_PREPOST_HOOKS) $^
+extra-y += xen_prepost_hooks.livepatch
+xen_prepost_hooks-objs := xen_prepost_hooks.o xen_hello_world_func.o note.o xen_note.o
 
-xen_prepost_hooks_fail.o: config.h
+$(obj)/xen_prepost_hooks_fail.o: $(obj)/config.h
 
-.PHONY: $(LIVEPATCH_PREPOST_HOOKS_FAIL)
-$(LIVEPATCH_PREPOST_HOOKS_FAIL): xen_prepost_hooks_fail.o xen_hello_world_func.o note.o xen_note.o
-	$(LD) $(LDFLAGS) $(build_id_linker) -r -o $(LIVEPATCH_PREPOST_HOOKS_FAIL) $^
+extra-y += xen_prepost_hooks_fail.livepatch
+xen_prepost_hooks_fail-objs := xen_prepost_hooks_fail.o xen_hello_world_func.o note.o xen_note.o
 
-xen_action_hooks.o: config.h
+$(obj)/xen_action_hooks.o: $(obj)/config.h
 
-.PHONY: $(LIVEPATCH_ACTION_HOOKS)
-$(LIVEPATCH_ACTION_HOOKS): xen_action_hooks.o xen_hello_world_func.o note.o xen_note.o
-	$(LD) $(LDFLAGS) $(build_id_linker) -r -o $(LIVEPATCH_ACTION_HOOKS) $^
+extra-y += xen_action_hooks.livepatch
+xen_action_hooks-objs := xen_action_hooks.o xen_hello_world_func.o note.o xen_note.o
 
-xen_action_hooks_nofunc.o: config.h
+$(obj)/xen_action_hooks_nofunc.o: $(obj)/config.h
 
-.PHONY: $(LIVEPATCH_ACTION_HOOKS_NOFUNC)
-$(LIVEPATCH_ACTION_HOOKS_NOFUNC): xen_action_hooks_nofunc.o note.o xen_note.o
-	$(LD) $(LDFLAGS) $(build_id_linker) -r -o $(LIVEPATCH_ACTION_HOOKS_NOFUNC) $^
+extra-y += xen_action_hooks_nofunc.livepatch
+xen_action_hooks_nofunc-objs := xen_action_hooks_nofunc.o note.o xen_note.o
 
-xen_action_hooks_marker.o: config.h
+$(obj)/xen_action_hooks_marker.o: $(obj)/config.h
 
-.PHONY: $(LIVEPATCH_ACTION_HOOKS_MARKER)
-$(LIVEPATCH_ACTION_HOOKS_MARKER): xen_action_hooks_marker.o xen_hello_world_func.o note.o xen_note.o
-	$(LD) $(LDFLAGS) $(build_id_linker) -r -o $(LIVEPATCH_ACTION_HOOKS_MARKER) $^
+extra-y += xen_action_hooks_marker.livepatch
+xen_action_hooks_marker-objs := xen_action_hooks_marker.o xen_hello_world_func.o note.o xen_note.o
 
-xen_action_hooks_noapply.o: config.h
+$(obj)/xen_action_hooks_noapply.o: $(obj)/config.h
 
-.PHONY: $(LIVEPATCH_ACTION_HOOKS_NOAPPLY)
-$(LIVEPATCH_ACTION_HOOKS_NOAPPLY): xen_action_hooks_marker.o xen_hello_world_func.o note.o xen_note.o
-	$(LD) $(LDFLAGS) $(build_id_linker) -r -o $(LIVEPATCH_ACTION_HOOKS_NOAPPLY) $^
+extra-y += xen_action_hooks_noapply.livepatch
+xen_action_hooks_noapply-objs := xen_action_hooks_marker.o xen_hello_world_func.o note.o xen_note.o
 
-xen_action_hooks_norevert.o: config.h
+$(obj)/xen_action_hooks_norevert.o: $(obj)/config.h
 
-.PHONY: $(LIVEPATCH_ACTION_HOOKS_NOREVERT)
-$(LIVEPATCH_ACTION_HOOKS_NOREVERT): xen_action_hooks_marker.o xen_hello_world_func.o note.o xen_note.o
-	$(LD) $(LDFLAGS) $(build_id_linker) -r -o $(LIVEPATCH_ACTION_HOOKS_NOREVERT) $^
+extra-y += xen_action_hooks_norevert.livepatch
+xen_action_hooks_norevert-objs := xen_action_hooks_marker.o xen_hello_world_func.o note.o xen_note.o
 
 EXPECT_BYTES_COUNT := 8
 CODE_GET_EXPECT=$(shell $(OBJDUMP) -d --insn-width=1 $(1) | sed -n -e '/<'$(2)'>:$$/,/^$$/ p' | tail -n +2 | head -n $(EXPECT_BYTES_COUNT) | awk '{$$0=$$2; printf "%s", substr($$0,length-1)}' | sed 's/.\{2\}/0x&,/g' | sed 's/^/{/;s/,$$/}/g')
-.PHONY: expect_config.h
-expect_config.h: EXPECT_BYTES=$(call CODE_GET_EXPECT,$(BASEDIR)/xen-syms,xen_extra_version)
-expect_config.h:
+$(obj)/expect_config.h: $(BASEDIR)/xen-syms
 	(set -e; \
-	 echo "#define EXPECT_BYTES $(EXPECT_BYTES)"; \
+	 echo "#define EXPECT_BYTES $(call CODE_GET_EXPECT,$<,xen_extra_version)"; \
          echo "#define EXPECT_BYTES_COUNT $(EXPECT_BYTES_COUNT)") > $@
 
-xen_expectations.o: expect_config.h
+$(obj)/xen_expectations.o: $(obj)/expect_config.h
 
-.PHONY: $(LIVEPATCH_EXPECTATIONS)
-$(LIVEPATCH_EXPECTATIONS): xen_expectations.o xen_hello_world_func.o note.o xen_note.o
-	$(LD) $(LDFLAGS) $(build_id_linker) -r -o $(LIVEPATCH_EXPECTATIONS) $^
+extra-y += xen_expectations.livepatch
+xen_expectations-objs := xen_expectations.o xen_hello_world_func.o note.o xen_note.o
 
-.PHONY: $(LIVEPATCH_EXPECTATIONS_FAIL)
-$(LIVEPATCH_EXPECTATIONS_FAIL): xen_expectations_fail.o xen_hello_world_func.o note.o xen_note.o
-	$(LD) $(LDFLAGS) $(build_id_linker) -r -o $(LIVEPATCH_EXPECTATIONS_FAIL) $^
+extra-y += xen_expectations_fail.livepatch
+xen_expectations_fail-objs := xen_expectations_fail.o xen_hello_world_func.o note.o xen_note.o
+
+
+quiet_cmd_livepatch = LD      $@
+cmd_livepatch = $(LD) $(XEN_LDFLAGS) $(build_id_linker) -r -o $@ $(real-prereqs)
+
+$(obj)/%.livepatch: FORCE
+	$(call if_changed,livepatch)
+
+$(call multi_depend, $(filter %.livepatch,$(extra-y)), .livepatch, -objs)
+targets += $(sort $(foreach m,$(basename $(notdir $(filter %.livepatch,$(extra-y)))), \
+    $($(m)-objs)))
+
+LIVEPATCHES := $(filter %.livepatch,$(extra-y))
+
+LIVEPATCH_DEBUG_DIR ?= $(DEBUG_DIR)/xen-livepatch
 
 .PHONY: livepatch
-livepatch: $(LIVEPATCH) $(LIVEPATCH_BYE) $(LIVEPATCH_REPLACE) $(LIVEPATCH_NOP) $(LIVEPATCH_NO_XEN_BUILDID) \
-           $(LIVEPATCH_PREPOST_HOOKS) $(LIVEPATCH_PREPOST_HOOKS_FAIL) $(LIVEPATCH_ACTION_HOOKS) \
-           $(LIVEPATCH_ACTION_HOOKS_NOFUNC) $(LIVEPATCH_ACTION_HOOKS_MARKER) $(LIVEPATCH_ACTION_HOOKS_NOAPPLY) \
-           $(LIVEPATCH_ACTION_HOOKS_NOREVERT) $(LIVEPATCH_EXPECTATIONS) $(LIVEPATCH_EXPECTATIONS_FAIL)
+livepatch: $(LIVEPATCHES)
+
+install: $(addprefix $(obj)/,$(LIVEPATCHES))
+	$(INSTALL_DIR) $(DESTDIR)$(LIVEPATCH_DEBUG_DIR)
+	$(INSTALL_DATA) $(addprefix $(obj)/,$(LIVEPATCHES)) $(DESTDIR)$(LIVEPATCH_DEBUG_DIR)
+
+uninstall:
+	cd $(DESTDIR)$(LIVEPATCH_DEBUG_DIR) && rm -f $(LIVEPATCHES)
+
+.PHONY: clean
+clean::
+	rm -f *.o .*.o.d *.livepatch config.h expect_config.h
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:02:21 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:02:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171062.312350 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUCD-0007uR-3H; Tue, 24 Aug 2021 11:02:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171062.312350; Tue, 24 Aug 2021 11:02:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUCC-0007qM-4b; Tue, 24 Aug 2021 11:02:20 +0000
Received: by outflank-mailman (input) for mailman id 171062;
 Tue, 24 Aug 2021 11:02:16 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU3A-0003Ux-CM
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:53:00 +0000
Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 4d36b5c4-04c9-11ec-a8c5-12813bfff9fa;
 Tue, 24 Aug 2021 10:51: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: 4d36b5c4-04c9-11ec-a8c5-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802317;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=wW/BDoTYIi98jKK4f0OOhTS6gPpff2lS/nVP1UXR2wY=;
  b=fszwGlOZic1uPlXrJDOPWt6x8pI0BGZ1J9bzPmMwSqoQ1S+MznHvrxUs
   /9YTetgfk3pkbqfY3MezOLr63tZIsgjD0rvZQ8wa3cLnYEfvRt/0J1VhF
   iol8ts86quTMqciq3NahCrQT1HC4Gyw/ovnxsgJgeqfRqXV9ZDyncd8xd
   E=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: fQymMyhSu6fMPDLolqe1YislaJOwI/EgZchlmVuY6Wab/TP+cnxpPJ2lRwPtaOBxoeMo1YhjQl
 yvuGcnihz3OFywptmMXWTSgtQQWvU0sn+G14v9vtXhkNw/CoNEpkXdJwaPfEVpoRsoA9cfQOF/
 p7UAM7beDTDoygLjF16d3gE4Omom/WlX+9I99xkJ6w+x54C5UkwwX8jsenSf2nhKkeWjuiPRJS
 ojb5KM0x609N6kta08fvjC6t7rhYKJESVMouXPcsSQPeXyzZ/odDswHCqv5luGVpYi+0mBX8ft
 eS0fvyKbm5no6djwagup9CF2
X-SBRS: 5.1
X-MesageID: 51540934
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:VsPt26EnnaZvrrPUpLqFVJHXdLJyesId70hD6qkvc3Fom52j/f
 xGws5x6fatskd2ZJkh8erhBEDyewKkyXcV2/hbAV7MZniDhILFFu9fBOjZsnfd8k/Fh4lgPM
 5bGsATZ+EYZmIK7voSlTPIdurIt+P3kpxA692+815dCSVRL41w5QZwDQiWVmdsQhNdOJY/HJ
 2AouJaujuJYx0sH4iGL0hAe9KGi8zAlZrgbxJDLQUg8hOygTSh76O/OwSE3y0ZTyhEzd4ZgC
 f4ek3Cl+ueWsOAu1/hPlzontdrcRzau5l+7fm3+4kow/PX+0OVjcpaKvm/VXsO0ZmSAR4R4a
 LxSlEbTolOAjrqDxuIiAqo1A/63Dk07Xj+jVeenHv4uMT8ACk3EsxbmOtiA23kAmcbzaVBOZ
 hwrhWkXltsfGL9tTW448KNWwBhl0Kyr3ZnmekPj2ZHWY9bbLNKt4QQ8E5cDZ9FRUvBmcgaOf
 grCNuZ6OddcFucYXyctm5zwMa0VnB2GhudWEANtsGczjATlnFkyEkTwtAZgx47hdsAYogB4/
 6BPrVjlblIQMNTZaVhBP0ZSc/yEWDJSQKkChPmHb0mLtB0B5vpke+I3FwY3pDXRHU49upApH
 2aaiIkiYcbQTOQNeSemIZM7g3ABH6gWDiF8LAv26RE
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51540934"
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>, "Ian
 Jackson" <iwj@xenproject.org>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>
Subject: [XEN PATCH v7 34/51] build: start building the tools with the main makefiles
Date: Tue, 24 Aug 2021 11:50:21 +0100
Message-ID: <20210824105038.1257926-35-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

This will make out-of-tree build easier.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 xen/Makefile       |  8 ++++----
 xen/tools/Makefile | 17 ++---------------
 2 files changed, 6 insertions(+), 19 deletions(-)

diff --git a/xen/Makefile b/xen/Makefile
index 0da08bc39930..8381ffd5d168 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -200,7 +200,7 @@ endif # root-make-done
 
 PHONY += tools_fixdep
 tools_fixdep:
-	$(MAKE) -C tools fixdep
+	$(MAKE) $(build)=tools tools/fixdep
 
 ifeq ($(config-build),y)
 # ===========================================================================
@@ -228,7 +228,7 @@ ifeq ($(need-config),y)
 # "tools_fixdep" which is a .PHONY target and would force make to call
 # "defconfig" again to update $(KCONFIG_CONFIG).
 tools/fixdep:
-	$(MAKE) -C tools fixdep
+	$(MAKE) $(build)=tools tools/fixdep
 
 # Allow people to just run `make` as before and not force them to configure
 $(KCONFIG_CONFIG): tools/fixdep
@@ -391,7 +391,7 @@ _debug:
 
 .PHONY: _clean
 _clean:
-	$(MAKE) -C tools clean
+	$(MAKE) $(clean) tools
 	$(MAKE) $(clean) include
 	$(MAKE) $(clean) common
 	$(MAKE) $(clean) drivers
@@ -420,7 +420,7 @@ $(TARGET).gz: $(TARGET)
 	mv $@.new $@
 
 $(TARGET): tools_fixdep FORCE
-	$(MAKE) -C tools
+	$(MAKE) $(build)=tools
 	$(MAKE) $(build)=. include/xen/compile.h
 	[ -e arch/$(TARGET_ARCH)/efi ] && for f in $$(cd common/efi; echo *.[ch]); \
 		do test -r arch/$(TARGET_ARCH)/efi/$$f || \
diff --git a/xen/tools/Makefile b/xen/tools/Makefile
index 722f3664549d..a5078b7cb8de 100644
--- a/xen/tools/Makefile
+++ b/xen/tools/Makefile
@@ -1,15 +1,2 @@
-
-include $(XEN_ROOT)/Config.mk
-
-.PHONY: default
-default: symbols fixdep
-
-.PHONY: clean
-clean:
-	rm -f *.o symbols fixdep
-
-symbols: symbols.c
-	$(HOSTCC) $(HOSTCFLAGS) -o $@ $<
-
-fixdep: fixdep.c
-	$(HOSTCC) $(HOSTCFLAGS) -o $@ $<
+hostprogs-always-y += symbols
+hostprogs-always-y += fixdep
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:02:27 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:02:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171076.312372 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUCI-00013w-Tp; Tue, 24 Aug 2021 11:02:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171076.312372; Tue, 24 Aug 2021 11: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 1mIUCI-00013g-PU; Tue, 24 Aug 2021 11:02:26 +0000
Received: by outflank-mailman (input) for mailman id 171076;
 Tue, 24 Aug 2021 11:02:25 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU4c-0001EC-FE
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:54:30 +0000
Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 7ab1cb7c-51bc-48ca-a536-68a6494dc77a;
 Tue, 24 Aug 2021 10:52: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: 7ab1cb7c-51bc-48ca-a536-68a6494dc77a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802347;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=QuqoIfeDw8eF+DGgSYO4xUOtOIqvl/XeL88YQx7aEos=;
  b=S4V6X66ZAg8Jn0XYmLQeVsIDGVXLCm45J9GTtuwJNE7QSgQm3aY0EYHO
   N7UI9mGpbSrgaDDQ4x8jK6OkC1X1C20OvnlcBw1Le8YhOYkhJMn1KbXrr
   9rFnun0+cuM1rDmKKFkxG0+80lmMRM57DMI19vk9M1+w9jCAk/rp8XQSh
   0=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: vYYem8iODwV1MlhRS+TqWRAqy7e5fGxR41KiW/A6v4dHTHPmI7SD8+APb7NnHFGdhoek1K0fEF
 Vu4Q3Kf739eG61IZ1r/sYCvW3TmO0NXdgy/qnM/P6VNV8AnJshCTJGgeoZcHTcGj1h6a5aTqv2
 hAwNu95mBU488IIdQHP8MWVB4rQmuyikb0wyj1TfHBqAZKZ2m0p8YvPm21oKx36p9qEosX9iUS
 WadE4v6unyh0O8vr9src63Ipfz6HD3YfQfXiwCXTvVT2Gq+BpB51T/QnLrTf/7uzYppIAMqbOT
 Vtk992vpXswjk5JH3JQMIYvI
X-SBRS: 5.1
X-MesageID: 52875527
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:+8AyFKAxgx6APQrlHelW55DYdb4zR+YMi2TDt3oddfWaSKylfq
 GV7ZAmPHrP4gr5N0tOpTntAse9qBDnhPtICOsqTNSftWDd0QPFEGgL1+DfKlbbak/DH4BmtJ
 uJc8JFeaDN5VoRt7eH3OFveexQv+Vu88qT9JnjJ28Gd3AMV0n5hT0JcTpyFCdNNW97LKt8Lr
 WwzOxdqQGtfHwGB/7LfEXsD4D41qT2fIuNW29/OyIa
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="52875527"
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>, "Ian
 Jackson" <iwj@xenproject.org>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>
Subject: [XEN PATCH v7 48/51] build: Rework "headers*.chk" prerequisite in include/
Date: Tue, 24 Aug 2021 11:50:35 +0100
Message-ID: <20210824105038.1257926-49-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Listing public headers when out-of-tree build are involved becomes
more annoying where every path to every headers needs to start with
"$(srctree)/$(src)", or $(wildcard ) will not work. This means more
repetition.

This patch attempt to reduce the amount of duplication and make better
use of make's meta programming capability. The filters are now listed
in a variable and don't have to repeat the path to the headers files
as this is added later as needed.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 xen/include/Makefile | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/xen/include/Makefile b/xen/include/Makefile
index c3172f6636be..4e64a31ecab3 100644
--- a/xen/include/Makefile
+++ b/xen/include/Makefile
@@ -78,10 +78,21 @@ ifeq ($(XEN_TARGET_ARCH),$(XEN_COMPILE_ARCH))
 
 all: $(obj)/headers.chk $(obj)/headers99.chk $(obj)/headers++.chk
 
-PUBLIC_HEADERS := $(filter-out $(src)/public/arch-% $(src)/public/dom0_ops.h, $(wildcard $(src)/public/*.h $(src)/public/*/*.h))
+hdrs-path := $(srctree)/$(src)/public
 
-PUBLIC_C99_HEADERS := $(src)/public/io/9pfs.h $(src)/public/io/pvcalls.h
-PUBLIC_ANSI_HEADERS := $(filter-out $(src)/public/%ctl.h $(src)/public/xsm/% $(src)/public/%hvm/save.h $(PUBLIC_C99_HEADERS), $(PUBLIC_HEADERS))
+list-headers = $(wildcard $1/*.h $1/*/*.h)
+filter-headers = $(filter-out $(addprefix $(hdrs-path)/,$($1-filter)), $($1))
+
+c99-headers := io/9pfs.h io/pvcalls.h
+public-headers := $(call list-headers,$(hdrs-path))
+ansi-headers := $(public-headers)
+
+public-headers-filter := dom0_ops.h arch-%
+ansi-headers-filter := %ctl.h xsm/% %hvm/save.h $(public-headers-filter) $(c99-headers)
+
+PUBLIC_HEADERS := $(call filter-headers,public-headers)
+PUBLIC_ANSI_HEADERS := $(call filter-headers,ansi-headers)
+PUBLIC_C99_HEADERS := $(addprefix $(hdrs-path)/, $(c99-headers))
 
 $(src)/public/io/9pfs.h-prereq := string
 $(src)/public/io/pvcalls.h-prereq := string
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:02:27 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:02:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171077.312377 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUCJ-00019Q-Mf; Tue, 24 Aug 2021 11:02:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171077.312377; Tue, 24 Aug 2021 11: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 1mIUCJ-00017t-8Z; Tue, 24 Aug 2021 11:02:27 +0000
Received: by outflank-mailman (input) for mailman id 171077;
 Tue, 24 Aug 2021 11:02:25 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU3j-0001EC-Da
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:53:35 +0000
Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 7f3296c2-4a59-43ad-a4bf-4b8d046730d0;
 Tue, 24 Aug 2021 10:52: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: 7f3296c2-4a59-43ad-a4bf-4b8d046730d0
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802319;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=LKnefkuuFQC10LfXqSSu32yIG5VWHpcMy+rZtD5GY5M=;
  b=eEwAx4v1ZGiEb9pm3DxVtA7a2E1oZ8sqvm2mzMCSepGZemJFmbtgMBJ3
   z7DTIjO1zeAchluBKQWHemO/LMAEuiWT5ioFr3nQgCNX/0mQgl1rc0xyN
   R6AZPFPqofLkj/9fpQ4iX6fkkhcpn+sS7on+ZDdGhVO59SaSU//gMVFoR
   k=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: hrtj/xVk7OBG1Xzg12jeuHsxK9i1d5xzj3+P6ioyBFUBqzTemmlde9WUQb/eFXhjQg5X06y0bi
 EopKUQOBhRor8ZclJLs2ZDvzs9lRpYUZESt5X01z7CmkcA+x3FjsrVjVU/205gsp4hkRzfftiN
 vlLgZ5rZ6n93g2ZKjj/bdGT03NxwNMXZjRxajznNJUurdaaq/LXFae1s0N1TpTryUST9fexErr
 2Spxps7QL9qKca6knT1ZTJV+YjSLC86S8XKOGqVPtsMWi9yg9gdHy7jFMxWiXHfkdD7UkL9Kvs
 d7nWuQSPQimzGQRPzPOP5EmC
X-SBRS: 5.1
X-MesageID: 52875493
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:poDF1q2GPhQGKok5wq2zgwqjBLQkLtp133Aq2lEZdPRUGvb2qy
 nIpoV96faUskdpZJhOo7G90cW7LE80sKQFg7X5Xo3SODUO2lHJEGgK1+KLqFfd8m/Fh4tgPM
 9bAs5D4bbLY2SS4/yX3ODBKadC/OW6
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="52875493"
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>, "Ian
 Jackson" <iwj@xenproject.org>, 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: [XEN PATCH v7 28/51] build: rename __LINKER__ to LINKER_SCRIPT
Date: Tue, 24 Aug 2021 11:50:15 +0100
Message-ID: <20210824105038.1257926-29-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

For two reasons: this macro is used to generate a "linker script" and
is not by the linker, and name starting with an underscore '_' are
supposed to be reserved, so better avoid them when not needed.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 xen/Rules.mk                      | 2 +-
 xen/arch/arm/include/asm/config.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/Rules.mk b/xen/Rules.mk
index 9b8415160649..a62c761be8d1 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -257,7 +257,7 @@ $(obj)/%.s: $(src)/%.S FORCE
 
 # Linker scripts, .lds.S -> .lds
 quiet_cmd_cpp_lds_S = LDS     $@
-cmd_cpp_lds_S = $(CPP) -P $(call cpp_flags,$(a_flags)) -D__LINKER__ -MQ $@ -o $@ $<
+cmd_cpp_lds_S = $(CPP) -P $(call cpp_flags,$(a_flags)) -DLINKER_SCRIPT -MQ $@ -o $@ $<
 
 targets := $(filter-out $(PHONY), $(targets))
 
diff --git a/xen/arch/arm/include/asm/config.h b/xen/arch/arm/include/asm/config.h
index c7b77912013e..2aced0bc3b8b 100644
--- a/xen/arch/arm/include/asm/config.h
+++ b/xen/arch/arm/include/asm/config.h
@@ -191,7 +191,7 @@ extern unsigned long frametable_virt_end;
 #define watchdog_disable() ((void)0)
 #define watchdog_enable()  ((void)0)
 
-#if defined(__ASSEMBLY__) && !defined(__LINKER__)
+#if defined(__ASSEMBLY__) && !defined(LINKER_SCRIPT)
 #include <asm/asm_defns.h>
 #include <asm/macros.h>
 #endif
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:02:33 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:02:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171088.312394 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUCP-0002O8-5G; Tue, 24 Aug 2021 11:02:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171088.312394; Tue, 24 Aug 2021 11:02:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUCO-0002Ns-W2; Tue, 24 Aug 2021 11:02:32 +0000
Received: by outflank-mailman (input) for mailman id 171088;
 Tue, 24 Aug 2021 11:02:31 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU30-0003Ux-By
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:52:50 +0000
Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 4ac0e288-04c9-11ec-a8c5-12813bfff9fa;
 Tue, 24 Aug 2021 10:51: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: 4ac0e288-04c9-11ec-a8c5-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802313;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=3LBoylve6KlgEvEe96sCcK1Vf+QUAlZ8fbrbugBiOU8=;
  b=ILl5U66ImYEtUit2g3RKD2O0gx9AbhE7FHz54iadaqu1/NlLT77QOH93
   mu/6wjqHPNSAuJw/wdy38IKUcBm3MJXKdYelcoQs30F/LYI2CK0ys9lh6
   ioysvqhf4I04CLWNEW5906SeO2SpMkdHB8ODDdZsCY5gtJ6F5A7l6RJ1n
   M=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: RvwBttLgcRs/3mqKVUcYXvDwJUU4TpFPDc4SKEUbMFYI2GUFJuKf/RF4OcCOH4uVtkwuedPgDv
 n9vZBxdDQcsIPzuH5/ZaOaQrNg4bwAs9IfNpyS5djdhUp488pCU/Z0oQY/kq7ZA7sl7Rv+UV2l
 8IDghnXJVqnnF10go4VIyOuyoicIZtcKZnWSw9yqHIXuZX7O/aRIuECHfchroESDA3YJs3DX3q
 wvsrikqcPiUuRoUwbp0ItK4SLn4ww7bBZgLDfrJterQFuPOgnhfvG3HOUaiZERiQQSpX0L7gYD
 u0SlaERXl+nQbJPoapQ4JYVA
X-SBRS: 5.1
X-MesageID: 51130781
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:7WknQaEPu3uoe5RdpLqFVJHXdLJyesId70hD6qkvc3Fom52j/f
 xGws5x6fatskd2ZJkh8erhBEDyewKkyXcV2/hbAV7MZniDhILFFu9fBOjZsnfd8k/Fh4lgPM
 5bGsATZ+EYZmIK7voSlTPIdurIt+P3kpxA692+815dCSVRL41w5QZwDQiWVmdsQhNdOJY/HJ
 2AouJaujuJYx0sH4iGL0hAe9KGi8zAlZrgbxJDLQUg8hOygTSh76O/OwSE3y0ZTyhEzd4ZgC
 f4ek3Cl+ueWsOAu1/hPlzontdrcRzau5l+7fm3+4kow/PX+0OVjcpaKvm/VXsO0ZmSAR4R4a
 LxSlEbTolOAjrqDxuIiAqo1A/63Dk07Xj+jVeenHv4uMT8ACk3EsxbmOtiA23kAmcbzaVBOZ
 hwrhWkXltsfGL9tTW448KNWwBhl0Kyr3ZnmekPj2ZHWY9bbLNKt4QQ8E5cDZ9FRUvBmcgaOf
 grCNuZ6OddcFucYXyctm5zwMa0VnB2GhudWEANtsGczjATlnFkyEkTwtAZgx47hdsAYogB4/
 6BPrVjlblIQMNTZaVhBP0ZSc/yEWDJSQKkChPmHb0mLtB0B5vpke+I3FwY3pDXRHU49upApH
 2aaiIkiYcbQTOQNeSemIZM7g3ABH6gWDiF8LAv26RE
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51130781"
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>, "Ian
 Jackson" <iwj@xenproject.org>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>
Subject: [XEN PATCH v7 32/51] build: Remove KBUILD_ specific from Makefile.host
Date: Tue, 24 Aug 2021 11:50:19 +0100
Message-ID: <20210824105038.1257926-33-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

This will allow $(HOSTCFLAGS) to actually be used when building
programmes for the build-host.

The other variable don't exist in our build system.

Also remove $(KBUILD_EXTMOD) since it should always be empty.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 xen/scripts/Makefile.host | 26 ++++++++++++--------------
 1 file changed, 12 insertions(+), 14 deletions(-)

diff --git a/xen/scripts/Makefile.host b/xen/scripts/Makefile.host
index 61c7bff7a9bb..9d3730d28950 100644
--- a/xen/scripts/Makefile.host
+++ b/xen/scripts/Makefile.host
@@ -82,18 +82,16 @@ host-cxxshobjs	:= $(addprefix $(obj)/,$(host-cxxshobjs))
 #####
 # Handle options to gcc. Support building with separate output directory
 
-_hostc_flags   = $(KBUILD_HOSTCFLAGS)   $(HOST_EXTRACFLAGS)   \
+_hostc_flags   = $(HOSTCFLAGS)   $(HOST_EXTRACFLAGS)   \
                  $(HOSTCFLAGS_$(target-stem).o)
-_hostcxx_flags = $(KBUILD_HOSTCXXFLAGS) $(HOST_EXTRACXXFLAGS) \
+_hostcxx_flags = $(HOSTCXXFLAGS) $(HOST_EXTRACXXFLAGS) \
                  $(HOSTCXXFLAGS_$(target-stem).o)
 
 # $(objtree)/$(obj) for including generated headers from checkin source files
-ifeq ($(KBUILD_EXTMOD),)
 ifdef building_out_of_srctree
 _hostc_flags   += -I $(objtree)/$(obj)
 _hostcxx_flags += -I $(objtree)/$(obj)
 endif
-endif
 
 hostc_flags    = -Wp,-MD,$(depfile) $(_hostc_flags)
 hostcxx_flags  = -Wp,-MD,$(depfile) $(_hostcxx_flags)
@@ -104,17 +102,17 @@ hostcxx_flags  = -Wp,-MD,$(depfile) $(_hostcxx_flags)
 # Create executable from a single .c file
 # host-csingle -> Executable
 quiet_cmd_host-csingle 	= HOSTCC  $@
-      cmd_host-csingle	= $(HOSTCC) $(hostc_flags) $(KBUILD_HOSTLDFLAGS) -o $@ $< \
-		$(KBUILD_HOSTLDLIBS) $(HOSTLDLIBS_$(target-stem))
+      cmd_host-csingle	= $(HOSTCC) $(hostc_flags) $(HOSTLDFLAGS) -o $@ $< \
+		$(HOSTLDLIBS) $(HOSTLDLIBS_$(target-stem))
 $(host-csingle): $(obj)/%: $(src)/%.c FORCE
 	$(call if_changed_dep,host-csingle)
 
 # Link an executable based on list of .o files, all plain c
 # host-cmulti -> executable
 quiet_cmd_host-cmulti	= HOSTLD  $@
-      cmd_host-cmulti	= $(HOSTCC) $(KBUILD_HOSTLDFLAGS) -o $@ \
+      cmd_host-cmulti	= $(HOSTCC) $(HOSTLDFLAGS) -o $@ \
 			  $(addprefix $(obj)/, $($(target-stem)-objs)) \
-			  $(KBUILD_HOSTLDLIBS) $(HOSTLDLIBS_$(target-stem))
+			  $(HOSTLDLIBS) $(HOSTLDLIBS_$(target-stem))
 $(host-cmulti): FORCE
 	$(call if_changed,host-cmulti)
 $(call multi_depend, $(host-cmulti), , -objs)
@@ -129,10 +127,10 @@ $(host-cobjs): $(obj)/%.o: $(src)/%.c FORCE
 # Link an executable based on list of .o files, a mixture of .c and .cc
 # host-cxxmulti -> executable
 quiet_cmd_host-cxxmulti	= HOSTLD  $@
-      cmd_host-cxxmulti	= $(HOSTCXX) $(KBUILD_HOSTLDFLAGS) -o $@ \
+      cmd_host-cxxmulti	= $(HOSTCXX) $(HOSTLDFLAGS) -o $@ \
 			  $(foreach o,objs cxxobjs,\
 			  $(addprefix $(obj)/, $($(target-stem)-$(o)))) \
-			  $(KBUILD_HOSTLDLIBS) $(HOSTLDLIBS_$(target-stem))
+			  $(HOSTLDLIBS) $(HOSTLDLIBS_$(target-stem))
 $(host-cxxmulti): FORCE
 	$(call if_changed,host-cxxmulti)
 $(call multi_depend, $(host-cxxmulti), , -objs -cxxobjs)
@@ -163,9 +161,9 @@ $(host-cxxshobjs): $(obj)/%.o: $(src)/%.c FORCE
 # Link a shared library, based on position independent .o files
 # *.o -> .so shared library (host-cshlib)
 quiet_cmd_host-cshlib	= HOSTLLD -shared $@
-      cmd_host-cshlib	= $(HOSTCC) $(KBUILD_HOSTLDFLAGS) -shared -o $@ \
+      cmd_host-cshlib	= $(HOSTCC) $(HOSTLDFLAGS) -shared -o $@ \
 			  $(addprefix $(obj)/, $($(target-stem)-objs)) \
-			  $(KBUILD_HOSTLDLIBS) $(HOSTLDLIBS_$(target-stem).so)
+			  $(HOSTLDLIBS) $(HOSTLDLIBS_$(target-stem).so)
 $(host-cshlib): FORCE
 	$(call if_changed,host-cshlib)
 $(call multi_depend, $(host-cshlib), .so, -objs)
@@ -173,9 +171,9 @@ $(call multi_depend, $(host-cshlib), .so, -objs)
 # Link a shared library, based on position independent .o files
 # *.o -> .so shared library (host-cxxshlib)
 quiet_cmd_host-cxxshlib	= HOSTLLD -shared $@
-      cmd_host-cxxshlib	= $(HOSTCXX) $(KBUILD_HOSTLDFLAGS) -shared -o $@ \
+      cmd_host-cxxshlib	= $(HOSTCXX) $(HOSTLDFLAGS) -shared -o $@ \
 			  $(addprefix $(obj)/, $($(target-stem)-objs)) \
-			  $(KBUILD_HOSTLDLIBS) $(HOSTLDLIBS_$(target-stem).so)
+			  $(HOSTLDLIBS) $(HOSTLDLIBS_$(target-stem).so)
 $(host-cxxshlib): FORCE
 	$(call if_changed,host-cxxshlib)
 $(call multi_depend, $(host-cxxshlib), .so, -objs)
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:02:34 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:02:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171090.312398 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUCQ-0002TA-1t; Tue, 24 Aug 2021 11:02:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171090.312398; Tue, 24 Aug 2021 11:02:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUCP-0002Ql-Dy; Tue, 24 Aug 2021 11:02:33 +0000
Received: by outflank-mailman (input) for mailman id 171090;
 Tue, 24 Aug 2021 11:02:31 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU2v-0001EC-Bm
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:52:45 +0000
Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 714055d3-71f5-45a2-bd08-26768c2ca62e;
 Tue, 24 Aug 2021 10:51: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: 714055d3-71f5-45a2-bd08-26768c2ca62e
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802291;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=d0FIxQLgS3m06o66H2kdnXXxs+1FaFuXUvl+kfpgKh8=;
  b=UAjbkAVYCtnWFEUczhr5e9+0MQyYTQw2UoMNUKtnuN3RID3guRqxdxHE
   Onnl28jtAFHKLT4DsWWnsn4sJ+jVy6geXLvPw3108JbX9gh5avPOX/+Ks
   y3UmzdDUSmEAXSsQvhjNdssRHSzcbrpAdaQwbWv1F/JJdfAoItB7I0Ayn
   8=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: sYPAUQGBj8KLHLme6/xcfR/QGcAq8wnzdCvkDPbYeIk50CYLUT67Ripu0gmIXMxBWfo5f12QcB
 jzvaz45eZ+cMD7FkfMiFrT9msj2o1vHUKRz9k6Mw4ty3c51gssPkoSW5kxS2nuDVQKBZC37kij
 TNP2JBQCqlZrZbQbS89f9y46TB8f/ObKTI6WWMebZZagkItRLymaG7G+JLvz2DemNIVrI9ljLm
 swawhW9UP2ZjCS0p6XMqbHEe9AU++3+IGlt0LHD4Zu5NIh5hlTLdnFC4ARsCjj3uRB6MBAYYcN
 GBOltEcce20lUXdO+JRRLjM/
X-SBRS: 5.1
X-MesageID: 50772198
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:KEuBWatw5tiLkZxIESi97SUT7skDTtV00zEX/kB9WHVpmszxra
 6TdZMgpHnJYVcqKQkdcL+7WJVoLUmxyXcx2/h1AV7AZniAhILLFvAA0WKK+VSJcEeSygce79
 YFT0EXMqyIMbEQt6fHCWeDfOrIuOP3kpyVuQ==
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="50772198"
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>, "Ian
 Jackson" <iwj@xenproject.org>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>
Subject: [XEN PATCH v7 22/51] build: clean common temporary files from root makefile
Date: Tue, 24 Aug 2021 11:50:09 +0100
Message-ID: <20210824105038.1257926-23-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-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>
---
 xen/Makefile               | 1 +
 xen/scripts/Makefile.clean | 2 --
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/xen/Makefile b/xen/Makefile
index 1dad20a95be6..f07c9251c030 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -382,6 +382,7 @@ _clean:
 	$(MAKE) $(clean) test
 	$(MAKE) $(kconfig) clean
 	find . \( -name "*.o" -o -name ".*.d" -o -name ".*.d2" \
+		-o -name ".*.o.tmp" -o -name "*~" -o -name "core" \
 		-o -name "*.gcno" -o -name ".*.cmd" -o -name "lib.a" \) -exec rm -f {} \;
 	rm -f include/asm $(TARGET) $(TARGET).gz $(TARGET).efi $(TARGET).efi.map $(TARGET)-syms $(TARGET)-syms.map *~ core
 	rm -f asm-offsets.s arch/*/include/asm/asm-offsets.h
diff --git a/xen/scripts/Makefile.clean b/xen/scripts/Makefile.clean
index 027c200c0efc..b6df9e861e6e 100644
--- a/xen/scripts/Makefile.clean
+++ b/xen/scripts/Makefile.clean
@@ -14,10 +14,8 @@ include Makefile
 subdir-all := $(subdir-y) $(subdir-n) $(subdir-) \
               $(patsubst %/,%, $(filter %/, $(obj-y) $(obj-n) $(obj-)))
 
-DEPS_RM = $(DEPS) $(DEPS_INCLUDE)
 .PHONY: clean
 clean:: $(subdir-all)
-	rm -f *.o .*.o.tmp *~ core $(DEPS_RM)
 
 # Descending
 # ---------------------------------------------------------------------------
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:02:35 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:02:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171091.312402 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUCQ-0002fY-T7; Tue, 24 Aug 2021 11:02:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171091.312402; Tue, 24 Aug 2021 11:02:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUCQ-0002al-Ck; Tue, 24 Aug 2021 11:02:34 +0000
Received: by outflank-mailman (input) for mailman id 171091;
 Tue, 24 Aug 2021 11:02:32 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU3t-0003Ux-Do
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:53:45 +0000
Received: from esa6.hc3370-68.iphmx.com (unknown [216.71.155.175])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 5691fed0-04c9-11ec-a8c6-12813bfff9fa;
 Tue, 24 Aug 2021 10:52: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: 5691fed0-04c9-11ec-a8c6-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802332;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=JKae5i6vI6z84xnZFSIGHO3fodNWP34RAROxD/VJljA=;
  b=gu5SXIibA4VPLzV9BWYDCmDhM64u3BEQpHkPFZScFirSFm78SCtIrH/j
   oslytFuhHf2OnvtkDkoYFIwbHmZgTHe+7BBGSTH11PmGyLyracHHO8ZwU
   Fs0scFX0U7zXE5JK+L28bJoRl3u0M06HmkuEVYPKqwQmN3P1vuo9WyDD3
   0=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: sBd9LM/q+xd6T31KeR1NTNpwbKnsYI8CEIgHeVqYZUvX+P4xEF0szHPATeiBiwnZDdBC6UdAqq
 LsNqzL7J/Zgj/Eq0DX/z+wmM9zhdnKevPqh7Q8Bx9K2AnS+UFG9WnY/B+OqQFr2wENvaGmYm9I
 d/b/cMi0J+v8oZxcRBxHBzowIWWLG1H5y94HAkf1k5mu9SInwVVJA6DwC7TBnc98Av+Ve77IKT
 WYDPu0SdRjpaDHvtfyXXDIur3rUC+2nI3pMSSuGpuYYUJ3y0MVZSIdYC3mURJLPdlRcHW6iJiQ
 0T/KDwrxSHPps9A1vM1emIoW
X-SBRS: 5.1
X-MesageID: 51166408
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:zHusYqHDoOblToX6pLqFVJHXdLJyesId70hD6qkvc3Fom52j/f
 xGws5x6fatskd2ZJkh8erhBEDyewKkyXcV2/hbAV7MZniDhILFFu9fBOjZsnfd8k/Fh4lgPM
 5bGsATZ+EYZmIK7voSlTPIdurIt+P3kpxA692+815dCSVRL41w5QZwDQiWVmdsQhNdOJY/HJ
 2AouJaujuJYx0sH4iGL0hAe9KGi8zAlZrgbxJDLQUg8hOygTSh76O/OwSE3y0ZTyhEzd4ZgC
 f4ek3Cl+ueWsOAu1/hPlzontdrcRzau5l+7fm3+4kow/PX+0OVjcpaKvm/VXsO0ZmSAR4R4a
 LxSlEbTolOAjrqDxuIiAqo1A/63Dk07Xj+jVeenHv4uMT8ACk3EsxbmOtiA23kAmcbzaVBOZ
 hwrhWkXltsfGL9tTW448KNWwBhl0Kyr3ZnmekPj2ZHWY9bbLNKt4QQ8E5cDZ9FRUvBmcgaOf
 grCNuZ6OddcFucYXyctm5zwMa0VnB2GhudWEANtsGczjATlnFkyEkTwtAZgx47hdsAYogB4/
 6BPrVjlblIQMNTZaVhBP0ZSc/yEWDJSQKkChPmHb0mLtB0B5vpke+I3FwY3pDXRHU49upApH
 2aaiIkiYcbQTOQNeSemIZM7g3ABH6gWDiF8LAv26RE
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51166408"
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>, "Ian
 Jackson" <iwj@xenproject.org>, 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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [XEN PATCH v7 42/51] build: grab common EFI source files in arch specific dir
Date: Tue, 24 Aug 2021 11:50:29 +0100
Message-ID: <20210824105038.1257926-43-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Rather than preparing the efi source file, we will copy them as needed
from the build location.

Avoid the links as they seems fragile in out-of-tree builds. Also by
making a copy, we don't need to figure out the relative path or we
don't need to use absolute path.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 xen/Makefile              | 5 -----
 xen/arch/arm/efi/Makefile | 6 ++++++
 xen/arch/x86/efi/Makefile | 6 ++++++
 3 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/xen/Makefile b/xen/Makefile
index 950bee10ba38..4c1dd9ce2ea1 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -425,11 +425,6 @@ $(TARGET).gz: $(TARGET)
 $(TARGET): tools_fixdep FORCE
 	$(MAKE) $(build)=tools
 	$(MAKE) $(build)=. include/xen/compile.h
-	[ -e arch/$(TARGET_ARCH)/efi ] && for f in $$(cd common/efi; echo *.[ch]); \
-		do test -r arch/$(TARGET_ARCH)/efi/$$f || \
-		   ln -nsf ../../../common/efi/$$f arch/$(TARGET_ARCH)/efi/; \
-		done; \
-		true
 	$(MAKE) $(build)=include all
 	$(MAKE) $(build)=arch/$(TARGET_ARCH) include
 	$(MAKE) $(build)=. arch/$(TARGET_ARCH)/include/asm/asm-offsets.h
diff --git a/xen/arch/arm/efi/Makefile b/xen/arch/arm/efi/Makefile
index 1b1ed06feddc..36e15ac280cd 100644
--- a/xen/arch/arm/efi/Makefile
+++ b/xen/arch/arm/efi/Makefile
@@ -1,4 +1,10 @@
 CFLAGS-y += -fshort-wchar
+CFLAGS-y += -I$(srctree)/common/efi
 
 obj-y += boot.init.o pe.init.o ebmalloc.o runtime.o
 obj-$(CONFIG_ACPI) +=  efi-dom0.init.o
+
+$(obj)/%.c: common/efi/%.c
+	$(Q)cp -f $< $@
+
+.PRECIOUS: $(obj)/%.c
diff --git a/xen/arch/x86/efi/Makefile b/xen/arch/x86/efi/Makefile
index ac815f02cb5e..da05935a9348 100644
--- a/xen/arch/x86/efi/Makefile
+++ b/xen/arch/x86/efi/Makefile
@@ -1,4 +1,5 @@
 CFLAGS-y += -fshort-wchar
+CFLAGS-y += -I$(srctree)/common/efi
 
 quiet_cmd_objcopy_o_ihex = OBJCOPY $@
 cmd_objcopy_o_ihex = $(OBJCOPY) -I ihex -O binary $< $@
@@ -19,3 +20,8 @@ obj-$(XEN_BUILD_EFI) := $(filter-out %.init.o,$(EFIOBJ-y))
 obj-bin-$(XEN_BUILD_EFI) := $(filter %.init.o,$(EFIOBJ-y))
 extra-$(XEN_BUILD_EFI) += buildid.o relocs-dummy.o
 nocov-$(XEN_BUILD_EFI) += stub.o
+
+$(obj)/%.c: common/efi/%.c
+	$(Q)cp -f $< $@
+
+.PRECIOUS: $(obj)/%.c
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:02:37 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:02:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171093.312411 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUCS-0002vX-Bu; Tue, 24 Aug 2021 11:02:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171093.312411; Tue, 24 Aug 2021 11: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 1mIUCR-0002tH-I6; Tue, 24 Aug 2021 11:02:35 +0000
Received: by outflank-mailman (input) for mailman id 171093;
 Tue, 24 Aug 2021 11:02:32 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU4I-0001EC-Ep
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:54:10 +0000
Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id cca786e5-4f1f-443d-b239-80a662657c3a;
 Tue, 24 Aug 2021 10:52: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: cca786e5-4f1f-443d-b239-80a662657c3a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802325;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=YqkngmqbOyk80Ogs6wi6iUK65m5ymQyiAu3hB6RVHmg=;
  b=Jke90/pLQlPPITvYR2vtlKNYEiuOi0NK/SW7aLrBKd6bJuFI3sEmhRY/
   RwQ0qGvjJwfAz+7FafZcw1hQDo/XqHVQTJW1zHPv3F2AcUnKQnIdp+6BK
   ndQUx93MBDBkHRoStzo6Mn0PPasQjtLZ49pj2NXUz4NelBxkMC4pL0hfk
   A=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: tquOQgvreHZ6SpW/kIrdxcCK5RvNlb/9U9mUIcI6PsPfp6tv+tSBpkgUIWbEj4uu4v0crj6w1H
 l9s8ID0xDpqeK2mShpWmXt32T4+bA/nzQ9CE83Wmx169ROGkYTAmFwHy03lEiH+Ot+Kc/rMAhb
 MztP8LFrQXGtWiVPDN9vBscTjBxnIZbsgcDjbHDG8mBYDq1h7bl+fTbw9QKXFn5yUy3yozkxOV
 Lek9DPtjTXFuuvZHcgtD4ACt68R10dq/zyYF0Ndf+R7jtOks48J4u6cHtQGHN4ojNaY+Y2NSF6
 k4h2gJWCI+ESC7xJ3xalL90h
X-SBRS: 5.1
X-MesageID: 50772234
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:llMDB6sm5YNCNgSFYh7aJqhQ7skCyoMji2hC6mlwRA09TyXGra
 2TdaUgvyMc1gx7ZJh5o6HnBEGBKUm9yXcH2/hpAV7CZnishILGFvAH0WKP+VPd8k7Fh6RgPM
 VbAs9D4bTLZDAX4voSizPIcOrIteP3lZxA8t2urUuFIzsKV4hQqyNCTiqLGEx/QwdLQbAjEo
 CH28ZBrz28PVwKc8WSHBA+LqT+juyOsKijTQ8NBhYh5gXLpyiv8qTGHx+R2Qpbey9TwI0l7X
 POn2XCl+qeWrCAu1HhPl3ontRrcejau5h+7Qu3+4oowwDX+0eVjUJaKvi/VX4O0aWSAR0R4a
 HxSl8bTr9OAjXqDyyISFLWqnPd+Sdr5Hn4xVCCh3z/5cT/WTIhEsJEwZlUax3D9iMbzadBOY
 9wrhakXqBsfGT9deXGlqn1fgAvklDxrWspkOYVgXAaWYwCaKVJpYha+E9OCp8PEC/z9YhiSY
 BVfYnhzecTdUnfY2HSv2FpztDpVnMvHg2eSkxHvsCOyTBZkH1w0kNdzs0CmXUL8o47VvB/lq
 35G7UtkKsLQt4dbKp7CutEScyrCnbVSRaJK26WKUSPLtBzB5sMke+E3FwR3pDVRHUl9upPpH
 3xaiIqiYdpQTOSNSSn5uw1zjndBH66QSngjtpD4pQRgMyNeIbW
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="50772234"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: 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>, Wei Liu
	<wl@xen.org>
Subject: [XEN PATCH v7 38/51] build: use main rune to build host binary x86's mkelf32 and mkreloc
Date: Tue, 24 Aug 2021 11:50:25 +0100
Message-ID: <20210824105038.1257926-39-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-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>
---
 xen/arch/x86/Makefile | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 8d789d25a3ff..4ea8ade7202c 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -81,6 +81,10 @@ endif
 extra-y += asm-macros.i
 extra-y += xen.lds
 
+hostprogs-y += boot/mkelf32
+HOSTCFLAGS_efi/mkreloc.o := -g
+hostprogs-y += efi/mkreloc
+
 # Allows usercopy.c to includes itself
 $(obj)/usercopy.o: CFLAGS-y += -I.
 
@@ -253,16 +257,10 @@ $(obj)/efi.lds: AFLAGS-y += -DEFI
 $(obj)/xen.lds $(obj)/efi.lds: $(src)/xen.lds.S FORCE
 	$(call if_changed_dep,cpp_lds_S)
 
-$(obj)/boot/mkelf32: $(src)/boot/mkelf32.c
-	$(HOSTCC) $(HOSTCFLAGS) -o $@ $<
-
-$(obj)/efi/mkreloc: $(src)/efi/mkreloc.c
-	$(HOSTCC) $(HOSTCFLAGS) -g -o $@ $<
-
 .PHONY: clean
 clean::
-	rm -f *.lds boot/mkelf32
+	rm -f *.lds
 	rm -f asm-macros.i $(BASEDIR)/arch/x86/include/asm/asm-macros.*
 	rm -f $(BASEDIR)/.xen-syms.[0-9]* $(BASEDIR)/.xen.elf32
-	rm -f $(BASEDIR)/.xen.efi.[0-9]* efi/*.efi efi/mkreloc
+	rm -f $(BASEDIR)/.xen.efi.[0-9]* efi/*.efi
 	rm -f boot/cmdline.S boot/reloc.S boot/*.lnk boot/*.bin
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:02:38 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:02:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171094.312417 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUCT-0003AL-RO; Tue, 24 Aug 2021 11:02:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171094.312417; Tue, 24 Aug 2021 11:02:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUCS-00032N-EQ; Tue, 24 Aug 2021 11:02:36 +0000
Received: by outflank-mailman (input) for mailman id 171094;
 Tue, 24 Aug 2021 11:02:32 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU2M-0003Ux-Ab
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:52:10 +0000
Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 442c60b4-04c9-11ec-a8c5-12813bfff9fa;
 Tue, 24 Aug 2021 10:51: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: 442c60b4-04c9-11ec-a8c5-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802302;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=TdKNukszEld9JKRQzybBCq8nOH8Vx/Vy7pEcmmcTSeQ=;
  b=POCXIsBcF+KnfpAnYTIDoVsQUhQVYGoL5oB/Laq4hUHzfkIOuLJ+siDW
   zokBjs2vbByvEz7MbglYvck0P4U7NRBlOBGtPakovp7V0uLPzJ6AKsPq0
   XCPGn4DPN0keUswM3j89cywT1w17qo32rk5u2qwu3i+ybBE3lczjaidc7
   8=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: cBxXxjoUroqeXBGgAFM9kQk2YXi/+a7wGWu7SI0LFS8ceYx/5PJTcbXFboUEcTrtuna1iZhWv3
 v3lQTWYXWXF9Ud/MXV8wgXUvA7brA5Q2RjsHK7aAdqEpTdKxqPj5HAp52EUTs6Zas0V3Qb3eTd
 +6yLQix7z4jJgCNSDAnKOJ43hwd2WRsrQDcflsrYTczQlipA+xufFZiLR/ZTF/BcvjYGOGzF4T
 EdO+o3h3zJ7/tkEkkCzoQCehOq61LL3pFfOHoC3m3x0HFmMMpitbfc9u06xhqpUsD2YedM+yQ6
 etxDDhcFFcHS4QVcsB+Zt9ga
X-SBRS: 5.1
X-MesageID: 51153575
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:3PsJGa77GCZzInXraQPXwXSBI+orL9Y04lQ7vn2ZFiY5TiXIra
 qTdaogviMc0AxhPk3Jmbi7WJVoMkmsjKKdgLNhdotKMzOW3FdAQLsN0WKA+UyrJ8SdzJ876U
 4IScEXZLLN5DNB/KXHCXyDYrMdKa68gcKVbInlrktFfEVPUeVN/g15AgGUHgldXw9dH6c0E5
 Ka+45uuyegUW5/VLX2OlA1G8z44/HbnpPvZhALQzQ97hOVsD+u4LnmVzCFwxYlVS9Vy7tKyx
 mLr+W53NTsjxiI8G6d64bh1eUUpDIn8KoAOCW4sLlVFtwrsHfsWG0uYczHgNl/mpDW1L9jqq
 i2n/5nBbU/15qZRBDOnTL9nwbnyzog8Hnk1BuRhmbiu9XwQHYgB9NGnp8xSGqu16MMhqAJ7E
 tw5RPvi3OXN2KwoA3to9zTEx16nEu9pnQv1eYVknxESIMbLLtct5YW8k9ZGIoJWHuS0vFuLM
 B+SMXHoPpGe1KTaH7U+mFp3dy3R3w2WhOLWFILtMCZ2yVf2Hp500wbzsoCmWpozuN1d7BUo+
 Dfdqh4nrBHScEbKap7GecaWMOyTnfARBrdWVjiVGgP1Jt3SU4ljqSHnondyNvaBKDg/aFC66
 gpCmkoyFLaU3iedvGmzdlR9AzRTCGnQTHgo/sul6REhg==
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51153575"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Bob Eshleman
	<bobbyeshleman@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>, "George
 Dunlap" <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>, "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>, Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, "Ross
 Lagerwall" <ross.lagerwall@citrix.com>, Daniel De Graaf
	<dgdegra@tycho.nsa.gov>, "Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: [XEN PATCH v7 26/51] build: build everything from the root dir, use obj=$subdir
Date: Tue, 24 Aug 2021 11:50:13 +0100
Message-ID: <20210824105038.1257926-27-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

A subdirectory is now built by setting "$(obj)" instead of changing
directory. "$(obj)" should always be set when using "Rules.mk" and
thus a shortcut "$(build)" is introduced and should be used.

A new variable "$(need-builtin)" is introduce. It is to be used
whenever a "built_in.o" is wanted from a subdirectory. "built_in.o"
isn't the main target anymore, and thus only needs to depends on the
objects that should be part of "built_in.o".

Introduce $(srctree) and $(objtree) to replace $(BASEDIR) in cases a
relative path is better.

DEPS is updated as the existing macro to deal with it doesn't know
about $(obj).

There's some changes in "Rules.mk" which in addition to deal with
"$(obj)" also make it's looks more like "Makefile.build" from Linux
v5.12.

test/Makefile doesn't need special handling in order to build
everything under test/, Rules.mk will visit test/livepatch via
$(subdir-y), thus "tests" "all" and "build" target are removed.
"subtree-force-update" target isn't useful so it is removed as well.

test/livepatch/Makefile doesn't need default target anymore, Rules.mk
will build everything in $(extra-y) and thus all *.livepatch.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Acked-by: Bob Eshleman <bobbyeshleman@gmail.com>
---

Notes:
    v7:
    - Spell "Makefile.build" as "Rules.mk" in the warning in Rules.mk about
      undefined $(obj).
    - use $(srctree) for include/xen/config.h
    - handle $(nocov-y) and $(noubsan-y), needed to add $(obj)/

 xen/Makefile                |  28 ++++----
 xen/Rules.mk                | 134 ++++++++++++++++++++++++------------
 xen/arch/arm/Makefile       |   4 +-
 xen/arch/arm/arch.mk        |   4 +-
 xen/arch/riscv/arch.mk      |   4 +-
 xen/arch/x86/Makefile       |  11 +--
 xen/arch/x86/Rules.mk       |   4 +-
 xen/arch/x86/arch.mk        |  12 ++--
 xen/arch/x86/boot/Makefile  |   8 +--
 xen/build.mk                |  16 +++--
 xen/include/Makefile        |   6 +-
 xen/scripts/Kbuild.include  |   6 ++
 xen/test/Makefile           |   7 +-
 xen/test/livepatch/Makefile |   6 --
 xen/xsm/flask/Makefile      |   2 +-
 xen/xsm/flask/ss/Makefile   |   2 +-
 16 files changed, 153 insertions(+), 101 deletions(-)

diff --git a/xen/Makefile b/xen/Makefile
index f07c9251c030..eb9ea70aaa29 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -20,6 +20,10 @@ export PYTHON		?= $(PYTHON_INTERPRETER)
 export BASEDIR := $(CURDIR)
 export XEN_ROOT := $(BASEDIR)/..
 
+srctree := .
+objtree := .
+export srctree objtree
+
 # Do not use make's built-in rules and variables
 MAKEFLAGS += -rR
 
@@ -45,7 +49,7 @@ export KCONFIG_CONFIG ?= .config
 
 export CC CXX LD
 
-export TARGET := $(BASEDIR)/xen
+export TARGET := xen
 
 .PHONY: default
 default: build
@@ -236,7 +240,7 @@ endif
 CFLAGS += -nostdinc -fno-builtin -fno-common
 CFLAGS += -Werror -Wredundant-decls -Wno-pointer-arith
 $(call cc-option-add,CFLAGS,CC,-Wvla)
-CFLAGS += -pipe -D__XEN__ -include $(BASEDIR)/include/xen/config.h
+CFLAGS += -pipe -D__XEN__ -include $(srctree)/include/xen/config.h
 CFLAGS-$(CONFIG_DEBUG_INFO) += -g
 
 ifneq ($(CONFIG_CC_IS_CLANG),y)
@@ -339,10 +343,10 @@ _install: $(TARGET)$(CONFIG_XEN_INSTALL_SUFFIX)
 
 .PHONY: tests
 tests:
-	$(MAKE) -f $(BASEDIR)/Rules.mk -C test tests
+	$(MAKE) $(build)=test
 .PHONY: install-tests
 install-tests:
-	$(MAKE) -f $(BASEDIR)/Rules.mk -C test install
+	$(MAKE) $(build)=test install
 
 .PHONY: _uninstall
 _uninstall: D=$(DESTDIR)
@@ -398,16 +402,16 @@ $(TARGET).gz: $(TARGET)
 
 $(TARGET): FORCE
 	$(MAKE) -C tools
-	$(MAKE) -f $(BASEDIR)/Rules.mk include/xen/compile.h
+	$(MAKE) $(build)=. include/xen/compile.h
 	[ -e arch/$(TARGET_ARCH)/efi ] && for f in $$(cd common/efi; echo *.[ch]); \
 		do test -r arch/$(TARGET_ARCH)/efi/$$f || \
 		   ln -nsf ../../../common/efi/$$f arch/$(TARGET_ARCH)/efi/; \
 		done; \
 		true
-	$(MAKE) -f $(BASEDIR)/Rules.mk -C include
-	$(MAKE) -f $(BASEDIR)/Rules.mk -C arch/$(TARGET_ARCH) include
-	$(MAKE) -f $(BASEDIR)/Rules.mk arch/$(TARGET_ARCH)/include/asm/asm-offsets.h
-	$(MAKE) -f $(BASEDIR)/Rules.mk $@
+	$(MAKE) $(build)=include all
+	$(MAKE) $(build)=arch/$(TARGET_ARCH) include
+	$(MAKE) $(build)=. arch/$(TARGET_ARCH)/include/asm/asm-offsets.h
+	$(MAKE) $(build)=. $@
 
 SUBDIRS = xsm arch/$(TARGET_ARCH) common drivers lib test
 define all_sources
@@ -454,13 +458,13 @@ _MAP:
 	$(NM) -n $(TARGET)-syms | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' > System.map
 
 %.o %.i %.s: %.c FORCE
-	$(MAKE) -f $(BASEDIR)/Rules.mk -C $(*D) $(@F)
+	$(MAKE) $(build)=$(*D) $(*D)/$(@F)
 
 %.o %.s: %.S FORCE
-	$(MAKE) -f $(BASEDIR)/Rules.mk -C $(*D) $(@F)
+	$(MAKE) $(build)=$(*D) $(*D)/$(@F)
 
 %/: FORCE
-	$(MAKE) -f $(BASEDIR)/Rules.mk -C $* built_in.o built_in_bin.o
+	$(MAKE) $(build)=$* need-builtin=1
 
 .PHONY: cloc
 cloc:
diff --git a/xen/Rules.mk b/xen/Rules.mk
index 245efe705a1e..2e1435ff4ada 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -3,19 +3,29 @@
 # Makefile and are consumed by Rules.mk
 #
 
-obj := .
 src := $(obj)
 
+PHONY := __build
+__build:
+
 -include $(BASEDIR)/include/config/auto.conf
 
 include $(XEN_ROOT)/Config.mk
 include $(BASEDIR)/scripts/Kbuild.include
 
+ifndef obj
+$(warning kbuild: Rules.mk is included improperly)
+endif
+
 # Initialise some variables
+obj-y :=
 lib-y :=
 targets :=
+subdir-y :=
 CFLAGS-y :=
 AFLAGS-y :=
+nocov-y :=
+noubsan-y :=
 
 SPECIAL_DATA_SECTIONS := rodata $(foreach a,1 2 4 8 16, \
                                             $(foreach w,1 2 4, \
@@ -51,27 +61,54 @@ cmd_objcopy = $(OBJCOPY) $(OBJCOPYFLAGS) $< $@
 quiet_cmd_binfile = BINFILE $@
 cmd_binfile = $(SHELL) $(BASEDIR)/tools/binfile $(BINFILE_FLAGS) $@ $(2)
 
-define gendep
-    ifneq ($(1),$(subst /,:,$(1)))
-        DEPS += $(dir $(1)).$(notdir $(1)).d
-    endif
-endef
-$(foreach o,$(filter-out %/,$(obj-y) $(obj-bin-y) $(extra-y)),$(eval $(call gendep,$(o))))
+# Figure out what we need to build from the various variables
+# ===========================================================================
+
+# Libraries are always collected in one lib file.
+# Filter out objects already built-in
+lib-y := $(filter-out $(obj-y), $(sort $(lib-y)))
+
+# Subdirectories we need to descend into
+subdir-y := $(subdir-y) $(patsubst %/,%,$(filter %/, $(obj-y)))
 
 # Handle objects in subdirs
-# ---------------------------------------------------------------------------
-# o if we encounter foo/ in $(obj-y), replace it by foo/built_in.o
-#   and add the directory to the list of dirs to descend into: $(subdir-y)
-subdir-y := $(subdir-y) $(filter %/, $(obj-y))
+# - if we encounter foo/ in $(obj-y), replace it by foo/built_in.o
+ifdef need-builtin
 obj-y    := $(patsubst %/, %/built_in.o, $(obj-y))
+else
+obj-y    := $(filter-out %/, $(obj-y))
+endif
 
-# $(subdir-obj-y) is the list of objects in $(obj-y) which uses dir/ to
-# tell kbuild to descend
-subdir-obj-y := $(filter %/built_in.o, $(obj-y))
+# Add subdir path
 
-# Libraries are always collected in one lib file.
-# Filter out objects already built-in
-lib-y := $(filter-out $(obj-y), $(sort $(lib-y)))
+extra-y         := $(addprefix $(obj)/,$(extra-y))
+targets         := $(addprefix $(obj)/,$(targets))
+lib-y           := $(addprefix $(obj)/,$(lib-y))
+obj-y           := $(addprefix $(obj)/,$(obj-y))
+obj-bin-y       := $(addprefix $(obj)/,$(obj-bin-y))
+subdir-y        := $(addprefix $(obj)/,$(subdir-y))
+nocov-y         := $(addprefix $(obj)/,$(nocov-y))
+noubsan-y       := $(addprefix $(obj)/,$(noubsan-y))
+
+# subdir-builtin may contain duplications. Use $(sort ...)
+subdir-builtin := $(sort $(filter %/built_in.o, $(obj-y)))
+
+targets-for-builtin := $(extra-y)
+
+ifneq ($(strip $(lib-y)),)
+    targets-for-builtin += $(obj)/lib.a
+endif
+
+ifdef need-builtin
+    targets-for-builtin += $(obj)/built_in.o
+    ifneq ($(strip $(obj-bin-y)),)
+        ifeq ($(CONFIG_LTO),y)
+            targets-for-builtin += $(obj)/built_in_bin.o
+        endif
+    endif
+endif
+
+targets += $(targets-for-builtin)
 
 $(filter %.init.o,$(obj-y) $(obj-bin-y) $(extra-y)): CFLAGS-y += -DINIT_SECTIONS_ONLY
 
@@ -123,29 +160,28 @@ quiet_cmd_cc_builtin = CC      $@
 cmd_cc_builtin = \
     $(CC) $(XEN_CFLAGS) -c -x c /dev/null -o $@
 
+# To build objects in subdirs, we need to descend into the directories
+$(subdir-builtin): $(obj)/%/built_in.o: $(obj)/% ;
+
 quiet_cmd_ld_builtin = LD      $@
 ifeq ($(CONFIG_LTO),y)
 cmd_ld_builtin = \
-    $(LD_LTO) -r -o $@ $(filter $(obj-y),$(real-prereqs))
+    $(LD_LTO) -r -o $@ $(real-prereqs)
 else
 cmd_ld_builtin = \
-    $(LD) $(XEN_LDFLAGS) -r -o $@ $(filter $(obj-y),$(real-prereqs))
+    $(LD) $(XEN_LDFLAGS) -r -o $@ $(real-prereqs)
 endif
 
-built_in.o: $(obj-y) $(if $(strip $(lib-y)),lib.a) $(extra-y) FORCE
+$(obj)/built_in.o: $(obj-y) FORCE
 	$(call if_changed,$(if $(strip $(obj-y)),ld_builtin,cc_builtin))
 
-lib.a: $(lib-y) FORCE
+$(obj)/lib.a: $(lib-y) FORCE
 	$(call if_changed,ar)
 
-targets += built_in.o
-ifneq ($(strip $(lib-y)),)
-targets += lib.a
-endif
-targets += $(filter-out $(subdir-obj-y), $(obj-y) $(lib-y)) $(extra-y)
-targets += $(MAKECMDGOALS)
+targets += $(filter-out $(subdir-builtin), $(obj-y))
+targets += $(lib-y) $(MAKECMDGOALS)
 
-built_in_bin.o: $(obj-bin-y) $(extra-y)
+$(obj)/built_in_bin.o: $(obj-bin-y)
 ifeq ($(strip $(obj-bin-y)),)
 	$(CC) $(a_flags) -c -x assembler /dev/null -o $@
 else
@@ -156,21 +192,13 @@ endif
 PHONY += FORCE
 FORCE:
 
-%/built_in.o %/lib.a: FORCE
-	$(MAKE) -f $(BASEDIR)/Rules.mk -C $* built_in.o
-
-%/built_in_bin.o: FORCE
-	$(MAKE) -f $(BASEDIR)/Rules.mk -C $* built_in_bin.o
-
-SRCPATH := $(patsubst $(BASEDIR)/%,%,$(CURDIR))
-
 quiet_cmd_cc_o_c = CC      $@
 ifeq ($(CONFIG_ENFORCE_UNIQUE_SYMBOLS),y)
     cmd_cc_o_c = $(CC) $(c_flags) -c $< -o $(dot-target).tmp -MQ $@
     ifeq ($(CONFIG_CC_IS_CLANG),y)
-        cmd_objcopy_fix_sym = $(OBJCOPY) --redefine-sym $<=$(SRCPATH)/$< $(dot-target).tmp $@
+        cmd_objcopy_fix_sym = $(OBJCOPY) --redefine-sym $(<F)=$< $(dot-target).tmp $@
     else
-        cmd_objcopy_fix_sym = $(OBJCOPY) --redefine-sym $(<F)=$(SRCPATH)/$< $(dot-target).tmp $@
+        cmd_objcopy_fix_sym = $(OBJCOPY) --redefine-sym $(<F)=$< $(dot-target).tmp $@
     endif
     cmd_objcopy_fix_sym += && rm -f $(dot-target).tmp
 else
@@ -182,13 +210,13 @@ define rule_cc_o_c
     $(call cmd,objcopy_fix_sym)
 endef
 
-%.o: %.c FORCE
+$(obj)/%.o: $(src)/%.c FORCE
 	$(call if_changed_rule,cc_o_c)
 
 quiet_cmd_cc_o_S = CC      $@
 cmd_cc_o_S = $(CC) $(a_flags) -c $< -o $@
 
-%.o: %.S FORCE
+$(obj)/%.o: $(src)/%.S FORCE
 	$(call if_changed,cc_o_S)
 
 
@@ -206,7 +234,7 @@ define cmd_obj_init_o
     $(OBJCOPY) $(foreach s,$(SPECIAL_DATA_SECTIONS),--rename-section .$(s)=.init.$(s)) $< $@
 endef
 
-$(filter %.init.o,$(obj-y) $(obj-bin-y) $(extra-y)): %.init.o: %.o FORCE
+$(filter %.init.o,$(obj-y) $(obj-bin-y) $(extra-y)): $(obj)/%.init.o: $(obj)/%.o FORCE
 	$(call if_changed,obj_init_o)
 
 quiet_cmd_cpp_i_c = CPP     $@
@@ -218,19 +246,21 @@ cmd_cc_s_c = $(CC) $(filter-out -Wa$(comma)%,$(c_flags)) -S $< -o $@
 quiet_cmd_cpp_s_S = CPP     $@
 cmd_cpp_s_S = $(CPP) $(call cpp_flags,$(a_flags)) -MQ $@ -o $@ $<
 
-%.i: %.c FORCE
+$(obj)/%.i: $(src)/%.c FORCE
 	$(call if_changed,cpp_i_c)
 
-%.s: %.c FORCE
+$(obj)/%.s: $(src)/%.c FORCE
 	$(call if_changed,cc_s_c)
 
-%.s: %.S FORCE
+$(obj)/%.s: $(src)/%.S FORCE
 	$(call if_changed,cpp_s_S)
 
 # Linker scripts, .lds.S -> .lds
 quiet_cmd_cpp_lds_S = LDS     $@
 cmd_cpp_lds_S = $(CPP) -P $(call cpp_flags,$(a_flags)) -D__LINKER__ -MQ $@ -o $@ $<
 
+targets := $(filter-out $(PHONY), $(targets))
+
 # Add intermediate targets:
 # When building objects with specific suffix patterns, add intermediate
 # targets that the final targets are derived from.
@@ -240,7 +270,18 @@ intermediate_targets = $(foreach sfx, $(2), \
 # %.init.o <- %.o
 targets += $(call intermediate_targets, .init.o, .o)
 
--include $(DEPS_INCLUDE)
+# Build
+# ---------------------------------------------------------------------------
+
+__build: $(targets-for-builtin) $(subdir-y)
+	@:
+
+# Descending
+# ---------------------------------------------------------------------------
+
+PHONY += $(subdir-y)
+$(subdir-y):
+	$(Q)$(MAKE) $(build)=$@ need-builtin=$(if $(filter $@/built_in.o, $(subdir-builtin)),1)
 
 # Read all saved command lines and dependencies for the $(targets) we
 # may be building above, using $(if_changed{,_dep}). As an
@@ -251,6 +292,9 @@ existing-targets := $(wildcard $(sort $(targets)))
 
 -include $(foreach f,$(existing-targets),$(dir $(f)).$(notdir $(f)).cmd)
 
+DEPS:= $(foreach f,$(existing-targets),$(dir $(f)).$(notdir $(f)).d)
+-include $(DEPS_INCLUDE)
+
 # Declare the contents of the PHONY variable as phony.  We keep that
 # information in a variable so we can use it in if_changed and friends.
 .PHONY: $(PHONY)
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 9f9c73aa6c5d..a3204d22d17b 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -93,12 +93,12 @@ $(TARGET)-syms: $(BASEDIR)/prelink.o $(obj)/xen.lds
 	    $(BASEDIR)/common/symbols-dummy.o -o $(@D)/.$(@F).0
 	$(NM) -pa --format=sysv $(@D)/.$(@F).0 \
 		| $(BASEDIR)/tools/symbols $(all_symbols) --sysv --sort >$(@D)/.$(@F).0.S
-	$(MAKE) -f $(BASEDIR)/Rules.mk $(@D)/.$(@F).0.o
+	$(MAKE) $(build)=$(@D) $(@D)/.$(@F).0.o
 	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
 	    $(@D)/.$(@F).0.o -o $(@D)/.$(@F).1
 	$(NM) -pa --format=sysv $(@D)/.$(@F).1 \
 		| $(BASEDIR)/tools/symbols $(all_symbols) --sysv --sort >$(@D)/.$(@F).1.S
-	$(MAKE) -f $(BASEDIR)/Rules.mk $(@D)/.$(@F).1.o
+	$(MAKE) $(build)=$(@D) $(@D)/.$(@F).1.o
 	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) \
 	    $(@D)/.$(@F).1.o -o $@
 	$(NM) -pa --format=sysv $(@D)/$(@F) \
diff --git a/xen/arch/arm/arch.mk b/xen/arch/arm/arch.mk
index ba3f140e2ea7..4e3f7014305e 100644
--- a/xen/arch/arm/arch.mk
+++ b/xen/arch/arm/arch.mk
@@ -1,8 +1,8 @@
 ########################################
 # arm-specific definitions
 
-CFLAGS += -I$(BASEDIR)/include
-CFLAGS += -I$(BASEDIR)/arch/$(TARGET_ARCH)/include
+CFLAGS += -I$(srctree)/include
+CFLAGS += -I$(srctree)/arch/$(TARGET_ARCH)/include
 
 $(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS))
 $(call cc-option-add,CFLAGS,CC,-Wnested-externs)
diff --git a/xen/arch/riscv/arch.mk b/xen/arch/riscv/arch.mk
index 39ae6ffea94d..694ba053ceab 100644
--- a/xen/arch/riscv/arch.mk
+++ b/xen/arch/riscv/arch.mk
@@ -11,5 +11,5 @@ riscv-march-$(CONFIG_RISCV_ISA_C)       := $(riscv-march-y)c
 # -mcmodel=medlow would force Xen into the lower half.
 
 CFLAGS += -march=$(riscv-march-y) -mstrict-align -mcmodel=medany
-CFLAGS += -I$(BASEDIR)/include
-CFLAGS += -I$(BASEDIR)/arch/$(TARGET_ARCH)/include
+CFLAGS += -I$(srctree)/include
+CFLAGS += -I$(srctree)/arch/$(TARGET_ARCH)/include
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index bb2da0d013fb..f60084eb73e7 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -81,6 +81,9 @@ endif
 extra-y += asm-macros.i
 extra-y += xen.lds
 
+# Allows usercopy.c to includes itself
+$(obj)/usercopy.o: CFLAGS-y += -I.
+
 ifneq ($(CONFIG_HVM),y)
 $(obj)/x86_emulate.o: CFLAGS-y += -Wno-unused-label
 endif
@@ -132,13 +135,13 @@ $(TARGET)-syms: $(BASEDIR)/prelink.o $(obj)/xen.lds
 	$(NM) -pa --format=sysv $(@D)/.$(@F).0 \
 		| $(BASEDIR)/tools/symbols $(all_symbols) --sysv --sort \
 		>$(@D)/.$(@F).0.S
-	$(MAKE) -f $(BASEDIR)/Rules.mk $(@D)/.$(@F).0.o
+	$(MAKE) $(build)=$(@D) $(@D)/.$(@F).0.o
 	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) \
 	    $(@D)/.$(@F).0.o -o $(@D)/.$(@F).1
 	$(NM) -pa --format=sysv $(@D)/.$(@F).1 \
 		| $(BASEDIR)/tools/symbols $(all_symbols) --sysv --sort $(syms-warn-dup-y) \
 		>$(@D)/.$(@F).1.S
-	$(MAKE) -f $(BASEDIR)/Rules.mk $(@D)/.$(@F).1.o
+	$(MAKE) $(build)=$(@D) $(@D)/.$(@F).1.o
 	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) \
 	    $(@D)/.$(@F).1.o -o $@
 	$(NM) -pa --format=sysv $(@D)/$(@F) \
@@ -202,14 +205,14 @@ endif
 	$(MKRELOC) $(foreach base,$(VIRT_BASE) $(ALT_BASE),$(@D)/.$(@F).$(base).0) >$(@D)/.$(@F).0r.S
 	$(NM) -pa --format=sysv $(@D)/.$(@F).$(VIRT_BASE).0 \
 		| $(BASEDIR)/tools/symbols $(all_symbols) --sysv --sort >$(@D)/.$(@F).0s.S
-	$(MAKE) -f $(BASEDIR)/Rules.mk $(@D)/.$(@F).0r.o $(@D)/.$(@F).0s.o
+	$(MAKE) $(build)=$(@D) .$(@F).0r.o .$(@F).0s.o
 	$(foreach base, $(VIRT_BASE) $(ALT_BASE), \
 	          $(LD) $(call EFI_LDFLAGS,$(base)) -T $(obj)/efi.lds -N $< \
 	                $(@D)/.$(@F).0r.o $(@D)/.$(@F).0s.o $(note_file_option) -o $(@D)/.$(@F).$(base).1 &&) :
 	$(MKRELOC) $(foreach base,$(VIRT_BASE) $(ALT_BASE),$(@D)/.$(@F).$(base).1) >$(@D)/.$(@F).1r.S
 	$(NM) -pa --format=sysv $(@D)/.$(@F).$(VIRT_BASE).1 \
 		| $(BASEDIR)/tools/symbols $(all_symbols) --sysv --sort >$(@D)/.$(@F).1s.S
-	$(MAKE) -f $(BASEDIR)/Rules.mk $(@D)/.$(@F).1r.o $(@D)/.$(@F).1s.o
+	$(MAKE) $(build)=$(@D) .$(@F).1r.o .$(@F).1s.o
 	$(LD) $(call EFI_LDFLAGS,$(VIRT_BASE)) -T $(obj)/efi.lds -N $< \
 	                $(@D)/.$(@F).1r.o $(@D)/.$(@F).1s.o $(note_file_option) -o $@
 	$(NM) -pa --format=sysv $(@D)/$(@F) \
diff --git a/xen/arch/x86/Rules.mk b/xen/arch/x86/Rules.mk
index 56fe22c979ea..2d12c2dca208 100644
--- a/xen/arch/x86/Rules.mk
+++ b/xen/arch/x86/Rules.mk
@@ -2,9 +2,9 @@
 # x86-specific definitions
 
 ifneq ($(filter -DHAVE_AS_QUOTED_SYM,$(XEN_CFLAGS)),)
-object_label_flags = '-D__OBJECT_LABEL__=$(subst $(BASEDIR)/,,$(CURDIR))/$@'
+object_label_flags = '-D__OBJECT_LABEL__=$@'
 else
-object_label_flags = '-D__OBJECT_LABEL__=$(subst /,$$,$(subst -,_,$(subst $(BASEDIR)/,,$(CURDIR))/$@))'
+object_label_flags = '-D__OBJECT_LABEL__=$(subst /,$$,$(subst -,_,$@))'
 endif
 c_flags += $(object_label_flags) $(CFLAGS-stack-boundary)
 a_flags += $(object_label_flags) $(CFLAGS-stack-boundary)
diff --git a/xen/arch/x86/arch.mk b/xen/arch/x86/arch.mk
index 61e0222f4a08..8bbf3e18e410 100644
--- a/xen/arch/x86/arch.mk
+++ b/xen/arch/x86/arch.mk
@@ -3,10 +3,10 @@
 
 export XEN_IMG_OFFSET := 0x200000
 
-CFLAGS += -I$(BASEDIR)/include
-CFLAGS += -I$(BASEDIR)/arch/$(TARGET_ARCH)/include
-CFLAGS += -I$(BASEDIR)/arch/x86/include/asm/mach-generic
-CFLAGS += -I$(BASEDIR)/arch/x86/include/asm/mach-default
+CFLAGS += -I$(srctree)/include
+CFLAGS += -I$(srctree)/arch/$(TARGET_ARCH)/include
+CFLAGS += -I$(srctree)/arch/x86/include/asm/mach-generic
+CFLAGS += -I$(srctree)/arch/x86/include/asm/mach-default
 CFLAGS += -DXEN_IMG_OFFSET=$(XEN_IMG_OFFSET)
 
 # Prevent floating-point variables from creeping into Xen.
@@ -87,7 +87,7 @@ efi-check-relocs := $(shell $(OBJDUMP) -p $(efi-check-o:.o=.efi) | grep '^[[:bla
 ifeq ($(efi-check-relocs),2)
 MKRELOC := :
 else
-MKRELOC := efi/mkreloc
+MKRELOC := arch/x86/efi/mkreloc
 # If the linker produced fixups but not precisely two of them, we need to
 # disable it doing so.  But if it didn't produce any fixups, it also wouldn't
 # recognize the option.
@@ -103,6 +103,6 @@ export EFI_LDFLAGS
 endif
 
 # Set up the assembler include path properly for older toolchains.
-CFLAGS += -Wa,-I$(BASEDIR)/include
+CFLAGS += -Wa,-I$(srctree)/include
 
 ALL_OBJS-y := arch/x86/boot/built_in.o arch/x86/efi/built_in.o $(ALL_OBJS-y)
diff --git a/xen/arch/x86/boot/Makefile b/xen/arch/x86/boot/Makefile
index 53d357489df2..2469ca7c4530 100644
--- a/xen/arch/x86/boot/Makefile
+++ b/xen/arch/x86/boot/Makefile
@@ -1,8 +1,8 @@
 obj-bin-y += head.o
 
-DEFS_H_DEPS = $(src)/defs.h $(BASEDIR)/include/xen/stdbool.h
+DEFS_H_DEPS = $(BASEDIR)/$(src)/defs.h $(BASEDIR)/include/xen/stdbool.h
 
-CMDLINE_DEPS = $(DEFS_H_DEPS) $(src)/video.h
+CMDLINE_DEPS = $(DEFS_H_DEPS) $(BASEDIR)/$(src)/video.h
 
 RELOC_DEPS = $(DEFS_H_DEPS) \
 	     $(BASEDIR)/include/generated/autoconf.h \
@@ -14,7 +14,7 @@ RELOC_DEPS = $(DEFS_H_DEPS) \
 $(obj)/head.o: $(obj)/cmdline.S $(obj)/reloc.S
 
 $(obj)/cmdline.S: $(src)/cmdline.c $(CMDLINE_DEPS)
-	$(MAKE) -f build32.mk -C $(obj) $(@F) CMDLINE_DEPS="$(CMDLINE_DEPS)"
+	$(MAKE) -f $(BASEDIR)/$(src)/build32.mk -C $(obj) $(@F) CMDLINE_DEPS="$(CMDLINE_DEPS)"
 
 $(obj)/reloc.S: $(src)/reloc.c $(RELOC_DEPS)
-	$(MAKE) -f build32.mk -C $(obj) $(@F) RELOC_DEPS="$(RELOC_DEPS)"
+	$(MAKE) -f $(BASEDIR)/$(src)/build32.mk -C $(obj) $(@F) RELOC_DEPS="$(RELOC_DEPS)"
diff --git a/xen/build.mk b/xen/build.mk
index 9093d9f493bc..c6c06d9f17f5 100644
--- a/xen/build.mk
+++ b/xen/build.mk
@@ -57,11 +57,15 @@ arch/$(TARGET_ARCH)/include/asm/asm-offsets.h: asm-offsets.s
 	  echo ""; \
 	  echo "#endif") <$< >$@
 
-# head.o is built by descending into arch/arm/$(TARGET_SUBARCH), depends on the
-# part of $(ALL_OBJS) that will eventually recurse into $(TARGET_SUBARCH)/ and
-# build head.o
-arch/arm/$(TARGET_SUBARCH)/head.o: arch/arm/built_in.o
-arch/arm/$(TARGET_SUBARCH)/head.o: ;
+build-dirs := $(patsubst %/built_in.o,%,$(filter %/built_in.o,$(ALL_OBJS) $(ALL_LIBS)))
+
+# The actual objects are generated when descending,
+# make sure no implicit rule kicks in
+$(sort $(ALL_OBJS) $(ALL_LIBS)): $(build-dirs) ;
+
+PHONY += $(build-dirs)
+$(build-dirs): FORCE
+	$(Q)$(MAKE) $(build)=$@ need-builtin=1
 
 ifeq ($(CONFIG_LTO),y)
 # Gather all LTO objects together
@@ -79,4 +83,4 @@ endif
 targets += prelink.o
 
 $(TARGET): prelink.o FORCE
-	$(MAKE) -f $(BASEDIR)/Rules.mk -C arch/$(TARGET_ARCH) $@
+	$(Q)$(MAKE) $(build)=arch/$(TARGET_ARCH) $@
diff --git a/xen/include/Makefile b/xen/include/Makefile
index 69224e22a950..341196306abd 100644
--- a/xen/include/Makefile
+++ b/xen/include/Makefile
@@ -58,7 +58,7 @@ $(obj)/compat/.xlat/%.h: $(obj)/compat/%.h $(obj)/compat/.xlat/%.lst $(BASEDIR)/
 	export PYTHON=$(PYTHON); \
 	while read what name; do \
 		$(SHELL) $(BASEDIR)/tools/get-fields.sh "$$what" compat_$$name $< || exit $$?; \
-	done <$(patsubst compat/%,compat/.xlat/%,$(basename $<)).lst >$@.new
+	done <$(patsubst $(obj)/compat/%,$(obj)/compat/.xlat/%,$(basename $<)).lst >$@.new
 	mv -f $@.new $@
 
 .PRECIOUS: $(obj)/compat/.xlat/%.lst
@@ -83,8 +83,8 @@ PUBLIC_HEADERS := $(filter-out $(src)/public/arch-% $(src)/public/dom0_ops.h, $(
 PUBLIC_C99_HEADERS := $(src)/public/io/9pfs.h $(src)/public/io/pvcalls.h
 PUBLIC_ANSI_HEADERS := $(filter-out $(src)/public/%ctl.h $(src)/public/xsm/% $(src)/public/%hvm/save.h $(PUBLIC_C99_HEADERS), $(PUBLIC_HEADERS))
 
-public/io/9pfs.h-prereq := string
-public/io/pvcalls.h-prereq := string
+$(src)/public/io/9pfs.h-prereq := string
+$(src)/public/io/pvcalls.h-prereq := string
 
 $(obj)/headers.chk: $(PUBLIC_ANSI_HEADERS) $(src)/Makefile
 	for i in $(filter %.h,$^); do \
diff --git a/xen/scripts/Kbuild.include b/xen/scripts/Kbuild.include
index 563b323f0501..62c7caeba1d1 100644
--- a/xen/scripts/Kbuild.include
+++ b/xen/scripts/Kbuild.include
@@ -59,6 +59,12 @@ ld-option = $(call success,$(LD) -v $(1))
 # Usage:  EXTRA_CFLAGS += $(call cc-ifversion, -lt, 0402, -O1)
 cc-ifversion = $(shell [ $(CONFIG_GCC_VERSION)0 $(1) $(2)000 ] && echo $(3) || echo $(4))
 
+###
+# Shorthand for $(Q)$(MAKE) -f scripts/Makefile.build obj=
+# Usage:
+# $(Q)$(MAKE) $(build)=dir
+build := -f $(BASEDIR)/Rules.mk obj
+
 # Shorthand for $(MAKE) clean
 # Usage:
 # $(MAKE) $(clean) dir
diff --git a/xen/test/Makefile b/xen/test/Makefile
index 41e4d7bdb78b..080763c80766 100644
--- a/xen/test/Makefile
+++ b/xen/test/Makefile
@@ -1,13 +1,10 @@
 
-tests all: build
-
-
 ifneq ($(XEN_TARGET_ARCH),x86_32)
 # Xen 32-bit x86 hypervisor no longer supported, so has no test livepatches
 subdir-y += livepatch
 endif
 
-install build subtree-force-update uninstall: %:
+install uninstall: %:
 	set -e; for s in $(subdir-y); do \
-		$(MAKE) -f $(BASEDIR)/Rules.mk -C $$s $*; \
+		$(MAKE) $(build)=$$s $*; \
 	done
diff --git a/xen/test/livepatch/Makefile b/xen/test/livepatch/Makefile
index e59245323e92..52ee58a08c5f 100644
--- a/xen/test/livepatch/Makefile
+++ b/xen/test/livepatch/Makefile
@@ -11,9 +11,6 @@ endif
 CODE_ADDR=$(shell nm --defined $(1) | grep $(2) | awk '{print "0x"$$1}')
 CODE_SZ=$(shell nm --defined -S $(1) | grep $(2) | awk '{ print "0x"$$2}')
 
-.PHONY: default
-build default: livepatch
-
 extra-y += xen_hello_world.livepatch
 xen_hello_world-objs := xen_hello_world_func.o xen_hello_world.o note.o xen_note.o modinfo.o
 $(obj)/xen_hello_world.o: $(obj)/config.h
@@ -156,9 +153,6 @@ LIVEPATCHES := $(filter %.livepatch,$(extra-y))
 
 LIVEPATCH_DEBUG_DIR ?= $(DEBUG_DIR)/xen-livepatch
 
-.PHONY: livepatch
-livepatch: $(LIVEPATCHES)
-
 install: $(addprefix $(obj)/,$(LIVEPATCHES))
 	$(INSTALL_DIR) $(DESTDIR)$(LIVEPATCH_DEBUG_DIR)
 	$(INSTALL_DATA) $(addprefix $(obj)/,$(LIVEPATCHES)) $(DESTDIR)$(LIVEPATCH_DEBUG_DIR)
diff --git a/xen/xsm/flask/Makefile b/xen/xsm/flask/Makefile
index ab26b8682e46..57190ff6c8ad 100644
--- a/xen/xsm/flask/Makefile
+++ b/xen/xsm/flask/Makefile
@@ -40,7 +40,7 @@ $(obj)/flask-policy.S: $(BASEDIR)/tools/binfile FORCE
 	$(call if_changed,binfile,$(obj)/policy.bin xsm_flask_init_policy)
 targets += flask-policy.S
 
-FLASK_BUILD_DIR := $(CURDIR)
+FLASK_BUILD_DIR := $(BASEDIR)/$(obj)
 POLICY_SRC := $(FLASK_BUILD_DIR)/xenpolicy-$(XEN_FULLVERSION)
 
 $(obj)/policy.bin: FORCE
diff --git a/xen/xsm/flask/ss/Makefile b/xen/xsm/flask/ss/Makefile
index d32b9e07138e..aba1339f3808 100644
--- a/xen/xsm/flask/ss/Makefile
+++ b/xen/xsm/flask/ss/Makefile
@@ -8,4 +8,4 @@ obj-y += services.o
 obj-y += conditional.o
 obj-y += mls.o
 
-CFLAGS-y += -I../include
+CFLAGS-y += -I$(srctree)/xsm/flask/include
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:02:40 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:02:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171096.312429 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUCV-0003ZV-ME; Tue, 24 Aug 2021 11:02:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171096.312429; Tue, 24 Aug 2021 11:02:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUCU-0003Ql-3v; Tue, 24 Aug 2021 11:02:38 +0000
Received: by outflank-mailman (input) for mailman id 171096;
 Tue, 24 Aug 2021 11:02:33 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU2b-0003Ux-At
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:52:25 +0000
Received: from esa6.hc3370-68.iphmx.com (unknown [216.71.155.175])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 48f60f1f-04c9-11ec-a8c5-12813bfff9fa;
 Tue, 24 Aug 2021 10:51:50 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 48f60f1f-04c9-11ec-a8c5-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802310;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=YhvmbSKSt9wr4FJapgNfP9qgY+cjnLZoYpUfU64Omx4=;
  b=OD124aVh5dRg4IkQW1Th7urGn+hmXAS6zJafypl5xQyaYyviSd53ebBh
   Q70QTzXwOGLD6iJN09C07GUA5tPFFVeSnxWJkhXIY0dXHGENJbPCbFFd6
   x6V9PQQK9fVymGysjW0U1xodvSsSRR+74ibFC0VGYop1FYJ+WhptImKQa
   Q=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: Sznb641ImOy9jyj6Kijbb4mP9qWLSYcVPgJISeJFmPQTfDExDsNe0FhZmPF9wtvzSY5GDhz3dg
 0yxtde55cFuxJMRccrivKELVrB5O3Htw0oI1FMV28nIpgr+HV55kepeFkMPmY+9mOoEYF6p4rd
 Si0JD2i1o+GijjpLL60IHVwTQLMiugx7y6KMBJwAjaRVqM4fBxjG1T2ynoWawozeXKV8mixcGR
 9C/lWBkEXIxoNgfhiVX8OpZ7k1Jvw5Qd/lnQM9s+kCvZ2EHE26H7VgPDGORYZUNlPELTpjL7xR
 STXfwmjVaBrqVUiTus7fK1fE
X-SBRS: 5.1
X-MesageID: 51166384
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:M6310qBubL9GktnlHelW55DYdb4zR+YMi2TDt3oddfWaSKylfq
 GV7ZAmPHrP4gr5N0tOpTntAse9qBDnhPtICOsqTNSftWDd0QPFEGgL1+DfKlbbak/DH4BmtJ
 uJc8JFeaDN5VoRt7eH3OFveexQv+Vu88qT9JnjJ28Gd3AMV0n5hT0JcTpyFCdNNW97LKt8Lr
 WwzOxdqQGtfHwGB/7LfEXsD4D41qT2fIuNW29/OyIa
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51166384"
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>, "Ian
 Jackson" <iwj@xenproject.org>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>
Subject: [XEN PATCH v7 29/51] build: add an other explicite rules to not build $(XEN_ROOT)/.config
Date: Tue, 24 Aug 2021 11:50:16 +0100
Message-ID: <20210824105038.1257926-30-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

GNU Make will try to rebuild every Makefile included with the
"include" directive, so everytime Config.mk is used, make will try to
build ".config". This would normally not be an issue, unless we happen
to have a rules which match. This is the case with Kconfig in xen/.

While we had a workaround in "xen/Makefile", this ".config" files
becomes an issue again in "xen/tools/kconfig/Makefile". It has a
target "%.config".

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 xen/Rules.mk | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/xen/Rules.mk b/xen/Rules.mk
index a62c761be8d1..f1043a78a332 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -11,6 +11,10 @@ __build:
 -include $(BASEDIR)/include/config/auto.conf
 
 include $(XEN_ROOT)/Config.mk
+
+# Don't try to remake this file included by Config.mk.
+$(XEN_ROOT)/.config: ;
+
 include $(BASEDIR)/scripts/Kbuild.include
 
 ifndef obj
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:02:42 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:02:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171099.312436 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUCY-0004AK-5J; Tue, 24 Aug 2021 11:02:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171099.312436; Tue, 24 Aug 2021 11: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 1mIUCX-00046E-7C; Tue, 24 Aug 2021 11:02:41 +0000
Received: by outflank-mailman (input) for mailman id 171099;
 Tue, 24 Aug 2021 11:02:35 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIU3j-0003Ux-Dg
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 10:53:35 +0000
Received: from esa6.hc3370-68.iphmx.com (unknown [216.71.155.175])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 54450de8-04c9-11ec-a8c5-12813bfff9fa;
 Tue, 24 Aug 2021 10:52: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: 54450de8-04c9-11ec-a8c5-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629802329;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=wyakQUKzvA/qzxlf5PAdsehWsfJUw3GHFdkxUbHnaEU=;
  b=fgMl12XMe+2bVu1ZMERv4LNW8R3efLb0VCsNaOIZ6Utii6J4vFjK8c+a
   8WfDZFlr+yBX22DgCEYzdjRE6sjHxBNN2jxbsgSpsT26fLPPbRzFnhYlx
   Pu7swGgi2PJ4+uhqrzUCQafnrpc6LCaaLfQH9iy3ivAXcBcHLLyZCPMid
   0=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: +iLW90S7GLk8lkL/fsZ7NSKAhaj88cz4KZgwV3HnAy2kFQk8b+7FvZGEWi4r4UjjVxt3YPm1ko
 X/A+YzI/NfZo201rcY/TKnxlSPDj6yi7kCF9EVm3PACF/NtbuyGoNrcznTNs3whxMW0ZY/kLvP
 mo8Vmy0LIz+gT1evkVnCocxeroOgkoUNLkWuP6V6Np9tYFd+kGgYjCSwZB02GR66XY79dm0vml
 o1K2ZWNOia8O+POLlLdTb00A0WAeHu7AJuBk3oT9bnHJjEdZvItZjBts9ZtRgHAoELQgoUUZN2
 uljK7w1p5pGnL4LnhPP2F4m5
X-SBRS: 5.1
X-MesageID: 51166407
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:+ipPgKyntdoZT+CwHpOoKrPxkOskLtp133Aq2lEZdPULSKGlfp
 GV9sjziyWetN9IYgBHpTiBUJPhfZquz+8N3WBxB8boYOCIghrNEGgP1+XfKl7bamfDH4xmpM
 BdmsFFYbWdYmSS5vyKgzVQZuxQpeVvh5rY59s2oU0NcShaL4VbqytpAAeSFUN7ACNcA4AiKZ
 aa7s1b4xK9ZHU+dK2AdzU4dtmGg+eOuIPtYBYACRJiwhKJlymU5LnzFAXd9gsCUglI3awp/Q
 H+4kPED+SYwr+GIy3npi/uBqdt6ZjcIxx4dY6xY/0uW3TRY8CTFcFcsvO5zXQISaqUmS4XeZ
 H30mwd1oJImj7slyiO0GHQ8hil3zA053D4z1iExXPlvMziXTo/T9FMnIRDb3LimjwdVfxHod
 Z2Nliixu1q5NL77VXAzsmNUwsvmlu/oHIkn+JWh3tDUZEGYLsUqYAE5ktaHJoJASq/sekcYa
 FTJdCZ4OwTfUKRbnjfsGUqyNuwXm4rFhPDRkQZoMSa3zVfgXg8xUoFw84UmGsG6fsGOtB5zv
 WBNr4tmKBFT8cQY644DOAdQdGvAmiIWh7IOHL6GyWTKEjGAQO+l3fT2sRK2AiHQu118HICou
 WzbLoDjx9OR6vHM7zw4LRbtgvKXHiwGS/wz8023ekIhoHB
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51166407"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: 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>, Wei Liu
	<wl@xen.org>
Subject: [XEN PATCH v7 40/51] build: fix dependencies in arch/x86/boot
Date: Tue, 24 Aug 2021 11:50:27 +0100
Message-ID: <20210824105038.1257926-41-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210824105038.1257926-1-anthony.perard@citrix.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Temporary fix the list of headers that cmdline.c and reloc.c depends
on, until the next time the list is out of sync again.

Also, add the linker script to the list.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 xen/arch/x86/boot/Makefile   | 9 ++++++---
 xen/arch/x86/boot/build32.mk | 2 +-
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/boot/Makefile b/xen/arch/x86/boot/Makefile
index 2469ca7c4530..73a3b1514965 100644
--- a/xen/arch/x86/boot/Makefile
+++ b/xen/arch/x86/boot/Makefile
@@ -2,19 +2,22 @@ obj-bin-y += head.o
 
 DEFS_H_DEPS = $(BASEDIR)/$(src)/defs.h $(BASEDIR)/include/xen/stdbool.h
 
-CMDLINE_DEPS = $(DEFS_H_DEPS) $(BASEDIR)/$(src)/video.h
+CMDLINE_DEPS = $(DEFS_H_DEPS) $(BASEDIR)/$(src)/video.h \
+	       $(BASEDIR)/include/xen/kconfig.h \
+	       $(BASEDIR)/include/generated/autoconf.h
 
 RELOC_DEPS = $(DEFS_H_DEPS) \
 	     $(BASEDIR)/include/generated/autoconf.h \
 	     $(BASEDIR)/include/xen/kconfig.h \
 	     $(BASEDIR)/include/xen/multiboot.h \
 	     $(BASEDIR)/include/xen/multiboot2.h \
+	     $(BASEDIR)/include/xen/const.h \
 	     $(BASEDIR)/include/public/arch-x86/hvm/start_info.h
 
 $(obj)/head.o: $(obj)/cmdline.S $(obj)/reloc.S
 
-$(obj)/cmdline.S: $(src)/cmdline.c $(CMDLINE_DEPS)
+$(obj)/cmdline.S: $(src)/cmdline.c $(CMDLINE_DEPS) $(src)/build32.lds
 	$(MAKE) -f $(BASEDIR)/$(src)/build32.mk -C $(obj) $(@F) CMDLINE_DEPS="$(CMDLINE_DEPS)"
 
-$(obj)/reloc.S: $(src)/reloc.c $(RELOC_DEPS)
+$(obj)/reloc.S: $(src)/reloc.c $(RELOC_DEPS) $(src)/build32.lds
 	$(MAKE) -f $(BASEDIR)/$(src)/build32.mk -C $(obj) $(@F) RELOC_DEPS="$(RELOC_DEPS)"
diff --git a/xen/arch/x86/boot/build32.mk b/xen/arch/x86/boot/build32.mk
index 8cd5403926a3..e90680cd9f52 100644
--- a/xen/arch/x86/boot/build32.mk
+++ b/xen/arch/x86/boot/build32.mk
@@ -27,7 +27,7 @@ CFLAGS := $(filter-out -flto,$(CFLAGS))
 		done
 	$(OBJCOPY) -O binary -R .got.plt $< $@
 
-%.lnk: %.o
+%.lnk: %.o build32.lds
 	$(LD) $(LDFLAGS_DIRECT) -N -T build32.lds -o $@ $<
 
 %.o: %.c
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:11:58 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:11:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171166.312470 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIULS-00021l-Ai; Tue, 24 Aug 2021 11:11:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171166.312470; Tue, 24 Aug 2021 11:11: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 1mIULS-00021e-7i; Tue, 24 Aug 2021 11:11:54 +0000
Received: by outflank-mailman (input) for mailman id 171166;
 Tue, 24 Aug 2021 11:11:53 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIUFL-0003ls-FN
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 11:05:35 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id dbc3882b-04ca-11ec-a8c6-12813bfff9fa;
 Tue, 24 Aug 2021 11:03:07 +0000 (UTC)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2105.outbound.protection.outlook.com [104.47.18.105])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-27-pJa1RFsuMNmKdwwRcq2uPA-2; Tue, 24 Aug 2021 13:03:05 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM0PR04MB5217.eurprd04.prod.outlook.com (2603:10a6:208:bf::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Tue, 24 Aug
 2021 11:03:04 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 11:03:04 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR02CA0031.eurprd02.prod.outlook.com (2603:10a6:208:3e::44) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Tue, 24 Aug 2021 11:03: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: dbc3882b-04ca-11ec-a8c6-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629802986;
	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=XgfXHDHphN2Fw8F8fIRnCOYdf0FiQrXZkVg4xMq3sr4=;
	b=E8bG1gsa3NLDx0nKY3UlrLLFhfN9pmnOjsbrsTnlv0HZOo3P6fY20U3TvvcpDqSnlBU69/
	POlwWQUipe+3pUAGfltaqx+jl4z8SJezj12rjnTo6WyQ+5Xr1nhNtQ5U7tp/GPrJ0x4hZm
	a8EysTz3sQzhEFuTYWVrnrlkzsT2zJE=
X-MC-Unique: pJa1RFsuMNmKdwwRcq2uPA-2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=R3ob61oHY291fkfEP1JaeR4ffCY39ndhQh62NTqUt66rwF6pD26FTGrTJGgzCQ90Z0ARWG9SgwE1UzT2SA4DSIKKWfwtB+8Og/brAK7qeC9i8BSX60ea/aY+5zKssH4viG7t30PfM417iagz1LlVz91Oo69f7+yvG9RNrhxnLYSbbf5IyP7lh/VkUIIqr0NUw9xjmqSgMTi0dxk6tWPplKm5xn8ObpcY1wB8y/cRJukqTAn4C3ZOYfMLI9RVpfQSpdpI67vXG1zBInUrDLBEU4abzcyHN3U8dRTHx5+OJ5FMjLSC7uF77RR1tu6wlVdXOIEnvhuoe0DliD7YacM6og==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XgfXHDHphN2Fw8F8fIRnCOYdf0FiQrXZkVg4xMq3sr4=;
 b=EpzqLAJ65NvVUVGubmpsFchfPGcaYqZcsJAFnN9porIO+ugbz0skmyJ06ZybGs+L6EDWY0UsCeIJD9Ia1X4KApZw/FRHZFr4WT/PJXTFylcuczEMDVZew5u3ZcJ+or7yy3cmguCIcChjeBARBkvSucwblfohJTUAiKPDUgJlwwiZ2C6FsfxhuAbczuAwTpmlNuhjiRRGsXWDODqgEy/PBZLe9Gbkgv75sY1rlKNhUhNv9kzeDX9tOZlmVC+C7yL9uRnID0gbPN8XghzeEfO+Cst8t3ck1GEGja3k+egxnUxHyBLud53357H9W23fOIxI9QRshyvK3/YTjgTBNJNn4g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: Re: [PATCH v5 6/7] xen/arm: introduce acquire_staticmem_pages and
 acquire_domstatic_pages
To: Penny Zheng <penny.zheng@arm.com>
Cc: Bertrand.Marquis@arm.com, Wei.Chen@arm.com, nd@arm.com,
 xen-devel@lists.xenproject.org, sstabellini@kernel.org, julien@xen.org
References: <20210824095045.2281500-1-penny.zheng@arm.com>
 <20210824095045.2281500-7-penny.zheng@arm.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <c072e886-16ae-e271-ab1a-669561312c1d@suse.com>
Date: Tue, 24 Aug 2021 13:03:02 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210824095045.2281500-7-penny.zheng@arm.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM0PR02CA0031.eurprd02.prod.outlook.com
 (2603:10a6:208:3e::44) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 0b8533fa-d508-4d1f-2d57-08d966eebf19
X-MS-TrafficTypeDiagnostic: AM0PR04MB5217:
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB5217CCAB0487BE3262347571B3C59@AM0PR04MB5217.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:7219;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	w620F4B0Mx2eq7iLJtQ5IYg8bDmRDm6NQIX8vt8Fnm/1bdArIXy1w3phqidx0UzfDlWYg1nrFgdtyGTo98/OIkPuJB2u4g+nla5UIfKuDy4SMtKz+4mobLjbeUa56xVqu48JY08JZfR6ADRNbp/8lN1IgrY3uBLzBNAlbimfYHVb0Rnl0nNwX0Znu13elp5QVc/Lc1e4eh4WM/8f+UIggrKrppntFkEHwa9zLmgtvlTfZf4L51OO/Sgy1GLIl/tRMwCjrB+ZwUOC63+YAM30J4L1PUwbrQZp+Z8zkWzyI4VFxpnTo1ZivYzhZEi54rh/C1ES0aZncOPc5jsLGB5ol8VpKPSW3ME5xBuQJECwkphXYPbhibFBjfEdQXh5Qw0T6GCjj6dkTyIRL20bRLMf+RTojY/Rw0ia567Zej4U36XSLMYH1/lgImIDhE1OjimRBQPWLRN4IILGQoOuAYrWM+GHoqtdIrILFrPtjMEj/v1ThNb4/yjQYulOP6Pbbww7XrZHtGdC/mQMXL5iAlt82Bnwto1/M3J7zF3fdBPTtfT6tZZtov22bAuvKJu+XydDXH/FxNwQkRoOxD76L6PvEDWFmpkDLM3XrgeV6xcjz9jetpGPMdc08hFi0nz2G14qloAQ2odFuObAC/k6e+Nu25BAw0eXU7X8CKOgEizgUKsnLobbxApXxmfRSJmm7AuQTwzwzw15AA3gz4AnIBF2CccNOP/1TlHNRy4bgIsIfdU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(396003)(346002)(366004)(39860400002)(376002)(38100700002)(66556008)(66946007)(8676002)(66476007)(2616005)(8936002)(86362001)(956004)(16576012)(316002)(26005)(186003)(36756003)(83380400001)(4326008)(5660300002)(53546011)(31686004)(478600001)(6916009)(31696002)(2906002)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QmlSZStyYXVqeFRSYUtaZGlXMk1LR3A3cDA4RCtidnl5dVc0WnRwNEw0UVZX?=
 =?utf-8?B?QWRGS1hNUnpMZHZlMFJ5Y25Nc0ZSR2kzNGNtZ2VlVHVhL1dmSStUbFFrTGJw?=
 =?utf-8?B?dnVWd2tPSUg4SFpZRXRUMllJQmRpeGkzbW9GNnhBb1EwSmVHVTFGZHMrT20y?=
 =?utf-8?B?L3d5bDlvOEtXKyt1N1pOQzBzTHB3NVdKU25YV09KOFc3eitsTURWTEI4R1cw?=
 =?utf-8?B?TUtQejhOWHV6MlZRb3NpbllyTGxrOXVvejFKUXJtcUlvcmNEdnZSRG1NaDVY?=
 =?utf-8?B?ZTFtWWFNN1Fxc21FM2xNOCtxTndyOTYwSDVVKzA5WnNaK3pqMWE4bkdjNU5Z?=
 =?utf-8?B?dnAxSEczb3FrM2pXSUg3THRMa0dIZzhlcFd4MlIzNm9DK2Z3YzRraXZGaWF3?=
 =?utf-8?B?THRvOFFQMHZOSzBHNHd4ZU0zY242WW9hS0tNd0x2MHpNMk5yU2RjWG16VEd1?=
 =?utf-8?B?dm9rK2tMVnBieFh0NDhwK1lZaE1uT1k0SnZLaFV6MW53TE8rb3lWeEIxYmsy?=
 =?utf-8?B?dGxZZmJUaXY0UzlCSUlSOHdzR2hpWEtrLzFnVmxRSWloamZxQWhMTzBjVzBH?=
 =?utf-8?B?eVc3bnZZUzQzTkpBSURLd0FSRGFpV0tQcGwreWJweEd5WGNHY1ZWUFhXNExw?=
 =?utf-8?B?OHJjMUpTMEJNRFpNY1NDbm5yd3lWL0FTZmpubWxqVER2Q1BLZlFvaUowTG9B?=
 =?utf-8?B?NTFwa2ZlNUdQTDhBNkk0aXRFTXM1MEpMN3VHY1ZCR0lFUkxUS09MSjBqcFNR?=
 =?utf-8?B?bnZCOXdzV250elNnVWlOcjV1ck1ONnZxVlFhekFFdE5zR29pOWtOMUNiNXZS?=
 =?utf-8?B?dTRFQ1ByZ3BDZlRsTVhRNEVoS0M2bEhLOGJiNW93VWlFL3dyR094OUZvaUpM?=
 =?utf-8?B?cURUMnBzS1Ryb2Z0bjZ6RkpLVEZsTStOc0ZoSlJmc0NIL0EyOFU0b2JLR0ZQ?=
 =?utf-8?B?Y1c1Yks2bHdCMmxldG9PclhKR0QzR2ZHUCsySHIzUGJ3Q2IxRnZEZzdPdjJZ?=
 =?utf-8?B?VWhRb3MvUVkvQzhoNGplQ2RIRDM1MnFpamZOcjhrQVVjQWhRSU9xOVpyRlBS?=
 =?utf-8?B?b0FheHVpTFhtK2hlWWpNM3ZpVWU1ZTZzQmtpVGNUd0s0WmhUMjM3aVJXZjYr?=
 =?utf-8?B?SW5idk1WcEZzVmUvUThyS3cvRzl1K2NxaFc4QklUZEp3V203cWRBWEZwV2Fn?=
 =?utf-8?B?YWdWZVNoOHkxVEZ1RTJzb3diTUgvMkFBSm1QYmFJSm81d1UyV2crVlVDRHV5?=
 =?utf-8?B?eHpQejFyQUxBMnZoLzM0UVlQdDJVVHVpV1hZaFdMUkFVakxFcDZ4VlJwa01H?=
 =?utf-8?B?ZW9XcUhGTW05Y3ZYU1dEcjNxd1BuN0JCTXJweGpmN3luUS92NklpbWZnMTJ5?=
 =?utf-8?B?VGY3MFdwWm9wUU1IUUhpQkxXbmg2ZU5BMkZQNlYxRnpyN291dXUvd3RXMjhU?=
 =?utf-8?B?amFjTXJNQlZ6NjRoRzNubFFFTW5rZVVCaFFXSUJOSUwxTWtrek9Qb3l6ODMr?=
 =?utf-8?B?bHUxOXZqQ05DbVcrUzB0RHY2QzBzUEVWUkpKTExRZHpjM3BQdFVEUDExaE00?=
 =?utf-8?B?WXYwS2lOMitzanFwd3FyRi9waXpreW5ITExDaDhoUVcrRy9oYXVhUUNPc28v?=
 =?utf-8?B?VEJDNy9vNTVkcms0R0tHUTVPZ3hRQ1ZXM2lhZmRpV0x6dWtqUWl5ZHhhcDVF?=
 =?utf-8?B?eklhMk1WWGpDb2lEVExmOGNoUVVsK0xLYXBta0hWYjMxSkZxMHN0YWlLbnBr?=
 =?utf-8?Q?vKvWJeFgBiZtepklOAthFVcJPm23liLn7zvRVF0?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0b8533fa-d508-4d1f-2d57-08d966eebf19
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 11:03:04.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: g8tyd7ZaStZ8o6gH5yB+pELndTh0H1kmX+AhGw4F3dIUN5KAG8xzImZcXXmug2ydAvQlPe81vD8KHa18awW0qw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB5217

On 24.08.2021 11:50, Penny Zheng wrote:
> +/*
> + * Acquire nr_mfns contiguous reserved pages, starting at #smfn, of
> + * static memory.
> + * This function needs to be reworked if used outside of boot.
> + */
> +static struct page_info * __init acquire_staticmem_pages(mfn_t smfn,
> +                                                         unsigned long nr_mfns,
> +                                                         unsigned int memflags)
> +{
> +    bool need_tlbflush = false;
> +    uint32_t tlbflush_timestamp = 0;
> +    unsigned long i;
> +    struct page_info *pg;
> +
> +    ASSERT(nr_mfns);
> +    for ( unsigned long i = 0; i < nr_mfns; i++ )

This form of variable declaration gets warned about by some compiler
versions and may only be used once we settle on C99 as the base line
language level. There's one more such instance below, and the one
here is even worse in that it shadows a function scope variable.

> +        if ( !mfn_valid(mfn_add(smfn, i)) )
> +            return NULL;
> +
> +    pg = mfn_to_page(smfn);
> +
> +    spin_lock(&heap_lock);
> +
> +    for ( i = 0; i < nr_mfns; i++ )
> +    {
> +        /* The page should be reserved and not yet allocated. */
> +        if ( pg[i].count_info != (PGC_state_free | PGC_reserved) )
> +        {
> +            printk(XENLOG_ERR
> +                   "pg[%lu] Static MFN %"PRI_mfn" c=%#lx t=%#x\n",
> +                   i, mfn_x(smfn) + i,
> +                   pg[i].count_info, pg[i].tlbflush_timestamp);
> +            goto out_err;
> +        }
> +
> +        if ( !(memflags & MEMF_no_tlbflush) )
> +            accumulate_tlbflush(&need_tlbflush, &pg[i],
> +                                &tlbflush_timestamp);
> +
> +        /*
> +         * Preserve flag PGC_reserved and change page state
> +         * to PGC_state_inuse.
> +         */
> +        pg[i].count_info = PGC_reserved | PGC_state_inuse;
> +        /* Initialise fields which have other uses for free pages. */
> +        pg[i].u.inuse.type_info = 0;
> +        page_set_owner(&pg[i], NULL);
>      }
> +
> +    spin_unlock(&heap_lock);
> +
> +    if ( need_tlbflush )
> +        filtered_flush_tlb_mask(tlbflush_timestamp);
> +
> +    /*
> +     * Ensure cache and RAM are consistent for platforms where the guest
> +     * can control its own visibility of/through the cache.
> +     */
> +    for ( i = 0; i < nr_mfns; i++ )
> +        flush_page_to_ram(mfn_x(smfn) + i, !(memflags & MEMF_no_icache_flush));
> +
> +    return pg;
> +
> +out_err:

Please indent labels by at least one space.

> +    for ( unsigned long j = 0; j < i; j++ )

You don't need the extra variable here at all - simply use
"while ( i-- )".

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:26:53 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:26:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171230.312482 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUZr-00041p-LC; Tue, 24 Aug 2021 11:26:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171230.312482; Tue, 24 Aug 2021 11: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 1mIUZr-00041i-HK; Tue, 24 Aug 2021 11:26:47 +0000
Received: by outflank-mailman (input) for mailman id 171230;
 Tue, 24 Aug 2021 11:26:46 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QsuA=NP=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mIUZq-00041c-1N
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 11:26:46 +0000
Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 293a3bc8-04ce-11ec-a8c8-12813bfff9fa;
 Tue, 24 Aug 2021 11:26:45 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 293a3bc8-04ce-11ec-a8c8-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629804404;
  h=to:cc:references:from:subject:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=kHo38nsD3Ks23BstzMQ2hTcFR5UXkGCg7TXVlBeIPA8=;
  b=K+OTUgU4iyYPoHcSsybnpxIj1V2o3j9DF/QxeFHeDeBWu1X3VoRRaVm1
   cSOwRiarDXUGd1wk2xhX4ncrH5c97ncKXgYC9Uz24DuTukG5nn9eBj073
   Vh3jWkwOrXa7CqXPvKTyHNM8crKVP7bwGQEa8etVIgSqfaVBRpvDjEmZ4
   0=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: TQg+DA0nzjWUkqws9TPicD8s/Np1hsmZF1Gc66qxLdGgkXweL5jFMQ6pE0gZJvkKo40ZnNB7ci
 kxddi2ZRMnt2W/HBUor19ocuiIgvJI+lpLr3Taw5JQ7KIh1B6JwdXIlnMFZvYcM32LFvXdsWMM
 HQTv4dp4RfjPVpvmOfKROXSZyQoQsZ8VOPzsBO84B95m+T/SBjT3S15Le+/AuXZxLg6qvwNTGv
 rs28muBUZ1p0wZ3t8gypnKvK1yxOkVR0qZH1G63etEeGXLiDjTIRrR9tsTDjIndDjdpCugjisl
 iuqyldVxOWQ6GfBQGqFMfSXS
X-SBRS: 5.1
X-MesageID: 51155452
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:Xk1NeaNqKyASPcBcT0T155DYdb4zR+YMi2TDiHofdfUFSKClfp
 6V8cjztSWUtN4QMEtQ/OxoS5PwPk80kqQFnbX5XI3SITUO3VHHEGgM1/qb/9SNIVyYygcZ79
 YbT0EcMqyBMbEZt7eC3ODQKb9Jq7PmgcPY99s2jU0dKT2CA5sQnjuRYTzrdHGeKjM2Z6bRWK
 Dsnfau8FGbCAoqh4mAdzc4t6+pnay8qLvWJTo9QzI34giHij2lrJb8Dhijxx8bFxdC260r/2
 TpmxHwovzLiYD69jbsk0voq7hGktrozdVOQOSKl8guMz3pziKlfp5oVbGutC085Muv9FEput
 /RpApIBbUz11rhOkWO5Tf90Qjp1zgjr1fk1F+jmHPm5ff0QTorYvAxyL5xQ1/80Q4Nrdt82K
 VE0yayrJxMFy7Nmyz7+pzhSwxqvlDcmwtmrccjy1hkFacOYr5YqoISuGlPFo0bIS784Ic7VM
 FzEcDn4upMe1/yVQGagoBW+q3qYp0PJGbBfqBb0fbligS+3UoJjHfw/fZv2kvpr/kGOsF5D4
 2uCNUaqFlMJvVmJ56VSt1xGvdepwT2MFvx2VmpUCDa/Zc8SjnwQq7MkcAIDd6RCes1JbsJ6d
 j8uQBjxCEPk3yHM7zH4HQMyGGWfFmA
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51155452"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gDQ6jHNuVsA+LfvAlJ9B49uDtYZqVy43ojdWC7r5WM1/UMo8QJseo7Sk/6kyUZBrcp/cEWxbbmenLcNnO8NIpSkhHixPCMzWgPaQGGn0nCDzY6+1zez7M8uo6S8xdlPo4AjRZXbwOPm/ZVW3pG6zqn3I/1MaoDjIBWcaDMaR7MYczurKMpX1GzfZSyT+VWUz6sje6T16PKHbtKLRgtJPuVSrMXrJFIWhzPpZxuhWhMgtyEj/Lx0MfwDjQC6wyxJbw68IlLQSA9o2kxl822TnlI9ZNUxdiVyX/yYT1dFMxvqB2O6/651SJ485e5dToZDR4g1Y77okTPlD4s3mLdNt0w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PaXmZZWfOQnh5Uqnd7+tz6N1KiG5HkP1DbeFPUnPszM=;
 b=WszYnsGpnWT82RZtM/2SvaL2gTlUooIn19UdtdfadT+D1OsAvpiX4wv8MfbUEizZ6r90KmLfms+ZxshDwTz5AH0R8aRkGbHWhjvw3LfFAR/Lfu1yo+HKV5fzjdf2B4mTJmX1WXV8xovLQYATt6hQ8IdfDU4KWHjltOCLzEtIjAZp85UHvyOs5XGeA/F+D9wUN6OkZWc82zl0MZdFrsLTF89ZlW4/ldG+2YrRuVjWARw/hNpjwmo3nl0l5qvsCAMbgBAgdcVfvm8O/tGltJNceupZ8vu8n5O27nDKwWbmN7+77rN9UCfErC6VG+6YWEsmbTPBHsJorA/Z0USyhslGdg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PaXmZZWfOQnh5Uqnd7+tz6N1KiG5HkP1DbeFPUnPszM=;
 b=f7DvI8HUwX046SIW1jB0UmotYl5pRwXZkgpP90jA68dyHkSbGJGLC+ljr2OjUChJ0xr6xy9GVzWXqXoAkXeY9cDGT8JFuHqKCnOBhISjIggTHQkbtUk3F83d0Nte+K3gHMdn+JCnzjai1E5HpWkTjjOPLmbVqhZFfDIK/y2mAqQ=
To: Bobby Eshleman <bobby.eshleman@gmail.com>,
	<xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Jan Beulich
	<jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, Elena Ufimtseva <elena.ufimtseva@oracle.com>, Jun
 Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>, George
 Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>
References: <cover.1629315873.git.bobby.eshleman@gmail.com>
 <7925a89cf830e0e3705a8700fce09a408fcfc27c.1629315873.git.bobby.eshleman@gmail.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v3 2/6] x86/debugger: separate Xen and guest debugging
 debugger_trap_* functions
Message-ID: <c3e358de-82f5-841a-a452-b935a84ac4ea@citrix.com>
Date: Tue, 24 Aug 2021 12:26:34 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <7925a89cf830e0e3705a8700fce09a408fcfc27c.1629315873.git.bobby.eshleman@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-GB
X-ClientProxiedBy: LO2P265CA0012.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:62::24) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: eae6753d-0be1-4c90-64e9-08d966f20bae
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6272:
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <SJ0PR03MB62720ABB139F9E607FB42FD4BAC59@SJ0PR03MB6272.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:1332;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: TzvomalAXXxxw/IspBQ+GMKmVcKsNNbBJIh8hPN01MjW9HSDau2qZgBXzW//Y7t78Urv+viCIUd0a+/EG3VlWdoEqDsv3C68EXRNpHSDptVmjsKmuEkCkErEeX1M8pa5+KuQNuQu7KkkcBtbUsx9tojDZWbdPC6MGiq8Q7jrcxSPBplavFQFUOoqVPQDi+d29JFDStI4CrlJKcHELfrW1rigPdukigwXk37yc23BHfwDJ8tDaJ2MWfLgLsq7LXc54TN3pCiFNiomP7/gyRr8mC9Y+1JaVKi7pAsNoXozCSOF3p77RjuWSzFgnJXqXLuaCrD8T7nvi2KKfequE8YPQWBnklsVjWiwNSi8SsFgd1ujstBmwzPF3lU5acoS4ERoV8sd4FEyTGKSly0bBRmw/EmeOzvrG0MUfMm9gTqtUkGZR29aENQYq6d6RywWJb0f4k/EY3Bdwo/4bB9A4C5+5b09xKV4FJf/VYXy9EV4T0Ze0orNRKiN6B+a5unU5JMfpyuVv+Xy5ZX8rpOUBQZhQOF0Q2FGvu6MUnNWdpuHe14jdAaf7IA2VaBkOue1u+7q/wWTSbQJZ4cJp8UuUtq6+Z8P+bFWDt7PCyjeC9kVXAernuv6bhxdVP1Urk9eFW7ZkNbLLdLHDX6hdQtolqGBwgUj9WxjiLgcEkAApmq9/MGhrmOYFgK5orYOMeQQgE3Wuja0zgQDPj/45gd3AsqvXp1ow16pEIv0oqoedC1oGP0=
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:(4636009)(39860400002)(376002)(396003)(346002)(136003)(366004)(31686004)(316002)(66556008)(66946007)(478600001)(5660300002)(66476007)(6666004)(4326008)(6486002)(54906003)(2906002)(956004)(2616005)(8936002)(186003)(53546011)(38100700002)(86362001)(7416002)(31696002)(55236004)(8676002)(26005)(36756003)(16576012)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZXVFeFJOZ2pQM0VLc2Y3S3VkMmFOOXdJL2ZDWXlMYUh1TW5SYVBScVhkZHlv?=
 =?utf-8?B?TW5VanBRRnE2V0dUZ0Vwc01rSTdwaEc4dWxwM3phOVFlY2Q2b0FKbkc3YUlo?=
 =?utf-8?B?OXF4aXVvTW9hWGEyc1p3MW9paXpVRjI3OVNjSWJzM0hORjlPL1o2MkNrR3JZ?=
 =?utf-8?B?TFNEUm9ETkpXbXhaclFpMVJNTzFQMzFzMTRqaWFiNVhheDBWanBNY2UvVlU1?=
 =?utf-8?B?cXFoaG1MSXQ1TStmQ0tYaDh4MWFybkVFWUw1YkQ5Z0hpdFJqai9Bd2c5VlZQ?=
 =?utf-8?B?NmRlTGFaV2dZZThneHlJTjl6VU5nVlloWUJSSllZVGNLbnBySU9TZGlTYlp1?=
 =?utf-8?B?akpmZVcreWVVNDBCVzlpM25RbFdTd2M4YTZXeDNOb0RmRHU1UzdBY2tQMVc2?=
 =?utf-8?B?b0lIbXBwazlkWmZwUCtGMExuNWZld3BUZXlOQTkrdk9rY1pSdlp2VW1reTNJ?=
 =?utf-8?B?N1ROSTRmS1VkSFY5aWd0VFpkQUhuZmJNS1dOTHFTSjVRT2doUTJadTRlNDJj?=
 =?utf-8?B?VmtKLzB6Tm56elNZZ1YxekxRY1MxdjJTTmtsL0ZleTVyM2FZaVhjbzVxTFJX?=
 =?utf-8?B?VVo1QTBJbkFUcVlURDVNMHJMeWFNRjBDeHJVN24rcjV0S3AvQUxKNi9yejZW?=
 =?utf-8?B?ZTdxRkJndUxHTitMWVM4RjlPN1NlQXVpUE1ETW4rUUwyMitaUVZpd0lsTndO?=
 =?utf-8?B?YXVnL2JKUjY5U1RMMDFTSG5yRWxzeW9PTEtlQTYxR3VONnRaT3Fzdkc3SUh1?=
 =?utf-8?B?a2s0T1lKZDV3NXRYWkJRd3pIcktCRmN1UTNpdDZBNW5vK3kzSzdUaURHQkdR?=
 =?utf-8?B?cDFZVmdJL0tiT05nWDU1eFQzRHNpTS9HbzY4ekpOMFRoaVZyTkM5UEl4KzZn?=
 =?utf-8?B?QzZEUU1QbkJGcVBiVWFCZ1ZPYy9NV0R4WnVVUmtBd3NEYTRSMU9xY0RaMkFy?=
 =?utf-8?B?ZlFmeDluNTlWdWtRaDZvSUo3dUplWlBHZElycWwzc0hnZE9LaGdyTEE5Y3l5?=
 =?utf-8?B?NmVYTkEydE5Eb25vVTFoeVV4bGZod3p0Z2pEUTIybUNsNjNTWm1nTWQ2WFVv?=
 =?utf-8?B?WDlMaTM5S083OUpYWSs0NEZPWVhFWFl0bnFidUlNYnUyMkFseU4xKzF0UFBC?=
 =?utf-8?B?b0NIbmxpNFo2Uit1a1JhazdITUhZSitGTzVlVUdsZnplbEdjTHdsUitiS0dq?=
 =?utf-8?B?a3YyWGlQYXVDNXpNZ3pZUGNjL1JRR1grYURnQzJIOEx2WUwzRlpOZjQ2VW93?=
 =?utf-8?B?MTZLN284U1JjbHJYc1lETTVnR1h5aEZEZDFrSFNuYTJKMFVKdjdFQitjM2xj?=
 =?utf-8?B?czQwaUFVYVlLeHhwbWxwckd4V3ZjT3VnQzJXRWV4dEN3RlRlbldhZ01NWHhh?=
 =?utf-8?B?QnZuZWdoZGpESERJeURMa0FtbjFya0E2VDYzZmNaa2VwM3ZBOGkwenRTWklE?=
 =?utf-8?B?UU1ubTFBeUVsSjZCaVhRMWFVK1d0K3JHMUhyOUVxajQxODJFRmxUd1BvMllG?=
 =?utf-8?B?YzVaLzhDMTRQaURFSFZYTUFkSDk1YWZYYUdpcW52ODBYRi93T1Job2N0TjFw?=
 =?utf-8?B?eDA2ZnBmWG41Mmgya1VUbmc0RHJmd0xnOW9pOHZyNzh6T3U4SW9ETHg1aVhG?=
 =?utf-8?B?Q1dxdEhPVW1GdDlrSGhlR0w3RHZXS1ZUN0U2ajJ1UXBoOHdkSFJFM0s4dzZm?=
 =?utf-8?B?Wjd2WmpoVlJLVHk2ekh0bktqY3hLSkhDS1N6VWdySGo3Tkl0amxMbWNTZnhG?=
 =?utf-8?Q?ex5YbC86h4bLXceV6KcD1jqonsqfNC2z/stKf4W?=
X-MS-Exchange-CrossTenant-Network-Message-Id: eae6753d-0be1-4c90-64e9-08d966f20bae
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 11:26:41.5372
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: h6OnXu1UmD0WqQd/wWXDtmRpB9salo8aKTsQM4A3Zd9Uv7sTQF7ktBGtG1xm/vBhXCAXWnb04POgitILJRR8rQKxDmFvgOHA34ju8K9rZhQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6272
X-OriginatorOrg: citrix.com

On 18/08/2021 21:29, Bobby Eshleman wrote:
> diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
> index e60af16ddd..d0a4c0ea74 100644
> --- a/xen/arch/x86/traps.c
> +++ b/xen/arch/x86/traps.c
> @@ -858,13 +858,20 @@ static void do_trap(struct cpu_user_regs *regs)
>      if ( regs->error_code & X86_XEC_EXT )
>          goto hardware_trap;
> =20
> -    if ( debugger_trap_entry(trapnr, regs) )
> -        return;
> -
>      ASSERT(trapnr < 32);
> =20
>      if ( guest_mode(regs) )
>      {
> +        struct vcpu *curr =3D current;
> +        if ( (trapnr =3D=3D TRAP_debug || trapnr =3D=3D TRAP_int3) &&
> +              guest_kernel_mode(curr, regs) &&
> +              curr->domain->debugger_attached )
> +        {
> +            if ( trapnr !=3D TRAP_debug )
> +                curr->arch.gdbsx_vcpu_event =3D trapnr;
> +            domain_pause_for_debugger();
> +            return;
> +        }

There's no need for this.=C2=A0 Both TRAP_debug and TRAP_int3 have their ow=
n
custom handers, and don't use do_trap().

> @@ -1215,6 +1218,12 @@ void do_int3(struct cpu_user_regs *regs)
> =20
>          return;
>      }
> +    else if ( guest_kernel_mode(curr, regs) && curr->domain->debugger_at=
tached )

if ( foo ) { ...; return; } else if ( bar )=C2=A0 is a dangerous anti-patte=
rn.

This should just be a plain if().

> @@ -1994,6 +1994,11 @@ void do_debug(struct cpu_user_regs *regs)
> =20
>          return;
>      }
> +    else if ( guest_kernel_mode(v, regs) && v->domain->debugger_attached=
 )

Same here.

> @@ -2028,6 +2030,12 @@ void do_entry_CP(struct cpu_user_regs *regs)
>       */
>      if ( guest_mode(regs) )
>      {
> +        struct vcpu *curr =3D current;
> +        if ( guest_kernel_mode(curr, regs) && curr->domain->debugger_att=
ached )
> +        {
> +            domain_pause_for_debugger();
> +            return;
> +        }
>          gprintk(XENLOG_ERR, "Hit #CP[%04x] in guest context %04x:%p\n",
>                  ec, regs->cs, _p(regs->rip));
>          ASSERT_UNREACHABLE();

This path is fatal to Xen, because it should be impossible.=C2=A0 If we eve=
r
get around to supporting CET for PV guests, #CP still isn't #DB/#BP so
shouldn't pause for the debugger.

I can fix all of these on commit.

~Andrew



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:31:28 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:31:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171241.312495 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUeN-0005cl-Cq; Tue, 24 Aug 2021 11:31:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171241.312495; Tue, 24 Aug 2021 11: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 1mIUeN-0005cc-9w; Tue, 24 Aug 2021 11:31:27 +0000
Received: by outflank-mailman (input) for mailman id 171241;
 Tue, 24 Aug 2021 11:31:25 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QsuA=NP=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mIUeL-0005cO-8X
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 11:31:25 +0000
Received: from esa6.hc3370-68.iphmx.com (unknown [216.71.155.175])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id cfbca350-04ce-11ec-a8c8-12813bfff9fa;
 Tue, 24 Aug 2021 11:31:24 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cfbca350-04ce-11ec-a8c8-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629804684;
  h=subject:to:cc:references:from:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=okCvCL6unY6Oxq6cM6cerbg3mRfQ5bdLQKOd8vwAJVU=;
  b=hexB6h6TV10QHSjwAtdg9Rcxu54WLoY8nUhlbDh5RJFcR66mlyG0WA0A
   DdPDRQ5E+TjL5/Q7ghtnGdU8VJD+ckVM0zWei9eppwH2KopmguSmwRVH+
   doM6Xe0rnCqEqX8FfBgBkrCwi9RBnZnp72GMGe+x0+UQuErvldg2VQX5Z
   M=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: CeP/0QVDdfUqVwjc+tmmQgHBviagfe+IrVaUNW8+oRW6gFq4LONLKFCFr31mJCwaqLTxpBJE9v
 g06YejplDhdrcevwIrzep/gJ1A8C6bi1xHbSmXk4w7WhyjZMjO0ezySy1DO9HL0W/jGPulGrDI
 B5UF3bG50trR0//ifydNO75j/iNH0d0b3FE/FQOrm10TOwNxe5mF5umeAwstDVSKv5Ce6/uSxD
 4tOa736JtWRsu/Xz5S2CHKgCXUeyGi/E9FNGUsl2DVYC3lr3HRsep3J9HlwWHgZmy9Gif+QKMF
 bVjozxxAOzsojf5l4mPtIqDy
X-SBRS: 5.1
X-MesageID: 51168895
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:rgm7cql5D8PytzpXvSIdum2fKCrpDfOpimdD5ihNYBxZY6Wkfp
 +V88jzhCWZtN9OYhwdcLC7WZVpQRvnhPpICPoqTMiftW7dyReVxeBZnPbfKljbdREWmdQtrZ
 uIH5IObuEYSGIK9/oSgzPIY+rIouP3iZxA7N22pxwGLXAIGtNdBkVCe2Gm+yVNNXh77PECZf
 ihD6R81l+dkDgsH7+G7i5vZZm8mzSHruOpXfZAbCRXnjWmvHeN0vrXAhKY1hARX3dmxqojy3
 HMl0jc6r+4u/+25xfA3yuLhq4m2OfJ+59mPoihm8IVIjLjhkKBY5lgYaSLuHQQrPu04Fgnvd
 HQq1MLPth16VnWYmapyCGdmjXI4XIL0TvP2FWYiXzsrYjQQy87MdNIgcZjfh7Q+yMbzZxB+Z
 MO+1jcm4tcDBvGkii4zcPPTQtWmk29pmdnufIPjlREOLFuLYN5nMg6xgd4AZ0AFCX15MQMC+
 91FvzR4/5QbBezc23ZhG9y29ahN05DXCtuenJy/fB97gIm2kyQlyAjtZUidzY7hdEAoqB/lq
 D52v8CrsAXcid+BpgNd9voQqOMeybwqFz3QTmvyfmOLtBPB5v3ke+C3FwC3pDgRHU59upGpH
 3/aiIuiYcTQTOjNSTc5uwFzvjyKF/NFQgFjPsuvaREhg==
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51168895"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OeVGh31uUE9wymK4dXYqU5nJ6Dr8MbuZhQfHV5+NNAVD0wH489bY6pCjW+WyEqwT11xoOX6yzJmj8W9a4tCbhsnTRZJGFuZglgwCVWhFPjPSnRXnXqxk7D5nvU+yT/RKfLNEANniSlFB9qedlTAzm0kYlw+2uFeKVhHLGVD3XH46fXZB2iP+vxlVtuo14dJz2piTeNPg3D5xftiin0lJHh16UuJTzVIqUUZ/jJ6HnpJ714d1p0vX4mMZ+fm4KjZzMdHVVmI9vw7hJbIc1QjeRHRdQVBqwWYm9r8ETyt3iG2um/OfGrY5PuzEMxH4wigb5C03gG6EkBXyxYrkYDEiQg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+Y6QpED9NF6eTrwNlrEL0x9inj4iERROlk8v68fSxEk=;
 b=CF8EFfOn23lwJliLt3gCVn8z1uot7PsTAhHZxqYVEARzs0UZZx1Z6srwHX5N/wvBNh4mRuHGWvqvPSSKvgSQ4MK6vAMleX7rAqBaoAIkdBjwZ9u36Pk0u4SpdD6kAz/MkLX0Epg7rl9dv55qPj4N5eDg3psoHCnfgyzXQIoYXqAQDn1mAjQ6Q2+mNEX2KcHA7AvrHVlTihubynFpigVgyd6ZKNdH6SxeTUax2uBwoT9NqIF9HXSlbSmc06sC7obcMuenhcPMmNyH/UCK8EtIfZWjXjEUPBd8T5pl2w8AMJjRd3YJq35vyR8gh9Irm+o6YCn+X2KOzGuVhmBe62rz/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=+Y6QpED9NF6eTrwNlrEL0x9inj4iERROlk8v68fSxEk=;
 b=Cc04A85NKabS0FXgwH9Ab4NgsruVR10/GqHXKxEsr3mkARVtd2Wo5sYCntVesTZkbxL/kjOdkCweiBCySelddG1HGYZH5q5V8YtVNEgwBLicOooTlqbgDK+SCJhK/Lp+zXPv8RhRY90CvoejfRrDxqzF/0DRcxuVhRdGr7v1RCA=
Subject: Re: [PATCH v3 3/6] arch/x86: rename debug.c to gdbsx.c
To: Bobby Eshleman <bobby.eshleman@gmail.com>,
	<xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Jan Beulich
	<jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, Elena Ufimtseva <elena.ufimtseva@oracle.com>, Jun
 Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>, George
 Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>
References: <cover.1629315873.git.bobby.eshleman@gmail.com>
 <9ab53497cdd52e3aeaeff8079d934dcee94d6479.1629315873.git.bobby.eshleman@gmail.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Message-ID: <897e6c6e-2d41-5a0b-931b-f94824fa581c@citrix.com>
Date: Tue, 24 Aug 2021 12:31:13 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <9ab53497cdd52e3aeaeff8079d934dcee94d6479.1629315873.git.bobby.eshleman@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Content-Language: en-GB
X-ClientProxiedBy: LO4P123CA0406.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:189::15) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: fd153b15-5d2d-4aca-d7ab-08d966f2b272
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6272:
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <SJ0PR03MB6272E965DF10E8C524C07C63BAC59@SJ0PR03MB6272.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:393;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: nvmdBElL/1L+Zm1n90kvMoYue6N+YMnEnZ2iCtF1yma1i3PjUftesFEpXFCMfHx73rHtV+wb9yCu4klcjWt/54sLD/DiKXBWHwpunWCbMJhMS7ZgAw621oxMyvbcSQa4ymAxpnrsZQjhwvMWsJdGKZlVL+x0HvG2+aPK/wm8EtY4RqSbP7AgycGz1Ps1tCJV0dPs7g1t/oXktf2H2spoYyWUJhaB9SWO7wwAPW/L3eoEHPvPQPk9xcMwZSMjM041ORvV2IdQdf5iiBx+3bqULkZP6cEly/nCFZ6E9N8uZ7zAos5AsZNVObg/mUTPaVwCQ0ZyPvu+UdnLjAHAJf3OJaeS+cCSdT9GqFmAT05dNurUFi8JsAgxX1nvDmT1hZbMu1Y9Igg/yNIA+9LCArs06dy7n7szBlVM6Z1L4aNtIJ4ZAGmI+At7VH2/QvAGBCbl6sCS3yeDc5dXLasju4v5dAth3lEZMX1OVzohSUWP7UVTeKI7R81mmqqcaLYoMrCmXhRr02POx5qcgsWrvidWXVvPxrigOcstfQXphmAQAwkx22Dfst2CdWqCVyK7rfsGm88HXs//PjR7m5iJuAf9Aplv9Hs2vVjSBr3LYGspzNmiJTfugDCD599dhw70wNEqYPPpKt/FrdajrC8egy1s5E56s80tgP4hDZt48xhItFzFvUikCdVZdfklAkP18jDbdJndElZbGRmkxR0b1JPYcWxoHdQtIkhex5tG2y6Zhkc=
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:(4636009)(39860400002)(376002)(396003)(346002)(136003)(366004)(31686004)(316002)(66556008)(66946007)(478600001)(5660300002)(66476007)(6666004)(4326008)(6486002)(54906003)(2906002)(83380400001)(956004)(2616005)(8936002)(186003)(53546011)(38100700002)(86362001)(4744005)(7416002)(31696002)(55236004)(8676002)(26005)(36756003)(16576012)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dEZ5dEtBTkptbi85Y2phQVNGblBsSUE1SGdLaUsrRDJLakRDR0VkajFkUEdl?=
 =?utf-8?B?bUcvRXJDWGxYQW9hdUhDa0dNYng0d3JHaTlJNGh0RWR6YWlqSGtZeVd5Q2tE?=
 =?utf-8?B?UFBYeElLdE5MWFhNOHh1ZHZnc0xzSVFxUUNYSXh2WGdYWmlLdHQ5TklySUFI?=
 =?utf-8?B?dnlDTEtWRWVxblFJeGRIU2IvVWdKMjFHTTFnL0tWZHpkV21WcjUwVGFxNmM5?=
 =?utf-8?B?WlBGTmVaME9SWjFxVVA3R1dRRjRVU2FJcTBEVjNLbkRtMUUrU3lmQnRoMUxW?=
 =?utf-8?B?aEp0VnR3OEhMbDlVaGRGK2xMK01TbjZIeGxTNDZxOHVyTXJ4WFZVTVcxNlJh?=
 =?utf-8?B?MzBwMk9JcUNKVjRIV054SmZkbVRiQks2eDBISDJyd3RHZG4rWThJYmdycDRa?=
 =?utf-8?B?bkhPaVU4b3lNUVNVblJaa0E1RUJicTBzNkdnWU44RlRSbTdxODlnc3NMVHdv?=
 =?utf-8?B?NkU0WmlQcHhuRHRZanljR1ZlV1M4cjIxOWxHam03aW9oSVJrY29wSHoxRGtD?=
 =?utf-8?B?a29IdXJLajhvVDZGMG1paDlxZkk0SnNpbjkwc3RCZWlHY3ZZS2JON1JhelNO?=
 =?utf-8?B?bkc0M0tEVEJOR0tJM0RnL0JJM3J1OEM3eTJPQnBoT0NXNVc3elo5MkJVNnVu?=
 =?utf-8?B?UG9vL0UyWkh0Nk9WL0xQQXlZWnN2OWlTbWlrZUxPaVl5cVl5STB2RDZpeGc3?=
 =?utf-8?B?RUNFSFVzY3pOMWpPcnkyS0ptQnN5Q3lpc2dYRkMwb3lXM3JYSnJ3WlZ5UkdE?=
 =?utf-8?B?Qkt2d1cySm1kVHJZRkZCdUdyTUtWVjFseEpxY054dERVT3pQVVpYYzdkUHp2?=
 =?utf-8?B?TnE3dTZXeHJKRzcyQnNzZVhtVUhKcWRnVXpEeFJMOWV4TGJHNXZNWHl1YnFu?=
 =?utf-8?B?MWR4d1Mra3UrSGh2UHJSZ0tKVmluVk9qdzlNM29ENDA4YWx6VWlzOWxGQnVR?=
 =?utf-8?B?aGU4TVROVWNqbnN2MHNzSm5Gc251K0tzSHRNM05rYm5teStNeGN2MGtFNUZ4?=
 =?utf-8?B?MW9GZnVhczFlWU9NalUwSEFxb25sRFFMOHRTdUwvSGFFMnBUeEFVdUppaE1u?=
 =?utf-8?B?cEtMUHEzK2FCRFBEekJva2ZuYSt5WXVsKzZqak5vN3lRUWFyMG5YMEdackNy?=
 =?utf-8?B?cWgzTy9LNWRYNHFYTlA2S3E0aVhNN0dXcnFUZUdlSzl1VlpkTDNjaTBvcGk5?=
 =?utf-8?B?dmw4YklWSXlBTjVlRzUxMXBKT2p2S2tRVHpEY3BsOE9od0lYVm1ST0NhWm1V?=
 =?utf-8?B?QmJ2SHEzdkR1RmhnTU5uNUViYWk3eUE3RW1MOFM0Rm16MVpDeUcxRVlBd3VF?=
 =?utf-8?B?ck9EZVZjMDQ3a0l0dzltcmdVVU1vRU9VdnZ5ODcvUGpiTExDWTZkd29BUDJh?=
 =?utf-8?B?R2hoTForVG4xSG5vV3hlczMrb091UURvZTNuZG54YzA5R2ZnTmlzYzRXQll6?=
 =?utf-8?B?TUdyMGZIbHNWMjI2bHVYM2ZaU2pIVDd2MCtMM1ZaS3NHQ3BIY1Z0VlRlbE9u?=
 =?utf-8?B?YUZ1WXFJaEY1dmx6d0RDaWVaZFBZRHdDOW94YXF6L2pJelZDbU9qenEyQ1Rn?=
 =?utf-8?B?MUNBK2ZZczA0c0VFUWNUVlMzcXlmbVc4U3ZnclE2aEk2emRXM2ZROUFLWTZI?=
 =?utf-8?B?aVRWUkF5NlRkSXZQanVLV2pySkJRNHZGamFldTFnemRkSmk3M1doYXBHbHFx?=
 =?utf-8?B?SlpNRHV5WmdCdEpxTUtPN0JURStlNHhlczh3YWFiZUdKUWZwVk01S09rOHUy?=
 =?utf-8?Q?AJz2jnxlzvAJ6kr5M7/VtqUXXzvW+zQTmzRWgxB?=
X-MS-Exchange-CrossTenant-Network-Message-Id: fd153b15-5d2d-4aca-d7ab-08d966f2b272
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 11:31:21.2854
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: fMSPu+jEAqwN1EwH9RYd1JOPJ/4KXwMBNgTE870AmAakRoKGP6BJM9mR4vt8kpass+c32zDaer3SngdCCZ1dT+g8LKf7Iudt0kUy7PeBf2I=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6272
X-OriginatorOrg: citrix.com

On 18/08/2021 21:29, Bobby Eshleman wrote:
> diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
> index fe38cfd544..ef8c2c4770 100644
> --- a/xen/arch/x86/Makefile
> +++ b/xen/arch/x86/Makefile
> @@ -20,7 +20,7 @@ obj-y += cpuid.o
>  obj-$(CONFIG_PV) += compat.o
>  obj-$(CONFIG_PV32) += x86_64/compat.o
>  obj-$(CONFIG_KEXEC) += crash.o
> -obj-$(CONFIG_GDBSX) += debug.o
> +obj-$(CONFIG_GDBSX) += gdbsx.o

This wants moving now to retain alphabetical order.

> diff --git a/xen/include/asm-x86/gdbsx.h b/xen/include/asm-x86/gdbsx.h
> new file mode 100644
> index 0000000000..2b8812881d
> --- /dev/null
> +++ b/xen/include/asm-x86/gdbsx.h
> @@ -0,0 +1,17 @@
> +#ifndef __X86_GDBX_H
> +#define __X86_GDBX_H__

Broken header guard.

> +
> +#ifdef CONFIG_GDBSX
> +
> +int gdbsx_guest_mem_io(domid_t domid, struct xen_domctl_gdbsx_memio *iop);
> +
> +#else
> +

Need to include <xen/errno.h> to avoid breaking the !GDBSX build.

Can fix all on commit.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:32:47 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:32:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171247.312507 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUfc-0006FS-Ot; Tue, 24 Aug 2021 11:32:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171247.312507; Tue, 24 Aug 2021 11: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 1mIUfc-0006FL-LM; Tue, 24 Aug 2021 11:32:44 +0000
Received: by outflank-mailman (input) for mailman id 171247;
 Tue, 24 Aug 2021 11:32:43 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QsuA=NP=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mIUfb-0006FD-6O
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 11:32:43 +0000
Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id fe639b14-04ce-11ec-a8c8-12813bfff9fa;
 Tue, 24 Aug 2021 11:32: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: fe639b14-04ce-11ec-a8c8-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629804762;
  h=subject:to:cc:references:from:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=cqj61IAy6MZ17K6/1ZqxTDC5GkKaLjnkao9Mp6K3Auo=;
  b=UVznGPXN2J5rKwnboE7ZZQTBqRau6zHa2kIfPnQNICwb90cOhT92qxCa
   ufPsZqEnuf06vWRN6PKSJIb0YbrpzdIs8MxQnSZDW/QAHBhBK5xHMZoOv
   ZB48ol171DrQSVtbuYEm1nuyBxA8qDdjyt1vqbSRMN+zo5DAyWJJWApqR
   8=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: wp78ZzSYFOuM9vN0jSmD6r18jW5ikuBg80+2BOnU3dHst/ZDRvwWnWFR2Vi+tGibYdvIfyBooC
 APh+PdLfCuXxFyWjbs6a6J1FTwqmLpPkLz33Z328bSj3yrcL1yIT6IvJtaKcrw9UOjbhGTjwgr
 cggobqRFVgoGtpBtbqjtWVZ33noPtctbYYpByvsU24XxI6bCSioGmxQghEVS51QJGPmkbaDw+4
 Q36RkhOy4i/TK0RF8X10XKRouOqfr0xCbN097pd2YQE7wMxiC84r6XVmAOuYMZ0PuZ836niiyz
 qNHP/4yjZz8vvzwoJk4RE6Ai
X-SBRS: 5.1
X-MesageID: 50774808
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:XilJZKPTpgV2pMBcT0T155DYdb4zR+YMi2TDiHofdfUFSKClfp
 6V8cjztSWUtN4QMEtQ/exoS5PwPk80kqQFnbX5XI3SITUO3VHHEGgM1/qb/9SNIVyZygcZ79
 YbT0EcMqyBMbEZt7eC3ODQKb9Jq7PmgcPY99s2jU0dKj2CA5sQnjuRYTzrcHGeKjM2YKbRWK
 Dsnfau8FGbCAoqh4mAdzc4t6+pnay8qLvWJTo9QzI34giHij2lrJb8Dhijxx8bFxdC260r/2
 TpmxHwovzLiYD69jbsk0voq7hGktrozdVOQOSKl8guMz3pziKlfp5oVbGutC085Muv9FEput
 /RpApIBbUz11rhOkWO5Tf90Qjp1zgjr1fk1F+jmHPm5ff0QTorYvAxyL5xQ1/80Q4Nrdt82K
 VE0yayrJxMFy7Nmyz7+pzhSwxqvlDcmwtmrccjy1hkFacOYr5YqoISuGlPFo0bIS784Ic7VM
 FzEcDn4upMe1/yVQGagoBW+q3qYp0PJGbBfqBb0fbligS+3UoJjHfw/fZv2kvpr/kGOsF5D4
 2uCNUaqFlMJvVmJ56VSt1xGvdepwT2MFvx2VmpUCDa/Zc8SjnwQq7MkcAIDd6RCes1JbsJ6d
 j8uQBjxCEPk3yHM7zH4HQMyGGWfFmA
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="50774808"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ge5l5VtOpO0p3cg90H5LZ7paQOLsipBv9fCDBPzMwZ6ruo2urhOdvRcfxIzqavAjAHCG6xmKJATcqTR4ZGcwxUG0X+fNufwNWkP7zIqv6a1lu/azQjduQmRtNM9B64P5Y+k+qtwt7GE6ikoTe0tfgNHeCVSvzo6DehrgDe7aLP6REAKYwHZTGmZ8oG1yBgFEjXOQxdrgs04abBKDiNNoMOHkYryJBgR5r/aauAit62Lrtl29LsMN606PDjuF8vSPiQRc8i8fR7uDzm4G8e/6jh8fgUtnQCQnEQy0Akgpc4wBIJn0EEKTecWQk3TmmveUlbAzV1zF4zHMNTyK5RSVCw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cqj61IAy6MZ17K6/1ZqxTDC5GkKaLjnkao9Mp6K3Auo=;
 b=U+LcMvOjtCVLats/rPR0HuKYmdOtKy9/LzN9jJ4HyyM5rEu0NbPn7HSprGAvxdnK+ASuN38vPsbXe1Xj7PHM1tqmV0kgDEDv2bgnXgy7mWGgV2AVuZ9i9By6rN7Z4QmZwX7xkJeZu7yyTLcNiQrHxA6B+0d/Q+nlc12sh4TcjFBWeE4SpfahGe4rKOb11d2NTJphuEgpIgvIvNfA3ioWPzfOlarGJyGB3XE+PIMvt66nFYPxNkch5SQQOBM63D0zFvurffXTmSRJupcFFCtzHa560dET87KP1lWNIGl3WLVLUTnsTXWUaDoNXvPVX0egOFnCiM2KsoAEb+qBp1USfw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cqj61IAy6MZ17K6/1ZqxTDC5GkKaLjnkao9Mp6K3Auo=;
 b=Gn39XDf2g/aXuIkoK/k0088lZr4/qsItw78S5CIedBmim4Yd002Ren5oVgRR0+QanW0PX55cRvTkkPhW1WqIW8QecYnIpx93mSh2we0dFOjHSLZaPgXk4rRY3rOXPPrH7EkKjF1jRXj5PevVNbzsO7/FG/NLV58zym/qoCGsj7U=
Subject: Re: [PATCH v3 4/6] x86/gdbsx: expand dbg_rw_mem() inline
To: Bobby Eshleman <bobby.eshleman@gmail.com>,
	<xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Jan Beulich
	<jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, Elena Ufimtseva <elena.ufimtseva@oracle.com>, Jun
 Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>, George
 Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>
References: <cover.1629315873.git.bobby.eshleman@gmail.com>
 <7833b4a327212ff0fc816d17f91fa09291d6afc2.1629315873.git.bobby.eshleman@gmail.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Message-ID: <f79cf6f7-0203-2d0e-99f7-effe2fe39880@citrix.com>
Date: Tue, 24 Aug 2021 12:32:30 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <7833b4a327212ff0fc816d17f91fa09291d6afc2.1629315873.git.bobby.eshleman@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Content-Language: en-GB
X-ClientProxiedBy: LO4P123CA0409.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:189::18) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f383ac89-d8c1-4678-12d4-08d966f2e078
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6272:
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <SJ0PR03MB627250F75069600A0ACDD82EBAC59@SJ0PR03MB6272.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:159;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: MTEaykyjelGIgEOpnkCnPRn8qYzpTcFpp9/NlfAUIFnJRb7c1YYEfwsWnUeUN3iqFVA8FDPrcak/dtCR4v+2yplUhzmnBlw1iqtVhELkesQF1kkFWce5eMWENJoAP83/5Adj5cRSUusyV8P/hgQMWGGunZ8tP+dQkh7UazOpPnUwKh0+GHr7qX4j4xnPsMFcI5Db778EqaCE0Lq7Z+/hUR7T9n6lULh2qV0AjOupz+zX0D0DMsGHxNopv5uaZZeyKnB4mMlwe7Jhcp89fi2ARoTJI7nF55JH57mZw54sRiMYDCHY7aSNMILt3kCbKvwgOUjdeRQnwkvY0V0jORtQqyfG98vbMp19L+kI6QQKwO1hHR6hekjM0KiqF0XgbCvofaGg7ybIBnO4osbzVwvqirujyMqtOL67nRL0Bg+pJMCuEM/oyr5/15zbk+whPFfawg4qUfpdf+e1Mv6I9fnDrHpqMX4p/jRmsHNeDzP29nu662e6drvsWqxy5XEDFAvZuQBtj0d74K9zeGl29d9uApD15CfMJKcJdo6ktrnGe3uCoMZwt1JDzIiR6z3C2+NWRjjE20W+saxoHBzlbf3nfqBUfBRoUWubKcN3W0G6jjuN7/PFouCf4kJaNHekSmzWfMXrZG00VF8voqw/uwBwkhI85h1AQXMVpWLaAXAgjbf1eDZ4qU6IdMI4zBgpYo30r6j2AOmArWjkCHC9Hk7v09cY2nZCrq+jaWx7l5i1ICc=
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:(4636009)(39860400002)(376002)(396003)(346002)(136003)(366004)(31686004)(316002)(66556008)(66946007)(478600001)(5660300002)(66476007)(6666004)(4326008)(6486002)(54906003)(2906002)(956004)(2616005)(8936002)(186003)(53546011)(38100700002)(86362001)(558084003)(7416002)(31696002)(55236004)(8676002)(26005)(36756003)(16576012)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dm9GMWlCaVM0TlNZZmFRbU1PNUFhNk9sS0tGZDBtTDc3ZUQ5a3AzSXp5dk13?=
 =?utf-8?B?RDJZMjAyY0Q5YVFCQWcwanNvVjZLREVXS1F4RzdKdnN3SkF3ZWlNd2pjQXRN?=
 =?utf-8?B?QTVZeWhuRVoxcTNKQXhGdi9WUktwQnhhTmNHSGtEamEzZkVOQWRTT0lieVFr?=
 =?utf-8?B?R0YrdGNNcHBLRTJUcHlOcCswa2RpaUJua0QxR1FtNk9ER2hZUkVYM1ZvdGtS?=
 =?utf-8?B?SkpUckNvT2xXUmVXeStHMHZhZnpDZzNDbXI4ZUE5RzdRcFdHSnNkUUxqMnp4?=
 =?utf-8?B?QktMaktuZVpuWWpCaVlrT0RndjRiLzlSSk42eGFOeTEvWUNXaWxGUUl4aHFZ?=
 =?utf-8?B?aWp6dTQyRy9nQzU0RlE3MTF4aWh3NDBXd3ZQbFpmdUlXbHlOcmlkZHhNaVpT?=
 =?utf-8?B?UXN2elNwaE43VHFCYXh5dXAxU2Zva0xmSThUcjU0d1FNTDVJY2R1YUtrYUhE?=
 =?utf-8?B?RjUwZDdWWS9YTXpJY1lmNEtIQzdtdmJKUDAwZ0dkcmZvRUlXZklubG9GaG40?=
 =?utf-8?B?Y2JLT2xYS1ZXU2VTMlV3VnB1WTRnQUt6NkZRNk5QZTlPVzJTeDc1Umh4VHpM?=
 =?utf-8?B?TVRLL3JkNW5vcDVDc1lFTUdwN3FhSVhNUlU0RFB2UWdpTi91Z21Na1ZndHNM?=
 =?utf-8?B?Vk9MNVFLNFU4ZEcrZ0FCbGp5NkdxL1phK01ULzRaYkZhNjlTOXd4UzFhZjdM?=
 =?utf-8?B?RmVNczdrQmVaaDVYQzFlUVA1QVg0SFZzdVNyMmsybnIvejE5SDdjUkJWRUF4?=
 =?utf-8?B?Sldrb1JrZ1RBd1cxV2ZnNWtqdDFwZEFuQlZ0RWV0YmdEdUI1Zlo0WC8xWjdw?=
 =?utf-8?B?OGhCOFI0aENweGJzcTZMVlRReFkzajhDUmErZmw1WTN2SmI5cWlKRUlYb0ky?=
 =?utf-8?B?V1dpK21SVlZETlozSmpwbTAzckNoVUpPRjVrMnIyL04xU3p5NXNYcjMyZTBL?=
 =?utf-8?B?TzRXSEFyY2FyWDdEU1R3ZmRpQ3BhdzNrOVhDbVZsczYxTHJNUExKZW0yeTFG?=
 =?utf-8?B?c010TE9ETmdCbmhZTVNNR2pUeElYZThsUi90WElZcFloRERQMmRRaXFHMDZa?=
 =?utf-8?B?cFBhTXM3Qm5WdGhyanc1VXJuQ1poOW1yVnpCSldFVC8wZkFlbnVWbS9HcmVz?=
 =?utf-8?B?bnlxZFlTNUx5ZEQwc3ZUUCtqSGNBR1Nwek15eTlCN0xmM0RhUTQ1RUJLZnBT?=
 =?utf-8?B?MHJZa25pdTRKSkQ5RmxiSGF4czZGTjBreWFLeVRaVDFXaUpha1VscWJVR2Jo?=
 =?utf-8?B?MWo2TUpNWm9jSzd2MGV3c0tqREk2QUdxdzM4V2k4ZEt5OEJHbEhLSnBCT0hu?=
 =?utf-8?B?OUl5UUp0Y1ZTbjdPT0N0RzgrZjBIeWptbXNINFRFT2dIUXNvUnoxTHl4Qkh1?=
 =?utf-8?B?bjVmVjlUbHQvMEZWa2o3TThmUXRQdEpFR1lhYlRsdFZqYS9qcmU1QWFKay9R?=
 =?utf-8?B?SkFPVWF2TVZ0ZzkwczZMaCt2bnpsZFJBRlhzWWpuMzNWbFJoM0ZpZ0l2RitN?=
 =?utf-8?B?SFBMM0F0TThqUE92V3JBQk5DbWx1cGNZOE1jck9rdDBvNGVCOUhXT25ncXZa?=
 =?utf-8?B?RnFvQUpiRUVaNGF6Sk1kQ0k0MWlMOHk3dDJxNkZmSmdrV0tzdW1NVTJCTXd1?=
 =?utf-8?B?SWhFWXhlRkFDRjhtRUFSMk9kWnlYSlFtNGdEcTV5MEhEci9mdm1GamhEZDk0?=
 =?utf-8?B?eG1tcUJMN0QyVE9pQUdJR29nRmZPYVVhUnBydkh6L3VTbEtZL1FZbWFuOXIy?=
 =?utf-8?Q?+c4+S/AiCkOZGPBhN6JVXEWKnA0/kXvPKzI58Hi?=
X-MS-Exchange-CrossTenant-Network-Message-Id: f383ac89-d8c1-4678-12d4-08d966f2e078
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 11:32:38.5379
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: TmB/dbhvU9aTxDrKZTqWnDB+ZD/MGel41Ua737+m52MtCg5GGC65dQ1vkYwfyF+hYBGKO4IadRHnXHAJl7+LYWRLz7wAeVd9B+4qjo7DKiQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6272
X-OriginatorOrg: citrix.com

On 18/08/2021 21:29, Bobby Eshleman wrote:
> Because dbg_rw_mem() has only a single call site, this commit
> expands it inline.

Missing a SoB.

Otherwise, looks ok.


From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:40:51 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:40:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171254.312524 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIUnO-0007fl-L5; Tue, 24 Aug 2021 11:40:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171254.312524; Tue, 24 Aug 2021 11: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 1mIUnO-0007fe-HP; Tue, 24 Aug 2021 11:40:46 +0000
Received: by outflank-mailman (input) for mailman id 171254;
 Tue, 24 Aug 2021 11:40:45 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QsuA=NP=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mIUnN-0007fY-Of
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 11:40:45 +0000
Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id cdf65b0e-eea7-40cd-9916-bd1cf6dcc370;
 Tue, 24 Aug 2021 11:40: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: cdf65b0e-eea7-40cd-9916-bd1cf6dcc370
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629805244;
  h=subject:to:cc:references:from:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=Uoabe4B8/+aFCcrn+3Y8i+nKAfV1baY5lduepoRvWDw=;
  b=ZbWMWdhLFpAKpQ8IKv5VTRnBjW4mlJ75zeB4LFBbdO5D4T/SVG6J3QiW
   934TR/g/tlU118qWtgALJ7NMCGtCDr74iPrUoelXYKY+Q3iCOEYxjMmRt
   MTrabP7OSx73UOkfCdlDLOtWN29+tzbmABbMQmjMNzPYSjdGJaNJoUV+M
   s=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: ftvs9FKHZst2zFUwFzoZZXtcmRoPb9CpggDswphX7RS+tzpFDMCMPBBRbrLLVifaWaqKXeWsWi
 E8lSmquO7u8Ct3oU1QRUQs1IdTA/1M6kUFQe7Ni3LRrrP5bu1YApGyBl2VAaTW+e6eARKUP/nZ
 2o5DPmveiqyy+YWdWTT17q1yh4All923IUuno9BaX2OmQD5kcfyejX+Q3F7o4cWdt3T2/FUXw7
 495wAIvqgUK5fEvglzPu134FGGD5cIhFOTeIOFasj4K5xz0OX8TSAhU70dV8EU/mkxkugOoGnK
 /aszzCEhwn12O3XMhHKKEwo3
X-SBRS: 5.1
X-MesageID: 51133618
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:1yGcYKjQPU2nTGlyniYvyQtP/nBQX1913DAbv31ZSRFFG/FwyP
 rAoB1L73PJYWgqNU3I+ergBEGBKUmskaKdkrNhQotKOzOWxFdATbsSkLcKpgePJ8SQzJ8k6U
 4NSdkZNDS0NykBsS+Y2njJLz9D+qj/zEnAv463pB0MPGIaGZ2IrT0JbTpzencGNTWubqBJdq
 Z0iPA3wgZINU5nFfhSURI+Lpb+TpDw5dzbiVlsPW9Q1CC+yReTrJLqGRmR2RkTFxtJ3LcZ6G
 DA1yj0/L+qvf2XwgLVkza71eUXpPLRjv94QOCcgMkcLTvhzi6ueYRaQrWH+BQ4uvum5loGmM
 TF5z0gI8NwwXXMeXzdm2qt5yDQlBIVr1Pyw16RhnXu5eT/WTIBEsJEwblUdxPIgnBQ8e1U4e
 Zu5Sa0ppBXBRTPkGDW/N7TTSxnkUKyvD4LjfMTp2Y3a/paVJZh6agkuG9FGpYJGyz3rKo9Fv
 N1Mc3a7PFKNXuHcnHiuHV1ytDEZAVwIv6/eDlEhiWp6UkRoJggpHFonfD3301wt67VcqM0o9
 gtac9T5elzpqZ8V9MPOA8DKfHHQFAlDyi8a157jDzcZeg60kn22urKCYMOlaqXkawzve4Pca
 v6ISRlXE4JCg7T4J61rdJ2Gi6kehT0Yd2q8LAF26RE
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51133618"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bXQImHBh0PjyLtLVbsMGrMvwdtsmHVRK4OXhZKIqfKGYyIuOqkGmPXAWQygg7vQ3KCHLeRg4pv9GQFqCdd+OCyOuX2QHE3ilF2h+JjW1gwQeEQUPppRbPJ8/gTyuERra1TuYvccLOt41T8t7ogJLzOCfq9X6QZp5Udlva8pO/wzF3LXflfsc/Y0vxy5C6tI5cNBZw87D8lH2ZVd5auJAQWe3EeHPpy2wwT2NKCpm5sowb/tAsfgLrbWrpBIgln7xahzYlY/tzuKRfTF7/BY2o+n1FBCK/DlsgFfn/jFz0VMCiabP8kBSxoa0vLlGhxS84MGgi6urCG4NWNB7V8L94g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XG/fbwnPrTM30Rkgzh56dT24dm44KQsvFp/l9APT/dk=;
 b=e3AOu5/yAmr1UbUjF9II+OhSyFLnQDUq0B9xMDF6MEDBu5LefihkIiGKoJruq8CaSOsd1YOlqpHDvWaHxpmbKNk74Yrq8fTz/J9zk0e4OSH9HIR794B99KqMdv+ZTAELrGXncTZ90vfRwcTPYdqnVNpd0+rvR/zXO6wAoRYsnti9UMtaKRwkBpuQNT3j+dqcfLjZRM42dXj+3rWEQ+Q5sfFG1YAp+mzZ/2Tx+Cfqq+CDVT15Z0WudWErIE/oqCd+n1Gi1S0CokuhuPNixotnuoJ4IsPCXeZ/iywb//QPybwYlkfjv/RUhBqPsUhX50B0tGBML6QChS/jCPTGG26smQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XG/fbwnPrTM30Rkgzh56dT24dm44KQsvFp/l9APT/dk=;
 b=omYlIyVGCtli5ODq+EKxU7Avucw/hYQdo96vhP2Cx0Gs8Q8XUQIMnWo5M4IPLXXUnUpmPtcINacq1eb4+Xbse9z0hL4hlU2s0iV181ctTc9EjJUGj5dGAXypfRONnNp1TDQ30A46yzmXAB2JB/R16yY6GLBOSkJrI2Gi+t51nnw=
Subject: Re: [PATCH v3 6/6] x86: change asm/debugger.h to xen/debugger.h
To: Bobby Eshleman <bobby.eshleman@gmail.com>,
	<xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Jan Beulich
	<jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, Elena Ufimtseva <elena.ufimtseva@oracle.com>, Jun
 Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>, George
 Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>
References: <cover.1629315873.git.bobby.eshleman@gmail.com>
 <f341cf43ec2fb32a78d92265740e595f56fa76ae.1629315874.git.bobby.eshleman@gmail.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Message-ID: <6a49192e-6557-64f0-2314-d45f82d9a6b9@citrix.com>
Date: Tue, 24 Aug 2021 12:40:03 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <f341cf43ec2fb32a78d92265740e595f56fa76ae.1629315874.git.bobby.eshleman@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Content-Language: en-GB
X-ClientProxiedBy: LO4P123CA0406.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:189::15) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ec992db1-a570-4da6-112c-08d966f3ed45
X-MS-TrafficTypeDiagnostic: BY5PR03MB4999:
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <BY5PR03MB49995EB529474485035F4EE5BAC59@BY5PR03MB4999.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 6MUDitez1gza001K6moJrcq9mN1i0n3G+LRGIhkWdh2uu91FBLMXVNwnm+WejqqhVnZVQW1W/kgUX15wG37gg8s41hZsDaAOTL3jdImDbuPQJ/LvTi0iBBQQSWSVgKLu1PF4p5Pn5ls/0RIytbuthF+PTls80BJXtJw//WUm8SDh9Tp9ETGz8t1aVj1gLAuGqGgaeDqc4OvSdKjUf9/y3JSB5Ep9Eh6iSOTNHv7JpGkfhsSTobhqh0rvKHA6igUx/5pOtxWeyi4OZNG46WIP9Km4hHUKFjyhnQjZv0U3Q10gA8DEgEdwvv0TrpbEsBP3zj0XewU9F5xFFpG2BXCX4CJIi22gDDhrBPruWdj+tVslmMo1K4pm4NrjId5uC3/tkKm/wAkvei0Asc/6I6lU/6dKOi1h+Klh1VQj6MhLjmRtq0vjOzfb8wLSjuej2Py+BEMSLi/wbB0YkporyU58E0k/pkSuFX4bv+bFY+tizqtgLbKynhhEyKM74LIJz2gTs6asUkdl6ng7qn+mXirG5CeuQKSyRoFviY4p1QO24p6PDWLaPksRsr60+Xdws8h6qUkCvjmXtxVcO7IU/7PTzu6Mvbt5h4Lra0bEpbBYGQQ9I5jBQ5dqyxRKCerjuMnEAdK6iGcNd8PXoExvcJHYFoLbsyPcqFSoUX5kgicigzhfv5AYuUbT5W0Rwf32t92W/ev+muQef4x00Fa1Vtjg6jHPfX8o0xuLUR8aZg7ZMBXadIMY7ItApaxzzSGI8PHzEqi50uAXX+gLPlj2lvqV8LQS5rYg+lg33qjRo/0cTfll72pqEaGSUpdAHthDjD8S
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:(4636009)(366004)(346002)(396003)(39860400002)(376002)(136003)(956004)(2616005)(478600001)(7416002)(38100700002)(2906002)(8936002)(36756003)(6486002)(316002)(5660300002)(86362001)(31696002)(66556008)(6666004)(4326008)(66476007)(31686004)(54906003)(53546011)(186003)(26005)(55236004)(8676002)(83380400001)(66946007)(16576012)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RFhlVFc2ODhoWUh1dkw1ZWZiU05ZSjhIaE1vN2c3VCtGdjhXazVNZTZUci9B?=
 =?utf-8?B?NjhIMDhWeFQzUUhRbDdRRXhKd29uajdSQkhIemlObjA4Y1NnNGhSNDBXeUt3?=
 =?utf-8?B?QjVUbXVFYk9QMGtoVEs2NTdlNk9mZWdJQk82UVpnR0dOZUxiK3YyMTVlSW1Q?=
 =?utf-8?B?NDJBaWpidHhReUtOVzJBby82Y0hSTkN6SVIvcmxtMFJaK21kaFhUOCtYVGtG?=
 =?utf-8?B?RjcvMWhMWElCeXpYU25kRDdzTGFzOVdLNlRCRC9jUG5YaHBCcFBaTEFyZVhN?=
 =?utf-8?B?WU0rWWRUc0xzcG44WWxjbWJKZlZpU3JDeHJ0TWh5dTljYjNKTEpuSW5UYlha?=
 =?utf-8?B?OW1CcStiQzNUVVRIRWZFbmhtUGxtRGxzZS9nM3h1Q0cwQjQ3bEZBYnh4S1FX?=
 =?utf-8?B?WU9LMmJ6WWhwS0dOTENsN2ZpdjFrR1FzZ24xRFpjQlVCT29SZTBMNzUwMDY2?=
 =?utf-8?B?K2h5bWN0d0NqdEtvWTk5QkphWVo0SDRudWlPbzdPS3MxOHllaEdwTnpFVFJB?=
 =?utf-8?B?ZWxUcjBIbGVjYzdESE1GT2UrR3VMSGhDOXZmcjV5VzBXa2hYSStvWmd4ZFc0?=
 =?utf-8?B?d0ZlcEViZkNTT3JMV1BPbm43VzYyTGFwNmMra0FLL2I5VFZ6M21QSHFnT0d6?=
 =?utf-8?B?NVNaODZzekxRU1ltdEl4UkRpSVdBM29WaXNhVDVMSUd4QWUzb2R1eVVmNzRW?=
 =?utf-8?B?MDRJcWVMeGJlTWJvNkZacVNDYldOYUNVampXY3J4RG9GWXJta1pWWjB4MFp2?=
 =?utf-8?B?Mkl4bnVZc2I0ZU9GaVhNZjZBenlpRDZCK1ZuYy9hWURDRW1IQXlmWDhyYVpO?=
 =?utf-8?B?djNycmlMUE53ZTdicVRFUGVnRVNzTGVyQ2FOTnducWxJZkxXRk9LNXBXczlN?=
 =?utf-8?B?OXlnMDJ2TnZ1Z2ZKSWc4SVNoQUVYMUFQbEthTitVTmVaNHVpSGNZdTBtbVJQ?=
 =?utf-8?B?YTY2ei9LZ2FrTXdJWUU4L0lWR21NSFZvTzNOQmFVMWVwWms1aEtGM1U5dW1K?=
 =?utf-8?B?VUNsQkpLQ0g4c203VkdocERnTHNJeGlYN1Y3c2pBNkcxd1pyUVJYQUdKRDd0?=
 =?utf-8?B?Nm5GY0gwRlNkV1J6NnBLaXprbTNsQkJLYU15Ynd5REsrZXpYa1ZFdDBlVHQz?=
 =?utf-8?B?M0VYelBXV3pVZG5heGxMQVVPa3Bkc2djNndMbjFINEhLY2JZWVByaGs5NFFV?=
 =?utf-8?B?d3hyR1dLSitHRDZPbGIxdExwUVpLYVZCakVmTE83Y2ZLTWpMOGhRL2hKeE1Y?=
 =?utf-8?B?RHRKbHo5WURVb05taTF4d0Z6UG5JVFZtZUx2SFo3eDRPMTdFQmJpeG5yQ3FG?=
 =?utf-8?B?RUc0TEVHOElJZGxIQVQrWmIwamloWHFvc2tiZ2l5d1dmQitZQVRjTmltQm5u?=
 =?utf-8?B?clZFTElXRTBjWjlrUlI2WmxFRUFqckgzOUR6aVE3UUs5Q2tEYURBcjRlY1c0?=
 =?utf-8?B?elprblNsZlBOejBTdkkwcDZMS25EUnQ1VjJhZHplMHF1eVY5YmxzbUdYOXdm?=
 =?utf-8?B?YURHNWJsa2Z3WWdxZFRLTWo3RE1UMmJ6SFlKT2ZycE84ZEFlaCtrcXd2VkZu?=
 =?utf-8?B?dVNiOXV3NTlxa3ZUbDBRU2xKaTM1Q0lKMmdidTZvK1AwLzhYdS9ONkZhUzhN?=
 =?utf-8?B?TkhELzN1OGNYSzJqZFN3bUIwcXRMeUFzSVV6aDJYUmhUbWFBNktzYmlyMjY0?=
 =?utf-8?B?bDVMSytLZE83eDJld21GaXEzZ1ZwRWxLdmN3aFlKTjhsNDZ3Z0hLbEhtVmJj?=
 =?utf-8?Q?bBwjl8NAxqd1+5+UvkVY9tPYvcZSmdH4IZsNXYp?=
X-MS-Exchange-CrossTenant-Network-Message-Id: ec992db1-a570-4da6-112c-08d966f3ed45
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 11:40:09.4907
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: h6MwUyhUq/mw8pfHW46TuDuuOlaKN7/LYIkosGk0HYy0MighSTCJRjNeQ+zeu9Iu6MkCRII5s21VRUYU7howsJIXl+ZcRvDNfgYC9e+G9Os=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB4999
X-OriginatorOrg: citrix.com

On 18/08/2021 21:29, Bobby Eshleman wrote:
> diff --git a/xen/include/xen/debugger.h b/xen/include/xen/debugger.h
> new file mode 100644
> index 0000000000..166fad9d2e
> --- /dev/null
> +++ b/xen/include/xen/debugger.h
> @@ -0,0 +1,51 @@
> +/******************************************************************************
> + * Generic hooks into arch-dependent Xen.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; If not, see <http://www.gnu.org/licenses/>.
> + *
> + * Each debugger should define two functions here:
> + *
> + * 1. debugger_trap_fatal():
> + *  Called when Xen is about to give up and crash. Typically you will use this
> + *  hook to drop into a debug session. It can also be used to hook off
> + *  deliberately caused traps (which you then handle and return non-zero).
> + *
> + * 2. debugger_trap_immediate():
> + *  Called if we want to drop into a debugger now.  This is essentially the
> + *  same as debugger_trap_fatal, except that we use the current register state
> + *  rather than the state which was in effect when we took the trap.
> + *  For example: if we're dying because of an unhandled exception, we call
> + *  debugger_trap_fatal; if we're dying because of a panic() we call
> + *  debugger_trap_immediate().
> + */
> +
> +#ifndef __XEN_DEBUGGER_H__
> +#define __XEN_DEBUGGER_H__
> +
> +#ifdef CONFIG_CRASH_DEBUG
> +
> +#include <asm/debugger.h>
> +
> +#else
> +
> +#include <asm/regs.h>

This include should be deleted, and replaced with simply

struct cpu_user_regs;

~Andrew

> +
> +static inline bool debugger_trap_fatal(
> +    unsigned int vector, const struct cpu_user_regs *regs)
> +{
> +    return false;
> +}
> +
> +static inline void debugger_trap_immediate(void)
> +{
> +}
> +
> +#endif /* CONFIG_CRASH_DEBUG */
> +
> +#endif /* __XEN_DEBUGGER_H__ */



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 11:59:24 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 11:59:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171263.312538 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIV5D-0001Au-Cm; Tue, 24 Aug 2021 11:59:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171263.312538; Tue, 24 Aug 2021 11:59:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIV5D-0001An-93; Tue, 24 Aug 2021 11:59:11 +0000
Received: by outflank-mailman (input) for mailman id 171263;
 Tue, 24 Aug 2021 11:59:09 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIV5B-0001Ah-I5
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 11:59:09 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id af73e2da-04d2-11ec-a8cb-12813bfff9fa;
 Tue, 24 Aug 2021 11:59:08 +0000 (UTC)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2177.outbound.protection.outlook.com [104.47.17.177])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-11-6aYEruy5NI28TF1CKf40Dg-1; Tue, 24 Aug 2021 13:59:06 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM0PR04MB6420.eurprd04.prod.outlook.com (2603:10a6:208:173::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Tue, 24 Aug
 2021 11:59:03 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 11:59:03 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P193CA0014.EURP193.PROD.OUTLOOK.COM (2603:10a6:102:50::19) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Tue, 24 Aug 2021 11:59:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: af73e2da-04d2-11ec-a8cb-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629806347;
	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=11ieDCyf49YgIwSuJtBWwxS7LbVOTbTc4zhWNsxNMCU=;
	b=kqJCLsXD5oYeDySWfi6WfoosOMVwqiHeADC5VLBDkYECelY7GGaowpnUMFadwuha1GTrZ0
	3JJ0383iDAiJqGHI+semLE9/4f/ygN40Q5KdwE6NR7YXxfoahX1MaBfpvrjqT+QXfr3GL2
	vopONGw7txVpjlGMBmXtkAQDIQ7qivc=
X-MC-Unique: 6aYEruy5NI28TF1CKf40Dg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YXdJnQ4Iz8Cohomav6nf0dM/02zRU8GAoHPcWZ/tSfwjNyFxq1GOrkPbbHv8TVZlT2YUjsd+2qQJt0trbC/tvV3QnuBDnpC80Sb2VC+TuPYAS3YVn55EtqLTJosBxti0fBZDJWM8N9hcAUrrJpGUa0p88hNbPvB8ap5bfV+/sCO6i/f/KDBnlXo9p2T04t39ozoWPWtKZsKSNQFpzzN+/wGaSnnZ8vrNr5NGrqv6wWKXCWGaUoJLKfN8ki7+t/BOKwULwr5Uy1UytOQw6E3OzW1B/gUjfVLfZfk11PnbyS+b8ILHSitNKBK3Gb6XNqDXVhvfP97rbmm76Um1dfB5qg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=11ieDCyf49YgIwSuJtBWwxS7LbVOTbTc4zhWNsxNMCU=;
 b=W8I57WZ/Zlwr7p8kyUB4rhVsZ9VmdQDpEotWOU3HSDAceg9U2XQVEzxutxijGZieWl8B+8fO8AiqVzhxHJRkg6gt3NU53AyGw3citBdyPSfzEb54ZIxqeqFOQC0drmlKnYVBHtDzSkSgHIErLV0Krap7+CJPpxs5LrJE+H2ZUAyvR2yHweZZKC6sZEOZ7GDxeu65BoVnsVsMoObxppmL0YD+WIYQJ+inTgF9bV3O8bcozUdW2+MnZg615xVhnH5YWeK9/iASaClhy2OLOIzUSyID8iFxQd/FER+DIQqnN/OTKECrgBOlgJmW9Dq7i4Dii1Z9zifDo0IU36TnzzJm2g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: Re: [PATCH v5 4/7] xen/arm: static memory initialization
To: Penny Zheng <penny.zheng@arm.com>
Cc: Bertrand.Marquis@arm.com, Wei.Chen@arm.com, nd@arm.com,
 xen-devel@lists.xenproject.org, sstabellini@kernel.org, julien@xen.org
References: <20210824095045.2281500-1-penny.zheng@arm.com>
 <20210824095045.2281500-5-penny.zheng@arm.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <258eaed7-e23b-8b97-0ee9-9350052ec1f2@suse.com>
Date: Tue, 24 Aug 2021 13:59:00 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210824095045.2281500-5-penny.zheng@arm.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P193CA0014.EURP193.PROD.OUTLOOK.COM
 (2603:10a6:102:50::19) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d8fa3352-b8ba-4f48-2766-08d966f69110
X-MS-TrafficTypeDiagnostic: AM0PR04MB6420:
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB642048BFA4E8C9E0B2D20188B3C59@AM0PR04MB6420.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:6430;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	y3jdowXyHUQpPMuMyK1BCbjrgbRTAPbxXwziIjSeMtgDo+FlFmDELIKSUD6iSGyo6HWkHJuJufaEUSnHLTponZoKgzhk7+s3E2NkvJz4qN42RjngzxmWgei/w2eewminDZZkak0RtwsgYVYa2GAZldV46SCSfxm7XcovBsotw672tvJkac63XAiHxt91OkImtyoCqR74uENh7YhvmHEwIDy4ziu3yk6nm4D/q8J9rSrnOVSd/VSHFUPafwHXOkkDTKwSrZFQ+pJMBx5wX+PNHzjqaUHVgbidGenu17LQMFr8PfjCAfY26Nmy00kDXgxvbX/9v1fc5FOn44H9P919bjkP+qvuE3LafSL/BdXr1Qt88NrVWLKNeeOLw4H6LHDQ9Hsc6/jLRD8dD7s5M66QvSk5t09Z5Q/m6aslYmwjW71THps3e3D81gG6dI8GJC2N+/SrH1B+ERz5wMMlCvqu7coL1WIxVJUqLJdq4sv2hbGbcFISiV5m8kX7hzjZWJJ7E5Gt16UomE4MP4CxyZ9F4bwp2pfbxm9xTI4IiD+aXJCOUfF6cqIUPZDoZeqMu17PKuVVAKYhZBzwys2X05jeyZ5CeQ2I4qU8+HWnarJt8DrFIinA4ECfsWwSIUiINTYYCj72hYVJPw+EhHPfTU1E3ZaTMrQgQ2D4TQgx2Maly/nocCkp2Ptc6t628xpG5762476okdF0qMmhuRiN5f/V4PmUr9n60uqjEVce+HUzVXs=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(39860400002)(136003)(396003)(376002)(346002)(83380400001)(31686004)(36756003)(31696002)(4326008)(66556008)(66476007)(66946007)(2616005)(956004)(2906002)(6916009)(8676002)(478600001)(8936002)(86362001)(186003)(16576012)(26005)(53546011)(6486002)(316002)(5660300002)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?enVEWHJVR3FSblJHT2k0enBLaWxUczZNcG1RdTRodFQ3SnJwRSsyMG5YRjdo?=
 =?utf-8?B?NDhmN1FKWU8yNmlZbDBJS2tqaVpocnNuWjF6YkdqVW1nbkJ5bHhvdnFMQXJQ?=
 =?utf-8?B?dkxlZitYOHo4d1FORVBOQVZSYTBDc1R6RWswRjQ4RnBDSWdyWGFKcTd5RHRL?=
 =?utf-8?B?NTN0ZUlwQ3lleTBVbHNQY0tSNFRSUW5EZDZ5dUF5amtEZ0REN0MyTWZCcHoy?=
 =?utf-8?B?d0pGaS80UnRVOHF0T0gwaHdqOWUwWU91MldhVjNwYXNNK0g0SitxamYwbkJi?=
 =?utf-8?B?RjVnZnpkUHYxM1JWTnJDTGFuNUFGYitaU01ZZUJEbzcwbk00cmsrRkQ2dk1X?=
 =?utf-8?B?WGlEOVgwOGV0NEo0UW9xTGtSbUVTMnpxZStuay94QWFvZDBIbDFBYjFaRzRT?=
 =?utf-8?B?N09NMVM0b25WYXl1ZlFzYjBiVTUwT1hPKy9kWDFRVTIzc0piVG4vNStoejRy?=
 =?utf-8?B?dkNoMnFTM25sT1NJbHJKZlorTVB1TGM4bmlCemdnclVxY2VONTQwQXpLNCtU?=
 =?utf-8?B?djBxbUN1SGp4bko0N0x5WWh2clh4OFAzNklEbFp3ZXZFY2NwNWM5WndDc043?=
 =?utf-8?B?SHlXVHk0UllyUGFNMGlDRmd4VXJ6WnVNLzc3aElCSW9oM0RibzhGUWh3aTEv?=
 =?utf-8?B?aDl0c0lDVG1sajZYMkZENnZrcDNLdE9kd002QjZMckwyakNpS3lCbHlwMHdK?=
 =?utf-8?B?dUNoRDZmWUE4ZTZYTis1UVVIQjcvMmYvL00yajZ4d0dSdzBldzBkZjhrUTQ0?=
 =?utf-8?B?NlRvR0ZoTFB3cjFFZHZNbExlRXF3VHVCeHpTbFkyeDFweUp5RXd6RFVoOEs1?=
 =?utf-8?B?RndrY2FHRVRCL055dGljem9saGFxNk1YN2JPdlB5WEg4MUZ1ZFl5R3NWMFhl?=
 =?utf-8?B?Zk4wK2pHRTVEQnRabWVKK3JFU1V5N2hjME5PSzZsY3R6RmZsR2ZjQ0RDN3Nj?=
 =?utf-8?B?eXc1encxMzBoMzBqdEpibnZPdDF5eHU2VEhndmlSV2RjeU9qcWxxcjRVbXIr?=
 =?utf-8?B?VC9oMWhpdmpxbXlqamo0cm9JclNVMHRlNG5ldDBXSzYxNEQ4eFZOYTlNRW1P?=
 =?utf-8?B?TkVST29EMkszS0swV3pKQk9mczNFOW9IamxUUk10bjZOK2c5RFBmZ1NHblBp?=
 =?utf-8?B?NTFraUFZZ3QzYUhZYVNreS8zZHJwV2hMOGJVT0o5Wk03Zm03NVlYOVpydWRp?=
 =?utf-8?B?a2NLZHhqRzlESzEzdlVwUjUyZnU2and6TzQ0Q0hLL3RnSXdDM2dkdHJmbTB3?=
 =?utf-8?B?STVKTTFQdzE3ek5WdFdtdEhqMzVDZm9HRW1NeDl5enM0eVlCKzI3ZVM0VG1H?=
 =?utf-8?B?dVVqL0hlQitpckZGSDJmRlRKM0UyQk9mandYNFpzSmhtbmxTUk1aSXg0YXpJ?=
 =?utf-8?B?M2VBODZLQXREZ3Q1NWRxYjVuUnM0UFdrczZwcE5QVzNxSDNsWFNIbS9uYjJa?=
 =?utf-8?B?bW5WZ1ZucVVPTjhPZEJOR2JYV3ZBYjlESlgyUXB6VTlZeG51WVZoN21Jc0lD?=
 =?utf-8?B?YVU3Q3RrMHpmNEdseGNUS1JHbTdBTmVnVWRDUE54SEp6aFZ4SWNRNjF0QU1N?=
 =?utf-8?B?c0FXUHgxV3RXbkVDWnp2K1JaQzlXa1RiNFFGMVhZcmgrOVdRQlJ4ZU9DbFFP?=
 =?utf-8?B?R3AyaC8yL1dVTzlEZmE3MVRlYlpzbUhZZE9sMmNudFR2dGJjbUtsZFFraFAx?=
 =?utf-8?B?ckNxb0U0QmVSdkcwYzZ3TjlrWEZiRDdyK3VEUHQyckxuSnc2NVZySHFkYjhG?=
 =?utf-8?Q?lMj7baHvOTqCcknoLXd+PtjiSHQfeLMArup4eDx?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d8fa3352-b8ba-4f48-2766-08d966f69110
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 11:59:03.2478
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Cf/OLx1XQpMuYojpRQdCVDcdon34QHQiiOBhxFrk4E+t3GdkEN4pInqbvZw+F33lKyA9T+CAZr60IXGUByJXfA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6420

On 24.08.2021 11:50, Penny Zheng wrote:
> --- a/xen/arch/arm/setup.c
> +++ b/xen/arch/arm/setup.c
> @@ -609,6 +609,29 @@ static void __init init_pdx(void)
>      }
>  }
>  
> +#ifdef CONFIG_STATIC_MEMORY
> +/* Static memory initialization */
> +static void __init init_staticmem_pages(void)
> +{
> +    unsigned int bank;
> +
> +    for ( bank = 0 ; bank < bootinfo.reserved_mem.nr_banks; bank++ )
> +    {
> +        if ( bootinfo.reserved_mem.bank[bank].xen_domain )
> +        {
> +            mfn_t bank_start = _mfn(PFN_UP(bootinfo.reserved_mem.bank[bank].start));
> +            unsigned long bank_pages = PFN_DOWN(bootinfo.reserved_mem.bank[bank].size);
> +            mfn_t bank_end = mfn_add(bank_start, bank_pages);
> +
> +            if ( mfn_x(bank_end) <= mfn_x(bank_start) )
> +                return;
> +
> +            free_staticmem_pages(mfn_to_page(bank_start), bank_pages, false);
> +        }
> +    }
> +}
> +#endif

If you moved the #ifdef inside the function body, ...

> @@ -736,6 +759,10 @@ static void __init setup_mm(void)
>      /* Add xenheap memory that was not already added to the boot allocator. */
>      init_xenheap_pages(mfn_to_maddr(xenheap_mfn_start),
>                         mfn_to_maddr(xenheap_mfn_end));
> +
> +#ifdef CONFIG_STATIC_MEMORY
> +    init_staticmem_pages();
> +#endif
>  }
>  #else /* CONFIG_ARM_64 */
>  static void __init setup_mm(void)
> @@ -789,6 +816,10 @@ static void __init setup_mm(void)
>  
>      setup_frametable_mappings(ram_start, ram_end);
>      max_page = PFN_DOWN(ram_end);
> +
> +#ifdef CONFIG_STATIC_MEMORY
> +    init_staticmem_pages();
> +#endif

... you could avoid this further #ifdef-ary.

> --- a/xen/common/Kconfig
> +++ b/xen/common/Kconfig
> @@ -67,6 +67,23 @@ config MEM_ACCESS
>  config NEEDS_LIBELF
>  	bool
>  
> +config STATIC_MEMORY
> +        bool "Static Allocation Support (UNSUPPORTED)" if UNSUPPORTED
> +	depends on ARM

Inconsistent indentation. Both want to use a single tab.

> +	---help---

We try to phase out "---help---", following Linux. Please use just
"help".

> +	  Static Allocation refers to system or sub-system(domains) for
> +	  which memory areas are pre-defined by configuration using physical
> +          address ranges.

Inconsistent indentation again. A tab and two spaces, uniformly.


> +	  Those pre-defined memory, -- Static Memory, as parts of RAM reserved
> +	  during system boot-up, shall never go to heap allocator or boot
> +	  allocator for any use.

I find this hard to parse and I'm also unconvinced this belongs here.

> +	  When enabled, memory can be statically allocated to a domain using
> +	  the property "xen,static-mem" defined in the domain configuration.
> +
> +	  If unsure, say Y.

As being unsupported, perhaps rather "N"?

> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -1519,7 +1519,6 @@ static void free_heap_pages(
>      spin_unlock(&heap_lock);
>  }
>  
> -
>  /*
>   * Following rules applied for page offline:
>   * Once a page is broken, it can't be assigned anymore

Stray change (I don't really mind it, but it doesn't belong here).

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 12:16:27 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 12:16:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171277.312549 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIVLq-0003lG-1E; Tue, 24 Aug 2021 12:16:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171277.312549; Tue, 24 Aug 2021 12: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 1mIVLp-0003l9-Ti; Tue, 24 Aug 2021 12:16:21 +0000
Received: by outflank-mailman (input) for mailman id 171277;
 Tue, 24 Aug 2021 12:16:20 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIVLo-0003l3-MC
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 12:16:20 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 15461f9b-04d5-11ec-a8cc-12813bfff9fa;
 Tue, 24 Aug 2021 12:16:19 +0000 (UTC)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2051.outbound.protection.outlook.com [104.47.12.51]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-38-kwXTlqotN_awH80w1chk-A-1; Tue, 24 Aug 2021 14:16:17 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM9PR04MB8147.eurprd04.prod.outlook.com (2603:10a6:20b:3e0::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.24; Tue, 24 Aug
 2021 12:16:15 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 12:16:15 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR10CA0043.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:150::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Tue, 24 Aug 2021 12:16:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 15461f9b-04d5-11ec-a8cc-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629807378;
	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=/NXTAapnVYTNHAKIRL90F3KbzlRs/OJiVaVGYxo+StY=;
	b=FDk/5tM4NkJZE/NlKYnq5phOFYofvLLtnNN5wxZ7a9ibBkWMZi67Wc6JmDrvHdhBnBTv4i
	kPEmDUztA6PMmZI4cCyZpesHUv9yeBKoVNIrAs19Mvk9gXK541ABapJ9MLCDdUV9/eD11R
	bpSzMe0zDrXbND6Le0JEqplvykcvo9c=
X-MC-Unique: kwXTlqotN_awH80w1chk-A-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=i4NUZdHrOWlY5CUSi3XHhYpyvzSOzBVJzSkmGxgQKVYCXbZQwfZa1btKJ2AuMLLiTP94JnqbmuQFfsLFaYz3UyNmd3vnebGU0WXIU7oX3WuUd4fcObbu6WXGgBsmmoBecaQ06tpBiak2erRYH/Oly+VRQZD/51vkC2ooFKO8aJEtp8PSpXxzRNdyRfBji4GmVzFp2FDxEf0P5Kn0CaKfazfR17dhopDtZ9Vwt7I6BJFVAz8ddcwSLmnzudclb6+SqbqG8cU4HqB347IVtz8HiKp7Qq9wdOtsrdkosro1Bg69YkhkkE9k1iIL98LrgZevb2gHaDELjQ81lLjwjFOFvg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/NXTAapnVYTNHAKIRL90F3KbzlRs/OJiVaVGYxo+StY=;
 b=fNnyF6ojL/Y0iWKDeDZgjrsEUlUCQMltOJCUPDTUmW0D5xEg/ReZ17MO9Pz7NEHAK+woY1L3T491hwA7FockXwE9NNpiZkiZcsMXAwJNWDWY2tXRkMAh8E3+RcSAk6CedVyA7DOcnXlt99X4LS+n2U+J0Cz4JJt6l8b79e80HGbYjrj2PL92rh1Py6ZG9oWXpMrFCOKvM15r1No4Ltq5wSO0M3pGQdQyYXgYakZUdIVmAk0d9iz8haGoKtCI6i6funU648gckpIrZ6GqB8yA/kKW8alqYq/i5yDlktuZFRuAJFDa8v1g/HgqmdIC3RaiS53UJYlG2UVUH2PpwBoZQw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v3 2/6] x86/debugger: separate Xen and guest debugging
 debugger_trap_* functions
To: Bobby Eshleman <bobby.eshleman@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Elena Ufimtseva <elena.ufimtseva@oracle.com>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 xen-devel@lists.xenproject.org
References: <cover.1629315873.git.bobby.eshleman@gmail.com>
 <7925a89cf830e0e3705a8700fce09a408fcfc27c.1629315873.git.bobby.eshleman@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <cf162154-a988-ffe9-f6a0-40351f654d1b@suse.com>
Date: Tue, 24 Aug 2021 14:16:13 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <7925a89cf830e0e3705a8700fce09a408fcfc27c.1629315873.git.bobby.eshleman@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM0PR10CA0043.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:20b:150::23) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a5469eea-9721-4dff-a53f-08d966f8f856
X-MS-TrafficTypeDiagnostic: AM9PR04MB8147:
X-Microsoft-Antispam-PRVS:
	<AM9PR04MB8147ABAFDF7EB31E8333D730B3C59@AM9PR04MB8147.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:7691;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QYCuTsqQvBnqpAdmz6eAhvNj20tUSS4P/9YMox0suUXmRGmRrKYFM6KRcu/7TMF9g6/f7my6hNpHzg73E+f0rtJT/ONRNSr5JxW2iXW5pCyfysYNrHTG5k+vJN8sBzQLXtiWfaDe7cjvS/dQ8tdLWHCiz5S7SZUCYH97iooKiyQ1imEV/Y0lAdKxUaPGMaHJ5I2tNClmVfgN1oPLdAE9dglvvn2KckckuaKBCYkW1yYr2E1TYWMZ9prKazslCrwQNyTebEFHFF3LCmxZrjC62zGJ9sCQkSMPGjovq/dlZ+GoU2yIGheQu+yb0GH8vgGNiVeB61lhuHfY7LBVFOZKJ+4gN0pAtrVNUXgZDtnBuSeMDa//8hd+KXQkfTFgW0bDTBK6qMgWheLY64YAJKvSS1WUT4sViwmwu+MQnJ8cMk5MEWbf5N60MnF2pLirMBCrw9Z0+14ieLK0UTE+tsN1QfTHkwzNO8I9vykode8j/3UCt23SSsIfx0WZkVq5dBJ2kiZCzG7d/ekk3RjGdiajswYva6LhBRRwbhM5E+tdLHbaehUcN5k7DJRHre+weDM4wVJUqcGFI3zG3XtCEAL0wQ8NjbxdfxJKYnQAk7Mwy8aUOs8iFohHGoflIE71+S06MQisPcqMaJHE/oYyVIFLAY5EnS1DLuRFIsR+iZG2hzuU3CElMLkqnzv9wrNNcx9E3O8AR0uKxfogUmf49eG5FT53qrB2KynhorZgdzat6N8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(376002)(396003)(346002)(136003)(39860400002)(6486002)(38100700002)(2616005)(6916009)(53546011)(956004)(54906003)(8936002)(2906002)(16576012)(316002)(7416002)(31686004)(4744005)(86362001)(5660300002)(186003)(8676002)(478600001)(36756003)(4326008)(66946007)(66476007)(66556008)(31696002)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bWdyK3B3SUJLeXp1SDJKYjNVOEhjdGJ6SFI5WnpIVFdKUlF4S2Rjb2VwNWJ5?=
 =?utf-8?B?TkQwNmhnMU5Ub0JrVmhKTVFwR3EvaWxHK1Fmc09xTldXTkp3MTN5SHRSY1l4?=
 =?utf-8?B?eVg0ZUhTSEtXQkxXTUFJTlBPWi94ajYxdWFERzk3QlpYendkY0xJbFRacWw3?=
 =?utf-8?B?NENUaHdqejJHZnVwMldpMW9YSXhYbTJIVEFzRHdUdnlKZUN5TFRibnhMQ1NG?=
 =?utf-8?B?WUtwWG8vcWFOL21ERDRwNks1cWxQME03bW5yMmFqR0xnWkt4NE9GR0duZm1r?=
 =?utf-8?B?bHlFR0dWNFdmYUlkWVQ4bklyUDV0VGRZZVVIMkJzTTRnTVA4aDhzeEpQY0Qy?=
 =?utf-8?B?YkxoaW91bE5PNEJLN2lTMjVtN29QWHE1ZzduRXZiVmxPK3JrUmIzcE92Q3ZG?=
 =?utf-8?B?MHNreVNDRmlWQ25tallGNEVZN3R1RGlzRGc2cmVqdWN2OTZZU3haSG1WMFRy?=
 =?utf-8?B?L2t4TWV3VTNDRk1GOTA4TTZ4OTBQUXBOSzFTZUlmV3ZVZG1nbTdNWVIxSTVV?=
 =?utf-8?B?SzhqSEI5MDhWODhXeGswYnVmNUJNWFZEaURZTVRNRGZRRjRYYTN0WVlpdEVk?=
 =?utf-8?B?UE0zaTVUeXAzVWEvZ0pwT1NUaUcwRmxlWWNoZ09zbzZkUW9xbVluRks4UHpq?=
 =?utf-8?B?OE81QW9VTWhGSFdGeG0xL1lkQnBzakxtNW5SckcrbXgxckMxZDBMbFF3MitN?=
 =?utf-8?B?Q0JqUWdUaVMvT2kyU01Qdkd4b3R6aFlvQ3RERCtMYU9QRy9NdDIrdHdWQ3Fx?=
 =?utf-8?B?TDBydk05cDdKOFdTTjU0VHhpVlNzcFRCZk83NExGVk81dHkzRGpLS2pWa3Uy?=
 =?utf-8?B?THQ1UU9pNUdMT3p3SWxHMTJwTU1GVVUvUzROejZzT2c4azUxOE5Id3M4ejNo?=
 =?utf-8?B?d21FNkRISVFkSjZ2K2hsYmhZc1pPZDd5RUdQT1ZMUVp4MTF5V3BXWnBKQ251?=
 =?utf-8?B?S0NXS1dtMVJ2TjIybXh6UmEwc3ErSkhTSXZsczBvYzFRYmNXS1FGa3hPZVp0?=
 =?utf-8?B?NE9xVkk0Rmk1Mi9QNkxUcVFBUE4rQnVtaktvUlNFUWw1VkRNNm9nVlRabkNL?=
 =?utf-8?B?MUhHU283WmtNancrcERyeVFGbzk4aThCWWQ3RmFLUElZbkJPZzl1RXNTaXND?=
 =?utf-8?B?YUZGSUZTeG9ZRTlTNDZrdjJpODF5VnFRNk54cTdvTzRhbmt0OEpsNFRIYTlK?=
 =?utf-8?B?Z2tLZVViSFNGTTlIWUxubzVMS2MxUzhsTHVTU0U5QnpTWlVxOWVIVEF5TVFr?=
 =?utf-8?B?NnUzeDFIelBrdEtUTG1rUXB4ZWxkUHVkU1UwVEZTOEJ3ZU5EZFBLc2Y4S08w?=
 =?utf-8?B?SCtyV1hWeTZReHRYc2g5d2p3MjZ0UUVoZXoyRDZQbVFhUmVHTWhDRjJHSklI?=
 =?utf-8?B?Y3ZyeFQrOXYyalJTUFF0VlFXYVI4MDBCUlR1VXh5ZWE4MC9hdldZa0Rja0lp?=
 =?utf-8?B?U3NVdHJWZUpBYjhITVU2RzNibDBYcEwzck1wNVlldm9KV0JPdXUvQ2tPRXdD?=
 =?utf-8?B?c0hVNDNoL2pRT2xYYkd4R1V2VjFPVXRvSUQzVUc1RFBuTnZKL0tpK3lRVkEy?=
 =?utf-8?B?Y3FuZCtISUdzZm11VG9ybjkwcU92d0pJQU9ubWVXRThLNUJYSVBqczQxVkM4?=
 =?utf-8?B?d1FQK3BxV2twNDhQS1IyZU90QjE4L09SclFDbURReXZ4QmtaSEN6QmJHbjVE?=
 =?utf-8?B?L1ZpdmluZ2lIVHNFVHllRGpBNlZ1alMvTUp2L2I3UEJWYy9BZTFGRVB4ZlFN?=
 =?utf-8?Q?r2P/mOaBD745cwGexeywen8lQpBS13YIryTKgt6?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a5469eea-9721-4dff-a53f-08d966f8f856
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 12:16:15.5315
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: aaqHZR3J5QsdK2iPyhfZS48s2/HxChtUIErFc2SY6WPWAMEeJmW8482Ts1dDjpIjz3B7gjP9g6B0CZUz6/TFfA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8147

On 18.08.2021 22:29, Bobby Eshleman wrote:
> Unlike debugger_trap_fatal() and debugger_trap_immediate(),
> debugger_trap_entry() is specific to guest debugging and *NOT* the
> debugging of Xen itself. That is, it is part of gdbsx functionality and
> not the Xen gdstub. This is evidenced by debugger_trap_fatal()'s usage
> of domain_pause_for_debugger(). Because of this, debugger_trap_entry()
> does not belong alongside the generic Xen debugger functionality.

I'm not convinced this is what the original intentions were. Instead I
think this was meant to be a generic hook function which initially
only cared to deal with the gdbsx needs.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 12:20:09 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 12:20:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171283.312560 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIVPU-00057c-Hv; Tue, 24 Aug 2021 12:20:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171283.312560; Tue, 24 Aug 2021 12: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 1mIVPU-00057V-E8; Tue, 24 Aug 2021 12:20:08 +0000
Received: by outflank-mailman (input) for mailman id 171283;
 Tue, 24 Aug 2021 12:20:07 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIVPT-00055s-Bq
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 12:20:07 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 7730dc7e-b78f-49ac-9156-420fb75c6841;
 Tue, 24 Aug 2021 12:20:06 +0000 (UTC)
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur03lp2052.outbound.protection.outlook.com [104.47.8.52]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-33-SI1zAqYEPJq1vQnv0BKtIQ-1; Tue, 24 Aug 2021 14:20:04 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM4PR0401MB2420.eurprd04.prod.outlook.com (2603:10a6:200:53::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Tue, 24 Aug
 2021 12:20:01 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 12:20:01 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FR3P281CA0040.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4a::8) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.6 via Frontend Transport; Tue, 24 Aug 2021 12:20: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: 7730dc7e-b78f-49ac-9156-420fb75c6841
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629807605;
	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=xMcInLkTOC6aqL0Kvqwr2p25IHw8varYDATpodJKymI=;
	b=dL+x67tfyo82v2bnLn5SarzkD+pFq5aPVbmHu2XdZTCRw63PUZBUy2PEqvq9TuY4WUs/8a
	nTuWPIH3KEhhBBDqIEh1z+osP8zFk+0QbTRvxpnJuEDUJ2nJsLb0fIP0PmDFIWSqYd6WPa
	ygYb97VUzVNFkZjblzNP8P8fPIu8IUM=
X-MC-Unique: SI1zAqYEPJq1vQnv0BKtIQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Q9+6ih0eL1RpDMrW/qG+RiIjYAUD1h6CbbMWK5+mY3hum3jC7o3HWfinTmh4BimBwEmFIAIQG9RSyiLREn0RMy4S4F1i0QzJl2clYc3oqL0uAyQq93vogvXto8dOD2sJW8yMF9Y6eapimUcsU/P3dN8B4SSAACN0T6ndATBmqbkJVJg6Ar0x0jIM9ONqTf85sCXd/tpgNbECpXerMAdfpZXVwb39N4EvtIIVx9eZKoOOCS/KIa4L7gQpsJOMDOYz5CLc89CYsD+ej3NGW9O/ZP/1lt+pkjxKyAy3q+DquHEdWtR397NkguN3NtBl3NDO7NKLgpczgGJVcCtmRKNQDA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xMcInLkTOC6aqL0Kvqwr2p25IHw8varYDATpodJKymI=;
 b=ka+D7ykkf9fGWq2JkfYx/7VUiyP/mS/+5F9hSwvJ4ZcdDild5zgqrxmdZMNxFJ9dRWkxy5agjWpa56KnbmUmXhf7Jh+cabj6846anu3kYA86RBffNXFymM7ejE7GGaBqEjkivflqj/ACaALO/JxqIaXACm79ITqJdL4tcIItyhPuG05DXCZRJVN+xn0toC1Mja7qS5QTbmCrKCwqJ9d3GVEoIJ4qy7vrET4sDn4SmUiVLv+kASqsll/qZke38Ltsd9ZxBL+Ok7jeoIrMxqA3qiYkuFV63cnzdofwwKYXBTsqAExXDNDvunK3jCpMaUszMSqOFEKAtF2qLJcy+B8ORw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v3 3/6] arch/x86: rename debug.c to gdbsx.c
To: Bobby Eshleman <bobby.eshleman@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Elena Ufimtseva <elena.ufimtseva@oracle.com>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 xen-devel@lists.xenproject.org
References: <cover.1629315873.git.bobby.eshleman@gmail.com>
 <9ab53497cdd52e3aeaeff8079d934dcee94d6479.1629315873.git.bobby.eshleman@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <aafc217e-e998-7610-04e5-9cf7fde904ec@suse.com>
Date: Tue, 24 Aug 2021 14:19:58 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <9ab53497cdd52e3aeaeff8079d934dcee94d6479.1629315873.git.bobby.eshleman@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0040.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::8) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 1ca85505-cf90-4818-3cc0-08d966f97ead
X-MS-TrafficTypeDiagnostic: AM4PR0401MB2420:
X-Microsoft-Antispam-PRVS:
	<AM4PR0401MB2420986A3E0F188C1CA34824B3C59@AM4PR0401MB2420.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:4941;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9K7UR7iPzU2vRw681f5mabzXw8H/2XmrLtS81N+P947tCSclYRHQEOVE7MaoQ/6MFq6+35ozpnBS16EgyWiv0rHRonwEpVkfyB0YRfjou/UhXm/eJUBi/yy3QbEKGvjNjQchry40PJPqgqjBX0byp0OU79V9Uo76kfBLFf5jWAGkYoMm3a7L5A9IJZ0/qpsCREkPL0SBjXxjkTMCpjgiz/Iho4Y9PJOVxbSIYVyaaojfI0uIC9XMw89FpcBJ367gUAirHzk0d/0WucdRXRtyrmF9GkQlEODZymOKOS3C1Y2KrcAyzpT0CQqLwLvrs7SePkaH4lYpEfQlRsFNupKVGO7EXWKOM7gEZkLcgWFPOJBvhi86pDNAWFFFwK0SeRzoa2zDSLic9MOh5MI9SU3+iCud38LoZng+bKoycTVHtj9NhYE6lv5qjjgcmmyWHtes2mowlzB2rxp26UwV2ufMnCl0Cmi4505kD97KGTeD3rngR7kqhe+IdZRT88dJM/YNOKrfHQB9kOao02p2OfXTXektuoG9SEm4W4U7vhXcIgxISnrOkCPb9Nwp8o2dw6w7aBispv5kgVHn4B3eAmOXjFbkwBdMPFuIaCH8g2ByNCNeojOEAlq3F8uZ8U6L44jychfTvgyZlRVKwhDi/sa3S72oSk30uIeW3ZEGW+c3QlxRLtyDbEKf1osxT7LN2KVhlfbfP7HfplJyLkFXfgH4IQXT49cvmqnlsonG/yoGUOg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(39860400002)(366004)(376002)(136003)(346002)(396003)(6486002)(38100700002)(7416002)(5660300002)(8676002)(31696002)(2906002)(8936002)(6916009)(66476007)(66946007)(4744005)(2616005)(956004)(36756003)(54906003)(16576012)(4326008)(66556008)(26005)(478600001)(316002)(31686004)(86362001)(53546011)(186003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RTd2WjJ0SkVLcXJSVkZTc2JYZytHdlNLMFdjQ2YrM2xhZDYydTJkWmloSTRZ?=
 =?utf-8?B?OXNFTmV1MG9zcEFlM0hzNHJjMXoyYU1UNWtraG5SYXc1dzc4UEtGN2FaUUJJ?=
 =?utf-8?B?djBHc1ozdlozdFBRc0tia1JVbFJYeUtDZHA4ajhOemZWZ3NsMFQ3dGpMYm9r?=
 =?utf-8?B?cXBVTlRCeG1FUWphTmNXb0toMHdMbmxScFZyYjc2alZSZ0pJMXFEUDlLdzhO?=
 =?utf-8?B?TUtpdTMxWVE4UXMxU0dBTWpuVFBoaTlHcVlxN0xHRGE2aEhiTHk2S0hoQ1pZ?=
 =?utf-8?B?L2xUTXN2a0wzbDA3NnV4bENJRlFsWEN4VGh1THlSTUU1b1h3dm82S0lUN2Qy?=
 =?utf-8?B?b05hYmdLRnU4clVOMmZHQ3g5U2hXYlR6YkhPb09jTThKWENVRVA0eU95TjFI?=
 =?utf-8?B?OWFwazdnaGZpbFh4RGUrcVZjYWRvLzQwcW9IYnlIUm4ydVM2MFk2STN2Q2J2?=
 =?utf-8?B?SnFLZjNNRTM2QVhIZFVYTjhPS3R4cnk4ZEsvMXcwWUhIVmVOY2tLZmZMK0Yz?=
 =?utf-8?B?c1dOZzJPbEk4M0JUdWpzTDQ2WEJtQ2RiZ285UHhXeklZY2VTdU9ZV3pYMUtp?=
 =?utf-8?B?b1FNQWNSaDVNeHkxYlZVUUg5RG9lbHJvdDloeFVFVGw1SVV6WStWT0xzZmZ2?=
 =?utf-8?B?c05IS3BIMzhmRGgvZUMrUXZEbTFWdUZ1VURlcjhGcE9TUjB5cXFzV3MrVHA4?=
 =?utf-8?B?Smt4RGRGd0N6RkFYNGo5eHgzM2RFaHpXMDNPeTF6eW9KYW5mNDd0cGRJU0xO?=
 =?utf-8?B?NktJUlNkT001bTlUamdwRUxqNEVNc3NVaU1wK1Boa0pIQi9Na0pFWnlXMzBa?=
 =?utf-8?B?d1dicDNIcitvT1gwcjMxT2lndVo1Tll5ZHRsZ2U2bWpFUHlhcW5PdkpRK2pO?=
 =?utf-8?B?ejBNUmc4L3pzS0RpaTkxYjBGWXFjSFJ2VndHc3ppSjM2QklOODFSNWIvVDlD?=
 =?utf-8?B?djdOcDdTUmc0Q3p6YmVXdVM0VTlFN2Y5TGJicldXVHNCYm5jYzFsT3g3RnBH?=
 =?utf-8?B?UGhuVldQNjhqU3dlTy9WdTVtZWc5WTl1TkNDTVlLUTVIWXEzNEF1a3ljN0Yv?=
 =?utf-8?B?QXZBWmp1dkRBcnZGZzVQSDlJYm04R29QdEhVSU1UeHZxNXNQUFBEWUlRTC94?=
 =?utf-8?B?RWhaaS9RejNjWWU0Qk9DeXhIVzM1RWhZMlNHb1k0aEpzb1RoSkpwRW03YitC?=
 =?utf-8?B?R296enVpc2ZZZXo4U0FwTEdwUzd0VnRyd2x4Ukd2UU5OMzBxQnk2V3NoZ0VL?=
 =?utf-8?B?WHNQVVdNNmJ0cWhZd29ITk1wTnl2ZHpMS29uZGxGRms1dFhpOUs5SjBHQzcr?=
 =?utf-8?B?aVlrSkJRdE0wL3cxOXFHVC9zS2I5QnJEbENHMHZFRzgvSVgyeCswVXBKc2NO?=
 =?utf-8?B?Wm1HK2NJQUMxNXdwUTBqM1NrYUs4REFnblkrUzMxQTQyRVZhYno1YW41YWho?=
 =?utf-8?B?ZjFmQWp0dklGRncyazFKWDdVZlBCQytmMEE0M1hDTUZjYzN4Lzh0VjJqOHA2?=
 =?utf-8?B?MTlsL3FVc0dEUVdmcUtkc3pPTVN0Szk0VS85blQzU1FrWGFpYTUydG9JOU1k?=
 =?utf-8?B?Y3ByRkw5QngzRVd4OEF2alZ5RTVyMnQ2aXlUTUZoTFlraXcrSG5KSjhGRmhw?=
 =?utf-8?B?K1EwR09LVkFESWJERHF3OGxkbmdTa3E3bFVtdStDbGRhZFovU2tvTm1ZTTlm?=
 =?utf-8?B?ZkZaUWR6akxielB5dG5WMHhISVAwWko4aXgzQm45dE5FZW8xU1hXUTB6Mmly?=
 =?utf-8?Q?6h489aZxwSoCC+hfGT05F8yMbzDTlmKqZ06Bm3Q?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1ca85505-cf90-4818-3cc0-08d966f97ead
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 12:20:01.0716
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: kNpz35gC7crnk4LjstfcMptcF0Gv56QawuJ8nEKbd9IidXBeWRx9GzcSZPMr9929Eiv6D7cUOtq6Z7ri2xbpZg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0401MB2420

On 18.08.2021 22:29, Bobby Eshleman wrote:
> --- /dev/null
> +++ b/xen/include/asm-x86/gdbsx.h
> @@ -0,0 +1,17 @@
> +#ifndef __X86_GDBX_H
> +#define __X86_GDBX_H__
> +
> +#ifdef CONFIG_GDBSX
> +
> +int gdbsx_guest_mem_io(domid_t domid, struct xen_domctl_gdbsx_memio *iop);
> +
> +#else
> +
> +static inline int gdbsx_guest_mem_io(domid_t domid, struct xen_domctl_gdbsx_memio *iop)
> +{
> +    return -EOPNOTSUPP;
> +}
> +
> +#endif

In addition to what Andrew has said, you also want to make sure
- domid_t is actually declared (need to include public/xen.h, I think),
- struct xen_domctl_gdbsx_memio has a forward declaration (ahead of the
  #ifdef).
This is so the header can actually be #include-d without needing to
worry about prereq #include-s.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 12:21:57 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 12:21:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171290.312571 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIVRA-0005pX-VM; Tue, 24 Aug 2021 12:21:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171290.312571; Tue, 24 Aug 2021 12:21:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIVRA-0005pQ-Rb; Tue, 24 Aug 2021 12:21:52 +0000
Received: by outflank-mailman (input) for mailman id 171290;
 Tue, 24 Aug 2021 12:21:51 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIVR9-0005pK-NY
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 12:21:51 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id dacf0d32-04d5-11ec-a8cc-12813bfff9fa;
 Tue, 24 Aug 2021 12:21:50 +0000 (UTC)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2059.outbound.protection.outlook.com [104.47.12.59]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-31-PIkU9koyMDimkvKH5qfvtQ-1; Tue, 24 Aug 2021 14:21:48 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM0PR04MB3970.eurprd04.prod.outlook.com (2603:10a6:208:5b::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Tue, 24 Aug
 2021 12:21:46 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 12:21:46 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR1P264CA0019.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:19f::6) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Tue, 24 Aug 2021 12:21:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dacf0d32-04d5-11ec-a8cc-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629807709;
	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=MQRZWO6ZlMpw+i5AqLxdNypH5SSyoLYTkZVASba+Cx0=;
	b=HcKJLHbpNG79KXqwhbfLiOafgV2CBzzM3cJurA8ZnbZrDriP0I2DkuSko78Ub2KVo8xPhq
	aWiTZokogF6bE2K5foHUbUhn4/gXFmWAMSNGosJwYbqgSX+dmv98TnpKzQLus4EDimqJnd
	S9WOhEXx+eIP9cx4RAQtEOfAhodQ1pQ=
X-MC-Unique: PIkU9koyMDimkvKH5qfvtQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KiwF5gwCZruJsaZ+EIVCF7Ihh454oLtLxQ9UYHAJearH1QAjjHU50qCAzjtPYAlT9j4ciSmQFk4GR+KgOOETLvGVqrMvo0p/POxfWfEhmR3aHSvnKstG26SfA/EIRhK0z8xjgkYVjjigzSE9bdxnkh/MY1vvMSj5GOroJRfdlQY9Hmu/dqalhBpq46kwq+ihK3/Gkw+NXal29OUhqteO9IN/9QTdZKy/c8/RzZ2LwSqAw1EkhAEJuqPZ60B2bbJ7/L3zctffFLXAkAABJGcXsJuWUq+kbIWj8kbIQQ6gFQSeWO2hPrpowQCvsirA9p7eRfPqXOK8ZsaeagnB9ReUvQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MQRZWO6ZlMpw+i5AqLxdNypH5SSyoLYTkZVASba+Cx0=;
 b=joUoI8r+6jULk4JWTqgcyPa74gQeGK+p3udeZOIqErAFfGavmlaYUnseaqeKuN53+eZmiWHU/rvR8VTI15RzVIoLum0G+ul+AbiA0r7/vSc6C09onfHnnyqGu+YZfcZBDJ0UGulJgJqxbvyuobfX3GFbfQYUJASIQSogdwC0yGuERqgB3NkbgVR/02tZhHGVgvuYecyQo+a9F4Z0X4A0qoGNMGi4DHTW0joqP1nZc/ye1iFyf7gKqVeXwB7LDcwjh1Skexw4AILHOil1DfBUfXY2aQve1rOUBgRllyXtG8lPMyJFJOd4aiefMumMd8iNaJTmb+b5++o7xdCkMkzi1w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v3 4/6] x86/gdbsx: expand dbg_rw_mem() inline
To: Bobby Eshleman <bobby.eshleman@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Elena Ufimtseva <elena.ufimtseva@oracle.com>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 xen-devel@lists.xenproject.org
References: <cover.1629315873.git.bobby.eshleman@gmail.com>
 <7833b4a327212ff0fc816d17f91fa09291d6afc2.1629315873.git.bobby.eshleman@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <625e262a-394f-a63d-2617-7aabe0b2b294@suse.com>
Date: Tue, 24 Aug 2021 14:21:43 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <7833b4a327212ff0fc816d17f91fa09291d6afc2.1629315873.git.bobby.eshleman@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR1P264CA0019.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:19f::6) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5d73d837-13cf-452a-0550-08d966f9bd45
X-MS-TrafficTypeDiagnostic: AM0PR04MB3970:
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB39701C2E8AABC7187C915729B3C59@AM0PR04MB3970.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8273;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	KKvUWD+CXMoOJDAONTOxGlj7h2Au1xlfNGks/CGEbDr9hSFTdrmPBiHB6IVwxqlO2QDqIYH5zIMWgNYJxgiORZpJ256BZUVccEq4KyF8Kjhf0RfDv+vPgnQzmUgBCVY50KGwIC8eUQzsN47pAC0ngQJcjQsio4qPGsH4k6RDNd0V9PT/0rf1OGrZJkX27t54mGzJTrJp4ZLubcXQU2pEPYS/LpXTVruXSnWD/Zgt7fMASw2hX/b2RoAaCkOPrbI1Mut4C8TxeQ81GoYBW6tqK59PtqDtG/BQX2VtOo9XDzU/IEm7goiM5hwjo8Pc9iZHJe/kgOqa+dnpG65V5SuuxWjkfdbTiVSjdcJndfST7mdJ+XyAOQAvFGel9PnVW9gGcFWqW3Rl1yDNBDPABt+/z+/dUeWf2IH8tDBP6y9ZmCm1J6hikmAiVF8fhnucpjeTLkY/Vw3hGSOZU+KnJHaCWKZQPEH+rF00G888/OaGrTsGLuHivymOPzydPNu+Kx0vapBH8GnDj2E1AiafLyIipJzczeEJfD3CXa8sKV/x/ILq0rAJNggvPgO8wDMd0LLunVl7NsVC1rwig5UqrnGmmMrbzdZMtq3wUaELQ7MYr2obbG9ClhaPbgFzfcEDFNPOq2+TsYVN3/EGwkW8ktXPQkPdvQ+xQ61Wm7rnOYRoEUYfgAgyDDq6INjzH4/bECvzG8kAHAgQCz1O0GUOzAl0yiCVDiTuXeRZWs3r+qrJc+s=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(36756003)(53546011)(54906003)(4326008)(6916009)(8936002)(86362001)(26005)(2616005)(7416002)(508600001)(38100700002)(8676002)(83380400001)(5660300002)(956004)(31696002)(316002)(66556008)(16576012)(66946007)(66476007)(186003)(31686004)(2906002)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aUJTZUh5VnpCOGt3cktMYlE1TDhnaDhBeUluZUdEeGFtUzB5OTdoR2VQTFlV?=
 =?utf-8?B?YlVCcU0zY28zelpGcmJITUtRSVdVVXdseWszV3NaTEFCL0ZWaVVxQzNvMWM2?=
 =?utf-8?B?bWdwamErU1d5UlI3TmptcmpvNnBpYUp3YXVUN2FkS29qNnpkMDZiVTlXOXpw?=
 =?utf-8?B?NGQ0UlptMTFEVTFDdTNaRW02VWZRaDhhb1pLclhuSm9ZTzltZ3I3bGNOcGw1?=
 =?utf-8?B?TmROaHk3MkdsZGY0NUFvOWdsUUt3QUJ0YWpCWk1FY2hJMnBqWkFnZXMxZSty?=
 =?utf-8?B?cUtDMzVuM3FrM2VHWVlWaHk1ZGF2blhtOGc4QURNbitzNnZPbzhaTFpoSXcv?=
 =?utf-8?B?SzYrTEdvMU1uZy9JaWlIY2kraVpWeU0rM2Z6K2JOZHJLL2R5UlhNRFU5YlRZ?=
 =?utf-8?B?YmQ5RzUwRk1sZk1sZTh6UXd4RHBFRnRucUpFdUhWYmNYdlRPUjUvZ2psUCtW?=
 =?utf-8?B?NkxuNTE4eWVpb09qNCtaNTg1ZG53WWZFUGlQdFB3S1ZtclJhc2czT2o5WWpT?=
 =?utf-8?B?bjR3K2YwczhZYUJVQzRjVnRBQjJrM3NiVzRuVFY3bE9WUDVVUTc0K1RCTkhv?=
 =?utf-8?B?MW1rZHFOTllvdnpEYWRsYkFCYWhaR2dDQWVGcUNFa0l6Z0M5R2V3bnFmWHcr?=
 =?utf-8?B?NEQwVmkrNHpsZ2pxbERPZ0wybWF4NEt6N2lsKzJJSWoraTdEbEoxRkx5RmVB?=
 =?utf-8?B?VEl4V0FBcmZZZ3NMZTk4T0RPWGlHNHFwTjgyNGhwdzhraWZBZUs3bW9CSjRB?=
 =?utf-8?B?WVJCT2wyZGpWZHJJalY1aS8xQXR4NFAyenlCNFpCbG9RU0UvVXdaellvejlB?=
 =?utf-8?B?S09FSENjeDk1OVd6SFZxdHJHc3lLY3JzTUZDa1l3L29jaDlHT3pNZkRUR2JH?=
 =?utf-8?B?NlliWXV0cjJwN2x2TVJWUjVhUGhKTCtxSEN1NWZqU0RYQVN6M1lVUzVJUnYy?=
 =?utf-8?B?eDFYTkRMVTdzSkxrQVNHdk1taG0rTEFmRmxscHRYOUJ5TnRQbzdOT0Jkc1BJ?=
 =?utf-8?B?TGtTUzJzWW1zWThNcU1DQWJCSEt3NDlHWmlTamc5aHUwaXZGOTVDeWF1UXFQ?=
 =?utf-8?B?eGVtYksybDNsUVdUc3dHeksvbmEzaFNXYWpOOUV2QWVVYis3SzRWanl0dEdJ?=
 =?utf-8?B?RUxOQTlyeTZPbU9ocHBRRE4xYVBOS1lnQlRSYi84NGliNTJCbE15ZytjUzNj?=
 =?utf-8?B?T2lQb0hONnFQZEJ0em43MFpURGQwNlpTYytOaGd4VU9pWDJKS1NXaU5Dd2ZG?=
 =?utf-8?B?d1UrUWx6RWlQSUlnL1VFUWYySkwyNTh2TGlmalpYWDh3TEtRQ3cyeWRpZEdH?=
 =?utf-8?B?dTZhVDhsaFBGTUpvKzRpZXg2eDR2a09sQnRuTWZMV1dDbzB0TnY0UERhRzRz?=
 =?utf-8?B?enRjTC9xY2ZJOGNOSWNXNXZYVDM2NWpWU3dNQWpOYUNmM0tyNkk1K3d4VHF0?=
 =?utf-8?B?dlhQUXl4WUdoSHpLclQwYkM1Ui96eVBNQmtNN3BMUlBwUUxaN3BsTFdzVGt3?=
 =?utf-8?B?c3VOOEFpVlJRRTJTSnBBc0tmcXJRMzdKSkd0WTZTUDY0eGpyM2lka1AwNTE1?=
 =?utf-8?B?TDZ2TGdmSzc5VUtwcUhFRHRMRUt1OHdMVEpTdHdLL3Y4cWo4RUpzVjFEY0lp?=
 =?utf-8?B?M2ltOHFvM011ODRwNDkzRVpRUllleUMrSDZLZFN3ZEZ4STFSQUgxK09Wbmpw?=
 =?utf-8?B?Q0tSL3RuQ0ZCRzJPOE9YckV5cFRKeTA4cTE3ZWdEZTNGbmxmT0hBRDRqRlo5?=
 =?utf-8?Q?9ChHr8ENtckhXJ8xmHI49e68vkdToirlm54aOie?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5d73d837-13cf-452a-0550-08d966f9bd45
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 12:21:45.9232
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: nE/rX044qNoVRLQanQaSBzinO00sJ7IaTATgZZll5uUY73no2anwWTiuQVwcc9z9stTyM8s0YM/6QmjFlYzyXQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB3970

On 18.08.2021 22:29, Bobby Eshleman wrote:
> --- a/xen/arch/x86/gdbsx.c
> +++ b/xen/arch/x86/gdbsx.c
> @@ -151,33 +151,23 @@ static unsigned int dbg_rw_guest_mem(struct domain *dp, unsigned long addr,
>      return len;
>  }
>  
> -/*
> - * addr is guest addr
> - * buf is debugger buffer.
> - * if toaddr, then addr = buf (write to addr), else buf = addr (rd from guest)
> - * pgd3: value of init_mm.pgd[3] in guest. see above.
> - * Returns: number of bytes remaining to be copied.
> - */
> -static unsigned int dbg_rw_mem(unsigned long gva, XEN_GUEST_HANDLE_PARAM(void) buf,
> -                        unsigned int len, domid_t domid, bool toaddr,
> -                        uint64_t pgd3)
> +int gdbsx_guest_mem_io(domid_t domid, struct xen_domctl_gdbsx_memio *iop)
>  {
>      struct domain *d = rcu_lock_domain_by_id(domid);
>  
> -    if ( d )
> +    if ( d && !d->is_dying )
>      {
> -        if ( !d->is_dying )
> -            len = dbg_rw_guest_mem(d, gva, buf, len, toaddr, pgd3);
> -        rcu_unlock_domain(d);
> +        iop->remain = dbg_rw_guest_mem(
> +                d, iop->gva, guest_handle_from_ptr(iop->uva, void),
> +                iop->len, domid, iop->pgd3val);
> +    }
> +    else
> +    {
> +        iop->remain = iop->len;
>      }

Nit: Generally we omit the braces in cases like this one.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 12:26:50 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 12:26:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171300.312585 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIVVw-0006aF-Lj; Tue, 24 Aug 2021 12:26:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171300.312585; Tue, 24 Aug 2021 12: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 1mIVVw-0006a8-Ib; Tue, 24 Aug 2021 12:26:48 +0000
Received: by outflank-mailman (input) for mailman id 171300;
 Tue, 24 Aug 2021 12:26:47 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIVVv-0006a2-JT
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 12:26:47 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id f5125718-25e5-49b1-b13b-0caea619dea3;
 Tue, 24 Aug 2021 12:26:46 +0000 (UTC)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2054.outbound.protection.outlook.com [104.47.12.54]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-37-qOB7LWHQMB2rObZHQHtt9w-1; Tue, 24 Aug 2021 14:26:44 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM0PR04MB6004.eurprd04.prod.outlook.com (2603:10a6:208:11a::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Tue, 24 Aug
 2021 12:26:42 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 12:26:42 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P191CA0057.EURP191.PROD.OUTLOOK.COM (2603:10a6:102:55::32) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.22 via Frontend Transport; Tue, 24 Aug 2021 12:26: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: f5125718-25e5-49b1-b13b-0caea619dea3
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629808005;
	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=1MfqT2WJO30CfmTzwUqbmbnLr8PHIZ8WLomKVonAbYI=;
	b=cD4aYfUFVGWMq9hcrd4DlhXL3v6VT2yjNd3zjU62S5wLPs63+Eqe9xToTPhpjXoUDeHnMW
	F3qrMCWFwhb1F/sCuFsipk+2h1DmTXnWDZasxgx7M4rtkV+2/5O96bhjrBUWRc70JobqWZ
	sUyb//dXvVxfu5JMgJLffItCGh9mECc=
X-MC-Unique: qOB7LWHQMB2rObZHQHtt9w-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iz/lpFxgggHOy6vSKB1KOKD0lDy73rpDE+h3a2jSFf18K/s70BRQkuss6JijIhzyjPnPW/N72Eh5WRYVrRzIx0PWuvUoTuskL2a0xPYbqgDqO7ljQ8EjD2H5WzRJSFkYrRVL5Z9J8SnFIn45U3uU3C6GuheLOfMF0c8ubKof7VwulPvRVTBYq52/pIawRJ9dChKjB8An9Uj/o8frk4bvLhDQcP/B3b0Dgzl2nqT1q/sXSRK2helsdDC5r6pTzvO5yNP4QJJJYofSrJTahNfN2m5dygMN8q1gBHvjy/NIS6R42u0BxEwF7j6tpc11dMFBEwOmK/sw//Gc+hZNj2kYbw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1MfqT2WJO30CfmTzwUqbmbnLr8PHIZ8WLomKVonAbYI=;
 b=kSreOHqsGr0eQMz4FhfXSmNPo79Hap3qNjRei/ucbAQW5CKV6nbl4+TyAMqZcpkSF+OC/tD17rgeWYvtYQcjTb/MnIx/YmdFpzxEc9/+SvwYtVY17/dfXnaAdr1DkMcS+ZCYi6ExmLAXwUIGvPFi8tdfg0oE5YKK6I7QAqyqLDexSwFD+WFwVPwg98DE6fOjA3QDmKr3y/wGl/xWoNF36NR++UIb0TXLM3A2v5WkeV5iAXt88kCjPbkYj9XTJHlFzXzR3uoRA7uCi/JImrUr87J3vUIHoCO9wfLWeEpQyCQp31qKyz8VnSr0+fWLpAtSrmtMRRObrKWHd21oIwmgog==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v3 5/6] arch/x86: move domain_pause_for_debugger() to
 domain.h
To: Bobby Eshleman <bobby.eshleman@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Elena Ufimtseva <elena.ufimtseva@oracle.com>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 xen-devel@lists.xenproject.org
References: <cover.1629315873.git.bobby.eshleman@gmail.com>
 <e185531b79b73fd353b4cfbe2cb7625498e9c9b1.1629315874.git.bobby.eshleman@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <a291c5b4-c865-0858-62e2-806a337c2407@suse.com>
Date: Tue, 24 Aug 2021 14:26:39 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <e185531b79b73fd353b4cfbe2cb7625498e9c9b1.1629315874.git.bobby.eshleman@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P191CA0057.EURP191.PROD.OUTLOOK.COM
 (2603:10a6:102:55::32) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 52732bfa-cf26-416f-82ed-08d966fa6db5
X-MS-TrafficTypeDiagnostic: AM0PR04MB6004:
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB6004B122850B82A06AF1467AB3C59@AM0PR04MB6004.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:6790;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rWjq1s8IVYJEsfTBOEEVuqC/mWuVw0ERtGEcF0L8vCe39GR0iHLlTCyOwW3s1yJbEgN9ox1TNZlyytKi6nrWHpA9+mR8r97+srOc+/EjkawXLKs1Af29FeY/0p4sgnQDgc3eWmeaqYJX7wgpLTV2ScCk8dJ9DDshIgxspMa+nq55sZZxaHoLvC8xu9GywPbf0vNjzc1BVCl+l/c5f+saNnbBmqA7JVkbmEe07m1qD6iB2WSd2iKKD5nsNSUsG6Cf2iOr7p1VB4CcJ09M5ZWCUhFIeZ6uxP2ZfvMMY75ow9IwZXY2TebNmMiNcDxaVZPGAr6mYx7Xymu2NHl+LcVCiZPdxC3+7UROMbuTCllhLKgrkmq0n6OoSsS01lBH6tlHn1naBp1rJkMzlYrpVK7bA4megMLw4BHoBDH0ch6U+DGw+TEBq3WkTjkqvMaAwGV+J7cjdiWKJy9gioVAgAZFOrYunKxkc84CKydOFpYNgfzlEJh+tdaFEYOXNJ3c7HTyH95cpedvUFJ/DwrvfCMGsQ2t6I9qHkbpJ5DkFNx0lRvguHt+Tjrh4N4lwEmt6DrEzFnzKoGJaKdIUGsEZPUA9ohU6+pHnCxrvbh2bsOEMV8Md6SKUJYkA4qAXVD8uqHc6/8jeokUwIxex9PmriNBJBIVSr8kz4msS43e3QrSew6RfDE4dZ1Rcuj9i2rQNInkp/UeVPiw/3wm2DtY5R39wqnYAMXuSHmVMkfytXhQntc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(136003)(39860400002)(376002)(396003)(346002)(53546011)(4744005)(316002)(16576012)(54906003)(7416002)(2906002)(8936002)(478600001)(31696002)(38100700002)(31686004)(4326008)(86362001)(66476007)(8676002)(6486002)(186003)(5660300002)(66556008)(66946007)(36756003)(956004)(2616005)(6916009)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cFd3VStlNlN3c1Nlb0VxeFV5OXlZYk1HYTRTSXBCM2xmQUtnRk5jU3ZJWVZW?=
 =?utf-8?B?aGJwcisvZGNNeHc1VG9meTVoaUhsOTUzUS8zdXg5aXFOcXQxd1FwbHdqczQv?=
 =?utf-8?B?aXB4OHIzMzVMV0pweVcxbGhEYm1vV3FWSm1yeHVxclA0RnZ2OFJWTkI3LzJ4?=
 =?utf-8?B?OGxneXRyWGlUQ0s0Z3BLb1lQV04wdTA0T1VhYk5lSWZSVDNrTEd0cGRyOFll?=
 =?utf-8?B?MmNMTVp6S3Y1bDFRNi92ZzRhVGJKcG14b0taSisvQ0RUMjdnWWVBVktIajN1?=
 =?utf-8?B?b1ZvY0lOTk1NcTV5MUE1UjVqWDU0K2ZTdm1ZL2pFUDVqc2hxRHp1ck5TN3FS?=
 =?utf-8?B?eTVzS2FhUjNLTWNYeitjWlRIOE5keTNkcTJNVGYvUFhxa3oyQ1hPeWpWeDJt?=
 =?utf-8?B?WCtnZ1cyaHFkWU0wdmlZb2JmbVB3UEwzZTJtbjNpVUlpaTMwU2RjbW1nRGVQ?=
 =?utf-8?B?em5FTjVvaGpJcGRuOG1hZU8yUW1zS014aWFJd01GbjhzWTcvOEkrT0xtZ3VF?=
 =?utf-8?B?S0VzNkJIckxnQloreG01bHp1cG9jWm1EdTd2RzRmdjVqUW16N0xHdk9YUE5H?=
 =?utf-8?B?ZFNoaVBFK3E1eklhTkg4cklsODdOTmJHeUNPSkNLZUFJSTVrbGxwS1ZPMTdF?=
 =?utf-8?B?WGxSZ1JhVGx1MnQxczgvWHBDdmRUSmJndURRRXEwRkJidmsxaG1SbDg4ejVs?=
 =?utf-8?B?TkpWTVlzVlhxZzIwb2UxRzdQeHplc1FBZklDYWpFY3NSMDRkSU1CWTNCR0Rs?=
 =?utf-8?B?bmVDWTFkTmYvODdwWTVSQURPY2VUUXRHQTU0WjEyZTlQZlJETi9jZmNFcCtl?=
 =?utf-8?B?dVZRZXZtUXdpa3lNMkpudDk5ZFl1Mk9vcExjcGQ1V2NTTHgzVDlyQmN4YnJs?=
 =?utf-8?B?d3dnWVRXUnQ1OG5PUUJyWWZWUkkraHFrWHpLUk42cklTcmFNcFVLQVI5Y0hT?=
 =?utf-8?B?d2dTOFVOMjBXeWtmNDNybTE4TDdBSHVWRFRaYU5RQlZlejM2SXFHajFvSVJj?=
 =?utf-8?B?TnE3cm94emkrM1p5TGJtdkRnZVBEcFhqajdCcCtpeDdOZElvUURiaXE2UU1E?=
 =?utf-8?B?SDRDVTUrcjJoOXREZG5yeG52MGxWOUpNRHgzMldoYVVUTnBsVHNGeWw1WDdC?=
 =?utf-8?B?WnpZbTY5VGZoREh2aFNRNUFZR3hWRzBONVdqWURNTUFkSTBjY2ZoRkJ3cldE?=
 =?utf-8?B?VnBXK3IwT0NaUGtoaEx6dnNELzJramRiOExCWFk3L0JXWXVlbEVlVE4zMVNM?=
 =?utf-8?B?cUVadSsyUER5SVpmUVRETTdjNWd5dS9XYXY5cVlITGtGbzlIS21mWnNEWUJy?=
 =?utf-8?B?RUJmWGdTSzVxaVFtSmE4QmlSV1pqaitLS1psWUZVbmVwR096RjZHcTR5UWxu?=
 =?utf-8?B?S3l6TUV4VzVVS3pXVzN5UGZZSkNmZnBMWUMzMTVMMFIxYVFobmlEK0JTeUZ3?=
 =?utf-8?B?Y1NSTmxlN3d3WDRZV0JnL0p1Vm5rYmhqS2QwWjZLNW4vYzRQNkVBVjdvaWNO?=
 =?utf-8?B?Q3V3V01uZXdlUzZQYnhuV3YxczRhK0trTWZGZzQ5SjczZnBjbUFaUGVEMWls?=
 =?utf-8?B?SjMyTW9jeFhLT3JxbnhzbzEvMElEa1g2azc1cG40dlFLSnFyVFpLTTd2cHk3?=
 =?utf-8?B?d1NoNFZ6d3p2bWdqOXRtbjZXTEd5anFFaUJ5a0ZMZVVGT2ZSTDM2WmRKSHpI?=
 =?utf-8?B?MExYT3BsSVZZMDVKS3EwVE1TUzY5ZWFSanRGY0tveEEwaDEwSjFuT0ZVQUFJ?=
 =?utf-8?Q?UJwyvRpxpyiXFFeDym9h8qtcV2PrpXIJvSKXC2g?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 52732bfa-cf26-416f-82ed-08d966fa6db5
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 12:26:42.2802
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: dFxAs81iNXrSDXRb6o0IltU2pUt9kPyD89lk3sIAlANGz2krLGqA8Llgz8nMqwSLfAVI0VYLuYDYRbbunu8IfQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6004

On 18.08.2021 22:29, Bobby Eshleman wrote:
> --- a/xen/arch/x86/hvm/svm/svm.c
> +++ b/xen/arch/x86/hvm/svm/svm.c
> @@ -36,6 +36,7 @@
>  #include <asm/processor.h>
>  #include <asm/amd.h>
>  #include <asm/debugreg.h>
> +#include <asm/domain.h>
>  #include <asm/msr.h>
>  #include <asm/i387.h>
>  #include <asm/iocap.h>
> @@ -58,7 +59,6 @@
>  #include <asm/hvm/trace.h>
>  #include <asm/hap.h>
>  #include <asm/apic.h>
> -#include <asm/debugger.h>
>  #include <asm/hvm/monitor.h>
>  #include <asm/monitor.h>
>  #include <asm/xstate.h>

While it's generally a good idea to explicitly #include headers that a
source file depends upon, I'm not convinced in this case: sched.h
includes xen/domain.h, which in turn includes asm/domain.h. And this
dependency chain is very unlikely to go away, as sched.h needs to see
full struct domain and struct vcpu, all of which come from */domain.h.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 12:42:21 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 12:42:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171311.312605 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIVks-0000c2-26; Tue, 24 Aug 2021 12:42:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171311.312605; Tue, 24 Aug 2021 12:42:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIVkr-0000bv-UU; Tue, 24 Aug 2021 12:42:13 +0000
Received: by outflank-mailman (input) for mailman id 171311;
 Tue, 24 Aug 2021 12:42:13 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QsuA=NP=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mIVkr-0000bp-7x
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 12:42:13 +0000
Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id b39d59f8-04d8-11ec-a8cf-12813bfff9fa;
 Tue, 24 Aug 2021 12:42: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: b39d59f8-04d8-11ec-a8cf-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629808931;
  h=to:cc:references:from:subject:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=tE78tg92dfnp6QQGPRGJ8r8VD9pevASCWFLZPe1xwq0=;
  b=NZqqz++Oek1d/04InG9I1+JuIq5TjgCC6O3gwol/50Zh9dMCU/AVvq/y
   Q9Ulq/mgSLpw1S/j0QM8V3tFYOo3fJzX9tZY4naa6A0owh5FjF3nqRRdy
   iQ4HBOkHQlNhxrs1nZqiNx5jof4CemKMXCUFBFmFRoicgkxXhfXIL7mVj
   o=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: kP8G5EXDlkW903ZAzoT9UtcAXQqAaq+fYyQDpXNaaCNxVGrUbqey5EROi53r01P+iZ6PClXhQ8
 nBBStGXaNUvD5sU+E+okt6OG1i9Wb6f/eQ3qo/fxlkekLRrkQ0xn3m0e07U0iqI66Cs5dBKRrW
 6q1thU87TRF6YyZWvWGZdi0+WF5WlaQwc/geFNfpW8b5IiJv+t2dmtQGuDL3Hp59WI9GqY4Rvn
 FKXLUMSaYDwXyU+5zTITmpKDDXSgcYDpWXXtM1py/FR2xrUU+zXRYcD+3fD2m6eYbZQSzJU6cm
 6B4J8OwJFjsHqkww+Tyr3H61
X-SBRS: 5.1
X-MesageID: 52883317
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:2o77X6zPCyNQuUX0J6r7KrPxq+skLtp133Aq2lEZdPULSKKlfp
 GV88jziyWZtN9wYhEdcdDpAtjlfZquz+8K3WB3B8bcYOCGghrVEGgG1+rfKlLbalbDH4JmpM
 Fdmu1FeaDN5DtB/LXHCWuDYq4dKbC8mcjC74qurAYOPHRXguNbnmBE426gYz1LrWJ9dOME/f
 Snl696TnabCA4qhpPRPAh1YwGPnayLqHqgCiR2TiIP2U2rt3eF+bT6Gx+X0lM3VC5O+64r9S
 zgnxbi7quunvmnwluEvlWjrKh+qZ/E8J9uFcaMgs8aJnHFjRupXp1oX/mnsCouqO+ixV42mJ
 3nogsmPe5093TNF1vF4SfF6k3F6nID+nXiwViXjT/KptH4fiszD457iYdQYnLimgYdleA59J
 gO83OStpJRAx+Ftj/6/cL0WxZjkVfxiWY+kMYI5kYvFbc2Wft0l8gy7UlVGJAPEGbR84Y8Ct
 RjC8na+bJ/bU6aVXbEpWNiqebcG0jbJi32BHTqh/bligS/xBtCvhMlLY0k7zU9HasGOt55D7
 +uCNUyqFkmJfVmH56UB486MIaK4yL2MEjx2M/7GyWuKEg9AQO7l3fA2sR+2AibQu198HIMou
 W2bLp5jx98R6u8M7zB4HV0miq9C1lVGw6dl/1j2w==
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="52883317"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SOLYGdSs1OLLHEVDXjhlEd3U+SiBy3i9NMB136aW52kw0orKKuSdX8NVX4UlDRDLQiSUEIKxTyiFPOUacT/RRU1VnAGYmXju8dQNgAdj6IBsXcmQLf6me7j6LNSCHzNQGQOB4uEhl2XxRI4I7+YUQYNlN6wftnL5qR5VO+8l9OIKwjZdDrcoUhfdO1sk2RbvrLs32NJtWgTRFohiBH7nsfJbBmlo3+nRh4GvC83MDa89M0mpHaMcj36TkmOL9CM1W8ljkuGOrcSWLJUCbxllAaUbGabJ9EcdqJtvd60ZjUCmk0i7xJ9CmYjw5bAUIV+EBuxYrloi8dPj18n10NNYtg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tE78tg92dfnp6QQGPRGJ8r8VD9pevASCWFLZPe1xwq0=;
 b=hAVnaa6eqqaePaFvA72DJxB+nj31ubbmNKKicEv88kuZVCZzNidoxqwfF1ro6GIVWcJ2CqZFmx8q+/yV6yYeJJfaxd9ioAnFntJ8odH6/Sy3Fn7pY0wMUnTadXZY8qhTBYJVXs6EtoOt6asfLvSCoUMJ+PdYDETGsv4qTAIyWMh2+rChQtSK+ZDdLnmk7bPP5K5COW1Pl8y/hZ1PUVOMix+wkS9BqkbUsbEoSQtrL8yWoQdHGKAe7dpxvQ9CFYA00p1UgSVkITBmGo0Gd0VJBJkhFQtH1L84nbZdUn3ZV2/3ROej68vjMPR3DZRBRZ+FZwdjGkfrib+BTfws24HxUg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tE78tg92dfnp6QQGPRGJ8r8VD9pevASCWFLZPe1xwq0=;
 b=BZHF9ZhSEDaXjHBrli0ifrvdMiwFwTY3j/9Sl2FKj5rdN4tPtTL6fRmqxdl8/Zaog3+Lt8PmgbZqdiRG8AS44fiNswiyGcDWGHjML5aWgPAbzBreNXt+aAQEV32fVPbD3KatEuaR28uJHAuNsLrDw3HOUvpLPv7lzufIjbJobcI=
To: Jan Beulich <jbeulich@suse.com>, Bobby Eshleman <bobby.eshleman@gmail.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	=?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, Elena Ufimtseva <elena.ufimtseva@oracle.com>, Jun Nakajima
	<jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>, George Dunlap
	<george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
	<xen-devel@lists.xenproject.org>
References: <cover.1629315873.git.bobby.eshleman@gmail.com>
 <7925a89cf830e0e3705a8700fce09a408fcfc27c.1629315873.git.bobby.eshleman@gmail.com>
 <cf162154-a988-ffe9-f6a0-40351f654d1b@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v3 2/6] x86/debugger: separate Xen and guest debugging
 debugger_trap_* functions
Message-ID: <56659479-80b1-4242-5689-f1a0b62df549@citrix.com>
Date: Tue, 24 Aug 2021 13:41:52 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <cf162154-a988-ffe9-f6a0-40351f654d1b@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-GB
X-ClientProxiedBy: LO2P265CA0392.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:f::20) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 29904cde-6620-46ad-d1d6-08d966fc9132
X-MS-TrafficTypeDiagnostic: SJ0PR03MB5693:
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <SJ0PR03MB56934E3ED4D6C2416876B62DBAC59@SJ0PR03MB5693.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: xWVuQocMIVhPbnmqKZVXwJncWHQ6arvYyPWDcOSa6qau5E/4XRRO7qNR3rzgSig8eXMtxpNSVjvEcsxzpiqV8NLEDO5M9P7/X/nWDbfXyQpv9Dhjb02SzhlkHRivsf9QCeBVvJQ+YGkNfXfTOqz3s7hizC1ZLhX4CDl16Z6S9KxERSR4Vr68eoyJCHbvVDLK9SdpkOL9HTxq1wRRo/nDYxODQ23OmgUpoBC1iCwwbZEus9eGADfTtK9OriBtpIOTvSR/ChghyNcnE+MidBqWzBOBoSx+EoduS34n7k+cLDxIdHWASVLjfGcmeM4IG2jzw+Xp74nWVWBK1j+J+4L0b+eAFE5mYlGZExQQmbAO8E5hVrsejjJ22tUznVnyluc/yXr67LXqV+aL13m9q6Febo9NwBQqOLZcBOR7NsiJobKjKhxORBd8IOLTkJDN8aiSVC8e2tDor90xI69m/sshEMU09tpvA13AzG9TLzxDAGa92nkZP/NcOb72LyPjRa97TpU1FOhjx/rSnwS/Qm8tXll621Z55pwfrrcu8/aeaJE9EdiEumT3WGYMKyzFNO1q+rewtD7kOBziVcumXJ5UPpUwbYu/KYg7WVTgufA7ekbTOLSfwrY+p5dpTAY8pjIM+PMruvyOo0pbBOovlFrxp6n5R6Rudo81w2HdoaG4BGGUmdOvb8auyP4Gsm68txfPFkkXCf28Qbp/5MChKxeryd+qr9sM+BxwnHVsB/emntI=
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:(4636009)(346002)(136003)(376002)(39860400002)(396003)(366004)(54906003)(36756003)(478600001)(16576012)(26005)(316002)(8676002)(4326008)(956004)(55236004)(8936002)(7416002)(38100700002)(2616005)(5660300002)(110136005)(31686004)(53546011)(6486002)(66946007)(31696002)(86362001)(6666004)(66556008)(2906002)(66476007)(186003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?aWlwQ1pzTS9KdHF6QlE1OWV0dUVLVHZibUw4ZGZ3dDJ6OVpkNzh4R3lMd2hK?=
 =?utf-8?B?QjZhZWJjWmFCMzltdUY3M0phNFovN01HTU4yQ3J2b254K25yaDc0ZmJDUXhj?=
 =?utf-8?B?RHBTdlM2YkJkZ2xlNnNNblpJcHRxZzcrbUR0M2F5Sm5OT0NkdzlqcVpJc0NL?=
 =?utf-8?B?UnlHL3RPV1Bzbjh5YkdHRkxjNEliR2VXdEIvMjc3S2VRYUlESk9ITWx5UkE0?=
 =?utf-8?B?QnV4VGltRWs2S2VvdmJaWXdqZ0FmVFc2WENWMWJrQmp1aEk4NmJycEtKQlAw?=
 =?utf-8?B?ejVmcVlwZ0doVTg5dW1nV1FTVHVlRVlEa2VNNUdXR3lWa3hTaWVvY3NocndO?=
 =?utf-8?B?Slo5QUNXT0JhaEVYaENSV2Vzbmc4aFlCUHg2UUpuSGFLMWp5cW9LNXRJOVJo?=
 =?utf-8?B?ZWpZYS9NZzhoVWZrSWZXTDhQOU0rcDFmblg2YUNQdVpWdWZjRU91QVBNWUlO?=
 =?utf-8?B?WkNPM0FpNWI4TWNSRTlrRDV2NUxsc21McTlpY3Bhb2lRd0NLaW05NDlwbWxL?=
 =?utf-8?B?c2kvSDRLR3luVzRTQm5CWHJZeENKOTV3YzFEWjNIelA5L2RRZGQ3NENSaUZj?=
 =?utf-8?B?cHBLQk5icFJuTjdYTVdSZU1ta3NRaGJLdGFoQWhiQUl6RklqT3pCbG0ybzIw?=
 =?utf-8?B?bFErQ0VSZ2NJYkVPbjJvdjZZRmJ4V0h5R2h5NEZ4UFZxYmJLclQ4WWdWU0dh?=
 =?utf-8?B?QVRmNG5OL2tOckxTRno2Z3g3NlpNd05zcWV0aVZTR2lFSHNGMzlkZjkyamN4?=
 =?utf-8?B?LzhwdGYwblErelhMRE10aXhsYjhJZzRzMWpiaFFjOERTYzZaTzJHekZpeVBD?=
 =?utf-8?B?TktQcDltM0FGMDlLYy93dDdPTU1SYkt5YXUya1Q5azlJemxlcm9hcUV2eHA0?=
 =?utf-8?B?Y2F6eitickZpZ3hWdWJSYVVZTWM4YVhvSWM3bkhPeGM1aUxjTFd3ZE1rM05L?=
 =?utf-8?B?YWxqZjE2dXVsZ1oyRG84aVlFZlJ3QXczMVdXVkhOMWhWaitZQS94cDVMMzFK?=
 =?utf-8?B?ejZtUm05WkhKTmUvUThsK2hPNmhlVnpRME84RDRtQ0lsdFJtQ2ZrdUJSbExV?=
 =?utf-8?B?TjJEcTR4RGJEOHljZkF0NkFpQ0tBNHJrNitxa3dqdXNNbDdaWVpqY3Y1UktT?=
 =?utf-8?B?SExHQjlEVTlpYmtsNkJNY2tVZExWRi9WV3dKZllweEtXcllESGU1WU1WbGRY?=
 =?utf-8?B?enlVMGE5djU1cll3dlA0Wi8xd2Z4QUJNUUNCbzMwWjU4UW1EcTRLSkFYaGNT?=
 =?utf-8?B?bkZ1blAwV3ZXTE9UZDFmeTZnSktGVjFFN0ttZVVybGhSZzJlNHVvRko0d2hD?=
 =?utf-8?B?VTFzeHc2SWRrOWxHSVdkWkpvb0R6bFlNS0dJMTZDc2RoT2htMEMyN3RnM1I2?=
 =?utf-8?B?dFg4U2k4YXNnaDdsenVhZHk3Sjh5YnNSNlgzT0tabExEYVd6aVUydTc2cVNY?=
 =?utf-8?B?MG1Ud1JTYmpzdFZ6cGZYUnJHSkM1V3NMMEVURklaVUtiVjJDNjlTcmZ5aTVs?=
 =?utf-8?B?ekZHaWt6QVZFNnRFRk5QY2djcHRjOWJKQ0J1WTJxZ2VTT2xmUCtGUUQzZHQv?=
 =?utf-8?B?TXZKQlcwWW5tS0RTLzAraXFoSW9adG5iS0IwODdzQUxYR29lc0ZhTjVOazV6?=
 =?utf-8?B?VEZoMmJ0ZDN2OWViTWIxdU5MR013YU5kRWJMdS9obUdIR293c3lNdTQ4VlZ6?=
 =?utf-8?B?U2Y0TGsxWHlleFBsMFhBa3RodTExNkw1VmpPTHRWVzZYaW9IeGVKU0p4QnVW?=
 =?utf-8?Q?P+1tvieIld8JlTHnxYdjcWdB9eVOcCyxfTNlD33?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 29904cde-6620-46ad-d1d6-08d966fc9132
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 12:42:00.4843
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: raUINse1OAQn+KgsKh1yXjAo9LnKVvnzFts3oSQ/ntNbLpCc9xEzlJABodNcSTpcOOrkpjFK051mKUSUdSxdLifjJSE8riPkL4yssr7kwZU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5693
X-OriginatorOrg: citrix.com

On 24/08/2021 13:16, Jan Beulich wrote:
> On 18.08.2021 22:29, Bobby Eshleman wrote:
>> Unlike debugger_trap_fatal() and debugger_trap_immediate(),
>> debugger_trap_entry() is specific to guest debugging and *NOT* the
>> debugging of Xen itself. That is, it is part of gdbsx functionality and
>> not the Xen gdstub. This is evidenced by debugger_trap_fatal()'s usage
>> of domain_pause_for_debugger(). Because of this, debugger_trap_entry()
>> does not belong alongside the generic Xen debugger functionality.
> I'm not convinced this is what the original intentions were. Instead I
> think this was meant to be a generic hook function which initially
> only cared to deal with the gdbsx needs.

It doesn't exactly matter what the original intentions where - what we
currently have is unused and and a clear source of confusion between two
unrelated subsystems.

It is unclear that the gdbstub is even usable, given at least a decade
of bitrot.

Keeping an empty static inline in the enabled case is nonsense, because
at the point you need to edit Xen to insert some real debugging, there
are better ways to do it in something which isn't even a catch-all
despite appearing to be one.

~Andrew



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 12:45:30 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 12:45:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171316.312616 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIVo1-0001EI-Gx; Tue, 24 Aug 2021 12:45:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171316.312616; Tue, 24 Aug 2021 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 1mIVo1-0001EB-D6; Tue, 24 Aug 2021 12:45:29 +0000
Received: by outflank-mailman (input) for mailman id 171316;
 Tue, 24 Aug 2021 12:45:28 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mIVo0-0001E5-86
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 12:45:28 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mIVns-0003GY-W8; Tue, 24 Aug 2021 12:45:20 +0000
Received: from [54.239.6.186] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mIVns-0005rl-Op; Tue, 24 Aug 2021 12:45:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=g2uM6FMtdrioWOEhiZPIWYdHGiaDjPrak1OX0/wbXAQ=; b=c7dZSMkovKftOcRCysyCjAc0f6
	AIsvb9s6kZYXa7TtFm4kv2k36kKuseLFc4kq0qGAhqnqOHfagcUVCDkt+2r5z5milgc3RA68r7mJQ
	J1ZT9fDOi1FWPSL8GSAjJLvpnh7VzvrLcnqQI7eVK2riobtRK5WVXY83saw6/HZPyoSQ=;
Subject: Re: [PATCH v3 1/6] arm/traps: remove debugger_trap_fatal() calls
To: Bobby Eshleman <bobby.eshleman@gmail.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Elena Ufimtseva <elena.ufimtseva@oracle.com>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>
References: <cover.1629315873.git.bobby.eshleman@gmail.com>
 <4c4f45280547564b2c16fd9ca09443314b8f3b6e.1629315873.git.bobby.eshleman@gmail.com>
From: Julien Grall <julien@xen.org>
Message-ID: <7000f22f-3925-44ba-f73f-952a84573182@xen.org>
Date: Tue, 24 Aug 2021 13:45:17 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <4c4f45280547564b2c16fd9ca09443314b8f3b6e.1629315873.git.bobby.eshleman@gmail.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Bobby,

On 18/08/2021 21:29, Bobby Eshleman wrote:
> ARM doesn't actually use debugger_trap_* anything, and is stubbed out.
I am guessing the plan was to add support for debugging support on Arm. 
But it never made it and it should be easy to re-introduce. So...

> This commit simply removes the unneeded calls.
> 
> Signed-off-by: Bobby Eshleman <bobby.eshleman@gmail.com>

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 24 12:48:26 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 12:48:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171322.312626 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIVqn-0001tw-Tu; Tue, 24 Aug 2021 12:48:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171322.312626; Tue, 24 Aug 2021 12:48: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 1mIVqn-0001tp-R4; Tue, 24 Aug 2021 12:48:21 +0000
Received: by outflank-mailman (input) for mailman id 171322;
 Tue, 24 Aug 2021 12:48: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 1mIVqm-0001tZ-8L
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 12:48: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 1mIVqf-0003JD-Il; Tue, 24 Aug 2021 12:48:13 +0000
Received: from [54.239.6.177] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mIVqf-000664-Cj; Tue, 24 Aug 2021 12:48:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=cnEuulBrOIjQKZLoOdzkzpcx19I/WHPHq0paK0dDiKk=; b=Jh5hzLSqjKJR8DDYAFKt4ND4pE
	u7CMNX0KWIf5dMk0ARxz8OM1sSlAlMt078flxBzyuaXYyprf36dqNI7qs5hqWwdavObxLBl/sofus
	gWAAG51EMX6MIMCxrnkyHOaUUCnD3Gqc+4XTaC9ugNd5gO+TthBQMROqBLoHJUXmRxRs=;
Subject: Re: [PATCH v3 6/6] x86: change asm/debugger.h to xen/debugger.h
To: Bobby Eshleman <bobby.eshleman@gmail.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Elena Ufimtseva <elena.ufimtseva@oracle.com>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>
References: <cover.1629315873.git.bobby.eshleman@gmail.com>
 <f341cf43ec2fb32a78d92265740e595f56fa76ae.1629315874.git.bobby.eshleman@gmail.com>
From: Julien Grall <julien@xen.org>
Message-ID: <f0954c0c-f1cf-2102-bef0-d430fabab969@xen.org>
Date: Tue, 24 Aug 2021 13:48:10 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <f341cf43ec2fb32a78d92265740e595f56fa76ae.1629315874.git.bobby.eshleman@gmail.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi,

On 18/08/2021 21:29, Bobby Eshleman wrote:
> This commit allows non-x86 architecture to omit the file asm/debugger.h
> if they do not require it.  It changes debugger.h to be a general
> xen/debugger.h which, if CONFIG_CRASH_DEBUG, resolves to include
> asm/debugger.h.
> 
> It also changes all asm/debugger.h includes to xen/debugger.h.
> 
> Because it is no longer required, arm/debugger.h is removed.
> 
> Signed-off-by: Bobby Eshleman <bobby.eshleman@gmail.com>
> ---
> Changes in v3:
> - No longer introduces a fake TRAP_invalid_op for arm to consume, it
>    is not necessary given the removal of the arm calls now precedes
>    this patch.
> - Instead of defining prototypes that arch/ is expected to implement,
>    this version simply #includes <arch/debugger.h> when CONFIG_CRASH_DEBUG.
> 
>   xen/arch/x86/traps.c           |  2 +-
>   xen/common/domain.c            |  2 +-
>   xen/common/gdbstub.c           |  2 +-
>   xen/common/keyhandler.c        |  2 +-
>   xen/common/shutdown.c          |  2 +-
>   xen/drivers/char/console.c     |  2 +-
>   xen/include/asm-arm/debugger.h | 15 ----------

For the Arm bits:

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 24 12:50:39 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 12:50:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171329.312638 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIVt0-0003HV-FU; Tue, 24 Aug 2021 12:50:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171329.312638; Tue, 24 Aug 2021 12: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 1mIVt0-0003HO-Bv; Tue, 24 Aug 2021 12:50:38 +0000
Received: by outflank-mailman (input) for mailman id 171329;
 Tue, 24 Aug 2021 12:50:36 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mIVsy-0003HG-Es
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 12:50: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 1mIVsx-0003Mz-JX; Tue, 24 Aug 2021 12:50:35 +0000
Received: from [54.239.6.177] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mIVsx-0006I6-DQ; Tue, 24 Aug 2021 12:50:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=2U7+iYwnj3IT4UlKYJURHPyIhaZA3etDjq8bwgj6zxs=; b=wksSXqFZcQnc6wqazl/3RbWrTF
	CBI4ha+SraQyozozbBwoqvMNEH/LPce4BBj6Tm64jiG9J6EmB1bTwsMz4F0OxCEN9DMatinm5XXnx
	2uAD6LhPSwP6h5TYY8whzMJckj6bGE8JTY4RG9zD5/ZLzyAQkAO6AGLzVNYXDEIYYM0Y=;
Subject: Re: [XEN PATCH v7 10/51] build,arm: move LDFLAGS change to arch.mk
To: Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
 <20210824105038.1257926-11-anthony.perard@citrix.com>
From: Julien Grall <julien@xen.org>
Message-ID: <b5c93c83-1d32-c71b-c4c5-36d2fc00dfa2@xen.org>
Date: Tue, 24 Aug 2021 13:50:33 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210824105038.1257926-11-anthony.perard@citrix.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Anthony,

Can you explain why this is moved?

Cheers,

On 24/08/2021 11:49, Anthony PERARD wrote:
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> ---
>   xen/arch/arm/Makefile | 8 --------
>   xen/arch/arm/arch.mk  | 8 ++++++++
>   2 files changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
> index 0edd9dee6f49..3d0af8ebc93c 100644
> --- a/xen/arch/arm/Makefile
> +++ b/xen/arch/arm/Makefile
> @@ -104,14 +104,6 @@ prelink.o: $(ALL_OBJS) $(ALL_LIBS) FORCE
>   	$(call if_changed,ld)
>   endif
>   
> -ifeq ($(CONFIG_ARM64_ERRATUM_843419),y)
> -    ifeq ($(call ld-option, --fix-cortex-a53-843419),n)
> -        $(warning ld does not support --fix-cortex-a53-843419; xen may be susceptible to erratum)
> -    else
> -        XEN_LDFLAGS += --fix-cortex-a53-843419
> -    endif
> -endif
> -
>   targets += prelink.o
>   
>   $(TARGET)-syms: prelink.o xen.lds
> diff --git a/xen/arch/arm/arch.mk b/xen/arch/arm/arch.mk
> index 11caec86ba14..6a2982059486 100644
> --- a/xen/arch/arm/arch.mk
> +++ b/xen/arch/arm/arch.mk
> @@ -17,3 +17,11 @@ $(call cc-option-add,CFLAGS-$(CONFIG_ARM_64),CC,-mno-outline-atomics)
>   ifneq ($(filter command line environment,$(origin CONFIG_EARLY_PRINTK)),)
>       $(error You must use 'make menuconfig' to enable/disable early printk now)
>   endif
> +
> +ifeq ($(CONFIG_ARM64_ERRATUM_843419),y)
> +    ifeq ($(call ld-option, --fix-cortex-a53-843419),n)
> +        $(warning ld does not support --fix-cortex-a53-843419; xen may be susceptible to erratum)
> +    else
> +        LDFLAGS += --fix-cortex-a53-843419
> +    endif
> +endif
> 

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 24 12:53:17 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 12:53:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171334.312649 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIVvW-00042N-TJ; Tue, 24 Aug 2021 12:53:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171334.312649; Tue, 24 Aug 2021 12:53: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 1mIVvW-00042G-Pj; Tue, 24 Aug 2021 12:53:14 +0000
Received: by outflank-mailman (input) for mailman id 171334;
 Tue, 24 Aug 2021 12:53: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 1mIVvW-000428-8w
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 12:53: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 1mIVvV-0003PG-Cj; Tue, 24 Aug 2021 12:53:13 +0000
Received: from [54.239.6.186] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mIVvV-0006YQ-70; Tue, 24 Aug 2021 12:53: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:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=1XTh++1M2EAMxs6u6Xdtw0nMNd7YVsTSaDp7PyfIePg=; b=gKlpz/VpAUHXcla6EJXsdLwjpJ
	sOCp7HYypOVM/tzcuFuw6MY9FJPIXSpBjECVsCVyXrpzm4cwsp+Cs+gEjSuZqhgzNBsBKBHxQ4FLd
	Mr5/9ERXu3GP/lfniZ3XogUKaoh1LGZ6w3qkYoypnuUrDbxMTWrzKHJr53e0R4JFqhNA=;
Subject: Re: [XEN PATCH v7 12/51] build: avoid building arm/arm/*/head.o twice
To: Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
 <20210824105038.1257926-13-anthony.perard@citrix.com>
From: Julien Grall <julien@xen.org>
Message-ID: <3152a1d5-3185-1d9c-8949-39015c73bbe4@xen.org>
Date: Tue, 24 Aug 2021 13:53:11 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210824105038.1257926-13-anthony.perard@citrix.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Anthony,

On 24/08/2021 11:49, Anthony PERARD wrote:
> head.o is been built twice, once because it is in $(ALL_OBJS) and a
> second time because it is in $(extra-y) and thus it is rebuilt when
> building "arch/arm/built_in.o".
> 
> Fix this by adding a dependency of "head.o" on the directory
> "arch/arm/".
> 
> Also, we should avoid building object that are in subdirectories, so
> move the declaration in there. This doesn't change anything as
> "arch/arm/built_in.o" depends on "arch/arm/$subarch/built_in.o" which
> depends on $(extra-y), so we still need to depend on
> "arch/arm/built_in.o".

head.o as to be right at the beginning of the binary. Will this still be 
guaranteed with this change?

Cheers,

> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> ---
>   xen/arch/arm/Makefile       | 7 ++++++-
>   xen/arch/arm/arm32/Makefile | 1 +
>   xen/arch/arm/arm64/Makefile | 2 ++
>   3 files changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
> index 3d0af8ebc93c..cc90d9796e6e 100644
> --- a/xen/arch/arm/Makefile
> +++ b/xen/arch/arm/Makefile
> @@ -64,7 +64,6 @@ obj-$(CONFIG_SBSA_VUART_CONSOLE) += vpl011.o
>   obj-y += vsmc.o
>   obj-y += vpsci.o
>   obj-y += vuart.o
> -extra-y += $(TARGET_SUBARCH)/head.o
>   
>   extra-y += xen.lds
>   
> @@ -76,6 +75,12 @@ endif
>   
>   ALL_OBJS := $(TARGET_SUBARCH)/head.o $(ALL_OBJS)
>   
> +# head.o is built by descending into the sub-directory, depends on the part of
> +# $(ALL_OBJS) that will eventually recurse into $(TARGET_SUBARCH)/ and build
> +# head.o
> +$(TARGET_SUBARCH)/head.o: $(BASEDIR)/arch/arm/built_in.o
> +$(TARGET_SUBARCH)/head.o: ;
> +
>   ifdef CONFIG_LIVEPATCH
>   all_symbols = --all-symbols
>   ifdef CONFIG_FAST_SYMBOL_LOOKUP
> diff --git a/xen/arch/arm/arm32/Makefile b/xen/arch/arm/arm32/Makefile
> index 96105d238307..3040eabce3ad 100644
> --- a/xen/arch/arm/arm32/Makefile
> +++ b/xen/arch/arm/arm32/Makefile
> @@ -11,3 +11,4 @@ obj-y += smpboot.o
>   obj-y += traps.o
>   obj-y += vfp.o
>   
> +extra-y += head.o
> diff --git a/xen/arch/arm/arm64/Makefile b/xen/arch/arm/arm64/Makefile
> index 40642ff57494..0bb284dedab2 100644
> --- a/xen/arch/arm/arm64/Makefile
> +++ b/xen/arch/arm/arm64/Makefile
> @@ -13,3 +13,5 @@ obj-y += smpboot.o
>   obj-y += traps.o
>   obj-y += vfp.o
>   obj-y += vsysreg.o
> +
> +extra-y += head.o
> 

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 24 12:57:43 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 12:57:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171342.312666 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIVzn-0004iY-HW; Tue, 24 Aug 2021 12:57:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171342.312666; Tue, 24 Aug 2021 12:57:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIVzn-0004iR-Dg; Tue, 24 Aug 2021 12:57:39 +0000
Received: by outflank-mailman (input) for mailman id 171342;
 Tue, 24 Aug 2021 12:57:38 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QsuA=NP=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mIVzm-0004iL-9d
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 12:57:38 +0000
Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id db06577c-04da-11ec-a8d0-12813bfff9fa;
 Tue, 24 Aug 2021 12:57: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: db06577c-04da-11ec-a8d0-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629809857;
  h=to:cc:references:from:subject:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=RsrB//zndr5d1cwG0wvJrKN1CO5GAP/lv/tj68m1BUc=;
  b=KuvwNx+gUd/uSDjd1lY1/+ixwCUG19FY4ZH4Uy2I6yWQfxQ1zxD5is5w
   8YhbTrop8aqLbITZzhxTa+URepWfPpZfpOCtAJvuD/KA5Qn6NircC54CX
   bG4Z9n/d7HO1Tu10KdTb20coPtbVWQvuzbGPM90fSbxrHCF4gArs1NtCd
   U=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: zCZD3ON66v5+P8vQBBjw7K1awh0fyBSEdYfPPZ7wxqLw31IipNsKaIUHi+ICR17go0AaciuZRQ
 g0qsMnswTF69NuVuouflm0jEIo7hDluUhA6HZLl99mz91TqhUf+V1qImZ/LbXBTXYHDCEGruLw
 Grdw2/q8Wbt3AC/Yi6NnGK3bPL0nOpUls5QCAeyK0Q1w71yaZkncsvTbdZAsf+K+4wuj77+41B
 oicenGx8hqqoSCFizT7R1r9qR05+4Vzym8dzRe2GhcZ3GlXGvgNtyTTQE5T9n49X9eHvlmAs35
 TizK+JODTP1GFWQ933OIT63J
X-SBRS: 5.1
X-MesageID: 51549888
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:foWmLa6AHOzlHtfIHwPXwDDXdLJyesId70hD6qkoc20wTiXqrb
 HIoB17726PtN9/YhEdcLy7VZVoBEmskKKdgrNhQItKPjOW21dARbsKhbcKgQeQeREWndQz6U
 4USclD4arLY2SS4/yX3OC/KbwdKZK8gcaVbK/lvg5QZDAvUYFPqyp0FwqQDyRNLzWuK6BJbK
 a0945fvDyrdW4MYsn+DWlAU/nIptXNmp6OW298OyIa
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51549888"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hcbrRDQgunZNjtne8HNIMURVxZD94hdEgIv3xSInek+ha3WioXmjOXgo9UHbYHYqHZ4tLEv6Pg5yDhOIaVWEJ3mwLYv5ELkCSHwNGfJssfRXp5WwNRBre9y6E7RaCv6iAjntDpfttWNpPJtQOmy5NVO90CtRNjFc5YFS/2CbYJaCsuYEQiwaDhcD0h/VH0JXKPo9//aDs3cO43HanFucYjCyzYto6+ED3qQac32rd0VP+2LOGwWdJlWktWhS48grcmZ++0e9iBr2Xp4ZvxY9TX1uNTf94tNf8EljUu0jAgzW/soFKjj939y3WbCKUty6JV7D4jbZHaJ+aE43sl+JDA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vfIztsSA0965LugMWS5sOkjcsyFGNv+KH37SLUbfpHs=;
 b=PjTAoHPqgufajcZoOk+AjAqksH2EQZsVEA6GBlFr964y3icSGsExAbFn9L4w5y2/vPT9NANEVES4Kww4ljGUK0jNoOc+fMHRI7TkfxIu4lJyxi+L+x8epcdN4+Z9u4CFuASuokjuY8uSRdbwesUeI08I/2ezoHKnTNkx9InHVuRh95d8i437XKKv2mabTgaZNFO1NDlb5q1p/791x+g7307Pq3ggjrmw5eCSxJ1I3AmgrkjOLdNdF/422NQEOUMLIC4FkxY4V3flsGaksX659eDZXOQUH62XPqQhVmwI98D+YrlFuLwvvIAOO5tajEKRWef1G9eluBBwS/OYBLaRhw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vfIztsSA0965LugMWS5sOkjcsyFGNv+KH37SLUbfpHs=;
 b=ph/KwIQD/vCmP5hSgSeBre6lbgkugew6MwhjpXxvC0Ry11UC5pIk7zCKLGvwVqcBwk0MKtEymaTn+7xmqEAvcLnVT+dzaDMQdyxskzNxKKdW/B9WYmsBS7oQ0+z6NU/i7AlzwNJvQZcPIFa15kvbBiZj4wx1Cq9HgYsU4OlR/Zc=
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: <20210817143006.2821-1-andrew.cooper3@citrix.com>
 <20210817143006.2821-2-andrew.cooper3@citrix.com>
 <1ba952b1-ad26-79e1-7aa9-af7df28774f6@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 1/3] x86/spec-ctrl: Split the "Hardware features"
 diagnostic line
Message-ID: <34905dc6-f8e1-afdd-7f05-1c8e93eab3ff@citrix.com>
Date: Tue, 24 Aug 2021 13:57:21 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <1ba952b1-ad26-79e1-7aa9-af7df28774f6@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-GB
X-ClientProxiedBy: LO2P123CA0074.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:138::7) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 6e5d9bc1-d8b5-49b8-3b04-08d966febd9c
X-MS-TrafficTypeDiagnostic: BYAPR03MB3688:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <BYAPR03MB36881A5C74A36985842E4DA3BAC59@BYAPR03MB3688.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:6108;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: /75sn0miVegHHEOHd3My+p5mBWfpigOosFO7UnKDUyc9gF3/NStBB8gpyRdUIpp7egpY/MK1YmpFPc/0aj4matQ0HCBkHLJiCpQIzhNbhjtKKaZtwyAxTau5xhL75g3FRDeap082Qh8Yl0HsrnggHJhXFrxa/0BWdvZLS/dbx3TYZA2nLwT8W3ji17uxR7fTkSfmVlH6etspcWFIliOXoCR87udH4moEoqCpWiJ+2hUrKEvHiBEnjt/j59860GLhDxiCHBKBwe/CZ6OH0Dm/q6O0HaQ1G5S6/OM89sqHZx+FR1igqhMZx4nWfuP1lb/BrkZ2/yRG/IEyn9fWPHTZEFmWRucOT7iKvFR6T2Pmk3YBr/8QTgy5M06SFftEFIh4BMrvxuObU04VZOmzfGEVwIIAnqlu37aOf7il0xexU/uzeHjMfXg1sQaMMhlHAogVbsy3KlMhzlcq/UEpoIXF40hOtt+X/pQrz6IaS1mOPqPbG1LKna2W2o0dgM8qLNgLnpte1wcFs4HUR1G2Fm4FkVgG4el8gyVCPPPFo0GU3u0ZVCHjDj5R+sTXnTYXGBvp+6UB0vBySFSutVGGz0uy1UGQG5UvmulX/+y5wpCMi6T4wzNl7ATcZA2weWqenKmClSPayn+VECtzi0KLRVbC5csAddbsCitSB9DA26J3d4UnE4r4X0Dr8G64sHdhbjKJN/FUSbEuZRfH/gBrzqw8BZEjPyMA0mWSsjtbffViHOE=
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:(4636009)(366004)(39860400002)(376002)(346002)(396003)(136003)(6486002)(2616005)(956004)(316002)(66556008)(66946007)(66476007)(2906002)(55236004)(186003)(26005)(8936002)(8676002)(54906003)(6666004)(16576012)(4326008)(36756003)(38100700002)(83380400001)(31696002)(478600001)(6916009)(53546011)(31686004)(86362001)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?V0pXVUswSm8yT2ZNRE5pK0M1cmgrR0tPVFdid0c0MlVDZkRtSTZIR3Fuc2dC?=
 =?utf-8?B?S2RmVzE4MmdnMEVKUTFXZkZiSmJWVUVQcy93dlNXdHhMajROck9PQ3M0UGk2?=
 =?utf-8?B?MGpNRk5IamdieFVGSWY0dkxmQTJaY09vOXpGNEJzZzQwZElMTTRVb0RqYk1L?=
 =?utf-8?B?TUFtTGdmSVovUlNjVUdGQW1wbFl6YVhlSERSL0toS3JjYjZ1ZXVYVHpJMU5o?=
 =?utf-8?B?ek53K1NoVHhjRFZZbm0xMGd4ZC9VeC9iQjROMm5PNVRWRTNsaWRvd0tRZ2dl?=
 =?utf-8?B?MjFtY0todHlUSHByaFliRmtxZSszbjhrdXpxQU5saVBIaVR6UGtXT05DcExS?=
 =?utf-8?B?bkdFRmZ1K1NOU25CTjJNVTFSMGNtZk1FbHg0bjZEMkNVWTRkYUxta2lrb2c2?=
 =?utf-8?B?eWVxeXVXQU5mNnBUWXU5VDhaUWl6dmNES1BCTEg3aHVscHk1TlVKTVhzTXJt?=
 =?utf-8?B?RktOMlMvRUtQNm5rOVNmRGREVm93b1d1UEZFcDB6VGdsUXU4aWR2d1JiaFA0?=
 =?utf-8?B?NFJFL3plUWRieUpzU2NkZnU0RmVDM0paU0M2R1crRTJUY0wrQlo4S21yK3pL?=
 =?utf-8?B?b1E1d1l4dWZyWXltaFcrK3BGQ3hlTGdFQWUyUTA3WlgveVdISElYU25GQVBO?=
 =?utf-8?B?VWxuSTNndVFOVkdaN2M1RXJzeTEwQ2k1R0FqUVVRTTUxNUtMR1JYbkdjZFpJ?=
 =?utf-8?B?cVE0K3Q3d3JiaVRYOXVzSmwxTmw2VHlCdDlSRlhDVmg0Y01CYmVaa000LzEv?=
 =?utf-8?B?QWVLS29IQjdZNE9IUS9qa2RMd2pLeXlmcFgxaENkbE96QnlmN1llM1BXY1FF?=
 =?utf-8?B?Tjd3Y0dUWE04cWMwMHNYRVZXMVllclNKdTlJZHJsdDlsU3F0dzQrZGdwcFla?=
 =?utf-8?B?cmNIbUNnb0h0RVU5YTlyTjdEaVdtZTFTSVlPWjlmQ003ZXhjNG45clQrb3Ji?=
 =?utf-8?B?S3NxbEl5WWwySE9pQ250RmQwWkJpQmo3NTFDYlE4MG0vQnpDMkh0VHIvN21P?=
 =?utf-8?B?QjMxTkNVQTU5SUYvcFNVeXlHNnV0dmczUUEzakJNR1Y5VXpmM3E0c0xNSklr?=
 =?utf-8?B?TjRlUzhoc0daclhid1d6NmM1RmRJZnJYWEdUeUJBei9Ia3pxT0Ftdjhubm9U?=
 =?utf-8?B?U0JuUGNmVlVnaVBrbWZkbHRXRHhlR0EvS0kwOXg1NFlmdFdXalpmUTc4SThq?=
 =?utf-8?B?VHN5ZHBjL3ZJWGJ0TXhWbkVYS0xhRzV4Y2J1elVzcGhIUDVIVEJLdEVVMWJi?=
 =?utf-8?B?M3ZIZjdWRTFJVERyMjlheVN5ZVZsdVpiMjJneHM5YkNNUlF6MDNFcHZxdEo0?=
 =?utf-8?B?OThMZnJBVWZrUGJHMGpwQ2wyWnlMN2ZYQmM2S1Z3QkdtOFFBczZ0dVFJd1R4?=
 =?utf-8?B?bkdIVTlKOHhTc09NSnJFTDgxbEZKSzBmclNyeFl3VFltUFI1SHcxa0kyalA4?=
 =?utf-8?B?YWltVDZzamtDTk5VZ3M2b0pJMkd6T0hRbm1NOEFNbG1jOEtUWnc5T1Baemls?=
 =?utf-8?B?UUUweTRtQzltSTEwVllnVzFzZnRjbVpXZjUwRkFyVDR6WnAwa2pkdmlqSVQv?=
 =?utf-8?B?TUptSUFxbFl5cXpMY3loWVFqeVUwSUgwajhYNStaMGpTek94QUFtTkoyUmhm?=
 =?utf-8?B?cXZmcm5iUzV3MDRuVkxEemV3QmxyK2lWUWZFMDQ4QmN0b1FyWm8wT3pEaHU0?=
 =?utf-8?B?Z05hanhud3p4TGQ5VmxwVWNDclNUb1R4eUcvN3EyekpYVTh3YWFZb1BWTzF1?=
 =?utf-8?Q?IF1/XbZlxMmB0gGWGL0stH2pCNRjuQAyEAlWUFJ?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 6e5d9bc1-d8b5-49b8-3b04-08d966febd9c
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 12:57:33.9744
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: NvTUuoBYnarlo2PUH5Y3qUzrw16+mIAmCwb4ndb/huDjuFDTpaf54ZqWKR7imMeK+3u2PaPWkkeWojR+PrOy7AaV7vU12lr4/rj2ZUoSRGs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB3688
X-OriginatorOrg: citrix.com

On 19/08/2021 15:38, Jan Beulich wrote:
> On 17.08.2021 16:30, Andrew Cooper wrote:
>> Separate the read-only hints from the features requiring active actions =
on
>> Xen's behalf.
>>
>> Also take the opportunity split the IBRS/IBPB and IBPB mess.  More featu=
res
>> with overlapping enumeration are on the way, and and it is not useful to=
 split
>> them like this.
>>
>> No practical change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
Thanks.

> with a remark and a question:
>
>> --- a/xen/arch/x86/spec_ctrl.c
>> +++ b/xen/arch/x86/spec_ctrl.c
>> @@ -317,23 +317,30 @@ static void __init print_details(enum ind_thunk th=
unk, uint64_t caps)
>> =20
>>      printk("Speculative mitigation facilities:\n");
>> =20
>> -    /* Hardware features which pertain to speculative mitigations. */
>> -    printk("  Hardware features:%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n",
>> -           (_7d0 & cpufeat_mask(X86_FEATURE_IBRSB)) ? " IBRS/IBPB" : ""=
,
>> -           (_7d0 & cpufeat_mask(X86_FEATURE_STIBP)) ? " STIBP"     : ""=
,
>> -           (_7d0 & cpufeat_mask(X86_FEATURE_L1D_FLUSH)) ? " L1D_FLUSH" =
: "",
>> -           (_7d0 & cpufeat_mask(X86_FEATURE_SSBD))  ? " SSBD"      : ""=
,
>> -           (_7d0 & cpufeat_mask(X86_FEATURE_MD_CLEAR)) ? " MD_CLEAR" : =
"",
>> -           (_7d0 & cpufeat_mask(X86_FEATURE_SRBDS_CTRL)) ? " SRBDS_CTRL=
" : "",
>> -           (e8b  & cpufeat_mask(X86_FEATURE_IBPB))  ? " IBPB"      : ""=
,
>> -           (caps & ARCH_CAPS_IBRS_ALL)              ? " IBRS_ALL"  : ""=
,
>> -           (caps & ARCH_CAPS_RDCL_NO)               ? " RDCL_NO"   : ""=
,
>> -           (caps & ARCH_CAPS_RSBA)                  ? " RSBA"      : ""=
,
>> -           (caps & ARCH_CAPS_SKIP_L1DFL)            ? " SKIP_L1DFL": ""=
,
>> -           (caps & ARCH_CAPS_SSB_NO)                ? " SSB_NO"    : ""=
,
>> -           (caps & ARCH_CAPS_MDS_NO)                ? " MDS_NO"    : ""=
,
>> -           (caps & ARCH_CAPS_TSX_CTRL)              ? " TSX_CTRL"  : ""=
,
>> -           (caps & ARCH_CAPS_TAA_NO)                ? " TAA_NO"    : ""=
);
>> +    /*
>> +     * Hardware read-only information, stating immunity to certain issu=
es, or
>> +     * suggestions of which mitigation to use.
>> +     */
>> +    printk("  Hardware hints:%s%s%s%s%s%s%s\n",
>> +           (caps & ARCH_CAPS_RDCL_NO)                        ? " RDCL_N=
O"        : "",
>> +           (caps & ARCH_CAPS_IBRS_ALL)                       ? " IBRS_A=
LL"       : "",
> I take it you flipped the order of these two to match the ordering
> of their bit numbers?

Yes.=C2=A0 IIRC, the first draft spec had the bits in the opposite order, a=
nd
I presumably forgot to flip the printk() when correcting msr-index.h

>  I'm slightly inclined to ask whether we
> wouldn't better stay with what we had, as I could imagine users
> having not sufficiently flexible text matching in place somewhere.
> But I'm not going to insist. It only occurred to me and is, unlike
> for the IBRS/IBPB re-arrangement of the other part, easily possible
> here.

dmesg is not and never can will be an ABI.

Amongst other things, `xl dmesg | grep` fails at boot on large systems
(because you keep on refusing to let in patches which bump the size of
the pre-dynamic console), or after sufficient uptime when the contents
has wrapped.

If you want an ABI, then it ought to be in xenhypfs or some other
hypercall, where the information is guaranteed to be available at any
point in time.

>> +           (caps & ARCH_CAPS_RSBA)                           ? " RSBA" =
          : "",
>> +           (caps & ARCH_CAPS_SKIP_L1DFL)                     ? " SKIP_L=
1DFL"     : "",
>> +           (caps & ARCH_CAPS_SSB_NO)                         ? " SSB_NO=
"         : "",
>> +           (caps & ARCH_CAPS_MDS_NO)                         ? " MDS_NO=
"         : "",
>> +           (caps & ARCH_CAPS_TAA_NO)                         ? " TAA_NO=
"         : "");
> I'm curious why we do not report IF_PSCHANGE_MC_NO here.

It isn't a speculative sidechannel vulnerability.

It is "error in the instruction fetch leads to a completely dead CPU",
and is reported in the EPT setup logic.

MSR_ARCH_CAPS really is just "misc CPUID bits" which were done in an MSR
because of microcode patch space.

~Andrew



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 13:04:24 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 13:04:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171348.312677 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIW63-0006Dy-7y; Tue, 24 Aug 2021 13:04:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171348.312677; Tue, 24 Aug 2021 13:04:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIW63-0006Dr-54; Tue, 24 Aug 2021 13:04:07 +0000
Received: by outflank-mailman (input) for mailman id 171348;
 Tue, 24 Aug 2021 13:04:05 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZFsk=NP=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1mIW61-0006DV-MQ
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 13:04:05 +0000
Received: from mx.upb.ro (unknown [141.85.13.241])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c9c545b9-9376-41b2-9a15-44ae422e3082;
 Tue, 24 Aug 2021 13:04:02 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mx.upb.ro (Postfix) with ESMTP id 929A4B560093;
 Tue, 24 Aug 2021 16:04:01 +0300 (EEST)
Received: from mx.upb.ro ([127.0.0.1])
 by localhost (mx.upb.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id cSGrAMfHrVk1; Tue, 24 Aug 2021 16:03:59 +0300 (EEST)
Received: from localhost (localhost [127.0.0.1])
 by mx.upb.ro (Postfix) with ESMTP id E7EE9B5600BF;
 Tue, 24 Aug 2021 16:03:58 +0300 (EEST)
Received: from mx.upb.ro ([127.0.0.1])
 by localhost (mx.upb.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id Lavvaq5g65IU; Tue, 24 Aug 2021 16:03:58 +0300 (EEST)
Received: from [192.168.1.35] (unknown [86.121.144.181])
 by mx.upb.ro (Postfix) with ESMTPSA id 23AA9B560093;
 Tue, 24 Aug 2021 16:03:58 +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: c9c545b9-9376-41b2-9a15-44ae422e3082
X-Virus-Scanned: amavisd-new at upb.ro
Subject: Re: [PATCH v2 1/4] public: Add page related definitions for accessing
 guests memory
To: Julien Grall <julien@xen.org>, Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1629395092.git.costin.lupu@cs.pub.ro>
 <1d9338102d2013addfabc0cf9275ef156fd5080f.1629395092.git.costin.lupu@cs.pub.ro>
 <69747133-3d42-4179-2606-12b1d1a9c8a6@suse.com>
 <c942c080-183a-ddb2-f523-dd3354f5b4a0@cs.pub.ro>
 <a2d0be78-f53e-a100-838a-5af2a8ef1459@xen.org>
 <8ed65d58-2547-d4cf-0db7-74a2ab114a71@suse.com>
 <6dbe57f9-6355-d584-382f-a06779aa9121@xen.org>
From: Costin Lupu <costin.lupu@cs.pub.ro>
Message-ID: <99049e35-3b74-f094-dca9-465126abf5ed@cs.pub.ro>
Date: Tue, 24 Aug 2021 16:03:57 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <6dbe57f9-6355-d584-382f-a06779aa9121@xen.org>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable

Hi guys,

On 8/23/21 8:16 PM, Julien Grall wrote:
> Hi Jan,
>=20
> On 20/08/2021 10:26, Jan Beulich wrote:
>> On 20.08.2021 11:08, Julien Grall wrote:
>>> On 20/08/2021 08:44, Costin Lupu wrote:
>>>> On 8/20/21 9:52 AM, Jan Beulich wrote:
>>>>>> --- /dev/null
>>>>>> +++ b/xen/include/public/page.h
>>>>>> @@ -0,0 +1,36 @@
>>>>>> +/****************************************************************=
**************
>>>>>>
>>>>>> + * page.h
>>>>>> + *
>>>>>> + * Page definitions for accessing guests memory
>>>>>> + *
>>>>>> + * Permission is hereby granted, free of charge, to any person
>>>>>> obtaining a copy
>>>>>> + * of this software and associated documentation files (the
>>>>>> "Software"), to
>>>>>> + * deal in the Software without restriction, including without
>>>>>> limitation the
>>>>>> + * rights to use, copy, modify, merge, publish, distribute,
>>>>>> sublicense, and/or
>>>>>> + * sell copies of the Software, and to permit persons to whom the
>>>>>> Software is
>>>>>> + * furnished to do so, subject to the following conditions:
>>>>>> + *
>>>>>> + * The above copyright notice and this permission notice shall be
>>>>>> included in
>>>>>> + * all copies or substantial portions of the Software.
>>>>>> + *
>>>>>> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
>>>>>> KIND, EXPRESS OR
>>>>>> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
>>>>>> MERCHANTABILITY,
>>>>>> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
>>>>>> EVENT SHALL THE
>>>>>> + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
>>>>>> OR OTHER
>>>>>> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
>>>>>> OTHERWISE, ARISING
>>>>>> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
>>>>>> OTHER
>>>>>> + * DEALINGS IN THE SOFTWARE.
>>>>>> + *
>>>>>> + * Copyright (c) 2021, Costin Lupu
>>>>>> + */
>>>>>> +
>>>>>> +#ifndef __XEN_PUBLIC_PAGE_H__
>>>>>> +#define __XEN_PUBLIC_PAGE_H__
>>>>>> +
>>>>>> +#include "xen.h"
>>>>>> +
>>>>>> +#define XEN_PAGE_SHIFT=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 12
>>>>>> +#define XEN_PAGE_SIZE=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 (xen_mk_long(1) << XEN_PAGE_SHIFT)
>>>
>>> This will use UL whereas on Arm a page frame should always be 64-bit
>>> regardless the bitness. Shouldn't this be converted to use xen_ulong_=
t
>>> instead?
>>
>> As pointed out on v1, XEN_PAGE_SIZE would better not end up as a
>> value of signed type, for ...
>=20
> Did you mean "not end up as a value of **unsigned** type"...
>=20
>>
>>>>>> +#define XEN_PAGE_MASK=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 (~(XEN_PAGE_SIZE - 1))
>>
>> ... this to suitably sign-extend to wider types is necessary.
>=20
> ... because, if I am not mistaken, the sign-extension wouldn't happen
> with unsigned type. But then on v1 you wrote:
>=20
> "Imo the smallest type this should evaluate to is xen_ulong_t"
>=20
> Which I interpreted as this value should be 64-bit on Arm32. If this no=
t
> what you meant then I am lost.
>=20
>>
>> Also unless you expect someone to use typeof(XEN_PAGE_SIZE) I'm
>> afraid I don't see where the constant being long vs xen_long_t
>> (if such existed) might matter.
>> Otoh perhaps xen_mk_ulong() would
>> better have produced a xen_ulong_t typed values in the first
>> place, but I'm afraid we can't alter the existing macro.
>=20
> We can create a new one.
>=20
>>> Our stable ABI has not been designed with multiple page granularity i=
n
>>> mind. We could introduce a hypercall to query the page size used by t=
he
>>> ABI. But then, I don't think we have the full picture of how this is
>>> going to pan out (I haven't try to use another page size on Xen yet).
>>>
>>> I think we have three choices here:
>>> =C2=A0=C2=A0=C2=A0 1) Stick with the existing definition in the tools
>>> =C2=A0=C2=A0=C2=A0 2) Move the definition in the public headers and o=
nly expose them to
>>> the tools.
>>> =C2=A0=C2=A0=C2=A0 3) Query the page size via a new hypervisor
>>>
>>> As I wrote above, 3) is going to take some time to get it right. So t=
he
>>> question here is whether 2) is temporarily better than 1).
>>
>> Because I understand 3) is some way out, and because I think 2) is
>> better than 1), I wrote "might be an option" for what you call 2).
>> But I could see people (Andrew for example) to take a different
>> position and object to such a temporary measure.
>=20
> I think we need to make a decision so Costin doesn't keep sending
> version on something that can't be merged. What does the others thinks?

>From what I understood, in his last reply to 'stubdom: foreignmemory:
Fix build after 0dbb4be739c5' thread, Andrew was OK with solution 2).

Cheers,
Costin


From xen-devel-bounces@lists.xenproject.org Tue Aug 24 13:04:36 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 13:04:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171350.312688 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIW6W-0006gN-Mi; Tue, 24 Aug 2021 13:04:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171350.312688; Tue, 24 Aug 2021 13:04: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 1mIW6W-0006gG-JH; Tue, 24 Aug 2021 13:04:36 +0000
Received: by outflank-mailman (input) for mailman id 171350;
 Tue, 24 Aug 2021 13:04:36 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIW6W-0006g0-3E
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 13:04:36 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id d3d403ff-04db-11ec-a8d0-12813bfff9fa;
 Tue, 24 Aug 2021 13:04:34 +0000 (UTC)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2050.outbound.protection.outlook.com [104.47.13.50]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-27-hXlWO3V9OPqMmqT_L0cOSw-1; Tue, 24 Aug 2021 15:04:32 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM0PR04MB4612.eurprd04.prod.outlook.com (2603:10a6:208:6e::26)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.23; Tue, 24 Aug
 2021 13:04:31 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 13:04:30 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0058.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1d::22) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Tue, 24 Aug 2021 13:04:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d3d403ff-04db-11ec-a8d0-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629810273;
	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=yQl0WH6sI/Z9GXY2JJfMfkmze301t6nbON81sx+AnHQ=;
	b=J5isUr6EPrBXHskahfi9e3DkzzYu7ebigRFcx+GAOFs82ABPpmspa7YeUTgHmiVqDnpJlo
	xEXfa1V1SOH1Oc//HeE5m7Ad9khDWKZywxFvrbs/n28CXBWjpi1GwNH2wpk+SCB9DSxTtK
	q3lnQtgpnOPULMFj9fv4q8mh9FgoF+U=
X-MC-Unique: hXlWO3V9OPqMmqT_L0cOSw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mRhijZsteHcFhHkeHvbxRICwrPwZ4V/Zhy4TkS48OkWLIXCyv9K/UC46EPZAYZHetZI2ZJXbkg7+GVMbG6gFyTCaLZ46C2OGeEMg6waBgjQ51rWvo+eGF5Xrgb0hlPbWSsX7U1ByjjnGDQCQsNilbo4Q78aXtBaRpnaUuvAI71uBQF3VrUJqEmMYrrsFX+bVPYqPeu77ghj13cvrPunnZAcpnQ064fnv7n58Yr25YP5SMDqUHvZewCGuXZ/+cExKqt2sNgmADJ56DlQmiiPAp0mLIMiPIPjFBmLXmLfxnrzzStacCpdEXitYV2RrnMLcN4nKA151MvbeAU0moDJDpQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yQl0WH6sI/Z9GXY2JJfMfkmze301t6nbON81sx+AnHQ=;
 b=HCEaOnIz9UujMNzJZBSrvI9jZkUU+p1++qP1rrCnoH4KXeAa9FJ2q1aLGiqg0QQWlQlBAYTvMRrZ1L90B1A8w3yvxrP2m64ekgfXGIj4fVq1c4e8FwXM91Xqa2FIVbzK4bNc2MlsjFWjcwzJMST9A7150nlNlGis8FLhLmo83MO8xN63/zawrAtzSZNouM5G/iNjuZWuoT0s7QQwysdaVpSPLxgNRLViPby6RlVdmopnVw3Vv5zvZU5i/6LKeuRGxpSiwh/bpPUhwJEiL0JNsWhBamZwcg36gEqI/YzgmnxnbZp07u+RNTA4a1/gv0X3eGa0iyhrDJKNcYt7jtoGKg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH] x86/spec-ctrl: Skip RSB overwriting when safe to do so
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: <20210819162641.22772-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <75e80f6e-f7e8-60d6-93fe-1a48e40593b5@suse.com>
Date: Tue, 24 Aug 2021 15:04:28 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210819162641.22772-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0058.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1d::22) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 21362eec-133b-4b5b-c883-08d966ffb614
X-MS-TrafficTypeDiagnostic: AM0PR04MB4612:
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB461254CE3E90CB4224CE7306B3C59@AM0PR04MB4612.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8JtFC3GrMYaf5dSIHNOT9KnYQ1xmsR+YKQm8WIYsdnhLZ+kOgUtGSm7BfCqn+3RAK8jJIMR3j6TEYYN8muZhebIygpv5uWLyn0XxV6s42I0Ub3m/8J3eo0d+i/9Av3mzEbvAYB3Wv3eaSPi31vrSzSD6IAlVRidGbqNVyG8bP0Ea4IuyIc1CWaxQ8+RJRor9HBcqk4u3vtYjnLWnFncLgUK+A4lwcnUg7R1ly40oeTBRcEn+DOWs6/+ko2o8gCn9+/dtCX5KOc7y1KheD1NbhOIKDeh6Gt0XVH/4MEccisP4rakOUctmz41V65Ml72XAlahksTKV6Vn1mn6YfuR/GIgh5rmlqcP6zfXjh8DyOFd2jCECVU2P+WUyun/nICGcBBhW3KKh31c0gThE1PNoyQ0A6V7Soy0MYIFz/ADS9/YqbhQPKkR84AjB1wCgP57winTTF0N0COJcP5qAtprPL/R70myU4uOivZ+sBpkuEY8ryctb7J9WPaBl+GR7UboYYuvTpQm/8UWOffvdtJhv4gQF9Ygt5dJTp+K5+YbiElo0lf5kNRlwmnZIoCD3Gxqmz299G4B1bf18eCD/PbX6L4fuir5VRqEtL+ossBdzAQDs6d0nf4gUsoe3XX1ly3SIf5eT9jfFEcRrybZ60LR4gGjaDI5fQujqOo8mRoHw1yVppvKaMF09DeS5JXbf16euqyPNMDwODddSYCZrtfDt2jhNrmbp3PGsU5Rga8aEsQw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(376002)(136003)(396003)(346002)(39860400002)(5660300002)(66556008)(66476007)(53546011)(31696002)(66946007)(316002)(6916009)(54906003)(31686004)(8676002)(38100700002)(2906002)(4326008)(6486002)(26005)(16576012)(956004)(478600001)(83380400001)(2616005)(186003)(8936002)(36756003)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aVpQWkxTZmJ4T0ZMa2NrM3psc29kcGtvcElVTlRZSlhIUzhNM01MbEJsbnF2?=
 =?utf-8?B?ZHZFU3IvbWFkWEpsalpDWDRDTkN6b05pcVorbTlWTmVxNVg1WWhrc0ZnTnRq?=
 =?utf-8?B?WjFrS0JuRG1lYUVoSUJqVDcrTm5GbzFqQzJyY1JsellCaFhQaXNaaC9UL1I2?=
 =?utf-8?B?K1ZiZkU0QXYxcW9PQnRNeHd4ak5DdVZpeHl4cVZZRHNzc21KaDlXMUpPSk45?=
 =?utf-8?B?NXlWSXdFQkpYTTJlVW1WL3Z4Kzh2ZXBMY0ZVajdDQkRKY2lLdW16cG0wMWho?=
 =?utf-8?B?bzlPOUc5TFpXZHBsTjhwWnl5cXU2UmhXdWRta1FBenUxY2RXYyswVmpuYWo1?=
 =?utf-8?B?dXkrK3IzNm9yVjVhK1laOFpCd2VOUmZjM2dhSytXd3QvZFZNQ3BIK21NeWg4?=
 =?utf-8?B?Y3FFMjhaT043UjlqRXRmNGlnY0VLelBhRERaWlNVYXlzQlVkNlFGK2hucXVN?=
 =?utf-8?B?R3VxTjJvd1BqT09nYW1nVGpmY2tiMGRxYkRpb1pXZURDaU1WWndDcWk5dVZm?=
 =?utf-8?B?TFUxaE5GKzkzb3NZMGlWQkcxblVRekFaeFc0T09QMHB5ZGgxa2VRcFY3ellk?=
 =?utf-8?B?UTR6Q3c1UStCaDdydmFuR0p3cW9ZMmtHb1NzTSsvYVhvaXFrSFhDd0RrMXho?=
 =?utf-8?B?WFpiUVJpVzM3OGxqWkI5cmF2d1hPVmdnOXFOOTNycUhFS1lrazVET0RWSmgx?=
 =?utf-8?B?dDE1NTBpMytEWTNJanlpTnpiOUQwZEZkdy9GdzljTEdyT3dTaDAxTFFtQnFX?=
 =?utf-8?B?VTRtcTdNWlgxN3VHVEFRS1VWRnB0TkgzK3pDT1BHeW92bXdTdzJxWmZNY1Zu?=
 =?utf-8?B?ekxWTWFTZ1pUZWxRRGR6UmVCak9GeWJhV1JYV1NEMkxZQW8vZFJicGlSZDQ3?=
 =?utf-8?B?RTk2VTM3QzJIRmpkYW1pK0JSMnMyNjhNOGFMZk53d3VwbGJRWW9vZDZ6cW1T?=
 =?utf-8?B?K3FZTGhndDY4S3VmTWwwam05STRsRDI5ZThpNlY5SktRS1ZEaXJaQ0FqcmFn?=
 =?utf-8?B?TFI0Q0IxREVLMENTakhTTlc4Vjk2bnZNOXlUb0REaTdTMjdRMVV6M3gySmxn?=
 =?utf-8?B?Qm1LTGZvSFZUNUZPcUZKRWlYcmh6U0hsZXAycVdqT3dRUEMwdFRCalVaOXV2?=
 =?utf-8?B?ZWkrcmVsMHpOWUdaVUdpSEcvaWZOczB4bmhkQTFHSFdZenhsSlZuYU5mVjYx?=
 =?utf-8?B?aWdFUTg2dHU4cmxrR3BjTFhvUFNOS0VVN3Y3QUVkVDdSZDh1UUsyQmRkSHhW?=
 =?utf-8?B?M1YwZldVZC81ZG9iQm1sT2VWamRIK1JZVkRHbUpwREJJeFFxS2xtdmxMRW4z?=
 =?utf-8?B?ZmgrbzllWTFkZ2JYWWlMWDBMVHEwdnJlTDZjMkZxbkVPRlV5WHhVY1hJVEEr?=
 =?utf-8?B?UmVtNWc0MU1vTVBrWVJJbFZXZVNYNWhabFpvOC84cmVCM3lnR1Jqb0twbFY0?=
 =?utf-8?B?RWpLejF3MU9ha29ja1BQM3FlajR6UTB0NE4rMkNUTXZ6bk1LOXZEb1Byd1Iv?=
 =?utf-8?B?NS9hTldqdkd2SXNwSDVpU1lxT0xNYVBxU1BCa1JJZ3FCQmZvUjY3ckRZNkhs?=
 =?utf-8?B?MFFkbXhkMGdxWUlidEIya0dxRUZiM0RwM0tMaUxOVlZEVE0yTmNIM3psVjBO?=
 =?utf-8?B?Q0I4WE5HUmNob0hTSDVzNmMwRGROaTVIdmJOUmtlZ2ZUVm1RZmtsTVI2L0hS?=
 =?utf-8?B?cnFUSWNNd0ozcy9Na1pXSHA4M2h0cTQ2aGFqVTZsY244OElqcW5VajU4Zmc3?=
 =?utf-8?Q?9dyFBatnI1gp1mp4jNUV3FLgsS8b8JJztSd+7Y5?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 21362eec-133b-4b5b-c883-08d966ffb614
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 13:04:30.8004
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HpJZ2xmb3hnVa5oGvkgePN+GWx1vihJzHaCyZpser1lf4N9qCCjRM7xYHqIFhtIg6yPqdef7A29LHb8ffqbP8Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4612

On 19.08.2021 18:26, Andrew Cooper wrote:
> In some configurations, it is safe to not overwrite the RSB on entry to Xen.
> Both Intel and AMD have guidelines in this area, because of the performance
> difference it makes for native kernels.

I don't think I've come across AMD's guidelines - would you happen to
have a pointer? Nevertheless ...

> A simple microperf test, measuring the amount of time a XENVER_version
> hypercall takes, shows the following improvements:
> 
>   KabyLake:     -13.9175% +/- 6.85387%
>   CoffeeLake-R:  -9.1183% +/- 5.04519%
>   Milan:        -17.7803% +/- 1.29808%
> 
> This is best case improvement, because no real workloads are making
> XENVER_version hypercalls in a tight loop.  However, this is the hypercall
> used by PV kernels to force evtchn delivery if one is pending, so it is a
> common hypercall to see, especially in dom0.
> 
> The avoidance of RSB-overwriting speeds up all interrupts, exceptions and
> system calls from PV or Xen context.  RSB-overwriting is still required on
> VMExit from HVM guests for now.
> 
> In terms of more realistic testing, LMBench in dom0 on an AMD Rome system
> shows improvements across the board, with the best improvement at 8% for
> simple syscall and simple write.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
albeit with one further remark / request:

> @@ -992,18 +1021,36 @@ void __init init_speculation_mitigations(void)
>          default_xen_spec_ctrl |= SPEC_CTRL_SSBD;
>  
>      /*
> -     * PV guests can poison the RSB to any virtual address from which
> -     * they can execute a call instruction.  This is necessarily outside
> -     * of the Xen supervisor mappings.
> +     * PV guests can create RSB entries for any linear address they control,
> +     * which are outside of Xen's mappings.
> +     *
> +     * SMEP inhibits speculation to any user mappings, so in principle it is
> +     * safe to not overwrite the RSB when SMEP is active.
> +     *
> +     * However, some caveats apply:
> +     *
> +     * 1) CALL instructions push the next sequential linear address into the
> +     *    RSB, meaning that there is a boundary case at the user=>supervisor
> +     *    split.  This can be compensated for by having an unmapped or NX
> +     *    page, or an instruction which halts speculation.
>       *
> -     * With SMEP enabled, the processor won't speculate into user mappings.
> -     * Therefore, in this case, we don't need to worry about poisoned entries
> -     * from 64bit PV guests.
> +     *    For Xen, the next sequential linear address is the start of M2P
> +     *    (mapped NX), or a zapped hole (unmapped).

IIUC you mean the compat M2P here - perhaps worth being explicit? I'm
also not sure why you use "zapped": Nothing can ever be mapped into
the non-canonical hole.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 13:07:45 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 13:07:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171358.312698 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIW9Y-0007X2-5i; Tue, 24 Aug 2021 13:07:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171358.312698; Tue, 24 Aug 2021 13:07:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIW9Y-0007Wv-2R; Tue, 24 Aug 2021 13:07:44 +0000
Received: by outflank-mailman (input) for mailman id 171358;
 Tue, 24 Aug 2021 13:07:43 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIW9X-0007Wp-El
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 13:07:43 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 436ecc96-04dc-11ec-a8d0-12813bfff9fa;
 Tue, 24 Aug 2021 13:07:42 +0000 (UTC)
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur03lp2059.outbound.protection.outlook.com [104.47.10.59]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-21-XDBp1SrkNyepsesakLskIA-1; Tue, 24 Aug 2021 15:07:40 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM0PR04MB3970.eurprd04.prod.outlook.com (2603:10a6:208:5b::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Tue, 24 Aug
 2021 13:07:38 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 13:07:38 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FR3P281CA0053.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4a::6) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.6 via Frontend Transport; Tue, 24 Aug 2021 13:07: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: 436ecc96-04dc-11ec-a8d0-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629810461;
	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=FCLrBAJHoTKUwYGmyV6hl09i2N5TYjzrXVJ8LOw8ekQ=;
	b=MAtbfawNiyDgnVXLkWXQdFGJmUQIjC0TqRkOug5bd6l3tzKjpTc/bP8g4AvcqMOL23p9ok
	xwRL5Isaz2t9aj7tqPjJboPrTtts3dgsrecAU0loUuCG45/QncKZslyCnhp5Jvi+0Ow4AV
	K9Jnhs05ZY0kOiiTV7CD6/KkyMYYEeQ=
X-MC-Unique: XDBp1SrkNyepsesakLskIA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FReLfFVTij874BmnkwB3du0Erz9N9h1jHAb8juyjj/erX1omqdXULTjia7HTy+0F1/WT7xgvq1Vp79pwLrr3EELtsVplU37Iis/yK4bbAFQnbKbrF2XCZpGi8FSW/oMnPhjdpwRnpxVR0EgczgtsIbAlKVt4+KaiSd+Vcz1upsLnFUZJd3g1EZuN1Kh8NGLMafWfHCxcJDz0aJ1mAp1kIY3NxJvb/EY1ln9J6kUtR16erMPSS382xVKfY3HL44AZTLY/XBHy5mCd+KRdrkgDedFtd86hcHwEP+p7cdxHEpKbsJTRrihYII0Ozfh3EamnADHSNABXKvn/2ISjdd3UMA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FCLrBAJHoTKUwYGmyV6hl09i2N5TYjzrXVJ8LOw8ekQ=;
 b=V17TG2mVsb2Wj/5bOgccw5RI6dov5hCnUwst0KK0EPQsrfPsK5w7iKEyPl9VqkCUwoKdkXJ5VIkwvhOagZYIEXsNhcM6eIoF/FnlQz585kvCq7Ue9NQI1Pig2tXkjq6OfTQPyrCowyV8+zIZW+dBwpwc2kR6HuXAPBjImAWTKcYeMAHDmv3ka5txf7rAFalrzBmpbULoPyL0biwkX3TcBpZEGOChgRxZqSirmtLPBMqXDdVMQwdYQ41auORsKLq9S8LQ2gJweZmYYU1LepGmcDx6dz0TyJJcxOrgsJAe9kRdNjf7GDJLl/2Mmn1A3R6MytDvDhUmjyHDMdPRv5KGyg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: gmail.com; dkim=none (message not signed)
 header.d=none;gmail.com; dmarc=none action=none header.from=suse.com;
Subject: Re: [PATCH v3 2/6] x86/debugger: separate Xen and guest debugging
 debugger_trap_* functions
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Elena Ufimtseva <elena.ufimtseva@oracle.com>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 xen-devel@lists.xenproject.org, Bobby Eshleman <bobby.eshleman@gmail.com>
References: <cover.1629315873.git.bobby.eshleman@gmail.com>
 <7925a89cf830e0e3705a8700fce09a408fcfc27c.1629315873.git.bobby.eshleman@gmail.com>
 <cf162154-a988-ffe9-f6a0-40351f654d1b@suse.com>
 <56659479-80b1-4242-5689-f1a0b62df549@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <ac1f2de1-3d4f-4e0f-18af-6e0ec9d7648b@suse.com>
Date: Tue, 24 Aug 2021 15:07:36 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <56659479-80b1-4242-5689-f1a0b62df549@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0053.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::6) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 1be5c19f-3806-4553-82ba-08d9670025e8
X-MS-TrafficTypeDiagnostic: AM0PR04MB3970:
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB3970C12DECCEFAD4809A59EBB3C59@AM0PR04MB3970.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	UcLXR682l5BYEp60+9ZR9/We9gezw6BBFBWun3sKl9cnLtgT4285VcvJcQsqI1hgNJzeAXIisclyjo9CTA2yxs0s3PJA5RY/QTwhihYhr1vVvXjs5jkskTjqq2+bprj0Eg/5cXT6SHJZgUlq1QKRBX//413WG6RCnkxPMTUhdyeLHEVIM+PRm9d/WpCJb7KHNrOob8xfW5oH+fugKXlgxMUc2VuHpBaLlaSedQslPof9eZGrVhwpEMgBczN9NjkbExSu/bbszbOEaKN7/jNdzzYqzgrWi54Da0Su8BRwmIVq9+2CBHfLT44LCGVnzZRDcALvSRZObGi4ILJGdsEpWixBQMQWxymmuNXY+M/nV4FkB6h8N9CSGe3pvg+EMBixVyi4Hs/nfwvziIJycyissoCBHI66fdRteqJSyVvyzKcO6A+PN15tyhi+D/9A+tjEmOHxjJJNBxeFMcrPrXgolDDYqGcgUOvk6sKK9yPbjFPcNQXrB3o2lS0KZjDTLce/w3CohLU1RlJjHhC9/rMuQXftsMpb1G2G1TFkiXP7alnaulsJ2piaR04WswWjVXGbufJwUb5NPxQ5gSReHKHxnGPGTomMydP3O+wbkNqUKFID1JlIQ8ybCu1ltVSlPGHSGdTZZzAJmsognFUaWgXsAXm2lKjpElZk1rh9ktk05WBQhviy09AhirMskX9liRy6dpWKvrj0iEHyJOE7jEVuiiZ7Qfa2sv+BUFb4HiYf87U=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(66556008)(66946007)(66476007)(186003)(16576012)(316002)(2906002)(6486002)(31686004)(31696002)(6916009)(8936002)(86362001)(26005)(2616005)(53546011)(36756003)(4326008)(54906003)(5660300002)(956004)(8676002)(508600001)(7416002)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Yi9jWDZpLytLYjVtWGI3NWhUS2pubFFZbFRnT0E4OWZxYjQ4dFRDUWNuVWVS?=
 =?utf-8?B?dC8xelUrQk5DY2ptVTBOeWMyUG9ySDdieHhFYWhKc3pnUXBENFBzYzNxRUgv?=
 =?utf-8?B?SXlpNExpOUsxVk9BcHgxdEtKYVFRaHlCelRTNWxSV3RKWmFPS21QQml0RHdk?=
 =?utf-8?B?K2xadVVzRmNBakZDamxEWmdEZ0tjcVVjWStuL1ZrK0VYbXFubkpFSi8rSmFp?=
 =?utf-8?B?UEQxamMrRHVxUGlkVTdZc0paM3RqaUpiZ3pNYUE1VHZwa3ptQmM5ZmtnSlhk?=
 =?utf-8?B?NFFtSDdBUExUZkV6MEhWa0hkYXhveEJ3d1RLQmJDSy9DR0E1SGlNVlFXbTMw?=
 =?utf-8?B?RjE1S1ZhOVhNcGpMK3kyUHAzcDNIdHVLT3FwYVhJQTNLQ1FLbEZqNlAraWdS?=
 =?utf-8?B?c2JmUFdGZFE4ZUFVR2llUDVyRk5JTkpFdW55QlkzREQzSE42TzhFZTNxWmZW?=
 =?utf-8?B?NW5ZejdjTjNmcWFNTHI2ejFtZDhOMnBGWU0zZVhJVHVjV21FbnZVeUhuSnRq?=
 =?utf-8?B?SjFyS1BOOTNlS20wTEVycm1UVzhWVU1INnRqbXNHdWhtWkw3a0twQWd6ZklZ?=
 =?utf-8?B?TXBIODBJdURFS1VJQXhGTTFCa3FWK0xEd3JKeCtSWGF1SW92VXdubktvcmY5?=
 =?utf-8?B?KzRNeTM5a1ZCaUdxN0tBTnZlbS9mVkxVclg0alIrdkg0bHBjbHpoM01BVnBQ?=
 =?utf-8?B?VncxWmZFTzg1MTZmTE5wZmQ1Y1V0OHNzTlA4bUxyWGtPc3gvRlhpWkViYmM4?=
 =?utf-8?B?d2VrMWMwVDdkYklnL3RReUlWQXdHV2VZd1Vya0RLNDFiTHQwNkt6cExYbWk5?=
 =?utf-8?B?eXdNUWxrR2UxZEFNN09WWkpBWjFVNWtjRnNYazVvRldZQ1lkNld2bXRFaGNy?=
 =?utf-8?B?NVFTRG5BRWdtYjRvbXhUWWFwMGtwQk92d2huNXZ6am55eFdBZDd3a29YRkZM?=
 =?utf-8?B?WEdNV1N1Vmgrb3Y4QXF1UHVKeHFBb2RQclZXM3RNME1OM01lTmlSZTFnMmtp?=
 =?utf-8?B?OEl1UDdtS2plWFpqMjJYR0dLN3NDdmZRL1VOMXR6MWZsSVZQVXpMclErZGlE?=
 =?utf-8?B?ak1sWTI5OTBFam93a2V1eTQwT0t6TEQ4Ny9FTDl4WDUwa1pKRXRiTDc2VjZt?=
 =?utf-8?B?cGJmajV6MnFXNUYzOEptNEE2Q3pJZkFZOG85cDRTWnVZTmxEdklEL2FZMjFK?=
 =?utf-8?B?bkZnU0pIdjFuMGhKalFXOXYyUitPS29iMUQ2ZmRTd1Z2UG9JWDR5Umtkblc4?=
 =?utf-8?B?MlFESFJKNDJXeFZIYUFZaldRVmpwVitEOHBSSUVseXhpMzBFNUsrcy8vWVpD?=
 =?utf-8?B?L01vQ2NCdnczc3VHNC84Y2d2ekU1Ty9kSHZZaDF2ZFVGZzFCN2JZeTdlSzRY?=
 =?utf-8?B?N3pqYkVTcnFlell6UzZ0NHdLUzdqMkQrRFlNVGdwUW9aT1dCS0kwYnI4d2Z3?=
 =?utf-8?B?UjBTSWxJbHN6RXRHVFZwcnJGTnkxVklXMmtIRU5YQXVjUERJeWsvVVBDaUFI?=
 =?utf-8?B?R3VkT29Ca1d6T3UrU0k1MWFrUTBVcDA0aGZ3T0VreGV0NTY2N0pQaGI3RzJF?=
 =?utf-8?B?WkowbmtySDNtN3dURnJ1N3BMaVExVVRuVVE2Q2MvWVNoTXRQNjQrQzRNQzc1?=
 =?utf-8?B?Z1BUNFFJRHFReks5SXlYaHZ2REtINWtwbmdvZU9qb0hFc2VLYkgwTzhBMkNu?=
 =?utf-8?B?MW1zRlBHY0pla09pelBlZmJxS1FNd0RxS2xFbDdCMjh0WjlRcVhPQnV5ckcx?=
 =?utf-8?Q?/dIhxzcZgIykIWHRBMx7Re0KZVPpgLVNUxZpMJx?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1be5c19f-3806-4553-82ba-08d9670025e8
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 13:07:38.4141
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: LKkM+eSaDVlgeWTM+WVh7cYHIL+0vHPZtSvVsDzySmYhKPYpcfyUdqULWrI5+5Z+mW7z4Xpf4fO7FKEzN4dGJw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB3970

On 24.08.2021 14:41, Andrew Cooper wrote:
> On 24/08/2021 13:16, Jan Beulich wrote:
>> On 18.08.2021 22:29, Bobby Eshleman wrote:
>>> Unlike debugger_trap_fatal() and debugger_trap_immediate(),
>>> debugger_trap_entry() is specific to guest debugging and *NOT* the
>>> debugging of Xen itself. That is, it is part of gdbsx functionality and
>>> not the Xen gdstub. This is evidenced by debugger_trap_fatal()'s usage
>>> of domain_pause_for_debugger(). Because of this, debugger_trap_entry()
>>> does not belong alongside the generic Xen debugger functionality.
>> I'm not convinced this is what the original intentions were. Instead I
>> think this was meant to be a generic hook function which initially
>> only cared to deal with the gdbsx needs.
> 
> It doesn't exactly matter what the original intentions where - what we
> currently have is unused and and a clear source of confusion between two
> unrelated subsystems.
> 
> It is unclear that the gdbstub is even usable, given at least a decade
> of bitrot.
> 
> Keeping an empty static inline in the enabled case is nonsense, because
> at the point you need to edit Xen to insert some real debugging, there
> are better ways to do it in something which isn't even a catch-all
> despite appearing to be one.

Perhaps I should have said explicitly that my remark isn't an objection
to the code change, but a suggestion to weaken the claims made in the
description.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 13:15:21 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 13:15:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171366.312710 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIWGq-0000bj-W8; Tue, 24 Aug 2021 13:15:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171366.312710; Tue, 24 Aug 2021 13: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 1mIWGq-0000bc-Sr; Tue, 24 Aug 2021 13:15:16 +0000
Received: by outflank-mailman (input) for mailman id 171366;
 Tue, 24 Aug 2021 13:15:15 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIWGp-0000bW-LK
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 13:15:15 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 512becee-04dd-11ec-a8d2-12813bfff9fa;
 Tue, 24 Aug 2021 13:15:14 +0000 (UTC)
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01lp2052.outbound.protection.outlook.com [104.47.1.52]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-10-6gPiPR1dPiut4aRwoz0IEw-1; Tue, 24 Aug 2021 15:15:12 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM4PR0401MB2370.eurprd04.prod.outlook.com (2603:10a6:200:4f::26)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Tue, 24 Aug
 2021 13:15:10 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 13:15:10 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P189CA0062.EURP189.PROD.OUTLOOK.COM (2603:10a6:102:b4::7) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Tue, 24 Aug 2021 13:15:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 512becee-04dd-11ec-a8d2-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629810913;
	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=6bT2KFRmXu4RnfBIRkL4+78D4y95MzJT4S6cySUp770=;
	b=cn00++ALqPq4kFbNvANweOVJcvqWrOSixvCI/MGM8q+KmMRSZN3adGn+Bb8Gi2zlbJ1zoA
	7YPQhPwc4+APik2mbllyYN3riqsVq+SgNyni5C64U2aLRLmnYNzSQp9yJokI02R1QyII3T
	EPhdwDrXuoj8A4zzzu7ZvXcsT1mc/Yk=
X-MC-Unique: 6gPiPR1dPiut4aRwoz0IEw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RdFUS1WFedHHrriJ4bgtb6ubletEYnDggU0ArztnHJee+wKDTtKwGx2mX+ecKbgMs/gHaAkcp41GngB8fAkKJ0eLgrJqUvekzUY3u6OG0Hl24u6oszzDWMlNu9nxB5aRm1cK9SjEGHZbtcKvqF05jdCGiHtUOU1HsDOKrPVry4m2OTpaKkQ3aY9RU5jvWHFZCq3gq3jfyiegKw5xWHz9iuwvz9Tw8mnSp1YlZiUrRxbsF2PcooE+J21ElLANoQD+o5Ue+7dL2szOq1Pezl1N0HYxZCFvrZZ2OENTIllHjstrVNtBvgBP1M7LGznV4Bds3BM0GKODwtdbI73IRlescA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=e8gRMcdCCI+LNKSDO/B/I0uUqDiS/hEIfeAjBsv9avE=;
 b=FBz7D7l8NlKtvXY4GqfnreYYcbvfCz+JEhQjN2GEEp5ZUs0rq8yA57HXd/Y/nj17rYun+fK5/aRDGcgP2C3pefDT+trNQofiGMXRh/8aJqarFepESj+Csoi6LCGGaTtiqSF7VDFuiUn19WTXtRpZTyppmvM0MhRzWWKNRpUe6akSYcKhKjCocYNk/NC8NH+TaqROfH3dn5+DjRd2+OwzN7+ohirMnsODpIKK8GQgUZoKqw0sCxld5Pi3YRaJWWqQKixDNAVF5pG1MtZt4Pb44wDxFhsqpsqMKIC4lbjvL01wEdxvfpR0/pA5KiDl+gN4HwQ6iGFuczgTa45SJfNKjg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH 1/3] x86/spec-ctrl: Split the "Hardware features"
 diagnostic line
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: <20210817143006.2821-1-andrew.cooper3@citrix.com>
 <20210817143006.2821-2-andrew.cooper3@citrix.com>
 <1ba952b1-ad26-79e1-7aa9-af7df28774f6@suse.com>
 <34905dc6-f8e1-afdd-7f05-1c8e93eab3ff@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <709c7d54-2088-415a-6460-bf44002d1d76@suse.com>
Date: Tue, 24 Aug 2021 15:15:08 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <34905dc6-f8e1-afdd-7f05-1c8e93eab3ff@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: PR3P189CA0062.EURP189.PROD.OUTLOOK.COM
 (2603:10a6:102:b4::7) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5854bb2b-2bed-4c6c-2163-08d967013338
X-MS-TrafficTypeDiagnostic: AM4PR0401MB2370:
X-Microsoft-Antispam-PRVS:
	<AM4PR0401MB2370E5E04BE45A7D6CE6AB3AB3C59@AM4PR0401MB2370.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:7691;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MKRiFxjrwQ+Kz3d+AZJfBJCaOZqJhMmoRULUx301guD4mzoOGf1NimQQ9eecmEaajznQlYL78+DpgdaBn0O52B2fOk5lLQIX9E91TrDM2WnJ3cQv5541349N3pjfLKwMnH7uAPILr986hPimf8j3w9yA/mf2gpGdqtL6EH3LKWTHzLDIYR4YnN8Br6Njnvfw4UCW5w42LN+Y5ip6IjJ9a3txXUmqkW/yahwe7ly5lg3awEhGP4SMvecGTVPD29yLG0mRRhk7kYA5LK+i8IakAZU8AVfZSgAZRNQZIarzOVygxRp+42zhKZOZ1yF/R6kP748iaJE9twNlrh92QpwPVUhWiolf30K1w7K6QdbsNevx79jYXu+aUKx1RF+mQryFiIKiUeLfTSNnQmxXv3RgC+i3eeWhH1EjA4C0QKYV5dFPLbl0AqiovzpjoIaU6AsGtTLcteFIrkNytRFMDqPwMokuirUEv1VdP8Gt8JC3DbvBlQD/XGH8UDtuno9491NwY8OpVLyN/qI6CPjFG5f758Q3wPeGKkWNKmQWPuaIMsHPZYvNdLVSTHTSeJLRhu4rHT4MvU1MJ3qC7xDFP2rUjieIoaIM6xl1orObXPteScICeqStbC6CbB6KXjFaiQeQfrpEXz2/LiGhcULYh09StUBXvmWKOFw6ULVydbq+ox1djFve/3WagWWcBKqTY1P7fPHtjiNK+a/5BqCmUKZ4Fp3eHgQyuSlcOeFX2gi41fg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(38100700002)(8936002)(2906002)(8676002)(6916009)(5660300002)(6486002)(86362001)(66556008)(54906003)(66946007)(66476007)(16576012)(36756003)(508600001)(31686004)(2616005)(186003)(31696002)(4326008)(83380400001)(956004)(316002)(26005)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?SLWpqv8d5009Setz8BmeCNl8pGo6gh0F/Q1TaMTihhrsX9MqSMlvMzjxYyBi?=
 =?us-ascii?Q?GdQ537RhxHqzqxxOlA/lF556JKKg9SvOvKevcNvA/v2AYqTMknsNFN2cyO/3?=
 =?us-ascii?Q?4/06zeCx9xfkaCT4JA3z18xGooXxWfbSnsZSlCC+L5apdic9Zjc38sBrZe/W?=
 =?us-ascii?Q?mjp0uQ4C2PI36Za5+zYVNrjxxiPazZsL6fZwQW7KX2/hEa18CODWQEq1HROD?=
 =?us-ascii?Q?mV47MR0kOo+RHPly25obSGL5wg/68NRNIV4zTciBYTJPgULrUFhAhgMsG0X+?=
 =?us-ascii?Q?axkl3qrCBNYwAWhB3FV6arl9196jBB8hE1/OJiwt6ZNyZCrKjEKwBw1vHOwe?=
 =?us-ascii?Q?bC0oZAjvlnzvnXC6oEEQYYg3D87b5OZteeFcytfSgd6v8kcdxl/Dlr1mPl03?=
 =?us-ascii?Q?59adP5JoG3kg/HZD3UhrLfakh/I6M9CmAXnXCYskCDRukuXibnngVnGPSbUL?=
 =?us-ascii?Q?tLPNB6OVQjLqRPUk1awKfqAPeP44VpSF/rAZYmGpUMGdxpCkjWKE7R2Fsw+m?=
 =?us-ascii?Q?QKQQhRd0UUBT3GLgHSgmboWlbHeS4tz7tOK2q56OIdKL3Wjp/BzqoDYm0ftJ?=
 =?us-ascii?Q?QcuXl4ETq3maN3/qpgs/CHrw7VqRQgFK2KbHLXVgxMFQ/wi+fk6cZn2nXwSo?=
 =?us-ascii?Q?CmsuWotG5Rf5iJE6CgNhJjL74Ye04j/MogdqRsaHuPgwTVhSdHQH/lQYS6xW?=
 =?us-ascii?Q?q2vFgBcg2Db342kXRY0slhlaXs1CfEzjjZiMinYKIH7s2pVG5FhPWD4P35SS?=
 =?us-ascii?Q?EgBEa+ubn+39ydJo3zxMYD46HX4q8ljL42d0d7Ff9e2bS0oFQ110BX7XX1XC?=
 =?us-ascii?Q?cbmUxx9cU1iSEpm0R4EL9mYlyTgYKI8oNnCWRQPWJuqmynZxGY4PKTqpk0bQ?=
 =?us-ascii?Q?422wt65v4TB7SOWxgnpdvLN9Fm8goCnnrmSyhnnX2TBgMyaqwHucgBPcXgMx?=
 =?us-ascii?Q?aB4ntvIon9GTUpcAdxJSqpdglDllf7bHlFzAfSrQhFJRWoXSpiFcTax9Fc/N?=
 =?us-ascii?Q?1p7WGENiM+Mnm9icBhr6Lg4lTREUzPBubMoRgB2Cy1W6Q3hjEbxBG3Afpofd?=
 =?us-ascii?Q?08WkHtl3bkojls9Qh6o33bm7sYaAw2Hq5oEhU+bFB4Qwub66EVz3OL7t+YxX?=
 =?us-ascii?Q?pcTu6Q7fkSHOmR+nCGrRoQwZsArxVxKeqrm+4uYDi13WkK/pSYyETAJPi9F7?=
 =?us-ascii?Q?kbBnRkQIxtSntqEe/tA8qYVt7LJ3A6Kt1FwEU0VS4FDEX0SbHWgLMvBA3eEo?=
 =?us-ascii?Q?HIdB7p+SxfF4DtpiMp8+5yDhYRezTpQdfRQGVB+12zDaCIsFq/mws4Aq2y65?=
 =?us-ascii?Q?Lt8BeNRbpp46dduuIZT/NaAN?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5854bb2b-2bed-4c6c-2163-08d967013338
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 13:15:10.2520
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /mtjJHzAKvY1lVuMPw6HeHhrxsP1U4KaCN627720s/xkUygI3vi6ZP837TEforZ0jF0IRoMu323kHZiEmhF8iQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0401MB2370

On 24.08.2021 14:57, Andrew Cooper wrote:
> On 19/08/2021 15:38, Jan Beulich wrote:
>> On 17.08.2021 16:30, Andrew Cooper wrote:
>>> --- a/xen/arch/x86/spec_ctrl.c
>>> +++ b/xen/arch/x86/spec_ctrl.c
>>> @@ -317,23 +317,30 @@ static void __init print_details(enum ind_thunk t=
hunk, uint64_t caps)
>>> =20
>>>      printk("Speculative mitigation facilities:\n");
>>> =20
>>> -    /* Hardware features which pertain to speculative mitigations. */
>>> -    printk("  Hardware features:%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n",
>>> -           (_7d0 & cpufeat_mask(X86_FEATURE_IBRSB)) ? " IBRS/IBPB" : "=
",
>>> -           (_7d0 & cpufeat_mask(X86_FEATURE_STIBP)) ? " STIBP"     : "=
",
>>> -           (_7d0 & cpufeat_mask(X86_FEATURE_L1D_FLUSH)) ? " L1D_FLUSH"=
 : "",
>>> -           (_7d0 & cpufeat_mask(X86_FEATURE_SSBD))  ? " SSBD"      : "=
",
>>> -           (_7d0 & cpufeat_mask(X86_FEATURE_MD_CLEAR)) ? " MD_CLEAR" :=
 "",
>>> -           (_7d0 & cpufeat_mask(X86_FEATURE_SRBDS_CTRL)) ? " SRBDS_CTR=
L" : "",
>>> -           (e8b  & cpufeat_mask(X86_FEATURE_IBPB))  ? " IBPB"      : "=
",
>>> -           (caps & ARCH_CAPS_IBRS_ALL)              ? " IBRS_ALL"  : "=
",
>>> -           (caps & ARCH_CAPS_RDCL_NO)               ? " RDCL_NO"   : "=
",
>>> -           (caps & ARCH_CAPS_RSBA)                  ? " RSBA"      : "=
",
>>> -           (caps & ARCH_CAPS_SKIP_L1DFL)            ? " SKIP_L1DFL": "=
",
>>> -           (caps & ARCH_CAPS_SSB_NO)                ? " SSB_NO"    : "=
",
>>> -           (caps & ARCH_CAPS_MDS_NO)                ? " MDS_NO"    : "=
",
>>> -           (caps & ARCH_CAPS_TSX_CTRL)              ? " TSX_CTRL"  : "=
",
>>> -           (caps & ARCH_CAPS_TAA_NO)                ? " TAA_NO"    : "=
");
>>> +    /*
>>> +     * Hardware read-only information, stating immunity to certain iss=
ues, or
>>> +     * suggestions of which mitigation to use.
>>> +     */
>>> +    printk("  Hardware hints:%s%s%s%s%s%s%s\n",
>>> +           (caps & ARCH_CAPS_RDCL_NO)                        ? " RDCL_=
NO"        : "",
>>> +           (caps & ARCH_CAPS_IBRS_ALL)                       ? " IBRS_=
ALL"       : "",
>> I take it you flipped the order of these two to match the ordering
>> of their bit numbers?
>=20
> Yes.=C2=A0 IIRC, the first draft spec had the bits in the opposite order,=
 and
> I presumably forgot to flip the printk() when correcting msr-index.h
>=20
>>  I'm slightly inclined to ask whether we
>> wouldn't better stay with what we had, as I could imagine users
>> having not sufficiently flexible text matching in place somewhere.
>> But I'm not going to insist. It only occurred to me and is, unlike
>> for the IBRS/IBPB re-arrangement of the other part, easily possible
>> here.
>=20
> dmesg is not and never can will be an ABI.

Well, sure, I understand this. I said "slightly" not because I would
use the log this way, but because I know of at least similar (ab)uses
of logs.

> Amongst other things, `xl dmesg | grep` fails at boot on large systems
> (because you keep on refusing to let in patches which bump the size of
> the pre-dynamic console),

And instead I've taken the time to reduce boot time verbosity. Plus -
the last attempt must have been years ago. Given good enough arguments
and little enough undesirable (side) effects, I'm sure I could be
convinced. (But yes, especially the "good enough" aspect is definitely
pretty subjective. Yet then I could be easily outvoted if others agree
with the provided reasoning.)

> or after sufficient uptime when the contents has wrapped.

The boot log can easily be made persistent on disk before it can wrap.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 13:20:06 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 13:20:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171372.312721 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIWLV-0001xG-NJ; Tue, 24 Aug 2021 13:20:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171372.312721; Tue, 24 Aug 2021 13:20: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 1mIWLV-0001wh-Jb; Tue, 24 Aug 2021 13:20:05 +0000
Received: by outflank-mailman (input) for mailman id 171372;
 Tue, 24 Aug 2021 13:20:03 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIWLT-0001ds-TI
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 13:20:03 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 892c81ab-35d5-4eac-ac99-8f24c587a831;
 Tue, 24 Aug 2021 13:20:02 +0000 (UTC)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2056.outbound.protection.outlook.com [104.47.13.56]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-29-iBIqGOqTMym2Avy70yKiHg-1; Tue, 24 Aug 2021 15:20:00 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM8PR04MB7969.eurprd04.prod.outlook.com (2603:10a6:20b:24c::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17; Tue, 24 Aug
 2021 13:19:58 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 13:19:58 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM8P191CA0018.EURP191.PROD.OUTLOOK.COM (2603:10a6:20b:21a::23) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Tue, 24 Aug 2021 13:19:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 892c81ab-35d5-4eac-ac99-8f24c587a831
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629811201;
	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=72fSE2riRzC2mTvnEAY8SWvXOMu4y6ybOSZpkV7XJmI=;
	b=G1Yx+eD6911Mx4ZiqsNwq2TvGiCPUtcROPvawTKHroyK2GSveyS2ckZgG7AKpti6tSXju0
	lyOcfsMzMsGlqt0iMDJErzDX1IuUuLR0/779IJYQHD8q+oDYMlXupBQqhNVHpoENuubWFd
	D7sQKcKoOxmAMGyLYEMv0uueFRDHA6A=
X-MC-Unique: iBIqGOqTMym2Avy70yKiHg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dwSvbqMby9bM0/abIgpPrQh4bpjgF8aM7YUWrc50XZucPK1vKVCUF3DsvdTQ1f6HedwGqGULK85UM1fZi/oqvoQEq6vHMNDRXaZseEwSm+rHz6XHZmhaNMGBtq1nJL9zzdcdTnhNVfEFDHnqek++Dofouk59Vv4ZYiX2CVocZyIkwMp0jUWqjELfm8RD9XB6uVz8k7JMXCkfuKBSJyGMugoLUjSbzyajm3ul4tmCx2K58snCPwnj+oZBd1qm+OwSYOuZgi48BAvHLDdQwtk70/QaglANzoVyptZhNBxy08+AB1anoa3jg9lq2fnC8uKlKbgIZChmRvz5W2/QlmuPkw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sRLToQW/y+xHhGTlC9LfAh1+0Gu4EgU8PNO/vHKLXqs=;
 b=HxvBDxeAB5CeVdx7P/z2FPKlhPY02CjUwwwjaIDcbb1o/vzNGxaOPQhNkx4enb3MzetcA9LS8on4TmWG2rfaLUIw7CsXySyae/8D4mbjtvjg/2YEPZpqHmSlbun+kqMYhycl7w1sQzqLVSMS1q8mcflZVRtARZ4uDBhYkCxfKjBRSQ2w7Oik0aO8sooU07OYprYpvH/AcRXSOv70NLS2AzJ2O+rZdxF550J2Hd28YfQL9Oe/VssbZ7Jnqn1e8uwMKcEDU06B1Tj/YFJe5daaDMACCbMcGTDW/raZwnXc2HHiCTxzQ9jUiAVkbC/+idqjdlYikNnDHYlhZr47XT4JCg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: Re: [PATCH v2 1/4] public: Add page related definitions for accessing
 guests memory
To: Costin Lupu <costin.lupu@cs.pub.ro>
CC: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org, Julien Grall <julien@xen.org>
References: <cover.1629395092.git.costin.lupu@cs.pub.ro>
 <1d9338102d2013addfabc0cf9275ef156fd5080f.1629395092.git.costin.lupu@cs.pub.ro>
 <69747133-3d42-4179-2606-12b1d1a9c8a6@suse.com>
 <c942c080-183a-ddb2-f523-dd3354f5b4a0@cs.pub.ro>
 <a2d0be78-f53e-a100-838a-5af2a8ef1459@xen.org>
 <8ed65d58-2547-d4cf-0db7-74a2ab114a71@suse.com>
 <6dbe57f9-6355-d584-382f-a06779aa9121@xen.org>
 <99049e35-3b74-f094-dca9-465126abf5ed@cs.pub.ro>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <17f9e226-8b0c-dc0d-bf7f-717993695634@suse.com>
Date: Tue, 24 Aug 2021 15:19:55 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <99049e35-3b74-f094-dca9-465126abf5ed@cs.pub.ro>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM8P191CA0018.EURP191.PROD.OUTLOOK.COM
 (2603:10a6:20b:21a::23) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c8109cdd-61da-46ee-a44b-08d96701dee9
X-MS-TrafficTypeDiagnostic: AM8PR04MB7969:
X-Microsoft-Antispam-PRVS:
	<AM8PR04MB79696ADB269C8AB7A18ABC02B3C59@AM8PR04MB7969.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	YC6s3id7HSE0l94+9T5rJ9DLUu+rzV21iBTzBb/z/0fsvx1CsHm0oFI59cPdD1qB02sQBWcnuVbRlMon7FeGnM+85X694SDpmFvy6uSfl+uxsydNi2dOKcqOIyMP6L91D0Ea0uObQ61EghYWYvu3ztmpYjBi7BYuczWhokBDBEZqYdCg61DZD2P4pmLGx8lvgTHZB21CjGY3dTBtzsK00djFpim51jkru/n67sH6RNNuBsae3Ufk7QjlgQjOm1spF75DJc5Wyl4OMSBol1WBztM5XdYJIEb4Fvns7LJ8/W28RldwFBnr5nKUFtsObVNI/B+iSe0dqdhHRNcUFy6LLVK/1BsAanzByRe3kSUm/aThDltraaDJ4rHKAbpA1kDwoWR9u90wPiqV37AKUPMtFQQRD2pmwswFjr0kHvtNVK1Ble+2K2L328Zra4Z7lDJhx86hft8KjZF9a9+SU3JAZYqyRWYZ94b1dGwxKEjScIWv7YuyKhh/whw2l11R3ql40JbFWjk0/mY+0QpJ9FDkl+vWVGKzKfInEsEoOL3UIHiVWTcpVFHP6A15B7u1j4e9RzRAnWyiz0iTFl3elpwSZ/K1Pq5UNtGbhDAhsc06vjuzYbPZVHd7FJ6eYAz4qjHM802HyifyWeFULnuRp3EFAmMqY/2gCtGjWftq9TE0vsb+YL4F9nGHMPdsora+iLsP3ab72eY59LI9r3W5knridwC2hNCKfe0XudkQdzxzu+k=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(366004)(376002)(396003)(136003)(39860400002)(8676002)(956004)(6916009)(36756003)(2616005)(4326008)(38100700002)(86362001)(31696002)(83380400001)(478600001)(8936002)(31686004)(66556008)(66476007)(26005)(316002)(5660300002)(54906003)(16576012)(6486002)(186003)(53546011)(66946007)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?Minzye4pXzbb9R5b/3epHkhiGBnPVgN8hj3SeD95QQvG3afjLMPD89kWmkDE?=
 =?us-ascii?Q?5UkdCshfz1ltrUPl22n20Hted4IbIpjX0U+lKVG7nWwUk/tatHsjxknHWxdi?=
 =?us-ascii?Q?cdwMHCk5Dq7f6q4NKggONBvakrt4Uqlq0QfnMz0z4Vc/yugtkwZRG5c74VwV?=
 =?us-ascii?Q?kZuwhVJ/YUbnlBknrZR9D1KYdSfVeCbudUFdZbSX8t4mYSRIZhBTC8+f92r3?=
 =?us-ascii?Q?apkWLoKWB5/JoDzRM7aOdd/znJAZQfr8qeKA1wV0axM5CBrF/W4lKWS7RiJ9?=
 =?us-ascii?Q?tcMJBXrmgkXEv6FNdTHnkvW1NWII9ms0fJPQ+PvGpW7/GTcX37lDPfnYb3se?=
 =?us-ascii?Q?KEemYnmooMWtgliQxnOjvGGR9Y0YBtDPZLsYLnbwxQIIHzcjlXECQdWu5fZ7?=
 =?us-ascii?Q?absHq4hBRn8WJsBrBucwIL48I08CMQKa5B5C/TEAoUgvZE+sXr+hR6t0PG1m?=
 =?us-ascii?Q?FBHLulVBLFDk6YmwsRobw7eLKNfmlmTWL2WLgtDJ5o4Tv8rb/d2G9gUGZulb?=
 =?us-ascii?Q?2qDcxqRhTcldRxslBqywMDzSW+6muruDLReW573dmeVikQSY/gfortSO7sNl?=
 =?us-ascii?Q?YPh1Ue+YIFioDLqzRRpVI2WkvzXVFr6/ZjWzPKjId3se4yUmc507Q3kkaZ/j?=
 =?us-ascii?Q?H+kAGLFXIMmxZHaCx2VS2q0vfWrTMJZxDA9fFc2Jv9teV5IaWjM49bj7CVfF?=
 =?us-ascii?Q?FLtDVGulhXrxAAGhfnGemJPnhm7skBqGXCAwiX/rdiBcRLb/+Xjq3i3puXXo?=
 =?us-ascii?Q?W6rRvSt1jqR2g0oTQ99pmhAa9bqVt9wAxPqU8RVGrNTfvL2mX/6tEWkK1u5R?=
 =?us-ascii?Q?GceiqtkUgovmBWOGdBDTA8q36vg89IOISB0X3SjGw3JwSwX3V2xJydH9hHOR?=
 =?us-ascii?Q?Tm3OcHlJM7NzXiRDeP8WMzU9giIYT/ONMvKlQ8xQmFqLxskreutLU+ctHZAR?=
 =?us-ascii?Q?XM0E0yESQFBTIR8BmIQ/aNXv/aHe1dAWeJ8HGWkzgHanwAt20Gou6AeWj1XA?=
 =?us-ascii?Q?JpYJumA5KNjRAXI6K4sArVLaX8sxDVSOMWZbfQSBLVzQWAFq2/w5QTDv7L8P?=
 =?us-ascii?Q?SYKQILUi3RS1+qTKH0rnbFtcuZy3UWWx8NQ1DzQ0qxoFTOV/FrbUDgQ+P2m8?=
 =?us-ascii?Q?Rl0THR8tvDMCQdw79WxcfekSpPeAkRjxBSxQbfNenTmJ2FlZ51BcTn789nMh?=
 =?us-ascii?Q?lHVY6/31CL8dAE2xtQeIjdCVq69oLzTyP6gbY8W9ALQbIOkWOclGbc3hYA1v?=
 =?us-ascii?Q?/RmlqMwKDuwOzYB3R8UuM/8koOTxCz60pKRWbPw017pmPm150V6XVv7ZCvv6?=
 =?us-ascii?Q?7epIufCymSAhssSmHuLThoeC?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c8109cdd-61da-46ee-a44b-08d96701dee9
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 13:19:58.3197
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: YGGHCBm6gJWPhydsnDSOqpK0mszXrtqOpVJvczkXIuT9FFC4tZz0h/JcHGWggLsKa+bl1h4+IGj444OGNVyioQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7969

On 24.08.2021 15:03, Costin Lupu wrote:
> On 8/23/21 8:16 PM, Julien Grall wrote:
>> On 20/08/2021 10:26, Jan Beulich wrote:
>>> On 20.08.2021 11:08, Julien Grall wrote:
>>>> On 20/08/2021 08:44, Costin Lupu wrote:
>>>>> On 8/20/21 9:52 AM, Jan Beulich wrote:
>>>>>>> --- /dev/null
>>>>>>> +++ b/xen/include/public/page.h
>>>>>>> @@ -0,0 +1,36 @@
>>>>>>> +/*****************************************************************=
*************
>>>>>>>
>>>>>>> + * page.h
>>>>>>> + *
>>>>>>> + * Page definitions for accessing guests memory
>>>>>>> + *
>>>>>>> + * Permission is hereby granted, free of charge, to any person
>>>>>>> obtaining a copy
>>>>>>> + * of this software and associated documentation files (the
>>>>>>> "Software"), to
>>>>>>> + * deal in the Software without restriction, including without
>>>>>>> limitation the
>>>>>>> + * rights to use, copy, modify, merge, publish, distribute,
>>>>>>> sublicense, and/or
>>>>>>> + * sell copies of the Software, and to permit persons to whom the
>>>>>>> Software is
>>>>>>> + * furnished to do so, subject to the following conditions:
>>>>>>> + *
>>>>>>> + * The above copyright notice and this permission notice shall be
>>>>>>> included in
>>>>>>> + * all copies or substantial portions of the Software.
>>>>>>> + *
>>>>>>> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
>>>>>>> KIND, EXPRESS OR
>>>>>>> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
>>>>>>> MERCHANTABILITY,
>>>>>>> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
>>>>>>> EVENT SHALL THE
>>>>>>> + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
>>>>>>> OR OTHER
>>>>>>> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
>>>>>>> OTHERWISE, ARISING
>>>>>>> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
>>>>>>> OTHER
>>>>>>> + * DEALINGS IN THE SOFTWARE.
>>>>>>> + *
>>>>>>> + * Copyright (c) 2021, Costin Lupu
>>>>>>> + */
>>>>>>> +
>>>>>>> +#ifndef __XEN_PUBLIC_PAGE_H__
>>>>>>> +#define __XEN_PUBLIC_PAGE_H__
>>>>>>> +
>>>>>>> +#include "xen.h"
>>>>>>> +
>>>>>>> +#define XEN_PAGE_SHIFT=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 12
>>>>>>> +#define XEN_PAGE_SIZE=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 (xen_mk_long(1) << XEN_PAGE_SHIFT)
>>>>
>>>> This will use UL whereas on Arm a page frame should always be 64-bit
>>>> regardless the bitness. Shouldn't this be converted to use xen_ulong_t
>>>> instead?
>>>
>>> As pointed out on v1, XEN_PAGE_SIZE would better not end up as a
>>> value of signed type, for ...
>>
>> Did you mean "not end up as a value of **unsigned** type"...
>>
>>>
>>>>>>> +#define XEN_PAGE_MASK=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 (~(XEN_PAGE_SIZE - 1))
>>>
>>> ... this to suitably sign-extend to wider types is necessary.
>>
>> ... because, if I am not mistaken, the sign-extension wouldn't happen
>> with unsigned type. But then on v1 you wrote:
>>
>> "Imo the smallest type this should evaluate to is xen_ulong_t"
>>
>> Which I interpreted as this value should be 64-bit on Arm32. If this not
>> what you meant then I am lost.
>>
>>>
>>> Also unless you expect someone to use typeof(XEN_PAGE_SIZE) I'm
>>> afraid I don't see where the constant being long vs xen_long_t
>>> (if such existed) might matter.
>>> Otoh perhaps xen_mk_ulong() would
>>> better have produced a xen_ulong_t typed values in the first
>>> place, but I'm afraid we can't alter the existing macro.
>>
>> We can create a new one.
>>
>>>> Our stable ABI has not been designed with multiple page granularity in
>>>> mind. We could introduce a hypercall to query the page size used by th=
e
>>>> ABI. But then, I don't think we have the full picture of how this is
>>>> going to pan out (I haven't try to use another page size on Xen yet).
>>>>
>>>> I think we have three choices here:
>>>> =C2=A0=C2=A0=C2=A0 1) Stick with the existing definition in the tools
>>>> =C2=A0=C2=A0=C2=A0 2) Move the definition in the public headers and on=
ly expose them to
>>>> the tools.
>>>> =C2=A0=C2=A0=C2=A0 3) Query the page size via a new hypervisor
>>>>
>>>> As I wrote above, 3) is going to take some time to get it right. So th=
e
>>>> question here is whether 2) is temporarily better than 1).
>>>
>>> Because I understand 3) is some way out, and because I think 2) is
>>> better than 1), I wrote "might be an option" for what you call 2).
>>> But I could see people (Andrew for example) to take a different
>>> position and object to such a temporary measure.
>>
>> I think we need to make a decision so Costin doesn't keep sending
>> version on something that can't be merged. What does the others thinks?
>=20
> From what I understood, in his last reply to 'stubdom: foreignmemory:
> Fix build after 0dbb4be739c5' thread, Andrew was OK with solution 2).

I agree it can be read this way.=20

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 13:26:44 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 13:26:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171384.312741 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIWRr-0002vI-Go; Tue, 24 Aug 2021 13:26:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171384.312741; Tue, 24 Aug 2021 13: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 1mIWRr-0002vB-Dq; Tue, 24 Aug 2021 13:26:39 +0000
Received: by outflank-mailman (input) for mailman id 171384;
 Tue, 24 Aug 2021 13:26:38 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QsuA=NP=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mIWRq-0002ux-GH
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 13:26:38 +0000
Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 3e2fd834-dacd-42ca-ac56-26230566027d;
 Tue, 24 Aug 2021 13:26: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: 3e2fd834-dacd-42ca-ac56-26230566027d
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629811597;
  h=to:cc:references:from:subject:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=+R3AKr7sSr8BenlSnpSeFd57ZL4fsrFxmCe2AT8WkTs=;
  b=RsRjhUDEczqgLUsKKuh/hAo3ajSZ4B9FL58Mcqzg1GE8NCjVVOF8uQ+P
   Vq0SEd4DtK//w3uCwZFdu7+C6s+zjC6XnjTPkNC1VvZVy5MnWu2WkmlK/
   yfitc3j/Qp/itOrYoak0ccP6jxw8Y9wICKYbGpZYXwwVS26+XH/72stZ8
   8=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: Hd3GifuYVJhJ7rbm73nNqYQFW1DtHmuwKxuEVmvS6kB00dfTeIhi+gRcIT73UV8CMOfcU2cl+H
 NZvRLyt6sCQacGz+G79oixWhTtLeICxXqrzvHKeIXvfDAqHRf09R2DksU/nd+k0o5ofjE2lCXW
 79un/9oSClA8QiX58DyFCjO9swSSqTgz+UtkeZGkSvze0FLbhyWpCQy1yabKzSJI9mxyDRep/i
 1pb3xDjG6RiTekqiB/AX6nf3Pqn9fMybCYcJJhdB15YzK/dYLY29/yXwU+9oP5SWi9lNMI8cI4
 WRP8ESWIG6ztsIfbXELsUln9
X-SBRS: 5.1
X-MesageID: 50784451
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:8JMA6K4Q2jqeYqEdRgPXwDLXdLJyesId70hD6qkQc3FomwKj9/
 xG/c5rsSMc7Qx6ZJhOo7+90cW7L080lqQFhLX5X43SPzUO0VHARO1fBOPZqAEIcBeOlNK1u5
 0AT0B/YueAcGSTj6zBkXWF+wBL+qj5zEiq792usUuEVWtRGsZdB58SMHfhLqVxLjM2Y6YRJd
 6nyedsgSGvQngTZtTTPAh+YwCSz+e77a4PeHQ9dmYa1DU=
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="50784451"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fGzs+zwaR+lCmhFEwgDfyIQBxUqjV+E4LCHIZ7Kwp/IGljTVYJOLW2SfxgGaxnKUdGZJSpq3KbVNy0e9cbCpF5Nt0VRs6MstD3UBE+xZubxVKF8WSsJt9+RalAgI57oycfC96KHztweZL03zLdERdL4nglNanEoV0QdVDIFKFTvS4NekrfJU/vMvJ23NgOFmcGN2tymyYFepjPgXwAeIw2URuq1URe6qasj57XD1hGsf2N3Kbcy0ACgE8Cv67y7d0oiMDYZq61NFMyb3TXmY/D9tQPgjapEw4gzNbyh1b3fy2Vo60dAUy8UTSTozOsHz/ZAyrwY4qbTzkkgy9Xl2xw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=d/VZWn5+2hGrIz3nmZ40y8mKPowdTAccDunKosmnRww=;
 b=aURXQ2qzXkrQK09NUo0eZAv7YLC4ebYUeVWe9vNZNdOy8UVuF00mBpXaubqf68r1X9fjVgVdFKROgJBXSPbZN5L/K4UQI0x7WAunevjSfFdJhsg2vvM1X5m0y9krNjDJMlh3uoENgJfFcJgtPMsaSayqA9Z90ALwVDQZE6DMNRwQi/2Q/nQZ5e3c9tJQVSBx4A/0CTWW++TRLJJe3JeQQ31i94MZ+FdXAnRe0Vdf+7f3he9qNp77eJxJ9eKD1qoPWSpqJT8r/rq55WFu4k6UGLYqAYRnO/wV/a642mC/Kq3f0TzKr1Xs92NmJaG5OCCl3bQPzHpivZaaYJ/8k/zcbA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=d/VZWn5+2hGrIz3nmZ40y8mKPowdTAccDunKosmnRww=;
 b=FPK6Ke1ypMEV9qyhcynBvnlm+xRuJFvcY8xWWJHJOqUOvN4QG8yEPEFVJXUPkDFTHSwNz7BZEWM4VXxjHOKm//ae7xWxMsAlXEDcEB1le3wTrEzfXYqwB0W5YEAMrSvKtKvPP8BD57KLhBIxSzilRtYtPSom5dzwABLLPSXaFCY=
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: <20210817143006.2821-1-andrew.cooper3@citrix.com>
 <20210817143006.2821-3-andrew.cooper3@citrix.com>
 <606ce242-65d9-2180-8330-525fe5ec5562@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 2/3] x86/amd: Enumeration for speculative features/hints
Message-ID: <351b2066-d01f-16d2-f1a0-bd7e2fe0965a@citrix.com>
Date: Tue, 24 Aug 2021 14:26:27 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <606ce242-65d9-2180-8330-525fe5ec5562@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-GB
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-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: de2c5ab2-4826-43a3-2209-08d96702cad7
X-MS-TrafficTypeDiagnostic: BYAPR03MB4869:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <BYAPR03MB486958A80532FE1F8030D618BAC59@BYAPR03MB4869.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 9l1QidbU86ROzo/POA1yt77M7qZ3DioZ2eThjHadnU6T6t3l1NnEVkJ2N/WsFOwLQwWAt+Sv1lM/GAfRhj4GBYX9/rVJVrqJRfrFYmhTigyCKn7/KRw/YW1sbXtrS3wz+a5wcLGaRcDi28K6FUpYNaOjSPCUBWLnM7JEGVEirftaJTcYrFX8dvATZHIwPGsuPzzIgIi+g9joKhae7bR5iWsdgB168rqqIKcUhvwlk5b0QZfwkzyaqfX1RnFRWurB2S6D3TrwsiAUqj0hp9RCc49gbtkjYGvMR2XCGwBHEK7prU1tMzONbrzCxcQ/3lS7AckzGADEHhMLeubiGamK3qS1Rf1DF1p+KkHdg/zGAi/ND7inOYUilMUohI9bJQtKuvwJiAaV3VnSPQcLmbWLBtye1lCFtvsC2r88V3lKU8W92x5Fg4uBhtXavv63F8tt29bYLeYVwApSPBvhSs0VhGJh0Wcg/x/p+n8j3UwWh+oK/vPaFt/JqhraYBHKdU5u8xi9Z5IL6UEnzZf2pVve8gESi1z6KTfFXgYbhA1MxAX+u0Yf58PE99DFmCxJFJv0w2Q4vqVwiqvRTeXtWE7Bal3T6OnyLuu6W5IWek0rbpfShRuY3gGARZazQeDiHBhLEA8EDQm9jg4ZHXUValdWtP6MdtboKiDpwkM2HuH6NmuMu+vLGqlEDhq82EnQk9luzKQrYVNQhGAcQx8O3J4GHXcIdzIJSWFn0IO3JkopVeo=
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:(4636009)(366004)(66556008)(66476007)(31686004)(316002)(508600001)(6666004)(8676002)(66946007)(4326008)(6486002)(36756003)(54906003)(5660300002)(83380400001)(956004)(2906002)(8936002)(53546011)(186003)(2616005)(38100700002)(86362001)(6916009)(31696002)(16576012)(26005)(55236004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?aGpmc2NDSFVBK2k4RWd4cWtEQjg5YlB6bDhZOVpkWDZVSnRFaDVNRWgvTWhL?=
 =?utf-8?B?QWkxOFVJMDFOQ1lPZUowNEZtaFNCekNqVWpaaFArM21NcFJFbkl2UTFWSDI1?=
 =?utf-8?B?cVNSSmVpd0hiZ1FXQ25XY1VkK0VheUxtUHVxN056NG1QTDZBTjRHekwrZENl?=
 =?utf-8?B?MW93SjVSZHcrSlZ6Y2hPNFREREhjd3VESXoyVllweVNiODJNcGRhQ0x0TExJ?=
 =?utf-8?B?ZXR5SkV3MEtNcWlzZkZPSE1STzh5RGpvL3FhaDg4b1NiR2Z5Rm1DMWlvWTRV?=
 =?utf-8?B?VndJYXZ6VndLdE1IRkt4ait5U0tBYUNXVVJZRUEzWFpRUUxpQzN5dXJwY2VB?=
 =?utf-8?B?K01tWE1aSUF6SGF3TWtFMWNFWFQrVmpkSGp0aklQVE5XT25wcW9ObHdxUklm?=
 =?utf-8?B?T3hUZittMmJVVThQSS9idjdVdkRGS0hzT09KSjhISzBveU1kcnZBQ2g1WE1n?=
 =?utf-8?B?UzQrM0I1U2o5TGFSZmJVamRRYzIrdkI2a2VxMTBSV1pOMERBbGQyT3dJRmp3?=
 =?utf-8?B?MERpcnVZZ3FIK3pNNXIxeXlxVzNIeFN0OVNHVmc0NU1qcEN6ZytkWlQ5Ymk5?=
 =?utf-8?B?N1FHVTdlT1BGdXFla3AyZDFDVU9CSzBPT1hXSC9Nd3JrYVZpdVlMSFIweFFY?=
 =?utf-8?B?WFlmQkhUTm9uTW1hc1dwelVWY3Z6UlFHZGQzcmV0TEtGaElYeTBLRTBVNE5J?=
 =?utf-8?B?OHN1WGFXcXl4WWdCZFNzaE5uNXJYYnRRSlVZREU1R0ZORUtPdUZaSVIyQ3Nw?=
 =?utf-8?B?eklmUDdKeFNwMTFJcnNUZ0xSTkxDV1BpWTlZNXlpWFBZYnk4VDA4UzZscStQ?=
 =?utf-8?B?Q2lvdllxYURRVXlZVkd5eFU4Vy93cDFiODU5U2RWRnZxdEIyWERBaW16d1JJ?=
 =?utf-8?B?cUlOQ09tcVpUYzZsYlhSbDNST2JPcXJuVTlsZlBJTnkra2taWExlYllYb2pq?=
 =?utf-8?B?VDUzN0Qzcm9jczBnRWFRMFJxWXNIZkVoVVZhUTB6RmZZTGJNc3NaVTVVd09Q?=
 =?utf-8?B?Vkg3T242bzlFeFcxWWJpR3AwbnkvSUNGeUdDV2ZsNkZ6dkt0YkRMU2llVXdj?=
 =?utf-8?B?aTJSOVVRK1JQS0cxV1lPNDNTMFYvSFAvMnYwNnNTaVdKMlc0eGYrNUJ1ZDJh?=
 =?utf-8?B?ZjZzNnJoRk9JWVNKeFBZSFBpZ280UTBpVUxNNXYvUXJNQTh3b1RoV09ydldT?=
 =?utf-8?B?VS94cDhSWU5ZWVhQbm5DeVdaY2lld1JLRVV0UVZuTVRYWG9FekZnQWY2TW9J?=
 =?utf-8?B?eCtxWUtmalhWR2RUbEk3OFlWRGh5REtCeGFhc3VUVFhmWndvQlFZeFBPVTNB?=
 =?utf-8?B?aldMempzZEJuTnkrK2dJWWtpampkTVNad3NsQWZUU1pvVzFXSHZnMXpOcFlD?=
 =?utf-8?B?dlR1a2lnVnJweTlNSm1nTVBJODlseHIyeisrTzVQY3Q1QXh4Q2tlSmdQeS9I?=
 =?utf-8?B?eFo5eDRSZlh5NGVIODVsY1pQU1MvclVVZkxFM0tMWVNmYUE3ODJpak1MOVlX?=
 =?utf-8?B?OWVjZTY1dXRsbnNEOHBpTnV5V1grcy8rOHpzRU5WRS9wRVBDMklnaDh1RjRm?=
 =?utf-8?B?RmFlQzJvaW10emszbkdOTElQMTJOU1hpNzJsWVd4bUQrQ0V3TGJmdExRM0Jh?=
 =?utf-8?B?UmgyZ0gxZEVqNy9qUE96Qlp5dHJrcFBvWjBibmNYRzNJekVYbE5HYWgxRGVG?=
 =?utf-8?B?cWpROHEzTHlxUmIrU045dXJ3Q1k4TytoOEoremlhWVIwS0VSVWo1K0ljUnlw?=
 =?utf-8?Q?1h6KLhydW/5r3oE3Atx9+IBjihtrbhQ6Zh2ak6y?=
X-MS-Exchange-CrossTenant-Network-Message-Id: de2c5ab2-4826-43a3-2209-08d96702cad7
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 13:26:34.1657
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: pWuUsBye4oXNRga+5YUluLu/FSzld3yjzP1gS6Wsi0xjdLWq9qRjhyBrhhRuPpFX4iAHFwZaGaKCB7B4ZgV6W8TeiuY5WLYUAjkY/OvDZXQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB4869
X-OriginatorOrg: citrix.com

On 19/08/2021 15:47, Jan Beulich wrote:
> On 17.08.2021 16:30, Andrew Cooper wrote:
>> There is a step change in speculation protections between the Zen1 and Z=
en2
>> microarchitectures.
>>
>> Zen1 and older have no special support.  Control bits in non-architectur=
al
>> MSRs are used to make lfence be dispatch-serialising (Spectre v1), and t=
o
>> disable Memory Disambiguation (Speculative Store Bypass).  IBPB was
>> retrofitted in a microcode update, and software methods are required for
>> Spectre v2 protections.
>>
>> Because the bit controlling Memory Disambiguation is model specific,
>> hypervisors are expected to expose a MSR_VIRT_SPEC_CTRL interface which
>> abstracts the model specific details.
>>
>> Zen2 and later implement the MSR_SPEC_CTRL interface in hardware, and
>> virtualise the interface for HVM guests to use.  A number of hint bits a=
re
>> specified too to help guide OS software to the most efficient mitigation
>> strategy.
>>
>> Zen3 introduced a new feature, Predictive Store Forwarding, along with a
>> control to disable it in sensitive code.
>>
>> Add CPUID and VMCB details for all the new functionality.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> with one suggestion:
>
>> --- a/tools/libs/light/libxl_cpuid.c
>> +++ b/tools/libs/light/libxl_cpuid.c
>> @@ -274,8 +274,18 @@ int libxl_cpuid_parse_config(libxl_cpuid_policy_lis=
t *cpuid, const char* str)
>>          {"rstr-fp-err-ptrs", 0x80000008, NA, CPUID_REG_EBX, 2, 1},
>>          {"wbnoinvd",     0x80000008, NA, CPUID_REG_EBX,  9,  1},
>>          {"ibpb",         0x80000008, NA, CPUID_REG_EBX, 12,  1},
>> +        {"ibrs",         0x80000008, NA, CPUID_REG_EBX, 14,  1},
>> +        {"amd-stibp",    0x80000008, NA, CPUID_REG_EBX, 15,  1},
>> +        {"ibrs-always",  0x80000008, NA, CPUID_REG_EBX, 16,  1},
>> +        {"stibp-always", 0x80000008, NA, CPUID_REG_EBX, 17,  1},
>> +        {"ibrs-fast",    0x80000008, NA, CPUID_REG_EBX, 18,  1},
>> +        {"ibrs-same-mode", 0x80000008, NA, CPUID_REG_EBX, 19,  1},
> Here and below, how about dropping the "mode" part of the name?
> I can't seem to be able to think of any other "same" that could
> possibly apply here.

ibrs-same is very ambiguous.=C2=A0 The only other reasonable reasonable
alternative I can think of is ibrs-psmp as an abbreviation for
ProvideSameModeProtection.=C2=A0 Obviously, the "Provides" bit of that can'=
t
be dropped.

~Andrew



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 13:38:33 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 13:38:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171391.312751 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIWdH-0004Ui-DE; Tue, 24 Aug 2021 13:38:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171391.312751; Tue, 24 Aug 2021 13:38: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 1mIWdH-0004Ub-AA; Tue, 24 Aug 2021 13:38:27 +0000
Received: by outflank-mailman (input) for mailman id 171391;
 Tue, 24 Aug 2021 13:38:26 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mIWdG-0004UV-J9
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 13:38:26 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mIWdG-0004D6-Ch
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 13:38:26 +0000
Received: from iwj (helo=mariner.uk.xensource.com)
 by xenbits.xenproject.org with local-bsmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mIWdG-0003fd-BW
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 13:38:26 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.89)
 (envelope-from <iwj@xenproject.org>)
 id 1mIWdB-0004HP-Dg; Tue, 24 Aug 2021 14:38:21 +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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=References:In-Reply-To:Subject:Cc:To:Date
	:Message-ID:Content-Transfer-Encoding:Content-Type:MIME-Version:From;
	bh=Zhz1TK2nUhctPQlmY+EvQnCrkdyL3JeXcPuuN2WXYKs=; b=POaSfrk5fjVxy7OgBzRtJnJexj
	gtJhuOsdXdF7lY/CAd1KP1yAs7sAorvjo+6p6PB32ulOevJjNvvDlxGa6fKcnbnjpdTsFLDhdmtNn
	9Yp6bcRSOee0rmV33K1z7dqrKk6f30h0OQ1GTTNSsFYs4z/Yyhi/KQ+8RyDXgjb0L880=;
From: Ian Jackson <iwj@xenproject.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <24868.63053.121473.979573@mariner.uk.xensource.com>
Date: Tue, 24 Aug 2021 14:38:21 +0100
To: Julien Grall <julien@xen.org>
Cc: Jan Beulich <jbeulich@suse.com>,
    xen-devel@lists.xenproject.org,
    George Dunlap <George.Dunlap@citrix.com>,
    committers@xenproject.org
Subject: Re: Xen 4.16: Proposed release manager and schedule
In-Reply-To: <db112874-eb0a-c9ad-4509-6d048b056038@xen.org>
References: <24861.8902.217023.673705@mariner.uk.xensource.com>
	<5198b3ce-8a7c-a5b1-4ddd-f2052e1d4181@suse.com>
	<24862.31351.137596.242803@mariner.uk.xensource.com>
	<db112874-eb0a-c9ad-4509-6d048b056038@xen.org>
X-Mailer: VM 8.2.0b under 24.5.1 (i686-pc-linux-gnu)

Julien Grall writes ("Re: Xen 4.16: Proposed release manager and schedule"):
> On 19/08/2021 16:36, Ian Jackson wrote:
> > One option is to slip the whole release, in the expectation (hope!) of
> > collecting more input.  In practical terms because of the impact of
> > Christmas and New Year on many of our contributors, a month's slip now
> > is probably more like two months' slip to the release.  So arguably
> > for this to be worth it, we ought to plan to slip 2 months now and
> > release in February.
> 
> A 2 months slip looks appealling to get more features. But it means we 
> will end up to split all the future releases.

No, it wouldn't, really.  Our usual release interval is 9 months.
9+2 = 11, so the result would be a one month longer release, if we
delayed this one by 2 months.  In practice it is always a bit of a
struggle to keep things to time (that's the way things are set up with
this system) so I think this is well within our usual tolerances.

For the avoidance of doubt, I am not arguing in favour of this option.
But I wanted to present it as a reasonable option the community might
want to consider.

Jan, do you have an opnion about this ?  Do you expect that a 2-3
month slip would help with your review backlog, bearing in mind the
people who are currently on leave and when they'll be back ?

If no-one wishes to argue in favour of the longer slip I think we
should go with the normal plan.

> At the moment, my preference is to stick with the release in December. 
> We don't have major contributions checked in yet on Arm, but there is a 
> chance to have a couple of them with the current schedule on Arm.
> 
> We also have a collection of bug fixes which makes Arm running better on 
> some platform.
> 
> So I think the release would still be worthwhile even in the worst case 
> where nothing major is merged.

Thanks for the opinion.


Can I at least get a +1 from someone for appointing me as RM
for 4.16 ? :-)

Thanks,
Ian.


From xen-devel-bounces@lists.xenproject.org Tue Aug 24 13:39:43 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 13:39:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171398.312763 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIWeU-00058i-Rg; Tue, 24 Aug 2021 13:39:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171398.312763; Tue, 24 Aug 2021 13: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 1mIWeU-00058b-OY; Tue, 24 Aug 2021 13:39:42 +0000
Received: by outflank-mailman (input) for mailman id 171398;
 Tue, 24 Aug 2021 13:39:41 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QsuA=NP=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mIWeT-00058N-FT
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 13:39:41 +0000
Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 24a1ca31-2758-482c-9cf3-0739328b0e2b;
 Tue, 24 Aug 2021 13:39: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: 24a1ca31-2758-482c-9cf3-0739328b0e2b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629812380;
  h=to:cc:references:from:subject:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=QXLmZKSBjQzLtyoYnt9Oi1eIVRSdWKKbCacrreWnqqA=;
  b=dCfuKgDu8zqgVfA+jTG2uqiaDGE3xwxaWAPjGfB3xhqC+QoRAuwQUNCS
   rlMP0OrqjFGxNkua3y443Jk5MLLpBig77n5j15MxjjQPbKCgb/sr+MIGD
   qtt30R8Uz3rQ7IJVchWcakISpGxAH1GZV3xz6fX8NA/Vq7aEFRWo0LAAo
   w=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: ajIP/2OeHlGhY7ipKSbfIncXOOfZT0jslPReZ3YML8T0mbopXb7JEIm2ZW49zEhEceOtlS6V7j
 04eSggSjfs1fQnDB1wOpiXjwFH/NrnIoOtBwzj9fM+AQP6o5DI6VnGq6KX1rviE1l+IK6yr4zk
 wx9kxvdeVWCY3cEucLQ/jPGf3PQVqwNkJzQmiq8vLBhqUefg5lADSE4Npu3ZR0evKYUAL99mzs
 dNa2f+JD0N+eSY6rttKSaEWCS4Fi8dhAua5NB2+TKQ/YvOeg+B3g1RVGrtnmruq2JWM/X3aFqs
 WoP/BXvP7X//B/Ecj/0Xhls3
X-SBRS: 5.1
X-MesageID: 51554775
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:0SDa962WO3DZ1MgvtI3VbAqjBLwkLtp133Aq2lEZdPU1SKClfq
 WV98jzuiWatN98Yh8dcLK7WJVoMEm8yXcd2+B4V9qftWLdyQiVxe9ZnO7f6gylNyri9vNMkY
 dMGpIObOEY1GIK7/rH3A==
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51554775"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OW8CCvSV1gMSwvkWS2yT+DA/YC1R88iaudbOh8kGGvP/0WpOu4NOh33JaVFgXF4sxLDtJ2CzjGYChVoQFkTx3vgj0YJT9/cJEcKVIm1KWorw9LH+LmwV0awQDC0p7LfATIgtcofbkJR80zxJ/DW/2Sq8aYvG/wNq0E90R/j2TDXaBZ+lbkeiAMJV5to+qHLqqmYlc9psZ8QI5/hdX6MVQJ7cN6yKNOrDJF8AUO8Nh75wDYDh01aBkyW/JUhF7bk2Iqi47MJ9ewK7Uz62hcxihHNnMO2x2SkiZzWhTj1Yzp2B1ETBR72JMwycM5iDfaNmvcMDGZt9BN9ymh+OH+K/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-SenderADCheck;
 bh=QXLmZKSBjQzLtyoYnt9Oi1eIVRSdWKKbCacrreWnqqA=;
 b=Vrde5BAcO8RhgMWInuXa9zP63p+qSf3bEFpswg52IPQ0bBQWmRvhg0BMTzwRH65HKFsrBKH4Jivl1EaMLTH+szpooLkMaSJ6V5gfhRBrosPSKEZTC+UMja4YvBnS2XIEjdrdZ33BDkrQL4zLPRRf68BAgeKtRKZwUNVpMBZSLvY8n4pfhKJu+XXd/V0fbJ1gANOp1F0pwDg3GUHDP2Wrg7M1Z4UJk8uQieKkttR7BqSqawq2qlpfTOJSmVk9PiT2dckmBruxA9eyLvY4EhMrCINjYPKXiUUgQ4RldM3tdKULSki+c5466Gu+AQCNLaPrj+wM9B7bsi/x7wOnSPkq2A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QXLmZKSBjQzLtyoYnt9Oi1eIVRSdWKKbCacrreWnqqA=;
 b=KosIYLmKo+z+e/8NF2annq4nuXH8onKKy6ZC/cWRGCRy0Ys0wVNyY53EHi2zfJt9FyVg/9925wzw4YG1KvbJVerkimrlpm4gW98y50o8DHqyZJutprTQSEbArW9eHtmDGkVFsCIjRykUkE3+lGwcvAc6MTE65AxrnnwDZwpIDiI=
To: Jan Beulich <jbeulich@suse.com>
CC: Wei Liu <wei.liu2@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
	<roger.pau@citrix.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20210817143006.2821-1-andrew.cooper3@citrix.com>
 <20210817143006.2821-4-andrew.cooper3@citrix.com>
 <35356c32-46a1-815e-0ecd-bd2b4b77519d@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 3/3] x86/amd: Use newer SSBD mechanisms if they exist
Message-ID: <54ea3563-446d-8742-c99a-8eb2b0824ec2@citrix.com>
Date: Tue, 24 Aug 2021 14:39:28 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <35356c32-46a1-815e-0ecd-bd2b4b77519d@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-GB
X-ClientProxiedBy: LO4P123CA0368.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18e::13) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 93d1f981-72bb-4bdf-dd5d-08d967049c1d
X-MS-TrafficTypeDiagnostic: BYAPR03MB4614:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <BYAPR03MB46148E954770A0040474A9F9BAC59@BYAPR03MB4614.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: q3XpwiTu11vX6V2DQofiKglFFoV2NSkIIC4JLJ1vAhtVIQTrAuAdwohE5dBlPayY3DDOszgltbl8aCBhqJdxkQFQQ6zvaQC9Bs1SGRjhFVHvr9u6IPTvxXC5sdz+oz3U9mxwiOjaWgnjvwTHILovfsj6NrS1KklPxFLfMKOSpFPqjxTlLXyuL2jQ5tUztO5FA4M/ynVJqdxNfbaohnWFK5HpvYKOge16DhLPkUkJMTRw57uuFQ/vsryNmvDU+BQvsy9QeOrVxHPxxwdk3Ilz+ZMdxaAf/zanFMYZxG43F7tGW18I+sMsaMdegVPEH4LBWSV6Npdy74Dg+VLcAIXkUs4gtUli5L/A/xYfxNKF8Sp/15ShtYoZDfx4qrO5ObIpz3ltGtH3uNQR6f2yRlc4P7/YBj5SFUX++wFFGttHtAiNhGXO3OvCEm9630lzu7tofmQOUqfOYE/6xMl/O6Giso9poimX8jGjsJi9hnUB9egXIjf+DNZ+N0HX4KAfkrlgmxASmig9hFPSksVIrIZ6/VzLOesUKEdu9Biv93e7mtdCfyL+TOP/3RFBaUDnB/7zoXMSXn49JHpeVnlhGQVbZ7LqUtMd5aZnnJMis+5yasrT9aw7cUgEmS97AaMyVQcAI6uyAJBeNaX9G4Mm4AIzLyEN9iYqMogutd2yBiogK/Gyk7CbfLcx7bf3HTUU5XcrC504LhkWPm4KcluPFNDB4cR6KoKw6zp5Qg29ADNuYdc=
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:(4636009)(346002)(39860400002)(366004)(396003)(376002)(136003)(956004)(16576012)(31686004)(316002)(478600001)(36756003)(6666004)(2906002)(4326008)(66556008)(54906003)(66946007)(186003)(66476007)(26005)(8676002)(55236004)(8936002)(6916009)(5660300002)(53546011)(2616005)(6486002)(31696002)(86362001)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dnJsV0dBd2w5SFJqZjVQNDhiTkdPTHlCSDZWbzlBZVRMVVdHdTdkNFpCQ25U?=
 =?utf-8?B?Rmg3NEdVa3drMG56UW9QNW92TXdOVlZOYklyYlhFMnlqMEZLekwrZFFRSUhE?=
 =?utf-8?B?RzN2dEoxY2ZJK3hlU05qLzh0Wll0Z1pucUFlekRDNXZmb2xlRXFwRmt4NmpG?=
 =?utf-8?B?RmtMSHoyUDkwbjFTY2JQT2xSMlUzSFJTaWZnRitWUENwNEkwa01SRTY4T2hZ?=
 =?utf-8?B?QitvUWZzYjNhSVg3dXJtZEdHMmlmL2hyOG1aRXdMY29NNnpkeStQWXVOV0Y0?=
 =?utf-8?B?aVJkdWVjWVZ5b3RuS1Ywczk2Ti9GRUFwK3NzZkR0RXFwUzNYQnU3RVhjU0Rr?=
 =?utf-8?B?RVJEbktXck5TeExidTFYc1JBQkd1YU9hcXgxUUw3aWFiOTBOVzR6VXFHUVcw?=
 =?utf-8?B?cktKSTFkM3BFZ3ZweTF3aVgwQVFsVmZSb2sycEE2Z1hmNkQ2TjVWd3RFNXMz?=
 =?utf-8?B?YW9ZVVZXRmIzcExVY2x3bnJudWt2dHZPSGk2T2JjaXVPOUtiZmM2bFQzdmpa?=
 =?utf-8?B?UnRMaU02RmhtNkFmZ3VOSkFTd3ZNMWpsQzZHNkZXa2VnWWY4NkpIWTFtaDV3?=
 =?utf-8?B?YmVqSnFjT1hraXNBMVQxU2laUzhqMUZ0Uysxd0ZxWFFPNS95T2VPdlNnYzlB?=
 =?utf-8?B?NGovUGlJK2ozNjlVNkdweVJVK3ZXWGlwMWNPbk80U01seW9yYXcrcmxGWmhn?=
 =?utf-8?B?RXVqUWFYQmpuTHI4RVptYWp0MDFaTWNqdUdqMjNVMzJBRldjWUxQZWZZcHJS?=
 =?utf-8?B?ek14bzJ2NmRoR2dDN1FhUnp0N2VHTTZSZGtqcE5kSlV2U2dicHpCUTFRT0Jq?=
 =?utf-8?B?WW1nOGZmTnlBTUNUZitDU2FuNGFUNUw4bGR6TWVXZ2VDNjBCS1dFRTZIc1JF?=
 =?utf-8?B?Nytqc1h1OTZaT2Fmd1g5UGQwWHFMNXgyc3lXbVpCajR6NkRKa2hESWhwNGZ2?=
 =?utf-8?B?S0dKZ0poeXdXUDNBakxYUUhWK0h2SlVSaVJSd3BuVlBlWEovalIwTDVuL2J5?=
 =?utf-8?B?a09DR0p5VXZjSGUzODRtSUxBSFJ3c25FazhMblNrQ2svbjdiWVZ0bHZBNkw0?=
 =?utf-8?B?blZSZ1l1YWpYeW9IYVNjNkJwNnkxUVJHbmVKR3daV01xaU1GYmN0cDE1U09V?=
 =?utf-8?B?SDhZdlYvbEYrczRjQUxxNm41WER0QjhsYmNSZzZERlRCalptTE1SLzNGYlFo?=
 =?utf-8?B?eTZKVURCZCtXdVQ3aFAxSlE1dWVleDNBOHRxblZZazh3ZFBJTWRQOHVMRVph?=
 =?utf-8?B?NERzMWJ5WkVzVVpCbkU0MEF2YVRDYUdSUnV1R041S1hwRFNwb1p3cjcweXpH?=
 =?utf-8?B?a3IrSTVSNkxtWmpWU3FGK3JNdEd6YWl5TE9waWU4ajBHZVNKOWlNbExRdkVa?=
 =?utf-8?B?Z2JMcVVMbGFxMmJWRk1JbHcxSGZ4aTJZaE9wRFRGWVRXU3hmbjJ0R0Fxelg5?=
 =?utf-8?B?U3RnMnlGZmZiYm1DN21CQS9UeW5zcnBVSGpOMVJRZUlHb0tqa20yRFdWMHRI?=
 =?utf-8?B?eUp4QVpCcm40V3pDZHhTdHZxaFhiclJ0RjJoUVQ4T3RtSGhxU1h5Qy8rTmRF?=
 =?utf-8?B?V1dONERFZWR4cVpLY28zVGhjUmZyQ1l5dU51a0hRNHR6UWkwYThlQmREL1Bw?=
 =?utf-8?B?M1hnQndIU3pEcFpCL3BFZ1RNZ2E5OFhKZFIxSTluOHdZdERsR0ZIb0ZMVE9l?=
 =?utf-8?B?RFd3c3M5ZWJDRHl5NXRtdWliMGx2cC9OSXZlU2JRSzUydHdLS1I2emwzNU9W?=
 =?utf-8?Q?XbutMgr+b10QIvO8iN93AUZc29njreRFsYHNhd6?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 93d1f981-72bb-4bdf-dd5d-08d967049c1d
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 13:39:34.7698
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 2uySP8svZ+dUQ/IlKEuQM9T8WCRoTjfxMMpg4bl/YkDRDie4WV7l9b0iRIyBl9FTqEiocD1PXZ0tq1dQlKivz0/Rb2RWd1ueZcXR3PA9zXo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB4614
X-OriginatorOrg: citrix.com

On 19/08/2021 15:59, Jan Beulich wrote:
> On 17.08.2021 16:30, Andrew Cooper wrote:
>> The opencoded legacy Memory Disambiguation logic in init_amd() neglected
>> Fam19h for the Zen3 microarchitecture.
>>
>> In practice, all Zen2 based system (AMD Fam17h Model >=3D 0x30 and Hygon=
 Fam18h
>> Model >=3D 0x4) have the architectural MSR_SPEC_CTRL and the SSBD bit wi=
thin it.
>>
>> Implement the algorithm given in AMD's SSBD whitepaper, and leave a
>> printk_once() behind in the case that no controls can be found.
>>
>> This now means that a user choosing `spec-ctrl=3Dno-ssb` will actually t=
urn off
>> Memory Disambiguation on Fam19h/Zen3 systems.
> Aiui you mean `spec-ctrl=3Dno-ssbd` here? And the effect would then be
> to turn _on_ Memory Disambiguation, unless the original comment was
> the wrong way round? I'm also concerned by this behavioral change:
> I think opt_ssbd would want to become a tristate, such that not
> specifying the option at all will not also result in turning the bit
> off even if it was on for some reason (firmware?). Similarly
> "spec-ctrl=3Dno" and "spec-ctrl=3Dno-xen" imo shouldn't have this effect.

I messed that bit of the description up.=C2=A0 I means `spec-ctrl=3Dssb`, i=
.e.
the non-default value.

We do not disable Memory Disambiguation (the speculative feature which
causes the Speculative Store Bypass vulnerability) by default (due to
the perf hit), but if the user explicitly asks for it using the
available command line option, nothing currently happens on Fam19h.

~Andrew



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 13:59:16 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 13:59:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171403.312774 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIWxJ-0007fS-GE; Tue, 24 Aug 2021 13:59:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171403.312774; Tue, 24 Aug 2021 13:59:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIWxJ-0007fL-CW; Tue, 24 Aug 2021 13:59:09 +0000
Received: by outflank-mailman (input) for mailman id 171403;
 Tue, 24 Aug 2021 13:59:07 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIWxH-0007fF-H9
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 13:59:07 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 71643d26-04e3-11ec-a8da-12813bfff9fa;
 Tue, 24 Aug 2021 13:59:05 +0000 (UTC)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2050.outbound.protection.outlook.com [104.47.13.50]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-21-dK6SHGrpMjyd8ccSiTcm6g-1; Tue, 24 Aug 2021 15:59:03 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM8PR04MB7476.eurprd04.prod.outlook.com (2603:10a6:20b:1d1::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.24; Tue, 24 Aug
 2021 13:59:02 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 13:59:02 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM3PR07CA0140.eurprd07.prod.outlook.com (2603:10a6:207:8::26) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.6 via Frontend Transport; Tue, 24 Aug 2021 13:59:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 71643d26-04e3-11ec-a8da-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629813544;
	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=0lTmn+nddLtdKPfdjcVWcHzcdMCrTixfQcjZr4C2DZo=;
	b=HsxrPWuMXY99CnjfFQKSDj5V1z43js/xxBvQUm9rFLSO6w43KjTXcAKIMGtz8sWCc6MpF7
	gU+6Z90EwpJdNBHapg/DkqdDqRQcppYVwoA1HVXtBkMiU5BwfY2vZ/PHPlixhasKRg9osd
	APgnMyTqg0ahoiR5CLHng4RquV8U1wM=
X-MC-Unique: dK6SHGrpMjyd8ccSiTcm6g-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=U4k6Df32ZFhESLExCy15voowe+uIZHnK7KLxjDnnA4TVwjJu/iRFRCmrHYIrv6D89Q6VdQlvEBml2ZCj7UxaTMbGnzvdboPuA0w5FA4gyzQ5LVCNB/nLBawi5konZLlI/oP885P3Z7AU1/WYaKB+ba157Z0ZNIIdmaaC2kHm6aoo+lsdcbXCEoFOV5Ay0AI2OA5QmC0USkGZ3xqNHd6jHYXFIRa3XVF4WvCLSIqPdHlzDK+BWXshQBFt+2RW+/wff48NZkFCApfcJqnBVSh/Qy3k/HXcW6R0M1vN9dVBrYxJVgu8bX/KXRQzRU5H/SfDCiv7A9LrFMGya1SBv/Fi5A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0lTmn+nddLtdKPfdjcVWcHzcdMCrTixfQcjZr4C2DZo=;
 b=S70CXJoflBvWheExtCPoxen3s1OC7jqw1PpGoHw5RaC3QhsJ8YxbC2M7Z36fLAyjQh2AJhit/Nd/31PIaHvnOZFY/jmkf/K+G6elnyi31d+Wekns19dIY/r2UG0cvdUj1OibXkBnyVh03kobJCI3vrpqOUQis5yk5ZQmPfWaPPDgeK+yNMPSJS6T2YeuyNozEQJl/utrJ0irL5fY0r4pHinB9/+DaM0nMkkqfKLyl4ET3aB2kid/sm4xP0OeOly5NcahPkcwMEh6Vpubn2eii4/RR3897OYrAS/CK8skvIfVcC4xF9K/uPDxXUXo8gs7hvzeLq/QWdnUytkqCCPGOQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: Re: Xen 4.16: Proposed release manager and schedule
To: Ian Jackson <iwj@xenproject.org>
Cc: xen-devel@lists.xenproject.org, George Dunlap <George.Dunlap@citrix.com>,
 committers@xenproject.org, Julien Grall <julien@xen.org>
References: <24861.8902.217023.673705@mariner.uk.xensource.com>
 <5198b3ce-8a7c-a5b1-4ddd-f2052e1d4181@suse.com>
 <24862.31351.137596.242803@mariner.uk.xensource.com>
 <db112874-eb0a-c9ad-4509-6d048b056038@xen.org>
 <24868.63053.121473.979573@mariner.uk.xensource.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <fa856d5f-b2d5-7a07-840e-0c9075e3e2bc@suse.com>
Date: Tue, 24 Aug 2021 15:59:00 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <24868.63053.121473.979573@mariner.uk.xensource.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM3PR07CA0140.eurprd07.prod.outlook.com
 (2603:10a6:207:8::26) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: edce59ce-b9a4-4bda-6a5d-08d967075412
X-MS-TrafficTypeDiagnostic: AM8PR04MB7476:
X-Microsoft-Antispam-PRVS:
	<AM8PR04MB74760BD4726EAC96D25BD8EDB3C59@AM8PR04MB7476.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9EPbdfF+1OWhaN1hB5bKAMgg0qWQ7EFSm07YfeLrWgiBS5iM54MAxWM7f+a1hPylS1qfzz/VHciVTJbAmz55Uq+UL8mykMMZJuETg0i2pMv76i93jKGfP9uz/G9ZLfjXYzAeqEuAtVA/O4X4FTaeX5EmdRr5JP2tsdEvCTTLbNRAunpJzYAuP/mtd/ryxfaeVK1Om1UbIArJh0au2UjxQFMMT8N+O1kMCiqvkTNDWGGsdXOxpoSTe7Eu2n7n84pAvksx8pAnc5QhdHo6LqVq7qRAHgSHnXYB+/JN8mKNEFkQSoUpD63Ok4R/jAMctH++KDcXwQm+/IP9YqoTZC0yTAj9H44x0GWI6pD9aKg6Eyhl4prCWUf5r+rkUw4Sbc1xDxLFCy6VJ97HP0EVErMnXaVgY2F+YqMoW5y6bX0u5nVlE455rNNqUQU6MDgVvcRhuj5sZcG9QHsd2DFvFuXdr3WWpF93SE6Mf8LG8JgIts0K1wS9qcGJuZolF4/qyDVIVVkaksqH9Ah4IrlqYVr6MFGqgNMfwAqwpYfPalVooDLbq6uQjMvw63fQFkPMbSMmftwjJECFxCmjDd/lyL7DCdHVB3m6OdH1lQfQRXqvHp87NN+Ks7x96gr4uL1MnMe+F+dm+zd0XXpobRaFPWJva7xBDDgVUcqIFVGgJ1bFtOZSlL317bdpBCSt2KLJc9/qMVmqp5MOMLveOrW8FZG7HlC2ppDUjHf7Eupaa2kjCjY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(346002)(39860400002)(376002)(396003)(136003)(66476007)(31696002)(6486002)(38100700002)(2616005)(956004)(36756003)(316002)(8936002)(66946007)(53546011)(6916009)(66556008)(186003)(86362001)(31686004)(4326008)(16576012)(26005)(5660300002)(478600001)(8676002)(83380400001)(2906002)(54906003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cUoweERDL0JYK3ZsUytXcXNtM3ZUNVZYaWkyWGlXNFp1b2FUaTlZSTE1YzB1?=
 =?utf-8?B?anZ4ZGQxNmprTnVmRlJETTNaQU9KK05wMlQwWUFVbHFDUmpvbmJndU9rRHF5?=
 =?utf-8?B?YlN3WHBpT1pTWTk3cUY1aDJTd2kvZmsvQzNsZkZuVW41TndsYUNsZFVYc1pQ?=
 =?utf-8?B?WnQ4NEFHMmlSSng2dlBmYlllaGViTVcycGVuRTFOZ0ovMjZLZm5hclZKaTJk?=
 =?utf-8?B?dXZJWmcvZWE5eW4wSWZoeklQOFdNWEpaVldIbnZNTWkyTUVISWZPNzRMelkr?=
 =?utf-8?B?SUxiQ3hhalVYaWRBNDNTMXg4UEJHTkpCMTUxWW0xaW14SGoydVIvSHQrOFkz?=
 =?utf-8?B?bExrUWwydTdzRm5FUlFpNkVQY0o3OHdtVGFjZFZTQnpFbURJUDREbm5FYzAy?=
 =?utf-8?B?SE5wZ1hTbE9KOU5hWWtMcVVLdUFZK3hMbjN4b2FLNFlncFlTOEZvaG50ejlr?=
 =?utf-8?B?MHRQL1lpc3VSQUh6WnMxQzNYN05FMitiM21scUR3L284ZW0xc2xoUGhhVE81?=
 =?utf-8?B?NkZOTkNiUjh6aUhFN2RlSkUrMmQ4OEhTUGRRTjJONlZaaWNOeTVNeHFyTXFY?=
 =?utf-8?B?WDZVdi90VDZzWGIyYmpKMHRoMGowN2JiOGFEeURFWldqM2UvRGFOcTBGUjJI?=
 =?utf-8?B?UTFKUnpTcGtRRGQ1TTMwM2xXSXF2NHlBVUwxNElOTEpETEZ1YmE0Z0U3c3R4?=
 =?utf-8?B?UWl1TjZUZnFaTE8xWTRwU3h5ME9RdzBVbHJnQ0NDQjBoSGJBd3krSEtoZk1W?=
 =?utf-8?B?bUttalNwbUdOMzFDMG0rakEwR3B0K1J4Snphb0dhWHJEVFJndnNOb1R6V2t1?=
 =?utf-8?B?ZzBGS1lYaSt4RFNNQ1N1UVJWSXhIa2NyTUVHNDNubG5Eb2NrUUFvT3JsOEo4?=
 =?utf-8?B?TURGRHhpVUlXaXpRZjRFQUE3VTNnRDdySUVqV2VNT28xd0VhMEsyU0w3TERa?=
 =?utf-8?B?WDZEL0xvVEtWV214Tk5vOVlJNFRDNmpCTWpCKzRjcEhMRGczVm5XazEzdVZ1?=
 =?utf-8?B?M2pvL3podVd4MW9oVkxTUS9iR0piYStJQk8zWUxTMElVRTduZjV1MlFCRDRq?=
 =?utf-8?B?Z2NPd2hlUHg4K2YrbUxYMm15cGUrZmhKZGNNWDVtN3lWbHN2bUJwVytwcVFr?=
 =?utf-8?B?dUxCRE84TVJPRC9naENiOFlJbkRBZ2pNRlFjSXZoVGk0bVU0TXVHd0JoYkJP?=
 =?utf-8?B?MTdTWmJXOHNBNWVCdzl3ZHdnYm1aa0cyQTFLaTZlZDZhMkFlU1I0ZnhERFpJ?=
 =?utf-8?B?NndFVmh4VVl4Mm1FQ2tqcmxoNUdRbm1lN1pkdVpLYXAvdGZlVmszUEhJWW5h?=
 =?utf-8?B?QS9kUndOTDFyckdxZnFUMnRZU0lwY2JFeVU3Qlg0RGd3VFgrSG1WbFZQYTNu?=
 =?utf-8?B?UUpydnZoWndacXg0bTN4YXJKVlkvK1VpdHBFbVY1bE85dTYzZUdrMTZ6Vm45?=
 =?utf-8?B?dURicGRTbEpRNGQvSXJRbTQwRU9HQXc0bGJYUFZETUM1M1NscEROY0FhQmYw?=
 =?utf-8?B?eEoxdGxEZHVvSndLNENRL29abjNhbVVZUTloTXZIL0w3OEx0bTV0dDgzUnI3?=
 =?utf-8?B?bU5jOVV5SXBtZXFzbEJXS2c1VjVMTnZKUitlUzJGeE5zaW1Hb1pqcUM4NVpI?=
 =?utf-8?B?WENNd2R5R0VSUG9CWmJoQTkvUW1TcW9jQ2xSL0YxMWJXNEs5bW5sM3JHeDFG?=
 =?utf-8?B?TUpmWlJURWhKalpHc29XY2hkSVlOTHpYQmNHK2hWNVlaTGV3MTlLRUNDNERP?=
 =?utf-8?Q?Xg7f/5LRZs67OiVbf8YzKnpFU6nHeR67FvypXdQ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: edce59ce-b9a4-4bda-6a5d-08d967075412
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 13:59:02.3630
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1gAvinKYZxMFpyXEJzzuSCNW7/8GEg3FHdNMd09xPzsG66tD1beUpeFj7VMQO0Z9bFSfV6+v38W3X9GBtFjY7g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7476

On 24.08.2021 15:38, Ian Jackson wrote:
> Julien Grall writes ("Re: Xen 4.16: Proposed release manager and schedule"):
>> On 19/08/2021 16:36, Ian Jackson wrote:
>>> One option is to slip the whole release, in the expectation (hope!) of
>>> collecting more input.  In practical terms because of the impact of
>>> Christmas and New Year on many of our contributors, a month's slip now
>>> is probably more like two months' slip to the release.  So arguably
>>> for this to be worth it, we ought to plan to slip 2 months now and
>>> release in February.
>>
>> A 2 months slip looks appealling to get more features. But it means we 
>> will end up to split all the future releases.
> 
> No, it wouldn't, really.  Our usual release interval is 9 months.
> 9+2 = 11, so the result would be a one month longer release, if we
> delayed this one by 2 months.  In practice it is always a bit of a
> struggle to keep things to time (that's the way things are set up with
> this system) so I think this is well within our usual tolerances.
> 
> For the avoidance of doubt, I am not arguing in favour of this option.
> But I wanted to present it as a reasonable option the community might
> want to consider.
> 
> Jan, do you have an opnion about this ?  Do you expect that a 2-3
> month slip would help with your review backlog, bearing in mind the
> people who are currently on leave and when they'll be back ?

It's extremely hard to predict whether 2-3 months would help, or by
how much. I wanted to make the "slim" release aspect explicit, but
I didn't mean to question the schedule unless there would have been
signals that many care about a more "feature rich" 4.16.

>> At the moment, my preference is to stick with the release in December. 
>> We don't have major contributions checked in yet on Arm, but there is a 
>> chance to have a couple of them with the current schedule on Arm.
>>
>> We also have a collection of bug fixes which makes Arm running better on 
>> some platform.
>>
>> So I think the release would still be worthwhile even in the worst case 
>> where nothing major is merged.
> 
> Thanks for the opinion.
> 
> 
> Can I at least get a +1 from someone for appointing me as RM
> for 4.16 ? :-)

Sure: +1

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 14:13:30 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 14:13:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171408.312784 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIXB3-0001ii-NI; Tue, 24 Aug 2021 14:13:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171408.312784; Tue, 24 Aug 2021 14:13:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIXB3-0001ib-KL; Tue, 24 Aug 2021 14:13:21 +0000
Received: by outflank-mailman (input) for mailman id 171408;
 Tue, 24 Aug 2021 14:13:20 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIXB1-0001iV-VY
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 14:13:20 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ac4552d6-c69b-4f6d-8d0b-6dbd74ef2e30;
 Tue, 24 Aug 2021 14:13:18 +0000 (UTC)
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur03lp2059.outbound.protection.outlook.com [104.47.9.59]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-38-35E5CE1qMWKdR_JmCNVeOQ-1; Tue, 24 Aug 2021 16:13:16 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 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.4436.22; Tue, 24 Aug
 2021 14:13:15 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 14:13:15 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR04CA0018.eurprd04.prod.outlook.com (2603:10a6:208:122::31) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Tue, 24 Aug 2021 14:13: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: ac4552d6-c69b-4f6d-8d0b-6dbd74ef2e30
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629814397;
	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=INvKfHnSFTrWHcdhqekvBkLiMlVdJQWgnA/tlvJxk+w=;
	b=EamrYWWnBuC41tn7Cc9BuwGjyacXUi+gM7bz0k8tmWVrai1a8WHUp9hFhQzZ9fL+3a64SA
	cVxfkHD4J52gLOyrP8ZpLXIpWkAFBeTxdk5eG4g56obTxmRREhcTtfcURfidsV4Kb4oyry
	5mFHvO2pEf7HsKwgHAzFauNzT6tVmZI=
X-MC-Unique: 35E5CE1qMWKdR_JmCNVeOQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mAL5pMCfTWRNsoYPwy94a2y6BlCRk8wrzgEKckUzfHSSEybB81bIRaMjyfqQvjw3nMJMGWG/0sRy4ujrP2xiIKLbF0ff0JquLGIY6pzBR8dx870CtYzmlpRA2VgyjNBXSiOM97mw/f/l+h8SZ6xxBiXhX1GV6hc0ad389yOk0xxkJ0WDrCLcN0YQLWVguwXvxIQKbdBy2s4s2LR8lEhZGp3aeIC0vq00ZPuQS4DrOvpX7pfu9gGDXARqHWPLVzb/L0047YISb6v0e6daY5LgyK+mRKyiZuUY7I0qTsr0WDuRePyugprXEYVL65EBA2imq3a/GoD3GS6Ma2C0vGo77g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=INvKfHnSFTrWHcdhqekvBkLiMlVdJQWgnA/tlvJxk+w=;
 b=A821RM/ti6olUNUwnGdCdljmSNkasME05qsuQ51/Daumv0dUtoaUk31JNx0L2tQq2cOA5m4kiKU5mzpsQgV+5/xE7BpNXB1dk3MW/p6BhBa6LjWtlFbaSBE+ARGebws9NIDvicz7tR40WI+EAgCjG4uRn80LhQezCKl+6D+PC9FjdQHdMc9NnPnQk9cfCtVqURQP0uIA7yMt8I3RIZKpDvuyn7D5DAMzey6wde4ixX/1LXEW6OJZjgHagvq7lE2DfHm/tBAvpv2gwZv+K8h2DGkeQ5Ect6wDC9bGgHsnnuz2R8MDvAR3GUlTvGwUfhvUFMLS8qA7jcpNPlyyjOUfMQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH 00/17] IOMMU: superpage support when not sharing pagetables
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Message-ID: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
Date: Tue, 24 Aug 2021 16:13:13 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM0PR04CA0018.eurprd04.prod.outlook.com
 (2603:10a6:208:122::31) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 99a1abb1-79b9-496a-5bf7-08d967095060
X-MS-TrafficTypeDiagnostic: AM9PR04MB8179:
X-Microsoft-Antispam-PRVS:
	<AM9PR04MB81793D870D81575F0EFFAD7AB3C59@AM9PR04MB8179.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9sV2ZgwwX84GQx9f1a+QWT6tkEEBG2dCMFoonBsCrvfb/sAPGNsjA5ZZz2f2B8iIEunqh3VVM0oC6kfqFLVzmtG06XrIgzIKTTk8Bdd1+u/M7worI+UynxUcYde2wszxPJB2xNCK8ywFqwLnkTWu+mQbgitFfl57mRYfN35A0tXV4yRnZxF3IxoxNvCwmHyn9hXx4vzQs4+PDC7VLhezECODJs4Mo349fqSwvOnCkl6zMnwBaOc2eBaHhI+viXRQIHVT/UoealGYfsW0R8u85DIlxq7xZYC3+w1fhLrH+57B3JmIT9RM5W3ToSS4qQK01vczWGzj4mBZqWwYXm74gbaDtNElIgnplbxNM9KWCAiix3vaLqZYDwnIUdTvsw+vxOz6GF0mviMR62ww52ty/foprobMbULZ7PhXWwWXDTAK8Cf0yQdzBgPWT5xX4AFsQ1OvUNKLLEg6QZn8BJ+O9h6oqe/TTGoNURrblPzgIL336m9doE4A1QCiQp9Eb4iR1/sIqGvicWWvc0Isk/qWfl76oazcfWkFBHsSU9iJtQVEbwrIVw8EGExv3QmpleXPsKlJYFr7R3nG09sbQevXt/cwPjnCpfM/zWMWw9HEFddG42BW/wKEA8ga4HT1GAL6bJdknf5+8muu/gbGv1Tt9ZGeZj3h5xU7W/kU2/OoymNCzy6MAQ3sQMjeqFI4G6nPKBf5SS3UJ1odAaTqjMW/ckkLnWQXSaDO+VFMmOhV3qOYt7lc+tGTPv1evucNqeegkygbgEadbA6kLdigSWIptS/LHXJCa8O6g29dRWub9yazXsd/TNxE+1RKBY9khh67
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(39860400002)(376002)(346002)(366004)(136003)(316002)(54906003)(16576012)(6486002)(86362001)(2906002)(38100700002)(4326008)(8676002)(186003)(31696002)(2616005)(956004)(31686004)(66556008)(8936002)(5660300002)(66946007)(66476007)(26005)(478600001)(83380400001)(36756003)(966005)(6916009)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?U25CeloyMWxpbmRGUUhlczFDb2Fhc3FTVGZTNkdDNGt4K1JoWUZhcXNqczha?=
 =?utf-8?B?cGxjUGh6Si8rMmhwbFpMY2tUUUM5VVM2dEgyeW9MUktPbllnbVpUTjlGSzkr?=
 =?utf-8?B?b012M2diTTNZV09LV3NBS0J5Q2dQVXh5MUFqOHdtdjB2N0U1amRIWHp6TklC?=
 =?utf-8?B?TnBxeHltYlB1U3o3VWxrc21KbnA2S2pOOU9oem92SDJZd0FzWHBUYzZXUWRa?=
 =?utf-8?B?WE1OUTEvNXNzbnJua1pkSHJpM2VPSlZzaDdJMThDMmhtOWFEMXk0Yzh4WURV?=
 =?utf-8?B?aG5MRmlIVC9yc1loZGhDYW1aSGZ6clFmb2NISnFFd0M4WGo5Wk9MWGxaeHpa?=
 =?utf-8?B?SkZGRTVLeHJBMVFhb0NaakRsZkxUaFQwVVI5cHJHTDNTV3lydTFVZ3FZeVh1?=
 =?utf-8?B?ZjN4MUE3ZkNMVnJDNlJZTEZvQTMzdzFEd1BBL1BnbW1oY0VHSSt5Tk5mY1FB?=
 =?utf-8?B?V3ZvZjd6ZTRzbmZWYUNhZ1NFcml5c0xMUnBtdERlYXpEbGUvdGY5N296MFhG?=
 =?utf-8?B?UXpvODNTWDViUUpXT2llUVBkU0Z0aUVOOER0YVA0N0o5Snc3SVd3UGlLQkJV?=
 =?utf-8?B?QUhjOC9ROHdUek9SalBIQm12eWZLaDRmSTBGNG5jbUlUbGtma2VrMXFWWEF1?=
 =?utf-8?B?dDJadnAxN2U4dEk5aU9PMEtNU3R1WU9CTS9hb2NFMWFEZzhWT2lVS3RvOURi?=
 =?utf-8?B?cTV4Y2J3QmdGTVVYa3FoVjg0THVTb1ZCMysvMGFSdnRCRmQxcVBmMzBMMEsw?=
 =?utf-8?B?ZlM0bFhSZ1FMWnRWSlNOaFZqOE1ZM25qRFJEY3V3Q0dzMlRpQU1hYXJtL0kz?=
 =?utf-8?B?RUNrNWJPdVJ1cVpsS0lzZ1VXem1ZVjErOU9kaUxzelliZGhSbyswTEtQT2lD?=
 =?utf-8?B?QzZBRTdTSUdPMlVuYWI0ZnR2Nmpkd1lsckZHbC9QK3krK2wyYTU1STZIa3Nl?=
 =?utf-8?B?aWU1elRCUWg0RVp6bWR0V3VrN2dIdE1IWkJtdkVueTFLR255MEVxVUR3VVdl?=
 =?utf-8?B?UzhRRnhmcXIrMDR0WG9GdnUzTEtiVnhYZHIrNlJaMUZmaFF1ams4TmlYU0d1?=
 =?utf-8?B?RTR5L2l6VXVmYk1xOWdWMVhFV3QzUGhqMXRqQ1g3ZVQ0NHFLNEVySzV2Mmha?=
 =?utf-8?B?TFhaWUtPOUlrWVJabE9CQzBwYlpnZEptWmpOd0JENmVpTlJ0c1FiMEU1ZVRM?=
 =?utf-8?B?QlpsQW1GZzB4aFF5TDc1dllxTmU3NmYrbXVuVkNXN25VRUpIOVJsZUxYY1VU?=
 =?utf-8?B?RzQ5bThJTWhqZGMrQnVhc0pReUt2a0VvamNoWUU3QkxaOVZxNjAybU9OK2lu?=
 =?utf-8?B?d0w0YVd0bCtXdnlaTTdqNko1cURtRk9HenhvUVl2djVlZ3I0YXBCbHpOR1ZC?=
 =?utf-8?B?RVU1bC9HTndhcVJjbURzclZaZE9LcDhHUzVKYVJsWThFaVQvditFbTRrbW9F?=
 =?utf-8?B?NmI3MFJoQTBNSm5ldnZZWWNVUGxZRW9SQThIb0RkczVMbDkxc2IxdXRZbS9y?=
 =?utf-8?B?SlhMRUxOTmprWjlxS2VCeTQxSEZGZ1ZoM0NoVndCUmM2NDBIREVVTjgzbG5D?=
 =?utf-8?B?L08zYnQwOWZlalFBQkRPekRmSFNnRENMWFhGN1lYT0JMbm1uTVI3dVdyaGhF?=
 =?utf-8?B?dFNKdHhHSUZHZnNPRnk3SkdFYzlzQUdvQ1MvNFFwOTZ5Si9Hd0FBUEFDOHdY?=
 =?utf-8?B?TE1wUHpPWUNpZ2dOd0k1UUx6blUzWFVVaEtuSzRKNEppL3owU3NnS2w0M2Na?=
 =?utf-8?Q?NesHDCHrggVBpt8Rdwj9m4oYAwZSUYFROkFAx7j?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 99a1abb1-79b9-496a-5bf7-08d967095060
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 14:13:15.1444
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +wQZH8pzhVxlgV0Ikna6qU/IPfMYhLGpcgZOfTDHc6ktK8dfkSRfKY760RujOCrKb7GZQZOjaPubYk2N8CpqCA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8179

For a long time we've been rather inefficient with IOMMU page table
management when not sharing page tables, i.e. in particular for PV (and
further specifically also for PV Dom0) and AMD (where nowadays we never
share page tables). While up to about 2.5 years ago AMD code had logic
to un-shatter page mappings, that logic was ripped out for being buggy
(XSA-275 plus follow-on).

This series enables use of large pages in AMD and Intel (VT-d) code;
Arm is presently not in need of any enabling as pagetables are always
shared there. It also augments PV Dom0 creation with suitable explicit
IOMMU mapping calls to facilitate use of large pages there without
getting into the business of un-shattering page mappings just yet.
Depending on the amount of memory handed to Dom0 this improves booting
time (latency until Dom0 actually starts) quite a bit; subsequent
shattering of some of the large pages may of course consume some of the
saved time.

Parts of this series functionally depend on the previously submitted
"VT-d: fix caching mode IOTLB flushing".

Known fallout has been spelled out here:
https://lists.xen.org/archives/html/xen-devel/2021-08/msg00781.html

I'm inclined to say "of course" there are also various seemingly
unrelated changes included here, which I just came to consider necessary
or at least desirable (in part for having been in need of adjustment for
a long time) along the way. Some of these changes are likely independent
of the bulk of the work here, and hence may be fine to go in ahead of
earlier patches.

While, as said above, un-shattering of mappings isn't an immediate goal,
I intend to at least arrange for freeing page tables which have ended up
all empty. But that's not part of this v1 of the series.

01: AMD/IOMMU: avoid recording each level's MFN when walking page table
02: AMD/IOMMU: have callers specify the target level for page table walks
03: VT-d: have callers specify the target level for page table walks
04: IOMMU: have vendor code announce supported page sizes
05: IOMMU: add order parameter to ->{,un}map_page() hooks
06: IOMMU: have iommu_{,un}map() split requests into largest possible chunks
07: IOMMU/x86: restrict IO-APIC mappings for PV Dom0
08: IOMMU/x86: perform PV Dom0 mappings in batches
09: IOMMU/x86: support freeing of pagetables
10: AMD/IOMMU: drop stray TLB flush
11: AMD/IOMMU: walk trees upon page fault
12: AMD/IOMMU: return old PTE from {set,clear}_iommu_pte_present()
13: AMD/IOMMU: allow use of superpage mappings
14: VT-d: allow use of superpage mappings
15: IOMMU: page table dumping adjustments
16: VT-d: show permissions during page table walks
17: IOMMU/x86: drop pointless NULL checks

While not directly related (except that making this mode work properly
here was a fair part of the overall work), at this occasion I'd also
like to renew my proposal to make "iommu=dom0-strict" the default going
forward. It already is not only the default, but the only possible mode
for PVH Dom0.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 14:15:38 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 14:15:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171414.312795 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIXDE-0002OT-9U; Tue, 24 Aug 2021 14:15:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171414.312795; Tue, 24 Aug 2021 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 1mIXDE-0002OM-69; Tue, 24 Aug 2021 14:15:36 +0000
Received: by outflank-mailman (input) for mailman id 171414;
 Tue, 24 Aug 2021 14:15:35 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIXDD-0002OG-KY
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 14:15:35 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c2c7d108-843e-4b26-98f9-992cc186dfbf;
 Tue, 24 Aug 2021 14:15:34 +0000 (UTC)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2059.outbound.protection.outlook.com [104.47.14.59]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-23-4jXPHHiKNaWQrkEmo7GzoQ-1; Tue, 24 Aug 2021 16:15:32 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM0PR04MB7188.eurprd04.prod.outlook.com (2603:10a6:208:192::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Tue, 24 Aug
 2021 14:15:30 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 14:15:30 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR06CA0118.eurprd06.prod.outlook.com (2603:10a6:208:ab::23) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Tue, 24 Aug 2021 14:15: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: c2c7d108-843e-4b26-98f9-992cc186dfbf
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629814533;
	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=9xWLrkNm6/WDFl8AO3HJxUPfOuuvUqwRgRuL5YEUGKU=;
	b=aUIw/lQV7cH/hVqibLTKWUmvwsctSf+InxN9xZ6vIRm738vS77m9wIV4xgqVf+pPxCEwYZ
	koruhg7GEGLQi22WXaDpmddJvVNMj6xzriiYM7EPlahclKv1rjvy1q2g+yBDdtuwwUbgwn
	HFC6uATBewAZHpfv1mUCsC9DhEtF0Dw=
X-MC-Unique: 4jXPHHiKNaWQrkEmo7GzoQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=O0gXP/KxjlFJX1pAJs70O5WKXWra2Sr5qCNXpxb1dIBNOTQdcbl3BkF0ZBkxfPjoWIYGXGrHkt31O4gAQUg8m38gcFsBqio0K+Emd6wScYu3+nzBu8pXm4Tjsmf+kvwZCDedmrcxjtdBTtM9aNYjedkOxpPb3/HPI1G2Dpbvb0wLwc1XwJGGl8QfcBQQ+0JuoYytDPNS7p4BuDTBdJ+G1iUcbLEC9aX2+7uW0de6gVK+UQHFsdD5L3+mLcPXA0kRIOHwgrPXj9SjzgcRWfCGdq42lMrhon1wjpRVc2SKYgdzDDvmKgeB5rDLdqB43dQNNdVfJ/xgJ7QlNJyg6Lmk+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-SenderADCheck;
 bh=9xWLrkNm6/WDFl8AO3HJxUPfOuuvUqwRgRuL5YEUGKU=;
 b=CgQ6V/c3qAqhaV3oL+7IUCQ79edu7xvMa8D4PgbA78GCHtzwoqWyEdN5tA9m3TKVBVKaHcVEeMlIiE4GlLN080WrqnCq6lSjxShAlnAbjgYF9YvwwBeiipk63a8N0lnZAgxRvCiztsWaTSqMyP5VPvm1bDNJ9ykz9RIHZ2ls03Tx1zHSRUPqV4oFwtzsVjIexCrpLMaQCJpfRpe78DEGtGlvtpaFzzifjzTE/GGU51ZkGf3Z7G5DOqnYiLn+S++hrhJPCHmwv3GF9cZu8H2qbxQFBL0s7TBrYZznmd4okDJ9KGVHWeS7eOBPiSDbjjp9dbBUHgESerl+9k650L+glA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: [PATCH 01/17] AMD/IOMMU: avoid recording each level's MFN when
 walking page table
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>
References: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
Message-ID: <847bf96c-19fb-677c-cb0f-16e58a6abe55@suse.com>
Date: Tue, 24 Aug 2021 16:15:28 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM0PR06CA0118.eurprd06.prod.outlook.com
 (2603:10a6:208:ab::23) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 9c4e224c-d5d2-4b48-ed18-08d96709a10f
X-MS-TrafficTypeDiagnostic: AM0PR04MB7188:
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB7188255C22B9ABF44E2C1C4FB3C59@AM0PR04MB7188.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:7219;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+00/At1kWZRWMh+yqYQPQnO3xo7B7QpqNWvJxgn7T2N7Zo8mAH1Vs03jVvxpFZZ6oPERvE/UAfeK5nciaBRpN/Ty8DqRVUGwZ3AbcUNSzlt9KATDvd94x9lZQVA76SoOEGG7ACob2Lsg/Z8YiBsQXFv/H1c7iH42m2gMuOt4zq5KzwdIXzTpdS5SkTG3lxBSdICt7sSpow76Cb3IaeS2kCvmo19eEbhMOUY01cjDSZu+ICn9jTvWYph6hT+efpRm1LrVK4Qp37KhTo6on01ve8QL1AA74ZleHn2+XU0dZ6aYMDUx/oKcjONgd3gYHoRI7BsdTr5FM5O6VnRCtWrtDrEPiCOJJtIGKgiUEjKVtVHz1IFHUUfLKn7wqPgyfAtumwpOCL8J9a8sQ5Eit9cOXFbrCsC35cMKoSiJ4UyCD1qvhj3qCeRRj2wGBcbaIJeHO0ItPTWcZkiENetuQSl21aXR8StgGvWHSPupna7Nu5RT9+q7/tXWCS4E02uLSHcr8gyDM4Xzdl8oxpz/qyklSIwk+SsMNFGDBNMLV8ez/vOZwVDRttVy2JJY1FPweSSQAewdrMC0BC49fC2z/OrLZy8LFjy4LKf69DENYDnYWVEnq4URnTW+k5bVI+HtV10Xpx2zbhQeTc+4mA25fJjuv0YZ9ld5+huWrMtSpTaolZmSicj6bcybl0vwg8QuIa7WfQMwLbgfOkQRIifQGPMeYFGzLrdRwTbTnBhHRcDxpMU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(396003)(366004)(39860400002)(376002)(346002)(6486002)(956004)(316002)(2616005)(26005)(186003)(2906002)(66476007)(66556008)(66946007)(8676002)(54906003)(4326008)(16576012)(8936002)(86362001)(36756003)(38100700002)(478600001)(31696002)(83380400001)(6916009)(31686004)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VUJPczgvcDczQ1FHVEVmSWdYdTFtVVF4WDU4WllpcmFNNkVuS0IxQnNCcmxu?=
 =?utf-8?B?TXpmV2JZTVlHV0FFMEZJV2NsMDFXTFhLZmRKczJGaW43QVZ5Qlg1QnlHbmRL?=
 =?utf-8?B?VVgrM2NnZVJiUmllV2x3KzdHemcxNTZTNVlPaDdiWVl0Vkt3WEF2ajMxTWQz?=
 =?utf-8?B?TkFXRGhBMVJ2dzZhelpiU1ZBTlpITWQzTEdHTGgzUkIxUDU0NmVYUW5SS0dO?=
 =?utf-8?B?K3UvUXd4RzBHdmZsYnVsVmFncEJFOTRORkQ2anJScndwcU1zSG0zeXhTTHgx?=
 =?utf-8?B?K3B3QWV5YTRMRjhUclM1cnZtYUE3WUttaUFSV2NrRDNIeXdlTkpUeHpwZjhz?=
 =?utf-8?B?SEl6Z09BUzVycjZHVFgwVVdMcXU1ZVR6LzV4LzlZcUNwVitVMTFOL0l1TUdi?=
 =?utf-8?B?ZXJ2cVc3VGZycy9pbjV1VzkrWFN6cmQwV29xRzNMbUpOL3Fhd3lyODk3S1c2?=
 =?utf-8?B?anAzTVlISkZrd0RVL0lIcDhReSttRnBCYzZONU93K1daeDB1Z1E4SDhMd2hS?=
 =?utf-8?B?U2ZDV09UTTh3elo0MWFLc3BUNVlYVW9IR29FNU83bVZEcngrQ1JQclhNQktW?=
 =?utf-8?B?amRyQTBwZkU3UzNHeXMxeDBnZG9DTUFURWwwTlJCWDh5WmxKd0JXNjdLT0Fl?=
 =?utf-8?B?ZU51UWVzNXd2ZUxrQ0E5Nm15aWFBMHJaQVlTdlRiMTgwYzZlYk9TRkNhM05w?=
 =?utf-8?B?VGR4SmJPQWxhMmVvREVLRmV6bForZVhhVGdJY1d6Y0hjY1JxYVoydmFjZGpZ?=
 =?utf-8?B?Zk40TlkyNG5GcWFhZTJkN0lxdjZWSmtLc3Q1Tml2dTczb25jK3FoLzI1NThv?=
 =?utf-8?B?NlczQWJhdnZFY2FJWWdmODVCOU1nbDEzdlBUNmZLa1NLbEhxUXRhcDBheWZD?=
 =?utf-8?B?RDR6MkNuQ0hFSTREcndTOXRuN1ZtQzFubmNBOU9aTjlIWlVMMGYyNFp4QVVq?=
 =?utf-8?B?SzUrZllEbVB2WFlqd1ovdkg0UkdxREhoN0kveWFseDdUcmZ0aHZUakhhUzgz?=
 =?utf-8?B?cWk3QjdLTUd6dnBxUjhHZ0lhQW9wVTJPMGlHNkNKTTZhVWxpaDdxajlkVXR3?=
 =?utf-8?B?bmx2YkswZFZZUXZRRThRVjlxZkppR1lpZGRGOHkyY3Axam1uVHZNUG1ubkxm?=
 =?utf-8?B?NEplQ3YrNVdiTlRpNDRjVEdXeXRrbUNrK25SejJSNFE4MzVRMm8vbDBPT1BT?=
 =?utf-8?B?WDB5TERYM0NUaVIzUThlSE4welB5NXhQdlBaWFREL1VHdk1acnFUejVZQ2t0?=
 =?utf-8?B?RnAvQ2VSRlBUc0RITzZZL0l3WWN2Q1AyaXM3WG9KWlFQNUo4V2lncVRUeWpX?=
 =?utf-8?B?RDkzbDdVZTJqMWl2SlNxMS90cUJIWlU4RGphUDRrcjBzbVZpc3JQY1ZFakhr?=
 =?utf-8?B?RTN3ZmNmVzBCRnI3SHFoZGc0ekV6YU5TT1JEUEQ0UVh1MFdrTW5TSUkyMXRt?=
 =?utf-8?B?Um0xV2ZjN1FWcy80ZW9wUXhjU2hldVhMVkl4QnQxU2JFdkh0RnNvS09EQ09s?=
 =?utf-8?B?TVdndS9ya0JETCs1YWtlS1JJZWwwa0d4VVYzWmtvWUtaSE5oR1B3YW9SYTZ3?=
 =?utf-8?B?TTRIbkxRSnBVQmd0OGg2My8yemhLWXFJSXkwcUNubGVuYzFDN0RiOVFZaitE?=
 =?utf-8?B?TUpCRHVXbzVaZEYrRDdPWTJjbUoxUWMralhMdFRtSzI1NWxOTEFPL2FaSFF1?=
 =?utf-8?B?ZENZTE15TzB5N2htZEIrbkN2TTMzYzAwZFUwR3RTd00weDNicnNXWWdnN3dw?=
 =?utf-8?Q?jZ0pBplwtC9sZlNTNivBzetmurqKhrPiDWkN2U0?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9c4e224c-d5d2-4b48-ed18-08d96709a10f
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 14:15:30.5007
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rBHZo6Y04hbPPLn/j4Pk0nsYoEM6AEA2uMYOOKTpBkBblZSaeeQ7ZJNKfYevivuoK/KFv3DYv22N6qGfMJCsnA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB7188

Both callers only care about the target (level 1) MFN. I also cannot
see what we might need higher level MFNs for down the road. And even
modern gcc doesn't recognize the optimization potential.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/passthrough/amd/iommu_map.c
+++ b/xen/drivers/passthrough/amd/iommu_map.c
@@ -178,7 +178,7 @@ void __init iommu_dte_add_device_entry(s
  * page tables.
  */
 static int iommu_pde_from_dfn(struct domain *d, unsigned long dfn,
-                              unsigned long pt_mfn[], bool map)
+                              unsigned long *pt_mfn, bool map)
 {
     union amd_iommu_pte *pde, *next_table_vaddr;
     unsigned long  next_table_mfn;
@@ -203,7 +203,6 @@ static int iommu_pde_from_dfn(struct dom
     while ( level > 1 )
     {
         unsigned int next_level = level - 1;
-        pt_mfn[level] = next_table_mfn;
 
         next_table_vaddr = map_domain_page(_mfn(next_table_mfn));
         pde = &next_table_vaddr[pfn_to_pde_idx(dfn, level)];
@@ -273,7 +272,7 @@ static int iommu_pde_from_dfn(struct dom
     }
 
     /* mfn of level 1 page table */
-    pt_mfn[level] = next_table_mfn;
+    *pt_mfn = next_table_mfn;
     return 0;
 }
 
@@ -282,9 +281,7 @@ int amd_iommu_map_page(struct domain *d,
 {
     struct domain_iommu *hd = dom_iommu(d);
     int rc;
-    unsigned long pt_mfn[7];
-
-    memset(pt_mfn, 0, sizeof(pt_mfn));
+    unsigned long pt_mfn = 0;
 
     spin_lock(&hd->arch.mapping_lock);
 
@@ -310,7 +307,7 @@ int amd_iommu_map_page(struct domain *d,
         return rc;
     }
 
-    if ( iommu_pde_from_dfn(d, dfn_x(dfn), pt_mfn, true) || (pt_mfn[1] == 0) )
+    if ( iommu_pde_from_dfn(d, dfn_x(dfn), &pt_mfn, true) || !pt_mfn )
     {
         spin_unlock(&hd->arch.mapping_lock);
         AMD_IOMMU_DEBUG("Invalid IO pagetable entry dfn = %"PRI_dfn"\n",
@@ -320,7 +317,7 @@ int amd_iommu_map_page(struct domain *d,
     }
 
     /* Install 4k mapping */
-    *flush_flags |= set_iommu_ptes_present(pt_mfn[1], dfn_x(dfn), mfn_x(mfn),
+    *flush_flags |= set_iommu_ptes_present(pt_mfn, dfn_x(dfn), mfn_x(mfn),
                                            1, 1, (flags & IOMMUF_writable),
                                            (flags & IOMMUF_readable));
 
@@ -332,11 +329,9 @@ int amd_iommu_map_page(struct domain *d,
 int amd_iommu_unmap_page(struct domain *d, dfn_t dfn,
                          unsigned int *flush_flags)
 {
-    unsigned long pt_mfn[7];
+    unsigned long pt_mfn = 0;
     struct domain_iommu *hd = dom_iommu(d);
 
-    memset(pt_mfn, 0, sizeof(pt_mfn));
-
     spin_lock(&hd->arch.mapping_lock);
 
     if ( !hd->arch.amd.root_table )
@@ -345,7 +340,7 @@ int amd_iommu_unmap_page(struct domain *
         return 0;
     }
 
-    if ( iommu_pde_from_dfn(d, dfn_x(dfn), pt_mfn, false) )
+    if ( iommu_pde_from_dfn(d, dfn_x(dfn), &pt_mfn, false) )
     {
         spin_unlock(&hd->arch.mapping_lock);
         AMD_IOMMU_DEBUG("Invalid IO pagetable entry dfn = %"PRI_dfn"\n",
@@ -354,10 +349,10 @@ int amd_iommu_unmap_page(struct domain *
         return -EFAULT;
     }
 
-    if ( pt_mfn[1] )
+    if ( pt_mfn )
     {
         /* Mark PTE as 'page not present'. */
-        *flush_flags |= clear_iommu_pte_present(pt_mfn[1], dfn_x(dfn));
+        *flush_flags |= clear_iommu_pte_present(pt_mfn, dfn_x(dfn));
     }
 
     spin_unlock(&hd->arch.mapping_lock);



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 14:16:02 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 14:16:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171417.312807 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIXDe-0002s7-IO; Tue, 24 Aug 2021 14:16:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171417.312807; Tue, 24 Aug 2021 14: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 1mIXDe-0002ry-F2; Tue, 24 Aug 2021 14:16:02 +0000
Received: by outflank-mailman (input) for mailman id 171417;
 Tue, 24 Aug 2021 14:16:01 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIXDd-0002ol-Bq
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 14:16:01 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 55a338e6-b629-472c-9e85-e3944542c13a;
 Tue, 24 Aug 2021 14:15:58 +0000 (UTC)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2058.outbound.protection.outlook.com [104.47.14.58]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-34-WIh_3XwKMUepgyPs6bFQ6A-1; Tue, 24 Aug 2021 16:15:56 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM0PR04MB7188.eurprd04.prod.outlook.com (2603:10a6:208:192::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Tue, 24 Aug
 2021 14:15:55 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 14:15:55 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR06CA0132.eurprd06.prod.outlook.com (2603:10a6:208:ab::37) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Tue, 24 Aug 2021 14:15: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: 55a338e6-b629-472c-9e85-e3944542c13a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629814557;
	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=j5i+Xnl5ocLbmeDxy8GlyB1nTmg2e1vt95em7FKfvfs=;
	b=nn5UBsMjHeIWLiriMPclUHn6glzurQ8YBRb1phAZE0RTfdPpRUP1gjJOkFdGx7exNXFGzC
	CCDY0Q9u0hr1vQfPM7JTpB/DeLy7XBJ3LkzDJHPDMePl39nriCy21NktE7vxwM6g3JCwrB
	4TRYir7Mz/9WvVWcyOQFBL9uqgEJNyU=
X-MC-Unique: WIh_3XwKMUepgyPs6bFQ6A-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=P4oKhU8YN+K/AFtcC0YF54W32f1HPlBmn+bJCkOqpNbQF7QKiwvroLUzHAaUZbre8IOx9bKAjyYaraUrw6usTkMoWlAuGp1u7o7H69ALjFhNn6maGKwq05JP94QJYD/QC8YSwydypIusyRjHHDN92dAY9G4MdLNm/dMsnAfZver+BsEwgU81SrPqor/+cnYE3taLIAwoRJsJ1QTRI3HRHg2KkZjjVxCS/63JReVfI6zPrM+5t/Nc+ofd8LMYBMlTvkeWMX6stYeBVPNAJ/q3IYRZhNTnZwi0M89/Lvc+BeVJV71/ye6kEtqJaFq+H0RaoPDlBE5nbgHbfuLxMe9PKw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=j5i+Xnl5ocLbmeDxy8GlyB1nTmg2e1vt95em7FKfvfs=;
 b=SblCSGFfpsk+maAcSJ2LXSdgE1h/wdMKKITjVD1Ug06IPqIaK7G8/r/8mXOPsm6Jb408Fb8+a8ZTdflbl05yrUnvMx4RSmACFx06n/Jst1GFySkhDVZej3+bh6DEON7Dd0OlLhpJb0wECtW5cArx/Ia1AaFZqNNQNKkDeRMxQAfQNIzxCAbETHbvrzJYYGGCL4TbXwL42WVkqnfFkTvssPDeCBGHe5n6ldXIy3okSY/TGyFL0izfgw8k6Hdz3x5wyjJJ1rI7rRJtvtMV1ajxB/sz6dyWvlZoYN4/tHUcNC76prBtvPCJcZGYEKZbhmvkfnzOkmhoDNLgbQwYBxbZiw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: [PATCH 02/17] AMD/IOMMU: have callers specify the target level for
 page table walks
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>
References: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
Message-ID: <003e5e7b-1570-3d88-33a6-6785c0f566f1@suse.com>
Date: Tue, 24 Aug 2021 16:15:53 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM0PR06CA0132.eurprd06.prod.outlook.com
 (2603:10a6:208:ab::37) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b97fd0c1-b945-4d72-c851-08d96709b004
X-MS-TrafficTypeDiagnostic: AM0PR04MB7188:
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB7188A94BC60E589E2A0117C0B3C59@AM0PR04MB7188.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8273;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	IlsGdpzZTXr9IoOmWC/9I/pEoE7iSe1JHn8XA4dY3D/ho1lTHcReSEz+xk4rOpSR2zua64FyiqEhhofwgO8ruuaXkMQgRBzdMuyq6cYJDB66Lm0rLgLAW5PbxNueGR7KE/xt9ZCS5wD6hjLCbyd33d5XkRJ8kp+fHSiPgdx8bYAQvwih4JWudQx7FeAdvFfYxcqJRr74XaDOzOVlJ/mZS0G4txc6bEe8OU8OspAL9U7bewrw5KfdeckdNWoqLpLPgAVvEA1R9s+v6ohgbapDFaI4JL9DY52ffSXGyy4RUDjsBitsjak6o4o7krFRN4Vd1U62fenfKqowS4dECljTvztl5BkkuYOldTpqDktyJI2UZMNnZJlHRkrDD1aUqL5R6z7ZyueEi1xsYsVIsYAX4jQmCzAWWbltOrSQoaCGaAft7PTIjvnUTUUOtAlqmYHiujVji2MHL7AX1ovmheszKnBXse2OzXKAeec4kVFZ8tvqkvvYdoClHOC95nIRlmVRwVObwFfkzzJwFMzh5no6YuW4A69urPLjr4XhtsRpJ2iHaH9jafSjd+ZxELOEs1tQBxfMAneEBPohUwKV7fqG3l93kF+Amc/yD3AD7wBrLd3QwEvELUcxYKH5EhvAc2vD0z/0VDNbS7ww9xqJnzI+djTpHk5rsn19KhTePHYz6UoPkX2ji9HEjXkQubICe9ZyXdHVvZEAhyBhzvnMQJMq75yQH4ELLZdCjH4jWoaJad0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(396003)(366004)(39860400002)(376002)(346002)(6486002)(956004)(316002)(2616005)(26005)(186003)(2906002)(66476007)(66556008)(66946007)(8676002)(54906003)(4326008)(16576012)(8936002)(86362001)(36756003)(38100700002)(478600001)(31696002)(83380400001)(6916009)(31686004)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?a3NMUnhhbSt6QnUweFBrdWRxWWRKRGRhbkZzWTdwWDRHZnpINFFzSVN5K2c1?=
 =?utf-8?B?TWN1NDFUaXBHcHFQRW4zdHo5bmxEa2l1SHJyTEgxbXhza2VXb3czMXlHL0xk?=
 =?utf-8?B?UW53Yi9BVElaMUY5UzdWY0l2bEtFZE5IVmt1VTVDVWtlQ0dQSHQyNjdPeHNQ?=
 =?utf-8?B?WGxGQzBMelNja2hIeE4wNldmS2g5NkhlNHBPaFJrMmU0YXFhMkh4dnVrVjRm?=
 =?utf-8?B?SDg5TVRVTElqdUovRitlUW8vNU1ZMzMrR0ptMTc3RWhaVUNhek9ZOFEveCtI?=
 =?utf-8?B?OXZ0UDA5SHZUSk1UNmtqNkFIOFZQcU5ueHlldXVENmk2ZXE4VTFnMkFRNTdY?=
 =?utf-8?B?cTR6cnE4cFRpeXZtMnVYRnBCSzBIblRUZS9PcHozOUdnUFBWVkNFL3QwTlJR?=
 =?utf-8?B?QXJaNHdxYkdqa3FUajZLZkpBMERNYTFDNi9mVUF0U1BwNzg5QlpoY0huVUNB?=
 =?utf-8?B?N1orL3VTaWF2Y1NUTlhkUk80eDVkbGlrOU1yRWhVMHhrSFRZcWs2SEYwTjNk?=
 =?utf-8?B?S2ZHa2V3cjFuOWVFbWY0a0RmNTNiNHV4S0o3aUEvWG1EcU8xZlp1QnQyK0xt?=
 =?utf-8?B?dmVrUzRZTVN5SkNIWmFQcW9qVzIvUExadGx0dnpHZGswaGRqR3dqTWkrYlBN?=
 =?utf-8?B?cjl4d1E2S3NxS1ZacEZmVkk3QVdBSSt3VGVka3l6bVpLb1FjejY0S01SZVpS?=
 =?utf-8?B?S010WE9ZMFZHd0M0TmNkZVhpNDdxZDA3VnBmQ3BydTlLcVZ6WmRZKy9OcXYw?=
 =?utf-8?B?Wmd2T3ZBUjloUWUycXoralRYclB0Y2xkY2MrekpEOU1jaTZjZm1hRFZDSDdM?=
 =?utf-8?B?WnZGNmcrRzlIVGdFeE54S0ltbGU5OGdnK0R5RXZBRGZ0WTBobm1lckJ6czF4?=
 =?utf-8?B?WjNuTDg2QTRLN1lSUHBpU0hFUWtXb1FYR3lTeWxCK2RGWXQzZXFGb0cwVGdG?=
 =?utf-8?B?VUhjUnNOY0FBOW9aZ2cyNjhSUDVyaTNWOEt0U1hTQk1RYXhIcFc4VVY2cktk?=
 =?utf-8?B?L0F5M3pMUkwvU0MxdFJRdURnRDhzWmZqalpGZ2FPRWgzLzg4RkJsNHJkMHo0?=
 =?utf-8?B?T2kwK2VNRUk0Z25ndEYvaGxkMENWUHJVVy9HSVJXRmxxMldFNWVRb0t3YTJJ?=
 =?utf-8?B?L3RvbzVTY0gzOVEwanRDUEs5U1hvcDFlM0g5clRLakNzVHZtMk9NZy9yQmhx?=
 =?utf-8?B?R3BDdGpzTndNekl3UDYxNVcyMG8zVkwxVVhoWW4wdGNVd1V4MldQSFQ3V2NP?=
 =?utf-8?B?SmtGRGI0RHZGdGhiQUFMdUZEWW8xSGdEMnllbHJwQXQrM20wTkI5R2xNb0Jq?=
 =?utf-8?B?UHdSZnpuSC8xRXRBTU5WREc2YklxaWFWMlZlWXU0WnNnbG80NzJJS2RqWGRv?=
 =?utf-8?B?eUhKa1A0cmlMbVlHMVhuODJnTzY3RWVjdm9KQXJJVzlFK1Bqc2lPYXVpWmMr?=
 =?utf-8?B?QjhlMVM3L0p3MkkvU2hBbnFRcHVuMjhxblhCeUdYRTRNaU5DQUFhb01ISWtj?=
 =?utf-8?B?VDZ1QTc1dG1Pc0tJTm9oaG4vWmwyTlhFYXNrRGx5ZnNEU3FTOGI4MnRTSEVv?=
 =?utf-8?B?SEhGR2o1Rmg2T2pqazBUYVh1bzJEZ2pKZisrWnUyZUlaRGdLT3ozRS92anZy?=
 =?utf-8?B?aTRSY1o4NWFPRmM0Ty83WVlLUlBvSG9uSkw5RERJbE5FOVNFMDBMbWxIUVZU?=
 =?utf-8?B?RDg2UTNEcVZFVkprTERoMk96dk02OHV0M20yT2ZiUFNSUmhQRUJDdG1GUWdn?=
 =?utf-8?Q?6XYna6K0MJTDDJwDYaXu62CqEQSGf4O7dFoRN7V?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b97fd0c1-b945-4d72-c851-08d96709b004
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 14:15:55.6265
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: EoorOTeX69bpLIE5rw+D/sxn7A7imvB0nygUlgxU0NqOTBKwQQVhSo8wfIe5XRjioKWCbp2Xfe5zOpMY5KIDhA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB7188

In order to be able to insert/remove super-pages we need to allow
callers of the walking function to specify at which point to stop the
walk. (For now at least gcc will instantiate just a variant of the
function with the parameter eliminated, so effectively no change to
generated code as far as the parameter addition goes.)

Instead of merely adjusting a BUG_ON() condition, convert it into an
error return - there's no reason to crash the entire host in that case.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/passthrough/amd/iommu_map.c
+++ b/xen/drivers/passthrough/amd/iommu_map.c
@@ -178,7 +178,8 @@ void __init iommu_dte_add_device_entry(s
  * page tables.
  */
 static int iommu_pde_from_dfn(struct domain *d, unsigned long dfn,
-                              unsigned long *pt_mfn, bool map)
+                              unsigned int target, unsigned long *pt_mfn,
+                              bool map)
 {
     union amd_iommu_pte *pde, *next_table_vaddr;
     unsigned long  next_table_mfn;
@@ -189,7 +190,8 @@ static int iommu_pde_from_dfn(struct dom
     table = hd->arch.amd.root_table;
     level = hd->arch.amd.paging_mode;
 
-    BUG_ON( table == NULL || level < 1 || level > 6 );
+    if ( !table || target < 1 || level < target || level > 6 )
+        return 1;
 
     /*
      * A frame number past what the current page tables can represent can't
@@ -200,7 +202,7 @@ static int iommu_pde_from_dfn(struct dom
 
     next_table_mfn = mfn_x(page_to_mfn(table));
 
-    while ( level > 1 )
+    while ( level > target )
     {
         unsigned int next_level = level - 1;
 
@@ -307,7 +309,7 @@ int amd_iommu_map_page(struct domain *d,
         return rc;
     }
 
-    if ( iommu_pde_from_dfn(d, dfn_x(dfn), &pt_mfn, true) || !pt_mfn )
+    if ( iommu_pde_from_dfn(d, dfn_x(dfn), 1, &pt_mfn, true) || !pt_mfn )
     {
         spin_unlock(&hd->arch.mapping_lock);
         AMD_IOMMU_DEBUG("Invalid IO pagetable entry dfn = %"PRI_dfn"\n",
@@ -340,7 +342,7 @@ int amd_iommu_unmap_page(struct domain *
         return 0;
     }
 
-    if ( iommu_pde_from_dfn(d, dfn_x(dfn), &pt_mfn, false) )
+    if ( iommu_pde_from_dfn(d, dfn_x(dfn), 1, &pt_mfn, false) )
     {
         spin_unlock(&hd->arch.mapping_lock);
         AMD_IOMMU_DEBUG("Invalid IO pagetable entry dfn = %"PRI_dfn"\n",



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 14:16:26 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 14:16:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171421.312818 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIXE1-0003R9-SG; Tue, 24 Aug 2021 14:16:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171421.312818; Tue, 24 Aug 2021 14:16:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIXE1-0003R2-Ob; Tue, 24 Aug 2021 14:16:25 +0000
Received: by outflank-mailman (input) for mailman id 171421;
 Tue, 24 Aug 2021 14:16:24 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIXE0-0003Qo-LX
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 14:16:24 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 2d222b30-54b0-4351-afcc-447939b4e4fe;
 Tue, 24 Aug 2021 14:16:23 +0000 (UTC)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2050.outbound.protection.outlook.com [104.47.14.50]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-21-HHpSoQOjP_SQCCWCZRXA7g-1; Tue, 24 Aug 2021 16:16:21 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM0PR04MB7188.eurprd04.prod.outlook.com (2603:10a6:208:192::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Tue, 24 Aug
 2021 14:16:20 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 14:16:20 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM3PR03CA0057.eurprd03.prod.outlook.com (2603:10a6:207:5::15) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Tue, 24 Aug 2021 14:16:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2d222b30-54b0-4351-afcc-447939b4e4fe
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629814582;
	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=jE6X4tBiI86szEDdGQbXZYpX3yiiduQVWr9v8ha7zxo=;
	b=QiU6uiOKVWG9JwUdCImFh/JtXQwKZSssSC+YkiPcngsTyRywV0JpCuQRTpYI025qAOu4EG
	WUNhfdw7GL9GBGri7fjeaaxg3CSOmySnGaWl3aehfyzPWqD9LTjC9MeG3+ihAZxhGS7EV+
	7hWfLP7PDQ9oIjbNcFXsk/lXSJaZ0Q4=
X-MC-Unique: HHpSoQOjP_SQCCWCZRXA7g-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CFcyOwVgAY5PQikJpg4h5ADkmnO6KcIZv3i7dfQHC9eXnTqV6rVmaz7X0akoouw+l+A/LYGzABKoUUE4uDjJtpDF2lRzPHeMqv3qzVCE1fK8T4gdnEJbPYL5FanTAHpvotzFH/xSVEYDkVp9wJpwWdhTEAbb8u2Sp34VriyvfpZNBuU5kp9A2g+HRLTzV4STll8UanLou87dnK6VKF5U0BKAMqn4mFFFnGozIxFJgOUq9DSAqUXSJKi7FMqQY854vWn1Yc2Hy7Nh6vOF+ZD6V8CRa99CU+evd9XLeUJqFJOHUYU9TbU/dGx+1s0ou69OQHiV44L4Y9n4oUIiNRhfmA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jE6X4tBiI86szEDdGQbXZYpX3yiiduQVWr9v8ha7zxo=;
 b=ALlWWgHM37sR6XgkSXaI4xly+0+KFE7HaKfSI6rKXbYWS9mzX7RPEDTNmay6yRfQNkL4zVKqpd3s7XAqAD0vbcxpHQy3yadiVUVpEh1FtCL7tKL9WRuw8yIZ/+C2RMYvs1QGNrY3GCxz+rogQwc1QVnHpbEo9usLHW4meHua5QwpsgpoPp7qEErktVU9dmhyTdo/iuRc6rHTGN0VmIhOYGzXdEWggDCAEIS9AVSAyo7KJse6SKpMyAJxgkGdcmG7eUTninJS1nEyqmxkpimIA+jSRB6QsxYvUZZyyN6Q/KJddx5+tu+i9XKNahTJN/Lcgn/oqBxiHDcrPkYtHezR9Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: intel.com; dkim=none (message not signed)
 header.d=none;intel.com; dmarc=none action=none header.from=suse.com;
Subject: [PATCH 03/17] VT-d: have callers specify the target level for page
 table walks
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 Kevin Tian <kevin.tian@intel.com>
References: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
Message-ID: <eac4bdd5-e2e3-cf23-d4fd-644b8ba51daf@suse.com>
Date: Tue, 24 Aug 2021 16:16:18 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM3PR03CA0057.eurprd03.prod.outlook.com
 (2603:10a6:207:5::15) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 7469afe5-8d23-41da-9f87-08d96709beb5
X-MS-TrafficTypeDiagnostic: AM0PR04MB7188:
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB71888CF784E76A5F6AF13385B3C59@AM0PR04MB7188.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8273;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	k3hBUx/DohoesUUGqMZK5tzMf0BE0IKk21cogajMNNRBbejDmOdzsO7hPA8zHT5FNUGasVQqP9WqKn3RAYw6AW0/BOLkw8bTd2HYyNpoBO2OM85rVSi8Lcyc+ZshNe5o2o1MVdm458DelCLRSCuxhKK5j3iZy2V9hlgxFviwOhUwnrfE6xhbm2kXyu/VSACnZmEv/TuLRcAwtH+rYtSvvgWE4mYbIatEccn8/GxP2N9wM/zI5q48RQRVBHVvwv2SSMIsZAfP7IVmDvIwRR1FCZXma7sqpPRyk3lHqbg4tNuLenKTh+I3PtQaBeOy+NI+w09UMHkfxC9ZQ9VmSQ7v/gI+j+iOUacVP/hIbD8SJ5hYYXb0d3UnykQy67M7ENSHiIvSb69mPd9bjIObGsplOW8hJ7FTio7AYpfkHGaZBfwC/swzdmnhFfopphKoYYtibJC6UAZx/JKGjGzWflfm32lZyG45OpuGR8vphi2Kvy8naJ64jNt66v4VZYq/00nVLTS/DU3AtGqNYu3jHlha8wre1ViXhF06pWSyPcRU9Qqg8jik2IDv/cDXtfK9o9TUQEi+55maWIZhenxqv5dDIVe/BJuzUyel8bJburfFNBT/VHM7TEqcFk9HnA8Vlho1RdyhGlNTVAQjW2AAicPIKZVybcpOk0OWtEF206fa7OPZc9K2gotOvfVV5zRN1jOxCUW+Wd11gxsEJEpIhsYaFEf3Ck+dVn9GzxMet8tJ+Cw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(396003)(366004)(39860400002)(376002)(346002)(6486002)(956004)(316002)(2616005)(26005)(186003)(2906002)(66476007)(66556008)(66946007)(8676002)(54906003)(4326008)(16576012)(8936002)(86362001)(36756003)(38100700002)(478600001)(31696002)(83380400001)(6916009)(31686004)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WkNaMDU3bjduWkN1U3hYWTNiaUxRQ1VXYkZHYTBmdVdhem10TkpibklzSjQv?=
 =?utf-8?B?OW90bWlpTmszZzZYZ2JpbFZtUzhscG9MWTVkK1BWZGFTZUJWMEJLbmxQcFk4?=
 =?utf-8?B?YXpCdWpoU1ZoS1JwdXB6enZjRHNoaC9sMVN2clhCOThMdmVqalVjUElwN1o2?=
 =?utf-8?B?VjMzbUtqeW1IUk5QbXhOMGtIUjZLeFA4eUs3OFEzZENrcFl1Q1VYWnhmamlE?=
 =?utf-8?B?V0k4dzlDOWE3SG9HSEJFZ056VGd6NWppVi9JZnZTMVRJdEoveGQ2bUxnVUxp?=
 =?utf-8?B?am5zY2IxajQrbHZIQWo5YzRRMkZKZFBhWmh6bWxHbTkreG9MOFBQQU9qNTVt?=
 =?utf-8?B?dlBhK2lDWWo4THdjN3BTanV0SkdQdWo2cmJFWUJiUGM5ZEFyS0NFL2Z0QUMy?=
 =?utf-8?B?TXZFbEJUT2p6Skk3THlYR3VzdXNrWFdoanJ1RjNTQndUeFdnU2RJUmV3b2k0?=
 =?utf-8?B?b21Xc29xUnlHYkp4bVhncHBrNU9TZ3NXSFFKYlJFak1uNzFJL3hac2RhVmRG?=
 =?utf-8?B?S2dsYlBlWVNmcjFZeUtlRktid1FjUGlGU3R4SytaTUJWTkdUN1g0UXJpeXVz?=
 =?utf-8?B?ZU80dGVCODJ1d3p0MERGbmM3b1ovMmxrZ08raEFzZ0ZWbkNYL0liQzlzOWZG?=
 =?utf-8?B?V2x6ZEFpUEV2VnhLWXF5SVlVU0pCVWdIcW50ckZUckZ5QndQaUJCcEE2Z2lC?=
 =?utf-8?B?TEdzQ29LczYweVNqZzUrZVoycWJzTTZvTXpIOTlBWDV3L3F4ZklwMElNS0JO?=
 =?utf-8?B?TVRpTXpET1Z3d0dlRG90K3hzREcxdmE1YjNMRUVDTTNXc2l0UWtUbHhkVytt?=
 =?utf-8?B?ZmZGY3RCUGtBNE9VWWkya2tqaDRMVG1QY1NrMTFNMExaWkJiakNBUUM0VHdt?=
 =?utf-8?B?aFk5TTc2a2VLV0VhVWRlNXd2M3M4eGIycFkxdzNpOGI0U0ZSSGpiRkZOVDhz?=
 =?utf-8?B?clZwVjhkN3BIU0JQOUV4SWxzU21OTjNhS2NHc29JbkpiVHg2WnVVb1k3WXpN?=
 =?utf-8?B?SFpHQ2dwaUJzcVB3bWZjd0lVU1RUOWJLdzlSaDRNYVEwSEFhTFpNclhNQitV?=
 =?utf-8?B?SVpvaGUzNFNrbGIxNWtPbkZ5dUFNZlB5ZjJQcmkzY1VxeXJiRUpBVGJSZ3RS?=
 =?utf-8?B?MmY5Y0FqNG90MFMxdVBRQkVZR280VDZvcExXVklrSmhRVHo0ZXJ0U0ZuaGJN?=
 =?utf-8?B?MWJDUmoxekVPeC9mSTJoTGU3NjJiUFBjRHNNUGJPd3ZoTUZFQkxCWU9la3JZ?=
 =?utf-8?B?UUxEOWdzSm1rTTd0VkU1TzhHOXpGYVN2WDVQNmRjRVk3eSs5N044QU0raFJT?=
 =?utf-8?B?bk9FaEFTQ0RqT2Y0ZUE3ZytwYm9KVFZVNTR0RHdEbmQ2akIrbDRPbFRRa3hr?=
 =?utf-8?B?SGZOR01mc3NkYXBYMnQwc2NOVW1Yc3QxVVpKNVI2cktzZVVuUW9WQldqb2pu?=
 =?utf-8?B?M3JFaFpFN09PTkhtdXplUDVWVHBFQWFINWVlbWJ3dVRVN2dBT2lJOThzVjdp?=
 =?utf-8?B?WTZCT0N5MSs3M29yR08yMUdMMWovTEVEWS96aVBWVDAvazRkOXVHeVQ5WkxG?=
 =?utf-8?B?U0VGRHArNzRGTDkrYXpLcDB6ckxucG9YYy95bEwvVDFjMHVQRTgxWHE1UTho?=
 =?utf-8?B?azRGZTRLcExVTDlVVlFnbUx6MWluL2IwMzR5VDZlV1J1NDdKbWY0d21GVm1I?=
 =?utf-8?B?UUNETlZ4a2RmK2FudGZKYkUyWlFRRWZlTFBOV3ppUHhmTkFtd3JRci90Wnpv?=
 =?utf-8?Q?R1TmiKQnoMhWepJW8Al5ZWtcxq0wqF5dEE0Z9UJ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7469afe5-8d23-41da-9f87-08d96709beb5
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 14:16:20.2815
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: EjEXMSqmu+RyPLGZZhA+jd7u8snjBz/deKVHu2YYTwFGmu+khnBqFiLfiX8jqdku2liQpETcx7B+Mr+QE9lFfg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB7188

In order to be able to insert/remove super-pages we need to allow
callers of the walking function to specify at which point to stop the
walk.

For intel_iommu_lookup_page() integrate the last level access into
the main walking function.

dma_pte_clear_one() gets only partly adjusted for now: Error handling
and order parameter get put in place, but the order parameter remains
ignored (just like intel_iommu_map_page()'s order part of the flags).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
I have to admit that I don't understand why domain_pgd_maddr() wants to
populate all page table levels for DFN 0.

I was actually wondering whether it wouldn't make sense to integrate
dma_pte_clear_one() into its only caller intel_iommu_unmap_page(), for
better symmetry with intel_iommu_map_page().

--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -270,63 +270,116 @@ static u64 bus_to_context_maddr(struct v
     return maddr;
 }
 
-static u64 addr_to_dma_page_maddr(struct domain *domain, u64 addr, int alloc)
+/*
+ * This function walks (and if requested allocates) page tables to the
+ * designated target level. It returns
+ * - 0 when a non-present entry was encountered and no allocation was
+ *   requested,
+ * - a small positive value (the level, i.e. below PAGE_SIZE) upon allocation
+ *   failure,
+ * - for target > 0 the address of the page table holding the leaf PTE for
+ *   the requested address,
+ * - for target == 0 the full PTE.
+ */
+static uint64_t addr_to_dma_page_maddr(struct domain *domain, daddr_t addr,
+                                       unsigned int target,
+                                       unsigned int *flush_flags, bool alloc)
 {
     struct domain_iommu *hd = dom_iommu(domain);
     int addr_width = agaw_to_width(hd->arch.vtd.agaw);
     struct dma_pte *parent, *pte = NULL;
-    int level = agaw_to_level(hd->arch.vtd.agaw);
-    int offset;
+    unsigned int level = agaw_to_level(hd->arch.vtd.agaw), offset;
     u64 pte_maddr = 0;
 
     addr &= (((u64)1) << addr_width) - 1;
     ASSERT(spin_is_locked(&hd->arch.mapping_lock));
+    ASSERT(target || !alloc);
+
     if ( !hd->arch.vtd.pgd_maddr )
     {
         struct page_info *pg;
 
-        if ( !alloc || !(pg = iommu_alloc_pgtable(domain)) )
+        if ( !alloc )
+            goto out;
+
+        pte_maddr = level;
+        if ( !(pg = iommu_alloc_pgtable(domain)) )
             goto out;
 
         hd->arch.vtd.pgd_maddr = page_to_maddr(pg);
     }
 
-    parent = (struct dma_pte *)map_vtd_domain_page(hd->arch.vtd.pgd_maddr);
-    while ( level > 1 )
+    pte_maddr = hd->arch.vtd.pgd_maddr;
+    parent = map_vtd_domain_page(pte_maddr);
+    while ( level > target )
     {
         offset = address_level_offset(addr, level);
         pte = &parent[offset];
 
         pte_maddr = dma_pte_addr(*pte);
-        if ( !pte_maddr )
+        if ( !dma_pte_present(*pte) || (level > 1 && dma_pte_superpage(*pte)) )
         {
             struct page_info *pg;
+            /*
+             * Higher level tables always set r/w, last level page table
+             * controls read/write.
+             */
+            struct dma_pte new_pte = { DMA_PTE_PROT };
 
             if ( !alloc )
-                break;
+            {
+                pte_maddr = 0;
+                if ( !dma_pte_present(*pte) )
+                    break;
+
+                /*
+                 * When the leaf entry was requested, pass back the full PTE,
+                 * with the address adjusted to account for the residual of
+                 * the walk.
+                 */
+                pte_maddr = pte->val +
+                    (addr & ((1UL << level_to_offset_bits(level)) - 1) &
+                     PAGE_MASK);
+                if ( !target )
+                    break;
+            }
 
+            pte_maddr = level - 1;
             pg = iommu_alloc_pgtable(domain);
             if ( !pg )
                 break;
 
             pte_maddr = page_to_maddr(pg);
-            dma_set_pte_addr(*pte, pte_maddr);
+            dma_set_pte_addr(new_pte, pte_maddr);
 
-            /*
-             * high level table always sets r/w, last level
-             * page table control read/write
-             */
-            dma_set_pte_readable(*pte);
-            dma_set_pte_writable(*pte);
+            if ( dma_pte_present(*pte) )
+            {
+                struct dma_pte *split = map_vtd_domain_page(pte_maddr);
+                unsigned long inc = 1UL << level_to_offset_bits(level - 1);
+
+                split[0].val = pte->val;
+                if ( inc == PAGE_SIZE )
+                    split[0].val &= ~DMA_PTE_SP;
+
+                for ( offset = 1; offset < PTE_NUM; ++offset )
+                    split[offset].val = split[offset - 1].val + inc;
+
+                iommu_sync_cache(split, PAGE_SIZE);
+                unmap_vtd_domain_page(split);
+
+                if ( flush_flags )
+                    *flush_flags |= IOMMU_FLUSHF_modified;
+            }
+
+            write_atomic(&pte->val, new_pte.val);
             iommu_sync_cache(pte, sizeof(struct dma_pte));
         }
 
-        if ( level == 2 )
+        if ( --level == target )
             break;
 
         unmap_vtd_domain_page(parent);
         parent = map_vtd_domain_page(pte_maddr);
-        level--;
     }
 
     unmap_vtd_domain_page(parent);
@@ -352,7 +405,7 @@ static uint64_t domain_pgd_maddr(struct
     if ( !hd->arch.vtd.pgd_maddr )
     {
         /* Ensure we have pagetables allocated down to leaf PTE. */
-        addr_to_dma_page_maddr(d, 0, 1);
+        addr_to_dma_page_maddr(d, 0, 1, NULL, true);
 
         if ( !hd->arch.vtd.pgd_maddr )
             return 0;
@@ -704,8 +757,9 @@ static int __must_check iommu_flush_iotl
 }
 
 /* clear one page's page table */
-static void dma_pte_clear_one(struct domain *domain, uint64_t addr,
-                              unsigned int *flush_flags)
+static int dma_pte_clear_one(struct domain *domain, daddr_t addr,
+                             unsigned int order,
+                             unsigned int *flush_flags)
 {
     struct domain_iommu *hd = dom_iommu(domain);
     struct dma_pte *page = NULL, *pte = NULL;
@@ -713,11 +767,11 @@ static void dma_pte_clear_one(struct dom
 
     spin_lock(&hd->arch.mapping_lock);
     /* get last level pte */
-    pg_maddr = addr_to_dma_page_maddr(domain, addr, 0);
-    if ( pg_maddr == 0 )
+    pg_maddr = addr_to_dma_page_maddr(domain, addr, 1, flush_flags, false);
+    if ( pg_maddr < PAGE_SIZE )
     {
         spin_unlock(&hd->arch.mapping_lock);
-        return;
+        return pg_maddr ? -ENOMEM : 0;
     }
 
     page = (struct dma_pte *)map_vtd_domain_page(pg_maddr);
@@ -727,7 +781,7 @@ static void dma_pte_clear_one(struct dom
     {
         spin_unlock(&hd->arch.mapping_lock);
         unmap_vtd_domain_page(page);
-        return;
+        return 0;
     }
 
     dma_clear_pte(*pte);
@@ -737,6 +791,8 @@ static void dma_pte_clear_one(struct dom
     iommu_sync_cache(pte, sizeof(struct dma_pte));
 
     unmap_vtd_domain_page(page);
+
+    return 0;
 }
 
 static int iommu_set_root_entry(struct vtd_iommu *iommu)
@@ -1834,8 +1890,9 @@ static int __must_check intel_iommu_map_
         return 0;
     }
 
-    pg_maddr = addr_to_dma_page_maddr(d, dfn_to_daddr(dfn), 1);
-    if ( !pg_maddr )
+    pg_maddr = addr_to_dma_page_maddr(d, dfn_to_daddr(dfn), 1, flush_flags,
+                                      true);
+    if ( pg_maddr < PAGE_SIZE )
     {
         spin_unlock(&hd->arch.mapping_lock);
         return -ENOMEM;
@@ -1885,17 +1942,14 @@ static int __must_check intel_iommu_unma
     if ( iommu_hwdom_passthrough && is_hardware_domain(d) )
         return 0;
 
-    dma_pte_clear_one(d, dfn_to_daddr(dfn), flush_flags);
-
-    return 0;
+    return dma_pte_clear_one(d, dfn_to_daddr(dfn), order, flush_flags);
 }
 
 static int intel_iommu_lookup_page(struct domain *d, dfn_t dfn, mfn_t *mfn,
                                    unsigned int *flags)
 {
     struct domain_iommu *hd = dom_iommu(d);
-    struct dma_pte *page, val;
-    u64 pg_maddr;
+    uint64_t val;
 
     /*
      * If VT-d shares EPT page table or if the domain is the hardware
@@ -1907,25 +1961,16 @@ static int intel_iommu_lookup_page(struc
 
     spin_lock(&hd->arch.mapping_lock);
 
-    pg_maddr = addr_to_dma_page_maddr(d, dfn_to_daddr(dfn), 0);
-    if ( !pg_maddr )
-    {
-        spin_unlock(&hd->arch.mapping_lock);
-        return -ENOENT;
-    }
-
-    page = map_vtd_domain_page(pg_maddr);
-    val = page[dfn_x(dfn) & LEVEL_MASK];
+    val = addr_to_dma_page_maddr(d, dfn_to_daddr(dfn), 0, NULL, false);
 
-    unmap_vtd_domain_page(page);
     spin_unlock(&hd->arch.mapping_lock);
 
-    if ( !dma_pte_present(val) )
+    if ( val < PAGE_SIZE )
         return -ENOENT;
 
-    *mfn = maddr_to_mfn(dma_pte_addr(val));
-    *flags = dma_pte_read(val) ? IOMMUF_readable : 0;
-    *flags |= dma_pte_write(val) ? IOMMUF_writable : 0;
+    *mfn = maddr_to_mfn(val);
+    *flags = val & DMA_PTE_READ ? IOMMUF_readable : 0;
+    *flags |= val & DMA_PTE_WRITE ? IOMMUF_writable : 0;
 
     return 0;
 }



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 14:17:44 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 14:17:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171431.312829 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIXFI-0004Gi-Aj; Tue, 24 Aug 2021 14:17:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171431.312829; Tue, 24 Aug 2021 14: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 1mIXFI-0004Gb-7A; Tue, 24 Aug 2021 14:17:44 +0000
Received: by outflank-mailman (input) for mailman id 171431;
 Tue, 24 Aug 2021 14:17:43 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIXFH-0004GS-G5
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 14:17:43 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 2f0bd4b8-3fcd-4e5f-bffe-b175b5416be0;
 Tue, 24 Aug 2021 14:17:42 +0000 (UTC)
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur02lp2059.outbound.protection.outlook.com [104.47.6.59]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-24-MfshqG-DPXO7VbwtrUVzRw-1; Tue, 24 Aug 2021 16:17:40 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM0PR04MB4609.eurprd04.prod.outlook.com (2603:10a6:208:6b::25)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Tue, 24 Aug
 2021 14:17:38 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 14:17:38 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR2P264CA0045.FRAP264.PROD.OUTLOOK.COM (2603:10a6:101:1::33) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Tue, 24 Aug 2021 14:17:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2f0bd4b8-3fcd-4e5f-bffe-b175b5416be0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629814661;
	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=yzXYKglQ/bpvobkPyhRsuEn/vZoH5xfWeELRjaeoInI=;
	b=ektAozKg2Lqi3vwaes/IDWZ4femcNzjTbpgALjDL4ZpaKjMVV8fnV5pwjNZauaAWAyJeP0
	Kboox2vyNhvOdm3qhv6qSfx/aVpe3yjIZY8eeAbQueylBoUERACW0pXEAmR6a3pybgRbOj
	jYiPTV/OkYjYEZjoxf3+u94eq0IUqso=
X-MC-Unique: MfshqG-DPXO7VbwtrUVzRw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eciHFL/I4HJEetF18JJwbD/fWCtNuMpbAe1AnrKZZSJjKjbCRBlI5/4aLpH54POEpAF6oDDq/9uEQ8hC9rFnva45Gcnq4xAlxw79aIjbiwmd7NwbNq8kH3aWei9hL7h7FQDs/toPdoQFGMgiqrjdRx+A5vI5y1tgQOQTBBH733r7JYJcplwevV56REs3krXz1xcVf6dMsfv7WnzwXYF3Ut5Bf5FIUFWQzESpAxTp51BXtNNuCCvvwp5fp9ed75HZ0890GhEO/ap0gl3t9gpZ41NTLtlioGuVUvoduE5Yc1UMmazvGYTCkJNmVd+ya4bSpQyp1wnBhCrhOlDA697Gmg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yzXYKglQ/bpvobkPyhRsuEn/vZoH5xfWeELRjaeoInI=;
 b=VxmHQDoCt25kiFkLoWX1AP2hZe/m6KOxGHjWbodGsuN3pnJyTuYgkuruRFlV0Aus9d31BMNtjtqp6qPXM6D2UzTW8vT4SjHr1dNJRQanB5IluLDveNIz6nqCK1dMixHCeUNoheju8w1OhFJ/NYo8jINFidYtne8gH/QOmAmsGRueAUxpkj0AA7CRFdE4a+OQqmWmFYne6uMHO9kSOJ4yoV7wn8bcjCBAFfYGJuLiQ1jE3Wr7wOsafQFTi3dG0giHXQLSY4gsbQkRKn2eMp+y44JFm/LiXldyclpJ7hQuQN3D3uYY/UZbzSd04mAtnOl9q7KAKImvJEyWRm4FfQAlxQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: arm.com; dkim=none (message not signed)
 header.d=none;arm.com; dmarc=none action=none header.from=suse.com;
Subject: [PATCH 04/17] IOMMU: have vendor code announce supported page sizes
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 Kevin Tian <kevin.tian@intel.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
Message-ID: <53c5e1b5-b363-d2c0-edbc-f9fae1e6e2c1@suse.com>
Date: Tue, 24 Aug 2021 16:17:36 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR2P264CA0045.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:101:1::33) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 29d264da-261b-4c45-4c22-08d96709ed79
X-MS-TrafficTypeDiagnostic: AM0PR04MB4609:
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB4609DB5F025346C29F1930CEB3C59@AM0PR04MB4609.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:6108;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nW6v5Fgsm5oBEnth2JV8rSYA4iU/GVqt5ztAgs8SNkVtZNiX7QnTsDd87mK7nKwsfcqitO2C/8Zn+36LJz0HbxTefBo74H00iZHHLhOIqDS2vhpdbNpZZg1+zhAMjBucUzucDLiYOryL9MW818ZyeGjhzvbdvODzRYGOaLRltbwrtJhOpE3zotJXlJwrnbShrZGPf4Nm84Ny2pLkUouamb3wi+5TuJtrM3+RphlcBX8GIvVoGyWGsyik6FakFbJ+ymSt934Da1sRve4u1jYeoKhk/nKNTaYTWb32irkKdwG3ee9bZR2qjkyJPfW6hWFPQHBrjaKFTvm1a6LBW1YHQyNo9BueAlUQ5qRbIWE0+VKlC+5mkgZycMjFwgU2Ryy5oOJBEWDvQG5MIb2RpantSjiuiDwmtaAeZPnBHQ4lHta4dhguXmvBB7C6zMSidbkZteUmJtfFrNwnHpAzjHkt1XiE1AbKy8QoCT4vPWaJScD5KHf8BfUuplIaKpejiOHixWAsqZFsBz2HerKs460z73QCs+fVNUU/1HK5V09/fKrvfNqyad0FJQCsK+zj4COCweb+RWxYXqTk4GYYaN+KK1dVjQBAqT2hn1uPrrclwjxlbh4DjePpyVO8MG6vjBJo2Yn6MTqn/qaMC+cmtAyaALSEXvwAxwgl79gFjwtPiMEEGP9SCw3uvywPZEG1JuA2UA/Pheo7zu2YnV937ON1IVoIRIE8Sz02GBX3ojojLts=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(39860400002)(346002)(136003)(376002)(396003)(2616005)(186003)(83380400001)(16576012)(6486002)(956004)(38100700002)(66946007)(6916009)(54906003)(26005)(478600001)(66476007)(66556008)(5660300002)(316002)(8676002)(86362001)(4326008)(36756003)(31686004)(2906002)(31696002)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RVNDNkl4cWs0blpxcTZ2SEh4TEpKZ1FoOUNRVDhrS2hTUER5Z2RDL0FDbng5?=
 =?utf-8?B?Ty9pZEZRczdGV055aDY3eWdNSXg5ZDJLVlZhbVQ5TUZEZDZwRkR6YWozQWtU?=
 =?utf-8?B?RFU5eE4rNndrV0RiRFg4WHp1TENIdHUyYjlvaStmbXk0WWhualNnSmoxOGhN?=
 =?utf-8?B?MW1QSjJicXlRcmtzVFlvWmh5KzB3S20vL1FHSHpBdzVmTUQ0U1BBdVhiNjgr?=
 =?utf-8?B?WHE4bG9BTnVxNnJlQzRNSklZQUQxV05ORlR5K2prUHI1amduZmpNNzdIWW1C?=
 =?utf-8?B?ZjFGSkt2VWdFZWd1c0lmczk2bndjTzRnSkl5SWtSUkF1TFEyL1dOcEFOV01U?=
 =?utf-8?B?aThOWHM3emVYMEh5YXdUazlobGRLMmJ2YmVlbk4wYTlXZHVhM20vQ3pNeG5v?=
 =?utf-8?B?NThibDF3OGdQT1pKOEswV2VrM0c4Z0JMc0VwVnBFbkRQNE50dE9va0FtUHpl?=
 =?utf-8?B?QytpRWJPcUxOOWliRWtScDBWVGVHbTVCdmVyb2VvZ09lRldZZ3hCWkRtcTll?=
 =?utf-8?B?SjdaZ3UyemxJM2VaeEdMKzEzRG5jWjZnRUJLUDB2bkw4YXJYS3p1YkFrSVFH?=
 =?utf-8?B?eGNWR0JtMHo5Nkc5QW9NTEJZRm53YXkxQUhvaUNsNVA3Ri9sZkQwaWdtdlg0?=
 =?utf-8?B?cHNrdjFUdTlJUzR5RHNqSnFBL0tCUjFkOElXQWt0NkVWdVRZZTUrVjc4cUJy?=
 =?utf-8?B?ODBaQ25peWpFRGZpT1dyR0xrZVQ5L0YrdlpmWE96bGwvdDQ4MXFvSERUdVBU?=
 =?utf-8?B?S1M1SmY4a0puZVhlNStBb2R6T05sVWdzK0oyYmRoell3OXpXek1YSDNiS3VH?=
 =?utf-8?B?TGc3MXRSM1Vzenk3cmpKOG93bjlHYW9DcUFXL3R3SlZPS0o4cFMvTXF0YW1R?=
 =?utf-8?B?WTBHakZjUFZuZjFBbDFiZlhFbDlZU0FvWHEyc2dmNlpleWU1UnNsMlc2ck1Z?=
 =?utf-8?B?NXpQRk9PcnI2NVRQQWh0anVDQlVRbnBla3d3SGFPdEJVb3pzakdsMzlwWE5G?=
 =?utf-8?B?SitoS3FmR0J2NUQ2TExISzV5b2xFVlgyQVQyRWdUR3BzTkNZTnZubkV6VUZI?=
 =?utf-8?B?VzhMK1pSMjhZL0FmMytBY3Znc2RwNjdUQSt3aSsyME1IME91VEFKei9GZ1Q5?=
 =?utf-8?B?OUpJZjdwcVU5RlRKcEk1cjJ1V1FES2xEWlAzVk5vVEtBcWgraEIvbm1uRzhi?=
 =?utf-8?B?V0J5c1p4bkJIUnpjYmEvQVZSS0NJUGRjWmt0NHIwVEx2Y0ZkZ2ZTR29QNWtC?=
 =?utf-8?B?VWljK0QxeFh2MUI0Qm8ydnp0d0doMnhBR0IyUWFjb0FVdk05T3NLeDJraTdL?=
 =?utf-8?B?ZXBIWlEzTHp5Zk1uRTA0VTRwWEdIbUV3cERzWk9GRjdoY1J2cG84ZXVyRmUv?=
 =?utf-8?B?WC9qVG9NMktwWDNJUXE1dEhoTDBCcCthNEMrL2dOYzhZbmhhek10MEVjNXVJ?=
 =?utf-8?B?NWJNQ080TnJsNTVhN0VQVkd1dHlkM2lzcTJLTTFaWE43RTBSVk1Qb254b1Fi?=
 =?utf-8?B?Z1N3cUhUVjBXYWQxSmV1eTdiR3dHdHpLYlZtNVVuSWdXZFhWaW1EUU1DckVM?=
 =?utf-8?B?Q0svZ3V0bUNUSi9IbXFQSUJQcHlWdkY5QU5BUk9LcGhmaDQ3ZWlxRFVoeUND?=
 =?utf-8?B?WExjelNqK0w3TS9nbGNvZ1ZMQ0FRTW9vSEVBcFhBb2pOUDFiNUw4dFFEODd1?=
 =?utf-8?B?OVhnMTRXQ2VjNFFLNTlpTVl4YUVHMm9oTUl5NXhjVmg1dUdwZ1kxYkhsZ0xV?=
 =?utf-8?Q?aIdcCkVicP3Htna5rCRBdNve676xYuq1wnbWagp?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 29d264da-261b-4c45-4c22-08d96709ed79
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 14:17:38.7301
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: uCQMlMXPDj0FZBTT+GF6oDoufAOXR9scX6wMEEiVgIYtJ/rBgwbdAkn7Q3RQ5tJNek+xc3yoglLwydwVr5w8Ow==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4609

Generic code will use this information to determine what order values
can legitimately be passed to the ->{,un}map_page() hooks. For now all
ops structures simply get to announce 4k mappings (as base page size),
and there is (and always has been) an assumption that this matches the
CPU's MMU base page size (eventually we will want to permit IOMMUs with
a base page size smaller than the CPU MMU's).

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
+++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
@@ -583,6 +583,7 @@ static void amd_dump_page_tables(struct
 }
 
 static const struct iommu_ops __initconstrel _iommu_ops = {
+    .page_sizes = PAGE_SIZE_4K,
     .init = amd_iommu_domain_init,
     .hwdom_init = amd_iommu_hwdom_init,
     .quarantine_init = amd_iommu_quarantine_init,
--- a/xen/drivers/passthrough/arm/ipmmu-vmsa.c
+++ b/xen/drivers/passthrough/arm/ipmmu-vmsa.c
@@ -1298,6 +1298,7 @@ static void ipmmu_iommu_domain_teardown(
 
 static const struct iommu_ops ipmmu_iommu_ops =
 {
+    .page_sizes      = PAGE_SIZE_4K,
     .init            = ipmmu_iommu_domain_init,
     .hwdom_init      = ipmmu_iommu_hwdom_init,
     .teardown        = ipmmu_iommu_domain_teardown,
--- a/xen/drivers/passthrough/arm/smmu.c
+++ b/xen/drivers/passthrough/arm/smmu.c
@@ -2873,6 +2873,7 @@ static void arm_smmu_iommu_domain_teardo
 }
 
 static const struct iommu_ops arm_smmu_iommu_ops = {
+    .page_sizes = PAGE_SIZE_4K,
     .init = arm_smmu_iommu_domain_init,
     .hwdom_init = arm_smmu_iommu_hwdom_init,
     .add_device = arm_smmu_dt_add_device_generic,
--- a/xen/drivers/passthrough/arm/smmu-v3.c
+++ b/xen/drivers/passthrough/arm/smmu-v3.c
@@ -3426,7 +3426,8 @@ static void arm_smmu_iommu_xen_domain_te
 }
 
 static const struct iommu_ops arm_smmu_iommu_ops = {
-	.init		= arm_smmu_iommu_xen_domain_init,
+	.page_sizes		= PAGE_SIZE_4K,
+	.init			= arm_smmu_iommu_xen_domain_init,
 	.hwdom_init		= arm_smmu_iommu_hwdom_init,
 	.teardown		= arm_smmu_iommu_xen_domain_teardown,
 	.iotlb_flush		= arm_smmu_iotlb_flush,
--- a/xen/drivers/passthrough/iommu.c
+++ b/xen/drivers/passthrough/iommu.c
@@ -470,7 +470,17 @@ int __init iommu_setup(void)
 
     if ( iommu_enable )
     {
+        const struct iommu_ops *ops = NULL;
+
         rc = iommu_hardware_setup();
+        if ( !rc )
+            ops = iommu_get_ops();
+        if ( ops && (ops->page_sizes & -ops->page_sizes) != PAGE_SIZE )
+        {
+            printk(XENLOG_ERR "IOMMU: page size mask %lx unsupported\n",
+                   ops->page_sizes);
+            rc = ops->page_sizes ? -EPERM : -ENODATA;
+        }
         iommu_enabled = (rc == 0);
     }
 
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -2875,6 +2875,7 @@ static int __init intel_iommu_quarantine
 }
 
 static struct iommu_ops __initdata vtd_ops = {
+    .page_sizes = PAGE_SIZE_4K,
     .init = intel_iommu_domain_init,
     .hwdom_init = intel_iommu_hwdom_init,
     .quarantine_init = intel_iommu_quarantine_init,
--- a/xen/include/xen/iommu.h
+++ b/xen/include/xen/iommu.h
@@ -231,6 +231,7 @@ struct page_info;
 typedef int iommu_grdm_t(xen_pfn_t start, xen_ulong_t nr, u32 id, void *ctxt);
 
 struct iommu_ops {
+    unsigned long page_sizes;
     int (*init)(struct domain *d);
     void (*hwdom_init)(struct domain *d);
     int (*quarantine_init)(struct domain *d);



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 14:19:05 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 14:19:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171438.312840 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIXGY-0004uB-Mq; Tue, 24 Aug 2021 14:19:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171438.312840; Tue, 24 Aug 2021 14:19: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 1mIXGY-0004u4-Jd; Tue, 24 Aug 2021 14:19:02 +0000
Received: by outflank-mailman (input) for mailman id 171438;
 Tue, 24 Aug 2021 14:19:01 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIXGX-0004tw-C2
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 14:19:01 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id a670ee93-2638-4763-9e94-0fe9f7096532;
 Tue, 24 Aug 2021 14:19:00 +0000 (UTC)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2176.outbound.protection.outlook.com [104.47.17.176])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-32-tJX3ceXFO3ebB_9P-Y5zPQ-1; Tue, 24 Aug 2021 16:18:57 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM0PR04MB4609.eurprd04.prod.outlook.com (2603:10a6:208:6b::25)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Tue, 24 Aug
 2021 14:18:56 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 14:18:56 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FR3P281CA0035.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1c::8) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.6 via Frontend Transport; Tue, 24 Aug 2021 14:18:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a670ee93-2638-4763-9e94-0fe9f7096532
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629814739;
	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=Lsv7bcHuwsgLa+AOHdsxg4x/Cg6Wk9VbC4oDVeLVkeQ=;
	b=dIqNvmsL4t282Cfne3hhIvT4+1dC8tLYfak0E1mF9zryugfCw6Bskqn8xlzWYnEKmKzb3b
	3Dl3iqjS1j9IbwaSgqLP3M3FJfgmERVEqN1wKPCoVmzIUL8hZlb1Q5vA6/M5MSX4lg6bSa
	/9oVH43YZTIr66GjMrzWxKBuiJ4E0S0=
X-MC-Unique: tJX3ceXFO3ebB_9P-Y5zPQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cV6HxKRgJIP8JA65ZWlOmJvEhWxS6g/olBgT5lbQ9TiJMTWQHHnAFM//8TByGYpLbK8H32yuEdesKvY57p5mt+8t25ZwEi73kHhX7CS0R+JqkAI69Xxzl8WP7+84CwZzcTloIgq0UxgG/CSevv1M+rOUOMqFkdvCmTadBEbuEkm4ad2O9HrKVC80L+/hvOiRZSgezPXw9Ny7j6M1vcrAsW3+sEqc2EqMwG1Dn2/l8gA0F9okQjL+B862LEZLWpEyo4DzCsrXcQU5AmR1+PqCHd1f+7e/aTfKm/u0HxYtgy0mUdaDI8xq3blCgZ0QQlg5GgUc1m5WTBL+Yor5hqIktg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Lsv7bcHuwsgLa+AOHdsxg4x/Cg6Wk9VbC4oDVeLVkeQ=;
 b=i4p0DN0yYaY2xGFcnXq+YREN5gRhLMI4U+WXk5ejxnvJY0Ec7ObMdfSzLkVKezhA5mtTcNLMpqOmz3Na201950ueCfYcfAoieJ+0C3eTRLp1r1BHYx2r61R24ZX3j9C+TY6En74VBweAeF76b8xxz9+QHZiO3GiUg3DPIIIRpkxCixb0vcLUduU8dxXwMqKRqj/WvwnT7mjy0h0FH2LHouaCmOJKv9YfDtGc3s9OCOLBQZF+UukMp1bqONI3ft3xnaC5JLsek5ZEx7KQ9wUbmSe0HTfwxUVz7iA79BAeBbYH2DVdOhxGznnhcwAvOvcmJ0bHNg0T/5WrEzDbnedepg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: [PATCH 05/17] IOMMU: add order parameter to ->{,un}map_page() hooks
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 Kevin Tian <kevin.tian@intel.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>
References: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
Message-ID: <3141710b-2369-6e12-2ba2-4c01888f7ee1@suse.com>
Date: Tue, 24 Aug 2021 16:18:54 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0035.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::8) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3ce6636b-c2fb-43a3-04c5-08d9670a1bc6
X-MS-TrafficTypeDiagnostic: AM0PR04MB4609:
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB46091F171B00B8C636FE34F5B3C59@AM0PR04MB4609.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:6790;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	D60fcsz/3KF5BVVxcJQQjDDSSs/xOsgptjhmX6KMrpAaAO8l8aG3LQ5kxRhczqfCINg9D2lbK1JBWkw2J5fG2LTdVBVLlApsOaOOi4yh6+jcygIViaz6Lvy2rE/DrN54Bq0oErDWWc5aaij2TaXEtqzRHMTyXjd0fDnnmqApBi7VOnUqiiHNW2AJZcqxTeIgD+IvcA4jRNY2GBvGlSb17efH3tvbBV7IVIZv4b3m/pX4CKE343cuhP4c6rOO/Mw8c4CA+VyOOL2jdFkg6qWMS0+H4zEIEcqJMZi+jC+CmA2y0DYy+RmT60XsVKpK2J/0irIKGtCmg5kR8HLHSuotCgojG2GeE0SGeUd+jN8K9VB02CmHIMLhdo9CMIqR4lGUMU6yPLiToI8s/VRe0uP65GGBfcjDtBGNtF0okZy+A4zsTIyIkfsmoNajZP4PycrnC9vD33K+4cHzKYOjuO9tUgvk/kQ5rMTFZdOBmP5LY3F0fQSn/Bh4OBtOJufBzKDleiAcK5cQKnVusUMzQSaypdgOC4r0tk/4rIVAYhNyExz6rcHjLGS/kU958g8HL76lww0MKO9E25GgGz8/XW5PjK6DlAYtDMpRjKHUUZxjUUFqEM9XIkLeIYVHVXk/H0QIA3vZLsl29DsNjxoZEbPV1RgqeNpYvVLUyQMDMMPHmlmj2wPPuFWOPV4g+HSNORHjOpjVadJSG8XqO6aPRE9WAOb03DPlxyb9OZKB7qPMwWc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(39860400002)(346002)(136003)(376002)(396003)(2616005)(186003)(83380400001)(16576012)(6486002)(956004)(38100700002)(66946007)(6916009)(54906003)(26005)(478600001)(66476007)(66556008)(5660300002)(316002)(8676002)(86362001)(4326008)(36756003)(31686004)(2906002)(31696002)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RlhQc2NmL2d2NTIydzJLeHlvcGRnUjMrbGw1OXhIdHlTVGlGVUtiSm1HZUZX?=
 =?utf-8?B?eVZpQzdFSkxGZVNZVTBoQnc1eU9XT3kwTWFFOFBmVVg1aUNIWktQL0tqZnU5?=
 =?utf-8?B?TzZGVGtTK0JkMGNWei81L2dzV1k5YStKRlRGalYyaDlVeXZzcHBzWFBpMTV3?=
 =?utf-8?B?d0RFbm9sLzhRS3FLN1ZUZ3I1ejY4S2d1amRnaUhQUlFSL0NJMkJ5cTNIek5v?=
 =?utf-8?B?WjFuOWtLcTgrTXYwSFArUG9CaUVWWEpibFRwTnlGZzhtVmV1dWJXSXZ2Y1Nu?=
 =?utf-8?B?SzB5aEVvVWhmc1cyOVN5R1Y2N1NZTWFHNTJId2g2S3doWlJIeXNwdWxCNTg4?=
 =?utf-8?B?SmR1OFVZNHRDZFhBTE9LLy8za3pFWUZLcWNGTGpxb3J6Y2Z4WS9yTW9QYUVw?=
 =?utf-8?B?VDhFOW1kU1F6eURwZUJhNHhGdUp6SmNxZ2gxWW1hTU1UWCtVc0VkQXpFL0Zk?=
 =?utf-8?B?b01KZlMyNGRvbzVBeEtjMnAyV2tDRWp6SHYraWRTdGROZnJWNTlLdXM4ZTZL?=
 =?utf-8?B?RUQ0S1NkcUJuWGZWWTZUcndCamJwT0p2MVk2eFJoa0xISDc3YUZHZ3RhcXVV?=
 =?utf-8?B?YStGRUQrVzJzaXhFTVloWTF1MDltZjJKd2tLWTlaNnJXTzVIcC9ES0w1T29X?=
 =?utf-8?B?M3J6dWd3QTVjVkdGejdOaVE3amZNb1pVOEdNS1paRFpQMzE5T0ZtY05uQ1BS?=
 =?utf-8?B?SjdLZGltV1JjNjdvdzVNVUg5YXp5Z1RLRkZOd2R2NHVrS3RVeUxDWGhGUnhs?=
 =?utf-8?B?SGJXTEdISzZiVW9EWEczNmFhYUpFVnpvY3pMcmhZNEk1T1BuUTVUaWlwSjFT?=
 =?utf-8?B?NDhSVVNGbzh0aE01VmRaTi9zc0E1MG1rNEV1cXR2a21WK29zcVpMcnZ5RTJ0?=
 =?utf-8?B?VDM2Mk9nZUIwQ3hKMGdNUEhheVYxd2R0eGNTbERpUzVPb0dPQmNub3hhNGF1?=
 =?utf-8?B?cHZpR3NGUEZ2RTZ1cU5VOGhlRVhacUpqQVBzWmdod0NqZEJTK3VXaFRiS3Fk?=
 =?utf-8?B?Y1FMU1YrYlNxYUxYakpWRXVpblVMZ2cwOTRDL0FMblg0UitsOG5uMHNkN05l?=
 =?utf-8?B?ZHpFT2M4R21PVUp6aDFvcS8xSkdaNXdLR3JxY3AwTjJRNmk5bktUcVo3NXkv?=
 =?utf-8?B?Yjhsd29Fc3BIYjhsVWZYWlBDR2VtOGdWYVRHNWJyZkQzemptTGUwczBQMGlC?=
 =?utf-8?B?QjV3THR1WlpxUnVGc3RMVHpNRHNIR0RGc2RvL0pnYmpBM3dtSjYyRXlYRVMv?=
 =?utf-8?B?SnUrQzhtL0JvbE9CbE5nZzRuOTVWdU41VnhBMTZQN3JGSDFvK2JvL0x0U3Nr?=
 =?utf-8?B?UzRLQngva2E0S3hxT2ZlcldLSU9kK1NOd0pzQ0NTendFS1RCdzlLV2NiemxH?=
 =?utf-8?B?TGpCd2VwTW1PdktaUHoyY241OVpLNUNubjZXOWRDRFUwMkJraFJKSjduNVVC?=
 =?utf-8?B?MGFXNmRHYy9iejNkQ2NoL0ZIdy9iNXhYNlVYYU1qQTloUldBZ1VnNHo3M2tu?=
 =?utf-8?B?TDd2bzdNakJ0QnNVN0x6M3BjcHNqcEl1UG1JUTZJT0dlZk41U3RoL2VYSCtS?=
 =?utf-8?B?dHdvNm5OSFA3L2tKU0VsTlJoL1ZteVRLcDVtQndrWHkyL3g4UjFlWFBVNkRi?=
 =?utf-8?B?TUkzdGFKTnBCYThGby9YV3FmRWhZd3ZLM2hLWlkxVEpxV1N0Q3FhTUtkMmVj?=
 =?utf-8?B?TmJXMEY0aXowUUt3WGpTY1Iwc0hTTGRrZXJIaS9KR3Fkd253K0FmZjh0U1I0?=
 =?utf-8?Q?sxImfYg9Sfi28bueLCK11mQWOFgeesMWVTPI0E5?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3ce6636b-c2fb-43a3-04c5-08d9670a1bc6
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 14:18:56.4151
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: fvwuNiH65JhsT5F4nbFQHkQsd/o1Ts3t9ooisWVTljaxKOHKeXnsbnDbHsiD3Ehu2dHRTcZbpQ/O3bCq7CXCBw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4609

Or really, in the case of ->map_page(), accommodate it in th existing
"flags" parameter. All call sites will pass 0 for now.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/passthrough/amd/iommu.h
+++ b/xen/drivers/passthrough/amd/iommu.h
@@ -225,6 +225,7 @@ int __must_check amd_iommu_map_page(stru
                                     mfn_t mfn, unsigned int flags,
                                     unsigned int *flush_flags);
 int __must_check amd_iommu_unmap_page(struct domain *d, dfn_t dfn,
+                                      unsigned int order,
                                       unsigned int *flush_flags);
 int __must_check amd_iommu_alloc_root(struct domain *d);
 int amd_iommu_reserve_domain_unity_map(struct domain *domain,
--- a/xen/drivers/passthrough/amd/iommu_map.c
+++ b/xen/drivers/passthrough/amd/iommu_map.c
@@ -328,7 +328,7 @@ int amd_iommu_map_page(struct domain *d,
     return 0;
 }
 
-int amd_iommu_unmap_page(struct domain *d, dfn_t dfn,
+int amd_iommu_unmap_page(struct domain *d, dfn_t dfn, unsigned int order,
                          unsigned int *flush_flags)
 {
     unsigned long pt_mfn = 0;
--- a/xen/drivers/passthrough/arm/iommu_helpers.c
+++ b/xen/drivers/passthrough/arm/iommu_helpers.c
@@ -57,11 +57,13 @@ int __must_check arm_iommu_map_page(stru
      * The function guest_physmap_add_entry replaces the current mapping
      * if there is already one...
      */
-    return guest_physmap_add_entry(d, _gfn(dfn_x(dfn)), _mfn(dfn_x(dfn)), 0, t);
+    return guest_physmap_add_entry(d, _gfn(dfn_x(dfn)), _mfn(dfn_x(dfn)),
+                                   IOMMUF_order(flags), t);
 }
 
 /* Should only be used if P2M Table is shared between the CPU and the IOMMU. */
 int __must_check arm_iommu_unmap_page(struct domain *d, dfn_t dfn,
+                                      unsigned int order,
                                       unsigned int *flush_flags)
 {
     /*
@@ -71,7 +73,8 @@ int __must_check arm_iommu_unmap_page(st
     if ( !is_domain_direct_mapped(d) )
         return -EINVAL;
 
-    return guest_physmap_remove_page(d, _gfn(dfn_x(dfn)), _mfn(dfn_x(dfn)), 0);
+    return guest_physmap_remove_page(d, _gfn(dfn_x(dfn)), _mfn(dfn_x(dfn)),
+                                     order);
 }
 
 /*
--- a/xen/drivers/passthrough/iommu.c
+++ b/xen/drivers/passthrough/iommu.c
@@ -271,6 +271,8 @@ int iommu_map(struct domain *d, dfn_t df
     if ( !is_iommu_enabled(d) )
         return 0;
 
+    ASSERT(!IOMMUF_order(flags));
+
     for ( i = 0; i < page_count; i++ )
     {
         rc = iommu_call(hd->platform_ops, map_page, d, dfn_add(dfn, i),
@@ -288,7 +290,7 @@ int iommu_map(struct domain *d, dfn_t df
         while ( i-- )
             /* if statement to satisfy __must_check */
             if ( iommu_call(hd->platform_ops, unmap_page, d, dfn_add(dfn, i),
-                            flush_flags) )
+                            0, flush_flags) )
                 continue;
 
         if ( !is_hardware_domain(d) )
@@ -333,7 +335,7 @@ int iommu_unmap(struct domain *d, dfn_t
     for ( i = 0; i < page_count; i++ )
     {
         int err = iommu_call(hd->platform_ops, unmap_page, d, dfn_add(dfn, i),
-                             flush_flags);
+                             0, flush_flags);
 
         if ( likely(!err) )
             continue;
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -1932,6 +1932,7 @@ static int __must_check intel_iommu_map_
 }
 
 static int __must_check intel_iommu_unmap_page(struct domain *d, dfn_t dfn,
+                                               unsigned int order,
                                                unsigned int *flush_flags)
 {
     /* Do nothing if VT-d shares EPT page table */
--- a/xen/include/asm-arm/iommu.h
+++ b/xen/include/asm-arm/iommu.h
@@ -31,6 +31,7 @@ int __must_check arm_iommu_map_page(stru
                                     unsigned int flags,
                                     unsigned int *flush_flags);
 int __must_check arm_iommu_unmap_page(struct domain *d, dfn_t dfn,
+                                      unsigned int order,
                                       unsigned int *flush_flags);
 
 #endif /* __ARCH_ARM_IOMMU_H__ */
--- a/xen/include/xen/iommu.h
+++ b/xen/include/xen/iommu.h
@@ -127,9 +127,10 @@ void arch_iommu_hwdom_init(struct domain
  * The following flags are passed to map operations and passed by lookup
  * operations.
  */
-#define _IOMMUF_readable 0
+#define IOMMUF_order(n)  ((n) & 0x3f)
+#define _IOMMUF_readable 6
 #define IOMMUF_readable  (1u<<_IOMMUF_readable)
-#define _IOMMUF_writable 1
+#define _IOMMUF_writable 7
 #define IOMMUF_writable  (1u<<_IOMMUF_writable)
 
 /*
@@ -255,6 +256,7 @@ struct iommu_ops {
                                  unsigned int flags,
                                  unsigned int *flush_flags);
     int __must_check (*unmap_page)(struct domain *d, dfn_t dfn,
+                                   unsigned int order,
                                    unsigned int *flush_flags);
     int __must_check (*lookup_page)(struct domain *d, dfn_t dfn, mfn_t *mfn,
                                     unsigned int *flags);



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 14:19:12 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 14:19:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171439.312851 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIXGh-0005EP-W5; Tue, 24 Aug 2021 14:19:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171439.312851; Tue, 24 Aug 2021 14: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 1mIXGh-0005EH-S0; Tue, 24 Aug 2021 14:19:11 +0000
Received: by outflank-mailman (input) for mailman id 171439;
 Tue, 24 Aug 2021 14:19:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mIXGg-0005DF-6z; Tue, 24 Aug 2021 14:19:10 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mIXGg-00051b-3d; Tue, 24 Aug 2021 14:19:10 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mIXGf-0007dD-RX; Tue, 24 Aug 2021 14:19:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mIXGf-00047s-R5; Tue, 24 Aug 2021 14:19: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=nqzH2t/1aklxfjpszjrQgqVUb8iHGWIZ3jaG5mwgmmQ=; b=hTuPxZvccssQX+4/zHe1H148IO
	/RlHBl6xolPeSbsi/hYJeV5XgtldOzIj9Zu7cQUvLOj8XFcNVq7duZAhH7jigiHlh0tpwtAJZHv2G
	idEZ/BHPIv3Hx6sqStrW6tWMrbEGJdhPXHxLUl13t16OWaguD6Fhgk+6WKWPbcu30WpE=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164435-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 164435: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=a931e8e64af07bd333a31f3b71a3f8f3e7910857
X-Osstest-Versions-That:
    xen=93713f444b3f29d6848527506db69cf78976b32d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 24 Aug 2021 14:19:09 +0000

flight 164435 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164435/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  a931e8e64af07bd333a31f3b71a3f8f3e7910857
baseline version:
 xen                  93713f444b3f29d6848527506db69cf78976b32d

Last test of basis   164277  2021-08-20 16:01:39 Z    3 days
Testing same since   164435  2021-08-24 11:00:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Julien Grall <jgrall@amazon.com>
  Michal Orzel <michal.orzel@arm.com>
  Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
  Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   93713f444b..a931e8e64a  a931e8e64af07bd333a31f3b71a3f8f3e7910857 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Aug 24 14:19:44 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 14:19:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171451.312865 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIXHE-00066k-Hr; Tue, 24 Aug 2021 14:19:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171451.312865; Tue, 24 Aug 2021 14: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 1mIXHE-00066d-DD; Tue, 24 Aug 2021 14:19:44 +0000
Received: by outflank-mailman (input) for mailman id 171451;
 Tue, 24 Aug 2021 14:19:42 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIXHC-000611-HC
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 14:19:42 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 5224aaa6-04e6-11ec-a8dc-12813bfff9fa;
 Tue, 24 Aug 2021 14:19:41 +0000 (UTC)
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur03lp2059.outbound.protection.outlook.com [104.47.10.59]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-15-A46ko_VeOXqQgrIpz0l45A-1; Tue, 24 Aug 2021 16:19:39 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM0PR04MB6161.eurprd04.prod.outlook.com (2603:10a6:208:148::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Tue, 24 Aug
 2021 14:19:37 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 14:19:37 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FR3P281CA0034.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1c::20) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.6 via Frontend Transport; Tue, 24 Aug 2021 14:19: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: 5224aaa6-04e6-11ec-a8dc-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629814780;
	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=s/xqY7vvGGkXpN8hylBtpj3jGQh5qHksSw0RnRhvYDs=;
	b=JSjBy3lBJ7NcZy3sfwd1koim16KeZqhxBbGHR51LMAzdcpyqQTSD67h2Xl1487C5ipKOuh
	Mx15WkDAbNEgFNSnNeUi6aD0zT+Fkpedp5R9cYckA9+NyMaw/xqpc0JcoLXyOxT+G9hzt5
	r3hWQALNeHqp4R+EkoSHZoD5oIkaPlQ=
X-MC-Unique: A46ko_VeOXqQgrIpz0l45A-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fCSLzVtCej7hfsl5YYy/lgNvP/CeYU+HhKrNytburNelZRGnW/Q5UZvpQimYUOqCF6pQx4SQbdHFdqTXZUP/yhUDxt4UvMOilp4qJyn9p5dLk6a4i51VKdUr45lQE3iCqa6GKgvl8BDZ/j8FNC5DD4Dsu8bGye2kvsxC8mTP5EipJ4YQzUN97BlY5dhceSCsmEveArpRMgB6+0oRt7JBk9vJJM6a5yZnkgP/uf4LiBJPlk1/iCVmkbum6xDPvykipoDodJ0/3uv6ECzF5Kp5vxYoVdcezisVG1rEQ16I1nyr7sSHYG4/81/ZQ7jFgcjtEolmefWwgZ+biH+0ouXhUw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=s/xqY7vvGGkXpN8hylBtpj3jGQh5qHksSw0RnRhvYDs=;
 b=oTMd2otgCIxsNNtute4yvKQTCtSmSvxwJklAgY4tblKMwZkG6JGBiwNMgs7XVVY0SbH9yasQDX4h0nV89i6ql3Uv4BL95yHCk+5S0eAvPk0JAa/ftvyRpHk2N2fjeWU8B3G1TmlIVHNVplsZZAnCMBVh4uv5UPfLdEyYN2PJHQ/v3CW1gn21LSVSUhN57PNS5qIDMDU1rI2rXqF1V5hR0f4F9ggYjPwi8H3hi9bBj+2tjKuCHjxG3W/4DyDWKNxZEwPlz3Ka86VRZPe8eBry1PhIthxfNAtnrmQLll24F3e2iI5CbfWhQ0wfgB6DPfyTBY1aXPMt2vzbKzmy5wd3wA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: [PATCH 06/17] IOMMU: have iommu_{,un}map() split requests into
 largest possible chunks
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>
References: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
Message-ID: <a3df4f6c-6b11-d404-9703-cf1335a60ae8@suse.com>
Date: Tue, 24 Aug 2021 16:19:36 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0034.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::20) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: acf1a310-e229-4a9a-aa4b-08d9670a346e
X-MS-TrafficTypeDiagnostic: AM0PR04MB6161:
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB6161A6E97316238E5E80E5F1B3C59@AM0PR04MB6161.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:1468;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	kUvnqAhP/80vFC1Bsq4JNM6oFvb9FoD/sQGCqzuSe/O2/9XnxvTt7DiAcguk3nfP8VKssTytug8swrEU6tAJlHWU/1dHhjI4Qe/5fEPjvgicx+f4kH+n/k0IboGb3mT5M/tV2DK2jcPly/96+v62L79QqWLl4UXV7qcCTrCD7iZRc6gA1cb5iCKpJvlaTGk5oqq+YFxsx4YgV058A7/WPYM5Lkbi7VMYddrjb6+kWDIQM9cwFIGMEPL97HrZeVwZCnunTd80+v6IYabIqsz3Ts2Czmx91uxRjkDn5euZz4gty6IVP8d2qyHLWHwX3DSaQX92fKrelFPLZOMIRAwA1zGrz7BDd673X0m2pX5C3gC2X2pjJ4yhr4hw5j0jOm4EHChRdUC2+X6wQRQErctZsPcD1b4c9RTcUlR6eHRcL+nGkmC/Pz/tu/sxjg8IuP+Zzs8Y+/zksQRWpFDzQaEV4GljYm1rKjNNqCpHPTYbaU3ruiKClAULE62ylnsZDUHXVwO1znUnfzLTXg8W3ZCJndl+EyOpPkRsCOlH2fPIpGmy8eG0WBUa3TZupG7QdMd+VwJFRZ5Z5eCGGW/CLLhQuaAp5YkYAUDlQh1XO2RVegsSLupLmf00fA62tI87ntV2lum/ly9kVWmsbblXd3A9bqfSv0NjPURHNKISrD7KvEjBG+O2F6V6UIebXY07IuQ4W5YIsAoIj+KFGaDrYU34l3R/MReYSsbpMi0r4jSHjo8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(39860400002)(376002)(136003)(366004)(396003)(5660300002)(66946007)(26005)(478600001)(66476007)(31696002)(8676002)(186003)(31686004)(38100700002)(4326008)(8936002)(2616005)(956004)(66556008)(36756003)(6916009)(83380400001)(16576012)(316002)(54906003)(86362001)(2906002)(6486002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?d1BRaG5qekNFbndCQkdSQWQzSWpyYWlwWUhrUXNob0ljOGFmWXg2OHlrQUtG?=
 =?utf-8?B?aCtESmxkN0lra0N6T2VXT2FzRXFtNlZqdTJ5TmQzTkhQcTU0Tmk3NFhDbCtm?=
 =?utf-8?B?N1R3RUVlQ0NLemV0dENOMHZxWFJ0NDZuTWZqZHZjdnhyUGNQYUNTQjI3bGIz?=
 =?utf-8?B?SFIzR0l5aGErb1JQMmtXbHdRc0dUUmNXSzVXdUI1T2VWeTg4WjZYaldwU3R3?=
 =?utf-8?B?cmthNWNGVXNZMjJsWDYzZmkzaDY2eXUrRFM4bXh6UlZwSmU5VGNsMHdmeUg5?=
 =?utf-8?B?Ry9yejJGa1B4U29wUVo0Mk81SDFBemtLWjVkMWlQTmRYSE5sOE1uTXMyb0NS?=
 =?utf-8?B?SFJSVTFqWmhqZ2dhRzVOOGo4cGhGSGlxNlVLSFoxbjJaanQyZ2RkYXVlS3RJ?=
 =?utf-8?B?OWJnTTVCdVFMc3hHU3VOYzhVS1hSQ0Q2NHZ4U0tkWisrVWdFUFRqejI5ejBh?=
 =?utf-8?B?R3R3R0lXUlh1OThVbnQ4bWZpc2V3MjMwbEZxYkNMYUpnWnoxQ1VXK1hONnVE?=
 =?utf-8?B?aHNVanNNR25yNk1wVWhCMW1CWXdpYUphbUp5V3doYXZ6cDhSalR3VzdHeTFU?=
 =?utf-8?B?VDJxbFRVOS9VY3VrZ0xFU05xZnpIa2plODhndkEzeHBFU3FIdUFXb0luSUh1?=
 =?utf-8?B?VzlqcVZzc3RGSzVvT042WFpITnhGRGNFdlZRci9aWnY3Vy8vclZ0VHVlNE5B?=
 =?utf-8?B?SFlMNFIvaEtITGd4M2hBemZGTGp6YXZpV09MVlVnZllQQ1ZSY005MFY3YURy?=
 =?utf-8?B?ZTErNUNSYyt3Y1JpeEFmS1l3MmFaWDZnMmxwai9ZakNqWXdUMlRmTDQ1T3pS?=
 =?utf-8?B?NmV5aXZwc1hLdm95SHNsbnRIRVZ5MmU5emNqTUptREVkaG95TTU3T01qcG5x?=
 =?utf-8?B?QXJYOS9LOTUwY0JPUk5Kb1I0bUlPZjlTWjJBN2cvcWErazdDWjd3d2pMZFZJ?=
 =?utf-8?B?NDVMbzBvS0hlWFk3UGQvMGxKUkFXcFNoa1V6TzluOUxZa3hoenNIRGJVUjFh?=
 =?utf-8?B?eWdiQmJjVWxDWWpNR0ZsSGV5SG1NTVROMUMzUGhIenVtWExJZGo0aUNXWElU?=
 =?utf-8?B?QktDQVQ2MGMwSjQ1TGk2d0ZKUG5sMVpqTmpKSk4xSkhXcVJZSDlUYlhhYWZi?=
 =?utf-8?B?OU9vVlJNRlRNUzRoS0M4c0ptQ01sQzJJbVBoelN6OFFwRG9BY3lEUWo1aWlp?=
 =?utf-8?B?Ulppd1ZUeXlEMGNyNmk3SCsrSXJ5QlhCWm8yNmErMTBlMnFsMlZuQXpaRVZ4?=
 =?utf-8?B?M1pnTHZwUU8vdmkzNW04eTJDZTM4TkRpbDYySGNTRDVpL0loNlgzRTNydjla?=
 =?utf-8?B?ay9PLzFSNUtYemxIb3lzUlFjdjRpRzllUkNNcjZFRmUvNitzL1hIOUZwWmlx?=
 =?utf-8?B?ZUR0c09uNEUySGN5dUE4NDdReURTMnlHR0R6RjFyTXhHQ3RNZmVBTXY1dnFI?=
 =?utf-8?B?VTlJMU93c1R3V1RqVjcrUkd1VSt2d3BObnpaNlMzWWRiUEpVSVpCMnY4dXNt?=
 =?utf-8?B?MHlKQ0UwZ0NCSEF1c1hmd1BUVDZ3S0FtRmFwMS9xWUVOeUVxaTVQc2VvWFhk?=
 =?utf-8?B?dksvb3k1VU8yOUdHNlN2ek84UTR3aGNGRTg5Vy80ZitVeVQ2YUlDMDArb1hv?=
 =?utf-8?B?cDY0bFZibDcyNGhFMEFEbk5kdXJzcDJBZ09WY3BadzZnV0wwRmZsOURZRlJq?=
 =?utf-8?B?MEFEeTE4WTZSM3EvbHhsUWdvK2V4TGhlTHB6cmJmWEhxczRQZXd2RHJLV09D?=
 =?utf-8?Q?0M44fAdaEUj7+t5T5x3IisjsgefhTmXJZeNQ4jl?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: acf1a310-e229-4a9a-aa4b-08d9670a346e
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 14:19:37.7566
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xHzcKnMmKf1+Fy2uoNY3XtUrUtWt5DeDJlHmad4S037dq4+CHpxPxxlMq0HKcxzQITUkVSVdFLaDBR2D4pzusg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6161

Introduce a helper function to determine the largest possible mapping
that allows covering a request (or the next part of it that is left to
be processed).

In order to not add yet more recurring dfn_add() / mfn_add() to the two
callers of the new helper, also introduce local variables holding the
values presently operated on.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/passthrough/iommu.c
+++ b/xen/drivers/passthrough/iommu.c
@@ -260,12 +260,38 @@ void iommu_domain_destroy(struct domain
     arch_iommu_domain_destroy(d);
 }
 
-int iommu_map(struct domain *d, dfn_t dfn, mfn_t mfn,
+static unsigned int mapping_order(const struct domain_iommu *hd,
+                                  dfn_t dfn, mfn_t mfn, unsigned long nr)
+{
+    unsigned long res = dfn_x(dfn) | mfn_x(mfn);
+    unsigned long sizes = hd->platform_ops->page_sizes;
+    unsigned int bit = find_first_set_bit(sizes), order = 0;
+
+    ASSERT(bit == PAGE_SHIFT);
+
+    while ( (sizes = (sizes >> bit) & ~1) )
+    {
+        unsigned long mask;
+
+        bit = find_first_set_bit(sizes);
+        mask = (1UL << bit) - 1;
+        if ( nr <= mask || (res & mask) )
+            break;
+        order += bit;
+        nr >>= bit;
+        res >>= bit;
+    }
+
+    return order;
+}
+
+int iommu_map(struct domain *d, dfn_t dfn0, mfn_t mfn0,
               unsigned long page_count, unsigned int flags,
               unsigned int *flush_flags)
 {
     const struct domain_iommu *hd = dom_iommu(d);
     unsigned long i;
+    unsigned int order;
     int rc = 0;
 
     if ( !is_iommu_enabled(d) )
@@ -273,10 +299,16 @@ int iommu_map(struct domain *d, dfn_t df
 
     ASSERT(!IOMMUF_order(flags));
 
-    for ( i = 0; i < page_count; i++ )
+    for ( i = 0; i < page_count; i += 1UL << order )
     {
-        rc = iommu_call(hd->platform_ops, map_page, d, dfn_add(dfn, i),
-                        mfn_add(mfn, i), flags, flush_flags);
+        dfn_t dfn = dfn_add(dfn0, i);
+        mfn_t mfn = mfn_add(mfn0, i);
+        unsigned long j;
+
+        order = mapping_order(hd, dfn, mfn, page_count - i);
+
+        rc = iommu_call(hd->platform_ops, map_page, d, dfn, mfn,
+                        flags | IOMMUF_order(order), flush_flags);
 
         if ( likely(!rc) )
             continue;
@@ -284,14 +316,18 @@ int iommu_map(struct domain *d, dfn_t df
         if ( !d->is_shutting_down && printk_ratelimit() )
             printk(XENLOG_ERR
                    "d%d: IOMMU mapping dfn %"PRI_dfn" to mfn %"PRI_mfn" failed: %d\n",
-                   d->domain_id, dfn_x(dfn_add(dfn, i)),
-                   mfn_x(mfn_add(mfn, i)), rc);
+                   d->domain_id, dfn_x(dfn), mfn_x(mfn), rc);
+
+        for ( j = 0; j < i; j += 1UL << order )
+        {
+            dfn = dfn_add(dfn0, j);
+            order = mapping_order(hd, dfn, _mfn(0), i - j);
 
-        while ( i-- )
             /* if statement to satisfy __must_check */
-            if ( iommu_call(hd->platform_ops, unmap_page, d, dfn_add(dfn, i),
-                            0, flush_flags) )
+            if ( iommu_call(hd->platform_ops, unmap_page, d, dfn, order,
+                            flush_flags) )
                 continue;
+        }
 
         if ( !is_hardware_domain(d) )
             domain_crash(d);
@@ -322,20 +358,25 @@ int iommu_legacy_map(struct domain *d, d
     return rc;
 }
 
-int iommu_unmap(struct domain *d, dfn_t dfn, unsigned long page_count,
+int iommu_unmap(struct domain *d, dfn_t dfn0, unsigned long page_count,
                 unsigned int *flush_flags)
 {
     const struct domain_iommu *hd = dom_iommu(d);
     unsigned long i;
+    unsigned int order;
     int rc = 0;
 
     if ( !is_iommu_enabled(d) )
         return 0;
 
-    for ( i = 0; i < page_count; i++ )
+    for ( i = 0; i < page_count; i += 1UL << order )
     {
-        int err = iommu_call(hd->platform_ops, unmap_page, d, dfn_add(dfn, i),
-                             0, flush_flags);
+        dfn_t dfn = dfn_add(dfn0, i);
+        int err;
+
+        order = mapping_order(hd, dfn, _mfn(0), page_count - i);
+        err = iommu_call(hd->platform_ops, unmap_page, d, dfn,
+                         order, flush_flags);
 
         if ( likely(!err) )
             continue;
@@ -343,7 +384,7 @@ int iommu_unmap(struct domain *d, dfn_t
         if ( !d->is_shutting_down && printk_ratelimit() )
             printk(XENLOG_ERR
                    "d%d: IOMMU unmapping dfn %"PRI_dfn" failed: %d\n",
-                   d->domain_id, dfn_x(dfn_add(dfn, i)), err);
+                   d->domain_id, dfn_x(dfn), err);
 
         if ( !rc )
             rc = err;



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 14:21:09 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 14:21:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171458.312876 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIXIa-0007aC-SF; Tue, 24 Aug 2021 14:21:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171458.312876; Tue, 24 Aug 2021 14: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 1mIXIa-0007ZZ-Om; Tue, 24 Aug 2021 14:21:08 +0000
Received: by outflank-mailman (input) for mailman id 171458;
 Tue, 24 Aug 2021 14:21:07 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIXIZ-0007Z1-Py
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 14:21:07 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 84e87454-04e6-11ec-a8dd-12813bfff9fa;
 Tue, 24 Aug 2021 14:21:06 +0000 (UTC)
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur03lp2059.outbound.protection.outlook.com [104.47.10.59]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-35-kEsVKGJGMsOiwi6bXtTjew-1; Tue, 24 Aug 2021 16:21:04 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM0PR04MB6161.eurprd04.prod.outlook.com (2603:10a6:208:148::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Tue, 24 Aug
 2021 14:21:03 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 14:21:03 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR2P264CA0004.FRAP264.PROD.OUTLOOK.COM (2603:10a6:101::16) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Tue, 24 Aug 2021 14:21:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 84e87454-04e6-11ec-a8dd-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629814865;
	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=NZ2YWkVaAC232qv91yH6WI7yyA59H3jwl4N9+n6GGng=;
	b=nzzGp1YJcSqqBvC90Fn64Pufvc/Ij3IYfOoT25YvKr1VCVrLOzt9D7nOQMGAQiewNT5We0
	U4Q5TQat3nWq4CJigEvdMucRUg0jvlTF5P9QMrQFnipf89AdD1A6l0P0BJpx//nXQCXt+A
	W4V9IOCdtkmIxQmKpB7cQ/90P0z/RQY=
X-MC-Unique: kEsVKGJGMsOiwi6bXtTjew-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EAW7OrmAfOrVrCdhj+Qfn9fYxxUifsj02FUeLYIzLwxD+DTOJTuFpBX2q/i1oUEC8vav7zF5wkX8RuanAQxnhobq0FzFJioVL/u8lOmpx9LAvT7I9svKFxVLS3DQVJjH1PpEtq+kwLjXKsxAxsPVX0Rymqzj4gv9DhMxUSIbWIrYtiWg6etyJJcoW+bn3N7+qSvcwmOAyzCXuArU5lOnMW5Pf/J4qP5agIvTv/GLfj2+68MIldijoS57YGDlQFJhu1OVvEVlI0o39TGIGh9Wx1KzW027QymYuDJKIBUk6Q7/X6m8pWm6VK5+S/+3ZuggRewa2X/0pM5i4vWL2xiKqg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NZ2YWkVaAC232qv91yH6WI7yyA59H3jwl4N9+n6GGng=;
 b=OFRxqIIoZjDIf64HZrYSm6372xDD4RKXfGm1avP32EBLuup++VF+YiJyn4Hnorh6jm+T5BVDiiVBg+hxus0xj07GTXWl8TEbkyIF3q16TEYLnF8ONAfIKSUoqybl+QBangUYBpgdzOIgXYrRPblyyDlj0e6fBTAH4AwOZ+WGoUNs1gZC89xRawXWV2EEEL7qAqy76CsI8045A5YVTsByLte1LOCZfW8iWgpt/p79Pyero3DR/M7NbXNArNj9MEkrNxOK3NvRSYWKHVVTnUfXvBYEFwseve+qlVLIA9S6wK8mI2M99hcAUVvxyfZumit8hN9QIupsgLT2xce1w4tt1g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: [PATCH 07/17] IOMMU/x86: restrict IO-APIC mappings for PV Dom0
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>
References: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
Message-ID: <5d6e8360-7ba8-487e-0ac8-7f517e560520@suse.com>
Date: Tue, 24 Aug 2021 16:21:01 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR2P264CA0004.FRAP264.PROD.OUTLOOK.COM (2603:10a6:101::16)
 To AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 72ff444a-d65e-44c6-8c08-08d9670a6788
X-MS-TrafficTypeDiagnostic: AM0PR04MB6161:
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB6161080AE3D5F75531A010F7B3C59@AM0PR04MB6161.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:2043;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	RT+3mFNBw+T0Q8MOpnDDKXVnrdOH1aNSynx2wJxg3GUleqrei6wbdVw11n0PoNMXCKYX+QqVLN1wHovy1dexuti7h6RjExEe9AlqujvH9io4i0I419VbSvSU/AueuT8Z+97qwGteyancubOMeezyYHq5vzkCmlSNeoPlQXLts8tfkbjyQetu2K+bT9S8giDT3+3GZ5tr/vntbbxytt2pTJTiv+PZvjhzXaTHaK4KqvHGjWRlOnJdDUINOW4mcN5z6ZlqiNFQ9rxF8Vf71jhPe7l2DLW8ssF0NLxOFfnO5yNixRuPSiLZcjhBYc9vSRJy0ED46mZEAwEdBIlt6nhsxTQuAfvuOfxtqk6vPoG86ZFfZb5bPanRaVhsp+j6GAEGiijCATM8KhZK119Kt4/rdLGkKS3kW1a0y681/Lx87P70qJfZUT+IAfOcLOilnZSmzgQh4ZBV/d13IyCUPeJBUv9cH8d5hYlw/ASM5rb1EsCfJC0+N4f43SDh0bdLnaLKl4Clq7PSjopBbjulkMfOm3TM0fI18EwPwacHciPh3/wFnae1p4YZaIntMbUUEoQ+Wf6kFjUy2fGU4xIz2SHlyEbV2y2Nt4s1zdmU/N4wPZvDMEy0PHQtXfqfzNZuNao2sSRU0ovT/gZFzhu2LcUUszdPUiK2BWofmR3VS78axA3kNQXSzfV9+RB+lCv/nQgOmsNHiYayMZks3mL+UKh/2MgBes8OguoZlCZGBiDnwjQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(39860400002)(376002)(136003)(366004)(396003)(5660300002)(66946007)(26005)(478600001)(66476007)(31696002)(8676002)(186003)(31686004)(38100700002)(4326008)(8936002)(2616005)(956004)(66556008)(36756003)(6916009)(83380400001)(16576012)(316002)(54906003)(86362001)(2906002)(6486002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?U2w1SDdGUGJvVlBYSWsyaXg1SVdFK2k5MHdFZElEV0ZWdk9EL0Z6U3I0S3Ju?=
 =?utf-8?B?VmZaa0FrRG9pMlZTNzZ2NUNValpZMUU4Ym01VnBXeUI0clhrY2ZUSG1ING00?=
 =?utf-8?B?SHZEdUFKbVYzUlBrY0NFOWR3MXFtdFBrMFhiQ0dLazM4MGdvM3BDcktYOGNy?=
 =?utf-8?B?V2NYQzZuWkx4OU9BL2xYVWVVNjdUcUhvekJacWJESkdoV0FpQzNCaExlbkI2?=
 =?utf-8?B?YThGUVlma2luQ1FNQlMyV3F6aWkrcmpKWUo2SE5GL1JqdjhHeDV4R25BRTRp?=
 =?utf-8?B?OG9xNEhzZklvOUgyNW5LNTB5SStNNGdzM1Q2TjBLTXZ5SzIvVzRPWmJoZ09Q?=
 =?utf-8?B?N2Q4dmg0RzhDTGd6M1FPUFJRYnQ5WUx3ZThjUGhWV0ZFREVFMnE0eHpJcTBY?=
 =?utf-8?B?amJYWkdmd09JdE51cXlsRVN3THBnV2NXYUJ3aGUvU0c3dWlIU1JCQTVYWDZG?=
 =?utf-8?B?Y2pnUHhoV3N0UzIzSkxTWjYxZGUwMGRreTBhc1l2RUJaNU5qTVR5ZTNiSmRW?=
 =?utf-8?B?cnV3N3grYWNWQlZRd0JqTzQyeVhKS1lZd0w4T0RjMkV6QlN2Q3ZEYXRlSmdV?=
 =?utf-8?B?aEZOeTFEcFlJREN4am5Ic0Z1dWoyTEpyS3lycUgzaGY3cE5EWVlYMWlPMmVU?=
 =?utf-8?B?VStkZ1FONkdlWGZ1a3d2RVpWbUVzNVNUc0FJcG9xTk5zQ2FMZXFpL0hEeTFu?=
 =?utf-8?B?ZEtIOTl1d1JIM3lERzFUcm15ZmlmbHVSaC91eVNFWEpsdHlHRmdpTEN5Vm8v?=
 =?utf-8?B?N3M5NzNtU29sOGZ2UlJxcGhGeHY0alBDYnBXaFBHcFQwVEE4RnU2cEZiQUh3?=
 =?utf-8?B?SzA3NmJlQ0dnVGVrWGdabXFCd1c1L28xMFlBR1FZUUhoS1czM1k4a21adEZB?=
 =?utf-8?B?Ylh5MStaNlVtcHAzYXVxWWZFUkNBYWdnc0JUQS9iVmRYZ2VsL0Zkd0NLVzVP?=
 =?utf-8?B?NXR2SW4rSGs5WDJKcFIyQ0tiZ3dQUEZzSzZjaGtCSkRrdnJPeGpEZ2Fybi9S?=
 =?utf-8?B?MjNzN3FtbWZnTU5FWmQ5MFR0eUtrUGp3ckpBcTR5Y2o4UVE0ZkxzNmNBMXE2?=
 =?utf-8?B?OW1PMVB6d0ErRGJ6Smg3R1VtS0xhQjRrYUI1QjBrNFFxZ2lsR2dMajVFa1VW?=
 =?utf-8?B?TExUNDRZOCtLbTI1TG5QOTF1WTlUTE1UYlFxSlYrbVJOaVZ5QlR1YUp1dWE4?=
 =?utf-8?B?SVFtS0luNExucGVuNURWSzdPNEEyQnVENStvSjRNK3pwa1FZaUFlVTZpUzNP?=
 =?utf-8?B?ZGhmY00yOGNKMzZES2xrczM5Z1ZVT3lvRVZxQTFxT3ZsNFhYdHNVbnZPWEhr?=
 =?utf-8?B?Y3A0cDBVS1d6Y3FEZVZESFZRSVV0ZjlseDZpQmhaaFRDRGtLSm5odmR0UFJG?=
 =?utf-8?B?eEZ4UEM1Q2ZtbWdUendFZ2NjZWpFMUl5T2tEaWFJNm0xNVRuVWNoU1R6cXZ1?=
 =?utf-8?B?ZCs1bEhUNndwWk4wOE1LYVAxRlI1MGJ3QXdhbDBMN3p6Y3o1M3NhZEdpYVZj?=
 =?utf-8?B?Y2x6cU04c3lFT0wweVVCYlQxWnJRRml2VjZQRUdWdjFneVRWbmpmMDlCYWFX?=
 =?utf-8?B?YzhYZ3ZhYm9neSsreUZBVWZPNmhsSjYwNkVmaGVVRzhHY0k2KzFVSjU3RWYy?=
 =?utf-8?B?QzNJdzhxeFo3NUpXalNqRFF5c1NtNE9kbTJhRGJoNjY0LzRvamkvK3M1YU10?=
 =?utf-8?B?OURHMjN4V281dExUb2FUNXlmR0ZMQzZRQlFTMmlueWo3Mm13bTlhaUMra0lH?=
 =?utf-8?Q?dD85E/+uGtaHVcxQxRqT5gC5CiP9xpS1E/WHwkO?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 72ff444a-d65e-44c6-8c08-08d9670a6788
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 14:21:03.5510
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: s367gf9yDttaV+7zmvBbc/+CMGjXgqR+0vMMKlFE/1XixmvtWoiIJf8EV2hUUXIzL/w+dXgc2++F0QmfRXv9Rw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6161

While already the case for PVH, there's no reason to treat PV
differently here, though of course the addresses get taken from another
source in this case. Except that, to match CPU side mappings, by default
we permit r/o ones. This then also means we now deal consistently with
IO-APICs whose MMIO is or is not covered by E820 reserved regions.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
[integrated] v1: Integrate into series.
[standalone] v2: Keep IOMMU mappings in sync with CPU ones.

--- a/xen/drivers/passthrough/x86/iommu.c
+++ b/xen/drivers/passthrough/x86/iommu.c
@@ -159,12 +159,12 @@ void arch_iommu_domain_destroy(struct do
            page_list_empty(&dom_iommu(d)->arch.pgtables.list));
 }
 
-static bool __hwdom_init hwdom_iommu_map(const struct domain *d,
-                                         unsigned long pfn,
-                                         unsigned long max_pfn)
+static unsigned int __hwdom_init hwdom_iommu_map(const struct domain *d,
+                                                 unsigned long pfn,
+                                                 unsigned long max_pfn)
 {
     mfn_t mfn = _mfn(pfn);
-    unsigned int i, type;
+    unsigned int i, type, perms = IOMMUF_readable | IOMMUF_writable;
 
     /*
      * Set up 1:1 mapping for dom0. Default to include only conventional RAM
@@ -173,44 +173,60 @@ static bool __hwdom_init hwdom_iommu_map
      * that fall in unusable ranges for PV Dom0.
      */
     if ( (pfn > max_pfn && !mfn_valid(mfn)) || xen_in_range(pfn) )
-        return false;
+        return 0;
 
     switch ( type = page_get_ram_type(mfn) )
     {
     case RAM_TYPE_UNUSABLE:
-        return false;
+        return 0;
 
     case RAM_TYPE_CONVENTIONAL:
         if ( iommu_hwdom_strict )
-            return false;
+            return 0;
         break;
 
     default:
         if ( type & RAM_TYPE_RESERVED )
         {
             if ( !iommu_hwdom_inclusive && !iommu_hwdom_reserved )
-                return false;
+                perms = 0;
         }
-        else if ( is_hvm_domain(d) || !iommu_hwdom_inclusive || pfn > max_pfn )
-            return false;
+        else if ( is_hvm_domain(d) )
+            return 0;
+        else if ( !iommu_hwdom_inclusive || pfn > max_pfn )
+            perms = 0;
     }
 
     /* Check that it doesn't overlap with the Interrupt Address Range. */
     if ( pfn >= 0xfee00 && pfn <= 0xfeeff )
-        return false;
+        return 0;
     /* ... or the IO-APIC */
-    for ( i = 0; has_vioapic(d) && i < d->arch.hvm.nr_vioapics; i++ )
-        if ( pfn == PFN_DOWN(domain_vioapic(d, i)->base_address) )
-            return false;
+    if ( has_vioapic(d) )
+    {
+        for ( i = 0; i < d->arch.hvm.nr_vioapics; i++ )
+            if ( pfn == PFN_DOWN(domain_vioapic(d, i)->base_address) )
+                return 0;
+    }
+    else if ( is_pv_domain(d) )
+    {
+        /*
+         * Be consistent with CPU mappings: Dom0 is permitted to establish r/o
+         * ones there, so it should also have such established for IOMMUs.
+         */
+        for ( i = 0; i < nr_ioapics; i++ )
+            if ( pfn == PFN_DOWN(mp_ioapics[i].mpc_apicaddr) )
+                return rangeset_contains_singleton(mmio_ro_ranges, pfn)
+                       ? IOMMUF_readable : 0;
+    }
     /*
      * ... or the PCIe MCFG regions.
      * TODO: runtime added MMCFG regions are not checked to make sure they
      * don't overlap with already mapped regions, thus preventing trapping.
      */
     if ( has_vpci(d) && vpci_is_mmcfg_address(d, pfn_to_paddr(pfn)) )
-        return false;
+        return 0;
 
-    return true;
+    return perms;
 }
 
 void __hwdom_init arch_iommu_hwdom_init(struct domain *d)
@@ -246,15 +262,19 @@ void __hwdom_init arch_iommu_hwdom_init(
     for ( i = 0; i < top; i++ )
     {
         unsigned long pfn = pdx_to_pfn(i);
+        unsigned int perms = hwdom_iommu_map(d, pfn, max_pfn);
         int rc;
 
-        if ( !hwdom_iommu_map(d, pfn, max_pfn) )
+        if ( !perms )
             rc = 0;
         else if ( paging_mode_translate(d) )
-            rc = set_identity_p2m_entry(d, pfn, p2m_access_rw, 0);
+            rc = set_identity_p2m_entry(d, pfn,
+                                        perms & IOMMUF_writable ? p2m_access_rw
+                                                                : p2m_access_r,
+                                        0);
         else
             rc = iommu_map(d, _dfn(pfn), _mfn(pfn), 1ul << PAGE_ORDER_4K,
-                           IOMMUF_readable | IOMMUF_writable, &flush_flags);
+                           perms, &flush_flags);
 
         if ( rc )
             printk(XENLOG_WARNING "%pd: identity %smapping of %lx failed: %d\n",



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 14:21:43 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 14:21:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171463.312887 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIXJ9-0008Cj-5P; Tue, 24 Aug 2021 14:21:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171463.312887; Tue, 24 Aug 2021 14:21:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIXJ9-0008Cc-28; Tue, 24 Aug 2021 14:21:43 +0000
Received: by outflank-mailman (input) for mailman id 171463;
 Tue, 24 Aug 2021 14:21:41 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIXJ7-0008CS-NF
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 14:21:41 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id b0862d5a-d76c-4430-b2fb-9634955bbe6d;
 Tue, 24 Aug 2021 14:21:40 +0000 (UTC)
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur03lp2056.outbound.protection.outlook.com [104.47.10.56]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-23-r7Aesan0O-iVtg8_C5CQhg-1; Tue, 24 Aug 2021 16:21:37 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM0PR04MB6161.eurprd04.prod.outlook.com (2603:10a6:208:148::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Tue, 24 Aug
 2021 14:21:36 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 14:21:36 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR2P264CA0019.FRAP264.PROD.OUTLOOK.COM (2603:10a6:101::31) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Tue, 24 Aug 2021 14:21: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: b0862d5a-d76c-4430-b2fb-9634955bbe6d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629814899;
	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=XDhmLw87aiylH0GLKU5f6Zw6mmbLtfManAIqVhjiMWQ=;
	b=nlAex6iepmLBI4UAOCR8/argoZPjtCZC4wpsV6AKW8sR6l0/IZssRjqkMOSITnqNs4A5RM
	M4U4simw5JnJHQ2fOnByp/gRH4qqcv6GasAPMnGEJdwHcHDMu+H6ZtGpVcxF8+ElOp8orz
	44/b37UKCgI4dPgBX98c9oNnLNzZOls=
X-MC-Unique: r7Aesan0O-iVtg8_C5CQhg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BiMmJAFu//z1yWpAfBlQ/jna30JF/Th8qqAC1jAfH2+L+hw5dbsjXOhARNBmJqPhvm515vk/cGoHUMu96Pi1lgxd/jHZ3WkmIcJwJC+lcqapFqC0R0dS3/jbf/VlNm766v6f4eXAGqoNTohWRPA8blyHzagV+ovTgVxabKoAzqtpkjEhxUx9T9ul1wmd2hZwZx09GCtSowPqN7Fg5lSTsJBqxSCxii3KLDSLB4pLANTJRylGY9kJDE+MLKLlhZ5dELe+iEY3mEVMwYItc+7TuDMLoZKufvUzuGOU/QphqghG7dICT9+IuDtCb+rj0+c/at40uoWKLFeWSRK66l4UMQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XDhmLw87aiylH0GLKU5f6Zw6mmbLtfManAIqVhjiMWQ=;
 b=Tcqkp/9z6G+kFesKTZtHlpvxyFYrFriXIIO43Z37AhbQPDLiYchAWojMgB6YGh0L7Ur9Iet08pg3D3Z6o2w7tqbwrFOy3rmtvJRcScmBIn/XFqnyenrCjU9YE81Viy4RiiZ//lYXnz2JfaXqHmfwgfkAxk43oLXk5Mox8ZInSIn4/c3M38o4Lkxr4BicFQ9w+nE8IwV0Tzr+fBf6Ii/CwOush46AW5k9vhQBoKqJ5fcA5yLOViqWQfU5dPW9VXgSWON9gUR2zsEXFjTQ+efC+SDj3KSsRlkbEGrQb7JbPXRyCSA6DBD54P85R6iy7oZ0VRsIwfXyxC2KUT1mOmo0IQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: citrix.com; dkim=none (message not signed)
 header.d=none;citrix.com; dmarc=none action=none header.from=suse.com;
Subject: [PATCH 08/17] IOMMU/x86: perform PV Dom0 mappings in batches
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Paul Durrant <paul@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
Message-ID: <64501c4f-e723-8bca-1d9a-e734df15899c@suse.com>
Date: Tue, 24 Aug 2021 16:21:33 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR2P264CA0019.FRAP264.PROD.OUTLOOK.COM (2603:10a6:101::31)
 To AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 1dc0da5f-9cd2-40a0-34f4-08d9670a7acd
X-MS-TrafficTypeDiagnostic: AM0PR04MB6161:
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB6161CB80F03F154739D95D76B3C59@AM0PR04MB6161.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:669;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	EO4uiKcWp2Kni3SpOndPaNYSyKe6FSDHyb+CoNNJXKPmQStFd6f3Xtv8yb16QmpzTOwVdnGXMYTzm+MVx53wu2LK0Quv8Bmf8pukDK8wJBtQERWw0z7hzK02QYuRDmFWwcZr3zkTRXeEflEXfNSviOrOFG/rJAe8u11qsxojHQeEi3ZdsdtBS7ssLIwIfLE3W+QNYdJa044r0Wkgn8xwSaCkFjpRulKMEhUIiAMwWnKP9NhLj3Q6zxRCA7agWh9V9+6uJ1Ou5iP29fzHH9HpZhx7KUvwGAA1lITDyAAnXZuKBjl93ByIbs+wGCH5huNL7Js3ArD593X8/AR/Pnhseje16FH4PBEdXF4xjBI9kPJK5ZvUmO5KvGQEsy/nbXtXJmXf6AET92+mwHDS8l5/iDNVSjBSAMxSiUhnschCoPCHNbhrDoENfftAJB/6P1jEH5KiXJCpVWss4x1bMCcCYYG21ncn8SflFOKL2zhZ4rBhp/Zf5U9oPXC6tD44rYe1kURZjVjMA+aCjdDVCsXC6jxRzyeSq3LBMqFzQFaHXi2inkOMoQchv1bbFAHv7O4jb3b/LGDKttAyVCKP7q1Fi0jwzvf7PZoLMy/NvT2dgg8nuhseiZ0oPPUMpzyhY+KY19ANNVqj0FoaNIz1mHArcEvyYkkgb24t5iEUi/JDFliwrTwi+hc080gVnQ821OzKPUdm3Ggmm51vbuBziLDRcmp3j0fk4KMORMBsD43fKTQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(39860400002)(376002)(136003)(366004)(396003)(5660300002)(66946007)(26005)(478600001)(66476007)(31696002)(8676002)(186003)(31686004)(38100700002)(4326008)(8936002)(2616005)(956004)(66556008)(36756003)(6916009)(83380400001)(16576012)(316002)(54906003)(86362001)(2906002)(6486002)(30864003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R2pSendjYVJLYThHeG5MTStkSyt1SmdiSzhQRDRyTkR4NDh5SHdCbmVlTXhZ?=
 =?utf-8?B?VEd0VFRlZmx0Y3VlTmJLc3llYWxoNVFhaGJRQzdqbHBYOStDNjROdzFRYVhE?=
 =?utf-8?B?d2tzL29SKytqNktSZmhhOWg3cFFJZU9Lck5xRHp5UFZQUVVVV1V2MDl1UDND?=
 =?utf-8?B?ZUluMEtRTlBjY2I2dUV2T3BqUHlRSVNsems2eG9BUVY4WUJ3bGR4ZmtnOG1I?=
 =?utf-8?B?T0VWQi9USktyejdzNmlaWDNxNlVQZkFrZHozYlRIT3FwZnR1SFlJck5wa2l2?=
 =?utf-8?B?Y1JINGVmNHB2MDZkNTlZUDl1TEdSd0lKZ0JweHZvRzRPN2RlZ2NIdnN3OHR1?=
 =?utf-8?B?amdSK3cxQUltRlowMjJnTFBhcVpFM2FKbmxGanVBUkgxa0xGSy91TStzcVlu?=
 =?utf-8?B?b3U0TnNLMGZDYW1tSlU1NUh3MytnQVpGSFhmb0wxODRNdkdzWFpBWVZFdFl3?=
 =?utf-8?B?cTVtbDl5RnJFWHZ5ZHV2QVh5VVhhY3BUZXVwVzhaRnFMR3VSNXpENjBzNllL?=
 =?utf-8?B?ZDg0amw0L1JZSlpJTlJLaVRJRzJFMVVZMHU1TFZwR00xeXJyOHBzQmFwMkdV?=
 =?utf-8?B?VG81Y0JWQVlrbkxJTkhYU0lxV2NuQ0NkSjUzWkRXL2FYVUVyaU9IVjdUU1lC?=
 =?utf-8?B?QmN2NWxTM2dWckdLMmFlZHdpMUdtMG44dTNxdGJjbFUzcWFlZzFWSy9ZbVVP?=
 =?utf-8?B?a2pNR3JGemF0aHdXdVVJMEpCVFFJcmFlazBJc0NVSlpFdkpyYzFsN1FEc2Ex?=
 =?utf-8?B?SDFlRmJaZGVEMU9pcmoyM3NreG5NRVh2MUxFRHhvb3JEMm11Snl2TzZQYXdX?=
 =?utf-8?B?QXNkVDRjUk9XQkQyRmRONWw4VjZrYzV2N0FPWGdRZWpNcEd0NkY2NVVuNFVR?=
 =?utf-8?B?Z1Z2T2JwRWVKUjNMdko0dXVhSXhXc05pYW9XM2JLanBZbFlEUzRNRmJCZUJM?=
 =?utf-8?B?NlRkWVladVd3OUhZMC9QMUE1VzF6WitGWFljZ2FVZVBrK2piT2dtcVRtaTR5?=
 =?utf-8?B?UGVlUlIzcTUybWZpZjh6L1BIMlU2WFltRTlHK09SV3ZRbW9qTkxRSUxmSWMr?=
 =?utf-8?B?ZFg0dUFJUlR3NnZxZVFVTk9WbTZuazgxcTJEZTdRUnc1RSt0T2JtOVNnWEFo?=
 =?utf-8?B?VnBLemdrY1E3UzJFV01zdmdTQ2RoMm0yeHYxQUY1R1pvblUvQzZNa3BxM3Fp?=
 =?utf-8?B?RWJXU3ZIVFRlSnUxOUpBcnJTRmVxYjY2UHU1Qm0rZUZKWXNoR1dqanVaUUx1?=
 =?utf-8?B?QlA1d0xua2JOUmJuY04vcm1Cb0xOSHBxZkM3T2ZyYTROSEw2QjdsUXRHRU5q?=
 =?utf-8?B?b0xmS2RuWnlmaEcrTmhwZnBNTTFXK3B6U3BLb1NpalYranpMUUl5MGkvdjN6?=
 =?utf-8?B?VjcyTnFwNU1rdHFRRktIMHd0U3lBcW93OWg1Z0J5aW1QbG50bXVlZ1dOYWFh?=
 =?utf-8?B?OXdrbGdEcHh6ZE9pZVIzQkQ0UTM1aEJkSnkyQk9BQzZjS1RJbXZ5UDg1SUhT?=
 =?utf-8?B?Ui9sa2I0OGxWUmN0T0RQQTZIbUJBVnZnckhudG5uSGRqSCtzZW1hSTh5YlNx?=
 =?utf-8?B?b21NVlFNQXV4MldPTmMrQU5WY3F6cWVIV3RWS2tHSnJoTmcyUUgwKzlXeDlZ?=
 =?utf-8?B?ZWFhbzNPNWNYeDBnS21DT2FkaGdvNCt2eWpISTVYS1huSFJmTGJ4Smd3UFAy?=
 =?utf-8?B?T25keGhsQVRHeGR5eFJBSkNZaFZraUxBUFZmY1RpblJZOE9DaEpZKzJLaFd2?=
 =?utf-8?Q?6VZ4scnetb24XC1p7sPVE1lIdwBip2lVr7Bvwyb?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1dc0da5f-9cd2-40a0-34f4-08d9670a7acd
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 14:21:36.3924
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7T6VuU79roWzK006eE45ULl8l9BN7N3jY2JZmlLNja3/9627/J1PNCs3ddL1yOkK5YccyGl+MrRFLGaZ8ggZVQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6161

For large page mappings to be easily usable (i.e. in particular without
un-shattering of smaller page mappings) and for mapping operations to
then also be more efficient, pass batches of Dom0 memory to iommu_map().
In dom0_construct_pv() and its helpers (covering strict mode) this
additionally requires establishing the type of those pages (albeit with
zero type references).

The earlier establishing of PGT_writable_page | PGT_validated requires
the existing places where this gets done (through get_page_and_type())
to be updated: For pages which actually have a mapping, the type
refcount needs to be 1.

There is actually a related bug that gets fixed here as a side effect:
Typically the last L1 table would get marked as such only after
get_page_and_type(..., PGT_writable_page). While this is fine as far as
refcounting goes, the page did remain mapped in the IOMMU in this case
(when "iommu=dom0-strict").

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Subsequently p2m_add_identity_entry() may want to also gain an order
parameter, for arch_iommu_hwdom_init() to use. While this only affects
non-RAM regions, systems typically have 2-16Mb of reserved space
immediately below 4Gb, which hence could be mapped more efficiently.

The installing of zero-ref writable types has in fact shown (observed
while putting together the change) that despite the intention by the
XSA-288 changes (affecting DomU-s only) for Dom0 a number of
sufficiently ordinary pages (at the very least initrd and P2M ones as
well as pages that are part of the initial allocation but not part of
the initial mapping) still have been starting out as PGT_none, meaning
that they would have gained IOMMU mappings only the first time these
pages would get mapped writably.

I didn't think I need to address the bug mentioned in the description in
a separate (prereq) patch, but if others disagree I could certainly
break out that part (needing to first use iommu_legacy_unmap() then).

Note that 4k P2M pages don't get (pre-)mapped in setup_pv_physmap():
They'll end up mapped via the later get_page_and_type().

As to the way these refs get installed: I've chosen to avoid the more
expensive {get,put}_page_and_type(), putting in place the intended type
directly. I guess I could be convinced to avoid this bypassing of the
actual logic; I merely think it's unnecessarily expensive.

--- a/xen/arch/x86/pv/dom0_build.c
+++ b/xen/arch/x86/pv/dom0_build.c
@@ -106,11 +106,26 @@ static __init void mark_pv_pt_pages_rdon
     unmap_domain_page(pl3e);
 }
 
+/*
+ * For IOMMU mappings done while building Dom0 the type of the pages needs to
+ * match (for _get_page_type() to unmap upon type change). Set the pages to
+ * writable with no type ref. NB: This is benign when !need_iommu_pt_sync(d).
+ */
+static void __init make_pages_writable(struct page_info *page, unsigned long nr)
+{
+    for ( ; nr--; ++page )
+    {
+        ASSERT(!page->u.inuse.type_info);
+        page->u.inuse.type_info = PGT_writable_page | PGT_validated;
+    }
+}
+
 static __init void setup_pv_physmap(struct domain *d, unsigned long pgtbl_pfn,
                                     unsigned long v_start, unsigned long v_end,
                                     unsigned long vphysmap_start,
                                     unsigned long vphysmap_end,
-                                    unsigned long nr_pages)
+                                    unsigned long nr_pages,
+                                    unsigned int *flush_flags)
 {
     struct page_info *page = NULL;
     l4_pgentry_t *pl4e, *l4start = map_domain_page(_mfn(pgtbl_pfn));
@@ -123,6 +138,8 @@ static __init void setup_pv_physmap(stru
 
     while ( vphysmap_start < vphysmap_end )
     {
+        int rc = 0;
+
         if ( domain_tot_pages(d) +
              ((round_pgup(vphysmap_end) - vphysmap_start) >> PAGE_SHIFT) +
              3 > nr_pages )
@@ -176,7 +193,22 @@ static __init void setup_pv_physmap(stru
                                              L3_PAGETABLE_SHIFT - PAGE_SHIFT,
                                              MEMF_no_scrub)) != NULL )
             {
-                *pl3e = l3e_from_page(page, L1_PROT|_PAGE_DIRTY|_PAGE_PSE);
+                mfn_t mfn = page_to_mfn(page);
+
+                if ( need_iommu_pt_sync(d) )
+                    rc = iommu_map(d, _dfn(mfn_x(mfn)), mfn,
+                                   SUPERPAGE_PAGES * SUPERPAGE_PAGES,
+                                   IOMMUF_readable | IOMMUF_writable,
+                                   flush_flags);
+                if ( !rc )
+                    make_pages_writable(page,
+                                        SUPERPAGE_PAGES * SUPERPAGE_PAGES);
+                else
+                    printk(XENLOG_ERR
+                           "pre-mapping P2M 1G-MFN %lx into IOMMU failed: %d\n",
+                           mfn_x(mfn), rc);
+
+                *pl3e = l3e_from_mfn(mfn, L1_PROT|_PAGE_DIRTY|_PAGE_PSE);
                 vphysmap_start += 1UL << L3_PAGETABLE_SHIFT;
                 continue;
             }
@@ -202,7 +234,20 @@ static __init void setup_pv_physmap(stru
                                              L2_PAGETABLE_SHIFT - PAGE_SHIFT,
                                              MEMF_no_scrub)) != NULL )
             {
-                *pl2e = l2e_from_page(page, L1_PROT|_PAGE_DIRTY|_PAGE_PSE);
+                mfn_t mfn = page_to_mfn(page);
+
+                if ( need_iommu_pt_sync(d) )
+                    rc = iommu_map(d, _dfn(mfn_x(mfn)), mfn, SUPERPAGE_PAGES,
+                                   IOMMUF_readable | IOMMUF_writable,
+                                   flush_flags);
+                if ( !rc )
+                    make_pages_writable(page, SUPERPAGE_PAGES);
+                else
+                    printk(XENLOG_ERR
+                           "pre-mapping P2M 2M-MFN %lx into IOMMU failed: %d\n",
+                           mfn_x(mfn), rc);
+
+                *pl2e = l2e_from_mfn(mfn, L1_PROT|_PAGE_DIRTY|_PAGE_PSE);
                 vphysmap_start += 1UL << L2_PAGETABLE_SHIFT;
                 continue;
             }
@@ -310,6 +355,7 @@ int __init dom0_construct_pv(struct doma
     unsigned long initrd_pfn = -1, initrd_mfn = 0;
     unsigned long count;
     struct page_info *page = NULL;
+    unsigned int flush_flags = 0;
     start_info_t *si;
     struct vcpu *v = d->vcpu[0];
     void *image_base = bootstrap_map(image);
@@ -572,6 +618,18 @@ int __init dom0_construct_pv(struct doma
                     BUG();
         }
         initrd->mod_end = 0;
+
+        count = PFN_UP(initrd_len);
+
+        if ( need_iommu_pt_sync(d) )
+            rc = iommu_map(d, _dfn(initrd_mfn), _mfn(initrd_mfn), count,
+                           IOMMUF_readable | IOMMUF_writable, &flush_flags);
+        if ( !rc )
+            make_pages_writable(mfn_to_page(_mfn(initrd_mfn)), count);
+        else
+            printk(XENLOG_ERR
+                   "pre-mapping initrd (MFN %lx) into IOMMU failed: %d\n",
+                   initrd_mfn, rc);
     }
 
     printk("PHYSICAL MEMORY ARRANGEMENT:\n"
@@ -605,6 +663,22 @@ int __init dom0_construct_pv(struct doma
 
     process_pending_softirqs();
 
+    /*
+     * We map the full range here and then punch a hole for page tables via
+     * iommu_unmap() further down, once they have got marked as such.
+     */
+    if ( need_iommu_pt_sync(d) )
+        rc = iommu_map(d, _dfn(alloc_spfn), _mfn(alloc_spfn),
+                       alloc_epfn - alloc_spfn,
+                       IOMMUF_readable | IOMMUF_writable, &flush_flags);
+    if ( !rc )
+        make_pages_writable(mfn_to_page(_mfn(alloc_spfn)),
+                            alloc_epfn - alloc_spfn);
+    else
+        printk(XENLOG_ERR
+               "pre-mapping MFNs [%lx,%lx) into IOMMU failed: %d\n",
+               alloc_spfn, alloc_epfn, rc);
+
     mpt_alloc = (vpt_start - v_start) + pfn_to_paddr(alloc_spfn);
     if ( vinitrd_start )
         mpt_alloc -= PAGE_ALIGN(initrd_len);
@@ -689,7 +763,8 @@ int __init dom0_construct_pv(struct doma
         l1tab++;
 
         page = mfn_to_page(_mfn(mfn));
-        if ( !page->u.inuse.type_info &&
+        if ( (!page->u.inuse.type_info ||
+              page->u.inuse.type_info == (PGT_writable_page | PGT_validated)) &&
              !get_page_and_type(page, d, PGT_writable_page) )
             BUG();
     }
@@ -720,6 +795,17 @@ int __init dom0_construct_pv(struct doma
     /* Pages that are part of page tables must be read only. */
     mark_pv_pt_pages_rdonly(d, l4start, vpt_start, nr_pt_pages);
 
+    /*
+     * This needs to come after all potentially excess
+     * get_page_and_type(..., PGT_writable_page) invocations; see the loop a
+     * few lines further up, where the effect of calling that function in an
+     * earlier loop iteration may get overwritten by a later one.
+     */
+    if ( need_iommu_pt_sync(d) &&
+         iommu_unmap(d, _dfn(PFN_DOWN(mpt_alloc) - nr_pt_pages), nr_pt_pages,
+                     &flush_flags) )
+        BUG();
+
     /* Mask all upcalls... */
     for ( i = 0; i < XEN_LEGACY_MAX_VCPUS; i++ )
         shared_info(d, vcpu_info[i].evtchn_upcall_mask) = 1;
@@ -793,7 +879,7 @@ int __init dom0_construct_pv(struct doma
     {
         pfn = pagetable_get_pfn(v->arch.guest_table);
         setup_pv_physmap(d, pfn, v_start, v_end, vphysmap_start, vphysmap_end,
-                         nr_pages);
+                         nr_pages, &flush_flags);
     }
 
     /* Write the phys->machine and machine->phys table entries. */
@@ -825,7 +911,9 @@ int __init dom0_construct_pv(struct doma
         if ( get_gpfn_from_mfn(mfn) >= count )
         {
             BUG_ON(compat);
-            if ( !page->u.inuse.type_info &&
+            if ( (!page->u.inuse.type_info ||
+                  page->u.inuse.type_info == (PGT_writable_page |
+                                              PGT_validated)) &&
                  !get_page_and_type(page, d, PGT_writable_page) )
                 BUG();
 
@@ -841,22 +929,41 @@ int __init dom0_construct_pv(struct doma
 #endif
     while ( pfn < nr_pages )
     {
-        if ( (page = alloc_chunk(d, nr_pages - domain_tot_pages(d))) == NULL )
+        count = domain_tot_pages(d);
+        if ( (page = alloc_chunk(d, nr_pages - count)) == NULL )
             panic("Not enough RAM for DOM0 reservation\n");
+        mfn = mfn_x(page_to_mfn(page));
+
+        if ( need_iommu_pt_sync(d) )
+        {
+            rc = iommu_map(d, _dfn(mfn), _mfn(mfn), domain_tot_pages(d) - count,
+                           IOMMUF_readable | IOMMUF_writable, &flush_flags);
+            if ( rc )
+                printk(XENLOG_ERR
+                       "pre-mapping MFN %lx (PFN %lx) into IOMMU failed: %d\n",
+                       mfn, pfn, rc);
+        }
+
         while ( pfn < domain_tot_pages(d) )
         {
-            mfn = mfn_x(page_to_mfn(page));
+            if ( !rc )
+                make_pages_writable(page, 1);
+
 #ifndef NDEBUG
 #define pfn (nr_pages - 1 - (pfn - (alloc_epfn - alloc_spfn)))
 #endif
             dom0_update_physmap(compat, pfn, mfn, vphysmap_start);
 #undef pfn
-            page++; pfn++;
+            page++; mfn++; pfn++;
             if ( !(pfn & 0xfffff) )
                 process_pending_softirqs();
         }
     }
 
+    /* Use while() to avoid compiler warning. */
+    while ( iommu_iotlb_flush_all(d, flush_flags) )
+        break;
+
     if ( initrd_len != 0 )
     {
         si->mod_start = vinitrd_start ?: initrd_pfn;
--- a/xen/drivers/passthrough/x86/iommu.c
+++ b/xen/drivers/passthrough/x86/iommu.c
@@ -231,8 +231,8 @@ static unsigned int __hwdom_init hwdom_i
 
 void __hwdom_init arch_iommu_hwdom_init(struct domain *d)
 {
-    unsigned long i, top, max_pfn;
-    unsigned int flush_flags = 0;
+    unsigned long i, top, max_pfn, start, count;
+    unsigned int flush_flags = 0, start_perms = 0;
 
     BUG_ON(!is_hardware_domain(d));
 
@@ -259,7 +259,7 @@ void __hwdom_init arch_iommu_hwdom_init(
     max_pfn = (GB(4) >> PAGE_SHIFT) - 1;
     top = max(max_pdx, pfn_to_pdx(max_pfn) + 1);
 
-    for ( i = 0; i < top; i++ )
+    for ( start = count = i = 0; i < top; )
     {
         unsigned long pfn = pdx_to_pfn(i);
         unsigned int perms = hwdom_iommu_map(d, pfn, max_pfn);
@@ -272,16 +272,30 @@ void __hwdom_init arch_iommu_hwdom_init(
                                         perms & IOMMUF_writable ? p2m_access_rw
                                                                 : p2m_access_r,
                                         0);
+        else if ( pfn != start + count || perms != start_perms )
+        {
+        commit:
+            rc = iommu_map(d, _dfn(start), _mfn(start), count,
+                           start_perms, &flush_flags);
+            SWAP(start, pfn);
+            start_perms = perms;
+            count = 1;
+        }
         else
-            rc = iommu_map(d, _dfn(pfn), _mfn(pfn), 1ul << PAGE_ORDER_4K,
-                           perms, &flush_flags);
+        {
+            ++count;
+            rc = 0;
+        }
 
         if ( rc )
             printk(XENLOG_WARNING "%pd: identity %smapping of %lx failed: %d\n",
                    d, !paging_mode_translate(d) ? "IOMMU " : "", pfn, rc);
 
-        if (!(i & 0xfffff))
+        if ( !(++i & 0xfffff) )
             process_pending_softirqs();
+
+        if ( i == top && count )
+            goto commit;
     }
 
     /* Use if to avoid compiler warning */



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 14:22:37 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 14:22:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171468.312898 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIXK0-0000Um-Kt; Tue, 24 Aug 2021 14:22:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171468.312898; Tue, 24 Aug 2021 14: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 1mIXK0-0000Uf-HZ; Tue, 24 Aug 2021 14:22:36 +0000
Received: by outflank-mailman (input) for mailman id 171468;
 Tue, 24 Aug 2021 14:22:34 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIXJy-0000UT-Lm
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 14:22:34 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id b8bb468a-04e6-11ec-a8dd-12813bfff9fa;
 Tue, 24 Aug 2021 14:22:33 +0000 (UTC)
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2050.outbound.protection.outlook.com [104.47.2.50]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-27-EAaiN3pKMOCs2cTi7xXhKQ-1; Tue, 24 Aug 2021 16:22:31 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM8PR04MB7841.eurprd04.prod.outlook.com (2603:10a6:20b:244::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Tue, 24 Aug
 2021 14:22:30 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 14:22:30 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FRYP281CA0018.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::28) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.5 via Frontend Transport; Tue, 24 Aug 2021 14:22: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: b8bb468a-04e6-11ec-a8dd-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629814952;
	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=so4Ky1V9NCja2VXT8wrI2XRvzJ/MB1YyQWdii1AitFk=;
	b=RSxw5IIkh6vKJSR+1eUE14ly6vLWXSWeVUUbbmcZZaW6py7Be3Bud0ILh8QK+QfPufqvSg
	yHfJH7wNX+hZ9q9haWspmDQEqO6mTpC4nJnAvwelL3+YZJYpCI/CLH/1g2hG3gjWBnhxyK
	/3QmdiEed5BSXxYtl48kkcjd8nfRWDg=
X-MC-Unique: EAaiN3pKMOCs2cTi7xXhKQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=j5OQ56glue2IGjcQnXiv1GxbpS2z9UZ3jYunFpon6Ki4yT+NJP6+TsrO8ipEkmyENf1DsOZbiXS6B14Eo0ngMk/hx+ugVNbr7rb2QetnUPuRiVOxF3SNhQxSSMPv1B8968oZxb8Q7Sq50bsxJ35INzSWj2CCoCkHhRZVQjm1Vzgxe6cvw+RhQXuOoOA8C+Z5VS/QFv5kMHpRsed3ISCmROBXNF4ZZRZ8rt74GOpuuCYQNqNtKL2nlArDGS2/NiSb/OmF+RAjaLQokzNqU+6NiCnxEYNet0OaXl/+mFv1uGiVaXmatfui+M3FYe2rdquIXEBfyCnjvIeD8dyjWsozug==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=so4Ky1V9NCja2VXT8wrI2XRvzJ/MB1YyQWdii1AitFk=;
 b=Svs8+XK8AjLd4rn8JXBSr0Saej9T1Hzm+10qLbhMaSA9mTuaAbKXliKKPFtGZuAsyWL6CA1TICfRko6o73nokiMulZCbBwR1HaCAh+4qEx6LgZ8RV3svAEh+7lmuW3TNDJSzX5/5A92WCkXk38L+4PqOqu+yBx1jofKZ1JQRibNOO+y1rgYHtFkYYnHpbRtm7tN1aqoxhu9Xebn079GfZSHZ8wwqN0zXFF9pFVLI7vNwHg/kM78qcMNPkREk25Op89kqP4LD6dq4NmbwOiGoaaqs2Qb/oXTiTMRL0X1Pgu5VLAlmq0ZDhyUcGjnN+V0i/1F9M3Xhj2xs10j9YRKajg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: [PATCH 09/17] IOMMU/x86: support freeing of pagetables
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>
References: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
Message-ID: <41171b38-2e06-74e9-364f-02736f5d93b4@suse.com>
Date: Tue, 24 Aug 2021 16:22:28 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FRYP281CA0018.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::28)
 To AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 73ce02b5-3dfc-46f0-8df6-08d9670a9b42
X-MS-TrafficTypeDiagnostic: AM8PR04MB7841:
X-Microsoft-Antispam-PRVS:
	<AM8PR04MB7841235A1A8BB97B0D5F6217B3C59@AM8PR04MB7841.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:1284;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QqaAmhj6g8c0NqW0JFQL/GJxdp5ctMfsLW5GFKGtV/qrWZlj4Zj6SA7kjX3+5OSv6hy4c1NiWocj9o9Agkz9y+gTXQsZv2W8JtAJBum1fYGEZaHRSc+nBg7JG+BzlxuPedq3JDG7SFfKLgo3b9wD1ilGupEt0GXEnHzYJN2VBHrdHSGF8GrlvnGJOnZNgKzhJTtlAJuM3sE3Hu7zyaiq6QpNf8ZjUkL54+8F2/mFPJTnEjJcQiQVifRM/5TbG3gflqJSGQwjllUIu92A/Ba1CWyK8a1vauzQnIpHHOXCLo8Wij8R1oDs4kUI+4yavQtoL8kCmJL+OU0IMXAlLynIK4Jg3WZN7mK4TnN0pW6T2KdPpjIoM8C60We1iZqHskmsXkLl+6XA/ETzN+QKlFaGlEfLw5c+AvVHoATfB8QrUuOAbP9wq1mXctST03+DzPBhN547rXdGHIkhQdasRkwyDTIV4gsToBQeBdY0ljYHIlZ/E5q5uVTkH1xrSCo63NatCJ0ca/PGdvdBFEC21ZaeI/sQiWSk3XlXekcmp3v46kCYewiUqn51IHAE/FpFIuR0TIcGZOLOigRJZ/T3jflh8HunWi6dW48q9It7icjd4FKO3HFGsSk9GZ+0HhppGaSyjgRQuQsjJ1DeJ/HVSDUaVxsx1lTy3OoPck2qkwW7V75t6irn9+ZQEXO8YXTdX3H3hlYyKwiCARrG6hDHEWP/LS0YM3QojcSFFFFaAhhvq5e/t2Z5nUjAXy320JcXB9jbBwxD4MnkW0QLW2MqvjZLs8lWhDaOJJDCa8Qr/NUBpM/xcvhOZ/N7YRIvN+Ab3S1o
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(39860400002)(396003)(366004)(376002)(136003)(38100700002)(8676002)(83380400001)(26005)(6486002)(31696002)(31686004)(5660300002)(86362001)(54906003)(956004)(316002)(478600001)(36756003)(2616005)(66556008)(66476007)(16576012)(66946007)(6916009)(4326008)(8936002)(186003)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bm9KVEJkMTJiRG1tUnE3cFN6TkpnU1NubFUydkltYzBPYjFaN2Nwb2VnYXdT?=
 =?utf-8?B?bThuQWREL0NnSkRSWWNpQmo5VWxmV1dqWjQ4RmVUV2wvTHpDRTN0VVY3S1k4?=
 =?utf-8?B?dmtWaVFKZlZwWE9MSUtDc1pPa3hna0kxNHJ1SlN4SW51a1FPMitTQm56SFha?=
 =?utf-8?B?L3JjT3JrM1k2b1pDRnNCeFczci95cmwxaThpSHlFMlh4K2dnc0pFS0xJSitU?=
 =?utf-8?B?YzVSaStDRDdCaDlJelIwVFZTZ1EyWENRbEE5NWdhYXR4d2hSS1g2M1FmMkFJ?=
 =?utf-8?B?cnBpNDZ3aFhVZXFyeHpWWjh0UkllRjNVYVBKdlZDaWFvVlYzTkpvQ3VtaEZx?=
 =?utf-8?B?YUM3OUJxVHBCOFk1ei9DYy9HT29jOHV0eVIzN3pPNTlsbWJTY0JyU0FBcmxO?=
 =?utf-8?B?SkkwSlpZYWJZR0RkejF3a004aXhXOXY2ZjJVZFlrTW9sWFhkWkVndzJ0cnZ1?=
 =?utf-8?B?aHY2Sm11MkkyTE42K1VYZ3VEVk0yNzhLdkNpRWRoeHIzWHhsWmFXV0VETksr?=
 =?utf-8?B?NGVLdjBSdlM3ak8rcVduM0J5K2JlUk1XK1pyUG1qa2VySnhIQ2NMcjdVQmx3?=
 =?utf-8?B?SE54dTEyVldRSzBINlQ0V0ZiVy85dFZVVXBMenRMYUtwTkIrelE3Z1VTVUY3?=
 =?utf-8?B?K1A3YVRtYjVnS21sbk1yUEVPbEsxS3A1WDBDaFBmclFwdFpiZGdvLzArQ1Nn?=
 =?utf-8?B?T3JEUVRvbnVFZVZkczVxSjZ5QndOWUQ0VFNqRCtzRjFldFZ4dUFFK0FrWW9L?=
 =?utf-8?B?Tk5PWHNsZTF0ZHA5enY5dUhoS1E5TEwwS3pVQ2pZS3BsdGlENVFuQjBSVDhV?=
 =?utf-8?B?VjZIdjhKTFA4NEg0OHpLbVY1SHROMGE0T0NaOWh5Z3BiOS9Bb1pNYi96TkZD?=
 =?utf-8?B?Mk5iV3BieFBPanlwbDVkTGs5OENLYkJVWkRrWUNGelh0QW5HV05xOWRyQmVs?=
 =?utf-8?B?M0tibHRmQzFSeFJzSjUxK2xUNHNDcFU4MDQ4VnRKUjFELzUxU2J3V3VML0dG?=
 =?utf-8?B?aktYUEhmUzRDUHNJZTFTbzlYU2lxZUhuOFFDT2lmMFAwR25uU00rNE9TMU8x?=
 =?utf-8?B?Mk4vMW8rT0ZQeWhUSEk3eXB0ZzBXSWpTL1NwWW0vUlRXVDgxVk5RUTNBYnYw?=
 =?utf-8?B?NXFkZ3NEamdhRU9YbmdtdzIzK3N1aEM4OUlJQzBFS1NIK3YvRFk3RFlRdm9j?=
 =?utf-8?B?ZE15dW9mUDNrMmVKY1RIYUxVbWQya1JrY2FZc01mdk1pdjl6V2VRazBGbWYy?=
 =?utf-8?B?dTV2ejZtRVNKUmsvT1N4UkEwNit2TXNoWjlGUDlWVlZINHkrWTd6cnFtdTVm?=
 =?utf-8?B?MzAzWDMrbGp4Ynp3dWQwOC9xU1JlckdoUjVFL0twTmI0L09LWEVOVk5sejAw?=
 =?utf-8?B?cjFXMUR6Smh6Q1ZxZVp2WU42TWp5QWxuVGU1Z0xrd2FoOFU4ZFNDK0RwYzg2?=
 =?utf-8?B?K3VUa0dTV0pheTdxdFVKRjAyelZ1YlJCVUVoMThXYm9GVXY5MjkzVmtpWTVM?=
 =?utf-8?B?UkhvY3VzVi9lLzIvSXBSYXY3YUMxckFwbWxLSFpROElPL1Q3MGcxWDdRNEw2?=
 =?utf-8?B?SnRMT2UvNGNSYldvV2hFMExqV3dueGhrS2dqbG5raU9DMktaRlhIeWZFY3RF?=
 =?utf-8?B?bFdwaytsOWlhL2pqdDNweE1rdm1idTdLTzRvTFQ5bEphZXlMRWQvT1I3T1Jq?=
 =?utf-8?B?K3E0MENaTkdxdmdxZW4zL3M5dGJUUFROdU1Td0JSd2hhb2w1YVN3SW9UcnFU?=
 =?utf-8?Q?XECWTDys0DSTMdkhsDkp0tUJYtGtw6C+DYS/rBX?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 73ce02b5-3dfc-46f0-8df6-08d9670a9b42
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 14:22:30.2809
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: P5FO5k9kw9BodPkSGAFMIW1l+nrDOxvRb7GeDG0jxkbbBWmIL9ib1+KZl2NP4ktgbHzh0u1S8AbRo0Y4zUuxnQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7841

For vendor specific code to support superpages we need to be able to
deal with a superpage mapping replacing an intermediate page table (or
hierarchy thereof). Consequently an iommu_alloc_pgtable() counterpart is
needed to free individual page tables while a domain is still alive.
Since the freeing needs to be deferred until after a suitable IOTLB
flush was performed, released page tables get queued for processing by a
tasklet.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
I was considering whether to use a softirq-taklet instead. This would
have the benefit of avoiding extra scheduling operations, but come with
the risk of the freeing happening prematurely because of a
process_pending_softirqs() somewhere.

--- a/xen/drivers/passthrough/x86/iommu.c
+++ b/xen/drivers/passthrough/x86/iommu.c
@@ -12,6 +12,7 @@
  * this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <xen/cpu.h>
 #include <xen/sched.h>
 #include <xen/iommu.h>
 #include <xen/paging.h>
@@ -363,6 +364,85 @@ struct page_info *iommu_alloc_pgtable(st
     return pg;
 }
 
+/*
+ * Intermediate page tables which get replaced by large pages may only be
+ * freed after a suitable IOTLB flush. Hence such pages get queued on a
+ * per-CPU list, with a per-CPU tasklet processing the list on the assumption
+ * that the necessary IOTLB flush will have occurred by the time tasklets get
+ * to run. (List and tasklet being per-CPU has the benefit of accesses not
+ * requiring any locking.)
+ */
+static DEFINE_PER_CPU(struct page_list_head, free_pgt_list);
+static DEFINE_PER_CPU(struct tasklet, free_pgt_tasklet);
+
+static void free_queued_pgtables(void *arg)
+{
+    struct page_list_head *list = arg;
+    struct page_info *pg;
+
+    while ( (pg = page_list_remove_head(list)) )
+        free_domheap_page(pg);
+}
+
+void iommu_queue_free_pgtable(struct domain *d, struct page_info *pg)
+{
+    struct domain_iommu *hd = dom_iommu(d);
+    unsigned int cpu = smp_processor_id();
+
+    spin_lock(&hd->arch.pgtables.lock);
+    page_list_del(pg, &hd->arch.pgtables.list);
+    spin_unlock(&hd->arch.pgtables.lock);
+
+    page_list_add_tail(pg, &per_cpu(free_pgt_list, cpu));
+
+    tasklet_schedule(&per_cpu(free_pgt_tasklet, cpu));
+}
+
+static int cpu_callback(
+    struct notifier_block *nfb, unsigned long action, void *hcpu)
+{
+    unsigned int cpu = (unsigned long)hcpu;
+    struct page_list_head *list = &per_cpu(free_pgt_list, cpu);
+    struct tasklet *tasklet = &per_cpu(free_pgt_tasklet, cpu);
+
+    switch ( action )
+    {
+    case CPU_DOWN_PREPARE:
+        tasklet_kill(tasklet);
+        break;
+
+    case CPU_DEAD:
+        page_list_splice(list, &this_cpu(free_pgt_list));
+        INIT_PAGE_LIST_HEAD(list);
+        tasklet_schedule(&this_cpu(free_pgt_tasklet));
+        break;
+
+    case CPU_UP_PREPARE:
+    case CPU_DOWN_FAILED:
+        tasklet_init(tasklet, free_queued_pgtables, list);
+        break;
+    }
+
+    return NOTIFY_DONE;
+}
+
+static struct notifier_block cpu_nfb = {
+    .notifier_call = cpu_callback,
+};
+
+static int __init bsp_init(void)
+{
+    if ( iommu_enabled )
+    {
+        cpu_callback(&cpu_nfb, CPU_UP_PREPARE,
+                     (void *)(unsigned long)smp_processor_id());
+        register_cpu_notifier(&cpu_nfb);
+    }
+
+    return 0;
+}
+presmp_initcall(bsp_init);
+
 bool arch_iommu_use_permitted(const struct domain *d)
 {
     /*
--- a/xen/include/asm-x86/iommu.h
+++ b/xen/include/asm-x86/iommu.h
@@ -136,6 +136,7 @@ int pi_update_irte(const struct pi_desc
 
 int __must_check iommu_free_pgtables(struct domain *d);
 struct page_info *__must_check iommu_alloc_pgtable(struct domain *d);
+void iommu_queue_free_pgtable(struct domain *d, struct page_info *pg);
 
 #endif /* !__ARCH_X86_IOMMU_H__ */
 /*



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 14:22:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 14:22:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171470.312909 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIXKM-00011w-UP; Tue, 24 Aug 2021 14:22:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171470.312909; Tue, 24 Aug 2021 14: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 1mIXKM-00011p-Qc; Tue, 24 Aug 2021 14:22:58 +0000
Received: by outflank-mailman (input) for mailman id 171470;
 Tue, 24 Aug 2021 14:22:57 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIXKK-0000xB-Vt
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 14:22:57 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id cce54cdf-c594-474c-886b-f21006515829;
 Tue, 24 Aug 2021 14:22:56 +0000 (UTC)
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2057.outbound.protection.outlook.com [104.47.2.57]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-29-wog-5mtmOp--EWstW0iixw-1; Tue, 24 Aug 2021 16:22:53 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM8PR04MB7841.eurprd04.prod.outlook.com (2603:10a6:20b:244::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Tue, 24 Aug
 2021 14:22:53 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 14:22:53 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0209.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1f::29) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Tue, 24 Aug 2021 14:22: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: cce54cdf-c594-474c-886b-f21006515829
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629814975;
	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=YHr+CH5Pz0j1yX5jp8hrrxKCetSkHo6HQeq3jEu7QTM=;
	b=cwGIeEdp6rz/ULXfkoS7UJ9ZndHRjDZ97K1pD3GORcrI9ixCIcuRkD5FiAC/iZePU1Sqf0
	NRXBhsoAOca/kYvcQicIbCm28/SVuwdmQ62AS8GEPwxN3GcM9hltejPviDMHwYggkiJSFw
	B+4+emgKn5WJ4MJ4DubgduJg3ztnbCA=
X-MC-Unique: wog-5mtmOp--EWstW0iixw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OQF2sDF2mtee0at7lvVtM6YUPkLPfpdLAJWjd1Jj2oV/AT4KNz+ld9crXPk8GuaCZhnslGkHKZTSt9wImDRsxEro/e+cHVPKEETyAftdjLU26wNqOJH2ARqJvSmtWk2uac3YY3A18TmxnWa2WVODUYtt2mmfev3iIdSjNmDwWAXhs9i++Ci1m8iMryJcHxuq6AWfkmoCj968jcT9HiAevd+FCh3AZXB4eyEB087/N9qXpSoGO+dw4PJpUfbRAmmPL0oDWhU/4KPsj6hqKtyFqvuj7OuthRWYu70s5OuHEt8Z0hQlsLBGgjyk3OFvpApmQPS4g4VVjpDielZvLsHW4Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YHr+CH5Pz0j1yX5jp8hrrxKCetSkHo6HQeq3jEu7QTM=;
 b=A2FVjf8y3TsRzNCJ/+hY+xGT0WisI2hYPcZolfX2inUkFDTiKcCmynYcte9pFKL9awGWS4K+VByyU7Dl42e6d2fxpxc3U7Oey6fCKxW+KfI/84XFtXhp+SffNa/Xa0gCnSoJEVpE9Gsqy+ykDy/dpYhRoxmNIxcy/RoX/P5MM3UlvYSOR7ShpcihYZ6MNVdpKJ8RRCiMgzyRWwt4E3cAED/udwJgdaE3oDlxEnsU0QU6Irf2Xjy10+JG2BBGKBdPsUufy12gq2kuebes99ouwHLlUrruAxyMz2JBlOotpj3vYvt15hjDXHfAe6dZwNHAaiW1fRF1xy+Ij2QyUcFRIw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: [PATCH 10/17] AMD/IOMMU: drop stray TLB flush
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>
References: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
Message-ID: <d662c8ab-ee0b-87a1-2e02-e39228c7c3c2@suse.com>
Date: Tue, 24 Aug 2021 16:22:51 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0209.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1f::29) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5f0806f0-de44-460e-03ea-08d9670aa8ca
X-MS-TrafficTypeDiagnostic: AM8PR04MB7841:
X-Microsoft-Antispam-PRVS:
	<AM8PR04MB7841B61CACABF2BF8D350BB8B3C59@AM8PR04MB7841.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:7219;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bPkW+/mT7KGsZKB7kfJucvRCTOF+i6xQ49NVi4htL9Wc8gAunDux1k0KobMxOcOiRKkSOCLVz3hgMBatq8rkwCAB9UZt7kpNcnuC7Vs4iUrfjDFh7MW5pBljUkE8pmOYFlEwl7MQV7Y3r87o/bo5nNecl4uv6CpU8OoL17dBPGKP+78GbJklEDW6e58NW9npCJFV/tujXhSX3fYBbVJHoLdHYrJas89lsUvKAPIxBFGkQzpSW3jhwjU+RX+ABnn45rm4VBl0MoQi8oqd5hAgRMsKkmL/X5gDDiHskWIhCp/FwhJJaIGe5/7QxZG8vTuu3DjG2l3Zkmtaf0zMWl/Or2S5H0tWwpOIeeUKdVBZJfxahYYBIGiWuLW9+/zA9yEaYpzfWQ3bpd8w4tNuWkT3j0wNz7kQJlTZUvwutqpW38oh9WxpRivHi4ECv2beMQ2953N3jCpH73KhGZimAD7K2wzSyqPs1LmXRorkL723coPgYfRbJ5A/DMKUwTFCBePwuYoI9tre5Ttu8x4FIyNKaHxkpvIGh/4iE+3XnlvjOBNfEGWDZRczOiPHLV3wCjSihMMnZ7MFE5NKh3RweU24jV270f0rJYCu3L1nfU/o6Xt5NcdeSbPTnGjdjv8vgF7bQmSKjiLtywuCEzoNI7Z9XXFehbwXdlIrfCyFbnOqOStOmds1ELowXzj7yr2SY+coIdtUZqpgTDHOuvonbs5r/LV/L93JBNbc7t7kL3P8IZY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(39860400002)(396003)(366004)(376002)(136003)(38100700002)(8676002)(83380400001)(26005)(6486002)(31696002)(31686004)(5660300002)(86362001)(54906003)(956004)(316002)(478600001)(36756003)(2616005)(66556008)(66476007)(16576012)(66946007)(6916009)(4326008)(8936002)(186003)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QkVEQS9YRm1xYUNkUVBOUjJpU1pNTDdjdzZGekdDcjQ5UXEyVEtoOFdaOGdj?=
 =?utf-8?B?bzlzSWlJK3BLQ2NtVE14amE5b0QwWUdSczBGcU1uaEhrWkZodmdwMzZHaS9r?=
 =?utf-8?B?YjZyandEY3AyQWEzTGNXRkU5dDhEa1RubVNwVzJjSzZxZVRvOHE1c3ZYdEl3?=
 =?utf-8?B?WE1YR0owQkF3WHdrVnZlZjYyT1NVUEQ4SkIwTURuaVhRSmsrcndiWGQ4L0xl?=
 =?utf-8?B?ZlRmSkZGdHRjYktDcnpKekcwdngvODQvKzFkK0JrMEE1SThEZ2dzRkNzVjhT?=
 =?utf-8?B?NFlWTzlua09XVGIwSkhnbXQvV3B0RlNQTVora1I1NDZVTy9KSm5LSEREdk1j?=
 =?utf-8?B?bE9wb3dNRWZBQWFWb2lJMGcwVTRnRjBGRWNxN0dXSlYxV1BpVEhqbHUxTU53?=
 =?utf-8?B?SUFIcWhuOU5ac3F5bG0xeFB4MExIMDcwZHVXMEtyclFZVzkwa1pLZnl4aVVG?=
 =?utf-8?B?WVdDZDJvN2FEY0hMd1ZNT3Y1ZTZhZGF6czRmRmptUkVJUmdicEh1LzVUVkpE?=
 =?utf-8?B?SkdxWlR1Wi84blB6UldoSXczQkprL1U3VDdudnFsSUhLanJYVFlERkU5aXVV?=
 =?utf-8?B?a3hDQ1ZyTW85RXptQzFSdHN5Z3RjTVdjV2ltRDdRUVdrWUdYa0RGOUlxc0NT?=
 =?utf-8?B?YnE2Qzg0SlJJTEpVZ29WK1VqRVFLaEREU1BCMzRoVG94NFJMbkFKQUkwUlZB?=
 =?utf-8?B?YjNHblFzZnRLTEZhQno3WU9pZkRWZURqdU9USlRjanZhUE45aDZBT2U1NmlO?=
 =?utf-8?B?ZWJqeVVXKzY3SG9DT0pUaHkzbTNkTit0alJ4alBCcWF3L1lHRmllajBLalNj?=
 =?utf-8?B?SDF1Wjg1dE1kajFUejEwVHUwRk85ODd3UTBuT1EwNzdHbXNrV1I1Mk9DaVdM?=
 =?utf-8?B?YXl6VzlVZFJqV0FnZW9tTHpHbjMxQndRYTJ2RysxTUVSaEV5V25WVUVtbnZw?=
 =?utf-8?B?THZXZWpad2I5SjZIdWJFdXZ3OFhDeDZpVjF0V3k4ME0rdGZodHRJZWZGMWF3?=
 =?utf-8?B?NnVVaDlRQWIxR0J6TTYrMWdISnNQZGNsY0FMaDk0Nlhob2FvMGplRC81NDE3?=
 =?utf-8?B?MEw3UUVsaVZXUEJjYnhGYUszc0lCR0p6Zm9KRDNVb0NaNGg2OXBqVVl5MGtR?=
 =?utf-8?B?QlhMa3dMUkJ0NHpTV05WaFVrNHRVNnpIVm4vVldwMUtUNXJLSklYRmUrR3gv?=
 =?utf-8?B?dzhLN0E2UWZNVGRhNnAwbnFZMENTMmhHbHVJYWg1MWZUaW15TWdHRzBhTzd3?=
 =?utf-8?B?NXcwRWhRWTROMGNZenZydU5JMFBISXkxZE9tZ1phRmJZM2E1dzc3UDJxMnJM?=
 =?utf-8?B?THpKQUhVY1NhZEpBZ0F4VUVkcnI5QmFrckRSNXc5R0craXQ3eEJuaHJTNHMv?=
 =?utf-8?B?eWU1Rk9OM2NuN2RvTVZWRmFjeDJScHZsSW1KOXg3bHJJclpCTkwwS1pkTVZz?=
 =?utf-8?B?KzhmM2EyODR3VWNNVmRNWU1nbkw4dXhGa3hiZnhNaktmVFVXOTMwNFkreHNH?=
 =?utf-8?B?K2lIeGNXaWJ6TExUVjkwMWt1bTJRcVErY1JMdkZwUDQxSmNYb3NzcXRpdkth?=
 =?utf-8?B?WDI1MmdMRVpEOXJ1K3dRUHBhMkgvZlRGTEJBclk5OSttMWJITmZ0WUVEeDJK?=
 =?utf-8?B?QmJaU1VUSnRlR3Y2aUNTUGFzamJJT3BqNVFTcjJOdHphdGQvZGxsTnlzdmNt?=
 =?utf-8?B?dkFlN3h6QlhucnVMZTRZWTc1bkJnbWg3V0JFalNhaDNjL0UvTkoxdmlRb0FN?=
 =?utf-8?Q?yBf6sYo5Bo20486uCXeSesICmmbGS7DUc63nP7x?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5f0806f0-de44-460e-03ea-08d9670aa8ca
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 14:22:52.9910
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Ezzxh3R+sjU7YwhcSzQM+MZYAOwMkyPyoizxoAiGnrFEfNpEM1fCCRRi3dKH+/pKX/VljPGqQ7KVHbS/zanYdg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7841

I think this flush was overlooked when flushing was moved out of the
core (un)mapping functions. The flush the caller is required to invoke
anyway will satisfy the needs resulting from the splitting of a
superpage.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/passthrough/amd/iommu_map.c
+++ b/xen/drivers/passthrough/amd/iommu_map.c
@@ -179,7 +179,7 @@ void __init iommu_dte_add_device_entry(s
  */
 static int iommu_pde_from_dfn(struct domain *d, unsigned long dfn,
                               unsigned int target, unsigned long *pt_mfn,
-                              bool map)
+                              unsigned int *flush_flags, bool map)
 {
     union amd_iommu_pte *pde, *next_table_vaddr;
     unsigned long  next_table_mfn;
@@ -237,7 +237,7 @@ static int iommu_pde_from_dfn(struct dom
             set_iommu_pde_present(pde, next_table_mfn, next_level, true,
                                   true);
 
-            amd_iommu_flush_all_pages(d);
+            *flush_flags |= IOMMU_FLUSHF_modified;
         }
 
         /* Install lower level page table for non-present entries */
@@ -309,7 +309,8 @@ int amd_iommu_map_page(struct domain *d,
         return rc;
     }
 
-    if ( iommu_pde_from_dfn(d, dfn_x(dfn), 1, &pt_mfn, true) || !pt_mfn )
+    if ( iommu_pde_from_dfn(d, dfn_x(dfn), 1, &pt_mfn, flush_flags, true) ||
+         !pt_mfn )
     {
         spin_unlock(&hd->arch.mapping_lock);
         AMD_IOMMU_DEBUG("Invalid IO pagetable entry dfn = %"PRI_dfn"\n",
@@ -342,7 +343,7 @@ int amd_iommu_unmap_page(struct domain *
         return 0;
     }
 
-    if ( iommu_pde_from_dfn(d, dfn_x(dfn), 1, &pt_mfn, false) )
+    if ( iommu_pde_from_dfn(d, dfn_x(dfn), 1, &pt_mfn, flush_flags, false) )
     {
         spin_unlock(&hd->arch.mapping_lock);
         AMD_IOMMU_DEBUG("Invalid IO pagetable entry dfn = %"PRI_dfn"\n",



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 14:23:58 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 14:23:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171482.312920 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIXLJ-0001i7-8a; Tue, 24 Aug 2021 14:23:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171482.312920; Tue, 24 Aug 2021 14:23:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIXLJ-0001i0-5Q; Tue, 24 Aug 2021 14:23:57 +0000
Received: by outflank-mailman (input) for mailman id 171482;
 Tue, 24 Aug 2021 14:23:56 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIXLI-0001hB-MM
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 14:23:56 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 59aaa45a-01c1-4ca2-a580-3cbfb9cb00dd;
 Tue, 24 Aug 2021 14:23:51 +0000 (UTC)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2107.outbound.protection.outlook.com [104.47.18.107])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-23-jHF9keATPpOOLyfkz10sXA-1; Tue, 24 Aug 2021 16:23:48 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM0PR04MB3970.eurprd04.prod.outlook.com (2603:10a6:208:5b::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Tue, 24 Aug
 2021 14:23:46 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 14:23:46 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0121.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1a::13) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Tue, 24 Aug 2021 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: 59aaa45a-01c1-4ca2-a580-3cbfb9cb00dd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629815030;
	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=0KESrPG7AH4RWYD4JfplIzBCHkC6romhn7Gu1QPbq3c=;
	b=e2RrG5vPDeeNhihu/jj0U+wfb3Jw4l+UD5BhyVYxoaLOkDwUsqtBv3ShFvpwBfLrz9/Q65
	2Gh6SSBn1KwwnbTPM/S7xzb/LaahzwIcR194xpjYPxA0yVNnuGa6skdEliJGEe56AV36Mi
	HOJCBeT0Y7AC7MvESoafCHof0/XgQU4=
X-MC-Unique: jHF9keATPpOOLyfkz10sXA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cjEl0CAVxWmCAqitmHqQNrj39Gbb57rWnJhQfH+XPG7EOT1G0nXSHirO0tQSNb7z+thhEwSUHz6gdWhVrxGL300Cttm8vyBI9TVoGsErHE/CUIUSvs/DFdKmbI/QeT0qtIeF4t50JWC9n0ySJt26+nTaH6CyFuH7ox5/MJK7GlUDMYMXD5tZE/Kv3jCdgGmGkreKYlbpFuHuPjO4Mxb2WJTo9P9ti+wPEq3MGT/VAxnSgf6gPYRSdlL5/MJdcyU9uO1yfTS9mV5xj9p4DNgJTfkzSb1unelE1FO/TzmArIzw+zktsqozT1idrMKu4Eis+VaYoaGZctmIDhH5RzZlMA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0KESrPG7AH4RWYD4JfplIzBCHkC6romhn7Gu1QPbq3c=;
 b=Qz+k8ycZBtNcGhQnIke5K/cPT+3vIEPflZppeWyzH9RoLP/JY5Nmd6/uy6toUwvMlXTSLs2c8NxdrgSCTcxqtNza2QJZ1UB3mFJuMIEjYfQ/8nrWUy9y1+z9K8wPUV+sjEayvvHX1A9G7DWjYikJaPr2cPZab6v46Rnk44yxAoVp7BKHSkqhZxeJBQcFi+5Cp+f49UV+y9XaQWU42uQQUC10D/ApfQKFUPSseZPM1QqGR+Xsfj8pJiI0LDSm4kXA7lIl1i3X55kkjTyhY9fnNdyvBV2SULHmvVAM8x/9lpYhERL5wGb7fzhQFNnEmr9i7kPluRm2MPwPMCwlyrXH6A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: [PATCH 11/17] AMD/IOMMU: walk trees upon page fault
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>
References: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
Message-ID: <f4998466-3777-eab8-a416-fe0f7d8402c6@suse.com>
Date: Tue, 24 Aug 2021 16:23:44 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0121.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1a::13) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ed7bff5f-2cbf-43a4-35fe-08d9670ac8bc
X-MS-TrafficTypeDiagnostic: AM0PR04MB3970:
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB3970CCB59407857681761318B3C59@AM0PR04MB3970.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:989;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	M5gaHb/MdzLw1nGkogOnZ/pWhWkUXvKqvMM1F2DoFh/IPHCC2v39zpNIDN43RnrWjMkak3QG0sow/yYfnNBmuDWCasZlRxCR15id9QBvFaVSBl1V8L6BxAHpuFGuH3+DtgAkEV3ZmmAy44fMo8tdmP52zGXptzAv0cfs5jU8nFv/FUnfhDfarg0461k4xRMGK3XmDva9gu+wCtsyE4vuzAg8Ht0BgQleMzpWEjJWdEAk3EAv8n8Pt40krV9AMM/N/j4Q+smCEgjtqqAEzSxscqkZNlxoy5pVttwpucenMxrRJHZVXcew4fjlpbxOJ3WcIfP8Qn54ymZ3gMiNA7VMM+wiD/RYxVChlpOcPGWM/3tIju1YVL03OKX71ilytjWfUv1kXDaggn/HKiicr9GeVlS2xiAzVoviy28dT9uykQM/ccoUdbFFAUjsLfgSzcQWahXvGIFnbbiiH5ttieBLaskxZae9VfGaaXGnqouFld8kq6JdQgGdDe//Ig4esMQVxepP7ar2FhNXvJq8wv60NbZSEgS4X5uYDA46c6lwZR27p4UruVFJ2YUt05kAY1goQFGrA5KX/KkT0ZdJTW7GAaimld7694hVVCjZ9DypeIfX4nL/k+NU02e0qdCAnOcpqMYRoUyNjEXn+ICigD+xklOXS6M5WVRLy56bxwGBVnMyKV/rUTHJcGCQdOrd6RcDJKOP3ToFW6XpyCcFInWsjlseJt8fFdAuw0ZWcm31ct8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(36756003)(54906003)(4326008)(8936002)(86362001)(31696002)(26005)(2616005)(8676002)(508600001)(38100700002)(6916009)(83380400001)(5660300002)(956004)(316002)(66556008)(66476007)(186003)(16576012)(66946007)(31686004)(6486002)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QTRaNTF1WSs3UmEzVzZoSEY5dHdjamJuTXRBSjdVTVpaOU9MN0llaHBoRldP?=
 =?utf-8?B?b3plVHJyN0praFpvdHZNSGdhU2UrVkh3MDYyaW5Fdkp2bnZsS3JCTWtJM3Vn?=
 =?utf-8?B?clFEUXpCdUtsRU9KSU5UM2ZZYzlpT3JGcWExbjQ1dSsyR3QvMUI3Yk1EcjFO?=
 =?utf-8?B?RTRHamVra1VwQjNocFlHb1Q4dmlMWFhmS2p3bWpsK3M1UHZ0dEpjaGV1eXdy?=
 =?utf-8?B?Z1FpSWpaKzhNcWI0eW1DSzdlVlgrUXRPZVBGdDR6alZ0ZmdiY2IwR20zQ3ZE?=
 =?utf-8?B?c3BaN2JTcUtVWEJYTWx6U1B1YXhKNWZIaEhvUEJSNTBVbUJOdWNHQXZxOC95?=
 =?utf-8?B?NFB4TGN3TG1HK2xxL0FETkhRemZuM21LRHBZY1JuOHFXakFDdXVTNDYzMUg1?=
 =?utf-8?B?UnVUOWIxVDdoZlBSSy8za3pncWRoaTBuNEl0ZUFTdUdZQkVUOFBEQ0p4M21G?=
 =?utf-8?B?UjF4UU1neEJQOXpwdHFzLzBLS2ZhWS9ualhHUkxoRlA5bG44ZHZIKzBxaHcv?=
 =?utf-8?B?WllId2kxcENmZkQ3YTUzaHRQVHRtanNtWnpJa3ZsZzgzL1lDRGZIVWZVZEE4?=
 =?utf-8?B?aGI3UUdOKzNVUDZ3aVpaRlV6WUQ0a3VNK2VoQU0yS1dIellwNnhNVGE3ZzIr?=
 =?utf-8?B?WnVKQktLR3VuLzduOURTajI0T08wV25lVFUwZko5ck5IYUpqNUg1V0NQcXlQ?=
 =?utf-8?B?M2xKc1dWWFArd0dZMjZuZFZ1L2h1cjJ4NGJUM0h0d3pndXZtaHNRN2Y3ZTln?=
 =?utf-8?B?cTBNYXZ5OWlGdCtsNmZHSDJ4eDRkUVJ4alpPYmlBTUJmd3QxYnVPUlEwZmRk?=
 =?utf-8?B?UDlhU0x0Z2luTmpiRmFNYm1PTzlBRDUvV3lkbWk4NGxEcFNOOXRwVnVoeWdY?=
 =?utf-8?B?RXZIMGRLWDUxOG1IcUI2WU9aL0tOZ1hPdmkzdEVHSjk5aFVmcVJlZXF6a2lD?=
 =?utf-8?B?QnBqWG9mUjRINTQ1RFVjV3ZLMEFSd0dtSlRtMERsY0RjK2IwM05ka2FtUkRM?=
 =?utf-8?B?TnNad2JySkNlTm9FbXBkRzJoazJNOVBYR0V2K1JCajNxb3gwakpiT2FTQWFW?=
 =?utf-8?B?WTRENUxrc2dtZ1MrbmVPOVVyZ1M2NEtzZ00vTEE5S29Ba0xXRXdTZVVPOXpN?=
 =?utf-8?B?YkJOT3FqSjc0WXE5YncyNUVxY2ZTNkxlZGxRZSs0VW1LN2p4Zi9GN2gyVVFT?=
 =?utf-8?B?UW9ZOE5QalgwVzdyQXk2dXJVcHUwbGZnUE5tcmFEelJzQTR3M3VLRnMxVXFU?=
 =?utf-8?B?ek1aY2M3SjZ0d1NBTVRKZTJLU2dlMk5DUUJUUm1QdjlwUzFBd2JLRFBHTDVO?=
 =?utf-8?B?MitCZlZVRnBxa2lUUFRkTk5XekRKRUR6N3ZwMlFHM1FHQ3I4UjRPQnpDWm5G?=
 =?utf-8?B?eE5xYS9EK0dTUWlUalM4Q1N4azhxWnFtTTAvYTdCRE9HYS9NbGR2WCtCTm13?=
 =?utf-8?B?elJHV1FTT2tONGJHY2JQTTRxTmdXQ1Z4T1F2UUxDTWN5Ny9DaWpicnhMdWhK?=
 =?utf-8?B?bmR1cGlmbjMxZFdReks1ZExtMCtxN1JUTjMrZS9va2M5WlBNeXZsS3RQTXFu?=
 =?utf-8?B?S1lwV3BSWER1b1NIMktrNmRYazhmaVluVmo2d3BJUEt6Tm5tcTM1REJyRzBL?=
 =?utf-8?B?ZEtENWFyeXRibUtjbGRRdCtkV2NFTTZkdDNzWktGTzVYdGtRczM1T3VlaUFq?=
 =?utf-8?B?bXNpVWErc1ZucXpHZ0pncmFZcVlJb1hRZjZXelBFSkZYYkY3WERiMnVuVDdR?=
 =?utf-8?Q?yyrJf1hrkaG48xDCMA+9l6TTwpU47g/0Z9cH6OD?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ed7bff5f-2cbf-43a4-35fe-08d9670ac8bc
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 14:23:46.5756
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 8SHSBeRV7fKEwvM0mimcyHWV+zAZgUUFzAUm3dPYl91INd9nPD1zXPvIY9P4mvxfujS7Tpyx86SmlcDUMt1H3g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB3970

This is to aid diagnosing issues and largely matches VT-d's behavior.
Since I'm adding permissions output here as well, take the opportunity
and also add their displaying to amd_dump_page_table_level().

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/passthrough/amd/iommu.h
+++ b/xen/drivers/passthrough/amd/iommu.h
@@ -235,6 +235,8 @@ int __must_check amd_iommu_flush_iotlb_p
                                              unsigned long page_count,
                                              unsigned int flush_flags);
 int __must_check amd_iommu_flush_iotlb_all(struct domain *d);
+void amd_iommu_print_entries(const struct amd_iommu *iommu, unsigned int dev_id,
+                             dfn_t dfn);
 
 /* device table functions */
 int get_dma_requestor_id(uint16_t seg, uint16_t bdf);
--- a/xen/drivers/passthrough/amd/iommu_init.c
+++ b/xen/drivers/passthrough/amd/iommu_init.c
@@ -573,6 +573,9 @@ static void parse_event_log_entry(struct
                (flags & 0x002) ? " NX" : "",
                (flags & 0x001) ? " GN" : "");
 
+        if ( iommu_verbose )
+            amd_iommu_print_entries(iommu, device_id, daddr_to_dfn(addr));
+
         for ( bdf = 0; bdf < ivrs_bdf_entries; bdf++ )
             if ( get_dma_requestor_id(iommu->seg, bdf) == device_id )
                 pci_check_disable_device(iommu->seg, PCI_BUS(bdf),
--- a/xen/drivers/passthrough/amd/iommu_map.c
+++ b/xen/drivers/passthrough/amd/iommu_map.c
@@ -363,6 +363,50 @@ int amd_iommu_unmap_page(struct domain *
     return 0;
 }
 
+void amd_iommu_print_entries(const struct amd_iommu *iommu, unsigned int dev_id,
+                             dfn_t dfn)
+{
+    mfn_t pt_mfn;
+    unsigned int level;
+    const struct amd_iommu_dte *dt = iommu->dev_table.buffer;
+
+    if ( !dt[dev_id].tv )
+    {
+        printk("%pp: no root\n", &PCI_SBDF2(iommu->seg, dev_id));
+        return;
+    }
+
+    pt_mfn = _mfn(dt[dev_id].pt_root);
+    level = dt[dev_id].paging_mode;
+    printk("%pp root @ %"PRI_mfn" (%u levels) dfn=%"PRI_dfn"\n",
+           &PCI_SBDF2(iommu->seg, dev_id), mfn_x(pt_mfn), level, dfn_x(dfn));
+
+    while ( level )
+    {
+        const union amd_iommu_pte *pt = map_domain_page(pt_mfn);
+        unsigned int idx = pfn_to_pde_idx(dfn_x(dfn), level);
+        union amd_iommu_pte pte = pt[idx];
+
+        unmap_domain_page(pt);
+
+        printk("  L%u[%03x] = %"PRIx64" %c%c\n", level, idx, pte.raw,
+               pte.pr ? pte.ir ? 'r' : '-' : 'n',
+               pte.pr ? pte.iw ? 'w' : '-' : 'p');
+
+        if ( !pte.pr )
+            break;
+
+        if ( pte.next_level >= level )
+        {
+            printk("  L%u[%03x]: next: %u\n", level, idx, pte.next_level);
+            break;
+        }
+
+        pt_mfn = _mfn(pte.mfn);
+        level = pte.next_level;
+    }
+}
+
 static unsigned long flush_count(unsigned long dfn, unsigned long page_count,
                                  unsigned int order)
 {
--- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
+++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
@@ -561,10 +561,11 @@ static void amd_dump_page_table_level(st
                 mfn_to_page(_mfn(pde->mfn)), pde->next_level,
                 address, indent + 1);
         else
-            printk("%*sdfn: %08lx  mfn: %08lx\n",
+            printk("%*sdfn: %08lx  mfn: %08lx  %c%c\n",
                    indent, "",
                    (unsigned long)PFN_DOWN(address),
-                   (unsigned long)PFN_DOWN(pfn_to_paddr(pde->mfn)));
+                   (unsigned long)PFN_DOWN(pfn_to_paddr(pde->mfn)),
+                   pde->ir ? 'r' : '-', pde->iw ? 'w' : '-');
     }
 
     unmap_domain_page(table_vaddr);



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 14:24:25 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 14:24:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171486.312931 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIXLh-0002JI-L5; Tue, 24 Aug 2021 14:24:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171486.312931; Tue, 24 Aug 2021 14:24:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIXLh-0002JB-I7; Tue, 24 Aug 2021 14:24:21 +0000
Received: by outflank-mailman (input) for mailman id 171486;
 Tue, 24 Aug 2021 14:24:20 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIXLg-0002GU-AG
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 14:24:20 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id f76ed428-04e6-11ec-a8dd-12813bfff9fa;
 Tue, 24 Aug 2021 14:24:18 +0000 (UTC)
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01lp2056.outbound.protection.outlook.com [104.47.1.56]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-34-ly5AUsXZOeOtpZ0n4Ay5Ew-1; Tue, 24 Aug 2021 16:24:16 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM0PR04MB5682.eurprd04.prod.outlook.com (2603:10a6:208:131::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.24; Tue, 24 Aug
 2021 14:24:15 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 14:24:15 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM4PR0902CA0013.eurprd09.prod.outlook.com (2603:10a6:200:9b::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17 via Frontend
 Transport; Tue, 24 Aug 2021 14: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>
X-Inumbo-ID: f76ed428-04e6-11ec-a8dd-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629815058;
	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=QnyJfGA//OwEpfHeLio8RibL7MiCX+yG5T2utpneOsU=;
	b=ek6aSuGlH4GyBpocccklfOskI6S6i321K/k1mdTwXHTXddcNuT60rOevxUwxHhWqkRfvk/
	n9/6RUW/NdcR3U7kfWBmzZYinBu0P+9VBe9wXx/Apqf5lCuBrvTeZh0WIQLucqMMbnZoIh
	g27liBFGwo62Ohr4pACqfUv/u/ZOstU=
X-MC-Unique: ly5AUsXZOeOtpZ0n4Ay5Ew-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JbyJYrkvYGpKk/ZEaAN1S9axnvcbIW5KQ0vRmO5mff7hHNYRwOfyjV3TasuFuyhvrdIFQzto448wRYcAC0f6IW7PL6i/+dTxHIrRUnie56Tv7UXTfhkq6PYtbNBGR5yL0HDlN3Tj9Awqzo+sZjZGRxswWquqArAsPawM7cNIyJKwou+D3YmAhG00EEf7a2788mFCuGhUC0JoHtrkiOFa3zIKw2QgzXlTH7gbxPm+wayd8GRC2pFS2KgZfNVdbZQhU6qsLnucllFnVUcb3NZzfvJnfushbkkYdNBgg9XV0FsllLCdjtus2jlK81YdbCBDjbd5lvjt7OSxbjZp8QcYAQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QnyJfGA//OwEpfHeLio8RibL7MiCX+yG5T2utpneOsU=;
 b=DICQHpT7jnXR2fOHZiApwf3lb0V+N2C5TEfegZpQImR2elNxI45iGFCr3+5DcQ6WCX2dIDKS83NvYcOTaH1Svu3OLlM6oprN59z1lgZORYC31YwrzAyocS8kFdWf7Ck8Yid4rkQBUietHaOoFFIrnmXi4nupTar4HBO4opoQPvpPHJP3dv5/A64umzgdoNI55NbSXrBZ0wChtoa37bEslbCi/s4P8JMkz2vs4NPfkxrUafaSFui2hK3YT1oV7pSzr5BW7jd3E0osfrcZ0f8uOCCfX4eL5GDHb7mfcCTYcWPuK27hczO76/PNoS5KdT65sk32Qc/QFfBiMjToN1AV4w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: [PATCH 12/17] AMD/IOMMU: return old PTE from
 {set,clear}_iommu_pte_present()
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>
References: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
Message-ID: <91f353cd-09ae-247f-d14e-7796cfe8d3e9@suse.com>
Date: Tue, 24 Aug 2021 16:24:13 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM4PR0902CA0013.eurprd09.prod.outlook.com
 (2603:10a6:200:9b::23) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 58776727-fd6c-45de-708a-08d9670ad9a3
X-MS-TrafficTypeDiagnostic: AM0PR04MB5682:
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB5682FFB86330092B5F95B11BB3C59@AM0PR04MB5682.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8273;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	fQhh78GSS5YrN+LNRQ9c4R2Vxe+1ZqyBIMG8zUktD1pqQW2/8ImHmtqCuCuQ9Zmp4SOGU2XbAPfDtsTt/0Ru4IcD69aVn7ryiZdLofmRoqtn+c0dV6zcyadOSqloimKuPQsNUaJb7SYrWJA0pLOUGERpBoZwMbypQWFDnr4hu+H39mhnZAw4JpOh2W4unsxPu3GUL6O5N1+cMGLZsOKERWszHzP3r44cynB1VUkpEqKBjPlh7ju3d8IUsz5kXwmntT2r/dXzgcm3PNFc2q43J8a+9k0wcIWREs6ibhWq6n0ck1sfTbNuNQpZbZ+5LcMvthdvWwH7GtZb1VqY53Oz20Ex+SvD/Comu/Gvr73HwLRd+AJ9slJH91O/9id6AkDVI7u/uBxDlh2XdB2rzzOOM7Up0yreKoMKa0E7/BWMeUPP9vxduqGHjezVRPN7Wxk3DFO4WbWwx3fPDFYYkeRBz9XmBYFAqQeDoYPlzhzzuyUM3zxpN3RenLfW3COH34pbABUn27HjJThQ7oNo4VmYRDrv1EwlD3i/qhN/Vt3dLRqlGXZfwnhclgmAQqj2Ix9BLet6Dkd2aj3m6IZ4ry7m29jQadgUNLiFOEuGHLlzvZEIj/l69VRqe3uLeUzN9HrNLtffJe8822vqhN+eMqS/Qj6GfO70evffOXCDAKhm0DW+Dx/gZDwl5ib/YdbuUtsI1vc0QE3HMhdo3AEMyh7TvGRTSdlyBxzmyvaEJR+B0Og=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(16576012)(6916009)(86362001)(4326008)(8936002)(66556008)(31696002)(36756003)(186003)(316002)(54906003)(956004)(26005)(5660300002)(2906002)(66946007)(31686004)(508600001)(38100700002)(6486002)(83380400001)(2616005)(66476007)(8676002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZE9xLzE4YnFYVG9Cc3dGdUQyMzdtNDFwUk1WQTI5WUdMUXhGN3lBTGZDU1JC?=
 =?utf-8?B?TEQ4NDM0Z2lOaVBZK2ZJVGhOcVVqdU13WlZ6NXU3ckZTLzBEQW84cUV1YUVz?=
 =?utf-8?B?dFVTNk0rbERheFVrV1c0T1dBazkwUU9IUU1ZN2IyS09yeXZ4UENYZFNUQ25p?=
 =?utf-8?B?T3FKZERDUWE3WnNpZmxQWjI5SlhiUXVUdWhyMjRnQnhxbkw0K05DdXN2UzFL?=
 =?utf-8?B?b3FBa1RDYk5DblVLRCtTRzBJZlFsU3Qxc0lEWTBRVnd3TUVGVUp4aEI0ZXM1?=
 =?utf-8?B?ZmZGNkQraDd0dE1BSC83NU94elRxcGFHZHRXV09EeTJvZG9LVjJiMmd0V0pp?=
 =?utf-8?B?b3duczFpQ3g0VTFYVWJ5UW5UcVVIa0d2Q2UwaW5Ja2tkQmNVOWxIbzNYRnNv?=
 =?utf-8?B?MWVQU0M4THVZdjZUWmp2Qks3VVpieWRQWGdEbElWekJpdlNQL203MVprRkhh?=
 =?utf-8?B?TG5qQ3plVFFXdnJBSzBsY25EVDhCR2tIWjRzUGtmQnF3RFF5NXFLcUh1aEp5?=
 =?utf-8?B?aHp2MUZEQnNGU2NqcVErb25LSXFlQVREdHJIVm9DR24vMzdhV05ldllIYUFU?=
 =?utf-8?B?VlhUeENlVE42eEZYYTFHWmx5VS9iZzRZcHpHVU4xMjBRVTRnOGQ5Zjh4Yzdl?=
 =?utf-8?B?Z2dmbitJQXhrTEF3YkdqUENRVWtDdklkcXJFMy9Vd1gyRTBTRVZZSG1hNEhy?=
 =?utf-8?B?K2FyTGtLZjlvRzBoM1Z5ZDZ5WVRSazFiQ0ZYVkxTUktrQWpBQk1ZL1FrSUVI?=
 =?utf-8?B?UDhYb3ZWRll0d3U5VFMwUEV5TmhTMnVZbUFKOGJDUzY4ZkQ0eGcxbVZ4L0F4?=
 =?utf-8?B?VmxvYUpBR1lkUmVFcEZWbHRhVzFqNGlzNWNnM1NCZllVNGtYMUkwRitHcm5a?=
 =?utf-8?B?NG5HVDl2NUgzQXRCbXFDMXhhdlY2VnNoSWdBWm1qZSttVDgxYW1tc2N0UUx4?=
 =?utf-8?B?TjFTNHZDY3ZBWUsycGtNOWZqZzJwQ0VKcHd5akZzN2xCZlhzWnhJVXFNY1FQ?=
 =?utf-8?B?WWpmT2ZFMGVRN0lBM0lLbDVGWVNOR1d4ZzA5QjF4MzIvcUFlVFZSWkhpdVRZ?=
 =?utf-8?B?L292TEVPTG8wRGNPaC9TK1FxZjhpQmRHc3VORmp0T1l4azRFSjQvSGZTV1N4?=
 =?utf-8?B?cFNIb0RIa3liV3lkdnoyeHJxR1gzQmZlSTVKdXNoQXBXZm9zWkxtSHc2alFL?=
 =?utf-8?B?bzNHRGJTWHZVM0VPVDRVdnU4bG1lUU0zZ29Ealh3bUkwRGRoWldsc3JYY2JX?=
 =?utf-8?B?akJkb1p5cVRLVUFQTXE4SFREZEpIaUtTaDdIYy9QbTh6dmhLU01Ed1J2N3Ji?=
 =?utf-8?B?ZUw2ZHNNM2lPL0ZmbXBMSkxTUEtlODAzVmQyT28zUXlTMk40UGtjYXRmV3dj?=
 =?utf-8?B?eTRlejBaaWU2ZjRRQkFNdXo0L2VSZE1ZVDJhTWhOdisrTG9TVzR4RW1zUzhZ?=
 =?utf-8?B?Z2NOTFpRM1Q1MVJzOUUrZ1EyMmpubnk2NTJCajl5ZkZXUUN4UDAyMUlqUnd4?=
 =?utf-8?B?YjB6OThNM3NxVjhzZXQrNnVTWFpXODJGaFcwS2pJUCs0Uy82L3VMYlRBdzRw?=
 =?utf-8?B?K21NdzVlMTRCenk2YkZYSEdxYnNhUExsV29SdDFhUlBUWm9Ic0dqanMxbVll?=
 =?utf-8?B?MzhMZm9yZzVNcGhFMk5lSFl1RS9jVDc5a2o4NGZMTEZkOUxyN3lRZCswdFkr?=
 =?utf-8?B?ZWxFV3VCRmtMZWd4TkdyOWpSWU1TMFlRWDJEL25JQjR1UEhMMkxlaktNSS9o?=
 =?utf-8?Q?NOlKvbgRJKUxmC8KQlxisQhrdGHvmfqwA0q/XJQ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 58776727-fd6c-45de-708a-08d9670ad9a3
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 14:24:14.9266
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: GlkpX7/ZxdDoQZzY/sGPw0kCkxXIZk7CgOG75ekfpM2/rDTYNs7IXJgDOML7lJtfsPcHls7304W1Jeq49BPecw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB5682

In order to free intermediate page tables when replacing smaller
mappings by a single larger one callers will need to know the full PTE.
Flush indicators can be derived from this in the callers (and outside
the locked regions). First split set_iommu_pte_present() from
set_iommu_ptes_present(): Only the former needs to return the old PTE,
while the latter (like also set_iommu_pde_present()) doesn't even need
to return flush indicators. Then change return types/values and callers
accordingly.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/passthrough/amd/iommu_map.c
+++ b/xen/drivers/passthrough/amd/iommu_map.c
@@ -31,30 +31,28 @@ static unsigned int pfn_to_pde_idx(unsig
     return idx;
 }
 
-static unsigned int clear_iommu_pte_present(unsigned long l1_mfn,
-                                            unsigned long dfn)
+static union amd_iommu_pte clear_iommu_pte_present(unsigned long l1_mfn,
+                                                   unsigned long dfn)
 {
-    union amd_iommu_pte *table, *pte;
-    unsigned int flush_flags;
+    union amd_iommu_pte *table, *pte, old;
 
     table = map_domain_page(_mfn(l1_mfn));
     pte = &table[pfn_to_pde_idx(dfn, 1)];
+    old = *pte;
 
-    flush_flags = pte->pr ? IOMMU_FLUSHF_modified : 0;
     write_atomic(&pte->raw, 0);
 
     unmap_domain_page(table);
 
-    return flush_flags;
+    return old;
 }
 
-static unsigned int set_iommu_pde_present(union amd_iommu_pte *pte,
-                                          unsigned long next_mfn,
-                                          unsigned int next_level, bool iw,
-                                          bool ir)
+static void set_iommu_pde_present(union amd_iommu_pte *pte,
+                                  unsigned long next_mfn,
+                                  unsigned int next_level,
+                                  bool iw, bool ir)
 {
-    union amd_iommu_pte new = {}, old;
-    unsigned int flush_flags = IOMMU_FLUSHF_added;
+    union amd_iommu_pte new = {};
 
     /*
      * FC bit should be enabled in PTE, this helps to solve potential
@@ -68,28 +66,42 @@ static unsigned int set_iommu_pde_presen
     new.next_level = next_level;
     new.pr = true;
 
-    old.raw = read_atomic(&pte->raw);
-    old.ign0 = 0;
-    old.ign1 = 0;
-    old.ign2 = 0;
+    write_atomic(&pte->raw, new.raw);
+}
 
-    if ( old.pr && old.raw != new.raw )
-        flush_flags |= IOMMU_FLUSHF_modified;
+static union amd_iommu_pte set_iommu_pte_present(unsigned long pt_mfn,
+                                                 unsigned long dfn,
+                                                 unsigned long next_mfn,
+                                                 unsigned int level,
+                                                 bool iw, bool ir)
+{
+    union amd_iommu_pte *table, *pde, old;
 
-    write_atomic(&pte->raw, new.raw);
+    table = map_domain_page(_mfn(pt_mfn));
+    pde = &table[pfn_to_pde_idx(dfn, level)];
+
+    old = *pde;
+    if ( !old.pr || old.next_level ||
+         old.mfn != next_mfn ||
+         old.iw != iw || old.ir != ir )
+        set_iommu_pde_present(pde, next_mfn, 0, iw, ir);
+    else
+        old.pr = false; /* signal "no change" to the caller */
 
-    return flush_flags;
+    unmap_domain_page(table);
+
+    return old;
 }
 
-static unsigned int set_iommu_ptes_present(unsigned long pt_mfn,
-                                           unsigned long dfn,
-                                           unsigned long next_mfn,
-                                           unsigned int nr_ptes,
-                                           unsigned int pde_level,
-                                           bool iw, bool ir)
+static void set_iommu_ptes_present(unsigned long pt_mfn,
+                                   unsigned long dfn,
+                                   unsigned long next_mfn,
+                                   unsigned int nr_ptes,
+                                   unsigned int pde_level,
+                                   bool iw, bool ir)
 {
     union amd_iommu_pte *table, *pde;
-    unsigned int page_sz, flush_flags = 0;
+    unsigned int page_sz;
 
     table = map_domain_page(_mfn(pt_mfn));
     pde = &table[pfn_to_pde_idx(dfn, pde_level)];
@@ -98,20 +110,18 @@ static unsigned int set_iommu_ptes_prese
     if ( (void *)(pde + nr_ptes) > (void *)table + PAGE_SIZE )
     {
         ASSERT_UNREACHABLE();
-        return 0;
+        return;
     }
 
     while ( nr_ptes-- )
     {
-        flush_flags |= set_iommu_pde_present(pde, next_mfn, 0, iw, ir);
+        set_iommu_pde_present(pde, next_mfn, 0, iw, ir);
 
         ++pde;
         next_mfn += page_sz;
     }
 
     unmap_domain_page(table);
-
-    return flush_flags;
 }
 
 void amd_iommu_set_root_page_table(struct amd_iommu_dte *dte,
@@ -284,6 +294,7 @@ int amd_iommu_map_page(struct domain *d,
     struct domain_iommu *hd = dom_iommu(d);
     int rc;
     unsigned long pt_mfn = 0;
+    union amd_iommu_pte old;
 
     spin_lock(&hd->arch.mapping_lock);
 
@@ -320,12 +331,16 @@ int amd_iommu_map_page(struct domain *d,
     }
 
     /* Install 4k mapping */
-    *flush_flags |= set_iommu_ptes_present(pt_mfn, dfn_x(dfn), mfn_x(mfn),
-                                           1, 1, (flags & IOMMUF_writable),
-                                           (flags & IOMMUF_readable));
+    old = set_iommu_pte_present(pt_mfn, dfn_x(dfn), mfn_x(mfn), 1,
+                                (flags & IOMMUF_writable),
+                                (flags & IOMMUF_readable));
 
     spin_unlock(&hd->arch.mapping_lock);
 
+    *flush_flags |= IOMMU_FLUSHF_added;
+    if ( old.pr )
+        *flush_flags |= IOMMU_FLUSHF_modified;
+
     return 0;
 }
 
@@ -334,6 +349,7 @@ int amd_iommu_unmap_page(struct domain *
 {
     unsigned long pt_mfn = 0;
     struct domain_iommu *hd = dom_iommu(d);
+    union amd_iommu_pte old = {};
 
     spin_lock(&hd->arch.mapping_lock);
 
@@ -355,11 +371,14 @@ int amd_iommu_unmap_page(struct domain *
     if ( pt_mfn )
     {
         /* Mark PTE as 'page not present'. */
-        *flush_flags |= clear_iommu_pte_present(pt_mfn, dfn_x(dfn));
+        old = clear_iommu_pte_present(pt_mfn, dfn_x(dfn));
     }
 
     spin_unlock(&hd->arch.mapping_lock);
 
+    if ( old.pr )
+        *flush_flags |= IOMMU_FLUSHF_modified;
+
     return 0;
 }
 



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 14:25:35 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 14:25:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171494.312942 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIXMt-000319-16; Tue, 24 Aug 2021 14:25:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171494.312942; Tue, 24 Aug 2021 14:25:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIXMs-000312-U2; Tue, 24 Aug 2021 14:25:34 +0000
Received: by outflank-mailman (input) for mailman id 171494;
 Tue, 24 Aug 2021 14:25:33 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIXMq-00030k-U7
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 14:25:32 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 2274580d-4eb8-4872-bcc8-3c8d78b2167d;
 Tue, 24 Aug 2021 14:25:31 +0000 (UTC)
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2055.outbound.protection.outlook.com [104.47.2.55]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-24-epLFINjSNF6m8OekhTxV_g-1; Tue, 24 Aug 2021 16:25:29 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM0PR0402MB3460.eurprd04.prod.outlook.com (2603:10a6:208:20::28)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.21; Tue, 24 Aug
 2021 14:25:27 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 14:25:27 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM3PR07CA0065.eurprd07.prod.outlook.com (2603:10a6:207:4::23) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.6 via Frontend Transport; Tue, 24 Aug 2021 14:25: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: 2274580d-4eb8-4872-bcc8-3c8d78b2167d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629815130;
	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=QygqEhY4mmo9TOg67f6s3oZ006SBh1mhC+tlKcEXnA4=;
	b=CHNkMP+76+QhCQiHXyJ6TLnRF9YpFG5wG93SoWy5M40VD1bk4NuuOZgHiS5soYxvoMYCOB
	Bfg846yMQPjar5iUOXSaUXWpVtG+LEuukmHSR3BwdL0m20mpIa1AWCd+V81evVPazqlX6B
	ZJxT8yfa2GBKzBU+hqAk1+HsbI5ATeE=
X-MC-Unique: epLFINjSNF6m8OekhTxV_g-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AlwCMw+/YdzlKGSAFgaasrt4WO+xlG66IkUvTYbOECrM5MYWasU3JfW1U5f8uZU/1FpPKe5RkwT+Ws/oq76+rnrYtN9i3SGJXRRheIWFrqne3hUc0VR1FOHMVsJB58H/0OaP3NzSbhhd+1F3FV4t805BkFNaqIhBL7vEWZXigD8JKsJ6X/uaX+mOcdwFtFTrcLqgiYvfcyeO1LBmpP64IChSMSKu/XdOe0CSbWng3cFQs5h6l8PBG69pZCYxB4iQG4L48hKIJ+JH9UYkHBqahIXEy1eUAdcmlEiW/CCUHGrowDJN3FUqwN8QLeolni3++Ah9Fa0knaOI5CKy6gs0AQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QygqEhY4mmo9TOg67f6s3oZ006SBh1mhC+tlKcEXnA4=;
 b=TxGsDcaJlKYqYva1ClhuWkopMwhIvQ4m9o/c2SDRNNgCDodp4U2DP3xUs/sCuWeDP1fLjIP8wNHwbQ5oqO3h4gtKb9fps1zNLj16+4nrMD5TnwYmwzZbb5bj2Qdd/6aEJ3zs44PYtK2wiHMMyubKgZh/jhQGW5eseOOY4mE2cNWDnyj8bxiTkxjK+4/tINC/qY8EwvN4eGzmVjCIXceIcEo1+qF8FTdtWmBqF+W24vdNLpqduHTTCCG5StVAFytj0Cy9FnraE3jyIryWrXPiuZiwMK47Nsah30L+nvzdE5yjt5F5cv0ScMKqKG0g2iXR5aoo+dynmU4nji8pmZYTzA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: [PATCH 13/17] AMD/IOMMU: allow use of superpage mappings
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Paul Durrant <paul@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>
References: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
Message-ID: <ecdf0636-0428-de38-8d6d-fad10c962d5a@suse.com>
Date: Tue, 24 Aug 2021 16:25:26 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM3PR07CA0065.eurprd07.prod.outlook.com
 (2603:10a6:207:4::23) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d904bc00-2a40-4773-8cf8-08d9670b04ef
X-MS-TrafficTypeDiagnostic: AM0PR0402MB3460:
X-Microsoft-Antispam-PRVS:
	<AM0PR0402MB34602A5A565EA803985B560EB3C59@AM0PR0402MB3460.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	FoTy/ZgJOHw6UfIuxgwieCTWeC0+C0bguwonBHfY7hqlQufEZJfL059dIuBCH/9tHlG6vbKe3z35uahE2fYgThehKvS1JrdjzEXymNel4+mIfxop25mp7uUKWquwktlWhv1k6WfI6z0CEhf/r+0e75nTnypQzlVtOEJWp/PSrOlx5pfbjXbsZMS8VDLln0PNwTwXLTuTjNGwJlSKVfqRBvROhm7f9S0UJqZRJJDakO2+R2AY3ZZHGi9dJqWswbDDFzjazqA1hHbY0A+VjxzTXLhHO/CP+2+E5sRO0cGcqGccQHOSW13P5pyHsnMPNORgfBtXCcyBWEatUjTKoszCAG3aSD+nhyqsVuWqBfhmnpmx1Oj5rNjRkfMTq+QbxKIh3ZIB9IpSWWrTEmFeEERERlpIB3iNh2fybUixTAfJxfBnIgCNion1+DxaU6K1V5wpPVxWwUEfxX/ZdKnH7FhA69T3JuwsEX9G5W0FKC/SBEZK3oXc4ZfSDmUZCBXm4RroAaoE1YOXqSdPP5ld5BQgr/lDkbandgloEmkcYxWLd/L9heQZszB3Ol8lm+mS2yIRj4pHyohkdUEK22Poe42Ilixlyr+ZgqfJqg932krhTBEh+3mUISlbptPLjXC/tLDGhhM/eZRwTM9YiWNCx+/klmf/7TfinfFkU9uEQpjK8nuZC/zaddEtGA6Id2GvX1SGwMHJ05ts1lKbg9BhVZ9lY666LLnQpEVM3ftU38A1K7g=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(376002)(39860400002)(136003)(396003)(366004)(54906003)(66946007)(16576012)(316002)(26005)(6486002)(83380400001)(66556008)(66476007)(6916009)(8676002)(478600001)(2906002)(8936002)(956004)(2616005)(4326008)(5660300002)(31696002)(86362001)(36756003)(31686004)(38100700002)(186003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MURrSzZmcnNrbUViYzdoYmRyTE90M2oxRUR1N2VPUlBlOVU2TTlkSmdzNXpB?=
 =?utf-8?B?VnBIbmhFS2tRL3BJRFh2ZVJKdS8vcXlJRUNNY2xHMURIOGhBU2NkOEVJL0V4?=
 =?utf-8?B?YUJxMlZoVU8rS3VwTm1pMXArVHBiTmVWK0ZBLzVzMGVaVFY2T3M4WTIrNXZT?=
 =?utf-8?B?dzhFN1VNclhrVzBoMGtiREI1aW41QTYxY3MvMVlhdzBFWXJQNDRoU3dWbisv?=
 =?utf-8?B?b0dnT3JHUUUvaXdnb1ZHQmcyVFRRUDdwVmR6aGx0OGxSUXQzNWdlUFpGeW1h?=
 =?utf-8?B?cHpqWWxIbzRpQ1M4YVRCTklXeSt4ekdwN0ZzVVhIUEdyT0Y2MDQ0NTlpOXZT?=
 =?utf-8?B?MnhzVmRuZHc1aGZwVzVhbVVjRG5DdlZhelFCTTlhenFFc1NMYmNOODM0V2g2?=
 =?utf-8?B?UXFCUmIzSy9wY3JUMlMyeldvNmI2NWw0djA4bXphd3g5YVAyTWZ2YmFleHZv?=
 =?utf-8?B?bXlWbjdZUzluVlk5d1VaU1JZV2Z6dFJLOUZlM1RSTXpJejJBT3E2TmN5eWxX?=
 =?utf-8?B?clRRRmZKeS9PTEdvMUI5SlRzYzRWNEt2cXU0V0NBenk5WHBEcEtrbmxRVnZL?=
 =?utf-8?B?bVk4dUJ3VGw3SGQwS214Q3NpdnhobkIyM3lHemhsbExQNjZwaUFFVUxUT3kx?=
 =?utf-8?B?MjZJRmxUUjdJR0I3WjZaT094cThFRWo3bWFpSHAzMjAvQWY5NnlQMU9mM3hR?=
 =?utf-8?B?SjlkdU1yTmNjOEFKNjIxdFJ5NWpVOW1ESnFGcUtCam1sYnI2RWtOUHdsbnFv?=
 =?utf-8?B?bHNWa3gvQnVFNWdJYUVpaS9rMlFEc0FMNE9NdUxnaG0xNlEyNmNpQ0NxYTFK?=
 =?utf-8?B?VXAyTWNwZENSaHdDbi92d2JaY3J5WTNmYTVyRmt0RFR2WENpYmsyR3FkYXZi?=
 =?utf-8?B?ZWN5bnowQWRqNWxxUVhOOUphVlZrNGJ5UkxPdE9uNWJpZC83d0JQTDRDcnVl?=
 =?utf-8?B?b3dQcmJwLyt2U1NOaGhUcTlJajNaay9TNVYyaTRtc0VHVHZvMWRSVmp1UDNw?=
 =?utf-8?B?Q1dpRkRvSUJBTHJ2ZUFWZ2JQUndTbHBHOU4vWEVTYVozZXVhYm1iQUVTMTlQ?=
 =?utf-8?B?V2w1bDUxcDlsTlQ1WFNyY3JmVHVtTXF1QWt3cEdpdWZMSWFPY2kzaXpGbytY?=
 =?utf-8?B?Uk1jSlN5cDRWUllxTERHdWZ3VGxpbjBYaVdyV0VOWXFDZGt1SnBJMnBZeXl1?=
 =?utf-8?B?cTc2b1RobWtQUlZGVUQ4UThMejNKQTh6czJiRDBuL1VabSttRkgrTDA4TXRL?=
 =?utf-8?B?amxPQ1JUL2o1d3d1ODhWTS9ySkNwVWs4cVZYM3VJdFYvUzZFZkhtamRabStq?=
 =?utf-8?B?S005RXJza29VaUNXWnExL0RFTlhyRm5za3Jpd1YrQmhkWGNoSWdnU1FTek8w?=
 =?utf-8?B?Z2R3d2g5c1FtVEN2NEtqMjF1NUhONTRyZDFiUUNVUVpxeUcvL21JakgvbFlu?=
 =?utf-8?B?T2lIQW0yeHA3ZGkrZXY4dy9TazE2TEpsdFQ3MjdGcHpmOWFUWjVNZzZ4aFlx?=
 =?utf-8?B?U0FVM3E1b2d6dXh6UXBWT1Z3dG9JUy9RZEtOaVlEd3RmNElvY1k1cWRnTEl2?=
 =?utf-8?B?bHRCaS9oYUJ5YkVZWWZ4SDYvNjdhUWpocHNMbFRtSkhtbDFYa2dpQW1WaVVw?=
 =?utf-8?B?SWRRYmJwRTJ0Uko1U1IvT3F1eTUyM1lrVlQwZXYvZ05jZERleXZhQU95bytl?=
 =?utf-8?B?Vmh1TktRQmY2MGtudVcvUElveDZXSWlBTzF0cHBJSnE5ZVNDZnhjV01nZHVa?=
 =?utf-8?Q?cq4g48Q9u0wyR7E87+t6oHndtUFnTSSZFDizix5?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d904bc00-2a40-4773-8cf8-08d9670b04ef
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 14:25:27.5614
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: z8bv04kRuKRTnDWja1J7ozkx7whbf8AA9vuSAI85lLv6TDQXyzw7+5lsi4H+2oUCgO5d+C0Hc1CdKlqffa2Xpw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0402MB3460

No separate feature flags exist which would control availability of
these; the only restriction is HATS (establishing the maximum number of
page table levels in general), and even that has a lower bound of 4.
Thus we can unconditionally announce 2M, 1G, and 512G mappings. (Via
non-default page sizes the implementation in principle permits arbitrary
size mappings, but these require multiple identical leaf PTEs to be
written, which isn't all that different from having to write multiple
consecutive PTEs with increasing frame numbers. IMO that's therefore
beneficial only on hardware where suitable TLBs exist; I'm unaware of
such hardware.)

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
I'm not fully sure about allowing 512G mappings: The scheduling-for-
freeing of intermediate page tables can take quite a while when
replacing a tree of 4k mappings by a single 512G one. Plus (or otoh)
there's no present code path via which 512G chunks of memory could be
allocated (and hence mapped) anyway.

--- a/xen/drivers/passthrough/amd/iommu_map.c
+++ b/xen/drivers/passthrough/amd/iommu_map.c
@@ -32,12 +32,13 @@ static unsigned int pfn_to_pde_idx(unsig
 }
 
 static union amd_iommu_pte clear_iommu_pte_present(unsigned long l1_mfn,
-                                                   unsigned long dfn)
+                                                   unsigned long dfn,
+                                                   unsigned int level)
 {
     union amd_iommu_pte *table, *pte, old;
 
     table = map_domain_page(_mfn(l1_mfn));
-    pte = &table[pfn_to_pde_idx(dfn, 1)];
+    pte = &table[pfn_to_pde_idx(dfn, level)];
     old = *pte;
 
     write_atomic(&pte->raw, 0);
@@ -288,10 +289,31 @@ static int iommu_pde_from_dfn(struct dom
     return 0;
 }
 
+static void queue_free_pt(struct domain *d, mfn_t mfn, unsigned int next_level)
+{
+    if ( next_level > 1 )
+    {
+        union amd_iommu_pte *pt = map_domain_page(mfn);
+        unsigned int i;
+
+        for ( i = 0; i < PTE_PER_TABLE_SIZE; ++i )
+            if ( pt[i].pr && pt[i].next_level )
+            {
+                ASSERT(pt[i].next_level < next_level);
+                queue_free_pt(d, _mfn(pt[i].mfn), pt[i].next_level);
+            }
+
+        unmap_domain_page(pt);
+    }
+
+    iommu_queue_free_pgtable(d, mfn_to_page(mfn));
+}
+
 int amd_iommu_map_page(struct domain *d, dfn_t dfn, mfn_t mfn,
                        unsigned int flags, unsigned int *flush_flags)
 {
     struct domain_iommu *hd = dom_iommu(d);
+    unsigned int level = (IOMMUF_order(flags) / PTE_PER_TABLE_SHIFT) + 1;
     int rc;
     unsigned long pt_mfn = 0;
     union amd_iommu_pte old;
@@ -320,7 +342,7 @@ int amd_iommu_map_page(struct domain *d,
         return rc;
     }
 
-    if ( iommu_pde_from_dfn(d, dfn_x(dfn), 1, &pt_mfn, flush_flags, true) ||
+    if ( iommu_pde_from_dfn(d, dfn_x(dfn), level, &pt_mfn, flush_flags, true) ||
          !pt_mfn )
     {
         spin_unlock(&hd->arch.mapping_lock);
@@ -330,8 +352,8 @@ int amd_iommu_map_page(struct domain *d,
         return -EFAULT;
     }
 
-    /* Install 4k mapping */
-    old = set_iommu_pte_present(pt_mfn, dfn_x(dfn), mfn_x(mfn), 1,
+    /* Install mapping */
+    old = set_iommu_pte_present(pt_mfn, dfn_x(dfn), mfn_x(mfn), level,
                                 (flags & IOMMUF_writable),
                                 (flags & IOMMUF_readable));
 
@@ -339,8 +361,13 @@ int amd_iommu_map_page(struct domain *d,
 
     *flush_flags |= IOMMU_FLUSHF_added;
     if ( old.pr )
+    {
         *flush_flags |= IOMMU_FLUSHF_modified;
 
+        if ( level > 1 && old.next_level )
+            queue_free_pt(d, _mfn(old.mfn), old.next_level);
+    }
+
     return 0;
 }
 
@@ -349,6 +376,7 @@ int amd_iommu_unmap_page(struct domain *
 {
     unsigned long pt_mfn = 0;
     struct domain_iommu *hd = dom_iommu(d);
+    unsigned int level = (order / PTE_PER_TABLE_SHIFT) + 1;
     union amd_iommu_pte old = {};
 
     spin_lock(&hd->arch.mapping_lock);
@@ -359,7 +387,7 @@ int amd_iommu_unmap_page(struct domain *
         return 0;
     }
 
-    if ( iommu_pde_from_dfn(d, dfn_x(dfn), 1, &pt_mfn, flush_flags, false) )
+    if ( iommu_pde_from_dfn(d, dfn_x(dfn), level, &pt_mfn, flush_flags, false) )
     {
         spin_unlock(&hd->arch.mapping_lock);
         AMD_IOMMU_DEBUG("Invalid IO pagetable entry dfn = %"PRI_dfn"\n",
@@ -371,14 +399,19 @@ int amd_iommu_unmap_page(struct domain *
     if ( pt_mfn )
     {
         /* Mark PTE as 'page not present'. */
-        old = clear_iommu_pte_present(pt_mfn, dfn_x(dfn));
+        old = clear_iommu_pte_present(pt_mfn, dfn_x(dfn), level);
     }
 
     spin_unlock(&hd->arch.mapping_lock);
 
     if ( old.pr )
+    {
         *flush_flags |= IOMMU_FLUSHF_modified;
 
+        if ( level > 1 && old.next_level )
+            queue_free_pt(d, _mfn(old.mfn), old.next_level);
+    }
+
     return 0;
 }
 
--- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
+++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
@@ -584,7 +584,7 @@ static void amd_dump_page_tables(struct
 }
 
 static const struct iommu_ops __initconstrel _iommu_ops = {
-    .page_sizes = PAGE_SIZE_4K,
+    .page_sizes = PAGE_SIZE_4K | PAGE_SIZE_2M | PAGE_SIZE_1G | PAGE_SIZE_512G,
     .init = amd_iommu_domain_init,
     .hwdom_init = amd_iommu_hwdom_init,
     .quarantine_init = amd_iommu_quarantine_init,
--- a/xen/include/xen/page-defs.h
+++ b/xen/include/xen/page-defs.h
@@ -21,4 +21,19 @@
 #define PAGE_MASK_64K               PAGE_MASK_GRAN(64K)
 #define PAGE_ALIGN_64K(addr)        PAGE_ALIGN_GRAN(64K, addr)
 
+#define PAGE_SHIFT_2M               21
+#define PAGE_SIZE_2M                PAGE_SIZE_GRAN(2M)
+#define PAGE_MASK_2M                PAGE_MASK_GRAN(2M)
+#define PAGE_ALIGN_2M(addr)         PAGE_ALIGN_GRAN(2M, addr)
+
+#define PAGE_SHIFT_1G               30
+#define PAGE_SIZE_1G                PAGE_SIZE_GRAN(1G)
+#define PAGE_MASK_1G                PAGE_MASK_GRAN(1G)
+#define PAGE_ALIGN_1G(addr)         PAGE_ALIGN_GRAN(1G, addr)
+
+#define PAGE_SHIFT_512G             39
+#define PAGE_SIZE_512G              PAGE_SIZE_GRAN(512G)
+#define PAGE_MASK_512G              PAGE_MASK_GRAN(512G)
+#define PAGE_ALIGN_512G(addr)       PAGE_ALIGN_GRAN(512G, addr)
+
 #endif /* __XEN_PAGE_DEFS_H__ */



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 14:26:05 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 14:26:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171502.312957 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIXNN-0003is-Nc; Tue, 24 Aug 2021 14:26:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171502.312957; Tue, 24 Aug 2021 14:26:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIXNN-0003i1-Jk; Tue, 24 Aug 2021 14:26:05 +0000
Received: by outflank-mailman (input) for mailman id 171502;
 Tue, 24 Aug 2021 14:26:04 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=0IqF=NP=gmail.com=groeck7@srs-us1.protection.inumbo.net>)
 id 1mIXNM-0003f3-K6
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 14:26:04 +0000
Received: from mail-ot1-x32d.google.com (unknown [2607:f8b0:4864:20::32d])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 813e0be0-0e3a-4ff3-9168-e1e79698eff2;
 Tue, 24 Aug 2021 14:26:03 +0000 (UTC)
Received: by mail-ot1-x32d.google.com with SMTP id
 v33-20020a0568300921b0290517cd06302dso46480809ott.13
 for <xen-devel@lists.xenproject.org>; Tue, 24 Aug 2021 07:26:03 -0700 (PDT)
Received: from server.roeck-us.net ([2600:1700:e321:62f0:329c:23ff:fee3:9d7c])
 by smtp.gmail.com with ESMTPSA id
 w23sm4515362otk.56.2021.08.24.07.26.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Aug 2021 07:26: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
X-Inumbo-ID: 813e0be0-0e3a-4ff3-9168-e1e79698eff2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=sender:date:from:to:cc:subject:message-id:references:mime-version
         :content-disposition:in-reply-to;
        bh=cLmu7zgJaXKzK4Rf3xZy8rbXQ8G9iiiCS2AqbbVSdr4=;
        b=W/vnTArXnkUTeAWPhVsCsNx9G1AaqqjMh7JGGCeKMkNnaOWP3sAbf+15/nLoCNmR3g
         q5YdGS8A1cXpAtJlYg19EzxhKY4ftiJkULVtdpcPrc3JdAsQuBkyHELZ+nm35chlenyd
         B1EUk7sT/qRPK4Ufw9SGcQJoAGqm8fBuCmyUjLn+ofRgVfuPflWOJHcCCZEENzbQUeyQ
         VmavwAVWpqeeI9XEBe9u66mgOWxsXHJm3RTYGIcz6konO25IcoN22AqYojFn8mbqHxKg
         qRzCfRvKs4A+5DaC8fRnZWJa7UOCRmoYWPgWVuJeEHetkAAVaEkEKj7Ut9tMesrOQeKz
         uFVg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:sender:date:from:to:cc:subject:message-id
         :references:mime-version:content-disposition:in-reply-to;
        bh=cLmu7zgJaXKzK4Rf3xZy8rbXQ8G9iiiCS2AqbbVSdr4=;
        b=CXA3YslSPy9sFH3LISTdltwjeeSpbFVk00MPHvt+euLEq+cSu8NYP12NDbU7+ZJwby
         e9utrsyKPHP2MLx3XDceWOO3gXudGi0sF01r1/hVNcYo9sl7/pSzx55E19Lt+EiopDrx
         QgsVuEyFokkl4LK9RsYY+74/JxM+HMOjWmF1s1JDlnW12X1rKOgF99JHlHQf+PvHeqcJ
         1q7fe6wCgcewdZmLLOfo4T7LI3qdDEZ67pR9PIjgiyfbbYHAWlaFi/VMYEsnA5w+9Vf9
         2jTEarlJtwVCSdcnRQgNf+aWh4opaXNUMW3CQ7OWWZFEFO3Dv34xUz0DGJEDTXrgot/m
         xfOw==
X-Gm-Message-State: AOAM530/nE2SM/1ElrEaPq6BbpOLClOxLXiqA7A5Kqz7yti3eIFKQUOG
	86Yjg9Sgb+EWA5lO58pk8OU=
X-Google-Smtp-Source: ABdhPJwwcoIM6BcsOG2f+J3p/MRlA0Dk0tp13V1qbyu4iB7WMMjh+hei/xpqfoPCtwiA6Z7Inf6E6w==
X-Received: by 2002:a54:4513:: with SMTP id l19mr3045512oil.143.1629815163193;
        Tue, 24 Aug 2021 07:26:03 -0700 (PDT)
Sender: Guenter Roeck <groeck7@gmail.com>
Date: Tue, 24 Aug 2021 07:26:01 -0700
From: Guenter Roeck <linux@roeck-us.net>
To: Claire Chang <tientzu@chromium.org>
Cc: Rob Herring <robh+dt@kernel.org>, mpe@ellerman.id.au,
	Joerg Roedel <joro@8bytes.org>, Will Deacon <will@kernel.org>,
	Frank Rowand <frowand.list@gmail.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	boris.ostrovsky@oracle.com, jgross@suse.com,
	Christoph Hellwig <hch@lst.de>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	benh@kernel.crashing.org, paulus@samba.org,
	"list@263.net:IOMMU DRIVERS" <iommu@lists.linux-foundation.org>,
	sstabellini@kernel.org, Robin Murphy <robin.murphy@arm.com>,
	grant.likely@arm.com, xypron.glpk@gmx.de,
	Thierry Reding <treding@nvidia.com>, mingo@kernel.org,
	bauerman@linux.ibm.com, peterz@infradead.org,
	Greg KH <gregkh@linuxfoundation.org>,
	Saravana Kannan <saravanak@google.com>,
	"Rafael J . Wysocki" <rafael.j.wysocki@intel.com>,
	heikki.krogerus@linux.intel.com,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Dan Williams <dan.j.williams@intel.com>,
	Bartosz Golaszewski <bgolaszewski@baylibre.com>,
	linux-devicetree <devicetree@vger.kernel.org>,
	lkml <linux-kernel@vger.kernel.org>, linuxppc-dev@lists.ozlabs.org,
	xen-devel@lists.xenproject.org,
	Nicolas Boichat <drinkcat@chromium.org>,
	Jim Quinlan <james.quinlan@broadcom.com>, tfiga@chromium.org,
	bskeggs@redhat.com, bhelgaas@google.com, chris@chris-wilson.co.uk,
	daniel@ffwll.ch, airlied@linux.ie, dri-devel@lists.freedesktop.org,
	intel-gfx@lists.freedesktop.org, jani.nikula@linux.intel.com,
	jxgao@google.com, joonas.lahtinen@linux.intel.com,
	linux-pci@vger.kernel.org, maarten.lankhorst@linux.intel.com,
	matthew.auld@intel.com, rodrigo.vivi@intel.com,
	thomas.hellstrom@linux.intel.com, thomas.lendacky@amd.com,
	quic_qiancai@quicinc.com
Subject: Re: [PATCH v15 10/12] swiotlb: Add restricted DMA pool initialization
Message-ID: <20210824142601.GA3393158@roeck-us.net>
References: <20210624155526.2775863-1-tientzu@chromium.org>
 <20210624155526.2775863-11-tientzu@chromium.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20210624155526.2775863-11-tientzu@chromium.org>

Hi Claire,

On Thu, Jun 24, 2021 at 11:55:24PM +0800, Claire Chang wrote:
> Add the initialization function to create restricted DMA pools from
> matching reserved-memory nodes.
> 
> Regardless of swiotlb setting, the restricted DMA pool is preferred if
> available.
> 
> The restricted DMA pools provide a basic level of protection against the
> DMA overwriting buffer contents at unexpected times. However, to protect
> against general data leakage and system memory corruption, the system
> needs to provide a way to lock down the memory access, e.g., MPU.
> 
> Signed-off-by: Claire Chang <tientzu@chromium.org>
> Reviewed-by: Christoph Hellwig <hch@lst.de>
> Tested-by: Stefano Stabellini <sstabellini@kernel.org>
> Tested-by: Will Deacon <will@kernel.org>
> ---
>  include/linux/swiotlb.h |  3 +-
>  kernel/dma/Kconfig      | 14 ++++++++
>  kernel/dma/swiotlb.c    | 76 +++++++++++++++++++++++++++++++++++++++++
>  3 files changed, 92 insertions(+), 1 deletion(-)
> 
> diff --git a/include/linux/swiotlb.h b/include/linux/swiotlb.h
> index 3b9454d1e498..39284ff2a6cd 100644
> --- a/include/linux/swiotlb.h
> +++ b/include/linux/swiotlb.h
> @@ -73,7 +73,8 @@ extern enum swiotlb_force swiotlb_force;
>   *		range check to see if the memory was in fact allocated by this
>   *		API.
>   * @nslabs:	The number of IO TLB blocks (in groups of 64) between @start and
> - *		@end. This is command line adjustable via setup_io_tlb_npages.
> + *		@end. For default swiotlb, this is command line adjustable via
> + *		setup_io_tlb_npages.
>   * @used:	The number of used IO TLB block.
>   * @list:	The free list describing the number of free entries available
>   *		from each index.
> diff --git a/kernel/dma/Kconfig b/kernel/dma/Kconfig
> index 77b405508743..3e961dc39634 100644
> --- a/kernel/dma/Kconfig
> +++ b/kernel/dma/Kconfig
> @@ -80,6 +80,20 @@ config SWIOTLB
>  	bool
>  	select NEED_DMA_MAP_STATE
>  
> +config DMA_RESTRICTED_POOL
> +	bool "DMA Restricted Pool"
> +	depends on OF && OF_RESERVED_MEM
> +	select SWIOTLB

This makes SWIOTLB user configurable, which in turn results in

mips64-linux-ld: arch/mips/kernel/setup.o: in function `arch_mem_init':
setup.c:(.init.text+0x19c8): undefined reference to `plat_swiotlb_setup'
make[1]: *** [Makefile:1280: vmlinux] Error 1

when building mips:allmodconfig.

Should this possibly be "depends on SWIOTLB" ?

Thanks,
Guenter


From xen-devel-bounces@lists.xenproject.org Tue Aug 24 14:26:05 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 14:26:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171501.312953 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIXNN-0003fK-FU; Tue, 24 Aug 2021 14:26:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171501.312953; Tue, 24 Aug 2021 14:26:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIXNN-0003fD-C9; Tue, 24 Aug 2021 14:26:05 +0000
Received: by outflank-mailman (input) for mailman id 171501;
 Tue, 24 Aug 2021 14:26:04 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIXNM-0003ev-8C
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 14:26:04 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 357c1f00-04e7-11ec-a8dd-12813bfff9fa;
 Tue, 24 Aug 2021 14:26:03 +0000 (UTC)
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01lp2058.outbound.protection.outlook.com [104.47.1.58]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-14-t_vBaTXfMFihwvuKcupDMA-1; Tue, 24 Aug 2021 16:26:00 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM0PR04MB5682.eurprd04.prod.outlook.com (2603:10a6:208:131::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.24; Tue, 24 Aug
 2021 14:25:59 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 14:25:57 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM3PR07CA0055.eurprd07.prod.outlook.com (2603:10a6:207:4::13) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.6 via Frontend Transport; Tue, 24 Aug 2021 14:25:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 357c1f00-04e7-11ec-a8dd-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629815162;
	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=xXNlYzfiI7fao0QvX7Y5nmHcnn3q2cAtFsh8eNUCA1o=;
	b=MpyogQjuowVsYQqL0gV+mILP8odHr9ACBLsEQaNj6UlmKwyh7Jm5EYEkJHn0a+VnnyfpUH
	nXtMCNNB1e/XU0tloLYimwxS0MfPnjNYtG8d7pBOrjRNHu+xV3HqhZlnbx1hxvK0HGgmSD
	AZLsW63QfUnBOCY/4LZzy2sWuuaU5so=
X-MC-Unique: t_vBaTXfMFihwvuKcupDMA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XuDjANfCw+Tv8R2Q7A38N5RBO6/h1PmQAztMS/SLZCzUhYa1voIBsoqsyFCcl4rYVzZ77NCQnOxlTR8EObBBx3xrAGcqlqoVMxHkES7vO98lC5X2ba3UOZerY2yZFU4wuZb7tJMViCeH96wN1Sexu+nlDS5MQnd6j8wAbY4ZhNVCQpy1yJa0BuPLWjaRoXJEZRbVcK+ByBTTKRfN8Xz3DDTQ6NURUqsCvCw1jLrJIvTSomTr2mOUv15MTzT9HnTbmWMA13Z07qX2K2+Ju7E7DyuHdrkakE9ae8PCMNMsnsMhbbZmi3yBMDDjmi9esMPzgHtw1mf+cPlS2JMh02crkg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xXNlYzfiI7fao0QvX7Y5nmHcnn3q2cAtFsh8eNUCA1o=;
 b=i3MtJcKRNrZCQ5RCzUHNhfcVfnKEM6CMYtBW/Y1WNXxGteQhyb7ndjRd+RyO5FfYLXE1w7XgwvXaHTpysVK2pAv+sBZJFG5ukMNWCWdYO6TWqxEt6dqOl9fIjtIOEjZ7au7jOGVcDjX3uNcHcc0vP4u+IgLd4XSuiIY745RU52tpM/+/MyHTmcDWf7YIA/rcWiyZywJRCrOo4P0oVjKfUk1CQ9mZmRRSYhnnLqegJVRZb22yrhZtr72UjAymHInq9Q1E8fXd3M+cD0wQ8FX7UZPjeQwnlMkiSO0WvKWkyAqopFtR5M2Wa1akTMx8ukqJUFtE6pBTsr8wZcXmJVJh5g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: intel.com; dkim=none (message not signed)
 header.d=none;intel.com; dmarc=none action=none header.from=suse.com;
Subject: [PATCH 14/17] VT-d: allow use of superpage mappings
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 Kevin Tian <kevin.tian@intel.com>
References: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
Message-ID: <0af2ff55-4dd4-aa8e-bab6-ca043fc9363f@suse.com>
Date: Tue, 24 Aug 2021 16:25:56 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM3PR07CA0055.eurprd07.prod.outlook.com
 (2603:10a6:207:4::13) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a3382000-24f3-4d1f-7c96-08d9670b16e3
X-MS-TrafficTypeDiagnostic: AM0PR04MB5682:
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB56828543DE5ED1E37B35FF33B3C59@AM0PR04MB5682.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:4502;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2WMPP+gaNYiX9VxduO2HVcToHNa7hvqAdJx8WbGguuScWO96IqkCkWHNr0zZWH1vF+bqNoVdBA5CWNbr5/wT2fkgjnva0vd9CvqEH4oyAmLHoXWV6pg+tZ157XiEyoMPCPDKfFUJLWsTPD3vRt0ROFeCF9XiNCIWcIgxXkq4z8NhEUWF5fv4R/tZAF0Ef4y7NV9UAp9EnBCYgzn8L/xhcxyRyGT3yNERxyhpRL3dA+OudeyzfNpJJnNf17ryG9PiarCJEeJ9Qhdn831QnIpKqiQ5WzVNaqXe0SIjJkYKwfBRXVRceg+CIAgf3A1wNj0KmwlPyhtIYQUuziE2+b/eA3rzCHVAW6rMGSX5Tf6wC+lHLqtb1jprwCPG420WlNtl9WGD5WELA3l37BQlR0uYlFe+45MSMAMDqtVDsRMRoH5Cv9UlszqpC+/Pe3uqIz0HPKTJxekm+uhrodR6dx2Dg7ZVJF0zEklDfv0cz9BZl5CcfOVComghGDKBU26nbhAt+anjYNPmWyU1zc1ZP4IVZu9aj+W6UdZbFyW2mSNeRUfH/pnRFov1LpZE+cO+5Ak8rP9UVdGl5u+qy6FWWK55sEvJzdtQsV69/ufLsv68mF25HsbgUW+GDglnVlWJxYVg+jDzk6YRINRC6s37JJ2h6W8LqmSvN+0cX2OOtF/8362i5jqvLa7+Y2crgmRsHfYI2lUOPSBSdWCya9ihJqlFNwwW+e1YTrbWEebwgCrIf4A=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(16576012)(6916009)(86362001)(4326008)(8936002)(66556008)(31696002)(36756003)(186003)(316002)(54906003)(956004)(26005)(5660300002)(2906002)(66946007)(31686004)(508600001)(38100700002)(6486002)(83380400001)(2616005)(66476007)(8676002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZDUvRWxlVk1NazBjOUVEUXFBRUZwa1NPYzNDaEF6L2lFNjFST0FTNXBydU96?=
 =?utf-8?B?TUNoOWhNVzNLbTZLTURVSzJZaDhjTGk4d0lZSUV2cDZHTHZRbkU4dW9tTFhr?=
 =?utf-8?B?dmpWc0dlQ3d4eXZ1Q0gwU2FZOVRoT0JEMnppYk4ySWN5bTJtbEFIdnd5eDdF?=
 =?utf-8?B?WDVjNXBDM1gxMDBjWHkwODhOdGFoaGtsdUlUd0h1MW5mSGxtQVNEOGpRblJV?=
 =?utf-8?B?a3gvMW5tOXJzUkl0RGdGbyt1UnBucExSNE5YNk02NkR2STF6UUZsZC92aG9O?=
 =?utf-8?B?MndEMS9yak51MFJiTnJUcGRKb2JQeHJ5cmJyU1NUbVNRNzZrTEFFUnZZei9l?=
 =?utf-8?B?S0lrc291TGFPSUdSVnU4THBnUDUweHpHNmdDNWVESmNMbXJYanpCa0NSamNC?=
 =?utf-8?B?Q2RQTU0yWEVuV0ZJREw0WGFrblpvWGo1K1g3djZ6QUZ1bXZJb3k0aVc1MzN2?=
 =?utf-8?B?MVA4Q2NkZTRldVhxOUw1YXJhempaQWpDdFNjZUFnV2p4cXFFeGNPZjBEdTdL?=
 =?utf-8?B?enl6dzdBNjAwVEdHcHNtK2VvYVZ4UEptTXR0b0hWUDN5Q084dGZWOFg0NDFF?=
 =?utf-8?B?OUpla1VQM3JCbGFWeGdabFUwaXpGenhnVWlnMUpjWHZJeDY1ZW1pdTN6cStW?=
 =?utf-8?B?YXNpUEllZm00RytGSldTQVVyUXRXaDdDU1hDWGFRVm1YSG43V1drRGx1NTV5?=
 =?utf-8?B?TUpBbng1SDFWQmZDc2JsSnUvWElQalFrYzgrSDQ5Mjl3dW5oS3p0VUs3bzNt?=
 =?utf-8?B?UGhpLzh5aWowc096aUJWaU1WVjdNQzIxcXZHbCtuV0NmSlRXQXE4dnkrM1ZR?=
 =?utf-8?B?S204YW5CRmJMOXlQandDcUhnUW1NMjRZQ0FsZSsvK2xEeGZHWGJOM2JSOUF3?=
 =?utf-8?B?VjNRT240UEsxTVhEdFhad2xudlU2QkxDMDUrd3hzSDBudVVBVHpiS3RBUW1Y?=
 =?utf-8?B?SEU5ajFsN2JEKy9pTGNYaDVZWkNTYmd2QXVIb2VNV2xRVkFrcGFQTm1PT1Q2?=
 =?utf-8?B?dVIzZDZ6RGZsWUN3cWpTVGRMVjRjOUJsRDZaY3RGcFRIb0hmTUlWVWNydXhM?=
 =?utf-8?B?bm5BNFIwKzJTS2oxY0lTK0NteUt1TnRpQ0dXSkRTK1Z3N3o2b0phWnR1RXBG?=
 =?utf-8?B?cjBrRGtSUmJJWkJsb1I0QkR3UHVEMzhZY1FhWlUweWh6RTBXTll2dUZuSGNo?=
 =?utf-8?B?YkNyTWVrc1hEVlRSUVhGZTE1UTA4UE1CcHpJa0NqQ05Kd3FmZjRvSmNNTTI0?=
 =?utf-8?B?dVJmVEdyZ3Vacitjb29mejZsaUI0S1hRQ2FqWjMrNEtEcElLMkNHRDc4ckJH?=
 =?utf-8?B?UUF4cElwMWhrUEJIbXF1bW9NTE1mcE1UdEE4M2FrRnorMmxZRktCbVlwU3N6?=
 =?utf-8?B?UVVmdEJQTnphK21PNkF3UzVSc0pEWHRmSzdXcUpnZnduMW5Wa1V4UzRleWJa?=
 =?utf-8?B?NjRtWHQ5QkF0SGU4cnFFelJGaVJvOEw4WGs3ZmxHSS83SGJ4WW5IOGthZ1BZ?=
 =?utf-8?B?NGxzNXRUS0J4cEVSMGppU1YrOFU5YW9VTkZBbG9YaVVIZFN0dXlvN1U5RFlH?=
 =?utf-8?B?RWpjdnlERklPdEt6Y3loeEN5VXJTYVZlWmZFWFNZeG8rTlk1VXRtZEJDV2dV?=
 =?utf-8?B?dHY4dGNDWnRMU0NoVTA5RmRzTjlaV1N1dGJIVlhVdllyQkdiZTdQd2FhUVZI?=
 =?utf-8?B?aUhEMUJNcFNZSCtNNmJybGIyMENSL2tuMWl6UmhtMC9lSzZxN2lTa1QyOHVH?=
 =?utf-8?Q?MD2Lh/1f7IJwEXhu5mU32LW0qZ/R7+UO9khJtvJ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a3382000-24f3-4d1f-7c96-08d9670b16e3
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 14:25:57.6783
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: WphUeIUdObg+mULD00qGb5vHk6afgxbJ5nTd5f1wuEwyWy4tzaoj6/Pdv1QD3in3mOYUd2FH1zWhaTYcAfmsCQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB5682

... depending on feature availability (and absence of quirks).

Also make the page table dumping function aware of superpages.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -756,18 +756,37 @@ static int __must_check iommu_flush_iotl
     return iommu_flush_iotlb(d, INVALID_DFN, 0, 0);
 }
 
+static void queue_free_pt(struct domain *d, mfn_t mfn, unsigned int next_level)
+{
+    if ( next_level > 1 )
+    {
+        struct dma_pte *pt = map_domain_page(mfn);
+        unsigned int i;
+
+        for ( i = 0; i < PTE_NUM; ++i )
+            if ( dma_pte_present(pt[i]) && !dma_pte_superpage(pt[i]) )
+                queue_free_pt(d, maddr_to_mfn(dma_pte_addr(pt[i])),
+                              next_level - 1);
+
+        unmap_domain_page(pt);
+    }
+
+    iommu_queue_free_pgtable(d, mfn_to_page(mfn));
+}
+
 /* clear one page's page table */
 static int dma_pte_clear_one(struct domain *domain, daddr_t addr,
                              unsigned int order,
                              unsigned int *flush_flags)
 {
     struct domain_iommu *hd = dom_iommu(domain);
-    struct dma_pte *page = NULL, *pte = NULL;
+    struct dma_pte *page = NULL, *pte = NULL, old;
     u64 pg_maddr;
+    unsigned int level = (order / LEVEL_STRIDE) + 1;
 
     spin_lock(&hd->arch.mapping_lock);
-    /* get last level pte */
-    pg_maddr = addr_to_dma_page_maddr(domain, addr, 1, flush_flags, false);
+    /* get target level pte */
+    pg_maddr = addr_to_dma_page_maddr(domain, addr, level, flush_flags, false);
     if ( pg_maddr < PAGE_SIZE )
     {
         spin_unlock(&hd->arch.mapping_lock);
@@ -775,7 +794,7 @@ static int dma_pte_clear_one(struct doma
     }
 
     page = (struct dma_pte *)map_vtd_domain_page(pg_maddr);
-    pte = page + address_level_offset(addr, 1);
+    pte = &page[address_level_offset(addr, level)];
 
     if ( !dma_pte_present(*pte) )
     {
@@ -784,14 +803,19 @@ static int dma_pte_clear_one(struct doma
         return 0;
     }
 
+    old = *pte;
     dma_clear_pte(*pte);
-    *flush_flags |= IOMMU_FLUSHF_modified;
 
     spin_unlock(&hd->arch.mapping_lock);
     iommu_sync_cache(pte, sizeof(struct dma_pte));
 
     unmap_vtd_domain_page(page);
 
+    *flush_flags |= IOMMU_FLUSHF_modified;
+
+    if ( level > 1 && !dma_pte_superpage(old) )
+        queue_free_pt(domain, maddr_to_mfn(dma_pte_addr(old)), level - 1);
+
     return 0;
 }
 
@@ -1866,6 +1890,7 @@ static int __must_check intel_iommu_map_
     struct domain_iommu *hd = dom_iommu(d);
     struct dma_pte *page, *pte, old, new = {};
     u64 pg_maddr;
+    unsigned int level = (IOMMUF_order(flags) / LEVEL_STRIDE) + 1;
     int rc = 0;
 
     /* Do nothing if VT-d shares EPT page table */
@@ -1890,7 +1915,7 @@ static int __must_check intel_iommu_map_
         return 0;
     }
 
-    pg_maddr = addr_to_dma_page_maddr(d, dfn_to_daddr(dfn), 1, flush_flags,
+    pg_maddr = addr_to_dma_page_maddr(d, dfn_to_daddr(dfn), level, flush_flags,
                                       true);
     if ( pg_maddr < PAGE_SIZE )
     {
@@ -1899,13 +1924,15 @@ static int __must_check intel_iommu_map_
     }
 
     page = (struct dma_pte *)map_vtd_domain_page(pg_maddr);
-    pte = &page[dfn_x(dfn) & LEVEL_MASK];
+    pte = &page[address_level_offset(dfn_to_daddr(dfn), level)];
     old = *pte;
 
     dma_set_pte_addr(new, mfn_to_maddr(mfn));
     dma_set_pte_prot(new,
                      ((flags & IOMMUF_readable) ? DMA_PTE_READ  : 0) |
                      ((flags & IOMMUF_writable) ? DMA_PTE_WRITE : 0));
+    if ( IOMMUF_order(flags) )
+        dma_set_pte_superpage(new);
 
     /* Set the SNP on leaf page table if Snoop Control available */
     if ( iommu_snoop )
@@ -1926,8 +1953,13 @@ static int __must_check intel_iommu_map_
 
     *flush_flags |= IOMMU_FLUSHF_added;
     if ( dma_pte_present(old) )
+    {
         *flush_flags |= IOMMU_FLUSHF_modified;
 
+        if ( level > 1 && !dma_pte_superpage(old) )
+            queue_free_pt(d, maddr_to_mfn(dma_pte_addr(old)), level - 1);
+    }
+
     return rc;
 }
 
@@ -2348,6 +2380,7 @@ static int __init vtd_setup(void)
 {
     struct acpi_drhd_unit *drhd;
     struct vtd_iommu *iommu;
+    unsigned int large_sizes = PAGE_SIZE_2M | PAGE_SIZE_1G;
     int ret;
     bool reg_inval_supported = true;
 
@@ -2390,6 +2423,11 @@ static int __init vtd_setup(void)
                cap_sps_2mb(iommu->cap) ? ", 2MB" : "",
                cap_sps_1gb(iommu->cap) ? ", 1GB" : "");
 
+        if ( !cap_sps_2mb(iommu->cap) )
+            large_sizes &= ~PAGE_SIZE_2M;
+        if ( !cap_sps_1gb(iommu->cap) )
+            large_sizes &= ~PAGE_SIZE_1G;
+
 #ifndef iommu_snoop
         if ( iommu_snoop && !ecap_snp_ctl(iommu->ecap) )
             iommu_snoop = false;
@@ -2461,6 +2499,9 @@ static int __init vtd_setup(void)
     if ( ret )
         goto error;
 
+    ASSERT(iommu_ops.page_sizes & PAGE_SIZE_4K);
+    iommu_ops.page_sizes |= large_sizes;
+
     register_keyhandler('V', vtd_dump_iommu_info, "dump iommu info", 1);
 
     return 0;
@@ -2777,7 +2818,7 @@ static void vtd_dump_page_table_level(pa
             continue;
 
         address = gpa + offset_level_address(i, level);
-        if ( next_level >= 1 ) 
+        if ( next_level && !dma_pte_superpage(*pte) )
             vtd_dump_page_table_level(dma_pte_addr(*pte), next_level,
                                       address, indent + 1);
         else



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 14:26:53 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 14:26:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171512.312974 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIXO9-0004rK-0T; Tue, 24 Aug 2021 14:26:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171512.312974; Tue, 24 Aug 2021 14:26:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIXO8-0004rD-Tg; Tue, 24 Aug 2021 14:26:52 +0000
Received: by outflank-mailman (input) for mailman id 171512;
 Tue, 24 Aug 2021 14:26:51 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIXO7-0004qw-Bz
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 14:26:51 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 51d0b486-04e7-11ec-a8dd-12813bfff9fa;
 Tue, 24 Aug 2021 14:26:50 +0000 (UTC)
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2059.outbound.protection.outlook.com [104.47.0.59]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-34-7zS0o-UiOU-iCUilfnEdTA-1; Tue, 24 Aug 2021 16:26:48 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM0PR04MB5586.eurprd04.prod.outlook.com (2603:10a6:208:130::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Tue, 24 Aug
 2021 14:26:46 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 14:26:46 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM9P250CA0020.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:21c::25) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Tue, 24 Aug 2021 14:26:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 51d0b486-04e7-11ec-a8dd-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629815209;
	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=+chUC9y2Lb1G4vN61QIuBBXsqqC6ILv8f/8geNJpSIk=;
	b=dQDFkgY9/7cCYNmXEXdIIklpsHbzM/hJAbKae/kJwiESuwNcXGWzD3NnNYgxKUXXs5pI3w
	piImhcNCrYjgV7/97Dz306Y1P6zcpandUHDcB9dn3o318VOFWv710hdgWOJOFY1C93kzWF
	LfoBUVqr+BEovFK4V1o2bBTcIktmXIg=
X-MC-Unique: 7zS0o-UiOU-iCUilfnEdTA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=K0KRIO8eqhFI+9kQygeatb9Kg9FK5Rru0iuKTCFOOV2U2n4N/WokiYeBzy6Q14ZnlkArDes9Kbi7leynJvqrHLrIvp9ElDtW/LeaGMgBPnI2K52M9qH5sSgjdZYRMcW7Jw7QjXUGKDdwAsTrb+EcHXrlHxTlXc7P2Wu2lLYLm3UK7MSQVC4syGx7seMrHnSnz1pvZTw2qWuMeyVf1geJhmXudKT0xmasHQPW/5DcURFdT/wml/8A2iTCLa/6jaLvpQjrgoYZq8UhJ/kqIOra3fNTTp3gaMDFbj0mZHfBsPH68anXRetrNfkkYjnH3TfdEg0J1vZnH+/eSfE6lAUA3Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+chUC9y2Lb1G4vN61QIuBBXsqqC6ILv8f/8geNJpSIk=;
 b=V+m4gd3hop4Kd6k5SME465aQMkRQ6JfO1OFj8mEC4hyY+mivMHV4Vr9qtXnz3jSIm+a7vVlsMf8Ibl8noifa4v5yYJNGy0nEpoXhLTqRWZPJs+2KAn9F6sbRoc5DZRWBeCS5kH+f3UWlBJYklLXVYD2OpCRZmMCcyFy26SNt5I/sDvnepPFexUhUfONKaCvxuxinBdhb6KVaVzpXvwnvjegtsE225Nk3zpX9jsubZi0+tytvOod4+mJ7GXAEcFH1IMZoH8MrXqBa4WCpdqpzunXgbncYVa39yPf/886wiZtvtDXJUFf5SmSAA0q7mKAn2yXyDTUSQUeHAkwR+F4Emw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: [PATCH 15/17] IOMMU: page table dumping adjustments
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>
References: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
Message-ID: <d6b3d7e4-7ea0-387c-86d1-1fb3c59688fe@suse.com>
Date: Tue, 24 Aug 2021 16:26:44 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM9P250CA0020.EURP250.PROD.OUTLOOK.COM
 (2603:10a6:20b:21c::25) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d6246664-69e8-4465-ca4a-08d9670b3406
X-MS-TrafficTypeDiagnostic: AM0PR04MB5586:
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB5586CA1EE12D12F7176AECB4B3C59@AM0PR04MB5586.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	sLu+3AMuZuS8WZtxFu2ETtWjXNMb9sAEkQDBQpXGVtcLJ5gSvP//HXfaMJaVPM2S6rOnn2HDhuDCWtaouaZwDlqNgs4HAF+9HzCFbgFmS2yeTBUMZgGZiE78VKLjBfPx+kqmTCzyIj8i0QuCJc0yC+CfwoSTdngQkpG+Ok4zew7IU+g6SArId8NDiISNDO/fj2j/YFOgsOXUwZbqTH6KVOFCj/BXszW6EZA8JMgeM6zGVFVRlArypBfCcCC5gMNLXWxtUxW3/SzrkyYp+/KZQvvsQy9enJL4lzNCYaoSh4hbd1BTSYiL3YRbDM3n5s8fyH6r5hqMSm2ElHfRMpARJXfAG2vatvi7clrMshdhln62liGBMQvyMpfPDpnvbJJZ81s8grevO8/ZxOTNhGNXHKsPwbNLQyJEQZrVOsyNkfJQAs9M1wMEJncnjlWLpanOYY0w1eiLXA0TNF/URK5fJUM2Z4akDH+AqHO5ZPQFSnHnZLHDeOxBlUI/zw73lRBHHO6DICM99Y2abc/nnsPPXPxp4gA45CabxSQhJAF4eZGBCcmNu2jOVRJcxk3dnr7bWUgI4Y1bLlfvb8CGr2ey6bCjAcTcEDz/gdTLGykKy3B8aZs9gr0v4JLV6114C8qOKKNuwc/VnFKqa+YOfFuAzt8/7amEgXmOQ3/LP256wgmgJ/GndwGaxzzUSTUkBrHnBt9VEbHGmbHfRnPbW61CR62240u1rF1fo1/4lUwefhc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(39860400002)(366004)(376002)(346002)(136003)(6486002)(6916009)(478600001)(31696002)(956004)(4326008)(36756003)(2906002)(38100700002)(316002)(66946007)(26005)(8936002)(66476007)(66556008)(5660300002)(31686004)(16576012)(54906003)(8676002)(186003)(2616005)(83380400001)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?amJ6RVNIY1EzZ0lSc1FIUm4zVTJqV2JZVjFKZ1VsRWpVTzY5cVhvUnNvV09Y?=
 =?utf-8?B?VFdiS0U2YlRNMnRlQ05RTHZ3TEF5N3R5cEJ1M2xOUm9YRzVqZ2xicWV5SnUx?=
 =?utf-8?B?NGwwU1RrQVBzMGNoUWxUR2dybHdhblIvVWFpMzJBK2F6clZ4d3E3dGdvU2h4?=
 =?utf-8?B?QlhyMzhlYlFLeE9tWWttZnhNWm83TmhxU2FtcUliR3dUbVdvMXRWQTJuc0M0?=
 =?utf-8?B?Z0NhaTBLVDY0OFBNdVI1ZnBaem9RK05lNWYrakFTOHAweWlzRTNtT2wxQ2hY?=
 =?utf-8?B?VGtJRnE4SURxdWx4WWFCY1MxTGRRTDJDNUtPZS9kb0pxaTBJak9JRGdJUStu?=
 =?utf-8?B?a0xHdHU2Q3l6bUhnNnZMakNFN2c5c3UxU1g3ZzNzNnZFbG9WUzRtK0U4UDJV?=
 =?utf-8?B?eHdVZiszUmFuYVVtdEJNU21jYllVSmxwM0hJMURTemhiRVh6UUJWVGtOUWFQ?=
 =?utf-8?B?NU5HViszZDA0Tk5sZmdTaFF6c1lTYldqVXN1WURIQnliMHJ3MnVua3NNaHZr?=
 =?utf-8?B?MUpoSTRjK3JIL2RqVTUzdUtnWmlkMnR4VmRGcHZkNEcwVlVvRjRMNTQ1cHNT?=
 =?utf-8?B?eXhFOFhVTCtNTUVJMm85YWQweGgwN3hLRjRzTXg5SGRWRE10bTdqMjZDcjl6?=
 =?utf-8?B?eHJtYnZsa3kxS1hRTW5LYXVhK0g3NVlwa3JqSHB0QTk3UXhlNmphUEhkUUd4?=
 =?utf-8?B?Yzl0U09vVjhHb24rNE8zTi8rMHRmcjJ1blZpVzJYTFU5N2dpc29rNkZDck9U?=
 =?utf-8?B?ODVidUhCNGtTY0ZET0QrQnA5TndMWVg5SkhiYkxkZk1rNmFxYzVTTDZkeklO?=
 =?utf-8?B?aGxra080MFlQd2YyN1oyajRHQlZ2YkQvQ0w4TXo5VXBGVlY2TGZXSDVQWllK?=
 =?utf-8?B?aHJKTVdVMW1Oa1RGR29ibDYzcWtIMmxseUtHZERxVW43dTgrL0xqNERuTFJQ?=
 =?utf-8?B?Q3pKTnNSNCs0N3ovR3Jya2FKTDNSRTMvTDVESTFnaXk1OUxYc3o4eDdZYy9p?=
 =?utf-8?B?Rk0wSHVLek9RamxOV2lkcXQ4b0dqUHNWWFVVKzJESTJGaGR5cEh2UHVlYTNV?=
 =?utf-8?B?RHBIT05OS2JCSEE5dWRoK2VId1FuZGFMd2x0UUpBY0EyNFZnWWduMTdpZWUr?=
 =?utf-8?B?czIyK2puY09vcGlraG1FMGJmZ0d3QWcrZjlzVXQ3blFFdUtUVG9ZajhaZFpw?=
 =?utf-8?B?WmcwdEgydlFVMXhNWkgxeFVvb3A2T1NBTkI3U3Zjc2kzU09aN3o5M2FaYzlD?=
 =?utf-8?B?U3VyOENwalFWYkRmTHFXcnhYcU54SlgxMHpQN3NzNFAwR0tOVHBSTnowdHdi?=
 =?utf-8?B?WlNBWEZzd3NvOGpnQUh3NVJWeVhkZm10aWpwMDhiRmFOOXFVWjJhNmsxUjhK?=
 =?utf-8?B?UEZzYVhyQjFnbEw2NHN3UkpnWk40Qk03ckxWeE1GZmwveTJzcnM4TUNzSVMw?=
 =?utf-8?B?d28zM05OSDJMR2F6bmZHdldVTXVTaWpjL3NJVDc0bUFrUll6V09taEtDQXda?=
 =?utf-8?B?ZzJLUlJ4b2xTYmlkY2ZuMlM1WFJrVXlmc1hZME1rTlBOc0ZWaiszWWl1VFAx?=
 =?utf-8?B?STNGSDlHNEQxZS8zSDE3VThydWRqd3NlT0NKQnQwNW5hU3lKQmFEd3dUdFZl?=
 =?utf-8?B?V01keGw0a0tnVkh3V3ppWm9XQ3QvOU1HY1hYenhWNEgvYlNzcENtVi9iUkNW?=
 =?utf-8?B?UHRjcjBXQmlxeVM5T2lieEJQQ0FJRUN5NVVSVlB4RWZqV0xTQTNtL3diSC9v?=
 =?utf-8?Q?JsncqjB32tpgMMqWCrwN1viPCFydhibzWIIdbsZ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d6246664-69e8-4465-ca4a-08d9670b3406
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 14:26:46.6046
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: y1+Ce839BMTongem+xiSfpNoejtAT01mTUlante32TW8N9XstRwTMRIgB+0ENqvO4qhbraN+DYBGiZr3gmaLnA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB5586

For one none of the three IOMMU implementations on Arm specify a dumping
hook. Generalize VT-d's "don't dump shared page tables" to cover for
this.

Further in the past I was told that on Arm in principle there could be
multiple different IOMMUs, and hence different domains' platform_ops
pointers could differ. Use each domain's ops for calling the dump hook.
(In the long run all uses of iommu_get_ops() would likely need to
disappear for this reason.)

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/passthrough/iommu.c
+++ b/xen/drivers/passthrough/iommu.c
@@ -640,12 +640,9 @@ bool_t iommu_has_feature(struct domain *
 static void iommu_dump_page_tables(unsigned char key)
 {
     struct domain *d;
-    const struct iommu_ops *ops;
 
     ASSERT(iommu_enabled);
 
-    ops = iommu_get_ops();
-
     rcu_read_lock(&domlist_read_lock);
 
     for_each_domain(d)
@@ -653,7 +650,13 @@ static void iommu_dump_page_tables(unsig
         if ( is_hardware_domain(d) || !is_iommu_enabled(d) )
             continue;
 
-        ops->dump_page_tables(d);
+        if ( iommu_use_hap_pt(d) )
+        {
+            printk("%pd sharing page tables\n", d);
+            continue;
+        }
+
+        dom_iommu(d)->platform_ops->dump_page_tables(d);
     }
 
     rcu_read_unlock(&domlist_read_lock);
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -2835,12 +2835,6 @@ static void vtd_dump_page_tables(struct
 {
     const struct domain_iommu *hd = dom_iommu(d);
 
-    if ( iommu_use_hap_pt(d) )
-    {
-        printk(VTDPREFIX " %pd sharing EPT table\n", d);
-        return;
-    }
-
     printk(VTDPREFIX" %pd table has %d levels\n", d,
            agaw_to_level(hd->arch.vtd.agaw));
     vtd_dump_page_table_level(hd->arch.vtd.pgd_maddr,



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 14:27:20 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 14:27:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171517.312986 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIXOa-0005UE-E3; Tue, 24 Aug 2021 14:27:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171517.312986; Tue, 24 Aug 2021 14: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 1mIXOa-0005U7-B6; Tue, 24 Aug 2021 14:27:20 +0000
Received: by outflank-mailman (input) for mailman id 171517;
 Tue, 24 Aug 2021 14:27:18 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIXOY-0005TS-AF
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 14:27:18 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 1bf81538-43f9-4e9c-a227-2471f8545398;
 Tue, 24 Aug 2021 14:27:17 +0000 (UTC)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2109.outbound.protection.outlook.com [104.47.18.109])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-9-v6lPtcefM5CDPuJcGu0F9g-1; Tue, 24 Aug 2021 16:27:15 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM0PR04MB5586.eurprd04.prod.outlook.com (2603:10a6:208:130::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Tue, 24 Aug
 2021 14:27:13 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 14:27:13 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM3PR07CA0104.eurprd07.prod.outlook.com (2603:10a6:207:7::14) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.6 via Frontend Transport; Tue, 24 Aug 2021 14: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: 1bf81538-43f9-4e9c-a227-2471f8545398
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629815236;
	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=ekc106SeN5rQ4+mKbVywQpGio0tLIHNqkbPDTkhzXTA=;
	b=WnurmuG/rHc80zSPienleiKbu8WsHcALwZszMfGJ1pXDdJGXsQqnKWs0bZXC+6k+j6mMFD
	VHuBbx+IgNHzdElLPRw7woprQ/9UKaUDh9PXjW8jkww5+Uy53E5wrEIqx1MCTQxvFop5JQ
	6NOwkLAS43Uw9cXu/nwNdzWDx25utZk=
X-MC-Unique: v6lPtcefM5CDPuJcGu0F9g-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lrm3e6A5wvAUsNu83p6gsmlp44wd9x7J22oJaT4Z91czIqCAqQbgKonA/e7eIfH9DHP1uu0QXrDkTWsyK42VftZ0/ssJIGtGKK317BMbfx1ka6OItm5187QU5OTQ81KO61b8tx8kXu/0UD0LmHv8M9t/97y8lZ5tUuoX8AHDSTGTimBIb1BYLh0llKvMTYGtFVIuU2Ps0Zk5o5KnUSaWv2f5Nn2/ZsQqyEIpYJj8Vd5UqlDVeXiW7IoOqcBK6B/hI8g1FIk6O0EqcD4TTrltYoah7Ggmh/atYxO6LekDSdHceahWVnrxf7RPwMpV6f9mm86ybNZ3iYCGHIE9/VvnNQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ekc106SeN5rQ4+mKbVywQpGio0tLIHNqkbPDTkhzXTA=;
 b=ZtuX8vqgWMuCVBdRDUtVigE0Gva21eFEEYDLPhK1ZDF1wbdtC4pDF0LgWr0t81oPejBMsZ+g6g3uGdI2ZzncUbKIc04IVn+dYN5WrkuXG4KiAeYTkYwLVwMB26m4aXIGrdTtgCLq/L27i/TNTutCWQDpYdFnLyguHmUXTCmGB73HOqU031+n3Th3vxxDG/caKzhUdMRGyNTFc5iMIXFwXxJ8oGQ9CX0TPpUDhLeukwXF2pTwNuYNRg2nFaNd36F05lupZ4sOgWI88STHaruVl2QcPH1s2SiLRyFrTMch+9II9yp1IUDvg7LuaNHflLK7xYK3tzgMp5E2TXJGmJg4Sg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: intel.com; dkim=none (message not signed)
 header.d=none;intel.com; dmarc=none action=none header.from=suse.com;
Subject: [PATCH 16/17] VT-d: show permissions during page table walks
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 Kevin Tian <kevin.tian@intel.com>
References: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
Message-ID: <d4619379-3557-05ac-236a-06a169479a4e@suse.com>
Date: Tue, 24 Aug 2021 16:27:12 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM3PR07CA0104.eurprd07.prod.outlook.com
 (2603:10a6:207:7::14) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a1db4cfe-8a33-4cc0-ad62-08d9670b443a
X-MS-TrafficTypeDiagnostic: AM0PR04MB5586:
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB558613EEC3B6E62D97842822B3C59@AM0PR04MB5586.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:913;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Vi4vuJzXxMxq26AOxxsXIwuoIy8VuFEZomq+bypJ4nvr2w0vdbObSNNMGdta9Vv8+iXjleZndJAkEkXH/OBuTTF0BnWF57tgn+q9Slw9B1nzz26SsD+VbTLrJKz29kRGZP6l6J2meQc8Tze4U6BDPuO0wW2pLLI0rJ/aBuUNdO+0wiSx3d6XUnju9BCt7WqaNu45gZk8k5/v8b8ULI/tf8lH9bPtxNt3V3IpF7uWQcmNPlvd5c7OMns+2mWwP4eOFcH2wT7f3Mwjr1MwERnmljI9j3N3S7uT+7c1n8BYMpt/gssa4e58iCU4Ax6v82PxffB1YI9nqRwIpCw+XRVogjig0DBaO7BbWw8t5cCKLovspMZk7TEjIPoQnpTRiQvAu20oLaTs6ZY1tHXu7eBlpdUwcUIGoiETbc/FPsuDd+QQYsKsRsF0lwHRG4skEvdj025Mne8UQ6Xiqdk+u2WsitfoY4KShCJmIJNnOJ/63DuAV5JiyXpCQRTJ6DAnfV9KMFHY8iLDCkVjnKVxwdEpcNTsCNXA0R7/3yj3iMDp7zRQ3nsYf6aBlTtGCh9s7/jc93GPTw1RsZZfCpUQW7kbRwvNr2cHWTHXbBpEpW9CbiqyDEssPYSZ4nUW8ActCzdPUTXvmy9qO8BSg9TebzSEha+HdzmmDu75RVh+qy37YcWJEdSLpDNiA/gNgNLRr6q3ueW2VoGmYfP6w+Kb8gQVpNqIxi1N2vE9tx7CwrIQLLA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(39860400002)(366004)(376002)(346002)(136003)(6486002)(6916009)(478600001)(31696002)(956004)(4326008)(36756003)(2906002)(38100700002)(316002)(66946007)(26005)(8936002)(66476007)(66556008)(5660300002)(31686004)(16576012)(54906003)(8676002)(186003)(2616005)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?a2M4VlNwV0hzZ0FUSHNNa3UrSmZydnZwM24vbWk1QmJlRjdpbzlzVHc0Mlpi?=
 =?utf-8?B?UXpudmFBZ3JOeHBOc3dVeTN3TXJOcDRpUzRRTDJHZm1hTy9rUGxHb2VCLzRi?=
 =?utf-8?B?N3F6VzBrVFg5ekwzZGNMN3FRTVVXamwwai9VWnZWUTlNd0p6dUgrbGdFU0Vs?=
 =?utf-8?B?emVVZHlMa2RnYmRKREZ6OVEwVkdGTDNiYzhtUmtCUEFHWUxKYXRTMmpDZ2ZB?=
 =?utf-8?B?YmNJcisrZnNHQS84eEkrck9PRWZrUVVKalRNOTZjVFhLdHIrc2pkTUVjaVZ2?=
 =?utf-8?B?VlRhVGZIaXlQSHJPUTdCUWQ4T3h1UE1OSGhqM244cmJRNE5SQ2d3QnIwY1VG?=
 =?utf-8?B?QlVCQktLSGRMTzRjTGlBTVpCWXpmNGZSSlFpM254cDV3S2V6L0RRYWZwc25j?=
 =?utf-8?B?L21WY1JtRmdwZ1VFSHFQMDMvdEhxbVBxd1lMWnBxZ0tKTVlFWHBBeWFPejA4?=
 =?utf-8?B?cDQ4WWdZVFJOZnJaVWJrUjJFYjB6cnVjRHptYmFLN1kzeThBSUY4Y2svZVRi?=
 =?utf-8?B?Z3g0V1dCWkFSNUxXcERSb2dZL2g3RFlucFluZy9iZCtTWTEycTFBcG40Z1dZ?=
 =?utf-8?B?dmpUTUw4NVRiNUtaMUNSZ1BldWZ0MWxXbVQ3cTF2aithN1JNVHpmWFR6cWhu?=
 =?utf-8?B?M3pIV3RjM3FpODdROWhPZ1d3TlZtY3FTeUNBcFVSb1dpTFpPRjF6NDl5SVJX?=
 =?utf-8?B?SDFzVWxNU2FyRnBBbnE3aXVDUjJXUlFiQTkxVldRVVRHT3B3NWcxeVZDUmVj?=
 =?utf-8?B?RWxOejhOWHdOZ3dNV1NXWGJtSURPNklMdllDdWVyc2YycFdDNDFsamhrRGxR?=
 =?utf-8?B?QlFPMGt3VVNvaExYZ2pwWDQ2em5JTUdSY0xiTnJZejRJc2w2dXZuZVZjdkd4?=
 =?utf-8?B?MUkxc2s5dUw2bGljRGVTclEwcExEOGlaNmVPY2UvcittYjFsd1lDVW50Ry9G?=
 =?utf-8?B?YWxGRWE4aTEwNzIwWld2L1FSb09xN3hPYVlMUEQwMG9GajdUZnVHT0l3WWhy?=
 =?utf-8?B?Nm52d2FoakR3bitBM2JDRko5SDdXSnU5SXg0bEQ2YTJEWmNoMU1wSW9aWjlh?=
 =?utf-8?B?ZjZJeTNMeE9GQ1d3a1hCMUR6aG5zNmxLcHhtU3krSk5BcHJVQzFFdmdIQ2dQ?=
 =?utf-8?B?RVk5TExYbkxkbmp5STQ2NFIrZ1F5R1NDc2Z4ZXJJV2UzS21ZSHhhSlFVU3h3?=
 =?utf-8?B?THQxaFQ2eVRjYUlFeWJ2dk8vZTlDTm9ETzNJamF1ZDJ5N3hXZ1BaMTkwL2xo?=
 =?utf-8?B?bndUSDhpKzBsNTNLVHdydEc4YU5jbmlWelpZWFJFUjR4ODIvWlpTNGNRRUlM?=
 =?utf-8?B?bGh1MTZaSlUxR0RMY29KZGc3elN5MG9XS0NxRGFnRllFRXpqTUV5bzNVZlZK?=
 =?utf-8?B?bmx4T2lycTJ6Qm9YWWQ0R2RNOGJUUXZabVM3QmYvYk9SVEZFczRGTStMV0s2?=
 =?utf-8?B?NlVKb2loZk9jenVhRlM5Sk1DMUpnb3ZWY1h1b2E2SmxPa09CaE1WUlFzY1Fk?=
 =?utf-8?B?Rk1DRGNZRklaVGJBQlV2cVEra2h0RWtLMXpXTm5HOWdGMCtscTVBR1VCaUVI?=
 =?utf-8?B?NHVqT0xUVWZFY0RUbFNYZmplV29ZOHlqM0JXbktUZ0szcXg4UWlnbzdwSytj?=
 =?utf-8?B?MTA0c0pwME1sdEl2Vi9WVTN3SlNHOWVDRHA5M0ZqQ3pGWnROVW5lbFlUMC9G?=
 =?utf-8?B?VzRCZ1hZTlYzdVJEMnYvUy9EZnIvNTNTOGRtdGRYRDdidXFTZm5sRmpEaDdS?=
 =?utf-8?Q?tZ0GmXkIcf0G6a0zBwoeM/AeTznkkP3bto7fkA9?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a1db4cfe-8a33-4cc0-ad62-08d9670b443a
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 14:27:13.7482
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 48UJ3ztd7+K5HHRdKcxqUamBc1p/uAMa4dxgpy3PxJiYil59IfbCZK30V2OWVngOKvQ4FIwR3uXyHekSa98Rbw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB5586

Besides the addresses this is the next crucial bit of information one
might be after.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -2822,10 +2822,12 @@ static void vtd_dump_page_table_level(pa
             vtd_dump_page_table_level(dma_pte_addr(*pte), next_level,
                                       address, indent + 1);
         else
-            printk("%*sdfn: %08lx mfn: %08lx\n",
+            printk("%*sdfn: %08lx mfn: %08lx %c%c\n",
                    indent, "",
                    (unsigned long)(address >> PAGE_SHIFT_4K),
-                   (unsigned long)(dma_pte_addr(*pte) >> PAGE_SHIFT_4K));
+                   (unsigned long)(dma_pte_addr(*pte) >> PAGE_SHIFT_4K),
+                   dma_pte_read(*pte) ? 'r' : '-',
+                   dma_pte_write(*pte) ? 'w' : '-');
     }
 
     unmap_vtd_domain_page(pt_vaddr);
--- a/xen/drivers/passthrough/vtd/utils.c
+++ b/xen/drivers/passthrough/vtd/utils.c
@@ -159,14 +159,11 @@ void print_vtd_entries(struct vtd_iommu
         l_index = get_level_index(gmfn, level);
         pte.val = l[l_index];
         unmap_vtd_domain_page(l);
-        printk("    l%u[%03x] = %"PRIx64"\n", level, l_index, pte.val);
+        printk("    l%u[%03x] = %"PRIx64" %c%c\n", level, l_index, pte.val,
+               dma_pte_read(pte) ? 'r' : '-',
+               dma_pte_write(pte) ? 'w' : '-');
 
-        if ( !dma_pte_present(pte) )
-        {
-            printk("    l%u[%03x] not present\n", level, l_index);
-            break;
-        }
-        if ( dma_pte_superpage(pte) )
+        if ( !dma_pte_present(pte) || dma_pte_superpage(pte) )
             break;
         val = dma_pte_addr(pte);
     } while ( --level );



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 14:27:43 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 14:27:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171523.312996 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIXOx-00062Z-Nk; Tue, 24 Aug 2021 14:27:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171523.312996; Tue, 24 Aug 2021 14: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 1mIXOx-00062Q-Kq; Tue, 24 Aug 2021 14:27:43 +0000
Received: by outflank-mailman (input) for mailman id 171523;
 Tue, 24 Aug 2021 14:27:43 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIXOx-00062C-1w
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 14:27:43 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 70848290-04e7-11ec-a8dd-12813bfff9fa;
 Tue, 24 Aug 2021 14:27:42 +0000 (UTC)
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2059.outbound.protection.outlook.com [104.47.0.59]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-34-1PJLEEbCOMW5dBurWVugOg-1; Tue, 24 Aug 2021 16:27:40 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM0PR04MB5586.eurprd04.prod.outlook.com (2603:10a6:208:130::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Tue, 24 Aug
 2021 14:27:39 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 14:27:39 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR04CA0110.eurprd04.prod.outlook.com (2603:10a6:208:55::15) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Tue, 24 Aug 2021 14:27:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 70848290-04e7-11ec-a8dd-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629815261;
	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=+5yL1useIB2A88uC4gSJ+juDvytPE+ii/83FY2OaNQ4=;
	b=nvi9KBGRzYU5pBbGTr3uV+T13hV0+bMuJWT3ZZRC1PHrS+6FfEdQ7qyBtU+hDq89CTzuOL
	1et74RnVObfBSsaAYuDhPjk093ZgpqOLcWFQhZnG10nfY6VyvB73sFjnqqJUnWf1omLOG1
	HWBjmbU1g3lTkRLhmkxsqSOGlkt9qVw=
X-MC-Unique: 1PJLEEbCOMW5dBurWVugOg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JVTDmUbxFi1DQ8LwjrKy6oljS1oQiVAk/Zv08EDzg4+clqg9PZbbL4UQFJLSQ62sDovuOTjwQQEFBoHmXiPmTU43zkPMcfolwCtlg1/ILVSqt+/wipHdaoMufCpJC5G0hROK6a7tc64Hmf5KbQt5eFJVeiD/A3oz7SfFyyIXhJfuPamAVd4fpQANo6/SO9jpEd612WA5RxQeYSIVnvzNP/w1A0KwF1gGMpTXGEZNjD2LtYGBb56Hr+x1AkdBPCT+Xab/FZq9U0aTvPkK8ezpaLmXeVEPoBXKqsjZ3mwGcZqK9RTR3UbrySvvwO8jM5ejQ9T/g85rIlqpJfepCsw/7g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+5yL1useIB2A88uC4gSJ+juDvytPE+ii/83FY2OaNQ4=;
 b=LgbRTxjQGyBQ61/punqMJbPbTRxlpvsforoMzVB6OYDDQAx7gBFOZKUXDHFaMPUoWKfqQFUIftV2ch2D+ryfGVl5AKbXztqtI/rUCHv5D7O/tbtPb6f+CdiYe6f66FhlwtJvdGMNt0+Wm3tmr3SL9mkLneB+aRlkekLqQWknGFMbKn3ufFXfRk2hnigzfNn0hK9hoBduaRliYlu6NQz62UMQi3NjvK1WD+0pPJslaRFXvdNLCjh9WhqZzV8I7nD22tFT+rQ7Nkui+ZR42+a2nXqNyPNOhBDhezNugD/eVqQNG+JpBMbGJPaTMgVg74tsW0MLGPYNDX95gIPSAAhIBw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: intel.com; dkim=none (message not signed)
 header.d=none;intel.com; dmarc=none action=none header.from=suse.com;
Subject: [PATCH 17/17] IOMMU/x86: drop pointless NULL checks
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 Kevin Tian <kevin.tian@intel.com>
References: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
Message-ID: <25ad2429-df7d-95c6-ec70-4b23e6a023a2@suse.com>
Date: Tue, 24 Aug 2021 16:27:37 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM0PR04CA0110.eurprd04.prod.outlook.com
 (2603:10a6:208:55::15) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 022cfb7c-c0b7-40f4-cbe9-08d9670b5345
X-MS-TrafficTypeDiagnostic: AM0PR04MB5586:
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB558655890A02EA21735BA89DB3C59@AM0PR04MB5586.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:240;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	VUHcfo6ACj6jl93631RzbKZoLjBFLwVlaNtEimo5xUdUlrUXwT/NeSnKYW2PF7VVBV0o3o9kqN6Gj0k0ZWfhPqPzM1oDgPy3LxF2LNlBzRmtL3lVbccz0I9IxFrGBhjOBAsQPRhmta9+q7ktBVtetlIztFlJDWJuqeBTiLFFPXrghnUAF9z0odAXcUdDz4JpIuwvFs+pZiVuYjdxSs8EieRYqeQHDXTzQIva5JTApF3FtI7xAWmcmBxwYhjJiQ8uTaAUMcGU4yQsd3LpUGaIqk5JKLvlWUa2uth2g/BQit1mrNktWejmX9j54RXK36GeXi3JeS7FZpLEhrp+fDUB6y0TGsW8/qeuSkYVPzDgJ5yQU/hQanVb+R3wdINNffui/B5nW2jfJeZDFHFsClb/O9TvJxf+zBFcs0aoLl3MaJHThYWvw8ZlAuxBYuZVV+UWlpEdPRDepyTz+LHngtwM/YgzXyNH31gVlE8GxqOUa+DU9AS+L8ns2jZ452E+UU+nNSTWJ7s+/3inAvHWiw8KpSnP8NlirTvKWWmzi4RgQIVj2wK4ivwRZa/bjz/MlOtoE9nO4cKV0bNr/YYASocPIrNXbnTYkoBM9YB1uWX/sz6T19MReGkDHnA/KNGz6/JovSrDU6J6KxIFfJf71BBnVX51GyGspQQcQw56osVANE9y8tttpNppk9JjAGw2nwh97Grx8BWpIKOkoUsumnlAFuF7UeYjV0Cojsiei5HdcR8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(39860400002)(366004)(376002)(346002)(136003)(6486002)(6916009)(478600001)(31696002)(956004)(4326008)(36756003)(2906002)(38100700002)(316002)(66946007)(26005)(8936002)(66476007)(66556008)(5660300002)(31686004)(16576012)(54906003)(8676002)(186003)(2616005)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TW5scENkZkZaVGdHaGlheG8wZkJjM0lpcVFVenBPN3EvVElsNTJTWXpWRWJn?=
 =?utf-8?B?QmRaa29sZkl0N2xjS21kdndtK09XaDJRdkk5d3E1VFNrdGtMdVREVXVmWkNI?=
 =?utf-8?B?VzBLLzdzOFNJVVRtWGErVllHd0FhV2todk9VVkNPU00yeGtMWlY4Zkw0MWFU?=
 =?utf-8?B?eDFvbzJ5V21sNzh1UFZDWlcyTE5aL2VYRzBMSi91ekppclpzcXQ1alNPdFJ3?=
 =?utf-8?B?WStQb0NJcUNkZHF2T0NYVHUxL1RidWZYZjEwWThWdjFRQSt0MjUvTUdjaW10?=
 =?utf-8?B?VTRmS24xSzMrSlBGb1FKVUZYN3dRS0dEU09ZV2ZEc3pkZWQ4aUY0L3dPb2ZD?=
 =?utf-8?B?QWZJVEtjQm1NL3lISE45NlA3aTFvQXZTZGZOM3FwTFJIbmNyYW0ralRtNUsx?=
 =?utf-8?B?TzJ4Und5M3Y2UTlMcUVmMW1Cc3IvNGdobHVFYWd6b2lDeWd5eVFZYjQzYnhu?=
 =?utf-8?B?UXllVmpKZmk1WUMrODFSOSt3bW9jWDcrbi9JR3AxSVBsb0YrNExoR2FkL1Yz?=
 =?utf-8?B?WGJZbTc3QTcrUndnOHVDLyszQW1BQmhOQm90QnRoRnNGSWhRUGlHVmIwdmcv?=
 =?utf-8?B?TEIxaWkvbGNoN0NZUG5RU21HVTdTdWltMWZlTjNXdjFRdmMwQzVDT1grdFhY?=
 =?utf-8?B?dkhhTW5hNm5kV0VUa2NmQkNsQ0lkM05aYSszclVDeXM0bEN4dFNhS2JxRito?=
 =?utf-8?B?TjE2MWhXMjhTcVlXL29hdDN1UHc0Q1JCMS9PNnZMSTNIVW1yN0ZuTm5oUjg3?=
 =?utf-8?B?b2pOVVpRNzFObHdnb2FNbHNhMXFYZVhlaFIyQlNtRURlTjFIK0dIY0hDYy84?=
 =?utf-8?B?c1ZmbzRVUmR3RkdNdXhSTTRyZ2dCUllyOGJqTVA2QmRITGdLYmp1NTV2elow?=
 =?utf-8?B?N04wejNDcjQyUlFMUTBWelppdXpCTDAwaGg1MHpCQkU0d1lHWnNNWUZBTWRQ?=
 =?utf-8?B?K1RlRG5NbVRDUmhoL0V5RjlZcXAwZ042SXhoYkhKRnhIRUowak80d1BhRXdk?=
 =?utf-8?B?aC8yTVFvNlBDZUp1TVo5aGdsMnpXTGVpZ2xIZFU1RSt2SFlwa0xQakRYSTFm?=
 =?utf-8?B?TURMZGlMb2lWb2YrSExrTGtqZk95Qk9pQ3plN3ZqTkY1b09TaWVkOXQ0SC9L?=
 =?utf-8?B?WHZFWElwMytoM3BHT0hoamt3S0VqK0FqNmhqU1hZN3VHcjAxTnJ4TFJkZ0kx?=
 =?utf-8?B?STdZck5VcFN0Y29Hbmp0S3dFODVla2djQVVOcElKRUx2RERodDdaY2RkSWs5?=
 =?utf-8?B?RHgyb1Q3YWdYWFk2VVExdXNVdFBibUYvZEsrTVY5MC9GVXRudlEwZTgvOWxs?=
 =?utf-8?B?Vmk3aUlvYW9HYyt4eWhvazdBTnhSUzJwU1JoQ2VnZlNxZjJiNEc1RjZnalMr?=
 =?utf-8?B?MVF4ZkdscjA4dXJUYy9sOGVBaEFUUWhXOG5YbHNzTFNydGNqY09tSjlxUkJ1?=
 =?utf-8?B?YlIzdWZBbUpIbjQwYzgwaTVGOFFEVXNVOHNESHMrY0VrQnBtcTh6cWNQaVQ1?=
 =?utf-8?B?a3ZseDVuUGhteVViN0VFWTQ0T2dKTVNtaVpDZllXUzBiOW43dXR5R2kwZTB2?=
 =?utf-8?B?VWhvUElkUUQwVWF1ZENOT2JzUlZpT0hMdUxoVEJjdC9WSUp2bUk2SThodjVx?=
 =?utf-8?B?THRjUE02VHQ5aEJZcENzb0hDaHlBQnEwaHpLYmgzQ2M1S0xWZFdhMXVMcjVS?=
 =?utf-8?B?dUo0UEovL0FXYWV6clUrRHdoMmJ5elhwek9DTmFqU0xwdVRlRkZsQlVtUXNQ?=
 =?utf-8?Q?h+lGu84/SH7CBz8Gwsuavf1Y/xCTVBfw7C3Zzap?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 022cfb7c-c0b7-40f4-cbe9-08d9670b5345
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 14:27:38.9839
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jWmxs45Fqndz6A/OBCjhl7yblH2lhZOvMG/icxABb33lAs3dynaT337+fOMopSoVfsMHfl1aXHu5CBhkrYfszw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB5586

map_domain_page() et al never fail; no need to check their return values
against NULL, and no need to carry dead printk()s.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
+++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
@@ -530,12 +530,6 @@ static void amd_dump_page_table_level(st
         return;
 
     table_vaddr = __map_domain_page(pg);
-    if ( table_vaddr == NULL )
-    {
-        printk("AMD IOMMU failed to map domain page %"PRIpaddr"\n",
-                page_to_maddr(pg));
-        return;
-    }
 
     for ( index = 0; index < PTE_PER_TABLE_SIZE; index++ )
     {
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -2800,12 +2800,6 @@ static void vtd_dump_page_table_level(pa
         return;
 
     pt_vaddr = map_vtd_domain_page(pt_maddr);
-    if ( pt_vaddr == NULL )
-    {
-        printk(VTDPREFIX " failed to map domain page %"PRIpaddr"\n",
-               pt_maddr);
-        return;
-    }
 
     next_level = level - 1;
     for ( i = 0; i < PTE_NUM; i++ )
--- a/xen/drivers/passthrough/vtd/utils.c
+++ b/xen/drivers/passthrough/vtd/utils.c
@@ -106,11 +106,6 @@ void print_vtd_entries(struct vtd_iommu
     }
 
     root_entry = (struct root_entry *)map_vtd_domain_page(iommu->root_maddr);
-    if ( root_entry == NULL )
-    {
-        printk("    root_entry == NULL\n");
-        return;
-    }
 
     printk("    root_entry[%02x] = %"PRIx64"\n", bus, root_entry[bus].val);
     if ( !root_present(root_entry[bus]) )
@@ -123,11 +118,6 @@ void print_vtd_entries(struct vtd_iommu
     val = root_entry[bus].val;
     unmap_vtd_domain_page(root_entry);
     ctxt_entry = map_vtd_domain_page(val);
-    if ( ctxt_entry == NULL )
-    {
-        printk("    ctxt_entry == NULL\n");
-        return;
-    }
 
     val = ctxt_entry[devfn].lo;
     printk("    context[%02x] = %"PRIx64"_%"PRIx64"\n",
@@ -151,11 +141,6 @@ void print_vtd_entries(struct vtd_iommu
     do
     {
         l = map_vtd_domain_page(val);
-        if ( l == NULL )
-        {
-            printk("    l%u == NULL\n", level);
-            break;
-        }
         l_index = get_level_index(gmfn, level);
         pte.val = l[l_index];
         unmap_vtd_domain_page(l);



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 14:29:06 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 14:29:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171530.313008 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIXQI-0006qb-4K; Tue, 24 Aug 2021 14:29:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171530.313008; Tue, 24 Aug 2021 14: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 1mIXQI-0006qU-0Q; Tue, 24 Aug 2021 14:29:06 +0000
Received: by outflank-mailman (input) for mailman id 171530;
 Tue, 24 Aug 2021 14:29:05 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIXQH-0006qK-2O
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 14:29:05 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id f66f535d-4d29-4b6b-a630-bccc74d91914;
 Tue, 24 Aug 2021 14:29:04 +0000 (UTC)
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur02lp2058.outbound.protection.outlook.com [104.47.4.58]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-13-0UcqUhskP-aSz4trGnM9sA-2; Tue, 24 Aug 2021 16:29:01 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM8PR04MB7746.eurprd04.prod.outlook.com (2603:10a6:20b:235::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Tue, 24 Aug
 2021 14:29:01 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 14:29:01 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR01CA0118.eurprd01.prod.exchangelabs.com (2603:10a6:208:168::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Tue, 24 Aug 2021 14: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: f66f535d-4d29-4b6b-a630-bccc74d91914
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629815343;
	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=at8tJY4rlFeuURUMYSjVxXq1mLFE6bL+0bJrTSnVcZE=;
	b=AmbDiDfbJ0saxCR6Ebqpa2qkgHlQxK5lGrPfY9/yfjIYVMxMyL9N/v1hd6yGbhGGLgLI9k
	hY7gFq3I8idBNycTEQIYvD6J+0iL3JcIi0B8eyJ5epEcx6myWPRoLku5oI5suQEiXxNv2x
	YyKPG3z9Vr8TPO0go/ownsaTV3ZMz3Y=
X-MC-Unique: 0UcqUhskP-aSz4trGnM9sA-2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QgfyDVzT05d6tGWL6fAXUcwTYu3wbpDAJAtWvcyfnyDcq8qLsy891YKINQRCVhezS3L2LQy6AoT8SowRnO71FFqVArkpsQ+jfeWjEfd5eHQBj7M9RyBpoCKkwWHGRE5dbpaOa+iIxTvig/KsRd5RR4Nlg7WcMV1Mrr/N7/iRJmg1zakDFzKmfXJCuYGX5SYsM3dhnqtFkSbpIWVqzb8KaGSnVEOtARgK5XGX1j2jL0ybhcoJ+TVJZuxCA9jRg33HntMItSz0h9Ik1j0eF4250v5iLhyepkn6GTeiM2TOU7TY2rLa1jHuNomWt2hzIuwkZrhtlRnmk5Iq3HgkMPEKxg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=at8tJY4rlFeuURUMYSjVxXq1mLFE6bL+0bJrTSnVcZE=;
 b=QVUyuUjD9YFouM90eS+rjGhZVSswpQ1ZRVdHco6Rkvk+xTr/kodnnEGYDmQAMXM769yPkxTKsIPSh/YVl3vI1/Cs/16eQ4gLRar3IaAqDxLCwZQv9l3mSLugQbZ/wQ2Exx0fUFkLlVOlrGc63ICM41o3j+56RvFKDAhpBJjeq+0WeQPXKbmIBeUFO+3mz81mMUvUv0L2j9tYPfFnzFi27fhnSGs4R8JjHyyGwtC+A4x3Q/+iC5VIJ8lEEPMPsU2nDkjX2YdayFRumYwjilt8D2FFgiCn7ZvfYaFmjnncrRj1e+VctX0qI6AfzgnVojrqBtUaR1NRteCDwjG2q6gW4A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: intel.com; dkim=none (message not signed)
 header.d=none;intel.com; dmarc=none action=none header.from=suse.com;
Subject: Re: [PATCH 15/17] IOMMU: page table dumping adjustments
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 Kevin Tian <kevin.tian@intel.com>
References: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
 <d6b3d7e4-7ea0-387c-86d1-1fb3c59688fe@suse.com>
Message-ID: <666ce0fd-5bc1-f12c-4a13-93bf441a4ce4@suse.com>
Date: Tue, 24 Aug 2021 16:28:59 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <d6b3d7e4-7ea0-387c-86d1-1fb3c59688fe@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM0PR01CA0118.eurprd01.prod.exchangelabs.com
 (2603:10a6:208:168::23) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d70c63ec-2eef-4da0-d4d7-08d9670b845c
X-MS-TrafficTypeDiagnostic: AM8PR04MB7746:
X-Microsoft-Antispam-PRVS:
	<AM8PR04MB7746FE92BB40A56134A01DF3B3C59@AM8PR04MB7746.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZeMtO2tAdRVd3ORhBD3Pi51lJco+5HvmV5DyUjOK7Uh0qUaKi7bxjptCOGsxsv32hDgOdi8n4piiuPkx78ZKoCy49bELlvLitDZNC9QEjdMSJQcfd53cZzVOxr3Q3zIzEfkFrTvGU4XpKswx476BPmyKsoJoTnHTnmQ55YpCOkqP/PgbRRxQv7gGPuGt3l6JGqWcVElL7ImT1uVYzrQcm3bAPm0yuhmLvQ7KFttKBuTUyvbja9WIG/iBtaUILUpEjiZReQVy7mxSMZFrbfEyU7AmeRV3vUFLMXgolPA/paTqilgzA/7dRLderzmbipTk83KbYFEHrgciIeXgT5nssc5M5K3ymAHKwc3kTZhUcaywpu4fTe1wAcTyzR0SSH48fg0pMiitQPq6a7+wiGmePK7XQ9vhH/4elmt/gSuEAcxouhaLoZEs2OPT8FTdNCkHMjCeZnqq17z0EiqFHlH3yYZDxlIe6XMRHkirApDnvopHymxFeBiFaFXWg10Iwe+0goBaRf1bMylQt8LtYZBdD9mN89i9zJMptsDgaxOanjfSUPqIXxaCPIhsPNfMXUWd2bBojux8O5PrKvp2IJSFA1ZlNHUgAsOJsYvbrij2lq8VgZK8Ks5LEfP/Zfq7XDv6MkhEJ4QJtaQkWDIhhdgRszUD44EtAlqpqb1jomG5QZXJPnLPhF0KDKqJD6Xv/8OH1/+RmIqMjIHBAsItZtVRKw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(346002)(136003)(396003)(39860400002)(376002)(53546011)(186003)(2906002)(26005)(6486002)(2616005)(54906003)(86362001)(956004)(83380400001)(478600001)(66946007)(31686004)(8936002)(16576012)(8676002)(31696002)(6916009)(66476007)(4326008)(36756003)(5660300002)(316002)(66556008)(38100700002)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?N2MxKytHTzVWMzBzL0pTQnNqSGQ5SmV2SmlVS3ZESXpuUCtVMHJBWXhrT0Fp?=
 =?utf-8?B?UmlKbVZSVmw0SkpKVERhSXh6dGVGajRiWlVjRFhVTjlaNHdabC96MWZsdHVT?=
 =?utf-8?B?d2ZzTXpvQTEzTS9ybGM5YnI2WXJLeFNYRUxuRXZZVFp2WUpWWWQ5RjR3TjNh?=
 =?utf-8?B?VG0rZzQvaVZNZ3hXaGw5UFZGQjRJR01tbTVHSVFzQ0l1cVFDb284MTZhcEtC?=
 =?utf-8?B?UUlBSmJEUmNDOXh0TDR4em52Q3B6WVpaL25kWURSaG9KVXhaZlFrZlA1Vmhh?=
 =?utf-8?B?RENFN0NVSnpaZUNEZXN2eHhaVDc0SmdlbnB6ZlUvQWRTMnFLL1FvYTVuWEE3?=
 =?utf-8?B?cmJjYWxLQkxLeVZjRk15RGJ0YlVyM1JzUlRIcUkvbTBlN0NWSkszeVpiSVJG?=
 =?utf-8?B?TWlTeHZIWTdPaGF5UGpaS1RXQVVyVnN4UXNUamJQeTVHR29ITjFlRERJR0wv?=
 =?utf-8?B?SkN3VnNhL0FOdU5hM0crakgvWkRnMGNrTFlURmtCT1VOY1VKYkVaRU90OGx4?=
 =?utf-8?B?RzJhZDRnYkhTNE5ScmkwM3JSaXcrQStIK2kwamwvblJIbW4xbkdCRERUYURl?=
 =?utf-8?B?VEg4NE84Q3RmMUtGckM2R2p5NGI4SDZJNFVha0JEUTVpN1p2a1k4N0ZXUmI3?=
 =?utf-8?B?aXF4SjFjaXV3VkFhZ2x3eWxTWTJyVVpUOFM2b0RCc3N4Z21aTG8rZEs4MU8r?=
 =?utf-8?B?bTZQcFFkTk5OaGE5T3BpTkRQWkJHQnQzblY0TmlZb2VPYTE3d3Z2Tm1zTThy?=
 =?utf-8?B?WklBQ0x3cTRHUjh1cFBGSVA4OXN3SG1LRzE1bUY5Zk91WTI0WkZtVCtFVTZP?=
 =?utf-8?B?V21KQ1JURDRKSGdRNGFyUElKakt6L00vM2V2VHBjWE9DbGRWc3FsdzFxQU9I?=
 =?utf-8?B?OUt2M1J4bVg0aUE1R3NTakRobWRJK1Y3MzRRSTJLdjh4OWo1QzFOZmdrcFRq?=
 =?utf-8?B?YWxheDFXb1Vtc3cyRCtpUkpCWEJZMSswWW05Vm9GWkhISzREUFQrM3haeThP?=
 =?utf-8?B?THgvZ1F2T211OHM3UUQ0TThYdW1wTjdkTWNuNDdSdW9QM0REZFNlTnp2aG1U?=
 =?utf-8?B?b2RCczUrQzd1TThzUFdoUXRtRHlIdHE1dHBoWTRuYVJudnllYXVGY21sSDVR?=
 =?utf-8?B?SVN5K215RCtqMU10K2piSXE3MHBLUUFYejZ2RE1ldWxVNmdObXJxN3Jyby9L?=
 =?utf-8?B?SlBzWS93TjhiTUVMbkE1N1hYNzhYQU9FTEhCQzAyNlV4aDJoc1QyeVlQYTB2?=
 =?utf-8?B?TU9QRjkrd0Z3UFZjeGR2bVBwOXJSeGxtRnpreGNTL1BYMndtTTVYYzZ5cDZZ?=
 =?utf-8?B?OG5FTE5iLzVRUlpaR1J2cDVNMkxGRnQ4QVFOUWtmUzZxNmtMcExJQldydDh3?=
 =?utf-8?B?YnBSckRuMUh0and2QkR5VTlTZlF6b3VTNFU1WHhmaVdnV0tVajdMbU5DOEZl?=
 =?utf-8?B?U0FOWTVpL1djZnQ1Y3NiYUV3RVV5dHhTUGcwUGZYK2E1YU9YY2YveTVHWEps?=
 =?utf-8?B?NU05NEthVlRTWmlUdnJRVi9Yc2d0UzJXU2M1NHFCbnB1SWFZVE1FN0VJUkk4?=
 =?utf-8?B?YnNpMDVmTTE4ejIxUzdXc01lSXEvazJqMkU0VGJoUnNqWG03bWtmTVY5cmx6?=
 =?utf-8?B?Y0p6ZnE2Qll0OFo1YTlaclU3SW9OUUZqM1dreUJ1WHgrSXAyMXNNRFRWSGtE?=
 =?utf-8?B?M1JyZWFUc2FjSXoxdnI0Q09CcVhITFFqUmVxWGxCWDcxMUNqVjFXODNZZUoz?=
 =?utf-8?Q?St64bn/fiBZ+cZt4VZSV26j9Y4InOx5kcVuD7L3?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d70c63ec-2eef-4da0-d4d7-08d9670b845c
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 14:29:01.3522
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: VtzolmNAKgYWWHxzt1iqWcNc38wVEypdrRTQNVBUnc/aq+kyEIePpsjMConUD4oz4f8dhl6oX6Tcj8HAbD/I1A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7746

On 24.08.2021 16:26, Jan Beulich wrote:
> For one none of the three IOMMU implementations on Arm specify a dumping
> hook. Generalize VT-d's "don't dump shared page tables" to cover for
> this.
> 
> Further in the past I was told that on Arm in principle there could be
> multiple different IOMMUs, and hence different domains' platform_ops
> pointers could differ. Use each domain's ops for calling the dump hook.
> (In the long run all uses of iommu_get_ops() would likely need to
> disappear for this reason.)
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Should have Cc-ed Kevin on this one as well; now added.

Jan

> --- a/xen/drivers/passthrough/iommu.c
> +++ b/xen/drivers/passthrough/iommu.c
> @@ -640,12 +640,9 @@ bool_t iommu_has_feature(struct domain *
>  static void iommu_dump_page_tables(unsigned char key)
>  {
>      struct domain *d;
> -    const struct iommu_ops *ops;
>  
>      ASSERT(iommu_enabled);
>  
> -    ops = iommu_get_ops();
> -
>      rcu_read_lock(&domlist_read_lock);
>  
>      for_each_domain(d)
> @@ -653,7 +650,13 @@ static void iommu_dump_page_tables(unsig
>          if ( is_hardware_domain(d) || !is_iommu_enabled(d) )
>              continue;
>  
> -        ops->dump_page_tables(d);
> +        if ( iommu_use_hap_pt(d) )
> +        {
> +            printk("%pd sharing page tables\n", d);
> +            continue;
> +        }
> +
> +        dom_iommu(d)->platform_ops->dump_page_tables(d);
>      }
>  
>      rcu_read_unlock(&domlist_read_lock);
> --- a/xen/drivers/passthrough/vtd/iommu.c
> +++ b/xen/drivers/passthrough/vtd/iommu.c
> @@ -2835,12 +2835,6 @@ static void vtd_dump_page_tables(struct
>  {
>      const struct domain_iommu *hd = dom_iommu(d);
>  
> -    if ( iommu_use_hap_pt(d) )
> -    {
> -        printk(VTDPREFIX " %pd sharing EPT table\n", d);
> -        return;
> -    }
> -
>      printk(VTDPREFIX" %pd table has %d levels\n", d,
>             agaw_to_level(hd->arch.vtd.agaw));
>      vtd_dump_page_table_level(hd->arch.vtd.pgd_maddr,
> 
> 



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 14:35:17 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 14:35:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171537.313019 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIXWC-0008W7-03; Tue, 24 Aug 2021 14:35:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171537.313019; Tue, 24 Aug 2021 14: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 1mIXWB-0008W0-TE; Tue, 24 Aug 2021 14:35:11 +0000
Received: by outflank-mailman (input) for mailman id 171537;
 Tue, 24 Aug 2021 14:33:03 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Krg7=NP=gmail.com=bobbyeshleman@srs-us1.protection.inumbo.net>)
 id 1mIXU7-0008TC-OL
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 14:33:03 +0000
Received: from mail-lf1-x12c.google.com (unknown [2a00:1450:4864:20::12c])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c39ad1a9-3323-4529-b3f4-0db202653b57;
 Tue, 24 Aug 2021 14:33:02 +0000 (UTC)
Received: by mail-lf1-x12c.google.com with SMTP id b4so1897594lfo.13
 for <xen-devel@lists.xenproject.org>; Tue, 24 Aug 2021 07:33: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: c39ad1a9-3323-4529-b3f4-0db202653b57
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc;
        bh=6s55fzmxRoG5Clmd5sP0okZh0wgxrMXxmpCKeql5S9o=;
        b=XxNnF0fEyf2hXnc1/m9yq//W7SgxzZ+s/F/ov0gmeINOp5uvODTMHXoyVKADf+MrY8
         Bcs6XXZSyUeGGFNKJ/lLFH9MI6a1NwFbcQ9+KFICoH3Jg6x7pY73XMhcLvW9q63vnnUa
         JmHh79zaUTmO6E4dsy9/Zz2dJXUxgInu6ZaAgUqM85lbe7AKxVNeztOqOFCLe/29Kf3C
         a/JBYpb1fXaPlkyikpTUW6R35tqGEnAg3N9bjwxL10/2giaL7Px9MmR4J2lNk0Qs41dN
         f1FyM+z9mx4vqNAywblqFkvPmk8NtmCOYaoVwzPkQcaolsWylQoO75Jg+TjNesxaIKmU
         dmKg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=6s55fzmxRoG5Clmd5sP0okZh0wgxrMXxmpCKeql5S9o=;
        b=Ie5yOnZTH+WDSulSCNBnhoQOooaa3caEMFt1BM70EEoQwSuz93AIGckpWNKFIP3R7j
         Pe5DR6+7m4edC7x46uY0IA97spvZ5aes7bVjZ5lZWOD/usQ9RrleXA8fw9R5WogPlFfq
         HZ7THmzyNXP4/b4POc8xwusDE+9BTa9V4A8tI1hLWqQwuVcA7j034oO8dJ0L2jV2Auqd
         HlElywhbNmPFpCFaGMr5KMxJuf0cLcwUb7OcPirlVoQajcPMKvf/BAynxQJNEuSk0l05
         ywTuAmaNmHa+Gtwiz9ssxLxbYX3FYAjLrPKyCT9u0/+3gNsRTSEsTlXUCTkuP6Tsu3wj
         PaMQ==
X-Gm-Message-State: AOAM533SOiifndJYR9EzR7L56ntpo2T3QLJ7AjRXNYY7CFPI7huQU4GW
	j3GPRaVhlwPpYa/YVnThJdCfewad99apulHKUII=
X-Google-Smtp-Source: ABdhPJzJyG2o3JXPvg/26ePsivHsWfahTlPsTYGfKHFppuGz7dxZ5Ksl+nIB6twn6TXk3GK59WdSE8hLoudq6/oOXAE=
X-Received: by 2002:ac2:4105:: with SMTP id b5mr29155980lfi.153.1629815581417;
 Tue, 24 Aug 2021 07:33:01 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1629315873.git.bobby.eshleman@gmail.com>
 <9ab53497cdd52e3aeaeff8079d934dcee94d6479.1629315873.git.bobby.eshleman@gmail.com>
 <aafc217e-e998-7610-04e5-9cf7fde904ec@suse.com>
In-Reply-To: <aafc217e-e998-7610-04e5-9cf7fde904ec@suse.com>
From: Bobby Eshleman <bobby.eshleman@gmail.com>
Date: Tue, 24 Aug 2021 16:32:50 +0200
Message-ID: <CAKB00G1VhR-6L-zK4efE4AONoPm_oa8jK+AfVk5i_QBkHLsKNA@mail.gmail.com>
Subject: Re: [PATCH v3 3/6] arch/x86: rename debug.c to gdbsx.c
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, 
	Elena Ufimtseva <elena.ufimtseva@oracle.com>, Jun Nakajima <jun.nakajima@intel.com>, 
	Kevin Tian <kevin.tian@intel.com>, George Dunlap <george.dunlap@citrix.com>, 
	Ian Jackson <iwj@xenproject.org>, xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="000000000000c7ac8105ca4f0260"

--000000000000c7ac8105ca4f0260
Content-Type: text/plain; charset="UTF-8"

On Tue, Aug 24, 2021, 2:20 PM Jan Beulich <jbeulich@suse.com> wrote:

> On 18.08.2021 22:29, Bobby Eshleman wrote:
> > --- /dev/null
> > +++ b/xen/include/asm-x86/gdbsx.h
> > @@ -0,0 +1,17 @@
> > +#ifndef __X86_GDBX_H
> > +#define __X86_GDBX_H__
> > +
> > +#ifdef CONFIG_GDBSX
> > +
> > +int gdbsx_guest_mem_io(domid_t domid, struct xen_domctl_gdbsx_memio
> *iop);
> > +
> > +#else
> > +
> > +static inline int gdbsx_guest_mem_io(domid_t domid, struct
> xen_domctl_gdbsx_memio *iop)
> > +{
> > +    return -EOPNOTSUPP;
> > +}
> > +
> > +#endif
>
> In addition to what Andrew has said, you also want to make sure
> - domid_t is actually declared (need to include public/xen.h, I think),
> - struct xen_domctl_gdbsx_memio has a forward declaration (ahead of the
>   #ifdef).
> This is so the header can actually be #include-d without needing to
> worry about prereq #include-s.
>
> Jan
>

Roger that.

I'll be away from work on vacation until mid September but I'll get to
these changes and the others when I get back, if there are some pending /
still uncommitted.

Writing this from my phone, so sorry for gmail's email strangeness.

>

--000000000000c7ac8105ca4f0260
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto"><div class=3D"gmail_quote" dir=3D"auto"><div dir=3D"ltr" =
class=3D"gmail_attr">On Tue, Aug 24, 2021, 2:20 PM Jan Beulich &lt;<a href=
=3D"mailto:jbeulich@suse.com">jbeulich@suse.com</a>&gt; wrote:<br></div><bl=
ockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #=
ccc solid;padding-left:1ex">On 18.08.2021 22:29, Bobby Eshleman wrote:<br>
&gt; --- /dev/null<br>
&gt; +++ b/xen/include/asm-x86/gdbsx.h<br>
&gt; @@ -0,0 +1,17 @@<br>
&gt; +#ifndef __X86_GDBX_H<br>
&gt; +#define __X86_GDBX_H__<br>
&gt; +<br>
&gt; +#ifdef CONFIG_GDBSX<br>
&gt; +<br>
&gt; +int gdbsx_guest_mem_io(domid_t domid, struct xen_domctl_gdbsx_memio *=
iop);<br>
&gt; +<br>
&gt; +#else<br>
&gt; +<br>
&gt; +static inline int gdbsx_guest_mem_io(domid_t domid, struct xen_domctl=
_gdbsx_memio *iop)<br>
&gt; +{<br>
&gt; +=C2=A0 =C2=A0 return -EOPNOTSUPP;<br>
&gt; +}<br>
&gt; +<br>
&gt; +#endif<br>
<br>
In addition to what Andrew has said, you also want to make sure<br>
- domid_t is actually declared (need to include public/xen.h, I think),<br>
- struct xen_domctl_gdbsx_memio has a forward declaration (ahead of the<br>
=C2=A0 #ifdef).<br>
This is so the header can actually be #include-d without needing to<br>
worry about prereq #include-s.<br>
<br>
Jan<br></blockquote></div><div dir=3D"auto"><br></div><div dir=3D"auto"><sp=
an style=3D"font-family:sans-serif">Roger that.</span><div dir=3D"auto" sty=
le=3D"font-family:sans-serif"><br></div><div dir=3D"auto" style=3D"font-fam=
ily:sans-serif">I&#39;ll be away from work on vacation until mid September =
but I&#39;ll get to these changes and the others when I get back, if there =
are some pending / still uncommitted.</div><div dir=3D"auto" style=3D"font-=
family:sans-serif"><br></div><div dir=3D"auto" style=3D"font-family:sans-se=
rif">Writing this from my phone, so sorry for gmail&#39;s email strangeness=
.</div></div><div class=3D"gmail_quote" dir=3D"auto"><blockquote class=3D"g=
mail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-l=
eft:1ex"></blockquote></div></div>

--000000000000c7ac8105ca4f0260--


From xen-devel-bounces@lists.xenproject.org Tue Aug 24 15:00:25 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 15:00:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171555.313042 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIXuV-0003WS-5L; Tue, 24 Aug 2021 15:00:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171555.313042; Tue, 24 Aug 2021 15: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 1mIXuV-0003WL-20; Tue, 24 Aug 2021 15:00:19 +0000
Received: by outflank-mailman (input) for mailman id 171555;
 Tue, 24 Aug 2021 15:00:18 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIXuT-0003WF-To
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 15:00:17 +0000
Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id fd4fb902-04eb-11ec-a8e4-12813bfff9fa;
 Tue, 24 Aug 2021 15:00: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: fd4fb902-04eb-11ec-a8e4-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629817215;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=PYzDpQ+zJTaK4UhGmMVlgoUAKQkUadY8DkY4QPcsSCI=;
  b=XH4NvidhfOB14/QrRnFzLvOhYGtbPypSvIZj5nFqLjk8oYj1yV/Rvbu3
   x5nUNU79+IwcE8pUuU/IC6Rz5zLoC4lIJi81uDlcpvo/zUYgQg4CLaZnX
   UGRqu1q1GdJumUl9a9LzVFke9FD09m4RhLzPXkBejjdZ5DjzTRmJX36FL
   A=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: XtIJ1k6kg6DvDDjdAEE9m0uZV7hBxkLB7lXQ2ibhFeUzzQ8PJnXe2UQU8IjfKofvvOOtCTKQ7J
 UCZU0W+XVw9x5m6A8SRQ/E2NCAf57KKwOx5B2J1XYngyh6tieXxGoIjfyZffJHfIFUy1OZJt2w
 ftPP2VKGlJ9ZfHMXhGMlvCBPFnzCxuLbvladMVqxI83i2LvZ79Lgb1xeM/5Z4joJG0MYNZuyaJ
 oKWy4A5feS6l9lIO/6ftVOEZJs3NeOiycWEsgNrramB3jAqS2edL02xdKJyZYJL25tzNNLz42L
 oWAOoSyJEUBaCqxGvl6ThivB
X-SBRS: 5.1
X-MesageID: 50795068
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:BIjFu6jS8V+MK2sE16drg43IGXBQXtoji2hC6mlwRA09TySZ//
 rBoB0+726RtN9xYgBEpTnuAsS9qB/nmaKdpLNhWotKPzOW2ldATrsD0WKK+VSJcEfDH6xmpM
 RdmsBFebvN5DNB7PoSjjPWL+od
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="50795068"
Date: Tue, 24 Aug 2021 16:00:12 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Julien Grall <julien@xen.org>
CC: <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN PATCH v7 10/51] build,arm: move LDFLAGS change to arch.mk
Message-ID: <YSUJfGcyBXxPNg8B@perard>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
 <20210824105038.1257926-11-anthony.perard@citrix.com>
 <b5c93c83-1d32-c71b-c4c5-36d2fc00dfa2@xen.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <b5c93c83-1d32-c71b-c4c5-36d2fc00dfa2@xen.org>

On Tue, Aug 24, 2021 at 01:50:33PM +0100, Julien Grall wrote:
> Hi Anthony,
> 
> Can you explain why this is moved?

Well, it was in the wrong place, it is best to avoid making changes to
XEN_CFLAGS or XEN_LDFLAGS in Makefile in subdirectories as those are
exported variable and may not work as expected. They may or may not
change *flags in subdirectories, or in the case of arch/*/Makefile, they
might changes *flags in the other directories or not depending on
whether one try to build "xen" or just "common/".

But more importantly, with patch
    build: set ALL_OBJS to main Makefile; move prelink.o to main Makefile
make isn't going to load arch/*/Makefile before building the rest of
xen, and thus changes to XEN_LDFLAGS will only apply to arch/*/Makefile
rather than for all objects. (XEN_LDFLAGS is used with all built_in.o
and few other places like for libfdt-temp.o)

If you want an explanation in the commit message, maybe this one will
do:
    Changes to XEN_LDFLAGS may or may not apply to targets in for
    example "common/" depending on whether one runs `make` or `make
    common/`.

    But arch.mk is loaded before doing any build, so changes to LDFLAGS
    there mean that the value of XEN_LDFLAGS won't depends on the
    initial target.

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Aug 24 15:08:03 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 15:08:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171563.313056 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIY1w-0004Ls-0H; Tue, 24 Aug 2021 15:08:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171563.313056; Tue, 24 Aug 2021 15:07:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIY1v-0004Ll-TS; Tue, 24 Aug 2021 15:07:59 +0000
Received: by outflank-mailman (input) for mailman id 171563;
 Tue, 24 Aug 2021 15:07:58 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=3Uw6=NP=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mIY1u-0004Lf-QZ
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 15:07:58 +0000
Received: from smtp-out2.suse.de (unknown [195.135.220.29])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 1035afee-04ed-11ec-a8e4-12813bfff9fa;
 Tue, 24 Aug 2021 15:07:57 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 7AE9E1FD9D;
 Tue, 24 Aug 2021 15:07:56 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 48F6613A58;
 Tue, 24 Aug 2021 15:07:56 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id ELBNEEwLJWEwSQAAGKfGzw
 (envelope-from <jgross@suse.com>); Tue, 24 Aug 2021 15:07:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1035afee-04ed-11ec-a8e4-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1629817676; 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=4stQJMazP/WS+SVw0/QbZRIgOsFKEmpt8967LvluvGA=;
	b=L9oa70eUMeLPnfl4ojr9e/bAAXRwjmZOt10M9bhAVGnTcjVXlENN66Tw2nq039/SNdCKPS
	s26pVneKnaXxNQlDMk/wDcptF0/h5JFeaSVIl3NXGn1HWN0qoB94K5TbWyfv08Q71+wiNU
	UbRyZMGuDGyTRY8yJOW/95NfH9gM7VI=
Subject: Re: Xen 4.16: Proposed release manager and schedule
To: Ian Jackson <iwj@xenproject.org>, Julien Grall <julien@xen.org>
Cc: Jan Beulich <jbeulich@suse.com>, xen-devel@lists.xenproject.org,
 George Dunlap <George.Dunlap@citrix.com>, committers@xenproject.org
References: <24861.8902.217023.673705@mariner.uk.xensource.com>
 <5198b3ce-8a7c-a5b1-4ddd-f2052e1d4181@suse.com>
 <24862.31351.137596.242803@mariner.uk.xensource.com>
 <db112874-eb0a-c9ad-4509-6d048b056038@xen.org>
 <24868.63053.121473.979573@mariner.uk.xensource.com>
From: Juergen Gross <jgross@suse.com>
Message-ID: <8247650a-e0fa-a442-bd65-f06be54b1e1e@suse.com>
Date: Tue, 24 Aug 2021 17:07:55 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <24868.63053.121473.979573@mariner.uk.xensource.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="UYGrnSNVTdMJPkZaujpXPHsTk1gAjEJkC"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--UYGrnSNVTdMJPkZaujpXPHsTk1gAjEJkC
Content-Type: multipart/mixed; boundary="ogeOgcjzJyVURPQOCWHedk1ZnrfJi49sv";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Ian Jackson <iwj@xenproject.org>, Julien Grall <julien@xen.org>
Cc: Jan Beulich <jbeulich@suse.com>, xen-devel@lists.xenproject.org,
 George Dunlap <George.Dunlap@citrix.com>, committers@xenproject.org
Message-ID: <8247650a-e0fa-a442-bd65-f06be54b1e1e@suse.com>
Subject: Re: Xen 4.16: Proposed release manager and schedule
References: <24861.8902.217023.673705@mariner.uk.xensource.com>
 <5198b3ce-8a7c-a5b1-4ddd-f2052e1d4181@suse.com>
 <24862.31351.137596.242803@mariner.uk.xensource.com>
 <db112874-eb0a-c9ad-4509-6d048b056038@xen.org>
 <24868.63053.121473.979573@mariner.uk.xensource.com>
In-Reply-To: <24868.63053.121473.979573@mariner.uk.xensource.com>

--ogeOgcjzJyVURPQOCWHedk1ZnrfJi49sv
Content-Type: multipart/mixed;
 boundary="------------B51558198862F3CCFB541662"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------B51558198862F3CCFB541662
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 24.08.21 15:38, Ian Jackson wrote:
> Julien Grall writes ("Re: Xen 4.16: Proposed release manager and schedu=
le"):
>> On 19/08/2021 16:36, Ian Jackson wrote:
>>> One option is to slip the whole release, in the expectation (hope!) o=
f
>>> collecting more input.  In practical terms because of the impact of
>>> Christmas and New Year on many of our contributors, a month's slip no=
w
>>> is probably more like two months' slip to the release.  So arguably
>>> for this to be worth it, we ought to plan to slip 2 months now and
>>> release in February.
>>
>> A 2 months slip looks appealling to get more features. But it means we=

>> will end up to split all the future releases.
>=20
> No, it wouldn't, really.  Our usual release interval is 9 months.

8 months (that's what I suggested in my time as a release manager and
what was approved and never changed "officially").

> 9+2 =3D 11, so the result would be a one month longer release, if we
> delayed this one by 2 months.  In practice it is always a bit of a
> struggle to keep things to time (that's the way things are set up with
> this system) so I think this is well within our usual tolerances.
>=20
> For the avoidance of doubt, I am not arguing in favour of this option.
> But I wanted to present it as a reasonable option the community might
> want to consider.
>=20
> Jan, do you have an opnion about this ?  Do you expect that a 2-3
> month slip would help with your review backlog, bearing in mind the
> people who are currently on leave and when they'll be back ?
>=20
> If no-one wishes to argue in favour of the longer slip I think we
> should go with the normal plan.
>=20
>> At the moment, my preference is to stick with the release in December.=

>> We don't have major contributions checked in yet on Arm, but there is =
a
>> chance to have a couple of them with the current schedule on Arm.
>>
>> We also have a collection of bug fixes which makes Arm running better =
on
>> some platform.
>>
>> So I think the release would still be worthwhile even in the worst cas=
e
>> where nothing major is merged.
>=20
> Thanks for the opinion.
>=20
>=20
> Can I at least get a +1 from someone for appointing me as RM
> for 4.16 ? :-)

+1 :-)


Juergen

--------------B51558198862F3CCFB541662
Content-Type: application/pgp-keys;
 name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Transfer-Encoding: quoted-printable
Content-Description: OpenPGP public key
Content-Disposition: attachment;
 filename="OpenPGP_0xB0DE9DD628BF132F.asc"

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOBy=
cWx
w3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJvedYm8O=
f8Z
d621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y=
9bf
IhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xq=
G7/
377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR=
3Jv
c3MgPGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsEFgIDA=
QIe
AQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4FUGNQH2lvWAUy+dnyT=
hpw
dtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3TyevpB0CA3dbBQp0OW0fgCetToGIQrg0=
MbD
1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbv=
oPH
Z8SlM4KWm8rG+lIkGurqqu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v=
5QL
+qHI3EIPtyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVyZ=
2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJCAcDAgEGFQgCC=
QoL
BBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4RF7HoZhPVPogNVbC4YA6lW7Dr=
Wf0
teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz78X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC=
/nu
AFVGy+67q2DH8As3KPu0344TBDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0Lh=
ITT
d9jLzdDad1pQSToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLm=
XBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkMnQfvUewRz=
80h
SnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMBAgAjBQJTjHDXAhsDBwsJC=
AcD
AgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJn=
FOX
gMLdBQgBlVPO3/D9R8LtF9DBAFPNhlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1=
jnD
kfJZr6jrbjgyoZHiw/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0=
N51
N5JfVRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwPOoE+l=
otu
fe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK/1xMI3/+8jbO0tsn1=
tqS
EUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuZGU+wsB5BBMBAgAjBQJTjHDrA=
hsD
BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3=
g3O
ZUEBmDHVVbqMtzwlmNC4k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5=
dM7
wRqzgJpJwK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu5=
D+j
LRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzBTNh30FVKK1Evm=
V2x
AKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37IoN1EblHI//x/e2AaIHpzK5h88N=
Eaw
QsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpW=
nHI
s98ndPUDpnoxWQugJ6MpMncr0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZR=
wgn
BC5mVM6JjQ5xDk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNV=
bVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mmwe0icXKLk=
pEd
IXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0Iv3OOImwTEe4co3c1mwARA=
QAB
wsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMvQ/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEw=
Tbe
8YFsw2V/Buv6Z4Mysln3nQK5ZadD534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1=
vJz
Q1fOU8lYFpZXTXIHb+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8=
VGi
wXvTyJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqcsuylW=
svi
uGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5BjR/i1DG86lem3iBDX=
zXs
ZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------B51558198862F3CCFB541662--

--ogeOgcjzJyVURPQOCWHedk1ZnrfJi49sv--

--UYGrnSNVTdMJPkZaujpXPHsTk1gAjEJkC
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmElC0sFAwAAAAAACgkQsN6d1ii/Ey+1
8AgAn+q1SvmxoNvn1ss6YgKj3dcdau4Aago8EzEgIso8rQ25nnrneEGEGjFs0/cLaYuZmchgh0Yu
f6qDvivLZpm12chYw4RsDuYV/mnoBLOkREWodS++igdIWV79WrVzPw0NH7ALp4KRC7q5jFlDfvtF
pSrlJcN17/mNO53yeSYXTqkuw1qregRL4i8bQOuh5wrzXYijVIpPQ6uVZMhiN8HWDtvLv1Lucb/n
t3wQFL9M5VEwwWivTW3Bg8hYusnW3CD+ribq1v/BopRmSBmo5ep2zO2nkCLERGnE/jj8eKZMAdaO
jPK/olK8+hKdcEV0zXFeo+Hwqq2CJuQaCjTDag6NvA==
=QhvA
-----END PGP SIGNATURE-----

--UYGrnSNVTdMJPkZaujpXPHsTk1gAjEJkC--


From xen-devel-bounces@lists.xenproject.org Tue Aug 24 15:12:34 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 15:12:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171576.313076 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIY6K-0005zD-MS; Tue, 24 Aug 2021 15:12:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171576.313076; Tue, 24 Aug 2021 15: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 1mIY6K-0005z6-JJ; Tue, 24 Aug 2021 15:12:32 +0000
Received: by outflank-mailman (input) for mailman id 171576;
 Tue, 24 Aug 2021 15:12:31 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIY6I-0005z0-Vl
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 15:12:31 +0000
Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id b2e52ada-04ed-11ec-a8e4-12813bfff9fa;
 Tue, 24 Aug 2021 15:12: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: b2e52ada-04ed-11ec-a8e4-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629817949;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=INYkUn0KSHG+msM87a4spnFC4o1QiAJTP0ed3Qcu2To=;
  b=OiqEB2ReeZGoSZmXO0Xa0R/09tL0QvDDObuv7BP/I2dCzyBkwY8Wjsk9
   CxjqsIsa0yoE2k8Q4v9WfPHRG/DnAuhSz4AD2JZRUG5c7B+SITlop9AM7
   vDdodhuVDIncdwSy0qJxAySGIrC9BNrbh40CF0hFfXaMJoVgsrPcrUiOC
   Y=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: c6Zq0P2Ve4+9EXyKLtGztq2myGlhfANiQpGNZAqLhUQLFZSD59J40DDxgDMSMR6Rd3kUQL14JQ
 SbQ6bl+g5Ce8bd4SAQjGj8k9mQVbGHOpQlnsC2eIO6sPuRj0nP9kPG1E1rGk4WyASZjiiV3kxF
 ATNoKdItYC2uSQd71ed7cHHgZ7NJZe0V+u5g3nk/LJYvs+juK1eCjTyvSqCyxCJxXhPt2OP1d6
 m4HMd2hpUzNY5elOLxR1jkIwM4E3Fw/2ADRRTs3x02WsiOFHcBMDEyoXziq/cpHNjsC0pp0OJ+
 4IefCrM3La+GvEnO5+XNcLyi
X-SBRS: 5.1
X-MesageID: 50797165
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:amhi0aGXFjLRI1u6pLqEiceALOsnbusQ8zAXPidKOH9omxej9/
 xG88536faZslgssQ8b9exoUZPoKRi3yXcf2+gs1NmZMzXbhA==
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="50797165"
Date: Tue, 24 Aug 2021 16:12:26 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Julien Grall <julien@xen.org>
CC: <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN PATCH v7 12/51] build: avoid building arm/arm/*/head.o twice
Message-ID: <YSUMWqAKtsbeTV3Z@perard>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
 <20210824105038.1257926-13-anthony.perard@citrix.com>
 <3152a1d5-3185-1d9c-8949-39015c73bbe4@xen.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <3152a1d5-3185-1d9c-8949-39015c73bbe4@xen.org>

On Tue, Aug 24, 2021 at 01:53:11PM +0100, Julien Grall wrote:
> Hi Anthony,
> 
> On 24/08/2021 11:49, Anthony PERARD wrote:
> > head.o is been built twice, once because it is in $(ALL_OBJS) and a
> > second time because it is in $(extra-y) and thus it is rebuilt when
> > building "arch/arm/built_in.o".
> > 
> > Fix this by adding a dependency of "head.o" on the directory
> > "arch/arm/".
> > 
> > Also, we should avoid building object that are in subdirectories, so
> > move the declaration in there. This doesn't change anything as
> > "arch/arm/built_in.o" depends on "arch/arm/$subarch/built_in.o" which
> > depends on $(extra-y), so we still need to depend on
> > "arch/arm/built_in.o".
> 
> head.o as to be right at the beginning of the binary. Will this still be
> guaranteed with this change?

I guess what you want to know is: no change to the final binary.

The layout of the final binary is defined by $(ALL_OBJS), which this
patch doesn't change.

This patch only ask make that when it want to build "head.o", it need
first to build "arm/built_in.o", then "head.o" exist so we ask make to
not do anything in this Makefile.

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Aug 24 15:15:29 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 15:15:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171582.313087 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIY90-0006bd-5V; Tue, 24 Aug 2021 15:15:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171582.313087; Tue, 24 Aug 2021 15:15:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIY90-0006bW-2D; Tue, 24 Aug 2021 15:15:18 +0000
Received: by outflank-mailman (input) for mailman id 171582;
 Tue, 24 Aug 2021 15:15:16 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIY8y-0006bQ-8j
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 15:15:16 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 9dafa9ce-cafc-4ac3-ab47-efe02ebf703b;
 Tue, 24 Aug 2021 15:15:15 +0000 (UTC)
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01lp2052.outbound.protection.outlook.com [104.47.1.52]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-40-9cKKHHLMORS-EA8MPVfy6g-1; Tue, 24 Aug 2021 17:15:12 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM0PR0402MB3457.eurprd04.prod.outlook.com (2603:10a6:208:24::26)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Tue, 24 Aug
 2021 15:15:11 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 15:15:10 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR02CA0137.eurprd02.prod.outlook.com (2603:10a6:20b:28c::34) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Tue, 24 Aug 2021 15: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: 9dafa9ce-cafc-4ac3-ab47-efe02ebf703b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629818114;
	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=4F9+wtlWc6gzCQ12nWa1Lr6tWg8Uq6BYZncj66fcBvQ=;
	b=gCfht5BHvlgDAGyUtwVqMiDmRfj6aj2w3EPCpwxJ8GEXPJDZNYSwZDtbRDCVJdVgpNKJj0
	OnANvNziK6rc4+wKMSsBrlyZLNQW3zR8q5NvOpDF+RflpNL7/9U8wWhgsEbo7Diuuk3ybP
	3FWvQMQEU4wbPS8gFQS8REP1Mdpj534=
X-MC-Unique: 9cKKHHLMORS-EA8MPVfy6g-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Dm3Rk7dbRYCZ5elJCHd0PeEXdgflTGayJDrKAhLh5bbiODkrLuR8INtdXAhCG/LGPbvGHXaFmNCzXsB/K2qsyMuD+LTOIqA5HfvnPlT11mCPCXAJ8m+SEyIU9b/35rGyTBx7Nfgj/AUDN9leV/4y7AHBq+eXrXuzg8r5cJs75ZQUC41X7nHjYTVkOHmqj5w17tpLfBHITaZPx3r0aom5Ud+E7Abr2RbnpNi8/fG5WMHCP1Ge5WBaRifSGcjxiCs2cmCLFHTzj0FwWShmjkS3+hzfn/Tx+kcRmgvLWrXQW6s8CdoU293VyrWGA4olFpeqSGaJB3QEXN2RTwJDS8bsUQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PuS99CRn7YeJd8GNv75Es8p1OswvHb7nNq/zIRRWXZE=;
 b=AZfbye+wzK7NdQa/Cvn+uFt7XYlbsdzcZyYJ/uUu1MQPYEFtjQQDG3Jhy1Niyb4RbucBctgn44XHi2VrfVPwj/3mC+Qan9ag+ixBEQFIReGIBF/1wPrg51alD3xlwEM8ohsllnaxHgVjea0zuezPuTiQH2mML3ROkamnZymivWm087lLtiHFLUxq1dVrNQI/xGoR+OEALQvBG5lQ++O+w79jrzFLt8xvuJ31yfbXN3LuIGsqO1xuE0fH5ZAQRxR203LTWIEPRBlALNx7NW92BiJ0AWcvOnh4L75h0vGsiF6QVIZ7zqkOxfbTJJEi4Du55JyJQzL7PIOTCAZe7vWXnQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH 2/3] x86/amd: Enumeration for speculative features/hints
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: <20210817143006.2821-1-andrew.cooper3@citrix.com>
 <20210817143006.2821-3-andrew.cooper3@citrix.com>
 <606ce242-65d9-2180-8330-525fe5ec5562@suse.com>
 <351b2066-d01f-16d2-f1a0-bd7e2fe0965a@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <968441f7-cf76-c98d-b256-18416ceca3bc@suse.com>
Date: Tue, 24 Aug 2021 17:15:09 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <351b2066-d01f-16d2-f1a0-bd7e2fe0965a@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM0PR02CA0137.eurprd02.prod.outlook.com
 (2603:10a6:20b:28c::34) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 39ff595d-1cbd-47d1-3785-08d96711f713
X-MS-TrafficTypeDiagnostic: AM0PR0402MB3457:
X-Microsoft-Antispam-PRVS:
	<AM0PR0402MB34574D4484A9A628DC264CE5B3C59@AM0PR0402MB3457.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dCk/vWaCRq68YurXXjEDB3q9Pv8h2EFfI9sdFiV51jo2mPYF6Ob2iyr3xb4Bb3MD4+rBoSfl50XJqCwuI9ZvKqKKBQ6rE62hIaCyBV2yoMQvDvmL1YRvrdPXL9+dWDz/rnvmdi7Nekmo1rJi4VHJPxAUoQrHyWvyfkNVAwkaXZfhEWPOY0zgHd+Lbf5XkUtXfssMXFidF7q7B6t7eE4mEZHOrh5Cd5smZKOJ3IDLRgm9bp3C7UCHsQDhY/H60NQb68r7WNmzvFQbVFK4F4pIlHmL0Uq+LP8eBRMNQGFRS9joz0UulCAjh8+fwTNzTfNQz9m0Yk9iWte/uRe3ZyDBIaGuQwvolsoiebRN3zaexIwiFmwoYxk1b+ryjsK2PzjCkqoN+VBxiLsC6wikKPMWlLI60hW1GKJgWFBa7y/y0rTo3IES7iwVLza7Dt4n71NT5YXXWwlwKAj+Pqda/0RfCy6dTHuRfBhBO5o+fC6uBsV/xEPnuiFqNFu3RUCec/rRGhD/1o9DlKfJ4w44LbsOFdv0RsM0Cbpvrb8yzPFiRb2mipMMkhtPoM1/knVXvVBjLvuBYK4CG/bqg8MpEoWqltZElNH8JIm/R+qQcUIJbX0ikg5/+/XrMn2oO/juR6xm96aePkB/S/eYH0fNWN3pcYs9wDcaeBL1s2RBaLEc1HJJXo64evyRQeD4w1R1Znn6G/FVboAYHVkPLYuKZzRIHVXzi0gPkkcppqywFU76lTY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(39860400002)(376002)(396003)(136003)(366004)(346002)(38100700002)(26005)(53546011)(186003)(478600001)(16576012)(83380400001)(316002)(54906003)(8676002)(66556008)(2906002)(66476007)(66946007)(4326008)(6916009)(86362001)(5660300002)(31696002)(6486002)(8936002)(31686004)(2616005)(956004)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?LCP+ZCGiIdMQjplK219WPOibDkSqYfvQ23ABEUSiNlpR9h82W24ePTwH5Qgl?=
 =?us-ascii?Q?tRfyVIv+cKXGRBvhoziXRKKp8+YtJ31B2Ae659eVaOmT93PcEdOFaYyJ/7SU?=
 =?us-ascii?Q?PpbfuCaYiCRqNrsSBKE4f1hC3n9pZk3lXvMvij817KGROGoaUUGt4TvhOVUH?=
 =?us-ascii?Q?Ymr+eTHbXrXQG8xk5Erq3k2fE4xYN8oXNzk6o7wtIwoBgB+ha0U9j/jWmtpz?=
 =?us-ascii?Q?ahIEWfyJHvUZajYuYAL7H656PAQJiv7/D8bY8Uk7QxzMHfC59GQhzLmL2JDT?=
 =?us-ascii?Q?CcerxHMrNg39j/1+vpzCBKzEgqOY6M4/fyb1gI7fvSkR24lwMTvCMBnqR+8n?=
 =?us-ascii?Q?idVuu6n4TVaB4N6tXcPcT5QwE/TrlVXR/i2Z5uiCSymq21xfwFIfP54RPWJY?=
 =?us-ascii?Q?OxVXGfrZCz/seo2WbA7HmnLn01AaoQyGmW/aBI59MFforqV8BSL6JqjVzZ2M?=
 =?us-ascii?Q?GvZSssfzjeylVHYJMmCnOJ8ctWvfr6drvZ5FWezpgVRwzplN8NlJ30RXLrzu?=
 =?us-ascii?Q?cqYBBWdsxI9JolDYSdTkOU8D50vcrANp4WDdnqh58ZvcNlP7j8oF1TgyQjrl?=
 =?us-ascii?Q?Z3ogU5cpNzxRkWPgkEo5OG9z58D4vy6IR5iLBkYKgz8mlU8F1fm2jgj/VIO6?=
 =?us-ascii?Q?kCyPD0p87651HDXXnAnxWYZrZDKuwMihvLSKrNigfkFJofF+QWmh0KC6ypPB?=
 =?us-ascii?Q?Fxa78u9+SXOSYOFDGuPySKfLGVtFOZGoI3trWTrwX0FtcYSYpjF8SJYPegVI?=
 =?us-ascii?Q?LE96Hc0uAJbBzS4DBROShuPypKq9ifGWaDziohvrxBq7r0gT2AtDQQ5nL95E?=
 =?us-ascii?Q?Rxf2II6m/9ymdoO1A5CncdagV+cNzYMH9KbeZ2V0WnHVI2UDy822to/6VA1/?=
 =?us-ascii?Q?tn8QGwpOZA/91w83gEru6mC2l7bSLkf4r4yT9RCyrLI7WMyV0gJyZzmc5wfV?=
 =?us-ascii?Q?VZ3oddvVtlvbTV1ncsmXoWnA9OFhkH9ua7VLlpZnyPc1f8Q1oEvKIFDwUMIx?=
 =?us-ascii?Q?rgeWjv1X3LTVZlheabIBC/Zxb69trgQU10sX1v7Igv7mgtgWEmlPiid5mAUq?=
 =?us-ascii?Q?S4xrcIXj4B2sA5/85mWoEDIKe/d7nnMzVCbsjfo0755GBhLPVxkhUOxAmnvV?=
 =?us-ascii?Q?Nkbr8qQWFPs7dvpzWpxI7ejapoNXAPrYc5hB0AFdrcXMFcM7YAPUM4G057NK?=
 =?us-ascii?Q?App4LrW8KjYbrYDZXZUAzPlQlpACzbVvHSnIaABB9RQUM7tdwfvH8okAfqHM?=
 =?us-ascii?Q?WyZwxhiYAobT4wSNbiNQVDRavUfNvN7GsiqC83KuBW0NLL+urj0uD7wjDysM?=
 =?us-ascii?Q?IiBONRtNZdzpNL8NR9pbC3xd?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 39ff595d-1cbd-47d1-3785-08d96711f713
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 15:15:10.8531
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 75C1kWAFZ3TnVbavF+7DbmRC8S4JbkQA1HX1c+7GyvR1gAk4nRlUkLyrHIuOaGOu7jpgHPFYIXhSbwv2y6Ljqg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0402MB3457

On 24.08.2021 15:26, Andrew Cooper wrote:
> On 19/08/2021 15:47, Jan Beulich wrote:
>> On 17.08.2021 16:30, Andrew Cooper wrote:
>>> There is a step change in speculation protections between the Zen1 and =
Zen2
>>> microarchitectures.
>>>
>>> Zen1 and older have no special support.  Control bits in non-architectu=
ral
>>> MSRs are used to make lfence be dispatch-serialising (Spectre v1), and =
to
>>> disable Memory Disambiguation (Speculative Store Bypass).  IBPB was
>>> retrofitted in a microcode update, and software methods are required fo=
r
>>> Spectre v2 protections.
>>>
>>> Because the bit controlling Memory Disambiguation is model specific,
>>> hypervisors are expected to expose a MSR_VIRT_SPEC_CTRL interface which
>>> abstracts the model specific details.
>>>
>>> Zen2 and later implement the MSR_SPEC_CTRL interface in hardware, and
>>> virtualise the interface for HVM guests to use.  A number of hint bits =
are
>>> specified too to help guide OS software to the most efficient mitigatio=
n
>>> strategy.
>>>
>>> Zen3 introduced a new feature, Predictive Store Forwarding, along with =
a
>>> control to disable it in sensitive code.
>>>
>>> Add CPUID and VMCB details for all the new functionality.
>>>
>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>> with one suggestion:
>>
>>> --- a/tools/libs/light/libxl_cpuid.c
>>> +++ b/tools/libs/light/libxl_cpuid.c
>>> @@ -274,8 +274,18 @@ int libxl_cpuid_parse_config(libxl_cpuid_policy_li=
st *cpuid, const char* str)
>>>          {"rstr-fp-err-ptrs", 0x80000008, NA, CPUID_REG_EBX, 2, 1},
>>>          {"wbnoinvd",     0x80000008, NA, CPUID_REG_EBX,  9,  1},
>>>          {"ibpb",         0x80000008, NA, CPUID_REG_EBX, 12,  1},
>>> +        {"ibrs",         0x80000008, NA, CPUID_REG_EBX, 14,  1},
>>> +        {"amd-stibp",    0x80000008, NA, CPUID_REG_EBX, 15,  1},
>>> +        {"ibrs-always",  0x80000008, NA, CPUID_REG_EBX, 16,  1},
>>> +        {"stibp-always", 0x80000008, NA, CPUID_REG_EBX, 17,  1},
>>> +        {"ibrs-fast",    0x80000008, NA, CPUID_REG_EBX, 18,  1},
>>> +        {"ibrs-same-mode", 0x80000008, NA, CPUID_REG_EBX, 19,  1},
>> Here and below, how about dropping the "mode" part of the name?
>> I can't seem to be able to think of any other "same" that could
>> possibly apply here.
>=20
> ibrs-same is very ambiguous.

I'm curious as to why you think so.

>=C2=A0 The only other reasonable reasonable
> alternative I can think of is ibrs-psmp as an abbreviation for
> ProvideSameModeProtection.=C2=A0 Obviously, the "Provides" bit of that ca=
n't
> be dropped.

Then better stay with what you have I would say - for me "psmp"
immediately raises the question "What strange kind of SMP?"
While not tied to any formal naming, I could see "ibrs-sm" as
an option ...

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 15:17:18 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 15:17:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171590.313098 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIYAv-0007Ic-Lj; Tue, 24 Aug 2021 15:17:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171590.313098; Tue, 24 Aug 2021 15:17:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIYAv-0007IV-IX; Tue, 24 Aug 2021 15:17:17 +0000
Received: by outflank-mailman (input) for mailman id 171590;
 Tue, 24 Aug 2021 15:17:16 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIYAu-0007IP-PR
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 15:17:16 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 89ae0d01-a559-47cf-aa03-71684e4c09b7;
 Tue, 24 Aug 2021 15:17:15 +0000 (UTC)
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur03lp2052.outbound.protection.outlook.com [104.47.8.52]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-18-1Z0yBO8JOj6BGPg06iAs-Q-1; Tue, 24 Aug 2021 17:17:13 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM0PR04MB7186.eurprd04.prod.outlook.com (2603:10a6:208:193::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Tue, 24 Aug
 2021 15:17:12 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 15:17:12 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P189CA0067.EURP189.PROD.OUTLOOK.COM (2603:10a6:102:b4::12) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Tue, 24 Aug 2021 15:17: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: 89ae0d01-a559-47cf-aa03-71684e4c09b7
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629818234;
	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=P0K8mwDiBiU/vUNwI+0hqWHphrygZosK3D30BVUqR6I=;
	b=HIevAZthAr1ZxuRQQWrJhMbf231dVolwpisL+js+QpJ2qq9N9tiaFPcUlsbKc0cVz2rFI6
	UbmHo3fHcl/El+Cy7xgUrDrPdnB3lShUeGzBQRzQw5+veKvi5QuYM8tk0mx/2+XKXDCs9+
	26BLL6NARaqw4NHgm8CmKrFDCwCokys=
X-MC-Unique: 1Z0yBO8JOj6BGPg06iAs-Q-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gSnb0uzy+I6FnJmo/viVwernH7qCooTbzx8pI6DjpC6Aac0zHNUeo1QcOPTj7WjYM6ngbcIrOY5J/zx3CLDTz0dSrbL4xQwyyIvuDPt+WdaHqT6S29KG+qqhGRe4HpHWiqfJej7o0Ijq01A58zVOa18NbtHswaFQqCmVL9HTQjZ+rqU4nqJCLmkbf2FQnJ5PJ5xoXkiALetrGiXJQ1FYpmaqdifXAMGfbU574Aq5pKWM5tMX3sLeRbBFZe+UIZimD2E348elEapUqhIZwrgj8yrHp4C4tYwRifQsaCEFom0qUabttX37A3cDB8mqXfY3bGZFMpMtziXqsSQNia2tMA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IVpnzoeO9kAmwlgIXewPwuIUmruct/Hbifu48wW+1Ug=;
 b=SwqyZm8jYauVcs4HNtmv4cPUo09ViSBXAN2kCOiwk4MMtcGqR68LJcG07x/Tg14Yba4/TeaMbsd7xpFGiu36ntT/a8WJQvdwLsJ3ZSUMNlEb1TMMu/EqgDsbc1/BCDCE8uHR3TYliPz0yIf3wHUGJ/FhOVJEasTYzuGR2c2ePIU/3bLdX0sN0ZTh2SVrAeqiXkPDTb+RaX743JaydnaL6QcT4D+GEyvgFBouZ6W4QYduBtXcgv3h1QeLD+d8yuYcaq77Kf4iXNiaBwYpLuhJexpw8uFyYgxTZgmvO9+IhwWGQkX8ROOkvH80adp9w9XRA7SvRj3mYXopm3dmi4ms1Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH 3/3] x86/amd: Use newer SSBD mechanisms if they exist
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Wei Liu <wei.liu2@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20210817143006.2821-1-andrew.cooper3@citrix.com>
 <20210817143006.2821-4-andrew.cooper3@citrix.com>
 <35356c32-46a1-815e-0ecd-bd2b4b77519d@suse.com>
 <54ea3563-446d-8742-c99a-8eb2b0824ec2@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <98f1c7dc-7eeb-4463-26d3-4a956703cb6b@suse.com>
Date: Tue, 24 Aug 2021 17:17:10 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <54ea3563-446d-8742-c99a-8eb2b0824ec2@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: PR3P189CA0067.EURP189.PROD.OUTLOOK.COM
 (2603:10a6:102:b4::12) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 96e78668-5733-4201-f74a-08d967123f99
X-MS-TrafficTypeDiagnostic: AM0PR04MB7186:
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB718698998D2C2834C841F5ACB3C59@AM0PR04MB7186.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qYv1tp6GE3ARUlx/VDgafA9RwZXnLswXdoyKEGcv+TRpalRpJFB38OuISfyAPWVKgVyytziW6ikADb+iM4H9eYFg1JyY3KBEbG8uihjrFsfDj+rA4bJKefJy72q64WFVZxL6UMIo3kTyVJjmq4rWX51gJHLDTUl533eAx4plAfTofvo9ZvLdgvvfRCRcaHJifMAINCY7qNcBjSQwvP5cCURGq/cRpDsWNh7dDlVmCb+B7HAUPiwExk0MTWcjXVR9AEtdItJICtZXkC5FbnAyul/lXFKmpez/85DqBq6fVyCB5K2kUN5yDLuUYFcwHwFrzYZst6uA2HS5Dcy2pU4krQqxtICMXKHJHCbeKyB5sH8xUK12XOqohz3eEQH7+ywM2Vkq4cIpB1oH9PjN2dpsggbsMoZRVsSCChdv41rPft4UdjWDaF723ePAYReKpLb3ykdU4vokfLIpYBM2oIjHfk/Eg1Ov+H3VU2kPXCabFdZrAiIIujq645IQSldHl23I9lB73N4YRJMJYJBtzJKsD5siRGlGrDqKeCX3EXncQ/PE+SXx26m+CbGam4ZHHyRRrBkcR8oH6JVSyf7qq8WRCa5vkVY37Lklld/xTYcgQGL/wblD4wW9JCW7QhPEkVlpjg+rx9Rah80zXlw+SZqqNwhPVQBA3S4RxQET5bJxGincH+vCa9B9UJ1Us5o4uVmCFzW+8sDJJEfQSo6yhTAUV7fmd8i3XGvfQRJ9lQRZ3hI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(346002)(376002)(39860400002)(136003)(396003)(36756003)(956004)(31686004)(6486002)(16576012)(2616005)(6916009)(26005)(186003)(2906002)(8676002)(4326008)(66556008)(316002)(54906003)(31696002)(66946007)(66476007)(5660300002)(86362001)(8936002)(53546011)(478600001)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?fs2IaXgTQroCl1TQ2mtC553Vsk0dLT8mbn0wu8TSn4/7QiypmjHXhRpRXXWe?=
 =?us-ascii?Q?+3X/jZkAhOzujIGjl8nrzSJIDnDzmpWItN1wt9pUjXKY0UgX6bcap9Sc/t2i?=
 =?us-ascii?Q?bFEc027LvIGi0lnMN+qjFMR1/mH5pL9+s6N3KFnpHsrSA1+T96ubIfjWerIr?=
 =?us-ascii?Q?f9A7nCJfVczbKxQ3PEdBmJofExPQMBH8VRrCLjls8ImxPgQKuC05jflzhcqz?=
 =?us-ascii?Q?6bwpIPuOL4PtiQZbRM4eng1w4AIIIGmotuBj9iig7NRGOenvET5ZQTp20HZ1?=
 =?us-ascii?Q?wpYGxXOu2XKQhPLfSA1AWfTYBtw0qZ5PPbFFvjdLpbiAzyvTFmWT6trjE6KS?=
 =?us-ascii?Q?utUPm4TbIXJ0xVuqTKoDDKcwnJHCW4YZuVCXEYC2Oqxo5YMjBb5oITxEt/u4?=
 =?us-ascii?Q?ZBsUsGSgP7tWjjPk8Ci3z+KWruosBb9DJRyxyiypB3/XINgSa+smZirEOFyZ?=
 =?us-ascii?Q?X8ugsVvN8lV7CX9+EfnJCwQoJ7QJC4wpR48E77rFwqalz5Nq/JR4bd30BiUP?=
 =?us-ascii?Q?ZLNPr2SuYsbpdwGahmkef0En0hm/18b6Qh67T14K2VAH+SazOysl+kpGE4fc?=
 =?us-ascii?Q?lZH5JIaLegdvKdK/RtJ2ujK/05plDps3864R7Ulwe+UQEUJJh0xHmmIR0cu+?=
 =?us-ascii?Q?y9uE8RsWIAzqGPbzYIfnB4nLxpATPNp732ZUGvDuLUqYAmfEQkJB7hl2wy5m?=
 =?us-ascii?Q?nMZMzty2ib0wi1ynR3cWSQr2xNjU6LEMkRrRDN24bdnNViJ/ZOp136SZv28j?=
 =?us-ascii?Q?rflaS+wGr6DPLnOUpqsCGoaYkCpdr14LLPFve5lnpkSQwLhkdiArmzeHwEDc?=
 =?us-ascii?Q?LL/QCipuTXJQ2dhCpdwFOFXztJPn7xjJv/u3qe/2YFPKxgVSiwThVF+KLMPY?=
 =?us-ascii?Q?HyA0DxJi5Y0b65TO5Il2rQA7PnJBgpGvHIZxAob5rCcLdFSGzwrqnRHOUiLj?=
 =?us-ascii?Q?UJYc0viRpOy5gkWKK47+IfTd/283i4Nxaf8lFxGrbkTAYnaJ/BQiWA77Ddho?=
 =?us-ascii?Q?Cy6mJGP5SNv/gKfS7otrUspgcq9WrLtK06GN5hhNGZ6GU2f3I1XI8guW+oiE?=
 =?us-ascii?Q?+Aah8P+UlpGuMUV/BD6dix3TdoH3hS3L+vNJ/jiJnvFWxy1Rwf1BFWUI/xh8?=
 =?us-ascii?Q?1emWxCrsX0wOZjgAx8caF3vFV+NNYutgkxna9o464LQMZd/eVYOByMGGcEQF?=
 =?us-ascii?Q?MWlzlj78ii/za064HaQnaghX6BMBs76MaEbAmxBaEWOl1Gai3lL+lpCwkDWH?=
 =?us-ascii?Q?Y60dOMdV3rgM5pmBkJMcFwrN/13R8ndYetBlj3Xk/u/S6Y5yjcjptq9HQNTB?=
 =?us-ascii?Q?2Ox2GoCMRv+C0a0H1ZwEDVcH?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 96e78668-5733-4201-f74a-08d967123f99
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 15:17:12.4832
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: G89LTfrnv80JS835X3wzeFrNXpJ3FnPZihjYbzhTiMw6E5kHwQMxNAQ/aK0DFC8CrT9+h05osCvw1DQ0TM+3bg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB7186

On 24.08.2021 15:39, Andrew Cooper wrote:
> On 19/08/2021 15:59, Jan Beulich wrote:
>> On 17.08.2021 16:30, Andrew Cooper wrote:
>>> The opencoded legacy Memory Disambiguation logic in init_amd() neglecte=
d
>>> Fam19h for the Zen3 microarchitecture.
>>>
>>> In practice, all Zen2 based system (AMD Fam17h Model >=3D 0x30 and Hygo=
n Fam18h
>>> Model >=3D 0x4) have the architectural MSR_SPEC_CTRL and the SSBD bit w=
ithin it.
>>>
>>> Implement the algorithm given in AMD's SSBD whitepaper, and leave a
>>> printk_once() behind in the case that no controls can be found.
>>>
>>> This now means that a user choosing `spec-ctrl=3Dno-ssb` will actually =
turn off
>>> Memory Disambiguation on Fam19h/Zen3 systems.
>> Aiui you mean `spec-ctrl=3Dno-ssbd` here? And the effect would then be
>> to turn _on_ Memory Disambiguation, unless the original comment was
>> the wrong way round? I'm also concerned by this behavioral change:
>> I think opt_ssbd would want to become a tristate, such that not
>> specifying the option at all will not also result in turning the bit
>> off even if it was on for some reason (firmware?). Similarly
>> "spec-ctrl=3Dno" and "spec-ctrl=3Dno-xen" imo shouldn't have this effect=
.
>=20
> I messed that bit of the description up.=C2=A0 I means `spec-ctrl=3Dssb`,=
 i.e.
> the non-default value.
>=20
> We do not disable Memory Disambiguation (the speculative feature which
> causes the Speculative Store Bypass vulnerability) by default (due to
> the perf hit), but if the user explicitly asks for it using the
> available command line option, nothing currently happens on Fam19h.

Oh, I see. Yet (nit) then still "spec-ctrl=3Dssbd".

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 15:20:18 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 15:20:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171596.313108 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIYDp-0000D1-45; Tue, 24 Aug 2021 15:20:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171596.313108; Tue, 24 Aug 2021 15:20: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 1mIYDp-0000Cu-18; Tue, 24 Aug 2021 15:20:17 +0000
Received: by outflank-mailman (input) for mailman id 171596;
 Tue, 24 Aug 2021 15:20: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 1mIYDo-0000Co-94
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 15:20: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 1mIYDn-0006F5-Ao; Tue, 24 Aug 2021 15:20:15 +0000
Received: from [54.239.6.177] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mIYDn-0006y0-4X; Tue, 24 Aug 2021 15:20:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=Gn7NC3N9BTxuuzUMobnpnZFeXICUC3tZAsRm5h9BVLI=; b=C/GCCr4lkZIxi/mmqKFil0ruMy
	YNpJ65h5R3nfn8ojn0mA4zNakucXCSPAtdjjY+4HQ3VNwWWACx3Z11rV0siA/LY7L0r+4ljGh58ia
	/wZqUOnpnyEI0w5/vSzUeGu+QuZjRvX8q2fKwkKL2oGWsN/1umL7SE+57MUeH+ivyEqg=;
Subject: Re: [XEN PATCH v7 12/51] build: avoid building arm/arm/*/head.o twice
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: xen-devel@lists.xenproject.org,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
 <20210824105038.1257926-13-anthony.perard@citrix.com>
 <3152a1d5-3185-1d9c-8949-39015c73bbe4@xen.org> <YSUMWqAKtsbeTV3Z@perard>
From: Julien Grall <julien@xen.org>
Message-ID: <249a8757-41e4-cad6-b3eb-4720c1a579d4@xen.org>
Date: Tue, 24 Aug 2021 16:20:13 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <YSUMWqAKtsbeTV3Z@perard>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Anthony,

On 24/08/2021 16:12, Anthony PERARD wrote:
> On Tue, Aug 24, 2021 at 01:53:11PM +0100, Julien Grall wrote:
>> Hi Anthony,
>>
>> On 24/08/2021 11:49, Anthony PERARD wrote:
>>> head.o is been built twice, once because it is in $(ALL_OBJS) and a
>>> second time because it is in $(extra-y) and thus it is rebuilt when
>>> building "arch/arm/built_in.o".
>>>
>>> Fix this by adding a dependency of "head.o" on the directory
>>> "arch/arm/".
>>>
>>> Also, we should avoid building object that are in subdirectories, so
>>> move the declaration in there. This doesn't change anything as
>>> "arch/arm/built_in.o" depends on "arch/arm/$subarch/built_in.o" which
>>> depends on $(extra-y), so we still need to depend on
>>> "arch/arm/built_in.o".
>>
>> head.o as to be right at the beginning of the binary. Will this still be
>> guaranteed with this change?
> 
> I guess what you want to know is: no change to the final binary.
> 
> The layout of the final binary is defined by $(ALL_OBJS), which this
> patch doesn't change.
> 
> This patch only ask make that when it want to build "head.o", it need
> first to build "arm/built_in.o", then "head.o" exist so we ask make to
> not do anything in this Makefile.

Cool. Thanks for the confirmation! You can add:

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 24 15:23:30 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 15:23:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171603.313119 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIYGs-0000zR-If; Tue, 24 Aug 2021 15:23:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171603.313119; Tue, 24 Aug 2021 15: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 1mIYGs-0000zK-Fm; Tue, 24 Aug 2021 15:23:26 +0000
Received: by outflank-mailman (input) for mailman id 171603;
 Tue, 24 Aug 2021 15:23: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 1mIYGr-0000zE-0S
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 15:23: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 1mIYGq-0006HP-5T; Tue, 24 Aug 2021 15:23:24 +0000
Received: from [54.239.6.177] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mIYGp-0007VJ-VZ; Tue, 24 Aug 2021 15:23:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=9VlB5y6xDyVqAewaB2KIPKiblcWJEolFShIMoFNvjsA=; b=TD9qWuGehWhWTY1eUkz/7yaeQX
	HIwoJ7uN1W//3ciYZZFYY0bzV+ovC7XR6IRNSG24PQsfbFFlDactngRsOUvlGcKQZiml13i1zextK
	AoP54JMA7ufF+z0KnhkXOMFg9PTdRxVg/IZvnVUy2vTy/bzSIdkks8in5fwyciw4KJms=;
Subject: Re: [XEN PATCH v7 10/51] build,arm: move LDFLAGS change to arch.mk
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: xen-devel@lists.xenproject.org,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
 <20210824105038.1257926-11-anthony.perard@citrix.com>
 <b5c93c83-1d32-c71b-c4c5-36d2fc00dfa2@xen.org> <YSUJfGcyBXxPNg8B@perard>
From: Julien Grall <julien@xen.org>
Message-ID: <6ac5daae-c3ee-4854-1480-111a9378e7ab@xen.org>
Date: Tue, 24 Aug 2021 16:23:22 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <YSUJfGcyBXxPNg8B@perard>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Anthony,

On 24/08/2021 16:00, Anthony PERARD wrote:
> On Tue, Aug 24, 2021 at 01:50:33PM +0100, Julien Grall wrote:
>> Hi Anthony,
>>
>> Can you explain why this is moved?
> 
> Well, it was in the wrong place, it is best to avoid making changes to
> XEN_CFLAGS or XEN_LDFLAGS in Makefile in subdirectories as those are
> exported variable and may not work as expected. They may or may not
> change *flags in subdirectories, or in the case of arch/*/Makefile, they
> might changes *flags in the other directories or not depending on
> whether one try to build "xen" or just "common/".
> 
> But more importantly, with patch
>      build: set ALL_OBJS to main Makefile; move prelink.o to main Makefile
> make isn't going to load arch/*/Makefile before building the rest of
> xen, and thus changes to XEN_LDFLAGS will only apply to arch/*/Makefile
> rather than for all objects. (XEN_LDFLAGS is used with all built_in.o
> and few other places like for libfdt-temp.o)

Thanks for the explanation. That makes sense.

> 
> If you want an explanation in the commit message, maybe this one will
> do:
>      Changes to XEN_LDFLAGS may or may not apply to targets in for
>      example "common/" depending on whether one runs `make` or `make
>      common/`.
> 
>      But arch.mk is loaded before doing any build, so changes to LDFLAGS
>      there mean that the value of XEN_LDFLAGS won't depends on the
>      initial target.

An explanation in the commit message would be useful. This one you 
provided looks good. So:

Acked-by: Julien Grall <jgrall@amazon.com>

Can it be merged before the previous patch? If so, I can update the 
commit message and commit it.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 24 15:24:38 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 15:24:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171609.313131 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIYI1-0001Z8-Tm; Tue, 24 Aug 2021 15:24:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171609.313131; Tue, 24 Aug 2021 15:24: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 1mIYI1-0001Z1-Qf; Tue, 24 Aug 2021 15:24:37 +0000
Received: by outflank-mailman (input) for mailman id 171609;
 Tue, 24 Aug 2021 15:24:36 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIYI0-0001Yr-In
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 15:24:36 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 633b98dc-04ef-11ec-a8e6-12813bfff9fa;
 Tue, 24 Aug 2021 15:24:35 +0000 (UTC)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2173.outbound.protection.outlook.com [104.47.17.173])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-30-zGN7UektPUuyjOUhxh0nHQ-1; Tue, 24 Aug 2021 17:24:33 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM0PR04MB5218.eurprd04.prod.outlook.com (2603:10a6:208:c4::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Tue, 24 Aug
 2021 15:24:32 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 15:24:32 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P189CA0040.EURP189.PROD.OUTLOOK.COM (2603:10a6:102:53::15) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Tue, 24 Aug 2021 15:24: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: 633b98dc-04ef-11ec-a8e6-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629818674;
	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=z9BB9UGbJaV8rw1zPPuxCWxYQ8f2EjiX1JJeVB7tOik=;
	b=HX72X8OlU/m4JtRjvIFZJz+KfH/VrK4KFLtzScSqGspZ1RKGet3pWO84/9Jn1tsGvvHF+3
	bpuWCCT+cLBbz3qYDeRWxhJMp1qsVAPt7QYHkfe9SjusVfcPu2xHP7ELQsGCYx+e0K5Y0j
	KIsKedB+xoJi3wthKW31hk1LHBdEAek=
X-MC-Unique: zGN7UektPUuyjOUhxh0nHQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DCKm4fKYDYI2FOT5wF7y3uIqzFpjXhvZ5rrGgAxnWnvHgIVixsfw0IINFV0OzVYlO7D7TPoeIzF9v8Bh8rcVH8WJD0q/3fwPZIWpN3WGKFv2TTfHlWl4QM2mfkSZrOkh0vHEVIuKUvDu85l7/Kf2uvYgeboVEBtSdDM08zRYIVbJpPLrDG2m1F4Jj86w0x5DeDlGGxrxBCAWXGSpNGnXXIuxvHeBxdeh2/64Qq2/tB4o1t3PY1laXgUNE1zn+x7Kh8FkRg9pPZjRgg6kYotlpQ3R7e1NXyD3Eeviq5WUgTIcRXAGXYMbfjEOP9vJUzyBZ583xNVhpQzbBJdeswqD8Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=z9BB9UGbJaV8rw1zPPuxCWxYQ8f2EjiX1JJeVB7tOik=;
 b=fG03s95B+RDAoQo6raY02ZirExwOdT4OjxgicRqZDvogFErrjnlvOBBJiQD6ee7uRvaDLbeXmHid+vRzLOQaDupISDFRclZ5cWha8m4glhdxz20d6piN3z8dEsOHuRpUQPemTYR8fN3clxt5KvolvZHSJ4Zp8t44cu+JhZ5Jr4CAZuQYUnyTYAQN2Ql4WMYei1rWB3WkoKclYsH8QzfLJllDOtq5zCo/hMqifsLorZueur13DHriHb7uyr86oybexq/lvdOq6dDFXn4L8mIAaWPxEiYJp8hg0g3mYsIAZ26dNmdlegjcOduF98895OPw8/d970oAAJPnZG0IQR7sOA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: vger.kernel.org; dkim=none (message not signed)
 header.d=none;vger.kernel.org; dmarc=none action=none header.from=suse.com;
Subject: Re: [PATCH v2 2/4] xen/netfront: don't read data from request on the
 ring page
To: Juergen Gross <jgross@suse.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "David S. Miller" <davem@davemloft.net>, Jakub Kicinski <kuba@kernel.org>,
 xen-devel@lists.xenproject.org, netdev@vger.kernel.org,
 linux-kernel@vger.kernel.org
References: <20210824102809.26370-1-jgross@suse.com>
 <20210824102809.26370-3-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <9ca2d6a2-03a5-ff4e-8d20-dfad9cd14e4f@suse.com>
Date: Tue, 24 Aug 2021 17:24:30 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210824102809.26370-3-jgross@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P189CA0040.EURP189.PROD.OUTLOOK.COM
 (2603:10a6:102:53::15) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d3ebcb00-4987-4762-400d-08d9671345c5
X-MS-TrafficTypeDiagnostic: AM0PR04MB5218:
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB521875D6A8E5A5998AB9487AB3C59@AM0PR04MB5218.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:6108;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3NLlGJyaNs4KiAZzCU8qZ8g+AohI3Vowr+YXBOpmGn6yRFZbWXol4kJMYxBFdWABR6b8u7sky9dK3Fr+hDVd2tRHu66U0xrSSkKaWbE2K7gkV0+a9IaWORlHMLEHD5lWh4qvUo2k5VHapr/L2fEataZIBXubdyRyczg+0HzxNGnCOo64X3Krm2xXTTao1l+SaYcQkNs0JHNKSfsh4nMO3PoFLjMCN07cmaFZYGslQwy0uDYFqHK/7Sj4LsEZB+3MAGagzxtNSZ0/jliv8M+SftXKuZvnN0PxI5cD2U0HUpFxPjYf93VKodTG5VnWIiq3GtH4uGxkbB+HL0rFfb2QAD0bkNxV7LWkU1rNl24jx7qt1JNPFkunBsOMSbDvdKiLG6cvtqaCq4XPdFL+afCeGyeXEkbPj95xltQGqaW4DlMIPBR/vuC/NJLXkqI6Gbgv+eYvEw/mavMRMjBPDDe8gDqhzid+DqVEaWk1GD/A7o6iF5fqJ3WEAobc3OwtYrucb1wZTx9ROzzFqEm67N1D7ZyprhH2vjRLjP2Uii4cxYfDknvtX00j3VJ6W6QjyCY3+nh5UY0qeHzLiLU5o8CtNp08KAr8RgyyYRku1K6VfN9TRHn+K3pX4l7BN3b5P8DIFUPN8WWR7FOrpBZMJKmx7taAvxoGF7wbfFORo24t/XLZzoHLOLR8aT9t62kJD0ACy0F/xe8hxjJKwvenEVYEK85otRAyK4W15Lb/xverzJg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(376002)(346002)(366004)(39860400002)(396003)(316002)(5660300002)(26005)(6862004)(4326008)(4744005)(8936002)(83380400001)(31686004)(66556008)(36756003)(16576012)(478600001)(66946007)(8676002)(54906003)(37006003)(6636002)(53546011)(6486002)(2906002)(38100700002)(956004)(2616005)(66476007)(86362001)(31696002)(186003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Ly8vZHNOTXVBQjNpc0NocXNNWm5TZVpnY1BESU5maE1KVTh3MVQ5QUJzMXpa?=
 =?utf-8?B?emhlQldHejAzQ0VCNlJxdm9wYUZTQ05qWGZ2aHlMZlkzazhzbVNJN251Y3hP?=
 =?utf-8?B?SGxUVndWV0lXTzM4YVJVUytqaVBFOVZZdFFNTUZyUktRdUdXZTRVNEoySnlT?=
 =?utf-8?B?d0pERlpoQWlaOHJSSEx3VzVkUjNrVVJENGFPYTdKUUlKaEFpc3dKUTNRNnow?=
 =?utf-8?B?UHoxWFdEWEpiUHBidUpoQUJyMEd4aHZ6M2M2WnE0S3gyOXZiN2c4OXUrYXd0?=
 =?utf-8?B?VmRzVk5iZFMzbnE0VlFHci80eE1hS1IvRVRMWWNzTzdtVTRnZm93S3kzd2Fl?=
 =?utf-8?B?bG1EYkdEVExnUGFMa2NROWl6cVN6dXpkQzhDVnhTTkw1RkNkOXh2amp3eG1v?=
 =?utf-8?B?bWpZYVgxbFlFV1VDL3k3czJ4b3k3SEdrWmZjUDVKNVVsOTAwUzBOd0pGOU1m?=
 =?utf-8?B?L21IdGc0T3Z3YkVxRE9wbjBoajRzSXVmNnN5RGl2T2JaR1M2STdseS80RjFV?=
 =?utf-8?B?UThCTXh0THNKNGpDVFNZUG40Skd1aUlTWnIxV2ZnQnJPU0JkNGFmcXhKOWZ4?=
 =?utf-8?B?Kys3YUdTWVNRR0daMlVJOUMzN0pERnVZSk5Hd3FOVk9XeWdtS3luQTV3ajY1?=
 =?utf-8?B?UWRFL3pKUWU1WU44dzd2eC9sZlVhTHhxVE5TMC93ZVJKN0Q1ckF5S1FiTm8x?=
 =?utf-8?B?Zi8xTlIzQ1VzaG9lcHRDNktJdGx6MEtEZ0dseHdYeU0yeGlpS2Jic1FLbzUw?=
 =?utf-8?B?V1N0OHhDTTB1b2o0OEFhZG8wajhRL3M1NzdyUFZBdU1GRGhzVjZBdkdVSElL?=
 =?utf-8?B?clgycy9EL3pMU0c2ZVVrdmVOMlNlTWdzdE9Od3pOclozb2NONEpMQlBzeHBh?=
 =?utf-8?B?NXcvOG5abGttd3RrdW1Gc0g1K2hMZ3RNdHpRQlg2UTBKVjNiTjh4MDN3WFFH?=
 =?utf-8?B?d0hiSXNWU2lNNzl6UVpwejY5dGdFQjNXS1cyaXB3UXVUdFhHOUJMa1hzM0dp?=
 =?utf-8?B?aWNQclF0RDlxMkxzeUY4dWZHK1prMy95WVlqbGlEcnBadFkvVTdsU0EySjNZ?=
 =?utf-8?B?dnp0NHlLTTZPRkJGQUtKRzZ6dDhpeGF6YlRxdDF4c2IyUmIyeWFOcUg5UEIz?=
 =?utf-8?B?akx2MVV4b2VxWHVTcEovNllTWWNnVS9BaGZUQzFjR1JMTmRuclM0UlI4QVFr?=
 =?utf-8?B?V2ZQN0dHOXh5TEhhanZHTW1XVE1aNWFwTFo1QzRteVVkTTZlb1BKVVNFbWw4?=
 =?utf-8?B?M2hsMXRTRGlvN1dRS1o3UlJUaXc2U1NHcXliUFFSdXdKVCtyZ0RiVnN3cFFs?=
 =?utf-8?B?bEtmRElrbHhSTXhOaHRqLzZRZ0hpZHBNRkwzSFkrVWJNNmR2dkVCektPeGhz?=
 =?utf-8?B?eVZwSS9vOXRsKytjZklFTHVZNjUrTmpOZjFFTE9aRGFvY0JYaU00K2U0RWE4?=
 =?utf-8?B?Z0w1RnpicEVGWkRsTmMxTkVGUXJLT3NZRWpCMVhqWnZYdk5EK1doZlJBcnps?=
 =?utf-8?B?c2pPQnBSK3d3dWhhQXlCOEg5RGZuSEpkalVCWjFrdkg1YjA3UFZwcTlpY2Mv?=
 =?utf-8?B?Q2VVZXhrek5scktxczVlVXJueXc4bVFqTGZvNDE5UHpXdmE2QW9FeDhoTGEr?=
 =?utf-8?B?UGFjYjdMdVhwNXljZ1Y3QmZXNjNyanRBQU50c2lHV0VwaDJmaW55eWZvWXJo?=
 =?utf-8?B?UEszL1JrTkMrUFo1SWdBaCtEaklYSDh6SVNLODUvbnhGN2ZhQ011cExvbjNG?=
 =?utf-8?Q?B169Qo6awFRrl7NKwK2nPZFdAOXGjSHd61N0zx6?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d3ebcb00-4987-4762-400d-08d9671345c5
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 15:24:32.4159
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1zR4daAO9DB/4XrzurRQDYzN2RrJQj6rfR33g987cW987N0yTwzfLPHeorq9peTknQaI8G+EhR+W2x5L5KKVUg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB5218

On 24.08.2021 12:28, Juergen Gross wrote:
> In order to avoid a malicious backend being able to influence the local
> processing of a request build the request locally first and then copy
> it to the ring page. Any reading from the request influencing the
> processing in the frontend needs to be done on the local instance.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 15:31:47 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 15:31:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171615.313142 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIYOt-000377-Mg; Tue, 24 Aug 2021 15:31:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171615.313142; Tue, 24 Aug 2021 15:31:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIYOt-000370-IY; Tue, 24 Aug 2021 15:31:43 +0000
Received: by outflank-mailman (input) for mailman id 171615;
 Tue, 24 Aug 2021 15:31:42 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIYOs-00036u-1X
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 15:31:42 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 60b8afa4-04f0-11ec-a8e6-12813bfff9fa;
 Tue, 24 Aug 2021 15:31:41 +0000 (UTC)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2110.outbound.protection.outlook.com [104.47.17.110])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-22-eHvpKVUUOgun16UiTqzpcw-1; Tue, 24 Aug 2021 17:31:38 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM8PR04MB7426.eurprd04.prod.outlook.com (2603:10a6:20b:1d7::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.24; Tue, 24 Aug
 2021 15:31:37 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 15:31:37 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P189CA0058.EURP189.PROD.OUTLOOK.COM (2603:10a6:102:53::33) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Tue, 24 Aug 2021 15:31: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: 60b8afa4-04f0-11ec-a8e6-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629819100;
	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=SBgygmfNCgF/hbTlSpP4QhROisBR3Nmc6XYtY6xdQdc=;
	b=NdMuiizv+09/P+2GWbmU7SfVE11DkTHomB7uJMu+1k8ga8btRLEK0c42W8YhxvO9QCnKiB
	VoQGvPUCvBLh6lcAVKxpC8+0YVooQ9DNfpaxeY7mnI5wXrcFmsqL1It1aj4IUMuteqt4v9
	cPfD69FOgqIPzIqvvSEwfN5ImnFUWsY=
X-MC-Unique: eHvpKVUUOgun16UiTqzpcw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=O0D4Klde9QS0vm2MUA05VzhySDZNTXxEBYo7NAVupZDNY0E6C0b81bX83VeVxjEugH3X8bcZdJdjoU81e8SfIesOldIdu/hIrBm513b147ZC5mKJN/D3aFd6/TufdY8BCQlK24UAfvzARqthpp600A13mtghjU+DRe6pwBTyUeZlCRnLFMeU9a0S4rn943G6r/e/HXGCCkYbf4/B0bjbQVHFeV7rNZX/Axbk+R45n1fMmAN47POcnUEHwAzroQMHrYLxO9RO5A2d9Kk93ipdMR83/yTyw4BElcoqhhbIpRR8GmCYj7Sf01rxIpbPa6jlGpwUYS2dhPLIX3BzqL7tGQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SBgygmfNCgF/hbTlSpP4QhROisBR3Nmc6XYtY6xdQdc=;
 b=OCMseRA4tP33hHBlTpW26E/sbt/GBgYGGvyai1gajdqex1XH+Me1lTwNVP3EK7FktqcTb0gWy62tKK6JTf5J2Rm+R4T1EmneQDrT+DcEHIvb2fxI9/rdA9BTwWNPWOrBb/uKhu8H2hDV5vzEF9K3Tt/X3TLLPWV82Y9jmAHhCkR5zgaPWfQUzZWFSkbQeZbM89grw7HxXdUeL94qO7maehqipLNr8wVxE2DdMpgjhnUhPm1J1ULwITPHwocgg5YY20lH2tU0DOREO/4EzUSWBSZ/kuvBaQfWIg0/hx5t6FnSBODcIhQ3XzxRn66MVy4N7/5SxbX+6Nn6HEv2zqIvow==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: vger.kernel.org; dkim=none (message not signed)
 header.d=none;vger.kernel.org; dmarc=none action=none header.from=suse.com;
Subject: Re: [PATCH v2 4/4] xen/netfront: don't trust the backend response
 data blindly
To: Juergen Gross <jgross@suse.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "David S. Miller" <davem@davemloft.net>, Jakub Kicinski <kuba@kernel.org>,
 xen-devel@lists.xenproject.org, netdev@vger.kernel.org,
 linux-kernel@vger.kernel.org
References: <20210824102809.26370-1-jgross@suse.com>
 <20210824102809.26370-5-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <61f366a8-1597-f4a1-7727-db23962e856f@suse.com>
Date: Tue, 24 Aug 2021 17:31:35 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210824102809.26370-5-jgross@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P189CA0058.EURP189.PROD.OUTLOOK.COM
 (2603:10a6:102:53::33) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ff049787-d120-4b62-66db-08d96714433d
X-MS-TrafficTypeDiagnostic: AM8PR04MB7426:
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS:
	<AM8PR04MB742635D53DB390EC06F2A706B3C59@AM8PR04MB7426.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8273;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	wYtqpYBRSGcqBBtp2fpI6mXhyYMIrOTKZcImzlCODcfUvp882RVGTHmcUU9sGpzcBHfE6JA/9aXqnQjBllGZ5qPZJdmlPuCEbrp+FjiQmeChEiSceNxHoHBkXAulSCRzOTnks38Ccca40zFNUnpTwaVrJ2A3MXExjvCGPP95aAViqTJFwvBIcd/juAnLDjrOgMoRDsWZCIc+ZJaUDCXrHyBXRi/M3ndbWSxR2Z3I6ReCbmjFAw72vVuaS5GD3MRP0cKki1H4DYyVO+iloIn8X69aF7a7VaZk2V8S75F6FVuabJt0SbYh3ftKWAJ40rBZGOD8/lRZsKkT9Yl/ZiATlvMKY0Zv+POpnRlW3pnDMFieWOEZyHhkTG1iwa8BmjnhXHbGEq5V7HHqldlwJt16SQJ3TLCB/ReWSJQI0N5NzE4w/d1v8S5SUPXRFVzEZBbvEGxn+cqr/jDWMSTQEVAWmog6YKeVA555VcI6yqxtNtu3Q2GKeI5afp+KquUSe/PW6Qo/76+nigV+3OFsTrBd5buLk2/xiTMpHGI22HveBS6zG37lgZc8BVuXBvfpZ2Z44kwsFiBoA2W4EZDj6P2/ZmAE4JUD+ockc3zPnG4c3vtdPR2uNL0gimhLOBooRbkeqDmM1qp3aYglkH6EwewRm94PsU8+/nKkQqmmSJxb1EKFbbSeCnv1D8ciCQ9sAusg68qWtuM2WDQN3f0QbRlRTDs08kO35k/8p6mdyhbjWq0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(376002)(346002)(396003)(39830400003)(136003)(2906002)(316002)(2616005)(54906003)(16576012)(31696002)(6862004)(66476007)(956004)(37006003)(66946007)(66556008)(4326008)(83380400001)(6636002)(86362001)(8936002)(53546011)(38100700002)(31686004)(478600001)(5660300002)(36756003)(6486002)(26005)(8676002)(186003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eHhWR2xHSWNWVXBva2tJNUtaUEdrWUl4NFpjOE8rQ1FudU1CMnpEMXFBYXk3?=
 =?utf-8?B?V2FvUGxHb2Rsek5zeVdJQndJWGN5SHVtYzYyZ0plZ3BKYmpPME8vNjVQb1dD?=
 =?utf-8?B?UTUrMlI0U3NNeFhGVnJPY1BxRytueTU3MzVPcFdtUnRQOTE1eC93NTdaZEJy?=
 =?utf-8?B?dVRVTXBvcEdOUENsVzB6QUdkZkEyZThmd3hnbEpSVXpJRmFaTXJrVkhMdS9U?=
 =?utf-8?B?ZlpVemxuTGtNcHNQSmNQN241N3RHUUVFVEJ3UmZYSUZoRUtTaGd6dXFTVWJQ?=
 =?utf-8?B?TlVDMnBXUFFwek1GL2RBSVRsd3ZkdnZ5by80OTBDdHBoQXhyOVdTeVlIQW9R?=
 =?utf-8?B?amVJTndKQlVWa2Q4T1JTMVZzZDFwSWwwTzNNQkdtVUNGK1dYaUVzeE1Ec2tl?=
 =?utf-8?B?ZUpUb3k0V3AxZ3FpeHhUWVpSL2tIdVRkRUVBVEhBZTEzTHFES3c3Rzdpd3Rp?=
 =?utf-8?B?SHBmdUxKMmhQL3BGckhueDdDcjUrSHBnd0h1NnliSjBEOXJSaTJmTFJPUFpB?=
 =?utf-8?B?dUNXZGpPVEdtcnVkdldhU1RJVkt1WEl0YXVTL1gvTnNFNDBmTDEzWG9Pckty?=
 =?utf-8?B?U3pWZ1N3bDRnbjBVM0lQZGppZzI1bGZIV3NhNndOdm43b29lZ0QxSmU5U3dl?=
 =?utf-8?B?N1A3dnRHdmZVSWFCMEVHRTIxeXVEQlZlSVZsTVA2V05IQTJjcnBEbjZBQ0Nl?=
 =?utf-8?B?YXJwM20rcGdycGp1VHI0ZHdTS1V5c2tRSnZQdXNhYmd2U0wzTHIxbUZsYlB0?=
 =?utf-8?B?alZQSCtQRjNJakFZWjFyWVU3YThZdkV2REV2RHRNekR5d1RGZEQ0RHo0b0lC?=
 =?utf-8?B?WmNIMjlpTjg4a05hdnRtV0tLSVVtZDlGUVBVTTd4Uzlha0NpV1A4RitTN2RG?=
 =?utf-8?B?dGhLY3dzR1Nkb056M1B3OTFCVG8zdjF4V2UrWnh1SlNqM3RHUTR4T3I4azYw?=
 =?utf-8?B?eVBWZHI4aTZ4V3Jld2kzeEdBM29iTXNCSXp3Z1R5ZDJWWnJhNmlvR1F3OU1a?=
 =?utf-8?B?MHBrZUl0aXRqQzJGU0U3TExrOWdyWG54NHY4bHdHSUlIbkpuWTVpdCtoN0NG?=
 =?utf-8?B?ekt2dWc2K3BXZjlJS2FTUFAzdm5KbzFiM1MxVFI5ejBqWDdSTTlVSTE3VUFq?=
 =?utf-8?B?c05YdUpVMy95WTVqZUl5YkNqcHo4SkFPeVBLNmtFVlN2RlJtV1U1VmxMTTJG?=
 =?utf-8?B?bGpVd21PTzhpbTN3d1NySHplVHpuU0xveFhNSzNHZXpyYWhsYmdJSngvYkRp?=
 =?utf-8?B?RU82MktOdXRUbzRVK09vSkhmb0dsUitwNTdQV1VvWjlhWC9acGdTSzd3NUxG?=
 =?utf-8?B?NnNuYk9FUExLUXhmcmo5UEFqb3lpMXJMaXdqeVlCV2ZPeTN1ZFRBZFViWFAr?=
 =?utf-8?B?ZS8rVHdZQ1pHODRPM3pOSEtnbEJobmZ3MEdQSkZFYTdJUXVNN1dmaUlyWSsz?=
 =?utf-8?B?cTN3K3B6cUFVU3FVSDMvaUgra292WFVQdUh0YVUvY0prT0ZoelpsWXFjZFBK?=
 =?utf-8?B?Sm14V21XVzdPTWlEK2RnemZ0WWU3VGRabC9HMGFSTDh6Z3hHVDE2SWFrKzdX?=
 =?utf-8?B?ckhrajJ2RkhTTHlNcXFCTHJSNktxT29ISXZVU29QWnE0UGVkOVloWjJzVVVn?=
 =?utf-8?B?eDVrTlZOeTBFMDJoTmxia3ZvWER6eW1RYkxTYXFlYmdRMmdjby9CZEg4RXlQ?=
 =?utf-8?B?ViswTnZNcDRPK2dURFBOV2xFdHNYdzllWFVJcVhCdjlHYTRKNHpwRmQvZWZy?=
 =?utf-8?Q?4kA1qNSylTPaHXaAnGNfekhljDY9y9xHaYJXcyo?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ff049787-d120-4b62-66db-08d96714433d
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 15:31:37.8258
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: snxqXbaEdiwXSZlwRsia4FVz4b8HQprv05C+7e/0YRg1fMUMXJukut/VEI4OO5UEuwACYpl2SIDfiILjPKXMkQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7426

On 24.08.2021 12:28, Juergen Gross wrote:
> Today netfront will trust the backend to send only sane response data.
> In order to avoid privilege escalations or crashes in case of malicious
> backends verify the data to be within expected limits. Especially make
> sure that the response always references an outstanding request.
> 
> Note that only the tx queue needs special id handling, as for the rx
> queue the id is equal to the index in the ring page.
> 
> Introduce a new indicator for the device whether it is broken and let
> the device stop working when it is set. Set this indicator in case the
> backend sets any weird data.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
with a small suggestion:

> V2:
> - set the pending flag only just before sending the request (Jan Beulich)
> - reset broken indicator during connect (Jan Beulich)

With this latter adjustment, would it make sense to ...

> @@ -416,6 +440,12 @@ static void xennet_tx_buf_gc(struct netfront_queue *queue)
>  	} while (more_to_do);
>  
>  	xennet_maybe_wake_tx(queue);
> +
> +	return;
> +
> + err:
> +	queue->info->broken = true;
> +	dev_alert(dev, "Disabled for further use\n");

... hint at that behavior here, e.g. by adding "(until reconnect)"?
That way an admin observing this log message will have an immediate
hint at how to get the interface to work again (if so desired).

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 15:33:18 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 15:33:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171621.313152 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIYQQ-0003ne-5A; Tue, 24 Aug 2021 15:33:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171621.313152; Tue, 24 Aug 2021 15: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 1mIYQQ-0003nX-2F; Tue, 24 Aug 2021 15:33:18 +0000
Received: by outflank-mailman (input) for mailman id 171621;
 Tue, 24 Aug 2021 15:33:17 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIYQO-0003nP-V6
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 15:33:16 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 25a42027-c162-4356-b587-44ad33256a97;
 Tue, 24 Aug 2021 15:33:16 +0000 (UTC)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2058.outbound.protection.outlook.com [104.47.12.58]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-28-C_bMIdB-ML2rfRcAGvQg8A-1; Tue, 24 Aug 2021 17:33:14 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM0PR04MB4243.eurprd04.prod.outlook.com (2603:10a6:208:66::29)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Tue, 24 Aug
 2021 15:33:12 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 15:33:12 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FR3P281CA0070.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4b::22) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.6 via Frontend Transport; Tue, 24 Aug 2021 15:33: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: 25a42027-c162-4356-b587-44ad33256a97
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629819195;
	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=QxdH+Pfo+wFYCkY18oJKOpQiuiFtH9huoHqmh3emeJI=;
	b=Zsb1p/OjFM3n3CGHRK3Bt2afuCpqg7bg1xHlwwsyqvlL4fZd4JgnOdPyM701ItucULJDtG
	1jQ3rz5mFpSpbW9W4QAnHFezQxDaoCHz/4tacZi/qjGskLIbV8vu3cXbuxv1qIpyuCGR5w
	CKz4Du7X8QbxPiUKwwp9Q3cGHvvgWHo=
X-MC-Unique: C_bMIdB-ML2rfRcAGvQg8A-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lcNbaebkJjk1YbNcnFfB3mjIyUu7XTUehSNiXqB7feuPjTBaEuiVs7mWxRGyW0hp2Ha7ZLEpmly5VjSQMZIlbai3ojhp8FxO+qgbSL1HOPBEYZIjEPRxViVRp1f4mo3FJDJ/wv4cAWyFRqOjjoE90nu6lFk90orMWseAfp97LWuoxy/4cmh+zjz5+L6b4h1KW96PEh2h/234a8z2c30ZaTAaojoGpgbUBarQUQdIaCGWzWD3Fdh+UJavtliRHkdZO3JJtLQHoT5SK4/V0jmX4vfxzdQYI0ZYB2dHr5NoLuqDH5UayYtXcNtWd3FhfWY2bMxQMqUwYNDDSqnfOK7y0g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=grb43pyCrH59/LXPlWlJd8f0WK9C0vyJTE4e9+9f5aA=;
 b=PtZw7SNfjYuNVfrYSrp8js6zx/zT/FAMO+pBoeeeYVH/vJMZVXVVT0hGs+ZccW25o1/oRE0O7CE/aclfteTu57olvyMCNEApxeAjfUhH+zzT4xUi8qsceaSHgl9wUr3WbO7Ur6Z7bYLo8Tag0eJ/y+FTi49m7JLT7Oz1469JR4EavgE0f24++NqXjJdRlqA10oRbKJOO9OVjQeIWOwZa2JBCAeQfLNB+C50RRtXpZxdZ9AyT+cZ0uT9a4sRf+rX+wbUYtjhCaEOJs0i0q9EP8jOotHy2NQUqbch9VkxmBxrmBE/DSOZ96n/szA6r16drUK68XVMwa552Dt0PP9td3Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: vger.kernel.org; dkim=none (message not signed)
 header.d=none;vger.kernel.org; dmarc=none action=none header.from=suse.com;
Subject: Re: [PATCH v2 0/4] xen: harden netfront against malicious backends
To: Juergen Gross <jgross@suse.com>
CC: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "David S. Miller" <davem@davemloft.net>, Jakub Kicinski <kuba@kernel.org>,
 xen-devel@lists.xenproject.org, netdev@vger.kernel.org,
 linux-kernel@vger.kernel.org
References: <20210824102809.26370-1-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <1f98d97c-1610-6a66-e269-29b2a9e41004@suse.com>
Date: Tue, 24 Aug 2021 17:33:10 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210824102809.26370-1-jgross@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: FR3P281CA0070.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::22) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ce5fcb46-0874-430b-8d5e-08d967147bc6
X-MS-TrafficTypeDiagnostic: AM0PR04MB4243:
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB4243E45D3D7ACD4A85D589F2B3C59@AM0PR04MB4243.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bhJaYRB+oHepym3aZfIY62g5heEvhZqk3mz063iX4EBhZV+pO1rY4W0ykEcH1BnRSZmgpGmw7nFO+oGOxMcDmzAqc1vv4CNgMhwvDmo1Lzm6DEOTh/9tf+MMek/Vnvp/QpD8KKptQj9b3qyzDC3X75Zg3ely2d9GJ3HMgPvoDsnFWcDRJTJJnxmf89+IO7pxe2aiwFwI/t4WAWpLjG4gdGIxiHaPrXAv3tXZQqKhTA1zy3loEzBbc4/BapngF2zwRjsaXf1n06KwEbwZ6iX1hZ5QewMXpSwWG/Jm0lNHU/f7QGn1m1Dkg/g3ISS2sdWL0H9EXbsPHPpzrI7K86itS8+PsspH+sB3F0+PD26BKO1JWYeR3koLneCgmxmHbw4CFrvuKBUoNuLPbuwlN/0Si4jbSQMwOoKqy/0MvpsNgWyXgxka6oXxEpl6Cw8NbH9mf2fqQony+EyyOj+CUcpvG9JonIS2mgLbcKJc0JIgJ8x2DLgXR7ar4RgQqbdGWUOZKOpCYl5cWLVRif8dhJe8+P8dF4U/A/BSTe/6OpA7K+bkCtWUY+f2JFUHSLD6R3rmIUYTgVGYALRgE1UUKCoz+kpSN8ZPDG5CXhUbuEDCg5D3SAMsjJOvjc0PFtiHWpeeoD0go5Op1ziiDFEaZcO/OBfduoflxwJuO4D9OvBs3uq0SUd4jMeJ/EezxYeETaaTLKl9MsGe8QcI1dZmMvO8sUVeV63m9o3KiF+N5sZYTos=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(39840400004)(346002)(396003)(366004)(376002)(136003)(31696002)(8676002)(38100700002)(26005)(6486002)(6862004)(31686004)(5660300002)(86362001)(54906003)(956004)(316002)(478600001)(36756003)(2616005)(66556008)(66476007)(6636002)(16576012)(37006003)(66946007)(4744005)(4326008)(53546011)(8936002)(186003)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?7Xc5v3u6SFji7w8Xo8QvPxLiF78ZAz5cgpsMB+isIZRBQWluQZPpQaH78Z9d?=
 =?us-ascii?Q?cgmtu0obejJMUJhtlHteCIERtKRPjrZy8UBEFWrb+kW+IvmBFq+KNLsEsZrG?=
 =?us-ascii?Q?9CNI+gIJBnq7vuE5yginjkIpG/EdAiuK8USc9Br1oSwluIUabOqvuyKwhioR?=
 =?us-ascii?Q?xN05P+hb7wyQJfRLaqPZPCQET+W+7qIKfxm9P/dV5zlM3kdIlRTDbAy9zrYD?=
 =?us-ascii?Q?PhKzQ1QX/U2y57uiNC94wg+YiQECm0ybha0eNOwvB6yNBSiPYZ9mPUywPJrn?=
 =?us-ascii?Q?zi+GiagCyoMi2MFldvW2PxRCF+cKVLXM2CaWz9TiFqX4vV1Pg8KNV67MdrRd?=
 =?us-ascii?Q?i+qRlbBACAQR/pAecTBPbc0tZSOLyXLfs4JFA8j84/NXRqz9x2LbeZYgG4BP?=
 =?us-ascii?Q?jduo3Q8pG91uo9kCsWLLx6q5W7v0nAzljPRmgSAolR1/A7HEQMWS9gvYlVRD?=
 =?us-ascii?Q?Ns3E/oNU09TPMvVL6/BlaN4L201klsG42qcC9SX8jIuy5Od/skZl+DZKuFwB?=
 =?us-ascii?Q?hChdeoYsJG5bs33ogYoau011jjbBROxPziqoFFQLQhPYMIO5S1+/qCqFR+Fy?=
 =?us-ascii?Q?5nJhcDz5Eukvy6gFfELndJ4AXj+Gwr1OJgvveAz46c5cJyLSFBjuxfzWpcDn?=
 =?us-ascii?Q?vDiNwAGWQL7oEed1U1b5HpXdEdEMgeqbpIUNle6K9d+LlIp4obak1XKiFbHL?=
 =?us-ascii?Q?sQIa3+Ncwg862gR179TLofAeBz2c5MNgD/qwHcC2tNC45mYzTqj7AjWJPtWz?=
 =?us-ascii?Q?qB21DZaXts2IxEYRvC9LB8mSFSor2P1ZkirtYiWa70XmnefAFSjt2mqgHmr8?=
 =?us-ascii?Q?1Ttnj5CxHV2DaLefB5jC9xK3dk60EKwDHx3Q7aritd329c7dTcRK1UahcLNB?=
 =?us-ascii?Q?bqTgxFbo/jyZAs+6DkdMkPXCcrEbM/UFFCojSZOlHrYsSEGpcKvBtwR/+OtH?=
 =?us-ascii?Q?OIz1HnVXOb2GkQSBc2aMfprcUAq17lRI4kGgBFqY2O+n+3xhIAdShjVq8XUC?=
 =?us-ascii?Q?O+6MCoHEGuZufU0rnPBIRygp19aAsHvkX3BpEp9fdwnesbUiEr85i9zpNITH?=
 =?us-ascii?Q?hl7oeQ5Lnb4ZZI6+zPa1fJAoHHzERU/pVK6uEUPVc1TItmlSL14paK2EERTv?=
 =?us-ascii?Q?qauv2L1Y6dIoGdBLQscOO/bmU0OGP1hQLD1PBQl6a1iYF4vb1ATmFtHbejIk?=
 =?us-ascii?Q?nYv4JEZtA0GDT10PhGVJtEM9Ugxb/vLnICMyaYRwbKkQqbhtSy74Wf2oxsjg?=
 =?us-ascii?Q?FaITvAKDVkHhJ/FUcA6kBJhLc1xvGh9cAonPH4eGmRaAjXIBGXEFZx1S2FFG?=
 =?us-ascii?Q?dblG33bSKTgPKgroqRNY7Oxk?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ce5fcb46-0874-430b-8d5e-08d967147bc6
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 15:33:12.5211
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: F/v3wGQw81b+jRZg3DbY7Srn6wfXikLFSZ6wNWwZ16/nEuihKSmwpceXkv1g/9mtsuO72N2c6IIwEIzi4WXjwA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4243

On 24.08.2021 12:28, Juergen Gross wrote:
> It should be mentioned that a similar series has been posted some years
> ago by Marek Marczykowski-G=C3=B3recki, but this series has not been appl=
ied
> due to a Xen header not having been available in the Xen git repo at
> that time. Additionally my series is fixing some more DoS cases.

With this, wouldn't it have made sense to Cc Marek, in case he wants to
check against his own version (which over time may have evolved and
hence not match the earlier submission anymore)?

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 15:54:09 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 15:54:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171629.313164 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIYkV-0006JM-U2; Tue, 24 Aug 2021 15:54:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171629.313164; Tue, 24 Aug 2021 15: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 1mIYkV-0006JF-Qf; Tue, 24 Aug 2021 15:54:03 +0000
Received: by outflank-mailman (input) for mailman id 171629;
 Tue, 24 Aug 2021 15:54:02 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIYkU-0006J9-LA
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 15:54:02 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 7f45328c-04f3-11ec-a8ea-12813bfff9fa;
 Tue, 24 Aug 2021 15:54:00 +0000 (UTC)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2110.outbound.protection.outlook.com [104.47.17.110])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-33-MoP61kcqMwedJwzxds7Mmw-1; Tue, 24 Aug 2021 17:53:58 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM4PR0401MB2370.eurprd04.prod.outlook.com (2603:10a6:200:4f::26)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.17; Tue, 24 Aug
 2021 15:53:57 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 15:53:56 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR1PR01CA0015.eurprd01.prod.exchangelabs.com (2603:10a6:102::28) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Tue, 24 Aug 2021 15:53:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7f45328c-04f3-11ec-a8ea-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629820439;
	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=7ESXvhL92kXbfBCEck04emyxay6VpJgsv5wgUREth0I=;
	b=fyeSTEm9zD0qucbcbhP019D+eizUQ716QJow9oMAW6tlyDJeJNmjg1xnHTcwGa36DU3Q75
	BXg0rR2KJLo7GLmPPrJEoByPXBESUaHMd6KTtHYDWp6zNcU1WD4xM9pSym4i5Xhd6Al9e7
	sG3gm4dSjb8OP/5mcZqrUn5Vt/DqBfI=
X-MC-Unique: MoP61kcqMwedJwzxds7Mmw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dGGxR+A7S6UVi/uvSVNbfk+pBUQsPX/jybxg3jVg8bkw4oQgC3yxP8pp+k6bamvaecln/9wmnvz07FcdYAs/zZdwlkgJSA8h3luW0FajjhzMz7WSx5KwQIGgDUmn5V9ocxPPFUx9BOZIAPGdpfLncmV48HvxijWZJi7npQtqpprRVtaFKEVoPkr0yZ2gE66vXWwY/NNKRja23qJu4Ux4PVXhfOH3CuCmWUxynk2UCVmqP8cCQQXE9YsMr8v3669ZjYcvq31GQVOdqwE/ZWUF+Q3MGrUPc99oRKp4Oe6L18yP6jvgOm91bkyYH3PuA44EUSq7bBdyH0B5h6VbMrfHCw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7ESXvhL92kXbfBCEck04emyxay6VpJgsv5wgUREth0I=;
 b=MIdvjhgfvgL/rKIzX0O7aGkGD71P59nKOmmGNTKa0yOCtakGtDZ9f0hAZqZzz7h74/evyFCustV6DAsHA1xkVI/EOobofW9T2+yfE4dlfdbHRdcrEMGQlwX+7G40dL5puX2K32TalEVRDtQp+uDSBJjOYOrMZ38KYCLEczyPmjG25WWXH7JtAW/F84RitL2g25PnObwYqBqHuMENuxaeJvYvsl6SAao4HiGWjiEUhGbHxprv9CmwwMwced4uuWyShVAZpM6q1N5d6STGuSsZa9y/JmnJ749d941iW4147RwEFOsyv9XGlf+77zwJmSjOo2CQHMalOJQZTMWQID3quA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v1 01/14] xen/pci: Refactor MSI code that implements MSI
 functionality within XEN
To: Rahul Singh <rahul.singh@arm.com>
Cc: bertrand.marquis@arm.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 Ian Jackson <iwj@xenproject.org>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Paul Durrant <paul@xen.org>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
References: <cover.1629366665.git.rahul.singh@arm.com>
 <d0b7b457762d481b19c8da6c2d55ff4acb4d6291.1629366665.git.rahul.singh@arm.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <0d787e5d-9232-20ba-bb9f-6b14a15d9e64@suse.com>
Date: Tue, 24 Aug 2021 17:53:54 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <d0b7b457762d481b19c8da6c2d55ff4acb4d6291.1629366665.git.rahul.singh@arm.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR1PR01CA0015.eurprd01.prod.exchangelabs.com
 (2603:10a6:102::28) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3d1bfebd-fea8-436e-be20-08d967176185
X-MS-TrafficTypeDiagnostic: AM4PR0401MB2370:
X-Microsoft-Antispam-PRVS:
	<AM4PR0401MB23702E39E443795245090B34B3C59@AM4PR0401MB2370.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BIcOBe/EOE3SVvpOczELEoysvhxIiGHvvQbH/8tkOHboDXA83ybfescBgZfsmTBWipdr6sU4XtHmHN5exqvtKq55mCDOI1gXwyjMd2Abz2ntCw7fqItwITtzbHk44VGNSjrNtYVDDQSA5qgOgAhvjB8emJZvGJ4VK2C4PCc7BG55SYiuI96ETn7p+YRW8Mi8ojx8lYF5iVvr88nPVCS7Ebx1Fy267aqxjSYx1MCR5cmEQOtNH6+wa1AgFZeNfzlZYhI06SKr/LHmr5Ph/YtJpCMmNfBNBvFaPp4NaeClkmWjGaJmvWrR19szT2AKOavYkuDisdJ+jE3W03pvuAcMehosp8vwVBJs8U0145lVQan8jWKaWR9lFszgoLDGxL2FhrXV2Ju7watRNRaNASM9JkPv+9VjW216ie8qgtXUakZ6jQzL3D25cYe5Cp2DvETbI8yNarMVp7rFME9p8Ip1gAMnSelIRlGUQYsWVR/LNMUqAGGTEgIcYIj0CrBf9EX1nK4pH58fsZEFRUW4iG18tnqOyyjIRMMLDqSDKr0YBCBBOQime23YcGpC+F2fsvO1mkQda4A7iD36JeXmIIYN8G663ceClb+3/TKlFP6DtO82PNKxYYqCrn1Qqtn6Z6GSw9CX0CJqV+CE3NiMXF2N4rfNzuS801jyo2m40m4UicjBFRrjmAKvWEZ658WiUpgd8yh1SmSSWj3jYnV0cgcqNJhxIUVOUdL5/efj3jIEWIobwXAHsIP+XYIDacPuTDQHqt6OrtNHpdQSatqSDW5YUR7hUK/NBN2/hMhFxJQwi9U=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(54906003)(66476007)(16576012)(66946007)(31686004)(36756003)(86362001)(6486002)(508600001)(7416002)(66556008)(53546011)(26005)(316002)(4326008)(83380400001)(31696002)(2616005)(186003)(956004)(2906002)(38100700002)(8936002)(5660300002)(8676002)(6916009)(2004002)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?a3pSZlBteWJtTGVvQW9XblZpb0N3T0hFaU1oejBaMVNDT3FJVTUraGV4ckhZ?=
 =?utf-8?B?RXBvTFRXbHgxODFvTTNTcUJEbGpoR2hRdHljT0pQa09Ob29GNDBFemJSM2da?=
 =?utf-8?B?cGhCQXE2WHAvUGw3NlhObFhYM2FReTU3dGtna0t0WGpUa1hldFJGOEtLazJN?=
 =?utf-8?B?MjJxV0pFRW4rd3VNVTVPWUk5QTk1QmtXMTJ3eDMyNXBvd1lpc3paa3AvdDZq?=
 =?utf-8?B?WWV4TnRWaEZ3eUwxRHNsM2hVSzlWRmdiSXE5dnh1TGZtbU9rbzMrRkVJdGRx?=
 =?utf-8?B?SVdOQTByT1ZHa3JhUHllZWt5WWkyMm0wSUczbElvbHUrcjlVdFZyTHZYUzJW?=
 =?utf-8?B?c1hJRWtBUXB3V3hma29JclVTRE9IWm9zdlFpU1FTOElIdDNOR2RsUU1KckxM?=
 =?utf-8?B?NmhSSDZHdTdEMWdramlQZ29UVVh4bEVFNjRjN0dWQ1FTQXRnNDYxeERVdysz?=
 =?utf-8?B?T05ibG1YWDhZNktpREJaeUMvYzFRdkREalVWK2tKWTRFMmNtUVBxQW5xQzFx?=
 =?utf-8?B?RFhISzZudTdkaVIvRmdCZFYrT2UvbzFkMUpGR1lPMU1YTzIxT2Q5akdFNkxn?=
 =?utf-8?B?RXRXN2xiSy9XWjY0OFFaQ3Nma3pMb1h4bVRzWXdBS2ZHdVVWaTNSQWpXUDJG?=
 =?utf-8?B?dk1rdml3bWNJdnFQUkFMRE9MQUtrNDZBR21xaGtFQ0NidUNkcTlEdTBOdlZ0?=
 =?utf-8?B?ZkJKN1VOMFZQcEVJRzROZTVmZ0YxSGhrZEtHU2VVckRJOUxtTkc4RUxQbE9C?=
 =?utf-8?B?Vi9EVWRIcFVQSldtM25rZHVPWWxSZjlhQndKNVpNYVc0dThwdncwM2hUOGR2?=
 =?utf-8?B?WVUxbzlDRTRpM2N1a3FaZThSdnpQa1JNbVJZZ09HL3pTS2ZZcUdFUVVZS29B?=
 =?utf-8?B?ak5Oem9zVktqRlR4Tmx1MnhoMURoUWllUHlNa1kwdWRpUVZtVTFwWVNFL1F1?=
 =?utf-8?B?cmhFRHd1VU5DbXdUdXg5d09zeUQ1VWp1eTUxU1NIYjVFcC84SU1JS0hLbkRl?=
 =?utf-8?B?TCt2MEhrRjRyOUdyWmc0SExjdGl5VmZkY0ZBRXl4bjdSWHV4UDR4TW5KZkll?=
 =?utf-8?B?MVFDVC9CWUdIUzZpbDcxU05NTGcycisxUDNCUTcrODk5aFNVTXE4YUhzRFdk?=
 =?utf-8?B?Tll6UzlCM2lRb1o2THFCOW4zZmJFK0xOTnR5MHNuQUVEZ3BhNHIvSG9NUzlN?=
 =?utf-8?B?MlZkZ1R5Z3lFOSs4eHNkQ2FEbjNGZFBET1hQVTZpYURJNGJBODhsUWpscEpD?=
 =?utf-8?B?Vmh1cVZZUlh3akRMWlhGcDgrZEhqWjcvdDh3dGFWL0N1YkhMUnV6SHR5TlJu?=
 =?utf-8?B?T0VZeU9CMTdKd3huS3BMSEtBU2xVYUFvaEVZQm8zQThqU0FzMjB2eUVwcjZr?=
 =?utf-8?B?VmpxanF5RU5YbjlueXc1VGtubnVkQVB5N1pFSTRVYlVoRnpUWXFWZnNFU3Bz?=
 =?utf-8?B?ZC8yVElPYm9CSVYwdGdGSmY0UmlBdksxN1dKaFprQUN2djBjTm1BWlhyYVBx?=
 =?utf-8?B?aUhOVDNSU0QwTUhYeEc3V3NPUlB4NlMvV1ZLaEkrZTUwY1ltOW5wMDVSOGJY?=
 =?utf-8?B?ZC9FMGIyaHNham4xV3lqUFFJbjI0bmJKbkNGd0czSzlBQ3d1WXF1OWt0N0x5?=
 =?utf-8?B?bU1Yam5EZDJ5QVFmZHZBR0FieWhadTl2VnhHdE1nNGlFT3pwOGJvNkdwc2RI?=
 =?utf-8?B?bkROekdoM0VlQWRUVkJiNGJaSzNBaUdyenBlZnR3dWpVVVMxTWpYL3ZBbWd6?=
 =?utf-8?Q?FEclIyrjXx6XNjKxZvRzZlWSv4PfDPl7ngUsUOx?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3d1bfebd-fea8-436e-be20-08d967176185
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 15:53:56.8888
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3O16iEDDNIu/pHPrDKK/hs9xRrm7UMAklz9bMVfoAQIHX7y+pk2hg6yL9qF33tEpxr8qNozYDtY5WsCNux40jQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0401MB2370

On 19.08.2021 14:02, Rahul Singh wrote:
> --- /dev/null
> +++ b/xen/drivers/passthrough/msi.c
> @@ -0,0 +1,96 @@
> +/*
> + * Copyright (C) 2008,  Netronome Systems, Inc.

While generally copying copyright statements when splitting source
files is probably wanted (or even necessary) I doubt this is
suitable here: None of the MSI code that you move was contributed
by them afaict.

> + * 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>
> +#include <xen/pci.h>
> +#include <asm/msi.h>

You surely mean xen/msi.h here: Headers like this one should always
be included by the producer, no matter that it builds fine without.
Else you risk declarations and definitions to go out of sync.

> +#include <asm/hvm/io.h>
> +
> +int pdev_msix_assign(struct domain *d, struct pci_dev *pdev)
> +{
> +    int rc;
> +
> +    if ( pdev->msix )
> +    {
> +        rc = pci_reset_msix_state(pdev);
> +        if ( rc )
> +            return rc;
> +        msixtbl_init(d);
> +    }
> +
> +    return 0;
> +}
> +
> +int pdev_msi_init(struct pci_dev *pdev)
> +{
> +    unsigned int pos;
> +
> +    INIT_LIST_HEAD(&pdev->msi_list);
> +
> +    pos = pci_find_cap_offset(pdev->seg, pdev->bus, PCI_SLOT(pdev->devfn),
> +                              PCI_FUNC(pdev->devfn), PCI_CAP_ID_MSI);
> +    if ( pos )
> +    {
> +        uint16_t ctrl = pci_conf_read16(pdev->sbdf, msi_control_reg(pos));
> +
> +        pdev->msi_maxvec = multi_msi_capable(ctrl);
> +    }
> +
> +    pos = pci_find_cap_offset(pdev->seg, pdev->bus, PCI_SLOT(pdev->devfn),
> +                              PCI_FUNC(pdev->devfn), PCI_CAP_ID_MSIX);
> +    if ( pos )
> +    {
> +        struct arch_msix *msix = xzalloc(struct arch_msix);
> +        uint16_t ctrl;
> +
> +        if ( !msix )
> +            return -ENOMEM;
> +
> +        spin_lock_init(&msix->table_lock);
> +
> +        ctrl = pci_conf_read16(pdev->sbdf, msix_control_reg(pos));
> +        msix->nr_entries = msix_table_size(ctrl);
> +
> +        pdev->msix = msix;
> +    }
> +
> +    return 0;
> +}
> +
> +void pdev_msi_deinit(struct pci_dev *pdev)
> +{
> +    XFREE(pdev->msix);
> +}
> +
> +void pdev_dump_msi(const struct pci_dev *pdev)
> +{
> +    const struct msi_desc *msi;
> +
> +    printk("- MSIs < ");
> +    list_for_each_entry ( msi, &pdev->msi_list, list )
> +        printk("%d ", msi->irq);
> +    printk(">");

While not an exact equivalent of the original code then, could I
talk you into adding an early list_empty() check, suppressing any
output from this function if that one returned "true"?

> @@ -1271,18 +1249,16 @@ bool_t pcie_aer_get_firmware_first(const struct pci_dev *pdev)
>  static int _dump_pci_devices(struct pci_seg *pseg, void *arg)
>  {
>      struct pci_dev *pdev;
> -    struct msi_desc *msi;
>  
>      printk("==== segment %04x ====\n", pseg->nr);
>  
>      list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )
>      {
> -        printk("%pp - %pd - node %-3d - MSIs < ",
> +        printk("%pp - %pd - node %-3d ",

Together with the request above the trailin blank here also wants to
become a leading blank in pdev_dump_msi().

> --- /dev/null
> +++ b/xen/include/xen/msi.h
> @@ -0,0 +1,56 @@
> +/*
> + * Copyright (C) 2008,  Netronome 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 __XEN_MSI_H_
> +#define __XEN_MSI_H_
> +
> +#ifdef CONFIG_HAS_PCI_MSI
> +
> +#include <asm/msi.h>
> +
> +int pdev_msix_assign(struct domain *d, struct pci_dev *pdev);
> +int pdev_msi_init(struct pci_dev *pdev);
> +void pdev_msi_deinit(struct pci_dev *pdev);
> +void pdev_dump_msi(const struct pci_dev *pdev);
> +
> +#else /* !CONFIG_HAS_PCI_MSI */
> +static inline int pdev_msix_assign(struct domain *d, struct pci_dev *pdev)

Please be consistent with blank lines you add; here you also want one
after the #else.

> +{
> +    return 0;
> +}
> +
> +static inline int pdev_msi_init(struct pci_dev *pdev)
> +{
> +    return 0;
> +}
> +
> +static inline void pdev_msi_deinit(struct pci_dev *pdev) {}
> +static inline void pci_cleanup_msi(struct pci_dev *pdev) {}
> +static inline void pdev_dump_msi(const struct pci_dev *pdev) {}

Especially for (but perhaps not limited to) this !HAS_PCI_MSI case
(where you don't include asm/msi.h and its possible dependents)
please forward-declare struct-s you use in prototypes or inline
stubs (outside the #ifdef, that is). This will allow including
this header without having to care about prereq headers.

If you agree with and make all the suggested or requested changes,
feel free to add
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 16:10:07 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 16:10:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171638.313183 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIYzs-0008VC-Bj; Tue, 24 Aug 2021 16:09:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171638.313183; Tue, 24 Aug 2021 16: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 1mIYzs-0008V5-8Z; Tue, 24 Aug 2021 16:09:56 +0000
Received: by outflank-mailman (input) for mailman id 171638;
 Tue, 24 Aug 2021 16:09:55 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mvQ+=NP=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIYzr-0008Uz-1T
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 16:09:55 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id b741b2b2-04f5-11ec-a8ea-12813bfff9fa;
 Tue, 24 Aug 2021 16:09:53 +0000 (UTC)
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur02lp2053.outbound.protection.outlook.com [104.47.4.53]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-40-Es3UwiJHPAKke9AGLAecyA-1; Tue, 24 Aug 2021 18:09:51 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM0PR04MB6420.eurprd04.prod.outlook.com (2603:10a6:208:173::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Tue, 24 Aug
 2021 16:09:50 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4436.025; Tue, 24 Aug 2021
 16:09:50 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P250CA0009.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:57::14) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Tue, 24 Aug 2021 16: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: b741b2b2-04f5-11ec-a8ea-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629821392;
	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=/nOReZvV5m8YZYnyWs99iv2pYeB9n9k5kn0p4E1nE8s=;
	b=RSNKFH+nYxv56t8OwBHKFNeLM+ifu6GW6rBn7AKEyhaQoGGOh24BDEIkJrnyRStnIO+jft
	m5xoEIieeL1jfQzA2OD+f0F9OiPEww9oPTZxDB2tBMVgK0aiOl7iwiey9/mO9HRjV6sz9z
	7CVw6o58d0MPdKWPHFgF4ZSZZxGOdzk=
X-MC-Unique: Es3UwiJHPAKke9AGLAecyA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gz6CCfB2RWfXWa+k2kRoGwCeKNmWmwOSEPl1um18o65MfIZ1u8Uzhzj9lUFhds9cmk84GTZB6hQc6fxjv68gvlvOdKoQiOCgsRk2CuKr/GLXHY7Xqh7D+lhWLERO0s1Gf1sPor84WSllQeQ5oLIyXwzeIrB3sjJbYXOW7ADbMDSGvnjHBxlpmLYgNPV4J3J1p2+v8FvTcif/UAR1v4qc1ytGBSnyCAdgNBcC1l55g3y/UynVB0XMnTwsaiNHzpq1w4kxegU3mRPLhvmXDkWiRKpDzqxIrzFLPLH73Xdi4JlhAyeH5ktcmow+ZWgdOVPw6oLbQjN0SzexCkCERhpJQw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/nOReZvV5m8YZYnyWs99iv2pYeB9n9k5kn0p4E1nE8s=;
 b=Oi4VIIr5PziiGHgUtE10OWhVCnqWktLApIoZd6ASXXfnuAJe2lGDputpMGQKsxmPIjS2vQEZYmGhzqdsJZeluBF1g/dOECJg6xzE3cfr6LGCrgIkDqt53tvsxTA4VZQsDGgTQ+dNPstVsx1K7OlPO126PLkb2fHo29T1jk8XxIID9N5CTdlnOVmm2FKuF3i36RlJH35FQVb4jJZRR/Ezq15Zb79tngZ+n4cOeIFcGl8D6RTK5sg+w/TNUc/TpDLLxZBPkdU/KWmCl4JeTwUAD4j4GShuW1bjlA6xvDLPbdVeHpg/PUkmaByZh2p1XzsrPmVVAGcg748TYAqKBjv7vQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v1 11/14] xen/arm: Enable the existing x86 virtual PCI
 support for ARM.
To: Rahul Singh <rahul.singh@arm.com>
Cc: bertrand.marquis@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1629366665.git.rahul.singh@arm.com>
 <370f4f87c148eaee5ac5ec69346828e6473f0f2d.1629366665.git.rahul.singh@arm.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <c4cd8072-e463-6c9b-ddb2-640108dd5d2a@suse.com>
Date: Tue, 24 Aug 2021 18:09:47 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <370f4f87c148eaee5ac5ec69346828e6473f0f2d.1629366665.git.rahul.singh@arm.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P250CA0009.EURP250.PROD.OUTLOOK.COM
 (2603:10a6:102:57::14) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 762eff3a-5c5a-4378-d888-08d9671999af
X-MS-TrafficTypeDiagnostic: AM0PR04MB6420:
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB64206728AB1F660C9E0D6023B3C59@AM0PR04MB6420.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	GTPxfwdbVSknsK+Q63uugkSS0xgaJ9Cy9D1TMjMl4qvpn57KKtuKN+B56nyBQKtcGm/ZjDTzlOSoszfC8ebsMR4TQDgbwgiBuoK52WkycuIrK5SE0FIGnlvVu9OfpgP3S3rzQINEJb3ClVZcoFgRhrEifgmiassBpibMqTh/lxrrP0aYzPP5nctGRnQAhWiIuUkSmoIFhytZEa9ELVrxYSkLpz2a/cg241o6287qj8+zag+xImQb6bIIHo3OUAQTnwCF3phb65fc8St0mVbQg+Lk0nYDGj+vEjfdMztMk5LaddUaOqCpItvs2qIcpwAIDUxzmxe59EuNQNQ8vxZhEw8mAYpkKArNUvRrfgLR/s8/n1PERuuwq+5OcIu33CvB+JUmaaHxcMZXKzSkvUCZbvHqrUF8OuJ1ZxpbzvQeOPKmkipu80rD3hcD7sjxiRA6esf8EuwBoSK8E10eOxA3RWJW+7AkQI/eZQcd/S6/kEFN/vcUkT1wZzxwy8aL7QQd9q1WJ1AwxOJWQjaIRKq/ZsRFjxhi63grv3z6ZFHBh9fETQrziRMm2tVhzaRfHhmL5usUbXvrtuwvMBzW1MYkVmo2oYWUmLmVG7uQNwyvhsNSg0Gd0KYoJlLkblRjMmYDWkiouVtQY2sEEAmlBxWBAXJa3/lnG1/3iS+sGHPrZXh17e2SZqaJ33BHDEAvuqm4pyc1QVzOUYpb/McJ9z6jCcNzpJPuJ5XxvaTY3VPrplQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(346002)(396003)(39850400004)(136003)(366004)(26005)(186003)(86362001)(16576012)(5660300002)(38100700002)(6486002)(316002)(53546011)(31696002)(4326008)(36756003)(66556008)(66476007)(83380400001)(31686004)(478600001)(8936002)(956004)(54906003)(66946007)(8676002)(2616005)(6916009)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UDRiL1FOVmQxSWFTWC9UZGd1dTRLZHEyY0VPVWJ1ekRCS1ZOMm9tR0pFMWxs?=
 =?utf-8?B?MzNsWXRKQk9aaFNlaGY1bUxnbHYrYjljakdwRDhkVVNJRFp0MkV6SldIR3A1?=
 =?utf-8?B?MnBvOUNWcVpUTmdFVk1XWkYyS20zcTZUeS9ydHhLeGpteHFpQzQzK3dRVjF0?=
 =?utf-8?B?SFlIS2FnUnJJeVNhaS9hbEJ6c3hhY2tyTDBNNkNlK1haNCtlK2d5b2l1aXdw?=
 =?utf-8?B?LzdjUjhEaC9oKzRVQStFcFZDUjBzQlVJc1hTOWJmeks0V20xbFN1S1J3STE2?=
 =?utf-8?B?eUZ1VmpvMHV3LzJDOGIxNlpJV1dTb2pXdkkyMTlteVU1ZFZFOEpCRzRCMHBn?=
 =?utf-8?B?T29LRE91MDVLYThhOG41Y2NUaHc2SzdtZTFZd0N5ZFlVd2oxYng4bCtZUnJi?=
 =?utf-8?B?Q3hKTlNySFcySVpmeDc5eFJDOHRDWFoxQnZLazUyUkxabTFVSEJOekFnYTEx?=
 =?utf-8?B?Rk13NUd5UlVvVHpQcWpYeVRtNEQrcXJGRjF2em9DVVkyaWNHRGFKUkRvRGJy?=
 =?utf-8?B?aEkxOE9lc2hmbXp4V0ovblhtazFMTGtJQjJkOEVTaGR6dDJ5a3R3L3QzWmxh?=
 =?utf-8?B?bVJSWEtSWXhidlE2T01kVytVWStkdGhUb3dJbExpcDlodkVWajd2ZWduK0Mr?=
 =?utf-8?B?TWtpRkFlMlFPQ0orOStWWC9sS3hGKzAxTThwWEpoNUZlSkhOdjdPM0RsWFFi?=
 =?utf-8?B?ZTJ4ZVBlOEdsNy9jOEpBdzhlSUFicFZhV2ZWcktteGlUWk5BM1JDS3J3Z3Fj?=
 =?utf-8?B?MHR1bThFWW5pM2wrQVNnQ0dpOVBwR3d6UGdBNm9SYVhvZkVRaXVvMkFrbzc2?=
 =?utf-8?B?QXV1VTc1UHFTM0hXM0M3WWVoOGUwOWNDL2EvWkg3cS80Q3FXUi9HTlB6bmc5?=
 =?utf-8?B?bStNUGZpZUp2bzFzaGUxN3VLb2V0L01PNSs3bStPWWQ5TVphRFJlbTBCOHZh?=
 =?utf-8?B?NEFKQnhzRjNmV3M5dE0vRU52TXJ0T29wTXE4dlBCQVJPcXhiL3UrTkx1T3pV?=
 =?utf-8?B?VW5lM0dDZXc0K3FCdFZERGZldm9lWklaZDgxbVBPOXlXWHJNclNPWkltTjFn?=
 =?utf-8?B?TDU2MVVKaTRPZ05tMTM0MGNmazhmQ2wxTjFFaC92b3hoMXdkbGYwck5CRmJH?=
 =?utf-8?B?ZzFhc2hBWFdjcUdhQlFrR2hlUWdzSTZvZXRROFJ6OHNkdEZLWDZvdFcvTUpp?=
 =?utf-8?B?STY5eURiaDhkTGxPZGZMd3pEODhVcVpoT1I2RjRXNHR0SXRFZDM4dmQ3WlZO?=
 =?utf-8?B?ZU90OGZ0U1NYYUdDNW1qeUJOWEtLNE4yYkJaQk1Eb2YzV0NFdnFIWnRhVk5z?=
 =?utf-8?B?VFU4aXFzcEppTkJDOUlDZGVLaTlybC9rT0V2NW9QKytncTM0bkdJWmphQVN1?=
 =?utf-8?B?TGpHYU1naC9EdGg0bU1BUEVUazdNbC9SZVFieitBbmNkbW5EK1RBU3hIa1Np?=
 =?utf-8?B?ZHBnOEZzc211Ny9aZzJtR210YWh1cmZHRmQ2UThOV1AwdlBOY29FSkRQZ1Vz?=
 =?utf-8?B?NTVPcXhGa0ZuSkZ1dWk3SzA2N2IrTTNXQmlVL1J3WGxVSnpveVY3S1JwUWo5?=
 =?utf-8?B?UXh4SGRPbmtwZ2NQQ1hGY2FsckFmbEhIaE1qRCsrOW1mTU1TT01CSnk5RXJT?=
 =?utf-8?B?WDNaL1FWMWpRZnpObjNwenlpbjFXbXhFaVFabVNnZFF5dnF1dUxYTCtSYUZE?=
 =?utf-8?B?dWpFSTJkdVZTdm5lYmk2UnBvQU9NamdwazVVOUdoSCtCbFpUbHJRMUZQelAx?=
 =?utf-8?Q?m7WdrLgvC6vyQk3l5jnkUKAKNemdJj4uGH4BbKC?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 762eff3a-5c5a-4378-d888-08d9671999af
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 16:09:50.1046
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: r8YsaEEBdn/rdv/WB4zR9ICTovmCMm23vQFSvp0C93P3VqpgslULcVsflQjeoAOexh2R1tVrbHycIlMebZ9/4A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6420

On 19.08.2021 14:02, Rahul Singh wrote:
> --- a/xen/drivers/passthrough/pci.c
> +++ b/xen/drivers/passthrough/pci.c
> @@ -767,6 +767,13 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
>      else
>          iommu_enable_device(pdev);
>  
> +#ifdef CONFIG_ARM
> +    ret = vpci_add_handlers(pdev);
> +    if ( ret ) {
> +        printk(XENLOG_ERR "setup of vPCI for failed: %d\n",ret);
> +        goto out;
> +    }
> +#endif
>      pci_enable_acs(pdev);

I'm afraid I can't see why this is to be Arm-specific. The present
placement of the existing call to vpci_add_handlers() looks to be
sub-optimal anyway - did you look into whether it could be moved
to a place (potentially right here) fitting everyone? If you did,
would mind justifying the Arm-specific code in a non-Arm-specific
file in at least a post-commit-message remark?

If it were to remain like this, please add a blank line after the #endif.

> --- a/xen/drivers/vpci/Makefile
> +++ b/xen/drivers/vpci/Makefile
> @@ -1 +1,2 @@
> -obj-y += vpci.o header.o msi.o msix.o
> +obj-y += vpci.o header.o
> +obj-$(CONFIG_HAS_PCI_MSI) += msi.o msix.o

I continue to consider this a wrong connection - HAS_PCI_MSI expresses
(quoting text from patch 1 of this series) "code that implements MSI
functionality to support MSI within XEN", while here we're talking of
vPCI (i.e. guest support). I can accept that this is transiently the
best you can do, but then please add a comment to this effect (if
need be in multiple places), such that future readers or people
wanting to further adjust this understand why it is the way it is.

But perhaps you instead want to introduce a HAS_VPCI_MSI (or, less
desirable because of possible ambiguity, HAS_VMSI) Kconfig option?

> --- a/xen/drivers/vpci/header.c
> +++ b/xen/drivers/vpci/header.c
> @@ -96,8 +96,10 @@ static void modify_decoding(const struct pci_dev *pdev, uint16_t cmd,
>       * FIXME: punching holes after the p2m has been set up might be racy for
>       * DomU usage, needs to be revisited.
>       */
> +#ifdef CONFIG_HAS_PCI_MSI
>      if ( map && !rom_only && vpci_make_msix_hole(pdev) )
>          return;
> +#endif

(This would be another such place.)

> --- a/xen/include/asm-arm/domain.h
> +++ b/xen/include/asm-arm/domain.h
> @@ -262,7 +262,10 @@ static inline void arch_vcpu_block(struct vcpu *v) {}
>  
>  #define arch_vm_assist_valid_mask(d) (1UL << VMASST_TYPE_runstate_update_flag)
>  
> -#define has_vpci(d)    ({ (void)(d); false; })
> +/* For X86 VPCI is enabled and tested for PVH DOM0 only but
> + * for ARM we enable support VPCI for guest domain also.
> + */

Comment style (/* goes on its own line).

> +#define has_vpci(d) ({ (void)(d); IS_ENABLED(CONFIG_HAS_VPCI); })

Personally I'd recommend to get away without using extensions whenever
possible, i.e. use

#define has_vpci(d) ((void)(d), IS_ENABLED(CONFIG_HAS_VPCI))

here.

> --- a/xen/include/asm-arm/pci.h
> +++ b/xen/include/asm-arm/pci.h
> @@ -27,6 +27,14 @@ struct arch_pci_dev {
>      struct device dev;
>  };
>  
> +/* Arch-specific MSI data for vPCI. */
> +struct vpci_arch_msi {
> +};
> +
> +/* Arch-specific MSI-X entry data for vPCI. */
> +struct vpci_arch_msix_entry {
> +};

But isn't it that you don't support vPCI's MSI in the first place?
Perhaps the need for these would go away with CONFIG_HAS_VCPI_MSI?

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 16:14:16 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 16:14:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171648.313197 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIZ43-0001eL-2P; Tue, 24 Aug 2021 16:14:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171648.313197; Tue, 24 Aug 2021 16: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 1mIZ42-0001eE-Vl; Tue, 24 Aug 2021 16:14:14 +0000
Received: by outflank-mailman (input) for mailman id 171648;
 Tue, 24 Aug 2021 16:14:14 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxNM=NP=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mIZ42-0001e8-97
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 16:14:14 +0000
Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 5221a1ac-04f6-11ec-a8ed-12813bfff9fa;
 Tue, 24 Aug 2021 16:14: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: 5221a1ac-04f6-11ec-a8ed-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629821653;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=nhUzP7HAvHJr1hVjG/Qc7XgAkV3VKwQYu6D33ue6rUw=;
  b=XSnjWtfp8TjDNeLScfpccK0NEASagzyNcgZJJUK3geWdmXnm4NYq8g4S
   D8Ew1R0ppgQHiDayZ+lAzdsalDGB/F5B07BCq1JxDkBad2OU8KPq0spWi
   MZMJBpXtwgXh09sCFT856RsTqJh73laDoIuqphjEx9vqkCZoOQQtsRH1J
   M=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: dnobXopqdNOXJpsLdB+i3ZgDPoXLve/USjRuXDvs42LtpRzhOTVWW4DFZ5gVcImctyK18PRpdm
 gCmtz9BerTHZ89n5Nsx3oD13kZoXMBy5bZhAU5/0XUi0KA1QCTgWrptIvvQbxVlCObg3sRTgvD
 oRKZOFf48GogU1r58vM6cPzMhDoUi8P4KMDvtm+RvPd+WVemLKk2Tr5kMLke574NLe9JdMVr2O
 YA+Ao1XRKGj9A6aeOG+5CmA1yBD1Iq2oV+Nx+Na/f97mmbMiTtKPmWLdZ0EQo44Y9D4QVrIGPc
 nSSmNVdTWLc7LGENE7bBfUeq
X-SBRS: 5.1
X-MesageID: 51573784
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:8Hu7YKGzzSUIetaPpLqEJMeALOsnbusQ8zAXPhhKOHhomszxra
 yTdYcgpHjJYVcqKQwdcL+7WJVoLUm3yXcx2/h1AV7AZnibhILLFvAA0WKK+VSJcBEWtNQtt5
 uIGJIQNDSENzlHZLHBjjVQfexM/DDNytHPuQ6X9QYVcSh6L6174xp4B2+gYzdLbRgDCYA0CY
 GR/NZDulObCA8qh+qAdwE4Y9Q=
X-IronPort-AV: E=Sophos;i="5.84,347,1620705600"; 
   d="scan'208";a="51573784"
Date: Tue, 24 Aug 2021 17:14:09 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Julien Grall <julien@xen.org>
CC: <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN PATCH v7 10/51] build,arm: move LDFLAGS change to arch.mk
Message-ID: <YSUa0QPR1IauJo3J@perard>
References: <20210824105038.1257926-1-anthony.perard@citrix.com>
 <20210824105038.1257926-11-anthony.perard@citrix.com>
 <b5c93c83-1d32-c71b-c4c5-36d2fc00dfa2@xen.org>
 <YSUJfGcyBXxPNg8B@perard>
 <6ac5daae-c3ee-4854-1480-111a9378e7ab@xen.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <6ac5daae-c3ee-4854-1480-111a9378e7ab@xen.org>

On Tue, Aug 24, 2021 at 04:23:22PM +0100, Julien Grall wrote:
> Hi Anthony,
> 
> On 24/08/2021 16:00, Anthony PERARD wrote:
> >      Changes to XEN_LDFLAGS may or may not apply to targets in for
> >      example "common/" depending on whether one runs `make` or `make
> >      common/`.
> > 
> >      But arch.mk is loaded before doing any build, so changes to LDFLAGS
> >      there mean that the value of XEN_LDFLAGS won't depends on the
> >      initial target.
> 
> An explanation in the commit message would be useful. This one you provided
> looks good. So:
> 
> Acked-by: Julien Grall <jgrall@amazon.com>
> 
> Can it be merged before the previous patch? If so, I can update the commit
> message and commit it.

Yes, that should be fine, thanks!

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Aug 24 17:11:16 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 17:11:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171662.313221 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIZx0-0007yy-Ia; Tue, 24 Aug 2021 17:11:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171662.313221; Tue, 24 Aug 2021 17:11:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIZx0-0007yr-F7; Tue, 24 Aug 2021 17:11:02 +0000
Received: by outflank-mailman (input) for mailman id 171662;
 Tue, 24 Aug 2021 17:11: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 1mIZwz-0007yb-Bj; Tue, 24 Aug 2021 17:11: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 1mIZwz-0000Hg-3j; Tue, 24 Aug 2021 17:11: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 1mIZwy-000782-Sj; Tue, 24 Aug 2021 17:11:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mIZwy-0003Uk-SE; Tue, 24 Aug 2021 17:11:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
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=kkCL+K95Mq58rfWPcrbgtT0A4iY0/GauMtmbyuAdIBU=; b=1juXNvqXaEmH4u63mCpwSjgCHO
	Oj8qyVUwsmmTeDCTuSFJIoIUICSNCz1GmWpa4F4x0ozx9xashoi73RjVMBYsZ1rThHPsfSDwAuiJj
	Stb38D9Gq6Hd5IW17nRdHHf6ZszqbdB8f5oHhXGbgLQ0Odfqnb/SJySjcZO56SX42l7M=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Subject: [xen-4.12-testing bisection] complete test-amd64-amd64-xl-qemuu-ovmf-amd64
Message-Id: <E1mIZwy-0003Uk-SE@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 24 Aug 2021 17:11:00 +0000

branch xen-4.12-testing
xenbranch xen-4.12-testing
job test-amd64-amd64-xl-qemuu-ovmf-amd64
testid debian-hvm-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 git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  ovmf git://xenbits.xen.org/osstest/ovmf.git
  Bug introduced:  d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Bug not present: 3357ac73807d83eb212632ee7c2e032a20a49c56
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164446/


  commit d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Author: Laszlo Ersek <lersek@redhat.com>
  Date:   Wed May 26 22:14:24 2021 +0200
  
      OvmfPkg/PlatformPei: remove Xen support
      
      The "OvmfPkg/PlatformPei/PlatformPei.inf" module is used by the following
      platform DSCs:
      
        OvmfPkg/AmdSev/AmdSevX64.dsc
        OvmfPkg/OvmfPkgIa32.dsc
        OvmfPkg/OvmfPkgIa32X64.dsc
        OvmfPkg/OvmfPkgX64.dsc
      
      Remove Xen support from "OvmfPkg/PlatformPei", including any dependencies
      that now become unused. The basic idea is to substitute FALSE for "mXen".
      
      Remove "OvmfPkg/PlatformPei" from the "OvmfPkg: Xen-related modules"
      section of "Maintainers.txt".
      
      This patch is best reviewed with "git show -b -W".
      
      Cc: Andrew Fish <afish@apple.com>
      Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
      Cc: Jordan Justen <jordan.l.justen@intel.com>
      Cc: Leif Lindholm <leif@nuviainc.com>
      Cc: Michael D Kinney <michael.d.kinney@intel.com>
      Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
      Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2122
      Signed-off-by: Laszlo Ersek <lersek@redhat.com>
      Message-Id: <20210526201446.12554-22-lersek@redhat.com>
      Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
      Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
      Reviewed-by: Leif Lindholm <leif@nuviainc.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-4.12-testing/test-amd64-amd64-xl-qemuu-ovmf-amd64.debian-hvm-install.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/xen-4.12-testing/test-amd64-amd64-xl-qemuu-ovmf-amd64.debian-hvm-install --summary-out=tmp/164446.bisection-summary --basis-template=162549 --blessings=real,real-bisect,real-retry xen-4.12-testing test-amd64-amd64-xl-qemuu-ovmf-amd64 debian-hvm-install
Searching for failure / basis pass:
 164334 fail [host=huxelrebe0] / 162549 [host=elbling0] 161821 ok.
Failure / basis pass flights: 164334 / 161821
(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 git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git
Latest c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 54082c81d96028ba8c76fbe6784085cf1df76b20 c6c5f9d8b3e23178341cd7f9b7614a463df74266
Basis pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f297b7f20010711e36e981fe45645302cc9d109d d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 b0d61ecef66eb05bd7a4eb7ada88ec5dab06dfee 5984905b2638df87a0262d1ee91f0a6e14a86df6
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#f297b7f20010711e36e981fe45645302cc9d109d-ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c git://xenbits.xen.org/qemu-xen-traditional.git#d0d8ad39ecb51cd7497cd524484\
 fe09f50876798-d0d8ad39ecb51cd7497cd524484fe09f50876798 git://xenbits.xen.org/qemu-xen.git#92a78636a51611475f711637c44cafbda3ef9859-92a78636a51611475f711637c44cafbda3ef9859 git://xenbits.xen.org/osstest/seabios.git#b0d61ecef66eb05bd7a4eb7ada88ec5dab06dfee-54082c81d96028ba8c76fbe6784085cf1df76b20 git://xenbits.xen.org/xen.git#5984905b2638df87a0262d1ee91f0a6e14a86df6-c6c5f9d8b3e23178341cd7f9b7614a463df74266
Loaded 12607 nodes in revision graph
Searching for test results:
 164259 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 54082c81d96028ba8c76fbe6784085cf1df76b20 c6c5f9d8b3e23178341cd7f9b7614a463df74266
 164298 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 54082c81d96028ba8c76fbe6784085cf1df76b20 c6c5f9d8b3e23178341cd7f9b7614a463df74266
 164334 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 54082c81d96028ba8c76fbe6784085cf1df76b20 c6c5f9d8b3e23178341cd7f9b7614a463df74266
 164389 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f297b7f20010711e36e981fe45645302cc9d109d d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 b0d61ecef66eb05bd7a4eb7ada88ec5dab06dfee 5984905b2638df87a0262d1ee91f0a6e14a86df6
 164410 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 54082c81d96028ba8c76fbe6784085cf1df76b20 c6c5f9d8b3e23178341cd7f9b7614a463df74266
 164411 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 20ca52882877ba9025da2ee58c8dab7808eca457 d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 e3c30795823672eec9bde75187e184f23ed98d70 ea20eee97e9e0861127a8070cc7b9ae3557b09fb
 164414 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64 d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 5984905b2638df87a0262d1ee91f0a6e14a86df6
 164415 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 adfa3327d4fc25d5eff5fedcdb11ecde52a995cc d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 6eff8085980dba0938cea0193b8a0fd3c6b0c4ca 5984905b2638df87a0262d1ee91f0a6e14a86df6
 164418 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 e25566cd2bf03e9cf66f30c3b7c2b6944022ee5a d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 5984905b2638df87a0262d1ee91f0a6e14a86df6
 164419 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c9bba52fc7312e8ea9071f9a4b7005954e36e0c1 d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 5984905b2638df87a0262d1ee91f0a6e14a86df6
 164422 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 8f8d3d90c5c5e317693a87339f9ddf9d7412a0fc d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 5984905b2638df87a0262d1ee91f0a6e14a86df6
 164425 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d491c88a0c8bec7a0c8b51e0c7d1f8dc102cfa40 d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 5984905b2638df87a0262d1ee91f0a6e14a86df6
 164428 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 e7641171b6c1f858f3d979c0e8f04d6c12870baa d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 5984905b2638df87a0262d1ee91f0a6e14a86df6
 164430 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 5984905b2638df87a0262d1ee91f0a6e14a86df6
 164431 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64 d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 5984905b2638df87a0262d1ee91f0a6e14a86df6
 164436 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 5984905b2638df87a0262d1ee91f0a6e14a86df6
 164440 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64 d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 5984905b2638df87a0262d1ee91f0a6e14a86df6
 164443 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 5984905b2638df87a0262d1ee91f0a6e14a86df6
 164446 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64 d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 5984905b2638df87a0262d1ee91f0a6e14a86df6
 161776 [host=godello0]
 161807 [host=albana1]
 161821 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f297b7f20010711e36e981fe45645302cc9d109d d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 b0d61ecef66eb05bd7a4eb7ada88ec5dab06dfee 5984905b2638df87a0262d1ee91f0a6e14a86df6
 162549 [host=elbling0]
Searching for interesting versions
 Result found: flight 161821 (pass), for basis pass
 For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 5984905b2638df87a0262d1ee91f0a6e14a86df6, results HASH(0x55e3364c0890) HASH(0x55e3363aced8) HASH(0x55e3363ba158) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1\
 e6a472b0eb9558310b518f0dfcd8860 e7641171b6c1f858f3d979c0e8f04d6c12870baa d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 5984905b2638df87a0262d1ee91f0a6e14a86df6, results HASH(0x55e3364beee8) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d491c88a0c8bec7a0c8b51e0c7d1f8dc102cfa40 d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637\
 c44cafbda3ef9859 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 5984905b2638df87a0262d1ee91f0a6e14a86df6, results HASH(0x55e3364bd480) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 8f8d3d90c5c5e317693a87339f9ddf9d7412a0fc d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 5984905b2638df87a0262d1ee91f0a6e14a86df6, results HASH(0x55e3364bbad8) For basis\
  failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c9bba52fc7312e8ea9071f9a4b7005954e36e0c1 d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 5984905b2638df87a0262d1ee91f0a6e14a86df6, results HASH(0x55e3364ba070) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 e25566cd2bf03e9cf66f\
 30c3b7c2b6944022ee5a d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 5984905b2638df87a0262d1ee91f0a6e14a86df6, results HASH(0x55e3364b6e60) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 adfa3327d4fc25d5eff5fedcdb11ecde52a995cc d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 6eff8085980dba0938cea0193b8a0fd3c6b\
 0c4ca 5984905b2638df87a0262d1ee91f0a6e14a86df6, results HASH(0x55e33648a9a8) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f297b7f20010711e36e981fe45645302cc9d109d d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 b0d61ecef66eb05bd7a4eb7ada88ec5dab06dfee 5984905b2638df87a0262d1ee91f0a6e14a86df6, results HASH(0x55e336383b68) HASH(0x55e3364b6560) Result found: flight 164259 (fail), for \
 basis failure (at ancestor ~896)
 Repro found: flight 164389 (pass), for basis pass
 Repro found: flight 164410 (fail), for basis failure
 0 revisions at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 d0d8ad39ecb51cd7497cd524484fe09f50876798 92a78636a51611475f711637c44cafbda3ef9859 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 5984905b2638df87a0262d1ee91f0a6e14a86df6
No revisions left to test, checking graph state.
 Result found: flight 164430 (pass), for last pass
 Result found: flight 164431 (fail), for first failure
 Repro found: flight 164436 (pass), for last pass
 Repro found: flight 164440 (fail), for first failure
 Repro found: flight 164443 (pass), for last pass
 Repro found: flight 164446 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  ovmf git://xenbits.xen.org/osstest/ovmf.git
  Bug introduced:  d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Bug not present: 3357ac73807d83eb212632ee7c2e032a20a49c56
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164446/


  commit d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Author: Laszlo Ersek <lersek@redhat.com>
  Date:   Wed May 26 22:14:24 2021 +0200
  
      OvmfPkg/PlatformPei: remove Xen support
      
      The "OvmfPkg/PlatformPei/PlatformPei.inf" module is used by the following
      platform DSCs:
      
        OvmfPkg/AmdSev/AmdSevX64.dsc
        OvmfPkg/OvmfPkgIa32.dsc
        OvmfPkg/OvmfPkgIa32X64.dsc
        OvmfPkg/OvmfPkgX64.dsc
      
      Remove Xen support from "OvmfPkg/PlatformPei", including any dependencies
      that now become unused. The basic idea is to substitute FALSE for "mXen".
      
      Remove "OvmfPkg/PlatformPei" from the "OvmfPkg: Xen-related modules"
      section of "Maintainers.txt".
      
      This patch is best reviewed with "git show -b -W".
      
      Cc: Andrew Fish <afish@apple.com>
      Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
      Cc: Jordan Justen <jordan.l.justen@intel.com>
      Cc: Leif Lindholm <leif@nuviainc.com>
      Cc: Michael D Kinney <michael.d.kinney@intel.com>
      Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
      Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2122
      Signed-off-by: Laszlo Ersek <lersek@redhat.com>
      Message-Id: <20210526201446.12554-22-lersek@redhat.com>
      Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
      Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
      Reviewed-by: Leif Lindholm <leif@nuviainc.com>

pnmtopng: 135 colors found
Revision graph left in /home/logs/results/bisect/xen-4.12-testing/test-amd64-amd64-xl-qemuu-ovmf-amd64.debian-hvm-install.{dot,ps,png,html,svg}.
----------------------------------------
164446: tolerable ALL FAIL

flight 164446 xen-4.12-testing real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/164446/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail baseline untested


jobs:
 test-amd64-amd64-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



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 17:40:51 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 17:40:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171669.313235 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIaPl-00030f-1B; Tue, 24 Aug 2021 17:40:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171669.313235; Tue, 24 Aug 2021 17:40:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIaPk-00030Y-Tw; Tue, 24 Aug 2021 17:40:44 +0000
Received: by outflank-mailman (input) for mailman id 171669;
 Tue, 24 Aug 2021 17:40: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 1mIaPj-00030S-Mq
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 17:40: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 1mIaPi-0000mW-Ly; Tue, 24 Aug 2021 17:40:42 +0000
Received: from [54.239.6.186] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mIaPi-0003Wx-Fl; Tue, 24 Aug 2021 17: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=UieXnK/RMlUOH4hp0iz6/cGxgxz3q7PQ2tkdV8IBDE8=; b=CcsAtEy4rbSg7Lj99gSvH4guRS
	R/k5Y6NdN9+vx0z2VDYH9CSQ5PukQTJcLzx+/TrdNhLo9Xnlaxj2bXEVC8HDRPkySxvnc3UOiBVDG
	1AMesJbCF3UcvzPGLp9/5+SEcj/14YHdUMRA9rMhdD4oBZIS1Qhbpz0tcGhNU8M+OIBE=;
Subject: Re: [XEN RFC PATCH 11/40] xen/x86: Move NUMA nodes and memory block
 ranges to common
To: Wei Chen <wei.chen@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, jbeulich@suse.com
Cc: Bertrand.Marquis@arm.com
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-12-wei.chen@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <c16632f9-2610-f266-8581-32b5a4bb7603@xen.org>
Date: Tue, 24 Aug 2021 18:40:40 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210811102423.28908-12-wei.chen@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Wei,

On 11/08/2021 11:23, Wei Chen wrote:
> These data structures and functions are used to create the
> mapping between node and memory blocks. In device tree based
> NUMA, we will reuse these data structures and functions, so
> we move this part of code from x86 to common.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>   xen/arch/x86/srat.c        | 50 -------------------------------------
>   xen/common/numa.c          | 51 ++++++++++++++++++++++++++++++++++++++
>   xen/include/asm-x86/numa.h |  8 ------
>   xen/include/xen/numa.h     | 15 +++++++++++
>   4 files changed, 66 insertions(+), 58 deletions(-)
> 
> diff --git a/xen/arch/x86/srat.c b/xen/arch/x86/srat.c
> index 6b77b98201..6d68b8a614 100644
> --- a/xen/arch/x86/srat.c
> +++ b/xen/arch/x86/srat.c
> @@ -26,7 +26,6 @@ static struct acpi_table_slit *__read_mostly acpi_slit;
>   
>   static nodemask_t memory_nodes_parsed __initdata;
>   static nodemask_t processor_nodes_parsed __initdata;
> -static struct node nodes[MAX_NUMNODES] __initdata;
>   
>   struct pxm2node {
>   	unsigned pxm;
> @@ -37,9 +36,6 @@ static struct pxm2node __read_mostly pxm2node[MAX_NUMNODES] =
>   
>   static unsigned node_to_pxm(nodeid_t n);
>   
> -static int num_node_memblks;
> -static struct node node_memblk_range[NR_NODE_MEMBLKS];
> -static nodeid_t memblk_nodeid[NR_NODE_MEMBLKS];
>   static __initdata DECLARE_BITMAP(memblk_hotplug, NR_NODE_MEMBLKS);
>   
>   static inline bool node_found(unsigned idx, unsigned pxm)
> @@ -104,52 +100,6 @@ nodeid_t setup_node(unsigned pxm)
>   	return node;
>   }
>   
> -int valid_numa_range(u64 start, u64 end, nodeid_t node)
> -{
> -	int i;
> -
> -	for (i = 0; i < num_node_memblks; i++) {
> -		struct node *nd = &node_memblk_range[i];
> -
> -		if (nd->start <= start && nd->end >= end &&
> -			memblk_nodeid[i] == node)
> -			return 1;
> -	}
> -
> -	return 0;
> -}
> -
> -static __init int conflicting_memblks(u64 start, u64 end)
> -{
> -	int i;
> -
> -	for (i = 0; i < num_node_memblks; i++) {
> -		struct node *nd = &node_memblk_range[i];
> -		if (nd->start == nd->end)
> -			continue;
> -		if (nd->end > start && nd->start < end)
> -			return i;
> -		if (nd->end == end && nd->start == start)
> -			return i;
> -	}
> -	return -1;
> -}
> -
> -static __init void cutoff_node(int i, u64 start, u64 end)
> -{
> -	struct node *nd = &nodes[i];
> -	if (nd->start < start) {
> -		nd->start = start;
> -		if (nd->end < nd->start)
> -			nd->start = nd->end;
> -	}
> -	if (nd->end > end) {
> -		nd->end = end;
> -		if (nd->start > nd->end)
> -			nd->start = nd->end;
> -	}
> -}
> -
>   static __init void bad_srat(void)
>   {
>   	int i;
> diff --git a/xen/common/numa.c b/xen/common/numa.c
> index 9b6f23dfc1..1facc8fe2b 100644
> --- a/xen/common/numa.c
> +++ b/xen/common/numa.c
> @@ -29,6 +29,11 @@ nodeid_t cpu_to_node[NR_CPUS] __read_mostly = {
>   
>   cpumask_t node_to_cpumask[MAX_NUMNODES] __read_mostly;
>   
> +struct node nodes[MAX_NUMNODES] __initdata;
> +int num_node_memblks;
> +struct node node_memblk_range[NR_NODE_MEMBLKS];
> +nodeid_t memblk_nodeid[NR_NODE_MEMBLKS];
> +
>   /*
>    * Given a shift value, try to populate memnodemap[]
>    * Returns :
> @@ -136,6 +141,52 @@ int __init compute_hash_shift(struct node *nodes, int numnodes,
>       return shift;
>   }
>   
> +int valid_numa_range(u64 start, u64 end, nodeid_t node)
> +{
> +	int i;
> +
> +	for (i = 0; i < num_node_memblks; i++) {
> +		struct node *nd = &node_memblk_range[i];
> +
> +		if (nd->start <= start && nd->end >= end &&
> +			memblk_nodeid[i] == node)
> +			return 1;
> +	}
> +
> +	return 0;
> +}
> +
> +int __init conflicting_memblks(u64 start, u64 end)
> +{
> +	int i;
> +
> +	for (i = 0; i < num_node_memblks; i++) {
> +		struct node *nd = &node_memblk_range[i];
> +		if (nd->start == nd->end)
> +			continue;
> +		if (nd->end > start && nd->start < end)
> +			return i;
> +		if (nd->end == end && nd->start == start)
> +			return i;
> +	}
> +	return -1;
> +}
> +
> +void __init cutoff_node(int i, u64 start, u64 end)
> +{
> +	struct node *nd = &nodes[i];
> +	if (nd->start < start) {
> +		nd->start = start;
> +		if (nd->end < nd->start)
> +			nd->start = nd->end;
> +	}
> +	if (nd->end > end) {
> +		nd->end = end;
> +		if (nd->start > nd->end)
> +			nd->start = nd->end;
> +	}
> +}
> +
>   void numa_add_cpu(int cpu)
>   {
>       cpumask_set_cpu(cpu, &node_to_cpumask[cpu_to_node(cpu)]);
> diff --git a/xen/include/asm-x86/numa.h b/xen/include/asm-x86/numa.h
> index 07ff78ea1b..e8a92ad9df 100644
> --- a/xen/include/asm-x86/numa.h
> +++ b/xen/include/asm-x86/numa.h
> @@ -17,12 +17,6 @@ extern cpumask_t     node_to_cpumask[];
>   #define node_to_first_cpu(node)  (__ffs(node_to_cpumask[node]))
>   #define node_to_cpumask(node)    (node_to_cpumask[node])
>   
> -struct node {
> -	u64 start,end;
> -};
> -
> -extern int compute_hash_shift(struct node *nodes, int numnodes,
> -			      nodeid_t *nodeids);
>   extern nodeid_t pxm_to_node(unsigned int pxm);
>   
>   #define ZONE_ALIGN (1UL << (MAX_ORDER+PAGE_SHIFT))
> @@ -45,8 +39,6 @@ static inline void clear_node_cpumask(int cpu)
>   	cpumask_clear_cpu(cpu, &node_to_cpumask[cpu_to_node(cpu)]);
>   }
>   
> -extern int valid_numa_range(u64 start, u64 end, nodeid_t node);
> -
>   void srat_parse_regions(u64 addr);
>   extern u8 __node_distance(nodeid_t a, nodeid_t b);
>   unsigned int arch_get_dma_bitsize(void);
> diff --git a/xen/include/xen/numa.h b/xen/include/xen/numa.h
> index 5af74b357f..67b79a73a3 100644
> --- a/xen/include/xen/numa.h
> +++ b/xen/include/xen/numa.h
> @@ -54,6 +54,21 @@ static inline __attribute__((pure)) nodeid_t phys_to_nid(paddr_t addr)
>   
>   extern void numa_add_cpu(int cpu);
>   
> +struct node {
> +	u64 start,end;
> +};
> +
> +extern struct node nodes[MAX_NUMNODES];
> +extern int num_node_memblks;
> +extern struct node node_memblk_range[NR_NODE_MEMBLKS];
> +extern nodeid_t memblk_nodeid[NR_NODE_MEMBLKS];

I am not overly happy that the 4 ariables above are now exported. 
Looking at the code, they are (only?) used in arch specific code for 
acpi_numa_memory_affinity_init() and dtb_numa_memory_affinity_init().

There bits touching the variables looks quite similar between the two 
functions. The main differences seems to be the messages in printk() and 
the hotplug bits.

So I think we should attempt to abstract the code. IIRC, we discussed 
some of the way to abstract when Vijay Kilari attempted to add support 
for NUMA (see [1]). It might be worth to have a look and see if you can 
re-use some of the ideas.

> +
> +extern int compute_hash_shift(struct node *nodes, int numnodes,
> +			      nodeid_t *nodeids);
> +extern int conflicting_memblks(u64 start, u64 end);
> +extern void cutoff_node(int i, u64 start, u64 end);
> +extern int valid_numa_range(u64 start, u64 end, nodeid_t node);
> +
>   #endif /* CONFIG_NUMA */
>   
>   #endif /* _XEN_NUMA_H */
> 

[1] 
https://lore.kernel.org/xen-devel/1500378106-2620-1-git-send-email-vijay.kilari@gmail.com/

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 24 19:29:41 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 19:29:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171685.313264 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIc6y-000562-J1; Tue, 24 Aug 2021 19:29:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171685.313264; Tue, 24 Aug 2021 19: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 1mIc6y-00055v-FX; Tue, 24 Aug 2021 19:29:28 +0000
Received: by outflank-mailman (input) for mailman id 171685;
 Tue, 24 Aug 2021 19:29:27 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wDk/=NP=kernel.org=sstabellini@srs-us1.protection.inumbo.net>)
 id 1mIc6x-00055p-Ce
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 19:29:27 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 3a80b4c3-9361-44e7-b335-5b1149ffd831;
 Tue, 24 Aug 2021 19:29:26 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id 65E0761002;
 Tue, 24 Aug 2021 19:29: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: 3a80b4c3-9361-44e7-b335-5b1149ffd831
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1629833365;
	bh=7dbkBATlgc+VfeRRq8x5C9FsYuix4DR+wum6KfFN8xk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=qUDxfHgro2OhY8eCIs6UFjIcBtNDiV2DuJs+ZTrTDg3pXajw48USbYp82nB7yW57K
	 t90KwVw37mtgrLwB+OQEzgGRD8ayU7uqifDWyfVEASAIwKbvCfum6Sd7sc9xnAv9GT
	 bQ8pWgRCQ8XFyTs8aVTxb0J1zOPDH/tyquXbbRmkqOHwteaVeGUUCDwlA2VUznMoRP
	 o56Bocd2Vf335n4XmeU0seBnET38tlOZ6GiH1A+DK0rBEnuqrU6aR5uSUqJKZzMPvr
	 1rt48DT/C9L8OMXW7yXcgqznomwlYngVE/Rv5aCKHQpVYslY6zK0dKGZmk46VWNWy7
	 v3FX/fJBhmvPQ==
Date: Tue, 24 Aug 2021 12:29:24 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@sstabellini-ThinkPad-T480s
To: Julien Grall <julien@xen.org>
cc: Ian Jackson <iwj@xenproject.org>, Jan Beulich <jbeulich@suse.com>, 
    xen-devel@lists.xenproject.org, George Dunlap <George.Dunlap@citrix.com>, 
    committers@xenproject.org
Subject: Re: Xen 4.16: Proposed release manager and schedule
In-Reply-To: <db112874-eb0a-c9ad-4509-6d048b056038@xen.org>
Message-ID: <alpine.DEB.2.21.2108241229070.24433@sstabellini-ThinkPad-T480s>
References: <24861.8902.217023.673705@mariner.uk.xensource.com> <5198b3ce-8a7c-a5b1-4ddd-f2052e1d4181@suse.com> <24862.31351.137596.242803@mariner.uk.xensource.com> <db112874-eb0a-c9ad-4509-6d048b056038@xen.org>
User-Agent: Alpine 2.21 (DEB 202 2017-01-01)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 24 Aug 2021, Julien Grall wrote:
> > Some of the thinness of this release in particular relates to an
> > unusual combination of substantial leave taken by many key
> > contributors, so maybe this is a thing we should consider.
> > Even my proposing this schedule was rather late, in part for those
> > reasons.
> > 
> > I don't personally have a strong opinion about the right decision.
> > But if we are intending to release in December, I think something like
> > my proposed schedule is probably about right.  Perhaps it could be
> > compressed a bit due to the lack of major contributions so far.
> 
> At the moment, my preference is to stick with the release in December. We
> don't have major contributions checked in yet on Arm, but there is a chance to
> have a couple of them with the current schedule on Arm.

+1


From xen-devel-bounces@lists.xenproject.org Tue Aug 24 19:49:50 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 19:49:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171692.313275 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIcQZ-0007aJ-AS; Tue, 24 Aug 2021 19:49:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171692.313275; Tue, 24 Aug 2021 19: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 1mIcQZ-0007aC-6k; Tue, 24 Aug 2021 19:49:43 +0000
Received: by outflank-mailman (input) for mailman id 171692;
 Tue, 24 Aug 2021 19:49:41 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mIcQX-0007a1-FA; Tue, 24 Aug 2021 19:49:41 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mIcQX-0003Yv-4u; Tue, 24 Aug 2021 19:49:41 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mIcQW-000651-No; Tue, 24 Aug 2021 19:49:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mIcQW-0008BD-N5; Tue, 24 Aug 2021 19:49: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=UlDVkwDCMnj4O/ytYfeCoMmJjZJa4OYrbpFi/DwxyFA=; b=3hcOByItSREeoFM1lzCnkUEjJg
	/9TRHd3Q/PUlFnN7+0BtVdQe2bsrLaIz5qcIVRzMMTYWcuUx7dkl/9zin1L5hNWpdBbu7Pu9ZWChm
	zjjBKJdQ13XiY/UsLGumgPhkerRufN1lsol+VKKnsRKR/nV3CBE7Cn9F79xmtOT/Ah4Y=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164371-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.13-testing test] 164371: regressions - FAIL
X-Osstest-Failures:
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    xen-4.13-testing:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=3cdc7b6b35106180c9021c1742cafacfa764fdad
X-Osstest-Versions-That:
    xen=32d580902b959000d79d51dff03a3560653c4fcb
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 24 Aug 2021 19:49:40 +0000

flight 164371 xen-4.13-testing real [real]
flight 164442 xen-4.13-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/164371/
http://logs.test-lab.xenproject.org/osstest/logs/164442/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 163761
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 163761

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 163761
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 163761
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 163761
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 163761
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 163761
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 163761
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 163761
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 163761
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 163761
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 163761
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 163761
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          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-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-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-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  3cdc7b6b35106180c9021c1742cafacfa764fdad
baseline version:
 xen                  32d580902b959000d79d51dff03a3560653c4fcb

Last test of basis   163761  2021-07-17 07:57:22 Z   38 days
Testing same since   164260  2021-08-19 17:07:29 Z    5 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 3cdc7b6b35106180c9021c1742cafacfa764fdad
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Jul 19 12:28:09 2021 +0200

    libxl/x86: check return value of SHADOW_OP_SET_ALLOCATION domctl
    
    The hypervisor may not have enough memory to satisfy the request. While
    there, make the unit of the value clear by renaming the local variable.
    
    Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    backport-requested-by: Jan Beulich <jbeulich@suse.com>
    (cherry picked from commit 0be5a00af590c97ea553aadb60f1e0b3af53d8f6)
    (cherry picked from commit 6bbdcefd205903b2181b3b4fdc9503709ecdb7c4)
    (cherry picked from commit 61f28060d5b899c502e2b3bf45a39b1dd2a1224c)
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Tue Aug 24 20:07:41 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 20:07:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171703.313295 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIchp-0001nB-Uc; Tue, 24 Aug 2021 20:07:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171703.313295; Tue, 24 Aug 2021 20:07:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIchp-0001n4-RI; Tue, 24 Aug 2021 20:07:33 +0000
Received: by outflank-mailman (input) for mailman id 171703;
 Tue, 24 Aug 2021 20:07: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 1mIcho-0001ms-TC; Tue, 24 Aug 2021 20:07: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 1mIcho-0003x6-Er; Tue, 24 Aug 2021 20:07: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 1mIcho-0006qw-7K; Tue, 24 Aug 2021 20:07:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mIcho-0005vt-6n; Tue, 24 Aug 2021 20:07: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=QMC0SmmUI4QtuRsXuCYk5Rr9jxK9Bda5p/mgafoQnPw=; b=foPquzL0+yevqSp5yI3aXhiy17
	lJLRUAvHQZ3U/u1OhkQ3Hoj7hmwUjx4YbQ9CSTV/1d6VO7clm8zN81QYTxdNDgLJRBree7J89l7/V
	oue4AFgcYNnSnvozw8KSDqGe5C9Mvt3e0OX6LNliFqZNWP6LbH67/OkXNSn+Bg8VpuZ8=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164390-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.15-testing test] 164390: regressions - FAIL
X-Osstest-Failures:
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    xen-4.15-testing:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    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-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check: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-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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-credit1:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm: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-thunderx:saverestore-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-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=6bbdcefd205903b2181b3b4fdc9503709ecdb7c4
X-Osstest-Versions-That:
    xen=dba774896f7dd74773c14d537643b7d7477fefcd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 24 Aug 2021 20:07:32 +0000

flight 164390 xen-4.15-testing real [real]
flight 164452 xen-4.15-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/164390/
http://logs.test-lab.xenproject.org/osstest/logs/164452/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 163759
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 163759

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 163759
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 163759
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 163759
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 163759
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 163759
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 163759
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 163759
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 163759
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 163759
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 163759
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 163759
 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-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-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-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-xsm      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-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-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  6bbdcefd205903b2181b3b4fdc9503709ecdb7c4
baseline version:
 xen                  dba774896f7dd74773c14d537643b7d7477fefcd

Last test of basis   163759  2021-07-17 04:12:25 Z   38 days
Testing same since   164262  2021-08-19 17:07:29 Z    5 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Ian Jackson <iwj@xenproject.org>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 335 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 24 21:12:10 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 21:12:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171717.313321 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIdiA-0000yk-6J; Tue, 24 Aug 2021 21:11:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171717.313321; Tue, 24 Aug 2021 21:11:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIdiA-0000yd-36; Tue, 24 Aug 2021 21:11:58 +0000
Received: by outflank-mailman (input) for mailman id 171717;
 Tue, 24 Aug 2021 21:11:57 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QsuA=NP=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mIdi8-0000yX-Tj
 for xen-devel@lists.xenproject.org; Tue, 24 Aug 2021 21:11:57 +0000
Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 0b01e1e0-e542-4da7-a89c-f44498b5d763;
 Tue, 24 Aug 2021 21:11: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: 0b01e1e0-e542-4da7-a89c-f44498b5d763
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629839515;
  h=from:to:cc:references:subject:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=T6v+2Lyo1ApN6cq3QtB54simKp4JIjfio3pXIGIPTRs=;
  b=BL4XGdEcAhAIubfG4lJWqd+8XqJJ5jl7J79S4ussFisgcv2O7T3Kjizj
   8NDjUVkmUHPU6dmD1MiaVoMkuo26gelECNl+BzFni0Xbt77ochGgKNO73
   as/m8K8O108GBlHrMEB3GRzYwT09LMdXY7JkWi9vBmKD1k3CE5f4S84QS
   Y=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: 0jo70kKppi8+0oJ20If2HQbaH3yP2W7/OJ4zWXkjHkxY+RV4eSNSYFN2dpCRF8tmw/yx6nCjRe
 a2Us8MhzSpJekrBKOmo7Fa+XDhlcXot09dT+ve/vAqILw8uVRdf9AHGWXdW3Tp7ct3H1mf5Yam
 +WmrhZxJs3Wm3QboUJhxXyWBeRJQpK84Pp3e3QPCgBt5eDtYMh94JRksbo3cD9xAj3/gwM1e4U
 FyC7owtlheSDESmIUUK6qO3efiO2JhVApp4E78gD5uxRUSDucPzEqtXgFfdzZ+HEhHgJ3cAiDH
 oBRDFgaekT2oLI0moO5qDaHM
X-SBRS: 5.1
X-MesageID: 51599958
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:/7yIvqPe6LmZcsBcT0/155DYdb4zR+YMi2TDiHofdfUFSKClfp
 6V8cjztSWUtN4QMEtQ/exoS5PwPk80kqQFnbX5XI3SITUO3VHHEGgM1/qb/9SNIVydygcZ79
 YbT0EcMqyBMbEZt7eC3ODQKb9Jq7PmgcPY99s2jU0dKj2CA5sQnjuRYTzrdHGeKjM2YKbRWK
 Dsnfau8FGbCAoqh4mAdzY4dtmGg+eOuIPtYBYACRJiwA6SjQmw4Lq/NxSDxB8RXx5G3L9nqA
 H+4k3Ez5Tml8v+5g7X1mfV4ZgTsNz9yuFbDMjJrsQOMD3jhiuheYwkcbyfuzIepv2p9T8R4Z
 fxiiZlG/42x2Laf2mzrxeo8w780Aw243un8lOciWuLm72yeBsKT+56wa5JeBrQ7EQt+Ptm1r
 hQ4m6fv51LSTvdgSXU/bHzJlNXv3vxhUBnvf8YjnRZX4dbQqRWt5Yj8ERcF4pFND7m6bogDP
 JlAKjnlbVrmGuhHjTkV1RUsZuRtixZJGbBfqFCgL3U79FupgE986NCr/Zvx0vpnfkGOup5D+
 etCNUiqFgBdL5PUUrRbN1xN/dfMVa9NS4kBljiaWgPJJt3Tk4llKSHl4ndxNvaNaDgn6FC1K
 gobjtjxCcPkgTVeJaz4KE=
X-IronPort-AV: E=Sophos;i="5.84,348,1620705600"; 
   d="scan'208";a="51599958"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PkoOPctKzPGh4p0vKPourGX7Pr9jhv7Ih3JEmh8jsRWPcEddgbtNqBDX3vY2fD8LyOHmhsq1dfl2+NdvCUsIpVYCYYGdmMFK2tRZcUfb3yPVDafcqaICLNY2WH8MPmHeUwgq1fu463DIQhSsfACvZW5P8QFPUGL341qm0lSAS7mhOZbCqiY8dRk1yabzcV8JGmrUhkbt75LvBrk7J2K0ZOqfdLdWiNgSx+Ar2GbzC8PXlNt8n+NE15X3qAuSFNDrGFmLvVbpIUSAwboHlmXRHNiLu8we04gllMWKixRYOt4aCqH81IF5kAfBPM3ICj1S/2WnvNirZtOM6nQnfMz7zQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=D51h2qHY2OK/DVylJ3RtXiH4c0xJ/8VDp2bS2TibvT0=;
 b=JUQlRMwG7dcUcpGyppY1sPZJO3SiFjSI+y3zkwhfazSYz4nSwOrLo8I0B+FKPkLDfzJ7r94Xe/otoJ15ztWSZQwmUUzjgJ26wpTyI9dqbw0BRKydcAyWo1a+g4maH1vlyrK9iuMXlpcNPRjFApgvqiNa1py9finZiJYKOb0G3nlRdKlTTJriCLCoUdRpvfvZ0PHRoQiQ3HD2PvpI6IZjXXlo0hz+B8fKLCGIfYpnstWnZVHdhKa6S1N0EbH0Ux30XUgI43pydrheJKD40f4jDSdvuoVnSzzWMKMMGxzkng/aHj74quODHEVN/yxN0gdld00k6TauU3aYw6ggNPH/xA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=D51h2qHY2OK/DVylJ3RtXiH4c0xJ/8VDp2bS2TibvT0=;
 b=RI/MsxFa57pIMQ1J71QRSBF9HDH2KMdm//1UJ3yKOr93Ap6kJ5vXW6v3ibZFTZcqZEX23jSo9CzO6bLfM82RDDSmEunq+iEtXAFMp2wYvCS1Q1CdXVwNAdOKETXYK2QU5GVQXQ2kOQYHSRHAa5m3bbczMfkVx9JdKbBD+p+iHis=
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
	<marmarek@invisiblethingslab.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>
References: <20210818113017.454251-1-marmarek@invisiblethingslab.com>
 <45de5185-b514-8c52-6922-4c587818c698@citrix.com>
Subject: Re: [PATCH] x86/xstate: reset cached register values on resume
Message-ID: <3125583f-b965-7746-d833-c197857cd7d7@citrix.com>
Date: Tue, 24 Aug 2021 22:11:41 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <45de5185-b514-8c52-6922-4c587818c698@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-GB
X-ClientProxiedBy: LO3P123CA0018.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:ba::23) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d538f6b9-30ee-478d-dd61-08d96743c8ca
X-MS-TrafficTypeDiagnostic: BY5PR03MB5032:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <BY5PR03MB5032AE25D4155DB45FF787C4BAC59@BY5PR03MB5032.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: vvRmSfq8lHbQc4CKrDDbGkGXgs8Ig0/5Km4AIg6/Aj2qml1uEeFAgl6pNqjaQeQjDo85lBMPP8JEuvywFtTvu3PSGo58e5zcDtuYWt1ykg3iH6YLxph3fFQIbUgLsnaCJ8rINI8ps8LzVZKVrTRW06wUkTrfK5Kb0iypwGtb6hyuccVfoaQPPwiwH3bociDW80exj4OTsDsbJ0PBCDaZQ5heCeHx1BNvWVUmBvIhSIkygDlVXnkCzGXxd+mk0vdkuWhjG0sbGPJCz7voYN8JapIYx0AyMMet5aMG2LgiIjkv+G8ZE+LTTfLmL4EvKqQ0qmiqlrptqeIEAbbH2iBNKf2SnjOM5MSh6tM/VQM9bLbLYiomLc4rvA3yzgM5261XrUkhhCIFKW3hXPL8ToMAwrMSquS6UKtCbbUB69CZPlGauzNjAHZ/TsyRDCjEHYwYMK2LGBLWz12DAcd8z9MeHvDR47pPBL/TkH2/3JsJ4q0BWbfFjhO8Swk881H+myj8EangpvEig1Ne11TKDRrIymqJ6LTSPuIE/hgMOM2dpeq9xvsBnz102MrESiuhfx/g8tTvPVb6o//NArAc+PuRK2t4pYaqqEuhMO2Hh7mO3S86ezAHwdVi88ngS7sWfN7FzwhIud+OJkPLmBHDVT+Z/pmCwQ90k/mYHk+clI7gK88DCHwz2yytETnfv4sFIFy+NLFQcSzopKNK7tJ859UBh7VUzjHPhTAZ8p67nEXjQ34=
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:(4636009)(39860400002)(366004)(346002)(376002)(136003)(396003)(36756003)(54906003)(16576012)(478600001)(4326008)(6486002)(83380400001)(55236004)(2616005)(956004)(31686004)(86362001)(6666004)(38100700002)(66476007)(66556008)(31696002)(53546011)(8936002)(8676002)(186003)(2906002)(5660300002)(66946007)(26005)(316002)(66574015)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?L1ZMN2lUZXJlWWNEd2llY3hjQzJybWhVOGNRbmF2Y0JmWlRBWVZCajdRRTJu?=
 =?utf-8?B?Sk9nN3lzelFFVFBURTNKZUVFa2xzMnBkbTJLSGdSazNDZXVVRWZTRFlpbWNF?=
 =?utf-8?B?WHZ1N2JQcVUwRmlyU2RtK3FBU1BzR3pZdWFzTlRpZitBaTZwYnBValJQVm5q?=
 =?utf-8?B?YVlob1hNZ3YwdlBSNkhMeDZMY1lVVDl5MHRNMUhaUzlVd09md0p6cTVpVnY3?=
 =?utf-8?B?K2VzQTllWGRNc1lLWkVhaERpTGh6Y0E0R1JHdldaNjNyVXZTbzRsWFkvMGh3?=
 =?utf-8?B?d1FDYm9MRk9WWWR0UGhqNFNaZi9QbFZibUV6Q1Y3VXZxbThZRTZNbzczZFpx?=
 =?utf-8?B?akw1TE1KejJtZnVKMWhJOG1yS1ZrT08zRk16QUl3OHRTcGFROFFaaEhMU0px?=
 =?utf-8?B?K2pZUFY0c3ZmUUY4ZGlOZTM3V1Z6VEFEYXFhcGpna3ZlWHVSUURtWXNUTjRD?=
 =?utf-8?B?aTMwZWl6eFAwaDJZV2F2dzRzU000MmpUd0RUT0hNUWJvSHhUZWxUVkluUmFX?=
 =?utf-8?B?M1I0NGFROEdmcmdvWm1nVzB3S3MvMVZGOGhldThtSzlOQU9FdVE3Uk9ibXIz?=
 =?utf-8?B?UUdKLzlpTGx6c2dVODhyMXY2eXFOazZwZTFyaVlLbHVmQXJVdFgxWmptbXpm?=
 =?utf-8?B?a3UvaVlFTS8xNXQwaXlsamJaWFRmd0d6blpobUpocjh1Z0xtZVNHUi9DWlNC?=
 =?utf-8?B?TXh4WUhuV0VsYXZwbmZMcjJwTUlWejBZYzVKaXlXMlc2cWhBRnJySlJQN21X?=
 =?utf-8?B?TUd5S1FhSFRObGR3aUpqN3UydHczNGxvL2tMc2NuRkZVWDFBcDBKZ1YvZW9F?=
 =?utf-8?B?ZHQwQjBRL2p0TThZazhKYkJrMVdqQVRpWGZDU1NTNURGUlFxckdlYzJiazhM?=
 =?utf-8?B?blJXK3Y1bkVxZU45d2N0Sks0cG8yMkc3WkdCVGk3R2NEWjRwU2FBSHFMZVZH?=
 =?utf-8?B?ak1LWmJVRGpha0hTSTU3ajdIMC9qRzErTFdjNWdpWllRUXo3YmR1L2Jtd0tk?=
 =?utf-8?B?YlNaSW9xSnVrU1daR0lIQXpHMVhnR1FIcitNNGR3cUZ4K0hPeDhqNG5QbDI3?=
 =?utf-8?B?aWFKWjEzRWpya3UyZCsrMTNNL2xCWHRXZmU4ZmJuR0JOZitmTkY3aXhFYlZB?=
 =?utf-8?B?M2xmYnJQRGxEOVQrQ2U0NTA3UU9BUTV1N3AybHN4QVJOTEdzRUZrWVRKY2Ur?=
 =?utf-8?B?ZGg2Yis2T0o3V0NBd2VLU3g2Q29RM1psclJEaS9zeHlNQk5sM3FaR1ZZUUJo?=
 =?utf-8?B?UHhTWkRWVGpPWTJqL3hNZ2YrNEZLS1MzY296SEJ5eUV5MVM1Rm5HQTJZNVhD?=
 =?utf-8?B?eFBsTk9SQ3M2ZTNTWjNJMTJPYVY4eFY1QWQrYjA2QVlsd2xEWUFBcG1uaHAr?=
 =?utf-8?B?UVpSb0RHL29UaVlSZnRvck1LZlB2VXlDM01Vdk9rOEErcHF5WnNQT2cxVHNv?=
 =?utf-8?B?UXZEV2VZUWZSa2JHalNqUEIxaWw5bFFEeVgvRFFyWGpuc3F3aDYyamJvWSs1?=
 =?utf-8?B?eG1yYzR1dG0wN3BicElLWHhWWndaekFZQTdFcVA1U1pqdkdoL2FLNUZtWG5L?=
 =?utf-8?B?dXpYczVDVDdkbWVjN05aNWprdFJLbmQ3Slhxb09xS2s3QUc0dzloQVozZGxF?=
 =?utf-8?B?bG91QVFZbkFGVnQ1SWgxemowZkNTRmxHK0txYVFlRzdITlJNLzQvZ3Fkd2Fz?=
 =?utf-8?B?VFBLVHhsYmRIUERWTDFOOHAvbVcyclBEa1NJd1E1WU9KUWZLdEJxUlJUU21r?=
 =?utf-8?Q?AzyYA+Ff97srcRru6YAYr05yyunMReQGsQIF7/A?=
X-MS-Exchange-CrossTenant-Network-Message-Id: d538f6b9-30ee-478d-dd61-08d96743c8ca
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 21:11:48.2231
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: vd85502NCsZDFoxuqtwwGanDqUF8RmTwvjR1IK2/yJy9uK4U78B/L0C9ZvMCAM277SEsepAiRGm5Ew7QL6LdUvVgBIjhxs/mXGKXRF1dXEE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5032
X-OriginatorOrg: citrix.com

On 18/08/2021 13:44, Andrew Cooper wrote:
> On 18/08/2021 12:30, Marek Marczykowski-G=C3=B3recki wrote:
>> set_xcr0() and set_msr_xss() use cached value to avoid setting the
>> register to the same value over and over. But suspend/resume implicitly
>> reset the registers and since percpu areas are not deallocated on
>> suspend anymore, the cache gets stale.
>> Reset the cache on resume, to ensure the next write will really hit the
>> hardware. Choose value 0, as it will never be a legitimate write to
>> those registers - and so, will force write (and cache update).
>>
>> Note the cache is used io get_xcr0() and get_msr_xss() too, but:
>> - set_xcr0() is called few lines below in xstate_init(), so it will
>>   update the cache with appropriate value
>> - get_msr_xss() is not used anywhere - and thus not before any
>>   set_msr_xss() that will fill the cache
>>
>> Fixes: aca2a985a55a "xen: don't free percpu areas during suspend"
>> Signed-off-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethings=
lab.com>
> I'd prefer to do this differently.=C2=A0 As I said in the thread, there a=
re
> other registers such as MSR_TSC_AUX which fall into the same category,
> and I'd like to make something which works systematically.

Ok - after some searching, I think we have problems with:

cpu/common.c:47:DEFINE_PER_CPU(struct cpuidmasks, cpuidmasks);
cpu/common.c:120:static DEFINE_PER_CPU(uint64_t, msr_misc_features);
msr.c:35:DEFINE_PER_CPU(uint32_t, tsc_aux);
xstate.c:36:static DEFINE_PER_CPU(uint64_t, xcr0);
xstate.c:79:static DEFINE_PER_CPU(uint64_t, xss);

There is also:

traps.c:100:DEFINE_PER_CPU(uint64_t, efer);

which we *almost* handle correctly, but fail to update the cache on the
BSP out of S3.


For the APIC, I think we have issues with:

irq.c:1083:static DEFINE_PER_CPU(struct pending_eoi,
pending_eoi[NR_DYNAMIC_VECTORS]);

because we don't defer S3 until all pending EOIs are complete.


I gave up trying to figure out the MCE or power governor logic so we may
have additional issues there.


Additionally,

flushtlb.c:34:DEFINE_PER_CPU(u32, tlbflush_time);

really does need setting appropriately, although I think the only
fallout is a few unnecessary TLB flushes.

~Andrew



From xen-devel-bounces@lists.xenproject.org Tue Aug 24 22:13:49 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 22:13:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171727.313341 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIefn-0007MZ-2B; Tue, 24 Aug 2021 22:13:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171727.313341; Tue, 24 Aug 2021 22:13:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIefm-0007MS-Tt; Tue, 24 Aug 2021 22:13:34 +0000
Received: by outflank-mailman (input) for mailman id 171727;
 Tue, 24 Aug 2021 22:13: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 1mIefm-0007MI-53; Tue, 24 Aug 2021 22:13: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 1mIefl-00062U-Uf; Tue, 24 Aug 2021 22:13: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 1mIefl-00038P-Gf; Tue, 24 Aug 2021 22:13:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mIefl-0001cO-GD; Tue, 24 Aug 2021 22:13: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=fNX+9mOhmPQmVsjtJqG9Wj9/tChr7ug30eEeYvVp1JQ=; b=rdcMf/YFm1AxX1ElEBAGAxPvKa
	BboqUeSUigFGrG64+h+Kp+7SbB1txjY6A13o0nNqZ9I6HCt1NGtW6tvQ2cPEU4us+5l67cOqHEQcx
	pNeq7Caz98yRqok5AF9AJF50Tlg46ophgAt/5Y1hsAoefKA+1iRvqBrw4q0tNaK1OEes=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164406-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 164406: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=8dd4fc5be6189666b37e5b00131a4173c6a2b085
X-Osstest-Versions-That:
    ovmf=ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 24 Aug 2021 22:13:33 +0000

flight 164406 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164406/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 8dd4fc5be6189666b37e5b00131a4173c6a2b085
baseline version:
 ovmf                 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c

Last test of basis   164229  2021-08-17 14:11:15 Z    7 days
Testing same since   164406  2021-08-23 08:10:21 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jason <yun.lou@intel.com>
  Jason Lou <yun.lou@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
   ef56f55d19..8dd4fc5be6  8dd4fc5be6189666b37e5b00131a4173c6a2b085 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Aug 24 22:47:15 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Aug 2021 22:47:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171734.313358 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIfCG-0002QG-NZ; Tue, 24 Aug 2021 22:47:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171734.313358; Tue, 24 Aug 2021 22:47:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIfCG-0002Q9-KJ; Tue, 24 Aug 2021 22:47:08 +0000
Received: by outflank-mailman (input) for mailman id 171734;
 Tue, 24 Aug 2021 22:47: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 1mIfCF-0002Pz-JD; Tue, 24 Aug 2021 22:47: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 1mIfCF-0006dE-8e; Tue, 24 Aug 2021 22:47: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 1mIfCF-0004wn-0x; Tue, 24 Aug 2021 22:47:07 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mIfCF-0000ZU-0P; Tue, 24 Aug 2021 22:47: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=lXQFeyH3JvMKzN6J0WCgJwcCQwrw4wc2mCf5UUR1EwU=; b=1I4BrBJeXXAZFIhFwA2W9WIxwm
	SACengEhCmBcFaF+cblVV1bssD+lDQ8HzyyQjPs4HXrQCOdB5VilYcpzqPLcanbJqZM3+qC2D1R5H
	UfI+HzaTHUzCSk9yyUuRrSu4qQrkd1JrHllrHDkPyu3g2nXrZqZmm00NZcd4nvzN1DcQ=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164423-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 164423: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=59281d9dc7cf8050ecb23c9021125af251e766db
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 24 Aug 2021 22:47:07 +0000

flight 164423 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164423/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              59281d9dc7cf8050ecb23c9021125af251e766db
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  410 days
Failing since        151818  2020-07-11 04:18:52 Z  409 days  400 attempts
Testing same since   164423  2021-08-24 05:16:17 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  Cédric Bosdonnat <cbosdonnat@suse.com>
  Côme Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano Fidêncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Ian Wienand <iwienand@redhat.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  John Ferlan <jferlan@redhat.com>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  Ján Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Michał Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  Moshe Levi <moshele@nvidia.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr Drąg <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tomáš Golembiovský <tgolembi@redhat.com>
  Tomáš Janoušek <tomi@nomi.cz>
  Tuguoyi <tu.guoyi@h3c.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  William Douglas <william.douglas@intel.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 70611 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 00:58:25 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 00:58:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171748.313389 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIhF3-0007oY-9R; Wed, 25 Aug 2021 00:58:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171748.313389; Wed, 25 Aug 2021 00: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 1mIhF3-0007oR-6N; Wed, 25 Aug 2021 00:58:09 +0000
Received: by outflank-mailman (input) for mailman id 171748;
 Wed, 25 Aug 2021 00:58:08 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YETI=NQ=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mIhF2-0007oL-LL
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 00:58:08 +0000
Received: from EUR03-AM5-obe.outbound.protection.outlook.com (unknown
 [40.107.3.47]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 4744a471-8ba0-4e1e-9c41-095be3b118a8;
 Wed, 25 Aug 2021 00:58:05 +0000 (UTC)
Received: from AM7PR02CA0025.eurprd02.prod.outlook.com (2603:10a6:20b:100::35)
 by AM6PR08MB5220.eurprd08.prod.outlook.com (2603:10a6:20b:c3::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.24; Wed, 25 Aug
 2021 00:58:03 +0000
Received: from AM5EUR03FT021.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:100:cafe::35) by AM7PR02CA0025.outlook.office365.com
 (2603:10a6:20b:100::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Wed, 25 Aug 2021 00:58:03 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT021.mail.protection.outlook.com (10.152.16.105) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Wed, 25 Aug 2021 00:58:03 +0000
Received: ("Tessian outbound 5918cb94a4b5:v103");
 Wed, 25 Aug 2021 00:58:02 +0000
Received: from 1ad91c380ddd.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 753B09D6-264D-4BBB-84C2-EF0312256680.1; 
 Wed, 25 Aug 2021 00:57:55 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 1ad91c380ddd.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 25 Aug 2021 00:57:55 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DBBPR08MB6091.eurprd08.prod.outlook.com (2603:10a6:10:1f4::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Wed, 25 Aug
 2021 00:57:48 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.024; Wed, 25 Aug 2021
 00: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: 4744a471-8ba0-4e1e-9c41-095be3b118a8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lIqq4yEPMX26m7Mci8vNfighAE3Jc/IuTMLJDUSRzxE=;
 b=vm54xi09cFyArT1SSUiQA/5BSnniKmyaGYcGFezpTuX36CwU08OmrQlimTvqwkVwGOyWpe6yJ3P6aXkog582rpJw4mLIL/57yqjuBSAGHpapZudRmV3S6UcBy86mL5gEMIHw7T7t67FJLCMVDFjo18R5DpmBIL0Pz60qXzdP2No=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OU2SRDcR5vRE+yJ7fnNk5x4UMarGzZuN+Hy29/+EcfdLOHwnMAjEb2/RLcrvn8aX1FwZZRAhcYnykY7TZZigCeDylaHJcMOp8KU/zjL72vsUq/tnWmlP2TCt1vSrQmSLyG5ulrGC7Ww7shW3IMLv5Fquh6aDODRfykB9FFaQQkY6y8NCXpnWFefhJSHwnLIhFrpk43QFgKEmMqkJuN8fDfHM2/Pa6JJno6MDqN/utCXoPzwnsoQMwUG0d009YXStwNKZzlCZOe1JHuUyaxbqrd9r4Yaq5ECOlBjqFdR9w2kFMHQuXmEnyLbLhYjdEuQP9JxTRGhYoQ29fFGBwYDckQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lIqq4yEPMX26m7Mci8vNfighAE3Jc/IuTMLJDUSRzxE=;
 b=KVfXFSyMdsXRSsXtLfwAyYsa9G+wsY/72TvEr7Y46UQW3/Je4vPh6mRe8DdjllH0p7OzV74yEYi4519F87H9UR7ooBbO2YJCmIHg68bNYQjvrORps20hdu5bpPwiixFcKRaRiHbkfSUfmO+hWtgVyCWEItBAbEVcZJp8EACT0KX7eyh+UFXE+IhTvbmV2QLy+yYDD7T7UDg/HYof57ZykORY+Yy2xNsXnz18RXgwx0OdKMnlozAYXtOSTiAuln78JjXfhYMh5ZHx4hN/SQCMs1TnyBhYQtWPsGuWuuDOf6nPPj/gtGEo+FPs+P3Q2XvH2CK+IcE2YgYRvHS3tYDFJw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lIqq4yEPMX26m7Mci8vNfighAE3Jc/IuTMLJDUSRzxE=;
 b=vm54xi09cFyArT1SSUiQA/5BSnniKmyaGYcGFezpTuX36CwU08OmrQlimTvqwkVwGOyWpe6yJ3P6aXkog582rpJw4mLIL/57yqjuBSAGHpapZudRmV3S6UcBy86mL5gEMIHw7T7t67FJLCMVDFjo18R5DpmBIL0Pz60qXzdP2No=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 11/40] xen/x86: Move NUMA nodes and memory block
 ranges to common
Thread-Topic: [XEN RFC PATCH 11/40] xen/x86: Move NUMA nodes and memory block
 ranges to common
Thread-Index: AQHXjps8s5lstNyuz0u+0iYcW58qA6uDARgAgABxTaA=
Date: Wed, 25 Aug 2021 00:57:48 +0000
Message-ID:
 <DB9PR08MB6857463C544A723EA424E5F19EC69@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-12-wei.chen@arm.com>
 <c16632f9-2610-f266-8581-32b5a4bb7603@xen.org>
In-Reply-To: <c16632f9-2610-f266-8581-32b5a4bb7603@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 8839BB0D67B4C8468DFECB5D8363D910.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 3edb6856-8a59-47fb-fd87-08d967636445
x-ms-traffictypediagnostic: DBBPR08MB6091:|AM6PR08MB5220:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM6PR08MB52201487A1B7EB54EAA65EEA9EC69@AM6PR08MB5220.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:2089;OLM:2089;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 LqB8kqoJjmJF02NhzsujqhQ3wV/RZ5A5sjKU6mW3Gvki936Hn82j+AchGK9r0VhpKx9fPizFyBZYggK9fr8kK745PjG+Aq1XEMeIkCXjlMdQSyaNkADYdyib9d+FSgxXqNPUfkoHnmC2SdWyt3G3Ils34hoA9KLVvBf11b17OD8zJDzviiswtLDR6T7Z4hcayIG7KLbXS5hMECrCFrbRA0cMU9PYvQkZMeCzHVMjA+jON4OrLQwx89GuoOzbyDIwfnd0/GxDbtTB5qr1SLvhwp3ZB+sY61fE5evRvFLmUFLlkHiUZ9BYOouEGXOFV73WDks+zTe1lsLSbxDqzBW+mlVrP8oxJHgSBbrhQpO0+GppJ/DuJlCfw7b7YOyIdoyeV9NRm4RQtqBS9du7r+NaBFcQdnR2HE7GWZtxn1+09ZOUyKyV+vWI8F7q2JfwoctBAjrXvJzuG1a549ikEHw1n0iDyhWkdPZb7YLRGdTzoBqNvrmW/Ickdy4FAoO+X20hF2ub+q6+W5P666Y2ePBJlw7qb1YnY8C/EATsNBg707l7fTi5y4bu6YX/z8B8UrYigtToJcR0EGrkWl89pphZub1vVgs0sIYhw5zpBa5CsNpiQWUqunX4DjxmIcuuZR3qUko8c/uynkHewmbPQzEdBUO2lFLc5DkRpdWU+whDWCs7bcB5HsiU9e6r71m9iwe+tdDPbnpsOpHIVPu4Ylfp0wZHB4klPCXSTTrjiemap/iPefbfvX8hUOx8sm5TZb65rTo6RheSLscVCaDwHu7ARtIdHFMp/6I4U7JgYAYyJi0=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(376002)(39850400004)(136003)(346002)(396003)(7696005)(83380400001)(316002)(186003)(110136005)(86362001)(8676002)(52536014)(53546011)(33656002)(6506007)(55016002)(9686003)(26005)(38100700002)(122000001)(38070700005)(966005)(71200400001)(66556008)(66476007)(478600001)(64756008)(5660300002)(66446008)(8936002)(66946007)(2906002)(76116006)(4326008);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?bW9qQjNNbVBWZ0NaK0hqNlVWSHB3N2piNXBhOVRqajZ4eFdwcDc4Q3hRcnJu?=
 =?utf-8?B?QlNFNnZIMm5LYStGZzZwbzFiQWlYYzduVVNBa2c0MS9ZREEzbGQzV3lPT0Fa?=
 =?utf-8?B?QWxtQXZPTE1ycmVtd2pmZS9QZC9NeWFDU3Erbm41YTFmVWdYWUFUUGNRVWxz?=
 =?utf-8?B?Zmk1T1U2S1BIUVdFdVhuOUVpcTFJZlB4Y3FCWWhVUDJER25ycCt4TzA3bVpa?=
 =?utf-8?B?L2JTMCtSR2NHaVdzR2ZuZHpSbDZ0L2R6YzFRQ2szMCtKckpkeG52OCsyTWM5?=
 =?utf-8?B?ajdwT0loTjdpN1dYbUwrOU9YUDYrellSTXhFcUNUblU5a2huclhGK2FBN2ps?=
 =?utf-8?B?VFdERUVzMFJZYWpuT3lldm1XdTdXWGdJbjQ5ZElyejBQWnluSFR1MWl3MzV5?=
 =?utf-8?B?T3haZ3JHN3hhZE5ldHJJd1pTZkI5UDQybTAxWE5uVkE5dVNiVWI1eDBYNDFn?=
 =?utf-8?B?eFZNNkllbjcrTHZTSUJJRjU0QlMvQUtDQkdHRFZRRFEwRERxdXpjU3NaS2FD?=
 =?utf-8?B?NlRuRWNXNmxQZkZHbTgydlV5dk5oc0U5OGoxSXQ1SmZ2T2xYa1l1VWhSVnh5?=
 =?utf-8?B?VElkTEhMSDBjVE1NQ3YvNFdRRGhHTmsvTUttUEJKUGFzVHB5dGk0K2Zza1FE?=
 =?utf-8?B?MW1vWG5yTzMxaVBuZlhNQi92dFp0ZVAzTnhMWXFrRFlxb1FyZnhpRXZZVG5u?=
 =?utf-8?B?cGcwNjNKN2xhRG5lNHBRcDkvQXVUaGJlQmllc2VHMzUyanJZM2V0TDVVWDg4?=
 =?utf-8?B?NVVLMnk5Z216c1g1VU5qN3d2dG9NL1RzMVhrbDB5VENFTUR5YUJUS0o0T2Qy?=
 =?utf-8?B?ZjRPMkJXaXZjbDNrVS9NTDd4ZUphTE5DQ3VMZXJML3NHMGZOWkZPWTN1N3kx?=
 =?utf-8?B?K1Zzd0UrKytjTVJPZWZoajFuQzc3ZFdvRjErSVZHTUVNUmcwTG5ieDZKRzVE?=
 =?utf-8?B?dWpmU0ljZ3Z5aENreWNONE9QeVpRY2t3bHVLNGtwVkZTOEMzaG15S29sdi9G?=
 =?utf-8?B?YzZ3U2IybjVEc1JGYUxKK1g5QTFiVEgvTk9STmN4ZTQxTmw3QUxIK0MxYktQ?=
 =?utf-8?B?bzJ5aVVWQlZrRnY4RG8zK1cxSEtIUkN6dTliRjMyL0RmQ1pBQU8xS1R3dUt4?=
 =?utf-8?B?REIzOEZBUkhJVXBDbU1CV1IvTHZacUovSXVqVmR4RHMxYk1iZFpFeU9Bb08x?=
 =?utf-8?B?ZFZmOTRmYmRhdDV1UjJhWXlodzRBUTNiODVUSlFiVXB4OHVCV1ZmRXdrWGdU?=
 =?utf-8?B?TUdYY1FPKzRWVEVEakNKa1ZmUEM2c2xIcXhQNmVXZUFCSEJ1dVJlUXRqMC9a?=
 =?utf-8?B?RFdnSS9zNUY4T0FOZzJFenpuNmJhdE1yeHJkTXZKOVlqSGg5U0thaUNKZk9P?=
 =?utf-8?B?MmN2RkNJbnZzbjI0UFVRL3JWZ3k0WVl6SXcxcDRaMEJwU2xFRm5XMzNKWkxZ?=
 =?utf-8?B?NnpyVkgyQTFnOHJpdW1CNU8vSlpOWkpXbkdTU3lTaVhzeUxqajRsV1dzQjN1?=
 =?utf-8?B?VEhsY2RVMy9QQUh4VE83NTVQaFpKTVhhblBhZnNuNGFJUm5EN2hQd3Q5Qlpn?=
 =?utf-8?B?NllObkZTb2pQK2pDeDd6K3pZaFh5LzhHSjVzV3FIMGNJYzMxT2VLK3NJWXJr?=
 =?utf-8?B?S0pLS0Y5aWJBdEhhU1NxSm5GdklKUTJZbDM4YUZ2QkRUV2J6b2lMa0Z4cEli?=
 =?utf-8?B?Sk5ZaGNPR1VDYVlJd1ZHOElZZG9yVGVsR3pEd0czNHdqN3NEcmMxbm42d21O?=
 =?utf-8?Q?YniyLSiAYZDKXC5hqe05Eo4JjOscxLCqS+eL8Yi?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB6091
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT021.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	8887271c-0937-4c5f-57a3-08d967635bbf
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PCb6NqBHfN7ojWUKfd07/mRioWpyz88WAGwjqln3yob+9BiD085N9YUI9VfHSIGUmolQz2E/3J3eU5Up0zY8nmjp03me0Nsp7oyuom7/X5bLpVS2PpGFwm+JRcbBHEmMrCehXIDZ3bRcg0NkXKpFiW6mJADN4OMU4KEzqO5BnXTWgjiWzZLLStmXoo1bB/UV7P1Gfa+oesK/XSmAVKM2SuvYNtj44rEJFqABql3HjENwCsSVvJKDlan9dRtmhv/oSh1nXzl48KwwRxxQiqudJPyNgRVhR5t8PVgB9vQRQbXhBFZHbPe5bFlgbnQOacZGjtPhR2AQHJ1oA9SaeHYjN46JKWDKtWTk3qY7Si2v5l3qkNEC0+KJCfdrrf5nL9rTth4ojxpw1oASeWzwCd8Qx+i4WH1y30FsQD5QhXYzlpD7Gw+jxxH9FnXwolFpjkg/z/fEd5CrPf7MTCFPCmZKpZDnO579VI9mjMZa3CJbSv4YJsZL8W+3UTuuWvdQQxMte3g6ZFjFR8gssnmb2NqjLar525LRm9VRgCDXE6l7/mMHqH4yeoiFXlPs0vN+XCDzLAZPouFQn1pA3hde/mzERTdPAaZXWbctWxg8c4q8+xaE3BhrAT4nhZweuGLovhjEcoCl+1jaeNI2hYs71heRll50hNxxbOxeebT/JA8WG9cs/09S7hjeBQtaiSO2WryL9Rh2l4KpU4LsXNInl3lfVOK+MvAsD/vU5GuB/MQZjq+ORCevHNXqSWor52pelmsF9zFRM6Hel4X7/zgVAB9N7Q2M1n9i4QTMqc+UHdDNDGw=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(36840700001)(46966006)(8936002)(6506007)(8676002)(9686003)(52536014)(508600001)(86362001)(966005)(83380400001)(70586007)(5660300002)(53546011)(82310400003)(70206006)(81166007)(316002)(356005)(186003)(7696005)(36860700001)(110136005)(47076005)(336012)(4326008)(33656002)(26005)(2906002)(55016002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2021 00:58:03.0607
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3edb6856-8a59-47fb-fd87-08d967636445
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT021.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB5220

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMjXml6UgMTo0MQ0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+OyB4ZW4tZGV2ZWxAbGlzdHMueGVucHJv
amVjdC5vcmc7DQo+IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc7IGpiZXVsaWNoQHN1c2UuY29tDQo+
IENjOiBCZXJ0cmFuZCBNYXJxdWlzIDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+DQo+IFN1Ympl
Y3Q6IFJlOiBbWEVOIFJGQyBQQVRDSCAxMS80MF0geGVuL3g4NjogTW92ZSBOVU1BIG5vZGVzIGFu
ZCBtZW1vcnkNCj4gYmxvY2sgcmFuZ2VzIHRvIGNvbW1vbg0KPiANCj4gSGkgV2VpLA0KPiANCj4g
T24gMTEvMDgvMjAyMSAxMToyMywgV2VpIENoZW4gd3JvdGU6DQo+ID4gVGhlc2UgZGF0YSBzdHJ1
Y3R1cmVzIGFuZCBmdW5jdGlvbnMgYXJlIHVzZWQgdG8gY3JlYXRlIHRoZQ0KPiA+IG1hcHBpbmcg
YmV0d2VlbiBub2RlIGFuZCBtZW1vcnkgYmxvY2tzLiBJbiBkZXZpY2UgdHJlZSBiYXNlZA0KPiA+
IE5VTUEsIHdlIHdpbGwgcmV1c2UgdGhlc2UgZGF0YSBzdHJ1Y3R1cmVzIGFuZCBmdW5jdGlvbnMs
IHNvDQo+ID4gd2UgbW92ZSB0aGlzIHBhcnQgb2YgY29kZSBmcm9tIHg4NiB0byBjb21tb24uDQo+
ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBXZWkgQ2hlbiA8d2VpLmNoZW5AYXJtLmNvbT4NCj4gPiAt
LS0NCj4gPiAgIHhlbi9hcmNoL3g4Ni9zcmF0LmMgICAgICAgIHwgNTAgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ICAgeGVuL2NvbW1vbi9udW1hLmMgICAgICAgICAg
fCA1MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiA+ICAgeGVuL2lu
Y2x1ZGUvYXNtLXg4Ni9udW1hLmggfCAgOCAtLS0tLS0NCj4gPiAgIHhlbi9pbmNsdWRlL3hlbi9u
dW1hLmggICAgIHwgMTUgKysrKysrKysrKysNCj4gPiAgIDQgZmlsZXMgY2hhbmdlZCwgNjYgaW5z
ZXJ0aW9ucygrKSwgNTggZGVsZXRpb25zKC0pDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEveGVuL2Fy
Y2gveDg2L3NyYXQuYyBiL3hlbi9hcmNoL3g4Ni9zcmF0LmMNCj4gPiBpbmRleCA2Yjc3Yjk4MjAx
Li42ZDY4YjhhNjE0IDEwMDY0NA0KPiA+IC0tLSBhL3hlbi9hcmNoL3g4Ni9zcmF0LmMNCj4gPiAr
KysgYi94ZW4vYXJjaC94ODYvc3JhdC5jDQo+ID4gQEAgLTI2LDcgKzI2LDYgQEAgc3RhdGljIHN0
cnVjdCBhY3BpX3RhYmxlX3NsaXQgKl9fcmVhZF9tb3N0bHkgYWNwaV9zbGl0Ow0KPiA+DQo+ID4g
ICBzdGF0aWMgbm9kZW1hc2tfdCBtZW1vcnlfbm9kZXNfcGFyc2VkIF9faW5pdGRhdGE7DQo+ID4g
ICBzdGF0aWMgbm9kZW1hc2tfdCBwcm9jZXNzb3Jfbm9kZXNfcGFyc2VkIF9faW5pdGRhdGE7DQo+
ID4gLXN0YXRpYyBzdHJ1Y3Qgbm9kZSBub2Rlc1tNQVhfTlVNTk9ERVNdIF9faW5pdGRhdGE7DQo+
ID4NCj4gPiAgIHN0cnVjdCBweG0ybm9kZSB7DQo+ID4gICAJdW5zaWduZWQgcHhtOw0KPiA+IEBA
IC0zNyw5ICszNiw2IEBAIHN0YXRpYyBzdHJ1Y3QgcHhtMm5vZGUgX19yZWFkX21vc3RseQ0KPiBw
eG0ybm9kZVtNQVhfTlVNTk9ERVNdID0NCj4gPg0KPiA+ICAgc3RhdGljIHVuc2lnbmVkIG5vZGVf
dG9fcHhtKG5vZGVpZF90IG4pOw0KPiA+DQo+ID4gLXN0YXRpYyBpbnQgbnVtX25vZGVfbWVtYmxr
czsNCj4gPiAtc3RhdGljIHN0cnVjdCBub2RlIG5vZGVfbWVtYmxrX3JhbmdlW05SX05PREVfTUVN
QkxLU107DQo+ID4gLXN0YXRpYyBub2RlaWRfdCBtZW1ibGtfbm9kZWlkW05SX05PREVfTUVNQkxL
U107DQo+ID4gICBzdGF0aWMgX19pbml0ZGF0YSBERUNMQVJFX0JJVE1BUChtZW1ibGtfaG90cGx1
ZywgTlJfTk9ERV9NRU1CTEtTKTsNCj4gPg0KPiA+ICAgc3RhdGljIGlubGluZSBib29sIG5vZGVf
Zm91bmQodW5zaWduZWQgaWR4LCB1bnNpZ25lZCBweG0pDQo+ID4gQEAgLTEwNCw1MiArMTAwLDYg
QEAgbm9kZWlkX3Qgc2V0dXBfbm9kZSh1bnNpZ25lZCBweG0pDQo+ID4gICAJcmV0dXJuIG5vZGU7
DQo+ID4gICB9DQo+ID4NCj4gPiAtaW50IHZhbGlkX251bWFfcmFuZ2UodTY0IHN0YXJ0LCB1NjQg
ZW5kLCBub2RlaWRfdCBub2RlKQ0KPiA+IC17DQo+ID4gLQlpbnQgaTsNCj4gPiAtDQo+ID4gLQlm
b3IgKGkgPSAwOyBpIDwgbnVtX25vZGVfbWVtYmxrczsgaSsrKSB7DQo+ID4gLQkJc3RydWN0IG5v
ZGUgKm5kID0gJm5vZGVfbWVtYmxrX3JhbmdlW2ldOw0KPiA+IC0NCj4gPiAtCQlpZiAobmQtPnN0
YXJ0IDw9IHN0YXJ0ICYmIG5kLT5lbmQgPj0gZW5kICYmDQo+ID4gLQkJCW1lbWJsa19ub2RlaWRb
aV0gPT0gbm9kZSkNCj4gPiAtCQkJcmV0dXJuIDE7DQo+ID4gLQl9DQo+ID4gLQ0KPiA+IC0JcmV0
dXJuIDA7DQo+ID4gLX0NCj4gPiAtDQo+ID4gLXN0YXRpYyBfX2luaXQgaW50IGNvbmZsaWN0aW5n
X21lbWJsa3ModTY0IHN0YXJ0LCB1NjQgZW5kKQ0KPiA+IC17DQo+ID4gLQlpbnQgaTsNCj4gPiAt
DQo+ID4gLQlmb3IgKGkgPSAwOyBpIDwgbnVtX25vZGVfbWVtYmxrczsgaSsrKSB7DQo+ID4gLQkJ
c3RydWN0IG5vZGUgKm5kID0gJm5vZGVfbWVtYmxrX3JhbmdlW2ldOw0KPiA+IC0JCWlmIChuZC0+
c3RhcnQgPT0gbmQtPmVuZCkNCj4gPiAtCQkJY29udGludWU7DQo+ID4gLQkJaWYgKG5kLT5lbmQg
PiBzdGFydCAmJiBuZC0+c3RhcnQgPCBlbmQpDQo+ID4gLQkJCXJldHVybiBpOw0KPiA+IC0JCWlm
IChuZC0+ZW5kID09IGVuZCAmJiBuZC0+c3RhcnQgPT0gc3RhcnQpDQo+ID4gLQkJCXJldHVybiBp
Ow0KPiA+IC0JfQ0KPiA+IC0JcmV0dXJuIC0xOw0KPiA+IC19DQo+ID4gLQ0KPiA+IC1zdGF0aWMg
X19pbml0IHZvaWQgY3V0b2ZmX25vZGUoaW50IGksIHU2NCBzdGFydCwgdTY0IGVuZCkNCj4gPiAt
ew0KPiA+IC0Jc3RydWN0IG5vZGUgKm5kID0gJm5vZGVzW2ldOw0KPiA+IC0JaWYgKG5kLT5zdGFy
dCA8IHN0YXJ0KSB7DQo+ID4gLQkJbmQtPnN0YXJ0ID0gc3RhcnQ7DQo+ID4gLQkJaWYgKG5kLT5l
bmQgPCBuZC0+c3RhcnQpDQo+ID4gLQkJCW5kLT5zdGFydCA9IG5kLT5lbmQ7DQo+ID4gLQl9DQo+
ID4gLQlpZiAobmQtPmVuZCA+IGVuZCkgew0KPiA+IC0JCW5kLT5lbmQgPSBlbmQ7DQo+ID4gLQkJ
aWYgKG5kLT5zdGFydCA+IG5kLT5lbmQpDQo+ID4gLQkJCW5kLT5zdGFydCA9IG5kLT5lbmQ7DQo+
ID4gLQl9DQo+ID4gLX0NCj4gPiAtDQo+ID4gICBzdGF0aWMgX19pbml0IHZvaWQgYmFkX3NyYXQo
dm9pZCkNCj4gPiAgIHsNCj4gPiAgIAlpbnQgaTsNCj4gPiBkaWZmIC0tZ2l0IGEveGVuL2NvbW1v
bi9udW1hLmMgYi94ZW4vY29tbW9uL251bWEuYw0KPiA+IGluZGV4IDliNmYyM2RmYzEuLjFmYWNj
OGZlMmIgMTAwNjQ0DQo+ID4gLS0tIGEveGVuL2NvbW1vbi9udW1hLmMNCj4gPiArKysgYi94ZW4v
Y29tbW9uL251bWEuYw0KPiA+IEBAIC0yOSw2ICsyOSwxMSBAQCBub2RlaWRfdCBjcHVfdG9fbm9k
ZVtOUl9DUFVTXSBfX3JlYWRfbW9zdGx5ID0gew0KPiA+DQo+ID4gICBjcHVtYXNrX3Qgbm9kZV90
b19jcHVtYXNrW01BWF9OVU1OT0RFU10gX19yZWFkX21vc3RseTsNCj4gPg0KPiA+ICtzdHJ1Y3Qg
bm9kZSBub2Rlc1tNQVhfTlVNTk9ERVNdIF9faW5pdGRhdGE7DQo+ID4gK2ludCBudW1fbm9kZV9t
ZW1ibGtzOw0KPiA+ICtzdHJ1Y3Qgbm9kZSBub2RlX21lbWJsa19yYW5nZVtOUl9OT0RFX01FTUJM
S1NdOw0KPiA+ICtub2RlaWRfdCBtZW1ibGtfbm9kZWlkW05SX05PREVfTUVNQkxLU107DQo+ID4g
Kw0KPiA+ICAgLyoNCj4gPiAgICAqIEdpdmVuIGEgc2hpZnQgdmFsdWUsIHRyeSB0byBwb3B1bGF0
ZSBtZW1ub2RlbWFwW10NCj4gPiAgICAqIFJldHVybnMgOg0KPiA+IEBAIC0xMzYsNiArMTQxLDUy
IEBAIGludCBfX2luaXQgY29tcHV0ZV9oYXNoX3NoaWZ0KHN0cnVjdCBub2RlICpub2RlcywNCj4g
aW50IG51bW5vZGVzLA0KPiA+ICAgICAgIHJldHVybiBzaGlmdDsNCj4gPiAgIH0NCj4gPg0KPiA+
ICtpbnQgdmFsaWRfbnVtYV9yYW5nZSh1NjQgc3RhcnQsIHU2NCBlbmQsIG5vZGVpZF90IG5vZGUp
DQo+ID4gK3sNCj4gPiArCWludCBpOw0KPiA+ICsNCj4gPiArCWZvciAoaSA9IDA7IGkgPCBudW1f
bm9kZV9tZW1ibGtzOyBpKyspIHsNCj4gPiArCQlzdHJ1Y3Qgbm9kZSAqbmQgPSAmbm9kZV9tZW1i
bGtfcmFuZ2VbaV07DQo+ID4gKw0KPiA+ICsJCWlmIChuZC0+c3RhcnQgPD0gc3RhcnQgJiYgbmQt
PmVuZCA+PSBlbmQgJiYNCj4gPiArCQkJbWVtYmxrX25vZGVpZFtpXSA9PSBub2RlKQ0KPiA+ICsJ
CQlyZXR1cm4gMTsNCj4gPiArCX0NCj4gPiArDQo+ID4gKwlyZXR1cm4gMDsNCj4gPiArfQ0KPiA+
ICsNCj4gPiAraW50IF9faW5pdCBjb25mbGljdGluZ19tZW1ibGtzKHU2NCBzdGFydCwgdTY0IGVu
ZCkNCj4gPiArew0KPiA+ICsJaW50IGk7DQo+ID4gKw0KPiA+ICsJZm9yIChpID0gMDsgaSA8IG51
bV9ub2RlX21lbWJsa3M7IGkrKykgew0KPiA+ICsJCXN0cnVjdCBub2RlICpuZCA9ICZub2RlX21l
bWJsa19yYW5nZVtpXTsNCj4gPiArCQlpZiAobmQtPnN0YXJ0ID09IG5kLT5lbmQpDQo+ID4gKwkJ
CWNvbnRpbnVlOw0KPiA+ICsJCWlmIChuZC0+ZW5kID4gc3RhcnQgJiYgbmQtPnN0YXJ0IDwgZW5k
KQ0KPiA+ICsJCQlyZXR1cm4gaTsNCj4gPiArCQlpZiAobmQtPmVuZCA9PSBlbmQgJiYgbmQtPnN0
YXJ0ID09IHN0YXJ0KQ0KPiA+ICsJCQlyZXR1cm4gaTsNCj4gPiArCX0NCj4gPiArCXJldHVybiAt
MTsNCj4gPiArfQ0KPiA+ICsNCj4gPiArdm9pZCBfX2luaXQgY3V0b2ZmX25vZGUoaW50IGksIHU2
NCBzdGFydCwgdTY0IGVuZCkNCj4gPiArew0KPiA+ICsJc3RydWN0IG5vZGUgKm5kID0gJm5vZGVz
W2ldOw0KPiA+ICsJaWYgKG5kLT5zdGFydCA8IHN0YXJ0KSB7DQo+ID4gKwkJbmQtPnN0YXJ0ID0g
c3RhcnQ7DQo+ID4gKwkJaWYgKG5kLT5lbmQgPCBuZC0+c3RhcnQpDQo+ID4gKwkJCW5kLT5zdGFy
dCA9IG5kLT5lbmQ7DQo+ID4gKwl9DQo+ID4gKwlpZiAobmQtPmVuZCA+IGVuZCkgew0KPiA+ICsJ
CW5kLT5lbmQgPSBlbmQ7DQo+ID4gKwkJaWYgKG5kLT5zdGFydCA+IG5kLT5lbmQpDQo+ID4gKwkJ
CW5kLT5zdGFydCA9IG5kLT5lbmQ7DQo+ID4gKwl9DQo+ID4gK30NCj4gPiArDQo+ID4gICB2b2lk
IG51bWFfYWRkX2NwdShpbnQgY3B1KQ0KPiA+ICAgew0KPiA+ICAgICAgIGNwdW1hc2tfc2V0X2Nw
dShjcHUsICZub2RlX3RvX2NwdW1hc2tbY3B1X3RvX25vZGUoY3B1KV0pOw0KPiA+IGRpZmYgLS1n
aXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L251bWEuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvbnVt
YS5oDQo+ID4gaW5kZXggMDdmZjc4ZWExYi4uZThhOTJhZDlkZiAxMDA2NDQNCj4gPiAtLS0gYS94
ZW4vaW5jbHVkZS9hc20teDg2L251bWEuaA0KPiA+ICsrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYv
bnVtYS5oDQo+ID4gQEAgLTE3LDEyICsxNyw2IEBAIGV4dGVybiBjcHVtYXNrX3QgICAgIG5vZGVf
dG9fY3B1bWFza1tdOw0KPiA+ICAgI2RlZmluZSBub2RlX3RvX2ZpcnN0X2NwdShub2RlKSAgKF9f
ZmZzKG5vZGVfdG9fY3B1bWFza1tub2RlXSkpDQo+ID4gICAjZGVmaW5lIG5vZGVfdG9fY3B1bWFz
ayhub2RlKSAgICAobm9kZV90b19jcHVtYXNrW25vZGVdKQ0KPiA+DQo+ID4gLXN0cnVjdCBub2Rl
IHsNCj4gPiAtCXU2NCBzdGFydCxlbmQ7DQo+ID4gLX07DQo+ID4gLQ0KPiA+IC1leHRlcm4gaW50
IGNvbXB1dGVfaGFzaF9zaGlmdChzdHJ1Y3Qgbm9kZSAqbm9kZXMsIGludCBudW1ub2RlcywNCj4g
PiAtCQkJICAgICAgbm9kZWlkX3QgKm5vZGVpZHMpOw0KPiA+ICAgZXh0ZXJuIG5vZGVpZF90IHB4
bV90b19ub2RlKHVuc2lnbmVkIGludCBweG0pOw0KPiA+DQo+ID4gICAjZGVmaW5lIFpPTkVfQUxJ
R04gKDFVTCA8PCAoTUFYX09SREVSK1BBR0VfU0hJRlQpKQ0KPiA+IEBAIC00NSw4ICszOSw2IEBA
IHN0YXRpYyBpbmxpbmUgdm9pZCBjbGVhcl9ub2RlX2NwdW1hc2soaW50IGNwdSkNCj4gPiAgIAlj
cHVtYXNrX2NsZWFyX2NwdShjcHUsICZub2RlX3RvX2NwdW1hc2tbY3B1X3RvX25vZGUoY3B1KV0p
Ow0KPiA+ICAgfQ0KPiA+DQo+ID4gLWV4dGVybiBpbnQgdmFsaWRfbnVtYV9yYW5nZSh1NjQgc3Rh
cnQsIHU2NCBlbmQsIG5vZGVpZF90IG5vZGUpOw0KPiA+IC0NCj4gPiAgIHZvaWQgc3JhdF9wYXJz
ZV9yZWdpb25zKHU2NCBhZGRyKTsNCj4gPiAgIGV4dGVybiB1OCBfX25vZGVfZGlzdGFuY2Uobm9k
ZWlkX3QgYSwgbm9kZWlkX3QgYik7DQo+ID4gICB1bnNpZ25lZCBpbnQgYXJjaF9nZXRfZG1hX2Jp
dHNpemUodm9pZCk7DQo+ID4gZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9udW1hLmggYi94
ZW4vaW5jbHVkZS94ZW4vbnVtYS5oDQo+ID4gaW5kZXggNWFmNzRiMzU3Zi4uNjdiNzlhNzNhMyAx
MDA2NDQNCj4gPiAtLS0gYS94ZW4vaW5jbHVkZS94ZW4vbnVtYS5oDQo+ID4gKysrIGIveGVuL2lu
Y2x1ZGUveGVuL251bWEuaA0KPiA+IEBAIC01NCw2ICs1NCwyMSBAQCBzdGF0aWMgaW5saW5lIF9f
YXR0cmlidXRlX18oKHB1cmUpKSBub2RlaWRfdA0KPiBwaHlzX3RvX25pZChwYWRkcl90IGFkZHIp
DQo+ID4NCj4gPiAgIGV4dGVybiB2b2lkIG51bWFfYWRkX2NwdShpbnQgY3B1KTsNCj4gPg0KPiA+
ICtzdHJ1Y3Qgbm9kZSB7DQo+ID4gKwl1NjQgc3RhcnQsZW5kOw0KPiA+ICt9Ow0KPiA+ICsNCj4g
PiArZXh0ZXJuIHN0cnVjdCBub2RlIG5vZGVzW01BWF9OVU1OT0RFU107DQo+ID4gK2V4dGVybiBp
bnQgbnVtX25vZGVfbWVtYmxrczsNCj4gPiArZXh0ZXJuIHN0cnVjdCBub2RlIG5vZGVfbWVtYmxr
X3JhbmdlW05SX05PREVfTUVNQkxLU107DQo+ID4gK2V4dGVybiBub2RlaWRfdCBtZW1ibGtfbm9k
ZWlkW05SX05PREVfTUVNQkxLU107DQo+IA0KPiBJIGFtIG5vdCBvdmVybHkgaGFwcHkgdGhhdCB0
aGUgNCBhcmlhYmxlcyBhYm92ZSBhcmUgbm93IGV4cG9ydGVkLg0KPiBMb29raW5nIGF0IHRoZSBj
b2RlLCB0aGV5IGFyZSAob25seT8pIHVzZWQgaW4gYXJjaCBzcGVjaWZpYyBjb2RlIGZvcg0KPiBh
Y3BpX251bWFfbWVtb3J5X2FmZmluaXR5X2luaXQoKSBhbmQgZHRiX251bWFfbWVtb3J5X2FmZmlu
aXR5X2luaXQoKS4NCj4gDQo+IFRoZXJlIGJpdHMgdG91Y2hpbmcgdGhlIHZhcmlhYmxlcyBsb29r
cyBxdWl0ZSBzaW1pbGFyIGJldHdlZW4gdGhlIHR3bw0KPiBmdW5jdGlvbnMuIFRoZSBtYWluIGRp
ZmZlcmVuY2VzIHNlZW1zIHRvIGJlIHRoZSBtZXNzYWdlcyBpbiBwcmludGsoKSBhbmQNCj4gdGhl
IGhvdHBsdWcgYml0cy4NCj4gDQo+IFNvIEkgdGhpbmsgd2Ugc2hvdWxkIGF0dGVtcHQgdG8gYWJz
dHJhY3QgdGhlIGNvZGUuIElJUkMsIHdlIGRpc2N1c3NlZA0KPiBzb21lIG9mIHRoZSB3YXkgdG8g
YWJzdHJhY3Qgd2hlbiBWaWpheSBLaWxhcmkgYXR0ZW1wdGVkIHRvIGFkZCBzdXBwb3J0DQo+IGZv
ciBOVU1BIChzZWUgWzFdKS4gSXQgbWlnaHQgYmUgd29ydGggdG8gaGF2ZSBhIGxvb2sgYW5kIHNl
ZSBpZiB5b3UgY2FuDQo+IHJlLXVzZSBzb21lIG9mIHRoZSBpZGVhcy4NCg0KT2ssIEkgd2lsbCBs
b29rIGF0IHRoYXQgdGhyZWFkLiBJZiBpdCdzIHVzZWZ1bCwgSSB3aWxsIGRvIGl0IGluIG5leHQN
CnZlcnNpb24uDQoNCj4gDQo+ID4gKw0KPiA+ICtleHRlcm4gaW50IGNvbXB1dGVfaGFzaF9zaGlm
dChzdHJ1Y3Qgbm9kZSAqbm9kZXMsIGludCBudW1ub2RlcywNCj4gPiArCQkJICAgICAgbm9kZWlk
X3QgKm5vZGVpZHMpOw0KPiA+ICtleHRlcm4gaW50IGNvbmZsaWN0aW5nX21lbWJsa3ModTY0IHN0
YXJ0LCB1NjQgZW5kKTsNCj4gPiArZXh0ZXJuIHZvaWQgY3V0b2ZmX25vZGUoaW50IGksIHU2NCBz
dGFydCwgdTY0IGVuZCk7DQo+ID4gK2V4dGVybiBpbnQgdmFsaWRfbnVtYV9yYW5nZSh1NjQgc3Rh
cnQsIHU2NCBlbmQsIG5vZGVpZF90IG5vZGUpOw0KPiA+ICsNCj4gPiAgICNlbmRpZiAvKiBDT05G
SUdfTlVNQSAqLw0KPiA+DQo+ID4gICAjZW5kaWYgLyogX1hFTl9OVU1BX0ggKi8NCj4gPg0KPiAN
Cj4gWzFdDQo+IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3hlbi1kZXZlbC8xNTAwMzc4MTA2LTI2
MjAtMS1naXQtc2VuZC1lbWFpbC0NCj4gdmlqYXkua2lsYXJpQGdtYWlsLmNvbS8NCj4gDQo+IC0t
DQo+IEp1bGllbiBHcmFsbA0K


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 05:44:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 05:44:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171773.313448 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIliD-0002Ju-He; Wed, 25 Aug 2021 05:44:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171773.313448; Wed, 25 Aug 2021 05: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 1mIliD-0002Jn-Eh; Wed, 25 Aug 2021 05:44:33 +0000
Received: by outflank-mailman (input) for mailman id 171773;
 Wed, 25 Aug 2021 05:44:33 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5rb+=NQ=gmail.com=andr2000@srs-us1.protection.inumbo.net>)
 id 1mIliD-0002Jh-3c
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 05:44:33 +0000
Received: from mail-lf1-x130.google.com (unknown [2a00:1450:4864:20::130])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 709b37d4-75e5-42f2-8e65-fd2a5f395c6a;
 Wed, 25 Aug 2021 05:44:31 +0000 (UTC)
Received: by mail-lf1-x130.google.com with SMTP id x27so50449985lfu.5
 for <xen-devel@lists.xenproject.org>; Tue, 24 Aug 2021 22:44:31 -0700 (PDT)
Received: from [192.168.10.179] ([185.199.97.5])
 by smtp.gmail.com with ESMTPSA id e18sm1946493ljo.105.2021.08.24.22.44.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 24 Aug 2021 22:44: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: 709b37d4-75e5-42f2-8e65-fd2a5f395c6a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-transfer-encoding:content-language;
        bh=zUkB/JDpnFrSfPDFZpd6I6po66OqpBFd3TzDaAlqhaE=;
        b=hQo0Hxu0Q5pFABpyR2ZfqUhNRca29rteSGFHR3sN1xKbniVsH5DVuf5CcdpNGLu/PD
         EqyRl3SQD80vWAuYmzDyE6QDnUI85aUiYXHKzk6CqT4X+z0LcCNNpGN1M0NwZWI2JMN4
         uahJYz9qgRmGR73B2b/Rz7UnCU9GuC3OFBZ1mo7Ankr6VetckeK9h8MvMHe0b08ryWvc
         +cLHqGul8GVfnWVMTessjK39P6gTFNSRnKmQZO0o9esMBmIVjMEeXrmyRJGj1OwBJ010
         6fO3cIVSFwINfn8WK2Bm41VzdocUDY5jH6TFKppB0ufgUDDK/HYXGh1YoNiqbrUTvThe
         5DwQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-transfer-encoding
         :content-language;
        bh=zUkB/JDpnFrSfPDFZpd6I6po66OqpBFd3TzDaAlqhaE=;
        b=rn55dflck9nl6AanHBabDNiR3NfKHVDSusXwASlPFSGo/4cEoqzSI7HVHXvv0SqoIZ
         4daEqdR6A5AXgfmwb9tqlGC7lfAlKPdH70x13WItZ2SClgYMbP8kdX9nFGsNs2hmaM5V
         uJUMW/WfbNjxlNZ+5uanb0GEx0sZZ89YrFsyzUlZMzdirKJStAjMziNQVStjrmiejGT5
         /RbS/uVulLXWlcFsp6CPo3QM4AoQEprZksyAH+Gy10j6+Pdxj0hd3hw/bdiSx8jUHOfs
         EeHp3cVpIbhBYXQYuCyWQ8N0kLA9ZrfC22HqglU4k7/pphdBGudKmKH3FVsdadNOnfYl
         aPuQ==
X-Gm-Message-State: AOAM533zCT9sCQ3oZ/i7eL0urGPVil8JYGzOlceU5fQ0XCNkvU/Cts9J
	TU7aGBU7r+9Ss429Lp4jAVaSpMtVFlwfCQ==
X-Google-Smtp-Source: ABdhPJwcKXbOSqFVm1zjmbV3EJSgOJCYO9ED2QwEytWZ2GDbEpBnBm60ITC+2xtw2ZMBqKLCltQRFQ==
X-Received: by 2002:ac2:4c47:: with SMTP id o7mr18665821lfk.512.1629870270274;
        Tue, 24 Aug 2021 22:44:30 -0700 (PDT)
Subject: Re: [PATCH v1 11/14] xen/arm: Enable the existing x86 virtual PCI
 support for ARM.
To: Jan Beulich <jbeulich@suse.com>, Rahul Singh <rahul.singh@arm.com>
Cc: bertrand.marquis@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1629366665.git.rahul.singh@arm.com>
 <370f4f87c148eaee5ac5ec69346828e6473f0f2d.1629366665.git.rahul.singh@arm.com>
 <c4cd8072-e463-6c9b-ddb2-640108dd5d2a@suse.com>
From: Oleksandr Andrushchenko <andr2000@gmail.com>
Message-ID: <53a61aa7-499b-f21d-8f44-a4c24f270d45@gmail.com>
Date: Wed, 25 Aug 2021 08:44:25 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <c4cd8072-e463-6c9b-ddb2-640108dd5d2a@suse.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Content-Language: en-US

Hi, Jan!

On 24.08.21 19:09, Jan Beulich wrote:
> On 19.08.2021 14:02, Rahul Singh wrote:
>> --- a/xen/drivers/passthrough/pci.c
>> +++ b/xen/drivers/passthrough/pci.c
>> @@ -767,6 +767,13 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
>>       else
>>           iommu_enable_device(pdev);
>>   
>> +#ifdef CONFIG_ARM
>> +    ret = vpci_add_handlers(pdev);
>> +    if ( ret ) {
>> +        printk(XENLOG_ERR "setup of vPCI for failed: %d\n",ret);
>> +        goto out;
>> +    }
>> +#endif
>>       pci_enable_acs(pdev);
> I'm afraid I can't see why this is to be Arm-specific. The present
> placement of the existing call to vpci_add_handlers() looks to be
> sub-optimal anyway - did you look into whether it could be moved
> to a place (potentially right here) fitting everyone? If you did,
> would mind justifying the Arm-specific code in a non-Arm-specific
> file in at least a post-commit-message remark?
>
> If it were to remain like this, please add a blank line after the #endif.
>
>> --- a/xen/drivers/vpci/Makefile
>> +++ b/xen/drivers/vpci/Makefile
>> @@ -1 +1,2 @@
>> -obj-y += vpci.o header.o msi.o msix.o
>> +obj-y += vpci.o header.o
>> +obj-$(CONFIG_HAS_PCI_MSI) += msi.o msix.o
> I continue to consider this a wrong connection - HAS_PCI_MSI expresses
> (quoting text from patch 1 of this series) "code that implements MSI
> functionality to support MSI within XEN", while here we're talking of
> vPCI (i.e. guest support). I can accept that this is transiently the
> best you can do, but then please add a comment to this effect (if
> need be in multiple places), such that future readers or people
> wanting to further adjust this understand why it is the way it is.
>
> But perhaps you instead want to introduce a HAS_VPCI_MSI (or, less
> desirable because of possible ambiguity, HAS_VMSI) Kconfig option?

Eventually we'll have the code like that:

obj-y += vpci.o header.o msi.o msix.o
obj-$(CONFIG_X86) += x86/
obj-$(CONFIG_ARM) += arm/

So, this is indeed a transitional change. Will you be ok with a comment

about that then?

>
>> --- a/xen/drivers/vpci/header.c
>> +++ b/xen/drivers/vpci/header.c
>> @@ -96,8 +96,10 @@ static void modify_decoding(const struct pci_dev *pdev, uint16_t cmd,
>>        * FIXME: punching holes after the p2m has been set up might be racy for
>>        * DomU usage, needs to be revisited.
>>        */
>> +#ifdef CONFIG_HAS_PCI_MSI
>>       if ( map && !rom_only && vpci_make_msix_hole(pdev) )
>>           return;
>> +#endif
> (This would be another such place.)
>
>> --- a/xen/include/asm-arm/domain.h
>> +++ b/xen/include/asm-arm/domain.h
>> @@ -262,7 +262,10 @@ static inline void arch_vcpu_block(struct vcpu *v) {}
>>   
>>   #define arch_vm_assist_valid_mask(d) (1UL << VMASST_TYPE_runstate_update_flag)
>>   
>> -#define has_vpci(d)    ({ (void)(d); false; })
>> +/* For X86 VPCI is enabled and tested for PVH DOM0 only but
>> + * for ARM we enable support VPCI for guest domain also.
>> + */
> Comment style (/* goes on its own line).
>
>> +#define has_vpci(d) ({ (void)(d); IS_ENABLED(CONFIG_HAS_VPCI); })
> Personally I'd recommend to get away without using extensions whenever
> possible, i.e. use
>
> #define has_vpci(d) ((void)(d), IS_ENABLED(CONFIG_HAS_VPCI))
>
> here.
>
>> --- a/xen/include/asm-arm/pci.h
>> +++ b/xen/include/asm-arm/pci.h
>> @@ -27,6 +27,14 @@ struct arch_pci_dev {
>>       struct device dev;
>>   };
>>   
>> +/* Arch-specific MSI data for vPCI. */
>> +struct vpci_arch_msi {
>> +};
>> +
>> +/* Arch-specific MSI-X entry data for vPCI. */
>> +struct vpci_arch_msix_entry {
>> +};
> But isn't it that you don't support vPCI's MSI in the first place?
> Perhaps the need for these would go away with CONFIG_HAS_VCPI_MSI?
>
> Jan
>
>


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 06:01:45 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 06:01:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171780.313459 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIlyl-0004uF-4z; Wed, 25 Aug 2021 06:01:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171780.313459; Wed, 25 Aug 2021 06:01: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 1mIlyl-0004u8-1a; Wed, 25 Aug 2021 06:01:39 +0000
Received: by outflank-mailman (input) for mailman id 171780;
 Wed, 25 Aug 2021 06:01:38 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5IQt=NQ=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIlyk-0004u2-3s
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 06:01:38 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id e79f9bf8-0569-11ec-a928-12813bfff9fa;
 Wed, 25 Aug 2021 06:01:36 +0000 (UTC)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2053.outbound.protection.outlook.com [104.47.14.53]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-30-y2beSj3-N4u-D-Am6vsk9A-1; Wed, 25 Aug 2021 08:01:34 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5168.eurprd04.prod.outlook.com (2603:10a6:803:56::33)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Wed, 25 Aug
 2021 06:01:33 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Wed, 25 Aug 2021
 06:01:33 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0116.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:19::32) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Wed, 25 Aug 2021 06: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: e79f9bf8-0569-11ec-a928-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629871295;
	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=u+if3v/ywVlklagBboiTVEoG2MtAHbmWL5mdN2N3hfo=;
	b=CE5+YfO6OL8Yqg/R65g6K1d/aG2f+ePm1dbm3/aVHBd8g5SixscGCbLVBT83zfQVbNov5O
	1r5VpYLllhNpuEfB+ON9MT1WGAW/j7Vfe0daB3cD3ZhmG0ltdKyyvU6SYRz6JzQQ1Fiyo+
	vJ/fiod4xRUog0x8wz0OMQqttqSEF8M=
X-MC-Unique: y2beSj3-N4u-D-Am6vsk9A-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OcZebtD+4b7Yumgy/Y0dSiYS6CtSQPq6VEN+BooNATZKhsx5Q4MtHMjDJYTr/rZMft/Itcuh80FRooVbk1O5eAW/pdqpuEyN2aFaDXuqD17Nzx0ZOE5g+P9wgCCqilw0fXlAyvXUbBpq+cWUJ5L6qIIFfQ2sHmZAqF7GK3Hsl+Ui7jQ08vaLxrA/czU+KInXzqiU/weFgrrH2XHbFVSlBjMEELFMieEXD29kkL/BwWOu98cimU13+MIrS9OKhPlc8f3IU//IOBIoGd1Ivc5WgcE2S3Ki727xXrQUFV2pAeNud44bLA+qM+niFYz+BZ+ji//ujIFAio6yGLhQZhn94A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qysnwWpWaAEYat+THO75eXDzTYF4Dld7hvJDPpzOulM=;
 b=Gtp+Scht2FOxHB4oKRZxWymhy0OOOz5UUaG+UP9Qzb//1FrOfqwmQ4Wetjjy5Fx+Jmb+K7kmi/iID09Kbo3tJ/p+vhQ9mIYmXZLmbSq8Tmfyi5C1HUTlTCIZhoCS2EShgcLLXiW5eVNvmU+sqOynOmpGJV7S5L++G7vhggoshrZIDK/axKpNX5CEk+1qXpU0JxVF5A8S8HUOVKkM094/UaxrSMktbvGokymL6jT3sKYVbEbXnLyHaER5601mnZCtUXAq7hjkPUf0fhcIMF56RtNW6gkkNyuRiXRa3VaPBEb0cKEcfr5cqQir+KeXusUuNdu4/vKZbHlRnmXjx0vl9w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH] IOMMU/x86: don't map IO-APICs for PV Dom0
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>, Paul Durrant <paul@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <d01563bc-ae9c-fe91-b313-19a30af09170@suse.com>
 <2edfe6a7-a69a-df75-a11d-ee8348235c54@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <6032595a-f9ff-bec7-3fe8-43d6a205ffc5@suse.com>
Date: Wed, 25 Aug 2021 08:01:30 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <2edfe6a7-a69a-df75-a11d-ee8348235c54@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: PR0P264CA0116.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:19::32) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5b20b829-f9f0-46c1-e49d-08d9678dca06
X-MS-TrafficTypeDiagnostic: VI1PR04MB5168:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB5168C695B489C429FEBCF9F0B3C69@VI1PR04MB5168.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8AhBh9mf6NxwTSoDPpex95oUpWHEZa9fkMQdIvzRbR1ukve9sUUDbhh4A+Rr69MRoCcw5On4yLBUKVnD4frFRtNNpoFVnVFzvRWj5GFoQnIWkmMAPu5fxq5Ln5NQF/i6wraWGICwpPqLuFb0WEML5R+DEoOPAYGXnrQ7pArsCqksHkd4/r7YMfBqjpml65WrSEouov4otofEgTX+GjyIRfWpMc1d/jdhjSAXXTxLtNQFRw08Lo+Qo8zDgXa21ASynYAjJRjMBolLGitpBh3O11RZds5WeDJjQyarYgXYZvvgYL1qL26PoS4JO5utj6b1Mn7RCOU5TvkYm+pPxW/o/hU/KpniOBJSGKUteVENzexl9e8gV3jJvu9oRoB4M/0FAADzxgeITRQsGZRfynanAbxu92JcThfTgsxhJRpqs3K6vcR5POzeiCIY+/FE4MxtDxNdGzKhBLjJyM1mNmpUzfwNcx7LLWvJF92zZUnSXU+TolyoaqhI5eyTr+6oBv7zTw9lWQ/eslevJf95ydGOY6xiZTl0CtASiPAK+mpLJI9FaXW/ACezaAAMH12mZK0tJ0YIEo4xE5Skpj8ktm3e11X9zHXIGYlS0HHl6x3tz7JZtcYcWIgduw9xGEJN6H0JGLPfeAZXQnggwS1/xTewmuXcCdx4DBrb+isy+r5VnHerZNFgtQtyyFNAhTLRxreUUPs6GjDSnNPYSrH6WtGOkMm10G2hicMk0ftp4WJsReg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(39850400004)(346002)(396003)(366004)(136003)(83380400001)(186003)(36756003)(66476007)(26005)(956004)(2616005)(53546011)(2906002)(66556008)(66946007)(31696002)(31686004)(16576012)(6486002)(54906003)(478600001)(86362001)(5660300002)(8676002)(8936002)(316002)(38100700002)(4326008)(6916009)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?8jz+FkcZnU0yXwyOFfWJOc6+6c/RPvxNoFpQFVs6RgoC7DPKriLjRJwhMshW?=
 =?us-ascii?Q?NWWqN8X9JMUz6bNq5njux3EOAjbTlN1xVjvInGna/IyTzkyNMxFfeJw4bG3V?=
 =?us-ascii?Q?pwj/VFFuWva6NylKwO44dHkbEubd57WGto2uWgf+3kwe7zPRoWVg99JBE5hQ?=
 =?us-ascii?Q?y2yR+HeSc1pjvybjQklsLXallBXCA42MO/uT5zxrQoR2BqaoaPUvkhUK9V+p?=
 =?us-ascii?Q?3a2d/OXOYvhB5Xp6CgEhsA5CyvGcKBFOx0Fgl44wkPVAtxhyIye6CTGifiQh?=
 =?us-ascii?Q?pg/c7kl6xTtgzaGvvH1+2ts1tAOjqCmKmubtyIvJmMqb8VS7x+E7iw3BO1jn?=
 =?us-ascii?Q?oHTedbKXj6bUy4hqgxQ4x7K9DmXKbKZdjX7Lm4mTXgH8AxK119NuUc0In+r2?=
 =?us-ascii?Q?OIygdTV9RoHglNABsKrGbFrM/HzjdGsGLdR4JcC4vHf1yD5VWQLpRU9hRDVq?=
 =?us-ascii?Q?wUzzgPs9fmnTNf/KTqpBkjiJL8rB5G6qVGQsWwVY3qpgiWR5q3nb64nogPp/?=
 =?us-ascii?Q?W3jn1OSjZmDj3UhBSGeWeLMLeOwHh/4J3GDUly4ulzhMr5zupkgb6Hk+KRjd?=
 =?us-ascii?Q?SiFiTf23ACjXczQ+GcphGqaM/mAQN0kETi6/ykrjexTeTFT4y4WpTB874LJn?=
 =?us-ascii?Q?NP/MekvOIdP/l8cp3vhvAr621YdD79NLvyBoItLUZyQhY2qfyt/NPtaSmNje?=
 =?us-ascii?Q?8vsrv7oyt3bmXzueSQcEwlzbi8qwQ0mJZdOaZfis1Pt5WzglWLnxoQpkj1ZL?=
 =?us-ascii?Q?Uw9rmYqrhyUs0tJJudESazdxDzc8YEAf/VirW21PujCzgcXFzTMTlosuWG2G?=
 =?us-ascii?Q?0rYlO4J4p/K94hVPav57ZtR2YA1KPfhyO9QC3msuJmALcZbbaiksnhy4H9WL?=
 =?us-ascii?Q?Zi5tCvjAEPHqDIuv2SHfRXX/fXxyMKy8JD8h2u4CNifHPimP+dEZ3UV4fdVV?=
 =?us-ascii?Q?3lMSEf+QLIOtlzvCdnbN/kAKrLRQ3ACxi8X+C74r2poGb4nJRVo+ZNQS0Qx0?=
 =?us-ascii?Q?Af7ncUXUbYmHrVEgPAkk2JyxJ6xHNXFAOQbLEJLTUfVgosoDO84FVPc/4H4+?=
 =?us-ascii?Q?O1/5Y4nocZMu9us+6WTacWrHOxubxQgdYh+a4suU5AOtTMfbfE5OtrrYeSi/?=
 =?us-ascii?Q?3iUYHv62Y2jLDUBkcSuCgxKa+B8ZCvfibsvsU9fwohjP+BRkA1uxWZ16HRAT?=
 =?us-ascii?Q?6cd6hlK9V/s25eaaBOWybE2dItjoinqN0kqWKQ9Q1MnnM6zHb2kNnUYrizo1?=
 =?us-ascii?Q?Fdh6YS6i9D4TDG/Ffb2WjRh7ftbStO2v2w20kuDDwsEqCW7i4EeeKndwpOfH?=
 =?us-ascii?Q?SlqouT8qQl5Rghy1p7oH8urO?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5b20b829-f9f0-46c1-e49d-08d9678dca06
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2021 06:01:32.9303
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: AYesUGPhTzIdp+bFINR5c+OdN71gxtq4lA9OcNBtDydJWfzliVIrVAAOQqSs4i/mjm2XUUTTKRoGaObuhZJfAA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5168

On 16.08.2021 20:31, Andrew Cooper wrote:
> On 16/08/2021 16:31, Jan Beulich wrote:
>> While already the case for PVH, there's no reason to treat PV
>> differently here (except of course where to take the addresses from).
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>=20
> Honestly, this is already a mess but I think the change is making things
> worse rather than better.
>=20
> To start with, IO-APIC windows are 1k not 4k, except that no-one added a
> "4k safe" flag because IO-APICs weren't mapped into userspace by Linux
> at the time.
>=20
> More generally though, if something is safe to let dom0 map in the CPU
> pagetables, it is safe to go in the IOMMU pagetables.=C2=A0 Conversely, i=
f
> it's not safe to go in one, it's not safe to go in either.
>=20
> Mappings (or at least mapability) of everything/anything should be
> uniform between the CPU and IOMMU pagetables for any kind of sanity to
> prevail.

Just in case it's not obvious (it just occurred to me to mention it):
There's a similar inconsistency with all other MMIO: HVM/PVH get this
mapped in both CPU and IOMMU, while PV doesn't. If mappings were
mirrored to the IOMMU, the patch here wouldn't be necessary in its v2
form (or the form when integrated into the larger series), but instead
would be correct in this initial shape.

So if you think that's the way to go, I can restore the initial version
of this patch after adding a prereq one to mirror MMIO page mappings to
the IOMMU. There's one difficulty though: We'd need to have a way to
tell when it's safe to unmap from the IOMMU again. In case of multiple
CPU side mappings we can't unmap when the first of these mappings goes
away.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 25 06:22:39 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 06:22:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171786.313471 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mImIy-0007Qg-UA; Wed, 25 Aug 2021 06:22:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171786.313471; Wed, 25 Aug 2021 06: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 1mImIy-0007QZ-QG; Wed, 25 Aug 2021 06:22:32 +0000
Received: by outflank-mailman (input) for mailman id 171786;
 Wed, 25 Aug 2021 06:22:31 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yhNK=NQ=gmail.com=cgel.zte@srs-us1.protection.inumbo.net>)
 id 1mImIx-0007QT-DF
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 06:22:31 +0000
Received: from mail-qk1-x72c.google.com (unknown [2607:f8b0:4864:20::72c])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 24d099ed-94c9-43b7-9347-24b4ace46ac8;
 Wed, 25 Aug 2021 06:22:30 +0000 (UTC)
Received: by mail-qk1-x72c.google.com with SMTP id e14so25955165qkg.3
 for <xen-devel@lists.xenproject.org>; Tue, 24 Aug 2021 23:22:30 -0700 (PDT)
Received: from localhost.localdomain ([193.203.214.57])
 by smtp.gmail.com with ESMTPSA id s204sm12320061qke.109.2021.08.24.23.22.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Aug 2021 23:22: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: 24d099ed-94c9-43b7-9347-24b4ace46ac8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=izl1y+WlTmO5QOWs7e/KaDQxMK8mxtFtlYdxklpsPvo=;
        b=aj9dQlbVIy1l2igc9/Dx/Jr1171aaG5ecch0A7PrWTkRJG1Vbq/pIECncWQiwlZnkw
         UJ1OjMyNB+F+IkqQ4VA4K7cPEqZ+KGDDMwd4fFCCtWMKJwOBuMmAUYSiE6jdyQyLduh+
         C5bAYELEMAwwDfffmGEWGrHKKAB4Z/cpVmzZnuQ7RvSIgrCiu+daRDx+mXGQTAaQVi6D
         mIoor09h6qFFHcpP52aqDyMaaX+/otNEcDi5oVCVZ3jtEpGpHKHMWQpT1o5cdEY8C4wp
         9gTTlYqkww+Z1uPZzUh0kqBwlfZWEMdvOk0MWqrLMkKLRkVkQZIhZ//a/nI5IAemVjui
         gVBg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=izl1y+WlTmO5QOWs7e/KaDQxMK8mxtFtlYdxklpsPvo=;
        b=ZKXjk/qhnH2qxGrYjQfRZD/ekgVV5qg0M8eRGfKgHopfv/kaMJAR0N7Ymf6+k5wU7R
         +o6O54g7Du8hebvFppb2n7L7qln73crLt9zVSrXjMUY5eZpU0WOZGYHtbmJngl9WC3qM
         XckRGDMxt0IgvBP5JJt5UcLlcwz3QPYHIkEkZNDt01HfWGdptdrhWYRRRpIs9cAbwvev
         JKCJXgxjIVw3mdqFbtgCrKP147z6L6hbktkj3Q9LG7fU9O4P+sY0dAHbvWcqe9U2IZhT
         zk/MZZkoCVQHrVVltNvykoJReHmmaoHjPgimjUbZ+LbnTqYD5mGFKKr3kQ0jW8GUb62D
         vT/w==
X-Gm-Message-State: AOAM5312OtZcpnjAIvcNd7gOodiRBOfeksEfusvJnOSm8ftZxUKTlflv
	oNJuCBo6+KOTDGtlnVPgtd0=
X-Google-Smtp-Source: ABdhPJz1LgGGzugmNR0aeLcfgcWj1FHNGUyFGNVbR9VpGZjQATq3ZO7MRmIkOyfCei1aznQI6pyR1A==
X-Received: by 2002:a05:620a:95e:: with SMTP id w30mr28822303qkw.157.1629872550317;
        Tue, 24 Aug 2021 23:22:30 -0700 (PDT)
From: CGEL <cgel.zte@gmail.com>
X-Google-Original-From: CGEL <deng.changcheng@zte.com.cn>
To: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Wei Liu <wei.liu@kernel.org>,
	Jan Beulich <jbeulich@suse.com>,
	xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org,
	Jing Yangyang <jing.yangyang@zte.com.cn>,
	Zeal Robot <zealci@zte.com.cn>
Subject: [PATCH linux-next] drivers/xen/events/events_base.c: fix bugon.cocci warnings
Date: Tue, 24 Aug 2021 23:22:22 -0700
Message-Id: <20210825062222.69936-1-deng.changcheng@zte.com.cn>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Jing Yangyang <jing.yangyang@zte.com.cn>

Use BUG_ON instead of a if condition followed by BUG.

Generated by: scripts/coccinelle/misc/bugon.cocci

Reported-by: Zeal Robot <zealci@zte.com.cn>
Signed-off-by: Jing Yangyang <jing.yangyang@zte.com.cn>
---
 drivers/xen/events/events_base.c | 21 ++++++++-------------
 1 file changed, 8 insertions(+), 13 deletions(-)

diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/events_base.c
index a78704a..dd44019 100644
--- a/drivers/xen/events/events_base.c
+++ b/drivers/xen/events/events_base.c
@@ -818,8 +818,7 @@ static void xen_evtchn_close(evtchn_port_t port)
 	struct evtchn_close close;
 
 	close.port = port;
-	if (HYPERVISOR_event_channel_op(EVTCHNOP_close, &close) != 0)
-		BUG();
+	BUG_ON(HYPERVISOR_event_channel_op(EVTCHNOP_close, &close) != 0);
 }
 
 /* Not called for lateeoi events. */
@@ -1270,9 +1269,8 @@ static int bind_ipi_to_irq(unsigned int ipi, unsigned int cpu)
 					      handle_percpu_irq, "ipi");
 
 		bind_ipi.vcpu = xen_vcpu_nr(cpu);
-		if (HYPERVISOR_event_channel_op(EVTCHNOP_bind_ipi,
-						&bind_ipi) != 0)
-			BUG();
+		BUG_ON(HYPERVISOR_event_channel_op(EVTCHNOP_bind_ipi,
+						&bind_ipi) != 0);
 		evtchn = bind_ipi.port;
 
 		ret = xen_irq_info_ipi_setup(cpu, irq, evtchn, ipi);
@@ -1983,9 +1981,8 @@ static void restore_cpu_virqs(unsigned int cpu)
 		/* Get a new binding from Xen. */
 		bind_virq.virq = virq;
 		bind_virq.vcpu = xen_vcpu_nr(cpu);
-		if (HYPERVISOR_event_channel_op(EVTCHNOP_bind_virq,
-						&bind_virq) != 0)
-			BUG();
+		BUG_ON(HYPERVISOR_event_channel_op(EVTCHNOP_bind_virq,
+						&bind_virq) != 0);
 		evtchn = bind_virq.port;
 
 		/* Record the new mapping. */
@@ -2009,9 +2006,8 @@ static void restore_cpu_ipis(unsigned int cpu)
 
 		/* Get a new binding from Xen. */
 		bind_ipi.vcpu = xen_vcpu_nr(cpu);
-		if (HYPERVISOR_event_channel_op(EVTCHNOP_bind_ipi,
-						&bind_ipi) != 0)
-			BUG();
+		BUG_ON(HYPERVISOR_event_channel_op(EVTCHNOP_bind_ipi,
+						&bind_ipi) != 0);
 		evtchn = bind_ipi.port;
 
 		/* Record the new mapping. */
@@ -2063,8 +2059,7 @@ void xen_poll_irq_timeout(int irq, u64 timeout)
 		poll.timeout = timeout;
 		set_xen_guest_handle(poll.ports, &evtchn);
 
-		if (HYPERVISOR_sched_op(SCHEDOP_poll, &poll) != 0)
-			BUG();
+		BUG_ON(HYPERVISOR_sched_op(SCHEDOP_poll, &poll) != 0);
 	}
 }
 EXPORT_SYMBOL(xen_poll_irq_timeout);
-- 
1.8.3.1




From xen-devel-bounces@lists.xenproject.org Wed Aug 25 06:25:01 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 06:25:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171792.313482 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mImLN-00081q-B5; Wed, 25 Aug 2021 06:25:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171792.313482; Wed, 25 Aug 2021 06:25:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mImLN-00081j-7R; Wed, 25 Aug 2021 06:25:01 +0000
Received: by outflank-mailman (input) for mailman id 171792;
 Wed, 25 Aug 2021 06:25:00 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yhNK=NQ=gmail.com=cgel.zte@srs-us1.protection.inumbo.net>)
 id 1mImLM-00081d-4G
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 06:25:00 +0000
Received: from mail-qt1-x830.google.com (unknown [2607:f8b0:4864:20::830])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id bac558df-42b3-4ef6-aa83-f24392793d4d;
 Wed, 25 Aug 2021 06:24:59 +0000 (UTC)
Received: by mail-qt1-x830.google.com with SMTP id g11so18957019qtk.5
 for <xen-devel@lists.xenproject.org>; Tue, 24 Aug 2021 23:24:59 -0700 (PDT)
Received: from localhost.localdomain ([193.203.214.57])
 by smtp.gmail.com with ESMTPSA id x21sm12230230qkf.76.2021.08.24.23.24.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Aug 2021 23:24:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bac558df-42b3-4ef6-aa83-f24392793d4d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=H+MRKVY1+87PTphWJ8h52+nwJ2uKSZ2hmxJNZxE9nXo=;
        b=lNnsvZ9zCh3fplemTR+tcxkriS3QKZIZLdaJZkqv5zvSAKOZoF/3pG9iu9nv0AwN+F
         1sia09hBrJreeyYAJxAbkjBmBwKxp7yOhm1STA4OCSuOI+pUetXHvZy3fEF/I8aI4ni6
         TGOmWIlaJuIBrsbdybMAtqO7fXHFJPx02VQYNWMartU6FqtrJ8SyP5xIfnLL2POU+EGS
         MeedmeZytni0SUraPlOfvXHi1LtPsZoPOAL+PErYa7NalOtRwP53RQrl9UwGAuJYb9RJ
         T0Fpl62XKZJgGXGN44fZ9XmlyubrcY+f//XYprPV3GPSIlp1uTXNOSst/6ye+7wjF8Pi
         cW6g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=H+MRKVY1+87PTphWJ8h52+nwJ2uKSZ2hmxJNZxE9nXo=;
        b=rVHR3GTEaqHbwHXC3/KPSogkwzQKqhxXufh8DxQWcrF8WNO7ShuTj/FDdnFtBNFnT0
         yN8fJ3uDnrLJ55lHU9qszs4D+JeocUf8gIq+56Fu/X+Jfd5Wet7RUyvv/OaCJY4Ag8w3
         RiTPxthy7vfZxiR8+lajooXDGgo4z2wcyh2G49TZHO0ezXFTUFZYQ/HdkXB3xcWLz2Ls
         uCR7YKIYsdq+H0MApf4z2gjxvV8UDB5QOfzKsi8I23BgR1/NkXpmnZRn+XyayleIXCTY
         fu/8UUJ53QVCH6s43dlC4/bQsA+ednHQIl2S6QHSbnSPzOfN/wmZqKJL1TPbjI1J0XUn
         fBqA==
X-Gm-Message-State: AOAM533h6x2S1GFkRAS35we/xqRAp5rkyuEqcevbsRxkpGjGxfLHMYPL
	XJknWdDWIBDhgGLzu++Y6+4=
X-Google-Smtp-Source: ABdhPJwf1PRn7cZFQeT0fJnXp5soDZNvOCrbFR4hEF/wie/akfgVagQZDWM+cKIFVM+z3wxi1mdwPw==
X-Received: by 2002:ac8:51da:: with SMTP id d26mr12769253qtn.331.1629872699257;
        Tue, 24 Aug 2021 23:24:59 -0700 (PDT)
From: CGEL <cgel.zte@gmail.com>
X-Google-Original-From: CGEL <deng.changcheng@zte.com.cn>
To: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	SeongJae Park <sjpark@amazon.de>,
	Roger Pau Monne <roger.pau@citrix.com>,
	xen-devel@lists.xenproject.org,
	Jing Yangyang <jing.yangyang@zte.com.cn>,
	Zeal Robot <zealci@zte.com.cn>
Subject: [PATCH linux-next] drivers/xen/xenbus/xenbus_client.c: fix bugon.cocci warnings
Date: Tue, 24 Aug 2021 23:24:51 -0700
Message-Id: <20210825062451.69998-1-deng.changcheng@zte.com.cn>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Jing Yangyang <jing.yangyang@zte.com.cn>

Use BUG_ON instead of a if condition followed by BUG.

Generated by: scripts/coccinelle/misc/bugon.cocci

Reported-by: Zeal Robot <zealci@zte.com.cn>
Signed-off-by: Jing Yangyang <jing.yangyang@zte.com.cn>
---
 drivers/xen/xenbus/xenbus_client.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/drivers/xen/xenbus/xenbus_client.c b/drivers/xen/xenbus/xenbus_client.c
index 0cd7289..e8bed1c 100644
--- a/drivers/xen/xenbus/xenbus_client.c
+++ b/drivers/xen/xenbus/xenbus_client.c
@@ -542,8 +542,7 @@ static int __xenbus_map_ring(struct xenbus_device *dev,
 		}
 	}
 
-	if (HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref, info->unmap, j))
-		BUG();
+	BUG_ON(HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref, info->unmap, j));
 
 	*leaked = false;
 	for (i = 0; i < j; i++) {
@@ -581,8 +580,7 @@ static int xenbus_unmap_ring(struct xenbus_device *dev, grant_handle_t *handles,
 		gnttab_set_unmap_op(&unmap[i], vaddrs[i],
 				    GNTMAP_host_map, handles[i]);
 
-	if (HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref, unmap, i))
-		BUG();
+	BUG_ON(HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref, unmap, i));
 
 	err = GNTST_okay;
 	for (i = 0; i < nr_handles; i++) {
@@ -778,8 +776,7 @@ static int xenbus_unmap_ring_pv(struct xenbus_device *dev, void *vaddr)
 		unmap[i].handle = node->handles[i];
 	}
 
-	if (HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref, unmap, i))
-		BUG();
+	BUG_ON(HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref, unmap, i));
 
 	err = GNTST_okay;
 	leaked = false;
-- 
1.8.3.1




From xen-devel-bounces@lists.xenproject.org Wed Aug 25 06:35:15 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 06:35:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171797.313493 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mImVB-00019o-1U; Wed, 25 Aug 2021 06:35:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171797.313493; Wed, 25 Aug 2021 06: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 1mImVA-00019h-Ue; Wed, 25 Aug 2021 06:35:08 +0000
Received: by outflank-mailman (input) for mailman id 171797;
 Wed, 25 Aug 2021 06:35:08 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5IQt=NQ=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mImVA-00019b-GO
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 06:35:08 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 9650a698-056e-11ec-a929-12813bfff9fa;
 Wed, 25 Aug 2021 06:35:07 +0000 (UTC)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2109.outbound.protection.outlook.com [104.47.17.109])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-23-fOBA-kiaOBCKMkyQw6oYXg-1; Wed, 25 Aug 2021 08:35:05 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB6864.eurprd04.prod.outlook.com (2603:10a6:803:138::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Wed, 25 Aug
 2021 06:35:03 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Wed, 25 Aug 2021
 06:35:03 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P189CA0057.EURP189.PROD.OUTLOOK.COM (2603:10a6:102:53::32) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Wed, 25 Aug 2021 06: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: 9650a698-056e-11ec-a929-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629873306;
	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=kicHXpv8I9S6Ejo5Pf2BRw/rIBC0mUy00Ns6/mfZ2/4=;
	b=dzw2eESILegruG/OBZj9/4TEtHYbudC29r6wi/gavUK0oHqkLsyCOue5vakrMxewnkOKzn
	/aZP7KuoB85zTA+3I1FIESwqm47tzsplvjlxQNLm56z87yE2ZGl6ULJAtQMpYHWnRHl5Zn
	ADz5Nlo3hsTJ7meCJXeCq5ngiRCUgiQ=
X-MC-Unique: fOBA-kiaOBCKMkyQw6oYXg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PAYIUY/HWtOH2tC8+Ru1S9qQnmrlc0RehQQG6vdQ+K6/OVxHCQW3CK9NVgNiF5haCotc1h36bBtba/JYGlyhzATIecOfwYYOhygjnS9d1UXuirCD8RlnMSrlq1nhzAVHaGrF4V4EoAPz0+LZ18Gw1MQoeVow0YgOI5ULBXheEb5gVh6aqZsuc1Nh9FrIgQR/3dqSvejp7HsYyEyd7vUi1b6g5HXfMd969Cs8dLS1pfn5zAEQZ5qZVPLAjLwKrKm5XDES514zw8gGkZ19rJglUQK8v79BNfYCdB9A/vL0CHT/C917GCg8SSSyQp1co8Vsn7VlPD3pCILRo273VuJCSg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kicHXpv8I9S6Ejo5Pf2BRw/rIBC0mUy00Ns6/mfZ2/4=;
 b=GxGWaF7II3fNmP/htxSPAolI2y9YxS8JeRGQ49COIE5/CSnact2HVQ4cAJf6qlDyAHHqxLudHDlmiplOoezMuJ9in9OoQNRfwsjLjuYIZk940iU8o7XsFV73XEk3zf3YxHRE3iFeiC5rG2BWrhzVGLj/otFMGCGz3dtgVv5nwa2+jYKW2GZ4J0ZnoDddykAmPhzV/uZN+lnvMkeeizkfwxdXNl+H0k5ReDMQJZZqohsRm3UEQoP9zVPKJm4Qr89kmIQQwcRNaEZNTVDZt+D6vB11dSkYexQCAx5I1arPiIDnQZWcDwTya9sWDfv+W4hOEIcWv62nsyz/VJmHFERkEw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v1 11/14] xen/arm: Enable the existing x86 virtual PCI
 support for ARM.
To: Oleksandr Andrushchenko <andr2000@gmail.com>,
 Rahul Singh <rahul.singh@arm.com>
Cc: bertrand.marquis@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1629366665.git.rahul.singh@arm.com>
 <370f4f87c148eaee5ac5ec69346828e6473f0f2d.1629366665.git.rahul.singh@arm.com>
 <c4cd8072-e463-6c9b-ddb2-640108dd5d2a@suse.com>
 <53a61aa7-499b-f21d-8f44-a4c24f270d45@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <2b7c9109-cb8c-1971-3549-0c73059d7d44@suse.com>
Date: Wed, 25 Aug 2021 08:35:01 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <53a61aa7-499b-f21d-8f44-a4c24f270d45@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P189CA0057.EURP189.PROD.OUTLOOK.COM
 (2603:10a6:102:53::32) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 53c5b5e9-5b71-4255-ae91-08d967927886
X-MS-TrafficTypeDiagnostic: VI1PR04MB6864:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB6864860433C43CA978A302C1B3C69@VI1PR04MB6864.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	hHWxdZJF4NSb6D6gYDksXyEjJ5XxsmNG40vL4lO9gKNrZIekc09TdGN2kkPykHpPVslocXe5gBnI2nxtMJkAt77PGMv7vcakRLALpQ2i17fCEavCwss/zuNKAmEp+lSONCYDBzneP7RKCw0+d0mgqjgbjRJ6A5GF54UZ/KBeIzmATIiWAG+jrpLc7/cwB1ycZs8u7GuKASpfzpORfhBZKmbqDejLUJuS7UtWwIn52Avt0dhxmvKtPEKq0S3WGCoM3finkOTANfFZ6kHudUArFlfG3UP0ySCWj/XI6uwZVef93Hl4yabl4YxiPIXGLwRx5USxRJtag2E1yYjAKjgNjO1WeZ1+TlJl8nOTax1bYIP8Tl951S9GaAGMSmOxwduNxCkIjss+r5eh2gBIX8QIq7EDnzUIF4Zf6yV52ahp6+5xW7KMwSmWY0zu0rORRIkkk1PfFKAdZ67IFT6/+z37fI9oj37dhZC4C1QSNKu5WjkQRZtuMWd60KFmfgT6/W8IyTaLJW46kZ1eOHcp2MB/hdov2/Yjap6sxHjFI0gAKGg3mH3hM0qCqXl7hK+GiPOrV3m6kLNjaJMvafhBEddJMDSQttGlWfnrh7jiiFwRxeSMk3J9Z9oqQt+syPzL6IsLmLaGtgJOZrDJWM/A+9WYDaaKFPpKmEDu+5sqhDJxq+NQWVm1WaMgAuyTJMoy2LoGchs/X5Sb1/KfuOClMkJYdkISvKcFP25lDic/Mv83ysQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(508600001)(2906002)(66946007)(31696002)(83380400001)(5660300002)(4326008)(956004)(8676002)(53546011)(16576012)(316002)(36756003)(31686004)(2616005)(26005)(6486002)(38100700002)(86362001)(186003)(66556008)(54906003)(66476007)(110136005)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SlpXVGVwQS9La1FLK1R1SEhlVXF6aW91VXVvL1dySWZhSEhyMm9nOSthcW9O?=
 =?utf-8?B?ZDRYdTVoYkpxUVc1N2ptNXBPZTI0eFpRTzRvaFg4Vlhza2I5WVAyZ1ZXU1A2?=
 =?utf-8?B?U25oN3Y5VzRGTHlneTNWSVNvWVVJMERhYk5PZUlVaFVLd0NaNTJPYytXcGx2?=
 =?utf-8?B?aGxBcy9CZ1lJRCsrSk9LeUVFQlpvWFphQnlMTTl4MVRyY3Bha01XRVBtemhw?=
 =?utf-8?B?aGxCREJvM3oxNm9la21PaDlJVTlGcU1tdDY3aHI1UG1vaUZLMGduL0Fwd0pw?=
 =?utf-8?B?U3UvZ3ZVbGpKRkJQaW15bjIvNlNpeEdqTlliUFYwaHJNcTJCb0xnS2hlQW9t?=
 =?utf-8?B?UXJxb2wzZjFoZWI0T2kvTkxzOEVwUTMrWm5VSnlBTEwwdHBVMjVQWlNQOGZa?=
 =?utf-8?B?UFJrTFA1K0hPMVRXMEZqQ2lvdnBwVG0yVjMzb29Mbk9CUVcvVUN3TVQzckk3?=
 =?utf-8?B?eXRKQ0h6N1JIM1BlbzYrbmdydTdjRGZwdERNMWVjNk42aHpxMXoxSTVCY2dE?=
 =?utf-8?B?YitETktRSEJmVmdUa0l4VS8yTXkrWWtTMExSaVFiMitPMFQrUkhKNnp0emJP?=
 =?utf-8?B?ODhjTXVtQUdCWStFL3pZYzduakZEYS9uWk9GSlh5ajJ2S2VoV1RKY29NaW9a?=
 =?utf-8?B?TzlsKzNNVUJGQmhQQjFCME96WktUbzZSOGlWUVpLKzhrN0VoZlB4eDhmeTBN?=
 =?utf-8?B?d2lGdDFHU0tqa0FBN0lIL3VxYWdYd2hPZUtsVEdFWC8xckR0dUg5UlNMdHFQ?=
 =?utf-8?B?UEZGREhnQkFuYlY2MTdqOG5YbUJITWN6N3BXTFZaMUtqU3RHUGJIQitCR2t2?=
 =?utf-8?B?cEJsd0MvNnFaQmpxQU1vOTZ3eTNBV2xpd2RrdG14Tyt1OUlXdnlDT2JzQUpl?=
 =?utf-8?B?NUVLSmVIMXcwbms0Q3EvaVhqR1czRStocklVRnVDU0VqOU5IUlhINUpIOVFD?=
 =?utf-8?B?Ym9FdFI3MlVWSEQ4eTJPcGRTeXVhOEVRZFBWSlZ5MFozaFpHdW1HaEV5OUo1?=
 =?utf-8?B?V25YT0F0Tm8zNWEvaVllTEFTS0hjakFhNnlIZnFvV2pXcnNZUE52S0xWbmlw?=
 =?utf-8?B?eWoyV3lCQU1mSmk3ckY2dTNLdE1GOWJvcXluUGdSNjRpSmNpZmZCZmtzc2Fk?=
 =?utf-8?B?OUhvOUFIYm5odmRoUjUzdTFIZ0JwcHpsbS9hRFVsRDZZOCt6YWltOHgyazBX?=
 =?utf-8?B?VDRRR2JkZHZGUlJ3TG1XSTFaVElJNFVWNHQrQ0Z1bUVFaFpKQ2QvSTd3RnR4?=
 =?utf-8?B?bjVFNjVqK2FickNtRXdPK3pjaEcrdVBSWkVqZlMxRjdKOUpvRmVQRjhLRngv?=
 =?utf-8?B?Nkdjd1VkZ2FENDdTSk9JcmxLZnJwdXI1bENhaGUzbS8xanJrMU1hanBYdWQ5?=
 =?utf-8?B?d3pJV2xURXVDQjF2elZzU2hYVndDam11STJoQlZFeGFmQTAvUHkrVDdFUmYz?=
 =?utf-8?B?SmNMZWpLOVJWTFM3YmhpREtSNGxRdUtmQ285VEg3N3RFQVFDL3REY1VxK3JI?=
 =?utf-8?B?R244anhlcVJseUNXSGJ1N3YzTXdyYzZOeEhOUlprZXVhc24yV1lyUmVXS1o5?=
 =?utf-8?B?cURQYUNjVm5aTzFXNlJqVlJoaTFpSnZvNE8rR0pzbHVqUm9pZ3N5TzBRblUv?=
 =?utf-8?B?STIrdTBNV2NJNGR3bnlkbDNKYnNWTnJmSUhaUENCQTR0M0VCOHRFc1pqaXdN?=
 =?utf-8?B?UFcwTjdhODh1ZlVCU1Q2TVQ5cklPSWFJTzkvcU5YRnBndW5rYXVrL1lnNWJi?=
 =?utf-8?Q?u8F3Lme193JaGNQEe9rU31ukfvBJKb04m1jgnIG?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 53c5b5e9-5b71-4255-ae91-08d967927886
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2021 06:35:03.5983
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zYGVrdPZ5xsjUOOJxdCKg84Mehzniu/ugVIANWeYvHB3ttacgGOnATh6oAx5+a12MpNPmV83E2k07freRoim4w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6864

On 25.08.2021 07:44, Oleksandr Andrushchenko wrote:
> Hi, Jan!
> 
> On 24.08.21 19:09, Jan Beulich wrote:
>> On 19.08.2021 14:02, Rahul Singh wrote:
>>> --- a/xen/drivers/passthrough/pci.c
>>> +++ b/xen/drivers/passthrough/pci.c
>>> @@ -767,6 +767,13 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
>>>       else
>>>           iommu_enable_device(pdev);
>>>   
>>> +#ifdef CONFIG_ARM
>>> +    ret = vpci_add_handlers(pdev);
>>> +    if ( ret ) {
>>> +        printk(XENLOG_ERR "setup of vPCI for failed: %d\n",ret);
>>> +        goto out;
>>> +    }
>>> +#endif
>>>       pci_enable_acs(pdev);
>> I'm afraid I can't see why this is to be Arm-specific. The present
>> placement of the existing call to vpci_add_handlers() looks to be
>> sub-optimal anyway - did you look into whether it could be moved
>> to a place (potentially right here) fitting everyone? If you did,
>> would mind justifying the Arm-specific code in a non-Arm-specific
>> file in at least a post-commit-message remark?
>>
>> If it were to remain like this, please add a blank line after the #endif.
>>
>>> --- a/xen/drivers/vpci/Makefile
>>> +++ b/xen/drivers/vpci/Makefile
>>> @@ -1 +1,2 @@
>>> -obj-y += vpci.o header.o msi.o msix.o
>>> +obj-y += vpci.o header.o
>>> +obj-$(CONFIG_HAS_PCI_MSI) += msi.o msix.o
>> I continue to consider this a wrong connection - HAS_PCI_MSI expresses
>> (quoting text from patch 1 of this series) "code that implements MSI
>> functionality to support MSI within XEN", while here we're talking of
>> vPCI (i.e. guest support). I can accept that this is transiently the
>> best you can do, but then please add a comment to this effect (if
>> need be in multiple places), such that future readers or people
>> wanting to further adjust this understand why it is the way it is.
>>
>> But perhaps you instead want to introduce a HAS_VPCI_MSI (or, less
>> desirable because of possible ambiguity, HAS_VMSI) Kconfig option?
> 
> Eventually we'll have the code like that:
> 
> obj-y += vpci.o header.o msi.o msix.o
> obj-$(CONFIG_X86) += x86/
> obj-$(CONFIG_ARM) += arm/
> 
> So, this is indeed a transitional change. Will you be ok with a comment
> about that then?

Well, yes, as said - if this is a transitional state, then a comment
will do. I was suggesting the further Kconfig option merely because
all I've been hearing so far was that MSI works entirely differently
on Arm, and hence the MSI code we have is not going to be used there
at all. If that was a correct understanding of mine (including its
extending to vPCI's MSI code), then adding just a comment would
continue to be misleading imo.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 25 06:42:42 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 06:42:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171811.313510 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mImcQ-0002v5-1P; Wed, 25 Aug 2021 06:42:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171811.313510; Wed, 25 Aug 2021 06:42:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mImcP-0002uy-Uh; Wed, 25 Aug 2021 06:42:37 +0000
Received: by outflank-mailman (input) for mailman id 171811;
 Wed, 25 Aug 2021 06:42: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 1mImcP-0002uo-1u; Wed, 25 Aug 2021 06:42: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 1mImcO-0005qy-Q5; Wed, 25 Aug 2021 06:42:36 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mImcO-0000jy-Fp; Wed, 25 Aug 2021 06:42:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mImcO-00053z-FL; Wed, 25 Aug 2021 06: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>
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=fM+QicO1S/4qIIezNqBswbzvXKCujzI5cNGlrG+x+wg=; b=YbZo/aA23ximqMN7g1ohPD1cb2
	oQnnDkIk7I7KcMErdD0GexH2NA5mmxJRCok5Wm+FWJKUHN3H4PQJg3w64BovaTlCyBJ6fSpK7BPiw
	70Hnm8T7hmSEeodU7DKGezyB/1rdx10p1a3GPr4/YuBRmrYetWvmLYR1/kKURqTsIox4=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Subject: [xen-4.14-testing bisection] complete test-amd64-amd64-xl-qemuu-ovmf-amd64
Message-Id: <E1mImcO-00053z-FL@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 25 Aug 2021 06:42:36 +0000

branch xen-4.14-testing
xenbranch xen-4.14-testing
job test-amd64-amd64-xl-qemuu-ovmf-amd64
testid debian-hvm-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 git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  ovmf git://xenbits.xen.org/osstest/ovmf.git
  Bug introduced:  d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Bug not present: 3357ac73807d83eb212632ee7c2e032a20a49c56
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164473/


  commit d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Author: Laszlo Ersek <lersek@redhat.com>
  Date:   Wed May 26 22:14:24 2021 +0200
  
      OvmfPkg/PlatformPei: remove Xen support
      
      The "OvmfPkg/PlatformPei/PlatformPei.inf" module is used by the following
      platform DSCs:
      
        OvmfPkg/AmdSev/AmdSevX64.dsc
        OvmfPkg/OvmfPkgIa32.dsc
        OvmfPkg/OvmfPkgIa32X64.dsc
        OvmfPkg/OvmfPkgX64.dsc
      
      Remove Xen support from "OvmfPkg/PlatformPei", including any dependencies
      that now become unused. The basic idea is to substitute FALSE for "mXen".
      
      Remove "OvmfPkg/PlatformPei" from the "OvmfPkg: Xen-related modules"
      section of "Maintainers.txt".
      
      This patch is best reviewed with "git show -b -W".
      
      Cc: Andrew Fish <afish@apple.com>
      Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
      Cc: Jordan Justen <jordan.l.justen@intel.com>
      Cc: Leif Lindholm <leif@nuviainc.com>
      Cc: Michael D Kinney <michael.d.kinney@intel.com>
      Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
      Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2122
      Signed-off-by: Laszlo Ersek <lersek@redhat.com>
      Message-Id: <20210526201446.12554-22-lersek@redhat.com>
      Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
      Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
      Reviewed-by: Leif Lindholm <leif@nuviainc.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-4.14-testing/test-amd64-amd64-xl-qemuu-ovmf-amd64.debian-hvm-install.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/xen-4.14-testing/test-amd64-amd64-xl-qemuu-ovmf-amd64.debian-hvm-install --summary-out=tmp/164473.bisection-summary --basis-template=163750 --blessings=real,real-bisect,real-retry xen-4.14-testing test-amd64-amd64-xl-qemuu-ovmf-amd64 debian-hvm-install
Searching for failure / basis pass:
 164353 fail [host=elbling1] / 163750 [host=fiano1] 163726 [host=huxelrebe1] 163709 [host=huxelrebe0] 162891 [host=godello1] 162881 [host=huxelrebe1] 162547 [host=godello0] 162365 [host=huxelrebe0] 161771 [host=fiano0] 161484 [host=godello1] 161324 [host=albana0] 161048 [host=godello1] 160156 [host=fiano0] 160143 [host=albana0] 160127 [host=albana1] 159840 [host=fiano1] 159450 [host=huxelrebe1] 159420 [host=godello1] 158558 [host=rimava1] 157673 [host=fiano1] 157564 [host=huxelrebe1] 157133 [hos\
 t=albana0] 156989 [host=fiano0] 156716 [host=fiano1] 156670 [host=albana1] 156617 [host=albana0] 156594 ok.
Failure / basis pass flights: 164353 / 156594
(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 git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git
Latest c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 54082c81d96028ba8c76fbe6784085cf1df76b20 61f28060d5b899c502e2b3bf45a39b1dd2a1224c
Basis pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 1366cd58cd4459f00b4ecf5abed13e77ac4ad06c 3c659044118e34603161457db9934a34f816d78b e6a4cbe48cfca6adbe4e7acdf7e405c8315facaa 94f0510dc75e910400aad6c169048d672c8c7193 a38060ece699f22cd317219bec53c0d27279155b
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#1366cd58cd4459f00b4ecf5abed13e77ac4ad06c-ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c git://xenbits.xen.org/qemu-xen-traditional.git#3c659044118e34603161457db99\
 34a34f816d78b-3c659044118e34603161457db9934a34f816d78b git://xenbits.xen.org/qemu-xen.git#e6a4cbe48cfca6adbe4e7acdf7e405c8315facaa-d7d6a60e73ee21e82f0bac2036153ccccf996e6c git://xenbits.xen.org/osstest/seabios.git#94f0510dc75e910400aad6c169048d672c8c7193-54082c81d96028ba8c76fbe6784085cf1df76b20 git://xenbits.xen.org/xen.git#a38060ece699f22cd317219bec53c0d27279155b-61f28060d5b899c502e2b3bf45a39b1dd2a1224c
Loaded 12608 nodes in revision graph
Searching for test results:
 162881 [host=huxelrebe1]
 162891 [host=godello1]
 163709 [host=huxelrebe0]
 163726 [host=huxelrebe1]
 156594 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 1366cd58cd4459f00b4ecf5abed13e77ac4ad06c 3c659044118e34603161457db9934a34f816d78b e6a4cbe48cfca6adbe4e7acdf7e405c8315facaa 94f0510dc75e910400aad6c169048d672c8c7193 a38060ece699f22cd317219bec53c0d27279155b
 156617 [host=albana0]
 163750 [host=fiano1]
 156670 [host=albana1]
 156716 [host=fiano1]
 156989 [host=fiano0]
 157133 [host=albana0]
 157564 [host=huxelrebe1]
 157650 []
 157673 [host=fiano1]
 158558 [host=rimava1]
 164261 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 54082c81d96028ba8c76fbe6784085cf1df76b20 61f28060d5b899c502e2b3bf45a39b1dd2a1224c
 164300 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 54082c81d96028ba8c76fbe6784085cf1df76b20 61f28060d5b899c502e2b3bf45a39b1dd2a1224c
 164353 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 54082c81d96028ba8c76fbe6784085cf1df76b20 61f28060d5b899c502e2b3bf45a39b1dd2a1224c
 164408 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 1366cd58cd4459f00b4ecf5abed13e77ac4ad06c 3c659044118e34603161457db9934a34f816d78b e6a4cbe48cfca6adbe4e7acdf7e405c8315facaa 94f0510dc75e910400aad6c169048d672c8c7193 a38060ece699f22cd317219bec53c0d27279155b
 164416 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 54082c81d96028ba8c76fbe6784085cf1df76b20 61f28060d5b899c502e2b3bf45a39b1dd2a1224c
 164420 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 2fba7d4ee4a78c26cf6c3b97a99f38d43f80b3ff 3c659044118e34603161457db9934a34f816d78b e6a4cbe48cfca6adbe4e7acdf7e405c8315facaa ef88eeaf052c8a7d28c5f85e790c5e45bcffa45e a1dab05393ec5654e2a88be296cc973595ffb1d0
 164424 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 aa7f19f480551b1f19f8798e5b18dbe1d8d32d0c 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b046e05736deecbd8254540c5e45444115fb1c98
 164429 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 903ce1d8f868e394d5cea477bd568c7d68d109e9 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c e3c30795823672eec9bde75187e184f23ed98d70 b6a8c4f72def4d1135ff42660a86276ce2565c8c
 164432 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d58016b768cf82cebbf579e1e5658ef89641d944 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c e3c30795823672eec9bde75187e184f23ed98d70 0ff7f9c5aa02cd2469a8fc03f1ed262f18933721
 164437 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 507259373828ca160dea08fff8ffc44572e8be14 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b046e05736deecbd8254540c5e45444115fb1c98
 164441 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 e7641171b6c1f858f3d979c0e8f04d6c12870baa 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b046e05736deecbd8254540c5e45444115fb1c98
 164445 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 32fef03563abb58c439488836cf7884ceb1d7901 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b046e05736deecbd8254540c5e45444115fb1c98
 164449 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 2833589ad054ee51fadc5c408de4f028ddf485e3 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b046e05736deecbd8254540c5e45444115fb1c98
 164453 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b046e05736deecbd8254540c5e45444115fb1c98
 164458 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b046e05736deecbd8254540c5e45444115fb1c98
 164460 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b046e05736deecbd8254540c5e45444115fb1c98
 164463 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b046e05736deecbd8254540c5e45444115fb1c98
 159420 [host=godello1]
 164466 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b046e05736deecbd8254540c5e45444115fb1c98
 164469 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b046e05736deecbd8254540c5e45444115fb1c98
 164473 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b046e05736deecbd8254540c5e45444115fb1c98
 159450 [host=huxelrebe1]
 159840 [host=fiano1]
 160127 [host=albana1]
 160143 [host=albana0]
 160156 [host=fiano0]
 161048 [host=godello1]
 161324 [host=albana0]
 161484 [host=godello1]
 161771 [host=fiano0]
 162365 [host=huxelrebe0]
 162547 [host=godello0]
Searching for interesting versions
 Result found: flight 156594 (pass), for basis pass
 For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b046e05736deecbd8254540c5e45444115fb1c98, results HASH(0x55d8b7a07a40) HASH(0x55d8b78716b8) HASH(0x55d8b78a3788) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1\
 e6a472b0eb9558310b518f0dfcd8860 e7641171b6c1f858f3d979c0e8f04d6c12870baa 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b046e05736deecbd8254540c5e45444115fb1c98, results HASH(0x55d8b78b7738) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 aa7f19f480551b1f19f8798e5b18dbe1d8d32d0c 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac20\
 36153ccccf996e6c 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b046e05736deecbd8254540c5e45444115fb1c98, results HASH(0x55d8b78ba668) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 2fba7d4ee4a78c26cf6c3b97a99f38d43f80b3ff 3c659044118e34603161457db9934a34f816d78b e6a4cbe48cfca6adbe4e7acdf7e405c8315facaa ef88eeaf052c8a7d28c5f85e790c5e45bcffa45e a1dab05393ec5654e2a88be296cc973595ffb1d0, results HASH(0x55d8b78b6630) For basis\
  failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 1366cd58cd4459f00b4ecf5abed13e77ac4ad06c 3c659044118e34603161457db9934a34f816d78b e6a4cbe48cfca6adbe4e7acdf7e405c8315facaa 94f0510dc75e910400aad6c169048d672c8c7193 a38060ece699f22cd317219bec53c0d27279155b, results HASH(0x55d8b7898e38) HASH(0x55d8b787cc30) Result found: flight 164261 (fail), for basis failure (at ancestor ~1300)
 Repro found: flight 164408 (pass), for basis pass
 Repro found: flight 164416 (fail), for basis failure
 0 revisions at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b046e05736deecbd8254540c5e45444115fb1c98
No revisions left to test, checking graph state.
 Result found: flight 164458 (pass), for last pass
 Result found: flight 164460 (fail), for first failure
 Repro found: flight 164463 (pass), for last pass
 Repro found: flight 164466 (fail), for first failure
 Repro found: flight 164469 (pass), for last pass
 Repro found: flight 164473 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  ovmf git://xenbits.xen.org/osstest/ovmf.git
  Bug introduced:  d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Bug not present: 3357ac73807d83eb212632ee7c2e032a20a49c56
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164473/


  commit d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Author: Laszlo Ersek <lersek@redhat.com>
  Date:   Wed May 26 22:14:24 2021 +0200
  
      OvmfPkg/PlatformPei: remove Xen support
      
      The "OvmfPkg/PlatformPei/PlatformPei.inf" module is used by the following
      platform DSCs:
      
        OvmfPkg/AmdSev/AmdSevX64.dsc
        OvmfPkg/OvmfPkgIa32.dsc
        OvmfPkg/OvmfPkgIa32X64.dsc
        OvmfPkg/OvmfPkgX64.dsc
      
      Remove Xen support from "OvmfPkg/PlatformPei", including any dependencies
      that now become unused. The basic idea is to substitute FALSE for "mXen".
      
      Remove "OvmfPkg/PlatformPei" from the "OvmfPkg: Xen-related modules"
      section of "Maintainers.txt".
      
      This patch is best reviewed with "git show -b -W".
      
      Cc: Andrew Fish <afish@apple.com>
      Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
      Cc: Jordan Justen <jordan.l.justen@intel.com>
      Cc: Leif Lindholm <leif@nuviainc.com>
      Cc: Michael D Kinney <michael.d.kinney@intel.com>
      Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
      Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2122
      Signed-off-by: Laszlo Ersek <lersek@redhat.com>
      Message-Id: <20210526201446.12554-22-lersek@redhat.com>
      Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
      Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
      Reviewed-by: Leif Lindholm <leif@nuviainc.com>

neato: graph is too large for cairo-renderer bitmaps. Scaling by 0.495809 to fit
pnmtopng: 46 colors found
Revision graph left in /home/logs/results/bisect/xen-4.14-testing/test-amd64-amd64-xl-qemuu-ovmf-amd64.debian-hvm-install.{dot,ps,png,html,svg}.
----------------------------------------
164473: tolerable ALL FAIL

flight 164473 xen-4.14-testing real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/164473/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail baseline untested


jobs:
 test-amd64-amd64-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



From xen-devel-bounces@lists.xenproject.org Wed Aug 25 06:49:06 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 06:49:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171818.313527 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mImiT-0003cI-OX; Wed, 25 Aug 2021 06:48:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171818.313527; Wed, 25 Aug 2021 06: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 1mImiT-0003cB-LX; Wed, 25 Aug 2021 06:48:53 +0000
Received: by outflank-mailman (input) for mailman id 171818;
 Wed, 25 Aug 2021 06:48:51 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BPkz=NQ=gmail.com=sj38.park@srs-us1.protection.inumbo.net>)
 id 1mImiR-0003c5-L5
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 06:48:51 +0000
Received: from mail-qt1-x82c.google.com (unknown [2607:f8b0:4864:20::82c])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 1a4555a0-560a-44de-9657-8f786e0c3478;
 Wed, 25 Aug 2021 06:48:50 +0000 (UTC)
Received: by mail-qt1-x82c.google.com with SMTP id l24so19013315qtj.4
 for <xen-devel@lists.xenproject.org>; Tue, 24 Aug 2021 23:48:50 -0700 (PDT)
Received: from localhost.localdomain
 (ec2-35-169-212-159.compute-1.amazonaws.com. [35.169.212.159])
 by smtp.gmail.com with ESMTPSA id o12sm10014806qtt.94.2021.08.24.23.48.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Aug 2021 23:48:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1a4555a0-560a-44de-9657-8f786e0c3478
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to;
        bh=ENBxngmdLQ/NL0N3ysSaUZ4vQacscEK9QX6WnH5kxyg=;
        b=c+3fF9XlhyL1XuabSU36NdbLoJJJqAFgNUbH0XRYLkiY49q5Jkvm6uYezEK5eRUqqV
         j3sVeqOTWWdmRolA40QDTX3tOX7pTy2y9gvho/DGKrJBT9ingp+mvfEzLgR4LnQlrltp
         3qXK2oa5Y5yO2ZrXH37RG4quhtYeB72bTznAvIFEASBw/T26mom9yVDkbcU/9TPBfDdJ
         oZIyjYLovPQxega6OZUoMJgw2ybvWZN70CvwkNZLV+LL+4+Vwibz9XLlRvIQqA9u5tzo
         wjk+G/9gw28xTYV3JjbRIusRnUQKnRe7SYYFPbPbdaw9D3ZbBQHpkyngDJxHUe6BBQ64
         +dLw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to;
        bh=ENBxngmdLQ/NL0N3ysSaUZ4vQacscEK9QX6WnH5kxyg=;
        b=jKPuq8hQu+MYqHn5u2syT7jy1Tj1ayrtVv3Z6Wq+q2QSOQMjsjD7zblYLtrZyU8ulV
         w+cqrL22dfz5O7YLYX1sYuwmICkOk4yFxPKRi/fZXAVVHKVkr8w72OcMz4+5M6a/XGg0
         RsdDGo6+8KfWtHmsxzL/6nXyyYY8TQGa23qd2Z0yTxArSwcSYV6k3Yw7Df4O/fUjzi5a
         VAefS81ex5KjM2Zw69hcXg3qj3/6s5sBk6NffMiw9Vzhz+kxA6T8F4f1PtwWYQDEeqmZ
         ePi9rb1yceNI2h6b9dbX8sBHMfcsNNpwLYJZuANIYOR5UKOclB6Io9zpx90q1iII4nJx
         A7uw==
X-Gm-Message-State: AOAM532QUc5UFstdk/eKOJ9KTeyeQGu94r4mRTBFJxx8LYacC/r6Mmdj
	EwttK3nD1EzOj42J6y/jquM=
X-Google-Smtp-Source: ABdhPJyyrPWm2MTX8dyV1M5SN44qtCWu+Y5hVbiNci8LEvUANwoJXkQ8BoOPZihcdfcxfsogEpAjKQ==
X-Received: by 2002:ac8:7dcb:: with SMTP id c11mr39139656qte.260.1629874130385;
        Tue, 24 Aug 2021 23:48:50 -0700 (PDT)
From: SeongJae Park <sj38.park@gmail.com>
X-Google-Original-From: SeongJae Park <sjpark@amazon.de>
To: CGEL <cgel.zte@gmail.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	SeongJae Park <sjpark@amazon.de>,
	Roger Pau Monne <roger.pau@citrix.com>,
	xen-devel@lists.xenproject.org,
	Jing Yangyang <jing.yangyang@zte.com.cn>,
	Zeal Robot <zealci@zte.com.cn>
Subject: Re: [PATCH linux-next] drivers/xen/xenbus/xenbus_client.c: fix bugon.cocci warnings
Date: Wed, 25 Aug 2021 06:48:43 +0000
Message-Id: <20210825064843.3027-1-sjpark@amazon.de>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20210825062451.69998-1-deng.changcheng@zte.com.cn>

From: SeongJae Park <sjpark@amazon.de>

On Tue, 24 Aug 2021 23:24:51 -0700 CGEL <cgel.zte@gmail.com> wrote:

> From: Jing Yangyang <jing.yangyang@zte.com.cn>
> 
> Use BUG_ON instead of a if condition followed by BUG.
> 
> Generated by: scripts/coccinelle/misc/bugon.cocci
> 
> Reported-by: Zeal Robot <zealci@zte.com.cn>
> Signed-off-by: Jing Yangyang <jing.yangyang@zte.com.cn>

Reviewed-by: SeongJae Park <sjpark@amazon.de>


Thanks,
SJ

[...]


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 09:07:38 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 09:07:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171841.313556 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIosV-0001YF-95; Wed, 25 Aug 2021 09:07:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171841.313556; Wed, 25 Aug 2021 09: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 1mIosV-0001Y8-63; Wed, 25 Aug 2021 09:07:23 +0000
Received: by outflank-mailman (input) for mailman id 171841;
 Wed, 25 Aug 2021 09:07: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 1mIosU-0001Xy-Fp; Wed, 25 Aug 2021 09:07: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 1mIosT-0000NC-W3; Wed, 25 Aug 2021 09:07: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 1mIosT-0000BN-Kp; Wed, 25 Aug 2021 09:07:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mIosT-0004hr-KJ; Wed, 25 Aug 2021 09:07:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Q3ENVxWAg6GghDr15f1vMjZVjZkxarjaHxmrf9RaBeA=; b=PXrGJ04tmob+Ack8ekCGYUPF/e
	01LEopKSXzZR7H/HThOHR9qTnbQOY/mIhxlTNZ28OZ2n5xGAu6NbrCre6HGOxWZ2LPG4QpBcQcs9s
	ToEZs4F8j1PDMfppDTlEQIg99aj0pP2RJ2mfmArdBCQhblikomGQK+vKNs7iP+Rmt5aw=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164405-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 164405: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check: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-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=93713f444b3f29d6848527506db69cf78976b32d
X-Osstest-Versions-That:
    xen=93713f444b3f29d6848527506db69cf78976b32d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 25 Aug 2021 09:07:21 +0000

flight 164405 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164405/

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 164309
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164309
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164309
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 164309
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 164309
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164309
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164309
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 164309
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164309
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164309
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164309
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-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-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 xen                  93713f444b3f29d6848527506db69cf78976b32d
baseline version:
 xen                  93713f444b3f29d6848527506db69cf78976b32d

Last test of basis   164405  2021-08-23 08:02:08 Z    2 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Wed Aug 25 09:31:43 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 09:31:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171850.313569 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIpFw-0004tb-CU; Wed, 25 Aug 2021 09:31:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171850.313569; Wed, 25 Aug 2021 09:31:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIpFw-0004tU-9a; Wed, 25 Aug 2021 09:31:36 +0000
Received: by outflank-mailman (input) for mailman id 171850;
 Wed, 25 Aug 2021 09:31:35 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5IQt=NQ=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIpFv-0004tO-Bu
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 09:31:35 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 36b867f1-ac9f-436c-a4bf-1f28b1a6c7ef;
 Wed, 25 Aug 2021 09:31:34 +0000 (UTC)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2112.outbound.protection.outlook.com [104.47.18.112])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-26-_cAQEzJXPlGWfaoD0Ihshw-1; Wed, 25 Aug 2021 11:31:31 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB7150.eurprd04.prod.outlook.com (2603:10a6:800:12a::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17; Wed, 25 Aug
 2021 09:31:31 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Wed, 25 Aug 2021
 09:31:31 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR10CA0125.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:e6::42) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Wed, 25 Aug 2021 09:31: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: 36b867f1-ac9f-436c-a4bf-1f28b1a6c7ef
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629883893;
	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=3wL5NfZbDuJQwcfOKv7jDO/hZ9T1xH/xY8hlcSucT28=;
	b=XuPAGmlj0TsAZ8zYTDjVYOeItiMqarCEfNTYqB/lzL+5gE0tXilBNKCMX1YCn1C8QfAgjd
	ladroZQAyb0bX0kpBHBys35yoFYeeSNcWHKyf3sPr7QoohiS+BDBfZa+CKV+7YISuF2ql9
	l8OPFxyQvbd/FV/3DwMwCH4Ag5ve7ic=
X-MC-Unique: _cAQEzJXPlGWfaoD0Ihshw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Z7QoQMONZ+xopcz4P3JpkZtC/Ef3hO9JUrU6+ZpWGS8HDkzqKjMRVFFikiNIFXYPBKUla+ZjwCtQvWO+t7MvitX2QP5vAb6ufFDNxj5KYH2R3HoPZ8+WXgWZ+6JaEYo/yl3LaGGGw+36JZrMdDoc3xBaW6Pg/NOqEWVQC2yy6ydKD31ayNmz9rA4mRGylkKicn1HgFJmuFhHyZVx84up8p+L2oDWXinoU0mZX7SrdpfGRjvk0GOH4gBekS1G2lZyPCguX69PtZEL0gmEOiJZdg35DWSNa9wKULsfmviEMrQsNatOYjxPHdPXgsFxF/hXQDdPJCMb5uU/aSUk5/OVeQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3wL5NfZbDuJQwcfOKv7jDO/hZ9T1xH/xY8hlcSucT28=;
 b=b8VeEVMyz9GxERsWrOigHwnRyxlbtX1TX7B/FBUgTShuBgNriRQlP/FA8u6Yv7GOJ/YD3TkXD9+ITyw0tsHFlkH1G0gQE15gDC4fSxK/BWLi8scki8q985o5hY1zioizZh7w9bBJEXzW2KrGw/8Z8ndD7lHwLcallimJIWjiwLCtMXJnJoPuuqq55WtRozK5BQksC347cn/Q3RbLowhq0IQ1pv+LRpV3AxYLRsRLo3U6dG/jnYKi1yV/4Who/kKEtcuVtwxbIMPcVZIzA6PstXWLHEftnb2yFFB0BbdCKkOwmgQs8sNEMA0QrdYK7VJ1g/zsKKhsv0D66j58grO1Xw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: citrix.com; dkim=none (message not signed)
 header.d=none;citrix.com; dmarc=none action=none header.from=suse.com;
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/altp2m: don't consider "active" when enabling failed
Message-ID: <f0de7945-84df-8668-f94a-c15cd5196be3@suse.com>
Date: Wed, 25 Aug 2021 11:31:29 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM0PR10CA0125.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:208:e6::42) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c4338009-9302-4b07-5c38-08d967ab1f2e
X-MS-TrafficTypeDiagnostic: VI1PR04MB7150:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB71502FCDDE96BBDFE4D3AF60B3C69@VI1PR04MB7150.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:4714;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	KBGSk70NcSwEx03hmUd9RgWhhut95lg2k7i/LpFs43KIKqv6Eorp6BNqUXzF3bvt7LIw4m1PCmE3+94GL+57A0BVrdpPsESvhOU+2cbrM3EMPIdk9Iq34M+/31bvhZCABbgLhyAQHfgO6sUg/ANPZ3GrAWnRfQ80I7BqT3CTKIJ43IFInM18eWVDdMlTx36Zgp/pdeWX/H4dVcvYNejx52nzr7R4zqgvNOp4vBPm4Hs3NOCgdzxhQUQqKkDuIETY5QMPgjuBkEww5q8uL8JPhX2HXP4gn9+KETAxcIyyhSahMs2BsOxYrSSl8oqsmttbYJLdlF5FMcmit+QsQP+2TWgQws235S9xOGVWRe3VRB/Z10xQAVOaheX7lhpMNg+dt5E/EcoBu4sS19NxiOv/icoSZWW8FNKFd+8OD4f78mObLq1Y63ly37LCQnoE5ZEWV4Au5Mok9BgvTahOezQDfwVRqMmNZ+xYzdx8TGY1FfKM/koT/IaXnP1XxGqnVGKoRkvCAmVxi9R1ujONTXia6XxeEptgLDL8OgqqrA5L/GPvprqTNV63QIXrpTwYVRKqxVuTzw8niEAfqXbIwuAbrQBZKrlNMCylTdwmspjZcXIMLIxcJOMYnkrXjw3H+ds6uMTKky2A/47imh3hR/f9xqPw/kWG3hXYSXhwObpirIpoHS8xPH40QxmXA0rwByNRSvNyBl+LfgFxZ8hod9+vVZwqXwaciOS3Z8T2gL+jVPE=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(396003)(39860400002)(136003)(366004)(376002)(83380400001)(8676002)(8936002)(6916009)(31696002)(54906003)(316002)(38100700002)(4326008)(16576012)(186003)(478600001)(956004)(2616005)(66946007)(66476007)(2906002)(66556008)(31686004)(6486002)(36756003)(5660300002)(4744005)(86362001)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?V2hRVnk3SVJxMEFoRXJsM2h4c0ljWjdWdk93V0luR29DZitSZ1p5YjNzZ3h2?=
 =?utf-8?B?UGdMQlBVbFJQTXFjMitzelJoQUVjQ2MxTnZXUndjcWlMdGRjZTVPay9pZ1pz?=
 =?utf-8?B?RDhzbUZxN0R5d1dCMXErekJIMzI5cXBRdmhzbmFaTmNuM2Zpbmd3UWw0RFVD?=
 =?utf-8?B?VnhDTkhYQWdsb0s3cWNRSjNrN0ppT1JTOUx3cTZMOFNlUFdxYmp0VnNSN3NZ?=
 =?utf-8?B?NVA5d1lZY1VqNlVEYit4VkdXYXdtZVlrWGRzQXhxOFVhNWhZZVBvamlwcnZC?=
 =?utf-8?B?Rk5TeEphWGdsckNMVXVueis0bzV4aHIzKytaRVYvYmhsT0k3VHRjQ3dlNkxa?=
 =?utf-8?B?bWpONEMvOWFqRS9aVkN2OGhNSFFNM1VGUjVlaDh1VjE5YitESml6L0FrREls?=
 =?utf-8?B?Rk1zZmxOL3dxakQ5OUZvcTllc0ROb3oyR0tvM0ZDV3F4TkRVSG1rS3J2Mmpp?=
 =?utf-8?B?RVl3YUZqem5DZmI3MnBZY1R0Nysrb296Z2RRaFdlaW0wQ0VIR1R4cnhqdEYv?=
 =?utf-8?B?QTRKd0g1Yktad012dE44VUxvdlRaWGRJRjM4KzV5UWdwRTlEcGNzRSt5YUIv?=
 =?utf-8?B?bmxzdFVoSXU0SytIL0ZSRnFGY2lpZnpRYjBjUEhsT2V2SUtLamVUSEYzeHp0?=
 =?utf-8?B?Mm16ZGhJUGs1dXMwdVpJNTBjbHNrSGtncmw0RjVjY3MvTm8yMUxuNWF1aVpo?=
 =?utf-8?B?TWZva0ZMbW04UkQ2N0kveExhVlVZa0grTWZBbUhSVC9SUEg5eGJMdG5xc2VY?=
 =?utf-8?B?aC9ZSjQrdWJDY0E5SmlDTURGTUh2RENTYU9leHVpejdObG00T1VZNDBWS0RM?=
 =?utf-8?B?V0E0UDNwbkZmUkIyMkZUZkRjaHBzT3ZlbzFzT2VHQSs2VGRBekxWL1JFWTBv?=
 =?utf-8?B?dmt3QmZyVDZnaHpKSEFFemJwQ2NxU01FcVBjYm01SGY2YXRJOFVvVVRaL0w2?=
 =?utf-8?B?L09oMWc4TEh0dUNobEVvMFRxcHlvL1duV0k2U1VqaERxTy9TNktKckNlaHpr?=
 =?utf-8?B?TFFuWUY0YndzMlpRSFErWDQrVmpUdHYvdFNjeTVUUWkyaUR4OTRienlMcWtx?=
 =?utf-8?B?M3A3Y3lZQklvUldiWUNMK2NDbGl1RnVYOFF0WUtvRG1TU05oZ3UxY1RGdWVZ?=
 =?utf-8?B?eE9NLytvNEhFMjNHMmZ6MUQwdVQ3S1poZUxaQStWWkV0U3I5Q3dqazV0bjJZ?=
 =?utf-8?B?eWVwcENtbHRVMHdJaXVDUVR1WmZnNWRONEJoL05sWjBvZ0JBc0UwbzNOVnVi?=
 =?utf-8?B?bTFQeHFqL1BwM3pWazVKeDhtOGZrbG82ZFIyNFJMRXRGTHZSK2pyWWNxcUtQ?=
 =?utf-8?B?a2NCSEl1b2trVU1YRFVEeW5VRW9QYThoSlVERUtkeGtTUGZZTWdsZGlYVUll?=
 =?utf-8?B?L0lRbHFPU1kyNGg5RmZXNnZ2Z1k2QUx0VEltejA4a3p1QUpVaitIOHpFNjB3?=
 =?utf-8?B?YnBuRkd4VUFRbm1sbWZsWHhqeHIzZFFWeVZUUllBaWpFZUhudjlLZWdxKzVx?=
 =?utf-8?B?eHJNRGswbno2emdjQ25JOWhaSWQyNXY2Mk1oMTFQckVlQXdCMFU1dlAzZWFV?=
 =?utf-8?B?WURxVUlxbTRGV3lpcDZIU3BZdWVwQjFSeFFYeEF4MnUwTG16THBSTlg4ZzJ4?=
 =?utf-8?B?SWVsclBwZ2xHOC81N25ZS2R1Tkl2VnpqK3VLdk9uSTVHQlptYklkM0hlNkNm?=
 =?utf-8?B?czFoSFYxNFlNTzVLMDdzeGZmRENUM0FUaFoxZm41cytBSWkrUE52cWl1M3Nv?=
 =?utf-8?Q?qBJAd0lBBHsBRDCWSbnePLGUKVf8KAgeGQmGEwF?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c4338009-9302-4b07-5c38-08d967ab1f2e
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2021 09:31:31.0685
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: fwFN0DNPnExOu051qFhlB0t3e6pXveT5INq2NIPcWG6Hrk+C7svuXIb9ZEGuETAjdGvfuq+Jqvu7faF7WMEetw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7150

We should not rely on guests to not use altp2m after reporting failure
of HVMOP_altp2m_set_domain_state to them. Set "active" back to false in
this case.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -4609,6 +4609,8 @@ static int do_altp2m_op(
             if ( ostate )
                 p2m_flush_altp2m(d);
         }
+        else if ( rc )
+            d->arch.altp2m_active = false;
 
         domain_unpause_except_self(d);
         break;



From xen-devel-bounces@lists.xenproject.org Wed Aug 25 10:00:23 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 10:00:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171859.313590 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIphg-00008r-Ps; Wed, 25 Aug 2021 10:00:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171859.313590; Wed, 25 Aug 2021 10: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 1mIphg-00008k-Mt; Wed, 25 Aug 2021 10:00:16 +0000
Received: by outflank-mailman (input) for mailman id 171859;
 Wed, 25 Aug 2021 10:00:15 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=w1tz=NQ=kernel.org=patchwork-bot+netdevbpf@srs-us1.protection.inumbo.net>)
 id 1mIphe-00008c-UQ
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 10:00:15 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 5396b6cc-4860-4c4e-916f-1589e0bea0be;
 Wed, 25 Aug 2021 10:00:14 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPS id 78B5861181;
 Wed, 25 Aug 2021 10:00:13 +0000 (UTC)
Received: from pdx-korg-docbuild-2.ci.codeaurora.org (localhost.localdomain
 [127.0.0.1])
 by pdx-korg-docbuild-2.ci.codeaurora.org (Postfix) with ESMTP id 6BCC460A0C;
 Wed, 25 Aug 2021 10:00: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: 5396b6cc-4860-4c4e-916f-1589e0bea0be
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1629885613;
	bh=/j7V0rHN5mvkR3PCKNqygqm9JTsHOAgX7rRf0HZfO2E=;
	h=Subject:From:Date:References:In-Reply-To:To:Cc:From;
	b=o0WmhyakyWd+GT0TLgfyHN5honhXpJ+lsSLrdO/zX8G0cLrHrhKlSI7CryVGSy6n5
	 DrnJj0HDTzPpTWw9v5PVu116H0EXyZ8VJmmfoMYk1tOC84uyK/ew+JSwUdBuQ4QTuE
	 qBrCbw6M7zMITEu3CXArGWYTHdYEAPJV1TMfK+MpOcNwP8eKNtyDa1b3UfJ5r8yfP/
	 8YAFVXPDb0CNwy09JIqOPncaDJ8PX1EwxtU0Di4R84FVc3VOQIh4lyzeiUngapo6Xv
	 2Epug1LDx7/Oyb+tKYZsXLTIaEVe0re9b9yTJx/ku0dLau49WwZGxTR0v50wK78+30
	 LYo3JxTxLJfIA==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Subject: Re: [PATCH v2 0/4] xen: harden netfront against malicious backends
From: patchwork-bot+netdevbpf@kernel.org
Message-Id: 
 <162988561343.31154.5658614827184945239.git-patchwork-notify@kernel.org>
Date: Wed, 25 Aug 2021 10:00:13 +0000
References: <20210824102809.26370-1-jgross@suse.com>
In-Reply-To: <20210824102809.26370-1-jgross@suse.com>
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, netdev@vger.kernel.org,
 linux-kernel@vger.kernel.org, boris.ostrovsky@oracle.com,
 sstabellini@kernel.org, davem@davemloft.net, kuba@kernel.org

Hello:

This series was applied to netdev/net-next.git (refs/heads/master):

On Tue, 24 Aug 2021 12:28:05 +0200 you wrote:
> Xen backends of para-virtualized devices can live in dom0 kernel, dom0
> user land, or in a driver domain. This means that a backend might
> reside in a less trusted environment than the Xen core components, so
> a backend should not be able to do harm to a Xen guest (it can still
> mess up I/O data, but it shouldn't be able to e.g. crash a guest by
> other means or cause a privilege escalation in the guest).
> 
> [...]

Here is the summary with links:
  - [v2,1/4] xen/netfront: read response from backend only once
    https://git.kernel.org/netdev/net-next/c/8446066bf8c1
  - [v2,2/4] xen/netfront: don't read data from request on the ring page
    https://git.kernel.org/netdev/net-next/c/162081ec33c2
  - [v2,3/4] xen/netfront: disentangle tx_skb_freelist
    https://git.kernel.org/netdev/net-next/c/21631d2d741a
  - [v2,4/4] xen/netfront: don't trust the backend response data blindly
    https://git.kernel.org/netdev/net-next/c/a884daa61a7d

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 Wed Aug 25 10:22:04 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 10:22:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171870.313604 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIq2V-0002tY-Q0; Wed, 25 Aug 2021 10:21:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171870.313604; Wed, 25 Aug 2021 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 1mIq2V-0002tR-MT; Wed, 25 Aug 2021 10:21:47 +0000
Received: by outflank-mailman (input) for mailman id 171870;
 Wed, 25 Aug 2021 10:21: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 1mIq2U-0002tJ-NE
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 10:21: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 1mIq2T-0001gA-HT; Wed, 25 Aug 2021 10:21:45 +0000
Received: from 54-240-197-238.amazon.com ([54.240.197.238]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mIq2T-00011Q-BH; Wed, 25 Aug 2021 10:21:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=1iyyE2oZM+QakXXEPOax/adn3Qxcln//6vBE3cp0gJY=; b=O5RbE/7dipYX+20uw/TuMtCVKE
	XGU7kHqZmog7Kv/ST5eh6KyFOKF8eQVient//0BsBZF95yOd+vRZDRhUxv5FcXvgK1KDbeJvSgGVN
	idEZFsJlFuxvQalcMAHO3zbu8sOkMgHhJgp3+AozQ/b3pX1JDCGfzM0+aXoeW8RJfi6o=;
Subject: Re: [XEN RFC PATCH 12/40] xen/x86: Move numa_initmem_init to common
To: Wei Chen <wei.chen@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, jbeulich@suse.com
Cc: Bertrand.Marquis@arm.com
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-13-wei.chen@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <8c2daae2-df32-14ad-8f08-27fec30cf9b9@xen.org>
Date: Wed, 25 Aug 2021 11:21:43 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210811102423.28908-13-wei.chen@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Wei,

On 11/08/2021 11:23, Wei Chen wrote:
> This function can be reused by Arm device tree based
> NUMA support. So we move it from x86 to common, as well
> as its related variables and functions:
> setup_node_bootmem, numa_init_array and numa_emulation.
> 
> As numa_initmem_init has been moved to common, _memnodemap
> is not used cross files. We can restore _memnodemap to
> static.

As we discussed on a previous patch, we should try to avoid this kind of 
dance. I can help to find a split that would achieve that.

> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>   xen/arch/x86/numa.c         | 118 ----------------------------------
>   xen/common/numa.c           | 122 +++++++++++++++++++++++++++++++++++-
>   xen/include/asm-x86/numa.h  |   5 --
>   xen/include/asm-x86/setup.h |   1 -
>   xen/include/xen/numa.h      |   8 ++-
>   5 files changed, 128 insertions(+), 126 deletions(-)
> 
> diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c
> index f2626b3968..6908738305 100644
> --- a/xen/arch/x86/numa.c
> +++ b/xen/arch/x86/numa.c
> @@ -38,7 +38,6 @@ nodeid_t apicid_to_node[MAX_LOCAL_APIC] = {
>   
>   nodemask_t __read_mostly node_online_map = { { [0] = 1UL } };
>   
> -bool numa_off;
>   s8 acpi_numa = 0;
>   
>   int srat_disabled(void)
> @@ -46,123 +45,6 @@ int srat_disabled(void)
>       return numa_off || acpi_numa < 0;
>   }
>   
> -/* initialize NODE_DATA given nodeid and start/end */
> -void __init setup_node_bootmem(nodeid_t nodeid, u64 start, u64 end)
> -{
> -    unsigned long start_pfn, end_pfn;
> -
> -    start_pfn = start >> PAGE_SHIFT;
> -    end_pfn = end >> PAGE_SHIFT;
> -
> -    NODE_DATA(nodeid)->node_start_pfn = start_pfn;
> -    NODE_DATA(nodeid)->node_spanned_pages = end_pfn - start_pfn;
> -
> -    node_set_online(nodeid);
> -}
> -
> -void __init numa_init_array(void)
> -{
> -    int rr, i;
> -
> -    /* There are unfortunately some poorly designed mainboards around
> -       that only connect memory to a single CPU. This breaks the 1:1 cpu->node
> -       mapping. To avoid this fill in the mapping for all possible
> -       CPUs, as the number of CPUs is not known yet.
> -       We round robin the existing nodes. */
> -    rr = first_node(node_online_map);
> -    for ( i = 0; i < nr_cpu_ids; i++ )
> -    {
> -        if ( cpu_to_node[i] != NUMA_NO_NODE )
> -            continue;
> -        numa_set_node(i, rr);
> -        rr = cycle_node(rr, node_online_map);
> -    }
> -}
> -
> -#ifdef CONFIG_NUMA_EMU
> -static int numa_fake __initdata = 0;
> -
> -/* Numa emulation */
> -static int __init numa_emulation(u64 start_pfn, u64 end_pfn)
> -{
> -    int i;
> -    struct node nodes[MAX_NUMNODES];
> -    u64 sz = ((end_pfn - start_pfn)<<PAGE_SHIFT) / numa_fake;
> -
> -    /* Kludge needed for the hash function */
> -    if ( hweight64(sz) > 1 )
> -    {
> -        u64 x = 1;
> -        while ( (x << 1) < sz )
> -            x <<= 1;
> -        if ( x < sz/2 )
> -            printk(KERN_ERR "Numa emulation unbalanced. Complain to maintainer\n");
> -        sz = x;
> -    }
> -
> -    memset(&nodes,0,sizeof(nodes));
> -    for ( i = 0; i < numa_fake; i++ )
> -    {
> -        nodes[i].start = (start_pfn<<PAGE_SHIFT) + i*sz;
> -        if ( i == numa_fake - 1 )
> -            sz = (end_pfn<<PAGE_SHIFT) - nodes[i].start;
> -        nodes[i].end = nodes[i].start + sz;
> -        printk(KERN_INFO "Faking node %d at %"PRIx64"-%"PRIx64" (%"PRIu64"MB)\n",
> -               i,
> -               nodes[i].start, nodes[i].end,
> -               (nodes[i].end - nodes[i].start) >> 20);
> -        node_set_online(i);
> -    }
> -    memnode_shift = compute_hash_shift(nodes, numa_fake, NULL);
> -    if ( memnode_shift < 0 )
> -    {
> -        memnode_shift = 0;
> -        printk(KERN_ERR "No NUMA hash function found. Emulation disabled.\n");
> -        return -1;
> -    }
> -    for_each_online_node ( i )
> -        setup_node_bootmem(i, nodes[i].start, nodes[i].end);
> -    numa_init_array();
> -
> -    return 0;
> -}
> -#endif
> -
> -void __init numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn)
> -{
> -    int i;
> -
> -#ifdef CONFIG_NUMA_EMU
> -    if ( numa_fake && !numa_emulation(start_pfn, end_pfn) )
> -        return;
> -#endif
> -
> -#ifdef CONFIG_ACPI_NUMA
> -    if ( !numa_off && !acpi_scan_nodes((u64)start_pfn << PAGE_SHIFT,
> -         (u64)end_pfn << PAGE_SHIFT) )
> -        return;
> -#endif
> -
> -    printk(KERN_INFO "%s\n",
> -           numa_off ? "NUMA turned off" : "No NUMA configuration found");
> -
> -    printk(KERN_INFO "Faking a node at %016"PRIx64"-%016"PRIx64"\n",
> -           (u64)start_pfn << PAGE_SHIFT,
> -           (u64)end_pfn << PAGE_SHIFT);
> -    /* setup dummy node covering all memory */
> -    memnode_shift = BITS_PER_LONG - 1;
> -    memnodemap = _memnodemap;
> -    memnodemapsize = ARRAY_SIZE(_memnodemap);
> -
> -    nodes_clear(node_online_map);
> -    node_set_online(0);
> -    for ( i = 0; i < nr_cpu_ids; i++ )
> -        numa_set_node(i, 0);
> -    cpumask_copy(&node_to_cpumask[0], cpumask_of(0));
> -    setup_node_bootmem(0, (u64)start_pfn << PAGE_SHIFT,
> -                    (u64)end_pfn << PAGE_SHIFT);
> -}
> -
>   void numa_set_node(int cpu, nodeid_t node)
>   {
>       cpu_to_node[cpu] = node;
> diff --git a/xen/common/numa.c b/xen/common/numa.c
> index 1facc8fe2b..26c0006d04 100644
> --- a/xen/common/numa.c
> +++ b/xen/common/numa.c
> @@ -14,12 +14,13 @@
>   #include <xen/smp.h>
>   #include <xen/pfn.h>
>   #include <xen/sched.h>

NIT: We tend to add a newline betwen <xen/...> headers and <asm/...> 
headers.

> +#include <asm/acpi.h>
>   
>   struct node_data node_data[MAX_NUMNODES];
>   
>   /* Mapping from pdx to node id */
>   int memnode_shift;
> -typeof(*memnodemap) _memnodemap[64];
> +static typeof(*memnodemap) _memnodemap[64];
>   unsigned long memnodemapsize;
>   u8 *memnodemap;
>   
> @@ -34,6 +35,8 @@ int num_node_memblks;
>   struct node node_memblk_range[NR_NODE_MEMBLKS];
>   nodeid_t memblk_nodeid[NR_NODE_MEMBLKS];
>   
> +bool numa_off;
> +
>   /*
>    * Given a shift value, try to populate memnodemap[]
>    * Returns :
> @@ -191,3 +194,120 @@ void numa_add_cpu(int cpu)
>   {
>       cpumask_set_cpu(cpu, &node_to_cpumask[cpu_to_node(cpu)]);
>   }
> +
> +/* initialize NODE_DATA given nodeid and start/end */
> +void __init setup_node_bootmem(nodeid_t nodeid, u64 start, u64 end)

 From an abstract PoV, start and end should be paddr_t. This should be 
done on a separate patch though.

> +{
> +    unsigned long start_pfn, end_pfn;
> +
> +    start_pfn = start >> PAGE_SHIFT;
> +    end_pfn = end >> PAGE_SHIFT;
> +
> +    NODE_DATA(nodeid)->node_start_pfn = start_pfn;
> +    NODE_DATA(nodeid)->node_spanned_pages = end_pfn - start_pfn;
> +
> +    node_set_online(nodeid);
> +}
> +
> +void __init numa_init_array(void)
> +{
> +    int rr, i;
> +
> +    /* There are unfortunately some poorly designed mainboards around
> +       that only connect memory to a single CPU. This breaks the 1:1 cpu->node
> +       mapping. To avoid this fill in the mapping for all possible
> +       CPUs, as the number of CPUs is not known yet.
> +       We round robin the existing nodes. */
> +    rr = first_node(node_online_map);
> +    for ( i = 0; i < nr_cpu_ids; i++ )
> +    {
> +        if ( cpu_to_node[i] != NUMA_NO_NODE )
> +            continue;
> +        numa_set_node(i, rr);
> +        rr = cycle_node(rr, node_online_map);
> +    }
> +}
> +
> +#ifdef CONFIG_NUMA_EMU
> +int numa_fake __initdata = 0;
> +
> +/* Numa emulation */
> +static int __init numa_emulation(u64 start_pfn, u64 end_pfn)

Here, this should be either "unsigned long" or ideally "mfn_t". 
Although, if you use "unsigned long", you will need to...

> +{
> +    int i;
> +    struct node nodes[MAX_NUMNODES];
> +    u64 sz = ((end_pfn - start_pfn)<<PAGE_SHIFT) / numa_fake;

... cast "(end_pfn - start_pfn)" to uin64_t or use pfn_to_paddr().

> +
> +    /* Kludge needed for the hash function */
> +    if ( hweight64(sz) > 1 )
> +    {
> +        u64 x = 1;
> +        while ( (x << 1) < sz )
> +            x <<= 1;
> +        if ( x < sz/2 )
> +            printk(KERN_ERR "Numa emulation unbalanced. Complain to maintainer\n");
> +        sz = x;
> +    }
> +
> +    memset(&nodes,0,sizeof(nodes));
> +    for ( i = 0; i < numa_fake; i++ )
> +    {
> +        nodes[i].start = (start_pfn<<PAGE_SHIFT) + i*sz;
> +        if ( i == numa_fake - 1 )
> +            sz = (end_pfn<<PAGE_SHIFT) - nodes[i].start;
> +        nodes[i].end = nodes[i].start + sz;
> +        printk(KERN_INFO "Faking node %d at %"PRIx64"-%"PRIx64" (%"PRIu64"MB)\n",
> +               i,
> +               nodes[i].start, nodes[i].end,
> +               (nodes[i].end - nodes[i].start) >> 20);
> +        node_set_online(i);
> +    }
> +    memnode_shift = compute_hash_shift(nodes, numa_fake, NULL);
> +    if ( memnode_shift < 0 )
> +    {
> +        memnode_shift = 0;
> +        printk(KERN_ERR "No NUMA hash function found. Emulation disabled.\n");
> +        return -1;
> +    }
> +    for_each_online_node ( i )
> +        setup_node_bootmem(i, nodes[i].start, nodes[i].end);
> +    numa_init_array();
> +
> +    return 0;
> +}
> +#endif
> +
> +void __init numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn)
> +{
> +    int i;
> +
> +#ifdef CONFIG_NUMA_EMU
> +    if ( numa_fake && !numa_emulation(start_pfn, end_pfn) )
> +        return;
> +#endif
> +
> +#ifdef CONFIG_ACPI_NUMA
> +    if ( !numa_off && !acpi_scan_nodes((u64)start_pfn << PAGE_SHIFT,
> +         (u64)end_pfn << PAGE_SHIFT) )

(u64)v << PAGE_SHIFT should be switched to use pfn_to_paddr() or 
mfn_to_paddr() if you decide to make start_pfn and end_pfn typesafe.

> +        return;
> +#endif
> +
> +    printk(KERN_INFO "%s\n",
> +           numa_off ? "NUMA turned off" : "No NUMA configuration found");
> +
> +    printk(KERN_INFO "Faking a node at %016"PRIx64"-%016"PRIx64"\n",
> +           (u64)start_pfn << PAGE_SHIFT,
> +           (u64)end_pfn << PAGE_SHIFT);

Same remark here. PRIx64 would also have to be switched to PRIpaddr.

> +    /* setup dummy node covering all memory */
> +    memnode_shift = BITS_PER_LONG - 1;
> +    memnodemap = _memnodemap;
> +    memnodemapsize = ARRAY_SIZE(_memnodemap);
> +
> +    nodes_clear(node_online_map);
> +    node_set_online(0);
> +    for ( i = 0; i < nr_cpu_ids; i++ )
> +        numa_set_node(i, 0);
> +    cpumask_copy(&node_to_cpumask[0], cpumask_of(0));
> +    setup_node_bootmem(0, (u64)start_pfn << PAGE_SHIFT,
> +                    (u64)end_pfn << PAGE_SHIFT);
> +}
> diff --git a/xen/include/asm-x86/numa.h b/xen/include/asm-x86/numa.h
> index e8a92ad9df..f8e4e15586 100644
> --- a/xen/include/asm-x86/numa.h
> +++ b/xen/include/asm-x86/numa.h
> @@ -21,16 +21,11 @@ extern nodeid_t pxm_to_node(unsigned int pxm);
>   
>   #define ZONE_ALIGN (1UL << (MAX_ORDER+PAGE_SHIFT))
>   
> -extern void numa_init_array(void);
> -extern bool numa_off;
> -
> -
>   extern int srat_disabled(void);
>   extern void numa_set_node(int cpu, nodeid_t node);
>   extern nodeid_t setup_node(unsigned int pxm);
>   extern void srat_detect_node(int cpu);
>   
> -extern void setup_node_bootmem(nodeid_t nodeid, u64 start, u64 end);
>   extern nodeid_t apicid_to_node[];
>   extern void init_cpu_to_node(void);
>   
> diff --git a/xen/include/asm-x86/setup.h b/xen/include/asm-x86/setup.h
> index 24be46115d..63838ba2d1 100644
> --- a/xen/include/asm-x86/setup.h
> +++ b/xen/include/asm-x86/setup.h
> @@ -17,7 +17,6 @@ void early_time_init(void);
>   
>   void set_nr_cpu_ids(unsigned int max_cpus);
>   
> -void numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn);
>   void arch_init_memory(void);
>   void subarch_init_memory(void);
>   
> diff --git a/xen/include/xen/numa.h b/xen/include/xen/numa.h
> index 67b79a73a3..258a5cb3db 100644
> --- a/xen/include/xen/numa.h
> +++ b/xen/include/xen/numa.h
> @@ -26,7 +26,6 @@
>   extern int memnode_shift;
>   extern unsigned long memnodemapsize;
>   extern u8 *memnodemap;
> -extern typeof(*memnodemap) _memnodemap[64];
>   
>   struct node_data {
>       unsigned long node_start_pfn;
> @@ -69,6 +68,13 @@ extern int conflicting_memblks(u64 start, u64 end);
>   extern void cutoff_node(int i, u64 start, u64 end);
>   extern int valid_numa_range(u64 start, u64 end, nodeid_t node);
>   
> +extern void numa_init_array(void);
> +extern void numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn);
> +extern bool numa_off;
> +extern int numa_fake;
> +
> +extern void setup_node_bootmem(nodeid_t nodeid, u64 start, u64 end);
> +
>   #endif /* CONFIG_NUMA */
>   
>   #endif /* _XEN_NUMA_H */
> 

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 10:26:04 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 10:26:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171875.313615 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIq6e-0003ZS-B5; Wed, 25 Aug 2021 10:26:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171875.313615; Wed, 25 Aug 2021 10:26:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIq6e-0003ZL-89; Wed, 25 Aug 2021 10:26:04 +0000
Received: by outflank-mailman (input) for mailman id 171875;
 Wed, 25 Aug 2021 10:26: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 1mIq6d-0003ZB-Ak; Wed, 25 Aug 2021 10:26: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 1mIq6d-0001lE-5D; Wed, 25 Aug 2021 10:26: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 1mIq6c-0002zI-Sl; Wed, 25 Aug 2021 10:26:02 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mIq6c-0003j9-SF; Wed, 25 Aug 2021 10:26:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=IbVdtZ04dC/awqSy7iCwQTEfQkzO4/ZTKVgog+OWKcc=; b=G9DEEhYviSfQIpajCoLgzh887k
	zv6Q9Ydj1XvdcLF7ck8/P0q+CEIyRw1BzMl23EaT92HcTL0z1VrFceDAMCwgrAPqUavPI1Cupu9dN
	l37XC7rG4NRND0/6cFVTI5F2jo9jsOrlIs/tqaH20ubEm6/5cq6QIj0yBMdBDnbsbtmo=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164478-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-coverity test] 164478: all pass - PUSHED
X-Osstest-Versions-This:
    xen=a931e8e64af07bd333a31f3b71a3f8f3e7910857
X-Osstest-Versions-That:
    xen=93713f444b3f29d6848527506db69cf78976b32d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 25 Aug 2021 10:26:02 +0000

flight 164478 xen-unstable-coverity real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164478/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 xen                  a931e8e64af07bd333a31f3b71a3f8f3e7910857
baseline version:
 xen                  93713f444b3f29d6848527506db69cf78976b32d

Last test of basis   164344  2021-08-22 09:18:28 Z    3 days
Testing same since   164478  2021-08-25 09:18:31 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Julien Grall <jgrall@amazon.com>
  Michal Orzel <michal.orzel@arm.com>
  Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
  Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

jobs:
 coverity-amd64                                               pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   93713f444b..a931e8e64a  a931e8e64af07bd333a31f3b71a3f8f3e7910857 -> coverity-tested/smoke


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 10:30:01 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 10:30:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171883.313628 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIqAP-0004M0-2M; Wed, 25 Aug 2021 10:29:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171883.313628; Wed, 25 Aug 2021 10: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 1mIqAO-0004Lt-Vi; Wed, 25 Aug 2021 10:29:56 +0000
Received: by outflank-mailman (input) for mailman id 171883;
 Wed, 25 Aug 2021 10:29:56 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=iDYB=NQ=linaro.org=takahiro.akashi@srs-us1.protection.inumbo.net>)
 id 1mIqAO-0004Ln-H3
 for xen-devel@lists.xen.org; Wed, 25 Aug 2021 10:29:56 +0000
Received: from mail-pl1-x636.google.com (unknown [2607:f8b0:4864:20::636])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 10172b4d-ace6-4203-be92-0184875e9904;
 Wed, 25 Aug 2021 10:29:55 +0000 (UTC)
Received: by mail-pl1-x636.google.com with SMTP id b9so9682529plx.2
 for <xen-devel@lists.xen.org>; Wed, 25 Aug 2021 03:29:54 -0700 (PDT)
Received: from laputa (pdb6272e8.tkyea130.ap.so-net.ne.jp. [219.98.114.232])
 by smtp.gmail.com with ESMTPSA id b12sm22659666pff.63.2021.08.25.03.29.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 25 Aug 2021 03:29: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: 10172b4d-ace6-4203-be92-0184875e9904
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=date:from:to:cc:subject:message-id:references:mime-version
         :content-disposition:in-reply-to;
        bh=5iLgH/sMm6qzN7CswTbIky/YZr+sketasl4IwIH6gKg=;
        b=m1JaR8FxWl6k2Bxu/mdH7FyKXYaQGrShjqbMU+nzV0Qh2lIe6iuKqPFnGvqSnF2qH/
         fLQ7DKHMXfhOcSIXfkutBOss9zCSgVz9QFCroOEIWEVlU7cm+z1YzvYqH857QJY2+t+j
         KhxG+RS8KJPMsgrI4dYpo+S2isf10fUObE/K4tRs+y1eCEmgnG0bQxuLLPRYBuDeiiGy
         3/OZTaBsvlHnL2SI9B9vEv/6h7zUzUYJXjPcLdKAXfdgMBZSMm7WHFQl7tDpm/gQdlzj
         s++CRxQN3pbxEDIU8MDsIwz+irUiPGGP8EEr3Lr2iAlD1y3k5Kaslq0kzHUyVT5/Dg2s
         LBdA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:date:from:to:cc:subject:message-id:references
         :mime-version:content-disposition:in-reply-to;
        bh=5iLgH/sMm6qzN7CswTbIky/YZr+sketasl4IwIH6gKg=;
        b=r5XoalMbS0LcT76ej/JvRnKliFhTkIQyJwpyqd5MQekQr6WWgUdSnycWISNxnC4/3m
         /pY0M3NTlc3Jm6Em8SYFWK3IQe+/RXK+Mpbgg9CxnZGV9NB+pQ2u9ULtqzzjHYDQCWxs
         9Y4Ee/LTjZcOM+xZ0HwiY/k0YRPp4mUeNRzIoG035vuf83uaerBNUQ35/KirBh1pYyji
         83EBsPnxwRAHj0Utw4YXQQNcfsQKr6QVHhjxGL42fgTn1oKayYcbYC7N6t5qBQTgq6LI
         DcxyJls7Lg2P/KOVpDTE0t0COJWvPYA6bl6nnulxXiXpZlY3B4XWmClPfFSibj0MjLx2
         u9gA==
X-Gm-Message-State: AOAM532wNVr3o28WALSpaDMPIg34n3SCSrSXb5a2SJcqKlKKi1Vhy2Wq
	FxXrApJXEGnNt2p4MtMfYRYPNg==
X-Google-Smtp-Source: ABdhPJyWd32JT2SWqsOKhrXC/UBL1Y/Ywrds1qpVZl5ketKIigBPjiV3Q+PmUaTvYauDxOptvtzk2w==
X-Received: by 2002:a17:90a:5411:: with SMTP id z17mr9801944pjh.67.1629887393749;
        Wed, 25 Aug 2021 03:29:53 -0700 (PDT)
Date: Wed, 25 Aug 2021 19:29:45 +0900
From: AKASHI Takahiro <takahiro.akashi@linaro.org>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Alex Benn??e <alex.bennee@linaro.org>,
	Stratos Mailing List <stratos-dev@op-lists.linaro.org>,
	virtio-dev@lists.oasis-open.org,
	Arnd Bergmann <arnd.bergmann@linaro.org>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Jan Kiszka <jan.kiszka@siemens.com>,
	Carl van Schaik <cvanscha@qti.qualcomm.com>, pratikp@quicinc.com,
	Srivatsa Vaddagiri <vatsa@codeaurora.org>,
	Jean-Philippe Brucker <jean-philippe@linaro.org>,
	Mathieu Poirier <mathieu.poirier@linaro.org>, Wei.Chen@arm.com,
	olekstysh@gmail.com, Oleksandr_Tyshchenko@epam.com,
	Bertrand.Marquis@arm.com, Artem_Mygaiev@epam.com, julien@xen.org,
	jgross@suse.com, paul@xen.org, xen-devel@lists.xen.org
Subject: Re: Enabling hypervisor agnosticism for VirtIO backends
Message-ID: <20210825102945.GA89209@laputa>
References: <87v94ldrqq.fsf@linaro.org>
 <alpine.DEB.2.21.2108041055390.9768@sstabellini-ThinkPad-T480s>
 <YRuSPT9075NuWRYS@stefanha-x1.localdomain>
 <20210823062500.GC40863@laputa>
 <YSNxVjlpCsc+chEC@stefanha-x1.localdomain>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <YSNxVjlpCsc+chEC@stefanha-x1.localdomain>

Hi Stefan,

On Mon, Aug 23, 2021 at 10:58:46AM +0100, Stefan Hajnoczi wrote:
> On Mon, Aug 23, 2021 at 03:25:00PM +0900, AKASHI Takahiro wrote:
> > Hi Stefan,
> > 
> > On Tue, Aug 17, 2021 at 11:41:01AM +0100, Stefan Hajnoczi wrote:
> > > On Wed, Aug 04, 2021 at 12:20:01PM -0700, Stefano Stabellini wrote:
> > > > > Could we consider the kernel internally converting IOREQ messages from
> > > > > the Xen hypervisor to eventfd events? Would this scale with other kernel
> > > > > hypercall interfaces?
> > > > > 
> > > > > So any thoughts on what directions are worth experimenting with?
> > > >  
> > > > One option we should consider is for each backend to connect to Xen via
> > > > the IOREQ interface. We could generalize the IOREQ interface and make it
> > > > hypervisor agnostic. The interface is really trivial and easy to add.
> > > > The only Xen-specific part is the notification mechanism, which is an
> > > > event channel. If we replaced the event channel with something else the
> > > > interface would be generic. See:
> > > > https://gitlab.com/xen-project/xen/-/blob/staging/xen/include/public/hvm/ioreq.h#L52
> > > 
> > > There have been experiments with something kind of similar in KVM
> > > recently (see struct ioregionfd_cmd):
> > > https://lore.kernel.org/kvm/dad3d025bcf15ece11d9df0ff685e8ab0a4f2edd.1613828727.git.eafanasova@gmail.com/
> > 
> > Do you know the current status of Elena's work?
> > It was last February that she posted her latest patch
> > and it has not been merged upstream yet.
> 
> Elena worked on this during her Outreachy internship. At the moment no
> one is actively working on the patches.

Does RedHat plan to take over or follow up her work hereafter?
# I'm simply asking from my curiosity.

> > > > There is also another problem. IOREQ is probably not be the only
> > > > interface needed. Have a look at
> > > > https://marc.info/?l=xen-devel&m=162373754705233&w=2. Don't we also need
> > > > an interface for the backend to inject interrupts into the frontend? And
> > > > if the backend requires dynamic memory mappings of frontend pages, then
> > > > we would also need an interface to map/unmap domU pages.
> > > > 
> > > > These interfaces are a lot more problematic than IOREQ: IOREQ is tiny
> > > > and self-contained. It is easy to add anywhere. A new interface to
> > > > inject interrupts or map pages is more difficult to manage because it
> > > > would require changes scattered across the various emulators.
> > > 
> > > Something like ioreq is indeed necessary to implement arbitrary devices,
> > > but if you are willing to restrict yourself to VIRTIO then other
> > > interfaces are possible too because the VIRTIO device model is different
> > > from the general purpose x86 PIO/MMIO that Xen's ioreq seems to support.
> > 
> > Can you please elaborate your thoughts a bit more here?
> > 
> > It seems to me that trapping MMIOs to configuration space and
> > forwarding those events to BE (or device emulation) is a quite
> > straight-forward way to emulate device MMIOs.
> > Or do you think of something of protocols used in vhost-user?
> > 
> > # On the contrary, virtio-ivshmem only requires a driver to explicitly
> > # forward a "write" request of MMIO accesses to BE. But I don't think
> > # it's your point. 
> 
> See my first reply to this email thread about alternative interfaces for
> VIRTIO device emulation. The main thing to note was that although the
> shared memory vring is used by VIRTIO transports today, the device model
> actually allows transports to implement virtqueues differently (e.g.
> making it possible to create a VIRTIO over TCP transport without shared
> memory in the future).

Do you have any example of such use cases or systems?

> It's possible to define a hypercall interface as a new VIRTIO transport
> that provides higher-level virtqueue operations. Doing this is more work
> than using vrings though since existing guest driver and device
> emulation code already supports vrings.

Personally, I'm open to discuss about your point, but

> I don't know the requirements of Stratos so I can't say if creating a
> new hypervisor-independent interface (VIRTIO transport) that doesn't
> rely on shared memory vrings makes sense. I just wanted to raise the
> idea in case you find that VIRTIO's vrings don't meet your requirements.

While I cannot represent the project's view, what the JIRA task
that is assigned to me describes:
  Deliverables
    * Low level library allowing:
    * management of virtio rings and buffers
  [and so on]
So supporting the shared memory-based vring is one of our assumptions.

In my understanding, the goal of Stratos project is that we would
have several VMs congregated into a SoC, yet sharing most of
physical IPs, where the shared memory should be, I assume, the most
efficient transport for virtio.
One of target applications would be automotive, I guess.

Alex and Mike should have more to say here.

-Takahiro Akashi

> Stefan




From xen-devel-bounces@lists.xenproject.org Wed Aug 25 10:36:54 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 10:36:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171888.313639 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIqH3-0005tu-Pt; Wed, 25 Aug 2021 10:36:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171888.313639; Wed, 25 Aug 2021 10:36: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 1mIqH3-0005tn-Mw; Wed, 25 Aug 2021 10:36:49 +0000
Received: by outflank-mailman (input) for mailman id 171888;
 Wed, 25 Aug 2021 10:36:49 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mIqH2-0005th-Ua
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 10:36: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 1mIqH1-0001wQ-Pg; Wed, 25 Aug 2021 10:36:47 +0000
Received: from 54-240-197-238.amazon.com ([54.240.197.238]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mIqH1-000379-Jd; Wed, 25 Aug 2021 10:36: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:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=Smxc/dqXgTwjtzmiE/NyVCmrOEuiVjKcWE6syx0IC7w=; b=UfZX6R1JYbuFSf0JvNEINMz0nU
	PaA+L5Qg5TWC5GBugoVrkHQMcDXKGtzxWNueMGdAx6s/ftJ2g5ZLUPIvjpnS2xIeDHaCJ1PdmM3Hv
	xUs5nSY1aw2/Iqop/Ap9Vza1Y69JNJl+7tLXnri9AKVKN4wAlThqhOGLmxYUCfiKWRDw=;
Subject: Re: [XEN RFC PATCH 13/40] xen/arm: introduce numa_set_node for Arm
To: Wei Chen <wei.chen@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, jbeulich@suse.com
Cc: Bertrand.Marquis@arm.com
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-14-wei.chen@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <a07963e4-84c8-32de-4e8b-013a5419deea@xen.org>
Date: Wed, 25 Aug 2021 11:36:45 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210811102423.28908-14-wei.chen@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Wei,

On 11/08/2021 11:23, Wei Chen wrote:
> This API is used to set one CPU to a NUMA node. If the system
> configure NUMA off or system initialize NUMA failed, the
> online NUMA node would set to only node#0. This will be done
> in following patches. When NUMA turn off or init failed,
> node_online_map will be cleared and set node#0 online. So we
> use node_online_map to prevent to set a CPU to an offline node.

IHMO numa_set_node() should behave exactly the same way on x86 and Arm 
because this is going to be used by the common code.

 From the commit message, I don't quite understand why the check is 
necessary on Arm but not on x86. Can you clarify it?

> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>   xen/arch/arm/Makefile      |  1 +
>   xen/arch/arm/numa.c        | 31 +++++++++++++++++++++++++++++++
>   xen/include/asm-arm/numa.h |  2 ++
>   xen/include/asm-x86/numa.h |  1 -
>   xen/include/xen/numa.h     |  1 +
>   5 files changed, 35 insertions(+), 1 deletion(-)
>   create mode 100644 xen/arch/arm/numa.c
> 
> diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
> index 3d3b97b5b4..6e3fb8033e 100644
> --- a/xen/arch/arm/Makefile
> +++ b/xen/arch/arm/Makefile
> @@ -35,6 +35,7 @@ obj-$(CONFIG_LIVEPATCH) += livepatch.o
>   obj-y += mem_access.o
>   obj-y += mm.o
>   obj-y += monitor.o
> +obj-$(CONFIG_NUMA) += numa.o
>   obj-y += p2m.o
>   obj-y += percpu.o
>   obj-y += platform.o
> diff --git a/xen/arch/arm/numa.c b/xen/arch/arm/numa.c
> new file mode 100644
> index 0000000000..1e30c5bb13
> --- /dev/null
> +++ b/xen/arch/arm/numa.c
> @@ -0,0 +1,31 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Arm Architecture support layer for NUMA.
> + *
> + * Copyright (C) 2021 Arm Ltd
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program. If not, see <http://www.gnu.org/licenses/>.
> + *
> + */
> +#include <xen/init.h>
> +#include <xen/nodemask.h>
> +#include <xen/numa.h>
> +
> +void numa_set_node(int cpu, nodeid_t nid)
> +{
> +    if ( nid >= MAX_NUMNODES ||
> +        !nodemask_test(nid, &node_online_map) )
> +        nid = 0;
> +
> +    cpu_to_node[cpu] = nid;
> +}
I think numa_set_node() will want to be implemented in common code.

> diff --git a/xen/include/asm-arm/numa.h b/xen/include/asm-arm/numa.h
> index ab9c4a2448..1162c702df 100644
> --- a/xen/include/asm-arm/numa.h
> +++ b/xen/include/asm-arm/numa.h
> @@ -27,6 +27,8 @@ extern mfn_t first_valid_mfn;
>   #define node_start_pfn(nid) (mfn_x(first_valid_mfn))
>   #define __node_distance(a, b) (20)
>   
> +#define numa_set_node(x, y) do { } while (0)

I would define it in xen/numa.h so other arch can take advantage ot it. 
Also, please use a static inline helper so the arguments are evaluated.

> +
>   #endif
>   
>   #endif /* __ARCH_ARM_NUMA_H */
> diff --git a/xen/include/asm-x86/numa.h b/xen/include/asm-x86/numa.h
> index f8e4e15586..69859b0a57 100644
> --- a/xen/include/asm-x86/numa.h
> +++ b/xen/include/asm-x86/numa.h
> @@ -22,7 +22,6 @@ extern nodeid_t pxm_to_node(unsigned int pxm);
>   #define ZONE_ALIGN (1UL << (MAX_ORDER+PAGE_SHIFT))
>   
>   extern int srat_disabled(void);
> -extern void numa_set_node(int cpu, nodeid_t node);
>   extern nodeid_t setup_node(unsigned int pxm);
>   extern void srat_detect_node(int cpu);
>   
> diff --git a/xen/include/xen/numa.h b/xen/include/xen/numa.h
> index 258a5cb3db..3972aa6b93 100644
> --- a/xen/include/xen/numa.h
> +++ b/xen/include/xen/numa.h
> @@ -70,6 +70,7 @@ extern int valid_numa_range(u64 start, u64 end, nodeid_t node);
>   
>   extern void numa_init_array(void);
>   extern void numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn);
> +extern void numa_set_node(int cpu, nodeid_t node);
>   extern bool numa_off;
>   extern int numa_fake;
>   
> 

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 10:49:25 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 10:49:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171894.313651 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIqT9-0007VO-VS; Wed, 25 Aug 2021 10:49:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171894.313651; Wed, 25 Aug 2021 10:49:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIqT9-0007VH-RB; Wed, 25 Aug 2021 10:49:19 +0000
Received: by outflank-mailman (input) for mailman id 171894;
 Wed, 25 Aug 2021 10:49: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 1mIqT8-0007V7-Dc; Wed, 25 Aug 2021 10:49: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 1mIqT8-000297-6h; Wed, 25 Aug 2021 10:49:18 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mIqT7-0003gV-Vn; Wed, 25 Aug 2021 10:49:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mIqT7-0005YX-VJ; Wed, 25 Aug 2021 10:49: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=f1JaIjxcmSnbpI8gomYZGbQte4U0I7q91JrPMDSX+Qg=; b=uzPL+G9P4efhe9cLT/aMRGUOpe
	chQilAAStpU/Axxpz6Rio89fkheHIyMLUL1iLMsSWhgv/ub3YrDf4/oB4Yapwa5zX/Bes20JoWyQr
	QJLjkStAq2ACPQqnyDom9C4SiEMdacEQmBe8Qx4umpL57YZtuY7o1e0Fs2P4STF11QQI=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164409-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164409: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup: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-xsm:guest-start: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-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=e22ce8eb631bdc47a4a4ea7ecf4e4ba499db4f93
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 25 Aug 2021 10:49:17 +0000

flight 164409 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164409/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  14 guest-start              fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      14 guest-start              fail REGR. vs. 152332

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     20 guest-localmigrate/x10   fail REGR. vs. 152332

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 152332
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 152332
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 152332
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 152332
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 152332
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 152332
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 152332
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                e22ce8eb631bdc47a4a4ea7ecf4e4ba499db4f93
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  389 days
Failing since        152366  2020-08-01 20:49:34 Z  388 days  678 attempts
Testing same since   164409  2021-08-23 13:42:36 Z    1 days    1 attempts

------------------------------------------------------------
6816 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2016653 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 11:15:37 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 11:15:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171901.313665 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIqsU-0002aZ-SR; Wed, 25 Aug 2021 11:15:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171901.313665; Wed, 25 Aug 2021 11:15:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIqsU-0002aS-Og; Wed, 25 Aug 2021 11:15:30 +0000
Received: by outflank-mailman (input) for mailman id 171901;
 Wed, 25 Aug 2021 11:15:29 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YETI=NQ=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mIqsS-0002aK-Ri
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 11:15:29 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com (unknown
 [40.107.6.66]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id f154de08-c950-47cf-9b72-5e1a4830732c;
 Wed, 25 Aug 2021 11:15:24 +0000 (UTC)
Received: from AS8PR04CA0024.eurprd04.prod.outlook.com (2603:10a6:20b:310::29)
 by PA4PR08MB6191.eurprd08.prod.outlook.com (2603:10a6:102:f3::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17; Wed, 25 Aug
 2021 11:15:22 +0000
Received: from AM5EUR03FT030.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:310:cafe::30) by AS8PR04CA0024.outlook.office365.com
 (2603:10a6:20b:310::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17 via Frontend
 Transport; Wed, 25 Aug 2021 11:15:22 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT030.mail.protection.outlook.com (10.152.16.117) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Wed, 25 Aug 2021 11:15:22 +0000
Received: ("Tessian outbound 8b41f5fb4e9e:v103");
 Wed, 25 Aug 2021 11:15:22 +0000
Received: from d148ca2fad41.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 1ED684D8-3D17-4B07-BC65-F0D61EC38AE3.1; 
 Wed, 25 Aug 2021 11:15:17 +0000
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d148ca2fad41.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 25 Aug 2021 11:15:17 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB9PR08MB6507.eurprd08.prod.outlook.com (2603:10a6:10:25a::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Wed, 25 Aug
 2021 11:15:15 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.024; Wed, 25 Aug 2021
 11: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: f154de08-c950-47cf-9b72-5e1a4830732c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=o7b9NfXRP5iYc+BDdzVlW9+N+dX/idxhiVCxcaLW/6c=;
 b=LC4u1Ok2HfGCZ1mEuKNS/dpNDaHfHLaC45uPhIlvIPy+X7kOo9R7QRo2Jdb483VM3JtkwI0bKw6WZW+iqlNMABmTK23V9T3LsB1I5TWGBq6OKz+bwLvk4T5X8Ge8g1VWDR3Q0wZM6VcGLlLD0syd24h+WNpUB2X9XnMCCMQ01Hk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=A8VCkJ59zsIjjOrqlCb5vnvkapQiQMFDOkEWVWKo8PUEMVvCvUPLENm+gIVJ03k7woxAevVnVV5FjVAbYgR6Ev3WiNURP9Gmjyo4wk7oXzQnmZlAl1Ar4snXWDR48G/RHJcFyCBFn/EGcuTN8EH72997dTmn3fhs3j07DDJV8WsAFT7njSzBb95DkymLTCcZBreCM7DpEutZtM/q+AKEOk3z7/D8QmPh0x64qt06vYd6lakavj3I4W+bOd/g8BqEK7e1g631TfXIyOTWN3G3L6XMre0vkYNWDwdkGnmLdaLQAObgMhjVN+5Z43FHuMOEGaUVS6+wxpCdZLodXbYqPw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=o7b9NfXRP5iYc+BDdzVlW9+N+dX/idxhiVCxcaLW/6c=;
 b=a/8VvJi+Y7jsopYxiIONujhyF4SVAtlS6fiRxnVAqstIffZVpNj00jwT69R0bLTYzwBRBANBLD/k/Zpj7JzPMaDiVhRvRzTAMJqMpknnmfmGLocWadJDnlyIZPqtUqQeiNTerQF+J7WK+eb5eX5ZVPwRFr0p/Sq7Ke+JNSF1uwnbhLDFsEiJfMl2KbPTAK0rhSWvbU6KqPhiCj3UrIuZUBp1aV4lqDBrltH76G398IV32Xb4ohYv1J6fABrhYOKOxnNHY5DpfjBhhsKEmbmlHOyyfGEMYUObcOgOVmoyxbtn8K2HgTwp/oUtvd3DydYcSTE0l6QHp/5US3R6npyJ5Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=o7b9NfXRP5iYc+BDdzVlW9+N+dX/idxhiVCxcaLW/6c=;
 b=LC4u1Ok2HfGCZ1mEuKNS/dpNDaHfHLaC45uPhIlvIPy+X7kOo9R7QRo2Jdb483VM3JtkwI0bKw6WZW+iqlNMABmTK23V9T3LsB1I5TWGBq6OKz+bwLvk4T5X8Ge8g1VWDR3Q0wZM6VcGLlLD0syd24h+WNpUB2X9XnMCCMQ01Hk=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 12/40] xen/x86: Move numa_initmem_init to common
Thread-Topic: [XEN RFC PATCH 12/40] xen/x86: Move numa_initmem_init to common
Thread-Index: AQHXjpswu81a+7plB06pZowt7s9MAKuEGMmAgAANx9A=
Date: Wed, 25 Aug 2021 11:15:15 +0000
Message-ID:
 <DB9PR08MB685735416FFC85344717DF2D9EC69@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-13-wei.chen@arm.com>
 <8c2daae2-df32-14ad-8f08-27fec30cf9b9@xen.org>
In-Reply-To: <8c2daae2-df32-14ad-8f08-27fec30cf9b9@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: A8DDCEE9BBD34E47B286A885335F62D4.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: be30ac03-8031-428e-7e31-08d967b9a1a7
x-ms-traffictypediagnostic: DB9PR08MB6507:|PA4PR08MB6191:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<PA4PR08MB6191A9D818B177E7CF09F82E9EC69@PA4PR08MB6191.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:7691;OLM:7691;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 BFdwnmmFREYzahEU9ZqQf3kvVsX9nMSCX4CFx7LEtE2/Gx6arEPBCJPs/2yLAN8YuZdA64yI8IvF604MgLKb/O+Pdp4ZK2r2aElkWaHNhF70+NVoebiytlQFbdOQTqr0p4AA7QjlsbN9JHlCzc+Ya2sBVfbABpzv++K9nHlEEEeGFJy18N0/oChferS6c0ZEGFcSogPwsKD6nY3irzF7S65d0T+4qg7CaG73xp5xJ7SoEuAmC7PaTxXRiQp4wxR92i79xz/iLLvUQY+jrAp5OwYKiVuw2k66sJ5tT3tcbj3HpYKPtAY39em0TWFocF1iAPzmMaQCh4sL7q6XB0u2seoPf9h8qtmmD3AHyEws/BfK7UAWCjL0cORBKYDPM946jjAlloLdUyEKYIdzyy5iBgin4bXsSbT/BjRCxa+uon0iYDHWyg2iDXD9J/iheRxmt8Fd1cYDdTn/w7mF+WUb3qxOs0m4x775Fdc1zq3+D7s5oXFrxKH3MtXn0S5Wh+u92Cz86vQa3z9l4NQWJA1G8HvkDyiWiznPyDwm4IbrjppHfKibMY6ONeAl/J+V0HmP9NDEYcxihCKAVKm0UOPR+shD7UMiGONBV6xrIJqxZldnJcj1YJARcwdEKw5KUPCpJ/zlVVXj6Hnri8EnXIDOzMIWnKCyTFSkakPZQpisYvA7eRfTSGe5FYkFwVJV9mPkEgr+i2ycRZJX5uCkNhm6Jw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(376002)(39850400004)(346002)(366004)(136003)(396003)(5660300002)(30864003)(4326008)(8936002)(9686003)(55016002)(76116006)(71200400001)(66476007)(66446008)(316002)(64756008)(38070700005)(8676002)(66946007)(110136005)(66556008)(7696005)(52536014)(6506007)(186003)(478600001)(53546011)(86362001)(2906002)(83380400001)(122000001)(33656002)(26005)(38100700002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?TTM2RWZWYUw1QWNwdUU0ZDIzR3VKYURjK0lwMGk4SVAzVUxXRDR5aHNUamJ6?=
 =?utf-8?B?NVFoSU9xTFNPRjJzKzdyMVdIaXVTYmtYOHlCUmZTakcxNEVabVNmWDVRRWtG?=
 =?utf-8?B?N3p0NnFOUzhVQ0NHL1lUTVlZMXQ3QzVpMkdxMWgzUVk3RkYrSjR3ZWZlSG5F?=
 =?utf-8?B?enZrSlkyRE5ReE03RkZ5T2NlYnJGdy9zaVNiSEFUN3lRaFUwMGNXNHF6bit1?=
 =?utf-8?B?T0xoY1J2VU00K2hBL1dYVXdaclgxNzUydXdIMFQ0a0hzTnp1V3UyTU5rU3oy?=
 =?utf-8?B?QjVmVGxBSWJlb0puYWR0WTZxZ0M1U25ITURzTWloMjVMVE9ITW1SSzBNZ3lW?=
 =?utf-8?B?L3BsTWRyYTBXaVRXamlOS080SVNla2haZTVUWmlyclRyTTk1bjhyLzIwOTBC?=
 =?utf-8?B?c0NYUW1BTGk3STRINFJkY3NUS2I1UUlQMDNXandaNzRMdFVUTGZGMWNLOW5I?=
 =?utf-8?B?Q0lXUkFaUTh1RjJZVFpZSFp4Y205THpDQXdXTjZ3b3FvOWh0S2Zuc1NMN1RS?=
 =?utf-8?B?VXR0Y01IV3hNM0d3THB4SGZjR05oei9mMjNZUW1PTHYva0VuRTQwMlFkMDFo?=
 =?utf-8?B?UVplS2tubmdobnBOOFZiM29naXlITm9RMTZlZzJLckNGQlN0ODBCYVNLVVdm?=
 =?utf-8?B?bFkrZzFnOEMxMVJ4azVEdHI3dElrdDBzelNLeE5pQjVuWktkWTNSUTBWUm52?=
 =?utf-8?B?NVF6cVZzZnU5eitKSUI3YTJ2Nmt4MStXS25qY2RSTlAzRTM0bzJSL0JPSGNZ?=
 =?utf-8?B?REgyVDllN3phOU1LbnFUOWlROHJkVVowRGJadm04dVYvTlA4WU5xMDhENk8y?=
 =?utf-8?B?L0ZWMGxCRGlBNDZJRThCUGVUbTVYVEMyYzVpU1VodTRQclN4UTdUZjc2U0hJ?=
 =?utf-8?B?ZXVMRDFzeGtGSk9TVVhkRXdTc2N2QWswQ2dVYkpjYUp4alpxOWtpQ3dDMGJy?=
 =?utf-8?B?czRNOWxzRFhzMDJWMllNdit2b2dWU0k1aU0zMHVva3hjWXZFV3NOWGhtVVl5?=
 =?utf-8?B?YThrRFVmTHJvc282MDVueVVCTEl1ZnJXTXVuTTY0QVppMDZodDVDSURDOUJq?=
 =?utf-8?B?ZXBkNjl6MzBRM0xvL2F4NFBUazRtbTYwOWljQ0FaNHVYV1N2MDBGVmdmQnRT?=
 =?utf-8?B?eVBjcGJlN2RZUVh0V0prazJ6NlJWTHBIRFVSU3pXZ0ZQRkRyRXRZdFdHejNq?=
 =?utf-8?B?NHNWRHVCcnl2R1d1YWI4UVliOC9DWThlQ2VoMmRoOGk5NGxWZ0VZUDVSZG5i?=
 =?utf-8?B?MFZEdmovT3R5U1ltUXJiVDljb0VIUjlmRVNZZytYM2VXRHZxaEVuT1hTZ2RN?=
 =?utf-8?B?emtwc2lmWUlJUlE2eFZkdDZnaWFna3Q0Qmt1RWhQdlQ5ZUYzR2YwWTllTFJZ?=
 =?utf-8?B?MVB4VlhIRGtaa0V4VTRNZmlSRkw4RUhBQWY1UFczUmZ2OUozZEJBWWVUY2Zr?=
 =?utf-8?B?eTRqbXg1Yk9ydlFpZGY5ZlI4ZXMvNy9IVGhhQldRbW5HSXQwS3pSRC9hWjNP?=
 =?utf-8?B?QjhacGVXemxKTTFoam9lbWg5Rm5QbFhLMmlaaWY0b1Y1QXRqM29iVnpFQXpW?=
 =?utf-8?B?c0U4QXJBdFYwSXo3MSt5WmlwODNDa0NIZUdnU0JkcDBkenhOWkR6YXVQUnN2?=
 =?utf-8?B?T0FSZ3FRdDdaZklzL0xmNTlCbDd0ZzcxYzFOVzQ2dTJVbG1FZ3JoSzBsYnZx?=
 =?utf-8?B?OFZnWWkvY0tubjBYZzRMUDFsOVZvWkVHeitaTlRjL3k1WUEyOEhzZmg3NmNi?=
 =?utf-8?Q?5ONk6kcHQa3jYSIDChiX/o/zbXUtxYOaRY2e5LY?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6507
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT030.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	bdb04b78-8432-4a14-2ba9-08d967b99d54
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	srxq0u6PKfgYt1Vqn+hWptwQ+hcy9f31W/9+nL7k5758F230s0aeHun82UwjCeJuCG6vp9n88CsX8XeL7JFRrVzg+k9zPtVgUULu9NxeuSD0LU8ALMc3Wo7MBLT6rntPadZdrFN3P43rOJKgLMxzHMS6uhhZuTdfN/1oadORIWKKNyuVc7Mcv3WYkLg9CgvU4Ne6JEqJvj2ZxmJz/ztGo7/AXYnYLZRJkSC73GR1J5JI4qdctauM99FPPZYa9yGLGnYVt+LzL+hBeF65iUKPqwYjZO1j8/NfJTQxMVStNdfNw21/h0F9rlcVq9McxMt5TuO4Kc7Blejh00z5x9rej652Zh3xvo6KUpNAVoqccMpyzrwgktjA56neBP+ryiVmm9y2s8iP6YAXEVsjM5Hiiz0lwfZBZDWUqNK9fdWYgB1rv11K1lG63LNl21xaIopks3JCNrw72mkZ+xBSxw0v3u4ml4cxHkqKBroyj+YhTvu0vxBRzPP2gmWvNtuCrQPszhQ3WldpboigsGmswDI4AQEW4XS7Gn7u9YR1pKc0/dXStCny4vmwJlRoAO7J6gDyFWYtlAQZqxyr74iVR9c3/HyxVPHkwSlI92G/q2JFKcJ7uZK3zj31knxbdbPrv04s6rw+rRS8OjpkR4t1O7b6If+ttNmhUFBWFua+ch0zguHlHjuDpmVHwCE9aPlMunCVl0aWNEkNVGfmOPgTI89xRw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(376002)(396003)(346002)(136003)(39860400002)(46966006)(36840700001)(52536014)(47076005)(86362001)(82310400003)(478600001)(70586007)(70206006)(356005)(82740400003)(81166007)(336012)(186003)(26005)(83380400001)(110136005)(8936002)(8676002)(36860700001)(6506007)(33656002)(55016002)(53546011)(7696005)(4326008)(9686003)(316002)(2906002)(30864003)(5660300002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2021 11:15:22.7685
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: be30ac03-8031-428e-7e31-08d967b9a1a7
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT030.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6191

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMjXml6UgMTg6MjIN
Cj4gVG86IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgeGVuLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnOw0KPiBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqYmV1bGljaEBzdXNlLmNvbQ0K
PiBDYzogQmVydHJhbmQgTWFycXVpcyA8QmVydHJhbmQuTWFycXVpc0Bhcm0uY29tPg0KPiBTdWJq
ZWN0OiBSZTogW1hFTiBSRkMgUEFUQ0ggMTIvNDBdIHhlbi94ODY6IE1vdmUgbnVtYV9pbml0bWVt
X2luaXQgdG8NCj4gY29tbW9uDQo+IA0KPiBIaSBXZWksDQo+IA0KPiBPbiAxMS8wOC8yMDIxIDEx
OjIzLCBXZWkgQ2hlbiB3cm90ZToNCj4gPiBUaGlzIGZ1bmN0aW9uIGNhbiBiZSByZXVzZWQgYnkg
QXJtIGRldmljZSB0cmVlIGJhc2VkDQo+ID4gTlVNQSBzdXBwb3J0LiBTbyB3ZSBtb3ZlIGl0IGZy
b20geDg2IHRvIGNvbW1vbiwgYXMgd2VsbA0KPiA+IGFzIGl0cyByZWxhdGVkIHZhcmlhYmxlcyBh
bmQgZnVuY3Rpb25zOg0KPiA+IHNldHVwX25vZGVfYm9vdG1lbSwgbnVtYV9pbml0X2FycmF5IGFu
ZCBudW1hX2VtdWxhdGlvbi4NCj4gPg0KPiA+IEFzIG51bWFfaW5pdG1lbV9pbml0IGhhcyBiZWVu
IG1vdmVkIHRvIGNvbW1vbiwgX21lbW5vZGVtYXANCj4gPiBpcyBub3QgdXNlZCBjcm9zcyBmaWxl
cy4gV2UgY2FuIHJlc3RvcmUgX21lbW5vZGVtYXAgdG8NCj4gPiBzdGF0aWMuDQo+IA0KPiBBcyB3
ZSBkaXNjdXNzZWQgb24gYSBwcmV2aW91cyBwYXRjaCwgd2Ugc2hvdWxkIHRyeSB0byBhdm9pZCB0
aGlzIGtpbmQgb2YNCj4gZGFuY2UuIEkgY2FuIGhlbHAgdG8gZmluZCBhIHNwbGl0IHRoYXQgd291
bGQgYWNoaWV2ZSB0aGF0Lg0KPiANCg0KWWVzLCB0aGFua3MhDQoNCj4gPg0KPiA+IFNpZ25lZC1v
ZmYtYnk6IFdlaSBDaGVuIDx3ZWkuY2hlbkBhcm0uY29tPg0KPiA+IC0tLQ0KPiA+ICAgeGVuL2Fy
Y2gveDg2L251bWEuYyAgICAgICAgIHwgMTE4IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0NCj4gPiAgIHhlbi9jb21tb24vbnVtYS5jICAgICAgICAgICB8IDEyMiArKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKy0NCj4gPiAgIHhlbi9pbmNsdWRlL2FzbS14ODYvbnVt
YS5oICB8ICAgNSAtLQ0KPiA+ICAgeGVuL2luY2x1ZGUvYXNtLXg4Ni9zZXR1cC5oIHwgICAxIC0N
Cj4gPiAgIHhlbi9pbmNsdWRlL3hlbi9udW1hLmggICAgICB8ICAgOCArKy0NCj4gPiAgIDUgZmls
ZXMgY2hhbmdlZCwgMTI4IGluc2VydGlvbnMoKyksIDEyNiBkZWxldGlvbnMoLSkNCj4gPg0KPiA+
IGRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbnVtYS5jIGIveGVuL2FyY2gveDg2L251bWEuYw0K
PiA+IGluZGV4IGYyNjI2YjM5NjguLjY5MDg3MzgzMDUgMTAwNjQ0DQo+ID4gLS0tIGEveGVuL2Fy
Y2gveDg2L251bWEuYw0KPiA+ICsrKyBiL3hlbi9hcmNoL3g4Ni9udW1hLmMNCj4gPiBAQCAtMzgs
NyArMzgsNiBAQCBub2RlaWRfdCBhcGljaWRfdG9fbm9kZVtNQVhfTE9DQUxfQVBJQ10gPSB7DQo+
ID4NCj4gPiAgIG5vZGVtYXNrX3QgX19yZWFkX21vc3RseSBub2RlX29ubGluZV9tYXAgPSB7IHsg
WzBdID0gMVVMIH0gfTsNCj4gPg0KPiA+IC1ib29sIG51bWFfb2ZmOw0KPiA+ICAgczggYWNwaV9u
dW1hID0gMDsNCj4gPg0KPiA+ICAgaW50IHNyYXRfZGlzYWJsZWQodm9pZCkNCj4gPiBAQCAtNDYs
MTIzICs0NSw2IEBAIGludCBzcmF0X2Rpc2FibGVkKHZvaWQpDQo+ID4gICAgICAgcmV0dXJuIG51
bWFfb2ZmIHx8IGFjcGlfbnVtYSA8IDA7DQo+ID4gICB9DQo+ID4NCj4gPiAtLyogaW5pdGlhbGl6
ZSBOT0RFX0RBVEEgZ2l2ZW4gbm9kZWlkIGFuZCBzdGFydC9lbmQgKi8NCj4gPiAtdm9pZCBfX2lu
aXQgc2V0dXBfbm9kZV9ib290bWVtKG5vZGVpZF90IG5vZGVpZCwgdTY0IHN0YXJ0LCB1NjQgZW5k
KQ0KPiA+IC17DQo+ID4gLSAgICB1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwgZW5kX3BmbjsNCj4g
PiAtDQo+ID4gLSAgICBzdGFydF9wZm4gPSBzdGFydCA+PiBQQUdFX1NISUZUOw0KPiA+IC0gICAg
ZW5kX3BmbiA9IGVuZCA+PiBQQUdFX1NISUZUOw0KPiA+IC0NCj4gPiAtICAgIE5PREVfREFUQShu
b2RlaWQpLT5ub2RlX3N0YXJ0X3BmbiA9IHN0YXJ0X3BmbjsNCj4gPiAtICAgIE5PREVfREFUQShu
b2RlaWQpLT5ub2RlX3NwYW5uZWRfcGFnZXMgPSBlbmRfcGZuIC0gc3RhcnRfcGZuOw0KPiA+IC0N
Cj4gPiAtICAgIG5vZGVfc2V0X29ubGluZShub2RlaWQpOw0KPiA+IC19DQo+ID4gLQ0KPiA+IC12
b2lkIF9faW5pdCBudW1hX2luaXRfYXJyYXkodm9pZCkNCj4gPiAtew0KPiA+IC0gICAgaW50IHJy
LCBpOw0KPiA+IC0NCj4gPiAtICAgIC8qIFRoZXJlIGFyZSB1bmZvcnR1bmF0ZWx5IHNvbWUgcG9v
cmx5IGRlc2lnbmVkIG1haW5ib2FyZHMgYXJvdW5kDQo+ID4gLSAgICAgICB0aGF0IG9ubHkgY29u
bmVjdCBtZW1vcnkgdG8gYSBzaW5nbGUgQ1BVLiBUaGlzIGJyZWFrcyB0aGUgMToxDQo+IGNwdS0+
bm9kZQ0KPiA+IC0gICAgICAgbWFwcGluZy4gVG8gYXZvaWQgdGhpcyBmaWxsIGluIHRoZSBtYXBw
aW5nIGZvciBhbGwgcG9zc2libGUNCj4gPiAtICAgICAgIENQVXMsIGFzIHRoZSBudW1iZXIgb2Yg
Q1BVcyBpcyBub3Qga25vd24geWV0Lg0KPiA+IC0gICAgICAgV2Ugcm91bmQgcm9iaW4gdGhlIGV4
aXN0aW5nIG5vZGVzLiAqLw0KPiA+IC0gICAgcnIgPSBmaXJzdF9ub2RlKG5vZGVfb25saW5lX21h
cCk7DQo+ID4gLSAgICBmb3IgKCBpID0gMDsgaSA8IG5yX2NwdV9pZHM7IGkrKyApDQo+ID4gLSAg
ICB7DQo+ID4gLSAgICAgICAgaWYgKCBjcHVfdG9fbm9kZVtpXSAhPSBOVU1BX05PX05PREUgKQ0K
PiA+IC0gICAgICAgICAgICBjb250aW51ZTsNCj4gPiAtICAgICAgICBudW1hX3NldF9ub2RlKGks
IHJyKTsNCj4gPiAtICAgICAgICByciA9IGN5Y2xlX25vZGUocnIsIG5vZGVfb25saW5lX21hcCk7
DQo+ID4gLSAgICB9DQo+ID4gLX0NCj4gPiAtDQo+ID4gLSNpZmRlZiBDT05GSUdfTlVNQV9FTVUN
Cj4gPiAtc3RhdGljIGludCBudW1hX2Zha2UgX19pbml0ZGF0YSA9IDA7DQo+ID4gLQ0KPiA+IC0v
KiBOdW1hIGVtdWxhdGlvbiAqLw0KPiA+IC1zdGF0aWMgaW50IF9faW5pdCBudW1hX2VtdWxhdGlv
bih1NjQgc3RhcnRfcGZuLCB1NjQgZW5kX3BmbikNCj4gPiAtew0KPiA+IC0gICAgaW50IGk7DQo+
ID4gLSAgICBzdHJ1Y3Qgbm9kZSBub2Rlc1tNQVhfTlVNTk9ERVNdOw0KPiA+IC0gICAgdTY0IHN6
ID0gKChlbmRfcGZuIC0gc3RhcnRfcGZuKTw8UEFHRV9TSElGVCkgLyBudW1hX2Zha2U7DQo+ID4g
LQ0KPiA+IC0gICAgLyogS2x1ZGdlIG5lZWRlZCBmb3IgdGhlIGhhc2ggZnVuY3Rpb24gKi8NCj4g
PiAtICAgIGlmICggaHdlaWdodDY0KHN6KSA+IDEgKQ0KPiA+IC0gICAgew0KPiA+IC0gICAgICAg
IHU2NCB4ID0gMTsNCj4gPiAtICAgICAgICB3aGlsZSAoICh4IDw8IDEpIDwgc3ogKQ0KPiA+IC0g
ICAgICAgICAgICB4IDw8PSAxOw0KPiA+IC0gICAgICAgIGlmICggeCA8IHN6LzIgKQ0KPiA+IC0g
ICAgICAgICAgICBwcmludGsoS0VSTl9FUlIgIk51bWEgZW11bGF0aW9uIHVuYmFsYW5jZWQuIENv
bXBsYWluIHRvDQo+IG1haW50YWluZXJcbiIpOw0KPiA+IC0gICAgICAgIHN6ID0geDsNCj4gPiAt
ICAgIH0NCj4gPiAtDQo+ID4gLSAgICBtZW1zZXQoJm5vZGVzLDAsc2l6ZW9mKG5vZGVzKSk7DQo+
ID4gLSAgICBmb3IgKCBpID0gMDsgaSA8IG51bWFfZmFrZTsgaSsrICkNCj4gPiAtICAgIHsNCj4g
PiAtICAgICAgICBub2Rlc1tpXS5zdGFydCA9IChzdGFydF9wZm48PFBBR0VfU0hJRlQpICsgaSpz
ejsNCj4gPiAtICAgICAgICBpZiAoIGkgPT0gbnVtYV9mYWtlIC0gMSApDQo+ID4gLSAgICAgICAg
ICAgIHN6ID0gKGVuZF9wZm48PFBBR0VfU0hJRlQpIC0gbm9kZXNbaV0uc3RhcnQ7DQo+ID4gLSAg
ICAgICAgbm9kZXNbaV0uZW5kID0gbm9kZXNbaV0uc3RhcnQgKyBzejsNCj4gPiAtICAgICAgICBw
cmludGsoS0VSTl9JTkZPICJGYWtpbmcgbm9kZSAlZCBhdCAlIlBSSXg2NCItJSJQUkl4NjQiDQo+
ICglIlBSSXU2NCJNQilcbiIsDQo+ID4gLSAgICAgICAgICAgICAgIGksDQo+ID4gLSAgICAgICAg
ICAgICAgIG5vZGVzW2ldLnN0YXJ0LCBub2Rlc1tpXS5lbmQsDQo+ID4gLSAgICAgICAgICAgICAg
IChub2Rlc1tpXS5lbmQgLSBub2Rlc1tpXS5zdGFydCkgPj4gMjApOw0KPiA+IC0gICAgICAgIG5v
ZGVfc2V0X29ubGluZShpKTsNCj4gPiAtICAgIH0NCj4gPiAtICAgIG1lbW5vZGVfc2hpZnQgPSBj
b21wdXRlX2hhc2hfc2hpZnQobm9kZXMsIG51bWFfZmFrZSwgTlVMTCk7DQo+ID4gLSAgICBpZiAo
IG1lbW5vZGVfc2hpZnQgPCAwICkNCj4gPiAtICAgIHsNCj4gPiAtICAgICAgICBtZW1ub2RlX3No
aWZ0ID0gMDsNCj4gPiAtICAgICAgICBwcmludGsoS0VSTl9FUlIgIk5vIE5VTUEgaGFzaCBmdW5j
dGlvbiBmb3VuZC4gRW11bGF0aW9uDQo+IGRpc2FibGVkLlxuIik7DQo+ID4gLSAgICAgICAgcmV0
dXJuIC0xOw0KPiA+IC0gICAgfQ0KPiA+IC0gICAgZm9yX2VhY2hfb25saW5lX25vZGUgKCBpICkN
Cj4gPiAtICAgICAgICBzZXR1cF9ub2RlX2Jvb3RtZW0oaSwgbm9kZXNbaV0uc3RhcnQsIG5vZGVz
W2ldLmVuZCk7DQo+ID4gLSAgICBudW1hX2luaXRfYXJyYXkoKTsNCj4gPiAtDQo+ID4gLSAgICBy
ZXR1cm4gMDsNCj4gPiAtfQ0KPiA+IC0jZW5kaWYNCj4gPiAtDQo+ID4gLXZvaWQgX19pbml0IG51
bWFfaW5pdG1lbV9pbml0KHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLCB1bnNpZ25lZCBsb25nDQo+
IGVuZF9wZm4pDQo+ID4gLXsNCj4gPiAtICAgIGludCBpOw0KPiA+IC0NCj4gPiAtI2lmZGVmIENP
TkZJR19OVU1BX0VNVQ0KPiA+IC0gICAgaWYgKCBudW1hX2Zha2UgJiYgIW51bWFfZW11bGF0aW9u
KHN0YXJ0X3BmbiwgZW5kX3BmbikgKQ0KPiA+IC0gICAgICAgIHJldHVybjsNCj4gPiAtI2VuZGlm
DQo+ID4gLQ0KPiA+IC0jaWZkZWYgQ09ORklHX0FDUElfTlVNQQ0KPiA+IC0gICAgaWYgKCAhbnVt
YV9vZmYgJiYgIWFjcGlfc2Nhbl9ub2RlcygodTY0KXN0YXJ0X3BmbiA8PCBQQUdFX1NISUZULA0K
PiA+IC0gICAgICAgICAodTY0KWVuZF9wZm4gPDwgUEFHRV9TSElGVCkgKQ0KPiA+IC0gICAgICAg
IHJldHVybjsNCj4gPiAtI2VuZGlmDQo+ID4gLQ0KPiA+IC0gICAgcHJpbnRrKEtFUk5fSU5GTyAi
JXNcbiIsDQo+ID4gLSAgICAgICAgICAgbnVtYV9vZmYgPyAiTlVNQSB0dXJuZWQgb2ZmIiA6ICJO
byBOVU1BIGNvbmZpZ3VyYXRpb24NCj4gZm91bmQiKTsNCj4gPiAtDQo+ID4gLSAgICBwcmludGso
S0VSTl9JTkZPICJGYWtpbmcgYSBub2RlIGF0ICUwMTYiUFJJeDY0Ii0lMDE2IlBSSXg2NCJcbiIs
DQo+ID4gLSAgICAgICAgICAgKHU2NClzdGFydF9wZm4gPDwgUEFHRV9TSElGVCwNCj4gPiAtICAg
ICAgICAgICAodTY0KWVuZF9wZm4gPDwgUEFHRV9TSElGVCk7DQo+ID4gLSAgICAvKiBzZXR1cCBk
dW1teSBub2RlIGNvdmVyaW5nIGFsbCBtZW1vcnkgKi8NCj4gPiAtICAgIG1lbW5vZGVfc2hpZnQg
PSBCSVRTX1BFUl9MT05HIC0gMTsNCj4gPiAtICAgIG1lbW5vZGVtYXAgPSBfbWVtbm9kZW1hcDsN
Cj4gPiAtICAgIG1lbW5vZGVtYXBzaXplID0gQVJSQVlfU0laRShfbWVtbm9kZW1hcCk7DQo+ID4g
LQ0KPiA+IC0gICAgbm9kZXNfY2xlYXIobm9kZV9vbmxpbmVfbWFwKTsNCj4gPiAtICAgIG5vZGVf
c2V0X29ubGluZSgwKTsNCj4gPiAtICAgIGZvciAoIGkgPSAwOyBpIDwgbnJfY3B1X2lkczsgaSsr
ICkNCj4gPiAtICAgICAgICBudW1hX3NldF9ub2RlKGksIDApOw0KPiA+IC0gICAgY3B1bWFza19j
b3B5KCZub2RlX3RvX2NwdW1hc2tbMF0sIGNwdW1hc2tfb2YoMCkpOw0KPiA+IC0gICAgc2V0dXBf
bm9kZV9ib290bWVtKDAsICh1NjQpc3RhcnRfcGZuIDw8IFBBR0VfU0hJRlQsDQo+ID4gLSAgICAg
ICAgICAgICAgICAgICAgKHU2NCllbmRfcGZuIDw8IFBBR0VfU0hJRlQpOw0KPiA+IC19DQo+ID4g
LQ0KPiA+ICAgdm9pZCBudW1hX3NldF9ub2RlKGludCBjcHUsIG5vZGVpZF90IG5vZGUpDQo+ID4g
ICB7DQo+ID4gICAgICAgY3B1X3RvX25vZGVbY3B1XSA9IG5vZGU7DQo+ID4gZGlmZiAtLWdpdCBh
L3hlbi9jb21tb24vbnVtYS5jIGIveGVuL2NvbW1vbi9udW1hLmMNCj4gPiBpbmRleCAxZmFjYzhm
ZTJiLi4yNmMwMDA2ZDA0IDEwMDY0NA0KPiA+IC0tLSBhL3hlbi9jb21tb24vbnVtYS5jDQo+ID4g
KysrIGIveGVuL2NvbW1vbi9udW1hLmMNCj4gPiBAQCAtMTQsMTIgKzE0LDEzIEBADQo+ID4gICAj
aW5jbHVkZSA8eGVuL3NtcC5oPg0KPiA+ICAgI2luY2x1ZGUgPHhlbi9wZm4uaD4NCj4gPiAgICNp
bmNsdWRlIDx4ZW4vc2NoZWQuaD4NCj4gDQo+IE5JVDogV2UgdGVuZCB0byBhZGQgYSBuZXdsaW5l
IGJldHdlbiA8eGVuLy4uLj4gaGVhZGVycyBhbmQgPGFzbS8uLi4+DQo+IGhlYWRlcnMuDQo+IA0K
DQpnb3QgaXQNCg0KPiA+ICsjaW5jbHVkZSA8YXNtL2FjcGkuaD4NCj4gPg0KPiA+ICAgc3RydWN0
IG5vZGVfZGF0YSBub2RlX2RhdGFbTUFYX05VTU5PREVTXTsNCj4gPg0KPiA+ICAgLyogTWFwcGlu
ZyBmcm9tIHBkeCB0byBub2RlIGlkICovDQo+ID4gICBpbnQgbWVtbm9kZV9zaGlmdDsNCj4gPiAt
dHlwZW9mKCptZW1ub2RlbWFwKSBfbWVtbm9kZW1hcFs2NF07DQo+ID4gK3N0YXRpYyB0eXBlb2Yo
Km1lbW5vZGVtYXApIF9tZW1ub2RlbWFwWzY0XTsNCj4gPiAgIHVuc2lnbmVkIGxvbmcgbWVtbm9k
ZW1hcHNpemU7DQo+ID4gICB1OCAqbWVtbm9kZW1hcDsNCj4gPg0KPiA+IEBAIC0zNCw2ICszNSw4
IEBAIGludCBudW1fbm9kZV9tZW1ibGtzOw0KPiA+ICAgc3RydWN0IG5vZGUgbm9kZV9tZW1ibGtf
cmFuZ2VbTlJfTk9ERV9NRU1CTEtTXTsNCj4gPiAgIG5vZGVpZF90IG1lbWJsa19ub2RlaWRbTlJf
Tk9ERV9NRU1CTEtTXTsNCj4gPg0KPiA+ICtib29sIG51bWFfb2ZmOw0KPiA+ICsNCj4gPiAgIC8q
DQo+ID4gICAgKiBHaXZlbiBhIHNoaWZ0IHZhbHVlLCB0cnkgdG8gcG9wdWxhdGUgbWVtbm9kZW1h
cFtdDQo+ID4gICAgKiBSZXR1cm5zIDoNCj4gPiBAQCAtMTkxLDMgKzE5NCwxMjAgQEAgdm9pZCBu
dW1hX2FkZF9jcHUoaW50IGNwdSkNCj4gPiAgIHsNCj4gPiAgICAgICBjcHVtYXNrX3NldF9jcHUo
Y3B1LCAmbm9kZV90b19jcHVtYXNrW2NwdV90b19ub2RlKGNwdSldKTsNCj4gPiAgIH0NCj4gPiAr
DQo+ID4gKy8qIGluaXRpYWxpemUgTk9ERV9EQVRBIGdpdmVuIG5vZGVpZCBhbmQgc3RhcnQvZW5k
ICovDQo+ID4gK3ZvaWQgX19pbml0IHNldHVwX25vZGVfYm9vdG1lbShub2RlaWRfdCBub2RlaWQs
IHU2NCBzdGFydCwgdTY0IGVuZCkNCj4gDQo+ICBGcm9tIGFuIGFic3RyYWN0IFBvViwgc3RhcnQg
YW5kIGVuZCBzaG91bGQgYmUgcGFkZHJfdC4gVGhpcyBzaG91bGQgYmUNCj4gZG9uZSBvbiBhIHNl
cGFyYXRlIHBhdGNoIHRob3VnaC4NCj4gDQoNCk9rLg0KDQo+ID4gK3sNCj4gPiArICAgIHVuc2ln
bmVkIGxvbmcgc3RhcnRfcGZuLCBlbmRfcGZuOw0KPiA+ICsNCj4gPiArICAgIHN0YXJ0X3BmbiA9
IHN0YXJ0ID4+IFBBR0VfU0hJRlQ7DQo+ID4gKyAgICBlbmRfcGZuID0gZW5kID4+IFBBR0VfU0hJ
RlQ7DQo+ID4gKw0KPiA+ICsgICAgTk9ERV9EQVRBKG5vZGVpZCktPm5vZGVfc3RhcnRfcGZuID0g
c3RhcnRfcGZuOw0KPiA+ICsgICAgTk9ERV9EQVRBKG5vZGVpZCktPm5vZGVfc3Bhbm5lZF9wYWdl
cyA9IGVuZF9wZm4gLSBzdGFydF9wZm47DQo+ID4gKw0KPiA+ICsgICAgbm9kZV9zZXRfb25saW5l
KG5vZGVpZCk7DQo+ID4gK30NCj4gPiArDQo+ID4gK3ZvaWQgX19pbml0IG51bWFfaW5pdF9hcnJh
eSh2b2lkKQ0KPiA+ICt7DQo+ID4gKyAgICBpbnQgcnIsIGk7DQo+ID4gKw0KPiA+ICsgICAgLyog
VGhlcmUgYXJlIHVuZm9ydHVuYXRlbHkgc29tZSBwb29ybHkgZGVzaWduZWQgbWFpbmJvYXJkcyBh
cm91bmQNCj4gPiArICAgICAgIHRoYXQgb25seSBjb25uZWN0IG1lbW9yeSB0byBhIHNpbmdsZSBD
UFUuIFRoaXMgYnJlYWtzIHRoZSAxOjENCj4gY3B1LT5ub2RlDQo+ID4gKyAgICAgICBtYXBwaW5n
LiBUbyBhdm9pZCB0aGlzIGZpbGwgaW4gdGhlIG1hcHBpbmcgZm9yIGFsbCBwb3NzaWJsZQ0KPiA+
ICsgICAgICAgQ1BVcywgYXMgdGhlIG51bWJlciBvZiBDUFVzIGlzIG5vdCBrbm93biB5ZXQuDQo+
ID4gKyAgICAgICBXZSByb3VuZCByb2JpbiB0aGUgZXhpc3Rpbmcgbm9kZXMuICovDQo+ID4gKyAg
ICByciA9IGZpcnN0X25vZGUobm9kZV9vbmxpbmVfbWFwKTsNCj4gPiArICAgIGZvciAoIGkgPSAw
OyBpIDwgbnJfY3B1X2lkczsgaSsrICkNCj4gPiArICAgIHsNCj4gPiArICAgICAgICBpZiAoIGNw
dV90b19ub2RlW2ldICE9IE5VTUFfTk9fTk9ERSApDQo+ID4gKyAgICAgICAgICAgIGNvbnRpbnVl
Ow0KPiA+ICsgICAgICAgIG51bWFfc2V0X25vZGUoaSwgcnIpOw0KPiA+ICsgICAgICAgIHJyID0g
Y3ljbGVfbm9kZShyciwgbm9kZV9vbmxpbmVfbWFwKTsNCj4gPiArICAgIH0NCj4gPiArfQ0KPiA+
ICsNCj4gPiArI2lmZGVmIENPTkZJR19OVU1BX0VNVQ0KPiA+ICtpbnQgbnVtYV9mYWtlIF9faW5p
dGRhdGEgPSAwOw0KPiA+ICsNCj4gPiArLyogTnVtYSBlbXVsYXRpb24gKi8NCj4gPiArc3RhdGlj
IGludCBfX2luaXQgbnVtYV9lbXVsYXRpb24odTY0IHN0YXJ0X3BmbiwgdTY0IGVuZF9wZm4pDQo+
IA0KPiBIZXJlLCB0aGlzIHNob3VsZCBiZSBlaXRoZXIgInVuc2lnbmVkIGxvbmciIG9yIGlkZWFs
bHkgIm1mbl90Ii4NCj4gQWx0aG91Z2gsIGlmIHlvdSB1c2UgInVuc2lnbmVkIGxvbmciLCB5b3Ug
d2lsbCBuZWVkIHRvLi4uDQo+IA0KDQpEbyB3ZSBuZWVkIGEgc2VwYXJhdGUgcGF0Y2ggdG8gZG8g
aXQ/DQoNCj4gPiArew0KPiA+ICsgICAgaW50IGk7DQo+ID4gKyAgICBzdHJ1Y3Qgbm9kZSBub2Rl
c1tNQVhfTlVNTk9ERVNdOw0KPiA+ICsgICAgdTY0IHN6ID0gKChlbmRfcGZuIC0gc3RhcnRfcGZu
KTw8UEFHRV9TSElGVCkgLyBudW1hX2Zha2U7DQo+IA0KPiAuLi4gY2FzdCAiKGVuZF9wZm4gLSBz
dGFydF9wZm4pIiB0byB1aW42NF90IG9yIHVzZSBwZm5fdG9fcGFkZHIoKS4NCj4gDQoNCk9rDQoN
Cj4gPiArDQo+ID4gKyAgICAvKiBLbHVkZ2UgbmVlZGVkIGZvciB0aGUgaGFzaCBmdW5jdGlvbiAq
Lw0KPiA+ICsgICAgaWYgKCBod2VpZ2h0NjQoc3opID4gMSApDQo+ID4gKyAgICB7DQo+ID4gKyAg
ICAgICAgdTY0IHggPSAxOw0KPiA+ICsgICAgICAgIHdoaWxlICggKHggPDwgMSkgPCBzeiApDQo+
ID4gKyAgICAgICAgICAgIHggPDw9IDE7DQo+ID4gKyAgICAgICAgaWYgKCB4IDwgc3ovMiApDQo+
ID4gKyAgICAgICAgICAgIHByaW50ayhLRVJOX0VSUiAiTnVtYSBlbXVsYXRpb24gdW5iYWxhbmNl
ZC4gQ29tcGxhaW4gdG8NCj4gbWFpbnRhaW5lclxuIik7DQo+ID4gKyAgICAgICAgc3ogPSB4Ow0K
PiA+ICsgICAgfQ0KPiA+ICsNCj4gPiArICAgIG1lbXNldCgmbm9kZXMsMCxzaXplb2Yobm9kZXMp
KTsNCj4gPiArICAgIGZvciAoIGkgPSAwOyBpIDwgbnVtYV9mYWtlOyBpKysgKQ0KPiA+ICsgICAg
ew0KPiA+ICsgICAgICAgIG5vZGVzW2ldLnN0YXJ0ID0gKHN0YXJ0X3Bmbjw8UEFHRV9TSElGVCkg
KyBpKnN6Ow0KPiA+ICsgICAgICAgIGlmICggaSA9PSBudW1hX2Zha2UgLSAxICkNCj4gPiArICAg
ICAgICAgICAgc3ogPSAoZW5kX3Bmbjw8UEFHRV9TSElGVCkgLSBub2Rlc1tpXS5zdGFydDsNCj4g
PiArICAgICAgICBub2Rlc1tpXS5lbmQgPSBub2Rlc1tpXS5zdGFydCArIHN6Ow0KPiA+ICsgICAg
ICAgIHByaW50ayhLRVJOX0lORk8gIkZha2luZyBub2RlICVkIGF0ICUiUFJJeDY0Ii0lIlBSSXg2
NCINCj4gKCUiUFJJdTY0Ik1CKVxuIiwNCj4gPiArICAgICAgICAgICAgICAgaSwNCj4gPiArICAg
ICAgICAgICAgICAgbm9kZXNbaV0uc3RhcnQsIG5vZGVzW2ldLmVuZCwNCj4gPiArICAgICAgICAg
ICAgICAgKG5vZGVzW2ldLmVuZCAtIG5vZGVzW2ldLnN0YXJ0KSA+PiAyMCk7DQo+ID4gKyAgICAg
ICAgbm9kZV9zZXRfb25saW5lKGkpOw0KPiA+ICsgICAgfQ0KPiA+ICsgICAgbWVtbm9kZV9zaGlm
dCA9IGNvbXB1dGVfaGFzaF9zaGlmdChub2RlcywgbnVtYV9mYWtlLCBOVUxMKTsNCj4gPiArICAg
IGlmICggbWVtbm9kZV9zaGlmdCA8IDAgKQ0KPiA+ICsgICAgew0KPiA+ICsgICAgICAgIG1lbW5v
ZGVfc2hpZnQgPSAwOw0KPiA+ICsgICAgICAgIHByaW50ayhLRVJOX0VSUiAiTm8gTlVNQSBoYXNo
IGZ1bmN0aW9uIGZvdW5kLiBFbXVsYXRpb24NCj4gZGlzYWJsZWQuXG4iKTsNCj4gPiArICAgICAg
ICByZXR1cm4gLTE7DQo+ID4gKyAgICB9DQo+ID4gKyAgICBmb3JfZWFjaF9vbmxpbmVfbm9kZSAo
IGkgKQ0KPiA+ICsgICAgICAgIHNldHVwX25vZGVfYm9vdG1lbShpLCBub2Rlc1tpXS5zdGFydCwg
bm9kZXNbaV0uZW5kKTsNCj4gPiArICAgIG51bWFfaW5pdF9hcnJheSgpOw0KPiA+ICsNCj4gPiAr
ICAgIHJldHVybiAwOw0KPiA+ICt9DQo+ID4gKyNlbmRpZg0KPiA+ICsNCj4gPiArdm9pZCBfX2lu
aXQgbnVtYV9pbml0bWVtX2luaXQodW5zaWduZWQgbG9uZyBzdGFydF9wZm4sIHVuc2lnbmVkIGxv
bmcNCj4gZW5kX3BmbikNCj4gPiArew0KPiA+ICsgICAgaW50IGk7DQo+ID4gKw0KPiA+ICsjaWZk
ZWYgQ09ORklHX05VTUFfRU1VDQo+ID4gKyAgICBpZiAoIG51bWFfZmFrZSAmJiAhbnVtYV9lbXVs
YXRpb24oc3RhcnRfcGZuLCBlbmRfcGZuKSApDQo+ID4gKyAgICAgICAgcmV0dXJuOw0KPiA+ICsj
ZW5kaWYNCj4gPiArDQo+ID4gKyNpZmRlZiBDT05GSUdfQUNQSV9OVU1BDQo+ID4gKyAgICBpZiAo
ICFudW1hX29mZiAmJiAhYWNwaV9zY2FuX25vZGVzKCh1NjQpc3RhcnRfcGZuIDw8IFBBR0VfU0hJ
RlQsDQo+ID4gKyAgICAgICAgICh1NjQpZW5kX3BmbiA8PCBQQUdFX1NISUZUKSApDQo+IA0KPiAo
dTY0KXYgPDwgUEFHRV9TSElGVCBzaG91bGQgYmUgc3dpdGNoZWQgdG8gdXNlIHBmbl90b19wYWRk
cigpIG9yDQo+IG1mbl90b19wYWRkcigpIGlmIHlvdSBkZWNpZGUgdG8gbWFrZSBzdGFydF9wZm4g
YW5kIGVuZF9wZm4gdHlwZXNhZmUuDQo+IA0KDQpTdGlsbCBuZWVkIGEgc2VwYXJhdGUgcGF0Y2gg
dG8gY2hhbmdlIGl0IGJlZm9yZSBtb3ZlPw0KDQo+ID4gKyAgICAgICAgcmV0dXJuOw0KPiA+ICsj
ZW5kaWYNCj4gPiArDQo+ID4gKyAgICBwcmludGsoS0VSTl9JTkZPICIlc1xuIiwNCj4gPiArICAg
ICAgICAgICBudW1hX29mZiA/ICJOVU1BIHR1cm5lZCBvZmYiIDogIk5vIE5VTUEgY29uZmlndXJh
dGlvbg0KPiBmb3VuZCIpOw0KPiA+ICsNCj4gPiArICAgIHByaW50ayhLRVJOX0lORk8gIkZha2lu
ZyBhIG5vZGUgYXQgJTAxNiJQUkl4NjQiLSUwMTYiUFJJeDY0IlxuIiwNCj4gPiArICAgICAgICAg
ICAodTY0KXN0YXJ0X3BmbiA8PCBQQUdFX1NISUZULA0KPiA+ICsgICAgICAgICAgICh1NjQpZW5k
X3BmbiA8PCBQQUdFX1NISUZUKTsNCj4gDQo+IFNhbWUgcmVtYXJrIGhlcmUuIFBSSXg2NCB3b3Vs
ZCBhbHNvIGhhdmUgdG8gYmUgc3dpdGNoZWQgdG8gUFJJcGFkZHIuDQo+IA0KDQpIbW0sIEl0IHNl
ZW1zIEknZCBiZXR0ZXIgdG8gdXNlIGEgc2VwYXJhdGUgcGF0Y2ggdG8gZG8gUFJJcGFkZHIgY2xl
YW4gdXANCmJlZm9yZSBtb3ZlIGNvZGUuDQoNCj4gPiArICAgIC8qIHNldHVwIGR1bW15IG5vZGUg
Y292ZXJpbmcgYWxsIG1lbW9yeSAqLw0KPiA+ICsgICAgbWVtbm9kZV9zaGlmdCA9IEJJVFNfUEVS
X0xPTkcgLSAxOw0KPiA+ICsgICAgbWVtbm9kZW1hcCA9IF9tZW1ub2RlbWFwOw0KPiA+ICsgICAg
bWVtbm9kZW1hcHNpemUgPSBBUlJBWV9TSVpFKF9tZW1ub2RlbWFwKTsNCj4gPiArDQo+ID4gKyAg
ICBub2Rlc19jbGVhcihub2RlX29ubGluZV9tYXApOw0KPiA+ICsgICAgbm9kZV9zZXRfb25saW5l
KDApOw0KPiA+ICsgICAgZm9yICggaSA9IDA7IGkgPCBucl9jcHVfaWRzOyBpKysgKQ0KPiA+ICsg
ICAgICAgIG51bWFfc2V0X25vZGUoaSwgMCk7DQo+ID4gKyAgICBjcHVtYXNrX2NvcHkoJm5vZGVf
dG9fY3B1bWFza1swXSwgY3B1bWFza19vZigwKSk7DQo+ID4gKyAgICBzZXR1cF9ub2RlX2Jvb3Rt
ZW0oMCwgKHU2NClzdGFydF9wZm4gPDwgUEFHRV9TSElGVCwNCj4gPiArICAgICAgICAgICAgICAg
ICAgICAodTY0KWVuZF9wZm4gPDwgUEFHRV9TSElGVCk7DQo+ID4gK30NCj4gPiBkaWZmIC0tZ2l0
IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9udW1hLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L251bWEu
aA0KPiA+IGluZGV4IGU4YTkyYWQ5ZGYuLmY4ZTRlMTU1ODYgMTAwNjQ0DQo+ID4gLS0tIGEveGVu
L2luY2x1ZGUvYXNtLXg4Ni9udW1hLmgNCj4gPiArKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L251
bWEuaA0KPiA+IEBAIC0yMSwxNiArMjEsMTEgQEAgZXh0ZXJuIG5vZGVpZF90IHB4bV90b19ub2Rl
KHVuc2lnbmVkIGludCBweG0pOw0KPiA+DQo+ID4gICAjZGVmaW5lIFpPTkVfQUxJR04gKDFVTCA8
PCAoTUFYX09SREVSK1BBR0VfU0hJRlQpKQ0KPiA+DQo+ID4gLWV4dGVybiB2b2lkIG51bWFfaW5p
dF9hcnJheSh2b2lkKTsNCj4gPiAtZXh0ZXJuIGJvb2wgbnVtYV9vZmY7DQo+ID4gLQ0KPiA+IC0N
Cj4gPiAgIGV4dGVybiBpbnQgc3JhdF9kaXNhYmxlZCh2b2lkKTsNCj4gPiAgIGV4dGVybiB2b2lk
IG51bWFfc2V0X25vZGUoaW50IGNwdSwgbm9kZWlkX3Qgbm9kZSk7DQo+ID4gICBleHRlcm4gbm9k
ZWlkX3Qgc2V0dXBfbm9kZSh1bnNpZ25lZCBpbnQgcHhtKTsNCj4gPiAgIGV4dGVybiB2b2lkIHNy
YXRfZGV0ZWN0X25vZGUoaW50IGNwdSk7DQo+ID4NCj4gPiAtZXh0ZXJuIHZvaWQgc2V0dXBfbm9k
ZV9ib290bWVtKG5vZGVpZF90IG5vZGVpZCwgdTY0IHN0YXJ0LCB1NjQgZW5kKTsNCj4gPiAgIGV4
dGVybiBub2RlaWRfdCBhcGljaWRfdG9fbm9kZVtdOw0KPiA+ICAgZXh0ZXJuIHZvaWQgaW5pdF9j
cHVfdG9fbm9kZSh2b2lkKTsNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20t
eDg2L3NldHVwLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L3NldHVwLmgNCj4gPiBpbmRleCAyNGJl
NDYxMTVkLi42MzgzOGJhMmQxIDEwMDY0NA0KPiA+IC0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYv
c2V0dXAuaA0KPiA+ICsrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvc2V0dXAuaA0KPiA+IEBAIC0x
Nyw3ICsxNyw2IEBAIHZvaWQgZWFybHlfdGltZV9pbml0KHZvaWQpOw0KPiA+DQo+ID4gICB2b2lk
IHNldF9ucl9jcHVfaWRzKHVuc2lnbmVkIGludCBtYXhfY3B1cyk7DQo+ID4NCj4gPiAtdm9pZCBu
dW1hX2luaXRtZW1faW5pdCh1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwgdW5zaWduZWQgbG9uZyBl
bmRfcGZuKTsNCj4gPiAgIHZvaWQgYXJjaF9pbml0X21lbW9yeSh2b2lkKTsNCj4gPiAgIHZvaWQg
c3ViYXJjaF9pbml0X21lbW9yeSh2b2lkKTsNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS94ZW4vaW5j
bHVkZS94ZW4vbnVtYS5oIGIveGVuL2luY2x1ZGUveGVuL251bWEuaA0KPiA+IGluZGV4IDY3Yjc5
YTczYTMuLjI1OGE1Y2IzZGIgMTAwNjQ0DQo+ID4gLS0tIGEveGVuL2luY2x1ZGUveGVuL251bWEu
aA0KPiA+ICsrKyBiL3hlbi9pbmNsdWRlL3hlbi9udW1hLmgNCj4gPiBAQCAtMjYsNyArMjYsNiBA
QA0KPiA+ICAgZXh0ZXJuIGludCBtZW1ub2RlX3NoaWZ0Ow0KPiA+ICAgZXh0ZXJuIHVuc2lnbmVk
IGxvbmcgbWVtbm9kZW1hcHNpemU7DQo+ID4gICBleHRlcm4gdTggKm1lbW5vZGVtYXA7DQo+ID4g
LWV4dGVybiB0eXBlb2YoKm1lbW5vZGVtYXApIF9tZW1ub2RlbWFwWzY0XTsNCj4gPg0KPiA+ICAg
c3RydWN0IG5vZGVfZGF0YSB7DQo+ID4gICAgICAgdW5zaWduZWQgbG9uZyBub2RlX3N0YXJ0X3Bm
bjsNCj4gPiBAQCAtNjksNiArNjgsMTMgQEAgZXh0ZXJuIGludCBjb25mbGljdGluZ19tZW1ibGtz
KHU2NCBzdGFydCwgdTY0IGVuZCk7DQo+ID4gICBleHRlcm4gdm9pZCBjdXRvZmZfbm9kZShpbnQg
aSwgdTY0IHN0YXJ0LCB1NjQgZW5kKTsNCj4gPiAgIGV4dGVybiBpbnQgdmFsaWRfbnVtYV9yYW5n
ZSh1NjQgc3RhcnQsIHU2NCBlbmQsIG5vZGVpZF90IG5vZGUpOw0KPiA+DQo+ID4gK2V4dGVybiB2
b2lkIG51bWFfaW5pdF9hcnJheSh2b2lkKTsNCj4gPiArZXh0ZXJuIHZvaWQgbnVtYV9pbml0bWVt
X2luaXQodW5zaWduZWQgbG9uZyBzdGFydF9wZm4sIHVuc2lnbmVkIGxvbmcNCj4gZW5kX3Bmbik7
DQo+ID4gK2V4dGVybiBib29sIG51bWFfb2ZmOw0KPiA+ICtleHRlcm4gaW50IG51bWFfZmFrZTsN
Cj4gPiArDQo+ID4gK2V4dGVybiB2b2lkIHNldHVwX25vZGVfYm9vdG1lbShub2RlaWRfdCBub2Rl
aWQsIHU2NCBzdGFydCwgdTY0IGVuZCk7DQo+ID4gKw0KPiA+ICAgI2VuZGlmIC8qIENPTkZJR19O
VU1BICovDQo+ID4NCj4gPiAgICNlbmRpZiAvKiBfWEVOX05VTUFfSCAqLw0KPiA+DQo+IA0KPiBD
aGVlcnMsDQo+IA0KPiAtLQ0KPiBKdWxpZW4gR3JhbGwNCg==


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 11:32:23 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 11:32:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171911.313685 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIr8V-00059O-Hi; Wed, 25 Aug 2021 11:32:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171911.313685; Wed, 25 Aug 2021 11: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 1mIr8V-00059H-Eh; Wed, 25 Aug 2021 11:32:03 +0000
Received: by outflank-mailman (input) for mailman id 171911;
 Wed, 25 Aug 2021 11:32:03 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=pqDN=NQ=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mIr8U-00059B-St
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 11:32:02 +0000
Received: from smtp-out1.suse.de (unknown [195.135.220.28])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 2f39012d-5e1d-4f35-9d35-de2314c03a7a;
 Wed, 25 Aug 2021 11:32:01 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 F3B4822165;
 Wed, 25 Aug 2021 11:32:00 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id A10A113887;
 Wed, 25 Aug 2021 11:32:00 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id 8bzAJTAqJmHPHwAAGKfGzw
 (envelope-from <jgross@suse.com>); Wed, 25 Aug 2021 11: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: 2f39012d-5e1d-4f35-9d35-de2314c03a7a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1629891121; 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=EUpcw4pk3MekPcDv/py23Kdgnb7Z7cKMQP3tvBu30oI=;
	b=douP5pr0lu5zQpF6lEKV2wLztJFOGJhe86+vyGcQ6hF9xECrC7P3GTyy2cr4xA36AhmPnd
	BhYpCVdcnQ4FraXu5jag4luHLv+pqMZXzn0Bnsc9DKtxL/lU1wAYwXYfeXmvfbmfLNUgKy
	yvCJqECRTe+jcbbM1yAKQJyr29ocYJg=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org,
	x86@kernel.org,
	linux-kernel@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	"H. Peter Anvin" <hpa@zytor.com>
Subject: [PATCH] xen: remove stray preempt_disable() from PV AP startup code
Date: Wed, 25 Aug 2021 13:31:58 +0200
Message-Id: <20210825113158.11716-1-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In cpu_bringup() there is a call of preempt_disable() without a paired
preempt_enable(). This is not needed as interrupts are off initially.
Additionally this will result in early boot messages like:

BUG: scheduling while atomic: swapper/1/0/0x00000002

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 arch/x86/xen/smp_pv.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/arch/x86/xen/smp_pv.c b/arch/x86/xen/smp_pv.c
index c2ac319f11a4..96afadf9878e 100644
--- a/arch/x86/xen/smp_pv.c
+++ b/arch/x86/xen/smp_pv.c
@@ -64,7 +64,6 @@ static void cpu_bringup(void)
 	cr4_init();
 	cpu_init();
 	touch_softlockup_watchdog();
-	preempt_disable();
 
 	/* PVH runs in ring 0 and allows us to do native syscalls. Yay! */
 	if (!xen_feature(XENFEAT_supervisor_mode_kernel)) {
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Wed Aug 25 12:01:57 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 12:01:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171925.313737 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIrbN-0001AR-VZ; Wed, 25 Aug 2021 12:01:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171925.313737; Wed, 25 Aug 2021 12:01:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIrbN-0001AI-SO; Wed, 25 Aug 2021 12:01:53 +0000
Received: by outflank-mailman (input) for mailman id 171925;
 Wed, 25 Aug 2021 12:01:52 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gHU1=NQ=xenbits.xen.org=iwj@srs-us1.protection.inumbo.net>)
 id 1mIrbM-0000K4-GY
 for xen-devel@lists.xen.org; Wed, 25 Aug 2021 12:01:52 +0000
Received: from mail.xenproject.org (unknown [104.130.215.37])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 34aaac94-059c-11ec-a943-12813bfff9fa;
 Wed, 25 Aug 2021 12:01:40 +0000 (UTC)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenbits.xen.org>)
 id 1mIrb3-0003Qn-I2; Wed, 25 Aug 2021 12:01:33 +0000
Received: from iwj by xenbits.xenproject.org with local (Exim 4.92)
 (envelope-from <iwj@xenbits.xen.org>)
 id 1mIrb3-00063N-Gg; Wed, 25 Aug 2021 12:01: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: 34aaac94-059c-11ec-a943-12813bfff9fa
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=gV9vyUc7UUHsanheO29gmQWrRn7vUFZOBUZDEfqXYAw=; b=7MwiR0hGsZObqOmnEHHht4xv+E
	Qpnpo1420N60HVJynTyDvh13o5dU5HT0hVHG49Lzjgpju9o6n7fecQJgD4H47kxoKzRwWZAhpQ7ou
	lk8KqeeEX/B3ptLPuWrR7MvEWTObQB8CVGBybWLeL3ijwz+A/PdciUxcrhdfYpjYf7Ok=;
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 379 v2 (CVE-2021-28697) - grant table v2
 status pages may remain accessible after de-allocation
Message-Id: <E1mIrb3-00063N-Gg@xenbits.xenproject.org>
Date: Wed, 25 Aug 2021 12:01:33 +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-2021-28697 / XSA-379
                               version 2

 grant table v2 status pages may remain accessible after de-allocation

UPDATES IN VERSION 2
====================

Patches updated to fix a typo in a comment.

Public release.

ISSUE DESCRIPTION
=================

Guest get permitted access to certain Xen-owned pages of memory.  The
majority of such pages remain allocated / associated with a guest for
its entire lifetime.  Grant table v2 status pages, however, get
de-allocated when a guest switched (back) from v2 to v1.  The freeing
of such pages requires that the hypervisor know where in the guest
these pages were mapped.  The hypervisor tracks only one use within
guest space, but racing requests from the guest to insert mappings of
these pages may result in any of them to become mapped in multiple
locations.  Upon switching back from v2 to v1, the guest would then
retain access to a page that was freed and perhaps re-used for other
purposes.

IMPACT
======

A malicious guest may be able to elevate its privileges to that of the
host, cause host or guest Denial of Service (DoS), or cause information
leaks.

VULNERABLE SYSTEMS
==================

All Xen versions from 4.0 onwards are affected.  Xen versions 3.4 and
older are not affected.

Only x86 HVM and PVH guests permitted to use grant table version 2
interfaces can leverage this vulnerability.  x86 PV guests cannot
leverage this vulnerability.  On Arm, grant table v2 use is explicitly
unsupported.

MITIGATION
==========

Running only PV guests will avoid this vulnerability.

Suppressing use of grant table v2 interfaces for HVM or PVH guests will
also avoid this 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.

xsa379.patch           xen-unstable
xsa379-4.15.patch      Xen 4.15.x
xsa379-4.14.patch      Xen 4.14.x - 4.13.x
xsa379-4.12.patch      Xen 4.12.x - 4.11.x

$ sha256sum xsa379*
bdda4cb431301551336388ff7300a6ae95bb75af8fcae09cfb12c22a91d399d9  xsa379.meta
508dbfcac7420ec780df39402116bf7d3f497c4a9d883a369df7bf5340778e6c  xsa379.patch
2a1db918f1fa387a97d7bcb525eaa928fd71a9967e6ced4e7ac6e39a79ab5b80  xsa379-4.12.patch
c57b72078460f45a5e003db5c4c3669f27310420e04eb16e4413318dfee54fa1  xsa379-4.14.patch
3154869b12fcde70ce845df723aae4bbb2eb9576d90267c1be01eb6d3c5196e9  xsa379-4.15.patch
$

DEPLOYMENT DURING EMBARGO
=========================

Deployment of the patches and/or PV-guest-only 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.

HOWEVER, deployment of the grant table v2 disabling mitigation described
above is NOT permitted during the embargo on public-facing systems with
untrusted guest users and administrators.  This is because such a
configuration change is recognizable by the affected guests.

AND: 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/4UyVfoK9kFAmEmMPYMHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZLogH/icXkFdjXfxIFXLbvcX98qFYFcFbNgyitfngfR4d
VUbiuglViFtSxVY+LytV1RZHEqFiwYCLYcy7lf/EcDyzZT+BLA+S/z5r45F9rQcv
2gwMiQu+xoy1pDTSqVvGb+29NGT/btPRDfRlpaenqjQnGuOX2ymR9zGSmba/PDjp
QVIsSsvEbldlkVzwx9B3C7n+27mUPU6iVnU7j3s60mDfkjz/gIdnuzl8Tv/n6QR0
iZ8URQLn6wobbMBZM1+znfWNeT9dv4UiES1QuUrq1fT7LltQK8mZjAHP+VhXc3XZ
EA9H1LMp5G9Rw+IfgCquQXR5O1usACxnjHM1b9iG2ZP/jZU=
=eASl
-----END PGP SIGNATURE-----

--=separator
Content-Type: application/octet-stream; name="xsa379.meta"
Content-Disposition: attachment; filename="xsa379.meta"
Content-Transfer-Encoding: base64

ewogICJYU0EiOiAzNzksCiAgIlN1cHBvcnRlZFZlcnNpb25zIjogWwogICAg
Im1hc3RlciIsCiAgICAiNC4xNSIsCiAgICAiNC4xNCIsCiAgICAiNC4xMyIs
CiAgICAiNC4xMiIsCiAgICAiNC4xMSIKICBdLAogICJUcmVlcyI6IFsKICAg
ICJ4ZW4iCiAgXSwKICAiUmVjaXBlcyI6IHsKICAgICI0LjExIjogewogICAg
ICAiUmVjaXBlcyI6IHsKICAgICAgICAieGVuIjogewogICAgICAgICAgIlN0
YWJsZVJlZiI6ICJlZjMyYzdhZmEyNzMxYjc1ODIyNmQ2ZTEwYTFlNDg5YjFh
MTVmYzQxIiwKICAgICAgICAgICJQcmVyZXFzIjogWwogICAgICAgICAgICAz
NzgKICAgICAgICAgIF0sCiAgICAgICAgICAiUGF0Y2hlcyI6IFsKICAgICAg
ICAgICAgInhzYTM3OS00LjEyLnBhdGNoIgogICAgICAgICAgXQogICAgICAg
IH0KICAgICAgfQogICAgfSwKICAgICI0LjEyIjogewogICAgICAiUmVjaXBl
cyI6IHsKICAgICAgICAieGVuIjogewogICAgICAgICAgIlN0YWJsZVJlZiI6
ICJlYTIwZWVlOTdlOWUwODYxMTI3YTgwNzBjYzdiOWFlMzU1N2IwOWZiIiwK
ICAgICAgICAgICJQcmVyZXFzIjogWwogICAgICAgICAgICAzNzgsCiAgICAg
ICAgICAgIDM4MwogICAgICAgICAgXSwKICAgICAgICAgICJQYXRjaGVzIjog
WwogICAgICAgICAgICAieHNhMzc5LTQuMTIucGF0Y2giCiAgICAgICAgICBd
CiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIjQuMTMiOiB7CiAgICAg
ICJSZWNpcGVzIjogewogICAgICAgICJ4ZW4iOiB7CiAgICAgICAgICAiU3Rh
YmxlUmVmIjogIjMyZDU4MDkwMmI5NTkwMDBkNzlkNTFkZmYwM2EzNTYwNjUz
YzRmY2IiLAogICAgICAgICAgIlByZXJlcXMiOiBbCiAgICAgICAgICAgIDM3
OCwKICAgICAgICAgICAgMzgzCiAgICAgICAgICBdLAogICAgICAgICAgIlBh
dGNoZXMiOiBbCiAgICAgICAgICAgICJ4c2EzNzktNC4xNC5wYXRjaCIKICAg
ICAgICAgIF0KICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiNC4xNCI6
IHsKICAgICAgIlJlY2lwZXMiOiB7CiAgICAgICAgInhlbiI6IHsKICAgICAg
ICAgICJTdGFibGVSZWYiOiAiNDkyOTljNDgxM2I3ODQ3ZDI5ZGYwN2JmNzkw
ZjU0ODkwNjBmMmE5YyIsCiAgICAgICAgICAiUHJlcmVxcyI6IFsKICAgICAg
ICAgICAgMzc4LAogICAgICAgICAgICAzODMKICAgICAgICAgIF0sCiAgICAg
ICAgICAiUGF0Y2hlcyI6IFsKICAgICAgICAgICAgInhzYTM3OS00LjE0LnBh
dGNoIgogICAgICAgICAgXQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAg
ICI0LjE1IjogewogICAgICAiUmVjaXBlcyI6IHsKICAgICAgICAieGVuIjog
ewogICAgICAgICAgIlN0YWJsZVJlZiI6ICJkYmE3NzQ4OTZmN2RkNzQ3NzNj
MTRkNTM3NjQzYjdkNzQ3N2ZlZmNkIiwKICAgICAgICAgICJQcmVyZXFzIjog
WwogICAgICAgICAgICAzNzgsCiAgICAgICAgICAgIDM4MwogICAgICAgICAg
XSwKICAgICAgICAgICJQYXRjaGVzIjogWwogICAgICAgICAgICAieHNhMzc5
LTQuMTUucGF0Y2giCiAgICAgICAgICBdCiAgICAgICAgfQogICAgICB9CiAg
ICB9LAogICAgIm1hc3RlciI6IHsKICAgICAgIlJlY2lwZXMiOiB7CiAgICAg
ICAgInhlbiI6IHsKICAgICAgICAgICJTdGFibGVSZWYiOiAiMjVkYTk0NTVm
MWJiOGE2ZDMzMDM5NTc1YTdiMjhiZGZjNGUzZmNmZSIsCiAgICAgICAgICAi
UHJlcmVxcyI6IFsKICAgICAgICAgICAgMzc4LAogICAgICAgICAgICAzODMK
ICAgICAgICAgIF0sCiAgICAgICAgICAiUGF0Y2hlcyI6IFsKICAgICAgICAg
ICAgInhzYTM3OS5wYXRjaCIKICAgICAgICAgIF0KICAgICAgICB9CiAgICAg
IH0KICAgIH0KICB9Cn0=

--=separator
Content-Type: application/octet-stream; name="xsa379.patch"
Content-Disposition: attachment; filename="xsa379.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvbW06IHdpZGVuIGxvY2tlZCByZWdpb24gaW4geGVubWVtX2FkZF90
b19waHlzbWFwX29uZSgpCgpGb3IgcGFnZXMgd2hpY2ggY2FuIGJlIG1hZGUg
cGFydCBvZiB0aGUgUDJNIGJ5IHRoZSBndWVzdCwgYnV0IHdoaWNoIGNhbgph
bHNvIGxhdGVyIGJlIGRlLWFsbG9jYXRlZCAoZ3JhbnQgdGFibGUgdjIgc3Rh
dHVzIHBhZ2VzIGJlaW5nIHRoZQpwcmVzZW50IGV4YW1wbGUpLCBpdCBpcyBp
bXBlcmF0aXZlIHRoYXQgdGhleSBiZSBtYXBwZWQgYXQgbm8gbW9yZSB0aGFu
IGEKc2luZ2xlIEdGTi4gV2UgdGhlcmVmb3JlIG5lZWQgdG8gbWFrZSBzdXJl
IHRoYXQgb2YgdHdvIHBhcmFsbGVsClhFTk1BUFNQQUNFX2dyYW50X3RhYmxl
IHJlcXVlc3RzIGZvciB0aGUgc2FtZSBzdGF0dXMgcGFnZSBvbmUgY29tcGxl
dGVzCmJlZm9yZSB0aGUgc2Vjb25kIGNoZWNrcyBhdCB3aGljaCBvdGhlciBH
Rk4gdGhlIHVuZGVybHlpbmcgTUZOIGlzCnByZXNlbnRseSBtYXBwZWQuCgpQ
dWxsIGFoZWFkIHRoZSByZXNwZWN0aXZlIGdldF9nZm4oKSBhbmQgcHVzaCBk
b3duIHRoZSByZXNwZWN0aXZlCnB1dF9nZm4oKS4gVGhpcyBsZXZlcmFnZXMg
dGhhdCBnZm5fbG9jaygpIHJlYWxseSBhbGlhc2VzIHAybV9sb2NrKCksIGJ1
dAp0aGUgZnVuY3Rpb24gbWFrZXMgdGhpcyBhc3N1bXB0aW9uIGFscmVhZHkg
YW55d2F5OiBJbiB0aGUKWEVOTUFQU1BBQ0VfZ21mbiBjYXNlIGxvY2sgbmVz
dGluZyBjb25zdHJhaW50cyBmb3IgYm90aCBpbnZvbHZlZCBHRk5zCndvdWxk
IG90aGVyd2lzZSBuZWVkIHRvIGJlIGVuZm9yY2VkIHRvIGF2b2lkIEFCQkEg
ZGVhZGxvY2tzLgoKVGhpcyBpcyBDVkUtMjAyMS0yODY5NyAvIFhTQS0zNzku
CgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5j
b20+ClJldmlld2VkLWJ5OiBKdWxpZW4gR3JhbGwgPGpncmFsbEBhbWF6b24u
Y29tPgotLS0KdjI6IEFkZCBjb2RlIGNvbW1lbnQuCgotLS0gYS94ZW4vYXJj
aC94ODYvbW0vcDJtLmMKKysrIGIveGVuL2FyY2gveDg2L21tL3AybS5jCkBA
IC0yNzU2LDE3ICsyNzU2LDI5IEBAIGludCB4ZW5tZW1fYWRkX3RvX3BoeXNt
YXBfb25lKAogICAgICAgICBnb3RvIHB1dF9ib3RoOwogICAgIH0KIAorICAg
IC8qCisgICAgICogTm90ZSB0aGF0IHdlJ3JlIChhYil1c2luZyBHRk4gbG9j
a2luZyAodG8gcmVhbGx5IGJlIGxvY2tpbmcgb2YgdGhlCisgICAgICogZW50
aXJlIFAyTSkgaGVyZSBpbiAoYXQgbGVhc3QpIHR3byB3YXlzOiBGaW5lciBn
cmFpbmVkIGxvY2tpbmcgd291bGQKKyAgICAgKiBleHBvc2UgbG9jayBvcmRl
ciB2aW9sYXRpb25zIGluIHRoZSBYRU5NQVBTUEFDRV9nbWZuIGNhc2UgKGR1
ZSB0byB0aGUKKyAgICAgKiBlYXJsaWVyIGdldF9nZm5fdW5zaGFyZSgpIGFi
b3ZlKS4gUGx1cyBhdCB0aGUgdmVyeSBsZWFzdCBmb3IgdGhlIGdyYW50Cisg
ICAgICogdGFibGUgdjIgc3RhdHVzIHBhZ2UgY2FzZSB3ZSBuZWVkIHRvIGd1
YXJhbnRlZSB0aGF0IHRoZSBzYW1lIHBhZ2UgY2FuCisgICAgICogb25seSBh
cHBlYXIgYXQgYSBzaW5nbGUgR0ZOLiBXaGlsZSB0aGlzIGlzIGEgcHJvcGVy
dHkgd2Ugd2FudCBpbgorICAgICAqIGdlbmVyYWwsIGZvciBwYWdlcyB3aGlj
aCBjYW4gc3Vic2VxdWVudGx5IGJlIGZyZWVkIHRoaXMgaW1wZXJhdGl2ZToK
KyAgICAgKiBVcG9uIGZyZWVpbmcgd2Ugd291bGRuJ3QgYmUgYWJsZSB0byBm
aW5kIG90aGVyIG1hcHBpbmdzIGluIHRoZSBQMk0KKyAgICAgKiAodW5sZXNz
IHdlIGRpZCBhIGJydXRlIGZvcmNlIHNlYXJjaCkuCisgICAgICovCisgICAg
cHJldl9tZm4gPSBnZXRfZ2ZuKGQsIGdmbl94KGdwZm4pLCAmcDJtdCk7CisK
ICAgICAvKiBYRU5NQVBTUEFDRV9nbWZuOiBDaGVjayBpZiB0aGUgTUZOIGlz
IGFzc29jaWF0ZWQgd2l0aCBhbm90aGVyIEdGTi4gKi8KICAgICBvbGRfZ3Bm
biA9IGdldF9ncGZuX2Zyb21fbWZuKG1mbl94KG1mbikpOwogICAgIEFTU0VS
VCghU0hBUkVEX00yUChvbGRfZ3BmbikpOwogICAgIGlmICggc3BhY2UgPT0g
WEVOTUFQU1BBQ0VfZ21mbiAmJiBvbGRfZ3BmbiAhPSBnZm4gKQogICAgIHsK
ICAgICAgICAgcmMgPSAtRVhERVY7Ci0gICAgICAgIGdvdG8gcHV0X2JvdGg7
CisgICAgICAgIGdvdG8gcHV0X2FsbDsKICAgICB9CiAKICAgICAvKiBSZW1v
dmUgcHJldmlvdXNseSBtYXBwZWQgcGFnZSBpZiBpdCB3YXMgcHJlc2VudC4g
Ki8KLSAgICBwcmV2X21mbiA9IGdldF9nZm4oZCwgZ2ZuX3goZ3BmbiksICZw
Mm10KTsKICAgICBpZiAoIHAybXQgPT0gcDJtX21taW9fZGlyZWN0ICkKICAg
ICAgICAgcmMgPSAtRVBFUk07CiAgICAgZWxzZSBpZiAoIG1mbl92YWxpZChw
cmV2X21mbikgKQpAQCAtMjc3OCwyMCArMjc5MCwxOCBAQCBpbnQgeGVubWVt
X2FkZF90b19waHlzbWFwX29uZSgKICAgICAgICAgICAgIC8qIE5vcm1hbCBk
b21haW4gbWVtb3J5IGlzIGZyZWVkLCB0byBhdm9pZCBsZWFraW5nIG1lbW9y
eS4gKi8KICAgICAgICAgICAgIHJjID0gZ3Vlc3RfcmVtb3ZlX3BhZ2UoZCwg
Z2ZuX3goZ3BmbikpOwogICAgIH0KLSAgICAvKiBJbiB0aGUgWEVOTUFQU1BB
Q0VfZ21mbiBjYXNlIHdlIHN0aWxsIGhvbGQgYSByZWYgb24gdGhlIG9sZCBw
YWdlLiAqLwotICAgIHB1dF9nZm4oZCwgZ2ZuX3goZ3BmbikpOwotCi0gICAg
aWYgKCByYyApCi0gICAgICAgIGdvdG8gcHV0X2JvdGg7CiAKICAgICAvKiBV
bm1hcCBmcm9tIG9sZCBsb2NhdGlvbiwgaWYgYW55LiAqLwotICAgIGlmICgg
b2xkX2dwZm4gIT0gSU5WQUxJRF9NMlBfRU5UUlkgKQorICAgIGlmICggIXJj
ICYmIG9sZF9ncGZuICE9IElOVkFMSURfTTJQX0VOVFJZICkKICAgICAgICAg
cmMgPSBndWVzdF9waHlzbWFwX3JlbW92ZV9wYWdlKGQsIF9nZm4ob2xkX2dw
Zm4pLCBtZm4sIFBBR0VfT1JERVJfNEspOwogCiAgICAgLyogTWFwIGF0IG5l
dyBsb2NhdGlvbi4gKi8KICAgICBpZiAoICFyYyApCiAgICAgICAgIHJjID0g
Z3Vlc3RfcGh5c21hcF9hZGRfcGFnZShkLCBncGZuLCBtZm4sIFBBR0VfT1JE
RVJfNEspOwogCisgcHV0X2FsbDoKKyAgICBwdXRfZ2ZuKGQsIGdmbl94KGdw
Zm4pKTsKKwogIHB1dF9ib3RoOgogICAgIC8qCiAgICAgICogSW4gdGhlIFhF
Tk1BUFNQQUNFX2dtZm4gY2FzZSwgd2UgdG9vayBhIHJlZiBvZiB0aGUgZ2Zu
IGF0IHRoZSB0b3AuCg==

--=separator
Content-Type: application/octet-stream; name="xsa379-4.12.patch"
Content-Disposition: attachment; filename="xsa379-4.12.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvbW06IHdpZGVuIGxvY2tlZCByZWdpb24gaW4geGVubWVtX2FkZF90
b19waHlzbWFwX29uZSgpCgpGb3IgcGFnZXMgd2hpY2ggY2FuIGJlIG1hZGUg
cGFydCBvZiB0aGUgUDJNIGJ5IHRoZSBndWVzdCwgYnV0IHdoaWNoIGNhbgph
bHNvIGxhdGVyIGJlIGRlLWFsbG9jYXRlZCAoZ3JhbnQgdGFibGUgdjIgc3Rh
dHVzIHBhZ2VzIGJlaW5nIHRoZQpwcmVzZW50IGV4YW1wbGUpLCBpdCBpcyBp
bXBlcmF0aXZlIHRoYXQgdGhleSBiZSBtYXBwZWQgYXQgbm8gbW9yZSB0aGFu
IGEKc2luZ2xlIEdGTi4gV2UgdGhlcmVmb3JlIG5lZWQgdG8gbWFrZSBzdXJl
IHRoYXQgb2YgdHdvIHBhcmFsbGVsClhFTk1BUFNQQUNFX2dyYW50X3RhYmxl
IHJlcXVlc3RzIGZvciB0aGUgc2FtZSBzdGF0dXMgcGFnZSBvbmUgY29tcGxl
dGVzCmJlZm9yZSB0aGUgc2Vjb25kIGNoZWNrcyBhdCB3aGljaCBvdGhlciBH
Rk4gdGhlIHVuZGVybHlpbmcgTUZOIGlzCnByZXNlbnRseSBtYXBwZWQuCgpQ
dXNoIGRvd24gdGhlIHJlc3BlY3RpdmUgcHV0X2dmbigpLiBUaGlzIGxldmVy
YWdlcyB0aGF0IGdmbl9sb2NrKCkKcmVhbGx5IGFsaWFzZXMgcDJtX2xvY2so
KSwgYnV0IHRoZSBmdW5jdGlvbiBtYWtlcyB0aGlzIGFzc3VtcHRpb24KYWxy
ZWFkeSBhbnl3YXk6IEluIHRoZSBYRU5NQVBTUEFDRV9nbWZuIGNhc2UgbG9j
ayBuZXN0aW5nIGNvbnN0cmFpbnRzCmZvciBib3RoIGludm9sdmVkIEdGTnMg
d291bGQgb3RoZXJ3aXNlIG5lZWQgdG8gYmUgZW5mb3JjZWQgdG8gYXZvaWQg
QUJCQQpkZWFkbG9ja3MuCgpUaGlzIGlzIENWRS0yMDIxLTI4Njk3IC8gWFNB
LTM3OS4KClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBz
dXNlLmNvbT4KUmV2aWV3ZWQtYnk6IEp1bGllbiBHcmFsbCA8amdyYWxsQGFt
YXpvbi5jb20+CgotLS0gYS94ZW4vYXJjaC94ODYvbW0uYworKysgYi94ZW4v
YXJjaC94ODYvbW0uYwpAQCAtNDgwNyw4ICs0ODA3LDIwIEBAIGludCB4ZW5t
ZW1fYWRkX3RvX3BoeXNtYXBfb25lKAogICAgICAgICBnb3RvIHB1dF9ib3Ro
OwogICAgIH0KIAotICAgIC8qIFJlbW92ZSBwcmV2aW91c2x5IG1hcHBlZCBw
YWdlIGlmIGl0IHdhcyBwcmVzZW50LiAqLworICAgIC8qCisgICAgICogTm90
ZSB0aGF0IHdlJ3JlIChhYil1c2luZyBHRk4gbG9ja2luZyAodG8gcmVhbGx5
IGJlIGxvY2tpbmcgb2YgdGhlCisgICAgICogZW50aXJlIFAyTSkgaGVyZSBp
biAoYXQgbGVhc3QpIHR3byB3YXlzOiBGaW5lciBncmFpbmVkIGxvY2tpbmcg
d291bGQKKyAgICAgKiBleHBvc2UgbG9jayBvcmRlciB2aW9sYXRpb25zIGlu
IHRoZSBYRU5NQVBTUEFDRV9nbWZuIGNhc2UgKGR1ZSB0byB0aGUKKyAgICAg
KiBlYXJsaWVyIGdldF9nZm5fdW5zaGFyZSgpIGFib3ZlKS4gUGx1cyBhdCB0
aGUgdmVyeSBsZWFzdCBmb3IgdGhlIGdyYW50CisgICAgICogdGFibGUgdjIg
c3RhdHVzIHBhZ2UgY2FzZSB3ZSBuZWVkIHRvIGd1YXJhbnRlZSB0aGF0IHRo
ZSBzYW1lIHBhZ2UgY2FuCisgICAgICogb25seSBhcHBlYXIgYXQgYSBzaW5n
bGUgR0ZOLiBXaGlsZSB0aGlzIGlzIGEgcHJvcGVydHkgd2Ugd2FudCBpbgor
ICAgICAqIGdlbmVyYWwsIGZvciBwYWdlcyB3aGljaCBjYW4gc3Vic2VxdWVu
dGx5IGJlIGZyZWVkIHRoaXMgaW1wZXJhdGl2ZToKKyAgICAgKiBVcG9uIGZy
ZWVpbmcgd2Ugd291bGRuJ3QgYmUgYWJsZSB0byBmaW5kIG90aGVyIG1hcHBp
bmdzIGluIHRoZSBQMk0KKyAgICAgKiAodW5sZXNzIHdlIGRpZCBhIGJydXRl
IGZvcmNlIHNlYXJjaCkuCisgICAgICovCiAgICAgcHJldl9tZm4gPSBtZm5f
eChnZXRfZ2ZuKGQsIGdmbl94KGdwZm4pLCAmcDJtdCkpOworCisgICAgLyog
UmVtb3ZlIHByZXZpb3VzbHkgbWFwcGVkIHBhZ2UgaWYgaXQgd2FzIHByZXNl
bnQuICovCiAgICAgaWYgKCBwMm10ID09IHAybV9tbWlvX2RpcmVjdCApCiAg
ICAgICAgIHJjID0gLUVQRVJNOwogICAgIGVsc2UgaWYgKCBtZm5fdmFsaWQo
X21mbihwcmV2X21mbikpICkKQEAgLTQ4MjAsMjcgKzQ4MzIsMjEgQEAgaW50
IHhlbm1lbV9hZGRfdG9fcGh5c21hcF9vbmUoCiAgICAgICAgICAgICAvKiBO
b3JtYWwgZG9tYWluIG1lbW9yeSBpcyBmcmVlZCwgdG8gYXZvaWQgbGVha2lu
ZyBtZW1vcnkuICovCiAgICAgICAgICAgICByYyA9IGd1ZXN0X3JlbW92ZV9w
YWdlKGQsIGdmbl94KGdwZm4pKTsKICAgICB9Ci0gICAgLyogSW4gdGhlIFhF
Tk1BUFNQQUNFX2dtZm4gY2FzZSB3ZSBzdGlsbCBob2xkIGEgcmVmIG9uIHRo
ZSBvbGQgcGFnZS4gKi8KLSAgICBwdXRfZ2ZuKGQsIGdmbl94KGdwZm4pKTsK
LQotICAgIGlmICggcmMgKQotICAgICAgICBnb3RvIHB1dF9ib3RoOwogCiAg
ICAgLyogVW5tYXAgZnJvbSBvbGQgbG9jYXRpb24sIGlmIGFueS4gKi8KICAg
ICBvbGRfZ3BmbiA9IGdldF9ncGZuX2Zyb21fbWZuKG1mbl94KG1mbikpOwog
ICAgIEFTU0VSVCghU0hBUkVEX00yUChvbGRfZ3BmbikpOwogICAgIGlmICgg
c3BhY2UgPT0gWEVOTUFQU1BBQ0VfZ21mbiAmJiBvbGRfZ3BmbiAhPSBnZm4g
KQotICAgIHsKICAgICAgICAgcmMgPSAtRVhERVY7Ci0gICAgICAgIGdvdG8g
cHV0X2JvdGg7Ci0gICAgfQotICAgIGlmICggb2xkX2dwZm4gIT0gSU5WQUxJ
RF9NMlBfRU5UUlkgKQorICAgIGVsc2UgaWYgKCAhcmMgJiYgb2xkX2dwZm4g
IT0gSU5WQUxJRF9NMlBfRU5UUlkgKQogICAgICAgICByYyA9IGd1ZXN0X3Bo
eXNtYXBfcmVtb3ZlX3BhZ2UoZCwgX2dmbihvbGRfZ3BmbiksIG1mbiwgUEFH
RV9PUkRFUl80Syk7CiAKICAgICAvKiBNYXAgYXQgbmV3IGxvY2F0aW9uLiAq
LwogICAgIGlmICggIXJjICkKICAgICAgICAgcmMgPSBndWVzdF9waHlzbWFw
X2FkZF9wYWdlKGQsIGdwZm4sIG1mbiwgUEFHRV9PUkRFUl80Syk7CiAKKyAg
ICBwdXRfZ2ZuKGQsIGdmbl94KGdwZm4pKTsKKwogIHB1dF9ib3RoOgogICAg
IC8qCiAgICAgICogSW4gdGhlIFhFTk1BUFNQQUNFX2dtZm4gY2FzZSwgd2Ug
dG9vayBhIHJlZiBvZiB0aGUgZ2ZuIGF0IHRoZSB0b3AuCg==

--=separator
Content-Type: application/octet-stream; name="xsa379-4.14.patch"
Content-Disposition: attachment; filename="xsa379-4.14.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvbW06IHdpZGVuIGxvY2tlZCByZWdpb24gaW4geGVubWVtX2FkZF90
b19waHlzbWFwX29uZSgpCgpGb3IgcGFnZXMgd2hpY2ggY2FuIGJlIG1hZGUg
cGFydCBvZiB0aGUgUDJNIGJ5IHRoZSBndWVzdCwgYnV0IHdoaWNoIGNhbgph
bHNvIGxhdGVyIGJlIGRlLWFsbG9jYXRlZCAoZ3JhbnQgdGFibGUgdjIgc3Rh
dHVzIHBhZ2VzIGJlaW5nIHRoZQpwcmVzZW50IGV4YW1wbGUpLCBpdCBpcyBp
bXBlcmF0aXZlIHRoYXQgdGhleSBiZSBtYXBwZWQgYXQgbm8gbW9yZSB0aGFu
IGEKc2luZ2xlIEdGTi4gV2UgdGhlcmVmb3JlIG5lZWQgdG8gbWFrZSBzdXJl
IHRoYXQgb2YgdHdvIHBhcmFsbGVsClhFTk1BUFNQQUNFX2dyYW50X3RhYmxl
IHJlcXVlc3RzIGZvciB0aGUgc2FtZSBzdGF0dXMgcGFnZSBvbmUgY29tcGxl
dGVzCmJlZm9yZSB0aGUgc2Vjb25kIGNoZWNrcyBhdCB3aGljaCBvdGhlciBH
Rk4gdGhlIHVuZGVybHlpbmcgTUZOIGlzCnByZXNlbnRseSBtYXBwZWQuCgpQ
dXNoIGRvd24gdGhlIHJlc3BlY3RpdmUgcHV0X2dmbigpLiBUaGlzIGxldmVy
YWdlcyB0aGF0IGdmbl9sb2NrKCkKcmVhbGx5IGFsaWFzZXMgcDJtX2xvY2so
KSwgYnV0IHRoZSBmdW5jdGlvbiBtYWtlcyB0aGlzIGFzc3VtcHRpb24KYWxy
ZWFkeSBhbnl3YXk6IEluIHRoZSBYRU5NQVBTUEFDRV9nbWZuIGNhc2UgbG9j
ayBuZXN0aW5nIGNvbnN0cmFpbnRzCmZvciBib3RoIGludm9sdmVkIEdGTnMg
d291bGQgb3RoZXJ3aXNlIG5lZWQgdG8gYmUgZW5mb3JjZWQgdG8gYXZvaWQg
QUJCQQpkZWFkbG9ja3MuCgpUaGlzIGlzIENWRS0yMDIxLTI4Njk3IC8gWFNB
LTM3OS4KClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBz
dXNlLmNvbT4KUmV2aWV3ZWQtYnk6IEp1bGllbiBHcmFsbCA8amdyYWxsQGFt
YXpvbi5jb20+CgotLS0gYS94ZW4vYXJjaC94ODYvbW0uYworKysgYi94ZW4v
YXJjaC94ODYvbW0uYwpAQCAtNDY1MCw4ICs0NjUwLDIwIEBAIGludCB4ZW5t
ZW1fYWRkX3RvX3BoeXNtYXBfb25lKAogICAgICAgICBnb3RvIHB1dF9ib3Ro
OwogICAgIH0KIAotICAgIC8qIFJlbW92ZSBwcmV2aW91c2x5IG1hcHBlZCBw
YWdlIGlmIGl0IHdhcyBwcmVzZW50LiAqLworICAgIC8qCisgICAgICogTm90
ZSB0aGF0IHdlJ3JlIChhYil1c2luZyBHRk4gbG9ja2luZyAodG8gcmVhbGx5
IGJlIGxvY2tpbmcgb2YgdGhlCisgICAgICogZW50aXJlIFAyTSkgaGVyZSBp
biAoYXQgbGVhc3QpIHR3byB3YXlzOiBGaW5lciBncmFpbmVkIGxvY2tpbmcg
d291bGQKKyAgICAgKiBleHBvc2UgbG9jayBvcmRlciB2aW9sYXRpb25zIGlu
IHRoZSBYRU5NQVBTUEFDRV9nbWZuIGNhc2UgKGR1ZSB0byB0aGUKKyAgICAg
KiBlYXJsaWVyIGdldF9nZm5fdW5zaGFyZSgpIGFib3ZlKS4gUGx1cyBhdCB0
aGUgdmVyeSBsZWFzdCBmb3IgdGhlIGdyYW50CisgICAgICogdGFibGUgdjIg
c3RhdHVzIHBhZ2UgY2FzZSB3ZSBuZWVkIHRvIGd1YXJhbnRlZSB0aGF0IHRo
ZSBzYW1lIHBhZ2UgY2FuCisgICAgICogb25seSBhcHBlYXIgYXQgYSBzaW5n
bGUgR0ZOLiBXaGlsZSB0aGlzIGlzIGEgcHJvcGVydHkgd2Ugd2FudCBpbgor
ICAgICAqIGdlbmVyYWwsIGZvciBwYWdlcyB3aGljaCBjYW4gc3Vic2VxdWVu
dGx5IGJlIGZyZWVkIHRoaXMgaW1wZXJhdGl2ZToKKyAgICAgKiBVcG9uIGZy
ZWVpbmcgd2Ugd291bGRuJ3QgYmUgYWJsZSB0byBmaW5kIG90aGVyIG1hcHBp
bmdzIGluIHRoZSBQMk0KKyAgICAgKiAodW5sZXNzIHdlIGRpZCBhIGJydXRl
IGZvcmNlIHNlYXJjaCkuCisgICAgICovCiAgICAgcHJldl9tZm4gPSBnZXRf
Z2ZuKGQsIGdmbl94KGdwZm4pLCAmcDJtdCk7CisKKyAgICAvKiBSZW1vdmUg
cHJldmlvdXNseSBtYXBwZWQgcGFnZSBpZiBpdCB3YXMgcHJlc2VudC4gKi8K
ICAgICBpZiAoIHAybXQgPT0gcDJtX21taW9fZGlyZWN0ICkKICAgICAgICAg
cmMgPSAtRVBFUk07CiAgICAgZWxzZSBpZiAoIG1mbl92YWxpZChwcmV2X21m
bikgKQpAQCAtNDY2MywyNyArNDY3NSwyMSBAQCBpbnQgeGVubWVtX2FkZF90
b19waHlzbWFwX29uZSgKICAgICAgICAgICAgIC8qIE5vcm1hbCBkb21haW4g
bWVtb3J5IGlzIGZyZWVkLCB0byBhdm9pZCBsZWFraW5nIG1lbW9yeS4gKi8K
ICAgICAgICAgICAgIHJjID0gZ3Vlc3RfcmVtb3ZlX3BhZ2UoZCwgZ2ZuX3go
Z3BmbikpOwogICAgIH0KLSAgICAvKiBJbiB0aGUgWEVOTUFQU1BBQ0VfZ21m
biBjYXNlIHdlIHN0aWxsIGhvbGQgYSByZWYgb24gdGhlIG9sZCBwYWdlLiAq
LwotICAgIHB1dF9nZm4oZCwgZ2ZuX3goZ3BmbikpOwotCi0gICAgaWYgKCBy
YyApCi0gICAgICAgIGdvdG8gcHV0X2JvdGg7CiAKICAgICAvKiBVbm1hcCBm
cm9tIG9sZCBsb2NhdGlvbiwgaWYgYW55LiAqLwogICAgIG9sZF9ncGZuID0g
Z2V0X2dwZm5fZnJvbV9tZm4obWZuX3gobWZuKSk7CiAgICAgQVNTRVJUKCFT
SEFSRURfTTJQKG9sZF9ncGZuKSk7CiAgICAgaWYgKCBzcGFjZSA9PSBYRU5N
QVBTUEFDRV9nbWZuICYmIG9sZF9ncGZuICE9IGdmbiApCi0gICAgewogICAg
ICAgICByYyA9IC1FWERFVjsKLSAgICAgICAgZ290byBwdXRfYm90aDsKLSAg
ICB9Ci0gICAgaWYgKCBvbGRfZ3BmbiAhPSBJTlZBTElEX00yUF9FTlRSWSAp
CisgICAgZWxzZSBpZiAoICFyYyAmJiBvbGRfZ3BmbiAhPSBJTlZBTElEX00y
UF9FTlRSWSApCiAgICAgICAgIHJjID0gZ3Vlc3RfcGh5c21hcF9yZW1vdmVf
cGFnZShkLCBfZ2ZuKG9sZF9ncGZuKSwgbWZuLCBQQUdFX09SREVSXzRLKTsK
IAogICAgIC8qIE1hcCBhdCBuZXcgbG9jYXRpb24uICovCiAgICAgaWYgKCAh
cmMgKQogICAgICAgICByYyA9IGd1ZXN0X3BoeXNtYXBfYWRkX3BhZ2UoZCwg
Z3BmbiwgbWZuLCBQQUdFX09SREVSXzRLKTsKIAorICAgIHB1dF9nZm4oZCwg
Z2ZuX3goZ3BmbikpOworCiAgcHV0X2JvdGg6CiAgICAgLyoKICAgICAgKiBJ
biB0aGUgWEVOTUFQU1BBQ0VfZ21mbiBjYXNlLCB3ZSB0b29rIGEgcmVmIG9m
IHRoZSBnZm4gYXQgdGhlIHRvcC4K

--=separator
Content-Type: application/octet-stream; name="xsa379-4.15.patch"
Content-Disposition: attachment; filename="xsa379-4.15.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvbW06IHdpZGVuIGxvY2tlZCByZWdpb24gaW4geGVubWVtX2FkZF90
b19waHlzbWFwX29uZSgpCgpGb3IgcGFnZXMgd2hpY2ggY2FuIGJlIG1hZGUg
cGFydCBvZiB0aGUgUDJNIGJ5IHRoZSBndWVzdCwgYnV0IHdoaWNoIGNhbgph
bHNvIGxhdGVyIGJlIGRlLWFsbG9jYXRlZCAoZ3JhbnQgdGFibGUgdjIgc3Rh
dHVzIHBhZ2VzIGJlaW5nIHRoZQpwcmVzZW50IGV4YW1wbGUpLCBpdCBpcyBp
bXBlcmF0aXZlIHRoYXQgdGhleSBiZSBtYXBwZWQgYXQgbm8gbW9yZSB0aGFu
IGEKc2luZ2xlIEdGTi4gV2UgdGhlcmVmb3JlIG5lZWQgdG8gbWFrZSBzdXJl
IHRoYXQgb2YgdHdvIHBhcmFsbGVsClhFTk1BUFNQQUNFX2dyYW50X3RhYmxl
IHJlcXVlc3RzIGZvciB0aGUgc2FtZSBzdGF0dXMgcGFnZSBvbmUgY29tcGxl
dGVzCmJlZm9yZSB0aGUgc2Vjb25kIGNoZWNrcyBhdCB3aGljaCBvdGhlciBH
Rk4gdGhlIHVuZGVybHlpbmcgTUZOIGlzCnByZXNlbnRseSBtYXBwZWQuCgpQ
dXNoIGRvd24gdGhlIHJlc3BlY3RpdmUgcHV0X2dmbigpLiBUaGlzIGxldmVy
YWdlcyB0aGF0IGdmbl9sb2NrKCkKcmVhbGx5IGFsaWFzZXMgcDJtX2xvY2so
KSwgYnV0IHRoZSBmdW5jdGlvbiBtYWtlcyB0aGlzIGFzc3VtcHRpb24KYWxy
ZWFkeSBhbnl3YXk6IEluIHRoZSBYRU5NQVBTUEFDRV9nbWZuIGNhc2UgbG9j
ayBuZXN0aW5nIGNvbnN0cmFpbnRzCmZvciBib3RoIGludm9sdmVkIEdGTnMg
d291bGQgb3RoZXJ3aXNlIG5lZWQgdG8gYmUgZW5mb3JjZWQgdG8gYXZvaWQg
QUJCQQpkZWFkbG9ja3MuCgpUaGlzIGlzIENWRS0yMDIxLTI4Njk3IC8gWFNB
LTM3OS4KClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBz
dXNlLmNvbT4KUmV2aWV3ZWQtYnk6IEp1bGllbiBHcmFsbCA8amdyYWxsQGFt
YXpvbi5jb20+Ci0tLQpTaW5jZSB0aGVyZSB3YXMgc29tZSByZS1vcmRlcmlu
ZyBvZiB0aGUgY2hlY2tzIGluIHN0YWdpbmcvbWFzdGVyICh0aGUKLUVYREVW
IG5vdyBzaXR0aW5nIGVhcmxpZXIgdGhlcmUpLCBJIGRlZW1lZCBpdCBiZXR0
ZXIgdG8gZHJvcCB0aGUKZWFybGllciAiaWYgKCByYyApIiBhbmQgYWxsb3cg
YW4gZWFybGllciBlcnJvciB0byBiZSBvdmVyd3JpdHRlbiBieQotRVhERVYg
aGVyZS4KCi0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYworKysgYi94ZW4v
YXJjaC94ODYvbW0vcDJtLmMKQEAgLTI3MzAsOCArMjczMCwyMCBAQCBpbnQg
eGVubWVtX2FkZF90b19waHlzbWFwX29uZSgKICAgICAgICAgZ290byBwdXRf
Ym90aDsKICAgICB9CiAKLSAgICAvKiBSZW1vdmUgcHJldmlvdXNseSBtYXBw
ZWQgcGFnZSBpZiBpdCB3YXMgcHJlc2VudC4gKi8KKyAgICAvKgorICAgICAq
IE5vdGUgdGhhdCB3ZSdyZSAoYWIpdXNpbmcgR0ZOIGxvY2tpbmcgKHRvIHJl
YWxseSBiZSBsb2NraW5nIG9mIHRoZQorICAgICAqIGVudGlyZSBQMk0pIGhl
cmUgaW4gKGF0IGxlYXN0KSB0d28gd2F5czogRmluZXIgZ3JhaW5lZCBsb2Nr
aW5nIHdvdWxkCisgICAgICogZXhwb3NlIGxvY2sgb3JkZXIgdmlvbGF0aW9u
cyBpbiB0aGUgWEVOTUFQU1BBQ0VfZ21mbiBjYXNlIChkdWUgdG8gdGhlCisg
ICAgICogZWFybGllciBnZXRfZ2ZuX3Vuc2hhcmUoKSBhYm92ZSkuIFBsdXMg
YXQgdGhlIHZlcnkgbGVhc3QgZm9yIHRoZSBncmFudAorICAgICAqIHRhYmxl
IHYyIHN0YXR1cyBwYWdlIGNhc2Ugd2UgbmVlZCB0byBndWFyYW50ZWUgdGhh
dCB0aGUgc2FtZSBwYWdlIGNhbgorICAgICAqIG9ubHkgYXBwZWFyIGF0IGEg
c2luZ2xlIEdGTi4gV2hpbGUgdGhpcyBpcyBhIHByb3BlcnR5IHdlIHdhbnQg
aW4KKyAgICAgKiBnZW5lcmFsLCBmb3IgcGFnZXMgd2hpY2ggY2FuIHN1YnNl
cXVlbnRseSBiZSBmcmVlZCB0aGlzIGltcGVyYXRpdmU6CisgICAgICogVXBv
biBmcmVlaW5nIHdlIHdvdWxkbid0IGJlIGFibGUgdG8gZmluZCBvdGhlciBt
YXBwaW5ncyBpbiB0aGUgUDJNCisgICAgICogKHVubGVzcyB3ZSBkaWQgYSBi
cnV0ZSBmb3JjZSBzZWFyY2gpLgorICAgICAqLwogICAgIHByZXZfbWZuID0g
Z2V0X2dmbihkLCBnZm5feChncGZuKSwgJnAybXQpOworCisgICAgLyogUmVt
b3ZlIHByZXZpb3VzbHkgbWFwcGVkIHBhZ2UgaWYgaXQgd2FzIHByZXNlbnQu
ICovCiAgICAgaWYgKCBwMm10ID09IHAybV9tbWlvX2RpcmVjdCApCiAgICAg
ICAgIHJjID0gLUVQRVJNOwogICAgIGVsc2UgaWYgKCBtZm5fdmFsaWQocHJl
dl9tZm4pICkKQEAgLTI3NDMsMjcgKzI3NTUsMjEgQEAgaW50IHhlbm1lbV9h
ZGRfdG9fcGh5c21hcF9vbmUoCiAgICAgICAgICAgICAvKiBOb3JtYWwgZG9t
YWluIG1lbW9yeSBpcyBmcmVlZCwgdG8gYXZvaWQgbGVha2luZyBtZW1vcnku
ICovCiAgICAgICAgICAgICByYyA9IGd1ZXN0X3JlbW92ZV9wYWdlKGQsIGdm
bl94KGdwZm4pKTsKICAgICB9Ci0gICAgLyogSW4gdGhlIFhFTk1BUFNQQUNF
X2dtZm4gY2FzZSB3ZSBzdGlsbCBob2xkIGEgcmVmIG9uIHRoZSBvbGQgcGFn
ZS4gKi8KLSAgICBwdXRfZ2ZuKGQsIGdmbl94KGdwZm4pKTsKLQotICAgIGlm
ICggcmMgKQotICAgICAgICBnb3RvIHB1dF9ib3RoOwogCiAgICAgLyogVW5t
YXAgZnJvbSBvbGQgbG9jYXRpb24sIGlmIGFueS4gKi8KICAgICBvbGRfZ3Bm
biA9IGdldF9ncGZuX2Zyb21fbWZuKG1mbl94KG1mbikpOwogICAgIEFTU0VS
VCghU0hBUkVEX00yUChvbGRfZ3BmbikpOwogICAgIGlmICggc3BhY2UgPT0g
WEVOTUFQU1BBQ0VfZ21mbiAmJiBvbGRfZ3BmbiAhPSBnZm4gKQotICAgIHsK
ICAgICAgICAgcmMgPSAtRVhERVY7Ci0gICAgICAgIGdvdG8gcHV0X2JvdGg7
Ci0gICAgfQotICAgIGlmICggb2xkX2dwZm4gIT0gSU5WQUxJRF9NMlBfRU5U
UlkgKQorICAgIGVsc2UgaWYgKCAhcmMgJiYgb2xkX2dwZm4gIT0gSU5WQUxJ
RF9NMlBfRU5UUlkgKQogICAgICAgICByYyA9IGd1ZXN0X3BoeXNtYXBfcmVt
b3ZlX3BhZ2UoZCwgX2dmbihvbGRfZ3BmbiksIG1mbiwgUEFHRV9PUkRFUl80
Syk7CiAKICAgICAvKiBNYXAgYXQgbmV3IGxvY2F0aW9uLiAqLwogICAgIGlm
ICggIXJjICkKICAgICAgICAgcmMgPSBndWVzdF9waHlzbWFwX2FkZF9wYWdl
KGQsIGdwZm4sIG1mbiwgUEFHRV9PUkRFUl80Syk7CiAKKyAgICBwdXRfZ2Zu
KGQsIGdmbl94KGdwZm4pKTsKKwogIHB1dF9ib3RoOgogICAgIC8qCiAgICAg
ICogSW4gdGhlIFhFTk1BUFNQQUNFX2dtZm4gY2FzZSwgd2UgdG9vayBhIHJl
ZiBvZiB0aGUgZ2ZuIGF0IHRoZSB0b3AuCg==

--=separator--


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 12:01:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 12:01:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171928.313769 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIrbT-0001z1-Mu; Wed, 25 Aug 2021 12:01:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171928.313769; Wed, 25 Aug 2021 12: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 1mIrbT-0001yq-Je; Wed, 25 Aug 2021 12:01:59 +0000
Received: by outflank-mailman (input) for mailman id 171928;
 Wed, 25 Aug 2021 12:01:57 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gHU1=NQ=xenbits.xen.org=iwj@srs-us1.protection.inumbo.net>)
 id 1mIrbR-0000K5-HL
 for xen-devel@lists.xen.org; Wed, 25 Aug 2021 12:01:57 +0000
Received: from mail.xenproject.org (unknown [104.130.215.37])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 6df16d34-9987-4441-95af-673c95e6bf09;
 Wed, 25 Aug 2021 12:01:41 +0000 (UTC)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenbits.xen.org>)
 id 1mIrb5-0003R3-NZ; Wed, 25 Aug 2021 12:01:35 +0000
Received: from iwj by xenbits.xenproject.org with local (Exim 4.92)
 (envelope-from <iwj@xenbits.xen.org>)
 id 1mIrb5-00066J-MJ; Wed, 25 Aug 2021 12: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>
X-Inumbo-ID: 6df16d34-9987-4441-95af-673c95e6bf09
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=/ygqsxQibXAMTApsIgpDRBToW/55r09ChcsqTbbvviU=; b=CN5HmSYCxsaF20MF+MpudYF9I9
	Q1VGIfyIbDd6pTbxjsgdVm/wgoQuZtsa+ZDE4iubsvObPbfO8wMs/O/H9ETooQU3SlB0NyowH0pjt
	9I0I+jPcIb3czd/dhWoafKBX2k1ZcvFfgjrg5ZTja+ioiHftP+orZ1rXKuvMuwVQsTq4=;
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 382 v2 (CVE-2021-28699) - inadequate
 grant-v2 status frames array bounds check
Message-Id: <E1mIrb5-00066J-MJ@xenbits.xenproject.org>
Date: Wed, 25 Aug 2021 12:01:35 +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-2021-28699 / XSA-382
                               version 2

         inadequate grant-v2 status frames array bounds check

UPDATES IN VERSION 2
====================

Public release.

ISSUE DESCRIPTION
=================

The v2 grant table interface separates grant attributes from grant
status.  That is, when operating in this mode, a guest has two tables.
As a result, guests also need to be able to retrieve the addresses that
the new status tracking table can be accessed through.

For 32-bit guests on x86, translation of requests has to occur because
the interface structure layouts commonly differ between 32- and 64-bit.

The translation of the request to obtain the frame numbers of the
grant status table involves translating the resulting array of frame
numbers.  Since the space used to carry out the translation is limited,
the translation layer tells the core function the capacity of the array
within translation space.  Unfortunately the core function then only
enforces array bounds to be below 8 times the specified value, and would
write past the available space if enough frame numbers needed storing.

IMPACT
======

Malicious or buggy guest kernels may be able to mount a Denial of
Service (DoS) attack affecting the entire system.  Privilege escalation
and information leaks cannot be ruled out.

VULNERABLE SYSTEMS
==================

All Xen versions from 4.10 onwards are affected.  Xen versions 4.9 and
older are not affected.

Only 32-bit x86 guests permitted to use grant table version 2 interfaces
can leverage this vulnerability.  64-bit x86 guests cannot leverage this
vulnerability, but note that HVM and PVH guests are free to alter their
bitness as they see fit.  On Arm, grant table v2 use is explicitly
unsupported.

Only guests permitted to have 8177 or more grant table frames can
leverage this vulnerability.

MITIGATION
==========

The problem can be avoided by not increasing too much the number of
grants Xen would allow guests to establish.  The limit is controlled by
the "gnttab_max_frames" Xen command line option and the
"max_grant_frames" xl domain configuration setting.

- From Xen 4.14 onwards it is also possible to alter the system wide upper
bound of the number of grants Xen would allow guests to establish by
writing to the /params/gnttab_max_frames hypervisor file system node.
Note however that changing the value this way will only affect guests
yet to be created on the respective host.

Suppressing use of grant table v2 interfaces for 32-bit x86 guests will
also avoid this vulnerability.

CREDITS
=======

This issue was discovered by Jan Beulich of SUSE.

RESOLUTION
==========

Applying the 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.

xsa382.patch           xen-unstable - Xen 4.11.x

$ sha256sum xsa382*
1254d62c8ec2c6b45c117d1483af9a71f5de0e4142c9451dd5a75ee334219542  xsa382.meta
9e500ba2bfe36bebf27262afcb9be7b02f950aed4a7b6c1738606d5ed538c2b8  xsa382.patch
$

DEPLOYMENT DURING EMBARGO
=========================

Deployment of the patches and/or grant-frames-limiting mitigation
described above (or others which are substantially similar) is permitted
during the embargo, even on public-facing systems with untrusted guest
users and administrators.

HOWEVER, care has to be taken to avoid restricting guests too much, as
them suddenly being unable to establish grants they used to be able to
establish may lead to re-discovery of the issue.

AND: Deployment of the grant table v2 disabling mitigation described
above is NOT permitted during the embargo on public-facing systems with
untrusted guest users and administrators.  This is because such a
configuration change is recognizable by the affected guests.

AND: 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/4UyVfoK9kFAmEmMPYMHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZwnkIALnDReUPP6qoQzBWHf9s93UPwM6YVdHl/ao1Nh9l
IyMGtTKjJjtYR9at0tIJDmVecFZzsBtLhQlKWe5DvNP84ZQ99EGDjzsqYKGdJMZK
QIfyUz74UKN5PwEzxeT2C3Q9tOIq2NA41Vax19MjAXSbvAi3jp/0CSj7i6h+bK5f
WoBX9Av8Ie2ykF3Fe5i7yNl9gMpCyqEl3dijWwjezLIxlxzdBrjbKni+yBvmLBS9
XdS++bu9LwAbQXeDc5oB0b6mvy+7oHzEJfvCH+tA6o6V6bls94sF8owi5H52rn1n
23HzFQwbwqX9wmW5OKSS/NBzI9vJwzRCyOEVQw+eaZQGiHw=
=kWGv
-----END PGP SIGNATURE-----

--=separator
Content-Type: application/octet-stream; name="xsa382.meta"
Content-Disposition: attachment; filename="xsa382.meta"
Content-Transfer-Encoding: base64

ewogICJYU0EiOiAzODIsCiAgIlN1cHBvcnRlZFZlcnNpb25zIjogWwogICAg
Im1hc3RlciIsCiAgICAiNC4xNSIsCiAgICAiNC4xNCIsCiAgICAiNC4xMyIs
CiAgICAiNC4xMiIsCiAgICAiNC4xMSIKICBdLAogICJUcmVlcyI6IFsKICAg
ICJ4ZW4iCiAgXSwKICAiUmVjaXBlcyI6IHsKICAgICI0LjExIjogewogICAg
ICAiUmVjaXBlcyI6IHsKICAgICAgICAieGVuIjogewogICAgICAgICAgIlN0
YWJsZVJlZiI6ICJlZjMyYzdhZmEyNzMxYjc1ODIyNmQ2ZTEwYTFlNDg5YjFh
MTVmYzQxIiwKICAgICAgICAgICJQcmVyZXFzIjogWwogICAgICAgICAgICAz
NzgsCiAgICAgICAgICAgIDM3OSwKICAgICAgICAgICAgMzgwCiAgICAgICAg
ICBdLAogICAgICAgICAgIlBhdGNoZXMiOiBbCiAgICAgICAgICAgICJ4c2Ez
ODIucGF0Y2giCiAgICAgICAgICBdCiAgICAgICAgfQogICAgICB9CiAgICB9
LAogICAgIjQuMTIiOiB7CiAgICAgICJSZWNpcGVzIjogewogICAgICAgICJ4
ZW4iOiB7CiAgICAgICAgICAiU3RhYmxlUmVmIjogImVhMjBlZWU5N2U5ZTA4
NjExMjdhODA3MGNjN2I5YWUzNTU3YjA5ZmIiLAogICAgICAgICAgIlByZXJl
cXMiOiBbCiAgICAgICAgICAgIDM3OCwKICAgICAgICAgICAgMzc5LAogICAg
ICAgICAgICAzODAKICAgICAgICAgIF0sCiAgICAgICAgICAiUGF0Y2hlcyI6
IFsKICAgICAgICAgICAgInhzYTM4Mi5wYXRjaCIKICAgICAgICAgIF0KICAg
ICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiNC4xMyI6IHsKICAgICAgIlJl
Y2lwZXMiOiB7CiAgICAgICAgInhlbiI6IHsKICAgICAgICAgICJTdGFibGVS
ZWYiOiAiMzJkNTgwOTAyYjk1OTAwMGQ3OWQ1MWRmZjAzYTM1NjA2NTNjNGZj
YiIsCiAgICAgICAgICAiUHJlcmVxcyI6IFsKICAgICAgICAgICAgMzc4LAog
ICAgICAgICAgICAzNzksCiAgICAgICAgICAgIDM4MAogICAgICAgICAgXSwK
ICAgICAgICAgICJQYXRjaGVzIjogWwogICAgICAgICAgICAieHNhMzgyLnBh
dGNoIgogICAgICAgICAgXQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAg
ICI0LjE0IjogewogICAgICAiUmVjaXBlcyI6IHsKICAgICAgICAieGVuIjog
ewogICAgICAgICAgIlN0YWJsZVJlZiI6ICI0OTI5OWM0ODEzYjc4NDdkMjlk
ZjA3YmY3OTBmNTQ4OTA2MGYyYTljIiwKICAgICAgICAgICJQcmVyZXFzIjog
WwogICAgICAgICAgICAzNzgsCiAgICAgICAgICAgIDM3OSwKICAgICAgICAg
ICAgMzgwCiAgICAgICAgICBdLAogICAgICAgICAgIlBhdGNoZXMiOiBbCiAg
ICAgICAgICAgICJ4c2EzODIucGF0Y2giCiAgICAgICAgICBdCiAgICAgICAg
fQogICAgICB9CiAgICB9LAogICAgIjQuMTUiOiB7CiAgICAgICJSZWNpcGVz
IjogewogICAgICAgICJ4ZW4iOiB7CiAgICAgICAgICAiU3RhYmxlUmVmIjog
ImRiYTc3NDg5NmY3ZGQ3NDc3M2MxNGQ1Mzc2NDNiN2Q3NDc3ZmVmY2QiLAog
ICAgICAgICAgIlByZXJlcXMiOiBbCiAgICAgICAgICAgIDM3OCwKICAgICAg
ICAgICAgMzc5LAogICAgICAgICAgICAzODAKICAgICAgICAgIF0sCiAgICAg
ICAgICAiUGF0Y2hlcyI6IFsKICAgICAgICAgICAgInhzYTM4Mi5wYXRjaCIK
ICAgICAgICAgIF0KICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAibWFz
dGVyIjogewogICAgICAiUmVjaXBlcyI6IHsKICAgICAgICAieGVuIjogewog
ICAgICAgICAgIlN0YWJsZVJlZiI6ICIyNWRhOTQ1NWYxYmI4YTZkMzMwMzk1
NzVhN2IyOGJkZmM0ZTNmY2ZlIiwKICAgICAgICAgICJQcmVyZXFzIjogWwog
ICAgICAgICAgICAzNzgsCiAgICAgICAgICAgIDM3OSwKICAgICAgICAgICAg
MzgwCiAgICAgICAgICBdLAogICAgICAgICAgIlBhdGNoZXMiOiBbCiAgICAg
ICAgICAgICJ4c2EzODIucGF0Y2giCiAgICAgICAgICBdCiAgICAgICAgfQog
ICAgICB9CiAgICB9CiAgfQp9

--=separator
Content-Type: application/octet-stream; name="xsa382.patch"
Content-Disposition: attachment; filename="xsa382.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBnbnR0YWI6IGZpeCBhcnJheSBjYXBhY2l0eSBjaGVjayBpbiBnbnR0YWJf
Z2V0X3N0YXR1c19mcmFtZXMoKQoKVGhlIG51bWJlciBvZiBncmFudCBmcmFt
ZXMgaXMgb2Ygbm8gaW50ZXJlc3QgaGVyZTsgY29udmVydGluZyB0aGUgcGFz
c2VkCmluIG9wLm5yX2ZyYW1lcyB0aGlzIHdheSBtZWFucyB3ZSBhbGxvdyBm
b3IgOCB0aW1lcyBhcyBtYW55IEdGTnMgdG8gYmUKd3JpdHRlbiBhcyBhY3R1
YWxseSBmaXQgaW4gdGhlIGFycmF5LiBXZSB3b3VsZCBjb3JydXB0IHhsYXQg
YXJlYXMgb2YKaGlnaGVyIHZDUFUtcyAoYWZ0ZXIgaGF2aW5nIGZhdWx0ZWQg
bWFueSB0aW1lcyB3aGlsZSB0cnlpbmcgdG8gd3JpdGUgdG8KdGhlIGd1YXJk
IHBhZ2VzIGJldHdlZW4gYW55IHR3byBhcmVhcykgZm9yIDMyLWJpdCBQViBn
dWVzdHMuIEZvciBIVk0KZ3Vlc3RzIHdlJ2Qgc2ltcGx5IGNyYXNoIGFzIHNv
b24gYXMgd2UgaGl0IHRoZSBmaXJzdCBndWFyZCBwYWdlLCBhcwphY2Nlc3Nl
cyB0byB0aGUgeGxhdCBhcmVhIGFyZSBzaW1wbHkgbWVtY3B5KCkgdGhlcmUu
CgpUaGlzIGlzIENWRS0yMDIxLTI4Njk5IC8gWFNBLTM4Mi4KCkZpeGVzOiAx
OGIxYmU1ZTMyNGIgKCJnbnR0YWI6IG1ha2UgcmVzb3VyY2UgbGltaXRzIHBl
ciBkb21haW4iKQpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxp
Y2hAc3VzZS5jb20+CgotLS0gYS94ZW4vY29tbW9uL2dyYW50X3RhYmxlLmMK
KysrIGIveGVuL2NvbW1vbi9ncmFudF90YWJsZS5jCkBAIC0zMjQzLDEyICsz
MjQzLDExIEBAIGdudHRhYl9nZXRfc3RhdHVzX2ZyYW1lcyhYRU5fR1VFU1Rf
SEFOREwKICAgICAgICAgZ290byB1bmxvY2s7CiAgICAgfQogCi0gICAgaWYg
KCB1bmxpa2VseShsaW1pdF9tYXggPCBncmFudF90b19zdGF0dXNfZnJhbWVz
KG9wLm5yX2ZyYW1lcykpICkKKyAgICBpZiAoIHVubGlrZWx5KGxpbWl0X21h
eCA8IG9wLm5yX2ZyYW1lcykgKQogICAgIHsKICAgICAgICAgZ2RwcmludGso
WEVOTE9HX1dBUk5JTkcsCi0gICAgICAgICAgICAgICAgICJncmFudF90b19z
dGF0dXNfZnJhbWVzKCV1KSBmb3IgZCVkIGlzIHRvbyBsYXJnZSAoJXUsJXUp
XG4iLAotICAgICAgICAgICAgICAgICBvcC5ucl9mcmFtZXMsIGQtPmRvbWFp
bl9pZCwKLSAgICAgICAgICAgICAgICAgZ3JhbnRfdG9fc3RhdHVzX2ZyYW1l
cyhvcC5ucl9mcmFtZXMpLCBsaW1pdF9tYXgpOworICAgICAgICAgICAgICAg
ICAibnJfc3RhdHVzX2ZyYW1lcyBmb3IgJXBkIGlzIHRvbyBsYXJnZSAoJXUs
JXUpXG4iLAorICAgICAgICAgICAgICAgICBkLCBvcC5ucl9mcmFtZXMsIGxp
bWl0X21heCk7CiAgICAgICAgIG9wLnN0YXR1cyA9IEdOVFNUX2dlbmVyYWxf
ZXJyb3I7CiAgICAgICAgIGdvdG8gdW5sb2NrOwogICAgIH0K

--=separator--


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 12:02:08 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 12:02:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171932.313808 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIrbc-0003CX-9z; Wed, 25 Aug 2021 12:02:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171932.313808; Wed, 25 Aug 2021 12:02:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIrbc-0003CI-66; Wed, 25 Aug 2021 12:02:08 +0000
Received: by outflank-mailman (input) for mailman id 171932;
 Wed, 25 Aug 2021 12:02:07 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gHU1=NQ=xenbits.xen.org=iwj@srs-us1.protection.inumbo.net>)
 id 1mIrbb-0000K4-HC
 for xen-devel@lists.xen.org; Wed, 25 Aug 2021 12:02:07 +0000
Received: from mail.xenproject.org (unknown [104.130.215.37])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 36a39e2a-059c-11ec-a943-12813bfff9fa;
 Wed, 25 Aug 2021 12:01:43 +0000 (UTC)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenbits.xen.org>)
 id 1mIrb6-0003RP-Oh; Wed, 25 Aug 2021 12:01:36 +0000
Received: from iwj by xenbits.xenproject.org with local (Exim 4.92)
 (envelope-from <iwj@xenbits.xen.org>)
 id 1mIrb6-00067W-Nc; Wed, 25 Aug 2021 12:01:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 36a39e2a-059c-11ec-a943-12813bfff9fa
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=JDVq8Dw9Ukp4zFg8GJobFYmXrBqe70M6l8JjimItV6I=; b=6WFw9HBDG+6VcoWGguaX4h91AZ
	aHfwSjcpMZi1DK6yrYepvGRqs0mIFqToRFGGj6ePmx4EE4SBjRel6J255vOe3Shf54i74gOjAcpGK
	dGiCFJRyor5upMRi6WBG/K8+68S4ECfDmExJPni0yIPxjfYWYidk4QMifVva7I2zUoCA=;
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 383 v2 (CVE-2021-28700) - xen/arm: No
 memory limit for dom0less domUs
Message-Id: <E1mIrb6-00067W-Nc@xenbits.xenproject.org>
Date: Wed, 25 Aug 2021 12:01:36 +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-2021-28700 / XSA-383
                               version 2

              xen/arm: No memory limit for dom0less domUs

UPDATES IN VERSION 2
====================

Public release.

ISSUE DESCRIPTION
=================

The dom0less feature allows an administrator to create multiple
unprivileged domains directly from Xen.  Unfortunately, the
memory limit from them is not set. This allow a domain to allocate
memory beyond what an administrator originally configured.

IMPACT
======

Malicious dom0less guest could drive Xen out of memory and may
result to a Denial of Service (DoS) attack affecting the entire
system.

VULNERABLE SYSTEMS
==================

Only Arm systems are vulnerable. Only domains created using the
dom0less feature are affected.

Only domains created using the dom0less feature can leverage the
vulnerability.

All versions of Xen since 4.12 are vulnerable.

MITIGATION
==========

There is no known mitigation.

CREDITS
=======

This issue was discovered by Julien Grall of Amazon.

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.

xsa383.patch           xen-unstable - Xen 4.13.x
xsa383-4.12.patch      Xen 4.12.x

$ sha256sum xsa383*
773fe38d5d182ce43b5552fcdf6ed08c33126ed728e40d94c5050f89bfb3bd4d  xsa383.meta
cfd0632d250cc36d88269ae08e19e742c6bd07ba130c2604d51a10ba64d4e413  xsa383.patch
d18f72fa595f330fa8ed13c9412a36fba58a8baf9ad30b9fc2fd4e4533c0ee1a  xsa383-4.12.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/4UyVfoK9kFAmEmMPYMHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZmboIALCcOpac8K7jPXZ+D5S5S1kGExOHYCLDBCZ6LyPt
jUmuR3r7xnkpJmcwSqGBHF5/PR6Sug+AjiggR8WHAFYiKod7yt1NjR4dm92Jy89x
t4mpyQ2ZX7PIMOiTfxlsmzsDspBxjk9sV6Pt7w4o25MiWdmY41hEkE+qtJ0OBto0
btzbaInKko6SXZWPGGpAToKlKPnwcApe2DehGYO98xl8eUZ8Ql/1lieHjuSK60Nx
RlboPeGDZwDgDroRj8GFNGxl2hESULVof0tG3w2IXPmYoa9iTKNUnO3KFL4kAJ/p
ZWzyRuHbX9FjQXBFnJJ5pyTHrc1aYzXJCwxAoSt436aRX2c=
=NGUO
-----END PGP SIGNATURE-----

--=separator
Content-Type: application/octet-stream; name="xsa383.meta"
Content-Disposition: attachment; filename="xsa383.meta"
Content-Transfer-Encoding: base64

ewogICJYU0EiOiAzODMsCiAgIlN1cHBvcnRlZFZlcnNpb25zIjogWwogICAg
Im1hc3RlciIsCiAgICAiNC4xNSIsCiAgICAiNC4xNCIsCiAgICAiNC4xMyIs
CiAgICAiNC4xMiIKICBdLAogICJUcmVlcyI6IFsKICAgICJ4ZW4iCiAgXSwK
ICAiUmVjaXBlcyI6IHsKICAgICI0LjEyIjogewogICAgICAiUmVjaXBlcyI6
IHsKICAgICAgICAieGVuIjogewogICAgICAgICAgIlN0YWJsZVJlZiI6ICJl
YTIwZWVlOTdlOWUwODYxMTI3YTgwNzBjYzdiOWFlMzU1N2IwOWZiIiwKICAg
ICAgICAgICJQcmVyZXFzIjogWwogICAgICAgICAgICAzNzgsCiAgICAgICAg
ICAgIDM3OSwKICAgICAgICAgICAgMzgwLAogICAgICAgICAgICAzODIKICAg
ICAgICAgIF0sCiAgICAgICAgICAiUGF0Y2hlcyI6IFsKICAgICAgICAgICAg
InhzYTM4My00LjEyLnBhdGNoIgogICAgICAgICAgXQogICAgICAgIH0KICAg
ICAgfQogICAgfSwKICAgICI0LjEzIjogewogICAgICAiUmVjaXBlcyI6IHsK
ICAgICAgICAieGVuIjogewogICAgICAgICAgIlN0YWJsZVJlZiI6ICIzMmQ1
ODA5MDJiOTU5MDAwZDc5ZDUxZGZmMDNhMzU2MDY1M2M0ZmNiIiwKICAgICAg
ICAgICJQcmVyZXFzIjogWwogICAgICAgICAgICAzNzgsCiAgICAgICAgICAg
IDM3OSwKICAgICAgICAgICAgMzgwLAogICAgICAgICAgICAzODIKICAgICAg
ICAgIF0sCiAgICAgICAgICAiUGF0Y2hlcyI6IFsKICAgICAgICAgICAgInhz
YTM4My5wYXRjaCIKICAgICAgICAgIF0KICAgICAgICB9CiAgICAgIH0KICAg
IH0sCiAgICAiNC4xNCI6IHsKICAgICAgIlJlY2lwZXMiOiB7CiAgICAgICAg
InhlbiI6IHsKICAgICAgICAgICJTdGFibGVSZWYiOiAiNDkyOTljNDgxM2I3
ODQ3ZDI5ZGYwN2JmNzkwZjU0ODkwNjBmMmE5YyIsCiAgICAgICAgICAiUHJl
cmVxcyI6IFsKICAgICAgICAgICAgMzc4LAogICAgICAgICAgICAzNzksCiAg
ICAgICAgICAgIDM4MCwKICAgICAgICAgICAgMzgyCiAgICAgICAgICBdLAog
ICAgICAgICAgIlBhdGNoZXMiOiBbCiAgICAgICAgICAgICJ4c2EzODMucGF0
Y2giCiAgICAgICAgICBdCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAg
IjQuMTUiOiB7CiAgICAgICJSZWNpcGVzIjogewogICAgICAgICJ4ZW4iOiB7
CiAgICAgICAgICAiU3RhYmxlUmVmIjogImRiYTc3NDg5NmY3ZGQ3NDc3M2Mx
NGQ1Mzc2NDNiN2Q3NDc3ZmVmY2QiLAogICAgICAgICAgIlByZXJlcXMiOiBb
CiAgICAgICAgICAgIDM3OCwKICAgICAgICAgICAgMzc5LAogICAgICAgICAg
ICAzODAsCiAgICAgICAgICAgIDM4MgogICAgICAgICAgXSwKICAgICAgICAg
ICJQYXRjaGVzIjogWwogICAgICAgICAgICAieHNhMzgzLnBhdGNoIgogICAg
ICAgICAgXQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJtYXN0ZXIi
OiB7CiAgICAgICJSZWNpcGVzIjogewogICAgICAgICJ4ZW4iOiB7CiAgICAg
ICAgICAiU3RhYmxlUmVmIjogIjI1ZGE5NDU1ZjFiYjhhNmQzMzAzOTU3NWE3
YjI4YmRmYzRlM2ZjZmUiLAogICAgICAgICAgIlByZXJlcXMiOiBbCiAgICAg
ICAgICAgIDM3OCwKICAgICAgICAgICAgMzc5LAogICAgICAgICAgICAzODAs
CiAgICAgICAgICAgIDM4MgogICAgICAgICAgXSwKICAgICAgICAgICJQYXRj
aGVzIjogWwogICAgICAgICAgICAieHNhMzgzLnBhdGNoIgogICAgICAgICAg
XQogICAgICAgIH0KICAgICAgfQogICAgfQogIH0KfQ==

--=separator
Content-Type: application/octet-stream; name="xsa383.patch"
Content-Disposition: attachment; filename="xsa383.patch"
Content-Transfer-Encoding: base64

RnJvbTogSnVsaWVuIEdyYWxsIDxqZ3JhbGxAYW1hem9uLmNvbT4KRGF0ZTog
U2F0LCAzIEp1bCAyMDIxIDE0OjAzOjM2ICswMTAwClN1YmplY3Q6IFtQQVRD
SF0geGVuL2FybTogUmVzdHJpY3QgdGhlIGFtb3VudCBvZiBtZW1vcnkgdGhh
dCBkb20wbGVzcyBkb21VIGFuZAogZG9tMCBjYW4gYWxsb2NhdGUKCkN1cnJl
bnRseSwgYm90aCBkb20wbGVzcyBkb21VcyBhbmQgZG9tMCBjYW4gYWxsb2Nh
dGUgYW4gInVubGltaXRlZCIKYW1vdW50IG9mIG1lbW9yeSBiZWNhdXNlIGQt
Pm1heF9wYWdlcyBpcyBzZXQgdG8gfjBVLgoKSW4gcGFydGljdWxhciwgdGhl
IGZvcm1lciBhcmUgbWVhbnQgdG8gYmUgdW5wcml2aWxlZ2VkLiBUaGVyZWZv
cmUgdGhlCm1lbW9yeSB0aGV5IGNvdWxkIGFsbG9jYXRlIHNob3VsZCBiZSBi
b3VuZGVkLiBBcyB0aGUgZG9tYWluIGFyZSBub3QgeWV0Cm9mZmljaWFsbHkg
YXdhcmUgb2YgWGVuICh3ZSBkb24ndCBleHBvc2UgYWR2ZXJ0aXNlIGl0IGlu
IHRoZSBEVCwgeWV0CnRoZSBoeXBlcmNhbGxzIGFyZSBhY2Nlc3NpYmxlKSwg
dGhleSBzaG91bGQgbm90IG5lZWQgdG8gYWxsb2NhdGUgbW9yZQp0aGFuIHRo
ZSBpbml0aWFsIGFtb3VudC4gU28gY2FwIHNldCBkLT5tYXhfcGFnZXMgZGly
ZWN0bHkgdGhlIGFtb3VudCBvZgptZW1vcnkgd2UgYXJlIG1lYW50IHRvIGFs
bG9jYXRlLgoKVGFrZSB0aGUgb3Bwb3J0dW5pdHkgdG8gYWxzbyByZXN0cmlj
dCB0aGUgbWVtb3J5IGZvciBkb20wIGFzIHRoZQpkb21haW4gaXMgZGlyZWN0
IG1hcHBlZCAoZS5nLiBNRk4gPT0gR0ZOKSBhbmQgdGhlcmVmb3JlIGNhbm5v
dAphbGxvY2F0ZSBvdXRzaWRlIG9mIHRoZSBwcmUtYWxsb2NhdGVkIHJlZ2lv
bi4KClRoaXMgaXMgQ1ZFLTIwMjEtMjg3MDAgLyBYU0EtMzgzLgoKUmVwb3J0
ZWQtYnk6IEp1bGllbiBHcmFsbCA8amdyYWxsQGFtYXpvbi5jb20+ClNpZ25l
ZC1vZmYtYnk6IEp1bGllbiBHcmFsbCA8amdyYWxsQGFtYXpvbi5jb20+ClJl
dmlld2VkLWJ5OiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtl
cm5lbC5vcmc+ClRlc3RlZC1ieTogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3Rh
YmVsbGluaUBrZXJuZWwub3JnPgotLS0KIHhlbi9hcmNoL2FybS9kb21haW5f
YnVpbGQuYyB8IDUgKysrLS0KIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlv
bnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gv
YXJtL2RvbWFpbl9idWlsZC5jIGIveGVuL2FyY2gvYXJtL2RvbWFpbl9idWls
ZC5jCmluZGV4IDZjODZkNTI3ODEwZi4uMjA2MDM4ZDFjMDIyIDEwMDY0NAot
LS0gYS94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMKKysrIGIveGVuL2Fy
Y2gvYXJtL2RvbWFpbl9idWlsZC5jCkBAIC0yNDQwLDcgKzI0NDAsOCBAQCBz
dGF0aWMgaW50IF9faW5pdCBjb25zdHJ1Y3RfZG9tVShzdHJ1Y3QgZG9tYWlu
ICpkLAogCiAgICAgaWYgKCB2Y3B1X2NyZWF0ZShkLCAwKSA9PSBOVUxMICkK
ICAgICAgICAgcmV0dXJuIC1FTk9NRU07Ci0gICAgZC0+bWF4X3BhZ2VzID0g
fjBVOworCisgICAgZC0+bWF4X3BhZ2VzID0gKChwYWRkcl90KW1lbSAqIFNa
XzFLKSA+PiBQQUdFX1NISUZUOwogCiAgICAga2luZm8uZCA9IGQ7CiAKQEAg
LTI1NDYsNyArMjU0Nyw3IEBAIHN0YXRpYyBpbnQgX19pbml0IGNvbnN0cnVj
dF9kb20wKHN0cnVjdCBkb21haW4gKmQpCiAKICAgICBpb21tdV9od2RvbV9p
bml0KGQpOwogCi0gICAgZC0+bWF4X3BhZ2VzID0gfjBVOworICAgIGQtPm1h
eF9wYWdlcyA9IGRvbTBfbWVtID4+IFBBR0VfU0hJRlQ7CiAKICAgICBraW5m
by51bmFzc2lnbmVkX21lbSA9IGRvbTBfbWVtOwogICAgIGtpbmZvLmQgPSBk
OwotLSAKMi4xNy4xCgo=

--=separator
Content-Type: application/octet-stream; name="xsa383-4.12.patch"
Content-Disposition: attachment; filename="xsa383-4.12.patch"
Content-Transfer-Encoding: base64

RnJvbTogSnVsaWVuIEdyYWxsIDxqZ3JhbGxAYW1hem9uLmNvbT4KRGF0ZTog
U2F0LCAzIEp1bCAyMDIxIDE0OjAzOjM2ICswMTAwClN1YmplY3Q6IFtQQVRD
SF0geGVuL2FybTogUmVzdHJpY3QgdGhlIGFtb3VudCBvZiBtZW1vcnkgdGhh
dCBkb20wbGVzcyBkb21VIGFuZAogZG9tMCBjYW4gYWxsb2NhdGUKCkN1cnJl
bnRseSwgYm90aCBkb20wbGVzcyBkb21VcyBhbmQgZG9tMCBjYW4gYWxsb2Nh
dGUgYW4gInVubGltaXRlZCIKYW1vdW50IG9mIG1lbW9yeSBiZWNhdXNlIGQt
Pm1heF9wYWdlcyBpcyBzZXQgdG8gfjBVLgoKSW4gcGFydGljdWxhciwgdGhl
IGZvcm1lciBhcmUgbWVhbnQgdG8gYmUgdW5wcml2aWxlZ2VkLiBUaGVyZWZv
cmUgdGhlCm1lbW9yeSB0aGV5IGNvdWxkIGFsbG9jYXRlIHNob3VsZCBiZSBi
b3VuZGVkLiBBcyB0aGUgZG9tYWluIGFyZSBub3QgeWV0Cm9mZmljaWFsbHkg
YXdhcmUgb2YgWGVuICh3ZSBkb24ndCBleHBvc2UgYWR2ZXJ0aXNlIGl0IGlu
IHRoZSBEVCwgeWV0CnRoZSBoeXBlcmNhbGxzIGFyZSBhY2Nlc3NpYmxlKSwg
dGhleSBzaG91bGQgbm90IG5lZWQgdG8gYWxsb2NhdGUgbW9yZQp0aGFuIHRo
ZSBpbml0aWFsIGFtb3VudC4gU28gY2FwIHNldCBkLT5tYXhfcGFnZXMgZGly
ZWN0bHkgdGhlIGFtb3VudCBvZgptZW1vcnkgd2UgYXJlIG1lYW50IHRvIGFs
bG9jYXRlLgoKVGFrZSB0aGUgb3Bwb3J0dW5pdHkgdG8gYWxzbyByZXN0cmlj
dCB0aGUgbWVtb3J5IGZvciBkb20wIGFzIHRoZQpkb21haW4gaXMgZGlyZWN0
IG1hcHBlZCAoZS5nLiBNRk4gPT0gR0ZOKSBhbmQgdGhlcmVmb3JlIGNhbm5v
dAphbGxvY2F0ZSBvdXRzaWRlIG9mIHRoZSBwcmUtYWxsb2NhdGVkIHJlZ2lv
bi4KClRoaXMgaXMgQ1ZFLTIwMjEtMjg3MDAgLyBYU0EtMzgzLgoKUmVwb3J0
ZWQtYnk6IEp1bGllbiBHcmFsbCA8amdyYWxsQGFtYXpvbi5jb20+ClNpZ25l
ZC1vZmYtYnk6IEp1bGllbiBHcmFsbCA8amdyYWxsQGFtYXpvbi5jb20+ClJl
dmlld2VkLWJ5OiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtl
cm5lbC5vcmc+ClRlc3RlZC1ieTogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3Rh
YmVsbGluaUBrZXJuZWwub3JnPgotLS0KIHhlbi9hcmNoL2FybS9kb21haW5f
YnVpbGQuYyB8IDUgKysrLS0KIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlv
bnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gv
YXJtL2RvbWFpbl9idWlsZC5jIGIveGVuL2FyY2gvYXJtL2RvbWFpbl9idWls
ZC5jCmluZGV4IDZjNWE2ZGIxNDQ2Ni4uYzM1NTNjZTRjNDllIDEwMDY0NAot
LS0gYS94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMKKysrIGIveGVuL2Fy
Y2gvYXJtL2RvbWFpbl9idWlsZC5jCkBAIC0yMDI4LDcgKzIwMjgsOCBAQCBz
dGF0aWMgaW50IF9faW5pdCBjb25zdHJ1Y3RfZG9tVShzdHJ1Y3QgZG9tYWlu
ICpkLAogCiAgICAgaWYgKCB2Y3B1X2NyZWF0ZShkLCAwLCAwKSA9PSBOVUxM
ICkKICAgICAgICAgcmV0dXJuIC1FTk9NRU07Ci0gICAgZC0+bWF4X3BhZ2Vz
ID0gfjBVOworCisgICAgZC0+bWF4X3BhZ2VzID0gKChwYWRkcl90KW1lbSAq
IFNaXzFLKSA+PiBQQUdFX1NISUZUOwogCiAgICAga2luZm8uZCA9IGQ7CiAK
QEAgLTIxMTYsNyArMjExNyw3IEBAIGludCBfX2luaXQgY29uc3RydWN0X2Rv
bTAoc3RydWN0IGRvbWFpbiAqZCkKIAogICAgIGlvbW11X2h3ZG9tX2luaXQo
ZCk7CiAKLSAgICBkLT5tYXhfcGFnZXMgPSB+MFU7CisgICAgZC0+bWF4X3Bh
Z2VzID0gZG9tMF9tZW0gPj4gUEFHRV9TSElGVDsKIAogICAgIGtpbmZvLnVu
YXNzaWduZWRfbWVtID0gZG9tMF9tZW07CiAgICAga2luZm8uZCA9IGQ7Ci0t
IAoyLjE3LjEKCg==

--=separator--


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 12:02:15 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 12:02:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171936.313841 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIrbj-0004LF-0h; Wed, 25 Aug 2021 12:02:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171936.313841; Wed, 25 Aug 2021 12: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 1mIrbi-0004Fk-GX; Wed, 25 Aug 2021 12:02:14 +0000
Received: by outflank-mailman (input) for mailman id 171936;
 Wed, 25 Aug 2021 12:02:12 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gHU1=NQ=xenbits.xen.org=iwj@srs-us1.protection.inumbo.net>)
 id 1mIrbg-0000K5-HS
 for xen-devel@lists.xen.org; Wed, 25 Aug 2021 12:02:12 +0000
Received: from mail.xenproject.org (unknown [104.130.215.37])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 751084a2-cf29-471c-b8df-89f67e58e3ed;
 Wed, 25 Aug 2021 12:01:42 +0000 (UTC)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenbits.xen.org>)
 id 1mIrb4-0003Qv-LD; Wed, 25 Aug 2021 12:01:34 +0000
Received: from iwj by xenbits.xenproject.org with local (Exim 4.92)
 (envelope-from <iwj@xenbits.xen.org>)
 id 1mIrb4-00064z-JF; Wed, 25 Aug 2021 12:01: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: 751084a2-cf29-471c-b8df-89f67e58e3ed
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=yZsq991ezzLo+vnS09XIxN/dFW1C1ByxxEAVa7XU3BI=; b=IaIceIvH7QS7JPGGcGEGhu32c3
	XLDVjHq6cyGobuFRi43aFSzAfBY3yeJRoqvgmbVGZzrjtioF2QWnelyGw/VjVyZiFvLnSCZgNYJPR
	QCWXCZS5phisZZM52vAVvHYQVdYWwYTdZFj/1TLy9+YGF69GWLk2gOlbwI6vSPY3RbqA=;
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 380 v2 (CVE-2021-28698) - long running
 loops in grant table handling
Message-Id: <E1mIrb4-00064z-JF@xenbits.xenproject.org>
Date: Wed, 25 Aug 2021 12:01:34 +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-2021-28698 / XSA-380
                               version 2

              long running loops in grant table handling

UPDATES IN VERSION 2
====================

Public release.

ISSUE DESCRIPTION
=================

In order to properly monitor resource use, Xen maintains information on
the grant mappings a domain may create to map grants offered by other
domains.  In the process of carrying out certain actions, Xen would
iterate over all such entries, including ones which aren't in use
anymore and some which may have been created but never used.  If the
number of entries for a given domain is large enough, this iterating of
the entire table may tie up a CPU for too long, starving other domains
or causing issues in the hypervisor itself.

Note that a domain may map its own grants, i.e. there is no need for
multiple domains to be involved here.  A pair of "cooperating" guests
may, however, cause the effects to be more severe.

IMPACT
======

Malicious or buggy guest kernels may be able to mount a Denial of
Service (DoS) attack affecting the entire system.

VULNERABLE SYSTEMS
==================

All Xen versions from at least 3.2 onwards are vulnerable in principle.

Systems running with default settings are generally believed to not be
vulnerable.

MITIGATION
==========

The problem can be avoided by reducing the number of grant mappings Xen
would allow guests to establish.  For example, setting
"gnttab_max_maptrack_frames=256" on the Xen command line (available
from Xen 4.5 onwards) or "max_maptrack_frames=256" in the xl domain
configurations (available from Xen 4.10 onwards) may be low enough for
all hardware Xen is able to run on.  Note that except for driver
domains, guests don't normally have a need to establish grant mappings,
i.e. they may be okay to run with "max_maptrack_frames=0" in their xl
domain configurations.

- From Xen 4.14 onwards it is also possible to alter the system wide upper
bound of the number of grant mappings Xen would allow guests to
establish by writing to the /params/gnttab_max_maptrack_frames
hypervisor file system node.  Note however that changing the value this
way will only affect guests yet to be created on the respective host.

CREDITS
=======

This issue was discovered by Andrew Cooper of Citrix.

RESOLUTION
==========

Applying the appropriate pair 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.

xsa380/xsa380-?.patch           xen-unstable - Xen 4.15.x
xsa380/xsa380-4.14-?.patch      Xen 4.14.x
xsa380/xsa380-4.13-?.patch      Xen 4.13.x
xsa380/xsa380-4.12-?.patch      Xen 4.12.x
xsa380/xsa380-4.11-?.patch      Xen 4.11.x

$ sha256sum xsa380* xsa380*/*
3b1938277665c195f6822a1170c50a853efa6bc3dcd6b2b0b9bbb0849a57bbf6  xsa380.meta
65411a0fd05d534ed2238b259aa2877331ac0e79f2dda80b424f34fffcce108a  xsa380/xsa380-1.patch
e6cd6d345abaad38e10d6f680fe881e874e35a7295199e5430bacd209f0b7304  xsa380/xsa380-2.patch
f3b486aa99a75ab54f9e26e21a721a413f993b27dbc3e6f2fda976fe20ddbae3  xsa380/xsa380-4.11-1.patch
96a09c05ca87fe3590064ca6d269ca47b97c732401cb593ff1068ac91009f51a  xsa380/xsa380-4.11-2.patch
496063cd4641258e1854a77f626cdd86c866c3ed8603bdc2ff9ab709008c84a7  xsa380/xsa380-4.12-1.patch
d850e1263e89c7a718f2cddcfb639fe4a5095a1852fc35499ed16a4075d225e5  xsa380/xsa380-4.12-2.patch
c23d34527a2ec68015ad78cd90365e4d80bce842ce01eeaa8cd2246021a55693  xsa380/xsa380-4.13-1.patch
bd40ce749d02f343c79325488ac1348e1c9e88e698bbad351bdb0a0d3995f3e0  xsa380/xsa380-4.13-2.patch
9b06085f9a4b93c465563cd76fdc682ddb9dba968c214259425b234e7053a809  xsa380/xsa380-4.14-1.patch
bf6b53880abd53b56226080d1a32839c7c8c459867104697cd76eeafc2ea382a  xsa380/xsa380-4.14-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.  HOWEVER, care has to be taken to avoid restricting
guests too much, as them suddenly being unable to map grants they used
to be able to map may lead to re-discovery of the issue.

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/4UyVfoK9kFAmEmMPYMHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZ73gH/2PAcHwXHW46ckOpcCfRn+Vx/zBK4Dzcq2/PciB9
0u7rrqzkOwiimK/6l1tcnG9yWE8LqBeHwXYidN3/qHc2pqDc3+vErk7bXtXghjdO
18FioW0g+25ogPoPT+lyqP0C+MV1d4jIygQVWuUepfIAa1OwOo12MDmUjt7AdnTs
T9L/ZS2D9Ho97X3Wkit62hCer2ucQ63HLtQ1Dz9N/zon5lI5HkO+nRyvjKm+l5G4
MmuUrlFM8Fwp0MjxxJtKn/6HCgnQlSfm8g+2MQ3UNbHZ8g44ipGTnCO/Q1GEmcvj
Q9IkZNZ0kBHF47R1AbcZDavv7XjNNo4j8NvT/D+yjPzI4bE=
=jE86
-----END PGP SIGNATURE-----

--=separator
Content-Type: application/octet-stream; name="xsa380.meta"
Content-Disposition: attachment; filename="xsa380.meta"
Content-Transfer-Encoding: base64

ewogICJYU0EiOiAzODAsCiAgIlN1cHBvcnRlZFZlcnNpb25zIjogWwogICAg
Im1hc3RlciIsCiAgICAiNC4xNSIsCiAgICAiNC4xNCIsCiAgICAiNC4xMyIs
CiAgICAiNC4xMiIsCiAgICAiNC4xMSIKICBdLAogICJUcmVlcyI6IFsKICAg
ICJ4ZW4iCiAgXSwKICAiUmVjaXBlcyI6IHsKICAgICI0LjExIjogewogICAg
ICAiUmVjaXBlcyI6IHsKICAgICAgICAieGVuIjogewogICAgICAgICAgIlN0
YWJsZVJlZiI6ICJlZjMyYzdhZmEyNzMxYjc1ODIyNmQ2ZTEwYTFlNDg5YjFh
MTVmYzQxIiwKICAgICAgICAgICJQcmVyZXFzIjogWwogICAgICAgICAgICAz
NzgsCiAgICAgICAgICAgIDM3OQogICAgICAgICAgXSwKICAgICAgICAgICJQ
YXRjaGVzIjogWwogICAgICAgICAgICAieHNhMzgwL3hzYTM4MC00LjExLT8u
cGF0Y2giCiAgICAgICAgICBdCiAgICAgICAgfQogICAgICB9CiAgICB9LAog
ICAgIjQuMTIiOiB7CiAgICAgICJSZWNpcGVzIjogewogICAgICAgICJ4ZW4i
OiB7CiAgICAgICAgICAiU3RhYmxlUmVmIjogImVhMjBlZWU5N2U5ZTA4NjEx
MjdhODA3MGNjN2I5YWUzNTU3YjA5ZmIiLAogICAgICAgICAgIlByZXJlcXMi
OiBbCiAgICAgICAgICAgIDM3OCwKICAgICAgICAgICAgMzc5CiAgICAgICAg
ICBdLAogICAgICAgICAgIlBhdGNoZXMiOiBbCiAgICAgICAgICAgICJ4c2Ez
ODAveHNhMzgwLTQuMTItPy5wYXRjaCIKICAgICAgICAgIF0KICAgICAgICB9
CiAgICAgIH0KICAgIH0sCiAgICAiNC4xMyI6IHsKICAgICAgIlJlY2lwZXMi
OiB7CiAgICAgICAgInhlbiI6IHsKICAgICAgICAgICJTdGFibGVSZWYiOiAi
MzJkNTgwOTAyYjk1OTAwMGQ3OWQ1MWRmZjAzYTM1NjA2NTNjNGZjYiIsCiAg
ICAgICAgICAiUHJlcmVxcyI6IFsKICAgICAgICAgICAgMzc4LAogICAgICAg
ICAgICAzNzkKICAgICAgICAgIF0sCiAgICAgICAgICAiUGF0Y2hlcyI6IFsK
ICAgICAgICAgICAgInhzYTM4MC94c2EzODAtNC4xMy0/LnBhdGNoIgogICAg
ICAgICAgXQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICI0LjE0Ijog
ewogICAgICAiUmVjaXBlcyI6IHsKICAgICAgICAieGVuIjogewogICAgICAg
ICAgIlN0YWJsZVJlZiI6ICI0OTI5OWM0ODEzYjc4NDdkMjlkZjA3YmY3OTBm
NTQ4OTA2MGYyYTljIiwKICAgICAgICAgICJQcmVyZXFzIjogWwogICAgICAg
ICAgICAzNzgsCiAgICAgICAgICAgIDM3OQogICAgICAgICAgXSwKICAgICAg
ICAgICJQYXRjaGVzIjogWwogICAgICAgICAgICAieHNhMzgwL3hzYTM4MC00
LjE0LT8ucGF0Y2giCiAgICAgICAgICBdCiAgICAgICAgfQogICAgICB9CiAg
ICB9LAogICAgIjQuMTUiOiB7CiAgICAgICJSZWNpcGVzIjogewogICAgICAg
ICJ4ZW4iOiB7CiAgICAgICAgICAiU3RhYmxlUmVmIjogImRiYTc3NDg5NmY3
ZGQ3NDc3M2MxNGQ1Mzc2NDNiN2Q3NDc3ZmVmY2QiLAogICAgICAgICAgIlBy
ZXJlcXMiOiBbCiAgICAgICAgICAgIDM3OCwKICAgICAgICAgICAgMzc5CiAg
ICAgICAgICBdLAogICAgICAgICAgIlBhdGNoZXMiOiBbCiAgICAgICAgICAg
ICJ4c2EzODAveHNhMzgwLT8ucGF0Y2giCiAgICAgICAgICBdCiAgICAgICAg
fQogICAgICB9CiAgICB9LAogICAgIm1hc3RlciI6IHsKICAgICAgIlJlY2lw
ZXMiOiB7CiAgICAgICAgInhlbiI6IHsKICAgICAgICAgICJTdGFibGVSZWYi
OiAiMjVkYTk0NTVmMWJiOGE2ZDMzMDM5NTc1YTdiMjhiZGZjNGUzZmNmZSIs
CiAgICAgICAgICAiUHJlcmVxcyI6IFsKICAgICAgICAgICAgMzc4LAogICAg
ICAgICAgICAzNzkKICAgICAgICAgIF0sCiAgICAgICAgICAiUGF0Y2hlcyI6
IFsKICAgICAgICAgICAgInhzYTM4MC94c2EzODAtPy5wYXRjaCIKICAgICAg
ICAgIF0KICAgICAgICB9CiAgICAgIH0KICAgIH0KICB9Cn0=

--=separator
Content-Type: application/octet-stream; name="xsa380/xsa380-1.patch"
Content-Disposition: attachment; filename="xsa380/xsa380-1.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBnbnR0YWI6IGFkZCBwcmVlbXB0aW9uIGNoZWNrIHRvIGdudHRhYl9yZWxl
YXNlX21hcHBpbmdzKCkKCkEgZ3Vlc3QgbWF5IGRpZSB3aXRoIG1hbnkgZ3Jh
bnQgbWFwcGluZ3Mgc3RpbGwgaW4gcGxhY2UsIG9yIHNpbXBseSB3aXRoCmEg
bGFyZ2UgbWFwdHJhY2sgdGFibGUuIEl0ZXJhdGluZyB0aHJvdWdoIHRoaXMg
bWF5IHRha2UgbW9yZSB0aW1lIHRoYW4KaXMgcmVhc29uYWJsZSB3aXRob3V0
IGludGVybWVkaWF0ZSBwcmVlbXB0aW9uICh0byBydW4gc29mdGlycXMgYW5k
CnBlcmhhcHMgdGhlIHNjaGVkdWxlcikuCgpNb3ZlIHRoZSBpbnZvY2F0aW9u
IG9mIHRoZSBmdW5jdGlvbiB0byB0aGUgc2VjdGlvbiB3aGVyZSBvdGhlcgpy
ZXN0YXJ0YWJsZSBmdW5jdGlvbnMgZ2V0IGludm9rZWQsIGFuZCBoYXZlIHRo
ZSBmdW5jdGlvbiBpdHNlbGYgY2hlY2sKZm9yIHByZWVtcHRpb24gZXZlcnkg
b25jZSBpbiBhIHdoaWxlLiBIYXZlIGl0IGl0ZXJhdGUgdGhlIHRhYmxlCmJh
Y2t3YXJkcywgc3VjaCB0aGF0IGRlY3JlYXNpbmcgdGhlIG1hcHRyYWNrIGxp
bWl0IGlzIGFsbCBpdCB0YWtlcyB0bwpjb252ZXkgcmVzdGFydCBpbmZvcm1h
dGlvbi4KCkluIGRvbWFpbl90ZWFyZG93bigpIGludHJvZHVjZSBQUk9HX25v
bmUgc3VjaCB0aGF0IGluc2VydGluZyBhdCB0aGUKZnJvbnQgd2lsbCBiZSBl
YXNpZXIgZ29pbmcgZm9yd2FyZC4KClRoaXMgaXMgcGFydCBvZiBDVkUtMjAy
MS0yODY5OCAvIFhTQS0zODAuCgpSZXBvcnRlZC1ieTogQW5kcmV3IENvb3Bl
ciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KU2lnbmVkLW9mZi1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTog
SnVsaWVuIEdyYWxsIDxqZ3JhbGxAYW1hem9uLmNvbT4KLS0tCldoaWxlIEkg
Y29uc2lkZXIgcmVtb3ZhbCBvZiB0aGUgZnJlZWluZyBvZiB0LT5tYXB0cmFj
a1tpXSBmcm9tCmdyYW50X3RhYmxlX2Rlc3Ryb3koKSBhbiBpbnRlZ3JhbCBw
YXJ0IG9mIHRoaXMgY2hhbmdlLCBhbHNvIGZyZWVpbmcKdC0+bWFwdHJhY2sg
cmlnaHQgaW4gZ250dGFiX3JlbGVhc2VfbWFwcGluZ3MoKSB3b3VsZCBzZWVt
IGxpa2UgYW4KdW5yZWxhdGVkIGNoYW5nZSB0byBtZSwgc28gSSdtIG5vdCBt
b3ZpbmcgdGhhdCBvbmUgZm9yIG5vdy4gSWYgb3RoZXJzCnRoaW5rIGl0IHdv
dWxkIGJldHRlciBiZSBtb3ZlZCwgSSdkIGJlIGhhcHB5IHRvIGRvIHNvLgoK
V2hpbGUgaW4gcHJpbmNpcGxlIGl0IHdvdWxkIGJlIG5pY2UgdG8gYWxzbyBl
bGltaW5hdGUgdGhlIG90aGVyIGxvb3BzCmZyb20gZ3JhbnRfdGFibGVfZGVz
dHJveSgpICh3aGljaCBjYW4gYWxsIHRha2UgbG9uZyBhcyB3ZWxsIHByb3Zp
ZGVkIGEKbGFyZ2UgZW5vdWdoIG1heF9ncmFudF9mcmFtZXMpLCAtPm1hcHRy
YWNrW10gcmVhbGx5IGlzIHNwZWNpYWwgaW4gdGhhdAppdCBvbmx5IGdldHMg
YWNjZXNzZWQgd2hlbiBwcm9jZXNzaW5nIHJlcXVlc3RzIGJ5IHRoZSBkb21h
aW4gaXRzZWxmLiBUaGUKb3RoZXIgYXJyYXlzIG1heSBhbGwgY29udGludWUg
dG8gYmUgYWNjZXNzZWQgYXMgcmVtb3RlIGRvbWFpbnMgZHJvcCB1c2VzCm9m
IGdyYW50cyBieSB0aGUgZHlpbmcgZG9tYWluLgotLS0KdjM6IEFkZCBjb21t
ZW50Lgp2MjogTW92ZSBnbnR0YWJfcmVsZWFzZV9tYXBwaW5ncygpIGludm9j
YXRpb24gaW50byBkb21haW5fdGVhcmRvd24oKS4KICAgIERvbid0IGNyYXNo
IHdoZW4gY2xlYW5pbmcgdXAgZG9tYWluIHdpdGhvdXQgbWFwdHJhY2sgdGFi
bGUuIEV4dGVuZAogICAgY29tbWVudCBuZXh0IHRvIG1hcHRyYWNrX2xpbWl0
LgoKLS0tIGEveGVuL2NvbW1vbi9kb21haW4uYworKysgYi94ZW4vY29tbW9u
L2RvbWFpbi5jCkBAIC00MTIsMTEgKzQxMiwxOCBAQCBzdGF0aWMgaW50IGRv
bWFpbl90ZWFyZG93bihzdHJ1Y3QgZG9tYWluCiAgICAgICAgIHYgPSBkLT50
ZWFyZG93bi52Y3B1CiAKICAgICAgICAgZW51bSB7Ci0gICAgICAgICAgICBQ
Uk9HX3ZjcHVfdGVhcmRvd24gPSAxLAorICAgICAgICAgICAgUFJPR19ub25l
LAorICAgICAgICAgICAgUFJPR19nbnR0YWJfbWFwcGluZ3MsCisgICAgICAg
ICAgICBQUk9HX3ZjcHVfdGVhcmRvd24sCiAgICAgICAgICAgICBQUk9HX2Rv
bmUsCiAgICAgICAgIH07CiAKLSAgICBjYXNlIDA6CisgICAgY2FzZSBQUk9H
X25vbmU6CisgICAgICAgIHJjID0gZ250dGFiX3JlbGVhc2VfbWFwcGluZ3Mo
ZCk7CisgICAgICAgIGlmICggcmMgKQorICAgICAgICAgICAgcmV0dXJuIHJj
OworCisgICAgUFJPR1JFU1MoZ250dGFiX21hcHBpbmdzKToKICAgICAgICAg
Zm9yX2VhY2hfdmNwdSAoIGQsIHYgKQogICAgICAgICB7CiAgICAgICAgICAg
ICBQUk9HUkVTU19WQ1BVKHRlYXJkb3duKTsKQEAgLTkwOCw3ICs5MTUsNiBA
QCBpbnQgZG9tYWluX2tpbGwoc3RydWN0IGRvbWFpbiAqZCkKICAgICAgICAg
ICAgIHJldHVybiBkb21haW5fa2lsbChkKTsKICAgICAgICAgZC0+aXNfZHlp
bmcgPSBET01EWUlOR19keWluZzsKICAgICAgICAgYXJnb19kZXN0cm95KGQp
OwotICAgICAgICBnbnR0YWJfcmVsZWFzZV9tYXBwaW5ncyhkKTsKICAgICAg
ICAgdm51bWFfZGVzdHJveShkLT52bnVtYSk7CiAgICAgICAgIGRvbWFpbl9z
ZXRfb3V0c3RhbmRpbmdfcGFnZXMoZCwgMCk7CiAgICAgICAgIC8qIGZhbGx0
aHJvdWdoICovCi0tLSBhL3hlbi9jb21tb24vZ3JhbnRfdGFibGUuYworKysg
Yi94ZW4vY29tbW9uL2dyYW50X3RhYmxlLmMKQEAgLTY0LDcgKzY0LDEzIEBA
IHN0cnVjdCBncmFudF90YWJsZSB7CiAgICAgdW5zaWduZWQgaW50ICAgICAg
ICAgIG5yX2dyYW50X2ZyYW1lczsKICAgICAvKiBOdW1iZXIgb2YgZ3JhbnQg
c3RhdHVzIGZyYW1lcyBzaGFyZWQgd2l0aCBndWVzdCAoZm9yIHZlcnNpb24g
MikgKi8KICAgICB1bnNpZ25lZCBpbnQgICAgICAgICAgbnJfc3RhdHVzX2Zy
YW1lczsKLSAgICAvKiBOdW1iZXIgb2YgYXZhaWxhYmxlIG1hcHRyYWNrIGVu
dHJpZXMuICovCisgICAgLyoKKyAgICAgKiBOdW1iZXIgb2YgYXZhaWxhYmxl
IG1hcHRyYWNrIGVudHJpZXMuICBGb3IgY2xlYW51cCBwdXJwb3NlcyBpdCBp
cworICAgICAqIGltcG9ydGFudCB0byByZWFsaXplIHRoYXQgdGhpcyBmaWVs
ZCBhbmQgQG1hcHRyYWNrIGZ1cnRoZXIgZG93biB3aWxsCisgICAgICogb25s
eSBldmVyIGJlIGFjY2Vzc2VkIGJ5IHRoZSBsb2NhbCBkb21haW4uICBUaHVz
IGl0IGlzIG9rYXkgdG8gY2xlYW4KKyAgICAgKiB1cCBlYXJseSwgYW5kIHRv
IHNocmluayB0aGUgbGltaXQgZm9yIHRoZSBwdXJwb3NlIG9mIHRyYWNraW5n
IGNsZWFudXAKKyAgICAgKiBwcm9ncmVzcy4KKyAgICAgKi8KICAgICB1bnNp
Z25lZCBpbnQgICAgICAgICAgbWFwdHJhY2tfbGltaXQ7CiAgICAgLyogU2hh
cmVkIGdyYW50IHRhYmxlIChzZWUgaW5jbHVkZS9wdWJsaWMvZ3JhbnRfdGFi
bGUuaCkuICovCiAgICAgdW5pb24gewpAQCAtMzY3OSw5ICszNjg1LDcgQEAg
ZG9fZ3JhbnRfdGFibGVfb3AoCiAjaW5jbHVkZSAiY29tcGF0L2dyYW50X3Rh
YmxlLmMiCiAjZW5kaWYKIAotdm9pZAotZ250dGFiX3JlbGVhc2VfbWFwcGlu
Z3MoCi0gICAgc3RydWN0IGRvbWFpbiAqZCkKK2ludCBnbnR0YWJfcmVsZWFz
ZV9tYXBwaW5ncyhzdHJ1Y3QgZG9tYWluICpkKQogewogICAgIHN0cnVjdCBn
cmFudF90YWJsZSAgICpndCA9IGQtPmdyYW50X3RhYmxlLCAqcmd0OwogICAg
IHN0cnVjdCBncmFudF9tYXBwaW5nICptYXA7CkBAIC0zNjk1LDggKzM2OTks
MzIgQEAgZ250dGFiX3JlbGVhc2VfbWFwcGluZ3MoCiAKICAgICBCVUdfT04o
IWQtPmlzX2R5aW5nKTsKIAotICAgIGZvciAoIGhhbmRsZSA9IDA7IGhhbmRs
ZSA8IGd0LT5tYXB0cmFja19saW1pdDsgaGFuZGxlKysgKQorICAgIGlmICgg
IWd0IHx8ICFndC0+bWFwdHJhY2sgKQorICAgICAgICByZXR1cm4gMDsKKwor
ICAgIGZvciAoIGhhbmRsZSA9IGd0LT5tYXB0cmFja19saW1pdDsgaGFuZGxl
OyApCiAgICAgeworICAgICAgICAvKgorICAgICAgICAgKiBEZWFsIHdpdGgg
ZnVsbCBwYWdlcyBzdWNoIHRoYXQgdGhlaXIgZnJlZWluZyAoaW4gdGhlIGJv
ZHkgb2YgdGhlCisgICAgICAgICAqIGlmKCkpIHJlbWFpbnMgc2ltcGxlLgor
ICAgICAgICAgKi8KKyAgICAgICAgaWYgKCBoYW5kbGUgPCBndC0+bWFwdHJh
Y2tfbGltaXQgJiYgIShoYW5kbGUgJSBNQVBUUkFDS19QRVJfUEFHRSkgKQor
ICAgICAgICB7CisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICogQ2hh
bmdpbmcgbWFwdHJhY2tfbGltaXQgYWx0ZXJzIG5yX21hcHRyYWNrX2ZyYW1l
cygpJ2VzIHJldHVybgorICAgICAgICAgICAgICogdmFsdWUuIEZyZWUgdGhl
IHRoZW4gZXhjZXNzIHRyYWlsaW5nIHBhZ2UgcmlnaHQgaGVyZSwgcmF0aGVy
CisgICAgICAgICAgICAgKiB0aGFuIGxlYXZpbmcgaXQgdG8gZ3JhbnRfdGFi
bGVfZGVzdHJveSgpIChhbmQgaW4gdHVybiByZXF1aXJpbmcKKyAgICAgICAg
ICAgICAqIHRvIGxlYXZlIGd0LT5tYXB0cmFja19saW1pdCB1bmFsdGVyZWQp
LgorICAgICAgICAgICAgICovCisgICAgICAgICAgICBndC0+bWFwdHJhY2tf
bGltaXQgPSBoYW5kbGU7CisgICAgICAgICAgICBGUkVFX1hFTkhFQVBfUEFH
RShndC0+bWFwdHJhY2tbbnJfbWFwdHJhY2tfZnJhbWVzKGd0KV0pOworCisg
ICAgICAgICAgICBpZiAoIGh5cGVyY2FsbF9wcmVlbXB0X2NoZWNrKCkgKQor
ICAgICAgICAgICAgICAgIHJldHVybiAtRVJFU1RBUlQ7CisgICAgICAgIH0K
KworICAgICAgICAtLWhhbmRsZTsKKwogICAgICAgICBtYXAgPSAmbWFwdHJh
Y2tfZW50cnkoZ3QsIGhhbmRsZSk7CiAgICAgICAgIGlmICggIShtYXAtPmZs
YWdzICYgKEdOVE1BUF9kZXZpY2VfbWFwfEdOVE1BUF9ob3N0X21hcCkpICkK
ICAgICAgICAgICAgIGNvbnRpbnVlOwpAQCAtMzc4MCw2ICszODA4LDExIEBA
IGdudHRhYl9yZWxlYXNlX21hcHBpbmdzKAogCiAgICAgICAgIG1hcC0+Zmxh
Z3MgPSAwOwogICAgIH0KKworICAgIGd0LT5tYXB0cmFja19saW1pdCA9IDA7
CisgICAgRlJFRV9YRU5IRUFQX1BBR0UoZ3QtPm1hcHRyYWNrWzBdKTsKKwor
ICAgIHJldHVybiAwOwogfQogCiB2b2lkIGdyYW50X3RhYmxlX3dhcm5fYWN0
aXZlX2dyYW50cyhzdHJ1Y3QgZG9tYWluICpkKQpAQCAtMzg0Myw4ICszODc2
LDcgQEAgZ3JhbnRfdGFibGVfZGVzdHJveSgKICAgICAgICAgZnJlZV94ZW5o
ZWFwX3BhZ2UodC0+c2hhcmVkX3Jhd1tpXSk7CiAgICAgeGZyZWUodC0+c2hh
cmVkX3Jhdyk7CiAKLSAgICBmb3IgKCBpID0gMDsgaSA8IG5yX21hcHRyYWNr
X2ZyYW1lcyh0KTsgaSsrICkKLSAgICAgICAgZnJlZV94ZW5oZWFwX3BhZ2Uo
dC0+bWFwdHJhY2tbaV0pOworICAgIEFTU0VSVCghdC0+bWFwdHJhY2tfbGlt
aXQpOwogICAgIHZmcmVlKHQtPm1hcHRyYWNrKTsKIAogICAgIGZvciAoIGkg
PSAwOyBpIDwgbnJfYWN0aXZlX2dyYW50X2ZyYW1lcyh0KTsgaSsrICkKLS0t
IGEveGVuL2luY2x1ZGUveGVuL2dyYW50X3RhYmxlLmgKKysrIGIveGVuL2lu
Y2x1ZGUveGVuL2dyYW50X3RhYmxlLmgKQEAgLTQ3LDkgKzQ3LDcgQEAgdm9p
ZCBncmFudF90YWJsZV9pbml0X3ZjcHUoc3RydWN0IHZjcHUgKgogdm9pZCBn
cmFudF90YWJsZV93YXJuX2FjdGl2ZV9ncmFudHMoc3RydWN0IGRvbWFpbiAq
ZCk7CiAKIC8qIERvbWFpbiBkZWF0aCByZWxlYXNlIG9mIGdyYW50ZWQgbWFw
cGluZ3Mgb2Ygb3RoZXIgZG9tYWlucycgbWVtb3J5LiAqLwotdm9pZAotZ250
dGFiX3JlbGVhc2VfbWFwcGluZ3MoCi0gICAgc3RydWN0IGRvbWFpbiAqZCk7
CitpbnQgZ250dGFiX3JlbGVhc2VfbWFwcGluZ3Moc3RydWN0IGRvbWFpbiAq
ZCk7CiAKIGludCBtZW1fc2hhcmluZ19ncmVmX3RvX2dmbihzdHJ1Y3QgZ3Jh
bnRfdGFibGUgKmd0LCBncmFudF9yZWZfdCByZWYsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZ2ZuX3QgKmdmbiwgdWludDE2X3QgKnN0YXR1cyk7
CkBAIC04MCw3ICs3OCw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBncmFudF90
YWJsZV9pbml0X3ZjcHUKIAogc3RhdGljIGlubGluZSB2b2lkIGdyYW50X3Rh
YmxlX3dhcm5fYWN0aXZlX2dyYW50cyhzdHJ1Y3QgZG9tYWluICpkKSB7fQog
Ci1zdGF0aWMgaW5saW5lIHZvaWQgZ250dGFiX3JlbGVhc2VfbWFwcGluZ3Mo
c3RydWN0IGRvbWFpbiAqZCkge30KK3N0YXRpYyBpbmxpbmUgaW50IGdudHRh
Yl9yZWxlYXNlX21hcHBpbmdzKHN0cnVjdCBkb21haW4gKmQpIHsgcmV0dXJu
IDA7IH0KIAogc3RhdGljIGlubGluZSBpbnQgbWVtX3NoYXJpbmdfZ3JlZl90
b19nZm4oc3RydWN0IGdyYW50X3RhYmxlICpndCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyYW50X3JlZl90IHJlZiwK

--=separator
Content-Type: application/octet-stream; name="xsa380/xsa380-2.patch"
Content-Disposition: attachment; filename="xsa380/xsa380-2.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBnbnR0YWI6IHJlcGxhY2UgbWFwa2luZCgpCgptYXBraW5kKCkgZG9lc24n
dCBzY2FsZSB2ZXJ5IHdlbGwgd2l0aCBsYXJnZXIgbWFwdHJhY2sgZW50cnkg
Y291bnRzLAp1c2luZyBhIGJydXRlIGZvcmNlIGxpbmVhciBzZWFyY2ggdGhy
b3VnaCBhbGwgZW50cmllcywgd2l0aCB0aGUgb25seQpvcHRpb24gb2YgYW4g
ZWFybHkgbG9vcCBleGl0IGlmIGEgbWF0Y2hpbmcgd3JpdGFibGUgZW50cnkg
d2FzIGZvdW5kLgpJbnRyb2R1Y2UgYSByYWRpeCB0cmVlIGFsb25nc2lkZSB0
aGUgbWFpbiBtYXB0cmFjayB0YWJsZSwgdGh1cwphbGxvd2luZyBtdWNoIGZh
c3RlciBNRk4tYmFzZWQgbG9va3VwLiBUbyBhdm9pZCB0aGUgbmVlZCB0byBh
Y3R1YWxseQphbGxvY2F0ZSBzcGFjZSBmb3IgdGhlIGluZGl2aWR1YWwgbm9k
ZXMsIGVuY29kZSB0aGUgdHdvIGNvdW50ZXJzIGluIHRoZQpub2RlIHBvaW50
ZXJzIHRoZW1zZWx2ZXMsIHRodXMgbGltaXRpbmcgdGhlIG51bWJlciBvZiBw
ZXJtaXR0ZWQKc2ltdWx0YW5lb3VzIHIvbyBhbmQgci93IG1hcHBpbmdzIG9m
IHRoZSBzYW1lIE1GTiB0byAywrPCuS0xICg2NC1iaXQpIC8KMsK54oG1LTEg
KDMyLWJpdCkgZWFjaC4KClRvIGF2b2lkIGVuZm9yY2luZyBhbiB1bm5lY2Vz
c2FyaWx5IGxvdyBib3VuZCBvbiB0aGUgbnVtYmVyIG9mCnNpbXVsdGFuZW91
cyBtYXBwaW5ncyBvZiBhIHNpbmdsZSBNRk4sIGludHJvZHVjZQpyYWRpeF90
cmVlX3t1bG9uZ190b19wdHIscHRyX3RvX3Vsb25nfSBwYXJhbGxlbGluZwpy
YWRpeF90cmVlX3tpbnRfdG9fcHRyLHB0cl90b19pbnR9LgoKQXMgYSBjb25z
ZXF1ZW5jZSBsb2NraW5nIGNoYW5nZXMgYXJlIGFsc28gYXBwbGljYWJsZTog
V2l0aCB0aGVyZSBubwpsb25nZXIgYmVpbmcgYW55IGluc3BlY3Rpb24gb2Yg
dGhlIHJlbW90ZSBkb21haW4ncyBhY3RpdmUgZW50cmllcywKdGhlcmUncyBh
bHNvIG5vIG5lZWQgYW55bW9yZSB0byBob2xkIHRoZSByZW1vdGUgZG9tYWlu
J3MgZ3JhbnQgdGFibGUKbG9jay4gQW5kIHNpbmNlIHdlJ3JlIG5vIGxvbmdl
ciBpdGVyYXRpbmcgb3ZlciB0aGUgbG9jYWwgZG9tYWluJ3MgbWFwCnRyYWNr
IHRhYmxlLCB0aGUgbG9jayBpbiBtYXBfZ3JhbnRfcmVmKCkgY2FuIGFsc28g
YmUgZHJvcHBlZCBiZWZvcmUgdGhlCm5ldyBtYXB0cmFjayBlbnRyeSBhY3R1
YWxseSBnZXRzIHBvcHVsYXRlZC4KCkFzIGEgbmljZSBzaWRlIGVmZmVjdCB0
aGlzIGFsc28gcmVkdWNlcyB0aGUgbnVtYmVyIG9mIElPTU1VIG9wZXJhdGlv
bnMKaW4gdW5tYXBfY29tbW9uKCk6IFByZXZpb3VzbHkgd2Ugd291bGQgaGF2
ZSAiZXN0YWJsaXNoZWQiIGEgcmVhZGFibGUKbWFwcGluZyB3aGVuZXZlciB3
ZSBkaWRuJ3QgZmluZCBhIHdyaXRhYmxlIGVudHJ5IGFueW1vcmUgKHlldCwg
b2YKY291cnNlLCBhdCBsZWFzdCBvbmUgcmVhZGFibGUgb25lKS4gQnV0IHdl
IG9ubHkgbmVlZCB0byBkbyB0aGlzIGlmIHdlCmFjdHVhbGx5IGRyb3BwZWQg
dGhlIGxhc3Qgd3JpdGFibGUgZW50cnksIG5vdCBpZiB0aGVyZSB3ZXJlIG5v
bmUgYWxyZWFkeQpiZWZvcmUuCgpUaGlzIGlzIHBhcnQgb2YgQ1ZFLTIwMjEt
Mjg2OTggLyBYU0EtMzgwLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2gg
PGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTogSnVsaWVuIEdyYWxs
IDxqZ3JhbGxAYW1hem9uLmNvbT4KLS0tCkkgaG9wZSB0aGF0IGxpbWl0aW5n
IHRoZSBtYXAgY291bnQgdG8gMzJrIG9uIEFybTMyIGlzIGdvb2QgZW5vdWdo
LiBJCmFsc28gaG9wZSBpdCBpcyBvdXQgb2YgcXVlc3Rpb24gdGhhdCAyRyBv
ZiBtYXBwaW5ncyBhcmUgZW5vdWdoIG9uIDY0LWJpdAphcmNoaXRlY3R1cmVz
LgoKSSdtIHVzaW5nIHRoZSBncmFudCB0YWJsZSBsb2NrIGZvciBzeW5jaHJv
bml6YXRpb24gdG8gbGltaXQgZGlmZmVyZW5jZXMKaW4gYmVoYXZpb3IgdG8g
cHJpb3IgY29kZS4gSSB0aGluayBpbiBwcmluY2lwbGUgdGhlIG1hcHRyYWNr
IGxvY2sgY291bGQKYmUgdXNlZCBlcXVhbGx5IHdlbGwuCgpTaG91bGRuJ3Qg
SU9NTVUgaW5zZXJ0aW9ucyBiZSBsaW1pdGVkIGFueXdheSB0byBHTlRNQVBf
ZGV2aWNlX21hcApyZXF1ZXN0cz8gVGhpcyB3b3VsZCBmdXJ0aGVyIHNhdmUg
b24gdGhlIG51bWJlciBvZiByYWRpeCB0cmVlIG5vZGVzIGluCm5lZWQgb2Yg
bWFpbnRhaW5pbmcuCgpJJ20gaGVzaXRhbnQgdG8gaW50cm9kdWNlIEdOVFNU
XyogaW4gYSBzZWN1cml0eSBwYXRjaCwgYnV0IGJlaW5nIGFibGUgdG8KdGVs
bCBhbGxvY2F0aW9uIGZhaWx1cmUgb3IgY291bnRlciBvdmVyZmxvdyBmcm9t
IG90aGVyIGVycm9ycyBtaWdodCBiZQp3b3J0aHdoaWxlLgoKSSBkb24ndCB0
aGluayBhZGRpbmcgYW55dGhpbmcgdG8gZ250dGFiX3VzYWdlX3ByaW50KCkg
aXMgdXNlZnVsOgpyYWRpeF90cmVlX2dhbmdfbG9va3VwKCkgcmVxdWlyZXMg
bm9kZXMgdG8gcmVjb3JkIHRoZWlyIG93biBpbmRleGVzIGludG8KdGhlIHRy
ZWUsIHdoaWNoIHdlIGRvbid0IGRvIHRvIHNhdmUgc3BhY2UuIFlldCB3aXRo
b3V0IGluZGV4ZXMgcHJpbnRpbmcKbm9kZSBjb250ZW50cyBpc24ndCB2ZXJ5
IHVzZWZ1bC4gUGx1cyB0aGVyZSdzIGFsc28gbm8gcHJpbnRpbmcgb2YgdGhl
Cm1haW4gbWFwdHJhY2sgdGFibGUgY29udGVudHMuCi0tLQp2MzogQ2hlY2sg
Zm9yIHJhZGl4X3RyZWVfbG9va3VwX3Nsb3QoKSByZXR1cm5pbmcgTlVMTC4g
Q29udmVydCAtRUVYSVNUCiAgICB0byAtRUJVU1kuIEFkZCBjb21tZW50cy4g
UmUtYmFzZSBvdmVyIGNvbW1lbnQgYWRkaXRpb24gaW4gcGF0Y2ggMS4KdjI6
IE5ldy4KCi0tLSBhL3hlbi9jb21tb24vZ3JhbnRfdGFibGUuYworKysgYi94
ZW4vY29tbW9uL2dyYW50X3RhYmxlLmMKQEAgLTM3LDYgKzM3LDcgQEAKICNp
bmNsdWRlIDx4ZW4vaW9tbXUuaD4KICNpbmNsdWRlIDx4ZW4vcGFnaW5nLmg+
CiAjaW5jbHVkZSA8eGVuL2tleWhhbmRsZXIuaD4KKyNpbmNsdWRlIDx4ZW4v
cmFkaXgtdHJlZS5oPgogI2luY2x1ZGUgPHhlbi92bWFwLmg+CiAjaW5jbHVk
ZSA8eGVuL25vc3BlYy5oPgogI2luY2x1ZGUgPHhzbS94c20uaD4KQEAgLTgy
LDggKzgzLDEzIEBAIHN0cnVjdCBncmFudF90YWJsZSB7CiAgICAgZ3JhbnRf
c3RhdHVzX3QgICAgICAgKipzdGF0dXM7CiAgICAgLyogQWN0aXZlIGdyYW50
IHRhYmxlLiAqLwogICAgIHN0cnVjdCBhY3RpdmVfZ3JhbnRfZW50cnkgKiph
Y3RpdmU7Ci0gICAgLyogTWFwcGluZyB0cmFja2luZyB0YWJsZSBwZXIgdmNw
dS4gKi8KKyAgICAvKiBIYW5kbGUtaW5kZXhlZCB0cmFja2luZyB0YWJsZSBv
ZiBtYXBwaW5ncy4gKi8KICAgICBzdHJ1Y3QgZ3JhbnRfbWFwcGluZyAqKm1h
cHRyYWNrOworICAgIC8qCisgICAgICogTUZOLWluZGV4ZWQgdHJhY2tpbmcg
dHJlZSBvZiBtYXBwaW5ncywgaWYgbmVlZGVkLiAgTm90ZSB0aGF0IHRoaXMg
aXMKKyAgICAgKiBwcm90ZWN0ZWQgYnkgQGxvY2ssIG5vdCBAbWFwdHJhY2tf
bG9jay4KKyAgICAgKi8KKyAgICBzdHJ1Y3QgcmFkaXhfdHJlZV9yb290IG1h
cHRyYWNrX3RyZWU7CiAKICAgICAvKiBEb21haW4gdG8gd2hpY2ggdGhpcyBz
dHJ1Y3QgZ3JhbnRfdGFibGUgYmVsb25ncy4gKi8KICAgICBjb25zdCBzdHJ1
Y3QgZG9tYWluICpkb21haW47CkBAIC01MTYsMzQgKzUyMiw2IEBAIHN0YXRp
YyBpbnQgZ2V0X3BhZ2VkX2ZyYW1lKHVuc2lnbmVkIGxvbmcKICAgICByZXR1
cm4gR05UU1Rfb2theTsKIH0KIAotc3RhdGljIGlubGluZSB2b2lkCi1kb3Vi
bGVfZ3RfbG9jayhzdHJ1Y3QgZ3JhbnRfdGFibGUgKmxndCwgc3RydWN0IGdy
YW50X3RhYmxlICpyZ3QpCi17Ci0gICAgLyoKLSAgICAgKiBTZWUgbWFwa2lu
ZCgpIGZvciB3aHkgdGhlIHdyaXRlIGxvY2sgaXMgYWxzbyByZXF1aXJlZCBm
b3IgdGhlCi0gICAgICogcmVtb3RlIGRvbWFpbi4KLSAgICAgKi8KLSAgICBp
ZiAoIGxndCA8IHJndCApCi0gICAgewotICAgICAgICBncmFudF93cml0ZV9s
b2NrKGxndCk7Ci0gICAgICAgIGdyYW50X3dyaXRlX2xvY2socmd0KTsKLSAg
ICB9Ci0gICAgZWxzZQotICAgIHsKLSAgICAgICAgaWYgKCBsZ3QgIT0gcmd0
ICkKLSAgICAgICAgICAgIGdyYW50X3dyaXRlX2xvY2socmd0KTsKLSAgICAg
ICAgZ3JhbnRfd3JpdGVfbG9jayhsZ3QpOwotICAgIH0KLX0KLQotc3RhdGlj
IGlubGluZSB2b2lkCi1kb3VibGVfZ3RfdW5sb2NrKHN0cnVjdCBncmFudF90
YWJsZSAqbGd0LCBzdHJ1Y3QgZ3JhbnRfdGFibGUgKnJndCkKLXsKLSAgICBn
cmFudF93cml0ZV91bmxvY2sobGd0KTsKLSAgICBpZiAoIGxndCAhPSByZ3Qg
KQotICAgICAgICBncmFudF93cml0ZV91bmxvY2socmd0KTsKLX0KLQogI2Rl
ZmluZSBJTlZBTElEX01BUFRSQUNLX0hBTkRMRSBVSU5UX01BWAogCiBzdGF0
aWMgaW5saW5lIGdyYW50X2hhbmRsZV90CkBAIC05NzAsNDEgKzk0OCwxNyBA
QCBzdGF0aWMgc3RydWN0IGFjdGl2ZV9ncmFudF9lbnRyeSAqZ3JhbnRfCiAg
ICAgcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7CiB9CiAKLSNkZWZpbmUgTUFQ
S0lORF9SRUFEIDEKLSNkZWZpbmUgTUFQS0lORF9XUklURSAyCi1zdGF0aWMg
dW5zaWduZWQgaW50IG1hcGtpbmQoCi0gICAgc3RydWN0IGdyYW50X3RhYmxl
ICpsZ3QsIGNvbnN0IHN0cnVjdCBkb21haW4gKnJkLCBtZm5fdCBtZm4pCi17
Ci0gICAgc3RydWN0IGdyYW50X21hcHBpbmcgKm1hcDsKLSAgICBncmFudF9o
YW5kbGVfdCBoYW5kbGUsIGxpbWl0ID0gbGd0LT5tYXB0cmFja19saW1pdDsK
LSAgICB1bnNpZ25lZCBpbnQga2luZCA9IDA7Ci0KLSAgICAvKgotICAgICAq
IE11c3QgaGF2ZSB0aGUgbG9jYWwgZG9tYWluJ3MgZ3JhbnQgdGFibGUgd3Jp
dGUgbG9jayB3aGVuCi0gICAgICogaXRlcmF0aW5nIG92ZXIgaXRzIG1hcHRy
YWNrIGVudHJpZXMuCi0gICAgICovCi0gICAgQVNTRVJUKHBlcmNwdV9yd19p
c193cml0ZV9sb2NrZWQoJmxndC0+bG9jaykpOwotICAgIC8qCi0gICAgICog
TXVzdCBoYXZlIHRoZSByZW1vdGUgZG9tYWluJ3MgZ3JhbnQgdGFibGUgd3Jp
dGUgbG9jayB3aGlsZQotICAgICAqIGNvdW50aW5nIGl0cyBhY3RpdmUgZW50
cmllcy4KLSAgICAgKi8KLSAgICBBU1NFUlQocGVyY3B1X3J3X2lzX3dyaXRl
X2xvY2tlZCgmcmQtPmdyYW50X3RhYmxlLT5sb2NrKSk7Ci0KLSAgICBzbXBf
cm1iKCk7Ci0KLSAgICBmb3IgKCBoYW5kbGUgPSAwOyAhKGtpbmQgJiBNQVBL
SU5EX1dSSVRFKSAmJiBoYW5kbGUgPCBsaW1pdDsgaGFuZGxlKysgKQotICAg
IHsKLSAgICAgICAgbWFwID0gJm1hcHRyYWNrX2VudHJ5KGxndCwgaGFuZGxl
KTsKLSAgICAgICAgaWYgKCAhKG1hcC0+ZmxhZ3MgJiAoR05UTUFQX2Rldmlj
ZV9tYXB8R05UTUFQX2hvc3RfbWFwKSkgfHwKLSAgICAgICAgICAgICBtYXAt
PmRvbWlkICE9IHJkLT5kb21haW5faWQgKQotICAgICAgICAgICAgY29udGlu
dWU7Ci0gICAgICAgIGlmICggbWZuX2VxKF9hY3RpdmVfZW50cnkocmQtPmdy
YW50X3RhYmxlLCBtYXAtPnJlZikubWZuLCBtZm4pICkKLSAgICAgICAgICAg
IGtpbmQgfD0gbWFwLT5mbGFncyAmIEdOVE1BUF9yZWFkb25seSA/Ci0gICAg
ICAgICAgICAgICAgICAgIE1BUEtJTkRfUkVBRCA6IE1BUEtJTkRfV1JJVEU7
Ci0gICAgfQotCi0gICAgcmV0dXJuIGtpbmQ7Ci19Cit1bmlvbiBtYXB0cmFj
a19ub2RlIHsKKyAgICBzdHJ1Y3QgeworICAgICAgICAvKiBSYWRpeCB0cmVl
IHNsb3QgcG9pbnRlcnMgdXNlIHR3byBvZiB0aGUgYml0cy4gKi8KKyNpZmRl
ZiBfX0JJR19FTkRJQU5fQklURklFTEQKKyAgICAgICAgdW5zaWduZWQgbG9u
ZyAgICA6IDI7CisjZW5kaWYKKyAgICAgICAgdW5zaWduZWQgbG9uZyByZCA6
IEJJVFNfUEVSX0xPTkcgLyAyIC0gMTsKKyAgICAgICAgdW5zaWduZWQgbG9u
ZyB3ciA6IEJJVFNfUEVSX0xPTkcgLyAyIC0gMTsKKyAgICB9IGNudDsKKyAg
ICB1bnNpZ25lZCBsb25nIHJhdzsKK307CiAKIHN0YXRpYyB2b2lkCiBtYXBf
Z3JhbnRfcmVmKApAQCAtMTAyMyw3ICs5NzcsNiBAQCBtYXBfZ3JhbnRfcmVm
KAogICAgIHN0cnVjdCBncmFudF9tYXBwaW5nICptdDsKICAgICBncmFudF9l
bnRyeV9oZWFkZXJfdCAqc2hhaDsKICAgICB1aW50MTZfdCAqc3RhdHVzOwot
ICAgIGJvb2xfdCBuZWVkX2lvbW11OwogCiAgICAgbGQgPSBjdXJyZW50LT5k
b21haW47CiAKQEAgLTEyNDQsMzEgKzExOTcsNzUgQEAgbWFwX2dyYW50X3Jl
ZigKICAgICAgKiBhcyBtZW0tc2hhcmluZyBhbmQgSU9NTVUgdXNlIGFyZSBp
bmNvbXBhdGlibGUpLiBUaGUgZG9tX2lvIGNhc2Ugd291bGQKICAgICAgKiBu
ZWVkIGNoZWNraW5nIHNlcGFyYXRlbHkgaWYgd2UgY29tcGFyZWQgYWdhaW5z
dCBvd25lciBoZXJlLgogICAgICAqLwotICAgIG5lZWRfaW9tbXUgPSBsZCAh
PSByZCAmJiBnbnR0YWJfbmVlZF9pb21tdV9tYXBwaW5nKGxkKTsKLSAgICBp
ZiAoIG5lZWRfaW9tbXUgKQorICAgIGlmICggbGQgIT0gcmQgJiYgZ250dGFi
X25lZWRfaW9tbXVfbWFwcGluZyhsZCkgKQogICAgIHsKKyAgICAgICAgdW5p
b24gbWFwdHJhY2tfbm9kZSBub2RlID0geworICAgICAgICAgICAgLmNudC5y
ZCA9ICEhKG9wLT5mbGFncyAmIEdOVE1BUF9yZWFkb25seSksCisgICAgICAg
ICAgICAuY250LndyID0gIShvcC0+ZmxhZ3MgJiBHTlRNQVBfcmVhZG9ubHkp
LAorICAgICAgICB9OworICAgICAgICBpbnQgZXJyOworICAgICAgICB2b2lk
ICoqc2xvdCA9IE5VTEw7CiAgICAgICAgIHVuc2lnbmVkIGludCBraW5kOwog
Ci0gICAgICAgIGRvdWJsZV9ndF9sb2NrKGxndCwgcmd0KTsKKyAgICAgICAg
Z3JhbnRfd3JpdGVfbG9jayhsZ3QpOworCisgICAgICAgIGVyciA9IHJhZGl4
X3RyZWVfaW5zZXJ0KCZsZ3QtPm1hcHRyYWNrX3RyZWUsIG1mbl94KG1mbiks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhZGl4X3RyZWVf
dWxvbmdfdG9fcHRyKG5vZGUucmF3KSk7CisgICAgICAgIGlmICggZXJyID09
IC1FRVhJU1QgKQorICAgICAgICB7CisgICAgICAgICAgICBzbG90ID0gcmFk
aXhfdHJlZV9sb29rdXBfc2xvdCgmbGd0LT5tYXB0cmFja190cmVlLCBtZm5f
eChtZm4pKTsKKyAgICAgICAgICAgIGlmICggbGlrZWx5KHNsb3QpICkKKyAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBub2RlLnJhdyA9IHJhZGl4
X3RyZWVfcHRyX3RvX3Vsb25nKCpzbG90KTsKKyAgICAgICAgICAgICAgICBl
cnIgPSAtRUJVU1k7CisKKyAgICAgICAgICAgICAgICAvKiBVcGRhdGUgbm9k
ZSBvbmx5IHdoZW4gcmVmY291bnQgZG9lc24ndCBvdmVyZmxvdy4gKi8KKyAg
ICAgICAgICAgICAgICBpZiAoIG9wLT5mbGFncyAmIEdOVE1BUF9yZWFkb25s
eSA/ICsrbm9kZS5jbnQucmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA6ICsrbm9kZS5jbnQud3IgKQorICAg
ICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgcmFkaXhfdHJl
ZV9yZXBsYWNlX3Nsb3Qoc2xvdCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcmFkaXhfdHJlZV91bG9uZ190b19wdHIo
bm9kZS5yYXcpKTsKKyAgICAgICAgICAgICAgICAgICAgZXJyID0gMDsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBl
bHNlCisgICAgICAgICAgICAgICAgQVNTRVJUX1VOUkVBQ0hBQkxFKCk7Cisg
ICAgICAgIH0KIAogICAgICAgICAvKgogICAgICAgICAgKiBXZSdyZSBub3Qg
dHJhbnNsYXRlZCwgc28gd2Uga25vdyB0aGF0IGRmbnMgYW5kIG1mbnMgYXJl
CiAgICAgICAgICAqIHRoZSBzYW1lIHRoaW5ncywgc28gdGhlIElPTU1VIGVu
dHJ5IGlzIGFsd2F5cyAxLXRvLTEuCiAgICAgICAgICAqLwotICAgICAgICBr
aW5kID0gbWFwa2luZChsZ3QsIHJkLCBtZm4pOwotICAgICAgICBpZiAoICEo
b3AtPmZsYWdzICYgR05UTUFQX3JlYWRvbmx5KSAmJgotICAgICAgICAgICAg
ICEoa2luZCAmIE1BUEtJTkRfV1JJVEUpICkKKyAgICAgICAgaWYgKCAhKG9w
LT5mbGFncyAmIEdOVE1BUF9yZWFkb25seSkgJiYgbm9kZS5jbnQud3IgPT0g
MSApCiAgICAgICAgICAgICBraW5kID0gSU9NTVVGX3JlYWRhYmxlIHwgSU9N
TVVGX3dyaXRhYmxlOwotICAgICAgICBlbHNlIGlmICggIWtpbmQgKQorICAg
ICAgICBlbHNlIGlmICggKG9wLT5mbGFncyAmIEdOVE1BUF9yZWFkb25seSkg
JiYKKyAgICAgICAgICAgICAgICAgIG5vZGUuY250LnJkID09IDEgJiYgIW5v
ZGUuY250LndyICkKICAgICAgICAgICAgIGtpbmQgPSBJT01NVUZfcmVhZGFi
bGU7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGtpbmQgPSAwOwotICAg
ICAgICBpZiAoIGtpbmQgJiYgaW9tbXVfbGVnYWN5X21hcChsZCwgX2Rmbiht
Zm5feChtZm4pKSwgbWZuLCAxLCBraW5kKSApCisgICAgICAgIGlmICggZXJy
IHx8CisgICAgICAgICAgICAgKGtpbmQgJiYgaW9tbXVfbGVnYWN5X21hcChs
ZCwgX2RmbihtZm5feChtZm4pKSwgbWZuLCAxLCBraW5kKSkgKQogICAgICAg
ICB7Ci0gICAgICAgICAgICBkb3VibGVfZ3RfdW5sb2NrKGxndCwgcmd0KTsK
KyAgICAgICAgICAgIGlmICggIWVyciApCisgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgaWYgKCBzbG90ICkKKyAgICAgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgICAgIG9wLT5mbGFncyAmIEdOVE1BUF9yZWFkb25s
eSA/IG5vZGUuY250LnJkLS0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDogbm9kZS5jbnQud3ItLTsKKyAgICAg
ICAgICAgICAgICAgICAgcmFkaXhfdHJlZV9yZXBsYWNlX3Nsb3Qoc2xvdCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cmFkaXhfdHJlZV91bG9uZ190b19wdHIobm9kZS5yYXcpKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAg
ICAgICAgICByYWRpeF90cmVlX2RlbGV0ZSgmbGd0LT5tYXB0cmFja190cmVl
LCBtZm5feChtZm4pKTsKKyAgICAgICAgICAgIH0KKwogICAgICAgICAgICAg
cmMgPSBHTlRTVF9nZW5lcmFsX2Vycm9yOwotICAgICAgICAgICAgZ290byB1
bmRvX291dDsKICAgICAgICAgfQorCisgICAgICAgIGdyYW50X3dyaXRlX3Vu
bG9jayhsZ3QpOworCisgICAgICAgIGlmICggcmMgIT0gR05UU1Rfb2theSAp
CisgICAgICAgICAgICBnb3RvIHVuZG9fb3V0OwogICAgIH0KIAogICAgIFRS
QUNFXzFEKFRSQ19NRU1fUEFHRV9HUkFOVF9NQVAsIG9wLT5kb20pOwpAQCAt
MTI3NiwxMCArMTI3Myw2IEBAIG1hcF9ncmFudF9yZWYoCiAgICAgLyoKICAg
ICAgKiBBbGwgbWFwdHJhY2sgZW50cnkgdXNlcnMgY2hlY2sgbXQtPmZsYWdz
IGZpcnN0IGJlZm9yZSB1c2luZyB0aGUKICAgICAgKiBvdGhlciBmaWVsZHMg
c28ganVzdCBlbnN1cmUgdGhlIGZsYWdzIGZpZWxkIGlzIHN0b3JlZCBsYXN0
LgotICAgICAqCi0gICAgICogSG93ZXZlciwgaWYgZ250dGFiX25lZWRfaW9t
bXVfbWFwcGluZygpIHRoZW4gdGhpcyB3b3VsZCByYWNlCi0gICAgICogd2l0
aCBhIGNvbmN1cnJlbnQgbWFwa2luZCgpIGNhbGwgKG9uIGFuIHVubWFwLCBm
b3IgZXhhbXBsZSkKLSAgICAgKiBhbmQgYSBsb2NrIGlzIHJlcXVpcmVkLgog
ICAgICAqLwogICAgIG10ID0gJm1hcHRyYWNrX2VudHJ5KGxndCwgaGFuZGxl
KTsKICAgICBtdC0+ZG9taWQgPSBvcC0+ZG9tOwpAQCAtMTI4Nyw5ICsxMjgw
LDYgQEAgbWFwX2dyYW50X3JlZigKICAgICBzbXBfd21iKCk7CiAgICAgd3Jp
dGVfYXRvbWljKCZtdC0+ZmxhZ3MsIG9wLT5mbGFncyk7CiAKLSAgICBpZiAo
IG5lZWRfaW9tbXUgKQotICAgICAgICBkb3VibGVfZ3RfdW5sb2NrKGxndCwg
cmd0KTsKLQogICAgIG9wLT5kZXZfYnVzX2FkZHIgPSBtZm5fdG9fbWFkZHIo
bWZuKTsKICAgICBvcC0+aGFuZGxlICAgICAgID0gaGFuZGxlOwogICAgIG9w
LT5zdGF0dXMgICAgICAgPSBHTlRTVF9va2F5OwpAQCAtMTQ5NywxOSArMTQ4
NywzNCBAQCB1bm1hcF9jb21tb24oCiAgICAgLyogU2VlIHRoZSByZXNwZWN0
aXZlIGNvbW1lbnQgaW4gbWFwX2dyYW50X3JlZigpLiAqLwogICAgIGlmICgg
cmMgPT0gR05UU1Rfb2theSAmJiBsZCAhPSByZCAmJiBnbnR0YWJfbmVlZF9p
b21tdV9tYXBwaW5nKGxkKSApCiAgICAgewotICAgICAgICB1bnNpZ25lZCBp
bnQga2luZDsKKyAgICAgICAgdm9pZCAqKnNsb3Q7CisgICAgICAgIHVuaW9u
IG1hcHRyYWNrX25vZGUgbm9kZTsKICAgICAgICAgaW50IGVyciA9IDA7CiAK
LSAgICAgICAgZG91YmxlX2d0X2xvY2sobGd0LCByZ3QpOworICAgICAgICBn
cmFudF93cml0ZV9sb2NrKGxndCk7CisgICAgICAgIHNsb3QgPSByYWRpeF90
cmVlX2xvb2t1cF9zbG90KCZsZ3QtPm1hcHRyYWNrX3RyZWUsIG1mbl94KG9w
LT5tZm4pKTsKKyAgICAgICAgbm9kZS5yYXcgPSBsaWtlbHkoc2xvdCkgPyBy
YWRpeF90cmVlX3B0cl90b191bG9uZygqc2xvdCkgOiAwOworCisgICAgICAg
IC8qIFJlZmNvdW50IG11c3Qgbm90IHVuZGVyZmxvdy4gKi8KKyAgICAgICAg
aWYgKCAhKGZsYWdzICYgR05UTUFQX3JlYWRvbmx5ID8gbm9kZS5jbnQucmQt
LQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBu
b2RlLmNudC53ci0tKSApCisgICAgICAgICAgICBCVUcoKTsKIAotICAgICAg
ICBraW5kID0gbWFwa2luZChsZ3QsIHJkLCBvcC0+bWZuKTsKLSAgICAgICAg
aWYgKCAha2luZCApCisgICAgICAgIGlmICggIW5vZGUucmF3ICkKICAgICAg
ICAgICAgIGVyciA9IGlvbW11X2xlZ2FjeV91bm1hcChsZCwgX2RmbihtZm5f
eChvcC0+bWZuKSksIDEpOwotICAgICAgICBlbHNlIGlmICggIShraW5kICYg
TUFQS0lORF9XUklURSkgKQorICAgICAgICBlbHNlIGlmICggIShmbGFncyAm
IEdOVE1BUF9yZWFkb25seSkgJiYgIW5vZGUuY250LndyICkKICAgICAgICAg
ICAgIGVyciA9IGlvbW11X2xlZ2FjeV9tYXAobGQsIF9kZm4obWZuX3gob3At
Pm1mbikpLCBvcC0+bWZuLCAxLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBJT01NVUZfcmVhZGFibGUpOwogCi0gICAgICAgIGRvdWJs
ZV9ndF91bmxvY2sobGd0LCByZ3QpOworICAgICAgICBpZiAoIGVyciApCisg
ICAgICAgICAgICA7CisgICAgICAgIGVsc2UgaWYgKCAhbm9kZS5yYXcgKQor
ICAgICAgICAgICAgcmFkaXhfdHJlZV9kZWxldGUoJmxndC0+bWFwdHJhY2tf
dHJlZSwgbWZuX3gob3AtPm1mbikpOworICAgICAgICBlbHNlCisgICAgICAg
ICAgICByYWRpeF90cmVlX3JlcGxhY2Vfc2xvdChzbG90LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFkaXhfdHJlZV91bG9uZ190
b19wdHIobm9kZS5yYXcpKTsKKworICAgICAgICBncmFudF93cml0ZV91bmxv
Y2sobGd0KTsKIAogICAgICAgICBpZiAoIGVyciApCiAgICAgICAgICAgICBy
YyA9IEdOVFNUX2dlbmVyYWxfZXJyb3I7CkBAIC0xOTU2LDYgKzE5NjEsOCBA
QCBpbnQgZ3JhbnRfdGFibGVfaW5pdChzdHJ1Y3QgZG9tYWluICpkLCBpCiAg
ICAgICAgIGd0LT5tYXB0cmFjayA9IHZ6YWxsb2MoZ3QtPm1heF9tYXB0cmFj
a19mcmFtZXMgKiBzaXplb2YoKmd0LT5tYXB0cmFjaykpOwogICAgICAgICBp
ZiAoIGd0LT5tYXB0cmFjayA9PSBOVUxMICkKICAgICAgICAgICAgIGdvdG8g
b3V0OworCisgICAgICAgIHJhZGl4X3RyZWVfaW5pdCgmZ3QtPm1hcHRyYWNr
X3RyZWUpOwogICAgIH0KIAogICAgIC8qIFNoYXJlZCBncmFudCB0YWJsZS4g
Ki8KQEAgLTM3MDQsNiArMzcxMSw4IEBAIGludCBnbnR0YWJfcmVsZWFzZV9t
YXBwaW5ncyhzdHJ1Y3QgZG9tYWkKIAogICAgIGZvciAoIGhhbmRsZSA9IGd0
LT5tYXB0cmFja19saW1pdDsgaGFuZGxlOyApCiAgICAgeworICAgICAgICBt
Zm5fdCBtZm47CisKICAgICAgICAgLyoKICAgICAgICAgICogRGVhbCB3aXRo
IGZ1bGwgcGFnZXMgc3VjaCB0aGF0IHRoZWlyIGZyZWVpbmcgKGluIHRoZSBi
b2R5IG9mIHRoZQogICAgICAgICAgKiBpZigpKSByZW1haW5zIHNpbXBsZS4K
QEAgLTM4MDEsMTcgKzM4MTAsMzEgQEAgaW50IGdudHRhYl9yZWxlYXNlX21h
cHBpbmdzKHN0cnVjdCBkb21haQogCiAgICAgICAgIHJlZHVjZV9zdGF0dXNf
Zm9yX3BpbihyZCwgYWN0LCBzdGF0dXMsIG1hcC0+ZmxhZ3MgJiBHTlRNQVBf
cmVhZG9ubHkpOwogCisgICAgICAgIG1mbiA9IGFjdC0+bWZuOworCiAgICAg
ICAgIGFjdGl2ZV9lbnRyeV9yZWxlYXNlKGFjdCk7CiAgICAgICAgIGdyYW50
X3JlYWRfdW5sb2NrKHJndCk7CiAKICAgICAgICAgcmN1X3VubG9ja19kb21h
aW4ocmQpOwogCiAgICAgICAgIG1hcC0+ZmxhZ3MgPSAwOworCisgICAgICAg
IC8qCisgICAgICAgICAqIFRoaXMgaXMgZXhjZXNzaXZlIGluIHRoYXQgYSBz
aW5nbGUgc3VjaCBjYWxsIHdvdWxkIHN1ZmZpY2UgcGVyCisgICAgICAgICAq
IG1hcHBlZCBNRk4gKG9yIG5vbmUgYXQgYWxsLCBpZiBubyBlbnRyeSB3YXMg
ZXZlciBpbnNlcnRlZCkuIEJ1dCBpdAorICAgICAgICAgKiBzaG91bGQgYmUg
dGhlIGNvbW1vbiBjYXNlIGZvciBhbiBNRk4gdG8gYmUgbWFwcGVkIGp1c3Qg
b25jZSwgYW5kCisgICAgICAgICAqIHRoaXMgd2F5IHdlIGRvbid0IG5lZWQg
dG8gZnVydGhlciBtYWludGFpbiB0aGUgY291bnRlcnMuIFdlIGFsc28KKyAg
ICAgICAgICogZG9uJ3Qgd2FudCB0byBsZWF2ZSBjbGVhbmluZyB1cCBvZiB0
aGUgdHJlZSBhcyBhIHdob2xlIHRvIHRoZSBlbmQKKyAgICAgICAgICogb2Yg
dGhlIGZ1bmN0aW9uLCBhcyB0aGlzIGNvdWxkIHRha2UgcXVpdGUgc29tZSB0
aW1lLgorICAgICAgICAgKi8KKyAgICAgICAgcmFkaXhfdHJlZV9kZWxldGUo
Jmd0LT5tYXB0cmFja190cmVlLCBtZm5feChtZm4pKTsKICAgICB9CiAKICAg
ICBndC0+bWFwdHJhY2tfbGltaXQgPSAwOwogICAgIEZSRUVfWEVOSEVBUF9Q
QUdFKGd0LT5tYXB0cmFja1swXSk7CiAKKyAgICByYWRpeF90cmVlX2Rlc3Ry
b3koJmd0LT5tYXB0cmFja190cmVlLCBOVUxMKTsKKwogICAgIHJldHVybiAw
OwogfQogCi0tLSBhL3hlbi9pbmNsdWRlL3hlbi9yYWRpeC10cmVlLmgKKysr
IGIveGVuL2luY2x1ZGUveGVuL3JhZGl4LXRyZWUuaApAQCAtMTkwLDYgKzE5
MCwyNSBAQCBzdGF0aWMgaW5saW5lIGludCByYWRpeF90cmVlX3B0cl90b19p
bnQoCiAgICAgcmV0dXJuIChpbnQpKChsb25nKXB0ciA+PiAyKTsKIH0KIAor
LyoqCisgKiByYWRpeF90cmVlX3t1bG9uZ190b19wdHIscHRyX3RvX3Vsb25n
fToKKyAqCisgKiBTYW1lIGZvciB1bnNpZ25lZCBsb25nIHZhbHVlcy4gQmV3
YXJlIHRob3VnaCB0aGF0IG9ubHkgQklUU19QRVJfTE9ORy0yCisgKiBiaXRz
IGFyZSBhY3R1YWxseSB1c2FibGUgZm9yIHRoZSB2YWx1ZS4KKyAqLworc3Rh
dGljIGlubGluZSB2b2lkICpyYWRpeF90cmVlX3Vsb25nX3RvX3B0cih1bnNp
Z25lZCBsb25nIHZhbCkKK3sKKyAgICB1bnNpZ25lZCBsb25nIHB0ciA9ICh2
YWwgPDwgMikgfCAweDI7CisgICAgQVNTRVJUKChwdHIgPj4gMikgPT0gdmFs
KTsKKyAgICByZXR1cm4gKHZvaWQgKilwdHI7Cit9CisKK3N0YXRpYyBpbmxp
bmUgdW5zaWduZWQgbG9uZyByYWRpeF90cmVlX3B0cl90b191bG9uZyh2b2lk
ICpwdHIpCit7CisgICAgQVNTRVJUKCgodW5zaWduZWQgbG9uZylwdHIgJiAw
eDMpID09IDB4Mik7CisgICAgcmV0dXJuICh1bnNpZ25lZCBsb25nKXB0ciA+
PiAyOworfQorCiBpbnQgcmFkaXhfdHJlZV9pbnNlcnQoc3RydWN0IHJhZGl4
X3RyZWVfcm9vdCAqLCB1bnNpZ25lZCBsb25nLCB2b2lkICopOwogdm9pZCAq
cmFkaXhfdHJlZV9sb29rdXAoc3RydWN0IHJhZGl4X3RyZWVfcm9vdCAqLCB1
bnNpZ25lZCBsb25nKTsKIHZvaWQgKipyYWRpeF90cmVlX2xvb2t1cF9zbG90
KHN0cnVjdCByYWRpeF90cmVlX3Jvb3QgKiwgdW5zaWduZWQgbG9uZyk7Cg==

--=separator
Content-Type: application/octet-stream; name="xsa380/xsa380-4.11-1.patch"
Content-Disposition: attachment; filename="xsa380/xsa380-4.11-1.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBnbnR0YWI6IGFkZCBwcmVlbXB0aW9uIGNoZWNrIHRvIGdudHRhYl9yZWxl
YXNlX21hcHBpbmdzKCkKCkEgZ3Vlc3QgbWF5IGRpZSB3aXRoIG1hbnkgZ3Jh
bnQgbWFwcGluZ3Mgc3RpbGwgaW4gcGxhY2UsIG9yIHNpbXBseSB3aXRoCmEg
bGFyZ2UgbWFwdHJhY2sgdGFibGUuIEl0ZXJhdGluZyB0aHJvdWdoIHRoaXMg
bWF5IHRha2UgbW9yZSB0aW1lIHRoYW4KaXMgcmVhc29uYWJsZSB3aXRob3V0
IGludGVybWVkaWF0ZSBwcmVlbXB0aW9uICh0byBydW4gc29mdGlycXMgYW5k
CnBlcmhhcHMgdGhlIHNjaGVkdWxlcikuCgpNb3ZlIHRoZSBpbnZvY2F0aW9u
IG9mIHRoZSBmdW5jdGlvbiB0byB0aGUgc2VjdGlvbiB3aGVyZSBvdGhlcgpy
ZXN0YXJ0YWJsZSBmdW5jdGlvbnMgZ2V0IGludm9rZWQsIGFuZCBoYXZlIHRo
ZSBmdW5jdGlvbiBpdHNlbGYgY2hlY2sKZm9yIHByZWVtcHRpb24gZXZlcnkg
b25jZSBpbiBhIHdoaWxlLiBIYXZlIGl0IGl0ZXJhdGUgdGhlIHRhYmxlCmJh
Y2t3YXJkcywgc3VjaCB0aGF0IGRlY3JlYXNpbmcgdGhlIG1hcHRyYWNrIGxp
bWl0IGlzIGFsbCBpdCB0YWtlcyB0bwpjb252ZXkgcmVzdGFydCBpbmZvcm1h
dGlvbi4KCkluIGRvbWFpbl90ZWFyZG93bigpIGludHJvZHVjZSBQUk9HX25v
bmUgc3VjaCB0aGF0IGluc2VydGluZyBhdCB0aGUKZnJvbnQgd2lsbCBiZSBl
YXNpZXIgZ29pbmcgZm9yd2FyZC4KClRoaXMgaXMgcGFydCBvZiBDVkUtMjAy
MS0yODY5OCAvIFhTQS0zODAuCgpSZXBvcnRlZC1ieTogQW5kcmV3IENvb3Bl
ciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KU2lnbmVkLW9mZi1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTog
SnVsaWVuIEdyYWxsIDxqZ3JhbGxAYW1hem9uLmNvbT4KCi0tLSBhL3hlbi9j
b21tb24vZG9tYWluLmMKKysrIGIveGVuL2NvbW1vbi9kb21haW4uYwpAQCAt
NjQ2LDEzICs2NDYsMTUgQEAgaW50IGRvbWFpbl9raWxsKHN0cnVjdCBkb21h
aW4gKmQpCiAgICAgICAgIGlmICggZC0+aXNfZHlpbmcgIT0gRE9NRFlJTkdf
YWxpdmUgKQogICAgICAgICAgICAgcmV0dXJuIGRvbWFpbl9raWxsKGQpOwog
ICAgICAgICBkLT5pc19keWluZyA9IERPTURZSU5HX2R5aW5nOwotICAgICAg
ICBnbnR0YWJfcmVsZWFzZV9tYXBwaW5ncyhkKTsKICAgICAgICAgdG1lbV9k
ZXN0cm95KGQtPnRtZW1fY2xpZW50KTsKICAgICAgICAgdm51bWFfZGVzdHJv
eShkLT52bnVtYSk7CiAgICAgICAgIGRvbWFpbl9zZXRfb3V0c3RhbmRpbmdf
cGFnZXMoZCwgMCk7CiAgICAgICAgIGQtPnRtZW1fY2xpZW50ID0gTlVMTDsK
ICAgICAgICAgLyogZmFsbHRocm91Z2ggKi8KICAgICBjYXNlIERPTURZSU5H
X2R5aW5nOgorICAgICAgICByYyA9IGdudHRhYl9yZWxlYXNlX21hcHBpbmdz
KGQpOworICAgICAgICBpZiAoIHJjICkKKyAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICByYyA9IGV2dGNobl9kZXN0cm95KGQpOwogICAgICAgICBpZiAo
IHJjICkKICAgICAgICAgICAgIGJyZWFrOwotLS0gYS94ZW4vY29tbW9uL2dy
YW50X3RhYmxlLmMKKysrIGIveGVuL2NvbW1vbi9ncmFudF90YWJsZS5jCkBA
IC02Miw3ICs2MiwxMyBAQCBzdHJ1Y3QgZ3JhbnRfdGFibGUgewogICAgIHVu
c2lnbmVkIGludCAgICAgICAgICBucl9ncmFudF9mcmFtZXM7CiAgICAgLyog
TnVtYmVyIG9mIGdyYW50IHN0YXR1cyBmcmFtZXMgc2hhcmVkIHdpdGggZ3Vl
c3QgKGZvciB2ZXJzaW9uIDIpICovCiAgICAgdW5zaWduZWQgaW50ICAgICAg
ICAgIG5yX3N0YXR1c19mcmFtZXM7Ci0gICAgLyogTnVtYmVyIG9mIGF2YWls
YWJsZSBtYXB0cmFjayBlbnRyaWVzLiAqLworICAgIC8qCisgICAgICogTnVt
YmVyIG9mIGF2YWlsYWJsZSBtYXB0cmFjayBlbnRyaWVzLiAgRm9yIGNsZWFu
dXAgcHVycG9zZXMgaXQgaXMKKyAgICAgKiBpbXBvcnRhbnQgdG8gcmVhbGl6
ZSB0aGF0IHRoaXMgZmllbGQgYW5kIEBtYXB0cmFjayBmdXJ0aGVyIGRvd24g
d2lsbAorICAgICAqIG9ubHkgZXZlciBiZSBhY2Nlc3NlZCBieSB0aGUgbG9j
YWwgZG9tYWluLiAgVGh1cyBpdCBpcyBva2F5IHRvIGNsZWFuCisgICAgICog
dXAgZWFybHksIGFuZCB0byBzaHJpbmsgdGhlIGxpbWl0IGZvciB0aGUgcHVy
cG9zZSBvZiB0cmFja2luZyBjbGVhbnVwCisgICAgICogcHJvZ3Jlc3MuCisg
ICAgICovCiAgICAgdW5zaWduZWQgaW50ICAgICAgICAgIG1hcHRyYWNrX2xp
bWl0OwogICAgIC8qIFNoYXJlZCBncmFudCB0YWJsZSAoc2VlIGluY2x1ZGUv
cHVibGljL2dyYW50X3RhYmxlLmgpLiAqLwogICAgIHVuaW9uIHsKQEAgLTM2
MTgsOSArMzYyNCw3IEBAIGdyYW50X3RhYmxlX2NyZWF0ZSgKICAgICByZXR1
cm4gcmV0OwogfQogCi12b2lkCi1nbnR0YWJfcmVsZWFzZV9tYXBwaW5ncygK
LSAgICBzdHJ1Y3QgZG9tYWluICpkKQoraW50IGdudHRhYl9yZWxlYXNlX21h
cHBpbmdzKHN0cnVjdCBkb21haW4gKmQpCiB7CiAgICAgc3RydWN0IGdyYW50
X3RhYmxlICAgKmd0ID0gZC0+Z3JhbnRfdGFibGUsICpyZ3Q7CiAgICAgc3Ry
dWN0IGdyYW50X21hcHBpbmcgKm1hcDsKQEAgLTM2MzQsOCArMzYzOCwzMiBA
QCBnbnR0YWJfcmVsZWFzZV9tYXBwaW5ncygKIAogICAgIEJVR19PTighZC0+
aXNfZHlpbmcpOwogCi0gICAgZm9yICggaGFuZGxlID0gMDsgaGFuZGxlIDwg
Z3QtPm1hcHRyYWNrX2xpbWl0OyBoYW5kbGUrKyApCisgICAgaWYgKCAhZ3Qg
fHwgIWd0LT5tYXB0cmFjayApCisgICAgICAgIHJldHVybiAwOworCisgICAg
Zm9yICggaGFuZGxlID0gZ3QtPm1hcHRyYWNrX2xpbWl0OyBoYW5kbGU7ICkK
ICAgICB7CisgICAgICAgIC8qCisgICAgICAgICAqIERlYWwgd2l0aCBmdWxs
IHBhZ2VzIHN1Y2ggdGhhdCB0aGVpciBmcmVlaW5nIChpbiB0aGUgYm9keSBv
ZiB0aGUKKyAgICAgICAgICogaWYoKSkgcmVtYWlucyBzaW1wbGUuCisgICAg
ICAgICAqLworICAgICAgICBpZiAoIGhhbmRsZSA8IGd0LT5tYXB0cmFja19s
aW1pdCAmJiAhKGhhbmRsZSAlIE1BUFRSQUNLX1BFUl9QQUdFKSApCisgICAg
ICAgIHsKKyAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgKiBDaGFuZ2lu
ZyBtYXB0cmFja19saW1pdCBhbHRlcnMgbnJfbWFwdHJhY2tfZnJhbWVzKCkn
ZXMgcmV0dXJuCisgICAgICAgICAgICAgKiB2YWx1ZS4gRnJlZSB0aGUgdGhl
biBleGNlc3MgdHJhaWxpbmcgcGFnZSByaWdodCBoZXJlLCByYXRoZXIKKyAg
ICAgICAgICAgICAqIHRoYW4gbGVhdmluZyBpdCB0byBncmFudF90YWJsZV9k
ZXN0cm95KCkgKGFuZCBpbiB0dXJuIHJlcXVpcmluZworICAgICAgICAgICAg
ICogdG8gbGVhdmUgZ3QtPm1hcHRyYWNrX2xpbWl0IHVuYWx0ZXJlZCkuCisg
ICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIGd0LT5tYXB0cmFja19saW1p
dCA9IGhhbmRsZTsKKyAgICAgICAgICAgIEZSRUVfWEVOSEVBUF9QQUdFKGd0
LT5tYXB0cmFja1tucl9tYXB0cmFja19mcmFtZXMoZ3QpXSk7CisKKyAgICAg
ICAgICAgIGlmICggaHlwZXJjYWxsX3ByZWVtcHRfY2hlY2soKSApCisgICAg
ICAgICAgICAgICAgcmV0dXJuIC1FUkVTVEFSVDsKKyAgICAgICAgfQorCisg
ICAgICAgIC0taGFuZGxlOworCiAgICAgICAgIG1hcCA9ICZtYXB0cmFja19l
bnRyeShndCwgaGFuZGxlKTsKICAgICAgICAgaWYgKCAhKG1hcC0+ZmxhZ3Mg
JiAoR05UTUFQX2RldmljZV9tYXB8R05UTUFQX2hvc3RfbWFwKSkgKQogICAg
ICAgICAgICAgY29udGludWU7CkBAIC0zNzIzLDYgKzM3NTEsMTEgQEAgZ250
dGFiX3JlbGVhc2VfbWFwcGluZ3MoCiAKICAgICAgICAgbWFwLT5mbGFncyA9
IDA7CiAgICAgfQorCisgICAgZ3QtPm1hcHRyYWNrX2xpbWl0ID0gMDsKKyAg
ICBGUkVFX1hFTkhFQVBfUEFHRShndC0+bWFwdHJhY2tbMF0pOworCisgICAg
cmV0dXJuIDA7CiB9CiAKIHZvaWQgZ3JhbnRfdGFibGVfd2Fybl9hY3RpdmVf
Z3JhbnRzKHN0cnVjdCBkb21haW4gKmQpCkBAIC0zNzg1LDggKzM4MTgsNyBA
QCBncmFudF90YWJsZV9kZXN0cm95KAogICAgICAgICBmcmVlX3hlbmhlYXBf
cGFnZSh0LT5zaGFyZWRfcmF3W2ldKTsKICAgICB4ZnJlZSh0LT5zaGFyZWRf
cmF3KTsKIAotICAgIGZvciAoIGkgPSAwOyBpIDwgbnJfbWFwdHJhY2tfZnJh
bWVzKHQpOyBpKysgKQotICAgICAgICBmcmVlX3hlbmhlYXBfcGFnZSh0LT5t
YXB0cmFja1tpXSk7CisgICAgQVNTRVJUKCF0LT5tYXB0cmFja19saW1pdCk7
CiAgICAgdmZyZWUodC0+bWFwdHJhY2spOwogCiAgICAgZm9yICggaSA9IDA7
IGkgPCBucl9hY3RpdmVfZ3JhbnRfZnJhbWVzKHQpOyBpKysgKQotLS0gYS94
ZW4vaW5jbHVkZS94ZW4vZ3JhbnRfdGFibGUuaAorKysgYi94ZW4vaW5jbHVk
ZS94ZW4vZ3JhbnRfdGFibGUuaApAQCAtNDYsOSArNDYsNyBAQCBpbnQgZ3Jh
bnRfdGFibGVfc2V0X2xpbWl0cyhzdHJ1Y3QgZG9tYWluCiB2b2lkIGdyYW50
X3RhYmxlX3dhcm5fYWN0aXZlX2dyYW50cyhzdHJ1Y3QgZG9tYWluICpkKTsK
IAogLyogRG9tYWluIGRlYXRoIHJlbGVhc2Ugb2YgZ3JhbnRlZCBtYXBwaW5n
cyBvZiBvdGhlciBkb21haW5zJyBtZW1vcnkuICovCi12b2lkCi1nbnR0YWJf
cmVsZWFzZV9tYXBwaW5ncygKLSAgICBzdHJ1Y3QgZG9tYWluICpkKTsKK2lu
dCBnbnR0YWJfcmVsZWFzZV9tYXBwaW5ncyhzdHJ1Y3QgZG9tYWluICpkKTsK
IAogaW50IG1lbV9zaGFyaW5nX2dyZWZfdG9fZ2ZuKHN0cnVjdCBncmFudF90
YWJsZSAqZ3QsIGdyYW50X3JlZl90IHJlZiwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBnZm5fdCAqZ2ZuLCB1aW50MTZfdCAqc3RhdHVzKTsK

--=separator
Content-Type: application/octet-stream; name="xsa380/xsa380-4.11-2.patch"
Content-Disposition: attachment; filename="xsa380/xsa380-4.11-2.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBnbnR0YWI6IHJlcGxhY2UgbWFwa2luZCgpCgptYXBraW5kKCkgZG9lc24n
dCBzY2FsZSB2ZXJ5IHdlbGwgd2l0aCBsYXJnZXIgbWFwdHJhY2sgZW50cnkg
Y291bnRzLAp1c2luZyBhIGJydXRlIGZvcmNlIGxpbmVhciBzZWFyY2ggdGhy
b3VnaCBhbGwgZW50cmllcywgd2l0aCB0aGUgb25seQpvcHRpb24gb2YgYW4g
ZWFybHkgbG9vcCBleGl0IGlmIGEgbWF0Y2hpbmcgd3JpdGFibGUgZW50cnkg
d2FzIGZvdW5kLgpJbnRyb2R1Y2UgYSByYWRpeCB0cmVlIGFsb25nc2lkZSB0
aGUgbWFpbiBtYXB0cmFjayB0YWJsZSwgdGh1cwphbGxvd2luZyBtdWNoIGZh
c3RlciBNRk4tYmFzZWQgbG9va3VwLiBUbyBhdm9pZCB0aGUgbmVlZCB0byBh
Y3R1YWxseQphbGxvY2F0ZSBzcGFjZSBmb3IgdGhlIGluZGl2aWR1YWwgbm9k
ZXMsIGVuY29kZSB0aGUgdHdvIGNvdW50ZXJzIGluIHRoZQpub2RlIHBvaW50
ZXJzIHRoZW1zZWx2ZXMsIHRodXMgbGltaXRpbmcgdGhlIG51bWJlciBvZiBw
ZXJtaXR0ZWQKc2ltdWx0YW5lb3VzIHIvbyBhbmQgci93IG1hcHBpbmdzIG9m
IHRoZSBzYW1lIE1GTiB0byAywrPCuS0xICg2NC1iaXQpIC8KMsK54oG1LTEg
KDMyLWJpdCkgZWFjaC4KClRvIGF2b2lkIGVuZm9yY2luZyBhbiB1bm5lY2Vz
c2FyaWx5IGxvdyBib3VuZCBvbiB0aGUgbnVtYmVyIG9mCnNpbXVsdGFuZW91
cyBtYXBwaW5ncyBvZiBhIHNpbmdsZSBNRk4sIGludHJvZHVjZQpyYWRpeF90
cmVlX3t1bG9uZ190b19wdHIscHRyX3RvX3Vsb25nfSBwYXJhbGxlbGluZwpy
YWRpeF90cmVlX3tpbnRfdG9fcHRyLHB0cl90b19pbnR9LgoKQXMgYSBjb25z
ZXF1ZW5jZSBsb2NraW5nIGNoYW5nZXMgYXJlIGFsc28gYXBwbGljYWJsZTog
V2l0aCB0aGVyZSBubwpsb25nZXIgYmVpbmcgYW55IGluc3BlY3Rpb24gb2Yg
dGhlIHJlbW90ZSBkb21haW4ncyBhY3RpdmUgZW50cmllcywKdGhlcmUncyBh
bHNvIG5vIG5lZWQgYW55bW9yZSB0byBob2xkIHRoZSByZW1vdGUgZG9tYWlu
J3MgZ3JhbnQgdGFibGUKbG9jay4gQW5kIHNpbmNlIHdlJ3JlIG5vIGxvbmdl
ciBpdGVyYXRpbmcgb3ZlciB0aGUgbG9jYWwgZG9tYWluJ3MgbWFwCnRyYWNr
IHRhYmxlLCB0aGUgbG9jayBpbiBtYXBfZ3JhbnRfcmVmKCkgY2FuIGFsc28g
YmUgZHJvcHBlZCBiZWZvcmUgdGhlCm5ldyBtYXB0cmFjayBlbnRyeSBhY3R1
YWxseSBnZXRzIHBvcHVsYXRlZC4KCkFzIGEgbmljZSBzaWRlIGVmZmVjdCB0
aGlzIGFsc28gcmVkdWNlcyB0aGUgbnVtYmVyIG9mIElPTU1VIG9wZXJhdGlv
bnMKaW4gdW5tYXBfY29tbW9uKCk6IFByZXZpb3VzbHkgd2Ugd291bGQgaGF2
ZSAiZXN0YWJsaXNoZWQiIGEgcmVhZGFibGUKbWFwcGluZyB3aGVuZXZlciB3
ZSBkaWRuJ3QgZmluZCBhIHdyaXRhYmxlIGVudHJ5IGFueW1vcmUgKHlldCwg
b2YKY291cnNlLCBhdCBsZWFzdCBvbmUgcmVhZGFibGUgb25lKS4gQnV0IHdl
IG9ubHkgbmVlZCB0byBkbyB0aGlzIGlmIHdlCmFjdHVhbGx5IGRyb3BwZWQg
dGhlIGxhc3Qgd3JpdGFibGUgZW50cnksIG5vdCBpZiB0aGVyZSB3ZXJlIG5v
bmUgYWxyZWFkeQpiZWZvcmUuCgpUaGlzIGlzIHBhcnQgb2YgQ1ZFLTIwMjEt
Mjg2OTggLyBYU0EtMzgwLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2gg
PGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTogSnVsaWVuIEdyYWxs
IDxqZ3JhbGxAYW1hem9uLmNvbT4KCi0tLSBhL3hlbi9jb21tb24vZ3JhbnRf
dGFibGUuYworKysgYi94ZW4vY29tbW9uL2dyYW50X3RhYmxlLmMKQEAgLTM2
LDYgKzM2LDcgQEAKICNpbmNsdWRlIDx4ZW4vaW9tbXUuaD4KICNpbmNsdWRl
IDx4ZW4vcGFnaW5nLmg+CiAjaW5jbHVkZSA8eGVuL2tleWhhbmRsZXIuaD4K
KyNpbmNsdWRlIDx4ZW4vcmFkaXgtdHJlZS5oPgogI2luY2x1ZGUgPHhlbi92
bWFwLmg+CiAjaW5jbHVkZSA8eHNtL3hzbS5oPgogI2luY2x1ZGUgPGFzbS9m
bHVzaHRsYi5oPgpAQCAtODAsOCArODEsMTMgQEAgc3RydWN0IGdyYW50X3Rh
YmxlIHsKICAgICBncmFudF9zdGF0dXNfdCAgICAgICAqKnN0YXR1czsKICAg
ICAvKiBBY3RpdmUgZ3JhbnQgdGFibGUuICovCiAgICAgc3RydWN0IGFjdGl2
ZV9ncmFudF9lbnRyeSAqKmFjdGl2ZTsKLSAgICAvKiBNYXBwaW5nIHRyYWNr
aW5nIHRhYmxlIHBlciB2Y3B1LiAqLworICAgIC8qIEhhbmRsZS1pbmRleGVk
IHRyYWNraW5nIHRhYmxlIG9mIG1hcHBpbmdzLiAqLwogICAgIHN0cnVjdCBn
cmFudF9tYXBwaW5nICoqbWFwdHJhY2s7CisgICAgLyoKKyAgICAgKiBNRk4t
aW5kZXhlZCB0cmFja2luZyB0cmVlIG9mIG1hcHBpbmdzLCBpZiBuZWVkZWQu
ICBOb3RlIHRoYXQgdGhpcyBpcworICAgICAqIHByb3RlY3RlZCBieSBAbG9j
aywgbm90IEBtYXB0cmFja19sb2NrLgorICAgICAqLworICAgIHN0cnVjdCBy
YWRpeF90cmVlX3Jvb3QgbWFwdHJhY2tfdHJlZTsKIAogICAgIC8qIERvbWFp
biB0byB3aGljaCB0aGlzIHN0cnVjdCBncmFudF90YWJsZSBiZWxvbmdzLiAq
LwogICAgIGNvbnN0IHN0cnVjdCBkb21haW4gKmRvbWFpbjsKQEAgLTQyMSwz
NCArNDI3LDYgQEAgc3RhdGljIGludCBnZXRfcGFnZWRfZnJhbWUodW5zaWdu
ZWQgbG9uZwogICAgIHJldHVybiByYzsKIH0KIAotc3RhdGljIGlubGluZSB2
b2lkCi1kb3VibGVfZ3RfbG9jayhzdHJ1Y3QgZ3JhbnRfdGFibGUgKmxndCwg
c3RydWN0IGdyYW50X3RhYmxlICpyZ3QpCi17Ci0gICAgLyoKLSAgICAgKiBT
ZWUgbWFwa2luZCgpIGZvciB3aHkgdGhlIHdyaXRlIGxvY2sgaXMgYWxzbyBy
ZXF1aXJlZCBmb3IgdGhlCi0gICAgICogcmVtb3RlIGRvbWFpbi4KLSAgICAg
Ki8KLSAgICBpZiAoIGxndCA8IHJndCApCi0gICAgewotICAgICAgICBncmFu
dF93cml0ZV9sb2NrKGxndCk7Ci0gICAgICAgIGdyYW50X3dyaXRlX2xvY2so
cmd0KTsKLSAgICB9Ci0gICAgZWxzZQotICAgIHsKLSAgICAgICAgaWYgKCBs
Z3QgIT0gcmd0ICkKLSAgICAgICAgICAgIGdyYW50X3dyaXRlX2xvY2socmd0
KTsKLSAgICAgICAgZ3JhbnRfd3JpdGVfbG9jayhsZ3QpOwotICAgIH0KLX0K
LQotc3RhdGljIGlubGluZSB2b2lkCi1kb3VibGVfZ3RfdW5sb2NrKHN0cnVj
dCBncmFudF90YWJsZSAqbGd0LCBzdHJ1Y3QgZ3JhbnRfdGFibGUgKnJndCkK
LXsKLSAgICBncmFudF93cml0ZV91bmxvY2sobGd0KTsKLSAgICBpZiAoIGxn
dCAhPSByZ3QgKQotICAgICAgICBncmFudF93cml0ZV91bmxvY2socmd0KTsK
LX0KLQogI2RlZmluZSBJTlZBTElEX01BUFRSQUNLX0hBTkRMRSBVSU5UX01B
WAogCiBzdGF0aWMgaW5saW5lIGdyYW50X2hhbmRsZV90CkBAIC04NzEsNDEg
Kzg0OSwxNyBAQCBzdGF0aWMgc3RydWN0IGFjdGl2ZV9ncmFudF9lbnRyeSAq
Z3JhbnRfCiAgICAgcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7CiB9CiAKLSNk
ZWZpbmUgTUFQS0lORF9SRUFEIDEKLSNkZWZpbmUgTUFQS0lORF9XUklURSAy
Ci1zdGF0aWMgdW5zaWduZWQgaW50IG1hcGtpbmQoCi0gICAgc3RydWN0IGdy
YW50X3RhYmxlICpsZ3QsIGNvbnN0IHN0cnVjdCBkb21haW4gKnJkLCBtZm5f
dCBtZm4pCi17Ci0gICAgc3RydWN0IGdyYW50X21hcHBpbmcgKm1hcDsKLSAg
ICBncmFudF9oYW5kbGVfdCBoYW5kbGUsIGxpbWl0ID0gbGd0LT5tYXB0cmFj
a19saW1pdDsKLSAgICB1bnNpZ25lZCBpbnQga2luZCA9IDA7Ci0KLSAgICAv
KgotICAgICAqIE11c3QgaGF2ZSB0aGUgbG9jYWwgZG9tYWluJ3MgZ3JhbnQg
dGFibGUgd3JpdGUgbG9jayB3aGVuCi0gICAgICogaXRlcmF0aW5nIG92ZXIg
aXRzIG1hcHRyYWNrIGVudHJpZXMuCi0gICAgICovCi0gICAgQVNTRVJUKHBl
cmNwdV9yd19pc193cml0ZV9sb2NrZWQoJmxndC0+bG9jaykpOwotICAgIC8q
Ci0gICAgICogTXVzdCBoYXZlIHRoZSByZW1vdGUgZG9tYWluJ3MgZ3JhbnQg
dGFibGUgd3JpdGUgbG9jayB3aGlsZQotICAgICAqIGNvdW50aW5nIGl0cyBh
Y3RpdmUgZW50cmllcy4KLSAgICAgKi8KLSAgICBBU1NFUlQocGVyY3B1X3J3
X2lzX3dyaXRlX2xvY2tlZCgmcmQtPmdyYW50X3RhYmxlLT5sb2NrKSk7Ci0K
LSAgICBzbXBfcm1iKCk7Ci0KLSAgICBmb3IgKCBoYW5kbGUgPSAwOyAhKGtp
bmQgJiBNQVBLSU5EX1dSSVRFKSAmJiBoYW5kbGUgPCBsaW1pdDsgaGFuZGxl
KysgKQotICAgIHsKLSAgICAgICAgbWFwID0gJm1hcHRyYWNrX2VudHJ5KGxn
dCwgaGFuZGxlKTsKLSAgICAgICAgaWYgKCAhKG1hcC0+ZmxhZ3MgJiAoR05U
TUFQX2RldmljZV9tYXB8R05UTUFQX2hvc3RfbWFwKSkgfHwKLSAgICAgICAg
ICAgICBtYXAtPmRvbWlkICE9IHJkLT5kb21haW5faWQgKQotICAgICAgICAg
ICAgY29udGludWU7Ci0gICAgICAgIGlmICggbWZuX2VxKF9hY3RpdmVfZW50
cnkocmQtPmdyYW50X3RhYmxlLCBtYXAtPnJlZikuZnJhbWUsIG1mbikgKQot
ICAgICAgICAgICAga2luZCB8PSBtYXAtPmZsYWdzICYgR05UTUFQX3JlYWRv
bmx5ID8KLSAgICAgICAgICAgICAgICAgICAgTUFQS0lORF9SRUFEIDogTUFQ
S0lORF9XUklURTsKLSAgICB9Ci0KLSAgICByZXR1cm4ga2luZDsKLX0KK3Vu
aW9uIG1hcHRyYWNrX25vZGUgeworICAgIHN0cnVjdCB7CisgICAgICAgIC8q
IFJhZGl4IHRyZWUgc2xvdCBwb2ludGVycyB1c2UgdHdvIG9mIHRoZSBiaXRz
LiAqLworI2lmZGVmIF9fQklHX0VORElBTl9CSVRGSUVMRAorICAgICAgICB1
bnNpZ25lZCBsb25nICAgIDogMjsKKyNlbmRpZgorICAgICAgICB1bnNpZ25l
ZCBsb25nIHJkIDogQklUU19QRVJfTE9ORyAvIDIgLSAxOworICAgICAgICB1
bnNpZ25lZCBsb25nIHdyIDogQklUU19QRVJfTE9ORyAvIDIgLSAxOworICAg
IH0gY250OworICAgIHVuc2lnbmVkIGxvbmcgcmF3OworfTsKIAogLyoKICAq
IFJldHVybnMgMCBpZiBUTEIgZmx1c2ggLyBpbnZhbGlkYXRlIHJlcXVpcmVk
IGJ5IGNhbGxlci4KQEAgLTkzMSw3ICs4ODUsNiBAQCBtYXBfZ3JhbnRfcmVm
KAogICAgIHN0cnVjdCBncmFudF9tYXBwaW5nICptdDsKICAgICBncmFudF9l
bnRyeV9oZWFkZXJfdCAqc2hhaDsKICAgICB1aW50MTZfdCAqc3RhdHVzOwot
ICAgIGJvb2xfdCBuZWVkX2lvbW11OwogCiAgICAgbGVkID0gY3VycmVudDsK
ICAgICBsZCA9IGxlZC0+ZG9tYWluOwpAQCAtMTEzOSwzMSArMTA5Miw3NSBA
QCBtYXBfZ3JhbnRfcmVmKAogICAgICAgICBnb3RvIHVuZG9fb3V0OwogICAg
IH0KIAotICAgIG5lZWRfaW9tbXUgPSBnbnR0YWJfbmVlZF9pb21tdV9tYXBw
aW5nKGxkKTsKLSAgICBpZiAoIG5lZWRfaW9tbXUgKQorICAgIGlmICggZ250
dGFiX25lZWRfaW9tbXVfbWFwcGluZyhsZCkgKQogICAgIHsKKyAgICAgICAg
dW5pb24gbWFwdHJhY2tfbm9kZSBub2RlID0geworICAgICAgICAgICAgLmNu
dC5yZCA9ICEhKG9wLT5mbGFncyAmIEdOVE1BUF9yZWFkb25seSksCisgICAg
ICAgICAgICAuY250LndyID0gIShvcC0+ZmxhZ3MgJiBHTlRNQVBfcmVhZG9u
bHkpLAorICAgICAgICB9OworICAgICAgICBpbnQgZXJyOworICAgICAgICB2
b2lkICoqc2xvdCA9IE5VTEw7CiAgICAgICAgIHVuc2lnbmVkIGludCBraW5k
OwogCi0gICAgICAgIGRvdWJsZV9ndF9sb2NrKGxndCwgcmd0KTsKKyAgICAg
ICAgZ3JhbnRfd3JpdGVfbG9jayhsZ3QpOworCisgICAgICAgIGVyciA9IHJh
ZGl4X3RyZWVfaW5zZXJ0KCZsZ3QtPm1hcHRyYWNrX3RyZWUsIG1mbl94KGZy
YW1lKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFkaXhf
dHJlZV91bG9uZ190b19wdHIobm9kZS5yYXcpKTsKKyAgICAgICAgaWYgKCBl
cnIgPT0gLUVFWElTVCApCisgICAgICAgIHsKKyAgICAgICAgICAgIHNsb3Qg
PSByYWRpeF90cmVlX2xvb2t1cF9zbG90KCZsZ3QtPm1hcHRyYWNrX3RyZWUs
IG1mbl94KGZyYW1lKSk7CisgICAgICAgICAgICBpZiAoIGxpa2VseShzbG90
KSApCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgbm9kZS5yYXcg
PSByYWRpeF90cmVlX3B0cl90b191bG9uZygqc2xvdCk7CisgICAgICAgICAg
ICAgICAgZXJyID0gLUVCVVNZOworCisgICAgICAgICAgICAgICAgLyogVXBk
YXRlIG5vZGUgb25seSB3aGVuIHJlZmNvdW50IGRvZXNuJ3Qgb3ZlcmZsb3cu
ICovCisgICAgICAgICAgICAgICAgaWYgKCBvcC0+ZmxhZ3MgJiBHTlRNQVBf
cmVhZG9ubHkgPyArK25vZGUuY250LnJkCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiArK25vZGUuY250Lndy
ICkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIHJh
ZGl4X3RyZWVfcmVwbGFjZV9zbG90KHNsb3QsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhZGl4X3RyZWVfdWxvbmdf
dG9fcHRyKG5vZGUucmF3KSk7CisgICAgICAgICAgICAgICAgICAgIGVyciA9
IDA7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAg
ICAgICAgZWxzZQorICAgICAgICAgICAgICAgIEFTU0VSVF9VTlJFQUNIQUJM
RSgpOworICAgICAgICB9CiAKICAgICAgICAgLyoKICAgICAgICAgICogV2Un
cmUgbm90IHRyYW5zbGF0ZWQsIHNvIHdlIGtub3cgdGhhdCBkZm5zIGFuZCBt
Zm5zIGFyZQogICAgICAgICAgKiB0aGUgc2FtZSB0aGluZ3MsIHNvIHRoZSBJ
T01NVSBlbnRyeSBpcyBhbHdheXMgMS10by0xLgogICAgICAgICAgKi8KLSAg
ICAgICAga2luZCA9IG1hcGtpbmQobGd0LCByZCwgZnJhbWUpOwotICAgICAg
ICBpZiAoICEob3AtPmZsYWdzICYgR05UTUFQX3JlYWRvbmx5KSAmJgotICAg
ICAgICAgICAgICEoa2luZCAmIE1BUEtJTkRfV1JJVEUpICkKKyAgICAgICAg
aWYgKCAhKG9wLT5mbGFncyAmIEdOVE1BUF9yZWFkb25seSkgJiYgbm9kZS5j
bnQud3IgPT0gMSApCiAgICAgICAgICAgICBraW5kID0gSU9NTVVGX3JlYWRh
YmxlIHwgSU9NTVVGX3dyaXRhYmxlOwotICAgICAgICBlbHNlIGlmICggIWtp
bmQgKQorICAgICAgICBlbHNlIGlmICggKG9wLT5mbGFncyAmIEdOVE1BUF9y
ZWFkb25seSkgJiYKKyAgICAgICAgICAgICAgICAgIG5vZGUuY250LnJkID09
IDEgJiYgIW5vZGUuY250LndyICkKICAgICAgICAgICAgIGtpbmQgPSBJT01N
VUZfcmVhZGFibGU7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGtpbmQg
PSAwOwotICAgICAgICBpZiAoIGtpbmQgJiYgaW9tbXVfbWFwX3BhZ2UobGQs
IG1mbl94KGZyYW1lKSwgbWZuX3goZnJhbWUpLCBraW5kKSApCisgICAgICAg
IGlmICggZXJyIHx8CisgICAgICAgICAgICAgKGtpbmQgJiYgaW9tbXVfbWFw
X3BhZ2UobGQsIG1mbl94KGZyYW1lKSwgbWZuX3goZnJhbWUpLCBraW5kKSkg
KQogICAgICAgICB7Ci0gICAgICAgICAgICBkb3VibGVfZ3RfdW5sb2NrKGxn
dCwgcmd0KTsKKyAgICAgICAgICAgIGlmICggIWVyciApCisgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgaWYgKCBzbG90ICkKKyAgICAgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgICAgIG9wLT5mbGFncyAmIEdOVE1B
UF9yZWFkb25seSA/IG5vZGUuY250LnJkLS0KKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbm9kZS5jbnQud3It
LTsKKyAgICAgICAgICAgICAgICAgICAgcmFkaXhfdHJlZV9yZXBsYWNlX3Ns
b3Qoc2xvdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcmFkaXhfdHJlZV91bG9uZ190b19wdHIobm9kZS5yYXcpKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZWxzZQorICAg
ICAgICAgICAgICAgICAgICByYWRpeF90cmVlX2RlbGV0ZSgmbGd0LT5tYXB0
cmFja190cmVlLCBtZm5feChmcmFtZSkpOworICAgICAgICAgICAgfQorCiAg
ICAgICAgICAgICByYyA9IEdOVFNUX2dlbmVyYWxfZXJyb3I7Ci0gICAgICAg
ICAgICBnb3RvIHVuZG9fb3V0OwogICAgICAgICB9CisKKyAgICAgICAgZ3Jh
bnRfd3JpdGVfdW5sb2NrKGxndCk7CisKKyAgICAgICAgaWYgKCByYyAhPSBH
TlRTVF9va2F5ICkKKyAgICAgICAgICAgIGdvdG8gdW5kb19vdXQ7CiAgICAg
fQogCiAgICAgVFJBQ0VfMUQoVFJDX01FTV9QQUdFX0dSQU5UX01BUCwgb3At
PmRvbSk7CkBAIC0xMTcxLDEwICsxMTY4LDYgQEAgbWFwX2dyYW50X3JlZigK
ICAgICAvKgogICAgICAqIEFsbCBtYXB0cmFjayBlbnRyeSB1c2VycyBjaGVj
ayBtdC0+ZmxhZ3MgZmlyc3QgYmVmb3JlIHVzaW5nIHRoZQogICAgICAqIG90
aGVyIGZpZWxkcyBzbyBqdXN0IGVuc3VyZSB0aGUgZmxhZ3MgZmllbGQgaXMg
c3RvcmVkIGxhc3QuCi0gICAgICoKLSAgICAgKiBIb3dldmVyLCBpZiBnbnR0
YWJfbmVlZF9pb21tdV9tYXBwaW5nKCkgdGhlbiB0aGlzIHdvdWxkIHJhY2UK
LSAgICAgKiB3aXRoIGEgY29uY3VycmVudCBtYXBraW5kKCkgY2FsbCAob24g
YW4gdW5tYXAsIGZvciBleGFtcGxlKQotICAgICAqIGFuZCBhIGxvY2sgaXMg
cmVxdWlyZWQuCiAgICAgICovCiAgICAgbXQgPSAmbWFwdHJhY2tfZW50cnko
bGd0LCBoYW5kbGUpOwogICAgIG10LT5kb21pZCA9IG9wLT5kb207CkBAIC0x
MTgyLDkgKzExNzUsNiBAQCBtYXBfZ3JhbnRfcmVmKAogICAgIHNtcF93bWIo
KTsKICAgICB3cml0ZV9hdG9taWMoJm10LT5mbGFncywgb3AtPmZsYWdzKTsK
IAotICAgIGlmICggbmVlZF9pb21tdSApCi0gICAgICAgIGRvdWJsZV9ndF91
bmxvY2sobGd0LCByZ3QpOwotCiAgICAgb3AtPmRldl9idXNfYWRkciA9IG1m
bl90b19tYWRkcihmcmFtZSk7CiAgICAgb3AtPmhhbmRsZSAgICAgICA9IGhh
bmRsZTsKICAgICBvcC0+c3RhdHVzICAgICAgID0gR05UU1Rfb2theTsKQEAg
LTE0MTEsMTkgKzE0MDEsMzQgQEAgdW5tYXBfY29tbW9uKAogCiAgICAgaWYg
KCByYyA9PSBHTlRTVF9va2F5ICYmIGdudHRhYl9uZWVkX2lvbW11X21hcHBp
bmcobGQpICkKICAgICB7Ci0gICAgICAgIHVuc2lnbmVkIGludCBraW5kOwor
ICAgICAgICB2b2lkICoqc2xvdDsKKyAgICAgICAgdW5pb24gbWFwdHJhY2tf
bm9kZSBub2RlOwogICAgICAgICBpbnQgZXJyID0gMDsKIAotICAgICAgICBk
b3VibGVfZ3RfbG9jayhsZ3QsIHJndCk7CisgICAgICAgIGdyYW50X3dyaXRl
X2xvY2sobGd0KTsKKyAgICAgICAgc2xvdCA9IHJhZGl4X3RyZWVfbG9va3Vw
X3Nsb3QoJmxndC0+bWFwdHJhY2tfdHJlZSwgbWZuX3gob3AtPmZyYW1lKSk7
CisgICAgICAgIG5vZGUucmF3ID0gbGlrZWx5KHNsb3QpID8gcmFkaXhfdHJl
ZV9wdHJfdG9fdWxvbmcoKnNsb3QpIDogMDsKKworICAgICAgICAvKiBSZWZj
b3VudCBtdXN0IG5vdCB1bmRlcmZsb3cuICovCisgICAgICAgIGlmICggIShm
bGFncyAmIEdOVE1BUF9yZWFkb25seSA/IG5vZGUuY250LnJkLS0KKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbm9kZS5jbnQu
d3ItLSkgKQorICAgICAgICAgICAgQlVHKCk7CiAKLSAgICAgICAga2luZCA9
IG1hcGtpbmQobGd0LCByZCwgb3AtPmZyYW1lKTsKLSAgICAgICAgaWYgKCAh
a2luZCApCisgICAgICAgIGlmICggIW5vZGUucmF3ICkKICAgICAgICAgICAg
IGVyciA9IGlvbW11X3VubWFwX3BhZ2UobGQsIG1mbl94KG9wLT5mcmFtZSkp
OwotICAgICAgICBlbHNlIGlmICggIShraW5kICYgTUFQS0lORF9XUklURSkg
KQorICAgICAgICBlbHNlIGlmICggIShmbGFncyAmIEdOVE1BUF9yZWFkb25s
eSkgJiYgIW5vZGUuY250LndyICkKICAgICAgICAgICAgIGVyciA9IGlvbW11
X21hcF9wYWdlKGxkLCBtZm5feChvcC0+ZnJhbWUpLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbWZuX3gob3AtPmZyYW1lKSwgSU9NTVVG
X3JlYWRhYmxlKTsKIAotICAgICAgICBkb3VibGVfZ3RfdW5sb2NrKGxndCwg
cmd0KTsKKyAgICAgICAgaWYgKCBlcnIgKQorICAgICAgICAgICAgOworICAg
ICAgICBlbHNlIGlmICggIW5vZGUucmF3ICkKKyAgICAgICAgICAgIHJhZGl4
X3RyZWVfZGVsZXRlKCZsZ3QtPm1hcHRyYWNrX3RyZWUsIG1mbl94KG9wLT5m
cmFtZSkpOworICAgICAgICBlbHNlCisgICAgICAgICAgICByYWRpeF90cmVl
X3JlcGxhY2Vfc2xvdChzbG90LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcmFkaXhfdHJlZV91bG9uZ190b19wdHIobm9kZS5yYXcp
KTsKKworICAgICAgICBncmFudF93cml0ZV91bmxvY2sobGd0KTsKIAogICAg
ICAgICBpZiAoIGVyciApCiAgICAgICAgICAgICByYyA9IEdOVFNUX2dlbmVy
YWxfZXJyb3I7CkBAIC0xODU0LDYgKzE4NTksOCBAQCBncmFudF90YWJsZV9p
bml0KHN0cnVjdCBkb21haW4gKmQsIHN0cnVjCiAgICAgICAgIGd0LT5tYXB0
cmFjayA9IHZ6YWxsb2MoZ3QtPm1heF9tYXB0cmFja19mcmFtZXMgKiBzaXpl
b2YoKmd0LT5tYXB0cmFjaykpOwogICAgICAgICBpZiAoIGd0LT5tYXB0cmFj
ayA9PSBOVUxMICkKICAgICAgICAgICAgIGdvdG8gb3V0OworCisgICAgICAg
IHJhZGl4X3RyZWVfaW5pdCgmZ3QtPm1hcHRyYWNrX3RyZWUpOwogICAgIH0K
IAogICAgIC8qIFNoYXJlZCBncmFudCB0YWJsZS4gKi8KQEAgLTM2NDMsNiAr
MzY1MCw4IEBAIGludCBnbnR0YWJfcmVsZWFzZV9tYXBwaW5ncyhzdHJ1Y3Qg
ZG9tYWkKIAogICAgIGZvciAoIGhhbmRsZSA9IGd0LT5tYXB0cmFja19saW1p
dDsgaGFuZGxlOyApCiAgICAgeworICAgICAgICBtZm5fdCBtZm47CisKICAg
ICAgICAgLyoKICAgICAgICAgICogRGVhbCB3aXRoIGZ1bGwgcGFnZXMgc3Vj
aCB0aGF0IHRoZWlyIGZyZWVpbmcgKGluIHRoZSBib2R5IG9mIHRoZQogICAg
ICAgICAgKiBpZigpKSByZW1haW5zIHNpbXBsZS4KQEAgLTM3NDQsMTcgKzM3
NTMsMzEgQEAgaW50IGdudHRhYl9yZWxlYXNlX21hcHBpbmdzKHN0cnVjdCBk
b21haQogICAgICAgICBpZiAoIGFjdC0+cGluID09IDAgKQogICAgICAgICAg
ICAgZ250dGFiX2NsZWFyX2ZsYWcocmQsIF9HVEZfcmVhZGluZywgc3RhdHVz
KTsKIAorICAgICAgICBtZm4gPSBhY3QtPmZyYW1lOworCiAgICAgICAgIGFj
dGl2ZV9lbnRyeV9yZWxlYXNlKGFjdCk7CiAgICAgICAgIGdyYW50X3JlYWRf
dW5sb2NrKHJndCk7CiAKICAgICAgICAgcmN1X3VubG9ja19kb21haW4ocmQp
OwogCiAgICAgICAgIG1hcC0+ZmxhZ3MgPSAwOworCisgICAgICAgIC8qCisg
ICAgICAgICAqIFRoaXMgaXMgZXhjZXNzaXZlIGluIHRoYXQgYSBzaW5nbGUg
c3VjaCBjYWxsIHdvdWxkIHN1ZmZpY2UgcGVyCisgICAgICAgICAqIG1hcHBl
ZCBNRk4gKG9yIG5vbmUgYXQgYWxsLCBpZiBubyBlbnRyeSB3YXMgZXZlciBp
bnNlcnRlZCkuIEJ1dCBpdAorICAgICAgICAgKiBzaG91bGQgYmUgdGhlIGNv
bW1vbiBjYXNlIGZvciBhbiBNRk4gdG8gYmUgbWFwcGVkIGp1c3Qgb25jZSwg
YW5kCisgICAgICAgICAqIHRoaXMgd2F5IHdlIGRvbid0IG5lZWQgdG8gZnVy
dGhlciBtYWludGFpbiB0aGUgY291bnRlcnMuIFdlIGFsc28KKyAgICAgICAg
ICogZG9uJ3Qgd2FudCB0byBsZWF2ZSBjbGVhbmluZyB1cCBvZiB0aGUgdHJl
ZSBhcyBhIHdob2xlIHRvIHRoZSBlbmQKKyAgICAgICAgICogb2YgdGhlIGZ1
bmN0aW9uLCBhcyB0aGlzIGNvdWxkIHRha2UgcXVpdGUgc29tZSB0aW1lLgor
ICAgICAgICAgKi8KKyAgICAgICAgcmFkaXhfdHJlZV9kZWxldGUoJmd0LT5t
YXB0cmFja190cmVlLCBtZm5feChtZm4pKTsKICAgICB9CiAKICAgICBndC0+
bWFwdHJhY2tfbGltaXQgPSAwOwogICAgIEZSRUVfWEVOSEVBUF9QQUdFKGd0
LT5tYXB0cmFja1swXSk7CiAKKyAgICByYWRpeF90cmVlX2Rlc3Ryb3koJmd0
LT5tYXB0cmFja190cmVlLCBOVUxMKTsKKwogICAgIHJldHVybiAwOwogfQog
Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi9yYWRpeC10cmVlLmgKKysrIGIveGVu
L2luY2x1ZGUveGVuL3JhZGl4LXRyZWUuaApAQCAtMTkwLDYgKzE5MCwyNSBA
QCBzdGF0aWMgaW5saW5lIGludCByYWRpeF90cmVlX3B0cl90b19pbnQoCiAg
ICAgcmV0dXJuIChpbnQpKChsb25nKXB0ciA+PiAyKTsKIH0KIAorLyoqCisg
KiByYWRpeF90cmVlX3t1bG9uZ190b19wdHIscHRyX3RvX3Vsb25nfToKKyAq
CisgKiBTYW1lIGZvciB1bnNpZ25lZCBsb25nIHZhbHVlcy4gQmV3YXJlIHRo
b3VnaCB0aGF0IG9ubHkgQklUU19QRVJfTE9ORy0yCisgKiBiaXRzIGFyZSBh
Y3R1YWxseSB1c2FibGUgZm9yIHRoZSB2YWx1ZS4KKyAqLworc3RhdGljIGlu
bGluZSB2b2lkICpyYWRpeF90cmVlX3Vsb25nX3RvX3B0cih1bnNpZ25lZCBs
b25nIHZhbCkKK3sKKyAgICB1bnNpZ25lZCBsb25nIHB0ciA9ICh2YWwgPDwg
MikgfCAweDI7CisgICAgQVNTRVJUKChwdHIgPj4gMikgPT0gdmFsKTsKKyAg
ICByZXR1cm4gKHZvaWQgKilwdHI7Cit9CisKK3N0YXRpYyBpbmxpbmUgdW5z
aWduZWQgbG9uZyByYWRpeF90cmVlX3B0cl90b191bG9uZyh2b2lkICpwdHIp
Cit7CisgICAgQVNTRVJUKCgodW5zaWduZWQgbG9uZylwdHIgJiAweDMpID09
IDB4Mik7CisgICAgcmV0dXJuICh1bnNpZ25lZCBsb25nKXB0ciA+PiAyOwor
fQorCiBpbnQgcmFkaXhfdHJlZV9pbnNlcnQoc3RydWN0IHJhZGl4X3RyZWVf
cm9vdCAqLCB1bnNpZ25lZCBsb25nLCB2b2lkICopOwogdm9pZCAqcmFkaXhf
dHJlZV9sb29rdXAoc3RydWN0IHJhZGl4X3RyZWVfcm9vdCAqLCB1bnNpZ25l
ZCBsb25nKTsKIHZvaWQgKipyYWRpeF90cmVlX2xvb2t1cF9zbG90KHN0cnVj
dCByYWRpeF90cmVlX3Jvb3QgKiwgdW5zaWduZWQgbG9uZyk7Cg==

--=separator
Content-Type: application/octet-stream; name="xsa380/xsa380-4.12-1.patch"
Content-Disposition: attachment; filename="xsa380/xsa380-4.12-1.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBnbnR0YWI6IGFkZCBwcmVlbXB0aW9uIGNoZWNrIHRvIGdudHRhYl9yZWxl
YXNlX21hcHBpbmdzKCkKCkEgZ3Vlc3QgbWF5IGRpZSB3aXRoIG1hbnkgZ3Jh
bnQgbWFwcGluZ3Mgc3RpbGwgaW4gcGxhY2UsIG9yIHNpbXBseSB3aXRoCmEg
bGFyZ2UgbWFwdHJhY2sgdGFibGUuIEl0ZXJhdGluZyB0aHJvdWdoIHRoaXMg
bWF5IHRha2UgbW9yZSB0aW1lIHRoYW4KaXMgcmVhc29uYWJsZSB3aXRob3V0
IGludGVybWVkaWF0ZSBwcmVlbXB0aW9uICh0byBydW4gc29mdGlycXMgYW5k
CnBlcmhhcHMgdGhlIHNjaGVkdWxlcikuCgpNb3ZlIHRoZSBpbnZvY2F0aW9u
IG9mIHRoZSBmdW5jdGlvbiB0byB0aGUgc2VjdGlvbiB3aGVyZSBvdGhlcgpy
ZXN0YXJ0YWJsZSBmdW5jdGlvbnMgZ2V0IGludm9rZWQsIGFuZCBoYXZlIHRo
ZSBmdW5jdGlvbiBpdHNlbGYgY2hlY2sKZm9yIHByZWVtcHRpb24gZXZlcnkg
b25jZSBpbiBhIHdoaWxlLiBIYXZlIGl0IGl0ZXJhdGUgdGhlIHRhYmxlCmJh
Y2t3YXJkcywgc3VjaCB0aGF0IGRlY3JlYXNpbmcgdGhlIG1hcHRyYWNrIGxp
bWl0IGlzIGFsbCBpdCB0YWtlcyB0bwpjb252ZXkgcmVzdGFydCBpbmZvcm1h
dGlvbi4KCkluIGRvbWFpbl90ZWFyZG93bigpIGludHJvZHVjZSBQUk9HX25v
bmUgc3VjaCB0aGF0IGluc2VydGluZyBhdCB0aGUKZnJvbnQgd2lsbCBiZSBl
YXNpZXIgZ29pbmcgZm9yd2FyZC4KClRoaXMgaXMgcGFydCBvZiBDVkUtMjAy
MS0yODY5OCAvIFhTQS0zODAuCgpSZXBvcnRlZC1ieTogQW5kcmV3IENvb3Bl
ciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KU2lnbmVkLW9mZi1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTog
SnVsaWVuIEdyYWxsIDxqZ3JhbGxAYW1hem9uLmNvbT4KCi0tLSBhL3hlbi9j
b21tb24vZG9tYWluLmMKKysrIGIveGVuL2NvbW1vbi9kb21haW4uYwpAQCAt
NzI0LDEzICs3MjQsMTUgQEAgaW50IGRvbWFpbl9raWxsKHN0cnVjdCBkb21h
aW4gKmQpCiAgICAgICAgICAgICByZXR1cm4gZG9tYWluX2tpbGwoZCk7CiAg
ICAgICAgIGQtPmlzX2R5aW5nID0gRE9NRFlJTkdfZHlpbmc7CiAgICAgICAg
IGFyZ29fZGVzdHJveShkKTsKLSAgICAgICAgZ250dGFiX3JlbGVhc2VfbWFw
cGluZ3MoZCk7CiAgICAgICAgIHRtZW1fZGVzdHJveShkLT50bWVtX2NsaWVu
dCk7CiAgICAgICAgIHZudW1hX2Rlc3Ryb3koZC0+dm51bWEpOwogICAgICAg
ICBkb21haW5fc2V0X291dHN0YW5kaW5nX3BhZ2VzKGQsIDApOwogICAgICAg
ICBkLT50bWVtX2NsaWVudCA9IE5VTEw7CiAgICAgICAgIC8qIGZhbGx0aHJv
dWdoICovCiAgICAgY2FzZSBET01EWUlOR19keWluZzoKKyAgICAgICAgcmMg
PSBnbnR0YWJfcmVsZWFzZV9tYXBwaW5ncyhkKTsKKyAgICAgICAgaWYgKCBy
YyApCisgICAgICAgICAgICBicmVhazsKICAgICAgICAgcmMgPSBldnRjaG5f
ZGVzdHJveShkKTsKICAgICAgICAgaWYgKCByYyApCiAgICAgICAgICAgICBi
cmVhazsKLS0tIGEveGVuL2NvbW1vbi9ncmFudF90YWJsZS5jCisrKyBiL3hl
bi9jb21tb24vZ3JhbnRfdGFibGUuYwpAQCAtNjIsNyArNjIsMTMgQEAgc3Ry
dWN0IGdyYW50X3RhYmxlIHsKICAgICB1bnNpZ25lZCBpbnQgICAgICAgICAg
bnJfZ3JhbnRfZnJhbWVzOwogICAgIC8qIE51bWJlciBvZiBncmFudCBzdGF0
dXMgZnJhbWVzIHNoYXJlZCB3aXRoIGd1ZXN0IChmb3IgdmVyc2lvbiAyKSAq
LwogICAgIHVuc2lnbmVkIGludCAgICAgICAgICBucl9zdGF0dXNfZnJhbWVz
OwotICAgIC8qIE51bWJlciBvZiBhdmFpbGFibGUgbWFwdHJhY2sgZW50cmll
cy4gKi8KKyAgICAvKgorICAgICAqIE51bWJlciBvZiBhdmFpbGFibGUgbWFw
dHJhY2sgZW50cmllcy4gIEZvciBjbGVhbnVwIHB1cnBvc2VzIGl0IGlzCisg
ICAgICogaW1wb3J0YW50IHRvIHJlYWxpemUgdGhhdCB0aGlzIGZpZWxkIGFu
ZCBAbWFwdHJhY2sgZnVydGhlciBkb3duIHdpbGwKKyAgICAgKiBvbmx5IGV2
ZXIgYmUgYWNjZXNzZWQgYnkgdGhlIGxvY2FsIGRvbWFpbi4gIFRodXMgaXQg
aXMgb2theSB0byBjbGVhbgorICAgICAqIHVwIGVhcmx5LCBhbmQgdG8gc2hy
aW5rIHRoZSBsaW1pdCBmb3IgdGhlIHB1cnBvc2Ugb2YgdHJhY2tpbmcgY2xl
YW51cAorICAgICAqIHByb2dyZXNzLgorICAgICAqLwogICAgIHVuc2lnbmVk
IGludCAgICAgICAgICBtYXB0cmFja19saW1pdDsKICAgICAvKiBTaGFyZWQg
Z3JhbnQgdGFibGUgKHNlZSBpbmNsdWRlL3B1YmxpYy9ncmFudF90YWJsZS5o
KS4gKi8KICAgICB1bmlvbiB7CkBAIC0zNjA0LDkgKzM2MTAsNyBAQCBkb19n
cmFudF90YWJsZV9vcCgKICNpbmNsdWRlICJjb21wYXQvZ3JhbnRfdGFibGUu
YyIKICNlbmRpZgogCi12b2lkCi1nbnR0YWJfcmVsZWFzZV9tYXBwaW5ncygK
LSAgICBzdHJ1Y3QgZG9tYWluICpkKQoraW50IGdudHRhYl9yZWxlYXNlX21h
cHBpbmdzKHN0cnVjdCBkb21haW4gKmQpCiB7CiAgICAgc3RydWN0IGdyYW50
X3RhYmxlICAgKmd0ID0gZC0+Z3JhbnRfdGFibGUsICpyZ3Q7CiAgICAgc3Ry
dWN0IGdyYW50X21hcHBpbmcgKm1hcDsKQEAgLTM2MjAsOCArMzYyNCwzMiBA
QCBnbnR0YWJfcmVsZWFzZV9tYXBwaW5ncygKIAogICAgIEJVR19PTighZC0+
aXNfZHlpbmcpOwogCi0gICAgZm9yICggaGFuZGxlID0gMDsgaGFuZGxlIDwg
Z3QtPm1hcHRyYWNrX2xpbWl0OyBoYW5kbGUrKyApCisgICAgaWYgKCAhZ3Qg
fHwgIWd0LT5tYXB0cmFjayApCisgICAgICAgIHJldHVybiAwOworCisgICAg
Zm9yICggaGFuZGxlID0gZ3QtPm1hcHRyYWNrX2xpbWl0OyBoYW5kbGU7ICkK
ICAgICB7CisgICAgICAgIC8qCisgICAgICAgICAqIERlYWwgd2l0aCBmdWxs
IHBhZ2VzIHN1Y2ggdGhhdCB0aGVpciBmcmVlaW5nIChpbiB0aGUgYm9keSBv
ZiB0aGUKKyAgICAgICAgICogaWYoKSkgcmVtYWlucyBzaW1wbGUuCisgICAg
ICAgICAqLworICAgICAgICBpZiAoIGhhbmRsZSA8IGd0LT5tYXB0cmFja19s
aW1pdCAmJiAhKGhhbmRsZSAlIE1BUFRSQUNLX1BFUl9QQUdFKSApCisgICAg
ICAgIHsKKyAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgKiBDaGFuZ2lu
ZyBtYXB0cmFja19saW1pdCBhbHRlcnMgbnJfbWFwdHJhY2tfZnJhbWVzKCkn
ZXMgcmV0dXJuCisgICAgICAgICAgICAgKiB2YWx1ZS4gRnJlZSB0aGUgdGhl
biBleGNlc3MgdHJhaWxpbmcgcGFnZSByaWdodCBoZXJlLCByYXRoZXIKKyAg
ICAgICAgICAgICAqIHRoYW4gbGVhdmluZyBpdCB0byBncmFudF90YWJsZV9k
ZXN0cm95KCkgKGFuZCBpbiB0dXJuIHJlcXVpcmluZworICAgICAgICAgICAg
ICogdG8gbGVhdmUgZ3QtPm1hcHRyYWNrX2xpbWl0IHVuYWx0ZXJlZCkuCisg
ICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIGd0LT5tYXB0cmFja19saW1p
dCA9IGhhbmRsZTsKKyAgICAgICAgICAgIEZSRUVfWEVOSEVBUF9QQUdFKGd0
LT5tYXB0cmFja1tucl9tYXB0cmFja19mcmFtZXMoZ3QpXSk7CisKKyAgICAg
ICAgICAgIGlmICggaHlwZXJjYWxsX3ByZWVtcHRfY2hlY2soKSApCisgICAg
ICAgICAgICAgICAgcmV0dXJuIC1FUkVTVEFSVDsKKyAgICAgICAgfQorCisg
ICAgICAgIC0taGFuZGxlOworCiAgICAgICAgIG1hcCA9ICZtYXB0cmFja19l
bnRyeShndCwgaGFuZGxlKTsKICAgICAgICAgaWYgKCAhKG1hcC0+ZmxhZ3Mg
JiAoR05UTUFQX2RldmljZV9tYXB8R05UTUFQX2hvc3RfbWFwKSkgKQogICAg
ICAgICAgICAgY29udGludWU7CkBAIC0zNzA5LDYgKzM3MzcsMTEgQEAgZ250
dGFiX3JlbGVhc2VfbWFwcGluZ3MoCiAKICAgICAgICAgbWFwLT5mbGFncyA9
IDA7CiAgICAgfQorCisgICAgZ3QtPm1hcHRyYWNrX2xpbWl0ID0gMDsKKyAg
ICBGUkVFX1hFTkhFQVBfUEFHRShndC0+bWFwdHJhY2tbMF0pOworCisgICAg
cmV0dXJuIDA7CiB9CiAKIHZvaWQgZ3JhbnRfdGFibGVfd2Fybl9hY3RpdmVf
Z3JhbnRzKHN0cnVjdCBkb21haW4gKmQpCkBAIC0zNzcxLDggKzM4MDQsNyBA
QCBncmFudF90YWJsZV9kZXN0cm95KAogICAgICAgICBmcmVlX3hlbmhlYXBf
cGFnZSh0LT5zaGFyZWRfcmF3W2ldKTsKICAgICB4ZnJlZSh0LT5zaGFyZWRf
cmF3KTsKIAotICAgIGZvciAoIGkgPSAwOyBpIDwgbnJfbWFwdHJhY2tfZnJh
bWVzKHQpOyBpKysgKQotICAgICAgICBmcmVlX3hlbmhlYXBfcGFnZSh0LT5t
YXB0cmFja1tpXSk7CisgICAgQVNTRVJUKCF0LT5tYXB0cmFja19saW1pdCk7
CiAgICAgdmZyZWUodC0+bWFwdHJhY2spOwogCiAgICAgZm9yICggaSA9IDA7
IGkgPCBucl9hY3RpdmVfZ3JhbnRfZnJhbWVzKHQpOyBpKysgKQotLS0gYS94
ZW4vaW5jbHVkZS94ZW4vZ3JhbnRfdGFibGUuaAorKysgYi94ZW4vaW5jbHVk
ZS94ZW4vZ3JhbnRfdGFibGUuaApAQCAtNDYsOSArNDYsNyBAQCB2b2lkIGdy
YW50X3RhYmxlX2luaXRfdmNwdShzdHJ1Y3QgdmNwdSAqCiB2b2lkIGdyYW50
X3RhYmxlX3dhcm5fYWN0aXZlX2dyYW50cyhzdHJ1Y3QgZG9tYWluICpkKTsK
IAogLyogRG9tYWluIGRlYXRoIHJlbGVhc2Ugb2YgZ3JhbnRlZCBtYXBwaW5n
cyBvZiBvdGhlciBkb21haW5zJyBtZW1vcnkuICovCi12b2lkCi1nbnR0YWJf
cmVsZWFzZV9tYXBwaW5ncygKLSAgICBzdHJ1Y3QgZG9tYWluICpkKTsKK2lu
dCBnbnR0YWJfcmVsZWFzZV9tYXBwaW5ncyhzdHJ1Y3QgZG9tYWluICpkKTsK
IAogaW50IG1lbV9zaGFyaW5nX2dyZWZfdG9fZ2ZuKHN0cnVjdCBncmFudF90
YWJsZSAqZ3QsIGdyYW50X3JlZl90IHJlZiwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBnZm5fdCAqZ2ZuLCB1aW50MTZfdCAqc3RhdHVzKTsK

--=separator
Content-Type: application/octet-stream; name="xsa380/xsa380-4.12-2.patch"
Content-Disposition: attachment; filename="xsa380/xsa380-4.12-2.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBnbnR0YWI6IHJlcGxhY2UgbWFwa2luZCgpCgptYXBraW5kKCkgZG9lc24n
dCBzY2FsZSB2ZXJ5IHdlbGwgd2l0aCBsYXJnZXIgbWFwdHJhY2sgZW50cnkg
Y291bnRzLAp1c2luZyBhIGJydXRlIGZvcmNlIGxpbmVhciBzZWFyY2ggdGhy
b3VnaCBhbGwgZW50cmllcywgd2l0aCB0aGUgb25seQpvcHRpb24gb2YgYW4g
ZWFybHkgbG9vcCBleGl0IGlmIGEgbWF0Y2hpbmcgd3JpdGFibGUgZW50cnkg
d2FzIGZvdW5kLgpJbnRyb2R1Y2UgYSByYWRpeCB0cmVlIGFsb25nc2lkZSB0
aGUgbWFpbiBtYXB0cmFjayB0YWJsZSwgdGh1cwphbGxvd2luZyBtdWNoIGZh
c3RlciBNRk4tYmFzZWQgbG9va3VwLiBUbyBhdm9pZCB0aGUgbmVlZCB0byBh
Y3R1YWxseQphbGxvY2F0ZSBzcGFjZSBmb3IgdGhlIGluZGl2aWR1YWwgbm9k
ZXMsIGVuY29kZSB0aGUgdHdvIGNvdW50ZXJzIGluIHRoZQpub2RlIHBvaW50
ZXJzIHRoZW1zZWx2ZXMsIHRodXMgbGltaXRpbmcgdGhlIG51bWJlciBvZiBw
ZXJtaXR0ZWQKc2ltdWx0YW5lb3VzIHIvbyBhbmQgci93IG1hcHBpbmdzIG9m
IHRoZSBzYW1lIE1GTiB0byAywrPCuS0xICg2NC1iaXQpIC8KMsK54oG1LTEg
KDMyLWJpdCkgZWFjaC4KClRvIGF2b2lkIGVuZm9yY2luZyBhbiB1bm5lY2Vz
c2FyaWx5IGxvdyBib3VuZCBvbiB0aGUgbnVtYmVyIG9mCnNpbXVsdGFuZW91
cyBtYXBwaW5ncyBvZiBhIHNpbmdsZSBNRk4sIGludHJvZHVjZQpyYWRpeF90
cmVlX3t1bG9uZ190b19wdHIscHRyX3RvX3Vsb25nfSBwYXJhbGxlbGluZwpy
YWRpeF90cmVlX3tpbnRfdG9fcHRyLHB0cl90b19pbnR9LgoKQXMgYSBjb25z
ZXF1ZW5jZSBsb2NraW5nIGNoYW5nZXMgYXJlIGFsc28gYXBwbGljYWJsZTog
V2l0aCB0aGVyZSBubwpsb25nZXIgYmVpbmcgYW55IGluc3BlY3Rpb24gb2Yg
dGhlIHJlbW90ZSBkb21haW4ncyBhY3RpdmUgZW50cmllcywKdGhlcmUncyBh
bHNvIG5vIG5lZWQgYW55bW9yZSB0byBob2xkIHRoZSByZW1vdGUgZG9tYWlu
J3MgZ3JhbnQgdGFibGUKbG9jay4gQW5kIHNpbmNlIHdlJ3JlIG5vIGxvbmdl
ciBpdGVyYXRpbmcgb3ZlciB0aGUgbG9jYWwgZG9tYWluJ3MgbWFwCnRyYWNr
IHRhYmxlLCB0aGUgbG9jayBpbiBtYXBfZ3JhbnRfcmVmKCkgY2FuIGFsc28g
YmUgZHJvcHBlZCBiZWZvcmUgdGhlCm5ldyBtYXB0cmFjayBlbnRyeSBhY3R1
YWxseSBnZXRzIHBvcHVsYXRlZC4KCkFzIGEgbmljZSBzaWRlIGVmZmVjdCB0
aGlzIGFsc28gcmVkdWNlcyB0aGUgbnVtYmVyIG9mIElPTU1VIG9wZXJhdGlv
bnMKaW4gdW5tYXBfY29tbW9uKCk6IFByZXZpb3VzbHkgd2Ugd291bGQgaGF2
ZSAiZXN0YWJsaXNoZWQiIGEgcmVhZGFibGUKbWFwcGluZyB3aGVuZXZlciB3
ZSBkaWRuJ3QgZmluZCBhIHdyaXRhYmxlIGVudHJ5IGFueW1vcmUgKHlldCwg
b2YKY291cnNlLCBhdCBsZWFzdCBvbmUgcmVhZGFibGUgb25lKS4gQnV0IHdl
IG9ubHkgbmVlZCB0byBkbyB0aGlzIGlmIHdlCmFjdHVhbGx5IGRyb3BwZWQg
dGhlIGxhc3Qgd3JpdGFibGUgZW50cnksIG5vdCBpZiB0aGVyZSB3ZXJlIG5v
bmUgYWxyZWFkeQpiZWZvcmUuCgpUaGlzIGlzIHBhcnQgb2YgQ1ZFLTIwMjEt
Mjg2OTggLyBYU0EtMzgwLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2gg
PGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTogSnVsaWVuIEdyYWxs
IDxqZ3JhbGxAYW1hem9uLmNvbT4KCi0tLSBhL3hlbi9jb21tb24vZ3JhbnRf
dGFibGUuYworKysgYi94ZW4vY29tbW9uL2dyYW50X3RhYmxlLmMKQEAgLTM2
LDYgKzM2LDcgQEAKICNpbmNsdWRlIDx4ZW4vaW9tbXUuaD4KICNpbmNsdWRl
IDx4ZW4vcGFnaW5nLmg+CiAjaW5jbHVkZSA8eGVuL2tleWhhbmRsZXIuaD4K
KyNpbmNsdWRlIDx4ZW4vcmFkaXgtdHJlZS5oPgogI2luY2x1ZGUgPHhlbi92
bWFwLmg+CiAjaW5jbHVkZSA8eHNtL3hzbS5oPgogI2luY2x1ZGUgPGFzbS9m
bHVzaHRsYi5oPgpAQCAtODAsOCArODEsMTMgQEAgc3RydWN0IGdyYW50X3Rh
YmxlIHsKICAgICBncmFudF9zdGF0dXNfdCAgICAgICAqKnN0YXR1czsKICAg
ICAvKiBBY3RpdmUgZ3JhbnQgdGFibGUuICovCiAgICAgc3RydWN0IGFjdGl2
ZV9ncmFudF9lbnRyeSAqKmFjdGl2ZTsKLSAgICAvKiBNYXBwaW5nIHRyYWNr
aW5nIHRhYmxlIHBlciB2Y3B1LiAqLworICAgIC8qIEhhbmRsZS1pbmRleGVk
IHRyYWNraW5nIHRhYmxlIG9mIG1hcHBpbmdzLiAqLwogICAgIHN0cnVjdCBn
cmFudF9tYXBwaW5nICoqbWFwdHJhY2s7CisgICAgLyoKKyAgICAgKiBNRk4t
aW5kZXhlZCB0cmFja2luZyB0cmVlIG9mIG1hcHBpbmdzLCBpZiBuZWVkZWQu
ICBOb3RlIHRoYXQgdGhpcyBpcworICAgICAqIHByb3RlY3RlZCBieSBAbG9j
aywgbm90IEBtYXB0cmFja19sb2NrLgorICAgICAqLworICAgIHN0cnVjdCBy
YWRpeF90cmVlX3Jvb3QgbWFwdHJhY2tfdHJlZTsKIAogICAgIC8qIERvbWFp
biB0byB3aGljaCB0aGlzIHN0cnVjdCBncmFudF90YWJsZSBiZWxvbmdzLiAq
LwogICAgIGNvbnN0IHN0cnVjdCBkb21haW4gKmRvbWFpbjsKQEAgLTQ0NSwz
NCArNDUxLDYgQEAgc3RhdGljIGludCBnZXRfcGFnZWRfZnJhbWUodW5zaWdu
ZWQgbG9uZwogICAgIHJldHVybiBHTlRTVF9va2F5OwogfQogCi1zdGF0aWMg
aW5saW5lIHZvaWQKLWRvdWJsZV9ndF9sb2NrKHN0cnVjdCBncmFudF90YWJs
ZSAqbGd0LCBzdHJ1Y3QgZ3JhbnRfdGFibGUgKnJndCkKLXsKLSAgICAvKgot
ICAgICAqIFNlZSBtYXBraW5kKCkgZm9yIHdoeSB0aGUgd3JpdGUgbG9jayBp
cyBhbHNvIHJlcXVpcmVkIGZvciB0aGUKLSAgICAgKiByZW1vdGUgZG9tYWlu
LgotICAgICAqLwotICAgIGlmICggbGd0IDwgcmd0ICkKLSAgICB7Ci0gICAg
ICAgIGdyYW50X3dyaXRlX2xvY2sobGd0KTsKLSAgICAgICAgZ3JhbnRfd3Jp
dGVfbG9jayhyZ3QpOwotICAgIH0KLSAgICBlbHNlCi0gICAgewotICAgICAg
ICBpZiAoIGxndCAhPSByZ3QgKQotICAgICAgICAgICAgZ3JhbnRfd3JpdGVf
bG9jayhyZ3QpOwotICAgICAgICBncmFudF93cml0ZV9sb2NrKGxndCk7Ci0g
ICAgfQotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQKLWRvdWJsZV9ndF91bmxv
Y2soc3RydWN0IGdyYW50X3RhYmxlICpsZ3QsIHN0cnVjdCBncmFudF90YWJs
ZSAqcmd0KQotewotICAgIGdyYW50X3dyaXRlX3VubG9jayhsZ3QpOwotICAg
IGlmICggbGd0ICE9IHJndCApCi0gICAgICAgIGdyYW50X3dyaXRlX3VubG9j
ayhyZ3QpOwotfQotCiAjZGVmaW5lIElOVkFMSURfTUFQVFJBQ0tfSEFORExF
IFVJTlRfTUFYCiAKIHN0YXRpYyBpbmxpbmUgZ3JhbnRfaGFuZGxlX3QKQEAg
LTg5NSw0MSArODczLDE3IEBAIHN0YXRpYyBzdHJ1Y3QgYWN0aXZlX2dyYW50
X2VudHJ5ICpncmFudF8KICAgICByZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsK
IH0KIAotI2RlZmluZSBNQVBLSU5EX1JFQUQgMQotI2RlZmluZSBNQVBLSU5E
X1dSSVRFIDIKLXN0YXRpYyB1bnNpZ25lZCBpbnQgbWFwa2luZCgKLSAgICBz
dHJ1Y3QgZ3JhbnRfdGFibGUgKmxndCwgY29uc3Qgc3RydWN0IGRvbWFpbiAq
cmQsIG1mbl90IG1mbikKLXsKLSAgICBzdHJ1Y3QgZ3JhbnRfbWFwcGluZyAq
bWFwOwotICAgIGdyYW50X2hhbmRsZV90IGhhbmRsZSwgbGltaXQgPSBsZ3Qt
Pm1hcHRyYWNrX2xpbWl0OwotICAgIHVuc2lnbmVkIGludCBraW5kID0gMDsK
LQotICAgIC8qCi0gICAgICogTXVzdCBoYXZlIHRoZSBsb2NhbCBkb21haW4n
cyBncmFudCB0YWJsZSB3cml0ZSBsb2NrIHdoZW4KLSAgICAgKiBpdGVyYXRp
bmcgb3ZlciBpdHMgbWFwdHJhY2sgZW50cmllcy4KLSAgICAgKi8KLSAgICBB
U1NFUlQocGVyY3B1X3J3X2lzX3dyaXRlX2xvY2tlZCgmbGd0LT5sb2NrKSk7
Ci0gICAgLyoKLSAgICAgKiBNdXN0IGhhdmUgdGhlIHJlbW90ZSBkb21haW4n
cyBncmFudCB0YWJsZSB3cml0ZSBsb2NrIHdoaWxlCi0gICAgICogY291bnRp
bmcgaXRzIGFjdGl2ZSBlbnRyaWVzLgotICAgICAqLwotICAgIEFTU0VSVChw
ZXJjcHVfcndfaXNfd3JpdGVfbG9ja2VkKCZyZC0+Z3JhbnRfdGFibGUtPmxv
Y2spKTsKLQotICAgIHNtcF9ybWIoKTsKLQotICAgIGZvciAoIGhhbmRsZSA9
IDA7ICEoa2luZCAmIE1BUEtJTkRfV1JJVEUpICYmIGhhbmRsZSA8IGxpbWl0
OyBoYW5kbGUrKyApCi0gICAgewotICAgICAgICBtYXAgPSAmbWFwdHJhY2tf
ZW50cnkobGd0LCBoYW5kbGUpOwotICAgICAgICBpZiAoICEobWFwLT5mbGFn
cyAmIChHTlRNQVBfZGV2aWNlX21hcHxHTlRNQVBfaG9zdF9tYXApKSB8fAot
ICAgICAgICAgICAgIG1hcC0+ZG9taWQgIT0gcmQtPmRvbWFpbl9pZCApCi0g
ICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgaWYgKCBtZm5fZXEoX2Fj
dGl2ZV9lbnRyeShyZC0+Z3JhbnRfdGFibGUsIG1hcC0+cmVmKS5tZm4sIG1m
bikgKQotICAgICAgICAgICAga2luZCB8PSBtYXAtPmZsYWdzICYgR05UTUFQ
X3JlYWRvbmx5ID8KLSAgICAgICAgICAgICAgICAgICAgTUFQS0lORF9SRUFE
IDogTUFQS0lORF9XUklURTsKLSAgICB9Ci0KLSAgICByZXR1cm4ga2luZDsK
LX0KK3VuaW9uIG1hcHRyYWNrX25vZGUgeworICAgIHN0cnVjdCB7CisgICAg
ICAgIC8qIFJhZGl4IHRyZWUgc2xvdCBwb2ludGVycyB1c2UgdHdvIG9mIHRo
ZSBiaXRzLiAqLworI2lmZGVmIF9fQklHX0VORElBTl9CSVRGSUVMRAorICAg
ICAgICB1bnNpZ25lZCBsb25nICAgIDogMjsKKyNlbmRpZgorICAgICAgICB1
bnNpZ25lZCBsb25nIHJkIDogQklUU19QRVJfTE9ORyAvIDIgLSAxOworICAg
ICAgICB1bnNpZ25lZCBsb25nIHdyIDogQklUU19QRVJfTE9ORyAvIDIgLSAx
OworICAgIH0gY250OworICAgIHVuc2lnbmVkIGxvbmcgcmF3OworfTsKIAog
c3RhdGljIHZvaWQKIG1hcF9ncmFudF9yZWYoCkBAIC05NDgsNyArOTAyLDYg
QEAgbWFwX2dyYW50X3JlZigKICAgICBzdHJ1Y3QgZ3JhbnRfbWFwcGluZyAq
bXQ7CiAgICAgZ3JhbnRfZW50cnlfaGVhZGVyX3QgKnNoYWg7CiAgICAgdWlu
dDE2X3QgKnN0YXR1czsKLSAgICBib29sX3QgbmVlZF9pb21tdTsKIAogICAg
IGxlZCA9IGN1cnJlbnQ7CiAgICAgbGQgPSBsZWQtPmRvbWFpbjsKQEAgLTEx
NTYsMzEgKzExMDksNzUgQEAgbWFwX2dyYW50X3JlZigKICAgICAgICAgZ290
byB1bmRvX291dDsKICAgICB9CiAKLSAgICBuZWVkX2lvbW11ID0gZ250dGFi
X25lZWRfaW9tbXVfbWFwcGluZyhsZCk7Ci0gICAgaWYgKCBuZWVkX2lvbW11
ICkKKyAgICBpZiAoIGdudHRhYl9uZWVkX2lvbW11X21hcHBpbmcobGQpICkK
ICAgICB7CisgICAgICAgIHVuaW9uIG1hcHRyYWNrX25vZGUgbm9kZSA9IHsK
KyAgICAgICAgICAgIC5jbnQucmQgPSAhIShvcC0+ZmxhZ3MgJiBHTlRNQVBf
cmVhZG9ubHkpLAorICAgICAgICAgICAgLmNudC53ciA9ICEob3AtPmZsYWdz
ICYgR05UTUFQX3JlYWRvbmx5KSwKKyAgICAgICAgfTsKKyAgICAgICAgaW50
IGVycjsKKyAgICAgICAgdm9pZCAqKnNsb3QgPSBOVUxMOwogICAgICAgICB1
bnNpZ25lZCBpbnQga2luZDsKIAotICAgICAgICBkb3VibGVfZ3RfbG9jayhs
Z3QsIHJndCk7CisgICAgICAgIGdyYW50X3dyaXRlX2xvY2sobGd0KTsKKwor
ICAgICAgICBlcnIgPSByYWRpeF90cmVlX2luc2VydCgmbGd0LT5tYXB0cmFj
a190cmVlLCBtZm5feChtZm4pLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICByYWRpeF90cmVlX3Vsb25nX3RvX3B0cihub2RlLnJhdykpOwor
ICAgICAgICBpZiAoIGVyciA9PSAtRUVYSVNUICkKKyAgICAgICAgeworICAg
ICAgICAgICAgc2xvdCA9IHJhZGl4X3RyZWVfbG9va3VwX3Nsb3QoJmxndC0+
bWFwdHJhY2tfdHJlZSwgbWZuX3gobWZuKSk7CisgICAgICAgICAgICBpZiAo
IGxpa2VseShzbG90KSApCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgbm9kZS5yYXcgPSByYWRpeF90cmVlX3B0cl90b191bG9uZygqc2xvdCk7
CisgICAgICAgICAgICAgICAgZXJyID0gLUVCVVNZOworCisgICAgICAgICAg
ICAgICAgLyogVXBkYXRlIG5vZGUgb25seSB3aGVuIHJlZmNvdW50IGRvZXNu
J3Qgb3ZlcmZsb3cuICovCisgICAgICAgICAgICAgICAgaWYgKCBvcC0+Zmxh
Z3MgJiBHTlRNQVBfcmVhZG9ubHkgPyArK25vZGUuY250LnJkCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAr
K25vZGUuY250LndyICkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgICAgIHJhZGl4X3RyZWVfcmVwbGFjZV9zbG90KHNsb3QsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhZGl4
X3RyZWVfdWxvbmdfdG9fcHRyKG5vZGUucmF3KSk7CisgICAgICAgICAgICAg
ICAgICAgIGVyciA9IDA7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfQorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIEFTU0VS
VF9VTlJFQUNIQUJMRSgpOworICAgICAgICB9CiAKICAgICAgICAgLyoKICAg
ICAgICAgICogV2UncmUgbm90IHRyYW5zbGF0ZWQsIHNvIHdlIGtub3cgdGhh
dCBkZm5zIGFuZCBtZm5zIGFyZQogICAgICAgICAgKiB0aGUgc2FtZSB0aGlu
Z3MsIHNvIHRoZSBJT01NVSBlbnRyeSBpcyBhbHdheXMgMS10by0xLgogICAg
ICAgICAgKi8KLSAgICAgICAga2luZCA9IG1hcGtpbmQobGd0LCByZCwgbWZu
KTsKLSAgICAgICAgaWYgKCAhKG9wLT5mbGFncyAmIEdOVE1BUF9yZWFkb25s
eSkgJiYKLSAgICAgICAgICAgICAhKGtpbmQgJiBNQVBLSU5EX1dSSVRFKSAp
CisgICAgICAgIGlmICggIShvcC0+ZmxhZ3MgJiBHTlRNQVBfcmVhZG9ubHkp
ICYmIG5vZGUuY250LndyID09IDEgKQogICAgICAgICAgICAga2luZCA9IElP
TU1VRl9yZWFkYWJsZSB8IElPTU1VRl93cml0YWJsZTsKLSAgICAgICAgZWxz
ZSBpZiAoICFraW5kICkKKyAgICAgICAgZWxzZSBpZiAoIChvcC0+ZmxhZ3Mg
JiBHTlRNQVBfcmVhZG9ubHkpICYmCisgICAgICAgICAgICAgICAgICBub2Rl
LmNudC5yZCA9PSAxICYmICFub2RlLmNudC53ciApCiAgICAgICAgICAgICBr
aW5kID0gSU9NTVVGX3JlYWRhYmxlOwogICAgICAgICBlbHNlCiAgICAgICAg
ICAgICBraW5kID0gMDsKLSAgICAgICAgaWYgKCBraW5kICYmIGlvbW11X2xl
Z2FjeV9tYXAobGQsIF9kZm4obWZuX3gobWZuKSksIG1mbiwgMCwga2luZCkg
KQorICAgICAgICBpZiAoIGVyciB8fAorICAgICAgICAgICAgIChraW5kICYm
IGlvbW11X2xlZ2FjeV9tYXAobGQsIF9kZm4obWZuX3gobWZuKSksIG1mbiwg
MCwga2luZCkpICkKICAgICAgICAgewotICAgICAgICAgICAgZG91YmxlX2d0
X3VubG9jayhsZ3QsIHJndCk7CisgICAgICAgICAgICBpZiAoICFlcnIgKQor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmICggc2xvdCApCisg
ICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBvcC0+Zmxh
Z3MgJiBHTlRNQVBfcmVhZG9ubHkgPyBub2RlLmNudC5yZC0tCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG5v
ZGUuY250LndyLS07CisgICAgICAgICAgICAgICAgICAgIHJhZGl4X3RyZWVf
cmVwbGFjZV9zbG90KHNsb3QsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHJhZGl4X3RyZWVfdWxvbmdfdG9fcHRyKG5v
ZGUucmF3KSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg
IGVsc2UKKyAgICAgICAgICAgICAgICAgICAgcmFkaXhfdHJlZV9kZWxldGUo
JmxndC0+bWFwdHJhY2tfdHJlZSwgbWZuX3gobWZuKSk7CisgICAgICAgICAg
ICB9CisKICAgICAgICAgICAgIHJjID0gR05UU1RfZ2VuZXJhbF9lcnJvcjsK
LSAgICAgICAgICAgIGdvdG8gdW5kb19vdXQ7CiAgICAgICAgIH0KKworICAg
ICAgICBncmFudF93cml0ZV91bmxvY2sobGd0KTsKKworICAgICAgICBpZiAo
IHJjICE9IEdOVFNUX29rYXkgKQorICAgICAgICAgICAgZ290byB1bmRvX291
dDsKICAgICB9CiAKICAgICBUUkFDRV8xRChUUkNfTUVNX1BBR0VfR1JBTlRf
TUFQLCBvcC0+ZG9tKTsKQEAgLTExODgsMTAgKzExODUsNiBAQCBtYXBfZ3Jh
bnRfcmVmKAogICAgIC8qCiAgICAgICogQWxsIG1hcHRyYWNrIGVudHJ5IHVz
ZXJzIGNoZWNrIG10LT5mbGFncyBmaXJzdCBiZWZvcmUgdXNpbmcgdGhlCiAg
ICAgICogb3RoZXIgZmllbGRzIHNvIGp1c3QgZW5zdXJlIHRoZSBmbGFncyBm
aWVsZCBpcyBzdG9yZWQgbGFzdC4KLSAgICAgKgotICAgICAqIEhvd2V2ZXIs
IGlmIGdudHRhYl9uZWVkX2lvbW11X21hcHBpbmcoKSB0aGVuIHRoaXMgd291
bGQgcmFjZQotICAgICAqIHdpdGggYSBjb25jdXJyZW50IG1hcGtpbmQoKSBj
YWxsIChvbiBhbiB1bm1hcCwgZm9yIGV4YW1wbGUpCi0gICAgICogYW5kIGEg
bG9jayBpcyByZXF1aXJlZC4KICAgICAgKi8KICAgICBtdCA9ICZtYXB0cmFj
a19lbnRyeShsZ3QsIGhhbmRsZSk7CiAgICAgbXQtPmRvbWlkID0gb3AtPmRv
bTsKQEAgLTExOTksOSArMTE5Miw2IEBAIG1hcF9ncmFudF9yZWYoCiAgICAg
c21wX3dtYigpOwogICAgIHdyaXRlX2F0b21pYygmbXQtPmZsYWdzLCBvcC0+
ZmxhZ3MpOwogCi0gICAgaWYgKCBuZWVkX2lvbW11ICkKLSAgICAgICAgZG91
YmxlX2d0X3VubG9jayhsZ3QsIHJndCk7Ci0KICAgICBvcC0+ZGV2X2J1c19h
ZGRyID0gbWZuX3RvX21hZGRyKG1mbik7CiAgICAgb3AtPmhhbmRsZSAgICAg
ICA9IGhhbmRsZTsKICAgICBvcC0+c3RhdHVzICAgICAgID0gR05UU1Rfb2th
eTsKQEAgLTE0MTQsMTkgKzE0MDQsMzQgQEAgdW5tYXBfY29tbW9uKAogCiAg
ICAgaWYgKCByYyA9PSBHTlRTVF9va2F5ICYmIGdudHRhYl9uZWVkX2lvbW11
X21hcHBpbmcobGQpICkKICAgICB7Ci0gICAgICAgIHVuc2lnbmVkIGludCBr
aW5kOworICAgICAgICB2b2lkICoqc2xvdDsKKyAgICAgICAgdW5pb24gbWFw
dHJhY2tfbm9kZSBub2RlOwogICAgICAgICBpbnQgZXJyID0gMDsKIAotICAg
ICAgICBkb3VibGVfZ3RfbG9jayhsZ3QsIHJndCk7CisgICAgICAgIGdyYW50
X3dyaXRlX2xvY2sobGd0KTsKKyAgICAgICAgc2xvdCA9IHJhZGl4X3RyZWVf
bG9va3VwX3Nsb3QoJmxndC0+bWFwdHJhY2tfdHJlZSwgbWZuX3gob3AtPm1m
bikpOworICAgICAgICBub2RlLnJhdyA9IGxpa2VseShzbG90KSA/IHJhZGl4
X3RyZWVfcHRyX3RvX3Vsb25nKCpzbG90KSA6IDA7CisKKyAgICAgICAgLyog
UmVmY291bnQgbXVzdCBub3QgdW5kZXJmbG93LiAqLworICAgICAgICBpZiAo
ICEoZmxhZ3MgJiBHTlRNQVBfcmVhZG9ubHkgPyBub2RlLmNudC5yZC0tCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG5vZGUu
Y250LndyLS0pICkKKyAgICAgICAgICAgIEJVRygpOwogCi0gICAgICAgIGtp
bmQgPSBtYXBraW5kKGxndCwgcmQsIG9wLT5tZm4pOwotICAgICAgICBpZiAo
ICFraW5kICkKKyAgICAgICAgaWYgKCAhbm9kZS5yYXcgKQogICAgICAgICAg
ICAgZXJyID0gaW9tbXVfbGVnYWN5X3VubWFwKGxkLCBfZGZuKG1mbl94KG9w
LT5tZm4pKSwgMCk7Ci0gICAgICAgIGVsc2UgaWYgKCAhKGtpbmQgJiBNQVBL
SU5EX1dSSVRFKSApCisgICAgICAgIGVsc2UgaWYgKCAhKGZsYWdzICYgR05U
TUFQX3JlYWRvbmx5KSAmJiAhbm9kZS5jbnQud3IgKQogICAgICAgICAgICAg
ZXJyID0gaW9tbXVfbGVnYWN5X21hcChsZCwgX2RmbihtZm5feChvcC0+bWZu
KSksIG9wLT5tZm4sIDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIElPTU1VRl9yZWFkYWJsZSk7CiAKLSAgICAgICAgZG91YmxlX2d0
X3VubG9jayhsZ3QsIHJndCk7CisgICAgICAgIGlmICggZXJyICkKKyAgICAg
ICAgICAgIDsKKyAgICAgICAgZWxzZSBpZiAoICFub2RlLnJhdyApCisgICAg
ICAgICAgICByYWRpeF90cmVlX2RlbGV0ZSgmbGd0LT5tYXB0cmFja190cmVl
LCBtZm5feChvcC0+bWZuKSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IHJhZGl4X3RyZWVfcmVwbGFjZV9zbG90KHNsb3QsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICByYWRpeF90cmVlX3Vsb25nX3RvX3B0
cihub2RlLnJhdykpOworCisgICAgICAgIGdyYW50X3dyaXRlX3VubG9jayhs
Z3QpOwogCiAgICAgICAgIGlmICggZXJyICkKICAgICAgICAgICAgIHJjID0g
R05UU1RfZ2VuZXJhbF9lcnJvcjsKQEAgLTE4NzQsNiArMTg3OSw4IEBAIGlu
dCBncmFudF90YWJsZV9pbml0KHN0cnVjdCBkb21haW4gKmQsIGkKICAgICAg
ICAgZ3QtPm1hcHRyYWNrID0gdnphbGxvYyhndC0+bWF4X21hcHRyYWNrX2Zy
YW1lcyAqIHNpemVvZigqZ3QtPm1hcHRyYWNrKSk7CiAgICAgICAgIGlmICgg
Z3QtPm1hcHRyYWNrID09IE5VTEwgKQogICAgICAgICAgICAgZ290byBvdXQ7
CisKKyAgICAgICAgcmFkaXhfdHJlZV9pbml0KCZndC0+bWFwdHJhY2tfdHJl
ZSk7CiAgICAgfQogCiAgICAgLyogU2hhcmVkIGdyYW50IHRhYmxlLiAqLwpA
QCAtMzYyOSw2ICszNjM2LDggQEAgaW50IGdudHRhYl9yZWxlYXNlX21hcHBp
bmdzKHN0cnVjdCBkb21haQogCiAgICAgZm9yICggaGFuZGxlID0gZ3QtPm1h
cHRyYWNrX2xpbWl0OyBoYW5kbGU7ICkKICAgICB7CisgICAgICAgIG1mbl90
IG1mbjsKKwogICAgICAgICAvKgogICAgICAgICAgKiBEZWFsIHdpdGggZnVs
bCBwYWdlcyBzdWNoIHRoYXQgdGhlaXIgZnJlZWluZyAoaW4gdGhlIGJvZHkg
b2YgdGhlCiAgICAgICAgICAqIGlmKCkpIHJlbWFpbnMgc2ltcGxlLgpAQCAt
MzczMCwxNyArMzczOSwzMSBAQCBpbnQgZ250dGFiX3JlbGVhc2VfbWFwcGlu
Z3Moc3RydWN0IGRvbWFpCiAgICAgICAgIGlmICggYWN0LT5waW4gPT0gMCAp
CiAgICAgICAgICAgICBnbnR0YWJfY2xlYXJfZmxhZyhyZCwgX0dURl9yZWFk
aW5nLCBzdGF0dXMpOwogCisgICAgICAgIG1mbiA9IGFjdC0+bWZuOworCiAg
ICAgICAgIGFjdGl2ZV9lbnRyeV9yZWxlYXNlKGFjdCk7CiAgICAgICAgIGdy
YW50X3JlYWRfdW5sb2NrKHJndCk7CiAKICAgICAgICAgcmN1X3VubG9ja19k
b21haW4ocmQpOwogCiAgICAgICAgIG1hcC0+ZmxhZ3MgPSAwOworCisgICAg
ICAgIC8qCisgICAgICAgICAqIFRoaXMgaXMgZXhjZXNzaXZlIGluIHRoYXQg
YSBzaW5nbGUgc3VjaCBjYWxsIHdvdWxkIHN1ZmZpY2UgcGVyCisgICAgICAg
ICAqIG1hcHBlZCBNRk4gKG9yIG5vbmUgYXQgYWxsLCBpZiBubyBlbnRyeSB3
YXMgZXZlciBpbnNlcnRlZCkuIEJ1dCBpdAorICAgICAgICAgKiBzaG91bGQg
YmUgdGhlIGNvbW1vbiBjYXNlIGZvciBhbiBNRk4gdG8gYmUgbWFwcGVkIGp1
c3Qgb25jZSwgYW5kCisgICAgICAgICAqIHRoaXMgd2F5IHdlIGRvbid0IG5l
ZWQgdG8gZnVydGhlciBtYWludGFpbiB0aGUgY291bnRlcnMuIFdlIGFsc28K
KyAgICAgICAgICogZG9uJ3Qgd2FudCB0byBsZWF2ZSBjbGVhbmluZyB1cCBv
ZiB0aGUgdHJlZSBhcyBhIHdob2xlIHRvIHRoZSBlbmQKKyAgICAgICAgICog
b2YgdGhlIGZ1bmN0aW9uLCBhcyB0aGlzIGNvdWxkIHRha2UgcXVpdGUgc29t
ZSB0aW1lLgorICAgICAgICAgKi8KKyAgICAgICAgcmFkaXhfdHJlZV9kZWxl
dGUoJmd0LT5tYXB0cmFja190cmVlLCBtZm5feChtZm4pKTsKICAgICB9CiAK
ICAgICBndC0+bWFwdHJhY2tfbGltaXQgPSAwOwogICAgIEZSRUVfWEVOSEVB
UF9QQUdFKGd0LT5tYXB0cmFja1swXSk7CiAKKyAgICByYWRpeF90cmVlX2Rl
c3Ryb3koJmd0LT5tYXB0cmFja190cmVlLCBOVUxMKTsKKwogICAgIHJldHVy
biAwOwogfQogCi0tLSBhL3hlbi9pbmNsdWRlL3hlbi9yYWRpeC10cmVlLmgK
KysrIGIveGVuL2luY2x1ZGUveGVuL3JhZGl4LXRyZWUuaApAQCAtMTkwLDYg
KzE5MCwyNSBAQCBzdGF0aWMgaW5saW5lIGludCByYWRpeF90cmVlX3B0cl90
b19pbnQoCiAgICAgcmV0dXJuIChpbnQpKChsb25nKXB0ciA+PiAyKTsKIH0K
IAorLyoqCisgKiByYWRpeF90cmVlX3t1bG9uZ190b19wdHIscHRyX3RvX3Vs
b25nfToKKyAqCisgKiBTYW1lIGZvciB1bnNpZ25lZCBsb25nIHZhbHVlcy4g
QmV3YXJlIHRob3VnaCB0aGF0IG9ubHkgQklUU19QRVJfTE9ORy0yCisgKiBi
aXRzIGFyZSBhY3R1YWxseSB1c2FibGUgZm9yIHRoZSB2YWx1ZS4KKyAqLwor
c3RhdGljIGlubGluZSB2b2lkICpyYWRpeF90cmVlX3Vsb25nX3RvX3B0cih1
bnNpZ25lZCBsb25nIHZhbCkKK3sKKyAgICB1bnNpZ25lZCBsb25nIHB0ciA9
ICh2YWwgPDwgMikgfCAweDI7CisgICAgQVNTRVJUKChwdHIgPj4gMikgPT0g
dmFsKTsKKyAgICByZXR1cm4gKHZvaWQgKilwdHI7Cit9CisKK3N0YXRpYyBp
bmxpbmUgdW5zaWduZWQgbG9uZyByYWRpeF90cmVlX3B0cl90b191bG9uZyh2
b2lkICpwdHIpCit7CisgICAgQVNTRVJUKCgodW5zaWduZWQgbG9uZylwdHIg
JiAweDMpID09IDB4Mik7CisgICAgcmV0dXJuICh1bnNpZ25lZCBsb25nKXB0
ciA+PiAyOworfQorCiBpbnQgcmFkaXhfdHJlZV9pbnNlcnQoc3RydWN0IHJh
ZGl4X3RyZWVfcm9vdCAqLCB1bnNpZ25lZCBsb25nLCB2b2lkICopOwogdm9p
ZCAqcmFkaXhfdHJlZV9sb29rdXAoc3RydWN0IHJhZGl4X3RyZWVfcm9vdCAq
LCB1bnNpZ25lZCBsb25nKTsKIHZvaWQgKipyYWRpeF90cmVlX2xvb2t1cF9z
bG90KHN0cnVjdCByYWRpeF90cmVlX3Jvb3QgKiwgdW5zaWduZWQgbG9uZyk7
Cg==

--=separator
Content-Type: application/octet-stream; name="xsa380/xsa380-4.13-1.patch"
Content-Disposition: attachment; filename="xsa380/xsa380-4.13-1.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBnbnR0YWI6IGFkZCBwcmVlbXB0aW9uIGNoZWNrIHRvIGdudHRhYl9yZWxl
YXNlX21hcHBpbmdzKCkKCkEgZ3Vlc3QgbWF5IGRpZSB3aXRoIG1hbnkgZ3Jh
bnQgbWFwcGluZ3Mgc3RpbGwgaW4gcGxhY2UsIG9yIHNpbXBseSB3aXRoCmEg
bGFyZ2UgbWFwdHJhY2sgdGFibGUuIEl0ZXJhdGluZyB0aHJvdWdoIHRoaXMg
bWF5IHRha2UgbW9yZSB0aW1lIHRoYW4KaXMgcmVhc29uYWJsZSB3aXRob3V0
IGludGVybWVkaWF0ZSBwcmVlbXB0aW9uICh0byBydW4gc29mdGlycXMgYW5k
CnBlcmhhcHMgdGhlIHNjaGVkdWxlcikuCgpNb3ZlIHRoZSBpbnZvY2F0aW9u
IG9mIHRoZSBmdW5jdGlvbiB0byB0aGUgc2VjdGlvbiB3aGVyZSBvdGhlcgpy
ZXN0YXJ0YWJsZSBmdW5jdGlvbnMgZ2V0IGludm9rZWQsIGFuZCBoYXZlIHRo
ZSBmdW5jdGlvbiBpdHNlbGYgY2hlY2sKZm9yIHByZWVtcHRpb24gZXZlcnkg
b25jZSBpbiBhIHdoaWxlLiBIYXZlIGl0IGl0ZXJhdGUgdGhlIHRhYmxlCmJh
Y2t3YXJkcywgc3VjaCB0aGF0IGRlY3JlYXNpbmcgdGhlIG1hcHRyYWNrIGxp
bWl0IGlzIGFsbCBpdCB0YWtlcyB0bwpjb252ZXkgcmVzdGFydCBpbmZvcm1h
dGlvbi4KCkluIGRvbWFpbl90ZWFyZG93bigpIGludHJvZHVjZSBQUk9HX25v
bmUgc3VjaCB0aGF0IGluc2VydGluZyBhdCB0aGUKZnJvbnQgd2lsbCBiZSBl
YXNpZXIgZ29pbmcgZm9yd2FyZC4KClRoaXMgaXMgcGFydCBvZiBDVkUtMjAy
MS0yODY5OCAvIFhTQS0zODAuCgpSZXBvcnRlZC1ieTogQW5kcmV3IENvb3Bl
ciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KU2lnbmVkLW9mZi1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTog
SnVsaWVuIEdyYWxsIDxqZ3JhbGxAYW1hem9uLmNvbT4KCi0tLSBhL3hlbi9j
b21tb24vZG9tYWluLmMKKysrIGIveGVuL2NvbW1vbi9kb21haW4uYwpAQCAt
Nzc2LDExICs3NzYsMTMgQEAgaW50IGRvbWFpbl9raWxsKHN0cnVjdCBkb21h
aW4gKmQpCiAgICAgICAgICAgICByZXR1cm4gZG9tYWluX2tpbGwoZCk7CiAg
ICAgICAgIGQtPmlzX2R5aW5nID0gRE9NRFlJTkdfZHlpbmc7CiAgICAgICAg
IGFyZ29fZGVzdHJveShkKTsKLSAgICAgICAgZ250dGFiX3JlbGVhc2VfbWFw
cGluZ3MoZCk7CiAgICAgICAgIHZudW1hX2Rlc3Ryb3koZC0+dm51bWEpOwog
ICAgICAgICBkb21haW5fc2V0X291dHN0YW5kaW5nX3BhZ2VzKGQsIDApOwog
ICAgICAgICAvKiBmYWxsdGhyb3VnaCAqLwogICAgIGNhc2UgRE9NRFlJTkdf
ZHlpbmc6CisgICAgICAgIHJjID0gZ250dGFiX3JlbGVhc2VfbWFwcGluZ3Mo
ZCk7CisgICAgICAgIGlmICggcmMgKQorICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIHJjID0gZXZ0Y2huX2Rlc3Ryb3koZCk7CiAgICAgICAgIGlmICgg
cmMgKQogICAgICAgICAgICAgYnJlYWs7Ci0tLSBhL3hlbi9jb21tb24vZ3Jh
bnRfdGFibGUuYworKysgYi94ZW4vY29tbW9uL2dyYW50X3RhYmxlLmMKQEAg
LTYzLDcgKzYzLDEzIEBAIHN0cnVjdCBncmFudF90YWJsZSB7CiAgICAgdW5z
aWduZWQgaW50ICAgICAgICAgIG5yX2dyYW50X2ZyYW1lczsKICAgICAvKiBO
dW1iZXIgb2YgZ3JhbnQgc3RhdHVzIGZyYW1lcyBzaGFyZWQgd2l0aCBndWVz
dCAoZm9yIHZlcnNpb24gMikgKi8KICAgICB1bnNpZ25lZCBpbnQgICAgICAg
ICAgbnJfc3RhdHVzX2ZyYW1lczsKLSAgICAvKiBOdW1iZXIgb2YgYXZhaWxh
YmxlIG1hcHRyYWNrIGVudHJpZXMuICovCisgICAgLyoKKyAgICAgKiBOdW1i
ZXIgb2YgYXZhaWxhYmxlIG1hcHRyYWNrIGVudHJpZXMuICBGb3IgY2xlYW51
cCBwdXJwb3NlcyBpdCBpcworICAgICAqIGltcG9ydGFudCB0byByZWFsaXpl
IHRoYXQgdGhpcyBmaWVsZCBhbmQgQG1hcHRyYWNrIGZ1cnRoZXIgZG93biB3
aWxsCisgICAgICogb25seSBldmVyIGJlIGFjY2Vzc2VkIGJ5IHRoZSBsb2Nh
bCBkb21haW4uICBUaHVzIGl0IGlzIG9rYXkgdG8gY2xlYW4KKyAgICAgKiB1
cCBlYXJseSwgYW5kIHRvIHNocmluayB0aGUgbGltaXQgZm9yIHRoZSBwdXJw
b3NlIG9mIHRyYWNraW5nIGNsZWFudXAKKyAgICAgKiBwcm9ncmVzcy4KKyAg
ICAgKi8KICAgICB1bnNpZ25lZCBpbnQgICAgICAgICAgbWFwdHJhY2tfbGlt
aXQ7CiAgICAgLyogU2hhcmVkIGdyYW50IHRhYmxlIChzZWUgaW5jbHVkZS9w
dWJsaWMvZ3JhbnRfdGFibGUuaCkuICovCiAgICAgdW5pb24gewpAQCAtMzY3
NSw5ICszNjgxLDcgQEAgZG9fZ3JhbnRfdGFibGVfb3AoCiAjaW5jbHVkZSAi
Y29tcGF0L2dyYW50X3RhYmxlLmMiCiAjZW5kaWYKIAotdm9pZAotZ250dGFi
X3JlbGVhc2VfbWFwcGluZ3MoCi0gICAgc3RydWN0IGRvbWFpbiAqZCkKK2lu
dCBnbnR0YWJfcmVsZWFzZV9tYXBwaW5ncyhzdHJ1Y3QgZG9tYWluICpkKQog
ewogICAgIHN0cnVjdCBncmFudF90YWJsZSAgICpndCA9IGQtPmdyYW50X3Rh
YmxlLCAqcmd0OwogICAgIHN0cnVjdCBncmFudF9tYXBwaW5nICptYXA7CkBA
IC0zNjkxLDEwICszNjk1LDM0IEBAIGdudHRhYl9yZWxlYXNlX21hcHBpbmdz
KAogCiAgICAgQlVHX09OKCFkLT5pc19keWluZyk7CiAKLSAgICBmb3IgKCBo
YW5kbGUgPSAwOyBoYW5kbGUgPCBndC0+bWFwdHJhY2tfbGltaXQ7IGhhbmRs
ZSsrICkKKyAgICBpZiAoICFndCB8fCAhZ3QtPm1hcHRyYWNrICkKKyAgICAg
ICAgcmV0dXJuIDA7CisKKyAgICBmb3IgKCBoYW5kbGUgPSBndC0+bWFwdHJh
Y2tfbGltaXQ7IGhhbmRsZTsgKQogICAgIHsKICAgICAgICAgdW5zaWduZWQg
aW50IGNsZWFyX2ZsYWdzID0gMDsKIAorICAgICAgICAvKgorICAgICAgICAg
KiBEZWFsIHdpdGggZnVsbCBwYWdlcyBzdWNoIHRoYXQgdGhlaXIgZnJlZWlu
ZyAoaW4gdGhlIGJvZHkgb2YgdGhlCisgICAgICAgICAqIGlmKCkpIHJlbWFp
bnMgc2ltcGxlLgorICAgICAgICAgKi8KKyAgICAgICAgaWYgKCBoYW5kbGUg
PCBndC0+bWFwdHJhY2tfbGltaXQgJiYgIShoYW5kbGUgJSBNQVBUUkFDS19Q
RVJfUEFHRSkgKQorICAgICAgICB7CisgICAgICAgICAgICAvKgorICAgICAg
ICAgICAgICogQ2hhbmdpbmcgbWFwdHJhY2tfbGltaXQgYWx0ZXJzIG5yX21h
cHRyYWNrX2ZyYW1lcygpJ2VzIHJldHVybgorICAgICAgICAgICAgICogdmFs
dWUuIEZyZWUgdGhlIHRoZW4gZXhjZXNzIHRyYWlsaW5nIHBhZ2UgcmlnaHQg
aGVyZSwgcmF0aGVyCisgICAgICAgICAgICAgKiB0aGFuIGxlYXZpbmcgaXQg
dG8gZ3JhbnRfdGFibGVfZGVzdHJveSgpIChhbmQgaW4gdHVybiByZXF1aXJp
bmcKKyAgICAgICAgICAgICAqIHRvIGxlYXZlIGd0LT5tYXB0cmFja19saW1p
dCB1bmFsdGVyZWQpLgorICAgICAgICAgICAgICovCisgICAgICAgICAgICBn
dC0+bWFwdHJhY2tfbGltaXQgPSBoYW5kbGU7CisgICAgICAgICAgICBGUkVF
X1hFTkhFQVBfUEFHRShndC0+bWFwdHJhY2tbbnJfbWFwdHJhY2tfZnJhbWVz
KGd0KV0pOworCisgICAgICAgICAgICBpZiAoIGh5cGVyY2FsbF9wcmVlbXB0
X2NoZWNrKCkgKQorICAgICAgICAgICAgICAgIHJldHVybiAtRVJFU1RBUlQ7
CisgICAgICAgIH0KKworICAgICAgICAtLWhhbmRsZTsKKwogICAgICAgICBt
YXAgPSAmbWFwdHJhY2tfZW50cnkoZ3QsIGhhbmRsZSk7CiAgICAgICAgIGlm
ICggIShtYXAtPmZsYWdzICYgKEdOVE1BUF9kZXZpY2VfbWFwfEdOVE1BUF9o
b3N0X21hcCkpICkKICAgICAgICAgICAgIGNvbnRpbnVlOwpAQCAtMzc4NSw2
ICszODEzLDExIEBAIGdudHRhYl9yZWxlYXNlX21hcHBpbmdzKAogCiAgICAg
ICAgIG1hcC0+ZmxhZ3MgPSAwOwogICAgIH0KKworICAgIGd0LT5tYXB0cmFj
a19saW1pdCA9IDA7CisgICAgRlJFRV9YRU5IRUFQX1BBR0UoZ3QtPm1hcHRy
YWNrWzBdKTsKKworICAgIHJldHVybiAwOwogfQogCiB2b2lkIGdyYW50X3Rh
YmxlX3dhcm5fYWN0aXZlX2dyYW50cyhzdHJ1Y3QgZG9tYWluICpkKQpAQCAt
Mzg0OCw4ICszODgxLDcgQEAgZ3JhbnRfdGFibGVfZGVzdHJveSgKICAgICAg
ICAgZnJlZV94ZW5oZWFwX3BhZ2UodC0+c2hhcmVkX3Jhd1tpXSk7CiAgICAg
eGZyZWUodC0+c2hhcmVkX3Jhdyk7CiAKLSAgICBmb3IgKCBpID0gMDsgaSA8
IG5yX21hcHRyYWNrX2ZyYW1lcyh0KTsgaSsrICkKLSAgICAgICAgZnJlZV94
ZW5oZWFwX3BhZ2UodC0+bWFwdHJhY2tbaV0pOworICAgIEFTU0VSVCghdC0+
bWFwdHJhY2tfbGltaXQpOwogICAgIHZmcmVlKHQtPm1hcHRyYWNrKTsKIAog
ICAgIGZvciAoIGkgPSAwOyBpIDwgbnJfYWN0aXZlX2dyYW50X2ZyYW1lcyh0
KTsgaSsrICkKLS0tIGEveGVuL2luY2x1ZGUveGVuL2dyYW50X3RhYmxlLmgK
KysrIGIveGVuL2luY2x1ZGUveGVuL2dyYW50X3RhYmxlLmgKQEAgLTQ3LDkg
KzQ3LDcgQEAgdm9pZCBncmFudF90YWJsZV9pbml0X3ZjcHUoc3RydWN0IHZj
cHUgKgogdm9pZCBncmFudF90YWJsZV93YXJuX2FjdGl2ZV9ncmFudHMoc3Ry
dWN0IGRvbWFpbiAqZCk7CiAKIC8qIERvbWFpbiBkZWF0aCByZWxlYXNlIG9m
IGdyYW50ZWQgbWFwcGluZ3Mgb2Ygb3RoZXIgZG9tYWlucycgbWVtb3J5LiAq
Lwotdm9pZAotZ250dGFiX3JlbGVhc2VfbWFwcGluZ3MoCi0gICAgc3RydWN0
IGRvbWFpbiAqZCk7CitpbnQgZ250dGFiX3JlbGVhc2VfbWFwcGluZ3Moc3Ry
dWN0IGRvbWFpbiAqZCk7CiAKIGludCBtZW1fc2hhcmluZ19ncmVmX3RvX2dm
bihzdHJ1Y3QgZ3JhbnRfdGFibGUgKmd0LCBncmFudF9yZWZfdCByZWYsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2ZuX3QgKmdmbiwgdWludDE2
X3QgKnN0YXR1cyk7CkBAIC03OCw3ICs3Niw3IEBAIHN0YXRpYyBpbmxpbmUg
dm9pZCBncmFudF90YWJsZV9pbml0X3ZjcHUKIAogc3RhdGljIGlubGluZSB2
b2lkIGdyYW50X3RhYmxlX3dhcm5fYWN0aXZlX2dyYW50cyhzdHJ1Y3QgZG9t
YWluICpkKSB7fQogCi1zdGF0aWMgaW5saW5lIHZvaWQgZ250dGFiX3JlbGVh
c2VfbWFwcGluZ3Moc3RydWN0IGRvbWFpbiAqZCkge30KK3N0YXRpYyBpbmxp
bmUgaW50IGdudHRhYl9yZWxlYXNlX21hcHBpbmdzKHN0cnVjdCBkb21haW4g
KmQpIHsgcmV0dXJuIDA7IH0KIAogc3RhdGljIGlubGluZSBpbnQgbWVtX3No
YXJpbmdfZ3JlZl90b19nZm4oc3RydWN0IGdyYW50X3RhYmxlICpndCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyYW50
X3JlZl90IHJlZiwK

--=separator
Content-Type: application/octet-stream; name="xsa380/xsa380-4.13-2.patch"
Content-Disposition: attachment; filename="xsa380/xsa380-4.13-2.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBnbnR0YWI6IHJlcGxhY2UgbWFwa2luZCgpCgptYXBraW5kKCkgZG9lc24n
dCBzY2FsZSB2ZXJ5IHdlbGwgd2l0aCBsYXJnZXIgbWFwdHJhY2sgZW50cnkg
Y291bnRzLAp1c2luZyBhIGJydXRlIGZvcmNlIGxpbmVhciBzZWFyY2ggdGhy
b3VnaCBhbGwgZW50cmllcywgd2l0aCB0aGUgb25seQpvcHRpb24gb2YgYW4g
ZWFybHkgbG9vcCBleGl0IGlmIGEgbWF0Y2hpbmcgd3JpdGFibGUgZW50cnkg
d2FzIGZvdW5kLgpJbnRyb2R1Y2UgYSByYWRpeCB0cmVlIGFsb25nc2lkZSB0
aGUgbWFpbiBtYXB0cmFjayB0YWJsZSwgdGh1cwphbGxvd2luZyBtdWNoIGZh
c3RlciBNRk4tYmFzZWQgbG9va3VwLiBUbyBhdm9pZCB0aGUgbmVlZCB0byBh
Y3R1YWxseQphbGxvY2F0ZSBzcGFjZSBmb3IgdGhlIGluZGl2aWR1YWwgbm9k
ZXMsIGVuY29kZSB0aGUgdHdvIGNvdW50ZXJzIGluIHRoZQpub2RlIHBvaW50
ZXJzIHRoZW1zZWx2ZXMsIHRodXMgbGltaXRpbmcgdGhlIG51bWJlciBvZiBw
ZXJtaXR0ZWQKc2ltdWx0YW5lb3VzIHIvbyBhbmQgci93IG1hcHBpbmdzIG9m
IHRoZSBzYW1lIE1GTiB0byAywrPCuS0xICg2NC1iaXQpIC8KMsK54oG1LTEg
KDMyLWJpdCkgZWFjaC4KClRvIGF2b2lkIGVuZm9yY2luZyBhbiB1bm5lY2Vz
c2FyaWx5IGxvdyBib3VuZCBvbiB0aGUgbnVtYmVyIG9mCnNpbXVsdGFuZW91
cyBtYXBwaW5ncyBvZiBhIHNpbmdsZSBNRk4sIGludHJvZHVjZQpyYWRpeF90
cmVlX3t1bG9uZ190b19wdHIscHRyX3RvX3Vsb25nfSBwYXJhbGxlbGluZwpy
YWRpeF90cmVlX3tpbnRfdG9fcHRyLHB0cl90b19pbnR9LgoKQXMgYSBjb25z
ZXF1ZW5jZSBsb2NraW5nIGNoYW5nZXMgYXJlIGFsc28gYXBwbGljYWJsZTog
V2l0aCB0aGVyZSBubwpsb25nZXIgYmVpbmcgYW55IGluc3BlY3Rpb24gb2Yg
dGhlIHJlbW90ZSBkb21haW4ncyBhY3RpdmUgZW50cmllcywKdGhlcmUncyBh
bHNvIG5vIG5lZWQgYW55bW9yZSB0byBob2xkIHRoZSByZW1vdGUgZG9tYWlu
J3MgZ3JhbnQgdGFibGUKbG9jay4gQW5kIHNpbmNlIHdlJ3JlIG5vIGxvbmdl
ciBpdGVyYXRpbmcgb3ZlciB0aGUgbG9jYWwgZG9tYWluJ3MgbWFwCnRyYWNr
IHRhYmxlLCB0aGUgbG9jayBpbiBtYXBfZ3JhbnRfcmVmKCkgY2FuIGFsc28g
YmUgZHJvcHBlZCBiZWZvcmUgdGhlCm5ldyBtYXB0cmFjayBlbnRyeSBhY3R1
YWxseSBnZXRzIHBvcHVsYXRlZC4KCkFzIGEgbmljZSBzaWRlIGVmZmVjdCB0
aGlzIGFsc28gcmVkdWNlcyB0aGUgbnVtYmVyIG9mIElPTU1VIG9wZXJhdGlv
bnMKaW4gdW5tYXBfY29tbW9uKCk6IFByZXZpb3VzbHkgd2Ugd291bGQgaGF2
ZSAiZXN0YWJsaXNoZWQiIGEgcmVhZGFibGUKbWFwcGluZyB3aGVuZXZlciB3
ZSBkaWRuJ3QgZmluZCBhIHdyaXRhYmxlIGVudHJ5IGFueW1vcmUgKHlldCwg
b2YKY291cnNlLCBhdCBsZWFzdCBvbmUgcmVhZGFibGUgb25lKS4gQnV0IHdl
IG9ubHkgbmVlZCB0byBkbyB0aGlzIGlmIHdlCmFjdHVhbGx5IGRyb3BwZWQg
dGhlIGxhc3Qgd3JpdGFibGUgZW50cnksIG5vdCBpZiB0aGVyZSB3ZXJlIG5v
bmUgYWxyZWFkeQpiZWZvcmUuCgpUaGlzIGlzIHBhcnQgb2YgQ1ZFLTIwMjEt
Mjg2OTggLyBYU0EtMzgwLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2gg
PGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTogSnVsaWVuIEdyYWxs
IDxqZ3JhbGxAYW1hem9uLmNvbT4KCi0tLSBhL3hlbi9jb21tb24vZ3JhbnRf
dGFibGUuYworKysgYi94ZW4vY29tbW9uL2dyYW50X3RhYmxlLmMKQEAgLTM2
LDYgKzM2LDcgQEAKICNpbmNsdWRlIDx4ZW4vaW9tbXUuaD4KICNpbmNsdWRl
IDx4ZW4vcGFnaW5nLmg+CiAjaW5jbHVkZSA8eGVuL2tleWhhbmRsZXIuaD4K
KyNpbmNsdWRlIDx4ZW4vcmFkaXgtdHJlZS5oPgogI2luY2x1ZGUgPHhlbi92
bWFwLmg+CiAjaW5jbHVkZSA8eGVuL25vc3BlYy5oPgogI2luY2x1ZGUgPHhz
bS94c20uaD4KQEAgLTgxLDggKzgyLDEzIEBAIHN0cnVjdCBncmFudF90YWJs
ZSB7CiAgICAgZ3JhbnRfc3RhdHVzX3QgICAgICAgKipzdGF0dXM7CiAgICAg
LyogQWN0aXZlIGdyYW50IHRhYmxlLiAqLwogICAgIHN0cnVjdCBhY3RpdmVf
Z3JhbnRfZW50cnkgKiphY3RpdmU7Ci0gICAgLyogTWFwcGluZyB0cmFja2lu
ZyB0YWJsZSBwZXIgdmNwdS4gKi8KKyAgICAvKiBIYW5kbGUtaW5kZXhlZCB0
cmFja2luZyB0YWJsZSBvZiBtYXBwaW5ncy4gKi8KICAgICBzdHJ1Y3QgZ3Jh
bnRfbWFwcGluZyAqKm1hcHRyYWNrOworICAgIC8qCisgICAgICogTUZOLWlu
ZGV4ZWQgdHJhY2tpbmcgdHJlZSBvZiBtYXBwaW5ncywgaWYgbmVlZGVkLiAg
Tm90ZSB0aGF0IHRoaXMgaXMKKyAgICAgKiBwcm90ZWN0ZWQgYnkgQGxvY2ss
IG5vdCBAbWFwdHJhY2tfbG9jay4KKyAgICAgKi8KKyAgICBzdHJ1Y3QgcmFk
aXhfdHJlZV9yb290IG1hcHRyYWNrX3RyZWU7CiAKICAgICAvKiBEb21haW4g
dG8gd2hpY2ggdGhpcyBzdHJ1Y3QgZ3JhbnRfdGFibGUgYmVsb25ncy4gKi8K
ICAgICBjb25zdCBzdHJ1Y3QgZG9tYWluICpkb21haW47CkBAIC00NjAsMzQg
KzQ2Niw2IEBAIHN0YXRpYyBpbnQgZ2V0X3BhZ2VkX2ZyYW1lKHVuc2lnbmVk
IGxvbmcKICAgICByZXR1cm4gR05UU1Rfb2theTsKIH0KIAotc3RhdGljIGlu
bGluZSB2b2lkCi1kb3VibGVfZ3RfbG9jayhzdHJ1Y3QgZ3JhbnRfdGFibGUg
KmxndCwgc3RydWN0IGdyYW50X3RhYmxlICpyZ3QpCi17Ci0gICAgLyoKLSAg
ICAgKiBTZWUgbWFwa2luZCgpIGZvciB3aHkgdGhlIHdyaXRlIGxvY2sgaXMg
YWxzbyByZXF1aXJlZCBmb3IgdGhlCi0gICAgICogcmVtb3RlIGRvbWFpbi4K
LSAgICAgKi8KLSAgICBpZiAoIGxndCA8IHJndCApCi0gICAgewotICAgICAg
ICBncmFudF93cml0ZV9sb2NrKGxndCk7Ci0gICAgICAgIGdyYW50X3dyaXRl
X2xvY2socmd0KTsKLSAgICB9Ci0gICAgZWxzZQotICAgIHsKLSAgICAgICAg
aWYgKCBsZ3QgIT0gcmd0ICkKLSAgICAgICAgICAgIGdyYW50X3dyaXRlX2xv
Y2socmd0KTsKLSAgICAgICAgZ3JhbnRfd3JpdGVfbG9jayhsZ3QpOwotICAg
IH0KLX0KLQotc3RhdGljIGlubGluZSB2b2lkCi1kb3VibGVfZ3RfdW5sb2Nr
KHN0cnVjdCBncmFudF90YWJsZSAqbGd0LCBzdHJ1Y3QgZ3JhbnRfdGFibGUg
KnJndCkKLXsKLSAgICBncmFudF93cml0ZV91bmxvY2sobGd0KTsKLSAgICBp
ZiAoIGxndCAhPSByZ3QgKQotICAgICAgICBncmFudF93cml0ZV91bmxvY2so
cmd0KTsKLX0KLQogI2RlZmluZSBJTlZBTElEX01BUFRSQUNLX0hBTkRMRSBV
SU5UX01BWAogCiBzdGF0aWMgaW5saW5lIGdyYW50X2hhbmRsZV90CkBAIC05
MDcsNDEgKzg4NSwxNyBAQCBzdGF0aWMgc3RydWN0IGFjdGl2ZV9ncmFudF9l
bnRyeSAqZ3JhbnRfCiAgICAgcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7CiB9
CiAKLSNkZWZpbmUgTUFQS0lORF9SRUFEIDEKLSNkZWZpbmUgTUFQS0lORF9X
UklURSAyCi1zdGF0aWMgdW5zaWduZWQgaW50IG1hcGtpbmQoCi0gICAgc3Ry
dWN0IGdyYW50X3RhYmxlICpsZ3QsIGNvbnN0IHN0cnVjdCBkb21haW4gKnJk
LCBtZm5fdCBtZm4pCi17Ci0gICAgc3RydWN0IGdyYW50X21hcHBpbmcgKm1h
cDsKLSAgICBncmFudF9oYW5kbGVfdCBoYW5kbGUsIGxpbWl0ID0gbGd0LT5t
YXB0cmFja19saW1pdDsKLSAgICB1bnNpZ25lZCBpbnQga2luZCA9IDA7Ci0K
LSAgICAvKgotICAgICAqIE11c3QgaGF2ZSB0aGUgbG9jYWwgZG9tYWluJ3Mg
Z3JhbnQgdGFibGUgd3JpdGUgbG9jayB3aGVuCi0gICAgICogaXRlcmF0aW5n
IG92ZXIgaXRzIG1hcHRyYWNrIGVudHJpZXMuCi0gICAgICovCi0gICAgQVNT
RVJUKHBlcmNwdV9yd19pc193cml0ZV9sb2NrZWQoJmxndC0+bG9jaykpOwot
ICAgIC8qCi0gICAgICogTXVzdCBoYXZlIHRoZSByZW1vdGUgZG9tYWluJ3Mg
Z3JhbnQgdGFibGUgd3JpdGUgbG9jayB3aGlsZQotICAgICAqIGNvdW50aW5n
IGl0cyBhY3RpdmUgZW50cmllcy4KLSAgICAgKi8KLSAgICBBU1NFUlQocGVy
Y3B1X3J3X2lzX3dyaXRlX2xvY2tlZCgmcmQtPmdyYW50X3RhYmxlLT5sb2Nr
KSk7Ci0KLSAgICBzbXBfcm1iKCk7Ci0KLSAgICBmb3IgKCBoYW5kbGUgPSAw
OyAhKGtpbmQgJiBNQVBLSU5EX1dSSVRFKSAmJiBoYW5kbGUgPCBsaW1pdDsg
aGFuZGxlKysgKQotICAgIHsKLSAgICAgICAgbWFwID0gJm1hcHRyYWNrX2Vu
dHJ5KGxndCwgaGFuZGxlKTsKLSAgICAgICAgaWYgKCAhKG1hcC0+ZmxhZ3Mg
JiAoR05UTUFQX2RldmljZV9tYXB8R05UTUFQX2hvc3RfbWFwKSkgfHwKLSAg
ICAgICAgICAgICBtYXAtPmRvbWlkICE9IHJkLT5kb21haW5faWQgKQotICAg
ICAgICAgICAgY29udGludWU7Ci0gICAgICAgIGlmICggbWZuX2VxKF9hY3Rp
dmVfZW50cnkocmQtPmdyYW50X3RhYmxlLCBtYXAtPnJlZikubWZuLCBtZm4p
ICkKLSAgICAgICAgICAgIGtpbmQgfD0gbWFwLT5mbGFncyAmIEdOVE1BUF9y
ZWFkb25seSA/Ci0gICAgICAgICAgICAgICAgICAgIE1BUEtJTkRfUkVBRCA6
IE1BUEtJTkRfV1JJVEU7Ci0gICAgfQotCi0gICAgcmV0dXJuIGtpbmQ7Ci19
Cit1bmlvbiBtYXB0cmFja19ub2RlIHsKKyAgICBzdHJ1Y3QgeworICAgICAg
ICAvKiBSYWRpeCB0cmVlIHNsb3QgcG9pbnRlcnMgdXNlIHR3byBvZiB0aGUg
Yml0cy4gKi8KKyNpZmRlZiBfX0JJR19FTkRJQU5fQklURklFTEQKKyAgICAg
ICAgdW5zaWduZWQgbG9uZyAgICA6IDI7CisjZW5kaWYKKyAgICAgICAgdW5z
aWduZWQgbG9uZyByZCA6IEJJVFNfUEVSX0xPTkcgLyAyIC0gMTsKKyAgICAg
ICAgdW5zaWduZWQgbG9uZyB3ciA6IEJJVFNfUEVSX0xPTkcgLyAyIC0gMTsK
KyAgICB9IGNudDsKKyAgICB1bnNpZ25lZCBsb25nIHJhdzsKK307CiAKIHN0
YXRpYyB2b2lkCiBtYXBfZ3JhbnRfcmVmKApAQCAtOTYxLDcgKzkxNSw2IEBA
IG1hcF9ncmFudF9yZWYoCiAgICAgc3RydWN0IGdyYW50X21hcHBpbmcgKm10
OwogICAgIGdyYW50X2VudHJ5X2hlYWRlcl90ICpzaGFoOwogICAgIHVpbnQx
Nl90ICpzdGF0dXM7Ci0gICAgYm9vbF90IG5lZWRfaW9tbXU7CiAKICAgICBs
ZWQgPSBjdXJyZW50OwogICAgIGxkID0gbGVkLT5kb21haW47CkBAIC0xMTgx
LDMxICsxMTM0LDc1IEBAIG1hcF9ncmFudF9yZWYoCiAgICAgICogYXMgbWVt
LXNoYXJpbmcgYW5kIElPTU1VIHVzZSBhcmUgaW5jb21wYXRpYmxlKS4gVGhl
IGRvbV9pbyBjYXNlIHdvdWxkCiAgICAgICogbmVlZCBjaGVja2luZyBzZXBh
cmF0ZWx5IGlmIHdlIGNvbXBhcmVkIGFnYWluc3Qgb3duZXIgaGVyZS4KICAg
ICAgKi8KLSAgICBuZWVkX2lvbW11ID0gbGQgIT0gcmQgJiYgZ250dGFiX25l
ZWRfaW9tbXVfbWFwcGluZyhsZCk7Ci0gICAgaWYgKCBuZWVkX2lvbW11ICkK
KyAgICBpZiAoIGxkICE9IHJkICYmIGdudHRhYl9uZWVkX2lvbW11X21hcHBp
bmcobGQpICkKICAgICB7CisgICAgICAgIHVuaW9uIG1hcHRyYWNrX25vZGUg
bm9kZSA9IHsKKyAgICAgICAgICAgIC5jbnQucmQgPSAhIShvcC0+ZmxhZ3Mg
JiBHTlRNQVBfcmVhZG9ubHkpLAorICAgICAgICAgICAgLmNudC53ciA9ICEo
b3AtPmZsYWdzICYgR05UTUFQX3JlYWRvbmx5KSwKKyAgICAgICAgfTsKKyAg
ICAgICAgaW50IGVycjsKKyAgICAgICAgdm9pZCAqKnNsb3QgPSBOVUxMOwog
ICAgICAgICB1bnNpZ25lZCBpbnQga2luZDsKIAotICAgICAgICBkb3VibGVf
Z3RfbG9jayhsZ3QsIHJndCk7CisgICAgICAgIGdyYW50X3dyaXRlX2xvY2so
bGd0KTsKKworICAgICAgICBlcnIgPSByYWRpeF90cmVlX2luc2VydCgmbGd0
LT5tYXB0cmFja190cmVlLCBtZm5feChtZm4pLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICByYWRpeF90cmVlX3Vsb25nX3RvX3B0cihub2Rl
LnJhdykpOworICAgICAgICBpZiAoIGVyciA9PSAtRUVYSVNUICkKKyAgICAg
ICAgeworICAgICAgICAgICAgc2xvdCA9IHJhZGl4X3RyZWVfbG9va3VwX3Ns
b3QoJmxndC0+bWFwdHJhY2tfdHJlZSwgbWZuX3gobWZuKSk7CisgICAgICAg
ICAgICBpZiAoIGxpa2VseShzbG90KSApCisgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgbm9kZS5yYXcgPSByYWRpeF90cmVlX3B0cl90b191bG9u
Zygqc2xvdCk7CisgICAgICAgICAgICAgICAgZXJyID0gLUVCVVNZOworCisg
ICAgICAgICAgICAgICAgLyogVXBkYXRlIG5vZGUgb25seSB3aGVuIHJlZmNv
dW50IGRvZXNuJ3Qgb3ZlcmZsb3cuICovCisgICAgICAgICAgICAgICAgaWYg
KCBvcC0+ZmxhZ3MgJiBHTlRNQVBfcmVhZG9ubHkgPyArK25vZGUuY250LnJk
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgOiArK25vZGUuY250LndyICkKKyAgICAgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgICAgIHJhZGl4X3RyZWVfcmVwbGFjZV9zbG90KHNs
b3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHJhZGl4X3RyZWVfdWxvbmdfdG9fcHRyKG5vZGUucmF3KSk7CisgICAg
ICAgICAgICAgICAgICAgIGVyciA9IDA7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAg
ICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOworICAgICAgICB9CiAKICAgICAg
ICAgLyoKICAgICAgICAgICogV2UncmUgbm90IHRyYW5zbGF0ZWQsIHNvIHdl
IGtub3cgdGhhdCBkZm5zIGFuZCBtZm5zIGFyZQogICAgICAgICAgKiB0aGUg
c2FtZSB0aGluZ3MsIHNvIHRoZSBJT01NVSBlbnRyeSBpcyBhbHdheXMgMS10
by0xLgogICAgICAgICAgKi8KLSAgICAgICAga2luZCA9IG1hcGtpbmQobGd0
LCByZCwgbWZuKTsKLSAgICAgICAgaWYgKCAhKG9wLT5mbGFncyAmIEdOVE1B
UF9yZWFkb25seSkgJiYKLSAgICAgICAgICAgICAhKGtpbmQgJiBNQVBLSU5E
X1dSSVRFKSApCisgICAgICAgIGlmICggIShvcC0+ZmxhZ3MgJiBHTlRNQVBf
cmVhZG9ubHkpICYmIG5vZGUuY250LndyID09IDEgKQogICAgICAgICAgICAg
a2luZCA9IElPTU1VRl9yZWFkYWJsZSB8IElPTU1VRl93cml0YWJsZTsKLSAg
ICAgICAgZWxzZSBpZiAoICFraW5kICkKKyAgICAgICAgZWxzZSBpZiAoIChv
cC0+ZmxhZ3MgJiBHTlRNQVBfcmVhZG9ubHkpICYmCisgICAgICAgICAgICAg
ICAgICBub2RlLmNudC5yZCA9PSAxICYmICFub2RlLmNudC53ciApCiAgICAg
ICAgICAgICBraW5kID0gSU9NTVVGX3JlYWRhYmxlOwogICAgICAgICBlbHNl
CiAgICAgICAgICAgICBraW5kID0gMDsKLSAgICAgICAgaWYgKCBraW5kICYm
IGlvbW11X2xlZ2FjeV9tYXAobGQsIF9kZm4obWZuX3gobWZuKSksIG1mbiwg
MCwga2luZCkgKQorICAgICAgICBpZiAoIGVyciB8fAorICAgICAgICAgICAg
IChraW5kICYmIGlvbW11X2xlZ2FjeV9tYXAobGQsIF9kZm4obWZuX3gobWZu
KSksIG1mbiwgMCwga2luZCkpICkKICAgICAgICAgewotICAgICAgICAgICAg
ZG91YmxlX2d0X3VubG9jayhsZ3QsIHJndCk7CisgICAgICAgICAgICBpZiAo
ICFlcnIgKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmICgg
c2xvdCApCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAg
ICBvcC0+ZmxhZ3MgJiBHTlRNQVBfcmVhZG9ubHkgPyBub2RlLmNudC5yZC0t
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA6IG5vZGUuY250LndyLS07CisgICAgICAgICAgICAgICAgICAgIHJh
ZGl4X3RyZWVfcmVwbGFjZV9zbG90KHNsb3QsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhZGl4X3RyZWVfdWxvbmdf
dG9fcHRyKG5vZGUucmF3KSk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgcmFkaXhfdHJl
ZV9kZWxldGUoJmxndC0+bWFwdHJhY2tfdHJlZSwgbWZuX3gobWZuKSk7Cisg
ICAgICAgICAgICB9CisKICAgICAgICAgICAgIHJjID0gR05UU1RfZ2VuZXJh
bF9lcnJvcjsKLSAgICAgICAgICAgIGdvdG8gdW5kb19vdXQ7CiAgICAgICAg
IH0KKworICAgICAgICBncmFudF93cml0ZV91bmxvY2sobGd0KTsKKworICAg
ICAgICBpZiAoIHJjICE9IEdOVFNUX29rYXkgKQorICAgICAgICAgICAgZ290
byB1bmRvX291dDsKICAgICB9CiAKICAgICBUUkFDRV8xRChUUkNfTUVNX1BB
R0VfR1JBTlRfTUFQLCBvcC0+ZG9tKTsKQEAgLTEyMTMsMTAgKzEyMTAsNiBA
QCBtYXBfZ3JhbnRfcmVmKAogICAgIC8qCiAgICAgICogQWxsIG1hcHRyYWNr
IGVudHJ5IHVzZXJzIGNoZWNrIG10LT5mbGFncyBmaXJzdCBiZWZvcmUgdXNp
bmcgdGhlCiAgICAgICogb3RoZXIgZmllbGRzIHNvIGp1c3QgZW5zdXJlIHRo
ZSBmbGFncyBmaWVsZCBpcyBzdG9yZWQgbGFzdC4KLSAgICAgKgotICAgICAq
IEhvd2V2ZXIsIGlmIGdudHRhYl9uZWVkX2lvbW11X21hcHBpbmcoKSB0aGVu
IHRoaXMgd291bGQgcmFjZQotICAgICAqIHdpdGggYSBjb25jdXJyZW50IG1h
cGtpbmQoKSBjYWxsIChvbiBhbiB1bm1hcCwgZm9yIGV4YW1wbGUpCi0gICAg
ICogYW5kIGEgbG9jayBpcyByZXF1aXJlZC4KICAgICAgKi8KICAgICBtdCA9
ICZtYXB0cmFja19lbnRyeShsZ3QsIGhhbmRsZSk7CiAgICAgbXQtPmRvbWlk
ID0gb3AtPmRvbTsKQEAgLTEyMjQsOSArMTIxNyw2IEBAIG1hcF9ncmFudF9y
ZWYoCiAgICAgc21wX3dtYigpOwogICAgIHdyaXRlX2F0b21pYygmbXQtPmZs
YWdzLCBvcC0+ZmxhZ3MpOwogCi0gICAgaWYgKCBuZWVkX2lvbW11ICkKLSAg
ICAgICAgZG91YmxlX2d0X3VubG9jayhsZ3QsIHJndCk7Ci0KICAgICBvcC0+
ZGV2X2J1c19hZGRyID0gbWZuX3RvX21hZGRyKG1mbik7CiAgICAgb3AtPmhh
bmRsZSAgICAgICA9IGhhbmRsZTsKICAgICBvcC0+c3RhdHVzICAgICAgID0g
R05UU1Rfb2theTsKQEAgLTE0NDgsMTkgKzE0MzgsMzQgQEAgdW5tYXBfY29t
bW9uKAogICAgIC8qIFNlZSB0aGUgcmVzcGVjdGl2ZSBjb21tZW50IGluIG1h
cF9ncmFudF9yZWYoKS4gKi8KICAgICBpZiAoIHJjID09IEdOVFNUX29rYXkg
JiYgbGQgIT0gcmQgJiYgZ250dGFiX25lZWRfaW9tbXVfbWFwcGluZyhsZCkg
KQogICAgIHsKLSAgICAgICAgdW5zaWduZWQgaW50IGtpbmQ7CisgICAgICAg
IHZvaWQgKipzbG90OworICAgICAgICB1bmlvbiBtYXB0cmFja19ub2RlIG5v
ZGU7CiAgICAgICAgIGludCBlcnIgPSAwOwogCi0gICAgICAgIGRvdWJsZV9n
dF9sb2NrKGxndCwgcmd0KTsKKyAgICAgICAgZ3JhbnRfd3JpdGVfbG9jayhs
Z3QpOworICAgICAgICBzbG90ID0gcmFkaXhfdHJlZV9sb29rdXBfc2xvdCgm
bGd0LT5tYXB0cmFja190cmVlLCBtZm5feChvcC0+bWZuKSk7CisgICAgICAg
IG5vZGUucmF3ID0gbGlrZWx5KHNsb3QpID8gcmFkaXhfdHJlZV9wdHJfdG9f
dWxvbmcoKnNsb3QpIDogMDsKKworICAgICAgICAvKiBSZWZjb3VudCBtdXN0
IG5vdCB1bmRlcmZsb3cuICovCisgICAgICAgIGlmICggIShmbGFncyAmIEdO
VE1BUF9yZWFkb25seSA/IG5vZGUuY250LnJkLS0KKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDogbm9kZS5jbnQud3ItLSkgKQor
ICAgICAgICAgICAgQlVHKCk7CiAKLSAgICAgICAga2luZCA9IG1hcGtpbmQo
bGd0LCByZCwgb3AtPm1mbik7Ci0gICAgICAgIGlmICggIWtpbmQgKQorICAg
ICAgICBpZiAoICFub2RlLnJhdyApCiAgICAgICAgICAgICBlcnIgPSBpb21t
dV9sZWdhY3lfdW5tYXAobGQsIF9kZm4obWZuX3gob3AtPm1mbikpLCAwKTsK
LSAgICAgICAgZWxzZSBpZiAoICEoa2luZCAmIE1BUEtJTkRfV1JJVEUpICkK
KyAgICAgICAgZWxzZSBpZiAoICEoZmxhZ3MgJiBHTlRNQVBfcmVhZG9ubHkp
ICYmICFub2RlLmNudC53ciApCiAgICAgICAgICAgICBlcnIgPSBpb21tdV9s
ZWdhY3lfbWFwKGxkLCBfZGZuKG1mbl94KG9wLT5tZm4pKSwgb3AtPm1mbiwg
MCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU9NTVVG
X3JlYWRhYmxlKTsKIAotICAgICAgICBkb3VibGVfZ3RfdW5sb2NrKGxndCwg
cmd0KTsKKyAgICAgICAgaWYgKCBlcnIgKQorICAgICAgICAgICAgOworICAg
ICAgICBlbHNlIGlmICggIW5vZGUucmF3ICkKKyAgICAgICAgICAgIHJhZGl4
X3RyZWVfZGVsZXRlKCZsZ3QtPm1hcHRyYWNrX3RyZWUsIG1mbl94KG9wLT5t
Zm4pKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmFkaXhfdHJlZV9y
ZXBsYWNlX3Nsb3Qoc2xvdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHJhZGl4X3RyZWVfdWxvbmdfdG9fcHRyKG5vZGUucmF3KSk7
CisKKyAgICAgICAgZ3JhbnRfd3JpdGVfdW5sb2NrKGxndCk7CiAKICAgICAg
ICAgaWYgKCBlcnIgKQogICAgICAgICAgICAgcmMgPSBHTlRTVF9nZW5lcmFs
X2Vycm9yOwpAQCAtMTkxOCw2ICsxOTIzLDggQEAgaW50IGdyYW50X3RhYmxl
X2luaXQoc3RydWN0IGRvbWFpbiAqZCwgaQogICAgICAgICBndC0+bWFwdHJh
Y2sgPSB2emFsbG9jKGd0LT5tYXhfbWFwdHJhY2tfZnJhbWVzICogc2l6ZW9m
KCpndC0+bWFwdHJhY2spKTsKICAgICAgICAgaWYgKCBndC0+bWFwdHJhY2sg
PT0gTlVMTCApCiAgICAgICAgICAgICBnb3RvIG91dDsKKworICAgICAgICBy
YWRpeF90cmVlX2luaXQoJmd0LT5tYXB0cmFja190cmVlKTsKICAgICB9CiAK
ICAgICAvKiBTaGFyZWQgZ3JhbnQgdGFibGUuICovCkBAIC0zNzAxLDYgKzM3
MDgsNyBAQCBpbnQgZ250dGFiX3JlbGVhc2VfbWFwcGluZ3Moc3RydWN0IGRv
bWFpCiAgICAgZm9yICggaGFuZGxlID0gZ3QtPm1hcHRyYWNrX2xpbWl0OyBo
YW5kbGU7ICkKICAgICB7CiAgICAgICAgIHVuc2lnbmVkIGludCBjbGVhcl9m
bGFncyA9IDA7CisgICAgICAgIG1mbl90IG1mbjsKIAogICAgICAgICAvKgog
ICAgICAgICAgKiBEZWFsIHdpdGggZnVsbCBwYWdlcyBzdWNoIHRoYXQgdGhl
aXIgZnJlZWluZyAoaW4gdGhlIGJvZHkgb2YgdGhlCkBAIC0zODA2LDE3ICsz
ODE0LDMxIEBAIGludCBnbnR0YWJfcmVsZWFzZV9tYXBwaW5ncyhzdHJ1Y3Qg
ZG9tYWkKICAgICAgICAgaWYgKCBjbGVhcl9mbGFncyApCiAgICAgICAgICAg
ICBnbnR0YWJfY2xlYXJfZmxhZ3MocmQsIGNsZWFyX2ZsYWdzLCBzdGF0dXMp
OwogCisgICAgICAgIG1mbiA9IGFjdC0+bWZuOworCiAgICAgICAgIGFjdGl2
ZV9lbnRyeV9yZWxlYXNlKGFjdCk7CiAgICAgICAgIGdyYW50X3JlYWRfdW5s
b2NrKHJndCk7CiAKICAgICAgICAgcmN1X3VubG9ja19kb21haW4ocmQpOwog
CiAgICAgICAgIG1hcC0+ZmxhZ3MgPSAwOworCisgICAgICAgIC8qCisgICAg
ICAgICAqIFRoaXMgaXMgZXhjZXNzaXZlIGluIHRoYXQgYSBzaW5nbGUgc3Vj
aCBjYWxsIHdvdWxkIHN1ZmZpY2UgcGVyCisgICAgICAgICAqIG1hcHBlZCBN
Rk4gKG9yIG5vbmUgYXQgYWxsLCBpZiBubyBlbnRyeSB3YXMgZXZlciBpbnNl
cnRlZCkuIEJ1dCBpdAorICAgICAgICAgKiBzaG91bGQgYmUgdGhlIGNvbW1v
biBjYXNlIGZvciBhbiBNRk4gdG8gYmUgbWFwcGVkIGp1c3Qgb25jZSwgYW5k
CisgICAgICAgICAqIHRoaXMgd2F5IHdlIGRvbid0IG5lZWQgdG8gZnVydGhl
ciBtYWludGFpbiB0aGUgY291bnRlcnMuIFdlIGFsc28KKyAgICAgICAgICog
ZG9uJ3Qgd2FudCB0byBsZWF2ZSBjbGVhbmluZyB1cCBvZiB0aGUgdHJlZSBh
cyBhIHdob2xlIHRvIHRoZSBlbmQKKyAgICAgICAgICogb2YgdGhlIGZ1bmN0
aW9uLCBhcyB0aGlzIGNvdWxkIHRha2UgcXVpdGUgc29tZSB0aW1lLgorICAg
ICAgICAgKi8KKyAgICAgICAgcmFkaXhfdHJlZV9kZWxldGUoJmd0LT5tYXB0
cmFja190cmVlLCBtZm5feChtZm4pKTsKICAgICB9CiAKICAgICBndC0+bWFw
dHJhY2tfbGltaXQgPSAwOwogICAgIEZSRUVfWEVOSEVBUF9QQUdFKGd0LT5t
YXB0cmFja1swXSk7CiAKKyAgICByYWRpeF90cmVlX2Rlc3Ryb3koJmd0LT5t
YXB0cmFja190cmVlLCBOVUxMKTsKKwogICAgIHJldHVybiAwOwogfQogCi0t
LSBhL3hlbi9pbmNsdWRlL3hlbi9yYWRpeC10cmVlLmgKKysrIGIveGVuL2lu
Y2x1ZGUveGVuL3JhZGl4LXRyZWUuaApAQCAtMTkwLDYgKzE5MCwyNSBAQCBz
dGF0aWMgaW5saW5lIGludCByYWRpeF90cmVlX3B0cl90b19pbnQoCiAgICAg
cmV0dXJuIChpbnQpKChsb25nKXB0ciA+PiAyKTsKIH0KIAorLyoqCisgKiBy
YWRpeF90cmVlX3t1bG9uZ190b19wdHIscHRyX3RvX3Vsb25nfToKKyAqCisg
KiBTYW1lIGZvciB1bnNpZ25lZCBsb25nIHZhbHVlcy4gQmV3YXJlIHRob3Vn
aCB0aGF0IG9ubHkgQklUU19QRVJfTE9ORy0yCisgKiBiaXRzIGFyZSBhY3R1
YWxseSB1c2FibGUgZm9yIHRoZSB2YWx1ZS4KKyAqLworc3RhdGljIGlubGlu
ZSB2b2lkICpyYWRpeF90cmVlX3Vsb25nX3RvX3B0cih1bnNpZ25lZCBsb25n
IHZhbCkKK3sKKyAgICB1bnNpZ25lZCBsb25nIHB0ciA9ICh2YWwgPDwgMikg
fCAweDI7CisgICAgQVNTRVJUKChwdHIgPj4gMikgPT0gdmFsKTsKKyAgICBy
ZXR1cm4gKHZvaWQgKilwdHI7Cit9CisKK3N0YXRpYyBpbmxpbmUgdW5zaWdu
ZWQgbG9uZyByYWRpeF90cmVlX3B0cl90b191bG9uZyh2b2lkICpwdHIpCit7
CisgICAgQVNTRVJUKCgodW5zaWduZWQgbG9uZylwdHIgJiAweDMpID09IDB4
Mik7CisgICAgcmV0dXJuICh1bnNpZ25lZCBsb25nKXB0ciA+PiAyOworfQor
CiBpbnQgcmFkaXhfdHJlZV9pbnNlcnQoc3RydWN0IHJhZGl4X3RyZWVfcm9v
dCAqLCB1bnNpZ25lZCBsb25nLCB2b2lkICopOwogdm9pZCAqcmFkaXhfdHJl
ZV9sb29rdXAoc3RydWN0IHJhZGl4X3RyZWVfcm9vdCAqLCB1bnNpZ25lZCBs
b25nKTsKIHZvaWQgKipyYWRpeF90cmVlX2xvb2t1cF9zbG90KHN0cnVjdCBy
YWRpeF90cmVlX3Jvb3QgKiwgdW5zaWduZWQgbG9uZyk7Cg==

--=separator
Content-Type: application/octet-stream; name="xsa380/xsa380-4.14-1.patch"
Content-Disposition: attachment; filename="xsa380/xsa380-4.14-1.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBnbnR0YWI6IGFkZCBwcmVlbXB0aW9uIGNoZWNrIHRvIGdudHRhYl9yZWxl
YXNlX21hcHBpbmdzKCkKCkEgZ3Vlc3QgbWF5IGRpZSB3aXRoIG1hbnkgZ3Jh
bnQgbWFwcGluZ3Mgc3RpbGwgaW4gcGxhY2UsIG9yIHNpbXBseSB3aXRoCmEg
bGFyZ2UgbWFwdHJhY2sgdGFibGUuIEl0ZXJhdGluZyB0aHJvdWdoIHRoaXMg
bWF5IHRha2UgbW9yZSB0aW1lIHRoYW4KaXMgcmVhc29uYWJsZSB3aXRob3V0
IGludGVybWVkaWF0ZSBwcmVlbXB0aW9uICh0byBydW4gc29mdGlycXMgYW5k
CnBlcmhhcHMgdGhlIHNjaGVkdWxlcikuCgpNb3ZlIHRoZSBpbnZvY2F0aW9u
IG9mIHRoZSBmdW5jdGlvbiB0byB0aGUgc2VjdGlvbiB3aGVyZSBvdGhlcgpy
ZXN0YXJ0YWJsZSBmdW5jdGlvbnMgZ2V0IGludm9rZWQsIGFuZCBoYXZlIHRo
ZSBmdW5jdGlvbiBpdHNlbGYgY2hlY2sKZm9yIHByZWVtcHRpb24gZXZlcnkg
b25jZSBpbiBhIHdoaWxlLiBIYXZlIGl0IGl0ZXJhdGUgdGhlIHRhYmxlCmJh
Y2t3YXJkcywgc3VjaCB0aGF0IGRlY3JlYXNpbmcgdGhlIG1hcHRyYWNrIGxp
bWl0IGlzIGFsbCBpdCB0YWtlcyB0bwpjb252ZXkgcmVzdGFydCBpbmZvcm1h
dGlvbi4KCkluIGRvbWFpbl90ZWFyZG93bigpIGludHJvZHVjZSBQUk9HX25v
bmUgc3VjaCB0aGF0IGluc2VydGluZyBhdCB0aGUKZnJvbnQgd2lsbCBiZSBl
YXNpZXIgZ29pbmcgZm9yd2FyZC4KClRoaXMgaXMgcGFydCBvZiBDVkUtMjAy
MS0yODY5OCAvIFhTQS0zODAuCgpSZXBvcnRlZC1ieTogQW5kcmV3IENvb3Bl
ciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KU2lnbmVkLW9mZi1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTog
SnVsaWVuIEdyYWxsIDxqZ3JhbGxAYW1hem9uLmNvbT4KCi0tLSBhL3hlbi9j
b21tb24vZG9tYWluLmMKKysrIGIveGVuL2NvbW1vbi9kb21haW4uYwpAQCAt
NzIxLDExICs3MjEsMTMgQEAgaW50IGRvbWFpbl9raWxsKHN0cnVjdCBkb21h
aW4gKmQpCiAgICAgICAgICAgICByZXR1cm4gZG9tYWluX2tpbGwoZCk7CiAg
ICAgICAgIGQtPmlzX2R5aW5nID0gRE9NRFlJTkdfZHlpbmc7CiAgICAgICAg
IGFyZ29fZGVzdHJveShkKTsKLSAgICAgICAgZ250dGFiX3JlbGVhc2VfbWFw
cGluZ3MoZCk7CiAgICAgICAgIHZudW1hX2Rlc3Ryb3koZC0+dm51bWEpOwog
ICAgICAgICBkb21haW5fc2V0X291dHN0YW5kaW5nX3BhZ2VzKGQsIDApOwog
ICAgICAgICAvKiBmYWxsdGhyb3VnaCAqLwogICAgIGNhc2UgRE9NRFlJTkdf
ZHlpbmc6CisgICAgICAgIHJjID0gZ250dGFiX3JlbGVhc2VfbWFwcGluZ3Mo
ZCk7CisgICAgICAgIGlmICggcmMgKQorICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIHJjID0gZXZ0Y2huX2Rlc3Ryb3koZCk7CiAgICAgICAgIGlmICgg
cmMgKQogICAgICAgICAgICAgYnJlYWs7Ci0tLSBhL3hlbi9jb21tb24vZ3Jh
bnRfdGFibGUuYworKysgYi94ZW4vY29tbW9uL2dyYW50X3RhYmxlLmMKQEAg
LTY0LDcgKzY0LDEzIEBAIHN0cnVjdCBncmFudF90YWJsZSB7CiAgICAgdW5z
aWduZWQgaW50ICAgICAgICAgIG5yX2dyYW50X2ZyYW1lczsKICAgICAvKiBO
dW1iZXIgb2YgZ3JhbnQgc3RhdHVzIGZyYW1lcyBzaGFyZWQgd2l0aCBndWVz
dCAoZm9yIHZlcnNpb24gMikgKi8KICAgICB1bnNpZ25lZCBpbnQgICAgICAg
ICAgbnJfc3RhdHVzX2ZyYW1lczsKLSAgICAvKiBOdW1iZXIgb2YgYXZhaWxh
YmxlIG1hcHRyYWNrIGVudHJpZXMuICovCisgICAgLyoKKyAgICAgKiBOdW1i
ZXIgb2YgYXZhaWxhYmxlIG1hcHRyYWNrIGVudHJpZXMuICBGb3IgY2xlYW51
cCBwdXJwb3NlcyBpdCBpcworICAgICAqIGltcG9ydGFudCB0byByZWFsaXpl
IHRoYXQgdGhpcyBmaWVsZCBhbmQgQG1hcHRyYWNrIGZ1cnRoZXIgZG93biB3
aWxsCisgICAgICogb25seSBldmVyIGJlIGFjY2Vzc2VkIGJ5IHRoZSBsb2Nh
bCBkb21haW4uICBUaHVzIGl0IGlzIG9rYXkgdG8gY2xlYW4KKyAgICAgKiB1
cCBlYXJseSwgYW5kIHRvIHNocmluayB0aGUgbGltaXQgZm9yIHRoZSBwdXJw
b3NlIG9mIHRyYWNraW5nIGNsZWFudXAKKyAgICAgKiBwcm9ncmVzcy4KKyAg
ICAgKi8KICAgICB1bnNpZ25lZCBpbnQgICAgICAgICAgbWFwdHJhY2tfbGlt
aXQ7CiAgICAgLyogU2hhcmVkIGdyYW50IHRhYmxlIChzZWUgaW5jbHVkZS9w
dWJsaWMvZ3JhbnRfdGFibGUuaCkuICovCiAgICAgdW5pb24gewpAQCAtMzcw
OCw5ICszNzE0LDcgQEAgZG9fZ3JhbnRfdGFibGVfb3AoCiAjaW5jbHVkZSAi
Y29tcGF0L2dyYW50X3RhYmxlLmMiCiAjZW5kaWYKIAotdm9pZAotZ250dGFi
X3JlbGVhc2VfbWFwcGluZ3MoCi0gICAgc3RydWN0IGRvbWFpbiAqZCkKK2lu
dCBnbnR0YWJfcmVsZWFzZV9tYXBwaW5ncyhzdHJ1Y3QgZG9tYWluICpkKQog
ewogICAgIHN0cnVjdCBncmFudF90YWJsZSAgICpndCA9IGQtPmdyYW50X3Rh
YmxlLCAqcmd0OwogICAgIHN0cnVjdCBncmFudF9tYXBwaW5nICptYXA7CkBA
IC0zNzI0LDEwICszNzI4LDM0IEBAIGdudHRhYl9yZWxlYXNlX21hcHBpbmdz
KAogCiAgICAgQlVHX09OKCFkLT5pc19keWluZyk7CiAKLSAgICBmb3IgKCBo
YW5kbGUgPSAwOyBoYW5kbGUgPCBndC0+bWFwdHJhY2tfbGltaXQ7IGhhbmRs
ZSsrICkKKyAgICBpZiAoICFndCB8fCAhZ3QtPm1hcHRyYWNrICkKKyAgICAg
ICAgcmV0dXJuIDA7CisKKyAgICBmb3IgKCBoYW5kbGUgPSBndC0+bWFwdHJh
Y2tfbGltaXQ7IGhhbmRsZTsgKQogICAgIHsKICAgICAgICAgdW5zaWduZWQg
aW50IGNsZWFyX2ZsYWdzID0gMDsKIAorICAgICAgICAvKgorICAgICAgICAg
KiBEZWFsIHdpdGggZnVsbCBwYWdlcyBzdWNoIHRoYXQgdGhlaXIgZnJlZWlu
ZyAoaW4gdGhlIGJvZHkgb2YgdGhlCisgICAgICAgICAqIGlmKCkpIHJlbWFp
bnMgc2ltcGxlLgorICAgICAgICAgKi8KKyAgICAgICAgaWYgKCBoYW5kbGUg
PCBndC0+bWFwdHJhY2tfbGltaXQgJiYgIShoYW5kbGUgJSBNQVBUUkFDS19Q
RVJfUEFHRSkgKQorICAgICAgICB7CisgICAgICAgICAgICAvKgorICAgICAg
ICAgICAgICogQ2hhbmdpbmcgbWFwdHJhY2tfbGltaXQgYWx0ZXJzIG5yX21h
cHRyYWNrX2ZyYW1lcygpJ2VzIHJldHVybgorICAgICAgICAgICAgICogdmFs
dWUuIEZyZWUgdGhlIHRoZW4gZXhjZXNzIHRyYWlsaW5nIHBhZ2UgcmlnaHQg
aGVyZSwgcmF0aGVyCisgICAgICAgICAgICAgKiB0aGFuIGxlYXZpbmcgaXQg
dG8gZ3JhbnRfdGFibGVfZGVzdHJveSgpIChhbmQgaW4gdHVybiByZXF1aXJp
bmcKKyAgICAgICAgICAgICAqIHRvIGxlYXZlIGd0LT5tYXB0cmFja19saW1p
dCB1bmFsdGVyZWQpLgorICAgICAgICAgICAgICovCisgICAgICAgICAgICBn
dC0+bWFwdHJhY2tfbGltaXQgPSBoYW5kbGU7CisgICAgICAgICAgICBGUkVF
X1hFTkhFQVBfUEFHRShndC0+bWFwdHJhY2tbbnJfbWFwdHJhY2tfZnJhbWVz
KGd0KV0pOworCisgICAgICAgICAgICBpZiAoIGh5cGVyY2FsbF9wcmVlbXB0
X2NoZWNrKCkgKQorICAgICAgICAgICAgICAgIHJldHVybiAtRVJFU1RBUlQ7
CisgICAgICAgIH0KKworICAgICAgICAtLWhhbmRsZTsKKwogICAgICAgICBt
YXAgPSAmbWFwdHJhY2tfZW50cnkoZ3QsIGhhbmRsZSk7CiAgICAgICAgIGlm
ICggIShtYXAtPmZsYWdzICYgKEdOVE1BUF9kZXZpY2VfbWFwfEdOVE1BUF9o
b3N0X21hcCkpICkKICAgICAgICAgICAgIGNvbnRpbnVlOwpAQCAtMzgxOCw2
ICszODQ2LDExIEBAIGdudHRhYl9yZWxlYXNlX21hcHBpbmdzKAogCiAgICAg
ICAgIG1hcC0+ZmxhZ3MgPSAwOwogICAgIH0KKworICAgIGd0LT5tYXB0cmFj
a19saW1pdCA9IDA7CisgICAgRlJFRV9YRU5IRUFQX1BBR0UoZ3QtPm1hcHRy
YWNrWzBdKTsKKworICAgIHJldHVybiAwOwogfQogCiB2b2lkIGdyYW50X3Rh
YmxlX3dhcm5fYWN0aXZlX2dyYW50cyhzdHJ1Y3QgZG9tYWluICpkKQpAQCAt
Mzg4MSw4ICszOTE0LDcgQEAgZ3JhbnRfdGFibGVfZGVzdHJveSgKICAgICAg
ICAgZnJlZV94ZW5oZWFwX3BhZ2UodC0+c2hhcmVkX3Jhd1tpXSk7CiAgICAg
eGZyZWUodC0+c2hhcmVkX3Jhdyk7CiAKLSAgICBmb3IgKCBpID0gMDsgaSA8
IG5yX21hcHRyYWNrX2ZyYW1lcyh0KTsgaSsrICkKLSAgICAgICAgZnJlZV94
ZW5oZWFwX3BhZ2UodC0+bWFwdHJhY2tbaV0pOworICAgIEFTU0VSVCghdC0+
bWFwdHJhY2tfbGltaXQpOwogICAgIHZmcmVlKHQtPm1hcHRyYWNrKTsKIAog
ICAgIGZvciAoIGkgPSAwOyBpIDwgbnJfYWN0aXZlX2dyYW50X2ZyYW1lcyh0
KTsgaSsrICkKLS0tIGEveGVuL2luY2x1ZGUveGVuL2dyYW50X3RhYmxlLmgK
KysrIGIveGVuL2luY2x1ZGUveGVuL2dyYW50X3RhYmxlLmgKQEAgLTQ3LDkg
KzQ3LDcgQEAgdm9pZCBncmFudF90YWJsZV9pbml0X3ZjcHUoc3RydWN0IHZj
cHUgKgogdm9pZCBncmFudF90YWJsZV93YXJuX2FjdGl2ZV9ncmFudHMoc3Ry
dWN0IGRvbWFpbiAqZCk7CiAKIC8qIERvbWFpbiBkZWF0aCByZWxlYXNlIG9m
IGdyYW50ZWQgbWFwcGluZ3Mgb2Ygb3RoZXIgZG9tYWlucycgbWVtb3J5LiAq
Lwotdm9pZAotZ250dGFiX3JlbGVhc2VfbWFwcGluZ3MoCi0gICAgc3RydWN0
IGRvbWFpbiAqZCk7CitpbnQgZ250dGFiX3JlbGVhc2VfbWFwcGluZ3Moc3Ry
dWN0IGRvbWFpbiAqZCk7CiAKIGludCBtZW1fc2hhcmluZ19ncmVmX3RvX2dm
bihzdHJ1Y3QgZ3JhbnRfdGFibGUgKmd0LCBncmFudF9yZWZfdCByZWYsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2ZuX3QgKmdmbiwgdWludDE2
X3QgKnN0YXR1cyk7CkBAIC03OCw3ICs3Niw3IEBAIHN0YXRpYyBpbmxpbmUg
dm9pZCBncmFudF90YWJsZV9pbml0X3ZjcHUKIAogc3RhdGljIGlubGluZSB2
b2lkIGdyYW50X3RhYmxlX3dhcm5fYWN0aXZlX2dyYW50cyhzdHJ1Y3QgZG9t
YWluICpkKSB7fQogCi1zdGF0aWMgaW5saW5lIHZvaWQgZ250dGFiX3JlbGVh
c2VfbWFwcGluZ3Moc3RydWN0IGRvbWFpbiAqZCkge30KK3N0YXRpYyBpbmxp
bmUgaW50IGdudHRhYl9yZWxlYXNlX21hcHBpbmdzKHN0cnVjdCBkb21haW4g
KmQpIHsgcmV0dXJuIDA7IH0KIAogc3RhdGljIGlubGluZSBpbnQgbWVtX3No
YXJpbmdfZ3JlZl90b19nZm4oc3RydWN0IGdyYW50X3RhYmxlICpndCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyYW50
X3JlZl90IHJlZiwK

--=separator
Content-Type: application/octet-stream; name="xsa380/xsa380-4.14-2.patch"
Content-Disposition: attachment; filename="xsa380/xsa380-4.14-2.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBnbnR0YWI6IHJlcGxhY2UgbWFwa2luZCgpCgptYXBraW5kKCkgZG9lc24n
dCBzY2FsZSB2ZXJ5IHdlbGwgd2l0aCBsYXJnZXIgbWFwdHJhY2sgZW50cnkg
Y291bnRzLAp1c2luZyBhIGJydXRlIGZvcmNlIGxpbmVhciBzZWFyY2ggdGhy
b3VnaCBhbGwgZW50cmllcywgd2l0aCB0aGUgb25seQpvcHRpb24gb2YgYW4g
ZWFybHkgbG9vcCBleGl0IGlmIGEgbWF0Y2hpbmcgd3JpdGFibGUgZW50cnkg
d2FzIGZvdW5kLgpJbnRyb2R1Y2UgYSByYWRpeCB0cmVlIGFsb25nc2lkZSB0
aGUgbWFpbiBtYXB0cmFjayB0YWJsZSwgdGh1cwphbGxvd2luZyBtdWNoIGZh
c3RlciBNRk4tYmFzZWQgbG9va3VwLiBUbyBhdm9pZCB0aGUgbmVlZCB0byBh
Y3R1YWxseQphbGxvY2F0ZSBzcGFjZSBmb3IgdGhlIGluZGl2aWR1YWwgbm9k
ZXMsIGVuY29kZSB0aGUgdHdvIGNvdW50ZXJzIGluIHRoZQpub2RlIHBvaW50
ZXJzIHRoZW1zZWx2ZXMsIHRodXMgbGltaXRpbmcgdGhlIG51bWJlciBvZiBw
ZXJtaXR0ZWQKc2ltdWx0YW5lb3VzIHIvbyBhbmQgci93IG1hcHBpbmdzIG9m
IHRoZSBzYW1lIE1GTiB0byAywrPCuS0xICg2NC1iaXQpIC8KMsK54oG1LTEg
KDMyLWJpdCkgZWFjaC4KClRvIGF2b2lkIGVuZm9yY2luZyBhbiB1bm5lY2Vz
c2FyaWx5IGxvdyBib3VuZCBvbiB0aGUgbnVtYmVyIG9mCnNpbXVsdGFuZW91
cyBtYXBwaW5ncyBvZiBhIHNpbmdsZSBNRk4sIGludHJvZHVjZQpyYWRpeF90
cmVlX3t1bG9uZ190b19wdHIscHRyX3RvX3Vsb25nfSBwYXJhbGxlbGluZwpy
YWRpeF90cmVlX3tpbnRfdG9fcHRyLHB0cl90b19pbnR9LgoKQXMgYSBjb25z
ZXF1ZW5jZSBsb2NraW5nIGNoYW5nZXMgYXJlIGFsc28gYXBwbGljYWJsZTog
V2l0aCB0aGVyZSBubwpsb25nZXIgYmVpbmcgYW55IGluc3BlY3Rpb24gb2Yg
dGhlIHJlbW90ZSBkb21haW4ncyBhY3RpdmUgZW50cmllcywKdGhlcmUncyBh
bHNvIG5vIG5lZWQgYW55bW9yZSB0byBob2xkIHRoZSByZW1vdGUgZG9tYWlu
J3MgZ3JhbnQgdGFibGUKbG9jay4gQW5kIHNpbmNlIHdlJ3JlIG5vIGxvbmdl
ciBpdGVyYXRpbmcgb3ZlciB0aGUgbG9jYWwgZG9tYWluJ3MgbWFwCnRyYWNr
IHRhYmxlLCB0aGUgbG9jayBpbiBtYXBfZ3JhbnRfcmVmKCkgY2FuIGFsc28g
YmUgZHJvcHBlZCBiZWZvcmUgdGhlCm5ldyBtYXB0cmFjayBlbnRyeSBhY3R1
YWxseSBnZXRzIHBvcHVsYXRlZC4KCkFzIGEgbmljZSBzaWRlIGVmZmVjdCB0
aGlzIGFsc28gcmVkdWNlcyB0aGUgbnVtYmVyIG9mIElPTU1VIG9wZXJhdGlv
bnMKaW4gdW5tYXBfY29tbW9uKCk6IFByZXZpb3VzbHkgd2Ugd291bGQgaGF2
ZSAiZXN0YWJsaXNoZWQiIGEgcmVhZGFibGUKbWFwcGluZyB3aGVuZXZlciB3
ZSBkaWRuJ3QgZmluZCBhIHdyaXRhYmxlIGVudHJ5IGFueW1vcmUgKHlldCwg
b2YKY291cnNlLCBhdCBsZWFzdCBvbmUgcmVhZGFibGUgb25lKS4gQnV0IHdl
IG9ubHkgbmVlZCB0byBkbyB0aGlzIGlmIHdlCmFjdHVhbGx5IGRyb3BwZWQg
dGhlIGxhc3Qgd3JpdGFibGUgZW50cnksIG5vdCBpZiB0aGVyZSB3ZXJlIG5v
bmUgYWxyZWFkeQpiZWZvcmUuCgpUaGlzIGlzIHBhcnQgb2YgQ1ZFLTIwMjEt
Mjg2OTggLyBYU0EtMzgwLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2gg
PGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTogSnVsaWVuIEdyYWxs
IDxqZ3JhbGxAYW1hem9uLmNvbT4KCi0tLSBhL3hlbi9jb21tb24vZ3JhbnRf
dGFibGUuYworKysgYi94ZW4vY29tbW9uL2dyYW50X3RhYmxlLmMKQEAgLTM3
LDYgKzM3LDcgQEAKICNpbmNsdWRlIDx4ZW4vaW9tbXUuaD4KICNpbmNsdWRl
IDx4ZW4vcGFnaW5nLmg+CiAjaW5jbHVkZSA8eGVuL2tleWhhbmRsZXIuaD4K
KyNpbmNsdWRlIDx4ZW4vcmFkaXgtdHJlZS5oPgogI2luY2x1ZGUgPHhlbi92
bWFwLmg+CiAjaW5jbHVkZSA8eGVuL25vc3BlYy5oPgogI2luY2x1ZGUgPHhz
bS94c20uaD4KQEAgLTgyLDggKzgzLDEzIEBAIHN0cnVjdCBncmFudF90YWJs
ZSB7CiAgICAgZ3JhbnRfc3RhdHVzX3QgICAgICAgKipzdGF0dXM7CiAgICAg
LyogQWN0aXZlIGdyYW50IHRhYmxlLiAqLwogICAgIHN0cnVjdCBhY3RpdmVf
Z3JhbnRfZW50cnkgKiphY3RpdmU7Ci0gICAgLyogTWFwcGluZyB0cmFja2lu
ZyB0YWJsZSBwZXIgdmNwdS4gKi8KKyAgICAvKiBIYW5kbGUtaW5kZXhlZCB0
cmFja2luZyB0YWJsZSBvZiBtYXBwaW5ncy4gKi8KICAgICBzdHJ1Y3QgZ3Jh
bnRfbWFwcGluZyAqKm1hcHRyYWNrOworICAgIC8qCisgICAgICogTUZOLWlu
ZGV4ZWQgdHJhY2tpbmcgdHJlZSBvZiBtYXBwaW5ncywgaWYgbmVlZGVkLiAg
Tm90ZSB0aGF0IHRoaXMgaXMKKyAgICAgKiBwcm90ZWN0ZWQgYnkgQGxvY2ss
IG5vdCBAbWFwdHJhY2tfbG9jay4KKyAgICAgKi8KKyAgICBzdHJ1Y3QgcmFk
aXhfdHJlZV9yb290IG1hcHRyYWNrX3RyZWU7CiAKICAgICAvKiBEb21haW4g
dG8gd2hpY2ggdGhpcyBzdHJ1Y3QgZ3JhbnRfdGFibGUgYmVsb25ncy4gKi8K
ICAgICBjb25zdCBzdHJ1Y3QgZG9tYWluICpkb21haW47CkBAIC01MDEsMzQg
KzUwNyw2IEBAIHN0YXRpYyBpbnQgZ2V0X3BhZ2VkX2ZyYW1lKHVuc2lnbmVk
IGxvbmcKICAgICByZXR1cm4gR05UU1Rfb2theTsKIH0KIAotc3RhdGljIGlu
bGluZSB2b2lkCi1kb3VibGVfZ3RfbG9jayhzdHJ1Y3QgZ3JhbnRfdGFibGUg
KmxndCwgc3RydWN0IGdyYW50X3RhYmxlICpyZ3QpCi17Ci0gICAgLyoKLSAg
ICAgKiBTZWUgbWFwa2luZCgpIGZvciB3aHkgdGhlIHdyaXRlIGxvY2sgaXMg
YWxzbyByZXF1aXJlZCBmb3IgdGhlCi0gICAgICogcmVtb3RlIGRvbWFpbi4K
LSAgICAgKi8KLSAgICBpZiAoIGxndCA8IHJndCApCi0gICAgewotICAgICAg
ICBncmFudF93cml0ZV9sb2NrKGxndCk7Ci0gICAgICAgIGdyYW50X3dyaXRl
X2xvY2socmd0KTsKLSAgICB9Ci0gICAgZWxzZQotICAgIHsKLSAgICAgICAg
aWYgKCBsZ3QgIT0gcmd0ICkKLSAgICAgICAgICAgIGdyYW50X3dyaXRlX2xv
Y2socmd0KTsKLSAgICAgICAgZ3JhbnRfd3JpdGVfbG9jayhsZ3QpOwotICAg
IH0KLX0KLQotc3RhdGljIGlubGluZSB2b2lkCi1kb3VibGVfZ3RfdW5sb2Nr
KHN0cnVjdCBncmFudF90YWJsZSAqbGd0LCBzdHJ1Y3QgZ3JhbnRfdGFibGUg
KnJndCkKLXsKLSAgICBncmFudF93cml0ZV91bmxvY2sobGd0KTsKLSAgICBp
ZiAoIGxndCAhPSByZ3QgKQotICAgICAgICBncmFudF93cml0ZV91bmxvY2so
cmd0KTsKLX0KLQogI2RlZmluZSBJTlZBTElEX01BUFRSQUNLX0hBTkRMRSBV
SU5UX01BWAogCiBzdGF0aWMgaW5saW5lIGdyYW50X2hhbmRsZV90CkBAIC05
NDgsNDEgKzkyNiwxNyBAQCBzdGF0aWMgc3RydWN0IGFjdGl2ZV9ncmFudF9l
bnRyeSAqZ3JhbnRfCiAgICAgcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7CiB9
CiAKLSNkZWZpbmUgTUFQS0lORF9SRUFEIDEKLSNkZWZpbmUgTUFQS0lORF9X
UklURSAyCi1zdGF0aWMgdW5zaWduZWQgaW50IG1hcGtpbmQoCi0gICAgc3Ry
dWN0IGdyYW50X3RhYmxlICpsZ3QsIGNvbnN0IHN0cnVjdCBkb21haW4gKnJk
LCBtZm5fdCBtZm4pCi17Ci0gICAgc3RydWN0IGdyYW50X21hcHBpbmcgKm1h
cDsKLSAgICBncmFudF9oYW5kbGVfdCBoYW5kbGUsIGxpbWl0ID0gbGd0LT5t
YXB0cmFja19saW1pdDsKLSAgICB1bnNpZ25lZCBpbnQga2luZCA9IDA7Ci0K
LSAgICAvKgotICAgICAqIE11c3QgaGF2ZSB0aGUgbG9jYWwgZG9tYWluJ3Mg
Z3JhbnQgdGFibGUgd3JpdGUgbG9jayB3aGVuCi0gICAgICogaXRlcmF0aW5n
IG92ZXIgaXRzIG1hcHRyYWNrIGVudHJpZXMuCi0gICAgICovCi0gICAgQVNT
RVJUKHBlcmNwdV9yd19pc193cml0ZV9sb2NrZWQoJmxndC0+bG9jaykpOwot
ICAgIC8qCi0gICAgICogTXVzdCBoYXZlIHRoZSByZW1vdGUgZG9tYWluJ3Mg
Z3JhbnQgdGFibGUgd3JpdGUgbG9jayB3aGlsZQotICAgICAqIGNvdW50aW5n
IGl0cyBhY3RpdmUgZW50cmllcy4KLSAgICAgKi8KLSAgICBBU1NFUlQocGVy
Y3B1X3J3X2lzX3dyaXRlX2xvY2tlZCgmcmQtPmdyYW50X3RhYmxlLT5sb2Nr
KSk7Ci0KLSAgICBzbXBfcm1iKCk7Ci0KLSAgICBmb3IgKCBoYW5kbGUgPSAw
OyAhKGtpbmQgJiBNQVBLSU5EX1dSSVRFKSAmJiBoYW5kbGUgPCBsaW1pdDsg
aGFuZGxlKysgKQotICAgIHsKLSAgICAgICAgbWFwID0gJm1hcHRyYWNrX2Vu
dHJ5KGxndCwgaGFuZGxlKTsKLSAgICAgICAgaWYgKCAhKG1hcC0+ZmxhZ3Mg
JiAoR05UTUFQX2RldmljZV9tYXB8R05UTUFQX2hvc3RfbWFwKSkgfHwKLSAg
ICAgICAgICAgICBtYXAtPmRvbWlkICE9IHJkLT5kb21haW5faWQgKQotICAg
ICAgICAgICAgY29udGludWU7Ci0gICAgICAgIGlmICggbWZuX2VxKF9hY3Rp
dmVfZW50cnkocmQtPmdyYW50X3RhYmxlLCBtYXAtPnJlZikubWZuLCBtZm4p
ICkKLSAgICAgICAgICAgIGtpbmQgfD0gbWFwLT5mbGFncyAmIEdOVE1BUF9y
ZWFkb25seSA/Ci0gICAgICAgICAgICAgICAgICAgIE1BUEtJTkRfUkVBRCA6
IE1BUEtJTkRfV1JJVEU7Ci0gICAgfQotCi0gICAgcmV0dXJuIGtpbmQ7Ci19
Cit1bmlvbiBtYXB0cmFja19ub2RlIHsKKyAgICBzdHJ1Y3QgeworICAgICAg
ICAvKiBSYWRpeCB0cmVlIHNsb3QgcG9pbnRlcnMgdXNlIHR3byBvZiB0aGUg
Yml0cy4gKi8KKyNpZmRlZiBfX0JJR19FTkRJQU5fQklURklFTEQKKyAgICAg
ICAgdW5zaWduZWQgbG9uZyAgICA6IDI7CisjZW5kaWYKKyAgICAgICAgdW5z
aWduZWQgbG9uZyByZCA6IEJJVFNfUEVSX0xPTkcgLyAyIC0gMTsKKyAgICAg
ICAgdW5zaWduZWQgbG9uZyB3ciA6IEJJVFNfUEVSX0xPTkcgLyAyIC0gMTsK
KyAgICB9IGNudDsKKyAgICB1bnNpZ25lZCBsb25nIHJhdzsKK307CiAKIHN0
YXRpYyB2b2lkCiBtYXBfZ3JhbnRfcmVmKApAQCAtMTAwMSw3ICs5NTUsNiBA
QCBtYXBfZ3JhbnRfcmVmKAogICAgIHN0cnVjdCBncmFudF9tYXBwaW5nICpt
dDsKICAgICBncmFudF9lbnRyeV9oZWFkZXJfdCAqc2hhaDsKICAgICB1aW50
MTZfdCAqc3RhdHVzOwotICAgIGJvb2xfdCBuZWVkX2lvbW11OwogCiAgICAg
bGQgPSBjdXJyZW50LT5kb21haW47CiAKQEAgLTEyMjAsMzEgKzExNzMsNzUg
QEAgbWFwX2dyYW50X3JlZigKICAgICAgKiBhcyBtZW0tc2hhcmluZyBhbmQg
SU9NTVUgdXNlIGFyZSBpbmNvbXBhdGlibGUpLiBUaGUgZG9tX2lvIGNhc2Ug
d291bGQKICAgICAgKiBuZWVkIGNoZWNraW5nIHNlcGFyYXRlbHkgaWYgd2Ug
Y29tcGFyZWQgYWdhaW5zdCBvd25lciBoZXJlLgogICAgICAqLwotICAgIG5l
ZWRfaW9tbXUgPSBsZCAhPSByZCAmJiBnbnR0YWJfbmVlZF9pb21tdV9tYXBw
aW5nKGxkKTsKLSAgICBpZiAoIG5lZWRfaW9tbXUgKQorICAgIGlmICggbGQg
IT0gcmQgJiYgZ250dGFiX25lZWRfaW9tbXVfbWFwcGluZyhsZCkgKQogICAg
IHsKKyAgICAgICAgdW5pb24gbWFwdHJhY2tfbm9kZSBub2RlID0geworICAg
ICAgICAgICAgLmNudC5yZCA9ICEhKG9wLT5mbGFncyAmIEdOVE1BUF9yZWFk
b25seSksCisgICAgICAgICAgICAuY250LndyID0gIShvcC0+ZmxhZ3MgJiBH
TlRNQVBfcmVhZG9ubHkpLAorICAgICAgICB9OworICAgICAgICBpbnQgZXJy
OworICAgICAgICB2b2lkICoqc2xvdCA9IE5VTEw7CiAgICAgICAgIHVuc2ln
bmVkIGludCBraW5kOwogCi0gICAgICAgIGRvdWJsZV9ndF9sb2NrKGxndCwg
cmd0KTsKKyAgICAgICAgZ3JhbnRfd3JpdGVfbG9jayhsZ3QpOworCisgICAg
ICAgIGVyciA9IHJhZGl4X3RyZWVfaW5zZXJ0KCZsZ3QtPm1hcHRyYWNrX3Ry
ZWUsIG1mbl94KG1mbiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHJhZGl4X3RyZWVfdWxvbmdfdG9fcHRyKG5vZGUucmF3KSk7CisgICAg
ICAgIGlmICggZXJyID09IC1FRVhJU1QgKQorICAgICAgICB7CisgICAgICAg
ICAgICBzbG90ID0gcmFkaXhfdHJlZV9sb29rdXBfc2xvdCgmbGd0LT5tYXB0
cmFja190cmVlLCBtZm5feChtZm4pKTsKKyAgICAgICAgICAgIGlmICggbGlr
ZWx5KHNsb3QpICkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBu
b2RlLnJhdyA9IHJhZGl4X3RyZWVfcHRyX3RvX3Vsb25nKCpzbG90KTsKKyAg
ICAgICAgICAgICAgICBlcnIgPSAtRUJVU1k7CisKKyAgICAgICAgICAgICAg
ICAvKiBVcGRhdGUgbm9kZSBvbmx5IHdoZW4gcmVmY291bnQgZG9lc24ndCBv
dmVyZmxvdy4gKi8KKyAgICAgICAgICAgICAgICBpZiAoIG9wLT5mbGFncyAm
IEdOVE1BUF9yZWFkb25seSA/ICsrbm9kZS5jbnQucmQKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICsrbm9k
ZS5jbnQud3IgKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICAgICAgcmFkaXhfdHJlZV9yZXBsYWNlX3Nsb3Qoc2xvdCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFkaXhfdHJl
ZV91bG9uZ190b19wdHIobm9kZS5yYXcpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZXJyID0gMDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgQVNTRVJUX1VO
UkVBQ0hBQkxFKCk7CisgICAgICAgIH0KIAogICAgICAgICAvKgogICAgICAg
ICAgKiBXZSdyZSBub3QgdHJhbnNsYXRlZCwgc28gd2Uga25vdyB0aGF0IGRm
bnMgYW5kIG1mbnMgYXJlCiAgICAgICAgICAqIHRoZSBzYW1lIHRoaW5ncywg
c28gdGhlIElPTU1VIGVudHJ5IGlzIGFsd2F5cyAxLXRvLTEuCiAgICAgICAg
ICAqLwotICAgICAgICBraW5kID0gbWFwa2luZChsZ3QsIHJkLCBtZm4pOwot
ICAgICAgICBpZiAoICEob3AtPmZsYWdzICYgR05UTUFQX3JlYWRvbmx5KSAm
JgotICAgICAgICAgICAgICEoa2luZCAmIE1BUEtJTkRfV1JJVEUpICkKKyAg
ICAgICAgaWYgKCAhKG9wLT5mbGFncyAmIEdOVE1BUF9yZWFkb25seSkgJiYg
bm9kZS5jbnQud3IgPT0gMSApCiAgICAgICAgICAgICBraW5kID0gSU9NTVVG
X3JlYWRhYmxlIHwgSU9NTVVGX3dyaXRhYmxlOwotICAgICAgICBlbHNlIGlm
ICggIWtpbmQgKQorICAgICAgICBlbHNlIGlmICggKG9wLT5mbGFncyAmIEdO
VE1BUF9yZWFkb25seSkgJiYKKyAgICAgICAgICAgICAgICAgIG5vZGUuY250
LnJkID09IDEgJiYgIW5vZGUuY250LndyICkKICAgICAgICAgICAgIGtpbmQg
PSBJT01NVUZfcmVhZGFibGU7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAg
IGtpbmQgPSAwOwotICAgICAgICBpZiAoIGtpbmQgJiYgaW9tbXVfbGVnYWN5
X21hcChsZCwgX2RmbihtZm5feChtZm4pKSwgbWZuLCAwLCBraW5kKSApCisg
ICAgICAgIGlmICggZXJyIHx8CisgICAgICAgICAgICAgKGtpbmQgJiYgaW9t
bXVfbGVnYWN5X21hcChsZCwgX2RmbihtZm5feChtZm4pKSwgbWZuLCAwLCBr
aW5kKSkgKQogICAgICAgICB7Ci0gICAgICAgICAgICBkb3VibGVfZ3RfdW5s
b2NrKGxndCwgcmd0KTsKKyAgICAgICAgICAgIGlmICggIWVyciApCisgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgaWYgKCBzbG90ICkKKyAgICAg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIG9wLT5mbGFncyAm
IEdOVE1BUF9yZWFkb25seSA/IG5vZGUuY250LnJkLS0KKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbm9kZS5j
bnQud3ItLTsKKyAgICAgICAgICAgICAgICAgICAgcmFkaXhfdHJlZV9yZXBs
YWNlX3Nsb3Qoc2xvdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcmFkaXhfdHJlZV91bG9uZ190b19wdHIobm9kZS5y
YXcpKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZWxz
ZQorICAgICAgICAgICAgICAgICAgICByYWRpeF90cmVlX2RlbGV0ZSgmbGd0
LT5tYXB0cmFja190cmVlLCBtZm5feChtZm4pKTsKKyAgICAgICAgICAgIH0K
KwogICAgICAgICAgICAgcmMgPSBHTlRTVF9nZW5lcmFsX2Vycm9yOwotICAg
ICAgICAgICAgZ290byB1bmRvX291dDsKICAgICAgICAgfQorCisgICAgICAg
IGdyYW50X3dyaXRlX3VubG9jayhsZ3QpOworCisgICAgICAgIGlmICggcmMg
IT0gR05UU1Rfb2theSApCisgICAgICAgICAgICBnb3RvIHVuZG9fb3V0Owog
ICAgIH0KIAogICAgIFRSQUNFXzFEKFRSQ19NRU1fUEFHRV9HUkFOVF9NQVAs
IG9wLT5kb20pOwpAQCAtMTI1MiwxMCArMTI0OSw2IEBAIG1hcF9ncmFudF9y
ZWYoCiAgICAgLyoKICAgICAgKiBBbGwgbWFwdHJhY2sgZW50cnkgdXNlcnMg
Y2hlY2sgbXQtPmZsYWdzIGZpcnN0IGJlZm9yZSB1c2luZyB0aGUKICAgICAg
KiBvdGhlciBmaWVsZHMgc28ganVzdCBlbnN1cmUgdGhlIGZsYWdzIGZpZWxk
IGlzIHN0b3JlZCBsYXN0LgotICAgICAqCi0gICAgICogSG93ZXZlciwgaWYg
Z250dGFiX25lZWRfaW9tbXVfbWFwcGluZygpIHRoZW4gdGhpcyB3b3VsZCBy
YWNlCi0gICAgICogd2l0aCBhIGNvbmN1cnJlbnQgbWFwa2luZCgpIGNhbGwg
KG9uIGFuIHVubWFwLCBmb3IgZXhhbXBsZSkKLSAgICAgKiBhbmQgYSBsb2Nr
IGlzIHJlcXVpcmVkLgogICAgICAqLwogICAgIG10ID0gJm1hcHRyYWNrX2Vu
dHJ5KGxndCwgaGFuZGxlKTsKICAgICBtdC0+ZG9taWQgPSBvcC0+ZG9tOwpA
QCAtMTI2Myw5ICsxMjU2LDYgQEAgbWFwX2dyYW50X3JlZigKICAgICBzbXBf
d21iKCk7CiAgICAgd3JpdGVfYXRvbWljKCZtdC0+ZmxhZ3MsIG9wLT5mbGFn
cyk7CiAKLSAgICBpZiAoIG5lZWRfaW9tbXUgKQotICAgICAgICBkb3VibGVf
Z3RfdW5sb2NrKGxndCwgcmd0KTsKLQogICAgIG9wLT5kZXZfYnVzX2FkZHIg
PSBtZm5fdG9fbWFkZHIobWZuKTsKICAgICBvcC0+aGFuZGxlICAgICAgID0g
aGFuZGxlOwogICAgIG9wLT5zdGF0dXMgICAgICAgPSBHTlRTVF9va2F5OwpA
QCAtMTQ4NywxOSArMTQ3NywzNCBAQCB1bm1hcF9jb21tb24oCiAgICAgLyog
U2VlIHRoZSByZXNwZWN0aXZlIGNvbW1lbnQgaW4gbWFwX2dyYW50X3JlZigp
LiAqLwogICAgIGlmICggcmMgPT0gR05UU1Rfb2theSAmJiBsZCAhPSByZCAm
JiBnbnR0YWJfbmVlZF9pb21tdV9tYXBwaW5nKGxkKSApCiAgICAgewotICAg
ICAgICB1bnNpZ25lZCBpbnQga2luZDsKKyAgICAgICAgdm9pZCAqKnNsb3Q7
CisgICAgICAgIHVuaW9uIG1hcHRyYWNrX25vZGUgbm9kZTsKICAgICAgICAg
aW50IGVyciA9IDA7CiAKLSAgICAgICAgZG91YmxlX2d0X2xvY2sobGd0LCBy
Z3QpOworICAgICAgICBncmFudF93cml0ZV9sb2NrKGxndCk7CisgICAgICAg
IHNsb3QgPSByYWRpeF90cmVlX2xvb2t1cF9zbG90KCZsZ3QtPm1hcHRyYWNr
X3RyZWUsIG1mbl94KG9wLT5tZm4pKTsKKyAgICAgICAgbm9kZS5yYXcgPSBs
aWtlbHkoc2xvdCkgPyByYWRpeF90cmVlX3B0cl90b191bG9uZygqc2xvdCkg
OiAwOworCisgICAgICAgIC8qIFJlZmNvdW50IG11c3Qgbm90IHVuZGVyZmxv
dy4gKi8KKyAgICAgICAgaWYgKCAhKGZsYWdzICYgR05UTUFQX3JlYWRvbmx5
ID8gbm9kZS5jbnQucmQtLQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgOiBub2RlLmNudC53ci0tKSApCisgICAgICAgICAgICBC
VUcoKTsKIAotICAgICAgICBraW5kID0gbWFwa2luZChsZ3QsIHJkLCBvcC0+
bWZuKTsKLSAgICAgICAgaWYgKCAha2luZCApCisgICAgICAgIGlmICggIW5v
ZGUucmF3ICkKICAgICAgICAgICAgIGVyciA9IGlvbW11X2xlZ2FjeV91bm1h
cChsZCwgX2RmbihtZm5feChvcC0+bWZuKSksIDApOwotICAgICAgICBlbHNl
IGlmICggIShraW5kICYgTUFQS0lORF9XUklURSkgKQorICAgICAgICBlbHNl
IGlmICggIShmbGFncyAmIEdOVE1BUF9yZWFkb25seSkgJiYgIW5vZGUuY250
LndyICkKICAgICAgICAgICAgIGVyciA9IGlvbW11X2xlZ2FjeV9tYXAobGQs
IF9kZm4obWZuX3gob3AtPm1mbikpLCBvcC0+bWZuLCAwLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBJT01NVUZfcmVhZGFibGUpOwog
Ci0gICAgICAgIGRvdWJsZV9ndF91bmxvY2sobGd0LCByZ3QpOworICAgICAg
ICBpZiAoIGVyciApCisgICAgICAgICAgICA7CisgICAgICAgIGVsc2UgaWYg
KCAhbm9kZS5yYXcgKQorICAgICAgICAgICAgcmFkaXhfdHJlZV9kZWxldGUo
JmxndC0+bWFwdHJhY2tfdHJlZSwgbWZuX3gob3AtPm1mbikpOworICAgICAg
ICBlbHNlCisgICAgICAgICAgICByYWRpeF90cmVlX3JlcGxhY2Vfc2xvdChz
bG90LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFk
aXhfdHJlZV91bG9uZ190b19wdHIobm9kZS5yYXcpKTsKKworICAgICAgICBn
cmFudF93cml0ZV91bmxvY2sobGd0KTsKIAogICAgICAgICBpZiAoIGVyciAp
CiAgICAgICAgICAgICByYyA9IEdOVFNUX2dlbmVyYWxfZXJyb3I7CkBAIC0x
OTUxLDYgKzE5NTYsOCBAQCBpbnQgZ3JhbnRfdGFibGVfaW5pdChzdHJ1Y3Qg
ZG9tYWluICpkLCBpCiAgICAgICAgIGd0LT5tYXB0cmFjayA9IHZ6YWxsb2Mo
Z3QtPm1heF9tYXB0cmFja19mcmFtZXMgKiBzaXplb2YoKmd0LT5tYXB0cmFj
aykpOwogICAgICAgICBpZiAoIGd0LT5tYXB0cmFjayA9PSBOVUxMICkKICAg
ICAgICAgICAgIGdvdG8gb3V0OworCisgICAgICAgIHJhZGl4X3RyZWVfaW5p
dCgmZ3QtPm1hcHRyYWNrX3RyZWUpOwogICAgIH0KIAogICAgIC8qIFNoYXJl
ZCBncmFudCB0YWJsZS4gKi8KQEAgLTM3MzQsNiArMzc0MSw3IEBAIGludCBn
bnR0YWJfcmVsZWFzZV9tYXBwaW5ncyhzdHJ1Y3QgZG9tYWkKICAgICBmb3Ig
KCBoYW5kbGUgPSBndC0+bWFwdHJhY2tfbGltaXQ7IGhhbmRsZTsgKQogICAg
IHsKICAgICAgICAgdW5zaWduZWQgaW50IGNsZWFyX2ZsYWdzID0gMDsKKyAg
ICAgICAgbWZuX3QgbWZuOwogCiAgICAgICAgIC8qCiAgICAgICAgICAqIERl
YWwgd2l0aCBmdWxsIHBhZ2VzIHN1Y2ggdGhhdCB0aGVpciBmcmVlaW5nIChp
biB0aGUgYm9keSBvZiB0aGUKQEAgLTM4MzksMTcgKzM4NDcsMzEgQEAgaW50
IGdudHRhYl9yZWxlYXNlX21hcHBpbmdzKHN0cnVjdCBkb21haQogICAgICAg
ICBpZiAoIGNsZWFyX2ZsYWdzICkKICAgICAgICAgICAgIGdudHRhYl9jbGVh
cl9mbGFncyhyZCwgY2xlYXJfZmxhZ3MsIHN0YXR1cyk7CiAKKyAgICAgICAg
bWZuID0gYWN0LT5tZm47CisKICAgICAgICAgYWN0aXZlX2VudHJ5X3JlbGVh
c2UoYWN0KTsKICAgICAgICAgZ3JhbnRfcmVhZF91bmxvY2socmd0KTsKIAog
ICAgICAgICByY3VfdW5sb2NrX2RvbWFpbihyZCk7CiAKICAgICAgICAgbWFw
LT5mbGFncyA9IDA7CisKKyAgICAgICAgLyoKKyAgICAgICAgICogVGhpcyBp
cyBleGNlc3NpdmUgaW4gdGhhdCBhIHNpbmdsZSBzdWNoIGNhbGwgd291bGQg
c3VmZmljZSBwZXIKKyAgICAgICAgICogbWFwcGVkIE1GTiAob3Igbm9uZSBh
dCBhbGwsIGlmIG5vIGVudHJ5IHdhcyBldmVyIGluc2VydGVkKS4gQnV0IGl0
CisgICAgICAgICAqIHNob3VsZCBiZSB0aGUgY29tbW9uIGNhc2UgZm9yIGFu
IE1GTiB0byBiZSBtYXBwZWQganVzdCBvbmNlLCBhbmQKKyAgICAgICAgICog
dGhpcyB3YXkgd2UgZG9uJ3QgbmVlZCB0byBmdXJ0aGVyIG1haW50YWluIHRo
ZSBjb3VudGVycy4gV2UgYWxzbworICAgICAgICAgKiBkb24ndCB3YW50IHRv
IGxlYXZlIGNsZWFuaW5nIHVwIG9mIHRoZSB0cmVlIGFzIGEgd2hvbGUgdG8g
dGhlIGVuZAorICAgICAgICAgKiBvZiB0aGUgZnVuY3Rpb24sIGFzIHRoaXMg
Y291bGQgdGFrZSBxdWl0ZSBzb21lIHRpbWUuCisgICAgICAgICAqLworICAg
ICAgICByYWRpeF90cmVlX2RlbGV0ZSgmZ3QtPm1hcHRyYWNrX3RyZWUsIG1m
bl94KG1mbikpOwogICAgIH0KIAogICAgIGd0LT5tYXB0cmFja19saW1pdCA9
IDA7CiAgICAgRlJFRV9YRU5IRUFQX1BBR0UoZ3QtPm1hcHRyYWNrWzBdKTsK
IAorICAgIHJhZGl4X3RyZWVfZGVzdHJveSgmZ3QtPm1hcHRyYWNrX3RyZWUs
IE5VTEwpOworCiAgICAgcmV0dXJuIDA7CiB9CiAKLS0tIGEveGVuL2luY2x1
ZGUveGVuL3JhZGl4LXRyZWUuaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vcmFk
aXgtdHJlZS5oCkBAIC0xOTAsNiArMTkwLDI1IEBAIHN0YXRpYyBpbmxpbmUg
aW50IHJhZGl4X3RyZWVfcHRyX3RvX2ludCgKICAgICByZXR1cm4gKGludCko
KGxvbmcpcHRyID4+IDIpOwogfQogCisvKioKKyAqIHJhZGl4X3RyZWVfe3Vs
b25nX3RvX3B0cixwdHJfdG9fdWxvbmd9OgorICoKKyAqIFNhbWUgZm9yIHVu
c2lnbmVkIGxvbmcgdmFsdWVzLiBCZXdhcmUgdGhvdWdoIHRoYXQgb25seSBC
SVRTX1BFUl9MT05HLTIKKyAqIGJpdHMgYXJlIGFjdHVhbGx5IHVzYWJsZSBm
b3IgdGhlIHZhbHVlLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgKnJhZGl4
X3RyZWVfdWxvbmdfdG9fcHRyKHVuc2lnbmVkIGxvbmcgdmFsKQoreworICAg
IHVuc2lnbmVkIGxvbmcgcHRyID0gKHZhbCA8PCAyKSB8IDB4MjsKKyAgICBB
U1NFUlQoKHB0ciA+PiAyKSA9PSB2YWwpOworICAgIHJldHVybiAodm9pZCAq
KXB0cjsKK30KKworc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIHJhZGl4
X3RyZWVfcHRyX3RvX3Vsb25nKHZvaWQgKnB0cikKK3sKKyAgICBBU1NFUlQo
KCh1bnNpZ25lZCBsb25nKXB0ciAmIDB4MykgPT0gMHgyKTsKKyAgICByZXR1
cm4gKHVuc2lnbmVkIGxvbmcpcHRyID4+IDI7Cit9CisKIGludCByYWRpeF90
cmVlX2luc2VydChzdHJ1Y3QgcmFkaXhfdHJlZV9yb290ICosIHVuc2lnbmVk
IGxvbmcsIHZvaWQgKik7CiB2b2lkICpyYWRpeF90cmVlX2xvb2t1cChzdHJ1
Y3QgcmFkaXhfdHJlZV9yb290ICosIHVuc2lnbmVkIGxvbmcpOwogdm9pZCAq
KnJhZGl4X3RyZWVfbG9va3VwX3Nsb3Qoc3RydWN0IHJhZGl4X3RyZWVfcm9v
dCAqLCB1bnNpZ25lZCBsb25nKTsK

--=separator--


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 12:07:10 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 12:07:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172059.313885 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIrgI-0002op-O3; Wed, 25 Aug 2021 12:06:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172059.313885; Wed, 25 Aug 2021 12:06:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIrgI-0002oi-L0; Wed, 25 Aug 2021 12:06:58 +0000
Received: by outflank-mailman (input) for mailman id 172059;
 Wed, 25 Aug 2021 12:06:57 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5IQt=NQ=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIrgH-0002oZ-Gh
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 12:06:57 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id f0d1db86-059c-11ec-a945-12813bfff9fa;
 Wed, 25 Aug 2021 12:06:56 +0000 (UTC)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2058.outbound.protection.outlook.com [104.47.13.58]) (Using
 TLS) by relay.mimecast.com with ESMTP id de-mta-2-TxpwnDy7O_SU49WNmjtSnw-1;
 Wed, 25 Aug 2021 14:06:54 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5742.eurprd04.prod.outlook.com (2603:10a6:803:e5::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Wed, 25 Aug
 2021 12:06:50 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Wed, 25 Aug 2021
 12:06:50 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM4PR0501CA0052.eurprd05.prod.outlook.com (2603:10a6:200:68::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.18 via Frontend
 Transport; Wed, 25 Aug 2021 12: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>
X-Inumbo-ID: f0d1db86-059c-11ec-a945-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629893215;
	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=wMCAVBZOF1ODtKLGj/2uF9N8WOvqW5qxcorizvqLzug=;
	b=Co9XZCK+m0XND+96Cke3fK3rkcm7lRy3BBApuBtmwXd7LgklxAI2H3AZEZ6TnFrrXs88nU
	i3MlTsrflVWgO8Fo0GDxa9hRoWXXZAn3R+oBbKYHnsMK9CRtmc5SqEjdSukRSraOVMpEYz
	AuMRUP1YIZeO1KT+iMGe1ryBg+8IE3E=
X-MC-Unique: TxpwnDy7O_SU49WNmjtSnw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=brP0h+7LwmmlX7U29OL+KWg3eZSThKS01jByY1RwkB6MJeUNmqvhnJqlksbN8TXs/TCpWemlInzVO/LSObILJXMeKLtBlvm/QTiHTMUKwi8Lm2YZ8IMzQK1BPYPXoZkGXJUl2xZCQAhKr8zxUsi+VHImi+86VBpBA75NxGiG9PaV/43KgyYejfobqBtPT1ZucUSJErrlAle5uJsRFZKVutq8AkkQ92Zg1v/RE/foFsxFudy2DCOI3rCGmyvH7sTerrBugzlW/gCf2KQizhdu8ol6CmTgKLa1ePN15AYJkW0e1zUHPCmGOnRKo1mS1yuAi1I2zaSkAYOQbJbRIKRtnQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wMCAVBZOF1ODtKLGj/2uF9N8WOvqW5qxcorizvqLzug=;
 b=K62YYrPOSY7eUIGwpd4G7UsOSNyMjImOmCWMCqW6x+IHJCGZBD6pAIRzLnmUrxTyUdm9F6mlThoo7ElV6m2RGHEKqu2g5m/Hkp6QP6aXrRVdBvWaZVaJ5CIE8p3yhz5Jt0whr3rvHxJNDRNhhVdmTEvm3m6CJqJ8x/gxvS+BKSQxX3N43rW4nKmxq1zE2DzfNzEGrUtP+9fFL/YjJtcO/G6w+fHUVTzgQoURek/F6mSz/qNjIUjqodGjjO9oQGxdhZp1OZjvKAChlUHSkVa7rGxsO0qmx7JfoqZIyJkLI/xuQpSRaAj+Yoehk6BuVzczZkFO7I6yK4X4elOrBcFEtA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: Re: [PATCH 00/17] IOMMU: superpage support when not sharing
 pagetables
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>
References: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
Message-ID: <9aefc518-a85c-0b7a-9903-a30402d3191d@suse.com>
Date: Wed, 25 Aug 2021 14:06:48 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM4PR0501CA0052.eurprd05.prod.outlook.com
 (2603:10a6:200:68::20) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 00bd870c-3bce-4381-6edb-08d967c0d1da
X-MS-TrafficTypeDiagnostic: VI1PR04MB5742:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB57429BBB241F807395CD18F4B3C69@VI1PR04MB5742.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2iWh+jcq8D9hP3Hs58aq4CCQMnlbkhFZYwZ74LNiTZpB9ZA+hGMI/SsMDAYoIRrp4ROSkiz14+ZtfSc0fUxmkdXQKOVaAuVy+MiuMnBnapJJCa6AxOue3Bg2Rw9y0D0PBXzCGNd2AS3/zCHBaUPwS26/XkIIMoblJYNSJ7fP1m59DBYAYLXuWMDXjnTbtE1PpoMvViqcDC049yL+Tu0EO20dCnL7j4ONMfcvD7Bc/L+6HbT4KDrAzRuph9QENPn4S3PJZcwdVeLvItwg0M1lSWXglFLo+QMOZ1wZrvd3BxQZDTQnqOV/1LUdyBwqVR/aZkxfVYTZRujWqIjx+LqMzmzLKPFfp61cM6F2AN7K7+cmUrak8Ts2KkL7ylNW8JYKtEk8E3/qtN1eAicUd8cvcdxPGkv5e0hM1ETdckjzpuFTjymEkBgHoyNxGbpvEOCwloLAgp3lce3dHGXryGN4AysL9gFX2Wm26Bnq96tl15tt0Vt4dqZ24XyLMCLSKPG1pBjtMTJKvd7u88fF9VFX8qPCet7dMnn7j4SuocDbM2ZyQxsTr9uU6lBBHBE0TwKFfXtHnE3af50tB5JvWxI6D5dPaLs1f10yxhBijn7UsQvkQvpurBx637NSthLgxCBiQNuxwfdTNWjbguQ/06rP24nhtFX/ZzAaXqISXMZFd54qsfDZRLWvxUn5QxUKmzksa2KIVMgRgeEIGJGad9gthWyRWFTUtCt2dbjTdRhtY/H1RRH1Dahsq/0dSc19PjxZaL7JbbXxFU/3LgNoY1ePVJUkZCzLfA5T/jaEIJxhTfv6NvPE7KmEtYS8ihMm0ERv
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(39860400002)(346002)(136003)(376002)(366004)(396003)(86362001)(8676002)(478600001)(5660300002)(186003)(6916009)(4326008)(38100700002)(26005)(2906002)(966005)(8936002)(54906003)(2616005)(36756003)(83380400001)(53546011)(956004)(316002)(16576012)(31686004)(66476007)(66946007)(66556008)(6486002)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dU5zL2FmTlkxNjl4Rjk4TnIyMTMxK1Flcld4aUJiNkFQWGlHQU5rWEpNb214?=
 =?utf-8?B?K3F6WEx6b3RxT081czM5N0hsbHAyYVhHMlJiL3UxK2RNOWRxTGhtT1ZDQ0o2?=
 =?utf-8?B?NW9Temo1bm9uYWJIek5pWGlHMGtNaGlMUE5MZ2VOeGNWVEVhWXNMNUd1Z2F0?=
 =?utf-8?B?Rk1RRW1Wa1JzZUxXczFUOXJGQmR1U2VtNWJ1NnJWSnRjRVBPTU8rNjJjMjVI?=
 =?utf-8?B?RVl2cHpUNW1XbjNRbkVOV2Y4dEtpRGpoSWRYdlZ0RmF4cDF0VWtBN2ljY3dw?=
 =?utf-8?B?dmIzbkIvV1Zmd1dSZ2RmbHNmS0pMSDVvVDFxMkMwcXhrYzd4aDRwaWN4VEFD?=
 =?utf-8?B?SE10b3ZsWkNGalJFODF3MEdOa3oyQzFCQ1N5dXd6bUVIS25PZjRCU000dWFp?=
 =?utf-8?B?ZEpHVkw0NVB1Z3kwYWlZK3BKcnNGRXdPTVpvdXFCdHdZLzU0bVRwd0VQTG1J?=
 =?utf-8?B?SVFXOHBNTlFncnVBT2ZZeWo0MmxRRzhKNEJPaU1CekdkYTY0ZHhFV2JpaXhl?=
 =?utf-8?B?SFRQVUFWMVdaNWw1K1ZPRDJ6TWNZRzBtVHB5MmYrRzdNUk9sYVQzM1VzZVZM?=
 =?utf-8?B?UWlEWi91dThJb2pDeWxUS0lIZENjQ2FyVEZBdWgyVHY5Nk9YbTluVDd1L1Nt?=
 =?utf-8?B?dmp3QjNIRHZUUVpHL21OdGpuU1pZNnFhOUZGMUxDNVNpd3c2bjVJN2JMZVVm?=
 =?utf-8?B?dSt4bDROQjRSblJwZ0pkd3BEZEs1NFNxMktXVno5R3lVT1BnMGRCSDFabkkv?=
 =?utf-8?B?Mjh1eml0NStWMVRPTG4rOTRSSlR3cnJIM2lnT1oxNWtJdnFrbmE2a2tnZzNi?=
 =?utf-8?B?UUZCdzZTbDVHRlNITXl1ejdHYTE0OHN0ZDNpVE84Z1Bla01yUFN1SS9iMVJS?=
 =?utf-8?B?cjlGSFdsdnpER2ZvK3IrVFl6RnNnaTUvQXNLK3F1WTFCWUEyQXVDeWJETlBR?=
 =?utf-8?B?TVlQSm1Ra3FSSU1tcW5nZHJjTW81R1dzZE91a3B3RjM1OWtMYnFoc3N2RmhX?=
 =?utf-8?B?VXZXR0hOaWg3YU8vSnRqT1FyODZzMmJ4eHlwVzdmay94YmEyeEI5ejZGWmRQ?=
 =?utf-8?B?UHBIUmZkU1dPa0hMcC9Za2VWVVdnblpaSmkwNGxWamdEektweU9FcnlzY0VW?=
 =?utf-8?B?ZGNWTzdFdDBzeEV2Q3BxL2RXQmlpMHNuTUNrSW9kaW0wdzRUNHU5aEQ4VUNa?=
 =?utf-8?B?Zk55c29EYUtEdFV3SHZsOVdRZkdaV1RiZTFPbVlsQkdrdEJpZ0cvOHIxK3pi?=
 =?utf-8?B?RVdFZVl3YThyem9NSCsveWZ4MS9oOVROUHJiWGdrSFRKbHoxcWk5Rm9BMmli?=
 =?utf-8?B?SWF5TWpXQmsweEd3aDVLOGd3YTQrUDExMkd1TDBhZFVKWDhyOTg5ejNjc2Vy?=
 =?utf-8?B?MEx0NzJ5R0FWcXhnbU9oQzNzeWxOYTFPcEx5eVBQUk0zRmxCNFBGWXFqRkx1?=
 =?utf-8?B?RmxlV1NXcDcvdUlpekFabm1JVWFwRXMrWlV1RmhDWHFKV2dpVy9zRlZvSGx4?=
 =?utf-8?B?eVdZSElrNU9ueE5HdWM4SUNDdzEwempBS1hKTVlweTVLbXZlTTUrVUF3Qm12?=
 =?utf-8?B?dkVkU1R0Mml6dHdPR0NOb283NjFnVlZSMU16M2VCTGFGNnQxaE1tODd1SUJH?=
 =?utf-8?B?OUlKc2JYeEsyNUFyTEMyS3NYcGk1bjhxSmxEV20zZ0hJcFB2Q3NEVzVVWTlZ?=
 =?utf-8?B?OWZkN2lTSGRkRGlHbXNVQWVkMGVqanpvRTN2Uy82d1haeVRNSm55OW9ZQ2Mx?=
 =?utf-8?Q?J86dO69jM+UWa0tH6F4BTbH3au1hgjOi1Kx721+?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 00bd870c-3bce-4381-6edb-08d967c0d1da
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2021 12:06:50.2730
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: EMVHmbhR3tn/bM9patXz1yWmpfwcnqFCMlIqppIOQxRRGGErjpVUQtam2OBJ4C1/tfZ5LuRd70UU1AMEgaZMyw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5742

On 24.08.2021 16:13, Jan Beulich wrote:
> For a long time we've been rather inefficient with IOMMU page table
> management when not sharing page tables, i.e. in particular for PV (and
> further specifically also for PV Dom0) and AMD (where nowadays we never
> share page tables). While up to about 2.5 years ago AMD code had logic
> to un-shatter page mappings, that logic was ripped out for being buggy
> (XSA-275 plus follow-on).
> 
> This series enables use of large pages in AMD and Intel (VT-d) code;
> Arm is presently not in need of any enabling as pagetables are always
> shared there. It also augments PV Dom0 creation with suitable explicit
> IOMMU mapping calls to facilitate use of large pages there without
> getting into the business of un-shattering page mappings just yet.
> Depending on the amount of memory handed to Dom0 this improves booting
> time (latency until Dom0 actually starts) quite a bit; subsequent
> shattering of some of the large pages may of course consume some of the
> saved time.
> 
> Parts of this series functionally depend on the previously submitted
> "VT-d: fix caching mode IOTLB flushing".
> 
> Known fallout has been spelled out here:
> https://lists.xen.org/archives/html/xen-devel/2021-08/msg00781.html
> 
> I'm inclined to say "of course" there are also various seemingly
> unrelated changes included here, which I just came to consider necessary
> or at least desirable (in part for having been in need of adjustment for
> a long time) along the way. Some of these changes are likely independent
> of the bulk of the work here, and hence may be fine to go in ahead of
> earlier patches.
> 
> While, as said above, un-shattering of mappings isn't an immediate goal,
> I intend to at least arrange for freeing page tables which have ended up
> all empty. But that's not part of this v1 of the series.
> 
> 01: AMD/IOMMU: avoid recording each level's MFN when walking page table
> 02: AMD/IOMMU: have callers specify the target level for page table walks
> 03: VT-d: have callers specify the target level for page table walks
> 04: IOMMU: have vendor code announce supported page sizes
> 05: IOMMU: add order parameter to ->{,un}map_page() hooks
> 06: IOMMU: have iommu_{,un}map() split requests into largest possible chunks
> 07: IOMMU/x86: restrict IO-APIC mappings for PV Dom0
> 08: IOMMU/x86: perform PV Dom0 mappings in batches
> 09: IOMMU/x86: support freeing of pagetables
> 10: AMD/IOMMU: drop stray TLB flush
> 11: AMD/IOMMU: walk trees upon page fault
> 12: AMD/IOMMU: return old PTE from {set,clear}_iommu_pte_present()
> 13: AMD/IOMMU: allow use of superpage mappings
> 14: VT-d: allow use of superpage mappings

I should probably spell this out explicitly: These last two, which actually
enable use of superpages, and which hence introduce the need to shatter
some, comes with the risk of tripping code like this

	ret = xenmem_reservation_decrease(nr_pages, frame_list);
	BUG_ON(ret != nr_pages);

still found e.g. in up-to-date Linux. This is - similar to the other
fallout description pointed at further up - a result of now potentially
needing to allocate memory in order to free some, and perhaps the needed
amount being higher than the freed one.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 25 12:07:18 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 12:07:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172063.313896 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIrgc-0003Fw-0a; Wed, 25 Aug 2021 12:07:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172063.313896; Wed, 25 Aug 2021 12:07:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIrgb-0003Fn-Tk; Wed, 25 Aug 2021 12:07:17 +0000
Received: by outflank-mailman (input) for mailman id 172063;
 Wed, 25 Aug 2021 12:07:17 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YETI=NQ=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mIrga-0003E5-RP
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 12:07:16 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com (unknown
 [40.107.6.89]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id fc357c80-059c-11ec-a945-12813bfff9fa;
 Wed, 25 Aug 2021 12:07:15 +0000 (UTC)
Received: from AM5PR0202CA0001.eurprd02.prod.outlook.com
 (2603:10a6:203:69::11) by AM0PR08MB5393.eurprd08.prod.outlook.com
 (2603:10a6:208:18c::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17; Wed, 25 Aug
 2021 12:07:12 +0000
Received: from AM5EUR03FT056.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:203:69:cafe::c7) 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.4457.17 via Frontend
 Transport; Wed, 25 Aug 2021 12:07:12 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT056.mail.protection.outlook.com (10.152.17.224) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Wed, 25 Aug 2021 12:07:12 +0000
Received: ("Tessian outbound 19a632698c93:v103");
 Wed, 25 Aug 2021 12:07:12 +0000
Received: from d77453877d41.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 6FF3D9EA-1EB6-4A6D-BBB5-75C67B9FBF55.1; 
 Wed, 25 Aug 2021 12:07:05 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d77453877d41.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 25 Aug 2021 12:07:05 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB9PR08MB6959.eurprd08.prod.outlook.com (2603:10a6:10:2bf::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Wed, 25 Aug
 2021 12:07:02 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.024; Wed, 25 Aug 2021
 12:07: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: fc357c80-059c-11ec-a945-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eIMvSrriIu5BYED1z52fIVrllVQZRk0kXDC8s7UDZSM=;
 b=tlXEMNZ3sZRAjEltTLiTYqDbtwj1uZXgn7eaY2b/7kblDsu34APTeTYa8Ljwa57nve+ypCUu3JRj3Vz79+/SULeJLm1d4RXxF17CvnFPBt7KELdR9n8mVoJQO9zJcAsgPrQD3yOB9KZxHV4BQeLjdRuBbPomQ4VcfZ3fiXKRzko=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cRcHbz7vbCxdGjBJfK84oSaJ2ZL5U99VIMAyy271ueWuFNex7bsg9XlIDQ427dsQy8UheaWC177nPFGjI/DqHnv12WmssGX3FWjEbBs8jUbcXX3qyZTkUQGj10ii+t+fV2Qn50EhNI02uq2QUQZlckv8NXNCK7SQKywgl61j5ynAKOiTFWdnSp3mlT1BMjQ/M4IXcmoh73GBL2dy6MQ7mf8iyyrPOuJG1wQo74pUZpuok34Vx+fZ3Nja54jOEshBfL7bKMc67Ppv4HNkYF+6KaHi/SxKeRZpjb0LvRZK60dlGQyy/fHSTSJ/Oq1TGWdT5Rz2QYS0cVfuO48KJrJstw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eIMvSrriIu5BYED1z52fIVrllVQZRk0kXDC8s7UDZSM=;
 b=ICyOirDCKOJoYwffwuY8g3k3mnSmLntz/dW5qBMms7g44cZ4zFY+WEm9LDfq5nBDSCX6am/aUdw9SzRKI2MYLDR6tf3CSjwo289pW5uLiV3ntaPFIH5fQ67S8/+PuBvFIcJLbltQ5rD0p89yk/6ilUZ9PMXWbacLqVk8YUx6Tk4fb3CG91zzE7zqzmsSYIxa0rRoKiZRBtbf2wpfxxVu11QEljJB7LD0pEy+XYZoq++pBs55mkoJ0BZfHO0P+GBaq9uNJH7LMk0bY9juKzUPbhm0j87zsvtqv3N04D9pRqHlQ00fzyUJyd9UxZzYR/uDLDf13MZUxda9rYifA0mHcg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eIMvSrriIu5BYED1z52fIVrllVQZRk0kXDC8s7UDZSM=;
 b=tlXEMNZ3sZRAjEltTLiTYqDbtwj1uZXgn7eaY2b/7kblDsu34APTeTYa8Ljwa57nve+ypCUu3JRj3Vz79+/SULeJLm1d4RXxF17CvnFPBt7KELdR9n8mVoJQO9zJcAsgPrQD3yOB9KZxHV4BQeLjdRuBbPomQ4VcfZ3fiXKRzko=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 13/40] xen/arm: introduce numa_set_node for Arm
Thread-Topic: [XEN RFC PATCH 13/40] xen/arm: introduce numa_set_node for Arm
Thread-Index: AQHXjpsyLnVBArVEdkyL68RkePfWG6uEHPyAgAAK5SA=
Date: Wed, 25 Aug 2021 12:07:02 +0000
Message-ID:
 <DB9PR08MB6857E228F4C0847D4DF014ED9EC69@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-14-wei.chen@arm.com>
 <a07963e4-84c8-32de-4e8b-013a5419deea@xen.org>
In-Reply-To: <a07963e4-84c8-32de-4e8b-013a5419deea@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: DDE8916EC635E54CA767FC168CE47F94.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 8228511d-fb54-4167-b69d-08d967c0df36
x-ms-traffictypediagnostic: DB9PR08MB6959:|AM0PR08MB5393:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM0PR08MB5393CE688BA37618EAD82FF29EC69@AM0PR08MB5393.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:9508;OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 jHyCM+2H3EGf7SnzdceUPxnA+UGKnTK2CQBrqEYgGbclpd7h29EWtmLylzS4FxMW0+zRUfeMs9E/ZdZpcV9TE22IbyofYUCPiLHf0LEi9RigaA5EfsyUcwMnXE5BupYHZtrljGdfBXXXnU2FR+eBe6qgLHeSxLkX56a4UihquR8DCtQGF024FdvZV/Xf0IiKkjBZ9to4t5jK0OurGDX+x2c/HTqCpAIsnATH8O5GkXNDGmeJYWkGXilUMzjePK1GKeiSJ34Kh4Qaem39adWyIPcSnaTiSoxVY/t3TYu9XXAaGrqGTTptxLji56C0DpZgtYXSPHwEVIQWVOQ0BGZpo9KXMYg6lr58643qqhEYuEpnqj7MUCfVZ44llomif8Xg9F43+H2+cus9/XkTxGV6SSH7x4zoYVllqc7zm2qAD1kbwxfhvxit8L9/Q2emXIJovMwrwULyZukIbRoTGE6/IW48z9sym53oLO46rmFRmKotUnxTZ2do9Bo7TWC6EpyKCvMZDbY0lYl2cq/Xw4shVYhbaYkdGoaP520pIb8nXGuOMjcA2nfj6JeH/9XyG1jqOQWB/OVZmR0uOKpzYcrTFm/wrKw49uvSdDcVnNHbtmpHa8jmCeVcoxf4z2YxGTu9uErNWYX/O5ATbXdnH3aUx8G0qFiNoqX+yHnhRk0UVO7oIW0gU2JB5OmNZ4HMigG3txaGxLyecPUeWrruDnc62WyN8w8L/kupAWdhLgDOiZugeq4lclahmAgqXFsPSTw9VhF/PE8R5molr3Rx7DAWMQkf4KXvFNiTV8+ImigrfmpH0/CjQtksd7ymgXx2kvJm
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(39860400002)(346002)(136003)(396003)(376002)(26005)(186003)(66946007)(86362001)(4326008)(316002)(110136005)(83380400001)(2906002)(66446008)(64756008)(66556008)(66476007)(478600001)(8676002)(53546011)(6506007)(38070700005)(71200400001)(9686003)(122000001)(8936002)(38100700002)(5660300002)(33656002)(76116006)(52536014)(7696005)(55016002)(2004002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?eStLYnRoSUFobUZCNEdTMFhQb3JiVUhFaUhTQ3VaTmhvb01iSDcyZGxtYkJa?=
 =?utf-8?B?aG05b01vN0ZaejJ0TzlCSEJ4UjF6VTc0Qi96UGZpTmd4aWNkUWIrMVJRMVFI?=
 =?utf-8?B?NWhJQlU1RkFwQ0htZnRyU3lITWY0cTdsWmtVQ3ZscE5xRnpzY0NLdzFwSnQy?=
 =?utf-8?B?dnJqZjdwVTVFQ1B0TndyTkxvYjlxZVRXc0F1OXRtRlh1UnpjSzZ5UmRxNGFp?=
 =?utf-8?B?STFNeVEyLzZKQ1gyWmQvTWhQeTNTYkJDWEcxYmppaTBuQ2ZBOEVodUNIQ3Jx?=
 =?utf-8?B?aEtWVVNjb2REQ21weGFYVHlDdG9pVXNpc1p2TlIzRFdOMU5OWHh4VG9lOFNo?=
 =?utf-8?B?SWt4eXRySUYrVlU0Mys5cmlwd1VXQm1TR2piZHBrOUpNZkYzVit5L3RSMTE5?=
 =?utf-8?B?K2FSamFLNnl5amdtRXpVTkd2cnA1MGhpRTN2MVUwNGRlcG1JbWwxM1pPemYx?=
 =?utf-8?B?MjRTaGVNZDZPbXc1VUV6NHBDeS9qUzBlaW1LYUdtM3FMcEt3RG9ERDAyamtB?=
 =?utf-8?B?Qk1uMHdCa01ZaGFhRnhRbitYOEw5bVpQVXVJcU1Vdm4rcHlXN2IxRkplNzA0?=
 =?utf-8?B?Yzl5aHFNU0JwMnhGSUU0blNNeEVxQ0QzT0Y0RHZ3dHVxZW45dDBUOFdpUHlY?=
 =?utf-8?B?LzBRYXU3Zjd5Nm14VmxtNTRXeTVPQnhqTlNCSktyQkNpa3REMk1ndDJnclM4?=
 =?utf-8?B?WTVDaFJrb21wbkFnQ05tVWtlb3AxejBXMHhvZ2Jkbm52a1V0WkR2NXA0VDhH?=
 =?utf-8?B?cnNtYmlwNDhkd0E2VGVJQVk5TkdJemZvejZ1TmovbXhpOTd0aGRhS3Z3Rjkz?=
 =?utf-8?B?NUIrK1BGMmFpb05ZYS9TYnNzZ1ZlNWZDdFF1dm8wREZuRXY1TUlIb2RwOEZH?=
 =?utf-8?B?SzR1THNhTzM3cXhKR1ZtRzdHUEZ5RFR4citpa2hiWHFwSk51YktnUGRhbWxE?=
 =?utf-8?B?anlQMkhhVy9zaWpzMXcrZmFoYURzZjRHTU5NcVVjUTVZUDNDNmJmMUFONTl1?=
 =?utf-8?B?WDNZQk4vM0twNlQ0UUZ2aDNvd0F0TzlYNzAyeHBkOExjeGJJZW1BdUErN3lw?=
 =?utf-8?B?emRWWWFRVXIyTDhiMVZ0L1d2b3laWk9HT00zM3FnOUFkMEFUcko5OXJtYkxX?=
 =?utf-8?B?bENJcjljNlNkUVN6WXlXYTJoaG1YZ2hCb3E1aHBBQ0hicERoVUQrZ1l5UG51?=
 =?utf-8?B?NndCY2w3SkZEZHh5bmZvNkgvRWEvTXpaaC9iL3hwN1ZZTzQwVi96a3NscXhl?=
 =?utf-8?B?ci8rYzB1elpOVWZvLytXeFUvVWh6cWEvZ01WM25mZzlZcXZEc1FnUlhTWVlq?=
 =?utf-8?B?bXdMVDkrSlZOK243OTQ3aDF1TGRHQVE1NWNxSlJ4eWx4NUZWajlBNmtCL3Zw?=
 =?utf-8?B?UE93VnNGaE1FWFJCRElqeHNhaEcwTDVCZnIvUVI2M2lwWmRlaWM1V213RkIz?=
 =?utf-8?B?TE1kTzlxcllteHp5MHRiR0tYM0Fldjl5YitlVnpLUk9KTjY0L1VzRWE0OXF0?=
 =?utf-8?B?ckRvMVdENnVlb3d4a2pwMmxKYW1uV0lad0hiUGpGKzZ0Umd1elF3c05CQ09N?=
 =?utf-8?B?Wkk4ZGdDNHJTa3dQTndVSjZVV0c4WGxWcmFzT2tEQm84dXl4MmUwSUFWTW9O?=
 =?utf-8?B?akgyVDdQSUZraWRCUDlPeUtKaDFXY0oxOGx2MXVHNHNtd0tSQ3hVWlhxblMr?=
 =?utf-8?B?dGtlcHdmdEdiNkJrT2hHR1VuUlRBT3dDRDlZaGo0NkY2UzAvdXpOT2xxajVJ?=
 =?utf-8?Q?zHzFPKHbvgiYaF4T9oqbPnEu9EMi9mUG/Odkoq4?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6959
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT056.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	60fb8ec9-9676-436e-68d8-08d967c0d943
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	INtwjQ8jZwxeocz4OICZtMyoRlHRxNRSKdufUB9XkfW1U69DAjcEFj3SO12UtFD2+zPtLv9A99ykp3OdVoedD4I8n37I/eXnsGJNmbxzslWz22ocZSecS9infy7GAoq/K8yrycdDNingVUle44fbk2HukC+MiasFMJYaVBgxMLzYheuB5mbmZP6X206UyIEUvHEvqIu0B/KkcYNfw6eTsInT3M/Km+OcUPT6igdpJlSCtCQzBTQbc1d6Qm9uYw62jXpzRg4XrrRSyc3NkPegl5ydGLXQT0vfl8z63HaC/fnhiK87FYejIa54FP/D4nmx5vvdmIWqEeJ1qnsFmIEGStK1HGShhZ4cN6HwycfFmuH+1GoE4Jtws3O5lsh8Jo5E3zxkvrAMOHgomKdZRHlziXooO9WnPtQVkUYAEgPkSrxfBR6d7ptRNg7yyMmcPuI4ZJ/zawDtcjVHkYC7SL4YHn3gpLztTYv3+viDepbi0iYRZLIRcEFBmfEL8xMc8iGht3h+b6Wmy4Am7ClrVWQDO0XegsugHJiX1FCqR8zAMsJz+mqFsRD1MEVQkR50VcHZml/RwxdmnAR4eLmrwEI80SJtc+IsJnMzWBaRPabdtIX3NYAI0LwopHpSlD+C3XhibzZ6Xiap4/QJQADe2gbhGcxyR2L+Nxf4hlugEFIN4lyBvro4qwsECndYV4MCFQymtloJAvmg8DqSW3nzI7TcTPIDCxJDs7e77g3fWvk3+U+bNCFcJYr31E/QdwHVIOI/n083MkY0FoZQMjVLZ3WydtBj0q0Qfr2bGnInXOliq/kqxj9Fbqf1+05wPyjyFGBu
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(36840700001)(46966006)(53546011)(6506007)(26005)(70206006)(7696005)(82310400003)(186003)(70586007)(508600001)(36860700001)(8936002)(8676002)(336012)(86362001)(47076005)(83380400001)(33656002)(2906002)(5660300002)(9686003)(316002)(55016002)(4326008)(356005)(110136005)(81166007)(52536014)(2004002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2021 12:07:12.5282
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8228511d-fb54-4167-b69d-08d967c0df36
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT056.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5393

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMjXml6UgMTg6MzcN
Cj4gVG86IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgeGVuLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnOw0KPiBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqYmV1bGljaEBzdXNlLmNvbQ0K
PiBDYzogQmVydHJhbmQgTWFycXVpcyA8QmVydHJhbmQuTWFycXVpc0Bhcm0uY29tPg0KPiBTdWJq
ZWN0OiBSZTogW1hFTiBSRkMgUEFUQ0ggMTMvNDBdIHhlbi9hcm06IGludHJvZHVjZSBudW1hX3Nl
dF9ub2RlIGZvcg0KPiBBcm0NCj4gDQo+IEhpIFdlaSwNCj4gDQo+IE9uIDExLzA4LzIwMjEgMTE6
MjMsIFdlaSBDaGVuIHdyb3RlOg0KPiA+IFRoaXMgQVBJIGlzIHVzZWQgdG8gc2V0IG9uZSBDUFUg
dG8gYSBOVU1BIG5vZGUuIElmIHRoZSBzeXN0ZW0NCj4gPiBjb25maWd1cmUgTlVNQSBvZmYgb3Ig
c3lzdGVtIGluaXRpYWxpemUgTlVNQSBmYWlsZWQsIHRoZQ0KPiA+IG9ubGluZSBOVU1BIG5vZGUg
d291bGQgc2V0IHRvIG9ubHkgbm9kZSMwLiBUaGlzIHdpbGwgYmUgZG9uZQ0KPiA+IGluIGZvbGxv
d2luZyBwYXRjaGVzLiBXaGVuIE5VTUEgdHVybiBvZmYgb3IgaW5pdCBmYWlsZWQsDQo+ID4gbm9k
ZV9vbmxpbmVfbWFwIHdpbGwgYmUgY2xlYXJlZCBhbmQgc2V0IG5vZGUjMCBvbmxpbmUuIFNvIHdl
DQo+ID4gdXNlIG5vZGVfb25saW5lX21hcCB0byBwcmV2ZW50IHRvIHNldCBhIENQVSB0byBhbiBv
ZmZsaW5lIG5vZGUuDQo+IA0KPiBJSE1PIG51bWFfc2V0X25vZGUoKSBzaG91bGQgYmVoYXZlIGV4
YWN0bHkgdGhlIHNhbWUgd2F5IG9uIHg4NiBhbmQgQXJtDQo+IGJlY2F1c2UgdGhpcyBpcyBnb2lu
ZyB0byBiZSB1c2VkIGJ5IHRoZSBjb21tb24gY29kZS4NCj4gDQo+ICBGcm9tIHRoZSBjb21taXQg
bWVzc2FnZSwgSSBkb24ndCBxdWl0ZSB1bmRlcnN0YW5kIHdoeSB0aGUgY2hlY2sgaXMNCj4gbmVj
ZXNzYXJ5IG9uIEFybSBidXQgbm90IG9uIHg4Ni4gQ2FuIHlvdSBjbGFyaWZ5IGl0Pw0KPiANCg0K
WWVzLCBpbiBwYXRjaCMyNywgaW4gc21wYm9vdC5jLCBkdF9zbXBfaW5pdF9jcHVzIGZ1bmN0aW9u
Lg0KV2Ugd2lsbCBwYXJzZSBDUFUgbnVtYS1ub2RlLWlkIGZyb20gZHRiIENQVSBub2RlLiBJZiB3
ZSBnZXQNCmEgdmFsaWQgbm9kZSBJRCBmb3Igb25lIENQVSwgd2Ugd2lsbCBpbnZva2UgbnVtYV9z
ZXRfbm9kZSB0bw0KY3JlYXRlIENQVS1OT0RFIG1hcC4gQnV0IGluIG91ciB0ZXN0aW5nLCB3ZSBm
b3VuZCB3aGVuIE5VTUENCmluaXQgZmFpbGVkLCBudW1hX3NldF9ub2RlIHN0aWxsIGNhbiBzZXQg
Q1BVIHRvIGEgb2ZmbGluZQ0Kb3IgaW52YWxpZCBOT0RFLiBTbyB3ZSdyZSB1c2luZyBub2RlX29u
bGluZV9tYXAgdG8gcHJldmVudA0KdGhpcyBiZWhhdmlvci4gT3RoZXJ3aXNlIHdlIGhhdmUgdG8g
Y2hlY2sgbm9kZV9vbmxpbmVfbWFwDQpldmVyeXdoZXJlIGJlZm9yZSB3ZSBjYWxsIG51bWFfc2V0
X25vZGUuDQoNCng4NiBhY3R1YWxseSBpcyBkb2luZyB0aGUgc2FtZSB3YXksIGJ1dCBpdCBoYW5k
bGVzIG5vZGVfb25saW5lX21hcA0KY2hlY2sgb3V0IG9mIG51bWFfc2V0X25vZGU6DQoNCjU3ICB2
b2lkIF9faW5pdCBpbml0X2NwdV90b19ub2RlKHZvaWQpDQo1OCAgew0KNTkgICAgICB1bnNpZ25l
ZCBpbnQgaTsNCjYwICAgICAgbm9kZWlkX3Qgbm9kZTsNCjYxICANCjYyICAgICAgZm9yICggaSA9
IDA7IGkgPCBucl9jcHVfaWRzOyBpKysgKQ0KNjMgICAgICB7DQo2NCAgICAgICAgICB1MzIgYXBp
Y2lkID0geDg2X2NwdV90b19hcGljaWRbaV07DQo2NSAgICAgICAgICBpZiAoIGFwaWNpZCA9PSBC
QURfQVBJQ0lEICkNCjY2ICAgICAgICAgICAgICBjb250aW51ZTsNCjY3ICAgICAgICAgIG5vZGUg
PSBhcGljaWQgPCBNQVhfTE9DQUxfQVBJQyA/IGFwaWNpZF90b19ub2RlW2FwaWNpZF0gOiBOVU1B
X05PX05PREU7DQo2OCAgICAgICAgICBpZiAoIG5vZGUgPT0gTlVNQV9OT19OT0RFIHx8ICFub2Rl
X29ubGluZShub2RlKSApDQo2OSAgICAgICAgICAgICAgbm9kZSA9IDA7DQo3MCAgICAgICAgICBu
dW1hX3NldF9ub2RlKGksIG5vZGUpOw0KNzEgICAgICB9DQo3MiAgfQ0KDQoNCj4gPg0KPiA+IFNp
Z25lZC1vZmYtYnk6IFdlaSBDaGVuIDx3ZWkuY2hlbkBhcm0uY29tPg0KPiA+IC0tLQ0KPiA+ICAg
eGVuL2FyY2gvYXJtL01ha2VmaWxlICAgICAgfCAgMSArDQo+ID4gICB4ZW4vYXJjaC9hcm0vbnVt
YS5jICAgICAgICB8IDMxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gPiAgIHhl
bi9pbmNsdWRlL2FzbS1hcm0vbnVtYS5oIHwgIDIgKysNCj4gPiAgIHhlbi9pbmNsdWRlL2FzbS14
ODYvbnVtYS5oIHwgIDEgLQ0KPiA+ICAgeGVuL2luY2x1ZGUveGVuL251bWEuaCAgICAgfCAgMSAr
DQo+ID4gICA1IGZpbGVzIGNoYW5nZWQsIDM1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkN
Cj4gPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCB4ZW4vYXJjaC9hcm0vbnVtYS5jDQo+ID4NCj4gPiBk
aWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL01ha2VmaWxlIGIveGVuL2FyY2gvYXJtL01ha2VmaWxl
DQo+ID4gaW5kZXggM2QzYjk3YjViNC4uNmUzZmI4MDMzZSAxMDA2NDQNCj4gPiAtLS0gYS94ZW4v
YXJjaC9hcm0vTWFrZWZpbGUNCj4gPiArKysgYi94ZW4vYXJjaC9hcm0vTWFrZWZpbGUNCj4gPiBA
QCAtMzUsNiArMzUsNyBAQCBvYmotJChDT05GSUdfTElWRVBBVENIKSArPSBsaXZlcGF0Y2gubw0K
PiA+ICAgb2JqLXkgKz0gbWVtX2FjY2Vzcy5vDQo+ID4gICBvYmoteSArPSBtbS5vDQo+ID4gICBv
YmoteSArPSBtb25pdG9yLm8NCj4gPiArb2JqLSQoQ09ORklHX05VTUEpICs9IG51bWEubw0KPiA+
ICAgb2JqLXkgKz0gcDJtLm8NCj4gPiAgIG9iai15ICs9IHBlcmNwdS5vDQo+ID4gICBvYmoteSAr
PSBwbGF0Zm9ybS5vDQo+ID4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9udW1hLmMgYi94ZW4v
YXJjaC9hcm0vbnVtYS5jDQo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiBpbmRleCAwMDAw
MDAwMDAwLi4xZTMwYzViYjEzDQo+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ICsrKyBiL3hlbi9hcmNo
L2FybS9udW1hLmMNCj4gPiBAQCAtMCwwICsxLDMxIEBADQo+ID4gKy8vIFNQRFgtTGljZW5zZS1J
ZGVudGlmaWVyOiBHUEwtMi4wDQo+ID4gKy8qDQo+ID4gKyAqIEFybSBBcmNoaXRlY3R1cmUgc3Vw
cG9ydCBsYXllciBmb3IgTlVNQS4NCj4gPiArICoNCj4gPiArICogQ29weXJpZ2h0IChDKSAyMDIx
IEFybSBMdGQNCj4gPiArICoNCj4gPiArICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCj4gPiArICogaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMN
Cj4gPiArICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uDQo+ID4g
KyAqDQo+ID4gKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLA0KPiA+ICsgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KPiA+ICsgKiBNRVJDSEFOVEFCSUxJ
VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQo+ID4gKyAq
IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQo+ID4gKyAqDQo+
ID4gKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlDQo+ID4gKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3Qs
IHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uDQo+ID4gKyAqDQo+ID4gKyAqLw0K
PiA+ICsjaW5jbHVkZSA8eGVuL2luaXQuaD4NCj4gPiArI2luY2x1ZGUgPHhlbi9ub2RlbWFzay5o
Pg0KPiA+ICsjaW5jbHVkZSA8eGVuL251bWEuaD4NCj4gPiArDQo+ID4gK3ZvaWQgbnVtYV9zZXRf
bm9kZShpbnQgY3B1LCBub2RlaWRfdCBuaWQpDQo+ID4gK3sNCj4gPiArICAgIGlmICggbmlkID49
IE1BWF9OVU1OT0RFUyB8fA0KPiA+ICsgICAgICAgICFub2RlbWFza190ZXN0KG5pZCwgJm5vZGVf
b25saW5lX21hcCkgKQ0KPiA+ICsgICAgICAgIG5pZCA9IDA7DQo+ID4gKw0KPiA+ICsgICAgY3B1
X3RvX25vZGVbY3B1XSA9IG5pZDsNCj4gPiArfQ0KPiBJIHRoaW5rIG51bWFfc2V0X25vZGUoKSB3
aWxsIHdhbnQgdG8gYmUgaW1wbGVtZW50ZWQgaW4gY29tbW9uIGNvZGUuDQo+IA0KDQpTZWUgbXkg
YWJvdmUgY29tbWVudC4gSWYgeDg2IGlzIG9rLCBJIHRoaW5rIHllcywgd2UgY2FuIGRvIGl0DQpp
biBjb21tb24gY29kZS4NCg0KPiA+IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJtL251
bWEuaCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vbnVtYS5oDQo+ID4gaW5kZXggYWI5YzRhMjQ0OC4u
MTE2MmM3MDJkZiAxMDA2NDQNCj4gPiAtLS0gYS94ZW4vaW5jbHVkZS9hc20tYXJtL251bWEuaA0K
PiA+ICsrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vbnVtYS5oDQo+ID4gQEAgLTI3LDYgKzI3LDgg
QEAgZXh0ZXJuIG1mbl90IGZpcnN0X3ZhbGlkX21mbjsNCj4gPiAgICNkZWZpbmUgbm9kZV9zdGFy
dF9wZm4obmlkKSAobWZuX3goZmlyc3RfdmFsaWRfbWZuKSkNCj4gPiAgICNkZWZpbmUgX19ub2Rl
X2Rpc3RhbmNlKGEsIGIpICgyMCkNCj4gPg0KPiA+ICsjZGVmaW5lIG51bWFfc2V0X25vZGUoeCwg
eSkgZG8geyB9IHdoaWxlICgwKQ0KPiANCj4gSSB3b3VsZCBkZWZpbmUgaXQgaW4geGVuL251bWEu
aCBzbyBvdGhlciBhcmNoIGNhbiB0YWtlIGFkdmFudGFnZSBvdCBpdC4NCj4gQWxzbywgcGxlYXNl
IHVzZSBhIHN0YXRpYyBpbmxpbmUgaGVscGVyIHNvIHRoZSBhcmd1bWVudHMgYXJlIGV2YWx1YXRl
ZC4NCj4gDQoNCk9rDQoNCj4gPiArDQo+ID4gICAjZW5kaWYNCj4gPg0KPiA+ICAgI2VuZGlmIC8q
IF9fQVJDSF9BUk1fTlVNQV9IICovDQo+ID4gZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14
ODYvbnVtYS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9udW1hLmgNCj4gPiBpbmRleCBmOGU0ZTE1
NTg2Li42OTg1OWIwYTU3IDEwMDY0NA0KPiA+IC0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvbnVt
YS5oDQo+ID4gKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9udW1hLmgNCj4gPiBAQCAtMjIsNyAr
MjIsNiBAQCBleHRlcm4gbm9kZWlkX3QgcHhtX3RvX25vZGUodW5zaWduZWQgaW50IHB4bSk7DQo+
ID4gICAjZGVmaW5lIFpPTkVfQUxJR04gKDFVTCA8PCAoTUFYX09SREVSK1BBR0VfU0hJRlQpKQ0K
PiA+DQo+ID4gICBleHRlcm4gaW50IHNyYXRfZGlzYWJsZWQodm9pZCk7DQo+ID4gLWV4dGVybiB2
b2lkIG51bWFfc2V0X25vZGUoaW50IGNwdSwgbm9kZWlkX3Qgbm9kZSk7DQo+ID4gICBleHRlcm4g
bm9kZWlkX3Qgc2V0dXBfbm9kZSh1bnNpZ25lZCBpbnQgcHhtKTsNCj4gPiAgIGV4dGVybiB2b2lk
IHNyYXRfZGV0ZWN0X25vZGUoaW50IGNwdSk7DQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEveGVuL2lu
Y2x1ZGUveGVuL251bWEuaCBiL3hlbi9pbmNsdWRlL3hlbi9udW1hLmgNCj4gPiBpbmRleCAyNThh
NWNiM2RiLi4zOTcyYWE2YjkzIDEwMDY0NA0KPiA+IC0tLSBhL3hlbi9pbmNsdWRlL3hlbi9udW1h
LmgNCj4gPiArKysgYi94ZW4vaW5jbHVkZS94ZW4vbnVtYS5oDQo+ID4gQEAgLTcwLDYgKzcwLDcg
QEAgZXh0ZXJuIGludCB2YWxpZF9udW1hX3JhbmdlKHU2NCBzdGFydCwgdTY0IGVuZCwNCj4gbm9k
ZWlkX3Qgbm9kZSk7DQo+ID4NCj4gPiAgIGV4dGVybiB2b2lkIG51bWFfaW5pdF9hcnJheSh2b2lk
KTsNCj4gPiAgIGV4dGVybiB2b2lkIG51bWFfaW5pdG1lbV9pbml0KHVuc2lnbmVkIGxvbmcgc3Rh
cnRfcGZuLCB1bnNpZ25lZCBsb25nDQo+IGVuZF9wZm4pOw0KPiA+ICtleHRlcm4gdm9pZCBudW1h
X3NldF9ub2RlKGludCBjcHUsIG5vZGVpZF90IG5vZGUpOw0KPiA+ICAgZXh0ZXJuIGJvb2wgbnVt
YV9vZmY7DQo+ID4gICBleHRlcm4gaW50IG51bWFfZmFrZTsNCj4gPg0KPiA+DQo+IA0KPiBDaGVl
cnMsDQo+IA0KPiAtLQ0KPiBKdWxpZW4gR3JhbGwNCg==


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 12:13:12 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 12:13:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172141.313908 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIrmG-0005GX-Rn; Wed, 25 Aug 2021 12:13:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172141.313908; Wed, 25 Aug 2021 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 1mIrmG-0005GQ-O3; Wed, 25 Aug 2021 12:13:08 +0000
Received: by outflank-mailman (input) for mailman id 172141;
 Wed, 25 Aug 2021 12:13:08 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ACUI=NQ=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mIrmF-0005GK-V0
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 12:13:08 +0000
Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 6f69ab12-a034-4eb5-a661-e1d675619c28;
 Wed, 25 Aug 2021 12:13: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: 6f69ab12-a034-4eb5-a661-e1d675619c28
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629893586;
  h=to:cc:references:from:subject:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=1rdx4H7Pkrgk3f3AFrkfPVmQW/lrMEclDuQ0tnQPDJA=;
  b=OI5o8wRooUA+T2AWOtk6VYFJI/gtLuh2f7ciTlsQAMcSS2Iojh8D8Y1Q
   +FTtvalJS0Hkr/BBlHQWT52Kbg/FyTOE1ZpXMGxA52trX8JEvWsJvN6Vf
   FNmMu5dpYyy1V5xQsHMYIHBrPti9hD6n7RM9XUsIzKJ6fze8Ak2j75dyB
   A=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: Fk3ZrPRMafCF4LGfsE+gdP/0Rc+n8zLOKfICbjAXgukvZtggpoRO+kSiXRG7WPoWj4E17s6OK9
 nHKhUM9nBsMkACtGETdl1aIGKARTO8hLT4WX+wAgDQBmeBRmHLwIQe8RBHWyX1mgPIsHnY0S23
 0uuIK/Z+S/DL66rjvn8GhGC83HW2vU487XHPBm7fDsBIvJw/GadNJRbSfdDOegnBCIJiNvA3nR
 ze/KIPzu1jwzfk7CZ0EmdPWelxb4xErFi7aSm8VPtvYOcTm+cwrZO2bsWGfCGbikmoPz/bhXnr
 baeL1I8f6Kx4na8eKDhBnsUF
X-SBRS: 5.1
X-MesageID: 52982971
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:l8Glna2QoV3uQmwahbWJ4gqjBLwkLtp133Aq2lEZdPU1SKClfq
 WV98jzuiWatN98Yh8dcLK7WJVoMEm8yXcd2+B4V9qftWLdyQiVxe9ZnO7f6gylNyri9vNMkY
 dMGpIObOEY1GIK7/rH3A==
X-IronPort-AV: E=Sophos;i="5.84,350,1620705600"; 
   d="scan'208";a="52982971"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mBHgfqSrWl3fOHJhdyr+0Aey1yCoWGeEIhcH5AOVzEADWlCuRTTyQFVYj9Z5MiMNF9lFHvOUmA21dUK/4Bb99vGIvK0QvbZfE5ONrCx21F3hvb0QsPjSU+l/thaDa6bjgUvs4wXO2iEA5k5+YWM1S2QpriA3FuGfC8DB2sEjn+p9f0QM58zKBLJ6qCCuetSP37M6BH4+YOMLR0mgsSrr45m0aDoe7cqSuX+ki4QEE5ymTtFgm6x1h3ZF2pVs0+iVIF7WBtaPlEBM2RGT8l4BiAz4eJLM7Ic7E/YpE64nhbdn7uuO8SKIBM6XsDrRQT8T8DOpeTaKkVyABgWqiQMwuQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vjcwIFR2soi79DmaSSqn5JRnra4kUad/w+M3RBxZSHs=;
 b=hbaRv+i9RBZgebkXr0j9YlRzjm6rqXBNQBqGNE+pdaaBctJRbX5jNWloyuCmlUMyClA75dL0nl1TKSvUpTiuLYXMFjkDazTWqmPNGPFAPEvWVrlGSETvE/q9ZjxU0/GmukMSvRr0qwpW9ijWj9J8t+wotHEv29DEs7Bhxn2dTSBU0foQxQJyDJ0YnnXXqpKJrjdYXdag3gyxCYPavf/LUL4GiIQ0CrfGCTCcIW+Z9UfPP9xwMYpdeLa5N8bRVOjxTzB2TVK6DS9AR347vQ+219E31yFDQ0cDSBXHHhTJz+MoTiB8tlJc8V+0cht5I9ZLDpWvySIwxs3/4RcLVfKxOA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vjcwIFR2soi79DmaSSqn5JRnra4kUad/w+M3RBxZSHs=;
 b=he/Jh3bhjosO2xWMXoxvm4y9qnJErf5B/MEwO+dYeCBGvxlKwL6IHbaMidWK4mh5AtBgS484n39Wl61a4MIXSAfPEQkv908G0stTW89VNHStMHrVojsgl2gna/GBpwlRiCiIp8DqOZUBdERxMVHyltU2OaFjuHbfj8zQZiLEDM4=
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: <20210819162641.22772-1-andrew.cooper3@citrix.com>
 <75e80f6e-f7e8-60d6-93fe-1a48e40593b5@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] x86/spec-ctrl: Skip RSB overwriting when safe to do so
Message-ID: <e2efa715-b523-9c78-79c3-04ad6ee32746@citrix.com>
Date: Wed, 25 Aug 2021 13:12:55 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <75e80f6e-f7e8-60d6-93fe-1a48e40593b5@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-GB
X-ClientProxiedBy: LO4P123CA0230.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1a6::19) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 412c2c83-f8ef-4cc3-300a-08d967c1af99
X-MS-TrafficTypeDiagnostic: BYAPR03MB3735:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <BYAPR03MB3735359593319A9DCFB65C63BAC69@BYAPR03MB3735.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: OoTcOTnQRz4MQG4DKjSOzeR3gohqNupvH1eW/odD3dpqRz4qqI+d/UlBlWYspxYKOOBxJCxNuS133PI4T7N02TbVX8iFBCn7iEqQHNR3xWkasuAGV/wA0jUQgsz5YFPYjwPv5hEIHH9KqPAc9RRrIuKwY3d/pdNetIGXekglMn6NvZjs0gwx12F8u5hiuan5/kYgtZVQRFh+Q3b8AzorB5/6D4eVqn92S/UPMIqTsaEltQXeDNy4s02xFOcsQTasMu1V5OM5dHq1N30Q/G8J8nBnQljeVX+AUhnPxu8GYttenp/30erpBDouiWkYCWPKeCwVv35egkP9vXxqSgjmqmbrKM9WUepC8nPzVVsLxiYuHdTqp13zvxWPIu++KFLDeghbvWiRSWEYt1j6rIGpsUa5sEJAmDjOTR5ZZcqh6oWNzJxvuBjbhNDtvpQzuLFG4W7D+m94GJtv5l8MVLtEIC2VvTbcBfX947VvgZuWcFdToynVgOZDzDsqrYwOTg5sQRMeuix++ex+A2fqiROzbq5ZsM4rbDPnLdlBhlTL+/KacAOZ0RWULCclCSZtFqNJsQdIJAW84JEfFSrduWRw4yGmcxSrg/THWv1p60gcWUOKofeCQLBj/Lie8u+ZLcWRLmzfOwOJzWIf+QYDERcL7p6PfqH3GSw7QOSkKyyzydf2XBYm5WN/+1tJOlNMsKm0/SoYPweWgqtJdir5adSkPtRmpN09pndOJCOR7z7i9EU=
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:(4636009)(136003)(366004)(376002)(39860400002)(396003)(346002)(83380400001)(55236004)(6666004)(53546011)(8676002)(36756003)(2906002)(66556008)(26005)(66946007)(66476007)(2616005)(86362001)(186003)(478600001)(5660300002)(31696002)(4326008)(316002)(54906003)(38100700002)(6486002)(8936002)(956004)(16576012)(31686004)(6916009)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TmkrUytobjZ4OGhSalFJM2xhNER5Njl4VHMyNnBDd1RIQnFDMnhQRUNCVElS?=
 =?utf-8?B?bVpob2xCdXh4bmlnVGZuNlFZL3FIa25xYzdrTElFK3AwR1p2VFNZV1ZOZ1lR?=
 =?utf-8?B?dlJuWnFUYWhiUVM1anpwUzJTZmh0cTN3N2xTU0FuS3F3RnR1V1hheXNIVmlj?=
 =?utf-8?B?Qmg1OWNpNmNUek12ZmoxdVhZdTlUN243OG1KZGNRUmNKNC9oV0VVS0VwYU1l?=
 =?utf-8?B?ZXF0b3c1SWlyaGJ4eFYrZGdCWnhMWmZrWkVaNDNaTDlYM0JjN25qVE9WQTN1?=
 =?utf-8?B?allXeUhsQU9IaDY1aWZtN0ZGNWdnOW56Vk1vUHd3ZVB4SmhmLzc5SWgyTFN6?=
 =?utf-8?B?Z2VnOHMzTFVNVExSWnBJZS81VHBZV01tVjUxWTNhdXk4QnZLd1BiOGQvUjIv?=
 =?utf-8?B?WFNUWFhROGVTcE0wamQwL3NVOXREb0RyWG9rQ0Y2S2JDbTk3WWpabkljRWRP?=
 =?utf-8?B?Y1J0RXJjQy9rcGtGT3VWakFwNmozU1hCdElNSDJZM25na2FxV2NxeUxINUVq?=
 =?utf-8?B?bUJVUC9NUFN2bU5iSWhKNVgzM2NXRU5yTnBPeEoxNkFSSnRNblhTa0hjME85?=
 =?utf-8?B?RVlGZUlVNmoyNEZKekRNT3RsVkR6ejlPNFloMFhGd0pYKzhpUGU0Mm82UWNu?=
 =?utf-8?B?OS80ZGY1WStuVFRaSGpaUnMwYlBzc2dNa3RVVkU3blBKOTlCQ01TTlRJb01O?=
 =?utf-8?B?aTB3VVRWY0RXS3dLaDlrcnE5dDU2T1R0Q2xJSWpJSVNEWUxucWtHcVNndElV?=
 =?utf-8?B?OFVJVk9rWm9tZXlMSkVsd21VeVVvczRlakhjSWZMdmdoblhSS1lKMGdHSWs0?=
 =?utf-8?B?Y0RBc2FHK2x2bHJNTzJPRis3L1g4Z2cxd0pBMmprS205bHlReDAyQzRTVURx?=
 =?utf-8?B?MTJxVmFFT3FQZ3BuenZvNFg0cUo1ODg3b2tqWFMyWDNzYk9oYWp0Mmoyc01o?=
 =?utf-8?B?a1FMQlVsZ2ZvZjIwaVM5Z0VGNGxOem5UWGFzMHJhSW5vSzd4c0pvQmhvYzVG?=
 =?utf-8?B?RGVmUjBFM3NuMVl4RVIyM0xWUE1US09xbW8ySXZuV3R3SkQ0dHZiZDhHTEVR?=
 =?utf-8?B?MzJDOVdJTnoyZmVBZ0FSTHJBR0xtWWhVZ1ZTc0FBT2NJeXZUUFNlZ2xGR1h3?=
 =?utf-8?B?UnIwTzNRc01UTkgvVkh5NktlT0psOGoxL29CTzNXZUlBOXpwVERsMUZmRVR0?=
 =?utf-8?B?ejUvYzBJU2IzRHJtejgvVFBhL3g5Q1h4eFN0SWYxWXJnTy95RW1vcXc1UFhJ?=
 =?utf-8?B?QWhFWkJwU2lxWnV1L0tYeFA1NjNrQ2ZveVl1aTdKNUtuTVZRRTVHaHNPZDdH?=
 =?utf-8?B?SStIeDJhZFlzQjVkOS9yUHVOVmxqaVV0V1FIQW50ait2Vm5TQXlYY1JucjZr?=
 =?utf-8?B?NDFXUHN4KzVqRmdYeXJNV3RXN0RlY3QvVjdSQ0dBTEU5OUxoVlNVMktoVll4?=
 =?utf-8?B?bE4xUnVURStJaW1QRzZuWHVraEp3bG9YcnVoZ1o5R3pmNjJyQzB4VzdPdDly?=
 =?utf-8?B?M2ROdG5xQ0JsMGtMczhkSFVIWThvMjlSeG56K29mRmJaTnVKYkFxMkM4OWpV?=
 =?utf-8?B?MHpXUjY4aEhQR25ncUJjRElWUlBzSkR1VE14anMwYkRuTms4bG1RRFgva09R?=
 =?utf-8?B?NTNjMy93SXV4aXJTdG0vVmxhajllQ0YrS0ZCc3lIbC8vNTVrM1Arb2JPZ2lF?=
 =?utf-8?B?M0sxaSt0cVR3b0VaL1RZVFpQVjFCYnJjYy9wS2tHMTd5Zk4yb1haY3BHdU9V?=
 =?utf-8?Q?+saOv2foMNObSVgo+Y4BrrxDHO7qxg/DYzI0elG?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 412c2c83-f8ef-4cc3-300a-08d967c1af99
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2021 12:13:02.3226
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: T5Df0Y45hsph9yol5H5aCz4Ki2JWYEqjM5OEB5l/Vb9ezbpMKhwE4ykHKAhpDxxzofF4om0jll8McGEFHGFr9kidDz9zt1qhiLM3GjzHvhs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB3735
X-OriginatorOrg: citrix.com

On 24/08/2021 14:04, Jan Beulich wrote:
> On 19.08.2021 18:26, Andrew Cooper wrote:
>> In some configurations, it is safe to not overwrite the RSB on entry to =
Xen.
>> Both Intel and AMD have guidelines in this area, because of the performa=
nce
>> difference it makes for native kernels.
> I don't think I've come across AMD's guidelines - would you happen to
> have a pointer?

APM Vol2 3.2.9 "Speculation Control MSRs"

The information about SMEP is in the final paragraph before describing
MSR_SPEC_CTRL.STIBP.

>  Nevertheless ...
>
>> A simple microperf test, measuring the amount of time a XENVER_version
>> hypercall takes, shows the following improvements:
>>
>>   KabyLake:     -13.9175% +/- 6.85387%
>>   CoffeeLake-R:  -9.1183% +/- 5.04519%
>>   Milan:        -17.7803% +/- 1.29808%
>>
>> This is best case improvement, because no real workloads are making
>> XENVER_version hypercalls in a tight loop.  However, this is the hyperca=
ll
>> used by PV kernels to force evtchn delivery if one is pending, so it is =
a
>> common hypercall to see, especially in dom0.
>>
>> The avoidance of RSB-overwriting speeds up all interrupts, exceptions an=
d
>> system calls from PV or Xen context.  RSB-overwriting is still required =
on
>> VMExit from HVM guests for now.
>>
>> In terms of more realistic testing, LMBench in dom0 on an AMD Rome syste=
m
>> shows improvements across the board, with the best improvement at 8% for
>> simple syscall and simple write.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks.

> albeit with one further remark / request:
>
>> @@ -992,18 +1021,36 @@ void __init init_speculation_mitigations(void)
>>          default_xen_spec_ctrl |=3D SPEC_CTRL_SSBD;
>> =20
>>      /*
>> -     * PV guests can poison the RSB to any virtual address from which
>> -     * they can execute a call instruction.  This is necessarily outsid=
e
>> -     * of the Xen supervisor mappings.
>> +     * PV guests can create RSB entries for any linear address they con=
trol,
>> +     * which are outside of Xen's mappings.
>> +     *
>> +     * SMEP inhibits speculation to any user mappings, so in principle =
it is
>> +     * safe to not overwrite the RSB when SMEP is active.
>> +     *
>> +     * However, some caveats apply:
>> +     *
>> +     * 1) CALL instructions push the next sequential linear address int=
o the
>> +     *    RSB, meaning that there is a boundary case at the user=3D>sup=
ervisor
>> +     *    split.  This can be compensated for by having an unmapped or =
NX
>> +     *    page, or an instruction which halts speculation.
>>       *
>> -     * With SMEP enabled, the processor won't speculate into user mappi=
ngs.
>> -     * Therefore, in this case, we don't need to worry about poisoned e=
ntries
>> -     * from 64bit PV guests.
>> +     *    For Xen, the next sequential linear address is the start of M=
2P
>> +     *    (mapped NX), or a zapped hole (unmapped).
> IIUC you mean the compat M2P here - perhaps worth being explicit? I'm
> also not sure why you use "zapped": Nothing can ever be mapped into
> the non-canonical hole.

The non-canonical hole doesn't behave as "a unmapped gap" when the
microarchitecture uses 48 bit pointers internally.

~Andrew



From xen-devel-bounces@lists.xenproject.org Wed Aug 25 12:21:39 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 12:21:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172149.313919 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIruP-0006lh-MZ; Wed, 25 Aug 2021 12:21:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172149.313919; Wed, 25 Aug 2021 12:21:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIruP-0006la-JO; Wed, 25 Aug 2021 12:21:33 +0000
Received: by outflank-mailman (input) for mailman id 172149;
 Wed, 25 Aug 2021 12:21:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mIruO-0006lL-D3
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 12:21:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mIruO-0003tm-AW
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 12:21:32 +0000
Received: from iwj (helo=mariner.uk.xensource.com)
 by xenbits.xenproject.org with local-bsmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mIruO-0001x0-92
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 12:21:32 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.89)
 (envelope-from <iwj@xenproject.org>)
 id 1mIruH-000797-Mx; Wed, 25 Aug 2021 13:21:25 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=References:In-Reply-To:Subject:Cc:To:Date
	:Message-ID:Content-Transfer-Encoding:Content-Type:MIME-Version:From;
	bh=wHqv8PIjHl/dhzeazICj3fbN451GvZxNf3fC4EqnlH4=; b=2uPoV7EB14lNNVb8JIlvCOrnJG
	ntSotz+O7om0UDFdu30lPtlVG32HYZGW5VHCuhXgXbZsubKUKAzmlOw/7xxi5p2tRxUwtoeuD2qta
	FBbr7Igslfcyqh6EDNRMQbxN17GgBEItONsnGyEshRe4XU9r8G4k3TUhI8j9gzdjYzz4=;
From: Ian Jackson <iwj@xenproject.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <24870.13765.328376.37034@mariner.uk.xensource.com>
Date: Wed, 25 Aug 2021 13:21:25 +0100
To: Jan Beulich <jbeulich@suse.com>
Cc: Anthony PERARD <anthony.perard@citrix.com>,
    osstest service owner <osstest-admin@xenproject.org>,
    xen-devel@lists.xenproject.org
Subject: Re: [xen-4.12-testing bisection] complete
 test-amd64-i386-xl-qemuu-ovmf-amd64
In-Reply-To: <3700f293-001c-c01c-c443-86be60e5601f@suse.com>
References: <E1mHy0c-00059n-HR@osstest.test-lab.xenproject.org>
	<9e009e5d-41cf-71de-fed4-88a962b4ab66@suse.com>
	<YSNrZfjGJzdKUlvV@perard>
	<3700f293-001c-c01c-c443-86be60e5601f@suse.com>
X-Mailer: VM 8.2.0b under 24.5.1 (i686-pc-linux-gnu)

Jan Beulich writes ("Re: [xen-4.12-testing bisection] complete test-amd64-i386-xl-qemuu-ovmf-amd64"):
> > We are going to need to backport a commit from unstable. Either
> >     aad7b5c11d51 ("tools/firmware/ovmf: Use OvmfXen platform file is exist")
> >         (but has been reverted)
> > or
> >     81f291420238 ("tools/firmware/ovmf: Use OvmfXen platform file if exist and update OVMF")
> >         (but it also changes the version of ovmf pulled by default,
> >          which we probably don't want to change)
> > 
> > So I would suggest backporting aad7b5c11d51.
> 
> Anthony - thanks for the quick reply.
> 
> Ian - that's largely your call then I guess.
> 
> Overall I'm not convinced though that backporting either of these
> changes is the way to go. But I say this without knowing what the
> background is for osstest's overriding of Config.mk. Plus it's not
> immediately clear to me whether backporting is perhaps the only
> approach to keeping older Xen versions working with up-to-date
> OVMF; I'm getting the impression that it might be.

I looked at all this again.  (Sorry for the delay making a decision.)
I think the best option was indeed to backport aad7b5c11d51 so I have
done that.

Ian.


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 12:47:02 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 12:47:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171917.313985 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIsIx-0001yE-Dq; Wed, 25 Aug 2021 12:46:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171917.313985; Wed, 25 Aug 2021 12:46:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIsIx-0001y7-Aw; Wed, 25 Aug 2021 12:46:55 +0000
Received: by outflank-mailman (input) for mailman id 171917;
 Wed, 25 Aug 2021 11:41:27 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zgcr=NQ=uniontech.com=zhaoxiao@srs-us1.protection.inumbo.net>)
 id 1mIrHb-0006hn-R6
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 11:41:27 +0000
Received: from smtpbguseast2.qq.com (unknown [54.204.34.130])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 0d12b858-ca05-4776-8ae8-0c96f43fb39e;
 Wed, 25 Aug 2021 11:41:22 +0000 (UTC)
Received: from localhost.localdomain (unknown [124.126.19.250])
 by esmtp6.qq.com (ESMTP) with 
 id ; Wed, 25 Aug 2021 19:41:12 +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: 0d12b858-ca05-4776-8ae8-0c96f43fb39e
X-QQ-mid: bizesmtp38t1629891673tm1qrncp
X-QQ-SSF: 0140000000200040D000B00A0000000
X-QQ-FEAT: Me8y4DzRu2SGEc2zGWSKdHMwzN80H5FxPZB8ya1EUmPAG8RijeR4JVWKvb5qt
	bzs4cr9uOq8a9ePwol9hhFv0gY55bw3s3py/IjUFIn5vOSuj8Vd9XpZxK/K7dkX+IN6OyMW
	LQd3njIQJzvosvB5KG1/NB03ctmgv/7H/ZxGAw355rytzZqA/e8LW9+K/vxUoTCQacN3XAf
	bJ31DBrLWYxfRKzpnXnaEOnYKeAXmgWqxznU6+S+RzWIBfkEHrduCbqt7eINexuI4paJN8Z
	vo7fNtDAjyfa6iIuDXNUfpf1YpvAvQhKwWjljJQPZrBWtKreL+D7wjdcUz04RyxePNchxet
	nYP1qoHNr4+jzS+VnMZSrTlS83qM3ZKmg97j8af
X-QQ-GoodBg: 2
From: zhaoxiao <zhaoxiao@uniontech.com>
To: tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org
Cc: hpa@zytor.com,
	xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	zhaoxiao <zhaoxiao@uniontech.com>
Subject: [PATCH] x86: xen: platform-pci-unplug: use pr_err() and pr_warn() instead of raw printk()
Date: Wed, 25 Aug 2021 19:41:11 +0800
Message-Id: <20210825114111.29009-1-zhaoxiao@uniontech.com>
X-Mailer: git-send-email 2.20.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-QQ-SENDSIZE: 520
Feedback-ID: bizesmtp:uniontech.com:qybgforeign:qybgforeign6
X-QQ-Bgrelay: 1

Since we have the nice helpers pr_err() and pr_warn(), use them instead
of raw printk().

Signed-off-by: zhaoxiao <zhaoxiao@uniontech.com>
---
 arch/x86/xen/platform-pci-unplug.c | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/arch/x86/xen/platform-pci-unplug.c b/arch/x86/xen/platform-pci-unplug.c
index 96d7f7d39cb9..e84bff542539 100644
--- a/arch/x86/xen/platform-pci-unplug.c
+++ b/arch/x86/xen/platform-pci-unplug.c
@@ -19,6 +19,9 @@
 #define XEN_PLATFORM_ERR_PROTOCOL -2
 #define XEN_PLATFORM_ERR_BLACKLIST -3
 
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
+
 /* store the value of xen_emul_unplug after the unplug is done */
 static int xen_platform_pci_unplug;
 static int xen_emul_unplug;
@@ -30,13 +33,13 @@ static int check_platform_magic(void)
 
 	magic = inw(XEN_IOPORT_MAGIC);
 	if (magic != XEN_IOPORT_MAGIC_VAL) {
-		printk(KERN_ERR "Xen Platform PCI: unrecognised magic value\n");
+		pr_err("Xen Platform PCI: unrecognised magic value\n");
 		return XEN_PLATFORM_ERR_MAGIC;
 	}
 
 	protocol = inb(XEN_IOPORT_PROTOVER);
 
-	printk(KERN_DEBUG "Xen Platform PCI: I/O protocol version %d\n",
+	pr_debug("Xen Platform PCI: I/O protocol version %d\n",
 			protocol);
 
 	switch (protocol) {
@@ -44,12 +47,12 @@ static int check_platform_magic(void)
 		outw(XEN_IOPORT_LINUX_PRODNUM, XEN_IOPORT_PRODNUM);
 		outl(XEN_IOPORT_LINUX_DRVVER, XEN_IOPORT_DRVVER);
 		if (inw(XEN_IOPORT_MAGIC) != XEN_IOPORT_MAGIC_VAL) {
-			printk(KERN_ERR "Xen Platform: blacklisted by host\n");
+			pr_err("Xen Platform: blacklisted by host\n");
 			return XEN_PLATFORM_ERR_BLACKLIST;
 		}
 		break;
 	default:
-		printk(KERN_WARNING "Xen Platform PCI: unknown I/O protocol version\n");
+		pr_warn("Xen Platform PCI: unknown I/O protocol version\n");
 		return XEN_PLATFORM_ERR_PROTOCOL;
 	}
 
@@ -155,12 +158,12 @@ void xen_unplug_emulated_devices(void)
 	 * been compiled for this kernel (modules or built-in are both OK). */
 	if (!xen_emul_unplug) {
 		if (xen_must_unplug_nics()) {
-			printk(KERN_INFO "Netfront and the Xen platform PCI driver have "
+			pr_info("Netfront and the Xen platform PCI driver have "
 					"been compiled for this kernel: unplug emulated NICs.\n");
 			xen_emul_unplug |= XEN_UNPLUG_ALL_NICS;
 		}
 		if (xen_must_unplug_disks()) {
-			printk(KERN_INFO "Blkfront and the Xen platform PCI driver have "
+			pr_info("Blkfront and the Xen platform PCI driver have "
 					"been compiled for this kernel: unplug emulated disks.\n"
 					"You might have to change the root device\n"
 					"from /dev/hd[a-d] to /dev/xvd[a-d]\n"
@@ -200,7 +203,7 @@ static int __init parse_xen_emul_unplug(char *arg)
 		else if (!strncmp(p, "never", l))
 			xen_emul_unplug |= XEN_UNPLUG_NEVER;
 		else
-			printk(KERN_WARNING "unrecognised option '%s' "
+			pr_warn("unrecognised option '%s' "
 				 "in parameter 'xen_emul_unplug'\n", p);
 	}
 	return 0;
-- 
2.20.1





From xen-devel-bounces@lists.xenproject.org Wed Aug 25 12:47:04 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 12:47:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.171961.313991 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIsIx-00021x-Pa; Wed, 25 Aug 2021 12:46:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 171961.313991; Wed, 25 Aug 2021 12:46:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIsIx-00020w-JI; Wed, 25 Aug 2021 12:46:55 +0000
Received: by outflank-mailman (input) for mailman id 171961;
 Wed, 25 Aug 2021 12:02:32 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gHU1=NQ=xenbits.xen.org=iwj@srs-us1.protection.inumbo.net>)
 id 1mIrc0-00057L-In
 for xen-devel@lists.xen.org; Wed, 25 Aug 2021 12:02:32 +0000
Received: from mail.xenproject.org (unknown [104.130.215.37])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id cf00af0f-7d0f-4042-bc90-6c1de09c4d6f;
 Wed, 25 Aug 2021 12:01:46 +0000 (UTC)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenbits.xen.org>)
 id 1mIrb2-0003Qf-Ie; Wed, 25 Aug 2021 12:01:32 +0000
Received: from iwj by xenbits.xenproject.org with local (Exim 4.92)
 (envelope-from <iwj@xenbits.xen.org>)
 id 1mIrb2-000624-FW; Wed, 25 Aug 2021 12: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: cf00af0f-7d0f-4042-bc90-6c1de09c4d6f
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=uBgotAiTA9C4L7tvIDeVMfeIxtV6AWf16Mfv4PzyyJ0=; b=mB6kC1/nqjXriIovYGlg6LtS/z
	GHgYp0zYk5QyK7sEpTmCP2qhTzUoPvnFFkyr7oUJqtV4NVvGX7EqICLwqax24GnQj6MSZOjcWctKP
	XYKoDbd7VK36w/NNVK/mSrgdtwHc2OL0v+4Co7K9ddmA/PCErvR6uajvI7Qx1Ihg29Xg=;
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 378 v2 (CVE-2021-28694,CVE-2021-28695,CVE-2021-28696)
 - IOMMU page mapping issues on x86
Message-Id: <E1mIrb2-000624-FW@xenbits.xenproject.org>
Date: Wed, 25 Aug 2021 12:01:32 +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-2021-28694,CVE-2021-28695,CVE-2021-28696 / XSA-378
                                   version 2

                   IOMMU page mapping issues on x86

UPDATES IN VERSION 2
====================

Public release.

ISSUE DESCRIPTION
=================

Both AMD and Intel allow ACPI tables to specify regions of memory
which should be left untranslated, which typically means these
addresses should pass the translation phase unaltered.  While these
are typically device specific ACPI properties, they can also be
specified to apply to a range of devices, or even all devices.

On all systems with such regions Xen failed to prevent guests from
undoing/replacing such mappings (CVE-2021-28694).

On AMD systems, where a discontinuous range is specified by firmware,
the supposedly-excluded middle range will also be identity-mapped
(CVE-2021-28695).

Further, on AMD systems, upon de-assigment of a physical device from a
guest, the identity mappings would be left in place, allowing a guest
continued access to ranges of memory which it shouldn't have access to
anymore (CVE-2021-28696).

IMPACT
======

The precise impact is system specific, but can - on affected systems -
be any or all of privilege escalation, denial of service, or information
leaks.

VULNERABLE SYSTEMS
==================

The vulnerability is only exploitable by guests granted access to
physical devices (ie, via PCI passthrough).

All versions of Xen are affected.

Only x86 systems with IOMMUs and with firmware specifying memory regions
to be identity mapped are affected.  Other x86 systems are not affected.

Whether a particular system whose ACPI tables declare such memory
region(s) is actually affected cannot be known without knowing when
and/or how these regions are used.  For example, if these regions were
used only during system boot, there would not be any vulnerability.
The necessary knowledge can only be obtained from, collectively, the
hardware and firmware manufacturers.

On Arm hardware IOMMU use is not security supported.  Accordingly, we
have not undertaken an analysis of these issues for Arm systems.

MITIGATION
==========

Not permitting untrusted guests access to phsyical devices will avoid
the vulnerability.

Likewise, limiting untrusted guest access to physical devices whose
firmware-provided ACPI tables declare identity mappings, will avoid
the vulnerability.  (Provided that there are no identity mapped
regions which are specified by the ACPI tables to apply globally.)

Note that a system is still vulnerable if a guest was trusted, while
it had such a device assigned, and then has the device removed in
anticipation of the guest becoming untrusted (because of, for example,
the insertion of an untrusted kernel module),

CREDITS
=======

This issue was discovered by 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.

xsa378/xsa378-?.patch           xen-unstable
xsa378/xsa378-4.15-?.patch      Xen 4.15.x
xsa378/xsa378-4.14-?.patch      Xen 4.14.x
xsa378/xsa378-4.13-*.patch      Xen 4.13.x
xsa378/xsa378-4.12-*.patch      Xen 4.12.x
xsa378/xsa378-4.11-*.patch      Xen 4.11.x

$ sha256sum xsa378* xsa378*/*
b3b49681468bd2be4b95fc1d3861493bbea63bac1c115a12ece76d0313b6a81c  xsa378.meta
2560d4418e6b6d022b4e7fe1f84906ca13b3180537e746ee81cd3f97f0e86c35  xsa378/xsa378-1.patch
134b207c38f8d76bbc218220f1e61f82780e8166818ef51217716023cc27ce3c  xsa378/xsa378-2.patch
c166ef60e08a80440f79d92abe8488b123c8017e7633dbddacb95b20899f9b2b  xsa378/xsa378-3.patch
a2677e157724f57f65165f361a309c417d123ff009168f16d3a0e342b7a601eb  xsa378/xsa378-4.11-0a.patch
832f52f420bb47784bdefd75edd1ca521658327aafb94b4f3586da522d0d19c1  xsa378/xsa378-4.11-0b.patch
9eb7c53892f01424eec6b788f879b36dd75a6f89b1c8b9c973237603525d6546  xsa378/xsa378-4.11-0c.patch
48021fb9a2c52d7939fd11bbba80c67a5a5b6cae2039b4b2a2c6203eb5841260  xsa378/xsa378-4.11-1.patch
4f3fd39aa328c1e397aa2a10b92e98cc341908a8834302a4fc0f230876dd3570  xsa378/xsa378-4.11-2.patch
6e2eeecd2ccc4029f80888263f44b80acf078d69aeffda4d6accd8b2d0899182  xsa378/xsa378-4.11-3.patch
194b27510c8765f1cf8abee57624a075ab26f4f889aa8c201e126643f570f55a  xsa378/xsa378-4.11-4.patch
e8f4eab0984a7db2ca0c6c9ac0fb9107e45ddd572a36454db4a1bdb8b9a8b0c6  xsa378/xsa378-4.11-5.patch
943c7556be47b1a0f2273cf5691fe70dc65e6cb50ff0477d1d61eb3f0ba87a97  xsa378/xsa378-4.11-6.patch
2eb572e1a55caa4aca31f74a3844135a204c4e023a6776d7adc4f4043663fb99  xsa378/xsa378-4.11-7.patch
7c24ba33461d3adcb195a6611df3e9c0501e9dcacf9b8811456450b291d23edf  xsa378/xsa378-4.11-8.patch
fe14ea6699df673b787f93ff821838f2280407674df0c8c06d40efe8320e8748  xsa378/xsa378-4.12-0a.patch
1ba10aef9ea99c4455a34e61792ca65ea6b2ece56f05cd0b4adc14600a7ae346  xsa378/xsa378-4.12-0b.patch
2c2dbc0c18b695c1d2c93e4137228f82b6d21d895c3165a9e29ddea3db78e36a  xsa378/xsa378-4.12-0c.patch
48021fb9a2c52d7939fd11bbba80c67a5a5b6cae2039b4b2a2c6203eb5841260  xsa378/xsa378-4.12-1.patch
f0d62506ccdf081d0efbb553e2d33f17a084272d21f43bf95d11fda2dcc8a3fa  xsa378/xsa378-4.12-2.patch
e266512b18fc30e5bd4884cd720aa81644d3ca3323b38fe1f77d06fa98dd515d  xsa378/xsa378-4.12-3.patch
076f9955593a8ebdea5f24ed302b8a1004bbf50da4c8becf1f93764066b8981c  xsa378/xsa378-4.12-4.patch
9639bc35636ffae4e2b6dd026387347960c1fb986cb2924a18314a72e6b6ec0a  xsa378/xsa378-4.12-5.patch
32dd659aa365d9f8197d99b9334c22b33e9ce805e30376457df6e507f92282c8  xsa378/xsa378-4.12-6.patch
7eaae2fa968eb11e27277141456cc1bd657025aee738221c368e153535c7c0f4  xsa378/xsa378-4.12-7.patch
05982f43f35b580ff41f74b1280e469e0dd20176f184ec04a4874303c2aa3ad1  xsa378/xsa378-4.12-8.patch
c6f551ef9903a343b47692b34a63c70165a2dbf74878a6be6511cdffd55a7e8c  xsa378/xsa378-4.13-0a.patch
223cd63f7e1c39d862b8654da698455ded65ecb5abae0f57c330921522b7fdb4  xsa378/xsa378-4.13-0b.patch
5c33aa24f14e779dfe914e809cff11260083169a3adfb07a31ce11243d80b3ef  xsa378/xsa378-4.13-0c.patch
1d55426ff6a41f0ef4cbd2c943edafff394157703bb0b6ae751564abf93b5ee7  xsa378/xsa378-4.13-1.patch
4d5e7d5e65cd28d6bc7d1a9f2ab24f09dfaef295c4199d5f2db00915dcaa174f  xsa378/xsa378-4.13-2.patch
78df0bcb347f8bb45827f74b191aad36b6e907eb38c6d535035f2b2739645551  xsa378/xsa378-4.13-3.patch
237c33e0ae01a23db01721afb8e6a39101bfe081f8b75dbcff6b9fa9c9aaceda  xsa378/xsa378-4.13-4.patch
7d2f3ae3881d28073be54a6dfb35f13004e4efee742952788430201d86307ecf  xsa378/xsa378-4.13-5.patch
2ecd7580394667db0c41e4819025393e59ae24d6c97d54451c8e683585057367  xsa378/xsa378-4.13-6.patch
592a03d00e5d22d7a3c001681968dc469c70b3e57998b95877388e9528904ea2  xsa378/xsa378-4.13-7.patch
54e6a095f706c66dbbd74e39aa1d88031c9b537589e73ceb2925e2f0cc1854f0  xsa378/xsa378-4.13-8.patch
1d55426ff6a41f0ef4cbd2c943edafff394157703bb0b6ae751564abf93b5ee7  xsa378/xsa378-4.14-1.patch
86fbd88eb8a358575e42cf335c444b047ddb4d2f1c6a1bc6f9e57e6ac0041074  xsa378/xsa378-4.14-2.patch
0a23e5f93ff1bb55f003a56e0ef8c531384b164f0e840f5794acdb9ae3e91996  xsa378/xsa378-4.14-3.patch
e2226f7ddae1d24dbee8cf19efa8d67ebf312f3d10641cb9aec21d68a3c8f818  xsa378/xsa378-4.14-4.patch
f2cf8f7e4aa0460e606b5564adde366332ed323c4d5e3f957e64299ef1bc9baf  xsa378/xsa378-4.14-5.patch
7811426975757e3bb8c6ab3161ba2354e1780b55b9e6be7928229d5f23bf79b6  xsa378/xsa378-4.14-6.patch
58147bd6c0ea4e08e84a17afc796be4bbe53e6fbc1d393f9fe3c6191fd33eba5  xsa378/xsa378-4.14-7.patch
682a011d807a7c284faf0ec9d2cf0aabaddbc658979dea2b9ccbc007b660f9c5  xsa378/xsa378-4.14-8.patch
a00ada0cd673f0909cc7b462cb532dbd6fe17601e06bd84272f5ff1857ea4c73  xsa378/xsa378-4.15-1.patch
d74cc325be1e47d61ba3b1400837af35d044bf1d25806aa98926ec262f80bddd  xsa378/xsa378-4.15-2.patch
2ad685a04dbbdd2c81761b58146e70059b8a8a92b0c1176f36933510293ece5b  xsa378/xsa378-4.15-3.patch
18de9facccd70ce49dd839e219fe71667c43110e474e5d7b56a503a5786fc7e0  xsa378/xsa378-4.15-4.patch
296558b27ba82176f6d06b721102c8ba7c7e6e99d29b29392ea82244e88df0b9  xsa378/xsa378-4.15-5.patch
5d7cc84c66daf0aceab9407fa72f2827024c847f4ca10f8d123eee87b7451aba  xsa378/xsa378-4.15-6.patch
fd4aa4447562230a6684d17e6e4c55f1e48df4773247f66ab9d01181003bc9aa  xsa378/xsa378-4.15-7.patch
5305e3bc513bcd3e016ca3bbecc6cae38c8ed2b2eacb13e82f7b1f4401d3b67d  xsa378/xsa378-4.15-8.patch
78390bf59344ea5dcbfa5831db3634b3f1b3aabf029160c72cdbeeec2b46b2a9  xsa378/xsa378-4.patch
76fb4a1f2604b98d3a803744ad212b3984117ec8c8011ad6db3759f9337a9b5a  xsa378/xsa378-5.patch
a627f8c6b7d2ffac0b6de945189f96b718aeab8e0c8bb11476a40585d6411bd7  xsa378/xsa378-6.patch
28814b51fabd3c5cb3ca249ad291781f589cddd55fc8152fdd5668c5fcdc727c  xsa378/xsa378-7.patch
30e31749ade75fd5ab4c41fa27fe2124bdcc602ccc803a85e5eeec1b9c48a9c1  xsa378/xsa378-8.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/4UyVfoK9kFAmEmMPQMHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZCucIAMX6QngxefHF5tMGQm0GE9njNrN7xSi6JgIpiz6m
9m0Mn5QNG4rpxTCzoma+ox77fbgK7tzcqFIC4ofW6LabLVmcugbzEZ+TSeZQZvG+
cDQROpNsLYTpO20vPBG6wuF/oCa3hyFTFmuGecW1j5+nDrS4ebPQmUKoynkS5lvW
FzyDLosvHRlExX4I9uDX8WN1y0kPEtMRIAQcOiL9umIrQDAAncy2iVe12FlXXv7U
JpZwxDBQ2VMnSHnhejOQtZbXm+THZKfRswCa2nqJbgaYOWzkyNcDWZB93T+3eDDO
b8ANTfcg3YsUaohYM+YCe0b2nhqUwVJepu27MhOzsbTQDMU=
=vRv3
-----END PGP SIGNATURE-----

--=separator
Content-Type: application/octet-stream; name="xsa378.meta"
Content-Disposition: attachment; filename="xsa378.meta"
Content-Transfer-Encoding: base64

ewogICJYU0EiOiAzNzgsCiAgIlN1cHBvcnRlZFZlcnNpb25zIjogWwogICAg
Im1hc3RlciIsCiAgICAiNC4xNSIsCiAgICAiNC4xNCIsCiAgICAiNC4xMyIs
CiAgICAiNC4xMiIsCiAgICAiNC4xMSIKICBdLAogICJUcmVlcyI6IFsKICAg
ICJ4ZW4iCiAgXSwKICAiUmVjaXBlcyI6IHsKICAgICI0LjExIjogewogICAg
ICAiUmVjaXBlcyI6IHsKICAgICAgICAieGVuIjogewogICAgICAgICAgIlN0
YWJsZVJlZiI6ICJlZjMyYzdhZmEyNzMxYjc1ODIyNmQ2ZTEwYTFlNDg5YjFh
MTVmYzQxIiwKICAgICAgICAgICJQcmVyZXFzIjogW10sCiAgICAgICAgICAi
UGF0Y2hlcyI6IFsKICAgICAgICAgICAgInhzYTM3OC94c2EzNzgtNC4xMS0q
LnBhdGNoIgogICAgICAgICAgXQogICAgICAgIH0KICAgICAgfQogICAgfSwK
ICAgICI0LjEyIjogewogICAgICAiUmVjaXBlcyI6IHsKICAgICAgICAieGVu
IjogewogICAgICAgICAgIlN0YWJsZVJlZiI6ICJlYTIwZWVlOTdlOWUwODYx
MTI3YTgwNzBjYzdiOWFlMzU1N2IwOWZiIiwKICAgICAgICAgICJQcmVyZXFz
IjogWwogICAgICAgICAgICAzODMKICAgICAgICAgIF0sCiAgICAgICAgICAi
UGF0Y2hlcyI6IFsKICAgICAgICAgICAgInhzYTM3OC94c2EzNzgtNC4xMi0q
LnBhdGNoIgogICAgICAgICAgXQogICAgICAgIH0KICAgICAgfQogICAgfSwK
ICAgICI0LjEzIjogewogICAgICAiUmVjaXBlcyI6IHsKICAgICAgICAieGVu
IjogewogICAgICAgICAgIlN0YWJsZVJlZiI6ICIzMmQ1ODA5MDJiOTU5MDAw
ZDc5ZDUxZGZmMDNhMzU2MDY1M2M0ZmNiIiwKICAgICAgICAgICJQcmVyZXFz
IjogWwogICAgICAgICAgICAzODMKICAgICAgICAgIF0sCiAgICAgICAgICAi
UGF0Y2hlcyI6IFsKICAgICAgICAgICAgInhzYTM3OC94c2EzNzgtNC4xMy0q
LnBhdGNoIgogICAgICAgICAgXQogICAgICAgIH0KICAgICAgfQogICAgfSwK
ICAgICI0LjE0IjogewogICAgICAiUmVjaXBlcyI6IHsKICAgICAgICAieGVu
IjogewogICAgICAgICAgIlN0YWJsZVJlZiI6ICI0OTI5OWM0ODEzYjc4NDdk
MjlkZjA3YmY3OTBmNTQ4OTA2MGYyYTljIiwKICAgICAgICAgICJQcmVyZXFz
IjogWwogICAgICAgICAgICAzODMKICAgICAgICAgIF0sCiAgICAgICAgICAi
UGF0Y2hlcyI6IFsKICAgICAgICAgICAgInhzYTM3OC94c2EzNzgtNC4xNC0q
LnBhdGNoIgogICAgICAgICAgXQogICAgICAgIH0KICAgICAgfQogICAgfSwK
ICAgICI0LjE1IjogewogICAgICAiUmVjaXBlcyI6IHsKICAgICAgICAieGVu
IjogewogICAgICAgICAgIlN0YWJsZVJlZiI6ICJkYmE3NzQ4OTZmN2RkNzQ3
NzNjMTRkNTM3NjQzYjdkNzQ3N2ZlZmNkIiwKICAgICAgICAgICJQcmVyZXFz
IjogWwogICAgICAgICAgICAzODMKICAgICAgICAgIF0sCiAgICAgICAgICAi
UGF0Y2hlcyI6IFsKICAgICAgICAgICAgInhzYTM3OC94c2EzNzgtNC4xNS0q
LnBhdGNoIgogICAgICAgICAgXQogICAgICAgIH0KICAgICAgfQogICAgfSwK
ICAgICJtYXN0ZXIiOiB7CiAgICAgICJSZWNpcGVzIjogewogICAgICAgICJ4
ZW4iOiB7CiAgICAgICAgICAiU3RhYmxlUmVmIjogIjI1ZGE5NDU1ZjFiYjhh
NmQzMzAzOTU3NWE3YjI4YmRmYzRlM2ZjZmUiLAogICAgICAgICAgIlByZXJl
cXMiOiBbCiAgICAgICAgICAgIDM4MwogICAgICAgICAgXSwKICAgICAgICAg
ICJQYXRjaGVzIjogWwogICAgICAgICAgICAieHNhMzc4L3hzYTM3OC0/LnBh
dGNoIgogICAgICAgICAgXQogICAgICAgIH0KICAgICAgfQogICAgfQogIH0K
fQ==

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-1.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-1.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBBTUQvSU9NTVU6IGNvcnJlY3QgZ2xvYmFsIGV4Y2x1c2lvbiByYW5nZSBl
eHRlbmRpbmcKCkJlc2lkZXMgdW5pdHkgbWFwcGluZyByZWdpb25zLCB0aGUg
QU1EIElPTU1VIHNwZWMgYWxzbyBwcm92aWRlcyBmb3IKZXhjbHVzaW9uIHJh
bmdlcyAoYXJlYXMgb2YgbWVtb3J5IG5vdCB0byBiZSBzdWJqZWN0IHRvIERN
QSB0cmFuc2xhdGlvbikKdG8gYmUgc3BlY2lmaWVkIGJ5IGZpcm13YXJlIGlu
IHRoZSBBQ1BJIHRhYmxlcy4gVGhlIHNwZWMgZG9lcyBub3QgcHV0CmFueSBj
b25zdHJhaW50cyBvbiB0aGUgbnVtYmVyIG9mIHN1Y2ggcmVnaW9ucy4KCkJs
aW5kbHkgYXNzdW1pbmcgYWxsIGFkZHJlc3NlcyBiZXR3ZWVuIGFueSB0d28g
c3VjaCByYW5nZXMgc2hvdWxkIGFsc28KYmUgZXhjbHVkZWQgY2FuJ3QgYmUg
cmlnaHQuIFNpbmNlIGhhcmR3YXJlIGhhcyByb29tIGZvciBqdXN0IGEgc2lu
Z2xlCnN1Y2ggcmFuZ2UgKGNvbXByaXNlZCBvZiB0aGUgRXhjbHVzaW9uIEJh
c2UgUmVnaXN0ZXIgYW5kIHRoZSBFeGNsdXNpb24KUmFuZ2UgTGltaXQgUmVn
aXN0ZXIpLCBjb21iaW5lIG9ubHkgYWRqYWNlbnQgb3Igb3ZlcmxhcHBpbmcg
cmVnaW9ucyAoZm9yCm5vdzsgdGhpcyBtYXkgcmVxdWlyZSBmdXJ0aGVyIGFk
anVzdG1lbnQgaW4gY2FzZSB0YWJsZSBlbnRyaWVzIGFyZW4ndApzb3J0ZWQg
YnkgYWRkcmVzcykgd2l0aCBtYXRjaGluZyBleGNsdXNpb25fYWxsb3dfYWxs
IHNldHRpbmdzLiBUaGlzCnJlcXVpcmVzIGJ1YmJsaW5nIHVwIGVycm9yIGlu
ZGljYXRvcnMsIHN1Y2ggdGhhdCBJT01NVSBpbml0IGNhbiBiZQpmYWlsZWQg
d2hlbiBjb25jYXRlbmF0aW9uIHdhc24ndCBwb3NzaWJsZS4KCkZ1cnRoZXJt
b3JlLCBzaW5jZSB0aGUgZXhjbHVzaW9uIHJhbmdlIHNwZWNpZmllZCBpbiBJ
T01NVSByZWdpc3RlcnMKaW1wbGllcyBSL1cgYWNjZXNzLCByZWplY3QgcmVx
dWVzdHMgYXNraW5nIGZvciBsZXNzIHBlcm1pc3Npb25zICh0aGlzCndpbGwg
YmUgYnJvdWdodCBjbG9zZXIgdG8gdGhlIHNwZWMgYnkgYSBzdWJzZXF1ZW50
IGNoYW5nZSkuCgpUaGlzIGlzIHBhcnQgb2YgWFNBLTM3OCAvIENWRS0yMDIx
LTI4Njk1LgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpSZXZpZXdlZC1ieTogUGF1bCBEdXJyYW50IDxwYXVsQHhl
bi5vcmc+Ci0tLQp2ODogQWRkIGNvbW1lbnRzIHRvIHBsYWluIHRydWUvZmFs
c2UgZnVuY3Rpb24gYXJndW1lbnRzLgp2NDogRG9uJ3QgYWNjZXB0IHJlcXVl
c3RzIG5vdCBhbGxvd2luZyBmb3IgYm90aCByZWFkaW5nIGFuZCB3cml0aW5n
LgogICAgRG9uJ3QgYWNjZXB0IG1pc21hdGNoZXMgaW4gdGhlIGV4Y2x1c2lv
bl9hbGxvd19hbGwgc2V0dGluZy4gQ292ZXIKICAgIGZvciB0aGUgZHJvcHBp
bmcgb2YgImNvcnJlY3QgbGltaXQgY2FsY3VsYXRpb24gaW4gSVZNRCBwYXJz
aW5nIi4KdjI6IEFjY2VwdCBvdmVybGFwcGluZyByZWdpb25zIGFzIHdlbGwu
Ci0tLQpUQkQ6IFNob3VsZCB3ZSBhc3N1bWUgcmFuZG9tIG9yZGVyIG9mIGVu
dHJpZXMgcmlnaHQgYXdheT8KVEJEOiBBbmRyZXcgc3VnZ2VzdHMgdGhlcmUg
YXJlIGluZGljYXRpb25zIG9mIG9ubHkgb25lIGdsb2JhbCBleGNsdXNpb24K
ICAgICByYW5nZSBiZWluZyBhbGxvd2VkLCB3aGljaCB3b3VsZCB0aGVuIChw
cmVzdW1hYmx5KSBiZSB0aWVkIHRvCiAgICAgQUNQSV9JVk1EX0VYQ0xVU0lP
Tl9SQU5HRSAoYXMgcGVyIGFib3ZlKS4KCi0tLSBhL3hlbi9kcml2ZXJzL3Bh
c3N0aHJvdWdoL2FtZC9pb21tdV9hY3BpLmMKKysrIGIveGVuL2RyaXZlcnMv
cGFzc3Rocm91Z2gvYW1kL2lvbW11X2FjcGkuYwpAQCAtMTE2LDEyICsxMTYs
MjEgQEAgc3RhdGljIHN0cnVjdCBhbWRfaW9tbXUgKiBfX2luaXQgZmluZF9p
bwogICAgIHJldHVybiBOVUxMOwogfQogCi1zdGF0aWMgdm9pZCBfX2luaXQg
cmVzZXJ2ZV9pb21tdV9leGNsdXNpb25fcmFuZ2UoCi0gICAgc3RydWN0IGFt
ZF9pb21tdSAqaW9tbXUsIHVpbnQ2NF90IGJhc2UsIHVpbnQ2NF90IGxpbWl0
KQorc3RhdGljIGludCBfX2luaXQgcmVzZXJ2ZV9pb21tdV9leGNsdXNpb25f
cmFuZ2UoCisgICAgc3RydWN0IGFtZF9pb21tdSAqaW9tbXUsIHVpbnQ2NF90
IGJhc2UsIHVpbnQ2NF90IGxpbWl0LAorICAgIGJvb2wgYWxsLCBib29sIGl3
LCBib29sIGlyKQogeworICAgIGlmICggIWlyIHx8ICFpdyApCisgICAgICAg
IHJldHVybiAtRVBFUk07CisKICAgICAvKiBuZWVkIHRvIGV4dGVuZCBleGNs
dXNpb24gcmFuZ2U/ICovCiAgICAgaWYgKCBpb21tdS0+ZXhjbHVzaW9uX2Vu
YWJsZSApCiAgICAgeworICAgICAgICBpZiAoIGlvbW11LT5leGNsdXNpb25f
bGltaXQgKyBQQUdFX1NJWkUgPCBiYXNlIHx8CisgICAgICAgICAgICAgbGlt
aXQgKyBQQUdFX1NJWkUgPCBpb21tdS0+ZXhjbHVzaW9uX2Jhc2UgfHwKKyAg
ICAgICAgICAgICBpb21tdS0+ZXhjbHVzaW9uX2FsbG93X2FsbCAhPSBhbGwg
KQorICAgICAgICAgICAgcmV0dXJuIC1FQlVTWTsKKwogICAgICAgICBpZiAo
IGlvbW11LT5leGNsdXNpb25fYmFzZSA8IGJhc2UgKQogICAgICAgICAgICAg
YmFzZSA9IGlvbW11LT5leGNsdXNpb25fYmFzZTsKICAgICAgICAgaWYgKCBp
b21tdS0+ZXhjbHVzaW9uX2xpbWl0ID4gbGltaXQgKQpAQCAtMTI5LDE2ICsx
MzgsMTEgQEAgc3RhdGljIHZvaWQgX19pbml0IHJlc2VydmVfaW9tbXVfZXhj
bHVzaQogICAgIH0KIAogICAgIGlvbW11LT5leGNsdXNpb25fZW5hYmxlID0g
SU9NTVVfQ09OVFJPTF9FTkFCTEVEOworICAgIGlvbW11LT5leGNsdXNpb25f
YWxsb3dfYWxsID0gYWxsOwogICAgIGlvbW11LT5leGNsdXNpb25fYmFzZSA9
IGJhc2U7CiAgICAgaW9tbXUtPmV4Y2x1c2lvbl9saW1pdCA9IGxpbWl0Owot
fQogCi1zdGF0aWMgdm9pZCBfX2luaXQgcmVzZXJ2ZV9pb21tdV9leGNsdXNp
b25fcmFuZ2VfYWxsKAotICAgIHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LAot
ICAgIHVuc2lnbmVkIGxvbmcgYmFzZSwgdW5zaWduZWQgbG9uZyBsaW1pdCkK
LXsKLSAgICByZXNlcnZlX2lvbW11X2V4Y2x1c2lvbl9yYW5nZShpb21tdSwg
YmFzZSwgbGltaXQpOwotICAgIGlvbW11LT5leGNsdXNpb25fYWxsb3dfYWxs
ID0gSU9NTVVfQ09OVFJPTF9FTkFCTEVEOworICAgIHJldHVybiAwOwogfQog
CiBzdGF0aWMgdm9pZCBfX2luaXQgcmVzZXJ2ZV91bml0eV9tYXBfZm9yX2Rl
dmljZSgKQEAgLTE3Niw2ICsxODAsNyBAQCBzdGF0aWMgaW50IF9faW5pdCBy
ZWdpc3Rlcl9leGNsdXNpb25fcmFuCiAgICAgdW5zaWduZWQgbG9uZyByYW5n
ZV90b3AsIGlvbW11X3RvcCwgbGVuZ3RoOwogICAgIHN0cnVjdCBhbWRfaW9t
bXUgKmlvbW11OwogICAgIHVuc2lnbmVkIGludCBiZGY7CisgICAgaW50IHJj
ID0gMDsKIAogICAgIC8qIGlzIHBhcnQgb2YgZXhjbHVzaW9uIHJhbmdlIGlu
c2lkZSBvZiBJT01NVSB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2U/ICovCiAgICAg
Lyogbm90ZTogJ2xpbWl0JyBwYXJhbWV0ZXIgaXMgYXNzdW1lZCB0byBiZSBw
YWdlLWFsaWduZWQgKi8KQEAgLTE5NywxMCArMjAyLDE1IEBAIHN0YXRpYyBp
bnQgX19pbml0IHJlZ2lzdGVyX2V4Y2x1c2lvbl9yYW4KICAgICBpZiAoIGxp
bWl0ID49IGlvbW11X3RvcCApCiAgICAgewogICAgICAgICBmb3JfZWFjaF9h
bWRfaW9tbXUoIGlvbW11ICkKLSAgICAgICAgICAgIHJlc2VydmVfaW9tbXVf
ZXhjbHVzaW9uX3JhbmdlX2FsbChpb21tdSwgYmFzZSwgbGltaXQpOworICAg
ICAgICB7CisgICAgICAgICAgICByYyA9IHJlc2VydmVfaW9tbXVfZXhjbHVz
aW9uX3JhbmdlKGlvbW11LCBiYXNlLCBsaW1pdCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAvKiBhbGwg
Ki8sIGl3LCBpcik7CisgICAgICAgICAgICBpZiAoIHJjICkKKyAgICAgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgfQogICAgIH0KIAotICAgIHJldHVy
biAwOworICAgIHJldHVybiByYzsKIH0KIAogc3RhdGljIGludCBfX2luaXQg
cmVnaXN0ZXJfZXhjbHVzaW9uX3JhbmdlX2Zvcl9kZXZpY2UoCkBAIC0yMTEs
NiArMjIxLDcgQEAgc3RhdGljIGludCBfX2luaXQgcmVnaXN0ZXJfZXhjbHVz
aW9uX3JhbgogICAgIHVuc2lnbmVkIGxvbmcgcmFuZ2VfdG9wLCBpb21tdV90
b3AsIGxlbmd0aDsKICAgICBzdHJ1Y3QgYW1kX2lvbW11ICppb21tdTsKICAg
ICB1MTYgcmVxOworICAgIGludCByYyA9IDA7CiAKICAgICBpb21tdSA9IGZp
bmRfaW9tbXVfZm9yX2RldmljZShzZWcsIGJkZik7CiAgICAgaWYgKCAhaW9t
bXUgKQpAQCAtMjQwLDEyICsyNTEsMTMgQEAgc3RhdGljIGludCBfX2luaXQg
cmVnaXN0ZXJfZXhjbHVzaW9uX3JhbgogICAgIC8qIHJlZ2lzdGVyIElPTU1V
IGV4Y2x1c2lvbiByYW5nZSBzZXR0aW5ncyBmb3IgZGV2aWNlICovCiAgICAg
aWYgKCBsaW1pdCA+PSBpb21tdV90b3AgICkKICAgICB7Ci0gICAgICAgIHJl
c2VydmVfaW9tbXVfZXhjbHVzaW9uX3JhbmdlKGlvbW11LCBiYXNlLCBsaW1p
dCk7CisgICAgICAgIHJjID0gcmVzZXJ2ZV9pb21tdV9leGNsdXNpb25fcmFu
Z2UoaW9tbXUsIGJhc2UsIGxpbWl0LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGZhbHNlIC8qIGFsbCAqLywgaXcsIGly
KTsKICAgICAgICAgaXZyc19tYXBwaW5nc1tiZGZdLmR0ZV9hbGxvd19leGNs
dXNpb24gPSB0cnVlOwogICAgICAgICBpdnJzX21hcHBpbmdzW3JlcV0uZHRl
X2FsbG93X2V4Y2x1c2lvbiA9IHRydWU7CiAgICAgfQogCi0gICAgcmV0dXJu
IDA7CisgICAgcmV0dXJuIHJjOwogfQogCiBzdGF0aWMgaW50IF9faW5pdCBy
ZWdpc3Rlcl9leGNsdXNpb25fcmFuZ2VfZm9yX2lvbW11X2RldmljZXMoCkBA
IC0yNTUsNiArMjY3LDcgQEAgc3RhdGljIGludCBfX2luaXQgcmVnaXN0ZXJf
ZXhjbHVzaW9uX3JhbgogICAgIHVuc2lnbmVkIGxvbmcgcmFuZ2VfdG9wLCBp
b21tdV90b3AsIGxlbmd0aDsKICAgICB1bnNpZ25lZCBpbnQgYmRmOwogICAg
IHUxNiByZXE7CisgICAgaW50IHJjID0gMDsKIAogICAgIC8qIGlzIHBhcnQg
b2YgZXhjbHVzaW9uIHJhbmdlIGluc2lkZSBvZiBJT01NVSB2aXJ0dWFsIGFk
ZHJlc3Mgc3BhY2U/ICovCiAgICAgLyogbm90ZTogJ2xpbWl0JyBwYXJhbWV0
ZXIgaXMgYXNzdW1lZCB0byBiZSBwYWdlLWFsaWduZWQgKi8KQEAgLTI4NSw4
ICsyOTgsMTAgQEAgc3RhdGljIGludCBfX2luaXQgcmVnaXN0ZXJfZXhjbHVz
aW9uX3JhbgogCiAgICAgLyogcmVnaXN0ZXIgSU9NTVUgZXhjbHVzaW9uIHJh
bmdlIHNldHRpbmdzICovCiAgICAgaWYgKCBsaW1pdCA+PSBpb21tdV90b3Ag
KQotICAgICAgICByZXNlcnZlX2lvbW11X2V4Y2x1c2lvbl9yYW5nZV9hbGwo
aW9tbXUsIGJhc2UsIGxpbWl0KTsKLSAgICByZXR1cm4gMDsKKyAgICAgICAg
cmMgPSByZXNlcnZlX2lvbW11X2V4Y2x1c2lvbl9yYW5nZShpb21tdSwgYmFz
ZSwgbGltaXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdHJ1ZSAvKiBhbGwgKi8sIGl3LCBpcik7CisKKyAgICByZXR1
cm4gcmM7CiB9CiAKIHN0YXRpYyBpbnQgX19pbml0IHBhcnNlX2l2bWRfZGV2
aWNlX3NlbGVjdCgK

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-2.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-2.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBBTUQvSU9NTVU6IGNvcnJlY3QgZGV2aWNlIHVuaXR5IG1hcCBoYW5kbGlu
ZwoKQmxpbmRseSBhc3N1bWluZyBhbGwgYWRkcmVzc2VzIGJldHdlZW4gYW55
IHR3byBzdWNoIHJhbmdlcywgc3BlY2lmaWVkIGJ5CmZpcm13YXJlIGluIHRo
ZSBBQ1BJIHRhYmxlcywgc2hvdWxkIGFsc28gYmUgdW5pdHktbWFwcGVkIGNh
bid0IGJlIHJpZ2h0LgpOb3IgY2FuIGl0IGJlIGNvcnJlY3QgdG8gbWVyZ2Ug
cmFuZ2VzIHdpdGggZGlmZmVyaW5nIHBlcm1pc3Npb25zLiBUcmFjawpyYW5n
ZXMgaW5kaXZpZHVhbGx5OyBkb24ndCBtZXJnZSBhdCBhbGwsIGJ1dCBjaGVj
ayBmb3Igb3ZlcmxhcHMgaW5zdGVhZC4KVGhpcyByZXF1aXJlcyBidWJibGlu
ZyB1cCBlcnJvciBpbmRpY2F0b3JzLCBzdWNoIHRoYXQgSU9NTVUgaW5pdCBj
YW4gYmUKZmFpbGVkIHdoZW4gYWxsb2NhdGlvbiBvZiBhIG5ldyB0cmFja2lu
ZyBzdHJ1Y3Qgd2Fzbid0IHBvc3NpYmxlLCBvciBhbgpvdmVybGFwIHdhcyBk
ZXRlY3RlZC4KCkF0IHRoaXMgb2NjYXNpb24gYWxzbyBzdG9wIGlnbm9yaW5n
CmFtZF9pb21tdV9yZXNlcnZlX2RvbWFpbl91bml0eV9tYXAoKSdzIHJldHVy
biB2YWx1ZS4KClRoaXMgaXMgcGFydCBvZiBYU0EtMzc4IC8gQ1ZFLTIwMjEt
Mjg2OTUuCgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hA
c3VzZS5jb20+ClJldmlld2VkLWJ5OiBHZW9yZ2UgRHVubGFwIDxnZW9yZ2Uu
ZHVubGFwQGNpdHJpeC5jb20+ClJldmlld2VkLWJ5OiBQYXVsIER1cnJhbnQg
PHBhdWxAeGVuLm9yZz4KLS0tClRCRDogT3ZlcmxhcHBpbmcgcmFuZ2VzIGNv
dWxkIGJlIGRlYWx0IHdpdGggKHdoZW4gdGhleSBzcGVjaWZ5IHRoZSBzYW1l
CiAgICAgcGVybWlzc2lvbnMpIGJ5IHNwbGl0dGluZyB0aGUgcmFuZ2VzIHRv
IG5vbi1vdmVybGFwcGluZyBwaWVjZXMuIFNlZQogICAgICJJT01NVTogZ2Vu
ZXJhbGl6ZSBWVC1kJ3MgdHJhY2tpbmcgb2YgbWFwcGVkIFJNUlIgcmVnaW9u
cyIgYW5kIGl0cwogICAgIHVzZXIgIkFNRC9JT01NVTogcmUtYXJyYW5nZS9j
b21wbGV0ZSByZS1hc3NpZ25tZW50IGhhbmRsaW5nIiBmb3IKICAgICB3aHkg
b3ZlcmxhcHMgY2FuJ3QgYmUgYWNjZXB0ZWQgd2l0aCB0aGUgY2hvc2VuIHRy
YWNraW5nIG1vZGVsLiBCdXQKICAgICB0aGUgYmFzZSBhc3N1bXB0aW9uIGlz
IGFueXdheSBmb3IgZmlybXdhcmUgdG8gbm90IHN1cmZhY2UKICAgICBvdmVy
bGFwcGluZyByYW5nZXMgaW4gdGhlIGZpcnN0IHBsYWNlLgotLS0Kdjg6IEZp
eCBidWlsZCAoZmFpbHVyZSByZXN1bHRlZCBmcm9tIGEgcGllY2Ugb2YgY29k
ZSBsaXZpbmcgaGVyZSB3aGljaAogICAgb25seSBhIGxhdGVyIHBhdGNoIHNo
b3VsZCBhZGQpLiBSZS1iYXNlIG92ZXIgYWRqdXN0bWVudHMgdG8gZWFybGll
cgogICAgcGF0Y2guCnY1OiBEb24ndCBhbGxvdyBvdmVybGFwcyAoZXhjZXB0
IGV4YWN0IG1hdGNoZXMpIGFuZCBkb24ndCBtZXJnZS4KICAgIFJlLWJhc2Uu
CnY0OiBBZGp1c3QgdGl0bGUuIFJlLWJhc2Ugb3ZlciBjaGFuZ2VzIGVhcmxp
ZXIgaW4gdGhlIHNlcmllcy4KdjI6IFJlLWJhc2Ugb3ZlciBYU0EtMzAyLgoK
LS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11LmgKKysr
IGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11LmgKQEAgLTEw
NywyMCArMTA3LDI0IEBAIHN0cnVjdCBhbWRfaW9tbXUgewogICAgIHN0cnVj
dCBsaXN0X2hlYWQgYXRzX2RldmljZXM7CiB9OwogCitzdHJ1Y3QgaXZyc191
bml0eV9tYXAgeworICAgIGJvb2wgcmVhZDoxOworICAgIGJvb2wgd3JpdGU6
MTsKKyAgICBwYWRkcl90IGFkZHI7CisgICAgdW5zaWduZWQgbG9uZyBsZW5n
dGg7CisgICAgc3RydWN0IGl2cnNfdW5pdHlfbWFwICpuZXh0OworfTsKKwog
c3RydWN0IGl2cnNfbWFwcGluZ3MgewogICAgIHVpbnQxNl90IGR0ZV9yZXF1
ZXN0b3JfaWQ7CiAgICAgYm9vbCB2YWxpZDoxOwogICAgIGJvb2wgZHRlX2Fs
bG93X2V4Y2x1c2lvbjoxOwotICAgIGJvb2wgdW5pdHlfbWFwX2VuYWJsZTox
OwotICAgIGJvb2wgd3JpdGVfcGVybWlzc2lvbjoxOwotICAgIGJvb2wgcmVh
ZF9wZXJtaXNzaW9uOjE7CiAKICAgICAvKiBpdmhkIGRldmljZSBkYXRhIHNl
dHRpbmdzICovCiAgICAgdWludDhfdCBkZXZpY2VfZmxhZ3M7CiAKLSAgICB1
bnNpZ25lZCBsb25nIGFkZHJfcmFuZ2Vfc3RhcnQ7Ci0gICAgdW5zaWduZWQg
bG9uZyBhZGRyX3JhbmdlX2xlbmd0aDsKICAgICBzdHJ1Y3QgYW1kX2lvbW11
ICppb21tdTsKKyAgICBzdHJ1Y3QgaXZyc191bml0eV9tYXAgKnVuaXR5X21h
cDsKIAogICAgIC8qIHBlciBkZXZpY2UgaW50ZXJydXB0IHJlbWFwcGluZyB0
YWJsZSAqLwogICAgIHZvaWQgKmludHJlbWFwX3RhYmxlOwotLS0gYS94ZW4v
ZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfYWNwaS5jCisrKyBiL3hl
bi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21tdV9hY3BpLmMKQEAgLTE0
NSwzMiArMTQ1LDQ4IEBAIHN0YXRpYyBpbnQgX19pbml0IHJlc2VydmVfaW9t
bXVfZXhjbHVzaW8KICAgICByZXR1cm4gMDsKIH0KIAotc3RhdGljIHZvaWQg
X19pbml0IHJlc2VydmVfdW5pdHlfbWFwX2Zvcl9kZXZpY2UoCi0gICAgdTE2
IHNlZywgdTE2IGJkZiwgdW5zaWduZWQgbG9uZyBiYXNlLAotICAgIHVuc2ln
bmVkIGxvbmcgbGVuZ3RoLCB1OCBpdywgdTggaXIpCitzdGF0aWMgaW50IF9f
aW5pdCByZXNlcnZlX3VuaXR5X21hcF9mb3JfZGV2aWNlKAorICAgIHVpbnQx
Nl90IHNlZywgdWludDE2X3QgYmRmLCB1bnNpZ25lZCBsb25nIGJhc2UsCisg
ICAgdW5zaWduZWQgbG9uZyBsZW5ndGgsIGJvb2wgaXcsIGJvb2wgaXIpCiB7
CiAgICAgc3RydWN0IGl2cnNfbWFwcGluZ3MgKml2cnNfbWFwcGluZ3MgPSBn
ZXRfaXZyc19tYXBwaW5ncyhzZWcpOwotICAgIHVuc2lnbmVkIGxvbmcgb2xk
X3RvcCwgbmV3X3RvcDsKKyAgICBzdHJ1Y3QgaXZyc191bml0eV9tYXAgKnVu
aXR5X21hcCA9IGl2cnNfbWFwcGluZ3NbYmRmXS51bml0eV9tYXA7CiAKLSAg
ICAvKiBuZWVkIHRvIGV4dGVuZCB1bml0eS1tYXBwZWQgcmFuZ2U/ICovCi0g
ICAgaWYgKCBpdnJzX21hcHBpbmdzW2JkZl0udW5pdHlfbWFwX2VuYWJsZSAp
CisgICAgLyogQ2hlY2sgZm9yIG92ZXJsYXBzLiAqLworICAgIGZvciAoIDsg
dW5pdHlfbWFwOyB1bml0eV9tYXAgPSB1bml0eV9tYXAtPm5leHQgKQogICAg
IHsKLSAgICAgICAgb2xkX3RvcCA9IGl2cnNfbWFwcGluZ3NbYmRmXS5hZGRy
X3JhbmdlX3N0YXJ0ICsKLSAgICAgICAgICAgIGl2cnNfbWFwcGluZ3NbYmRm
XS5hZGRyX3JhbmdlX2xlbmd0aDsKLSAgICAgICAgbmV3X3RvcCA9IGJhc2Ug
KyBsZW5ndGg7Ci0gICAgICAgIGlmICggb2xkX3RvcCA+IG5ld190b3AgKQot
ICAgICAgICAgICAgbmV3X3RvcCA9IG9sZF90b3A7Ci0gICAgICAgIGlmICgg
aXZyc19tYXBwaW5nc1tiZGZdLmFkZHJfcmFuZ2Vfc3RhcnQgPCBiYXNlICkK
LSAgICAgICAgICAgIGJhc2UgPSBpdnJzX21hcHBpbmdzW2JkZl0uYWRkcl9y
YW5nZV9zdGFydDsKLSAgICAgICAgbGVuZ3RoID0gbmV3X3RvcCAtIGJhc2U7
Ci0gICAgfQotCi0gICAgLyogZXh0ZW5kIHIvdyBwZXJtaXNzaW9tcyBhbmQg
a2VlcCBhZ2dyZWdhdGUgKi8KLSAgICBpdnJzX21hcHBpbmdzW2JkZl0ud3Jp
dGVfcGVybWlzc2lvbiA9IGl3OwotICAgIGl2cnNfbWFwcGluZ3NbYmRmXS5y
ZWFkX3Blcm1pc3Npb24gPSBpcjsKLSAgICBpdnJzX21hcHBpbmdzW2JkZl0u
dW5pdHlfbWFwX2VuYWJsZSA9IHRydWU7Ci0gICAgaXZyc19tYXBwaW5nc1ti
ZGZdLmFkZHJfcmFuZ2Vfc3RhcnQgPSBiYXNlOwotICAgIGl2cnNfbWFwcGlu
Z3NbYmRmXS5hZGRyX3JhbmdlX2xlbmd0aCA9IGxlbmd0aDsKKyAgICAgICAg
LyoKKyAgICAgICAgICogRXhhY3QgbWF0Y2hlcyBhcmUgb2theS4gVGhpcyBj
YW4gaW4gcGFydGljdWxhciBoYXBwZW4gd2hlbgorICAgICAgICAgKiByZWdp
c3Rlcl9leGNsdXNpb25fcmFuZ2VfZm9yX2RldmljZSgpIGNhbGxzIGhlcmUg
dHdpY2UgZm9yIHRoZQorICAgICAgICAgKiBzYW1lIChzLGIsZCxmKS4KKyAg
ICAgICAgICovCisgICAgICAgIGlmICggYmFzZSA9PSB1bml0eV9tYXAtPmFk
ZHIgJiYgbGVuZ3RoID09IHVuaXR5X21hcC0+bGVuZ3RoICYmCisgICAgICAg
ICAgICAgaXIgPT0gdW5pdHlfbWFwLT5yZWFkICYmIGl3ID09IHVuaXR5X21h
cC0+d3JpdGUgKQorICAgICAgICAgICAgcmV0dXJuIDA7CisKKyAgICAgICAg
aWYgKCB1bml0eV9tYXAtPmFkZHIgKyB1bml0eV9tYXAtPmxlbmd0aCA+IGJh
c2UgJiYKKyAgICAgICAgICAgICBiYXNlICsgbGVuZ3RoID4gdW5pdHlfbWFw
LT5hZGRyICkKKyAgICAgICAgeworICAgICAgICAgICAgQU1EX0lPTU1VX0RF
QlVHKCJJVk1EIEVycm9yOiBvdmVybGFwIFslbHgsJWx4KSB2cyBbJWx4LCVs
eClcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFzZSwgYmFz
ZSArIGxlbmd0aCwgdW5pdHlfbWFwLT5hZGRyLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVuaXR5X21hcC0+YWRkciArIHVuaXR5X21hcC0+bGVu
Z3RoKTsKKyAgICAgICAgICAgIHJldHVybiAtRVBFUk07CisgICAgICAgIH0K
KyAgICB9CisKKyAgICAvKiBQb3B1bGF0ZSBhbmQgaW5zZXJ0IGEgbmV3IHVu
aXR5IG1hcC4gKi8KKyAgICB1bml0eV9tYXAgPSB4bWFsbG9jKHN0cnVjdCBp
dnJzX3VuaXR5X21hcCk7CisgICAgaWYgKCAhdW5pdHlfbWFwICkKKyAgICAg
ICAgcmV0dXJuIC1FTk9NRU07CisKKyAgICB1bml0eV9tYXAtPnJlYWQgPSBp
cjsKKyAgICB1bml0eV9tYXAtPndyaXRlID0gaXc7CisgICAgdW5pdHlfbWFw
LT5hZGRyID0gYmFzZTsKKyAgICB1bml0eV9tYXAtPmxlbmd0aCA9IGxlbmd0
aDsKKyAgICB1bml0eV9tYXAtPm5leHQgPSBpdnJzX21hcHBpbmdzW2JkZl0u
dW5pdHlfbWFwOworICAgIGl2cnNfbWFwcGluZ3NbYmRmXS51bml0eV9tYXAg
PSB1bml0eV9tYXA7CisKKyAgICByZXR1cm4gMDsKIH0KIAogc3RhdGljIGlu
dCBfX2luaXQgcmVnaXN0ZXJfZXhjbHVzaW9uX3JhbmdlX2Zvcl9hbGxfZGV2
aWNlcygKQEAgLTE5MywxMyArMjA5LDEzIEBAIHN0YXRpYyBpbnQgX19pbml0
IHJlZ2lzdGVyX2V4Y2x1c2lvbl9yYW4KICAgICAgICAgbGVuZ3RoID0gcmFu
Z2VfdG9wIC0gYmFzZTsKICAgICAgICAgLyogcmVzZXJ2ZSByL3cgdW5pdHkt
bWFwcGVkIHBhZ2UgZW50cmllcyBmb3IgZGV2aWNlcyAqLwogICAgICAgICAv
KiBub3RlOiB0aGVzZSBlbnRyaWVzIGFyZSBwYXJ0IG9mIHRoZSBleGNsdXNp
b24gcmFuZ2UgKi8KLSAgICAgICAgZm9yICggYmRmID0gMDsgYmRmIDwgaXZy
c19iZGZfZW50cmllczsgYmRmKysgKQotICAgICAgICAgICAgcmVzZXJ2ZV91
bml0eV9tYXBfZm9yX2RldmljZShzZWcsIGJkZiwgYmFzZSwgbGVuZ3RoLCBp
dywgaXIpOworICAgICAgICBmb3IgKCBiZGYgPSAwOyAhcmMgJiYgYmRmIDwg
aXZyc19iZGZfZW50cmllczsgYmRmKysgKQorICAgICAgICAgICAgcmMgPSBy
ZXNlcnZlX3VuaXR5X21hcF9mb3JfZGV2aWNlKHNlZywgYmRmLCBiYXNlLCBs
ZW5ndGgsIGl3LCBpcik7CiAgICAgICAgIC8qIHB1c2ggJ2Jhc2UnIGp1c3Qg
b3V0c2lkZSBvZiB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2UgKi8KICAgICAgICAg
YmFzZSA9IGlvbW11X3RvcDsKICAgICB9CiAgICAgLyogcmVnaXN0ZXIgSU9N
TVUgZXhjbHVzaW9uIHJhbmdlIHNldHRpbmdzICovCi0gICAgaWYgKCBsaW1p
dCA+PSBpb21tdV90b3AgKQorICAgIGlmICggIXJjICYmIGxpbWl0ID49IGlv
bW11X3RvcCApCiAgICAgewogICAgICAgICBmb3JfZWFjaF9hbWRfaW9tbXUo
IGlvbW11ICkKICAgICAgICAgewpAQCAtMjQxLDE1ICsyNTcsMTUgQEAgc3Rh
dGljIGludCBfX2luaXQgcmVnaXN0ZXJfZXhjbHVzaW9uX3JhbgogICAgICAg
ICBsZW5ndGggPSByYW5nZV90b3AgLSBiYXNlOwogICAgICAgICAvKiByZXNl
cnZlIHVuaXR5LW1hcHBlZCBwYWdlIGVudHJpZXMgZm9yIGRldmljZSAqLwog
ICAgICAgICAvKiBub3RlOiB0aGVzZSBlbnRyaWVzIGFyZSBwYXJ0IG9mIHRo
ZSBleGNsdXNpb24gcmFuZ2UgKi8KLSAgICAgICAgcmVzZXJ2ZV91bml0eV9t
YXBfZm9yX2RldmljZShzZWcsIGJkZiwgYmFzZSwgbGVuZ3RoLCBpdywgaXIp
OwotICAgICAgICByZXNlcnZlX3VuaXR5X21hcF9mb3JfZGV2aWNlKHNlZywg
cmVxLCBiYXNlLCBsZW5ndGgsIGl3LCBpcik7CisgICAgICAgIHJjID0gcmVz
ZXJ2ZV91bml0eV9tYXBfZm9yX2RldmljZShzZWcsIGJkZiwgYmFzZSwgbGVu
Z3RoLCBpdywgaXIpID86CisgICAgICAgICAgICAgcmVzZXJ2ZV91bml0eV9t
YXBfZm9yX2RldmljZShzZWcsIHJlcSwgYmFzZSwgbGVuZ3RoLCBpdywgaXIp
OwogCiAgICAgICAgIC8qIHB1c2ggJ2Jhc2UnIGp1c3Qgb3V0c2lkZSBvZiB2
aXJ0dWFsIGFkZHJlc3Mgc3BhY2UgKi8KICAgICAgICAgYmFzZSA9IGlvbW11
X3RvcDsKICAgICB9CiAKICAgICAvKiByZWdpc3RlciBJT01NVSBleGNsdXNp
b24gcmFuZ2Ugc2V0dGluZ3MgZm9yIGRldmljZSAqLwotICAgIGlmICggbGlt
aXQgPj0gaW9tbXVfdG9wICApCisgICAgaWYgKCAhcmMgJiYgbGltaXQgPj0g
aW9tbXVfdG9wICApCiAgICAgewogICAgICAgICByYyA9IHJlc2VydmVfaW9t
bXVfZXhjbHVzaW9uX3JhbmdlKGlvbW11LCBiYXNlLCBsaW1pdCwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSAv
KiBhbGwgKi8sIGl3LCBpcik7CkBAIC0yODAsMTUgKzI5NiwxNSBAQCBzdGF0
aWMgaW50IF9faW5pdCByZWdpc3Rlcl9leGNsdXNpb25fcmFuCiAgICAgICAg
IGxlbmd0aCA9IHJhbmdlX3RvcCAtIGJhc2U7CiAgICAgICAgIC8qIHJlc2Vy
dmUgci93IHVuaXR5LW1hcHBlZCBwYWdlIGVudHJpZXMgZm9yIGRldmljZXMg
Ki8KICAgICAgICAgLyogbm90ZTogdGhlc2UgZW50cmllcyBhcmUgcGFydCBv
ZiB0aGUgZXhjbHVzaW9uIHJhbmdlICovCi0gICAgICAgIGZvciAoIGJkZiA9
IDA7IGJkZiA8IGl2cnNfYmRmX2VudHJpZXM7IGJkZisrICkKKyAgICAgICAg
Zm9yICggYmRmID0gMDsgIXJjICYmIGJkZiA8IGl2cnNfYmRmX2VudHJpZXM7
IGJkZisrICkKICAgICAgICAgewogICAgICAgICAgICAgaWYgKCBpb21tdSA9
PSBmaW5kX2lvbW11X2Zvcl9kZXZpY2UoaW9tbXUtPnNlZywgYmRmKSApCiAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmVzZXJ2ZV91bml0eV9t
YXBfZm9yX2RldmljZShpb21tdS0+c2VnLCBiZGYsIGJhc2UsIGxlbmd0aCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGl3LCBpcik7CiAgICAgICAgICAgICAgICAgcmVxID0gZ2V0X2l2cnNfbWFw
cGluZ3MoaW9tbXUtPnNlZylbYmRmXS5kdGVfcmVxdWVzdG9yX2lkOwotICAg
ICAgICAgICAgICAgIHJlc2VydmVfdW5pdHlfbWFwX2Zvcl9kZXZpY2UoaW9t
bXUtPnNlZywgcmVxLCBiYXNlLCBsZW5ndGgsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdywgaXIpOworICAgICAg
ICAgICAgICAgIHJjID0gcmVzZXJ2ZV91bml0eV9tYXBfZm9yX2RldmljZShp
b21tdS0+c2VnLCBiZGYsIGJhc2UsIGxlbmd0aCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXcsIGlyKSA/
OgorICAgICAgICAgICAgICAgICAgICAgcmVzZXJ2ZV91bml0eV9tYXBfZm9y
X2RldmljZShpb21tdS0+c2VnLCByZXEsIGJhc2UsIGxlbmd0aCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aXcsIGlyKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCkBAIC0yOTcs
NyArMzEzLDcgQEAgc3RhdGljIGludCBfX2luaXQgcmVnaXN0ZXJfZXhjbHVz
aW9uX3JhbgogICAgIH0KIAogICAgIC8qIHJlZ2lzdGVyIElPTU1VIGV4Y2x1
c2lvbiByYW5nZSBzZXR0aW5ncyAqLwotICAgIGlmICggbGltaXQgPj0gaW9t
bXVfdG9wICkKKyAgICBpZiAoICFyYyAmJiBsaW1pdCA+PSBpb21tdV90b3Ag
KQogICAgICAgICByYyA9IHJlc2VydmVfaW9tbXVfZXhjbHVzaW9uX3Jhbmdl
KGlvbW11LCBiYXNlLCBsaW1pdCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB0cnVlIC8qIGFsbCAqLywgaXcsIGlyKTsK
IAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvcGNpX2FtZF9p
b21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9wY2lf
YW1kX2lvbW11LmMKQEAgLTM4NCwxNSArMzg0LDE3IEBAIHN0YXRpYyBpbnQg
YW1kX2lvbW11X2Fzc2lnbl9kZXZpY2Uoc3RydWMKICAgICBzdHJ1Y3QgaXZy
c19tYXBwaW5ncyAqaXZyc19tYXBwaW5ncyA9IGdldF9pdnJzX21hcHBpbmdz
KHBkZXYtPnNlZyk7CiAgICAgaW50IGJkZiA9IFBDSV9CREYyKHBkZXYtPmJ1
cywgZGV2Zm4pOwogICAgIGludCByZXFfaWQgPSBnZXRfZG1hX3JlcXVlc3Rv
cl9pZChwZGV2LT5zZWcsIGJkZik7CisgICAgY29uc3Qgc3RydWN0IGl2cnNf
dW5pdHlfbWFwICp1bml0eV9tYXA7CiAKLSAgICBpZiAoIGl2cnNfbWFwcGlu
Z3NbcmVxX2lkXS51bml0eV9tYXBfZW5hYmxlICkKKyAgICBmb3IgKCB1bml0
eV9tYXAgPSBpdnJzX21hcHBpbmdzW3JlcV9pZF0udW5pdHlfbWFwOyB1bml0
eV9tYXA7CisgICAgICAgICAgdW5pdHlfbWFwID0gdW5pdHlfbWFwLT5uZXh0
ICkKICAgICB7Ci0gICAgICAgIGFtZF9pb21tdV9yZXNlcnZlX2RvbWFpbl91
bml0eV9tYXAoCi0gICAgICAgICAgICBkLAotICAgICAgICAgICAgaXZyc19t
YXBwaW5nc1tyZXFfaWRdLmFkZHJfcmFuZ2Vfc3RhcnQsCi0gICAgICAgICAg
ICBpdnJzX21hcHBpbmdzW3JlcV9pZF0uYWRkcl9yYW5nZV9sZW5ndGgsCi0g
ICAgICAgICAgICBpdnJzX21hcHBpbmdzW3JlcV9pZF0ud3JpdGVfcGVybWlz
c2lvbiwKLSAgICAgICAgICAgIGl2cnNfbWFwcGluZ3NbcmVxX2lkXS5yZWFk
X3Blcm1pc3Npb24pOworICAgICAgICBpbnQgcmMgPSBhbWRfaW9tbXVfcmVz
ZXJ2ZV9kb21haW5fdW5pdHlfbWFwKAorICAgICAgICAgICAgICAgICAgICAg
ZCwgdW5pdHlfbWFwLT5hZGRyLCB1bml0eV9tYXAtPmxlbmd0aCwKKyAgICAg
ICAgICAgICAgICAgICAgIHVuaXR5X21hcC0+d3JpdGUsIHVuaXR5X21hcC0+
cmVhZCk7CisKKyAgICAgICAgaWYgKCByYyApCisgICAgICAgICAgICByZXR1
cm4gcmM7CiAgICAgfQogCiAgICAgcmV0dXJuIHJlYXNzaWduX2RldmljZShw
ZGV2LT5kb21haW4sIGQsIGRldmZuLCBwZGV2KTsK

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-3.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-3.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBJT01NVTogYWxzbyBwYXNzIHAybV9hY2Nlc3NfdCB0byBwMm1fZ2V0X2lv
bW11X2ZsYWdzKCkKCkEgc3Vic2VxdWVudCBjaGFuZ2Ugd2lsbCB3YW50IHRv
IGN1c3RvbWl6ZSB0aGUgSU9NTVUgcGVybWlzc2lvbnMgYmFzZWQKb24gdGhp
cy4KClRoaXMgaXMgcGFydCBvZiBYU0EtMzc4LgoKU2lnbmVkLW9mZi1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTog
UGF1bCBEdXJyYW50IDxwYXVsQHhlbi5vcmc+Ci0tLQp2NTogTmV3LgoKLS0t
IGEveGVuL2FyY2gveDg2L21tL3AybS1lcHQuYworKysgYi94ZW4vYXJjaC94
ODYvbW0vcDJtLWVwdC5jCkBAIC04MDgsNyArODA4LDcgQEAgZXB0X3NldF9l
bnRyeShzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLCBnZgogICAgIGJvb2xfdCBl
bnRyeV93cml0dGVuID0gMDsKICAgICBib29sX3QgbmVlZF9tb2RpZnlfdnRk
X3RhYmxlID0gMTsKICAgICBib29sX3QgdnRkX3B0ZV9wcmVzZW50ID0gMDsK
LSAgICB1bnNpZ25lZCBpbnQgaW9tbXVfZmxhZ3MgPSBwMm1fZ2V0X2lvbW11
X2ZsYWdzKHAybXQsIG1mbik7CisgICAgdW5zaWduZWQgaW50IGlvbW11X2Zs
YWdzID0gcDJtX2dldF9pb21tdV9mbGFncyhwMm10LCBwMm1hLCBtZm4pOwog
ICAgIGJvb2xfdCBuZWVkc19zeW5jID0gMTsKICAgICBlcHRfZW50cnlfdCBv
bGRfZW50cnkgPSB7IC5lcHRlID0gMCB9OwogICAgIGVwdF9lbnRyeV90IG5l
d19lbnRyeSA9IHsgLmVwdGUgPSAwIH07CkBAIC05MzgsOCArOTM4LDggQEAg
ZXB0X3NldF9lbnRyeShzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLCBnZgogCiAg
ICAgICAgIC8qIFNhZmUgdG8gcmVhZC10aGVuLXdyaXRlIGJlY2F1c2Ugd2Ug
aG9sZCB0aGUgcDJtIGxvY2sgKi8KICAgICAgICAgaWYgKCBlcHRfZW50cnkt
Pm1mbiA9PSBuZXdfZW50cnkubWZuICYmCi0gICAgICAgICAgICAgcDJtX2dl
dF9pb21tdV9mbGFncyhlcHRfZW50cnktPnNhX3AybXQsIF9tZm4oZXB0X2Vu
dHJ5LT5tZm4pKSA9PQotICAgICAgICAgICAgIGlvbW11X2ZsYWdzICkKKyAg
ICAgICAgICAgICBwMm1fZ2V0X2lvbW11X2ZsYWdzKGVwdF9lbnRyeS0+c2Ff
cDJtdCwgZXB0X2VudHJ5LT5hY2Nlc3MsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBfbWZuKGVwdF9lbnRyeS0+bWZuKSkgPT0gaW9tbXVf
ZmxhZ3MgKQogICAgICAgICAgICAgbmVlZF9tb2RpZnlfdnRkX3RhYmxlID0g
MDsKIAogICAgICAgICBlcHRfcDJtX3R5cGVfdG9fZmxhZ3MocDJtLCAmbmV3
X2VudHJ5KTsKLS0tIGEveGVuL2FyY2gveDg2L21tL3AybS1wdC5jCisrKyBi
L3hlbi9hcmNoL3g4Ni9tbS9wMm0tcHQuYwpAQCAtNTQ1LDYgKzU0NSwxNiBA
QCBpbnQgcDJtX3B0X2hhbmRsZV9kZWZlcnJlZF9jaGFuZ2VzKHVpbnQ2CiAg
ICAgcmV0dXJuIHJjOwogfQogCisvKiBSZWNvbnN0cnVjdCBhIGZha2UgcDJt
X2FjY2Vzc190IGZyb20gc3RvcmVkIFBURSBmbGFncy4gKi8KK3N0YXRpYyBw
Mm1fYWNjZXNzX3QgcDJtX2ZsYWdzX3RvX2FjY2Vzcyh1bnNpZ25lZCBpbnQg
ZmxhZ3MpCit7CisgICAgaWYgKCBmbGFncyAmIF9QQUdFX1BSRVNFTlQgKQor
ICAgICAgICByZXR1cm4gcDJtX2FjY2Vzc19uOworCisgICAgLyogTm8gbmVl
ZCB0byBsb29rIGF0IF9QQUdFX05YIGZvciBub3cuICovCisgICAgcmV0dXJu
IGZsYWdzICYgX1BBR0VfUlcgPyBwMm1fYWNjZXNzX3J3IDogcDJtX2FjY2Vz
c19yOworfQorCiAvKiBDaGVja3Mgb25seSBhcHBsaWNhYmxlIHRvIGVudHJp
ZXMgd2l0aCBvcmRlciA+IFBBR0VfT1JERVJfNEsgKi8KIHN0YXRpYyB2b2lk
IGNoZWNrX2VudHJ5KG1mbl90IG1mbiwgcDJtX3R5cGVfdCBuZXcsIHAybV90
eXBlX3Qgb2xkLAogICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg
aW50IG9yZGVyKQpAQCAtNTc5LDcgKzU4OSw3IEBAIHAybV9wdF9zZXRfZW50
cnkoc3RydWN0IHAybV9kb21haW4gKnAybSwKICAgICBsMl9wZ2VudHJ5X3Qg
bDJlX2NvbnRlbnQ7CiAgICAgbDNfcGdlbnRyeV90IGwzZV9jb250ZW50Owog
ICAgIGludCByYzsKLSAgICB1bnNpZ25lZCBpbnQgaW9tbXVfcHRlX2ZsYWdz
ID0gcDJtX2dldF9pb21tdV9mbGFncyhwMm10LCBtZm4pOworICAgIHVuc2ln
bmVkIGludCBpb21tdV9wdGVfZmxhZ3MgPSBwMm1fZ2V0X2lvbW11X2ZsYWdz
KHAybXQsIHAybWEsIG1mbik7CiAgICAgLyoKICAgICAgKiBvbGRfbWZuIGFu
ZCBpb21tdV9vbGRfZmxhZ3MgY29udHJvbCBwb3NzaWJsZSBmbHVzaC91cGRh
dGUgbmVlZHMgb24gdGhlCiAgICAgICogSU9NTVU6IFdlIG5lZWQgdG8gZmx1
c2ggd2hlbiBNRk4gb3IgZmxhZ3MgKGkuZS4gcGVybWlzc2lvbnMpIGNoYW5n
ZS4KQEAgLTY0Miw2ICs2NTIsNyBAQCBwMm1fcHRfc2V0X2VudHJ5KHN0cnVj
dCBwMm1fZG9tYWluICpwMm0sCiAgICAgICAgICAgICAgICAgb2xkX21mbiA9
IGwxZV9nZXRfcGZuKCpwMm1fZW50cnkpOwogICAgICAgICAgICAgICAgIGlv
bW11X29sZF9mbGFncyA9CiAgICAgICAgICAgICAgICAgICAgIHAybV9nZXRf
aW9tbXVfZmxhZ3MocDJtX2ZsYWdzX3RvX3R5cGUoZmxhZ3MpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAybV9mbGFnc190
b19hY2Nlc3MoZmxhZ3MpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIF9tZm4ob2xkX21mbikpOwogICAgICAgICAgICAgfQog
ICAgICAgICAgICAgZWxzZQpAQCAtNjg0LDkgKzY5NSwxMCBAQCBwMm1fcHRf
c2V0X2VudHJ5KHN0cnVjdCBwMm1fZG9tYWluICpwMm0sCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDAsIEwxX1BBR0VUQUJMRV9FTlRS
SUVTKTsKICAgICAgICAgQVNTRVJUKHAybV9lbnRyeSk7CiAgICAgICAgIG9s
ZF9tZm4gPSBsMWVfZ2V0X3BmbigqcDJtX2VudHJ5KTsKKyAgICAgICAgZmxh
Z3MgPSBsMWVfZ2V0X2ZsYWdzKCpwMm1fZW50cnkpOwogICAgICAgICBpb21t
dV9vbGRfZmxhZ3MgPQotICAgICAgICAgICAgcDJtX2dldF9pb21tdV9mbGFn
cyhwMm1fZmxhZ3NfdG9fdHlwZShsMWVfZ2V0X2ZsYWdzKCpwMm1fZW50cnkp
KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX21mbihvbGRf
bWZuKSk7CisgICAgICAgICAgICBwMm1fZ2V0X2lvbW11X2ZsYWdzKHAybV9m
bGFnc190b190eXBlKGZsYWdzKSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcDJtX2ZsYWdzX3RvX2FjY2VzcyhmbGFncyksIF9tZm4ob2xk
X21mbikpOwogCiAgICAgICAgIGlmICggbWZuX3ZhbGlkKG1mbikgfHwgcDJt
X2FsbG93c19pbnZhbGlkX21mbihwMm10KSApCiAgICAgICAgICAgICBlbnRy
eV9jb250ZW50ID0gcDJtX2wxZV9mcm9tX3BmbihtZm5feChtZm4pLApAQCAt
NzE0LDYgKzcyNiw3IEBAIHAybV9wdF9zZXRfZW50cnkoc3RydWN0IHAybV9k
b21haW4gKnAybSwKICAgICAgICAgICAgICAgICBvbGRfbWZuID0gbDFlX2dl
dF9wZm4oKnAybV9lbnRyeSk7CiAgICAgICAgICAgICAgICAgaW9tbXVfb2xk
X2ZsYWdzID0KICAgICAgICAgICAgICAgICAgICAgcDJtX2dldF9pb21tdV9m
bGFncyhwMm1fZmxhZ3NfdG9fdHlwZShmbGFncyksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcDJtX2ZsYWdzX3RvX2FjY2Vz
cyhmbGFncyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgX21mbihvbGRfbWZuKSk7CiAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICBlbHNlCi0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcDJtLmgKKysr
IGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wMm0uaApAQCAtODkxLDcgKzg5MSw4
IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBwMm1fYWx0cDJtX2NoZWNrKHN0cnUK
IC8qCiAgKiBwMm0gdHlwZSB0byBJT01NVSBmbGFncwogICovCi1zdGF0aWMg
aW5saW5lIHVuc2lnbmVkIGludCBwMm1fZ2V0X2lvbW11X2ZsYWdzKHAybV90
eXBlX3QgcDJtdCwgbWZuX3QgbWZuKQorc3RhdGljIGlubGluZSB1bnNpZ25l
ZCBpbnQgcDJtX2dldF9pb21tdV9mbGFncyhwMm1fdHlwZV90IHAybXQsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHAybV9hY2Nlc3NfdCBwMm1hLCBtZm5fdCBtZm4pCiB7CiAgICAgdW5zaWdu
ZWQgaW50IGZsYWdzOwogCg==

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.11-0a.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.11-0a.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvcDJtOiBmaXggUG9EIGFjY291bnRpbmcgaW4gZ3Vlc3RfcGh5c21h
cF9hZGRfZW50cnkoKQoKVGhlIGluaXRpYWwgb2JzZXJ2YXRpb24gd2FzIHRo
YXQgdGhlIG1mbl92YWxpZCgpIGNoZWNrIGNvbWVzIHRvbyBsYXRlOgpOZWl0
aGVyIG1mbl9hZGQoKSBub3IgbWZuX3RvX3BhZ2UoKSAobGV0IGFsb25lIGRl
LXJlZmVyZW5jaW5nIHRoZQpyZXN1bHQgb2YgdGhlIGxhdHRlcikgYXJlIHZh
bGlkIGZvciBNRk5zIGZhaWxpbmcgdGhpcyBjaGVjay4gTW92ZSBpdCB1cAph
bmQgLSBub3RpY2luZyB0aGF0IHRoZXJlJ3Mgbm8gY2FsbGVyIGRvaW5nIHNv
IC0gYWxzbyBhZGQgYW4gYXNzZXJ0aW9uCnRoYXQgdGhpcyBzaG91bGQgbmV2
ZXIgcHJvZHVjZSAiZmFsc2UiIGhlcmUuCgpJbiB0dXJuIHRoaXMgd291bGQg
aGF2ZSBtZWFudCB0aGF0IHRoZSAiZWxzZSIgdG8gdGhhdCBpZigpIGNvdWxk
IG5vdyBnbwphd2F5LCB3aGljaCBkaWRuJ3Qgc2VlbSByaWdodCBhdCBhbGwu
IEFuZCBpbmRlZWQsIGNvbnNpZGVyaW5nIGNhbGxlcnMKbGlrZSBtZW1vcnlf
ZXhjaGFuZ2UoKSBvciB2YXJpb3VzIGdyYW50IHRhYmxlIGZ1bmN0aW9ucywg
dGhlIFBvRAphY2NvdW50aW5nIHNob3VsZCBoYXZlIGJlZW4gb3V0c2lkZSBv
ZiB0aGF0IGlmKCkgZnJvbSB0aGUgdmVyeQpiZWdpbm5pbmcuCgpTaWduZWQt
b2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkFja2Vk
LWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29t
PgoKLS0tIGEveGVuL2FyY2gveDg2L21tL3AybS5jCisrKyBiL3hlbi9hcmNo
L3g4Ni9tbS9wMm0uYwpAQCAtNzk0LDYgKzc5NCwxMiBAQCBndWVzdF9waHlz
bWFwX2FkZF9lbnRyeShzdHJ1Y3QgZG9tYWluICpkCiAgICAgaWYgKCBwMm1f
aXNfZm9yZWlnbih0KSApCiAgICAgICAgIHJldHVybiAtRUlOVkFMOwogCisg
ICAgaWYgKCAhbWZuX3ZhbGlkKG1mbikgKQorICAgIHsKKyAgICAgICAgQVNT
RVJUX1VOUkVBQ0hBQkxFKCk7CisgICAgICAgIHJldHVybiAtRUlOVkFMOwor
ICAgIH0KKwogICAgIHAybV9sb2NrKHAybSk7CiAKICAgICBQMk1fREVCVUco
ImFkZGluZyBnZm49JSNseCBtZm49JSNseFxuIiwgZ2ZuX3goZ2ZuKSwgbWZu
X3gobWZuKSk7CkBAIC04OTQsMTIgKzkwMCwxMyBAQCBndWVzdF9waHlzbWFw
X2FkZF9lbnRyeShzdHJ1Y3QgZG9tYWluICpkCiAgICAgfQogCiAgICAgLyog
Tm93LCBhY3R1YWxseSBkbyB0aGUgdHdvLXdheSBtYXBwaW5nICovCi0gICAg
aWYgKCBtZm5fdmFsaWQobWZuKSApCisgICAgcmMgPSBwMm1fc2V0X2VudHJ5
KHAybSwgZ2ZuLCBtZm4sIHBhZ2Vfb3JkZXIsIHQsIHAybS0+ZGVmYXVsdF9h
Y2Nlc3MpOworICAgIGlmICggcmMgPT0gMCApCiAgICAgewotICAgICAgICBy
YyA9IHAybV9zZXRfZW50cnkocDJtLCBnZm4sIG1mbiwgcGFnZV9vcmRlciwg
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHAybS0+ZGVmYXVsdF9h
Y2Nlc3MpOwotICAgICAgICBpZiAoIHJjICkKLSAgICAgICAgICAgIGdvdG8g
b3V0OyAvKiBGYWlsZWQgdG8gdXBkYXRlIHAybSwgYmFpbCB3aXRob3V0IHVw
ZGF0aW5nIG0ycC4gKi8KKyAgICAgICAgcG9kX2xvY2socDJtKTsKKyAgICAg
ICAgcDJtLT5wb2QuZW50cnlfY291bnQgLT0gcG9kX2NvdW50OworICAgICAg
ICBCVUdfT04ocDJtLT5wb2QuZW50cnlfY291bnQgPCAwKTsKKyAgICAgICAg
cG9kX3VubG9jayhwMm0pOwogCiAgICAgICAgIGlmICggIXAybV9pc19ncmFu
dCh0KSApCiAgICAgICAgIHsKQEAgLTkwOCwyMiArOTE1LDcgQEAgZ3Vlc3Rf
cGh5c21hcF9hZGRfZW50cnkoc3RydWN0IGRvbWFpbiAqZAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGdmbl94KGdmbl9hZGQoZ2ZuLCBp
KSkpOwogICAgICAgICB9CiAgICAgfQotICAgIGVsc2UKLSAgICB7Ci0gICAg
ICAgIGdkcHJpbnRrKFhFTkxPR19XQVJOSU5HLCAiQWRkaW5nIGJhZCBtZm4g
dG8gcDJtIG1hcCAoJSNseCAtPiAlI2x4KVxuIiwKLSAgICAgICAgICAgICAg
ICAgZ2ZuX3goZ2ZuKSwgbWZuX3gobWZuKSk7Ci0gICAgICAgIHJjID0gcDJt
X3NldF9lbnRyeShwMm0sIGdmbiwgSU5WQUxJRF9NRk4sIHBhZ2Vfb3JkZXIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBwMm1faW52YWxpZCwgcDJt
LT5kZWZhdWx0X2FjY2Vzcyk7Ci0gICAgICAgIGlmICggcmMgPT0gMCApCi0g
ICAgICAgIHsKLSAgICAgICAgICAgIHBvZF9sb2NrKHAybSk7Ci0gICAgICAg
ICAgICBwMm0tPnBvZC5lbnRyeV9jb3VudCAtPSBwb2RfY291bnQ7Ci0gICAg
ICAgICAgICBCVUdfT04ocDJtLT5wb2QuZW50cnlfY291bnQgPCAwKTsKLSAg
ICAgICAgICAgIHBvZF91bmxvY2socDJtKTsKLSAgICAgICAgfQotICAgIH0K
IAotb3V0OgogICAgIHAybV91bmxvY2socDJtKTsKIAogICAgIHJldHVybiBy
YzsK

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.11-0b.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.11-0b.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvcDJtOiBkb24ndCBpZ25vcmUgcDJtX3JlbW92ZV9wYWdlKCkncyBy
ZXR1cm4gdmFsdWUKCkl0J3Mgbm90IHZlcnkgbmljZSB0byByZXR1cm4gZnJv
bSBndWVzdF9waHlzbWFwX2FkZF9lbnRyeSgpIGFmdGVyCnBlcmhhcHMgYWxy
ZWFkeSBoYXZpbmcgbWFkZSBzb21lIGNoYW5nZXMgdG8gdGhlIFAyTSwgYnV0
IHRoaXMgaXMgcHJlLQpleGlzdGluZyBwcmFjdGljZSBpbiB0aGUgZnVuY3Rp
b24sIGFuZCBpbW8gYmV0dGVyIHRoYW4gaWdub3JpbmcgZXJyb3JzLgoKVGFr
ZSB0aGUgbGliZXJ0eSBhbmQgcmVwbGFjZSBhbiBtZm5fYWRkKCkgaW5zdGFu
Y2Ugd2l0aCBhIGxvY2FsIHZhcmlhYmxlCmFscmVhZHkgaG9sZGluZyB0aGUg
cmVzdWx0IChhcyBwcm92ZW4gYnkgdGhlIGNoZWNrIGltbWVkaWF0ZWx5IGFo
ZWFkKS4KClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBz
dXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJy
YW50QGNpdHJpeC5jb20+CkFja2VkLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRy
ZXcuY29vcGVyM0BjaXRyaXguY29tPgoKLS0tIGEveGVuL2FyY2gveDg2L21t
L3AybS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYwpAQCAtNzAyLDgg
KzcwMiw3IEBAIHZvaWQgcDJtX2ZpbmFsX3RlYXJkb3duKHN0cnVjdCBkb21h
aW4gKmQKICAgICBwMm1fdGVhcmRvd25faG9zdHAybShkKTsKIH0KIAotCi1z
dGF0aWMgaW50CitzdGF0aWMgaW50IF9fbXVzdF9jaGVjawogcDJtX3JlbW92
ZV9wYWdlKHN0cnVjdCBwMm1fZG9tYWluICpwMm0sIHVuc2lnbmVkIGxvbmcg
Z2ZuX2wsIHVuc2lnbmVkIGxvbmcgbWZuLAogICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGludCBwYWdlX29yZGVyKQogewpAQCAtODkyLDkgKzg5MSw5IEBA
IGd1ZXN0X3BoeXNtYXBfYWRkX2VudHJ5KHN0cnVjdCBkb21haW4gKmQKICAg
ICAgICAgICAgICAgICBBU1NFUlQobWZuX3ZhbGlkKG9tZm4pKTsKICAgICAg
ICAgICAgICAgICBQMk1fREVCVUcoIm9sZCBnZm49JSNseCAtPiBtZm4gJSNs
eFxuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2ZuX3gob2dmbikg
LCBtZm5feChvbWZuKSk7Ci0gICAgICAgICAgICAgICAgaWYgKCBtZm5fZXEo
b21mbiwgbWZuX2FkZChtZm4sIGkpKSApCi0gICAgICAgICAgICAgICAgICAg
IHAybV9yZW1vdmVfcGFnZShwMm0sIGdmbl94KG9nZm4pLCBtZm5feChtZm5f
YWRkKG1mbiwgaSkpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMCk7CisgICAgICAgICAgICAgICAgaWYgKCBtZm5fZXEob21mbiwg
bWZuX2FkZChtZm4sIGkpKSAmJgorICAgICAgICAgICAgICAgICAgICAgKHJj
ID0gcDJtX3JlbW92ZV9wYWdlKHAybSwgZ2ZuX3gob2dmbiksIG1mbl94KG9t
Zm4pLCAwKSkgKQorICAgICAgICAgICAgICAgICAgICBnb3RvIG91dDsKICAg
ICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KQEAgLTkxNiw2ICs5MTUs
NyBAQCBndWVzdF9waHlzbWFwX2FkZF9lbnRyeShzdHJ1Y3QgZG9tYWluICpk
CiAgICAgICAgIH0KICAgICB9CiAKKyBvdXQ6CiAgICAgcDJtX3VubG9jayhw
Mm0pOwogCiAgICAgcmV0dXJuIHJjOwpAQCAtMjM4NSw5ICsyMzg1LDkgQEAg
aW50IHAybV9jaGFuZ2VfYWx0cDJtX2dmbihzdHJ1Y3QgZG9tYWluCiAKICAg
ICBpZiAoIGdmbl9lcShuZXdfZ2ZuLCBJTlZBTElEX0dGTikgKQogICAgIHsK
LSAgICAgICAgaWYgKCBtZm5fdmFsaWQobWZuKSApCi0gICAgICAgICAgICBw
Mm1fcmVtb3ZlX3BhZ2UoYXAybSwgZ2ZuX3gob2xkX2dmbiksIG1mbl94KG1m
biksIFBBR0VfT1JERVJfNEspOwotICAgICAgICByYyA9IDA7CisgICAgICAg
IHJjID0gbWZuX3ZhbGlkKG1mbikKKyAgICAgICAgICAgICA/IHAybV9yZW1v
dmVfcGFnZShhcDJtLCBnZm5feChvbGRfZ2ZuKSwgbWZuX3gobWZuKSwgUEFH
RV9PUkRFUl80SykKKyAgICAgICAgICAgICA6IDA7CiAgICAgICAgIGdvdG8g
b3V0OwogICAgIH0KIAo=

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.11-0c.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.11-0c.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvcDJtOiBkb24ndCBhc3NlcnQgdGhhdCB0aGUgcGFzc2VkIGluIE1G
TiBtYXRjaGVzIGZvciBhIHJlbW92ZQoKZ3Vlc3RfcGh5c21hcF9yZW1vdmVf
cGFnZSgpIGdldHMgaGFuZGVkIGFuIE1GTiBmcm9tIHRoZSBvdXRzaWRlLCB5
ZXQKdGFrZXMgdGhlIG5lY2Vzc2FyeSBsb2NrIHRvIHByZXZlbnQgZnVydGhl
ciBjaGFuZ2VzIHRvIHRoZSBHRk4gPC0+IE1GTgptYXBwaW5nIGl0c2VsZi4g
V2hpbGUgc29tZSBjYWxsZXJzLCBpbiBwYXJ0aWN1bGFyIGd1ZXN0X3JlbW92
ZV9wYWdlKCkKKGJ5IHdheSBvZiBoYXZpbmcgY2FsbGVkIGdldF9nZm5fcXVl
cnkoKSksIGhvbGQgdGhlIEdGTiBsb2NrIGFscmVhZHksCnZhcmlvdXMgb3Ro
ZXJzIChtb3N0IG5vdGFibHkgcGVyaGFwcyB0aGUgMm5kIGluc3RhbmNlIGlu
Cnhlbm1lbV9hZGRfdG9fcGh5c21hcF9vbmUoKSkgZG9uJ3QuIFdoaWxlIGl0
IGFsc28gaXMgYW4gb3B0aW9uIHRvIGZpeAphbGwgdGhlIGNhbGxlcnMsIGRl
YWwgd2l0aCB0aGUgaXNzdWUgaW4gcDJtX3JlbW92ZV9wYWdlKCkgaW5zdGVh
ZDoKUmVwbGFjZSB0aGUgQVNTRVJUKCkgYnkgYSBjb25kaXRpb25hbCBhbmQg
c3BsaXQgdGhlIGxvb3AgaW50byB0d28sIHN1Y2gKdGhhdCBhbGwgY2hlY2tp
bmcgZ2V0cyBkb25lIGJlZm9yZSBhbnkgbW9kaWZpY2F0aW9uIHdvdWxkIG9j
Y3VyLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1
c2UuY29tPgpSZXZpZXdlZC1ieTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJh
bnRAY2l0cml4LmNvbT4KQWNrZWQtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJl
dy5jb29wZXIzQGNpdHJpeC5jb20+CgotLS0gYS94ZW4vYXJjaC94ODYvbW0v
cDJtLmMKKysrIGIveGVuL2FyY2gveDg2L21tL3AybS5jCkBAIC03MDgsNyAr
NzA4LDYgQEAgcDJtX3JlbW92ZV9wYWdlKHN0cnVjdCBwMm1fZG9tYWluICpw
Mm0sCiB7CiAgICAgdW5zaWduZWQgbG9uZyBpOwogICAgIGdmbl90IGdmbiA9
IF9nZm4oZ2ZuX2wpOwotICAgIG1mbl90IG1mbl9yZXR1cm47CiAgICAgcDJt
X3R5cGVfdCB0OwogICAgIHAybV9hY2Nlc3NfdCBhOwogCkBAIC03MTksMTUg
KzcxOCwyNiBAQCBwMm1fcmVtb3ZlX3BhZ2Uoc3RydWN0IHAybV9kb21haW4g
KnAybSwKICAgICBBU1NFUlQoZ2ZuX2xvY2tlZF9ieV9tZShwMm0sIGdmbikp
OwogICAgIFAyTV9ERUJVRygicmVtb3ZpbmcgZ2ZuPSUjbHggbWZuPSUjbHhc
biIsIGdmbl9sLCBtZm4pOwogCisgICAgZm9yICggaSA9IDA7IGkgPCAoMVVM
IDw8IHBhZ2Vfb3JkZXIpOyApCisgICAgeworICAgICAgICB1bnNpZ25lZCBp
bnQgY3VyX29yZGVyOworICAgICAgICBtZm5fdCBtZm5fcmV0dXJuID0gcDJt
LT5nZXRfZW50cnkocDJtLCBnZm5fYWRkKGdmbiwgaSksICZ0LCAmYSwgMCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZj
dXJfb3JkZXIsIE5VTEwpOworCisgICAgICAgIGlmICggcDJtX2lzX3ZhbGlk
KHQpICYmCisgICAgICAgICAgICAgKCFtZm5fdmFsaWQoX21mbihtZm4pKSB8
fCBtZm4gKyBpICE9IG1mbl94KG1mbl9yZXR1cm4pKSApCisgICAgICAgICAg
ICByZXR1cm4gLUVJTFNFUTsKKworICAgICAgICBpICs9ICgxVUwgPDwgY3Vy
X29yZGVyKSAtICgoZ2ZuX2wgKyBpKSAmICgoMVVMIDw8IGN1cl9vcmRlcikg
LSAxKSk7CisgICAgfQorCiAgICAgaWYgKCBtZm5fdmFsaWQoX21mbihtZm4p
KSApCiAgICAgewogICAgICAgICBmb3IgKCBpID0gMDsgaSA8ICgxVUwgPDwg
cGFnZV9vcmRlcik7IGkrKyApCiAgICAgICAgIHsKLSAgICAgICAgICAgIG1m
bl9yZXR1cm4gPSBwMm0tPmdldF9lbnRyeShwMm0sIGdmbl9hZGQoZ2ZuLCBp
KSwgJnQsICZhLCAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIE5VTEwsIE5VTEwpOworICAgICAgICAgICAgcDJtLT5nZXRf
ZW50cnkocDJtLCBnZm5fYWRkKGdmbiwgaSksICZ0LCAmYSwgMCwgTlVMTCwg
TlVMTCk7CiAgICAgICAgICAgICBpZiAoICFwMm1faXNfZ3JhbnQodCkgJiYg
IXAybV9pc19zaGFyZWQodCkgJiYgIXAybV9pc19mb3JlaWduKHQpICkKICAg
ICAgICAgICAgICAgICBzZXRfZ3Bmbl9mcm9tX21mbihtZm4raSwgSU5WQUxJ
RF9NMlBfRU5UUlkpOwotICAgICAgICAgICAgQVNTRVJUKCAhcDJtX2lzX3Zh
bGlkKHQpIHx8IG1mbiArIGkgPT0gbWZuX3gobWZuX3JldHVybikgKTsKICAg
ICAgICAgfQogICAgIH0KICAgICByZXR1cm4gcDJtX3NldF9lbnRyeShwMm0s
IGdmbiwgSU5WQUxJRF9NRk4sIHBhZ2Vfb3JkZXIsIHAybV9pbnZhbGlkLAo=

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.11-1.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.11-1.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBBTUQvSU9NTVU6IGNvcnJlY3QgZ2xvYmFsIGV4Y2x1c2lvbiByYW5nZSBl
eHRlbmRpbmcKCkJlc2lkZXMgdW5pdHkgbWFwcGluZyByZWdpb25zLCB0aGUg
QU1EIElPTU1VIHNwZWMgYWxzbyBwcm92aWRlcyBmb3IKZXhjbHVzaW9uIHJh
bmdlcyAoYXJlYXMgb2YgbWVtb3J5IG5vdCB0byBiZSBzdWJqZWN0IHRvIERN
QSB0cmFuc2xhdGlvbikKdG8gYmUgc3BlY2lmaWVkIGJ5IGZpcm13YXJlIGlu
IHRoZSBBQ1BJIHRhYmxlcy4gVGhlIHNwZWMgZG9lcyBub3QgcHV0CmFueSBj
b25zdHJhaW50cyBvbiB0aGUgbnVtYmVyIG9mIHN1Y2ggcmVnaW9ucy4KCkJs
aW5kbHkgYXNzdW1pbmcgYWxsIGFkZHJlc3NlcyBiZXR3ZWVuIGFueSB0d28g
c3VjaCByYW5nZXMgc2hvdWxkIGFsc28KYmUgZXhjbHVkZWQgY2FuJ3QgYmUg
cmlnaHQuIFNpbmNlIGhhcmR3YXJlIGhhcyByb29tIGZvciBqdXN0IGEgc2lu
Z2xlCnN1Y2ggcmFuZ2UgKGNvbXByaXNlZCBvZiB0aGUgRXhjbHVzaW9uIEJh
c2UgUmVnaXN0ZXIgYW5kIHRoZSBFeGNsdXNpb24KUmFuZ2UgTGltaXQgUmVn
aXN0ZXIpLCBjb21iaW5lIG9ubHkgYWRqYWNlbnQgb3Igb3ZlcmxhcHBpbmcg
cmVnaW9ucyAoZm9yCm5vdzsgdGhpcyBtYXkgcmVxdWlyZSBmdXJ0aGVyIGFk
anVzdG1lbnQgaW4gY2FzZSB0YWJsZSBlbnRyaWVzIGFyZW4ndApzb3J0ZWQg
YnkgYWRkcmVzcykgd2l0aCBtYXRjaGluZyBleGNsdXNpb25fYWxsb3dfYWxs
IHNldHRpbmdzLiBUaGlzCnJlcXVpcmVzIGJ1YmJsaW5nIHVwIGVycm9yIGlu
ZGljYXRvcnMsIHN1Y2ggdGhhdCBJT01NVSBpbml0IGNhbiBiZQpmYWlsZWQg
d2hlbiBjb25jYXRlbmF0aW9uIHdhc24ndCBwb3NzaWJsZS4KCkZ1cnRoZXJt
b3JlLCBzaW5jZSB0aGUgZXhjbHVzaW9uIHJhbmdlIHNwZWNpZmllZCBpbiBJ
T01NVSByZWdpc3RlcnMKaW1wbGllcyBSL1cgYWNjZXNzLCByZWplY3QgcmVx
dWVzdHMgYXNraW5nIGZvciBsZXNzIHBlcm1pc3Npb25zICh0aGlzCndpbGwg
YmUgYnJvdWdodCBjbG9zZXIgdG8gdGhlIHNwZWMgYnkgYSBzdWJzZXF1ZW50
IGNoYW5nZSkuCgpUaGlzIGlzIHBhcnQgb2YgWFNBLTM3OCAvIENWRS0yMDIx
LTI4Njk1LgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpSZXZpZXdlZC1ieTogUGF1bCBEdXJyYW50IDxwYXVsQHhl
bi5vcmc+CgotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9t
bXVfYWNwaS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9p
b21tdV9hY3BpLmMKQEAgLTk4LDEyICs5OCwyMSBAQCBzdGF0aWMgc3RydWN0
IGFtZF9pb21tdSAqIF9faW5pdCBmaW5kX2lvCiAgICAgcmV0dXJuIE5VTEw7
CiB9CiAKLXN0YXRpYyB2b2lkIF9faW5pdCByZXNlcnZlX2lvbW11X2V4Y2x1
c2lvbl9yYW5nZSgKLSAgICBzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwgdWlu
dDY0X3QgYmFzZSwgdWludDY0X3QgbGltaXQpCitzdGF0aWMgaW50IF9faW5p
dCByZXNlcnZlX2lvbW11X2V4Y2x1c2lvbl9yYW5nZSgKKyAgICBzdHJ1Y3Qg
YW1kX2lvbW11ICppb21tdSwgdWludDY0X3QgYmFzZSwgdWludDY0X3QgbGlt
aXQsCisgICAgYm9vbCBhbGwsIGJvb2wgaXcsIGJvb2wgaXIpCiB7CisgICAg
aWYgKCAhaXIgfHwgIWl3ICkKKyAgICAgICAgcmV0dXJuIC1FUEVSTTsKKwog
ICAgIC8qIG5lZWQgdG8gZXh0ZW5kIGV4Y2x1c2lvbiByYW5nZT8gKi8KICAg
ICBpZiAoIGlvbW11LT5leGNsdXNpb25fZW5hYmxlICkKICAgICB7CisgICAg
ICAgIGlmICggaW9tbXUtPmV4Y2x1c2lvbl9saW1pdCArIFBBR0VfU0laRSA8
IGJhc2UgfHwKKyAgICAgICAgICAgICBsaW1pdCArIFBBR0VfU0laRSA8IGlv
bW11LT5leGNsdXNpb25fYmFzZSB8fAorICAgICAgICAgICAgIGlvbW11LT5l
eGNsdXNpb25fYWxsb3dfYWxsICE9IGFsbCApCisgICAgICAgICAgICByZXR1
cm4gLUVCVVNZOworCiAgICAgICAgIGlmICggaW9tbXUtPmV4Y2x1c2lvbl9i
YXNlIDwgYmFzZSApCiAgICAgICAgICAgICBiYXNlID0gaW9tbXUtPmV4Y2x1
c2lvbl9iYXNlOwogICAgICAgICBpZiAoIGlvbW11LT5leGNsdXNpb25fbGlt
aXQgPiBsaW1pdCApCkBAIC0xMTEsMTYgKzEyMCwxMSBAQCBzdGF0aWMgdm9p
ZCBfX2luaXQgcmVzZXJ2ZV9pb21tdV9leGNsdXNpCiAgICAgfQogCiAgICAg
aW9tbXUtPmV4Y2x1c2lvbl9lbmFibGUgPSBJT01NVV9DT05UUk9MX0VOQUJM
RUQ7CisgICAgaW9tbXUtPmV4Y2x1c2lvbl9hbGxvd19hbGwgPSBhbGw7CiAg
ICAgaW9tbXUtPmV4Y2x1c2lvbl9iYXNlID0gYmFzZTsKICAgICBpb21tdS0+
ZXhjbHVzaW9uX2xpbWl0ID0gbGltaXQ7Ci19CiAKLXN0YXRpYyB2b2lkIF9f
aW5pdCByZXNlcnZlX2lvbW11X2V4Y2x1c2lvbl9yYW5nZV9hbGwoCi0gICAg
c3RydWN0IGFtZF9pb21tdSAqaW9tbXUsCi0gICAgdW5zaWduZWQgbG9uZyBi
YXNlLCB1bnNpZ25lZCBsb25nIGxpbWl0KQotewotICAgIHJlc2VydmVfaW9t
bXVfZXhjbHVzaW9uX3JhbmdlKGlvbW11LCBiYXNlLCBsaW1pdCk7Ci0gICAg
aW9tbXUtPmV4Y2x1c2lvbl9hbGxvd19hbGwgPSBJT01NVV9DT05UUk9MX0VO
QUJMRUQ7CisgICAgcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyB2b2lkIF9faW5p
dCByZXNlcnZlX3VuaXR5X21hcF9mb3JfZGV2aWNlKApAQCAtMTU4LDYgKzE2
Miw3IEBAIHN0YXRpYyBpbnQgX19pbml0IHJlZ2lzdGVyX2V4Y2x1c2lvbl9y
YW4KICAgICB1bnNpZ25lZCBsb25nIHJhbmdlX3RvcCwgaW9tbXVfdG9wLCBs
ZW5ndGg7CiAgICAgc3RydWN0IGFtZF9pb21tdSAqaW9tbXU7CiAgICAgdW5z
aWduZWQgaW50IGJkZjsKKyAgICBpbnQgcmMgPSAwOwogCiAgICAgLyogaXMg
cGFydCBvZiBleGNsdXNpb24gcmFuZ2UgaW5zaWRlIG9mIElPTU1VIHZpcnR1
YWwgYWRkcmVzcyBzcGFjZT8gKi8KICAgICAvKiBub3RlOiAnbGltaXQnIHBh
cmFtZXRlciBpcyBhc3N1bWVkIHRvIGJlIHBhZ2UtYWxpZ25lZCAqLwpAQCAt
MTc5LDEwICsxODQsMTUgQEAgc3RhdGljIGludCBfX2luaXQgcmVnaXN0ZXJf
ZXhjbHVzaW9uX3JhbgogICAgIGlmICggbGltaXQgPj0gaW9tbXVfdG9wICkK
ICAgICB7CiAgICAgICAgIGZvcl9lYWNoX2FtZF9pb21tdSggaW9tbXUgKQot
ICAgICAgICAgICAgcmVzZXJ2ZV9pb21tdV9leGNsdXNpb25fcmFuZ2VfYWxs
KGlvbW11LCBiYXNlLCBsaW1pdCk7CisgICAgICAgIHsKKyAgICAgICAgICAg
IHJjID0gcmVzZXJ2ZV9pb21tdV9leGNsdXNpb25fcmFuZ2UoaW9tbXUsIGJh
c2UsIGxpbWl0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB0cnVlIC8qIGFsbCAqLywgaXcsIGlyKTsKKyAgICAg
ICAgICAgIGlmICggcmMgKQorICAgICAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICB9CiAgICAgfQogCi0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIHJj
OwogfQogCiBzdGF0aWMgaW50IF9faW5pdCByZWdpc3Rlcl9leGNsdXNpb25f
cmFuZ2VfZm9yX2RldmljZSgKQEAgLTE5Myw2ICsyMDMsNyBAQCBzdGF0aWMg
aW50IF9faW5pdCByZWdpc3Rlcl9leGNsdXNpb25fcmFuCiAgICAgdW5zaWdu
ZWQgbG9uZyByYW5nZV90b3AsIGlvbW11X3RvcCwgbGVuZ3RoOwogICAgIHN0
cnVjdCBhbWRfaW9tbXUgKmlvbW11OwogICAgIHUxNiByZXE7CisgICAgaW50
IHJjID0gMDsKIAogICAgIGlvbW11ID0gZmluZF9pb21tdV9mb3JfZGV2aWNl
KHNlZywgYmRmKTsKICAgICBpZiAoICFpb21tdSApCkBAIC0yMjIsMTIgKzIz
MywxMyBAQCBzdGF0aWMgaW50IF9faW5pdCByZWdpc3Rlcl9leGNsdXNpb25f
cmFuCiAgICAgLyogcmVnaXN0ZXIgSU9NTVUgZXhjbHVzaW9uIHJhbmdlIHNl
dHRpbmdzIGZvciBkZXZpY2UgKi8KICAgICBpZiAoIGxpbWl0ID49IGlvbW11
X3RvcCAgKQogICAgIHsKLSAgICAgICAgcmVzZXJ2ZV9pb21tdV9leGNsdXNp
b25fcmFuZ2UoaW9tbXUsIGJhc2UsIGxpbWl0KTsKKyAgICAgICAgcmMgPSBy
ZXNlcnZlX2lvbW11X2V4Y2x1c2lvbl9yYW5nZShpb21tdSwgYmFzZSwgbGlt
aXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZmFsc2UgLyogYWxsICovLCBpdywgaXIpOwogICAgICAgICBpdnJzX21h
cHBpbmdzW2JkZl0uZHRlX2FsbG93X2V4Y2x1c2lvbiA9IElPTU1VX0NPTlRS
T0xfRU5BQkxFRDsKICAgICAgICAgaXZyc19tYXBwaW5nc1tyZXFdLmR0ZV9h
bGxvd19leGNsdXNpb24gPSBJT01NVV9DT05UUk9MX0VOQUJMRUQ7CiAgICAg
fQogCi0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIHJjOwogfQogCiBzdGF0
aWMgaW50IF9faW5pdCByZWdpc3Rlcl9leGNsdXNpb25fcmFuZ2VfZm9yX2lv
bW11X2RldmljZXMoCkBAIC0yMzcsNiArMjQ5LDcgQEAgc3RhdGljIGludCBf
X2luaXQgcmVnaXN0ZXJfZXhjbHVzaW9uX3JhbgogICAgIHVuc2lnbmVkIGxv
bmcgcmFuZ2VfdG9wLCBpb21tdV90b3AsIGxlbmd0aDsKICAgICB1bnNpZ25l
ZCBpbnQgYmRmOwogICAgIHUxNiByZXE7CisgICAgaW50IHJjID0gMDsKIAog
ICAgIC8qIGlzIHBhcnQgb2YgZXhjbHVzaW9uIHJhbmdlIGluc2lkZSBvZiBJ
T01NVSB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2U/ICovCiAgICAgLyogbm90ZTog
J2xpbWl0JyBwYXJhbWV0ZXIgaXMgYXNzdW1lZCB0byBiZSBwYWdlLWFsaWdu
ZWQgKi8KQEAgLTI2Nyw4ICsyODAsMTAgQEAgc3RhdGljIGludCBfX2luaXQg
cmVnaXN0ZXJfZXhjbHVzaW9uX3JhbgogCiAgICAgLyogcmVnaXN0ZXIgSU9N
TVUgZXhjbHVzaW9uIHJhbmdlIHNldHRpbmdzICovCiAgICAgaWYgKCBsaW1p
dCA+PSBpb21tdV90b3AgKQotICAgICAgICByZXNlcnZlX2lvbW11X2V4Y2x1
c2lvbl9yYW5nZV9hbGwoaW9tbXUsIGJhc2UsIGxpbWl0KTsKLSAgICByZXR1
cm4gMDsKKyAgICAgICAgcmMgPSByZXNlcnZlX2lvbW11X2V4Y2x1c2lvbl9y
YW5nZShpb21tdSwgYmFzZSwgbGltaXQsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAvKiBhbGwgKi8sIGl3LCBp
cik7CisKKyAgICByZXR1cm4gcmM7CiB9CiAKIHN0YXRpYyBpbnQgX19pbml0
IHBhcnNlX2l2bWRfZGV2aWNlX3NlbGVjdCgK

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.11-2.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.11-2.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBBTUQvSU9NTVU6IGNvcnJlY3QgZGV2aWNlIHVuaXR5IG1hcCBoYW5kbGlu
ZwoKQmxpbmRseSBhc3N1bWluZyBhbGwgYWRkcmVzc2VzIGJldHdlZW4gYW55
IHR3byBzdWNoIHJhbmdlcywgc3BlY2lmaWVkIGJ5CmZpcm13YXJlIGluIHRo
ZSBBQ1BJIHRhYmxlcywgc2hvdWxkIGFsc28gYmUgdW5pdHktbWFwcGVkIGNh
bid0IGJlIHJpZ2h0LgpOb3IgY2FuIGl0IGJlIGNvcnJlY3QgdG8gbWVyZ2Ug
cmFuZ2VzIHdpdGggZGlmZmVyaW5nIHBlcm1pc3Npb25zLiBUcmFjawpyYW5n
ZXMgaW5kaXZpZHVhbGx5OyBkb24ndCBtZXJnZSBhdCBhbGwsIGJ1dCBjaGVj
ayBmb3Igb3ZlcmxhcHMgaW5zdGVhZC4KVGhpcyByZXF1aXJlcyBidWJibGlu
ZyB1cCBlcnJvciBpbmRpY2F0b3JzLCBzdWNoIHRoYXQgSU9NTVUgaW5pdCBj
YW4gYmUKZmFpbGVkIHdoZW4gYWxsb2NhdGlvbiBvZiBhIG5ldyB0cmFja2lu
ZyBzdHJ1Y3Qgd2Fzbid0IHBvc3NpYmxlLCBvciBhbgpvdmVybGFwIHdhcyBk
ZXRlY3RlZC4KCkF0IHRoaXMgb2NjYXNpb24gYWxzbyBzdG9wIGlnbm9yaW5n
CmFtZF9pb21tdV9yZXNlcnZlX2RvbWFpbl91bml0eV9tYXAoKSdzIHJldHVy
biB2YWx1ZS4KClRoaXMgaXMgcGFydCBvZiBYU0EtMzc4IC8gQ1ZFLTIwMjEt
Mjg2OTUuCgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hA
c3VzZS5jb20+ClJldmlld2VkLWJ5OiBHZW9yZ2UgRHVubGFwIDxnZW9yZ2Uu
ZHVubGFwQGNpdHJpeC5jb20+ClJldmlld2VkLWJ5OiBQYXVsIER1cnJhbnQg
PHBhdWxAeGVuLm9yZz4KCi0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdo
L2FtZC9pb21tdV9hY3BpLmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91
Z2gvYW1kL2lvbW11X2FjcGkuYwpAQCAtMTI3LDMyICsxMjcsNDggQEAgc3Rh
dGljIGludCBfX2luaXQgcmVzZXJ2ZV9pb21tdV9leGNsdXNpbwogICAgIHJl
dHVybiAwOwogfQogCi1zdGF0aWMgdm9pZCBfX2luaXQgcmVzZXJ2ZV91bml0
eV9tYXBfZm9yX2RldmljZSgKLSAgICB1MTYgc2VnLCB1MTYgYmRmLCB1bnNp
Z25lZCBsb25nIGJhc2UsCi0gICAgdW5zaWduZWQgbG9uZyBsZW5ndGgsIHU4
IGl3LCB1OCBpcikKK3N0YXRpYyBpbnQgX19pbml0IHJlc2VydmVfdW5pdHlf
bWFwX2Zvcl9kZXZpY2UoCisgICAgdWludDE2X3Qgc2VnLCB1aW50MTZfdCBi
ZGYsIHVuc2lnbmVkIGxvbmcgYmFzZSwKKyAgICB1bnNpZ25lZCBsb25nIGxl
bmd0aCwgYm9vbCBpdywgYm9vbCBpcikKIHsKICAgICBzdHJ1Y3QgaXZyc19t
YXBwaW5ncyAqaXZyc19tYXBwaW5ncyA9IGdldF9pdnJzX21hcHBpbmdzKHNl
Zyk7Ci0gICAgdW5zaWduZWQgbG9uZyBvbGRfdG9wLCBuZXdfdG9wOworICAg
IHN0cnVjdCBpdnJzX3VuaXR5X21hcCAqdW5pdHlfbWFwID0gaXZyc19tYXBw
aW5nc1tiZGZdLnVuaXR5X21hcDsKIAotICAgIC8qIG5lZWQgdG8gZXh0ZW5k
IHVuaXR5LW1hcHBlZCByYW5nZT8gKi8KLSAgICBpZiAoIGl2cnNfbWFwcGlu
Z3NbYmRmXS51bml0eV9tYXBfZW5hYmxlICkKKyAgICAvKiBDaGVjayBmb3Ig
b3ZlcmxhcHMuICovCisgICAgZm9yICggOyB1bml0eV9tYXA7IHVuaXR5X21h
cCA9IHVuaXR5X21hcC0+bmV4dCApCiAgICAgewotICAgICAgICBvbGRfdG9w
ID0gaXZyc19tYXBwaW5nc1tiZGZdLmFkZHJfcmFuZ2Vfc3RhcnQgKwotICAg
ICAgICAgICAgaXZyc19tYXBwaW5nc1tiZGZdLmFkZHJfcmFuZ2VfbGVuZ3Ro
OwotICAgICAgICBuZXdfdG9wID0gYmFzZSArIGxlbmd0aDsKLSAgICAgICAg
aWYgKCBvbGRfdG9wID4gbmV3X3RvcCApCi0gICAgICAgICAgICBuZXdfdG9w
ID0gb2xkX3RvcDsKLSAgICAgICAgaWYgKCBpdnJzX21hcHBpbmdzW2JkZl0u
YWRkcl9yYW5nZV9zdGFydCA8IGJhc2UgKQotICAgICAgICAgICAgYmFzZSA9
IGl2cnNfbWFwcGluZ3NbYmRmXS5hZGRyX3JhbmdlX3N0YXJ0OwotICAgICAg
ICBsZW5ndGggPSBuZXdfdG9wIC0gYmFzZTsKLSAgICB9Ci0KLSAgICAvKiBl
eHRlbmQgci93IHBlcm1pc3Npb21zIGFuZCBrZWVwIGFnZ3JlZ2F0ZSAqLwot
ICAgIGl2cnNfbWFwcGluZ3NbYmRmXS53cml0ZV9wZXJtaXNzaW9uID0gaXc7
Ci0gICAgaXZyc19tYXBwaW5nc1tiZGZdLnJlYWRfcGVybWlzc2lvbiA9IGly
OwotICAgIGl2cnNfbWFwcGluZ3NbYmRmXS51bml0eV9tYXBfZW5hYmxlID0g
SU9NTVVfQ09OVFJPTF9FTkFCTEVEOwotICAgIGl2cnNfbWFwcGluZ3NbYmRm
XS5hZGRyX3JhbmdlX3N0YXJ0ID0gYmFzZTsKLSAgICBpdnJzX21hcHBpbmdz
W2JkZl0uYWRkcl9yYW5nZV9sZW5ndGggPSBsZW5ndGg7CisgICAgICAgIC8q
CisgICAgICAgICAqIEV4YWN0IG1hdGNoZXMgYXJlIG9rYXkuIFRoaXMgY2Fu
IGluIHBhcnRpY3VsYXIgaGFwcGVuIHdoZW4KKyAgICAgICAgICogcmVnaXN0
ZXJfZXhjbHVzaW9uX3JhbmdlX2Zvcl9kZXZpY2UoKSBjYWxscyBoZXJlIHR3
aWNlIGZvciB0aGUKKyAgICAgICAgICogc2FtZSAocyxiLGQsZikuCisgICAg
ICAgICAqLworICAgICAgICBpZiAoIGJhc2UgPT0gdW5pdHlfbWFwLT5hZGRy
ICYmIGxlbmd0aCA9PSB1bml0eV9tYXAtPmxlbmd0aCAmJgorICAgICAgICAg
ICAgIGlyID09IHVuaXR5X21hcC0+cmVhZCAmJiBpdyA9PSB1bml0eV9tYXAt
PndyaXRlICkKKyAgICAgICAgICAgIHJldHVybiAwOworCisgICAgICAgIGlm
ICggdW5pdHlfbWFwLT5hZGRyICsgdW5pdHlfbWFwLT5sZW5ndGggPiBiYXNl
ICYmCisgICAgICAgICAgICAgYmFzZSArIGxlbmd0aCA+IHVuaXR5X21hcC0+
YWRkciApCisgICAgICAgIHsKKyAgICAgICAgICAgIEFNRF9JT01NVV9ERUJV
RygiSVZNRCBFcnJvcjogb3ZlcmxhcCBbJWx4LCVseCkgdnMgWyVseCwlbHgp
XG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhc2UsIGJhc2Ug
KyBsZW5ndGgsIHVuaXR5X21hcC0+YWRkciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1bml0eV9tYXAtPmFkZHIgKyB1bml0eV9tYXAtPmxlbmd0
aCk7CisgICAgICAgICAgICByZXR1cm4gLUVQRVJNOworICAgICAgICB9Cisg
ICAgfQorCisgICAgLyogUG9wdWxhdGUgYW5kIGluc2VydCBhIG5ldyB1bml0
eSBtYXAuICovCisgICAgdW5pdHlfbWFwID0geG1hbGxvYyhzdHJ1Y3QgaXZy
c191bml0eV9tYXApOworICAgIGlmICggIXVuaXR5X21hcCApCisgICAgICAg
IHJldHVybiAtRU5PTUVNOworCisgICAgdW5pdHlfbWFwLT5yZWFkID0gaXI7
CisgICAgdW5pdHlfbWFwLT53cml0ZSA9IGl3OworICAgIHVuaXR5X21hcC0+
YWRkciA9IGJhc2U7CisgICAgdW5pdHlfbWFwLT5sZW5ndGggPSBsZW5ndGg7
CisgICAgdW5pdHlfbWFwLT5uZXh0ID0gaXZyc19tYXBwaW5nc1tiZGZdLnVu
aXR5X21hcDsKKyAgICBpdnJzX21hcHBpbmdzW2JkZl0udW5pdHlfbWFwID0g
dW5pdHlfbWFwOworCisgICAgcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQg
X19pbml0IHJlZ2lzdGVyX2V4Y2x1c2lvbl9yYW5nZV9mb3JfYWxsX2Rldmlj
ZXMoCkBAIC0xNzUsMTMgKzE5MSwxMyBAQCBzdGF0aWMgaW50IF9faW5pdCBy
ZWdpc3Rlcl9leGNsdXNpb25fcmFuCiAgICAgICAgIGxlbmd0aCA9IHJhbmdl
X3RvcCAtIGJhc2U7CiAgICAgICAgIC8qIHJlc2VydmUgci93IHVuaXR5LW1h
cHBlZCBwYWdlIGVudHJpZXMgZm9yIGRldmljZXMgKi8KICAgICAgICAgLyog
bm90ZTogdGhlc2UgZW50cmllcyBhcmUgcGFydCBvZiB0aGUgZXhjbHVzaW9u
IHJhbmdlICovCi0gICAgICAgIGZvciAoIGJkZiA9IDA7IGJkZiA8IGl2cnNf
YmRmX2VudHJpZXM7IGJkZisrICkKLSAgICAgICAgICAgIHJlc2VydmVfdW5p
dHlfbWFwX2Zvcl9kZXZpY2Uoc2VnLCBiZGYsIGJhc2UsIGxlbmd0aCwgaXcs
IGlyKTsKKyAgICAgICAgZm9yICggYmRmID0gMDsgIXJjICYmIGJkZiA8IGl2
cnNfYmRmX2VudHJpZXM7IGJkZisrICkKKyAgICAgICAgICAgIHJjID0gcmVz
ZXJ2ZV91bml0eV9tYXBfZm9yX2RldmljZShzZWcsIGJkZiwgYmFzZSwgbGVu
Z3RoLCBpdywgaXIpOwogICAgICAgICAvKiBwdXNoICdiYXNlJyBqdXN0IG91
dHNpZGUgb2YgdmlydHVhbCBhZGRyZXNzIHNwYWNlICovCiAgICAgICAgIGJh
c2UgPSBpb21tdV90b3A7CiAgICAgfQogICAgIC8qIHJlZ2lzdGVyIElPTU1V
IGV4Y2x1c2lvbiByYW5nZSBzZXR0aW5ncyAqLwotICAgIGlmICggbGltaXQg
Pj0gaW9tbXVfdG9wICkKKyAgICBpZiAoICFyYyAmJiBsaW1pdCA+PSBpb21t
dV90b3AgKQogICAgIHsKICAgICAgICAgZm9yX2VhY2hfYW1kX2lvbW11KCBp
b21tdSApCiAgICAgICAgIHsKQEAgLTIyMywxNSArMjM5LDE1IEBAIHN0YXRp
YyBpbnQgX19pbml0IHJlZ2lzdGVyX2V4Y2x1c2lvbl9yYW4KICAgICAgICAg
bGVuZ3RoID0gcmFuZ2VfdG9wIC0gYmFzZTsKICAgICAgICAgLyogcmVzZXJ2
ZSB1bml0eS1tYXBwZWQgcGFnZSBlbnRyaWVzIGZvciBkZXZpY2UgKi8KICAg
ICAgICAgLyogbm90ZTogdGhlc2UgZW50cmllcyBhcmUgcGFydCBvZiB0aGUg
ZXhjbHVzaW9uIHJhbmdlICovCi0gICAgICAgIHJlc2VydmVfdW5pdHlfbWFw
X2Zvcl9kZXZpY2Uoc2VnLCBiZGYsIGJhc2UsIGxlbmd0aCwgaXcsIGlyKTsK
LSAgICAgICAgcmVzZXJ2ZV91bml0eV9tYXBfZm9yX2RldmljZShzZWcsIHJl
cSwgYmFzZSwgbGVuZ3RoLCBpdywgaXIpOworICAgICAgICByYyA9IHJlc2Vy
dmVfdW5pdHlfbWFwX2Zvcl9kZXZpY2Uoc2VnLCBiZGYsIGJhc2UsIGxlbmd0
aCwgaXcsIGlyKSA/OgorICAgICAgICAgICAgIHJlc2VydmVfdW5pdHlfbWFw
X2Zvcl9kZXZpY2Uoc2VnLCByZXEsIGJhc2UsIGxlbmd0aCwgaXcsIGlyKTsK
IAogICAgICAgICAvKiBwdXNoICdiYXNlJyBqdXN0IG91dHNpZGUgb2Ygdmly
dHVhbCBhZGRyZXNzIHNwYWNlICovCiAgICAgICAgIGJhc2UgPSBpb21tdV90
b3A7CiAgICAgfQogCiAgICAgLyogcmVnaXN0ZXIgSU9NTVUgZXhjbHVzaW9u
IHJhbmdlIHNldHRpbmdzIGZvciBkZXZpY2UgKi8KLSAgICBpZiAoIGxpbWl0
ID49IGlvbW11X3RvcCAgKQorICAgIGlmICggIXJjICYmIGxpbWl0ID49IGlv
bW11X3RvcCAgKQogICAgIHsKICAgICAgICAgcmMgPSByZXNlcnZlX2lvbW11
X2V4Y2x1c2lvbl9yYW5nZShpb21tdSwgYmFzZSwgbGltaXQsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgLyog
YWxsICovLCBpdywgaXIpOwpAQCAtMjYyLDE1ICsyNzgsMTUgQEAgc3RhdGlj
IGludCBfX2luaXQgcmVnaXN0ZXJfZXhjbHVzaW9uX3JhbgogICAgICAgICBs
ZW5ndGggPSByYW5nZV90b3AgLSBiYXNlOwogICAgICAgICAvKiByZXNlcnZl
IHIvdyB1bml0eS1tYXBwZWQgcGFnZSBlbnRyaWVzIGZvciBkZXZpY2VzICov
CiAgICAgICAgIC8qIG5vdGU6IHRoZXNlIGVudHJpZXMgYXJlIHBhcnQgb2Yg
dGhlIGV4Y2x1c2lvbiByYW5nZSAqLwotICAgICAgICBmb3IgKCBiZGYgPSAw
OyBiZGYgPCBpdnJzX2JkZl9lbnRyaWVzOyBiZGYrKyApCisgICAgICAgIGZv
ciAoIGJkZiA9IDA7ICFyYyAmJiBiZGYgPCBpdnJzX2JkZl9lbnRyaWVzOyBi
ZGYrKyApCiAgICAgICAgIHsKICAgICAgICAgICAgIGlmICggaW9tbXUgPT0g
ZmluZF9pb21tdV9mb3JfZGV2aWNlKGlvbW11LT5zZWcsIGJkZikgKQogICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgIHJlc2VydmVfdW5pdHlfbWFw
X2Zvcl9kZXZpY2UoaW9tbXUtPnNlZywgYmRmLCBiYXNlLCBsZW5ndGgsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
dywgaXIpOwogICAgICAgICAgICAgICAgIHJlcSA9IGdldF9pdnJzX21hcHBp
bmdzKGlvbW11LT5zZWcpW2JkZl0uZHRlX3JlcXVlc3Rvcl9pZDsKLSAgICAg
ICAgICAgICAgICByZXNlcnZlX3VuaXR5X21hcF9mb3JfZGV2aWNlKGlvbW11
LT5zZWcsIHJlcSwgYmFzZSwgbGVuZ3RoLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaXcsIGlyKTsKKyAgICAgICAg
ICAgICAgICByYyA9IHJlc2VydmVfdW5pdHlfbWFwX2Zvcl9kZXZpY2UoaW9t
bXUtPnNlZywgYmRmLCBiYXNlLCBsZW5ndGgsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl3LCBpcikgPzoK
KyAgICAgICAgICAgICAgICAgICAgIHJlc2VydmVfdW5pdHlfbWFwX2Zvcl9k
ZXZpY2UoaW9tbXUtPnNlZywgcmVxLCBiYXNlLCBsZW5ndGgsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl3
LCBpcik7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIApAQCAtMjc5LDcg
KzI5NSw3IEBAIHN0YXRpYyBpbnQgX19pbml0IHJlZ2lzdGVyX2V4Y2x1c2lv
bl9yYW4KICAgICB9CiAKICAgICAvKiByZWdpc3RlciBJT01NVSBleGNsdXNp
b24gcmFuZ2Ugc2V0dGluZ3MgKi8KLSAgICBpZiAoIGxpbWl0ID49IGlvbW11
X3RvcCApCisgICAgaWYgKCAhcmMgJiYgbGltaXQgPj0gaW9tbXVfdG9wICkK
ICAgICAgICAgcmMgPSByZXNlcnZlX2lvbW11X2V4Y2x1c2lvbl9yYW5nZShp
b21tdSwgYmFzZSwgbGltaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdHJ1ZSAvKiBhbGwgKi8sIGl3LCBpcik7CiAK
LS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11X2luaXQu
YworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfaW5p
dC5jCkBAIC0xMTg3LDcgKzExODcsNiBAQCBzdGF0aWMgaW50IF9faW5pdCBh
bGxvY19pdnJzX21hcHBpbmdzKHUxCiAgICAgewogICAgICAgICBpdnJzX21h
cHBpbmdzW2JkZl0uZHRlX3JlcXVlc3Rvcl9pZCA9IGJkZjsKICAgICAgICAg
aXZyc19tYXBwaW5nc1tiZGZdLmR0ZV9hbGxvd19leGNsdXNpb24gPSBJT01N
VV9DT05UUk9MX0RJU0FCTEVEOwotICAgICAgICBpdnJzX21hcHBpbmdzW2Jk
Zl0udW5pdHlfbWFwX2VuYWJsZSA9IElPTU1VX0NPTlRST0xfRElTQUJMRUQ7
CiAgICAgICAgIGl2cnNfbWFwcGluZ3NbYmRmXS5pb21tdSA9IE5VTEw7CiAK
ICAgICAgICAgaXZyc19tYXBwaW5nc1tiZGZdLmludHJlbWFwX3RhYmxlID0g
TlVMTDsKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL3BjaV9h
bWRfaW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQv
cGNpX2FtZF9pb21tdS5jCkBAIC0zNzIsMTUgKzM3MiwxNyBAQCBzdGF0aWMg
aW50IGFtZF9pb21tdV9hc3NpZ25fZGV2aWNlKHN0cnVjCiAgICAgc3RydWN0
IGl2cnNfbWFwcGluZ3MgKml2cnNfbWFwcGluZ3MgPSBnZXRfaXZyc19tYXBw
aW5ncyhwZGV2LT5zZWcpOwogICAgIGludCBiZGYgPSBQQ0lfQkRGMihwZGV2
LT5idXMsIGRldmZuKTsKICAgICBpbnQgcmVxX2lkID0gZ2V0X2RtYV9yZXF1
ZXN0b3JfaWQocGRldi0+c2VnLCBiZGYpOworICAgIGNvbnN0IHN0cnVjdCBp
dnJzX3VuaXR5X21hcCAqdW5pdHlfbWFwOwogCi0gICAgaWYgKCBpdnJzX21h
cHBpbmdzW3JlcV9pZF0udW5pdHlfbWFwX2VuYWJsZSApCisgICAgZm9yICgg
dW5pdHlfbWFwID0gaXZyc19tYXBwaW5nc1tyZXFfaWRdLnVuaXR5X21hcDsg
dW5pdHlfbWFwOworICAgICAgICAgIHVuaXR5X21hcCA9IHVuaXR5X21hcC0+
bmV4dCApCiAgICAgewotICAgICAgICBhbWRfaW9tbXVfcmVzZXJ2ZV9kb21h
aW5fdW5pdHlfbWFwKAotICAgICAgICAgICAgZCwKLSAgICAgICAgICAgIGl2
cnNfbWFwcGluZ3NbcmVxX2lkXS5hZGRyX3JhbmdlX3N0YXJ0LAotICAgICAg
ICAgICAgaXZyc19tYXBwaW5nc1tyZXFfaWRdLmFkZHJfcmFuZ2VfbGVuZ3Ro
LAotICAgICAgICAgICAgaXZyc19tYXBwaW5nc1tyZXFfaWRdLndyaXRlX3Bl
cm1pc3Npb24sCi0gICAgICAgICAgICBpdnJzX21hcHBpbmdzW3JlcV9pZF0u
cmVhZF9wZXJtaXNzaW9uKTsKKyAgICAgICAgaW50IHJjID0gYW1kX2lvbW11
X3Jlc2VydmVfZG9tYWluX3VuaXR5X21hcCgKKyAgICAgICAgICAgICAgICAg
ICAgIGQsIHVuaXR5X21hcC0+YWRkciwgdW5pdHlfbWFwLT5sZW5ndGgsCisg
ICAgICAgICAgICAgICAgICAgICB1bml0eV9tYXAtPndyaXRlLCB1bml0eV9t
YXAtPnJlYWQpOworCisgICAgICAgIGlmICggcmMgKQorICAgICAgICAgICAg
cmV0dXJuIHJjOwogICAgIH0KIAogICAgIHJldHVybiByZWFzc2lnbl9kZXZp
Y2UocGRldi0+ZG9tYWluLCBkLCBkZXZmbiwgcGRldik7Ci0tLSBhL3hlbi9p
bmNsdWRlL2FzbS14ODYvYW1kLWlvbW11LmgKKysrIGIveGVuL2luY2x1ZGUv
YXNtLXg4Ni9hbWQtaW9tbXUuaApAQCAtMTA4LDE1ICsxMDgsMTkgQEAgc3Ry
dWN0IGFtZF9pb21tdSB7CiAgICAgc3RydWN0IGxpc3RfaGVhZCBhdHNfZGV2
aWNlczsKIH07CiAKK3N0cnVjdCBpdnJzX3VuaXR5X21hcCB7CisgICAgYm9v
bCByZWFkOjE7CisgICAgYm9vbCB3cml0ZToxOworICAgIHBhZGRyX3QgYWRk
cjsKKyAgICB1bnNpZ25lZCBsb25nIGxlbmd0aDsKKyAgICBzdHJ1Y3QgaXZy
c191bml0eV9tYXAgKm5leHQ7Cit9OworCiBzdHJ1Y3QgaXZyc19tYXBwaW5n
cyB7CiAgICAgdTE2IGR0ZV9yZXF1ZXN0b3JfaWQ7CiAgICAgdTggZHRlX2Fs
bG93X2V4Y2x1c2lvbjsKLSAgICB1OCB1bml0eV9tYXBfZW5hYmxlOwotICAg
IHU4IHdyaXRlX3Blcm1pc3Npb247Ci0gICAgdTggcmVhZF9wZXJtaXNzaW9u
OwotICAgIHVuc2lnbmVkIGxvbmcgYWRkcl9yYW5nZV9zdGFydDsKLSAgICB1
bnNpZ25lZCBsb25nIGFkZHJfcmFuZ2VfbGVuZ3RoOwogICAgIHN0cnVjdCBh
bWRfaW9tbXUgKmlvbW11OworICAgIHN0cnVjdCBpdnJzX3VuaXR5X21hcCAq
dW5pdHlfbWFwOwogCiAgICAgLyogcGVyIGRldmljZSBpbnRlcnJ1cHQgcmVt
YXBwaW5nIHRhYmxlICovCiAgICAgdm9pZCAqaW50cmVtYXBfdGFibGU7Cg==

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.11-3.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.11-3.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBJT01NVTogYWxzbyBwYXNzIHAybV9hY2Nlc3NfdCB0byBwMm1fZ2V0X2lv
bW11X2ZsYWdzKCkKCkEgc3Vic2VxdWVudCBjaGFuZ2Ugd2lsbCB3YW50IHRv
IGN1c3RvbWl6ZSB0aGUgSU9NTVUgcGVybWlzc2lvbnMgYmFzZWQKb24gdGhp
cy4KClRoaXMgaXMgcGFydCBvZiBYU0EtMzc4LgoKU2lnbmVkLW9mZi1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTog
UGF1bCBEdXJyYW50IDxwYXVsQHhlbi5vcmc+CgotLS0gYS94ZW4vYXJjaC94
ODYvbW0vcDJtLWVwdC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0tZXB0
LmMKQEAgLTcxMSw3ICs3MTEsNyBAQCBlcHRfc2V0X2VudHJ5KHN0cnVjdCBw
Mm1fZG9tYWluICpwMm0sIGdmCiAgICAgdWludDhfdCBpcGF0ID0gMDsKICAg
ICBib29sX3QgbmVlZF9tb2RpZnlfdnRkX3RhYmxlID0gMTsKICAgICBib29s
X3QgdnRkX3B0ZV9wcmVzZW50ID0gMDsKLSAgICB1bnNpZ25lZCBpbnQgaW9t
bXVfZmxhZ3MgPSBwMm1fZ2V0X2lvbW11X2ZsYWdzKHAybXQsIG1mbik7Cisg
ICAgdW5zaWduZWQgaW50IGlvbW11X2ZsYWdzID0gcDJtX2dldF9pb21tdV9m
bGFncyhwMm10LCBwMm1hLCBtZm4pOwogICAgIGJvb2xfdCBuZWVkc19zeW5j
ID0gMTsKICAgICBlcHRfZW50cnlfdCBvbGRfZW50cnkgPSB7IC5lcHRlID0g
MCB9OwogICAgIGVwdF9lbnRyeV90IG5ld19lbnRyeSA9IHsgLmVwdGUgPSAw
IH07CkBAIC04MzcsOCArODM3LDggQEAgZXB0X3NldF9lbnRyeShzdHJ1Y3Qg
cDJtX2RvbWFpbiAqcDJtLCBnZgogCiAgICAgICAgIC8qIFNhZmUgdG8gcmVh
ZC10aGVuLXdyaXRlIGJlY2F1c2Ugd2UgaG9sZCB0aGUgcDJtIGxvY2sgKi8K
ICAgICAgICAgaWYgKCBlcHRfZW50cnktPm1mbiA9PSBuZXdfZW50cnkubWZu
ICYmCi0gICAgICAgICAgICAgcDJtX2dldF9pb21tdV9mbGFncyhlcHRfZW50
cnktPnNhX3AybXQsIF9tZm4oZXB0X2VudHJ5LT5tZm4pKSA9PQotICAgICAg
ICAgICAgIGlvbW11X2ZsYWdzICkKKyAgICAgICAgICAgICBwMm1fZ2V0X2lv
bW11X2ZsYWdzKGVwdF9lbnRyeS0+c2FfcDJtdCwgZXB0X2VudHJ5LT5hY2Nl
c3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfbWZuKGVw
dF9lbnRyeS0+bWZuKSkgPT0gaW9tbXVfZmxhZ3MgKQogICAgICAgICAgICAg
bmVlZF9tb2RpZnlfdnRkX3RhYmxlID0gMDsKIAogICAgICAgICBlcHRfcDJt
X3R5cGVfdG9fZmxhZ3MocDJtLCAmbmV3X2VudHJ5LCBwMm10LCBwMm1hKTsK
LS0tIGEveGVuL2FyY2gveDg2L21tL3AybS1wdC5jCisrKyBiL3hlbi9hcmNo
L3g4Ni9tbS9wMm0tcHQuYwpAQCAtNDcxLDYgKzQ3MSwxNiBAQCBpbnQgcDJt
X3B0X2hhbmRsZV9kZWZlcnJlZF9jaGFuZ2VzKHVpbnQ2CiAgICAgcmV0dXJu
IHJjOwogfQogCisvKiBSZWNvbnN0cnVjdCBhIGZha2UgcDJtX2FjY2Vzc190
IGZyb20gc3RvcmVkIFBURSBmbGFncy4gKi8KK3N0YXRpYyBwMm1fYWNjZXNz
X3QgcDJtX2ZsYWdzX3RvX2FjY2Vzcyh1bnNpZ25lZCBpbnQgZmxhZ3MpCit7
CisgICAgaWYgKCBmbGFncyAmIF9QQUdFX1BSRVNFTlQgKQorICAgICAgICBy
ZXR1cm4gcDJtX2FjY2Vzc19uOworCisgICAgLyogTm8gbmVlZCB0byBsb29r
IGF0IF9QQUdFX05YIGZvciBub3cuICovCisgICAgcmV0dXJuIGZsYWdzICYg
X1BBR0VfUlcgPyBwMm1fYWNjZXNzX3J3IDogcDJtX2FjY2Vzc19yOworfQor
CiAvKiBSZXR1cm5zOiAwIGZvciBzdWNjZXNzLCAtZXJybm8gZm9yIGZhaWx1
cmUgKi8KIHN0YXRpYyBpbnQKIHAybV9wdF9zZXRfZW50cnkoc3RydWN0IHAy
bV9kb21haW4gKnAybSwgZ2ZuX3QgZ2ZuXywgbWZuX3QgbWZuLApAQCAtNDg3
LDcgKzQ5Nyw3IEBAIHAybV9wdF9zZXRfZW50cnkoc3RydWN0IHAybV9kb21h
aW4gKnAybSwKICAgICBsMl9wZ2VudHJ5X3QgbDJlX2NvbnRlbnQ7CiAgICAg
bDNfcGdlbnRyeV90IGwzZV9jb250ZW50OwogICAgIGludCByYzsKLSAgICB1
bnNpZ25lZCBpbnQgaW9tbXVfcHRlX2ZsYWdzID0gcDJtX2dldF9pb21tdV9m
bGFncyhwMm10LCBtZm4pOworICAgIHVuc2lnbmVkIGludCBpb21tdV9wdGVf
ZmxhZ3MgPSBwMm1fZ2V0X2lvbW11X2ZsYWdzKHAybXQsIHAybWEsIG1mbik7
CiAgICAgLyoKICAgICAgKiBvbGRfbWZuIGFuZCBpb21tdV9vbGRfZmxhZ3Mg
Y29udHJvbCBwb3NzaWJsZSBmbHVzaC91cGRhdGUgbmVlZHMgb24gdGhlCiAg
ICAgICogSU9NTVU6IFdlIG5lZWQgdG8gZmx1c2ggd2hlbiBNRk4gb3IgZmxh
Z3MgKGkuZS4gcGVybWlzc2lvbnMpIGNoYW5nZS4KQEAgLTU1Niw2ICs1NjYs
NyBAQCBwMm1fcHRfc2V0X2VudHJ5KHN0cnVjdCBwMm1fZG9tYWluICpwMm0s
CiAgICAgICAgICAgICAgICAgb2xkX21mbiA9IGwxZV9nZXRfcGZuKCpwMm1f
ZW50cnkpOwogICAgICAgICAgICAgICAgIGlvbW11X29sZF9mbGFncyA9CiAg
ICAgICAgICAgICAgICAgICAgIHAybV9nZXRfaW9tbXVfZmxhZ3MocDJtX2Zs
YWdzX3RvX3R5cGUoZmxhZ3MpLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHAybV9mbGFnc190b19hY2Nlc3MoZmxhZ3MpLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9tZm4o
b2xkX21mbikpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxzZQpA
QCAtNjAyLDkgKzYxMywxMCBAQCBwMm1fcHRfc2V0X2VudHJ5KHN0cnVjdCBw
Mm1fZG9tYWluICpwMm0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDAsIEwxX1BBR0VUQUJMRV9FTlRSSUVTKTsKICAgICAgICAgQVNT
RVJUKHAybV9lbnRyeSk7CiAgICAgICAgIG9sZF9tZm4gPSBsMWVfZ2V0X3Bm
bigqcDJtX2VudHJ5KTsKKyAgICAgICAgZmxhZ3MgPSBsMWVfZ2V0X2ZsYWdz
KCpwMm1fZW50cnkpOwogICAgICAgICBpb21tdV9vbGRfZmxhZ3MgPQotICAg
ICAgICAgICAgcDJtX2dldF9pb21tdV9mbGFncyhwMm1fZmxhZ3NfdG9fdHlw
ZShsMWVfZ2V0X2ZsYWdzKCpwMm1fZW50cnkpKSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgX21mbihvbGRfbWZuKSk7CisgICAgICAgICAg
ICBwMm1fZ2V0X2lvbW11X2ZsYWdzKHAybV9mbGFnc190b190eXBlKGZsYWdz
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcDJtX2ZsYWdz
X3RvX2FjY2VzcyhmbGFncyksIF9tZm4ob2xkX21mbikpOwogCiAgICAgICAg
IGlmICggbWZuX3ZhbGlkKG1mbikgfHwgcDJtX2FsbG93c19pbnZhbGlkX21m
bihwMm10KSApCiAgICAgICAgICAgICBlbnRyeV9jb250ZW50ID0gcDJtX2wx
ZV9mcm9tX3BmbihtZm5feChtZm4pLApAQCAtNjQ4LDYgKzY2MCw3IEBAIHAy
bV9wdF9zZXRfZW50cnkoc3RydWN0IHAybV9kb21haW4gKnAybSwKICAgICAg
ICAgICAgICAgICBvbGRfbWZuID0gbDFlX2dldF9wZm4oKnAybV9lbnRyeSk7
CiAgICAgICAgICAgICAgICAgaW9tbXVfb2xkX2ZsYWdzID0KICAgICAgICAg
ICAgICAgICAgICAgcDJtX2dldF9pb21tdV9mbGFncyhwMm1fZmxhZ3NfdG9f
dHlwZShmbGFncyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcDJtX2ZsYWdzX3RvX2FjY2VzcyhmbGFncyksCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX21mbihvbGRfbWZu
KSk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlCi0tLSBhL3hl
bi9pbmNsdWRlL2FzbS14ODYvcDJtLmgKKysrIGIveGVuL2luY2x1ZGUvYXNt
LXg4Ni9wMm0uaApAQCAtODM5LDcgKzgzOSw4IEBAIGludCBwMm1fYWx0cDJt
X3Byb3BhZ2F0ZV9jaGFuZ2Uoc3RydWN0IGQKIC8qCiAgKiBwMm0gdHlwZSB0
byBJT01NVSBmbGFncwogICovCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIGlu
dCBwMm1fZ2V0X2lvbW11X2ZsYWdzKHAybV90eXBlX3QgcDJtdCwgbWZuX3Qg
bWZuKQorc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgcDJtX2dldF9pb21t
dV9mbGFncyhwMm1fdHlwZV90IHAybXQsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAybV9hY2Nlc3NfdCBwMm1h
LCBtZm5fdCBtZm4pCiB7CiAgICAgdW5zaWduZWQgaW50IGZsYWdzOwogCg==

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.11-4.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.11-4.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBJT01NVTogZ2VuZXJhbGl6ZSBWVC1kJ3MgdHJhY2tpbmcgb2YgbWFwcGVk
IFJNUlIgcmVnaW9ucwoKSW4gb3JkZXIgdG8gcmUtdXNlIGl0IGVsc2V3aGVy
ZSwgbW92ZSB0aGUgbG9naWMgdG8gdmVuZG9yIGluZGVwZW5kZW50CmNvZGUg
YW5kIHN0cmlwIGl0IG9mIFJNUlIgc3BlY2lmaWNzLgoKTm90ZSB0aGF0IHRo
ZSBwcmlvciAibWFwIiBwYXJhbWV0ZXIgZ2V0cyBmb2xkZWQgaW50byB0aGUg
bmV3ICJwMm1hIiBvbmUKKHdoaWNoIEFNRCBJT01NVSBjb2RlIHdpbGwgd2Fu
dCB0byBtYWtlIHVzZSBvZiksIGFzc2lnbmluZyBhbHRlcm5hdGl2ZQptZWFu
aW5nICgidW5tYXAiKSB0byBwMm1fYWNjZXNzX3guIFByZXBhcmUgc2V0X2lk
ZW50aXR5X3AybV9lbnRyeSgpIGFuZApwMm1fZ2V0X2lvbW11X2ZsYWdzKCkg
Zm9yIGdldHRpbmcgcGFzc2VkIGFjY2VzcyB0eXBlcyBvdGhlciB0aGFuCnAy
bV9hY2Nlc3NfcncgKGluIHRoZSBsYXR0ZXIgY2FzZSBqdXN0IGZvciBwMm1f
bW1pb19kaXJlY3QgcmVxdWVzdHMpLgoKTm90ZSBhbHNvIHRoYXQsIHRvIGJl
IG9uIHRoZSBzYWZlIHNpZGUsIGFuIG92ZXJsYXAgY2hlY2sgZ2V0cyBhZGRl
ZCB0bwp0aGUgbWFpbiBsb29wIG9mIGlvbW11X2lkZW50aXR5X21hcHBpbmco
KS4KClRoaXMgaXMgcGFydCBvZiBYU0EtMzc4LgoKU2lnbmVkLW9mZi1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTog
UGF1bCBEdXJyYW50IDxwYXVsQHhlbi5vcmc+CgotLS0gYS94ZW4vYXJjaC94
ODYvbW0vcDJtLmMKKysrIGIveGVuL2FyY2gveDg2L21tL3AybS5jCkBAIC0x
MTU3LDcgKzExNTcsOCBAQCBpbnQgc2V0X2lkZW50aXR5X3AybV9lbnRyeShz
dHJ1Y3QgZG9tYWluCiAgICAgewogICAgICAgICBpZiAoICFuZWVkX2lvbW11
KGQpICkKICAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICByZXR1cm4g
aW9tbXVfbWFwX3BhZ2UoZCwgZ2ZuX2wsIGdmbl9sLCBJT01NVUZfcmVhZGFi
bGV8SU9NTVVGX3dyaXRhYmxlKTsKKyAgICAgICAgcmV0dXJuIGlvbW11X21h
cF9wYWdlKGQsIGdmbl9sLCBnZm5fbCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHAybV9hY2Nlc3NfdG9faW9tbXVfZmxhZ3MocDJtYSkpOwog
ICAgIH0KIAogICAgIGdmbl9sb2NrKHAybSwgZ2ZuLCAwKTsKLS0tIGEveGVu
L2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKKysrIGIveGVuL2Ry
aXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKQEAgLTQyLDEyICs0Miw2
IEBACiAjaW5jbHVkZSAidnRkLmgiCiAjaW5jbHVkZSAiLi4vYXRzLmgiCiAK
LXN0cnVjdCBtYXBwZWRfcm1yciB7Ci0gICAgc3RydWN0IGxpc3RfaGVhZCBs
aXN0OwotICAgIHU2NCBiYXNlLCBlbmQ7Ci0gICAgdW5zaWduZWQgaW50IGNv
dW50OwotfTsKLQogLyogUG9zc2libGUgdW5maWx0ZXJlZCBMQVBJQy9NU0kg
bWVzc2FnZXMgZnJvbSB1bnRydXN0ZWQgc291cmNlcz8gKi8KIGJvb2wgX19y
ZWFkX21vc3RseSB1bnRydXN0ZWRfbXNpOwogCkBAIC0xNzg1LDE2ICsxNzc5
LDExIEBAIG91dDoKIHN0YXRpYyB2b2lkIGlvbW11X2RvbWFpbl90ZWFyZG93
bihzdHJ1Y3QgZG9tYWluICpkKQogewogICAgIHN0cnVjdCBkb21haW5faW9t
bXUgKmhkID0gZG9tX2lvbW11KGQpOwotICAgIHN0cnVjdCBtYXBwZWRfcm1y
ciAqbXJtcnIsICp0bXA7CiAKICAgICBpZiAoIGxpc3RfZW1wdHkoJmFjcGlf
ZHJoZF91bml0cykgKQogICAgICAgICByZXR1cm47CiAKLSAgICBsaXN0X2Zv
cl9lYWNoX2VudHJ5X3NhZmUgKCBtcm1yciwgdG1wLCAmaGQtPmFyY2gubWFw
cGVkX3JtcnJzLCBsaXN0ICkKLSAgICB7Ci0gICAgICAgIGxpc3RfZGVsKCZt
cm1yci0+bGlzdCk7Ci0gICAgICAgIHhmcmVlKG1ybXJyKTsKLSAgICB9Cisg
ICAgaW9tbXVfaWRlbnRpdHlfbWFwX3RlYXJkb3duKGQpOwogCiAgICAgaWYg
KCBpb21tdV91c2VfaGFwX3B0KGQpICkKICAgICAgICAgcmV0dXJuOwpAQCAt
MTkwMyw3NCArMTg5Miw2IEBAIHN0YXRpYyB2b2lkIGlvbW11X3NldF9wZ2Qo
c3RydWN0IGRvbWFpbgogICAgICAgICBwYWdldGFibGVfZ2V0X3BhZGRyKHBh
Z2V0YWJsZV9mcm9tX21mbihwZ2RfbWZuKSk7CiB9CiAKLXN0YXRpYyBpbnQg
cm1ycl9pZGVudGl0eV9tYXBwaW5nKHN0cnVjdCBkb21haW4gKmQsIGJvb2xf
dCBtYXAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBzdHJ1Y3QgYWNwaV9ybXJyX3VuaXQgKnJtcnIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1MzIgZmxhZykKLXsKLSAgICB1bnNpZ25l
ZCBsb25nIGJhc2VfcGZuID0gcm1yci0+YmFzZV9hZGRyZXNzID4+IFBBR0Vf
U0hJRlRfNEs7Ci0gICAgdW5zaWduZWQgbG9uZyBlbmRfcGZuID0gUEFHRV9B
TElHTl80SyhybXJyLT5lbmRfYWRkcmVzcykgPj4gUEFHRV9TSElGVF80SzsK
LSAgICBzdHJ1Y3QgbWFwcGVkX3JtcnIgKm1ybXJyOwotICAgIHN0cnVjdCBk
b21haW5faW9tbXUgKmhkID0gZG9tX2lvbW11KGQpOwotCi0gICAgQVNTRVJU
KHBjaWRldnNfbG9ja2VkKCkpOwotICAgIEFTU0VSVChybXJyLT5iYXNlX2Fk
ZHJlc3MgPCBybXJyLT5lbmRfYWRkcmVzcyk7Ci0KLSAgICAvKgotICAgICAq
IE5vIG5lZWQgdG8gYWNxdWlyZSBoZC0+YXJjaC5tYXBwaW5nX2xvY2s6IEJv
dGggaW5zZXJ0aW9uIGFuZCByZW1vdmFsCi0gICAgICogZ2V0IGRvbmUgd2hp
bGUgaG9sZGluZyBwY2lkZXZzX2xvY2suCi0gICAgICovCi0gICAgbGlzdF9m
b3JfZWFjaF9lbnRyeSggbXJtcnIsICZoZC0+YXJjaC5tYXBwZWRfcm1ycnMs
IGxpc3QgKQotICAgIHsKLSAgICAgICAgaWYgKCBtcm1yci0+YmFzZSA9PSBy
bXJyLT5iYXNlX2FkZHJlc3MgJiYKLSAgICAgICAgICAgICBtcm1yci0+ZW5k
ID09IHJtcnItPmVuZF9hZGRyZXNzICkKLSAgICAgICAgewotICAgICAgICAg
ICAgaW50IHJldCA9IDA7Ci0KLSAgICAgICAgICAgIGlmICggbWFwICkKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICArK21ybXJyLT5jb3VudDsK
LSAgICAgICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgICAgIH0KLQot
ICAgICAgICAgICAgaWYgKCAtLW1ybXJyLT5jb3VudCApCi0gICAgICAgICAg
ICAgICAgcmV0dXJuIDA7Ci0KLSAgICAgICAgICAgIHdoaWxlICggYmFzZV9w
Zm4gPCBlbmRfcGZuICkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICBpZiAoIGNsZWFyX2lkZW50aXR5X3AybV9lbnRyeShkLCBiYXNlX3Bmbikg
KQotICAgICAgICAgICAgICAgICAgICByZXQgPSAtRU5YSU87Ci0gICAgICAg
ICAgICAgICAgYmFzZV9wZm4rKzsKLSAgICAgICAgICAgIH0KLQotICAgICAg
ICAgICAgbGlzdF9kZWwoJm1ybXJyLT5saXN0KTsKLSAgICAgICAgICAgIHhm
cmVlKG1ybXJyKTsKLSAgICAgICAgICAgIHJldHVybiByZXQ7Ci0gICAgICAg
IH0KLSAgICB9Ci0KLSAgICBpZiAoICFtYXAgKQotICAgICAgICByZXR1cm4g
LUVOT0VOVDsKLQotICAgIHdoaWxlICggYmFzZV9wZm4gPCBlbmRfcGZuICkK
LSAgICB7Ci0gICAgICAgIGludCBlcnIgPSBzZXRfaWRlbnRpdHlfcDJtX2Vu
dHJ5KGQsIGJhc2VfcGZuLCBwMm1fYWNjZXNzX3J3LCBmbGFnKTsKLQotICAg
ICAgICBpZiAoIGVyciApCi0gICAgICAgICAgICByZXR1cm4gZXJyOwotICAg
ICAgICBiYXNlX3BmbisrOwotICAgIH0KLQotICAgIG1ybXJyID0geG1hbGxv
YyhzdHJ1Y3QgbWFwcGVkX3JtcnIpOwotICAgIGlmICggIW1ybXJyICkKLSAg
ICAgICAgcmV0dXJuIC1FTk9NRU07Ci0gICAgbXJtcnItPmJhc2UgPSBybXJy
LT5iYXNlX2FkZHJlc3M7Ci0gICAgbXJtcnItPmVuZCA9IHJtcnItPmVuZF9h
ZGRyZXNzOwotICAgIG1ybXJyLT5jb3VudCA9IDE7Ci0gICAgbGlzdF9hZGRf
dGFpbCgmbXJtcnItPmxpc3QsICZoZC0+YXJjaC5tYXBwZWRfcm1ycnMpOwot
Ci0gICAgcmV0dXJuIDA7Ci19Ci0KIHN0YXRpYyBpbnQgaW50ZWxfaW9tbXVf
YWRkX2RldmljZSh1OCBkZXZmbiwgc3RydWN0IHBjaV9kZXYgKnBkZXYpCiB7
CiAgICAgc3RydWN0IGFjcGlfcm1ycl91bml0ICpybXJyOwpAQCAtMjAwMiw3
ICsxOTIzLDkgQEAgc3RhdGljIGludCBpbnRlbF9pb21tdV9hZGRfZGV2aWNl
KHU4IGRldgogICAgICAgICAgICAgICogU2luY2UgUk1SUnMgYXJlIGFsd2F5
cyByZXNlcnZlZCBpbiB0aGUgZTgyMCBtYXAgZm9yIHRoZSBoYXJkd2FyZQog
ICAgICAgICAgICAgICogZG9tYWluLCB0aGVyZSBzaG91bGRuJ3QgYmUgYSBj
b25mbGljdC4KICAgICAgICAgICAgICAqLwotICAgICAgICAgICAgcmV0ID0g
cm1ycl9pZGVudGl0eV9tYXBwaW5nKHBkZXYtPmRvbWFpbiwgMSwgcm1yciwg
MCk7CisgICAgICAgICAgICByZXQgPSBpb21tdV9pZGVudGl0eV9tYXBwaW5n
KHBkZXYtPmRvbWFpbiwgcDJtX2FjY2Vzc19ydywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcm1yci0+YmFzZV9hZGRyZXNz
LCBybXJyLT5lbmRfYWRkcmVzcywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMCk7CiAgICAgICAgICAgICBpZiAoIHJldCAp
CiAgICAgICAgICAgICAgICAgZHByaW50ayhYRU5MT0dfRVJSIFZURFBSRUZJ
WCwgImQlZDogUk1SUiBtYXBwaW5nIGZhaWxlZFxuIiwKICAgICAgICAgICAg
ICAgICAgICAgICAgIHBkZXYtPmRvbWFpbi0+ZG9tYWluX2lkKTsKQEAgLTIw
NDcsNyArMTk3MCw4IEBAIHN0YXRpYyBpbnQgaW50ZWxfaW9tbXVfcmVtb3Zl
X2RldmljZSh1OAogICAgICAgICAgKiBBbnkgZmxhZyBpcyBub3RoaW5nIHRv
IGNsZWFyIHRoZXNlIG1hcHBpbmdzIGJ1dCBoZXJlCiAgICAgICAgICAqIGl0
cyBhbHdheXMgc2FmZSBhbmQgc3RyaWN0IHRvIHNldCAwLgogICAgICAgICAg
Ki8KLSAgICAgICAgcm1ycl9pZGVudGl0eV9tYXBwaW5nKHBkZXYtPmRvbWFp
biwgMCwgcm1yciwgMCk7CisgICAgICAgIGlvbW11X2lkZW50aXR5X21hcHBp
bmcocGRldi0+ZG9tYWluLCBwMm1fYWNjZXNzX3gsIHJtcnItPmJhc2VfYWRk
cmVzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBybXJyLT5l
bmRfYWRkcmVzcywgMCk7CiAgICAgfQogCiAgICAgcmV0dXJuIGRvbWFpbl9j
b250ZXh0X3VubWFwKHBkZXYtPmRvbWFpbiwgZGV2Zm4sIHBkZXYpOwpAQCAt
MjIxNCw3ICsyMTM4LDggQEAgc3RhdGljIHZvaWQgX19od2RvbV9pbml0IHNl
dHVwX2h3ZG9tX3JtcgogICAgICAgICAgKiBkb21haW4sIHRoZXJlIHNob3Vs
ZG4ndCBiZSBhIGNvbmZsaWN0LiBTbyBpdHMgYWx3YXlzIHNhZmUgYW5kCiAg
ICAgICAgICAqIHN0cmljdCB0byBzZXQgMC4KICAgICAgICAgICovCi0gICAg
ICAgIHJldCA9IHJtcnJfaWRlbnRpdHlfbWFwcGluZyhkLCAxLCBybXJyLCAw
KTsKKyAgICAgICAgcmV0ID0gaW9tbXVfaWRlbnRpdHlfbWFwcGluZyhkLCBw
Mm1fYWNjZXNzX3J3LCBybXJyLT5iYXNlX2FkZHJlc3MsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcm1yci0+ZW5kX2FkZHJlc3Ms
IDApOwogICAgICAgICBpZiAoIHJldCApCiAgICAgICAgICAgICBkcHJpbnRr
KFhFTkxPR19FUlIgVlREUFJFRklYLAogICAgICAgICAgICAgICAgICAgICAg
IklPTU1VOiBtYXBwaW5nIHJlc2VydmVkIHJlZ2lvbiBmYWlsZWRcbiIpOwpA
QCAtMjM3MSw3ICsyMjk2LDkgQEAgc3RhdGljIGludCByZWFzc2lnbl9kZXZp
Y2Vfb3duZXJzaGlwKAogICAgICAgICAgICAgICAgICAqIEFueSBSTVJSIGZs
YWcgaXMgYWx3YXlzIGlnbm9yZWQgd2hlbiByZW1vdmUgYSBkZXZpY2UsCiAg
ICAgICAgICAgICAgICAgICogYnV0IGl0cyBhbHdheXMgc2FmZSBhbmQgc3Ry
aWN0IHRvIHNldCAwLgogICAgICAgICAgICAgICAgICAqLwotICAgICAgICAg
ICAgICAgIHJldCA9IHJtcnJfaWRlbnRpdHlfbWFwcGluZyhzb3VyY2UsIDAs
IHJtcnIsIDApOworICAgICAgICAgICAgICAgIHJldCA9IGlvbW11X2lkZW50
aXR5X21hcHBpbmcoc291cmNlLCBwMm1fYWNjZXNzX3gsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBybXJyLT5iYXNl
X2FkZHJlc3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBybXJyLT5lbmRfYWRkcmVzcywgMCk7CiAgICAgICAgICAg
ICAgICAgaWYgKCByZXQgIT0gLUVOT0VOVCApCiAgICAgICAgICAgICAgICAg
ICAgIHJldHVybiByZXQ7CiAgICAgICAgICAgICB9CkBAIC0yNDY4LDcgKzIz
OTUsOCBAQCBzdGF0aWMgaW50IGludGVsX2lvbW11X2Fzc2lnbl9kZXZpY2Uo
CiAgICAgICAgICAgICAgUENJX0JVUyhiZGYpID09IGJ1cyAmJgogICAgICAg
ICAgICAgIFBDSV9ERVZGTjIoYmRmKSA9PSBkZXZmbiApCiAgICAgICAgIHsK
LSAgICAgICAgICAgIHJldCA9IHJtcnJfaWRlbnRpdHlfbWFwcGluZyhkLCAx
LCBybXJyLCBmbGFnKTsKKyAgICAgICAgICAgIHJldCA9IGlvbW11X2lkZW50
aXR5X21hcHBpbmcoZCwgcDJtX2FjY2Vzc19ydywgcm1yci0+YmFzZV9hZGRy
ZXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBybXJyLT5lbmRfYWRkcmVzcywgZmxhZyk7CiAgICAgICAgICAgICBpZiAo
IHJldCApCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgaW50IHJj
OwotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC94ODYvaW9tbXUuYwor
KysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC94ODYvaW9tbXUuYwpAQCAt
MTQ0LDcgKzE0NCw3IEBAIGludCBhcmNoX2lvbW11X2RvbWFpbl9pbml0KHN0
cnVjdCBkb21haW4KICAgICBzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRv
bV9pb21tdShkKTsKIAogICAgIHNwaW5fbG9ja19pbml0KCZoZC0+YXJjaC5t
YXBwaW5nX2xvY2spOwotICAgIElOSVRfTElTVF9IRUFEKCZoZC0+YXJjaC5t
YXBwZWRfcm1ycnMpOworICAgIElOSVRfTElTVF9IRUFEKCZoZC0+YXJjaC5p
ZGVudGl0eV9tYXBzKTsKIAogICAgIHJldHVybiAwOwogfQpAQCAtMTUzLDYg
KzE1Myw5OSBAQCB2b2lkIGFyY2hfaW9tbXVfZG9tYWluX2Rlc3Ryb3koc3Ry
dWN0IGRvCiB7CiB9CiAKK3N0cnVjdCBpZGVudGl0eV9tYXAgeworICAgIHN0
cnVjdCBsaXN0X2hlYWQgbGlzdDsKKyAgICBwYWRkcl90IGJhc2UsIGVuZDsK
KyAgICBwMm1fYWNjZXNzX3QgYWNjZXNzOworICAgIHVuc2lnbmVkIGludCBj
b3VudDsKK307CisKK2ludCBpb21tdV9pZGVudGl0eV9tYXBwaW5nKHN0cnVj
dCBkb21haW4gKmQsIHAybV9hY2Nlc3NfdCBwMm1hLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcGFkZHJfdCBiYXNlLCBwYWRkcl90IGVuZCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBmbGFnKQor
eworICAgIHVuc2lnbmVkIGxvbmcgYmFzZV9wZm4gPSBiYXNlID4+IFBBR0Vf
U0hJRlRfNEs7CisgICAgdW5zaWduZWQgbG9uZyBlbmRfcGZuID0gUEFHRV9B
TElHTl80SyhlbmQpID4+IFBBR0VfU0hJRlRfNEs7CisgICAgc3RydWN0IGlk
ZW50aXR5X21hcCAqbWFwOworICAgIHN0cnVjdCBkb21haW5faW9tbXUgKmhk
ID0gZG9tX2lvbW11KGQpOworCisgICAgQVNTRVJUKHBjaWRldnNfbG9ja2Vk
KCkpOworICAgIEFTU0VSVChiYXNlIDwgZW5kKTsKKworICAgIC8qCisgICAg
ICogTm8gbmVlZCB0byBhY3F1aXJlIGhkLT5hcmNoLm1hcHBpbmdfbG9jazog
Qm90aCBpbnNlcnRpb24gYW5kIHJlbW92YWwKKyAgICAgKiBnZXQgZG9uZSB3
aGlsZSBob2xkaW5nIHBjaWRldnNfbG9jay4KKyAgICAgKi8KKyAgICBsaXN0
X2Zvcl9lYWNoX2VudHJ5KCBtYXAsICZoZC0+YXJjaC5pZGVudGl0eV9tYXBz
LCBsaXN0ICkKKyAgICB7CisgICAgICAgIGlmICggbWFwLT5iYXNlID09IGJh
c2UgJiYgbWFwLT5lbmQgPT0gZW5kICkKKyAgICAgICAgeworICAgICAgICAg
ICAgaW50IHJldCA9IDA7CisKKyAgICAgICAgICAgIGlmICggcDJtYSAhPSBw
Mm1fYWNjZXNzX3ggKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
IGlmICggbWFwLT5hY2Nlc3MgIT0gcDJtYSApCisgICAgICAgICAgICAgICAg
ICAgIHJldHVybiAtRUFERFJJTlVTRTsKKyAgICAgICAgICAgICAgICArK21h
cC0+Y291bnQ7CisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAg
ICAgICB9CisKKyAgICAgICAgICAgIGlmICggLS1tYXAtPmNvdW50ICkKKyAg
ICAgICAgICAgICAgICByZXR1cm4gMDsKKworICAgICAgICAgICAgd2hpbGUg
KCBiYXNlX3BmbiA8IGVuZF9wZm4gKQorICAgICAgICAgICAgeworICAgICAg
ICAgICAgICAgIGlmICggY2xlYXJfaWRlbnRpdHlfcDJtX2VudHJ5KGQsIGJh
c2VfcGZuKSApCisgICAgICAgICAgICAgICAgICAgIHJldCA9IC1FTlhJTzsK
KyAgICAgICAgICAgICAgICBiYXNlX3BmbisrOworICAgICAgICAgICAgfQor
CisgICAgICAgICAgICBsaXN0X2RlbCgmbWFwLT5saXN0KTsKKyAgICAgICAg
ICAgIHhmcmVlKG1hcCk7CisKKyAgICAgICAgICAgIHJldHVybiByZXQ7Cisg
ICAgICAgIH0KKworICAgICAgICBpZiAoIGVuZCA+PSBtYXAtPmJhc2UgJiYg
bWFwLT5lbmQgPj0gYmFzZSApCisgICAgICAgICAgICByZXR1cm4gLUVBRERS
SU5VU0U7CisgICAgfQorCisgICAgaWYgKCBwMm1hID09IHAybV9hY2Nlc3Nf
eCApCisgICAgICAgIHJldHVybiAtRU5PRU5UOworCisgICAgd2hpbGUgKCBi
YXNlX3BmbiA8IGVuZF9wZm4gKQorICAgIHsKKyAgICAgICAgaW50IGVyciA9
IHNldF9pZGVudGl0eV9wMm1fZW50cnkoZCwgYmFzZV9wZm4sIHAybWEsIGZs
YWcpOworCisgICAgICAgIGlmICggZXJyICkKKyAgICAgICAgICAgIHJldHVy
biBlcnI7CisgICAgICAgIGJhc2VfcGZuKys7CisgICAgfQorCisgICAgbWFw
ID0geG1hbGxvYyhzdHJ1Y3QgaWRlbnRpdHlfbWFwKTsKKyAgICBpZiAoICFt
YXAgKQorICAgICAgICByZXR1cm4gLUVOT01FTTsKKyAgICBtYXAtPmJhc2Ug
PSBiYXNlOworICAgIG1hcC0+ZW5kID0gZW5kOworICAgIG1hcC0+YWNjZXNz
ID0gcDJtYTsKKyAgICBtYXAtPmNvdW50ID0gMTsKKyAgICBsaXN0X2FkZF90
YWlsKCZtYXAtPmxpc3QsICZoZC0+YXJjaC5pZGVudGl0eV9tYXBzKTsKKwor
ICAgIHJldHVybiAwOworfQorCit2b2lkIGlvbW11X2lkZW50aXR5X21hcF90
ZWFyZG93bihzdHJ1Y3QgZG9tYWluICpkKQoreworICAgIHN0cnVjdCBkb21h
aW5faW9tbXUgKmhkID0gZG9tX2lvbW11KGQpOworICAgIHN0cnVjdCBpZGVu
dGl0eV9tYXAgKm1hcCwgKnRtcDsKKworICAgIGxpc3RfZm9yX2VhY2hfZW50
cnlfc2FmZSAoIG1hcCwgdG1wLCAmaGQtPmFyY2guaWRlbnRpdHlfbWFwcywg
bGlzdCApCisgICAgeworICAgICAgICBsaXN0X2RlbCgmbWFwLT5saXN0KTsK
KyAgICAgICAgeGZyZWUobWFwKTsKKyAgICB9Cit9CisKIC8qCiAgKiBMb2Nh
bCB2YXJpYWJsZXM6CiAgKiBtb2RlOiBDCi0tLSBhL3hlbi9pbmNsdWRlL2Fz
bS14ODYvaW9tbXUuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2lvbW11
LmgKQEAgLTE2LDYgKzE2LDcgQEAKIAogI2luY2x1ZGUgPHhlbi9lcnJuby5o
PgogI2luY2x1ZGUgPHhlbi9saXN0Lmg+CisjaW5jbHVkZSA8eGVuL21lbV9h
Y2Nlc3MuaD4KICNpbmNsdWRlIDx4ZW4vc3BpbmxvY2suaD4KICNpbmNsdWRl
IDxhc20vcHJvY2Vzc29yLmg+CiAjaW5jbHVkZSA8YXNtL2h2bS92bXgvdm1j
cy5oPgpAQCAtMzYsNyArMzcsNyBAQCBzdHJ1Y3QgYXJjaF9pb21tdQogICAg
IHNwaW5sb2NrX3QgbWFwcGluZ19sb2NrOyAgICAgICAgICAgIC8qIGlvIHBh
Z2UgdGFibGUgbG9jayAqLwogICAgIGludCBhZ2F3OyAgICAgLyogYWRqdXN0
ZWQgZ3Vlc3QgYWRkcmVzcyB3aWR0aCwgMCBpcyBsZXZlbCAyIDMwLWJpdCAq
LwogICAgIHU2NCBpb21tdV9iaXRtYXA7ICAgICAgICAgICAgICAvKiBiaXRt
YXAgb2YgaW9tbXUocykgdGhhdCB0aGUgZG9tYWluIHVzZXMgKi8KLSAgICBz
dHJ1Y3QgbGlzdF9oZWFkIG1hcHBlZF9ybXJyczsKKyAgICBzdHJ1Y3QgbGlz
dF9oZWFkIGlkZW50aXR5X21hcHM7CiAKICAgICAvKiBhbWQgaW9tbXUgc3Vw
cG9ydCAqLwogICAgIGludCBwYWdpbmdfbW9kZTsKQEAgLTk0LDYgKzk1LDEx
IEBAIGJvb2xfdCBpb21tdV9zdXBwb3J0c19laW0odm9pZCk7CiBpbnQgaW9t
bXVfZW5hYmxlX3gyYXBpY19JUih2b2lkKTsKIHZvaWQgaW9tbXVfZGlzYWJs
ZV94MmFwaWNfSVIodm9pZCk7CiAKK2ludCBpb21tdV9pZGVudGl0eV9tYXBw
aW5nKHN0cnVjdCBkb21haW4gKmQsIHAybV9hY2Nlc3NfdCBwMm1hLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcGFkZHJfdCBiYXNlLCBwYWRkcl90
IGVuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu
dCBmbGFnKTsKK3ZvaWQgaW9tbXVfaWRlbnRpdHlfbWFwX3RlYXJkb3duKHN0
cnVjdCBkb21haW4gKmQpOworCiBleHRlcm4gYm9vbCB1bnRydXN0ZWRfbXNp
OwogCiBpbnQgcGlfdXBkYXRlX2lydGUoY29uc3Qgc3RydWN0IHBpX2Rlc2Mg
KnBpX2Rlc2MsIGNvbnN0IHN0cnVjdCBwaXJxICpwaXJxLAotLS0gYS94ZW4v
aW5jbHVkZS9hc20teDg2L21lbV9hY2Nlc3MuaAorKysgYi94ZW4vaW5jbHVk
ZS9hc20teDg2L21lbV9hY2Nlc3MuaApAQCAtNDQsMTAgKzQ0LDggQEAgYm9v
bCBwMm1fbWVtX2FjY2Vzc19lbXVsYXRlX2NoZWNrKHN0cnVjdAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZtX2V2ZW50X3Jl
c3BvbnNlX3QgKnJzcCk7CiAKIC8qIFNhbml0eSBjaGVjayBmb3IgbWVtX2Fj
Y2VzcyBoYXJkd2FyZSBzdXBwb3J0ICovCi1zdGF0aWMgaW5saW5lIGJvb2wg
cDJtX21lbV9hY2Nlc3Nfc2FuaXR5X2NoZWNrKHN0cnVjdCBkb21haW4gKmQp
Ci17Ci0gICAgcmV0dXJuIGlzX2h2bV9kb21haW4oZCkgJiYgY3B1X2hhc192
bXggJiYgaGFwX2VuYWJsZWQoZCk7Ci19CisjZGVmaW5lIHAybV9tZW1fYWNj
ZXNzX3Nhbml0eV9jaGVjayhkKSBcCisgICAgKGlzX2h2bV9kb21haW4oZCkg
JiYgY3B1X2hhc192bXggJiYgaGFwX2VuYWJsZWQoZCkpCiAKICNlbmRpZiAv
Kl9fQVNNX1g4Nl9NRU1fQUNDRVNTX0hfXyAqLwogCi0tLSBhL3hlbi9pbmNs
dWRlL2FzbS14ODYvcDJtLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9w
Mm0uaApAQCAtODM2LDYgKzgzNiwzNCBAQCBpbnQgcDJtX2FsdHAybV9wcm9w
YWdhdGVfY2hhbmdlKHN0cnVjdCBkCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG1mbl90IG1mbiwgdW5zaWduZWQgaW50IHBhZ2Vfb3JkZXIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAybV90eXBlX3Qg
cDJtdCwgcDJtX2FjY2Vzc190IHAybWEpOwogCisvKiBwMm0gYWNjZXNzIHRv
IElPTU1VIGZsYWdzICovCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBw
Mm1fYWNjZXNzX3RvX2lvbW11X2ZsYWdzKHAybV9hY2Nlc3NfdCBwMm1hKQor
eworICAgIHN3aXRjaCAoIHAybWEgKQorICAgIHsKKyAgICBjYXNlIHAybV9h
Y2Nlc3Nfcnc6CisgICAgY2FzZSBwMm1fYWNjZXNzX3J3eDoKKyAgICAgICAg
cmV0dXJuIElPTU1VRl9yZWFkYWJsZSB8IElPTU1VRl93cml0YWJsZTsKKwor
ICAgIGNhc2UgcDJtX2FjY2Vzc19yOgorICAgIGNhc2UgcDJtX2FjY2Vzc19y
eDoKKyAgICBjYXNlIHAybV9hY2Nlc3Nfcngycnc6CisgICAgICAgIHJldHVy
biBJT01NVUZfcmVhZGFibGU7CisKKyAgICBjYXNlIHAybV9hY2Nlc3NfdzoK
KyAgICBjYXNlIHAybV9hY2Nlc3Nfd3g6CisgICAgICAgIHJldHVybiBJT01N
VUZfd3JpdGFibGU7CisKKyAgICBjYXNlIHAybV9hY2Nlc3NfbjoKKyAgICBj
YXNlIHAybV9hY2Nlc3NfeDoKKyAgICBjYXNlIHAybV9hY2Nlc3NfbjJyd3g6
CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIEFTU0VSVF9VTlJF
QUNIQUJMRSgpOworICAgIHJldHVybiAwOworfQorCiAvKgogICogcDJtIHR5
cGUgdG8gSU9NTVUgZmxhZ3MKICAqLwpAQCAtODU3LDkgKzg4NSwxMCBAQCBz
dGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBwMm1fZ2V0X2lvbW11CiAgICAg
ICAgIGZsYWdzID0gSU9NTVVGX3JlYWRhYmxlOwogICAgICAgICBicmVhazsK
ICAgICBjYXNlIHAybV9tbWlvX2RpcmVjdDoKLSAgICAgICAgZmxhZ3MgPSBJ
T01NVUZfcmVhZGFibGU7Ci0gICAgICAgIGlmICggIXJhbmdlc2V0X2NvbnRh
aW5zX3NpbmdsZXRvbihtbWlvX3JvX3JhbmdlcywgbWZuX3gobWZuKSkgKQot
ICAgICAgICAgICAgZmxhZ3MgfD0gSU9NTVVGX3dyaXRhYmxlOworICAgICAg
ICBmbGFncyA9IHAybV9hY2Nlc3NfdG9faW9tbXVfZmxhZ3MocDJtYSk7Cisg
ICAgICAgIGlmICggKGZsYWdzICYgSU9NTVVGX3dyaXRhYmxlKSAmJgorICAg
ICAgICAgICAgIHJhbmdlc2V0X2NvbnRhaW5zX3NpbmdsZXRvbihtbWlvX3Jv
X3JhbmdlcywgbWZuX3gobWZuKSkgKQorICAgICAgICAgICAgZmxhZ3MgJj0g
fklPTU1VRl93cml0YWJsZTsKICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVs
dDoKICAgICAgICAgZmxhZ3MgPSAwOwo=

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.11-5.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.11-5.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBBTUQvSU9NTVU6IHJlLWFycmFuZ2UvY29tcGxldGUgcmUtYXNzaWdubWVu
dCBoYW5kbGluZwoKUHJpb3IgdG8gdGhlIGFzc2lnbm1lbnQgc3RlcCBoYXZp
bmcgY29tcGxldGVkIHN1Y2Nlc3NmdWxseSwgZGV2aWNlcwpzaG91bGQgbm90
IGdldCBhc3NvY2lhdGVkIHdpdGggdGhlaXIgbmV3IG93bmVyLiBIYW5kIHRo
ZSBkZXZpY2UgdG8gRG9tSU8KKHBlcmhhcHMgdGVtcG9yYXJpbHkpLCB1bnRp
bCBhZnRlciB0aGUgZGUtYXNzaWdubWVudCBzdGVwIGhhcyBjb21wbGV0ZWQu
CgpEZS1hc3NpZ25tZW50IG9mIGEgZGV2aWNlIChmcm9tIG90aGVyIHRoYW4g
RG9tMCkgYXMgd2VsbCBhcyBmYWlsdXJlIG9mCnJlYXNzaWduX2RldmljZSgp
IGR1cmluZyBhc3NpZ25tZW50IHNob3VsZCByZXN1bHQgaW4gdW5pdHkgbWFw
cGluZ3MKZ2V0dGluZyB0b3JuIGRvd24uIFRoaXMgaW4gdHVybiByZXF1aXJl
cyBzd2l0Y2hpbmcgdG8gYSByZWZjb3VudGVkCm1hcHBpbmcgYXBwcm9hY2gs
IGFzIHdhcyBhbHJlYWR5IHVzZWQgYnkgVlQtZCBmb3IgaXRzIFJNUlJzLCB0
byBwcmV2ZW50CnVubWFwcGluZyBhIHJlZ2lvbiB1c2VkIGJ5IG11bHRpcGxl
IGRldmljZXMuCgpUaGlzIGlzIENWRS0yMDIxLTI4Njk2IC8gcGFydCBvZiBY
U0EtMzc4LgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpSZXZpZXdlZC1ieTogUGF1bCBEdXJyYW50IDxwYXVsQHhl
bi5vcmc+CgotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9t
bXVfbWFwLmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lv
bW11X21hcC5jCkBAIC03MTYsMjcgKzcxNiw0OSBAQCBpbnQgYW1kX2lvbW11
X3VubWFwX3BhZ2Uoc3RydWN0IGRvbWFpbiAqCiAgICAgcmV0dXJuIDA7CiB9
CiAKLWludCBhbWRfaW9tbXVfcmVzZXJ2ZV9kb21haW5fdW5pdHlfbWFwKHN0
cnVjdCBkb21haW4gKmRvbWFpbiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHU2NCBwaHlzX2FkZHIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHNpemUs
IGludCBpdywgaW50IGlyKQoraW50IGFtZF9pb21tdV9yZXNlcnZlX2RvbWFp
bl91bml0eV9tYXAoc3RydWN0IGRvbWFpbiAqZCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBpdnJzX3Vu
aXR5X21hcCAqbWFwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdW5zaWduZWQgaW50IGZsYWcpCiB7Ci0gICAgdW5zaWduZWQg
bG9uZyBucGFnZXMsIGk7Ci0gICAgdW5zaWduZWQgbG9uZyBnZm47Ci0gICAg
dW5zaWduZWQgaW50IGZsYWdzID0gISFpcjsKLSAgICBpbnQgcnQgPSAwOwot
Ci0gICAgaWYgKCBpdyApCi0gICAgICAgIGZsYWdzIHw9IElPTU1VRl93cml0
YWJsZTsKLQotICAgIG5wYWdlcyA9IHJlZ2lvbl90b19wYWdlcyhwaHlzX2Fk
ZHIsIHNpemUpOwotICAgIGdmbiA9IHBoeXNfYWRkciA+PiBQQUdFX1NISUZU
OwotICAgIGZvciAoIGkgPSAwOyBpIDwgbnBhZ2VzOyBpKysgKQorICAgIGlu
dCByYzsKKworICAgIGlmICggZCA9PSBkb21faW8gKQorICAgICAgICByZXR1
cm4gMDsKKworICAgIGZvciAoIHJjID0gMDsgIXJjICYmIG1hcDsgbWFwID0g
bWFwLT5uZXh0ICkKICAgICB7Ci0gICAgICAgIHJ0ID0gYW1kX2lvbW11X21h
cF9wYWdlKGRvbWFpbiwgZ2ZuICtpLCBnZm4gK2ksIGZsYWdzKTsKLSAgICAg
ICAgaWYgKCBydCAhPSAwICkKLSAgICAgICAgICAgIHJldHVybiBydDsKKyAg
ICAgICAgcDJtX2FjY2Vzc190IHAybWEgPSBwMm1fYWNjZXNzX247CisKKyAg
ICAgICAgaWYgKCBtYXAtPnJlYWQgKQorICAgICAgICAgICAgcDJtYSB8PSBw
Mm1fYWNjZXNzX3I7CisgICAgICAgIGlmICggbWFwLT53cml0ZSApCisgICAg
ICAgICAgICBwMm1hIHw9IHAybV9hY2Nlc3NfdzsKKworICAgICAgICByYyA9
IGlvbW11X2lkZW50aXR5X21hcHBpbmcoZCwgcDJtYSwgbWFwLT5hZGRyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLT5hZGRy
ICsgbWFwLT5sZW5ndGggLSAxLCBmbGFnKTsKICAgICB9Ci0gICAgcmV0dXJu
IDA7CisKKyAgICByZXR1cm4gcmM7Cit9CisKK2ludCBhbWRfaW9tbXVfcmVz
ZXJ2ZV9kb21haW5fdW5pdHlfdW5tYXAoc3RydWN0IGRvbWFpbiAqZCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
c3RydWN0IGl2cnNfdW5pdHlfbWFwICptYXApCit7CisgICAgaW50IHJjOwor
CisgICAgaWYgKCBkID09IGRvbV9pbyApCisgICAgICAgIHJldHVybiAwOwor
CisgICAgZm9yICggcmMgPSAwOyBtYXA7IG1hcCA9IG1hcC0+bmV4dCApCisg
ICAgeworICAgICAgICBpbnQgcmV0ID0gaW9tbXVfaWRlbnRpdHlfbWFwcGlu
ZyhkLCBwMm1fYWNjZXNzX3gsIG1hcC0+YWRkciwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLT5hZGRyICsgbWFwLT5s
ZW5ndGggLSAxLCAwKTsKKworICAgICAgICBpZiAoIHJldCAmJiByZXQgIT0g
LUVOT0VOVCAmJiAhcmMgKQorICAgICAgICAgICAgcmMgPSByZXQ7CisgICAg
fQorCisgICAgcmV0dXJuIHJjOwogfQogCiAvKiBTaGFyZSBwMm0gdGFibGUg
d2l0aCBpb21tdS4gKi8KLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gv
YW1kL3BjaV9hbWRfaW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhy
b3VnaC9hbWQvcGNpX2FtZF9pb21tdS5jCkBAIC0zMzMsNiArMzMzLDcgQEAg
c3RhdGljIGludCByZWFzc2lnbl9kZXZpY2Uoc3RydWN0IGRvbWFpbgogICAg
IHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11OwogICAgIGludCBiZGYsIHJjOwog
ICAgIHN0cnVjdCBkb21haW5faW9tbXUgKnQgPSBkb21faW9tbXUodGFyZ2V0
KTsKKyAgICBjb25zdCBzdHJ1Y3QgaXZyc19tYXBwaW5ncyAqaXZyc19tYXBw
aW5ncyA9IGdldF9pdnJzX21hcHBpbmdzKHBkZXYtPnNlZyk7CiAKICAgICBi
ZGYgPSBQQ0lfQkRGMihwZGV2LT5idXMsIHBkZXYtPmRldmZuKTsKICAgICBp
b21tdSA9IGZpbmRfaW9tbXVfZm9yX2RldmljZShwZGV2LT5zZWcsIGJkZik7
CkBAIC0zNDcsMTAgKzM0OCwyNCBAQCBzdGF0aWMgaW50IHJlYXNzaWduX2Rl
dmljZShzdHJ1Y3QgZG9tYWluCiAKICAgICBhbWRfaW9tbXVfZGlzYWJsZV9k
b21haW5fZGV2aWNlKHNvdXJjZSwgaW9tbXUsIGRldmZuLCBwZGV2KTsKIAot
ICAgIGlmICggZGV2Zm4gPT0gcGRldi0+ZGV2Zm4gKQorICAgIC8qCisgICAg
ICogSWYgdGhlIGRldmljZSBiZWxvbmdzIHRvIHRoZSBoYXJkd2FyZSBkb21h
aW4sIGFuZCBpdCBoYXMgYSB1bml0eSBtYXBwaW5nLAorICAgICAqIGRvbid0
IHJlbW92ZSBpdCBmcm9tIHRoZSBoYXJkd2FyZSBkb21haW4sIGJlY2F1c2Ug
QklPUyBtYXkgcmVmZXJlbmNlIHRoYXQKKyAgICAgKiBtYXBwaW5nLgorICAg
ICAqLworICAgIGlmICggIWlzX2hhcmR3YXJlX2RvbWFpbihzb3VyY2UpICkK
KyAgICB7CisgICAgICAgIHJjID0gYW1kX2lvbW11X3Jlc2VydmVfZG9tYWlu
X3VuaXR5X3VubWFwKAorICAgICAgICAgICAgICAgICBzb3VyY2UsCisgICAg
ICAgICAgICAgICAgIGl2cnNfbWFwcGluZ3NbZ2V0X2RtYV9yZXF1ZXN0b3Jf
aWQocGRldi0+c2VnLCBiZGYpXS51bml0eV9tYXApOworICAgICAgICBpZiAo
IHJjICkKKyAgICAgICAgICAgIHJldHVybiByYzsKKyAgICB9CisKKyAgICBp
ZiAoIGRldmZuID09IHBkZXYtPmRldmZuICYmIHBkZXYtPmRvbWFpbiAhPSBk
b21faW8gKQogICAgIHsKLSAgICAgICAgbGlzdF9tb3ZlKCZwZGV2LT5kb21h
aW5fbGlzdCwgJnRhcmdldC0+YXJjaC5wZGV2X2xpc3QpOwotICAgICAgICBw
ZGV2LT5kb21haW4gPSB0YXJnZXQ7CisgICAgICAgIGxpc3RfbW92ZSgmcGRl
di0+ZG9tYWluX2xpc3QsICZkb21faW8tPmFyY2gucGRldl9saXN0KTsKKyAg
ICAgICAgcGRldi0+ZG9tYWluID0gZG9tX2lvOwogICAgIH0KIAogICAgIHJj
ID0gYWxsb2NhdGVfZG9tYWluX3Jlc291cmNlcyh0KTsKQEAgLTM2Miw2ICsz
NzcsMTIgQEAgc3RhdGljIGludCByZWFzc2lnbl9kZXZpY2Uoc3RydWN0IGRv
bWFpbgogICAgICAgICAgICAgICAgICAgICBwZGV2LT5zZWcsIHBkZXYtPmJ1
cywgUENJX1NMT1QoZGV2Zm4pLCBQQ0lfRlVOQyhkZXZmbiksCiAgICAgICAg
ICAgICAgICAgICAgIHNvdXJjZS0+ZG9tYWluX2lkLCB0YXJnZXQtPmRvbWFp
bl9pZCk7CiAKKyAgICBpZiAoIGRldmZuID09IHBkZXYtPmRldmZuICYmIHBk
ZXYtPmRvbWFpbiAhPSB0YXJnZXQgKQorICAgIHsKKyAgICAgICAgbGlzdF9t
b3ZlKCZwZGV2LT5kb21haW5fbGlzdCwgJnRhcmdldC0+YXJjaC5wZGV2X2xp
c3QpOworICAgICAgICBwZGV2LT5kb21haW4gPSB0YXJnZXQ7CisgICAgfQor
CiAgICAgcmV0dXJuIDA7CiB9CiAKQEAgLTM3MiwyMCArMzkzLDI4IEBAIHN0
YXRpYyBpbnQgYW1kX2lvbW11X2Fzc2lnbl9kZXZpY2Uoc3RydWMKICAgICBz
dHJ1Y3QgaXZyc19tYXBwaW5ncyAqaXZyc19tYXBwaW5ncyA9IGdldF9pdnJz
X21hcHBpbmdzKHBkZXYtPnNlZyk7CiAgICAgaW50IGJkZiA9IFBDSV9CREYy
KHBkZXYtPmJ1cywgZGV2Zm4pOwogICAgIGludCByZXFfaWQgPSBnZXRfZG1h
X3JlcXVlc3Rvcl9pZChwZGV2LT5zZWcsIGJkZik7Ci0gICAgY29uc3Qgc3Ry
dWN0IGl2cnNfdW5pdHlfbWFwICp1bml0eV9tYXA7CisgICAgaW50IHJjID0g
YW1kX2lvbW11X3Jlc2VydmVfZG9tYWluX3VuaXR5X21hcCgKKyAgICAgICAg
ICAgICAgICAgZCwgaXZyc19tYXBwaW5nc1tyZXFfaWRdLnVuaXR5X21hcCwg
ZmxhZyk7CisKKyAgICBpZiAoICFyYyApCisgICAgICAgIHJjID0gcmVhc3Np
Z25fZGV2aWNlKHBkZXYtPmRvbWFpbiwgZCwgZGV2Zm4sIHBkZXYpOwogCi0g
ICAgZm9yICggdW5pdHlfbWFwID0gaXZyc19tYXBwaW5nc1tyZXFfaWRdLnVu
aXR5X21hcDsgdW5pdHlfbWFwOwotICAgICAgICAgIHVuaXR5X21hcCA9IHVu
aXR5X21hcC0+bmV4dCApCisgICAgaWYgKCByYyAmJiAhaXNfaGFyZHdhcmVf
ZG9tYWluKGQpICkKICAgICB7Ci0gICAgICAgIGludCByYyA9IGFtZF9pb21t
dV9yZXNlcnZlX2RvbWFpbl91bml0eV9tYXAoCi0gICAgICAgICAgICAgICAg
ICAgICBkLCB1bml0eV9tYXAtPmFkZHIsIHVuaXR5X21hcC0+bGVuZ3RoLAot
ICAgICAgICAgICAgICAgICAgICAgdW5pdHlfbWFwLT53cml0ZSwgdW5pdHlf
bWFwLT5yZWFkKTsKKyAgICAgICAgaW50IHJldCA9IGFtZF9pb21tdV9yZXNl
cnZlX2RvbWFpbl91bml0eV91bm1hcCgKKyAgICAgICAgICAgICAgICAgICAg
ICBkLCBpdnJzX21hcHBpbmdzW3JlcV9pZF0udW5pdHlfbWFwKTsKIAotICAg
ICAgICBpZiAoIHJjICkKLSAgICAgICAgICAgIHJldHVybiByYzsKKyAgICAg
ICAgaWYgKCByZXQgKQorICAgICAgICB7CisgICAgICAgICAgICBwcmludGso
WEVOTE9HX0VSUiAiQU1ELVZpOiAiCisgICAgICAgICAgICAgICAgICAgInVu
aXR5LXVubWFwIGZvciBkJWQvJTA0eDolMDJ4OiUwMnguJXUgZmFpbGVkICgl
ZClcbiIsCisgICAgICAgICAgICAgICAgICAgZC0+ZG9tYWluX2lkLCBwZGV2
LT5zZWcsIHBkZXYtPmJ1cywKKyAgICAgICAgICAgICAgICAgICBQQ0lfU0xP
VChkZXZmbiksIFBDSV9GVU5DKGRldmZuKSwgcmV0KTsKKyAgICAgICAgICAg
IGRvbWFpbl9jcmFzaChkKTsKKyAgICAgICAgfQogICAgIH0KIAotICAgIHJl
dHVybiByZWFzc2lnbl9kZXZpY2UocGRldi0+ZG9tYWluLCBkLCBkZXZmbiwg
cGRldik7CisgICAgcmV0dXJuIHJjOwogfQogCiBzdGF0aWMgdm9pZCBkZWFs
bG9jYXRlX25leHRfcGFnZV90YWJsZShzdHJ1Y3QgcGFnZV9pbmZvICpwZywg
aW50IGxldmVsKQpAQCAtNDUxLDYgKzQ4MCw3IEBAIHN0YXRpYyB2b2lkIGRl
YWxsb2NhdGVfaW9tbXVfcGFnZV90YWJsZXMKIAogc3RhdGljIHZvaWQgYW1k
X2lvbW11X2RvbWFpbl9kZXN0cm95KHN0cnVjdCBkb21haW4gKmQpCiB7Cisg
ICAgaW9tbXVfaWRlbnRpdHlfbWFwX3RlYXJkb3duKGQpOwogICAgIGRlYWxs
b2NhdGVfaW9tbXVfcGFnZV90YWJsZXMoZCk7CiAgICAgYW1kX2lvbW11X2Zs
dXNoX2FsbF9wYWdlcyhkKTsKIH0KLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4
Ni9odm0vc3ZtL2FtZC1pb21tdS1wcm90by5oCisrKyBiL3hlbi9pbmNsdWRl
L2FzbS14ODYvaHZtL3N2bS9hbWQtaW9tbXUtcHJvdG8uaApAQCAtNjAsOCAr
NjAsMTAgQEAgaW50IF9fbXVzdF9jaGVjayBhbWRfaW9tbXVfdW5tYXBfcGFn
ZShzdAogdTY0IGFtZF9pb21tdV9nZXRfbmV4dF90YWJsZV9mcm9tX3B0ZSh1
MzIgKmVudHJ5KTsKIGludCBfX211c3RfY2hlY2sgYW1kX2lvbW11X2FsbG9j
X3Jvb3Qoc3RydWN0IGRvbWFpbl9pb21tdSAqaGQpOwogaW50IGFtZF9pb21t
dV9yZXNlcnZlX2RvbWFpbl91bml0eV9tYXAoc3RydWN0IGRvbWFpbiAqZG9t
YWluLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dTY0IHBoeXNfYWRkciwgdW5zaWduZWQgbG9uZyBzaXplLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGl3LCBpbnQgaXIp
OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3Qgc3RydWN0IGl2cnNfdW5pdHlfbWFwICptYXAsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgZmxhZyk7
CitpbnQgYW1kX2lvbW11X3Jlc2VydmVfZG9tYWluX3VuaXR5X3VubWFwKHN0
cnVjdCBkb21haW4gKmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBpdnJzX3VuaXR5X21hcCAqbWFw
KTsKIAogLyogU2hhcmUgcDJtIHRhYmxlIHdpdGggaW9tbXUgKi8KIHZvaWQg
YW1kX2lvbW11X3NoYXJlX3AybShzdHJ1Y3QgZG9tYWluICpkKTsK

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.11-6.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.11-6.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBBTUQvSU9NTVU6IHJlLWFycmFuZ2UgZXhjbHVzaW9uIHJhbmdlIGFuZCB1
bml0eSBtYXAgcmVjb3JkaW5nCgpUaGUgc3BlYyBtYWtlcyBubyBwcm92aXNp
b25zIGZvciBPUyBiZWhhdmlvciBoZXJlIHRvIGRlcGVuZCBvbiB0aGUKYW1v
dW50IG9mIFJBTSBmb3VuZCBvbiB0aGUgc3lzdGVtLiBXaGlsZSB0aGUgc3Bl
YyBtYXkgbm90IHN1ZmZpY2llbnRseQpjbGVhcmx5IGRpc3Rpbmd1aXNoIGJv
dGgga2luZHMgb2YgcmVnaW9ucywgdGhleSBhcmUgc3VyZWx5IG1lYW50IHRv
IGJlCnNlcGFyYXRlIHRoaW5nczogT25seSByZWdpb25zIHdpdGggQUNQSV9J
Vk1EX0VYQ0xVU0lPTl9SQU5HRSBzZXQgc2hvdWxkCmJlIGNhbmRpZGF0ZXMg
Zm9yIHB1dHRpbmcgaW4gdGhlIGV4Y2x1c2lvbiByYW5nZSByZWdpc3RlcnMu
IChBcyB0aGVyZSdzCm9ubHkgYSBzaW5nbGUgc3VjaCBwYWlyIG9mIHJlZ2lz
dGVycyBwZXIgSU9NTVUsIHNlY29uZGFyeSBub24tYWRqYWNlbnQKcmVnaW9u
cyB3aXRoIHRoZSBmbGFnIHNldCBhbHJlYWR5IGdldCBjb252ZXJ0ZWQgdG8g
dW5pdHkgbWFwcGVkCnJlZ2lvbnMuKQoKRmlyc3Qgb2YgYWxsLCBkcm9wIHRo
ZSBkZXBlbmRlbmN5IG9uIG1heF9wYWdlLiBXaXRoIGNvbW1pdCBiNGYwNDIy
MzZhZTAKKCJBTUQvSU9NTVU6IENlYXNlIHVzaW5nIGEgZHluYW1pYyBoZWln
aHQgZm9yIHRoZSBJT01NVSBwYWdldGFibGVzIikgdGhlCnVzZSBvZiBpdCBo
ZXJlIHdhcyBzdGFsZSBhbnl3YXk7IGl0IHdhcyBib2d1cyBhbHJlYWR5IGJl
Zm9yZSwgYXMgaXQKZGlkbid0IGFjY291bnQgZm9yIG1heF9wYWdlIGdldHRp
bmcgaW5jcmVhc2VkIGxhdGVyIG9uLiBTaW1wbHkgdHJ5IGFuCmV4Y2x1c2lv
biByYW5nZSByZWdpc3RyYXRpb24gZmlyc3QsIGFuZCBpZiBpdCBmYWlscyAo
Zm9yIGJlaW5nCnVuc3VpdGFibGUgb3Igbm9uLW1lcmdlYWJsZSksIHJlZ2lz
dGVyIGEgdW5pdHkgbWFwcGluZyByYW5nZS4KCldpdGggdGhpcyB2YXJpb3Vz
IGxvY2FsIHZhcmlhYmxlcyBiZWNvbWUgdW5uZWNlc3NhcnkgYW5kIGhlbmNl
IGdldApkcm9wcGVkIGF0IHRoZSBzYW1lIHRpbWUuCgpXaXRoIHRoZSBtYXhf
cGFnZSBib3VuZGFyeSBkcm9wcGVkIGZvciB1c2luZyB1bml0eSBtYXBzLCB0
aGUgbWluaW11bQpwYWdlIHRhYmxlIHRyZWUgaGVpZ2h0IG5vdyBuZWVkcyBi
b3RoIHJlY29yZGluZyBhbmQgZW5mb3JjaW5nIGluCmFtZF9pb21tdV9kb21h
aW5faW5pdCgpLiBTaW5jZSB3ZSBjYW4ndCBwcmVkaWN0IHdoaWNoIGRldmlj
ZXMgbWF5IGdldAphc3NpZ25lZCB0byBhIGRvbWFpbiwgb3VyIG9ubHkgb3B0
aW9uIGlzIHRvIHVuaWZvcm1seSBmb3JjZSBhdCBsZWFzdAp0aGF0IGhlaWdo
dCBmb3IgYWxsIGRvbWFpbnMsIG5vdyB0aGF0IHRoZSBoZWlnaHQgaXNuJ3Qg
ZHluYW1pYyBhbnltb3JlLgoKRnVydGhlciBkb24ndCBtYWtlIHVzZSBvZiB0
aGUgZXhjbHVzaW9uIHJhbmdlIHVubGVzcyBBQ1BJIGRhdGEgc2F5cyBzby4K
Ck5vdGUgdGhhdCBleGNsdXNpb24gcmFuZ2UgcmVnaXN0cmF0aW9uIGluCnJl
Z2lzdGVyX3JhbmdlX2Zvcl9hbGxfZGV2aWNlcygpIGlzIG9uIGEgYmVzdCBl
ZmZvcnQgYmFzaXMuIEhlbmNlIHVuaXR5Cm1hcCBlbnRyaWVzIGFsc28gcmVn
aXN0ZXJlZCBhcmUgcmVkdW5kYW50IHdoZW4gdGhlIGZvcm1lciBzdWNjZWVk
ZWQsIGJ1dAp0aGV5IGFsc28gZG8gbm8gaGFybS4gSW1wcm92ZW1lbnRzIGlu
IHRoaXMgYXJlYSBjYW4gYmUgZG9uZSBsYXRlciBpbW8uCgpBbHNvIGFkanVz
dCB0eXBlcyB3aGVyZSBzdWl0YWJsZSB3aXRob3V0IHRvdWNoaW5nIGV4dHJh
IGxpbmVzLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS0zNzguCgpTaWduZWQtb2Zm
LWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+ClJldmlld2Vk
LWJ5OiBQYXVsIER1cnJhbnQgPHBhdWxAeGVuLm9yZz4KCi0tLSBhL3hlbi9k
cml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21tdV9hY3BpLmMKKysrIGIveGVu
L2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11X2FjcGkuYwpAQCAtOTks
MTIgKzk5LDggQEAgc3RhdGljIHN0cnVjdCBhbWRfaW9tbXUgKiBfX2luaXQg
ZmluZF9pbwogfQogCiBzdGF0aWMgaW50IF9faW5pdCByZXNlcnZlX2lvbW11
X2V4Y2x1c2lvbl9yYW5nZSgKLSAgICBzdHJ1Y3QgYW1kX2lvbW11ICppb21t
dSwgdWludDY0X3QgYmFzZSwgdWludDY0X3QgbGltaXQsCi0gICAgYm9vbCBh
bGwsIGJvb2wgaXcsIGJvb2wgaXIpCisgICAgc3RydWN0IGFtZF9pb21tdSAq
aW9tbXUsIHBhZGRyX3QgYmFzZSwgcGFkZHJfdCBsaW1pdCwgYm9vbCBhbGwp
CiB7Ci0gICAgaWYgKCAhaXIgfHwgIWl3ICkKLSAgICAgICAgcmV0dXJuIC1F
UEVSTTsKLQogICAgIC8qIG5lZWQgdG8gZXh0ZW5kIGV4Y2x1c2lvbiByYW5n
ZT8gKi8KICAgICBpZiAoIGlvbW11LT5leGNsdXNpb25fZW5hYmxlICkKICAg
ICB7CkBAIC0xMzMsMTQgKzEyOSwxOCBAQCBzdGF0aWMgaW50IF9faW5pdCBy
ZXNlcnZlX3VuaXR5X21hcF9mb3JfCiB7CiAgICAgc3RydWN0IGl2cnNfbWFw
cGluZ3MgKml2cnNfbWFwcGluZ3MgPSBnZXRfaXZyc19tYXBwaW5ncyhzZWcp
OwogICAgIHN0cnVjdCBpdnJzX3VuaXR5X21hcCAqdW5pdHlfbWFwID0gaXZy
c19tYXBwaW5nc1tiZGZdLnVuaXR5X21hcDsKKyAgICBpbnQgcGFnaW5nX21v
ZGUgPSBhbWRfaW9tbXVfZ2V0X3BhZ2luZ19tb2RlKFBGTl9VUChiYXNlICsg
bGVuZ3RoKSk7CisKKyAgICBpZiAoIHBhZ2luZ19tb2RlIDwgMCApCisgICAg
ICAgIHJldHVybiBwYWdpbmdfbW9kZTsKIAogICAgIC8qIENoZWNrIGZvciBv
dmVybGFwcy4gKi8KICAgICBmb3IgKCA7IHVuaXR5X21hcDsgdW5pdHlfbWFw
ID0gdW5pdHlfbWFwLT5uZXh0ICkKICAgICB7CiAgICAgICAgIC8qCiAgICAg
ICAgICAqIEV4YWN0IG1hdGNoZXMgYXJlIG9rYXkuIFRoaXMgY2FuIGluIHBh
cnRpY3VsYXIgaGFwcGVuIHdoZW4KLSAgICAgICAgICogcmVnaXN0ZXJfZXhj
bHVzaW9uX3JhbmdlX2Zvcl9kZXZpY2UoKSBjYWxscyBoZXJlIHR3aWNlIGZv
ciB0aGUKLSAgICAgICAgICogc2FtZSAocyxiLGQsZikuCisgICAgICAgICAq
IHJlZ2lzdGVyX3JhbmdlX2Zvcl9kZXZpY2UoKSBjYWxscyBoZXJlIHR3aWNl
IGZvciB0aGUgc2FtZQorICAgICAgICAgKiAocyxiLGQsZikuCiAgICAgICAg
ICAqLwogICAgICAgICBpZiAoIGJhc2UgPT0gdW5pdHlfbWFwLT5hZGRyICYm
IGxlbmd0aCA9PSB1bml0eV9tYXAtPmxlbmd0aCAmJgogICAgICAgICAgICAg
IGlyID09IHVuaXR5X21hcC0+cmVhZCAmJiBpdyA9PSB1bml0eV9tYXAtPndy
aXRlICkKQEAgLTE2OCw1NSArMTY4LDUyIEBAIHN0YXRpYyBpbnQgX19pbml0
IHJlc2VydmVfdW5pdHlfbWFwX2Zvcl8KICAgICB1bml0eV9tYXAtPm5leHQg
PSBpdnJzX21hcHBpbmdzW2JkZl0udW5pdHlfbWFwOwogICAgIGl2cnNfbWFw
cGluZ3NbYmRmXS51bml0eV9tYXAgPSB1bml0eV9tYXA7CiAKKyAgICBpZiAo
IHBhZ2luZ19tb2RlID4gYW1kX2lvbW11X21pbl9wYWdpbmdfbW9kZSApCisg
ICAgICAgIGFtZF9pb21tdV9taW5fcGFnaW5nX21vZGUgPSBwYWdpbmdfbW9k
ZTsKKwogICAgIHJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IF9faW5pdCBy
ZWdpc3Rlcl9leGNsdXNpb25fcmFuZ2VfZm9yX2FsbF9kZXZpY2VzKAotICAg
IHVuc2lnbmVkIGxvbmcgYmFzZSwgdW5zaWduZWQgbG9uZyBsaW1pdCwgdTgg
aXcsIHU4IGlyKQorc3RhdGljIGludCBfX2luaXQgcmVnaXN0ZXJfcmFuZ2Vf
Zm9yX2FsbF9kZXZpY2VzKAorICAgIHBhZGRyX3QgYmFzZSwgcGFkZHJfdCBs
aW1pdCwgYm9vbCBpdywgYm9vbCBpciwgYm9vbCBleGNsdXNpb24pCiB7CiAg
ICAgaW50IHNlZyA9IDA7IC8qIFhYWCAqLwotICAgIHVuc2lnbmVkIGxvbmcg
cmFuZ2VfdG9wLCBpb21tdV90b3AsIGxlbmd0aDsKICAgICBzdHJ1Y3QgYW1k
X2lvbW11ICppb21tdTsKLSAgICB1bnNpZ25lZCBpbnQgYmRmOwogICAgIGlu
dCByYyA9IDA7CiAKICAgICAvKiBpcyBwYXJ0IG9mIGV4Y2x1c2lvbiByYW5n
ZSBpbnNpZGUgb2YgSU9NTVUgdmlydHVhbCBhZGRyZXNzIHNwYWNlPyAqLwog
ICAgIC8qIG5vdGU6ICdsaW1pdCcgcGFyYW1ldGVyIGlzIGFzc3VtZWQgdG8g
YmUgcGFnZS1hbGlnbmVkICovCi0gICAgcmFuZ2VfdG9wID0gbGltaXQgKyBQ
QUdFX1NJWkU7Ci0gICAgaW9tbXVfdG9wID0gbWF4X3BhZ2UgKiBQQUdFX1NJ
WkU7Ci0gICAgaWYgKCBiYXNlIDwgaW9tbXVfdG9wICkKLSAgICB7Ci0gICAg
ICAgIGlmICggcmFuZ2VfdG9wID4gaW9tbXVfdG9wICkKLSAgICAgICAgICAg
IHJhbmdlX3RvcCA9IGlvbW11X3RvcDsKLSAgICAgICAgbGVuZ3RoID0gcmFu
Z2VfdG9wIC0gYmFzZTsKLSAgICAgICAgLyogcmVzZXJ2ZSByL3cgdW5pdHkt
bWFwcGVkIHBhZ2UgZW50cmllcyBmb3IgZGV2aWNlcyAqLwotICAgICAgICAv
KiBub3RlOiB0aGVzZSBlbnRyaWVzIGFyZSBwYXJ0IG9mIHRoZSBleGNsdXNp
b24gcmFuZ2UgKi8KLSAgICAgICAgZm9yICggYmRmID0gMDsgIXJjICYmIGJk
ZiA8IGl2cnNfYmRmX2VudHJpZXM7IGJkZisrICkKLSAgICAgICAgICAgIHJj
ID0gcmVzZXJ2ZV91bml0eV9tYXBfZm9yX2RldmljZShzZWcsIGJkZiwgYmFz
ZSwgbGVuZ3RoLCBpdywgaXIpOwotICAgICAgICAvKiBwdXNoICdiYXNlJyBq
dXN0IG91dHNpZGUgb2YgdmlydHVhbCBhZGRyZXNzIHNwYWNlICovCi0gICAg
ICAgIGJhc2UgPSBpb21tdV90b3A7Ci0gICAgfQotICAgIC8qIHJlZ2lzdGVy
IElPTU1VIGV4Y2x1c2lvbiByYW5nZSBzZXR0aW5ncyAqLwotICAgIGlmICgg
IXJjICYmIGxpbWl0ID49IGlvbW11X3RvcCApCisgICAgaWYgKCBleGNsdXNp
b24gKQogICAgIHsKICAgICAgICAgZm9yX2VhY2hfYW1kX2lvbW11KCBpb21t
dSApCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJjID0gcmVzZXJ2ZV9pb21t
dV9leGNsdXNpb25fcmFuZ2UoaW9tbXUsIGJhc2UsIGxpbWl0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVl
IC8qIGFsbCAqLywgaXcsIGlyKTsKLSAgICAgICAgICAgIGlmICggcmMgKQot
ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgaW50IHJldCA9
IHJlc2VydmVfaW9tbXVfZXhjbHVzaW9uX3JhbmdlKGlvbW11LCBiYXNlLCBs
aW1pdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB0cnVlIC8qIGFsbCAqLyk7CisKKyAgICAgICAgICAg
IGlmICggcmV0ICYmICFyYyApCisgICAgICAgICAgICAgICAgcmMgPSByZXQ7
CiAgICAgICAgIH0KICAgICB9CiAKKyAgICBpZiAoICFleGNsdXNpb24gfHwg
cmMgKQorICAgIHsKKyAgICAgICAgcGFkZHJfdCBsZW5ndGggPSBsaW1pdCAr
IFBBR0VfU0laRSAtIGJhc2U7CisgICAgICAgIHVuc2lnbmVkIGludCBiZGY7
CisKKyAgICAgICAgLyogcmVzZXJ2ZSByL3cgdW5pdHktbWFwcGVkIHBhZ2Ug
ZW50cmllcyBmb3IgZGV2aWNlcyAqLworICAgICAgICBmb3IgKCBiZGYgPSBy
YyA9IDA7ICFyYyAmJiBiZGYgPCBpdnJzX2JkZl9lbnRyaWVzOyBiZGYrKyAp
CisgICAgICAgICAgICByYyA9IHJlc2VydmVfdW5pdHlfbWFwX2Zvcl9kZXZp
Y2Uoc2VnLCBiZGYsIGJhc2UsIGxlbmd0aCwgaXcsIGlyKTsKKyAgICB9CisK
ICAgICByZXR1cm4gcmM7CiB9CiAKLXN0YXRpYyBpbnQgX19pbml0IHJlZ2lz
dGVyX2V4Y2x1c2lvbl9yYW5nZV9mb3JfZGV2aWNlKAotICAgIHUxNiBiZGYs
IHVuc2lnbmVkIGxvbmcgYmFzZSwgdW5zaWduZWQgbG9uZyBsaW1pdCwgdTgg
aXcsIHU4IGlyKQorc3RhdGljIGludCBfX2luaXQgcmVnaXN0ZXJfcmFuZ2Vf
Zm9yX2RldmljZSgKKyAgICB1bnNpZ25lZCBpbnQgYmRmLCBwYWRkcl90IGJh
c2UsIHBhZGRyX3QgbGltaXQsCisgICAgYm9vbCBpdywgYm9vbCBpciwgYm9v
bCBleGNsdXNpb24pCiB7CiAgICAgaW50IHNlZyA9IDA7IC8qIFhYWCAqLwog
ICAgIHN0cnVjdCBpdnJzX21hcHBpbmdzICppdnJzX21hcHBpbmdzID0gZ2V0
X2l2cnNfbWFwcGluZ3Moc2VnKTsKLSAgICB1bnNpZ25lZCBsb25nIHJhbmdl
X3RvcCwgaW9tbXVfdG9wLCBsZW5ndGg7CiAgICAgc3RydWN0IGFtZF9pb21t
dSAqaW9tbXU7CiAgICAgdTE2IHJlcTsKICAgICBpbnQgcmMgPSAwOwpAQCAt
MjMwLDI3ICsyMjcsMTkgQEAgc3RhdGljIGludCBfX2luaXQgcmVnaXN0ZXJf
ZXhjbHVzaW9uX3JhbgogICAgIHJlcSA9IGl2cnNfbWFwcGluZ3NbYmRmXS5k
dGVfcmVxdWVzdG9yX2lkOwogCiAgICAgLyogbm90ZTogJ2xpbWl0JyBwYXJh
bWV0ZXIgaXMgYXNzdW1lZCB0byBiZSBwYWdlLWFsaWduZWQgKi8KLSAgICBy
YW5nZV90b3AgPSBsaW1pdCArIFBBR0VfU0laRTsKLSAgICBpb21tdV90b3Ag
PSBtYXhfcGFnZSAqIFBBR0VfU0laRTsKLSAgICBpZiAoIGJhc2UgPCBpb21t
dV90b3AgKQotICAgIHsKLSAgICAgICAgaWYgKCByYW5nZV90b3AgPiBpb21t
dV90b3AgKQotICAgICAgICAgICAgcmFuZ2VfdG9wID0gaW9tbXVfdG9wOwot
ICAgICAgICBsZW5ndGggPSByYW5nZV90b3AgLSBiYXNlOworICAgIGlmICgg
ZXhjbHVzaW9uICkKKyAgICAgICAgcmMgPSByZXNlcnZlX2lvbW11X2V4Y2x1
c2lvbl9yYW5nZShpb21tdSwgYmFzZSwgbGltaXQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgLyogYWxsICov
KTsKKyAgICBpZiAoICFleGNsdXNpb24gfHwgcmMgKQorICAgIHsKKyAgICAg
ICAgcGFkZHJfdCBsZW5ndGggPSBsaW1pdCArIFBBR0VfU0laRSAtIGJhc2U7
CisKICAgICAgICAgLyogcmVzZXJ2ZSB1bml0eS1tYXBwZWQgcGFnZSBlbnRy
aWVzIGZvciBkZXZpY2UgKi8KLSAgICAgICAgLyogbm90ZTogdGhlc2UgZW50
cmllcyBhcmUgcGFydCBvZiB0aGUgZXhjbHVzaW9uIHJhbmdlICovCiAgICAg
ICAgIHJjID0gcmVzZXJ2ZV91bml0eV9tYXBfZm9yX2RldmljZShzZWcsIGJk
ZiwgYmFzZSwgbGVuZ3RoLCBpdywgaXIpID86CiAgICAgICAgICAgICAgcmVz
ZXJ2ZV91bml0eV9tYXBfZm9yX2RldmljZShzZWcsIHJlcSwgYmFzZSwgbGVu
Z3RoLCBpdywgaXIpOwotCi0gICAgICAgIC8qIHB1c2ggJ2Jhc2UnIGp1c3Qg
b3V0c2lkZSBvZiB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2UgKi8KLSAgICAgICAg
YmFzZSA9IGlvbW11X3RvcDsKICAgICB9Ci0KLSAgICAvKiByZWdpc3RlciBJ
T01NVSBleGNsdXNpb24gcmFuZ2Ugc2V0dGluZ3MgZm9yIGRldmljZSAqLwot
ICAgIGlmICggIXJjICYmIGxpbWl0ID49IGlvbW11X3RvcCAgKQorICAgIGVs
c2UKICAgICB7Ci0gICAgICAgIHJjID0gcmVzZXJ2ZV9pb21tdV9leGNsdXNp
b25fcmFuZ2UoaW9tbXUsIGJhc2UsIGxpbWl0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlIC8qIGFsbCAqLywg
aXcsIGlyKTsKICAgICAgICAgaXZyc19tYXBwaW5nc1tiZGZdLmR0ZV9hbGxv
d19leGNsdXNpb24gPSBJT01NVV9DT05UUk9MX0VOQUJMRUQ7CiAgICAgICAg
IGl2cnNfbWFwcGluZ3NbcmVxXS5kdGVfYWxsb3dfZXhjbHVzaW9uID0gSU9N
TVVfQ09OVFJPTF9FTkFCTEVEOwogICAgIH0KQEAgLTI1OCw1MyArMjQ3LDQy
IEBAIHN0YXRpYyBpbnQgX19pbml0IHJlZ2lzdGVyX2V4Y2x1c2lvbl9yYW4K
ICAgICByZXR1cm4gcmM7CiB9CiAKLXN0YXRpYyBpbnQgX19pbml0IHJlZ2lz
dGVyX2V4Y2x1c2lvbl9yYW5nZV9mb3JfaW9tbXVfZGV2aWNlcygKLSAgICBz
dHJ1Y3QgYW1kX2lvbW11ICppb21tdSwKLSAgICB1bnNpZ25lZCBsb25nIGJh
c2UsIHVuc2lnbmVkIGxvbmcgbGltaXQsIHU4IGl3LCB1OCBpcikKK3N0YXRp
YyBpbnQgX19pbml0IHJlZ2lzdGVyX3JhbmdlX2Zvcl9pb21tdV9kZXZpY2Vz
KAorICAgIHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LCBwYWRkcl90IGJhc2Us
IHBhZGRyX3QgbGltaXQsCisgICAgYm9vbCBpdywgYm9vbCBpciwgYm9vbCBl
eGNsdXNpb24pCiB7Ci0gICAgdW5zaWduZWQgbG9uZyByYW5nZV90b3AsIGlv
bW11X3RvcCwgbGVuZ3RoOworICAgIC8qIG5vdGU6ICdsaW1pdCcgcGFyYW1l
dGVyIGlzIGFzc3VtZWQgdG8gYmUgcGFnZS1hbGlnbmVkICovCisgICAgcGFk
ZHJfdCBsZW5ndGggPSBsaW1pdCArIFBBR0VfU0laRSAtIGJhc2U7CiAgICAg
dW5zaWduZWQgaW50IGJkZjsKICAgICB1MTYgcmVxOwotICAgIGludCByYyA9
IDA7CisgICAgaW50IHJjOwogCi0gICAgLyogaXMgcGFydCBvZiBleGNsdXNp
b24gcmFuZ2UgaW5zaWRlIG9mIElPTU1VIHZpcnR1YWwgYWRkcmVzcyBzcGFj
ZT8gKi8KLSAgICAvKiBub3RlOiAnbGltaXQnIHBhcmFtZXRlciBpcyBhc3N1
bWVkIHRvIGJlIHBhZ2UtYWxpZ25lZCAqLwotICAgIHJhbmdlX3RvcCA9IGxp
bWl0ICsgUEFHRV9TSVpFOwotICAgIGlvbW11X3RvcCA9IG1heF9wYWdlICog
UEFHRV9TSVpFOwotICAgIGlmICggYmFzZSA8IGlvbW11X3RvcCApCi0gICAg
ewotICAgICAgICBpZiAoIHJhbmdlX3RvcCA+IGlvbW11X3RvcCApCi0gICAg
ICAgICAgICByYW5nZV90b3AgPSBpb21tdV90b3A7Ci0gICAgICAgIGxlbmd0
aCA9IHJhbmdlX3RvcCAtIGJhc2U7Ci0gICAgICAgIC8qIHJlc2VydmUgci93
IHVuaXR5LW1hcHBlZCBwYWdlIGVudHJpZXMgZm9yIGRldmljZXMgKi8KLSAg
ICAgICAgLyogbm90ZTogdGhlc2UgZW50cmllcyBhcmUgcGFydCBvZiB0aGUg
ZXhjbHVzaW9uIHJhbmdlICovCi0gICAgICAgIGZvciAoIGJkZiA9IDA7ICFy
YyAmJiBiZGYgPCBpdnJzX2JkZl9lbnRyaWVzOyBiZGYrKyApCi0gICAgICAg
IHsKLSAgICAgICAgICAgIGlmICggaW9tbXUgPT0gZmluZF9pb21tdV9mb3Jf
ZGV2aWNlKGlvbW11LT5zZWcsIGJkZikgKQotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgIHJlcSA9IGdldF9pdnJzX21hcHBpbmdzKGlvbW11LT5z
ZWcpW2JkZl0uZHRlX3JlcXVlc3Rvcl9pZDsKLSAgICAgICAgICAgICAgICBy
YyA9IHJlc2VydmVfdW5pdHlfbWFwX2Zvcl9kZXZpY2UoaW9tbXUtPnNlZywg
YmRmLCBiYXNlLCBsZW5ndGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGl3LCBpcikgPzoKLSAgICAgICAg
ICAgICAgICAgICAgIHJlc2VydmVfdW5pdHlfbWFwX2Zvcl9kZXZpY2UoaW9t
bXUtPnNlZywgcmVxLCBiYXNlLCBsZW5ndGgsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl3LCBpcik7Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgIH0KLQotICAgICAgICAvKiBwdXNoICdi
YXNlJyBqdXN0IG91dHNpZGUgb2YgdmlydHVhbCBhZGRyZXNzIHNwYWNlICov
Ci0gICAgICAgIGJhc2UgPSBpb21tdV90b3A7CisgICAgaWYgKCBleGNsdXNp
b24gKQorICAgIHsKKyAgICAgICAgcmMgPSByZXNlcnZlX2lvbW11X2V4Y2x1
c2lvbl9yYW5nZShpb21tdSwgYmFzZSwgbGltaXQsIHRydWUgLyogYWxsICov
KTsKKyAgICAgICAgaWYgKCAhcmMgKQorICAgICAgICAgICAgcmV0dXJuIDA7
CiAgICAgfQogCi0gICAgLyogcmVnaXN0ZXIgSU9NTVUgZXhjbHVzaW9uIHJh
bmdlIHNldHRpbmdzICovCi0gICAgaWYgKCAhcmMgJiYgbGltaXQgPj0gaW9t
bXVfdG9wICkKLSAgICAgICAgcmMgPSByZXNlcnZlX2lvbW11X2V4Y2x1c2lv
bl9yYW5nZShpb21tdSwgYmFzZSwgbGltaXQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAvKiBhbGwgKi8sIGl3
LCBpcik7CisgICAgLyogcmVzZXJ2ZSB1bml0eS1tYXBwZWQgcGFnZSBlbnRy
aWVzIGZvciBkZXZpY2VzICovCisgICAgZm9yICggYmRmID0gcmMgPSAwOyAh
cmMgJiYgYmRmIDwgaXZyc19iZGZfZW50cmllczsgYmRmKysgKQorICAgIHsK
KyAgICAgICAgaWYgKCBpb21tdSAhPSBmaW5kX2lvbW11X2Zvcl9kZXZpY2Uo
aW9tbXUtPnNlZywgYmRmKSApCisgICAgICAgICAgICBjb250aW51ZTsKKwor
ICAgICAgICByZXEgPSBnZXRfaXZyc19tYXBwaW5ncyhpb21tdS0+c2VnKVti
ZGZdLmR0ZV9yZXF1ZXN0b3JfaWQ7CisgICAgICAgIHJjID0gcmVzZXJ2ZV91
bml0eV9tYXBfZm9yX2RldmljZShpb21tdS0+c2VnLCBiZGYsIGJhc2UsIGxl
bmd0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGl3LCBpcikgPzoKKyAgICAgICAgICAgICByZXNlcnZlX3VuaXR5X21h
cF9mb3JfZGV2aWNlKGlvbW11LT5zZWcsIHJlcSwgYmFzZSwgbGVuZ3RoLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXcs
IGlyKTsKKyAgICB9CiAKICAgICByZXR1cm4gcmM7CiB9CiAKIHN0YXRpYyBp
bnQgX19pbml0IHBhcnNlX2l2bWRfZGV2aWNlX3NlbGVjdCgKICAgICBjb25z
dCBzdHJ1Y3QgYWNwaV9pdnJzX21lbW9yeSAqaXZtZF9ibG9jaywKLSAgICB1
bnNpZ25lZCBsb25nIGJhc2UsIHVuc2lnbmVkIGxvbmcgbGltaXQsIHU4IGl3
LCB1OCBpcikKKyAgICBwYWRkcl90IGJhc2UsIHBhZGRyX3QgbGltaXQsIGJv
b2wgaXcsIGJvb2wgaXIsIGJvb2wgZXhjbHVzaW9uKQogewogICAgIHUxNiBi
ZGY7CiAKQEAgLTMxNSwxMiArMjkzLDEyIEBAIHN0YXRpYyBpbnQgX19pbml0
IHBhcnNlX2l2bWRfZGV2aWNlX3NlbGUKICAgICAgICAgcmV0dXJuIC1FTk9E
RVY7CiAgICAgfQogCi0gICAgcmV0dXJuIHJlZ2lzdGVyX2V4Y2x1c2lvbl9y
YW5nZV9mb3JfZGV2aWNlKGJkZiwgYmFzZSwgbGltaXQsIGl3LCBpcik7Cisg
ICAgcmV0dXJuIHJlZ2lzdGVyX3JhbmdlX2Zvcl9kZXZpY2UoYmRmLCBiYXNl
LCBsaW1pdCwgaXcsIGlyLCBleGNsdXNpb24pOwogfQogCiBzdGF0aWMgaW50
IF9faW5pdCBwYXJzZV9pdm1kX2RldmljZV9yYW5nZSgKICAgICBjb25zdCBz
dHJ1Y3QgYWNwaV9pdnJzX21lbW9yeSAqaXZtZF9ibG9jaywKLSAgICB1bnNp
Z25lZCBsb25nIGJhc2UsIHVuc2lnbmVkIGxvbmcgbGltaXQsIHU4IGl3LCB1
OCBpcikKKyAgICBwYWRkcl90IGJhc2UsIHBhZGRyX3QgbGltaXQsIGJvb2wg
aXcsIGJvb2wgaXIsIGJvb2wgZXhjbHVzaW9uKQogewogICAgIHVuc2lnbmVk
IGludCBmaXJzdF9iZGYsIGxhc3RfYmRmLCBiZGY7CiAgICAgaW50IGVycm9y
OwpAQCAtMzQyLDE1ICszMjAsMTUgQEAgc3RhdGljIGludCBfX2luaXQgcGFy
c2VfaXZtZF9kZXZpY2VfcmFuZwogICAgIH0KIAogICAgIGZvciAoIGJkZiA9
IGZpcnN0X2JkZiwgZXJyb3IgPSAwOyAoYmRmIDw9IGxhc3RfYmRmKSAmJiAh
ZXJyb3I7IGJkZisrICkKLSAgICAgICAgZXJyb3IgPSByZWdpc3Rlcl9leGNs
dXNpb25fcmFuZ2VfZm9yX2RldmljZSgKLSAgICAgICAgICAgIGJkZiwgYmFz
ZSwgbGltaXQsIGl3LCBpcik7CisgICAgICAgIGVycm9yID0gcmVnaXN0ZXJf
cmFuZ2VfZm9yX2RldmljZSgKKyAgICAgICAgICAgIGJkZiwgYmFzZSwgbGlt
aXQsIGl3LCBpciwgZXhjbHVzaW9uKTsKIAogICAgIHJldHVybiBlcnJvcjsK
IH0KIAogc3RhdGljIGludCBfX2luaXQgcGFyc2VfaXZtZF9kZXZpY2VfaW9t
bXUoCiAgICAgY29uc3Qgc3RydWN0IGFjcGlfaXZyc19tZW1vcnkgKml2bWRf
YmxvY2ssCi0gICAgdW5zaWduZWQgbG9uZyBiYXNlLCB1bnNpZ25lZCBsb25n
IGxpbWl0LCB1OCBpdywgdTggaXIpCisgICAgcGFkZHJfdCBiYXNlLCBwYWRk
cl90IGxpbWl0LCBib29sIGl3LCBib29sIGlyLCBib29sIGV4Y2x1c2lvbikK
IHsKICAgICBpbnQgc2VnID0gMDsgLyogWFhYICovCiAgICAgc3RydWN0IGFt
ZF9pb21tdSAqaW9tbXU7CkBAIC0zNjUsMTQgKzM0MywxNCBAQCBzdGF0aWMg
aW50IF9faW5pdCBwYXJzZV9pdm1kX2RldmljZV9pb21tCiAgICAgICAgIHJl
dHVybiAtRU5PREVWOwogICAgIH0KIAotICAgIHJldHVybiByZWdpc3Rlcl9l
eGNsdXNpb25fcmFuZ2VfZm9yX2lvbW11X2RldmljZXMoCi0gICAgICAgIGlv
bW11LCBiYXNlLCBsaW1pdCwgaXcsIGlyKTsKKyAgICByZXR1cm4gcmVnaXN0
ZXJfcmFuZ2VfZm9yX2lvbW11X2RldmljZXMoCisgICAgICAgIGlvbW11LCBi
YXNlLCBsaW1pdCwgaXcsIGlyLCBleGNsdXNpb24pOwogfQogCiBzdGF0aWMg
aW50IF9faW5pdCBwYXJzZV9pdm1kX2Jsb2NrKGNvbnN0IHN0cnVjdCBhY3Bp
X2l2cnNfbWVtb3J5ICppdm1kX2Jsb2NrKQogewogICAgIHVuc2lnbmVkIGxv
bmcgc3RhcnRfYWRkciwgbWVtX2xlbmd0aCwgYmFzZSwgbGltaXQ7Ci0gICAg
dTggaXcsIGlyOworICAgIGJvb2wgaXcgPSB0cnVlLCBpciA9IHRydWUsIGV4
Y2x1c2lvbiA9IGZhbHNlOwogCiAgICAgaWYgKCBpdm1kX2Jsb2NrLT5oZWFk
ZXIubGVuZ3RoIDwgc2l6ZW9mKCppdm1kX2Jsb2NrKSApCiAgICAgewpAQCAt
Mzg5LDEzICszNjcsMTEgQEAgc3RhdGljIGludCBfX2luaXQgcGFyc2VfaXZt
ZF9ibG9jayhjb25zdAogICAgICAgICAgICAgICAgICAgICBpdm1kX2Jsb2Nr
LT5oZWFkZXIudHlwZSwgc3RhcnRfYWRkciwgbWVtX2xlbmd0aCk7CiAKICAg
ICBpZiAoIGl2bWRfYmxvY2stPmhlYWRlci5mbGFncyAmIEFDUElfSVZNRF9F
WENMVVNJT05fUkFOR0UgKQotICAgICAgICBpdyA9IGlyID0gSU9NTVVfQ09O
VFJPTF9FTkFCTEVEOworICAgICAgICBleGNsdXNpb24gPSB0cnVlOwogICAg
IGVsc2UgaWYgKCBpdm1kX2Jsb2NrLT5oZWFkZXIuZmxhZ3MgJiBBQ1BJX0lW
TURfVU5JVFkgKQogICAgIHsKLSAgICAgICAgaXcgPSBpdm1kX2Jsb2NrLT5o
ZWFkZXIuZmxhZ3MgJiBBQ1BJX0lWTURfUkVBRCA/Ci0gICAgICAgICAgICBJ
T01NVV9DT05UUk9MX0VOQUJMRUQgOiBJT01NVV9DT05UUk9MX0RJU0FCTEVE
OwotICAgICAgICBpciA9IGl2bWRfYmxvY2stPmhlYWRlci5mbGFncyAmIEFD
UElfSVZNRF9XUklURSA/Ci0gICAgICAgICAgICBJT01NVV9DT05UUk9MX0VO
QUJMRUQgOiBJT01NVV9DT05UUk9MX0RJU0FCTEVEOworICAgICAgICBpdyA9
IGl2bWRfYmxvY2stPmhlYWRlci5mbGFncyAmIEFDUElfSVZNRF9SRUFEOwor
ICAgICAgICBpciA9IGl2bWRfYmxvY2stPmhlYWRlci5mbGFncyAmIEFDUElf
SVZNRF9XUklURTsKICAgICB9CiAgICAgZWxzZQogICAgIHsKQEAgLTQwNiwy
MCArMzgyLDIwIEBAIHN0YXRpYyBpbnQgX19pbml0IHBhcnNlX2l2bWRfYmxv
Y2soY29uc3QKICAgICBzd2l0Y2goIGl2bWRfYmxvY2stPmhlYWRlci50eXBl
ICkKICAgICB7CiAgICAgY2FzZSBBQ1BJX0lWUlNfVFlQRV9NRU1PUllfQUxM
OgotICAgICAgICByZXR1cm4gcmVnaXN0ZXJfZXhjbHVzaW9uX3JhbmdlX2Zv
cl9hbGxfZGV2aWNlcygKLSAgICAgICAgICAgIGJhc2UsIGxpbWl0LCBpdywg
aXIpOworICAgICAgICByZXR1cm4gcmVnaXN0ZXJfcmFuZ2VfZm9yX2FsbF9k
ZXZpY2VzKAorICAgICAgICAgICAgYmFzZSwgbGltaXQsIGl3LCBpciwgZXhj
bHVzaW9uKTsKIAogICAgIGNhc2UgQUNQSV9JVlJTX1RZUEVfTUVNT1JZX09O
RToKLSAgICAgICAgcmV0dXJuIHBhcnNlX2l2bWRfZGV2aWNlX3NlbGVjdChp
dm1kX2Jsb2NrLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGJhc2UsIGxpbWl0LCBpdywgaXIpOworICAgICAgICByZXR1cm4g
cGFyc2VfaXZtZF9kZXZpY2Vfc2VsZWN0KGl2bWRfYmxvY2ssIGJhc2UsIGxp
bWl0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGl3LCBpciwgZXhjbHVzaW9uKTsKIAogICAgIGNhc2UgQUNQSV9JVlJTX1RZ
UEVfTUVNT1JZX1JBTkdFOgotICAgICAgICByZXR1cm4gcGFyc2VfaXZtZF9k
ZXZpY2VfcmFuZ2UoaXZtZF9ibG9jaywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGJhc2UsIGxpbWl0LCBpdywgaXIpOworICAg
ICAgICByZXR1cm4gcGFyc2VfaXZtZF9kZXZpY2VfcmFuZ2UoaXZtZF9ibG9j
aywgYmFzZSwgbGltaXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpdywgaXIsIGV4Y2x1c2lvbik7CiAKICAgICBjYXNlIEFD
UElfSVZSU19UWVBFX01FTU9SWV9JT01NVToKLSAgICAgICAgcmV0dXJuIHBh
cnNlX2l2bWRfZGV2aWNlX2lvbW11KGl2bWRfYmxvY2ssCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlLCBsaW1pdCwgaXcs
IGlyKTsKKyAgICAgICAgcmV0dXJuIHBhcnNlX2l2bWRfZGV2aWNlX2lvbW11
KGl2bWRfYmxvY2ssIGJhc2UsIGxpbWl0LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaXcsIGlyLCBleGNsdXNpb24pOwogCiAg
ICAgZGVmYXVsdDoKICAgICAgICAgQU1EX0lPTU1VX0RFQlVHKCJJVk1EIEVy
cm9yOiBJbnZhbGlkIEJsb2NrIFR5cGUhXG4iKTsKLS0tIGEveGVuL2RyaXZl
cnMvcGFzc3Rocm91Z2gvYW1kL3BjaV9hbWRfaW9tbXUuYworKysgYi94ZW4v
ZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvcGNpX2FtZF9pb21tdS5jCkBAIC0y
MTgsNiArMjE4LDggQEAgc3RhdGljIGludCBfX211c3RfY2hlY2sgYWxsb2Nh
dGVfZG9tYWluXwogICAgIHJldHVybiByYzsKIH0KIAoraW50IF9fcmVhZF9t
b3N0bHkgYW1kX2lvbW11X21pbl9wYWdpbmdfbW9kZSA9IDE7CisKIHN0YXRp
YyBpbnQgYW1kX2lvbW11X2RvbWFpbl9pbml0KHN0cnVjdCBkb21haW4gKmQp
CiB7CiAgICAgc3RydWN0IGRvbWFpbl9pb21tdSAqaGQgPSBkb21faW9tbXUo
ZCk7CkBAIC0yMjksMTEgKzIzMSwxMyBAQCBzdGF0aWMgaW50IGFtZF9pb21t
dV9kb21haW5faW5pdChzdHJ1Y3QKICAgICAgKiAtIEhWTSBjb3VsZCBpbiBw
cmluY2lwbGUgdXNlIDMgb3IgNCBkZXBlbmRpbmcgb24gaG93IG11Y2ggZ3Vl
c3QKICAgICAgKiAgIHBoeXNpY2FsIGFkZHJlc3Mgc3BhY2Ugd2UgZ2l2ZSBp
dCwgYnV0IHRoaXMgaXNuJ3Qga25vd24geWV0IHNvIHVzZSA0CiAgICAgICog
ICB1bmlsYXRlcmFsbHkuCisgICAgICogLSBVbml0eSBtYXBzIG1heSByZXF1
aXJlIGFuIGV2ZW4gaGlnaGVyIG51bWJlci4KICAgICAgKi8KLSAgICBoZC0+
YXJjaC5wYWdpbmdfbW9kZSA9IGFtZF9pb21tdV9nZXRfcGFnaW5nX21vZGUo
Ci0gICAgICAgIGlzX2h2bV9kb21haW4oZCkKLSAgICAgICAgPyAxdWwgPDwg
KERFRkFVTFRfRE9NQUlOX0FERFJFU1NfV0lEVEggLSBQQUdFX1NISUZUKQot
ICAgICAgICA6IGdldF91cHBlcl9tZm5fYm91bmQoKSArIDEpOworICAgIGhk
LT5hcmNoLnBhZ2luZ19tb2RlID0gbWF4KGFtZF9pb21tdV9nZXRfcGFnaW5n
X21vZGUoCisgICAgICAgICAgICBpc19odm1fZG9tYWluKGQpCisgICAgICAg
ICAgICA/IDF1bCA8PCAoREVGQVVMVF9ET01BSU5fQUREUkVTU19XSURUSCAt
IFBBR0VfU0hJRlQpCisgICAgICAgICAgICA6IGdldF91cHBlcl9tZm5fYm91
bmQoKSArIDEpLAorICAgICAgICBhbWRfaW9tbXVfbWluX3BhZ2luZ19tb2Rl
KTsKIAogICAgIHJldHVybiAwOwogfQotLS0gYS94ZW4vaW5jbHVkZS9hc20t
eDg2L2h2bS9zdm0vYW1kLWlvbW11LXByb3RvLmgKKysrIGIveGVuL2luY2x1
ZGUvYXNtLXg4Ni9odm0vc3ZtL2FtZC1pb21tdS1wcm90by5oCkBAIC0xMjYs
NiArMTI2LDggQEAgZXh0ZXJuIHN0cnVjdCBocGV0X3NiZGYgewogICAgIH0g
aW5pdDsKIH0gaHBldF9zYmRmOwogCitleHRlcm4gaW50IGFtZF9pb21tdV9t
aW5fcGFnaW5nX21vZGU7CisKIGV4dGVybiB2b2lkICpzaGFyZWRfaW50cmVt
YXBfdGFibGU7CiBleHRlcm4gdW5zaWduZWQgbG9uZyAqc2hhcmVkX2ludHJl
bWFwX2ludXNlOwogCg==

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.11-7.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.11-7.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvcDJtOiBpbnRyb2R1Y2UgcDJtX2lzX3NwZWNpYWwoKQoKU2VlaW5n
IHRoZSBzaW1pbGFyaXR5IG9mIGdyYW50LCBmb3JlaWduLCBhbmQgKHN1YnNl
cXVlbnRseSkgZGlyZWN0LU1NSU8KaGFuZGxpbmcsIGludHJvZHVjZSBhIG5l
dyBQMk0gdHlwZSBncm91cCBuYW1lZCAic3BlY2lhbCIgKGFzIGluICJuZWVk
aW5nCnNwZWNpYWwgYWNjZXNzb3JzIHRvIGNyZWF0ZS9kZXN0cm95IikuCgpB
bHNvIHVzZSAtRVBFUk0gaW5zdGVhZCBvZiBvdGhlciBlcnJvciBjb2RlcyBv
biB0aGUgdHdvIGRvbWFpbl9jcmFzaCgpCnBhdGhzIHRvdWNoZWQuCgpUaGlz
IGlzIHBhcnQgb2YgWFNBLTM3OC4KClNpZ25lZC1vZmYtYnk6IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFBhdWwgRHVy
cmFudCA8cGF1bEB4ZW4ub3JnPgoKLS0tIGEveGVuL2FyY2gveDg2L21tL3Ay
bS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYwpAQCAtNzM2LDcgKzcz
Niw3IEBAIHAybV9yZW1vdmVfcGFnZShzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJt
LAogICAgICAgICBmb3IgKCBpID0gMDsgaSA8ICgxVUwgPDwgcGFnZV9vcmRl
cik7IGkrKyApCiAgICAgICAgIHsKICAgICAgICAgICAgIHAybS0+Z2V0X2Vu
dHJ5KHAybSwgZ2ZuX2FkZChnZm4sIGkpLCAmdCwgJmEsIDAsIE5VTEwsIE5V
TEwpOwotICAgICAgICAgICAgaWYgKCAhcDJtX2lzX2dyYW50KHQpICYmICFw
Mm1faXNfc2hhcmVkKHQpICYmICFwMm1faXNfZm9yZWlnbih0KSApCisgICAg
ICAgICAgICBpZiAoICFwMm1faXNfc3BlY2lhbCh0KSAmJiAhcDJtX2lzX3No
YXJlZCh0KSApCiAgICAgICAgICAgICAgICAgc2V0X2dwZm5fZnJvbV9tZm4o
bWZuK2ksIElOVkFMSURfTTJQX0VOVFJZKTsKICAgICAgICAgfQogICAgIH0K
QEAgLTg0OCwxMyArODQ4LDEzIEBAIGd1ZXN0X3BoeXNtYXBfYWRkX2VudHJ5
KHN0cnVjdCBkb21haW4gKmQKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAmb3QsICZhLCAwLCBOVUxMLCBOVUxMKTsKICAgICAgICAgICAg
IEFTU0VSVCghcDJtX2lzX3NoYXJlZChvdCkpOwogICAgICAgICB9Ci0gICAg
ICAgIGlmICggcDJtX2lzX2dyYW50KG90KSB8fCBwMm1faXNfZm9yZWlnbihv
dCkgKQorICAgICAgICBpZiAoIHAybV9pc19zcGVjaWFsKG90KSApCiAgICAg
ICAgIHsKLSAgICAgICAgICAgIC8qIFJlYWxseSBzaG91bGRuJ3QgYmUgdW5t
YXBwaW5nIGdyYW50L2ZvcmVpZ24gbWFwcyB0aGlzIHdheSAqLworICAgICAg
ICAgICAgLyogRG9uJ3QgcGVybWl0IHVubWFwcGluZyBncmFudC9mb3JlaWdu
IHRoaXMgd2F5LiAqLwogICAgICAgICAgICAgZG9tYWluX2NyYXNoKGQpOwog
ICAgICAgICAgICAgcDJtX3VubG9jayhwMm0pOwogICAgICAgICAgICAgCi0g
ICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKKyAgICAgICAgICAgIHJldHVy
biAtRVBFUk07CiAgICAgICAgIH0KICAgICAgICAgZWxzZSBpZiAoIHAybV9p
c19yYW0ob3QpICYmICFwMm1faXNfcGFnZWQob3QpICkKICAgICAgICAgewpA
QCAtOTQ3LDggKzk0Nyw3IEBAIGludCBwMm1fY2hhbmdlX3R5cGVfb25lKHN0
cnVjdCBkb21haW4gKmQKICAgICBzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtID0g
cDJtX2dldF9ob3N0cDJtKGQpOwogICAgIGludCByYzsKIAotICAgIEJVR19P
TihwMm1faXNfZ3JhbnQob3QpIHx8IHAybV9pc19ncmFudChudCkpOwotICAg
IEJVR19PTihwMm1faXNfZm9yZWlnbihvdCkgfHwgcDJtX2lzX2ZvcmVpZ24o
bnQpKTsKKyAgICBCVUdfT04ocDJtX2lzX3NwZWNpYWwob3QpIHx8IHAybV9p
c19zcGVjaWFsKG50KSk7CiAKICAgICBnZm5fbG9jayhwMm0sIGdmbiwgMCk7
CiAKQEAgLTEwOTEsMTEgKzEwOTAsMTEgQEAgc3RhdGljIGludCBzZXRfdHlw
ZWRfcDJtX2VudHJ5KHN0cnVjdCBkbwogICAgICAgICBnZm5fdW5sb2NrKHAy
bSwgZ2ZuLCBvcmRlcik7CiAgICAgICAgIHJldHVybiBjdXJfb3JkZXIgKyAx
OwogICAgIH0KLSAgICBpZiAoIHAybV9pc19ncmFudChvdCkgfHwgcDJtX2lz
X2ZvcmVpZ24ob3QpICkKKyAgICBpZiAoIHAybV9pc19zcGVjaWFsKG90KSAp
CiAgICAgewogICAgICAgICBnZm5fdW5sb2NrKHAybSwgZ2ZuLCBvcmRlcik7
CiAgICAgICAgIGRvbWFpbl9jcmFzaChkKTsKLSAgICAgICAgcmV0dXJuIC1F
Tk9FTlQ7CisgICAgICAgIHJldHVybiAtRVBFUk07CiAgICAgfQogICAgIGVs
c2UgaWYgKCBwMm1faXNfcmFtKG90KSApCiAgICAgewotLS0gYS94ZW4vaW5j
bHVkZS9hc20teDg2L3AybS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYv
cDJtLmgKQEAgLTE0Miw2ICsxNDIsMTAgQEAgdHlwZWRlZiB1bnNpZ25lZCBp
bnQgcDJtX3F1ZXJ5X3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fCBwMm1fdG9fbWFzayhwMm1fcmFtX2xvZ2RpcnR5KSApCiAjZGVmaW5lIFAy
TV9TSEFSRURfVFlQRVMgICAocDJtX3RvX21hc2socDJtX3JhbV9zaGFyZWQp
KQogCisvKiBUeXBlcyBlc3RhYmxpc2hlZC9jbGVhbmVkIHVwIHZpYSBzcGVj
aWFsIGFjY2Vzc29ycy4gKi8KKyNkZWZpbmUgUDJNX1NQRUNJQUxfVFlQRVMg
KFAyTV9HUkFOVF9UWVBFUyB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHAybV90b19tYXNrKHAybV9tYXBfZm9yZWlnbikpCisKIC8qIFZhbGlk
IHR5cGVzIG5vdCBuZWNlc3NhcmlseSBhc3NvY2lhdGVkIHdpdGggYSAodmFs
aWQpIE1GTi4gKi8KICNkZWZpbmUgUDJNX0lOVkFMSURfTUZOX1RZUEVTIChQ
Mk1fUE9EX1RZUEVTICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHwgcDJtX3RvX21hc2socDJtX21taW9fZGly
ZWN0KSBcCkBAIC0xNzAsNiArMTc0LDcgQEAgdHlwZWRlZiB1bnNpZ25lZCBp
bnQgcDJtX3F1ZXJ5X3Q7CiAjZGVmaW5lIHAybV9pc19wYWdlZChfdCkgICAg
KHAybV90b19tYXNrKF90KSAmIFAyTV9QQUdFRF9UWVBFUykKICNkZWZpbmUg
cDJtX2lzX3NoYXJhYmxlKF90KSAocDJtX3RvX21hc2soX3QpICYgUDJNX1NI
QVJBQkxFX1RZUEVTKQogI2RlZmluZSBwMm1faXNfc2hhcmVkKF90KSAgIChw
Mm1fdG9fbWFzayhfdCkgJiBQMk1fU0hBUkVEX1RZUEVTKQorI2RlZmluZSBw
Mm1faXNfc3BlY2lhbChfdCkgIChwMm1fdG9fbWFzayhfdCkgJiBQMk1fU1BF
Q0lBTF9UWVBFUykKICNkZWZpbmUgcDJtX2lzX2Jyb2tlbihfdCkgICAocDJt
X3RvX21hc2soX3QpICYgUDJNX0JST0tFTl9UWVBFUykKICNkZWZpbmUgcDJt
X2lzX2ZvcmVpZ24oX3QpICAocDJtX3RvX21hc2soX3QpICYgcDJtX3RvX21h
c2socDJtX21hcF9mb3JlaWduKSkKIAo=

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.11-8.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.11-8.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvcDJtOiBndWFyZCAoaW4gcGFydGljdWxhcikgaWRlbnRpdHkgbWFw
cGluZyBlbnRyaWVzCgpTdWNoIGVudHJpZXMsIGNyZWF0ZWQgYnkgc2V0X2lk
ZW50aXR5X3AybV9lbnRyeSgpLCBzaG91bGQgb25seSBiZQpkZXN0cm95ZWQg
YnkgY2xlYXJfaWRlbnRpdHlfcDJtX2VudHJ5KCkuIEhvd2V2ZXIsIHNpbWls
YXJseSwgZW50cmllcwpjcmVhdGVkIGJ5IHNldF9tbWlvX3AybV9lbnRyeSgp
IHNob3VsZCBvbmx5IGJlIHRvcm4gZG93biBieQpjbGVhcl9tbWlvX3AybV9l
bnRyeSgpLCBzbyB0aGUgbG9naWMgZ2V0cyBiYXNlZCB1cG9uIHAybV9tbWlv
X2RpcmVjdCBhcwp0aGUgZW50cnkgdHlwZSAoc2VwYXJhdGlvbiBiZXR3ZWVu
ICJvcmRpbmFyeSIgYW5kIDE6MSBtYXBwaW5ncyB3b3VsZApyZXF1aXJlIGEg
ZnVydGhlciBpbmRpY2F0b3IgdG8gdGVsbCBhcGFydCB0aGUgdHdvKS4KCkFz
IHRvIHRoZSBndWVzdF9yZW1vdmVfcGFnZSgpIGNoYW5nZSwgY29tbWl0IDQ4
ZGZiMjk3YTIwYSAoIng4Ni9QVkg6CmFsbG93IGd1ZXN0X3JlbW92ZV9wYWdl
IHRvIHJlbW92ZSBwMm1fbW1pb19kaXJlY3QgcGFnZXMiKSwgd2hpY2gKaW50
cm9kdWNlZCB0aGUgY2FsbCB0byBjbGVhcl9tbWlvX3AybV9lbnRyeSgpLCBj
bGFpbWVkIHRoaXMgd2FzIGRvbmUgZm9yCmh3ZG9tIG9ubHkgd2l0aG91dCB0
aGlzIGFjdHVhbGx5IGhhdmluZyBiZWVuIHRoZSBjYXNlLiBIb3dldmVyLCB0
aGlzCmNvZGUgc2hvdWxkbid0IGJlIHRoZXJlIGluIHRoZSBmaXJzdCBwbGFj
ZSwgYXMgTU1JTyBlbnRyaWVzIHNob3VsZG4ndCBiZQpkcm9wcGVkIHRoaXMg
d2F5LiBBdm9pZCB0cmlnZ2VyaW5nIHRoZSB3YXJuaW5nIGFnYWluIHRoYXQg
NDhkZmIyOTdhMjBhCnNpbGVuY2VkIGJ5IGFuIGFkanVzdG1lbnQgdG8geGVu
bWVtX2FkZF90b19waHlzbWFwX29uZSgpIGluc3RlYWQuCgpOb3RlIHRoYXQg
Z3Vlc3RfcGh5c21hcF9tYXJrX3BvcHVsYXRlX29uX2RlbWFuZCgpIGdldHMg
dGlnaHRlbmVkIGJleW9uZAp0aGUgaW1tZWRpYXRlIHB1cnBvc2Ugb2YgdGhp
cyBjaGFuZ2UuCgpOb3RlIGFsc28gdGhhdCBJIGRpZG4ndCBpbnNwZWN0IGNv
ZGUgd2hpY2ggaXNuJ3Qgc2VjdXJpdHkgc3VwcG9ydGVkLAplLmcuIHNoYXJp
bmcsIHBhZ2luZywgb3IgYWx0cDJtLgoKVGhpcyBpcyBDVkUtMjAyMS0yODY5
NCAvIHBhcnQgb2YgWFNBLTM3OC4KClNpZ25lZC1vZmYtYnk6IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFBhdWwgRHVy
cmFudCA8cGF1bEB4ZW4ub3JnPgoKLS0tIGEveGVuL2FyY2gveDg2L21tLmMK
KysrIGIveGVuL2FyY2gveDg2L21tLmMKQEAgLTQ3ODMsNyArNDc4Myw5IEBA
IGludCB4ZW5tZW1fYWRkX3RvX3BoeXNtYXBfb25lKAogCiAgICAgLyogUmVt
b3ZlIHByZXZpb3VzbHkgbWFwcGVkIHBhZ2UgaWYgaXQgd2FzIHByZXNlbnQu
ICovCiAgICAgcHJldl9tZm4gPSBtZm5feChnZXRfZ2ZuKGQsIGdmbl94KGdw
Zm4pLCAmcDJtdCkpOwotICAgIGlmICggbWZuX3ZhbGlkKF9tZm4ocHJldl9t
Zm4pKSApCisgICAgaWYgKCBwMm10ID09IHAybV9tbWlvX2RpcmVjdCApCisg
ICAgICAgIHJjID0gLUVQRVJNOworICAgIGVsc2UgaWYgKCBtZm5fdmFsaWQo
X21mbihwcmV2X21mbikpICkKICAgICB7CiAgICAgICAgIGlmICggaXNfeGVu
X2hlYXBfbWZuKHByZXZfbWZuKSApCiAgICAgICAgICAgICAvKiBYZW4gaGVh
cCBmcmFtZXMgYXJlIHNpbXBseSB1bmhvb2tlZCBmcm9tIHRoaXMgcGh5cyBz
bG90LiAqLwotLS0gYS94ZW4vYXJjaC94ODYvbW0vcDJtLmMKKysrIGIveGVu
L2FyY2gveDg2L21tL3AybS5jCkBAIC03MjUsNyArNzI1LDggQEAgcDJtX3Jl
bW92ZV9wYWdlKHN0cnVjdCBwMm1fZG9tYWluICpwMm0sCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmY3VyX29yZGVyLCBO
VUxMKTsKIAogICAgICAgICBpZiAoIHAybV9pc192YWxpZCh0KSAmJgotICAg
ICAgICAgICAgICghbWZuX3ZhbGlkKF9tZm4obWZuKSkgfHwgbWZuICsgaSAh
PSBtZm5feChtZm5fcmV0dXJuKSkgKQorICAgICAgICAgICAgICghbWZuX3Zh
bGlkKF9tZm4obWZuKSkgfHwgdCA9PSBwMm1fbW1pb19kaXJlY3QgfHwKKyAg
ICAgICAgICAgICAgbWZuICsgaSAhPSBtZm5feChtZm5fcmV0dXJuKSkgKQog
ICAgICAgICAgICAgcmV0dXJuIC1FSUxTRVE7CiAKICAgICAgICAgaSArPSAo
MVVMIDw8IGN1cl9vcmRlcikgLSAoKGdmbl9sICsgaSkgJiAoKDFVTCA8PCBj
dXJfb3JkZXIpIC0gMSkpOwpAQCAtODAzLDcgKzgwNCw3IEBAIGd1ZXN0X3Bo
eXNtYXBfYWRkX2VudHJ5KHN0cnVjdCBkb21haW4gKmQKICAgICBpZiAoIHAy
bV9pc19mb3JlaWduKHQpICkKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CiAK
LSAgICBpZiAoICFtZm5fdmFsaWQobWZuKSApCisgICAgaWYgKCAhbWZuX3Zh
bGlkKG1mbikgfHwgdCA9PSBwMm1fbW1pb19kaXJlY3QgKQogICAgIHsKICAg
ICAgICAgQVNTRVJUX1VOUkVBQ0hBQkxFKCk7CiAgICAgICAgIHJldHVybiAt
RUlOVkFMOwpAQCAtODUwLDcgKzg1MSw3IEBAIGd1ZXN0X3BoeXNtYXBfYWRk
X2VudHJ5KHN0cnVjdCBkb21haW4gKmQKICAgICAgICAgfQogICAgICAgICBp
ZiAoIHAybV9pc19zcGVjaWFsKG90KSApCiAgICAgICAgIHsKLSAgICAgICAg
ICAgIC8qIERvbid0IHBlcm1pdCB1bm1hcHBpbmcgZ3JhbnQvZm9yZWlnbiB0
aGlzIHdheS4gKi8KKyAgICAgICAgICAgIC8qIERvbid0IHBlcm1pdCB1bm1h
cHBpbmcgZ3JhbnQvZm9yZWlnbi9kaXJlY3QtTU1JTyB0aGlzIHdheS4gKi8K
ICAgICAgICAgICAgIGRvbWFpbl9jcmFzaChkKTsKICAgICAgICAgICAgIHAy
bV91bmxvY2socDJtKTsKICAgICAgICAgICAgIApAQCAtMTE5Miw4ICsxMTkz
LDggQEAgaW50IHNldF9pZGVudGl0eV9wMm1fZW50cnkoc3RydWN0IGRvbWFp
bgogICogICAgb3JkZXIrMSAgZm9yIGNhbGxlciB0byByZXRyeSB3aXRoIG9y
ZGVyIChndWFyYW50ZWVkIHNtYWxsZXIgdGhhbgogICogICAgICAgICAgICAg
dGhlIG9yZGVyIHZhbHVlIHBhc3NlZCBpbikKICAqLwotaW50IGNsZWFyX21t
aW9fcDJtX2VudHJ5KHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcg
Z2ZuX2wsIG1mbl90IG1mbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICB1
bnNpZ25lZCBpbnQgb3JkZXIpCitzdGF0aWMgaW50IGNsZWFyX21taW9fcDJt
X2VudHJ5KHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuX2ws
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1mbl90IG1mbiwg
dW5zaWduZWQgaW50IG9yZGVyKQogewogICAgIGludCByYyA9IC1FSU5WQUw7
CiAgICAgZ2ZuX3QgZ2ZuID0gX2dmbihnZm5fbCk7Ci0tLSBhL3hlbi9hcmNo
L3g4Ni9tbS9wMm0tcG9kLmMKKysrIGIveGVuL2FyY2gveDg2L21tL3AybS1w
b2QuYwpAQCAtMTMwMiwxNyArMTMwMiwxNyBAQCBndWVzdF9waHlzbWFwX21h
cmtfcG9wdWxhdGVfb25fZGVtYW5kKHN0CiAKICAgICAgICAgcDJtLT5nZXRf
ZW50cnkocDJtLCBnZm5fYWRkKGdmbiwgaSksICZvdCwgJmEsIDAsICZjdXJf
b3JkZXIsIE5VTEwpOwogICAgICAgICBuID0gMVVMIDw8IG1pbihvcmRlciwg
Y3VyX29yZGVyKTsKLSAgICAgICAgaWYgKCBwMm1faXNfcmFtKG90KSApCisg
ICAgICAgIGlmICggb3QgPT0gcDJtX3BvcHVsYXRlX29uX2RlbWFuZCApCisg
ICAgICAgIHsKKyAgICAgICAgICAgIC8qIENvdW50IGhvdyBtYW55IFBvRCBl
bnRyaWVzIHdlJ2xsIGJlIHJlcGxhY2luZyBpZiBzdWNjZXNzZnVsICovCisg
ICAgICAgICAgICBwb2RfY291bnQgKz0gbjsKKyAgICAgICAgfQorICAgICAg
ICBlbHNlIGlmICggb3QgIT0gcDJtX2ludmFsaWQgJiYgb3QgIT0gcDJtX21t
aW9fZG0gKQogICAgICAgICB7CiAgICAgICAgICAgICBQMk1fREVCVUcoImdm
bl90b19tZm4gcmV0dXJuZWQgdHlwZSAlZCFcbiIsIG90KTsKICAgICAgICAg
ICAgIHJjID0gLUVCVVNZOwogICAgICAgICAgICAgZ290byBvdXQ7CiAgICAg
ICAgIH0KLSAgICAgICAgZWxzZSBpZiAoIG90ID09IHAybV9wb3B1bGF0ZV9v
bl9kZW1hbmQgKQotICAgICAgICB7Ci0gICAgICAgICAgICAvKiBDb3VudCBo
b3cgbWFuIFBvRCBlbnRyaWVzIHdlJ2xsIGJlIHJlcGxhY2luZyBpZiBzdWNj
ZXNzZnVsICovCi0gICAgICAgICAgICBwb2RfY291bnQgKz0gbjsKLSAgICAg
ICAgfQogICAgIH0KIAogICAgIC8qIE5vdywgYWN0dWFsbHkgZG8gdGhlIHR3
by13YXkgbWFwcGluZyAqLwotLS0gYS94ZW4vY29tbW9uL21lbW9yeS5jCisr
KyBiL3hlbi9jb21tb24vbWVtb3J5LmMKQEAgLTMzNSw3ICszMzUsNyBAQCBp
bnQgZ3Vlc3RfcmVtb3ZlX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwKICAgICB9
CiAgICAgaWYgKCBwMm10ID09IHAybV9tbWlvX2RpcmVjdCApCiAgICAgewot
ICAgICAgICByYyA9IGNsZWFyX21taW9fcDJtX2VudHJ5KGQsIGdtZm4sIG1m
biwgUEFHRV9PUkRFUl80Syk7CisgICAgICAgIHJjID0gLUVQRVJNOwogICAg
ICAgICBnb3RvIG91dF9wdXRfZ2ZuOwogICAgIH0KICNlbHNlCkBAIC0xNjUx
LDYgKzE2NTEsMTUgQEAgaW50IHByZXBhcmVfcmluZ19mb3JfaGVscGVyKAog
ICAgICAgICByZXR1cm4gLUVOT0VOVDsKICAgICB9CiAjZW5kaWYKKyNpZmRl
ZiBDT05GSUdfWDg2CisgICAgaWYgKCBwMm10ID09IHAybV9tbWlvX2RpcmVj
dCApCisgICAgeworICAgICAgICBpZiAoIHBhZ2UgKQorICAgICAgICAgICAg
cHV0X3BhZ2UocGFnZSk7CisKKyAgICAgICAgcmV0dXJuIC1FUEVSTTsKKyAg
ICB9CisjZW5kaWYKIAogICAgIGlmICggIXBhZ2UgKQogICAgICAgICByZXR1
cm4gLUVJTlZBTDsKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wMm0uaAor
KysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3AybS5oCkBAIC0xNDQsNyArMTQ0
LDggQEAgdHlwZWRlZiB1bnNpZ25lZCBpbnQgcDJtX3F1ZXJ5X3Q7CiAKIC8q
IFR5cGVzIGVzdGFibGlzaGVkL2NsZWFuZWQgdXAgdmlhIHNwZWNpYWwgYWNj
ZXNzb3JzLiAqLwogI2RlZmluZSBQMk1fU1BFQ0lBTF9UWVBFUyAoUDJNX0dS
QU5UX1RZUEVTIHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgcDJt
X3RvX21hc2socDJtX21hcF9mb3JlaWduKSkKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHAybV90b19tYXNrKHAybV9tYXBfZm9yZWlnbikgfCBcCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwMm1fdG9fbWFzayhwMm1fbW1p
b19kaXJlY3QpKQogCiAvKiBWYWxpZCB0eXBlcyBub3QgbmVjZXNzYXJpbHkg
YXNzb2NpYXRlZCB3aXRoIGEgKHZhbGlkKSBNRk4uICovCiAjZGVmaW5lIFAy
TV9JTlZBTElEX01GTl9UWVBFUyAoUDJNX1BPRF9UWVBFUyAgICAgICAgICAg
ICAgICAgIFwKQEAgLTYyOSw4ICs2MzAsNiBAQCBpbnQgc2V0X2ZvcmVpZ25f
cDJtX2VudHJ5KHN0cnVjdCBkb21haW4KIC8qIFNldCBtbWlvIGFkZHJlc3Nl
cyBpbiB0aGUgcDJtIHRhYmxlIChmb3IgcGFzcy10aHJvdWdoKSAqLwogaW50
IHNldF9tbWlvX3AybV9lbnRyeShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25l
ZCBsb25nIGdmbiwgbWZuX3QgbWZuLAogICAgICAgICAgICAgICAgICAgICAg
ICB1bnNpZ25lZCBpbnQgb3JkZXIsIHAybV9hY2Nlc3NfdCBhY2Nlc3MpOwot
aW50IGNsZWFyX21taW9fcDJtX2VudHJ5KHN0cnVjdCBkb21haW4gKmQsIHVu
c2lnbmVkIGxvbmcgZ2ZuLCBtZm5fdCBtZm4sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgdW5zaWduZWQgaW50IG9yZGVyKTsKIAogLyogU2V0IGlkZW50
aXR5IGFkZHJlc3NlcyBpbiB0aGUgcDJtIHRhYmxlIChmb3IgcGFzcy10aHJv
dWdoKSAqLwogaW50IHNldF9pZGVudGl0eV9wMm1fZW50cnkoc3RydWN0IGRv
bWFpbiAqZCwgdW5zaWduZWQgbG9uZyBnZm4sCg==

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.12-0a.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.12-0a.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvcDJtOiBmaXggUG9EIGFjY291bnRpbmcgaW4gZ3Vlc3RfcGh5c21h
cF9hZGRfZW50cnkoKQoKVGhlIGluaXRpYWwgb2JzZXJ2YXRpb24gd2FzIHRo
YXQgdGhlIG1mbl92YWxpZCgpIGNoZWNrIGNvbWVzIHRvbyBsYXRlOgpOZWl0
aGVyIG1mbl9hZGQoKSBub3IgbWZuX3RvX3BhZ2UoKSAobGV0IGFsb25lIGRl
LXJlZmVyZW5jaW5nIHRoZQpyZXN1bHQgb2YgdGhlIGxhdHRlcikgYXJlIHZh
bGlkIGZvciBNRk5zIGZhaWxpbmcgdGhpcyBjaGVjay4gTW92ZSBpdCB1cAph
bmQgLSBub3RpY2luZyB0aGF0IHRoZXJlJ3Mgbm8gY2FsbGVyIGRvaW5nIHNv
IC0gYWxzbyBhZGQgYW4gYXNzZXJ0aW9uCnRoYXQgdGhpcyBzaG91bGQgbmV2
ZXIgcHJvZHVjZSAiZmFsc2UiIGhlcmUuCgpJbiB0dXJuIHRoaXMgd291bGQg
aGF2ZSBtZWFudCB0aGF0IHRoZSAiZWxzZSIgdG8gdGhhdCBpZigpIGNvdWxk
IG5vdyBnbwphd2F5LCB3aGljaCBkaWRuJ3Qgc2VlbSByaWdodCBhdCBhbGwu
IEFuZCBpbmRlZWQsIGNvbnNpZGVyaW5nIGNhbGxlcnMKbGlrZSBtZW1vcnlf
ZXhjaGFuZ2UoKSBvciB2YXJpb3VzIGdyYW50IHRhYmxlIGZ1bmN0aW9ucywg
dGhlIFBvRAphY2NvdW50aW5nIHNob3VsZCBoYXZlIGJlZW4gb3V0c2lkZSBv
ZiB0aGF0IGlmKCkgZnJvbSB0aGUgdmVyeQpiZWdpbm5pbmcuCgpTaWduZWQt
b2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkFja2Vk
LWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29t
PgoKLS0tIGEveGVuL2FyY2gveDg2L21tL3AybS5jCisrKyBiL3hlbi9hcmNo
L3g4Ni9tbS9wMm0uYwpAQCAtODY0LDYgKzg2NCwxMiBAQCBndWVzdF9waHlz
bWFwX2FkZF9lbnRyeShzdHJ1Y3QgZG9tYWluICpkCiAgICAgaWYgKCBwMm1f
aXNfZm9yZWlnbih0KSApCiAgICAgICAgIHJldHVybiAtRUlOVkFMOwogCisg
ICAgaWYgKCAhbWZuX3ZhbGlkKG1mbikgKQorICAgIHsKKyAgICAgICAgQVNT
RVJUX1VOUkVBQ0hBQkxFKCk7CisgICAgICAgIHJldHVybiAtRUlOVkFMOwor
ICAgIH0KKwogICAgIHAybV9sb2NrKHAybSk7CiAKICAgICBQMk1fREVCVUco
ImFkZGluZyBnZm49JSNseCBtZm49JSNseFxuIiwgZ2ZuX3goZ2ZuKSwgbWZu
X3gobWZuKSk7CkBAIC05NjMsMTIgKzk2OSwxNSBAQCBndWVzdF9waHlzbWFw
X2FkZF9lbnRyeShzdHJ1Y3QgZG9tYWluICpkCiAgICAgfQogCiAgICAgLyog
Tm93LCBhY3R1YWxseSBkbyB0aGUgdHdvLXdheSBtYXBwaW5nICovCi0gICAg
aWYgKCBtZm5fdmFsaWQobWZuKSApCisgICAgcmMgPSBwMm1fc2V0X2VudHJ5
KHAybSwgZ2ZuLCBtZm4sIHBhZ2Vfb3JkZXIsIHQsIHAybS0+ZGVmYXVsdF9h
Y2Nlc3MpOworICAgIGlmICggcmMgPT0gMCApCiAgICAgewotICAgICAgICBy
YyA9IHAybV9zZXRfZW50cnkocDJtLCBnZm4sIG1mbiwgcGFnZV9vcmRlciwg
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHAybS0+ZGVmYXVsdF9h
Y2Nlc3MpOwotICAgICAgICBpZiAoIHJjICkKLSAgICAgICAgICAgIGdvdG8g
b3V0OyAvKiBGYWlsZWQgdG8gdXBkYXRlIHAybSwgYmFpbCB3aXRob3V0IHVw
ZGF0aW5nIG0ycC4gKi8KKyNpZmRlZiBDT05GSUdfSFZNCisgICAgICAgIHBv
ZF9sb2NrKHAybSk7CisgICAgICAgIHAybS0+cG9kLmVudHJ5X2NvdW50IC09
IHBvZF9jb3VudDsKKyAgICAgICAgQlVHX09OKHAybS0+cG9kLmVudHJ5X2Nv
dW50IDwgMCk7CisgICAgICAgIHBvZF91bmxvY2socDJtKTsKKyNlbmRpZgog
CiAgICAgICAgIGlmICggIXAybV9pc19ncmFudCh0KSApCiAgICAgICAgIHsK
QEAgLTk3NywyNCArOTg2LDcgQEAgZ3Vlc3RfcGh5c21hcF9hZGRfZW50cnko
c3RydWN0IGRvbWFpbiAqZAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGdmbl94KGdmbl9hZGQoZ2ZuLCBpKSkpOwogICAgICAgICB9CiAg
ICAgfQotICAgIGVsc2UKLSAgICB7Ci0gICAgICAgIGdkcHJpbnRrKFhFTkxP
R19XQVJOSU5HLCAiQWRkaW5nIGJhZCBtZm4gdG8gcDJtIG1hcCAoJSNseCAt
PiAlI2x4KVxuIiwKLSAgICAgICAgICAgICAgICAgZ2ZuX3goZ2ZuKSwgbWZu
X3gobWZuKSk7Ci0gICAgICAgIHJjID0gcDJtX3NldF9lbnRyeShwMm0sIGdm
biwgSU5WQUxJRF9NRk4sIHBhZ2Vfb3JkZXIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICBwMm1faW52YWxpZCwgcDJtLT5kZWZhdWx0X2FjY2Vzcyk7
Ci0jaWZkZWYgQ09ORklHX0hWTQotICAgICAgICBpZiAoIHJjID09IDAgKQot
ICAgICAgICB7Ci0gICAgICAgICAgICBwb2RfbG9jayhwMm0pOwotICAgICAg
ICAgICAgcDJtLT5wb2QuZW50cnlfY291bnQgLT0gcG9kX2NvdW50OwotICAg
ICAgICAgICAgQlVHX09OKHAybS0+cG9kLmVudHJ5X2NvdW50IDwgMCk7Ci0g
ICAgICAgICAgICBwb2RfdW5sb2NrKHAybSk7Ci0gICAgICAgIH0KLSNlbmRp
ZgotICAgIH0KIAotb3V0OgogICAgIHAybV91bmxvY2socDJtKTsKIAogICAg
IHJldHVybiByYzsK

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.12-0b.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.12-0b.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvcDJtOiBkb24ndCBpZ25vcmUgcDJtX3JlbW92ZV9wYWdlKCkncyBy
ZXR1cm4gdmFsdWUKCkl0J3Mgbm90IHZlcnkgbmljZSB0byByZXR1cm4gZnJv
bSBndWVzdF9waHlzbWFwX2FkZF9lbnRyeSgpIGFmdGVyCnBlcmhhcHMgYWxy
ZWFkeSBoYXZpbmcgbWFkZSBzb21lIGNoYW5nZXMgdG8gdGhlIFAyTSwgYnV0
IHRoaXMgaXMgcHJlLQpleGlzdGluZyBwcmFjdGljZSBpbiB0aGUgZnVuY3Rp
b24sIGFuZCBpbW8gYmV0dGVyIHRoYW4gaWdub3JpbmcgZXJyb3JzLgoKVGFr
ZSB0aGUgbGliZXJ0eSBhbmQgcmVwbGFjZSBhbiBtZm5fYWRkKCkgaW5zdGFu
Y2Ugd2l0aCBhIGxvY2FsIHZhcmlhYmxlCmFscmVhZHkgaG9sZGluZyB0aGUg
cmVzdWx0IChhcyBwcm92ZW4gYnkgdGhlIGNoZWNrIGltbWVkaWF0ZWx5IGFo
ZWFkKS4KClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBz
dXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJy
YW50QGNpdHJpeC5jb20+CkFja2VkLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRy
ZXcuY29vcGVyM0BjaXRyaXguY29tPgoKLS0tIGEveGVuL2FyY2gveDg2L21t
L3AybS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYwpAQCAtNzcyLDgg
Kzc3Miw3IEBAIHZvaWQgcDJtX2ZpbmFsX3RlYXJkb3duKHN0cnVjdCBkb21h
aW4gKmQKICAgICBwMm1fdGVhcmRvd25faG9zdHAybShkKTsKIH0KIAotCi1z
dGF0aWMgaW50CitzdGF0aWMgaW50IF9fbXVzdF9jaGVjawogcDJtX3JlbW92
ZV9wYWdlKHN0cnVjdCBwMm1fZG9tYWluICpwMm0sIHVuc2lnbmVkIGxvbmcg
Z2ZuX2wsIHVuc2lnbmVkIGxvbmcgbWZuLAogICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGludCBwYWdlX29yZGVyKQogewpAQCAtOTYxLDkgKzk2MCw5IEBA
IGd1ZXN0X3BoeXNtYXBfYWRkX2VudHJ5KHN0cnVjdCBkb21haW4gKmQKICAg
ICAgICAgICAgICAgICBBU1NFUlQobWZuX3ZhbGlkKG9tZm4pKTsKICAgICAg
ICAgICAgICAgICBQMk1fREVCVUcoIm9sZCBnZm49JSNseCAtPiBtZm4gJSNs
eFxuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2ZuX3gob2dmbikg
LCBtZm5feChvbWZuKSk7Ci0gICAgICAgICAgICAgICAgaWYgKCBtZm5fZXEo
b21mbiwgbWZuX2FkZChtZm4sIGkpKSApCi0gICAgICAgICAgICAgICAgICAg
IHAybV9yZW1vdmVfcGFnZShwMm0sIGdmbl94KG9nZm4pLCBtZm5feChtZm5f
YWRkKG1mbiwgaSkpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMCk7CisgICAgICAgICAgICAgICAgaWYgKCBtZm5fZXEob21mbiwg
bWZuX2FkZChtZm4sIGkpKSAmJgorICAgICAgICAgICAgICAgICAgICAgKHJj
ID0gcDJtX3JlbW92ZV9wYWdlKHAybSwgZ2ZuX3gob2dmbiksIG1mbl94KG9t
Zm4pLCAwKSkgKQorICAgICAgICAgICAgICAgICAgICBnb3RvIG91dDsKICAg
ICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KQEAgLTk4Nyw2ICs5ODYs
NyBAQCBndWVzdF9waHlzbWFwX2FkZF9lbnRyeShzdHJ1Y3QgZG9tYWluICpk
CiAgICAgICAgIH0KICAgICB9CiAKKyBvdXQ6CiAgICAgcDJtX3VubG9jayhw
Mm0pOwogCiAgICAgcmV0dXJuIHJjOwpAQCAtMjY0Niw5ICsyNjQ2LDkgQEAg
aW50IHAybV9jaGFuZ2VfYWx0cDJtX2dmbihzdHJ1Y3QgZG9tYWluCiAKICAg
ICBpZiAoIGdmbl9lcShuZXdfZ2ZuLCBJTlZBTElEX0dGTikgKQogICAgIHsK
LSAgICAgICAgaWYgKCBtZm5fdmFsaWQobWZuKSApCi0gICAgICAgICAgICBw
Mm1fcmVtb3ZlX3BhZ2UoYXAybSwgZ2ZuX3gob2xkX2dmbiksIG1mbl94KG1m
biksIFBBR0VfT1JERVJfNEspOwotICAgICAgICByYyA9IDA7CisgICAgICAg
IHJjID0gbWZuX3ZhbGlkKG1mbikKKyAgICAgICAgICAgICA/IHAybV9yZW1v
dmVfcGFnZShhcDJtLCBnZm5feChvbGRfZ2ZuKSwgbWZuX3gobWZuKSwgUEFH
RV9PUkRFUl80SykKKyAgICAgICAgICAgICA6IDA7CiAgICAgICAgIGdvdG8g
b3V0OwogICAgIH0KIAo=

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.12-0c.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.12-0c.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvcDJtOiBkb24ndCBhc3NlcnQgdGhhdCB0aGUgcGFzc2VkIGluIE1G
TiBtYXRjaGVzIGZvciBhIHJlbW92ZQoKZ3Vlc3RfcGh5c21hcF9yZW1vdmVf
cGFnZSgpIGdldHMgaGFuZGVkIGFuIE1GTiBmcm9tIHRoZSBvdXRzaWRlLCB5
ZXQKdGFrZXMgdGhlIG5lY2Vzc2FyeSBsb2NrIHRvIHByZXZlbnQgZnVydGhl
ciBjaGFuZ2VzIHRvIHRoZSBHRk4gPC0+IE1GTgptYXBwaW5nIGl0c2VsZi4g
V2hpbGUgc29tZSBjYWxsZXJzLCBpbiBwYXJ0aWN1bGFyIGd1ZXN0X3JlbW92
ZV9wYWdlKCkKKGJ5IHdheSBvZiBoYXZpbmcgY2FsbGVkIGdldF9nZm5fcXVl
cnkoKSksIGhvbGQgdGhlIEdGTiBsb2NrIGFscmVhZHksCnZhcmlvdXMgb3Ro
ZXJzIChtb3N0IG5vdGFibHkgcGVyaGFwcyB0aGUgMm5kIGluc3RhbmNlIGlu
Cnhlbm1lbV9hZGRfdG9fcGh5c21hcF9vbmUoKSkgZG9uJ3QuIFdoaWxlIGl0
IGFsc28gaXMgYW4gb3B0aW9uIHRvIGZpeAphbGwgdGhlIGNhbGxlcnMsIGRl
YWwgd2l0aCB0aGUgaXNzdWUgaW4gcDJtX3JlbW92ZV9wYWdlKCkgaW5zdGVh
ZDoKUmVwbGFjZSB0aGUgQVNTRVJUKCkgYnkgYSBjb25kaXRpb25hbCBhbmQg
c3BsaXQgdGhlIGxvb3AgaW50byB0d28sIHN1Y2gKdGhhdCBhbGwgY2hlY2tp
bmcgZ2V0cyBkb25lIGJlZm9yZSBhbnkgbW9kaWZpY2F0aW9uIHdvdWxkIG9j
Y3VyLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1
c2UuY29tPgpSZXZpZXdlZC1ieTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJh
bnRAY2l0cml4LmNvbT4KQWNrZWQtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJl
dy5jb29wZXIzQGNpdHJpeC5jb20+CgotLS0gYS94ZW4vYXJjaC94ODYvbW0v
cDJtLmMKKysrIGIveGVuL2FyY2gveDg2L21tL3AybS5jCkBAIC03NzgsNyAr
Nzc4LDYgQEAgcDJtX3JlbW92ZV9wYWdlKHN0cnVjdCBwMm1fZG9tYWluICpw
Mm0sCiB7CiAgICAgdW5zaWduZWQgbG9uZyBpOwogICAgIGdmbl90IGdmbiA9
IF9nZm4oZ2ZuX2wpOwotICAgIG1mbl90IG1mbl9yZXR1cm47CiAgICAgcDJt
X3R5cGVfdCB0OwogICAgIHAybV9hY2Nlc3NfdCBhOwogCkBAIC03ODksMTUg
Kzc4OCwyNiBAQCBwMm1fcmVtb3ZlX3BhZ2Uoc3RydWN0IHAybV9kb21haW4g
KnAybSwKICAgICBBU1NFUlQoZ2ZuX2xvY2tlZF9ieV9tZShwMm0sIGdmbikp
OwogICAgIFAyTV9ERUJVRygicmVtb3ZpbmcgZ2ZuPSUjbHggbWZuPSUjbHhc
biIsIGdmbl9sLCBtZm4pOwogCisgICAgZm9yICggaSA9IDA7IGkgPCAoMVVM
IDw8IHBhZ2Vfb3JkZXIpOyApCisgICAgeworICAgICAgICB1bnNpZ25lZCBp
bnQgY3VyX29yZGVyOworICAgICAgICBtZm5fdCBtZm5fcmV0dXJuID0gcDJt
LT5nZXRfZW50cnkocDJtLCBnZm5fYWRkKGdmbiwgaSksICZ0LCAmYSwgMCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZj
dXJfb3JkZXIsIE5VTEwpOworCisgICAgICAgIGlmICggcDJtX2lzX3ZhbGlk
KHQpICYmCisgICAgICAgICAgICAgKCFtZm5fdmFsaWQoX21mbihtZm4pKSB8
fCBtZm4gKyBpICE9IG1mbl94KG1mbl9yZXR1cm4pKSApCisgICAgICAgICAg
ICByZXR1cm4gLUVJTFNFUTsKKworICAgICAgICBpICs9ICgxVUwgPDwgY3Vy
X29yZGVyKSAtICgoZ2ZuX2wgKyBpKSAmICgoMVVMIDw8IGN1cl9vcmRlcikg
LSAxKSk7CisgICAgfQorCiAgICAgaWYgKCBtZm5fdmFsaWQoX21mbihtZm4p
KSApCiAgICAgewogICAgICAgICBmb3IgKCBpID0gMDsgaSA8ICgxVUwgPDwg
cGFnZV9vcmRlcik7IGkrKyApCiAgICAgICAgIHsKLSAgICAgICAgICAgIG1m
bl9yZXR1cm4gPSBwMm0tPmdldF9lbnRyeShwMm0sIGdmbl9hZGQoZ2ZuLCBp
KSwgJnQsICZhLCAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIE5VTEwsIE5VTEwpOworICAgICAgICAgICAgcDJtLT5nZXRf
ZW50cnkocDJtLCBnZm5fYWRkKGdmbiwgaSksICZ0LCAmYSwgMCwgTlVMTCwg
TlVMTCk7CiAgICAgICAgICAgICBpZiAoICFwMm1faXNfZ3JhbnQodCkgJiYg
IXAybV9pc19zaGFyZWQodCkgJiYgIXAybV9pc19mb3JlaWduKHQpICkKICAg
ICAgICAgICAgICAgICBzZXRfZ3Bmbl9mcm9tX21mbihtZm4raSwgSU5WQUxJ
RF9NMlBfRU5UUlkpOwotICAgICAgICAgICAgQVNTRVJUKCAhcDJtX2lzX3Zh
bGlkKHQpIHx8IG1mbiArIGkgPT0gbWZuX3gobWZuX3JldHVybikgKTsKICAg
ICAgICAgfQogICAgIH0KICAgICByZXR1cm4gcDJtX3NldF9lbnRyeShwMm0s
IGdmbiwgSU5WQUxJRF9NRk4sIHBhZ2Vfb3JkZXIsIHAybV9pbnZhbGlkLAo=

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.12-1.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.12-1.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBBTUQvSU9NTVU6IGNvcnJlY3QgZ2xvYmFsIGV4Y2x1c2lvbiByYW5nZSBl
eHRlbmRpbmcKCkJlc2lkZXMgdW5pdHkgbWFwcGluZyByZWdpb25zLCB0aGUg
QU1EIElPTU1VIHNwZWMgYWxzbyBwcm92aWRlcyBmb3IKZXhjbHVzaW9uIHJh
bmdlcyAoYXJlYXMgb2YgbWVtb3J5IG5vdCB0byBiZSBzdWJqZWN0IHRvIERN
QSB0cmFuc2xhdGlvbikKdG8gYmUgc3BlY2lmaWVkIGJ5IGZpcm13YXJlIGlu
IHRoZSBBQ1BJIHRhYmxlcy4gVGhlIHNwZWMgZG9lcyBub3QgcHV0CmFueSBj
b25zdHJhaW50cyBvbiB0aGUgbnVtYmVyIG9mIHN1Y2ggcmVnaW9ucy4KCkJs
aW5kbHkgYXNzdW1pbmcgYWxsIGFkZHJlc3NlcyBiZXR3ZWVuIGFueSB0d28g
c3VjaCByYW5nZXMgc2hvdWxkIGFsc28KYmUgZXhjbHVkZWQgY2FuJ3QgYmUg
cmlnaHQuIFNpbmNlIGhhcmR3YXJlIGhhcyByb29tIGZvciBqdXN0IGEgc2lu
Z2xlCnN1Y2ggcmFuZ2UgKGNvbXByaXNlZCBvZiB0aGUgRXhjbHVzaW9uIEJh
c2UgUmVnaXN0ZXIgYW5kIHRoZSBFeGNsdXNpb24KUmFuZ2UgTGltaXQgUmVn
aXN0ZXIpLCBjb21iaW5lIG9ubHkgYWRqYWNlbnQgb3Igb3ZlcmxhcHBpbmcg
cmVnaW9ucyAoZm9yCm5vdzsgdGhpcyBtYXkgcmVxdWlyZSBmdXJ0aGVyIGFk
anVzdG1lbnQgaW4gY2FzZSB0YWJsZSBlbnRyaWVzIGFyZW4ndApzb3J0ZWQg
YnkgYWRkcmVzcykgd2l0aCBtYXRjaGluZyBleGNsdXNpb25fYWxsb3dfYWxs
IHNldHRpbmdzLiBUaGlzCnJlcXVpcmVzIGJ1YmJsaW5nIHVwIGVycm9yIGlu
ZGljYXRvcnMsIHN1Y2ggdGhhdCBJT01NVSBpbml0IGNhbiBiZQpmYWlsZWQg
d2hlbiBjb25jYXRlbmF0aW9uIHdhc24ndCBwb3NzaWJsZS4KCkZ1cnRoZXJt
b3JlLCBzaW5jZSB0aGUgZXhjbHVzaW9uIHJhbmdlIHNwZWNpZmllZCBpbiBJ
T01NVSByZWdpc3RlcnMKaW1wbGllcyBSL1cgYWNjZXNzLCByZWplY3QgcmVx
dWVzdHMgYXNraW5nIGZvciBsZXNzIHBlcm1pc3Npb25zICh0aGlzCndpbGwg
YmUgYnJvdWdodCBjbG9zZXIgdG8gdGhlIHNwZWMgYnkgYSBzdWJzZXF1ZW50
IGNoYW5nZSkuCgpUaGlzIGlzIHBhcnQgb2YgWFNBLTM3OCAvIENWRS0yMDIx
LTI4Njk1LgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpSZXZpZXdlZC1ieTogUGF1bCBEdXJyYW50IDxwYXVsQHhl
bi5vcmc+CgotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9t
bXVfYWNwaS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9p
b21tdV9hY3BpLmMKQEAgLTk4LDEyICs5OCwyMSBAQCBzdGF0aWMgc3RydWN0
IGFtZF9pb21tdSAqIF9faW5pdCBmaW5kX2lvCiAgICAgcmV0dXJuIE5VTEw7
CiB9CiAKLXN0YXRpYyB2b2lkIF9faW5pdCByZXNlcnZlX2lvbW11X2V4Y2x1
c2lvbl9yYW5nZSgKLSAgICBzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwgdWlu
dDY0X3QgYmFzZSwgdWludDY0X3QgbGltaXQpCitzdGF0aWMgaW50IF9faW5p
dCByZXNlcnZlX2lvbW11X2V4Y2x1c2lvbl9yYW5nZSgKKyAgICBzdHJ1Y3Qg
YW1kX2lvbW11ICppb21tdSwgdWludDY0X3QgYmFzZSwgdWludDY0X3QgbGlt
aXQsCisgICAgYm9vbCBhbGwsIGJvb2wgaXcsIGJvb2wgaXIpCiB7CisgICAg
aWYgKCAhaXIgfHwgIWl3ICkKKyAgICAgICAgcmV0dXJuIC1FUEVSTTsKKwog
ICAgIC8qIG5lZWQgdG8gZXh0ZW5kIGV4Y2x1c2lvbiByYW5nZT8gKi8KICAg
ICBpZiAoIGlvbW11LT5leGNsdXNpb25fZW5hYmxlICkKICAgICB7CisgICAg
ICAgIGlmICggaW9tbXUtPmV4Y2x1c2lvbl9saW1pdCArIFBBR0VfU0laRSA8
IGJhc2UgfHwKKyAgICAgICAgICAgICBsaW1pdCArIFBBR0VfU0laRSA8IGlv
bW11LT5leGNsdXNpb25fYmFzZSB8fAorICAgICAgICAgICAgIGlvbW11LT5l
eGNsdXNpb25fYWxsb3dfYWxsICE9IGFsbCApCisgICAgICAgICAgICByZXR1
cm4gLUVCVVNZOworCiAgICAgICAgIGlmICggaW9tbXUtPmV4Y2x1c2lvbl9i
YXNlIDwgYmFzZSApCiAgICAgICAgICAgICBiYXNlID0gaW9tbXUtPmV4Y2x1
c2lvbl9iYXNlOwogICAgICAgICBpZiAoIGlvbW11LT5leGNsdXNpb25fbGlt
aXQgPiBsaW1pdCApCkBAIC0xMTEsMTYgKzEyMCwxMSBAQCBzdGF0aWMgdm9p
ZCBfX2luaXQgcmVzZXJ2ZV9pb21tdV9leGNsdXNpCiAgICAgfQogCiAgICAg
aW9tbXUtPmV4Y2x1c2lvbl9lbmFibGUgPSBJT01NVV9DT05UUk9MX0VOQUJM
RUQ7CisgICAgaW9tbXUtPmV4Y2x1c2lvbl9hbGxvd19hbGwgPSBhbGw7CiAg
ICAgaW9tbXUtPmV4Y2x1c2lvbl9iYXNlID0gYmFzZTsKICAgICBpb21tdS0+
ZXhjbHVzaW9uX2xpbWl0ID0gbGltaXQ7Ci19CiAKLXN0YXRpYyB2b2lkIF9f
aW5pdCByZXNlcnZlX2lvbW11X2V4Y2x1c2lvbl9yYW5nZV9hbGwoCi0gICAg
c3RydWN0IGFtZF9pb21tdSAqaW9tbXUsCi0gICAgdW5zaWduZWQgbG9uZyBi
YXNlLCB1bnNpZ25lZCBsb25nIGxpbWl0KQotewotICAgIHJlc2VydmVfaW9t
bXVfZXhjbHVzaW9uX3JhbmdlKGlvbW11LCBiYXNlLCBsaW1pdCk7Ci0gICAg
aW9tbXUtPmV4Y2x1c2lvbl9hbGxvd19hbGwgPSBJT01NVV9DT05UUk9MX0VO
QUJMRUQ7CisgICAgcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyB2b2lkIF9faW5p
dCByZXNlcnZlX3VuaXR5X21hcF9mb3JfZGV2aWNlKApAQCAtMTU4LDYgKzE2
Miw3IEBAIHN0YXRpYyBpbnQgX19pbml0IHJlZ2lzdGVyX2V4Y2x1c2lvbl9y
YW4KICAgICB1bnNpZ25lZCBsb25nIHJhbmdlX3RvcCwgaW9tbXVfdG9wLCBs
ZW5ndGg7CiAgICAgc3RydWN0IGFtZF9pb21tdSAqaW9tbXU7CiAgICAgdW5z
aWduZWQgaW50IGJkZjsKKyAgICBpbnQgcmMgPSAwOwogCiAgICAgLyogaXMg
cGFydCBvZiBleGNsdXNpb24gcmFuZ2UgaW5zaWRlIG9mIElPTU1VIHZpcnR1
YWwgYWRkcmVzcyBzcGFjZT8gKi8KICAgICAvKiBub3RlOiAnbGltaXQnIHBh
cmFtZXRlciBpcyBhc3N1bWVkIHRvIGJlIHBhZ2UtYWxpZ25lZCAqLwpAQCAt
MTc5LDEwICsxODQsMTUgQEAgc3RhdGljIGludCBfX2luaXQgcmVnaXN0ZXJf
ZXhjbHVzaW9uX3JhbgogICAgIGlmICggbGltaXQgPj0gaW9tbXVfdG9wICkK
ICAgICB7CiAgICAgICAgIGZvcl9lYWNoX2FtZF9pb21tdSggaW9tbXUgKQot
ICAgICAgICAgICAgcmVzZXJ2ZV9pb21tdV9leGNsdXNpb25fcmFuZ2VfYWxs
KGlvbW11LCBiYXNlLCBsaW1pdCk7CisgICAgICAgIHsKKyAgICAgICAgICAg
IHJjID0gcmVzZXJ2ZV9pb21tdV9leGNsdXNpb25fcmFuZ2UoaW9tbXUsIGJh
c2UsIGxpbWl0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB0cnVlIC8qIGFsbCAqLywgaXcsIGlyKTsKKyAgICAg
ICAgICAgIGlmICggcmMgKQorICAgICAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICB9CiAgICAgfQogCi0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIHJj
OwogfQogCiBzdGF0aWMgaW50IF9faW5pdCByZWdpc3Rlcl9leGNsdXNpb25f
cmFuZ2VfZm9yX2RldmljZSgKQEAgLTE5Myw2ICsyMDMsNyBAQCBzdGF0aWMg
aW50IF9faW5pdCByZWdpc3Rlcl9leGNsdXNpb25fcmFuCiAgICAgdW5zaWdu
ZWQgbG9uZyByYW5nZV90b3AsIGlvbW11X3RvcCwgbGVuZ3RoOwogICAgIHN0
cnVjdCBhbWRfaW9tbXUgKmlvbW11OwogICAgIHUxNiByZXE7CisgICAgaW50
IHJjID0gMDsKIAogICAgIGlvbW11ID0gZmluZF9pb21tdV9mb3JfZGV2aWNl
KHNlZywgYmRmKTsKICAgICBpZiAoICFpb21tdSApCkBAIC0yMjIsMTIgKzIz
MywxMyBAQCBzdGF0aWMgaW50IF9faW5pdCByZWdpc3Rlcl9leGNsdXNpb25f
cmFuCiAgICAgLyogcmVnaXN0ZXIgSU9NTVUgZXhjbHVzaW9uIHJhbmdlIHNl
dHRpbmdzIGZvciBkZXZpY2UgKi8KICAgICBpZiAoIGxpbWl0ID49IGlvbW11
X3RvcCAgKQogICAgIHsKLSAgICAgICAgcmVzZXJ2ZV9pb21tdV9leGNsdXNp
b25fcmFuZ2UoaW9tbXUsIGJhc2UsIGxpbWl0KTsKKyAgICAgICAgcmMgPSBy
ZXNlcnZlX2lvbW11X2V4Y2x1c2lvbl9yYW5nZShpb21tdSwgYmFzZSwgbGlt
aXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZmFsc2UgLyogYWxsICovLCBpdywgaXIpOwogICAgICAgICBpdnJzX21h
cHBpbmdzW2JkZl0uZHRlX2FsbG93X2V4Y2x1c2lvbiA9IElPTU1VX0NPTlRS
T0xfRU5BQkxFRDsKICAgICAgICAgaXZyc19tYXBwaW5nc1tyZXFdLmR0ZV9h
bGxvd19leGNsdXNpb24gPSBJT01NVV9DT05UUk9MX0VOQUJMRUQ7CiAgICAg
fQogCi0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIHJjOwogfQogCiBzdGF0
aWMgaW50IF9faW5pdCByZWdpc3Rlcl9leGNsdXNpb25fcmFuZ2VfZm9yX2lv
bW11X2RldmljZXMoCkBAIC0yMzcsNiArMjQ5LDcgQEAgc3RhdGljIGludCBf
X2luaXQgcmVnaXN0ZXJfZXhjbHVzaW9uX3JhbgogICAgIHVuc2lnbmVkIGxv
bmcgcmFuZ2VfdG9wLCBpb21tdV90b3AsIGxlbmd0aDsKICAgICB1bnNpZ25l
ZCBpbnQgYmRmOwogICAgIHUxNiByZXE7CisgICAgaW50IHJjID0gMDsKIAog
ICAgIC8qIGlzIHBhcnQgb2YgZXhjbHVzaW9uIHJhbmdlIGluc2lkZSBvZiBJ
T01NVSB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2U/ICovCiAgICAgLyogbm90ZTog
J2xpbWl0JyBwYXJhbWV0ZXIgaXMgYXNzdW1lZCB0byBiZSBwYWdlLWFsaWdu
ZWQgKi8KQEAgLTI2Nyw4ICsyODAsMTAgQEAgc3RhdGljIGludCBfX2luaXQg
cmVnaXN0ZXJfZXhjbHVzaW9uX3JhbgogCiAgICAgLyogcmVnaXN0ZXIgSU9N
TVUgZXhjbHVzaW9uIHJhbmdlIHNldHRpbmdzICovCiAgICAgaWYgKCBsaW1p
dCA+PSBpb21tdV90b3AgKQotICAgICAgICByZXNlcnZlX2lvbW11X2V4Y2x1
c2lvbl9yYW5nZV9hbGwoaW9tbXUsIGJhc2UsIGxpbWl0KTsKLSAgICByZXR1
cm4gMDsKKyAgICAgICAgcmMgPSByZXNlcnZlX2lvbW11X2V4Y2x1c2lvbl9y
YW5nZShpb21tdSwgYmFzZSwgbGltaXQsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAvKiBhbGwgKi8sIGl3LCBp
cik7CisKKyAgICByZXR1cm4gcmM7CiB9CiAKIHN0YXRpYyBpbnQgX19pbml0
IHBhcnNlX2l2bWRfZGV2aWNlX3NlbGVjdCgK

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.12-2.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.12-2.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBBTUQvSU9NTVU6IGNvcnJlY3QgZGV2aWNlIHVuaXR5IG1hcCBoYW5kbGlu
ZwoKQmxpbmRseSBhc3N1bWluZyBhbGwgYWRkcmVzc2VzIGJldHdlZW4gYW55
IHR3byBzdWNoIHJhbmdlcywgc3BlY2lmaWVkIGJ5CmZpcm13YXJlIGluIHRo
ZSBBQ1BJIHRhYmxlcywgc2hvdWxkIGFsc28gYmUgdW5pdHktbWFwcGVkIGNh
bid0IGJlIHJpZ2h0LgpOb3IgY2FuIGl0IGJlIGNvcnJlY3QgdG8gbWVyZ2Ug
cmFuZ2VzIHdpdGggZGlmZmVyaW5nIHBlcm1pc3Npb25zLiBUcmFjawpyYW5n
ZXMgaW5kaXZpZHVhbGx5OyBkb24ndCBtZXJnZSBhdCBhbGwsIGJ1dCBjaGVj
ayBmb3Igb3ZlcmxhcHMgaW5zdGVhZC4KVGhpcyByZXF1aXJlcyBidWJibGlu
ZyB1cCBlcnJvciBpbmRpY2F0b3JzLCBzdWNoIHRoYXQgSU9NTVUgaW5pdCBj
YW4gYmUKZmFpbGVkIHdoZW4gYWxsb2NhdGlvbiBvZiBhIG5ldyB0cmFja2lu
ZyBzdHJ1Y3Qgd2Fzbid0IHBvc3NpYmxlLCBvciBhbgpvdmVybGFwIHdhcyBk
ZXRlY3RlZC4KCkF0IHRoaXMgb2NjYXNpb24gYWxzbyBzdG9wIGlnbm9yaW5n
CmFtZF9pb21tdV9yZXNlcnZlX2RvbWFpbl91bml0eV9tYXAoKSdzIHJldHVy
biB2YWx1ZS4KClRoaXMgaXMgcGFydCBvZiBYU0EtMzc4IC8gQ1ZFLTIwMjEt
Mjg2OTUuCgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hA
c3VzZS5jb20+ClJldmlld2VkLWJ5OiBHZW9yZ2UgRHVubGFwIDxnZW9yZ2Uu
ZHVubGFwQGNpdHJpeC5jb20+ClJldmlld2VkLWJ5OiBQYXVsIER1cnJhbnQg
PHBhdWxAeGVuLm9yZz4KCi0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdo
L2FtZC9pb21tdV9hY3BpLmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91
Z2gvYW1kL2lvbW11X2FjcGkuYwpAQCAtMTI3LDMyICsxMjcsNDggQEAgc3Rh
dGljIGludCBfX2luaXQgcmVzZXJ2ZV9pb21tdV9leGNsdXNpbwogICAgIHJl
dHVybiAwOwogfQogCi1zdGF0aWMgdm9pZCBfX2luaXQgcmVzZXJ2ZV91bml0
eV9tYXBfZm9yX2RldmljZSgKLSAgICB1MTYgc2VnLCB1MTYgYmRmLCB1bnNp
Z25lZCBsb25nIGJhc2UsCi0gICAgdW5zaWduZWQgbG9uZyBsZW5ndGgsIHU4
IGl3LCB1OCBpcikKK3N0YXRpYyBpbnQgX19pbml0IHJlc2VydmVfdW5pdHlf
bWFwX2Zvcl9kZXZpY2UoCisgICAgdWludDE2X3Qgc2VnLCB1aW50MTZfdCBi
ZGYsIHVuc2lnbmVkIGxvbmcgYmFzZSwKKyAgICB1bnNpZ25lZCBsb25nIGxl
bmd0aCwgYm9vbCBpdywgYm9vbCBpcikKIHsKICAgICBzdHJ1Y3QgaXZyc19t
YXBwaW5ncyAqaXZyc19tYXBwaW5ncyA9IGdldF9pdnJzX21hcHBpbmdzKHNl
Zyk7Ci0gICAgdW5zaWduZWQgbG9uZyBvbGRfdG9wLCBuZXdfdG9wOworICAg
IHN0cnVjdCBpdnJzX3VuaXR5X21hcCAqdW5pdHlfbWFwID0gaXZyc19tYXBw
aW5nc1tiZGZdLnVuaXR5X21hcDsKIAotICAgIC8qIG5lZWQgdG8gZXh0ZW5k
IHVuaXR5LW1hcHBlZCByYW5nZT8gKi8KLSAgICBpZiAoIGl2cnNfbWFwcGlu
Z3NbYmRmXS51bml0eV9tYXBfZW5hYmxlICkKKyAgICAvKiBDaGVjayBmb3Ig
b3ZlcmxhcHMuICovCisgICAgZm9yICggOyB1bml0eV9tYXA7IHVuaXR5X21h
cCA9IHVuaXR5X21hcC0+bmV4dCApCiAgICAgewotICAgICAgICBvbGRfdG9w
ID0gaXZyc19tYXBwaW5nc1tiZGZdLmFkZHJfcmFuZ2Vfc3RhcnQgKwotICAg
ICAgICAgICAgaXZyc19tYXBwaW5nc1tiZGZdLmFkZHJfcmFuZ2VfbGVuZ3Ro
OwotICAgICAgICBuZXdfdG9wID0gYmFzZSArIGxlbmd0aDsKLSAgICAgICAg
aWYgKCBvbGRfdG9wID4gbmV3X3RvcCApCi0gICAgICAgICAgICBuZXdfdG9w
ID0gb2xkX3RvcDsKLSAgICAgICAgaWYgKCBpdnJzX21hcHBpbmdzW2JkZl0u
YWRkcl9yYW5nZV9zdGFydCA8IGJhc2UgKQotICAgICAgICAgICAgYmFzZSA9
IGl2cnNfbWFwcGluZ3NbYmRmXS5hZGRyX3JhbmdlX3N0YXJ0OwotICAgICAg
ICBsZW5ndGggPSBuZXdfdG9wIC0gYmFzZTsKLSAgICB9Ci0KLSAgICAvKiBl
eHRlbmQgci93IHBlcm1pc3Npb21zIGFuZCBrZWVwIGFnZ3JlZ2F0ZSAqLwot
ICAgIGl2cnNfbWFwcGluZ3NbYmRmXS53cml0ZV9wZXJtaXNzaW9uID0gaXc7
Ci0gICAgaXZyc19tYXBwaW5nc1tiZGZdLnJlYWRfcGVybWlzc2lvbiA9IGly
OwotICAgIGl2cnNfbWFwcGluZ3NbYmRmXS51bml0eV9tYXBfZW5hYmxlID0g
SU9NTVVfQ09OVFJPTF9FTkFCTEVEOwotICAgIGl2cnNfbWFwcGluZ3NbYmRm
XS5hZGRyX3JhbmdlX3N0YXJ0ID0gYmFzZTsKLSAgICBpdnJzX21hcHBpbmdz
W2JkZl0uYWRkcl9yYW5nZV9sZW5ndGggPSBsZW5ndGg7CisgICAgICAgIC8q
CisgICAgICAgICAqIEV4YWN0IG1hdGNoZXMgYXJlIG9rYXkuIFRoaXMgY2Fu
IGluIHBhcnRpY3VsYXIgaGFwcGVuIHdoZW4KKyAgICAgICAgICogcmVnaXN0
ZXJfZXhjbHVzaW9uX3JhbmdlX2Zvcl9kZXZpY2UoKSBjYWxscyBoZXJlIHR3
aWNlIGZvciB0aGUKKyAgICAgICAgICogc2FtZSAocyxiLGQsZikuCisgICAg
ICAgICAqLworICAgICAgICBpZiAoIGJhc2UgPT0gdW5pdHlfbWFwLT5hZGRy
ICYmIGxlbmd0aCA9PSB1bml0eV9tYXAtPmxlbmd0aCAmJgorICAgICAgICAg
ICAgIGlyID09IHVuaXR5X21hcC0+cmVhZCAmJiBpdyA9PSB1bml0eV9tYXAt
PndyaXRlICkKKyAgICAgICAgICAgIHJldHVybiAwOworCisgICAgICAgIGlm
ICggdW5pdHlfbWFwLT5hZGRyICsgdW5pdHlfbWFwLT5sZW5ndGggPiBiYXNl
ICYmCisgICAgICAgICAgICAgYmFzZSArIGxlbmd0aCA+IHVuaXR5X21hcC0+
YWRkciApCisgICAgICAgIHsKKyAgICAgICAgICAgIEFNRF9JT01NVV9ERUJV
RygiSVZNRCBFcnJvcjogb3ZlcmxhcCBbJWx4LCVseCkgdnMgWyVseCwlbHgp
XG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhc2UsIGJhc2Ug
KyBsZW5ndGgsIHVuaXR5X21hcC0+YWRkciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1bml0eV9tYXAtPmFkZHIgKyB1bml0eV9tYXAtPmxlbmd0
aCk7CisgICAgICAgICAgICByZXR1cm4gLUVQRVJNOworICAgICAgICB9Cisg
ICAgfQorCisgICAgLyogUG9wdWxhdGUgYW5kIGluc2VydCBhIG5ldyB1bml0
eSBtYXAuICovCisgICAgdW5pdHlfbWFwID0geG1hbGxvYyhzdHJ1Y3QgaXZy
c191bml0eV9tYXApOworICAgIGlmICggIXVuaXR5X21hcCApCisgICAgICAg
IHJldHVybiAtRU5PTUVNOworCisgICAgdW5pdHlfbWFwLT5yZWFkID0gaXI7
CisgICAgdW5pdHlfbWFwLT53cml0ZSA9IGl3OworICAgIHVuaXR5X21hcC0+
YWRkciA9IGJhc2U7CisgICAgdW5pdHlfbWFwLT5sZW5ndGggPSBsZW5ndGg7
CisgICAgdW5pdHlfbWFwLT5uZXh0ID0gaXZyc19tYXBwaW5nc1tiZGZdLnVu
aXR5X21hcDsKKyAgICBpdnJzX21hcHBpbmdzW2JkZl0udW5pdHlfbWFwID0g
dW5pdHlfbWFwOworCisgICAgcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQg
X19pbml0IHJlZ2lzdGVyX2V4Y2x1c2lvbl9yYW5nZV9mb3JfYWxsX2Rldmlj
ZXMoCkBAIC0xNzUsMTMgKzE5MSwxMyBAQCBzdGF0aWMgaW50IF9faW5pdCBy
ZWdpc3Rlcl9leGNsdXNpb25fcmFuCiAgICAgICAgIGxlbmd0aCA9IHJhbmdl
X3RvcCAtIGJhc2U7CiAgICAgICAgIC8qIHJlc2VydmUgci93IHVuaXR5LW1h
cHBlZCBwYWdlIGVudHJpZXMgZm9yIGRldmljZXMgKi8KICAgICAgICAgLyog
bm90ZTogdGhlc2UgZW50cmllcyBhcmUgcGFydCBvZiB0aGUgZXhjbHVzaW9u
IHJhbmdlICovCi0gICAgICAgIGZvciAoIGJkZiA9IDA7IGJkZiA8IGl2cnNf
YmRmX2VudHJpZXM7IGJkZisrICkKLSAgICAgICAgICAgIHJlc2VydmVfdW5p
dHlfbWFwX2Zvcl9kZXZpY2Uoc2VnLCBiZGYsIGJhc2UsIGxlbmd0aCwgaXcs
IGlyKTsKKyAgICAgICAgZm9yICggYmRmID0gMDsgIXJjICYmIGJkZiA8IGl2
cnNfYmRmX2VudHJpZXM7IGJkZisrICkKKyAgICAgICAgICAgIHJjID0gcmVz
ZXJ2ZV91bml0eV9tYXBfZm9yX2RldmljZShzZWcsIGJkZiwgYmFzZSwgbGVu
Z3RoLCBpdywgaXIpOwogICAgICAgICAvKiBwdXNoICdiYXNlJyBqdXN0IG91
dHNpZGUgb2YgdmlydHVhbCBhZGRyZXNzIHNwYWNlICovCiAgICAgICAgIGJh
c2UgPSBpb21tdV90b3A7CiAgICAgfQogICAgIC8qIHJlZ2lzdGVyIElPTU1V
IGV4Y2x1c2lvbiByYW5nZSBzZXR0aW5ncyAqLwotICAgIGlmICggbGltaXQg
Pj0gaW9tbXVfdG9wICkKKyAgICBpZiAoICFyYyAmJiBsaW1pdCA+PSBpb21t
dV90b3AgKQogICAgIHsKICAgICAgICAgZm9yX2VhY2hfYW1kX2lvbW11KCBp
b21tdSApCiAgICAgICAgIHsKQEAgLTIyMywxNSArMjM5LDE1IEBAIHN0YXRp
YyBpbnQgX19pbml0IHJlZ2lzdGVyX2V4Y2x1c2lvbl9yYW4KICAgICAgICAg
bGVuZ3RoID0gcmFuZ2VfdG9wIC0gYmFzZTsKICAgICAgICAgLyogcmVzZXJ2
ZSB1bml0eS1tYXBwZWQgcGFnZSBlbnRyaWVzIGZvciBkZXZpY2UgKi8KICAg
ICAgICAgLyogbm90ZTogdGhlc2UgZW50cmllcyBhcmUgcGFydCBvZiB0aGUg
ZXhjbHVzaW9uIHJhbmdlICovCi0gICAgICAgIHJlc2VydmVfdW5pdHlfbWFw
X2Zvcl9kZXZpY2Uoc2VnLCBiZGYsIGJhc2UsIGxlbmd0aCwgaXcsIGlyKTsK
LSAgICAgICAgcmVzZXJ2ZV91bml0eV9tYXBfZm9yX2RldmljZShzZWcsIHJl
cSwgYmFzZSwgbGVuZ3RoLCBpdywgaXIpOworICAgICAgICByYyA9IHJlc2Vy
dmVfdW5pdHlfbWFwX2Zvcl9kZXZpY2Uoc2VnLCBiZGYsIGJhc2UsIGxlbmd0
aCwgaXcsIGlyKSA/OgorICAgICAgICAgICAgIHJlc2VydmVfdW5pdHlfbWFw
X2Zvcl9kZXZpY2Uoc2VnLCByZXEsIGJhc2UsIGxlbmd0aCwgaXcsIGlyKTsK
IAogICAgICAgICAvKiBwdXNoICdiYXNlJyBqdXN0IG91dHNpZGUgb2Ygdmly
dHVhbCBhZGRyZXNzIHNwYWNlICovCiAgICAgICAgIGJhc2UgPSBpb21tdV90
b3A7CiAgICAgfQogCiAgICAgLyogcmVnaXN0ZXIgSU9NTVUgZXhjbHVzaW9u
IHJhbmdlIHNldHRpbmdzIGZvciBkZXZpY2UgKi8KLSAgICBpZiAoIGxpbWl0
ID49IGlvbW11X3RvcCAgKQorICAgIGlmICggIXJjICYmIGxpbWl0ID49IGlv
bW11X3RvcCAgKQogICAgIHsKICAgICAgICAgcmMgPSByZXNlcnZlX2lvbW11
X2V4Y2x1c2lvbl9yYW5nZShpb21tdSwgYmFzZSwgbGltaXQsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgLyog
YWxsICovLCBpdywgaXIpOwpAQCAtMjYyLDE1ICsyNzgsMTUgQEAgc3RhdGlj
IGludCBfX2luaXQgcmVnaXN0ZXJfZXhjbHVzaW9uX3JhbgogICAgICAgICBs
ZW5ndGggPSByYW5nZV90b3AgLSBiYXNlOwogICAgICAgICAvKiByZXNlcnZl
IHIvdyB1bml0eS1tYXBwZWQgcGFnZSBlbnRyaWVzIGZvciBkZXZpY2VzICov
CiAgICAgICAgIC8qIG5vdGU6IHRoZXNlIGVudHJpZXMgYXJlIHBhcnQgb2Yg
dGhlIGV4Y2x1c2lvbiByYW5nZSAqLwotICAgICAgICBmb3IgKCBiZGYgPSAw
OyBiZGYgPCBpdnJzX2JkZl9lbnRyaWVzOyBiZGYrKyApCisgICAgICAgIGZv
ciAoIGJkZiA9IDA7ICFyYyAmJiBiZGYgPCBpdnJzX2JkZl9lbnRyaWVzOyBi
ZGYrKyApCiAgICAgICAgIHsKICAgICAgICAgICAgIGlmICggaW9tbXUgPT0g
ZmluZF9pb21tdV9mb3JfZGV2aWNlKGlvbW11LT5zZWcsIGJkZikgKQogICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgIHJlc2VydmVfdW5pdHlfbWFw
X2Zvcl9kZXZpY2UoaW9tbXUtPnNlZywgYmRmLCBiYXNlLCBsZW5ndGgsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
dywgaXIpOwogICAgICAgICAgICAgICAgIHJlcSA9IGdldF9pdnJzX21hcHBp
bmdzKGlvbW11LT5zZWcpW2JkZl0uZHRlX3JlcXVlc3Rvcl9pZDsKLSAgICAg
ICAgICAgICAgICByZXNlcnZlX3VuaXR5X21hcF9mb3JfZGV2aWNlKGlvbW11
LT5zZWcsIHJlcSwgYmFzZSwgbGVuZ3RoLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaXcsIGlyKTsKKyAgICAgICAg
ICAgICAgICByYyA9IHJlc2VydmVfdW5pdHlfbWFwX2Zvcl9kZXZpY2UoaW9t
bXUtPnNlZywgYmRmLCBiYXNlLCBsZW5ndGgsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl3LCBpcikgPzoK
KyAgICAgICAgICAgICAgICAgICAgIHJlc2VydmVfdW5pdHlfbWFwX2Zvcl9k
ZXZpY2UoaW9tbXUtPnNlZywgcmVxLCBiYXNlLCBsZW5ndGgsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl3
LCBpcik7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIApAQCAtMjc5LDcg
KzI5NSw3IEBAIHN0YXRpYyBpbnQgX19pbml0IHJlZ2lzdGVyX2V4Y2x1c2lv
bl9yYW4KICAgICB9CiAKICAgICAvKiByZWdpc3RlciBJT01NVSBleGNsdXNp
b24gcmFuZ2Ugc2V0dGluZ3MgKi8KLSAgICBpZiAoIGxpbWl0ID49IGlvbW11
X3RvcCApCisgICAgaWYgKCAhcmMgJiYgbGltaXQgPj0gaW9tbXVfdG9wICkK
ICAgICAgICAgcmMgPSByZXNlcnZlX2lvbW11X2V4Y2x1c2lvbl9yYW5nZShp
b21tdSwgYmFzZSwgbGltaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdHJ1ZSAvKiBhbGwgKi8sIGl3LCBpcik7CiAK
LS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11X2luaXQu
YworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfaW5p
dC5jCkBAIC0xMTg5LDcgKzExODksNiBAQCBzdGF0aWMgaW50IF9faW5pdCBh
bGxvY19pdnJzX21hcHBpbmdzKHUxCiAgICAgewogICAgICAgICBpdnJzX21h
cHBpbmdzW2JkZl0uZHRlX3JlcXVlc3Rvcl9pZCA9IGJkZjsKICAgICAgICAg
aXZyc19tYXBwaW5nc1tiZGZdLmR0ZV9hbGxvd19leGNsdXNpb24gPSBJT01N
VV9DT05UUk9MX0RJU0FCTEVEOwotICAgICAgICBpdnJzX21hcHBpbmdzW2Jk
Zl0udW5pdHlfbWFwX2VuYWJsZSA9IElPTU1VX0NPTlRST0xfRElTQUJMRUQ7
CiAgICAgICAgIGl2cnNfbWFwcGluZ3NbYmRmXS5pb21tdSA9IE5VTEw7CiAK
ICAgICAgICAgaXZyc19tYXBwaW5nc1tiZGZdLmludHJlbWFwX3RhYmxlID0g
TlVMTDsKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL3BjaV9h
bWRfaW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQv
cGNpX2FtZF9pb21tdS5jCkBAIC0zNDYsMTUgKzM0NiwxNyBAQCBzdGF0aWMg
aW50IGFtZF9pb21tdV9hc3NpZ25fZGV2aWNlKHN0cnVjCiAgICAgc3RydWN0
IGl2cnNfbWFwcGluZ3MgKml2cnNfbWFwcGluZ3MgPSBnZXRfaXZyc19tYXBw
aW5ncyhwZGV2LT5zZWcpOwogICAgIGludCBiZGYgPSBQQ0lfQkRGMihwZGV2
LT5idXMsIGRldmZuKTsKICAgICBpbnQgcmVxX2lkID0gZ2V0X2RtYV9yZXF1
ZXN0b3JfaWQocGRldi0+c2VnLCBiZGYpOworICAgIGNvbnN0IHN0cnVjdCBp
dnJzX3VuaXR5X21hcCAqdW5pdHlfbWFwOwogCi0gICAgaWYgKCBpdnJzX21h
cHBpbmdzW3JlcV9pZF0udW5pdHlfbWFwX2VuYWJsZSApCisgICAgZm9yICgg
dW5pdHlfbWFwID0gaXZyc19tYXBwaW5nc1tyZXFfaWRdLnVuaXR5X21hcDsg
dW5pdHlfbWFwOworICAgICAgICAgIHVuaXR5X21hcCA9IHVuaXR5X21hcC0+
bmV4dCApCiAgICAgewotICAgICAgICBhbWRfaW9tbXVfcmVzZXJ2ZV9kb21h
aW5fdW5pdHlfbWFwKAotICAgICAgICAgICAgZCwKLSAgICAgICAgICAgIGl2
cnNfbWFwcGluZ3NbcmVxX2lkXS5hZGRyX3JhbmdlX3N0YXJ0LAotICAgICAg
ICAgICAgaXZyc19tYXBwaW5nc1tyZXFfaWRdLmFkZHJfcmFuZ2VfbGVuZ3Ro
LAotICAgICAgICAgICAgaXZyc19tYXBwaW5nc1tyZXFfaWRdLndyaXRlX3Bl
cm1pc3Npb24sCi0gICAgICAgICAgICBpdnJzX21hcHBpbmdzW3JlcV9pZF0u
cmVhZF9wZXJtaXNzaW9uKTsKKyAgICAgICAgaW50IHJjID0gYW1kX2lvbW11
X3Jlc2VydmVfZG9tYWluX3VuaXR5X21hcCgKKyAgICAgICAgICAgICAgICAg
ICAgIGQsIHVuaXR5X21hcC0+YWRkciwgdW5pdHlfbWFwLT5sZW5ndGgsCisg
ICAgICAgICAgICAgICAgICAgICB1bml0eV9tYXAtPndyaXRlLCB1bml0eV9t
YXAtPnJlYWQpOworCisgICAgICAgIGlmICggcmMgKQorICAgICAgICAgICAg
cmV0dXJuIHJjOwogICAgIH0KIAogICAgIHJldHVybiByZWFzc2lnbl9kZXZp
Y2UocGRldi0+ZG9tYWluLCBkLCBkZXZmbiwgcGRldik7Ci0tLSBhL3hlbi9p
bmNsdWRlL2FzbS14ODYvYW1kLWlvbW11LmgKKysrIGIveGVuL2luY2x1ZGUv
YXNtLXg4Ni9hbWQtaW9tbXUuaApAQCAtMTA4LDE1ICsxMDgsMTkgQEAgc3Ry
dWN0IGFtZF9pb21tdSB7CiAgICAgc3RydWN0IGxpc3RfaGVhZCBhdHNfZGV2
aWNlczsKIH07CiAKK3N0cnVjdCBpdnJzX3VuaXR5X21hcCB7CisgICAgYm9v
bCByZWFkOjE7CisgICAgYm9vbCB3cml0ZToxOworICAgIHBhZGRyX3QgYWRk
cjsKKyAgICB1bnNpZ25lZCBsb25nIGxlbmd0aDsKKyAgICBzdHJ1Y3QgaXZy
c191bml0eV9tYXAgKm5leHQ7Cit9OworCiBzdHJ1Y3QgaXZyc19tYXBwaW5n
cyB7CiAgICAgdTE2IGR0ZV9yZXF1ZXN0b3JfaWQ7CiAgICAgdTggZHRlX2Fs
bG93X2V4Y2x1c2lvbjsKLSAgICB1OCB1bml0eV9tYXBfZW5hYmxlOwotICAg
IHU4IHdyaXRlX3Blcm1pc3Npb247Ci0gICAgdTggcmVhZF9wZXJtaXNzaW9u
OwotICAgIHVuc2lnbmVkIGxvbmcgYWRkcl9yYW5nZV9zdGFydDsKLSAgICB1
bnNpZ25lZCBsb25nIGFkZHJfcmFuZ2VfbGVuZ3RoOwogICAgIHN0cnVjdCBh
bWRfaW9tbXUgKmlvbW11OworICAgIHN0cnVjdCBpdnJzX3VuaXR5X21hcCAq
dW5pdHlfbWFwOwogCiAgICAgLyogcGVyIGRldmljZSBpbnRlcnJ1cHQgcmVt
YXBwaW5nIHRhYmxlICovCiAgICAgdm9pZCAqaW50cmVtYXBfdGFibGU7Cg==

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.12-3.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.12-3.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBJT01NVTogYWxzbyBwYXNzIHAybV9hY2Nlc3NfdCB0byBwMm1fZ2V0X2lv
bW11X2ZsYWdzKCkKCkEgc3Vic2VxdWVudCBjaGFuZ2Ugd2lsbCB3YW50IHRv
IGN1c3RvbWl6ZSB0aGUgSU9NTVUgcGVybWlzc2lvbnMgYmFzZWQKb24gdGhp
cy4KClRoaXMgaXMgcGFydCBvZiBYU0EtMzc4LgoKU2lnbmVkLW9mZi1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTog
UGF1bCBEdXJyYW50IDxwYXVsQHhlbi5vcmc+CgotLS0gYS94ZW4vYXJjaC94
ODYvbW0vcDJtLWVwdC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0tZXB0
LmMKQEAgLTY3Miw3ICs2NzIsNyBAQCBlcHRfc2V0X2VudHJ5KHN0cnVjdCBw
Mm1fZG9tYWluICpwMm0sIGdmCiAgICAgdWludDhfdCBpcGF0ID0gMDsKICAg
ICBib29sX3QgbmVlZF9tb2RpZnlfdnRkX3RhYmxlID0gMTsKICAgICBib29s
X3QgdnRkX3B0ZV9wcmVzZW50ID0gMDsKLSAgICB1bnNpZ25lZCBpbnQgaW9t
bXVfZmxhZ3MgPSBwMm1fZ2V0X2lvbW11X2ZsYWdzKHAybXQsIG1mbik7Cisg
ICAgdW5zaWduZWQgaW50IGlvbW11X2ZsYWdzID0gcDJtX2dldF9pb21tdV9m
bGFncyhwMm10LCBwMm1hLCBtZm4pOwogICAgIGJvb2xfdCBuZWVkc19zeW5j
ID0gMTsKICAgICBlcHRfZW50cnlfdCBvbGRfZW50cnkgPSB7IC5lcHRlID0g
MCB9OwogICAgIGVwdF9lbnRyeV90IG5ld19lbnRyeSA9IHsgLmVwdGUgPSAw
IH07CkBAIC03OTksOCArNzk5LDggQEAgZXB0X3NldF9lbnRyeShzdHJ1Y3Qg
cDJtX2RvbWFpbiAqcDJtLCBnZgogCiAgICAgICAgIC8qIFNhZmUgdG8gcmVh
ZC10aGVuLXdyaXRlIGJlY2F1c2Ugd2UgaG9sZCB0aGUgcDJtIGxvY2sgKi8K
ICAgICAgICAgaWYgKCBlcHRfZW50cnktPm1mbiA9PSBuZXdfZW50cnkubWZu
ICYmCi0gICAgICAgICAgICAgcDJtX2dldF9pb21tdV9mbGFncyhlcHRfZW50
cnktPnNhX3AybXQsIF9tZm4oZXB0X2VudHJ5LT5tZm4pKSA9PQotICAgICAg
ICAgICAgIGlvbW11X2ZsYWdzICkKKyAgICAgICAgICAgICBwMm1fZ2V0X2lv
bW11X2ZsYWdzKGVwdF9lbnRyeS0+c2FfcDJtdCwgZXB0X2VudHJ5LT5hY2Nl
c3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfbWZuKGVw
dF9lbnRyeS0+bWZuKSkgPT0gaW9tbXVfZmxhZ3MgKQogICAgICAgICAgICAg
bmVlZF9tb2RpZnlfdnRkX3RhYmxlID0gMDsKIAogICAgICAgICBlcHRfcDJt
X3R5cGVfdG9fZmxhZ3MocDJtLCAmbmV3X2VudHJ5LCBwMm10LCBwMm1hKTsK
LS0tIGEveGVuL2FyY2gveDg2L21tL3AybS1wdC5jCisrKyBiL3hlbi9hcmNo
L3g4Ni9tbS9wMm0tcHQuYwpAQCAtNTEyLDYgKzUxMiwxNiBAQCBpbnQgcDJt
X3B0X2hhbmRsZV9kZWZlcnJlZF9jaGFuZ2VzKHVpbnQ2CiAgICAgcmV0dXJu
IHJjOwogfQogCisvKiBSZWNvbnN0cnVjdCBhIGZha2UgcDJtX2FjY2Vzc190
IGZyb20gc3RvcmVkIFBURSBmbGFncy4gKi8KK3N0YXRpYyBwMm1fYWNjZXNz
X3QgcDJtX2ZsYWdzX3RvX2FjY2Vzcyh1bnNpZ25lZCBpbnQgZmxhZ3MpCit7
CisgICAgaWYgKCBmbGFncyAmIF9QQUdFX1BSRVNFTlQgKQorICAgICAgICBy
ZXR1cm4gcDJtX2FjY2Vzc19uOworCisgICAgLyogTm8gbmVlZCB0byBsb29r
IGF0IF9QQUdFX05YIGZvciBub3cuICovCisgICAgcmV0dXJuIGZsYWdzICYg
X1BBR0VfUlcgPyBwMm1fYWNjZXNzX3J3IDogcDJtX2FjY2Vzc19yOworfQor
CiAvKiBDaGVja3Mgb25seSBhcHBsaWNhYmxlIHRvIGVudHJpZXMgd2l0aCBv
cmRlciA+IFBBR0VfT1JERVJfNEsgKi8KIHN0YXRpYyB2b2lkIGNoZWNrX2Vu
dHJ5KG1mbl90IG1mbiwgcDJtX3R5cGVfdCBuZXcsIHAybV90eXBlX3Qgb2xk
LAogICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG9yZGVy
KQpAQCAtNTQ2LDcgKzU1Niw3IEBAIHAybV9wdF9zZXRfZW50cnkoc3RydWN0
IHAybV9kb21haW4gKnAybSwKICAgICBsMl9wZ2VudHJ5X3QgbDJlX2NvbnRl
bnQ7CiAgICAgbDNfcGdlbnRyeV90IGwzZV9jb250ZW50OwogICAgIGludCBy
YzsKLSAgICB1bnNpZ25lZCBpbnQgaW9tbXVfcHRlX2ZsYWdzID0gcDJtX2dl
dF9pb21tdV9mbGFncyhwMm10LCBtZm4pOworICAgIHVuc2lnbmVkIGludCBp
b21tdV9wdGVfZmxhZ3MgPSBwMm1fZ2V0X2lvbW11X2ZsYWdzKHAybXQsIHAy
bWEsIG1mbik7CiAgICAgLyoKICAgICAgKiBvbGRfbWZuIGFuZCBpb21tdV9v
bGRfZmxhZ3MgY29udHJvbCBwb3NzaWJsZSBmbHVzaC91cGRhdGUgbmVlZHMg
b24gdGhlCiAgICAgICogSU9NTVU6IFdlIG5lZWQgdG8gZmx1c2ggd2hlbiBN
Rk4gb3IgZmxhZ3MgKGkuZS4gcGVybWlzc2lvbnMpIGNoYW5nZS4KQEAgLTYw
OSw2ICs2MTksNyBAQCBwMm1fcHRfc2V0X2VudHJ5KHN0cnVjdCBwMm1fZG9t
YWluICpwMm0sCiAgICAgICAgICAgICAgICAgb2xkX21mbiA9IGwxZV9nZXRf
cGZuKCpwMm1fZW50cnkpOwogICAgICAgICAgICAgICAgIGlvbW11X29sZF9m
bGFncyA9CiAgICAgICAgICAgICAgICAgICAgIHAybV9nZXRfaW9tbXVfZmxh
Z3MocDJtX2ZsYWdzX3RvX3R5cGUoZmxhZ3MpLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHAybV9mbGFnc190b19hY2Nlc3Mo
ZmxhZ3MpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIF9tZm4ob2xkX21mbikpOwogICAgICAgICAgICAgfQogICAgICAgICAg
ICAgZWxzZQpAQCAtNjU0LDkgKzY2NSwxMCBAQCBwMm1fcHRfc2V0X2VudHJ5
KHN0cnVjdCBwMm1fZG9tYWluICpwMm0sCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDAsIEwxX1BBR0VUQUJMRV9FTlRSSUVTKTsKICAg
ICAgICAgQVNTRVJUKHAybV9lbnRyeSk7CiAgICAgICAgIG9sZF9tZm4gPSBs
MWVfZ2V0X3BmbigqcDJtX2VudHJ5KTsKKyAgICAgICAgZmxhZ3MgPSBsMWVf
Z2V0X2ZsYWdzKCpwMm1fZW50cnkpOwogICAgICAgICBpb21tdV9vbGRfZmxh
Z3MgPQotICAgICAgICAgICAgcDJtX2dldF9pb21tdV9mbGFncyhwMm1fZmxh
Z3NfdG9fdHlwZShsMWVfZ2V0X2ZsYWdzKCpwMm1fZW50cnkpKSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgX21mbihvbGRfbWZuKSk7Cisg
ICAgICAgICAgICBwMm1fZ2V0X2lvbW11X2ZsYWdzKHAybV9mbGFnc190b190
eXBlKGZsYWdzKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cDJtX2ZsYWdzX3RvX2FjY2VzcyhmbGFncyksIF9tZm4ob2xkX21mbikpOwog
CiAgICAgICAgIGlmICggbWZuX3ZhbGlkKG1mbikgfHwgcDJtX2FsbG93c19p
bnZhbGlkX21mbihwMm10KSApCiAgICAgICAgICAgICBlbnRyeV9jb250ZW50
ID0gcDJtX2wxZV9mcm9tX3BmbihtZm5feChtZm4pLApAQCAtNjg3LDYgKzY5
OSw3IEBAIHAybV9wdF9zZXRfZW50cnkoc3RydWN0IHAybV9kb21haW4gKnAy
bSwKICAgICAgICAgICAgICAgICBvbGRfbWZuID0gbDFlX2dldF9wZm4oKnAy
bV9lbnRyeSk7CiAgICAgICAgICAgICAgICAgaW9tbXVfb2xkX2ZsYWdzID0K
ICAgICAgICAgICAgICAgICAgICAgcDJtX2dldF9pb21tdV9mbGFncyhwMm1f
ZmxhZ3NfdG9fdHlwZShmbGFncyksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcDJtX2ZsYWdzX3RvX2FjY2VzcyhmbGFncyks
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX21m
bihvbGRfbWZuKSk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNl
Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcDJtLmgKKysrIGIveGVuL2lu
Y2x1ZGUvYXNtLXg4Ni9wMm0uaApAQCAtODk5LDcgKzg5OSw4IEBAIHN0YXRp
YyBpbmxpbmUgdm9pZCBwMm1fYWx0cDJtX2NoZWNrKHN0cnUKIC8qCiAgKiBw
Mm0gdHlwZSB0byBJT01NVSBmbGFncwogICovCi1zdGF0aWMgaW5saW5lIHVu
c2lnbmVkIGludCBwMm1fZ2V0X2lvbW11X2ZsYWdzKHAybV90eXBlX3QgcDJt
dCwgbWZuX3QgbWZuKQorc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgcDJt
X2dldF9pb21tdV9mbGFncyhwMm1fdHlwZV90IHAybXQsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAybV9hY2Nl
c3NfdCBwMm1hLCBtZm5fdCBtZm4pCiB7CiAgICAgdW5zaWduZWQgaW50IGZs
YWdzOwogCg==

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.12-4.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.12-4.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBJT01NVTogZ2VuZXJhbGl6ZSBWVC1kJ3MgdHJhY2tpbmcgb2YgbWFwcGVk
IFJNUlIgcmVnaW9ucwoKSW4gb3JkZXIgdG8gcmUtdXNlIGl0IGVsc2V3aGVy
ZSwgbW92ZSB0aGUgbG9naWMgdG8gdmVuZG9yIGluZGVwZW5kZW50CmNvZGUg
YW5kIHN0cmlwIGl0IG9mIFJNUlIgc3BlY2lmaWNzLgoKTm90ZSB0aGF0IHRo
ZSBwcmlvciAibWFwIiBwYXJhbWV0ZXIgZ2V0cyBmb2xkZWQgaW50byB0aGUg
bmV3ICJwMm1hIiBvbmUKKHdoaWNoIEFNRCBJT01NVSBjb2RlIHdpbGwgd2Fu
dCB0byBtYWtlIHVzZSBvZiksIGFzc2lnbmluZyBhbHRlcm5hdGl2ZQptZWFu
aW5nICgidW5tYXAiKSB0byBwMm1fYWNjZXNzX3guIFByZXBhcmUgc2V0X2lk
ZW50aXR5X3AybV9lbnRyeSgpIGFuZApwMm1fZ2V0X2lvbW11X2ZsYWdzKCkg
Zm9yIGdldHRpbmcgcGFzc2VkIGFjY2VzcyB0eXBlcyBvdGhlciB0aGFuCnAy
bV9hY2Nlc3NfcncgKGluIHRoZSBsYXR0ZXIgY2FzZSBqdXN0IGZvciBwMm1f
bW1pb19kaXJlY3QgcmVxdWVzdHMpLgoKTm90ZSBhbHNvIHRoYXQsIHRvIGJl
IG9uIHRoZSBzYWZlIHNpZGUsIGFuIG92ZXJsYXAgY2hlY2sgZ2V0cyBhZGRl
ZCB0bwp0aGUgbWFpbiBsb29wIG9mIGlvbW11X2lkZW50aXR5X21hcHBpbmco
KS4KClRoaXMgaXMgcGFydCBvZiBYU0EtMzc4LgoKU2lnbmVkLW9mZi1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTog
UGF1bCBEdXJyYW50IDxwYXVsQHhlbi5vcmc+CgotLS0gYS94ZW4vYXJjaC94
ODYvbW0vcDJtLmMKKysrIGIveGVuL2FyY2gveDg2L21tL3AybS5jCkBAIC0x
MzQxLDcgKzEzNDEsNyBAQCBpbnQgc2V0X2lkZW50aXR5X3AybV9lbnRyeShz
dHJ1Y3QgZG9tYWluCiAgICAgICAgIGlmICggIWhhc19pb21tdV9wdChkKSAp
CiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgcmV0dXJuIGlvbW11
X2xlZ2FjeV9tYXAoZCwgX2RmbihnZm5fbCksIF9tZm4oZ2ZuX2wpLCBQQUdF
X09SREVSXzRLLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ
T01NVUZfcmVhZGFibGUgfCBJT01NVUZfd3JpdGFibGUpOworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwMm1fYWNjZXNzX3RvX2lvbW11X2Zs
YWdzKHAybWEpKTsKICAgICB9CiAKICAgICBnZm5fbG9jayhwMm0sIGdmbiwg
MCk7Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5j
CisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jCkBA
IC00MiwxMiArNDIsNiBAQAogI2luY2x1ZGUgInZ0ZC5oIgogI2luY2x1ZGUg
Ii4uL2F0cy5oIgogCi1zdHJ1Y3QgbWFwcGVkX3JtcnIgewotICAgIHN0cnVj
dCBsaXN0X2hlYWQgbGlzdDsKLSAgICB1NjQgYmFzZSwgZW5kOwotICAgIHVu
c2lnbmVkIGludCBjb3VudDsKLX07Ci0KIC8qIFBvc3NpYmxlIHVuZmlsdGVy
ZWQgTEFQSUMvTVNJIG1lc3NhZ2VzIGZyb20gdW50cnVzdGVkIHNvdXJjZXM/
ICovCiBib29sIF9fcmVhZF9tb3N0bHkgdW50cnVzdGVkX21zaTsKIApAQCAt
MTc4NywxNiArMTc4MSwxMSBAQCBvdXQ6CiBzdGF0aWMgdm9pZCBpb21tdV9k
b21haW5fdGVhcmRvd24oc3RydWN0IGRvbWFpbiAqZCkKIHsKICAgICBzdHJ1
Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21tdShkKTsKLSAgICBzdHJ1
Y3QgbWFwcGVkX3JtcnIgKm1ybXJyLCAqdG1wOwogCiAgICAgaWYgKCBsaXN0
X2VtcHR5KCZhY3BpX2RyaGRfdW5pdHMpICkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlICggbXJtcnIsIHRtcCwg
JmhkLT5hcmNoLm1hcHBlZF9ybXJycywgbGlzdCApCi0gICAgewotICAgICAg
ICBsaXN0X2RlbCgmbXJtcnItPmxpc3QpOwotICAgICAgICB4ZnJlZShtcm1y
cik7Ci0gICAgfQorICAgIGlvbW11X2lkZW50aXR5X21hcF90ZWFyZG93bihk
KTsKIAogICAgIEFTU0VSVChpb21tdV9lbmFibGVkKTsKIApAQCAtMTk1NSw3
NCArMTk0NCw2IEBAIHN0YXRpYyB2b2lkIGlvbW11X3NldF9wZ2Qoc3RydWN0
IGRvbWFpbgogICAgICAgICBwYWdldGFibGVfZ2V0X3BhZGRyKHBhZ2V0YWJs
ZV9mcm9tX21mbihwZ2RfbWZuKSk7CiB9CiAKLXN0YXRpYyBpbnQgcm1ycl9p
ZGVudGl0eV9tYXBwaW5nKHN0cnVjdCBkb21haW4gKmQsIGJvb2xfdCBtYXAs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1
Y3QgYWNwaV9ybXJyX3VuaXQgKnJtcnIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1MzIgZmxhZykKLXsKLSAgICB1bnNpZ25lZCBsb25n
IGJhc2VfcGZuID0gcm1yci0+YmFzZV9hZGRyZXNzID4+IFBBR0VfU0hJRlRf
NEs7Ci0gICAgdW5zaWduZWQgbG9uZyBlbmRfcGZuID0gUEFHRV9BTElHTl80
SyhybXJyLT5lbmRfYWRkcmVzcykgPj4gUEFHRV9TSElGVF80SzsKLSAgICBz
dHJ1Y3QgbWFwcGVkX3JtcnIgKm1ybXJyOwotICAgIHN0cnVjdCBkb21haW5f
aW9tbXUgKmhkID0gZG9tX2lvbW11KGQpOwotCi0gICAgQVNTRVJUKHBjaWRl
dnNfbG9ja2VkKCkpOwotICAgIEFTU0VSVChybXJyLT5iYXNlX2FkZHJlc3Mg
PCBybXJyLT5lbmRfYWRkcmVzcyk7Ci0KLSAgICAvKgotICAgICAqIE5vIG5l
ZWQgdG8gYWNxdWlyZSBoZC0+YXJjaC5tYXBwaW5nX2xvY2s6IEJvdGggaW5z
ZXJ0aW9uIGFuZCByZW1vdmFsCi0gICAgICogZ2V0IGRvbmUgd2hpbGUgaG9s
ZGluZyBwY2lkZXZzX2xvY2suCi0gICAgICovCi0gICAgbGlzdF9mb3JfZWFj
aF9lbnRyeSggbXJtcnIsICZoZC0+YXJjaC5tYXBwZWRfcm1ycnMsIGxpc3Qg
KQotICAgIHsKLSAgICAgICAgaWYgKCBtcm1yci0+YmFzZSA9PSBybXJyLT5i
YXNlX2FkZHJlc3MgJiYKLSAgICAgICAgICAgICBtcm1yci0+ZW5kID09IHJt
cnItPmVuZF9hZGRyZXNzICkKLSAgICAgICAgewotICAgICAgICAgICAgaW50
IHJldCA9IDA7Ci0KLSAgICAgICAgICAgIGlmICggbWFwICkKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICArK21ybXJyLT5jb3VudDsKLSAgICAg
ICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgICAgIH0KLQotICAgICAg
ICAgICAgaWYgKCAtLW1ybXJyLT5jb3VudCApCi0gICAgICAgICAgICAgICAg
cmV0dXJuIDA7Ci0KLSAgICAgICAgICAgIHdoaWxlICggYmFzZV9wZm4gPCBl
bmRfcGZuICkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBpZiAo
IGNsZWFyX2lkZW50aXR5X3AybV9lbnRyeShkLCBiYXNlX3BmbikgKQotICAg
ICAgICAgICAgICAgICAgICByZXQgPSAtRU5YSU87Ci0gICAgICAgICAgICAg
ICAgYmFzZV9wZm4rKzsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAg
bGlzdF9kZWwoJm1ybXJyLT5saXN0KTsKLSAgICAgICAgICAgIHhmcmVlKG1y
bXJyKTsKLSAgICAgICAgICAgIHJldHVybiByZXQ7Ci0gICAgICAgIH0KLSAg
ICB9Ci0KLSAgICBpZiAoICFtYXAgKQotICAgICAgICByZXR1cm4gLUVOT0VO
VDsKLQotICAgIHdoaWxlICggYmFzZV9wZm4gPCBlbmRfcGZuICkKLSAgICB7
Ci0gICAgICAgIGludCBlcnIgPSBzZXRfaWRlbnRpdHlfcDJtX2VudHJ5KGQs
IGJhc2VfcGZuLCBwMm1fYWNjZXNzX3J3LCBmbGFnKTsKLQotICAgICAgICBp
ZiAoIGVyciApCi0gICAgICAgICAgICByZXR1cm4gZXJyOwotICAgICAgICBi
YXNlX3BmbisrOwotICAgIH0KLQotICAgIG1ybXJyID0geG1hbGxvYyhzdHJ1
Y3QgbWFwcGVkX3JtcnIpOwotICAgIGlmICggIW1ybXJyICkKLSAgICAgICAg
cmV0dXJuIC1FTk9NRU07Ci0gICAgbXJtcnItPmJhc2UgPSBybXJyLT5iYXNl
X2FkZHJlc3M7Ci0gICAgbXJtcnItPmVuZCA9IHJtcnItPmVuZF9hZGRyZXNz
OwotICAgIG1ybXJyLT5jb3VudCA9IDE7Ci0gICAgbGlzdF9hZGRfdGFpbCgm
bXJtcnItPmxpc3QsICZoZC0+YXJjaC5tYXBwZWRfcm1ycnMpOwotCi0gICAg
cmV0dXJuIDA7Ci19Ci0KIHN0YXRpYyBpbnQgaW50ZWxfaW9tbXVfYWRkX2Rl
dmljZSh1OCBkZXZmbiwgc3RydWN0IHBjaV9kZXYgKnBkZXYpCiB7CiAgICAg
c3RydWN0IGFjcGlfcm1ycl91bml0ICpybXJyOwpAQCAtMjA1NCw3ICsxOTc1
LDkgQEAgc3RhdGljIGludCBpbnRlbF9pb21tdV9hZGRfZGV2aWNlKHU4IGRl
dgogICAgICAgICAgICAgICogU2luY2UgUk1SUnMgYXJlIGFsd2F5cyByZXNl
cnZlZCBpbiB0aGUgZTgyMCBtYXAgZm9yIHRoZSBoYXJkd2FyZQogICAgICAg
ICAgICAgICogZG9tYWluLCB0aGVyZSBzaG91bGRuJ3QgYmUgYSBjb25mbGlj
dC4KICAgICAgICAgICAgICAqLwotICAgICAgICAgICAgcmV0ID0gcm1ycl9p
ZGVudGl0eV9tYXBwaW5nKHBkZXYtPmRvbWFpbiwgMSwgcm1yciwgMCk7Cisg
ICAgICAgICAgICByZXQgPSBpb21tdV9pZGVudGl0eV9tYXBwaW5nKHBkZXYt
PmRvbWFpbiwgcDJtX2FjY2Vzc19ydywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcm1yci0+YmFzZV9hZGRyZXNzLCBybXJy
LT5lbmRfYWRkcmVzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMCk7CiAgICAgICAgICAgICBpZiAoIHJldCApCiAgICAg
ICAgICAgICAgICAgZHByaW50ayhYRU5MT0dfRVJSIFZURFBSRUZJWCwgImQl
ZDogUk1SUiBtYXBwaW5nIGZhaWxlZFxuIiwKICAgICAgICAgICAgICAgICAg
ICAgICAgIHBkZXYtPmRvbWFpbi0+ZG9tYWluX2lkKTsKQEAgLTIwOTksNyAr
MjAyMiw4IEBAIHN0YXRpYyBpbnQgaW50ZWxfaW9tbXVfcmVtb3ZlX2Rldmlj
ZSh1OAogICAgICAgICAgKiBBbnkgZmxhZyBpcyBub3RoaW5nIHRvIGNsZWFy
IHRoZXNlIG1hcHBpbmdzIGJ1dCBoZXJlCiAgICAgICAgICAqIGl0cyBhbHdh
eXMgc2FmZSBhbmQgc3RyaWN0IHRvIHNldCAwLgogICAgICAgICAgKi8KLSAg
ICAgICAgcm1ycl9pZGVudGl0eV9tYXBwaW5nKHBkZXYtPmRvbWFpbiwgMCwg
cm1yciwgMCk7CisgICAgICAgIGlvbW11X2lkZW50aXR5X21hcHBpbmcocGRl
di0+ZG9tYWluLCBwMm1fYWNjZXNzX3gsIHJtcnItPmJhc2VfYWRkcmVzcywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBybXJyLT5lbmRfYWRk
cmVzcywgMCk7CiAgICAgfQogCiAgICAgcmV0dXJuIGRvbWFpbl9jb250ZXh0
X3VubWFwKHBkZXYtPmRvbWFpbiwgZGV2Zm4sIHBkZXYpOwpAQCAtMjI2Niw3
ICsyMTkwLDggQEAgc3RhdGljIHZvaWQgX19od2RvbV9pbml0IHNldHVwX2h3
ZG9tX3JtcgogICAgICAgICAgKiBkb21haW4sIHRoZXJlIHNob3VsZG4ndCBi
ZSBhIGNvbmZsaWN0LiBTbyBpdHMgYWx3YXlzIHNhZmUgYW5kCiAgICAgICAg
ICAqIHN0cmljdCB0byBzZXQgMC4KICAgICAgICAgICovCi0gICAgICAgIHJl
dCA9IHJtcnJfaWRlbnRpdHlfbWFwcGluZyhkLCAxLCBybXJyLCAwKTsKKyAg
ICAgICAgcmV0ID0gaW9tbXVfaWRlbnRpdHlfbWFwcGluZyhkLCBwMm1fYWNj
ZXNzX3J3LCBybXJyLT5iYXNlX2FkZHJlc3MsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcm1yci0+ZW5kX2FkZHJlc3MsIDApOwog
ICAgICAgICBpZiAoIHJldCApCiAgICAgICAgICAgICBkcHJpbnRrKFhFTkxP
R19FUlIgVlREUFJFRklYLAogICAgICAgICAgICAgICAgICAgICAgIklPTU1V
OiBtYXBwaW5nIHJlc2VydmVkIHJlZ2lvbiBmYWlsZWRcbiIpOwpAQCAtMjQy
NSw3ICsyMzUwLDkgQEAgc3RhdGljIGludCByZWFzc2lnbl9kZXZpY2Vfb3du
ZXJzaGlwKAogICAgICAgICAgICAgICAgICAqIEFueSBSTVJSIGZsYWcgaXMg
YWx3YXlzIGlnbm9yZWQgd2hlbiByZW1vdmUgYSBkZXZpY2UsCiAgICAgICAg
ICAgICAgICAgICogYnV0IGl0cyBhbHdheXMgc2FmZSBhbmQgc3RyaWN0IHRv
IHNldCAwLgogICAgICAgICAgICAgICAgICAqLwotICAgICAgICAgICAgICAg
IHJldCA9IHJtcnJfaWRlbnRpdHlfbWFwcGluZyhzb3VyY2UsIDAsIHJtcnIs
IDApOworICAgICAgICAgICAgICAgIHJldCA9IGlvbW11X2lkZW50aXR5X21h
cHBpbmcoc291cmNlLCBwMm1fYWNjZXNzX3gsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBybXJyLT5iYXNlX2FkZHJl
c3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBybXJyLT5lbmRfYWRkcmVzcywgMCk7CiAgICAgICAgICAgICAgICAg
aWYgKCByZXQgIT0gLUVOT0VOVCApCiAgICAgICAgICAgICAgICAgICAgIHJl
dHVybiByZXQ7CiAgICAgICAgICAgICB9CkBAIC0yNTIyLDcgKzI0NDksOCBA
QCBzdGF0aWMgaW50IGludGVsX2lvbW11X2Fzc2lnbl9kZXZpY2UoCiAgICAg
ICAgICAgICAgUENJX0JVUyhiZGYpID09IGJ1cyAmJgogICAgICAgICAgICAg
IFBDSV9ERVZGTjIoYmRmKSA9PSBkZXZmbiApCiAgICAgICAgIHsKLSAgICAg
ICAgICAgIHJldCA9IHJtcnJfaWRlbnRpdHlfbWFwcGluZyhkLCAxLCBybXJy
LCBmbGFnKTsKKyAgICAgICAgICAgIHJldCA9IGlvbW11X2lkZW50aXR5X21h
cHBpbmcoZCwgcDJtX2FjY2Vzc19ydywgcm1yci0+YmFzZV9hZGRyZXNzLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBybXJy
LT5lbmRfYWRkcmVzcywgZmxhZyk7CiAgICAgICAgICAgICBpZiAoIHJldCAp
CiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgaW50IHJjOwotLS0g
YS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC94ODYvaW9tbXUuYworKysgYi94
ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC94ODYvaW9tbXUuYwpAQCAtMTUwLDcg
KzE1MCw3IEBAIGludCBhcmNoX2lvbW11X2RvbWFpbl9pbml0KHN0cnVjdCBk
b21haW4KICAgICBzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21t
dShkKTsKIAogICAgIHNwaW5fbG9ja19pbml0KCZoZC0+YXJjaC5tYXBwaW5n
X2xvY2spOwotICAgIElOSVRfTElTVF9IRUFEKCZoZC0+YXJjaC5tYXBwZWRf
cm1ycnMpOworICAgIElOSVRfTElTVF9IRUFEKCZoZC0+YXJjaC5pZGVudGl0
eV9tYXBzKTsKIAogICAgIHJldHVybiAwOwogfQpAQCAtMTU5LDYgKzE1OSw5
OSBAQCB2b2lkIGFyY2hfaW9tbXVfZG9tYWluX2Rlc3Ryb3koc3RydWN0IGRv
CiB7CiB9CiAKK3N0cnVjdCBpZGVudGl0eV9tYXAgeworICAgIHN0cnVjdCBs
aXN0X2hlYWQgbGlzdDsKKyAgICBwYWRkcl90IGJhc2UsIGVuZDsKKyAgICBw
Mm1fYWNjZXNzX3QgYWNjZXNzOworICAgIHVuc2lnbmVkIGludCBjb3VudDsK
K307CisKK2ludCBpb21tdV9pZGVudGl0eV9tYXBwaW5nKHN0cnVjdCBkb21h
aW4gKmQsIHAybV9hY2Nlc3NfdCBwMm1hLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcGFkZHJfdCBiYXNlLCBwYWRkcl90IGVuZCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBmbGFnKQoreworICAg
IHVuc2lnbmVkIGxvbmcgYmFzZV9wZm4gPSBiYXNlID4+IFBBR0VfU0hJRlRf
NEs7CisgICAgdW5zaWduZWQgbG9uZyBlbmRfcGZuID0gUEFHRV9BTElHTl80
SyhlbmQpID4+IFBBR0VfU0hJRlRfNEs7CisgICAgc3RydWN0IGlkZW50aXR5
X21hcCAqbWFwOworICAgIHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9t
X2lvbW11KGQpOworCisgICAgQVNTRVJUKHBjaWRldnNfbG9ja2VkKCkpOwor
ICAgIEFTU0VSVChiYXNlIDwgZW5kKTsKKworICAgIC8qCisgICAgICogTm8g
bmVlZCB0byBhY3F1aXJlIGhkLT5hcmNoLm1hcHBpbmdfbG9jazogQm90aCBp
bnNlcnRpb24gYW5kIHJlbW92YWwKKyAgICAgKiBnZXQgZG9uZSB3aGlsZSBo
b2xkaW5nIHBjaWRldnNfbG9jay4KKyAgICAgKi8KKyAgICBsaXN0X2Zvcl9l
YWNoX2VudHJ5KCBtYXAsICZoZC0+YXJjaC5pZGVudGl0eV9tYXBzLCBsaXN0
ICkKKyAgICB7CisgICAgICAgIGlmICggbWFwLT5iYXNlID09IGJhc2UgJiYg
bWFwLT5lbmQgPT0gZW5kICkKKyAgICAgICAgeworICAgICAgICAgICAgaW50
IHJldCA9IDA7CisKKyAgICAgICAgICAgIGlmICggcDJtYSAhPSBwMm1fYWNj
ZXNzX3ggKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmICgg
bWFwLT5hY2Nlc3MgIT0gcDJtYSApCisgICAgICAgICAgICAgICAgICAgIHJl
dHVybiAtRUFERFJJTlVTRTsKKyAgICAgICAgICAgICAgICArK21hcC0+Y291
bnQ7CisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgIGlmICggLS1tYXAtPmNvdW50ICkKKyAgICAgICAg
ICAgICAgICByZXR1cm4gMDsKKworICAgICAgICAgICAgd2hpbGUgKCBiYXNl
X3BmbiA8IGVuZF9wZm4gKQorICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgIGlmICggY2xlYXJfaWRlbnRpdHlfcDJtX2VudHJ5KGQsIGJhc2VfcGZu
KSApCisgICAgICAgICAgICAgICAgICAgIHJldCA9IC1FTlhJTzsKKyAgICAg
ICAgICAgICAgICBiYXNlX3BmbisrOworICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICBsaXN0X2RlbCgmbWFwLT5saXN0KTsKKyAgICAgICAgICAgIHhm
cmVlKG1hcCk7CisKKyAgICAgICAgICAgIHJldHVybiByZXQ7CisgICAgICAg
IH0KKworICAgICAgICBpZiAoIGVuZCA+PSBtYXAtPmJhc2UgJiYgbWFwLT5l
bmQgPj0gYmFzZSApCisgICAgICAgICAgICByZXR1cm4gLUVBRERSSU5VU0U7
CisgICAgfQorCisgICAgaWYgKCBwMm1hID09IHAybV9hY2Nlc3NfeCApCisg
ICAgICAgIHJldHVybiAtRU5PRU5UOworCisgICAgd2hpbGUgKCBiYXNlX3Bm
biA8IGVuZF9wZm4gKQorICAgIHsKKyAgICAgICAgaW50IGVyciA9IHNldF9p
ZGVudGl0eV9wMm1fZW50cnkoZCwgYmFzZV9wZm4sIHAybWEsIGZsYWcpOwor
CisgICAgICAgIGlmICggZXJyICkKKyAgICAgICAgICAgIHJldHVybiBlcnI7
CisgICAgICAgIGJhc2VfcGZuKys7CisgICAgfQorCisgICAgbWFwID0geG1h
bGxvYyhzdHJ1Y3QgaWRlbnRpdHlfbWFwKTsKKyAgICBpZiAoICFtYXAgKQor
ICAgICAgICByZXR1cm4gLUVOT01FTTsKKyAgICBtYXAtPmJhc2UgPSBiYXNl
OworICAgIG1hcC0+ZW5kID0gZW5kOworICAgIG1hcC0+YWNjZXNzID0gcDJt
YTsKKyAgICBtYXAtPmNvdW50ID0gMTsKKyAgICBsaXN0X2FkZF90YWlsKCZt
YXAtPmxpc3QsICZoZC0+YXJjaC5pZGVudGl0eV9tYXBzKTsKKworICAgIHJl
dHVybiAwOworfQorCit2b2lkIGlvbW11X2lkZW50aXR5X21hcF90ZWFyZG93
bihzdHJ1Y3QgZG9tYWluICpkKQoreworICAgIHN0cnVjdCBkb21haW5faW9t
bXUgKmhkID0gZG9tX2lvbW11KGQpOworICAgIHN0cnVjdCBpZGVudGl0eV9t
YXAgKm1hcCwgKnRtcDsKKworICAgIGxpc3RfZm9yX2VhY2hfZW50cnlfc2Fm
ZSAoIG1hcCwgdG1wLCAmaGQtPmFyY2guaWRlbnRpdHlfbWFwcywgbGlzdCAp
CisgICAgeworICAgICAgICBsaXN0X2RlbCgmbWFwLT5saXN0KTsKKyAgICAg
ICAgeGZyZWUobWFwKTsKKyAgICB9Cit9CisKIHN0YXRpYyBib29sIF9faHdk
b21faW5pdCBod2RvbV9pb21tdV9tYXAoY29uc3Qgc3RydWN0IGRvbWFpbiAq
ZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5zaWduZWQgbG9uZyBwZm4sCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbWF4X3BmbikKLS0tIGEv
eGVuL2luY2x1ZGUvYXNtLXg4Ni9pb21tdS5oCisrKyBiL3hlbi9pbmNsdWRl
L2FzbS14ODYvaW9tbXUuaApAQCAtMTYsNiArMTYsNyBAQAogCiAjaW5jbHVk
ZSA8eGVuL2Vycm5vLmg+CiAjaW5jbHVkZSA8eGVuL2xpc3QuaD4KKyNpbmNs
dWRlIDx4ZW4vbWVtX2FjY2Vzcy5oPgogI2luY2x1ZGUgPHhlbi9zcGlubG9j
ay5oPgogI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KICNpbmNsdWRlIDxh
c20vaHZtL3ZteC92bWNzLmg+CkBAIC00OCw3ICs0OSw3IEBAIHN0cnVjdCBh
cmNoX2lvbW11CiAgICAgc3BpbmxvY2tfdCBtYXBwaW5nX2xvY2s7ICAgICAg
ICAgICAgLyogaW8gcGFnZSB0YWJsZSBsb2NrICovCiAgICAgaW50IGFnYXc7
ICAgICAvKiBhZGp1c3RlZCBndWVzdCBhZGRyZXNzIHdpZHRoLCAwIGlzIGxl
dmVsIDIgMzAtYml0ICovCiAgICAgdTY0IGlvbW11X2JpdG1hcDsgICAgICAg
ICAgICAgIC8qIGJpdG1hcCBvZiBpb21tdShzKSB0aGF0IHRoZSBkb21haW4g
dXNlcyAqLwotICAgIHN0cnVjdCBsaXN0X2hlYWQgbWFwcGVkX3JtcnJzOwor
ICAgIHN0cnVjdCBsaXN0X2hlYWQgaWRlbnRpdHlfbWFwczsKIAogICAgIC8q
IGFtZCBpb21tdSBzdXBwb3J0ICovCiAgICAgaW50IHBhZ2luZ19tb2RlOwpA
QCAtOTQsNiArOTUsMTEgQEAgYm9vbF90IGlvbW11X3N1cHBvcnRzX2VpbSh2
b2lkKTsKIGludCBpb21tdV9lbmFibGVfeDJhcGljX0lSKHZvaWQpOwogdm9p
ZCBpb21tdV9kaXNhYmxlX3gyYXBpY19JUih2b2lkKTsKIAoraW50IGlvbW11
X2lkZW50aXR5X21hcHBpbmcoc3RydWN0IGRvbWFpbiAqZCwgcDJtX2FjY2Vz
c190IHAybWEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkcl90
IGJhc2UsIHBhZGRyX3QgZW5kLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdW5zaWduZWQgaW50IGZsYWcpOwordm9pZCBpb21tdV9pZGVudGl0eV9t
YXBfdGVhcmRvd24oc3RydWN0IGRvbWFpbiAqZCk7CisKIGV4dGVybiBib29s
IHVudHJ1c3RlZF9tc2k7CiAKIGludCBwaV91cGRhdGVfaXJ0ZShjb25zdCBz
dHJ1Y3QgcGlfZGVzYyAqcGlfZGVzYywgY29uc3Qgc3RydWN0IHBpcnEgKnBp
cnEsCi0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcDJtLmgKKysrIGIveGVu
L2luY2x1ZGUvYXNtLXg4Ni9wMm0uaApAQCAtODk2LDYgKzg5NiwzNCBAQCBz
dHJ1Y3QgcDJtX2RvbWFpbiAqcDJtX2dldF9hbHRwMm0oc3RydWN0CiBzdGF0
aWMgaW5saW5lIHZvaWQgcDJtX2FsdHAybV9jaGVjayhzdHJ1Y3QgdmNwdSAq
diwgdWludDE2X3QgaWR4KSB7fQogI2VuZGlmCiAKKy8qIHAybSBhY2Nlc3Mg
dG8gSU9NTVUgZmxhZ3MgKi8KK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50
IHAybV9hY2Nlc3NfdG9faW9tbXVfZmxhZ3MocDJtX2FjY2Vzc190IHAybWEp
Cit7CisgICAgc3dpdGNoICggcDJtYSApCisgICAgeworICAgIGNhc2UgcDJt
X2FjY2Vzc19ydzoKKyAgICBjYXNlIHAybV9hY2Nlc3Nfcnd4OgorICAgICAg
ICByZXR1cm4gSU9NTVVGX3JlYWRhYmxlIHwgSU9NTVVGX3dyaXRhYmxlOwor
CisgICAgY2FzZSBwMm1fYWNjZXNzX3I6CisgICAgY2FzZSBwMm1fYWNjZXNz
X3J4OgorICAgIGNhc2UgcDJtX2FjY2Vzc19yeDJydzoKKyAgICAgICAgcmV0
dXJuIElPTU1VRl9yZWFkYWJsZTsKKworICAgIGNhc2UgcDJtX2FjY2Vzc193
OgorICAgIGNhc2UgcDJtX2FjY2Vzc193eDoKKyAgICAgICAgcmV0dXJuIElP
TU1VRl93cml0YWJsZTsKKworICAgIGNhc2UgcDJtX2FjY2Vzc19uOgorICAg
IGNhc2UgcDJtX2FjY2Vzc194OgorICAgIGNhc2UgcDJtX2FjY2Vzc19uMnJ3
eDoKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgQVNTRVJUX1VO
UkVBQ0hBQkxFKCk7CisgICAgcmV0dXJuIDA7Cit9CisKIC8qCiAgKiBwMm0g
dHlwZSB0byBJT01NVSBmbGFncwogICovCkBAIC05MTcsOSArOTQ1LDEwIEBA
IHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IHAybV9nZXRfaW9tbXUKICAg
ICAgICAgZmxhZ3MgPSBJT01NVUZfcmVhZGFibGU7CiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgcDJtX21taW9fZGlyZWN0OgotICAgICAgICBmbGFncyA9
IElPTU1VRl9yZWFkYWJsZTsKLSAgICAgICAgaWYgKCAhcmFuZ2VzZXRfY29u
dGFpbnNfc2luZ2xldG9uKG1taW9fcm9fcmFuZ2VzLCBtZm5feChtZm4pKSAp
Ci0gICAgICAgICAgICBmbGFncyB8PSBJT01NVUZfd3JpdGFibGU7CisgICAg
ICAgIGZsYWdzID0gcDJtX2FjY2Vzc190b19pb21tdV9mbGFncyhwMm1hKTsK
KyAgICAgICAgaWYgKCAoZmxhZ3MgJiBJT01NVUZfd3JpdGFibGUpICYmCisg
ICAgICAgICAgICAgcmFuZ2VzZXRfY29udGFpbnNfc2luZ2xldG9uKG1taW9f
cm9fcmFuZ2VzLCBtZm5feChtZm4pKSApCisgICAgICAgICAgICBmbGFncyAm
PSB+SU9NTVVGX3dyaXRhYmxlOwogICAgICAgICBicmVhazsKICAgICBkZWZh
dWx0OgogICAgICAgICBmbGFncyA9IDA7Cg==

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.12-5.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.12-5.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBBTUQvSU9NTVU6IHJlLWFycmFuZ2UvY29tcGxldGUgcmUtYXNzaWdubWVu
dCBoYW5kbGluZwoKUHJpb3IgdG8gdGhlIGFzc2lnbm1lbnQgc3RlcCBoYXZp
bmcgY29tcGxldGVkIHN1Y2Nlc3NmdWxseSwgZGV2aWNlcwpzaG91bGQgbm90
IGdldCBhc3NvY2lhdGVkIHdpdGggdGhlaXIgbmV3IG93bmVyLiBIYW5kIHRo
ZSBkZXZpY2UgdG8gRG9tSU8KKHBlcmhhcHMgdGVtcG9yYXJpbHkpLCB1bnRp
bCBhZnRlciB0aGUgZGUtYXNzaWdubWVudCBzdGVwIGhhcyBjb21wbGV0ZWQu
CgpEZS1hc3NpZ25tZW50IG9mIGEgZGV2aWNlIChmcm9tIG90aGVyIHRoYW4g
RG9tMCkgYXMgd2VsbCBhcyBmYWlsdXJlIG9mCnJlYXNzaWduX2RldmljZSgp
IGR1cmluZyBhc3NpZ25tZW50IHNob3VsZCByZXN1bHQgaW4gdW5pdHkgbWFw
cGluZ3MKZ2V0dGluZyB0b3JuIGRvd24uIFRoaXMgaW4gdHVybiByZXF1aXJl
cyBzd2l0Y2hpbmcgdG8gYSByZWZjb3VudGVkCm1hcHBpbmcgYXBwcm9hY2gs
IGFzIHdhcyBhbHJlYWR5IHVzZWQgYnkgVlQtZCBmb3IgaXRzIFJNUlJzLCB0
byBwcmV2ZW50CnVubWFwcGluZyBhIHJlZ2lvbiB1c2VkIGJ5IG11bHRpcGxl
IGRldmljZXMuCgpUaGlzIGlzIENWRS0yMDIxLTI4Njk2IC8gcGFydCBvZiBY
U0EtMzc4LgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpSZXZpZXdlZC1ieTogUGF1bCBEdXJyYW50IDxwYXVsQHhl
bi5vcmc+CgotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9t
bXVfbWFwLmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lv
bW11X21hcC5jCkBAIC02MTMsMzggKzYxMyw0OSBAQCBpbnQgYW1kX2lvbW11
X2ZsdXNoX2lvdGxiX2FsbChzdHJ1Y3QgZG9tCiAgICAgcmV0dXJuIDA7CiB9
CiAKLWludCBhbWRfaW9tbXVfcmVzZXJ2ZV9kb21haW5fdW5pdHlfbWFwKHN0
cnVjdCBkb21haW4gKmRvbWFpbiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBhZGRyX3QgcGh5c19hZGRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBz
aXplLCBpbnQgaXcsIGludCBpcikKK2ludCBhbWRfaW9tbXVfcmVzZXJ2ZV9k
b21haW5fdW5pdHlfbWFwKHN0cnVjdCBkb21haW4gKmQsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgaXZy
c191bml0eV9tYXAgKm1hcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIGludCBmbGFnKQogewotICAgIHVuc2ln
bmVkIGxvbmcgbnBhZ2VzLCBpOwotICAgIHVuc2lnbmVkIGxvbmcgZ2ZuOwot
ICAgIHVuc2lnbmVkIGludCBmbGFncyA9ICEhaXI7Ci0gICAgdW5zaWduZWQg
aW50IGZsdXNoX2ZsYWdzID0gMDsKLSAgICBpbnQgcnQgPSAwOwotCi0gICAg
aWYgKCBpdyApCi0gICAgICAgIGZsYWdzIHw9IElPTU1VRl93cml0YWJsZTsK
LQotICAgIG5wYWdlcyA9IHJlZ2lvbl90b19wYWdlcyhwaHlzX2FkZHIsIHNp
emUpOwotICAgIGdmbiA9IHBoeXNfYWRkciA+PiBQQUdFX1NISUZUOwotICAg
IGZvciAoIGkgPSAwOyBpIDwgbnBhZ2VzOyBpKysgKQorICAgIGludCByYzsK
KworICAgIGlmICggZCA9PSBkb21faW8gKQorICAgICAgICByZXR1cm4gMDsK
KworICAgIGZvciAoIHJjID0gMDsgIXJjICYmIG1hcDsgbWFwID0gbWFwLT5u
ZXh0ICkKICAgICB7Ci0gICAgICAgIHVuc2lnbmVkIGxvbmcgZnJhbWUgPSBn
Zm4gKyBpOworICAgICAgICBwMm1fYWNjZXNzX3QgcDJtYSA9IHAybV9hY2Nl
c3NfbjsKKworICAgICAgICBpZiAoIG1hcC0+cmVhZCApCisgICAgICAgICAg
ICBwMm1hIHw9IHAybV9hY2Nlc3NfcjsKKyAgICAgICAgaWYgKCBtYXAtPndy
aXRlICkKKyAgICAgICAgICAgIHAybWEgfD0gcDJtX2FjY2Vzc193OwogCi0g
ICAgICAgIHJ0ID0gYW1kX2lvbW11X21hcF9wYWdlKGRvbWFpbiwgX2Rmbihm
cmFtZSksIF9tZm4oZnJhbWUpLCBmbGFncywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJmZsdXNoX2ZsYWdzKTsKLSAgICAgICAgaWYgKCBy
dCAhPSAwICkKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICByYyA9IGlv
bW11X2lkZW50aXR5X21hcHBpbmcoZCwgcDJtYSwgbWFwLT5hZGRyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLT5hZGRyICsg
bWFwLT5sZW5ndGggLSAxLCBmbGFnKTsKICAgICB9CiAKLSAgICAvKiBVc2Ug
d2hpbGUtYnJlYWsgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZyAqLwotICAg
IHdoaWxlICggZmx1c2hfZmxhZ3MgJiYKLSAgICAgICAgICAgIGFtZF9pb21t
dV9mbHVzaF9pb3RsYl9wYWdlcyhkb21haW4sIF9kZm4oZ2ZuKSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBucGFnZXMsIGZs
dXNoX2ZsYWdzKSApCi0gICAgICAgIGJyZWFrOworICAgIHJldHVybiByYzsK
K30KKworaW50IGFtZF9pb21tdV9yZXNlcnZlX2RvbWFpbl91bml0eV91bm1h
cChzdHJ1Y3QgZG9tYWluICpkLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgaXZyc191bml0eV9tYXAg
Km1hcCkKK3sKKyAgICBpbnQgcmM7CisKKyAgICBpZiAoIGQgPT0gZG9tX2lv
ICkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBmb3IgKCByYyA9IDA7IG1h
cDsgbWFwID0gbWFwLT5uZXh0ICkKKyAgICB7CisgICAgICAgIGludCByZXQg
PSBpb21tdV9pZGVudGl0eV9tYXBwaW5nKGQsIHAybV9hY2Nlc3NfeCwgbWFw
LT5hZGRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBtYXAtPmFkZHIgKyBtYXAtPmxlbmd0aCAtIDEsIDApOworCisgICAg
ICAgIGlmICggcmV0ICYmIHJldCAhPSAtRU5PRU5UICYmICFyYyApCisgICAg
ICAgICAgICByYyA9IHJldDsKKyAgICB9CiAKLSAgICByZXR1cm4gcnQ7Cisg
ICAgcmV0dXJuIHJjOwogfQogCiAvKiBTaGFyZSBwMm0gdGFibGUgd2l0aCBp
b21tdS4gKi8KLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL3Bj
aV9hbWRfaW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9h
bWQvcGNpX2FtZF9pb21tdS5jCkBAIC0zMDcsNiArMzA3LDcgQEAgc3RhdGlj
IGludCByZWFzc2lnbl9kZXZpY2Uoc3RydWN0IGRvbWFpbgogICAgIHN0cnVj
dCBhbWRfaW9tbXUgKmlvbW11OwogICAgIGludCBiZGYsIHJjOwogICAgIHN0
cnVjdCBkb21haW5faW9tbXUgKnQgPSBkb21faW9tbXUodGFyZ2V0KTsKKyAg
ICBjb25zdCBzdHJ1Y3QgaXZyc19tYXBwaW5ncyAqaXZyc19tYXBwaW5ncyA9
IGdldF9pdnJzX21hcHBpbmdzKHBkZXYtPnNlZyk7CiAKICAgICBiZGYgPSBQ
Q0lfQkRGMihwZGV2LT5idXMsIHBkZXYtPmRldmZuKTsKICAgICBpb21tdSA9
IGZpbmRfaW9tbXVfZm9yX2RldmljZShwZGV2LT5zZWcsIGJkZik7CkBAIC0z
MjEsMTAgKzMyMiwyNCBAQCBzdGF0aWMgaW50IHJlYXNzaWduX2RldmljZShz
dHJ1Y3QgZG9tYWluCiAKICAgICBhbWRfaW9tbXVfZGlzYWJsZV9kb21haW5f
ZGV2aWNlKHNvdXJjZSwgaW9tbXUsIGRldmZuLCBwZGV2KTsKIAotICAgIGlm
ICggZGV2Zm4gPT0gcGRldi0+ZGV2Zm4gKQorICAgIC8qCisgICAgICogSWYg
dGhlIGRldmljZSBiZWxvbmdzIHRvIHRoZSBoYXJkd2FyZSBkb21haW4sIGFu
ZCBpdCBoYXMgYSB1bml0eSBtYXBwaW5nLAorICAgICAqIGRvbid0IHJlbW92
ZSBpdCBmcm9tIHRoZSBoYXJkd2FyZSBkb21haW4sIGJlY2F1c2UgQklPUyBt
YXkgcmVmZXJlbmNlIHRoYXQKKyAgICAgKiBtYXBwaW5nLgorICAgICAqLwor
ICAgIGlmICggIWlzX2hhcmR3YXJlX2RvbWFpbihzb3VyY2UpICkKKyAgICB7
CisgICAgICAgIHJjID0gYW1kX2lvbW11X3Jlc2VydmVfZG9tYWluX3VuaXR5
X3VubWFwKAorICAgICAgICAgICAgICAgICBzb3VyY2UsCisgICAgICAgICAg
ICAgICAgIGl2cnNfbWFwcGluZ3NbZ2V0X2RtYV9yZXF1ZXN0b3JfaWQocGRl
di0+c2VnLCBiZGYpXS51bml0eV9tYXApOworICAgICAgICBpZiAoIHJjICkK
KyAgICAgICAgICAgIHJldHVybiByYzsKKyAgICB9CisKKyAgICBpZiAoIGRl
dmZuID09IHBkZXYtPmRldmZuICYmIHBkZXYtPmRvbWFpbiAhPSBkb21faW8g
KQogICAgIHsKLSAgICAgICAgbGlzdF9tb3ZlKCZwZGV2LT5kb21haW5fbGlz
dCwgJnRhcmdldC0+YXJjaC5wZGV2X2xpc3QpOwotICAgICAgICBwZGV2LT5k
b21haW4gPSB0YXJnZXQ7CisgICAgICAgIGxpc3RfbW92ZSgmcGRldi0+ZG9t
YWluX2xpc3QsICZkb21faW8tPmFyY2gucGRldl9saXN0KTsKKyAgICAgICAg
cGRldi0+ZG9tYWluID0gZG9tX2lvOwogICAgIH0KIAogICAgIHJjID0gYWxs
b2NhdGVfZG9tYWluX3Jlc291cmNlcyh0KTsKQEAgLTMzNiw2ICszNTEsMTIg
QEAgc3RhdGljIGludCByZWFzc2lnbl9kZXZpY2Uoc3RydWN0IGRvbWFpbgog
ICAgICAgICAgICAgICAgICAgICBwZGV2LT5zZWcsIHBkZXYtPmJ1cywgUENJ
X1NMT1QoZGV2Zm4pLCBQQ0lfRlVOQyhkZXZmbiksCiAgICAgICAgICAgICAg
ICAgICAgIHNvdXJjZS0+ZG9tYWluX2lkLCB0YXJnZXQtPmRvbWFpbl9pZCk7
CiAKKyAgICBpZiAoIGRldmZuID09IHBkZXYtPmRldmZuICYmIHBkZXYtPmRv
bWFpbiAhPSB0YXJnZXQgKQorICAgIHsKKyAgICAgICAgbGlzdF9tb3ZlKCZw
ZGV2LT5kb21haW5fbGlzdCwgJnRhcmdldC0+YXJjaC5wZGV2X2xpc3QpOwor
ICAgICAgICBwZGV2LT5kb21haW4gPSB0YXJnZXQ7CisgICAgfQorCiAgICAg
cmV0dXJuIDA7CiB9CiAKQEAgLTM0NiwyMCArMzY3LDI4IEBAIHN0YXRpYyBp
bnQgYW1kX2lvbW11X2Fzc2lnbl9kZXZpY2Uoc3RydWMKICAgICBzdHJ1Y3Qg
aXZyc19tYXBwaW5ncyAqaXZyc19tYXBwaW5ncyA9IGdldF9pdnJzX21hcHBp
bmdzKHBkZXYtPnNlZyk7CiAgICAgaW50IGJkZiA9IFBDSV9CREYyKHBkZXYt
PmJ1cywgZGV2Zm4pOwogICAgIGludCByZXFfaWQgPSBnZXRfZG1hX3JlcXVl
c3Rvcl9pZChwZGV2LT5zZWcsIGJkZik7Ci0gICAgY29uc3Qgc3RydWN0IGl2
cnNfdW5pdHlfbWFwICp1bml0eV9tYXA7CisgICAgaW50IHJjID0gYW1kX2lv
bW11X3Jlc2VydmVfZG9tYWluX3VuaXR5X21hcCgKKyAgICAgICAgICAgICAg
ICAgZCwgaXZyc19tYXBwaW5nc1tyZXFfaWRdLnVuaXR5X21hcCwgZmxhZyk7
CisKKyAgICBpZiAoICFyYyApCisgICAgICAgIHJjID0gcmVhc3NpZ25fZGV2
aWNlKHBkZXYtPmRvbWFpbiwgZCwgZGV2Zm4sIHBkZXYpOwogCi0gICAgZm9y
ICggdW5pdHlfbWFwID0gaXZyc19tYXBwaW5nc1tyZXFfaWRdLnVuaXR5X21h
cDsgdW5pdHlfbWFwOwotICAgICAgICAgIHVuaXR5X21hcCA9IHVuaXR5X21h
cC0+bmV4dCApCisgICAgaWYgKCByYyAmJiAhaXNfaGFyZHdhcmVfZG9tYWlu
KGQpICkKICAgICB7Ci0gICAgICAgIGludCByYyA9IGFtZF9pb21tdV9yZXNl
cnZlX2RvbWFpbl91bml0eV9tYXAoCi0gICAgICAgICAgICAgICAgICAgICBk
LCB1bml0eV9tYXAtPmFkZHIsIHVuaXR5X21hcC0+bGVuZ3RoLAotICAgICAg
ICAgICAgICAgICAgICAgdW5pdHlfbWFwLT53cml0ZSwgdW5pdHlfbWFwLT5y
ZWFkKTsKKyAgICAgICAgaW50IHJldCA9IGFtZF9pb21tdV9yZXNlcnZlX2Rv
bWFpbl91bml0eV91bm1hcCgKKyAgICAgICAgICAgICAgICAgICAgICBkLCBp
dnJzX21hcHBpbmdzW3JlcV9pZF0udW5pdHlfbWFwKTsKIAotICAgICAgICBp
ZiAoIHJjICkKLSAgICAgICAgICAgIHJldHVybiByYzsKKyAgICAgICAgaWYg
KCByZXQgKQorICAgICAgICB7CisgICAgICAgICAgICBwcmludGsoWEVOTE9H
X0VSUiAiQU1ELVZpOiAiCisgICAgICAgICAgICAgICAgICAgInVuaXR5LXVu
bWFwIGZvciAlcGQvJTA0eDolMDJ4OiUwMnguJXUgZmFpbGVkICglZClcbiIs
CisgICAgICAgICAgICAgICAgICAgZCwgcGRldi0+c2VnLCBwZGV2LT5idXMs
CisgICAgICAgICAgICAgICAgICAgUENJX1NMT1QoZGV2Zm4pLCBQQ0lfRlVO
QyhkZXZmbiksIHJldCk7CisgICAgICAgICAgICBkb21haW5fY3Jhc2goZCk7
CisgICAgICAgIH0KICAgICB9CiAKLSAgICByZXR1cm4gcmVhc3NpZ25fZGV2
aWNlKHBkZXYtPmRvbWFpbiwgZCwgZGV2Zm4sIHBkZXYpOworICAgIHJldHVy
biByYzsKIH0KIAogc3RhdGljIHZvaWQgZGVhbGxvY2F0ZV9uZXh0X3BhZ2Vf
dGFibGUoc3RydWN0IHBhZ2VfaW5mbyAqcGcsIGludCBsZXZlbCkKQEAgLTQy
NSw2ICs0NTQsNyBAQCBzdGF0aWMgdm9pZCBkZWFsbG9jYXRlX2lvbW11X3Bh
Z2VfdGFibGVzCiAKIHN0YXRpYyB2b2lkIGFtZF9pb21tdV9kb21haW5fZGVz
dHJveShzdHJ1Y3QgZG9tYWluICpkKQogeworICAgIGlvbW11X2lkZW50aXR5
X21hcF90ZWFyZG93bihkKTsKICAgICBkZWFsbG9jYXRlX2lvbW11X3BhZ2Vf
dGFibGVzKGQpOwogICAgIGFtZF9pb21tdV9mbHVzaF9hbGxfcGFnZXMoZCk7
CiB9Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N2bS9hbWQtaW9t
bXUtcHJvdG8uaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9zdm0v
YW1kLWlvbW11LXByb3RvLmgKQEAgLTYyLDggKzYyLDEwIEBAIGludCBfX211
c3RfY2hlY2sgYW1kX2lvbW11X3VubWFwX3BhZ2Uoc3QKIHVpbnQ2NF90IGFt
ZF9pb21tdV9nZXRfYWRkcmVzc19mcm9tX3B0ZSh2b2lkICplbnRyeSk7CiBp
bnQgX19tdXN0X2NoZWNrIGFtZF9pb21tdV9hbGxvY19yb290KHN0cnVjdCBk
b21haW5faW9tbXUgKmhkKTsKIGludCBhbWRfaW9tbXVfcmVzZXJ2ZV9kb21h
aW5fdW5pdHlfbWFwKHN0cnVjdCBkb21haW4gKmRvbWFpbiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRyX3QgcGh5c19h
ZGRyLCB1bnNpZ25lZCBsb25nIHNpemUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgaXcsIGludCBpcik7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qg
aXZyc191bml0eV9tYXAgKm1hcCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBmbGFnKTsKK2ludCBhbWRf
aW9tbXVfcmVzZXJ2ZV9kb21haW5fdW5pdHlfdW5tYXAoc3RydWN0IGRvbWFp
biAqZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3Qgc3RydWN0IGl2cnNfdW5pdHlfbWFwICptYXApOwogaW50IF9f
bXVzdF9jaGVjayBhbWRfaW9tbXVfZmx1c2hfaW90bGJfcGFnZXMoc3RydWN0
IGRvbWFpbiAqZCwgZGZuX3QgZGZuLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHBhZ2VfY291
bnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBpbnQgZmx1c2hfZmxhZ3MpOwo=

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.12-6.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.12-6.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBBTUQvSU9NTVU6IHJlLWFycmFuZ2UgZXhjbHVzaW9uIHJhbmdlIGFuZCB1
bml0eSBtYXAgcmVjb3JkaW5nCgpUaGUgc3BlYyBtYWtlcyBubyBwcm92aXNp
b25zIGZvciBPUyBiZWhhdmlvciBoZXJlIHRvIGRlcGVuZCBvbiB0aGUKYW1v
dW50IG9mIFJBTSBmb3VuZCBvbiB0aGUgc3lzdGVtLiBXaGlsZSB0aGUgc3Bl
YyBtYXkgbm90IHN1ZmZpY2llbnRseQpjbGVhcmx5IGRpc3Rpbmd1aXNoIGJv
dGgga2luZHMgb2YgcmVnaW9ucywgdGhleSBhcmUgc3VyZWx5IG1lYW50IHRv
IGJlCnNlcGFyYXRlIHRoaW5nczogT25seSByZWdpb25zIHdpdGggQUNQSV9J
Vk1EX0VYQ0xVU0lPTl9SQU5HRSBzZXQgc2hvdWxkCmJlIGNhbmRpZGF0ZXMg
Zm9yIHB1dHRpbmcgaW4gdGhlIGV4Y2x1c2lvbiByYW5nZSByZWdpc3RlcnMu
IChBcyB0aGVyZSdzCm9ubHkgYSBzaW5nbGUgc3VjaCBwYWlyIG9mIHJlZ2lz
dGVycyBwZXIgSU9NTVUsIHNlY29uZGFyeSBub24tYWRqYWNlbnQKcmVnaW9u
cyB3aXRoIHRoZSBmbGFnIHNldCBhbHJlYWR5IGdldCBjb252ZXJ0ZWQgdG8g
dW5pdHkgbWFwcGVkCnJlZ2lvbnMuKQoKRmlyc3Qgb2YgYWxsLCBkcm9wIHRo
ZSBkZXBlbmRlbmN5IG9uIG1heF9wYWdlLiBXaXRoIGNvbW1pdCBiNGYwNDIy
MzZhZTAKKCJBTUQvSU9NTVU6IENlYXNlIHVzaW5nIGEgZHluYW1pYyBoZWln
aHQgZm9yIHRoZSBJT01NVSBwYWdldGFibGVzIikgdGhlCnVzZSBvZiBpdCBo
ZXJlIHdhcyBzdGFsZSBhbnl3YXk7IGl0IHdhcyBib2d1cyBhbHJlYWR5IGJl
Zm9yZSwgYXMgaXQKZGlkbid0IGFjY291bnQgZm9yIG1heF9wYWdlIGdldHRp
bmcgaW5jcmVhc2VkIGxhdGVyIG9uLiBTaW1wbHkgdHJ5IGFuCmV4Y2x1c2lv
biByYW5nZSByZWdpc3RyYXRpb24gZmlyc3QsIGFuZCBpZiBpdCBmYWlscyAo
Zm9yIGJlaW5nCnVuc3VpdGFibGUgb3Igbm9uLW1lcmdlYWJsZSksIHJlZ2lz
dGVyIGEgdW5pdHkgbWFwcGluZyByYW5nZS4KCldpdGggdGhpcyB2YXJpb3Vz
IGxvY2FsIHZhcmlhYmxlcyBiZWNvbWUgdW5uZWNlc3NhcnkgYW5kIGhlbmNl
IGdldApkcm9wcGVkIGF0IHRoZSBzYW1lIHRpbWUuCgpXaXRoIHRoZSBtYXhf
cGFnZSBib3VuZGFyeSBkcm9wcGVkIGZvciB1c2luZyB1bml0eSBtYXBzLCB0
aGUgbWluaW11bQpwYWdlIHRhYmxlIHRyZWUgaGVpZ2h0IG5vdyBuZWVkcyBi
b3RoIHJlY29yZGluZyBhbmQgZW5mb3JjaW5nIGluCmFtZF9pb21tdV9kb21h
aW5faW5pdCgpLiBTaW5jZSB3ZSBjYW4ndCBwcmVkaWN0IHdoaWNoIGRldmlj
ZXMgbWF5IGdldAphc3NpZ25lZCB0byBhIGRvbWFpbiwgb3VyIG9ubHkgb3B0
aW9uIGlzIHRvIHVuaWZvcm1seSBmb3JjZSBhdCBsZWFzdAp0aGF0IGhlaWdo
dCBmb3IgYWxsIGRvbWFpbnMsIG5vdyB0aGF0IHRoZSBoZWlnaHQgaXNuJ3Qg
ZHluYW1pYyBhbnltb3JlLgoKRnVydGhlciBkb24ndCBtYWtlIHVzZSBvZiB0
aGUgZXhjbHVzaW9uIHJhbmdlIHVubGVzcyBBQ1BJIGRhdGEgc2F5cyBzby4K
Ck5vdGUgdGhhdCBleGNsdXNpb24gcmFuZ2UgcmVnaXN0cmF0aW9uIGluCnJl
Z2lzdGVyX3JhbmdlX2Zvcl9hbGxfZGV2aWNlcygpIGlzIG9uIGEgYmVzdCBl
ZmZvcnQgYmFzaXMuIEhlbmNlIHVuaXR5Cm1hcCBlbnRyaWVzIGFsc28gcmVn
aXN0ZXJlZCBhcmUgcmVkdW5kYW50IHdoZW4gdGhlIGZvcm1lciBzdWNjZWVk
ZWQsIGJ1dAp0aGV5IGFsc28gZG8gbm8gaGFybS4gSW1wcm92ZW1lbnRzIGlu
IHRoaXMgYXJlYSBjYW4gYmUgZG9uZSBsYXRlciBpbW8uCgpBbHNvIGFkanVz
dCB0eXBlcyB3aGVyZSBzdWl0YWJsZSB3aXRob3V0IHRvdWNoaW5nIGV4dHJh
IGxpbmVzLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS0zNzguCgpTaWduZWQtb2Zm
LWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+ClJldmlld2Vk
LWJ5OiBQYXVsIER1cnJhbnQgPHBhdWxAeGVuLm9yZz4KCi0tLSBhL3hlbi9k
cml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21tdV9hY3BpLmMKKysrIGIveGVu
L2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11X2FjcGkuYwpAQCAtOTks
MTIgKzk5LDggQEAgc3RhdGljIHN0cnVjdCBhbWRfaW9tbXUgKiBfX2luaXQg
ZmluZF9pbwogfQogCiBzdGF0aWMgaW50IF9faW5pdCByZXNlcnZlX2lvbW11
X2V4Y2x1c2lvbl9yYW5nZSgKLSAgICBzdHJ1Y3QgYW1kX2lvbW11ICppb21t
dSwgdWludDY0X3QgYmFzZSwgdWludDY0X3QgbGltaXQsCi0gICAgYm9vbCBh
bGwsIGJvb2wgaXcsIGJvb2wgaXIpCisgICAgc3RydWN0IGFtZF9pb21tdSAq
aW9tbXUsIHBhZGRyX3QgYmFzZSwgcGFkZHJfdCBsaW1pdCwgYm9vbCBhbGwp
CiB7Ci0gICAgaWYgKCAhaXIgfHwgIWl3ICkKLSAgICAgICAgcmV0dXJuIC1F
UEVSTTsKLQogICAgIC8qIG5lZWQgdG8gZXh0ZW5kIGV4Y2x1c2lvbiByYW5n
ZT8gKi8KICAgICBpZiAoIGlvbW11LT5leGNsdXNpb25fZW5hYmxlICkKICAg
ICB7CkBAIC0xMzMsMTQgKzEyOSwxOCBAQCBzdGF0aWMgaW50IF9faW5pdCBy
ZXNlcnZlX3VuaXR5X21hcF9mb3JfCiB7CiAgICAgc3RydWN0IGl2cnNfbWFw
cGluZ3MgKml2cnNfbWFwcGluZ3MgPSBnZXRfaXZyc19tYXBwaW5ncyhzZWcp
OwogICAgIHN0cnVjdCBpdnJzX3VuaXR5X21hcCAqdW5pdHlfbWFwID0gaXZy
c19tYXBwaW5nc1tiZGZdLnVuaXR5X21hcDsKKyAgICBpbnQgcGFnaW5nX21v
ZGUgPSBhbWRfaW9tbXVfZ2V0X3BhZ2luZ19tb2RlKFBGTl9VUChiYXNlICsg
bGVuZ3RoKSk7CisKKyAgICBpZiAoIHBhZ2luZ19tb2RlIDwgMCApCisgICAg
ICAgIHJldHVybiBwYWdpbmdfbW9kZTsKIAogICAgIC8qIENoZWNrIGZvciBv
dmVybGFwcy4gKi8KICAgICBmb3IgKCA7IHVuaXR5X21hcDsgdW5pdHlfbWFw
ID0gdW5pdHlfbWFwLT5uZXh0ICkKICAgICB7CiAgICAgICAgIC8qCiAgICAg
ICAgICAqIEV4YWN0IG1hdGNoZXMgYXJlIG9rYXkuIFRoaXMgY2FuIGluIHBh
cnRpY3VsYXIgaGFwcGVuIHdoZW4KLSAgICAgICAgICogcmVnaXN0ZXJfZXhj
bHVzaW9uX3JhbmdlX2Zvcl9kZXZpY2UoKSBjYWxscyBoZXJlIHR3aWNlIGZv
ciB0aGUKLSAgICAgICAgICogc2FtZSAocyxiLGQsZikuCisgICAgICAgICAq
IHJlZ2lzdGVyX3JhbmdlX2Zvcl9kZXZpY2UoKSBjYWxscyBoZXJlIHR3aWNl
IGZvciB0aGUgc2FtZQorICAgICAgICAgKiAocyxiLGQsZikuCiAgICAgICAg
ICAqLwogICAgICAgICBpZiAoIGJhc2UgPT0gdW5pdHlfbWFwLT5hZGRyICYm
IGxlbmd0aCA9PSB1bml0eV9tYXAtPmxlbmd0aCAmJgogICAgICAgICAgICAg
IGlyID09IHVuaXR5X21hcC0+cmVhZCAmJiBpdyA9PSB1bml0eV9tYXAtPndy
aXRlICkKQEAgLTE2OCw1NSArMTY4LDUyIEBAIHN0YXRpYyBpbnQgX19pbml0
IHJlc2VydmVfdW5pdHlfbWFwX2Zvcl8KICAgICB1bml0eV9tYXAtPm5leHQg
PSBpdnJzX21hcHBpbmdzW2JkZl0udW5pdHlfbWFwOwogICAgIGl2cnNfbWFw
cGluZ3NbYmRmXS51bml0eV9tYXAgPSB1bml0eV9tYXA7CiAKKyAgICBpZiAo
IHBhZ2luZ19tb2RlID4gYW1kX2lvbW11X21pbl9wYWdpbmdfbW9kZSApCisg
ICAgICAgIGFtZF9pb21tdV9taW5fcGFnaW5nX21vZGUgPSBwYWdpbmdfbW9k
ZTsKKwogICAgIHJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IF9faW5pdCBy
ZWdpc3Rlcl9leGNsdXNpb25fcmFuZ2VfZm9yX2FsbF9kZXZpY2VzKAotICAg
IHVuc2lnbmVkIGxvbmcgYmFzZSwgdW5zaWduZWQgbG9uZyBsaW1pdCwgdTgg
aXcsIHU4IGlyKQorc3RhdGljIGludCBfX2luaXQgcmVnaXN0ZXJfcmFuZ2Vf
Zm9yX2FsbF9kZXZpY2VzKAorICAgIHBhZGRyX3QgYmFzZSwgcGFkZHJfdCBs
aW1pdCwgYm9vbCBpdywgYm9vbCBpciwgYm9vbCBleGNsdXNpb24pCiB7CiAg
ICAgaW50IHNlZyA9IDA7IC8qIFhYWCAqLwotICAgIHVuc2lnbmVkIGxvbmcg
cmFuZ2VfdG9wLCBpb21tdV90b3AsIGxlbmd0aDsKICAgICBzdHJ1Y3QgYW1k
X2lvbW11ICppb21tdTsKLSAgICB1bnNpZ25lZCBpbnQgYmRmOwogICAgIGlu
dCByYyA9IDA7CiAKICAgICAvKiBpcyBwYXJ0IG9mIGV4Y2x1c2lvbiByYW5n
ZSBpbnNpZGUgb2YgSU9NTVUgdmlydHVhbCBhZGRyZXNzIHNwYWNlPyAqLwog
ICAgIC8qIG5vdGU6ICdsaW1pdCcgcGFyYW1ldGVyIGlzIGFzc3VtZWQgdG8g
YmUgcGFnZS1hbGlnbmVkICovCi0gICAgcmFuZ2VfdG9wID0gbGltaXQgKyBQ
QUdFX1NJWkU7Ci0gICAgaW9tbXVfdG9wID0gbWF4X3BhZ2UgKiBQQUdFX1NJ
WkU7Ci0gICAgaWYgKCBiYXNlIDwgaW9tbXVfdG9wICkKLSAgICB7Ci0gICAg
ICAgIGlmICggcmFuZ2VfdG9wID4gaW9tbXVfdG9wICkKLSAgICAgICAgICAg
IHJhbmdlX3RvcCA9IGlvbW11X3RvcDsKLSAgICAgICAgbGVuZ3RoID0gcmFu
Z2VfdG9wIC0gYmFzZTsKLSAgICAgICAgLyogcmVzZXJ2ZSByL3cgdW5pdHkt
bWFwcGVkIHBhZ2UgZW50cmllcyBmb3IgZGV2aWNlcyAqLwotICAgICAgICAv
KiBub3RlOiB0aGVzZSBlbnRyaWVzIGFyZSBwYXJ0IG9mIHRoZSBleGNsdXNp
b24gcmFuZ2UgKi8KLSAgICAgICAgZm9yICggYmRmID0gMDsgIXJjICYmIGJk
ZiA8IGl2cnNfYmRmX2VudHJpZXM7IGJkZisrICkKLSAgICAgICAgICAgIHJj
ID0gcmVzZXJ2ZV91bml0eV9tYXBfZm9yX2RldmljZShzZWcsIGJkZiwgYmFz
ZSwgbGVuZ3RoLCBpdywgaXIpOwotICAgICAgICAvKiBwdXNoICdiYXNlJyBq
dXN0IG91dHNpZGUgb2YgdmlydHVhbCBhZGRyZXNzIHNwYWNlICovCi0gICAg
ICAgIGJhc2UgPSBpb21tdV90b3A7Ci0gICAgfQotICAgIC8qIHJlZ2lzdGVy
IElPTU1VIGV4Y2x1c2lvbiByYW5nZSBzZXR0aW5ncyAqLwotICAgIGlmICgg
IXJjICYmIGxpbWl0ID49IGlvbW11X3RvcCApCisgICAgaWYgKCBleGNsdXNp
b24gKQogICAgIHsKICAgICAgICAgZm9yX2VhY2hfYW1kX2lvbW11KCBpb21t
dSApCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJjID0gcmVzZXJ2ZV9pb21t
dV9leGNsdXNpb25fcmFuZ2UoaW9tbXUsIGJhc2UsIGxpbWl0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVl
IC8qIGFsbCAqLywgaXcsIGlyKTsKLSAgICAgICAgICAgIGlmICggcmMgKQot
ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgaW50IHJldCA9
IHJlc2VydmVfaW9tbXVfZXhjbHVzaW9uX3JhbmdlKGlvbW11LCBiYXNlLCBs
aW1pdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB0cnVlIC8qIGFsbCAqLyk7CisKKyAgICAgICAgICAg
IGlmICggcmV0ICYmICFyYyApCisgICAgICAgICAgICAgICAgcmMgPSByZXQ7
CiAgICAgICAgIH0KICAgICB9CiAKKyAgICBpZiAoICFleGNsdXNpb24gfHwg
cmMgKQorICAgIHsKKyAgICAgICAgcGFkZHJfdCBsZW5ndGggPSBsaW1pdCAr
IFBBR0VfU0laRSAtIGJhc2U7CisgICAgICAgIHVuc2lnbmVkIGludCBiZGY7
CisKKyAgICAgICAgLyogcmVzZXJ2ZSByL3cgdW5pdHktbWFwcGVkIHBhZ2Ug
ZW50cmllcyBmb3IgZGV2aWNlcyAqLworICAgICAgICBmb3IgKCBiZGYgPSBy
YyA9IDA7ICFyYyAmJiBiZGYgPCBpdnJzX2JkZl9lbnRyaWVzOyBiZGYrKyAp
CisgICAgICAgICAgICByYyA9IHJlc2VydmVfdW5pdHlfbWFwX2Zvcl9kZXZp
Y2Uoc2VnLCBiZGYsIGJhc2UsIGxlbmd0aCwgaXcsIGlyKTsKKyAgICB9CisK
ICAgICByZXR1cm4gcmM7CiB9CiAKLXN0YXRpYyBpbnQgX19pbml0IHJlZ2lz
dGVyX2V4Y2x1c2lvbl9yYW5nZV9mb3JfZGV2aWNlKAotICAgIHUxNiBiZGYs
IHVuc2lnbmVkIGxvbmcgYmFzZSwgdW5zaWduZWQgbG9uZyBsaW1pdCwgdTgg
aXcsIHU4IGlyKQorc3RhdGljIGludCBfX2luaXQgcmVnaXN0ZXJfcmFuZ2Vf
Zm9yX2RldmljZSgKKyAgICB1bnNpZ25lZCBpbnQgYmRmLCBwYWRkcl90IGJh
c2UsIHBhZGRyX3QgbGltaXQsCisgICAgYm9vbCBpdywgYm9vbCBpciwgYm9v
bCBleGNsdXNpb24pCiB7CiAgICAgaW50IHNlZyA9IDA7IC8qIFhYWCAqLwog
ICAgIHN0cnVjdCBpdnJzX21hcHBpbmdzICppdnJzX21hcHBpbmdzID0gZ2V0
X2l2cnNfbWFwcGluZ3Moc2VnKTsKLSAgICB1bnNpZ25lZCBsb25nIHJhbmdl
X3RvcCwgaW9tbXVfdG9wLCBsZW5ndGg7CiAgICAgc3RydWN0IGFtZF9pb21t
dSAqaW9tbXU7CiAgICAgdTE2IHJlcTsKICAgICBpbnQgcmMgPSAwOwpAQCAt
MjMwLDI3ICsyMjcsMTkgQEAgc3RhdGljIGludCBfX2luaXQgcmVnaXN0ZXJf
ZXhjbHVzaW9uX3JhbgogICAgIHJlcSA9IGl2cnNfbWFwcGluZ3NbYmRmXS5k
dGVfcmVxdWVzdG9yX2lkOwogCiAgICAgLyogbm90ZTogJ2xpbWl0JyBwYXJh
bWV0ZXIgaXMgYXNzdW1lZCB0byBiZSBwYWdlLWFsaWduZWQgKi8KLSAgICBy
YW5nZV90b3AgPSBsaW1pdCArIFBBR0VfU0laRTsKLSAgICBpb21tdV90b3Ag
PSBtYXhfcGFnZSAqIFBBR0VfU0laRTsKLSAgICBpZiAoIGJhc2UgPCBpb21t
dV90b3AgKQotICAgIHsKLSAgICAgICAgaWYgKCByYW5nZV90b3AgPiBpb21t
dV90b3AgKQotICAgICAgICAgICAgcmFuZ2VfdG9wID0gaW9tbXVfdG9wOwot
ICAgICAgICBsZW5ndGggPSByYW5nZV90b3AgLSBiYXNlOworICAgIGlmICgg
ZXhjbHVzaW9uICkKKyAgICAgICAgcmMgPSByZXNlcnZlX2lvbW11X2V4Y2x1
c2lvbl9yYW5nZShpb21tdSwgYmFzZSwgbGltaXQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgLyogYWxsICov
KTsKKyAgICBpZiAoICFleGNsdXNpb24gfHwgcmMgKQorICAgIHsKKyAgICAg
ICAgcGFkZHJfdCBsZW5ndGggPSBsaW1pdCArIFBBR0VfU0laRSAtIGJhc2U7
CisKICAgICAgICAgLyogcmVzZXJ2ZSB1bml0eS1tYXBwZWQgcGFnZSBlbnRy
aWVzIGZvciBkZXZpY2UgKi8KLSAgICAgICAgLyogbm90ZTogdGhlc2UgZW50
cmllcyBhcmUgcGFydCBvZiB0aGUgZXhjbHVzaW9uIHJhbmdlICovCiAgICAg
ICAgIHJjID0gcmVzZXJ2ZV91bml0eV9tYXBfZm9yX2RldmljZShzZWcsIGJk
ZiwgYmFzZSwgbGVuZ3RoLCBpdywgaXIpID86CiAgICAgICAgICAgICAgcmVz
ZXJ2ZV91bml0eV9tYXBfZm9yX2RldmljZShzZWcsIHJlcSwgYmFzZSwgbGVu
Z3RoLCBpdywgaXIpOwotCi0gICAgICAgIC8qIHB1c2ggJ2Jhc2UnIGp1c3Qg
b3V0c2lkZSBvZiB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2UgKi8KLSAgICAgICAg
YmFzZSA9IGlvbW11X3RvcDsKICAgICB9Ci0KLSAgICAvKiByZWdpc3RlciBJ
T01NVSBleGNsdXNpb24gcmFuZ2Ugc2V0dGluZ3MgZm9yIGRldmljZSAqLwot
ICAgIGlmICggIXJjICYmIGxpbWl0ID49IGlvbW11X3RvcCAgKQorICAgIGVs
c2UKICAgICB7Ci0gICAgICAgIHJjID0gcmVzZXJ2ZV9pb21tdV9leGNsdXNp
b25fcmFuZ2UoaW9tbXUsIGJhc2UsIGxpbWl0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlIC8qIGFsbCAqLywg
aXcsIGlyKTsKICAgICAgICAgaXZyc19tYXBwaW5nc1tiZGZdLmR0ZV9hbGxv
d19leGNsdXNpb24gPSBJT01NVV9DT05UUk9MX0VOQUJMRUQ7CiAgICAgICAg
IGl2cnNfbWFwcGluZ3NbcmVxXS5kdGVfYWxsb3dfZXhjbHVzaW9uID0gSU9N
TVVfQ09OVFJPTF9FTkFCTEVEOwogICAgIH0KQEAgLTI1OCw1MyArMjQ3LDQy
IEBAIHN0YXRpYyBpbnQgX19pbml0IHJlZ2lzdGVyX2V4Y2x1c2lvbl9yYW4K
ICAgICByZXR1cm4gcmM7CiB9CiAKLXN0YXRpYyBpbnQgX19pbml0IHJlZ2lz
dGVyX2V4Y2x1c2lvbl9yYW5nZV9mb3JfaW9tbXVfZGV2aWNlcygKLSAgICBz
dHJ1Y3QgYW1kX2lvbW11ICppb21tdSwKLSAgICB1bnNpZ25lZCBsb25nIGJh
c2UsIHVuc2lnbmVkIGxvbmcgbGltaXQsIHU4IGl3LCB1OCBpcikKK3N0YXRp
YyBpbnQgX19pbml0IHJlZ2lzdGVyX3JhbmdlX2Zvcl9pb21tdV9kZXZpY2Vz
KAorICAgIHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LCBwYWRkcl90IGJhc2Us
IHBhZGRyX3QgbGltaXQsCisgICAgYm9vbCBpdywgYm9vbCBpciwgYm9vbCBl
eGNsdXNpb24pCiB7Ci0gICAgdW5zaWduZWQgbG9uZyByYW5nZV90b3AsIGlv
bW11X3RvcCwgbGVuZ3RoOworICAgIC8qIG5vdGU6ICdsaW1pdCcgcGFyYW1l
dGVyIGlzIGFzc3VtZWQgdG8gYmUgcGFnZS1hbGlnbmVkICovCisgICAgcGFk
ZHJfdCBsZW5ndGggPSBsaW1pdCArIFBBR0VfU0laRSAtIGJhc2U7CiAgICAg
dW5zaWduZWQgaW50IGJkZjsKICAgICB1MTYgcmVxOwotICAgIGludCByYyA9
IDA7CisgICAgaW50IHJjOwogCi0gICAgLyogaXMgcGFydCBvZiBleGNsdXNp
b24gcmFuZ2UgaW5zaWRlIG9mIElPTU1VIHZpcnR1YWwgYWRkcmVzcyBzcGFj
ZT8gKi8KLSAgICAvKiBub3RlOiAnbGltaXQnIHBhcmFtZXRlciBpcyBhc3N1
bWVkIHRvIGJlIHBhZ2UtYWxpZ25lZCAqLwotICAgIHJhbmdlX3RvcCA9IGxp
bWl0ICsgUEFHRV9TSVpFOwotICAgIGlvbW11X3RvcCA9IG1heF9wYWdlICog
UEFHRV9TSVpFOwotICAgIGlmICggYmFzZSA8IGlvbW11X3RvcCApCi0gICAg
ewotICAgICAgICBpZiAoIHJhbmdlX3RvcCA+IGlvbW11X3RvcCApCi0gICAg
ICAgICAgICByYW5nZV90b3AgPSBpb21tdV90b3A7Ci0gICAgICAgIGxlbmd0
aCA9IHJhbmdlX3RvcCAtIGJhc2U7Ci0gICAgICAgIC8qIHJlc2VydmUgci93
IHVuaXR5LW1hcHBlZCBwYWdlIGVudHJpZXMgZm9yIGRldmljZXMgKi8KLSAg
ICAgICAgLyogbm90ZTogdGhlc2UgZW50cmllcyBhcmUgcGFydCBvZiB0aGUg
ZXhjbHVzaW9uIHJhbmdlICovCi0gICAgICAgIGZvciAoIGJkZiA9IDA7ICFy
YyAmJiBiZGYgPCBpdnJzX2JkZl9lbnRyaWVzOyBiZGYrKyApCi0gICAgICAg
IHsKLSAgICAgICAgICAgIGlmICggaW9tbXUgPT0gZmluZF9pb21tdV9mb3Jf
ZGV2aWNlKGlvbW11LT5zZWcsIGJkZikgKQotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgIHJlcSA9IGdldF9pdnJzX21hcHBpbmdzKGlvbW11LT5z
ZWcpW2JkZl0uZHRlX3JlcXVlc3Rvcl9pZDsKLSAgICAgICAgICAgICAgICBy
YyA9IHJlc2VydmVfdW5pdHlfbWFwX2Zvcl9kZXZpY2UoaW9tbXUtPnNlZywg
YmRmLCBiYXNlLCBsZW5ndGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGl3LCBpcikgPzoKLSAgICAgICAg
ICAgICAgICAgICAgIHJlc2VydmVfdW5pdHlfbWFwX2Zvcl9kZXZpY2UoaW9t
bXUtPnNlZywgcmVxLCBiYXNlLCBsZW5ndGgsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl3LCBpcik7Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgIH0KLQotICAgICAgICAvKiBwdXNoICdi
YXNlJyBqdXN0IG91dHNpZGUgb2YgdmlydHVhbCBhZGRyZXNzIHNwYWNlICov
Ci0gICAgICAgIGJhc2UgPSBpb21tdV90b3A7CisgICAgaWYgKCBleGNsdXNp
b24gKQorICAgIHsKKyAgICAgICAgcmMgPSByZXNlcnZlX2lvbW11X2V4Y2x1
c2lvbl9yYW5nZShpb21tdSwgYmFzZSwgbGltaXQsIHRydWUgLyogYWxsICov
KTsKKyAgICAgICAgaWYgKCAhcmMgKQorICAgICAgICAgICAgcmV0dXJuIDA7
CiAgICAgfQogCi0gICAgLyogcmVnaXN0ZXIgSU9NTVUgZXhjbHVzaW9uIHJh
bmdlIHNldHRpbmdzICovCi0gICAgaWYgKCAhcmMgJiYgbGltaXQgPj0gaW9t
bXVfdG9wICkKLSAgICAgICAgcmMgPSByZXNlcnZlX2lvbW11X2V4Y2x1c2lv
bl9yYW5nZShpb21tdSwgYmFzZSwgbGltaXQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAvKiBhbGwgKi8sIGl3
LCBpcik7CisgICAgLyogcmVzZXJ2ZSB1bml0eS1tYXBwZWQgcGFnZSBlbnRy
aWVzIGZvciBkZXZpY2VzICovCisgICAgZm9yICggYmRmID0gcmMgPSAwOyAh
cmMgJiYgYmRmIDwgaXZyc19iZGZfZW50cmllczsgYmRmKysgKQorICAgIHsK
KyAgICAgICAgaWYgKCBpb21tdSAhPSBmaW5kX2lvbW11X2Zvcl9kZXZpY2Uo
aW9tbXUtPnNlZywgYmRmKSApCisgICAgICAgICAgICBjb250aW51ZTsKKwor
ICAgICAgICByZXEgPSBnZXRfaXZyc19tYXBwaW5ncyhpb21tdS0+c2VnKVti
ZGZdLmR0ZV9yZXF1ZXN0b3JfaWQ7CisgICAgICAgIHJjID0gcmVzZXJ2ZV91
bml0eV9tYXBfZm9yX2RldmljZShpb21tdS0+c2VnLCBiZGYsIGJhc2UsIGxl
bmd0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGl3LCBpcikgPzoKKyAgICAgICAgICAgICByZXNlcnZlX3VuaXR5X21h
cF9mb3JfZGV2aWNlKGlvbW11LT5zZWcsIHJlcSwgYmFzZSwgbGVuZ3RoLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXcs
IGlyKTsKKyAgICB9CiAKICAgICByZXR1cm4gcmM7CiB9CiAKIHN0YXRpYyBp
bnQgX19pbml0IHBhcnNlX2l2bWRfZGV2aWNlX3NlbGVjdCgKICAgICBjb25z
dCBzdHJ1Y3QgYWNwaV9pdnJzX21lbW9yeSAqaXZtZF9ibG9jaywKLSAgICB1
bnNpZ25lZCBsb25nIGJhc2UsIHVuc2lnbmVkIGxvbmcgbGltaXQsIHU4IGl3
LCB1OCBpcikKKyAgICBwYWRkcl90IGJhc2UsIHBhZGRyX3QgbGltaXQsIGJv
b2wgaXcsIGJvb2wgaXIsIGJvb2wgZXhjbHVzaW9uKQogewogICAgIHUxNiBi
ZGY7CiAKQEAgLTMxNSwxMiArMjkzLDEyIEBAIHN0YXRpYyBpbnQgX19pbml0
IHBhcnNlX2l2bWRfZGV2aWNlX3NlbGUKICAgICAgICAgcmV0dXJuIC1FTk9E
RVY7CiAgICAgfQogCi0gICAgcmV0dXJuIHJlZ2lzdGVyX2V4Y2x1c2lvbl9y
YW5nZV9mb3JfZGV2aWNlKGJkZiwgYmFzZSwgbGltaXQsIGl3LCBpcik7Cisg
ICAgcmV0dXJuIHJlZ2lzdGVyX3JhbmdlX2Zvcl9kZXZpY2UoYmRmLCBiYXNl
LCBsaW1pdCwgaXcsIGlyLCBleGNsdXNpb24pOwogfQogCiBzdGF0aWMgaW50
IF9faW5pdCBwYXJzZV9pdm1kX2RldmljZV9yYW5nZSgKICAgICBjb25zdCBz
dHJ1Y3QgYWNwaV9pdnJzX21lbW9yeSAqaXZtZF9ibG9jaywKLSAgICB1bnNp
Z25lZCBsb25nIGJhc2UsIHVuc2lnbmVkIGxvbmcgbGltaXQsIHU4IGl3LCB1
OCBpcikKKyAgICBwYWRkcl90IGJhc2UsIHBhZGRyX3QgbGltaXQsIGJvb2wg
aXcsIGJvb2wgaXIsIGJvb2wgZXhjbHVzaW9uKQogewogICAgIHVuc2lnbmVk
IGludCBmaXJzdF9iZGYsIGxhc3RfYmRmLCBiZGY7CiAgICAgaW50IGVycm9y
OwpAQCAtMzQyLDE1ICszMjAsMTUgQEAgc3RhdGljIGludCBfX2luaXQgcGFy
c2VfaXZtZF9kZXZpY2VfcmFuZwogICAgIH0KIAogICAgIGZvciAoIGJkZiA9
IGZpcnN0X2JkZiwgZXJyb3IgPSAwOyAoYmRmIDw9IGxhc3RfYmRmKSAmJiAh
ZXJyb3I7IGJkZisrICkKLSAgICAgICAgZXJyb3IgPSByZWdpc3Rlcl9leGNs
dXNpb25fcmFuZ2VfZm9yX2RldmljZSgKLSAgICAgICAgICAgIGJkZiwgYmFz
ZSwgbGltaXQsIGl3LCBpcik7CisgICAgICAgIGVycm9yID0gcmVnaXN0ZXJf
cmFuZ2VfZm9yX2RldmljZSgKKyAgICAgICAgICAgIGJkZiwgYmFzZSwgbGlt
aXQsIGl3LCBpciwgZXhjbHVzaW9uKTsKIAogICAgIHJldHVybiBlcnJvcjsK
IH0KIAogc3RhdGljIGludCBfX2luaXQgcGFyc2VfaXZtZF9kZXZpY2VfaW9t
bXUoCiAgICAgY29uc3Qgc3RydWN0IGFjcGlfaXZyc19tZW1vcnkgKml2bWRf
YmxvY2ssCi0gICAgdW5zaWduZWQgbG9uZyBiYXNlLCB1bnNpZ25lZCBsb25n
IGxpbWl0LCB1OCBpdywgdTggaXIpCisgICAgcGFkZHJfdCBiYXNlLCBwYWRk
cl90IGxpbWl0LCBib29sIGl3LCBib29sIGlyLCBib29sIGV4Y2x1c2lvbikK
IHsKICAgICBpbnQgc2VnID0gMDsgLyogWFhYICovCiAgICAgc3RydWN0IGFt
ZF9pb21tdSAqaW9tbXU7CkBAIC0zNjUsMTQgKzM0MywxNCBAQCBzdGF0aWMg
aW50IF9faW5pdCBwYXJzZV9pdm1kX2RldmljZV9pb21tCiAgICAgICAgIHJl
dHVybiAtRU5PREVWOwogICAgIH0KIAotICAgIHJldHVybiByZWdpc3Rlcl9l
eGNsdXNpb25fcmFuZ2VfZm9yX2lvbW11X2RldmljZXMoCi0gICAgICAgIGlv
bW11LCBiYXNlLCBsaW1pdCwgaXcsIGlyKTsKKyAgICByZXR1cm4gcmVnaXN0
ZXJfcmFuZ2VfZm9yX2lvbW11X2RldmljZXMoCisgICAgICAgIGlvbW11LCBi
YXNlLCBsaW1pdCwgaXcsIGlyLCBleGNsdXNpb24pOwogfQogCiBzdGF0aWMg
aW50IF9faW5pdCBwYXJzZV9pdm1kX2Jsb2NrKGNvbnN0IHN0cnVjdCBhY3Bp
X2l2cnNfbWVtb3J5ICppdm1kX2Jsb2NrKQogewogICAgIHVuc2lnbmVkIGxv
bmcgc3RhcnRfYWRkciwgbWVtX2xlbmd0aCwgYmFzZSwgbGltaXQ7Ci0gICAg
dTggaXcsIGlyOworICAgIGJvb2wgaXcgPSB0cnVlLCBpciA9IHRydWUsIGV4
Y2x1c2lvbiA9IGZhbHNlOwogCiAgICAgaWYgKCBpdm1kX2Jsb2NrLT5oZWFk
ZXIubGVuZ3RoIDwgc2l6ZW9mKCppdm1kX2Jsb2NrKSApCiAgICAgewpAQCAt
Mzg5LDEzICszNjcsMTEgQEAgc3RhdGljIGludCBfX2luaXQgcGFyc2VfaXZt
ZF9ibG9jayhjb25zdAogICAgICAgICAgICAgICAgICAgICBpdm1kX2Jsb2Nr
LT5oZWFkZXIudHlwZSwgc3RhcnRfYWRkciwgbWVtX2xlbmd0aCk7CiAKICAg
ICBpZiAoIGl2bWRfYmxvY2stPmhlYWRlci5mbGFncyAmIEFDUElfSVZNRF9F
WENMVVNJT05fUkFOR0UgKQotICAgICAgICBpdyA9IGlyID0gSU9NTVVfQ09O
VFJPTF9FTkFCTEVEOworICAgICAgICBleGNsdXNpb24gPSB0cnVlOwogICAg
IGVsc2UgaWYgKCBpdm1kX2Jsb2NrLT5oZWFkZXIuZmxhZ3MgJiBBQ1BJX0lW
TURfVU5JVFkgKQogICAgIHsKLSAgICAgICAgaXcgPSBpdm1kX2Jsb2NrLT5o
ZWFkZXIuZmxhZ3MgJiBBQ1BJX0lWTURfUkVBRCA/Ci0gICAgICAgICAgICBJ
T01NVV9DT05UUk9MX0VOQUJMRUQgOiBJT01NVV9DT05UUk9MX0RJU0FCTEVE
OwotICAgICAgICBpciA9IGl2bWRfYmxvY2stPmhlYWRlci5mbGFncyAmIEFD
UElfSVZNRF9XUklURSA/Ci0gICAgICAgICAgICBJT01NVV9DT05UUk9MX0VO
QUJMRUQgOiBJT01NVV9DT05UUk9MX0RJU0FCTEVEOworICAgICAgICBpdyA9
IGl2bWRfYmxvY2stPmhlYWRlci5mbGFncyAmIEFDUElfSVZNRF9SRUFEOwor
ICAgICAgICBpciA9IGl2bWRfYmxvY2stPmhlYWRlci5mbGFncyAmIEFDUElf
SVZNRF9XUklURTsKICAgICB9CiAgICAgZWxzZQogICAgIHsKQEAgLTQwNiwy
MCArMzgyLDIwIEBAIHN0YXRpYyBpbnQgX19pbml0IHBhcnNlX2l2bWRfYmxv
Y2soY29uc3QKICAgICBzd2l0Y2goIGl2bWRfYmxvY2stPmhlYWRlci50eXBl
ICkKICAgICB7CiAgICAgY2FzZSBBQ1BJX0lWUlNfVFlQRV9NRU1PUllfQUxM
OgotICAgICAgICByZXR1cm4gcmVnaXN0ZXJfZXhjbHVzaW9uX3JhbmdlX2Zv
cl9hbGxfZGV2aWNlcygKLSAgICAgICAgICAgIGJhc2UsIGxpbWl0LCBpdywg
aXIpOworICAgICAgICByZXR1cm4gcmVnaXN0ZXJfcmFuZ2VfZm9yX2FsbF9k
ZXZpY2VzKAorICAgICAgICAgICAgYmFzZSwgbGltaXQsIGl3LCBpciwgZXhj
bHVzaW9uKTsKIAogICAgIGNhc2UgQUNQSV9JVlJTX1RZUEVfTUVNT1JZX09O
RToKLSAgICAgICAgcmV0dXJuIHBhcnNlX2l2bWRfZGV2aWNlX3NlbGVjdChp
dm1kX2Jsb2NrLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGJhc2UsIGxpbWl0LCBpdywgaXIpOworICAgICAgICByZXR1cm4g
cGFyc2VfaXZtZF9kZXZpY2Vfc2VsZWN0KGl2bWRfYmxvY2ssIGJhc2UsIGxp
bWl0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGl3LCBpciwgZXhjbHVzaW9uKTsKIAogICAgIGNhc2UgQUNQSV9JVlJTX1RZ
UEVfTUVNT1JZX1JBTkdFOgotICAgICAgICByZXR1cm4gcGFyc2VfaXZtZF9k
ZXZpY2VfcmFuZ2UoaXZtZF9ibG9jaywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGJhc2UsIGxpbWl0LCBpdywgaXIpOworICAg
ICAgICByZXR1cm4gcGFyc2VfaXZtZF9kZXZpY2VfcmFuZ2UoaXZtZF9ibG9j
aywgYmFzZSwgbGltaXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpdywgaXIsIGV4Y2x1c2lvbik7CiAKICAgICBjYXNlIEFD
UElfSVZSU19UWVBFX01FTU9SWV9JT01NVToKLSAgICAgICAgcmV0dXJuIHBh
cnNlX2l2bWRfZGV2aWNlX2lvbW11KGl2bWRfYmxvY2ssCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlLCBsaW1pdCwgaXcs
IGlyKTsKKyAgICAgICAgcmV0dXJuIHBhcnNlX2l2bWRfZGV2aWNlX2lvbW11
KGl2bWRfYmxvY2ssIGJhc2UsIGxpbWl0LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaXcsIGlyLCBleGNsdXNpb24pOwogCiAg
ICAgZGVmYXVsdDoKICAgICAgICAgQU1EX0lPTU1VX0RFQlVHKCJJVk1EIEVy
cm9yOiBJbnZhbGlkIEJsb2NrIFR5cGUhXG4iKTsKLS0tIGEveGVuL2RyaXZl
cnMvcGFzc3Rocm91Z2gvYW1kL3BjaV9hbWRfaW9tbXUuYworKysgYi94ZW4v
ZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvcGNpX2FtZF9pb21tdS5jCkBAIC0y
MjIsNiArMjIyLDggQEAgc3RhdGljIGludCBfX211c3RfY2hlY2sgYWxsb2Nh
dGVfZG9tYWluXwogICAgIHJldHVybiByYzsKIH0KIAoraW50IF9fcmVhZF9t
b3N0bHkgYW1kX2lvbW11X21pbl9wYWdpbmdfbW9kZSA9IDE7CisKIHN0YXRp
YyBpbnQgYW1kX2lvbW11X2RvbWFpbl9pbml0KHN0cnVjdCBkb21haW4gKmQp
CiB7CiAgICAgc3RydWN0IGRvbWFpbl9pb21tdSAqaGQgPSBkb21faW9tbXUo
ZCk7CkBAIC0yMzMsMTEgKzIzNSwxMyBAQCBzdGF0aWMgaW50IGFtZF9pb21t
dV9kb21haW5faW5pdChzdHJ1Y3QKICAgICAgKiAtIEhWTSBjb3VsZCBpbiBw
cmluY2lwbGUgdXNlIDMgb3IgNCBkZXBlbmRpbmcgb24gaG93IG11Y2ggZ3Vl
c3QKICAgICAgKiAgIHBoeXNpY2FsIGFkZHJlc3Mgc3BhY2Ugd2UgZ2l2ZSBp
dCwgYnV0IHRoaXMgaXNuJ3Qga25vd24geWV0IHNvIHVzZSA0CiAgICAgICog
ICB1bmlsYXRlcmFsbHkuCisgICAgICogLSBVbml0eSBtYXBzIG1heSByZXF1
aXJlIGFuIGV2ZW4gaGlnaGVyIG51bWJlci4KICAgICAgKi8KLSAgICBoZC0+
YXJjaC5wYWdpbmdfbW9kZSA9IGFtZF9pb21tdV9nZXRfcGFnaW5nX21vZGUo
Ci0gICAgICAgIGlzX2h2bV9kb21haW4oZCkKLSAgICAgICAgPyAxdWwgPDwg
KERFRkFVTFRfRE9NQUlOX0FERFJFU1NfV0lEVEggLSBQQUdFX1NISUZUKQot
ICAgICAgICA6IGdldF91cHBlcl9tZm5fYm91bmQoKSArIDEpOworICAgIGhk
LT5hcmNoLnBhZ2luZ19tb2RlID0gbWF4KGFtZF9pb21tdV9nZXRfcGFnaW5n
X21vZGUoCisgICAgICAgICAgICBpc19odm1fZG9tYWluKGQpCisgICAgICAg
ICAgICA/IDF1bCA8PCAoREVGQVVMVF9ET01BSU5fQUREUkVTU19XSURUSCAt
IFBBR0VfU0hJRlQpCisgICAgICAgICAgICA6IGdldF91cHBlcl9tZm5fYm91
bmQoKSArIDEpLAorICAgICAgICBhbWRfaW9tbXVfbWluX3BhZ2luZ19tb2Rl
KTsKIAogICAgIHJldHVybiAwOwogfQotLS0gYS94ZW4vaW5jbHVkZS9hc20t
eDg2L2h2bS9zdm0vYW1kLWlvbW11LXByb3RvLmgKKysrIGIveGVuL2luY2x1
ZGUvYXNtLXg4Ni9odm0vc3ZtL2FtZC1pb21tdS1wcm90by5oCkBAIC0xMzIs
NiArMTMyLDggQEAgZXh0ZXJuIHN0cnVjdCBocGV0X3NiZGYgewogICAgIH0g
aW5pdDsKIH0gaHBldF9zYmRmOwogCitleHRlcm4gaW50IGFtZF9pb21tdV9t
aW5fcGFnaW5nX21vZGU7CisKIGV4dGVybiB2b2lkICpzaGFyZWRfaW50cmVt
YXBfdGFibGU7CiBleHRlcm4gdW5zaWduZWQgbG9uZyAqc2hhcmVkX2ludHJl
bWFwX2ludXNlOwogCg==

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.12-7.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.12-7.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvcDJtOiBpbnRyb2R1Y2UgcDJtX2lzX3NwZWNpYWwoKQoKU2VlaW5n
IHRoZSBzaW1pbGFyaXR5IG9mIGdyYW50LCBmb3JlaWduLCBhbmQgKHN1YnNl
cXVlbnRseSkgZGlyZWN0LU1NSU8KaGFuZGxpbmcsIGludHJvZHVjZSBhIG5l
dyBQMk0gdHlwZSBncm91cCBuYW1lZCAic3BlY2lhbCIgKGFzIGluICJuZWVk
aW5nCnNwZWNpYWwgYWNjZXNzb3JzIHRvIGNyZWF0ZS9kZXN0cm95IikuCgpB
bHNvIHVzZSAtRVBFUk0gaW5zdGVhZCBvZiBvdGhlciBlcnJvciBjb2RlcyBv
biB0aGUgdHdvIGRvbWFpbl9jcmFzaCgpCnBhdGhzIHRvdWNoZWQuCgpUaGlz
IGlzIHBhcnQgb2YgWFNBLTM3OC4KClNpZ25lZC1vZmYtYnk6IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFBhdWwgRHVy
cmFudCA8cGF1bEB4ZW4ub3JnPgoKLS0tIGEveGVuL2FyY2gveDg2L21tL3Ay
bS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYwpAQCAtODA2LDcgKzgw
Niw3IEBAIHAybV9yZW1vdmVfcGFnZShzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJt
LAogICAgICAgICBmb3IgKCBpID0gMDsgaSA8ICgxVUwgPDwgcGFnZV9vcmRl
cik7IGkrKyApCiAgICAgICAgIHsKICAgICAgICAgICAgIHAybS0+Z2V0X2Vu
dHJ5KHAybSwgZ2ZuX2FkZChnZm4sIGkpLCAmdCwgJmEsIDAsIE5VTEwsIE5V
TEwpOwotICAgICAgICAgICAgaWYgKCAhcDJtX2lzX2dyYW50KHQpICYmICFw
Mm1faXNfc2hhcmVkKHQpICYmICFwMm1faXNfZm9yZWlnbih0KSApCisgICAg
ICAgICAgICBpZiAoICFwMm1faXNfc3BlY2lhbCh0KSAmJiAhcDJtX2lzX3No
YXJlZCh0KSApCiAgICAgICAgICAgICAgICAgc2V0X2dwZm5fZnJvbV9tZm4o
bWZuK2ksIElOVkFMSURfTTJQX0VOVFJZKTsKICAgICAgICAgfQogICAgIH0K
QEAgLTkxNywxMyArOTE3LDEzIEBAIGd1ZXN0X3BoeXNtYXBfYWRkX2VudHJ5
KHN0cnVjdCBkb21haW4gKmQKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAmb3QsICZhLCAwLCBOVUxMLCBOVUxMKTsKICAgICAgICAgICAg
IEFTU0VSVCghcDJtX2lzX3NoYXJlZChvdCkpOwogICAgICAgICB9Ci0gICAg
ICAgIGlmICggcDJtX2lzX2dyYW50KG90KSB8fCBwMm1faXNfZm9yZWlnbihv
dCkgKQorICAgICAgICBpZiAoIHAybV9pc19zcGVjaWFsKG90KSApCiAgICAg
ICAgIHsKLSAgICAgICAgICAgIC8qIFJlYWxseSBzaG91bGRuJ3QgYmUgdW5t
YXBwaW5nIGdyYW50L2ZvcmVpZ24gbWFwcyB0aGlzIHdheSAqLworICAgICAg
ICAgICAgLyogRG9uJ3QgcGVybWl0IHVubWFwcGluZyBncmFudC9mb3JlaWdu
IHRoaXMgd2F5LiAqLwogICAgICAgICAgICAgZG9tYWluX2NyYXNoKGQpOwog
ICAgICAgICAgICAgcDJtX3VubG9jayhwMm0pOwogICAgICAgICAgICAgCi0g
ICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKKyAgICAgICAgICAgIHJldHVy
biAtRVBFUk07CiAgICAgICAgIH0KICAgICAgICAgZWxzZSBpZiAoIHAybV9p
c19yYW0ob3QpICYmICFwMm1faXNfcGFnZWQob3QpICkKICAgICAgICAgewpA
QCAtMTAxOCw4ICsxMDE4LDcgQEAgaW50IHAybV9jaGFuZ2VfdHlwZV9vbmUo
c3RydWN0IGRvbWFpbiAqZAogICAgIHN0cnVjdCBwMm1fZG9tYWluICpwMm0g
PSBwMm1fZ2V0X2hvc3RwMm0oZCk7CiAgICAgaW50IHJjOwogCi0gICAgQlVH
X09OKHAybV9pc19ncmFudChvdCkgfHwgcDJtX2lzX2dyYW50KG50KSk7Ci0g
ICAgQlVHX09OKHAybV9pc19mb3JlaWduKG90KSB8fCBwMm1faXNfZm9yZWln
bihudCkpOworICAgIEJVR19PTihwMm1faXNfc3BlY2lhbChvdCkgfHwgcDJt
X2lzX3NwZWNpYWwobnQpKTsKIAogICAgIGdmbl9sb2NrKHAybSwgZ2ZuLCAw
KTsKIApAQCAtMTI3MiwxMSArMTI3MSwxMSBAQCBzdGF0aWMgaW50IHNldF90
eXBlZF9wMm1fZW50cnkoc3RydWN0IGRvCiAgICAgICAgIGdmbl91bmxvY2so
cDJtLCBnZm4sIG9yZGVyKTsKICAgICAgICAgcmV0dXJuIGN1cl9vcmRlciAr
IDE7CiAgICAgfQotICAgIGlmICggcDJtX2lzX2dyYW50KG90KSB8fCBwMm1f
aXNfZm9yZWlnbihvdCkgKQorICAgIGlmICggcDJtX2lzX3NwZWNpYWwob3Qp
ICkKICAgICB7CiAgICAgICAgIGdmbl91bmxvY2socDJtLCBnZm4sIG9yZGVy
KTsKICAgICAgICAgZG9tYWluX2NyYXNoKGQpOwotICAgICAgICByZXR1cm4g
LUVOT0VOVDsKKyAgICAgICAgcmV0dXJuIC1FUEVSTTsKICAgICB9CiAgICAg
ZWxzZSBpZiAoIHAybV9pc19yYW0ob3QpICkKICAgICB7Ci0tLSBhL3hlbi9p
bmNsdWRlL2FzbS14ODYvcDJtLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4
Ni9wMm0uaApAQCAtMTQxLDYgKzE0MSwxMCBAQCB0eXBlZGVmIHVuc2lnbmVk
IGludCBwMm1fcXVlcnlfdDsKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB8IHAybV90b19tYXNrKHAybV9yYW1fbG9nZGlydHkpICkKICNkZWZpbmUg
UDJNX1NIQVJFRF9UWVBFUyAgIChwMm1fdG9fbWFzayhwMm1fcmFtX3NoYXJl
ZCkpCiAKKy8qIFR5cGVzIGVzdGFibGlzaGVkL2NsZWFuZWQgdXAgdmlhIHNw
ZWNpYWwgYWNjZXNzb3JzLiAqLworI2RlZmluZSBQMk1fU1BFQ0lBTF9UWVBF
UyAoUDJNX0dSQU5UX1RZUEVTIHwgXAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcDJtX3RvX21hc2socDJtX21hcF9mb3JlaWduKSkKKwogLyogVmFs
aWQgdHlwZXMgbm90IG5lY2Vzc2FyaWx5IGFzc29jaWF0ZWQgd2l0aCBhICh2
YWxpZCkgTUZOLiAqLwogI2RlZmluZSBQMk1fSU5WQUxJRF9NRk5fVFlQRVMg
KFAyTV9QT0RfVFlQRVMgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfCBwMm1fdG9fbWFzayhwMm1fbW1pb19k
aXJlY3QpIFwKQEAgLTE2OSw2ICsxNzMsNyBAQCB0eXBlZGVmIHVuc2lnbmVk
IGludCBwMm1fcXVlcnlfdDsKICNkZWZpbmUgcDJtX2lzX3BhZ2VkKF90KSAg
ICAocDJtX3RvX21hc2soX3QpICYgUDJNX1BBR0VEX1RZUEVTKQogI2RlZmlu
ZSBwMm1faXNfc2hhcmFibGUoX3QpIChwMm1fdG9fbWFzayhfdCkgJiBQMk1f
U0hBUkFCTEVfVFlQRVMpCiAjZGVmaW5lIHAybV9pc19zaGFyZWQoX3QpICAg
KHAybV90b19tYXNrKF90KSAmIFAyTV9TSEFSRURfVFlQRVMpCisjZGVmaW5l
IHAybV9pc19zcGVjaWFsKF90KSAgKHAybV90b19tYXNrKF90KSAmIFAyTV9T
UEVDSUFMX1RZUEVTKQogI2RlZmluZSBwMm1faXNfYnJva2VuKF90KSAgIChw
Mm1fdG9fbWFzayhfdCkgJiBQMk1fQlJPS0VOX1RZUEVTKQogI2RlZmluZSBw
Mm1faXNfZm9yZWlnbihfdCkgIChwMm1fdG9fbWFzayhfdCkgJiBwMm1fdG9f
bWFzayhwMm1fbWFwX2ZvcmVpZ24pKQogCg==

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.12-8.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.12-8.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvcDJtOiBndWFyZCAoaW4gcGFydGljdWxhcikgaWRlbnRpdHkgbWFw
cGluZyBlbnRyaWVzCgpTdWNoIGVudHJpZXMsIGNyZWF0ZWQgYnkgc2V0X2lk
ZW50aXR5X3AybV9lbnRyeSgpLCBzaG91bGQgb25seSBiZQpkZXN0cm95ZWQg
YnkgY2xlYXJfaWRlbnRpdHlfcDJtX2VudHJ5KCkuIEhvd2V2ZXIsIHNpbWls
YXJseSwgZW50cmllcwpjcmVhdGVkIGJ5IHNldF9tbWlvX3AybV9lbnRyeSgp
IHNob3VsZCBvbmx5IGJlIHRvcm4gZG93biBieQpjbGVhcl9tbWlvX3AybV9l
bnRyeSgpLCBzbyB0aGUgbG9naWMgZ2V0cyBiYXNlZCB1cG9uIHAybV9tbWlv
X2RpcmVjdCBhcwp0aGUgZW50cnkgdHlwZSAoc2VwYXJhdGlvbiBiZXR3ZWVu
ICJvcmRpbmFyeSIgYW5kIDE6MSBtYXBwaW5ncyB3b3VsZApyZXF1aXJlIGEg
ZnVydGhlciBpbmRpY2F0b3IgdG8gdGVsbCBhcGFydCB0aGUgdHdvKS4KCkFz
IHRvIHRoZSBndWVzdF9yZW1vdmVfcGFnZSgpIGNoYW5nZSwgY29tbWl0IDQ4
ZGZiMjk3YTIwYSAoIng4Ni9QVkg6CmFsbG93IGd1ZXN0X3JlbW92ZV9wYWdl
IHRvIHJlbW92ZSBwMm1fbW1pb19kaXJlY3QgcGFnZXMiKSwgd2hpY2gKaW50
cm9kdWNlZCB0aGUgY2FsbCB0byBjbGVhcl9tbWlvX3AybV9lbnRyeSgpLCBj
bGFpbWVkIHRoaXMgd2FzIGRvbmUgZm9yCmh3ZG9tIG9ubHkgd2l0aG91dCB0
aGlzIGFjdHVhbGx5IGhhdmluZyBiZWVuIHRoZSBjYXNlLiBIb3dldmVyLCB0
aGlzCmNvZGUgc2hvdWxkbid0IGJlIHRoZXJlIGluIHRoZSBmaXJzdCBwbGFj
ZSwgYXMgTU1JTyBlbnRyaWVzIHNob3VsZG4ndCBiZQpkcm9wcGVkIHRoaXMg
d2F5LiBBdm9pZCB0cmlnZ2VyaW5nIHRoZSB3YXJuaW5nIGFnYWluIHRoYXQg
NDhkZmIyOTdhMjBhCnNpbGVuY2VkIGJ5IGFuIGFkanVzdG1lbnQgdG8geGVu
bWVtX2FkZF90b19waHlzbWFwX29uZSgpIGluc3RlYWQuCgpOb3RlIHRoYXQg
Z3Vlc3RfcGh5c21hcF9tYXJrX3BvcHVsYXRlX29uX2RlbWFuZCgpIGdldHMg
dGlnaHRlbmVkIGJleW9uZAp0aGUgaW1tZWRpYXRlIHB1cnBvc2Ugb2YgdGhp
cyBjaGFuZ2UuCgpOb3RlIGFsc28gdGhhdCBJIGRpZG4ndCBpbnNwZWN0IGNv
ZGUgd2hpY2ggaXNuJ3Qgc2VjdXJpdHkgc3VwcG9ydGVkLAplLmcuIHNoYXJp
bmcsIHBhZ2luZywgb3IgYWx0cDJtLgoKVGhpcyBpcyBDVkUtMjAyMS0yODY5
NCAvIHBhcnQgb2YgWFNBLTM3OC4KClNpZ25lZC1vZmYtYnk6IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFBhdWwgRHVy
cmFudCA8cGF1bEB4ZW4ub3JnPgoKLS0tIGEveGVuL2FyY2gveDg2L21tLmMK
KysrIGIveGVuL2FyY2gveDg2L21tLmMKQEAgLTQ4MDksNyArNDgwOSw5IEBA
IGludCB4ZW5tZW1fYWRkX3RvX3BoeXNtYXBfb25lKAogCiAgICAgLyogUmVt
b3ZlIHByZXZpb3VzbHkgbWFwcGVkIHBhZ2UgaWYgaXQgd2FzIHByZXNlbnQu
ICovCiAgICAgcHJldl9tZm4gPSBtZm5feChnZXRfZ2ZuKGQsIGdmbl94KGdw
Zm4pLCAmcDJtdCkpOwotICAgIGlmICggbWZuX3ZhbGlkKF9tZm4ocHJldl9t
Zm4pKSApCisgICAgaWYgKCBwMm10ID09IHAybV9tbWlvX2RpcmVjdCApCisg
ICAgICAgIHJjID0gLUVQRVJNOworICAgIGVsc2UgaWYgKCBtZm5fdmFsaWQo
X21mbihwcmV2X21mbikpICkKICAgICB7CiAgICAgICAgIGlmICggaXNfeGVu
X2hlYXBfbWZuKHByZXZfbWZuKSApCiAgICAgICAgICAgICAvKiBYZW4gaGVh
cCBmcmFtZXMgYXJlIHNpbXBseSB1bmhvb2tlZCBmcm9tIHRoaXMgcGh5cyBz
bG90LiAqLwotLS0gYS94ZW4vYXJjaC94ODYvbW0vcDJtLmMKKysrIGIveGVu
L2FyY2gveDg2L21tL3AybS5jCkBAIC03OTUsNyArNzk1LDggQEAgcDJtX3Jl
bW92ZV9wYWdlKHN0cnVjdCBwMm1fZG9tYWluICpwMm0sCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmY3VyX29yZGVyLCBO
VUxMKTsKIAogICAgICAgICBpZiAoIHAybV9pc192YWxpZCh0KSAmJgotICAg
ICAgICAgICAgICghbWZuX3ZhbGlkKF9tZm4obWZuKSkgfHwgbWZuICsgaSAh
PSBtZm5feChtZm5fcmV0dXJuKSkgKQorICAgICAgICAgICAgICghbWZuX3Zh
bGlkKF9tZm4obWZuKSkgfHwgdCA9PSBwMm1fbW1pb19kaXJlY3QgfHwKKyAg
ICAgICAgICAgICAgbWZuICsgaSAhPSBtZm5feChtZm5fcmV0dXJuKSkgKQog
ICAgICAgICAgICAgcmV0dXJuIC1FSUxTRVE7CiAKICAgICAgICAgaSArPSAo
MVVMIDw8IGN1cl9vcmRlcikgLSAoKGdmbl9sICsgaSkgJiAoKDFVTCA8PCBj
dXJfb3JkZXIpIC0gMSkpOwpAQCAtODczLDcgKzg3NCw3IEBAIGd1ZXN0X3Bo
eXNtYXBfYWRkX2VudHJ5KHN0cnVjdCBkb21haW4gKmQKICAgICBpZiAoIHAy
bV9pc19mb3JlaWduKHQpICkKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CiAK
LSAgICBpZiAoICFtZm5fdmFsaWQobWZuKSApCisgICAgaWYgKCAhbWZuX3Zh
bGlkKG1mbikgfHwgdCA9PSBwMm1fbW1pb19kaXJlY3QgKQogICAgIHsKICAg
ICAgICAgQVNTRVJUX1VOUkVBQ0hBQkxFKCk7CiAgICAgICAgIHJldHVybiAt
RUlOVkFMOwpAQCAtOTE5LDcgKzkyMCw3IEBAIGd1ZXN0X3BoeXNtYXBfYWRk
X2VudHJ5KHN0cnVjdCBkb21haW4gKmQKICAgICAgICAgfQogICAgICAgICBp
ZiAoIHAybV9pc19zcGVjaWFsKG90KSApCiAgICAgICAgIHsKLSAgICAgICAg
ICAgIC8qIERvbid0IHBlcm1pdCB1bm1hcHBpbmcgZ3JhbnQvZm9yZWlnbiB0
aGlzIHdheS4gKi8KKyAgICAgICAgICAgIC8qIERvbid0IHBlcm1pdCB1bm1h
cHBpbmcgZ3JhbnQvZm9yZWlnbi9kaXJlY3QtTU1JTyB0aGlzIHdheS4gKi8K
ICAgICAgICAgICAgIGRvbWFpbl9jcmFzaChkKTsKICAgICAgICAgICAgIHAy
bV91bmxvY2socDJtKTsKICAgICAgICAgICAgIApAQCAtMTM3NSw4ICsxMzc2
LDggQEAgaW50IHNldF9pZGVudGl0eV9wMm1fZW50cnkoc3RydWN0IGRvbWFp
bgogICogICAgb3JkZXIrMSAgZm9yIGNhbGxlciB0byByZXRyeSB3aXRoIG9y
ZGVyIChndWFyYW50ZWVkIHNtYWxsZXIgdGhhbgogICogICAgICAgICAgICAg
dGhlIG9yZGVyIHZhbHVlIHBhc3NlZCBpbikKICAqLwotaW50IGNsZWFyX21t
aW9fcDJtX2VudHJ5KHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcg
Z2ZuX2wsIG1mbl90IG1mbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICB1
bnNpZ25lZCBpbnQgb3JkZXIpCitzdGF0aWMgaW50IGNsZWFyX21taW9fcDJt
X2VudHJ5KHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuX2ws
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1mbl90IG1mbiwg
dW5zaWduZWQgaW50IG9yZGVyKQogewogICAgIGludCByYyA9IC1FSU5WQUw7
CiAgICAgZ2ZuX3QgZ2ZuID0gX2dmbihnZm5fbCk7Ci0tLSBhL3hlbi9hcmNo
L3g4Ni9tbS9wMm0tcG9kLmMKKysrIGIveGVuL2FyY2gveDg2L21tL3AybS1w
b2QuYwpAQCAtMTI5NywxNyArMTI5NywxNyBAQCBndWVzdF9waHlzbWFwX21h
cmtfcG9wdWxhdGVfb25fZGVtYW5kKHN0CiAKICAgICAgICAgcDJtLT5nZXRf
ZW50cnkocDJtLCBnZm5fYWRkKGdmbiwgaSksICZvdCwgJmEsIDAsICZjdXJf
b3JkZXIsIE5VTEwpOwogICAgICAgICBuID0gMVVMIDw8IG1pbihvcmRlciwg
Y3VyX29yZGVyKTsKLSAgICAgICAgaWYgKCBwMm1faXNfcmFtKG90KSApCisg
ICAgICAgIGlmICggb3QgPT0gcDJtX3BvcHVsYXRlX29uX2RlbWFuZCApCisg
ICAgICAgIHsKKyAgICAgICAgICAgIC8qIENvdW50IGhvdyBtYW55IFBvRCBl
bnRyaWVzIHdlJ2xsIGJlIHJlcGxhY2luZyBpZiBzdWNjZXNzZnVsICovCisg
ICAgICAgICAgICBwb2RfY291bnQgKz0gbjsKKyAgICAgICAgfQorICAgICAg
ICBlbHNlIGlmICggb3QgIT0gcDJtX2ludmFsaWQgJiYgb3QgIT0gcDJtX21t
aW9fZG0gKQogICAgICAgICB7CiAgICAgICAgICAgICBQMk1fREVCVUcoImdm
bl90b19tZm4gcmV0dXJuZWQgdHlwZSAlZCFcbiIsIG90KTsKICAgICAgICAg
ICAgIHJjID0gLUVCVVNZOwogICAgICAgICAgICAgZ290byBvdXQ7CiAgICAg
ICAgIH0KLSAgICAgICAgZWxzZSBpZiAoIG90ID09IHAybV9wb3B1bGF0ZV9v
bl9kZW1hbmQgKQotICAgICAgICB7Ci0gICAgICAgICAgICAvKiBDb3VudCBo
b3cgbWFuIFBvRCBlbnRyaWVzIHdlJ2xsIGJlIHJlcGxhY2luZyBpZiBzdWNj
ZXNzZnVsICovCi0gICAgICAgICAgICBwb2RfY291bnQgKz0gbjsKLSAgICAg
ICAgfQogICAgIH0KIAogICAgIC8qIE5vdywgYWN0dWFsbHkgZG8gdGhlIHR3
by13YXkgbWFwcGluZyAqLwotLS0gYS94ZW4vY29tbW9uL21lbW9yeS5jCisr
KyBiL3hlbi9jb21tb24vbWVtb3J5LmMKQEAgLTMzNiw3ICszMzYsNyBAQCBp
bnQgZ3Vlc3RfcmVtb3ZlX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwKICAgICB9
CiAgICAgaWYgKCBwMm10ID09IHAybV9tbWlvX2RpcmVjdCApCiAgICAgewot
ICAgICAgICByYyA9IGNsZWFyX21taW9fcDJtX2VudHJ5KGQsIGdtZm4sIG1m
biwgUEFHRV9PUkRFUl80Syk7CisgICAgICAgIHJjID0gLUVQRVJNOwogICAg
ICAgICBnb3RvIG91dF9wdXRfZ2ZuOwogICAgIH0KICNlbHNlCkBAIC0xNzI0
LDYgKzE3MjQsMTUgQEAgaW50IGNoZWNrX2dldF9wYWdlX2Zyb21fZ2ZuKHN0
cnVjdCBkb21haQogICAgICAgICByZXR1cm4gLUVBR0FJTjsKICAgICB9CiAj
ZW5kaWYKKyNpZmRlZiBDT05GSUdfWDg2CisgICAgaWYgKCBwMm10ID09IHAy
bV9tbWlvX2RpcmVjdCApCisgICAgeworICAgICAgICBpZiAoIHBhZ2UgKQor
ICAgICAgICAgICAgcHV0X3BhZ2UocGFnZSk7CisKKyAgICAgICAgcmV0dXJu
IC1FUEVSTTsKKyAgICB9CisjZW5kaWYKIAogICAgIGlmICggIXBhZ2UgKQog
ICAgICAgICByZXR1cm4gLUVJTlZBTDsKLS0tIGEveGVuL2luY2x1ZGUvYXNt
LXg4Ni9wMm0uaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3AybS5oCkBA
IC0xNDMsNyArMTQzLDggQEAgdHlwZWRlZiB1bnNpZ25lZCBpbnQgcDJtX3F1
ZXJ5X3Q7CiAKIC8qIFR5cGVzIGVzdGFibGlzaGVkL2NsZWFuZWQgdXAgdmlh
IHNwZWNpYWwgYWNjZXNzb3JzLiAqLwogI2RlZmluZSBQMk1fU1BFQ0lBTF9U
WVBFUyAoUDJNX0dSQU5UX1RZUEVTIHwgXAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcDJtX3RvX21hc2socDJtX21hcF9mb3JlaWduKSkKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHAybV90b19tYXNrKHAybV9tYXBfZm9y
ZWlnbikgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICBwMm1fdG9f
bWFzayhwMm1fbW1pb19kaXJlY3QpKQogCiAvKiBWYWxpZCB0eXBlcyBub3Qg
bmVjZXNzYXJpbHkgYXNzb2NpYXRlZCB3aXRoIGEgKHZhbGlkKSBNRk4uICov
CiAjZGVmaW5lIFAyTV9JTlZBTElEX01GTl9UWVBFUyAoUDJNX1BPRF9UWVBF
UyAgICAgICAgICAgICAgICAgIFwKQEAgLTY0MCw4ICs2NDEsNiBAQCBpbnQg
c2V0X2ZvcmVpZ25fcDJtX2VudHJ5KHN0cnVjdCBkb21haW4KIC8qIFNldCBt
bWlvIGFkZHJlc3NlcyBpbiB0aGUgcDJtIHRhYmxlIChmb3IgcGFzcy10aHJv
dWdoKSAqLwogaW50IHNldF9tbWlvX3AybV9lbnRyeShzdHJ1Y3QgZG9tYWlu
ICpkLCB1bnNpZ25lZCBsb25nIGdmbiwgbWZuX3QgbWZuLAogICAgICAgICAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgb3JkZXIsIHAybV9hY2Nlc3Nf
dCBhY2Nlc3MpOwotaW50IGNsZWFyX21taW9fcDJtX2VudHJ5KHN0cnVjdCBk
b21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuLCBtZm5fdCBtZm4sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG9yZGVyKTsKIAog
LyogU2V0IGlkZW50aXR5IGFkZHJlc3NlcyBpbiB0aGUgcDJtIHRhYmxlIChm
b3IgcGFzcy10aHJvdWdoKSAqLwogaW50IHNldF9pZGVudGl0eV9wMm1fZW50
cnkoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBnZm4sCg==

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.13-0a.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.13-0a.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvcDJtOiBmaXggUG9EIGFjY291bnRpbmcgaW4gZ3Vlc3RfcGh5c21h
cF9hZGRfZW50cnkoKQoKVGhlIGluaXRpYWwgb2JzZXJ2YXRpb24gd2FzIHRo
YXQgdGhlIG1mbl92YWxpZCgpIGNoZWNrIGNvbWVzIHRvbyBsYXRlOgpOZWl0
aGVyIG1mbl9hZGQoKSBub3IgbWZuX3RvX3BhZ2UoKSAobGV0IGFsb25lIGRl
LXJlZmVyZW5jaW5nIHRoZQpyZXN1bHQgb2YgdGhlIGxhdHRlcikgYXJlIHZh
bGlkIGZvciBNRk5zIGZhaWxpbmcgdGhpcyBjaGVjay4gTW92ZSBpdCB1cAph
bmQgLSBub3RpY2luZyB0aGF0IHRoZXJlJ3Mgbm8gY2FsbGVyIGRvaW5nIHNv
IC0gYWxzbyBhZGQgYW4gYXNzZXJ0aW9uCnRoYXQgdGhpcyBzaG91bGQgbmV2
ZXIgcHJvZHVjZSAiZmFsc2UiIGhlcmUuCgpJbiB0dXJuIHRoaXMgd291bGQg
aGF2ZSBtZWFudCB0aGF0IHRoZSAiZWxzZSIgdG8gdGhhdCBpZigpIGNvdWxk
IG5vdyBnbwphd2F5LCB3aGljaCBkaWRuJ3Qgc2VlbSByaWdodCBhdCBhbGwu
IEFuZCBpbmRlZWQsIGNvbnNpZGVyaW5nIGNhbGxlcnMKbGlrZSBtZW1vcnlf
ZXhjaGFuZ2UoKSBvciB2YXJpb3VzIGdyYW50IHRhYmxlIGZ1bmN0aW9ucywg
dGhlIFBvRAphY2NvdW50aW5nIHNob3VsZCBoYXZlIGJlZW4gb3V0c2lkZSBv
ZiB0aGF0IGlmKCkgZnJvbSB0aGUgdmVyeQpiZWdpbm5pbmcuCgpTaWduZWQt
b2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkFja2Vk
LWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29t
PgptYXN0ZXIgY29tbWl0OiBhZWEyNzBlM2Y3YzBkYjY5NmM4OGEwZTk0YjFl
Y2U3YWJkMzM5Yzg0Cm1hc3RlciBkYXRlOiAyMDIwLTAyLTIxIDE3OjE0OjM4
ICswMTAwCgotLS0gYS94ZW4vYXJjaC94ODYvbW0vcDJtLmMKKysrIGIveGVu
L2FyY2gveDg2L21tL3AybS5jCkBAIC04ODEsNiArODgxLDEyIEBAIGd1ZXN0
X3BoeXNtYXBfYWRkX2VudHJ5KHN0cnVjdCBkb21haW4gKmQKICAgICBpZiAo
IHAybV9pc19mb3JlaWduKHQpICkKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7
CiAKKyAgICBpZiAoICFtZm5fdmFsaWQobWZuKSApCisgICAgeworICAgICAg
ICBBU1NFUlRfVU5SRUFDSEFCTEUoKTsKKyAgICAgICAgcmV0dXJuIC1FSU5W
QUw7CisgICAgfQorCiAgICAgcDJtX2xvY2socDJtKTsKIAogICAgIFAyTV9E
RUJVRygiYWRkaW5nIGdmbj0lI2x4IG1mbj0lI2x4XG4iLCBnZm5feChnZm4p
LCBtZm5feChtZm4pKTsKQEAgLTk4MSwxMiArOTg3LDEzIEBAIGd1ZXN0X3Bo
eXNtYXBfYWRkX2VudHJ5KHN0cnVjdCBkb21haW4gKmQKICAgICB9CiAKICAg
ICAvKiBOb3csIGFjdHVhbGx5IGRvIHRoZSB0d28td2F5IG1hcHBpbmcgKi8K
LSAgICBpZiAoIG1mbl92YWxpZChtZm4pICkKKyAgICByYyA9IHAybV9zZXRf
ZW50cnkocDJtLCBnZm4sIG1mbiwgcGFnZV9vcmRlciwgdCwgcDJtLT5kZWZh
dWx0X2FjY2Vzcyk7CisgICAgaWYgKCByYyA9PSAwICkKICAgICB7Ci0gICAg
ICAgIHJjID0gcDJtX3NldF9lbnRyeShwMm0sIGdmbiwgbWZuLCBwYWdlX29y
ZGVyLCB0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgcDJtLT5kZWZh
dWx0X2FjY2Vzcyk7Ci0gICAgICAgIGlmICggcmMgKQotICAgICAgICAgICAg
Z290byBvdXQ7IC8qIEZhaWxlZCB0byB1cGRhdGUgcDJtLCBiYWlsIHdpdGhv
dXQgdXBkYXRpbmcgbTJwLiAqLworICAgICAgICBwb2RfbG9jayhwMm0pOwor
ICAgICAgICBwMm0tPnBvZC5lbnRyeV9jb3VudCAtPSBwb2RfY291bnQ7Cisg
ICAgICAgIEJVR19PTihwMm0tPnBvZC5lbnRyeV9jb3VudCA8IDApOworICAg
ICAgICBwb2RfdW5sb2NrKHAybSk7CiAKICAgICAgICAgaWYgKCAhcDJtX2lz
X2dyYW50KHQpICkKICAgICAgICAgewpAQCAtOTk1LDIyICsxMDAyLDcgQEAg
Z3Vlc3RfcGh5c21hcF9hZGRfZW50cnkoc3RydWN0IGRvbWFpbiAqZAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdmbl94KGdmbl9hZGQo
Z2ZuLCBpKSkpOwogICAgICAgICB9CiAgICAgfQotICAgIGVsc2UKLSAgICB7
Ci0gICAgICAgIGdkcHJpbnRrKFhFTkxPR19XQVJOSU5HLCAiQWRkaW5nIGJh
ZCBtZm4gdG8gcDJtIG1hcCAoJSNseCAtPiAlI2x4KVxuIiwKLSAgICAgICAg
ICAgICAgICAgZ2ZuX3goZ2ZuKSwgbWZuX3gobWZuKSk7Ci0gICAgICAgIHJj
ID0gcDJtX3NldF9lbnRyeShwMm0sIGdmbiwgSU5WQUxJRF9NRk4sIHBhZ2Vf
b3JkZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBwMm1faW52YWxp
ZCwgcDJtLT5kZWZhdWx0X2FjY2Vzcyk7Ci0gICAgICAgIGlmICggcmMgPT0g
MCApCi0gICAgICAgIHsKLSAgICAgICAgICAgIHBvZF9sb2NrKHAybSk7Ci0g
ICAgICAgICAgICBwMm0tPnBvZC5lbnRyeV9jb3VudCAtPSBwb2RfY291bnQ7
Ci0gICAgICAgICAgICBCVUdfT04ocDJtLT5wb2QuZW50cnlfY291bnQgPCAw
KTsKLSAgICAgICAgICAgIHBvZF91bmxvY2socDJtKTsKLSAgICAgICAgfQot
ICAgIH0KIAotb3V0OgogICAgIHAybV91bmxvY2socDJtKTsKIAogICAgIHJl
dHVybiByYzsK

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.13-0b.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.13-0b.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvcDJtOiBkb24ndCBpZ25vcmUgcDJtX3JlbW92ZV9wYWdlKCkncyBy
ZXR1cm4gdmFsdWUKCkl0J3Mgbm90IHZlcnkgbmljZSB0byByZXR1cm4gZnJv
bSBndWVzdF9waHlzbWFwX2FkZF9lbnRyeSgpIGFmdGVyCnBlcmhhcHMgYWxy
ZWFkeSBoYXZpbmcgbWFkZSBzb21lIGNoYW5nZXMgdG8gdGhlIFAyTSwgYnV0
IHRoaXMgaXMgcHJlLQpleGlzdGluZyBwcmFjdGljZSBpbiB0aGUgZnVuY3Rp
b24sIGFuZCBpbW8gYmV0dGVyIHRoYW4gaWdub3JpbmcgZXJyb3JzLgoKVGFr
ZSB0aGUgbGliZXJ0eSBhbmQgcmVwbGFjZSBhbiBtZm5fYWRkKCkgaW5zdGFu
Y2Ugd2l0aCBhIGxvY2FsIHZhcmlhYmxlCmFscmVhZHkgaG9sZGluZyB0aGUg
cmVzdWx0IChhcyBwcm92ZW4gYnkgdGhlIGNoZWNrIGltbWVkaWF0ZWx5IGFo
ZWFkKS4KClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBz
dXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJy
YW50QGNpdHJpeC5jb20+CkFja2VkLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRy
ZXcuY29vcGVyM0BjaXRyaXguY29tPgptYXN0ZXIgY29tbWl0OiBhNmIwNTFh
ODdhNTg2MzQ3OTY5YmZiYWE2OTI1YWMwZjBjODQ1NDEzCm1hc3RlciBkYXRl
OiAyMDIwLTA0LTAzIDEwOjU2OjEwICswMjAwCgotLS0gYS94ZW4vYXJjaC94
ODYvbW0vcDJtLmMKKysrIGIveGVuL2FyY2gveDg2L21tL3AybS5jCkBAIC03
NzMsOCArNzczLDcgQEAgdm9pZCBwMm1fZmluYWxfdGVhcmRvd24oc3RydWN0
IGRvbWFpbiAqZAogICAgIHAybV90ZWFyZG93bl9ob3N0cDJtKGQpOwogfQog
Ci0KLXN0YXRpYyBpbnQKK3N0YXRpYyBpbnQgX19tdXN0X2NoZWNrCiBwMm1f
cmVtb3ZlX3BhZ2Uoc3RydWN0IHAybV9kb21haW4gKnAybSwgdW5zaWduZWQg
bG9uZyBnZm5fbCwgdW5zaWduZWQgbG9uZyBtZm4sCiAgICAgICAgICAgICAg
ICAgdW5zaWduZWQgaW50IHBhZ2Vfb3JkZXIpCiB7CkBAIC05NzksOSArOTc4
LDkgQEAgZ3Vlc3RfcGh5c21hcF9hZGRfZW50cnkoc3RydWN0IGRvbWFpbiAq
ZAogICAgICAgICAgICAgICAgIEFTU0VSVChtZm5fdmFsaWQob21mbikpOwog
ICAgICAgICAgICAgICAgIFAyTV9ERUJVRygib2xkIGdmbj0lI2x4IC0+IG1m
biAlI2x4XG4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICBnZm5feChv
Z2ZuKSAsIG1mbl94KG9tZm4pKTsKLSAgICAgICAgICAgICAgICBpZiAoIG1m
bl9lcShvbWZuLCBtZm5fYWRkKG1mbiwgaSkpICkKLSAgICAgICAgICAgICAg
ICAgICAgcDJtX3JlbW92ZV9wYWdlKHAybSwgZ2ZuX3gob2dmbiksIG1mbl94
KG1mbl9hZGQobWZuLCBpKSksCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAwKTsKKyAgICAgICAgICAgICAgICBpZiAoIG1mbl9lcShv
bWZuLCBtZm5fYWRkKG1mbiwgaSkpICYmCisgICAgICAgICAgICAgICAgICAg
ICAocmMgPSBwMm1fcmVtb3ZlX3BhZ2UocDJtLCBnZm5feChvZ2ZuKSwgbWZu
X3gob21mbiksIDApKSApCisgICAgICAgICAgICAgICAgICAgIGdvdG8gb3V0
OwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQpAQCAtMTAwMyw2
ICsxMDAyLDcgQEAgZ3Vlc3RfcGh5c21hcF9hZGRfZW50cnkoc3RydWN0IGRv
bWFpbiAqZAogICAgICAgICB9CiAgICAgfQogCisgb3V0OgogICAgIHAybV91
bmxvY2socDJtKTsKIAogICAgIHJldHVybiByYzsKQEAgLTI2OTAsOSArMjY5
MCw5IEBAIGludCBwMm1fY2hhbmdlX2FsdHAybV9nZm4oc3RydWN0IGRvbWFp
bgogICAgIGlmICggZ2ZuX2VxKG5ld19nZm4sIElOVkFMSURfR0ZOKSApCiAg
ICAgewogICAgICAgICBtZm4gPSBhcDJtLT5nZXRfZW50cnkoYXAybSwgb2xk
X2dmbiwgJnQsICZhLCAwLCBOVUxMLCBOVUxMKTsKLSAgICAgICAgaWYgKCBt
Zm5fdmFsaWQobWZuKSApCi0gICAgICAgICAgICBwMm1fcmVtb3ZlX3BhZ2Uo
YXAybSwgZ2ZuX3gob2xkX2dmbiksIG1mbl94KG1mbiksIFBBR0VfT1JERVJf
NEspOwotICAgICAgICByYyA9IDA7CisgICAgICAgIHJjID0gbWZuX3ZhbGlk
KG1mbikKKyAgICAgICAgICAgICA/IHAybV9yZW1vdmVfcGFnZShhcDJtLCBn
Zm5feChvbGRfZ2ZuKSwgbWZuX3gobWZuKSwgUEFHRV9PUkRFUl80SykKKyAg
ICAgICAgICAgICA6IDA7CiAgICAgICAgIGdvdG8gb3V0OwogICAgIH0KIAo=

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.13-0c.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.13-0c.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvcDJtOiBkb24ndCBhc3NlcnQgdGhhdCB0aGUgcGFzc2VkIGluIE1G
TiBtYXRjaGVzIGZvciBhIHJlbW92ZQoKZ3Vlc3RfcGh5c21hcF9yZW1vdmVf
cGFnZSgpIGdldHMgaGFuZGVkIGFuIE1GTiBmcm9tIHRoZSBvdXRzaWRlLCB5
ZXQKdGFrZXMgdGhlIG5lY2Vzc2FyeSBsb2NrIHRvIHByZXZlbnQgZnVydGhl
ciBjaGFuZ2VzIHRvIHRoZSBHRk4gPC0+IE1GTgptYXBwaW5nIGl0c2VsZi4g
V2hpbGUgc29tZSBjYWxsZXJzLCBpbiBwYXJ0aWN1bGFyIGd1ZXN0X3JlbW92
ZV9wYWdlKCkKKGJ5IHdheSBvZiBoYXZpbmcgY2FsbGVkIGdldF9nZm5fcXVl
cnkoKSksIGhvbGQgdGhlIEdGTiBsb2NrIGFscmVhZHksCnZhcmlvdXMgb3Ro
ZXJzIChtb3N0IG5vdGFibHkgcGVyaGFwcyB0aGUgMm5kIGluc3RhbmNlIGlu
Cnhlbm1lbV9hZGRfdG9fcGh5c21hcF9vbmUoKSkgZG9uJ3QuIFdoaWxlIGl0
IGFsc28gaXMgYW4gb3B0aW9uIHRvIGZpeAphbGwgdGhlIGNhbGxlcnMsIGRl
YWwgd2l0aCB0aGUgaXNzdWUgaW4gcDJtX3JlbW92ZV9wYWdlKCkgaW5zdGVh
ZDoKUmVwbGFjZSB0aGUgQVNTRVJUKCkgYnkgYSBjb25kaXRpb25hbCBhbmQg
c3BsaXQgdGhlIGxvb3AgaW50byB0d28sIHN1Y2gKdGhhdCBhbGwgY2hlY2tp
bmcgZ2V0cyBkb25lIGJlZm9yZSBhbnkgbW9kaWZpY2F0aW9uIHdvdWxkIG9j
Y3VyLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1
c2UuY29tPgpSZXZpZXdlZC1ieTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJh
bnRAY2l0cml4LmNvbT4KQWNrZWQtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJl
dy5jb29wZXIzQGNpdHJpeC5jb20+Cm1hc3RlciBjb21taXQ6IGM2NWVhMTZk
YmNhZmJlNGZlMjE2OTNiMThmOGMyYTNjNWQxNDYwMGUKbWFzdGVyIGRhdGU6
IDIwMjAtMDQtMDMgMTA6NTY6NTUgKzAyMDAKCi0tLSBhL3hlbi9hcmNoL3g4
Ni9tbS9wMm0uYworKysgYi94ZW4vYXJjaC94ODYvbW0vcDJtLmMKQEAgLTc3
OSw3ICs3NzksNiBAQCBwMm1fcmVtb3ZlX3BhZ2Uoc3RydWN0IHAybV9kb21h
aW4gKnAybSwKIHsKICAgICB1bnNpZ25lZCBsb25nIGk7CiAgICAgZ2ZuX3Qg
Z2ZuID0gX2dmbihnZm5fbCk7Ci0gICAgbWZuX3QgbWZuX3JldHVybjsKICAg
ICBwMm1fdHlwZV90IHQ7CiAgICAgcDJtX2FjY2Vzc190IGE7CiAKQEAgLTc5
MCwxNSArNzg5LDI2IEBAIHAybV9yZW1vdmVfcGFnZShzdHJ1Y3QgcDJtX2Rv
bWFpbiAqcDJtLAogICAgIEFTU0VSVChnZm5fbG9ja2VkX2J5X21lKHAybSwg
Z2ZuKSk7CiAgICAgUDJNX0RFQlVHKCJyZW1vdmluZyBnZm49JSNseCBtZm49
JSNseFxuIiwgZ2ZuX2wsIG1mbik7CiAKKyAgICBmb3IgKCBpID0gMDsgaSA8
ICgxVUwgPDwgcGFnZV9vcmRlcik7ICkKKyAgICB7CisgICAgICAgIHVuc2ln
bmVkIGludCBjdXJfb3JkZXI7CisgICAgICAgIG1mbl90IG1mbl9yZXR1cm4g
PSBwMm0tPmdldF9lbnRyeShwMm0sIGdmbl9hZGQoZ2ZuLCBpKSwgJnQsICZh
LCAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJmN1cl9vcmRlciwgTlVMTCk7CisKKyAgICAgICAgaWYgKCBwMm1faXNf
dmFsaWQodCkgJiYKKyAgICAgICAgICAgICAoIW1mbl92YWxpZChfbWZuKG1m
bikpIHx8IG1mbiArIGkgIT0gbWZuX3gobWZuX3JldHVybikpICkKKyAgICAg
ICAgICAgIHJldHVybiAtRUlMU0VROworCisgICAgICAgIGkgKz0gKDFVTCA8
PCBjdXJfb3JkZXIpIC0gKChnZm5fbCArIGkpICYgKCgxVUwgPDwgY3VyX29y
ZGVyKSAtIDEpKTsKKyAgICB9CisKICAgICBpZiAoIG1mbl92YWxpZChfbWZu
KG1mbikpICkKICAgICB7CiAgICAgICAgIGZvciAoIGkgPSAwOyBpIDwgKDFV
TCA8PCBwYWdlX29yZGVyKTsgaSsrICkKICAgICAgICAgewotICAgICAgICAg
ICAgbWZuX3JldHVybiA9IHAybS0+Z2V0X2VudHJ5KHAybSwgZ2ZuX2FkZChn
Zm4sIGkpLCAmdCwgJmEsIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgTlVMTCwgTlVMTCk7CisgICAgICAgICAgICBwMm0t
PmdldF9lbnRyeShwMm0sIGdmbl9hZGQoZ2ZuLCBpKSwgJnQsICZhLCAwLCBO
VUxMLCBOVUxMKTsKICAgICAgICAgICAgIGlmICggIXAybV9pc19ncmFudCh0
KSAmJiAhcDJtX2lzX3NoYXJlZCh0KSAmJiAhcDJtX2lzX2ZvcmVpZ24odCkg
KQogICAgICAgICAgICAgICAgIHNldF9ncGZuX2Zyb21fbWZuKG1mbitpLCBJ
TlZBTElEX00yUF9FTlRSWSk7Ci0gICAgICAgICAgICBBU1NFUlQoICFwMm1f
aXNfdmFsaWQodCkgfHwgbWZuICsgaSA9PSBtZm5feChtZm5fcmV0dXJuKSAp
OwogICAgICAgICB9CiAgICAgfQogICAgIHJldHVybiBwMm1fc2V0X2VudHJ5
KHAybSwgZ2ZuLCBJTlZBTElEX01GTiwgcGFnZV9vcmRlciwgcDJtX2ludmFs
aWQsCg==

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.13-1.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.13-1.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBBTUQvSU9NTVU6IGNvcnJlY3QgZ2xvYmFsIGV4Y2x1c2lvbiByYW5nZSBl
eHRlbmRpbmcKCkJlc2lkZXMgdW5pdHkgbWFwcGluZyByZWdpb25zLCB0aGUg
QU1EIElPTU1VIHNwZWMgYWxzbyBwcm92aWRlcyBmb3IKZXhjbHVzaW9uIHJh
bmdlcyAoYXJlYXMgb2YgbWVtb3J5IG5vdCB0byBiZSBzdWJqZWN0IHRvIERN
QSB0cmFuc2xhdGlvbikKdG8gYmUgc3BlY2lmaWVkIGJ5IGZpcm13YXJlIGlu
IHRoZSBBQ1BJIHRhYmxlcy4gVGhlIHNwZWMgZG9lcyBub3QgcHV0CmFueSBj
b25zdHJhaW50cyBvbiB0aGUgbnVtYmVyIG9mIHN1Y2ggcmVnaW9ucy4KCkJs
aW5kbHkgYXNzdW1pbmcgYWxsIGFkZHJlc3NlcyBiZXR3ZWVuIGFueSB0d28g
c3VjaCByYW5nZXMgc2hvdWxkIGFsc28KYmUgZXhjbHVkZWQgY2FuJ3QgYmUg
cmlnaHQuIFNpbmNlIGhhcmR3YXJlIGhhcyByb29tIGZvciBqdXN0IGEgc2lu
Z2xlCnN1Y2ggcmFuZ2UgKGNvbXByaXNlZCBvZiB0aGUgRXhjbHVzaW9uIEJh
c2UgUmVnaXN0ZXIgYW5kIHRoZSBFeGNsdXNpb24KUmFuZ2UgTGltaXQgUmVn
aXN0ZXIpLCBjb21iaW5lIG9ubHkgYWRqYWNlbnQgb3Igb3ZlcmxhcHBpbmcg
cmVnaW9ucyAoZm9yCm5vdzsgdGhpcyBtYXkgcmVxdWlyZSBmdXJ0aGVyIGFk
anVzdG1lbnQgaW4gY2FzZSB0YWJsZSBlbnRyaWVzIGFyZW4ndApzb3J0ZWQg
YnkgYWRkcmVzcykgd2l0aCBtYXRjaGluZyBleGNsdXNpb25fYWxsb3dfYWxs
IHNldHRpbmdzLiBUaGlzCnJlcXVpcmVzIGJ1YmJsaW5nIHVwIGVycm9yIGlu
ZGljYXRvcnMsIHN1Y2ggdGhhdCBJT01NVSBpbml0IGNhbiBiZQpmYWlsZWQg
d2hlbiBjb25jYXRlbmF0aW9uIHdhc24ndCBwb3NzaWJsZS4KCkZ1cnRoZXJt
b3JlLCBzaW5jZSB0aGUgZXhjbHVzaW9uIHJhbmdlIHNwZWNpZmllZCBpbiBJ
T01NVSByZWdpc3RlcnMKaW1wbGllcyBSL1cgYWNjZXNzLCByZWplY3QgcmVx
dWVzdHMgYXNraW5nIGZvciBsZXNzIHBlcm1pc3Npb25zICh0aGlzCndpbGwg
YmUgYnJvdWdodCBjbG9zZXIgdG8gdGhlIHNwZWMgYnkgYSBzdWJzZXF1ZW50
IGNoYW5nZSkuCgpUaGlzIGlzIHBhcnQgb2YgWFNBLTM3OCAvIENWRS0yMDIx
LTI4Njk1LgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpSZXZpZXdlZC1ieTogUGF1bCBEdXJyYW50IDxwYXVsQHhl
bi5vcmc+CgotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9t
bXVfYWNwaS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9p
b21tdV9hY3BpLmMKQEAgLTExNywxMiArMTE3LDIxIEBAIHN0YXRpYyBzdHJ1
Y3QgYW1kX2lvbW11ICogX19pbml0IGZpbmRfaW8KICAgICByZXR1cm4gTlVM
TDsKIH0KIAotc3RhdGljIHZvaWQgX19pbml0IHJlc2VydmVfaW9tbXVfZXhj
bHVzaW9uX3JhbmdlKAotICAgIHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LCB1
aW50NjRfdCBiYXNlLCB1aW50NjRfdCBsaW1pdCkKK3N0YXRpYyBpbnQgX19p
bml0IHJlc2VydmVfaW9tbXVfZXhjbHVzaW9uX3JhbmdlKAorICAgIHN0cnVj
dCBhbWRfaW9tbXUgKmlvbW11LCB1aW50NjRfdCBiYXNlLCB1aW50NjRfdCBs
aW1pdCwKKyAgICBib29sIGFsbCwgYm9vbCBpdywgYm9vbCBpcikKIHsKKyAg
ICBpZiAoICFpciB8fCAhaXcgKQorICAgICAgICByZXR1cm4gLUVQRVJNOwor
CiAgICAgLyogbmVlZCB0byBleHRlbmQgZXhjbHVzaW9uIHJhbmdlPyAqLwog
ICAgIGlmICggaW9tbXUtPmV4Y2x1c2lvbl9lbmFibGUgKQogICAgIHsKKyAg
ICAgICAgaWYgKCBpb21tdS0+ZXhjbHVzaW9uX2xpbWl0ICsgUEFHRV9TSVpF
IDwgYmFzZSB8fAorICAgICAgICAgICAgIGxpbWl0ICsgUEFHRV9TSVpFIDwg
aW9tbXUtPmV4Y2x1c2lvbl9iYXNlIHx8CisgICAgICAgICAgICAgaW9tbXUt
PmV4Y2x1c2lvbl9hbGxvd19hbGwgIT0gYWxsICkKKyAgICAgICAgICAgIHJl
dHVybiAtRUJVU1k7CisKICAgICAgICAgaWYgKCBpb21tdS0+ZXhjbHVzaW9u
X2Jhc2UgPCBiYXNlICkKICAgICAgICAgICAgIGJhc2UgPSBpb21tdS0+ZXhj
bHVzaW9uX2Jhc2U7CiAgICAgICAgIGlmICggaW9tbXUtPmV4Y2x1c2lvbl9s
aW1pdCA+IGxpbWl0ICkKQEAgLTEzMCwxNiArMTM5LDExIEBAIHN0YXRpYyB2
b2lkIF9faW5pdCByZXNlcnZlX2lvbW11X2V4Y2x1c2kKICAgICB9CiAKICAg
ICBpb21tdS0+ZXhjbHVzaW9uX2VuYWJsZSA9IElPTU1VX0NPTlRST0xfRU5B
QkxFRDsKKyAgICBpb21tdS0+ZXhjbHVzaW9uX2FsbG93X2FsbCA9IGFsbDsK
ICAgICBpb21tdS0+ZXhjbHVzaW9uX2Jhc2UgPSBiYXNlOwogICAgIGlvbW11
LT5leGNsdXNpb25fbGltaXQgPSBsaW1pdDsKLX0KIAotc3RhdGljIHZvaWQg
X19pbml0IHJlc2VydmVfaW9tbXVfZXhjbHVzaW9uX3JhbmdlX2FsbCgKLSAg
ICBzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwKLSAgICB1bnNpZ25lZCBsb25n
IGJhc2UsIHVuc2lnbmVkIGxvbmcgbGltaXQpCi17Ci0gICAgcmVzZXJ2ZV9p
b21tdV9leGNsdXNpb25fcmFuZ2UoaW9tbXUsIGJhc2UsIGxpbWl0KTsKLSAg
ICBpb21tdS0+ZXhjbHVzaW9uX2FsbG93X2FsbCA9IElPTU1VX0NPTlRST0xf
RU5BQkxFRDsKKyAgICByZXR1cm4gMDsKIH0KIAogc3RhdGljIHZvaWQgX19p
bml0IHJlc2VydmVfdW5pdHlfbWFwX2Zvcl9kZXZpY2UoCkBAIC0xNzcsNiAr
MTgxLDcgQEAgc3RhdGljIGludCBfX2luaXQgcmVnaXN0ZXJfZXhjbHVzaW9u
X3JhbgogICAgIHVuc2lnbmVkIGxvbmcgcmFuZ2VfdG9wLCBpb21tdV90b3As
IGxlbmd0aDsKICAgICBzdHJ1Y3QgYW1kX2lvbW11ICppb21tdTsKICAgICB1
bnNpZ25lZCBpbnQgYmRmOworICAgIGludCByYyA9IDA7CiAKICAgICAvKiBp
cyBwYXJ0IG9mIGV4Y2x1c2lvbiByYW5nZSBpbnNpZGUgb2YgSU9NTVUgdmly
dHVhbCBhZGRyZXNzIHNwYWNlPyAqLwogICAgIC8qIG5vdGU6ICdsaW1pdCcg
cGFyYW1ldGVyIGlzIGFzc3VtZWQgdG8gYmUgcGFnZS1hbGlnbmVkICovCkBA
IC0xOTgsMTAgKzIwMywxNSBAQCBzdGF0aWMgaW50IF9faW5pdCByZWdpc3Rl
cl9leGNsdXNpb25fcmFuCiAgICAgaWYgKCBsaW1pdCA+PSBpb21tdV90b3Ag
KQogICAgIHsKICAgICAgICAgZm9yX2VhY2hfYW1kX2lvbW11KCBpb21tdSAp
Ci0gICAgICAgICAgICByZXNlcnZlX2lvbW11X2V4Y2x1c2lvbl9yYW5nZV9h
bGwoaW9tbXUsIGJhc2UsIGxpbWl0KTsKKyAgICAgICAgeworICAgICAgICAg
ICAgcmMgPSByZXNlcnZlX2lvbW11X2V4Y2x1c2lvbl9yYW5nZShpb21tdSwg
YmFzZSwgbGltaXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHRydWUgLyogYWxsICovLCBpdywgaXIpOworICAg
ICAgICAgICAgaWYgKCByYyApCisgICAgICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIH0KICAgICB9CiAKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4g
cmM7CiB9CiAKIHN0YXRpYyBpbnQgX19pbml0IHJlZ2lzdGVyX2V4Y2x1c2lv
bl9yYW5nZV9mb3JfZGV2aWNlKApAQCAtMjEyLDYgKzIyMiw3IEBAIHN0YXRp
YyBpbnQgX19pbml0IHJlZ2lzdGVyX2V4Y2x1c2lvbl9yYW4KICAgICB1bnNp
Z25lZCBsb25nIHJhbmdlX3RvcCwgaW9tbXVfdG9wLCBsZW5ndGg7CiAgICAg
c3RydWN0IGFtZF9pb21tdSAqaW9tbXU7CiAgICAgdTE2IHJlcTsKKyAgICBp
bnQgcmMgPSAwOwogCiAgICAgaW9tbXUgPSBmaW5kX2lvbW11X2Zvcl9kZXZp
Y2Uoc2VnLCBiZGYpOwogICAgIGlmICggIWlvbW11ICkKQEAgLTI0MSwxMiAr
MjUyLDEzIEBAIHN0YXRpYyBpbnQgX19pbml0IHJlZ2lzdGVyX2V4Y2x1c2lv
bl9yYW4KICAgICAvKiByZWdpc3RlciBJT01NVSBleGNsdXNpb24gcmFuZ2Ug
c2V0dGluZ3MgZm9yIGRldmljZSAqLwogICAgIGlmICggbGltaXQgPj0gaW9t
bXVfdG9wICApCiAgICAgewotICAgICAgICByZXNlcnZlX2lvbW11X2V4Y2x1
c2lvbl9yYW5nZShpb21tdSwgYmFzZSwgbGltaXQpOworICAgICAgICByYyA9
IHJlc2VydmVfaW9tbXVfZXhjbHVzaW9uX3JhbmdlKGlvbW11LCBiYXNlLCBs
aW1pdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBmYWxzZSAvKiBhbGwgKi8sIGl3LCBpcik7CiAgICAgICAgIGl2cnNf
bWFwcGluZ3NbYmRmXS5kdGVfYWxsb3dfZXhjbHVzaW9uID0gdHJ1ZTsKICAg
ICAgICAgaXZyc19tYXBwaW5nc1tyZXFdLmR0ZV9hbGxvd19leGNsdXNpb24g
PSB0cnVlOwogICAgIH0KIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBy
YzsKIH0KIAogc3RhdGljIGludCBfX2luaXQgcmVnaXN0ZXJfZXhjbHVzaW9u
X3JhbmdlX2Zvcl9pb21tdV9kZXZpY2VzKApAQCAtMjU2LDYgKzI2OCw3IEBA
IHN0YXRpYyBpbnQgX19pbml0IHJlZ2lzdGVyX2V4Y2x1c2lvbl9yYW4KICAg
ICB1bnNpZ25lZCBsb25nIHJhbmdlX3RvcCwgaW9tbXVfdG9wLCBsZW5ndGg7
CiAgICAgdW5zaWduZWQgaW50IGJkZjsKICAgICB1MTYgcmVxOworICAgIGlu
dCByYyA9IDA7CiAKICAgICAvKiBpcyBwYXJ0IG9mIGV4Y2x1c2lvbiByYW5n
ZSBpbnNpZGUgb2YgSU9NTVUgdmlydHVhbCBhZGRyZXNzIHNwYWNlPyAqLwog
ICAgIC8qIG5vdGU6ICdsaW1pdCcgcGFyYW1ldGVyIGlzIGFzc3VtZWQgdG8g
YmUgcGFnZS1hbGlnbmVkICovCkBAIC0yODYsOCArMjk5LDEwIEBAIHN0YXRp
YyBpbnQgX19pbml0IHJlZ2lzdGVyX2V4Y2x1c2lvbl9yYW4KIAogICAgIC8q
IHJlZ2lzdGVyIElPTU1VIGV4Y2x1c2lvbiByYW5nZSBzZXR0aW5ncyAqLwog
ICAgIGlmICggbGltaXQgPj0gaW9tbXVfdG9wICkKLSAgICAgICAgcmVzZXJ2
ZV9pb21tdV9leGNsdXNpb25fcmFuZ2VfYWxsKGlvbW11LCBiYXNlLCBsaW1p
dCk7Ci0gICAgcmV0dXJuIDA7CisgICAgICAgIHJjID0gcmVzZXJ2ZV9pb21t
dV9leGNsdXNpb25fcmFuZ2UoaW9tbXUsIGJhc2UsIGxpbWl0LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgLyog
YWxsICovLCBpdywgaXIpOworCisgICAgcmV0dXJuIHJjOwogfQogCiBzdGF0
aWMgaW50IF9faW5pdCBwYXJzZV9pdm1kX2RldmljZV9zZWxlY3QoCg==

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.13-2.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.13-2.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBBTUQvSU9NTVU6IGNvcnJlY3QgZGV2aWNlIHVuaXR5IG1hcCBoYW5kbGlu
ZwoKQmxpbmRseSBhc3N1bWluZyBhbGwgYWRkcmVzc2VzIGJldHdlZW4gYW55
IHR3byBzdWNoIHJhbmdlcywgc3BlY2lmaWVkIGJ5CmZpcm13YXJlIGluIHRo
ZSBBQ1BJIHRhYmxlcywgc2hvdWxkIGFsc28gYmUgdW5pdHktbWFwcGVkIGNh
bid0IGJlIHJpZ2h0LgpOb3IgY2FuIGl0IGJlIGNvcnJlY3QgdG8gbWVyZ2Ug
cmFuZ2VzIHdpdGggZGlmZmVyaW5nIHBlcm1pc3Npb25zLiBUcmFjawpyYW5n
ZXMgaW5kaXZpZHVhbGx5OyBkb24ndCBtZXJnZSBhdCBhbGwsIGJ1dCBjaGVj
ayBmb3Igb3ZlcmxhcHMgaW5zdGVhZC4KVGhpcyByZXF1aXJlcyBidWJibGlu
ZyB1cCBlcnJvciBpbmRpY2F0b3JzLCBzdWNoIHRoYXQgSU9NTVUgaW5pdCBj
YW4gYmUKZmFpbGVkIHdoZW4gYWxsb2NhdGlvbiBvZiBhIG5ldyB0cmFja2lu
ZyBzdHJ1Y3Qgd2Fzbid0IHBvc3NpYmxlLCBvciBhbgpvdmVybGFwIHdhcyBk
ZXRlY3RlZC4KCkF0IHRoaXMgb2NjYXNpb24gYWxzbyBzdG9wIGlnbm9yaW5n
CmFtZF9pb21tdV9yZXNlcnZlX2RvbWFpbl91bml0eV9tYXAoKSdzIHJldHVy
biB2YWx1ZS4KClRoaXMgaXMgcGFydCBvZiBYU0EtMzc4IC8gQ1ZFLTIwMjEt
Mjg2OTUuCgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hA
c3VzZS5jb20+ClJldmlld2VkLWJ5OiBHZW9yZ2UgRHVubGFwIDxnZW9yZ2Uu
ZHVubGFwQGNpdHJpeC5jb20+ClJldmlld2VkLWJ5OiBQYXVsIER1cnJhbnQg
PHBhdWxAeGVuLm9yZz4KCi0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdo
L2FtZC9pb21tdV9hY3BpLmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91
Z2gvYW1kL2lvbW11X2FjcGkuYwpAQCAtMTQ2LDMyICsxNDYsNDggQEAgc3Rh
dGljIGludCBfX2luaXQgcmVzZXJ2ZV9pb21tdV9leGNsdXNpbwogICAgIHJl
dHVybiAwOwogfQogCi1zdGF0aWMgdm9pZCBfX2luaXQgcmVzZXJ2ZV91bml0
eV9tYXBfZm9yX2RldmljZSgKLSAgICB1MTYgc2VnLCB1MTYgYmRmLCB1bnNp
Z25lZCBsb25nIGJhc2UsCi0gICAgdW5zaWduZWQgbG9uZyBsZW5ndGgsIHU4
IGl3LCB1OCBpcikKK3N0YXRpYyBpbnQgX19pbml0IHJlc2VydmVfdW5pdHlf
bWFwX2Zvcl9kZXZpY2UoCisgICAgdWludDE2X3Qgc2VnLCB1aW50MTZfdCBi
ZGYsIHVuc2lnbmVkIGxvbmcgYmFzZSwKKyAgICB1bnNpZ25lZCBsb25nIGxl
bmd0aCwgYm9vbCBpdywgYm9vbCBpcikKIHsKICAgICBzdHJ1Y3QgaXZyc19t
YXBwaW5ncyAqaXZyc19tYXBwaW5ncyA9IGdldF9pdnJzX21hcHBpbmdzKHNl
Zyk7Ci0gICAgdW5zaWduZWQgbG9uZyBvbGRfdG9wLCBuZXdfdG9wOworICAg
IHN0cnVjdCBpdnJzX3VuaXR5X21hcCAqdW5pdHlfbWFwID0gaXZyc19tYXBw
aW5nc1tiZGZdLnVuaXR5X21hcDsKIAotICAgIC8qIG5lZWQgdG8gZXh0ZW5k
IHVuaXR5LW1hcHBlZCByYW5nZT8gKi8KLSAgICBpZiAoIGl2cnNfbWFwcGlu
Z3NbYmRmXS51bml0eV9tYXBfZW5hYmxlICkKKyAgICAvKiBDaGVjayBmb3Ig
b3ZlcmxhcHMuICovCisgICAgZm9yICggOyB1bml0eV9tYXA7IHVuaXR5X21h
cCA9IHVuaXR5X21hcC0+bmV4dCApCiAgICAgewotICAgICAgICBvbGRfdG9w
ID0gaXZyc19tYXBwaW5nc1tiZGZdLmFkZHJfcmFuZ2Vfc3RhcnQgKwotICAg
ICAgICAgICAgaXZyc19tYXBwaW5nc1tiZGZdLmFkZHJfcmFuZ2VfbGVuZ3Ro
OwotICAgICAgICBuZXdfdG9wID0gYmFzZSArIGxlbmd0aDsKLSAgICAgICAg
aWYgKCBvbGRfdG9wID4gbmV3X3RvcCApCi0gICAgICAgICAgICBuZXdfdG9w
ID0gb2xkX3RvcDsKLSAgICAgICAgaWYgKCBpdnJzX21hcHBpbmdzW2JkZl0u
YWRkcl9yYW5nZV9zdGFydCA8IGJhc2UgKQotICAgICAgICAgICAgYmFzZSA9
IGl2cnNfbWFwcGluZ3NbYmRmXS5hZGRyX3JhbmdlX3N0YXJ0OwotICAgICAg
ICBsZW5ndGggPSBuZXdfdG9wIC0gYmFzZTsKLSAgICB9Ci0KLSAgICAvKiBl
eHRlbmQgci93IHBlcm1pc3Npb21zIGFuZCBrZWVwIGFnZ3JlZ2F0ZSAqLwot
ICAgIGl2cnNfbWFwcGluZ3NbYmRmXS53cml0ZV9wZXJtaXNzaW9uID0gaXc7
Ci0gICAgaXZyc19tYXBwaW5nc1tiZGZdLnJlYWRfcGVybWlzc2lvbiA9IGly
OwotICAgIGl2cnNfbWFwcGluZ3NbYmRmXS51bml0eV9tYXBfZW5hYmxlID0g
dHJ1ZTsKLSAgICBpdnJzX21hcHBpbmdzW2JkZl0uYWRkcl9yYW5nZV9zdGFy
dCA9IGJhc2U7Ci0gICAgaXZyc19tYXBwaW5nc1tiZGZdLmFkZHJfcmFuZ2Vf
bGVuZ3RoID0gbGVuZ3RoOworICAgICAgICAvKgorICAgICAgICAgKiBFeGFj
dCBtYXRjaGVzIGFyZSBva2F5LiBUaGlzIGNhbiBpbiBwYXJ0aWN1bGFyIGhh
cHBlbiB3aGVuCisgICAgICAgICAqIHJlZ2lzdGVyX2V4Y2x1c2lvbl9yYW5n
ZV9mb3JfZGV2aWNlKCkgY2FsbHMgaGVyZSB0d2ljZSBmb3IgdGhlCisgICAg
ICAgICAqIHNhbWUgKHMsYixkLGYpLgorICAgICAgICAgKi8KKyAgICAgICAg
aWYgKCBiYXNlID09IHVuaXR5X21hcC0+YWRkciAmJiBsZW5ndGggPT0gdW5p
dHlfbWFwLT5sZW5ndGggJiYKKyAgICAgICAgICAgICBpciA9PSB1bml0eV9t
YXAtPnJlYWQgJiYgaXcgPT0gdW5pdHlfbWFwLT53cml0ZSApCisgICAgICAg
ICAgICByZXR1cm4gMDsKKworICAgICAgICBpZiAoIHVuaXR5X21hcC0+YWRk
ciArIHVuaXR5X21hcC0+bGVuZ3RoID4gYmFzZSAmJgorICAgICAgICAgICAg
IGJhc2UgKyBsZW5ndGggPiB1bml0eV9tYXAtPmFkZHIgKQorICAgICAgICB7
CisgICAgICAgICAgICBBTURfSU9NTVVfREVCVUcoIklWTUQgRXJyb3I6IG92
ZXJsYXAgWyVseCwlbHgpIHZzIFslbHgsJWx4KVxuIiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBiYXNlLCBiYXNlICsgbGVuZ3RoLCB1bml0eV9t
YXAtPmFkZHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pdHlf
bWFwLT5hZGRyICsgdW5pdHlfbWFwLT5sZW5ndGgpOworICAgICAgICAgICAg
cmV0dXJuIC1FUEVSTTsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8qIFBv
cHVsYXRlIGFuZCBpbnNlcnQgYSBuZXcgdW5pdHkgbWFwLiAqLworICAgIHVu
aXR5X21hcCA9IHhtYWxsb2Moc3RydWN0IGl2cnNfdW5pdHlfbWFwKTsKKyAg
ICBpZiAoICF1bml0eV9tYXAgKQorICAgICAgICByZXR1cm4gLUVOT01FTTsK
KworICAgIHVuaXR5X21hcC0+cmVhZCA9IGlyOworICAgIHVuaXR5X21hcC0+
d3JpdGUgPSBpdzsKKyAgICB1bml0eV9tYXAtPmFkZHIgPSBiYXNlOworICAg
IHVuaXR5X21hcC0+bGVuZ3RoID0gbGVuZ3RoOworICAgIHVuaXR5X21hcC0+
bmV4dCA9IGl2cnNfbWFwcGluZ3NbYmRmXS51bml0eV9tYXA7CisgICAgaXZy
c19tYXBwaW5nc1tiZGZdLnVuaXR5X21hcCA9IHVuaXR5X21hcDsKKworICAg
IHJldHVybiAwOwogfQogCiBzdGF0aWMgaW50IF9faW5pdCByZWdpc3Rlcl9l
eGNsdXNpb25fcmFuZ2VfZm9yX2FsbF9kZXZpY2VzKApAQCAtMTk0LDEzICsy
MTAsMTMgQEAgc3RhdGljIGludCBfX2luaXQgcmVnaXN0ZXJfZXhjbHVzaW9u
X3JhbgogICAgICAgICBsZW5ndGggPSByYW5nZV90b3AgLSBiYXNlOwogICAg
ICAgICAvKiByZXNlcnZlIHIvdyB1bml0eS1tYXBwZWQgcGFnZSBlbnRyaWVz
IGZvciBkZXZpY2VzICovCiAgICAgICAgIC8qIG5vdGU6IHRoZXNlIGVudHJp
ZXMgYXJlIHBhcnQgb2YgdGhlIGV4Y2x1c2lvbiByYW5nZSAqLwotICAgICAg
ICBmb3IgKCBiZGYgPSAwOyBiZGYgPCBpdnJzX2JkZl9lbnRyaWVzOyBiZGYr
KyApCi0gICAgICAgICAgICByZXNlcnZlX3VuaXR5X21hcF9mb3JfZGV2aWNl
KHNlZywgYmRmLCBiYXNlLCBsZW5ndGgsIGl3LCBpcik7CisgICAgICAgIGZv
ciAoIGJkZiA9IDA7ICFyYyAmJiBiZGYgPCBpdnJzX2JkZl9lbnRyaWVzOyBi
ZGYrKyApCisgICAgICAgICAgICByYyA9IHJlc2VydmVfdW5pdHlfbWFwX2Zv
cl9kZXZpY2Uoc2VnLCBiZGYsIGJhc2UsIGxlbmd0aCwgaXcsIGlyKTsKICAg
ICAgICAgLyogcHVzaCAnYmFzZScganVzdCBvdXRzaWRlIG9mIHZpcnR1YWwg
YWRkcmVzcyBzcGFjZSAqLwogICAgICAgICBiYXNlID0gaW9tbXVfdG9wOwog
ICAgIH0KICAgICAvKiByZWdpc3RlciBJT01NVSBleGNsdXNpb24gcmFuZ2Ug
c2V0dGluZ3MgKi8KLSAgICBpZiAoIGxpbWl0ID49IGlvbW11X3RvcCApCisg
ICAgaWYgKCAhcmMgJiYgbGltaXQgPj0gaW9tbXVfdG9wICkKICAgICB7CiAg
ICAgICAgIGZvcl9lYWNoX2FtZF9pb21tdSggaW9tbXUgKQogICAgICAgICB7
CkBAIC0yNDIsMTUgKzI1OCwxNSBAQCBzdGF0aWMgaW50IF9faW5pdCByZWdp
c3Rlcl9leGNsdXNpb25fcmFuCiAgICAgICAgIGxlbmd0aCA9IHJhbmdlX3Rv
cCAtIGJhc2U7CiAgICAgICAgIC8qIHJlc2VydmUgdW5pdHktbWFwcGVkIHBh
Z2UgZW50cmllcyBmb3IgZGV2aWNlICovCiAgICAgICAgIC8qIG5vdGU6IHRo
ZXNlIGVudHJpZXMgYXJlIHBhcnQgb2YgdGhlIGV4Y2x1c2lvbiByYW5nZSAq
LwotICAgICAgICByZXNlcnZlX3VuaXR5X21hcF9mb3JfZGV2aWNlKHNlZywg
YmRmLCBiYXNlLCBsZW5ndGgsIGl3LCBpcik7Ci0gICAgICAgIHJlc2VydmVf
dW5pdHlfbWFwX2Zvcl9kZXZpY2Uoc2VnLCByZXEsIGJhc2UsIGxlbmd0aCwg
aXcsIGlyKTsKKyAgICAgICAgcmMgPSByZXNlcnZlX3VuaXR5X21hcF9mb3Jf
ZGV2aWNlKHNlZywgYmRmLCBiYXNlLCBsZW5ndGgsIGl3LCBpcikgPzoKKyAg
ICAgICAgICAgICByZXNlcnZlX3VuaXR5X21hcF9mb3JfZGV2aWNlKHNlZywg
cmVxLCBiYXNlLCBsZW5ndGgsIGl3LCBpcik7CiAKICAgICAgICAgLyogcHVz
aCAnYmFzZScganVzdCBvdXRzaWRlIG9mIHZpcnR1YWwgYWRkcmVzcyBzcGFj
ZSAqLwogICAgICAgICBiYXNlID0gaW9tbXVfdG9wOwogICAgIH0KIAogICAg
IC8qIHJlZ2lzdGVyIElPTU1VIGV4Y2x1c2lvbiByYW5nZSBzZXR0aW5ncyBm
b3IgZGV2aWNlICovCi0gICAgaWYgKCBsaW1pdCA+PSBpb21tdV90b3AgICkK
KyAgICBpZiAoICFyYyAmJiBsaW1pdCA+PSBpb21tdV90b3AgICkKICAgICB7
CiAgICAgICAgIHJjID0gcmVzZXJ2ZV9pb21tdV9leGNsdXNpb25fcmFuZ2Uo
aW9tbXUsIGJhc2UsIGxpbWl0LAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGZhbHNlIC8qIGFsbCAqLywgaXcsIGlyKTsK
QEAgLTI4MSwxNSArMjk3LDE1IEBAIHN0YXRpYyBpbnQgX19pbml0IHJlZ2lz
dGVyX2V4Y2x1c2lvbl9yYW4KICAgICAgICAgbGVuZ3RoID0gcmFuZ2VfdG9w
IC0gYmFzZTsKICAgICAgICAgLyogcmVzZXJ2ZSByL3cgdW5pdHktbWFwcGVk
IHBhZ2UgZW50cmllcyBmb3IgZGV2aWNlcyAqLwogICAgICAgICAvKiBub3Rl
OiB0aGVzZSBlbnRyaWVzIGFyZSBwYXJ0IG9mIHRoZSBleGNsdXNpb24gcmFu
Z2UgKi8KLSAgICAgICAgZm9yICggYmRmID0gMDsgYmRmIDwgaXZyc19iZGZf
ZW50cmllczsgYmRmKysgKQorICAgICAgICBmb3IgKCBiZGYgPSAwOyAhcmMg
JiYgYmRmIDwgaXZyc19iZGZfZW50cmllczsgYmRmKysgKQogICAgICAgICB7
CiAgICAgICAgICAgICBpZiAoIGlvbW11ID09IGZpbmRfaW9tbXVfZm9yX2Rl
dmljZShpb21tdS0+c2VnLCBiZGYpICkKICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICByZXNlcnZlX3VuaXR5X21hcF9mb3JfZGV2aWNlKGlvbW11
LT5zZWcsIGJkZiwgYmFzZSwgbGVuZ3RoLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaXcsIGlyKTsKICAgICAgICAg
ICAgICAgICByZXEgPSBnZXRfaXZyc19tYXBwaW5ncyhpb21tdS0+c2VnKVti
ZGZdLmR0ZV9yZXF1ZXN0b3JfaWQ7Ci0gICAgICAgICAgICAgICAgcmVzZXJ2
ZV91bml0eV9tYXBfZm9yX2RldmljZShpb21tdS0+c2VnLCByZXEsIGJhc2Us
IGxlbmd0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGl3LCBpcik7CisgICAgICAgICAgICAgICAgcmMgPSByZXNl
cnZlX3VuaXR5X21hcF9mb3JfZGV2aWNlKGlvbW11LT5zZWcsIGJkZiwgYmFz
ZSwgbGVuZ3RoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpdywgaXIpID86CisgICAgICAgICAgICAgICAg
ICAgICByZXNlcnZlX3VuaXR5X21hcF9mb3JfZGV2aWNlKGlvbW11LT5zZWcs
IHJlcSwgYmFzZSwgbGVuZ3RoLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpdywgaXIpOwogICAgICAgICAg
ICAgfQogICAgICAgICB9CiAKQEAgLTI5OCw3ICszMTQsNyBAQCBzdGF0aWMg
aW50IF9faW5pdCByZWdpc3Rlcl9leGNsdXNpb25fcmFuCiAgICAgfQogCiAg
ICAgLyogcmVnaXN0ZXIgSU9NTVUgZXhjbHVzaW9uIHJhbmdlIHNldHRpbmdz
ICovCi0gICAgaWYgKCBsaW1pdCA+PSBpb21tdV90b3AgKQorICAgIGlmICgg
IXJjICYmIGxpbWl0ID49IGlvbW11X3RvcCApCiAgICAgICAgIHJjID0gcmVz
ZXJ2ZV9pb21tdV9leGNsdXNpb25fcmFuZ2UoaW9tbXUsIGJhc2UsIGxpbWl0
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHRydWUgLyogYWxsICovLCBpdywgaXIpOwogCi0tLSBhL3hlbi9kcml2ZXJz
L3Bhc3N0aHJvdWdoL2FtZC9wY2lfYW1kX2lvbW11LmMKKysrIGIveGVuL2Ry
aXZlcnMvcGFzc3Rocm91Z2gvYW1kL3BjaV9hbWRfaW9tbXUuYwpAQCAtMzY5
LDE1ICszNjksMTcgQEAgc3RhdGljIGludCBhbWRfaW9tbXVfYXNzaWduX2Rl
dmljZShzdHJ1YwogICAgIHN0cnVjdCBpdnJzX21hcHBpbmdzICppdnJzX21h
cHBpbmdzID0gZ2V0X2l2cnNfbWFwcGluZ3MocGRldi0+c2VnKTsKICAgICBp
bnQgYmRmID0gUENJX0JERjIocGRldi0+YnVzLCBkZXZmbik7CiAgICAgaW50
IHJlcV9pZCA9IGdldF9kbWFfcmVxdWVzdG9yX2lkKHBkZXYtPnNlZywgYmRm
KTsKKyAgICBjb25zdCBzdHJ1Y3QgaXZyc191bml0eV9tYXAgKnVuaXR5X21h
cDsKIAotICAgIGlmICggaXZyc19tYXBwaW5nc1tyZXFfaWRdLnVuaXR5X21h
cF9lbmFibGUgKQorICAgIGZvciAoIHVuaXR5X21hcCA9IGl2cnNfbWFwcGlu
Z3NbcmVxX2lkXS51bml0eV9tYXA7IHVuaXR5X21hcDsKKyAgICAgICAgICB1
bml0eV9tYXAgPSB1bml0eV9tYXAtPm5leHQgKQogICAgIHsKLSAgICAgICAg
YW1kX2lvbW11X3Jlc2VydmVfZG9tYWluX3VuaXR5X21hcCgKLSAgICAgICAg
ICAgIGQsCi0gICAgICAgICAgICBpdnJzX21hcHBpbmdzW3JlcV9pZF0uYWRk
cl9yYW5nZV9zdGFydCwKLSAgICAgICAgICAgIGl2cnNfbWFwcGluZ3NbcmVx
X2lkXS5hZGRyX3JhbmdlX2xlbmd0aCwKLSAgICAgICAgICAgIGl2cnNfbWFw
cGluZ3NbcmVxX2lkXS53cml0ZV9wZXJtaXNzaW9uLAotICAgICAgICAgICAg
aXZyc19tYXBwaW5nc1tyZXFfaWRdLnJlYWRfcGVybWlzc2lvbik7CisgICAg
ICAgIGludCByYyA9IGFtZF9pb21tdV9yZXNlcnZlX2RvbWFpbl91bml0eV9t
YXAoCisgICAgICAgICAgICAgICAgICAgICBkLCB1bml0eV9tYXAtPmFkZHIs
IHVuaXR5X21hcC0+bGVuZ3RoLAorICAgICAgICAgICAgICAgICAgICAgdW5p
dHlfbWFwLT53cml0ZSwgdW5pdHlfbWFwLT5yZWFkKTsKKworICAgICAgICBp
ZiAoIHJjICkKKyAgICAgICAgICAgIHJldHVybiByYzsKICAgICB9CiAKICAg
ICByZXR1cm4gcmVhc3NpZ25fZGV2aWNlKHBkZXYtPmRvbWFpbiwgZCwgZGV2
Zm4sIHBkZXYpOwotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2FtZC1pb21t
dS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvYW1kLWlvbW11LmgKQEAg
LTEwNSwyMCArMTA1LDI0IEBAIHN0cnVjdCBhbWRfaW9tbXUgewogICAgIHN0
cnVjdCBsaXN0X2hlYWQgYXRzX2RldmljZXM7CiB9OwogCitzdHJ1Y3QgaXZy
c191bml0eV9tYXAgeworICAgIGJvb2wgcmVhZDoxOworICAgIGJvb2wgd3Jp
dGU6MTsKKyAgICBwYWRkcl90IGFkZHI7CisgICAgdW5zaWduZWQgbG9uZyBs
ZW5ndGg7CisgICAgc3RydWN0IGl2cnNfdW5pdHlfbWFwICpuZXh0OworfTsK
Kwogc3RydWN0IGl2cnNfbWFwcGluZ3MgewogICAgIHVpbnQxNl90IGR0ZV9y
ZXF1ZXN0b3JfaWQ7CiAgICAgYm9vbCB2YWxpZDoxOwogICAgIGJvb2wgZHRl
X2FsbG93X2V4Y2x1c2lvbjoxOwotICAgIGJvb2wgdW5pdHlfbWFwX2VuYWJs
ZToxOwotICAgIGJvb2wgd3JpdGVfcGVybWlzc2lvbjoxOwotICAgIGJvb2wg
cmVhZF9wZXJtaXNzaW9uOjE7CiAKICAgICAvKiBpdmhkIGRldmljZSBkYXRh
IHNldHRpbmdzICovCiAgICAgdWludDhfdCBkZXZpY2VfZmxhZ3M7CiAKLSAg
ICB1bnNpZ25lZCBsb25nIGFkZHJfcmFuZ2Vfc3RhcnQ7Ci0gICAgdW5zaWdu
ZWQgbG9uZyBhZGRyX3JhbmdlX2xlbmd0aDsKICAgICBzdHJ1Y3QgYW1kX2lv
bW11ICppb21tdTsKKyAgICBzdHJ1Y3QgaXZyc191bml0eV9tYXAgKnVuaXR5
X21hcDsKIAogICAgIC8qIHBlciBkZXZpY2UgaW50ZXJydXB0IHJlbWFwcGlu
ZyB0YWJsZSAqLwogICAgIHZvaWQgKmludHJlbWFwX3RhYmxlOwo=

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.13-3.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.13-3.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBJT01NVTogYWxzbyBwYXNzIHAybV9hY2Nlc3NfdCB0byBwMm1fZ2V0X2lv
bW11X2ZsYWdzKCkKCkEgc3Vic2VxdWVudCBjaGFuZ2Ugd2lsbCB3YW50IHRv
IGN1c3RvbWl6ZSB0aGUgSU9NTVUgcGVybWlzc2lvbnMgYmFzZWQKb24gdGhp
cy4KClRoaXMgaXMgcGFydCBvZiBYU0EtMzc4LgoKU2lnbmVkLW9mZi1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTog
UGF1bCBEdXJyYW50IDxwYXVsQHhlbi5vcmc+CgotLS0gYS94ZW4vYXJjaC94
ODYvbW0vcDJtLWVwdC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0tZXB0
LmMKQEAgLTY3OCw3ICs2NzgsNyBAQCBlcHRfc2V0X2VudHJ5KHN0cnVjdCBw
Mm1fZG9tYWluICpwMm0sIGdmCiAgICAgdWludDhfdCBpcGF0ID0gMDsKICAg
ICBib29sX3QgbmVlZF9tb2RpZnlfdnRkX3RhYmxlID0gMTsKICAgICBib29s
X3QgdnRkX3B0ZV9wcmVzZW50ID0gMDsKLSAgICB1bnNpZ25lZCBpbnQgaW9t
bXVfZmxhZ3MgPSBwMm1fZ2V0X2lvbW11X2ZsYWdzKHAybXQsIG1mbik7Cisg
ICAgdW5zaWduZWQgaW50IGlvbW11X2ZsYWdzID0gcDJtX2dldF9pb21tdV9m
bGFncyhwMm10LCBwMm1hLCBtZm4pOwogICAgIGJvb2xfdCBuZWVkc19zeW5j
ID0gMTsKICAgICBlcHRfZW50cnlfdCBvbGRfZW50cnkgPSB7IC5lcHRlID0g
MCB9OwogICAgIGVwdF9lbnRyeV90IG5ld19lbnRyeSA9IHsgLmVwdGUgPSAw
IH07CkBAIC04MDUsOCArODA1LDggQEAgZXB0X3NldF9lbnRyeShzdHJ1Y3Qg
cDJtX2RvbWFpbiAqcDJtLCBnZgogCiAgICAgICAgIC8qIFNhZmUgdG8gcmVh
ZC10aGVuLXdyaXRlIGJlY2F1c2Ugd2UgaG9sZCB0aGUgcDJtIGxvY2sgKi8K
ICAgICAgICAgaWYgKCBlcHRfZW50cnktPm1mbiA9PSBuZXdfZW50cnkubWZu
ICYmCi0gICAgICAgICAgICAgcDJtX2dldF9pb21tdV9mbGFncyhlcHRfZW50
cnktPnNhX3AybXQsIF9tZm4oZXB0X2VudHJ5LT5tZm4pKSA9PQotICAgICAg
ICAgICAgIGlvbW11X2ZsYWdzICkKKyAgICAgICAgICAgICBwMm1fZ2V0X2lv
bW11X2ZsYWdzKGVwdF9lbnRyeS0+c2FfcDJtdCwgZXB0X2VudHJ5LT5hY2Nl
c3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfbWZuKGVw
dF9lbnRyeS0+bWZuKSkgPT0gaW9tbXVfZmxhZ3MgKQogICAgICAgICAgICAg
bmVlZF9tb2RpZnlfdnRkX3RhYmxlID0gMDsKIAogICAgICAgICBlcHRfcDJt
X3R5cGVfdG9fZmxhZ3MocDJtLCAmbmV3X2VudHJ5LCBwMm10LCBwMm1hKTsK
LS0tIGEveGVuL2FyY2gveDg2L21tL3AybS1wdC5jCisrKyBiL3hlbi9hcmNo
L3g4Ni9tbS9wMm0tcHQuYwpAQCAtNDgwLDYgKzQ4MCwxNiBAQCBpbnQgcDJt
X3B0X2hhbmRsZV9kZWZlcnJlZF9jaGFuZ2VzKHVpbnQ2CiAgICAgcmV0dXJu
IHJjOwogfQogCisvKiBSZWNvbnN0cnVjdCBhIGZha2UgcDJtX2FjY2Vzc190
IGZyb20gc3RvcmVkIFBURSBmbGFncy4gKi8KK3N0YXRpYyBwMm1fYWNjZXNz
X3QgcDJtX2ZsYWdzX3RvX2FjY2Vzcyh1bnNpZ25lZCBpbnQgZmxhZ3MpCit7
CisgICAgaWYgKCBmbGFncyAmIF9QQUdFX1BSRVNFTlQgKQorICAgICAgICBy
ZXR1cm4gcDJtX2FjY2Vzc19uOworCisgICAgLyogTm8gbmVlZCB0byBsb29r
IGF0IF9QQUdFX05YIGZvciBub3cuICovCisgICAgcmV0dXJuIGZsYWdzICYg
X1BBR0VfUlcgPyBwMm1fYWNjZXNzX3J3IDogcDJtX2FjY2Vzc19yOworfQor
CiAvKiBDaGVja3Mgb25seSBhcHBsaWNhYmxlIHRvIGVudHJpZXMgd2l0aCBv
cmRlciA+IFBBR0VfT1JERVJfNEsgKi8KIHN0YXRpYyB2b2lkIGNoZWNrX2Vu
dHJ5KG1mbl90IG1mbiwgcDJtX3R5cGVfdCBuZXcsIHAybV90eXBlX3Qgb2xk
LAogICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG9yZGVy
KQpAQCAtNTE0LDcgKzUyNCw3IEBAIHAybV9wdF9zZXRfZW50cnkoc3RydWN0
IHAybV9kb21haW4gKnAybSwKICAgICBsMl9wZ2VudHJ5X3QgbDJlX2NvbnRl
bnQ7CiAgICAgbDNfcGdlbnRyeV90IGwzZV9jb250ZW50OwogICAgIGludCBy
YzsKLSAgICB1bnNpZ25lZCBpbnQgaW9tbXVfcHRlX2ZsYWdzID0gcDJtX2dl
dF9pb21tdV9mbGFncyhwMm10LCBtZm4pOworICAgIHVuc2lnbmVkIGludCBp
b21tdV9wdGVfZmxhZ3MgPSBwMm1fZ2V0X2lvbW11X2ZsYWdzKHAybXQsIHAy
bWEsIG1mbik7CiAgICAgLyoKICAgICAgKiBvbGRfbWZuIGFuZCBpb21tdV9v
bGRfZmxhZ3MgY29udHJvbCBwb3NzaWJsZSBmbHVzaC91cGRhdGUgbmVlZHMg
b24gdGhlCiAgICAgICogSU9NTVU6IFdlIG5lZWQgdG8gZmx1c2ggd2hlbiBN
Rk4gb3IgZmxhZ3MgKGkuZS4gcGVybWlzc2lvbnMpIGNoYW5nZS4KQEAgLTU3
Nyw2ICs1ODcsNyBAQCBwMm1fcHRfc2V0X2VudHJ5KHN0cnVjdCBwMm1fZG9t
YWluICpwMm0sCiAgICAgICAgICAgICAgICAgb2xkX21mbiA9IGwxZV9nZXRf
cGZuKCpwMm1fZW50cnkpOwogICAgICAgICAgICAgICAgIGlvbW11X29sZF9m
bGFncyA9CiAgICAgICAgICAgICAgICAgICAgIHAybV9nZXRfaW9tbXVfZmxh
Z3MocDJtX2ZsYWdzX3RvX3R5cGUoZmxhZ3MpLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHAybV9mbGFnc190b19hY2Nlc3Mo
ZmxhZ3MpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIF9tZm4ob2xkX21mbikpOwogICAgICAgICAgICAgfQogICAgICAgICAg
ICAgZWxzZQpAQCAtNjE5LDkgKzYzMCwxMCBAQCBwMm1fcHRfc2V0X2VudHJ5
KHN0cnVjdCBwMm1fZG9tYWluICpwMm0sCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDAsIEwxX1BBR0VUQUJMRV9FTlRSSUVTKTsKICAg
ICAgICAgQVNTRVJUKHAybV9lbnRyeSk7CiAgICAgICAgIG9sZF9tZm4gPSBs
MWVfZ2V0X3BmbigqcDJtX2VudHJ5KTsKKyAgICAgICAgZmxhZ3MgPSBsMWVf
Z2V0X2ZsYWdzKCpwMm1fZW50cnkpOwogICAgICAgICBpb21tdV9vbGRfZmxh
Z3MgPQotICAgICAgICAgICAgcDJtX2dldF9pb21tdV9mbGFncyhwMm1fZmxh
Z3NfdG9fdHlwZShsMWVfZ2V0X2ZsYWdzKCpwMm1fZW50cnkpKSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgX21mbihvbGRfbWZuKSk7Cisg
ICAgICAgICAgICBwMm1fZ2V0X2lvbW11X2ZsYWdzKHAybV9mbGFnc190b190
eXBlKGZsYWdzKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cDJtX2ZsYWdzX3RvX2FjY2VzcyhmbGFncyksIF9tZm4ob2xkX21mbikpOwog
CiAgICAgICAgIGlmICggbWZuX3ZhbGlkKG1mbikgfHwgcDJtX2FsbG93c19p
bnZhbGlkX21mbihwMm10KSApCiAgICAgICAgICAgICBlbnRyeV9jb250ZW50
ID0gcDJtX2wxZV9mcm9tX3BmbihtZm5feChtZm4pLApAQCAtNjQ5LDYgKzY2
MSw3IEBAIHAybV9wdF9zZXRfZW50cnkoc3RydWN0IHAybV9kb21haW4gKnAy
bSwKICAgICAgICAgICAgICAgICBvbGRfbWZuID0gbDFlX2dldF9wZm4oKnAy
bV9lbnRyeSk7CiAgICAgICAgICAgICAgICAgaW9tbXVfb2xkX2ZsYWdzID0K
ICAgICAgICAgICAgICAgICAgICAgcDJtX2dldF9pb21tdV9mbGFncyhwMm1f
ZmxhZ3NfdG9fdHlwZShmbGFncyksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcDJtX2ZsYWdzX3RvX2FjY2VzcyhmbGFncyks
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX21m
bihvbGRfbWZuKSk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNl
Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcDJtLmgKKysrIGIveGVuL2lu
Y2x1ZGUvYXNtLXg4Ni9wMm0uaApAQCAtOTA4LDcgKzkwOCw4IEBAIHN0YXRp
YyBpbmxpbmUgdm9pZCBwMm1fYWx0cDJtX2NoZWNrKHN0cnUKIC8qCiAgKiBw
Mm0gdHlwZSB0byBJT01NVSBmbGFncwogICovCi1zdGF0aWMgaW5saW5lIHVu
c2lnbmVkIGludCBwMm1fZ2V0X2lvbW11X2ZsYWdzKHAybV90eXBlX3QgcDJt
dCwgbWZuX3QgbWZuKQorc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgcDJt
X2dldF9pb21tdV9mbGFncyhwMm1fdHlwZV90IHAybXQsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAybV9hY2Nl
c3NfdCBwMm1hLCBtZm5fdCBtZm4pCiB7CiAgICAgdW5zaWduZWQgaW50IGZs
YWdzOwogCg==

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.13-4.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.13-4.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBJT01NVTogZ2VuZXJhbGl6ZSBWVC1kJ3MgdHJhY2tpbmcgb2YgbWFwcGVk
IFJNUlIgcmVnaW9ucwoKSW4gb3JkZXIgdG8gcmUtdXNlIGl0IGVsc2V3aGVy
ZSwgbW92ZSB0aGUgbG9naWMgdG8gdmVuZG9yIGluZGVwZW5kZW50CmNvZGUg
YW5kIHN0cmlwIGl0IG9mIFJNUlIgc3BlY2lmaWNzLgoKTm90ZSB0aGF0IHRo
ZSBwcmlvciAibWFwIiBwYXJhbWV0ZXIgZ2V0cyBmb2xkZWQgaW50byB0aGUg
bmV3ICJwMm1hIiBvbmUKKHdoaWNoIEFNRCBJT01NVSBjb2RlIHdpbGwgd2Fu
dCB0byBtYWtlIHVzZSBvZiksIGFzc2lnbmluZyBhbHRlcm5hdGl2ZQptZWFu
aW5nICgidW5tYXAiKSB0byBwMm1fYWNjZXNzX3guIFByZXBhcmUgc2V0X2lk
ZW50aXR5X3AybV9lbnRyeSgpIGFuZApwMm1fZ2V0X2lvbW11X2ZsYWdzKCkg
Zm9yIGdldHRpbmcgcGFzc2VkIGFjY2VzcyB0eXBlcyBvdGhlciB0aGFuCnAy
bV9hY2Nlc3NfcncgKGluIHRoZSBsYXR0ZXIgY2FzZSBqdXN0IGZvciBwMm1f
bW1pb19kaXJlY3QgcmVxdWVzdHMpLgoKTm90ZSBhbHNvIHRoYXQsIHRvIGJl
IG9uIHRoZSBzYWZlIHNpZGUsIGFuIG92ZXJsYXAgY2hlY2sgZ2V0cyBhZGRl
ZCB0bwp0aGUgbWFpbiBsb29wIG9mIGlvbW11X2lkZW50aXR5X21hcHBpbmco
KS4KClRoaXMgaXMgcGFydCBvZiBYU0EtMzc4LgoKU2lnbmVkLW9mZi1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTog
UGF1bCBEdXJyYW50IDxwYXVsQHhlbi5vcmc+CgotLS0gYS94ZW4vYXJjaC94
ODYvbW0vcDJtLmMKKysrIGIveGVuL2FyY2gveDg2L21tL3AybS5jCkBAIC0x
MzUxLDcgKzEzNTEsNyBAQCBpbnQgc2V0X2lkZW50aXR5X3AybV9lbnRyeShz
dHJ1Y3QgZG9tYWluCiAgICAgICAgIGlmICggIWlzX2lvbW11X2VuYWJsZWQo
ZCkgKQogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIHJldHVybiBp
b21tdV9sZWdhY3lfbWFwKGQsIF9kZm4oZ2ZuX2wpLCBfbWZuKGdmbl9sKSwg
UEFHRV9PUkRFUl80SywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgSU9NTVVGX3JlYWRhYmxlIHwgSU9NTVVGX3dyaXRhYmxlKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcDJtX2FjY2Vzc190b19pb21t
dV9mbGFncyhwMm1hKSk7CiAgICAgfQogCiAgICAgZ2ZuX2xvY2socDJtLCBn
Zm4sIDApOwotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9t
bXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUu
YwpAQCAtNDIsMTIgKzQyLDYgQEAKICNpbmNsdWRlICJ2dGQuaCIKICNpbmNs
dWRlICIuLi9hdHMuaCIKIAotc3RydWN0IG1hcHBlZF9ybXJyIHsKLSAgICBz
dHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7Ci0gICAgdTY0IGJhc2UsIGVuZDsKLSAg
ICB1bnNpZ25lZCBpbnQgY291bnQ7Ci19OwotCiAvKiBQb3NzaWJsZSB1bmZp
bHRlcmVkIExBUElDL01TSSBtZXNzYWdlcyBmcm9tIHVudHJ1c3RlZCBzb3Vy
Y2VzPyAqLwogYm9vbCBfX3JlYWRfbW9zdGx5IHVudHJ1c3RlZF9tc2k7CiAK
QEAgLTE3OTksMTcgKzE3OTMsMTIgQEAgb3V0Ogogc3RhdGljIHZvaWQgaW9t
bXVfZG9tYWluX3RlYXJkb3duKHN0cnVjdCBkb21haW4gKmQpCiB7CiAgICAg
c3RydWN0IGRvbWFpbl9pb21tdSAqaGQgPSBkb21faW9tbXUoZCk7Ci0gICAg
c3RydWN0IG1hcHBlZF9ybXJyICptcm1yciwgKnRtcDsKICAgICBjb25zdCBz
dHJ1Y3QgYWNwaV9kcmhkX3VuaXQgKmRyaGQ7CiAKICAgICBpZiAoIGxpc3Rf
ZW1wdHkoJmFjcGlfZHJoZF91bml0cykgKQogICAgICAgICByZXR1cm47CiAK
LSAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUgKCBtcm1yciwgdG1wLCAm
aGQtPmFyY2gubWFwcGVkX3JtcnJzLCBsaXN0ICkKLSAgICB7Ci0gICAgICAg
IGxpc3RfZGVsKCZtcm1yci0+bGlzdCk7Ci0gICAgICAgIHhmcmVlKG1ybXJy
KTsKLSAgICB9CisgICAgaW9tbXVfaWRlbnRpdHlfbWFwX3RlYXJkb3duKGQp
OwogCiAgICAgQVNTRVJUKGlzX2lvbW11X2VuYWJsZWQoZCkpOwogCkBAIC0x
OTYzLDc0ICsxOTUyLDYgQEAgc3RhdGljIHZvaWQgaW9tbXVfc2V0X3BnZChz
dHJ1Y3QgZG9tYWluCiAgICAgICAgIHBhZ2V0YWJsZV9nZXRfcGFkZHIocGFn
ZXRhYmxlX2Zyb21fbWZuKHBnZF9tZm4pKTsKIH0KIAotc3RhdGljIGludCBy
bXJyX2lkZW50aXR5X21hcHBpbmcoc3RydWN0IGRvbWFpbiAqZCwgYm9vbF90
IG1hcCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHN0cnVjdCBhY3BpX3JtcnJfdW5pdCAqcm1yciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHUzMiBmbGFnKQotewotICAgIHVuc2lnbmVk
IGxvbmcgYmFzZV9wZm4gPSBybXJyLT5iYXNlX2FkZHJlc3MgPj4gUEFHRV9T
SElGVF80SzsKLSAgICB1bnNpZ25lZCBsb25nIGVuZF9wZm4gPSBQQUdFX0FM
SUdOXzRLKHJtcnItPmVuZF9hZGRyZXNzKSA+PiBQQUdFX1NISUZUXzRLOwot
ICAgIHN0cnVjdCBtYXBwZWRfcm1yciAqbXJtcnI7Ci0gICAgc3RydWN0IGRv
bWFpbl9pb21tdSAqaGQgPSBkb21faW9tbXUoZCk7Ci0KLSAgICBBU1NFUlQo
cGNpZGV2c19sb2NrZWQoKSk7Ci0gICAgQVNTRVJUKHJtcnItPmJhc2VfYWRk
cmVzcyA8IHJtcnItPmVuZF9hZGRyZXNzKTsKLQotICAgIC8qCi0gICAgICog
Tm8gbmVlZCB0byBhY3F1aXJlIGhkLT5hcmNoLm1hcHBpbmdfbG9jazogQm90
aCBpbnNlcnRpb24gYW5kIHJlbW92YWwKLSAgICAgKiBnZXQgZG9uZSB3aGls
ZSBob2xkaW5nIHBjaWRldnNfbG9jay4KLSAgICAgKi8KLSAgICBsaXN0X2Zv
cl9lYWNoX2VudHJ5KCBtcm1yciwgJmhkLT5hcmNoLm1hcHBlZF9ybXJycywg
bGlzdCApCi0gICAgewotICAgICAgICBpZiAoIG1ybXJyLT5iYXNlID09IHJt
cnItPmJhc2VfYWRkcmVzcyAmJgotICAgICAgICAgICAgIG1ybXJyLT5lbmQg
PT0gcm1yci0+ZW5kX2FkZHJlc3MgKQotICAgICAgICB7Ci0gICAgICAgICAg
ICBpbnQgcmV0ID0gMDsKLQotICAgICAgICAgICAgaWYgKCBtYXAgKQotICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICsrbXJtcnItPmNvdW50Owot
ICAgICAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICAgICAgfQotCi0g
ICAgICAgICAgICBpZiAoIC0tbXJtcnItPmNvdW50ICkKLSAgICAgICAgICAg
ICAgICByZXR1cm4gMDsKLQotICAgICAgICAgICAgd2hpbGUgKCBiYXNlX3Bm
biA8IGVuZF9wZm4gKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
IGlmICggY2xlYXJfaWRlbnRpdHlfcDJtX2VudHJ5KGQsIGJhc2VfcGZuKSAp
Ci0gICAgICAgICAgICAgICAgICAgIHJldCA9IC1FTlhJTzsKLSAgICAgICAg
ICAgICAgICBiYXNlX3BmbisrOwotICAgICAgICAgICAgfQotCi0gICAgICAg
ICAgICBsaXN0X2RlbCgmbXJtcnItPmxpc3QpOwotICAgICAgICAgICAgeGZy
ZWUobXJtcnIpOwotICAgICAgICAgICAgcmV0dXJuIHJldDsKLSAgICAgICAg
fQotICAgIH0KLQotICAgIGlmICggIW1hcCApCi0gICAgICAgIHJldHVybiAt
RU5PRU5UOwotCi0gICAgd2hpbGUgKCBiYXNlX3BmbiA8IGVuZF9wZm4gKQot
ICAgIHsKLSAgICAgICAgaW50IGVyciA9IHNldF9pZGVudGl0eV9wMm1fZW50
cnkoZCwgYmFzZV9wZm4sIHAybV9hY2Nlc3NfcncsIGZsYWcpOwotCi0gICAg
ICAgIGlmICggZXJyICkKLSAgICAgICAgICAgIHJldHVybiBlcnI7Ci0gICAg
ICAgIGJhc2VfcGZuKys7Ci0gICAgfQotCi0gICAgbXJtcnIgPSB4bWFsbG9j
KHN0cnVjdCBtYXBwZWRfcm1ycik7Ci0gICAgaWYgKCAhbXJtcnIgKQotICAg
ICAgICByZXR1cm4gLUVOT01FTTsKLSAgICBtcm1yci0+YmFzZSA9IHJtcnIt
PmJhc2VfYWRkcmVzczsKLSAgICBtcm1yci0+ZW5kID0gcm1yci0+ZW5kX2Fk
ZHJlc3M7Ci0gICAgbXJtcnItPmNvdW50ID0gMTsKLSAgICBsaXN0X2FkZF90
YWlsKCZtcm1yci0+bGlzdCwgJmhkLT5hcmNoLm1hcHBlZF9ybXJycyk7Ci0K
LSAgICByZXR1cm4gMDsKLX0KLQogc3RhdGljIGludCBpbnRlbF9pb21tdV9h
ZGRfZGV2aWNlKHU4IGRldmZuLCBzdHJ1Y3QgcGNpX2RldiAqcGRldikKIHsK
ICAgICBzdHJ1Y3QgYWNwaV9ybXJyX3VuaXQgKnJtcnI7CkBAIC0yMDYyLDcg
KzE5ODMsOSBAQCBzdGF0aWMgaW50IGludGVsX2lvbW11X2FkZF9kZXZpY2Uo
dTggZGV2CiAgICAgICAgICAgICAgKiBTaW5jZSBSTVJScyBhcmUgYWx3YXlz
IHJlc2VydmVkIGluIHRoZSBlODIwIG1hcCBmb3IgdGhlIGhhcmR3YXJlCiAg
ICAgICAgICAgICAgKiBkb21haW4sIHRoZXJlIHNob3VsZG4ndCBiZSBhIGNv
bmZsaWN0LgogICAgICAgICAgICAgICovCi0gICAgICAgICAgICByZXQgPSBy
bXJyX2lkZW50aXR5X21hcHBpbmcocGRldi0+ZG9tYWluLCAxLCBybXJyLCAw
KTsKKyAgICAgICAgICAgIHJldCA9IGlvbW11X2lkZW50aXR5X21hcHBpbmco
cGRldi0+ZG9tYWluLCBwMm1fYWNjZXNzX3J3LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBybXJyLT5iYXNlX2FkZHJlc3Ms
IHJtcnItPmVuZF9hZGRyZXNzLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAwKTsKICAgICAgICAgICAgIGlmICggcmV0ICkK
ICAgICAgICAgICAgICAgICBkcHJpbnRrKFhFTkxPR19FUlIgVlREUFJFRklY
LCAiZCVkOiBSTVJSIG1hcHBpbmcgZmFpbGVkXG4iLAogICAgICAgICAgICAg
ICAgICAgICAgICAgcGRldi0+ZG9tYWluLT5kb21haW5faWQpOwpAQCAtMjEw
Nyw3ICsyMDMwLDggQEAgc3RhdGljIGludCBpbnRlbF9pb21tdV9yZW1vdmVf
ZGV2aWNlKHU4CiAgICAgICAgICAqIEFueSBmbGFnIGlzIG5vdGhpbmcgdG8g
Y2xlYXIgdGhlc2UgbWFwcGluZ3MgYnV0IGhlcmUKICAgICAgICAgICogaXRz
IGFsd2F5cyBzYWZlIGFuZCBzdHJpY3QgdG8gc2V0IDAuCiAgICAgICAgICAq
LwotICAgICAgICBybXJyX2lkZW50aXR5X21hcHBpbmcocGRldi0+ZG9tYWlu
LCAwLCBybXJyLCAwKTsKKyAgICAgICAgaW9tbXVfaWRlbnRpdHlfbWFwcGlu
ZyhwZGV2LT5kb21haW4sIHAybV9hY2Nlc3NfeCwgcm1yci0+YmFzZV9hZGRy
ZXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJtcnItPmVu
ZF9hZGRyZXNzLCAwKTsKICAgICB9CiAKICAgICByZXR1cm4gZG9tYWluX2Nv
bnRleHRfdW5tYXAocGRldi0+ZG9tYWluLCBkZXZmbiwgcGRldik7CkBAIC0y
MzA2LDcgKzIyMzAsOCBAQCBzdGF0aWMgdm9pZCBfX2h3ZG9tX2luaXQgc2V0
dXBfaHdkb21fcm1yCiAgICAgICAgICAqIGRvbWFpbiwgdGhlcmUgc2hvdWxk
bid0IGJlIGEgY29uZmxpY3QuIFNvIGl0cyBhbHdheXMgc2FmZSBhbmQKICAg
ICAgICAgICogc3RyaWN0IHRvIHNldCAwLgogICAgICAgICAgKi8KLSAgICAg
ICAgcmV0ID0gcm1ycl9pZGVudGl0eV9tYXBwaW5nKGQsIDEsIHJtcnIsIDAp
OworICAgICAgICByZXQgPSBpb21tdV9pZGVudGl0eV9tYXBwaW5nKGQsIHAy
bV9hY2Nlc3NfcncsIHJtcnItPmJhc2VfYWRkcmVzcywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBybXJyLT5lbmRfYWRkcmVzcywg
MCk7CiAgICAgICAgIGlmICggcmV0ICkKICAgICAgICAgICAgIGRwcmludGso
WEVOTE9HX0VSUiBWVERQUkVGSVgsCiAgICAgICAgICAgICAgICAgICAgICAi
SU9NTVU6IG1hcHBpbmcgcmVzZXJ2ZWQgcmVnaW9uIGZhaWxlZFxuIik7CkBA
IC0yNDY1LDcgKzIzOTAsOSBAQCBzdGF0aWMgaW50IHJlYXNzaWduX2Rldmlj
ZV9vd25lcnNoaXAoCiAgICAgICAgICAgICAgICAgICogQW55IFJNUlIgZmxh
ZyBpcyBhbHdheXMgaWdub3JlZCB3aGVuIHJlbW92ZSBhIGRldmljZSwKICAg
ICAgICAgICAgICAgICAgKiBidXQgaXRzIGFsd2F5cyBzYWZlIGFuZCBzdHJp
Y3QgdG8gc2V0IDAuCiAgICAgICAgICAgICAgICAgICovCi0gICAgICAgICAg
ICAgICAgcmV0ID0gcm1ycl9pZGVudGl0eV9tYXBwaW5nKHNvdXJjZSwgMCwg
cm1yciwgMCk7CisgICAgICAgICAgICAgICAgcmV0ID0gaW9tbXVfaWRlbnRp
dHlfbWFwcGluZyhzb3VyY2UsIHAybV9hY2Nlc3NfeCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJtcnItPmJhc2Vf
YWRkcmVzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHJtcnItPmVuZF9hZGRyZXNzLCAwKTsKICAgICAgICAgICAg
ICAgICBpZiAoIHJldCAhPSAtRU5PRU5UICkKICAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIHJldDsKICAgICAgICAgICAgIH0KQEAgLTI1NjIsNyArMjQ4
OSw4IEBAIHN0YXRpYyBpbnQgaW50ZWxfaW9tbXVfYXNzaWduX2RldmljZSgK
ICAgICAgICAgICAgICBQQ0lfQlVTKGJkZikgPT0gYnVzICYmCiAgICAgICAg
ICAgICAgUENJX0RFVkZOMihiZGYpID09IGRldmZuICkKICAgICAgICAgewot
ICAgICAgICAgICAgcmV0ID0gcm1ycl9pZGVudGl0eV9tYXBwaW5nKGQsIDEs
IHJtcnIsIGZsYWcpOworICAgICAgICAgICAgcmV0ID0gaW9tbXVfaWRlbnRp
dHlfbWFwcGluZyhkLCBwMm1fYWNjZXNzX3J3LCBybXJyLT5iYXNlX2FkZHJl
c3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHJtcnItPmVuZF9hZGRyZXNzLCBmbGFnKTsKICAgICAgICAgICAgIGlmICgg
cmV0ICkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBpbnQgcmM7
Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3g4Ni9pb21tdS5jCisr
KyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3g4Ni9pb21tdS5jCkBAIC0x
MjcsNyArMTI3LDcgQEAgaW50IGFyY2hfaW9tbXVfZG9tYWluX2luaXQoc3Ry
dWN0IGRvbWFpbgogICAgIHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9t
X2lvbW11KGQpOwogCiAgICAgc3Bpbl9sb2NrX2luaXQoJmhkLT5hcmNoLm1h
cHBpbmdfbG9jayk7Ci0gICAgSU5JVF9MSVNUX0hFQUQoJmhkLT5hcmNoLm1h
cHBlZF9ybXJycyk7CisgICAgSU5JVF9MSVNUX0hFQUQoJmhkLT5hcmNoLmlk
ZW50aXR5X21hcHMpOwogCiAgICAgcmV0dXJuIDA7CiB9CkBAIC0xMzYsNiAr
MTM2LDk5IEBAIHZvaWQgYXJjaF9pb21tdV9kb21haW5fZGVzdHJveShzdHJ1
Y3QgZG8KIHsKIH0KIAorc3RydWN0IGlkZW50aXR5X21hcCB7CisgICAgc3Ry
dWN0IGxpc3RfaGVhZCBsaXN0OworICAgIHBhZGRyX3QgYmFzZSwgZW5kOwor
ICAgIHAybV9hY2Nlc3NfdCBhY2Nlc3M7CisgICAgdW5zaWduZWQgaW50IGNv
dW50OworfTsKKworaW50IGlvbW11X2lkZW50aXR5X21hcHBpbmcoc3RydWN0
IGRvbWFpbiAqZCwgcDJtX2FjY2Vzc190IHAybWEsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwYWRkcl90IGJhc2UsIHBhZGRyX3QgZW5kLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGZsYWcpCit7
CisgICAgdW5zaWduZWQgbG9uZyBiYXNlX3BmbiA9IGJhc2UgPj4gUEFHRV9T
SElGVF80SzsKKyAgICB1bnNpZ25lZCBsb25nIGVuZF9wZm4gPSBQQUdFX0FM
SUdOXzRLKGVuZCkgPj4gUEFHRV9TSElGVF80SzsKKyAgICBzdHJ1Y3QgaWRl
bnRpdHlfbWFwICptYXA7CisgICAgc3RydWN0IGRvbWFpbl9pb21tdSAqaGQg
PSBkb21faW9tbXUoZCk7CisKKyAgICBBU1NFUlQocGNpZGV2c19sb2NrZWQo
KSk7CisgICAgQVNTRVJUKGJhc2UgPCBlbmQpOworCisgICAgLyoKKyAgICAg
KiBObyBuZWVkIHRvIGFjcXVpcmUgaGQtPmFyY2gubWFwcGluZ19sb2NrOiBC
b3RoIGluc2VydGlvbiBhbmQgcmVtb3ZhbAorICAgICAqIGdldCBkb25lIHdo
aWxlIGhvbGRpbmcgcGNpZGV2c19sb2NrLgorICAgICAqLworICAgIGxpc3Rf
Zm9yX2VhY2hfZW50cnkoIG1hcCwgJmhkLT5hcmNoLmlkZW50aXR5X21hcHMs
IGxpc3QgKQorICAgIHsKKyAgICAgICAgaWYgKCBtYXAtPmJhc2UgPT0gYmFz
ZSAmJiBtYXAtPmVuZCA9PSBlbmQgKQorICAgICAgICB7CisgICAgICAgICAg
ICBpbnQgcmV0ID0gMDsKKworICAgICAgICAgICAgaWYgKCBwMm1hICE9IHAy
bV9hY2Nlc3NfeCApCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
aWYgKCBtYXAtPmFjY2VzcyAhPSBwMm1hICkKKyAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIC1FQUREUklOVVNFOworICAgICAgICAgICAgICAgICsrbWFw
LT5jb3VudDsKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgaWYgKCAtLW1hcC0+Y291bnQgKQorICAg
ICAgICAgICAgICAgIHJldHVybiAwOworCisgICAgICAgICAgICB3aGlsZSAo
IGJhc2VfcGZuIDwgZW5kX3BmbiApCisgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgaWYgKCBjbGVhcl9pZGVudGl0eV9wMm1fZW50cnkoZCwgYmFz
ZV9wZm4pICkKKyAgICAgICAgICAgICAgICAgICAgcmV0ID0gLUVOWElPOwor
ICAgICAgICAgICAgICAgIGJhc2VfcGZuKys7CisgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgIGxpc3RfZGVsKCZtYXAtPmxpc3QpOworICAgICAgICAg
ICAgeGZyZWUobWFwKTsKKworICAgICAgICAgICAgcmV0dXJuIHJldDsKKyAg
ICAgICAgfQorCisgICAgICAgIGlmICggZW5kID49IG1hcC0+YmFzZSAmJiBt
YXAtPmVuZCA+PSBiYXNlICkKKyAgICAgICAgICAgIHJldHVybiAtRUFERFJJ
TlVTRTsKKyAgICB9CisKKyAgICBpZiAoIHAybWEgPT0gcDJtX2FjY2Vzc194
ICkKKyAgICAgICAgcmV0dXJuIC1FTk9FTlQ7CisKKyAgICB3aGlsZSAoIGJh
c2VfcGZuIDwgZW5kX3BmbiApCisgICAgeworICAgICAgICBpbnQgZXJyID0g
c2V0X2lkZW50aXR5X3AybV9lbnRyeShkLCBiYXNlX3BmbiwgcDJtYSwgZmxh
Zyk7CisKKyAgICAgICAgaWYgKCBlcnIgKQorICAgICAgICAgICAgcmV0dXJu
IGVycjsKKyAgICAgICAgYmFzZV9wZm4rKzsKKyAgICB9CisKKyAgICBtYXAg
PSB4bWFsbG9jKHN0cnVjdCBpZGVudGl0eV9tYXApOworICAgIGlmICggIW1h
cCApCisgICAgICAgIHJldHVybiAtRU5PTUVNOworICAgIG1hcC0+YmFzZSA9
IGJhc2U7CisgICAgbWFwLT5lbmQgPSBlbmQ7CisgICAgbWFwLT5hY2Nlc3Mg
PSBwMm1hOworICAgIG1hcC0+Y291bnQgPSAxOworICAgIGxpc3RfYWRkX3Rh
aWwoJm1hcC0+bGlzdCwgJmhkLT5hcmNoLmlkZW50aXR5X21hcHMpOworCisg
ICAgcmV0dXJuIDA7Cit9CisKK3ZvaWQgaW9tbXVfaWRlbnRpdHlfbWFwX3Rl
YXJkb3duKHN0cnVjdCBkb21haW4gKmQpCit7CisgICAgc3RydWN0IGRvbWFp
bl9pb21tdSAqaGQgPSBkb21faW9tbXUoZCk7CisgICAgc3RydWN0IGlkZW50
aXR5X21hcCAqbWFwLCAqdG1wOworCisgICAgbGlzdF9mb3JfZWFjaF9lbnRy
eV9zYWZlICggbWFwLCB0bXAsICZoZC0+YXJjaC5pZGVudGl0eV9tYXBzLCBs
aXN0ICkKKyAgICB7CisgICAgICAgIGxpc3RfZGVsKCZtYXAtPmxpc3QpOwor
ICAgICAgICB4ZnJlZShtYXApOworICAgIH0KK30KKwogc3RhdGljIGJvb2wg
X19od2RvbV9pbml0IGh3ZG9tX2lvbW11X21hcChjb25zdCBzdHJ1Y3QgZG9t
YWluICpkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBsb25nIHBmbiwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBtYXhfcGZuKQot
LS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2lvbW11LmgKKysrIGIveGVuL2lu
Y2x1ZGUvYXNtLXg4Ni9pb21tdS5oCkBAIC0xNiw2ICsxNiw3IEBACiAKICNp
bmNsdWRlIDx4ZW4vZXJybm8uaD4KICNpbmNsdWRlIDx4ZW4vbGlzdC5oPgor
I2luY2x1ZGUgPHhlbi9tZW1fYWNjZXNzLmg+CiAjaW5jbHVkZSA8eGVuL3Nw
aW5sb2NrLmg+CiAjaW5jbHVkZSA8YXNtL2FwaWNkZWYuaD4KICNpbmNsdWRl
IDxhc20vcHJvY2Vzc29yLmg+CkBAIC00OSw3ICs1MCw3IEBAIHN0cnVjdCBh
cmNoX2lvbW11CiAgICAgc3BpbmxvY2tfdCBtYXBwaW5nX2xvY2s7ICAgICAg
ICAgICAgLyogaW8gcGFnZSB0YWJsZSBsb2NrICovCiAgICAgaW50IGFnYXc7
ICAgICAvKiBhZGp1c3RlZCBndWVzdCBhZGRyZXNzIHdpZHRoLCAwIGlzIGxl
dmVsIDIgMzAtYml0ICovCiAgICAgdTY0IGlvbW11X2JpdG1hcDsgICAgICAg
ICAgICAgIC8qIGJpdG1hcCBvZiBpb21tdShzKSB0aGF0IHRoZSBkb21haW4g
dXNlcyAqLwotICAgIHN0cnVjdCBsaXN0X2hlYWQgbWFwcGVkX3JtcnJzOwor
ICAgIHN0cnVjdCBsaXN0X2hlYWQgaWRlbnRpdHlfbWFwczsKIAogICAgIC8q
IGFtZCBpb21tdSBzdXBwb3J0ICovCiAgICAgaW50IHBhZ2luZ19tb2RlOwpA
QCAtMTEyLDYgKzExMywxMSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgaW9tbXVf
ZGlzYWJsZV94MmFwaWMoCiAgICAgICAgIGlvbW11X29wcy5kaXNhYmxlX3gy
YXBpYygpOwogfQogCitpbnQgaW9tbXVfaWRlbnRpdHlfbWFwcGluZyhzdHJ1
Y3QgZG9tYWluICpkLCBwMm1fYWNjZXNzX3QgcDJtYSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBhZGRyX3QgYmFzZSwgcGFkZHJfdCBlbmQsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgZmxhZyk7
Cit2b2lkIGlvbW11X2lkZW50aXR5X21hcF90ZWFyZG93bihzdHJ1Y3QgZG9t
YWluICpkKTsKKwogZXh0ZXJuIGJvb2wgdW50cnVzdGVkX21zaTsKIAogaW50
IHBpX3VwZGF0ZV9pcnRlKGNvbnN0IHN0cnVjdCBwaV9kZXNjICpwaV9kZXNj
LCBjb25zdCBzdHJ1Y3QgcGlycSAqcGlycSwKLS0tIGEveGVuL2luY2x1ZGUv
YXNtLXg4Ni9wMm0uaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3AybS5o
CkBAIC05MDUsNiArOTA1LDM0IEBAIHN0cnVjdCBwMm1fZG9tYWluICpwMm1f
Z2V0X2FsdHAybShzdHJ1Y3QKIHN0YXRpYyBpbmxpbmUgdm9pZCBwMm1fYWx0
cDJtX2NoZWNrKHN0cnVjdCB2Y3B1ICp2LCB1aW50MTZfdCBpZHgpIHt9CiAj
ZW5kaWYKIAorLyogcDJtIGFjY2VzcyB0byBJT01NVSBmbGFncyAqLworc3Rh
dGljIGlubGluZSB1bnNpZ25lZCBpbnQgcDJtX2FjY2Vzc190b19pb21tdV9m
bGFncyhwMm1fYWNjZXNzX3QgcDJtYSkKK3sKKyAgICBzd2l0Y2ggKCBwMm1h
ICkKKyAgICB7CisgICAgY2FzZSBwMm1fYWNjZXNzX3J3OgorICAgIGNhc2Ug
cDJtX2FjY2Vzc19yd3g6CisgICAgICAgIHJldHVybiBJT01NVUZfcmVhZGFi
bGUgfCBJT01NVUZfd3JpdGFibGU7CisKKyAgICBjYXNlIHAybV9hY2Nlc3Nf
cjoKKyAgICBjYXNlIHAybV9hY2Nlc3Nfcng6CisgICAgY2FzZSBwMm1fYWNj
ZXNzX3J4MnJ3OgorICAgICAgICByZXR1cm4gSU9NTVVGX3JlYWRhYmxlOwor
CisgICAgY2FzZSBwMm1fYWNjZXNzX3c6CisgICAgY2FzZSBwMm1fYWNjZXNz
X3d4OgorICAgICAgICByZXR1cm4gSU9NTVVGX3dyaXRhYmxlOworCisgICAg
Y2FzZSBwMm1fYWNjZXNzX246CisgICAgY2FzZSBwMm1fYWNjZXNzX3g6Cisg
ICAgY2FzZSBwMm1fYWNjZXNzX24ycnd4OgorICAgICAgICByZXR1cm4gMDsK
KyAgICB9CisKKyAgICBBU1NFUlRfVU5SRUFDSEFCTEUoKTsKKyAgICByZXR1
cm4gMDsKK30KKwogLyoKICAqIHAybSB0eXBlIHRvIElPTU1VIGZsYWdzCiAg
Ki8KQEAgLTkyNiw5ICs5NTQsMTAgQEAgc3RhdGljIGlubGluZSB1bnNpZ25l
ZCBpbnQgcDJtX2dldF9pb21tdQogICAgICAgICBmbGFncyA9IElPTU1VRl9y
ZWFkYWJsZTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBwMm1fbW1pb19k
aXJlY3Q6Ci0gICAgICAgIGZsYWdzID0gSU9NTVVGX3JlYWRhYmxlOwotICAg
ICAgICBpZiAoICFyYW5nZXNldF9jb250YWluc19zaW5nbGV0b24obW1pb19y
b19yYW5nZXMsIG1mbl94KG1mbikpICkKLSAgICAgICAgICAgIGZsYWdzIHw9
IElPTU1VRl93cml0YWJsZTsKKyAgICAgICAgZmxhZ3MgPSBwMm1fYWNjZXNz
X3RvX2lvbW11X2ZsYWdzKHAybWEpOworICAgICAgICBpZiAoIChmbGFncyAm
IElPTU1VRl93cml0YWJsZSkgJiYKKyAgICAgICAgICAgICByYW5nZXNldF9j
b250YWluc19zaW5nbGV0b24obW1pb19yb19yYW5nZXMsIG1mbl94KG1mbikp
ICkKKyAgICAgICAgICAgIGZsYWdzICY9IH5JT01NVUZfd3JpdGFibGU7CiAg
ICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIGZsYWdzID0g
MDsK

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.13-5.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.13-5.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBBTUQvSU9NTVU6IHJlLWFycmFuZ2UvY29tcGxldGUgcmUtYXNzaWdubWVu
dCBoYW5kbGluZwoKUHJpb3IgdG8gdGhlIGFzc2lnbm1lbnQgc3RlcCBoYXZp
bmcgY29tcGxldGVkIHN1Y2Nlc3NmdWxseSwgZGV2aWNlcwpzaG91bGQgbm90
IGdldCBhc3NvY2lhdGVkIHdpdGggdGhlaXIgbmV3IG93bmVyLiBIYW5kIHRo
ZSBkZXZpY2UgdG8gRG9tSU8KKHBlcmhhcHMgdGVtcG9yYXJpbHkpLCB1bnRp
bCBhZnRlciB0aGUgZGUtYXNzaWdubWVudCBzdGVwIGhhcyBjb21wbGV0ZWQu
CgpEZS1hc3NpZ25tZW50IG9mIGEgZGV2aWNlIChmcm9tIG90aGVyIHRoYW4g
RG9tMCkgYXMgd2VsbCBhcyBmYWlsdXJlIG9mCnJlYXNzaWduX2RldmljZSgp
IGR1cmluZyBhc3NpZ25tZW50IHNob3VsZCByZXN1bHQgaW4gdW5pdHkgbWFw
cGluZ3MKZ2V0dGluZyB0b3JuIGRvd24uIFRoaXMgaW4gdHVybiByZXF1aXJl
cyBzd2l0Y2hpbmcgdG8gYSByZWZjb3VudGVkCm1hcHBpbmcgYXBwcm9hY2gs
IGFzIHdhcyBhbHJlYWR5IHVzZWQgYnkgVlQtZCBmb3IgaXRzIFJNUlJzLCB0
byBwcmV2ZW50CnVubWFwcGluZyBhIHJlZ2lvbiB1c2VkIGJ5IG11bHRpcGxl
IGRldmljZXMuCgpUaGlzIGlzIENWRS0yMDIxLTI4Njk2IC8gcGFydCBvZiBY
U0EtMzc4LgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpSZXZpZXdlZC1ieTogUGF1bCBEdXJyYW50IDxwYXVsQHhl
bi5vcmc+CgotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9t
bXVfbWFwLmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lv
bW11X21hcC5jCkBAIC00MzAsMzggKzQzMCw0OSBAQCBpbnQgYW1kX2lvbW11
X2ZsdXNoX2lvdGxiX2FsbChzdHJ1Y3QgZG9tCiAgICAgcmV0dXJuIDA7CiB9
CiAKLWludCBhbWRfaW9tbXVfcmVzZXJ2ZV9kb21haW5fdW5pdHlfbWFwKHN0
cnVjdCBkb21haW4gKmRvbWFpbiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBhZGRyX3QgcGh5c19hZGRyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBz
aXplLCBpbnQgaXcsIGludCBpcikKK2ludCBhbWRfaW9tbXVfcmVzZXJ2ZV9k
b21haW5fdW5pdHlfbWFwKHN0cnVjdCBkb21haW4gKmQsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgaXZy
c191bml0eV9tYXAgKm1hcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIGludCBmbGFnKQogewotICAgIHVuc2ln
bmVkIGxvbmcgbnBhZ2VzLCBpOwotICAgIHVuc2lnbmVkIGxvbmcgZ2ZuOwot
ICAgIHVuc2lnbmVkIGludCBmbGFncyA9ICEhaXI7Ci0gICAgdW5zaWduZWQg
aW50IGZsdXNoX2ZsYWdzID0gMDsKLSAgICBpbnQgcnQgPSAwOwotCi0gICAg
aWYgKCBpdyApCi0gICAgICAgIGZsYWdzIHw9IElPTU1VRl93cml0YWJsZTsK
LQotICAgIG5wYWdlcyA9IHJlZ2lvbl90b19wYWdlcyhwaHlzX2FkZHIsIHNp
emUpOwotICAgIGdmbiA9IHBoeXNfYWRkciA+PiBQQUdFX1NISUZUOwotICAg
IGZvciAoIGkgPSAwOyBpIDwgbnBhZ2VzOyBpKysgKQorICAgIGludCByYzsK
KworICAgIGlmICggZCA9PSBkb21faW8gKQorICAgICAgICByZXR1cm4gMDsK
KworICAgIGZvciAoIHJjID0gMDsgIXJjICYmIG1hcDsgbWFwID0gbWFwLT5u
ZXh0ICkKICAgICB7Ci0gICAgICAgIHVuc2lnbmVkIGxvbmcgZnJhbWUgPSBn
Zm4gKyBpOworICAgICAgICBwMm1fYWNjZXNzX3QgcDJtYSA9IHAybV9hY2Nl
c3NfbjsKKworICAgICAgICBpZiAoIG1hcC0+cmVhZCApCisgICAgICAgICAg
ICBwMm1hIHw9IHAybV9hY2Nlc3NfcjsKKyAgICAgICAgaWYgKCBtYXAtPndy
aXRlICkKKyAgICAgICAgICAgIHAybWEgfD0gcDJtX2FjY2Vzc193OwogCi0g
ICAgICAgIHJ0ID0gYW1kX2lvbW11X21hcF9wYWdlKGRvbWFpbiwgX2Rmbihm
cmFtZSksIF9tZm4oZnJhbWUpLCBmbGFncywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJmZsdXNoX2ZsYWdzKTsKLSAgICAgICAgaWYgKCBy
dCAhPSAwICkKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICByYyA9IGlv
bW11X2lkZW50aXR5X21hcHBpbmcoZCwgcDJtYSwgbWFwLT5hZGRyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLT5hZGRyICsg
bWFwLT5sZW5ndGggLSAxLCBmbGFnKTsKICAgICB9CiAKLSAgICAvKiBVc2Ug
d2hpbGUtYnJlYWsgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZyAqLwotICAg
IHdoaWxlICggZmx1c2hfZmxhZ3MgJiYKLSAgICAgICAgICAgIGFtZF9pb21t
dV9mbHVzaF9pb3RsYl9wYWdlcyhkb21haW4sIF9kZm4oZ2ZuKSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBucGFnZXMsIGZs
dXNoX2ZsYWdzKSApCi0gICAgICAgIGJyZWFrOworICAgIHJldHVybiByYzsK
K30KKworaW50IGFtZF9pb21tdV9yZXNlcnZlX2RvbWFpbl91bml0eV91bm1h
cChzdHJ1Y3QgZG9tYWluICpkLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgaXZyc191bml0eV9tYXAg
Km1hcCkKK3sKKyAgICBpbnQgcmM7CisKKyAgICBpZiAoIGQgPT0gZG9tX2lv
ICkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBmb3IgKCByYyA9IDA7IG1h
cDsgbWFwID0gbWFwLT5uZXh0ICkKKyAgICB7CisgICAgICAgIGludCByZXQg
PSBpb21tdV9pZGVudGl0eV9tYXBwaW5nKGQsIHAybV9hY2Nlc3NfeCwgbWFw
LT5hZGRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBtYXAtPmFkZHIgKyBtYXAtPmxlbmd0aCAtIDEsIDApOworCisgICAg
ICAgIGlmICggcmV0ICYmIHJldCAhPSAtRU5PRU5UICYmICFyYyApCisgICAg
ICAgICAgICByYyA9IHJldDsKKyAgICB9CiAKLSAgICByZXR1cm4gcnQ7Cisg
ICAgcmV0dXJuIHJjOwogfQogCiBpbnQgX19pbml0IGFtZF9pb21tdV9xdWFy
YW50aW5lX2luaXQoc3RydWN0IGRvbWFpbiAqZCkKLS0tIGEveGVuL2RyaXZl
cnMvcGFzc3Rocm91Z2gvYW1kL3BjaV9hbWRfaW9tbXUuYworKysgYi94ZW4v
ZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvcGNpX2FtZF9pb21tdS5jCkBAIC0z
MzAsNiArMzMwLDcgQEAgc3RhdGljIGludCByZWFzc2lnbl9kZXZpY2Uoc3Ry
dWN0IGRvbWFpbgogICAgIHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11OwogICAg
IGludCBiZGYsIHJjOwogICAgIHN0cnVjdCBkb21haW5faW9tbXUgKnQgPSBk
b21faW9tbXUodGFyZ2V0KTsKKyAgICBjb25zdCBzdHJ1Y3QgaXZyc19tYXBw
aW5ncyAqaXZyc19tYXBwaW5ncyA9IGdldF9pdnJzX21hcHBpbmdzKHBkZXYt
PnNlZyk7CiAKICAgICBiZGYgPSBQQ0lfQkRGMihwZGV2LT5idXMsIHBkZXYt
PmRldmZuKTsKICAgICBpb21tdSA9IGZpbmRfaW9tbXVfZm9yX2RldmljZShw
ZGV2LT5zZWcsIGJkZik7CkBAIC0zNDQsMTAgKzM0NSwyNCBAQCBzdGF0aWMg
aW50IHJlYXNzaWduX2RldmljZShzdHJ1Y3QgZG9tYWluCiAKICAgICBhbWRf
aW9tbXVfZGlzYWJsZV9kb21haW5fZGV2aWNlKHNvdXJjZSwgaW9tbXUsIGRl
dmZuLCBwZGV2KTsKIAotICAgIGlmICggZGV2Zm4gPT0gcGRldi0+ZGV2Zm4g
KQorICAgIC8qCisgICAgICogSWYgdGhlIGRldmljZSBiZWxvbmdzIHRvIHRo
ZSBoYXJkd2FyZSBkb21haW4sIGFuZCBpdCBoYXMgYSB1bml0eSBtYXBwaW5n
LAorICAgICAqIGRvbid0IHJlbW92ZSBpdCBmcm9tIHRoZSBoYXJkd2FyZSBk
b21haW4sIGJlY2F1c2UgQklPUyBtYXkgcmVmZXJlbmNlIHRoYXQKKyAgICAg
KiBtYXBwaW5nLgorICAgICAqLworICAgIGlmICggIWlzX2hhcmR3YXJlX2Rv
bWFpbihzb3VyY2UpICkKKyAgICB7CisgICAgICAgIHJjID0gYW1kX2lvbW11
X3Jlc2VydmVfZG9tYWluX3VuaXR5X3VubWFwKAorICAgICAgICAgICAgICAg
ICBzb3VyY2UsCisgICAgICAgICAgICAgICAgIGl2cnNfbWFwcGluZ3NbZ2V0
X2RtYV9yZXF1ZXN0b3JfaWQocGRldi0+c2VnLCBiZGYpXS51bml0eV9tYXAp
OworICAgICAgICBpZiAoIHJjICkKKyAgICAgICAgICAgIHJldHVybiByYzsK
KyAgICB9CisKKyAgICBpZiAoIGRldmZuID09IHBkZXYtPmRldmZuICYmIHBk
ZXYtPmRvbWFpbiAhPSBkb21faW8gKQogICAgIHsKLSAgICAgICAgbGlzdF9t
b3ZlKCZwZGV2LT5kb21haW5fbGlzdCwgJnRhcmdldC0+cGRldl9saXN0KTsK
LSAgICAgICAgcGRldi0+ZG9tYWluID0gdGFyZ2V0OworICAgICAgICBsaXN0
X21vdmUoJnBkZXYtPmRvbWFpbl9saXN0LCAmZG9tX2lvLT5wZGV2X2xpc3Qp
OworICAgICAgICBwZGV2LT5kb21haW4gPSBkb21faW87CiAgICAgfQogCiAg
ICAgcmMgPSBhbGxvY2F0ZV9kb21haW5fcmVzb3VyY2VzKHQpOwpAQCAtMzU5
LDYgKzM3NCwxMiBAQCBzdGF0aWMgaW50IHJlYXNzaWduX2RldmljZShzdHJ1
Y3QgZG9tYWluCiAgICAgICAgICAgICAgICAgICAgIHBkZXYtPnNlZywgcGRl
di0+YnVzLCBQQ0lfU0xPVChkZXZmbiksIFBDSV9GVU5DKGRldmZuKSwKICAg
ICAgICAgICAgICAgICAgICAgc291cmNlLT5kb21haW5faWQsIHRhcmdldC0+
ZG9tYWluX2lkKTsKIAorICAgIGlmICggZGV2Zm4gPT0gcGRldi0+ZGV2Zm4g
JiYgcGRldi0+ZG9tYWluICE9IHRhcmdldCApCisgICAgeworICAgICAgICBs
aXN0X21vdmUoJnBkZXYtPmRvbWFpbl9saXN0LCAmdGFyZ2V0LT5wZGV2X2xp
c3QpOworICAgICAgICBwZGV2LT5kb21haW4gPSB0YXJnZXQ7CisgICAgfQor
CiAgICAgcmV0dXJuIDA7CiB9CiAKQEAgLTM2OSwyMCArMzkwLDI4IEBAIHN0
YXRpYyBpbnQgYW1kX2lvbW11X2Fzc2lnbl9kZXZpY2Uoc3RydWMKICAgICBz
dHJ1Y3QgaXZyc19tYXBwaW5ncyAqaXZyc19tYXBwaW5ncyA9IGdldF9pdnJz
X21hcHBpbmdzKHBkZXYtPnNlZyk7CiAgICAgaW50IGJkZiA9IFBDSV9CREYy
KHBkZXYtPmJ1cywgZGV2Zm4pOwogICAgIGludCByZXFfaWQgPSBnZXRfZG1h
X3JlcXVlc3Rvcl9pZChwZGV2LT5zZWcsIGJkZik7Ci0gICAgY29uc3Qgc3Ry
dWN0IGl2cnNfdW5pdHlfbWFwICp1bml0eV9tYXA7CisgICAgaW50IHJjID0g
YW1kX2lvbW11X3Jlc2VydmVfZG9tYWluX3VuaXR5X21hcCgKKyAgICAgICAg
ICAgICAgICAgZCwgaXZyc19tYXBwaW5nc1tyZXFfaWRdLnVuaXR5X21hcCwg
ZmxhZyk7CisKKyAgICBpZiAoICFyYyApCisgICAgICAgIHJjID0gcmVhc3Np
Z25fZGV2aWNlKHBkZXYtPmRvbWFpbiwgZCwgZGV2Zm4sIHBkZXYpOwogCi0g
ICAgZm9yICggdW5pdHlfbWFwID0gaXZyc19tYXBwaW5nc1tyZXFfaWRdLnVu
aXR5X21hcDsgdW5pdHlfbWFwOwotICAgICAgICAgIHVuaXR5X21hcCA9IHVu
aXR5X21hcC0+bmV4dCApCisgICAgaWYgKCByYyAmJiAhaXNfaGFyZHdhcmVf
ZG9tYWluKGQpICkKICAgICB7Ci0gICAgICAgIGludCByYyA9IGFtZF9pb21t
dV9yZXNlcnZlX2RvbWFpbl91bml0eV9tYXAoCi0gICAgICAgICAgICAgICAg
ICAgICBkLCB1bml0eV9tYXAtPmFkZHIsIHVuaXR5X21hcC0+bGVuZ3RoLAot
ICAgICAgICAgICAgICAgICAgICAgdW5pdHlfbWFwLT53cml0ZSwgdW5pdHlf
bWFwLT5yZWFkKTsKKyAgICAgICAgaW50IHJldCA9IGFtZF9pb21tdV9yZXNl
cnZlX2RvbWFpbl91bml0eV91bm1hcCgKKyAgICAgICAgICAgICAgICAgICAg
ICBkLCBpdnJzX21hcHBpbmdzW3JlcV9pZF0udW5pdHlfbWFwKTsKIAotICAg
ICAgICBpZiAoIHJjICkKLSAgICAgICAgICAgIHJldHVybiByYzsKKyAgICAg
ICAgaWYgKCByZXQgKQorICAgICAgICB7CisgICAgICAgICAgICBwcmludGso
WEVOTE9HX0VSUiAiQU1ELVZpOiAiCisgICAgICAgICAgICAgICAgICAgInVu
aXR5LXVubWFwIGZvciAlcGQvJTA0eDolMDJ4OiUwMnguJXUgZmFpbGVkICgl
ZClcbiIsCisgICAgICAgICAgICAgICAgICAgZCwgcGRldi0+c2VnLCBwZGV2
LT5idXMsCisgICAgICAgICAgICAgICAgICAgUENJX1NMT1QoZGV2Zm4pLCBQ
Q0lfRlVOQyhkZXZmbiksIHJldCk7CisgICAgICAgICAgICBkb21haW5fY3Jh
c2goZCk7CisgICAgICAgIH0KICAgICB9CiAKLSAgICByZXR1cm4gcmVhc3Np
Z25fZGV2aWNlKHBkZXYtPmRvbWFpbiwgZCwgZGV2Zm4sIHBkZXYpOworICAg
IHJldHVybiByYzsKIH0KIAogc3RhdGljIHZvaWQgZGVhbGxvY2F0ZV9uZXh0
X3BhZ2VfdGFibGUoc3RydWN0IHBhZ2VfaW5mbyAqcGcsIGludCBsZXZlbCkK
QEAgLTQ0MSw2ICs0NzAsNyBAQCBzdGF0aWMgdm9pZCBkZWFsbG9jYXRlX2lv
bW11X3BhZ2VfdGFibGVzCiAKIHN0YXRpYyB2b2lkIGFtZF9pb21tdV9kb21h
aW5fZGVzdHJveShzdHJ1Y3QgZG9tYWluICpkKQogeworICAgIGlvbW11X2lk
ZW50aXR5X21hcF90ZWFyZG93bihkKTsKICAgICBkZWFsbG9jYXRlX2lvbW11
X3BhZ2VfdGFibGVzKGQpOwogICAgIGFtZF9pb21tdV9mbHVzaF9hbGxfcGFn
ZXMoZCk7CiB9Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N2bS9h
bWQtaW9tbXUtcHJvdG8uaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2
bS9zdm0vYW1kLWlvbW11LXByb3RvLmgKQEAgLTY0LDggKzY0LDEwIEBAIGlu
dCBfX211c3RfY2hlY2sgYW1kX2lvbW11X3VubWFwX3BhZ2Uoc3QKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50
ICpmbHVzaF9mbGFncyk7CiBpbnQgX19tdXN0X2NoZWNrIGFtZF9pb21tdV9h
bGxvY19yb290KHN0cnVjdCBkb21haW5faW9tbXUgKmhkKTsKIGludCBhbWRf
aW9tbXVfcmVzZXJ2ZV9kb21haW5fdW5pdHlfbWFwKHN0cnVjdCBkb21haW4g
KmRvbWFpbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHBhZGRyX3QgcGh5c19hZGRyLCB1bnNpZ25lZCBsb25nIHNpemUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaXcs
IGludCBpcik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBzdHJ1Y3QgaXZyc191bml0eV9tYXAgKm1hcCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu
dCBmbGFnKTsKK2ludCBhbWRfaW9tbXVfcmVzZXJ2ZV9kb21haW5fdW5pdHlf
dW5tYXAoc3RydWN0IGRvbWFpbiAqZCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGl2cnNfdW5pdHlf
bWFwICptYXApOwogaW50IF9fbXVzdF9jaGVjayBhbWRfaW9tbXVfZmx1c2hf
aW90bGJfcGFnZXMoc3RydWN0IGRvbWFpbiAqZCwgZGZuX3QgZGZuLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5z
aWduZWQgaW50IHBhZ2VfY291bnQsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgZmx1c2hfZmxh
Z3MpOwo=

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.13-6.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.13-6.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBBTUQvSU9NTVU6IHJlLWFycmFuZ2UgZXhjbHVzaW9uIHJhbmdlIGFuZCB1
bml0eSBtYXAgcmVjb3JkaW5nCgpUaGUgc3BlYyBtYWtlcyBubyBwcm92aXNp
b25zIGZvciBPUyBiZWhhdmlvciBoZXJlIHRvIGRlcGVuZCBvbiB0aGUKYW1v
dW50IG9mIFJBTSBmb3VuZCBvbiB0aGUgc3lzdGVtLiBXaGlsZSB0aGUgc3Bl
YyBtYXkgbm90IHN1ZmZpY2llbnRseQpjbGVhcmx5IGRpc3Rpbmd1aXNoIGJv
dGgga2luZHMgb2YgcmVnaW9ucywgdGhleSBhcmUgc3VyZWx5IG1lYW50IHRv
IGJlCnNlcGFyYXRlIHRoaW5nczogT25seSByZWdpb25zIHdpdGggQUNQSV9J
Vk1EX0VYQ0xVU0lPTl9SQU5HRSBzZXQgc2hvdWxkCmJlIGNhbmRpZGF0ZXMg
Zm9yIHB1dHRpbmcgaW4gdGhlIGV4Y2x1c2lvbiByYW5nZSByZWdpc3RlcnMu
IChBcyB0aGVyZSdzCm9ubHkgYSBzaW5nbGUgc3VjaCBwYWlyIG9mIHJlZ2lz
dGVycyBwZXIgSU9NTVUsIHNlY29uZGFyeSBub24tYWRqYWNlbnQKcmVnaW9u
cyB3aXRoIHRoZSBmbGFnIHNldCBhbHJlYWR5IGdldCBjb252ZXJ0ZWQgdG8g
dW5pdHkgbWFwcGVkCnJlZ2lvbnMuKQoKRmlyc3Qgb2YgYWxsLCBkcm9wIHRo
ZSBkZXBlbmRlbmN5IG9uIG1heF9wYWdlLiBXaXRoIGNvbW1pdCBiNGYwNDIy
MzZhZTAKKCJBTUQvSU9NTVU6IENlYXNlIHVzaW5nIGEgZHluYW1pYyBoZWln
aHQgZm9yIHRoZSBJT01NVSBwYWdldGFibGVzIikgdGhlCnVzZSBvZiBpdCBo
ZXJlIHdhcyBzdGFsZSBhbnl3YXk7IGl0IHdhcyBib2d1cyBhbHJlYWR5IGJl
Zm9yZSwgYXMgaXQKZGlkbid0IGFjY291bnQgZm9yIG1heF9wYWdlIGdldHRp
bmcgaW5jcmVhc2VkIGxhdGVyIG9uLiBTaW1wbHkgdHJ5IGFuCmV4Y2x1c2lv
biByYW5nZSByZWdpc3RyYXRpb24gZmlyc3QsIGFuZCBpZiBpdCBmYWlscyAo
Zm9yIGJlaW5nCnVuc3VpdGFibGUgb3Igbm9uLW1lcmdlYWJsZSksIHJlZ2lz
dGVyIGEgdW5pdHkgbWFwcGluZyByYW5nZS4KCldpdGggdGhpcyB2YXJpb3Vz
IGxvY2FsIHZhcmlhYmxlcyBiZWNvbWUgdW5uZWNlc3NhcnkgYW5kIGhlbmNl
IGdldApkcm9wcGVkIGF0IHRoZSBzYW1lIHRpbWUuCgpXaXRoIHRoZSBtYXhf
cGFnZSBib3VuZGFyeSBkcm9wcGVkIGZvciB1c2luZyB1bml0eSBtYXBzLCB0
aGUgbWluaW11bQpwYWdlIHRhYmxlIHRyZWUgaGVpZ2h0IG5vdyBuZWVkcyBi
b3RoIHJlY29yZGluZyBhbmQgZW5mb3JjaW5nIGluCmFtZF9pb21tdV9kb21h
aW5faW5pdCgpLiBTaW5jZSB3ZSBjYW4ndCBwcmVkaWN0IHdoaWNoIGRldmlj
ZXMgbWF5IGdldAphc3NpZ25lZCB0byBhIGRvbWFpbiwgb3VyIG9ubHkgb3B0
aW9uIGlzIHRvIHVuaWZvcm1seSBmb3JjZSBhdCBsZWFzdAp0aGF0IGhlaWdo
dCBmb3IgYWxsIGRvbWFpbnMsIG5vdyB0aGF0IHRoZSBoZWlnaHQgaXNuJ3Qg
ZHluYW1pYyBhbnltb3JlLgoKRnVydGhlciBkb24ndCBtYWtlIHVzZSBvZiB0
aGUgZXhjbHVzaW9uIHJhbmdlIHVubGVzcyBBQ1BJIGRhdGEgc2F5cyBzby4K
Ck5vdGUgdGhhdCBleGNsdXNpb24gcmFuZ2UgcmVnaXN0cmF0aW9uIGluCnJl
Z2lzdGVyX3JhbmdlX2Zvcl9hbGxfZGV2aWNlcygpIGlzIG9uIGEgYmVzdCBl
ZmZvcnQgYmFzaXMuIEhlbmNlIHVuaXR5Cm1hcCBlbnRyaWVzIGFsc28gcmVn
aXN0ZXJlZCBhcmUgcmVkdW5kYW50IHdoZW4gdGhlIGZvcm1lciBzdWNjZWVk
ZWQsIGJ1dAp0aGV5IGFsc28gZG8gbm8gaGFybS4gSW1wcm92ZW1lbnRzIGlu
IHRoaXMgYXJlYSBjYW4gYmUgZG9uZSBsYXRlciBpbW8uCgpBbHNvIGFkanVz
dCB0eXBlcyB3aGVyZSBzdWl0YWJsZSB3aXRob3V0IHRvdWNoaW5nIGV4dHJh
IGxpbmVzLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS0zNzguCgpTaWduZWQtb2Zm
LWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+ClJldmlld2Vk
LWJ5OiBQYXVsIER1cnJhbnQgPHBhdWxAeGVuLm9yZz4KCi0tLSBhL3hlbi9k
cml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21tdV9hY3BpLmMKKysrIGIveGVu
L2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11X2FjcGkuYwpAQCAtMTE4
LDEyICsxMTgsOCBAQCBzdGF0aWMgc3RydWN0IGFtZF9pb21tdSAqIF9faW5p
dCBmaW5kX2lvCiB9CiAKIHN0YXRpYyBpbnQgX19pbml0IHJlc2VydmVfaW9t
bXVfZXhjbHVzaW9uX3JhbmdlKAotICAgIHN0cnVjdCBhbWRfaW9tbXUgKmlv
bW11LCB1aW50NjRfdCBiYXNlLCB1aW50NjRfdCBsaW1pdCwKLSAgICBib29s
IGFsbCwgYm9vbCBpdywgYm9vbCBpcikKKyAgICBzdHJ1Y3QgYW1kX2lvbW11
ICppb21tdSwgcGFkZHJfdCBiYXNlLCBwYWRkcl90IGxpbWl0LCBib29sIGFs
bCkKIHsKLSAgICBpZiAoICFpciB8fCAhaXcgKQotICAgICAgICByZXR1cm4g
LUVQRVJNOwotCiAgICAgLyogbmVlZCB0byBleHRlbmQgZXhjbHVzaW9uIHJh
bmdlPyAqLwogICAgIGlmICggaW9tbXUtPmV4Y2x1c2lvbl9lbmFibGUgKQog
ICAgIHsKQEAgLTE1MiwxNCArMTQ4LDE4IEBAIHN0YXRpYyBpbnQgX19pbml0
IHJlc2VydmVfdW5pdHlfbWFwX2Zvcl8KIHsKICAgICBzdHJ1Y3QgaXZyc19t
YXBwaW5ncyAqaXZyc19tYXBwaW5ncyA9IGdldF9pdnJzX21hcHBpbmdzKHNl
Zyk7CiAgICAgc3RydWN0IGl2cnNfdW5pdHlfbWFwICp1bml0eV9tYXAgPSBp
dnJzX21hcHBpbmdzW2JkZl0udW5pdHlfbWFwOworICAgIGludCBwYWdpbmdf
bW9kZSA9IGFtZF9pb21tdV9nZXRfcGFnaW5nX21vZGUoUEZOX1VQKGJhc2Ug
KyBsZW5ndGgpKTsKKworICAgIGlmICggcGFnaW5nX21vZGUgPCAwICkKKyAg
ICAgICAgcmV0dXJuIHBhZ2luZ19tb2RlOwogCiAgICAgLyogQ2hlY2sgZm9y
IG92ZXJsYXBzLiAqLwogICAgIGZvciAoIDsgdW5pdHlfbWFwOyB1bml0eV9t
YXAgPSB1bml0eV9tYXAtPm5leHQgKQogICAgIHsKICAgICAgICAgLyoKICAg
ICAgICAgICogRXhhY3QgbWF0Y2hlcyBhcmUgb2theS4gVGhpcyBjYW4gaW4g
cGFydGljdWxhciBoYXBwZW4gd2hlbgotICAgICAgICAgKiByZWdpc3Rlcl9l
eGNsdXNpb25fcmFuZ2VfZm9yX2RldmljZSgpIGNhbGxzIGhlcmUgdHdpY2Ug
Zm9yIHRoZQotICAgICAgICAgKiBzYW1lIChzLGIsZCxmKS4KKyAgICAgICAg
ICogcmVnaXN0ZXJfcmFuZ2VfZm9yX2RldmljZSgpIGNhbGxzIGhlcmUgdHdp
Y2UgZm9yIHRoZSBzYW1lCisgICAgICAgICAqIChzLGIsZCxmKS4KICAgICAg
ICAgICovCiAgICAgICAgIGlmICggYmFzZSA9PSB1bml0eV9tYXAtPmFkZHIg
JiYgbGVuZ3RoID09IHVuaXR5X21hcC0+bGVuZ3RoICYmCiAgICAgICAgICAg
ICAgaXIgPT0gdW5pdHlfbWFwLT5yZWFkICYmIGl3ID09IHVuaXR5X21hcC0+
d3JpdGUgKQpAQCAtMTg3LDU1ICsxODcsNTIgQEAgc3RhdGljIGludCBfX2lu
aXQgcmVzZXJ2ZV91bml0eV9tYXBfZm9yXwogICAgIHVuaXR5X21hcC0+bmV4
dCA9IGl2cnNfbWFwcGluZ3NbYmRmXS51bml0eV9tYXA7CiAgICAgaXZyc19t
YXBwaW5nc1tiZGZdLnVuaXR5X21hcCA9IHVuaXR5X21hcDsKIAorICAgIGlm
ICggcGFnaW5nX21vZGUgPiBhbWRfaW9tbXVfbWluX3BhZ2luZ19tb2RlICkK
KyAgICAgICAgYW1kX2lvbW11X21pbl9wYWdpbmdfbW9kZSA9IHBhZ2luZ19t
b2RlOworCiAgICAgcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgX19pbml0
IHJlZ2lzdGVyX2V4Y2x1c2lvbl9yYW5nZV9mb3JfYWxsX2RldmljZXMoCi0g
ICAgdW5zaWduZWQgbG9uZyBiYXNlLCB1bnNpZ25lZCBsb25nIGxpbWl0LCB1
OCBpdywgdTggaXIpCitzdGF0aWMgaW50IF9faW5pdCByZWdpc3Rlcl9yYW5n
ZV9mb3JfYWxsX2RldmljZXMoCisgICAgcGFkZHJfdCBiYXNlLCBwYWRkcl90
IGxpbWl0LCBib29sIGl3LCBib29sIGlyLCBib29sIGV4Y2x1c2lvbikKIHsK
ICAgICBpbnQgc2VnID0gMDsgLyogWFhYICovCi0gICAgdW5zaWduZWQgbG9u
ZyByYW5nZV90b3AsIGlvbW11X3RvcCwgbGVuZ3RoOwogICAgIHN0cnVjdCBh
bWRfaW9tbXUgKmlvbW11OwotICAgIHVuc2lnbmVkIGludCBiZGY7CiAgICAg
aW50IHJjID0gMDsKIAogICAgIC8qIGlzIHBhcnQgb2YgZXhjbHVzaW9uIHJh
bmdlIGluc2lkZSBvZiBJT01NVSB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2U/ICov
CiAgICAgLyogbm90ZTogJ2xpbWl0JyBwYXJhbWV0ZXIgaXMgYXNzdW1lZCB0
byBiZSBwYWdlLWFsaWduZWQgKi8KLSAgICByYW5nZV90b3AgPSBsaW1pdCAr
IFBBR0VfU0laRTsKLSAgICBpb21tdV90b3AgPSBtYXhfcGFnZSAqIFBBR0Vf
U0laRTsKLSAgICBpZiAoIGJhc2UgPCBpb21tdV90b3AgKQotICAgIHsKLSAg
ICAgICAgaWYgKCByYW5nZV90b3AgPiBpb21tdV90b3AgKQotICAgICAgICAg
ICAgcmFuZ2VfdG9wID0gaW9tbXVfdG9wOwotICAgICAgICBsZW5ndGggPSBy
YW5nZV90b3AgLSBiYXNlOwotICAgICAgICAvKiByZXNlcnZlIHIvdyB1bml0
eS1tYXBwZWQgcGFnZSBlbnRyaWVzIGZvciBkZXZpY2VzICovCi0gICAgICAg
IC8qIG5vdGU6IHRoZXNlIGVudHJpZXMgYXJlIHBhcnQgb2YgdGhlIGV4Y2x1
c2lvbiByYW5nZSAqLwotICAgICAgICBmb3IgKCBiZGYgPSAwOyAhcmMgJiYg
YmRmIDwgaXZyc19iZGZfZW50cmllczsgYmRmKysgKQotICAgICAgICAgICAg
cmMgPSByZXNlcnZlX3VuaXR5X21hcF9mb3JfZGV2aWNlKHNlZywgYmRmLCBi
YXNlLCBsZW5ndGgsIGl3LCBpcik7Ci0gICAgICAgIC8qIHB1c2ggJ2Jhc2Un
IGp1c3Qgb3V0c2lkZSBvZiB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2UgKi8KLSAg
ICAgICAgYmFzZSA9IGlvbW11X3RvcDsKLSAgICB9Ci0gICAgLyogcmVnaXN0
ZXIgSU9NTVUgZXhjbHVzaW9uIHJhbmdlIHNldHRpbmdzICovCi0gICAgaWYg
KCAhcmMgJiYgbGltaXQgPj0gaW9tbXVfdG9wICkKKyAgICBpZiAoIGV4Y2x1
c2lvbiApCiAgICAgewogICAgICAgICBmb3JfZWFjaF9hbWRfaW9tbXUoIGlv
bW11ICkKICAgICAgICAgewotICAgICAgICAgICAgcmMgPSByZXNlcnZlX2lv
bW11X2V4Y2x1c2lvbl9yYW5nZShpb21tdSwgYmFzZSwgbGltaXQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRy
dWUgLyogYWxsICovLCBpdywgaXIpOwotICAgICAgICAgICAgaWYgKCByYyAp
Ci0gICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBpbnQgcmV0
ID0gcmVzZXJ2ZV9pb21tdV9leGNsdXNpb25fcmFuZ2UoaW9tbXUsIGJhc2Us
IGxpbWl0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHRydWUgLyogYWxsICovKTsKKworICAgICAgICAg
ICAgaWYgKCByZXQgJiYgIXJjICkKKyAgICAgICAgICAgICAgICByYyA9IHJl
dDsKICAgICAgICAgfQogICAgIH0KIAorICAgIGlmICggIWV4Y2x1c2lvbiB8
fCByYyApCisgICAgeworICAgICAgICBwYWRkcl90IGxlbmd0aCA9IGxpbWl0
ICsgUEFHRV9TSVpFIC0gYmFzZTsKKyAgICAgICAgdW5zaWduZWQgaW50IGJk
ZjsKKworICAgICAgICAvKiByZXNlcnZlIHIvdyB1bml0eS1tYXBwZWQgcGFn
ZSBlbnRyaWVzIGZvciBkZXZpY2VzICovCisgICAgICAgIGZvciAoIGJkZiA9
IHJjID0gMDsgIXJjICYmIGJkZiA8IGl2cnNfYmRmX2VudHJpZXM7IGJkZisr
ICkKKyAgICAgICAgICAgIHJjID0gcmVzZXJ2ZV91bml0eV9tYXBfZm9yX2Rl
dmljZShzZWcsIGJkZiwgYmFzZSwgbGVuZ3RoLCBpdywgaXIpOworICAgIH0K
KwogICAgIHJldHVybiByYzsKIH0KIAotc3RhdGljIGludCBfX2luaXQgcmVn
aXN0ZXJfZXhjbHVzaW9uX3JhbmdlX2Zvcl9kZXZpY2UoCi0gICAgdTE2IGJk
ZiwgdW5zaWduZWQgbG9uZyBiYXNlLCB1bnNpZ25lZCBsb25nIGxpbWl0LCB1
OCBpdywgdTggaXIpCitzdGF0aWMgaW50IF9faW5pdCByZWdpc3Rlcl9yYW5n
ZV9mb3JfZGV2aWNlKAorICAgIHVuc2lnbmVkIGludCBiZGYsIHBhZGRyX3Qg
YmFzZSwgcGFkZHJfdCBsaW1pdCwKKyAgICBib29sIGl3LCBib29sIGlyLCBi
b29sIGV4Y2x1c2lvbikKIHsKICAgICBpbnQgc2VnID0gMDsgLyogWFhYICov
CiAgICAgc3RydWN0IGl2cnNfbWFwcGluZ3MgKml2cnNfbWFwcGluZ3MgPSBn
ZXRfaXZyc19tYXBwaW5ncyhzZWcpOwotICAgIHVuc2lnbmVkIGxvbmcgcmFu
Z2VfdG9wLCBpb21tdV90b3AsIGxlbmd0aDsKICAgICBzdHJ1Y3QgYW1kX2lv
bW11ICppb21tdTsKICAgICB1MTYgcmVxOwogICAgIGludCByYyA9IDA7CkBA
IC0yNDksMjcgKzI0NiwxOSBAQCBzdGF0aWMgaW50IF9faW5pdCByZWdpc3Rl
cl9leGNsdXNpb25fcmFuCiAgICAgcmVxID0gaXZyc19tYXBwaW5nc1tiZGZd
LmR0ZV9yZXF1ZXN0b3JfaWQ7CiAKICAgICAvKiBub3RlOiAnbGltaXQnIHBh
cmFtZXRlciBpcyBhc3N1bWVkIHRvIGJlIHBhZ2UtYWxpZ25lZCAqLwotICAg
IHJhbmdlX3RvcCA9IGxpbWl0ICsgUEFHRV9TSVpFOwotICAgIGlvbW11X3Rv
cCA9IG1heF9wYWdlICogUEFHRV9TSVpFOwotICAgIGlmICggYmFzZSA8IGlv
bW11X3RvcCApCi0gICAgewotICAgICAgICBpZiAoIHJhbmdlX3RvcCA+IGlv
bW11X3RvcCApCi0gICAgICAgICAgICByYW5nZV90b3AgPSBpb21tdV90b3A7
Ci0gICAgICAgIGxlbmd0aCA9IHJhbmdlX3RvcCAtIGJhc2U7CisgICAgaWYg
KCBleGNsdXNpb24gKQorICAgICAgICByYyA9IHJlc2VydmVfaW9tbXVfZXhj
bHVzaW9uX3JhbmdlKGlvbW11LCBiYXNlLCBsaW1pdCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSAvKiBhbGwg
Ki8pOworICAgIGlmICggIWV4Y2x1c2lvbiB8fCByYyApCisgICAgeworICAg
ICAgICBwYWRkcl90IGxlbmd0aCA9IGxpbWl0ICsgUEFHRV9TSVpFIC0gYmFz
ZTsKKwogICAgICAgICAvKiByZXNlcnZlIHVuaXR5LW1hcHBlZCBwYWdlIGVu
dHJpZXMgZm9yIGRldmljZSAqLwotICAgICAgICAvKiBub3RlOiB0aGVzZSBl
bnRyaWVzIGFyZSBwYXJ0IG9mIHRoZSBleGNsdXNpb24gcmFuZ2UgKi8KICAg
ICAgICAgcmMgPSByZXNlcnZlX3VuaXR5X21hcF9mb3JfZGV2aWNlKHNlZywg
YmRmLCBiYXNlLCBsZW5ndGgsIGl3LCBpcikgPzoKICAgICAgICAgICAgICBy
ZXNlcnZlX3VuaXR5X21hcF9mb3JfZGV2aWNlKHNlZywgcmVxLCBiYXNlLCBs
ZW5ndGgsIGl3LCBpcik7Ci0KLSAgICAgICAgLyogcHVzaCAnYmFzZScganVz
dCBvdXRzaWRlIG9mIHZpcnR1YWwgYWRkcmVzcyBzcGFjZSAqLwotICAgICAg
ICBiYXNlID0gaW9tbXVfdG9wOwogICAgIH0KLQotICAgIC8qIHJlZ2lzdGVy
IElPTU1VIGV4Y2x1c2lvbiByYW5nZSBzZXR0aW5ncyBmb3IgZGV2aWNlICov
Ci0gICAgaWYgKCAhcmMgJiYgbGltaXQgPj0gaW9tbXVfdG9wICApCisgICAg
ZWxzZQogICAgIHsKLSAgICAgICAgcmMgPSByZXNlcnZlX2lvbW11X2V4Y2x1
c2lvbl9yYW5nZShpb21tdSwgYmFzZSwgbGltaXQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgLyogYWxsICov
LCBpdywgaXIpOwogICAgICAgICBpdnJzX21hcHBpbmdzW2JkZl0uZHRlX2Fs
bG93X2V4Y2x1c2lvbiA9IHRydWU7CiAgICAgICAgIGl2cnNfbWFwcGluZ3Nb
cmVxXS5kdGVfYWxsb3dfZXhjbHVzaW9uID0gdHJ1ZTsKICAgICB9CkBAIC0y
NzcsNTMgKzI2Niw0MiBAQCBzdGF0aWMgaW50IF9faW5pdCByZWdpc3Rlcl9l
eGNsdXNpb25fcmFuCiAgICAgcmV0dXJuIHJjOwogfQogCi1zdGF0aWMgaW50
IF9faW5pdCByZWdpc3Rlcl9leGNsdXNpb25fcmFuZ2VfZm9yX2lvbW11X2Rl
dmljZXMoCi0gICAgc3RydWN0IGFtZF9pb21tdSAqaW9tbXUsCi0gICAgdW5z
aWduZWQgbG9uZyBiYXNlLCB1bnNpZ25lZCBsb25nIGxpbWl0LCB1OCBpdywg
dTggaXIpCitzdGF0aWMgaW50IF9faW5pdCByZWdpc3Rlcl9yYW5nZV9mb3Jf
aW9tbXVfZGV2aWNlcygKKyAgICBzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwg
cGFkZHJfdCBiYXNlLCBwYWRkcl90IGxpbWl0LAorICAgIGJvb2wgaXcsIGJv
b2wgaXIsIGJvb2wgZXhjbHVzaW9uKQogewotICAgIHVuc2lnbmVkIGxvbmcg
cmFuZ2VfdG9wLCBpb21tdV90b3AsIGxlbmd0aDsKKyAgICAvKiBub3RlOiAn
bGltaXQnIHBhcmFtZXRlciBpcyBhc3N1bWVkIHRvIGJlIHBhZ2UtYWxpZ25l
ZCAqLworICAgIHBhZGRyX3QgbGVuZ3RoID0gbGltaXQgKyBQQUdFX1NJWkUg
LSBiYXNlOwogICAgIHVuc2lnbmVkIGludCBiZGY7CiAgICAgdTE2IHJlcTsK
LSAgICBpbnQgcmMgPSAwOworICAgIGludCByYzsKIAotICAgIC8qIGlzIHBh
cnQgb2YgZXhjbHVzaW9uIHJhbmdlIGluc2lkZSBvZiBJT01NVSB2aXJ0dWFs
IGFkZHJlc3Mgc3BhY2U/ICovCi0gICAgLyogbm90ZTogJ2xpbWl0JyBwYXJh
bWV0ZXIgaXMgYXNzdW1lZCB0byBiZSBwYWdlLWFsaWduZWQgKi8KLSAgICBy
YW5nZV90b3AgPSBsaW1pdCArIFBBR0VfU0laRTsKLSAgICBpb21tdV90b3Ag
PSBtYXhfcGFnZSAqIFBBR0VfU0laRTsKLSAgICBpZiAoIGJhc2UgPCBpb21t
dV90b3AgKQotICAgIHsKLSAgICAgICAgaWYgKCByYW5nZV90b3AgPiBpb21t
dV90b3AgKQotICAgICAgICAgICAgcmFuZ2VfdG9wID0gaW9tbXVfdG9wOwot
ICAgICAgICBsZW5ndGggPSByYW5nZV90b3AgLSBiYXNlOwotICAgICAgICAv
KiByZXNlcnZlIHIvdyB1bml0eS1tYXBwZWQgcGFnZSBlbnRyaWVzIGZvciBk
ZXZpY2VzICovCi0gICAgICAgIC8qIG5vdGU6IHRoZXNlIGVudHJpZXMgYXJl
IHBhcnQgb2YgdGhlIGV4Y2x1c2lvbiByYW5nZSAqLwotICAgICAgICBmb3Ig
KCBiZGYgPSAwOyAhcmMgJiYgYmRmIDwgaXZyc19iZGZfZW50cmllczsgYmRm
KysgKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoIGlvbW11ID09IGZp
bmRfaW9tbXVfZm9yX2RldmljZShpb21tdS0+c2VnLCBiZGYpICkKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICByZXEgPSBnZXRfaXZyc19tYXBw
aW5ncyhpb21tdS0+c2VnKVtiZGZdLmR0ZV9yZXF1ZXN0b3JfaWQ7Ci0gICAg
ICAgICAgICAgICAgcmMgPSByZXNlcnZlX3VuaXR5X21hcF9mb3JfZGV2aWNl
KGlvbW11LT5zZWcsIGJkZiwgYmFzZSwgbGVuZ3RoLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdywgaXIp
ID86Ci0gICAgICAgICAgICAgICAgICAgICByZXNlcnZlX3VuaXR5X21hcF9m
b3JfZGV2aWNlKGlvbW11LT5zZWcsIHJlcSwgYmFzZSwgbGVuZ3RoLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpdywgaXIpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICAg
ICAgLyogcHVzaCAnYmFzZScganVzdCBvdXRzaWRlIG9mIHZpcnR1YWwgYWRk
cmVzcyBzcGFjZSAqLwotICAgICAgICBiYXNlID0gaW9tbXVfdG9wOworICAg
IGlmICggZXhjbHVzaW9uICkKKyAgICB7CisgICAgICAgIHJjID0gcmVzZXJ2
ZV9pb21tdV9leGNsdXNpb25fcmFuZ2UoaW9tbXUsIGJhc2UsIGxpbWl0LCB0
cnVlIC8qIGFsbCAqLyk7CisgICAgICAgIGlmICggIXJjICkKKyAgICAgICAg
ICAgIHJldHVybiAwOwogICAgIH0KIAotICAgIC8qIHJlZ2lzdGVyIElPTU1V
IGV4Y2x1c2lvbiByYW5nZSBzZXR0aW5ncyAqLwotICAgIGlmICggIXJjICYm
IGxpbWl0ID49IGlvbW11X3RvcCApCi0gICAgICAgIHJjID0gcmVzZXJ2ZV9p
b21tdV9leGNsdXNpb25fcmFuZ2UoaW9tbXUsIGJhc2UsIGxpbWl0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUg
LyogYWxsICovLCBpdywgaXIpOworICAgIC8qIHJlc2VydmUgdW5pdHktbWFw
cGVkIHBhZ2UgZW50cmllcyBmb3IgZGV2aWNlcyAqLworICAgIGZvciAoIGJk
ZiA9IHJjID0gMDsgIXJjICYmIGJkZiA8IGl2cnNfYmRmX2VudHJpZXM7IGJk
ZisrICkKKyAgICB7CisgICAgICAgIGlmICggaW9tbXUgIT0gZmluZF9pb21t
dV9mb3JfZGV2aWNlKGlvbW11LT5zZWcsIGJkZikgKQorICAgICAgICAgICAg
Y29udGludWU7CisKKyAgICAgICAgcmVxID0gZ2V0X2l2cnNfbWFwcGluZ3Mo
aW9tbXUtPnNlZylbYmRmXS5kdGVfcmVxdWVzdG9yX2lkOworICAgICAgICBy
YyA9IHJlc2VydmVfdW5pdHlfbWFwX2Zvcl9kZXZpY2UoaW9tbXUtPnNlZywg
YmRmLCBiYXNlLCBsZW5ndGgsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpdywgaXIpID86CisgICAgICAgICAgICAgcmVz
ZXJ2ZV91bml0eV9tYXBfZm9yX2RldmljZShpb21tdS0+c2VnLCByZXEsIGJh
c2UsIGxlbmd0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGl3LCBpcik7CisgICAgfQogCiAgICAgcmV0dXJuIHJjOwog
fQogCiBzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9pdm1kX2RldmljZV9zZWxl
Y3QoCiAgICAgY29uc3Qgc3RydWN0IGFjcGlfaXZyc19tZW1vcnkgKml2bWRf
YmxvY2ssCi0gICAgdW5zaWduZWQgbG9uZyBiYXNlLCB1bnNpZ25lZCBsb25n
IGxpbWl0LCB1OCBpdywgdTggaXIpCisgICAgcGFkZHJfdCBiYXNlLCBwYWRk
cl90IGxpbWl0LCBib29sIGl3LCBib29sIGlyLCBib29sIGV4Y2x1c2lvbikK
IHsKICAgICB1MTYgYmRmOwogCkBAIC0zMzQsMTIgKzMxMiwxMiBAQCBzdGF0
aWMgaW50IF9faW5pdCBwYXJzZV9pdm1kX2RldmljZV9zZWxlCiAgICAgICAg
IHJldHVybiAtRU5PREVWOwogICAgIH0KIAotICAgIHJldHVybiByZWdpc3Rl
cl9leGNsdXNpb25fcmFuZ2VfZm9yX2RldmljZShiZGYsIGJhc2UsIGxpbWl0
LCBpdywgaXIpOworICAgIHJldHVybiByZWdpc3Rlcl9yYW5nZV9mb3JfZGV2
aWNlKGJkZiwgYmFzZSwgbGltaXQsIGl3LCBpciwgZXhjbHVzaW9uKTsKIH0K
IAogc3RhdGljIGludCBfX2luaXQgcGFyc2VfaXZtZF9kZXZpY2VfcmFuZ2Uo
CiAgICAgY29uc3Qgc3RydWN0IGFjcGlfaXZyc19tZW1vcnkgKml2bWRfYmxv
Y2ssCi0gICAgdW5zaWduZWQgbG9uZyBiYXNlLCB1bnNpZ25lZCBsb25nIGxp
bWl0LCB1OCBpdywgdTggaXIpCisgICAgcGFkZHJfdCBiYXNlLCBwYWRkcl90
IGxpbWl0LCBib29sIGl3LCBib29sIGlyLCBib29sIGV4Y2x1c2lvbikKIHsK
ICAgICB1bnNpZ25lZCBpbnQgZmlyc3RfYmRmLCBsYXN0X2JkZiwgYmRmOwog
ICAgIGludCBlcnJvcjsKQEAgLTM2MSwxNSArMzM5LDE1IEBAIHN0YXRpYyBp
bnQgX19pbml0IHBhcnNlX2l2bWRfZGV2aWNlX3JhbmcKICAgICB9CiAKICAg
ICBmb3IgKCBiZGYgPSBmaXJzdF9iZGYsIGVycm9yID0gMDsgKGJkZiA8PSBs
YXN0X2JkZikgJiYgIWVycm9yOyBiZGYrKyApCi0gICAgICAgIGVycm9yID0g
cmVnaXN0ZXJfZXhjbHVzaW9uX3JhbmdlX2Zvcl9kZXZpY2UoCi0gICAgICAg
ICAgICBiZGYsIGJhc2UsIGxpbWl0LCBpdywgaXIpOworICAgICAgICBlcnJv
ciA9IHJlZ2lzdGVyX3JhbmdlX2Zvcl9kZXZpY2UoCisgICAgICAgICAgICBi
ZGYsIGJhc2UsIGxpbWl0LCBpdywgaXIsIGV4Y2x1c2lvbik7CiAKICAgICBy
ZXR1cm4gZXJyb3I7CiB9CiAKIHN0YXRpYyBpbnQgX19pbml0IHBhcnNlX2l2
bWRfZGV2aWNlX2lvbW11KAogICAgIGNvbnN0IHN0cnVjdCBhY3BpX2l2cnNf
bWVtb3J5ICppdm1kX2Jsb2NrLAotICAgIHVuc2lnbmVkIGxvbmcgYmFzZSwg
dW5zaWduZWQgbG9uZyBsaW1pdCwgdTggaXcsIHU4IGlyKQorICAgIHBhZGRy
X3QgYmFzZSwgcGFkZHJfdCBsaW1pdCwgYm9vbCBpdywgYm9vbCBpciwgYm9v
bCBleGNsdXNpb24pCiB7CiAgICAgaW50IHNlZyA9IDA7IC8qIFhYWCAqLwog
ICAgIHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11OwpAQCAtMzg0LDE0ICszNjIs
MTQgQEAgc3RhdGljIGludCBfX2luaXQgcGFyc2VfaXZtZF9kZXZpY2VfaW9t
bQogICAgICAgICByZXR1cm4gLUVOT0RFVjsKICAgICB9CiAKLSAgICByZXR1
cm4gcmVnaXN0ZXJfZXhjbHVzaW9uX3JhbmdlX2Zvcl9pb21tdV9kZXZpY2Vz
KAotICAgICAgICBpb21tdSwgYmFzZSwgbGltaXQsIGl3LCBpcik7CisgICAg
cmV0dXJuIHJlZ2lzdGVyX3JhbmdlX2Zvcl9pb21tdV9kZXZpY2VzKAorICAg
ICAgICBpb21tdSwgYmFzZSwgbGltaXQsIGl3LCBpciwgZXhjbHVzaW9uKTsK
IH0KIAogc3RhdGljIGludCBfX2luaXQgcGFyc2VfaXZtZF9ibG9jayhjb25z
dCBzdHJ1Y3QgYWNwaV9pdnJzX21lbW9yeSAqaXZtZF9ibG9jaykKIHsKICAg
ICB1bnNpZ25lZCBsb25nIHN0YXJ0X2FkZHIsIG1lbV9sZW5ndGgsIGJhc2Us
IGxpbWl0OwotICAgIHU4IGl3LCBpcjsKKyAgICBib29sIGl3ID0gdHJ1ZSwg
aXIgPSB0cnVlLCBleGNsdXNpb24gPSBmYWxzZTsKIAogICAgIGlmICggaXZt
ZF9ibG9jay0+aGVhZGVyLmxlbmd0aCA8IHNpemVvZigqaXZtZF9ibG9jaykg
KQogICAgIHsKQEAgLTQwOCwxMyArMzg2LDExIEBAIHN0YXRpYyBpbnQgX19p
bml0IHBhcnNlX2l2bWRfYmxvY2soY29uc3QKICAgICAgICAgICAgICAgICAg
ICAgaXZtZF9ibG9jay0+aGVhZGVyLnR5cGUsIHN0YXJ0X2FkZHIsIG1lbV9s
ZW5ndGgpOwogCiAgICAgaWYgKCBpdm1kX2Jsb2NrLT5oZWFkZXIuZmxhZ3Mg
JiBBQ1BJX0lWTURfRVhDTFVTSU9OX1JBTkdFICkKLSAgICAgICAgaXcgPSBp
ciA9IElPTU1VX0NPTlRST0xfRU5BQkxFRDsKKyAgICAgICAgZXhjbHVzaW9u
ID0gdHJ1ZTsKICAgICBlbHNlIGlmICggaXZtZF9ibG9jay0+aGVhZGVyLmZs
YWdzICYgQUNQSV9JVk1EX1VOSVRZICkKICAgICB7Ci0gICAgICAgIGl3ID0g
aXZtZF9ibG9jay0+aGVhZGVyLmZsYWdzICYgQUNQSV9JVk1EX1JFQUQgPwot
ICAgICAgICAgICAgSU9NTVVfQ09OVFJPTF9FTkFCTEVEIDogSU9NTVVfQ09O
VFJPTF9ESVNBQkxFRDsKLSAgICAgICAgaXIgPSBpdm1kX2Jsb2NrLT5oZWFk
ZXIuZmxhZ3MgJiBBQ1BJX0lWTURfV1JJVEUgPwotICAgICAgICAgICAgSU9N
TVVfQ09OVFJPTF9FTkFCTEVEIDogSU9NTVVfQ09OVFJPTF9ESVNBQkxFRDsK
KyAgICAgICAgaXcgPSBpdm1kX2Jsb2NrLT5oZWFkZXIuZmxhZ3MgJiBBQ1BJ
X0lWTURfUkVBRDsKKyAgICAgICAgaXIgPSBpdm1kX2Jsb2NrLT5oZWFkZXIu
ZmxhZ3MgJiBBQ1BJX0lWTURfV1JJVEU7CiAgICAgfQogICAgIGVsc2UKICAg
ICB7CkBAIC00MjUsMjAgKzQwMSwyMCBAQCBzdGF0aWMgaW50IF9faW5pdCBw
YXJzZV9pdm1kX2Jsb2NrKGNvbnN0CiAgICAgc3dpdGNoKCBpdm1kX2Jsb2Nr
LT5oZWFkZXIudHlwZSApCiAgICAgewogICAgIGNhc2UgQUNQSV9JVlJTX1RZ
UEVfTUVNT1JZX0FMTDoKLSAgICAgICAgcmV0dXJuIHJlZ2lzdGVyX2V4Y2x1
c2lvbl9yYW5nZV9mb3JfYWxsX2RldmljZXMoCi0gICAgICAgICAgICBiYXNl
LCBsaW1pdCwgaXcsIGlyKTsKKyAgICAgICAgcmV0dXJuIHJlZ2lzdGVyX3Jh
bmdlX2Zvcl9hbGxfZGV2aWNlcygKKyAgICAgICAgICAgIGJhc2UsIGxpbWl0
LCBpdywgaXIsIGV4Y2x1c2lvbik7CiAKICAgICBjYXNlIEFDUElfSVZSU19U
WVBFX01FTU9SWV9PTkU6Ci0gICAgICAgIHJldHVybiBwYXJzZV9pdm1kX2Rl
dmljZV9zZWxlY3QoaXZtZF9ibG9jaywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBiYXNlLCBsaW1pdCwgaXcsIGlyKTsKKyAg
ICAgICAgcmV0dXJuIHBhcnNlX2l2bWRfZGV2aWNlX3NlbGVjdChpdm1kX2Js
b2NrLCBiYXNlLCBsaW1pdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpdywgaXIsIGV4Y2x1c2lvbik7CiAKICAgICBjYXNl
IEFDUElfSVZSU19UWVBFX01FTU9SWV9SQU5HRToKLSAgICAgICAgcmV0dXJu
IHBhcnNlX2l2bWRfZGV2aWNlX3JhbmdlKGl2bWRfYmxvY2ssCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlLCBsaW1pdCwg
aXcsIGlyKTsKKyAgICAgICAgcmV0dXJuIHBhcnNlX2l2bWRfZGV2aWNlX3Jh
bmdlKGl2bWRfYmxvY2ssIGJhc2UsIGxpbWl0LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaXcsIGlyLCBleGNsdXNpb24pOwog
CiAgICAgY2FzZSBBQ1BJX0lWUlNfVFlQRV9NRU1PUllfSU9NTVU6Ci0gICAg
ICAgIHJldHVybiBwYXJzZV9pdm1kX2RldmljZV9pb21tdShpdm1kX2Jsb2Nr
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFz
ZSwgbGltaXQsIGl3LCBpcik7CisgICAgICAgIHJldHVybiBwYXJzZV9pdm1k
X2RldmljZV9pb21tdShpdm1kX2Jsb2NrLCBiYXNlLCBsaW1pdCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl3LCBpciwgZXhj
bHVzaW9uKTsKIAogICAgIGRlZmF1bHQ6CiAgICAgICAgIEFNRF9JT01NVV9E
RUJVRygiSVZNRCBFcnJvcjogSW52YWxpZCBCbG9jayBUeXBlIVxuIik7Ci0t
LSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9wY2lfYW1kX2lvbW11
LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL3BjaV9hbWRf
aW9tbXUuYwpAQCAtMjM0LDYgKzIzNCw4IEBAIHN0YXRpYyBpbnQgX19tdXN0
X2NoZWNrIGFsbG9jYXRlX2RvbWFpbl8KICAgICByZXR1cm4gcmM7CiB9CiAK
K2ludCBfX3JlYWRfbW9zdGx5IGFtZF9pb21tdV9taW5fcGFnaW5nX21vZGUg
PSAxOworCiBzdGF0aWMgaW50IGFtZF9pb21tdV9kb21haW5faW5pdChzdHJ1
Y3QgZG9tYWluICpkKQogewogICAgIHN0cnVjdCBkb21haW5faW9tbXUgKmhk
ID0gZG9tX2lvbW11KGQpOwpAQCAtMjQ1LDExICsyNDcsMTMgQEAgc3RhdGlj
IGludCBhbWRfaW9tbXVfZG9tYWluX2luaXQoc3RydWN0CiAgICAgICogLSBI
Vk0gY291bGQgaW4gcHJpbmNpcGxlIHVzZSAzIG9yIDQgZGVwZW5kaW5nIG9u
IGhvdyBtdWNoIGd1ZXN0CiAgICAgICogICBwaHlzaWNhbCBhZGRyZXNzIHNw
YWNlIHdlIGdpdmUgaXQsIGJ1dCB0aGlzIGlzbid0IGtub3duIHlldCBzbyB1
c2UgNAogICAgICAqICAgdW5pbGF0ZXJhbGx5LgorICAgICAqIC0gVW5pdHkg
bWFwcyBtYXkgcmVxdWlyZSBhbiBldmVuIGhpZ2hlciBudW1iZXIuCiAgICAg
ICovCi0gICAgaGQtPmFyY2gucGFnaW5nX21vZGUgPSBhbWRfaW9tbXVfZ2V0
X3BhZ2luZ19tb2RlKAotICAgICAgICBpc19odm1fZG9tYWluKGQpCi0gICAg
ICAgID8gMXVsIDw8IChERUZBVUxUX0RPTUFJTl9BRERSRVNTX1dJRFRIIC0g
UEFHRV9TSElGVCkKLSAgICAgICAgOiBnZXRfdXBwZXJfbWZuX2JvdW5kKCkg
KyAxKTsKKyAgICBoZC0+YXJjaC5wYWdpbmdfbW9kZSA9IG1heChhbWRfaW9t
bXVfZ2V0X3BhZ2luZ19tb2RlKAorICAgICAgICAgICAgaXNfaHZtX2RvbWFp
bihkKQorICAgICAgICAgICAgPyAxdWwgPDwgKERFRkFVTFRfRE9NQUlOX0FE
RFJFU1NfV0lEVEggLSBQQUdFX1NISUZUKQorICAgICAgICAgICAgOiBnZXRf
dXBwZXJfbWZuX2JvdW5kKCkgKyAxKSwKKyAgICAgICAgYW1kX2lvbW11X21p
bl9wYWdpbmdfbW9kZSk7CiAKICAgICByZXR1cm4gMDsKIH0KLS0tIGEveGVu
L2luY2x1ZGUvYXNtLXg4Ni9odm0vc3ZtL2FtZC1pb21tdS1wcm90by5oCisr
KyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N2bS9hbWQtaW9tbXUtcHJv
dG8uaApAQCAtMTQwLDYgKzE0MCw4IEBAIGV4dGVybiBzdHJ1Y3QgaHBldF9z
YmRmIHsKICAgICB9IGluaXQ7CiB9IGhwZXRfc2JkZjsKIAorZXh0ZXJuIGlu
dCBhbWRfaW9tbXVfbWluX3BhZ2luZ19tb2RlOworCiBleHRlcm4gdm9pZCAq
c2hhcmVkX2ludHJlbWFwX3RhYmxlOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcg
KnNoYXJlZF9pbnRyZW1hcF9pbnVzZTsKIAo=

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.13-7.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.13-7.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvcDJtOiBpbnRyb2R1Y2UgcDJtX2lzX3NwZWNpYWwoKQoKU2VlaW5n
IHRoZSBzaW1pbGFyaXR5IG9mIGdyYW50LCBmb3JlaWduLCBhbmQgKHN1YnNl
cXVlbnRseSkgZGlyZWN0LU1NSU8KaGFuZGxpbmcsIGludHJvZHVjZSBhIG5l
dyBQMk0gdHlwZSBncm91cCBuYW1lZCAic3BlY2lhbCIgKGFzIGluICJuZWVk
aW5nCnNwZWNpYWwgYWNjZXNzb3JzIHRvIGNyZWF0ZS9kZXN0cm95IikuCgpB
bHNvIHVzZSAtRVBFUk0gaW5zdGVhZCBvZiBvdGhlciBlcnJvciBjb2RlcyBv
biB0aGUgdHdvIGRvbWFpbl9jcmFzaCgpCnBhdGhzIHRvdWNoZWQuCgpUaGlz
IGlzIHBhcnQgb2YgWFNBLTM3OC4KClNpZ25lZC1vZmYtYnk6IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFBhdWwgRHVy
cmFudCA8cGF1bEB4ZW4ub3JnPgoKLS0tIGEveGVuL2FyY2gveDg2L21tL3Ay
bS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYwpAQCAtODA3LDcgKzgw
Nyw3IEBAIHAybV9yZW1vdmVfcGFnZShzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJt
LAogICAgICAgICBmb3IgKCBpID0gMDsgaSA8ICgxVUwgPDwgcGFnZV9vcmRl
cik7IGkrKyApCiAgICAgICAgIHsKICAgICAgICAgICAgIHAybS0+Z2V0X2Vu
dHJ5KHAybSwgZ2ZuX2FkZChnZm4sIGkpLCAmdCwgJmEsIDAsIE5VTEwsIE5V
TEwpOwotICAgICAgICAgICAgaWYgKCAhcDJtX2lzX2dyYW50KHQpICYmICFw
Mm1faXNfc2hhcmVkKHQpICYmICFwMm1faXNfZm9yZWlnbih0KSApCisgICAg
ICAgICAgICBpZiAoICFwMm1faXNfc3BlY2lhbCh0KSAmJiAhcDJtX2lzX3No
YXJlZCh0KSApCiAgICAgICAgICAgICAgICAgc2V0X2dwZm5fZnJvbV9tZm4o
bWZuK2ksIElOVkFMSURfTTJQX0VOVFJZKTsKICAgICAgICAgfQogICAgIH0K
QEAgLTkzNCwxMyArOTM0LDEzIEBAIGd1ZXN0X3BoeXNtYXBfYWRkX2VudHJ5
KHN0cnVjdCBkb21haW4gKmQKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAmb3QsICZhLCAwLCBOVUxMLCBOVUxMKTsKICAgICAgICAgICAg
IEFTU0VSVCghcDJtX2lzX3NoYXJlZChvdCkpOwogICAgICAgICB9Ci0gICAg
ICAgIGlmICggcDJtX2lzX2dyYW50KG90KSB8fCBwMm1faXNfZm9yZWlnbihv
dCkgKQorICAgICAgICBpZiAoIHAybV9pc19zcGVjaWFsKG90KSApCiAgICAg
ICAgIHsKLSAgICAgICAgICAgIC8qIFJlYWxseSBzaG91bGRuJ3QgYmUgdW5t
YXBwaW5nIGdyYW50L2ZvcmVpZ24gbWFwcyB0aGlzIHdheSAqLworICAgICAg
ICAgICAgLyogRG9uJ3QgcGVybWl0IHVubWFwcGluZyBncmFudC9mb3JlaWdu
IHRoaXMgd2F5LiAqLwogICAgICAgICAgICAgZG9tYWluX2NyYXNoKGQpOwog
ICAgICAgICAgICAgcDJtX3VubG9jayhwMm0pOwogICAgICAgICAgICAgCi0g
ICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKKyAgICAgICAgICAgIHJldHVy
biAtRVBFUk07CiAgICAgICAgIH0KICAgICAgICAgZWxzZSBpZiAoIHAybV9p
c19yYW0ob3QpICYmICFwMm1faXNfcGFnZWQob3QpICkKICAgICAgICAgewpA
QCAtMTAzNCw4ICsxMDM0LDcgQEAgaW50IHAybV9jaGFuZ2VfdHlwZV9vbmUo
c3RydWN0IGRvbWFpbiAqZAogICAgIHN0cnVjdCBwMm1fZG9tYWluICpwMm0g
PSBwMm1fZ2V0X2hvc3RwMm0oZCk7CiAgICAgaW50IHJjOwogCi0gICAgQlVH
X09OKHAybV9pc19ncmFudChvdCkgfHwgcDJtX2lzX2dyYW50KG50KSk7Ci0g
ICAgQlVHX09OKHAybV9pc19mb3JlaWduKG90KSB8fCBwMm1faXNfZm9yZWln
bihudCkpOworICAgIEJVR19PTihwMm1faXNfc3BlY2lhbChvdCkgfHwgcDJt
X2lzX3NwZWNpYWwobnQpKTsKIAogICAgIGdmbl9sb2NrKHAybSwgZ2ZuLCAw
KTsKIApAQCAtMTI4MiwxMSArMTI4MSwxMSBAQCBzdGF0aWMgaW50IHNldF90
eXBlZF9wMm1fZW50cnkoc3RydWN0IGRvCiAgICAgICAgIGdmbl91bmxvY2so
cDJtLCBnZm4sIG9yZGVyKTsKICAgICAgICAgcmV0dXJuIGN1cl9vcmRlciAr
IDE7CiAgICAgfQotICAgIGlmICggcDJtX2lzX2dyYW50KG90KSB8fCBwMm1f
aXNfZm9yZWlnbihvdCkgKQorICAgIGlmICggcDJtX2lzX3NwZWNpYWwob3Qp
ICkKICAgICB7CiAgICAgICAgIGdmbl91bmxvY2socDJtLCBnZm4sIG9yZGVy
KTsKICAgICAgICAgZG9tYWluX2NyYXNoKGQpOwotICAgICAgICByZXR1cm4g
LUVOT0VOVDsKKyAgICAgICAgcmV0dXJuIC1FUEVSTTsKICAgICB9CiAgICAg
ZWxzZSBpZiAoIHAybV9pc19yYW0ob3QpICkKICAgICB7Ci0tLSBhL3hlbi9p
bmNsdWRlL2FzbS14ODYvcDJtLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4
Ni9wMm0uaApAQCAtMTQxLDYgKzE0MSwxMCBAQCB0eXBlZGVmIHVuc2lnbmVk
IGludCBwMm1fcXVlcnlfdDsKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB8IHAybV90b19tYXNrKHAybV9yYW1fbG9nZGlydHkpICkKICNkZWZpbmUg
UDJNX1NIQVJFRF9UWVBFUyAgIChwMm1fdG9fbWFzayhwMm1fcmFtX3NoYXJl
ZCkpCiAKKy8qIFR5cGVzIGVzdGFibGlzaGVkL2NsZWFuZWQgdXAgdmlhIHNw
ZWNpYWwgYWNjZXNzb3JzLiAqLworI2RlZmluZSBQMk1fU1BFQ0lBTF9UWVBF
UyAoUDJNX0dSQU5UX1RZUEVTIHwgXAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcDJtX3RvX21hc2socDJtX21hcF9mb3JlaWduKSkKKwogLyogVmFs
aWQgdHlwZXMgbm90IG5lY2Vzc2FyaWx5IGFzc29jaWF0ZWQgd2l0aCBhICh2
YWxpZCkgTUZOLiAqLwogI2RlZmluZSBQMk1fSU5WQUxJRF9NRk5fVFlQRVMg
KFAyTV9QT0RfVFlQRVMgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfCBwMm1fdG9fbWFzayhwMm1fbW1pb19k
aXJlY3QpIFwKQEAgLTE2OSw2ICsxNzMsNyBAQCB0eXBlZGVmIHVuc2lnbmVk
IGludCBwMm1fcXVlcnlfdDsKICNkZWZpbmUgcDJtX2lzX3BhZ2VkKF90KSAg
ICAocDJtX3RvX21hc2soX3QpICYgUDJNX1BBR0VEX1RZUEVTKQogI2RlZmlu
ZSBwMm1faXNfc2hhcmFibGUoX3QpIChwMm1fdG9fbWFzayhfdCkgJiBQMk1f
U0hBUkFCTEVfVFlQRVMpCiAjZGVmaW5lIHAybV9pc19zaGFyZWQoX3QpICAg
KHAybV90b19tYXNrKF90KSAmIFAyTV9TSEFSRURfVFlQRVMpCisjZGVmaW5l
IHAybV9pc19zcGVjaWFsKF90KSAgKHAybV90b19tYXNrKF90KSAmIFAyTV9T
UEVDSUFMX1RZUEVTKQogI2RlZmluZSBwMm1faXNfYnJva2VuKF90KSAgIChw
Mm1fdG9fbWFzayhfdCkgJiBQMk1fQlJPS0VOX1RZUEVTKQogI2RlZmluZSBw
Mm1faXNfZm9yZWlnbihfdCkgIChwMm1fdG9fbWFzayhfdCkgJiBwMm1fdG9f
bWFzayhwMm1fbWFwX2ZvcmVpZ24pKQogCg==

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.13-8.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.13-8.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvcDJtOiBndWFyZCAoaW4gcGFydGljdWxhcikgaWRlbnRpdHkgbWFw
cGluZyBlbnRyaWVzCgpTdWNoIGVudHJpZXMsIGNyZWF0ZWQgYnkgc2V0X2lk
ZW50aXR5X3AybV9lbnRyeSgpLCBzaG91bGQgb25seSBiZQpkZXN0cm95ZWQg
YnkgY2xlYXJfaWRlbnRpdHlfcDJtX2VudHJ5KCkuIEhvd2V2ZXIsIHNpbWls
YXJseSwgZW50cmllcwpjcmVhdGVkIGJ5IHNldF9tbWlvX3AybV9lbnRyeSgp
IHNob3VsZCBvbmx5IGJlIHRvcm4gZG93biBieQpjbGVhcl9tbWlvX3AybV9l
bnRyeSgpLCBzbyB0aGUgbG9naWMgZ2V0cyBiYXNlZCB1cG9uIHAybV9tbWlv
X2RpcmVjdCBhcwp0aGUgZW50cnkgdHlwZSAoc2VwYXJhdGlvbiBiZXR3ZWVu
ICJvcmRpbmFyeSIgYW5kIDE6MSBtYXBwaW5ncyB3b3VsZApyZXF1aXJlIGEg
ZnVydGhlciBpbmRpY2F0b3IgdG8gdGVsbCBhcGFydCB0aGUgdHdvKS4KCkFz
IHRvIHRoZSBndWVzdF9yZW1vdmVfcGFnZSgpIGNoYW5nZSwgY29tbWl0IDQ4
ZGZiMjk3YTIwYSAoIng4Ni9QVkg6CmFsbG93IGd1ZXN0X3JlbW92ZV9wYWdl
IHRvIHJlbW92ZSBwMm1fbW1pb19kaXJlY3QgcGFnZXMiKSwgd2hpY2gKaW50
cm9kdWNlZCB0aGUgY2FsbCB0byBjbGVhcl9tbWlvX3AybV9lbnRyeSgpLCBj
bGFpbWVkIHRoaXMgd2FzIGRvbmUgZm9yCmh3ZG9tIG9ubHkgd2l0aG91dCB0
aGlzIGFjdHVhbGx5IGhhdmluZyBiZWVuIHRoZSBjYXNlLiBIb3dldmVyLCB0
aGlzCmNvZGUgc2hvdWxkbid0IGJlIHRoZXJlIGluIHRoZSBmaXJzdCBwbGFj
ZSwgYXMgTU1JTyBlbnRyaWVzIHNob3VsZG4ndCBiZQpkcm9wcGVkIHRoaXMg
d2F5LiBBdm9pZCB0cmlnZ2VyaW5nIHRoZSB3YXJuaW5nIGFnYWluIHRoYXQg
NDhkZmIyOTdhMjBhCnNpbGVuY2VkIGJ5IGFuIGFkanVzdG1lbnQgdG8geGVu
bWVtX2FkZF90b19waHlzbWFwX29uZSgpIGluc3RlYWQuCgpOb3RlIHRoYXQg
Z3Vlc3RfcGh5c21hcF9tYXJrX3BvcHVsYXRlX29uX2RlbWFuZCgpIGdldHMg
dGlnaHRlbmVkIGJleW9uZAp0aGUgaW1tZWRpYXRlIHB1cnBvc2Ugb2YgdGhp
cyBjaGFuZ2UuCgpOb3RlIGFsc28gdGhhdCBJIGRpZG4ndCBpbnNwZWN0IGNv
ZGUgd2hpY2ggaXNuJ3Qgc2VjdXJpdHkgc3VwcG9ydGVkLAplLmcuIHNoYXJp
bmcsIHBhZ2luZywgb3IgYWx0cDJtLgoKVGhpcyBpcyBDVkUtMjAyMS0yODY5
NCAvIHBhcnQgb2YgWFNBLTM3OC4KClNpZ25lZC1vZmYtYnk6IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFBhdWwgRHVy
cmFudCA8cGF1bEB4ZW4ub3JnPgoKLS0tIGEveGVuL2FyY2gveDg2L21tLmMK
KysrIGIveGVuL2FyY2gveDg2L21tLmMKQEAgLTQ3NzAsNyArNDc3MCw5IEBA
IGludCB4ZW5tZW1fYWRkX3RvX3BoeXNtYXBfb25lKAogCiAgICAgLyogUmVt
b3ZlIHByZXZpb3VzbHkgbWFwcGVkIHBhZ2UgaWYgaXQgd2FzIHByZXNlbnQu
ICovCiAgICAgcHJldl9tZm4gPSBnZXRfZ2ZuKGQsIGdmbl94KGdwZm4pLCAm
cDJtdCk7Ci0gICAgaWYgKCBtZm5fdmFsaWQocHJldl9tZm4pICkKKyAgICBp
ZiAoIHAybXQgPT0gcDJtX21taW9fZGlyZWN0ICkKKyAgICAgICAgcmMgPSAt
RVBFUk07CisgICAgZWxzZSBpZiAoIG1mbl92YWxpZChwcmV2X21mbikgKQog
ICAgIHsKICAgICAgICAgaWYgKCBpc194ZW5faGVhcF9tZm4ocHJldl9tZm4p
ICkKICAgICAgICAgICAgIC8qIFhlbiBoZWFwIGZyYW1lcyBhcmUgc2ltcGx5
IHVuaG9va2VkIGZyb20gdGhpcyBwaHlzIHNsb3QuICovCi0tLSBhL3hlbi9h
cmNoL3g4Ni9tbS9wMm0uYworKysgYi94ZW4vYXJjaC94ODYvbW0vcDJtLmMK
QEAgLTc5Niw3ICs3OTYsOCBAQCBwMm1fcmVtb3ZlX3BhZ2Uoc3RydWN0IHAy
bV9kb21haW4gKnAybSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICZjdXJfb3JkZXIsIE5VTEwpOwogCiAgICAgICAgIGlm
ICggcDJtX2lzX3ZhbGlkKHQpICYmCi0gICAgICAgICAgICAgKCFtZm5fdmFs
aWQoX21mbihtZm4pKSB8fCBtZm4gKyBpICE9IG1mbl94KG1mbl9yZXR1cm4p
KSApCisgICAgICAgICAgICAgKCFtZm5fdmFsaWQoX21mbihtZm4pKSB8fCB0
ID09IHAybV9tbWlvX2RpcmVjdCB8fAorICAgICAgICAgICAgICBtZm4gKyBp
ICE9IG1mbl94KG1mbl9yZXR1cm4pKSApCiAgICAgICAgICAgICByZXR1cm4g
LUVJTFNFUTsKIAogICAgICAgICBpICs9ICgxVUwgPDwgY3VyX29yZGVyKSAt
ICgoZ2ZuX2wgKyBpKSAmICgoMVVMIDw8IGN1cl9vcmRlcikgLSAxKSk7CkBA
IC04OTAsNyArODkxLDcgQEAgZ3Vlc3RfcGh5c21hcF9hZGRfZW50cnkoc3Ry
dWN0IGRvbWFpbiAqZAogICAgIGlmICggcDJtX2lzX2ZvcmVpZ24odCkgKQog
ICAgICAgICByZXR1cm4gLUVJTlZBTDsKIAotICAgIGlmICggIW1mbl92YWxp
ZChtZm4pICkKKyAgICBpZiAoICFtZm5fdmFsaWQobWZuKSB8fCB0ID09IHAy
bV9tbWlvX2RpcmVjdCApCiAgICAgewogICAgICAgICBBU1NFUlRfVU5SRUFD
SEFCTEUoKTsKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CkBAIC05MzYsNyAr
OTM3LDcgQEAgZ3Vlc3RfcGh5c21hcF9hZGRfZW50cnkoc3RydWN0IGRvbWFp
biAqZAogICAgICAgICB9CiAgICAgICAgIGlmICggcDJtX2lzX3NwZWNpYWwo
b3QpICkKICAgICAgICAgewotICAgICAgICAgICAgLyogRG9uJ3QgcGVybWl0
IHVubWFwcGluZyBncmFudC9mb3JlaWduIHRoaXMgd2F5LiAqLworICAgICAg
ICAgICAgLyogRG9uJ3QgcGVybWl0IHVubWFwcGluZyBncmFudC9mb3JlaWdu
L2RpcmVjdC1NTUlPIHRoaXMgd2F5LiAqLwogICAgICAgICAgICAgZG9tYWlu
X2NyYXNoKGQpOwogICAgICAgICAgICAgcDJtX3VubG9jayhwMm0pOwogICAg
ICAgICAgICAgCkBAIC0xMzg1LDggKzEzODYsOCBAQCBpbnQgc2V0X2lkZW50
aXR5X3AybV9lbnRyeShzdHJ1Y3QgZG9tYWluCiAgKiAgICBvcmRlcisxICBm
b3IgY2FsbGVyIHRvIHJldHJ5IHdpdGggb3JkZXIgKGd1YXJhbnRlZWQgc21h
bGxlciB0aGFuCiAgKiAgICAgICAgICAgICB0aGUgb3JkZXIgdmFsdWUgcGFz
c2VkIGluKQogICovCi1pbnQgY2xlYXJfbW1pb19wMm1fZW50cnkoc3RydWN0
IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBnZm5fbCwgbWZuX3QgbWZuLAot
ICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBvcmRlcikK
K3N0YXRpYyBpbnQgY2xlYXJfbW1pb19wMm1fZW50cnkoc3RydWN0IGRvbWFp
biAqZCwgdW5zaWduZWQgbG9uZyBnZm5fbCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbWZuX3QgbWZuLCB1bnNpZ25lZCBpbnQgb3JkZXIp
CiB7CiAgICAgaW50IHJjID0gLUVJTlZBTDsKICAgICBnZm5fdCBnZm4gPSBf
Z2ZuKGdmbl9sKTsKLS0tIGEveGVuL2FyY2gveDg2L21tL3AybS1wb2QuYwor
KysgYi94ZW4vYXJjaC94ODYvbW0vcDJtLXBvZC5jCkBAIC0xMjk1LDE3ICsx
Mjk1LDE3IEBAIGd1ZXN0X3BoeXNtYXBfbWFya19wb3B1bGF0ZV9vbl9kZW1h
bmQoc3QKIAogICAgICAgICBwMm0tPmdldF9lbnRyeShwMm0sIGdmbl9hZGQo
Z2ZuLCBpKSwgJm90LCAmYSwgMCwgJmN1cl9vcmRlciwgTlVMTCk7CiAgICAg
ICAgIG4gPSAxVUwgPDwgbWluKG9yZGVyLCBjdXJfb3JkZXIpOwotICAgICAg
ICBpZiAoIHAybV9pc19yYW0ob3QpICkKKyAgICAgICAgaWYgKCBvdCA9PSBw
Mm1fcG9wdWxhdGVfb25fZGVtYW5kICkKKyAgICAgICAgeworICAgICAgICAg
ICAgLyogQ291bnQgaG93IG1hbnkgUG9EIGVudHJpZXMgd2UnbGwgYmUgcmVw
bGFjaW5nIGlmIHN1Y2Nlc3NmdWwgKi8KKyAgICAgICAgICAgIHBvZF9jb3Vu
dCArPSBuOworICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKCBvdCAhPSBw
Mm1faW52YWxpZCAmJiBvdCAhPSBwMm1fbW1pb19kbSApCiAgICAgICAgIHsK
ICAgICAgICAgICAgIFAyTV9ERUJVRygiZ2ZuX3RvX21mbiByZXR1cm5lZCB0
eXBlICVkIVxuIiwgb3QpOwogICAgICAgICAgICAgcmMgPSAtRUJVU1k7CiAg
ICAgICAgICAgICBnb3RvIG91dDsKICAgICAgICAgfQotICAgICAgICBlbHNl
IGlmICggb3QgPT0gcDJtX3BvcHVsYXRlX29uX2RlbWFuZCApCi0gICAgICAg
IHsKLSAgICAgICAgICAgIC8qIENvdW50IGhvdyBtYW4gUG9EIGVudHJpZXMg
d2UnbGwgYmUgcmVwbGFjaW5nIGlmIHN1Y2Nlc3NmdWwgKi8KLSAgICAgICAg
ICAgIHBvZF9jb3VudCArPSBuOwotICAgICAgICB9CiAgICAgfQogCiAgICAg
LyogTm93LCBhY3R1YWxseSBkbyB0aGUgdHdvLXdheSBtYXBwaW5nICovCi0t
LSBhL3hlbi9jb21tb24vbWVtb3J5LmMKKysrIGIveGVuL2NvbW1vbi9tZW1v
cnkuYwpAQCAtMzI4LDcgKzMyOCw3IEBAIGludCBndWVzdF9yZW1vdmVfcGFn
ZShzdHJ1Y3QgZG9tYWluICpkLAogICAgIH0KICAgICBpZiAoIHAybXQgPT0g
cDJtX21taW9fZGlyZWN0ICkKICAgICB7Ci0gICAgICAgIHJjID0gY2xlYXJf
bW1pb19wMm1fZW50cnkoZCwgZ21mbiwgbWZuLCBQQUdFX09SREVSXzRLKTsK
KyAgICAgICAgcmMgPSAtRVBFUk07CiAgICAgICAgIGdvdG8gb3V0X3B1dF9n
Zm47CiAgICAgfQogI2Vsc2UKQEAgLTE3MjAsNiArMTcyMCwxNSBAQCBpbnQg
Y2hlY2tfZ2V0X3BhZ2VfZnJvbV9nZm4oc3RydWN0IGRvbWFpCiAgICAgICAg
IHJldHVybiAtRUFHQUlOOwogICAgIH0KICNlbmRpZgorI2lmZGVmIENPTkZJ
R19YODYKKyAgICBpZiAoIHAybXQgPT0gcDJtX21taW9fZGlyZWN0ICkKKyAg
ICB7CisgICAgICAgIGlmICggcGFnZSApCisgICAgICAgICAgICBwdXRfcGFn
ZShwYWdlKTsKKworICAgICAgICByZXR1cm4gLUVQRVJNOworICAgIH0KKyNl
bmRpZgogCiAgICAgaWYgKCAhcGFnZSApCiAgICAgICAgIHJldHVybiAtRUlO
VkFMOwotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L3AybS5oCisrKyBiL3hl
bi9pbmNsdWRlL2FzbS14ODYvcDJtLmgKQEAgLTE0Myw3ICsxNDMsOCBAQCB0
eXBlZGVmIHVuc2lnbmVkIGludCBwMm1fcXVlcnlfdDsKIAogLyogVHlwZXMg
ZXN0YWJsaXNoZWQvY2xlYW5lZCB1cCB2aWEgc3BlY2lhbCBhY2Nlc3NvcnMu
ICovCiAjZGVmaW5lIFAyTV9TUEVDSUFMX1RZUEVTIChQMk1fR1JBTlRfVFlQ
RVMgfCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBwMm1fdG9fbWFz
ayhwMm1fbWFwX2ZvcmVpZ24pKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcDJtX3RvX21hc2socDJtX21hcF9mb3JlaWduKSB8IFwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHAybV90b19tYXNrKHAybV9tbWlvX2RpcmVj
dCkpCiAKIC8qIFZhbGlkIHR5cGVzIG5vdCBuZWNlc3NhcmlseSBhc3NvY2lh
dGVkIHdpdGggYSAodmFsaWQpIE1GTi4gKi8KICNkZWZpbmUgUDJNX0lOVkFM
SURfTUZOX1RZUEVTIChQMk1fUE9EX1RZUEVTICAgICAgICAgICAgICAgICAg
XApAQCAtNjQ5LDggKzY1MCw2IEBAIGludCBzZXRfZm9yZWlnbl9wMm1fZW50
cnkoc3RydWN0IGRvbWFpbgogLyogU2V0IG1taW8gYWRkcmVzc2VzIGluIHRo
ZSBwMm0gdGFibGUgKGZvciBwYXNzLXRocm91Z2gpICovCiBpbnQgc2V0X21t
aW9fcDJtX2VudHJ5KHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcg
Z2ZuLCBtZm5fdCBtZm4sCiAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln
bmVkIGludCBvcmRlciwgcDJtX2FjY2Vzc190IGFjY2Vzcyk7Ci1pbnQgY2xl
YXJfbW1pb19wMm1fZW50cnkoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQg
bG9uZyBnZm4sIG1mbl90IG1mbiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICB1bnNpZ25lZCBpbnQgb3JkZXIpOwogCiAvKiBTZXQgaWRlbnRpdHkgYWRk
cmVzc2VzIGluIHRoZSBwMm0gdGFibGUgKGZvciBwYXNzLXRocm91Z2gpICov
CiBpbnQgc2V0X2lkZW50aXR5X3AybV9lbnRyeShzdHJ1Y3QgZG9tYWluICpk
LCB1bnNpZ25lZCBsb25nIGdmbiwK

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.14-1.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.14-1.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBBTUQvSU9NTVU6IGNvcnJlY3QgZ2xvYmFsIGV4Y2x1c2lvbiByYW5nZSBl
eHRlbmRpbmcKCkJlc2lkZXMgdW5pdHkgbWFwcGluZyByZWdpb25zLCB0aGUg
QU1EIElPTU1VIHNwZWMgYWxzbyBwcm92aWRlcyBmb3IKZXhjbHVzaW9uIHJh
bmdlcyAoYXJlYXMgb2YgbWVtb3J5IG5vdCB0byBiZSBzdWJqZWN0IHRvIERN
QSB0cmFuc2xhdGlvbikKdG8gYmUgc3BlY2lmaWVkIGJ5IGZpcm13YXJlIGlu
IHRoZSBBQ1BJIHRhYmxlcy4gVGhlIHNwZWMgZG9lcyBub3QgcHV0CmFueSBj
b25zdHJhaW50cyBvbiB0aGUgbnVtYmVyIG9mIHN1Y2ggcmVnaW9ucy4KCkJs
aW5kbHkgYXNzdW1pbmcgYWxsIGFkZHJlc3NlcyBiZXR3ZWVuIGFueSB0d28g
c3VjaCByYW5nZXMgc2hvdWxkIGFsc28KYmUgZXhjbHVkZWQgY2FuJ3QgYmUg
cmlnaHQuIFNpbmNlIGhhcmR3YXJlIGhhcyByb29tIGZvciBqdXN0IGEgc2lu
Z2xlCnN1Y2ggcmFuZ2UgKGNvbXByaXNlZCBvZiB0aGUgRXhjbHVzaW9uIEJh
c2UgUmVnaXN0ZXIgYW5kIHRoZSBFeGNsdXNpb24KUmFuZ2UgTGltaXQgUmVn
aXN0ZXIpLCBjb21iaW5lIG9ubHkgYWRqYWNlbnQgb3Igb3ZlcmxhcHBpbmcg
cmVnaW9ucyAoZm9yCm5vdzsgdGhpcyBtYXkgcmVxdWlyZSBmdXJ0aGVyIGFk
anVzdG1lbnQgaW4gY2FzZSB0YWJsZSBlbnRyaWVzIGFyZW4ndApzb3J0ZWQg
YnkgYWRkcmVzcykgd2l0aCBtYXRjaGluZyBleGNsdXNpb25fYWxsb3dfYWxs
IHNldHRpbmdzLiBUaGlzCnJlcXVpcmVzIGJ1YmJsaW5nIHVwIGVycm9yIGlu
ZGljYXRvcnMsIHN1Y2ggdGhhdCBJT01NVSBpbml0IGNhbiBiZQpmYWlsZWQg
d2hlbiBjb25jYXRlbmF0aW9uIHdhc24ndCBwb3NzaWJsZS4KCkZ1cnRoZXJt
b3JlLCBzaW5jZSB0aGUgZXhjbHVzaW9uIHJhbmdlIHNwZWNpZmllZCBpbiBJ
T01NVSByZWdpc3RlcnMKaW1wbGllcyBSL1cgYWNjZXNzLCByZWplY3QgcmVx
dWVzdHMgYXNraW5nIGZvciBsZXNzIHBlcm1pc3Npb25zICh0aGlzCndpbGwg
YmUgYnJvdWdodCBjbG9zZXIgdG8gdGhlIHNwZWMgYnkgYSBzdWJzZXF1ZW50
IGNoYW5nZSkuCgpUaGlzIGlzIHBhcnQgb2YgWFNBLTM3OCAvIENWRS0yMDIx
LTI4Njk1LgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpSZXZpZXdlZC1ieTogUGF1bCBEdXJyYW50IDxwYXVsQHhl
bi5vcmc+CgotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9t
bXVfYWNwaS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9p
b21tdV9hY3BpLmMKQEAgLTExNywxMiArMTE3LDIxIEBAIHN0YXRpYyBzdHJ1
Y3QgYW1kX2lvbW11ICogX19pbml0IGZpbmRfaW8KICAgICByZXR1cm4gTlVM
TDsKIH0KIAotc3RhdGljIHZvaWQgX19pbml0IHJlc2VydmVfaW9tbXVfZXhj
bHVzaW9uX3JhbmdlKAotICAgIHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LCB1
aW50NjRfdCBiYXNlLCB1aW50NjRfdCBsaW1pdCkKK3N0YXRpYyBpbnQgX19p
bml0IHJlc2VydmVfaW9tbXVfZXhjbHVzaW9uX3JhbmdlKAorICAgIHN0cnVj
dCBhbWRfaW9tbXUgKmlvbW11LCB1aW50NjRfdCBiYXNlLCB1aW50NjRfdCBs
aW1pdCwKKyAgICBib29sIGFsbCwgYm9vbCBpdywgYm9vbCBpcikKIHsKKyAg
ICBpZiAoICFpciB8fCAhaXcgKQorICAgICAgICByZXR1cm4gLUVQRVJNOwor
CiAgICAgLyogbmVlZCB0byBleHRlbmQgZXhjbHVzaW9uIHJhbmdlPyAqLwog
ICAgIGlmICggaW9tbXUtPmV4Y2x1c2lvbl9lbmFibGUgKQogICAgIHsKKyAg
ICAgICAgaWYgKCBpb21tdS0+ZXhjbHVzaW9uX2xpbWl0ICsgUEFHRV9TSVpF
IDwgYmFzZSB8fAorICAgICAgICAgICAgIGxpbWl0ICsgUEFHRV9TSVpFIDwg
aW9tbXUtPmV4Y2x1c2lvbl9iYXNlIHx8CisgICAgICAgICAgICAgaW9tbXUt
PmV4Y2x1c2lvbl9hbGxvd19hbGwgIT0gYWxsICkKKyAgICAgICAgICAgIHJl
dHVybiAtRUJVU1k7CisKICAgICAgICAgaWYgKCBpb21tdS0+ZXhjbHVzaW9u
X2Jhc2UgPCBiYXNlICkKICAgICAgICAgICAgIGJhc2UgPSBpb21tdS0+ZXhj
bHVzaW9uX2Jhc2U7CiAgICAgICAgIGlmICggaW9tbXUtPmV4Y2x1c2lvbl9s
aW1pdCA+IGxpbWl0ICkKQEAgLTEzMCwxNiArMTM5LDExIEBAIHN0YXRpYyB2
b2lkIF9faW5pdCByZXNlcnZlX2lvbW11X2V4Y2x1c2kKICAgICB9CiAKICAg
ICBpb21tdS0+ZXhjbHVzaW9uX2VuYWJsZSA9IElPTU1VX0NPTlRST0xfRU5B
QkxFRDsKKyAgICBpb21tdS0+ZXhjbHVzaW9uX2FsbG93X2FsbCA9IGFsbDsK
ICAgICBpb21tdS0+ZXhjbHVzaW9uX2Jhc2UgPSBiYXNlOwogICAgIGlvbW11
LT5leGNsdXNpb25fbGltaXQgPSBsaW1pdDsKLX0KIAotc3RhdGljIHZvaWQg
X19pbml0IHJlc2VydmVfaW9tbXVfZXhjbHVzaW9uX3JhbmdlX2FsbCgKLSAg
ICBzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwKLSAgICB1bnNpZ25lZCBsb25n
IGJhc2UsIHVuc2lnbmVkIGxvbmcgbGltaXQpCi17Ci0gICAgcmVzZXJ2ZV9p
b21tdV9leGNsdXNpb25fcmFuZ2UoaW9tbXUsIGJhc2UsIGxpbWl0KTsKLSAg
ICBpb21tdS0+ZXhjbHVzaW9uX2FsbG93X2FsbCA9IElPTU1VX0NPTlRST0xf
RU5BQkxFRDsKKyAgICByZXR1cm4gMDsKIH0KIAogc3RhdGljIHZvaWQgX19p
bml0IHJlc2VydmVfdW5pdHlfbWFwX2Zvcl9kZXZpY2UoCkBAIC0xNzcsNiAr
MTgxLDcgQEAgc3RhdGljIGludCBfX2luaXQgcmVnaXN0ZXJfZXhjbHVzaW9u
X3JhbgogICAgIHVuc2lnbmVkIGxvbmcgcmFuZ2VfdG9wLCBpb21tdV90b3As
IGxlbmd0aDsKICAgICBzdHJ1Y3QgYW1kX2lvbW11ICppb21tdTsKICAgICB1
bnNpZ25lZCBpbnQgYmRmOworICAgIGludCByYyA9IDA7CiAKICAgICAvKiBp
cyBwYXJ0IG9mIGV4Y2x1c2lvbiByYW5nZSBpbnNpZGUgb2YgSU9NTVUgdmly
dHVhbCBhZGRyZXNzIHNwYWNlPyAqLwogICAgIC8qIG5vdGU6ICdsaW1pdCcg
cGFyYW1ldGVyIGlzIGFzc3VtZWQgdG8gYmUgcGFnZS1hbGlnbmVkICovCkBA
IC0xOTgsMTAgKzIwMywxNSBAQCBzdGF0aWMgaW50IF9faW5pdCByZWdpc3Rl
cl9leGNsdXNpb25fcmFuCiAgICAgaWYgKCBsaW1pdCA+PSBpb21tdV90b3Ag
KQogICAgIHsKICAgICAgICAgZm9yX2VhY2hfYW1kX2lvbW11KCBpb21tdSAp
Ci0gICAgICAgICAgICByZXNlcnZlX2lvbW11X2V4Y2x1c2lvbl9yYW5nZV9h
bGwoaW9tbXUsIGJhc2UsIGxpbWl0KTsKKyAgICAgICAgeworICAgICAgICAg
ICAgcmMgPSByZXNlcnZlX2lvbW11X2V4Y2x1c2lvbl9yYW5nZShpb21tdSwg
YmFzZSwgbGltaXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHRydWUgLyogYWxsICovLCBpdywgaXIpOworICAg
ICAgICAgICAgaWYgKCByYyApCisgICAgICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIH0KICAgICB9CiAKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4g
cmM7CiB9CiAKIHN0YXRpYyBpbnQgX19pbml0IHJlZ2lzdGVyX2V4Y2x1c2lv
bl9yYW5nZV9mb3JfZGV2aWNlKApAQCAtMjEyLDYgKzIyMiw3IEBAIHN0YXRp
YyBpbnQgX19pbml0IHJlZ2lzdGVyX2V4Y2x1c2lvbl9yYW4KICAgICB1bnNp
Z25lZCBsb25nIHJhbmdlX3RvcCwgaW9tbXVfdG9wLCBsZW5ndGg7CiAgICAg
c3RydWN0IGFtZF9pb21tdSAqaW9tbXU7CiAgICAgdTE2IHJlcTsKKyAgICBp
bnQgcmMgPSAwOwogCiAgICAgaW9tbXUgPSBmaW5kX2lvbW11X2Zvcl9kZXZp
Y2Uoc2VnLCBiZGYpOwogICAgIGlmICggIWlvbW11ICkKQEAgLTI0MSwxMiAr
MjUyLDEzIEBAIHN0YXRpYyBpbnQgX19pbml0IHJlZ2lzdGVyX2V4Y2x1c2lv
bl9yYW4KICAgICAvKiByZWdpc3RlciBJT01NVSBleGNsdXNpb24gcmFuZ2Ug
c2V0dGluZ3MgZm9yIGRldmljZSAqLwogICAgIGlmICggbGltaXQgPj0gaW9t
bXVfdG9wICApCiAgICAgewotICAgICAgICByZXNlcnZlX2lvbW11X2V4Y2x1
c2lvbl9yYW5nZShpb21tdSwgYmFzZSwgbGltaXQpOworICAgICAgICByYyA9
IHJlc2VydmVfaW9tbXVfZXhjbHVzaW9uX3JhbmdlKGlvbW11LCBiYXNlLCBs
aW1pdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBmYWxzZSAvKiBhbGwgKi8sIGl3LCBpcik7CiAgICAgICAgIGl2cnNf
bWFwcGluZ3NbYmRmXS5kdGVfYWxsb3dfZXhjbHVzaW9uID0gdHJ1ZTsKICAg
ICAgICAgaXZyc19tYXBwaW5nc1tyZXFdLmR0ZV9hbGxvd19leGNsdXNpb24g
PSB0cnVlOwogICAgIH0KIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBy
YzsKIH0KIAogc3RhdGljIGludCBfX2luaXQgcmVnaXN0ZXJfZXhjbHVzaW9u
X3JhbmdlX2Zvcl9pb21tdV9kZXZpY2VzKApAQCAtMjU2LDYgKzI2OCw3IEBA
IHN0YXRpYyBpbnQgX19pbml0IHJlZ2lzdGVyX2V4Y2x1c2lvbl9yYW4KICAg
ICB1bnNpZ25lZCBsb25nIHJhbmdlX3RvcCwgaW9tbXVfdG9wLCBsZW5ndGg7
CiAgICAgdW5zaWduZWQgaW50IGJkZjsKICAgICB1MTYgcmVxOworICAgIGlu
dCByYyA9IDA7CiAKICAgICAvKiBpcyBwYXJ0IG9mIGV4Y2x1c2lvbiByYW5n
ZSBpbnNpZGUgb2YgSU9NTVUgdmlydHVhbCBhZGRyZXNzIHNwYWNlPyAqLwog
ICAgIC8qIG5vdGU6ICdsaW1pdCcgcGFyYW1ldGVyIGlzIGFzc3VtZWQgdG8g
YmUgcGFnZS1hbGlnbmVkICovCkBAIC0yODYsOCArMjk5LDEwIEBAIHN0YXRp
YyBpbnQgX19pbml0IHJlZ2lzdGVyX2V4Y2x1c2lvbl9yYW4KIAogICAgIC8q
IHJlZ2lzdGVyIElPTU1VIGV4Y2x1c2lvbiByYW5nZSBzZXR0aW5ncyAqLwog
ICAgIGlmICggbGltaXQgPj0gaW9tbXVfdG9wICkKLSAgICAgICAgcmVzZXJ2
ZV9pb21tdV9leGNsdXNpb25fcmFuZ2VfYWxsKGlvbW11LCBiYXNlLCBsaW1p
dCk7Ci0gICAgcmV0dXJuIDA7CisgICAgICAgIHJjID0gcmVzZXJ2ZV9pb21t
dV9leGNsdXNpb25fcmFuZ2UoaW9tbXUsIGJhc2UsIGxpbWl0LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgLyog
YWxsICovLCBpdywgaXIpOworCisgICAgcmV0dXJuIHJjOwogfQogCiBzdGF0
aWMgaW50IF9faW5pdCBwYXJzZV9pdm1kX2RldmljZV9zZWxlY3QoCg==

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.14-2.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.14-2.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBBTUQvSU9NTVU6IGNvcnJlY3QgZGV2aWNlIHVuaXR5IG1hcCBoYW5kbGlu
ZwoKQmxpbmRseSBhc3N1bWluZyBhbGwgYWRkcmVzc2VzIGJldHdlZW4gYW55
IHR3byBzdWNoIHJhbmdlcywgc3BlY2lmaWVkIGJ5CmZpcm13YXJlIGluIHRo
ZSBBQ1BJIHRhYmxlcywgc2hvdWxkIGFsc28gYmUgdW5pdHktbWFwcGVkIGNh
bid0IGJlIHJpZ2h0LgpOb3IgY2FuIGl0IGJlIGNvcnJlY3QgdG8gbWVyZ2Ug
cmFuZ2VzIHdpdGggZGlmZmVyaW5nIHBlcm1pc3Npb25zLiBUcmFjawpyYW5n
ZXMgaW5kaXZpZHVhbGx5OyBkb24ndCBtZXJnZSBhdCBhbGwsIGJ1dCBjaGVj
ayBmb3Igb3ZlcmxhcHMgaW5zdGVhZC4KVGhpcyByZXF1aXJlcyBidWJibGlu
ZyB1cCBlcnJvciBpbmRpY2F0b3JzLCBzdWNoIHRoYXQgSU9NTVUgaW5pdCBj
YW4gYmUKZmFpbGVkIHdoZW4gYWxsb2NhdGlvbiBvZiBhIG5ldyB0cmFja2lu
ZyBzdHJ1Y3Qgd2Fzbid0IHBvc3NpYmxlLCBvciBhbgpvdmVybGFwIHdhcyBk
ZXRlY3RlZC4KCkF0IHRoaXMgb2NjYXNpb24gYWxzbyBzdG9wIGlnbm9yaW5n
CmFtZF9pb21tdV9yZXNlcnZlX2RvbWFpbl91bml0eV9tYXAoKSdzIHJldHVy
biB2YWx1ZS4KClRoaXMgaXMgcGFydCBvZiBYU0EtMzc4IC8gQ1ZFLTIwMjEt
Mjg2OTUuCgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hA
c3VzZS5jb20+ClJldmlld2VkLWJ5OiBHZW9yZ2UgRHVubGFwIDxnZW9yZ2Uu
ZHVubGFwQGNpdHJpeC5jb20+ClJldmlld2VkLWJ5OiBQYXVsIER1cnJhbnQg
PHBhdWxAeGVuLm9yZz4KCi0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdo
L2FtZC9pb21tdS5oCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2Ft
ZC9pb21tdS5oCkBAIC0xMDcsMjAgKzEwNywyNCBAQCBzdHJ1Y3QgYW1kX2lv
bW11IHsKICAgICBzdHJ1Y3QgbGlzdF9oZWFkIGF0c19kZXZpY2VzOwogfTsK
IAorc3RydWN0IGl2cnNfdW5pdHlfbWFwIHsKKyAgICBib29sIHJlYWQ6MTsK
KyAgICBib29sIHdyaXRlOjE7CisgICAgcGFkZHJfdCBhZGRyOworICAgIHVu
c2lnbmVkIGxvbmcgbGVuZ3RoOworICAgIHN0cnVjdCBpdnJzX3VuaXR5X21h
cCAqbmV4dDsKK307CisKIHN0cnVjdCBpdnJzX21hcHBpbmdzIHsKICAgICB1
aW50MTZfdCBkdGVfcmVxdWVzdG9yX2lkOwogICAgIGJvb2wgdmFsaWQ6MTsK
ICAgICBib29sIGR0ZV9hbGxvd19leGNsdXNpb246MTsKLSAgICBib29sIHVu
aXR5X21hcF9lbmFibGU6MTsKLSAgICBib29sIHdyaXRlX3Blcm1pc3Npb246
MTsKLSAgICBib29sIHJlYWRfcGVybWlzc2lvbjoxOwogCiAgICAgLyogaXZo
ZCBkZXZpY2UgZGF0YSBzZXR0aW5ncyAqLwogICAgIHVpbnQ4X3QgZGV2aWNl
X2ZsYWdzOwogCi0gICAgdW5zaWduZWQgbG9uZyBhZGRyX3JhbmdlX3N0YXJ0
OwotICAgIHVuc2lnbmVkIGxvbmcgYWRkcl9yYW5nZV9sZW5ndGg7CiAgICAg
c3RydWN0IGFtZF9pb21tdSAqaW9tbXU7CisgICAgc3RydWN0IGl2cnNfdW5p
dHlfbWFwICp1bml0eV9tYXA7CiAKICAgICAvKiBwZXIgZGV2aWNlIGludGVy
cnVwdCByZW1hcHBpbmcgdGFibGUgKi8KICAgICB2b2lkICppbnRyZW1hcF90
YWJsZTsKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11
X2FjcGkuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9t
bXVfYWNwaS5jCkBAIC0xNDYsMzIgKzE0Niw0OCBAQCBzdGF0aWMgaW50IF9f
aW5pdCByZXNlcnZlX2lvbW11X2V4Y2x1c2lvCiAgICAgcmV0dXJuIDA7CiB9
CiAKLXN0YXRpYyB2b2lkIF9faW5pdCByZXNlcnZlX3VuaXR5X21hcF9mb3Jf
ZGV2aWNlKAotICAgIHUxNiBzZWcsIHUxNiBiZGYsIHVuc2lnbmVkIGxvbmcg
YmFzZSwKLSAgICB1bnNpZ25lZCBsb25nIGxlbmd0aCwgdTggaXcsIHU4IGly
KQorc3RhdGljIGludCBfX2luaXQgcmVzZXJ2ZV91bml0eV9tYXBfZm9yX2Rl
dmljZSgKKyAgICB1aW50MTZfdCBzZWcsIHVpbnQxNl90IGJkZiwgdW5zaWdu
ZWQgbG9uZyBiYXNlLAorICAgIHVuc2lnbmVkIGxvbmcgbGVuZ3RoLCBib29s
IGl3LCBib29sIGlyKQogewogICAgIHN0cnVjdCBpdnJzX21hcHBpbmdzICpp
dnJzX21hcHBpbmdzID0gZ2V0X2l2cnNfbWFwcGluZ3Moc2VnKTsKLSAgICB1
bnNpZ25lZCBsb25nIG9sZF90b3AsIG5ld190b3A7CisgICAgc3RydWN0IGl2
cnNfdW5pdHlfbWFwICp1bml0eV9tYXAgPSBpdnJzX21hcHBpbmdzW2JkZl0u
dW5pdHlfbWFwOwogCi0gICAgLyogbmVlZCB0byBleHRlbmQgdW5pdHktbWFw
cGVkIHJhbmdlPyAqLwotICAgIGlmICggaXZyc19tYXBwaW5nc1tiZGZdLnVu
aXR5X21hcF9lbmFibGUgKQorICAgIC8qIENoZWNrIGZvciBvdmVybGFwcy4g
Ki8KKyAgICBmb3IgKCA7IHVuaXR5X21hcDsgdW5pdHlfbWFwID0gdW5pdHlf
bWFwLT5uZXh0ICkKICAgICB7Ci0gICAgICAgIG9sZF90b3AgPSBpdnJzX21h
cHBpbmdzW2JkZl0uYWRkcl9yYW5nZV9zdGFydCArCi0gICAgICAgICAgICBp
dnJzX21hcHBpbmdzW2JkZl0uYWRkcl9yYW5nZV9sZW5ndGg7Ci0gICAgICAg
IG5ld190b3AgPSBiYXNlICsgbGVuZ3RoOwotICAgICAgICBpZiAoIG9sZF90
b3AgPiBuZXdfdG9wICkKLSAgICAgICAgICAgIG5ld190b3AgPSBvbGRfdG9w
OwotICAgICAgICBpZiAoIGl2cnNfbWFwcGluZ3NbYmRmXS5hZGRyX3Jhbmdl
X3N0YXJ0IDwgYmFzZSApCi0gICAgICAgICAgICBiYXNlID0gaXZyc19tYXBw
aW5nc1tiZGZdLmFkZHJfcmFuZ2Vfc3RhcnQ7Ci0gICAgICAgIGxlbmd0aCA9
IG5ld190b3AgLSBiYXNlOwotICAgIH0KLQotICAgIC8qIGV4dGVuZCByL3cg
cGVybWlzc2lvbXMgYW5kIGtlZXAgYWdncmVnYXRlICovCi0gICAgaXZyc19t
YXBwaW5nc1tiZGZdLndyaXRlX3Blcm1pc3Npb24gPSBpdzsKLSAgICBpdnJz
X21hcHBpbmdzW2JkZl0ucmVhZF9wZXJtaXNzaW9uID0gaXI7Ci0gICAgaXZy
c19tYXBwaW5nc1tiZGZdLnVuaXR5X21hcF9lbmFibGUgPSB0cnVlOwotICAg
IGl2cnNfbWFwcGluZ3NbYmRmXS5hZGRyX3JhbmdlX3N0YXJ0ID0gYmFzZTsK
LSAgICBpdnJzX21hcHBpbmdzW2JkZl0uYWRkcl9yYW5nZV9sZW5ndGggPSBs
ZW5ndGg7CisgICAgICAgIC8qCisgICAgICAgICAqIEV4YWN0IG1hdGNoZXMg
YXJlIG9rYXkuIFRoaXMgY2FuIGluIHBhcnRpY3VsYXIgaGFwcGVuIHdoZW4K
KyAgICAgICAgICogcmVnaXN0ZXJfZXhjbHVzaW9uX3JhbmdlX2Zvcl9kZXZp
Y2UoKSBjYWxscyBoZXJlIHR3aWNlIGZvciB0aGUKKyAgICAgICAgICogc2Ft
ZSAocyxiLGQsZikuCisgICAgICAgICAqLworICAgICAgICBpZiAoIGJhc2Ug
PT0gdW5pdHlfbWFwLT5hZGRyICYmIGxlbmd0aCA9PSB1bml0eV9tYXAtPmxl
bmd0aCAmJgorICAgICAgICAgICAgIGlyID09IHVuaXR5X21hcC0+cmVhZCAm
JiBpdyA9PSB1bml0eV9tYXAtPndyaXRlICkKKyAgICAgICAgICAgIHJldHVy
biAwOworCisgICAgICAgIGlmICggdW5pdHlfbWFwLT5hZGRyICsgdW5pdHlf
bWFwLT5sZW5ndGggPiBiYXNlICYmCisgICAgICAgICAgICAgYmFzZSArIGxl
bmd0aCA+IHVuaXR5X21hcC0+YWRkciApCisgICAgICAgIHsKKyAgICAgICAg
ICAgIEFNRF9JT01NVV9ERUJVRygiSVZNRCBFcnJvcjogb3ZlcmxhcCBbJWx4
LCVseCkgdnMgWyVseCwlbHgpXG4iLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGJhc2UsIGJhc2UgKyBsZW5ndGgsIHVuaXR5X21hcC0+YWRkciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bml0eV9tYXAtPmFkZHIg
KyB1bml0eV9tYXAtPmxlbmd0aCk7CisgICAgICAgICAgICByZXR1cm4gLUVQ
RVJNOworICAgICAgICB9CisgICAgfQorCisgICAgLyogUG9wdWxhdGUgYW5k
IGluc2VydCBhIG5ldyB1bml0eSBtYXAuICovCisgICAgdW5pdHlfbWFwID0g
eG1hbGxvYyhzdHJ1Y3QgaXZyc191bml0eV9tYXApOworICAgIGlmICggIXVu
aXR5X21hcCApCisgICAgICAgIHJldHVybiAtRU5PTUVNOworCisgICAgdW5p
dHlfbWFwLT5yZWFkID0gaXI7CisgICAgdW5pdHlfbWFwLT53cml0ZSA9IGl3
OworICAgIHVuaXR5X21hcC0+YWRkciA9IGJhc2U7CisgICAgdW5pdHlfbWFw
LT5sZW5ndGggPSBsZW5ndGg7CisgICAgdW5pdHlfbWFwLT5uZXh0ID0gaXZy
c19tYXBwaW5nc1tiZGZdLnVuaXR5X21hcDsKKyAgICBpdnJzX21hcHBpbmdz
W2JkZl0udW5pdHlfbWFwID0gdW5pdHlfbWFwOworCisgICAgcmV0dXJuIDA7
CiB9CiAKIHN0YXRpYyBpbnQgX19pbml0IHJlZ2lzdGVyX2V4Y2x1c2lvbl9y
YW5nZV9mb3JfYWxsX2RldmljZXMoCkBAIC0xOTQsMTMgKzIxMCwxMyBAQCBz
dGF0aWMgaW50IF9faW5pdCByZWdpc3Rlcl9leGNsdXNpb25fcmFuCiAgICAg
ICAgIGxlbmd0aCA9IHJhbmdlX3RvcCAtIGJhc2U7CiAgICAgICAgIC8qIHJl
c2VydmUgci93IHVuaXR5LW1hcHBlZCBwYWdlIGVudHJpZXMgZm9yIGRldmlj
ZXMgKi8KICAgICAgICAgLyogbm90ZTogdGhlc2UgZW50cmllcyBhcmUgcGFy
dCBvZiB0aGUgZXhjbHVzaW9uIHJhbmdlICovCi0gICAgICAgIGZvciAoIGJk
ZiA9IDA7IGJkZiA8IGl2cnNfYmRmX2VudHJpZXM7IGJkZisrICkKLSAgICAg
ICAgICAgIHJlc2VydmVfdW5pdHlfbWFwX2Zvcl9kZXZpY2Uoc2VnLCBiZGYs
IGJhc2UsIGxlbmd0aCwgaXcsIGlyKTsKKyAgICAgICAgZm9yICggYmRmID0g
MDsgIXJjICYmIGJkZiA8IGl2cnNfYmRmX2VudHJpZXM7IGJkZisrICkKKyAg
ICAgICAgICAgIHJjID0gcmVzZXJ2ZV91bml0eV9tYXBfZm9yX2RldmljZShz
ZWcsIGJkZiwgYmFzZSwgbGVuZ3RoLCBpdywgaXIpOwogICAgICAgICAvKiBw
dXNoICdiYXNlJyBqdXN0IG91dHNpZGUgb2YgdmlydHVhbCBhZGRyZXNzIHNw
YWNlICovCiAgICAgICAgIGJhc2UgPSBpb21tdV90b3A7CiAgICAgfQogICAg
IC8qIHJlZ2lzdGVyIElPTU1VIGV4Y2x1c2lvbiByYW5nZSBzZXR0aW5ncyAq
LwotICAgIGlmICggbGltaXQgPj0gaW9tbXVfdG9wICkKKyAgICBpZiAoICFy
YyAmJiBsaW1pdCA+PSBpb21tdV90b3AgKQogICAgIHsKICAgICAgICAgZm9y
X2VhY2hfYW1kX2lvbW11KCBpb21tdSApCiAgICAgICAgIHsKQEAgLTI0Miwx
NSArMjU4LDE1IEBAIHN0YXRpYyBpbnQgX19pbml0IHJlZ2lzdGVyX2V4Y2x1
c2lvbl9yYW4KICAgICAgICAgbGVuZ3RoID0gcmFuZ2VfdG9wIC0gYmFzZTsK
ICAgICAgICAgLyogcmVzZXJ2ZSB1bml0eS1tYXBwZWQgcGFnZSBlbnRyaWVz
IGZvciBkZXZpY2UgKi8KICAgICAgICAgLyogbm90ZTogdGhlc2UgZW50cmll
cyBhcmUgcGFydCBvZiB0aGUgZXhjbHVzaW9uIHJhbmdlICovCi0gICAgICAg
IHJlc2VydmVfdW5pdHlfbWFwX2Zvcl9kZXZpY2Uoc2VnLCBiZGYsIGJhc2Us
IGxlbmd0aCwgaXcsIGlyKTsKLSAgICAgICAgcmVzZXJ2ZV91bml0eV9tYXBf
Zm9yX2RldmljZShzZWcsIHJlcSwgYmFzZSwgbGVuZ3RoLCBpdywgaXIpOwor
ICAgICAgICByYyA9IHJlc2VydmVfdW5pdHlfbWFwX2Zvcl9kZXZpY2Uoc2Vn
LCBiZGYsIGJhc2UsIGxlbmd0aCwgaXcsIGlyKSA/OgorICAgICAgICAgICAg
IHJlc2VydmVfdW5pdHlfbWFwX2Zvcl9kZXZpY2Uoc2VnLCByZXEsIGJhc2Us
IGxlbmd0aCwgaXcsIGlyKTsKIAogICAgICAgICAvKiBwdXNoICdiYXNlJyBq
dXN0IG91dHNpZGUgb2YgdmlydHVhbCBhZGRyZXNzIHNwYWNlICovCiAgICAg
ICAgIGJhc2UgPSBpb21tdV90b3A7CiAgICAgfQogCiAgICAgLyogcmVnaXN0
ZXIgSU9NTVUgZXhjbHVzaW9uIHJhbmdlIHNldHRpbmdzIGZvciBkZXZpY2Ug
Ki8KLSAgICBpZiAoIGxpbWl0ID49IGlvbW11X3RvcCAgKQorICAgIGlmICgg
IXJjICYmIGxpbWl0ID49IGlvbW11X3RvcCAgKQogICAgIHsKICAgICAgICAg
cmMgPSByZXNlcnZlX2lvbW11X2V4Y2x1c2lvbl9yYW5nZShpb21tdSwgYmFz
ZSwgbGltaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZmFsc2UgLyogYWxsICovLCBpdywgaXIpOwpAQCAtMjgxLDE1
ICsyOTcsMTUgQEAgc3RhdGljIGludCBfX2luaXQgcmVnaXN0ZXJfZXhjbHVz
aW9uX3JhbgogICAgICAgICBsZW5ndGggPSByYW5nZV90b3AgLSBiYXNlOwog
ICAgICAgICAvKiByZXNlcnZlIHIvdyB1bml0eS1tYXBwZWQgcGFnZSBlbnRy
aWVzIGZvciBkZXZpY2VzICovCiAgICAgICAgIC8qIG5vdGU6IHRoZXNlIGVu
dHJpZXMgYXJlIHBhcnQgb2YgdGhlIGV4Y2x1c2lvbiByYW5nZSAqLwotICAg
ICAgICBmb3IgKCBiZGYgPSAwOyBiZGYgPCBpdnJzX2JkZl9lbnRyaWVzOyBi
ZGYrKyApCisgICAgICAgIGZvciAoIGJkZiA9IDA7ICFyYyAmJiBiZGYgPCBp
dnJzX2JkZl9lbnRyaWVzOyBiZGYrKyApCiAgICAgICAgIHsKICAgICAgICAg
ICAgIGlmICggaW9tbXUgPT0gZmluZF9pb21tdV9mb3JfZGV2aWNlKGlvbW11
LT5zZWcsIGJkZikgKQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
IHJlc2VydmVfdW5pdHlfbWFwX2Zvcl9kZXZpY2UoaW9tbXUtPnNlZywgYmRm
LCBiYXNlLCBsZW5ndGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpdywgaXIpOwogICAgICAgICAgICAgICAgIHJl
cSA9IGdldF9pdnJzX21hcHBpbmdzKGlvbW11LT5zZWcpW2JkZl0uZHRlX3Jl
cXVlc3Rvcl9pZDsKLSAgICAgICAgICAgICAgICByZXNlcnZlX3VuaXR5X21h
cF9mb3JfZGV2aWNlKGlvbW11LT5zZWcsIHJlcSwgYmFzZSwgbGVuZ3RoLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aXcsIGlyKTsKKyAgICAgICAgICAgICAgICByYyA9IHJlc2VydmVfdW5pdHlf
bWFwX2Zvcl9kZXZpY2UoaW9tbXUtPnNlZywgYmRmLCBiYXNlLCBsZW5ndGgs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGl3LCBpcikgPzoKKyAgICAgICAgICAgICAgICAgICAgIHJlc2Vy
dmVfdW5pdHlfbWFwX2Zvcl9kZXZpY2UoaW9tbXUtPnNlZywgcmVxLCBiYXNl
LCBsZW5ndGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGl3LCBpcik7CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0KIApAQCAtMjk4LDcgKzMxNCw3IEBAIHN0YXRpYyBpbnQgX19pbml0
IHJlZ2lzdGVyX2V4Y2x1c2lvbl9yYW4KICAgICB9CiAKICAgICAvKiByZWdp
c3RlciBJT01NVSBleGNsdXNpb24gcmFuZ2Ugc2V0dGluZ3MgKi8KLSAgICBp
ZiAoIGxpbWl0ID49IGlvbW11X3RvcCApCisgICAgaWYgKCAhcmMgJiYgbGlt
aXQgPj0gaW9tbXVfdG9wICkKICAgICAgICAgcmMgPSByZXNlcnZlX2lvbW11
X2V4Y2x1c2lvbl9yYW5nZShpb21tdSwgYmFzZSwgbGltaXQsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAvKiBh
bGwgKi8sIGl3LCBpcik7CiAKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91
Z2gvYW1kL3BjaV9hbWRfaW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNz
dGhyb3VnaC9hbWQvcGNpX2FtZF9pb21tdS5jCkBAIC0zNjYsMTUgKzM2Niwx
NyBAQCBzdGF0aWMgaW50IGFtZF9pb21tdV9hc3NpZ25fZGV2aWNlKHN0cnVj
CiAgICAgc3RydWN0IGl2cnNfbWFwcGluZ3MgKml2cnNfbWFwcGluZ3MgPSBn
ZXRfaXZyc19tYXBwaW5ncyhwZGV2LT5zZWcpOwogICAgIGludCBiZGYgPSBQ
Q0lfQkRGMihwZGV2LT5idXMsIGRldmZuKTsKICAgICBpbnQgcmVxX2lkID0g
Z2V0X2RtYV9yZXF1ZXN0b3JfaWQocGRldi0+c2VnLCBiZGYpOworICAgIGNv
bnN0IHN0cnVjdCBpdnJzX3VuaXR5X21hcCAqdW5pdHlfbWFwOwogCi0gICAg
aWYgKCBpdnJzX21hcHBpbmdzW3JlcV9pZF0udW5pdHlfbWFwX2VuYWJsZSAp
CisgICAgZm9yICggdW5pdHlfbWFwID0gaXZyc19tYXBwaW5nc1tyZXFfaWRd
LnVuaXR5X21hcDsgdW5pdHlfbWFwOworICAgICAgICAgIHVuaXR5X21hcCA9
IHVuaXR5X21hcC0+bmV4dCApCiAgICAgewotICAgICAgICBhbWRfaW9tbXVf
cmVzZXJ2ZV9kb21haW5fdW5pdHlfbWFwKAotICAgICAgICAgICAgZCwKLSAg
ICAgICAgICAgIGl2cnNfbWFwcGluZ3NbcmVxX2lkXS5hZGRyX3JhbmdlX3N0
YXJ0LAotICAgICAgICAgICAgaXZyc19tYXBwaW5nc1tyZXFfaWRdLmFkZHJf
cmFuZ2VfbGVuZ3RoLAotICAgICAgICAgICAgaXZyc19tYXBwaW5nc1tyZXFf
aWRdLndyaXRlX3Blcm1pc3Npb24sCi0gICAgICAgICAgICBpdnJzX21hcHBp
bmdzW3JlcV9pZF0ucmVhZF9wZXJtaXNzaW9uKTsKKyAgICAgICAgaW50IHJj
ID0gYW1kX2lvbW11X3Jlc2VydmVfZG9tYWluX3VuaXR5X21hcCgKKyAgICAg
ICAgICAgICAgICAgICAgIGQsIHVuaXR5X21hcC0+YWRkciwgdW5pdHlfbWFw
LT5sZW5ndGgsCisgICAgICAgICAgICAgICAgICAgICB1bml0eV9tYXAtPndy
aXRlLCB1bml0eV9tYXAtPnJlYWQpOworCisgICAgICAgIGlmICggcmMgKQor
ICAgICAgICAgICAgcmV0dXJuIHJjOwogICAgIH0KIAogICAgIHJldHVybiBy
ZWFzc2lnbl9kZXZpY2UocGRldi0+ZG9tYWluLCBkLCBkZXZmbiwgcGRldik7
Cg==

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.14-3.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.14-3.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBJT01NVTogYWxzbyBwYXNzIHAybV9hY2Nlc3NfdCB0byBwMm1fZ2V0X2lv
bW11X2ZsYWdzKCkKCkEgc3Vic2VxdWVudCBjaGFuZ2Ugd2lsbCB3YW50IHRv
IGN1c3RvbWl6ZSB0aGUgSU9NTVUgcGVybWlzc2lvbnMgYmFzZWQKb24gdGhp
cy4KClRoaXMgaXMgcGFydCBvZiBYU0EtMzc4LgoKU2lnbmVkLW9mZi1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTog
UGF1bCBEdXJyYW50IDxwYXVsQHhlbi5vcmc+CgotLS0gYS94ZW4vYXJjaC94
ODYvbW0vcDJtLWVwdC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0tZXB0
LmMKQEAgLTY4MCw3ICs2ODAsNyBAQCBlcHRfc2V0X2VudHJ5KHN0cnVjdCBw
Mm1fZG9tYWluICpwMm0sIGdmCiAgICAgdWludDhfdCBpcGF0ID0gMDsKICAg
ICBib29sX3QgbmVlZF9tb2RpZnlfdnRkX3RhYmxlID0gMTsKICAgICBib29s
X3QgdnRkX3B0ZV9wcmVzZW50ID0gMDsKLSAgICB1bnNpZ25lZCBpbnQgaW9t
bXVfZmxhZ3MgPSBwMm1fZ2V0X2lvbW11X2ZsYWdzKHAybXQsIG1mbik7Cisg
ICAgdW5zaWduZWQgaW50IGlvbW11X2ZsYWdzID0gcDJtX2dldF9pb21tdV9m
bGFncyhwMm10LCBwMm1hLCBtZm4pOwogICAgIGJvb2xfdCBuZWVkc19zeW5j
ID0gMTsKICAgICBlcHRfZW50cnlfdCBvbGRfZW50cnkgPSB7IC5lcHRlID0g
MCB9OwogICAgIGVwdF9lbnRyeV90IG5ld19lbnRyeSA9IHsgLmVwdGUgPSAw
IH07CkBAIC04MDgsOCArODA4LDggQEAgZXB0X3NldF9lbnRyeShzdHJ1Y3Qg
cDJtX2RvbWFpbiAqcDJtLCBnZgogCiAgICAgICAgIC8qIFNhZmUgdG8gcmVh
ZC10aGVuLXdyaXRlIGJlY2F1c2Ugd2UgaG9sZCB0aGUgcDJtIGxvY2sgKi8K
ICAgICAgICAgaWYgKCBlcHRfZW50cnktPm1mbiA9PSBuZXdfZW50cnkubWZu
ICYmCi0gICAgICAgICAgICAgcDJtX2dldF9pb21tdV9mbGFncyhlcHRfZW50
cnktPnNhX3AybXQsIF9tZm4oZXB0X2VudHJ5LT5tZm4pKSA9PQotICAgICAg
ICAgICAgIGlvbW11X2ZsYWdzICkKKyAgICAgICAgICAgICBwMm1fZ2V0X2lv
bW11X2ZsYWdzKGVwdF9lbnRyeS0+c2FfcDJtdCwgZXB0X2VudHJ5LT5hY2Nl
c3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfbWZuKGVw
dF9lbnRyeS0+bWZuKSkgPT0gaW9tbXVfZmxhZ3MgKQogICAgICAgICAgICAg
bmVlZF9tb2RpZnlfdnRkX3RhYmxlID0gMDsKIAogICAgICAgICBlcHRfcDJt
X3R5cGVfdG9fZmxhZ3MocDJtLCAmbmV3X2VudHJ5KTsKLS0tIGEveGVuL2Fy
Y2gveDg2L21tL3AybS1wdC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0t
cHQuYwpAQCAtNDgwLDYgKzQ4MCwxNiBAQCBpbnQgcDJtX3B0X2hhbmRsZV9k
ZWZlcnJlZF9jaGFuZ2VzKHVpbnQ2CiAgICAgcmV0dXJuIHJjOwogfQogCisv
KiBSZWNvbnN0cnVjdCBhIGZha2UgcDJtX2FjY2Vzc190IGZyb20gc3RvcmVk
IFBURSBmbGFncy4gKi8KK3N0YXRpYyBwMm1fYWNjZXNzX3QgcDJtX2ZsYWdz
X3RvX2FjY2Vzcyh1bnNpZ25lZCBpbnQgZmxhZ3MpCit7CisgICAgaWYgKCBm
bGFncyAmIF9QQUdFX1BSRVNFTlQgKQorICAgICAgICByZXR1cm4gcDJtX2Fj
Y2Vzc19uOworCisgICAgLyogTm8gbmVlZCB0byBsb29rIGF0IF9QQUdFX05Y
IGZvciBub3cuICovCisgICAgcmV0dXJuIGZsYWdzICYgX1BBR0VfUlcgPyBw
Mm1fYWNjZXNzX3J3IDogcDJtX2FjY2Vzc19yOworfQorCiAvKiBDaGVja3Mg
b25seSBhcHBsaWNhYmxlIHRvIGVudHJpZXMgd2l0aCBvcmRlciA+IFBBR0Vf
T1JERVJfNEsgKi8KIHN0YXRpYyB2b2lkIGNoZWNrX2VudHJ5KG1mbl90IG1m
biwgcDJtX3R5cGVfdCBuZXcsIHAybV90eXBlX3Qgb2xkLAogICAgICAgICAg
ICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG9yZGVyKQpAQCAtNTE0LDcg
KzUyNCw3IEBAIHAybV9wdF9zZXRfZW50cnkoc3RydWN0IHAybV9kb21haW4g
KnAybSwKICAgICBsMl9wZ2VudHJ5X3QgbDJlX2NvbnRlbnQ7CiAgICAgbDNf
cGdlbnRyeV90IGwzZV9jb250ZW50OwogICAgIGludCByYzsKLSAgICB1bnNp
Z25lZCBpbnQgaW9tbXVfcHRlX2ZsYWdzID0gcDJtX2dldF9pb21tdV9mbGFn
cyhwMm10LCBtZm4pOworICAgIHVuc2lnbmVkIGludCBpb21tdV9wdGVfZmxh
Z3MgPSBwMm1fZ2V0X2lvbW11X2ZsYWdzKHAybXQsIHAybWEsIG1mbik7CiAg
ICAgLyoKICAgICAgKiBvbGRfbWZuIGFuZCBpb21tdV9vbGRfZmxhZ3MgY29u
dHJvbCBwb3NzaWJsZSBmbHVzaC91cGRhdGUgbmVlZHMgb24gdGhlCiAgICAg
ICogSU9NTVU6IFdlIG5lZWQgdG8gZmx1c2ggd2hlbiBNRk4gb3IgZmxhZ3Mg
KGkuZS4gcGVybWlzc2lvbnMpIGNoYW5nZS4KQEAgLTU3Nyw2ICs1ODcsNyBA
QCBwMm1fcHRfc2V0X2VudHJ5KHN0cnVjdCBwMm1fZG9tYWluICpwMm0sCiAg
ICAgICAgICAgICAgICAgb2xkX21mbiA9IGwxZV9nZXRfcGZuKCpwMm1fZW50
cnkpOwogICAgICAgICAgICAgICAgIGlvbW11X29sZF9mbGFncyA9CiAgICAg
ICAgICAgICAgICAgICAgIHAybV9nZXRfaW9tbXVfZmxhZ3MocDJtX2ZsYWdz
X3RvX3R5cGUoZmxhZ3MpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHAybV9mbGFnc190b19hY2Nlc3MoZmxhZ3MpLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9tZm4ob2xk
X21mbikpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxzZQpAQCAt
NjE5LDkgKzYzMCwxMCBAQCBwMm1fcHRfc2V0X2VudHJ5KHN0cnVjdCBwMm1f
ZG9tYWluICpwMm0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDAsIEwxX1BBR0VUQUJMRV9FTlRSSUVTKTsKICAgICAgICAgQVNTRVJU
KHAybV9lbnRyeSk7CiAgICAgICAgIG9sZF9tZm4gPSBsMWVfZ2V0X3Bmbigq
cDJtX2VudHJ5KTsKKyAgICAgICAgZmxhZ3MgPSBsMWVfZ2V0X2ZsYWdzKCpw
Mm1fZW50cnkpOwogICAgICAgICBpb21tdV9vbGRfZmxhZ3MgPQotICAgICAg
ICAgICAgcDJtX2dldF9pb21tdV9mbGFncyhwMm1fZmxhZ3NfdG9fdHlwZShs
MWVfZ2V0X2ZsYWdzKCpwMm1fZW50cnkpKSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgX21mbihvbGRfbWZuKSk7CisgICAgICAgICAgICBw
Mm1fZ2V0X2lvbW11X2ZsYWdzKHAybV9mbGFnc190b190eXBlKGZsYWdzKSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcDJtX2ZsYWdzX3Rv
X2FjY2VzcyhmbGFncyksIF9tZm4ob2xkX21mbikpOwogCiAgICAgICAgIGlm
ICggbWZuX3ZhbGlkKG1mbikgfHwgcDJtX2FsbG93c19pbnZhbGlkX21mbihw
Mm10KSApCiAgICAgICAgICAgICBlbnRyeV9jb250ZW50ID0gcDJtX2wxZV9m
cm9tX3BmbihtZm5feChtZm4pLApAQCAtNjQ5LDYgKzY2MSw3IEBAIHAybV9w
dF9zZXRfZW50cnkoc3RydWN0IHAybV9kb21haW4gKnAybSwKICAgICAgICAg
ICAgICAgICBvbGRfbWZuID0gbDFlX2dldF9wZm4oKnAybV9lbnRyeSk7CiAg
ICAgICAgICAgICAgICAgaW9tbXVfb2xkX2ZsYWdzID0KICAgICAgICAgICAg
ICAgICAgICAgcDJtX2dldF9pb21tdV9mbGFncyhwMm1fZmxhZ3NfdG9fdHlw
ZShmbGFncyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcDJtX2ZsYWdzX3RvX2FjY2VzcyhmbGFncyksCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX21mbihvbGRfbWZuKSk7
CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlCi0tLSBhL3hlbi9p
bmNsdWRlL2FzbS14ODYvcDJtLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4
Ni9wMm0uaApAQCAtOTAzLDcgKzkwMyw4IEBAIHN0YXRpYyBpbmxpbmUgdm9p
ZCBwMm1fYWx0cDJtX2NoZWNrKHN0cnUKIC8qCiAgKiBwMm0gdHlwZSB0byBJ
T01NVSBmbGFncwogICovCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBw
Mm1fZ2V0X2lvbW11X2ZsYWdzKHAybV90eXBlX3QgcDJtdCwgbWZuX3QgbWZu
KQorc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgcDJtX2dldF9pb21tdV9m
bGFncyhwMm1fdHlwZV90IHAybXQsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHAybV9hY2Nlc3NfdCBwMm1hLCBt
Zm5fdCBtZm4pCiB7CiAgICAgdW5zaWduZWQgaW50IGZsYWdzOwogCg==

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.14-4.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.14-4.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBJT01NVTogZ2VuZXJhbGl6ZSBWVC1kJ3MgdHJhY2tpbmcgb2YgbWFwcGVk
IFJNUlIgcmVnaW9ucwoKSW4gb3JkZXIgdG8gcmUtdXNlIGl0IGVsc2V3aGVy
ZSwgbW92ZSB0aGUgbG9naWMgdG8gdmVuZG9yIGluZGVwZW5kZW50CmNvZGUg
YW5kIHN0cmlwIGl0IG9mIFJNUlIgc3BlY2lmaWNzLgoKTm90ZSB0aGF0IHRo
ZSBwcmlvciAibWFwIiBwYXJhbWV0ZXIgZ2V0cyBmb2xkZWQgaW50byB0aGUg
bmV3ICJwMm1hIiBvbmUKKHdoaWNoIEFNRCBJT01NVSBjb2RlIHdpbGwgd2Fu
dCB0byBtYWtlIHVzZSBvZiksIGFzc2lnbmluZyBhbHRlcm5hdGl2ZQptZWFu
aW5nICgidW5tYXAiKSB0byBwMm1fYWNjZXNzX3guIFByZXBhcmUgc2V0X2lk
ZW50aXR5X3AybV9lbnRyeSgpIGFuZApwMm1fZ2V0X2lvbW11X2ZsYWdzKCkg
Zm9yIGdldHRpbmcgcGFzc2VkIGFjY2VzcyB0eXBlcyBvdGhlciB0aGFuCnAy
bV9hY2Nlc3NfcncgKGluIHRoZSBsYXR0ZXIgY2FzZSBqdXN0IGZvciBwMm1f
bW1pb19kaXJlY3QgcmVxdWVzdHMpLgoKTm90ZSBhbHNvIHRoYXQsIHRvIGJl
IG9uIHRoZSBzYWZlIHNpZGUsIGFuIG92ZXJsYXAgY2hlY2sgZ2V0cyBhZGRl
ZCB0bwp0aGUgbWFpbiBsb29wIG9mIGlvbW11X2lkZW50aXR5X21hcHBpbmco
KS4KClRoaXMgaXMgcGFydCBvZiBYU0EtMzc4LgoKU2lnbmVkLW9mZi1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTog
UGF1bCBEdXJyYW50IDxwYXVsQHhlbi5vcmc+CgotLS0gYS94ZW4vYXJjaC94
ODYvbW0vcDJtLmMKKysrIGIveGVuL2FyY2gveDg2L21tL3AybS5jCkBAIC0x
MzUzLDcgKzEzNTMsNyBAQCBpbnQgc2V0X2lkZW50aXR5X3AybV9lbnRyeShz
dHJ1Y3QgZG9tYWluCiAgICAgICAgIGlmICggIWlzX2lvbW11X2VuYWJsZWQo
ZCkgKQogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIHJldHVybiBp
b21tdV9sZWdhY3lfbWFwKGQsIF9kZm4oZ2ZuX2wpLCBfbWZuKGdmbl9sKSwg
UEFHRV9PUkRFUl80SywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgSU9NTVVGX3JlYWRhYmxlIHwgSU9NTVVGX3dyaXRhYmxlKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcDJtX2FjY2Vzc190b19pb21t
dV9mbGFncyhwMm1hKSk7CiAgICAgfQogCiAgICAgZ2ZuX2xvY2socDJtLCBn
Zm4sIDApOwotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9t
bXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUu
YwpAQCAtNDIsMTIgKzQyLDYgQEAKICNpbmNsdWRlICJ2dGQuaCIKICNpbmNs
dWRlICIuLi9hdHMuaCIKIAotc3RydWN0IG1hcHBlZF9ybXJyIHsKLSAgICBz
dHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7Ci0gICAgdTY0IGJhc2UsIGVuZDsKLSAg
ICB1bnNpZ25lZCBpbnQgY291bnQ7Ci19OwotCiAvKiBQb3NzaWJsZSB1bmZp
bHRlcmVkIExBUElDL01TSSBtZXNzYWdlcyBmcm9tIHVudHJ1c3RlZCBzb3Vy
Y2VzPyAqLwogYm9vbCBfX3JlYWRfbW9zdGx5IHVudHJ1c3RlZF9tc2k7CiAK
QEAgLTE4MDAsMTcgKzE3OTQsMTIgQEAgb3V0Ogogc3RhdGljIHZvaWQgaW9t
bXVfZG9tYWluX3RlYXJkb3duKHN0cnVjdCBkb21haW4gKmQpCiB7CiAgICAg
c3RydWN0IGRvbWFpbl9pb21tdSAqaGQgPSBkb21faW9tbXUoZCk7Ci0gICAg
c3RydWN0IG1hcHBlZF9ybXJyICptcm1yciwgKnRtcDsKICAgICBjb25zdCBz
dHJ1Y3QgYWNwaV9kcmhkX3VuaXQgKmRyaGQ7CiAKICAgICBpZiAoIGxpc3Rf
ZW1wdHkoJmFjcGlfZHJoZF91bml0cykgKQogICAgICAgICByZXR1cm47CiAK
LSAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUgKCBtcm1yciwgdG1wLCAm
aGQtPmFyY2gubWFwcGVkX3JtcnJzLCBsaXN0ICkKLSAgICB7Ci0gICAgICAg
IGxpc3RfZGVsKCZtcm1yci0+bGlzdCk7Ci0gICAgICAgIHhmcmVlKG1ybXJy
KTsKLSAgICB9CisgICAgaW9tbXVfaWRlbnRpdHlfbWFwX3RlYXJkb3duKGQp
OwogCiAgICAgQVNTRVJUKGlzX2lvbW11X2VuYWJsZWQoZCkpOwogCkBAIC0x
OTY2LDc0ICsxOTU1LDYgQEAgc3RhdGljIHZvaWQgaW9tbXVfc2V0X3BnZChz
dHJ1Y3QgZG9tYWluCiAgICAgICAgIHBhZ2V0YWJsZV9nZXRfcGFkZHIocGFn
ZXRhYmxlX2Zyb21fbWZuKHBnZF9tZm4pKTsKIH0KIAotc3RhdGljIGludCBy
bXJyX2lkZW50aXR5X21hcHBpbmcoc3RydWN0IGRvbWFpbiAqZCwgYm9vbF90
IG1hcCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHN0cnVjdCBhY3BpX3JtcnJfdW5pdCAqcm1yciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHUzMiBmbGFnKQotewotICAgIHVuc2lnbmVk
IGxvbmcgYmFzZV9wZm4gPSBybXJyLT5iYXNlX2FkZHJlc3MgPj4gUEFHRV9T
SElGVF80SzsKLSAgICB1bnNpZ25lZCBsb25nIGVuZF9wZm4gPSBQQUdFX0FM
SUdOXzRLKHJtcnItPmVuZF9hZGRyZXNzKSA+PiBQQUdFX1NISUZUXzRLOwot
ICAgIHN0cnVjdCBtYXBwZWRfcm1yciAqbXJtcnI7Ci0gICAgc3RydWN0IGRv
bWFpbl9pb21tdSAqaGQgPSBkb21faW9tbXUoZCk7Ci0KLSAgICBBU1NFUlQo
cGNpZGV2c19sb2NrZWQoKSk7Ci0gICAgQVNTRVJUKHJtcnItPmJhc2VfYWRk
cmVzcyA8IHJtcnItPmVuZF9hZGRyZXNzKTsKLQotICAgIC8qCi0gICAgICog
Tm8gbmVlZCB0byBhY3F1aXJlIGhkLT5hcmNoLm1hcHBpbmdfbG9jazogQm90
aCBpbnNlcnRpb24gYW5kIHJlbW92YWwKLSAgICAgKiBnZXQgZG9uZSB3aGls
ZSBob2xkaW5nIHBjaWRldnNfbG9jay4KLSAgICAgKi8KLSAgICBsaXN0X2Zv
cl9lYWNoX2VudHJ5KCBtcm1yciwgJmhkLT5hcmNoLm1hcHBlZF9ybXJycywg
bGlzdCApCi0gICAgewotICAgICAgICBpZiAoIG1ybXJyLT5iYXNlID09IHJt
cnItPmJhc2VfYWRkcmVzcyAmJgotICAgICAgICAgICAgIG1ybXJyLT5lbmQg
PT0gcm1yci0+ZW5kX2FkZHJlc3MgKQotICAgICAgICB7Ci0gICAgICAgICAg
ICBpbnQgcmV0ID0gMDsKLQotICAgICAgICAgICAgaWYgKCBtYXAgKQotICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICsrbXJtcnItPmNvdW50Owot
ICAgICAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICAgICAgfQotCi0g
ICAgICAgICAgICBpZiAoIC0tbXJtcnItPmNvdW50ICkKLSAgICAgICAgICAg
ICAgICByZXR1cm4gMDsKLQotICAgICAgICAgICAgd2hpbGUgKCBiYXNlX3Bm
biA8IGVuZF9wZm4gKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
IGlmICggY2xlYXJfaWRlbnRpdHlfcDJtX2VudHJ5KGQsIGJhc2VfcGZuKSAp
Ci0gICAgICAgICAgICAgICAgICAgIHJldCA9IC1FTlhJTzsKLSAgICAgICAg
ICAgICAgICBiYXNlX3BmbisrOwotICAgICAgICAgICAgfQotCi0gICAgICAg
ICAgICBsaXN0X2RlbCgmbXJtcnItPmxpc3QpOwotICAgICAgICAgICAgeGZy
ZWUobXJtcnIpOwotICAgICAgICAgICAgcmV0dXJuIHJldDsKLSAgICAgICAg
fQotICAgIH0KLQotICAgIGlmICggIW1hcCApCi0gICAgICAgIHJldHVybiAt
RU5PRU5UOwotCi0gICAgd2hpbGUgKCBiYXNlX3BmbiA8IGVuZF9wZm4gKQot
ICAgIHsKLSAgICAgICAgaW50IGVyciA9IHNldF9pZGVudGl0eV9wMm1fZW50
cnkoZCwgYmFzZV9wZm4sIHAybV9hY2Nlc3NfcncsIGZsYWcpOwotCi0gICAg
ICAgIGlmICggZXJyICkKLSAgICAgICAgICAgIHJldHVybiBlcnI7Ci0gICAg
ICAgIGJhc2VfcGZuKys7Ci0gICAgfQotCi0gICAgbXJtcnIgPSB4bWFsbG9j
KHN0cnVjdCBtYXBwZWRfcm1ycik7Ci0gICAgaWYgKCAhbXJtcnIgKQotICAg
ICAgICByZXR1cm4gLUVOT01FTTsKLSAgICBtcm1yci0+YmFzZSA9IHJtcnIt
PmJhc2VfYWRkcmVzczsKLSAgICBtcm1yci0+ZW5kID0gcm1yci0+ZW5kX2Fk
ZHJlc3M7Ci0gICAgbXJtcnItPmNvdW50ID0gMTsKLSAgICBsaXN0X2FkZF90
YWlsKCZtcm1yci0+bGlzdCwgJmhkLT5hcmNoLm1hcHBlZF9ybXJycyk7Ci0K
LSAgICByZXR1cm4gMDsKLX0KLQogc3RhdGljIGludCBpbnRlbF9pb21tdV9h
ZGRfZGV2aWNlKHU4IGRldmZuLCBzdHJ1Y3QgcGNpX2RldiAqcGRldikKIHsK
ICAgICBzdHJ1Y3QgYWNwaV9ybXJyX3VuaXQgKnJtcnI7CkBAIC0yMDY1LDcg
KzE5ODYsOSBAQCBzdGF0aWMgaW50IGludGVsX2lvbW11X2FkZF9kZXZpY2Uo
dTggZGV2CiAgICAgICAgICAgICAgKiBTaW5jZSBSTVJScyBhcmUgYWx3YXlz
IHJlc2VydmVkIGluIHRoZSBlODIwIG1hcCBmb3IgdGhlIGhhcmR3YXJlCiAg
ICAgICAgICAgICAgKiBkb21haW4sIHRoZXJlIHNob3VsZG4ndCBiZSBhIGNv
bmZsaWN0LgogICAgICAgICAgICAgICovCi0gICAgICAgICAgICByZXQgPSBy
bXJyX2lkZW50aXR5X21hcHBpbmcocGRldi0+ZG9tYWluLCAxLCBybXJyLCAw
KTsKKyAgICAgICAgICAgIHJldCA9IGlvbW11X2lkZW50aXR5X21hcHBpbmco
cGRldi0+ZG9tYWluLCBwMm1fYWNjZXNzX3J3LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBybXJyLT5iYXNlX2FkZHJlc3Ms
IHJtcnItPmVuZF9hZGRyZXNzLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAwKTsKICAgICAgICAgICAgIGlmICggcmV0ICkK
ICAgICAgICAgICAgICAgICBkcHJpbnRrKFhFTkxPR19FUlIgVlREUFJFRklY
LCAiZCVkOiBSTVJSIG1hcHBpbmcgZmFpbGVkXG4iLAogICAgICAgICAgICAg
ICAgICAgICAgICAgcGRldi0+ZG9tYWluLT5kb21haW5faWQpOwpAQCAtMjEx
MCw3ICsyMDMzLDggQEAgc3RhdGljIGludCBpbnRlbF9pb21tdV9yZW1vdmVf
ZGV2aWNlKHU4CiAgICAgICAgICAqIEFueSBmbGFnIGlzIG5vdGhpbmcgdG8g
Y2xlYXIgdGhlc2UgbWFwcGluZ3MgYnV0IGhlcmUKICAgICAgICAgICogaXRz
IGFsd2F5cyBzYWZlIGFuZCBzdHJpY3QgdG8gc2V0IDAuCiAgICAgICAgICAq
LwotICAgICAgICBybXJyX2lkZW50aXR5X21hcHBpbmcocGRldi0+ZG9tYWlu
LCAwLCBybXJyLCAwKTsKKyAgICAgICAgaW9tbXVfaWRlbnRpdHlfbWFwcGlu
ZyhwZGV2LT5kb21haW4sIHAybV9hY2Nlc3NfeCwgcm1yci0+YmFzZV9hZGRy
ZXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJtcnItPmVu
ZF9hZGRyZXNzLCAwKTsKICAgICB9CiAKICAgICByZXR1cm4gZG9tYWluX2Nv
bnRleHRfdW5tYXAocGRldi0+ZG9tYWluLCBkZXZmbiwgcGRldik7CkBAIC0y
MzA5LDcgKzIyMzMsOCBAQCBzdGF0aWMgdm9pZCBfX2h3ZG9tX2luaXQgc2V0
dXBfaHdkb21fcm1yCiAgICAgICAgICAqIGRvbWFpbiwgdGhlcmUgc2hvdWxk
bid0IGJlIGEgY29uZmxpY3QuIFNvIGl0cyBhbHdheXMgc2FmZSBhbmQKICAg
ICAgICAgICogc3RyaWN0IHRvIHNldCAwLgogICAgICAgICAgKi8KLSAgICAg
ICAgcmV0ID0gcm1ycl9pZGVudGl0eV9tYXBwaW5nKGQsIDEsIHJtcnIsIDAp
OworICAgICAgICByZXQgPSBpb21tdV9pZGVudGl0eV9tYXBwaW5nKGQsIHAy
bV9hY2Nlc3NfcncsIHJtcnItPmJhc2VfYWRkcmVzcywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBybXJyLT5lbmRfYWRkcmVzcywg
MCk7CiAgICAgICAgIGlmICggcmV0ICkKICAgICAgICAgICAgIGRwcmludGso
WEVOTE9HX0VSUiBWVERQUkVGSVgsCiAgICAgICAgICAgICAgICAgICAgICAi
SU9NTVU6IG1hcHBpbmcgcmVzZXJ2ZWQgcmVnaW9uIGZhaWxlZFxuIik7CkBA
IC0yNDgwLDcgKzI0MDUsOSBAQCBzdGF0aWMgaW50IHJlYXNzaWduX2Rldmlj
ZV9vd25lcnNoaXAoCiAgICAgICAgICAgICAgICAgICogQW55IFJNUlIgZmxh
ZyBpcyBhbHdheXMgaWdub3JlZCB3aGVuIHJlbW92ZSBhIGRldmljZSwKICAg
ICAgICAgICAgICAgICAgKiBidXQgaXRzIGFsd2F5cyBzYWZlIGFuZCBzdHJp
Y3QgdG8gc2V0IDAuCiAgICAgICAgICAgICAgICAgICovCi0gICAgICAgICAg
ICAgICAgcmV0ID0gcm1ycl9pZGVudGl0eV9tYXBwaW5nKHNvdXJjZSwgMCwg
cm1yciwgMCk7CisgICAgICAgICAgICAgICAgcmV0ID0gaW9tbXVfaWRlbnRp
dHlfbWFwcGluZyhzb3VyY2UsIHAybV9hY2Nlc3NfeCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJtcnItPmJhc2Vf
YWRkcmVzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHJtcnItPmVuZF9hZGRyZXNzLCAwKTsKICAgICAgICAgICAg
ICAgICBpZiAoIHJldCAhPSAtRU5PRU5UICkKICAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIHJldDsKICAgICAgICAgICAgIH0KQEAgLTI1NzcsNyArMjUw
NCw4IEBAIHN0YXRpYyBpbnQgaW50ZWxfaW9tbXVfYXNzaWduX2RldmljZSgK
ICAgICAgICAgICAgICBQQ0lfQlVTKGJkZikgPT0gYnVzICYmCiAgICAgICAg
ICAgICAgUENJX0RFVkZOMihiZGYpID09IGRldmZuICkKICAgICAgICAgewot
ICAgICAgICAgICAgcmV0ID0gcm1ycl9pZGVudGl0eV9tYXBwaW5nKGQsIDEs
IHJtcnIsIGZsYWcpOworICAgICAgICAgICAgcmV0ID0gaW9tbXVfaWRlbnRp
dHlfbWFwcGluZyhkLCBwMm1fYWNjZXNzX3J3LCBybXJyLT5iYXNlX2FkZHJl
c3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHJtcnItPmVuZF9hZGRyZXNzLCBmbGFnKTsKICAgICAgICAgICAgIGlmICgg
cmV0ICkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBpbnQgcmM7
Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3g4Ni9pb21tdS5jCisr
KyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3g4Ni9pb21tdS5jCkBAIC0x
MzksNyArMTM5LDcgQEAgaW50IGFyY2hfaW9tbXVfZG9tYWluX2luaXQoc3Ry
dWN0IGRvbWFpbgogICAgIHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9t
X2lvbW11KGQpOwogCiAgICAgc3Bpbl9sb2NrX2luaXQoJmhkLT5hcmNoLm1h
cHBpbmdfbG9jayk7Ci0gICAgSU5JVF9MSVNUX0hFQUQoJmhkLT5hcmNoLm1h
cHBlZF9ybXJycyk7CisgICAgSU5JVF9MSVNUX0hFQUQoJmhkLT5hcmNoLmlk
ZW50aXR5X21hcHMpOwogCiAgICAgcmV0dXJuIDA7CiB9CkBAIC0xNDgsNiAr
MTQ4LDk5IEBAIHZvaWQgYXJjaF9pb21tdV9kb21haW5fZGVzdHJveShzdHJ1
Y3QgZG8KIHsKIH0KIAorc3RydWN0IGlkZW50aXR5X21hcCB7CisgICAgc3Ry
dWN0IGxpc3RfaGVhZCBsaXN0OworICAgIHBhZGRyX3QgYmFzZSwgZW5kOwor
ICAgIHAybV9hY2Nlc3NfdCBhY2Nlc3M7CisgICAgdW5zaWduZWQgaW50IGNv
dW50OworfTsKKworaW50IGlvbW11X2lkZW50aXR5X21hcHBpbmcoc3RydWN0
IGRvbWFpbiAqZCwgcDJtX2FjY2Vzc190IHAybWEsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwYWRkcl90IGJhc2UsIHBhZGRyX3QgZW5kLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGZsYWcpCit7
CisgICAgdW5zaWduZWQgbG9uZyBiYXNlX3BmbiA9IGJhc2UgPj4gUEFHRV9T
SElGVF80SzsKKyAgICB1bnNpZ25lZCBsb25nIGVuZF9wZm4gPSBQQUdFX0FM
SUdOXzRLKGVuZCkgPj4gUEFHRV9TSElGVF80SzsKKyAgICBzdHJ1Y3QgaWRl
bnRpdHlfbWFwICptYXA7CisgICAgc3RydWN0IGRvbWFpbl9pb21tdSAqaGQg
PSBkb21faW9tbXUoZCk7CisKKyAgICBBU1NFUlQocGNpZGV2c19sb2NrZWQo
KSk7CisgICAgQVNTRVJUKGJhc2UgPCBlbmQpOworCisgICAgLyoKKyAgICAg
KiBObyBuZWVkIHRvIGFjcXVpcmUgaGQtPmFyY2gubWFwcGluZ19sb2NrOiBC
b3RoIGluc2VydGlvbiBhbmQgcmVtb3ZhbAorICAgICAqIGdldCBkb25lIHdo
aWxlIGhvbGRpbmcgcGNpZGV2c19sb2NrLgorICAgICAqLworICAgIGxpc3Rf
Zm9yX2VhY2hfZW50cnkoIG1hcCwgJmhkLT5hcmNoLmlkZW50aXR5X21hcHMs
IGxpc3QgKQorICAgIHsKKyAgICAgICAgaWYgKCBtYXAtPmJhc2UgPT0gYmFz
ZSAmJiBtYXAtPmVuZCA9PSBlbmQgKQorICAgICAgICB7CisgICAgICAgICAg
ICBpbnQgcmV0ID0gMDsKKworICAgICAgICAgICAgaWYgKCBwMm1hICE9IHAy
bV9hY2Nlc3NfeCApCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
aWYgKCBtYXAtPmFjY2VzcyAhPSBwMm1hICkKKyAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIC1FQUREUklOVVNFOworICAgICAgICAgICAgICAgICsrbWFw
LT5jb3VudDsKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgaWYgKCAtLW1hcC0+Y291bnQgKQorICAg
ICAgICAgICAgICAgIHJldHVybiAwOworCisgICAgICAgICAgICB3aGlsZSAo
IGJhc2VfcGZuIDwgZW5kX3BmbiApCisgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgaWYgKCBjbGVhcl9pZGVudGl0eV9wMm1fZW50cnkoZCwgYmFz
ZV9wZm4pICkKKyAgICAgICAgICAgICAgICAgICAgcmV0ID0gLUVOWElPOwor
ICAgICAgICAgICAgICAgIGJhc2VfcGZuKys7CisgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgIGxpc3RfZGVsKCZtYXAtPmxpc3QpOworICAgICAgICAg
ICAgeGZyZWUobWFwKTsKKworICAgICAgICAgICAgcmV0dXJuIHJldDsKKyAg
ICAgICAgfQorCisgICAgICAgIGlmICggZW5kID49IG1hcC0+YmFzZSAmJiBt
YXAtPmVuZCA+PSBiYXNlICkKKyAgICAgICAgICAgIHJldHVybiAtRUFERFJJ
TlVTRTsKKyAgICB9CisKKyAgICBpZiAoIHAybWEgPT0gcDJtX2FjY2Vzc194
ICkKKyAgICAgICAgcmV0dXJuIC1FTk9FTlQ7CisKKyAgICB3aGlsZSAoIGJh
c2VfcGZuIDwgZW5kX3BmbiApCisgICAgeworICAgICAgICBpbnQgZXJyID0g
c2V0X2lkZW50aXR5X3AybV9lbnRyeShkLCBiYXNlX3BmbiwgcDJtYSwgZmxh
Zyk7CisKKyAgICAgICAgaWYgKCBlcnIgKQorICAgICAgICAgICAgcmV0dXJu
IGVycjsKKyAgICAgICAgYmFzZV9wZm4rKzsKKyAgICB9CisKKyAgICBtYXAg
PSB4bWFsbG9jKHN0cnVjdCBpZGVudGl0eV9tYXApOworICAgIGlmICggIW1h
cCApCisgICAgICAgIHJldHVybiAtRU5PTUVNOworICAgIG1hcC0+YmFzZSA9
IGJhc2U7CisgICAgbWFwLT5lbmQgPSBlbmQ7CisgICAgbWFwLT5hY2Nlc3Mg
PSBwMm1hOworICAgIG1hcC0+Y291bnQgPSAxOworICAgIGxpc3RfYWRkX3Rh
aWwoJm1hcC0+bGlzdCwgJmhkLT5hcmNoLmlkZW50aXR5X21hcHMpOworCisg
ICAgcmV0dXJuIDA7Cit9CisKK3ZvaWQgaW9tbXVfaWRlbnRpdHlfbWFwX3Rl
YXJkb3duKHN0cnVjdCBkb21haW4gKmQpCit7CisgICAgc3RydWN0IGRvbWFp
bl9pb21tdSAqaGQgPSBkb21faW9tbXUoZCk7CisgICAgc3RydWN0IGlkZW50
aXR5X21hcCAqbWFwLCAqdG1wOworCisgICAgbGlzdF9mb3JfZWFjaF9lbnRy
eV9zYWZlICggbWFwLCB0bXAsICZoZC0+YXJjaC5pZGVudGl0eV9tYXBzLCBs
aXN0ICkKKyAgICB7CisgICAgICAgIGxpc3RfZGVsKCZtYXAtPmxpc3QpOwor
ICAgICAgICB4ZnJlZShtYXApOworICAgIH0KK30KKwogc3RhdGljIGJvb2wg
X19od2RvbV9pbml0IGh3ZG9tX2lvbW11X21hcChjb25zdCBzdHJ1Y3QgZG9t
YWluICpkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBsb25nIHBmbiwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBtYXhfcGZuKQot
LS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2lvbW11LmgKKysrIGIveGVuL2lu
Y2x1ZGUvYXNtLXg4Ni9pb21tdS5oCkBAIC0xNiw2ICsxNiw3IEBACiAKICNp
bmNsdWRlIDx4ZW4vZXJybm8uaD4KICNpbmNsdWRlIDx4ZW4vbGlzdC5oPgor
I2luY2x1ZGUgPHhlbi9tZW1fYWNjZXNzLmg+CiAjaW5jbHVkZSA8eGVuL3Nw
aW5sb2NrLmg+CiAjaW5jbHVkZSA8YXNtL2FwaWNkZWYuaD4KICNpbmNsdWRl
IDxhc20vcHJvY2Vzc29yLmg+CkBAIC00OSw3ICs1MCw3IEBAIHN0cnVjdCBh
cmNoX2lvbW11CiAgICAgc3BpbmxvY2tfdCBtYXBwaW5nX2xvY2s7ICAgICAg
ICAgICAgLyogaW8gcGFnZSB0YWJsZSBsb2NrICovCiAgICAgaW50IGFnYXc7
ICAgICAvKiBhZGp1c3RlZCBndWVzdCBhZGRyZXNzIHdpZHRoLCAwIGlzIGxl
dmVsIDIgMzAtYml0ICovCiAgICAgdTY0IGlvbW11X2JpdG1hcDsgICAgICAg
ICAgICAgIC8qIGJpdG1hcCBvZiBpb21tdShzKSB0aGF0IHRoZSBkb21haW4g
dXNlcyAqLwotICAgIHN0cnVjdCBsaXN0X2hlYWQgbWFwcGVkX3JtcnJzOwor
ICAgIHN0cnVjdCBsaXN0X2hlYWQgaWRlbnRpdHlfbWFwczsKIAogICAgIC8q
IGFtZCBpb21tdSBzdXBwb3J0ICovCiAgICAgaW50IHBhZ2luZ19tb2RlOwpA
QCAtMTEyLDYgKzExMywxMSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgaW9tbXVf
ZGlzYWJsZV94MmFwaWMoCiAgICAgICAgIGlvbW11X29wcy5kaXNhYmxlX3gy
YXBpYygpOwogfQogCitpbnQgaW9tbXVfaWRlbnRpdHlfbWFwcGluZyhzdHJ1
Y3QgZG9tYWluICpkLCBwMm1fYWNjZXNzX3QgcDJtYSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBhZGRyX3QgYmFzZSwgcGFkZHJfdCBlbmQsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgZmxhZyk7
Cit2b2lkIGlvbW11X2lkZW50aXR5X21hcF90ZWFyZG93bihzdHJ1Y3QgZG9t
YWluICpkKTsKKwogZXh0ZXJuIGJvb2wgdW50cnVzdGVkX21zaTsKIAogaW50
IHBpX3VwZGF0ZV9pcnRlKGNvbnN0IHN0cnVjdCBwaV9kZXNjICpwaV9kZXNj
LCBjb25zdCBzdHJ1Y3QgcGlycSAqcGlycSwKLS0tIGEveGVuL2luY2x1ZGUv
YXNtLXg4Ni9wMm0uaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3AybS5o
CkBAIC05MDAsNiArOTAwLDM0IEBAIHN0cnVjdCBwMm1fZG9tYWluICpwMm1f
Z2V0X2FsdHAybShzdHJ1Y3QKIHN0YXRpYyBpbmxpbmUgdm9pZCBwMm1fYWx0
cDJtX2NoZWNrKHN0cnVjdCB2Y3B1ICp2LCB1aW50MTZfdCBpZHgpIHt9CiAj
ZW5kaWYKIAorLyogcDJtIGFjY2VzcyB0byBJT01NVSBmbGFncyAqLworc3Rh
dGljIGlubGluZSB1bnNpZ25lZCBpbnQgcDJtX2FjY2Vzc190b19pb21tdV9m
bGFncyhwMm1fYWNjZXNzX3QgcDJtYSkKK3sKKyAgICBzd2l0Y2ggKCBwMm1h
ICkKKyAgICB7CisgICAgY2FzZSBwMm1fYWNjZXNzX3J3OgorICAgIGNhc2Ug
cDJtX2FjY2Vzc19yd3g6CisgICAgICAgIHJldHVybiBJT01NVUZfcmVhZGFi
bGUgfCBJT01NVUZfd3JpdGFibGU7CisKKyAgICBjYXNlIHAybV9hY2Nlc3Nf
cjoKKyAgICBjYXNlIHAybV9hY2Nlc3Nfcng6CisgICAgY2FzZSBwMm1fYWNj
ZXNzX3J4MnJ3OgorICAgICAgICByZXR1cm4gSU9NTVVGX3JlYWRhYmxlOwor
CisgICAgY2FzZSBwMm1fYWNjZXNzX3c6CisgICAgY2FzZSBwMm1fYWNjZXNz
X3d4OgorICAgICAgICByZXR1cm4gSU9NTVVGX3dyaXRhYmxlOworCisgICAg
Y2FzZSBwMm1fYWNjZXNzX246CisgICAgY2FzZSBwMm1fYWNjZXNzX3g6Cisg
ICAgY2FzZSBwMm1fYWNjZXNzX24ycnd4OgorICAgICAgICByZXR1cm4gMDsK
KyAgICB9CisKKyAgICBBU1NFUlRfVU5SRUFDSEFCTEUoKTsKKyAgICByZXR1
cm4gMDsKK30KKwogLyoKICAqIHAybSB0eXBlIHRvIElPTU1VIGZsYWdzCiAg
Ki8KQEAgLTkyMSw5ICs5NDksMTAgQEAgc3RhdGljIGlubGluZSB1bnNpZ25l
ZCBpbnQgcDJtX2dldF9pb21tdQogICAgICAgICBmbGFncyA9IElPTU1VRl9y
ZWFkYWJsZTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBwMm1fbW1pb19k
aXJlY3Q6Ci0gICAgICAgIGZsYWdzID0gSU9NTVVGX3JlYWRhYmxlOwotICAg
ICAgICBpZiAoICFyYW5nZXNldF9jb250YWluc19zaW5nbGV0b24obW1pb19y
b19yYW5nZXMsIG1mbl94KG1mbikpICkKLSAgICAgICAgICAgIGZsYWdzIHw9
IElPTU1VRl93cml0YWJsZTsKKyAgICAgICAgZmxhZ3MgPSBwMm1fYWNjZXNz
X3RvX2lvbW11X2ZsYWdzKHAybWEpOworICAgICAgICBpZiAoIChmbGFncyAm
IElPTU1VRl93cml0YWJsZSkgJiYKKyAgICAgICAgICAgICByYW5nZXNldF9j
b250YWluc19zaW5nbGV0b24obW1pb19yb19yYW5nZXMsIG1mbl94KG1mbikp
ICkKKyAgICAgICAgICAgIGZsYWdzICY9IH5JT01NVUZfd3JpdGFibGU7CiAg
ICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIGZsYWdzID0g
MDsK

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.14-5.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.14-5.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBBTUQvSU9NTVU6IHJlLWFycmFuZ2UvY29tcGxldGUgcmUtYXNzaWdubWVu
dCBoYW5kbGluZwoKUHJpb3IgdG8gdGhlIGFzc2lnbm1lbnQgc3RlcCBoYXZp
bmcgY29tcGxldGVkIHN1Y2Nlc3NmdWxseSwgZGV2aWNlcwpzaG91bGQgbm90
IGdldCBhc3NvY2lhdGVkIHdpdGggdGhlaXIgbmV3IG93bmVyLiBIYW5kIHRo
ZSBkZXZpY2UgdG8gRG9tSU8KKHBlcmhhcHMgdGVtcG9yYXJpbHkpLCB1bnRp
bCBhZnRlciB0aGUgZGUtYXNzaWdubWVudCBzdGVwIGhhcyBjb21wbGV0ZWQu
CgpEZS1hc3NpZ25tZW50IG9mIGEgZGV2aWNlIChmcm9tIG90aGVyIHRoYW4g
RG9tMCkgYXMgd2VsbCBhcyBmYWlsdXJlIG9mCnJlYXNzaWduX2RldmljZSgp
IGR1cmluZyBhc3NpZ25tZW50IHNob3VsZCByZXN1bHQgaW4gdW5pdHkgbWFw
cGluZ3MKZ2V0dGluZyB0b3JuIGRvd24uIFRoaXMgaW4gdHVybiByZXF1aXJl
cyBzd2l0Y2hpbmcgdG8gYSByZWZjb3VudGVkCm1hcHBpbmcgYXBwcm9hY2gs
IGFzIHdhcyBhbHJlYWR5IHVzZWQgYnkgVlQtZCBmb3IgaXRzIFJNUlJzLCB0
byBwcmV2ZW50CnVubWFwcGluZyBhIHJlZ2lvbiB1c2VkIGJ5IG11bHRpcGxl
IGRldmljZXMuCgpUaGlzIGlzIENWRS0yMDIxLTI4Njk2IC8gcGFydCBvZiBY
U0EtMzc4LgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpSZXZpZXdlZC1ieTogUGF1bCBEdXJyYW50IDxwYXVsQHhl
bi5vcmc+CgotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9t
bXUuaAorKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXUu
aApAQCAtMjMyLDggKzIzMiwxMCBAQCBpbnQgX19tdXN0X2NoZWNrIGFtZF9p
b21tdV91bm1hcF9wYWdlKHN0CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIGludCAqZmx1c2hfZmxhZ3MpOwogaW50
IF9fbXVzdF9jaGVjayBhbWRfaW9tbXVfYWxsb2Nfcm9vdChzdHJ1Y3QgZG9t
YWluX2lvbW11ICpoZCk7CiBpbnQgYW1kX2lvbW11X3Jlc2VydmVfZG9tYWlu
X3VuaXR5X21hcChzdHJ1Y3QgZG9tYWluICpkb21haW4sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkcl90IHBoeXNfYWRk
ciwgdW5zaWduZWQgbG9uZyBzaXplLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IGl3LCBpbnQgaXIpOworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGl2
cnNfdW5pdHlfbWFwICptYXAsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgZmxhZyk7CitpbnQgYW1kX2lv
bW11X3Jlc2VydmVfZG9tYWluX3VuaXR5X3VubWFwKHN0cnVjdCBkb21haW4g
KmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHN0cnVjdCBpdnJzX3VuaXR5X21hcCAqbWFwKTsKIGludCBfX211
c3RfY2hlY2sgYW1kX2lvbW11X2ZsdXNoX2lvdGxiX3BhZ2VzKHN0cnVjdCBk
b21haW4gKmQsIGRmbl90IGRmbiwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBwYWdlX2NvdW50
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdW5zaWduZWQgaW50IGZsdXNoX2ZsYWdzKTsKLS0tIGEveGVuL2RyaXZl
cnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11X21hcC5jCisrKyBiL3hlbi9kcml2
ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21tdV9tYXAuYwpAQCAtNDIwLDM4ICs0
MjAsNDkgQEAgaW50IGFtZF9pb21tdV9mbHVzaF9pb3RsYl9hbGwoc3RydWN0
IGRvbQogICAgIHJldHVybiAwOwogfQogCi1pbnQgYW1kX2lvbW11X3Jlc2Vy
dmVfZG9tYWluX3VuaXR5X21hcChzdHJ1Y3QgZG9tYWluICpkb21haW4sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkcl90
IHBoeXNfYWRkciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVuc2lnbmVkIGxvbmcgc2l6ZSwgaW50IGl3LCBpbnQgaXIpCitp
bnQgYW1kX2lvbW11X3Jlc2VydmVfZG9tYWluX3VuaXR5X21hcChzdHJ1Y3Qg
ZG9tYWluICpkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3Qgc3RydWN0IGl2cnNfdW5pdHlfbWFwICptYXAsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBp
bnQgZmxhZykKIHsKLSAgICB1bnNpZ25lZCBsb25nIG5wYWdlcywgaTsKLSAg
ICB1bnNpZ25lZCBsb25nIGdmbjsKLSAgICB1bnNpZ25lZCBpbnQgZmxhZ3Mg
PSAhIWlyOwotICAgIHVuc2lnbmVkIGludCBmbHVzaF9mbGFncyA9IDA7Ci0g
ICAgaW50IHJ0ID0gMDsKLQotICAgIGlmICggaXcgKQotICAgICAgICBmbGFn
cyB8PSBJT01NVUZfd3JpdGFibGU7Ci0KLSAgICBucGFnZXMgPSByZWdpb25f
dG9fcGFnZXMocGh5c19hZGRyLCBzaXplKTsKLSAgICBnZm4gPSBwaHlzX2Fk
ZHIgPj4gUEFHRV9TSElGVDsKLSAgICBmb3IgKCBpID0gMDsgaSA8IG5wYWdl
czsgaSsrICkKKyAgICBpbnQgcmM7CisKKyAgICBpZiAoIGQgPT0gZG9tX2lv
ICkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBmb3IgKCByYyA9IDA7ICFy
YyAmJiBtYXA7IG1hcCA9IG1hcC0+bmV4dCApCiAgICAgewotICAgICAgICB1
bnNpZ25lZCBsb25nIGZyYW1lID0gZ2ZuICsgaTsKKyAgICAgICAgcDJtX2Fj
Y2Vzc190IHAybWEgPSBwMm1fYWNjZXNzX247CisKKyAgICAgICAgaWYgKCBt
YXAtPnJlYWQgKQorICAgICAgICAgICAgcDJtYSB8PSBwMm1fYWNjZXNzX3I7
CisgICAgICAgIGlmICggbWFwLT53cml0ZSApCisgICAgICAgICAgICBwMm1h
IHw9IHAybV9hY2Nlc3NfdzsKIAotICAgICAgICBydCA9IGFtZF9pb21tdV9t
YXBfcGFnZShkb21haW4sIF9kZm4oZnJhbWUpLCBfbWZuKGZyYW1lKSwgZmxh
Z3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZmbHVzaF9m
bGFncyk7Ci0gICAgICAgIGlmICggcnQgIT0gMCApCi0gICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgcmMgPSBpb21tdV9pZGVudGl0eV9tYXBwaW5nKGQs
IHAybWEsIG1hcC0+YWRkciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG1hcC0+YWRkciArIG1hcC0+bGVuZ3RoIC0gMSwgZmxhZyk7
CiAgICAgfQogCi0gICAgLyogVXNlIHdoaWxlLWJyZWFrIHRvIGF2b2lkIGNv
bXBpbGVyIHdhcm5pbmcgKi8KLSAgICB3aGlsZSAoIGZsdXNoX2ZsYWdzICYm
Ci0gICAgICAgICAgICBhbWRfaW9tbXVfZmx1c2hfaW90bGJfcGFnZXMoZG9t
YWluLCBfZGZuKGdmbiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbnBhZ2VzLCBmbHVzaF9mbGFncykgKQotICAgICAgICBi
cmVhazsKKyAgICByZXR1cm4gcmM7Cit9CisKK2ludCBhbWRfaW9tbXVfcmVz
ZXJ2ZV9kb21haW5fdW5pdHlfdW5tYXAoc3RydWN0IGRvbWFpbiAqZCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
c3RydWN0IGl2cnNfdW5pdHlfbWFwICptYXApCit7CisgICAgaW50IHJjOwor
CisgICAgaWYgKCBkID09IGRvbV9pbyApCisgICAgICAgIHJldHVybiAwOwor
CisgICAgZm9yICggcmMgPSAwOyBtYXA7IG1hcCA9IG1hcC0+bmV4dCApCisg
ICAgeworICAgICAgICBpbnQgcmV0ID0gaW9tbXVfaWRlbnRpdHlfbWFwcGlu
ZyhkLCBwMm1fYWNjZXNzX3gsIG1hcC0+YWRkciwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLT5hZGRyICsgbWFwLT5s
ZW5ndGggLSAxLCAwKTsKKworICAgICAgICBpZiAoIHJldCAmJiByZXQgIT0g
LUVOT0VOVCAmJiAhcmMgKQorICAgICAgICAgICAgcmMgPSByZXQ7CisgICAg
fQogCi0gICAgcmV0dXJuIHJ0OworICAgIHJldHVybiByYzsKIH0KIAogaW50
IF9faW5pdCBhbWRfaW9tbXVfcXVhcmFudGluZV9pbml0KHN0cnVjdCBkb21h
aW4gKmQpCi0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9wY2lf
YW1kX2lvbW11LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1k
L3BjaV9hbWRfaW9tbXUuYwpAQCAtMzI3LDYgKzMyNyw3IEBAIHN0YXRpYyBp
bnQgcmVhc3NpZ25fZGV2aWNlKHN0cnVjdCBkb21haW4KICAgICBzdHJ1Y3Qg
YW1kX2lvbW11ICppb21tdTsKICAgICBpbnQgYmRmLCByYzsKICAgICBzdHJ1
Y3QgZG9tYWluX2lvbW11ICp0ID0gZG9tX2lvbW11KHRhcmdldCk7CisgICAg
Y29uc3Qgc3RydWN0IGl2cnNfbWFwcGluZ3MgKml2cnNfbWFwcGluZ3MgPSBn
ZXRfaXZyc19tYXBwaW5ncyhwZGV2LT5zZWcpOwogCiAgICAgYmRmID0gUENJ
X0JERjIocGRldi0+YnVzLCBwZGV2LT5kZXZmbik7CiAgICAgaW9tbXUgPSBm
aW5kX2lvbW11X2Zvcl9kZXZpY2UocGRldi0+c2VnLCBiZGYpOwpAQCAtMzQx
LDEwICszNDIsMjQgQEAgc3RhdGljIGludCByZWFzc2lnbl9kZXZpY2Uoc3Ry
dWN0IGRvbWFpbgogCiAgICAgYW1kX2lvbW11X2Rpc2FibGVfZG9tYWluX2Rl
dmljZShzb3VyY2UsIGlvbW11LCBkZXZmbiwgcGRldik7CiAKLSAgICBpZiAo
IGRldmZuID09IHBkZXYtPmRldmZuICkKKyAgICAvKgorICAgICAqIElmIHRo
ZSBkZXZpY2UgYmVsb25ncyB0byB0aGUgaGFyZHdhcmUgZG9tYWluLCBhbmQg
aXQgaGFzIGEgdW5pdHkgbWFwcGluZywKKyAgICAgKiBkb24ndCByZW1vdmUg
aXQgZnJvbSB0aGUgaGFyZHdhcmUgZG9tYWluLCBiZWNhdXNlIEJJT1MgbWF5
IHJlZmVyZW5jZSB0aGF0CisgICAgICogbWFwcGluZy4KKyAgICAgKi8KKyAg
ICBpZiAoICFpc19oYXJkd2FyZV9kb21haW4oc291cmNlKSApCisgICAgewor
ICAgICAgICByYyA9IGFtZF9pb21tdV9yZXNlcnZlX2RvbWFpbl91bml0eV91
bm1hcCgKKyAgICAgICAgICAgICAgICAgc291cmNlLAorICAgICAgICAgICAg
ICAgICBpdnJzX21hcHBpbmdzW2dldF9kbWFfcmVxdWVzdG9yX2lkKHBkZXYt
PnNlZywgYmRmKV0udW5pdHlfbWFwKTsKKyAgICAgICAgaWYgKCByYyApCisg
ICAgICAgICAgICByZXR1cm4gcmM7CisgICAgfQorCisgICAgaWYgKCBkZXZm
biA9PSBwZGV2LT5kZXZmbiAmJiBwZGV2LT5kb21haW4gIT0gZG9tX2lvICkK
ICAgICB7Ci0gICAgICAgIGxpc3RfbW92ZSgmcGRldi0+ZG9tYWluX2xpc3Qs
ICZ0YXJnZXQtPnBkZXZfbGlzdCk7Ci0gICAgICAgIHBkZXYtPmRvbWFpbiA9
IHRhcmdldDsKKyAgICAgICAgbGlzdF9tb3ZlKCZwZGV2LT5kb21haW5fbGlz
dCwgJmRvbV9pby0+cGRldl9saXN0KTsKKyAgICAgICAgcGRldi0+ZG9tYWlu
ID0gZG9tX2lvOwogICAgIH0KIAogICAgIHJjID0gYWxsb2NhdGVfZG9tYWlu
X3Jlc291cmNlcyh0KTsKQEAgLTM1Niw2ICszNzEsMTIgQEAgc3RhdGljIGlu
dCByZWFzc2lnbl9kZXZpY2Uoc3RydWN0IGRvbWFpbgogICAgICAgICAgICAg
ICAgICAgICBwZGV2LT5zZWcsIHBkZXYtPmJ1cywgUENJX1NMT1QoZGV2Zm4p
LCBQQ0lfRlVOQyhkZXZmbiksCiAgICAgICAgICAgICAgICAgICAgIHNvdXJj
ZS0+ZG9tYWluX2lkLCB0YXJnZXQtPmRvbWFpbl9pZCk7CiAKKyAgICBpZiAo
IGRldmZuID09IHBkZXYtPmRldmZuICYmIHBkZXYtPmRvbWFpbiAhPSB0YXJn
ZXQgKQorICAgIHsKKyAgICAgICAgbGlzdF9tb3ZlKCZwZGV2LT5kb21haW5f
bGlzdCwgJnRhcmdldC0+cGRldl9saXN0KTsKKyAgICAgICAgcGRldi0+ZG9t
YWluID0gdGFyZ2V0OworICAgIH0KKwogICAgIHJldHVybiAwOwogfQogCkBA
IC0zNjYsMjAgKzM4NywyOCBAQCBzdGF0aWMgaW50IGFtZF9pb21tdV9hc3Np
Z25fZGV2aWNlKHN0cnVjCiAgICAgc3RydWN0IGl2cnNfbWFwcGluZ3MgKml2
cnNfbWFwcGluZ3MgPSBnZXRfaXZyc19tYXBwaW5ncyhwZGV2LT5zZWcpOwog
ICAgIGludCBiZGYgPSBQQ0lfQkRGMihwZGV2LT5idXMsIGRldmZuKTsKICAg
ICBpbnQgcmVxX2lkID0gZ2V0X2RtYV9yZXF1ZXN0b3JfaWQocGRldi0+c2Vn
LCBiZGYpOwotICAgIGNvbnN0IHN0cnVjdCBpdnJzX3VuaXR5X21hcCAqdW5p
dHlfbWFwOworICAgIGludCByYyA9IGFtZF9pb21tdV9yZXNlcnZlX2RvbWFp
bl91bml0eV9tYXAoCisgICAgICAgICAgICAgICAgIGQsIGl2cnNfbWFwcGlu
Z3NbcmVxX2lkXS51bml0eV9tYXAsIGZsYWcpOworCisgICAgaWYgKCAhcmMg
KQorICAgICAgICByYyA9IHJlYXNzaWduX2RldmljZShwZGV2LT5kb21haW4s
IGQsIGRldmZuLCBwZGV2KTsKIAotICAgIGZvciAoIHVuaXR5X21hcCA9IGl2
cnNfbWFwcGluZ3NbcmVxX2lkXS51bml0eV9tYXA7IHVuaXR5X21hcDsKLSAg
ICAgICAgICB1bml0eV9tYXAgPSB1bml0eV9tYXAtPm5leHQgKQorICAgIGlm
ICggcmMgJiYgIWlzX2hhcmR3YXJlX2RvbWFpbihkKSApCiAgICAgewotICAg
ICAgICBpbnQgcmMgPSBhbWRfaW9tbXVfcmVzZXJ2ZV9kb21haW5fdW5pdHlf
bWFwKAotICAgICAgICAgICAgICAgICAgICAgZCwgdW5pdHlfbWFwLT5hZGRy
LCB1bml0eV9tYXAtPmxlbmd0aCwKLSAgICAgICAgICAgICAgICAgICAgIHVu
aXR5X21hcC0+d3JpdGUsIHVuaXR5X21hcC0+cmVhZCk7CisgICAgICAgIGlu
dCByZXQgPSBhbWRfaW9tbXVfcmVzZXJ2ZV9kb21haW5fdW5pdHlfdW5tYXAo
CisgICAgICAgICAgICAgICAgICAgICAgZCwgaXZyc19tYXBwaW5nc1tyZXFf
aWRdLnVuaXR5X21hcCk7CiAKLSAgICAgICAgaWYgKCByYyApCi0gICAgICAg
ICAgICByZXR1cm4gcmM7CisgICAgICAgIGlmICggcmV0ICkKKyAgICAgICAg
eworICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19FUlIgIkFNRC1WaTogIgor
ICAgICAgICAgICAgICAgICAgICJ1bml0eS11bm1hcCBmb3IgJXBkLyUwNHg6
JTAyeDolMDJ4LiV1IGZhaWxlZCAoJWQpXG4iLAorICAgICAgICAgICAgICAg
ICAgIGQsIHBkZXYtPnNlZywgcGRldi0+YnVzLAorICAgICAgICAgICAgICAg
ICAgIFBDSV9TTE9UKGRldmZuKSwgUENJX0ZVTkMoZGV2Zm4pLCByZXQpOwor
ICAgICAgICAgICAgZG9tYWluX2NyYXNoKGQpOworICAgICAgICB9CiAgICAg
fQogCi0gICAgcmV0dXJuIHJlYXNzaWduX2RldmljZShwZGV2LT5kb21haW4s
IGQsIGRldmZuLCBwZGV2KTsKKyAgICByZXR1cm4gcmM7CiB9CiAKIHN0YXRp
YyB2b2lkIGRlYWxsb2NhdGVfbmV4dF9wYWdlX3RhYmxlKHN0cnVjdCBwYWdl
X2luZm8gKnBnLCBpbnQgbGV2ZWwpCkBAIC00MzgsNiArNDY3LDcgQEAgc3Rh
dGljIHZvaWQgZGVhbGxvY2F0ZV9pb21tdV9wYWdlX3RhYmxlcwogCiBzdGF0
aWMgdm9pZCBhbWRfaW9tbXVfZG9tYWluX2Rlc3Ryb3koc3RydWN0IGRvbWFp
biAqZCkKIHsKKyAgICBpb21tdV9pZGVudGl0eV9tYXBfdGVhcmRvd24oZCk7
CiAgICAgZGVhbGxvY2F0ZV9pb21tdV9wYWdlX3RhYmxlcyhkKTsKICAgICBh
bWRfaW9tbXVfZmx1c2hfYWxsX3BhZ2VzKGQpOwogfQo=

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.14-6.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.14-6.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBBTUQvSU9NTVU6IHJlLWFycmFuZ2UgZXhjbHVzaW9uIHJhbmdlIGFuZCB1
bml0eSBtYXAgcmVjb3JkaW5nCgpUaGUgc3BlYyBtYWtlcyBubyBwcm92aXNp
b25zIGZvciBPUyBiZWhhdmlvciBoZXJlIHRvIGRlcGVuZCBvbiB0aGUKYW1v
dW50IG9mIFJBTSBmb3VuZCBvbiB0aGUgc3lzdGVtLiBXaGlsZSB0aGUgc3Bl
YyBtYXkgbm90IHN1ZmZpY2llbnRseQpjbGVhcmx5IGRpc3Rpbmd1aXNoIGJv
dGgga2luZHMgb2YgcmVnaW9ucywgdGhleSBhcmUgc3VyZWx5IG1lYW50IHRv
IGJlCnNlcGFyYXRlIHRoaW5nczogT25seSByZWdpb25zIHdpdGggQUNQSV9J
Vk1EX0VYQ0xVU0lPTl9SQU5HRSBzZXQgc2hvdWxkCmJlIGNhbmRpZGF0ZXMg
Zm9yIHB1dHRpbmcgaW4gdGhlIGV4Y2x1c2lvbiByYW5nZSByZWdpc3RlcnMu
IChBcyB0aGVyZSdzCm9ubHkgYSBzaW5nbGUgc3VjaCBwYWlyIG9mIHJlZ2lz
dGVycyBwZXIgSU9NTVUsIHNlY29uZGFyeSBub24tYWRqYWNlbnQKcmVnaW9u
cyB3aXRoIHRoZSBmbGFnIHNldCBhbHJlYWR5IGdldCBjb252ZXJ0ZWQgdG8g
dW5pdHkgbWFwcGVkCnJlZ2lvbnMuKQoKRmlyc3Qgb2YgYWxsLCBkcm9wIHRo
ZSBkZXBlbmRlbmN5IG9uIG1heF9wYWdlLiBXaXRoIGNvbW1pdCBiNGYwNDIy
MzZhZTAKKCJBTUQvSU9NTVU6IENlYXNlIHVzaW5nIGEgZHluYW1pYyBoZWln
aHQgZm9yIHRoZSBJT01NVSBwYWdldGFibGVzIikgdGhlCnVzZSBvZiBpdCBo
ZXJlIHdhcyBzdGFsZSBhbnl3YXk7IGl0IHdhcyBib2d1cyBhbHJlYWR5IGJl
Zm9yZSwgYXMgaXQKZGlkbid0IGFjY291bnQgZm9yIG1heF9wYWdlIGdldHRp
bmcgaW5jcmVhc2VkIGxhdGVyIG9uLiBTaW1wbHkgdHJ5IGFuCmV4Y2x1c2lv
biByYW5nZSByZWdpc3RyYXRpb24gZmlyc3QsIGFuZCBpZiBpdCBmYWlscyAo
Zm9yIGJlaW5nCnVuc3VpdGFibGUgb3Igbm9uLW1lcmdlYWJsZSksIHJlZ2lz
dGVyIGEgdW5pdHkgbWFwcGluZyByYW5nZS4KCldpdGggdGhpcyB2YXJpb3Vz
IGxvY2FsIHZhcmlhYmxlcyBiZWNvbWUgdW5uZWNlc3NhcnkgYW5kIGhlbmNl
IGdldApkcm9wcGVkIGF0IHRoZSBzYW1lIHRpbWUuCgpXaXRoIHRoZSBtYXhf
cGFnZSBib3VuZGFyeSBkcm9wcGVkIGZvciB1c2luZyB1bml0eSBtYXBzLCB0
aGUgbWluaW11bQpwYWdlIHRhYmxlIHRyZWUgaGVpZ2h0IG5vdyBuZWVkcyBi
b3RoIHJlY29yZGluZyBhbmQgZW5mb3JjaW5nIGluCmFtZF9pb21tdV9kb21h
aW5faW5pdCgpLiBTaW5jZSB3ZSBjYW4ndCBwcmVkaWN0IHdoaWNoIGRldmlj
ZXMgbWF5IGdldAphc3NpZ25lZCB0byBhIGRvbWFpbiwgb3VyIG9ubHkgb3B0
aW9uIGlzIHRvIHVuaWZvcm1seSBmb3JjZSBhdCBsZWFzdAp0aGF0IGhlaWdo
dCBmb3IgYWxsIGRvbWFpbnMsIG5vdyB0aGF0IHRoZSBoZWlnaHQgaXNuJ3Qg
ZHluYW1pYyBhbnltb3JlLgoKRnVydGhlciBkb24ndCBtYWtlIHVzZSBvZiB0
aGUgZXhjbHVzaW9uIHJhbmdlIHVubGVzcyBBQ1BJIGRhdGEgc2F5cyBzby4K
Ck5vdGUgdGhhdCBleGNsdXNpb24gcmFuZ2UgcmVnaXN0cmF0aW9uIGluCnJl
Z2lzdGVyX3JhbmdlX2Zvcl9hbGxfZGV2aWNlcygpIGlzIG9uIGEgYmVzdCBl
ZmZvcnQgYmFzaXMuIEhlbmNlIHVuaXR5Cm1hcCBlbnRyaWVzIGFsc28gcmVn
aXN0ZXJlZCBhcmUgcmVkdW5kYW50IHdoZW4gdGhlIGZvcm1lciBzdWNjZWVk
ZWQsIGJ1dAp0aGV5IGFsc28gZG8gbm8gaGFybS4gSW1wcm92ZW1lbnRzIGlu
IHRoaXMgYXJlYSBjYW4gYmUgZG9uZSBsYXRlciBpbW8uCgpBbHNvIGFkanVz
dCB0eXBlcyB3aGVyZSBzdWl0YWJsZSB3aXRob3V0IHRvdWNoaW5nIGV4dHJh
IGxpbmVzLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS0zNzguCgpTaWduZWQtb2Zm
LWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+ClJldmlld2Vk
LWJ5OiBQYXVsIER1cnJhbnQgPHBhdWxAeGVuLm9yZz4KCi0tLSBhL3hlbi9k
cml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21tdS5oCisrKyBiL3hlbi9kcml2
ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21tdS5oCkBAIC0zMDgsNiArMzA4LDgg
QEAgZXh0ZXJuIHN0cnVjdCBocGV0X3NiZGYgewogICAgIH0gaW5pdDsKIH0g
aHBldF9zYmRmOwogCitleHRlcm4gaW50IGFtZF9pb21tdV9taW5fcGFnaW5n
X21vZGU7CisKIGV4dGVybiB2b2lkICpzaGFyZWRfaW50cmVtYXBfdGFibGU7
CiBleHRlcm4gdW5zaWduZWQgbG9uZyAqc2hhcmVkX2ludHJlbWFwX2ludXNl
OwogCi0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21tdV9h
Y3BpLmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11
X2FjcGkuYwpAQCAtMTE4LDEyICsxMTgsOCBAQCBzdGF0aWMgc3RydWN0IGFt
ZF9pb21tdSAqIF9faW5pdCBmaW5kX2lvCiB9CiAKIHN0YXRpYyBpbnQgX19p
bml0IHJlc2VydmVfaW9tbXVfZXhjbHVzaW9uX3JhbmdlKAotICAgIHN0cnVj
dCBhbWRfaW9tbXUgKmlvbW11LCB1aW50NjRfdCBiYXNlLCB1aW50NjRfdCBs
aW1pdCwKLSAgICBib29sIGFsbCwgYm9vbCBpdywgYm9vbCBpcikKKyAgICBz
dHJ1Y3QgYW1kX2lvbW11ICppb21tdSwgcGFkZHJfdCBiYXNlLCBwYWRkcl90
IGxpbWl0LCBib29sIGFsbCkKIHsKLSAgICBpZiAoICFpciB8fCAhaXcgKQot
ICAgICAgICByZXR1cm4gLUVQRVJNOwotCiAgICAgLyogbmVlZCB0byBleHRl
bmQgZXhjbHVzaW9uIHJhbmdlPyAqLwogICAgIGlmICggaW9tbXUtPmV4Y2x1
c2lvbl9lbmFibGUgKQogICAgIHsKQEAgLTE1MiwxNCArMTQ4LDE4IEBAIHN0
YXRpYyBpbnQgX19pbml0IHJlc2VydmVfdW5pdHlfbWFwX2Zvcl8KIHsKICAg
ICBzdHJ1Y3QgaXZyc19tYXBwaW5ncyAqaXZyc19tYXBwaW5ncyA9IGdldF9p
dnJzX21hcHBpbmdzKHNlZyk7CiAgICAgc3RydWN0IGl2cnNfdW5pdHlfbWFw
ICp1bml0eV9tYXAgPSBpdnJzX21hcHBpbmdzW2JkZl0udW5pdHlfbWFwOwor
ICAgIGludCBwYWdpbmdfbW9kZSA9IGFtZF9pb21tdV9nZXRfcGFnaW5nX21v
ZGUoUEZOX1VQKGJhc2UgKyBsZW5ndGgpKTsKKworICAgIGlmICggcGFnaW5n
X21vZGUgPCAwICkKKyAgICAgICAgcmV0dXJuIHBhZ2luZ19tb2RlOwogCiAg
ICAgLyogQ2hlY2sgZm9yIG92ZXJsYXBzLiAqLwogICAgIGZvciAoIDsgdW5p
dHlfbWFwOyB1bml0eV9tYXAgPSB1bml0eV9tYXAtPm5leHQgKQogICAgIHsK
ICAgICAgICAgLyoKICAgICAgICAgICogRXhhY3QgbWF0Y2hlcyBhcmUgb2th
eS4gVGhpcyBjYW4gaW4gcGFydGljdWxhciBoYXBwZW4gd2hlbgotICAgICAg
ICAgKiByZWdpc3Rlcl9leGNsdXNpb25fcmFuZ2VfZm9yX2RldmljZSgpIGNh
bGxzIGhlcmUgdHdpY2UgZm9yIHRoZQotICAgICAgICAgKiBzYW1lIChzLGIs
ZCxmKS4KKyAgICAgICAgICogcmVnaXN0ZXJfcmFuZ2VfZm9yX2RldmljZSgp
IGNhbGxzIGhlcmUgdHdpY2UgZm9yIHRoZSBzYW1lCisgICAgICAgICAqIChz
LGIsZCxmKS4KICAgICAgICAgICovCiAgICAgICAgIGlmICggYmFzZSA9PSB1
bml0eV9tYXAtPmFkZHIgJiYgbGVuZ3RoID09IHVuaXR5X21hcC0+bGVuZ3Ro
ICYmCiAgICAgICAgICAgICAgaXIgPT0gdW5pdHlfbWFwLT5yZWFkICYmIGl3
ID09IHVuaXR5X21hcC0+d3JpdGUgKQpAQCAtMTg3LDU1ICsxODcsNTIgQEAg
c3RhdGljIGludCBfX2luaXQgcmVzZXJ2ZV91bml0eV9tYXBfZm9yXwogICAg
IHVuaXR5X21hcC0+bmV4dCA9IGl2cnNfbWFwcGluZ3NbYmRmXS51bml0eV9t
YXA7CiAgICAgaXZyc19tYXBwaW5nc1tiZGZdLnVuaXR5X21hcCA9IHVuaXR5
X21hcDsKIAorICAgIGlmICggcGFnaW5nX21vZGUgPiBhbWRfaW9tbXVfbWlu
X3BhZ2luZ19tb2RlICkKKyAgICAgICAgYW1kX2lvbW11X21pbl9wYWdpbmdf
bW9kZSA9IHBhZ2luZ19tb2RlOworCiAgICAgcmV0dXJuIDA7CiB9CiAKLXN0
YXRpYyBpbnQgX19pbml0IHJlZ2lzdGVyX2V4Y2x1c2lvbl9yYW5nZV9mb3Jf
YWxsX2RldmljZXMoCi0gICAgdW5zaWduZWQgbG9uZyBiYXNlLCB1bnNpZ25l
ZCBsb25nIGxpbWl0LCB1OCBpdywgdTggaXIpCitzdGF0aWMgaW50IF9faW5p
dCByZWdpc3Rlcl9yYW5nZV9mb3JfYWxsX2RldmljZXMoCisgICAgcGFkZHJf
dCBiYXNlLCBwYWRkcl90IGxpbWl0LCBib29sIGl3LCBib29sIGlyLCBib29s
IGV4Y2x1c2lvbikKIHsKICAgICBpbnQgc2VnID0gMDsgLyogWFhYICovCi0g
ICAgdW5zaWduZWQgbG9uZyByYW5nZV90b3AsIGlvbW11X3RvcCwgbGVuZ3Ro
OwogICAgIHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11OwotICAgIHVuc2lnbmVk
IGludCBiZGY7CiAgICAgaW50IHJjID0gMDsKIAogICAgIC8qIGlzIHBhcnQg
b2YgZXhjbHVzaW9uIHJhbmdlIGluc2lkZSBvZiBJT01NVSB2aXJ0dWFsIGFk
ZHJlc3Mgc3BhY2U/ICovCiAgICAgLyogbm90ZTogJ2xpbWl0JyBwYXJhbWV0
ZXIgaXMgYXNzdW1lZCB0byBiZSBwYWdlLWFsaWduZWQgKi8KLSAgICByYW5n
ZV90b3AgPSBsaW1pdCArIFBBR0VfU0laRTsKLSAgICBpb21tdV90b3AgPSBt
YXhfcGFnZSAqIFBBR0VfU0laRTsKLSAgICBpZiAoIGJhc2UgPCBpb21tdV90
b3AgKQotICAgIHsKLSAgICAgICAgaWYgKCByYW5nZV90b3AgPiBpb21tdV90
b3AgKQotICAgICAgICAgICAgcmFuZ2VfdG9wID0gaW9tbXVfdG9wOwotICAg
ICAgICBsZW5ndGggPSByYW5nZV90b3AgLSBiYXNlOwotICAgICAgICAvKiBy
ZXNlcnZlIHIvdyB1bml0eS1tYXBwZWQgcGFnZSBlbnRyaWVzIGZvciBkZXZp
Y2VzICovCi0gICAgICAgIC8qIG5vdGU6IHRoZXNlIGVudHJpZXMgYXJlIHBh
cnQgb2YgdGhlIGV4Y2x1c2lvbiByYW5nZSAqLwotICAgICAgICBmb3IgKCBi
ZGYgPSAwOyAhcmMgJiYgYmRmIDwgaXZyc19iZGZfZW50cmllczsgYmRmKysg
KQotICAgICAgICAgICAgcmMgPSByZXNlcnZlX3VuaXR5X21hcF9mb3JfZGV2
aWNlKHNlZywgYmRmLCBiYXNlLCBsZW5ndGgsIGl3LCBpcik7Ci0gICAgICAg
IC8qIHB1c2ggJ2Jhc2UnIGp1c3Qgb3V0c2lkZSBvZiB2aXJ0dWFsIGFkZHJl
c3Mgc3BhY2UgKi8KLSAgICAgICAgYmFzZSA9IGlvbW11X3RvcDsKLSAgICB9
Ci0gICAgLyogcmVnaXN0ZXIgSU9NTVUgZXhjbHVzaW9uIHJhbmdlIHNldHRp
bmdzICovCi0gICAgaWYgKCAhcmMgJiYgbGltaXQgPj0gaW9tbXVfdG9wICkK
KyAgICBpZiAoIGV4Y2x1c2lvbiApCiAgICAgewogICAgICAgICBmb3JfZWFj
aF9hbWRfaW9tbXUoIGlvbW11ICkKICAgICAgICAgewotICAgICAgICAgICAg
cmMgPSByZXNlcnZlX2lvbW11X2V4Y2x1c2lvbl9yYW5nZShpb21tdSwgYmFz
ZSwgbGltaXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHRydWUgLyogYWxsICovLCBpdywgaXIpOwotICAgICAg
ICAgICAgaWYgKCByYyApCi0gICAgICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgICAgICBpbnQgcmV0ID0gcmVzZXJ2ZV9pb21tdV9leGNsdXNpb25fcmFu
Z2UoaW9tbXUsIGJhc2UsIGxpbWl0LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgLyogYWxsICov
KTsKKworICAgICAgICAgICAgaWYgKCByZXQgJiYgIXJjICkKKyAgICAgICAg
ICAgICAgICByYyA9IHJldDsKICAgICAgICAgfQogICAgIH0KIAorICAgIGlm
ICggIWV4Y2x1c2lvbiB8fCByYyApCisgICAgeworICAgICAgICBwYWRkcl90
IGxlbmd0aCA9IGxpbWl0ICsgUEFHRV9TSVpFIC0gYmFzZTsKKyAgICAgICAg
dW5zaWduZWQgaW50IGJkZjsKKworICAgICAgICAvKiByZXNlcnZlIHIvdyB1
bml0eS1tYXBwZWQgcGFnZSBlbnRyaWVzIGZvciBkZXZpY2VzICovCisgICAg
ICAgIGZvciAoIGJkZiA9IHJjID0gMDsgIXJjICYmIGJkZiA8IGl2cnNfYmRm
X2VudHJpZXM7IGJkZisrICkKKyAgICAgICAgICAgIHJjID0gcmVzZXJ2ZV91
bml0eV9tYXBfZm9yX2RldmljZShzZWcsIGJkZiwgYmFzZSwgbGVuZ3RoLCBp
dywgaXIpOworICAgIH0KKwogICAgIHJldHVybiByYzsKIH0KIAotc3RhdGlj
IGludCBfX2luaXQgcmVnaXN0ZXJfZXhjbHVzaW9uX3JhbmdlX2Zvcl9kZXZp
Y2UoCi0gICAgdTE2IGJkZiwgdW5zaWduZWQgbG9uZyBiYXNlLCB1bnNpZ25l
ZCBsb25nIGxpbWl0LCB1OCBpdywgdTggaXIpCitzdGF0aWMgaW50IF9faW5p
dCByZWdpc3Rlcl9yYW5nZV9mb3JfZGV2aWNlKAorICAgIHVuc2lnbmVkIGlu
dCBiZGYsIHBhZGRyX3QgYmFzZSwgcGFkZHJfdCBsaW1pdCwKKyAgICBib29s
IGl3LCBib29sIGlyLCBib29sIGV4Y2x1c2lvbikKIHsKICAgICBpbnQgc2Vn
ID0gMDsgLyogWFhYICovCiAgICAgc3RydWN0IGl2cnNfbWFwcGluZ3MgKml2
cnNfbWFwcGluZ3MgPSBnZXRfaXZyc19tYXBwaW5ncyhzZWcpOwotICAgIHVu
c2lnbmVkIGxvbmcgcmFuZ2VfdG9wLCBpb21tdV90b3AsIGxlbmd0aDsKICAg
ICBzdHJ1Y3QgYW1kX2lvbW11ICppb21tdTsKICAgICB1MTYgcmVxOwogICAg
IGludCByYyA9IDA7CkBAIC0yNDksMjcgKzI0NiwxOSBAQCBzdGF0aWMgaW50
IF9faW5pdCByZWdpc3Rlcl9leGNsdXNpb25fcmFuCiAgICAgcmVxID0gaXZy
c19tYXBwaW5nc1tiZGZdLmR0ZV9yZXF1ZXN0b3JfaWQ7CiAKICAgICAvKiBu
b3RlOiAnbGltaXQnIHBhcmFtZXRlciBpcyBhc3N1bWVkIHRvIGJlIHBhZ2Ut
YWxpZ25lZCAqLwotICAgIHJhbmdlX3RvcCA9IGxpbWl0ICsgUEFHRV9TSVpF
OwotICAgIGlvbW11X3RvcCA9IG1heF9wYWdlICogUEFHRV9TSVpFOwotICAg
IGlmICggYmFzZSA8IGlvbW11X3RvcCApCi0gICAgewotICAgICAgICBpZiAo
IHJhbmdlX3RvcCA+IGlvbW11X3RvcCApCi0gICAgICAgICAgICByYW5nZV90
b3AgPSBpb21tdV90b3A7Ci0gICAgICAgIGxlbmd0aCA9IHJhbmdlX3RvcCAt
IGJhc2U7CisgICAgaWYgKCBleGNsdXNpb24gKQorICAgICAgICByYyA9IHJl
c2VydmVfaW9tbXVfZXhjbHVzaW9uX3JhbmdlKGlvbW11LCBiYXNlLCBsaW1p
dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBmYWxzZSAvKiBhbGwgKi8pOworICAgIGlmICggIWV4Y2x1c2lvbiB8fCBy
YyApCisgICAgeworICAgICAgICBwYWRkcl90IGxlbmd0aCA9IGxpbWl0ICsg
UEFHRV9TSVpFIC0gYmFzZTsKKwogICAgICAgICAvKiByZXNlcnZlIHVuaXR5
LW1hcHBlZCBwYWdlIGVudHJpZXMgZm9yIGRldmljZSAqLwotICAgICAgICAv
KiBub3RlOiB0aGVzZSBlbnRyaWVzIGFyZSBwYXJ0IG9mIHRoZSBleGNsdXNp
b24gcmFuZ2UgKi8KICAgICAgICAgcmMgPSByZXNlcnZlX3VuaXR5X21hcF9m
b3JfZGV2aWNlKHNlZywgYmRmLCBiYXNlLCBsZW5ndGgsIGl3LCBpcikgPzoK
ICAgICAgICAgICAgICByZXNlcnZlX3VuaXR5X21hcF9mb3JfZGV2aWNlKHNl
ZywgcmVxLCBiYXNlLCBsZW5ndGgsIGl3LCBpcik7Ci0KLSAgICAgICAgLyog
cHVzaCAnYmFzZScganVzdCBvdXRzaWRlIG9mIHZpcnR1YWwgYWRkcmVzcyBz
cGFjZSAqLwotICAgICAgICBiYXNlID0gaW9tbXVfdG9wOwogICAgIH0KLQot
ICAgIC8qIHJlZ2lzdGVyIElPTU1VIGV4Y2x1c2lvbiByYW5nZSBzZXR0aW5n
cyBmb3IgZGV2aWNlICovCi0gICAgaWYgKCAhcmMgJiYgbGltaXQgPj0gaW9t
bXVfdG9wICApCisgICAgZWxzZQogICAgIHsKLSAgICAgICAgcmMgPSByZXNl
cnZlX2lvbW11X2V4Y2x1c2lvbl9yYW5nZShpb21tdSwgYmFzZSwgbGltaXQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZmFsc2UgLyogYWxsICovLCBpdywgaXIpOwogICAgICAgICBpdnJzX21hcHBp
bmdzW2JkZl0uZHRlX2FsbG93X2V4Y2x1c2lvbiA9IHRydWU7CiAgICAgICAg
IGl2cnNfbWFwcGluZ3NbcmVxXS5kdGVfYWxsb3dfZXhjbHVzaW9uID0gdHJ1
ZTsKICAgICB9CkBAIC0yNzcsNTMgKzI2Niw0MiBAQCBzdGF0aWMgaW50IF9f
aW5pdCByZWdpc3Rlcl9leGNsdXNpb25fcmFuCiAgICAgcmV0dXJuIHJjOwog
fQogCi1zdGF0aWMgaW50IF9faW5pdCByZWdpc3Rlcl9leGNsdXNpb25fcmFu
Z2VfZm9yX2lvbW11X2RldmljZXMoCi0gICAgc3RydWN0IGFtZF9pb21tdSAq
aW9tbXUsCi0gICAgdW5zaWduZWQgbG9uZyBiYXNlLCB1bnNpZ25lZCBsb25n
IGxpbWl0LCB1OCBpdywgdTggaXIpCitzdGF0aWMgaW50IF9faW5pdCByZWdp
c3Rlcl9yYW5nZV9mb3JfaW9tbXVfZGV2aWNlcygKKyAgICBzdHJ1Y3QgYW1k
X2lvbW11ICppb21tdSwgcGFkZHJfdCBiYXNlLCBwYWRkcl90IGxpbWl0LAor
ICAgIGJvb2wgaXcsIGJvb2wgaXIsIGJvb2wgZXhjbHVzaW9uKQogewotICAg
IHVuc2lnbmVkIGxvbmcgcmFuZ2VfdG9wLCBpb21tdV90b3AsIGxlbmd0aDsK
KyAgICAvKiBub3RlOiAnbGltaXQnIHBhcmFtZXRlciBpcyBhc3N1bWVkIHRv
IGJlIHBhZ2UtYWxpZ25lZCAqLworICAgIHBhZGRyX3QgbGVuZ3RoID0gbGlt
aXQgKyBQQUdFX1NJWkUgLSBiYXNlOwogICAgIHVuc2lnbmVkIGludCBiZGY7
CiAgICAgdTE2IHJlcTsKLSAgICBpbnQgcmMgPSAwOworICAgIGludCByYzsK
IAotICAgIC8qIGlzIHBhcnQgb2YgZXhjbHVzaW9uIHJhbmdlIGluc2lkZSBv
ZiBJT01NVSB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2U/ICovCi0gICAgLyogbm90
ZTogJ2xpbWl0JyBwYXJhbWV0ZXIgaXMgYXNzdW1lZCB0byBiZSBwYWdlLWFs
aWduZWQgKi8KLSAgICByYW5nZV90b3AgPSBsaW1pdCArIFBBR0VfU0laRTsK
LSAgICBpb21tdV90b3AgPSBtYXhfcGFnZSAqIFBBR0VfU0laRTsKLSAgICBp
ZiAoIGJhc2UgPCBpb21tdV90b3AgKQotICAgIHsKLSAgICAgICAgaWYgKCBy
YW5nZV90b3AgPiBpb21tdV90b3AgKQotICAgICAgICAgICAgcmFuZ2VfdG9w
ID0gaW9tbXVfdG9wOwotICAgICAgICBsZW5ndGggPSByYW5nZV90b3AgLSBi
YXNlOwotICAgICAgICAvKiByZXNlcnZlIHIvdyB1bml0eS1tYXBwZWQgcGFn
ZSBlbnRyaWVzIGZvciBkZXZpY2VzICovCi0gICAgICAgIC8qIG5vdGU6IHRo
ZXNlIGVudHJpZXMgYXJlIHBhcnQgb2YgdGhlIGV4Y2x1c2lvbiByYW5nZSAq
LwotICAgICAgICBmb3IgKCBiZGYgPSAwOyAhcmMgJiYgYmRmIDwgaXZyc19i
ZGZfZW50cmllczsgYmRmKysgKQotICAgICAgICB7Ci0gICAgICAgICAgICBp
ZiAoIGlvbW11ID09IGZpbmRfaW9tbXVfZm9yX2RldmljZShpb21tdS0+c2Vn
LCBiZGYpICkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICByZXEg
PSBnZXRfaXZyc19tYXBwaW5ncyhpb21tdS0+c2VnKVtiZGZdLmR0ZV9yZXF1
ZXN0b3JfaWQ7Ci0gICAgICAgICAgICAgICAgcmMgPSByZXNlcnZlX3VuaXR5
X21hcF9mb3JfZGV2aWNlKGlvbW11LT5zZWcsIGJkZiwgYmFzZSwgbGVuZ3Ro
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpdywgaXIpID86Ci0gICAgICAgICAgICAgICAgICAgICByZXNl
cnZlX3VuaXR5X21hcF9mb3JfZGV2aWNlKGlvbW11LT5zZWcsIHJlcSwgYmFz
ZSwgbGVuZ3RoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpdywgaXIpOwotICAgICAgICAgICAgfQotICAg
ICAgICB9Ci0KLSAgICAgICAgLyogcHVzaCAnYmFzZScganVzdCBvdXRzaWRl
IG9mIHZpcnR1YWwgYWRkcmVzcyBzcGFjZSAqLwotICAgICAgICBiYXNlID0g
aW9tbXVfdG9wOworICAgIGlmICggZXhjbHVzaW9uICkKKyAgICB7CisgICAg
ICAgIHJjID0gcmVzZXJ2ZV9pb21tdV9leGNsdXNpb25fcmFuZ2UoaW9tbXUs
IGJhc2UsIGxpbWl0LCB0cnVlIC8qIGFsbCAqLyk7CisgICAgICAgIGlmICgg
IXJjICkKKyAgICAgICAgICAgIHJldHVybiAwOwogICAgIH0KIAotICAgIC8q
IHJlZ2lzdGVyIElPTU1VIGV4Y2x1c2lvbiByYW5nZSBzZXR0aW5ncyAqLwot
ICAgIGlmICggIXJjICYmIGxpbWl0ID49IGlvbW11X3RvcCApCi0gICAgICAg
IHJjID0gcmVzZXJ2ZV9pb21tdV9leGNsdXNpb25fcmFuZ2UoaW9tbXUsIGJh
c2UsIGxpbWl0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHRydWUgLyogYWxsICovLCBpdywgaXIpOworICAgIC8qIHJl
c2VydmUgdW5pdHktbWFwcGVkIHBhZ2UgZW50cmllcyBmb3IgZGV2aWNlcyAq
LworICAgIGZvciAoIGJkZiA9IHJjID0gMDsgIXJjICYmIGJkZiA8IGl2cnNf
YmRmX2VudHJpZXM7IGJkZisrICkKKyAgICB7CisgICAgICAgIGlmICggaW9t
bXUgIT0gZmluZF9pb21tdV9mb3JfZGV2aWNlKGlvbW11LT5zZWcsIGJkZikg
KQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgcmVxID0gZ2V0
X2l2cnNfbWFwcGluZ3MoaW9tbXUtPnNlZylbYmRmXS5kdGVfcmVxdWVzdG9y
X2lkOworICAgICAgICByYyA9IHJlc2VydmVfdW5pdHlfbWFwX2Zvcl9kZXZp
Y2UoaW9tbXUtPnNlZywgYmRmLCBiYXNlLCBsZW5ndGgsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdywgaXIpID86Cisg
ICAgICAgICAgICAgcmVzZXJ2ZV91bml0eV9tYXBfZm9yX2RldmljZShpb21t
dS0+c2VnLCByZXEsIGJhc2UsIGxlbmd0aCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGl3LCBpcik7CisgICAgfQogCiAg
ICAgcmV0dXJuIHJjOwogfQogCiBzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9p
dm1kX2RldmljZV9zZWxlY3QoCiAgICAgY29uc3Qgc3RydWN0IGFjcGlfaXZy
c19tZW1vcnkgKml2bWRfYmxvY2ssCi0gICAgdW5zaWduZWQgbG9uZyBiYXNl
LCB1bnNpZ25lZCBsb25nIGxpbWl0LCB1OCBpdywgdTggaXIpCisgICAgcGFk
ZHJfdCBiYXNlLCBwYWRkcl90IGxpbWl0LCBib29sIGl3LCBib29sIGlyLCBi
b29sIGV4Y2x1c2lvbikKIHsKICAgICB1MTYgYmRmOwogCkBAIC0zMzQsMTIg
KzMxMiwxMiBAQCBzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9pdm1kX2Rldmlj
ZV9zZWxlCiAgICAgICAgIHJldHVybiAtRU5PREVWOwogICAgIH0KIAotICAg
IHJldHVybiByZWdpc3Rlcl9leGNsdXNpb25fcmFuZ2VfZm9yX2RldmljZShi
ZGYsIGJhc2UsIGxpbWl0LCBpdywgaXIpOworICAgIHJldHVybiByZWdpc3Rl
cl9yYW5nZV9mb3JfZGV2aWNlKGJkZiwgYmFzZSwgbGltaXQsIGl3LCBpciwg
ZXhjbHVzaW9uKTsKIH0KIAogc3RhdGljIGludCBfX2luaXQgcGFyc2VfaXZt
ZF9kZXZpY2VfcmFuZ2UoCiAgICAgY29uc3Qgc3RydWN0IGFjcGlfaXZyc19t
ZW1vcnkgKml2bWRfYmxvY2ssCi0gICAgdW5zaWduZWQgbG9uZyBiYXNlLCB1
bnNpZ25lZCBsb25nIGxpbWl0LCB1OCBpdywgdTggaXIpCisgICAgcGFkZHJf
dCBiYXNlLCBwYWRkcl90IGxpbWl0LCBib29sIGl3LCBib29sIGlyLCBib29s
IGV4Y2x1c2lvbikKIHsKICAgICB1bnNpZ25lZCBpbnQgZmlyc3RfYmRmLCBs
YXN0X2JkZiwgYmRmOwogICAgIGludCBlcnJvcjsKQEAgLTM2MSwxNSArMzM5
LDE1IEBAIHN0YXRpYyBpbnQgX19pbml0IHBhcnNlX2l2bWRfZGV2aWNlX3Jh
bmcKICAgICB9CiAKICAgICBmb3IgKCBiZGYgPSBmaXJzdF9iZGYsIGVycm9y
ID0gMDsgKGJkZiA8PSBsYXN0X2JkZikgJiYgIWVycm9yOyBiZGYrKyApCi0g
ICAgICAgIGVycm9yID0gcmVnaXN0ZXJfZXhjbHVzaW9uX3JhbmdlX2Zvcl9k
ZXZpY2UoCi0gICAgICAgICAgICBiZGYsIGJhc2UsIGxpbWl0LCBpdywgaXIp
OworICAgICAgICBlcnJvciA9IHJlZ2lzdGVyX3JhbmdlX2Zvcl9kZXZpY2Uo
CisgICAgICAgICAgICBiZGYsIGJhc2UsIGxpbWl0LCBpdywgaXIsIGV4Y2x1
c2lvbik7CiAKICAgICByZXR1cm4gZXJyb3I7CiB9CiAKIHN0YXRpYyBpbnQg
X19pbml0IHBhcnNlX2l2bWRfZGV2aWNlX2lvbW11KAogICAgIGNvbnN0IHN0
cnVjdCBhY3BpX2l2cnNfbWVtb3J5ICppdm1kX2Jsb2NrLAotICAgIHVuc2ln
bmVkIGxvbmcgYmFzZSwgdW5zaWduZWQgbG9uZyBsaW1pdCwgdTggaXcsIHU4
IGlyKQorICAgIHBhZGRyX3QgYmFzZSwgcGFkZHJfdCBsaW1pdCwgYm9vbCBp
dywgYm9vbCBpciwgYm9vbCBleGNsdXNpb24pCiB7CiAgICAgaW50IHNlZyA9
IDA7IC8qIFhYWCAqLwogICAgIHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11OwpA
QCAtMzg0LDE0ICszNjIsMTQgQEAgc3RhdGljIGludCBfX2luaXQgcGFyc2Vf
aXZtZF9kZXZpY2VfaW9tbQogICAgICAgICByZXR1cm4gLUVOT0RFVjsKICAg
ICB9CiAKLSAgICByZXR1cm4gcmVnaXN0ZXJfZXhjbHVzaW9uX3JhbmdlX2Zv
cl9pb21tdV9kZXZpY2VzKAotICAgICAgICBpb21tdSwgYmFzZSwgbGltaXQs
IGl3LCBpcik7CisgICAgcmV0dXJuIHJlZ2lzdGVyX3JhbmdlX2Zvcl9pb21t
dV9kZXZpY2VzKAorICAgICAgICBpb21tdSwgYmFzZSwgbGltaXQsIGl3LCBp
ciwgZXhjbHVzaW9uKTsKIH0KIAogc3RhdGljIGludCBfX2luaXQgcGFyc2Vf
aXZtZF9ibG9jayhjb25zdCBzdHJ1Y3QgYWNwaV9pdnJzX21lbW9yeSAqaXZt
ZF9ibG9jaykKIHsKICAgICB1bnNpZ25lZCBsb25nIHN0YXJ0X2FkZHIsIG1l
bV9sZW5ndGgsIGJhc2UsIGxpbWl0OwotICAgIHU4IGl3LCBpcjsKKyAgICBi
b29sIGl3ID0gdHJ1ZSwgaXIgPSB0cnVlLCBleGNsdXNpb24gPSBmYWxzZTsK
IAogICAgIGlmICggaXZtZF9ibG9jay0+aGVhZGVyLmxlbmd0aCA8IHNpemVv
ZigqaXZtZF9ibG9jaykgKQogICAgIHsKQEAgLTQwOCwxMyArMzg2LDExIEBA
IHN0YXRpYyBpbnQgX19pbml0IHBhcnNlX2l2bWRfYmxvY2soY29uc3QKICAg
ICAgICAgICAgICAgICAgICAgaXZtZF9ibG9jay0+aGVhZGVyLnR5cGUsIHN0
YXJ0X2FkZHIsIG1lbV9sZW5ndGgpOwogCiAgICAgaWYgKCBpdm1kX2Jsb2Nr
LT5oZWFkZXIuZmxhZ3MgJiBBQ1BJX0lWTURfRVhDTFVTSU9OX1JBTkdFICkK
LSAgICAgICAgaXcgPSBpciA9IElPTU1VX0NPTlRST0xfRU5BQkxFRDsKKyAg
ICAgICAgZXhjbHVzaW9uID0gdHJ1ZTsKICAgICBlbHNlIGlmICggaXZtZF9i
bG9jay0+aGVhZGVyLmZsYWdzICYgQUNQSV9JVk1EX1VOSVRZICkKICAgICB7
Ci0gICAgICAgIGl3ID0gaXZtZF9ibG9jay0+aGVhZGVyLmZsYWdzICYgQUNQ
SV9JVk1EX1JFQUQgPwotICAgICAgICAgICAgSU9NTVVfQ09OVFJPTF9FTkFC
TEVEIDogSU9NTVVfQ09OVFJPTF9ESVNBQkxFRDsKLSAgICAgICAgaXIgPSBp
dm1kX2Jsb2NrLT5oZWFkZXIuZmxhZ3MgJiBBQ1BJX0lWTURfV1JJVEUgPwot
ICAgICAgICAgICAgSU9NTVVfQ09OVFJPTF9FTkFCTEVEIDogSU9NTVVfQ09O
VFJPTF9ESVNBQkxFRDsKKyAgICAgICAgaXcgPSBpdm1kX2Jsb2NrLT5oZWFk
ZXIuZmxhZ3MgJiBBQ1BJX0lWTURfUkVBRDsKKyAgICAgICAgaXIgPSBpdm1k
X2Jsb2NrLT5oZWFkZXIuZmxhZ3MgJiBBQ1BJX0lWTURfV1JJVEU7CiAgICAg
fQogICAgIGVsc2UKICAgICB7CkBAIC00MjUsMjAgKzQwMSwyMCBAQCBzdGF0
aWMgaW50IF9faW5pdCBwYXJzZV9pdm1kX2Jsb2NrKGNvbnN0CiAgICAgc3dp
dGNoKCBpdm1kX2Jsb2NrLT5oZWFkZXIudHlwZSApCiAgICAgewogICAgIGNh
c2UgQUNQSV9JVlJTX1RZUEVfTUVNT1JZX0FMTDoKLSAgICAgICAgcmV0dXJu
IHJlZ2lzdGVyX2V4Y2x1c2lvbl9yYW5nZV9mb3JfYWxsX2RldmljZXMoCi0g
ICAgICAgICAgICBiYXNlLCBsaW1pdCwgaXcsIGlyKTsKKyAgICAgICAgcmV0
dXJuIHJlZ2lzdGVyX3JhbmdlX2Zvcl9hbGxfZGV2aWNlcygKKyAgICAgICAg
ICAgIGJhc2UsIGxpbWl0LCBpdywgaXIsIGV4Y2x1c2lvbik7CiAKICAgICBj
YXNlIEFDUElfSVZSU19UWVBFX01FTU9SWV9PTkU6Ci0gICAgICAgIHJldHVy
biBwYXJzZV9pdm1kX2RldmljZV9zZWxlY3QoaXZtZF9ibG9jaywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlLCBsaW1p
dCwgaXcsIGlyKTsKKyAgICAgICAgcmV0dXJuIHBhcnNlX2l2bWRfZGV2aWNl
X3NlbGVjdChpdm1kX2Jsb2NrLCBiYXNlLCBsaW1pdCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdywgaXIsIGV4Y2x1c2lv
bik7CiAKICAgICBjYXNlIEFDUElfSVZSU19UWVBFX01FTU9SWV9SQU5HRToK
LSAgICAgICAgcmV0dXJuIHBhcnNlX2l2bWRfZGV2aWNlX3JhbmdlKGl2bWRf
YmxvY2ssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBiYXNlLCBsaW1pdCwgaXcsIGlyKTsKKyAgICAgICAgcmV0dXJuIHBhcnNl
X2l2bWRfZGV2aWNlX3JhbmdlKGl2bWRfYmxvY2ssIGJhc2UsIGxpbWl0LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXcsIGly
LCBleGNsdXNpb24pOwogCiAgICAgY2FzZSBBQ1BJX0lWUlNfVFlQRV9NRU1P
UllfSU9NTVU6Ci0gICAgICAgIHJldHVybiBwYXJzZV9pdm1kX2RldmljZV9p
b21tdShpdm1kX2Jsb2NrLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYmFzZSwgbGltaXQsIGl3LCBpcik7CisgICAgICAgIHJl
dHVybiBwYXJzZV9pdm1kX2RldmljZV9pb21tdShpdm1kX2Jsb2NrLCBiYXNl
LCBsaW1pdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGl3LCBpciwgZXhjbHVzaW9uKTsKIAogICAgIGRlZmF1bHQ6CiAgICAg
ICAgIEFNRF9JT01NVV9ERUJVRygiSVZNRCBFcnJvcjogSW52YWxpZCBCbG9j
ayBUeXBlIVxuIik7Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2Ft
ZC9wY2lfYW1kX2lvbW11LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91
Z2gvYW1kL3BjaV9hbWRfaW9tbXUuYwpAQCAtMjMxLDYgKzIzMSw4IEBAIHN0
YXRpYyBpbnQgX19tdXN0X2NoZWNrIGFsbG9jYXRlX2RvbWFpbl8KICAgICBy
ZXR1cm4gcmM7CiB9CiAKK2ludCBfX3JlYWRfbW9zdGx5IGFtZF9pb21tdV9t
aW5fcGFnaW5nX21vZGUgPSAxOworCiBzdGF0aWMgaW50IGFtZF9pb21tdV9k
b21haW5faW5pdChzdHJ1Y3QgZG9tYWluICpkKQogewogICAgIHN0cnVjdCBk
b21haW5faW9tbXUgKmhkID0gZG9tX2lvbW11KGQpOwpAQCAtMjQyLDExICsy
NDQsMTMgQEAgc3RhdGljIGludCBhbWRfaW9tbXVfZG9tYWluX2luaXQoc3Ry
dWN0CiAgICAgICogLSBIVk0gY291bGQgaW4gcHJpbmNpcGxlIHVzZSAzIG9y
IDQgZGVwZW5kaW5nIG9uIGhvdyBtdWNoIGd1ZXN0CiAgICAgICogICBwaHlz
aWNhbCBhZGRyZXNzIHNwYWNlIHdlIGdpdmUgaXQsIGJ1dCB0aGlzIGlzbid0
IGtub3duIHlldCBzbyB1c2UgNAogICAgICAqICAgdW5pbGF0ZXJhbGx5Lgor
ICAgICAqIC0gVW5pdHkgbWFwcyBtYXkgcmVxdWlyZSBhbiBldmVuIGhpZ2hl
ciBudW1iZXIuCiAgICAgICovCi0gICAgaGQtPmFyY2gucGFnaW5nX21vZGUg
PSBhbWRfaW9tbXVfZ2V0X3BhZ2luZ19tb2RlKAotICAgICAgICBpc19odm1f
ZG9tYWluKGQpCi0gICAgICAgID8gMXVsIDw8IChERUZBVUxUX0RPTUFJTl9B
RERSRVNTX1dJRFRIIC0gUEFHRV9TSElGVCkKLSAgICAgICAgOiBnZXRfdXBw
ZXJfbWZuX2JvdW5kKCkgKyAxKTsKKyAgICBoZC0+YXJjaC5wYWdpbmdfbW9k
ZSA9IG1heChhbWRfaW9tbXVfZ2V0X3BhZ2luZ19tb2RlKAorICAgICAgICAg
ICAgaXNfaHZtX2RvbWFpbihkKQorICAgICAgICAgICAgPyAxdWwgPDwgKERF
RkFVTFRfRE9NQUlOX0FERFJFU1NfV0lEVEggLSBQQUdFX1NISUZUKQorICAg
ICAgICAgICAgOiBnZXRfdXBwZXJfbWZuX2JvdW5kKCkgKyAxKSwKKyAgICAg
ICAgYW1kX2lvbW11X21pbl9wYWdpbmdfbW9kZSk7CiAKICAgICByZXR1cm4g
MDsKIH0K

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.14-7.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.14-7.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvcDJtOiBpbnRyb2R1Y2UgcDJtX2lzX3NwZWNpYWwoKQoKU2VlaW5n
IHRoZSBzaW1pbGFyaXR5IG9mIGdyYW50LCBmb3JlaWduLCBhbmQgKHN1YnNl
cXVlbnRseSkgZGlyZWN0LU1NSU8KaGFuZGxpbmcsIGludHJvZHVjZSBhIG5l
dyBQMk0gdHlwZSBncm91cCBuYW1lZCAic3BlY2lhbCIgKGFzIGluICJuZWVk
aW5nCnNwZWNpYWwgYWNjZXNzb3JzIHRvIGNyZWF0ZS9kZXN0cm95IikuCgpB
bHNvIHVzZSAtRVBFUk0gaW5zdGVhZCBvZiBvdGhlciBlcnJvciBjb2RlcyBv
biB0aGUgdHdvIGRvbWFpbl9jcmFzaCgpCnBhdGhzIHRvdWNoZWQuCgpUaGlz
IGlzIHBhcnQgb2YgWFNBLTM3OC4KClNpZ25lZC1vZmYtYnk6IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFBhdWwgRHVy
cmFudCA8cGF1bEB4ZW4ub3JnPgoKLS0tIGEveGVuL2FyY2gveDg2L21tL3Ay
bS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYwpAQCAtODA3LDcgKzgw
Nyw3IEBAIHAybV9yZW1vdmVfcGFnZShzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJt
LAogICAgICAgICBmb3IgKCBpID0gMDsgaSA8ICgxVUwgPDwgcGFnZV9vcmRl
cik7IGkrKyApCiAgICAgICAgIHsKICAgICAgICAgICAgIHAybS0+Z2V0X2Vu
dHJ5KHAybSwgZ2ZuX2FkZChnZm4sIGkpLCAmdCwgJmEsIDAsIE5VTEwsIE5V
TEwpOwotICAgICAgICAgICAgaWYgKCAhcDJtX2lzX2dyYW50KHQpICYmICFw
Mm1faXNfc2hhcmVkKHQpICYmICFwMm1faXNfZm9yZWlnbih0KSApCisgICAg
ICAgICAgICBpZiAoICFwMm1faXNfc3BlY2lhbCh0KSAmJiAhcDJtX2lzX3No
YXJlZCh0KSApCiAgICAgICAgICAgICAgICAgc2V0X2dwZm5fZnJvbV9tZm4o
bWZuX3gobWZuKSArIGksIElOVkFMSURfTTJQX0VOVFJZKTsKICAgICAgICAg
fQogICAgIH0KQEAgLTkzNSwxMyArOTM1LDEzIEBAIGd1ZXN0X3BoeXNtYXBf
YWRkX2VudHJ5KHN0cnVjdCBkb21haW4gKmQKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAmb3QsICZhLCAwLCBOVUxMLCBOVUxMKTsKICAg
ICAgICAgICAgIEFTU0VSVCghcDJtX2lzX3NoYXJlZChvdCkpOwogICAgICAg
ICB9Ci0gICAgICAgIGlmICggcDJtX2lzX2dyYW50KG90KSB8fCBwMm1faXNf
Zm9yZWlnbihvdCkgKQorICAgICAgICBpZiAoIHAybV9pc19zcGVjaWFsKG90
KSApCiAgICAgICAgIHsKLSAgICAgICAgICAgIC8qIFJlYWxseSBzaG91bGRu
J3QgYmUgdW5tYXBwaW5nIGdyYW50L2ZvcmVpZ24gbWFwcyB0aGlzIHdheSAq
LworICAgICAgICAgICAgLyogRG9uJ3QgcGVybWl0IHVubWFwcGluZyBncmFu
dC9mb3JlaWduIHRoaXMgd2F5LiAqLwogICAgICAgICAgICAgZG9tYWluX2Ny
YXNoKGQpOwogICAgICAgICAgICAgcDJtX3VubG9jayhwMm0pOwogICAgICAg
ICAgICAgCi0gICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKKyAgICAgICAg
ICAgIHJldHVybiAtRVBFUk07CiAgICAgICAgIH0KICAgICAgICAgZWxzZSBp
ZiAoIHAybV9pc19yYW0ob3QpICYmICFwMm1faXNfcGFnZWQob3QpICkKICAg
ICAgICAgewpAQCAtMTAzNSw4ICsxMDM1LDcgQEAgaW50IHAybV9jaGFuZ2Vf
dHlwZV9vbmUoc3RydWN0IGRvbWFpbiAqZAogICAgIHN0cnVjdCBwMm1fZG9t
YWluICpwMm0gPSBwMm1fZ2V0X2hvc3RwMm0oZCk7CiAgICAgaW50IHJjOwog
Ci0gICAgQlVHX09OKHAybV9pc19ncmFudChvdCkgfHwgcDJtX2lzX2dyYW50
KG50KSk7Ci0gICAgQlVHX09OKHAybV9pc19mb3JlaWduKG90KSB8fCBwMm1f
aXNfZm9yZWlnbihudCkpOworICAgIEJVR19PTihwMm1faXNfc3BlY2lhbChv
dCkgfHwgcDJtX2lzX3NwZWNpYWwobnQpKTsKIAogICAgIGdmbl9sb2NrKHAy
bSwgZ2ZuLCAwKTsKIApAQCAtMTI4MywxMSArMTI4MiwxMSBAQCBzdGF0aWMg
aW50IHNldF90eXBlZF9wMm1fZW50cnkoc3RydWN0IGRvCiAgICAgICAgIGdm
bl91bmxvY2socDJtLCBnZm4sIG9yZGVyKTsKICAgICAgICAgcmV0dXJuIGN1
cl9vcmRlciArIDE7CiAgICAgfQotICAgIGlmICggcDJtX2lzX2dyYW50KG90
KSB8fCBwMm1faXNfZm9yZWlnbihvdCkgKQorICAgIGlmICggcDJtX2lzX3Nw
ZWNpYWwob3QpICkKICAgICB7CiAgICAgICAgIGdmbl91bmxvY2socDJtLCBn
Zm4sIG9yZGVyKTsKICAgICAgICAgZG9tYWluX2NyYXNoKGQpOwotICAgICAg
ICByZXR1cm4gLUVOT0VOVDsKKyAgICAgICAgcmV0dXJuIC1FUEVSTTsKICAg
ICB9CiAgICAgZWxzZSBpZiAoIHAybV9pc19yYW0ob3QpICkKICAgICB7Ci0t
LSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcDJtLmgKKysrIGIveGVuL2luY2x1
ZGUvYXNtLXg4Ni9wMm0uaApAQCAtMTQxLDYgKzE0MSwxMCBAQCB0eXBlZGVm
IHVuc2lnbmVkIGludCBwMm1fcXVlcnlfdDsKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB8IHAybV90b19tYXNrKHAybV9yYW1fbG9nZGlydHkpICkK
ICNkZWZpbmUgUDJNX1NIQVJFRF9UWVBFUyAgIChwMm1fdG9fbWFzayhwMm1f
cmFtX3NoYXJlZCkpCiAKKy8qIFR5cGVzIGVzdGFibGlzaGVkL2NsZWFuZWQg
dXAgdmlhIHNwZWNpYWwgYWNjZXNzb3JzLiAqLworI2RlZmluZSBQMk1fU1BF
Q0lBTF9UWVBFUyAoUDJNX0dSQU5UX1RZUEVTIHwgXAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcDJtX3RvX21hc2socDJtX21hcF9mb3JlaWduKSkK
KwogLyogVmFsaWQgdHlwZXMgbm90IG5lY2Vzc2FyaWx5IGFzc29jaWF0ZWQg
d2l0aCBhICh2YWxpZCkgTUZOLiAqLwogI2RlZmluZSBQMk1fSU5WQUxJRF9N
Rk5fVFlQRVMgKFAyTV9QT0RfVFlQRVMgICAgICAgICAgICAgICAgICBcCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBwMm1fdG9fbWFzayhw
Mm1fbW1pb19kaXJlY3QpIFwKQEAgLTE2OSw2ICsxNzMsNyBAQCB0eXBlZGVm
IHVuc2lnbmVkIGludCBwMm1fcXVlcnlfdDsKICNkZWZpbmUgcDJtX2lzX3Bh
Z2VkKF90KSAgICAocDJtX3RvX21hc2soX3QpICYgUDJNX1BBR0VEX1RZUEVT
KQogI2RlZmluZSBwMm1faXNfc2hhcmFibGUoX3QpIChwMm1fdG9fbWFzayhf
dCkgJiBQMk1fU0hBUkFCTEVfVFlQRVMpCiAjZGVmaW5lIHAybV9pc19zaGFy
ZWQoX3QpICAgKHAybV90b19tYXNrKF90KSAmIFAyTV9TSEFSRURfVFlQRVMp
CisjZGVmaW5lIHAybV9pc19zcGVjaWFsKF90KSAgKHAybV90b19tYXNrKF90
KSAmIFAyTV9TUEVDSUFMX1RZUEVTKQogI2RlZmluZSBwMm1faXNfYnJva2Vu
KF90KSAgIChwMm1fdG9fbWFzayhfdCkgJiBQMk1fQlJPS0VOX1RZUEVTKQog
I2RlZmluZSBwMm1faXNfZm9yZWlnbihfdCkgIChwMm1fdG9fbWFzayhfdCkg
JiBwMm1fdG9fbWFzayhwMm1fbWFwX2ZvcmVpZ24pKQogCg==

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.14-8.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.14-8.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvcDJtOiBndWFyZCAoaW4gcGFydGljdWxhcikgaWRlbnRpdHkgbWFw
cGluZyBlbnRyaWVzCgpTdWNoIGVudHJpZXMsIGNyZWF0ZWQgYnkgc2V0X2lk
ZW50aXR5X3AybV9lbnRyeSgpLCBzaG91bGQgb25seSBiZQpkZXN0cm95ZWQg
YnkgY2xlYXJfaWRlbnRpdHlfcDJtX2VudHJ5KCkuIEhvd2V2ZXIsIHNpbWls
YXJseSwgZW50cmllcwpjcmVhdGVkIGJ5IHNldF9tbWlvX3AybV9lbnRyeSgp
IHNob3VsZCBvbmx5IGJlIHRvcm4gZG93biBieQpjbGVhcl9tbWlvX3AybV9l
bnRyeSgpLCBzbyB0aGUgbG9naWMgZ2V0cyBiYXNlZCB1cG9uIHAybV9tbWlv
X2RpcmVjdCBhcwp0aGUgZW50cnkgdHlwZSAoc2VwYXJhdGlvbiBiZXR3ZWVu
ICJvcmRpbmFyeSIgYW5kIDE6MSBtYXBwaW5ncyB3b3VsZApyZXF1aXJlIGEg
ZnVydGhlciBpbmRpY2F0b3IgdG8gdGVsbCBhcGFydCB0aGUgdHdvKS4KCkFz
IHRvIHRoZSBndWVzdF9yZW1vdmVfcGFnZSgpIGNoYW5nZSwgY29tbWl0IDQ4
ZGZiMjk3YTIwYSAoIng4Ni9QVkg6CmFsbG93IGd1ZXN0X3JlbW92ZV9wYWdl
IHRvIHJlbW92ZSBwMm1fbW1pb19kaXJlY3QgcGFnZXMiKSwgd2hpY2gKaW50
cm9kdWNlZCB0aGUgY2FsbCB0byBjbGVhcl9tbWlvX3AybV9lbnRyeSgpLCBj
bGFpbWVkIHRoaXMgd2FzIGRvbmUgZm9yCmh3ZG9tIG9ubHkgd2l0aG91dCB0
aGlzIGFjdHVhbGx5IGhhdmluZyBiZWVuIHRoZSBjYXNlLiBIb3dldmVyLCB0
aGlzCmNvZGUgc2hvdWxkbid0IGJlIHRoZXJlIGluIHRoZSBmaXJzdCBwbGFj
ZSwgYXMgTU1JTyBlbnRyaWVzIHNob3VsZG4ndCBiZQpkcm9wcGVkIHRoaXMg
d2F5LiBBdm9pZCB0cmlnZ2VyaW5nIHRoZSB3YXJuaW5nIGFnYWluIHRoYXQg
NDhkZmIyOTdhMjBhCnNpbGVuY2VkIGJ5IGFuIGFkanVzdG1lbnQgdG8geGVu
bWVtX2FkZF90b19waHlzbWFwX29uZSgpIGluc3RlYWQuCgpOb3RlIHRoYXQg
Z3Vlc3RfcGh5c21hcF9tYXJrX3BvcHVsYXRlX29uX2RlbWFuZCgpIGdldHMg
dGlnaHRlbmVkIGJleW9uZAp0aGUgaW1tZWRpYXRlIHB1cnBvc2Ugb2YgdGhp
cyBjaGFuZ2UuCgpOb3RlIGFsc28gdGhhdCBJIGRpZG4ndCBpbnNwZWN0IGNv
ZGUgd2hpY2ggaXNuJ3Qgc2VjdXJpdHkgc3VwcG9ydGVkLAplLmcuIHNoYXJp
bmcsIHBhZ2luZywgb3IgYWx0cDJtLgoKVGhpcyBpcyBDVkUtMjAyMS0yODY5
NCAvIHBhcnQgb2YgWFNBLTM3OC4KClNpZ25lZC1vZmYtYnk6IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFBhdWwgRHVy
cmFudCA8cGF1bEB4ZW4ub3JnPgoKLS0tIGEveGVuL2FyY2gveDg2L21tLmMK
KysrIGIveGVuL2FyY2gveDg2L21tLmMKQEAgLTQ2NTIsNyArNDY1Miw5IEBA
IGludCB4ZW5tZW1fYWRkX3RvX3BoeXNtYXBfb25lKAogCiAgICAgLyogUmVt
b3ZlIHByZXZpb3VzbHkgbWFwcGVkIHBhZ2UgaWYgaXQgd2FzIHByZXNlbnQu
ICovCiAgICAgcHJldl9tZm4gPSBnZXRfZ2ZuKGQsIGdmbl94KGdwZm4pLCAm
cDJtdCk7Ci0gICAgaWYgKCBtZm5fdmFsaWQocHJldl9tZm4pICkKKyAgICBp
ZiAoIHAybXQgPT0gcDJtX21taW9fZGlyZWN0ICkKKyAgICAgICAgcmMgPSAt
RVBFUk07CisgICAgZWxzZSBpZiAoIG1mbl92YWxpZChwcmV2X21mbikgKQog
ICAgIHsKICAgICAgICAgaWYgKCBpc19zcGVjaWFsX3BhZ2UobWZuX3RvX3Bh
Z2UocHJldl9tZm4pKSApCiAgICAgICAgICAgICAvKiBTcGVjaWFsIHBhZ2Vz
IGFyZSBzaW1wbHkgdW5ob29rZWQgZnJvbSB0aGlzIHBoeXMgc2xvdC4gKi8K
LS0tIGEveGVuL2FyY2gveDg2L21tL3AybS5jCisrKyBiL3hlbi9hcmNoL3g4
Ni9tbS9wMm0uYwpAQCAtNzk1LDcgKzc5NSw4IEBAIHAybV9yZW1vdmVfcGFn
ZShzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJmN1cl9vcmRlciwgTlVMTCk7CiAK
ICAgICAgICAgaWYgKCBwMm1faXNfdmFsaWQodCkgJiYKLSAgICAgICAgICAg
ICAoIW1mbl92YWxpZChtZm4pIHx8ICFtZm5fZXEobWZuX2FkZChtZm4sIGkp
LCBtZm5fcmV0dXJuKSkgKQorICAgICAgICAgICAgICghbWZuX3ZhbGlkKG1m
bikgfHwgdCA9PSBwMm1fbW1pb19kaXJlY3QgfHwKKyAgICAgICAgICAgICAg
IW1mbl9lcShtZm5fYWRkKG1mbiwgaSksIG1mbl9yZXR1cm4pKSApCiAgICAg
ICAgICAgICByZXR1cm4gLUVJTFNFUTsKIAogICAgICAgICBpICs9ICgxVUwg
PDwgY3VyX29yZGVyKSAtCkBAIC04OTMsNyArODk0LDcgQEAgZ3Vlc3RfcGh5
c21hcF9hZGRfZW50cnkoc3RydWN0IGRvbWFpbiAqZAogICAgIGlmICggcDJt
X2lzX2ZvcmVpZ24odCkgKQogICAgICAgICByZXR1cm4gLUVJTlZBTDsKIAot
ICAgIGlmICggIW1mbl92YWxpZChtZm4pICkKKyAgICBpZiAoICFtZm5fdmFs
aWQobWZuKSB8fCB0ID09IHAybV9tbWlvX2RpcmVjdCApCiAgICAgewogICAg
ICAgICBBU1NFUlRfVU5SRUFDSEFCTEUoKTsKICAgICAgICAgcmV0dXJuIC1F
SU5WQUw7CkBAIC05MzcsNyArOTM4LDcgQEAgZ3Vlc3RfcGh5c21hcF9hZGRf
ZW50cnkoc3RydWN0IGRvbWFpbiAqZAogICAgICAgICB9CiAgICAgICAgIGlm
ICggcDJtX2lzX3NwZWNpYWwob3QpICkKICAgICAgICAgewotICAgICAgICAg
ICAgLyogRG9uJ3QgcGVybWl0IHVubWFwcGluZyBncmFudC9mb3JlaWduIHRo
aXMgd2F5LiAqLworICAgICAgICAgICAgLyogRG9uJ3QgcGVybWl0IHVubWFw
cGluZyBncmFudC9mb3JlaWduL2RpcmVjdC1NTUlPIHRoaXMgd2F5LiAqLwog
ICAgICAgICAgICAgZG9tYWluX2NyYXNoKGQpOwogICAgICAgICAgICAgcDJt
X3VubG9jayhwMm0pOwogICAgICAgICAgICAgCkBAIC0xMzg3LDggKzEzODgs
OCBAQCBpbnQgc2V0X2lkZW50aXR5X3AybV9lbnRyeShzdHJ1Y3QgZG9tYWlu
CiAgKiAgICBvcmRlcisxICBmb3IgY2FsbGVyIHRvIHJldHJ5IHdpdGggb3Jk
ZXIgKGd1YXJhbnRlZWQgc21hbGxlciB0aGFuCiAgKiAgICAgICAgICAgICB0
aGUgb3JkZXIgdmFsdWUgcGFzc2VkIGluKQogICovCi1pbnQgY2xlYXJfbW1p
b19wMm1fZW50cnkoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBn
Zm5fbCwgbWZuX3QgbWZuLAotICAgICAgICAgICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGludCBvcmRlcikKK3N0YXRpYyBpbnQgY2xlYXJfbW1pb19wMm1f
ZW50cnkoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBnZm5fbCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWZuX3QgbWZuLCB1
bnNpZ25lZCBpbnQgb3JkZXIpCiB7CiAgICAgaW50IHJjID0gLUVJTlZBTDsK
ICAgICBnZm5fdCBnZm4gPSBfZ2ZuKGdmbl9sKTsKLS0tIGEveGVuL2FyY2gv
eDg2L21tL3AybS1wb2QuYworKysgYi94ZW4vYXJjaC94ODYvbW0vcDJtLXBv
ZC5jCkBAIC0xMjkyLDE3ICsxMjkyLDE3IEBAIGd1ZXN0X3BoeXNtYXBfbWFy
a19wb3B1bGF0ZV9vbl9kZW1hbmQoc3QKIAogICAgICAgICBwMm0tPmdldF9l
bnRyeShwMm0sIGdmbl9hZGQoZ2ZuLCBpKSwgJm90LCAmYSwgMCwgJmN1cl9v
cmRlciwgTlVMTCk7CiAgICAgICAgIG4gPSAxVUwgPDwgbWluKG9yZGVyLCBj
dXJfb3JkZXIpOwotICAgICAgICBpZiAoIHAybV9pc19yYW0ob3QpICkKKyAg
ICAgICAgaWYgKCBvdCA9PSBwMm1fcG9wdWxhdGVfb25fZGVtYW5kICkKKyAg
ICAgICAgeworICAgICAgICAgICAgLyogQ291bnQgaG93IG1hbnkgUG9EIGVu
dHJpZXMgd2UnbGwgYmUgcmVwbGFjaW5nIGlmIHN1Y2Nlc3NmdWwgKi8KKyAg
ICAgICAgICAgIHBvZF9jb3VudCArPSBuOworICAgICAgICB9CisgICAgICAg
IGVsc2UgaWYgKCBvdCAhPSBwMm1faW52YWxpZCAmJiBvdCAhPSBwMm1fbW1p
b19kbSApCiAgICAgICAgIHsKICAgICAgICAgICAgIFAyTV9ERUJVRygiZ2Zu
X3RvX21mbiByZXR1cm5lZCB0eXBlICVkIVxuIiwgb3QpOwogICAgICAgICAg
ICAgcmMgPSAtRUJVU1k7CiAgICAgICAgICAgICBnb3RvIG91dDsKICAgICAg
ICAgfQotICAgICAgICBlbHNlIGlmICggb3QgPT0gcDJtX3BvcHVsYXRlX29u
X2RlbWFuZCApCi0gICAgICAgIHsKLSAgICAgICAgICAgIC8qIENvdW50IGhv
dyBtYW4gUG9EIGVudHJpZXMgd2UnbGwgYmUgcmVwbGFjaW5nIGlmIHN1Y2Nl
c3NmdWwgKi8KLSAgICAgICAgICAgIHBvZF9jb3VudCArPSBuOwotICAgICAg
ICB9CiAgICAgfQogCiAgICAgLyogTm93LCBhY3R1YWxseSBkbyB0aGUgdHdv
LXdheSBtYXBwaW5nICovCi0tLSBhL3hlbi9jb21tb24vbWVtb3J5LmMKKysr
IGIveGVuL2NvbW1vbi9tZW1vcnkuYwpAQCAtMzI5LDcgKzMyOSw3IEBAIGlu
dCBndWVzdF9yZW1vdmVfcGFnZShzdHJ1Y3QgZG9tYWluICpkLAogICAgIH0K
ICAgICBpZiAoIHAybXQgPT0gcDJtX21taW9fZGlyZWN0ICkKICAgICB7Ci0g
ICAgICAgIHJjID0gY2xlYXJfbW1pb19wMm1fZW50cnkoZCwgZ21mbiwgbWZu
LCBQQUdFX09SREVSXzRLKTsKKyAgICAgICAgcmMgPSAtRVBFUk07CiAgICAg
ICAgIGdvdG8gb3V0X3B1dF9nZm47CiAgICAgfQogI2Vsc2UKQEAgLTE3MjEs
NiArMTcyMSwxNSBAQCBpbnQgY2hlY2tfZ2V0X3BhZ2VfZnJvbV9nZm4oc3Ry
dWN0IGRvbWFpCiAgICAgICAgIHJldHVybiAtRUFHQUlOOwogICAgIH0KICNl
bmRpZgorI2lmZGVmIENPTkZJR19YODYKKyAgICBpZiAoIHAybXQgPT0gcDJt
X21taW9fZGlyZWN0ICkKKyAgICB7CisgICAgICAgIGlmICggcGFnZSApCisg
ICAgICAgICAgICBwdXRfcGFnZShwYWdlKTsKKworICAgICAgICByZXR1cm4g
LUVQRVJNOworICAgIH0KKyNlbmRpZgogCiAgICAgaWYgKCAhcGFnZSApCiAg
ICAgICAgIHJldHVybiAtRUlOVkFMOwotLS0gYS94ZW4vaW5jbHVkZS9hc20t
eDg2L3AybS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcDJtLmgKQEAg
LTE0Myw3ICsxNDMsOCBAQCB0eXBlZGVmIHVuc2lnbmVkIGludCBwMm1fcXVl
cnlfdDsKIAogLyogVHlwZXMgZXN0YWJsaXNoZWQvY2xlYW5lZCB1cCB2aWEg
c3BlY2lhbCBhY2Nlc3NvcnMuICovCiAjZGVmaW5lIFAyTV9TUEVDSUFMX1RZ
UEVTIChQMk1fR1JBTlRfVFlQRVMgfCBcCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICBwMm1fdG9fbWFzayhwMm1fbWFwX2ZvcmVpZ24pKQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcDJtX3RvX21hc2socDJtX21hcF9mb3Jl
aWduKSB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHAybV90b19t
YXNrKHAybV9tbWlvX2RpcmVjdCkpCiAKIC8qIFZhbGlkIHR5cGVzIG5vdCBu
ZWNlc3NhcmlseSBhc3NvY2lhdGVkIHdpdGggYSAodmFsaWQpIE1GTi4gKi8K
ICNkZWZpbmUgUDJNX0lOVkFMSURfTUZOX1RZUEVTIChQMk1fUE9EX1RZUEVT
ICAgICAgICAgICAgICAgICAgXApAQCAtNjQ1LDggKzY0Niw2IEBAIGludCBz
ZXRfZm9yZWlnbl9wMm1fZW50cnkoc3RydWN0IGRvbWFpbgogLyogU2V0IG1t
aW8gYWRkcmVzc2VzIGluIHRoZSBwMm0gdGFibGUgKGZvciBwYXNzLXRocm91
Z2gpICovCiBpbnQgc2V0X21taW9fcDJtX2VudHJ5KHN0cnVjdCBkb21haW4g
KmQsIGdmbl90IGdmbiwgbWZuX3QgbWZuLAogICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBpbnQgb3JkZXIpOwotaW50IGNsZWFyX21taW9fcDJt
X2VudHJ5KHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuLCBt
Zm5fdCBtZm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg
aW50IG9yZGVyKTsKIAogLyogU2V0IGlkZW50aXR5IGFkZHJlc3NlcyBpbiB0
aGUgcDJtIHRhYmxlIChmb3IgcGFzcy10aHJvdWdoKSAqLwogaW50IHNldF9p
ZGVudGl0eV9wMm1fZW50cnkoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQg
bG9uZyBnZm4sCg==

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.15-1.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.15-1.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBBTUQvSU9NTVU6IGNvcnJlY3QgZ2xvYmFsIGV4Y2x1c2lvbiByYW5nZSBl
eHRlbmRpbmcKCkJlc2lkZXMgdW5pdHkgbWFwcGluZyByZWdpb25zLCB0aGUg
QU1EIElPTU1VIHNwZWMgYWxzbyBwcm92aWRlcyBmb3IKZXhjbHVzaW9uIHJh
bmdlcyAoYXJlYXMgb2YgbWVtb3J5IG5vdCB0byBiZSBzdWJqZWN0IHRvIERN
QSB0cmFuc2xhdGlvbikKdG8gYmUgc3BlY2lmaWVkIGJ5IGZpcm13YXJlIGlu
IHRoZSBBQ1BJIHRhYmxlcy4gVGhlIHNwZWMgZG9lcyBub3QgcHV0CmFueSBj
b25zdHJhaW50cyBvbiB0aGUgbnVtYmVyIG9mIHN1Y2ggcmVnaW9ucy4KCkJs
aW5kbHkgYXNzdW1pbmcgYWxsIGFkZHJlc3NlcyBiZXR3ZWVuIGFueSB0d28g
c3VjaCByYW5nZXMgc2hvdWxkIGFsc28KYmUgZXhjbHVkZWQgY2FuJ3QgYmUg
cmlnaHQuIFNpbmNlIGhhcmR3YXJlIGhhcyByb29tIGZvciBqdXN0IGEgc2lu
Z2xlCnN1Y2ggcmFuZ2UgKGNvbXByaXNlZCBvZiB0aGUgRXhjbHVzaW9uIEJh
c2UgUmVnaXN0ZXIgYW5kIHRoZSBFeGNsdXNpb24KUmFuZ2UgTGltaXQgUmVn
aXN0ZXIpLCBjb21iaW5lIG9ubHkgYWRqYWNlbnQgb3Igb3ZlcmxhcHBpbmcg
cmVnaW9ucyAoZm9yCm5vdzsgdGhpcyBtYXkgcmVxdWlyZSBmdXJ0aGVyIGFk
anVzdG1lbnQgaW4gY2FzZSB0YWJsZSBlbnRyaWVzIGFyZW4ndApzb3J0ZWQg
YnkgYWRkcmVzcykgd2l0aCBtYXRjaGluZyBleGNsdXNpb25fYWxsb3dfYWxs
IHNldHRpbmdzLiBUaGlzCnJlcXVpcmVzIGJ1YmJsaW5nIHVwIGVycm9yIGlu
ZGljYXRvcnMsIHN1Y2ggdGhhdCBJT01NVSBpbml0IGNhbiBiZQpmYWlsZWQg
d2hlbiBjb25jYXRlbmF0aW9uIHdhc24ndCBwb3NzaWJsZS4KCkZ1cnRoZXJt
b3JlLCBzaW5jZSB0aGUgZXhjbHVzaW9uIHJhbmdlIHNwZWNpZmllZCBpbiBJ
T01NVSByZWdpc3RlcnMKaW1wbGllcyBSL1cgYWNjZXNzLCByZWplY3QgcmVx
dWVzdHMgYXNraW5nIGZvciBsZXNzIHBlcm1pc3Npb25zICh0aGlzCndpbGwg
YmUgYnJvdWdodCBjbG9zZXIgdG8gdGhlIHNwZWMgYnkgYSBzdWJzZXF1ZW50
IGNoYW5nZSkuCgpUaGlzIGlzIHBhcnQgb2YgWFNBLTM3OCAvIENWRS0yMDIx
LTI4Njk1LgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpSZXZpZXdlZC1ieTogUGF1bCBEdXJyYW50IDxwYXVsQHhl
bi5vcmc+CgotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9t
bXVfYWNwaS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9p
b21tdV9hY3BpLmMKQEAgLTExNiwxMiArMTE2LDIxIEBAIHN0YXRpYyBzdHJ1
Y3QgYW1kX2lvbW11ICogX19pbml0IGZpbmRfaW8KICAgICByZXR1cm4gTlVM
TDsKIH0KIAotc3RhdGljIHZvaWQgX19pbml0IHJlc2VydmVfaW9tbXVfZXhj
bHVzaW9uX3JhbmdlKAotICAgIHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LCB1
aW50NjRfdCBiYXNlLCB1aW50NjRfdCBsaW1pdCkKK3N0YXRpYyBpbnQgX19p
bml0IHJlc2VydmVfaW9tbXVfZXhjbHVzaW9uX3JhbmdlKAorICAgIHN0cnVj
dCBhbWRfaW9tbXUgKmlvbW11LCB1aW50NjRfdCBiYXNlLCB1aW50NjRfdCBs
aW1pdCwKKyAgICBib29sIGFsbCwgYm9vbCBpdywgYm9vbCBpcikKIHsKKyAg
ICBpZiAoICFpciB8fCAhaXcgKQorICAgICAgICByZXR1cm4gLUVQRVJNOwor
CiAgICAgLyogbmVlZCB0byBleHRlbmQgZXhjbHVzaW9uIHJhbmdlPyAqLwog
ICAgIGlmICggaW9tbXUtPmV4Y2x1c2lvbl9lbmFibGUgKQogICAgIHsKKyAg
ICAgICAgaWYgKCBpb21tdS0+ZXhjbHVzaW9uX2xpbWl0ICsgUEFHRV9TSVpF
IDwgYmFzZSB8fAorICAgICAgICAgICAgIGxpbWl0ICsgUEFHRV9TSVpFIDwg
aW9tbXUtPmV4Y2x1c2lvbl9iYXNlIHx8CisgICAgICAgICAgICAgaW9tbXUt
PmV4Y2x1c2lvbl9hbGxvd19hbGwgIT0gYWxsICkKKyAgICAgICAgICAgIHJl
dHVybiAtRUJVU1k7CisKICAgICAgICAgaWYgKCBpb21tdS0+ZXhjbHVzaW9u
X2Jhc2UgPCBiYXNlICkKICAgICAgICAgICAgIGJhc2UgPSBpb21tdS0+ZXhj
bHVzaW9uX2Jhc2U7CiAgICAgICAgIGlmICggaW9tbXUtPmV4Y2x1c2lvbl9s
aW1pdCA+IGxpbWl0ICkKQEAgLTEyOSwxNiArMTM4LDExIEBAIHN0YXRpYyB2
b2lkIF9faW5pdCByZXNlcnZlX2lvbW11X2V4Y2x1c2kKICAgICB9CiAKICAg
ICBpb21tdS0+ZXhjbHVzaW9uX2VuYWJsZSA9IElPTU1VX0NPTlRST0xfRU5B
QkxFRDsKKyAgICBpb21tdS0+ZXhjbHVzaW9uX2FsbG93X2FsbCA9IGFsbDsK
ICAgICBpb21tdS0+ZXhjbHVzaW9uX2Jhc2UgPSBiYXNlOwogICAgIGlvbW11
LT5leGNsdXNpb25fbGltaXQgPSBsaW1pdDsKLX0KIAotc3RhdGljIHZvaWQg
X19pbml0IHJlc2VydmVfaW9tbXVfZXhjbHVzaW9uX3JhbmdlX2FsbCgKLSAg
ICBzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwKLSAgICB1bnNpZ25lZCBsb25n
IGJhc2UsIHVuc2lnbmVkIGxvbmcgbGltaXQpCi17Ci0gICAgcmVzZXJ2ZV9p
b21tdV9leGNsdXNpb25fcmFuZ2UoaW9tbXUsIGJhc2UsIGxpbWl0KTsKLSAg
ICBpb21tdS0+ZXhjbHVzaW9uX2FsbG93X2FsbCA9IElPTU1VX0NPTlRST0xf
RU5BQkxFRDsKKyAgICByZXR1cm4gMDsKIH0KIAogc3RhdGljIHZvaWQgX19p
bml0IHJlc2VydmVfdW5pdHlfbWFwX2Zvcl9kZXZpY2UoCkBAIC0xNzYsNiAr
MTgwLDcgQEAgc3RhdGljIGludCBfX2luaXQgcmVnaXN0ZXJfZXhjbHVzaW9u
X3JhbgogICAgIHVuc2lnbmVkIGxvbmcgcmFuZ2VfdG9wLCBpb21tdV90b3As
IGxlbmd0aDsKICAgICBzdHJ1Y3QgYW1kX2lvbW11ICppb21tdTsKICAgICB1
bnNpZ25lZCBpbnQgYmRmOworICAgIGludCByYyA9IDA7CiAKICAgICAvKiBp
cyBwYXJ0IG9mIGV4Y2x1c2lvbiByYW5nZSBpbnNpZGUgb2YgSU9NTVUgdmly
dHVhbCBhZGRyZXNzIHNwYWNlPyAqLwogICAgIC8qIG5vdGU6ICdsaW1pdCcg
cGFyYW1ldGVyIGlzIGFzc3VtZWQgdG8gYmUgcGFnZS1hbGlnbmVkICovCkBA
IC0xOTcsMTAgKzIwMiwxNSBAQCBzdGF0aWMgaW50IF9faW5pdCByZWdpc3Rl
cl9leGNsdXNpb25fcmFuCiAgICAgaWYgKCBsaW1pdCA+PSBpb21tdV90b3Ag
KQogICAgIHsKICAgICAgICAgZm9yX2VhY2hfYW1kX2lvbW11KCBpb21tdSAp
Ci0gICAgICAgICAgICByZXNlcnZlX2lvbW11X2V4Y2x1c2lvbl9yYW5nZV9h
bGwoaW9tbXUsIGJhc2UsIGxpbWl0KTsKKyAgICAgICAgeworICAgICAgICAg
ICAgcmMgPSByZXNlcnZlX2lvbW11X2V4Y2x1c2lvbl9yYW5nZShpb21tdSwg
YmFzZSwgbGltaXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHRydWUgLyogYWxsICovLCBpdywgaXIpOworICAg
ICAgICAgICAgaWYgKCByYyApCisgICAgICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIH0KICAgICB9CiAKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4g
cmM7CiB9CiAKIHN0YXRpYyBpbnQgX19pbml0IHJlZ2lzdGVyX2V4Y2x1c2lv
bl9yYW5nZV9mb3JfZGV2aWNlKApAQCAtMjExLDYgKzIyMSw3IEBAIHN0YXRp
YyBpbnQgX19pbml0IHJlZ2lzdGVyX2V4Y2x1c2lvbl9yYW4KICAgICB1bnNp
Z25lZCBsb25nIHJhbmdlX3RvcCwgaW9tbXVfdG9wLCBsZW5ndGg7CiAgICAg
c3RydWN0IGFtZF9pb21tdSAqaW9tbXU7CiAgICAgdTE2IHJlcTsKKyAgICBp
bnQgcmMgPSAwOwogCiAgICAgaW9tbXUgPSBmaW5kX2lvbW11X2Zvcl9kZXZp
Y2Uoc2VnLCBiZGYpOwogICAgIGlmICggIWlvbW11ICkKQEAgLTI0MCwxMiAr
MjUxLDEzIEBAIHN0YXRpYyBpbnQgX19pbml0IHJlZ2lzdGVyX2V4Y2x1c2lv
bl9yYW4KICAgICAvKiByZWdpc3RlciBJT01NVSBleGNsdXNpb24gcmFuZ2Ug
c2V0dGluZ3MgZm9yIGRldmljZSAqLwogICAgIGlmICggbGltaXQgPj0gaW9t
bXVfdG9wICApCiAgICAgewotICAgICAgICByZXNlcnZlX2lvbW11X2V4Y2x1
c2lvbl9yYW5nZShpb21tdSwgYmFzZSwgbGltaXQpOworICAgICAgICByYyA9
IHJlc2VydmVfaW9tbXVfZXhjbHVzaW9uX3JhbmdlKGlvbW11LCBiYXNlLCBs
aW1pdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBmYWxzZSAvKiBhbGwgKi8sIGl3LCBpcik7CiAgICAgICAgIGl2cnNf
bWFwcGluZ3NbYmRmXS5kdGVfYWxsb3dfZXhjbHVzaW9uID0gdHJ1ZTsKICAg
ICAgICAgaXZyc19tYXBwaW5nc1tyZXFdLmR0ZV9hbGxvd19leGNsdXNpb24g
PSB0cnVlOwogICAgIH0KIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBy
YzsKIH0KIAogc3RhdGljIGludCBfX2luaXQgcmVnaXN0ZXJfZXhjbHVzaW9u
X3JhbmdlX2Zvcl9pb21tdV9kZXZpY2VzKApAQCAtMjU1LDYgKzI2Nyw3IEBA
IHN0YXRpYyBpbnQgX19pbml0IHJlZ2lzdGVyX2V4Y2x1c2lvbl9yYW4KICAg
ICB1bnNpZ25lZCBsb25nIHJhbmdlX3RvcCwgaW9tbXVfdG9wLCBsZW5ndGg7
CiAgICAgdW5zaWduZWQgaW50IGJkZjsKICAgICB1MTYgcmVxOworICAgIGlu
dCByYyA9IDA7CiAKICAgICAvKiBpcyBwYXJ0IG9mIGV4Y2x1c2lvbiByYW5n
ZSBpbnNpZGUgb2YgSU9NTVUgdmlydHVhbCBhZGRyZXNzIHNwYWNlPyAqLwog
ICAgIC8qIG5vdGU6ICdsaW1pdCcgcGFyYW1ldGVyIGlzIGFzc3VtZWQgdG8g
YmUgcGFnZS1hbGlnbmVkICovCkBAIC0yODUsOCArMjk4LDEwIEBAIHN0YXRp
YyBpbnQgX19pbml0IHJlZ2lzdGVyX2V4Y2x1c2lvbl9yYW4KIAogICAgIC8q
IHJlZ2lzdGVyIElPTU1VIGV4Y2x1c2lvbiByYW5nZSBzZXR0aW5ncyAqLwog
ICAgIGlmICggbGltaXQgPj0gaW9tbXVfdG9wICkKLSAgICAgICAgcmVzZXJ2
ZV9pb21tdV9leGNsdXNpb25fcmFuZ2VfYWxsKGlvbW11LCBiYXNlLCBsaW1p
dCk7Ci0gICAgcmV0dXJuIDA7CisgICAgICAgIHJjID0gcmVzZXJ2ZV9pb21t
dV9leGNsdXNpb25fcmFuZ2UoaW9tbXUsIGJhc2UsIGxpbWl0LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgLyog
YWxsICovLCBpdywgaXIpOworCisgICAgcmV0dXJuIHJjOwogfQogCiBzdGF0
aWMgaW50IF9faW5pdCBwYXJzZV9pdm1kX2RldmljZV9zZWxlY3QoCg==

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.15-2.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.15-2.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBBTUQvSU9NTVU6IGNvcnJlY3QgZGV2aWNlIHVuaXR5IG1hcCBoYW5kbGlu
ZwoKQmxpbmRseSBhc3N1bWluZyBhbGwgYWRkcmVzc2VzIGJldHdlZW4gYW55
IHR3byBzdWNoIHJhbmdlcywgc3BlY2lmaWVkIGJ5CmZpcm13YXJlIGluIHRo
ZSBBQ1BJIHRhYmxlcywgc2hvdWxkIGFsc28gYmUgdW5pdHktbWFwcGVkIGNh
bid0IGJlIHJpZ2h0LgpOb3IgY2FuIGl0IGJlIGNvcnJlY3QgdG8gbWVyZ2Ug
cmFuZ2VzIHdpdGggZGlmZmVyaW5nIHBlcm1pc3Npb25zLiBUcmFjawpyYW5n
ZXMgaW5kaXZpZHVhbGx5OyBkb24ndCBtZXJnZSBhdCBhbGwsIGJ1dCBjaGVj
ayBmb3Igb3ZlcmxhcHMgaW5zdGVhZC4KVGhpcyByZXF1aXJlcyBidWJibGlu
ZyB1cCBlcnJvciBpbmRpY2F0b3JzLCBzdWNoIHRoYXQgSU9NTVUgaW5pdCBj
YW4gYmUKZmFpbGVkIHdoZW4gYWxsb2NhdGlvbiBvZiBhIG5ldyB0cmFja2lu
ZyBzdHJ1Y3Qgd2Fzbid0IHBvc3NpYmxlLCBvciBhbgpvdmVybGFwIHdhcyBk
ZXRlY3RlZC4KCkF0IHRoaXMgb2NjYXNpb24gYWxzbyBzdG9wIGlnbm9yaW5n
CmFtZF9pb21tdV9yZXNlcnZlX2RvbWFpbl91bml0eV9tYXAoKSdzIHJldHVy
biB2YWx1ZS4KClRoaXMgaXMgcGFydCBvZiBYU0EtMzc4IC8gQ1ZFLTIwMjEt
Mjg2OTUuCgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hA
c3VzZS5jb20+ClJldmlld2VkLWJ5OiBHZW9yZ2UgRHVubGFwIDxnZW9yZ2Uu
ZHVubGFwQGNpdHJpeC5jb20+ClJldmlld2VkLWJ5OiBQYXVsIER1cnJhbnQg
PHBhdWxAeGVuLm9yZz4KCi0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdo
L2FtZC9pb21tdS5oCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2Ft
ZC9pb21tdS5oCkBAIC0xMDcsMjAgKzEwNywyNCBAQCBzdHJ1Y3QgYW1kX2lv
bW11IHsKICAgICBzdHJ1Y3QgbGlzdF9oZWFkIGF0c19kZXZpY2VzOwogfTsK
IAorc3RydWN0IGl2cnNfdW5pdHlfbWFwIHsKKyAgICBib29sIHJlYWQ6MTsK
KyAgICBib29sIHdyaXRlOjE7CisgICAgcGFkZHJfdCBhZGRyOworICAgIHVu
c2lnbmVkIGxvbmcgbGVuZ3RoOworICAgIHN0cnVjdCBpdnJzX3VuaXR5X21h
cCAqbmV4dDsKK307CisKIHN0cnVjdCBpdnJzX21hcHBpbmdzIHsKICAgICB1
aW50MTZfdCBkdGVfcmVxdWVzdG9yX2lkOwogICAgIGJvb2wgdmFsaWQ6MTsK
ICAgICBib29sIGR0ZV9hbGxvd19leGNsdXNpb246MTsKLSAgICBib29sIHVu
aXR5X21hcF9lbmFibGU6MTsKLSAgICBib29sIHdyaXRlX3Blcm1pc3Npb246
MTsKLSAgICBib29sIHJlYWRfcGVybWlzc2lvbjoxOwogCiAgICAgLyogaXZo
ZCBkZXZpY2UgZGF0YSBzZXR0aW5ncyAqLwogICAgIHVpbnQ4X3QgZGV2aWNl
X2ZsYWdzOwogCi0gICAgdW5zaWduZWQgbG9uZyBhZGRyX3JhbmdlX3N0YXJ0
OwotICAgIHVuc2lnbmVkIGxvbmcgYWRkcl9yYW5nZV9sZW5ndGg7CiAgICAg
c3RydWN0IGFtZF9pb21tdSAqaW9tbXU7CisgICAgc3RydWN0IGl2cnNfdW5p
dHlfbWFwICp1bml0eV9tYXA7CiAKICAgICAvKiBwZXIgZGV2aWNlIGludGVy
cnVwdCByZW1hcHBpbmcgdGFibGUgKi8KICAgICB2b2lkICppbnRyZW1hcF90
YWJsZTsKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11
X2FjcGkuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9t
bXVfYWNwaS5jCkBAIC0xNDUsMzIgKzE0NSw0OCBAQCBzdGF0aWMgaW50IF9f
aW5pdCByZXNlcnZlX2lvbW11X2V4Y2x1c2lvCiAgICAgcmV0dXJuIDA7CiB9
CiAKLXN0YXRpYyB2b2lkIF9faW5pdCByZXNlcnZlX3VuaXR5X21hcF9mb3Jf
ZGV2aWNlKAotICAgIHUxNiBzZWcsIHUxNiBiZGYsIHVuc2lnbmVkIGxvbmcg
YmFzZSwKLSAgICB1bnNpZ25lZCBsb25nIGxlbmd0aCwgdTggaXcsIHU4IGly
KQorc3RhdGljIGludCBfX2luaXQgcmVzZXJ2ZV91bml0eV9tYXBfZm9yX2Rl
dmljZSgKKyAgICB1aW50MTZfdCBzZWcsIHVpbnQxNl90IGJkZiwgdW5zaWdu
ZWQgbG9uZyBiYXNlLAorICAgIHVuc2lnbmVkIGxvbmcgbGVuZ3RoLCBib29s
IGl3LCBib29sIGlyKQogewogICAgIHN0cnVjdCBpdnJzX21hcHBpbmdzICpp
dnJzX21hcHBpbmdzID0gZ2V0X2l2cnNfbWFwcGluZ3Moc2VnKTsKLSAgICB1
bnNpZ25lZCBsb25nIG9sZF90b3AsIG5ld190b3A7CisgICAgc3RydWN0IGl2
cnNfdW5pdHlfbWFwICp1bml0eV9tYXAgPSBpdnJzX21hcHBpbmdzW2JkZl0u
dW5pdHlfbWFwOwogCi0gICAgLyogbmVlZCB0byBleHRlbmQgdW5pdHktbWFw
cGVkIHJhbmdlPyAqLwotICAgIGlmICggaXZyc19tYXBwaW5nc1tiZGZdLnVu
aXR5X21hcF9lbmFibGUgKQorICAgIC8qIENoZWNrIGZvciBvdmVybGFwcy4g
Ki8KKyAgICBmb3IgKCA7IHVuaXR5X21hcDsgdW5pdHlfbWFwID0gdW5pdHlf
bWFwLT5uZXh0ICkKICAgICB7Ci0gICAgICAgIG9sZF90b3AgPSBpdnJzX21h
cHBpbmdzW2JkZl0uYWRkcl9yYW5nZV9zdGFydCArCi0gICAgICAgICAgICBp
dnJzX21hcHBpbmdzW2JkZl0uYWRkcl9yYW5nZV9sZW5ndGg7Ci0gICAgICAg
IG5ld190b3AgPSBiYXNlICsgbGVuZ3RoOwotICAgICAgICBpZiAoIG9sZF90
b3AgPiBuZXdfdG9wICkKLSAgICAgICAgICAgIG5ld190b3AgPSBvbGRfdG9w
OwotICAgICAgICBpZiAoIGl2cnNfbWFwcGluZ3NbYmRmXS5hZGRyX3Jhbmdl
X3N0YXJ0IDwgYmFzZSApCi0gICAgICAgICAgICBiYXNlID0gaXZyc19tYXBw
aW5nc1tiZGZdLmFkZHJfcmFuZ2Vfc3RhcnQ7Ci0gICAgICAgIGxlbmd0aCA9
IG5ld190b3AgLSBiYXNlOwotICAgIH0KLQotICAgIC8qIGV4dGVuZCByL3cg
cGVybWlzc2lvbXMgYW5kIGtlZXAgYWdncmVnYXRlICovCi0gICAgaXZyc19t
YXBwaW5nc1tiZGZdLndyaXRlX3Blcm1pc3Npb24gPSBpdzsKLSAgICBpdnJz
X21hcHBpbmdzW2JkZl0ucmVhZF9wZXJtaXNzaW9uID0gaXI7Ci0gICAgaXZy
c19tYXBwaW5nc1tiZGZdLnVuaXR5X21hcF9lbmFibGUgPSB0cnVlOwotICAg
IGl2cnNfbWFwcGluZ3NbYmRmXS5hZGRyX3JhbmdlX3N0YXJ0ID0gYmFzZTsK
LSAgICBpdnJzX21hcHBpbmdzW2JkZl0uYWRkcl9yYW5nZV9sZW5ndGggPSBs
ZW5ndGg7CisgICAgICAgIC8qCisgICAgICAgICAqIEV4YWN0IG1hdGNoZXMg
YXJlIG9rYXkuIFRoaXMgY2FuIGluIHBhcnRpY3VsYXIgaGFwcGVuIHdoZW4K
KyAgICAgICAgICogcmVnaXN0ZXJfZXhjbHVzaW9uX3JhbmdlX2Zvcl9kZXZp
Y2UoKSBjYWxscyBoZXJlIHR3aWNlIGZvciB0aGUKKyAgICAgICAgICogc2Ft
ZSAocyxiLGQsZikuCisgICAgICAgICAqLworICAgICAgICBpZiAoIGJhc2Ug
PT0gdW5pdHlfbWFwLT5hZGRyICYmIGxlbmd0aCA9PSB1bml0eV9tYXAtPmxl
bmd0aCAmJgorICAgICAgICAgICAgIGlyID09IHVuaXR5X21hcC0+cmVhZCAm
JiBpdyA9PSB1bml0eV9tYXAtPndyaXRlICkKKyAgICAgICAgICAgIHJldHVy
biAwOworCisgICAgICAgIGlmICggdW5pdHlfbWFwLT5hZGRyICsgdW5pdHlf
bWFwLT5sZW5ndGggPiBiYXNlICYmCisgICAgICAgICAgICAgYmFzZSArIGxl
bmd0aCA+IHVuaXR5X21hcC0+YWRkciApCisgICAgICAgIHsKKyAgICAgICAg
ICAgIEFNRF9JT01NVV9ERUJVRygiSVZNRCBFcnJvcjogb3ZlcmxhcCBbJWx4
LCVseCkgdnMgWyVseCwlbHgpXG4iLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGJhc2UsIGJhc2UgKyBsZW5ndGgsIHVuaXR5X21hcC0+YWRkciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bml0eV9tYXAtPmFkZHIg
KyB1bml0eV9tYXAtPmxlbmd0aCk7CisgICAgICAgICAgICByZXR1cm4gLUVQ
RVJNOworICAgICAgICB9CisgICAgfQorCisgICAgLyogUG9wdWxhdGUgYW5k
IGluc2VydCBhIG5ldyB1bml0eSBtYXAuICovCisgICAgdW5pdHlfbWFwID0g
eG1hbGxvYyhzdHJ1Y3QgaXZyc191bml0eV9tYXApOworICAgIGlmICggIXVu
aXR5X21hcCApCisgICAgICAgIHJldHVybiAtRU5PTUVNOworCisgICAgdW5p
dHlfbWFwLT5yZWFkID0gaXI7CisgICAgdW5pdHlfbWFwLT53cml0ZSA9IGl3
OworICAgIHVuaXR5X21hcC0+YWRkciA9IGJhc2U7CisgICAgdW5pdHlfbWFw
LT5sZW5ndGggPSBsZW5ndGg7CisgICAgdW5pdHlfbWFwLT5uZXh0ID0gaXZy
c19tYXBwaW5nc1tiZGZdLnVuaXR5X21hcDsKKyAgICBpdnJzX21hcHBpbmdz
W2JkZl0udW5pdHlfbWFwID0gdW5pdHlfbWFwOworCisgICAgcmV0dXJuIDA7
CiB9CiAKIHN0YXRpYyBpbnQgX19pbml0IHJlZ2lzdGVyX2V4Y2x1c2lvbl9y
YW5nZV9mb3JfYWxsX2RldmljZXMoCkBAIC0xOTMsMTMgKzIwOSwxMyBAQCBz
dGF0aWMgaW50IF9faW5pdCByZWdpc3Rlcl9leGNsdXNpb25fcmFuCiAgICAg
ICAgIGxlbmd0aCA9IHJhbmdlX3RvcCAtIGJhc2U7CiAgICAgICAgIC8qIHJl
c2VydmUgci93IHVuaXR5LW1hcHBlZCBwYWdlIGVudHJpZXMgZm9yIGRldmlj
ZXMgKi8KICAgICAgICAgLyogbm90ZTogdGhlc2UgZW50cmllcyBhcmUgcGFy
dCBvZiB0aGUgZXhjbHVzaW9uIHJhbmdlICovCi0gICAgICAgIGZvciAoIGJk
ZiA9IDA7IGJkZiA8IGl2cnNfYmRmX2VudHJpZXM7IGJkZisrICkKLSAgICAg
ICAgICAgIHJlc2VydmVfdW5pdHlfbWFwX2Zvcl9kZXZpY2Uoc2VnLCBiZGYs
IGJhc2UsIGxlbmd0aCwgaXcsIGlyKTsKKyAgICAgICAgZm9yICggYmRmID0g
MDsgIXJjICYmIGJkZiA8IGl2cnNfYmRmX2VudHJpZXM7IGJkZisrICkKKyAg
ICAgICAgICAgIHJjID0gcmVzZXJ2ZV91bml0eV9tYXBfZm9yX2RldmljZShz
ZWcsIGJkZiwgYmFzZSwgbGVuZ3RoLCBpdywgaXIpOwogICAgICAgICAvKiBw
dXNoICdiYXNlJyBqdXN0IG91dHNpZGUgb2YgdmlydHVhbCBhZGRyZXNzIHNw
YWNlICovCiAgICAgICAgIGJhc2UgPSBpb21tdV90b3A7CiAgICAgfQogICAg
IC8qIHJlZ2lzdGVyIElPTU1VIGV4Y2x1c2lvbiByYW5nZSBzZXR0aW5ncyAq
LwotICAgIGlmICggbGltaXQgPj0gaW9tbXVfdG9wICkKKyAgICBpZiAoICFy
YyAmJiBsaW1pdCA+PSBpb21tdV90b3AgKQogICAgIHsKICAgICAgICAgZm9y
X2VhY2hfYW1kX2lvbW11KCBpb21tdSApCiAgICAgICAgIHsKQEAgLTI0MSwx
NSArMjU3LDE1IEBAIHN0YXRpYyBpbnQgX19pbml0IHJlZ2lzdGVyX2V4Y2x1
c2lvbl9yYW4KICAgICAgICAgbGVuZ3RoID0gcmFuZ2VfdG9wIC0gYmFzZTsK
ICAgICAgICAgLyogcmVzZXJ2ZSB1bml0eS1tYXBwZWQgcGFnZSBlbnRyaWVz
IGZvciBkZXZpY2UgKi8KICAgICAgICAgLyogbm90ZTogdGhlc2UgZW50cmll
cyBhcmUgcGFydCBvZiB0aGUgZXhjbHVzaW9uIHJhbmdlICovCi0gICAgICAg
IHJlc2VydmVfdW5pdHlfbWFwX2Zvcl9kZXZpY2Uoc2VnLCBiZGYsIGJhc2Us
IGxlbmd0aCwgaXcsIGlyKTsKLSAgICAgICAgcmVzZXJ2ZV91bml0eV9tYXBf
Zm9yX2RldmljZShzZWcsIHJlcSwgYmFzZSwgbGVuZ3RoLCBpdywgaXIpOwor
ICAgICAgICByYyA9IHJlc2VydmVfdW5pdHlfbWFwX2Zvcl9kZXZpY2Uoc2Vn
LCBiZGYsIGJhc2UsIGxlbmd0aCwgaXcsIGlyKSA/OgorICAgICAgICAgICAg
IHJlc2VydmVfdW5pdHlfbWFwX2Zvcl9kZXZpY2Uoc2VnLCByZXEsIGJhc2Us
IGxlbmd0aCwgaXcsIGlyKTsKIAogICAgICAgICAvKiBwdXNoICdiYXNlJyBq
dXN0IG91dHNpZGUgb2YgdmlydHVhbCBhZGRyZXNzIHNwYWNlICovCiAgICAg
ICAgIGJhc2UgPSBpb21tdV90b3A7CiAgICAgfQogCiAgICAgLyogcmVnaXN0
ZXIgSU9NTVUgZXhjbHVzaW9uIHJhbmdlIHNldHRpbmdzIGZvciBkZXZpY2Ug
Ki8KLSAgICBpZiAoIGxpbWl0ID49IGlvbW11X3RvcCAgKQorICAgIGlmICgg
IXJjICYmIGxpbWl0ID49IGlvbW11X3RvcCAgKQogICAgIHsKICAgICAgICAg
cmMgPSByZXNlcnZlX2lvbW11X2V4Y2x1c2lvbl9yYW5nZShpb21tdSwgYmFz
ZSwgbGltaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZmFsc2UgLyogYWxsICovLCBpdywgaXIpOwpAQCAtMjgwLDE1
ICsyOTYsMTUgQEAgc3RhdGljIGludCBfX2luaXQgcmVnaXN0ZXJfZXhjbHVz
aW9uX3JhbgogICAgICAgICBsZW5ndGggPSByYW5nZV90b3AgLSBiYXNlOwog
ICAgICAgICAvKiByZXNlcnZlIHIvdyB1bml0eS1tYXBwZWQgcGFnZSBlbnRy
aWVzIGZvciBkZXZpY2VzICovCiAgICAgICAgIC8qIG5vdGU6IHRoZXNlIGVu
dHJpZXMgYXJlIHBhcnQgb2YgdGhlIGV4Y2x1c2lvbiByYW5nZSAqLwotICAg
ICAgICBmb3IgKCBiZGYgPSAwOyBiZGYgPCBpdnJzX2JkZl9lbnRyaWVzOyBi
ZGYrKyApCisgICAgICAgIGZvciAoIGJkZiA9IDA7ICFyYyAmJiBiZGYgPCBp
dnJzX2JkZl9lbnRyaWVzOyBiZGYrKyApCiAgICAgICAgIHsKICAgICAgICAg
ICAgIGlmICggaW9tbXUgPT0gZmluZF9pb21tdV9mb3JfZGV2aWNlKGlvbW11
LT5zZWcsIGJkZikgKQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
IHJlc2VydmVfdW5pdHlfbWFwX2Zvcl9kZXZpY2UoaW9tbXUtPnNlZywgYmRm
LCBiYXNlLCBsZW5ndGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpdywgaXIpOwogICAgICAgICAgICAgICAgIHJl
cSA9IGdldF9pdnJzX21hcHBpbmdzKGlvbW11LT5zZWcpW2JkZl0uZHRlX3Jl
cXVlc3Rvcl9pZDsKLSAgICAgICAgICAgICAgICByZXNlcnZlX3VuaXR5X21h
cF9mb3JfZGV2aWNlKGlvbW11LT5zZWcsIHJlcSwgYmFzZSwgbGVuZ3RoLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aXcsIGlyKTsKKyAgICAgICAgICAgICAgICByYyA9IHJlc2VydmVfdW5pdHlf
bWFwX2Zvcl9kZXZpY2UoaW9tbXUtPnNlZywgYmRmLCBiYXNlLCBsZW5ndGgs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGl3LCBpcikgPzoKKyAgICAgICAgICAgICAgICAgICAgIHJlc2Vy
dmVfdW5pdHlfbWFwX2Zvcl9kZXZpY2UoaW9tbXUtPnNlZywgcmVxLCBiYXNl
LCBsZW5ndGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGl3LCBpcik7CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0KIApAQCAtMjk3LDcgKzMxMyw3IEBAIHN0YXRpYyBpbnQgX19pbml0
IHJlZ2lzdGVyX2V4Y2x1c2lvbl9yYW4KICAgICB9CiAKICAgICAvKiByZWdp
c3RlciBJT01NVSBleGNsdXNpb24gcmFuZ2Ugc2V0dGluZ3MgKi8KLSAgICBp
ZiAoIGxpbWl0ID49IGlvbW11X3RvcCApCisgICAgaWYgKCAhcmMgJiYgbGlt
aXQgPj0gaW9tbXVfdG9wICkKICAgICAgICAgcmMgPSByZXNlcnZlX2lvbW11
X2V4Y2x1c2lvbl9yYW5nZShpb21tdSwgYmFzZSwgbGltaXQsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAvKiBh
bGwgKi8sIGl3LCBpcik7CiAKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91
Z2gvYW1kL3BjaV9hbWRfaW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNz
dGhyb3VnaC9hbWQvcGNpX2FtZF9pb21tdS5jCkBAIC0zNjcsMTUgKzM2Nywx
NyBAQCBzdGF0aWMgaW50IGFtZF9pb21tdV9hc3NpZ25fZGV2aWNlKHN0cnVj
CiAgICAgc3RydWN0IGl2cnNfbWFwcGluZ3MgKml2cnNfbWFwcGluZ3MgPSBn
ZXRfaXZyc19tYXBwaW5ncyhwZGV2LT5zZWcpOwogICAgIGludCBiZGYgPSBQ
Q0lfQkRGMihwZGV2LT5idXMsIGRldmZuKTsKICAgICBpbnQgcmVxX2lkID0g
Z2V0X2RtYV9yZXF1ZXN0b3JfaWQocGRldi0+c2VnLCBiZGYpOworICAgIGNv
bnN0IHN0cnVjdCBpdnJzX3VuaXR5X21hcCAqdW5pdHlfbWFwOwogCi0gICAg
aWYgKCBpdnJzX21hcHBpbmdzW3JlcV9pZF0udW5pdHlfbWFwX2VuYWJsZSAp
CisgICAgZm9yICggdW5pdHlfbWFwID0gaXZyc19tYXBwaW5nc1tyZXFfaWRd
LnVuaXR5X21hcDsgdW5pdHlfbWFwOworICAgICAgICAgIHVuaXR5X21hcCA9
IHVuaXR5X21hcC0+bmV4dCApCiAgICAgewotICAgICAgICBhbWRfaW9tbXVf
cmVzZXJ2ZV9kb21haW5fdW5pdHlfbWFwKAotICAgICAgICAgICAgZCwKLSAg
ICAgICAgICAgIGl2cnNfbWFwcGluZ3NbcmVxX2lkXS5hZGRyX3JhbmdlX3N0
YXJ0LAotICAgICAgICAgICAgaXZyc19tYXBwaW5nc1tyZXFfaWRdLmFkZHJf
cmFuZ2VfbGVuZ3RoLAotICAgICAgICAgICAgaXZyc19tYXBwaW5nc1tyZXFf
aWRdLndyaXRlX3Blcm1pc3Npb24sCi0gICAgICAgICAgICBpdnJzX21hcHBp
bmdzW3JlcV9pZF0ucmVhZF9wZXJtaXNzaW9uKTsKKyAgICAgICAgaW50IHJj
ID0gYW1kX2lvbW11X3Jlc2VydmVfZG9tYWluX3VuaXR5X21hcCgKKyAgICAg
ICAgICAgICAgICAgICAgIGQsIHVuaXR5X21hcC0+YWRkciwgdW5pdHlfbWFw
LT5sZW5ndGgsCisgICAgICAgICAgICAgICAgICAgICB1bml0eV9tYXAtPndy
aXRlLCB1bml0eV9tYXAtPnJlYWQpOworCisgICAgICAgIGlmICggcmMgKQor
ICAgICAgICAgICAgcmV0dXJuIHJjOwogICAgIH0KIAogICAgIHJldHVybiBy
ZWFzc2lnbl9kZXZpY2UocGRldi0+ZG9tYWluLCBkLCBkZXZmbiwgcGRldik7
Cg==

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.15-3.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.15-3.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBJT01NVTogYWxzbyBwYXNzIHAybV9hY2Nlc3NfdCB0byBwMm1fZ2V0X2lv
bW11X2ZsYWdzKCkKCkEgc3Vic2VxdWVudCBjaGFuZ2Ugd2lsbCB3YW50IHRv
IGN1c3RvbWl6ZSB0aGUgSU9NTVUgcGVybWlzc2lvbnMgYmFzZWQKb24gdGhp
cy4KClRoaXMgaXMgcGFydCBvZiBYU0EtMzc4LgoKU2lnbmVkLW9mZi1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTog
UGF1bCBEdXJyYW50IDxwYXVsQHhlbi5vcmc+CgotLS0gYS94ZW4vYXJjaC94
ODYvbW0vcDJtLWVwdC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0tZXB0
LmMKQEAgLTY4MSw3ICs2ODEsNyBAQCBlcHRfc2V0X2VudHJ5KHN0cnVjdCBw
Mm1fZG9tYWluICpwMm0sIGdmCiAgICAgdWludDhfdCBpcGF0ID0gMDsKICAg
ICBib29sX3QgbmVlZF9tb2RpZnlfdnRkX3RhYmxlID0gMTsKICAgICBib29s
X3QgdnRkX3B0ZV9wcmVzZW50ID0gMDsKLSAgICB1bnNpZ25lZCBpbnQgaW9t
bXVfZmxhZ3MgPSBwMm1fZ2V0X2lvbW11X2ZsYWdzKHAybXQsIG1mbik7Cisg
ICAgdW5zaWduZWQgaW50IGlvbW11X2ZsYWdzID0gcDJtX2dldF9pb21tdV9m
bGFncyhwMm10LCBwMm1hLCBtZm4pOwogICAgIGJvb2xfdCBuZWVkc19zeW5j
ID0gMTsKICAgICBlcHRfZW50cnlfdCBvbGRfZW50cnkgPSB7IC5lcHRlID0g
MCB9OwogICAgIGVwdF9lbnRyeV90IG5ld19lbnRyeSA9IHsgLmVwdGUgPSAw
IH07CkBAIC04MDksOCArODA5LDggQEAgZXB0X3NldF9lbnRyeShzdHJ1Y3Qg
cDJtX2RvbWFpbiAqcDJtLCBnZgogCiAgICAgICAgIC8qIFNhZmUgdG8gcmVh
ZC10aGVuLXdyaXRlIGJlY2F1c2Ugd2UgaG9sZCB0aGUgcDJtIGxvY2sgKi8K
ICAgICAgICAgaWYgKCBlcHRfZW50cnktPm1mbiA9PSBuZXdfZW50cnkubWZu
ICYmCi0gICAgICAgICAgICAgcDJtX2dldF9pb21tdV9mbGFncyhlcHRfZW50
cnktPnNhX3AybXQsIF9tZm4oZXB0X2VudHJ5LT5tZm4pKSA9PQotICAgICAg
ICAgICAgIGlvbW11X2ZsYWdzICkKKyAgICAgICAgICAgICBwMm1fZ2V0X2lv
bW11X2ZsYWdzKGVwdF9lbnRyeS0+c2FfcDJtdCwgZXB0X2VudHJ5LT5hY2Nl
c3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfbWZuKGVw
dF9lbnRyeS0+bWZuKSkgPT0gaW9tbXVfZmxhZ3MgKQogICAgICAgICAgICAg
bmVlZF9tb2RpZnlfdnRkX3RhYmxlID0gMDsKIAogICAgICAgICBlcHRfcDJt
X3R5cGVfdG9fZmxhZ3MocDJtLCAmbmV3X2VudHJ5KTsKLS0tIGEveGVuL2Fy
Y2gveDg2L21tL3AybS1wdC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0t
cHQuYwpAQCAtNTQ1LDYgKzU0NSwxNiBAQCBpbnQgcDJtX3B0X2hhbmRsZV9k
ZWZlcnJlZF9jaGFuZ2VzKHVpbnQ2CiAgICAgcmV0dXJuIHJjOwogfQogCisv
KiBSZWNvbnN0cnVjdCBhIGZha2UgcDJtX2FjY2Vzc190IGZyb20gc3RvcmVk
IFBURSBmbGFncy4gKi8KK3N0YXRpYyBwMm1fYWNjZXNzX3QgcDJtX2ZsYWdz
X3RvX2FjY2Vzcyh1bnNpZ25lZCBpbnQgZmxhZ3MpCit7CisgICAgaWYgKCBm
bGFncyAmIF9QQUdFX1BSRVNFTlQgKQorICAgICAgICByZXR1cm4gcDJtX2Fj
Y2Vzc19uOworCisgICAgLyogTm8gbmVlZCB0byBsb29rIGF0IF9QQUdFX05Y
IGZvciBub3cuICovCisgICAgcmV0dXJuIGZsYWdzICYgX1BBR0VfUlcgPyBw
Mm1fYWNjZXNzX3J3IDogcDJtX2FjY2Vzc19yOworfQorCiAvKiBDaGVja3Mg
b25seSBhcHBsaWNhYmxlIHRvIGVudHJpZXMgd2l0aCBvcmRlciA+IFBBR0Vf
T1JERVJfNEsgKi8KIHN0YXRpYyB2b2lkIGNoZWNrX2VudHJ5KG1mbl90IG1m
biwgcDJtX3R5cGVfdCBuZXcsIHAybV90eXBlX3Qgb2xkLAogICAgICAgICAg
ICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG9yZGVyKQpAQCAtNTc5LDcg
KzU4OSw3IEBAIHAybV9wdF9zZXRfZW50cnkoc3RydWN0IHAybV9kb21haW4g
KnAybSwKICAgICBsMl9wZ2VudHJ5X3QgbDJlX2NvbnRlbnQ7CiAgICAgbDNf
cGdlbnRyeV90IGwzZV9jb250ZW50OwogICAgIGludCByYzsKLSAgICB1bnNp
Z25lZCBpbnQgaW9tbXVfcHRlX2ZsYWdzID0gcDJtX2dldF9pb21tdV9mbGFn
cyhwMm10LCBtZm4pOworICAgIHVuc2lnbmVkIGludCBpb21tdV9wdGVfZmxh
Z3MgPSBwMm1fZ2V0X2lvbW11X2ZsYWdzKHAybXQsIHAybWEsIG1mbik7CiAg
ICAgLyoKICAgICAgKiBvbGRfbWZuIGFuZCBpb21tdV9vbGRfZmxhZ3MgY29u
dHJvbCBwb3NzaWJsZSBmbHVzaC91cGRhdGUgbmVlZHMgb24gdGhlCiAgICAg
ICogSU9NTVU6IFdlIG5lZWQgdG8gZmx1c2ggd2hlbiBNRk4gb3IgZmxhZ3Mg
KGkuZS4gcGVybWlzc2lvbnMpIGNoYW5nZS4KQEAgLTY0Miw2ICs2NTIsNyBA
QCBwMm1fcHRfc2V0X2VudHJ5KHN0cnVjdCBwMm1fZG9tYWluICpwMm0sCiAg
ICAgICAgICAgICAgICAgb2xkX21mbiA9IGwxZV9nZXRfcGZuKCpwMm1fZW50
cnkpOwogICAgICAgICAgICAgICAgIGlvbW11X29sZF9mbGFncyA9CiAgICAg
ICAgICAgICAgICAgICAgIHAybV9nZXRfaW9tbXVfZmxhZ3MocDJtX2ZsYWdz
X3RvX3R5cGUoZmxhZ3MpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHAybV9mbGFnc190b19hY2Nlc3MoZmxhZ3MpLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9tZm4ob2xk
X21mbikpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxzZQpAQCAt
Njg0LDkgKzY5NSwxMCBAQCBwMm1fcHRfc2V0X2VudHJ5KHN0cnVjdCBwMm1f
ZG9tYWluICpwMm0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDAsIEwxX1BBR0VUQUJMRV9FTlRSSUVTKTsKICAgICAgICAgQVNTRVJU
KHAybV9lbnRyeSk7CiAgICAgICAgIG9sZF9tZm4gPSBsMWVfZ2V0X3Bmbigq
cDJtX2VudHJ5KTsKKyAgICAgICAgZmxhZ3MgPSBsMWVfZ2V0X2ZsYWdzKCpw
Mm1fZW50cnkpOwogICAgICAgICBpb21tdV9vbGRfZmxhZ3MgPQotICAgICAg
ICAgICAgcDJtX2dldF9pb21tdV9mbGFncyhwMm1fZmxhZ3NfdG9fdHlwZShs
MWVfZ2V0X2ZsYWdzKCpwMm1fZW50cnkpKSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgX21mbihvbGRfbWZuKSk7CisgICAgICAgICAgICBw
Mm1fZ2V0X2lvbW11X2ZsYWdzKHAybV9mbGFnc190b190eXBlKGZsYWdzKSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcDJtX2ZsYWdzX3Rv
X2FjY2VzcyhmbGFncyksIF9tZm4ob2xkX21mbikpOwogCiAgICAgICAgIGlm
ICggbWZuX3ZhbGlkKG1mbikgfHwgcDJtX2FsbG93c19pbnZhbGlkX21mbihw
Mm10KSApCiAgICAgICAgICAgICBlbnRyeV9jb250ZW50ID0gcDJtX2wxZV9m
cm9tX3BmbihtZm5feChtZm4pLApAQCAtNzE0LDYgKzcyNiw3IEBAIHAybV9w
dF9zZXRfZW50cnkoc3RydWN0IHAybV9kb21haW4gKnAybSwKICAgICAgICAg
ICAgICAgICBvbGRfbWZuID0gbDFlX2dldF9wZm4oKnAybV9lbnRyeSk7CiAg
ICAgICAgICAgICAgICAgaW9tbXVfb2xkX2ZsYWdzID0KICAgICAgICAgICAg
ICAgICAgICAgcDJtX2dldF9pb21tdV9mbGFncyhwMm1fZmxhZ3NfdG9fdHlw
ZShmbGFncyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcDJtX2ZsYWdzX3RvX2FjY2VzcyhmbGFncyksCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX21mbihvbGRfbWZuKSk7
CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlCi0tLSBhL3hlbi9p
bmNsdWRlL2FzbS14ODYvcDJtLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4
Ni9wMm0uaApAQCAtOTE1LDcgKzkxNSw4IEBAIHN0YXRpYyBpbmxpbmUgdm9p
ZCBwMm1fYWx0cDJtX2NoZWNrKHN0cnUKIC8qCiAgKiBwMm0gdHlwZSB0byBJ
T01NVSBmbGFncwogICovCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBw
Mm1fZ2V0X2lvbW11X2ZsYWdzKHAybV90eXBlX3QgcDJtdCwgbWZuX3QgbWZu
KQorc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgcDJtX2dldF9pb21tdV9m
bGFncyhwMm1fdHlwZV90IHAybXQsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHAybV9hY2Nlc3NfdCBwMm1hLCBt
Zm5fdCBtZm4pCiB7CiAgICAgdW5zaWduZWQgaW50IGZsYWdzOwogCg==

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.15-4.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.15-4.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBJT01NVTogZ2VuZXJhbGl6ZSBWVC1kJ3MgdHJhY2tpbmcgb2YgbWFwcGVk
IFJNUlIgcmVnaW9ucwoKSW4gb3JkZXIgdG8gcmUtdXNlIGl0IGVsc2V3aGVy
ZSwgbW92ZSB0aGUgbG9naWMgdG8gdmVuZG9yIGluZGVwZW5kZW50CmNvZGUg
YW5kIHN0cmlwIGl0IG9mIFJNUlIgc3BlY2lmaWNzLgoKTm90ZSB0aGF0IHRo
ZSBwcmlvciAibWFwIiBwYXJhbWV0ZXIgZ2V0cyBmb2xkZWQgaW50byB0aGUg
bmV3ICJwMm1hIiBvbmUKKHdoaWNoIEFNRCBJT01NVSBjb2RlIHdpbGwgd2Fu
dCB0byBtYWtlIHVzZSBvZiksIGFzc2lnbmluZyBhbHRlcm5hdGl2ZQptZWFu
aW5nICgidW5tYXAiKSB0byBwMm1fYWNjZXNzX3guIFByZXBhcmUgc2V0X2lk
ZW50aXR5X3AybV9lbnRyeSgpIGFuZApwMm1fZ2V0X2lvbW11X2ZsYWdzKCkg
Zm9yIGdldHRpbmcgcGFzc2VkIGFjY2VzcyB0eXBlcyBvdGhlciB0aGFuCnAy
bV9hY2Nlc3NfcncgKGluIHRoZSBsYXR0ZXIgY2FzZSBqdXN0IGZvciBwMm1f
bW1pb19kaXJlY3QgcmVxdWVzdHMpLgoKTm90ZSBhbHNvIHRoYXQsIHRvIGJl
IG9uIHRoZSBzYWZlIHNpZGUsIGFuIG92ZXJsYXAgY2hlY2sgZ2V0cyBhZGRl
ZCB0bwp0aGUgbWFpbiBsb29wIG9mIGlvbW11X2lkZW50aXR5X21hcHBpbmco
KS4KClRoaXMgaXMgcGFydCBvZiBYU0EtMzc4LgoKU2lnbmVkLW9mZi1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTog
UGF1bCBEdXJyYW50IDxwYXVsQHhlbi5vcmc+CgotLS0gYS94ZW4vYXJjaC94
ODYvbW0vcDJtLmMKKysrIGIveGVuL2FyY2gveDg2L21tL3AybS5jCkBAIC0x
MzY1LDcgKzEzNjUsNyBAQCBpbnQgc2V0X2lkZW50aXR5X3AybV9lbnRyeShz
dHJ1Y3QgZG9tYWluCiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAg
cmV0dXJuIGlvbW11X2xlZ2FjeV9tYXAoZCwgX2RmbihnZm5fbCksIF9tZm4o
Z2ZuX2wpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxdWwg
PDwgUEFHRV9PUkRFUl80SywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgSU9NTVVGX3JlYWRhYmxlIHwgSU9NTVVGX3dyaXRhYmxlKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcDJtX2FjY2Vzc190b19p
b21tdV9mbGFncyhwMm1hKSk7CiAgICAgfQogCiAgICAgZ2ZuX2xvY2socDJt
LCBnZm4sIDApOwotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQv
aW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9t
bXUuYwpAQCAtNDIsMTIgKzQyLDYgQEAKICNpbmNsdWRlICJ2dGQuaCIKICNp
bmNsdWRlICIuLi9hdHMuaCIKIAotc3RydWN0IG1hcHBlZF9ybXJyIHsKLSAg
ICBzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7Ci0gICAgdTY0IGJhc2UsIGVuZDsK
LSAgICB1bnNpZ25lZCBpbnQgY291bnQ7Ci19OwotCiAvKiBQb3NzaWJsZSB1
bmZpbHRlcmVkIExBUElDL01TSSBtZXNzYWdlcyBmcm9tIHVudHJ1c3RlZCBz
b3VyY2VzPyAqLwogYm9vbCBfX3JlYWRfbW9zdGx5IHVudHJ1c3RlZF9tc2k7
CiAKQEAgLTEzMTEsNyArMTMwNSw2IEBAIHN0YXRpYyBpbnQgaW50ZWxfaW9t
bXVfZG9tYWluX2luaXQoc3RydWMKICAgICBzdHJ1Y3QgZG9tYWluX2lvbW11
ICpoZCA9IGRvbV9pb21tdShkKTsKIAogICAgIGhkLT5hcmNoLnZ0ZC5hZ2F3
ID0gd2lkdGhfdG9fYWdhdyhERUZBVUxUX0RPTUFJTl9BRERSRVNTX1dJRFRI
KTsKLSAgICBJTklUX0xJU1RfSEVBRCgmaGQtPmFyY2gudnRkLm1hcHBlZF9y
bXJycyk7CiAKICAgICByZXR1cm4gMDsKIH0KQEAgLTE3ODgsMTcgKzE3ODEs
MTIgQEAgc3RhdGljIHZvaWQgaW9tbXVfY2xlYXJfcm9vdF9wZ3RhYmxlKHN0
cgogc3RhdGljIHZvaWQgaW9tbXVfZG9tYWluX3RlYXJkb3duKHN0cnVjdCBk
b21haW4gKmQpCiB7CiAgICAgc3RydWN0IGRvbWFpbl9pb21tdSAqaGQgPSBk
b21faW9tbXUoZCk7Ci0gICAgc3RydWN0IG1hcHBlZF9ybXJyICptcm1yciwg
KnRtcDsKICAgICBjb25zdCBzdHJ1Y3QgYWNwaV9kcmhkX3VuaXQgKmRyaGQ7
CiAKICAgICBpZiAoIGxpc3RfZW1wdHkoJmFjcGlfZHJoZF91bml0cykgKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5X3Nh
ZmUgKCBtcm1yciwgdG1wLCAmaGQtPmFyY2gudnRkLm1hcHBlZF9ybXJycywg
bGlzdCApCi0gICAgewotICAgICAgICBsaXN0X2RlbCgmbXJtcnItPmxpc3Qp
OwotICAgICAgICB4ZnJlZShtcm1ycik7Ci0gICAgfQorICAgIGlvbW11X2lk
ZW50aXR5X21hcF90ZWFyZG93bihkKTsKIAogICAgIEFTU0VSVCghaGQtPmFy
Y2gudnRkLnBnZF9tYWRkcik7CiAKQEAgLTE5NDYsNzQgKzE5MzQsNiBAQCBz
dGF0aWMgaW50IF9faW5pdCB2dGRfZXB0X3BhZ2VfY29tcGF0aWJsCiAgICAg
ICAgICAgIChlcHRfaGFzXzFnYihlcHRfY2FwKSAmJiBvcHRfaGFwXzFnYikg
PD0gY2FwX3Nwc18xZ2IodnRkX2NhcCk7CiB9CiAKLXN0YXRpYyBpbnQgcm1y
cl9pZGVudGl0eV9tYXBwaW5nKHN0cnVjdCBkb21haW4gKmQsIGJvb2xfdCBt
YXAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBz
dHJ1Y3QgYWNwaV9ybXJyX3VuaXQgKnJtcnIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1MzIgZmxhZykKLXsKLSAgICB1bnNpZ25lZCBs
b25nIGJhc2VfcGZuID0gcm1yci0+YmFzZV9hZGRyZXNzID4+IFBBR0VfU0hJ
RlRfNEs7Ci0gICAgdW5zaWduZWQgbG9uZyBlbmRfcGZuID0gUEFHRV9BTElH
Tl80SyhybXJyLT5lbmRfYWRkcmVzcykgPj4gUEFHRV9TSElGVF80SzsKLSAg
ICBzdHJ1Y3QgbWFwcGVkX3JtcnIgKm1ybXJyOwotICAgIHN0cnVjdCBkb21h
aW5faW9tbXUgKmhkID0gZG9tX2lvbW11KGQpOwotCi0gICAgQVNTRVJUKHBj
aWRldnNfbG9ja2VkKCkpOwotICAgIEFTU0VSVChybXJyLT5iYXNlX2FkZHJl
c3MgPCBybXJyLT5lbmRfYWRkcmVzcyk7Ci0KLSAgICAvKgotICAgICAqIE5v
IG5lZWQgdG8gYWNxdWlyZSBoZC0+YXJjaC5tYXBwaW5nX2xvY2s6IEJvdGgg
aW5zZXJ0aW9uIGFuZCByZW1vdmFsCi0gICAgICogZ2V0IGRvbmUgd2hpbGUg
aG9sZGluZyBwY2lkZXZzX2xvY2suCi0gICAgICovCi0gICAgbGlzdF9mb3Jf
ZWFjaF9lbnRyeSggbXJtcnIsICZoZC0+YXJjaC52dGQubWFwcGVkX3JtcnJz
LCBsaXN0ICkKLSAgICB7Ci0gICAgICAgIGlmICggbXJtcnItPmJhc2UgPT0g
cm1yci0+YmFzZV9hZGRyZXNzICYmCi0gICAgICAgICAgICAgbXJtcnItPmVu
ZCA9PSBybXJyLT5lbmRfYWRkcmVzcyApCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIGludCByZXQgPSAwOwotCi0gICAgICAgICAgICBpZiAoIG1hcCApCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgKyttcm1yci0+Y291bnQ7
Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgICAgICB9Ci0K
LSAgICAgICAgICAgIGlmICggLS1tcm1yci0+Y291bnQgKQotICAgICAgICAg
ICAgICAgIHJldHVybiAwOwotCi0gICAgICAgICAgICB3aGlsZSAoIGJhc2Vf
cGZuIDwgZW5kX3BmbiApCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgaWYgKCBjbGVhcl9pZGVudGl0eV9wMm1fZW50cnkoZCwgYmFzZV9wZm4p
ICkKLSAgICAgICAgICAgICAgICAgICAgcmV0ID0gLUVOWElPOwotICAgICAg
ICAgICAgICAgIGJhc2VfcGZuKys7Ci0gICAgICAgICAgICB9Ci0KLSAgICAg
ICAgICAgIGxpc3RfZGVsKCZtcm1yci0+bGlzdCk7Ci0gICAgICAgICAgICB4
ZnJlZShtcm1ycik7Ci0gICAgICAgICAgICByZXR1cm4gcmV0OwotICAgICAg
ICB9Ci0gICAgfQotCi0gICAgaWYgKCAhbWFwICkKLSAgICAgICAgcmV0dXJu
IC1FTk9FTlQ7Ci0KLSAgICB3aGlsZSAoIGJhc2VfcGZuIDwgZW5kX3BmbiAp
Ci0gICAgewotICAgICAgICBpbnQgZXJyID0gc2V0X2lkZW50aXR5X3AybV9l
bnRyeShkLCBiYXNlX3BmbiwgcDJtX2FjY2Vzc19ydywgZmxhZyk7Ci0KLSAg
ICAgICAgaWYgKCBlcnIgKQotICAgICAgICAgICAgcmV0dXJuIGVycjsKLSAg
ICAgICAgYmFzZV9wZm4rKzsKLSAgICB9Ci0KLSAgICBtcm1yciA9IHhtYWxs
b2Moc3RydWN0IG1hcHBlZF9ybXJyKTsKLSAgICBpZiAoICFtcm1yciApCi0g
ICAgICAgIHJldHVybiAtRU5PTUVNOwotICAgIG1ybXJyLT5iYXNlID0gcm1y
ci0+YmFzZV9hZGRyZXNzOwotICAgIG1ybXJyLT5lbmQgPSBybXJyLT5lbmRf
YWRkcmVzczsKLSAgICBtcm1yci0+Y291bnQgPSAxOwotICAgIGxpc3RfYWRk
X3RhaWwoJm1ybXJyLT5saXN0LCAmaGQtPmFyY2gudnRkLm1hcHBlZF9ybXJy
cyk7Ci0KLSAgICByZXR1cm4gMDsKLX0KLQogc3RhdGljIGludCBpbnRlbF9p
b21tdV9hZGRfZGV2aWNlKHU4IGRldmZuLCBzdHJ1Y3QgcGNpX2RldiAqcGRl
dikKIHsKICAgICBzdHJ1Y3QgYWNwaV9ybXJyX3VuaXQgKnJtcnI7CkBAIC0y
MDQ1LDcgKzE5NjUsOSBAQCBzdGF0aWMgaW50IGludGVsX2lvbW11X2FkZF9k
ZXZpY2UodTggZGV2CiAgICAgICAgICAgICAgKiBTaW5jZSBSTVJScyBhcmUg
YWx3YXlzIHJlc2VydmVkIGluIHRoZSBlODIwIG1hcCBmb3IgdGhlIGhhcmR3
YXJlCiAgICAgICAgICAgICAgKiBkb21haW4sIHRoZXJlIHNob3VsZG4ndCBi
ZSBhIGNvbmZsaWN0LgogICAgICAgICAgICAgICovCi0gICAgICAgICAgICBy
ZXQgPSBybXJyX2lkZW50aXR5X21hcHBpbmcocGRldi0+ZG9tYWluLCAxLCBy
bXJyLCAwKTsKKyAgICAgICAgICAgIHJldCA9IGlvbW11X2lkZW50aXR5X21h
cHBpbmcocGRldi0+ZG9tYWluLCBwMm1fYWNjZXNzX3J3LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBybXJyLT5iYXNlX2Fk
ZHJlc3MsIHJtcnItPmVuZF9hZGRyZXNzLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAwKTsKICAgICAgICAgICAgIGlmICgg
cmV0ICkKICAgICAgICAgICAgICAgICBkcHJpbnRrKFhFTkxPR19FUlIgVlRE
UFJFRklYLCAiZCVkOiBSTVJSIG1hcHBpbmcgZmFpbGVkXG4iLAogICAgICAg
ICAgICAgICAgICAgICAgICAgcGRldi0+ZG9tYWluLT5kb21haW5faWQpOwpA
QCAtMjA5MCw3ICsyMDEyLDggQEAgc3RhdGljIGludCBpbnRlbF9pb21tdV9y
ZW1vdmVfZGV2aWNlKHU4CiAgICAgICAgICAqIEFueSBmbGFnIGlzIG5vdGhp
bmcgdG8gY2xlYXIgdGhlc2UgbWFwcGluZ3MgYnV0IGhlcmUKICAgICAgICAg
ICogaXRzIGFsd2F5cyBzYWZlIGFuZCBzdHJpY3QgdG8gc2V0IDAuCiAgICAg
ICAgICAqLwotICAgICAgICBybXJyX2lkZW50aXR5X21hcHBpbmcocGRldi0+
ZG9tYWluLCAwLCBybXJyLCAwKTsKKyAgICAgICAgaW9tbXVfaWRlbnRpdHlf
bWFwcGluZyhwZGV2LT5kb21haW4sIHAybV9hY2Nlc3NfeCwgcm1yci0+YmFz
ZV9hZGRyZXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJt
cnItPmVuZF9hZGRyZXNzLCAwKTsKICAgICB9CiAKICAgICByZXR1cm4gZG9t
YWluX2NvbnRleHRfdW5tYXAocGRldi0+ZG9tYWluLCBkZXZmbiwgcGRldik7
CkBAIC0yMjg5LDcgKzIyMTIsOCBAQCBzdGF0aWMgdm9pZCBfX2h3ZG9tX2lu
aXQgc2V0dXBfaHdkb21fcm1yCiAgICAgICAgICAqIGRvbWFpbiwgdGhlcmUg
c2hvdWxkbid0IGJlIGEgY29uZmxpY3QuIFNvIGl0cyBhbHdheXMgc2FmZSBh
bmQKICAgICAgICAgICogc3RyaWN0IHRvIHNldCAwLgogICAgICAgICAgKi8K
LSAgICAgICAgcmV0ID0gcm1ycl9pZGVudGl0eV9tYXBwaW5nKGQsIDEsIHJt
cnIsIDApOworICAgICAgICByZXQgPSBpb21tdV9pZGVudGl0eV9tYXBwaW5n
KGQsIHAybV9hY2Nlc3NfcncsIHJtcnItPmJhc2VfYWRkcmVzcywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBybXJyLT5lbmRfYWRk
cmVzcywgMCk7CiAgICAgICAgIGlmICggcmV0ICkKICAgICAgICAgICAgIGRw
cmludGsoWEVOTE9HX0VSUiBWVERQUkVGSVgsCiAgICAgICAgICAgICAgICAg
ICAgICAiSU9NTVU6IG1hcHBpbmcgcmVzZXJ2ZWQgcmVnaW9uIGZhaWxlZFxu
Iik7CkBAIC0yNDYwLDcgKzIzODQsOSBAQCBzdGF0aWMgaW50IHJlYXNzaWdu
X2RldmljZV9vd25lcnNoaXAoCiAgICAgICAgICAgICAgICAgICogQW55IFJN
UlIgZmxhZyBpcyBhbHdheXMgaWdub3JlZCB3aGVuIHJlbW92ZSBhIGRldmlj
ZSwKICAgICAgICAgICAgICAgICAgKiBidXQgaXRzIGFsd2F5cyBzYWZlIGFu
ZCBzdHJpY3QgdG8gc2V0IDAuCiAgICAgICAgICAgICAgICAgICovCi0gICAg
ICAgICAgICAgICAgcmV0ID0gcm1ycl9pZGVudGl0eV9tYXBwaW5nKHNvdXJj
ZSwgMCwgcm1yciwgMCk7CisgICAgICAgICAgICAgICAgcmV0ID0gaW9tbXVf
aWRlbnRpdHlfbWFwcGluZyhzb3VyY2UsIHAybV9hY2Nlc3NfeCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJtcnIt
PmJhc2VfYWRkcmVzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHJtcnItPmVuZF9hZGRyZXNzLCAwKTsKICAgICAg
ICAgICAgICAgICBpZiAoIHJldCAhPSAtRU5PRU5UICkKICAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIHJldDsKICAgICAgICAgICAgIH0KQEAgLTI1NTYs
NyArMjQ4Miw4IEBAIHN0YXRpYyBpbnQgaW50ZWxfaW9tbXVfYXNzaWduX2Rl
dmljZSgKICAgICAgICAgICAgICBQQ0lfQlVTKGJkZikgPT0gYnVzICYmCiAg
ICAgICAgICAgICAgUENJX0RFVkZOMihiZGYpID09IGRldmZuICkKICAgICAg
ICAgewotICAgICAgICAgICAgcmV0ID0gcm1ycl9pZGVudGl0eV9tYXBwaW5n
KGQsIDEsIHJtcnIsIGZsYWcpOworICAgICAgICAgICAgcmV0ID0gaW9tbXVf
aWRlbnRpdHlfbWFwcGluZyhkLCBwMm1fYWNjZXNzX3J3LCBybXJyLT5iYXNl
X2FkZHJlc3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHJtcnItPmVuZF9hZGRyZXNzLCBmbGFnKTsKICAgICAgICAgICAg
IGlmICggcmV0ICkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBp
bnQgcmM7Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3g4Ni9pb21t
dS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3g4Ni9pb21tdS5j
CkBAIC0xNDMsNiArMTQzLDcgQEAgaW50IGFyY2hfaW9tbXVfZG9tYWluX2lu
aXQoc3RydWN0IGRvbWFpbgogCiAgICAgSU5JVF9QQUdFX0xJU1RfSEVBRCgm
aGQtPmFyY2gucGd0YWJsZXMubGlzdCk7CiAgICAgc3Bpbl9sb2NrX2luaXQo
JmhkLT5hcmNoLnBndGFibGVzLmxvY2spOworICAgIElOSVRfTElTVF9IRUFE
KCZoZC0+YXJjaC5pZGVudGl0eV9tYXBzKTsKIAogICAgIHJldHVybiAwOwog
fQpAQCAtMTU4LDYgKzE1OSw5OSBAQCB2b2lkIGFyY2hfaW9tbXVfZG9tYWlu
X2Rlc3Ryb3koc3RydWN0IGRvCiAgICAgICAgICAgIHBhZ2VfbGlzdF9lbXB0
eSgmZG9tX2lvbW11KGQpLT5hcmNoLnBndGFibGVzLmxpc3QpKTsKIH0KIAor
c3RydWN0IGlkZW50aXR5X21hcCB7CisgICAgc3RydWN0IGxpc3RfaGVhZCBs
aXN0OworICAgIHBhZGRyX3QgYmFzZSwgZW5kOworICAgIHAybV9hY2Nlc3Nf
dCBhY2Nlc3M7CisgICAgdW5zaWduZWQgaW50IGNvdW50OworfTsKKworaW50
IGlvbW11X2lkZW50aXR5X21hcHBpbmcoc3RydWN0IGRvbWFpbiAqZCwgcDJt
X2FjY2Vzc190IHAybWEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBw
YWRkcl90IGJhc2UsIHBhZGRyX3QgZW5kLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdW5zaWduZWQgaW50IGZsYWcpCit7CisgICAgdW5zaWduZWQg
bG9uZyBiYXNlX3BmbiA9IGJhc2UgPj4gUEFHRV9TSElGVF80SzsKKyAgICB1
bnNpZ25lZCBsb25nIGVuZF9wZm4gPSBQQUdFX0FMSUdOXzRLKGVuZCkgPj4g
UEFHRV9TSElGVF80SzsKKyAgICBzdHJ1Y3QgaWRlbnRpdHlfbWFwICptYXA7
CisgICAgc3RydWN0IGRvbWFpbl9pb21tdSAqaGQgPSBkb21faW9tbXUoZCk7
CisKKyAgICBBU1NFUlQocGNpZGV2c19sb2NrZWQoKSk7CisgICAgQVNTRVJU
KGJhc2UgPCBlbmQpOworCisgICAgLyoKKyAgICAgKiBObyBuZWVkIHRvIGFj
cXVpcmUgaGQtPmFyY2gubWFwcGluZ19sb2NrOiBCb3RoIGluc2VydGlvbiBh
bmQgcmVtb3ZhbAorICAgICAqIGdldCBkb25lIHdoaWxlIGhvbGRpbmcgcGNp
ZGV2c19sb2NrLgorICAgICAqLworICAgIGxpc3RfZm9yX2VhY2hfZW50cnko
IG1hcCwgJmhkLT5hcmNoLmlkZW50aXR5X21hcHMsIGxpc3QgKQorICAgIHsK
KyAgICAgICAgaWYgKCBtYXAtPmJhc2UgPT0gYmFzZSAmJiBtYXAtPmVuZCA9
PSBlbmQgKQorICAgICAgICB7CisgICAgICAgICAgICBpbnQgcmV0ID0gMDsK
KworICAgICAgICAgICAgaWYgKCBwMm1hICE9IHAybV9hY2Nlc3NfeCApCisg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaWYgKCBtYXAtPmFjY2Vz
cyAhPSBwMm1hICkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FQURE
UklOVVNFOworICAgICAgICAgICAgICAgICsrbWFwLT5jb3VudDsKKyAgICAg
ICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgaWYgKCAtLW1hcC0+Y291bnQgKQorICAgICAgICAgICAgICAgIHJl
dHVybiAwOworCisgICAgICAgICAgICB3aGlsZSAoIGJhc2VfcGZuIDwgZW5k
X3BmbiApCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaWYgKCBj
bGVhcl9pZGVudGl0eV9wMm1fZW50cnkoZCwgYmFzZV9wZm4pICkKKyAgICAg
ICAgICAgICAgICAgICAgcmV0ID0gLUVOWElPOworICAgICAgICAgICAgICAg
IGJhc2VfcGZuKys7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGxp
c3RfZGVsKCZtYXAtPmxpc3QpOworICAgICAgICAgICAgeGZyZWUobWFwKTsK
KworICAgICAgICAgICAgcmV0dXJuIHJldDsKKyAgICAgICAgfQorCisgICAg
ICAgIGlmICggZW5kID49IG1hcC0+YmFzZSAmJiBtYXAtPmVuZCA+PSBiYXNl
ICkKKyAgICAgICAgICAgIHJldHVybiAtRUFERFJJTlVTRTsKKyAgICB9CisK
KyAgICBpZiAoIHAybWEgPT0gcDJtX2FjY2Vzc194ICkKKyAgICAgICAgcmV0
dXJuIC1FTk9FTlQ7CisKKyAgICB3aGlsZSAoIGJhc2VfcGZuIDwgZW5kX3Bm
biApCisgICAgeworICAgICAgICBpbnQgZXJyID0gc2V0X2lkZW50aXR5X3Ay
bV9lbnRyeShkLCBiYXNlX3BmbiwgcDJtYSwgZmxhZyk7CisKKyAgICAgICAg
aWYgKCBlcnIgKQorICAgICAgICAgICAgcmV0dXJuIGVycjsKKyAgICAgICAg
YmFzZV9wZm4rKzsKKyAgICB9CisKKyAgICBtYXAgPSB4bWFsbG9jKHN0cnVj
dCBpZGVudGl0eV9tYXApOworICAgIGlmICggIW1hcCApCisgICAgICAgIHJl
dHVybiAtRU5PTUVNOworICAgIG1hcC0+YmFzZSA9IGJhc2U7CisgICAgbWFw
LT5lbmQgPSBlbmQ7CisgICAgbWFwLT5hY2Nlc3MgPSBwMm1hOworICAgIG1h
cC0+Y291bnQgPSAxOworICAgIGxpc3RfYWRkX3RhaWwoJm1hcC0+bGlzdCwg
JmhkLT5hcmNoLmlkZW50aXR5X21hcHMpOworCisgICAgcmV0dXJuIDA7Cit9
CisKK3ZvaWQgaW9tbXVfaWRlbnRpdHlfbWFwX3RlYXJkb3duKHN0cnVjdCBk
b21haW4gKmQpCit7CisgICAgc3RydWN0IGRvbWFpbl9pb21tdSAqaGQgPSBk
b21faW9tbXUoZCk7CisgICAgc3RydWN0IGlkZW50aXR5X21hcCAqbWFwLCAq
dG1wOworCisgICAgbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlICggbWFwLCB0
bXAsICZoZC0+YXJjaC5pZGVudGl0eV9tYXBzLCBsaXN0ICkKKyAgICB7Cisg
ICAgICAgIGxpc3RfZGVsKCZtYXAtPmxpc3QpOworICAgICAgICB4ZnJlZSht
YXApOworICAgIH0KK30KKwogc3RhdGljIGJvb2wgX19od2RvbV9pbml0IGh3
ZG9tX2lvbW11X21hcChjb25zdCBzdHJ1Y3QgZG9tYWluICpkLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBs
b25nIHBmbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgbG9uZyBtYXhfcGZuKQotLS0gYS94ZW4vaW5jbHVk
ZS9hc20teDg2L2lvbW11LmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9p
b21tdS5oCkBAIC0xNiw2ICsxNiw3IEBACiAKICNpbmNsdWRlIDx4ZW4vZXJy
bm8uaD4KICNpbmNsdWRlIDx4ZW4vbGlzdC5oPgorI2luY2x1ZGUgPHhlbi9t
ZW1fYWNjZXNzLmg+CiAjaW5jbHVkZSA8eGVuL3NwaW5sb2NrLmg+CiAjaW5j
bHVkZSA8YXNtL2FwaWNkZWYuaD4KICNpbmNsdWRlIDxhc20vcHJvY2Vzc29y
Lmg+CkBAIC01MSwxMyArNTIsMTQgQEAgc3RydWN0IGFyY2hfaW9tbXUKICAg
ICAgICAgc3BpbmxvY2tfdCBsb2NrOwogICAgIH0gcGd0YWJsZXM7CiAKKyAg
ICBzdHJ1Y3QgbGlzdF9oZWFkIGlkZW50aXR5X21hcHM7CisKICAgICB1bmlv
biB7CiAgICAgICAgIC8qIEludGVsIFZULWQgKi8KICAgICAgICAgc3RydWN0
IHsKICAgICAgICAgICAgIHVpbnQ2NF90IHBnZF9tYWRkcjsgLyogaW8gcGFn
ZSBkaXJlY3RvcnkgbWFjaGluZSBhZGRyZXNzICovCiAgICAgICAgICAgICB1
bnNpZ25lZCBpbnQgYWdhdzsgLyogYWRqdXN0ZWQgZ3Vlc3QgYWRkcmVzcyB3
aWR0aCwgMCBpcyBsZXZlbCAyIDMwLWJpdCAqLwogICAgICAgICAgICAgdWlu
dDY0X3QgaW9tbXVfYml0bWFwOyAvKiBiaXRtYXAgb2YgaW9tbXUocykgdGhh
dCB0aGUgZG9tYWluIHVzZXMgKi8KLSAgICAgICAgICAgIHN0cnVjdCBsaXN0
X2hlYWQgbWFwcGVkX3JtcnJzOwogICAgICAgICB9IHZ0ZDsKICAgICAgICAg
LyogQU1EIElPTU1VICovCiAgICAgICAgIHN0cnVjdCB7CkBAIC0xMjMsNiAr
MTI1LDExIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBpb21tdV9kaXNhYmxlX3gy
YXBpYygKICAgICAgICAgaW9tbXVfb3BzLmRpc2FibGVfeDJhcGljKCk7CiB9
CiAKK2ludCBpb21tdV9pZGVudGl0eV9tYXBwaW5nKHN0cnVjdCBkb21haW4g
KmQsIHAybV9hY2Nlc3NfdCBwMm1hLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcGFkZHJfdCBiYXNlLCBwYWRkcl90IGVuZCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBmbGFnKTsKK3ZvaWQgaW9t
bXVfaWRlbnRpdHlfbWFwX3RlYXJkb3duKHN0cnVjdCBkb21haW4gKmQpOwor
CiBleHRlcm4gYm9vbCB1bnRydXN0ZWRfbXNpOwogCiBpbnQgcGlfdXBkYXRl
X2lydGUoY29uc3Qgc3RydWN0IHBpX2Rlc2MgKnBpX2Rlc2MsIGNvbnN0IHN0
cnVjdCBwaXJxICpwaXJxLAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L3Ay
bS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcDJtLmgKQEAgLTkxMiw2
ICs5MTIsMzQgQEAgc3RydWN0IHAybV9kb21haW4gKnAybV9nZXRfYWx0cDJt
KHN0cnVjdAogc3RhdGljIGlubGluZSB2b2lkIHAybV9hbHRwMm1fY2hlY2so
c3RydWN0IHZjcHUgKnYsIHVpbnQxNl90IGlkeCkge30KICNlbmRpZgogCisv
KiBwMm0gYWNjZXNzIHRvIElPTU1VIGZsYWdzICovCitzdGF0aWMgaW5saW5l
IHVuc2lnbmVkIGludCBwMm1fYWNjZXNzX3RvX2lvbW11X2ZsYWdzKHAybV9h
Y2Nlc3NfdCBwMm1hKQoreworICAgIHN3aXRjaCAoIHAybWEgKQorICAgIHsK
KyAgICBjYXNlIHAybV9hY2Nlc3Nfcnc6CisgICAgY2FzZSBwMm1fYWNjZXNz
X3J3eDoKKyAgICAgICAgcmV0dXJuIElPTU1VRl9yZWFkYWJsZSB8IElPTU1V
Rl93cml0YWJsZTsKKworICAgIGNhc2UgcDJtX2FjY2Vzc19yOgorICAgIGNh
c2UgcDJtX2FjY2Vzc19yeDoKKyAgICBjYXNlIHAybV9hY2Nlc3Nfcngycnc6
CisgICAgICAgIHJldHVybiBJT01NVUZfcmVhZGFibGU7CisKKyAgICBjYXNl
IHAybV9hY2Nlc3NfdzoKKyAgICBjYXNlIHAybV9hY2Nlc3Nfd3g6CisgICAg
ICAgIHJldHVybiBJT01NVUZfd3JpdGFibGU7CisKKyAgICBjYXNlIHAybV9h
Y2Nlc3NfbjoKKyAgICBjYXNlIHAybV9hY2Nlc3NfeDoKKyAgICBjYXNlIHAy
bV9hY2Nlc3NfbjJyd3g6CisgICAgICAgIHJldHVybiAwOworICAgIH0KKwor
ICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOworICAgIHJldHVybiAwOworfQor
CiAvKgogICogcDJtIHR5cGUgdG8gSU9NTVUgZmxhZ3MKICAqLwpAQCAtOTMz
LDkgKzk2MSwxMCBAQCBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBwMm1f
Z2V0X2lvbW11CiAgICAgICAgIGZsYWdzID0gSU9NTVVGX3JlYWRhYmxlOwog
ICAgICAgICBicmVhazsKICAgICBjYXNlIHAybV9tbWlvX2RpcmVjdDoKLSAg
ICAgICAgZmxhZ3MgPSBJT01NVUZfcmVhZGFibGU7Ci0gICAgICAgIGlmICgg
IXJhbmdlc2V0X2NvbnRhaW5zX3NpbmdsZXRvbihtbWlvX3JvX3Jhbmdlcywg
bWZuX3gobWZuKSkgKQotICAgICAgICAgICAgZmxhZ3MgfD0gSU9NTVVGX3dy
aXRhYmxlOworICAgICAgICBmbGFncyA9IHAybV9hY2Nlc3NfdG9faW9tbXVf
ZmxhZ3MocDJtYSk7CisgICAgICAgIGlmICggKGZsYWdzICYgSU9NTVVGX3dy
aXRhYmxlKSAmJgorICAgICAgICAgICAgIHJhbmdlc2V0X2NvbnRhaW5zX3Np
bmdsZXRvbihtbWlvX3JvX3JhbmdlcywgbWZuX3gobWZuKSkgKQorICAgICAg
ICAgICAgZmxhZ3MgJj0gfklPTU1VRl93cml0YWJsZTsKICAgICAgICAgYnJl
YWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgZmxhZ3MgPSAwOwo=

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.15-5.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.15-5.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBBTUQvSU9NTVU6IHJlLWFycmFuZ2UvY29tcGxldGUgcmUtYXNzaWdubWVu
dCBoYW5kbGluZwoKUHJpb3IgdG8gdGhlIGFzc2lnbm1lbnQgc3RlcCBoYXZp
bmcgY29tcGxldGVkIHN1Y2Nlc3NmdWxseSwgZGV2aWNlcwpzaG91bGQgbm90
IGdldCBhc3NvY2lhdGVkIHdpdGggdGhlaXIgbmV3IG93bmVyLiBIYW5kIHRo
ZSBkZXZpY2UgdG8gRG9tSU8KKHBlcmhhcHMgdGVtcG9yYXJpbHkpLCB1bnRp
bCBhZnRlciB0aGUgZGUtYXNzaWdubWVudCBzdGVwIGhhcyBjb21wbGV0ZWQu
CgpEZS1hc3NpZ25tZW50IG9mIGEgZGV2aWNlIChmcm9tIG90aGVyIHRoYW4g
RG9tMCkgYXMgd2VsbCBhcyBmYWlsdXJlIG9mCnJlYXNzaWduX2RldmljZSgp
IGR1cmluZyBhc3NpZ25tZW50IHNob3VsZCByZXN1bHQgaW4gdW5pdHkgbWFw
cGluZ3MKZ2V0dGluZyB0b3JuIGRvd24uIFRoaXMgaW4gdHVybiByZXF1aXJl
cyBzd2l0Y2hpbmcgdG8gYSByZWZjb3VudGVkCm1hcHBpbmcgYXBwcm9hY2gs
IGFzIHdhcyBhbHJlYWR5IHVzZWQgYnkgVlQtZCBmb3IgaXRzIFJNUlJzLCB0
byBwcmV2ZW50CnVubWFwcGluZyBhIHJlZ2lvbiB1c2VkIGJ5IG11bHRpcGxl
IGRldmljZXMuCgpUaGlzIGlzIENWRS0yMDIxLTI4Njk2IC8gcGFydCBvZiBY
U0EtMzc4LgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpSZXZpZXdlZC1ieTogUGF1bCBEdXJyYW50IDxwYXVsQHhl
bi5vcmc+CgotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9t
bXUuaAorKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXUu
aApAQCAtMjMyLDggKzIzMiwxMCBAQCBpbnQgX19tdXN0X2NoZWNrIGFtZF9p
b21tdV91bm1hcF9wYWdlKHN0CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIGludCAqZmx1c2hfZmxhZ3MpOwogaW50
IF9fbXVzdF9jaGVjayBhbWRfaW9tbXVfYWxsb2Nfcm9vdChzdHJ1Y3QgZG9t
YWluICpkKTsKIGludCBhbWRfaW9tbXVfcmVzZXJ2ZV9kb21haW5fdW5pdHlf
bWFwKHN0cnVjdCBkb21haW4gKmRvbWFpbiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHBhZGRyX3QgcGh5c19hZGRyLCB1bnNp
Z25lZCBsb25nIHNpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgaXcsIGludCBpcik7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgaXZyc191bml0
eV9tYXAgKm1hcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVuc2lnbmVkIGludCBmbGFnKTsKK2ludCBhbWRfaW9tbXVfcmVz
ZXJ2ZV9kb21haW5fdW5pdHlfdW5tYXAoc3RydWN0IGRvbWFpbiAqZCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
c3RydWN0IGl2cnNfdW5pdHlfbWFwICptYXApOwogaW50IF9fbXVzdF9jaGVj
ayBhbWRfaW9tbXVfZmx1c2hfaW90bGJfcGFnZXMoc3RydWN0IGRvbWFpbiAq
ZCwgZGZuX3QgZGZuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBwYWdlX2NvdW50LAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5z
aWduZWQgaW50IGZsdXNoX2ZsYWdzKTsKLS0tIGEveGVuL2RyaXZlcnMvcGFz
c3Rocm91Z2gvYW1kL2lvbW11X21hcC5jCisrKyBiL3hlbi9kcml2ZXJzL3Bh
c3N0aHJvdWdoL2FtZC9pb21tdV9tYXAuYwpAQCAtNDE5LDM4ICs0MTksNDkg
QEAgaW50IGFtZF9pb21tdV9mbHVzaF9pb3RsYl9hbGwoc3RydWN0IGRvbQog
ICAgIHJldHVybiAwOwogfQogCi1pbnQgYW1kX2lvbW11X3Jlc2VydmVfZG9t
YWluX3VuaXR5X21hcChzdHJ1Y3QgZG9tYWluICpkb21haW4sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkcl90IHBoeXNf
YWRkciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVuc2lnbmVkIGxvbmcgc2l6ZSwgaW50IGl3LCBpbnQgaXIpCitpbnQgYW1k
X2lvbW11X3Jlc2VydmVfZG9tYWluX3VuaXR5X21hcChzdHJ1Y3QgZG9tYWlu
ICpkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3Qgc3RydWN0IGl2cnNfdW5pdHlfbWFwICptYXAsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgZmxh
ZykKIHsKLSAgICB1bnNpZ25lZCBsb25nIG5wYWdlcywgaTsKLSAgICB1bnNp
Z25lZCBsb25nIGdmbjsKLSAgICB1bnNpZ25lZCBpbnQgZmxhZ3MgPSAhIWly
OwotICAgIHVuc2lnbmVkIGludCBmbHVzaF9mbGFncyA9IDA7Ci0gICAgaW50
IHJ0ID0gMDsKLQotICAgIGlmICggaXcgKQotICAgICAgICBmbGFncyB8PSBJ
T01NVUZfd3JpdGFibGU7Ci0KLSAgICBucGFnZXMgPSByZWdpb25fdG9fcGFn
ZXMocGh5c19hZGRyLCBzaXplKTsKLSAgICBnZm4gPSBwaHlzX2FkZHIgPj4g
UEFHRV9TSElGVDsKLSAgICBmb3IgKCBpID0gMDsgaSA8IG5wYWdlczsgaSsr
ICkKKyAgICBpbnQgcmM7CisKKyAgICBpZiAoIGQgPT0gZG9tX2lvICkKKyAg
ICAgICAgcmV0dXJuIDA7CisKKyAgICBmb3IgKCByYyA9IDA7ICFyYyAmJiBt
YXA7IG1hcCA9IG1hcC0+bmV4dCApCiAgICAgewotICAgICAgICB1bnNpZ25l
ZCBsb25nIGZyYW1lID0gZ2ZuICsgaTsKKyAgICAgICAgcDJtX2FjY2Vzc190
IHAybWEgPSBwMm1fYWNjZXNzX247CisKKyAgICAgICAgaWYgKCBtYXAtPnJl
YWQgKQorICAgICAgICAgICAgcDJtYSB8PSBwMm1fYWNjZXNzX3I7CisgICAg
ICAgIGlmICggbWFwLT53cml0ZSApCisgICAgICAgICAgICBwMm1hIHw9IHAy
bV9hY2Nlc3NfdzsKIAotICAgICAgICBydCA9IGFtZF9pb21tdV9tYXBfcGFn
ZShkb21haW4sIF9kZm4oZnJhbWUpLCBfbWZuKGZyYW1lKSwgZmxhZ3MsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZmbHVzaF9mbGFncyk7
Ci0gICAgICAgIGlmICggcnQgIT0gMCApCi0gICAgICAgICAgICBicmVhazsK
KyAgICAgICAgcmMgPSBpb21tdV9pZGVudGl0eV9tYXBwaW5nKGQsIHAybWEs
IG1hcC0+YWRkciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG1hcC0+YWRkciArIG1hcC0+bGVuZ3RoIC0gMSwgZmxhZyk7CiAgICAg
fQogCi0gICAgLyogVXNlIHdoaWxlLWJyZWFrIHRvIGF2b2lkIGNvbXBpbGVy
IHdhcm5pbmcgKi8KLSAgICB3aGlsZSAoIGZsdXNoX2ZsYWdzICYmCi0gICAg
ICAgICAgICBhbWRfaW9tbXVfZmx1c2hfaW90bGJfcGFnZXMoZG9tYWluLCBf
ZGZuKGdmbiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbnBhZ2VzLCBmbHVzaF9mbGFncykgKQotICAgICAgICBicmVhazsK
KyAgICByZXR1cm4gcmM7Cit9CisKK2ludCBhbWRfaW9tbXVfcmVzZXJ2ZV9k
b21haW5fdW5pdHlfdW5tYXAoc3RydWN0IGRvbWFpbiAqZCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0
IGl2cnNfdW5pdHlfbWFwICptYXApCit7CisgICAgaW50IHJjOworCisgICAg
aWYgKCBkID09IGRvbV9pbyApCisgICAgICAgIHJldHVybiAwOworCisgICAg
Zm9yICggcmMgPSAwOyBtYXA7IG1hcCA9IG1hcC0+bmV4dCApCisgICAgewor
ICAgICAgICBpbnQgcmV0ID0gaW9tbXVfaWRlbnRpdHlfbWFwcGluZyhkLCBw
Mm1fYWNjZXNzX3gsIG1hcC0+YWRkciwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbWFwLT5hZGRyICsgbWFwLT5sZW5ndGgg
LSAxLCAwKTsKKworICAgICAgICBpZiAoIHJldCAmJiByZXQgIT0gLUVOT0VO
VCAmJiAhcmMgKQorICAgICAgICAgICAgcmMgPSByZXQ7CisgICAgfQogCi0g
ICAgcmV0dXJuIHJ0OworICAgIHJldHVybiByYzsKIH0KIAogaW50IF9faW5p
dCBhbWRfaW9tbXVfcXVhcmFudGluZV9pbml0KHN0cnVjdCBkb21haW4gKmQp
Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9wY2lfYW1kX2lv
bW11LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL3BjaV9h
bWRfaW9tbXUuYwpAQCAtMzI5LDYgKzMyOSw3IEBAIHN0YXRpYyBpbnQgcmVh
c3NpZ25fZGV2aWNlKHN0cnVjdCBkb21haW4KIHsKICAgICBzdHJ1Y3QgYW1k
X2lvbW11ICppb21tdTsKICAgICBpbnQgYmRmLCByYzsKKyAgICBjb25zdCBz
dHJ1Y3QgaXZyc19tYXBwaW5ncyAqaXZyc19tYXBwaW5ncyA9IGdldF9pdnJz
X21hcHBpbmdzKHBkZXYtPnNlZyk7CiAKICAgICBiZGYgPSBQQ0lfQkRGMihw
ZGV2LT5idXMsIHBkZXYtPmRldmZuKTsKICAgICBpb21tdSA9IGZpbmRfaW9t
bXVfZm9yX2RldmljZShwZGV2LT5zZWcsIGJkZik7CkBAIC0zNDMsMTAgKzM0
NCwyNCBAQCBzdGF0aWMgaW50IHJlYXNzaWduX2RldmljZShzdHJ1Y3QgZG9t
YWluCiAKICAgICBhbWRfaW9tbXVfZGlzYWJsZV9kb21haW5fZGV2aWNlKHNv
dXJjZSwgaW9tbXUsIGRldmZuLCBwZGV2KTsKIAotICAgIGlmICggZGV2Zm4g
PT0gcGRldi0+ZGV2Zm4gKQorICAgIC8qCisgICAgICogSWYgdGhlIGRldmlj
ZSBiZWxvbmdzIHRvIHRoZSBoYXJkd2FyZSBkb21haW4sIGFuZCBpdCBoYXMg
YSB1bml0eSBtYXBwaW5nLAorICAgICAqIGRvbid0IHJlbW92ZSBpdCBmcm9t
IHRoZSBoYXJkd2FyZSBkb21haW4sIGJlY2F1c2UgQklPUyBtYXkgcmVmZXJl
bmNlIHRoYXQKKyAgICAgKiBtYXBwaW5nLgorICAgICAqLworICAgIGlmICgg
IWlzX2hhcmR3YXJlX2RvbWFpbihzb3VyY2UpICkKICAgICB7Ci0gICAgICAg
IGxpc3RfbW92ZSgmcGRldi0+ZG9tYWluX2xpc3QsICZ0YXJnZXQtPnBkZXZf
bGlzdCk7Ci0gICAgICAgIHBkZXYtPmRvbWFpbiA9IHRhcmdldDsKKyAgICAg
ICAgcmMgPSBhbWRfaW9tbXVfcmVzZXJ2ZV9kb21haW5fdW5pdHlfdW5tYXAo
CisgICAgICAgICAgICAgICAgIHNvdXJjZSwKKyAgICAgICAgICAgICAgICAg
aXZyc19tYXBwaW5nc1tnZXRfZG1hX3JlcXVlc3Rvcl9pZChwZGV2LT5zZWcs
IGJkZildLnVuaXR5X21hcCk7CisgICAgICAgIGlmICggcmMgKQorICAgICAg
ICAgICAgcmV0dXJuIHJjOworICAgIH0KKworICAgIGlmICggZGV2Zm4gPT0g
cGRldi0+ZGV2Zm4gJiYgcGRldi0+ZG9tYWluICE9IGRvbV9pbyApCisgICAg
eworICAgICAgICBsaXN0X21vdmUoJnBkZXYtPmRvbWFpbl9saXN0LCAmZG9t
X2lvLT5wZGV2X2xpc3QpOworICAgICAgICBwZGV2LT5kb21haW4gPSBkb21f
aW87CiAgICAgfQogCiAgICAgcmMgPSBhbGxvY2F0ZV9kb21haW5fcmVzb3Vy
Y2VzKHRhcmdldCk7CkBAIC0zNTcsNiArMzcyLDEyIEBAIHN0YXRpYyBpbnQg
cmVhc3NpZ25fZGV2aWNlKHN0cnVjdCBkb21haW4KICAgICBBTURfSU9NTVVf
REVCVUcoIlJlLWFzc2lnbiAlcHAgZnJvbSBkb20lZCB0byBkb20lZFxuIiwK
ICAgICAgICAgICAgICAgICAgICAgJnBkZXYtPnNiZGYsIHNvdXJjZS0+ZG9t
YWluX2lkLCB0YXJnZXQtPmRvbWFpbl9pZCk7CiAKKyAgICBpZiAoIGRldmZu
ID09IHBkZXYtPmRldmZuICYmIHBkZXYtPmRvbWFpbiAhPSB0YXJnZXQgKQor
ICAgIHsKKyAgICAgICAgbGlzdF9tb3ZlKCZwZGV2LT5kb21haW5fbGlzdCwg
JnRhcmdldC0+cGRldl9saXN0KTsKKyAgICAgICAgcGRldi0+ZG9tYWluID0g
dGFyZ2V0OworICAgIH0KKwogICAgIHJldHVybiAwOwogfQogCkBAIC0zNjcs
MjAgKzM4OCwyOCBAQCBzdGF0aWMgaW50IGFtZF9pb21tdV9hc3NpZ25fZGV2
aWNlKHN0cnVjCiAgICAgc3RydWN0IGl2cnNfbWFwcGluZ3MgKml2cnNfbWFw
cGluZ3MgPSBnZXRfaXZyc19tYXBwaW5ncyhwZGV2LT5zZWcpOwogICAgIGlu
dCBiZGYgPSBQQ0lfQkRGMihwZGV2LT5idXMsIGRldmZuKTsKICAgICBpbnQg
cmVxX2lkID0gZ2V0X2RtYV9yZXF1ZXN0b3JfaWQocGRldi0+c2VnLCBiZGYp
OwotICAgIGNvbnN0IHN0cnVjdCBpdnJzX3VuaXR5X21hcCAqdW5pdHlfbWFw
OworICAgIGludCByYyA9IGFtZF9pb21tdV9yZXNlcnZlX2RvbWFpbl91bml0
eV9tYXAoCisgICAgICAgICAgICAgICAgIGQsIGl2cnNfbWFwcGluZ3NbcmVx
X2lkXS51bml0eV9tYXAsIGZsYWcpOwogCi0gICAgZm9yICggdW5pdHlfbWFw
ID0gaXZyc19tYXBwaW5nc1tyZXFfaWRdLnVuaXR5X21hcDsgdW5pdHlfbWFw
OwotICAgICAgICAgIHVuaXR5X21hcCA9IHVuaXR5X21hcC0+bmV4dCApCisg
ICAgaWYgKCAhcmMgKQorICAgICAgICByYyA9IHJlYXNzaWduX2RldmljZShw
ZGV2LT5kb21haW4sIGQsIGRldmZuLCBwZGV2KTsKKworICAgIGlmICggcmMg
JiYgIWlzX2hhcmR3YXJlX2RvbWFpbihkKSApCiAgICAgewotICAgICAgICBp
bnQgcmMgPSBhbWRfaW9tbXVfcmVzZXJ2ZV9kb21haW5fdW5pdHlfbWFwKAot
ICAgICAgICAgICAgICAgICAgICAgZCwgdW5pdHlfbWFwLT5hZGRyLCB1bml0
eV9tYXAtPmxlbmd0aCwKLSAgICAgICAgICAgICAgICAgICAgIHVuaXR5X21h
cC0+d3JpdGUsIHVuaXR5X21hcC0+cmVhZCk7CisgICAgICAgIGludCByZXQg
PSBhbWRfaW9tbXVfcmVzZXJ2ZV9kb21haW5fdW5pdHlfdW5tYXAoCisgICAg
ICAgICAgICAgICAgICAgICAgZCwgaXZyc19tYXBwaW5nc1tyZXFfaWRdLnVu
aXR5X21hcCk7CiAKLSAgICAgICAgaWYgKCByYyApCi0gICAgICAgICAgICBy
ZXR1cm4gcmM7CisgICAgICAgIGlmICggcmV0ICkKKyAgICAgICAgeworICAg
ICAgICAgICAgcHJpbnRrKFhFTkxPR19FUlIgIkFNRC1WaTogIgorICAgICAg
ICAgICAgICAgICAgICJ1bml0eS11bm1hcCBmb3IgJXBkLyUwNHg6JTAyeDol
MDJ4LiV1IGZhaWxlZCAoJWQpXG4iLAorICAgICAgICAgICAgICAgICAgIGQs
IHBkZXYtPnNlZywgcGRldi0+YnVzLAorICAgICAgICAgICAgICAgICAgIFBD
SV9TTE9UKGRldmZuKSwgUENJX0ZVTkMoZGV2Zm4pLCByZXQpOworICAgICAg
ICAgICAgZG9tYWluX2NyYXNoKGQpOworICAgICAgICB9CiAgICAgfQogCi0g
ICAgcmV0dXJuIHJlYXNzaWduX2RldmljZShwZGV2LT5kb21haW4sIGQsIGRl
dmZuLCBwZGV2KTsKKyAgICByZXR1cm4gcmM7CiB9CiAKIHN0YXRpYyB2b2lk
IGFtZF9pb21tdV9jbGVhcl9yb290X3BndGFibGUoc3RydWN0IGRvbWFpbiAq
ZCkKQEAgLTM5NCw2ICs0MjMsNyBAQCBzdGF0aWMgdm9pZCBhbWRfaW9tbXVf
Y2xlYXJfcm9vdF9wZ3RhYmxlCiAKIHN0YXRpYyB2b2lkIGFtZF9pb21tdV9k
b21haW5fZGVzdHJveShzdHJ1Y3QgZG9tYWluICpkKQogeworICAgIGlvbW11
X2lkZW50aXR5X21hcF90ZWFyZG93bihkKTsKICAgICBBU1NFUlQoIWRvbV9p
b21tdShkKS0+YXJjaC5hbWQucm9vdF90YWJsZSk7CiB9CiAK

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.15-6.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.15-6.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBBTUQvSU9NTVU6IHJlLWFycmFuZ2UgZXhjbHVzaW9uIHJhbmdlIGFuZCB1
bml0eSBtYXAgcmVjb3JkaW5nCgpUaGUgc3BlYyBtYWtlcyBubyBwcm92aXNp
b25zIGZvciBPUyBiZWhhdmlvciBoZXJlIHRvIGRlcGVuZCBvbiB0aGUKYW1v
dW50IG9mIFJBTSBmb3VuZCBvbiB0aGUgc3lzdGVtLiBXaGlsZSB0aGUgc3Bl
YyBtYXkgbm90IHN1ZmZpY2llbnRseQpjbGVhcmx5IGRpc3Rpbmd1aXNoIGJv
dGgga2luZHMgb2YgcmVnaW9ucywgdGhleSBhcmUgc3VyZWx5IG1lYW50IHRv
IGJlCnNlcGFyYXRlIHRoaW5nczogT25seSByZWdpb25zIHdpdGggQUNQSV9J
Vk1EX0VYQ0xVU0lPTl9SQU5HRSBzZXQgc2hvdWxkCmJlIGNhbmRpZGF0ZXMg
Zm9yIHB1dHRpbmcgaW4gdGhlIGV4Y2x1c2lvbiByYW5nZSByZWdpc3RlcnMu
IChBcyB0aGVyZSdzCm9ubHkgYSBzaW5nbGUgc3VjaCBwYWlyIG9mIHJlZ2lz
dGVycyBwZXIgSU9NTVUsIHNlY29uZGFyeSBub24tYWRqYWNlbnQKcmVnaW9u
cyB3aXRoIHRoZSBmbGFnIHNldCBhbHJlYWR5IGdldCBjb252ZXJ0ZWQgdG8g
dW5pdHkgbWFwcGVkCnJlZ2lvbnMuKQoKRmlyc3Qgb2YgYWxsLCBkcm9wIHRo
ZSBkZXBlbmRlbmN5IG9uIG1heF9wYWdlLiBXaXRoIGNvbW1pdCBiNGYwNDIy
MzZhZTAKKCJBTUQvSU9NTVU6IENlYXNlIHVzaW5nIGEgZHluYW1pYyBoZWln
aHQgZm9yIHRoZSBJT01NVSBwYWdldGFibGVzIikgdGhlCnVzZSBvZiBpdCBo
ZXJlIHdhcyBzdGFsZSBhbnl3YXk7IGl0IHdhcyBib2d1cyBhbHJlYWR5IGJl
Zm9yZSwgYXMgaXQKZGlkbid0IGFjY291bnQgZm9yIG1heF9wYWdlIGdldHRp
bmcgaW5jcmVhc2VkIGxhdGVyIG9uLiBTaW1wbHkgdHJ5IGFuCmV4Y2x1c2lv
biByYW5nZSByZWdpc3RyYXRpb24gZmlyc3QsIGFuZCBpZiBpdCBmYWlscyAo
Zm9yIGJlaW5nCnVuc3VpdGFibGUgb3Igbm9uLW1lcmdlYWJsZSksIHJlZ2lz
dGVyIGEgdW5pdHkgbWFwcGluZyByYW5nZS4KCldpdGggdGhpcyB2YXJpb3Vz
IGxvY2FsIHZhcmlhYmxlcyBiZWNvbWUgdW5uZWNlc3NhcnkgYW5kIGhlbmNl
IGdldApkcm9wcGVkIGF0IHRoZSBzYW1lIHRpbWUuCgpXaXRoIHRoZSBtYXhf
cGFnZSBib3VuZGFyeSBkcm9wcGVkIGZvciB1c2luZyB1bml0eSBtYXBzLCB0
aGUgbWluaW11bQpwYWdlIHRhYmxlIHRyZWUgaGVpZ2h0IG5vdyBuZWVkcyBi
b3RoIHJlY29yZGluZyBhbmQgZW5mb3JjaW5nIGluCmFtZF9pb21tdV9kb21h
aW5faW5pdCgpLiBTaW5jZSB3ZSBjYW4ndCBwcmVkaWN0IHdoaWNoIGRldmlj
ZXMgbWF5IGdldAphc3NpZ25lZCB0byBhIGRvbWFpbiwgb3VyIG9ubHkgb3B0
aW9uIGlzIHRvIHVuaWZvcm1seSBmb3JjZSBhdCBsZWFzdAp0aGF0IGhlaWdo
dCBmb3IgYWxsIGRvbWFpbnMsIG5vdyB0aGF0IHRoZSBoZWlnaHQgaXNuJ3Qg
ZHluYW1pYyBhbnltb3JlLgoKRnVydGhlciBkb24ndCBtYWtlIHVzZSBvZiB0
aGUgZXhjbHVzaW9uIHJhbmdlIHVubGVzcyBBQ1BJIGRhdGEgc2F5cyBzby4K
Ck5vdGUgdGhhdCBleGNsdXNpb24gcmFuZ2UgcmVnaXN0cmF0aW9uIGluCnJl
Z2lzdGVyX3JhbmdlX2Zvcl9hbGxfZGV2aWNlcygpIGlzIG9uIGEgYmVzdCBl
ZmZvcnQgYmFzaXMuIEhlbmNlIHVuaXR5Cm1hcCBlbnRyaWVzIGFsc28gcmVn
aXN0ZXJlZCBhcmUgcmVkdW5kYW50IHdoZW4gdGhlIGZvcm1lciBzdWNjZWVk
ZWQsIGJ1dAp0aGV5IGFsc28gZG8gbm8gaGFybS4gSW1wcm92ZW1lbnRzIGlu
IHRoaXMgYXJlYSBjYW4gYmUgZG9uZSBsYXRlciBpbW8uCgpBbHNvIGFkanVz
dCB0eXBlcyB3aGVyZSBzdWl0YWJsZSB3aXRob3V0IHRvdWNoaW5nIGV4dHJh
IGxpbmVzLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS0zNzguCgpTaWduZWQtb2Zm
LWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+ClJldmlld2Vk
LWJ5OiBQYXVsIER1cnJhbnQgPHBhdWxAeGVuLm9yZz4KCi0tLSBhL3hlbi9k
cml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21tdS5oCisrKyBiL3hlbi9kcml2
ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21tdS5oCkBAIC0zMDQsNiArMzA0LDgg
QEAgZXh0ZXJuIHN0cnVjdCBocGV0X3NiZGYgewogICAgIH0gaW5pdDsKIH0g
aHBldF9zYmRmOwogCitleHRlcm4gaW50IGFtZF9pb21tdV9taW5fcGFnaW5n
X21vZGU7CisKIGV4dGVybiB2b2lkICpzaGFyZWRfaW50cmVtYXBfdGFibGU7
CiBleHRlcm4gdW5zaWduZWQgbG9uZyAqc2hhcmVkX2ludHJlbWFwX2ludXNl
OwogCi0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21tdV9h
Y3BpLmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11
X2FjcGkuYwpAQCAtMTE3LDEyICsxMTcsOCBAQCBzdGF0aWMgc3RydWN0IGFt
ZF9pb21tdSAqIF9faW5pdCBmaW5kX2lvCiB9CiAKIHN0YXRpYyBpbnQgX19p
bml0IHJlc2VydmVfaW9tbXVfZXhjbHVzaW9uX3JhbmdlKAotICAgIHN0cnVj
dCBhbWRfaW9tbXUgKmlvbW11LCB1aW50NjRfdCBiYXNlLCB1aW50NjRfdCBs
aW1pdCwKLSAgICBib29sIGFsbCwgYm9vbCBpdywgYm9vbCBpcikKKyAgICBz
dHJ1Y3QgYW1kX2lvbW11ICppb21tdSwgcGFkZHJfdCBiYXNlLCBwYWRkcl90
IGxpbWl0LCBib29sIGFsbCkKIHsKLSAgICBpZiAoICFpciB8fCAhaXcgKQot
ICAgICAgICByZXR1cm4gLUVQRVJNOwotCiAgICAgLyogbmVlZCB0byBleHRl
bmQgZXhjbHVzaW9uIHJhbmdlPyAqLwogICAgIGlmICggaW9tbXUtPmV4Y2x1
c2lvbl9lbmFibGUgKQogICAgIHsKQEAgLTE1MSwxNCArMTQ3LDE4IEBAIHN0
YXRpYyBpbnQgX19pbml0IHJlc2VydmVfdW5pdHlfbWFwX2Zvcl8KIHsKICAg
ICBzdHJ1Y3QgaXZyc19tYXBwaW5ncyAqaXZyc19tYXBwaW5ncyA9IGdldF9p
dnJzX21hcHBpbmdzKHNlZyk7CiAgICAgc3RydWN0IGl2cnNfdW5pdHlfbWFw
ICp1bml0eV9tYXAgPSBpdnJzX21hcHBpbmdzW2JkZl0udW5pdHlfbWFwOwor
ICAgIGludCBwYWdpbmdfbW9kZSA9IGFtZF9pb21tdV9nZXRfcGFnaW5nX21v
ZGUoUEZOX1VQKGJhc2UgKyBsZW5ndGgpKTsKKworICAgIGlmICggcGFnaW5n
X21vZGUgPCAwICkKKyAgICAgICAgcmV0dXJuIHBhZ2luZ19tb2RlOwogCiAg
ICAgLyogQ2hlY2sgZm9yIG92ZXJsYXBzLiAqLwogICAgIGZvciAoIDsgdW5p
dHlfbWFwOyB1bml0eV9tYXAgPSB1bml0eV9tYXAtPm5leHQgKQogICAgIHsK
ICAgICAgICAgLyoKICAgICAgICAgICogRXhhY3QgbWF0Y2hlcyBhcmUgb2th
eS4gVGhpcyBjYW4gaW4gcGFydGljdWxhciBoYXBwZW4gd2hlbgotICAgICAg
ICAgKiByZWdpc3Rlcl9leGNsdXNpb25fcmFuZ2VfZm9yX2RldmljZSgpIGNh
bGxzIGhlcmUgdHdpY2UgZm9yIHRoZQotICAgICAgICAgKiBzYW1lIChzLGIs
ZCxmKS4KKyAgICAgICAgICogcmVnaXN0ZXJfcmFuZ2VfZm9yX2RldmljZSgp
IGNhbGxzIGhlcmUgdHdpY2UgZm9yIHRoZSBzYW1lCisgICAgICAgICAqIChz
LGIsZCxmKS4KICAgICAgICAgICovCiAgICAgICAgIGlmICggYmFzZSA9PSB1
bml0eV9tYXAtPmFkZHIgJiYgbGVuZ3RoID09IHVuaXR5X21hcC0+bGVuZ3Ro
ICYmCiAgICAgICAgICAgICAgaXIgPT0gdW5pdHlfbWFwLT5yZWFkICYmIGl3
ID09IHVuaXR5X21hcC0+d3JpdGUgKQpAQCAtMTg2LDU1ICsxODYsNTIgQEAg
c3RhdGljIGludCBfX2luaXQgcmVzZXJ2ZV91bml0eV9tYXBfZm9yXwogICAg
IHVuaXR5X21hcC0+bmV4dCA9IGl2cnNfbWFwcGluZ3NbYmRmXS51bml0eV9t
YXA7CiAgICAgaXZyc19tYXBwaW5nc1tiZGZdLnVuaXR5X21hcCA9IHVuaXR5
X21hcDsKIAorICAgIGlmICggcGFnaW5nX21vZGUgPiBhbWRfaW9tbXVfbWlu
X3BhZ2luZ19tb2RlICkKKyAgICAgICAgYW1kX2lvbW11X21pbl9wYWdpbmdf
bW9kZSA9IHBhZ2luZ19tb2RlOworCiAgICAgcmV0dXJuIDA7CiB9CiAKLXN0
YXRpYyBpbnQgX19pbml0IHJlZ2lzdGVyX2V4Y2x1c2lvbl9yYW5nZV9mb3Jf
YWxsX2RldmljZXMoCi0gICAgdW5zaWduZWQgbG9uZyBiYXNlLCB1bnNpZ25l
ZCBsb25nIGxpbWl0LCB1OCBpdywgdTggaXIpCitzdGF0aWMgaW50IF9faW5p
dCByZWdpc3Rlcl9yYW5nZV9mb3JfYWxsX2RldmljZXMoCisgICAgcGFkZHJf
dCBiYXNlLCBwYWRkcl90IGxpbWl0LCBib29sIGl3LCBib29sIGlyLCBib29s
IGV4Y2x1c2lvbikKIHsKICAgICBpbnQgc2VnID0gMDsgLyogWFhYICovCi0g
ICAgdW5zaWduZWQgbG9uZyByYW5nZV90b3AsIGlvbW11X3RvcCwgbGVuZ3Ro
OwogICAgIHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11OwotICAgIHVuc2lnbmVk
IGludCBiZGY7CiAgICAgaW50IHJjID0gMDsKIAogICAgIC8qIGlzIHBhcnQg
b2YgZXhjbHVzaW9uIHJhbmdlIGluc2lkZSBvZiBJT01NVSB2aXJ0dWFsIGFk
ZHJlc3Mgc3BhY2U/ICovCiAgICAgLyogbm90ZTogJ2xpbWl0JyBwYXJhbWV0
ZXIgaXMgYXNzdW1lZCB0byBiZSBwYWdlLWFsaWduZWQgKi8KLSAgICByYW5n
ZV90b3AgPSBsaW1pdCArIFBBR0VfU0laRTsKLSAgICBpb21tdV90b3AgPSBt
YXhfcGFnZSAqIFBBR0VfU0laRTsKLSAgICBpZiAoIGJhc2UgPCBpb21tdV90
b3AgKQotICAgIHsKLSAgICAgICAgaWYgKCByYW5nZV90b3AgPiBpb21tdV90
b3AgKQotICAgICAgICAgICAgcmFuZ2VfdG9wID0gaW9tbXVfdG9wOwotICAg
ICAgICBsZW5ndGggPSByYW5nZV90b3AgLSBiYXNlOwotICAgICAgICAvKiBy
ZXNlcnZlIHIvdyB1bml0eS1tYXBwZWQgcGFnZSBlbnRyaWVzIGZvciBkZXZp
Y2VzICovCi0gICAgICAgIC8qIG5vdGU6IHRoZXNlIGVudHJpZXMgYXJlIHBh
cnQgb2YgdGhlIGV4Y2x1c2lvbiByYW5nZSAqLwotICAgICAgICBmb3IgKCBi
ZGYgPSAwOyAhcmMgJiYgYmRmIDwgaXZyc19iZGZfZW50cmllczsgYmRmKysg
KQotICAgICAgICAgICAgcmMgPSByZXNlcnZlX3VuaXR5X21hcF9mb3JfZGV2
aWNlKHNlZywgYmRmLCBiYXNlLCBsZW5ndGgsIGl3LCBpcik7Ci0gICAgICAg
IC8qIHB1c2ggJ2Jhc2UnIGp1c3Qgb3V0c2lkZSBvZiB2aXJ0dWFsIGFkZHJl
c3Mgc3BhY2UgKi8KLSAgICAgICAgYmFzZSA9IGlvbW11X3RvcDsKLSAgICB9
Ci0gICAgLyogcmVnaXN0ZXIgSU9NTVUgZXhjbHVzaW9uIHJhbmdlIHNldHRp
bmdzICovCi0gICAgaWYgKCAhcmMgJiYgbGltaXQgPj0gaW9tbXVfdG9wICkK
KyAgICBpZiAoIGV4Y2x1c2lvbiApCiAgICAgewogICAgICAgICBmb3JfZWFj
aF9hbWRfaW9tbXUoIGlvbW11ICkKICAgICAgICAgewotICAgICAgICAgICAg
cmMgPSByZXNlcnZlX2lvbW11X2V4Y2x1c2lvbl9yYW5nZShpb21tdSwgYmFz
ZSwgbGltaXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHRydWUgLyogYWxsICovLCBpdywgaXIpOwotICAgICAg
ICAgICAgaWYgKCByYyApCi0gICAgICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgICAgICBpbnQgcmV0ID0gcmVzZXJ2ZV9pb21tdV9leGNsdXNpb25fcmFu
Z2UoaW9tbXUsIGJhc2UsIGxpbWl0LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgLyogYWxsICov
KTsKKworICAgICAgICAgICAgaWYgKCByZXQgJiYgIXJjICkKKyAgICAgICAg
ICAgICAgICByYyA9IHJldDsKICAgICAgICAgfQogICAgIH0KIAorICAgIGlm
ICggIWV4Y2x1c2lvbiB8fCByYyApCisgICAgeworICAgICAgICBwYWRkcl90
IGxlbmd0aCA9IGxpbWl0ICsgUEFHRV9TSVpFIC0gYmFzZTsKKyAgICAgICAg
dW5zaWduZWQgaW50IGJkZjsKKworICAgICAgICAvKiByZXNlcnZlIHIvdyB1
bml0eS1tYXBwZWQgcGFnZSBlbnRyaWVzIGZvciBkZXZpY2VzICovCisgICAg
ICAgIGZvciAoIGJkZiA9IHJjID0gMDsgIXJjICYmIGJkZiA8IGl2cnNfYmRm
X2VudHJpZXM7IGJkZisrICkKKyAgICAgICAgICAgIHJjID0gcmVzZXJ2ZV91
bml0eV9tYXBfZm9yX2RldmljZShzZWcsIGJkZiwgYmFzZSwgbGVuZ3RoLCBp
dywgaXIpOworICAgIH0KKwogICAgIHJldHVybiByYzsKIH0KIAotc3RhdGlj
IGludCBfX2luaXQgcmVnaXN0ZXJfZXhjbHVzaW9uX3JhbmdlX2Zvcl9kZXZp
Y2UoCi0gICAgdTE2IGJkZiwgdW5zaWduZWQgbG9uZyBiYXNlLCB1bnNpZ25l
ZCBsb25nIGxpbWl0LCB1OCBpdywgdTggaXIpCitzdGF0aWMgaW50IF9faW5p
dCByZWdpc3Rlcl9yYW5nZV9mb3JfZGV2aWNlKAorICAgIHVuc2lnbmVkIGlu
dCBiZGYsIHBhZGRyX3QgYmFzZSwgcGFkZHJfdCBsaW1pdCwKKyAgICBib29s
IGl3LCBib29sIGlyLCBib29sIGV4Y2x1c2lvbikKIHsKICAgICBpbnQgc2Vn
ID0gMDsgLyogWFhYICovCiAgICAgc3RydWN0IGl2cnNfbWFwcGluZ3MgKml2
cnNfbWFwcGluZ3MgPSBnZXRfaXZyc19tYXBwaW5ncyhzZWcpOwotICAgIHVu
c2lnbmVkIGxvbmcgcmFuZ2VfdG9wLCBpb21tdV90b3AsIGxlbmd0aDsKICAg
ICBzdHJ1Y3QgYW1kX2lvbW11ICppb21tdTsKICAgICB1MTYgcmVxOwogICAg
IGludCByYyA9IDA7CkBAIC0yNDgsMjcgKzI0NSwxOSBAQCBzdGF0aWMgaW50
IF9faW5pdCByZWdpc3Rlcl9leGNsdXNpb25fcmFuCiAgICAgcmVxID0gaXZy
c19tYXBwaW5nc1tiZGZdLmR0ZV9yZXF1ZXN0b3JfaWQ7CiAKICAgICAvKiBu
b3RlOiAnbGltaXQnIHBhcmFtZXRlciBpcyBhc3N1bWVkIHRvIGJlIHBhZ2Ut
YWxpZ25lZCAqLwotICAgIHJhbmdlX3RvcCA9IGxpbWl0ICsgUEFHRV9TSVpF
OwotICAgIGlvbW11X3RvcCA9IG1heF9wYWdlICogUEFHRV9TSVpFOwotICAg
IGlmICggYmFzZSA8IGlvbW11X3RvcCApCi0gICAgewotICAgICAgICBpZiAo
IHJhbmdlX3RvcCA+IGlvbW11X3RvcCApCi0gICAgICAgICAgICByYW5nZV90
b3AgPSBpb21tdV90b3A7Ci0gICAgICAgIGxlbmd0aCA9IHJhbmdlX3RvcCAt
IGJhc2U7CisgICAgaWYgKCBleGNsdXNpb24gKQorICAgICAgICByYyA9IHJl
c2VydmVfaW9tbXVfZXhjbHVzaW9uX3JhbmdlKGlvbW11LCBiYXNlLCBsaW1p
dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBmYWxzZSAvKiBhbGwgKi8pOworICAgIGlmICggIWV4Y2x1c2lvbiB8fCBy
YyApCisgICAgeworICAgICAgICBwYWRkcl90IGxlbmd0aCA9IGxpbWl0ICsg
UEFHRV9TSVpFIC0gYmFzZTsKKwogICAgICAgICAvKiByZXNlcnZlIHVuaXR5
LW1hcHBlZCBwYWdlIGVudHJpZXMgZm9yIGRldmljZSAqLwotICAgICAgICAv
KiBub3RlOiB0aGVzZSBlbnRyaWVzIGFyZSBwYXJ0IG9mIHRoZSBleGNsdXNp
b24gcmFuZ2UgKi8KICAgICAgICAgcmMgPSByZXNlcnZlX3VuaXR5X21hcF9m
b3JfZGV2aWNlKHNlZywgYmRmLCBiYXNlLCBsZW5ndGgsIGl3LCBpcikgPzoK
ICAgICAgICAgICAgICByZXNlcnZlX3VuaXR5X21hcF9mb3JfZGV2aWNlKHNl
ZywgcmVxLCBiYXNlLCBsZW5ndGgsIGl3LCBpcik7Ci0KLSAgICAgICAgLyog
cHVzaCAnYmFzZScganVzdCBvdXRzaWRlIG9mIHZpcnR1YWwgYWRkcmVzcyBz
cGFjZSAqLwotICAgICAgICBiYXNlID0gaW9tbXVfdG9wOwogICAgIH0KLQot
ICAgIC8qIHJlZ2lzdGVyIElPTU1VIGV4Y2x1c2lvbiByYW5nZSBzZXR0aW5n
cyBmb3IgZGV2aWNlICovCi0gICAgaWYgKCAhcmMgJiYgbGltaXQgPj0gaW9t
bXVfdG9wICApCisgICAgZWxzZQogICAgIHsKLSAgICAgICAgcmMgPSByZXNl
cnZlX2lvbW11X2V4Y2x1c2lvbl9yYW5nZShpb21tdSwgYmFzZSwgbGltaXQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZmFsc2UgLyogYWxsICovLCBpdywgaXIpOwogICAgICAgICBpdnJzX21hcHBp
bmdzW2JkZl0uZHRlX2FsbG93X2V4Y2x1c2lvbiA9IHRydWU7CiAgICAgICAg
IGl2cnNfbWFwcGluZ3NbcmVxXS5kdGVfYWxsb3dfZXhjbHVzaW9uID0gdHJ1
ZTsKICAgICB9CkBAIC0yNzYsNTMgKzI2NSw0MiBAQCBzdGF0aWMgaW50IF9f
aW5pdCByZWdpc3Rlcl9leGNsdXNpb25fcmFuCiAgICAgcmV0dXJuIHJjOwog
fQogCi1zdGF0aWMgaW50IF9faW5pdCByZWdpc3Rlcl9leGNsdXNpb25fcmFu
Z2VfZm9yX2lvbW11X2RldmljZXMoCi0gICAgc3RydWN0IGFtZF9pb21tdSAq
aW9tbXUsCi0gICAgdW5zaWduZWQgbG9uZyBiYXNlLCB1bnNpZ25lZCBsb25n
IGxpbWl0LCB1OCBpdywgdTggaXIpCitzdGF0aWMgaW50IF9faW5pdCByZWdp
c3Rlcl9yYW5nZV9mb3JfaW9tbXVfZGV2aWNlcygKKyAgICBzdHJ1Y3QgYW1k
X2lvbW11ICppb21tdSwgcGFkZHJfdCBiYXNlLCBwYWRkcl90IGxpbWl0LAor
ICAgIGJvb2wgaXcsIGJvb2wgaXIsIGJvb2wgZXhjbHVzaW9uKQogewotICAg
IHVuc2lnbmVkIGxvbmcgcmFuZ2VfdG9wLCBpb21tdV90b3AsIGxlbmd0aDsK
KyAgICAvKiBub3RlOiAnbGltaXQnIHBhcmFtZXRlciBpcyBhc3N1bWVkIHRv
IGJlIHBhZ2UtYWxpZ25lZCAqLworICAgIHBhZGRyX3QgbGVuZ3RoID0gbGlt
aXQgKyBQQUdFX1NJWkUgLSBiYXNlOwogICAgIHVuc2lnbmVkIGludCBiZGY7
CiAgICAgdTE2IHJlcTsKLSAgICBpbnQgcmMgPSAwOworICAgIGludCByYzsK
IAotICAgIC8qIGlzIHBhcnQgb2YgZXhjbHVzaW9uIHJhbmdlIGluc2lkZSBv
ZiBJT01NVSB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2U/ICovCi0gICAgLyogbm90
ZTogJ2xpbWl0JyBwYXJhbWV0ZXIgaXMgYXNzdW1lZCB0byBiZSBwYWdlLWFs
aWduZWQgKi8KLSAgICByYW5nZV90b3AgPSBsaW1pdCArIFBBR0VfU0laRTsK
LSAgICBpb21tdV90b3AgPSBtYXhfcGFnZSAqIFBBR0VfU0laRTsKLSAgICBp
ZiAoIGJhc2UgPCBpb21tdV90b3AgKQotICAgIHsKLSAgICAgICAgaWYgKCBy
YW5nZV90b3AgPiBpb21tdV90b3AgKQotICAgICAgICAgICAgcmFuZ2VfdG9w
ID0gaW9tbXVfdG9wOwotICAgICAgICBsZW5ndGggPSByYW5nZV90b3AgLSBi
YXNlOwotICAgICAgICAvKiByZXNlcnZlIHIvdyB1bml0eS1tYXBwZWQgcGFn
ZSBlbnRyaWVzIGZvciBkZXZpY2VzICovCi0gICAgICAgIC8qIG5vdGU6IHRo
ZXNlIGVudHJpZXMgYXJlIHBhcnQgb2YgdGhlIGV4Y2x1c2lvbiByYW5nZSAq
LwotICAgICAgICBmb3IgKCBiZGYgPSAwOyAhcmMgJiYgYmRmIDwgaXZyc19i
ZGZfZW50cmllczsgYmRmKysgKQotICAgICAgICB7Ci0gICAgICAgICAgICBp
ZiAoIGlvbW11ID09IGZpbmRfaW9tbXVfZm9yX2RldmljZShpb21tdS0+c2Vn
LCBiZGYpICkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICByZXEg
PSBnZXRfaXZyc19tYXBwaW5ncyhpb21tdS0+c2VnKVtiZGZdLmR0ZV9yZXF1
ZXN0b3JfaWQ7Ci0gICAgICAgICAgICAgICAgcmMgPSByZXNlcnZlX3VuaXR5
X21hcF9mb3JfZGV2aWNlKGlvbW11LT5zZWcsIGJkZiwgYmFzZSwgbGVuZ3Ro
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpdywgaXIpID86Ci0gICAgICAgICAgICAgICAgICAgICByZXNl
cnZlX3VuaXR5X21hcF9mb3JfZGV2aWNlKGlvbW11LT5zZWcsIHJlcSwgYmFz
ZSwgbGVuZ3RoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpdywgaXIpOwotICAgICAgICAgICAgfQotICAg
ICAgICB9Ci0KLSAgICAgICAgLyogcHVzaCAnYmFzZScganVzdCBvdXRzaWRl
IG9mIHZpcnR1YWwgYWRkcmVzcyBzcGFjZSAqLwotICAgICAgICBiYXNlID0g
aW9tbXVfdG9wOworICAgIGlmICggZXhjbHVzaW9uICkKKyAgICB7CisgICAg
ICAgIHJjID0gcmVzZXJ2ZV9pb21tdV9leGNsdXNpb25fcmFuZ2UoaW9tbXUs
IGJhc2UsIGxpbWl0LCB0cnVlIC8qIGFsbCAqLyk7CisgICAgICAgIGlmICgg
IXJjICkKKyAgICAgICAgICAgIHJldHVybiAwOwogICAgIH0KIAotICAgIC8q
IHJlZ2lzdGVyIElPTU1VIGV4Y2x1c2lvbiByYW5nZSBzZXR0aW5ncyAqLwot
ICAgIGlmICggIXJjICYmIGxpbWl0ID49IGlvbW11X3RvcCApCi0gICAgICAg
IHJjID0gcmVzZXJ2ZV9pb21tdV9leGNsdXNpb25fcmFuZ2UoaW9tbXUsIGJh
c2UsIGxpbWl0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHRydWUgLyogYWxsICovLCBpdywgaXIpOworICAgIC8qIHJl
c2VydmUgdW5pdHktbWFwcGVkIHBhZ2UgZW50cmllcyBmb3IgZGV2aWNlcyAq
LworICAgIGZvciAoIGJkZiA9IHJjID0gMDsgIXJjICYmIGJkZiA8IGl2cnNf
YmRmX2VudHJpZXM7IGJkZisrICkKKyAgICB7CisgICAgICAgIGlmICggaW9t
bXUgIT0gZmluZF9pb21tdV9mb3JfZGV2aWNlKGlvbW11LT5zZWcsIGJkZikg
KQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgcmVxID0gZ2V0
X2l2cnNfbWFwcGluZ3MoaW9tbXUtPnNlZylbYmRmXS5kdGVfcmVxdWVzdG9y
X2lkOworICAgICAgICByYyA9IHJlc2VydmVfdW5pdHlfbWFwX2Zvcl9kZXZp
Y2UoaW9tbXUtPnNlZywgYmRmLCBiYXNlLCBsZW5ndGgsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdywgaXIpID86Cisg
ICAgICAgICAgICAgcmVzZXJ2ZV91bml0eV9tYXBfZm9yX2RldmljZShpb21t
dS0+c2VnLCByZXEsIGJhc2UsIGxlbmd0aCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGl3LCBpcik7CisgICAgfQogCiAg
ICAgcmV0dXJuIHJjOwogfQogCiBzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9p
dm1kX2RldmljZV9zZWxlY3QoCiAgICAgY29uc3Qgc3RydWN0IGFjcGlfaXZy
c19tZW1vcnkgKml2bWRfYmxvY2ssCi0gICAgdW5zaWduZWQgbG9uZyBiYXNl
LCB1bnNpZ25lZCBsb25nIGxpbWl0LCB1OCBpdywgdTggaXIpCisgICAgcGFk
ZHJfdCBiYXNlLCBwYWRkcl90IGxpbWl0LCBib29sIGl3LCBib29sIGlyLCBi
b29sIGV4Y2x1c2lvbikKIHsKICAgICB1MTYgYmRmOwogCkBAIC0zMzMsMTIg
KzMxMSwxMiBAQCBzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9pdm1kX2Rldmlj
ZV9zZWxlCiAgICAgICAgIHJldHVybiAtRU5PREVWOwogICAgIH0KIAotICAg
IHJldHVybiByZWdpc3Rlcl9leGNsdXNpb25fcmFuZ2VfZm9yX2RldmljZShi
ZGYsIGJhc2UsIGxpbWl0LCBpdywgaXIpOworICAgIHJldHVybiByZWdpc3Rl
cl9yYW5nZV9mb3JfZGV2aWNlKGJkZiwgYmFzZSwgbGltaXQsIGl3LCBpciwg
ZXhjbHVzaW9uKTsKIH0KIAogc3RhdGljIGludCBfX2luaXQgcGFyc2VfaXZt
ZF9kZXZpY2VfcmFuZ2UoCiAgICAgY29uc3Qgc3RydWN0IGFjcGlfaXZyc19t
ZW1vcnkgKml2bWRfYmxvY2ssCi0gICAgdW5zaWduZWQgbG9uZyBiYXNlLCB1
bnNpZ25lZCBsb25nIGxpbWl0LCB1OCBpdywgdTggaXIpCisgICAgcGFkZHJf
dCBiYXNlLCBwYWRkcl90IGxpbWl0LCBib29sIGl3LCBib29sIGlyLCBib29s
IGV4Y2x1c2lvbikKIHsKICAgICB1bnNpZ25lZCBpbnQgZmlyc3RfYmRmLCBs
YXN0X2JkZiwgYmRmOwogICAgIGludCBlcnJvcjsKQEAgLTM2MCwxNSArMzM4
LDE1IEBAIHN0YXRpYyBpbnQgX19pbml0IHBhcnNlX2l2bWRfZGV2aWNlX3Jh
bmcKICAgICB9CiAKICAgICBmb3IgKCBiZGYgPSBmaXJzdF9iZGYsIGVycm9y
ID0gMDsgKGJkZiA8PSBsYXN0X2JkZikgJiYgIWVycm9yOyBiZGYrKyApCi0g
ICAgICAgIGVycm9yID0gcmVnaXN0ZXJfZXhjbHVzaW9uX3JhbmdlX2Zvcl9k
ZXZpY2UoCi0gICAgICAgICAgICBiZGYsIGJhc2UsIGxpbWl0LCBpdywgaXIp
OworICAgICAgICBlcnJvciA9IHJlZ2lzdGVyX3JhbmdlX2Zvcl9kZXZpY2Uo
CisgICAgICAgICAgICBiZGYsIGJhc2UsIGxpbWl0LCBpdywgaXIsIGV4Y2x1
c2lvbik7CiAKICAgICByZXR1cm4gZXJyb3I7CiB9CiAKIHN0YXRpYyBpbnQg
X19pbml0IHBhcnNlX2l2bWRfZGV2aWNlX2lvbW11KAogICAgIGNvbnN0IHN0
cnVjdCBhY3BpX2l2cnNfbWVtb3J5ICppdm1kX2Jsb2NrLAotICAgIHVuc2ln
bmVkIGxvbmcgYmFzZSwgdW5zaWduZWQgbG9uZyBsaW1pdCwgdTggaXcsIHU4
IGlyKQorICAgIHBhZGRyX3QgYmFzZSwgcGFkZHJfdCBsaW1pdCwgYm9vbCBp
dywgYm9vbCBpciwgYm9vbCBleGNsdXNpb24pCiB7CiAgICAgaW50IHNlZyA9
IDA7IC8qIFhYWCAqLwogICAgIHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11OwpA
QCAtMzgzLDE0ICszNjEsMTQgQEAgc3RhdGljIGludCBfX2luaXQgcGFyc2Vf
aXZtZF9kZXZpY2VfaW9tbQogICAgICAgICByZXR1cm4gLUVOT0RFVjsKICAg
ICB9CiAKLSAgICByZXR1cm4gcmVnaXN0ZXJfZXhjbHVzaW9uX3JhbmdlX2Zv
cl9pb21tdV9kZXZpY2VzKAotICAgICAgICBpb21tdSwgYmFzZSwgbGltaXQs
IGl3LCBpcik7CisgICAgcmV0dXJuIHJlZ2lzdGVyX3JhbmdlX2Zvcl9pb21t
dV9kZXZpY2VzKAorICAgICAgICBpb21tdSwgYmFzZSwgbGltaXQsIGl3LCBp
ciwgZXhjbHVzaW9uKTsKIH0KIAogc3RhdGljIGludCBfX2luaXQgcGFyc2Vf
aXZtZF9ibG9jayhjb25zdCBzdHJ1Y3QgYWNwaV9pdnJzX21lbW9yeSAqaXZt
ZF9ibG9jaykKIHsKICAgICB1bnNpZ25lZCBsb25nIHN0YXJ0X2FkZHIsIG1l
bV9sZW5ndGgsIGJhc2UsIGxpbWl0OwotICAgIHU4IGl3LCBpcjsKKyAgICBi
b29sIGl3ID0gdHJ1ZSwgaXIgPSB0cnVlLCBleGNsdXNpb24gPSBmYWxzZTsK
IAogICAgIGlmICggaXZtZF9ibG9jay0+aGVhZGVyLmxlbmd0aCA8IHNpemVv
ZigqaXZtZF9ibG9jaykgKQogICAgIHsKQEAgLTQwNywxMyArMzg1LDExIEBA
IHN0YXRpYyBpbnQgX19pbml0IHBhcnNlX2l2bWRfYmxvY2soY29uc3QKICAg
ICAgICAgICAgICAgICAgICAgaXZtZF9ibG9jay0+aGVhZGVyLnR5cGUsIHN0
YXJ0X2FkZHIsIG1lbV9sZW5ndGgpOwogCiAgICAgaWYgKCBpdm1kX2Jsb2Nr
LT5oZWFkZXIuZmxhZ3MgJiBBQ1BJX0lWTURfRVhDTFVTSU9OX1JBTkdFICkK
LSAgICAgICAgaXcgPSBpciA9IElPTU1VX0NPTlRST0xfRU5BQkxFRDsKKyAg
ICAgICAgZXhjbHVzaW9uID0gdHJ1ZTsKICAgICBlbHNlIGlmICggaXZtZF9i
bG9jay0+aGVhZGVyLmZsYWdzICYgQUNQSV9JVk1EX1VOSVRZICkKICAgICB7
Ci0gICAgICAgIGl3ID0gaXZtZF9ibG9jay0+aGVhZGVyLmZsYWdzICYgQUNQ
SV9JVk1EX1JFQUQgPwotICAgICAgICAgICAgSU9NTVVfQ09OVFJPTF9FTkFC
TEVEIDogSU9NTVVfQ09OVFJPTF9ESVNBQkxFRDsKLSAgICAgICAgaXIgPSBp
dm1kX2Jsb2NrLT5oZWFkZXIuZmxhZ3MgJiBBQ1BJX0lWTURfV1JJVEUgPwot
ICAgICAgICAgICAgSU9NTVVfQ09OVFJPTF9FTkFCTEVEIDogSU9NTVVfQ09O
VFJPTF9ESVNBQkxFRDsKKyAgICAgICAgaXcgPSBpdm1kX2Jsb2NrLT5oZWFk
ZXIuZmxhZ3MgJiBBQ1BJX0lWTURfUkVBRDsKKyAgICAgICAgaXIgPSBpdm1k
X2Jsb2NrLT5oZWFkZXIuZmxhZ3MgJiBBQ1BJX0lWTURfV1JJVEU7CiAgICAg
fQogICAgIGVsc2UKICAgICB7CkBAIC00MjQsMjAgKzQwMCwyMCBAQCBzdGF0
aWMgaW50IF9faW5pdCBwYXJzZV9pdm1kX2Jsb2NrKGNvbnN0CiAgICAgc3dp
dGNoKCBpdm1kX2Jsb2NrLT5oZWFkZXIudHlwZSApCiAgICAgewogICAgIGNh
c2UgQUNQSV9JVlJTX1RZUEVfTUVNT1JZX0FMTDoKLSAgICAgICAgcmV0dXJu
IHJlZ2lzdGVyX2V4Y2x1c2lvbl9yYW5nZV9mb3JfYWxsX2RldmljZXMoCi0g
ICAgICAgICAgICBiYXNlLCBsaW1pdCwgaXcsIGlyKTsKKyAgICAgICAgcmV0
dXJuIHJlZ2lzdGVyX3JhbmdlX2Zvcl9hbGxfZGV2aWNlcygKKyAgICAgICAg
ICAgIGJhc2UsIGxpbWl0LCBpdywgaXIsIGV4Y2x1c2lvbik7CiAKICAgICBj
YXNlIEFDUElfSVZSU19UWVBFX01FTU9SWV9PTkU6Ci0gICAgICAgIHJldHVy
biBwYXJzZV9pdm1kX2RldmljZV9zZWxlY3QoaXZtZF9ibG9jaywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlLCBsaW1p
dCwgaXcsIGlyKTsKKyAgICAgICAgcmV0dXJuIHBhcnNlX2l2bWRfZGV2aWNl
X3NlbGVjdChpdm1kX2Jsb2NrLCBiYXNlLCBsaW1pdCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdywgaXIsIGV4Y2x1c2lv
bik7CiAKICAgICBjYXNlIEFDUElfSVZSU19UWVBFX01FTU9SWV9SQU5HRToK
LSAgICAgICAgcmV0dXJuIHBhcnNlX2l2bWRfZGV2aWNlX3JhbmdlKGl2bWRf
YmxvY2ssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBiYXNlLCBsaW1pdCwgaXcsIGlyKTsKKyAgICAgICAgcmV0dXJuIHBhcnNl
X2l2bWRfZGV2aWNlX3JhbmdlKGl2bWRfYmxvY2ssIGJhc2UsIGxpbWl0LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXcsIGly
LCBleGNsdXNpb24pOwogCiAgICAgY2FzZSBBQ1BJX0lWUlNfVFlQRV9NRU1P
UllfSU9NTVU6Ci0gICAgICAgIHJldHVybiBwYXJzZV9pdm1kX2RldmljZV9p
b21tdShpdm1kX2Jsb2NrLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYmFzZSwgbGltaXQsIGl3LCBpcik7CisgICAgICAgIHJl
dHVybiBwYXJzZV9pdm1kX2RldmljZV9pb21tdShpdm1kX2Jsb2NrLCBiYXNl
LCBsaW1pdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGl3LCBpciwgZXhjbHVzaW9uKTsKIAogICAgIGRlZmF1bHQ6CiAgICAg
ICAgIEFNRF9JT01NVV9ERUJVRygiSVZNRCBFcnJvcjogSW52YWxpZCBCbG9j
ayBUeXBlIVxuIik7Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2Ft
ZC9wY2lfYW1kX2lvbW11LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91
Z2gvYW1kL3BjaV9hbWRfaW9tbXUuYwpAQCAtMjM0LDYgKzIzNCw4IEBAIHN0
YXRpYyBpbnQgX19tdXN0X2NoZWNrIGFsbG9jYXRlX2RvbWFpbl8KICAgICBy
ZXR1cm4gcmM7CiB9CiAKK2ludCBfX3JlYWRfbW9zdGx5IGFtZF9pb21tdV9t
aW5fcGFnaW5nX21vZGUgPSAxOworCiBzdGF0aWMgaW50IGFtZF9pb21tdV9k
b21haW5faW5pdChzdHJ1Y3QgZG9tYWluICpkKQogewogICAgIHN0cnVjdCBk
b21haW5faW9tbXUgKmhkID0gZG9tX2lvbW11KGQpOwpAQCAtMjQ1LDExICsy
NDcsMTMgQEAgc3RhdGljIGludCBhbWRfaW9tbXVfZG9tYWluX2luaXQoc3Ry
dWN0CiAgICAgICogLSBIVk0gY291bGQgaW4gcHJpbmNpcGxlIHVzZSAzIG9y
IDQgZGVwZW5kaW5nIG9uIGhvdyBtdWNoIGd1ZXN0CiAgICAgICogICBwaHlz
aWNhbCBhZGRyZXNzIHNwYWNlIHdlIGdpdmUgaXQsIGJ1dCB0aGlzIGlzbid0
IGtub3duIHlldCBzbyB1c2UgNAogICAgICAqICAgdW5pbGF0ZXJhbGx5Lgor
ICAgICAqIC0gVW5pdHkgbWFwcyBtYXkgcmVxdWlyZSBhbiBldmVuIGhpZ2hl
ciBudW1iZXIuCiAgICAgICovCi0gICAgaGQtPmFyY2guYW1kLnBhZ2luZ19t
b2RlID0gYW1kX2lvbW11X2dldF9wYWdpbmdfbW9kZSgKLSAgICAgICAgaXNf
aHZtX2RvbWFpbihkKQotICAgICAgICA/IDF1bCA8PCAoREVGQVVMVF9ET01B
SU5fQUREUkVTU19XSURUSCAtIFBBR0VfU0hJRlQpCi0gICAgICAgIDogZ2V0
X3VwcGVyX21mbl9ib3VuZCgpICsgMSk7CisgICAgaGQtPmFyY2guYW1kLnBh
Z2luZ19tb2RlID0gbWF4KGFtZF9pb21tdV9nZXRfcGFnaW5nX21vZGUoCisg
ICAgICAgICAgICBpc19odm1fZG9tYWluKGQpCisgICAgICAgICAgICA/IDF1
bCA8PCAoREVGQVVMVF9ET01BSU5fQUREUkVTU19XSURUSCAtIFBBR0VfU0hJ
RlQpCisgICAgICAgICAgICA6IGdldF91cHBlcl9tZm5fYm91bmQoKSArIDEp
LAorICAgICAgICBhbWRfaW9tbXVfbWluX3BhZ2luZ19tb2RlKTsKIAogICAg
IHJldHVybiAwOwogfQo=

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.15-7.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.15-7.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvcDJtOiBpbnRyb2R1Y2UgcDJtX2lzX3NwZWNpYWwoKQoKU2VlaW5n
IHRoZSBzaW1pbGFyaXR5IG9mIGdyYW50LCBmb3JlaWduLCBhbmQgKHN1YnNl
cXVlbnRseSkgZGlyZWN0LU1NSU8KaGFuZGxpbmcsIGludHJvZHVjZSBhIG5l
dyBQMk0gdHlwZSBncm91cCBuYW1lZCAic3BlY2lhbCIgKGFzIGluICJuZWVk
aW5nCnNwZWNpYWwgYWNjZXNzb3JzIHRvIGNyZWF0ZS9kZXN0cm95IikuCgpB
bHNvIHVzZSAtRVBFUk0gaW5zdGVhZCBvZiBvdGhlciBlcnJvciBjb2RlcyBv
biB0aGUgdHdvIGRvbWFpbl9jcmFzaCgpCnBhdGhzIHRvdWNoZWQuCgpUaGlz
IGlzIHBhcnQgb2YgWFNBLTM3OC4KClNpZ25lZC1vZmYtYnk6IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFBhdWwgRHVy
cmFudCA8cGF1bEB4ZW4ub3JnPgoKLS0tIGEveGVuL2FyY2gveDg2L21tL3Ay
bS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYwpAQCAtODExLDcgKzgx
MSw3IEBAIHAybV9yZW1vdmVfcGFnZShzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJt
LAogICAgICAgICBmb3IgKCBpID0gMDsgaSA8ICgxVUwgPDwgcGFnZV9vcmRl
cik7IGkrKyApCiAgICAgICAgIHsKICAgICAgICAgICAgIHAybS0+Z2V0X2Vu
dHJ5KHAybSwgZ2ZuX2FkZChnZm4sIGkpLCAmdCwgJmEsIDAsIE5VTEwsIE5V
TEwpOwotICAgICAgICAgICAgaWYgKCAhcDJtX2lzX2dyYW50KHQpICYmICFw
Mm1faXNfc2hhcmVkKHQpICYmICFwMm1faXNfZm9yZWlnbih0KSApCisgICAg
ICAgICAgICBpZiAoICFwMm1faXNfc3BlY2lhbCh0KSAmJiAhcDJtX2lzX3No
YXJlZCh0KSApCiAgICAgICAgICAgICAgICAgc2V0X2dwZm5fZnJvbV9tZm4o
bWZuX3gobWZuKSArIGksIElOVkFMSURfTTJQX0VOVFJZKTsKICAgICAgICAg
fQogICAgIH0KQEAgLTk0MSwxMyArOTQxLDEzIEBAIGd1ZXN0X3BoeXNtYXBf
YWRkX2VudHJ5KHN0cnVjdCBkb21haW4gKmQKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAmb3QsICZhLCAwLCBOVUxMLCBOVUxMKTsKICAg
ICAgICAgICAgIEFTU0VSVCghcDJtX2lzX3NoYXJlZChvdCkpOwogICAgICAg
ICB9Ci0gICAgICAgIGlmICggcDJtX2lzX2dyYW50KG90KSB8fCBwMm1faXNf
Zm9yZWlnbihvdCkgKQorICAgICAgICBpZiAoIHAybV9pc19zcGVjaWFsKG90
KSApCiAgICAgICAgIHsKLSAgICAgICAgICAgIC8qIFJlYWxseSBzaG91bGRu
J3QgYmUgdW5tYXBwaW5nIGdyYW50L2ZvcmVpZ24gbWFwcyB0aGlzIHdheSAq
LworICAgICAgICAgICAgLyogRG9uJ3QgcGVybWl0IHVubWFwcGluZyBncmFu
dC9mb3JlaWduIHRoaXMgd2F5LiAqLwogICAgICAgICAgICAgZG9tYWluX2Ny
YXNoKGQpOwogICAgICAgICAgICAgcDJtX3VubG9jayhwMm0pOwogICAgICAg
ICAgICAgCi0gICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKKyAgICAgICAg
ICAgIHJldHVybiAtRVBFUk07CiAgICAgICAgIH0KICAgICAgICAgZWxzZSBp
ZiAoIHAybV9pc19yYW0ob3QpICYmICFwMm1faXNfcGFnZWQob3QpICkKICAg
ICAgICAgewpAQCAtMTA0MSw4ICsxMDQxLDcgQEAgaW50IHAybV9jaGFuZ2Vf
dHlwZV9vbmUoc3RydWN0IGRvbWFpbiAqZAogICAgIHN0cnVjdCBwMm1fZG9t
YWluICpwMm0gPSBwMm1fZ2V0X2hvc3RwMm0oZCk7CiAgICAgaW50IHJjOwog
Ci0gICAgQlVHX09OKHAybV9pc19ncmFudChvdCkgfHwgcDJtX2lzX2dyYW50
KG50KSk7Ci0gICAgQlVHX09OKHAybV9pc19mb3JlaWduKG90KSB8fCBwMm1f
aXNfZm9yZWlnbihudCkpOworICAgIEJVR19PTihwMm1faXNfc3BlY2lhbChv
dCkgfHwgcDJtX2lzX3NwZWNpYWwobnQpKTsKIAogICAgIGdmbl9sb2NrKHAy
bSwgZ2ZuLCAwKTsKIApAQCAtMTI4OSwxMSArMTI4OCwxMSBAQCBzdGF0aWMg
aW50IHNldF90eXBlZF9wMm1fZW50cnkoc3RydWN0IGRvCiAgICAgICAgIGdm
bl91bmxvY2socDJtLCBnZm4sIG9yZGVyKTsKICAgICAgICAgcmV0dXJuIGN1
cl9vcmRlciArIDE7CiAgICAgfQotICAgIGlmICggcDJtX2lzX2dyYW50KG90
KSB8fCBwMm1faXNfZm9yZWlnbihvdCkgKQorICAgIGlmICggcDJtX2lzX3Nw
ZWNpYWwob3QpICkKICAgICB7CiAgICAgICAgIGdmbl91bmxvY2socDJtLCBn
Zm4sIG9yZGVyKTsKICAgICAgICAgZG9tYWluX2NyYXNoKGQpOwotICAgICAg
ICByZXR1cm4gLUVOT0VOVDsKKyAgICAgICAgcmV0dXJuIC1FUEVSTTsKICAg
ICB9CiAgICAgZWxzZSBpZiAoIHAybV9pc19yYW0ob3QpICkKICAgICB7Ci0t
LSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcDJtLmgKKysrIGIveGVuL2luY2x1
ZGUvYXNtLXg4Ni9wMm0uaApAQCAtMTQ5LDYgKzE0OSwxMCBAQCB0eXBlZGVm
IHVuc2lnbmVkIGludCBwMm1fcXVlcnlfdDsKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB8IHAybV90b19tYXNrKHAybV9yYW1fbG9nZGlydHkpICkK
ICNkZWZpbmUgUDJNX1NIQVJFRF9UWVBFUyAgIChwMm1fdG9fbWFzayhwMm1f
cmFtX3NoYXJlZCkpCiAKKy8qIFR5cGVzIGVzdGFibGlzaGVkL2NsZWFuZWQg
dXAgdmlhIHNwZWNpYWwgYWNjZXNzb3JzLiAqLworI2RlZmluZSBQMk1fU1BF
Q0lBTF9UWVBFUyAoUDJNX0dSQU5UX1RZUEVTIHwgXAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcDJtX3RvX21hc2socDJtX21hcF9mb3JlaWduKSkK
KwogLyogVmFsaWQgdHlwZXMgbm90IG5lY2Vzc2FyaWx5IGFzc29jaWF0ZWQg
d2l0aCBhICh2YWxpZCkgTUZOLiAqLwogI2RlZmluZSBQMk1fSU5WQUxJRF9N
Rk5fVFlQRVMgKFAyTV9QT0RfVFlQRVMgICAgICAgICAgICAgICAgICBcCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBwMm1fdG9fbWFzayhw
Mm1fbW1pb19kaXJlY3QpIFwKQEAgLTE3Nyw2ICsxODEsNyBAQCB0eXBlZGVm
IHVuc2lnbmVkIGludCBwMm1fcXVlcnlfdDsKICNkZWZpbmUgcDJtX2lzX3Bh
Z2VkKF90KSAgICAocDJtX3RvX21hc2soX3QpICYgUDJNX1BBR0VEX1RZUEVT
KQogI2RlZmluZSBwMm1faXNfc2hhcmFibGUoX3QpIChwMm1fdG9fbWFzayhf
dCkgJiBQMk1fU0hBUkFCTEVfVFlQRVMpCiAjZGVmaW5lIHAybV9pc19zaGFy
ZWQoX3QpICAgKHAybV90b19tYXNrKF90KSAmIFAyTV9TSEFSRURfVFlQRVMp
CisjZGVmaW5lIHAybV9pc19zcGVjaWFsKF90KSAgKHAybV90b19tYXNrKF90
KSAmIFAyTV9TUEVDSUFMX1RZUEVTKQogI2RlZmluZSBwMm1faXNfYnJva2Vu
KF90KSAgIChwMm1fdG9fbWFzayhfdCkgJiBQMk1fQlJPS0VOX1RZUEVTKQog
I2RlZmluZSBwMm1faXNfZm9yZWlnbihfdCkgIChwMm1fdG9fbWFzayhfdCkg
JiBwMm1fdG9fbWFzayhwMm1fbWFwX2ZvcmVpZ24pKQogCg==

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.15-8.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.15-8.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvcDJtOiBndWFyZCAoaW4gcGFydGljdWxhcikgaWRlbnRpdHkgbWFw
cGluZyBlbnRyaWVzCgpTdWNoIGVudHJpZXMsIGNyZWF0ZWQgYnkgc2V0X2lk
ZW50aXR5X3AybV9lbnRyeSgpLCBzaG91bGQgb25seSBiZQpkZXN0cm95ZWQg
YnkgY2xlYXJfaWRlbnRpdHlfcDJtX2VudHJ5KCkuIEhvd2V2ZXIsIHNpbWls
YXJseSwgZW50cmllcwpjcmVhdGVkIGJ5IHNldF9tbWlvX3AybV9lbnRyeSgp
IHNob3VsZCBvbmx5IGJlIHRvcm4gZG93biBieQpjbGVhcl9tbWlvX3AybV9l
bnRyeSgpLCBzbyB0aGUgbG9naWMgZ2V0cyBiYXNlZCB1cG9uIHAybV9tbWlv
X2RpcmVjdCBhcwp0aGUgZW50cnkgdHlwZSAoc2VwYXJhdGlvbiBiZXR3ZWVu
ICJvcmRpbmFyeSIgYW5kIDE6MSBtYXBwaW5ncyB3b3VsZApyZXF1aXJlIGEg
ZnVydGhlciBpbmRpY2F0b3IgdG8gdGVsbCBhcGFydCB0aGUgdHdvKS4KCkFz
IHRvIHRoZSBndWVzdF9yZW1vdmVfcGFnZSgpIGNoYW5nZSwgY29tbWl0IDQ4
ZGZiMjk3YTIwYSAoIng4Ni9QVkg6CmFsbG93IGd1ZXN0X3JlbW92ZV9wYWdl
IHRvIHJlbW92ZSBwMm1fbW1pb19kaXJlY3QgcGFnZXMiKSwgd2hpY2gKaW50
cm9kdWNlZCB0aGUgY2FsbCB0byBjbGVhcl9tbWlvX3AybV9lbnRyeSgpLCBj
bGFpbWVkIHRoaXMgd2FzIGRvbmUgZm9yCmh3ZG9tIG9ubHkgd2l0aG91dCB0
aGlzIGFjdHVhbGx5IGhhdmluZyBiZWVuIHRoZSBjYXNlLiBIb3dldmVyLCB0
aGlzCmNvZGUgc2hvdWxkbid0IGJlIHRoZXJlIGluIHRoZSBmaXJzdCBwbGFj
ZSwgYXMgTU1JTyBlbnRyaWVzIHNob3VsZG4ndCBiZQpkcm9wcGVkIHRoaXMg
d2F5LiBBdm9pZCB0cmlnZ2VyaW5nIHRoZSB3YXJuaW5nIGFnYWluIHRoYXQg
NDhkZmIyOTdhMjBhCnNpbGVuY2VkIGJ5IGFuIGFkanVzdG1lbnQgdG8geGVu
bWVtX2FkZF90b19waHlzbWFwX29uZSgpIGluc3RlYWQuCgpOb3RlIHRoYXQg
Z3Vlc3RfcGh5c21hcF9tYXJrX3BvcHVsYXRlX29uX2RlbWFuZCgpIGdldHMg
dGlnaHRlbmVkIGJleW9uZAp0aGUgaW1tZWRpYXRlIHB1cnBvc2Ugb2YgdGhp
cyBjaGFuZ2UuCgpOb3RlIGFsc28gdGhhdCBJIGRpZG4ndCBpbnNwZWN0IGNv
ZGUgd2hpY2ggaXNuJ3Qgc2VjdXJpdHkgc3VwcG9ydGVkLAplLmcuIHNoYXJp
bmcsIHBhZ2luZywgb3IgYWx0cDJtLgoKVGhpcyBpcyBDVkUtMjAyMS0yODY5
NCAvIHBhcnQgb2YgWFNBLTM3OC4KClNpZ25lZC1vZmYtYnk6IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFBhdWwgRHVy
cmFudCA8cGF1bEB4ZW4ub3JnPgoKLS0tIGEveGVuL2FyY2gveDg2L21tL3Ay
bS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYwpAQCAtNzk5LDcgKzc5
OSw4IEBAIHAybV9yZW1vdmVfcGFnZShzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJt
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
JmN1cl9vcmRlciwgTlVMTCk7CiAKICAgICAgICAgaWYgKCBwMm1faXNfdmFs
aWQodCkgJiYKLSAgICAgICAgICAgICAoIW1mbl92YWxpZChtZm4pIHx8ICFt
Zm5fZXEobWZuX2FkZChtZm4sIGkpLCBtZm5fcmV0dXJuKSkgKQorICAgICAg
ICAgICAgICghbWZuX3ZhbGlkKG1mbikgfHwgdCA9PSBwMm1fbW1pb19kaXJl
Y3QgfHwKKyAgICAgICAgICAgICAgIW1mbl9lcShtZm5fYWRkKG1mbiwgaSks
IG1mbl9yZXR1cm4pKSApCiAgICAgICAgICAgICByZXR1cm4gLUVJTFNFUTsK
IAogICAgICAgICBpICs9ICgxVUwgPDwgY3VyX29yZGVyKSAtCkBAIC04OTks
NyArOTAwLDcgQEAgZ3Vlc3RfcGh5c21hcF9hZGRfZW50cnkoc3RydWN0IGRv
bWFpbiAqZAogICAgIGlmICggcDJtX2lzX2ZvcmVpZ24odCkgKQogICAgICAg
ICByZXR1cm4gLUVJTlZBTDsKIAotICAgIGlmICggIW1mbl92YWxpZChtZm4p
ICkKKyAgICBpZiAoICFtZm5fdmFsaWQobWZuKSB8fCB0ID09IHAybV9tbWlv
X2RpcmVjdCApCiAgICAgewogICAgICAgICBBU1NFUlRfVU5SRUFDSEFCTEUo
KTsKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CkBAIC05NDMsNyArOTQ0LDcg
QEAgZ3Vlc3RfcGh5c21hcF9hZGRfZW50cnkoc3RydWN0IGRvbWFpbiAqZAog
ICAgICAgICB9CiAgICAgICAgIGlmICggcDJtX2lzX3NwZWNpYWwob3QpICkK
ICAgICAgICAgewotICAgICAgICAgICAgLyogRG9uJ3QgcGVybWl0IHVubWFw
cGluZyBncmFudC9mb3JlaWduIHRoaXMgd2F5LiAqLworICAgICAgICAgICAg
LyogRG9uJ3QgcGVybWl0IHVubWFwcGluZyBncmFudC9mb3JlaWduL2RpcmVj
dC1NTUlPIHRoaXMgd2F5LiAqLwogICAgICAgICAgICAgZG9tYWluX2NyYXNo
KGQpOwogICAgICAgICAgICAgcDJtX3VubG9jayhwMm0pOwogICAgICAgICAg
ICAgCkBAIC0xMzk5LDggKzE0MDAsOCBAQCBpbnQgc2V0X2lkZW50aXR5X3Ay
bV9lbnRyeShzdHJ1Y3QgZG9tYWluCiAgKiAgICBvcmRlcisxICBmb3IgY2Fs
bGVyIHRvIHJldHJ5IHdpdGggb3JkZXIgKGd1YXJhbnRlZWQgc21hbGxlciB0
aGFuCiAgKiAgICAgICAgICAgICB0aGUgb3JkZXIgdmFsdWUgcGFzc2VkIGlu
KQogICovCi1pbnQgY2xlYXJfbW1pb19wMm1fZW50cnkoc3RydWN0IGRvbWFp
biAqZCwgdW5zaWduZWQgbG9uZyBnZm5fbCwgbWZuX3QgbWZuLAotICAgICAg
ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBvcmRlcikKK3N0YXRp
YyBpbnQgY2xlYXJfbW1pb19wMm1fZW50cnkoc3RydWN0IGRvbWFpbiAqZCwg
dW5zaWduZWQgbG9uZyBnZm5fbCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbWZuX3QgbWZuLCB1bnNpZ25lZCBpbnQgb3JkZXIpCiB7CiAg
ICAgaW50IHJjID0gLUVJTlZBTDsKICAgICBnZm5fdCBnZm4gPSBfZ2ZuKGdm
bl9sKTsKQEAgLTI3MzEsNyArMjczMiw5IEBAIGludCB4ZW5tZW1fYWRkX3Rv
X3BoeXNtYXBfb25lKAogCiAgICAgLyogUmVtb3ZlIHByZXZpb3VzbHkgbWFw
cGVkIHBhZ2UgaWYgaXQgd2FzIHByZXNlbnQuICovCiAgICAgcHJldl9tZm4g
PSBnZXRfZ2ZuKGQsIGdmbl94KGdwZm4pLCAmcDJtdCk7Ci0gICAgaWYgKCBt
Zm5fdmFsaWQocHJldl9tZm4pICkKKyAgICBpZiAoIHAybXQgPT0gcDJtX21t
aW9fZGlyZWN0ICkKKyAgICAgICAgcmMgPSAtRVBFUk07CisgICAgZWxzZSBp
ZiAoIG1mbl92YWxpZChwcmV2X21mbikgKQogICAgIHsKICAgICAgICAgaWYg
KCBpc19zcGVjaWFsX3BhZ2UobWZuX3RvX3BhZ2UocHJldl9tZm4pKSApCiAg
ICAgICAgICAgICAvKiBTcGVjaWFsIHBhZ2VzIGFyZSBzaW1wbHkgdW5ob29r
ZWQgZnJvbSB0aGlzIHBoeXMgc2xvdC4gKi8KLS0tIGEveGVuL2FyY2gveDg2
L21tL3AybS1wb2QuYworKysgYi94ZW4vYXJjaC94ODYvbW0vcDJtLXBvZC5j
CkBAIC0xMjk5LDE3ICsxMjk5LDE3IEBAIGd1ZXN0X3BoeXNtYXBfbWFya19w
b3B1bGF0ZV9vbl9kZW1hbmQoc3QKIAogICAgICAgICBwMm0tPmdldF9lbnRy
eShwMm0sIGdmbl9hZGQoZ2ZuLCBpKSwgJm90LCAmYSwgMCwgJmN1cl9vcmRl
ciwgTlVMTCk7CiAgICAgICAgIG4gPSAxVUwgPDwgbWluKG9yZGVyLCBjdXJf
b3JkZXIpOwotICAgICAgICBpZiAoIHAybV9pc19yYW0ob3QpICkKKyAgICAg
ICAgaWYgKCBvdCA9PSBwMm1fcG9wdWxhdGVfb25fZGVtYW5kICkKKyAgICAg
ICAgeworICAgICAgICAgICAgLyogQ291bnQgaG93IG1hbnkgUG9EIGVudHJp
ZXMgd2UnbGwgYmUgcmVwbGFjaW5nIGlmIHN1Y2Nlc3NmdWwgKi8KKyAgICAg
ICAgICAgIHBvZF9jb3VudCArPSBuOworICAgICAgICB9CisgICAgICAgIGVs
c2UgaWYgKCBvdCAhPSBwMm1faW52YWxpZCAmJiBvdCAhPSBwMm1fbW1pb19k
bSApCiAgICAgICAgIHsKICAgICAgICAgICAgIFAyTV9ERUJVRygiZ2ZuX3Rv
X21mbiByZXR1cm5lZCB0eXBlICVkIVxuIiwgb3QpOwogICAgICAgICAgICAg
cmMgPSAtRUJVU1k7CiAgICAgICAgICAgICBnb3RvIG91dDsKICAgICAgICAg
fQotICAgICAgICBlbHNlIGlmICggb3QgPT0gcDJtX3BvcHVsYXRlX29uX2Rl
bWFuZCApCi0gICAgICAgIHsKLSAgICAgICAgICAgIC8qIENvdW50IGhvdyBt
YW4gUG9EIGVudHJpZXMgd2UnbGwgYmUgcmVwbGFjaW5nIGlmIHN1Y2Nlc3Nm
dWwgKi8KLSAgICAgICAgICAgIHBvZF9jb3VudCArPSBuOwotICAgICAgICB9
CiAgICAgfQogCiAgICAgLyogTm93LCBhY3R1YWxseSBkbyB0aGUgdHdvLXdh
eSBtYXBwaW5nICovCi0tLSBhL3hlbi9jb21tb24vbWVtb3J5LmMKKysrIGIv
eGVuL2NvbW1vbi9tZW1vcnkuYwpAQCAtMzMwLDcgKzMzMCw3IEBAIGludCBn
dWVzdF9yZW1vdmVfcGFnZShzdHJ1Y3QgZG9tYWluICpkLAogICAgIH0KICAg
ICBpZiAoIHAybXQgPT0gcDJtX21taW9fZGlyZWN0ICkKICAgICB7Ci0gICAg
ICAgIHJjID0gY2xlYXJfbW1pb19wMm1fZW50cnkoZCwgZ21mbiwgbWZuLCBQ
QUdFX09SREVSXzRLKTsKKyAgICAgICAgcmMgPSAtRVBFUk07CiAgICAgICAg
IGdvdG8gb3V0X3B1dF9nZm47CiAgICAgfQogI2Vsc2UKQEAgLTE4NzUsNiAr
MTg3NSwxNSBAQCBpbnQgY2hlY2tfZ2V0X3BhZ2VfZnJvbV9nZm4oc3RydWN0
IGRvbWFpCiAgICAgICAgIHJldHVybiAtRUFHQUlOOwogICAgIH0KICNlbmRp
ZgorI2lmZGVmIENPTkZJR19YODYKKyAgICBpZiAoIHAybXQgPT0gcDJtX21t
aW9fZGlyZWN0ICkKKyAgICB7CisgICAgICAgIGlmICggcGFnZSApCisgICAg
ICAgICAgICBwdXRfcGFnZShwYWdlKTsKKworICAgICAgICByZXR1cm4gLUVQ
RVJNOworICAgIH0KKyNlbmRpZgogCiAgICAgaWYgKCAhcGFnZSApCiAgICAg
ICAgIHJldHVybiAtRUlOVkFMOwotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2
L3AybS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcDJtLmgKQEAgLTE1
MSw3ICsxNTEsOCBAQCB0eXBlZGVmIHVuc2lnbmVkIGludCBwMm1fcXVlcnlf
dDsKIAogLyogVHlwZXMgZXN0YWJsaXNoZWQvY2xlYW5lZCB1cCB2aWEgc3Bl
Y2lhbCBhY2Nlc3NvcnMuICovCiAjZGVmaW5lIFAyTV9TUEVDSUFMX1RZUEVT
IChQMk1fR1JBTlRfVFlQRVMgfCBcCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICBwMm1fdG9fbWFzayhwMm1fbWFwX2ZvcmVpZ24pKQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcDJtX3RvX21hc2socDJtX21hcF9mb3JlaWdu
KSB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHAybV90b19tYXNr
KHAybV9tbWlvX2RpcmVjdCkpCiAKIC8qIFZhbGlkIHR5cGVzIG5vdCBuZWNl
c3NhcmlseSBhc3NvY2lhdGVkIHdpdGggYSAodmFsaWQpIE1GTi4gKi8KICNk
ZWZpbmUgUDJNX0lOVkFMSURfTUZOX1RZUEVTIChQMk1fUE9EX1RZUEVTICAg
ICAgICAgICAgICAgICAgXApAQCAtNjY2LDggKzY2Nyw2IEBAIGludCBwMm1f
aXNfbG9nZGlydHlfcmFuZ2Uoc3RydWN0IHAybV9kb20KIC8qIFNldCBtbWlv
IGFkZHJlc3NlcyBpbiB0aGUgcDJtIHRhYmxlIChmb3IgcGFzcy10aHJvdWdo
KSAqLwogaW50IHNldF9tbWlvX3AybV9lbnRyeShzdHJ1Y3QgZG9tYWluICpk
LCBnZm5fdCBnZm4sIG1mbl90IG1mbiwKICAgICAgICAgICAgICAgICAgICAg
ICAgdW5zaWduZWQgaW50IG9yZGVyKTsKLWludCBjbGVhcl9tbWlvX3AybV9l
bnRyeShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIGdmbiwgbWZu
X3QgbWZuLAotICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu
dCBvcmRlcik7CiAKIC8qIFNldCBpZGVudGl0eSBhZGRyZXNzZXMgaW4gdGhl
IHAybSB0YWJsZSAoZm9yIHBhc3MtdGhyb3VnaCkgKi8KIGludCBzZXRfaWRl
bnRpdHlfcDJtX2VudHJ5KHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxv
bmcgZ2ZuLAo=

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-4.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-4.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBJT01NVTogZ2VuZXJhbGl6ZSBWVC1kJ3MgdHJhY2tpbmcgb2YgbWFwcGVk
IFJNUlIgcmVnaW9ucwoKSW4gb3JkZXIgdG8gcmUtdXNlIGl0IGVsc2V3aGVy
ZSwgbW92ZSB0aGUgbG9naWMgdG8gdmVuZG9yIGluZGVwZW5kZW50CmNvZGUg
YW5kIHN0cmlwIGl0IG9mIFJNUlIgc3BlY2lmaWNzLgoKTm90ZSB0aGF0IHRo
ZSBwcmlvciAibWFwIiBwYXJhbWV0ZXIgZ2V0cyBmb2xkZWQgaW50byB0aGUg
bmV3ICJwMm1hIiBvbmUKKHdoaWNoIEFNRCBJT01NVSBjb2RlIHdpbGwgd2Fu
dCB0byBtYWtlIHVzZSBvZiksIGFzc2lnbmluZyBhbHRlcm5hdGl2ZQptZWFu
aW5nICgidW5tYXAiKSB0byBwMm1fYWNjZXNzX3guIFByZXBhcmUgc2V0X2lk
ZW50aXR5X3AybV9lbnRyeSgpIGFuZApwMm1fZ2V0X2lvbW11X2ZsYWdzKCkg
Zm9yIGdldHRpbmcgcGFzc2VkIGFjY2VzcyB0eXBlcyBvdGhlciB0aGFuCnAy
bV9hY2Nlc3NfcncgKGluIHRoZSBsYXR0ZXIgY2FzZSBqdXN0IGZvciBwMm1f
bW1pb19kaXJlY3QgcmVxdWVzdHMpLgoKTm90ZSBhbHNvIHRoYXQsIHRvIGJl
IG9uIHRoZSBzYWZlIHNpZGUsIGFuIG92ZXJsYXAgY2hlY2sgZ2V0cyBhZGRl
ZCB0bwp0aGUgbWFpbiBsb29wIG9mIGlvbW11X2lkZW50aXR5X21hcHBpbmco
KS4KClRoaXMgaXMgcGFydCBvZiBYU0EtMzc4LgoKU2lnbmVkLW9mZi1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTog
UGF1bCBEdXJyYW50IDxwYXVsQHhlbi5vcmc+Ci0tLQpUQkQ6IEluIHRoaXMg
Y29udGV4dCAodGhlIGxhdGVzdCkgSSBxdWVzdGlvbiB3aGV0aGVyIGl0IGlz
IGEgZ29vZCBpZGVhCiAgICAgZm9yIGNsZWFyX2lkZW50aXR5X3AybV9lbnRy
eSgpIHRvIHJldHVybiBzdWNjZXNzIHdoZW4gaXQgZGlkbid0CiAgICAgY2xl
YXIgdGhlIGVudHJ5IGJlY2F1c2Ugb2YgbWlzbWF0Y2hpbmcgdHlwZSBvciBN
Rk4uClRCRDogUXVlc3Rpb24gaXMgd2hldGhlciBwMm1fZ2V0X2lvbW11X2Zs
YWdzKCkgc2hvdWxkIGFwcGx5IHRoZSBhY2Nlc3MKICAgICByZXN0cmljdGlv
biBpbiBhbGwgY2FzZXMsIG5vdCBqdXN0IGZvciBwMm1fbW1pb19kaXJlY3Qu
ClRCRDogTmVpdGhlciBwb3NzaWJsZSBwbGFjZW1lbnQgb2YgcDJtX2FjY2Vz
c19yeDJydyBhbmQgcDJtX2FjY2Vzc19uMnJ3eAogICAgIGluIHAybV9hY2Nl
c3NfdG9faW9tbXVfZmxhZ3MoKSBsb29rcyBlbnRpcmVseSBjb3JyZWN0L3Nl
bnNpYmxlLgotLS0Kdjk6IFJlLWJhc2UuCnY3OiBzL3VuaXR5X21hcC9pZGVu
dGl0eV9tYXAvZy4gUmUtYmFzZS4KdjY6IFJlLWJhc2UuCnY1OiBOZXcuCgot
LS0gYS94ZW4vYXJjaC94ODYvbW0vcDJtLmMKKysrIGIveGVuL2FyY2gveDg2
L21tL3AybS5jCkBAIC0xNDI3LDcgKzE0MjcsNyBAQCBpbnQgc2V0X2lkZW50
aXR5X3AybV9lbnRyeShzdHJ1Y3QgZG9tYWluCiAgICAgICAgICAgICByZXR1
cm4gMDsKICAgICAgICAgcmV0dXJuIGlvbW11X2xlZ2FjeV9tYXAoZCwgX2Rm
bihnZm5fbCksIF9tZm4oZ2ZuX2wpLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAxdWwgPDwgUEFHRV9PUkRFUl80SywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgSU9NTVVGX3JlYWRhYmxlIHwgSU9NTVVG
X3dyaXRhYmxlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cDJtX2FjY2Vzc190b19pb21tdV9mbGFncyhwMm1hKSk7CiAjaWZkZWYgQ09O
RklHX0hWTQogICAgIH0KIAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3Vn
aC92dGQvaW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92
dGQvaW9tbXUuYwpAQCAtNDUsMTIgKzQ1LDYgQEAKIC8qIGRvbV9pbyBpcyB1
c2VkIGFzIGEgc2VudGluZWwgZm9yIHF1YXJhbnRpbmVkIGRldmljZXMgKi8K
ICNkZWZpbmUgUVVBUkFOVElORV9TS0lQKGQpICgoZCkgPT0gZG9tX2lvICYm
ICFkb21faW9tbXUoZCktPmFyY2gudnRkLnBnZF9tYWRkcikKIAotc3RydWN0
IG1hcHBlZF9ybXJyIHsKLSAgICBzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7Ci0g
ICAgdTY0IGJhc2UsIGVuZDsKLSAgICB1bnNpZ25lZCBpbnQgY291bnQ7Ci19
OwotCiAvKiBQb3NzaWJsZSB1bmZpbHRlcmVkIExBUElDL01TSSBtZXNzYWdl
cyBmcm9tIHVudHJ1c3RlZCBzb3VyY2VzPyAqLwogYm9vbCBfX3JlYWRfbW9z
dGx5IHVudHJ1c3RlZF9tc2k7CiAKQEAgLTEzMDYsNyArMTMwMCw2IEBAIHN0
YXRpYyBpbnQgaW50ZWxfaW9tbXVfZG9tYWluX2luaXQoc3RydWMKICAgICBz
dHJ1Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21tdShkKTsKIAogICAg
IGhkLT5hcmNoLnZ0ZC5hZ2F3ID0gd2lkdGhfdG9fYWdhdyhERUZBVUxUX0RP
TUFJTl9BRERSRVNTX1dJRFRIKTsKLSAgICBJTklUX0xJU1RfSEVBRCgmaGQt
PmFyY2gudnRkLm1hcHBlZF9ybXJycyk7CiAKICAgICByZXR1cm4gMDsKIH0K
QEAgLTE3ODUsMTcgKzE3NzgsMTIgQEAgc3RhdGljIHZvaWQgaW9tbXVfY2xl
YXJfcm9vdF9wZ3RhYmxlKHN0cgogc3RhdGljIHZvaWQgaW9tbXVfZG9tYWlu
X3RlYXJkb3duKHN0cnVjdCBkb21haW4gKmQpCiB7CiAgICAgc3RydWN0IGRv
bWFpbl9pb21tdSAqaGQgPSBkb21faW9tbXUoZCk7Ci0gICAgc3RydWN0IG1h
cHBlZF9ybXJyICptcm1yciwgKnRtcDsKICAgICBjb25zdCBzdHJ1Y3QgYWNw
aV9kcmhkX3VuaXQgKmRyaGQ7CiAKICAgICBpZiAoIGxpc3RfZW1wdHkoJmFj
cGlfZHJoZF91bml0cykgKQogICAgICAgICByZXR1cm47CiAKLSAgICBsaXN0
X2Zvcl9lYWNoX2VudHJ5X3NhZmUgKCBtcm1yciwgdG1wLCAmaGQtPmFyY2gu
dnRkLm1hcHBlZF9ybXJycywgbGlzdCApCi0gICAgewotICAgICAgICBsaXN0
X2RlbCgmbXJtcnItPmxpc3QpOwotICAgICAgICB4ZnJlZShtcm1ycik7Ci0g
ICAgfQorICAgIGlvbW11X2lkZW50aXR5X21hcF90ZWFyZG93bihkKTsKIAog
ICAgIEFTU0VSVCghaGQtPmFyY2gudnRkLnBnZF9tYWRkcik7CiAKQEAgLTE5
NDMsNzQgKzE5MzEsNiBAQCBzdGF0aWMgaW50IF9faW5pdCB2dGRfZXB0X3Bh
Z2VfY29tcGF0aWJsCiAgICAgICAgICAgIChlcHRfaGFzXzFnYihlcHRfY2Fw
KSAmJiBvcHRfaGFwXzFnYikgPD0gY2FwX3Nwc18xZ2IodnRkX2NhcCk7CiB9
CiAKLXN0YXRpYyBpbnQgcm1ycl9pZGVudGl0eV9tYXBwaW5nKHN0cnVjdCBk
b21haW4gKmQsIGJvb2xfdCBtYXAsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBzdHJ1Y3QgYWNwaV9ybXJyX3VuaXQgKnJtcnIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1MzIgZmxhZykK
LXsKLSAgICB1bnNpZ25lZCBsb25nIGJhc2VfcGZuID0gcm1yci0+YmFzZV9h
ZGRyZXNzID4+IFBBR0VfU0hJRlRfNEs7Ci0gICAgdW5zaWduZWQgbG9uZyBl
bmRfcGZuID0gUEFHRV9BTElHTl80SyhybXJyLT5lbmRfYWRkcmVzcykgPj4g
UEFHRV9TSElGVF80SzsKLSAgICBzdHJ1Y3QgbWFwcGVkX3JtcnIgKm1ybXJy
OwotICAgIHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9tX2lvbW11KGQp
OwotCi0gICAgQVNTRVJUKHBjaWRldnNfbG9ja2VkKCkpOwotICAgIEFTU0VS
VChybXJyLT5iYXNlX2FkZHJlc3MgPCBybXJyLT5lbmRfYWRkcmVzcyk7Ci0K
LSAgICAvKgotICAgICAqIE5vIG5lZWQgdG8gYWNxdWlyZSBoZC0+YXJjaC5t
YXBwaW5nX2xvY2s6IEJvdGggaW5zZXJ0aW9uIGFuZCByZW1vdmFsCi0gICAg
ICogZ2V0IGRvbmUgd2hpbGUgaG9sZGluZyBwY2lkZXZzX2xvY2suCi0gICAg
ICovCi0gICAgbGlzdF9mb3JfZWFjaF9lbnRyeSggbXJtcnIsICZoZC0+YXJj
aC52dGQubWFwcGVkX3JtcnJzLCBsaXN0ICkKLSAgICB7Ci0gICAgICAgIGlm
ICggbXJtcnItPmJhc2UgPT0gcm1yci0+YmFzZV9hZGRyZXNzICYmCi0gICAg
ICAgICAgICAgbXJtcnItPmVuZCA9PSBybXJyLT5lbmRfYWRkcmVzcyApCi0g
ICAgICAgIHsKLSAgICAgICAgICAgIGludCByZXQgPSAwOwotCi0gICAgICAg
ICAgICBpZiAoIG1hcCApCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgKyttcm1yci0+Y291bnQ7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDA7
Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlmICggLS1tcm1yci0+
Y291bnQgKQotICAgICAgICAgICAgICAgIHJldHVybiAwOwotCi0gICAgICAg
ICAgICB3aGlsZSAoIGJhc2VfcGZuIDwgZW5kX3BmbiApCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgaWYgKCBjbGVhcl9pZGVudGl0eV9wMm1f
ZW50cnkoZCwgYmFzZV9wZm4pICkKLSAgICAgICAgICAgICAgICAgICAgcmV0
ID0gLUVOWElPOwotICAgICAgICAgICAgICAgIGJhc2VfcGZuKys7Ci0gICAg
ICAgICAgICB9Ci0KLSAgICAgICAgICAgIGxpc3RfZGVsKCZtcm1yci0+bGlz
dCk7Ci0gICAgICAgICAgICB4ZnJlZShtcm1ycik7Ci0gICAgICAgICAgICBy
ZXR1cm4gcmV0OwotICAgICAgICB9Ci0gICAgfQotCi0gICAgaWYgKCAhbWFw
ICkKLSAgICAgICAgcmV0dXJuIC1FTk9FTlQ7Ci0KLSAgICB3aGlsZSAoIGJh
c2VfcGZuIDwgZW5kX3BmbiApCi0gICAgewotICAgICAgICBpbnQgZXJyID0g
c2V0X2lkZW50aXR5X3AybV9lbnRyeShkLCBiYXNlX3BmbiwgcDJtX2FjY2Vz
c19ydywgZmxhZyk7Ci0KLSAgICAgICAgaWYgKCBlcnIgKQotICAgICAgICAg
ICAgcmV0dXJuIGVycjsKLSAgICAgICAgYmFzZV9wZm4rKzsKLSAgICB9Ci0K
LSAgICBtcm1yciA9IHhtYWxsb2Moc3RydWN0IG1hcHBlZF9ybXJyKTsKLSAg
ICBpZiAoICFtcm1yciApCi0gICAgICAgIHJldHVybiAtRU5PTUVNOwotICAg
IG1ybXJyLT5iYXNlID0gcm1yci0+YmFzZV9hZGRyZXNzOwotICAgIG1ybXJy
LT5lbmQgPSBybXJyLT5lbmRfYWRkcmVzczsKLSAgICBtcm1yci0+Y291bnQg
PSAxOwotICAgIGxpc3RfYWRkX3RhaWwoJm1ybXJyLT5saXN0LCAmaGQtPmFy
Y2gudnRkLm1hcHBlZF9ybXJycyk7Ci0KLSAgICByZXR1cm4gMDsKLX0KLQog
c3RhdGljIGludCBpbnRlbF9pb21tdV9hZGRfZGV2aWNlKHU4IGRldmZuLCBz
dHJ1Y3QgcGNpX2RldiAqcGRldikKIHsKICAgICBzdHJ1Y3QgYWNwaV9ybXJy
X3VuaXQgKnJtcnI7CkBAIC0yMDQyLDcgKzE5NjIsOSBAQCBzdGF0aWMgaW50
IGludGVsX2lvbW11X2FkZF9kZXZpY2UodTggZGV2CiAgICAgICAgICAgICAg
KiBTaW5jZSBSTVJScyBhcmUgYWx3YXlzIHJlc2VydmVkIGluIHRoZSBlODIw
IG1hcCBmb3IgdGhlIGhhcmR3YXJlCiAgICAgICAgICAgICAgKiBkb21haW4s
IHRoZXJlIHNob3VsZG4ndCBiZSBhIGNvbmZsaWN0LgogICAgICAgICAgICAg
ICovCi0gICAgICAgICAgICByZXQgPSBybXJyX2lkZW50aXR5X21hcHBpbmco
cGRldi0+ZG9tYWluLCAxLCBybXJyLCAwKTsKKyAgICAgICAgICAgIHJldCA9
IGlvbW11X2lkZW50aXR5X21hcHBpbmcocGRldi0+ZG9tYWluLCBwMm1fYWNj
ZXNzX3J3LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBybXJyLT5iYXNlX2FkZHJlc3MsIHJtcnItPmVuZF9hZGRyZXNzLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwKTsK
ICAgICAgICAgICAgIGlmICggcmV0ICkKICAgICAgICAgICAgICAgICBkcHJp
bnRrKFhFTkxPR19FUlIgVlREUFJFRklYLCAiZCVkOiBSTVJSIG1hcHBpbmcg
ZmFpbGVkXG4iLAogICAgICAgICAgICAgICAgICAgICAgICAgcGRldi0+ZG9t
YWluLT5kb21haW5faWQpOwpAQCAtMjA4Nyw3ICsyMDA5LDggQEAgc3RhdGlj
IGludCBpbnRlbF9pb21tdV9yZW1vdmVfZGV2aWNlKHU4CiAgICAgICAgICAq
IEFueSBmbGFnIGlzIG5vdGhpbmcgdG8gY2xlYXIgdGhlc2UgbWFwcGluZ3Mg
YnV0IGhlcmUKICAgICAgICAgICogaXRzIGFsd2F5cyBzYWZlIGFuZCBzdHJp
Y3QgdG8gc2V0IDAuCiAgICAgICAgICAqLwotICAgICAgICBybXJyX2lkZW50
aXR5X21hcHBpbmcocGRldi0+ZG9tYWluLCAwLCBybXJyLCAwKTsKKyAgICAg
ICAgaW9tbXVfaWRlbnRpdHlfbWFwcGluZyhwZGV2LT5kb21haW4sIHAybV9h
Y2Nlc3NfeCwgcm1yci0+YmFzZV9hZGRyZXNzLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHJtcnItPmVuZF9hZGRyZXNzLCAwKTsKICAgICB9
CiAKICAgICByZXR1cm4gZG9tYWluX2NvbnRleHRfdW5tYXAocGRldi0+ZG9t
YWluLCBkZXZmbiwgcGRldik7CkBAIC0yMjg2LDcgKzIyMDksOCBAQCBzdGF0
aWMgdm9pZCBfX2h3ZG9tX2luaXQgc2V0dXBfaHdkb21fcm1yCiAgICAgICAg
ICAqIGRvbWFpbiwgdGhlcmUgc2hvdWxkbid0IGJlIGEgY29uZmxpY3QuIFNv
IGl0cyBhbHdheXMgc2FmZSBhbmQKICAgICAgICAgICogc3RyaWN0IHRvIHNl
dCAwLgogICAgICAgICAgKi8KLSAgICAgICAgcmV0ID0gcm1ycl9pZGVudGl0
eV9tYXBwaW5nKGQsIDEsIHJtcnIsIDApOworICAgICAgICByZXQgPSBpb21t
dV9pZGVudGl0eV9tYXBwaW5nKGQsIHAybV9hY2Nlc3NfcncsIHJtcnItPmJh
c2VfYWRkcmVzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBybXJyLT5lbmRfYWRkcmVzcywgMCk7CiAgICAgICAgIGlmICggcmV0
ICkKICAgICAgICAgICAgIGRwcmludGsoWEVOTE9HX0VSUiBWVERQUkVGSVgs
CiAgICAgICAgICAgICAgICAgICAgICAiSU9NTVU6IG1hcHBpbmcgcmVzZXJ2
ZWQgcmVnaW9uIGZhaWxlZFxuIik7CkBAIC0yNDY4LDcgKzIzOTIsOSBAQCBz
dGF0aWMgaW50IHJlYXNzaWduX2RldmljZV9vd25lcnNoaXAoCiAgICAgICAg
ICAgICAgICAgICogQW55IFJNUlIgZmxhZyBpcyBhbHdheXMgaWdub3JlZCB3
aGVuIHJlbW92ZSBhIGRldmljZSwKICAgICAgICAgICAgICAgICAgKiBidXQg
aXRzIGFsd2F5cyBzYWZlIGFuZCBzdHJpY3QgdG8gc2V0IDAuCiAgICAgICAg
ICAgICAgICAgICovCi0gICAgICAgICAgICAgICAgcmV0ID0gcm1ycl9pZGVu
dGl0eV9tYXBwaW5nKHNvdXJjZSwgMCwgcm1yciwgMCk7CisgICAgICAgICAg
ICAgICAgcmV0ID0gaW9tbXVfaWRlbnRpdHlfbWFwcGluZyhzb3VyY2UsIHAy
bV9hY2Nlc3NfeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHJtcnItPmJhc2VfYWRkcmVzcywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJtcnItPmVuZF9h
ZGRyZXNzLCAwKTsKICAgICAgICAgICAgICAgICBpZiAoIHJldCAhPSAtRU5P
RU5UICkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJldDsKICAgICAg
ICAgICAgIH0KQEAgLTI1NjQsNyArMjQ5MCw4IEBAIHN0YXRpYyBpbnQgaW50
ZWxfaW9tbXVfYXNzaWduX2RldmljZSgKICAgICAgICAgICAgICBQQ0lfQlVT
KGJkZikgPT0gYnVzICYmCiAgICAgICAgICAgICAgUENJX0RFVkZOMihiZGYp
ID09IGRldmZuICkKICAgICAgICAgewotICAgICAgICAgICAgcmV0ID0gcm1y
cl9pZGVudGl0eV9tYXBwaW5nKGQsIDEsIHJtcnIsIGZsYWcpOworICAgICAg
ICAgICAgcmV0ID0gaW9tbXVfaWRlbnRpdHlfbWFwcGluZyhkLCBwMm1fYWNj
ZXNzX3J3LCBybXJyLT5iYXNlX2FkZHJlc3MsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHJtcnItPmVuZF9hZGRyZXNzLCBm
bGFnKTsKICAgICAgICAgICAgIGlmICggcmV0ICkKICAgICAgICAgICAgIHsK
ICAgICAgICAgICAgICAgICBpbnQgcmM7Ci0tLSBhL3hlbi9kcml2ZXJzL3Bh
c3N0aHJvdWdoL3g4Ni9pb21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0
aHJvdWdoL3g4Ni9pb21tdS5jCkBAIC0xNDQsNiArMTQ0LDcgQEAgaW50IGFy
Y2hfaW9tbXVfZG9tYWluX2luaXQoc3RydWN0IGRvbWFpbgogCiAgICAgSU5J
VF9QQUdFX0xJU1RfSEVBRCgmaGQtPmFyY2gucGd0YWJsZXMubGlzdCk7CiAg
ICAgc3Bpbl9sb2NrX2luaXQoJmhkLT5hcmNoLnBndGFibGVzLmxvY2spOwor
ICAgIElOSVRfTElTVF9IRUFEKCZoZC0+YXJjaC5pZGVudGl0eV9tYXBzKTsK
IAogICAgIHJldHVybiAwOwogfQpAQCAtMTU5LDYgKzE2MCw5OSBAQCB2b2lk
IGFyY2hfaW9tbXVfZG9tYWluX2Rlc3Ryb3koc3RydWN0IGRvCiAgICAgICAg
ICAgIHBhZ2VfbGlzdF9lbXB0eSgmZG9tX2lvbW11KGQpLT5hcmNoLnBndGFi
bGVzLmxpc3QpKTsKIH0KIAorc3RydWN0IGlkZW50aXR5X21hcCB7CisgICAg
c3RydWN0IGxpc3RfaGVhZCBsaXN0OworICAgIHBhZGRyX3QgYmFzZSwgZW5k
OworICAgIHAybV9hY2Nlc3NfdCBhY2Nlc3M7CisgICAgdW5zaWduZWQgaW50
IGNvdW50OworfTsKKworaW50IGlvbW11X2lkZW50aXR5X21hcHBpbmcoc3Ry
dWN0IGRvbWFpbiAqZCwgcDJtX2FjY2Vzc190IHAybWEsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwYWRkcl90IGJhc2UsIHBhZGRyX3QgZW5kLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGZsYWcp
Cit7CisgICAgdW5zaWduZWQgbG9uZyBiYXNlX3BmbiA9IGJhc2UgPj4gUEFH
RV9TSElGVF80SzsKKyAgICB1bnNpZ25lZCBsb25nIGVuZF9wZm4gPSBQQUdF
X0FMSUdOXzRLKGVuZCkgPj4gUEFHRV9TSElGVF80SzsKKyAgICBzdHJ1Y3Qg
aWRlbnRpdHlfbWFwICptYXA7CisgICAgc3RydWN0IGRvbWFpbl9pb21tdSAq
aGQgPSBkb21faW9tbXUoZCk7CisKKyAgICBBU1NFUlQocGNpZGV2c19sb2Nr
ZWQoKSk7CisgICAgQVNTRVJUKGJhc2UgPCBlbmQpOworCisgICAgLyoKKyAg
ICAgKiBObyBuZWVkIHRvIGFjcXVpcmUgaGQtPmFyY2gubWFwcGluZ19sb2Nr
OiBCb3RoIGluc2VydGlvbiBhbmQgcmVtb3ZhbAorICAgICAqIGdldCBkb25l
IHdoaWxlIGhvbGRpbmcgcGNpZGV2c19sb2NrLgorICAgICAqLworICAgIGxp
c3RfZm9yX2VhY2hfZW50cnkoIG1hcCwgJmhkLT5hcmNoLmlkZW50aXR5X21h
cHMsIGxpc3QgKQorICAgIHsKKyAgICAgICAgaWYgKCBtYXAtPmJhc2UgPT0g
YmFzZSAmJiBtYXAtPmVuZCA9PSBlbmQgKQorICAgICAgICB7CisgICAgICAg
ICAgICBpbnQgcmV0ID0gMDsKKworICAgICAgICAgICAgaWYgKCBwMm1hICE9
IHAybV9hY2Nlc3NfeCApCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgaWYgKCBtYXAtPmFjY2VzcyAhPSBwMm1hICkKKyAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIC1FQUREUklOVVNFOworICAgICAgICAgICAgICAgICsr
bWFwLT5jb3VudDsKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgaWYgKCAtLW1hcC0+Y291bnQgKQor
ICAgICAgICAgICAgICAgIHJldHVybiAwOworCisgICAgICAgICAgICB3aGls
ZSAoIGJhc2VfcGZuIDwgZW5kX3BmbiApCisgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgaWYgKCBjbGVhcl9pZGVudGl0eV9wMm1fZW50cnkoZCwg
YmFzZV9wZm4pICkKKyAgICAgICAgICAgICAgICAgICAgcmV0ID0gLUVOWElP
OworICAgICAgICAgICAgICAgIGJhc2VfcGZuKys7CisgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgIGxpc3RfZGVsKCZtYXAtPmxpc3QpOworICAgICAg
ICAgICAgeGZyZWUobWFwKTsKKworICAgICAgICAgICAgcmV0dXJuIHJldDsK
KyAgICAgICAgfQorCisgICAgICAgIGlmICggZW5kID49IG1hcC0+YmFzZSAm
JiBtYXAtPmVuZCA+PSBiYXNlICkKKyAgICAgICAgICAgIHJldHVybiAtRUFE
RFJJTlVTRTsKKyAgICB9CisKKyAgICBpZiAoIHAybWEgPT0gcDJtX2FjY2Vz
c194ICkKKyAgICAgICAgcmV0dXJuIC1FTk9FTlQ7CisKKyAgICB3aGlsZSAo
IGJhc2VfcGZuIDwgZW5kX3BmbiApCisgICAgeworICAgICAgICBpbnQgZXJy
ID0gc2V0X2lkZW50aXR5X3AybV9lbnRyeShkLCBiYXNlX3BmbiwgcDJtYSwg
ZmxhZyk7CisKKyAgICAgICAgaWYgKCBlcnIgKQorICAgICAgICAgICAgcmV0
dXJuIGVycjsKKyAgICAgICAgYmFzZV9wZm4rKzsKKyAgICB9CisKKyAgICBt
YXAgPSB4bWFsbG9jKHN0cnVjdCBpZGVudGl0eV9tYXApOworICAgIGlmICgg
IW1hcCApCisgICAgICAgIHJldHVybiAtRU5PTUVNOworICAgIG1hcC0+YmFz
ZSA9IGJhc2U7CisgICAgbWFwLT5lbmQgPSBlbmQ7CisgICAgbWFwLT5hY2Nl
c3MgPSBwMm1hOworICAgIG1hcC0+Y291bnQgPSAxOworICAgIGxpc3RfYWRk
X3RhaWwoJm1hcC0+bGlzdCwgJmhkLT5hcmNoLmlkZW50aXR5X21hcHMpOwor
CisgICAgcmV0dXJuIDA7Cit9CisKK3ZvaWQgaW9tbXVfaWRlbnRpdHlfbWFw
X3RlYXJkb3duKHN0cnVjdCBkb21haW4gKmQpCit7CisgICAgc3RydWN0IGRv
bWFpbl9pb21tdSAqaGQgPSBkb21faW9tbXUoZCk7CisgICAgc3RydWN0IGlk
ZW50aXR5X21hcCAqbWFwLCAqdG1wOworCisgICAgbGlzdF9mb3JfZWFjaF9l
bnRyeV9zYWZlICggbWFwLCB0bXAsICZoZC0+YXJjaC5pZGVudGl0eV9tYXBz
LCBsaXN0ICkKKyAgICB7CisgICAgICAgIGxpc3RfZGVsKCZtYXAtPmxpc3Qp
OworICAgICAgICB4ZnJlZShtYXApOworICAgIH0KK30KKwogc3RhdGljIGJv
b2wgX19od2RvbV9pbml0IGh3ZG9tX2lvbW11X21hcChjb25zdCBzdHJ1Y3Qg
ZG9tYWluICpkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1bnNpZ25lZCBsb25nIHBmbiwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBtYXhfcGZu
KQotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2lvbW11LmgKKysrIGIveGVu
L2luY2x1ZGUvYXNtLXg4Ni9pb21tdS5oCkBAIC0xNiw2ICsxNiw3IEBACiAK
ICNpbmNsdWRlIDx4ZW4vZXJybm8uaD4KICNpbmNsdWRlIDx4ZW4vbGlzdC5o
PgorI2luY2x1ZGUgPHhlbi9tZW1fYWNjZXNzLmg+CiAjaW5jbHVkZSA8eGVu
L3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8YXNtL2FwaWNkZWYuaD4KICNpbmNs
dWRlIDxhc20vcHJvY2Vzc29yLmg+CkBAIC01MCwxMyArNTEsMTQgQEAgc3Ry
dWN0IGFyY2hfaW9tbXUKICAgICAgICAgc3BpbmxvY2tfdCBsb2NrOwogICAg
IH0gcGd0YWJsZXM7CiAKKyAgICBzdHJ1Y3QgbGlzdF9oZWFkIGlkZW50aXR5
X21hcHM7CisKICAgICB1bmlvbiB7CiAgICAgICAgIC8qIEludGVsIFZULWQg
Ki8KICAgICAgICAgc3RydWN0IHsKICAgICAgICAgICAgIHVpbnQ2NF90IHBn
ZF9tYWRkcjsgLyogaW8gcGFnZSBkaXJlY3RvcnkgbWFjaGluZSBhZGRyZXNz
ICovCiAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgYWdhdzsgLyogYWRqdXN0
ZWQgZ3Vlc3QgYWRkcmVzcyB3aWR0aCwgMCBpcyBsZXZlbCAyIDMwLWJpdCAq
LwogICAgICAgICAgICAgdWludDY0X3QgaW9tbXVfYml0bWFwOyAvKiBiaXRt
YXAgb2YgaW9tbXUocykgdGhhdCB0aGUgZG9tYWluIHVzZXMgKi8KLSAgICAg
ICAgICAgIHN0cnVjdCBsaXN0X2hlYWQgbWFwcGVkX3JtcnJzOwogICAgICAg
ICB9IHZ0ZDsKICAgICAgICAgLyogQU1EIElPTU1VICovCiAgICAgICAgIHN0
cnVjdCB7CkBAIC0xMjIsNiArMTI0LDExIEBAIHN0YXRpYyBpbmxpbmUgdm9p
ZCBpb21tdV9kaXNhYmxlX3gyYXBpYygKICAgICAgICAgaW9tbXVfb3BzLmRp
c2FibGVfeDJhcGljKCk7CiB9CiAKK2ludCBpb21tdV9pZGVudGl0eV9tYXBw
aW5nKHN0cnVjdCBkb21haW4gKmQsIHAybV9hY2Nlc3NfdCBwMm1hLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcGFkZHJfdCBiYXNlLCBwYWRkcl90
IGVuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu
dCBmbGFnKTsKK3ZvaWQgaW9tbXVfaWRlbnRpdHlfbWFwX3RlYXJkb3duKHN0
cnVjdCBkb21haW4gKmQpOworCiBleHRlcm4gYm9vbCB1bnRydXN0ZWRfbXNp
OwogCiBpbnQgcGlfdXBkYXRlX2lydGUoY29uc3Qgc3RydWN0IHBpX2Rlc2Mg
KnBpX2Rlc2MsIGNvbnN0IHN0cnVjdCBwaXJxICpwaXJxLAotLS0gYS94ZW4v
aW5jbHVkZS9hc20teDg2L3AybS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14
ODYvcDJtLmgKQEAgLTg4OCw2ICs4ODgsMzQgQEAgc3RydWN0IHAybV9kb21h
aW4gKnAybV9nZXRfYWx0cDJtKHN0cnVjdAogc3RhdGljIGlubGluZSB2b2lk
IHAybV9hbHRwMm1fY2hlY2soc3RydWN0IHZjcHUgKnYsIHVpbnQxNl90IGlk
eCkge30KICNlbmRpZgogCisvKiBwMm0gYWNjZXNzIHRvIElPTU1VIGZsYWdz
ICovCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBwMm1fYWNjZXNzX3Rv
X2lvbW11X2ZsYWdzKHAybV9hY2Nlc3NfdCBwMm1hKQoreworICAgIHN3aXRj
aCAoIHAybWEgKQorICAgIHsKKyAgICBjYXNlIHAybV9hY2Nlc3Nfcnc6Cisg
ICAgY2FzZSBwMm1fYWNjZXNzX3J3eDoKKyAgICAgICAgcmV0dXJuIElPTU1V
Rl9yZWFkYWJsZSB8IElPTU1VRl93cml0YWJsZTsKKworICAgIGNhc2UgcDJt
X2FjY2Vzc19yOgorICAgIGNhc2UgcDJtX2FjY2Vzc19yeDoKKyAgICBjYXNl
IHAybV9hY2Nlc3Nfcngycnc6CisgICAgICAgIHJldHVybiBJT01NVUZfcmVh
ZGFibGU7CisKKyAgICBjYXNlIHAybV9hY2Nlc3NfdzoKKyAgICBjYXNlIHAy
bV9hY2Nlc3Nfd3g6CisgICAgICAgIHJldHVybiBJT01NVUZfd3JpdGFibGU7
CisKKyAgICBjYXNlIHAybV9hY2Nlc3NfbjoKKyAgICBjYXNlIHAybV9hY2Nl
c3NfeDoKKyAgICBjYXNlIHAybV9hY2Nlc3NfbjJyd3g6CisgICAgICAgIHJl
dHVybiAwOworICAgIH0KKworICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwor
ICAgIHJldHVybiAwOworfQorCiAvKgogICogcDJtIHR5cGUgdG8gSU9NTVUg
ZmxhZ3MKICAqLwpAQCAtOTA5LDkgKzkzNywxMCBAQCBzdGF0aWMgaW5saW5l
IHVuc2lnbmVkIGludCBwMm1fZ2V0X2lvbW11CiAgICAgICAgIGZsYWdzID0g
SU9NTVVGX3JlYWRhYmxlOwogICAgICAgICBicmVhazsKICAgICBjYXNlIHAy
bV9tbWlvX2RpcmVjdDoKLSAgICAgICAgZmxhZ3MgPSBJT01NVUZfcmVhZGFi
bGU7Ci0gICAgICAgIGlmICggIXJhbmdlc2V0X2NvbnRhaW5zX3NpbmdsZXRv
bihtbWlvX3JvX3JhbmdlcywgbWZuX3gobWZuKSkgKQotICAgICAgICAgICAg
ZmxhZ3MgfD0gSU9NTVVGX3dyaXRhYmxlOworICAgICAgICBmbGFncyA9IHAy
bV9hY2Nlc3NfdG9faW9tbXVfZmxhZ3MocDJtYSk7CisgICAgICAgIGlmICgg
KGZsYWdzICYgSU9NTVVGX3dyaXRhYmxlKSAmJgorICAgICAgICAgICAgIHJh
bmdlc2V0X2NvbnRhaW5zX3NpbmdsZXRvbihtbWlvX3JvX3JhbmdlcywgbWZu
X3gobWZuKSkgKQorICAgICAgICAgICAgZmxhZ3MgJj0gfklPTU1VRl93cml0
YWJsZTsKICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAg
ZmxhZ3MgPSAwOwo=

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-5.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-5.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBBTUQvSU9NTVU6IHJlLWFycmFuZ2UvY29tcGxldGUgcmUtYXNzaWdubWVu
dCBoYW5kbGluZwoKUHJpb3IgdG8gdGhlIGFzc2lnbm1lbnQgc3RlcCBoYXZp
bmcgY29tcGxldGVkIHN1Y2Nlc3NmdWxseSwgZGV2aWNlcwpzaG91bGQgbm90
IGdldCBhc3NvY2lhdGVkIHdpdGggdGhlaXIgbmV3IG93bmVyLiBIYW5kIHRo
ZSBkZXZpY2UgdG8gRG9tSU8KKHBlcmhhcHMgdGVtcG9yYXJpbHkpLCB1bnRp
bCBhZnRlciB0aGUgZGUtYXNzaWdubWVudCBzdGVwIGhhcyBjb21wbGV0ZWQu
CgpEZS1hc3NpZ25tZW50IG9mIGEgZGV2aWNlIChmcm9tIG90aGVyIHRoYW4g
RG9tMCkgYXMgd2VsbCBhcyBmYWlsdXJlIG9mCnJlYXNzaWduX2RldmljZSgp
IGR1cmluZyBhc3NpZ25tZW50IHNob3VsZCByZXN1bHQgaW4gdW5pdHkgbWFw
cGluZ3MKZ2V0dGluZyB0b3JuIGRvd24uIFRoaXMgaW4gdHVybiByZXF1aXJl
cyBzd2l0Y2hpbmcgdG8gYSByZWZjb3VudGVkCm1hcHBpbmcgYXBwcm9hY2gs
IGFzIHdhcyBhbHJlYWR5IHVzZWQgYnkgVlQtZCBmb3IgaXRzIFJNUlJzLCB0
byBwcmV2ZW50CnVubWFwcGluZyBhIHJlZ2lvbiB1c2VkIGJ5IG11bHRpcGxl
IGRldmljZXMuCgpUaGlzIGlzIENWRS0yMDIxLTI4Njk2IC8gcGFydCBvZiBY
U0EtMzc4LgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpSZXZpZXdlZC1ieTogUGF1bCBEdXJyYW50IDxwYXVsQHhl
bi5vcmc+Ci0tLQp2OTogUmUtYmFzZS4Kdjc6IFJlLWJhc2UuCnY2OiBSZS1i
YXNlLgp2NTogU3dpdGNoIHRvIHVzaW5nIGlvbW11X2lkZW50aXR5X21hcHBp
bmcoKS4gQWxzbyB1bm1hcCgpIHdoZW4gYW55CiAgICBtYXAoKSBmYWlscyBp
biBhbWRfaW9tbXVfYXNzaWduX2RldmljZSgpLCB1bmxlc3MgaXQncyBEb20w
LiBSZS1iYXNlLgp2NDogVXNlIGRhZGRyX3RvX2RmbigpLiBEcm9wIHN0cmF5
IGJsYW5rIGxpbmUuIERvbid0IGV2ZXIgdW5tYXAgZnJvbQogICAgRG9tMC4K
djM6IFVzZSBEb21JTyBpbnN0ZWFkIG9mIERvbVhFTi4KdjI6IFJlLWJhc2Ug
b3ZlciBYU0EtMzAyLgoKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gv
YW1kL2lvbW11LmgKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1k
L2lvbW11LmgKQEAgLTIzMiw4ICsyMzIsMTAgQEAgaW50IF9fbXVzdF9jaGVj
ayBhbWRfaW9tbXVfdW5tYXBfcGFnZShzdAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgKmZsdXNoX2ZsYWdz
KTsKIGludCBfX211c3RfY2hlY2sgYW1kX2lvbW11X2FsbG9jX3Jvb3Qoc3Ry
dWN0IGRvbWFpbiAqZCk7CiBpbnQgYW1kX2lvbW11X3Jlc2VydmVfZG9tYWlu
X3VuaXR5X21hcChzdHJ1Y3QgZG9tYWluICpkb21haW4sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkcl90IHBoeXNfYWRk
ciwgdW5zaWduZWQgbG9uZyBzaXplLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IGl3LCBpbnQgaXIpOworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGl2
cnNfdW5pdHlfbWFwICptYXAsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgZmxhZyk7CitpbnQgYW1kX2lv
bW11X3Jlc2VydmVfZG9tYWluX3VuaXR5X3VubWFwKHN0cnVjdCBkb21haW4g
KmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHN0cnVjdCBpdnJzX3VuaXR5X21hcCAqbWFwKTsKIGludCBfX211
c3RfY2hlY2sgYW1kX2lvbW11X2ZsdXNoX2lvdGxiX3BhZ2VzKHN0cnVjdCBk
b21haW4gKmQsIGRmbl90IGRmbiwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgcGFnZV9jb3Vu
dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVuc2lnbmVkIGludCBmbHVzaF9mbGFncyk7Ci0tLSBhL3hlbi9kcml2
ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21tdV9tYXAuYworKysgYi94ZW4vZHJp
dmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfbWFwLmMKQEAgLTQxOSwzOCAr
NDE5LDQ5IEBAIGludCBhbWRfaW9tbXVfZmx1c2hfaW90bGJfYWxsKHN0cnVj
dCBkb20KICAgICByZXR1cm4gMDsKIH0KIAotaW50IGFtZF9pb21tdV9yZXNl
cnZlX2RvbWFpbl91bml0eV9tYXAoc3RydWN0IGRvbWFpbiAqZG9tYWluLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZHJf
dCBwaHlzX2FkZHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1bnNpZ25lZCBsb25nIHNpemUsIGludCBpdywgaW50IGlyKQor
aW50IGFtZF9pb21tdV9yZXNlcnZlX2RvbWFpbl91bml0eV9tYXAoc3RydWN0
IGRvbWFpbiAqZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHN0cnVjdCBpdnJzX3VuaXR5X21hcCAqbWFwLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg
aW50IGZsYWcpCiB7Ci0gICAgdW5zaWduZWQgbG9uZyBucGFnZXMsIGk7Ci0g
ICAgdW5zaWduZWQgbG9uZyBnZm47Ci0gICAgdW5zaWduZWQgaW50IGZsYWdz
ID0gISFpcjsKLSAgICB1bnNpZ25lZCBpbnQgZmx1c2hfZmxhZ3MgPSAwOwot
ICAgIGludCBydCA9IDA7Ci0KLSAgICBpZiAoIGl3ICkKLSAgICAgICAgZmxh
Z3MgfD0gSU9NTVVGX3dyaXRhYmxlOwotCi0gICAgbnBhZ2VzID0gcmVnaW9u
X3RvX3BhZ2VzKHBoeXNfYWRkciwgc2l6ZSk7Ci0gICAgZ2ZuID0gcGh5c19h
ZGRyID4+IFBBR0VfU0hJRlQ7Ci0gICAgZm9yICggaSA9IDA7IGkgPCBucGFn
ZXM7IGkrKyApCisgICAgaW50IHJjOworCisgICAgaWYgKCBkID09IGRvbV9p
byApCisgICAgICAgIHJldHVybiAwOworCisgICAgZm9yICggcmMgPSAwOyAh
cmMgJiYgbWFwOyBtYXAgPSBtYXAtPm5leHQgKQogICAgIHsKLSAgICAgICAg
dW5zaWduZWQgbG9uZyBmcmFtZSA9IGdmbiArIGk7CisgICAgICAgIHAybV9h
Y2Nlc3NfdCBwMm1hID0gcDJtX2FjY2Vzc19uOworCisgICAgICAgIGlmICgg
bWFwLT5yZWFkICkKKyAgICAgICAgICAgIHAybWEgfD0gcDJtX2FjY2Vzc19y
OworICAgICAgICBpZiAoIG1hcC0+d3JpdGUgKQorICAgICAgICAgICAgcDJt
YSB8PSBwMm1fYWNjZXNzX3c7CiAKLSAgICAgICAgcnQgPSBhbWRfaW9tbXVf
bWFwX3BhZ2UoZG9tYWluLCBfZGZuKGZyYW1lKSwgX21mbihmcmFtZSksIGZs
YWdzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZmx1c2hf
ZmxhZ3MpOwotICAgICAgICBpZiAoIHJ0ICE9IDAgKQotICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgIHJjID0gaW9tbXVfaWRlbnRpdHlfbWFwcGluZyhk
LCBwMm1hLCBtYXAtPmFkZHIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBtYXAtPmFkZHIgKyBtYXAtPmxlbmd0aCAtIDEsIGZsYWcp
OwogICAgIH0KIAotICAgIC8qIFVzZSB3aGlsZS1icmVhayB0byBhdm9pZCBj
b21waWxlciB3YXJuaW5nICovCi0gICAgd2hpbGUgKCBmbHVzaF9mbGFncyAm
JgotICAgICAgICAgICAgYW1kX2lvbW11X2ZsdXNoX2lvdGxiX3BhZ2VzKGRv
bWFpbiwgX2RmbihnZm4pLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIG5wYWdlcywgZmx1c2hfZmxhZ3MpICkKLSAgICAgICAg
YnJlYWs7CisgICAgcmV0dXJuIHJjOworfQorCitpbnQgYW1kX2lvbW11X3Jl
c2VydmVfZG9tYWluX3VuaXR5X3VubWFwKHN0cnVjdCBkb21haW4gKmQsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHN0cnVjdCBpdnJzX3VuaXR5X21hcCAqbWFwKQoreworICAgIGludCByYzsK
KworICAgIGlmICggZCA9PSBkb21faW8gKQorICAgICAgICByZXR1cm4gMDsK
KworICAgIGZvciAoIHJjID0gMDsgbWFwOyBtYXAgPSBtYXAtPm5leHQgKQor
ICAgIHsKKyAgICAgICAgaW50IHJldCA9IGlvbW11X2lkZW50aXR5X21hcHBp
bmcoZCwgcDJtX2FjY2Vzc194LCBtYXAtPmFkZHIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC0+YWRkciArIG1hcC0+
bGVuZ3RoIC0gMSwgMCk7CisKKyAgICAgICAgaWYgKCByZXQgJiYgcmV0ICE9
IC1FTk9FTlQgJiYgIXJjICkKKyAgICAgICAgICAgIHJjID0gcmV0OworICAg
IH0KIAotICAgIHJldHVybiBydDsKKyAgICByZXR1cm4gcmM7CiB9CiAKIGlu
dCBfX2luaXQgYW1kX2lvbW11X3F1YXJhbnRpbmVfaW5pdChzdHJ1Y3QgZG9t
YWluICpkKQotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvcGNp
X2FtZF9pb21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2Ft
ZC9wY2lfYW1kX2lvbW11LmMKQEAgLTM0Nyw2ICszNDcsNyBAQCBzdGF0aWMg
aW50IHJlYXNzaWduX2RldmljZShzdHJ1Y3QgZG9tYWluCiB7CiAgICAgc3Ry
dWN0IGFtZF9pb21tdSAqaW9tbXU7CiAgICAgaW50IGJkZiwgcmM7CisgICAg
Y29uc3Qgc3RydWN0IGl2cnNfbWFwcGluZ3MgKml2cnNfbWFwcGluZ3MgPSBn
ZXRfaXZyc19tYXBwaW5ncyhwZGV2LT5zZWcpOwogCiAgICAgYmRmID0gUENJ
X0JERjIocGRldi0+YnVzLCBwZGV2LT5kZXZmbik7CiAgICAgaW9tbXUgPSBm
aW5kX2lvbW11X2Zvcl9kZXZpY2UocGRldi0+c2VnLCBiZGYpOwpAQCAtMzYx
LDEwICszNjIsMjQgQEAgc3RhdGljIGludCByZWFzc2lnbl9kZXZpY2Uoc3Ry
dWN0IGRvbWFpbgogCiAgICAgYW1kX2lvbW11X2Rpc2FibGVfZG9tYWluX2Rl
dmljZShzb3VyY2UsIGlvbW11LCBkZXZmbiwgcGRldik7CiAKLSAgICBpZiAo
IGRldmZuID09IHBkZXYtPmRldmZuICkKKyAgICAvKgorICAgICAqIElmIHRo
ZSBkZXZpY2UgYmVsb25ncyB0byB0aGUgaGFyZHdhcmUgZG9tYWluLCBhbmQg
aXQgaGFzIGEgdW5pdHkgbWFwcGluZywKKyAgICAgKiBkb24ndCByZW1vdmUg
aXQgZnJvbSB0aGUgaGFyZHdhcmUgZG9tYWluLCBiZWNhdXNlIEJJT1MgbWF5
IHJlZmVyZW5jZSB0aGF0CisgICAgICogbWFwcGluZy4KKyAgICAgKi8KKyAg
ICBpZiAoICFpc19oYXJkd2FyZV9kb21haW4oc291cmNlKSApCiAgICAgewot
ICAgICAgICBsaXN0X21vdmUoJnBkZXYtPmRvbWFpbl9saXN0LCAmdGFyZ2V0
LT5wZGV2X2xpc3QpOwotICAgICAgICBwZGV2LT5kb21haW4gPSB0YXJnZXQ7
CisgICAgICAgIHJjID0gYW1kX2lvbW11X3Jlc2VydmVfZG9tYWluX3VuaXR5
X3VubWFwKAorICAgICAgICAgICAgICAgICBzb3VyY2UsCisgICAgICAgICAg
ICAgICAgIGl2cnNfbWFwcGluZ3NbZ2V0X2RtYV9yZXF1ZXN0b3JfaWQocGRl
di0+c2VnLCBiZGYpXS51bml0eV9tYXApOworICAgICAgICBpZiAoIHJjICkK
KyAgICAgICAgICAgIHJldHVybiByYzsKKyAgICB9CisKKyAgICBpZiAoIGRl
dmZuID09IHBkZXYtPmRldmZuICYmIHBkZXYtPmRvbWFpbiAhPSBkb21faW8g
KQorICAgIHsKKyAgICAgICAgbGlzdF9tb3ZlKCZwZGV2LT5kb21haW5fbGlz
dCwgJmRvbV9pby0+cGRldl9saXN0KTsKKyAgICAgICAgcGRldi0+ZG9tYWlu
ID0gZG9tX2lvOwogICAgIH0KIAogICAgIHJjID0gYW1kX2lvbW11X3NldHVw
X2RvbWFpbl9kZXZpY2UodGFyZ2V0LCBpb21tdSwgZGV2Zm4sIHBkZXYpOwpA
QCAtMzc0LDYgKzM4OSwxMiBAQCBzdGF0aWMgaW50IHJlYXNzaWduX2Rldmlj
ZShzdHJ1Y3QgZG9tYWluCiAgICAgQU1EX0lPTU1VX0RFQlVHKCJSZS1hc3Np
Z24gJXBwIGZyb20gZG9tJWQgdG8gZG9tJWRcbiIsCiAgICAgICAgICAgICAg
ICAgICAgICZwZGV2LT5zYmRmLCBzb3VyY2UtPmRvbWFpbl9pZCwgdGFyZ2V0
LT5kb21haW5faWQpOwogCisgICAgaWYgKCBkZXZmbiA9PSBwZGV2LT5kZXZm
biAmJiBwZGV2LT5kb21haW4gIT0gdGFyZ2V0ICkKKyAgICB7CisgICAgICAg
IGxpc3RfbW92ZSgmcGRldi0+ZG9tYWluX2xpc3QsICZ0YXJnZXQtPnBkZXZf
bGlzdCk7CisgICAgICAgIHBkZXYtPmRvbWFpbiA9IHRhcmdldDsKKyAgICB9
CisKICAgICByZXR1cm4gMDsKIH0KIApAQCAtMzg0LDIwICs0MDUsMjggQEAg
c3RhdGljIGludCBhbWRfaW9tbXVfYXNzaWduX2RldmljZShzdHJ1YwogICAg
IHN0cnVjdCBpdnJzX21hcHBpbmdzICppdnJzX21hcHBpbmdzID0gZ2V0X2l2
cnNfbWFwcGluZ3MocGRldi0+c2VnKTsKICAgICBpbnQgYmRmID0gUENJX0JE
RjIocGRldi0+YnVzLCBkZXZmbik7CiAgICAgaW50IHJlcV9pZCA9IGdldF9k
bWFfcmVxdWVzdG9yX2lkKHBkZXYtPnNlZywgYmRmKTsKLSAgICBjb25zdCBz
dHJ1Y3QgaXZyc191bml0eV9tYXAgKnVuaXR5X21hcDsKKyAgICBpbnQgcmMg
PSBhbWRfaW9tbXVfcmVzZXJ2ZV9kb21haW5fdW5pdHlfbWFwKAorICAgICAg
ICAgICAgICAgICBkLCBpdnJzX21hcHBpbmdzW3JlcV9pZF0udW5pdHlfbWFw
LCBmbGFnKTsKIAotICAgIGZvciAoIHVuaXR5X21hcCA9IGl2cnNfbWFwcGlu
Z3NbcmVxX2lkXS51bml0eV9tYXA7IHVuaXR5X21hcDsKLSAgICAgICAgICB1
bml0eV9tYXAgPSB1bml0eV9tYXAtPm5leHQgKQorICAgIGlmICggIXJjICkK
KyAgICAgICAgcmMgPSByZWFzc2lnbl9kZXZpY2UocGRldi0+ZG9tYWluLCBk
LCBkZXZmbiwgcGRldik7CisKKyAgICBpZiAoIHJjICYmICFpc19oYXJkd2Fy
ZV9kb21haW4oZCkgKQogICAgIHsKLSAgICAgICAgaW50IHJjID0gYW1kX2lv
bW11X3Jlc2VydmVfZG9tYWluX3VuaXR5X21hcCgKLSAgICAgICAgICAgICAg
ICAgICAgIGQsIHVuaXR5X21hcC0+YWRkciwgdW5pdHlfbWFwLT5sZW5ndGgs
Ci0gICAgICAgICAgICAgICAgICAgICB1bml0eV9tYXAtPndyaXRlLCB1bml0
eV9tYXAtPnJlYWQpOworICAgICAgICBpbnQgcmV0ID0gYW1kX2lvbW11X3Jl
c2VydmVfZG9tYWluX3VuaXR5X3VubWFwKAorICAgICAgICAgICAgICAgICAg
ICAgIGQsIGl2cnNfbWFwcGluZ3NbcmVxX2lkXS51bml0eV9tYXApOwogCi0g
ICAgICAgIGlmICggcmMgKQotICAgICAgICAgICAgcmV0dXJuIHJjOworICAg
ICAgICBpZiAoIHJldCApCisgICAgICAgIHsKKyAgICAgICAgICAgIHByaW50
ayhYRU5MT0dfRVJSICJBTUQtVmk6ICIKKyAgICAgICAgICAgICAgICAgICAi
dW5pdHktdW5tYXAgZm9yICVwZC8lMDR4OiUwMng6JTAyeC4ldSBmYWlsZWQg
KCVkKVxuIiwKKyAgICAgICAgICAgICAgICAgICBkLCBwZGV2LT5zZWcsIHBk
ZXYtPmJ1cywKKyAgICAgICAgICAgICAgICAgICBQQ0lfU0xPVChkZXZmbiks
IFBDSV9GVU5DKGRldmZuKSwgcmV0KTsKKyAgICAgICAgICAgIGRvbWFpbl9j
cmFzaChkKTsKKyAgICAgICAgfQogICAgIH0KIAotICAgIHJldHVybiByZWFz
c2lnbl9kZXZpY2UocGRldi0+ZG9tYWluLCBkLCBkZXZmbiwgcGRldik7Cisg
ICAgcmV0dXJuIHJjOwogfQogCiBzdGF0aWMgdm9pZCBhbWRfaW9tbXVfY2xl
YXJfcm9vdF9wZ3RhYmxlKHN0cnVjdCBkb21haW4gKmQpCkBAIC00MTEsNiAr
NDQwLDcgQEAgc3RhdGljIHZvaWQgYW1kX2lvbW11X2NsZWFyX3Jvb3RfcGd0
YWJsZQogCiBzdGF0aWMgdm9pZCBhbWRfaW9tbXVfZG9tYWluX2Rlc3Ryb3ko
c3RydWN0IGRvbWFpbiAqZCkKIHsKKyAgICBpb21tdV9pZGVudGl0eV9tYXBf
dGVhcmRvd24oZCk7CiAgICAgQVNTRVJUKCFkb21faW9tbXUoZCktPmFyY2gu
YW1kLnJvb3RfdGFibGUpOwogfQogCg==

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-6.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-6.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBBTUQvSU9NTVU6IHJlLWFycmFuZ2UgZXhjbHVzaW9uIHJhbmdlIGFuZCB1
bml0eSBtYXAgcmVjb3JkaW5nCgpUaGUgc3BlYyBtYWtlcyBubyBwcm92aXNp
b25zIGZvciBPUyBiZWhhdmlvciBoZXJlIHRvIGRlcGVuZCBvbiB0aGUKYW1v
dW50IG9mIFJBTSBmb3VuZCBvbiB0aGUgc3lzdGVtLiBXaGlsZSB0aGUgc3Bl
YyBtYXkgbm90IHN1ZmZpY2llbnRseQpjbGVhcmx5IGRpc3Rpbmd1aXNoIGJv
dGgga2luZHMgb2YgcmVnaW9ucywgdGhleSBhcmUgc3VyZWx5IG1lYW50IHRv
IGJlCnNlcGFyYXRlIHRoaW5nczogT25seSByZWdpb25zIHdpdGggQUNQSV9J
Vk1EX0VYQ0xVU0lPTl9SQU5HRSBzZXQgc2hvdWxkCmJlIGNhbmRpZGF0ZXMg
Zm9yIHB1dHRpbmcgaW4gdGhlIGV4Y2x1c2lvbiByYW5nZSByZWdpc3RlcnMu
IChBcyB0aGVyZSdzCm9ubHkgYSBzaW5nbGUgc3VjaCBwYWlyIG9mIHJlZ2lz
dGVycyBwZXIgSU9NTVUsIHNlY29uZGFyeSBub24tYWRqYWNlbnQKcmVnaW9u
cyB3aXRoIHRoZSBmbGFnIHNldCBhbHJlYWR5IGdldCBjb252ZXJ0ZWQgdG8g
dW5pdHkgbWFwcGVkCnJlZ2lvbnMuKQoKRmlyc3Qgb2YgYWxsLCBkcm9wIHRo
ZSBkZXBlbmRlbmN5IG9uIG1heF9wYWdlLiBXaXRoIGNvbW1pdCBiNGYwNDIy
MzZhZTAKKCJBTUQvSU9NTVU6IENlYXNlIHVzaW5nIGEgZHluYW1pYyBoZWln
aHQgZm9yIHRoZSBJT01NVSBwYWdldGFibGVzIikgdGhlCnVzZSBvZiBpdCBo
ZXJlIHdhcyBzdGFsZSBhbnl3YXk7IGl0IHdhcyBib2d1cyBhbHJlYWR5IGJl
Zm9yZSwgYXMgaXQKZGlkbid0IGFjY291bnQgZm9yIG1heF9wYWdlIGdldHRp
bmcgaW5jcmVhc2VkIGxhdGVyIG9uLiBTaW1wbHkgdHJ5IGFuCmV4Y2x1c2lv
biByYW5nZSByZWdpc3RyYXRpb24gZmlyc3QsIGFuZCBpZiBpdCBmYWlscyAo
Zm9yIGJlaW5nCnVuc3VpdGFibGUgb3Igbm9uLW1lcmdlYWJsZSksIHJlZ2lz
dGVyIGEgdW5pdHkgbWFwcGluZyByYW5nZS4KCldpdGggdGhpcyB2YXJpb3Vz
IGxvY2FsIHZhcmlhYmxlcyBiZWNvbWUgdW5uZWNlc3NhcnkgYW5kIGhlbmNl
IGdldApkcm9wcGVkIGF0IHRoZSBzYW1lIHRpbWUuCgpXaXRoIHRoZSBtYXhf
cGFnZSBib3VuZGFyeSBkcm9wcGVkIGZvciB1c2luZyB1bml0eSBtYXBzLCB0
aGUgbWluaW11bQpwYWdlIHRhYmxlIHRyZWUgaGVpZ2h0IG5vdyBuZWVkcyBi
b3RoIHJlY29yZGluZyBhbmQgZW5mb3JjaW5nIGluCmFtZF9pb21tdV9kb21h
aW5faW5pdCgpLiBTaW5jZSB3ZSBjYW4ndCBwcmVkaWN0IHdoaWNoIGRldmlj
ZXMgbWF5IGdldAphc3NpZ25lZCB0byBhIGRvbWFpbiwgb3VyIG9ubHkgb3B0
aW9uIGlzIHRvIHVuaWZvcm1seSBmb3JjZSBhdCBsZWFzdAp0aGF0IGhlaWdo
dCBmb3IgYWxsIGRvbWFpbnMsIG5vdyB0aGF0IHRoZSBoZWlnaHQgaXNuJ3Qg
ZHluYW1pYyBhbnltb3JlLgoKRnVydGhlciBkb24ndCBtYWtlIHVzZSBvZiB0
aGUgZXhjbHVzaW9uIHJhbmdlIHVubGVzcyBBQ1BJIGRhdGEgc2F5cyBzby4K
Ck5vdGUgdGhhdCBleGNsdXNpb24gcmFuZ2UgcmVnaXN0cmF0aW9uIGluCnJl
Z2lzdGVyX3JhbmdlX2Zvcl9hbGxfZGV2aWNlcygpIGlzIG9uIGEgYmVzdCBl
ZmZvcnQgYmFzaXMuIEhlbmNlIHVuaXR5Cm1hcCBlbnRyaWVzIGFsc28gcmVn
aXN0ZXJlZCBhcmUgcmVkdW5kYW50IHdoZW4gdGhlIGZvcm1lciBzdWNjZWVk
ZWQsIGJ1dAp0aGV5IGFsc28gZG8gbm8gaGFybS4gSW1wcm92ZW1lbnRzIGlu
IHRoaXMgYXJlYSBjYW4gYmUgZG9uZSBsYXRlciBpbW8uCgpBbHNvIGFkanVz
dCB0eXBlcyB3aGVyZSBzdWl0YWJsZSB3aXRob3V0IHRvdWNoaW5nIGV4dHJh
IGxpbmVzLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS0zNzguCgpTaWduZWQtb2Zm
LWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+ClJldmlld2Vk
LWJ5OiBQYXVsIER1cnJhbnQgPHBhdWxAeGVuLm9yZz4KLS0tClRCRDogVGhl
IGFkanVzdG1lbnQgZG9uZSB0byBhbWRfaW9tbXVfZG9tYWluX2luaXQoKSB3
b3VsZCBzdWdnZXN0IHRoYXQKICAgICBpdCBtaWdodCBiZSB3b3J0aCBjb25z
aWRlcmluZyB0byB1c2UgdGhlIGV4Y2x1c2lvbiByYW5nZSByZWdpc3Rlcgog
ICAgIGZvciB0aGUgaGlnaGVzdCByZXBvcnRlZCAoYW5kIHN1aXRhYmxlKSBy
YW5nZSwgcmF0aGVyIHRoYW4gdGhlCiAgICAgZmlyc3Qgb25lIGZvdW5kICho
b3dldmVyIHVubGlrZWx5IGl0IG1pZ2h0IGJlIHRvIGZpbmQgbXVsdGlwbGUK
ICAgICBvbmVzIGluIHRoZSBmaXJzdCBwbGFjZSkuIFRoYXQgd2F5IHdlIG1p
Z2h0IGJlIGFibGUgdG8gbGltaXQgdGhlCiAgICAgcGFnZSB0YWJsZSB0cmVl
IGhlaWdodC4KLS0tCnY5OiBSZS1iYXNlLgp2ODogUmUtYmFzZSBvdmVyIGFk
anVzdG1lbnRzIHRvIGVhcmxpZXIgcGF0Y2guCnY3OiBEb24ndCB1c2UgZXhj
bHVzaW9uIHJhbmdlIHdoZW4gQUNQSSB0YWJsZSBlbnRyeSBkb2Vzbid0IHNh
eSBzby4KdjY6IFJlLWJhc2UuCnY1OiBOZXcuCi0tLQpCYWNrcG9ydGluZyBu
b3RlOiBUaGlzIGRlcGVuZHMgb24gYjc1YjNjNjJmZTRhICgiQU1EL0lPTU1V
OiBmaXgKb2ZmLWJ5LW9uZSBpbiBhbWRfaW9tbXVfZ2V0X3BhZ2luZ19tb2Rl
KCkgY2FsbGVycyIpLgoKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gv
YW1kL2lvbW11LmgKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1k
L2lvbW11LmgKQEAgLTMwNCw2ICszMDQsOCBAQCBleHRlcm4gc3RydWN0IGhw
ZXRfc2JkZiB7CiAgICAgfSBpbml0OwogfSBocGV0X3NiZGY7CiAKK2V4dGVy
biBpbnQgYW1kX2lvbW11X21pbl9wYWdpbmdfbW9kZTsKKwogZXh0ZXJuIHZv
aWQgKnNoYXJlZF9pbnRyZW1hcF90YWJsZTsKIGV4dGVybiB1bnNpZ25lZCBs
b25nICpzaGFyZWRfaW50cmVtYXBfaW51c2U7CiAKLS0tIGEveGVuL2RyaXZl
cnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11X2FjcGkuYworKysgYi94ZW4vZHJp
dmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfYWNwaS5jCkBAIC0xMTcsMTIg
KzExNyw4IEBAIHN0YXRpYyBzdHJ1Y3QgYW1kX2lvbW11ICogX19pbml0IGZp
bmRfaW8KIH0KIAogc3RhdGljIGludCBfX2luaXQgcmVzZXJ2ZV9pb21tdV9l
eGNsdXNpb25fcmFuZ2UoCi0gICAgc3RydWN0IGFtZF9pb21tdSAqaW9tbXUs
IHVpbnQ2NF90IGJhc2UsIHVpbnQ2NF90IGxpbWl0LAotICAgIGJvb2wgYWxs
LCBib29sIGl3LCBib29sIGlyKQorICAgIHN0cnVjdCBhbWRfaW9tbXUgKmlv
bW11LCBwYWRkcl90IGJhc2UsIHBhZGRyX3QgbGltaXQsIGJvb2wgYWxsKQog
ewotICAgIGlmICggIWlyIHx8ICFpdyApCi0gICAgICAgIHJldHVybiAtRVBF
Uk07Ci0KICAgICAvKiBuZWVkIHRvIGV4dGVuZCBleGNsdXNpb24gcmFuZ2U/
ICovCiAgICAgaWYgKCBpb21tdS0+ZXhjbHVzaW9uX2VuYWJsZSApCiAgICAg
ewpAQCAtMTUxLDE0ICsxNDcsMTggQEAgc3RhdGljIGludCBfX2luaXQgcmVz
ZXJ2ZV91bml0eV9tYXBfZm9yXwogewogICAgIHN0cnVjdCBpdnJzX21hcHBp
bmdzICppdnJzX21hcHBpbmdzID0gZ2V0X2l2cnNfbWFwcGluZ3Moc2VnKTsK
ICAgICBzdHJ1Y3QgaXZyc191bml0eV9tYXAgKnVuaXR5X21hcCA9IGl2cnNf
bWFwcGluZ3NbYmRmXS51bml0eV9tYXA7CisgICAgaW50IHBhZ2luZ19tb2Rl
ID0gYW1kX2lvbW11X2dldF9wYWdpbmdfbW9kZShQRk5fVVAoYmFzZSArIGxl
bmd0aCkpOworCisgICAgaWYgKCBwYWdpbmdfbW9kZSA8IDAgKQorICAgICAg
ICByZXR1cm4gcGFnaW5nX21vZGU7CiAKICAgICAvKiBDaGVjayBmb3Igb3Zl
cmxhcHMuICovCiAgICAgZm9yICggOyB1bml0eV9tYXA7IHVuaXR5X21hcCA9
IHVuaXR5X21hcC0+bmV4dCApCiAgICAgewogICAgICAgICAvKgogICAgICAg
ICAgKiBFeGFjdCBtYXRjaGVzIGFyZSBva2F5LiBUaGlzIGNhbiBpbiBwYXJ0
aWN1bGFyIGhhcHBlbiB3aGVuCi0gICAgICAgICAqIHJlZ2lzdGVyX2V4Y2x1
c2lvbl9yYW5nZV9mb3JfZGV2aWNlKCkgY2FsbHMgaGVyZSB0d2ljZSBmb3Ig
dGhlCi0gICAgICAgICAqIHNhbWUgKHMsYixkLGYpLgorICAgICAgICAgKiBy
ZWdpc3Rlcl9yYW5nZV9mb3JfZGV2aWNlKCkgY2FsbHMgaGVyZSB0d2ljZSBm
b3IgdGhlIHNhbWUKKyAgICAgICAgICogKHMsYixkLGYpLgogICAgICAgICAg
Ki8KICAgICAgICAgaWYgKCBiYXNlID09IHVuaXR5X21hcC0+YWRkciAmJiBs
ZW5ndGggPT0gdW5pdHlfbWFwLT5sZW5ndGggJiYKICAgICAgICAgICAgICBp
ciA9PSB1bml0eV9tYXAtPnJlYWQgJiYgaXcgPT0gdW5pdHlfbWFwLT53cml0
ZSApCkBAIC0xODYsNTUgKzE4Niw1MiBAQCBzdGF0aWMgaW50IF9faW5pdCBy
ZXNlcnZlX3VuaXR5X21hcF9mb3JfCiAgICAgdW5pdHlfbWFwLT5uZXh0ID0g
aXZyc19tYXBwaW5nc1tiZGZdLnVuaXR5X21hcDsKICAgICBpdnJzX21hcHBp
bmdzW2JkZl0udW5pdHlfbWFwID0gdW5pdHlfbWFwOwogCisgICAgaWYgKCBw
YWdpbmdfbW9kZSA+IGFtZF9pb21tdV9taW5fcGFnaW5nX21vZGUgKQorICAg
ICAgICBhbWRfaW9tbXVfbWluX3BhZ2luZ19tb2RlID0gcGFnaW5nX21vZGU7
CisKICAgICByZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBfX2luaXQgcmVn
aXN0ZXJfZXhjbHVzaW9uX3JhbmdlX2Zvcl9hbGxfZGV2aWNlcygKLSAgICB1
bnNpZ25lZCBsb25nIGJhc2UsIHVuc2lnbmVkIGxvbmcgbGltaXQsIHU4IGl3
LCB1OCBpcikKK3N0YXRpYyBpbnQgX19pbml0IHJlZ2lzdGVyX3JhbmdlX2Zv
cl9hbGxfZGV2aWNlcygKKyAgICBwYWRkcl90IGJhc2UsIHBhZGRyX3QgbGlt
aXQsIGJvb2wgaXcsIGJvb2wgaXIsIGJvb2wgZXhjbHVzaW9uKQogewogICAg
IGludCBzZWcgPSAwOyAvKiBYWFggKi8KLSAgICB1bnNpZ25lZCBsb25nIHJh
bmdlX3RvcCwgaW9tbXVfdG9wLCBsZW5ndGg7CiAgICAgc3RydWN0IGFtZF9p
b21tdSAqaW9tbXU7Ci0gICAgdW5zaWduZWQgaW50IGJkZjsKICAgICBpbnQg
cmMgPSAwOwogCiAgICAgLyogaXMgcGFydCBvZiBleGNsdXNpb24gcmFuZ2Ug
aW5zaWRlIG9mIElPTU1VIHZpcnR1YWwgYWRkcmVzcyBzcGFjZT8gKi8KICAg
ICAvKiBub3RlOiAnbGltaXQnIHBhcmFtZXRlciBpcyBhc3N1bWVkIHRvIGJl
IHBhZ2UtYWxpZ25lZCAqLwotICAgIHJhbmdlX3RvcCA9IGxpbWl0ICsgUEFH
RV9TSVpFOwotICAgIGlvbW11X3RvcCA9IG1heF9wYWdlICogUEFHRV9TSVpF
OwotICAgIGlmICggYmFzZSA8IGlvbW11X3RvcCApCi0gICAgewotICAgICAg
ICBpZiAoIHJhbmdlX3RvcCA+IGlvbW11X3RvcCApCi0gICAgICAgICAgICBy
YW5nZV90b3AgPSBpb21tdV90b3A7Ci0gICAgICAgIGxlbmd0aCA9IHJhbmdl
X3RvcCAtIGJhc2U7Ci0gICAgICAgIC8qIHJlc2VydmUgci93IHVuaXR5LW1h
cHBlZCBwYWdlIGVudHJpZXMgZm9yIGRldmljZXMgKi8KLSAgICAgICAgLyog
bm90ZTogdGhlc2UgZW50cmllcyBhcmUgcGFydCBvZiB0aGUgZXhjbHVzaW9u
IHJhbmdlICovCi0gICAgICAgIGZvciAoIGJkZiA9IDA7ICFyYyAmJiBiZGYg
PCBpdnJzX2JkZl9lbnRyaWVzOyBiZGYrKyApCi0gICAgICAgICAgICByYyA9
IHJlc2VydmVfdW5pdHlfbWFwX2Zvcl9kZXZpY2Uoc2VnLCBiZGYsIGJhc2Us
IGxlbmd0aCwgaXcsIGlyKTsKLSAgICAgICAgLyogcHVzaCAnYmFzZScganVz
dCBvdXRzaWRlIG9mIHZpcnR1YWwgYWRkcmVzcyBzcGFjZSAqLwotICAgICAg
ICBiYXNlID0gaW9tbXVfdG9wOwotICAgIH0KLSAgICAvKiByZWdpc3RlciBJ
T01NVSBleGNsdXNpb24gcmFuZ2Ugc2V0dGluZ3MgKi8KLSAgICBpZiAoICFy
YyAmJiBsaW1pdCA+PSBpb21tdV90b3AgKQorICAgIGlmICggZXhjbHVzaW9u
ICkKICAgICB7CiAgICAgICAgIGZvcl9lYWNoX2FtZF9pb21tdSggaW9tbXUg
KQogICAgICAgICB7Ci0gICAgICAgICAgICByYyA9IHJlc2VydmVfaW9tbXVf
ZXhjbHVzaW9uX3JhbmdlKGlvbW11LCBiYXNlLCBsaW1pdCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAv
KiBhbGwgKi8sIGl3LCBpcik7Ci0gICAgICAgICAgICBpZiAoIHJjICkKLSAg
ICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGludCByZXQgPSBy
ZXNlcnZlX2lvbW11X2V4Y2x1c2lvbl9yYW5nZShpb21tdSwgYmFzZSwgbGlt
aXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdHJ1ZSAvKiBhbGwgKi8pOworCisgICAgICAgICAgICBp
ZiAoIHJldCAmJiAhcmMgKQorICAgICAgICAgICAgICAgIHJjID0gcmV0Owog
ICAgICAgICB9CiAgICAgfQogCisgICAgaWYgKCAhZXhjbHVzaW9uIHx8IHJj
ICkKKyAgICB7CisgICAgICAgIHBhZGRyX3QgbGVuZ3RoID0gbGltaXQgKyBQ
QUdFX1NJWkUgLSBiYXNlOworICAgICAgICB1bnNpZ25lZCBpbnQgYmRmOwor
CisgICAgICAgIC8qIHJlc2VydmUgci93IHVuaXR5LW1hcHBlZCBwYWdlIGVu
dHJpZXMgZm9yIGRldmljZXMgKi8KKyAgICAgICAgZm9yICggYmRmID0gcmMg
PSAwOyAhcmMgJiYgYmRmIDwgaXZyc19iZGZfZW50cmllczsgYmRmKysgKQor
ICAgICAgICAgICAgcmMgPSByZXNlcnZlX3VuaXR5X21hcF9mb3JfZGV2aWNl
KHNlZywgYmRmLCBiYXNlLCBsZW5ndGgsIGl3LCBpcik7CisgICAgfQorCiAg
ICAgcmV0dXJuIHJjOwogfQogCi1zdGF0aWMgaW50IF9faW5pdCByZWdpc3Rl
cl9leGNsdXNpb25fcmFuZ2VfZm9yX2RldmljZSgKLSAgICB1MTYgYmRmLCB1
bnNpZ25lZCBsb25nIGJhc2UsIHVuc2lnbmVkIGxvbmcgbGltaXQsIHU4IGl3
LCB1OCBpcikKK3N0YXRpYyBpbnQgX19pbml0IHJlZ2lzdGVyX3JhbmdlX2Zv
cl9kZXZpY2UoCisgICAgdW5zaWduZWQgaW50IGJkZiwgcGFkZHJfdCBiYXNl
LCBwYWRkcl90IGxpbWl0LAorICAgIGJvb2wgaXcsIGJvb2wgaXIsIGJvb2wg
ZXhjbHVzaW9uKQogewogICAgIGludCBzZWcgPSAwOyAvKiBYWFggKi8KICAg
ICBzdHJ1Y3QgaXZyc19tYXBwaW5ncyAqaXZyc19tYXBwaW5ncyA9IGdldF9p
dnJzX21hcHBpbmdzKHNlZyk7Ci0gICAgdW5zaWduZWQgbG9uZyByYW5nZV90
b3AsIGlvbW11X3RvcCwgbGVuZ3RoOwogICAgIHN0cnVjdCBhbWRfaW9tbXUg
KmlvbW11OwogICAgIHUxNiByZXE7CiAgICAgaW50IHJjID0gMDsKQEAgLTI0
OCwyNyArMjQ1LDE5IEBAIHN0YXRpYyBpbnQgX19pbml0IHJlZ2lzdGVyX2V4
Y2x1c2lvbl9yYW4KICAgICByZXEgPSBpdnJzX21hcHBpbmdzW2JkZl0uZHRl
X3JlcXVlc3Rvcl9pZDsKIAogICAgIC8qIG5vdGU6ICdsaW1pdCcgcGFyYW1l
dGVyIGlzIGFzc3VtZWQgdG8gYmUgcGFnZS1hbGlnbmVkICovCi0gICAgcmFu
Z2VfdG9wID0gbGltaXQgKyBQQUdFX1NJWkU7Ci0gICAgaW9tbXVfdG9wID0g
bWF4X3BhZ2UgKiBQQUdFX1NJWkU7Ci0gICAgaWYgKCBiYXNlIDwgaW9tbXVf
dG9wICkKLSAgICB7Ci0gICAgICAgIGlmICggcmFuZ2VfdG9wID4gaW9tbXVf
dG9wICkKLSAgICAgICAgICAgIHJhbmdlX3RvcCA9IGlvbW11X3RvcDsKLSAg
ICAgICAgbGVuZ3RoID0gcmFuZ2VfdG9wIC0gYmFzZTsKKyAgICBpZiAoIGV4
Y2x1c2lvbiApCisgICAgICAgIHJjID0gcmVzZXJ2ZV9pb21tdV9leGNsdXNp
b25fcmFuZ2UoaW9tbXUsIGJhc2UsIGxpbWl0LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlIC8qIGFsbCAqLyk7
CisgICAgaWYgKCAhZXhjbHVzaW9uIHx8IHJjICkKKyAgICB7CisgICAgICAg
IHBhZGRyX3QgbGVuZ3RoID0gbGltaXQgKyBQQUdFX1NJWkUgLSBiYXNlOwor
CiAgICAgICAgIC8qIHJlc2VydmUgdW5pdHktbWFwcGVkIHBhZ2UgZW50cmll
cyBmb3IgZGV2aWNlICovCi0gICAgICAgIC8qIG5vdGU6IHRoZXNlIGVudHJp
ZXMgYXJlIHBhcnQgb2YgdGhlIGV4Y2x1c2lvbiByYW5nZSAqLwogICAgICAg
ICByYyA9IHJlc2VydmVfdW5pdHlfbWFwX2Zvcl9kZXZpY2Uoc2VnLCBiZGYs
IGJhc2UsIGxlbmd0aCwgaXcsIGlyKSA/OgogICAgICAgICAgICAgIHJlc2Vy
dmVfdW5pdHlfbWFwX2Zvcl9kZXZpY2Uoc2VnLCByZXEsIGJhc2UsIGxlbmd0
aCwgaXcsIGlyKTsKLQotICAgICAgICAvKiBwdXNoICdiYXNlJyBqdXN0IG91
dHNpZGUgb2YgdmlydHVhbCBhZGRyZXNzIHNwYWNlICovCi0gICAgICAgIGJh
c2UgPSBpb21tdV90b3A7CiAgICAgfQotCi0gICAgLyogcmVnaXN0ZXIgSU9N
TVUgZXhjbHVzaW9uIHJhbmdlIHNldHRpbmdzIGZvciBkZXZpY2UgKi8KLSAg
ICBpZiAoICFyYyAmJiBsaW1pdCA+PSBpb21tdV90b3AgICkKKyAgICBlbHNl
CiAgICAgewotICAgICAgICByYyA9IHJlc2VydmVfaW9tbXVfZXhjbHVzaW9u
X3JhbmdlKGlvbW11LCBiYXNlLCBsaW1pdCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSAvKiBhbGwgKi8sIGl3
LCBpcik7CiAgICAgICAgIGl2cnNfbWFwcGluZ3NbYmRmXS5kdGVfYWxsb3df
ZXhjbHVzaW9uID0gdHJ1ZTsKICAgICAgICAgaXZyc19tYXBwaW5nc1tyZXFd
LmR0ZV9hbGxvd19leGNsdXNpb24gPSB0cnVlOwogICAgIH0KQEAgLTI3Niw1
MyArMjY1LDQyIEBAIHN0YXRpYyBpbnQgX19pbml0IHJlZ2lzdGVyX2V4Y2x1
c2lvbl9yYW4KICAgICByZXR1cm4gcmM7CiB9CiAKLXN0YXRpYyBpbnQgX19p
bml0IHJlZ2lzdGVyX2V4Y2x1c2lvbl9yYW5nZV9mb3JfaW9tbXVfZGV2aWNl
cygKLSAgICBzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwKLSAgICB1bnNpZ25l
ZCBsb25nIGJhc2UsIHVuc2lnbmVkIGxvbmcgbGltaXQsIHU4IGl3LCB1OCBp
cikKK3N0YXRpYyBpbnQgX19pbml0IHJlZ2lzdGVyX3JhbmdlX2Zvcl9pb21t
dV9kZXZpY2VzKAorICAgIHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LCBwYWRk
cl90IGJhc2UsIHBhZGRyX3QgbGltaXQsCisgICAgYm9vbCBpdywgYm9vbCBp
ciwgYm9vbCBleGNsdXNpb24pCiB7Ci0gICAgdW5zaWduZWQgbG9uZyByYW5n
ZV90b3AsIGlvbW11X3RvcCwgbGVuZ3RoOworICAgIC8qIG5vdGU6ICdsaW1p
dCcgcGFyYW1ldGVyIGlzIGFzc3VtZWQgdG8gYmUgcGFnZS1hbGlnbmVkICov
CisgICAgcGFkZHJfdCBsZW5ndGggPSBsaW1pdCArIFBBR0VfU0laRSAtIGJh
c2U7CiAgICAgdW5zaWduZWQgaW50IGJkZjsKICAgICB1MTYgcmVxOwotICAg
IGludCByYyA9IDA7CisgICAgaW50IHJjOwogCi0gICAgLyogaXMgcGFydCBv
ZiBleGNsdXNpb24gcmFuZ2UgaW5zaWRlIG9mIElPTU1VIHZpcnR1YWwgYWRk
cmVzcyBzcGFjZT8gKi8KLSAgICAvKiBub3RlOiAnbGltaXQnIHBhcmFtZXRl
ciBpcyBhc3N1bWVkIHRvIGJlIHBhZ2UtYWxpZ25lZCAqLwotICAgIHJhbmdl
X3RvcCA9IGxpbWl0ICsgUEFHRV9TSVpFOwotICAgIGlvbW11X3RvcCA9IG1h
eF9wYWdlICogUEFHRV9TSVpFOwotICAgIGlmICggYmFzZSA8IGlvbW11X3Rv
cCApCi0gICAgewotICAgICAgICBpZiAoIHJhbmdlX3RvcCA+IGlvbW11X3Rv
cCApCi0gICAgICAgICAgICByYW5nZV90b3AgPSBpb21tdV90b3A7Ci0gICAg
ICAgIGxlbmd0aCA9IHJhbmdlX3RvcCAtIGJhc2U7Ci0gICAgICAgIC8qIHJl
c2VydmUgci93IHVuaXR5LW1hcHBlZCBwYWdlIGVudHJpZXMgZm9yIGRldmlj
ZXMgKi8KLSAgICAgICAgLyogbm90ZTogdGhlc2UgZW50cmllcyBhcmUgcGFy
dCBvZiB0aGUgZXhjbHVzaW9uIHJhbmdlICovCi0gICAgICAgIGZvciAoIGJk
ZiA9IDA7ICFyYyAmJiBiZGYgPCBpdnJzX2JkZl9lbnRyaWVzOyBiZGYrKyAp
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICggaW9tbXUgPT0gZmluZF9p
b21tdV9mb3JfZGV2aWNlKGlvbW11LT5zZWcsIGJkZikgKQotICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgIHJlcSA9IGdldF9pdnJzX21hcHBpbmdz
KGlvbW11LT5zZWcpW2JkZl0uZHRlX3JlcXVlc3Rvcl9pZDsKLSAgICAgICAg
ICAgICAgICByYyA9IHJlc2VydmVfdW5pdHlfbWFwX2Zvcl9kZXZpY2UoaW9t
bXUtPnNlZywgYmRmLCBiYXNlLCBsZW5ndGgsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl3LCBpcikgPzoK
LSAgICAgICAgICAgICAgICAgICAgIHJlc2VydmVfdW5pdHlfbWFwX2Zvcl9k
ZXZpY2UoaW9tbXUtPnNlZywgcmVxLCBiYXNlLCBsZW5ndGgsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl3
LCBpcik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLQotICAgICAgICAv
KiBwdXNoICdiYXNlJyBqdXN0IG91dHNpZGUgb2YgdmlydHVhbCBhZGRyZXNz
IHNwYWNlICovCi0gICAgICAgIGJhc2UgPSBpb21tdV90b3A7CisgICAgaWYg
KCBleGNsdXNpb24gKQorICAgIHsKKyAgICAgICAgcmMgPSByZXNlcnZlX2lv
bW11X2V4Y2x1c2lvbl9yYW5nZShpb21tdSwgYmFzZSwgbGltaXQsIHRydWUg
LyogYWxsICovKTsKKyAgICAgICAgaWYgKCAhcmMgKQorICAgICAgICAgICAg
cmV0dXJuIDA7CiAgICAgfQogCi0gICAgLyogcmVnaXN0ZXIgSU9NTVUgZXhj
bHVzaW9uIHJhbmdlIHNldHRpbmdzICovCi0gICAgaWYgKCAhcmMgJiYgbGlt
aXQgPj0gaW9tbXVfdG9wICkKLSAgICAgICAgcmMgPSByZXNlcnZlX2lvbW11
X2V4Y2x1c2lvbl9yYW5nZShpb21tdSwgYmFzZSwgbGltaXQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAvKiBh
bGwgKi8sIGl3LCBpcik7CisgICAgLyogcmVzZXJ2ZSB1bml0eS1tYXBwZWQg
cGFnZSBlbnRyaWVzIGZvciBkZXZpY2VzICovCisgICAgZm9yICggYmRmID0g
cmMgPSAwOyAhcmMgJiYgYmRmIDwgaXZyc19iZGZfZW50cmllczsgYmRmKysg
KQorICAgIHsKKyAgICAgICAgaWYgKCBpb21tdSAhPSBmaW5kX2lvbW11X2Zv
cl9kZXZpY2UoaW9tbXUtPnNlZywgYmRmKSApCisgICAgICAgICAgICBjb250
aW51ZTsKKworICAgICAgICByZXEgPSBnZXRfaXZyc19tYXBwaW5ncyhpb21t
dS0+c2VnKVtiZGZdLmR0ZV9yZXF1ZXN0b3JfaWQ7CisgICAgICAgIHJjID0g
cmVzZXJ2ZV91bml0eV9tYXBfZm9yX2RldmljZShpb21tdS0+c2VnLCBiZGYs
IGJhc2UsIGxlbmd0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGl3LCBpcikgPzoKKyAgICAgICAgICAgICByZXNlcnZl
X3VuaXR5X21hcF9mb3JfZGV2aWNlKGlvbW11LT5zZWcsIHJlcSwgYmFzZSwg
bGVuZ3RoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaXcsIGlyKTsKKyAgICB9CiAKICAgICByZXR1cm4gcmM7CiB9CiAK
IHN0YXRpYyBpbnQgX19pbml0IHBhcnNlX2l2bWRfZGV2aWNlX3NlbGVjdCgK
ICAgICBjb25zdCBzdHJ1Y3QgYWNwaV9pdnJzX21lbW9yeSAqaXZtZF9ibG9j
aywKLSAgICB1bnNpZ25lZCBsb25nIGJhc2UsIHVuc2lnbmVkIGxvbmcgbGlt
aXQsIHU4IGl3LCB1OCBpcikKKyAgICBwYWRkcl90IGJhc2UsIHBhZGRyX3Qg
bGltaXQsIGJvb2wgaXcsIGJvb2wgaXIsIGJvb2wgZXhjbHVzaW9uKQogewog
ICAgIHUxNiBiZGY7CiAKQEAgLTMzMywxMiArMzExLDEyIEBAIHN0YXRpYyBp
bnQgX19pbml0IHBhcnNlX2l2bWRfZGV2aWNlX3NlbGUKICAgICAgICAgcmV0
dXJuIC1FTk9ERVY7CiAgICAgfQogCi0gICAgcmV0dXJuIHJlZ2lzdGVyX2V4
Y2x1c2lvbl9yYW5nZV9mb3JfZGV2aWNlKGJkZiwgYmFzZSwgbGltaXQsIGl3
LCBpcik7CisgICAgcmV0dXJuIHJlZ2lzdGVyX3JhbmdlX2Zvcl9kZXZpY2Uo
YmRmLCBiYXNlLCBsaW1pdCwgaXcsIGlyLCBleGNsdXNpb24pOwogfQogCiBz
dGF0aWMgaW50IF9faW5pdCBwYXJzZV9pdm1kX2RldmljZV9yYW5nZSgKICAg
ICBjb25zdCBzdHJ1Y3QgYWNwaV9pdnJzX21lbW9yeSAqaXZtZF9ibG9jaywK
LSAgICB1bnNpZ25lZCBsb25nIGJhc2UsIHVuc2lnbmVkIGxvbmcgbGltaXQs
IHU4IGl3LCB1OCBpcikKKyAgICBwYWRkcl90IGJhc2UsIHBhZGRyX3QgbGlt
aXQsIGJvb2wgaXcsIGJvb2wgaXIsIGJvb2wgZXhjbHVzaW9uKQogewogICAg
IHVuc2lnbmVkIGludCBmaXJzdF9iZGYsIGxhc3RfYmRmLCBiZGY7CiAgICAg
aW50IGVycm9yOwpAQCAtMzYwLDE1ICszMzgsMTUgQEAgc3RhdGljIGludCBf
X2luaXQgcGFyc2VfaXZtZF9kZXZpY2VfcmFuZwogICAgIH0KIAogICAgIGZv
ciAoIGJkZiA9IGZpcnN0X2JkZiwgZXJyb3IgPSAwOyAoYmRmIDw9IGxhc3Rf
YmRmKSAmJiAhZXJyb3I7IGJkZisrICkKLSAgICAgICAgZXJyb3IgPSByZWdp
c3Rlcl9leGNsdXNpb25fcmFuZ2VfZm9yX2RldmljZSgKLSAgICAgICAgICAg
IGJkZiwgYmFzZSwgbGltaXQsIGl3LCBpcik7CisgICAgICAgIGVycm9yID0g
cmVnaXN0ZXJfcmFuZ2VfZm9yX2RldmljZSgKKyAgICAgICAgICAgIGJkZiwg
YmFzZSwgbGltaXQsIGl3LCBpciwgZXhjbHVzaW9uKTsKIAogICAgIHJldHVy
biBlcnJvcjsKIH0KIAogc3RhdGljIGludCBfX2luaXQgcGFyc2VfaXZtZF9k
ZXZpY2VfaW9tbXUoCiAgICAgY29uc3Qgc3RydWN0IGFjcGlfaXZyc19tZW1v
cnkgKml2bWRfYmxvY2ssCi0gICAgdW5zaWduZWQgbG9uZyBiYXNlLCB1bnNp
Z25lZCBsb25nIGxpbWl0LCB1OCBpdywgdTggaXIpCisgICAgcGFkZHJfdCBi
YXNlLCBwYWRkcl90IGxpbWl0LCBib29sIGl3LCBib29sIGlyLCBib29sIGV4
Y2x1c2lvbikKIHsKICAgICBpbnQgc2VnID0gMDsgLyogWFhYICovCiAgICAg
c3RydWN0IGFtZF9pb21tdSAqaW9tbXU7CkBAIC0zODMsMTQgKzM2MSwxNCBA
QCBzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9pdm1kX2RldmljZV9pb21tCiAg
ICAgICAgIHJldHVybiAtRU5PREVWOwogICAgIH0KIAotICAgIHJldHVybiBy
ZWdpc3Rlcl9leGNsdXNpb25fcmFuZ2VfZm9yX2lvbW11X2RldmljZXMoCi0g
ICAgICAgIGlvbW11LCBiYXNlLCBsaW1pdCwgaXcsIGlyKTsKKyAgICByZXR1
cm4gcmVnaXN0ZXJfcmFuZ2VfZm9yX2lvbW11X2RldmljZXMoCisgICAgICAg
IGlvbW11LCBiYXNlLCBsaW1pdCwgaXcsIGlyLCBleGNsdXNpb24pOwogfQog
CiBzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9pdm1kX2Jsb2NrKGNvbnN0IHN0
cnVjdCBhY3BpX2l2cnNfbWVtb3J5ICppdm1kX2Jsb2NrKQogewogICAgIHVu
c2lnbmVkIGxvbmcgc3RhcnRfYWRkciwgbWVtX2xlbmd0aCwgYmFzZSwgbGlt
aXQ7Ci0gICAgdTggaXcsIGlyOworICAgIGJvb2wgaXcgPSB0cnVlLCBpciA9
IHRydWUsIGV4Y2x1c2lvbiA9IGZhbHNlOwogCiAgICAgaWYgKCBpdm1kX2Js
b2NrLT5oZWFkZXIubGVuZ3RoIDwgc2l6ZW9mKCppdm1kX2Jsb2NrKSApCiAg
ICAgewpAQCAtNDA3LDEzICszODUsMTEgQEAgc3RhdGljIGludCBfX2luaXQg
cGFyc2VfaXZtZF9ibG9jayhjb25zdAogICAgICAgICAgICAgICAgICAgICBp
dm1kX2Jsb2NrLT5oZWFkZXIudHlwZSwgc3RhcnRfYWRkciwgbWVtX2xlbmd0
aCk7CiAKICAgICBpZiAoIGl2bWRfYmxvY2stPmhlYWRlci5mbGFncyAmIEFD
UElfSVZNRF9FWENMVVNJT05fUkFOR0UgKQotICAgICAgICBpdyA9IGlyID0g
SU9NTVVfQ09OVFJPTF9FTkFCTEVEOworICAgICAgICBleGNsdXNpb24gPSB0
cnVlOwogICAgIGVsc2UgaWYgKCBpdm1kX2Jsb2NrLT5oZWFkZXIuZmxhZ3Mg
JiBBQ1BJX0lWTURfVU5JVFkgKQogICAgIHsKLSAgICAgICAgaXcgPSBpdm1k
X2Jsb2NrLT5oZWFkZXIuZmxhZ3MgJiBBQ1BJX0lWTURfUkVBRCA/Ci0gICAg
ICAgICAgICBJT01NVV9DT05UUk9MX0VOQUJMRUQgOiBJT01NVV9DT05UUk9M
X0RJU0FCTEVEOwotICAgICAgICBpciA9IGl2bWRfYmxvY2stPmhlYWRlci5m
bGFncyAmIEFDUElfSVZNRF9XUklURSA/Ci0gICAgICAgICAgICBJT01NVV9D
T05UUk9MX0VOQUJMRUQgOiBJT01NVV9DT05UUk9MX0RJU0FCTEVEOworICAg
ICAgICBpdyA9IGl2bWRfYmxvY2stPmhlYWRlci5mbGFncyAmIEFDUElfSVZN
RF9SRUFEOworICAgICAgICBpciA9IGl2bWRfYmxvY2stPmhlYWRlci5mbGFn
cyAmIEFDUElfSVZNRF9XUklURTsKICAgICB9CiAgICAgZWxzZQogICAgIHsK
QEAgLTQyNCwyMCArNDAwLDIwIEBAIHN0YXRpYyBpbnQgX19pbml0IHBhcnNl
X2l2bWRfYmxvY2soY29uc3QKICAgICBzd2l0Y2goIGl2bWRfYmxvY2stPmhl
YWRlci50eXBlICkKICAgICB7CiAgICAgY2FzZSBBQ1BJX0lWUlNfVFlQRV9N
RU1PUllfQUxMOgotICAgICAgICByZXR1cm4gcmVnaXN0ZXJfZXhjbHVzaW9u
X3JhbmdlX2Zvcl9hbGxfZGV2aWNlcygKLSAgICAgICAgICAgIGJhc2UsIGxp
bWl0LCBpdywgaXIpOworICAgICAgICByZXR1cm4gcmVnaXN0ZXJfcmFuZ2Vf
Zm9yX2FsbF9kZXZpY2VzKAorICAgICAgICAgICAgYmFzZSwgbGltaXQsIGl3
LCBpciwgZXhjbHVzaW9uKTsKIAogICAgIGNhc2UgQUNQSV9JVlJTX1RZUEVf
TUVNT1JZX09ORToKLSAgICAgICAgcmV0dXJuIHBhcnNlX2l2bWRfZGV2aWNl
X3NlbGVjdChpdm1kX2Jsb2NrLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJhc2UsIGxpbWl0LCBpdywgaXIpOworICAgICAg
ICByZXR1cm4gcGFyc2VfaXZtZF9kZXZpY2Vfc2VsZWN0KGl2bWRfYmxvY2ss
IGJhc2UsIGxpbWl0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGl3LCBpciwgZXhjbHVzaW9uKTsKIAogICAgIGNhc2UgQUNQ
SV9JVlJTX1RZUEVfTUVNT1JZX1JBTkdFOgotICAgICAgICByZXR1cm4gcGFy
c2VfaXZtZF9kZXZpY2VfcmFuZ2UoaXZtZF9ibG9jaywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhc2UsIGxpbWl0LCBpdywg
aXIpOworICAgICAgICByZXR1cm4gcGFyc2VfaXZtZF9kZXZpY2VfcmFuZ2Uo
aXZtZF9ibG9jaywgYmFzZSwgbGltaXQsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpdywgaXIsIGV4Y2x1c2lvbik7CiAKICAg
ICBjYXNlIEFDUElfSVZSU19UWVBFX01FTU9SWV9JT01NVToKLSAgICAgICAg
cmV0dXJuIHBhcnNlX2l2bWRfZGV2aWNlX2lvbW11KGl2bWRfYmxvY2ssCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlLCBs
aW1pdCwgaXcsIGlyKTsKKyAgICAgICAgcmV0dXJuIHBhcnNlX2l2bWRfZGV2
aWNlX2lvbW11KGl2bWRfYmxvY2ssIGJhc2UsIGxpbWl0LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXcsIGlyLCBleGNsdXNp
b24pOwogCiAgICAgZGVmYXVsdDoKICAgICAgICAgQU1EX0lPTU1VX0RFQlVH
KCJJVk1EIEVycm9yOiBJbnZhbGlkIEJsb2NrIFR5cGUhXG4iKTsKLS0tIGEv
eGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL3BjaV9hbWRfaW9tbXUuYwor
KysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvcGNpX2FtZF9pb21t
dS5jCkBAIC0yNDYsNiArMjQ2LDggQEAgaW50IGFtZF9pb21tdV9hbGxvY19y
b290KHN0cnVjdCBkb21haW4gKgogICAgIHJldHVybiAwOwogfQogCitpbnQg
X19yZWFkX21vc3RseSBhbWRfaW9tbXVfbWluX3BhZ2luZ19tb2RlID0gMTsK
Kwogc3RhdGljIGludCBhbWRfaW9tbXVfZG9tYWluX2luaXQoc3RydWN0IGRv
bWFpbiAqZCkKIHsKICAgICBzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRv
bV9pb21tdShkKTsKQEAgLTI1NywxMSArMjU5LDEzIEBAIHN0YXRpYyBpbnQg
YW1kX2lvbW11X2RvbWFpbl9pbml0KHN0cnVjdAogICAgICAqIC0gSFZNIGNv
dWxkIGluIHByaW5jaXBsZSB1c2UgMyBvciA0IGRlcGVuZGluZyBvbiBob3cg
bXVjaCBndWVzdAogICAgICAqICAgcGh5c2ljYWwgYWRkcmVzcyBzcGFjZSB3
ZSBnaXZlIGl0LCBidXQgdGhpcyBpc24ndCBrbm93biB5ZXQgc28gdXNlIDQK
ICAgICAgKiAgIHVuaWxhdGVyYWxseS4KKyAgICAgKiAtIFVuaXR5IG1hcHMg
bWF5IHJlcXVpcmUgYW4gZXZlbiBoaWdoZXIgbnVtYmVyLgogICAgICAqLwot
ICAgIGhkLT5hcmNoLmFtZC5wYWdpbmdfbW9kZSA9IGFtZF9pb21tdV9nZXRf
cGFnaW5nX21vZGUoCi0gICAgICAgIGlzX2h2bV9kb21haW4oZCkKLSAgICAg
ICAgPyAxdWwgPDwgKERFRkFVTFRfRE9NQUlOX0FERFJFU1NfV0lEVEggLSBQ
QUdFX1NISUZUKQotICAgICAgICA6IGdldF91cHBlcl9tZm5fYm91bmQoKSAr
IDEpOworICAgIGhkLT5hcmNoLmFtZC5wYWdpbmdfbW9kZSA9IG1heChhbWRf
aW9tbXVfZ2V0X3BhZ2luZ19tb2RlKAorICAgICAgICAgICAgaXNfaHZtX2Rv
bWFpbihkKQorICAgICAgICAgICAgPyAxdWwgPDwgKERFRkFVTFRfRE9NQUlO
X0FERFJFU1NfV0lEVEggLSBQQUdFX1NISUZUKQorICAgICAgICAgICAgOiBn
ZXRfdXBwZXJfbWZuX2JvdW5kKCkgKyAxKSwKKyAgICAgICAgYW1kX2lvbW11
X21pbl9wYWdpbmdfbW9kZSk7CiAKICAgICByZXR1cm4gMDsKIH0K

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-7.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-7.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvcDJtOiBpbnRyb2R1Y2UgcDJtX2lzX3NwZWNpYWwoKQoKU2VlaW5n
IHRoZSBzaW1pbGFyaXR5IG9mIGdyYW50LCBmb3JlaWduLCBhbmQgKHN1YnNl
cXVlbnRseSkgZGlyZWN0LU1NSU8KaGFuZGxpbmcsIGludHJvZHVjZSBhIG5l
dyBQMk0gdHlwZSBncm91cCBuYW1lZCAic3BlY2lhbCIgKGFzIGluICJuZWVk
aW5nCnNwZWNpYWwgYWNjZXNzb3JzIHRvIGNyZWF0ZS9kZXN0cm95IikuCgpB
bHNvIHVzZSAtRVBFUk0gaW5zdGVhZCBvZiBvdGhlciBlcnJvciBjb2RlcyBv
biB0aGUgdHdvIGRvbWFpbl9jcmFzaCgpCnBhdGhzIHRvdWNoZWQuCgpUaGlz
IGlzIHBhcnQgb2YgWFNBLTM3OC4KClNpZ25lZC1vZmYtYnk6IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFBhdWwgRHVy
cmFudCA8cGF1bEB4ZW4ub3JnPgotLS0Kdjg6IE5ldywgc3BsaXQgZnJvbSBz
dWJzZXF1ZW50IHBhdGNoLgoKLS0tIGEveGVuL2FyY2gveDg2L21tL3AybS5j
CisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYwpAQCAtODE3LDcgKzgxNyw3
IEBAIHAybV9yZW1vdmVfcGFnZShzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLAog
ICAgICAgICBmb3IgKCBpID0gMDsgaSA8ICgxVUwgPDwgcGFnZV9vcmRlcik7
IGkrKyApCiAgICAgICAgIHsKICAgICAgICAgICAgIHAybS0+Z2V0X2VudHJ5
KHAybSwgZ2ZuX2FkZChnZm4sIGkpLCAmdCwgJmEsIDAsIE5VTEwsIE5VTEwp
OwotICAgICAgICAgICAgaWYgKCAhcDJtX2lzX2dyYW50KHQpICYmICFwMm1f
aXNfc2hhcmVkKHQpICYmICFwMm1faXNfZm9yZWlnbih0KSApCisgICAgICAg
ICAgICBpZiAoICFwMm1faXNfc3BlY2lhbCh0KSAmJiAhcDJtX2lzX3NoYXJl
ZCh0KSApCiAgICAgICAgICAgICAgICAgc2V0X2dwZm5fZnJvbV9tZm4obWZu
X3gobWZuKSArIGksIElOVkFMSURfTTJQX0VOVFJZKTsKICAgICAgICAgfQog
ICAgIH0KQEAgLTk1NCwxMyArOTU0LDEzIEBAIGd1ZXN0X3BoeXNtYXBfYWRk
X2VudHJ5KHN0cnVjdCBkb21haW4gKmQKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAmb3QsICZhLCAwLCBOVUxMLCBOVUxMKTsKICAgICAg
ICAgICAgIEFTU0VSVCghcDJtX2lzX3NoYXJlZChvdCkpOwogICAgICAgICB9
Ci0gICAgICAgIGlmICggcDJtX2lzX2dyYW50KG90KSB8fCBwMm1faXNfZm9y
ZWlnbihvdCkgKQorICAgICAgICBpZiAoIHAybV9pc19zcGVjaWFsKG90KSAp
CiAgICAgICAgIHsKLSAgICAgICAgICAgIC8qIFJlYWxseSBzaG91bGRuJ3Qg
YmUgdW5tYXBwaW5nIGdyYW50L2ZvcmVpZ24gbWFwcyB0aGlzIHdheSAqLwor
ICAgICAgICAgICAgLyogRG9uJ3QgcGVybWl0IHVubWFwcGluZyBncmFudC9m
b3JlaWduIHRoaXMgd2F5LiAqLwogICAgICAgICAgICAgZG9tYWluX2NyYXNo
KGQpOwogICAgICAgICAgICAgcDJtX3VubG9jayhwMm0pOwogICAgICAgICAg
ICAgCi0gICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKKyAgICAgICAgICAg
IHJldHVybiAtRVBFUk07CiAgICAgICAgIH0KICAgICAgICAgZWxzZSBpZiAo
IHAybV9pc19yYW0ob3QpICYmICFwMm1faXNfcGFnZWQob3QpICkKICAgICAg
ICAgewpAQCAtMTA1Myw4ICsxMDUzLDcgQEAgaW50IHAybV9jaGFuZ2VfdHlw
ZV9vbmUoc3RydWN0IGRvbWFpbiAqZAogICAgIHN0cnVjdCBwMm1fZG9tYWlu
ICpwMm0gPSBwMm1fZ2V0X2hvc3RwMm0oZCk7CiAgICAgaW50IHJjOwogCi0g
ICAgQlVHX09OKHAybV9pc19ncmFudChvdCkgfHwgcDJtX2lzX2dyYW50KG50
KSk7Ci0gICAgQlVHX09OKHAybV9pc19mb3JlaWduKG90KSB8fCBwMm1faXNf
Zm9yZWlnbihudCkpOworICAgIEJVR19PTihwMm1faXNfc3BlY2lhbChvdCkg
fHwgcDJtX2lzX3NwZWNpYWwobnQpKTsKIAogICAgIGdmbl9sb2NrKHAybSwg
Z2ZuLCAwKTsKIApAQCAtMTMwMCwxMSArMTI5OSwxMSBAQCBzdGF0aWMgaW50
IHNldF90eXBlZF9wMm1fZW50cnkoc3RydWN0IGRvCiAgICAgICAgIGdmbl91
bmxvY2socDJtLCBnZm4sIG9yZGVyKTsKICAgICAgICAgcmV0dXJuIGN1cl9v
cmRlciArIDE7CiAgICAgfQotICAgIGlmICggcDJtX2lzX2dyYW50KG90KSB8
fCBwMm1faXNfZm9yZWlnbihvdCkgKQorICAgIGlmICggcDJtX2lzX3NwZWNp
YWwob3QpICkKICAgICB7CiAgICAgICAgIGdmbl91bmxvY2socDJtLCBnZm4s
IG9yZGVyKTsKICAgICAgICAgZG9tYWluX2NyYXNoKGQpOwotICAgICAgICBy
ZXR1cm4gLUVOT0VOVDsKKyAgICAgICAgcmV0dXJuIC1FUEVSTTsKICAgICB9
CiAgICAgZWxzZSBpZiAoIHAybV9pc19yYW0ob3QpICkKICAgICB7Ci0tLSBh
L3hlbi9pbmNsdWRlL2FzbS14ODYvcDJtLmgKKysrIGIveGVuL2luY2x1ZGUv
YXNtLXg4Ni9wMm0uaApAQCAtMTU0LDYgKzE1NCwxMCBAQCB0eXBlZGVmIHVu
c2lnbmVkIGludCBwMm1fcXVlcnlfdDsKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8IHAybV90b19tYXNrKHAybV9yYW1fbG9nZGlydHkpICkKICNk
ZWZpbmUgUDJNX1NIQVJFRF9UWVBFUyAgIChwMm1fdG9fbWFzayhwMm1fcmFt
X3NoYXJlZCkpCiAKKy8qIFR5cGVzIGVzdGFibGlzaGVkL2NsZWFuZWQgdXAg
dmlhIHNwZWNpYWwgYWNjZXNzb3JzLiAqLworI2RlZmluZSBQMk1fU1BFQ0lB
TF9UWVBFUyAoUDJNX0dSQU5UX1RZUEVTIHwgXAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcDJtX3RvX21hc2socDJtX21hcF9mb3JlaWduKSkKKwog
LyogVmFsaWQgdHlwZXMgbm90IG5lY2Vzc2FyaWx5IGFzc29jaWF0ZWQgd2l0
aCBhICh2YWxpZCkgTUZOLiAqLwogI2RlZmluZSBQMk1fSU5WQUxJRF9NRk5f
VFlQRVMgKFAyTV9QT0RfVFlQRVMgICAgICAgICAgICAgICAgICBcCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBwMm1fdG9fbWFzayhwMm1f
bW1pb19kaXJlY3QpIFwKQEAgLTE4Miw2ICsxODYsNyBAQCB0eXBlZGVmIHVu
c2lnbmVkIGludCBwMm1fcXVlcnlfdDsKICNkZWZpbmUgcDJtX2lzX3BhZ2Vk
KF90KSAgICAocDJtX3RvX21hc2soX3QpICYgUDJNX1BBR0VEX1RZUEVTKQog
I2RlZmluZSBwMm1faXNfc2hhcmFibGUoX3QpIChwMm1fdG9fbWFzayhfdCkg
JiBQMk1fU0hBUkFCTEVfVFlQRVMpCiAjZGVmaW5lIHAybV9pc19zaGFyZWQo
X3QpICAgKHAybV90b19tYXNrKF90KSAmIFAyTV9TSEFSRURfVFlQRVMpCisj
ZGVmaW5lIHAybV9pc19zcGVjaWFsKF90KSAgKHAybV90b19tYXNrKF90KSAm
IFAyTV9TUEVDSUFMX1RZUEVTKQogI2RlZmluZSBwMm1faXNfYnJva2VuKF90
KSAgIChwMm1fdG9fbWFzayhfdCkgJiBQMk1fQlJPS0VOX1RZUEVTKQogI2Rl
ZmluZSBwMm1faXNfZm9yZWlnbihfdCkgIChwMm1fdG9fbWFzayhfdCkgJiBw
Mm1fdG9fbWFzayhwMm1fbWFwX2ZvcmVpZ24pKQogCg==

--=separator
Content-Type: application/octet-stream; name="xsa378/xsa378-8.patch"
Content-Disposition: attachment; filename="xsa378/xsa378-8.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvcDJtOiBndWFyZCAoaW4gcGFydGljdWxhcikgaWRlbnRpdHkgbWFw
cGluZyBlbnRyaWVzCgpTdWNoIGVudHJpZXMsIGNyZWF0ZWQgYnkgc2V0X2lk
ZW50aXR5X3AybV9lbnRyeSgpLCBzaG91bGQgb25seSBiZQpkZXN0cm95ZWQg
YnkgY2xlYXJfaWRlbnRpdHlfcDJtX2VudHJ5KCkuIEhvd2V2ZXIsIHNpbWls
YXJseSwgZW50cmllcwpjcmVhdGVkIGJ5IHNldF9tbWlvX3AybV9lbnRyeSgp
IHNob3VsZCBvbmx5IGJlIHRvcm4gZG93biBieQpjbGVhcl9tbWlvX3AybV9l
bnRyeSgpLCBzbyB0aGUgbG9naWMgZ2V0cyBiYXNlZCB1cG9uIHAybV9tbWlv
X2RpcmVjdCBhcwp0aGUgZW50cnkgdHlwZSAoc2VwYXJhdGlvbiBiZXR3ZWVu
ICJvcmRpbmFyeSIgYW5kIDE6MSBtYXBwaW5ncyB3b3VsZApyZXF1aXJlIGEg
ZnVydGhlciBpbmRpY2F0b3IgdG8gdGVsbCBhcGFydCB0aGUgdHdvKS4KCkFz
IHRvIHRoZSBndWVzdF9yZW1vdmVfcGFnZSgpIGNoYW5nZSwgY29tbWl0IDQ4
ZGZiMjk3YTIwYSAoIng4Ni9QVkg6CmFsbG93IGd1ZXN0X3JlbW92ZV9wYWdl
IHRvIHJlbW92ZSBwMm1fbW1pb19kaXJlY3QgcGFnZXMiKSwgd2hpY2gKaW50
cm9kdWNlZCB0aGUgY2FsbCB0byBjbGVhcl9tbWlvX3AybV9lbnRyeSgpLCBj
bGFpbWVkIHRoaXMgd2FzIGRvbmUgZm9yCmh3ZG9tIG9ubHkgd2l0aG91dCB0
aGlzIGFjdHVhbGx5IGhhdmluZyBiZWVuIHRoZSBjYXNlLiBIb3dldmVyLCB0
aGlzCmNvZGUgc2hvdWxkbid0IGJlIHRoZXJlIGluIHRoZSBmaXJzdCBwbGFj
ZSwgYXMgTU1JTyBlbnRyaWVzIHNob3VsZG4ndCBiZQpkcm9wcGVkIHRoaXMg
d2F5LiBBdm9pZCB0cmlnZ2VyaW5nIHRoZSB3YXJuaW5nIGFnYWluIHRoYXQg
NDhkZmIyOTdhMjBhCnNpbGVuY2VkIGJ5IGFuIGFkanVzdG1lbnQgdG8geGVu
bWVtX2FkZF90b19waHlzbWFwX29uZSgpIGluc3RlYWQuCgpOb3RlIHRoYXQg
Z3Vlc3RfcGh5c21hcF9tYXJrX3BvcHVsYXRlX29uX2RlbWFuZCgpIGdldHMg
dGlnaHRlbmVkIGJleW9uZAp0aGUgaW1tZWRpYXRlIHB1cnBvc2Ugb2YgdGhp
cyBjaGFuZ2UuCgpOb3RlIGFsc28gdGhhdCBJIGRpZG4ndCBpbnNwZWN0IGNv
ZGUgd2hpY2ggaXNuJ3Qgc2VjdXJpdHkgc3VwcG9ydGVkLAplLmcuIHNoYXJp
bmcsIHBhZ2luZywgb3IgYWx0cDJtLgoKVGhpcyBpcyBDVkUtMjAyMS0yODY5
NCAvIHBhcnQgb2YgWFNBLTM3OC4KClNpZ25lZC1vZmYtYnk6IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFBhdWwgRHVy
cmFudCA8cGF1bEB4ZW4ub3JnPgotLS0Kdjg6IFNwbGl0IG9mZiBpbnRyb2R1
Y3Rpb24gb2YgcDJtX2lzX3NwZWNpYWwoKS4Kdjc6IFJlLWJhc2UuCnY2OiBB
bHNvIGFkanVzdCB4ZW5tZW1fYWRkX3RvX3BoeXNtYXBfb25lKCkuIEZ1bGx5
IGRyb3AgcDJtX21taW9fZGlyZWN0CiAgICBzcGVjaWFsIGhhbmRsaW5nIGZy
b20gZ3Vlc3RfcmVtb3ZlX3BhZ2UoKTsganVzdCByZXR1cm4gYW4gZXJyb3Iu
CiAgICBNYWtlIGNsZWFyX21taW9fcDJtX2VudHJ5KCkgc3RhdGljLgp2NTog
TmV3LgotLS0KQmFja3BvcnRpbmcgbm90ZTogV2hpbGUgbGlrZWx5IG5vdGlj
YWJsZSBieSBwYXRjaCBjb25mbGljdHMgYW55d2F5LCB0aGlzCmRlcGVuZHMg
b24gb25lIG9yIGJvdGggb2YgYTZiMDUxYTg3YTU4ICgieDg2L3AybTogZG9u
J3QgaWdub3JlCnAybV9yZW1vdmVfcGFnZSgpJ3MgcmV0dXJuIHZhbHVlIikg
YW5kIGM2NWVhMTZkYmNhZiAoIng4Ni9wMm06IGRvbid0CmFzc2VydCB0aGF0
IHRoZSBwYXNzZWQgaW4gTUZOIG1hdGNoZXMgZm9yIGEgcmVtb3ZlIikuCgot
LS0gYS94ZW4vYXJjaC94ODYvbW0vcDJtLmMKKysrIGIveGVuL2FyY2gveDg2
L21tL3AybS5jCkBAIC04MDUsNyArODA1LDggQEAgcDJtX3JlbW92ZV9wYWdl
KHN0cnVjdCBwMm1fZG9tYWluICpwMm0sCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAmY3VyX29yZGVyLCBOVUxMKTsKIAog
ICAgICAgICBpZiAoIHAybV9pc192YWxpZCh0KSAmJgotICAgICAgICAgICAg
ICghbWZuX3ZhbGlkKG1mbikgfHwgIW1mbl9lcShtZm5fYWRkKG1mbiwgaSks
IG1mbl9yZXR1cm4pKSApCisgICAgICAgICAgICAgKCFtZm5fdmFsaWQobWZu
KSB8fCB0ID09IHAybV9tbWlvX2RpcmVjdCB8fAorICAgICAgICAgICAgICAh
bWZuX2VxKG1mbl9hZGQobWZuLCBpKSwgbWZuX3JldHVybikpICkKICAgICAg
ICAgICAgIHJldHVybiAtRUlMU0VROwogCiAgICAgICAgIGkgKz0gKDFVTCA8
PCBjdXJfb3JkZXIpIC0KQEAgLTkxMiw3ICs5MTMsNyBAQCBndWVzdF9waHlz
bWFwX2FkZF9lbnRyeShzdHJ1Y3QgZG9tYWluICpkCiAgICAgaWYgKCBwMm1f
aXNfZm9yZWlnbih0KSApCiAgICAgICAgIHJldHVybiAtRUlOVkFMOwogCi0g
ICAgaWYgKCAhbWZuX3ZhbGlkKG1mbikgKQorICAgIGlmICggIW1mbl92YWxp
ZChtZm4pIHx8IHQgPT0gcDJtX21taW9fZGlyZWN0ICkKICAgICB7CiAgICAg
ICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwogICAgICAgICByZXR1cm4gLUVJ
TlZBTDsKQEAgLTk1Niw3ICs5NTcsNyBAQCBndWVzdF9waHlzbWFwX2FkZF9l
bnRyeShzdHJ1Y3QgZG9tYWluICpkCiAgICAgICAgIH0KICAgICAgICAgaWYg
KCBwMm1faXNfc3BlY2lhbChvdCkgKQogICAgICAgICB7Ci0gICAgICAgICAg
ICAvKiBEb24ndCBwZXJtaXQgdW5tYXBwaW5nIGdyYW50L2ZvcmVpZ24gdGhp
cyB3YXkuICovCisgICAgICAgICAgICAvKiBEb24ndCBwZXJtaXQgdW5tYXBw
aW5nIGdyYW50L2ZvcmVpZ24vZGlyZWN0LU1NSU8gdGhpcyB3YXkuICovCiAg
ICAgICAgICAgICBkb21haW5fY3Jhc2goZCk7CiAgICAgICAgICAgICBwMm1f
dW5sb2NrKHAybSk7CiAgICAgICAgICAgICAKQEAgLTEzNjQsOCArMTM2NSw4
IEBAIGludCBzZXRfbW1pb19wMm1fZW50cnkoc3RydWN0IGRvbWFpbiAqZCwK
ICAqICAgIG9yZGVyKzEgIGZvciBjYWxsZXIgdG8gcmV0cnkgd2l0aCBvcmRl
ciAoZ3VhcmFudGVlZCBzbWFsbGVyIHRoYW4KICAqICAgICAgICAgICAgIHRo
ZSBvcmRlciB2YWx1ZSBwYXNzZWQgaW4pCiAgKi8KLWludCBjbGVhcl9tbWlv
X3AybV9lbnRyeShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIGdm
bl9sLCBtZm5fdCBtZm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgdW5z
aWduZWQgaW50IG9yZGVyKQorc3RhdGljIGludCBjbGVhcl9tbWlvX3AybV9l
bnRyeShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIGdmbl9sLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZm5fdCBtZm4sIHVu
c2lnbmVkIGludCBvcmRlcikKIHsKICAgICBpbnQgcmMgPSAtRUlOVkFMOwog
ICAgIGdmbl90IGdmbiA9IF9nZm4oZ2ZuX2wpOwpAQCAtMjc2Niw3ICsyNzY3
LDkgQEAgaW50IHhlbm1lbV9hZGRfdG9fcGh5c21hcF9vbmUoCiAKICAgICAv
KiBSZW1vdmUgcHJldmlvdXNseSBtYXBwZWQgcGFnZSBpZiBpdCB3YXMgcHJl
c2VudC4gKi8KICAgICBwcmV2X21mbiA9IGdldF9nZm4oZCwgZ2ZuX3goZ3Bm
biksICZwMm10KTsKLSAgICBpZiAoIG1mbl92YWxpZChwcmV2X21mbikgKQor
ICAgIGlmICggcDJtdCA9PSBwMm1fbW1pb19kaXJlY3QgKQorICAgICAgICBy
YyA9IC1FUEVSTTsKKyAgICBlbHNlIGlmICggbWZuX3ZhbGlkKHByZXZfbWZu
KSApCiAgICAgewogICAgICAgICBpZiAoIGlzX3NwZWNpYWxfcGFnZShtZm5f
dG9fcGFnZShwcmV2X21mbikpICkKICAgICAgICAgICAgIC8qIFNwZWNpYWwg
cGFnZXMgYXJlIHNpbXBseSB1bmhvb2tlZCBmcm9tIHRoaXMgcGh5cyBzbG90
LiAqLwotLS0gYS94ZW4vYXJjaC94ODYvbW0vcDJtLXBvZC5jCisrKyBiL3hl
bi9hcmNoL3g4Ni9tbS9wMm0tcG9kLmMKQEAgLTEyOTksMTcgKzEyOTksMTcg
QEAgZ3Vlc3RfcGh5c21hcF9tYXJrX3BvcHVsYXRlX29uX2RlbWFuZChzdAog
CiAgICAgICAgIHAybS0+Z2V0X2VudHJ5KHAybSwgZ2ZuX2FkZChnZm4sIGkp
LCAmb3QsICZhLCAwLCAmY3VyX29yZGVyLCBOVUxMKTsKICAgICAgICAgbiA9
IDFVTCA8PCBtaW4ob3JkZXIsIGN1cl9vcmRlcik7Ci0gICAgICAgIGlmICgg
cDJtX2lzX3JhbShvdCkgKQorICAgICAgICBpZiAoIG90ID09IHAybV9wb3B1
bGF0ZV9vbl9kZW1hbmQgKQorICAgICAgICB7CisgICAgICAgICAgICAvKiBD
b3VudCBob3cgbWFueSBQb0QgZW50cmllcyB3ZSdsbCBiZSByZXBsYWNpbmcg
aWYgc3VjY2Vzc2Z1bCAqLworICAgICAgICAgICAgcG9kX2NvdW50ICs9IG47
CisgICAgICAgIH0KKyAgICAgICAgZWxzZSBpZiAoIG90ICE9IHAybV9pbnZh
bGlkICYmIG90ICE9IHAybV9tbWlvX2RtICkKICAgICAgICAgewogICAgICAg
ICAgICAgUDJNX0RFQlVHKCJnZm5fdG9fbWZuIHJldHVybmVkIHR5cGUgJWQh
XG4iLCBvdCk7CiAgICAgICAgICAgICByYyA9IC1FQlVTWTsKICAgICAgICAg
ICAgIGdvdG8gb3V0OwogICAgICAgICB9Ci0gICAgICAgIGVsc2UgaWYgKCBv
dCA9PSBwMm1fcG9wdWxhdGVfb25fZGVtYW5kICkKLSAgICAgICAgewotICAg
ICAgICAgICAgLyogQ291bnQgaG93IG1hbiBQb0QgZW50cmllcyB3ZSdsbCBi
ZSByZXBsYWNpbmcgaWYgc3VjY2Vzc2Z1bCAqLwotICAgICAgICAgICAgcG9k
X2NvdW50ICs9IG47Ci0gICAgICAgIH0KICAgICB9CiAKICAgICAvKiBOb3cs
IGFjdHVhbGx5IGRvIHRoZSB0d28td2F5IG1hcHBpbmcgKi8KLS0tIGEveGVu
L2NvbW1vbi9tZW1vcnkuYworKysgYi94ZW4vY29tbW9uL21lbW9yeS5jCkBA
IC0zMzIsNyArMzMyLDcgQEAgaW50IGd1ZXN0X3JlbW92ZV9wYWdlKHN0cnVj
dCBkb21haW4gKmQsCiAgICAgfQogICAgIGlmICggcDJtdCA9PSBwMm1fbW1p
b19kaXJlY3QgKQogICAgIHsKLSAgICAgICAgcmMgPSBjbGVhcl9tbWlvX3Ay
bV9lbnRyeShkLCBnbWZuLCBtZm4sIFBBR0VfT1JERVJfNEspOworICAgICAg
ICByYyA9IC1FUEVSTTsKICAgICAgICAgZ290byBvdXRfcHV0X2dmbjsKICAg
ICB9CiAjZWxzZQpAQCAtMTg4OCw2ICsxODg4LDE1IEBAIGludCBjaGVja19n
ZXRfcGFnZV9mcm9tX2dmbihzdHJ1Y3QgZG9tYWkKICAgICAgICAgcmV0dXJu
IC1FQUdBSU47CiAgICAgfQogI2VuZGlmCisjaWZkZWYgQ09ORklHX1g4Ngor
ICAgIGlmICggcDJtdCA9PSBwMm1fbW1pb19kaXJlY3QgKQorICAgIHsKKyAg
ICAgICAgaWYgKCBwYWdlICkKKyAgICAgICAgICAgIHB1dF9wYWdlKHBhZ2Up
OworCisgICAgICAgIHJldHVybiAtRVBFUk07CisgICAgfQorI2VuZGlmCiAK
ICAgICBpZiAoICFwYWdlICkKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7Ci0t
LSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcDJtLmgKKysrIGIveGVuL2luY2x1
ZGUvYXNtLXg4Ni9wMm0uaApAQCAtMTU2LDcgKzE1Niw4IEBAIHR5cGVkZWYg
dW5zaWduZWQgaW50IHAybV9xdWVyeV90OwogCiAvKiBUeXBlcyBlc3RhYmxp
c2hlZC9jbGVhbmVkIHVwIHZpYSBzcGVjaWFsIGFjY2Vzc29ycy4gKi8KICNk
ZWZpbmUgUDJNX1NQRUNJQUxfVFlQRVMgKFAyTV9HUkFOVF9UWVBFUyB8IFwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgIHAybV90b19tYXNrKHAybV9t
YXBfZm9yZWlnbikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICBwMm1f
dG9fbWFzayhwMm1fbWFwX2ZvcmVpZ24pIHwgXAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcDJtX3RvX21hc2socDJtX21taW9fZGlyZWN0KSkKIAog
LyogVmFsaWQgdHlwZXMgbm90IG5lY2Vzc2FyaWx5IGFzc29jaWF0ZWQgd2l0
aCBhICh2YWxpZCkgTUZOLiAqLwogI2RlZmluZSBQMk1fSU5WQUxJRF9NRk5f
VFlQRVMgKFAyTV9QT0RfVFlQRVMgICAgICAgICAgICAgICAgICBcCkBAIC02
MjcsMTkgKzYyOCw5IEBAIGludCBwMm1fZmluaXNoX3R5cGVfY2hhbmdlKHN0
cnVjdCBkb21haW4KIGludCBwMm1faXNfbG9nZGlydHlfcmFuZ2Uoc3RydWN0
IHAybV9kb21haW4gKiwgdW5zaWduZWQgbG9uZyBzdGFydCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBlbmQpOwogCi0jaWZk
ZWYgQ09ORklHX0hWTQogLyogU2V0IG1taW8gYWRkcmVzc2VzIGluIHRoZSBw
Mm0gdGFibGUgKGZvciBwYXNzLXRocm91Z2gpICovCiBpbnQgc2V0X21taW9f
cDJtX2VudHJ5KHN0cnVjdCBkb21haW4gKmQsIGdmbl90IGdmbiwgbWZuX3Qg
bWZuLAogICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgb3Jk
ZXIpOwotaW50IGNsZWFyX21taW9fcDJtX2VudHJ5KHN0cnVjdCBkb21haW4g
KmQsIHVuc2lnbmVkIGxvbmcgZ2ZuLCBtZm5fdCBtZm4sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG9yZGVyKTsKLSNlbHNlCi1z
dGF0aWMgaW5saW5lIGludCBjbGVhcl9tbWlvX3AybV9lbnRyeShzdHJ1Y3Qg
ZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIGdmbiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG1mbl90IG1mbiwgdW5zaWduZWQg
aW50IG9yZGVyKQotewotICAgIHJldHVybiAtRUlPOwotfQotI2VuZGlmCiAK
IC8qIFNldCBpZGVudGl0eSBhZGRyZXNzZXMgaW4gdGhlIHAybSB0YWJsZSAo
Zm9yIHBhc3MtdGhyb3VnaCkgKi8KIGludCBzZXRfaWRlbnRpdHlfcDJtX2Vu
dHJ5KHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuLAo=

--=separator--


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 12:53:34 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 12:53:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172186.314007 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIsPK-00043j-T5; Wed, 25 Aug 2021 12:53:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172186.314007; Wed, 25 Aug 2021 12: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 1mIsPK-00043c-PM; Wed, 25 Aug 2021 12:53:30 +0000
Received: by outflank-mailman (input) for mailman id 172186;
 Wed, 25 Aug 2021 12:53:29 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=pqDN=NQ=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mIsPJ-00043W-OS
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 12:53:29 +0000
Received: from smtp-out1.suse.de (unknown [195.135.220.28])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id bfb9b0ea-b574-4d27-9baf-d6c9035c797d;
 Wed, 25 Aug 2021 12:53:28 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 BD9822216D;
 Wed, 25 Aug 2021 12:53:27 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 6707013887;
 Wed, 25 Aug 2021 12:53:27 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id 2DD5Fkc9JmGVMgAAGKfGzw
 (envelope-from <jgross@suse.com>); Wed, 25 Aug 2021 12:53: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: bfb9b0ea-b574-4d27-9baf-d6c9035c797d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1629896007; 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=2SfjGcm1HuoM3CeFm12Qr9ZG4hUuOx/+CkPo6RSmnA0=;
	b=dLrmPd4wdn3pB+DJdb9G9KwYMf9RN5jnB7xQEa6y+VJzKqmpsPHMsvviiuxU29hMu2sCAC
	RRkIi4SMZiWAdJzEYdVrZcxQHC0nmeB3BHgdpOmU6C44QcJEqUa98fjy6LJ2Kr7rSbxMyu
	PjsAHrdVkS/DKR6vDlhb9VMr2gG/sNI=
Subject: Re: [PATCH linux-next] drivers/xen/events/events_base.c: fix
 bugon.cocci warnings
To: CGEL <cgel.zte@gmail.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Thomas Gleixner <tglx@linutronix.de>, Wei Liu <wei.liu@kernel.org>,
 Jan Beulich <jbeulich@suse.com>, xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org, Jing Yangyang <jing.yangyang@zte.com.cn>,
 Zeal Robot <zealci@zte.com.cn>
References: <20210825062222.69936-1-deng.changcheng@zte.com.cn>
From: Juergen Gross <jgross@suse.com>
Message-ID: <1dca78e6-a75c-4918-f901-23b5cec777fe@suse.com>
Date: Wed, 25 Aug 2021 14:53:26 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <20210825062222.69936-1-deng.changcheng@zte.com.cn>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="IlpedywfmCkLoMf1IHADgzPswdTIkqihH"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--IlpedywfmCkLoMf1IHADgzPswdTIkqihH
Content-Type: multipart/mixed; boundary="Wz5p7El1rcjvRvf7l75EYY94uAItMXZLp";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: CGEL <cgel.zte@gmail.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Thomas Gleixner <tglx@linutronix.de>, Wei Liu <wei.liu@kernel.org>,
 Jan Beulich <jbeulich@suse.com>, xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org, Jing Yangyang <jing.yangyang@zte.com.cn>,
 Zeal Robot <zealci@zte.com.cn>
Message-ID: <1dca78e6-a75c-4918-f901-23b5cec777fe@suse.com>
Subject: Re: [PATCH linux-next] drivers/xen/events/events_base.c: fix
 bugon.cocci warnings
References: <20210825062222.69936-1-deng.changcheng@zte.com.cn>
In-Reply-To: <20210825062222.69936-1-deng.changcheng@zte.com.cn>

--Wz5p7El1rcjvRvf7l75EYY94uAItMXZLp
Content-Type: multipart/mixed;
 boundary="------------2B83BFF24BE5051433BBF49A"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------2B83BFF24BE5051433BBF49A
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 25.08.21 08:22, CGEL wrote:
> From: Jing Yangyang <jing.yangyang@zte.com.cn>
>=20
> Use BUG_ON instead of a if condition followed by BUG.
>=20
> Generated by: scripts/coccinelle/misc/bugon.cocci
>=20
> Reported-by: Zeal Robot <zealci@zte.com.cn>
> Signed-off-by: Jing Yangyang <jing.yangyang@zte.com.cn>

I already gave you feedback for another patch asking you to adjust
the continuation line indentations.

Same here.


Juergen

> ---
>   drivers/xen/events/events_base.c | 21 ++++++++-------------
>   1 file changed, 8 insertions(+), 13 deletions(-)
>=20
> diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/even=
ts_base.c
> index a78704a..dd44019 100644
> --- a/drivers/xen/events/events_base.c
> +++ b/drivers/xen/events/events_base.c
> @@ -818,8 +818,7 @@ static void xen_evtchn_close(evtchn_port_t port)
>   	struct evtchn_close close;
>  =20
>   	close.port =3D port;
> -	if (HYPERVISOR_event_channel_op(EVTCHNOP_close, &close) !=3D 0)
> -		BUG();
> +	BUG_ON(HYPERVISOR_event_channel_op(EVTCHNOP_close, &close) !=3D 0);
>   }
>  =20
>   /* Not called for lateeoi events. */
> @@ -1270,9 +1269,8 @@ static int bind_ipi_to_irq(unsigned int ipi, unsi=
gned int cpu)
>   					      handle_percpu_irq, "ipi");
>  =20
>   		bind_ipi.vcpu =3D xen_vcpu_nr(cpu);
> -		if (HYPERVISOR_event_channel_op(EVTCHNOP_bind_ipi,
> -						&bind_ipi) !=3D 0)
> -			BUG();
> +		BUG_ON(HYPERVISOR_event_channel_op(EVTCHNOP_bind_ipi,
> +						&bind_ipi) !=3D 0);
>   		evtchn =3D bind_ipi.port;
>  =20
>   		ret =3D xen_irq_info_ipi_setup(cpu, irq, evtchn, ipi);
> @@ -1983,9 +1981,8 @@ static void restore_cpu_virqs(unsigned int cpu)
>   		/* Get a new binding from Xen. */
>   		bind_virq.virq =3D virq;
>   		bind_virq.vcpu =3D xen_vcpu_nr(cpu);
> -		if (HYPERVISOR_event_channel_op(EVTCHNOP_bind_virq,
> -						&bind_virq) !=3D 0)
> -			BUG();
> +		BUG_ON(HYPERVISOR_event_channel_op(EVTCHNOP_bind_virq,
> +						&bind_virq) !=3D 0);
>   		evtchn =3D bind_virq.port;
>  =20
>   		/* Record the new mapping. */
> @@ -2009,9 +2006,8 @@ static void restore_cpu_ipis(unsigned int cpu)
>  =20
>   		/* Get a new binding from Xen. */
>   		bind_ipi.vcpu =3D xen_vcpu_nr(cpu);
> -		if (HYPERVISOR_event_channel_op(EVTCHNOP_bind_ipi,
> -						&bind_ipi) !=3D 0)
> -			BUG();
> +		BUG_ON(HYPERVISOR_event_channel_op(EVTCHNOP_bind_ipi,
> +						&bind_ipi) !=3D 0);
>   		evtchn =3D bind_ipi.port;
>  =20
>   		/* Record the new mapping. */
> @@ -2063,8 +2059,7 @@ void xen_poll_irq_timeout(int irq, u64 timeout)
>   		poll.timeout =3D timeout;
>   		set_xen_guest_handle(poll.ports, &evtchn);
>  =20
> -		if (HYPERVISOR_sched_op(SCHEDOP_poll, &poll) !=3D 0)
> -			BUG();
> +		BUG_ON(HYPERVISOR_sched_op(SCHEDOP_poll, &poll) !=3D 0);
>   	}
>   }
>   EXPORT_SYMBOL(xen_poll_irq_timeout);
>=20


--------------2B83BFF24BE5051433BBF49A
Content-Type: application/pgp-keys;
 name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Transfer-Encoding: quoted-printable
Content-Description: OpenPGP public key
Content-Disposition: attachment;
 filename="OpenPGP_0xB0DE9DD628BF132F.asc"

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOBy=
cWx
w3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJvedYm8O=
f8Z
d621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y=
9bf
IhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xq=
G7/
377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR=
3Jv
c3MgPGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsEFgIDA=
QIe
AQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4FUGNQH2lvWAUy+dnyT=
hpw
dtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3TyevpB0CA3dbBQp0OW0fgCetToGIQrg0=
MbD
1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbv=
oPH
Z8SlM4KWm8rG+lIkGurqqu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v=
5QL
+qHI3EIPtyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVyZ=
2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJCAcDAgEGFQgCC=
QoL
BBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4RF7HoZhPVPogNVbC4YA6lW7Dr=
Wf0
teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz78X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC=
/nu
AFVGy+67q2DH8As3KPu0344TBDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0Lh=
ITT
d9jLzdDad1pQSToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLm=
XBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkMnQfvUewRz=
80h
SnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMBAgAjBQJTjHDXAhsDBwsJC=
AcD
AgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJn=
FOX
gMLdBQgBlVPO3/D9R8LtF9DBAFPNhlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1=
jnD
kfJZr6jrbjgyoZHiw/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0=
N51
N5JfVRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwPOoE+l=
otu
fe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK/1xMI3/+8jbO0tsn1=
tqS
EUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuZGU+wsB5BBMBAgAjBQJTjHDrA=
hsD
BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3=
g3O
ZUEBmDHVVbqMtzwlmNC4k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5=
dM7
wRqzgJpJwK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu5=
D+j
LRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzBTNh30FVKK1Evm=
V2x
AKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37IoN1EblHI//x/e2AaIHpzK5h88N=
Eaw
QsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpW=
nHI
s98ndPUDpnoxWQugJ6MpMncr0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZR=
wgn
BC5mVM6JjQ5xDk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNV=
bVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mmwe0icXKLk=
pEd
IXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0Iv3OOImwTEe4co3c1mwARA=
QAB
wsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMvQ/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEw=
Tbe
8YFsw2V/Buv6Z4Mysln3nQK5ZadD534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1=
vJz
Q1fOU8lYFpZXTXIHb+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8=
VGi
wXvTyJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqcsuylW=
svi
uGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5BjR/i1DG86lem3iBDX=
zXs
ZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------2B83BFF24BE5051433BBF49A--

--Wz5p7El1rcjvRvf7l75EYY94uAItMXZLp--

--IlpedywfmCkLoMf1IHADgzPswdTIkqihH
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmEmPUYFAwAAAAAACgkQsN6d1ii/Ey9t
OQf8CSw+aY2dkHlnkjprUicXqHnR/kB8MdwEH33TrPHCTYPDaEU3h38greki4YQgWJ4SUXP7hcBD
jpOI57EbsiKNU/KepJ4wclJWRbAxED39hw6Uwu0wBCvwphmxI57ssad2qE1WAWjZnv0xMFUTtM1N
YkY/BGxr/acSSvYx+vi8Me0YbctUCwXivW1+NdUEdPNqMzUZdW5Ij+uUNqjCYi5gz/wVLxts9P5M
jcmMQk3PdlNg6uJEFd7CDe95kNbhGCU2zFjFj1dmtmpUNsRoTBiw+4mnIgrsC9xY94TU+0nbGhsG
ONt/e0F6dVSPd83cEGz6PKxVTLLDusGUvRSXWod5qA==
=gFIh
-----END PGP SIGNATURE-----

--IlpedywfmCkLoMf1IHADgzPswdTIkqihH--


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 12:54:06 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 12:54:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172191.314019 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIsPu-0004b5-5o; Wed, 25 Aug 2021 12:54:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172191.314019; Wed, 25 Aug 2021 12:54:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIsPu-0004ay-29; Wed, 25 Aug 2021 12:54:06 +0000
Received: by outflank-mailman (input) for mailman id 172191;
 Wed, 25 Aug 2021 12:54:05 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=pqDN=NQ=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mIsPt-0004ZN-BI
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 12:54:05 +0000
Received: from smtp-out2.suse.de (unknown [195.135.220.29])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 86c53e66-05a3-11ec-a94e-12813bfff9fa;
 Wed, 25 Aug 2021 12:54:04 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 BB6A41FE12;
 Wed, 25 Aug 2021 12:54:03 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 66F5713887;
 Wed, 25 Aug 2021 12:54:03 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id G/qWF2s9JmG9MgAAGKfGzw
 (envelope-from <jgross@suse.com>); Wed, 25 Aug 2021 12:54: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: 86c53e66-05a3-11ec-a94e-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1629896043; 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=5oBW9xkkh0oa20Li6jbPE1zx0NjuKSsDf0Rvl4EvN64=;
	b=uVJk2GefGxxAx4PG0Td0aX9wk5/N6heqNpt+Dv/bHQn1kSs0lguA55v3aniQCeEHZOuyLJ
	fxN8Nd70F2P1dOVmwY2rRRbgHzi/A42zSMYG6MsB51Bi+Cq06dseNxIe2oabQ50QgmMvM2
	bs3G0FVV5s+kmq55NBNy4utaQNR1YAE=
Subject: Re: [PATCH linux-next] drivers/xen/xenbus/xenbus_client.c: fix
 bugon.cocci warnings
To: CGEL <cgel.zte@gmail.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 SeongJae Park <sjpark@amazon.de>, Roger Pau Monne <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org, Jing Yangyang <jing.yangyang@zte.com.cn>,
 Zeal Robot <zealci@zte.com.cn>
References: <20210825062451.69998-1-deng.changcheng@zte.com.cn>
From: Juergen Gross <jgross@suse.com>
Message-ID: <2074b57b-9cdf-6457-c91e-0d9b28ab5a58@suse.com>
Date: Wed, 25 Aug 2021 14:54:02 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <20210825062451.69998-1-deng.changcheng@zte.com.cn>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="GZ4UlS75hPpZ5CYZTA7pCvaEVbWRer4aK"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--GZ4UlS75hPpZ5CYZTA7pCvaEVbWRer4aK
Content-Type: multipart/mixed; boundary="HSGqG69aPXXNKcKXltZpi0Ew7lS7Mh6XW";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: CGEL <cgel.zte@gmail.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 SeongJae Park <sjpark@amazon.de>, Roger Pau Monne <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org, Jing Yangyang <jing.yangyang@zte.com.cn>,
 Zeal Robot <zealci@zte.com.cn>
Message-ID: <2074b57b-9cdf-6457-c91e-0d9b28ab5a58@suse.com>
Subject: Re: [PATCH linux-next] drivers/xen/xenbus/xenbus_client.c: fix
 bugon.cocci warnings
References: <20210825062451.69998-1-deng.changcheng@zte.com.cn>
In-Reply-To: <20210825062451.69998-1-deng.changcheng@zte.com.cn>

--HSGqG69aPXXNKcKXltZpi0Ew7lS7Mh6XW
Content-Type: multipart/mixed;
 boundary="------------071DC4289F52D0ABC343658B"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------071DC4289F52D0ABC343658B
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 25.08.21 08:24, CGEL wrote:
> From: Jing Yangyang <jing.yangyang@zte.com.cn>
>=20
> Use BUG_ON instead of a if condition followed by BUG.
>=20
> Generated by: scripts/coccinelle/misc/bugon.cocci
>=20
> Reported-by: Zeal Robot <zealci@zte.com.cn>
> Signed-off-by: Jing Yangyang <jing.yangyang@zte.com.cn>

Reviewed-by: Juergen Gross <jgross@suse.com>


Juergen

--------------071DC4289F52D0ABC343658B
Content-Type: application/pgp-keys;
 name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Transfer-Encoding: quoted-printable
Content-Description: OpenPGP public key
Content-Disposition: attachment;
 filename="OpenPGP_0xB0DE9DD628BF132F.asc"

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOBy=
cWx
w3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJvedYm8O=
f8Z
d621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y=
9bf
IhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xq=
G7/
377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR=
3Jv
c3MgPGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsEFgIDA=
QIe
AQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4FUGNQH2lvWAUy+dnyT=
hpw
dtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3TyevpB0CA3dbBQp0OW0fgCetToGIQrg0=
MbD
1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbv=
oPH
Z8SlM4KWm8rG+lIkGurqqu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v=
5QL
+qHI3EIPtyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVyZ=
2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJCAcDAgEGFQgCC=
QoL
BBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4RF7HoZhPVPogNVbC4YA6lW7Dr=
Wf0
teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz78X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC=
/nu
AFVGy+67q2DH8As3KPu0344TBDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0Lh=
ITT
d9jLzdDad1pQSToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLm=
XBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkMnQfvUewRz=
80h
SnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMBAgAjBQJTjHDXAhsDBwsJC=
AcD
AgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJn=
FOX
gMLdBQgBlVPO3/D9R8LtF9DBAFPNhlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1=
jnD
kfJZr6jrbjgyoZHiw/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0=
N51
N5JfVRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwPOoE+l=
otu
fe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK/1xMI3/+8jbO0tsn1=
tqS
EUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuZGU+wsB5BBMBAgAjBQJTjHDrA=
hsD
BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3=
g3O
ZUEBmDHVVbqMtzwlmNC4k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5=
dM7
wRqzgJpJwK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu5=
D+j
LRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzBTNh30FVKK1Evm=
V2x
AKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37IoN1EblHI//x/e2AaIHpzK5h88N=
Eaw
QsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpW=
nHI
s98ndPUDpnoxWQugJ6MpMncr0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZR=
wgn
BC5mVM6JjQ5xDk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNV=
bVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mmwe0icXKLk=
pEd
IXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0Iv3OOImwTEe4co3c1mwARA=
QAB
wsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMvQ/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEw=
Tbe
8YFsw2V/Buv6Z4Mysln3nQK5ZadD534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1=
vJz
Q1fOU8lYFpZXTXIHb+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8=
VGi
wXvTyJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqcsuylW=
svi
uGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5BjR/i1DG86lem3iBDX=
zXs
ZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------071DC4289F52D0ABC343658B--

--HSGqG69aPXXNKcKXltZpi0Ew7lS7Mh6XW--

--GZ4UlS75hPpZ5CYZTA7pCvaEVbWRer4aK
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmEmPWoFAwAAAAAACgkQsN6d1ii/Ey8G
Ugf9FnqmS3bUG1MGmwQDFNYXYF7+rqNfsEyshpYQQrZ7vlS64T11GY312yt/BhT9GjXm+VojzYng
h/nD+keuPlbZXnkWaxMfgchXNImis5VvhQdLPngnyaVItkR5itMipebZH9lUC/NaTDCqG8Igb29/
MZj0L5DZiq9GOGPqAIoprYrXQ6uPnHD/RiyT/5xmSHQbvtEL4EEUvkXisViMTE0MOfxzHdzXT4ZT
y1lCsJMMwy5q5uMNSQ1Dh7L8SnUxYG+hL6TwCysYiJSPAbm/WAomGs/JlFInQVHfkrJOIUa3+uUd
T0hKtvrZ20OVJTpjv+ER8NqaJJd4TOO+09nkI6seGQ==
=lPgv
-----END PGP SIGNATURE-----

--GZ4UlS75hPpZ5CYZTA7pCvaEVbWRer4aK--


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 13:12:22 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 13:12:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172220.314117 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIshS-0008Rw-PH; Wed, 25 Aug 2021 13:12:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172220.314117; Wed, 25 Aug 2021 13:12:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIshS-0008Rp-Lj; Wed, 25 Aug 2021 13:12:14 +0000
Received: by outflank-mailman (input) for mailman id 172220;
 Wed, 25 Aug 2021 13:12:13 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=pqDN=NQ=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mIshR-0008Rg-Jt
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 13:12:13 +0000
Received: from smtp-out2.suse.de (unknown [195.135.220.29])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id a10bedfa-ddc5-43b7-843d-86082e3c8f18;
 Wed, 25 Aug 2021 13:12:12 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 C9D641FE12;
 Wed, 25 Aug 2021 13:12:11 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 70DBB13887;
 Wed, 25 Aug 2021 13:12:11 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id hEtkGatBJmF1NwAAGKfGzw
 (envelope-from <jgross@suse.com>); Wed, 25 Aug 2021 13:12: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: a10bedfa-ddc5-43b7-843d-86082e3c8f18
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1629897131; 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=LxY8SdeZ9ccE4S5/gTB1BNedry+daUdc+q/RjqZjnWU=;
	b=cgSQVIJeMYN41UF3tsUe3TV+0fH+L6HRfatlMDEPhRSF9Z7lbGed4hTSbrErm9+O9wehsh
	wowrmSbluSqglBe0F0yHoCHkXqz72bElxDCNq7/RhACYw0vwC71ZyX9CEjKxHndW/E3QC/
	LOmy75M3EdG7pGg5eGl4G7XT/2rMm58=
Subject: Re: [PATCH] x86: xen: platform-pci-unplug: use pr_err() and pr_warn()
 instead of raw printk()
To: zhaoxiao <zhaoxiao@uniontech.com>, tglx@linutronix.de, mingo@redhat.com,
 bp@alien8.de, x86@kernel.org
Cc: hpa@zytor.com, xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org, boris.ostrovsky@oracle.com,
 sstabellini@kernel.org
References: <20210825114111.29009-1-zhaoxiao@uniontech.com>
From: Juergen Gross <jgross@suse.com>
Message-ID: <8f96f0db-a846-14db-1b7d-89d2d6ba3383@suse.com>
Date: Wed, 25 Aug 2021 15:12:10 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <20210825114111.29009-1-zhaoxiao@uniontech.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="2zr2U4bJtYS3VgTOehSeGa4TPEyF8apf9"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--2zr2U4bJtYS3VgTOehSeGa4TPEyF8apf9
Content-Type: multipart/mixed; boundary="6YIPJ1uKnsFbkzwEXYl7dgPhmRp5Ztu3k";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: zhaoxiao <zhaoxiao@uniontech.com>, tglx@linutronix.de, mingo@redhat.com,
 bp@alien8.de, x86@kernel.org
Cc: hpa@zytor.com, xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org, boris.ostrovsky@oracle.com,
 sstabellini@kernel.org
Message-ID: <8f96f0db-a846-14db-1b7d-89d2d6ba3383@suse.com>
Subject: Re: [PATCH] x86: xen: platform-pci-unplug: use pr_err() and pr_warn()
 instead of raw printk()
References: <20210825114111.29009-1-zhaoxiao@uniontech.com>
In-Reply-To: <20210825114111.29009-1-zhaoxiao@uniontech.com>

--6YIPJ1uKnsFbkzwEXYl7dgPhmRp5Ztu3k
Content-Type: multipart/mixed;
 boundary="------------6947D488E4C0CC97EEEAA6BE"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------6947D488E4C0CC97EEEAA6BE
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 25.08.21 13:41, zhaoxiao wrote:
> Since we have the nice helpers pr_err() and pr_warn(), use them instead=

> of raw printk().
>=20
> Signed-off-by: zhaoxiao <zhaoxiao@uniontech.com>

Reviewed-by: Juergen Gross <jgross@suse.com>


Juergen

--------------6947D488E4C0CC97EEEAA6BE
Content-Type: application/pgp-keys;
 name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Transfer-Encoding: quoted-printable
Content-Description: OpenPGP public key
Content-Disposition: attachment;
 filename="OpenPGP_0xB0DE9DD628BF132F.asc"

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOBy=
cWx
w3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJvedYm8O=
f8Z
d621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y=
9bf
IhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xq=
G7/
377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR=
3Jv
c3MgPGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsEFgIDA=
QIe
AQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4FUGNQH2lvWAUy+dnyT=
hpw
dtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3TyevpB0CA3dbBQp0OW0fgCetToGIQrg0=
MbD
1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbv=
oPH
Z8SlM4KWm8rG+lIkGurqqu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v=
5QL
+qHI3EIPtyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVyZ=
2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJCAcDAgEGFQgCC=
QoL
BBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4RF7HoZhPVPogNVbC4YA6lW7Dr=
Wf0
teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz78X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC=
/nu
AFVGy+67q2DH8As3KPu0344TBDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0Lh=
ITT
d9jLzdDad1pQSToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLm=
XBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkMnQfvUewRz=
80h
SnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMBAgAjBQJTjHDXAhsDBwsJC=
AcD
AgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJn=
FOX
gMLdBQgBlVPO3/D9R8LtF9DBAFPNhlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1=
jnD
kfJZr6jrbjgyoZHiw/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0=
N51
N5JfVRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwPOoE+l=
otu
fe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK/1xMI3/+8jbO0tsn1=
tqS
EUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuZGU+wsB5BBMBAgAjBQJTjHDrA=
hsD
BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3=
g3O
ZUEBmDHVVbqMtzwlmNC4k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5=
dM7
wRqzgJpJwK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu5=
D+j
LRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzBTNh30FVKK1Evm=
V2x
AKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37IoN1EblHI//x/e2AaIHpzK5h88N=
Eaw
QsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpW=
nHI
s98ndPUDpnoxWQugJ6MpMncr0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZR=
wgn
BC5mVM6JjQ5xDk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNV=
bVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mmwe0icXKLk=
pEd
IXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0Iv3OOImwTEe4co3c1mwARA=
QAB
wsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMvQ/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEw=
Tbe
8YFsw2V/Buv6Z4Mysln3nQK5ZadD534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1=
vJz
Q1fOU8lYFpZXTXIHb+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8=
VGi
wXvTyJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqcsuylW=
svi
uGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5BjR/i1DG86lem3iBDX=
zXs
ZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------6947D488E4C0CC97EEEAA6BE--

--6YIPJ1uKnsFbkzwEXYl7dgPhmRp5Ztu3k--

--2zr2U4bJtYS3VgTOehSeGa4TPEyF8apf9
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmEmQaoFAwAAAAAACgkQsN6d1ii/Ey/c
jggAkuestmC14PBCkodIH8fzYFDIuZJLOLZIxYtg1yhcoQX35FMybtvIZxrKIQ3ZwK+EqehGFR0k
2KbpRexkd8+pBetfY/7Q80G8f28/fvfKf0JC6YfMTb6mD6ty0QCOSRHZkY42tr5uX3CYWiNmnP8n
dHT8JEJDoKya8lQrwCUkIqbJxOeps0AazlGIbL8UnZakXw16/szf3wV/ZRgjIZo420oL1bF1qjzW
Erl5UbWvO3Het9LYYfBl3PajM9YkYRHIs4I2LiTMSyLA3lnlYoRs16ujLV/0nPd3Tp4TbxJcA8iV
QvgLeF0ZkXonkAaHhaCF0xl50y72zqnGggMSWBkrRQ==
=H4Mv
-----END PGP SIGNATURE-----

--2zr2U4bJtYS3VgTOehSeGa4TPEyF8apf9--


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 13:19:00 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 13:19:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172228.314128 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIsnw-0000hW-GU; Wed, 25 Aug 2021 13:18:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172228.314128; Wed, 25 Aug 2021 13:18:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIsnw-0000hP-De; Wed, 25 Aug 2021 13:18:56 +0000
Received: by outflank-mailman (input) for mailman id 172228;
 Wed, 25 Aug 2021 13:18:55 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=b/lT=NQ=arm.com=bertrand.marquis@srs-us1.protection.inumbo.net>)
 id 1mIsnv-0000hJ-6e
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 13:18:55 +0000
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id 362df2dc-0bcf-4596-9d01-b9ccb55d17e5;
 Wed, 25 Aug 2021 13:18:53 +0000 (UTC)
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 85AC3106F;
 Wed, 25 Aug 2021 06:18:53 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 4CAF83F5A1;
 Wed, 25 Aug 2021 06:18: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: 362df2dc-0bcf-4596-9d01-b9ccb55d17e5
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: 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>,
	Ian Jackson <iwj@xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v3 0/7] xen/arm: Sanitize cpuinfo
Date: Wed, 25 Aug 2021 14:18:24 +0100
Message-Id: <cover.1629897306.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.17.1

On arm architecture we might have heterogeneous platforms with different
types of cores. As a guest can potentialy run on any of those cores we
have to present them cpu features which are compatible with all cores
and discard the features which are only available on some cores.

As the features can be fairly complex, the way to deduce from 2
different features what should be the acceptable minimal feature can be
complex (and sometime impossible).

To reduce the implementation effort in Xen, this serie is importing the
structures and filtering system used by Linux in order to build a
cpuinfo containing the best values compatible with all cores on the
platform.

The serie start by importing the necessary code and structure from Linux
and then use it to sanitize the boot cpuinfo.
It is simplifying p2m code which was searching for the best support
value for PAR and VMID size.

On big.LITTLE platforms the current behaviour is kept and if hmp-unsafe
is provided in Xen command line then  Xen is using all cores. This serie
is tainting Xen with CPU_OUT_OF_SPEC when different MIDR are found.

It is also adding DCZID and CTR registers in cpuinfo in order to check
for incoherent values between cores for those 2 registers. Xen is
tainted if different DCZID registers are found and CTR register is
sanitized when possible and in this case CTR register (and other
registers catched by HCR.TID2) is emulated.

Changes in v3:
- restore hmp-unsafe need to use all core when different midr are found
- taint Xen if different MIDR are found
- sanitize system_cpuinfo only if core is not stopped by Xen on boot
Changes in v2:
- Sanitize DCZID register
- Sanitize CTR_EL0 and add emulation of registers catched by TID2
- rename cpu_boot_data to system_cpuinfo


Bertrand Marquis (7):
  xen/arm: Import ID registers definitions from Linux
  xen/arm: Import ID features sanitize from linux
  xen/arm: Rename cpu_boot_data to system_cpuinfo
  xen/arm: Sanitize cpuinfo ID registers fields
  xen/arm: Use sanitize values for p2m
  xen/arm: Taint Xen on incompatible DCZID values
  xen/arm: Sanitize CTR_EL0 and emulate it if needed

 xen/arch/arm/arm64/Makefile            |   1 +
 xen/arch/arm/arm64/cpufeature.c        | 644 +++++++++++++++++++++++++
 xen/arch/arm/arm64/vsysreg.c           |  40 ++
 xen/arch/arm/cpufeature.c              |  12 +-
 xen/arch/arm/domain.c                  |   8 +
 xen/arch/arm/p2m.c                     |  30 +-
 xen/arch/arm/setup.c                   |  36 +-
 xen/arch/arm/smpboot.c                 |  36 +-
 xen/arch/arm/vcpreg.c                  |  45 ++
 xen/common/kernel.c                    |   6 +-
 xen/include/asm-arm/arm64/cpufeature.h | 104 ++++
 xen/include/asm-arm/arm64/hsr.h        |   6 +
 xen/include/asm-arm/arm64/sysregs.h    | 312 ++++++++++++
 xen/include/asm-arm/cpufeature.h       |  34 +-
 xen/include/asm-arm/processor.h        |  18 +-
 xen/include/xen/lib.h                  |   1 +
 16 files changed, 1274 insertions(+), 59 deletions(-)
 create mode 100644 xen/arch/arm/arm64/cpufeature.c
 create mode 100644 xen/include/asm-arm/arm64/cpufeature.h

-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 25 13:19:46 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 13:19:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172235.314139 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIsoj-0001Jv-Ub; Wed, 25 Aug 2021 13:19:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172235.314139; Wed, 25 Aug 2021 13:19:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIsoj-0001Jo-Rn; Wed, 25 Aug 2021 13:19:45 +0000
Received: by outflank-mailman (input) for mailman id 172235;
 Wed, 25 Aug 2021 13:19:44 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=b/lT=NQ=arm.com=bertrand.marquis@srs-us1.protection.inumbo.net>)
 id 1mIsoi-0001JY-60
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 13:19:44 +0000
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id e6456948-ddc2-4a0b-98e0-4ef482e61a57;
 Wed, 25 Aug 2021 13:19:43 +0000 (UTC)
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 36DAB106F;
 Wed, 25 Aug 2021 06:19:42 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 037533F5A1;
 Wed, 25 Aug 2021 06:19: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: e6456948-ddc2-4a0b-98e0-4ef482e61a57
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 1/7] xen/arm: Import ID registers definitions from Linux
Date: Wed, 25 Aug 2021 14:18:25 +0100
Message-Id: <325f3bacc9b0717664f8f83c529fc59488e22437.1629897306.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <cover.1629897306.git.bertrand.marquis@arm.com>
References: <cover.1629897306.git.bertrand.marquis@arm.com>
In-Reply-To: <cover.1629897306.git.bertrand.marquis@arm.com>
References: <cover.1629897306.git.bertrand.marquis@arm.com>

Import some ID registers definitions from Linux sysreg header to have
required shift definitions for all ID registers fields.

Those are required to reuse the cpufeature sanitization system from
Linux kernel.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
Changes in v3: none
Changes in v2: Rebase
---
 xen/include/asm-arm/arm64/sysregs.h | 312 ++++++++++++++++++++++++++++
 1 file changed, 312 insertions(+)

diff --git a/xen/include/asm-arm/arm64/sysregs.h b/xen/include/asm-arm/arm64/sysregs.h
index 795901e1ba..d7e4772f21 100644
--- a/xen/include/asm-arm/arm64/sysregs.h
+++ b/xen/include/asm-arm/arm64/sysregs.h
@@ -85,6 +85,318 @@
 #define ID_DFR1_EL1                 S3_0_C0_C3_5
 #endif
 
+/* ID registers (imported from arm64/include/asm/sysreg.h in Linux) */
+
+/* id_aa64isar0 */
+#define ID_AA64ISAR0_RNDR_SHIFT      60
+#define ID_AA64ISAR0_TLB_SHIFT       56
+#define ID_AA64ISAR0_TS_SHIFT        52
+#define ID_AA64ISAR0_FHM_SHIFT       48
+#define ID_AA64ISAR0_DP_SHIFT        44
+#define ID_AA64ISAR0_SM4_SHIFT       40
+#define ID_AA64ISAR0_SM3_SHIFT       36
+#define ID_AA64ISAR0_SHA3_SHIFT      32
+#define ID_AA64ISAR0_RDM_SHIFT       28
+#define ID_AA64ISAR0_ATOMICS_SHIFT   20
+#define ID_AA64ISAR0_CRC32_SHIFT     16
+#define ID_AA64ISAR0_SHA2_SHIFT      12
+#define ID_AA64ISAR0_SHA1_SHIFT      8
+#define ID_AA64ISAR0_AES_SHIFT       4
+
+#define ID_AA64ISAR0_TLB_RANGE_NI    0x0
+#define ID_AA64ISAR0_TLB_RANGE       0x2
+
+/* id_aa64isar1 */
+#define ID_AA64ISAR1_I8MM_SHIFT      52
+#define ID_AA64ISAR1_DGH_SHIFT       48
+#define ID_AA64ISAR1_BF16_SHIFT      44
+#define ID_AA64ISAR1_SPECRES_SHIFT   40
+#define ID_AA64ISAR1_SB_SHIFT        36
+#define ID_AA64ISAR1_FRINTTS_SHIFT   32
+#define ID_AA64ISAR1_GPI_SHIFT       28
+#define ID_AA64ISAR1_GPA_SHIFT       24
+#define ID_AA64ISAR1_LRCPC_SHIFT     20
+#define ID_AA64ISAR1_FCMA_SHIFT      16
+#define ID_AA64ISAR1_JSCVT_SHIFT     12
+#define ID_AA64ISAR1_API_SHIFT       8
+#define ID_AA64ISAR1_APA_SHIFT       4
+#define ID_AA64ISAR1_DPB_SHIFT       0
+
+#define ID_AA64ISAR1_APA_NI                     0x0
+#define ID_AA64ISAR1_APA_ARCHITECTED            0x1
+#define ID_AA64ISAR1_APA_ARCH_EPAC              0x2
+#define ID_AA64ISAR1_APA_ARCH_EPAC2             0x3
+#define ID_AA64ISAR1_APA_ARCH_EPAC2_FPAC        0x4
+#define ID_AA64ISAR1_APA_ARCH_EPAC2_FPAC_CMB    0x5
+#define ID_AA64ISAR1_API_NI                     0x0
+#define ID_AA64ISAR1_API_IMP_DEF                0x1
+#define ID_AA64ISAR1_API_IMP_DEF_EPAC           0x2
+#define ID_AA64ISAR1_API_IMP_DEF_EPAC2          0x3
+#define ID_AA64ISAR1_API_IMP_DEF_EPAC2_FPAC     0x4
+#define ID_AA64ISAR1_API_IMP_DEF_EPAC2_FPAC_CMB 0x5
+#define ID_AA64ISAR1_GPA_NI                     0x0
+#define ID_AA64ISAR1_GPA_ARCHITECTED            0x1
+#define ID_AA64ISAR1_GPI_NI                     0x0
+#define ID_AA64ISAR1_GPI_IMP_DEF                0x1
+
+/* id_aa64pfr0 */
+#define ID_AA64PFR0_CSV3_SHIFT       60
+#define ID_AA64PFR0_CSV2_SHIFT       56
+#define ID_AA64PFR0_DIT_SHIFT        48
+#define ID_AA64PFR0_AMU_SHIFT        44
+#define ID_AA64PFR0_MPAM_SHIFT       40
+#define ID_AA64PFR0_SEL2_SHIFT       36
+#define ID_AA64PFR0_SVE_SHIFT        32
+#define ID_AA64PFR0_RAS_SHIFT        28
+#define ID_AA64PFR0_GIC_SHIFT        24
+#define ID_AA64PFR0_ASIMD_SHIFT      20
+#define ID_AA64PFR0_FP_SHIFT         16
+#define ID_AA64PFR0_EL3_SHIFT        12
+#define ID_AA64PFR0_EL2_SHIFT        8
+#define ID_AA64PFR0_EL1_SHIFT        4
+#define ID_AA64PFR0_EL0_SHIFT        0
+
+#define ID_AA64PFR0_AMU              0x1
+#define ID_AA64PFR0_SVE              0x1
+#define ID_AA64PFR0_RAS_V1           0x1
+#define ID_AA64PFR0_FP_NI            0xf
+#define ID_AA64PFR0_FP_SUPPORTED     0x0
+#define ID_AA64PFR0_ASIMD_NI         0xf
+#define ID_AA64PFR0_ASIMD_SUPPORTED  0x0
+#define ID_AA64PFR0_EL1_64BIT_ONLY   0x1
+#define ID_AA64PFR0_EL1_32BIT_64BIT  0x2
+#define ID_AA64PFR0_EL0_64BIT_ONLY   0x1
+#define ID_AA64PFR0_EL0_32BIT_64BIT  0x2
+
+/* id_aa64pfr1 */
+#define ID_AA64PFR1_MPAMFRAC_SHIFT   16
+#define ID_AA64PFR1_RASFRAC_SHIFT    12
+#define ID_AA64PFR1_MTE_SHIFT        8
+#define ID_AA64PFR1_SSBS_SHIFT       4
+#define ID_AA64PFR1_BT_SHIFT         0
+
+#define ID_AA64PFR1_SSBS_PSTATE_NI    0
+#define ID_AA64PFR1_SSBS_PSTATE_ONLY  1
+#define ID_AA64PFR1_SSBS_PSTATE_INSNS 2
+#define ID_AA64PFR1_BT_BTI            0x1
+
+#define ID_AA64PFR1_MTE_NI           0x0
+#define ID_AA64PFR1_MTE_EL0          0x1
+#define ID_AA64PFR1_MTE              0x2
+
+/* id_aa64zfr0 */
+#define ID_AA64ZFR0_F64MM_SHIFT      56
+#define ID_AA64ZFR0_F32MM_SHIFT      52
+#define ID_AA64ZFR0_I8MM_SHIFT       44
+#define ID_AA64ZFR0_SM4_SHIFT        40
+#define ID_AA64ZFR0_SHA3_SHIFT       32
+#define ID_AA64ZFR0_BF16_SHIFT       20
+#define ID_AA64ZFR0_BITPERM_SHIFT    16
+#define ID_AA64ZFR0_AES_SHIFT        4
+#define ID_AA64ZFR0_SVEVER_SHIFT     0
+
+#define ID_AA64ZFR0_F64MM            0x1
+#define ID_AA64ZFR0_F32MM            0x1
+#define ID_AA64ZFR0_I8MM             0x1
+#define ID_AA64ZFR0_BF16             0x1
+#define ID_AA64ZFR0_SM4              0x1
+#define ID_AA64ZFR0_SHA3             0x1
+#define ID_AA64ZFR0_BITPERM          0x1
+#define ID_AA64ZFR0_AES              0x1
+#define ID_AA64ZFR0_AES_PMULL        0x2
+#define ID_AA64ZFR0_SVEVER_SVE2      0x1
+
+/* id_aa64mmfr0 */
+#define ID_AA64MMFR0_ECV_SHIFT       60
+#define ID_AA64MMFR0_FGT_SHIFT       56
+#define ID_AA64MMFR0_EXS_SHIFT       44
+#define ID_AA64MMFR0_TGRAN4_2_SHIFT  40
+#define ID_AA64MMFR0_TGRAN64_2_SHIFT 36
+#define ID_AA64MMFR0_TGRAN16_2_SHIFT 32
+#define ID_AA64MMFR0_TGRAN4_SHIFT    28
+#define ID_AA64MMFR0_TGRAN64_SHIFT   24
+#define ID_AA64MMFR0_TGRAN16_SHIFT   20
+#define ID_AA64MMFR0_BIGENDEL0_SHIFT 16
+#define ID_AA64MMFR0_SNSMEM_SHIFT    12
+#define ID_AA64MMFR0_BIGENDEL_SHIFT  8
+#define ID_AA64MMFR0_ASID_SHIFT      4
+#define ID_AA64MMFR0_PARANGE_SHIFT   0
+
+#define ID_AA64MMFR0_TGRAN4_NI         0xf
+#define ID_AA64MMFR0_TGRAN4_SUPPORTED  0x0
+#define ID_AA64MMFR0_TGRAN64_NI        0xf
+#define ID_AA64MMFR0_TGRAN64_SUPPORTED 0x0
+#define ID_AA64MMFR0_TGRAN16_NI        0x0
+#define ID_AA64MMFR0_TGRAN16_SUPPORTED 0x1
+#define ID_AA64MMFR0_PARANGE_48        0x5
+#define ID_AA64MMFR0_PARANGE_52        0x6
+
+/* id_aa64mmfr1 */
+#define ID_AA64MMFR1_ETS_SHIFT       36
+#define ID_AA64MMFR1_TWED_SHIFT      32
+#define ID_AA64MMFR1_XNX_SHIFT       28
+#define ID_AA64MMFR1_SPECSEI_SHIFT   24
+#define ID_AA64MMFR1_PAN_SHIFT       20
+#define ID_AA64MMFR1_LOR_SHIFT       16
+#define ID_AA64MMFR1_HPD_SHIFT       12
+#define ID_AA64MMFR1_VHE_SHIFT       8
+#define ID_AA64MMFR1_VMIDBITS_SHIFT  4
+#define ID_AA64MMFR1_HADBS_SHIFT     0
+
+#define ID_AA64MMFR1_VMIDBITS_8      0
+#define ID_AA64MMFR1_VMIDBITS_16     2
+
+/* id_aa64mmfr2 */
+#define ID_AA64MMFR2_E0PD_SHIFT      60
+#define ID_AA64MMFR2_EVT_SHIFT       56
+#define ID_AA64MMFR2_BBM_SHIFT       52
+#define ID_AA64MMFR2_TTL_SHIFT       48
+#define ID_AA64MMFR2_FWB_SHIFT       40
+#define ID_AA64MMFR2_IDS_SHIFT       36
+#define ID_AA64MMFR2_AT_SHIFT        32
+#define ID_AA64MMFR2_ST_SHIFT        28
+#define ID_AA64MMFR2_NV_SHIFT        24
+#define ID_AA64MMFR2_CCIDX_SHIFT     20
+#define ID_AA64MMFR2_LVA_SHIFT       16
+#define ID_AA64MMFR2_IESB_SHIFT      12
+#define ID_AA64MMFR2_LSM_SHIFT       8
+#define ID_AA64MMFR2_UAO_SHIFT       4
+#define ID_AA64MMFR2_CNP_SHIFT       0
+
+/* id_aa64dfr0 */
+#define ID_AA64DFR0_DOUBLELOCK_SHIFT 36
+#define ID_AA64DFR0_PMSVER_SHIFT     32
+#define ID_AA64DFR0_CTX_CMPS_SHIFT   28
+#define ID_AA64DFR0_WRPS_SHIFT       20
+#define ID_AA64DFR0_BRPS_SHIFT       12
+#define ID_AA64DFR0_PMUVER_SHIFT     8
+#define ID_AA64DFR0_TRACEVER_SHIFT   4
+#define ID_AA64DFR0_DEBUGVER_SHIFT   0
+
+#define ID_AA64DFR0_PMUVER_8_0       0x1
+#define ID_AA64DFR0_PMUVER_8_1       0x4
+#define ID_AA64DFR0_PMUVER_8_4       0x5
+#define ID_AA64DFR0_PMUVER_8_5       0x6
+#define ID_AA64DFR0_PMUVER_IMP_DEF   0xf
+
+#define ID_DFR0_PERFMON_SHIFT        24
+
+#define ID_DFR0_PERFMON_8_1          0x4
+
+#define ID_ISAR4_SWP_FRAC_SHIFT        28
+#define ID_ISAR4_PSR_M_SHIFT           24
+#define ID_ISAR4_SYNCH_PRIM_FRAC_SHIFT 20
+#define ID_ISAR4_BARRIER_SHIFT         16
+#define ID_ISAR4_SMC_SHIFT             12
+#define ID_ISAR4_WRITEBACK_SHIFT       8
+#define ID_ISAR4_WITHSHIFTS_SHIFT      4
+#define ID_ISAR4_UNPRIV_SHIFT          0
+
+#define ID_DFR1_MTPMU_SHIFT          0
+
+#define ID_ISAR0_DIVIDE_SHIFT        24
+#define ID_ISAR0_DEBUG_SHIFT         20
+#define ID_ISAR0_COPROC_SHIFT        16
+#define ID_ISAR0_CMPBRANCH_SHIFT     12
+#define ID_ISAR0_BITFIELD_SHIFT      8
+#define ID_ISAR0_BITCOUNT_SHIFT      4
+#define ID_ISAR0_SWAP_SHIFT          0
+
+#define ID_ISAR5_RDM_SHIFT           24
+#define ID_ISAR5_CRC32_SHIFT         16
+#define ID_ISAR5_SHA2_SHIFT          12
+#define ID_ISAR5_SHA1_SHIFT          8
+#define ID_ISAR5_AES_SHIFT           4
+#define ID_ISAR5_SEVL_SHIFT          0
+
+#define ID_ISAR6_I8MM_SHIFT          24
+#define ID_ISAR6_BF16_SHIFT          20
+#define ID_ISAR6_SPECRES_SHIFT       16
+#define ID_ISAR6_SB_SHIFT            12
+#define ID_ISAR6_FHM_SHIFT           8
+#define ID_ISAR6_DP_SHIFT            4
+#define ID_ISAR6_JSCVT_SHIFT         0
+
+#define ID_MMFR0_INNERSHR_SHIFT      28
+#define ID_MMFR0_FCSE_SHIFT          24
+#define ID_MMFR0_AUXREG_SHIFT        20
+#define ID_MMFR0_TCM_SHIFT           16
+#define ID_MMFR0_SHARELVL_SHIFT      12
+#define ID_MMFR0_OUTERSHR_SHIFT      8
+#define ID_MMFR0_PMSA_SHIFT          4
+#define ID_MMFR0_VMSA_SHIFT          0
+
+#define ID_MMFR4_EVT_SHIFT           28
+#define ID_MMFR4_CCIDX_SHIFT         24
+#define ID_MMFR4_LSM_SHIFT           20
+#define ID_MMFR4_HPDS_SHIFT          16
+#define ID_MMFR4_CNP_SHIFT           12
+#define ID_MMFR4_XNX_SHIFT           8
+#define ID_MMFR4_AC2_SHIFT           4
+#define ID_MMFR4_SPECSEI_SHIFT       0
+
+#define ID_MMFR5_ETS_SHIFT           0
+
+#define ID_PFR0_DIT_SHIFT            24
+#define ID_PFR0_CSV2_SHIFT           16
+#define ID_PFR0_STATE3_SHIFT         12
+#define ID_PFR0_STATE2_SHIFT         8
+#define ID_PFR0_STATE1_SHIFT         4
+#define ID_PFR0_STATE0_SHIFT         0
+
+#define ID_DFR0_PERFMON_SHIFT        24
+#define ID_DFR0_MPROFDBG_SHIFT       20
+#define ID_DFR0_MMAPTRC_SHIFT        16
+#define ID_DFR0_COPTRC_SHIFT         12
+#define ID_DFR0_MMAPDBG_SHIFT        8
+#define ID_DFR0_COPSDBG_SHIFT        4
+#define ID_DFR0_COPDBG_SHIFT         0
+
+#define ID_PFR2_SSBS_SHIFT           4
+#define ID_PFR2_CSV3_SHIFT           0
+
+#define MVFR0_FPROUND_SHIFT          28
+#define MVFR0_FPSHVEC_SHIFT          24
+#define MVFR0_FPSQRT_SHIFT           20
+#define MVFR0_FPDIVIDE_SHIFT         16
+#define MVFR0_FPTRAP_SHIFT           12
+#define MVFR0_FPDP_SHIFT             8
+#define MVFR0_FPSP_SHIFT             4
+#define MVFR0_SIMD_SHIFT             0
+
+#define MVFR1_SIMDFMAC_SHIFT         28
+#define MVFR1_FPHP_SHIFT             24
+#define MVFR1_SIMDHP_SHIFT           20
+#define MVFR1_SIMDSP_SHIFT           16
+#define MVFR1_SIMDINT_SHIFT          12
+#define MVFR1_SIMDLS_SHIFT           8
+#define MVFR1_FPDNAN_SHIFT           4
+#define MVFR1_FPFTZ_SHIFT            0
+
+#define ID_PFR1_GIC_SHIFT            28
+#define ID_PFR1_VIRT_FRAC_SHIFT      24
+#define ID_PFR1_SEC_FRAC_SHIFT       20
+#define ID_PFR1_GENTIMER_SHIFT       16
+#define ID_PFR1_VIRTUALIZATION_SHIFT 12
+#define ID_PFR1_MPROGMOD_SHIFT       8
+#define ID_PFR1_SECURITY_SHIFT       4
+#define ID_PFR1_PROGMOD_SHIFT        0
+
+#define MVFR2_FPMISC_SHIFT           4
+#define MVFR2_SIMDMISC_SHIFT         0
+
+#define DCZID_DZP_SHIFT              4
+#define DCZID_BS_SHIFT               0
+
+/*
+ * The ZCR_ELx_LEN_* definitions intentionally include bits [8:4] which
+ * are reserved by the SVE architecture for future expansion of the LEN
+ * field, with compatible semantics.
+ */
+#define ZCR_ELx_LEN_SHIFT            0
+#define ZCR_ELx_LEN_SIZE             9
+#define ZCR_ELx_LEN_MASK             0x1ff
+
 /* Access to system registers */
 
 #define WRITE_SYSREG64(v, name) do {                    \
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 25 13:19:46 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 13:19:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172236.314145 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIsok-0001Mz-9v; Wed, 25 Aug 2021 13:19:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172236.314145; Wed, 25 Aug 2021 13:19: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 1mIsok-0001MM-43; Wed, 25 Aug 2021 13:19:46 +0000
Received: by outflank-mailman (input) for mailman id 172236;
 Wed, 25 Aug 2021 13:19:44 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=b/lT=NQ=arm.com=bertrand.marquis@srs-us1.protection.inumbo.net>)
 id 1mIsoi-0001JZ-8x
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 13:19:44 +0000
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id 1c833d4c-05a7-11ec-a951-12813bfff9fa;
 Wed, 25 Aug 2021 13:19:43 +0000 (UTC)
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 7E111113E;
 Wed, 25 Aug 2021 06:19:43 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 6D2323F5A1;
 Wed, 25 Aug 2021 06:19: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: 1c833d4c-05a7-11ec-a951-12813bfff9fa
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 2/7] xen/arm: Import ID features sanitize from linux
Date: Wed, 25 Aug 2021 14:18:26 +0100
Message-Id: <61de0ae1aaec35cb32f0ec2ead6ce9c4c6ef154e.1629897306.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <cover.1629897306.git.bertrand.marquis@arm.com>
References: <cover.1629897306.git.bertrand.marquis@arm.com>
In-Reply-To: <cover.1629897306.git.bertrand.marquis@arm.com>
References: <cover.1629897306.git.bertrand.marquis@arm.com>

Import structures declared in Linux file arch/arm64/kernel/cpufeature.c
and the required types from arch/arm64/include/asm/cpufeature.h.

Current code has been imported from Linux 5.13-rc5 (Commit ID
cd1245d75ce93b8fd206f4b34eb58bcfe156d5e9) and copied into cpufeature.c
in arm64 code and cpufeature.h in arm64 specific headers.

Those structure will be used to sanitize the cpu features available to
the ones availble on all cores of a system even if we are on an
heterogeneous platform (from example a big/LITTLE).

For each feature field of all ID registers, those structures define what
is the safest value and if we can allow to have different values in
different cores.

This patch is introducing Linux code without any changes to it.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
Changes in v3: none
Changes in v2:
- Move add to Makefile to following patch to allow bisection
- Remove GPL text as SPDL is there
- Re-add introduction comment from Linux Kernel file
- Rename cpusanitize.c to cpufeature.c to keep Linux file name
- Move structures imported from linux headers into a new cpufeature.h
header in asm-arm/arm64.
- Move comment about imported code origin to the file header
- Remove not needed linux function declarations instead of removing them
in the following patch
- Add original arm64_ftr_safe_value from Linux
- include kernel.h to use max()
- remove unused ftr_single32 as we will not use it
- remove ctr associated structures that we cannot use (keep the one
defining sanitization bits)
---
 xen/arch/arm/arm64/cpufeature.c        | 504 +++++++++++++++++++++++++
 xen/include/asm-arm/arm64/cpufeature.h | 104 +++++
 2 files changed, 608 insertions(+)
 create mode 100644 xen/arch/arm/arm64/cpufeature.c
 create mode 100644 xen/include/asm-arm/arm64/cpufeature.h

diff --git a/xen/arch/arm/arm64/cpufeature.c b/xen/arch/arm/arm64/cpufeature.c
new file mode 100644
index 0000000000..5777e33e5c
--- /dev/null
+++ b/xen/arch/arm/arm64/cpufeature.c
@@ -0,0 +1,504 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Contains CPU feature definitions
+ *
+ * The following structures have been imported directly from Linux kernel and
+ * should be kept in sync.
+ * The current version has been imported from arch/arm64/kernel/cpufeature.c
+ *  from kernel version 5.13-rc5 together with the required structures and
+ *  macros from arch/arm64/include/asm/cpufeature.h which are stored in
+ *  include/asm-arm/arm64/cpufeature.h
+ *
+ * Copyright (C) 2021 Arm Ltd.
+ * based on code from the Linux kernel, which is:
+ *  Copyright (C) 2015 ARM Ltd.
+ *
+ * A note for the weary kernel hacker: the code here is confusing and hard to
+ * follow! That's partly because it's solving a nasty problem, but also because
+ * there's a little bit of over-abstraction that tends to obscure what's going
+ * on behind a maze of helper functions and macros.
+ *
+ * The basic problem is that hardware folks have started gluing together CPUs
+ * with distinct architectural features; in some cases even creating SoCs where
+ * user-visible instructions are available only on a subset of the available
+ * cores. We try to address this by snapshotting the feature registers of the
+ * boot CPU and comparing these with the feature registers of each secondary
+ * CPU when bringing them up. If there is a mismatch, then we update the
+ * snapshot state to indicate the lowest-common denominator of the feature,
+ * known as the "safe" value. This snapshot state can be queried to view the
+ * "sanitised" value of a feature register.
+ *
+ * The sanitised register values are used to decide which capabilities we
+ * have in the system. These may be in the form of traditional "hwcaps"
+ * advertised to userspace or internal "cpucaps" which are used to configure
+ * things like alternative patching and static keys. While a feature mismatch
+ * may result in a TAINT_CPU_OUT_OF_SPEC kernel taint, a capability mismatch
+ * may prevent a CPU from being onlined at all.
+ *
+ * Some implementation details worth remembering:
+ *
+ * - Mismatched features are *always* sanitised to a "safe" value, which
+ *   usually indicates that the feature is not supported.
+ *
+ * - A mismatched feature marked with FTR_STRICT will cause a "SANITY CHECK"
+ *   warning when onlining an offending CPU and the kernel will be tainted
+ *   with TAINT_CPU_OUT_OF_SPEC.
+ *
+ * - Features marked as FTR_VISIBLE have their sanitised value visible to
+ *   userspace. FTR_VISIBLE features in registers that are only visible
+ *   to EL0 by trapping *must* have a corresponding HWCAP so that late
+ *   onlining of CPUs cannot lead to features disappearing at runtime.
+ *
+ * - A "feature" is typically a 4-bit register field. A "capability" is the
+ *   high-level description derived from the sanitised field value.
+ *
+ * - Read the Arm ARM (DDI 0487F.a) section D13.1.3 ("Principles of the ID
+ *   scheme for fields in ID registers") to understand when feature fields
+ *   may be signed or unsigned (FTR_SIGNED and FTR_UNSIGNED accordingly).
+ *
+ * - KVM exposes its own view of the feature registers to guest operating
+ *   systems regardless of FTR_VISIBLE. This is typically driven from the
+ *   sanitised register values to allow virtual CPUs to be migrated between
+ *   arbitrary physical CPUs, but some features not present on the host are
+ *   also advertised and emulated. Look at sys_reg_descs[] for the gory
+ *   details.
+ *
+ * - If the arm64_ftr_bits[] for a register has a missing field, then this
+ *   field is treated as STRICT RES0, including for read_sanitised_ftr_reg().
+ *   This is stronger than FTR_HIDDEN and can be used to hide features from
+ *   KVM guests.
+ */
+
+#include <xen/types.h>
+#include <xen/kernel.h>
+#include <asm/sysregs.h>
+#include <asm/cpufeature.h>
+#include <asm/arm64/cpufeature.h>
+
+#define __ARM64_FTR_BITS(SIGNED, VISIBLE, STRICT, TYPE, SHIFT, WIDTH, SAFE_VAL) \
+	{						\
+		.sign = SIGNED,				\
+		.visible = VISIBLE,			\
+		.strict = STRICT,			\
+		.type = TYPE,				\
+		.shift = SHIFT,				\
+		.width = WIDTH,				\
+		.safe_val = SAFE_VAL,			\
+	}
+
+/* Define a feature with unsigned values */
+#define ARM64_FTR_BITS(VISIBLE, STRICT, TYPE, SHIFT, WIDTH, SAFE_VAL) \
+	__ARM64_FTR_BITS(FTR_UNSIGNED, VISIBLE, STRICT, TYPE, SHIFT, WIDTH, SAFE_VAL)
+
+/* Define a feature with a signed value */
+#define S_ARM64_FTR_BITS(VISIBLE, STRICT, TYPE, SHIFT, WIDTH, SAFE_VAL) \
+	__ARM64_FTR_BITS(FTR_SIGNED, VISIBLE, STRICT, TYPE, SHIFT, WIDTH, SAFE_VAL)
+
+#define ARM64_FTR_END					\
+	{						\
+		.width = 0,				\
+	}
+
+/*
+ * NOTE: Any changes to the visibility of features should be kept in
+ * sync with the documentation of the CPU feature register ABI.
+ */
+static const struct arm64_ftr_bits ftr_id_aa64isar0[] = {
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR0_RNDR_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR0_TLB_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR0_TS_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR0_FHM_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR0_DP_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR0_SM4_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR0_SM3_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR0_SHA3_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR0_RDM_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR0_ATOMICS_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR0_CRC32_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR0_SHA2_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR0_SHA1_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR0_AES_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_aa64isar1[] = {
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_I8MM_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_DGH_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_BF16_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_SPECRES_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_SB_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_FRINTTS_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_PTR_AUTH),
+		       FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_GPI_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_PTR_AUTH),
+		       FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_GPA_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_LRCPC_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_FCMA_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_JSCVT_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_PTR_AUTH),
+		       FTR_STRICT, FTR_EXACT, ID_AA64ISAR1_API_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_PTR_AUTH),
+		       FTR_STRICT, FTR_EXACT, ID_AA64ISAR1_APA_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR1_DPB_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_aa64pfr0[] = {
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64PFR0_CSV3_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64PFR0_CSV2_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64PFR0_DIT_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64PFR0_AMU_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64PFR0_MPAM_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64PFR0_SEL2_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_SVE),
+				   FTR_STRICT, FTR_LOWER_SAFE, ID_AA64PFR0_SVE_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64PFR0_RAS_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64PFR0_GIC_SHIFT, 4, 0),
+	S_ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64PFR0_ASIMD_SHIFT, 4, ID_AA64PFR0_ASIMD_NI),
+	S_ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64PFR0_FP_SHIFT, 4, ID_AA64PFR0_FP_NI),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64PFR0_EL3_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64PFR0_EL2_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64PFR0_EL1_SHIFT, 4, ID_AA64PFR0_EL1_64BIT_ONLY),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64PFR0_EL0_SHIFT, 4, ID_AA64PFR0_EL0_64BIT_ONLY),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_aa64pfr1[] = {
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64PFR1_MPAMFRAC_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64PFR1_RASFRAC_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_MTE),
+		       FTR_STRICT, FTR_LOWER_SAFE, ID_AA64PFR1_MTE_SHIFT, 4, ID_AA64PFR1_MTE_NI),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64PFR1_SSBS_SHIFT, 4, ID_AA64PFR1_SSBS_PSTATE_NI),
+	ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_BTI),
+				    FTR_STRICT, FTR_LOWER_SAFE, ID_AA64PFR1_BT_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_aa64zfr0[] = {
+	ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_SVE),
+		       FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ZFR0_F64MM_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_SVE),
+		       FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ZFR0_F32MM_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_SVE),
+		       FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ZFR0_I8MM_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_SVE),
+		       FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ZFR0_SM4_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_SVE),
+		       FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ZFR0_SHA3_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_SVE),
+		       FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ZFR0_BF16_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_SVE),
+		       FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ZFR0_BITPERM_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_SVE),
+		       FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ZFR0_AES_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_SVE),
+		       FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ZFR0_SVEVER_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_aa64mmfr0[] = {
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR0_ECV_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR0_FGT_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR0_EXS_SHIFT, 4, 0),
+	/*
+	 * Page size not being supported at Stage-2 is not fatal. You
+	 * just give up KVM if PAGE_SIZE isn't supported there. Go fix
+	 * your favourite nesting hypervisor.
+	 *
+	 * There is a small corner case where the hypervisor explicitly
+	 * advertises a given granule size at Stage-2 (value 2) on some
+	 * vCPUs, and uses the fallback to Stage-1 (value 0) for other
+	 * vCPUs. Although this is not forbidden by the architecture, it
+	 * indicates that the hypervisor is being silly (or buggy).
+	 *
+	 * We make no effort to cope with this and pretend that if these
+	 * fields are inconsistent across vCPUs, then it isn't worth
+	 * trying to bring KVM up.
+	 */
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_EXACT, ID_AA64MMFR0_TGRAN4_2_SHIFT, 4, 1),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_EXACT, ID_AA64MMFR0_TGRAN64_2_SHIFT, 4, 1),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_EXACT, ID_AA64MMFR0_TGRAN16_2_SHIFT, 4, 1),
+	/*
+	 * We already refuse to boot CPUs that don't support our configured
+	 * page size, so we can only detect mismatches for a page size other
+	 * than the one we're currently using. Unfortunately, SoCs like this
+	 * exist in the wild so, even though we don't like it, we'll have to go
+	 * along with it and treat them as non-strict.
+	 */
+	S_ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64MMFR0_TGRAN4_SHIFT, 4, ID_AA64MMFR0_TGRAN4_NI),
+	S_ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64MMFR0_TGRAN64_SHIFT, 4, ID_AA64MMFR0_TGRAN64_NI),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64MMFR0_TGRAN16_SHIFT, 4, ID_AA64MMFR0_TGRAN16_NI),
+
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR0_BIGENDEL0_SHIFT, 4, 0),
+	/* Linux shouldn't care about secure memory */
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64MMFR0_SNSMEM_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR0_BIGENDEL_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR0_ASID_SHIFT, 4, 0),
+	/*
+	 * Differing PARange is fine as long as all peripherals and memory are mapped
+	 * within the minimum PARange of all CPUs
+	 */
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64MMFR0_PARANGE_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_aa64mmfr1[] = {
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR1_ETS_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR1_TWED_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR1_XNX_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_HIGHER_SAFE, ID_AA64MMFR1_SPECSEI_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR1_PAN_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR1_LOR_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR1_HPD_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR1_VHE_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR1_VMIDBITS_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR1_HADBS_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_aa64mmfr2[] = {
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64MMFR2_E0PD_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR2_EVT_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR2_BBM_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR2_TTL_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR2_FWB_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR2_IDS_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR2_AT_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR2_ST_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR2_NV_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR2_CCIDX_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR2_LVA_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64MMFR2_IESB_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR2_LSM_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR2_UAO_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64MMFR2_CNP_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_ctr[] = {
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_EXACT, 31, 1, 1), /* RES1 */
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, CTR_DIC_SHIFT, 1, 1),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, CTR_IDC_SHIFT, 1, 1),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_HIGHER_OR_ZERO_SAFE, CTR_CWG_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_HIGHER_OR_ZERO_SAFE, CTR_ERG_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, CTR_DMINLINE_SHIFT, 4, 1),
+	/*
+	 * Linux can handle differing I-cache policies. Userspace JITs will
+	 * make use of *minLine.
+	 * If we have differing I-cache policies, report it as the weakest - VIPT.
+	 */
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_NONSTRICT, FTR_EXACT, CTR_L1IP_SHIFT, 2, ICACHE_POLICY_VIPT),	/* L1Ip */
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, CTR_IMINLINE_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_mmfr0[] = {
+	S_ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR0_INNERSHR_SHIFT, 4, 0xf),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR0_FCSE_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_MMFR0_AUXREG_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR0_TCM_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR0_SHARELVL_SHIFT, 4, 0),
+	S_ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR0_OUTERSHR_SHIFT, 4, 0xf),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR0_PMSA_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR0_VMSA_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_aa64dfr0[] = {
+	S_ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64DFR0_DOUBLELOCK_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64DFR0_PMSVER_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64DFR0_CTX_CMPS_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64DFR0_WRPS_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64DFR0_BRPS_SHIFT, 4, 0),
+	/*
+	 * We can instantiate multiple PMU instances with different levels
+	 * of support.
+	 */
+	S_ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_EXACT, ID_AA64DFR0_PMUVER_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_EXACT, ID_AA64DFR0_DEBUGVER_SHIFT, 4, 0x6),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_mvfr2[] = {
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, MVFR2_FPMISC_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, MVFR2_SIMDMISC_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_dczid[] = {
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_EXACT, DCZID_DZP_SHIFT, 1, 1),
+	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, DCZID_BS_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_isar0[] = {
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR0_DIVIDE_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR0_DEBUG_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR0_COPROC_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR0_CMPBRANCH_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR0_BITFIELD_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR0_BITCOUNT_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR0_SWAP_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_isar5[] = {
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR5_RDM_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR5_CRC32_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR5_SHA2_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR5_SHA1_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR5_AES_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR5_SEVL_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_mmfr4[] = {
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR4_EVT_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR4_CCIDX_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR4_LSM_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR4_HPDS_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR4_CNP_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR4_XNX_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR4_AC2_SHIFT, 4, 0),
+
+	/*
+	 * SpecSEI = 1 indicates that the PE might generate an SError on an
+	 * external abort on speculative read. It is safe to assume that an
+	 * SError might be generated than it will not be. Hence it has been
+	 * classified as FTR_HIGHER_SAFE.
+	 */
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_HIGHER_SAFE, ID_MMFR4_SPECSEI_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_isar4[] = {
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR4_SWP_FRAC_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR4_PSR_M_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR4_SYNCH_PRIM_FRAC_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR4_BARRIER_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR4_SMC_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR4_WRITEBACK_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR4_WITHSHIFTS_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR4_UNPRIV_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_mmfr5[] = {
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR5_ETS_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_isar6[] = {
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR6_I8MM_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR6_BF16_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR6_SPECRES_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR6_SB_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR6_FHM_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR6_DP_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR6_JSCVT_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_pfr0[] = {
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_PFR0_DIT_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_PFR0_CSV2_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_PFR0_STATE3_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_PFR0_STATE2_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_PFR0_STATE1_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_PFR0_STATE0_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_pfr1[] = {
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_PFR1_GIC_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_PFR1_VIRT_FRAC_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_PFR1_SEC_FRAC_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_PFR1_GENTIMER_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_PFR1_VIRTUALIZATION_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_PFR1_MPROGMOD_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_PFR1_SECURITY_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_PFR1_PROGMOD_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_pfr2[] = {
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_PFR2_SSBS_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_PFR2_CSV3_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_dfr0[] = {
+	/* [31:28] TraceFilt */
+	S_ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_DFR0_PERFMON_SHIFT, 4, 0xf),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_DFR0_MPROFDBG_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_DFR0_MMAPTRC_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_DFR0_COPTRC_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_DFR0_MMAPDBG_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_DFR0_COPSDBG_SHIFT, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_DFR0_COPDBG_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_id_dfr1[] = {
+	S_ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_DFR1_MTPMU_SHIFT, 4, 0),
+	ARM64_FTR_END,
+};
+
+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,
+};
+
+/*
+ * Common ftr bits for a 32bit register with all hidden, strict
+ * attributes, with 4bit feature fields and a default safe value of
+ * 0. Covers the following 32bit registers:
+ * id_isar[1-4], id_mmfr[1-3], id_pfr1, mvfr[0-1]
+ */
+static const struct arm64_ftr_bits ftr_generic_32bits[] = {
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, 28, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, 24, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, 20, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, 16, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, 12, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, 8, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, 4, 4, 0),
+	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, 0, 4, 0),
+	ARM64_FTR_END,
+};
+
+static const struct arm64_ftr_bits ftr_raz[] = {
+	ARM64_FTR_END,
+};
+
+static s64 arm64_ftr_safe_value(const struct arm64_ftr_bits *ftrp, s64 new,
+				s64 cur)
+{
+	s64 ret = 0;
+
+	switch (ftrp->type) {
+	case FTR_EXACT:
+		ret = ftrp->safe_val;
+		break;
+	case FTR_LOWER_SAFE:
+		ret = min(new, cur);
+		break;
+	case FTR_HIGHER_OR_ZERO_SAFE:
+		if (!cur || !new)
+			break;
+		fallthrough;
+	case FTR_HIGHER_SAFE:
+		ret = max(new, cur);
+		break;
+	default:
+		BUG();
+	}
+
+	return ret;
+}
+
+/*
+ * End of imported linux structures and code
+ */
+
diff --git a/xen/include/asm-arm/arm64/cpufeature.h b/xen/include/asm-arm/arm64/cpufeature.h
new file mode 100644
index 0000000000..d9b9fa77cb
--- /dev/null
+++ b/xen/include/asm-arm/arm64/cpufeature.h
@@ -0,0 +1,104 @@
+#ifndef __ASM_ARM_ARM64_CPUFEATURES_H
+#define __ASM_ARM_ARM64_CPUFEATURES_H
+
+/*
+ * CPU feature register tracking
+ *
+ * The safe value of a CPUID feature field is dependent on the implications
+ * of the values assigned to it by the architecture. Based on the relationship
+ * between the values, the features are classified into 3 types - LOWER_SAFE,
+ * HIGHER_SAFE and EXACT.
+ *
+ * The lowest value of all the CPUs is chosen for LOWER_SAFE and highest
+ * for HIGHER_SAFE. It is expected that all CPUs have the same value for
+ * a field when EXACT is specified, failing which, the safe value specified
+ * in the table is chosen.
+ */
+
+enum ftr_type {
+	FTR_EXACT,			/* Use a predefined safe value */
+	FTR_LOWER_SAFE,			/* Smaller value is safe */
+	FTR_HIGHER_SAFE,		/* Bigger value is safe */
+	FTR_HIGHER_OR_ZERO_SAFE,	/* Bigger value is safe, but 0 is biggest */
+};
+
+#define FTR_STRICT	true	/* SANITY check strict matching required */
+#define FTR_NONSTRICT	false	/* SANITY check ignored */
+
+#define FTR_SIGNED	true	/* Value should be treated as signed */
+#define FTR_UNSIGNED	false	/* Value should be treated as unsigned */
+
+#define FTR_VISIBLE	true	/* Feature visible to the user space */
+#define FTR_HIDDEN	false	/* Feature is hidden from the user */
+
+#define FTR_VISIBLE_IF_IS_ENABLED(config)		\
+	(IS_ENABLED(config) ? FTR_VISIBLE : FTR_HIDDEN)
+
+struct arm64_ftr_bits {
+	bool		sign;	/* Value is signed ? */
+	bool		visible;
+	bool		strict;	/* CPU Sanity check: strict matching required ? */
+	enum ftr_type	type;
+	u8		shift;
+	u8		width;
+	s64		safe_val; /* safe value for FTR_EXACT features */
+};
+
+static inline int __attribute_const__
+cpuid_feature_extract_signed_field_width(u64 features, int field, int width)
+{
+	return (s64)(features << (64 - width - field)) >> (64 - width);
+}
+
+static inline int __attribute_const__
+cpuid_feature_extract_signed_field(u64 features, int field)
+{
+	return cpuid_feature_extract_signed_field_width(features, field, 4);
+}
+
+static inline unsigned int __attribute_const__
+cpuid_feature_extract_unsigned_field_width(u64 features, int field, int width)
+{
+	return (u64)(features << (64 - width - field)) >> (64 - width);
+}
+
+static inline unsigned int __attribute_const__
+cpuid_feature_extract_unsigned_field(u64 features, int field)
+{
+	return cpuid_feature_extract_unsigned_field_width(features, field, 4);
+}
+
+static inline u64 arm64_ftr_mask(const struct arm64_ftr_bits *ftrp)
+{
+	return (u64)GENMASK(ftrp->shift + ftrp->width - 1, ftrp->shift);
+}
+
+static inline int __attribute_const__
+cpuid_feature_extract_field_width(u64 features, int field, int width, bool sign)
+{
+	return (sign) ?
+		cpuid_feature_extract_signed_field_width(features, field, width) :
+		cpuid_feature_extract_unsigned_field_width(features, field, width);
+}
+
+static inline int __attribute_const__
+cpuid_feature_extract_field(u64 features, int field, bool sign)
+{
+	return cpuid_feature_extract_field_width(features, field, 4, sign);
+}
+
+static inline s64 arm64_ftr_value(const struct arm64_ftr_bits *ftrp, u64 val)
+{
+	return (s64)cpuid_feature_extract_field_width(val, ftrp->shift, ftrp->width, ftrp->sign);
+}
+
+#endif /* _ASM_ARM_ARM64_CPUFEATURES_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 Wed Aug 25 13:19:50 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 13:19:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172237.314162 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIsoo-0001vD-LK; Wed, 25 Aug 2021 13:19:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172237.314162; Wed, 25 Aug 2021 13:19: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 1mIsoo-0001v6-Hj; Wed, 25 Aug 2021 13:19:50 +0000
Received: by outflank-mailman (input) for mailman id 172237;
 Wed, 25 Aug 2021 13:19:49 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=b/lT=NQ=arm.com=bertrand.marquis@srs-us1.protection.inumbo.net>)
 id 1mIson-0001JY-4q
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 13:19:49 +0000
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id 63410c7e-dff8-4578-823a-67a08cafd02a;
 Wed, 25 Aug 2021 13:19:44 +0000 (UTC)
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 8EA3B106F;
 Wed, 25 Aug 2021 06:19:44 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id C3BEE3F5A1;
 Wed, 25 Aug 2021 06:19: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: 63410c7e-dff8-4578-823a-67a08cafd02a
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 3/7] xen/arm: Rename cpu_boot_data to system_cpuinfo
Date: Wed, 25 Aug 2021 14:18:27 +0100
Message-Id: <588f4cdd02ce3f907c4b97b1513d90f153d127c0.1629897306.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <cover.1629897306.git.bertrand.marquis@arm.com>
References: <cover.1629897306.git.bertrand.marquis@arm.com>
In-Reply-To: <cover.1629897306.git.bertrand.marquis@arm.com>
References: <cover.1629897306.git.bertrand.marquis@arm.com>

As we will sanitize the content of boot_cpu_data it will not really
contain the boot cpu information but the system sanitize information.
Rename the structure to system_cpuinfo so the user is informed that this
is the system wide available feature and not anymore the features of the
boot cpu.
The original boot cpu data is still available in cpu_data.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
Changes in v3: none
Changes in v2:
  - patch introduced in v2
---
 xen/arch/arm/cpufeature.c        |  8 ++------
 xen/arch/arm/setup.c             | 34 ++++++++++++++++++--------------
 xen/arch/arm/smpboot.c           |  6 +++---
 xen/include/asm-arm/cpufeature.h |  6 +++---
 4 files changed, 27 insertions(+), 27 deletions(-)

diff --git a/xen/arch/arm/cpufeature.c b/xen/arch/arm/cpufeature.c
index 1d88783809..f600a611bd 100644
--- a/xen/arch/arm/cpufeature.c
+++ b/xen/arch/arm/cpufeature.c
@@ -169,12 +169,8 @@ void identify_cpu(struct cpuinfo_arm *c)
  */
 static int __init create_guest_cpuinfo(void)
 {
-    /*
-     * TODO: The code is currently using only the features detected on the boot
-     * core. In the long term we should try to compute values containing only
-     * features supported by all cores.
-     */
-    guest_cpuinfo = boot_cpu_data;
+    /* Use the sanitized cpuinfo as initial guest cpuinfo */
+    guest_cpuinfo = system_cpuinfo;
 
 #ifdef CONFIG_ARM_64
     /* Hide MPAM support as xen does not support it */
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 63a908e325..3798c5ade0 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -56,7 +56,11 @@
 
 struct bootinfo __initdata bootinfo;
 
-struct cpuinfo_arm __read_mostly boot_cpu_data;
+/*
+ * Sanitized version of cpuinfo containing only features available on all
+ * cores (only on arm64 as there is no sanitization support on arm32).
+ */
+struct cpuinfo_arm __read_mostly system_cpuinfo;
 
 #ifdef CONFIG_ACPI
 bool __read_mostly acpi_disabled;
@@ -100,7 +104,7 @@ static const char * __initdata processor_implementers[] = {
 static void __init processor_id(void)
 {
     const char *implementer = "Unknown";
-    struct cpuinfo_arm *c = &boot_cpu_data;
+    struct cpuinfo_arm *c = &system_cpuinfo;
 
     identify_cpu(c);
     current_cpu_data = *c;
@@ -120,7 +124,7 @@ static void __init processor_id(void)
 #if defined(CONFIG_ARM_64)
     printk("64-bit Execution:\n");
     printk("  Processor Features: %016"PRIx64" %016"PRIx64"\n",
-           boot_cpu_data.pfr64.bits[0], boot_cpu_data.pfr64.bits[1]);
+           system_cpuinfo.pfr64.bits[0], system_cpuinfo.pfr64.bits[1]);
     printk("    Exception Levels: EL3:%s EL2:%s EL1:%s EL0:%s\n",
            cpu_has_el3_32 ? "64+32" : cpu_has_el3_64 ? "64" : "No",
            cpu_has_el2_32 ? "64+32" : cpu_has_el2_64 ? "64" : "No",
@@ -144,13 +148,13 @@ static void __init processor_id(void)
                boot_cpu_feature64(simd));
 
     printk("  Debug Features: %016"PRIx64" %016"PRIx64"\n",
-           boot_cpu_data.dbg64.bits[0], boot_cpu_data.dbg64.bits[1]);
+           system_cpuinfo.dbg64.bits[0], system_cpuinfo.dbg64.bits[1]);
     printk("  Auxiliary Features: %016"PRIx64" %016"PRIx64"\n",
-           boot_cpu_data.aux64.bits[0], boot_cpu_data.aux64.bits[1]);
+           system_cpuinfo.aux64.bits[0], system_cpuinfo.aux64.bits[1]);
     printk("  Memory Model Features: %016"PRIx64" %016"PRIx64"\n",
-           boot_cpu_data.mm64.bits[0], boot_cpu_data.mm64.bits[1]);
+           system_cpuinfo.mm64.bits[0], system_cpuinfo.mm64.bits[1]);
     printk("  ISA Features:  %016"PRIx64" %016"PRIx64"\n",
-           boot_cpu_data.isa64.bits[0], boot_cpu_data.isa64.bits[1]);
+           system_cpuinfo.isa64.bits[0], system_cpuinfo.isa64.bits[1]);
 #endif
 
     /*
@@ -161,7 +165,7 @@ static void __init processor_id(void)
     {
         printk("32-bit Execution:\n");
         printk("  Processor Features: %"PRIregister":%"PRIregister"\n",
-               boot_cpu_data.pfr32.bits[0], boot_cpu_data.pfr32.bits[1]);
+               system_cpuinfo.pfr32.bits[0], system_cpuinfo.pfr32.bits[1]);
         printk("    Instruction Sets:%s%s%s%s%s%s\n",
                cpu_has_aarch32 ? " AArch32" : "",
                cpu_has_arm ? " A32" : "",
@@ -174,18 +178,18 @@ static void __init processor_id(void)
                cpu_has_security ? " Security" : "");
 
         printk("  Debug Features: %"PRIregister"\n",
-               boot_cpu_data.dbg32.bits[0]);
+               system_cpuinfo.dbg32.bits[0]);
         printk("  Auxiliary Features: %"PRIregister"\n",
-               boot_cpu_data.aux32.bits[0]);
+               system_cpuinfo.aux32.bits[0]);
         printk("  Memory Model Features: %"PRIregister" %"PRIregister"\n"
                "                         %"PRIregister" %"PRIregister"\n",
-               boot_cpu_data.mm32.bits[0], boot_cpu_data.mm32.bits[1],
-               boot_cpu_data.mm32.bits[2], boot_cpu_data.mm32.bits[3]);
+               system_cpuinfo.mm32.bits[0], system_cpuinfo.mm32.bits[1],
+               system_cpuinfo.mm32.bits[2], system_cpuinfo.mm32.bits[3]);
         printk("  ISA Features: %"PRIregister" %"PRIregister" %"PRIregister"\n"
                "                %"PRIregister" %"PRIregister" %"PRIregister"\n",
-               boot_cpu_data.isa32.bits[0], boot_cpu_data.isa32.bits[1],
-               boot_cpu_data.isa32.bits[2], boot_cpu_data.isa32.bits[3],
-               boot_cpu_data.isa32.bits[4], boot_cpu_data.isa32.bits[5]);
+               system_cpuinfo.isa32.bits[0], system_cpuinfo.isa32.bits[1],
+               system_cpuinfo.isa32.bits[2], system_cpuinfo.isa32.bits[3],
+               system_cpuinfo.isa32.bits[4], system_cpuinfo.isa32.bits[5]);
     }
     else
     {
diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index a1ee3146ef..c9f2827d56 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -124,7 +124,7 @@ static void __init dt_smp_init_cpus(void)
     bool bootcpu_valid = false;
     int rc;
 
-    mpidr = boot_cpu_data.mpidr.bits & MPIDR_HWID_MASK;
+    mpidr = system_cpuinfo.mpidr.bits & MPIDR_HWID_MASK;
 
     if ( !cpus )
     {
@@ -319,13 +319,13 @@ void start_secondary(void)
      * now.
      */
     if ( !opt_hmp_unsafe &&
-         current_cpu_data.midr.bits != boot_cpu_data.midr.bits )
+         current_cpu_data.midr.bits != system_cpuinfo.midr.bits )
     {
         printk(XENLOG_ERR
                "CPU%u MIDR (0x%"PRIregister") does not match boot CPU MIDR (0x%"PRIregister"),\n"
                XENLOG_ERR "disable cpu (see big.LITTLE.txt under docs/).\n",
                smp_processor_id(), current_cpu_data.midr.bits,
-               boot_cpu_data.midr.bits);
+               system_cpuinfo.midr.bits);
         stop_cpu();
     }
 
diff --git a/xen/include/asm-arm/cpufeature.h b/xen/include/asm-arm/cpufeature.h
index ba48db3eac..8f2b8e7830 100644
--- a/xen/include/asm-arm/cpufeature.h
+++ b/xen/include/asm-arm/cpufeature.h
@@ -3,7 +3,7 @@
 
 #ifdef CONFIG_ARM_64
 #define cpu_feature64(c, feat)         ((c)->pfr64.feat)
-#define boot_cpu_feature64(feat)       (boot_cpu_data.pfr64.feat)
+#define boot_cpu_feature64(feat)       (system_cpuinfo.pfr64.feat)
 
 #define cpu_feature64_has_el0_32(c)    (cpu_feature64(c, el0) == 2)
 
@@ -21,7 +21,7 @@
 #endif
 
 #define cpu_feature32(c, feat)         ((c)->pfr32.feat)
-#define boot_cpu_feature32(feat)       (boot_cpu_data.pfr32.feat)
+#define boot_cpu_feature32(feat)       (system_cpuinfo.pfr32.feat)
 
 #define cpu_has_arm       (boot_cpu_feature32(arm) == 1)
 #define cpu_has_thumb     (boot_cpu_feature32(thumb) >= 1)
@@ -326,7 +326,7 @@ struct cpuinfo_arm {
     } mvfr;
 };
 
-extern struct cpuinfo_arm boot_cpu_data;
+extern struct cpuinfo_arm system_cpuinfo;
 
 extern void identify_cpu(struct cpuinfo_arm *);
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 25 13:19:51 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 13:19:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172238.314166 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIsop-0001yW-0r; Wed, 25 Aug 2021 13:19:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172238.314166; Wed, 25 Aug 2021 13:19: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 1mIsoo-0001xP-Qy; Wed, 25 Aug 2021 13:19:50 +0000
Received: by outflank-mailman (input) for mailman id 172238;
 Wed, 25 Aug 2021 13:19:49 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=b/lT=NQ=arm.com=bertrand.marquis@srs-us1.protection.inumbo.net>)
 id 1mIson-0001JZ-7f
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 13:19:49 +0000
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id 1e267c23-05a7-11ec-a951-12813bfff9fa;
 Wed, 25 Aug 2021 13:19:46 +0000 (UTC)
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 55832106F;
 Wed, 25 Aug 2021 06:19:46 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id C65CC3F5A1;
 Wed, 25 Aug 2021 06:19: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: 1e267c23-05a7-11ec-a951-12813bfff9fa
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: 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>,
	Ian Jackson <iwj@xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v3 4/7] xen/arm: Sanitize cpuinfo ID registers fields
Date: Wed, 25 Aug 2021 14:18:28 +0100
Message-Id: <6710cc0ac3fbc9c8030dfa3d6dfc3ecb79de4b71.1629897306.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <cover.1629897306.git.bertrand.marquis@arm.com>
References: <cover.1629897306.git.bertrand.marquis@arm.com>
In-Reply-To: <cover.1629897306.git.bertrand.marquis@arm.com>
References: <cover.1629897306.git.bertrand.marquis@arm.com>

Define a sanitize_cpu function to be called on secondary cores to
sanitize the system cpuinfo structure.

The safest value is taken when possible and the system is marked tainted
if we encounter values which are incompatible with each other.

Call the update_system_features function on all secondary cores that are
kept running and taint the system if different midr are found between
cores but hmp-unsafe=true was passed on Xen command line.

This is only supported on arm64 so update_system_features is an empty
static inline on arm32.

The patch is adding a new TAINT_CPU_OUT_OF_SPEC to warn the user if
Xen is running on a system with features differences between cores which
are not supported.

The patch is disabling CTR_EL0, DCZID_EL0 and ZCRusing #if 0 with a TODO
as this patch is not handling sanitization of those registers.
CTR_EL0/DCZID will be handled in a future patch to properly handle
different cache attributes when possible.
ZCR should be sanitize once we add support for SVE in Xen.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
Changes in v3:
- in case of different midr but hmp-unsafe passed on the command line,
enable all cores anyway but taint Xen with CPU_OUT_OF_SPEC.
- use current core info to sanitize cpu only if we keep it on
Changes in v2:
- add compilation of cpufeature.c in this patch instead of previous one
- remove functions reused from linux code and moved to header
- rename sanitize_cpu to update_system_features
- change to Linux coding style
- remove dev comments
- surround currently not used Linux structures with #if 0 and adapt the
commit message
- add missing aa64dfr1 register
- add TODO for CTR, DCZID and ZCR
- add CPU_OUT_OF_SPEC support to print_taint
- use system_cpuinfo instead of boot_cpu_data
---
 xen/arch/arm/arm64/Makefile      |   1 +
 xen/arch/arm/arm64/cpufeature.c  | 121 +++++++++++++++++++++++++++++++
 xen/arch/arm/smpboot.c           |  34 +++++++--
 xen/common/kernel.c              |   6 +-
 xen/include/asm-arm/cpufeature.h |   9 +++
 xen/include/xen/lib.h            |   1 +
 6 files changed, 162 insertions(+), 10 deletions(-)

diff --git a/xen/arch/arm/arm64/Makefile b/xen/arch/arm/arm64/Makefile
index 40642ff574..701d66883d 100644
--- a/xen/arch/arm/arm64/Makefile
+++ b/xen/arch/arm/arm64/Makefile
@@ -1,6 +1,7 @@
 obj-y += lib/
 
 obj-y += cache.o
+obj-y += cpufeature.o
 obj-$(CONFIG_HARDEN_BRANCH_PREDICTOR) += bpi.o
 obj-$(CONFIG_EARLY_PRINTK) += debug.o
 obj-y += domctl.o
diff --git a/xen/arch/arm/arm64/cpufeature.c b/xen/arch/arm/arm64/cpufeature.c
index 5777e33e5c..61f629ebaa 100644
--- a/xen/arch/arm/arm64/cpufeature.c
+++ b/xen/arch/arm/arm64/cpufeature.c
@@ -275,6 +275,9 @@ static const struct arm64_ftr_bits ftr_id_aa64mmfr2[] = {
 	ARM64_FTR_END,
 };
 
+#if 0
+/* TODO: use this to sanitize the cache line size among cores */
+
 static const struct arm64_ftr_bits ftr_ctr[] = {
 	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_EXACT, 31, 1, 1), /* RES1 */
 	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, CTR_DIC_SHIFT, 1, 1),
@@ -291,6 +294,7 @@ static const struct arm64_ftr_bits ftr_ctr[] = {
 	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, CTR_IMINLINE_SHIFT, 4, 0),
 	ARM64_FTR_END,
 };
+#endif
 
 static const struct arm64_ftr_bits ftr_id_mmfr0[] = {
 	S_ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR0_INNERSHR_SHIFT, 4, 0xf),
@@ -325,11 +329,14 @@ static const struct arm64_ftr_bits ftr_mvfr2[] = {
 	ARM64_FTR_END,
 };
 
+#if 0
+/* TODO: handle this when sanitizing cache related registers */
 static const struct arm64_ftr_bits ftr_dczid[] = {
 	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_EXACT, DCZID_DZP_SHIFT, 1, 1),
 	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, DCZID_BS_SHIFT, 4, 0),
 	ARM64_FTR_END,
 };
+#endif
 
 static const struct arm64_ftr_bits ftr_id_isar0[] = {
 	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR0_DIVIDE_SHIFT, 4, 0),
@@ -444,11 +451,15 @@ 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
@@ -502,3 +513,113 @@ static s64 arm64_ftr_safe_value(const struct arm64_ftr_bits *ftrp, s64 new,
  * End of imported linux structures and code
  */
 
+static void sanitize_reg(u64 *cur_reg, u64 new_reg, const char *reg_name,
+						const struct arm64_ftr_bits *ftrp)
+{
+	int taint = 0;
+	u64 old_reg = *cur_reg;
+
+	for (;ftrp->width != 0;ftrp++)
+	{
+		u64 mask;
+		s64 cur_field = arm64_ftr_value(ftrp, *cur_reg);
+		s64 new_field = arm64_ftr_value(ftrp, new_reg);
+
+		if (cur_field == new_field)
+			continue;
+
+		if (ftrp->strict)
+			taint = 1;
+
+		mask = arm64_ftr_mask(ftrp);
+
+		*cur_reg &= ~mask;
+		*cur_reg |= (arm64_ftr_safe_value(ftrp, new_field, cur_field)
+					<< ftrp->shift) & mask;
+	}
+
+	if (old_reg != new_reg)
+		printk(XENLOG_DEBUG "SANITY DIF: %s 0x%"PRIx64" -> 0x%"PRIx64"\n",
+				reg_name, old_reg, new_reg);
+	if (old_reg != *cur_reg)
+		printk(XENLOG_DEBUG "SANITY FIX: %s 0x%"PRIx64" -> 0x%"PRIx64"\n",
+				reg_name, old_reg, *cur_reg);
+
+	if (taint)
+	{
+		printk(XENLOG_WARNING "SANITY CHECK: Unexpected variation in %s.\n",
+				reg_name);
+		add_taint(TAINT_CPU_OUT_OF_SPEC);
+	}
+}
+
+
+/*
+ * This function should be called on secondary cores to sanitize the boot cpu
+ * cpuinfo.
+ */
+void update_system_features(const struct cpuinfo_arm *new)
+{
+
+#define SANITIZE_REG(field, num, reg)  \
+	sanitize_reg(&system_cpuinfo.field.bits[num], new->field.bits[num], \
+				 #reg, ftr_##reg)
+
+#define SANITIZE_ID_REG(field, num, reg)  \
+	sanitize_reg(&system_cpuinfo.field.bits[num], new->field.bits[num], \
+				#reg, ftr_id_##reg)
+
+#define SANITIZE_RAZ_REG(field, num, reg)  \
+	sanitize_reg(&system_cpuinfo.field.bits[num], new->field.bits[num], \
+				#reg, ftr_raz)
+
+#define SANITIZE_GENERIC_REG(field, num, reg)  \
+	sanitize_reg(&system_cpuinfo.field.bits[num], new->field.bits[num], \
+				#reg, ftr_generic_32bits)
+
+	SANITIZE_ID_REG(pfr64, 0, aa64pfr0);
+	SANITIZE_ID_REG(pfr64, 1, aa64pfr1);
+
+	SANITIZE_ID_REG(dbg64, 0, aa64dfr0);
+	SANITIZE_RAZ_REG(dbg64, 1, aa64dfr1);
+
+	SANITIZE_ID_REG(mm64, 0, aa64mmfr0);
+	SANITIZE_ID_REG(mm64, 1, aa64mmfr1);
+	SANITIZE_ID_REG(mm64, 2, aa64mmfr2);
+
+	SANITIZE_ID_REG(isa64, 0, aa64isar0);
+	SANITIZE_ID_REG(isa64, 1, aa64isar1);
+
+	SANITIZE_ID_REG(zfr64, 0, aa64zfr0);
+
+	if ( cpu_feature64_has_el0_32(&system_cpuinfo) )
+	{
+		SANITIZE_ID_REG(pfr32, 0, pfr0);
+		SANITIZE_ID_REG(pfr32, 1, pfr1);
+		SANITIZE_ID_REG(pfr32, 2, pfr2);
+
+		SANITIZE_ID_REG(dbg32, 0, dfr0);
+		SANITIZE_ID_REG(dbg32, 1, dfr1);
+
+		SANITIZE_ID_REG(mm32, 0, mmfr0);
+		SANITIZE_GENERIC_REG(mm32, 1, mmfr1);
+		SANITIZE_GENERIC_REG(mm32, 2, mmfr2);
+		SANITIZE_GENERIC_REG(mm32, 3, mmfr3);
+		SANITIZE_ID_REG(mm32, 4, mmfr4);
+		SANITIZE_ID_REG(mm32, 5, mmfr5);
+
+		SANITIZE_ID_REG(isa32, 0, isar0);
+		SANITIZE_GENERIC_REG(isa32, 1, isar1);
+		SANITIZE_GENERIC_REG(isa32, 2, isar2);
+		SANITIZE_GENERIC_REG(isa32, 3, isar3);
+		SANITIZE_ID_REG(isa32, 4, isar4);
+		SANITIZE_ID_REG(isa32, 5, isar5);
+		SANITIZE_ID_REG(isa32, 6, isar6);
+
+		SANITIZE_GENERIC_REG(mvfr, 0, mvfr0);
+		SANITIZE_GENERIC_REG(mvfr, 1, mvfr1);
+#ifndef MVFR2_MAYBE_UNDEFINED
+		SANITIZE_REG(mvfr, 2, mvfr2);
+#endif
+	}
+}
diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index c9f2827d56..60c0e82fc5 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -318,15 +318,26 @@ void start_secondary(void)
      * is manually specified for all domains). Better to park them for
      * now.
      */
-    if ( !opt_hmp_unsafe &&
-         current_cpu_data.midr.bits != system_cpuinfo.midr.bits )
+    if ( current_cpu_data.midr.bits != system_cpuinfo.midr.bits )
     {
-        printk(XENLOG_ERR
-               "CPU%u MIDR (0x%"PRIregister") does not match boot CPU MIDR (0x%"PRIregister"),\n"
-               XENLOG_ERR "disable cpu (see big.LITTLE.txt under docs/).\n",
-               smp_processor_id(), current_cpu_data.midr.bits,
-               system_cpuinfo.midr.bits);
-        stop_cpu();
+        if ( !opt_hmp_unsafe )
+        {
+            printk(XENLOG_ERR
+                   "CPU%u MIDR (0x%"PRIregister") does not match boot CPU MIDR (0x%"PRIregister"),\n"
+                   XENLOG_ERR "disable cpu (see big.LITTLE.txt under docs/).\n",
+                   smp_processor_id(), current_cpu_data.midr.bits,
+                   system_cpuinfo.midr.bits);
+            stop_cpu();
+        }
+        else
+        {
+            printk(XENLOG_ERR
+                   "CPU%u MIDR (0x%"PRIregister") does not match boot CPU MIDR (0x%"PRIregister"),\n"
+                   XENLOG_ERR "hmp-unsafe turned on so tainting Xen and keep core on!!\n",
+                   smp_processor_id(), current_cpu_data.midr.bits,
+                   system_cpuinfo.midr.bits);
+            add_taint(TAINT_CPU_OUT_OF_SPEC);
+         }
     }
 
     if ( dcache_line_bytes != read_dcache_line_bytes() )
@@ -337,6 +348,13 @@ void start_secondary(void)
         stop_cpu();
     }
 
+    /*
+     * system features must be updated only if we do not stop the core or
+     * we might disable features due to a non used core (for example when
+     * booting on big cores on a big.LITTLE system with hmp_unsafe)
+     */
+    update_system_features(&current_cpu_data);
+
     mmu_init_secondary_cpu();
 
     gic_init_secondary_cpu();
diff --git a/xen/common/kernel.c b/xen/common/kernel.c
index d77756a81e..e119e5401f 100644
--- a/xen/common/kernel.c
+++ b/xen/common/kernel.c
@@ -327,6 +327,7 @@ unsigned int tainted;
  *  'H' - HVM forced emulation prefix is permitted.
  *  'M' - Machine had a machine check experience.
  *  'U' - Platform is unsecure (usually due to an errata on the platform).
+ *  'S' - Out of spec CPU (One core has a feature incompatible with others).
  *
  *      The string is overwritten by the next call to print_taint().
  */
@@ -334,12 +335,13 @@ char *print_tainted(char *str)
 {
     if ( tainted )
     {
-        snprintf(str, TAINT_STRING_MAX_LEN, "Tainted: %c%c%c%c%c",
+        snprintf(str, TAINT_STRING_MAX_LEN, "Tainted: %c%c%c%c%c%c",
                  tainted & TAINT_MACHINE_UNSECURE ? 'U' : ' ',
                  tainted & TAINT_MACHINE_CHECK ? 'M' : ' ',
                  tainted & TAINT_SYNC_CONSOLE ? 'C' : ' ',
                  tainted & TAINT_ERROR_INJECT ? 'E' : ' ',
-                 tainted & TAINT_HVM_FEP ? 'H' : ' ');
+                 tainted & TAINT_HVM_FEP ? 'H' : ' ',
+                 tainted & TAINT_CPU_OUT_OF_SPEC ? 'S' : ' ');
     }
     else
     {
diff --git a/xen/include/asm-arm/cpufeature.h b/xen/include/asm-arm/cpufeature.h
index 8f2b8e7830..52cb3133e0 100644
--- a/xen/include/asm-arm/cpufeature.h
+++ b/xen/include/asm-arm/cpufeature.h
@@ -330,6 +330,15 @@ extern struct cpuinfo_arm system_cpuinfo;
 
 extern void identify_cpu(struct cpuinfo_arm *);
 
+#ifdef CONFIG_ARM_64
+extern void update_system_features(const struct cpuinfo_arm *);
+#else
+static inline void update_system_features(const struct cpuinfo_arm *cpuinfo)
+{
+    /* Not supported on arm32 */
+}
+#endif
+
 extern struct cpuinfo_arm cpu_data[];
 #define current_cpu_data cpu_data[smp_processor_id()]
 
diff --git a/xen/include/xen/lib.h b/xen/include/xen/lib.h
index 1198c7c0b2..c6987973bf 100644
--- a/xen/include/xen/lib.h
+++ b/xen/include/xen/lib.h
@@ -192,6 +192,7 @@ uint64_t muldiv64(uint64_t a, uint32_t b, uint32_t c);
 #define TAINT_ERROR_INJECT              (1u << 2)
 #define TAINT_HVM_FEP                   (1u << 3)
 #define TAINT_MACHINE_UNSECURE          (1u << 4)
+#define TAINT_CPU_OUT_OF_SPEC           (1u << 5)
 extern unsigned int tainted;
 #define TAINT_STRING_MAX_LEN            20
 extern char *print_tainted(char *str);
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 25 13:19:55 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 13:19:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172239.314184 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIsot-0002ZQ-DJ; Wed, 25 Aug 2021 13:19:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172239.314184; Wed, 25 Aug 2021 13:19: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 1mIsot-0002ZA-9J; Wed, 25 Aug 2021 13:19:55 +0000
Received: by outflank-mailman (input) for mailman id 172239;
 Wed, 25 Aug 2021 13:19:54 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=b/lT=NQ=arm.com=bertrand.marquis@srs-us1.protection.inumbo.net>)
 id 1mIsos-0001JY-5A
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 13:19:54 +0000
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id 6f8a4e9c-b70f-40b6-bd5a-ad796e73e482;
 Wed, 25 Aug 2021 13:19:47 +0000 (UTC)
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 8936C113E;
 Wed, 25 Aug 2021 06:19:47 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id A51773F5A1;
 Wed, 25 Aug 2021 06:19: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: 6f8a4e9c-b70f-40b6-bd5a-ad796e73e482
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 5/7] xen/arm: Use sanitize values for p2m
Date: Wed, 25 Aug 2021 14:18:29 +0100
Message-Id: <dbc702844a4322db69a1b0a56ab57be66f4d6174.1629897306.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <cover.1629897306.git.bertrand.marquis@arm.com>
References: <cover.1629897306.git.bertrand.marquis@arm.com>
In-Reply-To: <cover.1629897306.git.bertrand.marquis@arm.com>
References: <cover.1629897306.git.bertrand.marquis@arm.com>

Replace the code in p2m trying to find a sane value for the VMID size
supported and the PAR to use. We are now using the boot cpuinfo as the
values there are sanitized during boot and the value for those
parameters is now the safest possible value on the system.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
Changes in v3: drop arm32 mention in commmit message
Changes in v2:
 - use system_cpuinfo
---
 xen/arch/arm/p2m.c | 30 ++++++++++--------------------
 1 file changed, 10 insertions(+), 20 deletions(-)

diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index eff9a105e7..41b6430c30 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -2045,31 +2045,21 @@ void __init setup_virt_paging(void)
         [7] = { 0 }  /* Invalid */
     };
 
-    unsigned int i, cpu;
+    unsigned int i;
     unsigned int pa_range = 0x10; /* Larger than any possible value */
-    bool vmid_8_bit = false;
-
-    for_each_online_cpu ( cpu )
-    {
-        const struct cpuinfo_arm *info = &cpu_data[cpu];
 
-        /*
-         * Restrict "p2m_ipa_bits" if needed. As P2M table is always configured
-         * with IPA bits == PA bits, compare against "pabits".
-         */
-        if ( pa_range_info[info->mm64.pa_range].pabits < p2m_ipa_bits )
-            p2m_ipa_bits = pa_range_info[info->mm64.pa_range].pabits;
-
-        /* Set a flag if the current cpu does not support 16 bit VMIDs. */
-        if ( info->mm64.vmid_bits != MM64_VMID_16_BITS_SUPPORT )
-            vmid_8_bit = true;
-    }
+    /*
+     * Restrict "p2m_ipa_bits" if needed. As P2M table is always configured
+     * with IPA bits == PA bits, compare against "pabits".
+     */
+    if ( pa_range_info[system_cpuinfo.mm64.pa_range].pabits < p2m_ipa_bits )
+        p2m_ipa_bits = pa_range_info[system_cpuinfo.mm64.pa_range].pabits;
 
     /*
-     * If the flag is not set then it means all CPUs support 16-bit
-     * VMIDs.
+     * cpu info sanitization made sure we support 16bits VMID only if all
+     * cores are supporting it.
      */
-    if ( !vmid_8_bit )
+    if ( system_cpuinfo.mm64.vmid_bits == MM64_VMID_16_BITS_SUPPORT )
         max_vmid = MAX_VMID_16_BIT;
 
     /* Choose suitable "pa_range" according to the resulted "p2m_ipa_bits". */
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 25 13:19:56 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 13:19:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172240.314189 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIsot-0002dw-Rs; Wed, 25 Aug 2021 13:19:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172240.314189; Wed, 25 Aug 2021 13:19: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 1mIsot-0002cz-Kb; Wed, 25 Aug 2021 13:19:55 +0000
Received: by outflank-mailman (input) for mailman id 172240;
 Wed, 25 Aug 2021 13:19:54 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=b/lT=NQ=arm.com=bertrand.marquis@srs-us1.protection.inumbo.net>)
 id 1mIsos-0001JZ-7r
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 13:19:54 +0000
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id 1fa164e0-05a7-11ec-a951-12813bfff9fa;
 Wed, 25 Aug 2021 13:19:49 +0000 (UTC)
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 B4F26106F;
 Wed, 25 Aug 2021 06:19:48 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id CD9263F5A1;
 Wed, 25 Aug 2021 06:19: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: 1fa164e0-05a7-11ec-a951-12813bfff9fa
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 6/7] xen/arm: Taint Xen on incompatible DCZID values
Date: Wed, 25 Aug 2021 14:18:30 +0100
Message-Id: <c1868fce1bcb0bcddf7bc786be166007f91f2f67.1629897306.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <cover.1629897306.git.bertrand.marquis@arm.com>
References: <cover.1629897306.git.bertrand.marquis@arm.com>
In-Reply-To: <cover.1629897306.git.bertrand.marquis@arm.com>
References: <cover.1629897306.git.bertrand.marquis@arm.com>

Use arm64 cpu feature sanitization to TAIN Xen if different DCZID values
are found (ftr_dczid is using only STRICT method).
In this case actual memory being cleaned by DC ZVA operations would be
different depending on the cores which could make a guest zeroing too
much or too little memory if it is merged between CPUs.

We could, on processor supporting it, trap access to DCZID_EL0 register
using HFGRTR_EL2 register but this would not solve the case where a
process is being migrated during a copy or if it cached the value of the
register.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
Change in v3: none
Change in v2: Patch introduced in v2
---
 xen/arch/arm/arm64/cpufeature.c  | 14 +++++++++++---
 xen/arch/arm/cpufeature.c        |  2 ++
 xen/include/asm-arm/cpufeature.h |  8 ++++++++
 3 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/arm64/cpufeature.c b/xen/arch/arm/arm64/cpufeature.c
index 61f629ebaa..b1936ef1d6 100644
--- a/xen/arch/arm/arm64/cpufeature.c
+++ b/xen/arch/arm/arm64/cpufeature.c
@@ -329,14 +329,11 @@ static const struct arm64_ftr_bits ftr_mvfr2[] = {
 	ARM64_FTR_END,
 };
 
-#if 0
-/* TODO: handle this when sanitizing cache related registers */
 static const struct arm64_ftr_bits ftr_dczid[] = {
 	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_EXACT, DCZID_DZP_SHIFT, 1, 1),
 	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, DCZID_BS_SHIFT, 4, 0),
 	ARM64_FTR_END,
 };
-#endif
 
 static const struct arm64_ftr_bits ftr_id_isar0[] = {
 	ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_ISAR0_DIVIDE_SHIFT, 4, 0),
@@ -592,6 +589,17 @@ void update_system_features(const struct cpuinfo_arm *new)
 
 	SANITIZE_ID_REG(zfr64, 0, aa64zfr0);
 
+	/*
+	 * Comment from Linux:
+	 * Userspace may perform DC ZVA instructions. Mismatched block sizes
+	 * could result in too much or too little memory being zeroed if a
+	 * process is preempted and migrated between CPUs.
+	 *
+	 * ftr_dczid is using STRICT comparison so we will taint Xen if different
+	 * values are found.
+	 */
+	SANITIZE_REG(dczid, 0, dczid);
+
 	if ( cpu_feature64_has_el0_32(&system_cpuinfo) )
 	{
 		SANITIZE_ID_REG(pfr32, 0, pfr0);
diff --git a/xen/arch/arm/cpufeature.c b/xen/arch/arm/cpufeature.c
index f600a611bd..113f20f601 100644
--- a/xen/arch/arm/cpufeature.c
+++ b/xen/arch/arm/cpufeature.c
@@ -125,6 +125,8 @@ void identify_cpu(struct cpuinfo_arm *c)
 
     c->zfr64.bits[0] = READ_SYSREG(ID_AA64ZFR0_EL1);
 
+    c->dczid.bits[0] = READ_SYSREG(DCZID_EL0);
+
     aarch32_el0 = cpu_feature64_has_el0_32(c);
 #endif
 
diff --git a/xen/include/asm-arm/cpufeature.h b/xen/include/asm-arm/cpufeature.h
index 52cb3133e0..5219fd3bab 100644
--- a/xen/include/asm-arm/cpufeature.h
+++ b/xen/include/asm-arm/cpufeature.h
@@ -259,6 +259,14 @@ struct cpuinfo_arm {
         register_t bits[1];
     } zfr64;
 
+    /*
+     * DCZID is only used to check for incoherent values between cores
+     * and taint Xen in this case
+     */
+    struct {
+        register_t bits[1];
+    } dczid;
+
 #endif
 
     /*
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 25 13:20:01 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 13:20:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172241.314206 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIsoz-0003PX-Av; Wed, 25 Aug 2021 13:20:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172241.314206; Wed, 25 Aug 2021 13: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 1mIsoz-0003PI-6t; Wed, 25 Aug 2021 13:20:01 +0000
Received: by outflank-mailman (input) for mailman id 172241;
 Wed, 25 Aug 2021 13:19:59 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=b/lT=NQ=arm.com=bertrand.marquis@srs-us1.protection.inumbo.net>)
 id 1mIsox-0001JY-5H
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 13:19:59 +0000
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id d5f3d2c7-5089-4218-9b83-3aed8e65be03;
 Wed, 25 Aug 2021 13:19:50 +0000 (UTC)
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 CE6A2106F;
 Wed, 25 Aug 2021 06:19:49 -0700 (PDT)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id EE8A23F5A1;
 Wed, 25 Aug 2021 06: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: d5f3d2c7-5089-4218-9b83-3aed8e65be03
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 7/7] xen/arm: Sanitize CTR_EL0 and emulate it if needed
Date: Wed, 25 Aug 2021 14:18:31 +0100
Message-Id: <a7482653a0c29d68854846f25553f4938a6279b9.1629897306.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <cover.1629897306.git.bertrand.marquis@arm.com>
References: <cover.1629897306.git.bertrand.marquis@arm.com>
In-Reply-To: <cover.1629897306.git.bertrand.marquis@arm.com>
References: <cover.1629897306.git.bertrand.marquis@arm.com>

Sanitize CTR_EL0 value between cores.

In most cases different values will taint Xen but if different
i-cache policies are found, we choose the one which will be compatible
between all cores in terms of invalidation/data cache flushing strategy.

In this case we need to activate the TID2 bit in HCR to emulate the
TCR_EL0 register for guests. This patch is not activating TID2 bit all
the time to limit the overhead when possible.

When TID2 is activate we also need to emulate the CCSIDR, CSSELR and
CLIDR registers which is done here for both 32 and 64bit versions of the
registers.

Add CTR register field definitions using Linux value and define names
and use the opportunity to rename CTR_L1Ip to use an upper case name
instead. The patch is also defining ICACHE_POLICY_xxx instead of only
having CTR_L1IP_xxx. Code using those defines is also updated by this
patch (arm32 setup).

On most big/LITTLE platforms this patch will activate TID2 and emulate
VIPT type of i-cache for all cores (as most LITTLE cores are VIPT where
big ones are PIPT). This is the case for example on Juno boards.

On platforms with only the same type of cores, this patch should not
modify the behaviour.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
Changes in v3: none
Change in v2: Patch introduced in v2
---
 xen/arch/arm/arm64/cpufeature.c  | 19 +++++++++++---
 xen/arch/arm/arm64/vsysreg.c     | 40 ++++++++++++++++++++++++++++
 xen/arch/arm/cpufeature.c        |  2 ++
 xen/arch/arm/domain.c            |  8 ++++++
 xen/arch/arm/setup.c             |  2 +-
 xen/arch/arm/vcpreg.c            | 45 ++++++++++++++++++++++++++++++++
 xen/include/asm-arm/arm64/hsr.h  |  6 +++++
 xen/include/asm-arm/cpufeature.h | 11 ++++++++
 xen/include/asm-arm/processor.h  | 18 ++++++++++---
 9 files changed, 143 insertions(+), 8 deletions(-)

diff --git a/xen/arch/arm/arm64/cpufeature.c b/xen/arch/arm/arm64/cpufeature.c
index b1936ef1d6..334d590ba0 100644
--- a/xen/arch/arm/arm64/cpufeature.c
+++ b/xen/arch/arm/arm64/cpufeature.c
@@ -275,9 +275,6 @@ static const struct arm64_ftr_bits ftr_id_aa64mmfr2[] = {
 	ARM64_FTR_END,
 };
 
-#if 0
-/* TODO: use this to sanitize the cache line size among cores */
-
 static const struct arm64_ftr_bits ftr_ctr[] = {
 	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_EXACT, 31, 1, 1), /* RES1 */
 	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, CTR_DIC_SHIFT, 1, 1),
@@ -294,7 +291,6 @@ static const struct arm64_ftr_bits ftr_ctr[] = {
 	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, CTR_IMINLINE_SHIFT, 4, 0),
 	ARM64_FTR_END,
 };
-#endif
 
 static const struct arm64_ftr_bits ftr_id_mmfr0[] = {
 	S_ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR0_INNERSHR_SHIFT, 4, 0xf),
@@ -510,6 +506,12 @@ static s64 arm64_ftr_safe_value(const struct arm64_ftr_bits *ftrp, s64 new,
  * End of imported linux structures and code
  */
 
+/*
+ * This is set to true if we have different type of i-caches on cores
+ * and used to activate TID2 bit to emulate CTR_EL0 register for guests
+ */
+bool mismatch_cache_type = false;
+
 static void sanitize_reg(u64 *cur_reg, u64 new_reg, const char *reg_name,
 						const struct arm64_ftr_bits *ftrp)
 {
@@ -600,6 +602,15 @@ void update_system_features(const struct cpuinfo_arm *new)
 	 */
 	SANITIZE_REG(dczid, 0, dczid);
 
+	SANITIZE_REG(ctr, 0, ctr);
+
+	/*
+	 * If CTR is different among cores, set mismatch_cache_type to activate
+	 * TID2 bit in HCR and emulate CTR register access for guests.
+	 */
+	if ( system_cpuinfo.ctr.bits[0] != new->ctr.bits[0] )
+		mismatch_cache_type = true;
+
 	if ( cpu_feature64_has_el0_32(&system_cpuinfo) )
 	{
 		SANITIZE_ID_REG(pfr32, 0, pfr0);
diff --git a/xen/arch/arm/arm64/vsysreg.c b/xen/arch/arm/arm64/vsysreg.c
index 887266dd46..17212bd7ae 100644
--- a/xen/arch/arm/arm64/vsysreg.c
+++ b/xen/arch/arm/arm64/vsysreg.c
@@ -341,6 +341,46 @@ void do_sysreg(struct cpu_user_regs *regs,
     case HSR_SYSREG(3,0,c0,c7,7):
         return handle_ro_raz(regs, regidx, hsr.sysreg.read, hsr, 1);
 
+    /*
+     * HCR_EL2.TID2
+     *
+     * registers related to cache detection
+     */
+    case HSR_SYSREG_CTR_EL0:
+        return handle_ro_read_val(regs, regidx, hsr.sysreg.read, hsr, 1,
+                system_cpuinfo.ctr.bits[0]);
+
+    case HSR_SYSREG_CLIDR_EL1:
+        return handle_ro_read_val(regs, regidx, hsr.sysreg.read, hsr, 1,
+                READ_SYSREG(CLIDR_EL1));
+
+    case HSR_SYSREG_CSSELR_EL1:
+        if ( psr_mode_is_user(regs) )
+            return inject_undef_exception(regs, hsr);
+        if ( hsr.sysreg.read )
+            set_user_reg(regs, regidx, v->arch.csselr);
+        else
+            v->arch.csselr = get_user_reg(regs, regidx);
+        break;
+
+    case HSR_SYSREG_CCSIDR_EL1:
+        if ( psr_mode_is_user(regs) )
+            return inject_undef_exception(regs, hsr);
+        if ( hsr.sysreg.read )
+        {
+            /* we need to set CSSELR and do the read of CCSIDR atomically */
+            WRITE_SYSREG(v->arch.csselr, CSSELR_EL1);
+            set_user_reg(regs, regidx, READ_SYSREG(CCSIDR_EL1));
+        }
+        break;
+
+    case HSR_SYSREG_CCSIDR2_EL1:
+        /*
+         * This would need to return a properly defined value if CCIDX is
+         * implemented in the processor
+         */
+        return inject_undef_exception(regs, hsr);
+
     /*
      * HCR_EL2.TIDCP
      *
diff --git a/xen/arch/arm/cpufeature.c b/xen/arch/arm/cpufeature.c
index 113f20f601..6e51f530a8 100644
--- a/xen/arch/arm/cpufeature.c
+++ b/xen/arch/arm/cpufeature.c
@@ -127,6 +127,8 @@ void identify_cpu(struct cpuinfo_arm *c)
 
     c->dczid.bits[0] = READ_SYSREG(DCZID_EL0);
 
+    c->ctr.bits[0] = READ_SYSREG(CTR_EL0);
+
     aarch32_el0 = cpu_feature64_has_el0_32(c);
 #endif
 
diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index 19c756ac3d..7a97fde3e7 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -585,6 +585,14 @@ int arch_vcpu_create(struct vcpu *v)
     v->arch.vmpidr = MPIDR_SMP | vcpuid_to_vaffinity(v->vcpu_id);
 
     v->arch.hcr_el2 = get_default_hcr_flags();
+#ifdef CONFIG_ARM64
+    /*
+     * Only activated TID2 to catch access to CTR_EL0 if the platform has some
+     * mismatching i-cache types among cores
+     */
+    if ( mismatch_cache_type )
+        v->arch.hcr_el2 |= HCR_TID2;
+#endif
 
     if ( (rc = vcpu_vgic_init(v)) != 0 )
         goto fail;
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 3798c5ade0..33b7bfb59c 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -627,7 +627,7 @@ static void __init setup_mm(void)
         panic("No memory bank\n");
 
     /* We only supports instruction caches implementing the IVIPT extension. */
-    if ( ((ctr >> CTR_L1Ip_SHIFT) & CTR_L1Ip_MASK) == CTR_L1Ip_AIVIVT )
+    if ( ((ctr >> CTR_L1IP_SHIFT) & CTR_L1IP_MASK) == ICACHE_POLICY_AIVIVT )
         panic("AIVIVT instruction cache not supported\n");
 
     init_pdx();
diff --git a/xen/arch/arm/vcpreg.c b/xen/arch/arm/vcpreg.c
index 33259c4194..5ffed96ded 100644
--- a/xen/arch/arm/vcpreg.c
+++ b/xen/arch/arm/vcpreg.c
@@ -361,6 +361,51 @@ void do_cp15_32(struct cpu_user_regs *regs, const union hsr hsr)
     HSR_CPREG32_TID3_CASES(c7):
         return handle_ro_raz(regs, regidx, cp32.read, hsr, 1);
 
+#ifdef CONFIG_ARM64
+    /*
+     * HCR_EL2.TID2
+     *
+     * registers related to cache detection
+     * Only supported on arm64 as we do not sanitize cpuinfo on arm32 so we
+     * do not need to emulate those.
+     */
+    case HSR_CPREG32(CTR):
+        return handle_ro_read_val(regs, regidx, cp32.read, hsr, 1,
+                system_cpuinfo.ctr.bits[0]);
+
+    case HSR_CPREG32(CLIDR):
+        return handle_ro_read_val(regs, regidx, cp32.read, hsr, 1,
+                READ_SYSREG(CLIDR_EL1));
+
+    case HSR_CPREG32(CSSELR):
+        if ( psr_mode_is_user(regs) )
+            return inject_undef_exception(regs, hsr);
+        if ( cp32.read )
+            set_user_reg(regs, regidx, v->arch.csselr);
+        else
+            v->arch.csselr = get_user_reg(regs, regidx);
+        break;
+
+    case HSR_CPREG32(CCSIDR):
+        if ( psr_mode_is_user(regs) )
+            return inject_undef_exception(regs, hsr);
+        if ( cp32.read )
+        {
+            /* we need to set CSSELR and do the read of CCSIDR atomically */
+            WRITE_SYSREG(v->arch.csselr, CSSELR_EL1);
+            set_user_reg(regs, regidx, READ_SYSREG(CCSIDR_EL1));
+        }
+        break;
+
+    case HSR_CPREG32(CCSIDR2):
+        /*
+         * This would need to return a properly defined value if CCIDX is
+         * implemented in the processor
+         */
+        return inject_undef_exception(regs, hsr);
+
+#endif
+
     /*
      * HCR_EL2.TIDCP
      *
diff --git a/xen/include/asm-arm/arm64/hsr.h b/xen/include/asm-arm/arm64/hsr.h
index e691d41c17..c33980e4e5 100644
--- a/xen/include/asm-arm/arm64/hsr.h
+++ b/xen/include/asm-arm/arm64/hsr.h
@@ -147,6 +147,12 @@
 #define HSR_SYSREG_ID_AA64AFR1_EL1   HSR_SYSREG(3,0,c0,c5,5)
 #define HSR_SYSREG_ID_AA64ZFR0_EL1   HSR_SYSREG(3,0,c0,c4,4)
 
+#define HSR_SYSREG_CTR_EL0      HSR_SYSREG(3,3,c0,c0,1)
+#define HSR_SYSREG_CLIDR_EL1    HSR_SYSREG(3,1,c0,c0,1)
+#define HSR_SYSREG_CSSELR_EL1   HSR_SYSREG(3,2,c0,c0,0)
+#define HSR_SYSREG_CCSIDR_EL1   HSR_SYSREG(3,1,c0,c0,0)
+#define HSR_SYSREG_CCSIDR2_EL1  HSR_SYSREG(3,1,c0,c0,2)
+
 #endif /* __ASM_ARM_ARM64_HSR_H */
 
 /*
diff --git a/xen/include/asm-arm/cpufeature.h b/xen/include/asm-arm/cpufeature.h
index 5219fd3bab..ca6e827fcb 100644
--- a/xen/include/asm-arm/cpufeature.h
+++ b/xen/include/asm-arm/cpufeature.h
@@ -267,6 +267,14 @@ struct cpuinfo_arm {
         register_t bits[1];
     } dczid;
 
+    /*
+     * CTR is only used to check for different cache types or policies and
+     * taint Xen in this case
+     */
+    struct {
+        register_t bits[1];
+    } ctr;
+
 #endif
 
     /*
@@ -339,6 +347,9 @@ extern struct cpuinfo_arm system_cpuinfo;
 extern void identify_cpu(struct cpuinfo_arm *);
 
 #ifdef CONFIG_ARM_64
+
+extern bool mismatched_cache_type;
+
 extern void update_system_features(const struct cpuinfo_arm *);
 #else
 static inline void update_system_features(const struct cpuinfo_arm *cpuinfo)
diff --git a/xen/include/asm-arm/processor.h b/xen/include/asm-arm/processor.h
index 2577e9a244..8c9843e12b 100644
--- a/xen/include/asm-arm/processor.h
+++ b/xen/include/asm-arm/processor.h
@@ -7,9 +7,21 @@
 #include <public/arch-arm.h>
 
 /* CTR Cache Type Register */
-#define CTR_L1Ip_MASK       0x3
-#define CTR_L1Ip_SHIFT      14
-#define CTR_L1Ip_AIVIVT     0x1
+#define CTR_L1IP_MASK       0x3
+#define CTR_L1IP_SHIFT      14
+#define CTR_DMINLINE_SHIFT  16
+#define CTR_IMINLINE_SHIFT  0
+#define CTR_IMINLINE_MASK   0xf
+#define CTR_ERG_SHIFT       20
+#define CTR_CWG_SHIFT       24
+#define CTR_CWG_MASK        15
+#define CTR_IDC_SHIFT       28
+#define CTR_DIC_SHIFT       29
+
+#define ICACHE_POLICY_VPIPT  0
+#define ICACHE_POLICY_AIVIVT 1
+#define ICACHE_POLICY_VIPT   2
+#define ICACHE_POLICY_PIPT   3
 
 /* MIDR Main ID Register */
 #define MIDR_REVISION_MASK      0xf
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Aug 25 13:24:33 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 13:24:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172300.314277 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIstI-0007HA-TQ; Wed, 25 Aug 2021 13:24:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172300.314277; Wed, 25 Aug 2021 13: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 1mIstI-0007Gl-OH; Wed, 25 Aug 2021 13:24:28 +0000
Received: by outflank-mailman (input) for mailman id 172300;
 Wed, 25 Aug 2021 13:24: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 1mIstH-0007GN-EH
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 13:24: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 1mIstH-0005gl-7q; Wed, 25 Aug 2021 13:24:27 +0000
Received: from 54-240-197-238.amazon.com ([54.240.197.238]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mIstH-0001xC-2U; Wed, 25 Aug 2021 13:24:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=Q0lffNYAkr0CaSNniiVRngNS5zJx2GWYEA3wuqoFI2g=; b=MUA4M12APekwiZfTEo2eRvSdPQ
	ohAqrqHRREOIu4EAZYBbLrNy2Ab6oE9OBfco0wTOTuNAK2FF2FtUgafo6pZd2pX6m2eiwJ2g0KVl2
	KIgYtzOnUvL4kOa+Ip2LC16njslqlimG1IkfHiTw7SgwrNaCnxuRdskhQPxdKyrWkREA=;
Subject: Re: [XEN RFC PATCH 13/40] xen/arm: introduce numa_set_node for Arm
To: Wei Chen <Wei.Chen@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>
Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-14-wei.chen@arm.com>
 <a07963e4-84c8-32de-4e8b-013a5419deea@xen.org>
 <DB9PR08MB6857E228F4C0847D4DF014ED9EC69@DB9PR08MB6857.eurprd08.prod.outlook.com>
From: Julien Grall <julien@xen.org>
Message-ID: <af61e054-5ac3-d302-0750-04566b3d797c@xen.org>
Date: Wed, 25 Aug 2021 14:24:25 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <DB9PR08MB6857E228F4C0847D4DF014ED9EC69@DB9PR08MB6857.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit



On 25/08/2021 13:07, Wei Chen wrote:
> Hi Julien,

Hi Wei,

>> -----Original Message-----
>> From: Julien Grall <julien@xen.org>
>> Sent: 2021年8月25日 18:37
>> To: Wei Chen <Wei.Chen@arm.com>; xen-devel@lists.xenproject.org;
>> sstabellini@kernel.org; jbeulich@suse.com
>> Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>
>> Subject: Re: [XEN RFC PATCH 13/40] xen/arm: introduce numa_set_node for
>> Arm
>>
>> Hi Wei,
>>
>> On 11/08/2021 11:23, Wei Chen wrote:
>>> This API is used to set one CPU to a NUMA node. If the system
>>> configure NUMA off or system initialize NUMA failed, the
>>> online NUMA node would set to only node#0. This will be done
>>> in following patches. When NUMA turn off or init failed,
>>> node_online_map will be cleared and set node#0 online. So we
>>> use node_online_map to prevent to set a CPU to an offline node.
>>
>> IHMO numa_set_node() should behave exactly the same way on x86 and Arm
>> because this is going to be used by the common code.
>>
>>   From the commit message, I don't quite understand why the check is
>> necessary on Arm but not on x86. Can you clarify it?
>>
> 
> Yes, in patch#27, in smpboot.c, dt_smp_init_cpus function.
> We will parse CPU numa-node-id from dtb CPU node. If we get
> a valid node ID for one CPU, we will invoke numa_set_node to
> create CPU-NODE map. But in our testing, we found when NUMA
> init failed, numa_set_node still can set CPU to a offline
> or invalid NODE. So we're using node_online_map to prevent
> this behavior. Otherwise we have to check node_online_map
> everywhere before we call numa_set_node.

What do you mean by invalid NODE? Is it 0xFF (NUMA_NO_NODE)?

> 
> x86 actually is doing the same way, but it handles node_online_map
> check out of numa_set_node:

Right...

>> I think numa_set_node() will want to be implemented in common code.
>>
> 
> See my above comment. If x86 is ok, I think yes, we can do it
> in common code.

... on x86, this check is performed outside of numa_set_node() for one 
caller whereas on Arm you are adding it in numa_set_node().

For example, numa_set_node() can be called with NUMA_NO_NODE. On x86, we 
would set cpu_to_node[] to that value. However, if I am not mistaken, on 
Arm we would set the value to 0.

This will change the behavior of users to cpu_to_node() later on (such 
as XEN_SYSCTL_cputopoinfo).

NUMA is not something architecture specific, so I dont't think the 
implementation should differ here.

In this case, I think numa_set_node() shouldn't check if the node is 
valid. Instead, the caller should take care of it if it is important.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 13:26:49 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 13:26:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172311.314311 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIsvY-0008Cb-Fp; Wed, 25 Aug 2021 13:26:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172311.314311; Wed, 25 Aug 2021 13: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 1mIsvY-0008CU-Cx; Wed, 25 Aug 2021 13:26:48 +0000
Received: by outflank-mailman (input) for mailman id 172311;
 Wed, 25 Aug 2021 13:26:47 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mIsvX-0008CO-Ae
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 13:26:47 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mIsvX-0005lW-6w; Wed, 25 Aug 2021 13:26:47 +0000
Received: from 54-240-197-238.amazon.com ([54.240.197.238]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mIsvX-0002Ii-1d; Wed, 25 Aug 2021 13:26:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=a8ky96G2QUwuIv2T7FkIlpAzHRBVQsby+vW5SEXet7Q=; b=O+1OIrZ7+hY0yq4VdF/qtK8Rqp
	PDi5BFqlpN5y2IruGhShgEWtgweGTD9p+3aXeeuonwPzMswugksWQUAfDo3R5NNtzEnr8grUQm7c0
	utuu6OI5GhghvBx+yE8MVgv9jp7Ted5aBngvhuUIvqcHGlrvGo8c98RFlAqccqOVEaQo=;
Subject: Re: [XEN RFC PATCH 12/40] xen/x86: Move numa_initmem_init to common
To: Wei Chen <Wei.Chen@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>
Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-13-wei.chen@arm.com>
 <8c2daae2-df32-14ad-8f08-27fec30cf9b9@xen.org>
 <DB9PR08MB685735416FFC85344717DF2D9EC69@DB9PR08MB6857.eurprd08.prod.outlook.com>
From: Julien Grall <julien@xen.org>
Message-ID: <b5b32a29-0cfe-53fa-4f43-9c8455719acc@xen.org>
Date: Wed, 25 Aug 2021 14:26:45 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <DB9PR08MB685735416FFC85344717DF2D9EC69@DB9PR08MB6857.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit



On 25/08/2021 12:15, Wei Chen wrote:
> Hi Julien,

Hi Wei,

>> -----Original Message-----
>> From: Julien Grall <julien@xen.org>
>> Sent: 2021年8月25日 18:22
>> To: Wei Chen <Wei.Chen@arm.com>; xen-devel@lists.xenproject.org;
>> sstabellini@kernel.org; jbeulich@suse.com
>> Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>
>> Subject: Re: [XEN RFC PATCH 12/40] xen/x86: Move numa_initmem_init to
>> common
>>
>> Hi Wei,
>>
>> On 11/08/2021 11:23, Wei Chen wrote:
>>> This function can be reused by Arm device tree based
>>> NUMA support. So we move it from x86 to common, as well
>>> as its related variables and functions:
>>> setup_node_bootmem, numa_init_array and numa_emulation.
>>>
>>> As numa_initmem_init has been moved to common, _memnodemap
>>> is not used cross files. We can restore _memnodemap to
>>> static.
>>
>> As we discussed on a previous patch, we should try to avoid this kind of
>> dance. I can help to find a split that would achieve that.
>>
> 
> Yes, thanks!
> 
>>>
>>> Signed-off-by: Wei Chen <wei.chen@arm.com>
>>> ---
>>>    xen/arch/x86/numa.c         | 118 ----------------------------------
>>>    xen/common/numa.c           | 122 +++++++++++++++++++++++++++++++++++-
>>>    xen/include/asm-x86/numa.h  |   5 --
>>>    xen/include/asm-x86/setup.h |   1 -
>>>    xen/include/xen/numa.h      |   8 ++-
>>>    5 files changed, 128 insertions(+), 126 deletions(-)
>>>
>>> diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c
>>> index f2626b3968..6908738305 100644
>>> --- a/xen/arch/x86/numa.c
>>> +++ b/xen/arch/x86/numa.c
>>> @@ -38,7 +38,6 @@ nodeid_t apicid_to_node[MAX_LOCAL_APIC] = {
>>>
>>>    nodemask_t __read_mostly node_online_map = { { [0] = 1UL } };
>>>
>>> -bool numa_off;
>>>    s8 acpi_numa = 0;
>>>
>>>    int srat_disabled(void)
>>> @@ -46,123 +45,6 @@ int srat_disabled(void)
>>>        return numa_off || acpi_numa < 0;
>>>    }
>>>
>>> -/* initialize NODE_DATA given nodeid and start/end */
>>> -void __init setup_node_bootmem(nodeid_t nodeid, u64 start, u64 end)
>>> -{
>>> -    unsigned long start_pfn, end_pfn;
>>> -
>>> -    start_pfn = start >> PAGE_SHIFT;
>>> -    end_pfn = end >> PAGE_SHIFT;
>>> -
>>> -    NODE_DATA(nodeid)->node_start_pfn = start_pfn;
>>> -    NODE_DATA(nodeid)->node_spanned_pages = end_pfn - start_pfn;
>>> -
>>> -    node_set_online(nodeid);
>>> -}
>>> -
>>> -void __init numa_init_array(void)
>>> -{
>>> -    int rr, i;
>>> -
>>> -    /* There are unfortunately some poorly designed mainboards around
>>> -       that only connect memory to a single CPU. This breaks the 1:1
>> cpu->node
>>> -       mapping. To avoid this fill in the mapping for all possible
>>> -       CPUs, as the number of CPUs is not known yet.
>>> -       We round robin the existing nodes. */
>>> -    rr = first_node(node_online_map);
>>> -    for ( i = 0; i < nr_cpu_ids; i++ )
>>> -    {
>>> -        if ( cpu_to_node[i] != NUMA_NO_NODE )
>>> -            continue;
>>> -        numa_set_node(i, rr);
>>> -        rr = cycle_node(rr, node_online_map);
>>> -    }
>>> -}
>>> -
>>> -#ifdef CONFIG_NUMA_EMU
>>> -static int numa_fake __initdata = 0;
>>> -
>>> -/* Numa emulation */
>>> -static int __init numa_emulation(u64 start_pfn, u64 end_pfn)
>>> -{
>>> -    int i;
>>> -    struct node nodes[MAX_NUMNODES];
>>> -    u64 sz = ((end_pfn - start_pfn)<<PAGE_SHIFT) / numa_fake;
>>> -
>>> -    /* Kludge needed for the hash function */
>>> -    if ( hweight64(sz) > 1 )
>>> -    {
>>> -        u64 x = 1;
>>> -        while ( (x << 1) < sz )
>>> -            x <<= 1;
>>> -        if ( x < sz/2 )
>>> -            printk(KERN_ERR "Numa emulation unbalanced. Complain to
>> maintainer\n");
>>> -        sz = x;
>>> -    }
>>> -
>>> -    memset(&nodes,0,sizeof(nodes));
>>> -    for ( i = 0; i < numa_fake; i++ )
>>> -    {
>>> -        nodes[i].start = (start_pfn<<PAGE_SHIFT) + i*sz;
>>> -        if ( i == numa_fake - 1 )
>>> -            sz = (end_pfn<<PAGE_SHIFT) - nodes[i].start;
>>> -        nodes[i].end = nodes[i].start + sz;
>>> -        printk(KERN_INFO "Faking node %d at %"PRIx64"-%"PRIx64"
>> (%"PRIu64"MB)\n",
>>> -               i,
>>> -               nodes[i].start, nodes[i].end,
>>> -               (nodes[i].end - nodes[i].start) >> 20);
>>> -        node_set_online(i);
>>> -    }
>>> -    memnode_shift = compute_hash_shift(nodes, numa_fake, NULL);
>>> -    if ( memnode_shift < 0 )
>>> -    {
>>> -        memnode_shift = 0;
>>> -        printk(KERN_ERR "No NUMA hash function found. Emulation
>> disabled.\n");
>>> -        return -1;
>>> -    }
>>> -    for_each_online_node ( i )
>>> -        setup_node_bootmem(i, nodes[i].start, nodes[i].end);
>>> -    numa_init_array();
>>> -
>>> -    return 0;
>>> -}
>>> -#endif
>>> -
>>> -void __init numa_initmem_init(unsigned long start_pfn, unsigned long
>> end_pfn)
>>> -{
>>> -    int i;
>>> -
>>> -#ifdef CONFIG_NUMA_EMU
>>> -    if ( numa_fake && !numa_emulation(start_pfn, end_pfn) )
>>> -        return;
>>> -#endif
>>> -
>>> -#ifdef CONFIG_ACPI_NUMA
>>> -    if ( !numa_off && !acpi_scan_nodes((u64)start_pfn << PAGE_SHIFT,
>>> -         (u64)end_pfn << PAGE_SHIFT) )
>>> -        return;
>>> -#endif
>>> -
>>> -    printk(KERN_INFO "%s\n",
>>> -           numa_off ? "NUMA turned off" : "No NUMA configuration
>> found");
>>> -
>>> -    printk(KERN_INFO "Faking a node at %016"PRIx64"-%016"PRIx64"\n",
>>> -           (u64)start_pfn << PAGE_SHIFT,
>>> -           (u64)end_pfn << PAGE_SHIFT);
>>> -    /* setup dummy node covering all memory */
>>> -    memnode_shift = BITS_PER_LONG - 1;
>>> -    memnodemap = _memnodemap;
>>> -    memnodemapsize = ARRAY_SIZE(_memnodemap);
>>> -
>>> -    nodes_clear(node_online_map);
>>> -    node_set_online(0);
>>> -    for ( i = 0; i < nr_cpu_ids; i++ )
>>> -        numa_set_node(i, 0);
>>> -    cpumask_copy(&node_to_cpumask[0], cpumask_of(0));
>>> -    setup_node_bootmem(0, (u64)start_pfn << PAGE_SHIFT,
>>> -                    (u64)end_pfn << PAGE_SHIFT);
>>> -}
>>> -
>>>    void numa_set_node(int cpu, nodeid_t node)
>>>    {
>>>        cpu_to_node[cpu] = node;
>>> diff --git a/xen/common/numa.c b/xen/common/numa.c
>>> index 1facc8fe2b..26c0006d04 100644
>>> --- a/xen/common/numa.c
>>> +++ b/xen/common/numa.c
>>> @@ -14,12 +14,13 @@
>>>    #include <xen/smp.h>
>>>    #include <xen/pfn.h>
>>>    #include <xen/sched.h>
>>
>> NIT: We tend to add a newline betwen <xen/...> headers and <asm/...>
>> headers.
>>
> 
> got it
> 
>>> +#include <asm/acpi.h>
>>>
>>>    struct node_data node_data[MAX_NUMNODES];
>>>
>>>    /* Mapping from pdx to node id */
>>>    int memnode_shift;
>>> -typeof(*memnodemap) _memnodemap[64];
>>> +static typeof(*memnodemap) _memnodemap[64];
>>>    unsigned long memnodemapsize;
>>>    u8 *memnodemap;
>>>
>>> @@ -34,6 +35,8 @@ int num_node_memblks;
>>>    struct node node_memblk_range[NR_NODE_MEMBLKS];
>>>    nodeid_t memblk_nodeid[NR_NODE_MEMBLKS];
>>>
>>> +bool numa_off;
>>> +
>>>    /*
>>>     * Given a shift value, try to populate memnodemap[]
>>>     * Returns :
>>> @@ -191,3 +194,120 @@ void numa_add_cpu(int cpu)
>>>    {
>>>        cpumask_set_cpu(cpu, &node_to_cpumask[cpu_to_node(cpu)]);
>>>    }
>>> +
>>> +/* initialize NODE_DATA given nodeid and start/end */
>>> +void __init setup_node_bootmem(nodeid_t nodeid, u64 start, u64 end)
>>
>>   From an abstract PoV, start and end should be paddr_t. This should be
>> done on a separate patch though.
>>
> 
> Ok.
> 
>>> +{
>>> +    unsigned long start_pfn, end_pfn;
>>> +
>>> +    start_pfn = start >> PAGE_SHIFT;
>>> +    end_pfn = end >> PAGE_SHIFT;
>>> +
>>> +    NODE_DATA(nodeid)->node_start_pfn = start_pfn;
>>> +    NODE_DATA(nodeid)->node_spanned_pages = end_pfn - start_pfn;
>>> +
>>> +    node_set_online(nodeid);
>>> +}
>>> +
>>> +void __init numa_init_array(void)
>>> +{
>>> +    int rr, i;
>>> +
>>> +    /* There are unfortunately some poorly designed mainboards around
>>> +       that only connect memory to a single CPU. This breaks the 1:1
>> cpu->node
>>> +       mapping. To avoid this fill in the mapping for all possible
>>> +       CPUs, as the number of CPUs is not known yet.
>>> +       We round robin the existing nodes. */
>>> +    rr = first_node(node_online_map);
>>> +    for ( i = 0; i < nr_cpu_ids; i++ )
>>> +    {
>>> +        if ( cpu_to_node[i] != NUMA_NO_NODE )
>>> +            continue;
>>> +        numa_set_node(i, rr);
>>> +        rr = cycle_node(rr, node_online_map);
>>> +    }
>>> +}
>>> +
>>> +#ifdef CONFIG_NUMA_EMU
>>> +int numa_fake __initdata = 0;
>>> +
>>> +/* Numa emulation */
>>> +static int __init numa_emulation(u64 start_pfn, u64 end_pfn)
>>
>> Here, this should be either "unsigned long" or ideally "mfn_t".
>> Although, if you use "unsigned long", you will need to...
>>
> 
> Do we need a separate patch to do it?

I would prefer if the cleanups are done separately as this makes easier 
to review code movement.

> 
>>> +{
>>> +    int i;
>>> +    struct node nodes[MAX_NUMNODES];
>>> +    u64 sz = ((end_pfn - start_pfn)<<PAGE_SHIFT) / numa_fake;
>>
>> ... cast "(end_pfn - start_pfn)" to uin64_t or use pfn_to_paddr().
>>
> 
> Ok
> 
>>> +
>>> +    /* Kludge needed for the hash function */
>>> +    if ( hweight64(sz) > 1 )
>>> +    {
>>> +        u64 x = 1;
>>> +        while ( (x << 1) < sz )
>>> +            x <<= 1;
>>> +        if ( x < sz/2 )
>>> +            printk(KERN_ERR "Numa emulation unbalanced. Complain to
>> maintainer\n");
>>> +        sz = x;
>>> +    }
>>> +
>>> +    memset(&nodes,0,sizeof(nodes));
>>> +    for ( i = 0; i < numa_fake; i++ )
>>> +    {
>>> +        nodes[i].start = (start_pfn<<PAGE_SHIFT) + i*sz;
>>> +        if ( i == numa_fake - 1 )
>>> +            sz = (end_pfn<<PAGE_SHIFT) - nodes[i].start;
>>> +        nodes[i].end = nodes[i].start + sz;
>>> +        printk(KERN_INFO "Faking node %d at %"PRIx64"-%"PRIx64"
>> (%"PRIu64"MB)\n",
>>> +               i,
>>> +               nodes[i].start, nodes[i].end,
>>> +               (nodes[i].end - nodes[i].start) >> 20);
>>> +        node_set_online(i);
>>> +    }
>>> +    memnode_shift = compute_hash_shift(nodes, numa_fake, NULL);
>>> +    if ( memnode_shift < 0 )
>>> +    {
>>> +        memnode_shift = 0;
>>> +        printk(KERN_ERR "No NUMA hash function found. Emulation
>> disabled.\n");
>>> +        return -1;
>>> +    }
>>> +    for_each_online_node ( i )
>>> +        setup_node_bootmem(i, nodes[i].start, nodes[i].end);
>>> +    numa_init_array();
>>> +
>>> +    return 0;
>>> +}
>>> +#endif
>>> +
>>> +void __init numa_initmem_init(unsigned long start_pfn, unsigned long
>> end_pfn)
>>> +{
>>> +    int i;
>>> +
>>> +#ifdef CONFIG_NUMA_EMU
>>> +    if ( numa_fake && !numa_emulation(start_pfn, end_pfn) )
>>> +        return;
>>> +#endif
>>> +
>>> +#ifdef CONFIG_ACPI_NUMA
>>> +    if ( !numa_off && !acpi_scan_nodes((u64)start_pfn << PAGE_SHIFT,
>>> +         (u64)end_pfn << PAGE_SHIFT) )
>>
>> (u64)v << PAGE_SHIFT should be switched to use pfn_to_paddr() or
>> mfn_to_paddr() if you decide to make start_pfn and end_pfn typesafe.
>>
> 
> Still need a separate patch to change it before move?

Yes.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 13:28:50 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 13:28:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172318.314323 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIsxV-0000U6-2V; Wed, 25 Aug 2021 13:28:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172318.314323; Wed, 25 Aug 2021 13:28:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIsxU-0000Tz-VQ; Wed, 25 Aug 2021 13:28:48 +0000
Received: by outflank-mailman (input) for mailman id 172318;
 Wed, 25 Aug 2021 13:28:47 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mIsxT-0000Tt-6H
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 13:28:47 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mIsxS-0005n9-7t; Wed, 25 Aug 2021 13:28:46 +0000
Received: from 54-240-197-238.amazon.com ([54.240.197.238]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mIsxS-0002VK-2D; Wed, 25 Aug 2021 13:28: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:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=EWHE2c6UUIBrDnF+Ams4synyRxsvQbYnQvTRm6sR+bg=; b=GlBdzweAAInqPYBRL2EOrqp8gQ
	ou9ioWvpIp1IlTiR2oPXgviLhIfKcYo7E29otKAL9ntsYGt0QO+CeqEnjB7bFxv59UfF43BkxXeg3
	zhHYZASd5Yzf9EShDZ/kBWo4zLqt3Ongw9hiY7HZ+kJsAORNJXgv4Wt43DsH99oJNoS4=;
Subject: Re: [XEN RFC PATCH 14/40] xen/arm: set NUMA nodes max number to 64 by
 default
To: Wei Chen <wei.chen@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, jbeulich@suse.com
Cc: Bertrand.Marquis@arm.com
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-15-wei.chen@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <dfde3e1a-be4b-cf14-8a75-8910760b2c3c@xen.org>
Date: Wed, 25 Aug 2021 14:28:44 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210811102423.28908-15-wei.chen@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Wei,

On 11/08/2021 11:23, Wei Chen wrote:
> Today's Arm64 systems can reach or exceed 16 NUMA nodes, so
> we set the number to 64 to match with x86.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>   xen/include/asm-arm/numa.h | 10 +++++++++-
>   1 file changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/include/asm-arm/numa.h b/xen/include/asm-arm/numa.h
> index 1162c702df..b2982f9053 100644
> --- a/xen/include/asm-arm/numa.h
> +++ b/xen/include/asm-arm/numa.h
> @@ -5,7 +5,15 @@
>   
>   typedef u8 nodeid_t;
>   
> -#if !defined(CONFIG_NUMA)
> +#if defined(CONFIG_NUMA)
> +
> +/*
> + * Same as x86, we set the max number of NUMA nodes to 64 and
> + * set the number of NUMA memory block number to 128.
> + */

Such comment can rot easily if x86 decides to bump there values. But 
given the value is the same, I think it would make sense to move the 
define to xen/numa.h.

> +#define NODES_SHIFT      6
> +
> +#else
>   
>   /* Fake one node for now. See also node_online_map. */
>   #define cpu_to_node(cpu) 0
> 

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 13:30:06 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 13:30:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172324.314333 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIsye-00017D-CT; Wed, 25 Aug 2021 13:30:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172324.314333; Wed, 25 Aug 2021 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 1mIsye-000176-9W; Wed, 25 Aug 2021 13:30:00 +0000
Received: by outflank-mailman (input) for mailman id 172324;
 Wed, 25 Aug 2021 13:29:59 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ACUI=NQ=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mIsyc-00016x-QX
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 13:29:59 +0000
Received: from esa6.hc3370-68.iphmx.com (unknown [216.71.155.175])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id a17e1dd8-beb4-4012-923d-a09a184f85e6;
 Wed, 25 Aug 2021 13:29: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: a17e1dd8-beb4-4012-923d-a09a184f85e6
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629898197;
  h=subject:to:cc:references:from:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=wsZkufzV4CQDK5bfgvhQQik7S6ylj+QckcY/+jFaYw8=;
  b=HxAPGw6/Bnmaz3GL7xyqUVkLH4k3vTzioFZ/2n64c5UPYZOdFnc7pfkz
   dp4ETwYDcY0k7/UjyGe8waKMUHOAAVFZ4CQOF3d/Zrr9Z9gCWJIXyx8np
   nrSQqlA2MBE53DlfMDTS/r08nn7GLJHD81QjDjE5J9C1QQUM3C/LF6TBJ
   4=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: dxpGZNa9bzNwfBVLIGz7qGXDxxGEfRro8yxfL+SI67Ug6vsVVSQiwUECm+Ct2+wxRXOYtQ7Eo7
 Q8hs+vlKFROysWfFqkknInPTD8rCczvqYt7ibrImYE2vRRMveD6ivvBvw6MHYtMkcagYIDSXkk
 pEDdgbT3hUqD7PxuU8ciZZkYBG6R1M3s0GPjHWfl1twe/QdRoieESMz50M/M2AHUVfP+xalXlW
 4fu6AOtY29sstxpgyF1ah0z1d66mn3VFHwKdbCe9nPSJrWWC319xawA3LO6P/ncumh91ZPwO9R
 ChZiFv9yqFgHrN5WAw6b8Y8U
X-SBRS: 5.1
X-MesageID: 51276390
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:oQMtSKFCEvhZDkffpLqFf5HXdLJyesId70hD6qkvc3Nom52j+/
 xGws536faVslcssHFJo6HlBEDyewKiyXcT2/hsAV7CZniahILMFu9fBOTZskXd8kHFh4hgPO
 JbAtJD4b7LfChHZKTBkXCF+r8bqbHtmsDY5pat854ud3AMV0gJ1XYJNu/xKDwVeOApP+tdKH
 PR3Ls9m9L2Ek5nEPhTS0N1E9TrlpnurtbLcBQGDxko5E2nii6p0qfzF1y90g0FWz1C7L8++S
 yd+jaJqJmLgrWe8FvxxmXT55NZlJ/IzcZCPtWFjowwJi/3ggilSYx9U/mpvSwzosuo9FE2+e
 O87CsIDoBW0Tf8b2u1qRzi103J1ysv0WbrzRuijX7qsaXCNXkHIvsEobgcXgrS6kImst05+r
 lMxXilu51eCg6FtDjh5vDTPisa1XackD4Hq6o+nnZfWYwRZPt6tooE5n5YF58GAWbT9J0nKu
 9zF8vRjcwmMW9yV0qp+1WH/ebcGkjaRny9Mw8/U42uonlrdUlCvgklLJd1pAZHyHpVIKM0lN
 gtMcxT5flzp4EtHPtA7dw6ML+K41r2MFvx2VKpUCHa/Z48SgXwQr7Mkf8IDbKRCdE1JKVbou
 W2bLofjx9rR37T
X-IronPort-AV: E=Sophos;i="5.84,350,1620705600"; 
   d="scan'208";a="51276390"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VKdiV0mzjxu0XlewfWF1HzUcMgQHpCFDcmH8uQgXLa4bcqCHGFLxiVbIOzwuONXDJqpXTHI/38FOOi9ieTZ9Rw2GBqhzeBlcdBTkLAqReJWQLh3hQVUfbEb06zhBrj+3LH+Mxhvnd+XBCPLDi2NTryZx9bMa+Ffcp9LrC+wnu7jhKAkWz6ZW6jRcUkXJRu4ve9D0rydvd38Xwz/M9ip6qN3KRChuyTTNlTKL5M/54SMG7ArUwKgrWs/D5IFcOt/dDchSMbba8C57/T0JAqifCos++NHBp6OvcvfBz+X4M8boGXctf23zsPuBTsddXvnahX+fBWBymdLDhK18kjJNUw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wsZkufzV4CQDK5bfgvhQQik7S6ylj+QckcY/+jFaYw8=;
 b=IPk/bciLAENVZg6BvSi+FfXvbFHkG/DHQ68iC6gsMw2XWhrcUkQ9rWTBWmqf430hisNHPrZ+hssR8V1mtZQT1fhaiOZp/AjSL0Pzbqa24fofF89RJFREbXHXENwVldo0ezPx6NwazwOpzS385RhiVZFG4quhWfr62eCxPjQ9ZCvf+1DDPUqP5URvXDmVLxNr9mE326hcp6JK3B6JEEkUwgC7BpBsbk2Tshy+7h8ustE48AlUNiJJjF3YHodgQe6z6Tz+4EnEjh6gt8gOF1kGJKk9VkSzKI0//+fDQ9ZZbuwMyCgpy/vgIRQPaHlW0k6kvuOlemhUwLsXew/e+PjkGw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wsZkufzV4CQDK5bfgvhQQik7S6ylj+QckcY/+jFaYw8=;
 b=Ed6Enj5Si1fpRhL27yPVEDXzgsvqc+szOMRUu0RS43nKSTxs9jsOSw1tA3H2ceqEAGn5/ooH2WmmHVMCss2XwtVwNd43iSe/4RuCyWbzminbydhLNt1DOj/BtTp1+yD9nK8N5DhS0rEnUIlPytykArcJhdLCcy70GcgBQmBG/K8=
Subject: Re: [PATCH 01/17] AMD/IOMMU: avoid recording each level's MFN when
 walking page table
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Paul Durrant <paul@xen.org>
References: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
 <847bf96c-19fb-677c-cb0f-16e58a6abe55@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Message-ID: <9043a82b-3215-fed8-6614-3cfe8aa745c8@citrix.com>
Date: Wed, 25 Aug 2021 14:29:46 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <847bf96c-19fb-677c-cb0f-16e58a6abe55@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Content-Language: en-GB
X-ClientProxiedBy: LO2P123CA0009.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:a6::21) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3f48a1eb-7f75-4e67-34e7-08d967cc6c05
X-MS-TrafficTypeDiagnostic: BYAPR03MB3688:
X-Microsoft-Antispam-PRVS: <BYAPR03MB36881EC131D7A85A27D02B9CBAC69@BYAPR03MB3688.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:6430;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: BnAA9g2pN2odKFvun8duf9ZdDXLiZOO+T3Ti6hVegxestu4qOKKhU4bWS+sKWQEYN4InFNoyJ8GbuHgS2BzChjUjmOYOUcTMRmmaxTtA7pS8SkmjqjUbEgjU4GhbdzPg5ToE2kf1pGLVf3jhlNGOEjc7M9zTmqgqAkenNBxNABuCRixbP8XHxN312YWHghT7IKFyOggPs+d83LwGDk9agAykrtaSWzmubXBpenVFtm3z0k/GyOsVNlQk4kpSrn83KS89T5XTwRKVOHK+pNk5AZ9sprGcavkXSBrl2nFimAum9Rn4Uhnl1astrZSa8jBgtHuBPtUeW0Og3pu1R9aPdSigewUZOgB+nJvXMJs7gqeW50rruIZd/mzZfKDoRjpiaAIBhc6cW3aD6B857P+bQj9vT4suN96SwGUjwAkX6UsLeKTClhCLaBgc1aGP/rGeupNtQQdMDJF4Wn9AWcHTSJBWHmt73r5q5+ECj5xK4K2p399kW7jxTZx1ZIDhHh1rY9EPdO9HMLs1sxWYrxYFYiE88M1XTvSm3QnXR5ageuDQZwafLhwWkBLp8lw6rSNKlHyTY701EKblVwsmLTLj8gdCdAXRC7qR3IQTfPfY6QIqQNIbNjZ35RzOH6Pj/PVdHjevn7E790AAUvxMwW2hw+JCeCUxjRdu3CgmswA7cUO6mYvngbDcwGY2LMs29s3+EMol83FOUtJvJPanAU21EAk1YSidd0feq9VRMwkynsA=
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:(4636009)(366004)(39860400002)(346002)(396003)(376002)(136003)(6486002)(110136005)(2616005)(956004)(66556008)(66946007)(2906002)(316002)(186003)(55236004)(66476007)(26005)(8936002)(8676002)(6666004)(16576012)(4326008)(38100700002)(86362001)(31686004)(36756003)(4744005)(83380400001)(31696002)(478600001)(53546011)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cmkycFhpZWhseUJtaTRBY0paeWRwTVRQMForWkZQZTBWSlJWQWV3ZUZKVnNj?=
 =?utf-8?B?cnBtVXJhYkVvYWVSWnJMS0lueXZpQjNxNTJPUkRmSjZBcDhkL1VSV2U2Slc5?=
 =?utf-8?B?YjNISnN5ZEJwTE9kKzRySFpGRXZ3N1ptcEEyeGFyOXpzbk13WVBsMDBkT3VB?=
 =?utf-8?B?dU9OL1UrYlROUEJxeklFbkxqZk1xdGxyRk9yMjNRUkZjN1JUWHpib2tmNlZG?=
 =?utf-8?B?aFdTSmhwMWtKQzRyNW5yYy9sWWlXVy9XUW92UGxWRkJTbFBaaGRUSzYwaXFt?=
 =?utf-8?B?Rzd3THA5ME9VWXJQMHZhRzhzZDJaMllCYTcwRWwzME9DK3JIb1VyL3UwcThX?=
 =?utf-8?B?UGwyeXp6akE5MjREYzF1MWZBNysyTld0Q3lhVUhzMnIzQU5ZWG1CcE5qTVRH?=
 =?utf-8?B?U3JWTG0rTHVUcWVuVzJiQUFNTUtvUWtjeGNjYUV0TVdCeXlDNTNHd05hS09Y?=
 =?utf-8?B?YmpiYzVxUk9TVTBuRDMzNGNlbUlpSE9hcFIvMHh3Qm5PdXlUdDhEZTBsazlM?=
 =?utf-8?B?aE56bHMraWZCWDluNEVXeHU0SHhvYXNpTmEyUTBkWTJxd0oyYXFuYnVPcXpj?=
 =?utf-8?B?bTh0dTh6ZE5VSi9jbEFrbTFiaXhkOTMzalArb3cvaFVveFVndDJaZjNTYUE2?=
 =?utf-8?B?MUxlTERKZmpWSkFXZUxDL3hVMU5IYjFIMTU5MDVWMW14c3dPejNFMDFCWGpz?=
 =?utf-8?B?bFRXU1lNcS9sa0p1TTYwemttQnlDcjcwWm8zc014WkdianEzbTJURHZJc2Nw?=
 =?utf-8?B?dm5kQ09QeXcxMTdVTGJWUGF4MUVVYndXODczSVdEb2hkV1lmbjdRQ2kyUjZT?=
 =?utf-8?B?aUtXWUdlYVlDR3h0amczK0d3UERXQXJNdVhJZnlEWEpueFJSMGxFdkF3Vjhu?=
 =?utf-8?B?SXFjTm16azIxMHF6czNvS0ZjdE5MN0NsVG5nUXc0TlJqNU05T0Z2UDFwVlA3?=
 =?utf-8?B?WXR0d1hBSVJ0UFdZakZwT0FxQWlqMXBma241T3ZCSEZUQzBYMjZVTHl3K2FM?=
 =?utf-8?B?TGFNR0xta2k5V0FWV28wNmVzeng2SXd5WEN4b1Zoa0hYWFFFbTd3a0dxbURj?=
 =?utf-8?B?ZkU2MzVBMGVYYTFJcllHc281Q291akpRdi8xNm1QV3FLQitsNFhsZ1c1TTh3?=
 =?utf-8?B?ejgwc2wzRWlCby9QSXZEc0VMS2xxQzBsT0VTQ01nMmUxTVlQMGVuMUlBZFBP?=
 =?utf-8?B?b05WTW1uR2lHd2ZCeGQ5OHBIUWFOUkxxVGdiWUsvUjAzSVljWUJ0Q3NEdXJ5?=
 =?utf-8?B?TnNvZXh2MkdHd1E3Mmo4c3I5NTArcmI0ODc4TCt0WDdaMlVadDB3cTBUUmhp?=
 =?utf-8?B?UHNZeCtNRmZQYXRnd0lOUGxKYUlqV21qSEtUYkpxSTR0WTRhZlpVeHR0S1dI?=
 =?utf-8?B?OGtRTGsxN0VaZllldXhjY1pjMGNjY3VkdFdzYTUzY3VWTituMkZhWEtRYkNP?=
 =?utf-8?B?T1FUZkRnQ0RSaXR2bkZyZkxPSU9XZXUwaTNweTBzZCttZGdQWmJ0NXpjVTUy?=
 =?utf-8?B?K1dTT0tGL0s2TzJUSDdydk9oRUtsNTZIUFVXZUlkQnQzV09FeUMyZVJqR01X?=
 =?utf-8?B?NDJ5dzhkQnBQYUM0dmpRZUJxbmFwKzZVZmlaZXF2anJCNUwydnFuRkZiVGFh?=
 =?utf-8?B?ZDhKYkFMRkRPMDZ3MDBkV3FYTVJYYVk5NmFPTWFNVFVSSno4V2pUOWNQWHFJ?=
 =?utf-8?B?Q1FwNUZSYzQxdzZzeGpRaWlRWGFoVjJ1eldHU1pUVkM1bDIzK0dVMFlNckNY?=
 =?utf-8?Q?jgBrp0E81gYuunLRN6hdyVql7mKLbteeWD+2fut?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 3f48a1eb-7f75-4e67-34e7-08d967cc6c05
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2021 13:29:53.4144
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: t8H3sueQgyHutgwtkLL6GLRBow1REo9wXnWJfHvyP3BlJdRq5Xc29muK+dPdoJaA+cGtb14/iupXVVyNlmdahlY2dVAR7j5O4886KYB7MUQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB3688
X-OriginatorOrg: citrix.com

On 24/08/2021 15:15, Jan Beulich wrote:
> Both callers only care about the target (level 1) MFN. I also cannot
> see what we might need higher level MFNs for down the road. And even
> modern gcc doesn't recognize the optimization potential.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

I've been wanting to delete this for several years.


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 13:36:26 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 13:36:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172349.314417 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIt4m-0003Zm-Tx; Wed, 25 Aug 2021 13:36:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172349.314417; Wed, 25 Aug 2021 13:36:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIt4m-0003Zf-Qu; Wed, 25 Aug 2021 13:36:20 +0000
Received: by outflank-mailman (input) for mailman id 172349;
 Wed, 25 Aug 2021 13:36:19 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5IQt=NQ=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIt4l-0003ZF-Kw
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 13:36:19 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 0a4de1d1-f5af-4a60-907f-abefd2d6aa8f;
 Wed, 25 Aug 2021 13:36:18 +0000 (UTC)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2111.outbound.protection.outlook.com [104.47.17.111])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-33-fov6KFOhN4Gf7-YcZbp_5A-2; Wed, 25 Aug 2021 15:36:16 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VE1PR04MB6480.eurprd04.prod.outlook.com (2603:10a6:803:11d::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Wed, 25 Aug
 2021 13:36:14 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Wed, 25 Aug 2021
 13:36:14 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P191CA0056.EURP191.PROD.OUTLOOK.COM (2603:10a6:102:55::31) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.22 via Frontend Transport; Wed, 25 Aug 2021 13: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: 0a4de1d1-f5af-4a60-907f-abefd2d6aa8f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629898577;
	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=i5yBe8Hvv7zc3FkHE4IXqCzJ9+eCANw5xhSl8y3cF6o=;
	b=TJbjqbpZCRG9KeAZtaDErZ7TPJ3WzqUdKjcX9JKKKNimtPKLvtfxJ81jAd12/8SJp6YrsU
	0IQZOR30OFe35qN92G2eFTOgfkLw7miNMoyDqDhk3nNI4JbE8V7hEYBP+fi2jJESvLz1kG
	QGRySqmExvl6pq1AVoMClLCueLh8UZ0=
X-MC-Unique: fov6KFOhN4Gf7-YcZbp_5A-2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MxRf7bjHfxz09Mrcle8HzXo6syWQMgBvwtUCMIuzBJsrRQiqnKGMM6HoBTYmMxC5buCZfvhEyqK36nhprMB74VTvxDWLJI/CMluC6+3QIHhBRQ0w7KoteG1l1CwcNpMKst3CqeIGReMkVN2dZa8fOIGXO4woVVfbE9941n5w0KWVMEP/0wMby1QVGLvfUUthUxcd9mQIcp2GBl+C7Lu5Lmk+yVQI4/BR7Ol+hXwY640u1dWCdKHSSTUg+7cGtpa99nJSmKzAKtY7nkOvvFanCetn7IWV8cpK4ffCpPafMEFtWJrvLwSukVCrdvnTV7nRLuQGWWxHvOoqnxwlKf+fkw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=i5yBe8Hvv7zc3FkHE4IXqCzJ9+eCANw5xhSl8y3cF6o=;
 b=CA94Zi1L27u4lL5SWRfp4YmrPJGq20pyjLLJBjy0k6L0T88zT+A8vcjfT1k4mCa0P7PPJM9jSEE3vaEroSiS+kNcAuxBrK9dBxB1Axk32QsdgmFNA9j3PWuiRO6/0c/rs88+017cuvizdrvbZwfl2GgJE4Bty8SdpFN3igpckOiigbH3ST+bALH1iuJ7HSW/YvQxA1/f4IQhtqUBC78n6esFiHuONMoHIYlCh8vqEyDoGDRxbYt09sPE6LE6kFSMaO8F1jYW6wlp0kWSkRWXKwicYzUQt3IdPLGd9MNHrZ3JfSTwrpSZKekediyTcN/yIIJAzbCM9GtR093g0CWVqw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: kernel.org; dkim=none (message not signed)
 header.d=none;kernel.org; dmarc=none action=none header.from=suse.com;
Subject: Re: [XEN RFC PATCH 14/40] xen/arm: set NUMA nodes max number to 64 by
 default
To: Julien Grall <julien@xen.org>, Wei Chen <wei.chen@arm.com>
Cc: Bertrand.Marquis@arm.com, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-15-wei.chen@arm.com>
 <dfde3e1a-be4b-cf14-8a75-8910760b2c3c@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <3b783bbf-dd96-856e-a9ec-4ac250d3760b@suse.com>
Date: Wed, 25 Aug 2021 15:36:11 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <dfde3e1a-be4b-cf14-8a75-8910760b2c3c@xen.org>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P191CA0056.EURP191.PROD.OUTLOOK.COM
 (2603:10a6:102:55::31) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: eb977a47-3ec6-45dc-0620-08d967cd4ee1
X-MS-TrafficTypeDiagnostic: VE1PR04MB6480:
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB6480636CF0A75CC9697E44C6B3C69@VE1PR04MB6480.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	pJnNXXqZWXJOR+qPl80c8yOxJ1QvyR6clfKNAzsSRR14fhP+L9CgnvGEQ2kWesXZTr+3snZyBCSgQrxvQGem7N3M2e2Caz4mgOgRqGHk7Tq5pJaX13nYl4OBw+FUhszD0U5uxwL0w8xwaClyjutzFgtx4h9/fyaRuQPi0Bgj0CT71Pa434jkRf6yrqbO8d5DadqQG39C7H74ZOKDeaCgt1s5Ti7oe7mGl/Ocb/bZujSE5S2h/1zZGKWJ5Fy47f6OdrGdb7OignN/wppkS1/+2jh3j4zRMfQnr+xKVDhIPD2jXnYtcGP1a8RMNodhlBiThqAJRPqyNNagHu7glHY6B+BQs2+Wo/cdF1+DlCbDwh8XhUMcYmYeSdhJfDBc9bSFR5ujazAr9kR/ksXBKW87+euo4+j4n6ChOBVePq3z+2XRcvHTXKauWwoWWjpCHbCKilSnk2cmou8MJl+z6WpQV6ah2ouAn1HttA6EvRydK9delkCkYgSJ4m9kjeUGYIQXy4wjuT6cNXkqcL88RMVPcarIZG0KEoO3nQtHhs98OyiD9DZywoUEr7IBNs6HhqOx5txyPrVDjrHdAuioBrF4dxxTFjniu52J2lR1iVQvoyArpy0ISk04G6LeZwwBil7hwzRUiJe2GUFHkN7JoekBn40oc/npzjg7pcxujcUd9wuGxhsLF/vXpthR95b0U49ifRFPO1aFLYu+xK6HLjKju3MpIf013DPrTrl0lqm8ZKA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(376002)(366004)(346002)(39860400002)(396003)(5660300002)(478600001)(31696002)(38100700002)(2906002)(8676002)(31686004)(26005)(66476007)(66556008)(66946007)(186003)(8936002)(53546011)(36756003)(316002)(4326008)(956004)(16576012)(2616005)(110136005)(83380400001)(6486002)(4744005)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?N2pxb3VIa1hHR3lyVjZJYTFieVgxRDlYV3hOWVZpVXV5UGUvbmtZclk3NTNr?=
 =?utf-8?B?L09Kck93WHUrZE1ZUmRoaW5qQWdHL2w3NWxQMWVoMThTQm10dTl0cDlKQUVm?=
 =?utf-8?B?YmhEb1hrbVB4TlRmQkkvdGtud2NxODcxWGZEWG1CVE1ocGgvME9wcjFSV1U4?=
 =?utf-8?B?SnFKMDVVQ2c2N1FsNjBTeXVJSEl5SWtYTmg0RkxZVzl2RTFDOFg4cTNvNDZD?=
 =?utf-8?B?VVlPOENIUitYNXlxNFdDejlyVnYwR0d3Q0V4UEc4V1dJMC9RNHFHYVVJUkNC?=
 =?utf-8?B?bWdIUlFzVTZIZ3lYaEE2S3ZwR0x1K1N2ZzlWWjRHSFFIcDFoUm1hSjduZGtq?=
 =?utf-8?B?YmlLa05jb3lWd3lKemdnV2V1UXpCQmtkUzU1WURVTjJZNmZSUnRMU3Q3ZkVO?=
 =?utf-8?B?MDdXczlOVlZpU2ZZV2c4eVpHU2NGSCs1L1l3L3ZKUVdNT2Z5d0FNUHdBakJG?=
 =?utf-8?B?T092d2lhWUp6VG5EdmtrNytaU0ZiZXdNemM4V0MwZmdiUGJwczVrdWU5UGxv?=
 =?utf-8?B?UkltK1NETnpFMHNmVWFxeXkrdWVIOXVjZTF0bUFHSVk5TDFvU1pBL1VmdzJk?=
 =?utf-8?B?NElkait2K0VxOUpxSjBTUCt3TmoxWGJJVlpXVU1teXV4N1FUVHNhSU9rcGJ5?=
 =?utf-8?B?Y2NPVElDYm5QNGE5WVhWWEJzakJxZEVUbVVtcExPYWtvbTVUSmhHb21wK0gw?=
 =?utf-8?B?eFZocDFkdTRQV2w4YWNDNWNScGV3TlRVV2MvbUpHbkxpVkJiMXpLZFlla3Zj?=
 =?utf-8?B?SzM3cmt1YkZicWpNa1VYTkZnU0dxSVYweDJZeTBRNHB6VWpUQ01LSnpwWS9p?=
 =?utf-8?B?R1NFMkZJNEsyRFBGWkM1c3p2bU5zYlRIbXpxVUpsL0lwR0Jxc2J2M3RWelBY?=
 =?utf-8?B?NjlHZjgwcS9IS25mTVVBQmpzbmswelB5NDU2YVR4QUpySXhxMmRaUXRzaFVM?=
 =?utf-8?B?dDA4SUswUEtxQlk2cWYvUG9sTys1NmdJeE91dWkrcjFvYkhZTkQvVkNuNWdr?=
 =?utf-8?B?NkJwODFaYWhJUjdJd2MvcnUwM29JK3VQOEVCMzRaTlY4dFZaQUQ0enZpV1lS?=
 =?utf-8?B?R0s4dUxtMDUwcVJ3U3AyVVBlUWFVY0tpVjZIN0xzaWQzekYrY1FDVHZsa0x3?=
 =?utf-8?B?RGpiRlFWOHNwT080WFROSldVaHE3U00yUWpKd25zSnJBck16RVoybklJa0VN?=
 =?utf-8?B?ZVg3bjlxUTlIWXVCQWtvVnNFemF2cHlaa0ZjZVhRYk5qMUwvbnREakcvWS9W?=
 =?utf-8?B?ZTdtOUtvY3RxMXNPYllNTlFSZ1dCb0ZqbSs4Q0FoYytJSzVIQXR1WC96M2ZN?=
 =?utf-8?B?ZW1MRmgvUXJEc0xPV291Y2FSTEFseE83VWNpZW1aUE9HbUhPTW1SNXhOMzda?=
 =?utf-8?B?RjJKMlVtS2lVVlBXdXBrWnBTejdRd2ROTE1YS1ZzTlZRNlRSYlB4LzhxY2F3?=
 =?utf-8?B?NEUyZFNnMlY2TGVhTGhsY3ZCMTJBVWo1a0tsOWNkQzJpVlg3YTRoYWxZUFlw?=
 =?utf-8?B?QU1OU0RJT3R5bFQ2RHNROVdTMDZFZldtRHJEKyt6czdkcE56dTF6Z0F6cjFT?=
 =?utf-8?B?T1FRMERNU0h0MXVKR0ZOWHlXaDdLcEh4UEVlbHBBMTFlM29PT1owelBuTmNj?=
 =?utf-8?B?Z3BJRzJTN2x1bGk2YTBuaXJudlRXcVFkRzc4OE9VMTV6NDNiRmJxUzdremFY?=
 =?utf-8?B?bE5HWHNWdlNBbUUvcTBQTjhkRXdhME1FQ2xrbitUdC96cG9wSkNSZVZHYTI0?=
 =?utf-8?Q?3JfJJGqevPD6TffqFFh/276HWhEHSr90G/lrncQ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: eb977a47-3ec6-45dc-0620-08d967cd4ee1
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2021 13:36:14.0301
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Ks5J4wvtMTfQJgT8h6ylL84AxBWRNzwN0jWRaQOgW6W6+sVNGrsKJbW6UQmyGBlFER1U9l2pTGpkD7v4qLcz/Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6480

On 25.08.2021 15:28, Julien Grall wrote:
> On 11/08/2021 11:23, Wei Chen wrote:
>> --- a/xen/include/asm-arm/numa.h
>> +++ b/xen/include/asm-arm/numa.h
>> @@ -5,7 +5,15 @@
>>   
>>   typedef u8 nodeid_t;
>>   
>> -#if !defined(CONFIG_NUMA)
>> +#if defined(CONFIG_NUMA)
>> +
>> +/*
>> + * Same as x86, we set the max number of NUMA nodes to 64 and
>> + * set the number of NUMA memory block number to 128.
>> + */
> 
> Such comment can rot easily if x86 decides to bump there values. But 
> given the value is the same, I think it would make sense to move the 
> define to xen/numa.h.

To be honest - if this gets moved, please at least consider making it
a proper Kconfig setting. Just as much a the number of CPUs can be
configured, the number of nodes should be possible to choose by the
build manager. Of course - if it's not too much trouble ...

Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 25 13:39:31 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 13:39:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172365.314464 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIt7q-0004fE-RS; Wed, 25 Aug 2021 13:39:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172365.314464; Wed, 25 Aug 2021 13:39:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIt7q-0004f7-Nh; Wed, 25 Aug 2021 13:39:30 +0000
Received: by outflank-mailman (input) for mailman id 172365;
 Wed, 25 Aug 2021 13:39: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 1mIt7p-0004f0-8I
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 13:39: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 1mIt7o-00064B-4r; Wed, 25 Aug 2021 13:39:28 +0000
Received: from 54-240-197-238.amazon.com ([54.240.197.238]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mIt7n-00041j-VE; Wed, 25 Aug 2021 13: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=VbAwu2tMqJlk3C+/RLce4pvqruPwhWo4V/AFoTx/WEE=; b=auUEK9c0qr7CS0ubYzotA9ONap
	AHtFB++dRn39dBUG/eThwcD1ZWRnYQDaJu1kKFHMC7X9+0DNzm5sriseR0P+cK6/RhyTuW7Rr7IGf
	2yFERfl/zdtZh2h2C6ahiVAtSYjZn0Hyipv+nk7ZZ0YOzRtVzOTiQqTygSRwEUIG/6Ro=;
Subject: Re: [XEN RFC PATCH 19/40] xen: fdt: Introduce a helper to check fdt
 node type
To: Wei Chen <wei.chen@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org
Cc: Bertrand.Marquis@arm.com, Jan Beulich <jbeulich@suse.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-20-wei.chen@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <f43fed3a-a57b-4115-4f68-0fb460d5da14@xen.org>
Date: Wed, 25 Aug 2021 14:39:26 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210811102423.28908-20-wei.chen@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Wei,

On 11/08/2021 11:24, Wei Chen wrote:
> In later patches, we will parse CPU and memory NUMA information
> from device tree. FDT is using device type property to indicate
> CPU nodes and memory nodes. So we introduce fdt_node_check_type
> in this patch to avoid redundant code in subsequent patches.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>   xen/common/libfdt/fdt_ro.c      | 15 +++++++++++++++
>   xen/include/xen/libfdt/libfdt.h | 25 +++++++++++++++++++++++++

This is meant to be a verbatim copy of libfdt. So I am not entirely in 
favor of adding a new function therefore without been upstreamed to 
libfdt first.

>   2 files changed, 40 insertions(+)
> 
> diff --git a/xen/common/libfdt/fdt_ro.c b/xen/common/libfdt/fdt_ro.c
> index 36f9b480d1..ae7794d870 100644
> --- a/xen/common/libfdt/fdt_ro.c
> +++ b/xen/common/libfdt/fdt_ro.c
> @@ -545,6 +545,21 @@ int fdt_node_check_compatible(const void *fdt, int nodeoffset,
>   		return 1;
>   }
>   
> +int fdt_node_check_type(const void *fdt, int nodeoffset,
> +			      const char *type)
> +{
> +	const void *prop;
> +	int len;
> +
> +	prop = fdt_getprop(fdt, nodeoffset, "device_type", &len);
> +	if (!prop)
> +		return len;
> +	if (fdt_stringlist_contains(prop, len, type))

The "device_type" is not a list of string. So I am a bit confused why 
you are using this helper. Shouldn't we simply check that the property 
value and type matches?

> +		return 0;
> +	else
> +		return 1;
> +}
> +
>   int fdt_node_offset_by_compatible(const void *fdt, int startoffset,
>   				  const char *compatible)
>   {
> diff --git a/xen/include/xen/libfdt/libfdt.h b/xen/include/xen/libfdt/libfdt.h
> index 7c75688a39..7e4930dbcd 100644
> --- a/xen/include/xen/libfdt/libfdt.h
> +++ b/xen/include/xen/libfdt/libfdt.h
> @@ -799,6 +799,31 @@ int fdt_node_offset_by_phandle(const void *fdt, uint32_t phandle);
>   int fdt_node_check_compatible(const void *fdt, int nodeoffset,
>   			      const char *compatible);
>   
> +/**
> + * fdt_node_check_type: check a node's device_type property
> + * @fdt: pointer to the device tree blob
> + * @nodeoffset: offset of a tree node
> + * @type: string to match against
> + *
> + *
> + * fdt_node_check_type() returns 0 if the given node contains a 'device_type'
> + * property with the given string as one of its elements, it returns non-zero
> + * otherwise, or on error.
> + *
> + * returns:
> + *	0, if the node has a 'device_type' property listing the given string
> + *	1, if the node has a 'device_type' property, but it does not list
> + *		the given string
> + *	-FDT_ERR_NOTFOUND, if the given node has no 'device_type' property
> + * 	-FDT_ERR_BADOFFSET, if nodeoffset does not refer to a BEGIN_NODE tag
> + *	-FDT_ERR_BADMAGIC,
> + *	-FDT_ERR_BADVERSION,
> + *	-FDT_ERR_BADSTATE,
> + *	-FDT_ERR_BADSTRUCTURE, standard meanings
> + */
> +int fdt_node_check_type(const void *fdt, int nodeoffset,
> +			      const char *type);
> +
>   /**
>    * fdt_node_offset_by_compatible - find nodes with a given 'compatible' value
>    * @fdt: pointer to the device tree blob
> 

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 13:48:26 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 13:48:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172372.314478 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mItG7-0006Lj-Rc; Wed, 25 Aug 2021 13:48:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172372.314478; Wed, 25 Aug 2021 13:48:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mItG7-0006Lc-OC; Wed, 25 Aug 2021 13:48:03 +0000
Received: by outflank-mailman (input) for mailman id 172372;
 Wed, 25 Aug 2021 13:48:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mItG6-0006LS-9g; Wed, 25 Aug 2021 13:48:02 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mItG6-0006FW-3G; Wed, 25 Aug 2021 13:48:02 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mItG5-0003Y9-LX; Wed, 25 Aug 2021 13:48:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mItG5-0006K6-Kz; Wed, 25 Aug 2021 13:48: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:Message-Id:Subject:To;
	bh=D8A66YMFUPOTQB6t0Tv9iSFI7geuxMGVHQD3gowCWI8=; b=LyIiGOyBY7uAIPncv2z5tn0v9f
	46LXW4aV8YJKckI3zd08ra/VVI+93Bh96TcbwhnW4u+FVIcSFXU84N41L+J+Gxq+Ehwx5x2zY2lAS
	tqdnwjcMIhl5Wfa/p2nce8Xe7YYMw1rNgkkA5GA3ndb+cTEeCUxwIb+DL9u61uYDgIDU=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Subject: [xen-4.15-testing bisection] complete test-amd64-i386-xl-qemuu-ovmf-amd64
Message-Id: <E1mItG5-0006K6-Kz@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 25 Aug 2021 13:48:01 +0000

branch xen-4.15-testing
xenbranch xen-4.15-testing
job test-amd64-i386-xl-qemuu-ovmf-amd64
testid debian-hvm-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 git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  ovmf git://xenbits.xen.org/osstest/ovmf.git
  Bug introduced:  d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Bug not present: 3357ac73807d83eb212632ee7c2e032a20a49c56
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164482/


  commit d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Author: Laszlo Ersek <lersek@redhat.com>
  Date:   Wed May 26 22:14:24 2021 +0200
  
      OvmfPkg/PlatformPei: remove Xen support
      
      The "OvmfPkg/PlatformPei/PlatformPei.inf" module is used by the following
      platform DSCs:
      
        OvmfPkg/AmdSev/AmdSevX64.dsc
        OvmfPkg/OvmfPkgIa32.dsc
        OvmfPkg/OvmfPkgIa32X64.dsc
        OvmfPkg/OvmfPkgX64.dsc
      
      Remove Xen support from "OvmfPkg/PlatformPei", including any dependencies
      that now become unused. The basic idea is to substitute FALSE for "mXen".
      
      Remove "OvmfPkg/PlatformPei" from the "OvmfPkg: Xen-related modules"
      section of "Maintainers.txt".
      
      This patch is best reviewed with "git show -b -W".
      
      Cc: Andrew Fish <afish@apple.com>
      Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
      Cc: Jordan Justen <jordan.l.justen@intel.com>
      Cc: Leif Lindholm <leif@nuviainc.com>
      Cc: Michael D Kinney <michael.d.kinney@intel.com>
      Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
      Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2122
      Signed-off-by: Laszlo Ersek <lersek@redhat.com>
      Message-Id: <20210526201446.12554-22-lersek@redhat.com>
      Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
      Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
      Reviewed-by: Leif Lindholm <leif@nuviainc.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-4.15-testing/test-amd64-i386-xl-qemuu-ovmf-amd64.debian-hvm-install.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/xen-4.15-testing/test-amd64-i386-xl-qemuu-ovmf-amd64.debian-hvm-install --summary-out=tmp/164482.bisection-summary --basis-template=163759 --blessings=real,real-bisect,real-retry xen-4.15-testing test-amd64-i386-xl-qemuu-ovmf-amd64 debian-hvm-install
Searching for failure / basis pass:
 164390 fail [host=chardonnay0] / 163759 [host=albana1] 163727 [host=huxelrebe0] 163710 [host=elbling0] 162882 [host=albana1] 162561 [host=fiano0] 162546 [host=pinot1] 162366 [host=albana0] 161772 [host=chardonnay1] 161322 [host=chardonnay1] 161049 [host=elbling0] 160774 [host=huxelrebe0] 160455 [host=elbling0] 160422 [host=chardonnay1] 160394 ok.
Failure / basis pass flights: 164390 / 160394
(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 git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git
Latest c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 54082c81d96028ba8c76fbe6784085cf1df76b20 6bbdcefd205903b2181b3b4fdc9503709ecdb7c4
Basis pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 0ecdcb6142037dd1cdd08660a2349960bcf0270a 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 7ea428895af2840d85c524f0bd11a38aac308308 b0d61ecef66eb05bd7a4eb7ada88ec5dab06dfee ecdff2f5a03210119b71806c3f5571d6906dd85e
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#0ecdcb6142037dd1cdd08660a2349960bcf0270a-ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c74\
 37ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#7ea428895af2840d85c524f0bd11a38aac308308-e2af2d050338c99e8436e251ad67aafb3ebbd501 git://xenbits.xen.org/osstest/seabios.git#b0d61ecef66eb05bd7a4eb7ada88ec5dab06dfee-54082c81d96028ba8c76fbe6784085cf1df76b20 git://xenbits.xen.org/xen.git#ecdff2f5a03210119b71806c3f5571d6906dd85e-6bbdcefd205903b2181b3b4fdc9503709ecdb7c4
Loaded 12608 nodes in revision graph
Searching for test results:
 162882 [host=albana1]
 163710 [host=elbling0]
 163727 [host=huxelrebe0]
 163759 [host=albana1]
 164262 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 54082c81d96028ba8c76fbe6784085cf1df76b20 6bbdcefd205903b2181b3b4fdc9503709ecdb7c4
 164304 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 54082c81d96028ba8c76fbe6784085cf1df76b20 6bbdcefd205903b2181b3b4fdc9503709ecdb7c4
 164397 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 0ecdcb6142037dd1cdd08660a2349960bcf0270a 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 7ea428895af2840d85c524f0bd11a38aac308308 b0d61ecef66eb05bd7a4eb7ada88ec5dab06dfee ecdff2f5a03210119b71806c3f5571d6906dd85e
 164390 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 54082c81d96028ba8c76fbe6784085cf1df76b20 6bbdcefd205903b2181b3b4fdc9503709ecdb7c4
 164433 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 54082c81d96028ba8c76fbe6784085cf1df76b20 6bbdcefd205903b2181b3b4fdc9503709ecdb7c4
 164439 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b005f9f1f51c2b0ce680b42b7a743b430d8f2625 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 7292e4a0a8f58333ccbd2d0d47242f9865083c9c eae0dfac891f521ceb6c4733e22a0cd718f336c0
 164444 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 8c75a0720800e934c29aae75e3fb1cb42c0d0728 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 b0d61ecef66eb05bd7a4eb7ada88ec5dab06dfee c86d8ec3b816cc1317d9cc2fb0817e59b5bc4cfa
 164448 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 cfa6ffb113f2c0d922034cc77c0d6c52eea05497 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 6eff8085980dba0938cea0193b8a0fd3c6b0c4ca 280d472f4fca070a10377e318d90cabfc2540810
 164451 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 e1636fe18fb240060fdd8956ccf9e9c7c3ac8205 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 280d472f4fca070a10377e318d90cabfc2540810
 164456 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 180f1908b34f9cca0792d442a9deaae7f6e9beab 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 7292e4a0a8f58333ccbd2d0d47242f9865083c9c eae0dfac891f521ceb6c4733e22a0cd718f336c0
 164462 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 8f8d3d90c5c5e317693a87339f9ddf9d7412a0fc 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 7292e4a0a8f58333ccbd2d0d47242f9865083c9c eae0dfac891f521ceb6c4733e22a0cd718f336c0
 164464 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 7292e4a0a8f58333ccbd2d0d47242f9865083c9c eae0dfac891f521ceb6c4733e22a0cd718f336c0
 164468 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 8899e3fe6ab2b376bb3eac79ecd04561d55fe7a7 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 7292e4a0a8f58333ccbd2d0d47242f9865083c9c eae0dfac891f521ceb6c4733e22a0cd718f336c0
 164472 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 7292e4a0a8f58333ccbd2d0d47242f9865083c9c eae0dfac891f521ceb6c4733e22a0cd718f336c0
 164474 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 7292e4a0a8f58333ccbd2d0d47242f9865083c9c eae0dfac891f521ceb6c4733e22a0cd718f336c0
 164476 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 7292e4a0a8f58333ccbd2d0d47242f9865083c9c eae0dfac891f521ceb6c4733e22a0cd718f336c0
 164480 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 7292e4a0a8f58333ccbd2d0d47242f9865083c9c eae0dfac891f521ceb6c4733e22a0cd718f336c0
 164482 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 7292e4a0a8f58333ccbd2d0d47242f9865083c9c eae0dfac891f521ceb6c4733e22a0cd718f336c0
 160394 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 0ecdcb6142037dd1cdd08660a2349960bcf0270a 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 7ea428895af2840d85c524f0bd11a38aac308308 b0d61ecef66eb05bd7a4eb7ada88ec5dab06dfee ecdff2f5a03210119b71806c3f5571d6906dd85e
 160422 [host=chardonnay1]
 160455 [host=elbling0]
 160774 [host=huxelrebe0]
 161049 [host=elbling0]
 161322 [host=chardonnay1]
 161772 [host=chardonnay1]
 162366 [host=albana0]
 162546 [host=pinot1]
 162561 [host=fiano0]
Searching for interesting versions
 Result found: flight 160394 (pass), for basis pass
 For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 7292e4a0a8f58333ccbd2d0d47242f9865083c9c eae0dfac891f521ceb6c4733e22a0cd718f336c0, results HASH(0x5622990281c8) HASH(0x56229ab0dab8) HASH(0x56229ab0d4b8) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1\
 e6a472b0eb9558310b518f0dfcd8860 8f8d3d90c5c5e317693a87339f9ddf9d7412a0fc 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 7292e4a0a8f58333ccbd2d0d47242f9865083c9c eae0dfac891f521ceb6c4733e22a0cd718f336c0, results HASH(0x56229ac36bc8) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 180f1908b34f9cca0792d442a9deaae7f6e9beab 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251\
 ad67aafb3ebbd501 7292e4a0a8f58333ccbd2d0d47242f9865083c9c eae0dfac891f521ceb6c4733e22a0cd718f336c0, results HASH(0x56229ab3e248) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 e1636fe18fb240060fdd8956ccf9e9c7c3ac8205 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 7292e4a0a8f58333ccbd2d0d47242f9865083c9c 280d472f4fca070a10377e318d90cabfc2540810, results HASH(0x56229ab37008) For basis\
  failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 cfa6ffb113f2c0d922034cc77c0d6c52eea05497 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 6eff8085980dba0938cea0193b8a0fd3c6b0c4ca 280d472f4fca070a10377e318d90cabfc2540810, results HASH(0x56229ab2efc0) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 8c75a0720800e934c29a\
 ae75e3fb1cb42c0d0728 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 b0d61ecef66eb05bd7a4eb7ada88ec5dab06dfee c86d8ec3b816cc1317d9cc2fb0817e59b5bc4cfa, results HASH(0x56229ab27d80) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 0ecdcb6142037dd1cdd08660a2349960bcf0270a 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 7ea428895af2840d85c524f0bd11a38aac308308 b0d61ecef66eb05bd7a4eb7ada88ec5dab0\
 6dfee ecdff2f5a03210119b71806c3f5571d6906dd85e, results HASH(0x56229aae6038) HASH(0x56229aaf75c8) Result found: flight 164262 (fail), for basis failure (at ancestor ~5256)
 Repro found: flight 164397 (pass), for basis pass
 Repro found: flight 164433 (fail), for basis failure
 0 revisions at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 7292e4a0a8f58333ccbd2d0d47242f9865083c9c eae0dfac891f521ceb6c4733e22a0cd718f336c0
No revisions left to test, checking graph state.
 Result found: flight 164464 (pass), for last pass
 Result found: flight 164472 (fail), for first failure
 Repro found: flight 164474 (pass), for last pass
 Repro found: flight 164476 (fail), for first failure
 Repro found: flight 164480 (pass), for last pass
 Repro found: flight 164482 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  ovmf git://xenbits.xen.org/osstest/ovmf.git
  Bug introduced:  d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Bug not present: 3357ac73807d83eb212632ee7c2e032a20a49c56
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164482/


  commit d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Author: Laszlo Ersek <lersek@redhat.com>
  Date:   Wed May 26 22:14:24 2021 +0200
  
      OvmfPkg/PlatformPei: remove Xen support
      
      The "OvmfPkg/PlatformPei/PlatformPei.inf" module is used by the following
      platform DSCs:
      
        OvmfPkg/AmdSev/AmdSevX64.dsc
        OvmfPkg/OvmfPkgIa32.dsc
        OvmfPkg/OvmfPkgIa32X64.dsc
        OvmfPkg/OvmfPkgX64.dsc
      
      Remove Xen support from "OvmfPkg/PlatformPei", including any dependencies
      that now become unused. The basic idea is to substitute FALSE for "mXen".
      
      Remove "OvmfPkg/PlatformPei" from the "OvmfPkg: Xen-related modules"
      section of "Maintainers.txt".
      
      This patch is best reviewed with "git show -b -W".
      
      Cc: Andrew Fish <afish@apple.com>
      Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
      Cc: Jordan Justen <jordan.l.justen@intel.com>
      Cc: Leif Lindholm <leif@nuviainc.com>
      Cc: Michael D Kinney <michael.d.kinney@intel.com>
      Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
      Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2122
      Signed-off-by: Laszlo Ersek <lersek@redhat.com>
      Message-Id: <20210526201446.12554-22-lersek@redhat.com>
      Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
      Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
      Reviewed-by: Leif Lindholm <leif@nuviainc.com>

pnmtopng: 69 colors found
Revision graph left in /home/logs/results/bisect/xen-4.15-testing/test-amd64-i386-xl-qemuu-ovmf-amd64.debian-hvm-install.{dot,ps,png,html,svg}.
----------------------------------------
164482: tolerable ALL FAIL

flight 164482 xen-4.15-testing real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/164482/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail baseline untested


jobs:
 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



From xen-devel-bounces@lists.xenproject.org Wed Aug 25 13:48:56 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 13:48:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172378.314492 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mItGy-0006u7-66; Wed, 25 Aug 2021 13:48:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172378.314492; Wed, 25 Aug 2021 13: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 1mItGy-0006u0-2v; Wed, 25 Aug 2021 13:48:56 +0000
Received: by outflank-mailman (input) for mailman id 172378;
 Wed, 25 Aug 2021 13:48:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mItGw-0006tu-Ix
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 13:48:54 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mItGv-0006GC-Jm; Wed, 25 Aug 2021 13:48:53 +0000
Received: from 54-240-197-238.amazon.com ([54.240.197.238]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mItGv-0005In-Dw; Wed, 25 Aug 2021 13:48:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=77iUZna4wPDFawTGtlZ/fhLEqr8IHs5zjHoT0YsqbTM=; b=67WaLOQn9zmvvd9JeYm9mpFzSb
	Bec9vO1B/MXwUDsmBrK0wqcwJjMk2prjzMJB+YBbEf7NNl6qbObcVzkhfSSnaI4HLTzGLoaUpyYhL
	dB9wqLrShhS+J6BnhZtGchsh+KqOtsiUaZwKyxFijxcqH22Te9wnXXKGODN6ajqRtZfQ=;
Subject: Re: [XEN RFC PATCH 23/40] xen/arm: introduce a helper to parse device
 tree memory node
To: Wei Chen <wei.chen@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, jbeulich@suse.com
Cc: Bertrand.Marquis@arm.com
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-24-wei.chen@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <4bd56df9-f95b-eb19-dbbc-d12b4f7b0668@xen.org>
Date: Wed, 25 Aug 2021 14:48:51 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210811102423.28908-24-wei.chen@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Wei,

On 11/08/2021 11:24, Wei Chen wrote:
> Memory blocks' NUMA ID information is stored in device tree's
> memory nodes as "numa-node-id". We need a new helper to parse
> and verify this ID from memory nodes.
> 
> In order to support memory affinity in later use, the valid
> memory ranges and NUMA ID will be saved to tables.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>   xen/arch/arm/numa_device_tree.c | 130 ++++++++++++++++++++++++++++++++
>   1 file changed, 130 insertions(+)
> 
> diff --git a/xen/arch/arm/numa_device_tree.c b/xen/arch/arm/numa_device_tree.c
> index 37cc56acf3..bbe081dcd1 100644
> --- a/xen/arch/arm/numa_device_tree.c
> +++ b/xen/arch/arm/numa_device_tree.c
> @@ -20,11 +20,13 @@
>   #include <xen/init.h>
>   #include <xen/nodemask.h>
>   #include <xen/numa.h>
> +#include <xen/libfdt/libfdt.h>
>   #include <xen/device_tree.h>
>   #include <asm/setup.h>
>   
>   s8 device_tree_numa = 0;
>   static nodemask_t processor_nodes_parsed __initdata;
> +static nodemask_t memory_nodes_parsed __initdata;
>   
>   static int srat_disabled(void)
>   {
> @@ -55,6 +57,79 @@ static int __init dtb_numa_processor_affinity_init(nodeid_t node)
>       return 0;
>   }
>   
> +/* Callback for parsing of the memory regions affinity */
> +static int __init dtb_numa_memory_affinity_init(nodeid_t node,
> +                                paddr_t start, paddr_t size)
> +{

The implementation of this function is quite similar ot the ACPI 
version. Can this be abstracted?

> +    struct node *nd;
> +    paddr_t end;
> +    int i;
> +
> +    if ( srat_disabled() )
> +        return -EINVAL;
> +
> +    end = start + size;
> +    if ( num_node_memblks >= NR_NODE_MEMBLKS )
> +    {
> +        dprintk(XENLOG_WARNING,
> +                "Too many numa entry, try bigger NR_NODE_MEMBLKS \n");
> +        bad_srat();
> +        return -EINVAL;
> +    }
> +
> +    /* It is fine to add this area to the nodes data it will be used later */
> +    i = conflicting_memblks(start, end);
> +    /* No conflicting memory block, we can save it for later usage */;
> +    if ( i < 0 )
> +        goto save_memblk;
> +
> +    if ( memblk_nodeid[i] == node ) {

Xen coding style is using:

if ( ... )
{

Note that I may not comment on all the occurents, so please check the 
other places.

> +        /*
> +         * Overlaps with other memblk in the same node, warning here.
> +         * This memblk will be merged with conflicted memblk later.
> +         */
> +        printk(XENLOG_WARNING
> +               "DT: NUMA NODE %u (%"PRIx64
> +               "-%"PRIx64") overlaps with itself (%"PRIx64"-%"PRIx64")\n",
> +               node, start, end,
> +               node_memblk_range[i].start, node_memblk_range[i].end);
> +    } else {
> +        /*
> +         * Conflict with memblk in other node, this is an error.
> +         * The NUMA information is invalid, NUMA will be turn off.
> +         */
> +        printk(XENLOG_ERR
> +               "DT: NUMA NODE %u (%"PRIx64"-%"
> +               PRIx64") overlaps with NODE %u (%"PRIx64"-%"PRIx64")\n",
> +               node, start, end, memblk_nodeid[i],
> +               node_memblk_range[i].start, node_memblk_range[i].end);
> +        bad_srat();
> +        return -EINVAL;
> +    }
> +
> +save_memblk:
> +    nd = &nodes[node];
> +    if ( !node_test_and_set(node, memory_nodes_parsed) ) {
> +        nd->start = start;
> +        nd->end = end;
> +    } else {
> +        if ( start < nd->start )
> +            nd->start = start;
> +        if ( nd->end < end )
> +            nd->end = end;
> +    }
> +
> +    printk(XENLOG_INFO "DT: NUMA node %u %"PRIx64"-%"PRIx64"\n",
> +           node, start, end);
> +
> +    node_memblk_range[num_node_memblks].start = start;
> +    node_memblk_range[num_node_memblks].end = end;
> +    memblk_nodeid[num_node_memblks] = node;
> +    num_node_memblks++;
> +
> +    return 0;
> +}
> +
>   /* Parse CPU NUMA node info */
>   int __init device_tree_parse_numa_cpu_node(const void *fdt, int node)
>   {
> @@ -70,3 +145,58 @@ int __init device_tree_parse_numa_cpu_node(const void *fdt, int node)
>   
>       return dtb_numa_processor_affinity_init(nid);
>   }
> +
> +/* Parse memory node NUMA info */
> +int __init
> +device_tree_parse_numa_memory_node(const void *fdt, int node,
> +    const char *name, uint32_t addr_cells, uint32_t size_cells)

This is pretty much a copy of process_memory_node(). Can we consider to 
collect the NUMA ID from there? If not, can we at least abstract the code?

> +{
> +    uint32_t nid;
> +    int ret = 0, len;
> +    paddr_t addr, size;
> +    const struct fdt_property *prop;
> +    uint32_t idx, ranges;
> +    const __be32 *addresses;
> +
> +    nid = device_tree_get_u32(fdt, node, "numa-node-id", MAX_NUMNODES);
> +    if ( nid >= MAX_NUMNODES )
> +    {
> +        printk(XENLOG_WARNING "Node id %u exceeds maximum value\n", nid);
> +        return -EINVAL;
> +    }
> +
> +    prop = fdt_get_property(fdt, node, "reg", &len);
> +    if ( !prop )
> +    {
> +        printk(XENLOG_WARNING
> +               "fdt: node `%s': missing `reg' property\n", name);
> +        return -EINVAL;
> +    }
> +
> +    addresses = (const __be32 *)prop->data;
> +    ranges = len / (sizeof(__be32)* (addr_cells + size_cells));
> +    for ( idx = 0; idx < ranges; idx++ )
> +    {
> +        device_tree_get_reg(&addresses, addr_cells, size_cells, &addr, &size);
> +        /* Skip zero size ranges */
> +        if ( !size )
> +            continue;
> +
> +        ret = dtb_numa_memory_affinity_init(nid, addr, size);
> +        if ( ret ) {
> +            printk(XENLOG_WARNING
> +                   "NUMA: process range#%d addr = %lx size=%lx failed!\n",

s/%d/%u/ as idx is an unsigned int
s/%lx/%"PRI_paddr"/ as addr and size are paddr_t.

> +                   idx, addr, size);
> +            return -EINVAL;
> +        }
> +    }
> +
> +    if ( idx == 0 )
> +    {
> +        printk(XENLOG_ERR
> +               "bad property in memory node, idx=%d ret=%d\n", idx, ret);
> +        return -EINVAL;
> +    }
> +
> +    return 0;
> +}
> 

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 13:56:12 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 13:56:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172392.314534 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mItNx-0000Ok-9K; Wed, 25 Aug 2021 13:56:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172392.314534; Wed, 25 Aug 2021 13: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 1mItNx-0000Od-6H; Wed, 25 Aug 2021 13:56:09 +0000
Received: by outflank-mailman (input) for mailman id 172392;
 Wed, 25 Aug 2021 13:56: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 1mItNv-0000OL-RV
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 13:56: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 1mItNu-0006SH-Vi; Wed, 25 Aug 2021 13:56:06 +0000
Received: from 54-240-197-238.amazon.com ([54.240.197.238]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mItNu-0006Pk-Pw; Wed, 25 Aug 2021 13:56: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:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=n/AU32IRlgscmQqHqg2VsAxf/1pZSghjHTm4YaO3jTE=; b=jQMNIl+7X3grwBQkLTcB6aPo0o
	PonqcyXFuZfFwKvH1CNC854wA7Mbh3X1uQbKovoxoJ7rxjltjVp4vz7UIDZb6p8moRGjRcCNn97GU
	se9DKEm5DrJlfKOHqPg5X9m/xJMr+NdPhQDvCUv3/B6OMgdw6lFWIHDjHH6HFAeWlaCo=;
Subject: Re: [XEN RFC PATCH 24/40] xen/arm: introduce a helper to parse device
 tree NUMA distance map
To: Wei Chen <wei.chen@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org
Cc: Bertrand.Marquis@arm.com, Jan Beulich <jbeulich@suse.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-25-wei.chen@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <e15cdda1-1665-4baa-5764-76e17dd3bb74@xen.org>
Date: Wed, 25 Aug 2021 14:56:04 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210811102423.28908-25-wei.chen@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Wei,

On 11/08/2021 11:24, Wei Chen wrote:
> A NUMA aware device tree will provide a "distance-map" node to
> describe distance between any two nodes. This patch introduce a

s/introduce/introduces/

> new helper to parse this distance map.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>   xen/arch/arm/numa_device_tree.c | 67 +++++++++++++++++++++++++++++++++
>   1 file changed, 67 insertions(+)
> 
> diff --git a/xen/arch/arm/numa_device_tree.c b/xen/arch/arm/numa_device_tree.c
> index bbe081dcd1..6e0d1d3d9f 100644
> --- a/xen/arch/arm/numa_device_tree.c
> +++ b/xen/arch/arm/numa_device_tree.c
> @@ -200,3 +200,70 @@ device_tree_parse_numa_memory_node(const void *fdt, int node,
>   
>       return 0;
>   }
> +
> +/* Parse NUMA distance map v1 */
> +int __init
> +device_tree_parse_numa_distance_map_v1(const void *fdt, int node)
> +{
> +    const struct fdt_property *prop;
> +    const __be32 *matrix;
> +    int entry_count, len, i;

entry_count and i should be unsigned. len unfortunately can't because 
fdt_get_property expects a signed int.

> +
> +    printk(XENLOG_INFO "NUMA: parsing numa-distance-map\n");
> +
> +    prop = fdt_get_property(fdt, node, "distance-matrix", &len);
> +    if ( !prop )
> +    {
> +        printk(XENLOG_WARNING
> +               "NUMA: No distance-matrix property in distance-map\n");
> +
> +        return -EINVAL;
> +    }
> +
> +    if ( len % sizeof(uint32_t) != 0 )
> +    {
> +        printk(XENLOG_WARNING
> +               "distance-matrix in node is not a multiple of u32\n");
> +        return -EINVAL;
> +    }
> +
> +    entry_count = len / sizeof(uint32_t);
> +    if ( entry_count <= 0 )

I understand that entry_count may be 0. But I can't see how it can be 
negative as the property len cannot be (even if it is a signed type). So 
I think this wants to be "== 0".

> +    {
> +        printk(XENLOG_WARNING "NUMA: Invalid distance-matrix\n");
> +
> +        return -EINVAL;
> +    }
> +
> +    matrix = (const __be32 *)prop->data;
> +    for ( i = 0; i + 2 < entry_count; i += 3 )
> +    {
> +        uint32_t from, to, distance;
> +
> +        from = dt_read_number(matrix, 1);
> +        matrix++;

You can use dt_next_cell() which will update the pointer for you.

> +        to = dt_read_number(matrix, 1);
> +        matrix++;
> +        distance = dt_read_number(matrix, 1);
> +        matrix++;
> +
> +        if ( (from == to && distance != NUMA_LOCAL_DISTANCE) ||
> +            (from != to && distance <= NUMA_LOCAL_DISTANCE) )
> +        {
> +            printk(XENLOG_WARNING
> +                   "Invalid nodes' distance from node#%d to node#%d = %d\n",
> +                   from, to, distance);
> +            return -EINVAL;
> +        }
> +
> +        printk(XENLOG_INFO "NUMA: distance from node#%d to node#%d = %d\n",
> +               from, to, distance);
> +        numa_set_distance(from, to, distance);
> +
> +        /* Set default distance of node B->A same as A->B */
> +        if (to > from)
> +             numa_set_distance(to, from, distance);
> +    }
> +
> +    return 0;
> +}
> 

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 14:18:02 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 14:18:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172427.314657 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mItix-0004bQ-IW; Wed, 25 Aug 2021 14:17:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172427.314657; Wed, 25 Aug 2021 14:17:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mItix-0004bJ-F1; Wed, 25 Aug 2021 14:17:51 +0000
Received: by outflank-mailman (input) for mailman id 172427;
 Wed, 25 Aug 2021 14:17:50 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5IQt=NQ=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mItiw-0004bB-GJ
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 14:17:50 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 34dd7fef-0bef-444b-83a8-4235aee24542;
 Wed, 25 Aug 2021 14:17:49 +0000 (UTC)
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur02lp2057.outbound.protection.outlook.com [104.47.4.57]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-30-tHGfv3ebOv-3Ta2jsoKr3w-1; Wed, 25 Aug 2021 16:17:46 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB7038.eurprd04.prod.outlook.com (2603:10a6:800:12d::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.18; Wed, 25 Aug
 2021 14:17:46 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Wed, 25 Aug 2021
 14:17:46 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3PR09CA0003.eurprd09.prod.outlook.com (2603:10a6:102:b7::8) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Wed, 25 Aug 2021 14:17: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: 34dd7fef-0bef-444b-83a8-4235aee24542
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629901068;
	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=OMQ7I42U8hswbQpPRboMSivSEatE2pSsX4dCZ+Ai7Fs=;
	b=T7bCp4YFVP/222bHolOJEwXDe8PKozWnq8ruEsi0L45cG7ANF1rpXKue9AQuA3wfVahXfx
	u3pSHVd+WHPy0g0F+/z0veXaXdoB4oN8cYjEKCzQbsaBBDp9TUtsg3eEUXvkfoM8IlaZg/
	zVmepn6psf9Yw2wp6xpQ5IZdf7PMh2k=
X-MC-Unique: tHGfv3ebOv-3Ta2jsoKr3w-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZrEZCpZM1rdDjP5aNScI3NSAOqrm12gw12bWyr4GllP+hcJOnmdoy7dAT1PNkhtN7VHkxFIp0nMP0ZLrQh/BInJQYM6jiFEmxb8bWMqvT1hcTHugeOp8z9VdR2cHKHJ/qg3RrP6ZaURykO1WQ9yaECXgwZTnSn4O+LcCGnXHRIpwKm4CtBDTSFlXX7rgPt4oIN/1r6QzyIguSTN+NxlA179fY8ZfSpBhh9ePu1qCm0CEHHc7AGL06irdB6hKXXzR1ANL4CLRtXFcos0h5cRXmV7YS/7iBq0wtbc+UB7g8mHKOVhdoKNICemrvOv1DU7OWwvmraglPoLbQE6p2e5CaQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OMQ7I42U8hswbQpPRboMSivSEatE2pSsX4dCZ+Ai7Fs=;
 b=MEuYFAt/FD/C/rGXwQDDZt+2CJjxePsxXWg1ZXtwPd27FjXcsTAEo8JZb+9nu9EjwVO1Gb6jeVo7y63Ld3P/t6Bocm7BIxZ4h9PYvduEIDjbxnTrMZgOVvSaaUwKmJl0PPcqlBqHIbOHzO0NsqQDf4JdU8BIAvsTmNakiEc1JUydnZlttDiJ+hW7Dpz6rEtCy4emlTFS0ESgwOMWselI8O0t6Xsi8rssClcsHR15h1pMYOZGri8gpRGuf6n0TJi+pF/S90Sr6qng0/napPEm9hxF/xwbd4ijLNQZMYEdP4QSV5L4TwumZbSn+Lm8VefxejbaGbde5VVWaYVknMrWhg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
From: Jan Beulich <jbeulich@suse.com>
Subject: preparations for 4.14.3
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Ian Jackson <ian.jackson@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>
Message-ID: <243c9ada-6d2e-fba8-2eb5-3fddf53ae7c1@suse.com>
Date: Wed, 25 Aug 2021 16:17:43 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3PR09CA0003.eurprd09.prod.outlook.com
 (2603:10a6:102:b7::8) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 71d39911-d447-4711-ae4b-08d967d31c2d
X-MS-TrafficTypeDiagnostic: VI1PR04MB7038:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB7038B0B6C4CBE50831BFB892B3C69@VI1PR04MB7038.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8273;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Hc+YsEROR8uVJvu26mfCjDFjxBzenPAVcqY56GE2s3nhdBf89gIw4YV2nDiDF9aE+MlKy24l5Jc3oCiM/6w705jYy+fbSQ2aXc0t0xAXecKtRqr/poJvthwM4zedbV6X8FuLd54Haezy3Cf7St2h/qYZyp6A9BSz9WWS2oOtPIYOPIMd7cqeDfHLnsjohVWlgChObSOIszwGQ/w9bxsidVTfnlRX11BFe8JR7WBpR5PxVrpXxgPK3UIDglYkPsjMmVXhOK/58RAHQLAn8zYTWq5XXilM3n1oA7r5Ugprc3wjbtU+ibsHdweEHtCIFv+13CtGbqtgoopO5yeyr8KUkuDJ0edngd9CgK253hhVjIUXlJJh0J7k7wAZuqKBPgN4zJAUUao1f/PmARVU4gqDDkRU4zb7gf8Up1IhmHmaEIwK2Si28Ty3TvvIYBbgKM/0O5PpluCgACkdWFyLBv6s5WzXNmdjBweZPsN73fJ+ZHzInGw6j5L6Ky5A1xIs9+xLyG3m1v5cGK3HOHePAu6gkOMaob9u3LZ+99M6eInc7FfF91eyL1Rt91APHj5PpE3EEjXdkKerbt4zHArENPrGsKT7nxe/ScwH3jQgESPNaIi597RZxfnE5vjUth670KNEaCNQGn887jHecmRaUifq1nA/TTEk+FXFdrCHtyoTp3tIGxhJ89Viv1Z2MsUxeq5zKJ8RHjoUzbtRBopgAdzOkZmemHnX1qvFsxwAiu2iDY8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(376002)(136003)(346002)(396003)(39860400002)(2906002)(5660300002)(956004)(2616005)(26005)(186003)(36756003)(6486002)(54906003)(66946007)(66476007)(66556008)(86362001)(7116003)(8676002)(8936002)(4326008)(558084003)(38100700002)(316002)(31696002)(16576012)(478600001)(110136005)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b0EvRVd3Y0dwRUU3Z2xRU1QzcVVaQlpQZUt6Y1ZOYmxGand3RzZwUXoyOUN2?=
 =?utf-8?B?bWtaZFdHcklCdmNwMVc4WnBmTkhuTXRpVXo2c0dEdGpGVHcwRzNxTHg0YUJU?=
 =?utf-8?B?VzF6RFB3YVJuSGtxeW4zUXlMMldEUGpMT1hMK3dReVE0NW9QUHNIT09QQ2pR?=
 =?utf-8?B?UTJob3pmUEZmT0JZbGNjQ0N1VGsybzlkOXFFbHJMODRoakJGVHd3SW5ONm1h?=
 =?utf-8?B?RERmcWx2b1RZSWM5Yi9WZ1VkKzdKcldzT0pGd25BbUd2R1I3YnpiWkNyVWF2?=
 =?utf-8?B?cTBuQm5seXJ4RkZqTTVpbFJHNVJWK3FIRUZNdllvQi9GWjV1NUIrcjFFM2NH?=
 =?utf-8?B?Z0ltdFJRRE9UM3RzYi9YVTVtWUZTbUZjcCt2WkJKZk5ESEhRUThpQ0o4MkJD?=
 =?utf-8?B?ODkzY3ZKOWRSWGtSS1hwbzVITHluV2xUWHZ2cWljcjRSTHFBTzJWb0FBNVBD?=
 =?utf-8?B?amhNeWt2Nkdiakw3NzI3ZXUxNktaYW9MaGNPUmp5Y1ZycnkwK0l3cmRUYkVy?=
 =?utf-8?B?bnRNenNHSzZZVWhSSVNHemF4aTIrZ3Ywc05YS1cvN3JNWEE3VU1KRXFON0VJ?=
 =?utf-8?B?UkRONTNMcWFlNjBIL3AveXlRbkZSK2lvb3hsUjUyOFNWcXRCSzdnOEp5aThh?=
 =?utf-8?B?bGU1cmhBcFlBY1p1bjcyK0dFMWJkQmI0R2t6QUZZTVlUZks4MitiQUh5eDA4?=
 =?utf-8?B?MUE4RHlwOWZWK1BBNmdwTW9DQjBmanpnN2pzOUlyKzZnK3NldUpaeWpzVE1J?=
 =?utf-8?B?cEg4YUFaWmVpNlJoTTNYRXRhZlVQd3Y3cjgrVXkrVEFsV1MvK090RXlYa3g5?=
 =?utf-8?B?dkNQYnB1N0VQbW5uK3Q5SFZEcGc4OThUc3lqUTB5bE5BNSs3R0haZ3ZwWHFV?=
 =?utf-8?B?bzRvdHc3Ykx4WGt0K041Wmk2SWx4cmdCMGM0SHhkbmRMUjRTT0MrenB1WWtw?=
 =?utf-8?B?NGFsUTh1M295cUFzS0JyVzBTVVFoVElsUkpyZ3k3b2FWSDVLTU1WNVF6QXlB?=
 =?utf-8?B?TlJnVGNwQTAwMTJVMkdxSkRLQTRDSk9PTk03TmlOaVpUK3gxRW1PVnY5NFV0?=
 =?utf-8?B?NE5PRmM0cnNkd3F4d2NoYmYrZlJLWDdraFpvRmdOOGFtSHAveDJIWjhrN0Nl?=
 =?utf-8?B?Wkh3aTlwN1BHaXRlMnViVm9nenEybzZRUGJ3UDlWYjFaR2IxT2hYQ3JVV1hW?=
 =?utf-8?B?ZzVpcWt6MUxDNVdJTzVjYmhLdU5LbkFob2VFU2dsT2NYMnhuVEpsSTFQclk3?=
 =?utf-8?B?S2N4OE1rVGdyU0xteTRPRlZrVjlsT2ZnbG5HSjRjbDk3WVAxTkJVeHBTbmk0?=
 =?utf-8?B?OUFwd3p5akdyU292aGljcjArN0tpNTZQMFk3c1NTckdRTjVER1Z1ckorZFRk?=
 =?utf-8?B?a2N6aGJBbHZDZXBiQ2Q3Qk84MjlUNmpCVEp1aVhFem5GZXRJeTV3VlEzYW5l?=
 =?utf-8?B?RHNqaC91Q013dXF0YXUzSzJZb2JMRTJSYWtwWitISjdJaGNCbXpGTTE1dmFt?=
 =?utf-8?B?RTlndGw4cXFUWjl0Ukt6NUtKT2w4MFlHSmN4dXk1VGFSbTNaSnI3MUV2cWRp?=
 =?utf-8?B?cHhzRWxYYzJEWUJWSnczYUpXUEQ3djcyeE5IN0paV0ZSdG5pemtvWGQrYzZm?=
 =?utf-8?B?MnNtOGVtZVcwc2VsVGZ1Mlczdjl0RXlMcy9aMzd2dU11NXU0K3dGdnRORFlD?=
 =?utf-8?B?b254KzZKaDc0TWxhRWkxQXNYYVVFZkVIL3Zaam1qMWtKbWRzVi9nTjJxRlZq?=
 =?utf-8?Q?4iiJ1djMGYAnCvsWJ3N5SVXf/dhnTT78kBmnnJf?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 71d39911-d447-4711-ae4b-08d967d31c2d
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2021 14:17:45.9811
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: thNTL2KvaXcd7iLlJoYiQSAWK8NzKgmCntqIoXH2WbCYgsRSTyphKNQYQj0iS4xgRyYkgu2t8ZFILix3ESU9Fw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7038

All,

the release is about due; I intend to only wait for XSA-384 to go
public in two weeks time. Please point out backports you find missing
from the respective staging branch, but which you consider relevant.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 25 14:36:33 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 14:36:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172435.314667 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIu0w-0007El-4n; Wed, 25 Aug 2021 14:36:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172435.314667; Wed, 25 Aug 2021 14:36:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIu0w-0007Ee-1t; Wed, 25 Aug 2021 14:36:26 +0000
Received: by outflank-mailman (input) for mailman id 172435;
 Wed, 25 Aug 2021 14:36:24 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5IQt=NQ=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIu0u-0007EY-CW
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 14:36:24 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id d1a834c0-05b1-11ec-a964-12813bfff9fa;
 Wed, 25 Aug 2021 14:36:23 +0000 (UTC)
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur02lp2053.outbound.protection.outlook.com [104.47.6.53]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-32-ES2F5UyGMyCifhv4nblWWg-1; Wed, 25 Aug 2021 16:36:21 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4350.eurprd04.prod.outlook.com (2603:10a6:803:3e::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Wed, 25 Aug
 2021 14:36:20 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Wed, 25 Aug 2021
 14:36:19 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FRYP281CA0001.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::11) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4478.6 via Frontend Transport; Wed, 25 Aug 2021 14:36: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: d1a834c0-05b1-11ec-a964-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629902182;
	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=9TAIN4ceIngvBJyRdnHi95jZAfQsbtQLZl9d8QFurFM=;
	b=mNAuni3AFn9uZ8rjFz6CRgAoeqpRprhjNHEARdU+TGarbDsXZji8E+UPQnBiCHOGiLFKVw
	VjwGS4VQBcdSWubwgjmdxEB+8DVg49/hoUgoVgi02+hkhEdpuv6Ba7Q1TW8a73m/iZyjdG
	WBQgng7erJEIOeNK4MowraTYazccW4M=
X-MC-Unique: ES2F5UyGMyCifhv4nblWWg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DyKoNLqoX805SLjmoaXBzy7uKz4ofzXev1UQLECKCes/ZzNhISMx8xf6sEOm7yCvl5Y1uJLS9ZwWUuJSCVDkhEV+azZVoWRtsvMUrv9FvskV2cCtb85a8I1K9akchNpHLOiJQmrBUO/8xsj1CksGzwm02EQLznPU4biNeiIvrn6B1I5CjeFYoDEb81MpSgFnQnpmMkws90RolovohPyrPeYya6QhI8bgkRBb7QLBhXhySiEE82ASgmfIYRtaCVSC0K1EGFH3DP3hhFu18lkxC1Q9B+80qG324N6BxndtGnzBkaWj6kTqbsrYwRDi6VGvZEo14KA9UiOFw9oyRQVgvw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9TAIN4ceIngvBJyRdnHi95jZAfQsbtQLZl9d8QFurFM=;
 b=CmnCw2Gcov7Bd+0mg8KK67bJ8+C9OE+T13xegerRqIQyi7z+iR5iz8s7SekfHEkR1X0J7iBhxeBMMJ8n68vwyZI5YC8J0s0ypvudnkK1NzVP0OUADD0vijO3Va9Un8cI7JtGy4BljpHpIyADQXGLq2HOXB3nas//ItyyJh06AOIqEIcDGqeBElCP575hxjdDuYvpStjdXGfCqOujcM/ITJisbK2FDEOqL/yzx3QaQ1kA+qu2bSc4oPrT3fP17bIgkCAvYSA1QLzTeGLbrMLX66Z4GtY4QS2FX9fqQLHfKeULLxeX8vTqgP+SYcfMGBT2DVKj2OPBbs8FiS8tlbo5+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
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH] x86/spec-ctrl: Skip RSB overwriting when safe to do so
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: <20210819162641.22772-1-andrew.cooper3@citrix.com>
 <75e80f6e-f7e8-60d6-93fe-1a48e40593b5@suse.com>
 <e2efa715-b523-9c78-79c3-04ad6ee32746@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <ffb04572-eb40-64b8-2156-beac6324a5fe@suse.com>
Date: Wed, 25 Aug 2021 16:36:17 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <e2efa715-b523-9c78-79c3-04ad6ee32746@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FRYP281CA0001.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::11)
 To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 89ed5695-29cf-4008-f8f7-08d967d5b418
X-MS-TrafficTypeDiagnostic: VI1PR04MB4350:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB43509F1B90207474DD4E6C4CB3C69@VI1PR04MB4350.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MO7tPZyOPMHmEEVPuWawWusPtfQiJULEVF9rq6vr/N/l1irAHx8BglZcuw9Kn0fHW1NQw2KkS+kSs9W+nUk1NZTYSVxX/DA62XKCCDx1F21X/nmtliD9hGhPtLvm6qzdwwUu7WQZtjw35kJ2x+CHIBHjxBPOMW8WxAMdqPaDcyfNw2GGz5g1r+aAMKFumHCNr0+a5YmKecCwOffuq2VAjv/0rimK+d7WKxF5fuyCsdUH982izWfmclrHWmor30ipNvOLFAt9DhuQna4jRZwt1Qmkag7JUOEk2sS4lWJHfT4NLxbCqXycUIVl5ILzM6zZkJhMZGzP7a76BxTEcEISDrOz4iLCV3J+vvqXFn9+eCNqWRCD8112ozI08Bc3nMV+xyT18xpPC1Tp5d4khO4DkfLbl2F6s3lhHlSiKikZrs/0YrwABsCcR9K1QkS0hLe/HZQbSZeeXEiNSY1VY3vPZtGmPddSpciG4ZObVdvoMEx4ZP/YfU25qAbQZctp9SX/ffguWJe+feRDXcRe7QA5dnc6UhmDsEL2HoIqRTlKxKpq4CEg8SbbveaPkUL65BiUP43IOm4cWbewgGFurLRWY/MxFN8f5y1BH5UIfMf40DYCpOGnLwG4pNJpGO775vWCnsvUOuzt2ErRTmC3Ko3qeozA71ZIUJCUk6GztGHK5oalzu5zMbJczjZaDPLkZAwSdvU5Vj973FnfWfq6f5Aicp8/qZGjhGTXV7s0oiO+gw8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(186003)(2906002)(53546011)(26005)(6916009)(4744005)(8936002)(5660300002)(54906003)(16576012)(956004)(66946007)(316002)(31696002)(66556008)(66476007)(4326008)(6486002)(8676002)(508600001)(2616005)(31686004)(38100700002)(36756003)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?N3B6TGkyVUErR3pQclZYMGRveFpDVmZEcDZIUWxOWlBDbzJON0ZsRmZFOUpI?=
 =?utf-8?B?ekFIc1RpMnUrTHdrT0x5ZjkrL2NjOWJmdVZibE1BeS81bEhoSmFoNlBISFZv?=
 =?utf-8?B?TGhuWm52RksvS3RVSndhQ3MyU2ZDR3RyK1RubTNXeE0vR3NQeEc3TnZVUzBw?=
 =?utf-8?B?bWMrRk5GQlBjUjFNdlU0TE1YWmpsL09lU2VIMGZrUXQ1NHNWNDZhQjVRZ3VV?=
 =?utf-8?B?M0ErYnBlOVhQTGU1NW1pcis1Qk9qSHZjUkJOeUF1ZHl0OW9kY3I0VTF6NGxm?=
 =?utf-8?B?T2NyQlhGMGExSEFsMXhCcUZtNDJLczUwRTFjeWkyWFhzdzNESUQrdWV4RUtB?=
 =?utf-8?B?ZGJxQURWZ3k1UE85L1EvWCs5MXpXTDRxcW5hVnpIMTVkeWNCTFp0MFlCSkY3?=
 =?utf-8?B?Mm5Ickc3WmtrdkE5WDBYcFFhdzZMZDYybEQ2MWxoaTlxUDNucFZ0akJPVDkx?=
 =?utf-8?B?MHpLQlE0dEtmNTg0R3hnc3EyanU0ZnB6aG1zbnlwRTBhWE51REIzMUFHdzZO?=
 =?utf-8?B?OWJXbm9FemxoQ3gyQkRVQ0ExN21LTThmQytjNWRndTM0dkk4VHVWNTB4Zk9p?=
 =?utf-8?B?cUhoayttaVJmVnhLMFk2cmVPS1BXME1pb2ozQ3lrM2RQR21jenVRYkQvUlRl?=
 =?utf-8?B?dDdpejZqNDdQQXFmYzF5RDJRcmNTaUFsQUUrRHViSGhUN3BWSkNiWloySkty?=
 =?utf-8?B?Wkduc1hiOFZuTUU5d2tYakU2cDM5YWNXS0ZhU0ZKRlE3UmhSN0xlM0wvb1gx?=
 =?utf-8?B?cWRNRkNOa1JwcGVwUld0ZE8wL1BrNWI1YVhqU20rU1VBVy9veVVwVjJ4dDN3?=
 =?utf-8?B?dk16ZnRXTUo2bnN0M2taU0RFNVVFVDNMbzZ2UUdFSnIxNUZBUXVlcVdDSlZE?=
 =?utf-8?B?c3dQNE1hc0szZ0hZT1c3OHBqK1dwWUN2aGd2elFSN3ZwM2hPTVRiZzRGQWww?=
 =?utf-8?B?M3lSemh1TTZZRkJRSGlMcnNLWEVNdlByS3VEVE94eVhkNTdGVlBNV1NBNXk0?=
 =?utf-8?B?TWZwZUlkdmovTEM3K3VEaVFZNzc2aHo3YTZuaWlvVU9sdVlBbURqbml2STBL?=
 =?utf-8?B?Nk1mUGY5eklPYXhYOE9kejZzVHZhZDFSYVZGaENwS3V2OW9BbXZWRXc3a2ZO?=
 =?utf-8?B?anZFWGpDZTB5NmdrSXYvbE1XTWhvMWlNdDA3c2lzQ3laQnJnODJlcU0xNXZy?=
 =?utf-8?B?eFB1TDdmeWZBSmZscC9xcE8vVit2N2wzTVZPZmRQdVcyY3ovMUxuamxJMFpl?=
 =?utf-8?B?NnZkaFdhNEJDNDNyeDhENmtGQlFuVm01ck9ibUw4OVY5eWl0czl6Z0pVbGR4?=
 =?utf-8?B?c3FpZll1OHNHOWN1YXJuVXIydnc4cGZrQ2ZNbkU1TXFzMTVUQVQ1bm5TRUJh?=
 =?utf-8?B?Ylc2azRoSUtQK0NQZ0dqVUdMYUVUcjZXVXZVTlpVRkFMYkJYSGpMdXd6K0Nt?=
 =?utf-8?B?Rkx5VHc2dUVHYVl3a29GYVVQQkhsRjRQOWNzV2RYUTBtcTM4aDhhY3h6QTlL?=
 =?utf-8?B?UFg2a0hobzQ0R3pZWjEzM0pXR3RwWU1Gc0h0MnZXaUsyRDU3Zkk2WWNuRmxp?=
 =?utf-8?B?cFVYbEdjZG12OEY5QmY5L2JpMlZGcFdNTHY0QlgvNkZwbWxoQ2Y1eWd2ZEl4?=
 =?utf-8?B?TjM4RXh3Z2pMeWhLdFg2ZVdpeno5bUE1eGpnczVPUzU2TVh3WE5tS20xN01i?=
 =?utf-8?B?cE84aVJaVWNWZTZyejArVHQ2WUZ2ZXUxakFOSU9UNlB3Q3dqcDViNDl4OVFz?=
 =?utf-8?Q?Z93kp+UeRG697+vHbPGIFp1bqkH/7ByY73Hva4T?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 89ed5695-29cf-4008-f8f7-08d967d5b418
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2021 14:36:19.8375
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: BIIvV2e6NUSvqmc3LpyBt6ggcRERZFrADwNLaMGQ5IJuhmhoG0UTZKxlX5XjPEzTFH+Q0K/5ld6FU6uVuUmDCg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4350

On 25.08.2021 14:12, Andrew Cooper wrote:
> On 24/08/2021 14:04, Jan Beulich wrote:
>> On 19.08.2021 18:26, Andrew Cooper wrote:
>>> In some configurations, it is safe to not overwrite the RSB on entry to Xen.
>>> Both Intel and AMD have guidelines in this area, because of the performance
>>> difference it makes for native kernels.
>> I don't think I've come across AMD's guidelines - would you happen to
>> have a pointer?
> 
> APM Vol2 3.2.9 "Speculation Control MSRs"
> 
> The information about SMEP is in the final paragraph before describing
> MSR_SPEC_CTRL.STIBP.

Ah yes, thanks. Still need to get used to this now being in the PM rather
than in one or more separate docs. I now recall reading through this.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 25 14:39:10 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 14:39:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172441.314679 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIu3Z-0007sv-KP; Wed, 25 Aug 2021 14:39:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172441.314679; Wed, 25 Aug 2021 14:39:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIu3Z-0007so-GQ; Wed, 25 Aug 2021 14:39:09 +0000
Received: by outflank-mailman (input) for mailman id 172441;
 Wed, 25 Aug 2021 14:39: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 1mIu3Z-0007sg-0A
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 14:39: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 1mIu3V-0007K2-4R; Wed, 25 Aug 2021 14:39:05 +0000
Received: from 54-240-197-238.amazon.com ([54.240.197.238]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mIu3U-0003gt-Uf; Wed, 25 Aug 2021 14:39:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=PA2fRQ2Akgk4hrNxuyp/mNBSQ5qglafZ8LQm7Td+U0s=; b=txLUWm3sZq6R8oV01fOm6RBCV1
	kXmOUBHsAP2GZMWgU1NdsN2cgbT3swFZWAYU5VVFNTSajOW4b9EbbU/aKbTMbtbuM+juEucWwnDSV
	kUcrBHZFWTL4wN39f/SkX5BvLNipPzTDDnF15eF6pEL8oX/gzZFmj1sFMSrFbwqbSb8I=;
Subject: Re: Xen 4.16: Proposed release manager and schedule
To: Ian Jackson <iwj@xenproject.org>
Cc: Jan Beulich <jbeulich@suse.com>, xen-devel@lists.xenproject.org,
 George Dunlap <George.Dunlap@citrix.com>, committers@xenproject.org
References: <24861.8902.217023.673705@mariner.uk.xensource.com>
 <5198b3ce-8a7c-a5b1-4ddd-f2052e1d4181@suse.com>
 <24862.31351.137596.242803@mariner.uk.xensource.com>
 <db112874-eb0a-c9ad-4509-6d048b056038@xen.org>
 <24868.63053.121473.979573@mariner.uk.xensource.com>
From: Julien Grall <julien@xen.org>
Message-ID: <10ab2ac0-0f38-aeb3-405d-85d4056f8698@xen.org>
Date: Wed, 25 Aug 2021 15:39:03 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <24868.63053.121473.979573@mariner.uk.xensource.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Ian,

On 24/08/2021 14:38, Ian Jackson wrote:
> Julien Grall writes ("Re: Xen 4.16: Proposed release manager and schedule"):
>> On 19/08/2021 16:36, Ian Jackson wrote:
> Can I at least get a +1 from someone for appointing me as RM
> for 4.16 ? :-)

+1. Sorry I forgot to mention it in the previous e-mail.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 15:02:41 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 15:02:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172446.314690 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIuPx-00030H-FS; Wed, 25 Aug 2021 15:02:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172446.314690; Wed, 25 Aug 2021 15: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 1mIuPx-00030A-CM; Wed, 25 Aug 2021 15:02:17 +0000
Received: by outflank-mailman (input) for mailman id 172446;
 Wed, 25 Aug 2021 15:02:16 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5IQt=NQ=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIuPw-000304-NJ
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 15:02:16 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id df625c70-a330-42d3-b7dd-04fa5101ac46;
 Wed, 25 Aug 2021 15:02:15 +0000 (UTC)
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur03lp2058.outbound.protection.outlook.com [104.47.10.58]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-11-mZFXBry5Pe2ToS19dUsswA-1; Wed, 25 Aug 2021 17:02:13 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0402MB2702.eurprd04.prod.outlook.com (2603:10a6:800:b4::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Wed, 25 Aug
 2021 15:02:11 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Wed, 25 Aug 2021
 15:02:11 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR06CA0115.eurprd06.prod.outlook.com (2603:10a6:208:ab::20) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Wed, 25 Aug 2021 15:02:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: df625c70-a330-42d3-b7dd-04fa5101ac46
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629903734;
	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=f+WfgAgZLEMTKmk46nhmUnvd441KD9Iv0i2gIh6wpBA=;
	b=LpItDn7jKuCOI57Vgmeyfx05rQyaEMI9oMOUts+uwaJjyT7oPSxauHjdczoT0RlnCnRGJl
	Lyhh5pdDgfuhRx24Gtb7qM9AICv1ZoStCu5xs5zg9Vd5gzax3W2GdadqUZ0ZLp9s1y0d6q
	/7CFI3D72qoRXO8AAWus4CBRlNrVww8=
X-MC-Unique: mZFXBry5Pe2ToS19dUsswA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JZ+tLwHYyH6RSydbn6imIMsEHRZjvjYveHT+zLtYxopxGz0a4BCXH6AKfqTWgL51NKe56dFDeSVK2PTFrZqIrHMubuvYgWhVnYuINq8ROEKWEoDJSSJf29yjPZn3ptm7xxh5oGcTiqUkJAUugh3Or2wxdXbwZlfs2pZAJbrFFAklrx5YYhlLRONXikXG3PfSwnnxE7SaMWUj7XkKbKPn7wvzKF/ZsOR/vDb92Xo4zLRjMnQ/sDsnD2yUEG5UURUN104anOHDYhxDlIrEEUs5XE1VhWm5KVkKlWAc1XctUFgZxRLpAGzMdxJlJslSKijo0Hp/nNPnLxiUUmqQ8vdtog==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=h9ubc/t8G4P6EO93vmFcMmj1WhGVTIw3vPuXaI41xwM=;
 b=RJRxo/OWCov+jtkgcIsfwmoG6qBRYtOE7QzmMrwU0e8rEeypd/ObxHnoQWxGPmAErngDL/OW40zU7Zqlu07hroyHSv61P6sGUVz/OGpsRMqgm7Fk10KMfCxSmjZDKFpXML5I3H+xq2oMgKC5PQZ3C80kNCKdvupua7pKP6oF+ldnsl28XWvPuztAV8BjjAZYjUb1CLONLGVp1RdIAG1AYtEcN/7/B2u6y0h33dScq0RSPtAlP6kulnol9hRebbxp5kVzVCGzndvQLZJGgVwuWZZmlFafosXtFdfxWZDU8PqwSR9BB/y4PZczS7WmRHbHApS+ID4MeqTCFm0nJGTwgw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH] x86/xstate: reset cached register values on resume
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>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <20210818113017.454251-1-marmarek@invisiblethingslab.com>
 <45de5185-b514-8c52-6922-4c587818c698@citrix.com>
 <3125583f-b965-7746-d833-c197857cd7d7@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <15fb708e-e03d-bc4a-a0bd-72b81d26c6da@suse.com>
Date: Wed, 25 Aug 2021 17:02:08 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <3125583f-b965-7746-d833-c197857cd7d7@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM0PR06CA0115.eurprd06.prod.outlook.com
 (2603:10a6:208:ab::20) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 2c6b3ee0-1b8c-4ec7-3f8e-08d967d950e0
X-MS-TrafficTypeDiagnostic: VI1PR0402MB2702:
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB2702E763712C6E9C1D609DB9B3C69@VI1PR0402MB2702.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ftos9lgkYhjWj5fUI74BvfSOapzlZdjZJYfso2JuIQm+22rZrA5U3JIt2LV0rPEotmLlOFRbv7Ej3HiK1PO6T5HCs7Ij/TRqShO8Uq9qTkB1XXZd6Nn1V3tIMFxj74btE1Uzhi9HYoKu57eZZtbIDv8W7ipTvJfYvJwjbHHGX21bUOfvKml2czGhZ1HSlJu07RWgDH/P/9z+U0gFvpTmLWzIksrll9aXyYuWOjyNv83mI2d1O3vozBmXrawiryiGyu+dY87s9T5KucDXTF2HsCGs2GRZt+XkLsPaoJ0CqVsWCG0dxQTWMfynfBp/gQu4OLjC88MXfJDVQlIRs2pARmA/SrNMTrj/jVLjGXSMSJwcaIFhtMTkPYxznVJeXproHAHcLih3o5xZdLSnqhIuFG5cDbVFz0WDj9v6NemYS5ByV8FfQ6j8GJH82ki+hQZ3rrfZqQ1G/RbE8jUaBV/aiWMZhtCdLhpk4M3Pz7neUdNqpmqPw1XsjezSy/9xdGku+V/wy/eyn3YPvD4wACdOtiheUzFiAp3QGQWFXdV0cN9CiTo9/BdKQjOW9mqraTJlsr31fLWtXr5RfUxjcY2w2zGSVYZ47peIXX2KAcgMOQtboKcY3b4D0ZFVA+8VATc1VcdVD3zxVk8MyZSk3DJJ4hnDD61i3LJpYgsT99+PL1x7b6+MU2dM85fearv/x5U+V3peS1cv+r1tAAwhltNyaACViLofVw9QfUJ8rZKHZ5k=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(39860400002)(346002)(396003)(136003)(366004)(376002)(83380400001)(36756003)(2616005)(4326008)(66574015)(2906002)(956004)(186003)(66946007)(316002)(478600001)(86362001)(31696002)(16576012)(66556008)(26005)(6916009)(8936002)(31686004)(53546011)(66476007)(38100700002)(6486002)(8676002)(54906003)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?HuZiVJdpsPB24f6dcup3lUyc0cN+Dpa37aLPRrzFr7ba/k3ImAqFlrSA+nGE?=
 =?us-ascii?Q?H0nHEA0lzTE06AoXiXwt48snyznkK7MHVyU9PzO7rf5qfQurW50cU8SWBKkU?=
 =?us-ascii?Q?56UsP9GFRLkZ5tAXkVTUZyzstkjUDpfMNnLuPYjpj762thIO76dNuHn+UlQj?=
 =?us-ascii?Q?z4MYAYTHMp9I/DnPKreRkbUmKunKuPOfHUvfg3DA5H2eGRSZkZ+lrDZ9vnta?=
 =?us-ascii?Q?d6uZw95fsDaym3vvGa+BXOkEf+OI3cZq5xQ3tevh7GkNfB072Xcy8Gsc1pqB?=
 =?us-ascii?Q?baI7tWxYNrg17uppG0AT1YcCCdb4eEAAUorgV7YgJYYoIuWju4ydx73jEofX?=
 =?us-ascii?Q?W+bqAPGEoSajmnx6Qe/Tj/HkdD6ktHCfFgevrZR+rC0Sdwa/jgir8PeGRcq0?=
 =?us-ascii?Q?OChtqpTq4oxCjgF8uRC+bukMkwDtcXbz56EKDOKyOCQpY/WDMiK91HAd/2l6?=
 =?us-ascii?Q?4+/2giAn3JVRp/MEHCu57cWIuXzdyiBLaKeHRM1QQGmAYiAJJD0R/WbA39kV?=
 =?us-ascii?Q?cR6NTQk6vsaOQbNQzXwZV/9LPnXv7OXYq/4JNvVNlpCW4zNrmG3FAbb2GV/u?=
 =?us-ascii?Q?LQdVR5VofRygd+/Ep30PL0CCl3y1Z3NhEYRjCFvkGJZ10YkF2zGn435hC86m?=
 =?us-ascii?Q?qdGe0SYT0KMF17S0Y4ykjvksnVKY8HoVDlmuQRzWzi7FtxkOwRB0iIN9NNn8?=
 =?us-ascii?Q?MwcYvmkFrIzPKx783vrtAJUtE8oFtrTp7cZaMztVKWbqMWzf6epT3KGzxhV6?=
 =?us-ascii?Q?Meb7aY7x9OmCM1kMEaOwAKRHE6vNCsnA1EsspCxrYDnlh9KaYT18dZINFEh7?=
 =?us-ascii?Q?YiZnxxYWCm09zdw2cWKp4cstDjNxQCC2NH2ur0e8gMhgecJ5jvSmCedd9wOT?=
 =?us-ascii?Q?OxwhkK2rgJOgH+wtabFjfjYNiEE+zs3QFMX/FZQvpvkDR4F93dxsEhTDbUCa?=
 =?us-ascii?Q?gfWaaEKvMzqEFRwMxlkcrqpkM4YaVDSk3Ytgxss2wHv8zK1jhzDTgQiMHBZq?=
 =?us-ascii?Q?Y8o/7m23j6h83n3+fMgl3TAD4qCWz8WDoDhHprmrEM3w603Tgwh4QCAEUVwg?=
 =?us-ascii?Q?X/5KBGyqKslaz9pBjcmbHZu8uLHNr8LO9QlAAeTv6gSlqt4qP9tM9T00+34r?=
 =?us-ascii?Q?YbQmc4/f6qAiyUx43A4EscSXKp007anSDqPDsGN9Cnfe+s1H/sDkghIztTMd?=
 =?us-ascii?Q?5XekU1V2uqN6SrwhQr4ACQr6s7yrdv7zDgM41YqLwrsx1rIaZsHD6+K/FohU?=
 =?us-ascii?Q?q9uiFFxM3/tUQKQ/rYjA7JXmj8/sLuhZkD6ANIJyZmVqWommFlv5j25/eIur?=
 =?us-ascii?Q?xWGplBjJPzjcBEhVCmFumI6k?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2c6b3ee0-1b8c-4ec7-3f8e-08d967d950e0
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2021 15:02:11.3043
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /qkNa35y/Of/GUlp4pViCMB0JdBoCfd5x1w4IDz1XuHaLLwGSOx36CuTtmZ5Y/YjdTTwYVhNk7jzIWlnIw4s6g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB2702

On 24.08.2021 23:11, Andrew Cooper wrote:
> On 18/08/2021 13:44, Andrew Cooper wrote:
>> On 18/08/2021 12:30, Marek Marczykowski-G=C3=B3recki wrote:
>>> set_xcr0() and set_msr_xss() use cached value to avoid setting the
>>> register to the same value over and over. But suspend/resume implicitly
>>> reset the registers and since percpu areas are not deallocated on
>>> suspend anymore, the cache gets stale.
>>> Reset the cache on resume, to ensure the next write will really hit the
>>> hardware. Choose value 0, as it will never be a legitimate write to
>>> those registers - and so, will force write (and cache update).
>>>
>>> Note the cache is used io get_xcr0() and get_msr_xss() too, but:
>>> - set_xcr0() is called few lines below in xstate_init(), so it will
>>>   update the cache with appropriate value
>>> - get_msr_xss() is not used anywhere - and thus not before any
>>>   set_msr_xss() that will fill the cache
>>>
>>> Fixes: aca2a985a55a "xen: don't free percpu areas during suspend"
>>> Signed-off-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblething=
slab.com>
>> I'd prefer to do this differently.=C2=A0 As I said in the thread, there =
are
>> other registers such as MSR_TSC_AUX which fall into the same category,
>> and I'd like to make something which works systematically.
>=20
> Ok - after some searching, I think we have problems with:
>=20
> cpu/common.c:47:DEFINE_PER_CPU(struct cpuidmasks, cpuidmasks);

Don't we have a problem here even during initial boot? I can't see
the per-CPU variable to get filled by what the registers hold. If
the register started out non-zero (the default on AMD iirc, as it's
not really masks there) but the first value to be written was zero,
we'd skip the write.

> cpu/common.c:120:static DEFINE_PER_CPU(uint64_t, msr_misc_features);

Almost the same here - we only initialize the variable on the BSP
afaics.

> msr.c:35:DEFINE_PER_CPU(uint32_t, tsc_aux);

And again no boot time setup at all for this one as it looks. Not=20
sure how likely it is for firmware or bootloaders to use this MSR
(and then leave it non-zero).

Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 25 15:02:57 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 15:02:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172451.314700 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIuQa-0003aA-Sl; Wed, 25 Aug 2021 15:02:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172451.314700; Wed, 25 Aug 2021 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 1mIuQa-0003a3-Pf; Wed, 25 Aug 2021 15:02:56 +0000
Received: by outflank-mailman (input) for mailman id 172451;
 Wed, 25 Aug 2021 15:02:55 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=KJl+=NQ=redhat.com=stefanha@srs-us1.protection.inumbo.net>)
 id 1mIuQZ-0003ZD-C7
 for xen-devel@lists.xen.org; Wed, 25 Aug 2021 15:02:55 +0000
Received: from us-smtp-delivery-124.mimecast.com (unknown [216.205.24.124])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id 7755608c-5b7a-4360-ba5b-bb19a429b4d3;
 Wed, 25 Aug 2021 15:02:53 +0000 (UTC)
Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com
 [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id
 us-mta-543-rtw4kdQDPlWw5GjUsBP-JA-1; Wed, 25 Aug 2021 11:02:48 -0400
Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com
 [10.5.11.11])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 0272A180E46D;
 Wed, 25 Aug 2021 15:02:44 +0000 (UTC)
Received: from localhost (unknown [10.39.194.121])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 172A56E0B7;
 Wed, 25 Aug 2021 15:02:42 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7755608c-5b7a-4360-ba5b-bb19a429b4d3
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1629903772;
	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=Ogdw7Cr9W0IiMxVe5AomUWpBrc+xVG8R0z1NKgDz2Do=;
	b=CDCC8/5AUQGtULB/Ukwhp1DeiCaWJqovHWta2YkRqlpAB/rWy2mPCCAb6WQk69G0EDnScp
	eNi1IY7nFu3e5NnP0TfxZYMCViC0knxyCbeg4vtxLbfapuIdH6W5Y70efL8RnPj/OIgAA/
	u72OVm9EAtfedWorxYxanycn0ztSrf4=
X-MC-Unique: rtw4kdQDPlWw5GjUsBP-JA-1
Date: Wed, 25 Aug 2021 16:02:42 +0100
From: Stefan Hajnoczi <stefanha@redhat.com>
To: AKASHI Takahiro <takahiro.akashi@linaro.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Alex Benn??e <alex.bennee@linaro.org>,
	Stratos Mailing List <stratos-dev@op-lists.linaro.org>,
	virtio-dev@lists.oasis-open.org,
	Arnd Bergmann <arnd.bergmann@linaro.org>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Jan Kiszka <jan.kiszka@siemens.com>,
	Carl van Schaik <cvanscha@qti.qualcomm.com>, pratikp@quicinc.com,
	Srivatsa Vaddagiri <vatsa@codeaurora.org>,
	Jean-Philippe Brucker <jean-philippe@linaro.org>,
	Mathieu Poirier <mathieu.poirier@linaro.org>, Wei.Chen@arm.com,
	olekstysh@gmail.com, Oleksandr_Tyshchenko@epam.com,
	Bertrand.Marquis@arm.com, Artem_Mygaiev@epam.com, julien@xen.org,
	jgross@suse.com, paul@xen.org, xen-devel@lists.xen.org
Subject: Re: Enabling hypervisor agnosticism for VirtIO backends
Message-ID: <YSZbknGmyh5HnbCK@stefanha-x1.localdomain>
References: <87v94ldrqq.fsf@linaro.org>
 <alpine.DEB.2.21.2108041055390.9768@sstabellini-ThinkPad-T480s>
 <YRuSPT9075NuWRYS@stefanha-x1.localdomain>
 <20210823062500.GC40863@laputa>
 <YSNxVjlpCsc+chEC@stefanha-x1.localdomain>
 <20210825102945.GA89209@laputa>
MIME-Version: 1.0
In-Reply-To: <20210825102945.GA89209@laputa>
X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11
Authentication-Results: relay.mimecast.com;
	auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=stefanha@redhat.com
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="Q2+xa00iXzNkzj8Y"
Content-Disposition: inline

--Q2+xa00iXzNkzj8Y
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Wed, Aug 25, 2021 at 07:29:45PM +0900, AKASHI Takahiro wrote:
> On Mon, Aug 23, 2021 at 10:58:46AM +0100, Stefan Hajnoczi wrote:
> > On Mon, Aug 23, 2021 at 03:25:00PM +0900, AKASHI Takahiro wrote:
> > > Hi Stefan,
> > >=20
> > > On Tue, Aug 17, 2021 at 11:41:01AM +0100, Stefan Hajnoczi wrote:
> > > > On Wed, Aug 04, 2021 at 12:20:01PM -0700, Stefano Stabellini wrote:
> > > > > > Could we consider the kernel internally converting IOREQ messag=
es from
> > > > > > the Xen hypervisor to eventfd events? Would this scale with oth=
er kernel
> > > > > > hypercall interfaces?
> > > > > >=20
> > > > > > So any thoughts on what directions are worth experimenting with=
?
> > > > > =20
> > > > > One option we should consider is for each backend to connect to X=
en via
> > > > > the IOREQ interface. We could generalize the IOREQ interface and =
make it
> > > > > hypervisor agnostic. The interface is really trivial and easy to =
add.
> > > > > The only Xen-specific part is the notification mechanism, which i=
s an
> > > > > event channel. If we replaced the event channel with something el=
se the
> > > > > interface would be generic. See:
> > > > > https://gitlab.com/xen-project/xen/-/blob/staging/xen/include/pub=
lic/hvm/ioreq.h#L52
> > > >=20
> > > > There have been experiments with something kind of similar in KVM
> > > > recently (see struct ioregionfd_cmd):
> > > > https://lore.kernel.org/kvm/dad3d025bcf15ece11d9df0ff685e8ab0a4f2ed=
d.1613828727.git.eafanasova@gmail.com/
> > >=20
> > > Do you know the current status of Elena's work?
> > > It was last February that she posted her latest patch
> > > and it has not been merged upstream yet.
> >=20
> > Elena worked on this during her Outreachy internship. At the moment no
> > one is actively working on the patches.
>=20
> Does RedHat plan to take over or follow up her work hereafter?
> # I'm simply asking from my curiosity.

At the moment I'm not aware of anyone from Red Hat working on it. If
someone decides they need this KVM API then that could change.

> > > > > There is also another problem. IOREQ is probably not be the only
> > > > > interface needed. Have a look at
> > > > > https://marc.info/?l=3Dxen-devel&m=3D162373754705233&w=3D2. Don't=
 we also need
> > > > > an interface for the backend to inject interrupts into the fronte=
nd? And
> > > > > if the backend requires dynamic memory mappings of frontend pages=
, then
> > > > > we would also need an interface to map/unmap domU pages.
> > > > >=20
> > > > > These interfaces are a lot more problematic than IOREQ: IOREQ is =
tiny
> > > > > and self-contained. It is easy to add anywhere. A new interface t=
o
> > > > > inject interrupts or map pages is more difficult to manage becaus=
e it
> > > > > would require changes scattered across the various emulators.
> > > >=20
> > > > Something like ioreq is indeed necessary to implement arbitrary dev=
ices,
> > > > but if you are willing to restrict yourself to VIRTIO then other
> > > > interfaces are possible too because the VIRTIO device model is diff=
erent
> > > > from the general purpose x86 PIO/MMIO that Xen's ioreq seems to sup=
port.
> > >=20
> > > Can you please elaborate your thoughts a bit more here?
> > >=20
> > > It seems to me that trapping MMIOs to configuration space and
> > > forwarding those events to BE (or device emulation) is a quite
> > > straight-forward way to emulate device MMIOs.
> > > Or do you think of something of protocols used in vhost-user?
> > >=20
> > > # On the contrary, virtio-ivshmem only requires a driver to explicitl=
y
> > > # forward a "write" request of MMIO accesses to BE. But I don't think
> > > # it's your point.=20
> >=20
> > See my first reply to this email thread about alternative interfaces fo=
r
> > VIRTIO device emulation. The main thing to note was that although the
> > shared memory vring is used by VIRTIO transports today, the device mode=
l
> > actually allows transports to implement virtqueues differently (e.g.
> > making it possible to create a VIRTIO over TCP transport without shared
> > memory in the future).
>=20
> Do you have any example of such use cases or systems?

This aspect of VIRTIO isn't being exploited today AFAIK. But the
layering to allow other virtqueue implementations is there. For example,
Linux's virtqueue API is independent of struct vring, so existing
drivers generally aren't tied to vrings.

> > It's possible to define a hypercall interface as a new VIRTIO transport
> > that provides higher-level virtqueue operations. Doing this is more wor=
k
> > than using vrings though since existing guest driver and device
> > emulation code already supports vrings.
>=20
> Personally, I'm open to discuss about your point, but
>=20
> > I don't know the requirements of Stratos so I can't say if creating a
> > new hypervisor-independent interface (VIRTIO transport) that doesn't
> > rely on shared memory vrings makes sense. I just wanted to raise the
> > idea in case you find that VIRTIO's vrings don't meet your requirements=
.
>=20
> While I cannot represent the project's view, what the JIRA task
> that is assigned to me describes:
>   Deliverables
>     * Low level library allowing:
>     * management of virtio rings and buffers
>   [and so on]
> So supporting the shared memory-based vring is one of our assumptions.

If shared memory is allowed then vrings are the natural choice. That way
existing virtio code will work with minimal modifications.

Stefan

--Q2+xa00iXzNkzj8Y
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhpWov9P5fNqsNXdanKSrs4Grc8gFAmEmW5EACgkQnKSrs4Gr
c8ibrQf/cUFRy2ec/Q4jqmw4tH0GaS+wFtd6J6r1XuFUbh6W5RlyOrIBCJul4yk7
Xf5bWWcaa5EfcXaQ4Hf13BhETJNoHDHRff0NueaZpFzbkSc42gu21Txi3f+DbeFC
5u0OlT/2dSLgvOMyi3HG30QC/G+hv2AaykWjh4XGtDdiprOcfyTy7P21q7KNZo67
WUwQxVvhdJ0btUVK+AN3FJmgT3fJSa6ehLv4jUuGMD0ep/MG5Ta0ne10Xop0OxN3
tGXkjyrKxVgcS/7uydI5cS6y67PamvXzSxafe2Ihs3l9p3TQq9OREquvhpUtuO7M
ZQDxtgo8aG7bRWQEcwrOeLAzMXq7iw==
=7kHC
-----END PGP SIGNATURE-----

--Q2+xa00iXzNkzj8Y--



From xen-devel-bounces@lists.xenproject.org Wed Aug 25 15:11:34 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 15:11:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172459.314712 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIuYr-0005Gp-Or; Wed, 25 Aug 2021 15:11:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172459.314712; Wed, 25 Aug 2021 15: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 1mIuYr-0005Gi-Ln; Wed, 25 Aug 2021 15:11:29 +0000
Received: by outflank-mailman (input) for mailman id 172459;
 Wed, 25 Aug 2021 15:11:27 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ACUI=NQ=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mIuYp-0005Gc-IR
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 15:11:27 +0000
Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id b0c8b687-1500-4972-92e5-d7afd64a9395;
 Wed, 25 Aug 2021 15:11: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: b0c8b687-1500-4972-92e5-d7afd64a9395
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629904286;
  h=subject:to:cc:references:from:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=8f1tvQLtYNsywvhk1xS6BxAe9JNTsyKOHT7bohh6MPg=;
  b=hCb4Ur3I+sYfBobmUiR1e4Vn4VRsCbHAd/6xI8UXKs2nqbm8FToTsBgN
   PCLYMT9l6oQ9edqPQlIm6fl/XD1lkXPYcg9scwt/3CWfT7UchhI9Zyabu
   TIGr41khlkVS7bwpsKdacljLNxJRx204ah1BI1U3WWVVVcrdfp2TERViX
   k=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: s9tj0hN60upg/SFacLlOo+4GtbetIw0OjkoBLLrHy63YYWkeskRC+BZwfwNt4P5KNBPP+5RMUL
 gE0mB2+07kgyJcEElymzdCgVYZmQXQobdANajrN3Phav6wohfFf0oaJesR/9/YeNqlyKPfUZFz
 ZrdRFDfV0Q+Pg+gLA1V0lB6NLvK598UJXFwmrouC3WypINEQCc8u6O7dW/15rkYXFRZjrF+3/R
 5sYoEUVFm7TRjd7+qX6U+ZGY0/WgOXSKr24+TEd/zuIN7KyOcZBzcOizCjcii77zyafJESUE/5
 GkKr2T0Krm7QnfysLlHBhl0K
X-SBRS: 5.1
X-MesageID: 50898095
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:Q9yK96G1PHpzXo6apLqEEseALOsnbusQ8zAXPiBKJCC9vPb5qy
 nOpoV+6faQslwssR4b9uxoVJPvfZq+z+8R3WByB8bAYOCOggLBQL2KhbGI/9SKIVydygcy78
 Zdm6gVMqyMMbB55/yKnDVRxbwbsaa6GKPDv5ah8590JzsaDJ2Jd21Ce32m+ksdfnghObMJUK
 Cyy+BgvDSadXEefq2AdwM4t7iqnayzqHr+CyR2fyIa1A==
X-IronPort-AV: E=Sophos;i="5.84,351,1620705600"; 
   d="scan'208";a="50898095"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dMq5sP2gsVHRxXQ3XlMYCaE8WtaGkiurE6r/sRWBv3FiAizqU/CUI9WSdoGHr9VLnX503cKaeDdp0wK8MHKuebS7pd+6XSVi1eoBqCwPZpHBMCuhGlsQOptvWWiVaGDBL6G5byfqk5oQ8br9BaNv0K9MFfzhC5+vwbFR5kZjPU59mdydmEi+xE2Vx43Mrv3mW2dKjuvOol85QAsAMRUNvOh7Jfx7t4sgpOpeEm2r4XEQBixAv2iirijk4cuJVOIyfDq1xCDf8CkJMpXqNxTGwep7D/7vZ8PVerxYL/84Jf9BW4ci330nZ+O1O9+ZeanChiojlJVZ0Ta50mW1Nwgrtg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8f1tvQLtYNsywvhk1xS6BxAe9JNTsyKOHT7bohh6MPg=;
 b=L5x/fNmbXoZf/TGhEqlZkqmfQ+8Jt472gc05qEWEGYSzZqjC2/KeQnrO9ruldjq1La0Y18qZessVD3n8fikJxs59vdH24uN6IBVfTAEXjpxaUFHvU+8qIfjiXAFm6wM6sx8bvbW6aWSv19dWyYFbbtxElwjzD8WlQEoM+Id05YXRTnyoZFyx4f5stU5xsA+oKmUt4mgbsg9HuFY37Pc8GS+9VDOVzD530p/5A5sdeBgwTrxiRjyXwxPOwxbY28aLa5PUrqrwDORMnAkAxp6qVQPmjnUBOXxSr5Hw/O1PdOg12jbGpZ2Gc0q84LGrBKNYxwnaHjcVRteBQaX9M3H2cw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8f1tvQLtYNsywvhk1xS6BxAe9JNTsyKOHT7bohh6MPg=;
 b=Afu1rmsoDo2oKyCcroqsGOliBiklnzGYQOub3MMzWfe2uCTEVLood1aBZP08PZA3OTc2n7+bJ8cIF37ujX9HKbJ0F5HKzVj59dsxOW4SHGeXXaMcb5SlTvRBlp8WKEw/xUJUafu6SIJztABu73kRoL+CDpjZnr+QO6zRRinld6I=
Subject: Re: [PATCH] x86/spec-ctrl: Skip RSB overwriting when safe to do so
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: <20210819162641.22772-1-andrew.cooper3@citrix.com>
 <75e80f6e-f7e8-60d6-93fe-1a48e40593b5@suse.com>
 <e2efa715-b523-9c78-79c3-04ad6ee32746@citrix.com>
 <ffb04572-eb40-64b8-2156-beac6324a5fe@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Message-ID: <10dabd6c-3cff-a2b1-799b-227bf39be9bd@citrix.com>
Date: Wed, 25 Aug 2021 16:11:17 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <ffb04572-eb40-64b8-2156-beac6324a5fe@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Content-Language: en-GB
X-ClientProxiedBy: LO4P123CA0088.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:190::21) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a0c44534-561a-445e-11b5-08d967da999c
X-MS-TrafficTypeDiagnostic: BYAPR03MB4613:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <BYAPR03MB46139366438D0768C0567946BAC69@BYAPR03MB4613.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 9T+yw4Y+4imnldMegU2rb4gHz4FnevJCXpR1BmvpaKe96TSUDX/Rw9sFQQONxMBya3N+vMv9kXFh+ZmVn1p77hRS1ZyRuqprA7PbCTJBzGr4q+tCAp4KK/XLFTdvgCzT6zMAmS7uAxzD65Pv101Dp1EoWARcEMcUfsy6ZRA34/y0fCQV4q7RDmpLYbqIaJ/1T1USg91Kz3CU0aDVormf+vIl7cZ7mIqazwxq3kzrtfQ/j+q3coxG3zR42nUWSZZRRp4lwC1gSyd03EaNB3Ve3HeRyGc7cudeqcEToZioxzucpagtz4opC7AgVaHRFjvwrQBwqbOpB/s7SaglOoJwVNwueRxum2BlOnnu/3xN71CKBAYySVQWUkZL3QKEYvhsvctvjkSTE894NoOfdnmuRWgwZ51s9zpFzbfMc0VwOY3TRn+//zD3q/bb4okhDQDSsn3oJCxbtCh/TcLIHdAXXSEy2WLLoVZZDeELPPH7MpI3uDAbGvV3uJ5+SnHsvde9zYb0vRm38/XW0CuVaR2sbFLGqDe6FAe7db5oJzadK2+t5la3jk18y4a4t9N30Pq475mQX/2R0wJeI/k53W5y8fuAMSEfDmuDyTiVzJ+p8IC2qRhrCIdwysLbZB3oL+VIivQDilLJn7h2SxjPBNKmVArZWgMFnUCHrihl+6SALxz9ZjzfCZz5bSi9GX9WnANCY8fE+iUldecE2rPUI34BOvAG8G/4xrWcOYnsS94ab2o=
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:(4636009)(376002)(136003)(346002)(366004)(39860400002)(396003)(31696002)(4326008)(38100700002)(86362001)(53546011)(54906003)(2906002)(8676002)(26005)(8936002)(31686004)(956004)(2616005)(5660300002)(6666004)(186003)(4744005)(316002)(66556008)(66476007)(66946007)(36756003)(478600001)(6916009)(6486002)(16576012)(55236004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?YzhKMk9mUDkwWjVFa2c0RFllcW8wcS8xOUZqWVpqc0Y3SDVlS2lQV0VvWVpr?=
 =?utf-8?B?REdud0pwY3RWRVI5akQ3VXMxSjVMS1NuU1pqY2xibVZ5dVRVZjI2K3c0ZWlo?=
 =?utf-8?B?dnVmV3Z3WFhnNm9xT3FjaEZzd0dWdTNORWJOc0RaRHJzZWVWVjFNaW1DeFZm?=
 =?utf-8?B?NnJ5YTFuQ09qdTJKOHkwSGdHSzlVczNLN1ozcU5GTmZQdVdKSkZvR1VubjFM?=
 =?utf-8?B?a3dObnVRdXI0aVFnSEEzUE9haGU5K2s2a0wyVDdTUkJFR0xIQXpLNHVRL2dx?=
 =?utf-8?B?RDBvdHpRVHNTTVhLVmhLMFB6czZzMUVXRWNLL3lQWXVSY0VFM0FWbnE0ejh4?=
 =?utf-8?B?cDFNZzUrY2V0T29yT1p6L1FWbjJCK2R4UDJWWG5lWGNZTGswN0RJcWhKUVEw?=
 =?utf-8?B?UUFuZEo0dVdHZjdVUjY0TERUaGNvY1RMTHJhdWx1ZmcwZHZFWXQyUmxjSXlW?=
 =?utf-8?B?Ykh2VXdaSkh2U2UrRXdLZlJMQXd3b0F0WFVtdmdGY0VGcG1oS0ZkYUxsOWF0?=
 =?utf-8?B?WW9IS0hSWFNKZnA1QTZsKzZZQndtYzJaTUszZ21OL0o5V1pKQXBnYmNnNThP?=
 =?utf-8?B?Wk5KMDV4WE40SkcxeXdkNnU1Q0EyM3NiUXNwUHAxbEw2bmluY05Cb2FNTGlR?=
 =?utf-8?B?RTBCakxvZTloRGx1c3hXZDhzVk5sSFBmS0JIak5WYTU2UW5ZVVk4bnNybmMz?=
 =?utf-8?B?QkMvUTRiOTl2MnFucmd4aDZRd1BKYjZ6LzVoOUlBcUNmVDZZdXRkRitYS0dO?=
 =?utf-8?B?Y0NZMG1BZFdQbzlHTi93MGJJZVB3aHZrU2NqdEgzczM4QUdERWFMMVNsZ3JH?=
 =?utf-8?B?SWJQMTBrK3o1YkUvSE9Uazh6UFJ5UDAyVDRsSDJJT05QL3lZTEVmcTEyeE1q?=
 =?utf-8?B?aVNPeHplVG5ZRkdCaW1mdHU1d2JtS2RzWjM4THdhTzFyNzhwc2NJUSsyWlNz?=
 =?utf-8?B?Mnd3YjV0NFAwU0toMlp2VzFyUmpZWDJLamRQeGhVYlA3V09EQUV5SUFxSmRy?=
 =?utf-8?B?TjNqZTlqeWYyRkt4U0JwTFlVUDVMVkdITTNMS3B5OXFsc1loTU85NFN3a1U2?=
 =?utf-8?B?UnZPK1VmZHQ4MFA5RnV3c0tDRlJ0c1JER09NYzY5VmZ6Z0VGSTB0SUdPOVVo?=
 =?utf-8?B?SWU4bU9EVUdadGxGWk1Ka1BuNmNpQ3VIa0ZVVVhWRUZkeldmNHpMSUpzMExt?=
 =?utf-8?B?MnpWNENrQ01RTzRXN29xVjVnekcyTWtyVUxvVzRSeHJtTW1uZit3amhHby9a?=
 =?utf-8?B?Y0RrcmJwR1BTWGdhbGVOMUJRMzJUTFJITHF2VitiQjFWcEhqYmtXaWQ0UHhK?=
 =?utf-8?B?cjdhZUdQVTdmenNiM3dsTFVlR29QRmdEeDZNSTV0T1piVkR0a3NJcjhHU2RQ?=
 =?utf-8?B?WEZyaDJyNmEwalNaU1Rnbktjcm1VRG45YzY2NG15K21jRXFaN256S0t5dndz?=
 =?utf-8?B?VitsTmxGRnpTb256Yjc1cHM4SFhBUjNCQjZZeDJjZVczbFBpN0NRQmE2Vytu?=
 =?utf-8?B?cWxJdUloOVJGS2tNYmFSbDNDa1hra1U4VDc5TmtwenhmaENzOU1WUVFLY2to?=
 =?utf-8?B?ZjR2ak44RU1pZWhYNmRualBpMnpRTVlDQVFPK3FpUnM5cmZ4N2w0MkxnY0hC?=
 =?utf-8?B?WWtiN0dieWs2MGVjMUo1K3FmV1lMZTgzTWsrOE90YVBqYjVGR21LSWFkNXRq?=
 =?utf-8?B?QWVYODJDWHFLMkJkU3ZYd05zWGhPSlZzS0J3R3dHWmkxbmc1YUFMT3Q0Z1Fx?=
 =?utf-8?Q?gD3GiOzXpS/T4tcO0gaPttnR6LSLtd8e3vkxrS5?=
X-MS-Exchange-CrossTenant-Network-Message-Id: a0c44534-561a-445e-11b5-08d967da999c
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2021 15:11:22.8678
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1HVXxN7rZbLFeL6svqEiYikMS7aF3QwTkOzXYPC90qgRPcMCOmaxMqcfH2ep22Jaw9XWLcy1PzXREwFlF3fINOLiq4vkIoSWCnKg1YwEEDg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB4613
X-OriginatorOrg: citrix.com

On 25/08/2021 15:36, Jan Beulich wrote:
> On 25.08.2021 14:12, Andrew Cooper wrote:
>> On 24/08/2021 14:04, Jan Beulich wrote:
>>> On 19.08.2021 18:26, Andrew Cooper wrote:
>>>> In some configurations, it is safe to not overwrite the RSB on entry to Xen.
>>>> Both Intel and AMD have guidelines in this area, because of the performance
>>>> difference it makes for native kernels.
>>> I don't think I've come across AMD's guidelines - would you happen to
>>> have a pointer?
>> APM Vol2 3.2.9 "Speculation Control MSRs"
>>
>> The information about SMEP is in the final paragraph before describing
>> MSR_SPEC_CTRL.STIBP.
> Ah yes, thanks. Still need to get used to this now being in the PM rather
> than in one or more separate docs. I now recall reading through this.

I'm still pushing Intel to add a section/chapter to the SDM, because
this is is all architectural functionality and interfaces.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 15:16:44 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 15:16:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172482.314741 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIuds-0006zP-Q4; Wed, 25 Aug 2021 15:16:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172482.314741; Wed, 25 Aug 2021 15:16: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 1mIuds-0006zI-MA; Wed, 25 Aug 2021 15:16:40 +0000
Received: by outflank-mailman (input) for mailman id 172482;
 Wed, 25 Aug 2021 15:16:39 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5IQt=NQ=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIudr-0006zC-Kj
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 15:16:39 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 702caf23-05b7-11ec-a96a-12813bfff9fa;
 Wed, 25 Aug 2021 15:16:38 +0000 (UTC)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2112.outbound.protection.outlook.com [104.47.17.112])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-38-CPkWjHHANxuCD7AxyGetyg-1; Wed, 25 Aug 2021 17:16:36 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB3120.eurprd04.prod.outlook.com (2603:10a6:802:e::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Wed, 25 Aug
 2021 15:16:34 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Wed, 25 Aug 2021
 15:16:34 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FR3P281CA0072.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4b::23) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.8 via Frontend Transport; Wed, 25 Aug 2021 15:16:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 702caf23-05b7-11ec-a96a-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629904597;
	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=+8tyB8WblkCc2TfmASl9M6/QXpNZ5gexPCeAFiF8rHo=;
	b=MlaXOXi5j/WUOsI302SbUECMmgVQTbCjKbF01/mOLuxfoEkEyZoiDB6/xIa2qJFaf3Gm45
	21k981jCM/5bi8U0sKhHd2YR5ySSJJwX0MinufSl9MbRwWIEgOhgoqIAVXGduKfVDnaZRW
	Y+aNmi9XvOJaBmyfIZV+oVbpG+7SElU=
X-MC-Unique: CPkWjHHANxuCD7AxyGetyg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Y9myRUvIVsEaws9PeBrm8GgZdwHWt9wifkeyX7Lh122x6G1OAzPu5cWKqz51C10PvlWM2ebYMglDJSohFUI74yTWmRpIppzImqkz1jclRGBsIFnWFnUJhk2BxL4q2ISsgGtlAs0J7cm3cODNoLRB07kFewqfh0PYl4YjMfzuu+DS6XuyvfK5khZZsZplex5ItC2dxjdxF+M3ydhAstKkFzdov79tJbILaTZkeNz5hZSdHQil5Q+jhD8yebmNOUK6p9SYDkED/wLtjhWmqS3bhuXIgBTPr29HLajX3OUNMqRuHvKF/3FRJkMxNRSKUCJIOUYXPLWnEQ+6CdYQBx8x4Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+8tyB8WblkCc2TfmASl9M6/QXpNZ5gexPCeAFiF8rHo=;
 b=St6X+tT715luZ9tcgCe30RE2rxbJIz6lZaAGb449HNvkPUx31ksljf2VhaSi/QQquYTvZg1Dsrd8whzz7puggCtcdM3g9Rxx0neg3YVDIPR1g2CEFIDHjVHcvh3upH+aNgY3wG86msSiB877PK79J//WbQyuBtDEWLnFhCrmJs8yfmfnXflfJxZO6UZOCtmSRyiKEs0gBz109t78DGAPdZ0iU7k3X8FhnOwcFRDRgW4vbr4AcHmkbYon82Z72FL2h4uaq0dU5e0z5K7LrI6g/E2kNfkJZ6ZeMHY3RRlOaTSIKkyDqPzzI98kw3BqZgR0xlq/rBy0BfKM6OmzhI02Ug==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v3 3/7] xsm: refactor xsm_ops handling
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov>, xen-devel@lists.xenproject.org
References: <20210805140644.357-1-dpsmith@apertussolutions.com>
 <20210805140644.357-4-dpsmith@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <572bfa5c-154f-8fe5-7693-75919949835e@suse.com>
Date: Wed, 25 Aug 2021 17:16:32 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210805140644.357-4-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0072.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::23) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: aef42afa-812f-4965-f62d-08d967db5351
X-MS-TrafficTypeDiagnostic: VI1PR04MB3120:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB3120DD36D93B824AAAB84A62B3C69@VI1PR04MB3120.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:2582;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9mAfejqhhzSyufemhqs9F3nUQkUokQPDgJaRGmTTupfzyvRRGFqgPEYyXznvbwVOONXnLHm569uAbAFwu4YnitZFB7UAmWRp7c2KnB5DAP1OWeGdZlg3GbnIdOVQDnZXM+D0esz0Hx0hV+PBEl18v42hJ2YxdOCwVwi97Jp4F3V7ZSwk0LEOPJm4teY2JO5j7jKMrTmOrm1A0dxP97JCxNDrlFXcwHn7cN5gKCbi3NOOHzVGV35hMDMY1TPyUFCFhoDqVMZaKhKTxWt5p9S0Pz9akCZBim1pafo2q6+1YZVqZWHsOh5HbIH8/ZxT17jj4yjzQptDZs0l3DNpWE1yqgE05BpL6z9/xZxoqJNQZTsa8LnDEHika6JHTrl3UWnUZoS6EWBVe6GYUU6yFYD5XPhyTUkmH5AVwV9dpQVwrGdkkTmSprZm6H2Y4F69NPgnUB4j8r44pP9HsVSNi083OkLsvihtRWUUBx8WBnuLYYR9ZaBFYkpT4r6pqBRR/8PJSEHnGXYINZ9VWzC+zepGw17A+zzrK2PMDYu3SjP05idaxiNyOyhEe6LsTDcGf+Lu/mGSSQSFPVGE72TQLPrkc2qzJd5D4qHWffsvFB20ogOeERlbtzTIjZgLxIpl0PPzBG+P/qKWx+fVngQ5lXeIrcV9/UhtUl8H08S7hYIe0A+GJt9htl08x5mvXnyPt6V7wOpADgSoYty2S4FIFrePZar22FXBKUGDUgvKXH4w0NU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(376002)(136003)(346002)(39840400004)(396003)(956004)(6916009)(8936002)(8676002)(36756003)(6486002)(66476007)(38100700002)(2616005)(66556008)(31686004)(5660300002)(2906002)(66946007)(53546011)(16576012)(26005)(316002)(186003)(4326008)(31696002)(478600001)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bUFrc25qZlYrVzNuU3Jjc1JTMTlYemgySHZIQldDVEdVK3hRbnlHeVBKSmpI?=
 =?utf-8?B?OUNZVlJxODIxck1qb0JtRTM4R1ZWcXlvdms1Y2lGL1l4aGVYakRuNm1kRFZx?=
 =?utf-8?B?VUtMdmk4K3FmVzdyR3lRdTBqWHBIRnhnalZwSGlHb2o5akhhNnVDd3dKSndv?=
 =?utf-8?B?V3VKWnVyMWcyZUZuc2MwTGFsd3dkMUJ6SnNQN2hpeWtoNForS3RXYmJQMTZS?=
 =?utf-8?B?cjJickpzRlAvUjJIaDBuRVZReXJjMk5VOUlnMkYza0U0WGlURjd2eWlJcHlF?=
 =?utf-8?B?aFU0c2MxVXlnbFJDNXR2dmRPT3owdFE3eGxMbWh0Wis3OXdsZTFycDRMTEx5?=
 =?utf-8?B?Z210K1QyNEtmZ1oyU3hVRTRPdUk3c1lxQmwxWFNXMzd5T09vUHBkNDFmY0Er?=
 =?utf-8?B?dFRUbTZzWXA0VjRMT3RhQWZvU0M2akMrSzhNYlkySyt5L3hRUHFPbCtJT0RV?=
 =?utf-8?B?VEJwamRXSU8wMWJyZjY3WFBoQ1VTWmNvWVZxNjBYeFZBaFVHanRDUExPWXFq?=
 =?utf-8?B?cGlwZ3E4T1dzOVlmcm4raS95c1FsdnJ3QUFHeXNkMGJTckhoODRSck5rZ0xY?=
 =?utf-8?B?VkZpRnhQUTlpMExQbFkwRnZBdFFuRWJEemxqdG9FN3FjcXlXZ0IrdWFSMllJ?=
 =?utf-8?B?RnlzbTVoZytJc0RRRWU0aDV6MXFwVjFsdlNrRENEc0pyQVpoWGxtdE04L0Vr?=
 =?utf-8?B?M0xxd3N3THdGUTF3VEM5QjBCM3I1MEI1UzVhUHZOa1ovc2REVzN4djFXbGlw?=
 =?utf-8?B?L1FiU2F5MXpweVlLcEFRbzJtN1Z5NVFiR2I2VTk0ZUhVamR3SEwwM0tzaEVs?=
 =?utf-8?B?NnpvYnRrVE5PejlTUlZ1OW05REhsVFVTSEtMOUZEWkcrQmMrT0FMQU1tQnJI?=
 =?utf-8?B?UHZ3YzM4bHRyMzFMUkxDbzVtem5XdENMMXYxNjVmQzdVSzh2Tk8ycC9hU2FG?=
 =?utf-8?B?VzlubGp5UzNZOG5aU2pwU3J6aUttc29NUWVDVXdjblJlcjF1M01hWjczZWha?=
 =?utf-8?B?b0dEejdBOXZtT05UTDUzZGhmMVA3SFdVa1NZVnZhUUl0cG5uV3lhZmRVMytD?=
 =?utf-8?B?UUtpR3NTTlpxcU9NS3NMajJXZUZ2dG9WWkQxYzFmWGJnbFJ4aVA0eWlmN2JQ?=
 =?utf-8?B?b1JDNGdhdm8zaDdpbU5Ca2NWMGk2d2NrKzlBeVFUNFpDazJuVjR3M21QemtV?=
 =?utf-8?B?ZGFhZEVIRU9aZ1AxSGx6KzRHblRINnFoWklDWi9VaitrbTVFc0xwVkhRU0VV?=
 =?utf-8?B?cWtMZkxYZDZWQjk2US9jZVVBMGE0eFIxL0U3TUtsM2hrR3FtM3RManNHcFoy?=
 =?utf-8?B?NWJNUis3amFhN1I1U0FjRGk0OUNaaldFcWdOT1lDK2gxb2F6Y2drUW5adnR4?=
 =?utf-8?B?cnVVakVGS3hWcWVCME9nTDRxckNvaml1V3AvTVNDWGJGc3VpZi9uUkJpaHRD?=
 =?utf-8?B?L1g1S3o5TUpzQUhwSGZ3Q1I0SHQvKzlsT3lOcnR4eisxUXc2cG5qTkZieGlS?=
 =?utf-8?B?a2pjdkVPejNSbkViSERBb3hHb1d6U1hpTjlEV2hEUEFUZUJPeXJxeHNMclVE?=
 =?utf-8?B?Vk12anlRNXNEbWxuZUl5ZmxwdEx6cWFndHJnOXJON0l4WGVqTlF2SkpQclFh?=
 =?utf-8?B?VkQ1VStFMUovdDlXNzRMT2EzaW5PWDBRSkpoOXdTRnpYc2EwMEVOcWhIdHRP?=
 =?utf-8?B?alFvK1V0WHNzTXQvZk5lbW5DNHF0YWhnRDZKdlMyKzV1RDBQUFdSRnc0YmQ3?=
 =?utf-8?Q?yfyU7+dhB/WLQKAhJ4RbmDotJDioHl7md9RqYy0?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: aef42afa-812f-4965-f62d-08d967db5351
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2021 15:16:34.4464
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: N1luk67+VpE+4zxKV7dv+cDiv4+LF1UgzK4vGbpOd8HcFFDnd5aLjEHwJ4expJKNyhoCc37DmBBI6VfKKrhx6Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3120

On 05.08.2021 16:06, Daniel P. Smith wrote:
> @@ -747,16 +747,16 @@ extern int xsm_dt_policy_init(void **policy_buffer, size_t *policy_size);
>  extern bool has_xsm_magic(paddr_t);
>  #endif
>  
> -extern int register_xsm(struct xsm_operations *ops);
> -
> -extern struct xsm_operations dummy_xsm_ops;
> -extern void xsm_fixup_ops(struct xsm_operations *ops);
> +extern void xsm_fixup_ops(struct xsm_ops *ops);
>  
>  #ifdef CONFIG_XSM_FLASK
> -extern void flask_init(const void *policy_buffer, size_t policy_size);
> +extern const struct xsm_ops *flask_init(const void *policy_buffer,
> +                                        size_t policy_size);
>  #else
> -static inline void flask_init(const void *policy_buffer, size_t policy_size)
> +static inline struct xsm_ops *flask_init(const void *policy_buffer,

Please use const consistently between real function and stub.

> @@ -766,9 +766,12 @@ extern const unsigned int xsm_flask_init_policy_size;
>  #endif
>  
>  #ifdef CONFIG_XSM_SILO
> -extern void silo_init(void);
> +extern const struct xsm_ops *silo_init(void);
>  #else
> -static inline void silo_init(void) {}
> +static inline struct xsm_ops *silo_init(void)

Same here.

> --- a/xen/xsm/flask/hooks.c
> +++ b/xen/xsm/flask/hooks.c
> @@ -1745,7 +1745,7 @@ static int flask_argo_send(const struct domain *d, const struct domain *t)
>  long do_flask_op(XEN_GUEST_HANDLE_PARAM(xsm_op_t) u_flask_op);
>  int compat_flask_op(XEN_GUEST_HANDLE_PARAM(xsm_op_t) u_flask_op);
>  
> -static struct xsm_operations flask_ops = {
> +static const struct xsm_ops __initconst flask_ops = {

__initconstrel please (I thought I had pointed out the difference
already during earlier discussion). Same for SILO then of course.

> --- a/xen/xsm/xsm_core.c
> +++ b/xen/xsm/xsm_core.c
> @@ -28,9 +28,17 @@
>  #include <asm/setup.h>
>  #endif
>  
> -#define XSM_FRAMEWORK_VERSION    "1.0.0"
> +#define XSM_FRAMEWORK_VERSION    "1.0.1"
>  
> -struct xsm_operations *xsm_ops;
> +struct xsm_ops xsm_ops;

__read_mostly?

Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 25 15:22:17 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 15:22:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172487.314752 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIujB-0008Rb-HP; Wed, 25 Aug 2021 15:22:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172487.314752; Wed, 25 Aug 2021 15: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 1mIujB-0008RU-E2; Wed, 25 Aug 2021 15:22:09 +0000
Received: by outflank-mailman (input) for mailman id 172487;
 Wed, 25 Aug 2021 15:22:08 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5IQt=NQ=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIujA-0008Qd-2S
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 15:22:08 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 52e92ede-4d78-4f48-9e6b-c4b0456df420;
 Wed, 25 Aug 2021 15:22:07 +0000 (UTC)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2105.outbound.protection.outlook.com [104.47.17.105])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-31-Sddo5FNBO92QYlfI8N-NJg-1; Wed, 25 Aug 2021 17:22:04 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5902.eurprd04.prod.outlook.com (2603:10a6:803:ed::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Wed, 25 Aug
 2021 15:22:03 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Wed, 25 Aug 2021
 15:22:03 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FR3P281CA0028.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1c::19) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4478.6 via Frontend Transport; Wed, 25 Aug 2021 15:22: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: 52e92ede-4d78-4f48-9e6b-c4b0456df420
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629904926;
	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=1jamq7kIFPsK2yXCSnXY/MegsCtho4PXbPCRV8muJgU=;
	b=nL94HHCjm3m8wAu+/vT5oYTwPeMRV3/dyzVf31xiOyH7NS9mIhUhMxtSHLA99iJDstXgOW
	M7cleKybMVygc2daFLIGB1gz7ROHMMhtwqPgQyGYrBwzNFJFphB3de48vfW0XTZd3o0tzM
	DjbjokBhIkA5/YY3ouP4rdyONBYsf5E=
X-MC-Unique: Sddo5FNBO92QYlfI8N-NJg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=O/oDtUOPVQ3oRhnSNabd4cr7KiuTB+Jlg/fUR3kseZAfofEezGBz+/jhWyRBFLII0e/eoVzkJ+tsac4FALPssoQtUBfZ9dCq/ck2XQE45bv74DVuVbZRgxe++aBEdad8sRnjkYaZ7Rx/o3I+Wd90X5/QeN3pMwCALED5gIhbxIIIDYUFLJ+antt+fCFUZPEo5l8a5qoM2UbhgP2lEOQpZb1aEqrTaNEGOVrfz7ivn01ngSvl+oLUPgYwc4dWFv3Y0FTGyFrzUAUo1CrCp86KQUGVV6RENr5ZPVhp4srxw4N3o2JDO67PPR8vknWENyF+1lNE3O6r3sg3imn+RJONww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1jamq7kIFPsK2yXCSnXY/MegsCtho4PXbPCRV8muJgU=;
 b=Wb6p58TlyacXsR72TvO2moXo+bX/QreoEAjHIUfLgoxyTY0yEyXQ+/8SSuUGYHabKkMBsPCHKSCdaNCG7FXx9sVYD9/LQUrRMtti+t7YCuvBqB2Z/q3Dz1PlqlNSOWwzE7FBOURWlWhIMq2vV9fRE8D4UqigvCVeKYvC9LKnhj9F65+8zZ1U7NYXR0oG6BES3USdkTjEF/quTYKffbAtW6KOEjUFyR9TCD7ON/NCIuonKJ5y64N3VwpiwuKW9pZMweGB80kvFoSHS30Mla32oWjDz2Ws0rPQ2+aFFaYEbf60Mb1tNzcQQnTSlRJ+bvyw7SH5//htFBIx/uw2MRL4Og==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v3 2/7] xsm: remove the ability to disable flask
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 xen-devel@lists.xenproject.org
References: <20210805140644.357-1-dpsmith@apertussolutions.com>
 <20210805140644.357-3-dpsmith@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <aa55359e-cf96-ce3e-b1bd-a7af4397d4a4@suse.com>
Date: Wed, 25 Aug 2021 17:22:01 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210805140644.357-3-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0028.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::19) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: fe93a8d5-d537-4a26-e996-08d967dc175f
X-MS-TrafficTypeDiagnostic: VI1PR04MB5902:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB5902DC3832CD38EBD518F832B3C69@VI1PR04MB5902.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZgVph7lChCDwvRjlLwGCphYzkfcD20Dv7PbjT4+jJwpwJbYDRzB3BxIOxFZxfiLJB3EbRIq2+Q8QEziOf5WEn1Lx5VI9cLZ0IytdTBTPJCzH1Od2wM7Ta1+bUyGkXQbE/3vhZszRmxXMG5rqQPpsB9bb4V1Q0/6Og66z2Sz2FTJyUHKhEe4Lbz1bIwX+PvcImjvLuEZ6K4tnlW0gwuhbeAqG7l5/fiJIS4/+xuFDRKTblG0/B8I562Madp+mJm49BvfFyMlhoT09aMS8zDXCO20wg8JcCkjto9azfFNuxxsF/dRIG2an9kfvcBulD86cnxIxepjfmMZz66GZJwHWeJ6N0iCPaBaGiITcpUw3LcbLPyM0XuMDBY59HG3V3uAiUL7acWDiZTXNhyfKlJr06HBbmBHR+uWfgguo1hRREOqGNkCqSBsnWyKnMo3tMvRBm2rhmdFt1prhOHwGxAiWnKQ1sJR8cUlOLY9MkZLSXEO/R31cqFQRghDantL/hpX+RSuZNHkQe9+DeKj/eJc9cBCqreG7piVLSaLFGjZVq17U1eN+O/8AH++mOgyMKnSi3CEaQYKzIXFJZRoyjrucdi+KWMXX0W9Ga8UfEncVk6ie6uRkNKeHfzAm3NAHU1pOcxDfkjHSh82tFnscEqTVP+cnlT/noa0Xq+QXn5n/a2bRjq5JQZXh+jTuItf79hdhEns3KuLzIUIqa0UUuerbJfjHznEaWGU+PhX7qY6NRTc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(39840400004)(376002)(366004)(136003)(396003)(956004)(31696002)(2616005)(26005)(66556008)(186003)(66476007)(54906003)(2906002)(66946007)(478600001)(86362001)(53546011)(83380400001)(5660300002)(4326008)(8676002)(6486002)(31686004)(316002)(36756003)(8936002)(6916009)(38100700002)(16576012)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?a09RWUVidkx1bGg0SC9zYUlDWWRaNE5mRXdyNVNVZFFnSGRjQmVNRVJuV3Vh?=
 =?utf-8?B?eWNheWJ3aU05cnBCTklHVzFXZW9nUGMwUkVyZ3kralJ3WEJyL2g5SWUzYldR?=
 =?utf-8?B?L1N4UWpJNDFlSFVRQkpHNnZQVUQ1RlNHbHNnWDBsNlUzWC9rdHEzdHFoRmNh?=
 =?utf-8?B?MkVKdVZRZkc5WWdXOWprRGprcnJ3aGtNL0ZJMzZRczJqLzlWODJFNGdrNHBt?=
 =?utf-8?B?Yy9MSVB2UlBScTBOVjdQUDVrbGM0cDhqOWk5Z1Rpa0dFeXAxclVBVGZQeUNX?=
 =?utf-8?B?NnQzd29ha3kxV1JMcVhlU2sxdlU2WDFuQnhGTkRmMnhWSklQMnAwSWVpazVN?=
 =?utf-8?B?M1pQcTV1MkJLaGhmMm05cTlOS1l4NVVkemRKL3grQjFpZkhFWllINFhvMm1G?=
 =?utf-8?B?L2VYVDJvVFk4SkIyVWZ5bHJwZnc2cHQxK1d0dURlSzNuOVhFQ0syWTV5eTlr?=
 =?utf-8?B?L1ZRU0daZTZQMjQrYTIyLy9WT1JReXlUMDNZTjUwem5HU0lnVGRablRONk1o?=
 =?utf-8?B?T0lWYWFKMXhTeFVzODk1MmJBV2s4bHRXSHJmV3c0M05OTlpQMGRwam1wRm5t?=
 =?utf-8?B?eFQ4czBkV05VeEhCMzc2UjFZb3ZreXVpN0I4NjJrd2ZYc1N6cjB3S0h3MjNm?=
 =?utf-8?B?WnVhcXRuZzUvUUo3QWhJeVRFZnJUdGZadUlkZVRpQW41VXdnUjhMMG9FRFE0?=
 =?utf-8?B?RkZOQVBnL3FIWmwyQm9YeGJVREVQSDZSUE5XSEtCZUZkenFnekJ0ck1qZWxU?=
 =?utf-8?B?VkcxQ25LaDZxWGY4b21ERzQ5KzJtdklLUEhYUWZHYVJKNm5qY2dDbEcwRi80?=
 =?utf-8?B?b1BobEM4Z2dZQmFjTWlnMVpMdy9UM01SRlhNK0szS3F6dEpyZVNjOWVCSzlO?=
 =?utf-8?B?dmhsb2QxdUpTSVArdExHWEFyOFQxdVJyWEp4OUtIdU1TNzZIamUzUDgzeEti?=
 =?utf-8?B?SGY4WHg1UkF3U280RVJTT1ZQM25MdnhOWkFyUHBNOUVNREJvakNrZXhlNFMw?=
 =?utf-8?B?R1pIbXpiQU4wZll5WVRoNndIZloxSDM4TktVRlRzYXdUcEFqUXZZQnRJQXMy?=
 =?utf-8?B?eTZmUDEvYjZIQVE1Q2tDaHIyV1lhYThyL1FnWGV6TTE4c3dkTDNZUXdzWS9s?=
 =?utf-8?B?QzNGd1h3NXZzNkFQYlpzenNoUEx0ZVpUYXZobFVXV2NwZlFQM0pGNjlMWktH?=
 =?utf-8?B?T01Zb0owanliMnFqY1lBalFyOG1TL1ovVXVTT3d3ZGpYR2NhRmZOdFQ5eDVB?=
 =?utf-8?B?NnlsUHdzOFYybkkzOHZzdDVjUTFVc1FxdnppM2ZyQndJMzFuc2hVUFQyUXJa?=
 =?utf-8?B?L0N2bERtVGRybCs0SmgvcHA5Ly8rRVJRbjNFbzY1NEk3dDBVYnhROTI1bzVC?=
 =?utf-8?B?d01qTGg4eUltVllySEp6TExIa1cwMU9MZEdoRVpVSDduNG9kOUFIeEpRbSt1?=
 =?utf-8?B?VUVFTlorNXJLenJiZEFPUDlnS0gxYUxOQTF6M0MvU0tOYXVlWjNQNXdYV0Yv?=
 =?utf-8?B?K2MzcWg0aXp3bEVBR0tSNy85dml4SE94N1NDMHpPMFpwU2VmZXBjcms5SzRv?=
 =?utf-8?B?emJkZXg0NWMwZC9XTDUxcjZWZWM4dkE5b2Rwc0tjTXBpa2YvM3dqYms1cFZv?=
 =?utf-8?B?MFVJTUxjOE03R0c0ZWNWMEdiNytwV3RGVmlTYzV6bnlTMTNRUVBPOW11SHpP?=
 =?utf-8?B?VUpPV3c0YW9Nck83cXhjYTFwNTh5QXNLQStLcHBIZFVwS0RrMEltV2NBUkVm?=
 =?utf-8?Q?U75IlEMaEh5h1ozPyFjLgzAKDtSxgBI6XOWOEnx?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fe93a8d5-d537-4a26-e996-08d967dc175f
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2021 15:22:03.3173
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /0LdsDNlmPDdidhM5fCBgedn9n/S3CbjlIoansDe6oGJ8ozx6+B1z4RNXH1IN4UuUorKeJITCWbf+z7qOxLtdg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5902

On 05.08.2021 16:06, Daniel P. Smith wrote:
> On Linux when SELinux is put into permissive mode the descretionary access
> controls are still in place. Whereas for Xen when the enforcing state of flask
> is set to permissive, all operations for all domains would succeed, i.e. it
> does not fall back to the default access controls. To provide a means to mimic
> a similar but not equivalent behavior, a flask op is present to allow a
> one-time switch back to the default access controls, aka the "dummy policy".
> 
> This patch removes this flask op to enforce a consistent XSM usage model that a
> reboot of Xen is required to change the XSM policy module in use.
> 
> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>

The primary reason you remove this is - aiui - that with alternatives
patching there's technically not really a way back (would need to re-
patch every patched location, or every hook would need to check whether
state changed to disabled and if so chain on to the dummy function).
This became sufficiently clear to me only when looking at the next
patch. It would be nice if description also said why the change is
needed. As it stands to me the description reads at best like something
that people could have different views on (and initially I didn't mean
to reply here, for not being convinced of the removal of functionality
in the common case).

Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 25 15:24:11 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 15:24:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172492.314763 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIul8-0000k6-Tu; Wed, 25 Aug 2021 15:24:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172492.314763; Wed, 25 Aug 2021 15:24:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIul8-0000jx-Qm; Wed, 25 Aug 2021 15:24:10 +0000
Received: by outflank-mailman (input) for mailman id 172492;
 Wed, 25 Aug 2021 15:24:08 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=6+6u=NQ=invisiblethingslab.com=marmarek@srs-us1.protection.inumbo.net>)
 id 1mIul6-0000jr-NW
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 15:24:08 +0000
Received: from wout2-smtp.messagingengine.com (unknown [64.147.123.25])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 7cebd368-05b8-11ec-a96b-12813bfff9fa;
 Wed, 25 Aug 2021 15:24:07 +0000 (UTC)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id EBFB432009C8;
 Wed, 25 Aug 2021 11:24:05 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Wed, 25 Aug 2021 11:24:06 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 25 Aug 2021 11:24: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: 7cebd368-05b8-11ec-a96b-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-type:date:from:message-id
	:mime-version:subject:to:x-me-proxy:x-me-proxy:x-me-sender
	:x-me-sender:x-sasl-enc; s=fm3; bh=pzf5dy4nTAF2+w5eLed+KU37zwDC8
	vtvZByWxoRUimg=; b=HBrbZMsl3xdHw9TIx+ZlNgWEefspwUTPrjbo4qJYFTHhR
	xh1HFxLVO7Man6hKZZWY3vY9BVHW+Ao8pgs/7kTvVnJ8U6U+gd8mZHKwwlTutbf2
	vFYgA+bJKPEIOIhnksBzLe3aB8+lAynIjGMyL9iXv3GVEQem6cyUUVx2g35x9hsG
	TARb1Ge3UMql0cmzhG149ntVQXvwVgAGepm4U1xLFXS9rDGCHN7fx0GpU7xl/zHK
	f5IMvg8lY8hCjymrSe8vgIkZtFZQdszqHkNrVPZm1aEYPxQJnLOIEw+RPxMBo6FT
	J4v3OqGhFoalr2+B11IDBkgv+DUlgmcSASAfPhB0Q==
X-ME-Sender: <xms:lWAmYZTl_Ljbt52yHtkNX27St99fzaBltSzbXrKpAwFSVYjVrqNq7w>
    <xme:lWAmYSzUVj47s7HSeyqfe1rOnp1-XuBWrHYTMLnAGe5gtYqcWWLsNgOu-iiABO3Bw
    SX6fPE3e07WJg>
X-ME-Received: <xmr:lWAmYe02iEUqWp1ExnivSNTOU28Mp-4F_GWzKUGatP3Be6sonNuTKKErYWBH8Uc5_2AxiyOlvDhehoLGCnKmhyObtS8fMOcr>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddruddtledgkeekucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvffukfggtggusehgtderredttdejnecuhfhrohhmpeforghrvghkucfo
    rghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesihhnvhhish
    hisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpedtudfgtedu
    veduieevvefgteeujeelgffggffhhffhhedtffeffefgudeugeefhfenucevlhhushhtvg
    hrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhesihhn
    vhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:lWAmYRC9t2lW4IhYwF2sl8NdhHKmy7e3npMXHvoCqnD7Ls5lGoBCgw>
    <xmx:lWAmYSikG35vAoApuFehGylVqOChAYhnpHasf99lXFuPsLF4JIMwCA>
    <xmx:lWAmYVpxBw1_WG6u1I_2_h26fCv94GBA0T7u9bLpLS_zTFE51bPMqQ>
    <xmx:lWAmYTvoBnsgUd4tK_Y4DwByeTqJxu3YsxRksMAa9kwtXqPPlRwd-A>
Date: Wed, 25 Aug 2021 17:24:00 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel <xen-devel@lists.xenproject.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org, stable@vger.kernel.org,
	regressions@lists.kernel.dev
Subject: Kernel panic in __pci_enable_msix_range on Xen PV with PCI
 passthrough
Message-ID: <YSZgkQY1B+WNH50r@mail-itl>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="S94iANMFyPadWqU9"
Content-Disposition: inline


--S94iANMFyPadWqU9
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Wed, 25 Aug 2021 17:24:00 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel <xen-devel@lists.xenproject.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org, stable@vger.kernel.org,
	regressions@lists.kernel.dev
Subject: Kernel panic in __pci_enable_msix_range on Xen PV with PCI
 passthrough

Hi,

On recent kernel I get kernel panic when starting a Xen PV domain with
PCI devices assigned. This happens on 5.10.60 (worked on .54) and
5.4.142 (worked on .136):=20

[   13.683009] pcifront pci-0: claiming resource 0000:00:00.0/0
[   13.683042] pcifront pci-0: claiming resource 0000:00:00.0/1
[   13.683049] pcifront pci-0: claiming resource 0000:00:00.0/2
[   13.683055] pcifront pci-0: claiming resource 0000:00:00.0/3
[   13.683061] pcifront pci-0: claiming resource 0000:00:00.0/6
[   14.036142] e1000e: Intel(R) PRO/1000 Network Driver
[   14.036179] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[   14.036982] e1000e 0000:00:00.0: Xen PCI mapped GSI11 to IRQ13
[   14.044561] e1000e 0000:00:00.0: Interrupt Throttling Rate (ints/sec) se=
t to dynamic conservative mode
[   14.045188] BUG: unable to handle page fault for address: ffffc900406910=
0c
[   14.045197] #PF: supervisor write access in kernel mode
[   14.045202] #PF: error_code(0x0003) - permissions violation
[   14.045211] PGD 18f1c067 P4D 18f1c067 PUD 4dbd067 PMD 4fba067 PTE 801000=
00febd4075
[   14.045227] Oops: 0003 [#1] SMP NOPTI
[   14.045234] CPU: 0 PID: 234 Comm: kworker/0:2 Tainted: G        W       =
  5.14.0-rc7-1.fc32.qubes.x86_64 #15
[   14.045245] Workqueue: events work_for_cpu_fn
[   14.045259] RIP: e030:__pci_enable_msix_range.part.0+0x26b/0x5f0
[   14.045271] Code: 2f 96 ff 48 89 44 24 28 48 89 c7 48 85 c0 0f 84 f6 01 =
00 00 45 0f b7 f6 48 8d 40 0c ba 01 00 00 00 49 c1 e6 04 4a 8d 4c 37 1c <89=
> 10 48 83 c0 10 48 39 c1 75 f5 41 0f b6 44 24 6a 84 c0 0f 84 48
[   14.045284] RSP: e02b:ffffc9004018bd50 EFLAGS: 00010212
[   14.045290] RAX: ffffc9004069100c RBX: ffff88800ed412f8 RCX: ffffc900406=
9105c
[   14.045296] RDX: 0000000000000001 RSI: 00000000000febd4 RDI: ffffc900406=
91000
[   14.045302] RBP: 0000000000000003 R08: 0000000000000000 R09: 00000000feb=
d404f
[   14.045308] R10: 0000000000007ff0 R11: ffff88800ee8ae40 R12: ffff88800ed=
41000
[   14.045313] R13: 0000000000000000 R14: 0000000000000040 R15: 00000000feb=
a0000
[   14.045393] FS:  0000000000000000(0000) GS:ffff888018400000(0000) knlGS:=
0000000000000000
[   14.045401] CS:  e030 DS: 0000 ES: 0000 CR0: 0000000080050033
[   14.045407] CR2: ffff8000007f5ea0 CR3: 0000000012f6a000 CR4: 00000000000=
00660
[   14.045420] Call Trace:
[   14.045431]  e1000e_set_interrupt_capability+0xbf/0xd0 [e1000e]
[   14.045479]  e1000_probe+0x41f/0xdb0 [e1000e]
[   14.045506]  local_pci_probe+0x42/0x80
[   14.045515]  work_for_cpu_fn+0x16/0x20
[   14.045522]  process_one_work+0x1ec/0x390
[   14.045529]  worker_thread+0x53/0x3e0
[   14.045534]  ? process_one_work+0x390/0x390
[   14.045540]  kthread+0x127/0x150
[   14.045548]  ? set_kthread_struct+0x40/0x40
[   14.045554]  ret_from_fork+0x22/0x30
[   14.045565] Modules linked in: e1000e(+) edac_mce_amd rfkill xen_pcifron=
t pcspkr xt_REDIRECT ip6table_filter ip6table_mangle ip6table_raw ip6_table=
s ipt_REJECT nf_reject_ipv4 xt_state xt_conntrack iptable_filter iptable_ma=
ngle iptable_raw xt_MASQUERADE iptable_nat nf_nat nf_conntrack nf_defrag_ip=
v6 nf_defrag_ipv4 xen_scsiback target_core_mod xen_netback xen_privcmd xen_=
gntdev xen_gntalloc xen_blkback xen_evtchn fuse drm bpf_preload ip_tables o=
verlay xen_blkfront
[   14.045620] CR2: ffffc9004069100c
[   14.045627] ---[ end trace 307f5bb3bd9f30b4 ]---
[   14.045632] RIP: e030:__pci_enable_msix_range.part.0+0x26b/0x5f0
[   14.045640] Code: 2f 96 ff 48 89 44 24 28 48 89 c7 48 85 c0 0f 84 f6 01 =
00 00 45 0f b7 f6 48 8d 40 0c ba 01 00 00 00 49 c1 e6 04 4a 8d 4c 37 1c <89=
> 10 48 83 c0 10 48 39 c1 75 f5 41 0f b6 44 24 6a 84 c0 0f 84 48
[   14.045652] RSP: e02b:ffffc9004018bd50 EFLAGS: 00010212
[   14.045657] RAX: ffffc9004069100c RBX: ffff88800ed412f8 RCX: ffffc900406=
9105c
[   14.045663] RDX: 0000000000000001 RSI: 00000000000febd4 RDI: ffffc900406=
91000
[   14.045668] RBP: 0000000000000003 R08: 0000000000000000 R09: 00000000feb=
d404f
[   14.045674] R10: 0000000000007ff0 R11: ffff88800ee8ae40 R12: ffff88800ed=
41000
[   14.045679] R13: 0000000000000000 R14: 0000000000000040 R15: 00000000feb=
a0000
[   14.045698] FS:  0000000000000000(0000) GS:ffff888018400000(0000) knlGS:=
0000000000000000
[   14.045706] CS:  e030 DS: 0000 ES: 0000 CR0: 0000000080050033
[   14.045711] CR2: ffff8000007f5ea0 CR3: 0000000012f6a000 CR4: 00000000000=
00660
[   14.045718] Kernel panic - not syncing: Fatal exception
[   14.045726] Kernel Offset: disabled

I've bisected it down to this commit:

    commit 7d5ec3d3612396dc6d4b76366d20ab9fc06f399f
    Author: Thomas Gleixner <tglx@linutronix.de>
    Date:   Thu Jul 29 23:51:41 2021 +0200

        PCI/MSI: Mask all unused MSI-X entries

I can reliably reproduce it on Xen 4.14 and Xen 4.8, so I don't think
Xen version matters here.

Any idea how to fix it?

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--S94iANMFyPadWqU9
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmEmYJEACgkQ24/THMrX
1ywWwgf+IRlDcK/qRBb2AQfZhSFfm8ulkd5niXLYT0IX4JI6nD5BrL5nii278/e0
pwelOA1DTS5468v1rGNc0QQ9IhQf4yOYCMloueldPiyeETHfE21TQVyRy4sv7r7T
Jbawg+wJvgHOkwAxn3PDb5xlk8Cl1wuBCw8A7b6CcbF7tTgwxWIqvVemhOtUDft1
hBD8HsH46tAhueDzhmmOn6A9Njj1YXhUnzFtLzwc8QL/3ow2VqUAhxRaa7VV31ov
Zh14JfJ5+evQ7+v2twEOmrU9bvH8o+2DX7K3QiVOerIQXOPMl+xmMOOxv+nFnkPL
wUUs2QnRfH9cs/vz+4YSWCGv0o6l7w==
=FJ2V
-----END PGP SIGNATURE-----

--S94iANMFyPadWqU9--


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 15:34:09 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 15:34:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172503.314774 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIuui-0002PD-Sg; Wed, 25 Aug 2021 15:34:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172503.314774; Wed, 25 Aug 2021 15: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 1mIuui-0002P6-PV; Wed, 25 Aug 2021 15:34:04 +0000
Received: by outflank-mailman (input) for mailman id 172503;
 Wed, 25 Aug 2021 15:34:03 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5IQt=NQ=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIuuh-0002P0-Af
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 15:34:03 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 5f10b81a-ddef-4282-9079-08d995f992ce;
 Wed, 25 Aug 2021 15:34:02 +0000 (UTC)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2054.outbound.protection.outlook.com [104.47.13.54]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-38-N7QO3d3aNmGnjhCscygfAQ-1; Wed, 25 Aug 2021 17:33:59 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0401MB2336.eurprd04.prod.outlook.com (2603:10a6:800:27::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17; Wed, 25 Aug
 2021 15:33:57 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Wed, 25 Aug 2021
 15:33:57 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P191CA0020.EURP191.PROD.OUTLOOK.COM (2603:10a6:102:54::25) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Wed, 25 Aug 2021 15:33:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5f10b81a-ddef-4282-9079-08d995f992ce
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629905641;
	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=TaASlo3kEP+tIcse3/IS9fig1jXh82gJGe1JjbdvD4g=;
	b=T+Ee6JhAperIWxhRPSt9S6Jxzp84ktnXvXZ02VuXjHE7n4ULtgWD3oCrtOus4WzJHJuWwF
	f8bY0Lgz5ECwDNkUXnGxki4UNAxeXWW3RupZygPqbhwuhrtlLmpnjOCxpVSclW/4yiXz2o
	aIQGRl7ZkSl4YD+GPTecUG6Pt11d8yE=
X-MC-Unique: N7QO3d3aNmGnjhCscygfAQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=c5R1g+q19jxA98L+PEXNmL/vvYLqYS9H7yysU/SvsT+j/yyd6VeV1zZmu9sOFc7yKuAQ33KAgNFLpydDou7yQb+BwsLoUtcnbIkMquy8uSXTpOKuEnXsdDRHywPvgch/y0iSMN6kBDnP28eHDW7Qa+U2PNgk22CEL7uaq7vimZU5kfEA0qkZK180wO9xiOTNQ40lGoo4BOgpsdF7qL2bSIAhSLYD2ZXAYhxGNvM1L7oivPO1Vcl1eJPlN7MG9PVlzVPH8mx07WO50j2zdjdYsHaRiyynY5Kvbb/S4Qbv0PL2SbBMVKVB4mr84W/5GOHgKjrczeJ+hPIo3C0Jiq5ljA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HpWmp5RS0cYU5Up6i9e3qSuhhXjCGqAHRW+Kc+kGyOg=;
 b=Eyl3XxrcsVWJm/U2O94ouoaSt0YfEYOl8HaCKUoRJ4c4/J+045iYnN7k82oJDkhFEkxzusDwesj3G+GcCD9jGf0dX8sn2D+/KPI41SMVB0ns2WOi4lIIGmsQ8vhFFpUVw7iYq/unBZ1GxadhZ6kIGgbKK6T0e4imDj3HM06aDlxhfg6m1e+j+q1WKPhIBM0zkOfbT5DCg0uFQm4KdF4VD/FN5er9YVQy740edpW1HRNO4ilONIMWtsGDGYibk6/EfvF/nUeBZTOXAgrorjDaOHTccCteFdt+fQFfGaFnDedclmY38A5GX3jTl+LDg/1C+dJYinWcvWEuEIMeb/mD3w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: google.com; dkim=none (message not signed)
 header.d=none;google.com; dmarc=none action=none header.from=suse.com;
Subject: Re: Kernel panic in __pci_enable_msix_range on Xen PV with PCI
 passthrough
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
CC: linux-pci@vger.kernel.org, stable@vger.kernel.org,
 regressions@lists.kernel.dev, xen-devel <xen-devel@lists.xenproject.org>,
 Thomas Gleixner <tglx@linutronix.de>, Bjorn Helgaas <bhelgaas@google.com>
References: <YSZgkQY1B+WNH50r@mail-itl>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <3e72345b-d0e1-7856-de51-e74714474724@suse.com>
Date: Wed, 25 Aug 2021 17:33:54 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <YSZgkQY1B+WNH50r@mail-itl>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: PR3P191CA0020.EURP191.PROD.OUTLOOK.COM
 (2603:10a6:102:54::25) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: e1b5d543-656d-4f2c-2d68-08d967ddc0f4
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2336:
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB2336A379798ABEFD78D738A2B3C69@VI1PR0401MB2336.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JNi70bZ7vN9cixLmr31BPbGNwt860iMpPwoYbiWAmNIKmpbE6BjEFi18rIZZvkTnXjAFsLr5QviV06MQiFyvtYC237rfIyOWvw5v0HZ82v6RAnBnrFL2loKx3FtHssAtn4rIuDzqhcDsM7TAOmbrUAIThcAD84V4qbjih7wJDeYqqTT4LQ5nEapi3UenI+LU5DLRE4BRbr5BRRAChH59HHH68ydgch2Myv3up48P3afGhc57N4BoH/uowcsvjBXE2KtubCzG5VfFd8/hHBLkPlZ4Cyh9bPmkzfYbdr0C9zYfEvWAXGA4vrExidPKhJWsHQGmX6lb491nNDCnQKVhoCxdbiAs9BpdtdCwS8Bdjg1qVb+si4v+OWUgGgq6S0hZfCvN7EmuGtjzc+ngrv9VrqwgncBAnesVRjGxCJ2DCnfl+4zaxzd7F4I/zyyuSiEGUgxcqgssgx/vLIO81bRxoSWaG0IThNEm5UJEo2IEM7H+DXi/OfV40EyvNAWHlmfB/voFBDgH9eqiyY6ur+GfUa7kxRH1zOryavtoPXz/av/S4cU2ynSu+vnLNZUIaDNfvpOG3qO8uhioOp+2emNBqx9CUu19KiNF2dLJC2gGYDjcjJZLqBIbgG9/m1PZBDD97TfNa4QwpZysmB0l5fq5p000dS7GThuxn5nww7LW+NANRoRnAl06Y7B9LZrmsSHwX5gqerFOHGAgP1M+Z2t49pRx+GOey7OXERI+7rWnt4w=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(39850400004)(136003)(366004)(396003)(346002)(31696002)(38100700002)(66476007)(53546011)(8676002)(66556008)(86362001)(8936002)(316002)(956004)(66574015)(66946007)(26005)(2906002)(186003)(5660300002)(478600001)(4326008)(83380400001)(36756003)(54906003)(6486002)(16576012)(31686004)(6916009)(2616005)(45080400002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?zm/D5lxC7AT+DAdMMfnkrPtyj3O1wKidk7Gfsu4PHTyvBhApcKSxdTPmaykP?=
 =?us-ascii?Q?qci+vXY84NsdDw2d1rIfIdmOvfNnssEHX8vdpAHDc/VAGbkcfL1MnfQjYIZr?=
 =?us-ascii?Q?FzdoYsNrVvgHrG7p0CT/IADJ0LLP06uriGHC27S2s1p3vhd3Cga7VTSLWmnq?=
 =?us-ascii?Q?OJeOuFCJrUsEEJtLenivI8x380JXh/JZF3wk/uWHDivAfgwj7ntAKaSjdwPW?=
 =?us-ascii?Q?nEVeDfIxOhqFjOv3I+aYRmyD1oGMGEUDKi6hmhS4+8Zz3dNzGewYG8zlZRML?=
 =?us-ascii?Q?IC33ZMeVgT46H1x5pjkBmPDTiMDrcawCdIiZ4eETayMk/dE/6utSDp9S/k7B?=
 =?us-ascii?Q?UXDcqHZVcvFuOI5z5EaeC8GPtbksqp/ozkaXHwFS6t2uYrR2xZPpYwRdc/tR?=
 =?us-ascii?Q?tPxuAtXXj8Dv1NN/mjJYphUn9y/Rr0E3rDBr+55gsa9CPDNezJwh6BnmkEwW?=
 =?us-ascii?Q?Jw0nH26xXCgaW3w92Jn5Kwle4c5uiWF1+pXm/8HLjAZPLg3IbAIW31FGhpSa?=
 =?us-ascii?Q?QPqIrurm+gkIdWmjRLmRCn9nd6cP/IK+UFxoSPhc+5GnlDz2Xe4cvfLCWILR?=
 =?us-ascii?Q?MnD87vooZFqQomFhrpE+L95M+ZLedovpY+FVS1LUf514Ggd3o0ixC0KxsrmH?=
 =?us-ascii?Q?DBv4HeltGJLcCiSpIReMz+jjmCkx/jtigwZO8tegt1Lgu2qA94tDfFYwiQnp?=
 =?us-ascii?Q?nohl0HVb6Fo62i1rz08W3DR1iG4XCCrZmDQ7eJQlnLuXGvrEG0DTIl7K5N+w?=
 =?us-ascii?Q?jcvch3QIh8zCtsPJN0tD/pteC21pP3fveE5r5Xm0a/DhA27RiDIGf1CJT7f5?=
 =?us-ascii?Q?/pq7YygIletEtmYv0ScjtIl/GzlgEP494Ju0/uyVw29gWcTJz75FWBTuVLxg?=
 =?us-ascii?Q?t+XqW0QAwIIwma2FXaJ8dtzKlf8W5jcWvf+xaYAZpmUdfNfuGEDfNCgiCAsA?=
 =?us-ascii?Q?danz39lU5cGvtzOJygvw6NurHWNMYRoP9OyCzf7DciZ9JZ4iIOlYqNRKJLH7?=
 =?us-ascii?Q?HtAeFYcW2eAQ1YJ5hagBYpWdI9hjQV0UJXbYVJI15yTqvpOOVTqrSPJ2b+1w?=
 =?us-ascii?Q?jky7wsarduKiScsIoQQdjH6zImBo3Pa8qG5ijO3hNSpehgmzoBl7oBHuZRQ2?=
 =?us-ascii?Q?KqZ3AOWTIlOXGNRczpX+ADvEcV+tZBb6yXklthexGToB9TrBoxPooGdob7as?=
 =?us-ascii?Q?HuYncO6GwKF1Sfk1krBKWQSzum/uq4kBTLgQ96u8kUmhhqOyF1gUgkcIGA4u?=
 =?us-ascii?Q?0ADHc+Dg2BoEgIrmnkRXNRrUmyWhqD7S4MYq0302fnKBNxse/AwpGtnH4O97?=
 =?us-ascii?Q?456BbXfa0cfS/s+dpknZpW+4?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e1b5d543-656d-4f2c-2d68-08d967ddc0f4
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2021 15:33:57.3496
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Cig7oXyIz+2NW14NzRnkty1UqIeu3zdV1jgWa9qyhK4+LbtSmbYHO7S2/SrymX4LyMODW1EwZ/AaFD+8VnmSCg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2336

On 25.08.2021 17:24, Marek Marczykowski-G=C3=B3recki wrote:
> On recent kernel I get kernel panic when starting a Xen PV domain with
> PCI devices assigned. This happens on 5.10.60 (worked on .54) and
> 5.4.142 (worked on .136):=20
>=20
> [   13.683009] pcifront pci-0: claiming resource 0000:00:00.0/0
> [   13.683042] pcifront pci-0: claiming resource 0000:00:00.0/1
> [   13.683049] pcifront pci-0: claiming resource 0000:00:00.0/2
> [   13.683055] pcifront pci-0: claiming resource 0000:00:00.0/3
> [   13.683061] pcifront pci-0: claiming resource 0000:00:00.0/6
> [   14.036142] e1000e: Intel(R) PRO/1000 Network Driver
> [   14.036179] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
> [   14.036982] e1000e 0000:00:00.0: Xen PCI mapped GSI11 to IRQ13
> [   14.044561] e1000e 0000:00:00.0: Interrupt Throttling Rate (ints/sec) =
set to dynamic conservative mode
> [   14.045188] BUG: unable to handle page fault for address: ffffc9004069=
100c
> [   14.045197] #PF: supervisor write access in kernel mode
> [   14.045202] #PF: error_code(0x0003) - permissions violation
> [   14.045211] PGD 18f1c067 P4D 18f1c067 PUD 4dbd067 PMD 4fba067 PTE 8010=
0000febd4075

I'm curious what lives at physical address FEBD4000. The maximum verbosity
hypervisor log may also have a hint as to why this is a read-only PTE.

> [   14.045227] Oops: 0003 [#1] SMP NOPTI
> [   14.045234] CPU: 0 PID: 234 Comm: kworker/0:2 Tainted: G        W     =
    5.14.0-rc7-1.fc32.qubes.x86_64 #15
> [   14.045245] Workqueue: events work_for_cpu_fn
> [   14.045259] RIP: e030:__pci_enable_msix_range.part.0+0x26b/0x5f0
> [   14.045271] Code: 2f 96 ff 48 89 44 24 28 48 89 c7 48 85 c0 0f 84 f6 0=
1 00 00 45 0f b7 f6 48 8d 40 0c ba 01 00 00 00 49 c1 e6 04 4a 8d 4c 37 1c <=
89> 10 48 83 c0 10 48 39 c1 75 f5 41 0f b6 44 24 6a 84 c0 0f 84 48
> [   14.045284] RSP: e02b:ffffc9004018bd50 EFLAGS: 00010212
> [   14.045290] RAX: ffffc9004069100c RBX: ffff88800ed412f8 RCX: ffffc9004=
069105c
> [   14.045296] RDX: 0000000000000001 RSI: 00000000000febd4 RDI: ffffc9004=
0691000
> [   14.045302] RBP: 0000000000000003 R08: 0000000000000000 R09: 00000000f=
ebd404f
> [   14.045308] R10: 0000000000007ff0 R11: ffff88800ee8ae40 R12: ffff88800=
ed41000
> [   14.045313] R13: 0000000000000000 R14: 0000000000000040 R15: 00000000f=
eba0000
> [   14.045393] FS:  0000000000000000(0000) GS:ffff888018400000(0000) knlG=
S:0000000000000000
> [   14.045401] CS:  e030 DS: 0000 ES: 0000 CR0: 0000000080050033
> [   14.045407] CR2: ffff8000007f5ea0 CR3: 0000000012f6a000 CR4: 000000000=
0000660
> [   14.045420] Call Trace:
> [   14.045431]  e1000e_set_interrupt_capability+0xbf/0xd0 [e1000e]
> [   14.045479]  e1000_probe+0x41f/0xdb0 [e1000e]

Otoh, from this it's pretty clear it's not a device Xen may have found
a need to access for its own purposes. If aforementioned address covers
(or is adjacent to) the MSI-X table of a device drive by this driver,
then it would also be helpful to know how many MSI-X entries the device
reports its table can have.

Jan

> [   14.045506]  local_pci_probe+0x42/0x80
> [   14.045515]  work_for_cpu_fn+0x16/0x20
> [   14.045522]  process_one_work+0x1ec/0x390
> [   14.045529]  worker_thread+0x53/0x3e0
> [   14.045534]  ? process_one_work+0x390/0x390
> [   14.045540]  kthread+0x127/0x150
> [   14.045548]  ? set_kthread_struct+0x40/0x40
> [   14.045554]  ret_from_fork+0x22/0x30
> [   14.045565] Modules linked in: e1000e(+) edac_mce_amd rfkill xen_pcifr=
ont pcspkr xt_REDIRECT ip6table_filter ip6table_mangle ip6table_raw ip6_tab=
les ipt_REJECT nf_reject_ipv4 xt_state xt_conntrack iptable_filter iptable_=
mangle iptable_raw xt_MASQUERADE iptable_nat nf_nat nf_conntrack nf_defrag_=
ipv6 nf_defrag_ipv4 xen_scsiback target_core_mod xen_netback xen_privcmd xe=
n_gntdev xen_gntalloc xen_blkback xen_evtchn fuse drm bpf_preload ip_tables=
 overlay xen_blkfront
> [   14.045620] CR2: ffffc9004069100c
> [   14.045627] ---[ end trace 307f5bb3bd9f30b4 ]---
> [   14.045632] RIP: e030:__pci_enable_msix_range.part.0+0x26b/0x5f0
> [   14.045640] Code: 2f 96 ff 48 89 44 24 28 48 89 c7 48 85 c0 0f 84 f6 0=
1 00 00 45 0f b7 f6 48 8d 40 0c ba 01 00 00 00 49 c1 e6 04 4a 8d 4c 37 1c <=
89> 10 48 83 c0 10 48 39 c1 75 f5 41 0f b6 44 24 6a 84 c0 0f 84 48
> [   14.045652] RSP: e02b:ffffc9004018bd50 EFLAGS: 00010212
> [   14.045657] RAX: ffffc9004069100c RBX: ffff88800ed412f8 RCX: ffffc9004=
069105c
> [   14.045663] RDX: 0000000000000001 RSI: 00000000000febd4 RDI: ffffc9004=
0691000
> [   14.045668] RBP: 0000000000000003 R08: 0000000000000000 R09: 00000000f=
ebd404f
> [   14.045674] R10: 0000000000007ff0 R11: ffff88800ee8ae40 R12: ffff88800=
ed41000
> [   14.045679] R13: 0000000000000000 R14: 0000000000000040 R15: 00000000f=
eba0000
> [   14.045698] FS:  0000000000000000(0000) GS:ffff888018400000(0000) knlG=
S:0000000000000000
> [   14.045706] CS:  e030 DS: 0000 ES: 0000 CR0: 0000000080050033
> [   14.045711] CR2: ffff8000007f5ea0 CR3: 0000000012f6a000 CR4: 000000000=
0000660
> [   14.045718] Kernel panic - not syncing: Fatal exception
> [   14.045726] Kernel Offset: disabled
>=20
> I've bisected it down to this commit:
>=20
>     commit 7d5ec3d3612396dc6d4b76366d20ab9fc06f399f
>     Author: Thomas Gleixner <tglx@linutronix.de>
>     Date:   Thu Jul 29 23:51:41 2021 +0200
>=20
>         PCI/MSI: Mask all unused MSI-X entries
>=20
> I can reliably reproduce it on Xen 4.14 and Xen 4.8, so I don't think
> Xen version matters here.
>=20
> Any idea how to fix it?
>=20



From xen-devel-bounces@lists.xenproject.org Wed Aug 25 15:44:34 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 15:44:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172510.314785 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIv4l-00044F-07; Wed, 25 Aug 2021 15:44:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172510.314785; Wed, 25 Aug 2021 15:44:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIv4k-000448-TQ; Wed, 25 Aug 2021 15:44:26 +0000
Received: by outflank-mailman (input) for mailman id 172510;
 Wed, 25 Aug 2021 15:44:25 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5IQt=NQ=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIv4j-000442-H7
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 15:44:25 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 51e4c4d8-05bb-11ec-a971-12813bfff9fa;
 Wed, 25 Aug 2021 15:44:24 +0000 (UTC)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2105.outbound.protection.outlook.com [104.47.17.105])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-34-YQhR5-5aOdaB_aTdpUgZoQ-1; Wed, 25 Aug 2021 17:44:21 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB6175.eurprd04.prod.outlook.com (2603:10a6:803:fb::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Wed, 25 Aug
 2021 15:44:20 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Wed, 25 Aug 2021
 15:44:20 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM4PR0501CA0046.eurprd05.prod.outlook.com (2603:10a6:200:68::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Wed, 25 Aug 2021 15:44: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: 51e4c4d8-05bb-11ec-a971-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629906263;
	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=THhpKqPmKaaatPXjE//iDhSYKTHZjgw+fjAN+cCN9vU=;
	b=E+1fmak2Z9KLrwdx1SFDU4s5LWlL3Ud2stov8yi6g7VPnugL8rwh6LI+oW0GZPW0e5tQ4E
	XVpMdhKxZbo5F7qHcpbz3+ulYbclzrTLCFruiR5gya9EEn4sxlqYR+gbYFJYyif6xkMfLf
	+MKrxwT4oKlPO/KH24VOmVi1Z7KWx70=
X-MC-Unique: YQhR5-5aOdaB_aTdpUgZoQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZbVgaP2gMyes2X4AkbgkQ+ppoCBEJb5P93pT44aCx7bI91XH7Me639BBqAxSd3r9FLrnNAG8aNez3gcmLbs/sXv0hTwhsCGgRw03XVL6bKNJvjxt38RBIISdBiipTCiCWi1A0dPO3h8GVFkdaV4dhVLUmcMQiGM3OVSWCf+x7fRjXMwQRxYTacHwi4SiogwTaix8SCymw78SaXyujO9D+O7r1QvpA3w/smIZ8sa6llPAJa7ZHuFeP9Aa9/pXBR7YHXVvQh9q8FYWRpuc+oKKZ+stvFHd8hPhvCEBn4SvtLSR0/HOcOBVcz1c5WqzSoZOrSrnXtVWGmXy9/UW4Qty3w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=THhpKqPmKaaatPXjE//iDhSYKTHZjgw+fjAN+cCN9vU=;
 b=ioOwcV7eY3ruEvk0AEe49cG2ez4XuT35Zg73GhM3SxWZYr22mdBmp0vwNBQEMiDaYSp7W33cu5epLNtZYaW05TxZM7nskpy3IGM1r43KATQJrqmCyyTmkCjRoZ8LCWkV9xhhPGmEV/+q4TSSh3wPAHyJC2gNxTaWFwl57GgrNrJTFgT5zXDyX2YVPVpUGZmRSLeAliS1qP6TzXpUQYhE/tUNrMHWF75899Od9eWhvedbEZNDAbeBqPG0UPBLuf56vNrfbXtM2ov2Wzqpk6vkYHgRPbyWjs4yu0krlHUY0x7x6D9W1zB1jsV37wPYT7WRoHPnaqqiy3VUb4vWoQaGVA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v3 6/7] xsm: drop generic event channel labeling exclusion
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <20210805140644.357-1-dpsmith@apertussolutions.com>
 <20210805140644.357-7-dpsmith@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <dc2fbefb-93fb-4574-ef7b-23a9c9a248fe@suse.com>
Date: Wed, 25 Aug 2021 17:44:18 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210805140644.357-7-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM4PR0501CA0046.eurprd05.prod.outlook.com
 (2603:10a6:200:68::14) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ab51e4a6-9917-42c4-6fb4-08d967df3454
X-MS-TrafficTypeDiagnostic: VI1PR04MB6175:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB61756A0D61D83138520EF6EDB3C69@VI1PR04MB6175.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:6790;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nQBsC1s9sd5/svxbkKgjZ9eYx/rmSmoMYlERsJE8qJrLFb5Yj5ZiP+FhSGi7CuK355ipsETeBIvZxp+qrQnxBcOtECIG+qyDb58lKqQgP7nRzMkccsMu2X/LxBP7pNh3eV/AW2MOIIOGoTi3sy5NmoUZX3+2YxMplNZTwqhdG++jxi+QJWz6v3lleFyT+TjQnPHYj4OnKCQOZnexIr3ukZ8Y07G6ZJgV8XWu/RCbsX49jZ37zbiGIxkJLdq2Vq0+v48EAZvABmM008sdCB4mcwCqkBkJxJ7dzkbEPXn4vtr5s6n9OmZQHHHBMatXKWbtnlIeBfiP6FKTVdXpRqqAAKLS4ofn0ZZo99wPwpOV0huF+oeHwXFwSqJfeRPgg8NJS1UWHVkniC6YL8aXd4e8JTjcU2pPJ7Wzc/ltfJUYNUnNLRMH8Zkt2Gx0DGBV9lESP3YDlf7faUt40QlqwooLCkoRKo7qudc6svdzYDu8IKqJ8y8oCrHgBmVmsUu4JYFJR9J+ZeSXg6SM5jaX0HG+jF5i+Dzccwc2H8z9p4NMwC42T+IL3JS+3iFuG/ZotcOBr5QpVzZUXLMeuvN6T6zTO0HMPo/tix71T9t0j+qJplwlJ3Vq0WGRkHhdYQiSU8vim4o5c/QyOYUctKELa3hju72WAnAqhuXo0WladxecRaCtznmEj4q1i2Tm6mRKSPKBI/6FSPfCdeD4asjGxe2gZCwLigtQk609c34Of1t+8LlFBADPEPTur5l/U90dkuzs
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(66476007)(508600001)(5660300002)(83380400001)(4326008)(36756003)(8936002)(66556008)(6486002)(26005)(956004)(2906002)(66946007)(16576012)(86362001)(6916009)(186003)(316002)(54906003)(2616005)(53546011)(38100700002)(8676002)(31696002)(31686004)(41533002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QkV1c2J1NFNMVkk3NGx1QzlOanRYSVNOeEhPeUtqaXFEcE45c3VvZlc0NTBL?=
 =?utf-8?B?dDcyaGdiNlZqWVYzQ0Fkc053VDFxWmVyZGpnUG1QRG5sK3lLTjBVQlh4R1N6?=
 =?utf-8?B?QTA3cGY2V0Jtak85Y2dwNFFFNm1xdlk1b0ZmVjg3WUE2LzJBTFdyc0RTamVu?=
 =?utf-8?B?UXVzZkhKVkFWMGRxd1dpOGlaaDFNeVQrVTRmbWtHSW1LamFvL0hVbWE5OUhp?=
 =?utf-8?B?VWk2K0JubWRNR0IzcFFxSUZBUnhBd0s0QmR3bzBmdldzdHZybmE0NGNaRnNY?=
 =?utf-8?B?Yi8rVGdFNXhQaFpaQWU2M0xIZ0Ntc2U4bDAyeGNPd0IzRXJrZkdkRVhzRVlq?=
 =?utf-8?B?VGV1dTlUU09xbEkzMmc3bW1XN2hzVGZVcUtCM2dIdlJLb1NLYTR3N09vbDlM?=
 =?utf-8?B?S2J1SlkzUDRZNElDKzlNL1pVUlZVTWcwWW1vWUFYNlBsWUorYWhDMXFYcEJt?=
 =?utf-8?B?OTVSeHdkeVBPQjJMVHdFQkpKTmhiaEh0YUo0cWt3cUd6WTkvdlhrWmIvV1Q1?=
 =?utf-8?B?eWhvcjJoZUtWRXYrQUJtbDdyNHZNemFBUUJKUGZMNVV5TitrT3NXQWxTeUE3?=
 =?utf-8?B?QmJDenRycHcrUmo3NlIvU3AzaW5mdWNlSkxhd1VQTmlkbkxSdW5ZaHlFbks3?=
 =?utf-8?B?b2hEM0JFMURYYys5elMyVXZ0UHNsMmdyc1huMXBLbWh4MUNmRHE3NVUyd3NR?=
 =?utf-8?B?cXA5STI2ZFpmUjZSam9TQlZnaklZN01YQ1V6OVBvN0F0T3dYTXhuVzROdFhJ?=
 =?utf-8?B?ck9iQnpXeGpkdlVKeTcrZHJ0Qm0xTXRTS1VnbnJBNHVoWEdhT05tcEtzWUlU?=
 =?utf-8?B?NHZxZ3NtaDFUSnd5dzI1Z2N5QjZjYTFZMnc4VENOTlJ6bzdCR0JLUGVEd0lJ?=
 =?utf-8?B?NjhTNVVsVkhCcjEyQUQ2R3JxVCs2QTc1dWJla0x4aGZKQmorVGx1ZE8zTER1?=
 =?utf-8?B?KzYvTjA1ci9OMWhNaUM1dDZBT29KeGN1ZW9oKzFmYzRsODA3Q2Z6WUI4L05F?=
 =?utf-8?B?T3VFd0dndVo4ZmtZemVTaFNJYXBLREEzbWF4S0RjM3VmMjM1UFE0TWlIMzVp?=
 =?utf-8?B?OUpnR3ZIcTNrbEdnc2huMlRqNlVNcEErMWdNQlNoRklPVkFZSDRnVklBQjg1?=
 =?utf-8?B?eXRWVmlOa216N1ZEbTZYcnJJcFE5TWdjRkw1REZ3aEVGVDBUYXUvN3QzT0ow?=
 =?utf-8?B?alA0WVNVWW5EM3AwQWtzeHB0eU5DdWxjaEE5QnpJYXJTZHAwM0lRT1hVYkcx?=
 =?utf-8?B?ZjVwWFpYcDVQNVVLL3FiOFVVQzNWR3oxZEFjMVEzYnpiTzhzVnY3bytid0Zs?=
 =?utf-8?B?azY4SURweXd0VGpIRS8yRFdqaUx6eStocFB5UXB2TWIxQ3lBRHM3QjlraFdU?=
 =?utf-8?B?YTlOR00zL0g0a0FvMHVPOVFzNVVoWHhXdS80Mmp2U05nYVRERmVyc3FvVk5G?=
 =?utf-8?B?b0k3SkdHMno2QzVYbVQ1TnhmS2piZDhRRTR0RE50K1lTREZkdGtIUklqbEFN?=
 =?utf-8?B?RUE3UDVwMmYrMU9VbUY3cFNBYUl3N25QMHZ5bFFVcVNPV3VxU3VBU2cvczU4?=
 =?utf-8?B?QzBRWDVJOG1rYnVqaEd0RC9UZnJJQlF1WC91OW9jUkFOWXh5ckp6dDRqT0VO?=
 =?utf-8?B?RzZDVUp6c1MzZ1dpK2tiU3hIMjMxMFFhMzlXNWo3VGZCSmRSdk9qMWpNVFJH?=
 =?utf-8?B?U0M5WGxiR2xyaW1LSnBuUlFQcTdrekNHN20zM0I3N3A0OFI1Mm1abnhreVkx?=
 =?utf-8?Q?VugLNLxnsxZ+sPenhtxpbrdSX1ShLdyPVuSyarx?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ab51e4a6-9917-42c4-6fb4-08d967df3454
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2021 15:44:20.3932
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5Uefdjeg9+NMAFrdVvfpwzn7l0Fshab2SkorN7lEEmKlQKDnkyfi/jwgEp8sxY+ouwn6sohb32DpQcM9fsnBUA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6175

On 05.08.2021 16:06, Daniel P. Smith wrote:
> The internal define flag is not used by any XSM module, removing the #ifdef
> leaving the generic event channel labeling as always present.

With this description ...

> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -120,15 +120,12 @@ struct evtchn
>      unsigned short notify_vcpu_id; /* VCPU for local delivery notification */
>      uint32_t fifo_lastq;           /* Data for identifying last queue. */
>  
> -#ifdef CONFIG_XSM
>      union {
> -#ifdef XSM_NEED_GENERIC_EVTCHN_SSID
>          /*
>           * If an XSM module needs more space for its event channel context,
>           * this pointer stores the necessary data for the security server.
>           */
>          void *generic;
> -#endif
>  #ifdef CONFIG_XSM_FLASK
>          /*
>           * Inlining the contents of the structure for FLASK avoids unneeded
> @@ -138,7 +135,6 @@ struct evtchn
>          uint32_t flask_sid;
>  #endif
>      } ssid;
> -#endif
>  } __attribute__((aligned(64)));

... I can see the inner #ifdef go away, but not the outer one. While
the (imo bogus) attribute means you don't alter the size of the
struct, I'm afraid that's not obvious at all without counting bits
and bytes, and hence this may also want saying explicitly in the
description.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 25 15:47:43 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 15:47:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172515.314795 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIv7u-0004i0-Ff; Wed, 25 Aug 2021 15:47:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172515.314795; Wed, 25 Aug 2021 15:47:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIv7u-0004ht-Ca; Wed, 25 Aug 2021 15:47:42 +0000
Received: by outflank-mailman (input) for mailman id 172515;
 Wed, 25 Aug 2021 15:47:40 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=6+6u=NQ=invisiblethingslab.com=marmarek@srs-us1.protection.inumbo.net>)
 id 1mIv7s-0004hl-LG
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 15:47:40 +0000
Received: from wout2-smtp.messagingengine.com (unknown [64.147.123.25])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 45cddb17-5ccf-4b1d-be50-f8a8151e8913;
 Wed, 25 Aug 2021 15:47:39 +0000 (UTC)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.west.internal (Postfix) with ESMTP id B7C123200A6C;
 Wed, 25 Aug 2021 11:47:37 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute3.internal (MEProxy); Wed, 25 Aug 2021 11:47:38 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 25 Aug 2021 11:47: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: 45cddb17-5ccf-4b1d-be50-f8a8151e8913
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=BoSnXW
	S8mU+1JCDpl0UuSY3m92Z3MGmGN3O28yBbY5Q=; b=P3k9+zdKpjWTRVsbzSaf7m
	kFVRsUVEeITIggRtlv95fL6ZKD0W77ZIT2k96eJ3dq1xhVqETaJJsuCX50TZv+15
	OedN/5vf2jwqGtmuTDYA6v0y7Eknj6p32ynDgwICgduQCAMSuaS/at2aJJNwD/c5
	w7loSpnC0/+lRT10DNlUYaTwdI3DReHC1NqaJ7YWMlSSz5ylZPpzyjxWvKpoKv3p
	yDbN6qMGHR4/2LZhOxe9JS8x6f4AC/7IxY52r0F8dYdK5JydfYPg3c2sWSgzU/tm
	ffYejFFbbhlFhkFGIQJOm4ru0EiZcxRBOLHVXhrRFCEuj2MfilQX1unwWQlOrtVA
	==
X-ME-Sender: <xms:GGYmYbzE-TiwA8Muv5rKS8ETQfIoZB5HJFz3Zx7wxKFTYmRlutk3pw>
    <xme:GGYmYTTIX1b4nTP2rQe7Z4MXX2ajoAAuLPn9-oBwBpFiNAiFG6rYcK4CNT2LwLAz6
    d7rgyYgpLvuZw>
X-ME-Received: <xmr:GGYmYVVO93MenC9H4KUVbEZ5X4W-uAr6FOKIFOkDw6M72P21e4Mg3sBBsWIgy6lzCPXEdIFuLc27Y-xvahCW9F6eNQfKFtOG>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddruddtledgleegucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvffukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpeforghrvghk
    ucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesihhnvh
    hishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeetveff
    iefghfekhffggeeffffhgeevieektedthfehveeiheeiiedtudegfeetffenucevlhhush
    htvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhes
    ihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:GGYmYVgk7MFLgNnLnWD8DiCGwXpPe7nBmvUrQojNhnsBqijiH0MkCw>
    <xmx:GGYmYdBNlsdNhhepiRM4Rj_8oR9LXUAnDyYU717K4S3m6On-6euMTg>
    <xmx:GGYmYeKdjqFNWP86Xm2olkhf7LnDpIq4yNsb3dwaL-OjVnrBZdPqOQ>
    <xmx:GWYmYY99lbQYMMvTVsYJV8UxUnB_DXcYbZFPK6WC040SWhWodvYu_A>
Date: Wed, 25 Aug 2021 17:47:31 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: linux-pci@vger.kernel.org, stable@vger.kernel.org,
	regressions@lists.kernel.dev,
	xen-devel <xen-devel@lists.xenproject.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Bjorn Helgaas <bhelgaas@google.com>
Subject: Re: Kernel panic in __pci_enable_msix_range on Xen PV with PCI
 passthrough
Message-ID: <YSZmFMeVeO4Bupn+@mail-itl>
References: <YSZgkQY1B+WNH50r@mail-itl>
 <3e72345b-d0e1-7856-de51-e74714474724@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="8xMIAefavZOKlE9D"
Content-Disposition: inline
In-Reply-To: <3e72345b-d0e1-7856-de51-e74714474724@suse.com>


--8xMIAefavZOKlE9D
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Wed, 25 Aug 2021 17:47:31 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: linux-pci@vger.kernel.org, stable@vger.kernel.org,
	regressions@lists.kernel.dev,
	xen-devel <xen-devel@lists.xenproject.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Bjorn Helgaas <bhelgaas@google.com>
Subject: Re: Kernel panic in __pci_enable_msix_range on Xen PV with PCI
 passthrough

On Wed, Aug 25, 2021 at 05:33:54PM +0200, Jan Beulich wrote:
> On 25.08.2021 17:24, Marek Marczykowski-G=C3=B3recki wrote:
> > On recent kernel I get kernel panic when starting a Xen PV domain with
> > PCI devices assigned. This happens on 5.10.60 (worked on .54) and
> > 5.4.142 (worked on .136):=20
> >=20
> > [   13.683009] pcifront pci-0: claiming resource 0000:00:00.0/0
> > [   13.683042] pcifront pci-0: claiming resource 0000:00:00.0/1
> > [   13.683049] pcifront pci-0: claiming resource 0000:00:00.0/2
> > [   13.683055] pcifront pci-0: claiming resource 0000:00:00.0/3
> > [   13.683061] pcifront pci-0: claiming resource 0000:00:00.0/6
> > [   14.036142] e1000e: Intel(R) PRO/1000 Network Driver
> > [   14.036179] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
> > [   14.036982] e1000e 0000:00:00.0: Xen PCI mapped GSI11 to IRQ13
> > [   14.044561] e1000e 0000:00:00.0: Interrupt Throttling Rate (ints/sec=
) set to dynamic conservative mode
> > [   14.045188] BUG: unable to handle page fault for address: ffffc90040=
69100c
> > [   14.045197] #PF: supervisor write access in kernel mode
> > [   14.045202] #PF: error_code(0x0003) - permissions violation
> > [   14.045211] PGD 18f1c067 P4D 18f1c067 PUD 4dbd067 PMD 4fba067 PTE 80=
100000febd4075
>=20
> I'm curious what lives at physical address FEBD4000.=20

This is a third BAR of this device, related to MSI-X:

00:04.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Conne=
ction
        Subsystem: Intel Corporation Device 0000
        Physical Slot: 4
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-=
 Stepping- SERR+ FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=3Dfast >TAbort- <T=
Abort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0
        Interrupt: pin A routed to IRQ 11
        Region 0: Memory at feb80000 (32-bit, non-prefetchable) [size=3D128=
K]
        Region 1: Memory at feba0000 (32-bit, non-prefetchable) [size=3D128=
K]
        Region 2: I/O ports at c080 [size=3D32]
        Region 3: Memory at febd4000 (32-bit, non-prefetchable) [size=3D16K]
        Expansion ROM at feb40000 [disabled] [size=3D256K]
        Capabilities: [c8] Power Management version 2
                Flags: PMEClk- DSI+ D1- D2- AuxCurrent=3D0mA PME(D0-,D1-,D2=
-,D3hot-,D3cold-)
                Status: D0 NoSoftRst- PME-Enable- DSel=3D0 DScale=3D0 PME-
        Capabilities: [d0] MSI: Enable- Count=3D1/1 Maskable- 64bit+
                Address: 0000000000000000  Data: 0000
        Capabilities: [e0] Express (v1) Endpoint, MSI 00
                DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64n=
s, L1 <1us
                        ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset- Slo=
tPowerLimit 0.000W
                DevCtl: CorrErr- NonFatalErr- FatalErr- UnsupReq-
                        RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
                        MaxPayload 128 bytes, MaxReadReq 128 bytes
                DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr- T=
ransPend-
                LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s, Exit La=
tency L0s <64ns
                        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-
        Capabilities: [a0] MSI-X: Enable- Count=3D5 Masked-
                Vector table: BAR=3D3 offset=3D00000000
                PBA: BAR=3D3 offset=3D00002000
        Kernel driver in use: pciback
        Kernel modules: e1000e

> The maximum verbosity
> hypervisor log may also have a hint as to why this is a read-only PTE.

I'll try, if that still makes sense.

> > [   14.045227] Oops: 0003 [#1] SMP NOPTI
> > [   14.045234] CPU: 0 PID: 234 Comm: kworker/0:2 Tainted: G        W   =
      5.14.0-rc7-1.fc32.qubes.x86_64 #15
> > [   14.045245] Workqueue: events work_for_cpu_fn
> > [   14.045259] RIP: e030:__pci_enable_msix_range.part.0+0x26b/0x5f0
> > [   14.045271] Code: 2f 96 ff 48 89 44 24 28 48 89 c7 48 85 c0 0f 84 f6=
 01 00 00 45 0f b7 f6 48 8d 40 0c ba 01 00 00 00 49 c1 e6 04 4a 8d 4c 37 1c=
 <89> 10 48 83 c0 10 48 39 c1 75 f5 41 0f b6 44 24 6a 84 c0 0f 84 48
> > [   14.045284] RSP: e02b:ffffc9004018bd50 EFLAGS: 00010212
> > [   14.045290] RAX: ffffc9004069100c RBX: ffff88800ed412f8 RCX: ffffc90=
04069105c
> > [   14.045296] RDX: 0000000000000001 RSI: 00000000000febd4 RDI: ffffc90=
040691000
> > [   14.045302] RBP: 0000000000000003 R08: 0000000000000000 R09: 0000000=
0febd404f
> > [   14.045308] R10: 0000000000007ff0 R11: ffff88800ee8ae40 R12: ffff888=
00ed41000
> > [   14.045313] R13: 0000000000000000 R14: 0000000000000040 R15: 0000000=
0feba0000
> > [   14.045393] FS:  0000000000000000(0000) GS:ffff888018400000(0000) kn=
lGS:0000000000000000
> > [   14.045401] CS:  e030 DS: 0000 ES: 0000 CR0: 0000000080050033
> > [   14.045407] CR2: ffff8000007f5ea0 CR3: 0000000012f6a000 CR4: 0000000=
000000660
> > [   14.045420] Call Trace:
> > [   14.045431]  e1000e_set_interrupt_capability+0xbf/0xd0 [e1000e]
> > [   14.045479]  e1000_probe+0x41f/0xdb0 [e1000e]
>=20
> Otoh, from this it's pretty clear it's not a device Xen may have found
> a need to access for its own purposes. If aforementioned address covers
> (or is adjacent to) the MSI-X table of a device drive by this driver,
> then it would also be helpful to know how many MSI-X entries the device
> reports its table can have.

See above.

Does PCI passthrough for on PV support MSI-X at all?
If so, I guess the issue is the kernel trying to write directly, instead
of via some hypercall, right?

> > [   14.045506]  local_pci_probe+0x42/0x80
> > [   14.045515]  work_for_cpu_fn+0x16/0x20
> > [   14.045522]  process_one_work+0x1ec/0x390
> > [   14.045529]  worker_thread+0x53/0x3e0
> > [   14.045534]  ? process_one_work+0x390/0x390
> > [   14.045540]  kthread+0x127/0x150
> > [   14.045548]  ? set_kthread_struct+0x40/0x40
> > [   14.045554]  ret_from_fork+0x22/0x30
> > [   14.045565] Modules linked in: e1000e(+) edac_mce_amd rfkill xen_pci=
front pcspkr xt_REDIRECT ip6table_filter ip6table_mangle ip6table_raw ip6_t=
ables ipt_REJECT nf_reject_ipv4 xt_state xt_conntrack iptable_filter iptabl=
e_mangle iptable_raw xt_MASQUERADE iptable_nat nf_nat nf_conntrack nf_defra=
g_ipv6 nf_defrag_ipv4 xen_scsiback target_core_mod xen_netback xen_privcmd =
xen_gntdev xen_gntalloc xen_blkback xen_evtchn fuse drm bpf_preload ip_tabl=
es overlay xen_blkfront
> > [   14.045620] CR2: ffffc9004069100c
> > [   14.045627] ---[ end trace 307f5bb3bd9f30b4 ]---
> > [   14.045632] RIP: e030:__pci_enable_msix_range.part.0+0x26b/0x5f0
> > [   14.045640] Code: 2f 96 ff 48 89 44 24 28 48 89 c7 48 85 c0 0f 84 f6=
 01 00 00 45 0f b7 f6 48 8d 40 0c ba 01 00 00 00 49 c1 e6 04 4a 8d 4c 37 1c=
 <89> 10 48 83 c0 10 48 39 c1 75 f5 41 0f b6 44 24 6a 84 c0 0f 84 48
> > [   14.045652] RSP: e02b:ffffc9004018bd50 EFLAGS: 00010212
> > [   14.045657] RAX: ffffc9004069100c RBX: ffff88800ed412f8 RCX: ffffc90=
04069105c
> > [   14.045663] RDX: 0000000000000001 RSI: 00000000000febd4 RDI: ffffc90=
040691000
> > [   14.045668] RBP: 0000000000000003 R08: 0000000000000000 R09: 0000000=
0febd404f
> > [   14.045674] R10: 0000000000007ff0 R11: ffff88800ee8ae40 R12: ffff888=
00ed41000
> > [   14.045679] R13: 0000000000000000 R14: 0000000000000040 R15: 0000000=
0feba0000
> > [   14.045698] FS:  0000000000000000(0000) GS:ffff888018400000(0000) kn=
lGS:0000000000000000
> > [   14.045706] CS:  e030 DS: 0000 ES: 0000 CR0: 0000000080050033
> > [   14.045711] CR2: ffff8000007f5ea0 CR3: 0000000012f6a000 CR4: 0000000=
000000660
> > [   14.045718] Kernel panic - not syncing: Fatal exception
> > [   14.045726] Kernel Offset: disabled
> >=20
> > I've bisected it down to this commit:
> >=20
> >     commit 7d5ec3d3612396dc6d4b76366d20ab9fc06f399f
> >     Author: Thomas Gleixner <tglx@linutronix.de>
> >     Date:   Thu Jul 29 23:51:41 2021 +0200
> >=20
> >         PCI/MSI: Mask all unused MSI-X entries
> >=20
> > I can reliably reproduce it on Xen 4.14 and Xen 4.8, so I don't think
> > Xen version matters here.
> >=20
> > Any idea how to fix it?
> >=20
>=20

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--8xMIAefavZOKlE9D
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmEmZhQACgkQ24/THMrX
1yxUwgf6Ahtp5CfcE/z/WQ4w2r+jxDaGhQ5Nfi52oRYdFrkHqARkB6r96xmOTodz
jlk+B7R8BcRwAmmhmD8xpgN153pPps0zH1CeWnr3X8/fYYNXAurtpMy2pmSVWjPW
hV7nvmrEi2SRU+Gzmis3pNXOZ2/kLQtvnvaWn5JzolNH+Y2ytnaxdHYLFnxzHsZX
0Fq+/If50Dr8ENqmlVO7hxnZ4Ouh8pyVMlCLWQsZuKaCT6HjRoFQ1o+RlTBzILdv
C4v/RnhaizcS18OXXKr/p9K7F95BEdX6vRGHjlmHNmp46K4UEGP2Rn6xhEeSCgqu
bLzOF4pmEYrQaIy1mNuI3kbqdVAsbQ==
=6drH
-----END PGP SIGNATURE-----

--8xMIAefavZOKlE9D--


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 15:55:24 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 15:55:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172521.314806 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIvFH-0006HT-AD; Wed, 25 Aug 2021 15:55:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172521.314806; Wed, 25 Aug 2021 15: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 1mIvFH-0006HM-7G; Wed, 25 Aug 2021 15:55:19 +0000
Received: by outflank-mailman (input) for mailman id 172521;
 Wed, 25 Aug 2021 15:55:18 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5IQt=NQ=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mIvFG-0006HG-EV
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 15:55:18 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id d7288426-05bc-11ec-a978-12813bfff9fa;
 Wed, 25 Aug 2021 15:55:17 +0000 (UTC)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2054.outbound.protection.outlook.com [104.47.13.54]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-23-DzIgqtZRNSmknGwLHWqmTQ-1; Wed, 25 Aug 2021 17:55:14 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VE1PR04MB6671.eurprd04.prod.outlook.com (2603:10a6:803:11f::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17; Wed, 25 Aug
 2021 15:55:12 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Wed, 25 Aug 2021
 15:55:12 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0281.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1::29) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Wed, 25 Aug 2021 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: d7288426-05bc-11ec-a978-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629906916;
	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=XkfJv/GeVwwE6dWBrnp6jjh2P1l9bZu1T9viqqgowe4=;
	b=lUB9ryZEFlj4Zq/n8SExa6x3F9sq3RFPlz4peCfRI+Gc23OmMwolaJVq2irkviDlyXUiSP
	1oBXR9V3W9UcNhePmzPzNe54U71/Ny8ouHoEuYQ1NUuCbHcXvr28fc3o1atIKsArZ9h5zH
	YNO2MTgJihFTDoHzNzjF3cMD9ERuBFg=
X-MC-Unique: DzIgqtZRNSmknGwLHWqmTQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FAB5lwI9JDwOdzRr5OGTEJD+wV6RkiJi8kfpqrdLXNoE8oG0HqeDnokOnpNEH5aUnNnF8UKyi/DSRaexfjhF6riwAYJYWf3rSCvl8kgpuHN7GV3pAlfQqIC/3XKh7/BVx88KmjD1uO+XsxogwdNS+gxpJcWnPdGEX/BU0DrEH49orEQVMRp7uDoGtxaLrzpqLody1jQNy/8Sgr1RnHKkavVM+HSbwcrKOKVt3KG3nBMktUyDxYekT+aiIunj3QBO8nRyfRUfaINFewZWqamZ1EZiF7ZSUBI3uXkBd7P7onXWfvAwYACFfzx6QWBz8LF6sngnKSWe1n/3A46fgodY+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-SenderADCheck;
 bh=yjWPYN1k146GH/igWGyIID2OvfkJxkVgl42F2FVeuG0=;
 b=F4yegEqIAS0P3I/NBSD6bfNia+JGG8HgSW85rZhOQ9GApzHx1ijZrVENVJaTcJ7hUTAe1pTLZBSeNaloibxyDisf1AVmxumSiUcLZ/GrWFCCGk0cN2MIr1wIjfkdWsTXFFos/mFL0f/JgIv/rJiSmjx25TqZSS6qz8Xs0+pmRRD7cxbzykxvEjn92drTzXRjjzRAHabLCPki79uvZBUOf7gRydgqLrJw57FjYL6FcD0ajBFlzf0+QOVoPRph4vsYeBDTz7s4/1d1gayv9DX/opIyv7+gSChP/rpgsbRN/d+rhrWt+RYY4N8MuaLI0EsJ4ZFvKEOj47VlAgF1bBIKyg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: google.com; dkim=none (message not signed)
 header.d=none;google.com; dmarc=none action=none header.from=suse.com;
Subject: Re: Kernel panic in __pci_enable_msix_range on Xen PV with PCI
 passthrough
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
CC: linux-pci@vger.kernel.org, stable@vger.kernel.org,
 regressions@lists.kernel.dev, xen-devel <xen-devel@lists.xenproject.org>,
 Thomas Gleixner <tglx@linutronix.de>, Bjorn Helgaas <bhelgaas@google.com>
References: <YSZgkQY1B+WNH50r@mail-itl>
 <3e72345b-d0e1-7856-de51-e74714474724@suse.com> <YSZmFMeVeO4Bupn+@mail-itl>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <24d47a06-a887-05e5-0e3f-ed3cdd19490b@suse.com>
Date: Wed, 25 Aug 2021 17:55:09 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <YSZmFMeVeO4Bupn+@mail-itl>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: PR0P264CA0281.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1::29) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 0511ef5f-2876-442a-83d6-08d967e0b8e2
X-MS-TrafficTypeDiagnostic: VE1PR04MB6671:
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB667173BC64C9D2E348B465F8B3C69@VE1PR04MB6671.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:5236;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LPAxPTHrk9/zO8LrD3ADqOGtVeXmtLZilTFfG47wYeDsGabT2IQF7QRjWvcZD8B9UgIraYHJiX8vR3fIGBLC7skqriao0LVv2NZCNtfiilS8MxrFlIbHSrpMMDrc0jM2L2Ot5GL/lnLQRkYK/N2lYtCpTzwpAERiAzmCXRltZ/E2C3+8w3IJrxRXsunSYVAFKqrwrFxpEJbpjWZSXP/tDgr0knk1074t1Cxd2p3LvIknfNO0TAaD/8dfgs5QTQfZxWB3anS/3lA2M38txEhQoQvUXo3cEDK7Q9kPDe1fHiphQUDR3cKsFIHnU/aPdbiN7ZjhwNCeYLAChYsIGbf2glRfxfxx0OG9PYf8G0UMid1Mju8ztWX8fUTRFfX7W3HzsP7huTe6PdHyUIBIAuz2TtFSP/StUIM0DNZDEtnZM9ygfy2egGsXwIdACdlosG4ACLjK+ix2JPLdjFQ/FmNkb9LBITq+onaWDgPMbkCeasiobJR6miYI0IyNSCDNYH5zrT2MZ5JsKqhb0px0u/xbAzwu8D6MOigjGCrvbUTaBhRz99ms6MwdQUEL1tSsdQat1a+mF8EgLRxS6fRV0aViKcZ9Zcl8XcqxD0pEHgjUcqrmAcQ6qditvtLf/NpLPtxK5LmfwK094g10DYhu+e1s6I+Z2dVou420EEMy3FbsJWlaHPrslehEGdDg3uuicGx7KXqFWdjVKcE4vWU9XT1sCMGII+dbsIbnlFGowTbXghk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(376002)(346002)(39850400004)(366004)(136003)(66946007)(478600001)(36756003)(8936002)(66476007)(66574015)(66556008)(6486002)(5660300002)(53546011)(16576012)(8676002)(54906003)(6916009)(38100700002)(2906002)(4326008)(31686004)(86362001)(316002)(31696002)(83380400001)(26005)(956004)(2616005)(186003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?vXVjrDPX2k+goA+ZVznHWEXmnO1wmo83/aBA3MCY6IFQizJlLFItT1Xc5tOI?=
 =?us-ascii?Q?+nExplzFqllnq1ZiIPCe7WOCEDFRgLIDQqHqNHY/Ik2ZYbWbAegmltOglHJJ?=
 =?us-ascii?Q?YaJC7t3vP7VaxpL8mJVu/0ofKjhouK5GG/u/Z/rHhfukQ5W42x4WlFoxLxns?=
 =?us-ascii?Q?H8zsgXAMb46gBMfbB+UZUBG8CV+AotVFY3qJ9W2gux0k8c9xOh0wJtWiX12m?=
 =?us-ascii?Q?+fAwklFgnPnGZDvmzYumcVserHfyIglB3q6SC9eFqpCVck0Q2R9fjlkkgVRn?=
 =?us-ascii?Q?pe9OTUfcAEp6ndM6Nb82uRGiUvlWnu878CIxj/1gzmQSa7qrgfXIle7trwAq?=
 =?us-ascii?Q?dAlOpoFC7rNQ5qa4tFXOZtuHsZjipH3p4Th7pLvT6Z0+pGWwIJtrCrP9r0/K?=
 =?us-ascii?Q?Q/XBmBZf0pTLdMVW6F/1UFJyqruVB0VJ06efBr6cwfx2JBs78rP5cAjQP8nS?=
 =?us-ascii?Q?HwmG2urIYIo0B8NSboX1YSRjXrYSyKnIcQP3yzobSrFYBmP/w8U//5IliXUc?=
 =?us-ascii?Q?xGLZOe65QsKmUDNVrAchB9qxmfea3ZgbAnaBptl7Zrh6CGyqUEBMwD+vWd7D?=
 =?us-ascii?Q?i7JhQv9v8aSqHl8I4yhZIItw7qqgwIkFFDlorLewCVfyjaihP20gpqG4TG3g?=
 =?us-ascii?Q?xGTZR1j3+hbta+6rxmaRgtlq8FszAGR/Zciu7IOjWKcGC//CIoKhmJ8lKLPj?=
 =?us-ascii?Q?pDH1D9SEt1bCBsYCflpZynrak3AT+gz5U+4dxnDSjXwr+3v/5JPpb5dVgtTz?=
 =?us-ascii?Q?s19MMBCgz+o7vx3kwEZexDH1Yyg6W5CSiQXxw4f9eFrpFDVNQNzVHxhy48pt?=
 =?us-ascii?Q?kIgU92lwsxK66TJEnC83893aYrCc6k9wLHGCPlBSNPz3Rro4TIUug2AYwTdT?=
 =?us-ascii?Q?acT3QOHlhb5eip6VJBNTdkbGgpQRca/6lbKV4R/Cj1tOmkEXdmNtZ3o1eoH4?=
 =?us-ascii?Q?bf6KF2sYFmTq54A/e+jua8qtDZ9f7kp2E2cU1FofJfXwFQOw/4KsTL+qxAwd?=
 =?us-ascii?Q?APqnT4+/uiN0eQtaxNoretxILkxaMd9trAuugeM4qqGvuF6WUUFZHSWMmJEU?=
 =?us-ascii?Q?zUArTG+QuwE/ATjTel3rKcUMktUB0VNcHrEJqDH2iNWm8J9YNwk32E2585Bb?=
 =?us-ascii?Q?PL60FcEIZDOZ2miKa/sN4wYANOBti/5SW/7aKkzif2cfFmQUuCfHmLYN+VmJ?=
 =?us-ascii?Q?TMoL1wbw4l5T9m+EfVDPavi74p4NnHAs+8LiCLFKkM5SPSco1JJlZh++gyL3?=
 =?us-ascii?Q?uxB6JoapPVpvnOyUSwGUGKuh+TUflrZwxFsBzTwE2v/iHvSagySGzQhyCTL2?=
 =?us-ascii?Q?y0JRXg7uJO7YzKwWB20C7sps?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0511ef5f-2876-442a-83d6-08d967e0b8e2
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2021 15:55:12.2663
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /BiBAtUVk0S9sjsZ6T6tgOAGKRlXCqpA9q/E6wp0UoMz5XISUt/MOg/LsGVR4reWe5xapik2hAXsBu6wk+vE8Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6671

On 25.08.2021 17:47, Marek Marczykowski-G=C3=B3recki wrote:
> On Wed, Aug 25, 2021 at 05:33:54PM +0200, Jan Beulich wrote:
>> On 25.08.2021 17:24, Marek Marczykowski-G=C3=B3recki wrote:
>>> On recent kernel I get kernel panic when starting a Xen PV domain with
>>> PCI devices assigned. This happens on 5.10.60 (worked on .54) and
>>> 5.4.142 (worked on .136):=20
>>>
>>> [   13.683009] pcifront pci-0: claiming resource 0000:00:00.0/0
>>> [   13.683042] pcifront pci-0: claiming resource 0000:00:00.0/1
>>> [   13.683049] pcifront pci-0: claiming resource 0000:00:00.0/2
>>> [   13.683055] pcifront pci-0: claiming resource 0000:00:00.0/3
>>> [   13.683061] pcifront pci-0: claiming resource 0000:00:00.0/6
>>> [   14.036142] e1000e: Intel(R) PRO/1000 Network Driver
>>> [   14.036179] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
>>> [   14.036982] e1000e 0000:00:00.0: Xen PCI mapped GSI11 to IRQ13
>>> [   14.044561] e1000e 0000:00:00.0: Interrupt Throttling Rate (ints/sec=
) set to dynamic conservative mode
>>> [   14.045188] BUG: unable to handle page fault for address: ffffc90040=
69100c
>>> [   14.045197] #PF: supervisor write access in kernel mode
>>> [   14.045202] #PF: error_code(0x0003) - permissions violation
>>> [   14.045211] PGD 18f1c067 P4D 18f1c067 PUD 4dbd067 PMD 4fba067 PTE 80=
100000febd4075
>>
>> I'm curious what lives at physical address FEBD4000.=20
>=20
> This is a third BAR of this device, related to MSI-X:
>=20
> 00:04.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Con=
nection
>         Subsystem: Intel Corporation Device 0000
>         Physical Slot: 4
>         Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParEr=
r- Stepping- SERR+ FastB2B- DisINTx-
>         Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=3Dfast >TAbort- =
<TAbort- <MAbort- >SERR- <PERR- INTx-
>         Latency: 0
>         Interrupt: pin A routed to IRQ 11
>         Region 0: Memory at feb80000 (32-bit, non-prefetchable) [size=3D1=
28K]
>         Region 1: Memory at feba0000 (32-bit, non-prefetchable) [size=3D1=
28K]
>         Region 2: I/O ports at c080 [size=3D32]
>         Region 3: Memory at febd4000 (32-bit, non-prefetchable) [size=3D1=
6K]
>         Expansion ROM at feb40000 [disabled] [size=3D256K]
>         Capabilities: [c8] Power Management version 2
>                 Flags: PMEClk- DSI+ D1- D2- AuxCurrent=3D0mA PME(D0-,D1-,=
D2-,D3hot-,D3cold-)
>                 Status: D0 NoSoftRst- PME-Enable- DSel=3D0 DScale=3D0 PME=
-
>         Capabilities: [d0] MSI: Enable- Count=3D1/1 Maskable- 64bit+
>                 Address: 0000000000000000  Data: 0000
>         Capabilities: [e0] Express (v1) Endpoint, MSI 00
>                 DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <6=
4ns, L1 <1us
>                         ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset- S=
lotPowerLimit 0.000W
>                 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 2.5GT/s, Width x1, ASPM L0s, Exit =
Latency L0s <64ns
>                         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-
>         Capabilities: [a0] MSI-X: Enable- Count=3D5 Masked-
>                 Vector table: BAR=3D3 offset=3D00000000
>                 PBA: BAR=3D3 offset=3D00002000
>         Kernel driver in use: pciback
>         Kernel modules: e1000e
>=20
>> The maximum verbosity
>> hypervisor log may also have a hint as to why this is a read-only PTE.
>=20
> I'll try, if that still makes sense.

I think the above data clarifies it already.

>>> [   14.045227] Oops: 0003 [#1] SMP NOPTI
>>> [   14.045234] CPU: 0 PID: 234 Comm: kworker/0:2 Tainted: G        W   =
      5.14.0-rc7-1.fc32.qubes.x86_64 #15
>>> [   14.045245] Workqueue: events work_for_cpu_fn
>>> [   14.045259] RIP: e030:__pci_enable_msix_range.part.0+0x26b/0x5f0
>>> [   14.045271] Code: 2f 96 ff 48 89 44 24 28 48 89 c7 48 85 c0 0f 84 f6=
 01 00 00 45 0f b7 f6 48 8d 40 0c ba 01 00 00 00 49 c1 e6 04 4a 8d 4c 37 1c=
 <89> 10 48 83 c0 10 48 39 c1 75 f5 41 0f b6 44 24 6a 84 c0 0f 84 48
>>> [   14.045284] RSP: e02b:ffffc9004018bd50 EFLAGS: 00010212
>>> [   14.045290] RAX: ffffc9004069100c RBX: ffff88800ed412f8 RCX: ffffc90=
04069105c
>>> [   14.045296] RDX: 0000000000000001 RSI: 00000000000febd4 RDI: ffffc90=
040691000
>>> [   14.045302] RBP: 0000000000000003 R08: 0000000000000000 R09: 0000000=
0febd404f
>>> [   14.045308] R10: 0000000000007ff0 R11: ffff88800ee8ae40 R12: ffff888=
00ed41000
>>> [   14.045313] R13: 0000000000000000 R14: 0000000000000040 R15: 0000000=
0feba0000
>>> [   14.045393] FS:  0000000000000000(0000) GS:ffff888018400000(0000) kn=
lGS:0000000000000000
>>> [   14.045401] CS:  e030 DS: 0000 ES: 0000 CR0: 0000000080050033
>>> [   14.045407] CR2: ffff8000007f5ea0 CR3: 0000000012f6a000 CR4: 0000000=
000000660
>>> [   14.045420] Call Trace:
>>> [   14.045431]  e1000e_set_interrupt_capability+0xbf/0xd0 [e1000e]
>>> [   14.045479]  e1000_probe+0x41f/0xdb0 [e1000e]
>>
>> Otoh, from this it's pretty clear it's not a device Xen may have found
>> a need to access for its own purposes. If aforementioned address covers
>> (or is adjacent to) the MSI-X table of a device drive by this driver,
>> then it would also be helpful to know how many MSI-X entries the device
>> reports its table can have.
>=20
> See above.
>=20
> Does PCI passthrough for on PV support MSI-X at all?

It is supposed to work. The treatment by generic code shouldn't be overly
different from how MSI-X works for Dom0 (Xen specific code of course
differs).

> If so, I guess the issue is the kernel trying to write directly, instead
> of via some hypercall, right?

Indeed. Or to be precise - the kernel isn't supposed to be "writing" this
at all. It is supposed to make hypercalls which may result in such writes.
Such "mask everything" functionality imo is the job of the hypervisor
anyway when talking about PV environments; HVM is a different thing here.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Aug 25 16:05:41 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 16:05:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172527.314817 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIvP7-0008U6-Ck; Wed, 25 Aug 2021 16:05:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172527.314817; Wed, 25 Aug 2021 16: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 1mIvP7-0008Tz-9u; Wed, 25 Aug 2021 16:05:29 +0000
Received: by outflank-mailman (input) for mailman id 172527;
 Wed, 25 Aug 2021 16:05: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 1mIvP6-0008Tp-70; Wed, 25 Aug 2021 16:05: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 1mIvP6-0000yo-1f; Wed, 25 Aug 2021 16:05: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 1mIvP5-0004am-Nr; Wed, 25 Aug 2021 16:05:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mIvP5-0003Bm-N6; Wed, 25 Aug 2021 16:05: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=toTrf7yemVjnoC4D2pgXeWNbsQ+gVj4xdBrpbayGovU=; b=WX/qFOm7ZmecUih59HtBwsVgX6
	3tro/D/VriL582sMyX6D2FlxZ6K6v0oxJHTic+cUL6k8rfpK+FjAJZvbXI7CviritSdJWVe/egZh7
	FfSj5SKc3LsBP9XFtkdvbPGb+ikfPf58I3DpJXIjygeFttGxzg0LbDva2Mkbotx7rwNs=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164484-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 164484: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=c08d68cd2aacbc7cb56e73ada241bfe4639bbc68
X-Osstest-Versions-That:
    xen=a931e8e64af07bd333a31f3b71a3f8f3e7910857
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 25 Aug 2021 16:05:27 +0000

flight 164484 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164484/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  c08d68cd2aacbc7cb56e73ada241bfe4639bbc68
baseline version:
 xen                  a931e8e64af07bd333a31f3b71a3f8f3e7910857

Last test of basis   164435  2021-08-24 11:00:27 Z    1 days
Testing same since   164484  2021-08-25 13:00:28 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Stefano Stabellini <sstabellini@kernel.org>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   a931e8e64a..c08d68cd2a  c08d68cd2aacbc7cb56e73ada241bfe4639bbc68 -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 16:49:48 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 16:49:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172541.314837 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIw5r-0004ka-MD; Wed, 25 Aug 2021 16:49:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172541.314837; Wed, 25 Aug 2021 16: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 1mIw5r-0004kT-J2; Wed, 25 Aug 2021 16:49:39 +0000
Received: by outflank-mailman (input) for mailman id 172541;
 Wed, 25 Aug 2021 16:49:38 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ACUI=NQ=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mIw5p-0004kN-OE
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 16:49:37 +0000
Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 6defcd68-05c4-11ec-a988-12813bfff9fa;
 Wed, 25 Aug 2021 16:49: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: 6defcd68-05c4-11ec-a988-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629910176;
  h=to:cc:references:from:subject:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=sSD7xVJL7ahHbsiWfJfr4XJLwjTlpquc6eKWG7Ww09A=;
  b=Rkd0GeRXjDOpgLT9ZHxzdoPA/1zZYmbGgaPV7a3C+PAhiKCqbvygDLXe
   Fn2LhcPHnjpNptYU0WyMVJgYBaN4/acMSrqMLpx3awPuM3L7Qb31DMR5O
   OJeXgifszWnO/nz93PaxSfxSLU6yaJQQKWSoS6I4w5eQdR6DMasz7D917
   A=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: r0kEU9FsFgKc61yHRkhMP+HtYCRtl8aCogwLxg4wXuN2wugHDnG8eRoZphQ+hMaBzecQjI98Ty
 Zi4iNC/p0ENdVy7zFmlStBg+a/IoLHn8o3KAtJQKVtaelC98gAc/0fVkisM6SCRjmZJlZECIHk
 wtO2xiaSoGZQW/dM8nUxJwQeRalsYemx0wbfjuoa/2Qk0lprIo2dsHa/VkG7Woe5N6qgxg19/q
 e5/Qa2ABCLKj/fn6lrvgEu1Nrbf1Da5ropGaBIOmxgUL3yvv0MMUdMOqv9VETtUgW1mY26e0Z9
 Fdi8Oi3pDLgDqib+sqV2vE7x
X-SBRS: 5.1
X-MesageID: 51291983
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:YWeNZ6kHVelEUqtXRczuHIy4xQHpDfOiimdD5ihNYBxZY6Wkfp
 +V88jzhCWZtN9OYhwdcLC7WZVpQRvnhPtICPoqTMiftW7dyReVxeBZnPbfKljbdREWmdQtrZ
 uIH5IOb+EYSGIK9/oSgzPIY+rIouP3iZxA7N22pxwGLXAIGtNdBkVCe2Km+yVNNXh77PECZf
 yhD6R81lidkDgsH7+G7i5vZZm8mzSHruOoXTc2QzocrCWehzKh77D3VzCewxclSjtKhZMv63
 LMnQDV7riq96jT8G6c60bjq7Bt3PfxwNpKA8KBzuATNzXXkw6tIKBsQaeLsjwZqPymrHwqjN
 7PiRE9ONkb0QKeQkiF5T/WnyXw2jcn7HHvjXeenHvYuMT8AAk3DsJQ7LgpOCfx2g4FhpVRwa
 hL12WWu958FhXbhhnw4NDOSlVDile0iWBKq59Qs1VvFa8lLJNBp40W+01YVL0aGjjh1YwhGO
 5ySOnB+fdtd0+AZXyxhBgt/DWVZAV2Iv66eDlEhiTMuAIm2kyRjnFohPD3p01wsa7UEPJ/lr
 352s0CrsA8cicUBZgNT9vpD/HHUlAk7Hr3QRSvyG/cZdU60kT22tbKCYUOlZSXkaMzvewPcb
 T6IR5lXD0JCg7T4fPn5uwDzvmKehTnYQjQ
X-IronPort-AV: E=Sophos;i="5.84,351,1620705600"; 
   d="scan'208";a="51291983"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JLXQXEr0b7i93cNMorp8gQtHdh42aCbrZyMln6i2E8J0b9ML2/724Rz1A1hUX6hYZoBogJIZBqgZ5EaVczA2Lng85kfO96oqlByc11RZJhazr+hHyi8IRLCKICe/YuEHVzzTRMIQdNHdpvVUIR2bI3++vIAz7SmIQu+4bfou46umX6d1KuwGjRDmuJO1PvBT0sgRRIWuFbcWZgyKzw2y3PoYAJb51HXW9y8demUtkctEzKn1VmSDUJ38/BJQ/PhvWUtOFLGa9+/KIwQi7RbmAf94OxhncyXQw7ma2l58w1W9jb5oLQX8fe51+miqPcwknz0G1afZ76g+wjoDWNBD7w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=w2J6Iia5k5bATlDvnLUA0oX+Q7p+at0L6fvq3tynrx8=;
 b=TxoHoY4g4bps3NxATh0LbfK+MXATRnjBJbDacBxJwBthMWJrSQxo/ZWj9ZsDbLbMQSczmjltJDUNj8ek5Q5RGkOqrOIrNys0HWN54raNCDbMApFj1jzc4btkit9xO07YSLsmNNTqx3ie12LKMXcqQmxmLGD0HA70Hby37xuQgyXI6AgpiEIJ22+oeq6Y0rN6teCaarCPX1e2Tx99nPNpy/k0PZB0dI6935DRvzztlnCGGHGB7JXno8Ox/ETCpHVRG+e7svKpp2EXEg8+DLUdFoZvTAeVPFeGLK5X6aI9TtpiY+Qu7zMWMYQ+4DQQv0jpYEuYtfbIzfre2bzEH3L2gg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=w2J6Iia5k5bATlDvnLUA0oX+Q7p+at0L6fvq3tynrx8=;
 b=dsu7Dfb3gs7iToWnflJwvt2dwP6GQ4+pvsG/YxEvSujBdTJX1ZAPhADNcHQm4UcjUHnKfZgL3FdFvnJ3LzRdfTqSnek3cAs7HG4oCNABwM6IJJXPXlAf5CWzOqCXPttzqgDE5wxOYIiFM66NKDMIiIX+9Jig6PR9KLi9tEbiFxc=
To: Jan Beulich <jbeulich@suse.com>
CC: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
	<marmarek@invisiblethingslab.com>, <xen-devel@lists.xenproject.org>
References: <20210818113017.454251-1-marmarek@invisiblethingslab.com>
 <45de5185-b514-8c52-6922-4c587818c698@citrix.com>
 <3125583f-b965-7746-d833-c197857cd7d7@citrix.com>
 <15fb708e-e03d-bc4a-a0bd-72b81d26c6da@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] x86/xstate: reset cached register values on resume
Message-ID: <930a3c79-ddf3-2b95-495d-8d4f229c9fb9@citrix.com>
Date: Wed, 25 Aug 2021 17:49:27 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <15fb708e-e03d-bc4a-a0bd-72b81d26c6da@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-GB
X-ClientProxiedBy: LO4P123CA0346.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18d::9) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c3628807-fe6e-4044-11e6-08d967e85042
X-MS-TrafficTypeDiagnostic: BYAPR03MB3861:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <BYAPR03MB3861AB9968F4718742227C0CBAC69@BYAPR03MB3861.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 44zDVw/Tpvh3nesKFmd2SGIxbQZuVtDSwcRrvoDMZ8BUw9lld6xE063lp5Sbumr0Z0rzU7TR1qS1eJSmq8b7REEZXM7/aSm4QqDcjWzVYyKpT04A8MoELyJhlcx81EcQZ8kw8pUnLXH+vMLZTIvlKGgTn4+UIkqAhWZtFNNkk8EQwSbhXEijc5ha7TX0i8VZzHTQWP/zZOh7N0Az6ZmzYCu9l7MTNCh0qfFgpVe2G3efy0JFkh9E6pkbGOjlbsDCeQk0au49rhJVBfkOmzjjiFQJqRpLyM9TRlX+6gCm8jFF4XUBZc4H6t7y8fIiT0ig9/72IK7vAxEwvVhH5BnU35I3dVYKxc6g5emoa7fO7KhXacSu+bi0LOxaTmbDLL+bWSE2aqXA7Urkc7otbmuEtvBBUJRRRcPCJOlNQrcLsQYJlcFrs5eC/9C1Mlc2XA+WQmgeqFtBbvaZ6GvVU1B/OK2JbWxpNOIyFwZ1n4nmRFVkaI32Nq+v7U3ODDiX9PuqnDm00VqDvk+iMeoCEGIGMOha17HkDHUr/xd6qi8Rvf+PRXR1yEL9seV5g/BJqTUs+Lif2+BYqxG/skEj1+ln4BFACOpHHQNLBDQsNU/SyUNh535BceOgLr+WIBT/jhUiSHWBhwrqQZlaGGYG9OeARdmI6jiIjWlynEASN+IH5kU97tgBQfiMhkCyUPblvB8i6Rt0fkFSA+RpAJdIl7oV8fZoBz7ve6ytI7mv8lj2ElM=
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:(4636009)(376002)(396003)(346002)(39860400002)(366004)(136003)(31686004)(2616005)(4326008)(6916009)(956004)(26005)(186003)(38100700002)(5660300002)(16576012)(31696002)(86362001)(316002)(8676002)(2906002)(8936002)(53546011)(6666004)(66476007)(66556008)(478600001)(66946007)(36756003)(66574015)(83380400001)(6486002)(54906003)(55236004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Wm5FWVVMbW9Yb2ZnQTYxZlBQOEdHcWdaZVNwRC9zRkhkbmdkRVN6TFpCSi9V?=
 =?utf-8?B?TmNvQTUyRHMxR0lQSmNrL241RFZzZHBDVnFNS1dOZWZJSTRJYU1BOFB2dklI?=
 =?utf-8?B?VURIOEJIUlFqN2lkZkFRZkk2WEdlSnBXUE1WS3c3SE9xcjZvcFBDazcyWkw1?=
 =?utf-8?B?NzZjVDhJTUxJN1crMFFRb3lLZ3hXU3AyQm1NbTdLcUV0bGxnSnBDNlhDSVhw?=
 =?utf-8?B?ZzNXcUovd3dmclAwcmhPWFcwY1pFQXRnNG1jRW1UcWJYSVBTeU83Z1NWWTlH?=
 =?utf-8?B?N0RXSVVKamxxOUdJSzd5cHN3QmhkM1lUbEpMV2tKbmtsSEVubm9meWQ2MEty?=
 =?utf-8?B?VFNKcmZVU0J5SXl2TXI5ZURIdktGVGRWTG1Scjg3S3ZSRzh3ZFhrZzJsVnVz?=
 =?utf-8?B?L0FYcGJmVlMxbzdQczZLdG02SjA0M1o5eFBjUk4xeDlkdHoraTMvL0JvakRu?=
 =?utf-8?B?NTJUMUM4M2ozN1pBMW1BUlJwY1UvbnROTFRYeUhjRnZpOURrQlFQZUxzUWZZ?=
 =?utf-8?B?QnFQRzA0WGdjYm9mWXRVMXFmdUVwY2hwUFFla0czSlJnYmNteVRla01ia2hL?=
 =?utf-8?B?eStaSnhTWE0zc1NtS0ZoR2Q3ZDFEVDIrVlY2SCtnODZ2WWtGNXBKUnE4N3Er?=
 =?utf-8?B?dEJ6bDVDQXNjRHZtTDNsSmdKbnEzVnRjMVNYUmhxRHZUWnNOSkI1b0RhWjdI?=
 =?utf-8?B?aEZ6cDFoUmZ1OHY3R2tMMG5GdHlJV1JEa0M3ckF3QTVEVXZTMVd1aC9GRjYz?=
 =?utf-8?B?emk0WUxHY3l5L3ZHV0ovbHBpZUNNMmdERjdsWXRDRnZPNkVHNWQ2UXlDZm10?=
 =?utf-8?B?SWZTZm51WW9iUDVDTm1Ba2s3MlV6YW9UR3pEaFpxTVhnRmN4bnFNUmtqdDQw?=
 =?utf-8?B?YXJaWXkyMWkvT3d5TlFsa1dEVTRkYXpKbWx2enc4anZzdTlaYlhpbk43U1or?=
 =?utf-8?B?WktBbjE1WkNvaXR6d2MzeGg2ZmdlL0FCTlIzdCt5eUlRcGdSNXl6VnN3dTZT?=
 =?utf-8?B?d3dSanRCZUM3dDdJNStEenUrdFQycUF2bWtxbVI2Vk45dFBWNlpjL1NkR2NY?=
 =?utf-8?B?R3BIMXZid2lLdUk2NXQ4MW02cmkzT3c4U21PYXc4YzdwN1NLbm1LUXVNNHFx?=
 =?utf-8?B?TDBaRHZkdDZPY1ErYURUd0lpUzllanQ1ZGhlM0wwdFoyK0ZlallRMkxLaE1y?=
 =?utf-8?B?VzVKRWV6dzVSaDlOSEtsN3F6UlZmYkRHY0htbHZMclFvb1FJcDdBNnlHOXFF?=
 =?utf-8?B?Rk5ob3FBQlM4ZTllUTZMdmxOc3FkYkNNNkNpeHJKZUx6U2hSWlBOa1FTOEl4?=
 =?utf-8?B?SmJjd1Q2WWJZL1lqV0ZoaGlBSDNuU001VUZlajBtcHpPNGJWMW5GZDh0ZERw?=
 =?utf-8?B?TFR2ZmtnN1FaY0VFdnpvTkZUZUM0S0Rrc2dDK0I2L01DMDZ5VE1HMGQ1aElO?=
 =?utf-8?B?K2ZjVnlUblQwY0hZekI2eDEwNVFwSmZtcXV2YmdMck9FUGZXaC9BRGZ0M0lu?=
 =?utf-8?B?bFNBM1laUlNKYkZQYTJiYi9CT1ZwYk4vVEE2L28yTnNuQlplbzVLUFFkakVt?=
 =?utf-8?B?WlQyN0M2SmQ2eDIydkpCUFc5YVNqazFtUSs1ZzhMUHdZMW9yYzViZ1UrcExY?=
 =?utf-8?B?NjFyaW5IWEp1eXBrUE51RWFQYS9kRXhRUk9hTzh3RmcxdG5EbWVzYTJ1eGRS?=
 =?utf-8?B?a3dpbTZhd1JFRDRFZ1VtR2tDc0EwQnQzbmVtZkxTbUJOUTdvWW9adCswOVlE?=
 =?utf-8?Q?GK71GPHWXQDDfPVKMX54zN0wBHScbvjYoAdvi7O?=
X-MS-Exchange-CrossTenant-Network-Message-Id: c3628807-fe6e-4044-11e6-08d967e85042
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2021 16:49:32.9344
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: gkgWKOV0MFISnwuo8bcqvw+GNm1OUmp6rmyh+MdLNCSCnejxaBnW7Sg1LBwcFj1SPRC5Zf+l/l2ryd/is8cGlzOEgWU96swk/zrejymjYEo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB3861
X-OriginatorOrg: citrix.com

On 25/08/2021 16:02, Jan Beulich wrote:
> On 24.08.2021 23:11, Andrew Cooper wrote:
>> On 18/08/2021 13:44, Andrew Cooper wrote:
>>> On 18/08/2021 12:30, Marek Marczykowski-G=C3=B3recki wrote:
>>>> set_xcr0() and set_msr_xss() use cached value to avoid setting the
>>>> register to the same value over and over. But suspend/resume implicitl=
y
>>>> reset the registers and since percpu areas are not deallocated on
>>>> suspend anymore, the cache gets stale.
>>>> Reset the cache on resume, to ensure the next write will really hit th=
e
>>>> hardware. Choose value 0, as it will never be a legitimate write to
>>>> those registers - and so, will force write (and cache update).
>>>>
>>>> Note the cache is used io get_xcr0() and get_msr_xss() too, but:
>>>> - set_xcr0() is called few lines below in xstate_init(), so it will
>>>>   update the cache with appropriate value
>>>> - get_msr_xss() is not used anywhere - and thus not before any
>>>>   set_msr_xss() that will fill the cache
>>>>
>>>> Fixes: aca2a985a55a "xen: don't free percpu areas during suspend"
>>>> Signed-off-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethin=
gslab.com>
>>> I'd prefer to do this differently.=C2=A0 As I said in the thread, there=
 are
>>> other registers such as MSR_TSC_AUX which fall into the same category,
>>> and I'd like to make something which works systematically.
>> Ok - after some searching, I think we have problems with:
>>
>> cpu/common.c:47:DEFINE_PER_CPU(struct cpuidmasks, cpuidmasks);
> Don't we have a problem here even during initial boot? I can't see
> the per-CPU variable to get filled by what the registers hold.

No, I don't think so, but it is a roundabout route.

>  If
> the register started out non-zero (the default on AMD iirc, as it's
> not really masks there) but the first value to be written was zero,
> we'd skip the write.

There is cpuidmask_defaults which does get filled from the MSRs on boot.

AMD are real CPUID settings, while Intel is an and-mask.=C2=A0 i.e. they're
both non-zero (unless someone does something silly with the command line
arguments, and I don't expect Xen to be happy booting if the leaves all
read 0).

Each early_init_*() has an explicit ctxt_switch_levelling(NULL) call
which, given non-zero content in cpuidmask_defaults should latch each
one appropriately in the the per-cpu variable.

Thinking about it some more, we load cpuidmask_defaults in IDLE and HVM
context, while PV guests (even PV dom0) will have non-default
cpuidmask's, so with a PV dom0, things ought to correct themselves
fairly promptly after S3, but not as early as we expect.

>> cpu/common.c:120:static DEFINE_PER_CPU(uint64_t, msr_misc_features);
> Almost the same here - we only initialize the variable on the BSP
> afaics.

No - way way way worse, I think.

For all APs, we write 0 or MSR_MISC_FEATURES_CPUID_FAULTING into
MSR_INTEL_MISC_FEATURES_ENABLES, which amongst other things turns off
Fast String Enable.

I think it might be time to expand the "MSR consistency across the
system" logic from test-tsx to rather more MSRs..

>> msr.c:35:DEFINE_PER_CPU(uint32_t, tsc_aux);
> And again no boot time setup at all for this one as it looks. Not=20
> sure how likely it is for firmware or bootloaders to use this MSR
> (and then leave it non-zero).

Regular firmware I'd expect it to be 0.=C2=A0 Linuxboot, I'd expect whateve=
r
value Linux last left in there for userspace.

~Andrew



From xen-devel-bounces@lists.xenproject.org Wed Aug 25 16:58:34 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 16:58:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172546.314849 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIwEQ-0006ML-IY; Wed, 25 Aug 2021 16:58:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172546.314849; Wed, 25 Aug 2021 16:58:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIwEQ-0006ME-FR; Wed, 25 Aug 2021 16:58:30 +0000
Received: by outflank-mailman (input) for mailman id 172546;
 Wed, 25 Aug 2021 16:58: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 1mIwEP-0006M8-CJ
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 16:58: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 1mIwEO-0001sD-DJ; Wed, 25 Aug 2021 16:58:28 +0000
Received: from 54-240-197-238.amazon.com ([54.240.197.238]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mIwEO-0001rD-6Z; Wed, 25 Aug 2021 16: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=+ItNExPETyGzz7ay1fIfIIYWQICjRvpwT6obiQ3Pciw=; b=YG6bI+aPbjisp2qAcN9hlMGH40
	MYw3fvNKARCghHEUQrHiGBdCoDnAL9/YnBKkqshA9YqQQysvx0KMo2EIzsth4Vdirjo5qtOcJKtwy
	blQiN8XC/rg834S3Cy/ukbURWnIdidSDnjZS1X82Z+NqsoLTEhoDavrfT2PlZvS7k5WI=;
Subject: Re: [XEN RFC PATCH 26/40] xen/arm: Add boot and secondary CPU to NUMA
 system
To: Wei Chen <wei.chen@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, jbeulich@suse.com
Cc: Bertrand.Marquis@arm.com
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-27-wei.chen@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <35a57b18-4fab-522d-f39a-de21017abe57@xen.org>
Date: Wed, 25 Aug 2021 17:58:26 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210811102423.28908-27-wei.chen@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Wei,

On 11/08/2021 11:24, Wei Chen wrote:
> When cpu boot up, we have add them to NUMA system. In current
> stage, we have not parsed the NUMA data, but we have created
> a fake NUMA node. So, in this patch, all CPU will be added
> to NUMA node#0. After the NUMA data has been parsed from device
> tree, the CPU will be added to correct NUMA node as the NUMA
> data described.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>   xen/arch/arm/setup.c       | 6 ++++++
>   xen/arch/arm/smpboot.c     | 6 ++++++
>   xen/include/asm-arm/numa.h | 1 +
>   3 files changed, 13 insertions(+)
> 
> diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
> index 3c58d2d441..7531989f21 100644
> --- a/xen/arch/arm/setup.c
> +++ b/xen/arch/arm/setup.c
> @@ -918,6 +918,12 @@ void __init start_xen(unsigned long boot_phys_offset,
>   
>       processor_id();
>   
> +    /*
> +     * If Xen is running on a NUMA off system, there will
> +     * be a node#0 at least.
> +     */
> +    numa_add_cpu(0);
> +
>       smp_init_cpus();
>       cpus = smp_get_max_cpus();
>       printk(XENLOG_INFO "SMP: Allowing %u CPUs\n", cpus);
> diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
> index a1ee3146ef..aa78958c07 100644
> --- a/xen/arch/arm/smpboot.c
> +++ b/xen/arch/arm/smpboot.c
> @@ -358,6 +358,12 @@ void start_secondary(void)
>        */
>       smp_wmb();
>   
> +    /*
> +     * If Xen is running on a NUMA off system, there will
> +     * be a node#0 at least.
> +     */
> +    numa_add_cpu(cpuid);
> +

On x86, numa_add_cpu() will be called before the pCPU is brought up. I 
am not quite too sure why we are doing it differently here. Can you 
clarify it?

>       /* Now report this CPU is up */
>       cpumask_set_cpu(cpuid, &cpu_online_map);
>   
> diff --git a/xen/include/asm-arm/numa.h b/xen/include/asm-arm/numa.h
> index 7a3588ac7f..dd31324b0b 100644
> --- a/xen/include/asm-arm/numa.h
> +++ b/xen/include/asm-arm/numa.h
> @@ -59,6 +59,7 @@ extern mfn_t first_valid_mfn;
>   #define __node_distance(a, b) (20)
>   
>   #define numa_init(x) do { } while (0)
> +#define numa_add_cpu(x) do { } while (0)

This is a stubs for a common helper. So I think this wants to be moved 
in the !CONFIG_NUMA in xen/numa.h.

>   #define numa_set_node(x, y) do { } while (0)
>   
>   #endif
>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 17:07:00 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 17:07:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172551.314860 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIwMS-0007wo-Dz; Wed, 25 Aug 2021 17:06:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172551.314860; Wed, 25 Aug 2021 17: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 1mIwMS-0007wh-9n; Wed, 25 Aug 2021 17:06:48 +0000
Received: by outflank-mailman (input) for mailman id 172551;
 Wed, 25 Aug 2021 17:06:47 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mIwMR-0007wb-8b
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 17:06:47 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mIwMQ-000237-7C; Wed, 25 Aug 2021 17:06:46 +0000
Received: from 54-240-197-238.amazon.com ([54.240.197.238]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mIwMQ-00033r-1A; Wed, 25 Aug 2021 17:06:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=Xu3amvgtgW3cB3G9oPU4+qJU+m+pt4IlpbqwUKBmeSc=; b=VL+A4dOuVVpq6d7hwW7z5deazC
	ZOxmoF3+dBPEG9NBMCjJ29vGMHcpDV4ltjaRBN17NgAA/4xC4cck0vAFUbgqqhganO/tHJq2RzI9L
	RiZ5wStp2ndrjvo2CfKNBeBrGZGvz5mTWlq2zBJHOZBCB4XdrytMwwQ4bDWya+YiiwSA=;
Subject: Re: [XEN RFC PATCH 27/40] xen/arm: build CPU NUMA node map while
 creating cpu_logical_map
To: Wei Chen <wei.chen@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org
Cc: Bertrand.Marquis@arm.com, Jan Beulich <jbeulich@suse.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-28-wei.chen@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <59529fea-199d-09af-dbb3-a5067ec86550@xen.org>
Date: Wed, 25 Aug 2021 18:06:44 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210811102423.28908-28-wei.chen@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Wei,

On 11/08/2021 11:24, Wei Chen wrote:
> Sometimes, CPU logical ID maybe different with physical CPU ID.
> Xen is using CPU logial ID for runtime usage, so we should use
> CPU logical ID to create map between NUMA node and CPU.

This commit message gives the impression that you are trying to fix a 
bug. However, what you are explaining is the reason why the code will 
use the logical ID rather than physical ID.

I think the commit message should explain what the patch is doing. You 
can then add an explanation why you are using the CPU logical ID. 
Something like "Note we storing the CPU logical ID because...".


> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>   xen/arch/arm/smpboot.c | 31 ++++++++++++++++++++++++++++++-
>   1 file changed, 30 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
> index aa78958c07..dd5a45bffc 100644
> --- a/xen/arch/arm/smpboot.c
> +++ b/xen/arch/arm/smpboot.c
> @@ -121,7 +121,12 @@ static void __init dt_smp_init_cpus(void)
>       {
>           [0 ... NR_CPUS - 1] = MPIDR_INVALID
>       };
> +    static nodeid_t node_map[NR_CPUS] __initdata =
> +    {
> +        [0 ... NR_CPUS - 1] = NUMA_NO_NODE
> +    };
>       bool bootcpu_valid = false;
> +    uint32_t nid = 0;
>       int rc;
>   
>       mpidr = boot_cpu_data.mpidr.bits & MPIDR_HWID_MASK;
> @@ -172,6 +177,26 @@ static void __init dt_smp_init_cpus(void)
>               continue;
>           }
>   
> +#ifdef CONFIG_DEVICE_TREE_NUMA
> +        /*
> +         *  When CONFIG_DEVICE_TREE_NUMA is set, try to fetch numa infomation
> +         * from CPU dts node, otherwise the nid is always 0.
> +         */
> +        if ( !dt_property_read_u32(cpu, "numa-node-id", &nid) )

You can avoid the #ifdef by writing:

if ( IS_ENABLED(CONFIG_DEVICE_TREE_NUMA) && ... )

However, I would using CONFIG_NUMA because this code is already DT 
specific. So we can shorten the name a bit.

> +        {
> +            printk(XENLOG_WARNING
> +                "cpu[%d] dts path: %s: doesn't have numa infomation!\n",

s/information/information/

> +                cpuidx, dt_node_full_name(cpu));
> +            /*
> +             * The the early stage of NUMA initialization, when Xen found any

s/The/During/?

> +             * CPU dts node doesn't have numa-node-id info, the NUMA will be
> +             * treated as off, all CPU will be set to a FAKE node 0. So if we
> +             * get numa-node-id failed here, we should set nid to 0.
> +             */
> +            nid = 0;
> +        }
> +#endif
> +
>           /*
>            * 8 MSBs must be set to 0 in the DT since the reg property
>            * defines the MPIDR[23:0]
> @@ -231,9 +256,12 @@ static void __init dt_smp_init_cpus(void)
>           {
>               printk("cpu%d init failed (hwid %"PRIregister"): %d\n", i, hwid, rc);
>               tmp_map[i] = MPIDR_INVALID;
> +            node_map[i] = NUMA_NO_NODE;
>           }
> -        else
> +        else {
>               tmp_map[i] = hwid;
> +            node_map[i] = nid;
> +        }
>       }
>   
>       if ( !bootcpu_valid )
> @@ -249,6 +277,7 @@ static void __init dt_smp_init_cpus(void)
>               continue;
>           cpumask_set_cpu(i, &cpu_possible_map);
>           cpu_logical_map(i) = tmp_map[i];
> +        numa_set_node(i, node_map[i]);
>       }
>   }
>    >

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 17:10:04 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 17:10:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172556.314870 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIwPb-0000Z8-T2; Wed, 25 Aug 2021 17:10:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172556.314870; Wed, 25 Aug 2021 17:10:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIwPb-0000Z1-PV; Wed, 25 Aug 2021 17:10:03 +0000
Received: by outflank-mailman (input) for mailman id 172556;
 Wed, 25 Aug 2021 17:10: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 1mIwPa-0000P4-QG
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 17:10: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 1mIwPZ-00025S-0g; Wed, 25 Aug 2021 17:10:01 +0000
Received: from 54-240-197-238.amazon.com ([54.240.197.238]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mIwPY-0003Vs-RA; Wed, 25 Aug 2021 17:10: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:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=IrR16HI/M/JChzTcBxJye1fMvJZ7GR2f0Us/WtaPTxo=; b=sv6ZLshs7mMlq3pQGAeJkhb7co
	lHyeMpEKGlthnMoJqwi/6bYHeX4AzbwFBDbCe2n++0+GX+uPsjLEZGHmCyyfgI32FJTJUHLL2n6hd
	s1vURu0KJ3t4ez2GJbWaaXFsZZape5hOk84JAUhhQaeGBCGvWc8S1U/K1jt+4F56zLAM=;
Subject: Re: [XEN RFC PATCH 29/40] xen/arm: implement Arm arch helpers Arm to
 get memory map info
To: Wei Chen <wei.chen@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, jbeulich@suse.com
Cc: Bertrand.Marquis@arm.com
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-30-wei.chen@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <05ca94ef-900f-49fa-1e78-daabcf6fa729@xen.org>
Date: Wed, 25 Aug 2021 18:09:59 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210811102423.28908-30-wei.chen@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Wei,

On 11/08/2021 11:24, Wei Chen wrote:
> These two helpers are architecture APIs that are required by
> nodes_cover_memory.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>   xen/arch/arm/numa.c | 14 ++++++++++++++
>   1 file changed, 14 insertions(+)
> 
> diff --git a/xen/arch/arm/numa.c b/xen/arch/arm/numa.c
> index f61a8df645..6eebf8e8bc 100644
> --- a/xen/arch/arm/numa.c
> +++ b/xen/arch/arm/numa.c
> @@ -126,3 +126,17 @@ void __init numa_init(bool acpi_off)
>       numa_initmem_init(PFN_UP(ram_start), PFN_DOWN(ram_end));
>       return;
>   }
> +
> +uint32_t __init arch_meminfo_get_nr_bank(void)
> +{
> +	return bootinfo.mem.nr_banks;
> +}
> +
> +int __init arch_meminfo_get_ram_bank_range(int bank,
> +	unsigned long long *start, unsigned long long *end)

They are physical address, so we should use "paddr_t" as on system such 
as 32-bit Arm, "unsigned long" is not enough to cover all the physical 
address.

As you change the type, I would also suggest to change the bank from an 
int to an unsigned int.

> +{
> +	*start = bootinfo.mem.bank[bank].start;
> +	*end = bootinfo.mem.bank[bank].start + bootinfo.mem.bank[bank].size;
> +
> +	return 0;
> +}
> 

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 17:16:43 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 17:16:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172562.314881 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIwVz-0001mq-Nc; Wed, 25 Aug 2021 17:16:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172562.314881; Wed, 25 Aug 2021 17: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 1mIwVz-0001mj-Kc; Wed, 25 Aug 2021 17:16:39 +0000
Received: by outflank-mailman (input) for mailman id 172562;
 Wed, 25 Aug 2021 17:16:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mIwVy-0001md-6i
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 17:16:38 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mIwVw-0002EQ-UD; Wed, 25 Aug 2021 17:16:36 +0000
Received: from 54-240-197-238.amazon.com ([54.240.197.238]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mIwVw-0004Qf-Nb; Wed, 25 Aug 2021 17: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=czQZjnRKbT0Gdk/6gkh3uz1p/pOFuLtmIqvNaLUGAKc=; b=FdmRkj5HSPk2A2MJb1qYQ4m8f4
	go1UsIkTInVoGDkxTi266US4xmhInf8gzQA2kX82/Aayh0Le7XKb6+mYgislUPwq4qOa26KkNo+VT
	RqMlGy8E/2V1C1rlSG3j4gKbV2QYvqsd9Id0yuhsyQ4b+ME8bDWkHDmgweoTECFBsM/w=;
Subject: Re: [XEN RFC PATCH 30/40] xen: move NUMA memory and CPU parsed
 nodemasks to common
To: Wei Chen <wei.chen@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, jbeulich@suse.com
Cc: Bertrand.Marquis@arm.com
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-31-wei.chen@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <e97b705f-3bf6-9a01-a24b-ad2840a7c8a8@xen.org>
Date: Wed, 25 Aug 2021 18:16:34 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210811102423.28908-31-wei.chen@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Wei,

On 11/08/2021 11:24, Wei Chen wrote:
> Both memory_nodes_parsed and processor_nodes_parsed are using
> for Arm and x86 to record parded NUMA memory and CPU. So we
> move them to common.

Looking at the usage, they both call:

numa_set...(..., bitmap)

So rather than exporting the two helpers, could we simply add helpers to 
abstract it?


> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>   xen/arch/arm/numa_device_tree.c | 2 --
>   xen/arch/x86/srat.c             | 3 ---
>   xen/common/numa.c               | 3 +++
>   xen/include/xen/nodemask.h      | 2 ++
>   4 files changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/xen/arch/arm/numa_device_tree.c b/xen/arch/arm/numa_device_tree.c
> index 27ffb72f7b..f74b7f6427 100644
> --- a/xen/arch/arm/numa_device_tree.c
> +++ b/xen/arch/arm/numa_device_tree.c
> @@ -25,8 +25,6 @@
>   #include <asm/setup.h>
>   
>   s8 device_tree_numa = 0;
> -static nodemask_t processor_nodes_parsed __initdata;
> -static nodemask_t memory_nodes_parsed __initdata;

This is code that was introduced in a previous patch. In general, it is 
better to do the rework first and then add the new code. This makes 
easier to follow series as the code added is not changed.

>   
>   static int srat_disabled(void)
>   {
> diff --git a/xen/arch/x86/srat.c b/xen/arch/x86/srat.c
> index 2298353846..dd3aa30843 100644
> --- a/xen/arch/x86/srat.c
> +++ b/xen/arch/x86/srat.c
> @@ -24,9 +24,6 @@
>   
>   static struct acpi_table_slit *__read_mostly acpi_slit;
>   
> -static nodemask_t memory_nodes_parsed __initdata;
> -static nodemask_t processor_nodes_parsed __initdata;
> -
>   struct pxm2node {
>   	unsigned pxm;
>   	nodeid_t node;
> diff --git a/xen/common/numa.c b/xen/common/numa.c
> index 26c0006d04..79ab250543 100644
> --- a/xen/common/numa.c
> +++ b/xen/common/numa.c
> @@ -35,6 +35,9 @@ int num_node_memblks;
>   struct node node_memblk_range[NR_NODE_MEMBLKS];
>   nodeid_t memblk_nodeid[NR_NODE_MEMBLKS];
>   
> +nodemask_t memory_nodes_parsed __initdata;
> +nodemask_t processor_nodes_parsed __initdata;
> +
>   bool numa_off;
>   
>   /*
> diff --git a/xen/include/xen/nodemask.h b/xen/include/xen/nodemask.h
> index 1dd6c7458e..29ce5e28e7 100644
> --- a/xen/include/xen/nodemask.h
> +++ b/xen/include/xen/nodemask.h
> @@ -276,6 +276,8 @@ static inline int __cycle_node(int n, const nodemask_t *maskp, int nbits)
>    */
>   
>   extern nodemask_t node_online_map;
> +extern nodemask_t memory_nodes_parsed;
> +extern nodemask_t processor_nodes_parsed;
>   
>   #if MAX_NUMNODES > 1
>   #define num_online_nodes()	nodes_weight(node_online_map)
> 

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 17:52:48 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 17:52:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172571.314893 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIx4r-0006NS-Io; Wed, 25 Aug 2021 17:52:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172571.314893; Wed, 25 Aug 2021 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 1mIx4r-0006NL-F7; Wed, 25 Aug 2021 17:52:41 +0000
Received: by outflank-mailman (input) for mailman id 172571;
 Wed, 25 Aug 2021 17:52: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 1mIx4p-0006NB-Dd; Wed, 25 Aug 2021 17:52: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 1mIx4p-0002n2-4A; Wed, 25 Aug 2021 17:52: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 1mIx4o-0000xD-Po; Wed, 25 Aug 2021 17:52:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mIx4o-0005zJ-KL; Wed, 25 Aug 2021 17: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=0k2/FagyUYt2Ksy5iIAReHYZmrvAneChQZaWw/+VKKM=; b=ZZ8wrGIDQTskHw7btxdnONA6zI
	8AMFQJw/teg3VqmLetWn4BNlQwUj0UCTmTRcZ3vJsj2w+/iPn+vt5AHNmcbP6imYxlNJ8cw5l9t8m
	2bImZsfDmarUDtcgpTQpbuS8uyXC4O/vH6YgUxDIvpaDBWbjYqDnHOik/5dPe/XBDvls=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164421-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.12-testing test] 164421: regressions - FAIL
X-Osstest-Failures:
    xen-4.12-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    xen-4.12-testing:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    xen-4.12-testing:test-amd64-amd64-xl-qcow2:guest-localmigrate/x10:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=c6c5f9d8b3e23178341cd7f9b7614a463df74266
X-Osstest-Versions-That:
    xen=ea20eee97e9e0861127a8070cc7b9ae3557b09fb
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 25 Aug 2021 17:52:38 +0000

flight 164421 xen-4.12-testing real [real]
flight 164487 xen-4.12-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/164421/
http://logs.test-lab.xenproject.org/osstest/logs/164487/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 162549
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 162549

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qcow2    19 guest-localmigrate/x10       fail  like 162549
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 162549
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 162549
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 162549
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 162549
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 162549
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 162549
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 162549
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 162549
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 162549
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 162549
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 162549
 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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-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-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-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-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  c6c5f9d8b3e23178341cd7f9b7614a463df74266
baseline version:
 xen                  ea20eee97e9e0861127a8070cc7b9ae3557b09fb

Last test of basis   162549  2021-06-08 18:37:01 Z   77 days
Testing same since   164259  2021-08-19 17:07:29 Z    6 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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-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                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit c6c5f9d8b3e23178341cd7f9b7614a463df74266
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Jul 19 12:28:09 2021 +0200

    libxl/x86: check return value of SHADOW_OP_SET_ALLOCATION domctl
    
    The hypervisor may not have enough memory to satisfy the request. While
    there, make the unit of the value clear by renaming the local variable.
    
    Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    backport-requested-by: Jan Beulich <jbeulich@suse.com>
    (cherry picked from commit 0be5a00af590c97ea553aadb60f1e0b3af53d8f6)
    (cherry picked from commit 6bbdcefd205903b2181b3b4fdc9503709ecdb7c4)
    (cherry picked from commit 61f28060d5b899c502e2b3bf45a39b1dd2a1224c)
    (cherry picked from commit 3cdc7b6b35106180c9021c1742cafacfa764fdad)
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 20:44:18 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 20:44:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172579.314912 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mIzkg-0007Q3-4n; Wed, 25 Aug 2021 20:44:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172579.314912; Wed, 25 Aug 2021 20: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 1mIzkg-0007Pw-1v; Wed, 25 Aug 2021 20:44:02 +0000
Received: by outflank-mailman (input) for mailman id 172579;
 Wed, 25 Aug 2021 20:44:00 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dwK+=NQ=kernel.org=helgaas@srs-us1.protection.inumbo.net>)
 id 1mIzke-0007Pq-Pm
 for xen-devel@lists.xenproject.org; Wed, 25 Aug 2021 20:44:00 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 3521b8f9-613e-4873-949c-c1ff2b89586d;
 Wed, 25 Aug 2021 20:43:59 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id 325DA61058;
 Wed, 25 Aug 2021 20:43: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: 3521b8f9-613e-4873-949c-c1ff2b89586d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1629924238;
	bh=epmZVNLpdoNNDDzsLFMtPJJY8zT6fOFNdSrHyazfAFc=;
	h=Date:From:To:Cc:Subject:In-Reply-To:From;
	b=ra5IUkehvbZtQdm7W4WXEm0QjeczmOPSfqAsbPMSfRMwiXielKmUkivmu+qjOvX6t
	 MqRi1vlWCH2cLCvRGL9X67vUNfI5uh4KcODGIcrbWEZGBJhU2HNd61JKfiObOwGa30
	 AD0hYtLSKq7ys47y2O1whQQ5dpbFdAW97LB+zs36LCxjnKraCcnoFHx2v/HwJNXsvi
	 JHb3jiyU3ywhhUasoACqdakRAlcgZQlcd1EnndWwDK4gsEGki16Kmy/vYao4I2S8Xn
	 beSoinZSrlnyF0Z78y1WLAbrypZ9HOa8eVHyAIQq/DcPl1GETRXmsF52iDVDWDlxT0
	 9oEWkB4cTryiw==
Date: Wed, 25 Aug 2021 15:43:56 -0500
From: Bjorn Helgaas <helgaas@kernel.org>
To: Sergio =?iso-8859-1?Q?Migu=E9ns?= Iglesias <lonyelon@gmail.com>
Cc: bhelgaas@google.com, rjw@rjwysocki.net, lenb@kernel.org,
	boris.ostrovsky@oracle.com, jgross@suse.com, sstabellini@kernel.org,
	konrad.wilk@oracle.com, linux-pci@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	Sergio =?iso-8859-1?Q?Migu=E9ns?= Iglesias <sergio@lony.xyz>
Subject: Re: [PATCH] PCI: Fix general code style
Message-ID: <20210825204356.GA3601025@bjorn-Precision-5520>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20210804222832.1023161-1-sergio@lony.xyz>

On Thu, Aug 05, 2021 at 12:28:32AM +0200, Sergio Miguns Iglesias wrote:
> The code style for most files was fixed. This means that blank lines
> were added when needed (normally after variable declarations), spaces
> before tabs were removed, some code alignment issues were solved, block
> comment style was fixed, every instance of "unsigned var" was replaced
> with "unsigned int var"... Etc.
> 
> This commit does not change the logic of the code, it just fixes
> aesthetic problems.

I generally *like* this, and it does fix some annoying things, but I
think it's a little too much all at once.  If we're working in a file
and doing actual bug fixes or new functionality, and we want to fix
some typos or something at the end, that might be OK, but I think the
churn in the git history outweighs the benefit of this huge patch.

So I would encourage you to use some of the PCI expertise you've
gained by looking at all this code to work on something with a little
more impact.  Here are a couple ideas:

  - There are only two uses of __ref and __refdata in drivers/pci/.
    The fact that they're so rare makes me suspect that we don't need
    them.  But I haven't investigated these to see.  Somebody could
    check that out and remove them if we don't need them.  Be aware
    that I will want a clear argument for why they're not needed :)

  - Coverity complains about several issues in drivers/pci/ [1].  Most
    of the time these are false positives, but not always.  Sometimes
    there's an actual bug, and sometimes there's a way to restructure
    the code to avoid the warning (which usually means doing things
    the same way they are done elsewhere).

  - "make C=2 drivers/pci/" (sparse checker, [2]) complains about a
    few things.  Leave the pci_power_t ones alone for now, but there
    are a couple other type issues that could be cleaned up.

[1] https://docs.google.com/spreadsheets/d/19eyNDou83JACzf44j0NRzEWysva6g44G2_Z9IEXGVNk/edit?usp=sharing
[2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/dev-tools/sparse.rst?id=v5.13

> Signed-off-by: Sergio Miguns Iglesias <sergio@lony.xyz>
> ---
>  drivers/pci/access.c       | 22 +++++++++++++---------
>  drivers/pci/bus.c          |  3 ++-
>  drivers/pci/msi.c          | 12 +++++++-----
>  drivers/pci/pci-acpi.c     |  3 ++-
>  drivers/pci/pci-driver.c   | 19 +++++++++++++------
>  drivers/pci/pci-sysfs.c    | 14 ++++++++++++--
>  drivers/pci/pci.c          | 16 ++++++++++++----
>  drivers/pci/proc.c         | 15 +++++++++++++++
>  drivers/pci/quirks.c       | 35 ++++++++++++++++++++++++-----------
>  drivers/pci/remove.c       |  1 +
>  drivers/pci/rom.c          |  2 +-
>  drivers/pci/setup-bus.c    |  5 ++++-
>  drivers/pci/setup-irq.c    | 12 +++++++-----
>  drivers/pci/setup-res.c    |  2 +-
>  drivers/pci/slot.c         |  5 ++++-
>  drivers/pci/syscall.c      |  5 +++--
>  drivers/pci/xen-pcifront.c | 20 ++++++++++++--------
>  17 files changed, 133 insertions(+), 58 deletions(-)


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 22:06:49 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 22:06:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172592.314933 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ12W-0007nN-8O; Wed, 25 Aug 2021 22:06:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172592.314933; Wed, 25 Aug 2021 22:06:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ12W-0007nG-4I; Wed, 25 Aug 2021 22:06:32 +0000
Received: by outflank-mailman (input) for mailman id 172592;
 Wed, 25 Aug 2021 22:06: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 1mJ12U-0007n6-NG; Wed, 25 Aug 2021 22:06: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 1mJ12U-0007E4-G7; Wed, 25 Aug 2021 22:06: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 1mJ12U-0005bs-83; Wed, 25 Aug 2021 22:06:30 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mJ12U-0007Td-75; Wed, 25 Aug 2021 22:06:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=U5Dk/ay4pe9N4h/szeQXhX2I2a+cRp+Sj+Qy3ZHVViY=; b=CON2L5aRmNDQ0PpLc/kER7oI+b
	pCuHGIhxcMQiLOeU8n2twj3/oiX4RyQJA/nQ7k9Pv+vEdfn4nYjR1zRPZPb/NRRxFcRUcWa9Ws4ku
	GPHcnhYGzGlFoOGeDAMh+JzpSiDp9c9GnlA7b7//HWqEs9ps4qM7O2gBa3KWgzpDKT9c=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164426-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.14-testing test] 164426: regressions - FAIL
X-Osstest-Failures:
    xen-4.14-testing:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    xen-4.14-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-xsm: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:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl:saverestore-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-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-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=61f28060d5b899c502e2b3bf45a39b1dd2a1224c
X-Osstest-Versions-That:
    xen=49299c4813b7847d29df07bf790f5489060f2a9c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 25 Aug 2021 22:06:30 +0000

flight 164426 xen-4.14-testing real [real]
flight 164491 xen-4.14-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/164426/
http://logs.test-lab.xenproject.org/osstest/logs/164491/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 163750
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 163750

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 163750
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 163750
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 163750
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 163750
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 163750
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 163750
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 163750
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 163750
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 163750
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 163750
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 163750
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-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      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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  61f28060d5b899c502e2b3bf45a39b1dd2a1224c
baseline version:
 xen                  49299c4813b7847d29df07bf790f5489060f2a9c

Last test of basis   163750  2021-07-16 21:07:40 Z   40 days
Testing same since   164261  2021-08-19 17:07:29 Z    6 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 61f28060d5b899c502e2b3bf45a39b1dd2a1224c
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Jul 19 12:28:09 2021 +0200

    libxl/x86: check return value of SHADOW_OP_SET_ALLOCATION domctl
    
    The hypervisor may not have enough memory to satisfy the request. While
    there, make the unit of the value clear by renaming the local variable.
    
    Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    backport-requested-by: Jan Beulich <jbeulich@suse.com>
    (cherry picked from commit 0be5a00af590c97ea553aadb60f1e0b3af53d8f6)
    (cherry picked from commit 6bbdcefd205903b2181b3b4fdc9503709ecdb7c4)
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 23:03:07 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 23:03:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172597.314946 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ1v7-0005yw-GH; Wed, 25 Aug 2021 23:02:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172597.314946; Wed, 25 Aug 2021 23:02: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 1mJ1v7-0005yp-D3; Wed, 25 Aug 2021 23:02:57 +0000
Received: by outflank-mailman (input) for mailman id 172597;
 Wed, 25 Aug 2021 23: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 1mJ1v5-0005yf-M5; Wed, 25 Aug 2021 23: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 1mJ1v4-0008AU-Vl; Wed, 25 Aug 2021 23: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 1mJ1v4-0007aJ-I3; Wed, 25 Aug 2021 23:02:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mJ1v4-0008HY-Ez; Wed, 25 Aug 2021 23:02:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Message-Id:Subject:To;
	bh=ANZ5aVoexPdKFC7JS/CXkUeQJ2jVk1WBfNHICGRRRbU=; b=XaTP12oIH/DYST+Zvm9BY98DM0
	ZEAjClk5GQS/u+Ro9sPBP1II1eHGHIFOCHPYZ6Rz6zfVVBsCzwSakUY6oydFpwxfjCz3+7pn6Z47N
	+cw9plaUmtfCw3hkHIhkuR3s9buT4I3jRZOT42y8hQvX7GqVputqQFTU/uvddNMMUQmo=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Subject: [xen-4.13-testing bisection] complete test-amd64-i386-xl-qemuu-ovmf-amd64
Message-Id: <E1mJ1v4-0008HY-Ez@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 25 Aug 2021 23:02:54 +0000

branch xen-4.13-testing
xenbranch xen-4.13-testing
job test-amd64-i386-xl-qemuu-ovmf-amd64
testid debian-hvm-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 git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  ovmf git://xenbits.xen.org/osstest/ovmf.git
  Bug introduced:  d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Bug not present: 3357ac73807d83eb212632ee7c2e032a20a49c56
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164492/


  commit d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Author: Laszlo Ersek <lersek@redhat.com>
  Date:   Wed May 26 22:14:24 2021 +0200
  
      OvmfPkg/PlatformPei: remove Xen support
      
      The "OvmfPkg/PlatformPei/PlatformPei.inf" module is used by the following
      platform DSCs:
      
        OvmfPkg/AmdSev/AmdSevX64.dsc
        OvmfPkg/OvmfPkgIa32.dsc
        OvmfPkg/OvmfPkgIa32X64.dsc
        OvmfPkg/OvmfPkgX64.dsc
      
      Remove Xen support from "OvmfPkg/PlatformPei", including any dependencies
      that now become unused. The basic idea is to substitute FALSE for "mXen".
      
      Remove "OvmfPkg/PlatformPei" from the "OvmfPkg: Xen-related modules"
      section of "Maintainers.txt".
      
      This patch is best reviewed with "git show -b -W".
      
      Cc: Andrew Fish <afish@apple.com>
      Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
      Cc: Jordan Justen <jordan.l.justen@intel.com>
      Cc: Leif Lindholm <leif@nuviainc.com>
      Cc: Michael D Kinney <michael.d.kinney@intel.com>
      Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
      Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2122
      Signed-off-by: Laszlo Ersek <lersek@redhat.com>
      Message-Id: <20210526201446.12554-22-lersek@redhat.com>
      Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
      Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
      Reviewed-by: Leif Lindholm <leif@nuviainc.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-4.13-testing/test-amd64-i386-xl-qemuu-ovmf-amd64.debian-hvm-install.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/xen-4.13-testing/test-amd64-i386-xl-qemuu-ovmf-amd64.debian-hvm-install --summary-out=tmp/164492.bisection-summary --basis-template=163761 --blessings=real,real-bisect,real-retry xen-4.13-testing test-amd64-i386-xl-qemuu-ovmf-amd64 debian-hvm-install
Searching for failure / basis pass:
 164371 fail [host=elbling1] / 163761 [host=fiano1] 163730 [host=elbling0] 163711 [host=huxelrebe0] 162550 [host=albana0] 162367 [host=fiano1] 161770 [host=fiano1] 161323 [host=fiano0] 160326 [host=elbling0] 160154 [host=chardonnay1] 160142 [host=chardonnay0] 160129 [host=fiano1] 159839 [host=chardonnay1] 159448 [host=chardonnay0] 159419 [host=fiano0] 158557 [host=chardonnay0] 157733 [host=huxelrebe0] 157716 [host=albana0] 157664 [host=albana1] 157629 [host=chardonnay0] 157597 ok.
Failure / basis pass flights: 164371 / 157597
(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 git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git
Latest c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 3cdc7b6b35106180c9021c1742cafacfa764fdad
Basis pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f95e80d832e923046c92cd6f0b8208cec147138e d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 748d619be3282fba35f99446098ac2d0579f6063 10c7c213bef26274684798deb3e351a6756046d2
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#f95e80d832e923046c92cd6f0b8208cec147138e-ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c git://xenbits.xen.org/qemu-xen-traditional.git#d0d8ad39ecb51cd7497cd524484\
 fe09f50876798-d0d8ad39ecb51cd7497cd524484fe09f50876798 git://xenbits.xen.org/qemu-xen.git#7269466a5b0c0e89b36dc9a7db0554ae404aa230-7269466a5b0c0e89b36dc9a7db0554ae404aa230 git://xenbits.xen.org/osstest/seabios.git#748d619be3282fba35f99446098ac2d0579f6063-54082c81d96028ba8c76fbe6784085cf1df76b20 git://xenbits.xen.org/xen.git#10c7c213bef26274684798deb3e351a6756046d2-3cdc7b6b35106180c9021c1742cafacfa764fdad
Loaded 12607 nodes in revision graph
Searching for test results:
 163711 [host=huxelrebe0]
 163730 [host=elbling0]
 163761 [host=fiano1]
 157563 [host=elbling0]
 157597 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f95e80d832e923046c92cd6f0b8208cec147138e d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 748d619be3282fba35f99446098ac2d0579f6063 10c7c213bef26274684798deb3e351a6756046d2
 157629 [host=chardonnay0]
 157664 [host=albana1]
 157716 [host=albana0]
 157733 [host=huxelrebe0]
 158557 [host=chardonnay0]
 164260 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 3cdc7b6b35106180c9021c1742cafacfa764fdad
 164301 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 3cdc7b6b35106180c9021c1742cafacfa764fdad
 164394 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f95e80d832e923046c92cd6f0b8208cec147138e d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 748d619be3282fba35f99446098ac2d0579f6063 10c7c213bef26274684798deb3e351a6756046d2
 164371 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 3cdc7b6b35106180c9021c1742cafacfa764fdad
 164427 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 3cdc7b6b35106180c9021c1742cafacfa764fdad
 164434 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 96afc546881c173caeac329702d1dee541d35617 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 b0d61ecef66eb05bd7a4eb7ada88ec5dab06dfee 57a60c1f2779ce6d6ab5c2f677c4d0c66b09b08b
 164438 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 33d4f3e39ee6ea0743bd6a3a8a3261c9a4d16a29 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 7292e4a0a8f58333ccbd2d0d47242f9865083c9c ef8b2357d83442b5d2e7607379a935d4f8b35416
 164447 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 5b90b8abb4049e2d98040f548ad23b6ab22d5d19 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 b0d61ecef66eb05bd7a4eb7ada88ec5dab06dfee 33049e3ad9c3a0f7432969f4b5d7b1a287b5b8f9
 164450 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c394fa4c9eef5621e419e51e28ba0de5ba7ec2a3 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 6eff8085980dba0938cea0193b8a0fd3c6b0c4ca 284132938900ce8c3b11babf7255f5c6dbb21716
 164459 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 aa7f19f480551b1f19f8798e5b18dbe1d8d32d0c d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 7292e4a0a8f58333ccbd2d0d47242f9865083c9c ef8b2357d83442b5d2e7607379a935d4f8b35416
 159419 [host=fiano0]
 164465 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 4174c5c7874ec21c2e693565d3685cf9f5c2e2e8 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 7292e4a0a8f58333ccbd2d0d47242f9865083c9c ef8b2357d83442b5d2e7607379a935d4f8b35416
 164467 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b005f9f1f51c2b0ce680b42b7a743b430d8f2625 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 7292e4a0a8f58333ccbd2d0d47242f9865083c9c ef8b2357d83442b5d2e7607379a935d4f8b35416
 159448 [host=chardonnay0]
 164471 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 7292e4a0a8f58333ccbd2d0d47242f9865083c9c ef8b2357d83442b5d2e7607379a935d4f8b35416
 164475 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 e7641171b6c1f858f3d979c0e8f04d6c12870baa d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 7292e4a0a8f58333ccbd2d0d47242f9865083c9c ef8b2357d83442b5d2e7607379a935d4f8b35416
 164479 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 7292e4a0a8f58333ccbd2d0d47242f9865083c9c ef8b2357d83442b5d2e7607379a935d4f8b35416
 164483 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 7292e4a0a8f58333ccbd2d0d47242f9865083c9c ef8b2357d83442b5d2e7607379a935d4f8b35416
 164485 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 7292e4a0a8f58333ccbd2d0d47242f9865083c9c ef8b2357d83442b5d2e7607379a935d4f8b35416
 164488 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 7292e4a0a8f58333ccbd2d0d47242f9865083c9c ef8b2357d83442b5d2e7607379a935d4f8b35416
 164490 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 7292e4a0a8f58333ccbd2d0d47242f9865083c9c ef8b2357d83442b5d2e7607379a935d4f8b35416
 164492 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 7292e4a0a8f58333ccbd2d0d47242f9865083c9c ef8b2357d83442b5d2e7607379a935d4f8b35416
 159839 [host=chardonnay1]
 160129 [host=fiano1]
 160142 [host=chardonnay0]
 160154 [host=chardonnay1]
 160326 [host=elbling0]
 161323 [host=fiano0]
 161770 [host=fiano1]
 162367 [host=fiano1]
 162550 [host=albana0]
Searching for interesting versions
 Result found: flight 157597 (pass), for basis pass
 For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 7292e4a0a8f58333ccbd2d0d47242f9865083c9c ef8b2357d83442b5d2e7607379a935d4f8b35416, results HASH(0x5651692e0b58) HASH(0x5651692c0250) HASH(0x5651692c0550) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1\
 e6a472b0eb9558310b518f0dfcd8860 e7641171b6c1f858f3d979c0e8f04d6c12870baa d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 7292e4a0a8f58333ccbd2d0d47242f9865083c9c ef8b2357d83442b5d2e7607379a935d4f8b35416, results HASH(0x5651692c8b98) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 4174c5c7874ec21c2e693565d3685cf9f5c2e2e8 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7\
 db0554ae404aa230 7292e4a0a8f58333ccbd2d0d47242f9865083c9c ef8b2357d83442b5d2e7607379a935d4f8b35416, results HASH(0x5651693fd6b0) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 aa7f19f480551b1f19f8798e5b18dbe1d8d32d0c d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 7292e4a0a8f58333ccbd2d0d47242f9865083c9c ef8b2357d83442b5d2e7607379a935d4f8b35416, results HASH(0x565169305ca8) For basis\
  failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c394fa4c9eef5621e419e51e28ba0de5ba7ec2a3 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 6eff8085980dba0938cea0193b8a0fd3c6b0c4ca 284132938900ce8c3b11babf7255f5c6dbb21716, results HASH(0x5651692fdc60) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 5b90b8abb4049e2d9804\
 0f548ad23b6ab22d5d19 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 b0d61ecef66eb05bd7a4eb7ada88ec5dab06dfee 33049e3ad9c3a0f7432969f4b5d7b1a287b5b8f9, results HASH(0x5651692f6a20) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 96afc546881c173caeac329702d1dee541d35617 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 b0d61ecef66eb05bd7a4eb7ada88ec5dab0\
 6dfee 57a60c1f2779ce6d6ab5c2f677c4d0c66b09b08b, results HASH(0x5651692d3810) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f95e80d832e923046c92cd6f0b8208cec147138e d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 748d619be3282fba35f99446098ac2d0579f6063 10c7c213bef26274684798deb3e351a6756046d2, results HASH(0x5651692b7f08) HASH(0x56516929a4d8) Result found: flight 164260 (fail), for \
 basis failure (at ancestor ~2490)
 Repro found: flight 164394 (pass), for basis pass
 Repro found: flight 164427 (fail), for basis failure
 0 revisions at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 7292e4a0a8f58333ccbd2d0d47242f9865083c9c ef8b2357d83442b5d2e7607379a935d4f8b35416
No revisions left to test, checking graph state.
 Result found: flight 164479 (pass), for last pass
 Result found: flight 164483 (fail), for first failure
 Repro found: flight 164485 (pass), for last pass
 Repro found: flight 164488 (fail), for first failure
 Repro found: flight 164490 (pass), for last pass
 Repro found: flight 164492 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  ovmf git://xenbits.xen.org/osstest/ovmf.git
  Bug introduced:  d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Bug not present: 3357ac73807d83eb212632ee7c2e032a20a49c56
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164492/


  commit d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Author: Laszlo Ersek <lersek@redhat.com>
  Date:   Wed May 26 22:14:24 2021 +0200
  
      OvmfPkg/PlatformPei: remove Xen support
      
      The "OvmfPkg/PlatformPei/PlatformPei.inf" module is used by the following
      platform DSCs:
      
        OvmfPkg/AmdSev/AmdSevX64.dsc
        OvmfPkg/OvmfPkgIa32.dsc
        OvmfPkg/OvmfPkgIa32X64.dsc
        OvmfPkg/OvmfPkgX64.dsc
      
      Remove Xen support from "OvmfPkg/PlatformPei", including any dependencies
      that now become unused. The basic idea is to substitute FALSE for "mXen".
      
      Remove "OvmfPkg/PlatformPei" from the "OvmfPkg: Xen-related modules"
      section of "Maintainers.txt".
      
      This patch is best reviewed with "git show -b -W".
      
      Cc: Andrew Fish <afish@apple.com>
      Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
      Cc: Jordan Justen <jordan.l.justen@intel.com>
      Cc: Leif Lindholm <leif@nuviainc.com>
      Cc: Michael D Kinney <michael.d.kinney@intel.com>
      Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
      Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2122
      Signed-off-by: Laszlo Ersek <lersek@redhat.com>
      Message-Id: <20210526201446.12554-22-lersek@redhat.com>
      Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
      Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
      Reviewed-by: Leif Lindholm <leif@nuviainc.com>

neato: graph is too large for cairo-renderer bitmaps. Scaling by 0.571381 to fit
pnmtopng: 65 colors found
Revision graph left in /home/logs/results/bisect/xen-4.13-testing/test-amd64-i386-xl-qemuu-ovmf-amd64.debian-hvm-install.{dot,ps,png,html,svg}.
----------------------------------------
164492: tolerable ALL FAIL

flight 164492 xen-4.13-testing real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/164492/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail baseline untested


jobs:
 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



From xen-devel-bounces@lists.xenproject.org Wed Aug 25 23:20:27 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 23:20:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172606.314961 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ2Bs-0008RR-6P; Wed, 25 Aug 2021 23:20:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172606.314961; Wed, 25 Aug 2021 23: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 1mJ2Bs-0008RK-3X; Wed, 25 Aug 2021 23:20:16 +0000
Received: by outflank-mailman (input) for mailman id 172606;
 Wed, 25 Aug 2021 23:20: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 1mJ2Br-0008RA-K3; Wed, 25 Aug 2021 23:20: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 1mJ2Br-0008Vh-1c; Wed, 25 Aug 2021 23:20: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 1mJ2Bq-0008Ow-Ov; Wed, 25 Aug 2021 23:20:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mJ2Bq-0001uU-OQ; Wed, 25 Aug 2021 23:20: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=yiJYP0uIBxijN8Ru3w362JtL8TNllzi0cyUatTG6Aw4=; b=o3TewCaykO5B8zvYBhyn2TzPtc
	0LuVewgwru7ncfif8N7tImy/nB/DJiePLgJiu7Ua5vOBtSAl45j8zd2kA5C2aRGmPGT33lNl9dJH7
	lNkgKRyObGBlEJcCUmINKGu7eg5xHzKQ0J6wwgo4f2bkWkAZQtJgLLGdlWZnKqZUP3VA=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164455-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.15-testing test] 164455: regressions - FAIL
X-Osstest-Failures:
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    xen-4.15-testing:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    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-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check: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-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-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-thunderx:migrate-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-credit1:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm: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-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-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=6bbdcefd205903b2181b3b4fdc9503709ecdb7c4
X-Osstest-Versions-That:
    xen=dba774896f7dd74773c14d537643b7d7477fefcd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 25 Aug 2021 23:20:14 +0000

flight 164455 xen-4.15-testing real [real]
flight 164494 xen-4.15-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/164455/
http://logs.test-lab.xenproject.org/osstest/logs/164494/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 163759
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 163759

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 163759
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 163759
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 163759
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 163759
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 163759
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 163759
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 163759
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 163759
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 163759
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 163759
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 163759
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-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-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-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-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  6bbdcefd205903b2181b3b4fdc9503709ecdb7c4
baseline version:
 xen                  dba774896f7dd74773c14d537643b7d7477fefcd

Last test of basis   163759  2021-07-17 04:12:25 Z   39 days
Testing same since   164262  2021-08-19 17:07:29 Z    6 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Ian Jackson <iwj@xenproject.org>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 335 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Aug 25 23:27:42 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Aug 2021 23:27:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172612.314975 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ2J0-0000ta-0b; Wed, 25 Aug 2021 23:27:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172612.314975; Wed, 25 Aug 2021 23: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 1mJ2Iz-0000tT-Sk; Wed, 25 Aug 2021 23:27:37 +0000
Received: by outflank-mailman (input) for mailman id 172612;
 Wed, 25 Aug 2021 23:27: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 1mJ2Iz-0000tJ-5G; Wed, 25 Aug 2021 23:27: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 1mJ2Iz-0000B9-0B; Wed, 25 Aug 2021 23:27: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 1mJ2Iy-0000AL-PP; Wed, 25 Aug 2021 23:27:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mJ2Iy-0001aC-Ox; Wed, 25 Aug 2021 23: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=qHrqLv2nrn74fqwOHWeYmP0fPNUahZj1YMi0gyQCl2A=; b=P6jGiha22a0TxiegkFPJlzZAVQ
	Y10tNsLSEeZ6dKNSHBY3KWKfI+/KqSSsAmEgUIqL2WFgQLsTvWhLkUdXaMWUtLdhl+DNOv7sbQoGi
	qlAHgL7e2xa7jLaBJBHYAwE1cI0CqbsaEkuIW1FYI6Swj1flc/xXT82TjK8ELYx7G2P8=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164470-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 164470: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=fb234839a7ef2fb606fe63ce62f71e69168623d3
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 25 Aug 2021 23:27:36 +0000

flight 164470 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164470/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              fb234839a7ef2fb606fe63ce62f71e69168623d3
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  411 days
Failing since        151818  2020-07-11 04:18:52 Z  410 days  401 attempts
Testing same since   164470  2021-08-25 04:19:57 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  Cédric Bosdonnat <cbosdonnat@suse.com>
  Côme Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano Fidêncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Ian Wienand <iwienand@redhat.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  John Ferlan <jferlan@redhat.com>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  Ján Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Michał Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  Moshe Levi <moshele@nvidia.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr Drąg <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tomáš Golembiovský <tgolembi@redhat.com>
  Tomáš Janoušek <tomi@nomi.cz>
  Tuguoyi <tu.guoyi@h3c.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  William Douglas <william.douglas@intel.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 70743 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 26 00:06:45 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 00:06:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172621.314989 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ2uj-00068P-Li; Thu, 26 Aug 2021 00:06:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172621.314989; Thu, 26 Aug 2021 00: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 1mJ2uj-00068I-Il; Thu, 26 Aug 2021 00:06:37 +0000
Received: by outflank-mailman (input) for mailman id 172621;
 Thu, 26 Aug 2021 00:06: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 1mJ2uh-000688-I7; Thu, 26 Aug 2021 00:06: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 1mJ2uh-0001S8-5S; Thu, 26 Aug 2021 00: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 1mJ2ug-0002Bh-RN; Thu, 26 Aug 2021 00:06:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mJ2ug-0000Y4-Qs; Thu, 26 Aug 2021 00: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=c8LuQu3HseAR476zNCyioplZU5T5EZ/1YzJLaEUqB/A=; b=hoSYyxNkOfcNvqxEFlXbVyS9nU
	icMob/F8CtKsFWPkhf56hj58A9TnAAPe3QwmrkaV4mGJz0ij6yy3WeXaT3Lrr1ittyVarpRMup5xX
	wBmmDIG/tDYkFRs8j5SgS3DsNsLhwihQ0M5gZI4GHTwpXZYFRkgpiCWB6skewNWi24WI=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164454-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.13-testing test] 164454: regressions - FAIL
X-Osstest-Failures:
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    xen-4.13-testing:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    xen-4.13-testing:test-amd64-i386-qemuu-rhel6hvm-intel:guest-start/redhat.repeat:fail:heisenbug
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=3cdc7b6b35106180c9021c1742cafacfa764fdad
X-Osstest-Versions-That:
    xen=32d580902b959000d79d51dff03a3560653c4fcb
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 26 Aug 2021 00:06:34 +0000

flight 164454 xen-4.13-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164454/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 163761
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 163761

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel 14 guest-start/redhat.repeat fail pass in 164371

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 163761
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 163761
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 163761
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 163761
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 163761
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 163761
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 163761
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 163761
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 163761
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 163761
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 163761
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          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-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  3cdc7b6b35106180c9021c1742cafacfa764fdad
baseline version:
 xen                  32d580902b959000d79d51dff03a3560653c4fcb

Last test of basis   163761  2021-07-17 07:57:22 Z   39 days
Testing same since   164260  2021-08-19 17:07:29 Z    6 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 3cdc7b6b35106180c9021c1742cafacfa764fdad
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Jul 19 12:28:09 2021 +0200

    libxl/x86: check return value of SHADOW_OP_SET_ALLOCATION domctl
    
    The hypervisor may not have enough memory to satisfy the request. While
    there, make the unit of the value clear by renaming the local variable.
    
    Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    backport-requested-by: Jan Beulich <jbeulich@suse.com>
    (cherry picked from commit 0be5a00af590c97ea553aadb60f1e0b3af53d8f6)
    (cherry picked from commit 6bbdcefd205903b2181b3b4fdc9503709ecdb7c4)
    (cherry picked from commit 61f28060d5b899c502e2b3bf45a39b1dd2a1224c)
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Thu Aug 26 00:09:16 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 00:09:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172627.315003 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ2xE-0006mL-58; Thu, 26 Aug 2021 00:09:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172627.315003; Thu, 26 Aug 2021 00:09: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 1mJ2xE-0006mE-1E; Thu, 26 Aug 2021 00:09:12 +0000
Received: by outflank-mailman (input) for mailman id 172627;
 Thu, 26 Aug 2021 00:09:10 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0Zrd=NR=kernel.org=sstabellini@srs-us1.protection.inumbo.net>)
 id 1mJ2xC-0006m6-SR
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 00:09:10 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 3d096df3-4142-4856-8913-ed14b2d38549;
 Thu, 26 Aug 2021 00:09:09 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id 76968610A6;
 Thu, 26 Aug 2021 00:09: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: 3d096df3-4142-4856-8913-ed14b2d38549
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1629936548;
	bh=O1C7Jp8N0FMkpzL8q8PAqewkZonGTiCO9ZIluIs4GfQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=nO/zc09cOCpjfmU0LrGdpKj3iddGHuu6J1j3uzExtlB6G7yPldLxXyZufMdZEb6R4
	 NvunICmFGixhN8qr0kYH3kuMuwv+ICgcy/AKffWs2SF8BiiTa8az56B1gb/nih0Ojf
	 a7wUaBqq7V0yy4KC7Om6vOn/LaZDZyhtABY5AXGTMTH3cxErUKkLf0YQi6nu0VcUrs
	 ObFiSf9EDhF1CoRMCxeKIpyQVmviw50NBF+8QMWVg/8UEVGjRJppnhMkbMGBBmAg+L
	 o26NJQ6PcdLz0zWeHFagmHq9v4XS5sRH6CrHEOzksxTUUS2xznxvxHKu1e8HX3abwm
	 A2bR548JD895A==
Date: Wed, 25 Aug 2021 17:09:07 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@sstabellini-ThinkPad-T480s
To: Wei Chen <wei.chen@arm.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, julien@xen.org, 
    jbeulich@suse.com, Bertrand.Marquis@arm.com, andrew.cooper3@citrix.com
Subject: Re: [XEN RFC PATCH 00/40] Add device tree based NUMA support to
 Arm64
In-Reply-To: <20210811102423.28908-1-wei.chen@arm.com>
Message-ID: <alpine.DEB.2.21.2108251644150.24433@sstabellini-ThinkPad-T480s>
References: <20210811102423.28908-1-wei.chen@arm.com>
User-Agent: Alpine 2.21 (DEB 202 2017-01-01)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Thanks for the big contribution!

I just wanted to let you know that the series passed all the gitlab-ci
build tests without issues.

The runtime tests originally failed due to unrelated problems (there was
a Debian testing upgrade that broke Gitlab-CI.) I fix the underlying
issue and restarted the failed tests and now they passed.

This is the pipeline:
https://gitlab.com/xen-project/patchew/xen/-/pipelines/351484940

There are still two runtime x86 tests that fail but I don't think the
failures are related to your series.


On Wed, 11 Aug 2021, Wei Chen wrote:
> Xen memory allocation and scheduler modules are NUMA aware.
> But actually, on x86 has implemented the architecture APIs
> to support NUMA. Arm was providing a set of fake architecture
> APIs to make it compatible with NUMA awared memory allocation
> and scheduler.
> 
> Arm system was working well as a single node NUMA system with
> these fake APIs, because we didn't have multiple nodes NUMA
> system on Arm. But in recent years, more and more Arm devices
> support multiple nodes NUMA system. Like TX2, some Hisilicon
> chips and the Ampere Altra.
> 
> So now we have a new problem. When Xen is running on these Arm
> devices, Xen still treat them as single node SMP systems. The
> NUMA affinity capability of Xen memory allocation and scheduler
> becomes meaningless. Because they rely on input data that does
> not reflect real NUMA layout.
> 
> Xen still think the access time for all of the memory is the
> same for all CPUs. However, Xen may allocate memory to a VM
> from different NUMA nodes with different access speeds. This
> difference can be amplified in workloads inside VM, causing
> performance instability and timeouts. 
> 
> So in this patch series, we implement a set of NUMA API to use
> device tree to describe the NUMA layout. We reuse most of the
> code of x86 NUMA to create and maintain the mapping between
> memory and CPU, create the matrix between any two NUMA nodes.
> Except ACPI and some x86 specified code, we have moved other
> code to common. In next stage, when we implement ACPI based
> NUMA for Arm64, we may move the ACPI NUMA code to common too,
> but in current stage, we keep it as x86 only.
> 
> This patch serires has been tested and booted well on one
> Arm64 NUMA machine and one HPE x86 NUMA machine.
> 
> Hongda Deng (2):
>   xen/arm: return default DMA bit width when platform is not set
>   xen/arm: Fix lowmem_bitsize when arch_get_dma_bitsize return 0
> 
> Wei Chen (38):
>   tools: Fix -Werror=maybe-uninitialized for xlu_pci_parse_bdf
>   xen/arm: Print a 64-bit number in hex from early uart
>   xen/x86: Initialize memnodemapsize while faking NUMA node
>   xen: decouple NUMA from ACPI in Kconfig
>   xen/arm: use !CONFIG_NUMA to keep fake NUMA API
>   xen/x86: Move NUMA memory node map functions to common
>   xen/x86: Move numa_add_cpu_node to common
>   xen/x86: Move NR_NODE_MEMBLKS macro to common
>   xen/x86: Move NUMA nodes and memory block ranges to common
>   xen/x86: Move numa_initmem_init to common
>   xen/arm: introduce numa_set_node for Arm
>   xen/arm: set NUMA nodes max number to 64 by default
>   xen/x86: move NUMA API from x86 header to common header
>   xen/arm: Create a fake NUMA node to use common code
>   xen/arm: Introduce DEVICE_TREE_NUMA Kconfig for arm64
>   xen/arm: Keep memory nodes in dtb for NUMA when boot from EFI
>   xen: fdt: Introduce a helper to check fdt node type
>   xen/arm: implement node distance helpers for Arm64
>   xen/arm: introduce device_tree_numa as a switch for device tree NUMA
>   xen/arm: introduce a helper to parse device tree processor node
>   xen/arm: introduce a helper to parse device tree memory node
>   xen/arm: introduce a helper to parse device tree NUMA distance map
>   xen/arm: unified entry to parse all NUMA data from device tree
>   xen/arm: Add boot and secondary CPU to NUMA system
>   xen/arm: build CPU NUMA node map while creating cpu_logical_map
>   xen/x86: decouple nodes_cover_memory with E820 map
>   xen/arm: implement Arm arch helpers Arm to get memory map info
>   xen: move NUMA memory and CPU parsed nodemasks to common
>   xen/x86: move nodes_cover_memory to common
>   xen/x86: make acpi_scan_nodes to be neutral
>   xen: export bad_srat and srat_disabled to extern
>   xen: move numa_scan_nodes from x86 to common
>   xen: enable numa_scan_nodes for device tree based NUMA
>   xen/arm: keep guest still be NUMA unware
>   xen: introduce an arch helper to do NUMA init failed fallback
>   xen/arm: enable device tree based NUMA in system init
>   xen/x86: move numa_setup to common to support NUMA switch in command
>     line
>   xen/x86: move dump_numa info hotkey to common
> 
>  tools/libs/util/libxlu_pci.c    |   3 +-
>  xen/arch/arm/Kconfig            |  10 +
>  xen/arch/arm/Makefile           |   2 +
>  xen/arch/arm/arm64/head.S       |   9 +-
>  xen/arch/arm/bootfdt.c          |   8 +-
>  xen/arch/arm/domain_build.c     |  17 +-
>  xen/arch/arm/efi/efi-boot.h     |  25 --
>  xen/arch/arm/numa.c             | 162 +++++++++
>  xen/arch/arm/numa_device_tree.c | 292 ++++++++++++++++
>  xen/arch/arm/platform.c         |   4 +-
>  xen/arch/arm/setup.c            |  14 +
>  xen/arch/arm/smpboot.c          |  37 +-
>  xen/arch/x86/Kconfig            |   2 +-
>  xen/arch/x86/numa.c             | 421 +----------------------
>  xen/arch/x86/srat.c             | 147 +-------
>  xen/common/Kconfig              |   3 +
>  xen/common/Makefile             |   1 +
>  xen/common/libfdt/fdt_ro.c      |  15 +
>  xen/common/numa.c               | 588 ++++++++++++++++++++++++++++++++
>  xen/common/page_alloc.c         |   2 +-
>  xen/drivers/acpi/Kconfig        |   3 +-
>  xen/drivers/acpi/Makefile       |   2 +-
>  xen/include/asm-arm/numa.h      |  33 ++
>  xen/include/asm-arm/setup.h     |   6 +
>  xen/include/asm-x86/acpi.h      |   4 -
>  xen/include/asm-x86/config.h    |   1 -
>  xen/include/asm-x86/numa.h      |  65 +---
>  xen/include/asm-x86/setup.h     |   1 -
>  xen/include/xen/libfdt/libfdt.h |  25 ++
>  xen/include/xen/nodemask.h      |   2 +
>  xen/include/xen/numa.h          |  80 +++++
>  31 files changed, 1325 insertions(+), 659 deletions(-)
>  create mode 100644 xen/arch/arm/numa.c
>  create mode 100644 xen/arch/arm/numa_device_tree.c
>  create mode 100644 xen/common/numa.c
> 
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Aug 26 00:25:10 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 00:25:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172634.315014 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ3CT-0000uc-Hw; Thu, 26 Aug 2021 00:24:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172634.315014; Thu, 26 Aug 2021 00:24:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ3CT-0000uV-DB; Thu, 26 Aug 2021 00:24:57 +0000
Received: by outflank-mailman (input) for mailman id 172634;
 Thu, 26 Aug 2021 00:24:56 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mJ3CS-0000uL-Bi; Thu, 26 Aug 2021 00:24:56 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mJ3CS-0001jO-5V; Thu, 26 Aug 2021 00:24:56 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mJ3CR-00035Y-Rl; Thu, 26 Aug 2021 00:24:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mJ3CR-0003CL-RJ; Thu, 26 Aug 2021 00:24: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=Mbt72KlWP/aXh7Auol/DtMk/DxyisD8Fpk8o5TlC0ZA=; b=ddzr3xYqM3J349YlOI9Cxa9BeF
	l+c9nge1Pc6Fxe2ToXesIjLi6HnXevy/gI1bD8porNkEHrgZnjWLB58v1cBxx170EkGc5tz0ukeHQ
	UfPMDfj7CtOtglH9/Oy+kD601lXzduOx/L3o5TfTn/K3rAd/VdXWCeJadXAdEia9Bcrs=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164461-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 164461: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5
X-Osstest-Versions-That:
    ovmf=8dd4fc5be6189666b37e5b00131a4173c6a2b085
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 26 Aug 2021 00:24:55 +0000

flight 164461 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164461/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5
baseline version:
 ovmf                 8dd4fc5be6189666b37e5b00131a4173c6a2b085

Last test of basis   164406  2021-08-23 08:10:21 Z    2 days
Testing same since   164461  2021-08-24 22:15:18 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chris Stewart <chris.stewart@hp.com>
  Stewart, Chris (SW Architect) via groups.io <chris.stewart=hp.com@groups.io>

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
   8dd4fc5be6..7b4a99be8a  7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Aug 26 01:18:21 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 01:18:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172642.315028 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ424-0004wB-Ma; Thu, 26 Aug 2021 01:18:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172642.315028; Thu, 26 Aug 2021 01: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 1mJ424-0004w4-JU; Thu, 26 Aug 2021 01:18:16 +0000
Received: by outflank-mailman (input) for mailman id 172642;
 Thu, 26 Aug 2021 01:18:14 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dVjY=NR=m5p.com=ehem@srs-us1.protection.inumbo.net>)
 id 1mJ422-0004vy-ML
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 01:18:14 +0000
Received: from mailhost.m5p.com (unknown [74.104.188.4])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 742b7c47-5597-42bc-bee5-cf699b1f9e89;
 Thu, 26 Aug 2021 01:18:13 +0000 (UTC)
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 17Q1I3Dq002627
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Wed, 25 Aug 2021 21:18:09 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 17Q1I3Bp002626;
 Wed, 25 Aug 2021 18:18:03 -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: 742b7c47-5597-42bc-bee5-cf699b1f9e89
Date: Wed, 25 Aug 2021 18:18:03 -0700
From: Elliott Mitchell <ehem+xen@m5p.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org
Subject: Re: Xen C-state Issues
Message-ID: <YSbryyxk5G7xqHlQ@mattapan.m5p.com>
References: <YSEo9Box2AFnmdLZ@mattapan.m5p.com>
 <dea9cf97-9332-b1c9-2cff-d87564832529@suse.com>
 <YSSFffDK5/5MUAdj@mattapan.m5p.com>
 <09fc5490-5b14-474c-dbe0-864952f19a33@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <09fc5490-5b14-474c-dbe0-864952f19a33@suse.com>
X-Spam-Status: No, score=0.4 required=10.0 tests=KHOP_HELO_FCRDNS autolearn=no
	autolearn_force=no version=3.4.5
X-Spam-Checker-Version: SpamAssassin 3.4.5 (2021-03-20) on mattapan.m5p.com

On Tue, Aug 24, 2021 at 08:14:41AM +0200, Jan Beulich wrote:
> On 24.08.2021 07:37, Elliott Mitchell wrote:
> > On Mon, Aug 23, 2021 at 09:12:52AM +0200, Jan Beulich wrote:
> >> On 21.08.2021 18:25, Elliott Mitchell wrote:
> >>> ACPI C-state support might not see too much use, but it does see some.
> >>>
> >>> With Xen 4.11 and Linux kernel 4.19, I found higher C-states only got
> >>> enabled for physical cores for which Domain 0 had a corresponding vCPU.
> >>> On a machine where Domain 0 has 5 vCPUs, but 8 reported cores, the
> >>> additional C-states would only be enabled on cores 0-4.
> >>>
> >>> This can be worked around by giving Domain 0 vCPUs equal to cores, but
> >>> then offlining the extra vCPUs.  I'm guessing this is a bug with the
> >>> Linux 4.19 xen_acpi_processor module.
> >>>
> >>>
> >>>
> >>> Appears Xen 4.14 doesn't work at all with Linux kernel 4.19's ACPI
> >>> C-state support.  This combination is unable to enable higher C-states
> >>> on any core.  Since Xen 4.14 and Linux 4.19 are *both* *presently*
> >>> supported it seems patch(es) are needed somewhere for this combination.
> >>
> >> Hmm, having had observed the same quite some time ago, I thought I had
> >> dealt with these problems. Albeit surely not in Xen 4.11 or Linux 4.19.
> >> Any chance you could check up-to-date versions of both Xen and Linux
> >> (together)?
> > 
> > I can believe you got this fixed, but the Linux fixes never got
> > backported.
> > 
> > Of the two, higher C-states working with Linux 4.19 and Xen 4.11, but
> > not Linux 4.19 and Xen 4.14 is more concerning to me.
> 
> I'm afraid without you providing detail (full verbosity logs) and
> ideally checking with 4.15 or yet better -unstable it's going to be
> hard to judge whether that's a bug, and if so where it might sit.

That would be a very different sort of bug report if that was found to
be an issue.  This report is likely a problem of fixes not being
backported to stable branches.

What you're writing about would be looking for bugs in development
branches.


-- 
(\___(\___(\______          --=> 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 Aug 26 01:28:49 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 01:28:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172646.315039 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ4C4-0006YA-Lu; Thu, 26 Aug 2021 01:28:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172646.315039; Thu, 26 Aug 2021 01: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 1mJ4C4-0006Y3-IA; Thu, 26 Aug 2021 01:28:36 +0000
Received: by outflank-mailman (input) for mailman id 172646;
 Thu, 26 Aug 2021 01:28:36 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yDkH=NR=invisiblethingslab.com=marmarek@srs-us1.protection.inumbo.net>)
 id 1mJ4C3-0006Xx-Rm
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 01:28:36 +0000
Received: from wout4-smtp.messagingengine.com (unknown [64.147.123.20])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 69fb0647-d033-4800-9414-b08567b5bf01;
 Thu, 26 Aug 2021 01:28:35 +0000 (UTC)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id 6BF9A320099D;
 Wed, 25 Aug 2021 21:28:33 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute6.internal (MEProxy); Wed, 25 Aug 2021 21:28:33 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 25 Aug 2021 21:28: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: 69fb0647-d033-4800-9414-b08567b5bf01
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=l0Gosy
	gefn48r4uTH2ZI2zwepXeC3xLJDbpSKDLCccs=; b=uTKRSDE1kl4E+amDRSWl+m
	bzQXW29LSEZdugBn3LBxpHbhhxLbAFiTEv7CCQ1V+dUHqDvJJINnjiNYJSe0YBkJ
	4NNDTbdPnyrTXnLn+aszAvlZdMScuPqIH28Hk3ENxABA5KzqusSaSg11woeqlcA6
	QuHn321KgITvmRcvvwZfvGwgZw/SNdh35AKIvW/+blXQzzLZ7p2cCmtZ8mLwD/ff
	yS8xTl4LifH0vmZSWcmnpyJgOJvVbeJkaAvoeS1XO2DU+SX2U2MAryXLi+/mBLw7
	V8krRSUwd5b4haFzZFrf39IEM3pUs0JMa/OxJbF8GISiNLXzUOaR6c9j48aOCW0A
	==
X-ME-Sender: <xms:QO4mYQbvWyMmZHpIWYog-D9GhK0ogDos0m0kdM5UMxgV6k7eNNwM3g>
    <xme:QO4mYbZFYnyen2v2uAGpvC4_uLLMxT5vx89IsKFxtLaTWWxUum7ryFKqVGnnMkV5j
    20TyNiQpdYdbw>
X-ME-Received: <xmr:QO4mYa-KoU-OXuS_l7hodp4186juQn3Q7S8SURa6TKjcU4WOftuRIrHHv5IKBN35z_YHGNkLeqSq8sPzadn6SbbuCwLRXw5L>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddruddutddggeeiucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvffukfhfgggtuggjsehgtdorredttdejnecuhfhrohhmpeforghrvghk
    ucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesihhnvh
    hishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeeiieeh
    jeegteeggeeigffhkeekieefjeduhedvfffhiefgkefhvdevfeejffdvfeenucevlhhush
    htvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhes
    ihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:QO4mYaqymOorF9cRLSCbl9wd3o_mpeAJD5Zo37AKEU9JJpZi9MwS6Q>
    <xmx:QO4mYbqShHDgdvGgFyCiFRMwWNk_hNgYGsMT2PRMHfS7yJXeV32thA>
    <xmx:QO4mYYQxpBRJbe2-fHoovMaZQEGjJTsHnT2Qxs6h_iUi86AFnMa8Uw>
    <xmx:Qe4mYaXDp62TzRdpSs5oZtS37xC_4f2vhvv-vAcD6TPNWQu92zqMEQ>
Date: Thu, 26 Aug 2021 03:28:28 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: linux-pci@vger.kernel.org, stable@vger.kernel.org,
	xen-devel <xen-devel@lists.xenproject.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Bjorn Helgaas <bhelgaas@google.com>
Subject: Re: Kernel panic in __pci_enable_msix_range on Xen PV with PCI
 passthrough
Message-ID: <YSbuPJSZxiKSSaqT@mail-itl>
References: <YSZgkQY1B+WNH50r@mail-itl>
 <3e72345b-d0e1-7856-de51-e74714474724@suse.com>
 <YSZmFMeVeO4Bupn+@mail-itl>
 <24d47a06-a887-05e5-0e3f-ed3cdd19490b@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="UaYlySroUKN3Byia"
Content-Disposition: inline
In-Reply-To: <24d47a06-a887-05e5-0e3f-ed3cdd19490b@suse.com>


--UaYlySroUKN3Byia
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 26 Aug 2021 03:28:28 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: linux-pci@vger.kernel.org, stable@vger.kernel.org,
	xen-devel <xen-devel@lists.xenproject.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Bjorn Helgaas <bhelgaas@google.com>
Subject: Re: Kernel panic in __pci_enable_msix_range on Xen PV with PCI
 passthrough

On Wed, Aug 25, 2021 at 05:55:09PM +0200, Jan Beulich wrote:
> On 25.08.2021 17:47, Marek Marczykowski-G=C3=B3recki wrote:
> > If so, I guess the issue is the kernel trying to write directly, instead
> > of via some hypercall, right?
>=20
> Indeed. Or to be precise - the kernel isn't supposed to be "writing" this
> at all. It is supposed to make hypercalls which may result in such writes.
> Such "mask everything" functionality imo is the job of the hypervisor
> anyway when talking about PV environments; HVM is a different thing here.

Ok, I dug a bit and found why it was working before: there is
pci_mask_ignore_mask variable, that is set to 1 for Xen PV (and only
then). This bypassed __pci_msi{x,}_desc_mask_irq(), but does not bypass the
new msix_mask_all().
Adding that check back fixes the issue - no crash, the device works,
although the driver doesn't seem to enable MSI/MSI-X (but that wasn't
the case before either).

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--UaYlySroUKN3Byia
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmEm7jwACgkQ24/THMrX
1yyN/wf7BorSCX29k2HNQNmc90h4Hp54qa3SLXsTou5gLqJQXOwJAJz7saKR8UW1
QOgM3+ui1fGz+x3UBynQ6MM53+2hwBsO7f4kVGG/nGvgz+2TcckJOjAZRUap/Exz
8TCnIvcONjKKV7gMfc9Dg3JUSzvyqF3azpuiJQMZ7VWSHLpsMSenoKADIB+6EBHA
/fxABG6KsY4Mv0I82bS2NJ0Nk0xO1Da2EPWzqmQgKnbl1dma5PlGt4p3wKAGxOCp
Bozp7USuFSAvyHaq3+h1GV/2QIC/EMZxIw3jKlDgAnEi5bsIsb5y0rtYctqXULZy
e9Lwr5SCNjOc05VQdT0tm0fgHwqm5g==
=HlrS
-----END PGP SIGNATURE-----

--UaYlySroUKN3Byia--


From xen-devel-bounces@lists.xenproject.org Thu Aug 26 02:26:46 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 02:26:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172654.315050 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ56G-00055F-75; Thu, 26 Aug 2021 02:26:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172654.315050; Thu, 26 Aug 2021 02:26: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 1mJ56G-000557-1T; Thu, 26 Aug 2021 02:26:40 +0000
Received: by outflank-mailman (input) for mailman id 172654;
 Thu, 26 Aug 2021 02:26:38 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=J+8W=NR=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mJ56E-000551-IC
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 02:26:38 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com (unknown
 [40.107.6.78]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 086d7570-0615-11ec-a9c4-12813bfff9fa;
 Thu, 26 Aug 2021 02:26:35 +0000 (UTC)
Received: from DB6PR0301CA0046.eurprd03.prod.outlook.com (2603:10a6:4:54::14)
 by AM6PR08MB3398.eurprd08.prod.outlook.com (2603:10a6:20b:4e::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Thu, 26 Aug
 2021 02:26:33 +0000
Received: from DB5EUR03FT015.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:54:cafe::6e) by DB6PR0301CA0046.outlook.office365.com
 (2603:10a6:4:54::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17 via Frontend
 Transport; Thu, 26 Aug 2021 02:26:33 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT015.mail.protection.outlook.com (10.152.20.145) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Thu, 26 Aug 2021 02:26:32 +0000
Received: ("Tessian outbound f11f34576ce3:v103");
 Thu, 26 Aug 2021 02:26:32 +0000
Received: from e852e1f9f1eb.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 E5490678-DAD4-4EF5-A58C-402B0B2DE99A.1; 
 Thu, 26 Aug 2021 02:26:27 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e852e1f9f1eb.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 26 Aug 2021 02:26:27 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DBBPR08MB6121.eurprd08.prod.outlook.com (2603:10a6:10:204::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.23; Thu, 26 Aug
 2021 02:26:25 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.024; Thu, 26 Aug 2021
 02: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: 086d7570-0615-11ec-a9c4-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Sbn4mjJ2jxToEN5TilOhqTYts0V1eQ1gVjZhzT1+9Bw=;
 b=JoIczPacA+TcRSI2z5HQEewrms261Ysf8O9+yaZlQ0IWQBY3OWhk2iNbmPsRR+srV5Hu3rOS0EbkHH428pKh/LLE2W8xIZN26RD1JVw2lgHNc4J3sKTXuxe+iHzxv3not1gpAdg65JTgr7udoZ19pqyFgK0Rr8jWV+hevV0j7g0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LaYSyR5VgQIEHeuuCqhwL8bV/JXhradZXoyGsMg7vIXU5GqrfJThlYyMQq7x5dk0jVUxnwrFW2vsiZNx8BVMBjUSpvot+WgkF/06gME/U3/NmUZs6S6N7R1sv+kFixRcsT8SR+VxecKzaCFiVpa41V92iqaYldcopK5u0gQnUAESH6Au/h76dVlTpEuVzh6h0urpOjNGnsVkCNi++2GCt7tlMr2t8uW+DFd4Mn/uOXWG5e2zZQQYeBRGL9aeDABrNg18RgqrBl4TD8f+QeuijcGlRmJsx2E1Ki12Zi/X81R80cAdZT7/EdXDh68BJ0/meo9JcwNoaClm3WSSXm6/BA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Sbn4mjJ2jxToEN5TilOhqTYts0V1eQ1gVjZhzT1+9Bw=;
 b=CIuti0ow/YxsOFaYgeGJj4bKdBCRj7pR2MoCg/RD2UaZ/9sURXGBiUvSc/OQ54lQIRW/+Kw3racxwNVogNwspAi8BD+Z9ElCKWKfufhIjwSQFfsohOx3ElpMbHdi5tNNnpWYEOQY1+uT9HWoAJt2eyMb2uS4H+yQVgMgePb4VmpB8TJTXckjUMLBSVD6YSCA+xB7oWe9pSyox2E8fH9bA1J1BznNxwqsUXEWlz0dCu/EHzC3aVB6PHo+ihQvv+Li8GPnf+zmhd+++AFI1fpNEiQJxnRBmzzHunbQNaUnYWkg8OtLbHLTZ6X8Qyj45C8qZdAlbPk9BDLgFIeC4eUdNA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Sbn4mjJ2jxToEN5TilOhqTYts0V1eQ1gVjZhzT1+9Bw=;
 b=JoIczPacA+TcRSI2z5HQEewrms261Ysf8O9+yaZlQ0IWQBY3OWhk2iNbmPsRR+srV5Hu3rOS0EbkHH428pKh/LLE2W8xIZN26RD1JVw2lgHNc4J3sKTXuxe+iHzxv3not1gpAdg65JTgr7udoZ19pqyFgK0Rr8jWV+hevV0j7g0=
From: Wei Chen <Wei.Chen@arm.com>
To: Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"sstabellini@kernel.org" <sstabellini@kernel.org>
Subject: RE: [XEN RFC PATCH 14/40] xen/arm: set NUMA nodes max number to 64 by
 default
Thread-Topic: [XEN RFC PATCH 14/40] xen/arm: set NUMA nodes max number to 64
 by default
Thread-Index: AQHXjptAJmZokCLLIECfY7e+eVRE+6uETQoAgAACFICAANcfwA==
Date: Thu, 26 Aug 2021 02:26:25 +0000
Message-ID:
 <DB9PR08MB68575188CA45381744FF3EFE9EC79@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-15-wei.chen@arm.com>
 <dfde3e1a-be4b-cf14-8a75-8910760b2c3c@xen.org>
 <3b783bbf-dd96-856e-a9ec-4ac250d3760b@suse.com>
In-Reply-To: <3b783bbf-dd96-856e-a9ec-4ac250d3760b@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 96969BF52892474CA3E6D079AF14FE25.0
x-checkrecipientchecked: true
Authentication-Results-Original: suse.com; dkim=none (message not signed)
 header.d=none;suse.com; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: d2b23e8e-d324-4e1b-76c5-08d96838eb90
x-ms-traffictypediagnostic: DBBPR08MB6121:|AM6PR08MB3398:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM6PR08MB3398232F27062867344C5F629EC79@AM6PR08MB3398.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 +CPopuaPl2CNW5MclV7PjZyM7VqJD/rDn7NzB4OJAAfXEVaVV3ZXmuCIX6zHhUYJrbQHlNTuPXLTUNXqgW8+8t006P6qdzOFAn5s6Z68ONsn02IlRzxBk7HGEVHkZcGh8Kg0gdMoXtwEvd/AMG2vRdVbwgNEw0u7GaqtibHJ4iUzinTuptykDmchn/0zkeGdWqO8Jio6krPP4QPbmFAvw6aWVxHgZD3M/av1+SfCHklY1rJCLBDN0yNjgEf6EL5JgqmQmLlOnsdHhuwnSkNvXXFjcddCzFpjQqJoQzwXzy+AtIT/aJsRvQ+eYUQ/jOYfdCUtEtiP/DoC8u15EAUa1LzyZXhmlCif9Ai6OBtUBqSys2Pcle8qD12LnEkl3HWTJdxL+WpUtxulaG3bCioZMczm/9o50fYuv8pJI8i1uhETA0G/mWBETV7hcTYkBdGHse4cxGfvtBGxS6G2cduqdRIXG8fKWibp+S8KZ0gDSm2/dYGkH3BINxOLhV8Z18QRO2Ymm+7Ukbho1AxXkZ4pvACJL5uHvT0rS84YsPzZ01USCMN4lVPykbd4940x68p9D5aPvqm/ulKmjldi7+SIJVKrLmYaXPmBmv9TnzVS9NsX6J+4kvzQDj3HL0OEwRD7p/030ApHBfoZilFsvjwUlb53IC5gjNkESfxrDrZ2cP+L4xQkloNpoQtUlKmxqdE+eyjdy1HC1SNzfbwjCpa9xQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(83380400001)(52536014)(66476007)(66556008)(53546011)(26005)(64756008)(76116006)(66946007)(66446008)(122000001)(6506007)(4326008)(7696005)(8936002)(2906002)(8676002)(71200400001)(508600001)(86362001)(33656002)(186003)(38100700002)(316002)(38070700005)(5660300002)(9686003)(110136005)(55016002)(54906003);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?aFAwbDlHWVFsS0NjYmpOMVJsQStnSGNtcU5JRTZDRFJKcVBpbmRBLzN1THdo?=
 =?utf-8?B?SlVTdGIvL2ttdEp3TElJT3NrQmt4UjkzTTU5c2RDVEpYczlhVkJmZmd2Wmt5?=
 =?utf-8?B?emZ2WUwvbXE4ajRkUlBnZks1U1dkc2pEcndXUW1nVDUyUmY1cElvOU1saWRG?=
 =?utf-8?B?ZGJ6Q1pjNTNaTDByL0ZjMDJnUW4zZ1dacUd2bGVTbWpHSnh6YmUxQTlyVVVO?=
 =?utf-8?B?ZlVTUFBlN252WHpRa1ZadWg1RDdqUjI1MHFFb21PQTY4NXdBbG10QTR2cmhz?=
 =?utf-8?B?S3BaRzVSUnN4UGcxWDJXYjRzYVdrSXY4clg0TEFraGdDQUhHRjdXV2F6b2FV?=
 =?utf-8?B?eFB6Sjk3bithTkkrRjZsdDJvSFl1SDRvN2Q2MHJBWlRodkhsQkxUYVROZVdF?=
 =?utf-8?B?NTZLTFZxZGFmdWh2aG1zWW9haUErWXliT2xSbGozcjRNUG4rTm9RQzFoazRn?=
 =?utf-8?B?RFV1Zm5kRlJsTVFIdnJzWkJVK3BpRFRLMVJnV3dlWVg1NG15dFp6UXR3NUM2?=
 =?utf-8?B?S0Y5ZHVHdWIreEpMdjR6R0NRM2lhenZ1OE1PcmcrcllmQzg2bkhMdmlVUWV1?=
 =?utf-8?B?WTRoNkNJeVhUYUtSWWxYSEFEWVk1TjJaRzVQdXJzZ2JKVkFaRFhUckpVby80?=
 =?utf-8?B?QUdVRG9xUFQ3MGZSdmR5OTlMRFIrb2NaQ3N6aGo4ajY2WTBKTmdRUTFJYzFB?=
 =?utf-8?B?dU56TlAyVlBIMTRSeWs5T1VsV2V4M2NXWHhKVzI5V2ZYNXQ4b21IcElmSGNk?=
 =?utf-8?B?N2RGdTd4OGVRTTRuRzUxbzM1NFphSDJML1BCZ0E4QzN4eW85V1pIRzhGQkNW?=
 =?utf-8?B?OEthRVYzb3JSb0M3YWZHRmYyb2R5V3dGTXozTVU0dUMrNCtQV25iQjRoMVZ3?=
 =?utf-8?B?MStPTlV6OFkzZGtPZDlOcjRvRVh6ZVhyYUNEd1Q5ck9wa1JHTk5tWmpHeXV2?=
 =?utf-8?B?TUxvd24xb2s5dUxyZ3NxcW9RZTZ5RStQTFEvWGZiNzBWYUZ6dCtzUUE4NXdT?=
 =?utf-8?B?MEVQRVNEMS9uQnZKR1hnbkRHa2R4UzM1K1ZuRWgrYU01TWlqakhJcGZSbFRV?=
 =?utf-8?B?aExOTE90WXJHSW4wT1NkZlZxbVJHUzZraVRmWmk0T0NaYXdWS3JxWHJDTjVY?=
 =?utf-8?B?Rnk1ODE3UjY2MXZhMytncUp3ZzluVjBXQitQbGxGYXVIVnRnNU9PRWxQUE41?=
 =?utf-8?B?d25YaGZDTkhGR2JaQ1NpUXVVdmw0VlpmZm1wTnFNWWU1bnovdzd0K3VWVmxl?=
 =?utf-8?B?TWtNa0FSRTk1dmRMZ2svT1FGditKVHFBRTRGQjYrTkszb3VHVzBtMVV5MGV2?=
 =?utf-8?B?SlBrM2NPTnZMSDNEWnowUWMzVFY4WEJKS0pFQXliSUhSNW0wQ1FZaWZ2Wmsw?=
 =?utf-8?B?djVFMEZ1cXJxUkJtU3R5endLS05lZGFjVVhoVDYraTdKNnNQWCsrSG4xZHNI?=
 =?utf-8?B?OW1QOHNwMDhSWnNFbVNtS0oxbzhVVEkvMUhJdnUwYjFQZVNGeVZwQThhNE9M?=
 =?utf-8?B?eHc2cWZYNWo5RXhlVW9maW5qb2hpN1dlWXM3SXM1Z2R2aWhMQ2hLMlBCeERZ?=
 =?utf-8?B?NDdhU01XN0pRaVo4OE15Mjhnb0c2RzJFczQrTGRxTEhlZzBWNExyZXFuTmZr?=
 =?utf-8?B?WmY3WEpnUHd3MGo1NTlIdStoR3B2RkFMYmtSR2JPUUIyNkFON2RlM2FZWjNC?=
 =?utf-8?B?Q0tXYUIzYkJ1REVRaFcyS3lsazdxVGZFeS9IajJUbk05MU1yaTg2UWx4b1R1?=
 =?utf-8?Q?Cg74fii/SeyLF4n5FxqdpRiCxZv5UP1jot6HE0A?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB6121
Original-Authentication-Results: suse.com; dkim=none (message not signed)
 header.d=none;suse.com; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT015.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	b74f2b1e-fb4f-4d76-0ba7-08d96838e75c
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	g+1YJZkBtxIqzaEaqKDToXRk6npois9vOaK5akpb7fAS0HaXCgTiQmML4WDWBf2+SeJcgdYdAVEOOswa2eqPXzJiSEdUcWQPB/K27+yjFpC1Fce+DRi6pRe3Xk/cfPwyTa8n3LT7tI+Rp/L6Ci9nkLtn/dq4tTs7LfOvxPoKWtddW33HCFE/TiiB1WiArBD1f4bGD1Ge0Qfml0Vzym58SDe7Jl2hOZAHXQ+67kPYavESEV55mz64Wbdk2BERLd4/fsdzXqg7RZl20ogyliQTKhIzlN5AcVpiL9QN+OHrbCLlC4CatvQvO8OhVsZX2QBB0lKnJeCKDtipOGkz8ClD1qf2uioo2bDYVtN9XQlPyiqaBv/te2Fa69NpNDl6C0edjfRGuFy9evMnp+HTX9KUNXPRipYUjGeewqm2Db4rqJGBCSxmffLUMh7PwoKaQUkFPP/vzSKm+1519iOdVpI2UxW3VX1Kjb8VJ/qQT4beDkgp9C31dHwCQRqc6njaI3KMSAsqJNlv1yelT2iKpk63of06Ib1Bc8PySn3xV52eYX4YJlkr3Sxng8dl4oNtxXgzbWwd9hF5loUnWaAE5T2wp4aOgKA6Dal2HM9YetMqtR4crihmwqwYXMTQ+6md+ch+ZTLNPvravPIXSrE3q0NM3m/dqjTrzKRuZjpAM64jF8NfC9Ezwz4nDYPjMcsN6qZWTPMpzBBjlrPaSa/B+f3J3g==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(376002)(39860400002)(136003)(396003)(346002)(46966006)(36840700001)(8936002)(2906002)(107886003)(336012)(36860700001)(316002)(82310400003)(356005)(8676002)(83380400001)(6506007)(33656002)(86362001)(55016002)(4326008)(82740400003)(53546011)(110136005)(52536014)(5660300002)(54906003)(7696005)(478600001)(81166007)(70206006)(26005)(9686003)(47076005)(186003)(70586007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 02:26:32.9136
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d2b23e8e-d324-4e1b-76c5-08d96838eb90
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT015.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3398

SGkgSmFuLCBKdWxpZW4sDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPiBTZW50OiAyMDIx5bm0OOaciDI15pel
IDIxOjM2DQo+IFRvOiBKdWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4ub3JnPjsgV2VpIENoZW4gPFdl
aS5DaGVuQGFybS5jb20+DQo+IENjOiBCZXJ0cmFuZCBNYXJxdWlzIDxCZXJ0cmFuZC5NYXJxdWlz
QGFybS5jb20+OyB4ZW4tDQo+IGRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnOyBzc3RhYmVsbGlu
aUBrZXJuZWwub3JnDQo+IFN1YmplY3Q6IFJlOiBbWEVOIFJGQyBQQVRDSCAxNC80MF0geGVuL2Fy
bTogc2V0IE5VTUEgbm9kZXMgbWF4IG51bWJlciB0bw0KPiA2NCBieSBkZWZhdWx0DQo+IA0KPiBP
biAyNS4wOC4yMDIxIDE1OjI4LCBKdWxpZW4gR3JhbGwgd3JvdGU6DQo+ID4gT24gMTEvMDgvMjAy
MSAxMToyMywgV2VpIENoZW4gd3JvdGU6DQo+ID4+IC0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0v
bnVtYS5oDQo+ID4+ICsrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vbnVtYS5oDQo+ID4+IEBAIC01
LDcgKzUsMTUgQEANCj4gPj4NCj4gPj4gICB0eXBlZGVmIHU4IG5vZGVpZF90Ow0KPiA+Pg0KPiA+
PiAtI2lmICFkZWZpbmVkKENPTkZJR19OVU1BKQ0KPiA+PiArI2lmIGRlZmluZWQoQ09ORklHX05V
TUEpDQo+ID4+ICsNCj4gPj4gKy8qDQo+ID4+ICsgKiBTYW1lIGFzIHg4Niwgd2Ugc2V0IHRoZSBt
YXggbnVtYmVyIG9mIE5VTUEgbm9kZXMgdG8gNjQgYW5kDQo+ID4+ICsgKiBzZXQgdGhlIG51bWJl
ciBvZiBOVU1BIG1lbW9yeSBibG9jayBudW1iZXIgdG8gMTI4Lg0KPiA+PiArICovDQo+ID4NCj4g
PiBTdWNoIGNvbW1lbnQgY2FuIHJvdCBlYXNpbHkgaWYgeDg2IGRlY2lkZXMgdG8gYnVtcCB0aGVy
ZSB2YWx1ZXMuIEJ1dA0KPiA+IGdpdmVuIHRoZSB2YWx1ZSBpcyB0aGUgc2FtZSwgSSB0aGluayBp
dCB3b3VsZCBtYWtlIHNlbnNlIHRvIG1vdmUgdGhlDQo+ID4gZGVmaW5lIHRvIHhlbi9udW1hLmgu
DQo+IA0KPiBUbyBiZSBob25lc3QgLSBpZiB0aGlzIGdldHMgbW92ZWQsIHBsZWFzZSBhdCBsZWFz
dCBjb25zaWRlciBtYWtpbmcgaXQNCj4gYSBwcm9wZXIgS2NvbmZpZyBzZXR0aW5nLiBKdXN0IGFz
IG11Y2ggYSB0aGUgbnVtYmVyIG9mIENQVXMgY2FuIGJlDQo+IGNvbmZpZ3VyZWQsIHRoZSBudW1i
ZXIgb2Ygbm9kZXMgc2hvdWxkIGJlIHBvc3NpYmxlIHRvIGNob29zZSBieSB0aGUNCj4gYnVpbGQg
bWFuYWdlci4gT2YgY291cnNlIC0gaWYgaXQncyBub3QgdG9vIG11Y2ggdHJvdWJsZSAuLi4NCj4g
DQoNCk9rDQoNCj4gSmFuDQoNCg==


From xen-devel-bounces@lists.xenproject.org Thu Aug 26 03:03:32 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 03:03:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172659.315061 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ5fi-0001HS-VA; Thu, 26 Aug 2021 03:03:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172659.315061; Thu, 26 Aug 2021 03: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 1mJ5fi-0001HL-RY; Thu, 26 Aug 2021 03:03:18 +0000
Received: by outflank-mailman (input) for mailman id 172659;
 Thu, 26 Aug 2021 03:03:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mJ5fg-0001HB-W5; Thu, 26 Aug 2021 03:03:17 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mJ5fg-0002dS-M8; Thu, 26 Aug 2021 03:03: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 1mJ5fg-0002dF-BH; Thu, 26 Aug 2021 03:03:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mJ5fg-000619-9A; Thu, 26 Aug 2021 03:03: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=exYZg9KaOnvcNynRtuvLGMSTXSitDtd/eqJuT3OFsao=; b=ORb9pLcO3LGm5qV5bBaf0/pEbY
	1Cvg/2fnMXBubfOrqr+P4A1SLq4Ifjwe+NQtjowssjb4sWbKKA6GLBfCTGwgazSNxJWV2pFW94OJJ
	V03Q51TXzhQgEEVI6S9xpe61TOSyDit2TJjQxhVzUH4sMJdzCKQ6rLZDBHDMMGvXskaE=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164457-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 164457: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check: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-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-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-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=f9baca549e44791be0dd98de15add3d8452a8af0
X-Osstest-Versions-That:
    qemuu=ecf2706e271fa705621f0d5ad9517fe15a22bf22
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 26 Aug 2021 03:03:16 +0000

flight 164457 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164457/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164324
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164324
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164324
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164324
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164324
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164324
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164324
 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-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                f9baca549e44791be0dd98de15add3d8452a8af0
baseline version:
 qemuu                ecf2706e271fa705621f0d5ad9517fe15a22bf22

Last test of basis   164324  2021-08-22 02:00:16 Z    4 days
Testing same since   164457  2021-08-24 20:38:23 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  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                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   ecf2706e27..f9baca549e  f9baca549e44791be0dd98de15add3d8452a8af0 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Thu Aug 26 05:14:04 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 05:14:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172667.315075 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ7i0-000773-V3; Thu, 26 Aug 2021 05:13:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172667.315075; Thu, 26 Aug 2021 05: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 1mJ7i0-00076w-RE; Thu, 26 Aug 2021 05:13:48 +0000
Received: by outflank-mailman (input) for mailman id 172667;
 Thu, 26 Aug 2021 05:13:47 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=J+8W=NR=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mJ7hz-00076q-A4
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 05:13:47 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com (unknown
 [40.107.15.75]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 61c3c8e3-062c-11ec-a9cd-12813bfff9fa;
 Thu, 26 Aug 2021 05:13:45 +0000 (UTC)
Received: from AM6PR08CA0017.eurprd08.prod.outlook.com (2603:10a6:20b:b2::29)
 by VE1PR08MB5742.eurprd08.prod.outlook.com (2603:10a6:800:1a9::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Thu, 26 Aug
 2021 05:13:43 +0000
Received: from AM5EUR03FT039.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:b2:cafe::6d) by AM6PR08CA0017.outlook.office365.com
 (2603:10a6:20b:b2::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17 via Frontend
 Transport; Thu, 26 Aug 2021 05:13:43 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT039.mail.protection.outlook.com (10.152.17.185) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Thu, 26 Aug 2021 05:13:42 +0000
Received: ("Tessian outbound 19a632698c93:v103");
 Thu, 26 Aug 2021 05:13:42 +0000
Received: from a4a66c389418.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 BBB1724A-06A1-43FD-94B8-4192F662C4CC.1; 
 Thu, 26 Aug 2021 05:13:35 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id a4a66c389418.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 26 Aug 2021 05:13:35 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB6PR08MB2807.eurprd08.prod.outlook.com (2603:10a6:6:19::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Thu, 26 Aug
 2021 05:13:23 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.024; Thu, 26 Aug 2021
 05:13: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: 61c3c8e3-062c-11ec-a9cd-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=K/9wCUKmaR1BEjEfWWnzB+cqeOccqOzrCZU/Ca1pgf4=;
 b=RDBH/QF+q3WInO+edFYJAiTrlPE2gCwF4+mrshuOfVXvHH+qmY7DkRs0R/Puu6/6hefwTULwMAcfzPKljS710EHLmUx8QfxlRBSou0iyHUaIMFZBnqDm7bnN6vL2IeYVCrhxwHZDGwVIxgsH2a1N15axY0FSO/w9wG97uwwUX84=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FWD7gZRg9+i2L5Fak+XY8qzVDJwGhW8PjbQ4vFK/Z7m0Sz1yrltOOrvhi1Z3W9GqoahVNL9HrfRSY+oRKrLuib3uBRcLSt8AdOQ/3I8HoINCxW1BYrfWwcAjOaqvTZsmgBQtCZLE7uHxNzxNluKvEri2xUHwNFMk+sGLdTABfZ6bmlSnQrKT5aBUy7WBNL4t+j3kjhWDWaKT1r9w+QC5AB45qFaThi6kYSxIkVYuNsUk0xpmz6QkwrfDLe3gQo1UhsSq3hErFBft29qvgu49M7EeYWHeAq5dHHXwzJ+TFH0CO4TZDf+FZkWLpzTDjccYUxTVkrJroLlXPhIVLUiKjw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=K/9wCUKmaR1BEjEfWWnzB+cqeOccqOzrCZU/Ca1pgf4=;
 b=MGcSjKGyMzdP1hnIGuvXFyXoknNbpomkhW+V/mKtA3H/QiXtJM2KhHwLM0GBlvqtEqk8MdffeKPXT1BSxeAZfphAZCuSrQOIey8mOWihRMi5xNn5VxCVn3iaVf2WIp/3XlBgFQjtxOsHBPyg0R0fxe3qwzLc4aF/31nqPbiuB7FM9JKRkGQsnzjWIKLvuq3wAkxNw96KkhgBJlA960zY1b4xMP7WnrHnN01kM0FgB3SplfwaBodqmH9gR3I1z7uSB7kpz1aSisIqSSiVEnnSYJLfpf5ynnrR8wIZlBKkitBaQg4js8Ejc9YFusm+66EDsq7gT5Y9cGzVjvTvpuCCVg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=K/9wCUKmaR1BEjEfWWnzB+cqeOccqOzrCZU/Ca1pgf4=;
 b=RDBH/QF+q3WInO+edFYJAiTrlPE2gCwF4+mrshuOfVXvHH+qmY7DkRs0R/Puu6/6hefwTULwMAcfzPKljS710EHLmUx8QfxlRBSou0iyHUaIMFZBnqDm7bnN6vL2IeYVCrhxwHZDGwVIxgsH2a1N15axY0FSO/w9wG97uwwUX84=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 13/40] xen/arm: introduce numa_set_node for Arm
Thread-Topic: [XEN RFC PATCH 13/40] xen/arm: introduce numa_set_node for Arm
Thread-Index: AQHXjpsyLnVBArVEdkyL68RkePfWG6uEHPyAgAAK5SCAACP0gIAA2o1w
Date: Thu, 26 Aug 2021 05:13:23 +0000
Message-ID:
 <DB9PR08MB6857017E0953FF635DB2693A9EC79@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-14-wei.chen@arm.com>
 <a07963e4-84c8-32de-4e8b-013a5419deea@xen.org>
 <DB9PR08MB6857E228F4C0847D4DF014ED9EC69@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <af61e054-5ac3-d302-0750-04566b3d797c@xen.org>
In-Reply-To: <af61e054-5ac3-d302-0750-04566b3d797c@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 19F07032DD4AC9449B7E20CEAFA0E44B.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: b4ccef60-4edf-4362-df17-08d9685045b6
x-ms-traffictypediagnostic: DB6PR08MB2807:|VE1PR08MB5742:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<VE1PR08MB57421BBAFDC0DA5AC3BC6DC29EC79@VE1PR08MB5742.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 pswAcUPZl1amE/2DFsC63lefQ98LC1v78djNC1c/aaOvGXgEcEDP0sKFjULOmY/E+gRmeEcGSDwtG46qpw57RwowTedK2Jwb5a96VkShq2MKoeHV1u+bRrkLWFEMal3bOeg7sWgD3z3uU0lbxPnHltu3t3e8D8gLC+JJOeyCNL/o+GsEcTkKUoKRItDtq9lUDrwLNoiaHE5KLh3LDjd7Lsht2o4oLX0vYJkrFyy+oeSR6s2ajjsQFTek+pHnj5hTAYFOGlY/lmsa+IWwVUVyTOTFqFNHEtiFHnhgM2EtEXSpURw80LuEXUyg06uwnlh7s+xn9MlvpUpjOkp8fMCyMESZKI1jhRlFfU2Iq7k+KHhXmgkeDoq1ZFAhcTX0fApt2UEi/WW4FKuVR/vyLHpJCWSDLn6YYwNViFMSRkgFBwZ50tOopNiW1ST7BTcSlE464fj3vQwg0iBwnuWEv9hkxSuhBf1UE/I1savpx2SsNEdZhkznwK4VAxCwK7ozP2L9l75KTSNONCnZnaLQZLv+S5BEl/21VpUmkVfz0MW8/C9nJvjwrQR7c6M2nSeRLbhHVTuTNuwX6k7dv6yWVG7lSTR8rS2L/a/M/5/GlnqriugJmRGguc9O22vK27vDyFBWiFYmKQffID27vqZxT7aJwiT33F3gPTEotF0LvVwD81K8Vg5ZLla02DrZvKlHfB2VrEsqqFN5cCDUiYbZyNjjYA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(346002)(39860400002)(396003)(136003)(376002)(64756008)(5660300002)(66556008)(53546011)(33656002)(6506007)(66446008)(7696005)(55016002)(76116006)(8676002)(66946007)(478600001)(4326008)(66476007)(110136005)(26005)(122000001)(38100700002)(8936002)(71200400001)(9686003)(52536014)(2906002)(316002)(83380400001)(86362001)(186003)(38070700005);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?a2Rla016Z1kzaDdQMmtITVd6U2Z0MDFEOWFjbHlrSnliS0dtZUVRSzBtbjgw?=
 =?utf-8?B?WUEzWWdiYldOb1lEdW5tV3FuWko4allqOEZlNE80aTVPNWVNOHA3enN6Njl6?=
 =?utf-8?B?UnRsMStHN0c3Lzl4UkMxZnI2SDdkK0pJQWJrM1dieXBDY0t1VGVEQWF1N3Nm?=
 =?utf-8?B?VEloczJ2K2tlWStsa2RleE9VWlVzN0xKNFpnNllCUDN2Qm0wbklLUmZvbHRj?=
 =?utf-8?B?QmNqQm1taVI5VUdHUk1kbnNhd0R3QUpPZHlOV1BOZFU1QzlLdjFvb0ZIQXJt?=
 =?utf-8?B?QzhjSTB0VkZ2dGhncnJ6SGF1QWkxR3QvamR5K3R3ZklZYk5oSkNyTWNxbXBK?=
 =?utf-8?B?ZnhHVUtUb3BsMlVTekkxOHpueWE3YTNReW9xc0ZxTnJiTmNqSXpzWks0Mng2?=
 =?utf-8?B?RkFpMTdDNnN5WXhMVlMySVFRODNhajdWQWJsdnNCcmk5c3dmRTBlWTZOSEx0?=
 =?utf-8?B?UDdxUHN5a1RQZmt5UmY3eExKclpNazJwTGpQb3ZhbWtXWHh2Q3lkMVFJZ2pI?=
 =?utf-8?B?eUs2SVZNczNkbXBlTURXUXdtYzRiSndMK0NTYXRudjI5b05sU0NSSTJOWHhn?=
 =?utf-8?B?cFg4YkhSR1dtUjJTQ29LQjVib3JJU3Q4UCsxMEJVQUo4WTJuTnpDU2hqOUZE?=
 =?utf-8?B?NnhqQngxRHNOMldFY0pkMGFYV21oaGJManNhdks1Mk12Vk1IYmFnVnVtSDJV?=
 =?utf-8?B?U3pJNWp3SVV1THQ1YnRQYkgxYjBHVVhxRGZ3TkxnTDkxdXhKSFpxc2FELzVJ?=
 =?utf-8?B?d21KUkEzSEI3L1ZXMGljOGx1TFBpeExHUG5QekljU0lBbkk0TEpwbzljVGQ4?=
 =?utf-8?B?b3FyTXRoY1FJTmE1NmtIVWM0dG5kYkRwQlNKOXVGWUo5SVk4c25ucE5yZVJp?=
 =?utf-8?B?cTBFc1pRSGFQbmg1eENmKzJ2dytsWWxkdERQbVRlaE5LYW52V01SRUFEQ29a?=
 =?utf-8?B?b294MkFVcW1VQlduOWZtMXpEaG8vaTl5VnQySmQ5ZHNiZTJSdW53VExZbVdl?=
 =?utf-8?B?YjlzS3RMK2dpamM3a2NCOXhzaTRkeHY1QUo1Y2FlTkF0QXh4SW95MG1HV1lu?=
 =?utf-8?B?RFBnMUpJdzkvZzVrUFoybU1FZXdZcHZWK1NuaTBheG5SakpYSEhycGZta1pv?=
 =?utf-8?B?NVU4NjJDNjdwU29qd3dqV09Mb2hUbzZ2Z05rYnBHVzBaZWoveWlMeWptMm43?=
 =?utf-8?B?UjQyQkh6ZC9SWnp2VWtZZHJreFpVNU5LMUZxbEkrV0ZUNzNHTnpDTWw2Y1J3?=
 =?utf-8?B?TXh5YlRvdkxiSXdlVGo5TXhBMnVPOGg5MzZwb2x2bXZ2ZHdHbTVia2U3WWFR?=
 =?utf-8?B?MWU0ajRvWmE2b1A1SkVtbVBsNjJSV3Q0V2NTaGMzekx3WGZIVjUyS3p1c1JL?=
 =?utf-8?B?c3NrUkRrQXpTRmVYV3BxK0F3VGQ0YzNOa2owTE85dDl4Tm5Bc3kreWYvU01W?=
 =?utf-8?B?bitIdkpRQmhWWlpuZkdjZEtIUUd0enkwZmptTDNuM1NnR1kxNmpnRHZxZ2tE?=
 =?utf-8?B?Q3FEQmtyKzl2RDNuUjVKS2xTcFI4Q2p6VmtWQ3I0Q0dxMk85dHpxejZhb08v?=
 =?utf-8?B?QTFIMlg1dDFNY2VpUDVCSjc3eThkeHpXQTMzTXozbXVuMEZPVkJDZEZ0dVZJ?=
 =?utf-8?B?Tnl2cnZFQ1R6TUczZEVCNzlXV1dhVzBCdDkxQVd0WHlPc2xhcWQ1eGtUN0tQ?=
 =?utf-8?B?YWg0cnZRUnRDVG1LY0laUGdjOVcwMmpjMUZOSHdIdllFZ2wrVDBRWnd2K0Fi?=
 =?utf-8?Q?h4lZJrmwxheSFQlrZ1ejAfRZeCvnsnvJVVzJNYI?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR08MB2807
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT039.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	02b74cb7-d294-4216-9cd8-08d968503a7c
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BENdeCBkrQwMvvMmWC5hMDurer+d7ZAPBnpB3sk5+hUOBfNaG77YiZKTMsSJ1YwDOvmEt/1D0vGS+4ELhdWYmnsqbrupGCMWT59F8hPd8FvRZY/qpfRevHlERvWZWcFsRCW/ERS5ylY6SLcbMD1yIP599wk5dIfqax00G7UIljyluCKbIOYhe/ZFZKNO0FcuOiARovlVJ+rUWKpbxFzRsByykOBqGX9U41zUGRGIZDnN86F2BLG/3C1/PbWeo057uamLCV2DuHkpWLT6fnLFQP17GaG0cZyW++i4VSD+6V3x6/2PL3IRQk6muE3Nj1Snnn/Ja3cHnWM21npPNAxNfpOu9SCy0wHW+bZWGYxgq6NxvuSEFwmfYZ2oRdMEchwb7ZQPvCBSutAOayFY5QaFdLf1A9Zvv8OTzIVUFNockKP8HVpHjpx3pW+BNJOEb63Vdr8RvQGqUGTTVBoI7n7vKbbeWkb0+acwYJ0vRjsQd4E27zP2WOg78BJZ+RB0vTTGqmfdHXoQ/rxRaQdvGD4bb/ZS3cFakaHyhug2GyKUA+wSUW9nr+vumY+eoTDNcz8pCqb+hI61mKS3lZ3YAnGd7kT87+MQGXTOUSAd1HwmkLWSWR/4m4JrQ919cETciZI2B5hCXgPeRlxSRBRDlSVGEc9vZGkSI56V+5IO7IkvSABD/LldBfPztXiWCFKTO0tEhuQObKZu0iEjOBOqdr9lDg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(36840700001)(46966006)(8676002)(336012)(52536014)(70206006)(70586007)(55016002)(83380400001)(316002)(33656002)(110136005)(2906002)(8936002)(5660300002)(9686003)(36860700001)(356005)(86362001)(26005)(47076005)(81166007)(53546011)(508600001)(6506007)(186003)(82310400003)(4326008)(7696005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 05:13:42.5391
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b4ccef60-4edf-4362-df17-08d9685045b6
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT039.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5742

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMjXml6UgMjE6MjQN
Cj4gVG86IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgeGVuLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnOw0KPiBzc3RhYmVsbGluaUBrZXJuZWwub3JnDQo+IENjOiBCZXJ0cmFuZCBNYXJx
dWlzIDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+DQo+IFN1YmplY3Q6IFJlOiBbWEVOIFJGQyBQ
QVRDSCAxMy80MF0geGVuL2FybTogaW50cm9kdWNlIG51bWFfc2V0X25vZGUgZm9yDQo+IEFybQ0K
PiANCj4gDQo+IA0KPiBPbiAyNS8wOC8yMDIxIDEzOjA3LCBXZWkgQ2hlbiB3cm90ZToNCj4gPiBI
aSBKdWxpZW4sDQo+IA0KPiBIaSBXZWksDQo+IA0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut
LS0tLQ0KPiA+PiBGcm9tOiBKdWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4ub3JnPg0KPiA+PiBTZW50
OiAyMDIx5bm0OOaciDI15pelIDE4OjM3DQo+ID4+IFRvOiBXZWkgQ2hlbiA8V2VpLkNoZW5AYXJt
LmNvbT47IHhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZzsNCj4gPj4gc3N0YWJlbGxpbmlA
a2VybmVsLm9yZzsgamJldWxpY2hAc3VzZS5jb20NCj4gPj4gQ2M6IEJlcnRyYW5kIE1hcnF1aXMg
PEJlcnRyYW5kLk1hcnF1aXNAYXJtLmNvbT4NCj4gPj4gU3ViamVjdDogUmU6IFtYRU4gUkZDIFBB
VENIIDEzLzQwXSB4ZW4vYXJtOiBpbnRyb2R1Y2UgbnVtYV9zZXRfbm9kZSBmb3INCj4gPj4gQXJt
DQo+ID4+DQo+ID4+IEhpIFdlaSwNCj4gPj4NCj4gPj4gT24gMTEvMDgvMjAyMSAxMToyMywgV2Vp
IENoZW4gd3JvdGU6DQo+ID4+PiBUaGlzIEFQSSBpcyB1c2VkIHRvIHNldCBvbmUgQ1BVIHRvIGEg
TlVNQSBub2RlLiBJZiB0aGUgc3lzdGVtDQo+ID4+PiBjb25maWd1cmUgTlVNQSBvZmYgb3Igc3lz
dGVtIGluaXRpYWxpemUgTlVNQSBmYWlsZWQsIHRoZQ0KPiA+Pj4gb25saW5lIE5VTUEgbm9kZSB3
b3VsZCBzZXQgdG8gb25seSBub2RlIzAuIFRoaXMgd2lsbCBiZSBkb25lDQo+ID4+PiBpbiBmb2xs
b3dpbmcgcGF0Y2hlcy4gV2hlbiBOVU1BIHR1cm4gb2ZmIG9yIGluaXQgZmFpbGVkLA0KPiA+Pj4g
bm9kZV9vbmxpbmVfbWFwIHdpbGwgYmUgY2xlYXJlZCBhbmQgc2V0IG5vZGUjMCBvbmxpbmUuIFNv
IHdlDQo+ID4+PiB1c2Ugbm9kZV9vbmxpbmVfbWFwIHRvIHByZXZlbnQgdG8gc2V0IGEgQ1BVIHRv
IGFuIG9mZmxpbmUgbm9kZS4NCj4gPj4NCj4gPj4gSUhNTyBudW1hX3NldF9ub2RlKCkgc2hvdWxk
IGJlaGF2ZSBleGFjdGx5IHRoZSBzYW1lIHdheSBvbiB4ODYgYW5kIEFybQ0KPiA+PiBiZWNhdXNl
IHRoaXMgaXMgZ29pbmcgdG8gYmUgdXNlZCBieSB0aGUgY29tbW9uIGNvZGUuDQo+ID4+DQo+ID4+
ICAgRnJvbSB0aGUgY29tbWl0IG1lc3NhZ2UsIEkgZG9uJ3QgcXVpdGUgdW5kZXJzdGFuZCB3aHkg
dGhlIGNoZWNrIGlzDQo+ID4+IG5lY2Vzc2FyeSBvbiBBcm0gYnV0IG5vdCBvbiB4ODYuIENhbiB5
b3UgY2xhcmlmeSBpdD8NCj4gPj4NCj4gPg0KPiA+IFllcywgaW4gcGF0Y2gjMjcsIGluIHNtcGJv
b3QuYywgZHRfc21wX2luaXRfY3B1cyBmdW5jdGlvbi4NCj4gPiBXZSB3aWxsIHBhcnNlIENQVSBu
dW1hLW5vZGUtaWQgZnJvbSBkdGIgQ1BVIG5vZGUuIElmIHdlIGdldA0KPiA+IGEgdmFsaWQgbm9k
ZSBJRCBmb3Igb25lIENQVSwgd2Ugd2lsbCBpbnZva2UgbnVtYV9zZXRfbm9kZSB0bw0KPiA+IGNy
ZWF0ZSBDUFUtTk9ERSBtYXAuIEJ1dCBpbiBvdXIgdGVzdGluZywgd2UgZm91bmQgd2hlbiBOVU1B
DQo+ID4gaW5pdCBmYWlsZWQsIG51bWFfc2V0X25vZGUgc3RpbGwgY2FuIHNldCBDUFUgdG8gYSBv
ZmZsaW5lDQo+ID4gb3IgaW52YWxpZCBOT0RFLiBTbyB3ZSdyZSB1c2luZyBub2RlX29ubGluZV9t
YXAgdG8gcHJldmVudA0KPiA+IHRoaXMgYmVoYXZpb3IuIE90aGVyd2lzZSB3ZSBoYXZlIHRvIGNo
ZWNrIG5vZGVfb25saW5lX21hcA0KPiA+IGV2ZXJ5d2hlcmUgYmVmb3JlIHdlIGNhbGwgbnVtYV9z
ZXRfbm9kZS4NCj4gDQo+IFdoYXQgZG8geW91IG1lYW4gYnkgaW52YWxpZCBOT0RFPyBJcyBpdCAw
eEZGIChOVU1BX05PX05PREUpPw0KDQpObywgSSBtZWFuIHNvbWUgd3JvbmcgY29udGVudCBpbiBk
ZXZpY2UgdHJlZS4gRm9yIGV4YW1wbGUsIGlmDQp0aGUgZHRiIHNldCBhIHdyb25nIG51bWEtbm9k
ZS1pZCBpbiBDUFUgZHQtbm9kZS4NCg0KPiANCj4gPg0KPiA+IHg4NiBhY3R1YWxseSBpcyBkb2lu
ZyB0aGUgc2FtZSB3YXksIGJ1dCBpdCBoYW5kbGVzIG5vZGVfb25saW5lX21hcA0KPiA+IGNoZWNr
IG91dCBvZiBudW1hX3NldF9ub2RlOg0KPiANCj4gUmlnaHQuLi4NCj4gDQo+ID4+IEkgdGhpbmsg
bnVtYV9zZXRfbm9kZSgpIHdpbGwgd2FudCB0byBiZSBpbXBsZW1lbnRlZCBpbiBjb21tb24gY29k
ZS4NCj4gPj4NCj4gPg0KPiA+IFNlZSBteSBhYm92ZSBjb21tZW50LiBJZiB4ODYgaXMgb2ssIEkg
dGhpbmsgeWVzLCB3ZSBjYW4gZG8gaXQNCj4gPiBpbiBjb21tb24gY29kZS4NCj4gDQo+IC4uLiBv
biB4ODYsIHRoaXMgY2hlY2sgaXMgcGVyZm9ybWVkIG91dHNpZGUgb2YgbnVtYV9zZXRfbm9kZSgp
IGZvciBvbmUNCj4gY2FsbGVyIHdoZXJlYXMgb24gQXJtIHlvdSBhcmUgYWRkaW5nIGl0IGluIG51
bWFfc2V0X25vZGUoKS4NCj4gDQo+IEZvciBleGFtcGxlLCBudW1hX3NldF9ub2RlKCkgY2FuIGJl
IGNhbGxlZCB3aXRoIE5VTUFfTk9fTk9ERS4gT24geDg2LCB3ZQ0KPiB3b3VsZCBzZXQgY3B1X3Rv
X25vZGVbXSB0byB0aGF0IHZhbHVlLiBIb3dldmVyLCBpZiBJIGFtIG5vdCBtaXN0YWtlbiwgb24N
Cj4gQXJtIHdlIHdvdWxkIHNldCB0aGUgdmFsdWUgdG8gMC4NCj4gDQo+IFRoaXMgd2lsbCBjaGFu
Z2UgdGhlIGJlaGF2aW9yIG9mIHVzZXJzIHRvIGNwdV90b19ub2RlKCkgbGF0ZXIgb24gKHN1Y2gN
Cj4gYXMgWEVOX1NZU0NUTF9jcHV0b3BvaW5mbykuDQo+IA0KPiBOVU1BIGlzIG5vdCBzb21ldGhp
bmcgYXJjaGl0ZWN0dXJlIHNwZWNpZmljLCBzbyBJIGRvbnQndCB0aGluayB0aGUNCj4gaW1wbGVt
ZW50YXRpb24gc2hvdWxkIGRpZmZlciBoZXJlLg0KPiANCj4gSW4gdGhpcyBjYXNlLCBJIHRoaW5r
IG51bWFfc2V0X25vZGUoKSBzaG91bGRuJ3QgY2hlY2sgaWYgdGhlIG5vZGUgaXMNCj4gdmFsaWQu
IEluc3RlYWQsIHRoZSBjYWxsZXIgc2hvdWxkIHRha2UgY2FyZSBvZiBpdCBpZiBpdCBpcyBpbXBv
cnRhbnQuDQo+IA0KDQpZZXMsIEkgYWdyZWUuIEkgd2lsbCBjaGFuZ2UgaXQgaW4gbmV4dCB2ZXJz
aW9uLg0KDQo+IENoZWVycywNCj4gDQo+IC0tDQo+IEp1bGllbiBHcmFsbA0K


From xen-devel-bounces@lists.xenproject.org Thu Aug 26 06:01:11 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 06:01:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172673.315086 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ8RM-00048O-Gm; Thu, 26 Aug 2021 06:00:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172673.315086; Thu, 26 Aug 2021 06:00:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ8RM-00048H-DO; Thu, 26 Aug 2021 06:00:40 +0000
Received: by outflank-mailman (input) for mailman id 172673;
 Thu, 26 Aug 2021 06:00:39 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=J+8W=NR=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mJ8RL-00048B-Qs
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 06:00:39 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com (unknown
 [40.107.5.61]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id ef27b22e-0632-11ec-a9cd-12813bfff9fa;
 Thu, 26 Aug 2021 06:00:37 +0000 (UTC)
Received: from DB8PR09CA0035.eurprd09.prod.outlook.com (2603:10a6:10:a0::48)
 by AS8PR08MB6822.eurprd08.prod.outlook.com (2603:10a6:20b:39c::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Thu, 26 Aug
 2021 06:00:36 +0000
Received: from DB5EUR03FT018.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:a0:cafe::e1) by DB8PR09CA0035.outlook.office365.com
 (2603:10a6:10:a0::48) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.18 via Frontend
 Transport; Thu, 26 Aug 2021 06:00:36 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT018.mail.protection.outlook.com (10.152.20.69) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Thu, 26 Aug 2021 06:00:35 +0000
Received: ("Tessian outbound 5918cb94a4b5:v103");
 Thu, 26 Aug 2021 06:00:35 +0000
Received: from f987d78c4032.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 90729520-73D6-4030-A2AC-0E97BAB5206C.1; 
 Thu, 26 Aug 2021 06:00:25 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f987d78c4032.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 26 Aug 2021 06:00:25 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB8PR08MB4201.eurprd08.prod.outlook.com (2603:10a6:10:a3::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17; Thu, 26 Aug
 2021 06:00:11 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.024; Thu, 26 Aug 2021
 06:00: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: ef27b22e-0632-11ec-a9cd-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nJeCBLytI8//jmSAV2XPUCyVqEDs6pnwBdUP/PTg+kY=;
 b=MIhzV3npXDWdliRf0BohdnDm2OPIklrtiungLkXrCQLFI4yj8ypE6fitsMrLOO8aLF8WFDQaU0CJtnvPyqHpI5E/gxTY7B4K+0koVvQ0qcaml7A8TBEvBOTYBnv/eCWZCnIWNZ4MZzdO1kYUzRVH8nhpk1/EX/2Jbx6WJFrluPE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RbIyFmYrJcZp0AvmehXei74dMcVDUQF2TXShhMEMz23nsOg6h/WsdA0MNCSVetMi79FpT/XsMXYI9zVKbRRmb4KGxd8OYT4FxBXrs+YVzTkqb7tDbeL58gmkxvvPj1T/XqJNFQk/c1lVmkKa5BwGYwYzEyhlbVg8tIsrOf4ctsp3xn7Qrw0b6pyEqbABX1MVRJ60TaeNkG4jxQeeX3il2KKj/lgHigb3IFhHtLYtaZ17eCeF63mPsdiuL7+LDKpDckgPxpUhPdBq+ZhxdCQ8pnkY4FMkVN9DgsrS6yx23S00T+pwm2O217pBjVrUKp2qWKqnoj3gVcF29GvkE1hUWg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nJeCBLytI8//jmSAV2XPUCyVqEDs6pnwBdUP/PTg+kY=;
 b=YfsYcLu486toxW5Z+K/ABIRkzIcVfjHKvY0hV8EnwwjJ7NXd+5Sa84OAkhccZyZs+Hr9aDjQGePIR7B5bzWXo0I2G1S/6ivjfX3LgoER0SjS4enNn3+VeK/Cw9L3lQtGl+GV8LHEfXIjTbvuhq9foSSQv80sCCkuXN9iMpXW1zs6+3cvgSKN+afff6mAhgw/kRUAvhZcLY4Fw+8H2oHaSN1a8dbkbzegMiGdZSLCwG3kcDWSurEs0DPnlSkJpjsWYG+VSb4SNkEfsODpIIK+jxQ/sADeB/4nc4eAB8wshrlXhLGmfTADjeaFsby4HVXZB8eVpA4Nrj9dJqrwdcTEKg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nJeCBLytI8//jmSAV2XPUCyVqEDs6pnwBdUP/PTg+kY=;
 b=MIhzV3npXDWdliRf0BohdnDm2OPIklrtiungLkXrCQLFI4yj8ypE6fitsMrLOO8aLF8WFDQaU0CJtnvPyqHpI5E/gxTY7B4K+0koVvQ0qcaml7A8TBEvBOTYBnv/eCWZCnIWNZ4MZzdO1kYUzRVH8nhpk1/EX/2Jbx6WJFrluPE=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 19/40] xen: fdt: Introduce a helper to check fdt
 node type
Thread-Topic: [XEN RFC PATCH 19/40] xen: fdt: Introduce a helper to check fdt
 node type
Thread-Index: AQHXjps7rVWDhOow7U+HXLOA5nV/AauEUAcAgAEHabA=
Date: Thu, 26 Aug 2021 06:00:10 +0000
Message-ID:
 <DB9PR08MB6857C97B373E5262B3374A3B9EC79@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-20-wei.chen@arm.com>
 <f43fed3a-a57b-4115-4f68-0fb460d5da14@xen.org>
In-Reply-To: <f43fed3a-a57b-4115-4f68-0fb460d5da14@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 9EE8D2387AE5424292FCD95FD0284F0D.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 3ac7e93d-dc38-4695-ddb8-08d96856d28c
x-ms-traffictypediagnostic: DB8PR08MB4201:|AS8PR08MB6822:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AS8PR08MB6822FD143540B10F573002AC9EC79@AS8PR08MB6822.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:8882;OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 5mEjOQ90q7CTONLwmaJwfxSlpPwhYSzC6HcSiqtMy6H/ke/tO1uL/j7M/w2KtALCbLflK3yVLmoXCc1MGFMZr1blqjZ1Rxm0aMCpa7sVgCUQXGWKEhpf8MVjGVa5z1PD9tAJDiUPY3O88B5GAW8qzZS4dTVZ+ZIYcUmRIw3DJ99f99UwrZwY+ObxwueKjLNb+m+KQQW4QDryIrJn8p1m27oPKbj9CnnXMCraohdKgpDsbVd4FS/476f41bKM2TkJBua8IKtxvr5kO+I0eYaX46GAEUVsNSS/KFLgUiTTOix/abiyX2UbFLsoZLZAtjK7P2+C0Wa6zZNYlXhtS6wxa+uAH8RW0HkzjnEIRiaEBKceGAQZUhUSgRMfZ6JX+7CBJzo4cugYbA/3mkhFniITD2wiBL1TVOZpfCZkW/NRGii1dLX6/EJl4S5iSQRXRjRxiAXM5RsoitoztKyXymZyAxQjhBz4eBr37B3wLxDUCvqUoD0F9zcTO1MUiGxYdWW+RTKaoN5UJyBheHorfY50po6f6kgNZEuQrPpeQAy0jEyw6ATroPxLlzCNRxbjcuJrHbzWA2rY9MxSeUybyUyYRzn7MEQfEx2lf/JysTxTC+U9UWvMTvGG+TPT7sL/500bSub3qcT1G2KfqZt+JOxmc6PJlrkNK9XYgCR7HKmOVm5CXoEsqIi7d2yZhUO6U/t61VTUys50UmgV6AwkASMnhw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(7696005)(122000001)(66946007)(38100700002)(4326008)(26005)(38070700005)(76116006)(52536014)(186003)(8676002)(86362001)(33656002)(71200400001)(316002)(53546011)(8936002)(66446008)(64756008)(66476007)(83380400001)(66556008)(508600001)(5660300002)(2906002)(55016002)(6506007)(9686003)(110136005);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?MEU2Zkw3eVB3SHpJWkE5RnVqY2xKWHd3TjhUcms5WE4xNXl1RWpwaXMvd1dF?=
 =?utf-8?B?TzdNeEpwN1BsTmhPWUJSNHBSRHcwVzRPMGhsaEkwMmx4U01BMGJQOFF4VS8w?=
 =?utf-8?B?czZjV3VjNll6UjlUaWJhNEp3aVYza000eFFLR1VmWjhPN1FabWpZa0RiTnV2?=
 =?utf-8?B?NkhEeUk4MmJHelk2YmNJMzNTZlNBUStJb1gzUVQ1MXZtNnBxMjhacjU0MjEr?=
 =?utf-8?B?Vi9rZHRGYlBkaDEwQ1ppeVlwVDNiSk0xQjNMMC94ckk5OXdTa3NGckxqc3Ja?=
 =?utf-8?B?L3RHM2hjTHBjWkFBMVhtMXhlcktRYU5aYndhWm9WT2J0c0VOOG9PbThJN3hh?=
 =?utf-8?B?ay83dm4rZEErRlpJbGM5aWxNY0hPT2NWTEMwK0tMS3BZcXlMT3F3WnUwcHBV?=
 =?utf-8?B?Z0ExVzA1Y1Y4MlJwWDBwVm1GNlFZQlZNdWxpakJseVNHOERkYW1xY1g1bE43?=
 =?utf-8?B?NE5zREZGL2lTMHhRVGx4eUVmcUJSOWF6SVRxanVNRlVvMUZzSkhnejlmQUNK?=
 =?utf-8?B?YmpPejJnVEVvUnMySEtNMjh4ZExGaTduamNmZ1ppZ0xBdW0vV3J4S0F6U0tN?=
 =?utf-8?B?TWxudkQweTZtaGQ1UjBSMkFGYm52R0NscTFkUFdGRHlTRGxpTFdBdlkreUN4?=
 =?utf-8?B?TlhoQUJ4cjNrb2tMQVFIcWlOZXhFRVZpWVc3VjN0Y2RQRk1KVFZRNHVtUFp4?=
 =?utf-8?B?RnFvWlZ1V29aRjV3YjhMUWN4UE1aNGkxcFZrdlBDWlBBZWdNL0J3Q3lBc3FD?=
 =?utf-8?B?SUNRUUk3ZFRwd1R4ek1XUnFNVFhlTngvQXZCbG5LcUpTbWd2ZFhvU001Qk5I?=
 =?utf-8?B?bzR0Nm1UVHJzOWdENGhoZTVYUWE4WXFDOTdNTGNTSUZvVjlPNVZJYXdrYWNP?=
 =?utf-8?B?aVV2aGI2cHdwdzZ6cm13ckkyVmpESzFtMUZrK2tmNEVxTU50RzVBdEJ3dkY0?=
 =?utf-8?B?SHN2Y1QrbC9qQlNuYjVSWTl4RWxubHBqV3JzY3JkTHdMRUZjUzFQL3dLbTFz?=
 =?utf-8?B?Y2JCSy9zeDR5c3lNS1U0MGlUQ3RNWC9keW1tY0YvME4wZkZkSlh3bmRxSUo3?=
 =?utf-8?B?SEVROVlNN2IvRzd2WXlBcDlOU0gvcDJkMGowcnY3V256VWF2dTJZWDl5ODZm?=
 =?utf-8?B?R1VCSFRpb1lmbnRGQWxqMW1nU1hGU2dSQnh5WnB3SXZCMzcxM0RkQ0xUbHBJ?=
 =?utf-8?B?S0FXRmlMeWpBN3IrcGxOcW1sQ1grOU8wVE5lcGdwR0Y1T2pXYzlKK1U0cWla?=
 =?utf-8?B?RWRMUGdYUVoyZTB1ZDg5YWYvSUJyN0xSY0d0dFprTVg4c0htRVIva1BKVzJs?=
 =?utf-8?B?b0tGTHhDclk2WUpmNndrVXdXOWNFUHVtbnRkUlhuOXkzOW42T0xxRVVDbmJC?=
 =?utf-8?B?SlhlSFlXVlRmR2Q3SUxFZ1VzK2Fpd0FBNWlrdUVCVUkydWI4dm9ReHhBa2lV?=
 =?utf-8?B?N1RrMWJhUE1kZ3MramhCd0Rud080U3I4LzZxSUJudWJ0b29NZGtZbGlmWFhn?=
 =?utf-8?B?ZFYvS0M4dUVKNnJMY1VaTEd6Wk5namYwOS9ML09Bc3d1TVJPcW1rRjdlMzh2?=
 =?utf-8?B?MUhHUHVVeHRzcHhsNU1aUTJQUEw1TEQrRnNBRlovdGJNVlRvU2svK0lURlJ0?=
 =?utf-8?B?MStJWEtQdnVDSks1Wm93RzlicXZmS3laU2pVS0czR21tSjR0eHQxRFBYQjI4?=
 =?utf-8?B?RTdIdWRMS3pERS9BUmthTmFlL0pFbmFSZDFoTWJDNWFKbnRIeVRvdXZ6cXVX?=
 =?utf-8?Q?gXfZWsLRmsDfibE8zKWJd/DEJUnaqrNWktt/AnP?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB4201
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT018.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	dc276c9a-954b-499c-ee0c-08d96856c377
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MrG3ytWQpyWpp59ABulycLnsxdC1O6E1aELNOd/2D+M9zQei0lgI24raFjoF/W5gcp6m0RghYivBUXb72zbVhFex0fAzYLNLvqqkw+BAU1b8Fdg+uSc+bhGGpYlqXGCByWUks30SScFqbotpRwFgFZ+mLz4GoO9kSRxDmuMowiIAuNTfJ+DkP/sxavR3Kf0UfwcB8HojlInH4CUf0YFZx51LYaeg44AtG4+flyuSrRY6hY+GfnUqHVee80pTKRblzosvuWEPYj/+pmRnkgyvoWTXv1BuJbKe3u2cZOOlojNG/ECJW10EgKPH4Vdr01U4FYyCP3Inzsu2uk25t0JxlJFDXSLZNLF5xwAtdeONea2EXcKqXSKzCKrMj9RnrqbS2eHKn4GH9zg5UpZe7TOIL/hwtwLyPNxLY9EfZa73p2YxUDegZ6Mybv7dnSONdfCRLqUElW50LDRG+auyqE23ATGSdvwp+TruwAQEDt10WDHfG7uf659hqXe4RnqrBxLJ8Rh3I+cnyTA0R1zlVdFtpSy8VKy+0GIszc4nY9jgw76QyWk41wCEP/nLbZHnE899opXyUjHSa8OI60SZmxVwO+pI+fD3k5ZQtkn+6BFIyckurrnFW8asK0VdGf+Kcs9AZ2u3JfO7yNi2SFPmB2xyKmtnMk7Dr1XZiKbPYbUU9LFoNf9jQXVkglTIBbMYfYYJbxDhCngq6ksxHzpsEF6s8Q==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(36840700001)(46966006)(356005)(110136005)(7696005)(53546011)(6506007)(81166007)(47076005)(316002)(83380400001)(55016002)(336012)(4326008)(508600001)(33656002)(36860700001)(86362001)(52536014)(8676002)(70586007)(26005)(8936002)(70206006)(82310400003)(186003)(2906002)(9686003)(5660300002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 06:00:35.8479
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3ac7e93d-dc38-4695-ddb8-08d96856d28c
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT018.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6822

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMjXml6UgMjE6MzkN
Cj4gVG86IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgeGVuLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnOw0KPiBzc3RhYmVsbGluaUBrZXJuZWwub3JnDQo+IENjOiBCZXJ0cmFuZCBNYXJx
dWlzIDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+OyBKYW4gQmV1bGljaA0KPiA8amJldWxpY2hA
c3VzZS5jb20+DQo+IFN1YmplY3Q6IFJlOiBbWEVOIFJGQyBQQVRDSCAxOS80MF0geGVuOiBmZHQ6
IEludHJvZHVjZSBhIGhlbHBlciB0byBjaGVjaw0KPiBmZHQgbm9kZSB0eXBlDQo+IA0KPiBIaSBX
ZWksDQo+IA0KPiBPbiAxMS8wOC8yMDIxIDExOjI0LCBXZWkgQ2hlbiB3cm90ZToNCj4gPiBJbiBs
YXRlciBwYXRjaGVzLCB3ZSB3aWxsIHBhcnNlIENQVSBhbmQgbWVtb3J5IE5VTUEgaW5mb3JtYXRp
b24NCj4gPiBmcm9tIGRldmljZSB0cmVlLiBGRFQgaXMgdXNpbmcgZGV2aWNlIHR5cGUgcHJvcGVy
dHkgdG8gaW5kaWNhdGUNCj4gPiBDUFUgbm9kZXMgYW5kIG1lbW9yeSBub2Rlcy4gU28gd2UgaW50
cm9kdWNlIGZkdF9ub2RlX2NoZWNrX3R5cGUNCj4gPiBpbiB0aGlzIHBhdGNoIHRvIGF2b2lkIHJl
ZHVuZGFudCBjb2RlIGluIHN1YnNlcXVlbnQgcGF0Y2hlcy4NCj4gPg0KPiA+IFNpZ25lZC1vZmYt
Ynk6IFdlaSBDaGVuIDx3ZWkuY2hlbkBhcm0uY29tPg0KPiA+IC0tLQ0KPiA+ICAgeGVuL2NvbW1v
bi9saWJmZHQvZmR0X3JvLmMgICAgICB8IDE1ICsrKysrKysrKysrKysrKw0KPiA+ICAgeGVuL2lu
Y2x1ZGUveGVuL2xpYmZkdC9saWJmZHQuaCB8IDI1ICsrKysrKysrKysrKysrKysrKysrKysrKysN
Cj4gDQo+IFRoaXMgaXMgbWVhbnQgdG8gYmUgYSB2ZXJiYXRpbSBjb3B5IG9mIGxpYmZkdC4gU28g
SSBhbSBub3QgZW50aXJlbHkgaW4NCj4gZmF2b3Igb2YgYWRkaW5nIGEgbmV3IGZ1bmN0aW9uIHRo
ZXJlZm9yZSB3aXRob3V0IGJlZW4gdXBzdHJlYW1lZCB0bw0KPiBsaWJmZHQgZmlyc3QuDQo+IA0K
DQpPaCwgaWYgd2UgbmVlZCB0byB1cHN0cmVhbSB0aGlzIGNoYW5nZSBpbiBsaWJmZHQuIEkgdGhp
bmsgSSdkIGJldHRlcg0KdG8gcmVtb3ZlIHRoaXMgY2hhbmdlIGluIGxpYmZkdC4gQmVjYXVzZSB3
ZSBjYW4gaW1wbGVtZW50IHR5cGUgY2hlY2tpbmcNCmluIG90aGVyIHBsYWNlLCBhbmQgSSBkb24n
dCB3YW50IHRvIGludHJvZHVjZSBhIGRlcGVuZGVuY3kgb24gZXh0ZXJuYWwNCnJlcG8gdXBzdHJl
YW0gaW4gdGhpcyBzZXJpZXMuDQoNCj4gPiAgIDIgZmlsZXMgY2hhbmdlZCwgNDAgaW5zZXJ0aW9u
cygrKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vbGliZmR0L2ZkdF9yby5jIGIv
eGVuL2NvbW1vbi9saWJmZHQvZmR0X3JvLmMNCj4gPiBpbmRleCAzNmY5YjQ4MGQxLi5hZTc3OTRk
ODcwIDEwMDY0NA0KPiA+IC0tLSBhL3hlbi9jb21tb24vbGliZmR0L2ZkdF9yby5jDQo+ID4gKysr
IGIveGVuL2NvbW1vbi9saWJmZHQvZmR0X3JvLmMNCj4gPiBAQCAtNTQ1LDYgKzU0NSwyMSBAQCBp
bnQgZmR0X25vZGVfY2hlY2tfY29tcGF0aWJsZShjb25zdCB2b2lkICpmZHQsIGludA0KPiBub2Rl
b2Zmc2V0LA0KPiA+ICAgCQlyZXR1cm4gMTsNCj4gPiAgIH0NCj4gPg0KPiA+ICtpbnQgZmR0X25v
ZGVfY2hlY2tfdHlwZShjb25zdCB2b2lkICpmZHQsIGludCBub2Rlb2Zmc2V0LA0KPiA+ICsJCQkg
ICAgICBjb25zdCBjaGFyICp0eXBlKQ0KPiA+ICt7DQo+ID4gKwljb25zdCB2b2lkICpwcm9wOw0K
PiA+ICsJaW50IGxlbjsNCj4gPiArDQo+ID4gKwlwcm9wID0gZmR0X2dldHByb3AoZmR0LCBub2Rl
b2Zmc2V0LCAiZGV2aWNlX3R5cGUiLCAmbGVuKTsNCj4gPiArCWlmICghcHJvcCkNCj4gPiArCQly
ZXR1cm4gbGVuOw0KPiA+ICsJaWYgKGZkdF9zdHJpbmdsaXN0X2NvbnRhaW5zKHByb3AsIGxlbiwg
dHlwZSkpDQo+IA0KPiBUaGUgImRldmljZV90eXBlIiBpcyBub3QgYSBsaXN0IG9mIHN0cmluZy4g
U28gSSBhbSBhIGJpdCBjb25mdXNlZCB3aHkNCj4geW91IGFyZSB1c2luZyB0aGlzIGhlbHBlci4g
U2hvdWxkbid0IHdlIHNpbXBseSBjaGVjayB0aGF0IHRoZSBwcm9wZXJ0eQ0KPiB2YWx1ZSBhbmQg
dHlwZSBtYXRjaGVzPw0KPiANCg0KWWVzLCBJIHRoaW5rIHlvdSdyZSByaWdodC4gVGhpcyBmdW5j
dGlvbiB3YXMgYmFzZWQgb24gdGhlIG1vZGlmaWNhdGlvbg0Kb2YgZmR0X25vZGVfY2hlY2tfY29t
cGF0aWJsZSwgYW5kIEkgZm9yZ290IHRvIHJlcGxhY2UgZmR0X3N0cmluZ2xpc3RfY29udGFpbnMu
DQpBbmQsIGFzIEkgcmVwbHkgYWJvdmUsIHdlIGNhbiBzaW1wbHkgdGhlIGNoZWNrLiBBbmQgSSB3
aWxsIGltcGxlbWVudCBpdA0Kb3V0IG9mIGxpYmZkdC4NCg0KPiA+ICsJCXJldHVybiAwOw0KPiA+
ICsJZWxzZQ0KPiA+ICsJCXJldHVybiAxOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICAgaW50IGZkdF9u
b2RlX29mZnNldF9ieV9jb21wYXRpYmxlKGNvbnN0IHZvaWQgKmZkdCwgaW50IHN0YXJ0b2Zmc2V0
LA0KPiA+ICAgCQkJCSAgY29uc3QgY2hhciAqY29tcGF0aWJsZSkNCj4gPiAgIHsNCj4gPiBkaWZm
IC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL2xpYmZkdC9saWJmZHQuaA0KPiBiL3hlbi9pbmNsdWRl
L3hlbi9saWJmZHQvbGliZmR0LmgNCj4gPiBpbmRleCA3Yzc1Njg4YTM5Li43ZTQ5MzBkYmNkIDEw
MDY0NA0KPiA+IC0tLSBhL3hlbi9pbmNsdWRlL3hlbi9saWJmZHQvbGliZmR0LmgNCj4gPiArKysg
Yi94ZW4vaW5jbHVkZS94ZW4vbGliZmR0L2xpYmZkdC5oDQo+ID4gQEAgLTc5OSw2ICs3OTksMzEg
QEAgaW50IGZkdF9ub2RlX29mZnNldF9ieV9waGFuZGxlKGNvbnN0IHZvaWQgKmZkdCwNCj4gdWlu
dDMyX3QgcGhhbmRsZSk7DQo+ID4gICBpbnQgZmR0X25vZGVfY2hlY2tfY29tcGF0aWJsZShjb25z
dCB2b2lkICpmZHQsIGludCBub2Rlb2Zmc2V0LA0KPiA+ICAgCQkJICAgICAgY29uc3QgY2hhciAq
Y29tcGF0aWJsZSk7DQo+ID4NCj4gPiArLyoqDQo+ID4gKyAqIGZkdF9ub2RlX2NoZWNrX3R5cGU6
IGNoZWNrIGEgbm9kZSdzIGRldmljZV90eXBlIHByb3BlcnR5DQo+ID4gKyAqIEBmZHQ6IHBvaW50
ZXIgdG8gdGhlIGRldmljZSB0cmVlIGJsb2INCj4gPiArICogQG5vZGVvZmZzZXQ6IG9mZnNldCBv
ZiBhIHRyZWUgbm9kZQ0KPiA+ICsgKiBAdHlwZTogc3RyaW5nIHRvIG1hdGNoIGFnYWluc3QNCj4g
PiArICoNCj4gPiArICoNCj4gPiArICogZmR0X25vZGVfY2hlY2tfdHlwZSgpIHJldHVybnMgMCBp
ZiB0aGUgZ2l2ZW4gbm9kZSBjb250YWlucyBhDQo+ICdkZXZpY2VfdHlwZScNCj4gPiArICogcHJv
cGVydHkgd2l0aCB0aGUgZ2l2ZW4gc3RyaW5nIGFzIG9uZSBvZiBpdHMgZWxlbWVudHMsIGl0IHJl
dHVybnMNCj4gbm9uLXplcm8NCj4gPiArICogb3RoZXJ3aXNlLCBvciBvbiBlcnJvci4NCj4gPiAr
ICoNCj4gPiArICogcmV0dXJuczoNCj4gPiArICoJMCwgaWYgdGhlIG5vZGUgaGFzIGEgJ2Rldmlj
ZV90eXBlJyBwcm9wZXJ0eSBsaXN0aW5nIHRoZSBnaXZlbiBzdHJpbmcNCj4gPiArICoJMSwgaWYg
dGhlIG5vZGUgaGFzIGEgJ2RldmljZV90eXBlJyBwcm9wZXJ0eSwgYnV0IGl0IGRvZXMgbm90IGxp
c3QNCj4gPiArICoJCXRoZSBnaXZlbiBzdHJpbmcNCj4gPiArICoJLUZEVF9FUlJfTk9URk9VTkQs
IGlmIHRoZSBnaXZlbiBub2RlIGhhcyBubyAnZGV2aWNlX3R5cGUnIHByb3BlcnR5DQo+ID4gKyAq
IAktRkRUX0VSUl9CQURPRkZTRVQsIGlmIG5vZGVvZmZzZXQgZG9lcyBub3QgcmVmZXIgdG8gYQ0K
PiBCRUdJTl9OT0RFIHRhZw0KPiA+ICsgKgktRkRUX0VSUl9CQURNQUdJQywNCj4gPiArICoJLUZE
VF9FUlJfQkFEVkVSU0lPTiwNCj4gPiArICoJLUZEVF9FUlJfQkFEU1RBVEUsDQo+ID4gKyAqCS1G
RFRfRVJSX0JBRFNUUlVDVFVSRSwgc3RhbmRhcmQgbWVhbmluZ3MNCj4gPiArICovDQo+ID4gK2lu
dCBmZHRfbm9kZV9jaGVja190eXBlKGNvbnN0IHZvaWQgKmZkdCwgaW50IG5vZGVvZmZzZXQsDQo+
ID4gKwkJCSAgICAgIGNvbnN0IGNoYXIgKnR5cGUpOw0KPiA+ICsNCj4gPiAgIC8qKg0KPiA+ICAg
ICogZmR0X25vZGVfb2Zmc2V0X2J5X2NvbXBhdGlibGUgLSBmaW5kIG5vZGVzIHdpdGggYSBnaXZl
bg0KPiAnY29tcGF0aWJsZScgdmFsdWUNCj4gPiAgICAqIEBmZHQ6IHBvaW50ZXIgdG8gdGhlIGRl
dmljZSB0cmVlIGJsb2INCj4gPg0KPiANCj4gQ2hlZXJzLA0KPiANCj4gLS0NCj4gSnVsaWVuIEdy
YWxsDQo=


From xen-devel-bounces@lists.xenproject.org Thu Aug 26 06:35:48 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 06:35:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172679.315097 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ8z6-00082L-9c; Thu, 26 Aug 2021 06:35:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172679.315097; Thu, 26 Aug 2021 06: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 1mJ8z6-00082E-6T; Thu, 26 Aug 2021 06:35:32 +0000
Received: by outflank-mailman (input) for mailman id 172679;
 Thu, 26 Aug 2021 06:35:31 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=J+8W=NR=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mJ8z5-000828-07
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 06:35:31 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com (unknown
 [40.107.8.40]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id cd456f16-0637-11ec-a9cf-12813bfff9fa;
 Thu, 26 Aug 2021 06:35:28 +0000 (UTC)
Received: from AM6P192CA0059.EURP192.PROD.OUTLOOK.COM (2603:10a6:209:82::36)
 by VI1PR08MB4542.eurprd08.prod.outlook.com (2603:10a6:803:fa::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Thu, 26 Aug
 2021 06:35:26 +0000
Received: from AM5EUR03FT012.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:82:cafe::53) by AM6P192CA0059.outlook.office365.com
 (2603:10a6:209:82::36) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17 via Frontend
 Transport; Thu, 26 Aug 2021 06:35:25 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT012.mail.protection.outlook.com (10.152.16.161) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Thu, 26 Aug 2021 06:35:25 +0000
Received: ("Tessian outbound 1a0c40aa17d8:v103");
 Thu, 26 Aug 2021 06:35:24 +0000
Received: from 4e907fb4517b.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B48F3E13-4E3E-4BE6-BD73-5CCDD98CD655.1; 
 Thu, 26 Aug 2021 06:35:18 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 4e907fb4517b.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 26 Aug 2021 06:35:18 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB9PR08MB6540.eurprd08.prod.outlook.com (2603:10a6:10:260::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Thu, 26 Aug
 2021 06:35:16 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.024; Thu, 26 Aug 2021
 06: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: cd456f16-0637-11ec-a9cf-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pmhLZq4VgZwoGT6w0sxyQ1lZndkTH7pNV0h/DqE8BTY=;
 b=G6MlruEhwSZKr3oUcpyWIPyccw+gpUou4rterzTmwkgQYyjoQSBdOio0GBgsketPlLRa5Ys3A89rkKW8F+CTepyXiLfFmqbSFGUOS4fFUuJCYF85k2phLxZfxoERTJVl6mf+xRN1M3eLkgkxGViocRbr6EO78I2JR14U0MKrVkg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eOeqVNyIXdLDYQMctB7qh/GABhrHitY4GV9n6AvoyVtqOXs1T97WBEtyKalh6l05lPMRwz9q3uLAhd23Rc7yrNKfIN3bNKFvMl+e/IGT4t7j90ri0syxpMR9OM4hvXJ2Cd7KIp2Xfjs49xFy3vGteXLm9h9M2DZ0n5bGYqYBkZ8k/QxzFIn8QG3PcVq+kgxUjGVrtLPx2mTFpwKMS6RSy7XMM6gB/CSAMcWzu06s0Ovyc0IHi+vsrQM9eg7BVCzoYj97W1A1GSd1+V93ma+kh8LCknSPel4XRVoZTVmQzvxvtXJ+jP5lK6DnAFQ5tIjsWPJg3QA7Pu8vNKpf5YOBCQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pmhLZq4VgZwoGT6w0sxyQ1lZndkTH7pNV0h/DqE8BTY=;
 b=H04Ngye/PCkrwDrBTBK/KJWVTblXrktjPwFj6m/6Obsa9xiDdOrKfqYTINjaBTOxGMm8D9o0jKd04gBXLPSS6Wm7NCqUhnVaBXnpAIDHRUIVPtj6Jd4wzKsB4URUhtLsPBQ38RYYEAgot0dfn8dfpvNdT4uSdIugktsN8Cgxh0aNE2BnpS6zY7ZXB/9Ag4E+0VqVw2VPnHY3MIAxbl+USlgnMWO8VP11bVD1fCFAQhU6+1PpzXCIBtAXpZsa5k2Kx6i0nOJv70UTJ6tjsBHHlfztmCaK9YVWOr5cjkN5iLvVgIn3idZGlQNFET5tispnTFqVrujjl7eFC2loRkhyhA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pmhLZq4VgZwoGT6w0sxyQ1lZndkTH7pNV0h/DqE8BTY=;
 b=G6MlruEhwSZKr3oUcpyWIPyccw+gpUou4rterzTmwkgQYyjoQSBdOio0GBgsketPlLRa5Ys3A89rkKW8F+CTepyXiLfFmqbSFGUOS4fFUuJCYF85k2phLxZfxoERTJVl6mf+xRN1M3eLkgkxGViocRbr6EO78I2JR14U0MKrVkg=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 23/40] xen/arm: introduce a helper to parse device
 tree memory node
Thread-Topic: [XEN RFC PATCH 23/40] xen/arm: introduce a helper to parse
 device tree memory node
Thread-Index: AQHXjps6uVXfLZKD7EKSvvhEptOzS6uEUqiAgAEPgfA=
Date: Thu, 26 Aug 2021 06:35:14 +0000
Message-ID:
 <DB9PR08MB6857604B3D4B690F2B8832BD9EC79@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-24-wei.chen@arm.com>
 <4bd56df9-f95b-eb19-dbbc-d12b4f7b0668@xen.org>
In-Reply-To: <4bd56df9-f95b-eb19-dbbc-d12b4f7b0668@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: A72D909291B6A3408B5696D0C8BB894C.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: b230cd93-a529-40b3-990d-08d9685baffb
x-ms-traffictypediagnostic: DB9PR08MB6540:|VI1PR08MB4542:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR08MB45426FD65206A10C319F47EA9EC79@VI1PR08MB4542.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:5236;OLM:5236;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 SIydIm2du/AYUS/IogOA2fBfjE2g5ElmIh32uKW4GC+vr7zpn3TQbhWvI7Sahg23n6LSvHrkkO9TufULkpH/XEHNTtQ0M8rIstuT4RRSjZtdZbAbZ83RQYpbBYZJRY2niH+WhUDLKpFATdI/+ktthF6/eQZnoMj3BjHiYAA/9zqzxI6Op6WloF3QBu8URuDLtFIRjWr1NXrGy+/6QyrY5S7EVimaO7Ddw1Ah0dc0hBe9aulJadShone1n/N3BgQr432e9+d/IkTIddiLM7zvEdJ7R2xZsaoAoAtqHJrV6N0rvmfP2rUafnpjoGpflP1nJpNe4l8hmyb8F9ccYzDF4kUxP4aZh9MZK3H4A8JC/n/Xjgyc0ajVRcyvKexoDhzhDL3Csd4pibxKnnQhxQiw5Bw/aOecFRlH6TxRj+zwtgpgyR3PgIPUijM9M5LuXgx1DkPTEC2fZkk/XrjQ07NN4VePQyuJsZYou3/aA6XX9RQfEYRki8sssQv5TzOEuX3xhYzQj5qcDTO4HQlUikxNaeZgPgp/SivsxSEsmarh3lgM2bB77OSHvNdjg2BkfDKpd5SGGvqHfssqDxyzeD8qxOig7wMC3DEtJd2LdOhopAJsFX7RMUdIsB+dFA3ixFosWI9GNxxDvSXFUfPGh8dxx7k7b/v+RlRiSLu3rTj/LPhwnZF8zBZzVLZgUZeFnbT7jmGoijYGveamLuduW5H0xQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(136003)(376002)(346002)(39850400004)(366004)(396003)(110136005)(38100700002)(8936002)(66476007)(8676002)(122000001)(478600001)(55016002)(26005)(9686003)(186003)(52536014)(7696005)(86362001)(64756008)(53546011)(33656002)(6506007)(71200400001)(83380400001)(316002)(76116006)(2906002)(66446008)(66556008)(4326008)(66946007)(38070700005)(5660300002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?T0lsUU0wdnZJRGswM1hOUVdsMUJLTGdTbnEwZXhTaENNb09NbHVmYnltWm9K?=
 =?utf-8?B?OFpNU0RtdDBsOVNmeFZIdDFUY3VJaFM0UnBwMWUrSXluYUFQNEtjMEVTV2o1?=
 =?utf-8?B?L1RTQURJeGEraWlZbGNLRU92SWJhWlhaMnptR1o5VVd4RDB2N01OZDExejBz?=
 =?utf-8?B?bDVzcUVaRW1waDU0aTFDS2d4anJGbWJEV3c5c3BFazBFVUUzdXpFWkptNTBx?=
 =?utf-8?B?K2U4U2VTZ29pNnNwNnRIbmZTL2YrS29HdytTQkg0dlIwS2tvaEJQa0JVbi9I?=
 =?utf-8?B?bHZTUUVnRCtJeXcyTHJhbzc0Z1NRSUljd25wSFJWcEMrYTQ2MU43dG0yMUd3?=
 =?utf-8?B?QmY0OXVSQkg2YmJpYTBoVUZQSVlpYnFsSEFsbUF6R0piaWpPeFJXWmgwK1E5?=
 =?utf-8?B?NUp1RE9XN3BON1FLMEduaTFzYTRrQWJxQ3VPTWFOZ29jY3pXSGNnbUttUWJN?=
 =?utf-8?B?V3hBZzF5SnRIRUhiMHYyelA2c3M3eGhSVXZGdDkzZHA5ZkJodU5uOUdFbHE0?=
 =?utf-8?B?WmUzUkpxOS91bDVwdldDMXdEU2dnb2lxMFE4TUl3OFdtanJpYUlaSWx2ZUJ6?=
 =?utf-8?B?UzdzZHROTHE3ZUVpbWdmdHVWZnlqUWMrNmJZMnpFajNibVA4SHpPR2xVZmNS?=
 =?utf-8?B?TFgrL0ZuZ3lrejhhR2tPUHNJV3d2djRBNCs2ZnpvMGRBVllWWlBaeTBjZzRV?=
 =?utf-8?B?aXU0ODJSazRLK2RoY1l0VjhZaU9FMmd0S3hOWkkxeUVvUjRJUjN4NGJxcFlE?=
 =?utf-8?B?N0FkTUZseG5VTUw3bHFKVElpWkREeUlkbXZYaGQraHcvS3JQNmROZnpDczYz?=
 =?utf-8?B?LzdFY3NJZmpXaHlYK1RvTGQxWmFuK0N1bFU2azR6S2ZSd1ovbkFDVy9YRVFi?=
 =?utf-8?B?ZG15VUR1eG81b2JsRklJalVXblFlaEc4eWxtUDcvRVd4TCt5TWRNbFUxUTJJ?=
 =?utf-8?B?L1ZqTXpVRVUwUk1MNTJjSWxKNVRGWmI3RThodDdUUzBXUGlTbG85T3Zmb0ZZ?=
 =?utf-8?B?U0c5ak5uclBCQVUwUFNtMUJPWjg2aHlna2IvMEJTNWs5Y2dnMGxlTHlDL0Fj?=
 =?utf-8?B?UW1MaXhhN2paRGNKQ1prRDFHVlF2ellYM0c1b0FEeUl0S2FSTCtrUXhRZHJm?=
 =?utf-8?B?d2NYM1hPS0taQkx1UTJvb1hhSHBlQzc4TldjcEROY2V6Y1MweFl3anRFVXcz?=
 =?utf-8?B?czJmMmlIdGl0SEtXUHVvbml5Ujk0N2xqOGc4QThOaVF4LzlDSDhUSzgwSENN?=
 =?utf-8?B?Z0xtaThVeUhkZzE3SGp1L1EwbEQzd0EvVHU4bEhKQUVzKzhBSU9qWFpzOTJn?=
 =?utf-8?B?bnhGOVdTTWk4SDNWQXE4UHlyeC9iTWxXSjFPVWdlNjdJQ2EwMHVnQTRiSjdV?=
 =?utf-8?B?Nlh5Sm5ZbXU0WE5yYytoT1h3NnlsSzdWOTJ1aDNjN1ArZnFJWmRxRlB1cTJH?=
 =?utf-8?B?YlkydTRwWjJSVDU1V3FMTEx4Qm4xeHVvYzZtRi9PUDhaNnRac082d2hjd1pw?=
 =?utf-8?B?cmcyMUdFMVQxQW1KSFlWZkphVVBSbFBsQ1pCUmw3UkFzbXNnY0ZaRUxxeC8v?=
 =?utf-8?B?Q2VncFg2eEx4N2doMTJxWmxCc1BndkwvM3ExdzRVRnZGcDZrOU1vdE1OZVor?=
 =?utf-8?B?THg0blZPMlM0RW03eUNybWdYZ2lkenlQRytoeU5JNE05OEh3NmFFQ3YxWFhS?=
 =?utf-8?B?VDVjOWR0eGJWQWQ1YU1LcUlTcHlYTGk2VWxET2FXd3A3dGFOdFFFT0hiNEJT?=
 =?utf-8?Q?d/80Cb1VSynblp/jRPgIt1UZgXOD1OJ9gDMWm/X?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6540
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT012.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	23686eec-b714-438c-fb4b-08d9685ba993
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8V2VLH6ra7zdEzb17M02WkwsLju+l7M/vruSh5O6SmlNjcv+W3v+Y7gnY21pFggLfKOzxbO+YkhZt/j88viRVm5kab/W+FtCBgdcUrZCjYWWoRSQTp4OfagNLZ+mCrSPU8i57SfpoS4o4OH/lAMI1btM4RKRYEEljsZCDQRqriC2xYY2xYL0emUwFVyLlGXYWEHO5Vs+JmcMgYJ9uS1ImDM35i1abfW4v5toNWx5gIQ527LAOjV68ooN4eBvtvWbIrizbMS6Fw2xLmHNtgepT++mb/ATPgKfmQb/UBc9HnuTmz8eOZRfKBJPKO4j8f6Hr21xCQFPTpP2DGHRBZS0SP0X7atA8YhxRCTNCQFPWqEhtG6VNkB7Kmy21NhUDhmnDr31O/GBSPIfZ4xwJajNM+5Vtd07b79GO+fdTRGBwW2dj3qx+mFq8JtRxRfWiUu/qEchMS8b3cQv7WIssrqupKP2zNlnd5dLWW3WM0h8Xyy1OHtwrGgcZElfE+svqy0fxGikkL/xzxThKVOefu+RnDWAmGeqH/PeLPpYxC6Lby/bSgEocNo+mAEX3TQrMpv26jquHtnvRMWn8IvlvCJWIToDeYIlDL2YT4RCFBhCjtw9bv+Xvepy1EIlcGX0hfUWImSi3wlXeUAQyL17/6lJYtLAjKxQy2Qb1n133wsr5JxtyskVShnaGvdbspqjZJdtz8J4E8376RhI4dShw2bJiw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(39860400002)(346002)(136003)(396003)(376002)(36840700001)(46966006)(7696005)(110136005)(83380400001)(70206006)(478600001)(8936002)(6506007)(336012)(36860700001)(70586007)(4326008)(33656002)(82740400003)(47076005)(186003)(8676002)(82310400003)(81166007)(5660300002)(86362001)(9686003)(55016002)(316002)(26005)(52536014)(53546011)(2906002)(356005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 06:35:25.2630
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b230cd93-a529-40b3-990d-08d9685baffb
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT012.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB4542

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMjXml6UgMjE6NDkN
Cj4gVG86IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgeGVuLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnOw0KPiBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqYmV1bGljaEBzdXNlLmNvbQ0K
PiBDYzogQmVydHJhbmQgTWFycXVpcyA8QmVydHJhbmQuTWFycXVpc0Bhcm0uY29tPg0KPiBTdWJq
ZWN0OiBSZTogW1hFTiBSRkMgUEFUQ0ggMjMvNDBdIHhlbi9hcm06IGludHJvZHVjZSBhIGhlbHBl
ciB0byBwYXJzZQ0KPiBkZXZpY2UgdHJlZSBtZW1vcnkgbm9kZQ0KPiANCj4gSGkgV2VpLA0KPiAN
Cj4gT24gMTEvMDgvMjAyMSAxMToyNCwgV2VpIENoZW4gd3JvdGU6DQo+ID4gTWVtb3J5IGJsb2Nr
cycgTlVNQSBJRCBpbmZvcm1hdGlvbiBpcyBzdG9yZWQgaW4gZGV2aWNlIHRyZWUncw0KPiA+IG1l
bW9yeSBub2RlcyBhcyAibnVtYS1ub2RlLWlkIi4gV2UgbmVlZCBhIG5ldyBoZWxwZXIgdG8gcGFy
c2UNCj4gPiBhbmQgdmVyaWZ5IHRoaXMgSUQgZnJvbSBtZW1vcnkgbm9kZXMuDQo+ID4NCj4gPiBJ
biBvcmRlciB0byBzdXBwb3J0IG1lbW9yeSBhZmZpbml0eSBpbiBsYXRlciB1c2UsIHRoZSB2YWxp
ZA0KPiA+IG1lbW9yeSByYW5nZXMgYW5kIE5VTUEgSUQgd2lsbCBiZSBzYXZlZCB0byB0YWJsZXMu
DQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBXZWkgQ2hlbiA8d2VpLmNoZW5AYXJtLmNvbT4NCj4g
PiAtLS0NCj4gPiAgIHhlbi9hcmNoL2FybS9udW1hX2RldmljZV90cmVlLmMgfCAxMzAgKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gPiAgIDEgZmlsZSBjaGFuZ2VkLCAxMzAgaW5z
ZXJ0aW9ucygrKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9udW1hX2Rldmlj
ZV90cmVlLmMNCj4gYi94ZW4vYXJjaC9hcm0vbnVtYV9kZXZpY2VfdHJlZS5jDQo+ID4gaW5kZXgg
MzdjYzU2YWNmMy4uYmJlMDgxZGNkMSAxMDA2NDQNCj4gPiAtLS0gYS94ZW4vYXJjaC9hcm0vbnVt
YV9kZXZpY2VfdHJlZS5jDQo+ID4gKysrIGIveGVuL2FyY2gvYXJtL251bWFfZGV2aWNlX3RyZWUu
Yw0KPiA+IEBAIC0yMCwxMSArMjAsMTMgQEANCj4gPiAgICNpbmNsdWRlIDx4ZW4vaW5pdC5oPg0K
PiA+ICAgI2luY2x1ZGUgPHhlbi9ub2RlbWFzay5oPg0KPiA+ICAgI2luY2x1ZGUgPHhlbi9udW1h
Lmg+DQo+ID4gKyNpbmNsdWRlIDx4ZW4vbGliZmR0L2xpYmZkdC5oPg0KPiA+ICAgI2luY2x1ZGUg
PHhlbi9kZXZpY2VfdHJlZS5oPg0KPiA+ICAgI2luY2x1ZGUgPGFzbS9zZXR1cC5oPg0KPiA+DQo+
ID4gICBzOCBkZXZpY2VfdHJlZV9udW1hID0gMDsNCj4gPiAgIHN0YXRpYyBub2RlbWFza190IHBy
b2Nlc3Nvcl9ub2Rlc19wYXJzZWQgX19pbml0ZGF0YTsNCj4gPiArc3RhdGljIG5vZGVtYXNrX3Qg
bWVtb3J5X25vZGVzX3BhcnNlZCBfX2luaXRkYXRhOw0KPiA+DQo+ID4gICBzdGF0aWMgaW50IHNy
YXRfZGlzYWJsZWQodm9pZCkNCj4gPiAgIHsNCj4gPiBAQCAtNTUsNiArNTcsNzkgQEAgc3RhdGlj
IGludCBfX2luaXQNCj4gZHRiX251bWFfcHJvY2Vzc29yX2FmZmluaXR5X2luaXQobm9kZWlkX3Qg
bm9kZSkNCj4gPiAgICAgICByZXR1cm4gMDsNCj4gPiAgIH0NCj4gPg0KPiA+ICsvKiBDYWxsYmFj
ayBmb3IgcGFyc2luZyBvZiB0aGUgbWVtb3J5IHJlZ2lvbnMgYWZmaW5pdHkgKi8NCj4gPiArc3Rh
dGljIGludCBfX2luaXQgZHRiX251bWFfbWVtb3J5X2FmZmluaXR5X2luaXQobm9kZWlkX3Qgbm9k
ZSwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkcl90IHN0YXJ0LCBw
YWRkcl90IHNpemUpDQo+ID4gK3sNCj4gDQo+IFRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIGZ1
bmN0aW9uIGlzIHF1aXRlIHNpbWlsYXIgb3QgdGhlIEFDUEkNCj4gdmVyc2lvbi4gQ2FuIHRoaXMg
YmUgYWJzdHJhY3RlZD8NCg0KSW4gbXkgZHJhZnQsIEkgaGFkIHRyaWVkIHRvIG1lcmdlIEFDUEkg
YW5kIERUQiB2ZXJzaW9ucyBpbiBvbmUNCmZ1bmN0aW9uLiBJIGludHJvZHVjZWQgYSBudW1iZXIg
b2YgImlmIGVsc2UiIHRvIGRpc3Rpbmd1aXNoIEFDUEkNCmZyb20gRFRCLCBlc3BlY2lhbGx5IEFD
UEkgaG90cGx1Zy4gVGhlIGZ1bmN0aW9uIHNlZW1zIHZlcnkgbWVzc3kuDQpOb3QgZW5vdWdoIGJl
bmVmaXRzIHRvIG1ha2UgdXAgZm9yIHRoZSBtZXNzLCBzbyBJIGdhdmUgdXAuDQoNCkJ1dCwgeWVz
LCBtYXliZSB3ZSBjYW4gYWJzdHJhY3Qgc29tZSBjb21tb24gY29kZSB0byBmdW5jdGlvbnMsIHRo
YXQNCmNhbiBiZSByZXVzZWQgaW4gdHdvIGZ1bmN0aW9ucy4gSSB3b3VsZCB0cnkgaXQgaW4gbmV4
dCB2ZXJzaW9uLg0KDQoNCj4gDQo+ID4gKyAgICBzdHJ1Y3Qgbm9kZSAqbmQ7DQo+ID4gKyAgICBw
YWRkcl90IGVuZDsNCj4gPiArICAgIGludCBpOw0KPiA+ICsNCj4gPiArICAgIGlmICggc3JhdF9k
aXNhYmxlZCgpICkNCj4gPiArICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4gPiArDQo+ID4gKyAg
ICBlbmQgPSBzdGFydCArIHNpemU7DQo+ID4gKyAgICBpZiAoIG51bV9ub2RlX21lbWJsa3MgPj0g
TlJfTk9ERV9NRU1CTEtTICkNCj4gPiArICAgIHsNCj4gPiArICAgICAgICBkcHJpbnRrKFhFTkxP
R19XQVJOSU5HLA0KPiA+ICsgICAgICAgICAgICAgICAgIlRvbyBtYW55IG51bWEgZW50cnksIHRy
eSBiaWdnZXIgTlJfTk9ERV9NRU1CTEtTIFxuIik7DQo+ID4gKyAgICAgICAgYmFkX3NyYXQoKTsN
Cj4gPiArICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4gPiArICAgIH0NCj4gPiArDQo+ID4gKyAg
ICAvKiBJdCBpcyBmaW5lIHRvIGFkZCB0aGlzIGFyZWEgdG8gdGhlIG5vZGVzIGRhdGEgaXQgd2ls
bCBiZSB1c2VkDQo+IGxhdGVyICovDQo+ID4gKyAgICBpID0gY29uZmxpY3RpbmdfbWVtYmxrcyhz
dGFydCwgZW5kKTsNCj4gPiArICAgIC8qIE5vIGNvbmZsaWN0aW5nIG1lbW9yeSBibG9jaywgd2Ug
Y2FuIHNhdmUgaXQgZm9yIGxhdGVyIHVzYWdlICovOw0KPiA+ICsgICAgaWYgKCBpIDwgMCApDQo+
ID4gKyAgICAgICAgZ290byBzYXZlX21lbWJsazsNCj4gPiArDQo+ID4gKyAgICBpZiAoIG1lbWJs
a19ub2RlaWRbaV0gPT0gbm9kZSApIHsNCj4gDQo+IFhlbiBjb2Rpbmcgc3R5bGUgaXMgdXNpbmc6
DQo+IA0KPiBpZiAoIC4uLiApDQo+IHsNCj4gDQo+IE5vdGUgdGhhdCBJIG1heSBub3QgY29tbWVu
dCBvbiBhbGwgdGhlIG9jY3VyZW50cywgc28gcGxlYXNlIGNoZWNrIHRoZQ0KPiBvdGhlciBwbGFj
ZXMuDQo+IA0KDQpPay4NCg0KDQo+ID4gKyAgICAgICAgLyoNCj4gPiArICAgICAgICAgKiBPdmVy
bGFwcyB3aXRoIG90aGVyIG1lbWJsayBpbiB0aGUgc2FtZSBub2RlLCB3YXJuaW5nIGhlcmUuDQo+
ID4gKyAgICAgICAgICogVGhpcyBtZW1ibGsgd2lsbCBiZSBtZXJnZWQgd2l0aCBjb25mbGljdGVk
IG1lbWJsayBsYXRlci4NCj4gPiArICAgICAgICAgKi8NCj4gPiArICAgICAgICBwcmludGsoWEVO
TE9HX1dBUk5JTkcNCj4gPiArICAgICAgICAgICAgICAgIkRUOiBOVU1BIE5PREUgJXUgKCUiUFJJ
eDY0DQo+ID4gKyAgICAgICAgICAgICAgICItJSJQUkl4NjQiKSBvdmVybGFwcyB3aXRoIGl0c2Vs
ZiAoJSJQUkl4NjQiLQ0KPiAlIlBSSXg2NCIpXG4iLA0KPiA+ICsgICAgICAgICAgICAgICBub2Rl
LCBzdGFydCwgZW5kLA0KPiA+ICsgICAgICAgICAgICAgICBub2RlX21lbWJsa19yYW5nZVtpXS5z
dGFydCwgbm9kZV9tZW1ibGtfcmFuZ2VbaV0uZW5kKTsNCj4gPiArICAgIH0gZWxzZSB7DQo+ID4g
KyAgICAgICAgLyoNCj4gPiArICAgICAgICAgKiBDb25mbGljdCB3aXRoIG1lbWJsayBpbiBvdGhl
ciBub2RlLCB0aGlzIGlzIGFuIGVycm9yLg0KPiA+ICsgICAgICAgICAqIFRoZSBOVU1BIGluZm9y
bWF0aW9uIGlzIGludmFsaWQsIE5VTUEgd2lsbCBiZSB0dXJuIG9mZi4NCj4gPiArICAgICAgICAg
Ki8NCj4gPiArICAgICAgICBwcmludGsoWEVOTE9HX0VSUg0KPiA+ICsgICAgICAgICAgICAgICAi
RFQ6IE5VTUEgTk9ERSAldSAoJSJQUkl4NjQiLSUiDQo+ID4gKyAgICAgICAgICAgICAgIFBSSXg2
NCIpIG92ZXJsYXBzIHdpdGggTk9ERSAldSAoJSJQUkl4NjQiLSUiUFJJeDY0IilcbiIsDQo+ID4g
KyAgICAgICAgICAgICAgIG5vZGUsIHN0YXJ0LCBlbmQsIG1lbWJsa19ub2RlaWRbaV0sDQo+ID4g
KyAgICAgICAgICAgICAgIG5vZGVfbWVtYmxrX3JhbmdlW2ldLnN0YXJ0LCBub2RlX21lbWJsa19y
YW5nZVtpXS5lbmQpOw0KPiA+ICsgICAgICAgIGJhZF9zcmF0KCk7DQo+ID4gKyAgICAgICAgcmV0
dXJuIC1FSU5WQUw7DQo+ID4gKyAgICB9DQo+ID4gKw0KPiA+ICtzYXZlX21lbWJsazoNCj4gPiAr
ICAgIG5kID0gJm5vZGVzW25vZGVdOw0KPiA+ICsgICAgaWYgKCAhbm9kZV90ZXN0X2FuZF9zZXQo
bm9kZSwgbWVtb3J5X25vZGVzX3BhcnNlZCkgKSB7DQo+ID4gKyAgICAgICAgbmQtPnN0YXJ0ID0g
c3RhcnQ7DQo+ID4gKyAgICAgICAgbmQtPmVuZCA9IGVuZDsNCj4gPiArICAgIH0gZWxzZSB7DQo+
ID4gKyAgICAgICAgaWYgKCBzdGFydCA8IG5kLT5zdGFydCApDQo+ID4gKyAgICAgICAgICAgIG5k
LT5zdGFydCA9IHN0YXJ0Ow0KPiA+ICsgICAgICAgIGlmICggbmQtPmVuZCA8IGVuZCApDQo+ID4g
KyAgICAgICAgICAgIG5kLT5lbmQgPSBlbmQ7DQo+ID4gKyAgICB9DQo+ID4gKw0KPiA+ICsgICAg
cHJpbnRrKFhFTkxPR19JTkZPICJEVDogTlVNQSBub2RlICV1ICUiUFJJeDY0Ii0lIlBSSXg2NCJc
biIsDQo+ID4gKyAgICAgICAgICAgbm9kZSwgc3RhcnQsIGVuZCk7DQo+ID4gKw0KPiA+ICsgICAg
bm9kZV9tZW1ibGtfcmFuZ2VbbnVtX25vZGVfbWVtYmxrc10uc3RhcnQgPSBzdGFydDsNCj4gPiAr
ICAgIG5vZGVfbWVtYmxrX3JhbmdlW251bV9ub2RlX21lbWJsa3NdLmVuZCA9IGVuZDsNCj4gPiAr
ICAgIG1lbWJsa19ub2RlaWRbbnVtX25vZGVfbWVtYmxrc10gPSBub2RlOw0KPiA+ICsgICAgbnVt
X25vZGVfbWVtYmxrcysrOw0KPiA+ICsNCj4gPiArICAgIHJldHVybiAwOw0KPiA+ICt9DQo+ID4g
Kw0KPiA+ICAgLyogUGFyc2UgQ1BVIE5VTUEgbm9kZSBpbmZvICovDQo+ID4gICBpbnQgX19pbml0
IGRldmljZV90cmVlX3BhcnNlX251bWFfY3B1X25vZGUoY29uc3Qgdm9pZCAqZmR0LCBpbnQgbm9k
ZSkNCj4gPiAgIHsNCj4gPiBAQCAtNzAsMyArMTQ1LDU4IEBAIGludCBfX2luaXQgZGV2aWNlX3Ry
ZWVfcGFyc2VfbnVtYV9jcHVfbm9kZShjb25zdA0KPiB2b2lkICpmZHQsIGludCBub2RlKQ0KPiA+
DQo+ID4gICAgICAgcmV0dXJuIGR0Yl9udW1hX3Byb2Nlc3Nvcl9hZmZpbml0eV9pbml0KG5pZCk7
DQo+ID4gICB9DQo+ID4gKw0KPiA+ICsvKiBQYXJzZSBtZW1vcnkgbm9kZSBOVU1BIGluZm8gKi8N
Cj4gPiAraW50IF9faW5pdA0KPiA+ICtkZXZpY2VfdHJlZV9wYXJzZV9udW1hX21lbW9yeV9ub2Rl
KGNvbnN0IHZvaWQgKmZkdCwgaW50IG5vZGUsDQo+ID4gKyAgICBjb25zdCBjaGFyICpuYW1lLCB1
aW50MzJfdCBhZGRyX2NlbGxzLCB1aW50MzJfdCBzaXplX2NlbGxzKQ0KPiANCj4gVGhpcyBpcyBw
cmV0dHkgbXVjaCBhIGNvcHkgb2YgcHJvY2Vzc19tZW1vcnlfbm9kZSgpLiBDYW4gd2UgY29uc2lk
ZXIgdG8NCj4gY29sbGVjdCB0aGUgTlVNQSBJRCBmcm9tIHRoZXJlPyBJZiBub3QsIGNhbiB3ZSBh
dCBsZWFzdCBhYnN0cmFjdCB0aGUgY29kZT8NCj4gDQoNCkkgaGFkIHRyaWVkIHRvIHBhcnNlIE5V
TUEgaWQgaW4gcHJvY2Vzc19tZW1vcnlfbm9kZSBvciBpbiBlYXJseV9zY2FuX25vZGUuDQpCdXQg
SSBmb3VuZCwgdGhpcyBjaGFuZ2Ugd291bGQgbWFrZSBOVU1BIGluaXQgY29kZSBpbiBkaWZmZXJl
bnQgcGxhY2VzLg0KQW5kIEkgcHJlZmVyIGEgdW5pZnkgTlVNQSBpbml0IGVudHJ5LiBCZWNhdXNl
IGl0IG1heSBiZSBnb29kIGZvcg0KbWFpbnRlbmFuY2UuIFdoZW4gd2Ugd2FudCB0byBkaXNhYmxl
IE5VTUEsIHdlIGp1c3QgbmVlZCB0byBkaXNhYmxlIGl0DQppbiBvbmUgcGxhY2UuIEJ1dCB5b3Un
cmUgcmlnaHQsIHdlIHN0aWxsIGNhbiBkbyBzb21lIGNvZGUgYWJzdHJhY3Rpb24uDQpJIHdpbGwg
ZG8gaXQgaW4gbmV4dCB2ZXJzaW9uLg0KDQo+ID4gK3sNCj4gPiArICAgIHVpbnQzMl90IG5pZDsN
Cj4gPiArICAgIGludCByZXQgPSAwLCBsZW47DQo+ID4gKyAgICBwYWRkcl90IGFkZHIsIHNpemU7
DQo+ID4gKyAgICBjb25zdCBzdHJ1Y3QgZmR0X3Byb3BlcnR5ICpwcm9wOw0KPiA+ICsgICAgdWlu
dDMyX3QgaWR4LCByYW5nZXM7DQo+ID4gKyAgICBjb25zdCBfX2JlMzIgKmFkZHJlc3NlczsNCj4g
PiArDQo+ID4gKyAgICBuaWQgPSBkZXZpY2VfdHJlZV9nZXRfdTMyKGZkdCwgbm9kZSwgIm51bWEt
bm9kZS1pZCIsIE1BWF9OVU1OT0RFUyk7DQo+ID4gKyAgICBpZiAoIG5pZCA+PSBNQVhfTlVNTk9E
RVMgKQ0KPiA+ICsgICAgew0KPiA+ICsgICAgICAgIHByaW50ayhYRU5MT0dfV0FSTklORyAiTm9k
ZSBpZCAldSBleGNlZWRzIG1heGltdW0gdmFsdWVcbiIsDQo+IG5pZCk7DQo+ID4gKyAgICAgICAg
cmV0dXJuIC1FSU5WQUw7DQo+ID4gKyAgICB9DQo+ID4gKw0KPiA+ICsgICAgcHJvcCA9IGZkdF9n
ZXRfcHJvcGVydHkoZmR0LCBub2RlLCAicmVnIiwgJmxlbik7DQo+ID4gKyAgICBpZiAoICFwcm9w
ICkNCj4gPiArICAgIHsNCj4gPiArICAgICAgICBwcmludGsoWEVOTE9HX1dBUk5JTkcNCj4gPiAr
ICAgICAgICAgICAgICAgImZkdDogbm9kZSBgJXMnOiBtaXNzaW5nIGByZWcnIHByb3BlcnR5XG4i
LCBuYW1lKTsNCj4gPiArICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4gPiArICAgIH0NCj4gPiAr
DQo+ID4gKyAgICBhZGRyZXNzZXMgPSAoY29uc3QgX19iZTMyICopcHJvcC0+ZGF0YTsNCj4gPiAr
ICAgIHJhbmdlcyA9IGxlbiAvIChzaXplb2YoX19iZTMyKSogKGFkZHJfY2VsbHMgKyBzaXplX2Nl
bGxzKSk7DQo+ID4gKyAgICBmb3IgKCBpZHggPSAwOyBpZHggPCByYW5nZXM7IGlkeCsrICkNCj4g
PiArICAgIHsNCj4gPiArICAgICAgICBkZXZpY2VfdHJlZV9nZXRfcmVnKCZhZGRyZXNzZXMsIGFk
ZHJfY2VsbHMsIHNpemVfY2VsbHMsICZhZGRyLA0KPiAmc2l6ZSk7DQo+ID4gKyAgICAgICAgLyog
U2tpcCB6ZXJvIHNpemUgcmFuZ2VzICovDQo+ID4gKyAgICAgICAgaWYgKCAhc2l6ZSApDQo+ID4g
KyAgICAgICAgICAgIGNvbnRpbnVlOw0KPiA+ICsNCj4gPiArICAgICAgICByZXQgPSBkdGJfbnVt
YV9tZW1vcnlfYWZmaW5pdHlfaW5pdChuaWQsIGFkZHIsIHNpemUpOw0KPiA+ICsgICAgICAgIGlm
ICggcmV0ICkgew0KPiA+ICsgICAgICAgICAgICBwcmludGsoWEVOTE9HX1dBUk5JTkcNCj4gPiAr
ICAgICAgICAgICAgICAgICAgICJOVU1BOiBwcm9jZXNzIHJhbmdlIyVkIGFkZHIgPSAlbHggc2l6
ZT0lbHgNCj4gZmFpbGVkIVxuIiwNCj4gDQo+IHMvJWQvJXUvIGFzIGlkeCBpcyBhbiB1bnNpZ25l
ZCBpbnQNCj4gcy8lbHgvJSJQUklfcGFkZHIiLyBhcyBhZGRyIGFuZCBzaXplIGFyZSBwYWRkcl90
Lg0KPiANCg0KT0sNCg0KPiA+ICsgICAgICAgICAgICAgICAgICAgaWR4LCBhZGRyLCBzaXplKTsN
Cj4gPiArICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+ID4gKyAgICAgICAgfQ0KPiA+ICsg
ICAgfQ0KPiA+ICsNCj4gPiArICAgIGlmICggaWR4ID09IDAgKQ0KPiA+ICsgICAgew0KPiA+ICsg
ICAgICAgIHByaW50ayhYRU5MT0dfRVJSDQo+ID4gKyAgICAgICAgICAgICAgICJiYWQgcHJvcGVy
dHkgaW4gbWVtb3J5IG5vZGUsIGlkeD0lZCByZXQ9JWRcbiIsIGlkeCwNCj4gcmV0KTsNCj4gPiAr
ICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4gPiArICAgIH0NCj4gPiArDQo+ID4gKyAgICByZXR1
cm4gMDsNCj4gPiArfQ0KPiA+DQo+IA0KPiBDaGVlcnMsDQo+IA0KPiAtLQ0KPiBKdWxpZW4gR3Jh
bGwNCg==


From xen-devel-bounces@lists.xenproject.org Thu Aug 26 07:01:23 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 07:01:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172684.315108 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ9O1-0003Eu-E9; Thu, 26 Aug 2021 07:01:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172684.315108; Thu, 26 Aug 2021 07:01:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ9O1-0003En-Ak; Thu, 26 Aug 2021 07:01:17 +0000
Received: by outflank-mailman (input) for mailman id 172684;
 Thu, 26 Aug 2021 07:01:15 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=J+8W=NR=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mJ9Nz-0003Eh-HH
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 07:01:15 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com (unknown
 [40.107.20.82]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 45add0eb-5233-426c-88ab-9fa262b63ea2;
 Thu, 26 Aug 2021 07:01:12 +0000 (UTC)
Received: from DB6P192CA0015.EURP192.PROD.OUTLOOK.COM (2603:10a6:4:b8::25) by
 AM7PR08MB5301.eurprd08.prod.outlook.com (2603:10a6:20b:dd::14) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17; Thu, 26 Aug 2021 07:01:11 +0000
Received: from DB5EUR03FT031.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:b8:cafe::15) by DB6P192CA0015.outlook.office365.com
 (2603:10a6:4:b8::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.18 via Frontend
 Transport; Thu, 26 Aug 2021 07:01:11 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT031.mail.protection.outlook.com (10.152.20.142) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Thu, 26 Aug 2021 07:01:11 +0000
Received: ("Tessian outbound f11f34576ce3:v103");
 Thu, 26 Aug 2021 07:01:10 +0000
Received: from 8c9a9e9b987f.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 1122BCB2-8D60-4EDE-AAE9-276015895B6B.1; 
 Thu, 26 Aug 2021 07:01:05 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 8c9a9e9b987f.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 26 Aug 2021 07:01:05 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DBBPR08MB6092.eurprd08.prod.outlook.com (2603:10a6:10:20e::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Thu, 26 Aug
 2021 07:01:04 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.024; Thu, 26 Aug 2021
 07:01: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: 45add0eb-5233-426c-88ab-9fa262b63ea2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=aG/oHPh1bXGFCVAntyFRoLrQP26lDXfsyeDIp+0PemE=;
 b=JDyGM+HUAFy2NMCf+7GcjG6ZNF/stxfgTwoxJ8iVNRlBjZXZv8a0u9vSSrSHbDWE69jL7JrZSYccHjWP2NFkjgVCOJ9R/6BjpYxdhM5vZ9Lavd5LyX/8CRP1HOhHxXv2WZf0W27Zt3n8hlxmxukm67x/ium0b/NjQrngEnV+tnk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kzlsQ56qMObz0twfRnBKzzZMEX3gDUneORsjfmjvyD1AJeJqw3LmAyaGWfeLV3Jq9SCfJm/qBiflfCJ19q5N7boGUawUlDH/U0dIdfSMlTef74/2/caC4iNx4TYZJjNytiuC/Q3r4S9cBCkon9iNIkT/MAycNr18TGpcBx0aVwfwtD4DCh2FhS0ajt8rQt50/tS80SgF/2QODmM/lT0Z5s2I0Mq06NNO6+jDc1jpBPso2HsAEzGCUbFxjl2FI+/+jFoFM1zrk3UeUiFlc1OZYjZbEtdsHwDT3nnAVHJwapMIWOflOhUnh2ytX5ECJ/8MVF+/u82TKoRP4c329iytQQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=aG/oHPh1bXGFCVAntyFRoLrQP26lDXfsyeDIp+0PemE=;
 b=oBoDKenTduNMcLfVDuKswjrLV+WKZ6kB7DTdWBbvOjGU4uZUxqVSzZp5E1ntSIgyKdLgRWc857ZNgV9Viw2XvzC00W3XyUwhJBkDypl7RQvyqR16YY9X8Q9bmFnTJzCpLZXJW90E0JIkQkD5nRzP80s5Vzf1QYIvTcmq+QhVAEAIdQIkQyGQw8qwUaOhqg08utLtS2P6lbsRYZLyHK9i2y2G+ngfm2hBKii+GkVgmVHylf4HZPNPTmFTHJ+CmxTNsSv2p0tXO2bTjhMlZhAOIwbByMqOVW1n5VfyXMU3BRW/aG/z115MBkTIeXI8anKGiwId82qrJsFk4GZYWCfSFQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=aG/oHPh1bXGFCVAntyFRoLrQP26lDXfsyeDIp+0PemE=;
 b=JDyGM+HUAFy2NMCf+7GcjG6ZNF/stxfgTwoxJ8iVNRlBjZXZv8a0u9vSSrSHbDWE69jL7JrZSYccHjWP2NFkjgVCOJ9R/6BjpYxdhM5vZ9Lavd5LyX/8CRP1HOhHxXv2WZf0W27Zt3n8hlxmxukm67x/ium0b/NjQrngEnV+tnk=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 24/40] xen/arm: introduce a helper to parse device
 tree NUMA distance map
Thread-Topic: [XEN RFC PATCH 24/40] xen/arm: introduce a helper to parse
 device tree NUMA distance map
Thread-Index: AQHXjps+iLbrOQu8n06b5z+EtCRt06uEVK0AgAEYLNA=
Date: Thu, 26 Aug 2021 07:01:03 +0000
Message-ID:
 <DB9PR08MB68573E5718286B9FC2B8A7AB9EC79@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-25-wei.chen@arm.com>
 <e15cdda1-1665-4baa-5764-76e17dd3bb74@xen.org>
In-Reply-To: <e15cdda1-1665-4baa-5764-76e17dd3bb74@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: C01FB56E69F9254E803C9101BC9C8F75.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 9f8f1897-6795-4f17-4075-08d9685f4949
x-ms-traffictypediagnostic: DBBPR08MB6092:|AM7PR08MB5301:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM7PR08MB53016A1B5971BA6F3C8622799EC79@AM7PR08MB5301.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 EaKx5lROh0K20MH3VbG90wVLBkweo+HCokXp00TSe9j6pImtOdq8lhErqyX4jlfIzPTVrPZfTe3J0H66+9PUHbMM5cvYxwkmzSfvHTUhm2KQrzrMhNAbGo8k0UksXmPo2rN33DNAgSGF28KsXMJnHxPWAiDJLtQ60w5qEeoUbFJgkPpsTPJcBQrbxCsUeMDFSzQfYoaVPqf4LE5IpAc1HpYgfmDjEI6j+NHOOu+Uyy3Nqx1Yhr5MnI6JlL6hr/pjYV5H9r3VmpFDnzBJBABr0WZrcsdmfr5siqmcRmwyE8HK58MNp7x3OhleGdfX1vQBd1mMCmeDLgglt2YhdaUmUdH3UijdKOLWcBow3epzcDG+4vEZgLwGRwXzHMOD11BfUKwPXkiiliWW7I0WDh/yFkf1ZqZabjd60G60tgF3gspIH0+gAenXlzJ/yoW2R8GA8RePy3G1dIbzLQco++tvqOGz60WmioPAYAjQrXVf0FlSAgAMmY19VY3lLTbEapFgH90P16cd1Cgk1YAmQP3IiW+tbumV6z8lFtDf0IhAzTM9qN2edIoKpI6MGNx8sO7TO468SqImqRm6xvcJJ2On478uWI7ymD828kdeOpcybFBgxMuurJqIDzfg9ESp9+xyuIp4uzsA1YYHnDYA4RidVTMisjrhFMnov6jSqiaQHIuEyqHU1/umlz/zWp2RDHcLvm/lxyhmKxPY41eZOzNXSw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(376002)(39850400004)(346002)(136003)(396003)(122000001)(38070700005)(2906002)(71200400001)(186003)(110136005)(8676002)(8936002)(5660300002)(33656002)(7696005)(52536014)(66946007)(478600001)(55016002)(76116006)(4326008)(64756008)(66476007)(66446008)(316002)(9686003)(26005)(53546011)(38100700002)(6506007)(86362001)(66556008)(83380400001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?dE9KZm90cTNJUXRzZHZXKzVNYVJVK01PcThPRTEvRi9GUWE5eFlXdjBRNDBP?=
 =?utf-8?B?bVdldFA3UG56OHc3bTdxU285c25xdnV0UVpxQ1RNQjN5SEMwWHZCaFhDSEJP?=
 =?utf-8?B?OWgvRkVvNXJaSzZGT0Vna1hNUTJCMytWdkVUdUY2QlVTSlByVGExeStleUpW?=
 =?utf-8?B?dDhRTmYxMWEvemVrcmc4MjNUaGp0RkNsYXc1aHRabEJpZ29HZllsZmhvbUVt?=
 =?utf-8?B?d3lLc1pIaStjQUlwYXRkOGYrZGNROEo2Q0s3eVJHZTR0U05nN1c4NWhHMWFU?=
 =?utf-8?B?bExYVkZHSGVDL0N6STJJNFhsc3RNUk9ZTk5xd0NRc3p2NEx4aUUwYTZrWGlB?=
 =?utf-8?B?UFdPcWExRXVjNlNUcnkvMVR3cmlEWVRvV3BuYlFwYmhtcjlZKzZiTCt1MGRa?=
 =?utf-8?B?RnROOWtzNDZ3NWxMTFJBOTlIMnFvT2IycjZYYnZySUF5SVd1KzhwT1ljRUtB?=
 =?utf-8?B?Yy9CU2ZnZ2xvTjE2Z1ZHNld1aVpkVDBqK3NhUUcwN2RIWXhDSzVXa2dkbVZQ?=
 =?utf-8?B?Qm5YRGkxK3ZQQTFqemQwdGlQWVpESWtYdEw3L0dPajJqZEN0Mk0rQUdJc2l3?=
 =?utf-8?B?MUxyRkhJbjQwL2hYNmpqS3JMVFJXN1RpVDNNcWwyZUtLMGhUNXZ5UXAzU0dj?=
 =?utf-8?B?SmcyeGNKYXpITDkyckpJKzBLWFo2Umh0YXJSckxuRkFCa2NoQWVuS3YyRktP?=
 =?utf-8?B?b2ZyVmV4L255bG9ZVFhvZHVaQktyUW4waitMWFNOQTFvbWpzdk9qTURUOE1G?=
 =?utf-8?B?RVIyYUEzSC9KamdWSjVORGZYMnpDejNXZFBmd2dXWmx5RUg4QWlxam9MU0RJ?=
 =?utf-8?B?SlVsNmdHdHlLSk5zR2JJbU9iRENGTnhidm9hRG15NmpjMFByeUQxL2FCeVJm?=
 =?utf-8?B?RzgyWVROem5sSGVHdWpCc2Y5Q2hVcEFyVTh3bjIxMTk4YTR0YmR6MHVLazJh?=
 =?utf-8?B?L3J2UVRFWVVkb3F0VDBnS1hGRTY3ZXhpc2xJTVJpTThHUEdBK1JPM1U5WkY3?=
 =?utf-8?B?RjBUMWNENHJVK1MyNHhaZENzOFBGNDRlV3lmakthWm00cjEwUkI0QThkT1pC?=
 =?utf-8?B?aXZldVBmNUV2SG94MEFDZ1FhdS9vWFNCa3Zpa1NuK1hXblZ5S1U4UHUwU1Az?=
 =?utf-8?B?OHh2V1QzQkJVbjBtRXl5UEF2TlNWWXhtdDB0SmJyMjJPT1IwcnNxU2NlQTVq?=
 =?utf-8?B?NEo1OEYyTnJ1NWxOUmZ5VE42V0M0NkVqdTdIaW1zRzQ2RElWaEtlZEsrWEw4?=
 =?utf-8?B?TEdSWDNFRUF1YWxKTmV3dGlKai9CL0l3bmdPTGJBZXdFY2wzaUdWYStVbXA0?=
 =?utf-8?B?TFJ2b01DdXhoT2d4VUw1TWJHSTljRGp0K2tIanlleHFzWTZuVmJGWTI0a2ht?=
 =?utf-8?B?Q0d4SklBMEJVZUczZHVpTW5Eem40TGxnQWZMSjQ0V0djODRPWTlYeDN5QVJ4?=
 =?utf-8?B?SHdTVlBBMTd4VEN5eHEzVzUxZ1B3VVVsNFBDUDBLYUg2ajR4WWtDUjZMLzZF?=
 =?utf-8?B?b0hzSk9DM2V3M3ZiUjF1Nk5hSmFqdEh1ekVvczV5MHhkVlJQditaQWo0MU1u?=
 =?utf-8?B?YzNQWkJxZTlPQVdvNjN2cXpJb0JSd3Z2SFowR0lZaWhBQXR0RDREVFZMWm1W?=
 =?utf-8?B?ZlozWGlGUDFRbkl5RVErWDRhMUV0aENQYVRKbmFNZVlTT28rVFVlVVN1dlQy?=
 =?utf-8?B?SUplM2syZ3l0U0hNR0RRKzQxcDREczE1MStMMEZMRk0rclEvRW1VakExOFdo?=
 =?utf-8?Q?lRuHKTqCOxztUjw9DcxLgZVDBkCfeN3P4n77dY3?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB6092
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT031.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	b06ef9fd-5da9-486b-537d-08d9685f4518
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	WAwN4taaqYZdtdjvOaev8e1ibtb9kSwMBUp8oPHJLHE7cZECO79CXXOwY4Vzad+/T7hel2Ar+kCybHj+LoJQVbOXoeB2jmBhSEmSF+913Pk9CPiRedHWTKpJG/LWRlHHYNHsWaWTg0TN9r7UtnhCRscIVSU0e9b5Ht4HDgvt8tKPX/I+esz7sdlTzv4Rlt8gwL2LGN616Uyaf6CNalVQA00tsOILSjfALZ2acaJpnYBMSYnt2bIFkq0kW+L62yTOXfHLjponx0WaDk8z5QNJNaAwt4GEW9OHjeAr+/XCV9ceci7b7xTgj6YxkqvBsPh8rDdeAcdxjdQTxJh5Yw4fIKhW/WKcGDDQpqZ+lX60zFg/CN34tGbI7SKZ7Y6dejTq2BDzkl+gXAH6g03bKovKonA+sP/w2sWFaghxFa1/ByD28lFL1b6i68DN6Rb92e096SkCuXqvkR2rcum1GcTebLdonxEVFvJg+Y20zneMP/rNtxGSaeI3t3qMc4DlpdaS9GSx+v3QOtog48nLdcX5HA/FWClvCSEX8Vll7WcoxO+Ih7imHLtnr7YX7gJDIU2x9vBsZjRy0e1gkpG5+/FR7YDv2E+29u5RmYlf0OSDfJYKNWgRJ8mbA+4Pa0CUdbrlYM+In58F5KoSs0jtJomG+ExG6ow5boKb074ygQrIM7L1OLFZTuXvoMTX/lVSfLqA5Wbnju2O5/BjonhhkuA62Q==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(346002)(376002)(136003)(39860400002)(396003)(36840700001)(46966006)(5660300002)(9686003)(55016002)(478600001)(356005)(82740400003)(8936002)(86362001)(81166007)(33656002)(8676002)(83380400001)(52536014)(36860700001)(2906002)(316002)(336012)(4326008)(186003)(26005)(70206006)(53546011)(47076005)(7696005)(6506007)(110136005)(82310400003)(70586007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 07:01:11.0285
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9f8f1897-6795-4f17-4075-08d9685f4949
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT031.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5301

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMjXml6UgMjE6NTYN
Cj4gVG86IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgeGVuLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnOw0KPiBzc3RhYmVsbGluaUBrZXJuZWwub3JnDQo+IENjOiBCZXJ0cmFuZCBNYXJx
dWlzIDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+OyBKYW4gQmV1bGljaA0KPiA8amJldWxpY2hA
c3VzZS5jb20+DQo+IFN1YmplY3Q6IFJlOiBbWEVOIFJGQyBQQVRDSCAyNC80MF0geGVuL2FybTog
aW50cm9kdWNlIGEgaGVscGVyIHRvIHBhcnNlDQo+IGRldmljZSB0cmVlIE5VTUEgZGlzdGFuY2Ug
bWFwDQo+IA0KPiBIaSBXZWksDQo+IA0KPiBPbiAxMS8wOC8yMDIxIDExOjI0LCBXZWkgQ2hlbiB3
cm90ZToNCj4gPiBBIE5VTUEgYXdhcmUgZGV2aWNlIHRyZWUgd2lsbCBwcm92aWRlIGEgImRpc3Rh
bmNlLW1hcCIgbm9kZSB0bw0KPiA+IGRlc2NyaWJlIGRpc3RhbmNlIGJldHdlZW4gYW55IHR3byBu
b2Rlcy4gVGhpcyBwYXRjaCBpbnRyb2R1Y2UgYQ0KPiANCj4gcy9pbnRyb2R1Y2UvaW50cm9kdWNl
cy8NCg0KT0sNCg0KPiANCj4gPiBuZXcgaGVscGVyIHRvIHBhcnNlIHRoaXMgZGlzdGFuY2UgbWFw
Lg0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogV2VpIENoZW4gPHdlaS5jaGVuQGFybS5jb20+DQo+
ID4gLS0tDQo+ID4gICB4ZW4vYXJjaC9hcm0vbnVtYV9kZXZpY2VfdHJlZS5jIHwgNjcgKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+ID4gICAxIGZpbGUgY2hhbmdlZCwgNjcgaW5z
ZXJ0aW9ucygrKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9udW1hX2Rldmlj
ZV90cmVlLmMNCj4gYi94ZW4vYXJjaC9hcm0vbnVtYV9kZXZpY2VfdHJlZS5jDQo+ID4gaW5kZXgg
YmJlMDgxZGNkMS4uNmUwZDFkM2Q5ZiAxMDA2NDQNCj4gPiAtLS0gYS94ZW4vYXJjaC9hcm0vbnVt
YV9kZXZpY2VfdHJlZS5jDQo+ID4gKysrIGIveGVuL2FyY2gvYXJtL251bWFfZGV2aWNlX3RyZWUu
Yw0KPiA+IEBAIC0yMDAsMyArMjAwLDcwIEBAIGRldmljZV90cmVlX3BhcnNlX251bWFfbWVtb3J5
X25vZGUoY29uc3Qgdm9pZCAqZmR0LA0KPiBpbnQgbm9kZSwNCj4gPg0KPiA+ICAgICAgIHJldHVy
biAwOw0KPiA+ICAgfQ0KPiA+ICsNCj4gPiArLyogUGFyc2UgTlVNQSBkaXN0YW5jZSBtYXAgdjEg
Ki8NCj4gPiAraW50IF9faW5pdA0KPiA+ICtkZXZpY2VfdHJlZV9wYXJzZV9udW1hX2Rpc3RhbmNl
X21hcF92MShjb25zdCB2b2lkICpmZHQsIGludCBub2RlKQ0KPiA+ICt7DQo+ID4gKyAgICBjb25z
dCBzdHJ1Y3QgZmR0X3Byb3BlcnR5ICpwcm9wOw0KPiA+ICsgICAgY29uc3QgX19iZTMyICptYXRy
aXg7DQo+ID4gKyAgICBpbnQgZW50cnlfY291bnQsIGxlbiwgaTsNCj4gDQo+IGVudHJ5X2NvdW50
IGFuZCBpIHNob3VsZCBiZSB1bnNpZ25lZC4gbGVuIHVuZm9ydHVuYXRlbHkgY2FuJ3QgYmVjYXVz
ZQ0KPiBmZHRfZ2V0X3Byb3BlcnR5IGV4cGVjdHMgYSBzaWduZWQgaW50Lg0KPiANCg0KT0sNCg0K
PiA+ICsNCj4gPiArICAgIHByaW50ayhYRU5MT0dfSU5GTyAiTlVNQTogcGFyc2luZyBudW1hLWRp
c3RhbmNlLW1hcFxuIik7DQo+ID4gKw0KPiA+ICsgICAgcHJvcCA9IGZkdF9nZXRfcHJvcGVydHko
ZmR0LCBub2RlLCAiZGlzdGFuY2UtbWF0cml4IiwgJmxlbik7DQo+ID4gKyAgICBpZiAoICFwcm9w
ICkNCj4gPiArICAgIHsNCj4gPiArICAgICAgICBwcmludGsoWEVOTE9HX1dBUk5JTkcNCj4gPiAr
ICAgICAgICAgICAgICAgIk5VTUE6IE5vIGRpc3RhbmNlLW1hdHJpeCBwcm9wZXJ0eSBpbiBkaXN0
YW5jZS1tYXBcbiIpOw0KPiA+ICsNCj4gPiArICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4gPiAr
ICAgIH0NCj4gPiArDQo+ID4gKyAgICBpZiAoIGxlbiAlIHNpemVvZih1aW50MzJfdCkgIT0gMCAp
DQo+ID4gKyAgICB7DQo+ID4gKyAgICAgICAgcHJpbnRrKFhFTkxPR19XQVJOSU5HDQo+ID4gKyAg
ICAgICAgICAgICAgICJkaXN0YW5jZS1tYXRyaXggaW4gbm9kZSBpcyBub3QgYSBtdWx0aXBsZSBv
ZiB1MzJcbiIpOw0KPiA+ICsgICAgICAgIHJldHVybiAtRUlOVkFMOw0KPiA+ICsgICAgfQ0KPiA+
ICsNCj4gPiArICAgIGVudHJ5X2NvdW50ID0gbGVuIC8gc2l6ZW9mKHVpbnQzMl90KTsNCj4gPiAr
ICAgIGlmICggZW50cnlfY291bnQgPD0gMCApDQo+IA0KPiBJIHVuZGVyc3RhbmQgdGhhdCBlbnRy
eV9jb3VudCBtYXkgYmUgMC4gQnV0IEkgY2FuJ3Qgc2VlIGhvdyBpdCBjYW4gYmUNCj4gbmVnYXRp
dmUgYXMgdGhlIHByb3BlcnR5IGxlbiBjYW5ub3QgYmUgKGV2ZW4gaWYgaXQgaXMgYSBzaWduZWQg
dHlwZSkuIFNvDQo+IEkgdGhpbmsgdGhpcyB3YW50cyB0byBiZSAiPT0gMCIuDQo+IA0KDQpGcm9t
IHRoZSBmZHRfZ2V0X3Byb3BlcnR5J3MgY29tbWVudCwgd2hlbiBwcm9wIGlzIE5VTEwsIHRoZSBs
ZW4gY2FuDQpiZSBuZWdhdGl2ZS4gQnV0LCB5ZXMsIHByb3A9PU5VTEwgY2hlY2sgd2lsbCBoYW5k
bGVkIGJlZm9yZSB0aGlzIGNvZGUuDQpuZWdhdGl2ZSBsZW4gd2lsbCBub3QgcmVhY2ggaGVyZS4g
SSBhbSBvayB0byBjaGFuZ2UgaXQgdG8gIj09IDAiDQoNCj4gPiArICAgIHsNCj4gPiArICAgICAg
ICBwcmludGsoWEVOTE9HX1dBUk5JTkcgIk5VTUE6IEludmFsaWQgZGlzdGFuY2UtbWF0cml4XG4i
KTsNCj4gPiArDQo+ID4gKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+ID4gKyAgICB9DQo+ID4g
Kw0KPiA+ICsgICAgbWF0cml4ID0gKGNvbnN0IF9fYmUzMiAqKXByb3AtPmRhdGE7DQo+ID4gKyAg
ICBmb3IgKCBpID0gMDsgaSArIDIgPCBlbnRyeV9jb3VudDsgaSArPSAzICkNCj4gPiArICAgIHsN
Cj4gPiArICAgICAgICB1aW50MzJfdCBmcm9tLCB0bywgZGlzdGFuY2U7DQo+ID4gKw0KPiA+ICsg
ICAgICAgIGZyb20gPSBkdF9yZWFkX251bWJlcihtYXRyaXgsIDEpOw0KPiA+ICsgICAgICAgIG1h
dHJpeCsrOw0KPiANCj4gWW91IGNhbiB1c2UgZHRfbmV4dF9jZWxsKCkgd2hpY2ggd2lsbCB1cGRh
dGUgdGhlIHBvaW50ZXIgZm9yIHlvdS4NCj4gDQoNClRoYW5rcw0KDQo+ID4gKyAgICAgICAgdG8g
PSBkdF9yZWFkX251bWJlcihtYXRyaXgsIDEpOw0KPiA+ICsgICAgICAgIG1hdHJpeCsrOw0KPiA+
ICsgICAgICAgIGRpc3RhbmNlID0gZHRfcmVhZF9udW1iZXIobWF0cml4LCAxKTsNCj4gPiArICAg
ICAgICBtYXRyaXgrKzsNCj4gPiArDQo+ID4gKyAgICAgICAgaWYgKCAoZnJvbSA9PSB0byAmJiBk
aXN0YW5jZSAhPSBOVU1BX0xPQ0FMX0RJU1RBTkNFKSB8fA0KPiA+ICsgICAgICAgICAgICAoZnJv
bSAhPSB0byAmJiBkaXN0YW5jZSA8PSBOVU1BX0xPQ0FMX0RJU1RBTkNFKSApDQo+ID4gKyAgICAg
ICAgew0KPiA+ICsgICAgICAgICAgICBwcmludGsoWEVOTE9HX1dBUk5JTkcNCj4gPiArICAgICAg
ICAgICAgICAgICAgICJJbnZhbGlkIG5vZGVzJyBkaXN0YW5jZSBmcm9tIG5vZGUjJWQgdG8gbm9k
ZSMlZA0KPiA9ICVkXG4iLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgZnJvbSwgdG8sIGRpc3Rh
bmNlKTsNCj4gPiArICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+ID4gKyAgICAgICAgfQ0K
PiA+ICsNCj4gPiArICAgICAgICBwcmludGsoWEVOTE9HX0lORk8gIk5VTUE6IGRpc3RhbmNlIGZy
b20gbm9kZSMlZCB0byBub2RlIyVkDQo+ID0gJWRcbiIsDQo+ID4gKyAgICAgICAgICAgICAgIGZy
b20sIHRvLCBkaXN0YW5jZSk7DQo+ID4gKyAgICAgICAgbnVtYV9zZXRfZGlzdGFuY2UoZnJvbSwg
dG8sIGRpc3RhbmNlKTsNCj4gPiArDQo+ID4gKyAgICAgICAgLyogU2V0IGRlZmF1bHQgZGlzdGFu
Y2Ugb2Ygbm9kZSBCLT5BIHNhbWUgYXMgQS0+QiAqLw0KPiA+ICsgICAgICAgIGlmICh0byA+IGZy
b20pDQo+ID4gKyAgICAgICAgICAgICBudW1hX3NldF9kaXN0YW5jZSh0bywgZnJvbSwgZGlzdGFu
Y2UpOw0KPiA+ICsgICAgfQ0KPiA+ICsNCj4gPiArICAgIHJldHVybiAwOw0KPiA+ICt9DQo+ID4N
Cj4gDQo+IENoZWVycywNCj4gDQo+IC0tDQo+IEp1bGllbiBHcmFsbA0K


From xen-devel-bounces@lists.xenproject.org Thu Aug 26 07:21:51 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 07:21:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172694.315122 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ9hq-0005zi-B0; Thu, 26 Aug 2021 07:21:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172694.315122; Thu, 26 Aug 2021 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 1mJ9hq-0005zb-75; Thu, 26 Aug 2021 07:21:46 +0000
Received: by outflank-mailman (input) for mailman id 172694;
 Thu, 26 Aug 2021 07:21:45 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HXzX=NR=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJ9ho-0005zV-Ut
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 07:21:44 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 4363dd9e-063e-11ec-a9d2-12813bfff9fa;
 Thu, 26 Aug 2021 07:21:43 +0000 (UTC)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2053.outbound.protection.outlook.com [104.47.14.53]) (Using
 TLS) by relay.mimecast.com with ESMTP id de-mta-7-1Fl3RP9ZMlWqEjUZnXP8xA-1;
 Thu, 26 Aug 2021 09:21:41 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB6304.eurprd04.prod.outlook.com (2603:10a6:803:fd::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17; Thu, 26 Aug
 2021 07:21:39 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Thu, 26 Aug 2021
 07:21:39 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P195CA0017.EURP195.PROD.OUTLOOK.COM (2603:10a6:102:b6::22) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Thu, 26 Aug 2021 07:21: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: 4363dd9e-063e-11ec-a9d2-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629962502;
	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=GoVpa6yo1+kqij+kyNC8NWRYKew0xeVGaGvImNjjnKY=;
	b=ItTvqhR7IjPTBEGM9S+XVozO2t0N6ibP09ke4OHyIYWnz77A04kuJ9ewPvF4wyeMRL8gTe
	1A7FbJ3TEx42AqIayrktQuax3F1611C8dKcfFEy381kyIoWlRGbrLJNBatJ2nhsoDzMwmD
	pYM2KGEeBBMDLJWv4LLkI5Lrj7AnFUU=
X-MC-Unique: 1Fl3RP9ZMlWqEjUZnXP8xA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ENzH9yS6PesDTLC3Lx+4FUNqNKR/p5rmFgDoTXvqRrm1d64rhoZ7aJ9u+C3lCri8qb1VnrFSKTa2iEqPhJ6pVqJslRdroDVD7iE7VJ3ATAxkX7G1nEFJi/tbAvylVuirAHY6JnsB4BgfSTjKEwyMIPVhOM2jbQM6opEOjONzwqYkLffredxTOFEd+qguOOA2g9IvCr0T8QBwFMbtreggHzyVz+34a7fl0Af6DGKTULz1Mp9ydiyLnHO4kWjZ5ucx0gPZMa5w8KZ/c9ZMzLov1j7eXDFGBs/UtUFlYe4xgveqyrNGzjBHL6tTFJrtf/ZXNhd2cCgTxJ6h8sbz9eiiKA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GoVpa6yo1+kqij+kyNC8NWRYKew0xeVGaGvImNjjnKY=;
 b=l/kWjkCrHY15W6IrAYBF86uxYdsEq0X7yWTEH9fn3GcBF4WdxsrIq8Kb61wTosj+jUBQR5cEBcaQIZfY/7XnDzwgomAExfgWa/ooBgUaKL/rb4YEBhBGrw9sWusmwp8lBijrzBXIp/nVgw6buO5k8VYAerrYi5zNrQbpnVtA8DIlUbg68m/T2PH75rrwsTC3eBcyg3JTQnA46qI1qwqUj2utHs4kzFvZy34vWqEFtSheR+RtIFx55JMhEH5nG/ESH3FAPVtJ/e3L53+MYn13LhO9PtxgZH4VDlpAn1pw4IH234TaSsoOb6j0JMSemZyOWFX2zTcvDE126wEhyWFF7A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v7] AMD/IOMMU: further work split from XSA-378
Message-ID: <bf4b3be9-1274-9750-7340-08b29dcecfd3@suse.com>
Date: Thu, 26 Aug 2021 09:21:36 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P195CA0017.EURP195.PROD.OUTLOOK.COM
 (2603:10a6:102:b6::22) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 45caf0f5-9ceb-4cd9-f579-08d96862254e
X-MS-TrafficTypeDiagnostic: VI1PR04MB6304:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB6304A45027EE37F1F600AB2FB3C79@VI1PR04MB6304.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LAELJp3XwXPxkCtvc0Vev5bk3VYF0stMewB8spa8dAkVVYHuFjYcNhOrC52gxwDgXwV6yNwf1cgcSvnH5Z8rfOEW/fo4GsedxBFtrGj1aWZ673ditOjyKAhlrKm12zHPitF9jhon0/1qDoEKR5tZmcbhmUOlR0tL0F/b7RtTuIFupse4tR1/ehFVw/DK23NKMZCqO/ibNTa+hmiufKlC6vcpMizyh+Wpg4g4W8eLOiQup/6a/JWyZ6yHpJACqMw+QDzx/NDUv+nRIDUYFsYW8rtmtMwWC0kctARnSWgWiHDQJBdFQs6rEni25kkUL//J+7t/NPZvVJvmvpO49izkLv13v+0qv+nAGTSEJk03Y49YwV5gKM91z2Oecm4IisknA5aMx0YTKkLHf8SkJiuBhgNe3SRTI/AA97TGIUtDf0gLecaiCtdke27lHvOJIn33vaSyM1m3inPitOHExpVqdUpRQKTqZ46FBKAuvjspv1jV68tYForxniQUtBWYGY48k9I4ZFM7M71meoR8iO26bvpsYBqGxV5HErjdEBiOhDi8dDO1+VyPtcI/njZ9tCEx7khISNZMtklPJLc9odDL3z6MXEbG+RKmgdXBeCH9nLTXq83zu4WH9q3qmRVpsa7N1rkwrZVWEpVOSCn2g2ykM0XyIszrg8C9+5IdWgfXUiR/5h9PqwjYjZ3g0DS+e1Od3FTZJWySUGm4iQ9Kgp5/pfEuUZcFkg6b2vxe/skgHIk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(54906003)(186003)(36756003)(8936002)(956004)(6486002)(4744005)(498600001)(66946007)(66476007)(66556008)(8676002)(6916009)(26005)(4326008)(86362001)(16576012)(38100700002)(31686004)(2616005)(83380400001)(31696002)(5660300002)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TVhuZktiZ2pORzIxYTFmZTk0Ynk0QlY2cmRqL3ZqTWxkM0FiZHR4RFhWRGhw?=
 =?utf-8?B?NVFEVVJQbU9EZjlxSjJqUW1kNUhDaUt4aWZIeGpBUmZVcU5NRkpzZk1RN3Jp?=
 =?utf-8?B?ZnFLMTlJVTZ0Y3R6QVFNSGZSM05LcEd0VFdWMi83ckJqM28ySE9VSTZQV0F3?=
 =?utf-8?B?ajYyL1hvc0dhMnZWYUs3VDVydWdpbTBzUEFhNVUzK2x0MEg3VWF3UEhodm5x?=
 =?utf-8?B?TlZJZkE1cUplbTYzVjgxSkc3N3llMWtGd1VrNGZrM0FtQW9EWm1QTGRFZEpY?=
 =?utf-8?B?UUw2SHptSlR5TGFmMyszblFEbzViY0xnV0tXcXBkeW5YdG5FODEvS2phenc4?=
 =?utf-8?B?MVE4WmJ0ZWZsSWlocnJkU0szSDY2d1kvRVU2Qmx6R1YweHVqUWd1TlhVbklE?=
 =?utf-8?B?UW9GODI2L1hvV3Z2WnFZMzRHcHRNN3FPNXJTTzhnOFM4Q3B6YmpEM0RLbGFK?=
 =?utf-8?B?NXlYKzk5SkN6UnlLMjBDL1lPK1VuVzhYbHB5c0ZJczRFRkIyZEorR0dnVEcw?=
 =?utf-8?B?TlhOQmJGMkRzVXVPZGVhL3Z3M0RwekpjYS9nMUt6SjBTSjFRRXdNQ3d3aFU2?=
 =?utf-8?B?ZVUwREtHV0FyWWhLaHlnODQvdDhRNWxKeGFLWmN4VjlOQUZ5MnVKV0JIMEhT?=
 =?utf-8?B?YXROU0JxYU9wZElMZG8vZkNKNXRQMGVHV2pma2loVDlRMkVUU3E4enVqS25s?=
 =?utf-8?B?NE5Zdmh6UE91a1h5TEY2Q0NIUDNmM1JpRlBJVDZ3anJnQ1FjRjVBTEZ3NkM3?=
 =?utf-8?B?QVB4blBMUG9FZTFyMEF5K3RXdnJQV0gvV2tILy9tMmUyWElkTWNJcTZnalRW?=
 =?utf-8?B?NGtvTGs3UW41cFo0VDNRaGlnMUZkVkZiSVBYTmYvU25EQ0hHcCtOTWZDanI4?=
 =?utf-8?B?R1pZUndDWFd1b3ZtSy9NemlMZmFqYXZDRlYzUDJuNU1yMVNObWx1Z05QcFpZ?=
 =?utf-8?B?UCtPNHdXZkFSOXJxUlVpMEx2U3hJUm05VUlVOWcvdHRqZ29pT1lkRFBlSjF4?=
 =?utf-8?B?TXAyRzhYakpUeC9KMU9ab3ZmdkR0SnEyb0pXTm5ZMjhsVHNSc05wbFhIcmRl?=
 =?utf-8?B?WmJtZlE3K3pMTnhLSERUSWJkcU96WHl1cnlLMWViYUozdmhxaFdzNXY1TjJO?=
 =?utf-8?B?eThuVG9yVlNhTFVRQUw2UFc3ZFJad0RUZHBZdXNxcEtMVENMOU8raEFZVGwv?=
 =?utf-8?B?UG1Pb201OGZBY1pyVExoSFNpeEloUUZrRDNWSytGK2Exa084YmVnYzh1VWZK?=
 =?utf-8?B?bXZYOENtZE9oV3h3Y3hLMU40VFNOandvLzU2MlZ6S25SMWtYaG84cGE1UHJP?=
 =?utf-8?B?dkQ2b1ZMSlVGT3hHaXVtUUlpQWZVYzV0YjZDZHk4bktiaGdhNTFQajZXK1F3?=
 =?utf-8?B?Vm0xTnZ1ZTRnRWxndm5reXc2K0JIR2ZVSjZVeXZIVVZiMUM0Wi9jWU5WM3Z4?=
 =?utf-8?B?TjkyQ3lvMEhwRGNiMlVXV3l1QWxDQzF3ckFydXRsWXFTaW1KNzdCYmlaS3Iv?=
 =?utf-8?B?N1J2U0JBYlJ2V0hOV0ljV1V4by9xRnVINHZqNVRnM1dBM2ZzTnJEOFk2bWlr?=
 =?utf-8?B?UzBUZ293dmxxMllHeFgxNGNrRW8vRDc5ZksyYmxaeGtPaFRBWW8wRm1mTTc2?=
 =?utf-8?B?REcxTklRenV2aytyRWF6VHA3MlFVcnE2K25HclRGL3RlUklQV1BJQmZxbUxk?=
 =?utf-8?B?YnBTLytGSVBpb2ZVNUFKMERsb09DOTk2RUFOVzJ1S1JXMnRTZlhkVnN5b0VX?=
 =?utf-8?Q?hE7SM50Qo1FelSr9aEAYx9iiLyJ/lCy74khoSQh?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 45caf0f5-9ceb-4cd9-f579-08d96862254e
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 07:21:39.3020
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: WCRHuVGJiqbeRMrNlO/G/LCX8ZOT7T2e/+WCcM4D38BSLNDNemZq5RzsJLFzfz7uMA04fWadnPqQ6c1OjLXBIA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6304

Along the pieces that were determined to have security relevance
there are quite a few more fixes / improvements (or so I hope)
which were decided to not become part of the XSA itself. Hence
also why this is v7 and why several of them already have a
Reviewed-by tag. Here we go.

1: check / convert IVMD ranges for being / to be reserved
2: obtain IVHD type to use earlier
3: improve (extended) feature detection
4: check IVMD ranges against host implementation limits
5: also insert IVMD ranges into Dom0's page tables
6: provide function backing XENMEM_reserved_device_memory_map
7: add "ivmd=" command line option
8: respect AtsDisabled device flag

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 07:23:10 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 07:23:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172699.315133 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ9jB-0006af-M4; Thu, 26 Aug 2021 07:23:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172699.315133; Thu, 26 Aug 2021 07: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 1mJ9jB-0006aY-J1; Thu, 26 Aug 2021 07:23:09 +0000
Received: by outflank-mailman (input) for mailman id 172699;
 Thu, 26 Aug 2021 07:23:09 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HXzX=NR=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJ9jA-0006aO-VF
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 07:23:09 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 7541dbcc-063e-11ec-a9d2-12813bfff9fa;
 Thu, 26 Aug 2021 07:23:07 +0000 (UTC)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2058.outbound.protection.outlook.com [104.47.14.58]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-12-2gyUMhObPEKumzLvq99ZGw-1; Thu, 26 Aug 2021 09:23:05 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB6304.eurprd04.prod.outlook.com (2603:10a6:803:fd::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17; Thu, 26 Aug
 2021 07:23:04 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Thu, 26 Aug 2021
 07:23:04 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FR0P281CA0065.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:49::18) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4478.6 via Frontend Transport; Thu, 26 Aug 2021 07:23: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: 7541dbcc-063e-11ec-a9d2-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629962586;
	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=uF1wv1gdmsz5Xtdqg+XbsQZg1yCtv7jjQCf7Xzg5lVM=;
	b=JI+wYlRqNflAVAU/oGiiTYGyPhrf3v8VnfutBz1+5VDsG98ko/2ZwhnnNWq3oVZn3VLO90
	Fzdiwrv4I92yWRneNsZERCIM07zKeGw+H246U4d6qy7z2Tqwg74oUMezBhD8u0mbrvYGG7
	9BLI1DHWcpzErfFkKRh3ESCdTQ7GyRg=
X-MC-Unique: 2gyUMhObPEKumzLvq99ZGw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IuWsx2RdGja91hF+qmMJ4/2Z5xLB1Zx8P0gP0IaLXgNJ8O4Sija4bsO3pISdJQpXFCG1YWdtnFsJUuZSRbOZPaizcIpEhCkiUhtLCHWDD0nzOZdwN+6vmIDXMPmTqYAp+kBCllC7YQllHF+OfzxfpqnvtNnWVz7HB/J4hONPJe4VdG4lh4IUHkRHnyK0PW7suNuA4uUikFLLZSoH8LdaEwTpsAQq/BI4qRV1V/3AU/CZrx9mRMIx4AuJXg0eHy2/WgdV5M5oco1/d5n20I5zkagUK8HxeQCVCd3TECyM7UwS49QTato+NZrMK/sdJKm5LEJsiUTlKCR+iutAMw1n1A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uF1wv1gdmsz5Xtdqg+XbsQZg1yCtv7jjQCf7Xzg5lVM=;
 b=cv3xNnaw5kPNFQEoq303t49hgqRiVhegNAipT/rIginw5CIk6l1qLHpHf/k/YZAth6QSY8iC0FwuPE1Rb5fHIR6bEUqY4Tlswo8L3oAYauoRNgYdy1i4WB1d8g8MoNF8Ag1RFPNrzcJZm6gvfBD9R/xTKuc7b/vPyA5uxfhQnA2/vx2YWKbomt8gU9I7sO7vugkLdQ2pfzXzp0CLUIghtKs3UaloUZrfQrxD3vZymoR5aHAVNUsBJbXyZq5AZAelF8HNvcAQSOUKwcK0t7wDgEiCZWbpCxSlqdxU+v8KjOgimS1dw7DDmDoZkv2U7gu5rgTVu8vuU2265DPnizfhWg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: [PATCH v7 1/8] AMD/IOMMU: check / convert IVMD ranges for being / to
 be reserved
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>
References: <bf4b3be9-1274-9750-7340-08b29dcecfd3@suse.com>
Message-ID: <133d60ab-0de6-4831-7387-0ba9cf6efb5b@suse.com>
Date: Thu, 26 Aug 2021 09:23:01 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <bf4b3be9-1274-9750-7340-08b29dcecfd3@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0065.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::18) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b808e0a0-e37c-4b65-8590-08d9686257c5
X-MS-TrafficTypeDiagnostic: VI1PR04MB6304:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB6304366D7FDD3CB9A46293C8B3C79@VI1PR04MB6304.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:7691;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	a5h8J6r9SDjLTUSw0vugVlpRN+hL/UIlgyaIY4vLMkYe5bO1xFr/7yzQMQQI5eOvgNuyBa4k60CmSROoFygysF3/f0xYRfuqCPexVPg5Bzn+ACMo9o+o/sKmvmQp2uyAd2m7OAMKM2j+E3Hx6TUZEgzrC6DOM905xjU5Q3Rulpejada9kKds1Yf6K7KKMOg6O8y+v/Jlll2XaCRQgkXs25MvKJMClO3C3DtQzH8/tUnB8X8Jwq9D9JEVhSJRjOyBN4Ruv1SalQqh+vO7Wyrenzt8OKD5P376sklWLuDpsaPg6cw5xv6YQrZAZcTfN2/gTEt8KwcTY+5wVGny+XjE6K1OxgM9+LRnT2lgzfKqRtS7GrKyQqfnNHbtMicrQp7C0ZX4o5ocCDfOYaHBuURkqattqiskjZ7cZKLi6/6ungjh3miEx/EBmiTWmoCd0NgOeC0SiSIjQH9rqa6Ns8Bboa8p6aNiP2vR3lxhHClmE73qyi5ZSj6W8sIU3uPg6wJGkth6Yaja563xtfdZG3hMQ9ypqJMaYpGqp9fACvp42R8FiJzcxQXGcDp4isE3jkU6l5KKFIkh9PRy+HRJL4vtRXyFhX2UIxmZ6uxEmcI1EB/2j8YsSq9Mw0Y5wFy0u2Pt/3UhYgclAQhJqHnKimHtu7S3G3PW/+yJjbzu0T70pEMJ55W5QW/FXHGLs3+XwIXsdttbSH2di2SW0k9K3NwYhGUlfY6HWKGi/XphSI8CkpA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(54906003)(186003)(36756003)(8936002)(956004)(6486002)(498600001)(66946007)(66476007)(66556008)(8676002)(6916009)(26005)(4326008)(86362001)(16576012)(38100700002)(31686004)(2616005)(83380400001)(31696002)(5660300002)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bHRYaE45Q1JQYjNDTFY2U1ArWGdsM25xOWVzc2pIcVQ2anZrSW8zQmFJTjRB?=
 =?utf-8?B?c3hpVXRja0trazNnMFBQYVA0cnpkTFVWbWlDYk9Wd2wrVkZYRmhwa1VwSnFR?=
 =?utf-8?B?TExLZ2g5TFNOcFBVV3FUUHJxbW1GL1NqcjBMT3pZYkNvamVUNGFYZnJ1Q20x?=
 =?utf-8?B?K2Z4djd5RGc0WHpBTnp6Y1E2cEo3bU8vaUR0U2VDTW11TzlsQ1pYWjVoTm1u?=
 =?utf-8?B?cTVreHpJSkYzRURleWFaYzVFOGt0NFZvK2w4UDhDR095ejRFbmxTWWp3TWlh?=
 =?utf-8?B?MmhJV1gwN2RXdmxYMmhRcVlxb2VENldEbk4vdnlNVTdoenJIMDE5QXNLY00z?=
 =?utf-8?B?UHllYW1aWUV0UGxmT3A1ZHdkQVRzQVdobWlBRHM2d3VrYzRMQi9QMWEwZjJM?=
 =?utf-8?B?c3VLQnlUNENoWVdPT0R6emJNNjl2eWtMMzRkOWo0REMrK1NwNS9wa1ZtQmJi?=
 =?utf-8?B?b0NVVHRTbm4wQ2RIK0xqMnpxZlFhd2VCVEJYdCtxVVBBU01MTm5POC9YRDVW?=
 =?utf-8?B?cW9EdFd1dzBIVTN4M05RTTY1bHZwTFlCV2UxalFYbjN1UXBSWVpMK1BQVGx4?=
 =?utf-8?B?ZmFGYTJQU1hQVlVpNVMvWXJia1NYd1o1TGRnZEZVMTFRQ1lvaVRmUENDTGd1?=
 =?utf-8?B?M0krK3BrNUZQZE9MRWFFdkVFYTZwTUo1YzVacHFMWDc4MG9nTjA0aFQvdlBH?=
 =?utf-8?B?WGhvMFh2UWNDYlNoTzZCYUNqTHZqeUZvNWYxYkx4ZWJzRnU1cXpaNXdvSlhY?=
 =?utf-8?B?TzhpUkpNK0RUUTdISGZOMFM3TnVObVVwc21yQ2gvNW10c0c3YWZuQ0tWdXBY?=
 =?utf-8?B?QS81ek1nM1R3aGZqcFJwRFZha2doTDFRYzdEZmtIdHR2cXB2WGgrazh5d2xn?=
 =?utf-8?B?eVp4akJLdzRReHo1Q05YSFkyaTJ4UEt0T05lZXZEOXNhSVZMTFpVbERqSE03?=
 =?utf-8?B?M3JPQVRCd1dtb2FqNTF1bVNaUUJpaS9halRFejZIWDFCMk42T0NFUGdwSjl0?=
 =?utf-8?B?VGQzaDFMS1B2NHVjMXZnTHV6K1RPNys4V2dMZDAweFdkYzlFZHcyNUJjU1R5?=
 =?utf-8?B?Yy9tR1RrTHdocFJaNGJpWXpteDJjYUorZG4rTlVzRzI5L2ZQaFNYbzczRU14?=
 =?utf-8?B?WEhTb01KSHU0enpXNlVqeGFFWTkwTWNCczg2Z2xKa1NrNkpLMWZPUUkwbSs4?=
 =?utf-8?B?MStrdys3cUxROEdyRzRsQmtYOU5EbmhUcGppNmVBWE9VR2JxOC9jS2lLRSs5?=
 =?utf-8?B?RmV6Q0dMOGx6Q1h4K1d4NjhvQnZZYitVUHR6aWUwRFpwaFpiUWE1b0Q2Ym94?=
 =?utf-8?B?NS9kakJNT1QvNGtpS1RpNmpGQ292SEdhZW4xTjNwWTlHYXVRL05kNy9mSFgv?=
 =?utf-8?B?SFBTT2pnVUF2Z3dwWWpKNmdSdXdBWFFYdnA5blhhb0V1NDBjWHYrK3h2ZldE?=
 =?utf-8?B?STc1dHl3MUZNbGNIaXJ3aXlLTzhKV0lReXdEc2I2eTlCQVJtYjRVdWJIQktZ?=
 =?utf-8?B?Q0V6OUVsY0FLclcyQVd6K3Rwcyt0SmFNcGx2VFFKS2IzRElaTUVERnRLYUc4?=
 =?utf-8?B?d2hXdzJDZFc3N3JRaUE1WW53Tll1eTIrMmQyZnpUL1NzQjJQeElFdU1pR0lk?=
 =?utf-8?B?YTlTQmoyMWt6N1d2dXlKM2NhNHZBRUhOZTdFMFB6ZlNaZGpMOGU0VjdydlI3?=
 =?utf-8?B?dlJoSlc4R3BhS1dwRnZBcEJGaWtXem5uT2x1dG1wNDROQXk5VmUwVk8vbHFh?=
 =?utf-8?Q?2pFrDqlygYU5sJQ3A8t+Ym0Fi/txgAmNvMt0Ma6?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b808e0a0-e37c-4b65-8590-08d9686257c5
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 07:23:03.9331
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: sTD7MxbHyS2DO4/yHv42nth9gLjDe+2A4gj5xMHggse9pu1mo/I8TCGIfRNgLp2R+ELHqNFm3UNLTMjpFnx9+A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6304

While the specification doesn't say so, just like for VT-d's RMRRs no
good can come from these ranges being e.g. conventional RAM or entirely
unmarked and hence usable for placing e.g. PCI device BARs. Check
whether they are, and put in some limited effort to convert to reserved.
(More advanced logic can be added if actual problems are found with this
simplistic variant.)

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Paul Durrant <paul@xen.org>
---
v7: Re-base.
v5: New.

--- a/xen/drivers/passthrough/amd/iommu_acpi.c
+++ b/xen/drivers/passthrough/amd/iommu_acpi.c
@@ -384,6 +384,38 @@ static int __init parse_ivmd_block(const
     AMD_IOMMU_DEBUG("IVMD Block: type %#x phys %#lx len %#lx\n",
                     ivmd_block->header.type, start_addr, mem_length);
 
+    if ( !e820_all_mapped(base, limit + PAGE_SIZE, E820_RESERVED) )
+    {
+        paddr_t addr;
+
+        AMD_IOMMU_DEBUG("IVMD: [%lx,%lx) is not (entirely) in reserved memory\n",
+                        base, limit + PAGE_SIZE);
+
+        for ( addr = base; addr <= limit; addr += PAGE_SIZE )
+        {
+            unsigned int type = page_get_ram_type(maddr_to_mfn(addr));
+
+            if ( type == RAM_TYPE_UNKNOWN )
+            {
+                if ( e820_add_range(&e820, addr, addr + PAGE_SIZE,
+                                    E820_RESERVED) )
+                    continue;
+                AMD_IOMMU_DEBUG("IVMD Error: Page at %lx couldn't be reserved\n",
+                                addr);
+                return -EIO;
+            }
+
+            /* Types which won't be handed out are considered good enough. */
+            if ( !(type & (RAM_TYPE_RESERVED | RAM_TYPE_ACPI |
+                           RAM_TYPE_UNUSABLE)) )
+                continue;
+
+            AMD_IOMMU_DEBUG("IVMD Error: Page at %lx can't be converted\n",
+                            addr);
+            return -EIO;
+        }
+    }
+
     if ( ivmd_block->header.flags & ACPI_IVMD_EXCLUSION_RANGE )
         exclusion = true;
     else if ( ivmd_block->header.flags & ACPI_IVMD_UNITY )



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 07:23:33 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 07:23:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172702.315144 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ9jY-00076U-VG; Thu, 26 Aug 2021 07:23:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172702.315144; Thu, 26 Aug 2021 07: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 1mJ9jY-00076N-Rb; Thu, 26 Aug 2021 07:23:32 +0000
Received: by outflank-mailman (input) for mailman id 172702;
 Thu, 26 Aug 2021 07:23:31 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HXzX=NR=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJ9jX-00075k-F7
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 07:23:31 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id f591d2b6-2369-4d41-99e1-f9b903433ea0;
 Thu, 26 Aug 2021 07:23:30 +0000 (UTC)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2107.outbound.protection.outlook.com [104.47.18.107])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-11-GGNzO-H_PK-fTiWSckZddw-1; Thu, 26 Aug 2021 09:23:28 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VE1PR04MB6671.eurprd04.prod.outlook.com (2603:10a6:803:11f::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17; Thu, 26 Aug
 2021 07:23:27 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Thu, 26 Aug 2021
 07:23:27 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FR0P281CA0072.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:49::9) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.10 via Frontend Transport; Thu, 26 Aug 2021 07:23:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f591d2b6-2369-4d41-99e1-f9b903433ea0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629962609;
	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=Y3vU+XGm5rYzrY6LNyo51wrX3oOoFfQmjAZpGnDlC68=;
	b=H3i14XsPxzgrQcRyciZ4uEJVJ02tyCAK55Rdxc1v25j6qvEGoKM8OHM9F2PM5gGDNWoXgm
	4F8fFMysuYcElxYlnp9e6M5YUmgdjnFvJMsg6uBoe05HlGFYqSVEt8jfVBNqjEgMwD+8hc
	eMpl/DaWW5WSHu8cZaqEqhlfOHZaV5M=
X-MC-Unique: GGNzO-H_PK-fTiWSckZddw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=I2bfmG3o22Yc6bhRvWJOR48oYNNXD41+O6tB1syPt45xH75X7heFU1uEzxl+6J/XQj6FOSgm53YT4d3Nta6ma8nYZ0gmqusLkVd00bWuWkwVGM3X0qanOkhKDKwfwLc3i96KLKjHcfSsFM5a59HhlM7v839sH2exIb6f7DNNVu5AJOwAzvxG/aeSLBS6BlXVO7qmBk+Mud8+X7LkeZ6RZ9f8AMO4V/0IfmwXlQlG26QEpl6tR64jV7MdUFbyYyGJJAxvC3eWMQgL7Smy9guhagsTTnI0z9Lzjith/uMLlHctHAmrXGcg6oecNWirE3UzqfYe3+l4bPX93WjztE306w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Y3vU+XGm5rYzrY6LNyo51wrX3oOoFfQmjAZpGnDlC68=;
 b=VD6f3dmO3OufkTQCWiz2Yx907vzhdluD99490cAXM8gdFPr+2yC9NIByzsRkN+5f24s5HcXMsr+NEdbNhxfss4gtEv37iL850wL+sdPilL373vwNqsordYmouTRFa466oVeSOu7AePKhE2yn78hegffyphKD1EYPF+VUAv9MICoNQF+POsJ7WmqNCvO/P6MXj+fUtjWG7dBIA2rkDasH66PgqztePrGHV1lAEnU8AnryDOElnIaWAsYM8FutdIIOgIAPuJjv/D3QAfhcUh5umhCQ7saQu89nAg3RPZU99THK8uNoHnlZ+9xleAScU+JxugBURTivbW+bZW1Yvo/bGg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: [PATCH v7 2/8] AMD/IOMMU: obtain IVHD type to use earlier
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>
References: <bf4b3be9-1274-9750-7340-08b29dcecfd3@suse.com>
Message-ID: <e4124802-d671-0e19-a062-f71b251cdfad@suse.com>
Date: Thu, 26 Aug 2021 09:23:25 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <bf4b3be9-1274-9750-7340-08b29dcecfd3@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0072.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::9) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3bfd0ae9-45ae-4b7a-0a07-08d9686265c1
X-MS-TrafficTypeDiagnostic: VE1PR04MB6671:
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB66713C4A336E6E4BFB9C322AB3C79@VE1PR04MB6671.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:6108;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tEC9DLGjVYQNelVhRpTG8V5slgGEVI49cb6sBBZOuEVVRAY62d48e6yg0jidEdi8OVM3B4qU/tir3JgXKTup8DGWiNpHsc1ZUpV74zIO+IrDjWtHhQe2d+RJBy5ukbUA/Ny0KrBi7jmlHI6oPQ/deHp/KVBGx+Qjs8CTJnGUqYLzVFzao7CICbF4jWZAauwwNhgnAfADGH4yV1wOj+KsRe/nJZTQTccx8IUmwp7CZCc7uqkzkVru5oHao1fJYeYSPUjb5xlYzvgVsSzoLdrRg1roAtSGXQyhlLnUO0GMNAxiofmGDMNtdFWzQ9xNGL9ksA3df5zxTS8HOEGn3L2GJ31+vSRUS68S0a5RpLAB+qsMFdGWpFVL8bxd5a1SiNQBivzXYivdNrCdL2r7O3Upb2GvU90lij4j1PrU5UffKrHJaAhrYpB1boMrNeJ/K4PdNo1Hp9k/4EGJVc/PL2656XJYV8AT6EL5f2MGZer40cFFGy8NXNHYUJsztYHD4kSHfQtMOzgdY3Y3vC8orjOZbK0tmVH7lQpzUzgBtYYgAsWEKhfcaPw+40kM4DS89AIlatPyCKqo6+X4WQTZyPVBz5xeqWasFaFI5e6KEl8bbtLq8RbjUmdim+BCMPYaW3Yx9CcWx5cBupKqYe0mbIW2WfuS40TPVfTrGjl+4RAR6zkPBLwBYLY8swgu0gXiPeksLZFDCqOG/b3h99/IJQzXbOTaAHh+4X8li8cxqylWbU4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(4326008)(31686004)(38100700002)(2906002)(6916009)(86362001)(26005)(2616005)(186003)(956004)(31696002)(83380400001)(66476007)(6486002)(66946007)(498600001)(36756003)(8936002)(54906003)(5660300002)(66556008)(16576012)(8676002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?d0pUOWlyd1NVVU0weldZRjAzZjk4YllvNXBmZ0lYenR3MC9XVHhjTjdvZkFI?=
 =?utf-8?B?WkF3aTVDNFFpVWk2b25uemUyMk0vWitMeFRPVHJ6ZTFKUUdHMnZEM2F3V1ph?=
 =?utf-8?B?R0l0QlZxWnFrZTJHd2FQbC91YkIxWXEybGtkY05oeVhpQ2MyTzlVbnV1akVz?=
 =?utf-8?B?QXdTa1B3SllxOWFZc3hPdGttRzh6bm0yU2R1cHZ0bURjdHJyL295MStKUlhX?=
 =?utf-8?B?aFlURndGUmZwc0Vzc0VoZzRxS3BtRGp6M3NVZXRsWS9yOTRuMzVHNUJscnpL?=
 =?utf-8?B?OTFKaWVVQlhzYWlVd2ZVYW43RFAwSW9WODBPUTFjZ25tZDhLNjltd01DaDFO?=
 =?utf-8?B?WGFkK0YvVHhqQnEwL1E3Mkg5QTNkOTFqRTVJVCt2NDRLNU8wU1ZPRUJLUE9m?=
 =?utf-8?B?OUkwTGFQa0lleUUrem4wdERHSlF5SXFBMGZ6UXJVWDBmOUR0bGxISGpJQlJk?=
 =?utf-8?B?ZFBKSlV2VlVNdVNNTFpFenVtVnBNY2hJdlFCeVkrdVUwdnEyUk1WYko3dmVM?=
 =?utf-8?B?Y29ZejVOdlBjbDlBV2pHVFhRTGRCWFB1aVVkVzZ6UnlMMFl2dXZFaFh2VjMw?=
 =?utf-8?B?WnU3M0VoZHlsbkxscG9kUmZMaGgyalRiRlphMEhzUk1NZVZqUnBzcHp1eHBy?=
 =?utf-8?B?a1hlQ1RQVzJSVUhqTGFYbzZ6OUpYV2ZidTlDVHczV3RSejRqbm1odzZCS2Nl?=
 =?utf-8?B?R1RuQkZLa2xIdzlhOVBPa3JCNXRDZGl3K2tyazMvRnpPZzZMOWMvOVpQK2ZZ?=
 =?utf-8?B?UHB2c1loemE1SkROcEN4aDQ4L0lZMml6TG9qQXFFaXlpbHBYcDRBU29SaUhI?=
 =?utf-8?B?Mk9POW0rTU04Y0VyNUVRbk04OTlrb2s0ZDgvdlFJaVdwbVdZZHNVUkxYSzY0?=
 =?utf-8?B?TTFQU2pudUZRYkllbVJieS9yays1VHlROGFXUjl3WjgzSkUvN3hWd2N4SWI4?=
 =?utf-8?B?Mm81Z3hUdXFKcVVZeEl4ZGN2R1Q1Z0xKU003MzRZQzVySHYvcytmVjgvalpS?=
 =?utf-8?B?azY3ZU5kaEVtc3pHNXZGTzAvdzVJdThwdFc5NmlRUW1SMVVNUER4UXZNZ2lX?=
 =?utf-8?B?ZGFFckI5QU1WTXgxanRiMkI5N2IvOEZaTnpncnRTNGtYT3N0TURkNGNDOEJv?=
 =?utf-8?B?NFQ0d2ZpSXVJdEJXRHI3ZEJadGZJVkhHQnhLMVR4YmdHRTlvRnU4SVJud2lj?=
 =?utf-8?B?NlpnWnJRTHBxWmd0N3BsODkxMGRLeDJ2QlUvYmYxWDhRc0xOclRyYUYxbXVQ?=
 =?utf-8?B?MnJlQnNhRDFSOWJCYUU3TDRQRWF6TGNPVVU3WVMxemVURWdoaXFvdFhrUWpF?=
 =?utf-8?B?WVRpbWxoaVFlUGtNZmNBSURheXUydVFEL1d6bkgxZ0FRdFBIbFVSaUJVWTdv?=
 =?utf-8?B?TkMzTUU2YmtmMExLVXRuTllsSUw5cG4rVVczdG9MbGljbHF1ODlEVThuODJR?=
 =?utf-8?B?QUU5eEVDZFlwNnkvS2UxRnc0Rnp1S1lRd2czbjZHVTZKbzBYNGRjN2o5a0lJ?=
 =?utf-8?B?UHFlMnVZRGRRcTVWdnhrWDJxMWhQU2VhdHB6VmsvUUM3V0NJcVpDTmZBeThp?=
 =?utf-8?B?TEVad3hYSXduMWNyZGxKcXdQR3FteTNMYXE4amhyVTdaREFqY1Y1a0xUNk1Z?=
 =?utf-8?B?a0FuVmEzOGtDK291eGVRZUVvVEtLSytncm15RnFhWW1pRHVEdWd2MkdwNTEw?=
 =?utf-8?B?NUdHRlYvblZXbGh6RDJnUSs3MGJaN2F0b0l4OUU2ZmZWZW9VZGRRUU9ZWWNv?=
 =?utf-8?Q?CeJLkBhYeRsPuJS+73/CgUjXY6l5/1VHOtvXYYP?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3bfd0ae9-45ae-4b7a-0a07-08d9686265c1
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 07:23:27.3878
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +ur4PqRfGPCGwQJxL1ACJCnGKrcWg1Y3leIpxBwDtAapL6EHzEIiCjwCBUcghqp6ups6q5w6S6EATwlOqk9MpQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6671

Doing this in amd_iommu_prepare() is too late for it, in particular, to
be used in amd_iommu_detect_one_acpi(), as a subsequent change will want
to do. Moving it immediately ahead of amd_iommu_detect_acpi() is
(luckily) pretty simple, (pretty importantly) without breaking
amd_iommu_prepare()'s logic to prevent multiple processing.

This involves moving table checksumming, as
amd_iommu_get_supported_ivhd_type() ->  get_supported_ivhd_type() will
now be invoked before amd_iommu_detect_acpi()  -> detect_iommu_acpi(). In
the course of dojng so stop open-coding acpi_tb_checksum(), seeing that
we have other uses of this originally ACPI-private function elsewhere in
the tree.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v7: Move table checksumming.
v5: New.

--- a/xen/drivers/passthrough/amd/iommu_acpi.c
+++ b/xen/drivers/passthrough/amd/iommu_acpi.c
@@ -22,6 +22,8 @@
 
 #include <asm/io_apic.h>
 
+#include <acpi/actables.h>
+
 #include "iommu.h"
 
 /* Some helper structures, particularly to deal with ranges. */
@@ -1150,20 +1152,7 @@ static int __init parse_ivrs_table(struc
 static int __init detect_iommu_acpi(struct acpi_table_header *table)
 {
     const struct acpi_ivrs_header *ivrs_block;
-    unsigned long i;
     unsigned long length = sizeof(struct acpi_table_ivrs);
-    u8 checksum, *raw_table;
-
-    /* validate checksum: sum of entire table == 0 */
-    checksum = 0;
-    raw_table = (u8 *)table;
-    for ( i = 0; i < table->length; i++ )
-        checksum += raw_table[i];
-    if ( checksum )
-    {
-        AMD_IOMMU_DEBUG("IVRS Error: Invalid Checksum %#x\n", checksum);
-        return -ENODEV;
-    }
 
     while ( table->length > (length + sizeof(*ivrs_block)) )
     {
@@ -1300,6 +1289,15 @@ get_supported_ivhd_type(struct acpi_tabl
 {
     size_t length = sizeof(struct acpi_table_ivrs);
     const struct acpi_ivrs_header *ivrs_block, *blk = NULL;
+    uint8_t checksum;
+
+    /* Validate checksum: Sum of entire table == 0. */
+    checksum = acpi_tb_checksum(ACPI_CAST_PTR(uint8_t, table), table->length);
+    if ( checksum )
+    {
+        AMD_IOMMU_DEBUG("IVRS Error: Invalid Checksum %#x\n", checksum);
+        return -ENODEV;
+    }
 
     while ( table->length > (length + sizeof(*ivrs_block)) )
     {
--- a/xen/drivers/passthrough/amd/iommu_init.c
+++ b/xen/drivers/passthrough/amd/iommu_init.c
@@ -1398,15 +1398,9 @@ int __init amd_iommu_prepare(bool xt)
         goto error_out;
 
     /* Have we been here before? */
-    if ( ivhd_type )
+    if ( ivrs_bdf_entries )
         return 0;
 
-    rc = amd_iommu_get_supported_ivhd_type();
-    if ( rc < 0 )
-        goto error_out;
-    BUG_ON(!rc);
-    ivhd_type = rc;
-
     rc = amd_iommu_get_ivrs_dev_entries();
     if ( !rc )
         rc = -ENODEV;
--- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
+++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
@@ -179,9 +179,17 @@ static int __must_check amd_iommu_setup_
 
 int __init acpi_ivrs_init(void)
 {
+    int rc;
+
     if ( !iommu_enable && !iommu_intremap )
         return 0;
 
+    rc = amd_iommu_get_supported_ivhd_type();
+    if ( rc < 0 )
+        return rc;
+    BUG_ON(!rc);
+    ivhd_type = rc;
+
     if ( (amd_iommu_detect_acpi() !=0) || (iommu_found() == 0) )
     {
         iommu_intremap = iommu_intremap_off;



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 07:23:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 07:23:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172709.315155 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ9jz-0007mC-BB; Thu, 26 Aug 2021 07:23:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172709.315155; Thu, 26 Aug 2021 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 1mJ9jz-0007m5-80; Thu, 26 Aug 2021 07:23:59 +0000
Received: by outflank-mailman (input) for mailman id 172709;
 Thu, 26 Aug 2021 07:23:57 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HXzX=NR=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJ9jx-0007fE-Co
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 07:23:57 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 9183045a-063e-11ec-a9d2-12813bfff9fa;
 Thu, 26 Aug 2021 07:23:54 +0000 (UTC)
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2057.outbound.protection.outlook.com [104.47.2.57]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-19-fpEDhM5MMdSUWGBHHzu-ww-1; Thu, 26 Aug 2021 09:23:52 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB7152.eurprd04.prod.outlook.com (2603:10a6:800:12b::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Thu, 26 Aug
 2021 07:23:51 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Thu, 26 Aug 2021
 07:23:51 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FR3P281CA0008.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1d::14) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.16 via Frontend Transport; Thu, 26 Aug 2021 07: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>
X-Inumbo-ID: 9183045a-063e-11ec-a9d2-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629962633;
	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=c+AQGPZXlT/q+HUDFRoBgG6p5d4VOARNEisvMrjLXMw=;
	b=JL3g3PE8F22YB6hK8OBvJUyuQeCG/319tAsMVUHV/05K4RJgeTzjLpun02lZwr4AkHtlXI
	9uAKiTu4VeI1uXgI0QHmPVXNvFVKHjdtMxtH7WXtCYX6HlNyMwx0LY/Fqw+jQmlX67ltOp
	05r0T9Khey6Ws7FU0SJWgxFljn81+z0=
X-MC-Unique: fpEDhM5MMdSUWGBHHzu-ww-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mZm1PEuSujgc1sZ2YVisi9d5gRxaczNpftBRxOyqXO0lOhhfwjCd+9YPJr2jI4UEren1j3CPZydSqfGiZsRT/srffBhyzjYCXcdCr0MoObZotEy+jTdmWPe9caCn4zamkgpEMxY/P9t0srmi6+goX7DTPsG19A/3gchC8t03RcTq/ZmhA/YJVGsjK5GfbgDum5BZB3RkhUqdpITSMMuEniaQWKBststp+0MehsyJXQValUmzEi8gmzuSkkgkWOoplHe41OZ+sFIDzGtSa1WJT4G+FBoHiS6adz/A6mfh/l9GDX4wSYi7zIsiiA1y/V4iddjyh3nkCPGqDIs5W123+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-SenderADCheck;
 bh=c+AQGPZXlT/q+HUDFRoBgG6p5d4VOARNEisvMrjLXMw=;
 b=laigmezGGWzoV2/fbtF0TYH7UGSZFMRZZNdYRQcESzXN17022n3vP7INJUvwzIU6FipoPcZqhuANJ829AOww7wr9sTLi/YlF/slw4tysWQbY3uQBNfISg3VU/vNsYXfGjSWXJKi4XoNLF0srf7afNDHpK2QMkWdpaZYpguSIikFeLE8VpiHN/vGYpeGxR2okjAmaJul9q4r/+hUstinf1DWif7A+yZtcbZzbgQmtHmSrKHB33MaO5rODcH8EgxCWxAw3X+GnD8Kt9Q5EOiN5u8HVaK4Sz2IxNUej0j9JX1z8r0UdJskFrNMFTq1pYwfZsyQJ87aWWdKiI93APGBzUw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: [PATCH v7 3/8] AMD/IOMMU: improve (extended) feature detection
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>
References: <bf4b3be9-1274-9750-7340-08b29dcecfd3@suse.com>
Message-ID: <6b6b287a-c5b4-06f4-6f7e-78273cb74d64@suse.com>
Date: Thu, 26 Aug 2021 09:23:49 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <bf4b3be9-1274-9750-7340-08b29dcecfd3@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0008.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::14) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a9a97364-73a9-4af1-63c6-08d9686273f2
X-MS-TrafficTypeDiagnostic: VI1PR04MB7152:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB715293A01CC44BE2E73B4865B3C79@VI1PR04MB7152.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8273;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	g/UovAcgjOUVqYjRcxT9xkNangV4ffBAg2jb6qKGayYRTWT1UUyg2nHVifjqfhNkOfEClrlvbaQlumSuQl8cT1mPlr0LHUqV+gV+ZT/f1d1ZtetARV1ffBpxJSd6vmYskaHxurNv0AcyTwPDNjDDjGI5Q0mx24DCkY672yw3Z2QmBw6W000nSc5zQjusq6BBFErKjhGy5a5nLXVbdAp1uPnbEJirxVgrEjc/kgUxVlUcHLlBioNZQTtmsmkDQwg00ZeOYVeHzTuOFJO7SltVlvHds7ba4BR/eyXQYxUzaahX15d9SRlYx8KzTdyDmQK4TEUK2gIwcAXtoe2Cul9Ac4jLvdi/M4tO06vutPo18HPc4FmzJEZKzyDPczTX7Xq+hdbE4HHpvA2eRGVQ6n0Imfw/dCdY5cQSg1svOy9aPSYIOWMr5TzEGaM6bw2v4ybHA9UCxAtfF4NpNYlq5goJsbkkEBIaSue7uuF+JL8DYlrfCxWOVwzKXdGaeKXxnPIQJ8gx4oZd5zqNM3PCn+TdEdbJm7TSWIoIpH7Cw532hnCRSmHamOju3tF62MNSkI463I5XWUgufkj7pz2S08gITp01CDMr3OPSlM+ujb6D812rCasI0f3AzfsQzhRhnns25Y5kKN5QZcP6DdNldXgl/g5nfrKMPvSHDq/o7+KgPoKU0vxE7BUsHAKGaUCKODY3TkTMIzgfQ/dsah/abimX+olMMvJILBxt/NZB70xurWs=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(186003)(6916009)(2906002)(26005)(5660300002)(4326008)(8936002)(6486002)(31696002)(83380400001)(38100700002)(86362001)(54906003)(66946007)(31686004)(956004)(66556008)(66476007)(498600001)(8676002)(36756003)(2616005)(16576012)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K01ZNXNnUEhGdnI1c2xCQU5ibzlXVlBzdUNNNkZVbmV2UCthRVh5WmdaamxG?=
 =?utf-8?B?eFkwSkh1cmZjVDhhUlBCQ2JzRTZCMzdjMWNaM0prbnFJbnl5aUN5MHB6dVBs?=
 =?utf-8?B?SnVqMDZHanBmaTR2VlZIME9UWU5mWXVucjBEem43YU5GUWNvUmlEMGwzSWxk?=
 =?utf-8?B?RjU4WDNLVHVRem9GcG4rdTRoY0N2REFZMmpiUThQdy9WenRsdXZtNllSd3Ix?=
 =?utf-8?B?QXlLWDI4ZnNaOXg0eG1nanNlKytFdDNEU2hXcGVRMC81S0lEU3dXZGZvc3lK?=
 =?utf-8?B?RS9tQU8rZFVYQW8xNlRBQ0kxY1dZVmR2dkwwVUxPWTdrL2xNcUhvc2RpWnIx?=
 =?utf-8?B?amdiVFg4SkFySGFqREhrVEtnOGMxejgweGowRE0xVDRxMkdOZlJXeVl3NkpG?=
 =?utf-8?B?STBsdm5BZndBenp1UDE2KzI3dU9GdjVZdFpPT2JrcXBKbEdGQUNVT09MWjVs?=
 =?utf-8?B?cjd3SGdsanJxRHprUitLY005TWVWUEVWcmpDRDgweHI1b1AvOU16cFR1dTJi?=
 =?utf-8?B?MVd1Z251WXRScXhTWUV0T1RlQU0zV0lGV1dyY2dCSVVKSTlrd1hsZTJTRUVh?=
 =?utf-8?B?UGN3QWJ4OUtvRUpZdjJkS2hMUGhJRm10cU9YalI3bHc1amluVUd1a1VEK2R1?=
 =?utf-8?B?dEV0QUV2WDJUZkJnWEFnaVdsN0loakgwL3hQcmpQak12OWxSanBMamtSZkk2?=
 =?utf-8?B?d0tGMGhMOU5KQnlEMlBQVk1XQVVmckMrNE5reExHeE10dGVaYjJPU3FXQnZJ?=
 =?utf-8?B?QmpBQ0dQcmh5cmlzcC82Zmp0TkhJSmNWZUpBQWNZWDQwVzh1cjVYZWtKZUpu?=
 =?utf-8?B?TDJNV0NvbzBhZXFOdDE5Mkgrb3BpcnlHK0FOY3FjTkdGd0pCTXJzSWs4aUFJ?=
 =?utf-8?B?MmZGL2ZSaGpOR3dTY3pRRWRNN2VUNFM5OFc1eHc1MGU4Tnc4UGdvbDdmaUNV?=
 =?utf-8?B?VS9zMnNrN3p5NHQ0R0pVVERteDIrVzRzT2JUMzc2Yzdzb25DTmpvU3VRazNa?=
 =?utf-8?B?cjVNYjh5cVg1N3pKUURGTnVpWHhuUGdkNHVteHlzLzY1dnkrejRWVXZtTjNj?=
 =?utf-8?B?Kzl5ek9YaDl4aEd3QjU5Vit5Sm9GSVNFUGYwQlZzNG9QbXVyNUhWcVpzV0Ni?=
 =?utf-8?B?eXJOMHVXUllSSnA3ZnV5cU85YzNLZlptbTRwMW80SG5NcWF6Rlpwa09yd1A4?=
 =?utf-8?B?dC8vREtXTEpINGhwMmZ1SWwyd041Y2RCdUlvUHZkdnhQajB0TnJkNytodXVZ?=
 =?utf-8?B?SEY4RXZ5YSt2Q2svaGtiN3hJWEN0aG9PQzFzNzEzZVRuMTJEK09TVXVpalFK?=
 =?utf-8?B?ci81cEx0N3FySjVtVlh4WkwyT0k1TGVoOUZlb3Nsa3FLY2ZaUHhSMmR1MWNG?=
 =?utf-8?B?U0hnSndNbUdEYjZiV0E1dEFjUjYxZWNKRjZBOGEzUmtmMEw2OWpmbXNMV3ZQ?=
 =?utf-8?B?UzlJL2M4MW1XanNQKzVZcmFCZkpSa3lvc3FlL2MxL240T0RidmFPM3NyMjNa?=
 =?utf-8?B?ZGJndHFTa2F6b1diRlNTTVJhZFlOb09jZ1c4L3dqcDhGcUJvNzZ2aUw4ZXVt?=
 =?utf-8?B?K0QzZVFWZmdnRmFIa3lYRlVMRy9GRkg1ckQ0VktNeGRKcHBBZlU0cTFNa1N6?=
 =?utf-8?B?cUVUeFNEOTZZYmhDVDBmeVZ4YWx0elc4cTVDaWhDdEpXWWNXME5YU1k2aXRC?=
 =?utf-8?B?RlBjVmkwU0xhYi91ZC81RHpXblZIVkVhU2NSZlEvUEVyek1VaTQ2VnhsQ240?=
 =?utf-8?Q?2U+3TjlrnM4vHjvWOivZ4TViRfVPfj+j7rIdv/i?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a9a97364-73a9-4af1-63c6-08d9686273f2
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 07:23:51.2024
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: cENxci0p7d36V7XJM92kwyNkKPxpitQLf+oGo7S194NcVYQ6629j1Lsf30CIL+oLUfEzihzQuBCprLZW8O10qw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7152

First of all the documentation is very clear about ACPI table data
superseding raw register data. Use raw register data only if EFRSup is
clear in the ACPI tables (which may still go too far). Additionally if
this flag is clear, the IVRS type 11H table is reserved and hence may
not be recognized.

Furthermore propagate IVRS type 10H data into the feature flags
recorded, as the full extended features field is available in type 11H
only.

Note that this also makes necessary to stop the bad practice of us
finding a type 11H IVHD entry, but still processing the type 10H one
in detect_iommu_acpi()'s invocation of amd_iommu_detect_one_acpi().

Note also that the features.raw check in amd_iommu_prepare_one() needs
replacing, now that the field can also be populated by different means.
Key IOMMUv2 availability off of IVHD type not being 10H, and then move
it a function layer up, so that it would be set only once all IOMMUs
have been successfully prepared.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Paul Durrant <paul@xen.org>
---
v7: Re-base.
v5: New.

--- a/xen/drivers/passthrough/amd/iommu.h
+++ b/xen/drivers/passthrough/amd/iommu.h
@@ -304,6 +304,7 @@ extern struct hpet_sbdf {
     } init;
 } hpet_sbdf;
 
+extern unsigned int amd_iommu_acpi_info;
 extern int amd_iommu_min_paging_mode;
 
 extern void *shared_intremap_table;
--- a/xen/drivers/passthrough/amd/iommu_acpi.c
+++ b/xen/drivers/passthrough/amd/iommu_acpi.c
@@ -1051,7 +1051,8 @@ static void __init dump_acpi_table_heade
 static inline bool_t is_ivhd_block(u8 type)
 {
     return (type == ACPI_IVRS_TYPE_HARDWARE ||
-            type == ACPI_IVRS_TYPE_HARDWARE_11H);
+            ((amd_iommu_acpi_info & ACPI_IVRS_EFR_SUP) &&
+             type == ACPI_IVRS_TYPE_HARDWARE_11H));
 }
 
 static inline bool_t is_ivmd_block(u8 type)
@@ -1159,7 +1160,7 @@ static int __init detect_iommu_acpi(stru
         ivrs_block = (struct acpi_ivrs_header *)((u8 *)table + length);
         if ( table->length < (length + ivrs_block->length) )
             return -ENODEV;
-        if ( ivrs_block->type == ACPI_IVRS_TYPE_HARDWARE &&
+        if ( ivrs_block->type == ivhd_type &&
              amd_iommu_detect_one_acpi(to_ivhd_block(ivrs_block)) != 0 )
             return -ENODEV;
         length += ivrs_block->length;
@@ -1299,6 +1300,9 @@ get_supported_ivhd_type(struct acpi_tabl
         return -ENODEV;
     }
 
+    amd_iommu_acpi_info = container_of(table, const struct acpi_table_ivrs,
+                                       header)->info;
+
     while ( table->length > (length + sizeof(*ivrs_block)) )
     {
         ivrs_block = (struct acpi_ivrs_header *)((u8 *)table + length);
--- a/xen/drivers/passthrough/amd/iommu_detect.c
+++ b/xen/drivers/passthrough/amd/iommu_detect.c
@@ -60,14 +60,14 @@ void __init get_iommu_features(struct am
     const struct amd_iommu *first;
     ASSERT( iommu->mmio_base );
 
-    if ( !iommu_has_cap(iommu, PCI_CAP_EFRSUP_SHIFT) )
+    if ( !(amd_iommu_acpi_info & ACPI_IVRS_EFR_SUP) )
     {
-        iommu->features.raw = 0;
-        return;
-    }
+        if ( !iommu_has_cap(iommu, PCI_CAP_EFRSUP_SHIFT) )
+            return;
 
-    iommu->features.raw =
-        readq(iommu->mmio_base + IOMMU_EXT_FEATURE_MMIO_OFFSET);
+        iommu->features.raw =
+            readq(iommu->mmio_base + IOMMU_EXT_FEATURE_MMIO_OFFSET);
+    }
 
     /* Don't log the same set of features over and over. */
     first = list_first_entry(&amd_iommu_head, struct amd_iommu, list);
@@ -164,6 +164,42 @@ int __init amd_iommu_detect_one_acpi(
     iommu->cap_offset = ivhd_block->capability_offset;
     iommu->mmio_base_phys = ivhd_block->base_address;
 
+    if ( ivhd_type != ACPI_IVRS_TYPE_HARDWARE )
+        iommu->features.raw = ivhd_block->efr_image;
+    else if ( amd_iommu_acpi_info & ACPI_IVRS_EFR_SUP )
+    {
+        union {
+            uint32_t raw;
+            struct {
+                unsigned int xt_sup:1;
+                unsigned int nx_sup:1;
+                unsigned int gt_sup:1;
+                unsigned int glx_sup:2;
+                unsigned int ia_sup:1;
+                unsigned int ga_sup:1;
+                unsigned int he_sup:1;
+                unsigned int pas_max:5;
+                unsigned int pn_counters:4;
+                unsigned int pn_banks:6;
+                unsigned int msi_num_ppr:5;
+                unsigned int gats:2;
+                unsigned int hats:2;
+            };
+        } attr = { .raw = ivhd_block->iommu_attr };
+
+        iommu->features.flds.xt_sup = attr.xt_sup;
+        iommu->features.flds.nx_sup = attr.nx_sup;
+        iommu->features.flds.gt_sup = attr.gt_sup;
+        iommu->features.flds.glx_sup = attr.glx_sup;
+        iommu->features.flds.ia_sup = attr.ia_sup;
+        iommu->features.flds.ga_sup = attr.ga_sup;
+        iommu->features.flds.pas_max = attr.pas_max;
+        iommu->features.flds.gats = attr.gats;
+        iommu->features.flds.hats = attr.hats;
+    }
+    else if ( list_empty(&amd_iommu_head) )
+        AMD_IOMMU_DEBUG("EFRSup not set in ACPI table; will fall back to hardware\n");
+
     /* override IOMMU HT flags */
     iommu->ht_flags = ivhd_block->header.flags;
 
--- a/xen/drivers/passthrough/amd/iommu_init.c
+++ b/xen/drivers/passthrough/amd/iommu_init.c
@@ -29,6 +29,7 @@ static bool __initdata pci_init;
 static void do_amd_iommu_irq(void *data);
 static DECLARE_SOFTIRQ_TASKLET(amd_iommu_irq_tasklet, do_amd_iommu_irq, NULL);
 
+unsigned int __read_mostly amd_iommu_acpi_info;
 unsigned int __read_mostly ivrs_bdf_entries;
 u8 __read_mostly ivhd_type;
 static struct radix_tree_root ivrs_maps;
@@ -1375,9 +1376,6 @@ static int __init amd_iommu_prepare_one(
 
     get_iommu_features(iommu);
 
-    if ( iommu->features.raw )
-        iommuv2_enabled = true;
-
     return 0;
 }
 
@@ -1419,6 +1417,9 @@ int __init amd_iommu_prepare(bool xt)
             has_xt = false;
     }
 
+    if ( ivhd_type != ACPI_IVRS_TYPE_HARDWARE )
+        iommuv2_enabled = true;
+
     for_each_amd_iommu ( iommu )
     {
         /* NB: There's no need to actually write these out right here. */
--- a/xen/include/acpi/actbl2.h
+++ b/xen/include/acpi/actbl2.h
@@ -716,6 +716,9 @@ struct acpi_table_ivrs {
 
 /* Values for Info field above */
 
+#define ACPI_IVRS_EFR_SUP           0x00000001	/* extended feature support */
+#define ACPI_IVRS_PREBOOT_DMA_REMAP 0x00000002	/* pre-boot DMA remapping in use */
+#define ACPI_IVRS_GVA_SIZE          0x000000E0	/* 3 bits, guest VA size */
 #define ACPI_IVRS_PHYSICAL_SIZE     0x00007F00	/* 7 bits, physical address size */
 #define ACPI_IVRS_VIRTUAL_SIZE      0x003F8000	/* 7 bits, virtual address size */
 #define ACPI_IVRS_ATS_RESERVED      0x00400000	/* ATS address translation range reserved */



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 07:24:34 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 07:24:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172716.315166 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ9kX-0008Nx-Ma; Thu, 26 Aug 2021 07:24:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172716.315166; Thu, 26 Aug 2021 07: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 1mJ9kX-0008No-I8; Thu, 26 Aug 2021 07:24:33 +0000
Received: by outflank-mailman (input) for mailman id 172716;
 Thu, 26 Aug 2021 07:24:31 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HXzX=NR=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJ9kV-0008NV-PP
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 07:24:31 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 38bd158f-b105-4184-a6ec-eaaeeb9ecf22;
 Thu, 26 Aug 2021 07:24:30 +0000 (UTC)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2052.outbound.protection.outlook.com [104.47.13.52]) (Using
 TLS) by relay.mimecast.com with ESMTP id de-mta-7-jsBH0EbaMP-U7gVo95GfkQ-1;
 Thu, 26 Aug 2021 09:24:28 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB3118.eurprd04.prod.outlook.com (2603:10a6:802:a::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Thu, 26 Aug
 2021 07:24:27 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Thu, 26 Aug 2021
 07:24:27 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FR3P281CA0011.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1d::17) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Thu, 26 Aug 2021 07:24:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 38bd158f-b105-4184-a6ec-eaaeeb9ecf22
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629962669;
	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=xINlJPtDCs59wvZIeRANQBo6bVaMXa5EB985oaSKF4M=;
	b=hqGs8UGe1UxyfUBCzi7Msro0YEQ5Ilc0IcfJk8lVzV01JiPf/nsR0jIshsdgDfud1gIohe
	pts5jcz8yUIpJn1h2+gpSdVNpMSiE4HLRW93caGD2JxC4debUEangJLwYOC0hSdufub2eh
	2VCuFd40CDb9nHAc3iV6sXPFqCb67Wc=
X-MC-Unique: jsBH0EbaMP-U7gVo95GfkQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Atk1+LhbjV5PrJZvGKUXo8H23bRZaIdSuU7h3hFcU6mgzySuZf4ksSNINkdSLkPzafvhk3ff0qOlz0JIvDix2juQFoYV7H4i+541UT8H//h8aEgYKmoo7oqYBKf7CanG8hSoG0/hJUB/7iEzAFlZ1w8Mt9I2gcJg3YlubmV1cqZzYwyetuo7O7HwKmlrdqHBX95nwHYklT2HCrbckIUbNe8b/A6ATRiKRji6XDQufT7MHGFBjr3ghwR6x0xG3MLcauSHDkQORZhqL58rdx4Evq7kN5UrxBQKlyl+cv+CAe30SMdDpLN7mArz2Y+yMhpHb4ABLrik/LVJTN7DlKLpMw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xINlJPtDCs59wvZIeRANQBo6bVaMXa5EB985oaSKF4M=;
 b=cre6GnW1rxVpO7Vvtd1qf3zqAnDbD7nKD8xW7nmRFZLgi08/09cqS9VV+7G9vtiDScVoX7MBw/kwwfp/mT7BhOJ+yQkv0nebVMhkIJXyOnB9EcAVRjzOdFuVB29casUHbrmoWW481HU2uKSvShyEzrMi6aBfHoyyedRymv9z7PPgbp/qkG0h0+a6toq5HOAcz1cv/jkd4zkxVC7/maPdALtlsiERz6dD53onUCXjJIYqbMFBuqbLOq91nj9eb6ZN8zvHc2XLuLH3+NklcF0bHPpV/LDKRbY5JW7sSh52YdFTC9lj7ihigJa99PK7KUvr+gX6IblZHOCPB5RmbPFwcw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: [PATCH v7 4/8] AMD/IOMMU: check IVMD ranges against host
 implementation limits
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>
References: <bf4b3be9-1274-9750-7340-08b29dcecfd3@suse.com>
Message-ID: <c0b49a0e-44fa-4e15-ffb9-d49002060edf@suse.com>
Date: Thu, 26 Aug 2021 09:24:24 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <bf4b3be9-1274-9750-7340-08b29dcecfd3@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0011.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::17) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 30ccd12f-3c8e-44af-14d2-08d96862895a
X-MS-TrafficTypeDiagnostic: VI1PR04MB3118:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB3118B9C1977DFFCF22B6ABE1B3C79@VI1PR04MB3118.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:3044;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	UZoeNOB9g0radsWRxhYK934mPpmZN/8uZUa3vIBKixc3eaMXhnM5iUVfyP71NduDRuch7Boeqv9XWyARVKt4ijZiD2hwt9ia3igwDzj3aM0k4vGBnGjhxDEUaWIzOlLPfiPpNM7PcxBlYhzQ8w81uTQJb/ZtXDkKjYQfSx/APkf4h/QlmqmZSj/5bZUsF9yqRZG4ic6gx2acshiN3Lk+N/cUeIx1Fijf4j1QZz37FGX7yPfp2Hn1oV28UPpfGeLVMxAOVhrsbSwqozSzF/P1CWHP2N6YO7f19hF0ZLlQn873uscnDFhVBVv3YMskbZ9pUQIVBTXj2tVgYofsVfJ2w/C7Qsg5y24Pa9mcoVwOJsDJg79iSk3KwSvkfzVJIpoJfqtlIMqtSE7exMQyX0Dq45qPEtnkNjY6R3utM9Bf9qakX0xKiaKbWWSp/QLmXNGW3JoJm0UAp73cER4VINscLRGkMPsruAQYBk+42pKwQ3/oCNcH1gGtfgRdZl53BSwIlh31HJbxyobe1rA9Ar1bMI6mx1z/sPEaMTOfaWOu1QBpC5svvr8UVUNQSBLzYeU0llyl0NY9tNlCG2uvrbiUh+gbOMDgKH/Db4kySkZtU7uba9N8V31txq9N439JbkCFF8a5vKhIQJ+R4WIRwIISLcKBXt/dGSldAyz6H4kjU3rso6yP19i0AT+H+iSXrff3siBkiZHLqKVzoERiu2osG2SYN189EIyGXexOvjNQRpM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(26005)(31696002)(83380400001)(186003)(86362001)(4326008)(6916009)(956004)(2616005)(66946007)(38100700002)(8676002)(2906002)(6486002)(8936002)(66556008)(66476007)(31686004)(54906003)(16576012)(36756003)(5660300002)(498600001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SFBCdnNaTXRPK3FuY1RwdjFadUdEaW1zYXdkTFVhdlBrY29QZVpqa0hsTC84?=
 =?utf-8?B?UnFSNlFtT1BXQUt4NXRJNjZpdkx5bUw0cHcyTXN3ZHZodUR2T3hWbzlZa2pq?=
 =?utf-8?B?SDY5UkcrVnBnN2s3MENxYmpjcmRHRWg5MWR2R1FsTEpYUUt0KysxU0hGeHpp?=
 =?utf-8?B?c1hEY2I2RVU3cHZ2dWdlWXZUUUMydmZBQWNjK05PWitPTnY0N3MzS2YrOS9T?=
 =?utf-8?B?UVlmVDdoUWNOR21NYWlPR1poUWZpcnFQNlRiWko3ZlVrektvUG9oeU1lTDIv?=
 =?utf-8?B?WmFpKzFpdThLQmkyUllVVHJQbTFXckUxZW5DSGkxQVFZRm50ZDQ1ZFo4YjNS?=
 =?utf-8?B?UlcwQjg0Tmc2Wndyd0tWSVp5YmNUY0lEQkxqQjk5QmQ0UDJha0ZCSVRCMStk?=
 =?utf-8?B?MC93d0hVSEhOZGlmSW4wRFg5eUJHNTZNR2NmNi81aFowMmJkN2ZEcVYyQXpt?=
 =?utf-8?B?T0VTdkFUdXF1eFFMei91NTBjKzgwekdyWXFmUVJTQ2xkRzIreHJWNWhwdm8w?=
 =?utf-8?B?dFk3N0RiS2RZdVg0MlpCWGdUaW9VRnpoUFNHVVkzU2hHUmI4MEt4eTQrMXBS?=
 =?utf-8?B?THdQS2RsNFk1cG1VWkZrQS9CVnp6WlgyQ0pIZEFOeWMxMWxVcGNRTVpXRjA3?=
 =?utf-8?B?aC8yZDlhWEhYbTVmanJPWno2eTNLVzJKdXEwYllZaVJLaFFDWHAyTXJ6aFVM?=
 =?utf-8?B?c0w0QlpZcGZtbWE2OHBEQlNPWnJlS3pObWNISnZpb1QyR01mMXo2dlArcExo?=
 =?utf-8?B?UERINGtPVUFjOTdXZnpadUQyVm9iUG1ackY5VDZyLzVCSHkrMHJoZnBoRlRM?=
 =?utf-8?B?QkZ2WWhnQ296YWNtbC9jWDd5UDNnZzQyVjdMdnFwNFJZVjlxcGM2T0d5dk85?=
 =?utf-8?B?ZEc3dXhLTnRlQzZiOEJjSEtYbFgzUWREZmdLM0ljU290MFQrL0ZjNXgzU0Fi?=
 =?utf-8?B?T3dZZ3c5S2xkRldGQ3oxdkJEK2MvY1hNOHNVOWprY2VZRXJqS2FvSlFJV3Nu?=
 =?utf-8?B?NkhQYnB4Y2haaVB3eU4yeXEwZVdGbjg2SXNObThwVy9QK0ZiQ255aVVqdEF5?=
 =?utf-8?B?eUR1M3RjUnhKbFMrK093d0cyMGR1T1B4L2thUVpDQkFadEQveldwUGVxcHpU?=
 =?utf-8?B?TU1hTis3aGpnS3pHZXd0a2lBY0h0RFNRMWtpSlMrS0xkTE1YeUxVVEcrZFgz?=
 =?utf-8?B?dE5XUGFaSHBoZDRDdVViM0NwMGd6a29XS0FoTEFla2luZEdnZjJ5VzNIOXMy?=
 =?utf-8?B?VTFDWWw5cWJ6WCtBUm5rUXBPeUt2SWg2MXlrTmd6aVE3M1piNjk5MFNuYVdJ?=
 =?utf-8?B?NUxCZnQ4STZZSWZCdVEzaU9QUHNLblZUb29LZDZtVW5HNXRLZG9HNGhoV05a?=
 =?utf-8?B?OUZqQXhBUjNBU043cU1Wck5vT1praDQxSkVwSnprRE1UdGg4Nys1b3l0K2FC?=
 =?utf-8?B?T3JNT3Q2cjFBQWRXMStOWkRudUFURGtFVTMva1RsdDhDMTRiTVpYSm02SnJ0?=
 =?utf-8?B?MnpHQzY5Vk1DYzNkaVczNXdMaFZhVzU5eHMyNXcwMXBTTmpTck50bXdNeUZl?=
 =?utf-8?B?THhGRmR6d3hCZ24xQU95M2l1cEFxS29NdjRMaGNXbVM4RnJDSWlZTFg3ays2?=
 =?utf-8?B?L0o0UWdOZm9RcHdwaW5uZVNpTk9RUmtDenBIWUhnSnRBZ21CdUw0UTFnY2dh?=
 =?utf-8?B?Zjc4dUtRd2ZxMkFSUlBPK3pJb2RvTnRDcDEwMXJSZGV1YmY0MHp4dTAxTlRJ?=
 =?utf-8?Q?XW1LCj+am/v+wh/oCmwJpovtarnICpQ1NqeB0R7?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 30ccd12f-3c8e-44af-14d2-08d96862895a
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 07:24:27.1580
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: f5aNqZTpGITiPASmHxhEDFh6KyE1c9iSfemUjof59UdYxaIRuOkvfD+tPjNpcUKNeu8qC74Xfhtix2kXDKH6QA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3118

When such ranges can't be represented as 1:1 mappings in page tables,
reject them as presumably bogus. Note that when we detect features late
(because of EFRSup being clear in the ACPI tables), it would be quite a
bit of work to check for (and drop) out of range IVMD ranges, so IOMMU
initialization gets failed in this case instead.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Paul Durrant <paul@xen.org>
---
v7: Re-base.
v6: Re-base.
v5: New.

--- a/xen/drivers/passthrough/amd/iommu.h
+++ b/xen/drivers/passthrough/amd/iommu.h
@@ -305,6 +305,7 @@ extern struct hpet_sbdf {
 } hpet_sbdf;
 
 extern unsigned int amd_iommu_acpi_info;
+extern unsigned int amd_iommu_max_paging_mode;
 extern int amd_iommu_min_paging_mode;
 
 extern void *shared_intremap_table;
@@ -358,7 +359,7 @@ static inline int amd_iommu_get_paging_m
     while ( max_frames > PTE_PER_TABLE_SIZE )
     {
         max_frames = PTE_PER_TABLE_ALIGN(max_frames) >> PTE_PER_TABLE_SHIFT;
-        if ( ++level > 6 )
+        if ( ++level > amd_iommu_max_paging_mode )
             return -ENOMEM;
     }
 
--- a/xen/drivers/passthrough/amd/iommu_acpi.c
+++ b/xen/drivers/passthrough/amd/iommu_acpi.c
@@ -370,6 +370,7 @@ static int __init parse_ivmd_device_iomm
 static int __init parse_ivmd_block(const struct acpi_ivrs_memory *ivmd_block)
 {
     unsigned long start_addr, mem_length, base, limit;
+    unsigned int addr_bits;
     bool iw = true, ir = true, exclusion = false;
 
     if ( ivmd_block->header.length < sizeof(*ivmd_block) )
@@ -386,6 +387,17 @@ static int __init parse_ivmd_block(const
     AMD_IOMMU_DEBUG("IVMD Block: type %#x phys %#lx len %#lx\n",
                     ivmd_block->header.type, start_addr, mem_length);
 
+    addr_bits = min(MASK_EXTR(amd_iommu_acpi_info, ACPI_IVRS_PHYSICAL_SIZE),
+                    MASK_EXTR(amd_iommu_acpi_info, ACPI_IVRS_VIRTUAL_SIZE));
+    if ( amd_iommu_get_paging_mode(PFN_UP(start_addr + mem_length)) < 0 ||
+         (addr_bits < BITS_PER_LONG &&
+          ((start_addr + mem_length - 1) >> addr_bits)) )
+    {
+        AMD_IOMMU_DEBUG("IVMD: [%lx,%lx) is not IOMMU addressable\n",
+                        start_addr, start_addr + mem_length);
+        return 0;
+    }
+
     if ( !e820_all_mapped(base, limit + PAGE_SIZE, E820_RESERVED) )
     {
         paddr_t addr;
--- a/xen/drivers/passthrough/amd/iommu_detect.c
+++ b/xen/drivers/passthrough/amd/iommu_detect.c
@@ -67,6 +67,9 @@ void __init get_iommu_features(struct am
 
         iommu->features.raw =
             readq(iommu->mmio_base + IOMMU_EXT_FEATURE_MMIO_OFFSET);
+
+        if ( 4 + iommu->features.flds.hats < amd_iommu_max_paging_mode )
+            amd_iommu_max_paging_mode = 4 + iommu->features.flds.hats;
     }
 
     /* Don't log the same set of features over and over. */
@@ -200,6 +203,10 @@ int __init amd_iommu_detect_one_acpi(
     else if ( list_empty(&amd_iommu_head) )
         AMD_IOMMU_DEBUG("EFRSup not set in ACPI table; will fall back to hardware\n");
 
+    if ( (amd_iommu_acpi_info & ACPI_IVRS_EFR_SUP) &&
+         4 + iommu->features.flds.hats < amd_iommu_max_paging_mode )
+        amd_iommu_max_paging_mode = 4 + iommu->features.flds.hats;
+
     /* override IOMMU HT flags */
     iommu->ht_flags = ivhd_block->header.flags;
 
--- a/xen/drivers/passthrough/amd/iommu_init.c
+++ b/xen/drivers/passthrough/amd/iommu_init.c
@@ -1376,6 +1376,13 @@ static int __init amd_iommu_prepare_one(
 
     get_iommu_features(iommu);
 
+    /*
+     * Late extended feature determination may cause previously mappable
+     * IVMD ranges to become unmappable.
+     */
+    if ( amd_iommu_max_paging_mode < amd_iommu_min_paging_mode )
+        return -ERANGE;
+
     return 0;
 }
 
--- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
+++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
@@ -254,6 +254,7 @@ int amd_iommu_alloc_root(struct domain *
     return 0;
 }
 
+unsigned int __read_mostly amd_iommu_max_paging_mode = 6;
 int __read_mostly amd_iommu_min_paging_mode = 1;
 
 static int amd_iommu_domain_init(struct domain *d)



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 07:24:40 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 07:24:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172717.315177 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ9kd-0000HC-Uf; Thu, 26 Aug 2021 07:24:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172717.315177; Thu, 26 Aug 2021 07:24:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ9kd-0000H1-RL; Thu, 26 Aug 2021 07:24:39 +0000
Received: by outflank-mailman (input) for mailman id 172717;
 Thu, 26 Aug 2021 07:24:38 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=J+8W=NR=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mJ9kc-0000G8-LK
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 07:24:38 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com (unknown
 [40.107.14.82]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id aad569fc-063e-11ec-a9d2-12813bfff9fa;
 Thu, 26 Aug 2021 07:24:37 +0000 (UTC)
Received: from AS8PR05CA0009.eurprd05.prod.outlook.com (2603:10a6:20b:311::14)
 by DB6PR08MB2645.eurprd08.prod.outlook.com (2603:10a6:6:24::25) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17; Thu, 26 Aug
 2021 07:24:35 +0000
Received: from AM5EUR03FT048.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:311:cafe::85) by AS8PR05CA0009.outlook.office365.com
 (2603:10a6:20b:311::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend
 Transport; Thu, 26 Aug 2021 07:24:35 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT048.mail.protection.outlook.com (10.152.17.177) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Thu, 26 Aug 2021 07:24:35 +0000
Received: ("Tessian outbound 6ba9ec11d42b:v103");
 Thu, 26 Aug 2021 07:24:34 +0000
Received: from b3c2c12f2ce7.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 796BEFA8-A639-49BD-8C04-2149992F002C.1; 
 Thu, 26 Aug 2021 07:24:24 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b3c2c12f2ce7.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 26 Aug 2021 07:24:24 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DBAPR08MB5782.eurprd08.prod.outlook.com (2603:10a6:10:1b2::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Thu, 26 Aug
 2021 07:24:20 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.024; Thu, 26 Aug 2021
 07:24: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: aad569fc-063e-11ec-a9d2-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+PqQDYoEh5EF88ragy7e47PuG7hC/W+ZvMSex2qHOhs=;
 b=CycTE3kyva+gSGHdT6sr375dNo5T0lbzJafNkQc+iYTuYwPJwFMdA5zm/+NTPHUXXc9GuUdaEIgSo/IWs6DHXlg00UAYopwztNCHusS6Zs4uzVQM/fZ0jq7dmyGUYcBHga0JdWoj13B+1kvShfEdpAo0rU2EAfTbp6Bys7GlChs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=G92tyDzjMRTF2mgOTFsXGv6eqLKc1pH0LW/l9aIm5N3A6Vmwnz2oo9DStOEjZXyZWSg+hXJfRFnbVvLZhGc4oREPd8fvdHMou7UJLCJgHeFS/NFa7LmqUpNnk/4lZsLDP6o7mIis42I0P3IP6tbf/fLXoGAgHTXKbzznZnYS9xT0uFOms56t7fQ5yvG9aizbqusOuR1ael/7Jap95V/jWTik7d3+QSyJNkKngsDmwvr7PwNwdYqXJIBSAKscLPJmp60treuuEwjvVilRnpwN3QokcPGM5jZ35X7XDY07GvXx7/w0aeogMsyapcP3zXD3HxpQVKL6NAeZ4ibGQjOEWg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+PqQDYoEh5EF88ragy7e47PuG7hC/W+ZvMSex2qHOhs=;
 b=UTKhpWFkDMHfteg78KgQirGUmZ4V7YeWx7+U6u6pL8WPnk3I8mfkvR8v6wnhheGoLoVzMgYPoRecI1eFRQPaTYyJ7fbXejYDe78BxIg9PHiXi8UIp3IMysga4v5ZGnV8ZVLalq/32vss5ZXv/BI+6//3Jtr1Eh2p9dMma2eyS9BurMStHsLh6yuHn6qTOv4z94jckkwNAl2wRSu4CMQzGVrsuXDnlg1YivxqkQCvrR5dwVSjOlWs0CmZLBIu6XDPjqG0i64nxiLPXcHg5QPJ1VJLA5SeEuvAvdxPxMIw8Q9NZoUSEeC7DS/rU7FVofhMb2FLop8+L3WmXWCwc9SAvQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+PqQDYoEh5EF88ragy7e47PuG7hC/W+ZvMSex2qHOhs=;
 b=CycTE3kyva+gSGHdT6sr375dNo5T0lbzJafNkQc+iYTuYwPJwFMdA5zm/+NTPHUXXc9GuUdaEIgSo/IWs6DHXlg00UAYopwztNCHusS6Zs4uzVQM/fZ0jq7dmyGUYcBHga0JdWoj13B+1kvShfEdpAo0rU2EAfTbp6Bys7GlChs=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 26/40] xen/arm: Add boot and secondary CPU to NUMA
 system
Thread-Topic: [XEN RFC PATCH 26/40] xen/arm: Add boot and secondary CPU to
 NUMA system
Thread-Index: AQHXjptLf/jfnZiVikStQBDm6XRL0auEh6AAgADr9fA=
Date: Thu, 26 Aug 2021 07:24:20 +0000
Message-ID:
 <DB9PR08MB6857FC8EA8C0D324426408709EC79@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-27-wei.chen@arm.com>
 <35a57b18-4fab-522d-f39a-de21017abe57@xen.org>
In-Reply-To: <35a57b18-4fab-522d-f39a-de21017abe57@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 0749047618C9224BB9976CAA7282FE8C.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 697fc537-4b80-47ad-bb03-08d968628e3b
x-ms-traffictypediagnostic: DBAPR08MB5782:|DB6PR08MB2645:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<DB6PR08MB2645C5DC27480AC9F261034C9EC79@DB6PR08MB2645.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:9508;OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 Mcn5LxWWtxcr1hn206gPehALnYO5HxdGZtxrU6U8fJD1aXFXr6tdJvDZkGR34xC8adGmcBEH7QQo6jqzYaFP5meJeXQupRpcVy+c4Q1IjWRPY5hY9etZWGUgOCenDfIIN62FX+eNDVuvQlbtkHPGl7qNE59lFi8mVKr03csHrc+Y0AZTNIruKPW8NsEjpLU0Xnv9xnz4+PRua6kqBQEHfKOGhNbNWJnUrZ3fKKtClCn8kWQbQ2ZV97n1UI8JjFhst52HKIUYLViz1CdGdUpJf3Mf1aKeQRgOwXAvpSbjZIipC3M9ks2p6swOmRaDsqUVn1SLNbyWyAmBu1fkSJAQAJ/G3mD+oCGc4pvHOrHND8CXKaqJ0Tmol4agOONk9UBzZsQ40bk0PnVvwegktqSzADTibeZxrZ4zynUUnZNjWjrQ4BzA1bss9zJR80MV3aliqaUW/of/oQGIX6nBG3FEmzDorcsk7HzJz/ciM+tma1t733N5cM8zxD+RUizvi/I+qaiEqnbMUUBf+4FDtvjzTL/yMw0Ncwr8g+xjbwiAIMFyD9H2VOdIwd9/n4WP/HhtGOMwL/mg4ViGT2VQB+lEo5NdNQtrUG3giBtvn6veGZ8un9TDSgoTLS5xHKtWqZgA+NtIrVYoY6kQC/AnlRduwElgOmO4JEmKPgE6B7GrNqW9olImRytoGW99IpE/nITNwc6i9yreXCrg3lyQFpDIyQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(376002)(366004)(136003)(39860400002)(396003)(346002)(66446008)(64756008)(66556008)(66476007)(8936002)(86362001)(122000001)(83380400001)(71200400001)(6506007)(2906002)(53546011)(76116006)(26005)(38100700002)(66946007)(4326008)(33656002)(38070700005)(52536014)(316002)(186003)(5660300002)(110136005)(8676002)(55016002)(478600001)(9686003)(7696005);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?VngzcWZFZmpYcGE0ZXZhV1lyV1dKc3J4TzF1dHhiMW5XOVJEZGlaZTg3MTJ3?=
 =?utf-8?B?QWR3dS9KYmd2RWhyRTY3N3FrSjJVelJsMDFDa1doWkRyODFKSHRjajFNc3VO?=
 =?utf-8?B?b2QxV0Z3MTRCNGFaUzh1TUpxOUNLV1R1ckEyVHJJMEo4VnUxVUR4S2w2aGcw?=
 =?utf-8?B?U0NCNzhYVENxdHphN2pQQmxLcTRKWlMxelhPbCtxRHJISHk5YmwvZEh5SGJR?=
 =?utf-8?B?Z1JqUk9VeHk4Ti8weW4vYjloWEJ5MDA4TGFBM1FtZlozdnFlTkFjMys4YjBv?=
 =?utf-8?B?aXh5cEdLeTZ5UUdXOWpPQVlWMGRySzFZMTBtcWJlYXpYcURXQnFQMjl0Q2t3?=
 =?utf-8?B?S2FQSlZlUUozblU2QTJLZ2NaZERSRGVNazV0M1VBTjNPMWp5M1ZWWk4vMkNy?=
 =?utf-8?B?ckFQMkNlK1Y4YldYd2pDb3dISGpVZ244OE8xWE5jNWZCSHp5VXlxbDhzTkpJ?=
 =?utf-8?B?Y3FYbyswMHBrOHl2YkQrWGdsMVE3NWxUenNYdU9ZVUIzNmVhUDJETFJ6SXdv?=
 =?utf-8?B?WUtIcTFGZ0JCSEJvb3E1Ti94T2ovRE81SkVGdHhrOVJJL3AxdHd5dS9MVmRT?=
 =?utf-8?B?TUpyTlUzTytjUmQwaGpsOWUrWXFEOXdCN2wvc0NNcmR4SkZwbzRTZHIvU0dh?=
 =?utf-8?B?Q0hnRXZUU0VOWWlIOGRmTC83NHRNT1g0YUVWcDdTOFJiTTQrb1g1Tmxvb2tI?=
 =?utf-8?B?cm9IUktuZGM0TTlxUFFMWm5RRWhOOGxyU1hmaktaM1hMSVo3Tmdnb3JoaGJ5?=
 =?utf-8?B?blplWmVoNkhORnhUOXZWMzJDSFdQVUQxajl0aHcveitaa3FoaTMrZ0lqTFdk?=
 =?utf-8?B?K0xoZWZFaXpJQXZZNDE0S1RBWUw5NTI4UjcwYmJwOFI1dlBRWkxBTFM3Z2d1?=
 =?utf-8?B?SlBsQWtxdVVZbE9JSU0rQlovM2FVTHRTVEdNSFNjTG5VdXBCK1RPQTNFcDB0?=
 =?utf-8?B?aXlXUS9wSndjSjlWeDhRaWNValJDSmRTbk03K3piM2RrVmpJTUpkZXdzcDNT?=
 =?utf-8?B?MGxSSGhuSis3cG1YU2lSZW9nMGxFVDdQWGFneVY0bE80S0NuVFRiOVhacStw?=
 =?utf-8?B?SUFBYjgrdmxSaUxyZ0hjYzk4L1pkYll3KzFqelZkaUczTmdIK3Z4QW4wVVpD?=
 =?utf-8?B?ZjgySmRjbGNvK09objdNT3VyT1puMFZXTXAxR1ZoZ1hmNkh3b1hTOERkL2lT?=
 =?utf-8?B?RHZCN1BoM1dRV2ZQZVA3Q3VrcDc1M1dUaXJIU2RlbmgwSU9wM29pZUlQQ21z?=
 =?utf-8?B?TnRUN25saE9TUG9JajJ2N0tMLzdhbEtFTnpFNk5zM3RvZ3gxUlYzRzVNbFNJ?=
 =?utf-8?B?WVJ5TUlaUVNxV0QxbjRKanJmUnBsQTFHZnEvcUJjaXBvUm4yaUhFWGtCOU05?=
 =?utf-8?B?eHV3NDNxVWxML1M1VW1vbytiZlllU0VSYzlVTUZyV1JMV1pSSElIb1JZajdp?=
 =?utf-8?B?WkI5dFNhS3QwYjdGOWdmR1ZFYmNYVFk0bkV6ejdWb0dqZk81QStnUEUwblFn?=
 =?utf-8?B?OGZJNEpod1ZNWE5lZnpFTG42bTlDQVRqL1E2K05DRm5VaXJDMGpWelBtZDZm?=
 =?utf-8?B?NW9FZm9VbGVQaVJsWG1nUFFmYW53MDMwRTFmMVVmcHdYcmRpWC8vRDgvNW8v?=
 =?utf-8?B?R1ZGelh0MElLRnhham1nUkRlWXZyV1FxRktaNlhVdTZvclVEQ2NGcEFERkZG?=
 =?utf-8?B?NVZmUWc0Zzc3VHpSOGJycjB3TGtTcDQrd3E5Q0F3anViWWtZZVRPUjFjalJw?=
 =?utf-8?Q?bB4c9AyFfhF/YTPMVn573SghzAsWEa0jyPHA+/5?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5782
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT048.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	03e8e115-4697-4a86-6674-08d96862859c
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	hCepLwLhm5m+2zG1nKX4YjwAvF669ABzE+5fSEl4n4jxlHlU4PFjqBqwVSZqUtB3nFeeV/8M702lBpJC0ITL6G0qgmS6ZS5u5jfJLy8R3OZb8TJQ8HPFwdoViYrBuT+sFfkZ+P+ShokYZi7SW7JnZqA2OgpC0TwubutXjqEBbJeh1jDWP+Svr6K2VUr/+aVn+ms3igd6E3iPqsHIZ2FTQYbz3VJP66NnUSVtlkrbW9LdgAiU7vYGzLsPPyY+26imSQCZjInHXwEdbzl9vaVKTC29ATpRt+4H7JgB43uFvMqQLoF0S6zZKj8RgBHV/JnDWYO2swjMqk1IvxCJXubdQ6f1GfPckWVdODaHk9NArZLyfNl4fIvHsVw+KoV9bOrv8mIXvaqrNp08o8i/5rrqmdJhDJGuugGitv1mmrVcZ3z10reFgo8KzqaXUK34oQuPvc5chGRTe3ILRePrsQ1xU5F1wZLTtZdk8NKZsgm+gaNiYsqvOT/7B1Wpk9yHozYvxiO49eNTOuRx2RHEHDlhLeqIbb1TYEmW6fXxayL2jYuxpEUYFRV90ss25WjlY8Tg+8eoaDJga41WB4ngkAULxfW5iwn2WBNkFuTWMoPaS2SWDkAWRczCcWZPXz1dHdBQIarLoTnLR/TCTA11VuzT0YZMOos0uB6NiSJNnN7+RNCQK5dGzgc2JjZT5VY2tmiBkrpdUpE9XBayBG7l5GsrAg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(46966006)(36840700001)(186003)(83380400001)(336012)(4326008)(26005)(55016002)(33656002)(508600001)(7696005)(9686003)(86362001)(110136005)(53546011)(6506007)(70586007)(47076005)(2906002)(81166007)(70206006)(8676002)(52536014)(82310400003)(8936002)(356005)(5660300002)(36860700001)(316002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 07:24:35.1179
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 697fc537-4b80-47ad-bb03-08d968628e3b
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT048.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR08MB2645

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMjbml6UgMDo1OA0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+OyB4ZW4tZGV2ZWxAbGlzdHMueGVucHJv
amVjdC5vcmc7DQo+IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc7IGpiZXVsaWNoQHN1c2UuY29tDQo+
IENjOiBCZXJ0cmFuZCBNYXJxdWlzIDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+DQo+IFN1Ympl
Y3Q6IFJlOiBbWEVOIFJGQyBQQVRDSCAyNi80MF0geGVuL2FybTogQWRkIGJvb3QgYW5kIHNlY29u
ZGFyeSBDUFUgdG8NCj4gTlVNQSBzeXN0ZW0NCj4gDQo+IEhpIFdlaSwNCj4gDQo+IE9uIDExLzA4
LzIwMjEgMTE6MjQsIFdlaSBDaGVuIHdyb3RlOg0KPiA+IFdoZW4gY3B1IGJvb3QgdXAsIHdlIGhh
dmUgYWRkIHRoZW0gdG8gTlVNQSBzeXN0ZW0uIEluIGN1cnJlbnQNCj4gPiBzdGFnZSwgd2UgaGF2
ZSBub3QgcGFyc2VkIHRoZSBOVU1BIGRhdGEsIGJ1dCB3ZSBoYXZlIGNyZWF0ZWQNCj4gPiBhIGZh
a2UgTlVNQSBub2RlLiBTbywgaW4gdGhpcyBwYXRjaCwgYWxsIENQVSB3aWxsIGJlIGFkZGVkDQo+
ID4gdG8gTlVNQSBub2RlIzAuIEFmdGVyIHRoZSBOVU1BIGRhdGEgaGFzIGJlZW4gcGFyc2VkIGZy
b20gZGV2aWNlDQo+ID4gdHJlZSwgdGhlIENQVSB3aWxsIGJlIGFkZGVkIHRvIGNvcnJlY3QgTlVN
QSBub2RlIGFzIHRoZSBOVU1BDQo+ID4gZGF0YSBkZXNjcmliZWQuDQo+ID4NCj4gPiBTaWduZWQt
b2ZmLWJ5OiBXZWkgQ2hlbiA8d2VpLmNoZW5AYXJtLmNvbT4NCj4gPiAtLS0NCj4gPiAgIHhlbi9h
cmNoL2FybS9zZXR1cC5jICAgICAgIHwgNiArKysrKysNCj4gPiAgIHhlbi9hcmNoL2FybS9zbXBi
b290LmMgICAgIHwgNiArKysrKysNCj4gPiAgIHhlbi9pbmNsdWRlL2FzbS1hcm0vbnVtYS5oIHwg
MSArDQo+ID4gICAzIGZpbGVzIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKykNCj4gPg0KPiA+IGRp
ZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vc2V0dXAuYyBiL3hlbi9hcmNoL2FybS9zZXR1cC5jDQo+
ID4gaW5kZXggM2M1OGQyZDQ0MS4uNzUzMTk4OWYyMSAxMDA2NDQNCj4gPiAtLS0gYS94ZW4vYXJj
aC9hcm0vc2V0dXAuYw0KPiA+ICsrKyBiL3hlbi9hcmNoL2FybS9zZXR1cC5jDQo+ID4gQEAgLTkx
OCw2ICs5MTgsMTIgQEAgdm9pZCBfX2luaXQgc3RhcnRfeGVuKHVuc2lnbmVkIGxvbmcNCj4gYm9v
dF9waHlzX29mZnNldCwNCj4gPg0KPiA+ICAgICAgIHByb2Nlc3Nvcl9pZCgpOw0KPiA+DQo+ID4g
KyAgICAvKg0KPiA+ICsgICAgICogSWYgWGVuIGlzIHJ1bm5pbmcgb24gYSBOVU1BIG9mZiBzeXN0
ZW0sIHRoZXJlIHdpbGwNCj4gPiArICAgICAqIGJlIGEgbm9kZSMwIGF0IGxlYXN0Lg0KPiA+ICsg
ICAgICovDQo+ID4gKyAgICBudW1hX2FkZF9jcHUoMCk7DQo+ID4gKw0KPiA+ICAgICAgIHNtcF9p
bml0X2NwdXMoKTsNCj4gPiAgICAgICBjcHVzID0gc21wX2dldF9tYXhfY3B1cygpOw0KPiA+ICAg
ICAgIHByaW50ayhYRU5MT0dfSU5GTyAiU01QOiBBbGxvd2luZyAldSBDUFVzXG4iLCBjcHVzKTsN
Cj4gPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3NtcGJvb3QuYyBiL3hlbi9hcmNoL2FybS9z
bXBib290LmMNCj4gPiBpbmRleCBhMWVlMzE0NmVmLi5hYTc4OTU4YzA3IDEwMDY0NA0KPiA+IC0t
LSBhL3hlbi9hcmNoL2FybS9zbXBib290LmMNCj4gPiArKysgYi94ZW4vYXJjaC9hcm0vc21wYm9v
dC5jDQo+ID4gQEAgLTM1OCw2ICszNTgsMTIgQEAgdm9pZCBzdGFydF9zZWNvbmRhcnkodm9pZCkN
Cj4gPiAgICAgICAgKi8NCj4gPiAgICAgICBzbXBfd21iKCk7DQo+ID4NCj4gPiArICAgIC8qDQo+
ID4gKyAgICAgKiBJZiBYZW4gaXMgcnVubmluZyBvbiBhIE5VTUEgb2ZmIHN5c3RlbSwgdGhlcmUg
d2lsbA0KPiA+ICsgICAgICogYmUgYSBub2RlIzAgYXQgbGVhc3QuDQo+ID4gKyAgICAgKi8NCj4g
PiArICAgIG51bWFfYWRkX2NwdShjcHVpZCk7DQo+ID4gKw0KPiANCj4gT24geDg2LCBudW1hX2Fk
ZF9jcHUoKSB3aWxsIGJlIGNhbGxlZCBiZWZvcmUgdGhlIHBDUFUgaXMgYnJvdWdodCB1cC4gSQ0K
PiBhbSBub3QgcXVpdGUgdG9vIHN1cmUgd2h5IHdlIGFyZSBkb2luZyBpdCBkaWZmZXJlbnRseSBo
ZXJlLiBDYW4geW91DQo+IGNsYXJpZnkgaXQ/DQoNCk9mIGNvdXJzZSB3ZSBjYW4gaW52b2tlIG51
bWFfYWRkX2NwdSBiZWZvcmUgY3B1X3VwIGFzIHg4Ni4gQnV0IGluIG15IHRlc3RzLA0KSSBmb3Vu
ZCB3aGVuIGNwdSBicmluZyB1cCBmYWlsZWQsIHRoaXMgY3B1IHN0aWxsIGJlIGFkZCB0byBOVU1B
LiBBbHRob3VnaA0KdGhpcyBkb2VzIG5vdCBhZmZlY3QgdGhlIGV4ZWN1dGlvbiBvZiB0aGUgY29k
ZSAoYmVjYXVzZSBDUFUgaXMgb2ZmbGluZSksICANCkJ1dCBJIGRvbid0IHRoaW5rIGFkZGluZyBh
IG9mZmxpbmUgQ1BVIHRvIE5VTUEgbWFrZXMgc2Vuc2UuDQoNCg0KDQo+IA0KPiA+ICAgICAgIC8q
IE5vdyByZXBvcnQgdGhpcyBDUFUgaXMgdXAgKi8NCj4gPiAgICAgICBjcHVtYXNrX3NldF9jcHUo
Y3B1aWQsICZjcHVfb25saW5lX21hcCk7DQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEveGVuL2luY2x1
ZGUvYXNtLWFybS9udW1hLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL251bWEuaA0KPiA+IGluZGV4
IDdhMzU4OGFjN2YuLmRkMzEzMjRiMGIgMTAwNjQ0DQo+ID4gLS0tIGEveGVuL2luY2x1ZGUvYXNt
LWFybS9udW1hLmgNCj4gPiArKysgYi94ZW4vaW5jbHVkZS9hc20tYXJtL251bWEuaA0KPiA+IEBA
IC01OSw2ICs1OSw3IEBAIGV4dGVybiBtZm5fdCBmaXJzdF92YWxpZF9tZm47DQo+ID4gICAjZGVm
aW5lIF9fbm9kZV9kaXN0YW5jZShhLCBiKSAoMjApDQo+ID4NCj4gPiAgICNkZWZpbmUgbnVtYV9p
bml0KHgpIGRvIHsgfSB3aGlsZSAoMCkNCj4gPiArI2RlZmluZSBudW1hX2FkZF9jcHUoeCkgZG8g
eyB9IHdoaWxlICgwKQ0KPiANCj4gVGhpcyBpcyBhIHN0dWJzIGZvciBhIGNvbW1vbiBoZWxwZXIu
IFNvIEkgdGhpbmsgdGhpcyB3YW50cyB0byBiZSBtb3ZlZA0KPiBpbiB0aGUgIUNPTkZJR19OVU1B
IGluIHhlbi9udW1hLmguDQo+IA0KDQpPSw0KDQo+ID4gICAjZGVmaW5lIG51bWFfc2V0X25vZGUo
eCwgeSkgZG8geyB9IHdoaWxlICgwKQ0KPiA+DQo+ID4gICAjZW5kaWYNCj4gPg0KPiANCj4gQ2hl
ZXJzLA0KPiANCj4gLS0NCj4gSnVsaWVuIEdyYWxsDQo=


From xen-devel-bounces@lists.xenproject.org Thu Aug 26 07:25:01 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 07:25:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172723.315188 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ9kz-000165-Cu; Thu, 26 Aug 2021 07:25:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172723.315188; Thu, 26 Aug 2021 07:25:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ9kz-00015y-9g; Thu, 26 Aug 2021 07:25:01 +0000
Received: by outflank-mailman (input) for mailman id 172723;
 Thu, 26 Aug 2021 07:25:00 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HXzX=NR=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJ9ky-00015e-DE
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 07:25:00 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 9cec7e05-13fe-4038-a763-8081e8adee7e;
 Thu, 26 Aug 2021 07:24:59 +0000 (UTC)
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur03lp2056.outbound.protection.outlook.com [104.47.9.56]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-16-Fq_hmhqoPnGJu_iehU_ixw-1; Thu, 26 Aug 2021 09:24:57 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB3118.eurprd04.prod.outlook.com (2603:10a6:802:a::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Thu, 26 Aug
 2021 07:24:56 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Thu, 26 Aug 2021
 07:24:56 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P189CA0089.EURP189.PROD.OUTLOOK.COM (2603:10a6:102:b4::34) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Thu, 26 Aug 2021 07:24: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: 9cec7e05-13fe-4038-a763-8081e8adee7e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629962698;
	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=C5jmK8F3zx3Iim9ZNfcc8Wx+aPZ2lWaNnZCYDGjUo2o=;
	b=Q35TI2PJk5GgCkslvvTCOozHZCzKpWJQwogWKq6xGDrKyHU6dx2w1v+huWoa0VjfkPgkdl
	8SOkNS+tyymUZVyja7qkSJGiwTf+573LQ58wRInnxQMjJpz/aotf2KLkoHWCsPxHbCqjaY
	Fpq2GxWCTG6dfpv2DZ4nrb6MmbivS/E=
X-MC-Unique: Fq_hmhqoPnGJu_iehU_ixw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mVEkcYOkL56l2cEpsgh+1wkaUi72wLpxpYWQYmYj2t5f47M4dqhxN031T6JmE35083o3gXjEp96LKmO1CLf05RGzdM5Phz6B88xYlE3ORAsJidSLzbfWLNhf+byduM7zN3AToOG6WUhJXrOV6BVmwN/Bq+Jxw3RlNmtblnuCkfvCRMfGbRSjhKXI5DgErEM+/lFUG+324AgkSmVErBmgTI4JeuiHhEPkmMyUbGwtdrA4R+LnkYcicSvpmgLajnLDjBSyOQG1nAsqKkh82YG3dRzJnLN/t2q/X8Rzaa6VtXwwJqp4hEtBVUWVgtH5r1Bzh7bCRXWcPvm7M+Z40MkCHg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=C5jmK8F3zx3Iim9ZNfcc8Wx+aPZ2lWaNnZCYDGjUo2o=;
 b=B8S1xP5A6SsVOGPM4OSuBzZ3sDCek5awFmxxe8CzwOCI0qWkfTbCk6HhnAAi8SQF4PuG+hLa7ZrevbT+b1B2b5hiC7q7Octb1IVEqhNd5ELUOjdMWSYwJ4XfKFROpqc+kBL4hYQPnHPVmLGIhAwxcl46GnERND4qbqRRdZpY6Ic9wohOdEFvXZkjdkZVvWAtJYXsKH5pzAVzmTCMCFUHFbctHUrYn4ue1yoZoOsPT2yscRvrBV1lUfggneLls4iHlas+juyr6dBkMMnzEl04h2M3uj29GvIPdbBjaMGsYYS+wgQHpBWLKCHmKmIN8Y7vogdCpMubs+otAc49l5V3LA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: [PATCH v7 5/8] AMD/IOMMU: also insert IVMD ranges into Dom0's page
 tables
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>
References: <bf4b3be9-1274-9750-7340-08b29dcecfd3@suse.com>
Message-ID: <d3aa4648-282b-9699-05f4-3b010a73ff51@suse.com>
Date: Thu, 26 Aug 2021 09:24:54 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <bf4b3be9-1274-9750-7340-08b29dcecfd3@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P189CA0089.EURP189.PROD.OUTLOOK.COM
 (2603:10a6:102:b4::34) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 1b4226d6-ec38-4b50-baa3-08d968629ab8
X-MS-TrafficTypeDiagnostic: VI1PR04MB3118:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB311835EA1EE17EC301B7A31FB3C79@VI1PR04MB3118.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:5516;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QHR/AHa26TcQqApFrpY3JaoUpfhQFOE1j8O8O53KbAVW6CBVtRx+7cYy9Vjsitb0mF7TUSn0hyqbpDKQT4gJqeYKsrnDOqtIHQaUjSj6/Or/pMPrY1RpGXrAgxTINvjF9w9ci42bd/De14ixNvbGAOIcoRyEeygTr9/FJVXmWg0tUoyTtfev9BCjYD20bssVJhrhaCd751VuJqTEAN+NZRcwhej/pNu2O1NOITNRSFGyqTUKmSyVdlzqimGT0348ISKnQnuQWrFaqQpzonn2rrDrVmc5urGCYWLv+BWMhRofTL/O7rE/8xLjfo0AQat8NjD4zCJxga89Km/tF7i+FAQ312Asi9imN2wqklczcF92VH7JO40ON4HF8GWPdpXkBIjTXbopBW7j7ejjBVpU3bbEL9s31in4qBVVeIbuLAY7HDL19c+XAkdJeAyxOH+i3pQvQWZtwhwjfWVaHPOgShWIxtg/HcJzpHBNO5j9aufO9TY2jg3XetTNsxlYEQCnwDxLWIqc5SX6nFKhcGgz0KZKoNmJoxiPCo+GlAngM9QCIxdNZQUluUshq72UuWZFq97bptWWb2es7aNEciU59P7fDTW8TpaIgHRu+cA3l0ViEZkQsZQ2OHhxHugOfZA/JiNZjifTF4SPfgdl6tiLqlXMqSunuQ0EWeikWgITBbupDldlRvYmZePCtr8E1bliCT85lg+4J93flOCAyUhNtXnHXZhdDBwCObYASqpyLVQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(6486002)(8936002)(66556008)(31686004)(66476007)(956004)(2616005)(2906002)(8676002)(66946007)(38100700002)(498600001)(5660300002)(36756003)(54906003)(16576012)(31696002)(26005)(83380400001)(4326008)(6916009)(186003)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QU80ODg1R1F5Q1JLZnNDdXoyVE9VRW1CbXpTT2cvSGZMOU9MZzhNcCs3bjAy?=
 =?utf-8?B?MXBscXp3Q3FZNGdXdzhXY3dYRU8vRFR6WDEzUkZYNjU4TkhGbTN4NzhWZktj?=
 =?utf-8?B?NmN4UVhzUHFmWUlCSU85dllYeGYzVTRDSHB2NUpWWjJjcFh6QXZCUk4xNmh2?=
 =?utf-8?B?ZkM3NkdGUVU5TGxaU292cTNFaFNYYSt1T0xaNlhZaVZ6aFFmYmVwN1pORzRw?=
 =?utf-8?B?bWg3d2ZOZ3drRG56d2ZCQ0FxeWtJeWFPMzQvTklISkpmalFmb1dmcENpcG1I?=
 =?utf-8?B?dG9MM1B0TC9TTTlQOEdIWEo0cEtiWStxVGF2ZjN2d2IyaC9VdTFYNFVlcDZr?=
 =?utf-8?B?TGVMY2RodHFpWjBQUFUwZHpNNEJQbTQzR1g5c0w4ck55bG5DK2lpRjhodmkx?=
 =?utf-8?B?a3phZUY5emZVZWw1aUg0bUxEbTllZDBzcVdmSzEyNXg4ZCtJWjMyQkhzS3VX?=
 =?utf-8?B?cjFRRDFEeHl6Z1AwaURMcHhQejRnTkpUUlQ1cjV3VDY1cE5JeExCczN4UXhp?=
 =?utf-8?B?QVVWRkhiK0xCNEp3cTF6cE1uWFE0dG5FRFc4QlU2SUJaMHFsRHRCZ2JIT25R?=
 =?utf-8?B?RlBFb0MzRzE1VGhBOWgrYzZjWDBhZVdWS3FkcXhSYkNkdUpyd1dicjJzM1l1?=
 =?utf-8?B?SHZxY0kvakJ3UlUyTWhYUTNUeDkybkhtQWdoRG9CUjhiQnJqaTFnekNKRWx1?=
 =?utf-8?B?aGFOQjZtWjRtbDIyeXNqUTh2M0VOeDdmS2NXTVhFaWF0dk9XL1BOYkhMKzgw?=
 =?utf-8?B?UGxWdU9WZ29DQTdyc3V3eGhDdzV2N2VKNHpJSTF4eGZxTjI0Qnprdmh0MDFJ?=
 =?utf-8?B?TkRsYS93OHV2eUNWL0pKWXdRZE9iSmFtRmt0WHBjSDlJRzBhSzB2NEJQTGdB?=
 =?utf-8?B?d3lXbjdaQnMxMDNvT01kMCtvMWxPU2diajE4b1RIWGVRWjZZbUZWZ2g2YTc3?=
 =?utf-8?B?bmNoMUZpR0V5dHZIQjl6WjlSdEpGUTk1WDBsMk1OeC9sV3Z4Tm4wc1ZmMHJ6?=
 =?utf-8?B?K2pvNlN0YXVzd2ZaRFl1OExoR0o5aWZIQWk0WUtRRjNmM3F6aDFvbjczTEZw?=
 =?utf-8?B?Uy8xQUZZNVFWU1lYNm9XRTArRGR3c2pLdnV3bWI1a1hzUmU3UnN4d3lTTmlD?=
 =?utf-8?B?bE9vbUp1ckRxQjRvWWU4NVFXOXhOeEF5aG82aElDQ1dWdS9lbnppTG5yWGJ1?=
 =?utf-8?B?WXQwb3lhTGplczUvMjlCdjIrWEgxejFrUXdCYi9MN0lyNlJjeEd6Z2F5V3hK?=
 =?utf-8?B?RU9yNmowTEg3aElKM0t2a2N3blZYNFZsUXFrQ3dUUXhMQ0NOdkFJbnh1Tld6?=
 =?utf-8?B?cW0wRHg5cTVmV3IzajVnYUNsS1JNNm1GaituRngvMmo3Q0JOUkJUdGdkYkRU?=
 =?utf-8?B?cENjOHJGaEJTVThrN0tYUTJNVGlOK21qTWNUSStHQXRKdUd4cS9FNnpPN3Vv?=
 =?utf-8?B?ek1RYzRPeC9OVm1WRDZha0dHUFJ2NTM0QWNsSUVwSmxRcHNUb01jTFlsSjZw?=
 =?utf-8?B?WlBDdHBmZ2puV2lEOWJKOUJGZngwdXEzVUxueFltd2NDcVJodFEwTEJsdlpX?=
 =?utf-8?B?Y3I2enR4R3BIMWNoRTRCcWdPb2VhT09tUjlMNE9VNE1kZDZiRnQvVERUYkhF?=
 =?utf-8?B?WUwwZEZUOVJyZzgxNjZHck1RelFoZmIxWkNzUEU1Q3ZYTVFRRVFXSm13TlZT?=
 =?utf-8?B?OVhTU0VkQjZiaVpkZ28ra1VQZUlWOXRhVDJyRzlNKzJMZDVWb0hSb0FEODJY?=
 =?utf-8?Q?U5a1Qn/gsIQpuckOWn+ReWbW+1JajgzfPz+DkST?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1b4226d6-ec38-4b50-baa3-08d968629ab8
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 07:24:56.4025
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Akd19YzvI1woIGGXPMctDVXA2q6rAHyOQCQjpgGhQ9PYDPPngRCBucDPzatV9lMLdzuc5VxCJDo+fsEveuZznQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3118

So far only one region would be taken care of, if it can be placed in
the exclusion range registers of the IOMMU. Take care of further ranges
as well. Seeing that we've been doing fine without this, make both
insertion and removal best effort only.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Paul Durrant <paul@xen.org>
---
v5: New.

--- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
+++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
@@ -522,6 +522,14 @@ static int amd_iommu_add_device(u8 devfn
         amd_iommu_flush_device(iommu, bdf);
     }
 
+    if ( amd_iommu_reserve_domain_unity_map(
+             pdev->domain,
+             ivrs_mappings[ivrs_mappings[bdf].dte_requestor_id].unity_map,
+             0) )
+        AMD_IOMMU_DEBUG("%pd: unity mapping failed for %04x:%02x:%02x.%u\n",
+                        pdev->domain, pdev->seg, pdev->bus, PCI_SLOT(devfn),
+                        PCI_FUNC(devfn));
+
     return amd_iommu_setup_domain_device(pdev->domain, iommu, devfn, pdev);
 }
 
@@ -547,6 +555,14 @@ static int amd_iommu_remove_device(u8 de
 
     ivrs_mappings = get_ivrs_mappings(pdev->seg);
     bdf = PCI_BDF2(pdev->bus, devfn);
+
+    if ( amd_iommu_reserve_domain_unity_unmap(
+             pdev->domain,
+             ivrs_mappings[ivrs_mappings[bdf].dte_requestor_id].unity_map) )
+        AMD_IOMMU_DEBUG("%pd: unity unmapping failed for %04x:%02x:%02x.%u\n",
+                        pdev->domain, pdev->seg, pdev->bus, PCI_SLOT(devfn),
+                        PCI_FUNC(devfn));
+
     if ( amd_iommu_perdev_intremap &&
          ivrs_mappings[bdf].dte_requestor_id == bdf &&
          ivrs_mappings[bdf].intremap_table )



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 07:25:27 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 07:25:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172731.315199 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ9lP-0001m5-Lo; Thu, 26 Aug 2021 07:25:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172731.315199; Thu, 26 Aug 2021 07:25:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ9lP-0001lw-IM; Thu, 26 Aug 2021 07:25:27 +0000
Received: by outflank-mailman (input) for mailman id 172731;
 Thu, 26 Aug 2021 07:25:25 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HXzX=NR=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJ9lN-0001kI-Hp
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 07:25:25 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id d4870a61-e9ed-4e34-8f12-2e351aa517ea;
 Thu, 26 Aug 2021 07:25:24 +0000 (UTC)
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur03lp2056.outbound.protection.outlook.com [104.47.9.56]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-29-gxFygJZHNi2fVroXroCmpg-1; Thu, 26 Aug 2021 09:25:22 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB3118.eurprd04.prod.outlook.com (2603:10a6:802:a::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Thu, 26 Aug
 2021 07:25:21 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Thu, 26 Aug 2021
 07:25:21 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR1P264CA0014.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:19e::19) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.18 via Frontend Transport; Thu, 26 Aug 2021 07:25: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: d4870a61-e9ed-4e34-8f12-2e351aa517ea
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629962723;
	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=VW9/wdJ4/kFPJ+ukBVObUj1EDWpu9iV3yoaVGzNpK4k=;
	b=V+U6jYCYJupIihmBlNg4hEqlhXtTLjYL2JFqM7p4iDlmXnIsXhE0yAH0HqKT5wq4mzDp0E
	ihqxAR47qRurp6YyZZYAdO6e0Lw2FmB/Z4izC+E41w6CRGSHqfg3H5x/Gk7Vnop7KU/a6H
	+NwE+E7U7z8m8K3WP/yZ8tw4hb5W6YI=
X-MC-Unique: gxFygJZHNi2fVroXroCmpg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KWMlPk/cn38mSVs8alYLHoPb9Ckj4t9h6qPMWdLKuRrjvmUzwktNVPlDhIvlJinaFV+wu4uuWs/hB5+LxQD20pEr9BZHHqFcWiAsSMQIdo54h/DhfRZF0YFYYM1ZbTOq/OWtoFGu+rMCAgX8IFoFQNh4MnJ/u9xJXHj7KY4XhVQrNWCgDl2fGPImY/GeqfQLiB6949efcPOmsbH7zWHhvzhsNBVAOEebP0TssghvFz5ZPOoJSyXJpOrK/RHNKo+lnk6MatVkZp79yPkLOgGa5uaCz/Wj1hxwFADZ5Q4BvAuaQeTFXalv2BN5QZg/NhX4bqoaATajuI874vl1S6Ae8g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VW9/wdJ4/kFPJ+ukBVObUj1EDWpu9iV3yoaVGzNpK4k=;
 b=QmrJ2n+uKyXQdfRsAQ6/BxfS7Qg9Zbp42MgxwVLOc9jRilbJBpsuUa6nk6XcWeF9U0ccQML/feGL6vMUYC42ljCbpykim98w2YXAhnhJBrsZ4rBBoTuJeZoHmGljcBsREcft9Icg/M5B44J3xPAlIfWqtykL357A7xx1TZDWPG7mSrHBzttnLaoK7J9t5S8lbcyBhIJqh4pQhgGOZpSz2Rh/LSlnfFxsst4IbvdnYB9Zjleef2JbN5yygo/LnY7Tmvy79syFxgIkh5qj4VsNx/KAWr0Zza53KkU48J3hPfEcgdT0SgxEQYHLlhIiGqOcn2IJr/CEmrxqpLkw5Cd5KA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: [PATCH v7 6/8] AMD/IOMMU: provide function backing
 XENMEM_reserved_device_memory_map
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>
References: <bf4b3be9-1274-9750-7340-08b29dcecfd3@suse.com>
Message-ID: <93f33c54-8abe-4a73-3597-2f7d00d2f4af@suse.com>
Date: Thu, 26 Aug 2021 09:25:19 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <bf4b3be9-1274-9750-7340-08b29dcecfd3@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR1P264CA0014.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:19e::19) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: fa7c22b0-47e1-4628-bf07-08d96862a9a4
X-MS-TrafficTypeDiagnostic: VI1PR04MB3118:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB3118BE2251972851370BF22AB3C79@VI1PR04MB3118.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:669;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dMNl0LFoSXqUW9oN9q6p1HBU5NjZrUq9SgyZiWX9xSReMSfkk0sfdjxhAjYRztBfAex01iQeBdSk68oUyMnC0VN82ujyAXm7kqCb/O99wkdQK6osDYI8FXcvcc514rcsB00u0WBi7tfipKfxmf2PVkhptpIej9Ju8Fkvq+nfuc3qAuLbM3xNDkbuibFHJ2dvY3sPxcAoHV1ammE88+k+EaIwcMZ4uI/gXqhusLwCsQOVSn8XOQltSnKAKEtlIFjHSXG5Og+7I/U/Kht9bzgDBIA/uJxajZPqM/iq2VPvZZVfyvMBA5DK8Iei5DxT2E/Gx9xx+Q6p56emUwhTpDY09JnkLB8uTKemWzMM+zKcUFBkAJl0qLviHuQGdAUiF9qjCa+xBFcl/kPDIAvy+0P1CFwgVkFNUFEu8ZDyqn5mfwKeO12mtjjbasjKbAu4q4l0R8hPLT75/lWzW1Wm/gHD2yMfg7lO9tCA9FUUYuKoPNcPnGb83dM3uHymOCldaM59Xun1l7pQv83p4zoI6wCLBEpNfPI78nplwiAH6dk9UodpiiFUHHntG7dkSjtvihsmw7zvKluVGp9lBIaTqG7hM4Q8sznFdQwnXJyISDq69ounUFNV6AVfgIgnVVmr256f3mdlE8TgiyPAvbRMpDuehscyb+ZCR8YJ8vTA0A3OUkw+G3iwXU6yV+XDoAQ/AT/AZtkP0QuRPdkq+Mgclris/Oz14asq8OO0NUJRFM0lWhVw+m7LWGJhKY5TKapDtcXg
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(6486002)(8936002)(66556008)(31686004)(66476007)(956004)(2616005)(2906002)(8676002)(66946007)(38100700002)(498600001)(5660300002)(36756003)(54906003)(16576012)(31696002)(26005)(83380400001)(4326008)(6916009)(186003)(86362001)(21314003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ejErY0lzdWRtaDFjeFNPaVljSWFuNSt1d2x6QTAzanJtMUFncUJTVzlPcDA0?=
 =?utf-8?B?NG4rcjlUWDBWTEpZZVprT1ozOU01ZGpSTktpeFoxU0NWeWRpZEVPaEdWbDF1?=
 =?utf-8?B?RFNXSDhkdzBLbDc4VkFLQURaRjl5UmZEUjRCR1dKSmcrVW02WjJnUVMzbGpp?=
 =?utf-8?B?c2l1OG42M2liYy9PY2F1NnFrR3pHaExiTGdqNFNsNWpyanVrblZwQjRsMVM0?=
 =?utf-8?B?ZVJKSGMzdG9jMmJJaWQrOEF5TSsyUytTR3B2a0lVMUJFZmhxZ1ZZeUwvYU1o?=
 =?utf-8?B?ckw2OXpEb3cyZ0dHejczSUd3THNUSjd6MHBQNXJwdDU3VVMzWlBUczMwcWRU?=
 =?utf-8?B?QmNodWovUUZOME5vd2R5K2hwMVhSbVJ5SlN4MkYvRmg4SkpFclB6bUVibFIy?=
 =?utf-8?B?U3dJTmt2R29RcERCd01pUzIxVTE1aGFzTUVaZXJCampPcmUrdlVzazE0bzF3?=
 =?utf-8?B?LzZwbmJsbllza09HNkFxcS9mK21qK3Jab0o1UmtORGx2cXlyVDVnWjEvbHd3?=
 =?utf-8?B?OHZsdTRld1h4TUh4cmFlTWd0MW5VTElaZCs3YXpueDdkdno5TFBocFlQNmp0?=
 =?utf-8?B?YVZRQnlQZHVjSjk4cHdsOFU1a2hjSUJWN1JJZTlPMk1KN0ZwaXo1RjN4QnFE?=
 =?utf-8?B?UjdYNnBkSTM5TWNFZ0hhVmQvRXJHNDJFOVVwaFd6eEFSbXB3M2sxZHI3Uldx?=
 =?utf-8?B?N0cxUjcyRWNXVWp4eStGS2dQUko1L1VYVWVmanFoV0tJNmw2VmNiWDd6NXdG?=
 =?utf-8?B?QjcwZjR4dEE4YlAxUmdVNU8wWlhtYmdyOHRkMUZPSHhDSlRMWXBVZFR0OTJa?=
 =?utf-8?B?M0REN0J6M0pFZlIrZEVMM0J4QmJpeGpJUllaRlljeVkrOXlJUEZCUGpkemdw?=
 =?utf-8?B?UmhyRHNjMWsyZE81NkVIN0VTMDNlYTZLZ1d4dUZoR3hNaFQ3VEdlS1MxZ1cw?=
 =?utf-8?B?bDFSTHZxdGhRSVRwREZvSU1DRVJIcHhQSEhCSzRoNkNRbUNnVC8rZEdoRm92?=
 =?utf-8?B?VXU1SlhSRCtpZm43R3ovaWNpcGd6Q0hhay9JWjk1K3cxbS94eUxXcXlwUis1?=
 =?utf-8?B?MVk2Mzh1cmc5V3RzajNVcU4zeno2ZmhxMkV2RE1LRVd2SytlUGp0c2VoRDMy?=
 =?utf-8?B?a0YvTEx3ZGp4R1Vzeit1ZVUzbHAxL0ZjNmJHdFA0QzllU29LcEtsRzNsOFhJ?=
 =?utf-8?B?clBTc2RzMTJZQWdUNGFtaWVhbGN6UmRLWFFPaVE5alllVjNjYlhyVDFVTXVL?=
 =?utf-8?B?d0pKam1VVW1HZlc3OHJBQis4endleGxUWVRjUGJCdFMzQlduSUpEeGFiUnBX?=
 =?utf-8?B?SHBpQ3A0U3ZnWDVJUFpBUk9tY0pLdmVtR01uc3kvNHpkRWFRYWg5VHUzNDNZ?=
 =?utf-8?B?UUZUczNzWGlNOGRjbWJleUZVcnM1eVdHcFFBc3JvcGs3NzJNbE41aDJIYjcr?=
 =?utf-8?B?WmlEQUVUcW03VDlLZG8yRzdnMUV1eUt1cFYvTHNwYktEellrOE5pOEtrZ1VV?=
 =?utf-8?B?ejVxNWR6UmU5b2VhOGxSL1VzbmwxV1VqeFhiQkcrVlVCSWU3ZVduNUpjdkpu?=
 =?utf-8?B?T2d6MXRmSEZPaDhTcStjQXlQQmhuWm1UTGdteHMrS1ZMV0hvMmJBN1FjZGRq?=
 =?utf-8?B?YTFTQ3V6NHlTU2VDRG9RdGNocGlkNWxnMDA0UzY3Sk5sMGdndm1VYzlGWG5n?=
 =?utf-8?B?bURoL3lDcXgyL1A4L2Q3eDdZTzNyc2VnTFZQaUw5d2h6VGcvRFQrbmNmMVVT?=
 =?utf-8?Q?YGuAglcXbLISIU3hwJJGiA0yMxUNjyOXblhH5yK?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fa7c22b0-47e1-4628-bf07-08d96862a9a4
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 07:25:21.3065
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: debop5If3b5RaKYJEm7ZMFVEf2Y+RP4yY3Tmtl13MMg7rp5N6M3RUZOrGdAI/d+GoXU+1om5LtYScgzYgqavwA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3118

Just like for VT-d, exclusion / unity map ranges would better be
reflected in e.g. the guest's E820 map. The reporting infrastructure
was put in place still pretty tailored to VT-d's needs; extend
get_reserved_device_memory() to allow vendor specific code to probe
whether a particular (seg,bus,dev,func) tuple would get its data
actually recorded. I admit the de-duplication of entries is quite
limited for now, but considering our trouble to find a system
surfacing _any_ IVMD this is likely not a critical issue for this
initial implementation.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Paul Durrant <paul@xen.org>
---
v7: Re-base.
v5: New.

--- a/xen/common/memory.c
+++ b/xen/common/memory.c
@@ -1042,6 +1042,9 @@ static int get_reserved_device_memory(xe
     if ( !(grdm->map.flags & XENMEM_RDM_ALL) && (sbdf != id) )
         return 0;
 
+    if ( !nr )
+        return 1;
+
     if ( grdm->used_entries < grdm->map.nr_entries )
     {
         struct xen_reserved_device_memory rdm = {
--- a/xen/drivers/passthrough/amd/iommu.h
+++ b/xen/drivers/passthrough/amd/iommu.h
@@ -110,6 +110,7 @@ struct amd_iommu {
 struct ivrs_unity_map {
     bool read:1;
     bool write:1;
+    bool global:1;
     paddr_t addr;
     unsigned long length;
     struct ivrs_unity_map *next;
@@ -236,6 +237,7 @@ int amd_iommu_reserve_domain_unity_map(s
                                        unsigned int flag);
 int amd_iommu_reserve_domain_unity_unmap(struct domain *d,
                                          const struct ivrs_unity_map *map);
+int amd_iommu_get_reserved_device_memory(iommu_grdm_t *func, void *ctxt);
 int __must_check amd_iommu_flush_iotlb_pages(struct domain *d, dfn_t dfn,
                                              unsigned long page_count,
                                              unsigned int flush_flags);
--- a/xen/drivers/passthrough/amd/iommu_acpi.c
+++ b/xen/drivers/passthrough/amd/iommu_acpi.c
@@ -145,7 +145,7 @@ static int __init reserve_iommu_exclusio
 
 static int __init reserve_unity_map_for_device(
     uint16_t seg, uint16_t bdf, unsigned long base,
-    unsigned long length, bool iw, bool ir)
+    unsigned long length, bool iw, bool ir, bool global)
 {
     struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(seg);
     struct ivrs_unity_map *unity_map = ivrs_mappings[bdf].unity_map;
@@ -164,7 +164,11 @@ static int __init reserve_unity_map_for_
          */
         if ( base == unity_map->addr && length == unity_map->length &&
              ir == unity_map->read && iw == unity_map->write )
+        {
+            if ( global )
+                unity_map->global = true;
             return 0;
+        }
 
         if ( unity_map->addr + unity_map->length > base &&
              base + length > unity_map->addr )
@@ -183,6 +187,7 @@ static int __init reserve_unity_map_for_
 
     unity_map->read = ir;
     unity_map->write = iw;
+    unity_map->global = global;
     unity_map->addr = base;
     unity_map->length = length;
     unity_map->next = ivrs_mappings[bdf].unity_map;
@@ -222,7 +227,8 @@ static int __init register_range_for_all
 
         /* reserve r/w unity-mapped page entries for devices */
         for ( bdf = rc = 0; !rc && bdf < ivrs_bdf_entries; bdf++ )
-            rc = reserve_unity_map_for_device(seg, bdf, base, length, iw, ir);
+            rc = reserve_unity_map_for_device(seg, bdf, base, length, iw, ir,
+                                              true);
     }
 
     return rc;
@@ -255,8 +261,10 @@ static int __init register_range_for_dev
         paddr_t length = limit + PAGE_SIZE - base;
 
         /* reserve unity-mapped page entries for device */
-        rc = reserve_unity_map_for_device(seg, bdf, base, length, iw, ir) ?:
-             reserve_unity_map_for_device(seg, req, base, length, iw, ir);
+        rc = reserve_unity_map_for_device(seg, bdf, base, length, iw, ir,
+                                          false) ?:
+             reserve_unity_map_for_device(seg, req, base, length, iw, ir,
+                                          false);
     }
     else
     {
@@ -292,9 +300,9 @@ static int __init register_range_for_iom
 
         req = get_ivrs_mappings(iommu->seg)[bdf].dte_requestor_id;
         rc = reserve_unity_map_for_device(iommu->seg, bdf, base, length,
-                                          iw, ir) ?:
+                                          iw, ir, false) ?:
              reserve_unity_map_for_device(iommu->seg, req, base, length,
-                                          iw, ir);
+                                          iw, ir, false);
     }
 
     return rc;
--- a/xen/drivers/passthrough/amd/iommu_map.c
+++ b/xen/drivers/passthrough/amd/iommu_map.c
@@ -467,6 +467,81 @@ int amd_iommu_reserve_domain_unity_unmap
     return rc;
 }
 
+int amd_iommu_get_reserved_device_memory(iommu_grdm_t *func, void *ctxt)
+{
+    unsigned int seg = 0 /* XXX */, bdf;
+    const struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(seg);
+    /* At least for global entries, avoid reporting them multiple times. */
+    enum { pending, processing, done } global = pending;
+
+    for ( bdf = 0; bdf < ivrs_bdf_entries; ++bdf )
+    {
+        pci_sbdf_t sbdf = PCI_SBDF2(seg, bdf);
+        const struct ivrs_unity_map *um = ivrs_mappings[bdf].unity_map;
+        unsigned int req = ivrs_mappings[bdf].dte_requestor_id;
+        const struct amd_iommu *iommu = ivrs_mappings[bdf].iommu;
+        int rc;
+
+        if ( !iommu )
+        {
+            /* May need to trigger the workaround in find_iommu_for_device(). */
+            const struct pci_dev *pdev;
+
+            pcidevs_lock();
+            pdev = pci_get_pdev(seg, sbdf.bus, sbdf.devfn);
+            pcidevs_unlock();
+
+            if ( pdev )
+                iommu = find_iommu_for_device(seg, bdf);
+            if ( !iommu )
+                continue;
+        }
+
+        if ( func(0, 0, sbdf.sbdf, ctxt) )
+        {
+            /*
+             * When the caller processes a XENMEM_RDM_ALL request, don't report
+             * multiple times the same range(s) for perhaps many devices with
+             * the same alias ID.
+             */
+            if ( bdf != req && ivrs_mappings[req].iommu &&
+                 func(0, 0, PCI_SBDF2(seg, req).sbdf, ctxt) )
+                continue;
+
+            if ( global == pending )
+                global = processing;
+        }
+
+        if ( iommu->exclusion_enable &&
+             (iommu->exclusion_allow_all ?
+              global == processing :
+              ivrs_mappings[bdf].dte_allow_exclusion) )
+        {
+            rc = func(PFN_DOWN(iommu->exclusion_base),
+                      PFN_UP(iommu->exclusion_limit | 1) -
+                      PFN_DOWN(iommu->exclusion_base), sbdf.sbdf, ctxt);
+            if ( unlikely(rc < 0) )
+                return rc;
+        }
+
+        for ( ; um; um = um->next )
+        {
+            if ( um->global && global != processing )
+                continue;
+
+            rc = func(PFN_DOWN(um->addr), PFN_DOWN(um->length),
+                      sbdf.sbdf, ctxt);
+            if ( unlikely(rc < 0) )
+                return rc;
+        }
+
+        if ( global == processing )
+            global = done;
+    }
+
+    return 0;
+}
+
 int __init amd_iommu_quarantine_init(struct domain *d)
 {
     struct domain_iommu *hd = dom_iommu(d);
--- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
+++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
@@ -667,6 +667,7 @@ static const struct iommu_ops __initcons
     .suspend = amd_iommu_suspend,
     .resume = amd_iommu_resume,
     .crash_shutdown = amd_iommu_crash_shutdown,
+    .get_reserved_device_memory = amd_iommu_get_reserved_device_memory,
     .dump_page_tables = amd_dump_page_tables,
 };
 



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 07:25:51 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 07:25:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172735.315210 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ9lm-0002M7-Vv; Thu, 26 Aug 2021 07:25:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172735.315210; Thu, 26 Aug 2021 07:25:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ9lm-0002Ly-RY; Thu, 26 Aug 2021 07:25:50 +0000
Received: by outflank-mailman (input) for mailman id 172735;
 Thu, 26 Aug 2021 07:25:50 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HXzX=NR=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJ9lm-0002Lf-Fu
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 07:25:50 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id d5b94e7c-063e-11ec-a9d2-12813bfff9fa;
 Thu, 26 Aug 2021 07:25:49 +0000 (UTC)
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur03lp2050.outbound.protection.outlook.com [104.47.9.50]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-39-vQsy__WVPtK3phTnY6t6nw-1; Thu, 26 Aug 2021 09:25:47 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB3118.eurprd04.prod.outlook.com (2603:10a6:802:a::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Thu, 26 Aug
 2021 07:25:46 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Thu, 26 Aug 2021
 07:25:46 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P193CA0025.EURP193.PROD.OUTLOOK.COM (2603:10a6:102:50::30) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.20 via Frontend Transport; Thu, 26 Aug 2021 07:25: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: d5b94e7c-063e-11ec-a9d2-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629962748;
	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=Cp/UKD96UUEYfIaWIeUFiqwUZxRvXtrZLCZhkoF46/Y=;
	b=bLe0hY3NFFViTYOqnSLPiFSrTozZCkk2AjU79mrooJY3AdCFglm9IJsPknSH+7h77V++YD
	nsPVQnankqp4/ec9UOVG04w9w/GCGSoBLV1sojh+5U72o8XCEN20Pb5U88o6tEeNEeUz9c
	t8430Waf6T4LTln3gZHj911ZtK7aWpA=
X-MC-Unique: vQsy__WVPtK3phTnY6t6nw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RH4a+hm9vpgE6ANBwhbpTrA+aG+SFKtHVJS6yyiUmWIjqal6joMVFIu5OfDNyC1bbqbmPLit4UziQ+NA2dznz7nAteK/DinZOB8CuVQ+NMQdAzUvwi/SWdrY3uioTUBWlT3AUgYPZ0S8XV90rYWyCEXSSWiM0CRaLbmQi3AJ+jl0Sn5UUFN8Itd8foSARf4tzPNpsuXnfFwen4uYk8uVcp0FrgE5FokSBB0SDGG6yJmcHZ1RoHbBrhaXD+INGtKuaxZi+sSh58HhX6zlJ185M74pPU25gFFU4ikIRrDR5IlRkIsp4TE15a/OaOVqOOHPnfQy2W7RP1UYjSOPUoXd/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-SenderADCheck;
 bh=Cp/UKD96UUEYfIaWIeUFiqwUZxRvXtrZLCZhkoF46/Y=;
 b=FN1kSA3Mib1fm/nVYrvP/dxontcI2KZuXPpx3sw2SImwwXgZEy6PTN3KfRfkrmoReUBlpwJzTsd1QrAQhvyZahAvYESpVh9nPo5CvhEyhHIERpEMzX2BSucWD0yMV8Otpzz6tpTxvVYctc47qudbv8FnPykiS0xf60x+EWToq956DnCbxBa9r5IW5C9wYdXnXe7TZssXyrFezRwJbo+s2ZVZNm1NzL4/JXYE1R/ODqmyopX50Se3q+0swLdfpSeOvy5h5l+70hPRj2jHeXCDLRsECwpFHZ72BtVSSItTJpn/6wfqdwtEwLCFefy9O9Ymhvnt5eOooaVB3ulB54jCFg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: [PATCH v7 7/8] AMD/IOMMU: add "ivmd=" command line option
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>
References: <bf4b3be9-1274-9750-7340-08b29dcecfd3@suse.com>
Message-ID: <1b974a3e-3ace-fbd9-411f-4493963317b8@suse.com>
Date: Thu, 26 Aug 2021 09:25:43 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <bf4b3be9-1274-9750-7340-08b29dcecfd3@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P193CA0025.EURP193.PROD.OUTLOOK.COM
 (2603:10a6:102:50::30) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 22a5593f-6594-4b9e-f2ba-08d96862b895
X-MS-TrafficTypeDiagnostic: VI1PR04MB3118:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB311888957FB5CDE2B703A20AB3C79@VI1PR04MB3118.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:2201;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5LF72eOcdqWCLhT2pQ5oSdUIP4OFxJ6Ikqn99pbPgtGm7mVniSZlTDnl+opQtUI5ggyDzj8DfFZ4JEbDvvsX5kCFdO4U7xQbPx6rM0C7efVOSvcGSRKLP9eYEkL/5KE137biMa4WSS0IEEOBsbkmuYcqSDTNyXbT1mr5fthBN8Cs1DVLMCGSbKyTkudzaPcjegjLeX/5di9uj5HiVRyPrAX6QTYyAyaUH31P24zFd/2TyXQxgPtkOBj5OFFmdkBc6pjH0S+p0OWk5rYulyI8/P6xmnwvCvNtUINIVyr3+1SNGGoHZ4F2a/r9I3iVjlOeoNOkwoumVqwb3CBQLH/7VVsVNSFG+BWImY34cOFkPYupx5NiE9yKfQqJp567+DlySDmPOhMe2ZpD7x9eAJF7AZ/6FblF9uMEetIZfbuQ2w18+Cb4m1VMkwP9zVFI/G8o0HApMPT/xX7Gm51Jg8UWSUYvlrN3Sax8ZLQy/D7XDzMkc0qSS4Eu7Jz6xddzyPUvwiHCEmx8oqeQAgu+btMDyDd65aLBC+wadVFuhTklRLQPKPtOMaHjSaKrmD92LyWWMP25pUIvsC8tWWFXKvRop5nxQj25EBtIuhSuAzBM7DP5fYY1LP2si6miMwFlf3np4oZHT2sCn0OuSB0fn9swwSTJ+Fnmlt9UUdnWlyrZ/v1my5JSJLJtkidmJ+bjk0s99+NMGLfAoxi/i4ibpUgAOAo4xCKEBQaKEYRnmrQfupo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(6486002)(8936002)(66556008)(31686004)(66476007)(956004)(2616005)(2906002)(8676002)(66946007)(38100700002)(498600001)(5660300002)(36756003)(54906003)(16576012)(31696002)(26005)(83380400001)(4326008)(6916009)(186003)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UXZrbk5YUUFidWwrUUJrQXAxS0hFRG5NRFp5ajFtL01NWkhCYk1wOEgxMWhH?=
 =?utf-8?B?NHZQMkVJTVNVZlMyYjUxZ0F1LzZnam5NZEEyMnlqN053dGNNUXlNbjVqTzJE?=
 =?utf-8?B?M05pV2doZGtCQ2ZBaEhwWXB1VGs1ellsYVhWQnJkTUJQWmt3SFB3emlkOVBa?=
 =?utf-8?B?TGpxZy9FVUxoeGZEWlNMWVZzZEl1VFhTTlIvQ0hVZDFBWVM3NXltenc2Y0k0?=
 =?utf-8?B?STduYXh4S243MkZjTjdOSTY5WXY5QmdOczU4bTNDNFQ3L0gzVHhONGJLTlk0?=
 =?utf-8?B?MmFGNnJzZklmaDJzWk5NNTdwUWQ3M0pzNEdSTlBIek1TSmlNMHhXemRYWUdN?=
 =?utf-8?B?NGhXVE9Xc0RXdC9qZXM5dnJGUVhZcjI5WksvY2hFKzNXc1ZacEFKR0VUSlFo?=
 =?utf-8?B?U25oajVuMXJBRWlPUW9ycTMrcmJDUDhqWFkwVnlhTFNyN0NlbnYxbm41QUdE?=
 =?utf-8?B?M2NSWWtPeFV0bER6ZWZZMmF4Wmw0eEZCS2J4ZjNVZVFSRzdhRDNuVldQZWly?=
 =?utf-8?B?R09tOFUyQzNGbTRBOG5hd2pWbjZabW51Q0ZwS0NkRmYydTl2NTBXSnZyQmZ5?=
 =?utf-8?B?ZWU4UG1oODRpMHhFTEdyU1FFOUQwb0VLOGFQVFdzamJmelptSmwya1dWcDVu?=
 =?utf-8?B?VkF5UDhSWXM5MjErUVhaNTRmcEtHWlcrRHZrajkxMENLUHlOamMwWFJrZ3B4?=
 =?utf-8?B?bUkxS2JrYTJIL3ZHZytBMGtLa0lCaWJ3Z3JjWFEwZnFIZm9KRnpwS2dWU3Jt?=
 =?utf-8?B?cG0zQzNWeEhUVVQvVk00TG9na1RLT2hCYVFzYkRnUnBZbmFoa3E4WmU1Tk9W?=
 =?utf-8?B?OUZoelE3czV3VVB0UjJkREMyMlgrR2hUd1BVYTg3WloyTEdacGNKRTV3Sk9U?=
 =?utf-8?B?bkh5ZCtncGV3bnFybkxZdGVTWmhOTGhvR1J5dVJpRmpPSWdkU01JNThpOUhZ?=
 =?utf-8?B?a2pPamMrRllnbFU3OXZjeUplMEF4cGdkRm4rMG5TeXJ3Q0IyWnhwY2NXNVlO?=
 =?utf-8?B?OVZXT3dhWFUzclNYZXRvNVg3VE42M3dpcFhLcmdTMGptNGZOYmFMNTlGcUln?=
 =?utf-8?B?eXJXOTNkL1dkY2t3b1FnZjJEQ0c4OGhwd3U5KzNLQXhGdmpJQUFxTnpHdEd4?=
 =?utf-8?B?RG1pVDFSN0hicUl5MnZHS2kvYmx4aTIxelpuQnNnZGNEcGZHcERWTEg5NDhX?=
 =?utf-8?B?ZXVuTGl1V3NaTDhiUVE4SXlybGtEcFRZM1FmNm55V2xmU0NjTFREcDlTbk5w?=
 =?utf-8?B?N25vajhsT0FVM0hyM0srM09OOHB4U091WkpwS0trcVBpMFBPNUt4RUpNODI1?=
 =?utf-8?B?UEVPZUxaeGlKbXFPRTRFWTc5QmJxWWRRdFUrRnh6S0FyLzhYdjFncGtoYjRx?=
 =?utf-8?B?cEtOOWRBOUNWSE1qVExZWWtyd1c5N3RqRy9QSFlLNTdOOGlOUDFiNHdtVDRS?=
 =?utf-8?B?UnBySDdPRHZ0ek1KTEZOU2Z0QlFuU2N1dFlscUQxWWZJSzFJUDNpSkx0ZUJv?=
 =?utf-8?B?STR4bDlpenorYTRMQTRSL3JUU3JldndjRytzWDVkdHlsSmQrQkJuQ3BuUHB5?=
 =?utf-8?B?OXF1OTFzRkpNRFlnNkVpZTN5VHlERE9WWVBUMnhaUnB1WTNod3FGQVhPME15?=
 =?utf-8?B?Q3ViM3hBa1VoUkZyUkc3L0NzbUl4WmhBV252Nng4QTc0NnFrMHlIc2JQRU9x?=
 =?utf-8?B?UkhnQXIxK3V5MEwvSGlQK0tyckEzUDg5Q3FmS2pZWWNYSWd5cXl2YzdiNXZx?=
 =?utf-8?Q?DoGKBoPCTfG6/RAGNsU3AmQokN2hsq/pnFNyzhi?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 22a5593f-6594-4b9e-f2ba-08d96862b895
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 07:25:46.5332
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Z913Zsp7aEfZzI1TO7iJC+2BIBVb5r5B+uw8gUSkgnaJ6CNXkXBWNFjyBo0AOkskx+5QrL3FzgweNvSuipSxbw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3118

Just like VT-d's "rmrr=" it can be used to cover for firmware omissions.
Since systems surfacing IVMDs seem to be rare, it is also meant to allow
testing of the involved code.

Only the IVMD flavors actually understood by the IVMD parsing logic can
be generated, and for this initial implementation there's also no way to
control the flags field - unity r/w mappings are assumed.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Paul Durrant <paul@xen.org>
---
v5: New.

--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -836,12 +836,12 @@ Controls for the dom0 IOMMU setup.
 
     Typically, some devices in a system use bits of RAM for communication, and
     these areas should be listed as reserved in the E820 table and identified
-    via RMRR or IVMD entries in the APCI tables, so Xen can ensure that they
+    via RMRR or IVMD entries in the ACPI tables, so Xen can ensure that they
     are identity-mapped in the IOMMU.  However, some firmware makes mistakes,
     and this option is a coarse-grain workaround for those errors.
 
     Where possible, finer grain corrections should be made with the `rmrr=`,
-    `ivrs_hpet=` or `ivrs_ioapic=` command line options.
+    `ivmd=`, `ivrs_hpet[]=`, or `ivrs_ioapic[]=` command line options.
 
     This option is disabled by default, and deprecated and intended for
     removal in future versions of Xen.  If specifying `map-inclusive` is the
@@ -1523,6 +1523,31 @@ _dom0-iommu=map-inclusive_ - using both
 > `= <integer>`
 
 ### irq_vector_map (x86)
+
+### ivmd (x86)
+> `= <start>[-<end>][=<bdf1>[-<bdf1'>][,<bdf2>[-<bdf2'>][,...]]][;<start>...]`
+
+Define IVMD-like ranges that are missing from ACPI tables along with the
+device(s) they belong to, and use them for 1:1 mapping.  End addresses can be
+omitted when exactly one page is meant.  The ranges are inclusive when start
+and end are specified.  Note that only PCI segment 0 is supported at this time,
+but it is fine to specify it explicitly.
+
+'start' and 'end' values are page numbers (not full physical addresses),
+in hexadecimal format (can optionally be preceded by "0x").
+
+Omitting the optional (range of) BDF spcifiers signals that the range is to
+be applied to all devices.
+
+Usage example: If device 0:0:1d.0 requires one page (0xd5d45) to be
+reserved, and devices 0:0:1a.0...0:0:1a.3 collectively require three pages
+(0xd5d46 thru 0xd5d48) to be reserved, one usage would be:
+
+ivmd=d5d45=0:1d.0;0xd5d46-0xd5d48=0:1a.0-0:1a.3
+
+Note: grub2 requires to escape or quote special characters, like ';' when
+multiple ranges are specified - refer to the grub2 documentation.
+
 ### ivrs_hpet[`<hpet>`] (AMD)
 > `=[<seg>:]<bus>:<device>.<func>`
 
--- a/xen/drivers/passthrough/amd/iommu_acpi.c
+++ b/xen/drivers/passthrough/amd/iommu_acpi.c
@@ -1063,6 +1063,9 @@ static void __init dump_acpi_table_heade
 
 }
 
+static struct acpi_ivrs_memory __initdata user_ivmds[8];
+static unsigned int __initdata nr_ivmd;
+
 #define to_ivhd_block(hdr) \
     container_of(hdr, const struct acpi_ivrs_hardware, header)
 #define to_ivmd_block(hdr) \
@@ -1087,7 +1090,7 @@ static int __init parse_ivrs_table(struc
 {
     const struct acpi_ivrs_header *ivrs_block;
     unsigned long length;
-    unsigned int apic;
+    unsigned int apic, i;
     bool_t sb_ioapic = !iommu_intremap;
     int error = 0;
 
@@ -1122,6 +1125,12 @@ static int __init parse_ivrs_table(struc
         length += ivrs_block->length;
     }
 
+    /* Add command line specified IVMD-equivalents. */
+    if ( nr_ivmd )
+        AMD_IOMMU_DEBUG("IVMD: %u command line provided entries\n", nr_ivmd);
+    for ( i = 0; !error && i < nr_ivmd; ++i )
+        error = parse_ivmd_block(user_ivmds + i);
+
     /* Each IO-APIC must have been mentioned in the table. */
     for ( apic = 0; !error && iommu_intremap && apic < nr_ioapics; ++apic )
     {
@@ -1362,3 +1371,80 @@ int __init amd_iommu_get_supported_ivhd_
 {
     return acpi_table_parse(ACPI_SIG_IVRS, get_supported_ivhd_type);
 }
+
+/*
+ * Parse "ivmd" command line option to later add the parsed devices / regions
+ * into unity mapping lists, just like IVMDs parsed from ACPI.
+ * Format:
+ * ivmd=<start>[-<end>][=<bdf1>[-<bdf1>'][,<bdf2>[-<bdf2>'][,...]]][;<start>...]
+ */
+static int __init parse_ivmd_param(const char *s)
+{
+    do {
+        unsigned long start, end;
+        const char *cur;
+
+        if ( nr_ivmd >= ARRAY_SIZE(user_ivmds) )
+            return -E2BIG;
+
+        start = simple_strtoul(cur = s, &s, 16);
+        if ( cur == s )
+            return -EINVAL;
+
+        if ( *s == '-' )
+        {
+            end = simple_strtoul(cur = s + 1, &s, 16);
+            if ( cur == s || end < start )
+                return -EINVAL;
+        }
+        else
+            end = start;
+
+        if ( *s != '=' )
+        {
+            user_ivmds[nr_ivmd].start_address = start << PAGE_SHIFT;
+            user_ivmds[nr_ivmd].memory_length = (end - start + 1) << PAGE_SHIFT;
+            user_ivmds[nr_ivmd].header.flags = ACPI_IVMD_UNITY |
+                                               ACPI_IVMD_READ | ACPI_IVMD_WRITE;
+            user_ivmds[nr_ivmd].header.length = sizeof(*user_ivmds);
+            user_ivmds[nr_ivmd].header.type = ACPI_IVRS_TYPE_MEMORY_ALL;
+            ++nr_ivmd;
+            continue;
+        }
+
+        do {
+            unsigned int seg, bus, dev, func;
+
+            if ( nr_ivmd >= ARRAY_SIZE(user_ivmds) )
+                return -E2BIG;
+
+            s = parse_pci(s + 1, &seg, &bus, &dev, &func);
+            if ( !s || seg )
+                return -EINVAL;
+
+            user_ivmds[nr_ivmd].start_address = start << PAGE_SHIFT;
+            user_ivmds[nr_ivmd].memory_length = (end - start + 1) << PAGE_SHIFT;
+            user_ivmds[nr_ivmd].header.flags = ACPI_IVMD_UNITY |
+                                               ACPI_IVMD_READ | ACPI_IVMD_WRITE;
+            user_ivmds[nr_ivmd].header.length = sizeof(*user_ivmds);
+            user_ivmds[nr_ivmd].header.device_id = PCI_BDF(bus, dev, func);
+            user_ivmds[nr_ivmd].header.type = ACPI_IVRS_TYPE_MEMORY_ONE;
+
+            if ( *s == '-' )
+            {
+                s = parse_pci(s + 1, &seg, &bus, &dev, &func);
+                if ( !s || seg )
+                    return -EINVAL;
+
+                user_ivmds[nr_ivmd].aux_data = PCI_BDF(bus, dev, func);
+                if ( user_ivmds[nr_ivmd].aux_data <
+                     user_ivmds[nr_ivmd].header.device_id )
+                    return -EINVAL;
+                user_ivmds[nr_ivmd].header.type = ACPI_IVRS_TYPE_MEMORY_RANGE;
+            }
+        } while ( ++nr_ivmd, *s == ',' );
+    } while ( *s++ == ';' );
+
+    return s[-1] ? -EINVAL : 0;
+}
+custom_param("ivmd", parse_ivmd_param);



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 07:26:28 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 07:26:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172744.315220 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ9mO-00035N-Ea; Thu, 26 Aug 2021 07:26:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172744.315220; Thu, 26 Aug 2021 07:26:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ9mO-00035G-BZ; Thu, 26 Aug 2021 07:26:28 +0000
Received: by outflank-mailman (input) for mailman id 172744;
 Thu, 26 Aug 2021 07:26:26 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HXzX=NR=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJ9mM-00034u-PT
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 07:26:26 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id eb64cb52-063e-11ec-a9d2-12813bfff9fa;
 Thu, 26 Aug 2021 07:26:25 +0000 (UTC)
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur03lp2055.outbound.protection.outlook.com [104.47.9.55]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-23-0P5mbWwxObeMj1qUTn_XCg-1; Thu, 26 Aug 2021 09:26:23 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB3118.eurprd04.prod.outlook.com (2603:10a6:802:a::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Thu, 26 Aug
 2021 07:26:22 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Thu, 26 Aug 2021
 07:26:22 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0169.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1c::13) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.20 via Frontend Transport; Thu, 26 Aug 2021 07:26: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: eb64cb52-063e-11ec-a9d2-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629962784;
	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=R/goTfdL/PnsbevthFatCZoj5EcMqD86D+FWqPE8dDw=;
	b=PSHXpg5AwBL8sJhYy6AZXUg+gpwlLpJmMcJ1ERqT6spMX4WbgXgRopCIN9lyDTx/GLRghI
	ZZ8MtcqNRKFI7VE2+oDeqwKw8PzjCx/nqMb2LEHpYqUTzPRPb26VF1kGECydvnLBO1L+pN
	Ag0hPnlzgUNymOULOVmnc+X775nVSvQ=
X-MC-Unique: 0P5mbWwxObeMj1qUTn_XCg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=beRlLcbUnmYBT6jI4YMYPP+lNq0kFlP+nYpDF2f89Qh4y8kjGptKpQrQcdeY4ai6I/f5GNTz6LsFW6sqOlCI6o/HV4O3W+okj/+3Tr6cXT1yc6JY0jnywEoRO59RnRY8SotMsb6wVh8zdrdyZDChBZuiPYcxxBBm4yzqZEGpPo0SfGTtlv+6WreEA1nO9WxZTc/m8Pww5L3+qXMo38MqZ0eFaXXBSp2zSBHmmw/sDNGJ2sFD8Cwik29zTfHLE+vBbLZbCnEc+YZ7v/aETCrfcmz1tCuSqNVo3UtbyIkuYl9uOPC4akhi7Zj2T9apyoIu3w62vuoc3j+trYTU5YAuaQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=R/goTfdL/PnsbevthFatCZoj5EcMqD86D+FWqPE8dDw=;
 b=cVb4rPMaKnR7WMywKYzQqgyiuY5od/9wx7CGFB+iYG0WPNaJGmBslNlUOZNITfZel9YoWkIuvUKKOENhnM8YaZjZLOi2GlTo5KH+85uLWt622NoP6DPbX5cfYVokwDZP5P1/rj31GbujF/la1HNafeD9K2rbRQUNgNkllQHfas7gSIGrR0kLu0c3LMU9zUolO9xbRY0lpMf8r3kM9oYKO7/Fc2+vnSgVIImFtpMcMVj3f9RJqdlBpdXXF2tC39b3KshPrKERZ6pAfEA/ATakbYb0LUjrHMGyOas/uD4f0TnefACL5i/3DoaAwyGyfNJcmes2DkSDsIQl3BwKgODclA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: [PATCH v7 8/8] AMD/IOMMU: respect AtsDisabled device flag
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>
References: <bf4b3be9-1274-9750-7340-08b29dcecfd3@suse.com>
Message-ID: <6807e3ab-375c-884c-db01-0c25f76b8f02@suse.com>
Date: Thu, 26 Aug 2021 09:26:20 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <bf4b3be9-1274-9750-7340-08b29dcecfd3@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0169.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1c::13) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 63ba91d2-cd07-41f2-942b-08d96862ce27
X-MS-TrafficTypeDiagnostic: VI1PR04MB3118:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB31181F8C3410DD1F58742F17B3C79@VI1PR04MB3118.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qqKcYTtTq4F9UAfJw5zxa+rwK9/sQ8FONK+wSjPN6aFbWXJ0sks5M6JpKi7tWJqaV97PzgSoxu+JycL02lpiflXqHDVT3MxutkbiEczQZ+p4v6oOF1eGl1S2EEzGh5K/SEd1fzjhD3+QyfZneIO5q6AU43Ez6MPjyteFb8Gr0A6hTtYSiEQa4N1ZRpJqLQva+zqlI41ZMAPsgmVp7b3I7iMCrSWziy5rIR8qGAbU+VjrVTSWZPq/j2NiPw1EzienNXjaLerz240brAmx5MpA5GHpgQ9OrYzLihFqtF4WzWRwVC6fT8xJje9rNWI3rX9qtaUlc9EsfrBXMmqED1R+COJF9F0vAm9CltNBkkYGc3Gwo0UTrMseH0DAsySiDqO89XLeK1C5rvIkG80rKeQup4b/zgo9F7ZuXaA5awqhA4NEe1AQ2mgjWJgRb1RW2c+VJcg8VSfu3KvZ4Usj1FxN6jHi+iRZdQms9D9nb8u+bpvvc9OX5YOFtVtRgJjls38NVw5jEE/ef3OTcVSKM2lVb6E/TMzdRLHYAEAduoS5fnkW9jTZnyCzG9dcEh8CGwmJQEWcxL7HfGYkT4hP/Km1+k6NQysx20HZ/bRV0ufhudqKSj1I5et4Xbbm+rvcF53pErhehfyurf0aN0cpgjFAKjJtpPovT3jvoXL5QCZOsYiNpe1flQyYP8Gmtr4MEHn2Y8put83D0TWxF1rJHJC3GPfMWtkYCEyeHr1UDKtB/ig=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(6486002)(8936002)(66556008)(31686004)(66476007)(956004)(2616005)(2906002)(8676002)(66946007)(38100700002)(498600001)(5660300002)(36756003)(54906003)(16576012)(31696002)(26005)(83380400001)(4326008)(6916009)(186003)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Wk5XZzNnQW9CMzJPOUVlM2xPaHlNSEh0Z2YyejRoV09adDRzeUUrRTZJZ0dq?=
 =?utf-8?B?b2lxQmQxaFIzVEY5Nk00KzhkcGQzSzRRS0Iya1FOdlB5SS9mVUJOUVhyc0V6?=
 =?utf-8?B?ZlUzN1FRQWhXV2daSHB0a2J6MVg5cTl4M1lTa2lHMmZLaWZPbEoyemxpMXhV?=
 =?utf-8?B?MWV0a3BPejMxMDY0ZkU0dWZpeGVTenlENUxlMVM4SXhIOHQxYXBqTmN2WVFC?=
 =?utf-8?B?TWszU1d1S2NYSXlyeVBNOGliVkRwN2ZvV1U5anpjMlFiN3J1N3JQV3dBc0Nk?=
 =?utf-8?B?dXkrZ0g0ODY4a3A5ZEtpcU9YVDVBVll2aCtHRXA0eWtYQzh4cFAwUXljUVJD?=
 =?utf-8?B?Y01mN0czV3lTcTlwSU1OL2xGM1kyd0dHQUFJRWIxdnpJT20rUkhkeFZTcVk4?=
 =?utf-8?B?RncyQ3MrNE0ycHI0cENMenlFd1ZlQithZlZHUHpwOFNPajRZUDRSc2c5RDVC?=
 =?utf-8?B?dUNzeVlic2wwcUlQQmlVV0RnQTI5cVpGMUFYdWVoeEVDd2ljbFFSS0lML1M3?=
 =?utf-8?B?SEhBT29RTFJKZjMwZWxGUjk5czc5WU5NVHdYNW1XNVVWc1VzWldVMU9DM0Jw?=
 =?utf-8?B?NEFwRmdnc0U1NkpXNnVsR3pMRFRncHJ4ZUMvVjVDUHZ4TWRwejloVmJQVENK?=
 =?utf-8?B?R29aY2dKZnQvZXE0NWxXWVZEc2JEb1QwWmY4SzBLaHRZUjBPUERWNTc3MUlD?=
 =?utf-8?B?Ymg3c01sT2k1dlE3d2lNY28zVGo5eVpFWjF2bHhVcUl3RWoyN1Y3Qk5WMlNz?=
 =?utf-8?B?ZTROVUg1QjJ1UG1HTkZ3MGZtYU1TVEdyNk5reURyUzZDRW1sRU1pK2JjT1Nw?=
 =?utf-8?B?dmI2ZnFIcGN5endiOWg5N3VkcFlzK3dLTjhmR0ZYWmMxUTEwM1JjV2p0TkZz?=
 =?utf-8?B?TTJ3aHp3TVIwSzRiUStBOXlyeUgxR2VXSlYzSE5mUGpveUJkdElSRFB2S2p5?=
 =?utf-8?B?dnY5UmhDdmxKSHdnbXh5dGRwZFR1dkc2ZS9Wd0NpdzR0dzFWdXArVmVteE1C?=
 =?utf-8?B?V0V3YlJEYWRaMnh5SWR0Ym9mVFgra2FPK1NDdmdYUjVCTTZva0xUT1dsR1Vy?=
 =?utf-8?B?Q0NpTldreURrb0xPb2E5eFJMTGVnWHRJbkZUaVNscDJldjFxcWdORjVILzhN?=
 =?utf-8?B?WURuRVRSK1A5QStVT1hDeFNSeFFMcC9pNXdueWhkSEVxQzVkN0RHbUwvZmZN?=
 =?utf-8?B?WS9yVzZDak5BWEM1TkVHKzlYNTRvd21xUXAxdFpObElWZEpiS2JZcDRJZ0ox?=
 =?utf-8?B?YnJ5Mk5SNWQzdVpaWUhxRWRuOHFpMkwvTUUxMUtwZThYZkJDUDdDeXh5SzJh?=
 =?utf-8?B?V3pXTUxSbnZVK3R6WnFjbjk5ektkdXJEWm9IUjNjTHJpYm40bGlhZ2dDV3dz?=
 =?utf-8?B?ZEJHY0V1aTM1blZWMEVzdzBoNXhPV2xQYUZyMys1c2Nvdk55N20rNmVMSHRn?=
 =?utf-8?B?cVlkV0h6RXBac3gwWjQ2aXhRQjJmbjVQeURVVTUzMTJLNlVGa3Bkejlkelk5?=
 =?utf-8?B?MXM0TFI5Rnk1VVVlOFg1cm04VHRGNllqZWRRVjUxaUh3MVNOTHJhWXRQSS9s?=
 =?utf-8?B?MHZrUXYrRkFMZzFKUmNiZ3RwcmFLQ2hYUUtDTFg3MnpFNFVPQUh6a1ZrOGdh?=
 =?utf-8?B?aHdZaTA3YjYxWjhGNSsrNS9HaVdsR1QwUFZjdHViQTZEaUdWY2tGWGJTVFFi?=
 =?utf-8?B?eHlhSHBCWVRUZDBaVHU4TTN1aFlXOEVTaXlVOWxxVUMrL05wcDlWRHFpMjlV?=
 =?utf-8?Q?zBPp2WgPe0Hk5aX/0msVSHx4EAFiDga5CS+1brJ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 63ba91d2-cd07-41f2-942b-08d96862ce27
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 07:26:22.5689
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: cDHIZFBOe/5payTgM2ioAsIfvEyT2k+DiA11g/LQCN24VAsM0eYg1Xwc7uH2QbGQJHNEGlFr/T5cNx5Kh3G1rQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3118

IVHD entries may specify that ATS is to be blocked for a device or range
of devices. Honor firmware telling us so.

While adding respective checks I noticed that the 2nd conditional in
amd_iommu_setup_domain_device() failed to check the IOMMU's capability.
Add the missing part of the condition there, as no good can come from
enabling ATS on a device when the IOMMU is not capable of dealing with
ATS requests.

For actually using ACPI_IVHD_ATS_DISABLED, make its expansion no longer
exhibit UB.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
TBD: I find the ordering in amd_iommu_disable_domain_device()
     suspicious: amd_iommu_enable_domain_device() sets up the DTE first
     and then enables ATS on the device. It would seem to me that
     disabling would better be done the other way around (disable ATS on
     device, then adjust DTE).
TBD: As an alternative to adding the missing IOMMU capability check, we
     may want to consider simply using dte->i in the 2nd conditional in
     amd_iommu_enable_domain_device().
For both of these, while ATS enabling/disabling gets invoked without any
locks held, the two functions should not be possible to race with one
another for any individual device (or else we'd be in trouble already,
as ATS might then get re-enabled immediately after it was disabled, with
the DTE out of sync with this setting).
---
v7: New.

--- a/xen/drivers/passthrough/amd/iommu.h
+++ b/xen/drivers/passthrough/amd/iommu.h
@@ -120,6 +120,7 @@ struct ivrs_mappings {
     uint16_t dte_requestor_id;
     bool valid:1;
     bool dte_allow_exclusion:1;
+    bool block_ats:1;
 
     /* ivhd device data settings */
     uint8_t device_flags;
--- a/xen/drivers/passthrough/amd/iommu_acpi.c
+++ b/xen/drivers/passthrough/amd/iommu_acpi.c
@@ -55,8 +55,8 @@ union acpi_ivhd_device {
 };
 
 static void __init add_ivrs_mapping_entry(
-    uint16_t bdf, uint16_t alias_id, uint8_t flags, bool alloc_irt,
-    struct amd_iommu *iommu)
+    uint16_t bdf, uint16_t alias_id, uint8_t flags, unsigned int ext_flags,
+    bool alloc_irt, struct amd_iommu *iommu)
 {
     struct ivrs_mappings *ivrs_mappings = get_ivrs_mappings(iommu->seg);
 
@@ -66,6 +66,7 @@ static void __init add_ivrs_mapping_entr
     ivrs_mappings[bdf].dte_requestor_id = alias_id;
 
     /* override flags for range of devices */
+    ivrs_mappings[bdf].block_ats = ext_flags & ACPI_IVHD_ATS_DISABLED;
     ivrs_mappings[bdf].device_flags = flags;
 
     /* Don't map an IOMMU by itself. */
@@ -499,7 +500,7 @@ static u16 __init parse_ivhd_device_sele
         return 0;
     }
 
-    add_ivrs_mapping_entry(bdf, bdf, select->header.data_setting, false,
+    add_ivrs_mapping_entry(bdf, bdf, select->header.data_setting, 0, false,
                            iommu);
 
     return sizeof(*select);
@@ -545,7 +546,7 @@ static u16 __init parse_ivhd_device_rang
     AMD_IOMMU_DEBUG(" Dev_Id Range: %#x -> %#x\n", first_bdf, last_bdf);
 
     for ( bdf = first_bdf; bdf <= last_bdf; bdf++ )
-        add_ivrs_mapping_entry(bdf, bdf, range->start.header.data_setting,
+        add_ivrs_mapping_entry(bdf, bdf, range->start.header.data_setting, 0,
                                false, iommu);
 
     return dev_length;
@@ -580,7 +581,7 @@ static u16 __init parse_ivhd_device_alia
 
     AMD_IOMMU_DEBUG(" Dev_Id Alias: %#x\n", alias_id);
 
-    add_ivrs_mapping_entry(bdf, alias_id, alias->header.data_setting, true,
+    add_ivrs_mapping_entry(bdf, alias_id, alias->header.data_setting, 0, true,
                            iommu);
 
     return dev_length;
@@ -636,7 +637,7 @@ static u16 __init parse_ivhd_device_alia
 
     for ( bdf = first_bdf; bdf <= last_bdf; bdf++ )
         add_ivrs_mapping_entry(bdf, alias_id, range->alias.header.data_setting,
-                               true, iommu);
+                               0, true, iommu);
 
     return dev_length;
 }
@@ -661,7 +662,8 @@ static u16 __init parse_ivhd_device_exte
         return 0;
     }
 
-    add_ivrs_mapping_entry(bdf, bdf, ext->header.data_setting, false, iommu);
+    add_ivrs_mapping_entry(bdf, bdf, ext->header.data_setting,
+                           ext->extended_data, false, iommu);
 
     return dev_length;
 }
@@ -708,7 +710,7 @@ static u16 __init parse_ivhd_device_exte
 
     for ( bdf = first_bdf; bdf <= last_bdf; bdf++ )
         add_ivrs_mapping_entry(bdf, bdf, range->extended.header.data_setting,
-                               false, iommu);
+                               range->extended.extended_data, false, iommu);
 
     return dev_length;
 }
@@ -800,7 +802,7 @@ static u16 __init parse_ivhd_device_spec
 
     AMD_IOMMU_DEBUG("IVHD Special: %pp variety %#x handle %#x\n",
                     &PCI_SBDF2(seg, bdf), special->variety, special->handle);
-    add_ivrs_mapping_entry(bdf, bdf, special->header.data_setting, true,
+    add_ivrs_mapping_entry(bdf, bdf, special->header.data_setting, 0, true,
                            iommu);
 
     switch ( special->variety )
--- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
+++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
@@ -105,6 +105,7 @@ static int __must_check amd_iommu_setup_
     int req_id, valid = 1, rc;
     u8 bus = pdev->bus;
     struct domain_iommu *hd = dom_iommu(domain);
+    const struct ivrs_mappings *ivrs_dev;
 
     if ( QUARANTINE_SKIP(domain) )
         return 0;
@@ -122,20 +123,18 @@ static int __must_check amd_iommu_setup_
     req_id = get_dma_requestor_id(iommu->seg, PCI_BDF2(bus, devfn));
     table = iommu->dev_table.buffer;
     dte = &table[req_id];
+    ivrs_dev = &get_ivrs_mappings(iommu->seg)[req_id];
 
     spin_lock_irqsave(&iommu->lock, flags);
 
     if ( !dte->v || !dte->tv )
     {
-        const struct ivrs_mappings *ivrs_dev;
-
         /* bind DTE to domain page-tables */
         amd_iommu_set_root_page_table(
             dte, page_to_maddr(hd->arch.amd.root_table),
             domain->domain_id, hd->arch.amd.paging_mode, valid);
 
         /* Undo what amd_iommu_disable_domain_device() may have done. */
-        ivrs_dev = &get_ivrs_mappings(iommu->seg)[req_id];
         if ( dte->it_root )
         {
             dte->int_ctl = IOMMU_DEV_TABLE_INT_CONTROL_TRANSLATED;
@@ -146,6 +145,7 @@ static int __must_check amd_iommu_setup_
         dte->sys_mgt = MASK_EXTR(ivrs_dev->device_flags, ACPI_IVHD_SYSTEM_MGMT);
 
         if ( pci_ats_device(iommu->seg, bus, pdev->devfn) &&
+             !ivrs_dev->block_ats &&
              iommu_has_cap(iommu, PCI_CAP_IOTLB_SHIFT) )
             dte->i = ats_enabled;
 
@@ -166,6 +166,8 @@ static int __must_check amd_iommu_setup_
     ASSERT(pcidevs_locked());
 
     if ( pci_ats_device(iommu->seg, bus, pdev->devfn) &&
+         !ivrs_dev->block_ats &&
+         iommu_has_cap(iommu, PCI_CAP_IOTLB_SHIFT) &&
          !pci_ats_enabled(iommu->seg, bus, pdev->devfn) )
     {
         if ( devfn == pdev->devfn )
--- a/xen/include/acpi/actbl2.h
+++ b/xen/include/acpi/actbl2.h
@@ -851,7 +851,7 @@ struct acpi_ivrs_device8b {
 
 /* Values for extended_data above */
 
-#define ACPI_IVHD_ATS_DISABLED      (1<<31)
+#define ACPI_IVHD_ATS_DISABLED      (1u << 31)
 
 /* Type 72: 8-byte device entry */
 



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 07:27:08 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 07:27:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172749.315232 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ9my-0003if-Ob; Thu, 26 Aug 2021 07:27:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172749.315232; Thu, 26 Aug 2021 07:27:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ9my-0003iY-LQ; Thu, 26 Aug 2021 07:27:04 +0000
Received: by outflank-mailman (input) for mailman id 172749;
 Thu, 26 Aug 2021 07:27:03 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=J+8W=NR=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mJ9mx-0003hf-Hx
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 07:27:03 +0000
Received: from EUR03-AM5-obe.outbound.protection.outlook.com (unknown
 [40.107.3.48]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c795e812-1255-4345-867e-1cc035e533e5;
 Thu, 26 Aug 2021 07:27:00 +0000 (UTC)
Received: from AS8PR04CA0010.eurprd04.prod.outlook.com (2603:10a6:20b:310::15)
 by AM8PR08MB5651.eurprd08.prod.outlook.com (2603:10a6:20b:1c4::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Thu, 26 Aug
 2021 07:26:55 +0000
Received: from AM5EUR03FT011.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:310:cafe::71) by AS8PR04CA0010.outlook.office365.com
 (2603:10a6:20b:310::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17 via Frontend
 Transport; Thu, 26 Aug 2021 07:26:55 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT011.mail.protection.outlook.com (10.152.16.152) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Thu, 26 Aug 2021 07:26:55 +0000
Received: ("Tessian outbound 32695b2df2f8:v103");
 Thu, 26 Aug 2021 07:26:55 +0000
Received: from bcfc66db3996.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 8347EF50-D2C9-4A8F-BD02-E49120D95EBF.1; 
 Thu, 26 Aug 2021 07:26:44 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id bcfc66db3996.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 26 Aug 2021 07:26:44 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB9PR08MB6505.eurprd08.prod.outlook.com (2603:10a6:10:23e::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Thu, 26 Aug
 2021 07:26:43 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.024; Thu, 26 Aug 2021
 07:26: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: c795e812-1255-4345-867e-1cc035e533e5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dcepO3YwAqQF4g357xfzB3MMI6heacQgv7cTAtMWD2Y=;
 b=IyT/7+Tl+H0zFJjhBxowmvk/wu4tzjsMX8UZnadUbNvoSYrMMGn8/FMhNPAP5ge019kJEA65kMHVhIHYKzy1nJpH7HiF/S86nmEPEnnH0nSBaHx9H1fjwefg1yUInLEZY4+ciwelRcvoXLVJ7pmjPXSNBMP7McCtRxk2UqXi+YE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Xm4XmVJ1+xSAEzgIF9cxAPP5BQ8ifN8RhLN+r7JC6KsDNv7PaE5LJzEg2EV+RFz8S6J4WhVgblHZY41zkZglRt31GnPbNWJKcov1iTC5vPTT4uUX+6YyHudGr0KaRPvKhQcd2jD2iCKe6WrzpQF9OM/ZsesPg4KvTcwAk9wGQVp4tutPAIkAgptqPZAZ+IMsqZT8daZnjBQYUMXHT97kYVIxaR85BYmR91WF0sOSaWtp3TYShTFins12CVGyi+jj8FeOPTBiW54cE7l2aY7v0kCAFDbP1fEtrTwiAdiuasYwvTx9kFJuE5IcfhlSVCklyITsHR6E9VCT7Yb9nt0TnA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dcepO3YwAqQF4g357xfzB3MMI6heacQgv7cTAtMWD2Y=;
 b=VjwQzbGbCgfsRgnzi0zBoVIfZcHSSqYRTcJUMjUWfOeZ8LMyu30378JGNEvL1Sfe1quCzBzUOhnljMJ2Ld1cvRs7BY8BCeaoC362hmNi06oN+yxNzdsOdRnkJrieKcJeFv7nzgUXyXoUG+Wiamq6t0XLOxl2byGH+KGGAlg9ttTDSmOaBDzzVIbamoOwFIkg4VixeqeKkCkI/Ko0WiVnw6yalephefkgr4dDobYPmGgnkH1+H5VWZl3tlsuhfrKPbNtwI/yzhFJmvG+WmEdn8BH223N73nZumudc2sGO9P4mQxs0g6Vys0ONQoKp+SQ7gCxOEP1ZRBvp7zkLmsZrdg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dcepO3YwAqQF4g357xfzB3MMI6heacQgv7cTAtMWD2Y=;
 b=IyT/7+Tl+H0zFJjhBxowmvk/wu4tzjsMX8UZnadUbNvoSYrMMGn8/FMhNPAP5ge019kJEA65kMHVhIHYKzy1nJpH7HiF/S86nmEPEnnH0nSBaHx9H1fjwefg1yUInLEZY4+ciwelRcvoXLVJ7pmjPXSNBMP7McCtRxk2UqXi+YE=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 27/40] xen/arm: build CPU NUMA node map while
 creating cpu_logical_map
Thread-Topic: [XEN RFC PATCH 27/40] xen/arm: build CPU NUMA node map while
 creating cpu_logical_map
Thread-Index: AQHXjptIMAmulM0QRkycTkQ5UeyYAauEifIAgADv7oA=
Date: Thu, 26 Aug 2021 07:26:43 +0000
Message-ID:
 <DB9PR08MB6857E33AB16EE4520E9E2C349EC79@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-28-wei.chen@arm.com>
 <59529fea-199d-09af-dbb3-a5067ec86550@xen.org>
In-Reply-To: <59529fea-199d-09af-dbb3-a5067ec86550@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 2812E5D3823BF041B5E430EACF29A406.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 3b5ddb69-010f-405e-8a0c-08d96862e1c5
x-ms-traffictypediagnostic: DB9PR08MB6505:|AM8PR08MB5651:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM8PR08MB5651E6947B37E802817BBFBB9EC79@AM8PR08MB5651.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:586;OLM:586;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 Q7ZuqWCzazrf7MityT6a/QhOHLAgAQkwUxL/jJhqKmzjdzaONFZONW/cLXUNbizeUS7sEl7YYvDgXKDbKxK86QxdgCkS0HZqW3YYcAZY50I8gj5xAJ37eofe69daCdQb3H8Fy38DDUazEItvpwz/zBKeQTzwFTLIizqFrnNr5EcyDdRUhDC6JqQS0aoBfSvwGIQZAkGwRylKN6H4FRR8QP45XD+PppCvcyCUhgVYPGlOMIJ3bNW94oNHn2XYQUHxjq2UE1TCeHOAp3fHJN+juKwZwLlHnzVT+3/SKdNW0OBJL9gtb7TjviPsV6OizaKSlK8lFaoPg24XiAF2ipO3jFYDS4I1pVlxhvNu0nnxpjRJNEySl2AroZJmtPnz1/ORpM5BRCV6CnrLmfK/818W//zgnlGqI3BhHyCVPfIkcN+wNRU3UfoHlnMtBKjsLTcQi5t2xyBoKNy2K7SLOZwHjpp9zWZctVryMspzoNu96hFktt1meQJUFo41s65NQeI5klzgPqDlJqRjShO8u1ohZdrl0ADURw3mggTGbiLQkAueAmTTOfPKngUxJl0DQZbsXUoHTNNJ/295apjjStyXZ/6MQZ7tGg3pZsoA/6rtjODSxj7WF1DFzU1bB9U4QoLy0iKdwH9OpALwaM76cJwq1AsqyevWZvvQo66EimSvxDU5eszoiKHd9OBCqTJvylbxIWliuBNjTWNGXbozNYlXaA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(39860400002)(376002)(396003)(346002)(136003)(38100700002)(8936002)(122000001)(26005)(66476007)(76116006)(66556008)(478600001)(66946007)(53546011)(8676002)(186003)(33656002)(71200400001)(66446008)(38070700005)(64756008)(9686003)(4326008)(5660300002)(2906002)(7696005)(110136005)(55016002)(86362001)(6506007)(83380400001)(52536014)(316002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?bTl5bG85TWhiUDZQZ255SDZXSXNZNUhqZC9MYVljckl2a0t1bEVZRU1ZRWhV?=
 =?utf-8?B?TnU0RjFKVVpyeFcvOTl0SDRQbU90dDBybjRrbm5jVmlGdzR6TjNsQkNwTXp0?=
 =?utf-8?B?SWpNc1A0OVVCcjg4b3pyZVY3SmxGUnRrV3U1VVR6UDc3WEQyNm5sdnRKTFlU?=
 =?utf-8?B?eFBRR05maEdiT0FHaHIyY1kzNjc5bHVHTjBRWmM3MElIbnRwV0JnVVg3S3Rq?=
 =?utf-8?B?NFhDZ2wyNjZ4OUF5ajVjaWN4U1pFT1BKYkZzeDBjWm1xQ2poUDZNNC9Hdkkr?=
 =?utf-8?B?VkxSWUtoR3VLVE14OHpmZ0QyTFNDQ1lNN2t2bDlncDRVcUcybStYYm15MjBU?=
 =?utf-8?B?WDFiTGIzaSs5R0xGQ3N5MEF2QjV6eWllS21Id0JoQjVYSzdIV2NjaVpJaHFh?=
 =?utf-8?B?K3Ywc1lTTUFrdjBYRWQzVFloK0NYeVdwUytSM2JuOEVncFpLelgrVVVLekRD?=
 =?utf-8?B?MDg4NzJCNnA2cm9RU0l5cW1vNUYybmdoRGh4eUxBYWhJblYvaEVaYWpCZTVC?=
 =?utf-8?B?QWtJVnBaUjJyY0NOMXVpaUNTa1VSVS9QbXNvdDgwOWVmOUVHaFkveXc0OFZG?=
 =?utf-8?B?a3JiOGN3NGMyY2dTTU5PMnZCWjZYYUdXZ2RDK0s3dXRpTGo5dkdINURBSTVX?=
 =?utf-8?B?ZnNyanQ1TXdTbGtHRlJkbUhOMUxjSlFkVU1LbG1UMXA0cDRJMitWcmcxZFhG?=
 =?utf-8?B?OUdvYlBMR21CcnFCeEdhVGdJQlBTMGtMb3dMVnptRGh4QUJQZWs2WlRUU1VK?=
 =?utf-8?B?b2p5aXBnMysxdmxYU1lYWXVqN01zRG5MeGVWNFBOY2E1RlMvcEhweERWMTAr?=
 =?utf-8?B?d2twVFZoazdUaXRxeXZacHZNRk53dGd1dkdOM0EyN3d2dDhaa2tmdGJKRXdi?=
 =?utf-8?B?SVRmZ1ZFUFdLZkJYU0ZwZng0SHo0WHl6c09HL2oxYkYxMVpBd29NUjJRSURh?=
 =?utf-8?B?aklOQThxYzJFVFNrWUt1RnF6SVBhR2RnQ2c5NkpRQ2YzNXFYVXhQU0cwc2Z0?=
 =?utf-8?B?N2E3VHJGbUZDSDBHS1c4TkljaUN0bUlkNXg5eFhrS2lQWXRld2drR2FZbks2?=
 =?utf-8?B?djViRmVtNFNOcVB1RHBndU5mN1E5bnB5Y01WZjA2RlFSN0J5MVBHRG9INzRG?=
 =?utf-8?B?dnBiR3pqa1VrSm44ZjhMSlgyK1V6QlVNK2ZnZlVOK2pZb0JZWGtDNXFyOERK?=
 =?utf-8?B?UHR3dlVPSHgvMkpkNUV0RW52eTcwTDV0OUx2VXk2bWhDMlA2ais5ekkvWVpF?=
 =?utf-8?B?aFBweGdPMmQvUlBEQ29nVXZIY2lVbnQrRktVY1dReEhHdk9YT2U4cUo1OFFw?=
 =?utf-8?B?dDhRMDRybUdvVVorb0hFZE5TU3oxbys2TDBNVm5ZbWVrdDVsMXlLOUFORjFp?=
 =?utf-8?B?a1lhaTc2eUJQd3lvZWdsWjFrb0x4SUt2eW0rb1lRRXNXWm16WVRvVkRzSVFD?=
 =?utf-8?B?VnhWQW9kZ2M3ZTZJSGEzZGpCMEowZ3hwRlpLcFZ6c3dKU2laZVN5VWRhSitE?=
 =?utf-8?B?b2RMNG5MbnpOYkc3QWpzOXE2MnlkNkFDWGl0SUJPRHJlWUI3UnlrZTB5TWdz?=
 =?utf-8?B?ekUzeUJuTEV1bzR0U3JJUXE4KzIveXY5b3lEVEFUUHdUakZtZmFkbG5ZWXVY?=
 =?utf-8?B?SXRKNjdWd2hVSStnc2FTNFNvVVhKc1NQWUs5UndOZTNwSm1rMy9nN2NpeVND?=
 =?utf-8?B?UFhaVVJMV0RGVUJUQVk5RTVQa2ZXTmdBUmF4bzljNG0rOUV6bnVXdGhKd3VW?=
 =?utf-8?Q?leghXCBPMXA3cCpM5PqsRhYHL8O24fKjcfjdmXq?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6505
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT011.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	cb915341-6571-4776-be85-08d96862dac2
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	T+90WM4HCPb1/sv50IH4MOt/+fkulsmJo2i+yxE6cWlvaJbq3T9Nh8Mhl95UMXZb05BrcKhogt4LXIK2F/VyNJSjHfhGasbYChi8m9syl2zbrLdS77yE01uh2RA+pYrWjtO9mZ+TdxKXd0pUCeFVkds6VYcu2MLOKrJCjazmwH7Uit9kkQIMDeakizUqs6hzhGaqis0GJGfBn9y0bAMF9Cm//sxXvfF/FI+rI7RphbCQeofrzZLBx7gCeCwtaUptiB0W/X+V0QLXaL13VTZYT+8iJyuDXViskx/9yB6w1JtBNewPwC4NRuxqZZHgH48WVlRGeNu37YWr+W0SbgPdXvnbGztnwaXSKeWnSoLAm98aunuBUP08vHYmQun53xjCTY+5PppMf89OXul2vkI3YAHH6k3NyWCIP24jsAK1F92bwCb1c1GqgZcTHgVoO6Ye+0uoyxlV5qQBuJsUf1M1AwyNUoXWOYCW0oNYX5kn4nUoimEsU1n5mKDM3D9xCQmfQ7HtaCrisi4Yp2QMx4cB+ufis0TEGM/yewteGCAkIyElSbnSpr9926oksU10xtWVn0UdUYdRE4GHir/j0hT+gkJe1xUth0e22ePINkGEzqlWnjZH8ZZh14pLbU1YLxiR/+bhQbuVhhwvPPtF1+Puy60D3Mq0bEtcQRWiN1Fb3rTkRJZ4EHk2dGVp/2YOiXVwd+pa2ss5nff4bQvpExE/hg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(396003)(39860400002)(376002)(346002)(136003)(46966006)(36840700001)(2906002)(83380400001)(9686003)(33656002)(8936002)(5660300002)(81166007)(82740400003)(86362001)(8676002)(356005)(36860700001)(52536014)(478600001)(55016002)(186003)(26005)(7696005)(336012)(47076005)(110136005)(316002)(82310400003)(70206006)(70586007)(4326008)(53546011)(6506007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 07:26:55.2909
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3b5ddb69-010f-405e-8a0c-08d96862e1c5
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT011.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB5651

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMjbml6UgMTowNw0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+OyB4ZW4tZGV2ZWxAbGlzdHMueGVucHJv
amVjdC5vcmc7DQo+IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmcNCj4gQ2M6IEJlcnRyYW5kIE1hcnF1
aXMgPEJlcnRyYW5kLk1hcnF1aXNAYXJtLmNvbT47IEphbiBCZXVsaWNoDQo+IDxqYmV1bGljaEBz
dXNlLmNvbT4NCj4gU3ViamVjdDogUmU6IFtYRU4gUkZDIFBBVENIIDI3LzQwXSB4ZW4vYXJtOiBi
dWlsZCBDUFUgTlVNQSBub2RlIG1hcCB3aGlsZQ0KPiBjcmVhdGluZyBjcHVfbG9naWNhbF9tYXAN
Cj4gDQo+IEhpIFdlaSwNCj4gDQo+IE9uIDExLzA4LzIwMjEgMTE6MjQsIFdlaSBDaGVuIHdyb3Rl
Og0KPiA+IFNvbWV0aW1lcywgQ1BVIGxvZ2ljYWwgSUQgbWF5YmUgZGlmZmVyZW50IHdpdGggcGh5
c2ljYWwgQ1BVIElELg0KPiA+IFhlbiBpcyB1c2luZyBDUFUgbG9naWFsIElEIGZvciBydW50aW1l
IHVzYWdlLCBzbyB3ZSBzaG91bGQgdXNlDQo+ID4gQ1BVIGxvZ2ljYWwgSUQgdG8gY3JlYXRlIG1h
cCBiZXR3ZWVuIE5VTUEgbm9kZSBhbmQgQ1BVLg0KPiANCj4gVGhpcyBjb21taXQgbWVzc2FnZSBn
aXZlcyB0aGUgaW1wcmVzc2lvbiB0aGF0IHlvdSBhcmUgdHJ5aW5nIHRvIGZpeCBhDQo+IGJ1Zy4g
SG93ZXZlciwgd2hhdCB5b3UgYXJlIGV4cGxhaW5pbmcgaXMgdGhlIHJlYXNvbiB3aHkgdGhlIGNv
ZGUgd2lsbA0KPiB1c2UgdGhlIGxvZ2ljYWwgSUQgcmF0aGVyIHRoYW4gcGh5c2ljYWwgSUQuDQo+
IA0KPiBJIHRoaW5rIHRoZSBjb21taXQgbWVzc2FnZSBzaG91bGQgZXhwbGFpbiB3aGF0IHRoZSBw
YXRjaCBpcyBkb2luZy4gWW91DQo+IGNhbiB0aGVuIGFkZCBhbiBleHBsYW5hdGlvbiB3aHkgeW91
IGFyZSB1c2luZyB0aGUgQ1BVIGxvZ2ljYWwgSUQuDQo+IFNvbWV0aGluZyBsaWtlICJOb3RlIHdl
IHN0b3JpbmcgdGhlIENQVSBsb2dpY2FsIElEIGJlY2F1c2UuLi4iLg0KPiANCj4gDQoNCk9rDQoN
Cj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IFdlaSBDaGVuIDx3ZWkuY2hlbkBhcm0uY29tPg0KPiA+
IC0tLQ0KPiA+ICAgeGVuL2FyY2gvYXJtL3NtcGJvb3QuYyB8IDMxICsrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKy0NCj4gPiAgIDEgZmlsZSBjaGFuZ2VkLCAzMCBpbnNlcnRpb25zKCspLCAx
IGRlbGV0aW9uKC0pDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3NtcGJvb3Qu
YyBiL3hlbi9hcmNoL2FybS9zbXBib290LmMNCj4gPiBpbmRleCBhYTc4OTU4YzA3Li5kZDVhNDVi
ZmZjIDEwMDY0NA0KPiA+IC0tLSBhL3hlbi9hcmNoL2FybS9zbXBib290LmMNCj4gPiArKysgYi94
ZW4vYXJjaC9hcm0vc21wYm9vdC5jDQo+ID4gQEAgLTEyMSw3ICsxMjEsMTIgQEAgc3RhdGljIHZv
aWQgX19pbml0IGR0X3NtcF9pbml0X2NwdXModm9pZCkNCj4gPiAgICAgICB7DQo+ID4gICAgICAg
ICAgIFswIC4uLiBOUl9DUFVTIC0gMV0gPSBNUElEUl9JTlZBTElEDQo+ID4gICAgICAgfTsNCj4g
PiArICAgIHN0YXRpYyBub2RlaWRfdCBub2RlX21hcFtOUl9DUFVTXSBfX2luaXRkYXRhID0NCj4g
PiArICAgIHsNCj4gPiArICAgICAgICBbMCAuLi4gTlJfQ1BVUyAtIDFdID0gTlVNQV9OT19OT0RF
DQo+ID4gKyAgICB9Ow0KPiA+ICAgICAgIGJvb2wgYm9vdGNwdV92YWxpZCA9IGZhbHNlOw0KPiA+
ICsgICAgdWludDMyX3QgbmlkID0gMDsNCj4gPiAgICAgICBpbnQgcmM7DQo+ID4NCj4gPiAgICAg
ICBtcGlkciA9IGJvb3RfY3B1X2RhdGEubXBpZHIuYml0cyAmIE1QSURSX0hXSURfTUFTSzsNCj4g
PiBAQCAtMTcyLDYgKzE3NywyNiBAQCBzdGF0aWMgdm9pZCBfX2luaXQgZHRfc21wX2luaXRfY3B1
cyh2b2lkKQ0KPiA+ICAgICAgICAgICAgICAgY29udGludWU7DQo+ID4gICAgICAgICAgIH0NCj4g
Pg0KPiA+ICsjaWZkZWYgQ09ORklHX0RFVklDRV9UUkVFX05VTUENCj4gPiArICAgICAgICAvKg0K
PiA+ICsgICAgICAgICAqICBXaGVuIENPTkZJR19ERVZJQ0VfVFJFRV9OVU1BIGlzIHNldCwgdHJ5
IHRvIGZldGNoIG51bWENCj4gaW5mb21hdGlvbg0KPiA+ICsgICAgICAgICAqIGZyb20gQ1BVIGR0
cyBub2RlLCBvdGhlcndpc2UgdGhlIG5pZCBpcyBhbHdheXMgMC4NCj4gPiArICAgICAgICAgKi8N
Cj4gPiArICAgICAgICBpZiAoICFkdF9wcm9wZXJ0eV9yZWFkX3UzMihjcHUsICJudW1hLW5vZGUt
aWQiLCAmbmlkKSApDQo+IA0KPiBZb3UgY2FuIGF2b2lkIHRoZSAjaWZkZWYgYnkgd3JpdGluZzoN
Cj4gDQo+IGlmICggSVNfRU5BQkxFRChDT05GSUdfREVWSUNFX1RSRUVfTlVNQSkgJiYgLi4uICkN
Cj4gDQo+IEhvd2V2ZXIsIEkgd291bGQgdXNpbmcgQ09ORklHX05VTUEgYmVjYXVzZSB0aGlzIGNv
ZGUgaXMgYWxyZWFkeSBEVA0KPiBzcGVjaWZpYy4gU28gd2UgY2FuIHNob3J0ZW4gdGhlIG5hbWUg
YSBiaXQuDQo+IA0KDQpPSw0KDQo+ID4gKyAgICAgICAgew0KPiA+ICsgICAgICAgICAgICBwcmlu
dGsoWEVOTE9HX1dBUk5JTkcNCj4gPiArICAgICAgICAgICAgICAgICJjcHVbJWRdIGR0cyBwYXRo
OiAlczogZG9lc24ndCBoYXZlIG51bWEgaW5mb21hdGlvbiFcbiIsDQo+IA0KPiBzL2luZm9ybWF0
aW9uL2luZm9ybWF0aW9uLw0KDQpPSw0KDQo+IA0KPiA+ICsgICAgICAgICAgICAgICAgY3B1aWR4
LCBkdF9ub2RlX2Z1bGxfbmFtZShjcHUpKTsNCj4gPiArICAgICAgICAgICAgLyoNCj4gPiArICAg
ICAgICAgICAgICogVGhlIHRoZSBlYXJseSBzdGFnZSBvZiBOVU1BIGluaXRpYWxpemF0aW9uLCB3
aGVuIFhlbg0KPiBmb3VuZCBhbnkNCj4gDQo+IHMvVGhlL0R1cmluZy8/DQoNCk9oLCB5ZXMsIEkg
d2lsbCBmaXggaXQuDQoNCj4gDQo+ID4gKyAgICAgICAgICAgICAqIENQVSBkdHMgbm9kZSBkb2Vz
bid0IGhhdmUgbnVtYS1ub2RlLWlkIGluZm8sIHRoZSBOVU1BDQo+IHdpbGwgYmUNCj4gPiArICAg
ICAgICAgICAgICogdHJlYXRlZCBhcyBvZmYsIGFsbCBDUFUgd2lsbCBiZSBzZXQgdG8gYSBGQUtF
IG5vZGUgMC4gU28NCj4gaWYgd2UNCj4gPiArICAgICAgICAgICAgICogZ2V0IG51bWEtbm9kZS1p
ZCBmYWlsZWQgaGVyZSwgd2Ugc2hvdWxkIHNldCBuaWQgdG8gMC4NCj4gPiArICAgICAgICAgICAg
ICovDQo+ID4gKyAgICAgICAgICAgIG5pZCA9IDA7DQo+ID4gKyAgICAgICAgfQ0KPiA+ICsjZW5k
aWYNCj4gPiArDQo+ID4gICAgICAgICAgIC8qDQo+ID4gICAgICAgICAgICAqIDggTVNCcyBtdXN0
IGJlIHNldCB0byAwIGluIHRoZSBEVCBzaW5jZSB0aGUgcmVnIHByb3BlcnR5DQo+ID4gICAgICAg
ICAgICAqIGRlZmluZXMgdGhlIE1QSURSWzIzOjBdDQo+ID4gQEAgLTIzMSw5ICsyNTYsMTIgQEAg
c3RhdGljIHZvaWQgX19pbml0IGR0X3NtcF9pbml0X2NwdXModm9pZCkNCj4gPiAgICAgICAgICAg
ew0KPiA+ICAgICAgICAgICAgICAgcHJpbnRrKCJjcHUlZCBpbml0IGZhaWxlZCAoaHdpZCAlIlBS
SXJlZ2lzdGVyIik6ICVkXG4iLCBpLA0KPiBod2lkLCByYyk7DQo+ID4gICAgICAgICAgICAgICB0
bXBfbWFwW2ldID0gTVBJRFJfSU5WQUxJRDsNCj4gPiArICAgICAgICAgICAgbm9kZV9tYXBbaV0g
PSBOVU1BX05PX05PREU7DQo+ID4gICAgICAgICAgIH0NCj4gPiAtICAgICAgICBlbHNlDQo+ID4g
KyAgICAgICAgZWxzZSB7DQo+ID4gICAgICAgICAgICAgICB0bXBfbWFwW2ldID0gaHdpZDsNCj4g
PiArICAgICAgICAgICAgbm9kZV9tYXBbaV0gPSBuaWQ7DQo+ID4gKyAgICAgICAgfQ0KPiA+ICAg
ICAgIH0NCj4gPg0KPiA+ICAgICAgIGlmICggIWJvb3RjcHVfdmFsaWQgKQ0KPiA+IEBAIC0yNDks
NiArMjc3LDcgQEAgc3RhdGljIHZvaWQgX19pbml0IGR0X3NtcF9pbml0X2NwdXModm9pZCkNCj4g
PiAgICAgICAgICAgICAgIGNvbnRpbnVlOw0KPiA+ICAgICAgICAgICBjcHVtYXNrX3NldF9jcHUo
aSwgJmNwdV9wb3NzaWJsZV9tYXApOw0KPiA+ICAgICAgICAgICBjcHVfbG9naWNhbF9tYXAoaSkg
PSB0bXBfbWFwW2ldOw0KPiA+ICsgICAgICAgIG51bWFfc2V0X25vZGUoaSwgbm9kZV9tYXBbaV0p
Ow0KPiA+ICAgICAgIH0NCj4gPiAgIH0NCj4gPiAgICA+DQo+IA0KPiBDaGVlcnMsDQo+IA0KPiAt
LQ0KPiBKdWxpZW4gR3JhbGwNCg==


From xen-devel-bounces@lists.xenproject.org Thu Aug 26 07:28:01 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 07:28:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172756.315242 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ9nt-0004Se-6j; Thu, 26 Aug 2021 07:28:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172756.315242; Thu, 26 Aug 2021 07: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 1mJ9nt-0004SX-3c; Thu, 26 Aug 2021 07:28:01 +0000
Received: by outflank-mailman (input) for mailman id 172756;
 Thu, 26 Aug 2021 07:28:00 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=J+8W=NR=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mJ9ns-0004SM-7I
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 07:28:00 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com (unknown
 [40.107.8.49]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c07ccdcf-8954-4db1-a0eb-54aa2306675c;
 Thu, 26 Aug 2021 07:27:58 +0000 (UTC)
Received: from PR3P189CA0039.EURP189.PROD.OUTLOOK.COM (2603:10a6:102:53::14)
 by AM6PR08MB4101.eurprd08.prod.outlook.com (2603:10a6:20b:a1::24) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.19; Thu, 26 Aug
 2021 07:27:54 +0000
Received: from VE1EUR03FT017.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:102:53:cafe::a) by PR3P189CA0039.outlook.office365.com
 (2603:10a6:102:53::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17 via Frontend
 Transport; Thu, 26 Aug 2021 07:27:54 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT017.mail.protection.outlook.com (10.152.18.90) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Thu, 26 Aug 2021 07:27:54 +0000
Received: ("Tessian outbound 5918cb94a4b5:v103");
 Thu, 26 Aug 2021 07:27:54 +0000
Received: from ee3be5e5ecb5.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 288665E5-37D5-423E-810D-2C83A0812B4E.1; 
 Thu, 26 Aug 2021 07:27:43 +0000
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ee3be5e5ecb5.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 26 Aug 2021 07:27:43 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB7PR08MB3273.eurprd08.prod.outlook.com (2603:10a6:5:28::29) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.19; Thu, 26 Aug
 2021 07:27:41 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.024; Thu, 26 Aug 2021
 07: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>
X-Inumbo-ID: c07ccdcf-8954-4db1-a0eb-54aa2306675c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=S0kvqqBAWJXA86SltcJBpWS2wb9ML6I9tsKYUSNkeQw=;
 b=9GK8LgDQPGPd8qri0mEFNq3eDmfWU2yBKaFYWfF3/mUTxFfE+jGp+eShVAY0rW/WzH2kwmCyuauSmHNmm8DHzjxGboyz2anYtR0PjGJeU94WTTPpUu5xV+YPmd8NgDJYdmhibSstKdcTcAawXrM1Z0C9SYs/rIM64gjoJIEZTCg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LgkYLRdNErl44Sn7ZVXyPaN0+6eu2pUVHIytch4hn7FSHbomILFicCDK2CD4aZM6rZjbxuRmar6kt9F4ZCuiPQjIkIMyviQkt9x7NiM5qwDPqrDwCPDmqpe0ixHpo1dJ0oOImn2o2Avnzu2X7jvp/FZ404Ef+bNSMRM00I8eKOQ5IpVZbuDiUUGz/goQYgXr2UlE1YhgY1dYV3W7xvinoL4J122Kzpof+vs1OPHMcZVRlhPfwEpgVR+Ho7hJpSZPeN/iyFRZD2NrNhwG1kO3Gkiuj+MBfEDT/2upaxQTPequD3PWV+Ccbs2gWqCEOheHw/9LyeFxHHCJEIh2MN6xcw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=S0kvqqBAWJXA86SltcJBpWS2wb9ML6I9tsKYUSNkeQw=;
 b=nS5djuBX9CR/IxYoHI/rX3+7Oz0/zKHLxFYd3ipFjQ9MlxngOCN6Ny8BT6JXzSWEnc8BDrUr9fdewSNu3B660qdYrrftdj68sxXDHWGlhIC0JZdYHgL5m1XAyxu8+sFPLEPogMgE8mPr9w30ft101EopFXHlnIrh7sOwodaoAfgg2k7cRhxkQqDeMyfLrjVgSSxSLQAJtTJ1ws/ylr/cpujrVpN8QpV+lqHp6ViJT2yArZTVj3gv4pzseGnVK0VUPZXg2HC0bBgZ8k0KsYchZu/rXlUiuXty1y9H3PBucS9lPXNSN5Fvlzkw4wK2H0cYHYk3/ZE5pTwrgmCZ7+0UBQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=S0kvqqBAWJXA86SltcJBpWS2wb9ML6I9tsKYUSNkeQw=;
 b=9GK8LgDQPGPd8qri0mEFNq3eDmfWU2yBKaFYWfF3/mUTxFfE+jGp+eShVAY0rW/WzH2kwmCyuauSmHNmm8DHzjxGboyz2anYtR0PjGJeU94WTTPpUu5xV+YPmd8NgDJYdmhibSstKdcTcAawXrM1Z0C9SYs/rIM64gjoJIEZTCg=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 29/40] xen/arm: implement Arm arch helpers Arm to
 get memory map info
Thread-Topic: [XEN RFC PATCH 29/40] xen/arm: implement Arm arch helpers Arm to
 get memory map info
Thread-Index: AQHXjptHOflEs7xJrkCP3afsREFdpquEitqAgADvaqA=
Date: Thu, 26 Aug 2021 07:27:41 +0000
Message-ID:
 <DB9PR08MB68579DD0ABD212ECB8B21EFC9EC79@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-30-wei.chen@arm.com>
 <05ca94ef-900f-49fa-1e78-daabcf6fa729@xen.org>
In-Reply-To: <05ca94ef-900f-49fa-1e78-daabcf6fa729@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 86F39EDDA50F5E4788F5C16FD839DD0F.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 0758e211-3f90-4c44-d6f7-08d968630510
x-ms-traffictypediagnostic: DB7PR08MB3273:|AM6PR08MB4101:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM6PR08MB410107BF1C1544592A54D8179EC79@AM6PR08MB4101.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:2150;OLM:2150;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 va/HmisIQeZZRpK3FdqEtAgjMRzBYlp0hgSLXcN8M7oUTf/U1IpOfT3fGWxMFql5gO8kznVeBCPFiE0xCtLxFfW0ivNq92MDNPzhuOzJThAoI3+ImF53GT7SPz++wkF2yLGjQUS6U8pOFmY8yHXG59vT5WcdmXM8dMUWqE6DFJ78YIEuNXe9FhVsQkrduMfMnB8gUNNnCTSpV9D6/nm3LiAFB5im5YLZsbpTgW+KuC4LTSMlPUmihFDfEIWX+012Cv1e5d11+DmC3wFFzIjg9hOaqlnJALv5AJLuzi1YZZvmjSKFR7R23dqMlaSHcNkMZVms6RtPfnhIeqxpyALxk2LB1gDa6fcOkf9CEATRcsZA+ZXkh7/aMLC9olQ05XHoBfHUczZXHdyM2l0N6+A1/rJRZrVLwAU9IbcTOiklEeJf6L1OKLDKNkZvbN3vTkETbi9GZ5z98DJp1sbA6AGj594KabrhfRMgzonATmb1MOIGtopKn6GriWOE+0NCB18rHkvE851hlyyHDtYU4Iq4It0VGrm89dzsXd4S4JifznenRNkWdcMFzSwc2/KEYXj/OJyA+BACAKCsdbyxdIn1c2/0KpcDIUvhx9zWtscKgW+REsLxjK+mQLE/8gTFixpqK8mRGubiC8H+6xHUtUwlMpghwzMyLRAUsr2MwPQAKCWvBOQ9wZuTwKitm+ykgjotoKlt+CiHBMJWvRb5dfwrnw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(396003)(136003)(346002)(39860400002)(376002)(53546011)(6506007)(38100700002)(52536014)(7696005)(5660300002)(66446008)(478600001)(8936002)(8676002)(110136005)(316002)(4326008)(55016002)(66476007)(33656002)(66946007)(76116006)(66556008)(64756008)(9686003)(83380400001)(86362001)(122000001)(186003)(2906002)(38070700005)(26005)(71200400001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?RVdBWmtyTzJ3YVNrdy9qTFhvNXFJNFBkdXl6RFA5bGRPUTJBTkpPN0hHdHM3?=
 =?utf-8?B?MjhXOUNzTi9zUmwyWWRBVEVJQXVWRjltY3kyekNGeFVFdHYyUUFYTy9Xdmth?=
 =?utf-8?B?RjdDOVN4RzBTVVIyWU9heU5IczRFcHlaMHIxaUJGQXkrMklnQnJxc3BvUmN0?=
 =?utf-8?B?OVNlNHJKYkdoYjd2czFaMWJ1VUlZQytoQkhUMXlMVGdiSC92YUYzNzkxVEpo?=
 =?utf-8?B?djIxQnBzTFV4UWpWZURGR3BVRlc3eHIzK1A4UFY0UlhIQmRGUUhMWlgxc1A0?=
 =?utf-8?B?aEQvamNXbzRzSW5iODIvUnhiWTgxamU0VUJhamxHc1BiREZDQVFpMnhVZ3NX?=
 =?utf-8?B?eG9WYmMyR28rTWQzRWJNUk9vR3NkMEduSFhCTUlqeWlkSDYreEFXUnNtR2Fi?=
 =?utf-8?B?d1Q1Mjk4UVhvN0tvUmVSUFgwL2Y1N2FRVng3SitGdFlwRWJUYXlCWTVOajF3?=
 =?utf-8?B?Uk9sMG8yVUxvd2E5aGZIYUwzRzhsTTJaM0hHQndzdU84ZCsxc3dCT1ZNdzlN?=
 =?utf-8?B?VGx4QUExckxndlhZNHhRVEpoVVQzQm02elBzWTFpaWpBYkxsakhFUWo5RDFp?=
 =?utf-8?B?SXVWTFZraVcyZU1pQkR6K09vVjN0OFBYVDVZdVAzTkZJckZmYm9ZVGE1VGZ2?=
 =?utf-8?B?Y2N6SEhwRzFFdzQ1UDZZRE1QblNSMzVvbHd4ejlVUFphNmxUcGdkZTIrYXd5?=
 =?utf-8?B?Y2lWRjdKVm0wamEydUVtTHkwQml0YnNqUUpvcUlUV3FwUWFaQmZuSWpJZWVI?=
 =?utf-8?B?TmJqOCtiTXJraS9JWDlwWlBVNXRxazcybTVXRHhraWNVejRPSmZmT0lBdkht?=
 =?utf-8?B?TGh6cGF5eFArb3JHcWkxYWtsNEpDdnNqeUpnWlp4dnJtOXgrWWRMcGpMWTEv?=
 =?utf-8?B?VkI0QUVnU3VnZm0zOWxCUG8xT3BrUno2eVdxWTZyNHpoTGh3VTA1Q2puRzU0?=
 =?utf-8?B?V1EzYXdyNHhWTXhDVVBLTDJieXRoclV2RW1nWWFWb2M4bzNhNjd4QTBubVFw?=
 =?utf-8?B?NmRHZlltcHlVVHJ2SW15cG43WnZJRnBhM0pmSnU3dGpwZ1N4UTI2anVNbkZi?=
 =?utf-8?B?YXZhd2FZbXJacHZwT0NJSkZRUTlSVkhDbTBxUEt1aU1sQThFdHRXb1FZWW8x?=
 =?utf-8?B?M2pYcDRRK3dUamdRTSt5YW00aHQ4bHExOFlqa0U1M3R2TWE0UnJmQ1RwMnZJ?=
 =?utf-8?B?T1hHT2kzamFOcjNsbjJFMDlmaEJqYVNoS1RIZ1RkNHQ3ZjhLeHJnTUNXTjFk?=
 =?utf-8?B?UjFwc29VNTF6dDMydEk3T2pNaWNTQS9zakltcFNmd1o1M0k0aTFlRVkrN1J6?=
 =?utf-8?B?Ull2a0czd1NxZmYwTjRsVjJwWk5iVDZSTE5OSk9ldGtORnVnOXNwOUc5bjJv?=
 =?utf-8?B?V1VxTXZnTC9oRERrSm1IWTZ3NmJ5NkMxMnJ1QUpyTDJGbjhrbk0xMVdhUGtt?=
 =?utf-8?B?U3dmL3Q0RFQvYkRLeW56ajgwZGpyUC91em5JbzJKdThwdEgySnNYZ0JNRW14?=
 =?utf-8?B?a00rN1NqQ2xVU0k2cDhHWGhhcHcvS3dVWXJzbUE4NDdES3BDYllkWGpqeFg1?=
 =?utf-8?B?M0ppSlFucFg4VUNTbUs1bUFiNkNaamxYaThZYTY2M0xjNStnem9NWlhiV3dK?=
 =?utf-8?B?NGJLeUtpcEI0RndVZVFRbEt4SC8zTFZEcFR4NmpZemVwQXM3S3BDZU0yQ1No?=
 =?utf-8?B?bGRFVHkyeDlIV0R2SGJNTjc4bkorNzk1WlkzOVdTcmJlRllVTWZFOHRnU0l5?=
 =?utf-8?Q?lcxamJahQdrTV9a8RmhzHfDKIFWSOtZ4pf4b7Ql?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3273
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT017.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	c6ffeccf-f484-460e-f3d9-08d96862fd6d
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5gAT9FEKCi9pBjY2rb5pEJiPYex5cpb5DwfnszZYII7sFwvxeo6ncU3du5t5jKcUR9oJ8XiLf3LGBVxCMlPWG9gGW5CEwRL8rzmf18Jj5kbLpZGwQ9agnk78njRJyv9Q1psqxcRF+N6o27pOHbJunrLcyAN/nRntbredQAF0vl6bIKquAtTCSEGF8cogCxHIrkRJ8kZWpRWbTpT+FuMP6OO1jPCSQRj3yJM++Qk3KTjsJQG4zb4A/z2C0IItqjYQC/ahqVCbPZUHfSuC57DFs/P0OwtawAPJj0ZSC8E+QFzdMzKt2uW9Mpo0tTv0PyDY7XH3WbxLf0Q+vtQBLHSqPXxLTLMFIRPzkaKWa36mvgsXnmEiRcTp27w6kwqiFnuQrV70Uqa7/DN3sLd0nOjpLYcpkmIu8QsRS9ICNZMF4ZHIVAPqZhegZ1k9kci8pdaI+dzthXmBJY7bpmdvPsOjnP4S6b21MQhy6WHR+4NhiqCQ+Fw569VLqvOTjUXe+KzHqCSPYiBF+ceKgasXkdaw4CyKjVbTTvatxvmvpLdP1DzP/hoPNRvkqOEXIwf5rPEPqzAc9hsujTm/E+sA9RgOqioeA/VHzZjiLqifjfj69aD1rLndb9dZbxOPW0i/K84JzFJcWRKgUaVKz7r5vM7CWj+VMgNok8R5xO4JbgyySZj52NnI1ZZ+qw+d3dtFUkmoycNgwYURkkvFH/lCHqr5eg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(396003)(136003)(376002)(346002)(39860400002)(46966006)(36840700001)(53546011)(6506007)(82310400003)(52536014)(7696005)(5660300002)(55016002)(478600001)(8936002)(8676002)(110136005)(316002)(4326008)(70206006)(33656002)(70586007)(9686003)(336012)(36860700001)(356005)(83380400001)(81166007)(86362001)(47076005)(186003)(2906002)(82740400003)(26005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 07:27:54.4607
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0758e211-3f90-4c44-d6f7-08d968630510
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT017.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4101

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMjbml6UgMToxMA0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+OyB4ZW4tZGV2ZWxAbGlzdHMueGVucHJv
amVjdC5vcmc7DQo+IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc7IGpiZXVsaWNoQHN1c2UuY29tDQo+
IENjOiBCZXJ0cmFuZCBNYXJxdWlzIDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+DQo+IFN1Ympl
Y3Q6IFJlOiBbWEVOIFJGQyBQQVRDSCAyOS80MF0geGVuL2FybTogaW1wbGVtZW50IEFybSBhcmNo
IGhlbHBlcnMgQXJtDQo+IHRvIGdldCBtZW1vcnkgbWFwIGluZm8NCj4gDQo+IEhpIFdlaSwNCj4g
DQo+IE9uIDExLzA4LzIwMjEgMTE6MjQsIFdlaSBDaGVuIHdyb3RlOg0KPiA+IFRoZXNlIHR3byBo
ZWxwZXJzIGFyZSBhcmNoaXRlY3R1cmUgQVBJcyB0aGF0IGFyZSByZXF1aXJlZCBieQ0KPiA+IG5v
ZGVzX2NvdmVyX21lbW9yeS4NCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IFdlaSBDaGVuIDx3ZWku
Y2hlbkBhcm0uY29tPg0KPiA+IC0tLQ0KPiA+ICAgeGVuL2FyY2gvYXJtL251bWEuYyB8IDE0ICsr
KysrKysrKysrKysrDQo+ID4gICAxIGZpbGUgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKQ0KPiA+
DQo+ID4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9udW1hLmMgYi94ZW4vYXJjaC9hcm0vbnVt
YS5jDQo+ID4gaW5kZXggZjYxYThkZjY0NS4uNmVlYmY4ZThiYyAxMDA2NDQNCj4gPiAtLS0gYS94
ZW4vYXJjaC9hcm0vbnVtYS5jDQo+ID4gKysrIGIveGVuL2FyY2gvYXJtL251bWEuYw0KPiA+IEBA
IC0xMjYsMyArMTI2LDE3IEBAIHZvaWQgX19pbml0IG51bWFfaW5pdChib29sIGFjcGlfb2ZmKQ0K
PiA+ICAgICAgIG51bWFfaW5pdG1lbV9pbml0KFBGTl9VUChyYW1fc3RhcnQpLCBQRk5fRE9XTihy
YW1fZW5kKSk7DQo+ID4gICAgICAgcmV0dXJuOw0KPiA+ICAgfQ0KPiA+ICsNCj4gPiArdWludDMy
X3QgX19pbml0IGFyY2hfbWVtaW5mb19nZXRfbnJfYmFuayh2b2lkKQ0KPiA+ICt7DQo+ID4gKwly
ZXR1cm4gYm9vdGluZm8ubWVtLm5yX2JhbmtzOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICtpbnQgX19p
bml0IGFyY2hfbWVtaW5mb19nZXRfcmFtX2JhbmtfcmFuZ2UoaW50IGJhbmssDQo+ID4gKwl1bnNp
Z25lZCBsb25nIGxvbmcgKnN0YXJ0LCB1bnNpZ25lZCBsb25nIGxvbmcgKmVuZCkNCj4gDQo+IFRo
ZXkgYXJlIHBoeXNpY2FsIGFkZHJlc3MsIHNvIHdlIHNob3VsZCB1c2UgInBhZGRyX3QiIGFzIG9u
IHN5c3RlbSBzdWNoDQo+IGFzIDMyLWJpdCBBcm0sICJ1bnNpZ25lZCBsb25nIiBpcyBub3QgZW5v
dWdoIHRvIGNvdmVyIGFsbCB0aGUgcGh5c2ljYWwNCj4gYWRkcmVzcy4NCj4gDQo+IEFzIHlvdSBj
aGFuZ2UgdGhlIHR5cGUsIEkgd291bGQgYWxzbyBzdWdnZXN0IHRvIGNoYW5nZSB0aGUgYmFuayBm
cm9tIGFuDQo+IGludCB0byBhbiB1bnNpZ25lZCBpbnQuDQo+IA0KDQpJIHdpbGwgZml4IHRoZW0g
aW4gbmV4dCB2ZXJzaW9uLg0KDQo+ID4gK3sNCj4gPiArCSpzdGFydCA9IGJvb3RpbmZvLm1lbS5i
YW5rW2JhbmtdLnN0YXJ0Ow0KPiA+ICsJKmVuZCA9IGJvb3RpbmZvLm1lbS5iYW5rW2JhbmtdLnN0
YXJ0ICsgYm9vdGluZm8ubWVtLmJhbmtbYmFua10uc2l6ZTsNCj4gPiArDQo+ID4gKwlyZXR1cm4g
MDsNCj4gPiArfQ0KPiA+DQo+IA0KPiBDaGVlcnMsDQo+IA0KPiAtLQ0KPiBKdWxpZW4gR3JhbGwN
Cg==


From xen-devel-bounces@lists.xenproject.org Thu Aug 26 07:29:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 07:29:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172761.315254 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ9pl-00058O-KF; Thu, 26 Aug 2021 07:29:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172761.315254; Thu, 26 Aug 2021 07: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 1mJ9pl-00058H-G2; Thu, 26 Aug 2021 07:29:57 +0000
Received: by outflank-mailman (input) for mailman id 172761;
 Thu, 26 Aug 2021 07:29:56 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=J+8W=NR=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mJ9pk-00058B-RD
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 07:29:56 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com (unknown
 [2a01:111:f400:fe0c::629])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 00f8138d-6d90-4c40-b1ca-84c7750e2a73;
 Thu, 26 Aug 2021 07:29:55 +0000 (UTC)
Received: from AM6PR05CA0024.eurprd05.prod.outlook.com (2603:10a6:20b:2e::37)
 by VI1PR08MB3517.eurprd08.prod.outlook.com (2603:10a6:803:79::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Thu, 26 Aug
 2021 07:29:52 +0000
Received: from VE1EUR03FT008.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:2e:cafe::8a) by AM6PR05CA0024.outlook.office365.com
 (2603:10a6:20b:2e::37) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.20 via Frontend
 Transport; Thu, 26 Aug 2021 07:29:52 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT008.mail.protection.outlook.com (10.152.18.75) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Thu, 26 Aug 2021 07:29:52 +0000
Received: ("Tessian outbound 1a0c40aa17d8:v103");
 Thu, 26 Aug 2021 07:29:51 +0000
Received: from 635f5e754d18.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B0C495BB-DEF2-4683-B1AD-410B1DF002B1.1; 
 Thu, 26 Aug 2021 07:29:40 +0000
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 635f5e754d18.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 26 Aug 2021 07:29:40 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB8PR08MB5337.eurprd08.prod.outlook.com (2603:10a6:10:11e::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Thu, 26 Aug
 2021 07:29:40 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.024; Thu, 26 Aug 2021
 07:29:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 00f8138d-6d90-4c40-b1ca-84c7750e2a73
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=v/A3hVEHtFwQcB7iS+bmmWiyaOpWv0UYXekFXShlfyI=;
 b=6FwKjfnOdwP8v3mhzRbI3D33Brdn5tTn4Fr4SUH9Qp9KaP2JX7m7GU3MP0XiSR6x3sN4I8MLGODfeX5PeysxLRLm+zOgP7rakjXNleuBSYofVVcC10oL8eQnvEnCBA6w2Lhd6GgDhUGKnQnjb4PTOWlwSq+5l6K/w5fyNsYRKGU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mjhTrtLgs9gdSIdc5+TaucgOMsuU73vnflzemFQ2e34shTiW73T+gBgWdtULloGFbRoc5mGqCHtZmRw4vDfPYIQYa+hqph+W/uaWCygGwUXZSBa+4mAJQF2AJgV1QYRxf7VEgojYxbC4RJmP2UWqgxLrdvwH0Wu4bnSbSvTcGZqxFuQBn6h9vUfyfWG/u93jZq03j883Hn3S6/8Fxnj4vobn6og9uL3Bx4Abdco81xBcxH/wgLJOO7K5L5ed8N85vuy+LDSsJhv4n9ZqKZ9YPJHtpqvDYLPUj6L0jmuG19x7Yj1oiyzLdU/oNZfhdALsiX/gVhZ+KxdPZrp7icYo2g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=v/A3hVEHtFwQcB7iS+bmmWiyaOpWv0UYXekFXShlfyI=;
 b=lSozpnTvTLT+vwOKWNDU1U91MDCJZQugZOZ6VcpqU1sMPwCIsYlRY+FIcMonQtPjA7liJ+A6aR2UXfQbqwXJHDdTE6K3bckOygsBly3l4FyjPAo7hlfg9/ypK0IHS8b+BewrWlT3dueD6Y7h7RWrbOr1tcc1X5fbucgxqIGUqJeXHP8GmHn8WzsglFvHde84BvH3DMAp9w9HuQgtY2vpOX/p11/c262bVuACG3EjYMJYQ3tdb77axPwewszgyvWGIkyD+MIf/1qv+Iba2COShRHWKey7DK62zyj0/+sabCoUO6AJl8/iqwhfSa0pVC08HyB0istxsGXby0rMN+Ryvg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=v/A3hVEHtFwQcB7iS+bmmWiyaOpWv0UYXekFXShlfyI=;
 b=6FwKjfnOdwP8v3mhzRbI3D33Brdn5tTn4Fr4SUH9Qp9KaP2JX7m7GU3MP0XiSR6x3sN4I8MLGODfeX5PeysxLRLm+zOgP7rakjXNleuBSYofVVcC10oL8eQnvEnCBA6w2Lhd6GgDhUGKnQnjb4PTOWlwSq+5l6K/w5fyNsYRKGU=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 30/40] xen: move NUMA memory and CPU parsed
 nodemasks to common
Thread-Topic: [XEN RFC PATCH 30/40] xen: move NUMA memory and CPU parsed
 nodemasks to common
Thread-Index: AQHXjptYt52pxy+mUUyQXgnpFPCLD6uEjLEAgADt1dA=
Date: Thu, 26 Aug 2021 07:29:39 +0000
Message-ID:
 <DB9PR08MB6857148B77BC55ECDDABDFA39EC79@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-31-wei.chen@arm.com>
 <e97b705f-3bf6-9a01-a24b-ad2840a7c8a8@xen.org>
In-Reply-To: <e97b705f-3bf6-9a01-a24b-ad2840a7c8a8@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 02BE0D46F79530459722B205A1BD4F0A.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 4f99a72c-d862-44e2-b916-08d968634b33
x-ms-traffictypediagnostic: DB8PR08MB5337:|VI1PR08MB3517:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR08MB351731FADC57CC5DC00FC3519EC79@VI1PR08MB3517.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:2582;OLM:2582;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 mmy+jfoi3Uo5yw9tXDs2iSyCQkSpqDkHbYcG17Pf+ozrhMM80U80gMDwNQipr6E39HxebAcOUb8AEyp29O5jQlXQ0UhyQTCzJ1LzQ/d8x4ViFmE4HoUxIv/fzymOoIv0ek6QftWgi6vnxzqU8aJLuQ2cr8I1uCH2W040ACyuSMTL3I7sEq/ernFIMCSAMltjaqyrDTA9OEECNYFDeTbV+ik9/pGUGpIgweRUUNdItP0mcGPWvRZ3rpulyIkB2OTuqcoQUEVnaBxPuZhczTjj/eKkLF5Bs6KAggkeLNHuxw+7UVq9d0AIAfXsNnZeT1u0EkQKlrzWpfTwFC37UT/vZHz5B789WY8qKowvsg62sYo3gArWjCN0NnP3xMbua72sYeESuzqqcf3/t7ymVGl5gvTEMBC8w8phsGcfDRYFxCAp7Me0FcbDgbd6PpcjM6iIDoaeyqTW7jxypMzGRJF9lnuS17urFdD3pfDa3TyEmYibMAy+Ip2ZbbXnvlcbYor04fnrskBmWD08+6qYjL/VpRbABl8Dkv5N6k5ydLVo+hluWekbqyzui5Ntd4s4L1x01KYAzG/2p279nmGB1r47sKkGuGFRdzm2eDxnTkhtVsWymE+SN+/cPyoNqUVK/+az8iZxwNG/6QZM9I6w3KL3XCNYl7BiCQzhRfh71S2hVAVUfErQ/jLt4w3oVnKyPJEljR/NHcUMcuCFY+EM19rsVA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(136003)(346002)(396003)(39860400002)(366004)(376002)(66556008)(33656002)(5660300002)(9686003)(83380400001)(122000001)(66946007)(110136005)(38100700002)(26005)(8676002)(66446008)(71200400001)(316002)(2906002)(4326008)(66476007)(7696005)(478600001)(8936002)(76116006)(6506007)(53546011)(86362001)(64756008)(55016002)(38070700005)(186003)(52536014);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?ZEFsbzR4VnRjV1poOE8yd21IZXdML0dSVG45Z2xDL1prODZNWDVqYS9TbzdO?=
 =?utf-8?B?TmhHbmVBenpZSzAyeDlwajFoUUNQdzFEaEdPaEc5d2V3NjhJOWxqRERyZzBL?=
 =?utf-8?B?YTBKUG8vQlRLcHRiVzFGbDUzKzhibTBubkk1akNhazNMSTNkbVZZdG5vSkxu?=
 =?utf-8?B?SndjVzdOTUZGSWhlbXFMRVVLUERnV1lTN1FSUU50K0h1OEVQQUkzS2JTWVdK?=
 =?utf-8?B?em9ydjdZbVpHaitUb0NvNFFrbWw3TGV0UGJNTDdSR2wvWGZJVTAxOGo1WXdG?=
 =?utf-8?B?eUJMSGk1Z2U2YjVxbzc0Q2ltckhBNDFQV3RSTmpCa1hiL2xlRVJmZzJPZFdr?=
 =?utf-8?B?dEF3dGs1NVdwYnppYXRORytTNG5STUhRV3ZkTWpiUkhqOEk5M05Pa3ltRG9S?=
 =?utf-8?B?UDM1THJoWTcvckh4MmNQQU1ucW05ZFRzR1hGSVA0YlprWHFtSmF5NmgyZXFC?=
 =?utf-8?B?NDBrMjVBakk2TVFiN3l3Q0d5NXQ2c1BuS0ZHQytNZGlrdHc0L1JjSTNtb01v?=
 =?utf-8?B?eDVLaTVvajU2aWRsRkl0U2pvMVlmSFVkUnUyM2tSSFJzNTZHZitVRDU0YWJN?=
 =?utf-8?B?cXRsWmkwUEhNSFdlQWJZVFZlcVI4WGlBUTNFdW8vcE1mOURnUm1pejB0RnVZ?=
 =?utf-8?B?bWJQcllZMzA5aCtWRVBWNDA5SkNBSjdRUEI4ZUNUL0VrQ3VnNlVMSGFIbkxK?=
 =?utf-8?B?SHljUWxYbTZDVzBCVmJZcVdLeEFvcTR0NlI0WHRoRjZhN1BIbnR3YU9ZQ3ZR?=
 =?utf-8?B?SFBBWTQ0QWhmRG1GL2xtZ1QxTTI0WHJJT1NTN0RFd1ZsaHNlY1JranFZVGxT?=
 =?utf-8?B?eTAyUUhkMjdKWE4waExzeDBDY1lBOGl4ci9rdzd4Z3hROHlXQkgzWEpDbkZP?=
 =?utf-8?B?TDU4b1VHeHRVcklHREl6V1M4ekNlbjhYRlAveTNrVDhEQ3FnRVF1ajRNYWNW?=
 =?utf-8?B?Z0o4YVAzSDJvem1NeVBVRXhrK01Uc2RmU2IwdTRjRURlbVZlU2QrQUhhTGNK?=
 =?utf-8?B?eGt1RGlmV2V6QldKVk41QkdNUEZpa0VTQ3RTN2M3c3JZNmpnWXl0K1dpZGZF?=
 =?utf-8?B?RmhqWSt3dTM4RTZkR1Vkc09sMFBpNjJMY21HWkQ5cHphSjVIbjhoUXpYVUtL?=
 =?utf-8?B?QUZHSDZxUkZnZHorSXJEQ0laRlYyZ0t3M0xjbVQraTFUOUVqRVBpY0dWSVJi?=
 =?utf-8?B?dERJS2N0TXRaQzlBaDl1ODFOVkwyNGxnNU9mampNZDJpdXd2OUtqb2VtQkp3?=
 =?utf-8?B?RmRBMzB0S0s1V1V5T1ZZMTFib3Qwa2xrSVRaL1V4ZXRyUDBzcCtDT2hWUks0?=
 =?utf-8?B?VUFxU0ZlMWx5RlVoU0NDbS92MFh6UytaVGdMOTIrem4xVUNKTmV2bVl3OUha?=
 =?utf-8?B?b3VTb1NOSk40VTNjcUgwTU03WkJxcWNURzdETnEwejUyRWtXOXhDUnVMSEYz?=
 =?utf-8?B?aFZYRUJUdkdiUnprdlljT2k4MnVEZjk2Z0hXKzhSZnZtdXVRUmtkdmY2M1Fn?=
 =?utf-8?B?RVlXQ2lKU0hVMFhDQkpqaDNVTDgzNkprSlBHUXVFY3pTN1JMMzhreWtkU1RG?=
 =?utf-8?B?WkRobmtPTkR2eVJTZGtGaGMyMDNJU3VMQmw2SlBvckw5eGI0WUJ0d1N5QjBE?=
 =?utf-8?B?d216bWdvOUZoUmR3aFo3d1NicVhLd09GMHJOOGM2WjQzeVRWMjl3NlF0czlG?=
 =?utf-8?B?MnFkWWc3cndJTzNJWlFicUFCais5bDZCRjdDQWUxMVYvMTQxVWxpQ3hCK2lm?=
 =?utf-8?Q?daSjH11JIfiaLjmFVVdM+E6nYJxdU0RjQ81l+vD?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB5337
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT008.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	f8c539c6-6bde-43e9-b1eb-08d96863440a
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ry4gme/eRiY3K54a37DPEMzlDHZvQgdxOmBfANe4VrnndKKYYNtITIBKCUBasgD6jXWLpNwNkUR0oH7KSDwTrckPVqcx0OIL91i+YFOmlS0Q+RAeMDTScxijLqNvnLp3xnf+cBQZHDkEwcmXSVCH46IWj+7eFrA35FIpMtI3ysatg4tTuIU0fKnEbvXmsULfuuFTX8cI5lpWPyny44hYa0wXafO15kk2kB164mrph4lDrO5WHI1AGeN3JCU2sJg/hVb8AlM1aMe2cRViFAZMRfR2JaMX9cyaqT5elE6tFsiupMcqZbP+c5ZR3P9z9udqSZ9Y4Jhu0XH2h25hKixRCipL8moICjxXmB5JGI7zZckUImwykxmJd4F8cW2AkayVcw/51tYq05sVwXPo4RWVaZOBXSaY7otEC7rWvYLwQz9TkEadwR6uqI1dmcB9MwofcB5ZrON1rwCOcmDOl2+fUOsZ1XFD/ONKtsjDTQ4inFXuigsW6HRAu4QBLNj8Hwmvno5pHpL6RErPdoavRwPxnm9lNjzgq67LXf+b+HWN6OuyI9bkMtm8pGwm9w3AS0xI3j6cawwCwSR2xBPeYfDYPm5m1bW4TUXKTtPZbRusj7r/5wIRfFH4VWlTcQi0q/FBpja3+3yit9KTC9ED1grAwMD4PRh6m3hGAskWPzV1sEYq3wtGWEK1xDBmBkJV8dkalkHL1bNdEwYsAsgrPbUpvA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(136003)(376002)(39860400002)(346002)(396003)(36840700001)(46966006)(478600001)(2906002)(82310400003)(70206006)(336012)(316002)(81166007)(33656002)(6506007)(70586007)(47076005)(186003)(82740400003)(8936002)(53546011)(4326008)(26005)(8676002)(86362001)(52536014)(9686003)(55016002)(110136005)(5660300002)(356005)(83380400001)(7696005)(36860700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 07:29:52.1228
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4f99a72c-d862-44e2-b916-08d968634b33
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT008.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3517

SGkgSnVpbGllbiwNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBKdWxp
ZW4gR3JhbGwgPGp1bGllbkB4ZW4ub3JnPg0KPiBTZW50OiAyMDIx5bm0OOaciDI25pelIDE6MTcN
Cj4gVG86IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgeGVuLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnOw0KPiBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqYmV1bGljaEBzdXNlLmNvbQ0K
PiBDYzogQmVydHJhbmQgTWFycXVpcyA8QmVydHJhbmQuTWFycXVpc0Bhcm0uY29tPg0KPiBTdWJq
ZWN0OiBSZTogW1hFTiBSRkMgUEFUQ0ggMzAvNDBdIHhlbjogbW92ZSBOVU1BIG1lbW9yeSBhbmQg
Q1BVIHBhcnNlZA0KPiBub2RlbWFza3MgdG8gY29tbW9uDQo+IA0KPiBIaSBXZWksDQo+IA0KPiBP
biAxMS8wOC8yMDIxIDExOjI0LCBXZWkgQ2hlbiB3cm90ZToNCj4gPiBCb3RoIG1lbW9yeV9ub2Rl
c19wYXJzZWQgYW5kIHByb2Nlc3Nvcl9ub2Rlc19wYXJzZWQgYXJlIHVzaW5nDQo+ID4gZm9yIEFy
bSBhbmQgeDg2IHRvIHJlY29yZCBwYXJkZWQgTlVNQSBtZW1vcnkgYW5kIENQVS4gU28gd2UNCj4g
PiBtb3ZlIHRoZW0gdG8gY29tbW9uLg0KPiANCj4gTG9va2luZyBhdCB0aGUgdXNhZ2UsIHRoZXkg
Ym90aCBjYWxsOg0KPiANCj4gbnVtYV9zZXQuLi4oLi4uLCBiaXRtYXApDQo+IA0KPiBTbyByYXRo
ZXIgdGhhbiBleHBvcnRpbmcgdGhlIHR3byBoZWxwZXJzLCBjb3VsZCB3ZSBzaW1wbHkgYWRkIGhl
bHBlcnMgdG8NCj4gYWJzdHJhY3QgaXQ/DQo+IA0KDQpJIHdpbGwgdHJ5IHRvIGZpeCBpdCBpbiBu
ZXh0IHZlcnNpb24uDQoNCj4gDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBXZWkgQ2hlbiA8d2Vp
LmNoZW5AYXJtLmNvbT4NCj4gPiAtLS0NCj4gPiAgIHhlbi9hcmNoL2FybS9udW1hX2RldmljZV90
cmVlLmMgfCAyIC0tDQo+ID4gICB4ZW4vYXJjaC94ODYvc3JhdC5jICAgICAgICAgICAgIHwgMyAt
LS0NCj4gPiAgIHhlbi9jb21tb24vbnVtYS5jICAgICAgICAgICAgICAgfCAzICsrKw0KPiA+ICAg
eGVuL2luY2x1ZGUveGVuL25vZGVtYXNrLmggICAgICB8IDIgKysNCj4gPiAgIDQgZmlsZXMgY2hh
bmdlZCwgNSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQ0KPiA+DQo+ID4gZGlmZiAtLWdp
dCBhL3hlbi9hcmNoL2FybS9udW1hX2RldmljZV90cmVlLmMNCj4gYi94ZW4vYXJjaC9hcm0vbnVt
YV9kZXZpY2VfdHJlZS5jDQo+ID4gaW5kZXggMjdmZmI3MmY3Yi4uZjc0YjdmNjQyNyAxMDA2NDQN
Cj4gPiAtLS0gYS94ZW4vYXJjaC9hcm0vbnVtYV9kZXZpY2VfdHJlZS5jDQo+ID4gKysrIGIveGVu
L2FyY2gvYXJtL251bWFfZGV2aWNlX3RyZWUuYw0KPiA+IEBAIC0yNSw4ICsyNSw2IEBADQo+ID4g
ICAjaW5jbHVkZSA8YXNtL3NldHVwLmg+DQo+ID4NCj4gPiAgIHM4IGRldmljZV90cmVlX251bWEg
PSAwOw0KPiA+IC1zdGF0aWMgbm9kZW1hc2tfdCBwcm9jZXNzb3Jfbm9kZXNfcGFyc2VkIF9faW5p
dGRhdGE7DQo+ID4gLXN0YXRpYyBub2RlbWFza190IG1lbW9yeV9ub2Rlc19wYXJzZWQgX19pbml0
ZGF0YTsNCj4gDQo+IFRoaXMgaXMgY29kZSB0aGF0IHdhcyBpbnRyb2R1Y2VkIGluIGEgcHJldmlv
dXMgcGF0Y2guIEluIGdlbmVyYWwsIGl0IGlzDQo+IGJldHRlciB0byBkbyB0aGUgcmV3b3JrIGZp
cnN0IGFuZCB0aGVuIGFkZCB0aGUgbmV3IGNvZGUuIFRoaXMgbWFrZXMNCj4gZWFzaWVyIHRvIGZv
bGxvdyBzZXJpZXMgYXMgdGhlIGNvZGUgYWRkZWQgaXMgbm90IGNoYW5nZWQuDQo+IA0KDQpZZXMs
IEkgd2lsbCBmaXggaXQgaW4gbmV4dCB2ZXJzaW9uLg0KDQo+ID4NCj4gPiAgIHN0YXRpYyBpbnQg
c3JhdF9kaXNhYmxlZCh2b2lkKQ0KPiA+ICAgew0KPiA+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC94
ODYvc3JhdC5jIGIveGVuL2FyY2gveDg2L3NyYXQuYw0KPiA+IGluZGV4IDIyOTgzNTM4NDYuLmRk
M2FhMzA4NDMgMTAwNjQ0DQo+ID4gLS0tIGEveGVuL2FyY2gveDg2L3NyYXQuYw0KPiA+ICsrKyBi
L3hlbi9hcmNoL3g4Ni9zcmF0LmMNCj4gPiBAQCAtMjQsOSArMjQsNiBAQA0KPiA+DQo+ID4gICBz
dGF0aWMgc3RydWN0IGFjcGlfdGFibGVfc2xpdCAqX19yZWFkX21vc3RseSBhY3BpX3NsaXQ7DQo+
ID4NCj4gPiAtc3RhdGljIG5vZGVtYXNrX3QgbWVtb3J5X25vZGVzX3BhcnNlZCBfX2luaXRkYXRh
Ow0KPiA+IC1zdGF0aWMgbm9kZW1hc2tfdCBwcm9jZXNzb3Jfbm9kZXNfcGFyc2VkIF9faW5pdGRh
dGE7DQo+ID4gLQ0KPiA+ICAgc3RydWN0IHB4bTJub2RlIHsNCj4gPiAgIAl1bnNpZ25lZCBweG07
DQo+ID4gICAJbm9kZWlkX3Qgbm9kZTsNCj4gPiBkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9udW1h
LmMgYi94ZW4vY29tbW9uL251bWEuYw0KPiA+IGluZGV4IDI2YzAwMDZkMDQuLjc5YWIyNTA1NDMg
MTAwNjQ0DQo+ID4gLS0tIGEveGVuL2NvbW1vbi9udW1hLmMNCj4gPiArKysgYi94ZW4vY29tbW9u
L251bWEuYw0KPiA+IEBAIC0zNSw2ICszNSw5IEBAIGludCBudW1fbm9kZV9tZW1ibGtzOw0KPiA+
ICAgc3RydWN0IG5vZGUgbm9kZV9tZW1ibGtfcmFuZ2VbTlJfTk9ERV9NRU1CTEtTXTsNCj4gPiAg
IG5vZGVpZF90IG1lbWJsa19ub2RlaWRbTlJfTk9ERV9NRU1CTEtTXTsNCj4gPg0KPiA+ICtub2Rl
bWFza190IG1lbW9yeV9ub2Rlc19wYXJzZWQgX19pbml0ZGF0YTsNCj4gPiArbm9kZW1hc2tfdCBw
cm9jZXNzb3Jfbm9kZXNfcGFyc2VkIF9faW5pdGRhdGE7DQo+ID4gKw0KPiA+ICAgYm9vbCBudW1h
X29mZjsNCj4gPg0KPiA+ICAgLyoNCj4gPiBkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL25v
ZGVtYXNrLmggYi94ZW4vaW5jbHVkZS94ZW4vbm9kZW1hc2suaA0KPiA+IGluZGV4IDFkZDZjNzQ1
OGUuLjI5Y2U1ZTI4ZTcgMTAwNjQ0DQo+ID4gLS0tIGEveGVuL2luY2x1ZGUveGVuL25vZGVtYXNr
LmgNCj4gPiArKysgYi94ZW4vaW5jbHVkZS94ZW4vbm9kZW1hc2suaA0KPiA+IEBAIC0yNzYsNiAr
Mjc2LDggQEAgc3RhdGljIGlubGluZSBpbnQgX19jeWNsZV9ub2RlKGludCBuLCBjb25zdA0KPiBu
b2RlbWFza190ICptYXNrcCwgaW50IG5iaXRzKQ0KPiA+ICAgICovDQo+ID4NCj4gPiAgIGV4dGVy
biBub2RlbWFza190IG5vZGVfb25saW5lX21hcDsNCj4gPiArZXh0ZXJuIG5vZGVtYXNrX3QgbWVt
b3J5X25vZGVzX3BhcnNlZDsNCj4gPiArZXh0ZXJuIG5vZGVtYXNrX3QgcHJvY2Vzc29yX25vZGVz
X3BhcnNlZDsNCj4gPg0KPiA+ICAgI2lmIE1BWF9OVU1OT0RFUyA+IDENCj4gPiAgICNkZWZpbmUg
bnVtX29ubGluZV9ub2RlcygpCW5vZGVzX3dlaWdodChub2RlX29ubGluZV9tYXApDQo+ID4NCj4g
DQo+IENoZWVycywNCj4gDQo+IC0tDQo+IEp1bGllbiBHcmFsbA0K


From xen-devel-bounces@lists.xenproject.org Thu Aug 26 07:31:57 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 07:31:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172768.315265 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJ9rg-0006jw-5Y; Thu, 26 Aug 2021 07:31:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172768.315265; Thu, 26 Aug 2021 07:31: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 1mJ9rg-0006jp-1F; Thu, 26 Aug 2021 07:31:56 +0000
Received: by outflank-mailman (input) for mailman id 172768;
 Thu, 26 Aug 2021 07:31:54 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=J+8W=NR=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mJ9re-0006jh-MQ
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 07:31:54 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com (unknown
 [2a01:111:f400:fe02::630])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 305dd24b-4ae3-4abd-b3f1-7835cd594043;
 Thu, 26 Aug 2021 07:31:52 +0000 (UTC)
Received: from DB7PR03CA0078.eurprd03.prod.outlook.com (2603:10a6:10:72::19)
 by AM9PR08MB5938.eurprd08.prod.outlook.com (2603:10a6:20b:2da::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Thu, 26 Aug
 2021 07:31:40 +0000
Received: from DB5EUR03FT013.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:72:cafe::4b) by DB7PR03CA0078.outlook.office365.com
 (2603:10a6:10:72::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.18 via Frontend
 Transport; Thu, 26 Aug 2021 07:31:40 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT013.mail.protection.outlook.com (10.152.20.105) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Thu, 26 Aug 2021 07:31:40 +0000
Received: ("Tessian outbound f11f34576ce3:v103");
 Thu, 26 Aug 2021 07:31:40 +0000
Received: from 12f7027c305e.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 73DD2B97-5146-4DC0-95EC-4738105F56D0.1; 
 Thu, 26 Aug 2021 07:31:30 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 12f7027c305e.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 26 Aug 2021 07:31:30 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB6PR0802MB2598.eurprd08.prod.outlook.com (2603:10a6:4:97::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Thu, 26 Aug
 2021 07:31:28 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.024; Thu, 26 Aug 2021
 07:31: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: 305dd24b-4ae3-4abd-b3f1-7835cd594043
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GklQ5srt9Mp86xBFA7T3TX5swikPbzprfRwbRsWOg1M=;
 b=Uy9Jk83PDcHHmf7ncdoaK12K8eRviWelv9nqxkM0TIPWJB5kHO9WASFFDpEFyCc/iOReAfDfgzfhisVt5sQUATMGw+pNUnQ+UewhJ/wGcnNMtXRcho/P/s8532C6M+qxJ3R7FF2Xff0lEMOfYh2vbb69DtylqBP3/X4SuqIm/V0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VbRHwR2S/DyV1SIOtSCLecOiFW5Brko2H7y93VPkYh1yrRsYWCHbjfZUPQN/qerTwm19AP50L6FDFcErM7xBV/LemnvKHk3B4PclM6ramAgxfF8g3n9s+rKtkFjQGukgj37gLG55nwpCHl2LUwiA8PZ5rKi8krQRHDJEqBZWKnGaaX0YmkGQRx00UUN5Zgo+fpe+RJXfy0Fvr4MqCqUtoOnovMe6OKc/cLUbh1YEUa1RwLr31OVQjkDjI2BrCFNRFKC81Pnvz6HhnvRTsMaRQI4W9Fl4iPnXN6k3hyQycLOBXytyuSrS7/zF5aFy0Jw7Dkd7mjp/Oy/xqUM9tCNX8g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GklQ5srt9Mp86xBFA7T3TX5swikPbzprfRwbRsWOg1M=;
 b=QBE8dpzmWx6iVXixSJDFIsYNbRtM5CWmBQJp5BN/skM9aQ9/IogPfPofPdyn9iUeJIWiVbBWVICQjUaGE9Dst12D/gisL3rbPctfhXDP4kgxPq7tpORfczsUKNmz3By9hsFMIwJRbjc0hBVKyVO/JnPDUo4sfCyqfiU5fFUgElyieqWh8yE/briJlv4n6rpdW0Zr/rNqlkdHlxTj90Jyo05XGZiSt+sml6B2IOS9V+i1uekGTQAAXzw9PBp9hXrX5FovRhMLWrFxrb6bG08NdfcQUEP2h6o152383ej4ga28eYxsE8BNelkHkCXuAhHqjt3C7WDAJo8LHfVuA8bRNw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GklQ5srt9Mp86xBFA7T3TX5swikPbzprfRwbRsWOg1M=;
 b=Uy9Jk83PDcHHmf7ncdoaK12K8eRviWelv9nqxkM0TIPWJB5kHO9WASFFDpEFyCc/iOReAfDfgzfhisVt5sQUATMGw+pNUnQ+UewhJ/wGcnNMtXRcho/P/s8532C6M+qxJ3R7FF2Xff0lEMOfYh2vbb69DtylqBP3/X4SuqIm/V0=
From: Wei Chen <Wei.Chen@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"julien@xen.org" <julien@xen.org>, "jbeulich@suse.com" <jbeulich@suse.com>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>, "andrew.cooper3@citrix.com"
	<andrew.cooper3@citrix.com>
Subject: RE: [XEN RFC PATCH 00/40] Add device tree based NUMA support to Arm64
Thread-Topic: [XEN RFC PATCH 00/40] Add device tree based NUMA support to
 Arm64
Thread-Index: AQHXjpsd4nR+5Zr0JUK+Jd3HYcfrq6uE//aAgAB7ZxA=
Date: Thu, 26 Aug 2021 07:31:28 +0000
Message-ID:
 <DB9PR08MB685702F4EC63C0DB293E296A9EC79@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <alpine.DEB.2.21.2108251644150.24433@sstabellini-ThinkPad-T480s>
In-Reply-To: <alpine.DEB.2.21.2108251644150.24433@sstabellini-ThinkPad-T480s>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: D3656B7D20788D4CB8D3300516947685.0
x-checkrecipientchecked: true
Authentication-Results-Original: kernel.org; dkim=none (message not signed)
 header.d=none;kernel.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: ba766ca5-f500-4250-8541-08d968638be0
x-ms-traffictypediagnostic: DB6PR0802MB2598:|AM9PR08MB5938:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM9PR08MB59381746299B744AF93EB82D9EC79@AM9PR08MB5938.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:9508;OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 kKC1Tlk36958uOt1PM+0vTLmWA2XhyJiZSEVSGv72gcSVM/Skmq9Eve0WHr1EeYxD1hbSKf5WaEKRoNskt8RBj2jz/HU3dKfRUC75A5I1DtPGQqQx/jbuOE8iGyvF2QdDperdIL2Tn19mPFBMsIu0+LRb7X1yj9Tag1qSqRxOtrDXQqstLxXDyF9RdLGNUcENSY/rjxSG7xCY+/g89viBQOJox7XS7lk7RwBWKf0i7Mgwz58hl5RzcJVFbMy4t8cdWTLewbeQeia7zRtFyoUo4GroxdiTyI9uYfD+7SjfBMVorxRZKS3kYr0vonocf0v47JofW/3D0u08UhyNscE6G4mrTd/CyPKz0kxb5XbTFVC2d8eowQm9UnB+ahS9vCUn+rQRDEwqcY5foDq0AI1qNLnBZ63wuwY/sb/7EI9oR2GwOnuzAnnpvtO2rca6wovwpo9b6gxDXF9hq8RHCyRMOoXQU3OYyl+Vt98XwxZKfJqmJlMlG3RAZ//mKBycHHDcuLGjIhldpgVzm5cSnInnFDAa2mPkeQVpGJwDEe87w/aVrax7LA8hP630VE0LiMmcpQRZhfL8Zvz42smKZIfXqqmLgpk9ZYPAJ3BMIR65LTixZc3N6dLj5PRFKclZH24dv91GZ5P6C7Z328jZ38dEcgfWXdbMnNiELOOQ9o5ggInlJKS/Q3QF/12mS85YdWm1cwNQkZaBwmI271Ca6sXYPLQ6QP/oqyLyW4YFPR0HY2tc5l2SbCNx1cXHcGUEUPlDFI8Xso4kVaurphQ781PxZnXL7QEnmJaQBH4jdU5kxU=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(376002)(136003)(346002)(396003)(39860400002)(71200400001)(66556008)(66476007)(122000001)(8676002)(9686003)(83380400001)(5660300002)(66446008)(33656002)(38100700002)(4326008)(66946007)(26005)(2906002)(64756008)(316002)(186003)(54906003)(6916009)(478600001)(86362001)(7696005)(8936002)(76116006)(55016002)(53546011)(6506007)(52536014)(966005)(38070700005);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?gb2312?B?QjJkV003aHFYR2FIZWxnYjN1elBOVGhiK0w5WjhzVGJFMExzVEhNRmJuSmNi?=
 =?gb2312?B?QUthOTFvTEJkYU1VVGZhYURQeDVsbDl0YS9MQlp2UzIwdmdvM2lkMjFVcm00?=
 =?gb2312?B?U3RLeE9qUXZTdzVqZlZHV2MrVzhrbXVMZWpWR1cwUEZWdkhEc29xTXZOTFpa?=
 =?gb2312?B?Qk1Fa2hFaTcrQnF6aWFpYTRQRWJzNk1lbWdtUXZ6RUYwY3N1bG1MQlRHa3lz?=
 =?gb2312?B?Y3ZzdWsrcGpUYnE5dWFlajRsdVVwOWlyNXlNSzBpYXJGUkg5NEhlM3Y1aU1D?=
 =?gb2312?B?KzBNcXhXdnBsMUVLSE9BMGdpbUltalRCR2YwL1RiOXdYUmVIVVJyWllmc1lr?=
 =?gb2312?B?Szc1SjVMUnd1UVNxU1dZSGtPTUphWklvRTZUQVpjOVJ3ZTFod2Vrd2VjV00z?=
 =?gb2312?B?MFlCVkFabFhVakUwZGZiY3d2eTBZTVFzdFlIRGRid0QxNzRFUXk2Q2Q4RzRR?=
 =?gb2312?B?blczWVRNaHV1QWcydjUrQm5qTDM5OUpkSStZZTZBQWpDTXNVMG1RQWlLVmYv?=
 =?gb2312?B?YTF4b3JOeXBocllrTndHakZQOVlXbWJuM0wvQ3gwY3ZVZ29OV2tzR2JJR040?=
 =?gb2312?B?U2xjcVVHQ3RVQkdPUHpDMWNPazZjVG1uUktUTHFHUkFGUFUveVBYRkZNejJv?=
 =?gb2312?B?djg0VytYS2dLZkRqcDNtcEk5MlZweW92cEQxRE51aTNmYzB5K0ZSMTZ4TFYy?=
 =?gb2312?B?SmNlTnUzUVNPZzVuZkl1TlRMcm1OZmxuZUNwQkZ0N2o3UHlOMU8wMERtT1F0?=
 =?gb2312?B?VFQ0bEY1UVduc3ZhL0J3Tm9GWnFFWFhjdFdJQ0QyMXI5cit4anJJbmFvVTgv?=
 =?gb2312?B?YzBDdHUzY2FEY2N6WHpDWVhsTmRkbXI1bENGeWFTS2FMVEN2V2lOcjdGWlpF?=
 =?gb2312?B?YVBmd1haaEpjSkxIRStVcmlRRnFXb2kzbjZoNHduTVFsRzdXaWpBZWZYTnBq?=
 =?gb2312?B?dmFEUDlwVHhjelk4eFdYVCtmYVJvbXRzMmpEU3UxRmNIN2hzeVMzaGJtT2tK?=
 =?gb2312?B?RGRGZ3VKNS90MkZtM3BzeXo0Yy9DTUZvcWpFRUsxZ1NrUEowaUt2R0thN2x1?=
 =?gb2312?B?VGZBSHJDb3hMQjdNRzhXUmZUYlBhSDJxN3dpbE9NQVFiVnVQZ0ZtTWQ0V2dE?=
 =?gb2312?B?Y2Y2R2lEdk03UDZkeFJxaVZRK2dWVDlCMldoZXNSYVZiYVh1MzJML1ZUTWY5?=
 =?gb2312?B?dW5DYVJLdHk0M0ZFRXNKcSs3dnU2WDU5MW1SNnFrWjlXUHZzbTZON1BFM0hm?=
 =?gb2312?B?bEhHbkxZM2VITFJHQ3o2ZDhUbHFtZm9DeWVoNTA4YmpsRXlBcXRsTGhZalVp?=
 =?gb2312?B?Nis2d0lLNHh2dkl3VWlaVUR3ZW0xVklTcVMyc1lmUkMrdlgycnp2amtjV09X?=
 =?gb2312?B?bDduV0xCdEFFRUtENCtsbWpjTGFUazUzcjJnUEdVNXBRMnR5SXBsVWt3c0Ir?=
 =?gb2312?B?ckhvYjF2cngzNFJxNVpIMktSYVlpalFUaXBDcVdQM1JVOGtLMWxXTFh3NFVJ?=
 =?gb2312?B?RnNudnJhajhkOVYrM0hSOHkrdERPdTVsUzR4cnJRR0tVaUMxYTRqRldyMFVN?=
 =?gb2312?B?ZWpJM1VKUjZPTVZjRjh2VW5Mc1VpTU12SzJQZkVmZTdCN0dNRXM3bEY3Tmhy?=
 =?gb2312?B?Q1hIYUtkajJsYXRUMyt5VGtIeHVudDZCazZlam4vbGFvaWtBUkMvREhXRllM?=
 =?gb2312?B?SldQd0YrZzJxUmFrZmlaT3oyZUl2a25pTGo0ZE96Q3J0cTFlMjdXSjZZQ3VZ?=
 =?gb2312?Q?vULkHi8FiG/b275OywMU25HOh89CsQyUiBqxeSr?=
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2598
Original-Authentication-Results: kernel.org; dkim=none (message not signed)
 header.d=none;kernel.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT013.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	86749afd-951d-47bd-2ed1-08d9686384da
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8HvtgrgpJ3wZNJJeq5DzsZTHByfiu30iidpCL6it73cKx4zE7EtNG6N9zS9Parm8T5yAZi9xNlXiNJpUcuR81MS0nqgXKkWtpqfC4cBr8BwqiowiPvweeBMYAUmuqhGskAx6S9r2AAIbF4Xb7vNQhUFmtkrVKRKW4Z8WeLlZvi90lAAcCV21quWs/vjXgLmGfthkTpeACME760ZYjpVnbYuw/jttbnjoydb4QXBObFm7d16DLIlQDlly554ZmkFOcMll++G4YNXVZ2kcYkd11vAdOpz5cXXqy+mc5Sy3fLmVexkvTSrUeH0fZAPCvDLSMw+Y9vPFMu1f5tOb0JjubAqnPVwEvXV3/Yr9os1Fd6YXNfRRQdJsF38BlT8Uf/xk6LeMRVibkhCQju119+KF+5fP7pGhv+hREJYPIT151dbOTy2w+/y085C6DSe99vtlIG7tAxjM/aGgR2nO9R0TvdLuMZSOyiUd/PpC17nHEul1jKPjRhJObaMb4jXn0fgciAmN01H90WdyiT/TvxpWCkx6fUXtMViElzGDi7ob1xLF/y806sjlZ5zKWJM9Btv352QP1k2RP+DcrvA0TPPH937xw7zv3n7zwKjzKLrrobq76i2l22+Un5U3szrXeaxTed8wSz4kStNQutE0hxnr58GBWr8e7PkQ0KlAFE5047HSROjU8YDWmavWgm9zO9v4BI18vXnyvbW0Ar/9sKlCkVTsLiMkucCc4g4P0cAPZJ39C+9e0aFS9W6ZqvFa2s4w8uaj1hFyM+BZ03ZexxnoDnyoujsaKWGobxh7KG3he24=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(346002)(396003)(376002)(136003)(39860400002)(46966006)(36840700001)(83380400001)(4326008)(82740400003)(86362001)(47076005)(33656002)(336012)(2906002)(107886003)(186003)(6862004)(26005)(81166007)(356005)(82310400003)(316002)(54906003)(36860700001)(7696005)(5660300002)(53546011)(478600001)(70586007)(70206006)(8676002)(55016002)(52536014)(966005)(6506007)(9686003)(8936002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 07:31:40.7334
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ba766ca5-f500-4250-8541-08d968638be0
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT013.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB5938

SGkgU3RlZmFubywNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBTdGVm
YW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+DQo+IFNlbnQ6IDIwMjHE6jjU
wjI2yNUgODowOQ0KPiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiB4ZW4t
ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmc7IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc7IGp1bGll
bkB4ZW4ub3JnOw0KPiBqYmV1bGljaEBzdXNlLmNvbTsgQmVydHJhbmQgTWFycXVpcyA8QmVydHJh
bmQuTWFycXVpc0Bhcm0uY29tPjsNCj4gYW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbQ0KPiBTdWJq
ZWN0OiBSZTogW1hFTiBSRkMgUEFUQ0ggMDAvNDBdIEFkZCBkZXZpY2UgdHJlZSBiYXNlZCBOVU1B
IHN1cHBvcnQgdG8NCj4gQXJtNjQNCj4gDQo+IFRoYW5rcyBmb3IgdGhlIGJpZyBjb250cmlidXRp
b24hDQo+IA0KPiBJIGp1c3Qgd2FudGVkIHRvIGxldCB5b3Uga25vdyB0aGF0IHRoZSBzZXJpZXMg
cGFzc2VkIGFsbCB0aGUgZ2l0bGFiLWNpDQo+IGJ1aWxkIHRlc3RzIHdpdGhvdXQgaXNzdWVzLg0K
PiANCj4gVGhlIHJ1bnRpbWUgdGVzdHMgb3JpZ2luYWxseSBmYWlsZWQgZHVlIHRvIHVucmVsYXRl
ZCBwcm9ibGVtcyAodGhlcmUgd2FzDQo+IGEgRGViaWFuIHRlc3RpbmcgdXBncmFkZSB0aGF0IGJy
b2tlIEdpdGxhYi1DSS4pIEkgZml4IHRoZSB1bmRlcmx5aW5nDQo+IGlzc3VlIGFuZCByZXN0YXJ0
ZWQgdGhlIGZhaWxlZCB0ZXN0cyBhbmQgbm93IHRoZXkgcGFzc2VkLg0KPiANCj4gVGhpcyBpcyB0
aGUgcGlwZWxpbmU6DQo+IGh0dHBzOi8vZ2l0bGFiLmNvbS94ZW4tcHJvamVjdC9wYXRjaGV3L3hl
bi8tL3BpcGVsaW5lcy8zNTE0ODQ5NDANCj4gDQo+IFRoZXJlIGFyZSBzdGlsbCB0d28gcnVudGlt
ZSB4ODYgdGVzdHMgdGhhdCBmYWlsIGJ1dCBJIGRvbid0IHRoaW5rIHRoZQ0KPiBmYWlsdXJlcyBh
cmUgcmVsYXRlZCB0byB5b3VyIHNlcmllcy4NCj4gDQo+IA0KDQpUaGFua3MgZm9yIHRlc3Rpbmcg
dGhpcyBzZXJpZXMgOiApDQoNCj4gT24gV2VkLCAxMSBBdWcgMjAyMSwgV2VpIENoZW4gd3JvdGU6
DQo+ID4gWGVuIG1lbW9yeSBhbGxvY2F0aW9uIGFuZCBzY2hlZHVsZXIgbW9kdWxlcyBhcmUgTlVN
QSBhd2FyZS4NCj4gPiBCdXQgYWN0dWFsbHksIG9uIHg4NiBoYXMgaW1wbGVtZW50ZWQgdGhlIGFy
Y2hpdGVjdHVyZSBBUElzDQo+ID4gdG8gc3VwcG9ydCBOVU1BLiBBcm0gd2FzIHByb3ZpZGluZyBh
IHNldCBvZiBmYWtlIGFyY2hpdGVjdHVyZQ0KPiA+IEFQSXMgdG8gbWFrZSBpdCBjb21wYXRpYmxl
IHdpdGggTlVNQSBhd2FyZWQgbWVtb3J5IGFsbG9jYXRpb24NCj4gPiBhbmQgc2NoZWR1bGVyLg0K
PiA+DQo+ID4gQXJtIHN5c3RlbSB3YXMgd29ya2luZyB3ZWxsIGFzIGEgc2luZ2xlIG5vZGUgTlVN
QSBzeXN0ZW0gd2l0aA0KPiA+IHRoZXNlIGZha2UgQVBJcywgYmVjYXVzZSB3ZSBkaWRuJ3QgaGF2
ZSBtdWx0aXBsZSBub2RlcyBOVU1BDQo+ID4gc3lzdGVtIG9uIEFybS4gQnV0IGluIHJlY2VudCB5
ZWFycywgbW9yZSBhbmQgbW9yZSBBcm0gZGV2aWNlcw0KPiA+IHN1cHBvcnQgbXVsdGlwbGUgbm9k
ZXMgTlVNQSBzeXN0ZW0uIExpa2UgVFgyLCBzb21lIEhpc2lsaWNvbg0KPiA+IGNoaXBzIGFuZCB0
aGUgQW1wZXJlIEFsdHJhLg0KPiA+DQo+ID4gU28gbm93IHdlIGhhdmUgYSBuZXcgcHJvYmxlbS4g
V2hlbiBYZW4gaXMgcnVubmluZyBvbiB0aGVzZSBBcm0NCj4gPiBkZXZpY2VzLCBYZW4gc3RpbGwg
dHJlYXQgdGhlbSBhcyBzaW5nbGUgbm9kZSBTTVAgc3lzdGVtcy4gVGhlDQo+ID4gTlVNQSBhZmZp
bml0eSBjYXBhYmlsaXR5IG9mIFhlbiBtZW1vcnkgYWxsb2NhdGlvbiBhbmQgc2NoZWR1bGVyDQo+
ID4gYmVjb21lcyBtZWFuaW5nbGVzcy4gQmVjYXVzZSB0aGV5IHJlbHkgb24gaW5wdXQgZGF0YSB0
aGF0IGRvZXMNCj4gPiBub3QgcmVmbGVjdCByZWFsIE5VTUEgbGF5b3V0Lg0KPiA+DQo+ID4gWGVu
IHN0aWxsIHRoaW5rIHRoZSBhY2Nlc3MgdGltZSBmb3IgYWxsIG9mIHRoZSBtZW1vcnkgaXMgdGhl
DQo+ID4gc2FtZSBmb3IgYWxsIENQVXMuIEhvd2V2ZXIsIFhlbiBtYXkgYWxsb2NhdGUgbWVtb3J5
IHRvIGEgVk0NCj4gPiBmcm9tIGRpZmZlcmVudCBOVU1BIG5vZGVzIHdpdGggZGlmZmVyZW50IGFj
Y2VzcyBzcGVlZHMuIFRoaXMNCj4gPiBkaWZmZXJlbmNlIGNhbiBiZSBhbXBsaWZpZWQgaW4gd29y
a2xvYWRzIGluc2lkZSBWTSwgY2F1c2luZw0KPiA+IHBlcmZvcm1hbmNlIGluc3RhYmlsaXR5IGFu
ZCB0aW1lb3V0cy4NCj4gPg0KPiA+IFNvIGluIHRoaXMgcGF0Y2ggc2VyaWVzLCB3ZSBpbXBsZW1l
bnQgYSBzZXQgb2YgTlVNQSBBUEkgdG8gdXNlDQo+ID4gZGV2aWNlIHRyZWUgdG8gZGVzY3JpYmUg
dGhlIE5VTUEgbGF5b3V0LiBXZSByZXVzZSBtb3N0IG9mIHRoZQ0KPiA+IGNvZGUgb2YgeDg2IE5V
TUEgdG8gY3JlYXRlIGFuZCBtYWludGFpbiB0aGUgbWFwcGluZyBiZXR3ZWVuDQo+ID4gbWVtb3J5
IGFuZCBDUFUsIGNyZWF0ZSB0aGUgbWF0cml4IGJldHdlZW4gYW55IHR3byBOVU1BIG5vZGVzLg0K
PiA+IEV4Y2VwdCBBQ1BJIGFuZCBzb21lIHg4NiBzcGVjaWZpZWQgY29kZSwgd2UgaGF2ZSBtb3Zl
ZCBvdGhlcg0KPiA+IGNvZGUgdG8gY29tbW9uLiBJbiBuZXh0IHN0YWdlLCB3aGVuIHdlIGltcGxl
bWVudCBBQ1BJIGJhc2VkDQo+ID4gTlVNQSBmb3IgQXJtNjQsIHdlIG1heSBtb3ZlIHRoZSBBQ1BJ
IE5VTUEgY29kZSB0byBjb21tb24gdG9vLA0KPiA+IGJ1dCBpbiBjdXJyZW50IHN0YWdlLCB3ZSBr
ZWVwIGl0IGFzIHg4NiBvbmx5Lg0KPiA+DQo+ID4gVGhpcyBwYXRjaCBzZXJpcmVzIGhhcyBiZWVu
IHRlc3RlZCBhbmQgYm9vdGVkIHdlbGwgb24gb25lDQo+ID4gQXJtNjQgTlVNQSBtYWNoaW5lIGFu
ZCBvbmUgSFBFIHg4NiBOVU1BIG1hY2hpbmUuDQo+ID4NCj4gPiBIb25nZGEgRGVuZyAoMik6DQo+
ID4gICB4ZW4vYXJtOiByZXR1cm4gZGVmYXVsdCBETUEgYml0IHdpZHRoIHdoZW4gcGxhdGZvcm0g
aXMgbm90IHNldA0KPiA+ICAgeGVuL2FybTogRml4IGxvd21lbV9iaXRzaXplIHdoZW4gYXJjaF9n
ZXRfZG1hX2JpdHNpemUgcmV0dXJuIDANCj4gPg0KPiA+IFdlaSBDaGVuICgzOCk6DQo+ID4gICB0
b29sczogRml4IC1XZXJyb3I9bWF5YmUtdW5pbml0aWFsaXplZCBmb3IgeGx1X3BjaV9wYXJzZV9i
ZGYNCj4gPiAgIHhlbi9hcm06IFByaW50IGEgNjQtYml0IG51bWJlciBpbiBoZXggZnJvbSBlYXJs
eSB1YXJ0DQo+ID4gICB4ZW4veDg2OiBJbml0aWFsaXplIG1lbW5vZGVtYXBzaXplIHdoaWxlIGZh
a2luZyBOVU1BIG5vZGUNCj4gPiAgIHhlbjogZGVjb3VwbGUgTlVNQSBmcm9tIEFDUEkgaW4gS2Nv
bmZpZw0KPiA+ICAgeGVuL2FybTogdXNlICFDT05GSUdfTlVNQSB0byBrZWVwIGZha2UgTlVNQSBB
UEkNCj4gPiAgIHhlbi94ODY6IE1vdmUgTlVNQSBtZW1vcnkgbm9kZSBtYXAgZnVuY3Rpb25zIHRv
IGNvbW1vbg0KPiA+ICAgeGVuL3g4NjogTW92ZSBudW1hX2FkZF9jcHVfbm9kZSB0byBjb21tb24N
Cj4gPiAgIHhlbi94ODY6IE1vdmUgTlJfTk9ERV9NRU1CTEtTIG1hY3JvIHRvIGNvbW1vbg0KPiA+
ICAgeGVuL3g4NjogTW92ZSBOVU1BIG5vZGVzIGFuZCBtZW1vcnkgYmxvY2sgcmFuZ2VzIHRvIGNv
bW1vbg0KPiA+ICAgeGVuL3g4NjogTW92ZSBudW1hX2luaXRtZW1faW5pdCB0byBjb21tb24NCj4g
PiAgIHhlbi9hcm06IGludHJvZHVjZSBudW1hX3NldF9ub2RlIGZvciBBcm0NCj4gPiAgIHhlbi9h
cm06IHNldCBOVU1BIG5vZGVzIG1heCBudW1iZXIgdG8gNjQgYnkgZGVmYXVsdA0KPiA+ICAgeGVu
L3g4NjogbW92ZSBOVU1BIEFQSSBmcm9tIHg4NiBoZWFkZXIgdG8gY29tbW9uIGhlYWRlcg0KPiA+
ICAgeGVuL2FybTogQ3JlYXRlIGEgZmFrZSBOVU1BIG5vZGUgdG8gdXNlIGNvbW1vbiBjb2RlDQo+
ID4gICB4ZW4vYXJtOiBJbnRyb2R1Y2UgREVWSUNFX1RSRUVfTlVNQSBLY29uZmlnIGZvciBhcm02
NA0KPiA+ICAgeGVuL2FybTogS2VlcCBtZW1vcnkgbm9kZXMgaW4gZHRiIGZvciBOVU1BIHdoZW4g
Ym9vdCBmcm9tIEVGSQ0KPiA+ICAgeGVuOiBmZHQ6IEludHJvZHVjZSBhIGhlbHBlciB0byBjaGVj
ayBmZHQgbm9kZSB0eXBlDQo+ID4gICB4ZW4vYXJtOiBpbXBsZW1lbnQgbm9kZSBkaXN0YW5jZSBo
ZWxwZXJzIGZvciBBcm02NA0KPiA+ICAgeGVuL2FybTogaW50cm9kdWNlIGRldmljZV90cmVlX251
bWEgYXMgYSBzd2l0Y2ggZm9yIGRldmljZSB0cmVlIE5VTUENCj4gPiAgIHhlbi9hcm06IGludHJv
ZHVjZSBhIGhlbHBlciB0byBwYXJzZSBkZXZpY2UgdHJlZSBwcm9jZXNzb3Igbm9kZQ0KPiA+ICAg
eGVuL2FybTogaW50cm9kdWNlIGEgaGVscGVyIHRvIHBhcnNlIGRldmljZSB0cmVlIG1lbW9yeSBu
b2RlDQo+ID4gICB4ZW4vYXJtOiBpbnRyb2R1Y2UgYSBoZWxwZXIgdG8gcGFyc2UgZGV2aWNlIHRy
ZWUgTlVNQSBkaXN0YW5jZSBtYXANCj4gPiAgIHhlbi9hcm06IHVuaWZpZWQgZW50cnkgdG8gcGFy
c2UgYWxsIE5VTUEgZGF0YSBmcm9tIGRldmljZSB0cmVlDQo+ID4gICB4ZW4vYXJtOiBBZGQgYm9v
dCBhbmQgc2Vjb25kYXJ5IENQVSB0byBOVU1BIHN5c3RlbQ0KPiA+ICAgeGVuL2FybTogYnVpbGQg
Q1BVIE5VTUEgbm9kZSBtYXAgd2hpbGUgY3JlYXRpbmcgY3B1X2xvZ2ljYWxfbWFwDQo+ID4gICB4
ZW4veDg2OiBkZWNvdXBsZSBub2Rlc19jb3Zlcl9tZW1vcnkgd2l0aCBFODIwIG1hcA0KPiA+ICAg
eGVuL2FybTogaW1wbGVtZW50IEFybSBhcmNoIGhlbHBlcnMgQXJtIHRvIGdldCBtZW1vcnkgbWFw
IGluZm8NCj4gPiAgIHhlbjogbW92ZSBOVU1BIG1lbW9yeSBhbmQgQ1BVIHBhcnNlZCBub2RlbWFz
a3MgdG8gY29tbW9uDQo+ID4gICB4ZW4veDg2OiBtb3ZlIG5vZGVzX2NvdmVyX21lbW9yeSB0byBj
b21tb24NCj4gPiAgIHhlbi94ODY6IG1ha2UgYWNwaV9zY2FuX25vZGVzIHRvIGJlIG5ldXRyYWwN
Cj4gPiAgIHhlbjogZXhwb3J0IGJhZF9zcmF0IGFuZCBzcmF0X2Rpc2FibGVkIHRvIGV4dGVybg0K
PiA+ICAgeGVuOiBtb3ZlIG51bWFfc2Nhbl9ub2RlcyBmcm9tIHg4NiB0byBjb21tb24NCj4gPiAg
IHhlbjogZW5hYmxlIG51bWFfc2Nhbl9ub2RlcyBmb3IgZGV2aWNlIHRyZWUgYmFzZWQgTlVNQQ0K
PiA+ICAgeGVuL2FybToga2VlcCBndWVzdCBzdGlsbCBiZSBOVU1BIHVud2FyZQ0KPiA+ICAgeGVu
OiBpbnRyb2R1Y2UgYW4gYXJjaCBoZWxwZXIgdG8gZG8gTlVNQSBpbml0IGZhaWxlZCBmYWxsYmFj
aw0KPiA+ICAgeGVuL2FybTogZW5hYmxlIGRldmljZSB0cmVlIGJhc2VkIE5VTUEgaW4gc3lzdGVt
IGluaXQNCj4gPiAgIHhlbi94ODY6IG1vdmUgbnVtYV9zZXR1cCB0byBjb21tb24gdG8gc3VwcG9y
dCBOVU1BIHN3aXRjaCBpbiBjb21tYW5kDQo+ID4gICAgIGxpbmUNCj4gPiAgIHhlbi94ODY6IG1v
dmUgZHVtcF9udW1hIGluZm8gaG90a2V5IHRvIGNvbW1vbg0KPiA+DQo+ID4gIHRvb2xzL2xpYnMv
dXRpbC9saWJ4bHVfcGNpLmMgICAgfCAgIDMgKy0NCj4gPiAgeGVuL2FyY2gvYXJtL0tjb25maWcg
ICAgICAgICAgICB8ICAxMCArDQo+ID4gIHhlbi9hcmNoL2FybS9NYWtlZmlsZSAgICAgICAgICAg
fCAgIDIgKw0KPiA+ICB4ZW4vYXJjaC9hcm0vYXJtNjQvaGVhZC5TICAgICAgIHwgICA5ICstDQo+
ID4gIHhlbi9hcmNoL2FybS9ib290ZmR0LmMgICAgICAgICAgfCAgIDggKy0NCj4gPiAgeGVuL2Fy
Y2gvYXJtL2RvbWFpbl9idWlsZC5jICAgICB8ICAxNyArLQ0KPiA+ICB4ZW4vYXJjaC9hcm0vZWZp
L2VmaS1ib290LmggICAgIHwgIDI1IC0tDQo+ID4gIHhlbi9hcmNoL2FybS9udW1hLmMgICAgICAg
ICAgICAgfCAxNjIgKysrKysrKysrDQo+ID4gIHhlbi9hcmNoL2FybS9udW1hX2RldmljZV90cmVl
LmMgfCAyOTIgKysrKysrKysrKysrKysrKw0KPiA+ICB4ZW4vYXJjaC9hcm0vcGxhdGZvcm0uYyAg
ICAgICAgIHwgICA0ICstDQo+ID4gIHhlbi9hcmNoL2FybS9zZXR1cC5jICAgICAgICAgICAgfCAg
MTQgKw0KPiA+ICB4ZW4vYXJjaC9hcm0vc21wYm9vdC5jICAgICAgICAgIHwgIDM3ICstDQo+ID4g
IHhlbi9hcmNoL3g4Ni9LY29uZmlnICAgICAgICAgICAgfCAgIDIgKy0NCj4gPiAgeGVuL2FyY2gv
eDg2L251bWEuYyAgICAgICAgICAgICB8IDQyMSArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+
ICB4ZW4vYXJjaC94ODYvc3JhdC5jICAgICAgICAgICAgIHwgMTQ3ICstLS0tLS0tDQo+ID4gIHhl
bi9jb21tb24vS2NvbmZpZyAgICAgICAgICAgICAgfCAgIDMgKw0KPiA+ICB4ZW4vY29tbW9uL01h
a2VmaWxlICAgICAgICAgICAgIHwgICAxICsNCj4gPiAgeGVuL2NvbW1vbi9saWJmZHQvZmR0X3Jv
LmMgICAgICB8ICAxNSArDQo+ID4gIHhlbi9jb21tb24vbnVtYS5jICAgICAgICAgICAgICAgfCA1
ODggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gPiAgeGVuL2NvbW1vbi9wYWdl
X2FsbG9jLmMgICAgICAgICB8ICAgMiArLQ0KPiA+ICB4ZW4vZHJpdmVycy9hY3BpL0tjb25maWcg
ICAgICAgIHwgICAzICstDQo+ID4gIHhlbi9kcml2ZXJzL2FjcGkvTWFrZWZpbGUgICAgICAgfCAg
IDIgKy0NCj4gPiAgeGVuL2luY2x1ZGUvYXNtLWFybS9udW1hLmggICAgICB8ICAzMyArKw0KPiA+
ICB4ZW4vaW5jbHVkZS9hc20tYXJtL3NldHVwLmggICAgIHwgICA2ICsNCj4gPiAgeGVuL2luY2x1
ZGUvYXNtLXg4Ni9hY3BpLmggICAgICB8ICAgNCAtDQo+ID4gIHhlbi9pbmNsdWRlL2FzbS14ODYv
Y29uZmlnLmggICAgfCAgIDEgLQ0KPiA+ICB4ZW4vaW5jbHVkZS9hc20teDg2L251bWEuaCAgICAg
IHwgIDY1ICstLS0NCj4gPiAgeGVuL2luY2x1ZGUvYXNtLXg4Ni9zZXR1cC5oICAgICB8ICAgMSAt
DQo+ID4gIHhlbi9pbmNsdWRlL3hlbi9saWJmZHQvbGliZmR0LmggfCAgMjUgKysNCj4gPiAgeGVu
L2luY2x1ZGUveGVuL25vZGVtYXNrLmggICAgICB8ICAgMiArDQo+ID4gIHhlbi9pbmNsdWRlL3hl
bi9udW1hLmggICAgICAgICAgfCAgODAgKysrKysNCj4gPiAgMzEgZmlsZXMgY2hhbmdlZCwgMTMy
NSBpbnNlcnRpb25zKCspLCA2NTkgZGVsZXRpb25zKC0pDQo+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0
NCB4ZW4vYXJjaC9hcm0vbnVtYS5jDQo+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCB4ZW4vYXJjaC9h
cm0vbnVtYV9kZXZpY2VfdHJlZS5jDQo+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCB4ZW4vY29tbW9u
L251bWEuYw0KPiA+DQo+ID4gLS0NCj4gPiAyLjI1LjENCj4gPg0K


From xen-devel-bounces@lists.xenproject.org Thu Aug 26 07:40:55 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 07:40:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172774.315276 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJA0C-0008E5-2f; Thu, 26 Aug 2021 07:40:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172774.315276; Thu, 26 Aug 2021 07: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 1mJA0B-0008Dx-UL; Thu, 26 Aug 2021 07:40:43 +0000
Received: by outflank-mailman (input) for mailman id 172774;
 Thu, 26 Aug 2021 07:40:42 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HXzX=NR=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJA0A-0008Do-Pj
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 07:40:42 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id e990d9f4-0640-11ec-a9d3-12813bfff9fa;
 Thu, 26 Aug 2021 07:40:41 +0000 (UTC)
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2053.outbound.protection.outlook.com [104.47.0.53]) (Using
 TLS) by relay.mimecast.com with ESMTP id de-mta-3-pW52T81NNGKDI-F5BLu9Sw-1;
 Thu, 26 Aug 2021 09:40:39 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VE1PR04MB6478.eurprd04.prod.outlook.com (2603:10a6:803:12a::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Thu, 26 Aug
 2021 07:40:37 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Thu, 26 Aug 2021
 07:40:37 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR1P264CA0027.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:19f::14) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.18 via Frontend Transport; Thu, 26 Aug 2021 07:40: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: e990d9f4-0640-11ec-a9d3-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629963640;
	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=/mkoJkS2nsAPIogrUG5cpu9oBCL7sD7bqU7z4PnbtgM=;
	b=KkKUFUFJGakmbrs8EZiIMNZH3OD8BiABKX+m5jo4ICaOkZFKZvTlt+6wlx85xFbEW0rqk/
	9zymB9UPFLSf318h56DspjvzWpogBpiC5kZ/RKhc2TPVRamrtfvZVoFT/w1uMy25y5oijb
	eMsY+lmoxSYkP7Jc1SIjiNm5S5p0880=
X-MC-Unique: pW52T81NNGKDI-F5BLu9Sw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=idSHL73UXfGoXJ9tNFJPbx0jWjs7dQJX8Zmm7TGaSJ0qvY0fUhuOGV7dFRU520Pq7BuamGQ6UhDLIrrBaRqlhZeWxkoV6MnEcOUjPhXQQYnqmr8r7Z0NoWxMbWZSUic5t8qB9ExVBl7k02ReKAvTihZ/mFj4zU1nhJV981TURz6aqxsMhMzHVuGTl20IhEjcXnxB153auYMqOTobTuOQn5VJKLyX18sD017AmimVufcLaOWm6PuS0t8fu0XMGl/RJn4QemgSTnZoFoLtFy8bjOrAXEildACHEYP5x9FFUo3IhDpr7hEXWYus8FVWUWMiHqz4GHVYWnT9St4HG03HcA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=A2f1ZJz7UGKiKdVtixzxUoCAeaTNNvJ3KIXZkRUv1yE=;
 b=E+SCvxcHCjIha4fLWaYbXAsRHGjSu2qPV56Tiov/J3xxgGRrB8/6r8JGDQqjYIc4xvkPfsDWz5vY1LtQcH7I/dGuL1+Sz//t4fufys+Z/NodF6z1LTVNf1IS32fSkAZztX7nXmHdqdJuF/E0QyQY31lVaCaUsJFB959o3baKstdEHSzweSQklqjdX3EXEFk1fc1pJ61YK2MDWCSqdpQHmQTPeIhod3wFkeXNovMoEFQ8+S4Fqw2tUMbno9XV7bNmhXef/Erm9FuzON/lYkSUS/1FMo1g2dgqAUcVodG2Kv933rwaEpu6OjABYGpp1jPMSr4RXIEIu1MrVsCTSSJXfQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH] x86/xstate: reset cached register values on resume
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>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <20210818113017.454251-1-marmarek@invisiblethingslab.com>
 <45de5185-b514-8c52-6922-4c587818c698@citrix.com>
 <3125583f-b965-7746-d833-c197857cd7d7@citrix.com>
 <15fb708e-e03d-bc4a-a0bd-72b81d26c6da@suse.com>
 <930a3c79-ddf3-2b95-495d-8d4f229c9fb9@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <853d0d22-734e-b3ef-dff5-2763c88630eb@suse.com>
Date: Thu, 26 Aug 2021 09:40:34 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <930a3c79-ddf3-2b95-495d-8d4f229c9fb9@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: PR1P264CA0027.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:19f::14) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: cb831be6-a215-4ee5-7265-08d96864cba2
X-MS-TrafficTypeDiagnostic: VE1PR04MB6478:
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB647866247D4AEDCBE4A257C4B3C79@VE1PR04MB6478.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5MYuMGNyskQB9U+qUNREr8w2uzTDb4ZGCcaeeGaybUbNjgjCdej3Oiv/C5ELVAN+aUoRcbPg5kbTVOWenPA16dwpu8yCUEZqnpWXniabUECgnkI2ltaje4HAY+QYheAVBAX1Laq7pqVJM2WtvNdiY8cqu621r5jEoJtI9rcSuFIo8IzLv5DX/aD/uGpcIIX3nRcQCIfKAHUeZMUGx1+dtyJV5yFLckT1cXtZzOAhb0pfkWDB7nTOdZUb2yGSYpok9n5JEjE+5RrQioNaHDPVDawgPgUFUuKkkq6HCZcELC7m2WiFHb6M1+TgUU3YrbAblknD001JzXbgcnRDdUOg8WViu6h0GPp1k3rTATHDW8P7j1LVyZTU6QVfbHJr/ivy8qHIpTRNTwn/H7lrRpaE5+6hjDJfmwsX9C9zeHIrja8DflG2zbpls+xww3e5/K5hlRDI9MTUBz354iyK2X9N7lmPGKxUF6VvRHlRKPYYHxTnYoLXZiGyi27tVq55Bt216y8Oy7SWvD11S8nqsuZLoMq693yKnTTpBfLS9aokijnEoZA8FZlapG6Dkh4NInK4xOSjH9oveK6CBrvjtyxk+MsFQ/C34I9xJUciyQjR/1+G5ZzQ1BIPgFXhVPbi3tbbAJQWFRUTFkazV/5f2umTEISgwhqyc5vmHMt4S0umtIFeRaiBTCBvA0bO3MJdN9zQHr3xPIBTEu3P6MWs3OmVJCpDVevFL0Jhd7tHUMs1e3c=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(376002)(366004)(136003)(346002)(39840400004)(36756003)(66574015)(478600001)(956004)(2616005)(38100700002)(2906002)(16576012)(316002)(186003)(5660300002)(26005)(83380400001)(6916009)(8676002)(66556008)(66476007)(54906003)(4326008)(86362001)(31686004)(31696002)(8936002)(6486002)(66946007)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?dKIqtQL5lg7wni/6zlXcCPLboqfUh938IVyzene3NPYRlHbfrsdgHLwtuorQ?=
 =?us-ascii?Q?h/jeWM7+VFhuxxQV//m5DeRlPyhxoAopMV2Xn/TEc3jubafZST9GUiXGT38/?=
 =?us-ascii?Q?9C+oAQxoOCGvTjeAtaNRpOVIGWn7NcMjCOkXTaxHRtW3pUGb3tMF9+O1jJmD?=
 =?us-ascii?Q?F14XKipDbaVJHWt2K/1HUJ5QkUzIhJCCIUl25H+PTxmldgVr1Qd34S2adWXj?=
 =?us-ascii?Q?9XGlfmukwwV1eo/bZ3mpkMG++j4XL3AQCT5jI3OKO3JhbtME2pukNZEngRcz?=
 =?us-ascii?Q?slQEgN6aIPgx3vqhH6kNLZP3Sb6SC8yF5jUNSpa+MKS37/MiYKCocfMZplPP?=
 =?us-ascii?Q?IB27NKyyTZhKMznLmeTATMtgb02xnYsdmpFcdX6d2XLBOyHEYCE1+IR0or1C?=
 =?us-ascii?Q?r0pBIFziB8bLRkLZ8CiePHI0iCwk/dSCT9SZln9zECRHPl5sQVI/RkfgHSe6?=
 =?us-ascii?Q?hyTEIjSk2CtVms0ujf2cqu5Ksy+WCAdlt+y0MMw1y7qQ8MszbWUL8LFVddS2?=
 =?us-ascii?Q?mrzhMTIr4U/XOtyfOI+ESPhgjCFUw529sEBGZOgaO8Hf1+97s0hgBFvlxrDN?=
 =?us-ascii?Q?0fOCkOrL27LUH9QgEm9GIBZboHYF4LOZ+BRSWDoTflfHxbNYB6Lhif/Nu3vX?=
 =?us-ascii?Q?bOqoNU4c5Eh2Xujh/hcbpMjrNj3/DbeSVyuHxsZgxC82U+RBPAPeBukkwUYx?=
 =?us-ascii?Q?jejzAX174yEOx94l//WG9f+Z5MGga6Mr/FarAgGzTS/DWhXEtsdnCmDKP1vX?=
 =?us-ascii?Q?TX05OEb8Xqqwz60dommtWb5sEJYFqNORFTzwgL7uLspz/y25XqDErLxvSEkA?=
 =?us-ascii?Q?ddu4r+Kf6EAf4sQRM4qSFGUEn5Vq597QJM1i/lOJ9fn0D+l+ahgOFgAGfPmq?=
 =?us-ascii?Q?RpXnGF2QbovI0NUGIDhkv5I+RCbNrDG50TX6rEyV+TkRGBFj6+GpetJTQ+Wo?=
 =?us-ascii?Q?cjvHxbxBoutJuFMI5fIKjFY/B2R80oITk5r3sXOCsROgKyG7tMjlnhTpgmvR?=
 =?us-ascii?Q?z824pN47tumyFUQsWBRkkw9D0DccRpOSLv2eANYybzvJBfeglEBuwFP1+qU+?=
 =?us-ascii?Q?mSNOL7egEItP2Vncm1eO33LBCWpKqA4KFWQCkW5/d9HiKXX+e5miKzwFOKe5?=
 =?us-ascii?Q?MeYLqY4nmshiD/xTsLfaWOSLoSECxT9tSw7EmmXUNlM+UOLQL6aACjL0+7KT?=
 =?us-ascii?Q?xRGAZYdRF3nxeU3SEfy3zREVbbQo7d02BHLe0IqF8zmCOz/49Xl3ziQ9uDBy?=
 =?us-ascii?Q?W9z/6ZspWjD2pNoQM+3C7Srsm14+uiXKBwv0E+SpAbGq2XzKdmNe1IqG4ZEs?=
 =?us-ascii?Q?W30cGtytV9s9ez5VYhCWMsQq?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cb831be6-a215-4ee5-7265-08d96864cba2
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 07:40:37.3234
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: LV2BnlDyQ++8gsKhnlAifjTqfwxWUZ0tvPazUms7WjRnzG4prCm+W8WN04WhtAMpRzoupYWSw9zeX+UDRmJC9w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6478

On 25.08.2021 18:49, Andrew Cooper wrote:
> On 25/08/2021 16:02, Jan Beulich wrote:
>> On 24.08.2021 23:11, Andrew Cooper wrote:
>>> On 18/08/2021 13:44, Andrew Cooper wrote:
>>>> On 18/08/2021 12:30, Marek Marczykowski-G=C3=B3recki wrote:
>>>>> set_xcr0() and set_msr_xss() use cached value to avoid setting the
>>>>> register to the same value over and over. But suspend/resume implicit=
ly
>>>>> reset the registers and since percpu areas are not deallocated on
>>>>> suspend anymore, the cache gets stale.
>>>>> Reset the cache on resume, to ensure the next write will really hit t=
he
>>>>> hardware. Choose value 0, as it will never be a legitimate write to
>>>>> those registers - and so, will force write (and cache update).
>>>>>
>>>>> Note the cache is used io get_xcr0() and get_msr_xss() too, but:
>>>>> - set_xcr0() is called few lines below in xstate_init(), so it will
>>>>>   update the cache with appropriate value
>>>>> - get_msr_xss() is not used anywhere - and thus not before any
>>>>>   set_msr_xss() that will fill the cache
>>>>>
>>>>> Fixes: aca2a985a55a "xen: don't free percpu areas during suspend"
>>>>> Signed-off-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethi=
ngslab.com>
>>>> I'd prefer to do this differently.=C2=A0 As I said in the thread, ther=
e are
>>>> other registers such as MSR_TSC_AUX which fall into the same category,
>>>> and I'd like to make something which works systematically.
>>> Ok - after some searching, I think we have problems with:
>>>
>>> cpu/common.c:47:DEFINE_PER_CPU(struct cpuidmasks, cpuidmasks);
>> Don't we have a problem here even during initial boot? I can't see
>> the per-CPU variable to get filled by what the registers hold.
>=20
> No, I don't think so, but it is a roundabout route.

So where do you see it getting filled?

>>  If
>> the register started out non-zero (the default on AMD iirc, as it's
>> not really masks there) but the first value to be written was zero,
>> we'd skip the write.
>=20
> There is cpuidmask_defaults which does get filled from the MSRs on boot.
>=20
> AMD are real CPUID settings, while Intel is an and-mask.=C2=A0 i.e. they'=
re
> both non-zero (unless someone does something silly with the command line
> arguments, and I don't expect Xen to be happy booting if the leaves all
> read 0).

Surely not all of them together, but I don't think it's completely
unreasonable for one (say the XSAVE one, if e.g. XSAVE is to be turned
off altogether for guests) to be all zero.

> Each early_init_*() has an explicit ctxt_switch_levelling(NULL) call
> which, given non-zero content in cpuidmask_defaults should latch each
> one appropriately in the the per-cpu variable.

Well, as you say - provided the individual fields are all non-zero.

>>> cpu/common.c:120:static DEFINE_PER_CPU(uint64_t, msr_misc_features);
>> Almost the same here - we only initialize the variable on the BSP
>> afaics.
>=20
> No - way way way worse, I think.
>=20
> For all APs, we write 0 or MSR_MISC_FEATURES_CPUID_FAULTING into
> MSR_INTEL_MISC_FEATURES_ENABLES, which amongst other things turns off
> Fast String Enable.

Urgh, indeed. Prior to 6e2fdc0f8902 there was a read-modify-write
operation. With the introduction of the cache variable this went
away, while the cache gets filled for BSP only.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 07:52:06 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 07:52:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172781.315286 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJAB8-0001kV-4J; Thu, 26 Aug 2021 07:52:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172781.315286; Thu, 26 Aug 2021 07:52:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJAB8-0001kO-14; Thu, 26 Aug 2021 07:52:02 +0000
Received: by outflank-mailman (input) for mailman id 172781;
 Thu, 26 Aug 2021 07:52:01 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HXzX=NR=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJAB7-0001kI-KG
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 07:52:01 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id a618f2cb-e895-4ae8-b5d1-4e49ed0d2286;
 Thu, 26 Aug 2021 07:52:00 +0000 (UTC)
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01lp2059.outbound.protection.outlook.com [104.47.1.59]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-25-6k_Lo9S6M_OXowxECzFj-g-1; Thu, 26 Aug 2021 09:51:58 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB7152.eurprd04.prod.outlook.com (2603:10a6:800:12b::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Thu, 26 Aug
 2021 07:51:57 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Thu, 26 Aug 2021
 07:51:57 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0129.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1a::21) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Thu, 26 Aug 2021 07:51: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: a618f2cb-e895-4ae8-b5d1-4e49ed0d2286
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629964319;
	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=6UTDG6zQf8AZNL55ZbKJHuiubc3K5jkc1MnK6DjT0Cw=;
	b=MoG6bveF6lmg4l/2Mq50OgGA/pcqRviyD3wrAiZgLSU69z5kcWZ6Rnj9gGOmBnvG2GA/uW
	zbTZjOwfMPkuHrAiYehi8T0/vfJcFgU9yqb+lUUYTraSQDHUkPy1xfu0U8PPi+W611HsGl
	R2RU38zj5RVFofmc3rG6hdHz2qxwbrc=
X-MC-Unique: 6k_Lo9S6M_OXowxECzFj-g-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Y5kzklARXksMe3mxqVBCVTwZ3Fh6nGSIussF+vXitrEjBMejNHbLVRXXD7grE+oCtxZqv+QpPRrdxq5VRjBy8vf5NwOMs4pPvHPqZ87bgnSy9zPxxp9dlNISwQ8RB4Vz1W2OSQkCkkKGPnHNqWrbrC/3TruBsdXiluJDlW9a9quRsk5FfRW6tgBbweUhDQ8n9+yUFnVfZKBJMbe0vWjgnRd6o225BpR3NFy4rEgx3ag1QpC8fHNUHvf3cSL1YEgMUGoDJBPXFaZ1yHshG/1lJ9ORQ1M+fg4Qj4h3iXLt1CGVP8SmnvIzy7SxzgqfOCfJnguICb5Y7xMvmekFqsArYQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6UTDG6zQf8AZNL55ZbKJHuiubc3K5jkc1MnK6DjT0Cw=;
 b=RHMIvsCsTvNVgfdOUiMNWnbizUPgLTMeAPgfWzr/S5Wq/O5hXGetN5VrGz3Kpf4EmqIsBmEgrThFrHtnxfvG7lKbGrUrceazImJGEOdXaTHLeZT0xxbJ0YSt5KWHGz+ZRJs1Lleyvz7SBAD5l4ihx0k9EO2jBgP9E5cyaz+xf0vpblL+85f/E27bt8+4eAeK37XBoUt6UAc6jpv+k+OC+UjiZzslZMVEaR8mduBGgXj1UMopEFvfvGjQ73V8FDB7/fEYzo/m2gS5jAb74PtfK2O0TPnInN8ktwsRjC/p1AJmbQpbghAvCIBs+IQHpVOZrhXB3a4NgKec9KPk0KSJGQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: Xen C-state Issues
To: Elliott Mitchell <ehem+xen@m5p.com>
Cc: xen-devel@lists.xenproject.org
References: <YSEo9Box2AFnmdLZ@mattapan.m5p.com>
 <dea9cf97-9332-b1c9-2cff-d87564832529@suse.com>
 <YSSFffDK5/5MUAdj@mattapan.m5p.com>
 <09fc5490-5b14-474c-dbe0-864952f19a33@suse.com>
 <YSbryyxk5G7xqHlQ@mattapan.m5p.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <5a648db8-bf89-a58b-ba4b-bb992d68e82e@suse.com>
Date: Thu, 26 Aug 2021 09:51:54 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <YSbryyxk5G7xqHlQ@mattapan.m5p.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0129.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1a::21) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 943ce5a5-7133-4141-568b-08d9686660ac
X-MS-TrafficTypeDiagnostic: VI1PR04MB7152:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB715239B8446C7DA4EF95B316B3C79@VI1PR04MB7152.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qwopIn4oB3ZqmcCWCZSiTIgSceAOckR10o3gIw/oqHd2iG7wqsKhNaIm2PWw+HKlhpyFFGkJPeiIXsg2ubBWio3KIwn1awMkC1Y4Qn93gekulsXQ3GTqasGEvBXLvL7Y9OiKQQz/Mi6iPd+gB6fG7e6mzgd1o5mv4NfW9LVJjJs+XCz+4HzhVgiakB21ME0tzoGC+IwF/5jdzcXIjmmXYSCfU6S1rVIis8aEk1naBE8P+j7dCndi+sox0fsEH2FrU8q+zil5QnG0N3/E6n6d1pNxl8+8989DCdZ9+CrJCCC2Y/gXMvy0fgV7DurCCb8Hg0tJMUqYPYFL0gAcpRBOX2MNmlsPp9yc3URBfBnC0kQTErdNdVPSjYzVFZ57+nolfqS0HpDLr7PvY8dj8vHESRv7z+Y6HnaC1TbLdLQXPStQgtiUyKpyE9ubDRiRVxuGaIAebKeh6nEdTEcJtBr6G4unagrcw8ibi3y2L2AcS+6IQ/8JvuMOjDTyl1P9rT2GZqR0U9RDk4OQZ9u7L4lsR/eZzuR1ic8+hrA35rnDYZhD80NKkN6ykfouV08Daz8p7uK9DeMwC6hojlCRH7JgYcXsGUocjhQ/capXjmOD/seyk3BeTRj2kD1FP+2PCbqENhJ+pbTGLRLKPRxIi4Q/EuqzEqvMLtpfod5Dr9oUwgKCkakE9KYsDMUSER9JWTXSVOkspT5+jcDISY+VmjhbdBTCCC+jdL5UlTsruBiX0FU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(396003)(346002)(136003)(39840400004)(376002)(186003)(53546011)(26005)(5660300002)(2906002)(4326008)(8936002)(6486002)(38100700002)(86362001)(66946007)(31686004)(66556008)(66476007)(956004)(478600001)(3480700007)(8676002)(36756003)(2616005)(316002)(31696002)(16576012)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cktWRUVKbW82YW4yM01oV1ZRMzI3RUcwSURyTE9kc21HSy84L2VGVWh1Ym1M?=
 =?utf-8?B?ZUFSQ05XSmxCeHV1dyt0bGhNbEtodmd1VlhaK1A5MHpjbmNNVlQ5dGdGYXFa?=
 =?utf-8?B?elk4Q2Y1ZEdiRkwvNnlNNDVLUFA1OGtwUHZ6RHloL0ZyRW1rREhRV1lNV3k0?=
 =?utf-8?B?SW96MlZjY2xoalFvRUNmS0lsWDd3dDRpMVRNQ0NXbHc0cE40a1hNSms5S3hx?=
 =?utf-8?B?azNpYWtmRDMrcHhQR0hNdmhBWnF1VXZ1SFZrRzk2N0xjMTJFVGUzZ2wwVHNH?=
 =?utf-8?B?U3dxS2s4Sjg3c2pSUGM5Ykh0Q2NLK2l2ZnJTSFB4Q20xa2k4RWFNNFh4Z2M4?=
 =?utf-8?B?ZVcrMjRJYlBoQlNJbHgySlU5amh5UzRDWHRIczhRZWdMTFJxWGhHQXF2a0xQ?=
 =?utf-8?B?RWpXN2tTUUVUbThlN0hBL3VxOW1MRkIxa3gzcDNSNENlcTlhS3JkTC8vVjNj?=
 =?utf-8?B?dWpYa3ZFTmRISmhKUjI4VlpMNytsVkN4NU5UWDdRR0pHMzRBQ3VGVW9BZzI3?=
 =?utf-8?B?WHFUVXFBZVdFSzduVE83Y3BESjU0TDlkckxab3JYeS9lcVZMQkhYWmpaK3U0?=
 =?utf-8?B?bkd6TzdzWDB4VG94L3RRODdDWkd0OHRMbzkrYThqdnRyalpxM2poQWNvUndU?=
 =?utf-8?B?UXVTeHFzNjNGWkNkcEkycnlPcjFEOGxvTktwc0pORzA3TmRFZXhvY1JwWDBx?=
 =?utf-8?B?VDVsNXRhMnFKT3dSUGpZcHFReHdZdmJnSkN5U1cyYVdaSGVzSXUwZHpwUE9t?=
 =?utf-8?B?VnZJZWloaGZGQWdCWmpyUG5nQ0xJVHd4Q3E4KzlPeittYWJJbGpOc29JSmNx?=
 =?utf-8?B?UE5RQnpIelQ0c3pWeCtjbUloUzkvVTdzQUZQSkhSY1RBTVNsK2lZU1lpLzJK?=
 =?utf-8?B?QXhlRmhnV1VMQ3RrK3N4ZWlsbDN0dzcxVnM4am9scWl3M2paR3RmWWZqd0g4?=
 =?utf-8?B?Y3RqbEpLZytLZlZjWHNSeUR2NlloZCt0NUNiVUJZejJON05pMUV1VVkycXYr?=
 =?utf-8?B?bkRSSkNwMkQ5S3UrQkc1R2pIL2FRbEdUd1JFalB0WEFZWDVUdmdqcXN6NG9K?=
 =?utf-8?B?VXp2aHA2cTNuOWcwbDNPazlPVFZMRDBvcWFPdU8rSGZjb1hJaWcyMjhSc2hh?=
 =?utf-8?B?WkV4dGFtUkhFcTcrZHM4U2xLNzhJaWtKYU9ScXhWTmFkRnZ0UUFwVzZrRjh0?=
 =?utf-8?B?cmNaYW9zdEhhcEtHZ0hsa0x5OVlFNEtGUk5hZ05FS1o3elNrSlFCSXd1em5k?=
 =?utf-8?B?Qm9sUzlpczJMWnh0Y2htTXZxT2VpNEFZM2p2WEhnR1BXQUJTUncyL0gvcExr?=
 =?utf-8?B?VTM0OG00QkZkcnE5NUI3UG84eUJObDVXdTJRY3BaOENyd3VmUjV5eWVtV0wr?=
 =?utf-8?B?ZXYxNXZrTzhLY2htaVJJOUp0VnJyL0RwMGR0YUxKRTVIeUZXdjVoZGJJcFNJ?=
 =?utf-8?B?NjBLd2JZZFJ5QjdLZ1VFL0N4ODN1Z2ZXeURHNTJ1bXRDazd0R2FtZ3ZvSzZU?=
 =?utf-8?B?UWo5QTdIZ2RyMkdadHp5Q0UvYitXNUx0WjNONllNWldlWXZJWHhLMkp4elRM?=
 =?utf-8?B?VWZIaG01MXA0UlAyYlo1c1FCY08wN2c2SUZnSjVrbGttZjZHend1dm1zbThR?=
 =?utf-8?B?YWFZcWxicnhBaGZvMHVXT3JDS1FpZHZ6RU85MHVnYWRCWEhSN25YWE5EK2lB?=
 =?utf-8?B?cTAreEtieDJseUhMc2V6eTFGaFo4VEw4RC9rVmIwYzZnTTFrUHBhamxCWEFv?=
 =?utf-8?Q?RtSmwjcu3mVeQcAeTh/9dagoJwk9Timpbelp14m?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 943ce5a5-7133-4141-568b-08d9686660ac
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 07:51:57.1333
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: VxO8NJ7/qZd+kBAzEoHI5dJUXTkDwbnZAaWWirKYnEZbnCy2+UJCtTZbCAZ4fpYbD5ftsAxJFVDqCVp9Cmkv1Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7152

On 26.08.2021 03:18, Elliott Mitchell wrote:
> On Tue, Aug 24, 2021 at 08:14:41AM +0200, Jan Beulich wrote:
>> On 24.08.2021 07:37, Elliott Mitchell wrote:
>>> On Mon, Aug 23, 2021 at 09:12:52AM +0200, Jan Beulich wrote:
>>>> On 21.08.2021 18:25, Elliott Mitchell wrote:
>>>>> ACPI C-state support might not see too much use, but it does see some.
>>>>>
>>>>> With Xen 4.11 and Linux kernel 4.19, I found higher C-states only got
>>>>> enabled for physical cores for which Domain 0 had a corresponding vCPU.
>>>>> On a machine where Domain 0 has 5 vCPUs, but 8 reported cores, the
>>>>> additional C-states would only be enabled on cores 0-4.
>>>>>
>>>>> This can be worked around by giving Domain 0 vCPUs equal to cores, but
>>>>> then offlining the extra vCPUs.  I'm guessing this is a bug with the
>>>>> Linux 4.19 xen_acpi_processor module.
>>>>>
>>>>>
>>>>>
>>>>> Appears Xen 4.14 doesn't work at all with Linux kernel 4.19's ACPI
>>>>> C-state support.  This combination is unable to enable higher C-states
>>>>> on any core.  Since Xen 4.14 and Linux 4.19 are *both* *presently*
>>>>> supported it seems patch(es) are needed somewhere for this combination.
>>>>
>>>> Hmm, having had observed the same quite some time ago, I thought I had
>>>> dealt with these problems. Albeit surely not in Xen 4.11 or Linux 4.19.
>>>> Any chance you could check up-to-date versions of both Xen and Linux
>>>> (together)?
>>>
>>> I can believe you got this fixed, but the Linux fixes never got
>>> backported.
>>>
>>> Of the two, higher C-states working with Linux 4.19 and Xen 4.11, but
>>> not Linux 4.19 and Xen 4.14 is more concerning to me.
>>
>> I'm afraid without you providing detail (full verbosity logs) and
>> ideally checking with 4.15 or yet better -unstable it's going to be
>> hard to judge whether that's a bug, and if so where it might sit.
> 
> That would be a very different sort of bug report if that was found to
> be an issue.  This report is likely a problem of fixes not being
> backported to stable branches.

As you say - likely. I'd like to be sure.

> What you're writing about would be looking for bugs in development
> branches.

Very much so, in case there are issues left, or ones have got
reintroduced. That's what the primary purpose of this list is.

If you were suspecting missing fixes in the kernel, I guess xen-devel
isn't the preferred channel anyway. Otoh the stable maintainers there
would likely want concrete commits pointed out ...

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 08:13:22 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 08:13:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172792.315298 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJAVe-0004ye-A2; Thu, 26 Aug 2021 08:13:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172792.315298; Thu, 26 Aug 2021 08:13:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJAVe-0004yX-6v; Thu, 26 Aug 2021 08:13:14 +0000
Received: by outflank-mailman (input) for mailman id 172792;
 Thu, 26 Aug 2021 08:13:13 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HXzX=NR=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJAVc-0004yR-U9
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 08:13:12 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 1446322f-2d1c-40a9-8989-72e5b8609346;
 Thu, 26 Aug 2021 08:13:11 +0000 (UTC)
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01lp2058.outbound.protection.outlook.com [104.47.1.58]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-34--90rYP00PbSKyc-OmmovOw-1; Thu, 26 Aug 2021 10:13:09 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB7087.eurprd04.prod.outlook.com (2603:10a6:800:12a::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17; Thu, 26 Aug
 2021 08:13:08 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Thu, 26 Aug 2021
 08:13:08 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P189CA0080.EURP189.PROD.OUTLOOK.COM (2603:10a6:102:b4::25) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Thu, 26 Aug 2021 08:13: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: 1446322f-2d1c-40a9-8989-72e5b8609346
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629965590;
	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=fdcEZmaOcUppxVpKpDhiZgGDmoXT0mEZ+4TCEeTmcy0=;
	b=MdLj3b2tj+r4lmahhlcZgwCrCclroSB6kADsIQZ3eSI755vA3RNbUt8NAx8N6mv18GrXFA
	N/tnCy5iEpvCdZfTYR1G1hXamJ8x4G0/1gcfFbyGALu/GGfcnEIJOG75VHgx80oTcqDfMe
	WSx5+tuoNy7hsyQs6lmLPYa8dkDKb1k=
X-MC-Unique: -90rYP00PbSKyc-OmmovOw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=R/qYbwJMoNgw9UYDSIW2a/l2Jm417L6WjPyongJIA3AKLcIHwcvszC5LwYcCUZWz0WiY49o9hrrBiSQT/A2fyg59ixIkQKqVR0cvbGNxii8XBh5TiqsThXA2PupPvolNlUhtwGO5bcq4GgRbchDZiBbkp5eG8ZUgu3Yh6ECrjnsWIwzzpqyf6mOb4G9IdnamK3OCM0JwjLe1iiv5DsvV5+/FBVeuQkXZgK2q2yaYQBuf1+MF1vvvLdZPU4xxpNuSVIl6+n8nH+jeBCGcIjTwpU0TLR/94BRWNZoFuLQXMLKSPi+y0nxfFqNYJTo9UXbm70Y3Zlp5guwxAJ57HOM0oA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fdcEZmaOcUppxVpKpDhiZgGDmoXT0mEZ+4TCEeTmcy0=;
 b=Uzj4TV8PRBDsNOCC5gXf7EKBlbAtYKgZWvJm7+/evYZFxGvzGPQGgY7Y9G4uBEFF4/mAuLjHJ9KG72RtFEwpjYOPVlrXasMpCpPiyTT1ddci5TNFiwcCHl86D5df8jxHDs5+mHKHxNfnfk/sxYXQfYvVSgBpXrS4MzPtYD8XUhUEiDMCF2xV8Y2evK04kBqFyKpxo9Uhc9CMRZQDtRLjCrSGEpOj+NrW0iwvHhiy7zp9OB+bcsXniS6NeQ1hMa/tG9lXlE/4blB1A02/XhUiD7Mo9Q0Kcknxe7F7LqRCxFKwXK3DuH+PHJg7RcOwSakjNyX01AVPnp6gyYrLAJqNrw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v3 5/7] xsm: decouple xsm header inclusion selection
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov>, xen-devel@lists.xenproject.org
References: <20210805140644.357-1-dpsmith@apertussolutions.com>
 <20210805140644.357-6-dpsmith@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <2e4471d4-7d0a-757f-1291-de6e93d1d6f6@suse.com>
Date: Thu, 26 Aug 2021 10:13:05 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210805140644.357-6-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P189CA0080.EURP189.PROD.OUTLOOK.COM
 (2603:10a6:102:b4::25) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ac849dd9-8a0d-4d4a-656a-08d96869567e
X-MS-TrafficTypeDiagnostic: VI1PR04MB7087:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB708702C3D615784126AC4410B3C79@VI1PR04MB7087.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:6430;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	lqQhQoJRT0OZunvB+naoiTBdHANd1oXv7Nwd3eBcpeA08cbTT+fTdyqgwcx27nEVtu0dHekJFjm7rG2H4HMTkhxxdkwHlloQjsY1Og47U6evYjnsXiyyc5jKxtv3cMNAhMZnQPX8r23xqdzglJPI+xH5cCafNTmo4K2qe1uyXbj8UceQHi4S6BJtNbFkCuH27elrKHSAdZPHBPZ9N/8iULl4pVu4OEcYIsBXBkVbiWU6NnSSOEbtLWnSBt8dywJkfVtFdtr0gEhXfKIqh0kNYMb7KSReP/1upq9q7OU8BBLaJS+flPcn2PAUdNxGGvRq9IiWlD6YWdFUDq94feNG9jBYsIuNbg7GgFHFHY3ynXADuJ9bMGUxLpdq8SKEOht/EU466wLM0I56ztw2uWWynVMfiEGXNTpWQrLvql1eTAkFRIn2YQi5t9kMkzeDjqagoVWY4WPXQBJH9FljS+RQ6FNf/c9GeySy+J1OYsv8cet1+WqKOFUzaQPzcG2TdE1tCV1aLtNvB1NVcdn8g8T2Va28zy2TNGb5G3ZL0hGJ1o9bjTK8Dk2jC/eN5FF5cJP5mOdo528t89SvpEr8Qvnxqt450l3eJG44l5lm8tddwsDanXgw5eLAsup98H9jjhK9vdff3Mnae7RYOUXAocr8XWjy4fLN9EVMqW/KMD+RxyUJMK2Qgs1hHddTMzXLbHD66EzSfGeIY82DuUnnYJh9okw0iaIGDfW+J3OCcYIokvDTIuftiJzkw51qwvjMaRUD
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(366004)(39850400004)(136003)(346002)(376002)(6486002)(31686004)(66556008)(53546011)(36756003)(66476007)(2906002)(86362001)(66946007)(5660300002)(26005)(8676002)(31696002)(6916009)(8936002)(83380400001)(2616005)(478600001)(16576012)(186003)(956004)(4326008)(38100700002)(316002)(2004002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SERMMDFKWkVtdlNvL20wSk5mMkd2bmJFV1EyMzFEbXhCeEhCSmRDT3RnYmNo?=
 =?utf-8?B?RENRcHZ4Tmowc21nU3NrZloydmQvM0hUdTE4YW1xbk5oVlBGdTlsVWF2M0xr?=
 =?utf-8?B?VWJ5dlJCUVVnL2lwRzlUYnNVN1JhT2x5K0oxN3hKM3hXVTdVbzkyeHdSclQ4?=
 =?utf-8?B?ZG94VU9aVzJBdUZDQXhUN2lrbG9mS2p5ZktlZkRrNHNZY21sNHpyZnduU0JM?=
 =?utf-8?B?aXRmcmZUWUdRRnpTQ3VOTWVVRDJKTHoxb0dCN0dYMndFQ1cvcVRMaFVzdUYy?=
 =?utf-8?B?MVhSblhGYWdNZ1UvOGxkbkM0QnYrVUtxWWpIUGlPZTFBL2VkUDZtWTFFQnk5?=
 =?utf-8?B?MWpPS2pycExVbGJqZTVoMjA3OHRlWnIwcC9rYXdmSFU4RnkvcG80VTQzeGVC?=
 =?utf-8?B?OUR6L2FNdnBwcDV0d1hoelBrejFoN0NkRnZ4eEcvVWN2TlJ4SllCMlhtcExv?=
 =?utf-8?B?R1I2YjArY1crejBEdjJGZFYyTHd2ZzdxVVF1Q2ZwTWtwbXhUMDNvc3hJRkJC?=
 =?utf-8?B?SjJTak8yV3dsdit1YVl1WXZmdXJrc00yK1NBdHc0ZUI3UG84TitURnJod252?=
 =?utf-8?B?YnpxTGJEcHYraUNoc085MEx4NVFRckhxc1Y2ZlloQVJreStNYWRXaGN2UDdm?=
 =?utf-8?B?S2VGVVQ4NkJYWlpRa2NqaysxdHMydUhGV3JOSlNOTENrcmhvbVVNYklwTmkz?=
 =?utf-8?B?OTJ2Nkp1TWFNT0QyVU85eXFGditnV0t1dGJSQlA1eGVWS2Vyc1dLWmdtVjlv?=
 =?utf-8?B?YVBwYnhmZFdnY2hkbjVpdDVFeDB2Z3lxblBVMjA1em0vb1pJOTFpWVNYdFJE?=
 =?utf-8?B?QStOUjBMSHhMUzB1bGs5aVMydzE0and3TlB4N2tOWldJQ0FnYVRBdkdjNXJQ?=
 =?utf-8?B?TDJtU1Z4VW0wVHJLc0M1Z2NjbEFhQjA3UXkvNWM4RlZ1UldPWlNhWVo3eXJ0?=
 =?utf-8?B?RnkvUEZWU2tMK1NrM0pQdnBabFNVUUNCRXQyLzhZVENoZ0MrRjcyVnBuczFl?=
 =?utf-8?B?K0hYZjg1MmZYOVlFTEhoK3FCc3B6TkxpY2JlYTF3MGJBVzNLTGZsTXFLVWdy?=
 =?utf-8?B?NkQrZHNabWNJRWErbjhRb3FGbGJ3ZU5FdUsvemR6d3cza2tGaU1jV1p4M1RO?=
 =?utf-8?B?SDRXUEErcGZIUFRLM0QxSUlJYXZpaGJhZlRrT25kK1JFYU93WHc3R0xhNlJ1?=
 =?utf-8?B?dkV1d3g2THdIZHVsSlNwSlA3TXV1N1lMRFRZT2tDeTZSM29wYWllNmtiTDBh?=
 =?utf-8?B?aFFNdG1sVVJYN2RmQnRnRmh4enNNQUp5ekxMemxWbW1hRnUyeXpGb2VHRVFa?=
 =?utf-8?B?RmxDbkNwSElVZ0ZYSGovZ0lTNEExSWRKdlZoVW8rR3hKMFF1Y0x5RjNQcjg2?=
 =?utf-8?B?NEprOUZEU3h1NkVrVk8xYzBzWHJYa3d1VUhPcUkvZ2tjR1ZFaEd1YWNoN2Jz?=
 =?utf-8?B?dGUrQXlOdUVWbjVVWFlxbGdmdkh5NGZ3ZjVocHMwNTl3THhjdVNhTUl6clhE?=
 =?utf-8?B?SGVScDQzWDhweGY3b0ZHNjlSeUIrUy9ZdlU1dHp0ZUFEWW9nbTJXN0pOSStD?=
 =?utf-8?B?SERtdUQybGUweDJjdWt3TWVkcVNja1RrTGRWZDlKRjZIejFPMGtLcEdWeDlL?=
 =?utf-8?B?Z2VTTGRnOFFMaHVBdDJ3dW1FbGYzeFpnTEZtb05TRlNNdjd0OVdxb0s0VUJz?=
 =?utf-8?B?eVZua1AzVHowRERFNU9OSXJwaUFwL0JNeTcwSjFmMnNHVERTNysvbGlRb0Zx?=
 =?utf-8?Q?uPCoXHeo13ARyZCtGANeN4yQOdLc8MMURM3JSmq?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ac849dd9-8a0d-4d4a-656a-08d96869567e
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 08:13:08.3303
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: kCTUsed5grgWEeo5Uu+R2uKLtZYQuWCx56ogU0/+xtVwBWeLbY+2F2EjXchIxMvRCZTWRrM/bQtMoc9OAWxmZA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7087

On 05.08.2021 16:06, Daniel P. Smith wrote:
> --- /dev/null
> +++ b/xen/include/xsm/xsm-core.h
> @@ -0,0 +1,273 @@
> +/*
> + *  This file contains the XSM hook definitions for Xen.
> + *
> + *  This work is based on the LSM implementation in Linux 2.6.13.4.
> + *
> + *  Author:  George Coker, <gscoker@alpha.ncsc.mil>
> + *
> + *  Contributors: Michael LeMay, <mdlemay@epoch.ncsc.mil>
> + *
> + *  This program is free software; you can redistribute it and/or modify
> + *  it under the terms of the GNU General Public License version 2,
> + *  as published by the Free Software Foundation.
> + */
> +
> +#ifndef __XSM_CORE_H__
> +#define __XSM_CORE_H__
> +
> +#include <xen/sched.h>
> +#include <xen/multiboot.h>

I was going to ask to invert the order (as we try to arrange #include-s
alphabetically), but it looks like multiboot.h isn't fit for this.

> +typedef void xsm_op_t;
> +DEFINE_XEN_GUEST_HANDLE(xsm_op_t);

Just FTR - I consider this dubious. If void is meant, I don't see why
a void handle can't be used.

> +/* policy magic number (defined by XSM_MAGIC) */
> +typedef uint32_t xsm_magic_t;
> +
> +#ifdef CONFIG_XSM_FLASK
> +#define XSM_MAGIC 0xf97cff8c
> +#else
> +#define XSM_MAGIC 0x0
> +#endif
> +
> +/* These annotations are used by callers and in dummy.h to document the
> + * default actions of XSM hooks. They should be compiled out otherwise.
> + */

I realize you only move code, but like e.g. the u32 -> uint32_t change
in context above I'd like to encourage you to also address other style
issues in the newly introduced file. Here I'm talking about comment
style, requiring /* to be on its own line.

> +enum xsm_default {
> +    XSM_HOOK,     /* Guests can normally access the hypercall */
> +    XSM_DM_PRIV,  /* Device model can perform on its target domain */
> +    XSM_TARGET,   /* Can perform on self or your target domain */
> +    XSM_PRIV,     /* Privileged - normally restricted to dom0 */
> +    XSM_XS_PRIV,  /* Xenstore domain - can do some privileged operations */
> +    XSM_OTHER     /* Something more complex */
> +};
> +typedef enum xsm_default xsm_default_t;
> +
> +struct xsm_ops {
> +    void (*security_domaininfo) (struct domain *d,

Similarly here (and below) - we don't normally put a blank between
the closing and opening parentheses in function pointer declarations.
The majority does so here, but ...

>[...]
> +    int (*page_offline)(uint32_t cmd);
> +    int (*hypfs_op)(void);

... there are exceptions.

>[...]
> +    int (*platform_op) (uint32_t cmd);
> +
> +#ifdef CONFIG_X86
> +    int (*do_mca) (void);
> +    int (*shadow_control) (struct domain *d, uint32_t op);
> +    int (*mem_sharing_op) (struct domain *d, struct domain *cd, int op);
> +    int (*apic) (struct domain *d, int cmd);
> +    int (*memtype) (uint32_t access);
> +    int (*machine_memory_map) (void);
> +    int (*domain_memory_map) (struct domain *d);
> +#define XSM_MMU_UPDATE_READ      1
> +#define XSM_MMU_UPDATE_WRITE     2
> +#define XSM_MMU_NORMAL_UPDATE    4
> +#define XSM_MMU_MACHPHYS_UPDATE  8
> +    int (*mmu_update) (struct domain *d, struct domain *t,
> +                       struct domain *f, uint32_t flags);
> +    int (*mmuext_op) (struct domain *d, struct domain *f);
> +    int (*update_va_mapping) (struct domain *d, struct domain *f,
> +                              l1_pgentry_t pte);
> +    int (*priv_mapping) (struct domain *d, struct domain *t);
> +    int (*ioport_permission) (struct domain *d, uint32_t s, uint32_t e,
> +                              uint8_t allow);
> +    int (*ioport_mapping) (struct domain *d, uint32_t s, uint32_t e,
> +                           uint8_t allow);
> +    int (*pmu_op) (struct domain *d, unsigned int op);
> +#endif
> +    int (*dm_op) (struct domain *d);

To match grouping elsewhere, a blank line above here, ...

> +    int (*xen_version) (uint32_t cmd);
> +    int (*domain_resource_map) (struct domain *d);
> +#ifdef CONFIG_ARGO

... and here would be nice.

> +    int (*argo_enable) (const struct domain *d);
> +    int (*argo_register_single_source) (const struct domain *d,
> +                                        const struct domain *t);
> +    int (*argo_register_any_source) (const struct domain *d);
> +    int (*argo_send) (const struct domain *d, const struct domain *t);
> +#endif
> +};
> +
> +extern void xsm_fixup_ops(struct xsm_ops *ops);
> +
> +#ifdef CONFIG_XSM
> +
> +#ifdef CONFIG_MULTIBOOT
> +extern int xsm_multiboot_init(unsigned long *module_map,
> +                              const multiboot_info_t *mbi);
> +extern int xsm_multiboot_policy_init(unsigned long *module_map,
> +                                     const multiboot_info_t *mbi,
> +                                     void **policy_buffer,
> +                                     size_t *policy_size);
> +#endif
> +
> +#ifdef CONFIG_HAS_DEVICE_TREE
> +/*
> + * Initialize XSM
> + *
> + * On success, return 1 if using SILO mode else 0.
> + */
> +extern int xsm_dt_init(void);
> +extern int xsm_dt_policy_init(void **policy_buffer, size_t *policy_size);
> +extern bool has_xsm_magic(paddr_t);
> +#endif
> +
> +#ifdef CONFIG_XSM_FLASK
> +extern const struct xsm_ops *flask_init(const void *policy_buffer,
> +                                        size_t policy_size);
> +#else
> +static inline const struct xsm_ops *flask_init(const void *policy_buffer,
> +                                               size_t policy_size)
> +{
> +    return NULL;
> +}
> +#endif
> +
> +#ifdef CONFIG_XSM_FLASK_POLICY
> +extern const unsigned char xsm_flask_init_policy[];
> +extern const unsigned int xsm_flask_init_policy_size;
> +#endif

To be honest, I don't think this belongs in any header. This interfaces
with a generated assembly file. In such a case I would always suggest
to limit visibility of the symbols as much as possible, i.e. put the
declarations in the sole file referencing them.

> +#ifdef CONFIG_XSM_SILO
> +extern const struct xsm_ops *silo_init(void);
> +#else
> +static const inline struct xsm_ops *silo_init(void)
> +{
> +    return NULL;
> +}
> +#endif
> +
> +#else /* CONFIG_XSM */
> +
> +#ifdef CONFIG_MULTIBOOT
> +static inline int xsm_multiboot_init (unsigned long *module_map,

Nit: Stray blank ahead of the opening parenthesis.

Looking back there's also the question of "extern" on function
declarations. In new code I don't think we put the redundant
storage class specifier there; they're only needed on data
declarations. I'm inclined to suggest to drop all of them while
moving the code.

Preferably with these adjustments
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 08:22:03 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 08:22:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172797.315308 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJAe7-0006ZN-5R; Thu, 26 Aug 2021 08:21:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172797.315308; Thu, 26 Aug 2021 08: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 1mJAe7-0006ZG-2A; Thu, 26 Aug 2021 08:21:59 +0000
Received: by outflank-mailman (input) for mailman id 172797;
 Thu, 26 Aug 2021 08:21:57 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mJAe5-0006ZA-4z
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 08:21:57 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mJAe5-0000hb-12; Thu, 26 Aug 2021 08:21:57 +0000
Received: from [54.239.6.184] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mJAe4-00074y-Qv; Thu, 26 Aug 2021 08:21:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=YzTXhZn3+L2X4zBxVXePhmnsRG0PIh7iJBF5AU9SlMk=; b=ts44RbItZd4z56n0x4me2tSLf+
	tOoJSE2B7HmGhT7yyBvyWnmQMS81+nZP9q81duwJ+jrD5rGOcsHjOHi6XGMWV+BMhAqBsesPhLjpw
	FIQhFKbQbQZnLPNZ2PAggr5OoOnAVLAmoyR/oWZsJ6g92s+Imoten189X2vRZQTMeZtc=;
Subject: Re: [XEN RFC PATCH 23/40] xen/arm: introduce a helper to parse device
 tree memory node
To: Wei Chen <Wei.Chen@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>
Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-24-wei.chen@arm.com>
 <4bd56df9-f95b-eb19-dbbc-d12b4f7b0668@xen.org>
 <DB9PR08MB6857604B3D4B690F2B8832BD9EC79@DB9PR08MB6857.eurprd08.prod.outlook.com>
From: Julien Grall <julien@xen.org>
Message-ID: <61189a13-31a5-b75d-f9b5-97f379dfcd99@xen.org>
Date: Thu, 26 Aug 2021 09:21:54 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <DB9PR08MB6857604B3D4B690F2B8832BD9EC79@DB9PR08MB6857.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit



On 26/08/2021 07:35, Wei Chen wrote:
> Hi Julien,

Hi Wei,

>> -----Original Message-----
>> From: Julien Grall <julien@xen.org>
>> Sent: 2021年8月25日 21:49
>> To: Wei Chen <Wei.Chen@arm.com>; xen-devel@lists.xenproject.org;
>> sstabellini@kernel.org; jbeulich@suse.com
>> Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>
>> Subject: Re: [XEN RFC PATCH 23/40] xen/arm: introduce a helper to parse
>> device tree memory node
>>
>> Hi Wei,
>>
>> On 11/08/2021 11:24, Wei Chen wrote:
>>> Memory blocks' NUMA ID information is stored in device tree's
>>> memory nodes as "numa-node-id". We need a new helper to parse
>>> and verify this ID from memory nodes.
>>>
>>> In order to support memory affinity in later use, the valid
>>> memory ranges and NUMA ID will be saved to tables.
>>>
>>> Signed-off-by: Wei Chen <wei.chen@arm.com>
>>> ---
>>>    xen/arch/arm/numa_device_tree.c | 130 ++++++++++++++++++++++++++++++++
>>>    1 file changed, 130 insertions(+)
>>>
>>> diff --git a/xen/arch/arm/numa_device_tree.c
>> b/xen/arch/arm/numa_device_tree.c
>>> index 37cc56acf3..bbe081dcd1 100644
>>> --- a/xen/arch/arm/numa_device_tree.c
>>> +++ b/xen/arch/arm/numa_device_tree.c
>>> @@ -20,11 +20,13 @@
>>>    #include <xen/init.h>
>>>    #include <xen/nodemask.h>
>>>    #include <xen/numa.h>
>>> +#include <xen/libfdt/libfdt.h>
>>>    #include <xen/device_tree.h>
>>>    #include <asm/setup.h>
>>>
>>>    s8 device_tree_numa = 0;
>>>    static nodemask_t processor_nodes_parsed __initdata;
>>> +static nodemask_t memory_nodes_parsed __initdata;
>>>
>>>    static int srat_disabled(void)
>>>    {
>>> @@ -55,6 +57,79 @@ static int __init
>> dtb_numa_processor_affinity_init(nodeid_t node)
>>>        return 0;
>>>    }
>>>
>>> +/* Callback for parsing of the memory regions affinity */
>>> +static int __init dtb_numa_memory_affinity_init(nodeid_t node,
>>> +                                paddr_t start, paddr_t size)
>>> +{
>>
>> The implementation of this function is quite similar ot the ACPI
>> version. Can this be abstracted?
> 
> In my draft, I had tried to merge ACPI and DTB versions in one
> function. I introduced a number of "if else" to distinguish ACPI
> from DTB, especially ACPI hotplug. The function seems very messy.
> Not enough benefits to make up for the mess, so I gave up.

It think you can get away from distinguishing between ACPI and DT in 
that helper:
   * ma->flags & ACPI_SRAT_MEM_HOTPLUGGABLE could be replace by an 
argument indicating whether the region is hotpluggable (this would 
always be false for DT)
   * Access to memblk_hotplug can be stubbed (in the future we may want 
to consider memory hotplug even on Arm).

Do you still have the "if else" version? If so can you post it?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 26 08:49:41 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 08:49:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172803.315319 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJB4h-0000wQ-CL; Thu, 26 Aug 2021 08:49:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172803.315319; Thu, 26 Aug 2021 08:49: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 1mJB4h-0000wJ-9P; Thu, 26 Aug 2021 08:49:27 +0000
Received: by outflank-mailman (input) for mailman id 172803;
 Thu, 26 Aug 2021 08:49: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 1mJB4g-0000wD-CN
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 08:49: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 1mJB4g-000194-6w; Thu, 26 Aug 2021 08:49:26 +0000
Received: from [54.239.6.184] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mJB4g-0001WW-18; Thu, 26 Aug 2021 08: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=ikgdwLWoCZr6JKU50ZTWi49Md1/SXkWNySoXkgbRS0U=; b=wxXGaPK7s0hDNV13bHv56/yvVP
	gEXedw4o4W6LgGUiNTChKpBQe2jKj45fVxcsFRyXxcNXE0NM+WBvPUAEZxYWZk20Q/F0jGF30OHre
	tleQdkh43S2ici87F6XJtW3+jH8dyZU0JZjSnjyYZCo3R8bARF+pbzI4DNmM3yzIpwq8=;
Subject: Re: [XEN RFC PATCH 26/40] xen/arm: Add boot and secondary CPU to NUMA
 system
To: Wei Chen <Wei.Chen@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>
Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-27-wei.chen@arm.com>
 <35a57b18-4fab-522d-f39a-de21017abe57@xen.org>
 <DB9PR08MB6857FC8EA8C0D324426408709EC79@DB9PR08MB6857.eurprd08.prod.outlook.com>
From: Julien Grall <julien@xen.org>
Message-ID: <d7ea4260-aec5-efb5-32e7-7f73d6ee206b@xen.org>
Date: Thu, 26 Aug 2021 09:49:24 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <DB9PR08MB6857FC8EA8C0D324426408709EC79@DB9PR08MB6857.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit



On 26/08/2021 08:24, Wei Chen wrote:
> Hi Julien,

Hi Wei,

>> -----Original Message-----
>> From: Julien Grall <julien@xen.org>
>> Sent: 2021年8月26日 0:58
>> To: Wei Chen <Wei.Chen@arm.com>; xen-devel@lists.xenproject.org;
>> sstabellini@kernel.org; jbeulich@suse.com
>> Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>
>> Subject: Re: [XEN RFC PATCH 26/40] xen/arm: Add boot and secondary CPU to
>> NUMA system
>>
>> Hi Wei,
>>
>> On 11/08/2021 11:24, Wei Chen wrote:
>>> When cpu boot up, we have add them to NUMA system. In current
>>> stage, we have not parsed the NUMA data, but we have created
>>> a fake NUMA node. So, in this patch, all CPU will be added
>>> to NUMA node#0. After the NUMA data has been parsed from device
>>> tree, the CPU will be added to correct NUMA node as the NUMA
>>> data described.
>>>
>>> Signed-off-by: Wei Chen <wei.chen@arm.com>
>>> ---
>>>    xen/arch/arm/setup.c       | 6 ++++++
>>>    xen/arch/arm/smpboot.c     | 6 ++++++
>>>    xen/include/asm-arm/numa.h | 1 +
>>>    3 files changed, 13 insertions(+)
>>>
>>> diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
>>> index 3c58d2d441..7531989f21 100644
>>> --- a/xen/arch/arm/setup.c
>>> +++ b/xen/arch/arm/setup.c
>>> @@ -918,6 +918,12 @@ void __init start_xen(unsigned long
>> boot_phys_offset,
>>>
>>>        processor_id();
>>>
>>> +    /*
>>> +     * If Xen is running on a NUMA off system, there will
>>> +     * be a node#0 at least.
>>> +     */
>>> +    numa_add_cpu(0);
>>> +
>>>        smp_init_cpus();
>>>        cpus = smp_get_max_cpus();
>>>        printk(XENLOG_INFO "SMP: Allowing %u CPUs\n", cpus);
>>> diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
>>> index a1ee3146ef..aa78958c07 100644
>>> --- a/xen/arch/arm/smpboot.c
>>> +++ b/xen/arch/arm/smpboot.c
>>> @@ -358,6 +358,12 @@ void start_secondary(void)
>>>         */
>>>        smp_wmb();
>>>
>>> +    /*
>>> +     * If Xen is running on a NUMA off system, there will
>>> +     * be a node#0 at least.
>>> +     */
>>> +    numa_add_cpu(cpuid);
>>> +
>>
>> On x86, numa_add_cpu() will be called before the pCPU is brought up. I
>> am not quite too sure why we are doing it differently here. Can you
>> clarify it?
> 
> Of course we can invoke numa_add_cpu before cpu_up as x86. But in my tests,
> I found when cpu bring up failed, this cpu still be add to NUMA. Although
> this does not affect the execution of the code (because CPU is offline),
> But I don't think adding a offline CPU to NUMA makes sense.

Right, but again, why do you want to solve the problem on Arm and not 
x86? After all, NUMA is not architecture specific (in fact you move most 
of the code in common).

In fact, the risk, is someone may read arch/x86 and doesn't realize the 
CPU is not in the node until late on Arm.

So I think we should call numa_add_cpu() around the same place on all 
the architectures.

If you think the current position on x86 is not correct, then it should 
be changed at as well. However, I don't know the story behind the 
position of the call on x86. You may want to ask the x86 maintainers.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 26 08:50:58 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 08:50:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172809.315331 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJB69-0002Dx-No; Thu, 26 Aug 2021 08:50:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172809.315331; Thu, 26 Aug 2021 08: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 1mJB69-0002Dq-KY; Thu, 26 Aug 2021 08:50:57 +0000
Received: by outflank-mailman (input) for mailman id 172809;
 Thu, 26 Aug 2021 08:50:56 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=q24O=NR=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mJB68-0002Dg-1O
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 08:50:56 +0000
Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id b90a6980-064a-11ec-a9da-12813bfff9fa;
 Thu, 26 Aug 2021 08:50: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: b90a6980-064a-11ec-a9da-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629967854;
  h=to:cc:references:from:subject:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=zv+ixs0he0shTc1ZOiu4CmiafUJGLlqdBX6n99nYnhI=;
  b=f5wRZAzII2tF2L+35igGmWmfXSnMIEz8QD0fa692t7ytDn9hMieO0vhJ
   x5B+0xGUtk7VTrWJMn/eySDS9nXtKtrkdYA3rNdQuUAPzmtcfV71awdkH
   YFmN85HYDDn0YOe3KjpyyOkNwlctkF32heBhBvTaFuUZta3NDAWcmaL9q
   A=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: 0hYusKMiWHPBDhU7eTj8JXxvRSMmEUpx0sHXyu6Ter46AmrLxJ0jvtYTN+Jg2wjgaT862jpL7s
 zc2HcedQVZY9o/taJhRyx/G3GTjzRkSVLUT6k117nv3GzJFwY+jbvI1ExdGMg3U3cq1PYUmUU8
 +4Dt1JcKDKjR3X6qFkb4hO1/UZoV1HKKVRIV1702RPv+dzzVOBgRjb/coM7i84c3J96ev3GD/p
 ZwNlfI26JgwPaS3u65SgRRNgmPjzHf7KgsjSn1B3LqUx6PA3eQH+TaZVgUeh3ikK3XmBplL5Hi
 LRalfEVC0yWEq3nk2dZffui9
X-SBRS: 5.1
X-MesageID: 51734835
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:+ZnEW6CREPBiXQXlHelo55DYdb4zR+YMi2TDt3oddfU1SL38qy
 nKpp4mPHDP5wr5NEtPpTniAtjjfZq/z/5ICOAqVN/PYOCPggCVxepZnOjfKlPbehEX9oRmpN
 1dm6oVMqyMMbCt5/yKnDVRELwbsaa6GLjDv5a785/0JzsaE52J6W1Ce2GmO3wzfiZqL7wjGq
 GR48JWzgDQAkj+PqyAdx84t/GonayzqK7b
X-IronPort-AV: E=Sophos;i="5.84,353,1620705600"; 
   d="scan'208";a="51734835"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ELos0GsJg3O1ZQow1lRht89pHhHI+QmPKk16p3KxtTWvIHZjcRcFXVJgL5+OMnq6v3vNAB3nKRyz/971vLNqe52MdS0lGXAdAEbJziLZm/gtzdz+WL+gbQtBg4mo4ZIpcRWSkg1pWvUPVah05dUO//Ihs1BDEVbwNRQkgwMBvPRHoPwKetmGjSI3wyN/GkdL3M3Kfk5EFNW+9B8OMCUHMH8zLPzSBUvn7izVYZcuj6G6EABe2nL0pLSwjY10Dgrw3N3MO1+PVgiss2GF2ck/j9fH9Y198/Nqu6S6BzUo67U0whcI5vP/m8uXdNKwGIJL2dqi4YmKzOFn5d2P/w1Oag==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1m+2iFF8RpNK/aFR1R4C/j7e36kWbDGgwOOxsM+KnqY=;
 b=LfQ06uuG7O84Pk/lU0FkONlsdrstwy0lLJDJiLy04/H301AEnxbmKq0RsspRmXOHh6OyB9Z7d9k3Lcl7pnXC5FTiIJVq218WOy0YkRE2MxRzedS9B6WoYk/jW4x5znTb0cjRphQHURopsObo7rME86j+TtBLmjpbW1PsIcZ+apkrWowxnbeI7BvnW8pQA8HWtHd4WOVwET+YGwO6Kzt0LbuUhZgpgI/8kUMHBIK672jmQT8SKVroAkOvHCzeDELb/MzxP8E0kjUPKDduFwxG28AYAkRV0NMTUzF3Wn8I7JM5T3Sk99VnKRnQJCSM0/m3wHrj25CbEDgJ/t1m9k9d+w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1m+2iFF8RpNK/aFR1R4C/j7e36kWbDGgwOOxsM+KnqY=;
 b=Y6JuKyYitp+aI8Wp6Ju6sxCh7k46z8lIgijPls18xq5Vb2GvJ+cz+uqKbtkWW28tO7u09fsn/keSW3W+txB4WlvuNfVHdydIKH6+bH9jsHfZzATfoCS8s1VmWG495bl7LhGYQWPU5PLyUWScN7rdAOT0l9Gave0UjXmfy5jrcNk=
To: Jan Beulich <jbeulich@suse.com>
CC: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
	<marmarek@invisiblethingslab.com>, <xen-devel@lists.xenproject.org>
References: <20210818113017.454251-1-marmarek@invisiblethingslab.com>
 <45de5185-b514-8c52-6922-4c587818c698@citrix.com>
 <3125583f-b965-7746-d833-c197857cd7d7@citrix.com>
 <15fb708e-e03d-bc4a-a0bd-72b81d26c6da@suse.com>
 <930a3c79-ddf3-2b95-495d-8d4f229c9fb9@citrix.com>
 <853d0d22-734e-b3ef-dff5-2763c88630eb@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] x86/xstate: reset cached register values on resume
Message-ID: <8fb27cad-5998-7266-396f-872f4a69c552@citrix.com>
Date: Thu, 26 Aug 2021 09:50:40 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <853d0d22-734e-b3ef-dff5-2763c88630eb@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-GB
X-ClientProxiedBy: LO4P123CA0056.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:153::7) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a146919d-6a73-486d-4f56-08d9686e98bb
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6224:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <SJ0PR03MB6224A93E3800373A1EE1A5A8BAC79@SJ0PR03MB6224.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 4HT7vfKqpKAYsmdaCizNA6mLF64snpAppb8xyHYJPgGmPy7yJYRX0x9VlQZfNtfyJ/VHetqJOBdPK/hsJNQwmNjegwUfvLmwDeVZYctXAN2mvL3jcA4GS5vf8zlMjbbBqrnsVFobyKIY+1YVTQw+vahTQY4XNHvhUBqrnSG6UQBugzbybredbzZKTFgcSk03OXHelRdsQlfKdxh0YujMj2YumgpALfXD0KjL8Q6WDTnkAGhqTBoPmy3XCz2I+gtGs4tbmQq+lIj2QcAL3TPzVXJui8eScNKTb1ET8JiTnKj6DtphSjTUTC8zPF1e+GHqazx+MBgtgoECQNWBmwpvu5ZmWPWAz17rcxhpihKQebffOSgPY/ajEUsYvUjsQPsj2soSKgytcb4WYF28w7D2DOF1CXsYWW57ORD4+YP22NCGsm5qA7DGf5tN4dspGsqyatE3ZuZdnJWG8RC+6442P9GZfTAPvQnOVmhzfy61OL03p4kgUBoPjyuOn9Vhk5S7EWHwftssH2pSi/Wq3k6zFYTN2HWX4Xp1zk8j7yiB+bKFDNBar4K13TkoMrZGNiyZL/piDxyZKw8aEWq5qGplLWaRsMimO7Scg/JvZtWf9L2EHHXKHir8q52Xn0i3lDCFnTFsJWKSGvRDdE9Jccopkp70uJ6CDZsirpr5E/zergUXdiUgKSdAdtVKq9kNdU0mNKSE+WYr17f1ZxKTCEtRMucNMlqa1mBRo3nOpg6mezY=
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:(4636009)(39860400002)(366004)(376002)(396003)(136003)(346002)(31696002)(26005)(86362001)(6916009)(186003)(6486002)(6666004)(38100700002)(478600001)(66556008)(66476007)(66946007)(8936002)(5660300002)(956004)(8676002)(53546011)(54906003)(2616005)(316002)(16576012)(2906002)(4326008)(31686004)(55236004)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SllEajR3SXVHWHNxdENacHNwWEhtQWF6OG0xSlNSQUxsT2VUcm16Q2pURW9X?=
 =?utf-8?B?YWI2Mmg3U0NHOW15d3M3QkxTVXdhNkErTHByUHk0c21hODF2MkpvWHNrRTg3?=
 =?utf-8?B?ckR1UlFQZDBiOUdaU3BtQlprWm1WeVFwY0prSXR5YjVyY3BBanVvczlJRmxF?=
 =?utf-8?B?VXI5bkJkME5UVzNLRHB0Qk1tMzRQbHFLdnVYdlJnTzQ0K1lWWFVzSWVvYkti?=
 =?utf-8?B?N1ZYTXBTTEdVV2dsK3QxVm92YlR0TGhDZGNPZXVORXJPcHMzREtJOXlsTUk4?=
 =?utf-8?B?VFc4ZXdHMzdrcVF3WXVxekNBcnY2RkZwdkhjaVh4Sk1lRDFxczRJT3h3RnM5?=
 =?utf-8?B?dHZDVldPZmVZV3VaM3E1Y0VuZG1XQ0hnZmpQZ3JEeDBRVjJIUTkwbnlIbjBi?=
 =?utf-8?B?YmpQd05xQWczbUVPajE3dG1VaVVOSGNKYVVsRTVaSGNOUyt0T0pzRnZpZGRN?=
 =?utf-8?B?dDhDNER0LzhmU2dKcnFhN3hQM1dNUDBBemJkZTUyZ0xGK1paSStpdTYwY1lU?=
 =?utf-8?B?WitDWVIzZE1pOVVjemRiVHUxeUVZdVdIOVE2bk9YVWVzTHhFazhTVzUxT0Rx?=
 =?utf-8?B?OW9NTWwyWXlYWDZnVVl6VXJDODlTbkpYY28rNittNmlUcUUvZFkvVXQ2Ullx?=
 =?utf-8?B?ZEp1ZTBHVnlBZUJ2NVZKME9ua1dXcEJGZ3RDcUhHZjIrVmZCQnR0QkJvSCtT?=
 =?utf-8?B?czBOZXp6QS93SlJOWHV2ZUlla2lDY3BXbjZiVVFUenRuSWxGSitXMDNpaXR0?=
 =?utf-8?B?OFk1SEpwYVREdHNwODdqQUhZRnhqZU5lS0w3SFJuQkV1SVVvcG44NWsxclRT?=
 =?utf-8?B?VWhDVmFFQ0VueXpOL2RGOEZWSlNncm5oZVhHalI3cHpmaFVualZYZGxvamVI?=
 =?utf-8?B?ZEppUGo1d2RxRzI0UWh1TndGcVBkZEhiQWpoeDJFK1FGemFjT3krM3pJYndl?=
 =?utf-8?B?TDQxVlJnWndhL2VNVW1ncWg0OG1OT0VINkd1bkMvcTVUaW5xczhEQ2RjRVNW?=
 =?utf-8?B?QStwZXpGcHNqSWhRU1I2V0NVY1JWMmlZNWpNOXVIenZGS0VmNWpEdlE0dTZU?=
 =?utf-8?B?YlRlTC9oWXVoWmlMOCt3azg4NGJzNy9wYnV0eU5aWjZNQVZOcUV6aVJocGw1?=
 =?utf-8?B?bStyRTlCZGVkdHJEQjh3S1pGRVlHMW5RMHRNVmFlYU9WbjVUYThmKzQ5Qkp3?=
 =?utf-8?B?emxnVzkrMzcwQlA1WVRTamovSWJsbDhZT0U1VUxRa2ZOUjdicXIybVl6Zlcw?=
 =?utf-8?B?cG9ud1FWUnAvVVBTdW4yZkk5RlRxMVh1Tjl0bzlRTlhWcTJRL2FjTm1oNGZ0?=
 =?utf-8?B?R1JCUE93Qy9WVHhGVHUyQjZ0V1V2VU4rcy85ZDg3NGViV3k3T1RTeDlKME1D?=
 =?utf-8?B?dE96aXRhSS9TSmdqU2NLTEJVblIzSDdmaHhhMGdrc21KMzBBLzRNUGhhV3Ji?=
 =?utf-8?B?TkdVOVRnUHpJVU5aYnZMM0lzVmpxdDdLWkk0ZG52MkJWTUF4UThwSkdaSjhr?=
 =?utf-8?B?NHlFUFRvNXpQc3pKNk9QOERtQ2pOVG45WE1zbmx2NngrYnUzWnJEdU9QbS9Y?=
 =?utf-8?B?ekQ1V1lBaUhJT3Y0SUw2Ky92eGh1U1lOTmxZS242aXFjWm4zUGc0L2c3LzBa?=
 =?utf-8?B?emtJRXBsRG5FTFZuclZtWmo4SG9ubGsrcmJ1RkpoRlY5bFV3cCthQTZrTTBs?=
 =?utf-8?B?VnBxcEZnaERwcThVT09Ic1pWb3F3V0FBZ3ZZdVVsaWUzbk00MHlMVlJRUDlj?=
 =?utf-8?Q?t9TlM0rwshOR3RG6MLG22+7fd0XpfCLiDiqUIWo?=
X-MS-Exchange-CrossTenant-Network-Message-Id: a146919d-6a73-486d-4f56-08d9686e98bb
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 08:50:46.9447
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: AR0GRw6ftNfCSor1NABh83S+D/Xjv0f1+mEHqvlEGgxHNjDsdn+ECoi2hvgl9f9EzBpFkZ0DyqBfXsUY+fgvlPJYLk3Uxx+jA+kDAuRoxJg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6224
X-OriginatorOrg: citrix.com

On 26/08/2021 08:40, Jan Beulich wrote:
> On 25.08.2021 18:49, Andrew Cooper wrote:
>> On 25/08/2021 16:02, Jan Beulich wrote:
>>> On 24.08.2021 23:11, Andrew Cooper wrote:
>>>  If
>>> the register started out non-zero (the default on AMD iirc, as it's
>>> not really masks there) but the first value to be written was zero,
>>> we'd skip the write.
>> There is cpuidmask_defaults which does get filled from the MSRs on boot.
>>
>> AMD are real CPUID settings, while Intel is an and-mask.=C2=A0 i.e. they=
're
>> both non-zero (unless someone does something silly with the command line
>> arguments, and I don't expect Xen to be happy booting if the leaves all
>> read 0).
> Surely not all of them together, but I don't think it's completely
> unreasonable for one (say the XSAVE one, if e.g. XSAVE is to be turned
> off altogether for guests) to be all zero.
>
>> Each early_init_*() has an explicit ctxt_switch_levelling(NULL) call
>> which, given non-zero content in cpuidmask_defaults should latch each
>> one appropriately in the the per-cpu variable.
> Well, as you say - provided the individual fields are all non-zero.

The MSRs only exist on CPUs which have non-zero features in the relevant
leaves.

The XSAVE and Therm registers could plausibly be 0.=C2=A0 Dom0 is first to
boot and won't expect to have XSAVE hidden, but we do zero all of leaf 6
in recalculate_misc()

There are certainly corner cases here to improve, but I think all
registers will latch on the first early_init_*(), except for Therm on
AMD which will latch on the first context switch from a PV guest back to
idle.

>>>> cpu/common.c:120:static DEFINE_PER_CPU(uint64_t, msr_misc_features);
>>> Almost the same here - we only initialize the variable on the BSP
>>> afaics.
>> No - way way way worse, I think.
>>
>> For all APs, we write 0 or MSR_MISC_FEATURES_CPUID_FAULTING into
>> MSR_INTEL_MISC_FEATURES_ENABLES, which amongst other things turns off
>> Fast String Enable.
> Urgh, indeed. Prior to 6e2fdc0f8902 there was a read-modify-write
> operation. With the introduction of the cache variable this went
> away, while the cache gets filled for BSP only.

Yeah - I really screwed up on that one...=C2=A0 It was also part of the PV
Shim work done in a hurry in the lead up to Spectre/Meltdown.

MSR_INTEL_MISC_FEATURES_ENABLES is a lot like
MSR_{TSX_FORCE_ABORT,TSX_CTRL,MCU_OPT_CTRL} and the MTRRs.

Most of the content wants to be identical on all cores, so we do want to
fix up AP values with the BSP value if they differ, but we also want a
software cache covering at least the CPUID_FAULTING bit so we don't have
a unnecessary MSR read on the context switch path.

I'll try to do something better.

~Andrew



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 09:38:16 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 09:38:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172814.315342 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJBpp-0007HC-4J; Thu, 26 Aug 2021 09:38:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172814.315342; Thu, 26 Aug 2021 09:38:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJBpp-0007H5-0q; Thu, 26 Aug 2021 09:38:09 +0000
Received: by outflank-mailman (input) for mailman id 172814;
 Thu, 26 Aug 2021 09:38:08 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HXzX=NR=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJBpn-0007Gz-Vd
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 09:38:08 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 501c6b24-0651-11ec-a9de-12813bfff9fa;
 Thu, 26 Aug 2021 09:38:05 +0000 (UTC)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2107.outbound.protection.outlook.com [104.47.18.107])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-37-hRVukigTOOy_zi9h8OS7JA-1; Thu, 26 Aug 2021 11:38:03 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5902.eurprd04.prod.outlook.com (2603:10a6:803:ed::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.20; Thu, 26 Aug
 2021 09:38:01 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Thu, 26 Aug 2021
 09:38:01 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM4PR05CA0029.eurprd05.prod.outlook.com (2603:10a6:205::42) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.18 via Frontend Transport; Thu, 26 Aug 2021 09:38:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 501c6b24-0651-11ec-a9de-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629970684;
	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=ra5a9QMr+rJyeF6xti4JKgDr2uxYteWIHuSlUrh0bTM=;
	b=Tgxc/Y+i3BWaYAEJuFtDeIUAV4j+lQb8S30jAauDDJSSUfBDBwhEW4O7/+W10yzEQCFMOG
	jNR1soqIj7EArvNXT5kJbeRjTzcJ2Nv8jYVfBLOY7q2y8Zh6UjSe4diqV5fzEN4ThyE8pM
	j0okzU7ftXbWX6HzsMQcBoY8483kBKE=
X-MC-Unique: hRVukigTOOy_zi9h8OS7JA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nkjpVOfWH7a/w1dqKWBk6w14VEaab4SKsLS8h61vMwO1yC/JHgmgodfVjFBG4GszvMiRW8mO/Pwd6DK1DUK7ChK6ssY5QpBzSjyHHGr2crrEs/n/1WWNoEMbTw2XYm3NnHHrXJZW8Dx44aghzPFz3QkpCG4B4k6sc+f5WWMEoW7GKnHTzHmcncXLmXnWt5V4045d0fO3kiEWbl0OeUlsBi34g76mzQXcDOxIk2lCH11g3jZFce/dFGPP8stqnzewUws7nPJ7Gl0sF23b3HzHhFo/FDSdAuqs2LqrV3Pcn9X7ZPvfor7MKPdGrI/2+F8WVVUMVjIavaizUzs53tt3HA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ra5a9QMr+rJyeF6xti4JKgDr2uxYteWIHuSlUrh0bTM=;
 b=OzBPL6/eL5DJq1BRd2kXkIR/VivqkfpzOQirzX2BSmxwmLWj8pEbMhnOKqWaWUGG6p2yTzyYtJX/5MVJVkrEml7bjtp03TwsrLiCXAp2Vu7qgTC2a/u49+olN3PydQIqaQxHI7b7lSs5pHJwUEib58gjaoxomBZjmoAxVPjRRt3ywa0raQ7cl7fGqILoq+kMhGQ+YP4TkMjdnia8NXk61etAr0nqjxWU7DKjlaNTxaP0L7WdHfOA9pdUulq3i8ovOf4FzaTurhTa+FZsgrpMIfDPJt6+RzvrwXHd7YTBocwooTX3jGbF8y1d4rSyepwS3JQxWAmk/ZGR2aqO0D4VyA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v3 7/7] xsm: removing facade that XSM can be
 enabled/disabled
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 xen-devel@lists.xenproject.org
References: <20210805140644.357-1-dpsmith@apertussolutions.com>
 <20210805140644.357-8-dpsmith@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <bf13f9a0-dff6-033e-3632-8fc4f0533a20@suse.com>
Date: Thu, 26 Aug 2021 11:37:58 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210805140644.357-8-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM4PR05CA0029.eurprd05.prod.outlook.com (2603:10a6:205::42)
 To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: cf051657-ed12-45b2-9309-08d96875326a
X-MS-TrafficTypeDiagnostic: VI1PR04MB5902:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB59025543BCA1C173AFEDBEFAB3C79@VI1PR04MB5902.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	x274vVpeFiul74EsEII1x8RKOZg10NobBmQidWo47HrxWAaTwie45noR7MM65kOOARQocxCBNZ4LqRyXYV90/jwaCVir4FE/psSmolGLeVCtruW6f2pRWC90InYVaXG1KwsX99iFZjd4JNPzxOlR1DBTuy0oXzPbUknfr/bF5/bur18lbsGljUKCjOvBjtmsNVklmqyBcxkporl8rFOhgO5xt7EkMhNNiUwC+IJu6gJsZcadrA+JzYCUJ2HH0jIsMor2IPPVPK0BvVUaX+6fZBTLmhE/pNKEYjwmof6HBjtvfPOJJ7t+6Ls6FQOCq3ZOujMncjYzcc/kg/Zvz2agKLY/pWEXMtK3VbW0lNi4bPTc0YMLW3qSYQj/jcGoiJQ0Jjt4T3eK5baNwEUdtSBZATdL8K7zxqqwGEcaqCv9OeN8UvNZn841eESREanUV+hXp9Hup2V69uIpX0KqzJ4WM92qonYqJw68Ooz4ixVIIPyebvYSQhNQwPa66i5b7oefhUaCRVw8i2pqgHnPkvQwkOLDLUcEwCwhG0oG/pGEdbrj92+2ofrQ2XZexNTgOc4UgWhX240YcSR6EPKYuTRyzSFJLEap62Qs5Ftg/fYMzZ7MdvXUQFtiLr4k03+P5JkXBr0Sv0MoUfWYJkREEZZq40YBqLnQp55Fkj8YQ2r8Z3Oyk+LDLtSTPxGoajpo+OrOlltz5Ljsf+PHG4iUpUX+M3iFeB/DmRFfeqQ2ivJaa/+KT+8z+rcXCU16abcofSC0AqXD7k4dQAijpxTxTLBqDoiigo26K7KVPKDPs80J3i1PKKf7iqRrzj6gVO0tx+ys
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(39850400004)(376002)(366004)(136003)(346002)(38100700002)(4326008)(83380400001)(6486002)(54906003)(31686004)(16576012)(316002)(26005)(8676002)(66946007)(66476007)(66556008)(8936002)(2906002)(6916009)(36756003)(956004)(53546011)(2616005)(186003)(30864003)(31696002)(86362001)(478600001)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Q00vdWhXZ0t0NlJ5eXE0SE9lbExhSXEvWkZhbTUxdWhBMHdNeFpaOEEyODdp?=
 =?utf-8?B?Tk9yQmpMQUkwOXdvL1VzT2tCWjhrbVUxVVFUNUphTDU0enFjbUcvWms4dVRq?=
 =?utf-8?B?NTFYS29CakRwcWlodE5ETnpKOCswSTVVQ0VkK21rNElNKy9VeTUvUk1QTU1S?=
 =?utf-8?B?dVN4RGRHdmJnby9QdlJ3ZkJaLzhLNHpTZ09pWkZiaFV6R0EyOVh2ZGYyR2Rq?=
 =?utf-8?B?TElndXJlK0dGZ2x6dVRGaTE0MlErZ242cFJWQ0t5SlYxa3pDUVNFeFlvM2U1?=
 =?utf-8?B?M09IZkJFUmNDQXA1eHNnUXVXS0J2UjBCaVpSSzF1SjBGZG5zdHhvQ2U0UGVE?=
 =?utf-8?B?L2ZENThLVkQ4a3AvRzlGVWdJN3NPRWxNVWh1NG9VbDg3UFQvemNZQm0rNko2?=
 =?utf-8?B?YkwrMjJHdkZSSUdmZEZNUmc5cVBjdEV3eVJmTlhac3BHeGtONUoydWNuanM4?=
 =?utf-8?B?LzRzZ3dYbXFFZE9ab2FhbFQycnpaaFhTVW9SdDNIWUxFYS9JWklhL0hFSG5J?=
 =?utf-8?B?L2tseU5hS1VlUjBGUFo5TFRMdndtb3YyR2gzS2x6ZXJpWGVWUlJEZ2tteHpX?=
 =?utf-8?B?YVlZcEFzcnBtTTIrQldtb0ZvR2wvTktmMjQyY1JGQ29NVnlHQkJhUUwrZG1R?=
 =?utf-8?B?MnprNDROYzNyRjN4MXlaU3hhVkM5WG9lc0s2US9icTE2ZUtjM0RaNVVhSnkv?=
 =?utf-8?B?OXBxQTcyRzdDcDZjWS82d0NQeTVqZnBPWE9RbWpMVUtmL1NCejlCd2ZzbGRH?=
 =?utf-8?B?UC96N3F6bXVqQVd1Z0I0SDlQYi9TcjJVbndjRWEwS2Q1YmFoYS9oT0ZuMzdE?=
 =?utf-8?B?NDZsOUsyU1ZyM0VtN3g3eHlBb1I4RXRkYTRrZHB0NkxxOERmN0dCTDNWZUt3?=
 =?utf-8?B?dWFVSmlaYlZocjFtb1lBenNvMGNvdm85dUs0VXNCL2dONmVEV2ZxR2pqbjlH?=
 =?utf-8?B?cDhFMXVwU3B2S3E3WG9BdVZ6VVRGU3kwQXJCN0VZcEZKNGhNUi9JSGRpcDRU?=
 =?utf-8?B?QWdNdU1QYlpRM0U4YVozMnJvZklXOVphVzRTWXkrSEdQeExUM1hlOHVYMTVQ?=
 =?utf-8?B?WXk1ejl0T01sQmtSNkwxQXMyVEdZNU5tSWFza0krbktEQmRBbHFJR1VkU2R5?=
 =?utf-8?B?RWpNZlpFVmhQN2grcHhSMDNJZFdYVkhsT3Q1SjBuTUthUGlDLzl4ejEweS83?=
 =?utf-8?B?Q2N5SER0NjZ3OWJzM04xRTI3QmVuWitYd2h2MDBDSVQ0eTVCVnQvSjRhY094?=
 =?utf-8?B?MkNDS2Q2TW0rWVNwSDJEa0NLTEIrdUxhSHpjbU1zNDJEcVg2ZGtPODIzUE80?=
 =?utf-8?B?SCtrVDFyT2RMcUhsY1ZyZWw2eGU5YlZkQ0lvckRPeUVYL1Q5ZVpNS25wM1Fv?=
 =?utf-8?B?YUdteXN4UldMd1RtT2EvMklJU1IvTXh1WTB2S0tSRjVCUUJCd3FrdDNFZXRP?=
 =?utf-8?B?WTF3L0ZTVjRHSlBmRlZ0eUg5UmM5R1Z0Q2lYQUtzYlN5MzBKOVVPRjRsN3Nk?=
 =?utf-8?B?eGtHd292VkRvTk9rMWhuY25YaXdWUHVVUkt0S1NSdWRvTkJhZ3NhV2d6Z3d5?=
 =?utf-8?B?UjUrTDZqNWxWSVZ2U3BlSGRDOXR6bVBRSXBwNVFDSUJFOGk3QU1Pd2pxL3FW?=
 =?utf-8?B?QzhldXNBOUhJVGFZVlVnUG5XTnNBTWRjcUowWjNVWXN5UUo2cDZoQXBqMUtu?=
 =?utf-8?B?UFpFZ1NxMU8rVWJrditSMVhTRlBubXJRVTJ6WElacE5ISzdxRlQ0YjBxUzYr?=
 =?utf-8?Q?9REUNIUW1M2PDDxNS1k6TpMzhVOVbAJHapTz2Wd?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cf051657-ed12-45b2-9309-08d96875326a
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 09:38:01.7092
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: tfum5fr8cQLnaMWSHGbvGuUgUjNq4v250RLO2bfX+IBnoKn1P63/mCxZEfDxTw1l5SHXzT6KUrc7Sm/vxD3Oag==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5902

On 05.08.2021 16:06, Daniel P. Smith wrote:
> The XSM facilities are always in use by Xen with the facade of being able to
> turn XSM on and off. This option is in fact about allowing the selection of
> which policies are available and which are used at runtime.  To provide this
> facade a complicated serious of #ifdef's are used to selective include

Nit: It took me a moment to realize that the sentence reads oddly because
you likely mean "series", not "serious".

> different headers or portions of headers. This series of #ifdef gyrations
> switches between two different versions of the XSM hook interfaces and their
> respective backing implementation.  All of this is done to provide a minimal
> size/performance optimization for when alternative policies are disabled.
> 
> To unwind the #ifdef gyrations a series of changes were necessary,
>     * replace CONFIG_XSM with XSM_CONFIGURABLE to allow visibility of
>       selecting alternate XSM policy modules to those that require it
>     * adjusted CONFIG_XSM_SILO, CONFIG_XSM_FLASK, and the default module
>       selection to sensible defaults
>     * collapsed the "dummy/defualt" XSM interface and implementation with the
>       "multiple policy" interface to provide a single inlined implementation
>       that attempts to use a registered hook and falls back to the check from
>       the dummy implementation
>     * the collapse to a single interface broke code relying on the alternate
>       interface, specifically SILO, this was reworked to remove the
>       indirection/abstraction making SILO explicit in its access control
>       decisions
>     * with the change of the XSM hooks to fall back to enforcing the dummy
>       policy, it is no longer necessary to fill NULL entries in the struct
>       xsm_ops returned by an XSM module's init

It would be nice if some of this could be split. Is this really close to
impossible?

> --- a/xen/common/Kconfig
> +++ b/xen/common/Kconfig
> @@ -200,23 +200,15 @@ config XENOPROF
>  
>  	  If unsure, say Y.
>  
> -config XSM
> -	bool "Xen Security Modules support"
> -	default ARM
> -	---help---
> -	  Enables the security framework known as Xen Security Modules which
> -	  allows administrators fine-grained control over a Xen domain and
> -	  its capabilities by defining permissible interactions between domains,
> -	  the hypervisor itself, and related resources such as memory and
> -	  devices.
> -
> -	  If unsure, say N.
> +config XSM_CONFIGURABLE
> +    bool "Enable Configuring Xen Security Modules"

Is there a reason to change not only the prompt, but also the name of
the Kconfig setting? This alone is the reason for some otherwise
unnecessary code churn.

Also please correct indentation here.

>  config XSM_FLASK
> -	def_bool y
> -	prompt "FLux Advanced Security Kernel support"
> -	depends on XSM
> -	---help---
> +	bool "FLux Advanced Security Kernel support"
> +	default n

I don't understand this change in default (and as an aside, a default
of "n" doesn't need spelling out): In the description you say "adjusted
CONFIG_XSM_SILO, CONFIG_XSM_FLASK, and the default module selection to
sensible defaults". If that's to describe this change, then I'm afraid
I don't see why defaulting to "n" is more sensible once the person
configuring Xen has chosen the configure XSM's (or XSM_CONFIGURABLE's)
sub-options. If that's unrelated to the change here, then I'm afraid
I'm missing justification altogether. (Same for SILO then.)

> +	depends on XSM_CONFIGURABLE
> +	select XSM_EVTCHN_LABELING

Neither this nor any prior patch introduces an option of this name,
and there's also none in the present tree. All afaics; I may have
overlooked something or typo-ed a "grep" command.

> @@ -265,14 +258,14 @@ config XSM_SILO
>  	  If unsure, say Y.
>  
>  choice
> -	prompt "Default XSM implementation"
> -	depends on XSM
> +	prompt "Default XSM module"
>  	default XSM_SILO_DEFAULT if XSM_SILO && ARM
>  	default XSM_FLASK_DEFAULT if XSM_FLASK
>  	default XSM_SILO_DEFAULT if XSM_SILO
>  	default XSM_DUMMY_DEFAULT
> +	depends on XSM_CONFIGURABLE

With the larger set of "default" lines I'd like to suggest to keep
"depends on" ahead of them.

> @@ -282,7 +275,7 @@ endchoice
>  config LATE_HWDOM
>  	bool "Dedicated hardware domain"
>  	default n
> -	depends on XSM && X86
> +	depends on XSM_FLASK && X86

This change is not mentioned or justified in the description. In fact
I think it is unrelated to the change here and hence would want breaking
out.

>  	---help---

As you're changing these elsewhere, any chance of you also changing
this one to just "help"?

> --- a/xen/include/xsm/xsm.h
> +++ b/xen/include/xsm/xsm.h
> @@ -19,545 +19,1023 @@
>  #include <xen/sched.h>
>  #include <xen/multiboot.h>
>  #include <xsm/xsm-core.h>
> -
> -#ifdef CONFIG_XSM
> +#include <xsm/dummy.h>
> +#include <public/version.h>
>  
>  extern struct xsm_ops xsm_ops;
>  
> -static inline void xsm_security_domaininfo (struct domain *d,
> -                                        struct xen_domctl_getdomaininfo *info)
> +static inline void xsm_security_domaininfo(
> +    struct domain *d,
> +    struct xen_domctl_getdomaininfo *info)
>  {
> -    alternative_vcall(xsm_ops.security_domaininfo, d, info);
> +    if ( xsm_ops.security_domaininfo )
> +        alternative_vcall(xsm_ops.security_domaininfo, d, info);

Here and everywhere else, when !XSM_CONFIGURABLE you now needlessly
force NULL checks to occur which are never going to be true. There's
then also the dead indirect call and the associated patching data. I
think this wants hiding in another pair of wrappers, which simply
expand to nothing when !XSM_CONFIGURABLE - perhaps xsm_vcall() and
xsm_call().

>  }
>  
> -static inline int xsm_domain_create (xsm_default_t def, struct domain *d, u32 ssidref)
> +static inline int xsm_domain_create(xsm_default_t action, struct domain *d,
> +                                    u32 ssidref)

It would be nice if you kept on converting u32 -> uint32_t as you did
in earlier patches.

>  {
> -    return alternative_call(xsm_ops.domain_create, d, ssidref);
> +    if ( xsm_ops.domain_create )
> +        return alternative_call(xsm_ops.domain_create, d, ssidref);
> +
> +    XSM_ASSERT_ACTION(XSM_HOOK);

Any reason not to put these assertions first in the functions?

> +    return xsm_default_action(action, current->domain, d);
>  }

Since

static inline int xsm_domain_create(xsm_default_t action, struct domain *d,
                                    uint32_t ssidref)
{
    XSM_ASSERT_ACTION(XSM_HOOK);
    return xsm_call(xsm_ops.domain_create, d, ssidref);
    return xsm_default_action(action, current->domain, d);
}

won't work, and since integrating "return" into xsm_call() also would't
yield a sufficiently clear result:

static inline int xsm_domain_create(xsm_default_t action, struct domain *d,
                                    uint32_t ssidref)
{
    XSM_ASSERT_ACTION(XSM_HOOK);
    xsm_call(xsm_ops.domain_create, d, ssidref);
    return xsm_default_action(action, current->domain, d);
}

(as control flow would be unobvious), the xsm_default_action() invocation
likely would also need integrating into xsm_call() then.

Unless there's some obstacle, this would eliminate a whole lot of code
redundancy.

> -static inline int xsm_set_target (xsm_default_t def, struct domain *d, struct domain *e)
> +static inline int xsm_set_target(xsm_default_t action, struct domain *d,
> +                                 struct domain *e)
>  {
> -    return alternative_call(xsm_ops.set_target, d, e);
> +    if ( xsm_ops.set_target )
> +        return alternative_call(xsm_ops.set_target, d, e);
> +
> +    XSM_ASSERT_ACTION(XSM_HOOK);
> +    return xsm_default_action(action, current->domain, NULL);
>  }

While benign because xsm_default_action() does nothing for XSM_HOOK, I
think there's an inconsistency here which rather wants correcting (in
a prereq patch): The default hook should have been passed consistent
arguments, no matter whether used because of !XSM or because of the
module in use left the hook unset.

Of course such anomalies are much easier to notice (outside of review
of patches introducing such) with you now placing both invocations
next to each other.

> -static inline int xsm_evtchn_interdomain (xsm_default_t def, struct domain *d1,
> -                struct evtchn *chan1, struct domain *d2, struct evtchn *chan2)
> +static inline int xsm_evtchn_interdomain(xsm_default_t action,
> +                                         struct domain *d1,
> +                                         struct evtchn *chan1,
> +                                         struct domain *d2,
> +                                         struct evtchn *chan2)
>  {
> -    return alternative_call(xsm_ops.evtchn_interdomain, d1, chan1, d2, chan2);
> +    if ( xsm_ops.evtchn_interdomain )
> +        return alternative_call(xsm_ops.evtchn_interdomain, d1, chan1, d2,
> +                                chan2);
> +
> +    XSM_ASSERT_ACTION(XSM_HOOK);
> +    return xsm_default_action(action, d1, d2);
>  }

There's another anomaly here: The first argument to xsm_default_action()
typically is current->domain in similar functions. Here d1 gets passed in
despite always being current->domain. I think the unnecessary parameter
wants dropping (again in a prereq patch)) from the wrapper and hook, to
avoid giving the wrong impression of both domains potentially being remote
ones.

> -static inline int xsm_evtchn_send (xsm_default_t def, struct domain *d, struct evtchn *chn)
> +static inline int xsm_evtchn_send(xsm_default_t action, struct domain *d,
> +                                  struct evtchn *chn)
>  {
> -    return alternative_call(xsm_ops.evtchn_send, d, chn);
> +    if ( xsm_ops.evtchn_send )
> +        return alternative_call(xsm_ops.evtchn_send, d, chn);
> +
> +    XSM_ASSERT_ACTION(XSM_HOOK);
> +    return xsm_default_action(action, d, NULL);

This again looks wrong (and again is benign only because XSM_HOOK means
xsm_default_action() ignores the other function parameters), wanting to
follow the usual

    return xsm_default_action(action, current->domain, d);

pattern instead.

> -static inline int xsm_evtchn_reset (xsm_default_t def, struct domain *d1, struct domain *d2)
> +static inline int xsm_evtchn_reset(xsm_default_t action, struct domain *d1,
> +                                   struct domain *d2)
>  {
> -    return alternative_call(xsm_ops.evtchn_reset, d1, d2);
> +    if ( xsm_ops.evtchn_reset )
> +        return alternative_call(xsm_ops.evtchn_reset, d1, d2);
> +
> +    XSM_ASSERT_ACTION(XSM_TARGET);
> +    return xsm_default_action(action, d1, d2);

See xsm_evtchn_interdomain() above.

> -static inline int xsm_grant_mapref (xsm_default_t def, struct domain *d1, struct domain *d2,
> -                                                                uint32_t flags)
> +static inline int xsm_grant_mapref(xsm_default_t action, struct domain *d1,
> +                                   struct domain *d2, uint32_t flags)
>  {
> -    return alternative_call(xsm_ops.grant_mapref, d1, d2, flags);
> +    if ( xsm_ops.grant_mapref )
> +        return alternative_call(xsm_ops.grant_mapref, d1, d2, flags);
> +
> +    XSM_ASSERT_ACTION(XSM_HOOK);
> +    return xsm_default_action(action, d1, d2);

Again (more similar grant ones follow).

> -static inline int xsm_memory_adjust_reservation (xsm_default_t def, struct domain *d1, struct
> -                                                                    domain *d2)
> +static inline int xsm_memory_adjust_reservation(xsm_default_t action,
> +                                                struct domain *d1,
> +                                                struct domain *d2)
>  {
> -    return alternative_call(xsm_ops.memory_adjust_reservation, d1, d2);
> +    if ( xsm_ops.memory_adjust_reservation )
> +        return alternative_call(xsm_ops.memory_adjust_reservation, d1, d2);
> +
> +    XSM_ASSERT_ACTION(XSM_TARGET);
> +    return xsm_default_action(action, d1, d2);

Again (more similar memory ones follow).

> -static inline int xsm_memory_pin_page(xsm_default_t def, struct domain *d1, struct domain *d2,
> -                                      struct page_info *page)
> +static inline int xsm_memory_pin_page(xsm_default_t action, struct domain *d1,
> +                                      struct domain *d2, struct page_info *page)
>  {
> -    return alternative_call(xsm_ops.memory_pin_page, d1, d2, page);
> +    if ( xsm_ops.memory_pin_page )
> +        return alternative_call(xsm_ops.memory_pin_page, d1, d2, page);
> +
> +    XSM_ASSERT_ACTION(XSM_HOOK);
> +    return xsm_default_action(action, d1, d2);

This one has the same issue, but is more interesting: There's no
similar hook/check for unpinning a page (nor does the same check
get re-used there). Plus it's x86 (more precisely PV) specific.

> -static inline int xsm_map_gmfn_foreign (xsm_default_t def, struct domain *d, struct domain *t)
> +static inline int xsm_map_gmfn_foreign(xsm_default_t action, struct domain *d,
> +                                       struct domain *t)
>  {
> -    return alternative_call(xsm_ops.map_gmfn_foreign, d, t);
> +    if ( xsm_ops.map_gmfn_foreign )
> +        return alternative_call(xsm_ops.map_gmfn_foreign, d, t);
> +
> +    XSM_ASSERT_ACTION(XSM_TARGET);
> +    return xsm_default_action(action, d, t);

This one is also interesting: There's no check at all here that
current->domain has any permissions towards d or t. Interestingly
even flask_map_gmfn_foreign() doesn't check this.

> -static inline int xsm_console_io (xsm_default_t def, struct domain *d, int cmd)
> +static inline int xsm_console_io(xsm_default_t action, struct domain *d, int cmd)
>  {
> -    return alternative_call(xsm_ops.console_io, d, cmd);
> +    if ( xsm_ops.console_io )
> +        return alternative_call(xsm_ops.console_io, d, cmd);
> +
> +    XSM_ASSERT_ACTION(XSM_OTHER);
> +    if ( d->is_console )
> +        return xsm_default_action(XSM_HOOK, d, NULL);
> +#ifdef CONFIG_VERBOSE_DEBUG
> +    if ( cmd == CONSOLEIO_write )
> +        return xsm_default_action(XSM_HOOK, d, NULL);
> +#endif
> +    return xsm_default_action(XSM_PRIV, d, NULL);

Same implication of d == current->domain here again. I guess I'll
stop enumerating further ones.

> -static inline int xsm_pci_config_permission (xsm_default_t def, struct domain *d, uint32_t machine_bdf, uint16_t start, uint16_t end, uint8_t access)
> +static inline int xsm_pci_config_permission(xsm_default_t action,
> +                                            struct domain *d,
> +                                            uint32_t machine_bdf,
> +                                            uint16_t start,
> +                                            uint16_t end,
> +                                            uint8_t access)
>  {
> -    return alternative_call(xsm_ops.pci_config_permission, d, machine_bdf, start, end, access);
> +    if ( xsm_ops.pci_config_permission )
> +        return alternative_call(xsm_ops.pci_config_permission, d, machine_bdf, start, end, access);

Nit: Line length.

> -static inline int xsm_pmu_op (xsm_default_t def, struct domain *d, unsigned int op)
> +static inline int xsm_pmu_op(xsm_default_t action, struct domain *d,
> +                             unsigned int op)
>  {
> -    return alternative_call(xsm_ops.pmu_op, d, op);
> +    if ( xsm_ops.pmu_op )
> +        return alternative_call(xsm_ops.pmu_op, d, op);
> +
> +    XSM_ASSERT_ACTION(XSM_OTHER);
> +    switch ( op )
> +    {
> +    case XENPMU_init:
> +    case XENPMU_finish:
> +    case XENPMU_lvtpc_set:
> +    case XENPMU_flush:
> +        return xsm_default_action(XSM_HOOK, d, current->domain);
> +    default:
> +        return xsm_default_action(XSM_PRIV, d, current->domain);

Urgh - isn't this the wrong way round? (Luckily vPMU isn't security
supported, so no XSA would be needed.)

> --- a/xen/xsm/Makefile
> +++ b/xen/xsm/Makefile
> @@ -1,6 +1,5 @@
>  obj-y += xsm_core.o
> -obj-$(CONFIG_XSM) += xsm_policy.o
> -obj-$(CONFIG_XSM) += dummy.o
> +obj-y += xsm_policy.o

Why would this now need compiling in all cases?

> --- a/xen/xsm/silo.c
> +++ b/xen/xsm/silo.c
> @@ -17,6 +17,7 @@
>   * 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 <xsm/xsm-core.h>
>  #include <xsm/dummy.h>

As already mentioned elsewhere - where possible please arrange #include-s
alphabetically.

> @@ -124,16 +122,12 @@ static int __init xsm_core_init(const void *policy_buffer, size_t policy_size)
>          break;
>      }
>  
> -    /*
> -     * This handles three cases,
> -     *   - dummy policy module was selected
> -     *   - a policy module does not provide all handlers
> -     *   - a policy module failed to init
> -     */
> -    xsm_fixup_ops(&xsm_ops);
> -
> -    if ( xsm_ops_registered != XSM_OPS_REGISTERED )
> +    if ( xsm_ops_registered != XSM_OPS_REGISTERED ) {

Nit (style): Brace goes on its own line.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 09:40:01 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 09:40:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172820.315353 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJBrc-0007vS-K7; Thu, 26 Aug 2021 09:40:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172820.315353; Thu, 26 Aug 2021 09:40:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJBrc-0007vL-HB; Thu, 26 Aug 2021 09:40:00 +0000
Received: by outflank-mailman (input) for mailman id 172820;
 Thu, 26 Aug 2021 09:39:58 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HXzX=NR=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJBra-0007vB-He
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 09:39:58 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 9305ee2e-0651-11ec-a9de-12813bfff9fa;
 Thu, 26 Aug 2021 09:39:57 +0000 (UTC)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2106.outbound.protection.outlook.com [104.47.17.106])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-3-o7Pi1I39NI6HngsjZpxWsA-1; Thu, 26 Aug 2021 11:39:55 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4192.eurprd04.prod.outlook.com (2603:10a6:803:4c::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Thu, 26 Aug
 2021 09:39:53 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Thu, 26 Aug 2021
 09:39:53 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FR0P281CA0055.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:49::15) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4478.9 via Frontend Transport; Thu, 26 Aug 2021 09:39:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9305ee2e-0651-11ec-a9de-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629970796;
	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=KxBywyxa3bXcSgzp/JM9ZriAlUe1ceYSvVWqEeCMV8k=;
	b=fRkvIXbHdCc6kYP5iIz/3ePDu1486eIRfDMOn5DlEt6VBwkhXmhjicUV7F5HU6+IsxugGW
	/EN3KBIw7fCfRVPnI+dLtEyUz5NSbqqaz1xKRHGe92IyM+ke1SfruB17yMr6Q/pSnQEnXt
	EnklsLJy+0FnuhUlAR4x5s69Cak5x5o=
X-MC-Unique: o7Pi1I39NI6HngsjZpxWsA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=llvcQdRJwmdDlqoHm+LTSd/qD0GEsJ2xSMtLg4SS4PdWOdUz4w1ZUrCsk5M91cn0j5ZOQ17/SUPX/YETaSZKf0qD1bAFQVi+65RPn7sHMKM0iBRDt3NrJj65si2UpJYCrNDWlm1fSnGi3ABmDpVgynOlqvOmskDS45KA5J2IcaYDKSI/qkNPSX5k+siM5AURN4Q3VGMtkhau25bQ56wME4xjWMmVbkAZu0OJwCEAv+YZMk9EsGXvTt9zGvWUYBjXcAHJ3U5KhfOb4ISec2rgpRLB0Xb9427pf1f0n72AiTxNY4rlkrf1vEhiyGF4EC0ocRZsGzymppiF53jSUQdX2g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=injP7FFmfUlmJD92wnXPa5z2YMx2oIO12H70bWEwEyE=;
 b=EvZuYgC8sgz2WjtAXf5NdqYHYaPiY5LBFTQ0Sz91tw9wNBKhT3N7Z8x1GY50cvrpkkf6u/sJwelpbRw70kP0SqmfMpTdASIMR6NalAHhtToIBepelvJl1IjJVsYhtcPP3lp0E2R3KLHnCb/Teak4vREgh3hp4Sn4H6GZd61lk4gwIOMEvIB3gPJREVfN0knNXgOa95gVjy0359aKs/khGS3r3KtY125BWu4+51+KMvAfJ4h6hh3WlOckOS67Wm2GWHRMHz0j6aXa5EAJfS2AHDsVmDy+ezpJAuQ8E510jxflNKV9G4BnIZfYeq1K8JFtntf7C/OZriy5yDWzzXxBtw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: kernel.org; dkim=none (message not signed)
 header.d=none;kernel.org; dmarc=none action=none header.from=suse.com;
Subject: Re: [XEN RFC PATCH 26/40] xen/arm: Add boot and secondary CPU to NUMA
 system
To: Julien Grall <julien@xen.org>, Wei Chen <Wei.Chen@arm.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-27-wei.chen@arm.com>
 <35a57b18-4fab-522d-f39a-de21017abe57@xen.org>
 <DB9PR08MB6857FC8EA8C0D324426408709EC79@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <d7ea4260-aec5-efb5-32e7-7f73d6ee206b@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <705eae88-2cb1-f3a5-3190-dd4ed553fe36@suse.com>
Date: Thu, 26 Aug 2021 11:39:51 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <d7ea4260-aec5-efb5-32e7-7f73d6ee206b@xen.org>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: FR0P281CA0055.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::15) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c87b4f71-37b3-479f-3d84-08d96875753a
X-MS-TrafficTypeDiagnostic: VI1PR04MB4192:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4192D8719EFB9F56D5B89E44B3C79@VI1PR04MB4192.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	m0BNng+8CQoxf8SE/YoFeOPhZtHkOaMOFfOyWWNAuxHCuzHXp+8jVWvuddmJMHtWNI9xxbyzwblAVmb77tRL/NtlDaqw0jLKe1mTmqP+0jKFm2eeawVQ+z5PhNiSNPCfwm0m6MybelkVAxAFctEE7+m+enoFv3/0r3jTop4xO0+4lod3vaZLoyf33acxYSXIGkm1Zgzu4sncexjRpk5wcnpdPX897o8gWMnw5df6OlZGn+L6vrTWzc+92ZUp8Au4Y3gey4RegX5+j2ijai8mAWlVlf/+gPaWwoL7kb474U7HzB/JNdtGOVe4OhxY78lDaUK1KkRB2OLDLLjlTLvMih02yA4vbBI855T2LsOqoO87asGGHk3SpCe9zK0kYQxiTy6rLeEtSuIf7dp/U6EgMKvsZYFKBB3c4e71fssgsT/q/IWv1slf27bt1auUjM6Xy9xLp4Dcuva0DmpffP+EOk8gkZACB47K/ywmnoZDTj1u79GEhc8mf/mkH9A4hK/YnYmTJhLea/1HHSqMtEzcEQaR/AN73JfWfdWRhWTnIe8u7d1dkcTjUF2m97aF/xHph6qYEKMrhd9jWcOBWI/O7S2KRUvcg2NQDBBeMbLAHYLxjT9XPfqM//MN2U3vnWvlD093d3/df8rOlIVOxPE5Dn93+rkI9UBjox0EDZ6ElX0DdhokJd5+tt42IhUUwA/Q/yG6QrRFsEkMuWReAZOipAzR44CgXIRCtJoIcvntfAo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(136003)(366004)(39850400004)(396003)(376002)(8936002)(316002)(31686004)(16576012)(956004)(83380400001)(2616005)(26005)(478600001)(110136005)(31696002)(54906003)(86362001)(8676002)(2906002)(186003)(66946007)(36756003)(4326008)(6486002)(66556008)(66476007)(53546011)(5660300002)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?TjCGGRhsHnbZeolsE9gI290MsXc5dvyXlHzRDMUn8h7krkw/Q3Yk/CYNgrUH?=
 =?us-ascii?Q?lnYq1aL2AAB6IPH+zeuv1Qmk3TaKVxSh5ZHWAQx6MkB088H3Lrr/6+wBi9LE?=
 =?us-ascii?Q?yHgMRfCt7DS5cQ/Fgj9TK0e0USJ7mIeLofnIQ8HfH8ojebeRrQFBeGZQXPLB?=
 =?us-ascii?Q?XdgV8f93WbCQ+g3vJWjkz+8rkHTBshlAl/sK62b9fg6M6MOArZEF56GDD0w6?=
 =?us-ascii?Q?pFwRk9cnfSotfyjEPg9JKkXR+/zq3Uoo6ibz+YSx9AUuPZ1gUANvrGcRmmD0?=
 =?us-ascii?Q?xmaX3oOhAd/SO6SpPoKAa6B3DAEL/imO+c3HdjLzWRdNOVCrxmef+iix0UJc?=
 =?us-ascii?Q?d/jZfE0L1BOqYgfnwxgmEvUnk2+5mDhv/1abXmsV80YIoQ5+7f4foswtgBVy?=
 =?us-ascii?Q?j6WwsdF2D+ka0KVte0GTylSjmgXEDHYhhd7ni9gNaDV3Rw8M6pgNp30EABxH?=
 =?us-ascii?Q?3IU6FTXyEeOPBnbPVJqSvUxdis7bahEFL7nN7tptA48ovgineRrrFt/rF0Ss?=
 =?us-ascii?Q?3wedxpaUqq74SoYdyNBhYt95Rcmu8/ZMU/Dfqz/RBr1aR5I20jK3gqHGWVxS?=
 =?us-ascii?Q?3YqBHCgG8haDAGhpT/+n1+FuJiG87nV0QwFQUSKafBYQRtJiQHKvr0j8CGB+?=
 =?us-ascii?Q?2HtfYSzvGzaEHQn66tE87zBtYW44hnJZrqV/3GFGJT8YaxTpparXbhrGtM9e?=
 =?us-ascii?Q?8UXVOZdU+P9DdatJfMVZqfK41pyNC4jV+M+WLZwcmU+Uhxh2c/pgxgj/2TtR?=
 =?us-ascii?Q?wlkBTck3xvTAheuXoTjqfUR4IFErrFz06tNRwPOydmkhgHa+jD4DvqIGQJ9e?=
 =?us-ascii?Q?jOVeVhQbVwg2Vye5+/FDW2rTSHFfnhJ/yEl3mNb2nlgYxD4CY2PfPRsjzg9I?=
 =?us-ascii?Q?rprUqFPKgM1tyFoMTEOCLCqFN4z4aS/UcbLC7v4Uup0Ttkmk85gVQksYSwNB?=
 =?us-ascii?Q?VRdZ+lnA0c3ZtTI0DqKt05/sGrt5XjxqrILj8okvaYeaUXQSjgTOyGBdFnc3?=
 =?us-ascii?Q?mMq7/s6m6L8adERthD1EqKpZ7WOyGN5NLIWTK6cvnSjTmGM2YAKju2deyWI9?=
 =?us-ascii?Q?/BABLEH9LPfe6ZPNCUiJDFew+q/mg0jIgP3uy2HOu3GixrdHnXb7wHq7wwvy?=
 =?us-ascii?Q?1SsM2YrINjkp2vL7xnr/YAzJB0kjhd5ObmgVu9O6kfkDDshUN6Uozd6XXbS7?=
 =?us-ascii?Q?zX2Hy2JvLqLXdFDlMtIPeOYn0IOi/gRz/6Gxuj1oPznY3ZL4hzIymzySqWeG?=
 =?us-ascii?Q?gdCvpAjKhJgTracuVSErspKc+b66pnQaRvL1aNC8uGEBvEQcQhaFB7nLAnDJ?=
 =?us-ascii?Q?og06yZ+bN8c0tgwOIxlFKeL0?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c87b4f71-37b3-479f-3d84-08d96875753a
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 09:39:53.8588
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: qmEiEGu91QaGoHc28Lf1JXfNunuyKx//EgdeOPucEmhIrrOAGFsebrR6/y0EYmPkvppnh9WFxCA2bh7N92OA9w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4192

On 26.08.2021 10:49, Julien Grall wrote:
> On 26/08/2021 08:24, Wei Chen wrote:
>>> -----Original Message-----
>>> From: Julien Grall <julien@xen.org>
>>> Sent: 2021=E5=B9=B48=E6=9C=8826=E6=97=A5 0:58
>>> On 11/08/2021 11:24, Wei Chen wrote:
>>>> --- a/xen/arch/arm/smpboot.c
>>>> +++ b/xen/arch/arm/smpboot.c
>>>> @@ -358,6 +358,12 @@ void start_secondary(void)
>>>>         */
>>>>        smp_wmb();
>>>>
>>>> +    /*
>>>> +     * If Xen is running on a NUMA off system, there will
>>>> +     * be a node#0 at least.
>>>> +     */
>>>> +    numa_add_cpu(cpuid);
>>>> +
>>>
>>> On x86, numa_add_cpu() will be called before the pCPU is brought up. I
>>> am not quite too sure why we are doing it differently here. Can you
>>> clarify it?
>>
>> Of course we can invoke numa_add_cpu before cpu_up as x86. But in my tes=
ts,
>> I found when cpu bring up failed, this cpu still be add to NUMA. Althoug=
h
>> this does not affect the execution of the code (because CPU is offline),
>> But I don't think adding a offline CPU to NUMA makes sense.
>=20
> Right, but again, why do you want to solve the problem on Arm and not=20
> x86? After all, NUMA is not architecture specific (in fact you move most=
=20
> of the code in common).
>=20
> In fact, the risk, is someone may read arch/x86 and doesn't realize the=20
> CPU is not in the node until late on Arm.
>=20
> So I think we should call numa_add_cpu() around the same place on all=20
> the architectures.

FWIW: +1

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 09:41:04 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 09:41:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172826.315364 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJBsd-0000zE-US; Thu, 26 Aug 2021 09:41:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172826.315364; Thu, 26 Aug 2021 09: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 1mJBsd-0000z7-R1; Thu, 26 Aug 2021 09:41:03 +0000
Received: by outflank-mailman (input) for mailman id 172826;
 Thu, 26 Aug 2021 09:41:02 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8HaZ=NR=linaro.org=takahiro.akashi@srs-us1.protection.inumbo.net>)
 id 1mJBsc-0000nX-6h
 for xen-devel@lists.xen.org; Thu, 26 Aug 2021 09:41:02 +0000
Received: from mail-pg1-x52e.google.com (unknown [2607:f8b0:4864:20::52e])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id aee76f29-e0a0-49a1-a0e2-276f44f91f54;
 Thu, 26 Aug 2021 09:40:56 +0000 (UTC)
Received: by mail-pg1-x52e.google.com with SMTP id w7so1439913pgk.13
 for <xen-devel@lists.xen.org>; Thu, 26 Aug 2021 02:40:56 -0700 (PDT)
Received: from laputa (p73a21377.tkyea130.ap.so-net.ne.jp. [115.162.19.119])
 by smtp.gmail.com with ESMTPSA id o9sm2496675pfh.217.2021.08.26.02.40.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 26 Aug 2021 02:40: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: aee76f29-e0a0-49a1-a0e2-276f44f91f54
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=date:from:to:cc:subject:message-id:references:mime-version
         :content-disposition:content-transfer-encoding:in-reply-to;
        bh=YmcFpdRMkSIuYyf+rXy7whzmB3bxi7aqMxQWvHlpMcc=;
        b=BsFGZ8saIQDm6E3DvgA84H5KcH/KQoQupymQrdNDNxeTzP+vTU6FzTXVuLBMEKzZrC
         pDM1/+fUYwrsorUp6Pp3NaXZgp9wwjlN0QE9LtEIi8M9Nim0cYQnibwR2wA+97R7Wz9h
         e+L4Uow9FDOAK0U9tL2LFUOUoCsNfkGB9ORWQoVuKnmVQdQK9NVUDpnWTO5K+8FN13HO
         0HiLjLJzSOOBsFTrVumjB/BraDkDD41hGxQkrcfVMEs/J033HCIUxwKhM5SNyLPkmuli
         cHdJhlem1Fx2MzqakQmvCNu92SRyh9uRFINk7voP+cmjAWrAJ6YQlBoFPTuhwUaDOAxg
         UbuA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:date:from:to:cc:subject:message-id:references
         :mime-version:content-disposition:content-transfer-encoding
         :in-reply-to;
        bh=YmcFpdRMkSIuYyf+rXy7whzmB3bxi7aqMxQWvHlpMcc=;
        b=c8aepqwvEqA0ka7tLvmlEV+CwQjFBXUQY44zcx76fQkMwiZvG3q/i1eb8831a15j0s
         McMWPJ86NyoqXJ45jb/zp8AHn1vXs7HKcvVtMLMXVe5tEwQY1VuXqQUjJ6Da6xEse9q1
         YVVtxIxtWNHGRtF+PP8hUuCZVt2GHEEuDySMltGAU3jMYPlRvFe6u15hPVZpgR2POdaU
         MW9dLFa2XTSlUfxjSNSlP0E30ofSyG5TaKOMIGxqkbOwg+P6I2/PH315bg9sdXNnQPx5
         CbfPJW3qSW7RF627+QPp9UWQkWeuLy7T+k9asJcPlUjNz+dgKpJjRofpDUFJXzonHaFl
         XWYA==
X-Gm-Message-State: AOAM533oNNFTYE0HNpnv6oVIHmhRui38KpkqsKMBs64rpq8I93YoBv2M
	ANMc8Cd3HY6tbQqyr745UpWJzw==
X-Google-Smtp-Source: ABdhPJzIQH/DA7YHnkUPl/28wFrRvHUoLk+8wVMifUPA6s3mPJGP58+mTPg9DuIo77jFRTHlDrYNQw==
X-Received: by 2002:a62:e302:0:b0:3f2:628b:3103 with SMTP id g2-20020a62e302000000b003f2628b3103mr1318025pfh.39.1629970855475;
        Thu, 26 Aug 2021 02:40:55 -0700 (PDT)
Date: Thu, 26 Aug 2021 18:40:47 +0900
From: AKASHI Takahiro <takahiro.akashi@linaro.org>
To: Wei Chen <Wei.Chen@arm.com>
Cc: Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Alex Benn??e <alex.bennee@linaro.org>, Kaly Xin <Kaly.Xin@arm.com>,
	Stratos Mailing List <stratos-dev@op-lists.linaro.org>,
	"virtio-dev@lists.oasis-open.org" <virtio-dev@lists.oasis-open.org>,
	Arnd Bergmann <arnd.bergmann@linaro.org>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	"stefanha@redhat.com" <stefanha@redhat.com>,
	Jan Kiszka <jan.kiszka@siemens.com>,
	Carl van Schaik <cvanscha@qti.qualcomm.com>,
	"pratikp@quicinc.com" <pratikp@quicinc.com>,
	Srivatsa Vaddagiri <vatsa@codeaurora.org>,
	Jean-Philippe Brucker <jean-philippe@linaro.org>,
	Mathieu Poirier <mathieu.poirier@linaro.org>,
	Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Artem Mygaiev <Artem_Mygaiev@epam.com>,
	Julien Grall <julien@xen.org>, Juergen Gross <jgross@suse.com>,
	Paul Durrant <paul@xen.org>, Xen Devel <xen-devel@lists.xen.org>
Subject: Re: Enabling hypervisor agnosticism for VirtIO backends
Message-ID: <20210826094047.GA55218@laputa>
References: <87v94ldrqq.fsf@linaro.org>
 <alpine.DEB.2.21.2108041055390.9768@sstabellini-ThinkPad-T480s>
 <20210811062748.GB54169@laputa>
 <CAPD2p-mMeY=MDbAdLGrmmioSkJo147aMDrK=Qzr=PCa4jztGGg@mail.gmail.com>
 <DB9PR08MB685767CFAA4A8BCE7D2225A89EFD9@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <20210817080757.GC43203@laputa>
 <DB9PR08MB6857C656472153A42FB438C49EFE9@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <20210818053840.GE39588@laputa>
 <DB9PR08MB6857D1BE810B1D1DAF7B12AE9EFF9@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <20210820064150.GC13452@laputa>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20210820064150.GC13452@laputa>

Hi Wei,

On Fri, Aug 20, 2021 at 03:41:50PM +0900, AKASHI Takahiro wrote:
> On Wed, Aug 18, 2021 at 08:35:51AM +0000, Wei Chen wrote:
> > Hi Akashi，
> > 
> > > -----Original Message-----
> > > From: AKASHI Takahiro <takahiro.akashi@linaro.org>
> > > Sent: 2021年8月18日 13:39
> > > To: Wei Chen <Wei.Chen@arm.com>
> > > Cc: Oleksandr Tyshchenko <olekstysh@gmail.com>; Stefano Stabellini
> > > <sstabellini@kernel.org>; Alex Benn??e <alex.bennee@linaro.org>; Stratos
> > > Mailing List <stratos-dev@op-lists.linaro.org>; virtio-dev@lists.oasis-
> > > open.org; Arnd Bergmann <arnd.bergmann@linaro.org>; Viresh Kumar
> > > <viresh.kumar@linaro.org>; Stefano Stabellini
> > > <stefano.stabellini@xilinx.com>; stefanha@redhat.com; Jan Kiszka
> > > <jan.kiszka@siemens.com>; Carl van Schaik <cvanscha@qti.qualcomm.com>;
> > > pratikp@quicinc.com; Srivatsa Vaddagiri <vatsa@codeaurora.org>; Jean-
> > > Philippe Brucker <jean-philippe@linaro.org>; Mathieu Poirier
> > > <mathieu.poirier@linaro.org>; Oleksandr Tyshchenko
> > > <Oleksandr_Tyshchenko@epam.com>; Bertrand Marquis
> > > <Bertrand.Marquis@arm.com>; Artem Mygaiev <Artem_Mygaiev@epam.com>; Julien
> > > Grall <julien@xen.org>; Juergen Gross <jgross@suse.com>; Paul Durrant
> > > <paul@xen.org>; Xen Devel <xen-devel@lists.xen.org>
> > > Subject: Re: Enabling hypervisor agnosticism for VirtIO backends
> > >
> > > On Tue, Aug 17, 2021 at 08:39:09AM +0000, Wei Chen wrote:
> > > > Hi Akashi,
> > > >
> > > > > -----Original Message-----
> > > > > From: AKASHI Takahiro <takahiro.akashi@linaro.org>
> > > > > Sent: 2021年8月17日 16:08
> > > > > To: Wei Chen <Wei.Chen@arm.com>
> > > > > Cc: Oleksandr Tyshchenko <olekstysh@gmail.com>; Stefano Stabellini
> > > > > <sstabellini@kernel.org>; Alex Benn??e <alex.bennee@linaro.org>;
> > > Stratos
> > > > > Mailing List <stratos-dev@op-lists.linaro.org>; virtio-
> > > dev@lists.oasis-
> > > > > open.org; Arnd Bergmann <arnd.bergmann@linaro.org>; Viresh Kumar
> > > > > <viresh.kumar@linaro.org>; Stefano Stabellini
> > > > > <stefano.stabellini@xilinx.com>; stefanha@redhat.com; Jan Kiszka
> > > > > <jan.kiszka@siemens.com>; Carl van Schaik <cvanscha@qti.qualcomm.com>;
> > > > > pratikp@quicinc.com; Srivatsa Vaddagiri <vatsa@codeaurora.org>; Jean-
> > > > > Philippe Brucker <jean-philippe@linaro.org>; Mathieu Poirier
> > > > > <mathieu.poirier@linaro.org>; Oleksandr Tyshchenko
> > > > > <Oleksandr_Tyshchenko@epam.com>; Bertrand Marquis
> > > > > <Bertrand.Marquis@arm.com>; Artem Mygaiev <Artem_Mygaiev@epam.com>;
> > > Julien
> > > > > Grall <julien@xen.org>; Juergen Gross <jgross@suse.com>; Paul Durrant
> > > > > <paul@xen.org>; Xen Devel <xen-devel@lists.xen.org>
> > > > > Subject: Re: Enabling hypervisor agnosticism for VirtIO backends
> > > > >
> > > > > Hi Wei, Oleksandr,
> > > > >
> > > > > On Mon, Aug 16, 2021 at 10:04:03AM +0000, Wei Chen wrote:
> > > > > > Hi All,
> > > > > >
> > > > > > Thanks for Stefano to link my kvmtool for Xen proposal here.
> > > > > > This proposal is still discussing in Xen and KVM communities.
> > > > > > The main work is to decouple the kvmtool from KVM and make
> > > > > > other hypervisors can reuse the virtual device implementations.
> > > > > >
> > > > > > In this case, we need to introduce an intermediate hypervisor
> > > > > > layer for VMM abstraction, Which is, I think it's very close
> > > > > > to stratos' virtio hypervisor agnosticism work.
> > > > >
> > > > > # My proposal[1] comes from my own idea and doesn't always represent
> > > > > # Linaro's view on this subject nor reflect Alex's concerns.
> > > Nevertheless,
> > > > >
> > > > > Your idea and my proposal seem to share the same background.
> > > > > Both have the similar goal and currently start with, at first, Xen
> > > > > and are based on kvm-tool. (Actually, my work is derived from
> > > > > EPAM's virtio-disk, which is also based on kvm-tool.)
> > > > >
> > > > > In particular, the abstraction of hypervisor interfaces has a same
> > > > > set of interfaces (for your "struct vmm_impl" and my "RPC interfaces").
> > > > > This is not co-incident as we both share the same origin as I said
> > > above.
> > > > > And so we will also share the same issues. One of them is a way of
> > > > > "sharing/mapping FE's memory". There is some trade-off between
> > > > > the portability and the performance impact.
> > > > > So we can discuss the topic here in this ML, too.
> > > > > (See Alex's original email, too).
> > > > >
> > > > Yes, I agree.
> > > >
> > > > > On the other hand, my approach aims to create a "single-binary"
> > > solution
> > > > > in which the same binary of BE vm could run on any hypervisors.
> > > > > Somehow similar to your "proposal-#2" in [2], but in my solution, all
> > > > > the hypervisor-specific code would be put into another entity (VM),
> > > > > named "virtio-proxy" and the abstracted operations are served via RPC.
> > > > > (In this sense, BE is hypervisor-agnostic but might have OS
> > > dependency.)
> > > > > But I know that we need discuss if this is a requirement even
> > > > > in Stratos project or not. (Maybe not)
> > > > >
> > > >
> > > > Sorry, I haven't had time to finish reading your virtio-proxy completely
> > > > (I will do it ASAP). But from your description, it seems we need a
> > > > 3rd VM between FE and BE? My concern is that, if my assumption is right,
> > > > will it increase the latency in data transport path? Even if we're
> > > > using some lightweight guest like RTOS or Unikernel,
> > >
> > > Yes, you're right. But I'm afraid that it is a matter of degree.
> > > As far as we execute 'mapping' operations at every fetch of payload,
> > > we will see latency issue (even in your case) and if we have some solution
> > > for it, we won't see it neither in my proposal :)
> > >
> > 
> > Oleksandr has sent a proposal to Xen mailing list to reduce this kind
> > of "mapping/unmapping" operations. So the latency caused by this behavior
> > on Xen may eventually be eliminated, and Linux-KVM doesn't have that problem.
> 
> Obviously, I have not yet caught up there in the discussion.
> Which patch specifically?

Can you give me the link to the discussion or patch, please?

Thanks,
-Takahiro Akashi

> -Takahiro Akashi
> 
> > > > > Specifically speaking about kvm-tool, I have a concern about its
> > > > > license term; Targeting different hypervisors and different OSs
> > > > > (which I assume includes RTOS's), the resultant library should be
> > > > > license permissive and GPL for kvm-tool might be an issue.
> > > > > Any thoughts?
> > > > >
> > > >
> > > > Yes. If user want to implement a FreeBSD device model, but the virtio
> > > > library is GPL. Then GPL would be a problem. If we have another good
> > > > candidate, I am open to it.
> > >
> > > I have some candidates, particularly for vq/vring, in my mind:
> > > * Open-AMP, or
> > > * corresponding Free-BSD code
> > >
> > 
> > Interesting, I will look into them : )
> > 
> > Cheers,
> > Wei Chen
> > 
> > > -Takahiro Akashi
> > >
> > >
> > > > > -Takahiro Akashi
> > > > >
> > > > >
> > > > > [1] https://op-lists.linaro.org/pipermail/stratos-dev/2021-
> > > > > August/000548.html
> > > > > [2] https://marc.info/?l=xen-devel&m=162373754705233&w=2
> > > > >
> > > > > >
> > > > > > > From: Oleksandr Tyshchenko <olekstysh@gmail.com>
> > > > > > > Sent: 2021年8月14日 23:38
> > > > > > > To: AKASHI Takahiro <takahiro.akashi@linaro.org>; Stefano
> > > Stabellini
> > > > > <sstabellini@kernel.org>
> > > > > > > Cc: Alex Benn??e <alex.bennee@linaro.org>; Stratos Mailing List
> > > > > <stratos-dev@op-lists.linaro.org>; virtio-dev@lists.oasis-open.org;
> > > Arnd
> > > > > Bergmann <arnd.bergmann@linaro.org>; Viresh Kumar
> > > > > <viresh.kumar@linaro.org>; Stefano Stabellini
> > > > > <stefano.stabellini@xilinx.com>; stefanha@redhat.com; Jan Kiszka
> > > > > <jan.kiszka@siemens.com>; Carl van Schaik <cvanscha@qti.qualcomm.com>;
> > > > > pratikp@quicinc.com; Srivatsa Vaddagiri <vatsa@codeaurora.org>; Jean-
> > > > > Philippe Brucker <jean-philippe@linaro.org>; Mathieu Poirier
> > > > > <mathieu.poirier@linaro.org>; Wei Chen <Wei.Chen@arm.com>; Oleksandr
> > > > > Tyshchenko <Oleksandr_Tyshchenko@epam.com>; Bertrand Marquis
> > > > > <Bertrand.Marquis@arm.com>; Artem Mygaiev <Artem_Mygaiev@epam.com>;
> > > Julien
> > > > > Grall <julien@xen.org>; Juergen Gross <jgross@suse.com>; Paul Durrant
> > > > > <paul@xen.org>; Xen Devel <xen-devel@lists.xen.org>
> > > > > > > Subject: Re: Enabling hypervisor agnosticism for VirtIO backends
> > > > > > >
> > > > > > > Hello, all.
> > > > > > >
> > > > > > > Please see some comments below. And sorry for the possible format
> > > > > issues.
> > > > > > >
> > > > > > > > On Wed, Aug 11, 2021 at 9:27 AM AKASHI Takahiro
> > > > > <mailto:takahiro.akashi@linaro.org> wrote:
> > > > > > > > On Wed, Aug 04, 2021 at 12:20:01PM -0700, Stefano Stabellini
> > > wrote:
> > > > > > > > > CCing people working on Xen+VirtIO and IOREQs. Not trimming
> > > the
> > > > > original
> > > > > > > > > email to let them read the full context.
> > > > > > > > >
> > > > > > > > > My comments below are related to a potential Xen
> > > implementation,
> > > > > not
> > > > > > > > > because it is the only implementation that matters, but
> > > because it
> > > > > is
> > > > > > > > > the one I know best.
> > > > > > > >
> > > > > > > > Please note that my proposal (and hence the working prototype)[1]
> > > > > > > > is based on Xen's virtio implementation (i.e. IOREQ) and
> > > > > particularly
> > > > > > > > EPAM's virtio-disk application (backend server).
> > > > > > > > It has been, I believe, well generalized but is still a bit
> > > biased
> > > > > > > > toward this original design.
> > > > > > > >
> > > > > > > > So I hope you like my approach :)
> > > > > > > >
> > > > > > > > [1] https://op-lists.linaro.org/pipermail/stratos-dev/2021-
> > > > > August/000546.html
> > > > > > > >
> > > > > > > > Let me take this opportunity to explain a bit more about my
> > > approach
> > > > > below.
> > > > > > > >
> > > > > > > > > Also, please see this relevant email thread:
> > > > > > > > > https://marc.info/?l=xen-devel&m=162373754705233&w=2
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > On Wed, 4 Aug 2021, Alex Bennée wrote:
> > > > > > > > > > Hi,
> > > > > > > > > >
> > > > > > > > > > One of the goals of Project Stratos is to enable hypervisor
> > > > > agnostic
> > > > > > > > > > backends so we can enable as much re-use of code as possible
> > > and
> > > > > avoid
> > > > > > > > > > repeating ourselves. This is the flip side of the front end
> > > > > where
> > > > > > > > > > multiple front-end implementations are required - one per OS,
> > > > > assuming
> > > > > > > > > > you don't just want Linux guests. The resultant guests are
> > > > > trivially
> > > > > > > > > > movable between hypervisors modulo any abstracted paravirt
> > > type
> > > > > > > > > > interfaces.
> > > > > > > > > >
> > > > > > > > > > In my original thumb nail sketch of a solution I envisioned
> > > > > vhost-user
> > > > > > > > > > daemons running in a broadly POSIX like environment. The
> > > > > interface to
> > > > > > > > > > the daemon is fairly simple requiring only some mapped
> > > memory
> > > > > and some
> > > > > > > > > > sort of signalling for events (on Linux this is eventfd).
> > > The
> > > > > idea was a
> > > > > > > > > > stub binary would be responsible for any hypervisor specific
> > > > > setup and
> > > > > > > > > > then launch a common binary to deal with the actual
> > > virtqueue
> > > > > requests
> > > > > > > > > > themselves.
> > > > > > > > > >
> > > > > > > > > > Since that original sketch we've seen an expansion in the
> > > sort
> > > > > of ways
> > > > > > > > > > backends could be created. There is interest in
> > > encapsulating
> > > > > backends
> > > > > > > > > > in RTOSes or unikernels for solutions like SCMI. There
> > > interest
> > > > > in Rust
> > > > > > > > > > has prompted ideas of using the trait interface to abstract
> > > > > differences
> > > > > > > > > > away as well as the idea of bare-metal Rust backends.
> > > > > > > > > >
> > > > > > > > > > We have a card (STR-12) called "Hypercall Standardisation"
> > > which
> > > > > > > > > > calls for a description of the APIs needed from the
> > > hypervisor
> > > > > side to
> > > > > > > > > > support VirtIO guests and their backends. However we are
> > > some
> > > > > way off
> > > > > > > > > > from that at the moment as I think we need to at least
> > > > > demonstrate one
> > > > > > > > > > portable backend before we start codifying requirements. To
> > > that
> > > > > end I
> > > > > > > > > > want to think about what we need for a backend to function.
> > > > > > > > > >
> > > > > > > > > > Configuration
> > > > > > > > > > =============
> > > > > > > > > >
> > > > > > > > > > In the type-2 setup this is typically fairly simple because
> > > the
> > > > > host
> > > > > > > > > > system can orchestrate the various modules that make up the
> > > > > complete
> > > > > > > > > > system. In the type-1 case (or even type-2 with delegated
> > > > > service VMs)
> > > > > > > > > > we need some sort of mechanism to inform the backend VM
> > > about
> > > > > key
> > > > > > > > > > details about the system:
> > > > > > > > > >
> > > > > > > > > >   - where virt queue memory is in it's address space
> > > > > > > > > >   - how it's going to receive (interrupt) and trigger (kick)
> > > > > events
> > > > > > > > > >   - what (if any) resources the backend needs to connect to
> > > > > > > > > >
> > > > > > > > > > Obviously you can elide over configuration issues by having
> > > > > static
> > > > > > > > > > configurations and baking the assumptions into your guest
> > > images
> > > > > however
> > > > > > > > > > this isn't scalable in the long term. The obvious solution
> > > seems
> > > > > to be
> > > > > > > > > > extending a subset of Device Tree data to user space but
> > > perhaps
> > > > > there
> > > > > > > > > > are other approaches?
> > > > > > > > > >
> > > > > > > > > > Before any virtio transactions can take place the
> > > appropriate
> > > > > memory
> > > > > > > > > > mappings need to be made between the FE guest and the BE
> > > guest.
> > > > > > > > >
> > > > > > > > > > Currently the whole of the FE guests address space needs to
> > > be
> > > > > visible
> > > > > > > > > > to whatever is serving the virtio requests. I can envision 3
> > > > > approaches:
> > > > > > > > > >
> > > > > > > > > >  * BE guest boots with memory already mapped
> > > > > > > > > >
> > > > > > > > > >  This would entail the guest OS knowing where in it's Guest
> > > > > Physical
> > > > > > > > > >  Address space is already taken up and avoiding clashing. I
> > > > > would assume
> > > > > > > > > >  in this case you would want a standard interface to
> > > userspace
> > > > > to then
> > > > > > > > > >  make that address space visible to the backend daemon.
> > > > > > > >
> > > > > > > > Yet another way here is that we would have well known "shared
> > > > > memory" between
> > > > > > > > VMs. I think that Jailhouse's ivshmem gives us good insights on
> > > this
> > > > > matter
> > > > > > > > and that it can even be an alternative for hypervisor-agnostic
> > > > > solution.
> > > > > > > >
> > > > > > > > (Please note memory regions in ivshmem appear as a PCI device
> > > and
> > > > > can be
> > > > > > > > mapped locally.)
> > > > > > > >
> > > > > > > > I want to add this shared memory aspect to my virtio-proxy, but
> > > > > > > > the resultant solution would eventually look similar to ivshmem.
> > > > > > > >
> > > > > > > > > >  * BE guests boots with a hypervisor handle to memory
> > > > > > > > > >
> > > > > > > > > >  The BE guest is then free to map the FE's memory to where
> > > it
> > > > > wants in
> > > > > > > > > >  the BE's guest physical address space.
> > > > > > > > >
> > > > > > > > > I cannot see how this could work for Xen. There is no "handle"
> > > to
> > > > > give
> > > > > > > > > to the backend if the backend is not running in dom0. So for
> > > Xen I
> > > > > think
> > > > > > > > > the memory has to be already mapped
> > > > > > > >
> > > > > > > > In Xen's IOREQ solution (virtio-blk), the following information
> > > is
> > > > > expected
> > > > > > > > to be exposed to BE via Xenstore:
> > > > > > > > (I know that this is a tentative approach though.)
> > > > > > > >    - the start address of configuration space
> > > > > > > >    - interrupt number
> > > > > > > >    - file path for backing storage
> > > > > > > >    - read-only flag
> > > > > > > > And the BE server have to call a particular hypervisor interface
> > > to
> > > > > > > > map the configuration space.
> > > > > > >
> > > > > > > Yes, Xenstore was chosen as a simple way to pass configuration
> > > info to
> > > > > the backend running in a non-toolstack domain.
> > > > > > > I remember, there was a wish to avoid using Xenstore in Virtio
> > > backend
> > > > > itself if possible, so for non-toolstack domain, this could done with
> > > > > adjusting devd (daemon that listens for devices and launches backends)
> > > > > > > to read backend configuration from the Xenstore anyway and pass it
> > > to
> > > > > the backend via command line arguments.
> > > > > > >
> > > > > >
> > > > > > Yes, in current PoC code we're using xenstore to pass device
> > > > > configuration.
> > > > > > We also designed a static device configuration parse method for
> > > Dom0less
> > > > > or
> > > > > > other scenarios don't have xentool. yes, it's from device model
> > > command
> > > > > line
> > > > > > or a config file.
> > > > > >
> > > > > > > But, if ...
> > > > > > >
> > > > > > > >
> > > > > > > > In my approach (virtio-proxy), all those Xen (or hypervisor)-
> > > > > specific
> > > > > > > > stuffs are contained in virtio-proxy, yet another VM, to hide
> > > all
> > > > > details.
> > > > > > >
> > > > > > > ... the solution how to overcome that is already found and proven
> > > to
> > > > > work then even better.
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > > # My point is that a "handle" is not mandatory for executing
> > > mapping.
> > > > > > > >
> > > > > > > > > and the mapping probably done by the
> > > > > > > > > toolstack (also see below.) Or we would have to invent a new
> > > Xen
> > > > > > > > > hypervisor interface and Xen virtual machine privileges to
> > > allow
> > > > > this
> > > > > > > > > kind of mapping.
> > > > > > > >
> > > > > > > > > If we run the backend in Dom0 that we have no problems of
> > > course.
> > > > > > > >
> > > > > > > > One of difficulties on Xen that I found in my approach is that
> > > > > calling
> > > > > > > > such hypervisor intefaces (registering IOREQ, mapping memory) is
> > > > > only
> > > > > > > > allowed on BE servers themselvies and so we will have to extend
> > > > > those
> > > > > > > > interfaces.
> > > > > > > > This, however, will raise some concern on security and privilege
> > > > > distribution
> > > > > > > > as Stefan suggested.
> > > > > > >
> > > > > > > We also faced policy related issues with Virtio backend running in
> > > > > other than Dom0 domain in a "dummy" xsm mode. In our target system we
> > > run
> > > > > the backend in a driver
> > > > > > > domain (we call it DomD) where the underlying H/W resides. We
> > > trust it,
> > > > > so we wrote policy rules (to be used in "flask" xsm mode) to provide
> > > it
> > > > > with a little bit more privileges than a simple DomU had.
> > > > > > > Now it is permitted to issue device-model, resource and memory
> > > > > mappings, etc calls.
> > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > > To activate the mapping will
> > > > > > > > > >  require some sort of hypercall to the hypervisor. I can see
> > > two
> > > > > options
> > > > > > > > > >  at this point:
> > > > > > > > > >
> > > > > > > > > >   - expose the handle to userspace for daemon/helper to
> > > trigger
> > > > > the
> > > > > > > > > >     mapping via existing hypercall interfaces. If using a
> > > helper
> > > > > you
> > > > > > > > > >     would have a hypervisor specific one to avoid the daemon
> > > > > having to
> > > > > > > > > >     care too much about the details or push that complexity
> > > into
> > > > > a
> > > > > > > > > >     compile time option for the daemon which would result in
> > > > > different
> > > > > > > > > >     binaries although a common source base.
> > > > > > > > > >
> > > > > > > > > >   - expose a new kernel ABI to abstract the hypercall
> > > > > differences away
> > > > > > > > > >     in the guest kernel. In this case the userspace would
> > > > > essentially
> > > > > > > > > >     ask for an abstract "map guest N memory to userspace
> > > ptr"
> > > > > and let
> > > > > > > > > >     the kernel deal with the different hypercall interfaces.
> > > > > This of
> > > > > > > > > >     course assumes the majority of BE guests would be Linux
> > > > > kernels and
> > > > > > > > > >     leaves the bare-metal/unikernel approaches to their own
> > > > > devices.
> > > > > > > > > >
> > > > > > > > > > Operation
> > > > > > > > > > =========
> > > > > > > > > >
> > > > > > > > > > The core of the operation of VirtIO is fairly simple. Once
> > > the
> > > > > > > > > > vhost-user feature negotiation is done it's a case of
> > > receiving
> > > > > update
> > > > > > > > > > events and parsing the resultant virt queue for data. The
> > > vhost-
> > > > > user
> > > > > > > > > > specification handles a bunch of setup before that point,
> > > mostly
> > > > > to
> > > > > > > > > > detail where the virt queues are set up FD's for memory and
> > > > > event
> > > > > > > > > > communication. This is where the envisioned stub process
> > > would
> > > > > be
> > > > > > > > > > responsible for getting the daemon up and ready to run. This
> > > is
> > > > > > > > > > currently done inside a big VMM like QEMU but I suspect a
> > > modern
> > > > > > > > > > approach would be to use the rust-vmm vhost crate. It would
> > > then
> > > > > either
> > > > > > > > > > communicate with the kernel's abstracted ABI or be re-
> > > targeted
> > > > > as a
> > > > > > > > > > build option for the various hypervisors.
> > > > > > > > >
> > > > > > > > > One thing I mentioned before to Alex is that Xen doesn't have
> > > VMMs
> > > > > the
> > > > > > > > > way they are typically envisioned and described in other
> > > > > environments.
> > > > > > > > > Instead, Xen has IOREQ servers. Each of them connects
> > > > > independently to
> > > > > > > > > Xen via the IOREQ interface. E.g. today multiple QEMUs could
> > > be
> > > > > used as
> > > > > > > > > emulators for a single Xen VM, each of them connecting to Xen
> > > > > > > > > independently via the IOREQ interface.
> > > > > > > > >
> > > > > > > > > The component responsible for starting a daemon and/or setting
> > > up
> > > > > shared
> > > > > > > > > interfaces is the toolstack: the xl command and the
> > > libxl/libxc
> > > > > > > > > libraries.
> > > > > > > >
> > > > > > > > I think that VM configuration management (or orchestration in
> > > > > Startos
> > > > > > > > jargon?) is a subject to debate in parallel.
> > > > > > > > Otherwise, is there any good assumption to avoid it right now?
> > > > > > > >
> > > > > > > > > Oleksandr and others I CCed have been working on ways for the
> > > > > toolstack
> > > > > > > > > to create virtio backends and setup memory mappings. They
> > > might be
> > > > > able
> > > > > > > > > to provide more info on the subject. I do think we miss a way
> > > to
> > > > > provide
> > > > > > > > > the configuration to the backend and anything else that the
> > > > > backend
> > > > > > > > > might require to start doing its job.
> > > > > > >
> > > > > > > Yes, some work has been done for the toolstack to handle Virtio
> > > MMIO
> > > > > devices in
> > > > > > > general and Virtio block devices in particular. However, it has
> > > not
> > > > > been upstreaned yet.
> > > > > > > Updated patches on review now:
> > > > > > > https://lore.kernel.org/xen-devel/1621626361-29076-1-git-send-
> > > email-
> > > > > olekstysh@gmail.com/
> > > > > > >
> > > > > > > There is an additional (also important) activity to improve/fix
> > > > > foreign memory mapping on Arm which I am also involved in.
> > > > > > > The foreign memory mapping is proposed to be used for Virtio
> > > backends
> > > > > (device emulators) if there is a need to run guest OS completely
> > > > > unmodified.
> > > > > > > Of course, the more secure way would be to use grant memory
> > > mapping.
> > > > > Brietly, the main difference between them is that with foreign mapping
> > > the
> > > > > backend
> > > > > > > can map any guest memory it wants to map, but with grant mapping
> > > it is
> > > > > allowed to map only what was previously granted by the frontend.
> > > > > > >
> > > > > > > So, there might be a problem if we want to pre-map some guest
> > > memory
> > > > > in advance or to cache mappings in the backend in order to improve
> > > > > performance (because the mapping/unmapping guest pages every request
> > > > > requires a lot of back and forth to Xen + P2M updates). In a nutshell,
> > > > > currently, in order to map a guest page into the backend address space
> > > we
> > > > > need to steal a real physical page from the backend domain. So, with
> > > the
> > > > > said optimizations we might end up with no free memory in the backend
> > > > > domain (see XSA-300). And what we try to achieve is to not waste a
> > > real
> > > > > domain memory at all by providing safe non-allocated-yet (so unused)
> > > > > address space for the foreign (and grant) pages to be mapped into,
> > > this
> > > > > enabling work implies Xen and Linux (and likely DTB bindings) changes.
> > > > > However, as it turned out, for this to work in a proper and safe way
> > > some
> > > > > prereq work needs to be done.
> > > > > > > You can find the related Xen discussion at:
> > > > > > > https://lore.kernel.org/xen-devel/1627489110-25633-1-git-send-
> > > email-
> > > > > olekstysh@gmail.com/
> > > > > > >
> > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > > One question is how to best handle notification and kicks.
> > > The
> > > > > existing
> > > > > > > > > > vhost-user framework uses eventfd to signal the daemon
> > > (although
> > > > > QEMU
> > > > > > > > > > is quite capable of simulating them when you use TCG). Xen
> > > has
> > > > > it's own
> > > > > > > > > > IOREQ mechanism. However latency is an important factor and
> > > > > having
> > > > > > > > > > events go through the stub would add quite a lot.
> > > > > > > > >
> > > > > > > > > Yeah I think, regardless of anything else, we want the
> > > backends to
> > > > > > > > > connect directly to the Xen hypervisor.
> > > > > > > >
> > > > > > > > In my approach,
> > > > > > > >  a) BE -> FE: interrupts triggered by BE calling a hypervisor
> > > > > interface
> > > > > > > >               via virtio-proxy
> > > > > > > >  b) FE -> BE: MMIO to config raises events (in event channels),
> > > > > which is
> > > > > > > >               converted to a callback to BE via virtio-proxy
> > > > > > > >               (Xen's event channel is internnally implemented by
> > > > > interrupts.)
> > > > > > > >
> > > > > > > > I don't know what "connect directly" means here, but sending
> > > > > interrupts
> > > > > > > > to the opposite side would be best efficient.
> > > > > > > > Ivshmem, I suppose, takes this approach by utilizing PCI's msi-x
> > > > > mechanism.
> > > > > > >
> > > > > > > Agree that MSI would be more efficient than SPI...
> > > > > > > At the moment, in order to notify the frontend, the backend issues
> > > a
> > > > > specific device-model call to query Xen to inject a corresponding SPI
> > > to
> > > > > the guest.
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > > >
> > > > > > > > > > Could we consider the kernel internally converting IOREQ
> > > > > messages from
> > > > > > > > > > the Xen hypervisor to eventfd events? Would this scale with
> > > > > other kernel
> > > > > > > > > > hypercall interfaces?
> > > > > > > > > >
> > > > > > > > > > So any thoughts on what directions are worth experimenting
> > > with?
> > > > > > > > >
> > > > > > > > > One option we should consider is for each backend to connect
> > > to
> > > > > Xen via
> > > > > > > > > the IOREQ interface. We could generalize the IOREQ interface
> > > and
> > > > > make it
> > > > > > > > > hypervisor agnostic. The interface is really trivial and easy
> > > to
> > > > > add.
> > > > > > > >
> > > > > > > > As I said above, my proposal does the same thing that you
> > > mentioned
> > > > > here :)
> > > > > > > > The difference is that I do call hypervisor interfaces via
> > > virtio-
> > > > > proxy.
> > > > > > > >
> > > > > > > > > The only Xen-specific part is the notification mechanism,
> > > which is
> > > > > an
> > > > > > > > > event channel. If we replaced the event channel with something
> > > > > else the
> > > > > > > > > interface would be generic. See:
> > > > > > > > > https://gitlab.com/xen-project/xen/-
> > > > > /blob/staging/xen/include/public/hvm/ioreq.h#L52
> > > > > > > > >
> > > > > > > > > I don't think that translating IOREQs to eventfd in the kernel
> > > is
> > > > > a
> > > > > > > > > good idea: if feels like it would be extra complexity and that
> > > the
> > > > > > > > > kernel shouldn't be involved as this is a backend-hypervisor
> > > > > interface.
> > > > > > > >
> > > > > > > > Given that we may want to implement BE as a bare-metal
> > > application
> > > > > > > > as I did on Zephyr, I don't think that the translation would not
> > > be
> > > > > > > > a big issue, especially on RTOS's.
> > > > > > > > It will be some kind of abstraction layer of interrupt handling
> > > > > > > > (or nothing but a callback mechanism).
> > > > > > > >
> > > > > > > > > Also, eventfd is very Linux-centric and we are trying to
> > > design an
> > > > > > > > > interface that could work well for RTOSes too. If we want to
> > > do
> > > > > > > > > something different, both OS-agnostic and hypervisor-agnostic,
> > > > > perhaps
> > > > > > > > > we could design a new interface. One that could be
> > > implementable
> > > > > in the
> > > > > > > > > Xen hypervisor itself (like IOREQ) and of course any other
> > > > > hypervisor
> > > > > > > > > too.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > There is also another problem. IOREQ is probably not be the
> > > only
> > > > > > > > > interface needed. Have a look at
> > > > > > > > > https://marc.info/?l=xen-devel&m=162373754705233&w=2. Don't we
> > > > > also need
> > > > > > > > > an interface for the backend to inject interrupts into the
> > > > > frontend? And
> > > > > > > > > if the backend requires dynamic memory mappings of frontend
> > > pages,
> > > > > then
> > > > > > > > > we would also need an interface to map/unmap domU pages.
> > > > > > > >
> > > > > > > > My proposal document might help here; All the interfaces
> > > required
> > > > > for
> > > > > > > > virtio-proxy (or hypervisor-related interfaces) are listed as
> > > > > > > > RPC protocols :)
> > > > > > > >
> > > > > > > > > These interfaces are a lot more problematic than IOREQ: IOREQ
> > > is
> > > > > tiny
> > > > > > > > > and self-contained. It is easy to add anywhere. A new
> > > interface to
> > > > > > > > > inject interrupts or map pages is more difficult to manage
> > > because
> > > > > it
> > > > > > > > > would require changes scattered across the various emulators.
> > > > > > > >
> > > > > > > > Exactly. I have no confident yet that my approach will also
> > > apply
> > > > > > > > to other hypervisors than Xen.
> > > > > > > > Technically, yes, but whether people can accept it or not is a
> > > > > different
> > > > > > > > matter.
> > > > > > > >
> > > > > > > > Thanks,
> > > > > > > > -Takahiro Akashi
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > --
> > > > > > > Regards,
> > > > > > >
> > > > > > > Oleksandr Tyshchenko
> > > > > > IMPORTANT NOTICE: The contents of this email and any attachments are
> > > > > confidential and may also be privileged. If you are not the intended
> > > > > recipient, please notify the sender immediately and do not disclose
> > > the
> > > > > contents to any other person, use it for any purpose, or store or copy
> > > the
> > > > > information in any medium. Thank you.
> > > > IMPORTANT NOTICE: The contents of this email and any attachments are
> > > confidential and may also be privileged. If you are not the intended
> > > recipient, please notify the sender immediately and do not disclose the
> > > contents to any other person, use it for any purpose, or store or copy the
> > > information in any medium. Thank you.
> > IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.


From xen-devel-bounces@lists.xenproject.org Thu Aug 26 09:42:24 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 09:42:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172832.315375 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJBtw-0001gu-Em; Thu, 26 Aug 2021 09:42:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172832.315375; Thu, 26 Aug 2021 09:42:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJBtw-0001gn-9S; Thu, 26 Aug 2021 09:42:24 +0000
Received: by outflank-mailman (input) for mailman id 172832;
 Thu, 26 Aug 2021 09:42:23 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HXzX=NR=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJBtv-0001gh-He
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 09:42:23 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id e9574ca2-0651-11ec-a9de-12813bfff9fa;
 Thu, 26 Aug 2021 09:42:22 +0000 (UTC)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2110.outbound.protection.outlook.com [104.47.18.110])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-14-tqZjjrozNcOZHMw24lvrNQ-1; Thu, 26 Aug 2021 11:42:20 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5597.eurprd04.prod.outlook.com (2603:10a6:803:dd::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17; Thu, 26 Aug
 2021 09:42:18 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Thu, 26 Aug 2021
 09:42:18 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P189CA0011.EURP189.PROD.OUTLOOK.COM (2603:10a6:102:52::16) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.21 via Frontend Transport; Thu, 26 Aug 2021 09:42:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e9574ca2-0651-11ec-a9de-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629970941;
	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=muvHrwbcbFuZJchQX05pWUyn1T53+b2h+Nd7dKagbjk=;
	b=F3taJBG3qdUvmlpWP4rCcNuhRIqBP5HrfQVPrB95jyd9dYYZ4s+Zs+9l7SnH2HRbLgDEJ9
	UJvfZ6g914pRXTAfoS0XJeLeK7y8C6s0FGLzwXTQxLX7k0mscMpJ5OV9O8nBe90bc7rZHV
	19N05K/GVahw/TbAsF0xplMp73Yo7RY=
X-MC-Unique: tqZjjrozNcOZHMw24lvrNQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LTeA0++9T8/iDSGhg4y9eD2w16nG5aHJV+MoAxFukR/A6olcCIReRnKUhX0AkMrXk+4Y3wlfGSSUosb86qc0SazUWd8cNui0GZlrv5apWHpFSrYGU9g7hIIawbzEmisVAbh20OH74lGLlIGzmXE/9hXJ0LAAclaUXSxyEjGxlu9ZJCC+RxMeMj5VcR4yPGyazKD324kHzglaYe6W3LLLLRxfEEWvH3kwYk+CaqCvUaXnNWIWKRxQugml3EAwagKQB2qKE6oz1baqzkToc8iWxPI/M5Af63WCqZb6k9CmNJq6c3r/d8E2SJhi9+vGou0//Hdy0lZXk8Uo0DSnCh0TBA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=muvHrwbcbFuZJchQX05pWUyn1T53+b2h+Nd7dKagbjk=;
 b=NMay5c1ujNILj80opv6bt6T4wVvl65z7jzxVG17/QFsP/T7Qv50jXXTMQHHWZgrE9JvK5AVyNjleniymuwzEky9Y8942BILFzqfMS0jtrbxzGpP7eKkOu7uKfAjaV+pUPkrKxb0DhHKXLqXxxy4u5kvrBlX5bU9ay0DvMcy0JhOLfxg8BLjBxCXAK0/Umy13GqJMS5djeTm37ZW6iHbgZtcWiV6v7vPeUgkJcUl+ZLEPuOtgUF+jL0cf/k2nO3d+orsqYEA9SqatJGlJTL5AIh7pkfYtiYLVT2u3vBeLE4ihVFgmmZOizoA53FgCPXOda5IMmp5zXNBjwU7X1kmhcA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: tycho.nsa.gov; dkim=none (message not signed)
 header.d=none;tycho.nsa.gov; dmarc=none action=none header.from=suse.com;
Subject: Re: [PATCH v2 08/10] xsm: remove xsm_default_t from hook definitions
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Ian Jackson <iwj@xenproject.org>
Cc: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Tamas K Lengyel <tamas@tklengyel.com>, Juergen Gross <jgross@suse.com>,
 Dario Faggioli <dfaggioli@suse.com>, Paul Durrant <paul@xen.org>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>
References: <20210712203233.20289-1-dpsmith@apertussolutions.com>
 <20210712203233.20289-9-dpsmith@apertussolutions.com>
 <24832.3234.356168.227371@mariner.uk.xensource.com>
 <93bcfe0f-2fd6-7177-53f4-8544582df3b8@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <883a5aa8-fe25-3b83-3e07-941cd2609900@suse.com>
Date: Thu, 26 Aug 2021 11:42:14 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <93bcfe0f-2fd6-7177-53f4-8544582df3b8@apertussolutions.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P189CA0011.EURP189.PROD.OUTLOOK.COM
 (2603:10a6:102:52::16) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f0d84ea8-aa27-46bf-3ad7-08d96875cb42
X-MS-TrafficTypeDiagnostic: VI1PR04MB5597:
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB5597997357ADC0F097DF67FDB3C79@VI1PR04MB5597.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	YmAw+82rd4OwfdIhX0x22LcvEZ4q8hpbXj3CUwTkbdXDpC0+BcNkLyIA9BWIYvMNg5C3jSWXO4kGb7bbNZtEfjfmzpW7EEVN0azuvnOPXMqVV5yZ97O7eJLjuRrHgDARjIcABNUm9g96I2bGyS3kTdbsXfCRE6ZviTjx7BHo7Hl60xO0u3VUrjpF/XB2gffoUeYxSIvXp8LNSpQr2Urf6qts1XvTdgkz9JZzvkRw+5Cl0hmAzg012jBjID1xXNsZiwh2NC6AjmWuLKr2PCAt8Z71VgKhJmGgsQ2YgPG4eUP3KiTvu5mZUysz23EngcAM1Qr5McErwLs6YOCcPc5i5Do4O1GQFz1lYKfNo7Jj3ZEplhyvt2fLciy26m3H64UD/5vX5rDI/4w1sd0ZBiRxuvzDNF9h+x6iqxieiMQnQ5a7wADAWvuF13+1H0Iix7iFPkNFJjUYdcXC2yPR/IrFTXVAFI5ZMFf13834/hzV/9N0jRJtTzkTeyYLoSnV8jV9OkqbmnioK+Cjl0Allpw8XRtvoBtTLzUTNFZG7hpoPxYcauPIyJFYMmrnT4iOKCFeVGvoadmlz0bQzF8nHmn9+6+cRWhLT8zB+0WXAPH3Uk+4h/UbGlFYNogwV/QX4l4TJoEwmTWdxVlBCr4nm52wJHP6zuAxcb/5Q3sTZlsX1T0KW0vdxW/KV/sGYj7Lw8pIH4k6apXo9qGPxqH9ctT4sKdn8UpxPFKzarqItEkkjr4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(346002)(396003)(39850400004)(366004)(376002)(31686004)(66476007)(6486002)(54906003)(66556008)(186003)(38100700002)(31696002)(8936002)(26005)(83380400001)(5660300002)(66946007)(2906002)(36756003)(4326008)(110136005)(2616005)(16576012)(956004)(316002)(53546011)(7416002)(4744005)(8676002)(86362001)(478600001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VlJ0K3RXV0s0ck5EMWFTN3VUL1FLODJ3aUdWbkNUMXdTdldGdXFqNlFwZy9x?=
 =?utf-8?B?Y2o5VEFlRjJ5VFNVUVcrWG0xQW90WTZuZi82TFFhbDlQREtHeGNERTJPMHJO?=
 =?utf-8?B?dVpra2pBTkw4LzZmVlNXcnZxMVkzSStjRnRJZlBtN0padVgwUUZScDkyQXNy?=
 =?utf-8?B?b0xMU2xlY1h6VjQzL2pMT3RlRm5KSEk1TnFaWmVwZVIwazVDQnBuSzJrZ20v?=
 =?utf-8?B?Q1BkdFJpcHpTY3U1WG5SMzk0azA2cmZUY2JudFNpWmo2WVJ3R3E0eVpNVWpN?=
 =?utf-8?B?UEhkeXBsOHFKTnhaZWpRRHdFK0VQN0JKNW9HcktjNFYrem9JMHRhKys0cm5J?=
 =?utf-8?B?UWIyTjY0cmZvM3FRdmRQYW51aFp3TTAxcEhHRDQwdVZ3ZXhxMFJuNGZCandM?=
 =?utf-8?B?YjY3b05NTEs5a00yYnpqRW15REtNQ3dLM1Z3cTQ1SzY4d05BeW9sditKbmZT?=
 =?utf-8?B?Zm1aY01SUXlPTVdaTjNubGtIdWlReTFOa3o4YTUxTHVKVXpFWnpOUm9XbUp4?=
 =?utf-8?B?aDFzNExsbW1UTGpDOVhCczZsZTVrL2o5a1NJTjdNU0lFRy9hM0tsKzRma25W?=
 =?utf-8?B?Yk9FcUlzS0pHcHFsWGN5RlZqVHJ3SGFKSmpTajNua3g1YkpqbWN1RzJtclhN?=
 =?utf-8?B?eVJXODM0UUpyMC9vblBucGVlY2txcnNtcUJvNmNnMGZsK1J5UmJsR2dmaity?=
 =?utf-8?B?d09vcUVkeS9LNW9EQmE0Tjh2cWFtbThUWEtYand2TG56UHhpUTlZeWswVmpi?=
 =?utf-8?B?TDFYb3k0REw5bSsrREtJR25lNVdlRUR6eWJ5NGFxb0U0cmthNzZyQ1VvNnh2?=
 =?utf-8?B?dDE5emFucUZvdDlTU3NWYS9iOEdDWWZrTlQ3Tll3RzB3S2NnTFRRckJvN2Y4?=
 =?utf-8?B?UEdZa3dVUnFCdytKNkw3ODdYUy9raWtTVERTTFVMa0tjM0hHR2JqYXNuRzh2?=
 =?utf-8?B?NnZncmp5b3lVb1RQWStvK1VNRi9WLzVrc1dCQVY3ZGVERjRzZE9LOE5ZZE9a?=
 =?utf-8?B?T0M2UTJVVlk3TUdxYzVicFlpOVRpNlNZZFdCa3VBdmlQTGRjamZ3OWhuWFZk?=
 =?utf-8?B?bThvdFZLdFVoUHZVbUozWXRBODBPVzhneHY4bHFnRHlxY3p2TGdPUnFZemNG?=
 =?utf-8?B?RmpOdVNRcm8wZ3BvNmRJRVg1eVpwRWlPenkwM0dPbVNjVVRkcXVnSEtNTWF4?=
 =?utf-8?B?R1NRMDZBRzVXUUVRelI5SFhrNFlDVThZeXk5Q1dDWTg2RndybzlKdWdJTGxZ?=
 =?utf-8?B?bk5oWTNpbko0Ymt6MndlRUJqLzA5dDZta3hUcmVrWCtHWkZ1L0N5cDM4d1Uv?=
 =?utf-8?B?QmMxdlVVWldZZjcyTXRQQ2l1N2lTYUVWSW9CaUdkSTJwTkRNSzZqaisvb3Vj?=
 =?utf-8?B?K2RjWE04blNMbGdSWERlYTNnT3hsNFRSZzcrSkJobVBjWHZwNFowbGd3a0Vi?=
 =?utf-8?B?b0lNQmd4MHdmRDBSQWtxSnFRRzkwWkc4QUpETFhVUktMRFFNVE9tV2Zic2k0?=
 =?utf-8?B?K2dJOXkyZURyR2hINkRmVEhxNmprVVBRWks2TnV4aVZyNUdpNGkwTVFzUThR?=
 =?utf-8?B?OUlDdGFYMUt3TThCM0FpOFhOYnVYWXNMNEhBNXQ0UVdWa3JNNHoyOUVBaWFr?=
 =?utf-8?B?bUxTTlBnY1phOGF3QVpUanJxcm5IdG5BSHlqUHN4c1BQa2pqV0FjcnB6dm1F?=
 =?utf-8?B?V2E1UjYrN3YrN0hETzVpQW9yTVV4aHVKUUpQaVZ4cU9ZalA2QUYxSnNqRlc5?=
 =?utf-8?Q?K8kxmK9LOsgpnUhayOvEbIf5A4O6d0TnQ5Li92h?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f0d84ea8-aa27-46bf-3ad7-08d96875cb42
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 09:42:18.4411
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HSoiqr5gSiR8RBHFb+V+3R+HQgXpGlqteRhlgY+xK9YS23rRcZvY5V9CBBR4uvQLq8RFwosRfIHxvjnB7h9rRA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5597

On 06.08.2021 23:41, Daniel P. Smith wrote:
> While not all of the points of contentions nor all of my concerns are
> all addressed, I would like to hope that v3 is seen as an attempt
> compromise, those compromises are acceptable, and that I can begin to
> bring the next patch set forward. Thank you and looking forward to
> responses.

Having gone through the series I've been happy to see the adjustments
that have been made. There are still further requests I have spelled
out, but I think (hope) those aren't as controversial anymore.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 10:06:43 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 10:06:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172843.315386 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJCHH-0004TK-Br; Thu, 26 Aug 2021 10:06:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172843.315386; Thu, 26 Aug 2021 10:06:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJCHH-0004TD-86; Thu, 26 Aug 2021 10:06:31 +0000
Received: by outflank-mailman (input) for mailman id 172843;
 Thu, 26 Aug 2021 10:06:30 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HXzX=NR=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJCHG-0004T4-AJ
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 10:06:30 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 47ae04a8-0655-11ec-a9e0-12813bfff9fa;
 Thu, 26 Aug 2021 10:06:29 +0000 (UTC)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2113.outbound.protection.outlook.com [104.47.18.113])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-21-jYG5I5BuNfqfGqwtkTbOBA-1; Thu, 26 Aug 2021 12:06:27 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB7149.eurprd04.prod.outlook.com (2603:10a6:800:12e::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.18; Thu, 26 Aug
 2021 10:06:25 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Thu, 26 Aug 2021
 10:06:25 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR2P264CA0041.FRAP264.PROD.OUTLOOK.COM (2603:10a6:101:1::29) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Thu, 26 Aug 2021 10:06: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: 47ae04a8-0655-11ec-a9e0-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629972388;
	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=ode5oIKByJi+m41Wlx8Fdpgit/TZQa292rd6HNSJW9U=;
	b=lHxi0jkvfzPtLmiOnwIzbNLj/VaV3y1Uj5kOwupDvyaU8/IWi2Lpy0wnwlYW+1hPY4L2PO
	Vk7MQ8FpzR8ASjTje20N9vBLlk5soTj5OB4sgfmAczt0w1T2ZeBXDRUZsMZSPZxlkw4WPU
	H5IwvVLLX+kMzSADUMk7VjVEkPvqlPg=
X-MC-Unique: jYG5I5BuNfqfGqwtkTbOBA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SMwjuYPpJrDp2pQuEBFlIX/YBQEqzICJM8S0LnW2CSurYNwLZy3NDev/eqkGD1sF0pnzUVrSvbtGhsDYiawJzC1dSIjuju/Mz3xCygumIBqolluEkZuHJsM1NQjaPB+JNDq6YUcTxve1caneMSBWjisgh3OaGmDMc1o+jt6YoI8QC9KO0STzyclWZS/CAoANrAchWEtOXmep6+G60NIThYe8XF914fYyEZVpv8W8A1dfvzWCGV+aFER7iJ1d7H217JHHMMySx+SlJrqMHW+Wayva3ZpViMiHVKL/KCpkAqAImg31A4sQtPZx9fmiVJzo+UJscJlJQ3gv9E7bmlAeag==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ode5oIKByJi+m41Wlx8Fdpgit/TZQa292rd6HNSJW9U=;
 b=X7Fk0pjHkC7O3YkBFZH5sDWrrH/dknHIydQQi0Ck3dxMv7ZfQxymtAKxIcXxFG6lgTXDheTi3wQOr5gbzcXvcci1MvAD9TAQnaDZ9k8+TCoi7/zzhMkX+zlYMt1OOIzUwcE44QQP+TgK8i17NY256kVG3FEyeGoLo3drLBCxtQgpdggmFVnEJV0JTwJG3UWR+0wyQsni9EMIwv7qP0ym4xz+nrXuzPahx9a6gowKrqtEYYemFZoF9z0eJmEWAQgJf6fO7AlNJAyAg7pePEZZ7SJvqWOT0Q4qDIOPF1q+jn/UEUvGM5FwL/WnZcFgA82Phbzq/Z9Li8KzyPbLwOE/rQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH 0/9] gnttab: further work from XSA-380 / -382 context
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Message-ID: <eb7bbd51-1da3-9a7f-27c7-49dea1a41488@suse.com>
Date: Thu, 26 Aug 2021 12:06:23 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR2P264CA0041.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:101:1::29) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f03cd0d0-3504-4125-d2e6-08d9687929f4
X-MS-TrafficTypeDiagnostic: VI1PR04MB7149:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB7149ADC914A33676DA56DB3DB3C79@VI1PR04MB7149.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	iE9V9k97b9uiIG/TrOTWT/9X13byB5vUNzmDrhTcGMMwJw+LePtUp6YRoGDIDbZVyoe42o/6To2TT1CLbgtwM+jT1K2L+FEszhP0jhKUrflH+QAPl+WeaDR5oqrsJB5DjYKD88oopkekQKe9ibXaqHqQsh9k4r/TWwQqAmlwejpCkTBZcXicpEDwsNyYXYyakH4sYpcjBQ0BdnSUpalg0L7poih4kQ/mjrF+s+Qyc72uUYeVCozoDY4PazVsIr/8EPZ4NmOhFNzmNphzfwInCoBdEyE+YzuH+EoDKJU84847LZqIgWGOhi58J95k8+ffXSJtACSImM4nIJf9NtaEc+UkQvFSAFMY6/lYiXfmMU6B/OyeT8RRoF/amDWJex37trm2DMPE97Nhk9VTqmWXVxmDK/BUWfvp9SGfIf4o1vS+RPAMV2C2uSF5FQiOLgq8W6ByO8+NGwHmES5oAzOls+42kZrUHA5B4p9iwRdV4GBUsjVgsaOCiQ5LQlTm+GQZOl4WMirKOUlsl32TcmcquAv4zD3omYfNoqARcqfD6q/uYlbfWhCt1a8ohkxCbg4oSY13I3uKNAWkckL102ckTOqRrIl0HNzZB6jvJEH84/7+Qw5N2Dnx92RHeDYVW83oYe9ftBADbgn2Zat/FuS0c9d9Xv+xDtpLtwHERg9Exlmnp1O+JUprPd6XU/KV3SDrYkCqidG6Ehaa8B51R/ZPPeoc3vTHScPKbyTkyKPbxlg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(66476007)(66556008)(86362001)(16576012)(6916009)(316002)(66946007)(54906003)(31696002)(508600001)(31686004)(4326008)(8936002)(8676002)(38100700002)(956004)(2616005)(186003)(5660300002)(2906002)(26005)(83380400001)(36756003)(6486002)(4744005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c2VYRzY4anpjekFjOFI2UjA3cXc5WHVtNUVPbTNKdExWOVdoc09KTDFOa1Y1?=
 =?utf-8?B?bHFmOXVmc3RxSHM4OXBocUt6aWsrS1k0UUNuUmt3czFKVkRQSUQyWFhWOGhm?=
 =?utf-8?B?bUFkQjFtZHdaQ1V6TlUxVUZ0VElPRy96cEdmNXp6NnlNenZqcnZ4TVNKYXl6?=
 =?utf-8?B?TUVNZzRFNTlhOGVoVXBYdTdGdUo3aXZ4ZWFiNEFVNXU0WkZuekJjUWFncjJZ?=
 =?utf-8?B?TlQ3KzJZZVd6em5VMWE4NUNYVFZwRWRUd1dvVkRvMTc4K0lIRHcxTnZpcHdh?=
 =?utf-8?B?RjZ1Nm1mZnRZM1FkQmRVazZuSjk4WG1JMFE5dzFSbGlZM0s1WVlzQ1JRT2V3?=
 =?utf-8?B?NUJzZ1VRbWp1T0NsZUUveGEvTG5zbm4vL21RK21wQTRrQTdJNEFDRDdYa3JQ?=
 =?utf-8?B?cHArVFdGN2xuSlE3MGZrbFg3NGFSQnhkYkQweXVydE1LU1dUVUt1eWVSK0d2?=
 =?utf-8?B?bVNKbFNGNjVUZ0huOVNacndlTzd3ZjViNzE3aERwc08yOHVtbDFSV0hMUUxY?=
 =?utf-8?B?UXVYZzVzTW1GTUl6ZHpya1pIZzVmaTh5ejc1bElMbnFtTUU3QURWNlRWcWhC?=
 =?utf-8?B?OEhBUGdDUjhHdUVGampmclFTYlYxVVR6TzdGZ1I3eEZ1bVBvbEpVeG1TS3FJ?=
 =?utf-8?B?ZFNSbTA1S2dLamJFMHhyY2kwSUpDcWNROThqeHhiZWpheXFnL2RBTitLVHNn?=
 =?utf-8?B?Rzh3VnozdzZFNVJHU3FESkxzcWQrUTRqcko1NzhwQktkdmFKclZwNVdyb0Fs?=
 =?utf-8?B?SGpncno4dTZCTnNaRlkxeUNMMnlPK3hvdmFDZTRvdSs0QlpjQWtnSFBTeWZw?=
 =?utf-8?B?TEd6ZFZzalhyTHdvR2VnRGdoVjdaZjhRbWxrRjR4MFRSYmVsaEFLeTRpci9K?=
 =?utf-8?B?RENNVFN2dktoUUZxS2d6ZndrRzBPbUJXcWtHSWR0RkVobGptZ0hXNm9lYlNq?=
 =?utf-8?B?STN6bjRabHlLY01yeVA2TTdZQnNlSXBuaHprb1QrQ0JRWGgvZ0laVEc2VGkr?=
 =?utf-8?B?aC8relRlQkx1SUptbVVVbXRtdUo2empkYjUrZDE1ODMzbW1vK1RCeU9TdFBO?=
 =?utf-8?B?QmFPWkxqbENGL0JScWl1VERaSFpvM2xRaFdoT2tDWldBQlhNdGQ3eEJJL3kr?=
 =?utf-8?B?akVJbW1iYVpzTzlsenNZNmxiOWF0ZU91ZmRnc0xkVmVybmUrQm1BUWRWOE1E?=
 =?utf-8?B?cmVQV0hVOGN2blJNNkx5eWNtM0tKdUROUFdNRzRFQlVLVlVaOXBad28vVDB2?=
 =?utf-8?B?NU1VblA1RUtFL01ITTVCc1UvM2lFZGVoT2ZIQWdaK2htdG0wU2Z6N3BjeTRS?=
 =?utf-8?B?R2xhMllHMWszdFpCQ2lVd2ovQmdOTnBlbHRFVW1mK2pvWXNnY1JZT25yelhE?=
 =?utf-8?B?c0xnUXF2eEVYK0FQem90ZmVXWnMrTFg5WmdjcHh2K2dvVCtVS3NQcW9IL0pE?=
 =?utf-8?B?U0RFamN1enFRRUVLYlRHdjJrQXVwVTkzV29iNHVsWXFOTVNpdWpkQkpjV0dr?=
 =?utf-8?B?aGJ3VDFNdm8xeTBWaVdWRFFKRzFPT1ByOEFMNlFDMlllZ0VySlQ2Rk9YTUlm?=
 =?utf-8?B?bHNKVU51eEhMbU5MWllBZ2dCVlFVWnFDZ1RaeW1ZZm9hYnFmVk93R3VKOVov?=
 =?utf-8?B?V2RXcTdPOHVMWHhBN3JkbHl6aHBPYUJudGNuU2NwTVZCZU9vOXViTEE3dkN4?=
 =?utf-8?B?bUVOdGZCTFRReU41QytFMnlwZUJqMjU5R08wd2RyOGdzU0R3S0t6d2hBb0FK?=
 =?utf-8?Q?RQGHOE3HzPYeMrv7QlTfU4wSY/rUEEsByfOs8YI?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f03cd0d0-3504-4125-d2e6-08d9687929f4
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 10:06:25.4907
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: gjNunIA+ewP22Dp94UIfTp/XykYeRNX+pCigVKqCEv0AUmH21g04u0kjgTrbKvqtOW4hHHaj4Y6Mfd8ZFh4tJQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7149

The first four patches can be attributed to the former, the last four
patches to the latter. The middle patch had been submitted standalone
before, has a suitable Reviewed-by tag, but also has an objection by
Andrew pending, which unfortunately has lead to this patch now being
stuck. Short of Andrew being willing to settle the disagreement more
with Julien than with me (although I'm on Julien's side), I have no
idea what to do here.

There's probably not much interrelation between the patches, so they
can perhaps go in about any order.

1: defer allocation of maptrack frames table
2: drop a redundant expression from gnttab_release_mappings()
3: fold recurring is_iomem_page()
4: drop GNTMAP_can_fail
5: defer allocation of status frame tracking array
6: check handle early in gnttab_get_status_frames()
7: no need to translate handle for gnttab_get_status_frames()
8: bail from GFN-storing loops early in case of error
9: don't silently truncate GFNs in compat setup-table handling

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 10:09:28 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 10:09:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172849.315397 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJCK7-00056l-Pq; Thu, 26 Aug 2021 10:09:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172849.315397; Thu, 26 Aug 2021 10: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 1mJCK7-00056e-Mp; Thu, 26 Aug 2021 10:09:27 +0000
Received: by outflank-mailman (input) for mailman id 172849;
 Thu, 26 Aug 2021 10:09:26 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HXzX=NR=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJCK6-00056W-0O
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 10:09:26 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 3d194146-58da-4380-b5b1-112fa368217d;
 Thu, 26 Aug 2021 10:09:25 +0000 (UTC)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2054.outbound.protection.outlook.com [104.47.13.54]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-19-IRtJDmcwNnGe15IPRLYogg-1; Thu, 26 Aug 2021 12:09:22 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5166.eurprd04.prod.outlook.com (2603:10a6:803:53::33)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Thu, 26 Aug
 2021 10:09:20 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Thu, 26 Aug 2021
 10:09:20 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P195CA0022.EURP195.PROD.OUTLOOK.COM (2603:10a6:102:b6::27) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Thu, 26 Aug 2021 10:09:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3d194146-58da-4380-b5b1-112fa368217d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629972564;
	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=1sa8Fe77gt8qRj28nz+tzjOoJt1XN6A7BIFTYCnT5LA=;
	b=JMF7XCsfU5vGPnChflRmsvvFlKvuvLMCtrLT+Cb5vnzHmTvS2X8LXNby6umOHXL727fJ00
	eFOne+dx0Lobl6PEsn3R7g8pJxdim83VEaucKRCjpvgwwuXd2qV5VNIaHCiGcIHV56s0nC
	ZL1ZwPk/6uPIzqtvvqZxRTitGy6B2Mo=
X-MC-Unique: IRtJDmcwNnGe15IPRLYogg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ilwdX3hHicpbD62xvWuXm0Vhs6gUuEe+e6jcRPGS9Txdv0L/NJVazWO/lK8dDINJXltn+CNFFnWcF3mykNzSZjmEtj4fwirrXWehslEBo55WanQ3Ew/Y/Nt+p76AHv6L/CkLX8qCfAclterHbTVTp5Iq+rR5mqn+eEtn3WxS5/Qf5H1qq6XcziXhFXD4xbM0BREL4P7jq1Au5PHIikBFGHlZAIT7rtWM2Db41Xzv8P+6decMPNJSKX3f0IjydWV+EYfC8wpKBDQFisMg1L0tG+8qN127K/OtrSJXjtzmpJWxB6vLExj2p4aoMd1nrUjfxai2gbkskqXC5gA0/l8Wrw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1sa8Fe77gt8qRj28nz+tzjOoJt1XN6A7BIFTYCnT5LA=;
 b=UBEsFXrWkjO/lE5i0GPFTSM4Md6lrKJT9sfwVCCzwSiGIQhh8AIKFXzo/sKDKpz3atKRGnxAu4Ui45dtleUBo0yKucMav9m2X5rYlfc7aiJTH4/68BtPGgTRjA063W/ZhxHYd9spPNIzyYwHTb49dIAkAkAFfrQIVfFdNr6/Qy01n4Bcst854a9Gg/zov0pVYEtmDDivB3OlgFKM4qu07Vvywux2+5E/o8fA8tfhmREvOJ4JWjqRWedp12D/k+aaexVKyGBn2kZnmLMj/86+gkRav0WN2wLdn3682tWsPaL4X0Wfv//+XvxJj7TBkfOjN+ah0PUFcsdDOnJsrckaVA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: [PATCH 1/9] gnttab: defer allocation of maptrack frames table
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>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>
References: <eb7bbd51-1da3-9a7f-27c7-49dea1a41488@suse.com>
Message-ID: <062bcbd3-420e-e1c0-3aa0-0dfb229e6ae9@suse.com>
Date: Thu, 26 Aug 2021 12:09:17 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <eb7bbd51-1da3-9a7f-27c7-49dea1a41488@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P195CA0022.EURP195.PROD.OUTLOOK.COM
 (2603:10a6:102:b6::27) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: e1dc890e-f89a-4785-c303-08d9687991f7
X-MS-TrafficTypeDiagnostic: VI1PR04MB5166:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB5166840D7C2287CE771EA016B3C79@VI1PR04MB5166.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8273;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	a2/I/8gRmJ3LLkFNLasY0ZrTdBmr05gJo1IMplv0vFHdprN6T3bQYlZDyhzgVRcRDmyYb+fYobnGrxyJNlK3fI48fGyTH156d2o4HnLOjOmwQG1O+35Hzr+LB/lcpxNZPPDX4VUDZRjCKdn8dr/qbMk/CkBRwB33dOceLLF4h+pB03vqOH2/MBk7jIyB48no4JEj8RU5uZlRUAemY3tfJvqypYFlru7dJsWUCkZJJGYmvQThZbBARPLIYCYNcXyv5QLP1s6m0KYEaOOv2zfTltuZ1Qvv+I5B+8TBSNGOdmdEN2jWjKEFVv4btq39kDt8Qss/bf5FJ0lMnhoY8mRv5QgxHhO7rMi50fvNoS+6AaZuYJSX0LB/ythMneZZkHMzbwt9I+95B22s7fbU5P7S1+oWVJpFt+qquH1mYNIIb7ybXqyFwa3PV/JWH2q3z9pUb8qZ8y1NqJebZcDVA1MoonJH24kQV5UKaKHqBwv6qe7pxpaxFzVjrImw2rhnOmSZtJh3ZEi6z3QcsOae2CYabJpzHcGeMu3PrOT9qfKEPKZaKg3zeDTJppcnYFaQDDckTMJVWZQQujUNCCBptpEsZ/9qkiixL1ziq8qe3Ol3+mMbq7u661zyeeKoTu7fuOxkTJ2ufym6ffwJjwTpeI4frAP5z+v92qNcc45tHV//DaUlQoo5sOIIkxDjAMLZOLCfFdfyZtpgkZz7firHBbyqcf0HbjPh/aQo4xcQ6OgJIDs=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(366004)(39850400004)(396003)(376002)(136003)(186003)(26005)(38100700002)(31696002)(16576012)(316002)(66946007)(66556008)(66476007)(54906003)(86362001)(8676002)(6916009)(2906002)(4326008)(83380400001)(5660300002)(478600001)(31686004)(956004)(2616005)(36756003)(8936002)(6486002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cXFaTGczTGZtRm9MbTJONENhT3hsQ0RUUlE2Z2NlNUF5eHgva05UYmhLcTU3?=
 =?utf-8?B?WmRwb204M3N1SVUvc1BHYzhhNFBOSjA1cHpDZGdmWHhiWmNPSVZLYmd1UG93?=
 =?utf-8?B?VU10WVF1VlUwOTZzdkI1YUJKSEJhS05CeDFhUHBHWUhBam1pdkY4WXRXK1Zt?=
 =?utf-8?B?TmZyU1RodGh4TVY5RUk5N1J2bmJWak03RmRPOUdWUEZRZGw4eGdvdGx4Q0FF?=
 =?utf-8?B?SGt0Lzg5VktJVm42NHovYTd1S1hIWVhRRWlKd1Y5ai9YNG5qbjNXbHB4cU1W?=
 =?utf-8?B?TmNzUTlJeXZOVWlOcXg1czQrd29abm1PeEhwT0pnTENnYmN4TWhYSlFhSUk5?=
 =?utf-8?B?Nll5bGJTSE9FTUlidW4yak8zbjRyUnlKS0NIUmd0YnN3TTA4dlJWTkVaNFd5?=
 =?utf-8?B?Y01XTlU0RndZZEdENGZXZE9uZEZZa1ptMXNlM3hPOTNrNCsyZGZNdWswRW00?=
 =?utf-8?B?REFCWGxyYWIraENxaCs5Ky8rV2ZkeWhZTk9pdUZ5andiNWtIL2Y3cFN3WXhv?=
 =?utf-8?B?eGFGaTUxa25GT0pKVXpSM3F2Z2tUdGkvRG1uZXNVN3hWNjdIbWVndkhCWnhW?=
 =?utf-8?B?YVVmYW5qdEIrMjZXVGRQTStVZmZqUFBmL2xwZmU2Vno4VFhlZXA1Q2lGaUVK?=
 =?utf-8?B?Nk1CSExMajRRTVRuTTRkQmZuQXVLejhPTzkzQ1VSaERnYTY4RkljbnZ5aWho?=
 =?utf-8?B?M3R6cUQ2ajBoeTA1ZkJWSlJpZnpiZjJ3OTl6Q2FTT3N2a2RkUGdCYnZzUzNR?=
 =?utf-8?B?dFJpUWRSMElpRkxvR3ZNejhsSWpZN2NTdnA4N09ycnV4WGFBS3BVZ05hTU40?=
 =?utf-8?B?ZVlGZnJCZ1hpNTNVZVh1dWxRY1RyZFJZbnFsTWprb096UnE3YVpUeFU0R082?=
 =?utf-8?B?WHFzVzlNYWpCVVlEYjhUcUFORTkzWUlremZuTEd3U1h1M3BQM3dhZWt2K3A1?=
 =?utf-8?B?TXl5TjI0Nythby9mWFRQLzd3UXB3UGxOdWFCanowUUx1Q1pKaGo2Nm04MTA3?=
 =?utf-8?B?SGNvZ0o5d3N5a3U2dHRJOGJoaFhNR2pkclhoQ2FHMkE2ZWZLWW5xWlhZRUVs?=
 =?utf-8?B?UU9XSk9XaHBVc1g2R0J6bVpaY0ZENXE2SkZ6NVZSZHZFTXc3eDY2YktnTUhH?=
 =?utf-8?B?YXhYUHl2UElBOWFZVjRCcVN1NHoyWWNCZ0Znd256MDU1RVhJZFZnZFFLdk1m?=
 =?utf-8?B?b3NpalIwcE1PY1FqWjNqM2lub1RKa3RNNHV0ZHBtZEs4dlBFWDhiWnBWejVl?=
 =?utf-8?B?VVFMSUtjdGpBY01VWHRxS0lTRWNKc0g5SmYrVmMxNXJVcE1WYkFOV2tsWWEz?=
 =?utf-8?B?R2hlVU10OVlQYXN3dEhGem41cTREY2w3V2pUeWtucUZnZHVRamM0ZUlENnZq?=
 =?utf-8?B?MHJoc3B3OXdzQ0tlbjM0V0ZkWktjUTQrQ3I1ZXp2bW1WakVDeTRGdjR0Z0hE?=
 =?utf-8?B?Z3dnb3RDV012dE9GbzR5bFB4QXlON2Mvay9OUkJnMSsvY3F0cENacFJqQkFK?=
 =?utf-8?B?bHNwMThyVUpaSGp3M3NkQVJLN0xxTi9RNVdyYzUrNW9NNVVjaUtnUXpmeXc1?=
 =?utf-8?B?dS9Hak81MXRqTDlQajdZb3pBRWQ4a1FKckhvQkxnbnQ5L3lKZlBsM0t5MEZn?=
 =?utf-8?B?bHMyd2x2UEhYWkJlQkQ1QWNLN3Y4TW5jdngvRjhDbVdJSUQzVHBLa1VrRDF5?=
 =?utf-8?B?Z3ZrZFp3a2NqNU9iUkhib3REWDhYb0xtSkxOVGF6c2w1UUxlSmJKc1JVa1J3?=
 =?utf-8?Q?bxOl2YEd2DC9gy9n74XujsqWmN2JX9oSRbLYleS?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e1dc890e-f89a-4785-c303-08d9687991f7
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 10:09:19.9780
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: p5aupfQYG47UryqF5XgpMrbtPv4sEeV1GgzEMY+9ouW7nud45d6BwqW53qdzdjZvzKr9ey4P3ZDdyxVh+EDhtw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5166

By default all guests are permitted to have up to 1024 maptrack frames,
which on 64-bit means an 8k frame table. Yet except for driver domains
guests normally don't make use of grant mappings. Defer allocating the
table until a map track handle is first requested.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
I continue to be unconvinced that it is a good idea to allow all DomU-s
1024 maptrack frames by default. While I'm still of the opinion that a
hypervisor enforced upper bound is okay, I question this upper bound
also getting used as the default value - this is perhaps okay for Dom0,
but not elsewhere.

--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -633,6 +633,34 @@ get_maptrack_handle(
     if ( likely(handle != INVALID_MAPTRACK_HANDLE) )
         return handle;
 
+    if ( unlikely(!read_atomic(&lgt->maptrack)) )
+    {
+        struct grant_mapping **maptrack = NULL;
+
+        if ( lgt->max_maptrack_frames )
+            maptrack = vzalloc(lgt->max_maptrack_frames * sizeof(*maptrack));
+
+        spin_lock(&lgt->maptrack_lock);
+
+        if ( !lgt->maptrack )
+        {
+            if ( !maptrack )
+            {
+                spin_unlock(&lgt->maptrack_lock);
+                return INVALID_MAPTRACK_HANDLE;
+            }
+
+            write_atomic(&lgt->maptrack, maptrack);
+            maptrack = NULL;
+
+            radix_tree_init(&lgt->maptrack_tree);
+        }
+
+        spin_unlock(&lgt->maptrack_lock);
+
+        vfree(maptrack);
+    }
+
     spin_lock(&lgt->maptrack_lock);
 
     /*
@@ -1955,16 +1983,6 @@ int grant_table_init(struct domain *d, i
     if ( gt->active == NULL )
         goto out;
 
-    /* Tracking of mapped foreign frames table */
-    if ( gt->max_maptrack_frames )
-    {
-        gt->maptrack = vzalloc(gt->max_maptrack_frames * sizeof(*gt->maptrack));
-        if ( gt->maptrack == NULL )
-            goto out;
-
-        radix_tree_init(&gt->maptrack_tree);
-    }
-
     /* Shared grant table. */
     gt->shared_raw = xzalloc_array(void *, gt->max_grant_frames);
     if ( gt->shared_raw == NULL )



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 10:12:04 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 10:12:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172856.315407 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJCMb-0006i4-E2; Thu, 26 Aug 2021 10:12:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172856.315407; Thu, 26 Aug 2021 10: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 1mJCMb-0006hx-Ap; Thu, 26 Aug 2021 10:12:01 +0000
Received: by outflank-mailman (input) for mailman id 172856;
 Thu, 26 Aug 2021 10:12:00 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HXzX=NR=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJCMa-0006hr-4f
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 10:12:00 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id af25be9e-c6e2-4b4a-8c66-2b3bf8733ba4;
 Thu, 26 Aug 2021 10:11:59 +0000 (UTC)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2051.outbound.protection.outlook.com [104.47.13.51]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-11-BvEzxeBwN-qJjxlsivF_2g-1; Thu, 26 Aug 2021 12:11:57 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB2960.eurprd04.prod.outlook.com (2603:10a6:802:9::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Thu, 26 Aug
 2021 10:11:54 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Thu, 26 Aug 2021
 10:11:54 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P191CA0032.EURP191.PROD.OUTLOOK.COM (2603:10a6:102:55::7) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.21 via Frontend Transport; Thu, 26 Aug 2021 10:11:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: af25be9e-c6e2-4b4a-8c66-2b3bf8733ba4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629972718;
	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=9pIz493n8vP2lByOzJVJJbPpIRS7dNzvxod2n9ZIyps=;
	b=FH+UJ1lY80NDYyyCDeGYwkTtbNz+exaMBRwq4UB34xan/aM63eKXVtPigl7iNu8rz7mT2N
	6H9AHfZkrOTEqlLd2HXiHwBv2eUvMTlOF1wDcZTbnsq5kUTX4mxsu90xfgwuVl9+qZN8ke
	hkZMiyxTRVsTvHXWxghdtGVJGfLNLA4=
X-MC-Unique: BvEzxeBwN-qJjxlsivF_2g-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WbY4FW7gDW2bvo4M9kY60wbM9Kr6Gst4sq+Nb8yMgNdw1Zysf64C49mPSYe2B9XtIWaqVYs8661HPhWOnanDczZw2qve7L8TVGpyDtGaosBFGX9/4PiWuNIdaO0RC1gN9B8iKERrQJxhasOky0Ed3eVpHFzkvJtemDoP0hhlS7t7Qe0ugTdFED6hpJ5vve8yUkOZnrEZBe/O23ee4MhKoVrkgxDGj/zo2bqJUfbGSDp+MehQPISRHuDyW64dkoQrFhESLdMh+O7brQKioX0Tvwz4Jn6IPfJitpqPybS7bkVWd4hGBBZBUzSJ5Gj7+GbS3AVHFjr9D/pzhSxJYzu3+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-SenderADCheck;
 bh=9pIz493n8vP2lByOzJVJJbPpIRS7dNzvxod2n9ZIyps=;
 b=lYGQaCvgtPpTCZnky5Lrzg1a/HQfCZNrbmA33m/BaTsjz3WojLs/q9HbYp1lDljmsLaRnsLEzshub3eJ/V9bTCdubpsIshU+JPCYiKHuI5GhMMORTYoK7/HZsgzZCD28mZ8Qq4/uGyaCkTWJnh3yABHRhcS9tX0kmZtRj6zwKH/En3ZQ9CT3N/Z7c5RFAn/fr5P41A+UOLyPGoF0VAijBAGjZLCJh98z7HgtU8eZVEsO93suZXbBdO5vkm48fOh5Dy4NQ+A7i61RryVJ1iSq7HNewF2B41+DYBbN5hDGc6WtlAuDmY7GYpxwR1gCfLY5k/OoTNCUiUm5qslrRscutg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: [PATCH 2/9] gnttab: drop a redundant expression from
 gnttab_release_mappings()
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>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>
References: <eb7bbd51-1da3-9a7f-27c7-49dea1a41488@suse.com>
Message-ID: <80426a2b-81ac-acc1-db93-077934468b1b@suse.com>
Date: Thu, 26 Aug 2021 12:11:51 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <eb7bbd51-1da3-9a7f-27c7-49dea1a41488@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P191CA0032.EURP191.PROD.OUTLOOK.COM
 (2603:10a6:102:55::7) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 6cdab8b2-48db-4732-2dce-08d96879ee36
X-MS-TrafficTypeDiagnostic: VI1PR04MB2960:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB296020A309DEFB1A9A491F08B3C79@VI1PR04MB2960.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:3044;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	vbt2CKLi+9AQphc14DciUisJagnY5ZhckSqnlUy6eDimwvs3gHAMzF7/TjoBC4gIARVAGC5fF87xKUzRIy8wEItfeHCPuyr3nezuBkN/EN9HOCeXU91rswhi39guV0kfLgWevB4G+3I64oEZ+D9QCD0oDOuoW1rc/URAcN9Ybp2siP0RwRKaKcZiQRuLMU9s9OZkhL1j+/lhAZHAkhOhIhwCNAClLU8O84N8rCFZTxsHC3KMpVSDWkfSRMiAAp1tMNwUBXAMS+CTxX18As9MEOjh8tCSixO9WuIXLDgjsxE3CW7gKKyYviemXDVpN81Wh3QfcBw6JH//WvTFcXA8p/ke5Gak3KuKGTul7+ojC7YLWigkHNxjgN3JcpIYNUklQOSQtP2Z9U3IbGarxgUTsuzG41449SYAm75K6p2La0bpBfXfEUv3zyA4IJpmSLiylYUqiyYF43w/1oAbhQ8IzlETolLQXhJBy4fYum8PcJQLJ7x74TRSU45SHF/nIzXhGxtUd7ma/bLkUEmPWCeYkoB/myEqshLTSa2gFWUiNb79Nci4Z4hpr+fEbHeznf2Z23SuD90M8MkuWXTuuNHUiiPUE4+Ot5Na1YLoDUyrm/7nj3471R3d67R7tAASKPSKADfy4RleRx7Mv00qnYWVdw1k0EHxBZnpMUUy23fqcvXvoh9Rqna5eNRgjOk9TWpzjaydazFUYoQgiCcCBIeODf2khhxgd9sk/NgLMPBKva4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(39850400004)(376002)(396003)(346002)(366004)(136003)(5660300002)(478600001)(4744005)(31686004)(956004)(2616005)(6666004)(8676002)(6916009)(2906002)(4326008)(36756003)(8936002)(6486002)(31696002)(186003)(26005)(38100700002)(66476007)(54906003)(66556008)(16576012)(316002)(66946007)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RGJxUW5VcnBFaFRFNzFDZFRlWFo1SjZDdnYvaVF2bHBwcUlxUzB0eTdZK0pV?=
 =?utf-8?B?ZHJLdFhYQ2VXL04wQ3NLTHEzTU5VaGJaemljTmc3NWxXVHYyWWxnSm1PTFQz?=
 =?utf-8?B?VmhTZ1FoYWdSVDBCdlNsY0JOcklYYm83ZlNmR2I1WXBEQlY2TWh2UHg1N2t2?=
 =?utf-8?B?eWxlRmoxQ0ttYTVJRnNMYytuNFJMMHVhVVVQbnQvejVkQVdaTVFBRXZYcnpF?=
 =?utf-8?B?L3BrZzJzL1R3T3dYV3ZicHREc1VvT2hLbVNsZTBKczk2Rm1OMG80L0pBSWU2?=
 =?utf-8?B?aXF3NFN5Y1lXZlNmY3h0QWlkcnIxanBEWW1SZVozNXNlWmUzZ2ZFVTBURkNR?=
 =?utf-8?B?MXBFNy9wVWRHNHNOQ2doNnFCSmxISnZrZFJxZDFuNlhnYnlXWWF1Q2hiRVNW?=
 =?utf-8?B?NVBCTGtkOW80MERKMk9LZVB5RTB4dCtCc1FWMDU3Y05lUlF1OXBmREFkM3Mz?=
 =?utf-8?B?WVZoUUpVTVo1WDRLdkd4UnB1Wnd5UGd3VnBMOHNxSE1BMjIydzhHN2NWZlo0?=
 =?utf-8?B?OWVpUmxYUG5EdGFsRk5pRDdFNXhGY0hoZ2ZTWFNzbFM0TUJLaTFUbURwaVVu?=
 =?utf-8?B?eVlibzRQOThLa1k4YmU0ZWFlVkhMREErc2tCckFMaDJZd0ExSm9NWXd3TnYv?=
 =?utf-8?B?VkVSOEx1eWo0OVpnNUR0TzV4ak85aDhiN3NWTVA3ZmdXdW1YUFZDdzR0bitr?=
 =?utf-8?B?VFhnNE5icHYyRkFjWTRrelNGdmR4cGRlUGE1YzM3Q0xMdjd2RlVObU80S2h4?=
 =?utf-8?B?NUcrOVZZZzZVU0hLaCtHNVBqSXB2bzZpODkwT0hqZys4NkUxSXJ4NUdqQzNB?=
 =?utf-8?B?OERZREJOQjFNbWplTVUxb201MW8vSjVURitKbmZzWGFmSFhZc3dLVUFFSnYr?=
 =?utf-8?B?dkh1QkJHQUdSdzlNOVowZVFMekRWMERPYjJDclpMOXQ0cnBWbVJrUTc3L05X?=
 =?utf-8?B?c2pzOVR3TXlhb0lodlFQdTF4VzJQQ0JmV3pZcEtWUFBqOFJVK0VKRXZQSVRS?=
 =?utf-8?B?WFpTVXhBU2tDSlN1SlUrcmVXZUZ1elN4Um1wTU9tbEhsNDJEcERGVnlSV296?=
 =?utf-8?B?MjlrVTBSNi9oRVNPbEJyNWRyZjN3RTNDbDFuc3ZvS0NoQUxPb3U3YlJycUVm?=
 =?utf-8?B?MjNNbWIzcTBQWk1KbENzK2k5MFErQWh2TFhZSGc5SGtOQUdwYVRxWDdsVDZT?=
 =?utf-8?B?STAvWTJCM01ONjhXQW1zS2RjUXFxRU1UdzZQWHBOMVQ1aVM5ZEJuRWJKazRO?=
 =?utf-8?B?QWNIMWpNN2pPcmx2Yit1WFZ0U3JUcUtETWNNZFZBMzBWMCt1T05JR09JcHlJ?=
 =?utf-8?B?VE12Yyt5YTB6MDhtTHdZNzl5WW9xeGd6T1VEVjhVQlFCQ04vbzE3TUw1alBa?=
 =?utf-8?B?M0JOYWNqTk4yYlFEc1RKTjBoekxWK2dIQ1BvN3N4WnpRc00vNmwrVnFwZEIy?=
 =?utf-8?B?alk2dGNxcy9OR0tpeGRhNCtpTTQ4SExXV24vM25RMXFSTk5iTGlNNDFUUDBy?=
 =?utf-8?B?M2VuV3RoS203dDdHWHRsY1JFZ253UUNZZmFnbnVmRDdJL1Vib1crdldUMlZq?=
 =?utf-8?B?cUZ4UC9FbVVJSjB0QXpMMWd1Wk4vK2llaW5iL2F3dFVoZVNQZVNTbUxKUFMv?=
 =?utf-8?B?WmgrdTI1TXdhSG42azRMajRlQkdRVWNpMHVhVEFJaU9yZVBTa0RCcTJINEh6?=
 =?utf-8?B?cWdzQUlUSFV4bXExbGRsK0lDRGw2TUZIWFY0ZjM2RVFXQktSV1RyMW5nbE40?=
 =?utf-8?Q?OtmktDfFkuuj8xH5qDbFvT4SexPwX/zz/5kSJIg?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6cdab8b2-48db-4732-2dce-08d96879ee36
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 10:11:54.7464
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: IHYtr3JZarBpiJX4ZxUMkGaMXshwgDSOZ3RJRoAFjCjeYc3jGEXXYHmhfSkaPY9XdfqRlzjRxi3cDM1n5wFIlA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB2960

This gnttab_host_mapping_get_page_type() invocation sits in the "else"
path of a conditional controlled by "map->flags & GNTMAP_readonly".

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -3816,9 +3816,7 @@ int gnttab_release_mappings(struct domai
                 if ( gnttab_release_host_mappings(d) &&
                      !is_iomem_page(act->mfn) )
                 {
-                    if ( gnttab_host_mapping_get_page_type((map->flags &
-                                                            GNTMAP_readonly),
-                                                           d, rd) )
+                    if ( gnttab_host_mapping_get_page_type(false, d, rd) )
                         put_page_type(pg);
                     put_page(pg);
                 }



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 10:12:37 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 10:12:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172861.315418 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJCNA-0007Hm-OZ; Thu, 26 Aug 2021 10:12:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172861.315418; Thu, 26 Aug 2021 10: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 1mJCNA-0007Hf-Ky; Thu, 26 Aug 2021 10:12:36 +0000
Received: by outflank-mailman (input) for mailman id 172861;
 Thu, 26 Aug 2021 10:12:35 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HXzX=NR=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJCN9-0007HV-JL
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 10:12:35 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 2f1fd858-d782-4e57-83c1-6fb5779a5a37;
 Thu, 26 Aug 2021 10:12:34 +0000 (UTC)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2113.outbound.protection.outlook.com [104.47.17.113])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-33-92vAv6KyNS2Uz6pOeRxxYg-1; Thu, 26 Aug 2021 12:12:32 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB2960.eurprd04.prod.outlook.com (2603:10a6:802:9::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Thu, 26 Aug
 2021 10:12:30 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Thu, 26 Aug 2021
 10:12:30 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P191CA0058.EURP191.PROD.OUTLOOK.COM (2603:10a6:102:55::33) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.22 via Frontend Transport; Thu, 26 Aug 2021 10: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>
X-Inumbo-ID: 2f1fd858-d782-4e57-83c1-6fb5779a5a37
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629972753;
	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=n511EYtA/tuzfF5bwcNyYouo2stCQAhoLR2Fuecv68g=;
	b=ghQ/zqMAY7NCWPAytXYFKkLEe2JpRqS9dtJLvl3TAddmfkoX5kMeyGqaZqBNxrWp9taoC2
	Bvog2bBwgV30nz4a6sfFPF1Q07aVN49AiUK7Uoedq4DIcPrAP7mu5c0wyTpWHui/zxZYjb
	h+Zr69FI6TGI6TshQa9RfJInfHQIbro=
X-MC-Unique: 92vAv6KyNS2Uz6pOeRxxYg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=H8dlbC1xlTkq+gHEWIliCvGjfcFEqkjMQbWbVLRaXjtvDlJrpqvnDasy/sXsXgcL33IqEZSiO7yAKkeQmR1NHD25Ek1bz1HGFS+0R90L8WHMKs9WNzdy9bpZNrAxiRXPE3ob0dYD8Z9lY03AhXk+kYQuj0iETBmw+tBUl0Xi3npn5s6ToD+3+dJzch7e6gZzdzcQSdqcfo9jqXKXxj7yiKVpYq/Z1PdgnalVU+LOQt86QlSX5GxY8GUJYqxeMs+fSplrxv7jxIHFMtkaIO60bHHdUHyN1Z+DMfeV3glS9+Pyh2B2UdIJJXN2t33J5uuAWCuT5UM+KQAsXa8yBdp5vw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=n511EYtA/tuzfF5bwcNyYouo2stCQAhoLR2Fuecv68g=;
 b=KkDAe3TgRj6svqMhTPTZmnF2gLxpuPhDuXd22E5uqrNhDaN25TdVUIqIoU9RngSDmnyAAxkfUMBK4NL7qGd510bpeiIdEJBEalWtVcbO3VIZIe+zaqbC9J0GKAxxbdFd978gVJuOhWPTwmtodsnbZIl2h1Y+Umeo00bvdKQEjtxexDqdZGbdThurxPpHr2tLJWfijvf9ublTiOO76+iqkvRpI4BRFx7G1OxkjzAAajyXrAgXok8t4LX6lbKicEcenJGNl0O45dPb1gq0QYKV0StwyY1c9ilVbTAqhHJdtMKKVvAFoMeHoVjI2DMDuvM56HRkvg6+Z7sQg8a7TnIw1g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: [PATCH 3/9] gnttab: fold recurring is_iomem_page()
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>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>
References: <eb7bbd51-1da3-9a7f-27c7-49dea1a41488@suse.com>
Message-ID: <06eeea76-adf8-4f40-eced-57db1526eba8@suse.com>
Date: Thu, 26 Aug 2021 12:12:28 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <eb7bbd51-1da3-9a7f-27c7-49dea1a41488@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P191CA0058.EURP191.PROD.OUTLOOK.COM
 (2603:10a6:102:55::33) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: fcf7903d-93b6-4ca8-5f47-08d9687a03aa
X-MS-TrafficTypeDiagnostic: VI1PR04MB2960:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB2960A218D17CC0FD02CE10D2B3C79@VI1PR04MB2960.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:7219;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	m1CKLJm7h43mW9/c3UNqJeJnWhSWB7APyaH+0wZlUL7hCxtnuEVTS9xfhyAMMr/TabaR8rP8elwgBzasxjegWYQjfQWjBLyA1+6RODcViRwT6IgkMu4eahWGTEO04T7fgWovgApa/PcCAn04JiQ+3qMC3NwIkhMjs2PDi/PkKrhXifi2CL8iNXMfZCQShdIMcoINrxjZFZST/ikOK48aHWENoU47ZwrMdgvFzGpZWchGo+OKQyE/fAQwNWh6WBJcnZIcC/v7EBXwrkWlAIAXc5NXMYqlhcwFRc9aCe1XI3BCcNPIywxmM9z+0TxMeHtkY3IDEDsPxu7NRxlNlWojcruXZqN/c/DYq6JKNer2M9XAwS1R0NJTRnxeF5m/ypEKpOpK8LfKs6IUMj24OB7eqeFBoC9J297/6QhyOFkVVC2OxWJbe9mX20Ab+gh8BIAEvSXPnJbFdydhkogMV6wunofJOgRqxL5Mp/N8+/EmHl3VjJws9d5CfZOoRnlndm+oTzeXp8QThY0stnran6qi7b/xcas1UmBQozDKag1JQs5sRI30nR/+aJsPx5QVH1mb6p3WTPsMfHosB3fTx3cZp7EUdrPUrz4fvavBOPoMz+YX+lK/UV4I5LgGCeEyWYDirvAvI5y+dP+dTmF8+BuyNfAt3c66TrRT8iTAhMtnXTJunJubINMPWj7U5geaCawaO2MJ+poSVWL59NfBx9uADCuCAgBLUprl3Y5XsfDQb3A=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(39850400004)(376002)(396003)(346002)(366004)(136003)(5660300002)(478600001)(31686004)(956004)(2616005)(8676002)(6916009)(2906002)(4326008)(36756003)(8936002)(6486002)(31696002)(186003)(26005)(38100700002)(66476007)(54906003)(66556008)(16576012)(316002)(66946007)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eDJpWUtOQk9jS1RTMUdsUnBsVkxjbW85R2ZzZUsrNDZOV0dPOWN4bGVNdFNi?=
 =?utf-8?B?a1pNR3VoL1ViZFU4OHovQkRxS2JMbngvYzMxRy81bVpkcVIrZWtJcGs2MVB2?=
 =?utf-8?B?MndqM2RKaWVlYVdwV1VnNnV2K3Q0aTl3dnRtKzIrN0ZmT2I0NjRwUll1Q1Vp?=
 =?utf-8?B?YkhxSUZja0c5dlFvTVJoS2hyN3BIQ2FIQlRvQnR5WWRqd2Z3cVFaYVVXS0Nz?=
 =?utf-8?B?ZXhheDFvVFVIR3lrbVArMS9lKzRUYmpFbEptVG5saTdvUFExTGRGVFRmVVFW?=
 =?utf-8?B?NTRYeGRwWWdqZldkK056Y0xnM1VXaFIwT0IrOWV3ZFBDUm0wNzN4V0NmSjdG?=
 =?utf-8?B?dThHdEV3bEVCOHA5b0xvaW1SNGJGanB4YlNZMFF1MGdJb1g0QWM3RjNPSnpt?=
 =?utf-8?B?ZTNjZ2xJcXlkalJCOCs2WjQrcWdNRDlvMUZBcjhNZ3piMGQ0NittTDZoKzhs?=
 =?utf-8?B?RmtKSFJlclpsajE3ZWNXUk1HZW8zZFJjeHBHMXZuT2hJcUxlQ2QwV0djZkll?=
 =?utf-8?B?OUhIcDFaRGxBYjZKUTVRaTdCbGlGMWlBNTNrYWY2WnN2L3pQNUJScStYOStY?=
 =?utf-8?B?aTRUNm5iVWVkbDRaSkQzeUE1cC82WXdYT3p3WlU1dW1LYmUxYVBFN3dTNEcw?=
 =?utf-8?B?RFl3czhOdDl4N1duTHZpallJMm5HT0tkUDhJdXVnN2V2WExaQ3BNKzErTk5D?=
 =?utf-8?B?Yy9JemVublptaEQvTWFLR09qVWkwUEpOK05pdjFYcDQ5SVZqR1I2SEtLV2Rn?=
 =?utf-8?B?R08zZ1JTcE5HaFdyYXY0ZlVsUlZnT1NiZkoxWXhub2VGdmtCbXkrTWJURTlM?=
 =?utf-8?B?U2xtWnY4S2tsSnRMSFk3QklIRDh5V0VveVViUjh2M2FLNU0vOEpmMERqQ3NT?=
 =?utf-8?B?R1cyRnF0UEUyUlNqRXpmaEdkbzF1REpHWUJObUhaVTBLV0gzVHZWbGlBUnJB?=
 =?utf-8?B?bytJZytEcmVscVh3NjhvUXVrb2d2SndCOXRhVkc3a3diRzRaWmVJUFZNbnNL?=
 =?utf-8?B?Ym5sNGQvZnh0UFZ4VXBObHROdW55Qi9sdldXY2xodVBLSXVhSXk0K3phQXFB?=
 =?utf-8?B?Q0dsWHl3Ry9BRXpkYkUwZFhOVFg4aWpuZUt6L01YQ3hrWUxEeThjMS9NZVVV?=
 =?utf-8?B?NDlDN2dZaHZGLzRyZFVyME1TcG8xenhOUXJhOGM1TGRDQWhURWlDN091VDRs?=
 =?utf-8?B?cTg4L1hMdjVGVzVIR2NpckJnZjBPbi82M1VuQS9QRzJ2bUFKdGprS015OEp5?=
 =?utf-8?B?VlJCRWxrWXFSNnlaSE5MTnpkcEVmWHZjRXA2R3dFd29pdnV6NUxjM1c4QnVJ?=
 =?utf-8?B?NWd6YkloRmZPcDNPUUJQMEN1Z3V1OGNRKzhETDlONklqdEUzcWMwVk5RZDlI?=
 =?utf-8?B?YVVDTjJZbUF3KzhPTGYvOFA0OWxRL3VrVDB1a0FYaE5YVnAvZFRZUzZDWTU1?=
 =?utf-8?B?QUVSdVJHUE8yOHpUeHR5YmZaMVhncVIxamNZdjAxWVhaN0tic3BDdFRvWXRu?=
 =?utf-8?B?ajQwdVA0ZVptTUZzSmsxaUIxbGZEamNmdE50dzhWeEFTaUxaNnhSVFZGTW9o?=
 =?utf-8?B?RmpXT2lCOURxRWp2dVRwZ012c0VJc0ZCYTFRbmlXNU1PVHU2OWpoMkUxd3Vl?=
 =?utf-8?B?bUNndFpsMjZob09DVy9KbnZnWWZBTFhEMXZWOEZRakgwZTE5a0QwN3V0UXg5?=
 =?utf-8?B?S0ErZnBBZU5rd1Z6dVZQQTQwR1NYdmhLS2FtZGIyS2FFUms0Q2F4eEZ6c0lG?=
 =?utf-8?Q?5RgWY7GqdQCJMzQtPFumhZ9QJ3RbQT1D/FBDqNo?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fcf7903d-93b6-4ca8-5f47-08d9687a03aa
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 10:12:30.7401
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rPx5JV2XfFgziElHeQ+KMNADp5jtp8kgtNM+O80FnSQ1XJt8WqDrDrFBYlR7BjTBHi4NRHGfdX9Zywr/pgb4WA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB2960

In all cases call the function just once instead of up to four times, at
the same time avoiding to store a dangling pointer in a local variable.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -1587,11 +1587,11 @@ unmap_common_complete(struct gnttab_unma
     else
         status = &status_entry(rgt, op->ref);
 
-    pg = mfn_to_page(op->mfn);
+    pg = !is_iomem_page(act->mfn) ? mfn_to_page(op->mfn) : NULL;
 
     if ( op->done & GNTMAP_device_map )
     {
-        if ( !is_iomem_page(act->mfn) )
+        if ( pg )
         {
             if ( op->done & GNTMAP_readonly )
                 put_page(pg);
@@ -1608,7 +1608,7 @@ unmap_common_complete(struct gnttab_unma
 
     if ( op->done & GNTMAP_host_map )
     {
-        if ( !is_iomem_page(op->mfn) )
+        if ( pg )
         {
             if ( gnttab_host_mapping_get_page_type(op->done & GNTMAP_readonly,
                                                    ld, rd) )
@@ -3778,7 +3778,7 @@ int gnttab_release_mappings(struct domai
         else
             status = &status_entry(rgt, ref);
 
-        pg = mfn_to_page(act->mfn);
+        pg = !is_iomem_page(act->mfn) ? mfn_to_page(act->mfn) : NULL;
 
         if ( map->flags & GNTMAP_readonly )
         {
@@ -3786,7 +3786,7 @@ int gnttab_release_mappings(struct domai
             {
                 BUG_ON(!(act->pin & GNTPIN_devr_mask));
                 act->pin -= GNTPIN_devr_inc;
-                if ( !is_iomem_page(act->mfn) )
+                if ( pg )
                     put_page(pg);
             }
 
@@ -3794,8 +3794,7 @@ int gnttab_release_mappings(struct domai
             {
                 BUG_ON(!(act->pin & GNTPIN_hstr_mask));
                 act->pin -= GNTPIN_hstr_inc;
-                if ( gnttab_release_host_mappings(d) &&
-                     !is_iomem_page(act->mfn) )
+                if ( pg && gnttab_release_host_mappings(d) )
                     put_page(pg);
             }
         }
@@ -3805,7 +3804,7 @@ int gnttab_release_mappings(struct domai
             {
                 BUG_ON(!(act->pin & GNTPIN_devw_mask));
                 act->pin -= GNTPIN_devw_inc;
-                if ( !is_iomem_page(act->mfn) )
+                if ( pg )
                     put_page_and_type(pg);
             }
 
@@ -3813,8 +3812,7 @@ int gnttab_release_mappings(struct domai
             {
                 BUG_ON(!(act->pin & GNTPIN_hstw_mask));
                 act->pin -= GNTPIN_hstw_inc;
-                if ( gnttab_release_host_mappings(d) &&
-                     !is_iomem_page(act->mfn) )
+                if ( pg && gnttab_release_host_mappings(d) )
                 {
                     if ( gnttab_host_mapping_get_page_type(false, d, rd) )
                         put_page_type(pg);
In all cases call the function just once instead of up to four times, at
the same time avoiding to store a dangling pointer in a local variable.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -1587,11 +1587,11 @@ unmap_common_complete(struct gnttab_unma
     else
         status = &status_entry(rgt, op->ref);
 
-    pg = mfn_to_page(op->mfn);
+    pg = !is_iomem_page(act->mfn) ? mfn_to_page(op->mfn) : NULL;
 
     if ( op->done & GNTMAP_device_map )
     {
-        if ( !is_iomem_page(act->mfn) )
+        if ( pg )
         {
             if ( op->done & GNTMAP_readonly )
                 put_page(pg);
@@ -1608,7 +1608,7 @@ unmap_common_complete(struct gnttab_unma
 
     if ( op->done & GNTMAP_host_map )
     {
-        if ( !is_iomem_page(op->mfn) )
+        if ( pg )
         {
             if ( gnttab_host_mapping_get_page_type(op->done & GNTMAP_readonly,
                                                    ld, rd) )
@@ -3778,7 +3778,7 @@ int gnttab_release_mappings(struct domai
         else
             status = &status_entry(rgt, ref);
 
-        pg = mfn_to_page(act->mfn);
+        pg = !is_iomem_page(act->mfn) ? mfn_to_page(act->mfn) : NULL;
 
         if ( map->flags & GNTMAP_readonly )
         {
@@ -3786,7 +3786,7 @@ int gnttab_release_mappings(struct domai
             {
                 BUG_ON(!(act->pin & GNTPIN_devr_mask));
                 act->pin -= GNTPIN_devr_inc;
-                if ( !is_iomem_page(act->mfn) )
+                if ( pg )
                     put_page(pg);
             }
 
@@ -3794,8 +3794,7 @@ int gnttab_release_mappings(struct domai
             {
                 BUG_ON(!(act->pin & GNTPIN_hstr_mask));
                 act->pin -= GNTPIN_hstr_inc;
-                if ( gnttab_release_host_mappings(d) &&
-                     !is_iomem_page(act->mfn) )
+                if ( pg && gnttab_release_host_mappings(d) )
                     put_page(pg);
             }
         }
@@ -3805,7 +3804,7 @@ int gnttab_release_mappings(struct domai
             {
                 BUG_ON(!(act->pin & GNTPIN_devw_mask));
                 act->pin -= GNTPIN_devw_inc;
-                if ( !is_iomem_page(act->mfn) )
+                if ( pg )
                     put_page_and_type(pg);
             }
 
@@ -3813,8 +3812,7 @@ int gnttab_release_mappings(struct domai
             {
                 BUG_ON(!(act->pin & GNTPIN_hstw_mask));
                 act->pin -= GNTPIN_hstw_inc;
-                if ( gnttab_release_host_mappings(d) &&
-                     !is_iomem_page(act->mfn) )
+                if ( pg && gnttab_release_host_mappings(d) )
                 {
                     if ( gnttab_host_mapping_get_page_type(false, d, rd) )
                         put_page_type(pg);



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 10:13:09 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 10:13:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172866.315430 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJCNh-0007rH-2B; Thu, 26 Aug 2021 10:13:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172866.315430; Thu, 26 Aug 2021 10: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 1mJCNg-0007rA-UQ; Thu, 26 Aug 2021 10:13:08 +0000
Received: by outflank-mailman (input) for mailman id 172866;
 Thu, 26 Aug 2021 10:13:07 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HXzX=NR=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJCNf-0007qx-GT
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 10:13:07 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 79cce263-1024-4ace-b294-bfdd397adec2;
 Thu, 26 Aug 2021 10:13:06 +0000 (UTC)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2113.outbound.protection.outlook.com [104.47.17.113])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-9-c8x5EJWoPj2o37x-fKw8NQ-1; Thu, 26 Aug 2021 12:13:04 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB3120.eurprd04.prod.outlook.com (2603:10a6:802:e::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Thu, 26 Aug
 2021 10:13:03 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Thu, 26 Aug 2021
 10:13:03 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0075.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:18::15) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.18 via Frontend Transport; Thu, 26 Aug 2021 10: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: 79cce263-1024-4ace-b294-bfdd397adec2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629972785;
	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=hQa/9SwHdYSmIaKcr2ur3F7Nh9AkGZdaHPjcAeya7kI=;
	b=jEQ+1hnhM4y1xKZa9OYMJOfMrM3iXmN7eBRXY8VFCE3f/g7MEZFflckPL1SAQhRmeOTbDE
	LJ48MxtL1AVdHLlqMPyfmzUVMr/VWmF7bg18MkCqruJBELs4ditiJhrDCH0plh2yhi8BSH
	cOxuyxNl2ubkgN6IyQuM4s5KP0K8VdU=
X-MC-Unique: c8x5EJWoPj2o37x-fKw8NQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Oo2PBL+hRbSLfUD/N1JVULL5lDjX2XfNmdJPdrDw3aOXlbMe07YBj4bPYy8S9D6iafYfHUunHQl8CfwtpPMKSDLzs7RutRwGM2wqig0l/YauN4+UC6B19lw4/R3J5rFT9QIHxn6n9xARwh7qiugpgigG+52LzVA3j+tA2Uzg8rvvWYUqcJQb4Xjvg+kSGkOxwPQ+k0yQ2C3F5Lxi+z8dwd4gKSK2jHoSXddCpJOxU3ncOvy3qAgc0r1n35GIwpR8t/cNg1jGVrTv0ywD+nk4Uye22AIJuLn6lES+Ed/pBMaUG2yRkzPds+LoNJsMePVCkuiVXtIxEp0Z1fSkAlanzw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hQa/9SwHdYSmIaKcr2ur3F7Nh9AkGZdaHPjcAeya7kI=;
 b=TEAIEXK1EqZvTz5cBRyqBW8Bq0eQ29Ps47FDbwdsD1Qrv5Nl9uvTWCTFNTtOEZT+uw08Y6sV3I0l80C2RqwXCGNkFDZtFY1z8mlsbEUrijPsY3XntSHTkhu16o8jk/qoQd+AZKikbAxbnxxR1LOrHH+CZMt0lp+R4tyr0a6NIB+j5g3WwUmg1bwoQVCYv+YQICrDCx6KUut3uMSuvp7xMLu64zixTdg+wZTtY1Hkryqfh67SnDrEahkv4YPdsyj2Qod7GaBPqbPShjGb2ashK07GaDA22vKEUscoFtda+gBU4G8W3X7PJ+hNJfLdWlePMU57jNqIvhkMcvsQkEafQw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: [PATCH 4/9] gnttab: drop GNTMAP_can_fail
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>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>
References: <eb7bbd51-1da3-9a7f-27c7-49dea1a41488@suse.com>
Message-ID: <761f3ea8-bfc9-4a8b-7878-2ff9e3047309@suse.com>
Date: Thu, 26 Aug 2021 12:13:00 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <eb7bbd51-1da3-9a7f-27c7-49dea1a41488@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0075.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:18::15) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 6f23ea41-2c84-4e83-25ad-08d9687a170e
X-MS-TrafficTypeDiagnostic: VI1PR04MB3120:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB31203FF76C931B76BDC455B5B3C79@VI1PR04MB3120.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:7691;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	esao4TVFkHE/TfWCrhbCY/sqBseJZIFkRyZsGW7MMXKAHlETJd/Lg6CQxZ6wT1toi0jDeOpDkc41W3SCuVnUL77XxFqX+6gXRhnbTCa5QT5E6tS/m2W6UQCF+iIWPi0MDIFZCStGLjs7WRxlYv34Lbgh/FHP0mCSJxvKg0iV6/dBhjYifqLa62XlSUC0bUW+Z85l+DbYullPA8tezIJs5P7SbDm+8T6y8s1Lr9M1CQfb2JIaFP41ahOKVOQ5GGdo5f9S+GR785LAiq2ovyCHPdtKI6WALpXHc3ji3Ock3dt7jLEg9VWyQAIPfuzDfsdq9lz6Zo5GegKqHJhzeOWs0jgjKLi03VOp2KPyhi8r9MZCei4CrEe8K5mUhjLU5mGPDjrD4Eq7KtOu4Q8YBf3bGeKPBYpUQdsB2rGFKybh7ElymhgjWB2Hr60aD/E95qoTBCNkFrBvhtjgqJVQwn3ndRtdvsO7sVpaI0uNgrAaa/7Nl74/8gmKU5ZFVIWFm6Sez2QCU+oxDGj/mdmcPM4B0svk2HSnX2trrBjLcV7+CVGaXGB0XBsh7WTd6JpSFe8OzKDu9Aaj8pn14HYZmHmypk74dWmQsKOpmKH6+vytE/tXnBJ3jneNXyYubdDUFF7DFgNr5yap5IyyoWvxNx+TuOD6zz3fGVZsk5gs+FY7jXLDtA0cCvmV1y6jSl4qNHfNwhT2xxK+CFenXi/gZi1uZBbpkxB7+svEgQPPsD45Dsg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(39850400004)(136003)(366004)(396003)(346002)(956004)(66476007)(38100700002)(8936002)(8676002)(6916009)(6486002)(31686004)(5660300002)(66556008)(186003)(36756003)(66946007)(2616005)(16576012)(26005)(316002)(2906002)(54906003)(31696002)(4744005)(4326008)(478600001)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZEROZmg1aUxwZTZQVnc2anVuWU1OcVNOVGtvai9TZUs0TEhoa2ExbFJQV3JN?=
 =?utf-8?B?K2JBR0NpclhLNXdhNVYwWHUwcUJtRjAyNDFjaDd6MDBqaHZlYVRXMFg1Y1Vo?=
 =?utf-8?B?Qmp5aUdxY3F0OUdkdmM4SGJSVktiRHdXM2d0c2VibEFhTml2eXJ6M29TYW1G?=
 =?utf-8?B?Q1JUaXpablUxeCtTbzBUemlqNzJWcFVtaGQwWndJeHQ3M2tSRWo5RzYyd0Uz?=
 =?utf-8?B?Zm03YmpWY2Mzc00reW5OUGp5UE92SmswajFQLzFTZjFEaVQ1TUh5VVhhU29v?=
 =?utf-8?B?QVlYZE1lc09QaW8yeXpvZU5naFVPNjFUdFh5ZkNhcnB0MmRUT0V1MnFPR01F?=
 =?utf-8?B?TmlyMUt5bjNxZzl3amFjTk1QeFpMZXpjQ25LaEo1Wk4yTFc3RktqSGE5Ylh6?=
 =?utf-8?B?RGwrYkZiM0E5aC93cHNlZ2lVVzczS2ZsSG50WE9qMnJFaGYzc3J4ZkpWZm1R?=
 =?utf-8?B?OGxycVJqZTI4VHVDZFBHV3l3b00rbVFheXZzYmFYblZwMGltTjRwSS9reVd3?=
 =?utf-8?B?M0Y1WEFjekt1djBOWHlMNzhzL1RqM052TTBMdjhUZjRBcHRxNFBrOFc1WHE0?=
 =?utf-8?B?TWxLSWgybEhFdlR2K1AySkFkM3hSZURGWFk4bHJGcVNoQURpYXZJTVpvYTJ0?=
 =?utf-8?B?LzNzRWlnUHRxQStmYUtITVcrVXp5azdSdHhORVdlWDFFK3hXVzNIVURKZElk?=
 =?utf-8?B?Q29uUGNwZm8xSGZiZGtlandGZStkQ3FRSTVha1VuaDkyR1B5b3gyMnFac0VB?=
 =?utf-8?B?NmVVWkNrVUU1V2p4Vlp0RWE3eElHSW55OEwxd3VNR1A4azJ0UGVWV1FzeFNh?=
 =?utf-8?B?cmJQdG5uS2FEYU16alpBQjUxVkJyWU5WNVUrZFZXZ05Uem1wUXRuelRmQkJ5?=
 =?utf-8?B?QnJGaHMrRDd3c0o0K05Wb2Q2ODJUVFhybmJhTjZISnlTYlBxMjVxVWxYVVNV?=
 =?utf-8?B?VDNQbTY0MlRFZTd2SFZlSzZObElySURjQ2E3L253VDVodkxYUHE2RFhMM21u?=
 =?utf-8?B?U3VacXowT0dZSTZZamptTXdMbk9oSDZUNllsYVZwa1hyejdpT0c4Z3NEaVEv?=
 =?utf-8?B?REdtY2Y4WHNhVWhrS04zcm9HbXB2UWNTT05YNUJoNWNiWFI2VjBDcFYvWW42?=
 =?utf-8?B?clh0SXE1WXJGQmhNOGh0TklSV0kwR3ZSVXd6Q3hMWjZnWi95ZVd2R21rWmh0?=
 =?utf-8?B?dGx4REJwenBWWkVyOWgvQ0NIV1EwejdzN1BGRVBLK29JcnI0SUFSS1AxQnl6?=
 =?utf-8?B?LzhQcWpFSzVPUmlxSXdBeUY4OFErZ2ZJYzREaW1yaUwweDJySXNoQUFzYnNY?=
 =?utf-8?B?M2tZK1hTQzFTTHJLVkh2QXl0dkhzOVIxdEhzbFpBN1FPSTljRVlIMWk2VGtW?=
 =?utf-8?B?Z1FzdHl3VEEzcUs4dWJobXdhR2hPS21kZDl2Uy8xZzUxU3Q0SzMwRlpyZjAy?=
 =?utf-8?B?SlNqWVlza25uMnZUMjAvZ0cwR3pyQzB3eHBQSDI5Ry9iNEFSWFBFODZtOEVJ?=
 =?utf-8?B?RldDM0pUMnRXejU4QWd5RTBZUnU1SDdGRkxmVFQzWHR1NEJjRHdIL055eGFw?=
 =?utf-8?B?NEFBd1UyNU4wSi90d3lRVC93d1BDRFNQV2pTUllzanA3anAzb3RjS1g1LzFv?=
 =?utf-8?B?M2Exb0R6UVhQMWZndHlZM2V3RnRneS9oNDJ1UTJKR3RyQUVmT2g2RWtlQ2lj?=
 =?utf-8?B?a082UEUxWkx1L1Q0NzREWElXNFdVamJ4aUxyUnFndjhQcGN3WmU0M0d0R3RP?=
 =?utf-8?Q?Pm7ui7FCA7KSuwVQ0auyIurOr+Cj3U4tJ5XUGje?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6f23ea41-2c84-4e83-25ad-08d9687a170e
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 10:13:03.2587
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: j7hYJu0tpdQ1P3/ez0akFyNwuruyNALGBh8tVvnWDiQyWLvm/gvgDDxZ7I5VtK7g/MZgd3fZGyLvC0FWvvQ9Dg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3120

There's neither documentation of what this flag is supposed to mean, nor
any implementation. With this, don't even bother enclosing the #define-s
in a __XEN_INTERFACE_VERSION__ conditional, but drop them altogether.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/include/public/grant_table.h
+++ b/xen/include/public/grant_table.h
@@ -628,9 +628,6 @@ DEFINE_XEN_GUEST_HANDLE(gnttab_cache_flu
 #define _GNTMAP_contains_pte    (4)
 #define GNTMAP_contains_pte     (1<<_GNTMAP_contains_pte)
 
-#define _GNTMAP_can_fail        (5)
-#define GNTMAP_can_fail         (1<<_GNTMAP_can_fail)
-
 /*
  * Bits to be placed in guest kernel available PTE bits (architecture
  * dependent; only supported when XENFEAT_gnttab_map_avail_bits is set).



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 10:13:33 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 10:13:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172869.315441 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJCO5-0008Tb-E2; Thu, 26 Aug 2021 10:13:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172869.315441; Thu, 26 Aug 2021 10:13:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJCO5-0008TU-B2; Thu, 26 Aug 2021 10:13:33 +0000
Received: by outflank-mailman (input) for mailman id 172869;
 Thu, 26 Aug 2021 10:13:32 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HXzX=NR=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJCO4-0008TI-Gs
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 10:13:32 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 4343d6a8-0656-11ec-a9e0-12813bfff9fa;
 Thu, 26 Aug 2021 10:13:31 +0000 (UTC)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2112.outbound.protection.outlook.com [104.47.17.112])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-4-uj9ucFxjMpWHCpbwXHvYGg-1; Thu, 26 Aug 2021 12:13:29 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB3120.eurprd04.prod.outlook.com (2603:10a6:802:e::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Thu, 26 Aug
 2021 10:13:28 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Thu, 26 Aug 2021
 10:13:28 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FR3P281CA0028.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1c::19) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4478.6 via Frontend Transport; Thu, 26 Aug 2021 10: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>
X-Inumbo-ID: 4343d6a8-0656-11ec-a9e0-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629972810;
	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=lAWSSrdLdlRQ4Gf4NxyfcmsCa3CpWqBd//Rt+kfFFEk=;
	b=XJV28C50ZYw1JEd/j6+SSCjbF9SUJihbfRPujIbCcb69x6edcuqypR7kLxkbUwaW/8AJCK
	ELdNmW6CeSLtwfqiYqJ0p/KRXfveGcuH2dwXwmn9/DhuisaHt34lJb+Tfh0xMfsRx44HDf
	n0mcQS/XbiE07VmAsBTK+8sfQPF5tAY=
X-MC-Unique: uj9ucFxjMpWHCpbwXHvYGg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lXN4dToXO7XptyGe9JeaB7Py4zT4YNQagYEYoi6042KMuQL/ZguruKlurfbT5m/tZH/0AGA7hGZ4tLJ/qCBXL93Euqsh4y+T0qNQee04VA0YjGXiXxNSVB4gOE+8ykCGaWXQsAQTFY64AU788TieEuxF64hHchHeI4t7gr/IeqGgbuBP65GSfMWtF530BlScmZKMwv9qlQC54rvVvy5OqUi2RqLgBogvvkkEZC80KeNg8p0HJmaRJhzxgcJWZ7nxgasuWWZ2AVt061hJpbtH+lNlyjKQRPM8APPP3cUuhoNM5nvD7qQlUflvMnkWqa3axidhyvPuWMokSxAJxHJjzA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lAWSSrdLdlRQ4Gf4NxyfcmsCa3CpWqBd//Rt+kfFFEk=;
 b=WPNxqlidKXal9M6UKvq3CdF7BqEet0QJIxYh5GeCd5E6eyOd/Rvndu5mnU1kzf89zb7rLKyIfqSmUVK48VTLiWIbr0AB0utN1/KN0N47rQXSGq+xY87SVG+iH9DCxnXZifzRNnqO2FBSnfLStsY4KO32N3HgoYaXXvt4Z3Vlz3d13zHfXFTVqaEhluQijMSOmhg6eYoCT5XjoxLlXLj+Z7WNkyXvmet36fsQfZQUtLPdSamQ0IFYHXNxvBbB5/a9ra0Jj09RkG53RJ7WCh71F+Gudvu1p4FwTvOHWVg1OBVcxi3O/S3Y99WNGPMgNJyC5VTApX3sDEyLwTXANg/30g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: [PATCH 5/9] gnttab: defer allocation of status frame tracking array
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>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>
References: <eb7bbd51-1da3-9a7f-27c7-49dea1a41488@suse.com>
Message-ID: <eb237b32-21c7-9b83-7fea-c64293154bbe@suse.com>
Date: Thu, 26 Aug 2021 12:13:25 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <eb7bbd51-1da3-9a7f-27c7-49dea1a41488@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0028.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::19) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a0b79e4a-ac9e-4710-8f4b-08d9687a25d5
X-MS-TrafficTypeDiagnostic: VI1PR04MB3120:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB31205BE84B442E58CBA9D287B3C79@VI1PR04MB3120.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8273;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	w1yarKgWnhoCA7tjwh+RWSLZ086OdLSFR8gumyoYi88PUdzZfFMdtIUzEnuJ06sTCcpxYBTt6puDLg5K7onyHg4smlL+oAL8JMgUgg/6/llca6Ab7W0PYg+BmlvISKUb/OAEEEOXSPxqYfcoMBWL4xqBCELnIZ0W5vWM13Ln8xIvN5/gYftC58Xt5lAxBwhMXydmNvDQKLdVP0vI7rw+4rAg6Gha2DqW0ZaKvv/ribM6EDYvMzFc1GSYnQy01JE1Wr1GC/uIpeMey0/1eqdQmPYjiAyvbZm3w4NSTbZrzBJ4RvzfOOpJRgURfUJa+WKHmpWq1+sD+dUCLqgXazgvzm+QfDsgU09PIaN8eCnATyMgTSyaCMNg6ea5Ov5dxM1001Qu9/3w8BwIoakEpk4n2QYNG0UDnOUGU1dZPdbePXer2yx3iaAPZR6BJnRCdt6kL2Vywg05MzCoRljFuoWJYJliLMtIFsFJojSGceg8CrwZTF1NU2PfSSBmOesrj3vWXuBfSGkoaxzqZkAewc81x/mARWCgAEIiPbdgK48pWb5V2auGVnwhseeEOOiSSb+H2odAIfN/Ew//XDRlHvCHyjbhhdj4ro5s6H6TlsNgfBHd7h3KQktiZjh2I2bYSg7Os0FlK7HTBQu1yEDKoMBY5ZmzdIE1Ha6m9L2kTeemeTR247QiD4vBkrPT+jYP0V5PWaArG1WDd0i9kDZg6X+dl6zvcUBKZWwLD/lBT62M8WY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(39850400004)(136003)(366004)(396003)(346002)(956004)(66476007)(38100700002)(8936002)(8676002)(6916009)(6486002)(31686004)(5660300002)(66556008)(186003)(36756003)(66946007)(2616005)(16576012)(26005)(316002)(2906002)(54906003)(83380400001)(31696002)(4326008)(478600001)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OGlUR25GTzUrMHJwR1FIa25yVFZwb3lLdXdzUVZvVHQwNHFUTk9aSHQvajNk?=
 =?utf-8?B?KzBsVDFFYUNpMnN1R0IyZENoVTQybFdNTy8vMjNTVnowRDN3enY1enF4Sndn?=
 =?utf-8?B?R0R0cFhMODJXV0hscFVFRGJGYkNRdnFiekxObWF5TXh3dkg3enNFK1dSbXpn?=
 =?utf-8?B?clRyVFVKNUthaFJyblBubnJCbEhRY25URGlLQzJXbUV0QnNSVE04OHJ5QXlF?=
 =?utf-8?B?dDhKa0pvVXhPRFNUUnV3NjloTXA4TWNGc0JXdzdiSUVIeTdmYUFUeDFjWStQ?=
 =?utf-8?B?OW1kTzJZbUJBK05zTS95aGk0bC9zbjc1Q0dEOGFmanJ6VUhDYkE2bzFtSmwx?=
 =?utf-8?B?NUJ1cFJJM0k4dmJEVm1wbzdGcEJBTkZPZkFoNk1UemJObXFITVVpZnRPUzUw?=
 =?utf-8?B?MkI0cDNOY25JMk9jMENzS0NiYlVpVnRIdm5aMFlEQk9WRmd3RUxKOGhsdU5w?=
 =?utf-8?B?YkJEV2lna2EySHFMejE2ZHZ1R1ZWS09tcEtCUjRpdlB0cXhoWllpWGlTbkVZ?=
 =?utf-8?B?aGJLemU4Tkl5MGg3REJoMkVpMWYyb2NJMXp4T1F5cmdMVytSMFRhTDJXZUEv?=
 =?utf-8?B?dmVpT2dYWVgrWE56c1pCYURiWXg0RWUrMjFoZHUyQ1ZoUWpSV0Y2Vkx5cmZu?=
 =?utf-8?B?M2dUOFNsTHpFN2RLSFdzZFNjUDVBY2MvZnUvLzZ0cnBKYmlIcEppbkFUYVdr?=
 =?utf-8?B?M0VDQzJBY1BDbWtMaWx5S0Y0QnFDYlNPTGVqV1Y0MGpOQzNZZk5tUTA5ek1j?=
 =?utf-8?B?cXRCclUxWVZrcW00YWVSZlAyNVg4bmdHOWYrNngzVXg0RXAwbUloT3hRS0VI?=
 =?utf-8?B?elFpLzJBRjJveVY3dUpjcGltZnVLeW1XazJVdUlxWVM4SXl1a0xWSGNOL21T?=
 =?utf-8?B?bWJGTmdrbW1nL1dhSzZMTXYrRUN1VkJMZXpTK3RoSzVGa0lINkVCYk4wbFFO?=
 =?utf-8?B?bTFlNEZ5RFBJeDBDM2lDdDZud0h5VG1weHgreEZPM0FiTGZOZ1YrNC9MZXA4?=
 =?utf-8?B?Ukt4YjVCMHhoL3I2STE4alpOak01VzZKUzFzbW40bGpOenBzNWdxS1lqZjk5?=
 =?utf-8?B?SW5lZUw1K29sM0xnanl4UVJsM1dzbytHSXBOZHM1RlpUU1M0QkZvRUUvODUr?=
 =?utf-8?B?dVVoclNNejIxalB2OTJQVndmalQ2K2lvUjhoYTlDeVcvNnppa3g4UENSeEVV?=
 =?utf-8?B?OWZ4V25ydk4vUXFRTWkyeFVYNk03UWxNNGVnVEVqZFFmekZWSm4rZk16Wm1I?=
 =?utf-8?B?aklkZEdHNGJlVThjR2FjU2JqT241WUpPOEdPN1pSSUQ1ekUwTjViR3NuK3ZE?=
 =?utf-8?B?UTFQbjZUajJWYzU0blBONmpPOEhyN0xrM3JVWHNVM1J4SDlEOHlobE5xaWht?=
 =?utf-8?B?ZTlLS3JwdWhVblFjTU9QTklSRExhYlZOQUNWR0Y4OWNRU2kzUG9BUDlKWHpm?=
 =?utf-8?B?QU9mTHJtZFhMcExzS2w3TkJBOEtlYUtBYytPZlV3N0I4SEJKOEpqQVdHcGZ4?=
 =?utf-8?B?L3hXQWYvS3VZZEw0YUx4WXhvWFQ1NDVJaGZ1eDNuRmxueThhOEJYY2xvQ2pi?=
 =?utf-8?B?L2lQRTZhVlppckdRd2U0MVFZVC9rU2xXL3ZkSENOc0paZmpVKzFZMUhCZ3dI?=
 =?utf-8?B?Mm9zTlBiSkk1cFhmODNTR3E5ZjNqNm51S0Z2NjlpazhMUStOMmZrTUV5SGtl?=
 =?utf-8?B?Qm1Fa216WllvUW9zQzZBcGgwc2o5YU83QWovZjRLMWk5eVhRZ2dGQ0dTZ2ZU?=
 =?utf-8?Q?W2tIDGhTt3VvNXn1wvdGo0xuMYZZ6iTcVj7eiYR?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a0b79e4a-ac9e-4710-8f4b-08d9687a25d5
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 10:13:28.0866
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: gtj6UnYHIpDqrnLKX+OWxcAzHP5UEXyh6Xq40KzU63UwwGDgTbUbw6IDRgD8BVi++NpNbbqH5AvdnrRPW/Spnw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3120

This array can be large when many grant frames are permitted; avoid
allocating it when it's not going to be used anyway, by doing this only
in gnttab_populate_status_frames(). While the delaying of the respective
memory allocation adds possible reasons for failure of the respective
enclosing operations, there are other memory allocations there already,
so callers can't expect these operations to always succeed anyway.

As to the re-ordering at the end of gnttab_unpopulate_status_frames(),
this is merely to represent intended order of actions (shrink array
bound, then free higher array entries).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
v1: Fold into series.
[standalone history]
v4: Add a comment. Add a few blank lines. Extend description.
v3: Drop smp_wmb(). Re-base.
v2: Defer allocation to when a domain actually switches to the v2 grant
    API.

--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -1774,6 +1774,17 @@ gnttab_populate_status_frames(struct dom
     /* Make sure, prior version checks are architectural visible */
     block_speculation();
 
+    if ( gt->status == ZERO_BLOCK_PTR )
+    {
+        gt->status = xzalloc_array(grant_status_t *,
+                                   grant_to_status_frames(gt->max_grant_frames));
+        if ( !gt->status )
+        {
+            gt->status = ZERO_BLOCK_PTR;
+            return -ENOMEM;
+        }
+    }
+
     for ( i = nr_status_frames(gt); i < req_status_frames; i++ )
     {
         if ( (gt->status[i] = alloc_xenheap_page()) == NULL )
@@ -1794,18 +1805,25 @@ status_alloc_failed:
         free_xenheap_page(gt->status[i]);
         gt->status[i] = NULL;
     }
+
+    if ( !nr_status_frames(gt) )
+    {
+        xfree(gt->status);
+        gt->status = ZERO_BLOCK_PTR;
+    }
+
     return -ENOMEM;
 }
 
 static int
 gnttab_unpopulate_status_frames(struct domain *d, struct grant_table *gt)
 {
-    unsigned int i;
+    unsigned int i, n = nr_status_frames(gt);
 
     /* Make sure, prior version checks are architectural visible */
     block_speculation();
 
-    for ( i = 0; i < nr_status_frames(gt); i++ )
+    for ( i = 0; i < n; i++ )
     {
         struct page_info *pg = virt_to_page(gt->status[i]);
         gfn_t gfn = gnttab_get_frame_gfn(gt, true, i);
@@ -1860,12 +1878,11 @@ gnttab_unpopulate_status_frames(struct d
         page_set_owner(pg, NULL);
     }
 
-    for ( i = 0; i < nr_status_frames(gt); i++ )
-    {
-        free_xenheap_page(gt->status[i]);
-        gt->status[i] = NULL;
-    }
     gt->nr_status_frames = 0;
+    for ( i = 0; i < n; i++ )
+        free_xenheap_page(gt->status[i]);
+    xfree(gt->status);
+    gt->status = ZERO_BLOCK_PTR;
 
     return 0;
 }
@@ -1988,11 +2005,11 @@ int grant_table_init(struct domain *d, i
     if ( gt->shared_raw == NULL )
         goto out;
 
-    /* Status pages for grant table - for version 2 */
-    gt->status = xzalloc_array(grant_status_t *,
-                               grant_to_status_frames(gt->max_grant_frames));
-    if ( gt->status == NULL )
-        goto out;
+    /*
+     * Status page tracking array for v2 gets allocated on demand. But don't
+     * leave a NULL pointer there.
+     */
+    gt->status = ZERO_BLOCK_PTR;
 
     grant_write_lock(gt);
 
@@ -4103,11 +4120,13 @@ int gnttab_acquire_resource(
         if ( gt->gt_version != 2 )
             break;
 
+        /* This may change gt->status, so has to happen before setting vaddrs. */ 
+        rc = gnttab_get_status_frame_mfn(d, final_frame, &tmp);
+
         /* Check that void ** is a suitable representation for gt->status. */
         BUILD_BUG_ON(!__builtin_types_compatible_p(
                          typeof(gt->status), grant_status_t **));
         vaddrs = (void **)gt->status;
-        rc = gnttab_get_status_frame_mfn(d, final_frame, &tmp);
         break;
     }
 



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 10:14:03 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 10:14:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172876.315452 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJCOY-0000f4-OK; Thu, 26 Aug 2021 10:14:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172876.315452; Thu, 26 Aug 2021 10: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 1mJCOY-0000ex-Js; Thu, 26 Aug 2021 10:14:02 +0000
Received: by outflank-mailman (input) for mailman id 172876;
 Thu, 26 Aug 2021 10:14:01 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HXzX=NR=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJCOX-0000dT-4N
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 10:14:01 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 5466032a-0656-11ec-a9e0-12813bfff9fa;
 Thu, 26 Aug 2021 10:14:00 +0000 (UTC)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2055.outbound.protection.outlook.com [104.47.14.55]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-24-i49Y-KK4OwukeEZ5QkEZMg-1; Thu, 26 Aug 2021 12:13:58 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4942.eurprd04.prod.outlook.com (2603:10a6:803:59::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Thu, 26 Aug
 2021 10:13:57 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Thu, 26 Aug 2021
 10:13:57 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR01CA0133.eurprd01.prod.exchangelabs.com (2603:10a6:208:168::38) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.18 via Frontend
 Transport; Thu, 26 Aug 2021 10: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>
X-Inumbo-ID: 5466032a-0656-11ec-a9e0-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629972839;
	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=WgAjYnxDFUYlslYtdTTLHtg23PGbrK/JGOw7bwR967o=;
	b=YBITU7XQSV7PwYE4wM9snD+EWDJ8usdJMXA8R1HjHGVacLklUILQ9wp04vOaTTS8GZNIFG
	AObBc3Gje/cyQLswIpbffgVe9XsYXKwtOAQrbGJxeFTdzjJFT5V2kyzwMln1HyNxNWHr6o
	qWl+8McSUZ564YrcpeKZWMWZayI+QAE=
X-MC-Unique: i49Y-KK4OwukeEZ5QkEZMg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=j95Jty9ROLgnQteQkxFlJQemBXJ6yYU7bYlY3eVv1YXZlmSXhmY8wk5pv3PmY+aFPpK+4XGkSLruLkN9mRtoLCDRCQuy7PzxNAWmXie0MGaCmf6OVpaQaNF58oRMJJuIx6mDzMpbEItdhCpmqnmsvuGaBTwmBr2GTBkczhy5M2ZwfFgbhO1mWvwxtrOT4J14F5KtnNO35NVrD5S3acRdKKjDQ7/eXiTS5/hci8p5O6AcjUdyjKJazQimlj6rjeqvYt/v9mExXRCMM+JL/T9F1EBCTcHcQLqe9u7GxNCMkJclRtm+HgX6Pkq90cmoU+4Pv3AEo5VZbG1o0mRtXnKJXw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WgAjYnxDFUYlslYtdTTLHtg23PGbrK/JGOw7bwR967o=;
 b=QISyScaBeCeN8vSabzq/62BIEf+3LQ+TAt2IqbGXux5nW+l9bB1jNGjp3romS0L0MJ1NgKIqBdvN4uxEq/04xk3PPQpdYSmejrVa78/SUOWUPf+MNCGyLYwM4M/MabarIBqVLr6arBvlooMKXPgCwxoUoIOdLpqa7th9lAv2zhaX4mlGlWRkJ4uMNdEFNrFmEj5WR33KBw2atP4uRlOrbBh9uKAV6CwkhN2DCXxOu2h5lCmcLuQ6iNqcBnx+D3RBS2eN7JBBbe/Jh61ZOV67m2ZchSPvfSKqeN3L0MF5Jq3MfTg3oYs0+GFaedJ5uJqRRLKWIWMJRyWcNqR1lK/78g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: [PATCH 6/9] gnttab: check handle early in gnttab_get_status_frames()
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>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>
References: <eb7bbd51-1da3-9a7f-27c7-49dea1a41488@suse.com>
Message-ID: <049c4f02-2af6-542e-cc51-5c245f33341c@suse.com>
Date: Thu, 26 Aug 2021 12:13:54 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <eb7bbd51-1da3-9a7f-27c7-49dea1a41488@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM0PR01CA0133.eurprd01.prod.exchangelabs.com
 (2603:10a6:208:168::38) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: dc5b4c60-3f3d-4734-9dc9-08d9687a3716
X-MS-TrafficTypeDiagnostic: VI1PR04MB4942:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4942773468A5F80A07C5F366B3C79@VI1PR04MB4942.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:4941;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	fv8pX/CwJ59DNDdJVmJzlkCWtGofqLLGotMOc0cpslBJ4vWeINZ2+azgYCJ8+n7u8f4Yx3FjZ930pLmrNk8X5TB1iicwIhjnS1uCwVWepaegxulQm0Cz2erhnFpZuun1wuRtljXM9rmebyA5TEtmC+6uBBg5cNP1uWN05ThPTVz9RrbVcIRRGBDNVaoWvgjQF1wJJKuQu7lk6eyYoZwoRzcTWRBAxAHbEiy0181ueANDtmWm7H3D03VCp746dCSTy2C+8g5ol9YdWZkK4iDDy7COwiakCmA7a1PJIG6YeprcNMdqmEYPND4+bvA/sTb6dvJ6yy64UtgNNiFMUK4AwswVYTwwCL3IWPOOSBs4F+m7IxHyfKQZqTLjCda2SKFzCAKVb3PXFeuF5u4nZgrxoImNPOe+Z/uiPdNGqvYJgPLtVIb8BkThW8kQwclUtgOEDyEUrRlXoJbguZo+1mkUxFIoumqbkMPn/nJGXHBHs69LownrlBfX+bQ9SxRADP/n63lOPYHd5IdL15byyFXygr4Pz0gs5wUay8i78VlecdqW1xoAALTI0eLyaLLdRAEVbDJHaYV9yp3V804CtwSuMl8z5ytgH3jQWpvE1FrqElN2ZNCFM3rXoW0HtoGDjtMfAjq8SghE5ss0b449inwhs00FJvCJI+3sRAJge2M74aXyLyd9gkdr7xIb0PqMcac+LaezBBV/U6iGiRXX82FRvA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(136003)(366004)(376002)(396003)(39850400004)(2906002)(2616005)(36756003)(31686004)(8676002)(54906003)(26005)(6916009)(5660300002)(956004)(186003)(4326008)(66476007)(316002)(8936002)(4744005)(86362001)(478600001)(16576012)(31696002)(38100700002)(83380400001)(66556008)(6486002)(66946007)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eVdBWFgxb3Rmb1J1WTFnQzYyTy90S1VLZXBOYXdZK2tsSi9hQVhWTE1BZWRG?=
 =?utf-8?B?ZXo1Qk9hb3Q3WGVWcnY0d2J3UHdZeEpvUHJzdW1XdnpZQUZRcnhBWUJjcDRH?=
 =?utf-8?B?anV6YVdQMGYzS0hjSTNZcFVIdEhKVW5YTkg2RWMyenBGbVF3NUx4bCtlUTFk?=
 =?utf-8?B?TW1yeHByU3RVMlh3WWVSTC9pa3NndEVRU3I4MTEvelNLWjVIcG9iZEVhZ0hD?=
 =?utf-8?B?WHFHanhoU2JSb3ovYjJPRmJyd2MvUnQ4SVErak5Tc2Uyc2VmWmIvV0ZYZCtn?=
 =?utf-8?B?V2VQR1l5Mi9MUEp1d0VsUG93YlFlK2hHYlM3NTVhVkEySjBjREF4QVdOanh2?=
 =?utf-8?B?emYzb0haQnp6Tm9XemRCREhsYUx1QXhFSW1EQTMrb1E1NUpnRWl2VTBNZ0tB?=
 =?utf-8?B?Q0l2YmY1cFdydGFZdGR4cmpyVUFjU3RteWJDN3RFNStDVzZtSmJnbmk0dzBP?=
 =?utf-8?B?TlFudXFQMWc3WHhUZGx6QzlGZ2sxV0MyM21jK2lhcjNoVytWaFB1UXRuU3Z2?=
 =?utf-8?B?UWdsVzBXS2NoYUxPM1BaVU1jR0FZZXVJZTVsVmJua0FzdTJ2QXJzVmhzMklM?=
 =?utf-8?B?YkFMOXVUSnhmRHhIMU5LQ3JIOGlKVkR0Y251dmN6NEJsSHFjZzFHdmxCVWl1?=
 =?utf-8?B?emhKajZHQXpkVVU0ekRvQStQdzZJYTV4SFVDQnRPa1MweWJmTG9KY2xWd1Iy?=
 =?utf-8?B?TFhSUVFxU1dtbjY4VjFTcVNKQlNudDNuSUIvcXBJcUVYMU0rblhwNzNvQUtG?=
 =?utf-8?B?UU9KL0VGdVNnWkl2UCtjKzdDakljY1pJMzZ4NEhxVVBSNUVqcFhGZlhQNFZx?=
 =?utf-8?B?T2JFa0o3cm40bnUvcVJlMjdoS1ZGZUFUS1FEUEZqSE1TRzByTEcwTXZ2WnB1?=
 =?utf-8?B?M1ZFeUluclFLNzVwaGJUK3lrY1NEUVhKdkx4bGZta3crb2NOeWgwMktzUklr?=
 =?utf-8?B?b3ZkTUhtenUvZ1RORXZ6SFFYcWx5OVVkdnRHV2lnd0wydzQrYmUzN2pKRFBE?=
 =?utf-8?B?Z1hxMjdWdXlzRW50VTdNdGdjR1BCbjFOYlNhdmZDZmQzekhDc0xGUmhhaVpv?=
 =?utf-8?B?Ym1DNW4wQmRyTTFoWFY0ME9xVmVrUGlvcXNQT3QyRHViZUJiU0hwU0NZdWhR?=
 =?utf-8?B?Tk9JM01xbWdNMFVDVkhvZS9mTTNRRjVGZ3p6RXZZQ2Z1aTVPcXorTmx3bTRt?=
 =?utf-8?B?Y1d4KzUrOHFhVUtTdzlaL3lsYUQzTUQwazFLdm5aZEFFMm9sZnk5MU9wdmMv?=
 =?utf-8?B?V1FENDVESTVFS2ZldFZkSmFvVW1wT25ucnU1cTN3SDJFQytyWElEaS8zeUNR?=
 =?utf-8?B?MzRHNDdZSDFGM3FMZUN6Q3ZnT3NzdU1rN2dVVmNGOWQrL082RG9oTGY3dTVP?=
 =?utf-8?B?SGcveXA0QjBpL2hVK054UW0wYzBGRTZMT0MrL3hncGxMemlOVmxHd2taWkxL?=
 =?utf-8?B?WGdPU3IrODE2V3BRaHVPN001OVJMdnJUQ2ZnQkFEL2VGeWtWcnpyWjU4QUYx?=
 =?utf-8?B?ZFU4Q0ZsVUxhK3o0cVZybUJ6aERic0F5alI2WFk4THFKU0R6UVBlVlJyaTVT?=
 =?utf-8?B?Um82bnBveFU4WHZnSnhzYm96RU9DbVhLMnk1WWlVUjRnSnlIYVBnRDJmdEFP?=
 =?utf-8?B?OVdUZXlNMFovSzNhVjE5Snl1NEJlOEFkTkVSV2phYzRwRjM0bWl5eHB2dkxs?=
 =?utf-8?B?d1VuS3FPSEk1K2U1bnp5Z21jTnFxTnNoTmVYcnJrNXdSWW9vOTVLck5UQWJI?=
 =?utf-8?Q?5+4nSySr/CEt0ozIdmOcVOQHJBTuy6hd4AMzQjR?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dc5b4c60-3f3d-4734-9dc9-08d9687a3716
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 10:13:57.0363
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: lwckOBqNmcdm1soUuR2pH3UplxTFOmAM903fjczmIB+9EawJk93/BeEMVj/D6t0+UjfwoD5XHXhWSIK7FVJz/Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4942

Like done in gnttab_setup_table(), check the handle once early in the
function and use the lighter-weight (for PV) copying function in the
loop.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -3261,6 +3261,9 @@ gnttab_get_status_frames(XEN_GUEST_HANDL
         return -EFAULT;
     }
 
+    if ( !guest_handle_okay(op.frame_list, op.nr_frames) )
+        return -EFAULT;
+
     d = rcu_lock_domain_by_any_id(op.dom);
     if ( d == NULL )
     {
@@ -3301,7 +3304,7 @@ gnttab_get_status_frames(XEN_GUEST_HANDL
     for ( i = 0; i < op.nr_frames; i++ )
     {
         gmfn = gfn_x(gnttab_status_gfn(d, gt, i));
-        if ( copy_to_guest_offset(op.frame_list, i, &gmfn, 1) )
+        if ( __copy_to_guest_offset(op.frame_list, i, &gmfn, 1) )
             op.status = GNTST_bad_virt_addr;
     }
 



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 10:14:27 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 10:14:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172879.315463 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJCOx-0001EH-25; Thu, 26 Aug 2021 10:14:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172879.315463; Thu, 26 Aug 2021 10:14: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 1mJCOw-0001E8-U7; Thu, 26 Aug 2021 10:14:26 +0000
Received: by outflank-mailman (input) for mailman id 172879;
 Thu, 26 Aug 2021 10:14:25 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HXzX=NR=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJCOv-0001Df-9Y
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 10:14:25 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 46ceefa9-6029-4229-a762-87f61ef532c6;
 Thu, 26 Aug 2021 10:14:24 +0000 (UTC)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2052.outbound.protection.outlook.com [104.47.14.52]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-35-5n8En-_HOqCMUv-asQSG_w-1; Thu, 26 Aug 2021 12:14:22 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4942.eurprd04.prod.outlook.com (2603:10a6:803:59::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Thu, 26 Aug
 2021 10:14:21 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Thu, 26 Aug 2021
 10:14:21 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM4PR0501CA0053.eurprd05.prod.outlook.com (2603:10a6:200:68::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17 via Frontend
 Transport; Thu, 26 Aug 2021 10:14:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 46ceefa9-6029-4229-a762-87f61ef532c6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629972863;
	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=SOO0Uz6JKbrS1yZPJ6hNqY6uBNulBAyNuDMy+bqqYaU=;
	b=YA2f8EzAROoE4Skq0lKP3BVpDqXbA1SDskpRgmorZjU3/UZ3lyCSCyPVB0qMRWQJS+aGKk
	LF9P2O+WERX4jK8yyXltf5qXFYz2kymP1Fvm2pShwDUbw0HPwpyx7UclOYbw2pyotbGYGV
	mbpTrdR6AnITEe4rxqDcFc75wMd/6uU=
X-MC-Unique: 5n8En-_HOqCMUv-asQSG_w-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Y/dmJdQw6bULCjh+qpCvBNj2FVVqN0QC76Sdpzr09K6qzfdmsIscXoLw4Agpu+xXWxxWbjXYc3mWFGebZvf3oYxOtdvzFRGsc0Lx5GJbYWcR4WEU6fgF3ZumXZv53MgCEjfNVka3qUCutCx/rxjFd0zbeOoGZU3PafQzBZ3bTpnkB/ZUzqFsyURxSoq9GLbKrcSq7oaDwaOaF8zBbl+v3ruV4e/eLdVfr7IgsxQXM6P1Bbd0LbN0aJwuJKSnE2RpnmYanhK3FqI+PqTKyUVvVR8NsMegZ0JZ7xohf8ByY2LH3psZzwICLRMoup9WlxKX0IGRu32icxo0oVem6B//+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-SenderADCheck;
 bh=SOO0Uz6JKbrS1yZPJ6hNqY6uBNulBAyNuDMy+bqqYaU=;
 b=SHht04MWiYNuEXvC7JMyO7LEoWATy7MhGHneJzvkCLAGBIZensegriMa8/Jnkh+2dsIB0yJdHYy8J0Ayolc82sJdR3u7z4nYYexxHcWSSriXRNHjndErWTUzcZRZ6GM8NMqr1Wy22q0C9A79RMcsUvwUvq0Q3ieiT6Ns8HhpyPEtPlh7DnKuFYXsY49BlTPS9g4CwF7c8+eleUIgrWZOtIM75aCfTtVjo5q+3OPEPTbNwLVcnPDitJ6UgAmWusbNVZ/CJkGbcKmWeg6rk9JDkMuMJvgjqAJkFVRWkBCS+wvEh7lp5C2NDk3MoHiXmYIw+FzwEHnVrPDIyJ/gkl04ow==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: [PATCH 7/9] gnttab: no need to translate handle for
 gnttab_get_status_frames()
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>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>
References: <eb7bbd51-1da3-9a7f-27c7-49dea1a41488@suse.com>
Message-ID: <ed6a8403-dc91-05c8-25e5-81b5fb706cc2@suse.com>
Date: Thu, 26 Aug 2021 12:14:18 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <eb7bbd51-1da3-9a7f-27c7-49dea1a41488@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM4PR0501CA0053.eurprd05.prod.outlook.com
 (2603:10a6:200:68::21) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 899f603f-8edf-4e92-171c-08d9687a4577
X-MS-TrafficTypeDiagnostic: VI1PR04MB4942:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB49421AB3BC91110961FE1130B3C79@VI1PR04MB4942.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:288;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	hgl8pmH94Uskr5CQTkMbpLZgoXgunj0TckjOHMcrjV0B/H+Poic/5AGMFC9rS5/0QMKX9CH0x1IN5NmfawJ3s9srPTFVUQoRAAS8EWpVAmDat4KSJ5Jy74Jt//tYBFo3iw9dgr/oZHNBzVAui59TS/QqTrkrjgUnhkq5elo8Fbg1akiakJbxJtKAbgwf/nD2g7fFj/Nuw3PzjFF1yS05f85Kua3SZTAwAtfj73tMAjRK3BgNzuyidDRGsXhkqhl133osqec/0H5VssyfDrxkHufkFcyeUk1iknOWAinpyeQtAqusJRmWcVa5yKQrUhh0IF//wcVz7BTJsBMx/7VMjH0ZU5czLS/Q6mGU5s2b8UDM4aY0/8PLIi5vO151ZxeNEpibKOIm5Ndei+WtFEJPI7xkLgz0GJ5pEl9WF8PKFCBHEoPWJSFj1NSQeiQKL8C1vBS12LZc853mWkGGido5LNddSpwrbmAVxRdptzAAdrZelZ6cUnh0VUDPE9diVTKS2ph5A6Csi+l65EZ9pKQCMRXO4kcKM/KGy+v0aUU7oxIwkOd71WslIiOBqcZT98vhpJHIH757PaCS8louQWSMVj8vPWVUUATILfx+FgKZO/IaU9qOb7PWwvsq0h/s/uX8GFnWYDu7wRqR3Sn5oa20LeDVB5l9xkCB1ogG5d13IanPkND6vQ2t7edf3ziHIqGe5pzPAPXdWqUwApZc2dIr4JtOVOFKQQcPBfob3M/YWjM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(136003)(366004)(376002)(396003)(39850400004)(2906002)(2616005)(36756003)(31686004)(8676002)(54906003)(26005)(6916009)(5660300002)(956004)(186003)(4326008)(66476007)(316002)(8936002)(86362001)(478600001)(16576012)(31696002)(38100700002)(83380400001)(66556008)(6486002)(66946007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WGI4c1lmQWRVdURpRzFubTZnbHZrK2ZmdmpUTEQzQzNha3hGczRheFlweEJH?=
 =?utf-8?B?L21GY1RXTXBWRFFpYUt4TkpIUlZZd29jK1QrOHRiRjc1cUpWREduSytkR0V0?=
 =?utf-8?B?S0JabE1WTzJzNm5CTGlhUzBUKzYvNzVDbkI1NmFwL2dOc1lQUTI3QVVORFBV?=
 =?utf-8?B?V0QreHhwUjZUMjZkOG51ajdqOGxCOWxEYVErMXo3Y2x0bkpQdGVGeFJRQ1hy?=
 =?utf-8?B?RlJ3L3lqZnlTM3F4MCszSnM2MXdWS3p0Um53U1pya1J3aWkycmxPU21HRVo1?=
 =?utf-8?B?bVN0dG1QK1FBQzFQYWpFRHdSbVN1MWR5aFFIOUhVYlAzNzZiZi9GaTA3VkJ3?=
 =?utf-8?B?d0k1U2xHZ0VQR0Rlc1dEdm1jNjJyNkxmS0dYdUlDcHY1bTFESTR1aVVDVFg1?=
 =?utf-8?B?TE1TejdJL2ZJa3pjVFV6Z1hJVFZTMmZoOXJvQTBvOGR1YXJjeXYyK05mLzZH?=
 =?utf-8?B?VklCVUlvemxSUWZmSGhmaWQzamdxUGt1aWxmeG9ad0lNWEk1bGM4WGM3R3Vp?=
 =?utf-8?B?U3VyMllrbHlUcU0yczd0Wm5iMkZ6V3Ivc3NmUjE2MXNkRUZyd0VjN2p2TFYy?=
 =?utf-8?B?NFZlZkN5YmZKRkdTNGdFRlRMNTZGbFhyUDBjRis3VXBKMURVcXlzRDNaMWpT?=
 =?utf-8?B?MkVENVJidGZ0Z1lYQzlwYmJEK2NpbFhTdjdkYUU2YzhXWWNFYmp6WGRROHZi?=
 =?utf-8?B?QzVlK2FKS3J1V2pLamtYT2FlRjhTQi9pdUxQbEVxdmVTZEdiT2QxL3VrM3Jq?=
 =?utf-8?B?cHB6MU9ZTzZVSlpsOEhkYTZvTXhXcXM5T2RtZzE4OElpUVQzZHgxRXJ4b3VF?=
 =?utf-8?B?b2hid2pYTWlkckpyM2lPM1k0VkhKMFN5UHJBUlZvS3JrK2NGUXJTc1pyN0ts?=
 =?utf-8?B?cTErUDMrRlBLRm0rOFExeUU0RkhiN0xGcDR2d2lSdy9udnlUcGFjMngxRUhs?=
 =?utf-8?B?Qk1ka3ZPK3NnM3dzcVpGWm5jK2FWM2l6QzF1TE5pTi9VTGttVjFVZW5MdjF5?=
 =?utf-8?B?NS9yUlFMU0ZONTF1d3Fnbjl2aEt5WUFka2oxckxxTzl5VFFsNGtIa3NmUVJH?=
 =?utf-8?B?eE1sa2NOZlpUR1VoRTdWSHhHK2xCby9GUmxVK2VHUmpmblpyUzlMQ2JDaG1a?=
 =?utf-8?B?UEdHWjl2aHhtMjJNRmxCdzkyNnpwNmplUE11MjBzQ25RQ21YZzQyUXJoNkNH?=
 =?utf-8?B?Nzg2ZHBRWGp4ZG9pb0VlNTdnY2FqMTYweFNNckxYbzFBWVhScEZkaU9PSkp4?=
 =?utf-8?B?ZmZyM0JpcS81NDlBSDk1MGNnc2Uyek1Udm02bnBScE5yNVVXUHl2R2wvcWRn?=
 =?utf-8?B?WkVaME5TQi9vVU1Mb2tQOWFRa2FNOWl1OW9vV3VjcFF3NFJNTzhYcllTT1Nv?=
 =?utf-8?B?WnFwUkRJdlRKRnJmQythQis2UVBDU2dUOGRIWXVnZkNHVU4rQzQ2di8rcDh4?=
 =?utf-8?B?RnVTSHJOVkw1bkdrNE81bHlML3JXSFhjRFBuNGNtSFVJQXZGejlyVXNSUm5J?=
 =?utf-8?B?UHZUL21tb1BWbXN2cU5wVC9rdzVzR09CVnYzREhpZmU1a2JqTnd3bDFsMkZ6?=
 =?utf-8?B?SS9kQlYydFYrZnNEaXdqYmZ5UEFYaFl1K3ZkeHBydldOQ096M1NDa0xBWnVH?=
 =?utf-8?B?bHkzM1JrUEZLRi9vbVJySFZGOUUzU2VSNEVnWVZ4RUp1VE9jTEQ0eStETlhN?=
 =?utf-8?B?MGQ4MTFFQ1ZMeHdMOG0zSnNvbFJydjVtajJ5bFdTb2ZHZ0dJTkZHdEdQeTN5?=
 =?utf-8?Q?J/jldk2rwjQGjxUyLorPE4cM6PsnhAsxml/GYB6?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 899f603f-8edf-4e92-171c-08d9687a4577
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 10:14:21.1386
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: hNAYKqg+wz+mCpwXblil+DLDm3YEtVQ5er3XUNGTSpu/A3tUS0l3kpa5LydzOcegqCUofkh6dJVbXNhXxQD6zw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4942

Unlike for GNTTABOP_setup_table native and compat frame lists are arrays
of the same type (uint64_t). Hence there's no need to translate the frame
values. This then also renders unnecessary the limit_max parameter of
gnttab_get_status_frames().

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/common/compat/grant_table.c
+++ b/xen/common/compat/grant_table.c
@@ -271,10 +271,7 @@ int compat_grant_table_op(unsigned int c
             }
             break;
 
-        case GNTTABOP_get_status_frames: {
-            unsigned int max_frame_list_size_in_pages =
-                (COMPAT_ARG_XLAT_SIZE - sizeof(*nat.get_status)) /
-                sizeof(*nat.get_status->frame_list.p);
+        case GNTTABOP_get_status_frames:
             if ( count != 1)
             {
                 rc = -EINVAL;
@@ -289,38 +286,25 @@ int compat_grant_table_op(unsigned int c
             }
 
 #define XLAT_gnttab_get_status_frames_HNDL_frame_list(_d_, _s_) \
-            set_xen_guest_handle((_d_)->frame_list, (uint64_t *)(nat.get_status + 1))
+            guest_from_compat_handle((_d_)->frame_list, (_s_)->frame_list)
             XLAT_gnttab_get_status_frames(nat.get_status, &cmp.get_status);
 #undef XLAT_gnttab_get_status_frames_HNDL_frame_list
 
             rc = gnttab_get_status_frames(
-                guest_handle_cast(nat.uop, gnttab_get_status_frames_t),
-                count, max_frame_list_size_in_pages);
+                guest_handle_cast(nat.uop, gnttab_get_status_frames_t), count);
             if ( rc >= 0 )
             {
-#define XLAT_gnttab_get_status_frames_HNDL_frame_list(_d_, _s_) \
-                do \
-                { \
-                    if ( (_s_)->status == GNTST_okay ) \
-                    { \
-                        for ( i = 0; i < (_s_)->nr_frames; ++i ) \
-                        { \
-                            uint64_t frame = (_s_)->frame_list.p[i]; \
-                            if ( __copy_to_compat_offset((_d_)->frame_list, \
-                                                         i, &frame, 1) ) \
-                                (_s_)->status = GNTST_bad_virt_addr; \
-                        } \
-                    } \
-                } while (0)
-                XLAT_gnttab_get_status_frames(&cmp.get_status, nat.get_status);
-#undef XLAT_gnttab_get_status_frames_HNDL_frame_list
-                if ( unlikely(__copy_to_guest(cmp_uop, &cmp.get_status, 1)) )
+                XEN_GUEST_HANDLE_PARAM(gnttab_get_status_frames_compat_t) get =
+                    guest_handle_cast(cmp_uop,
+                                      gnttab_get_status_frames_compat_t);
+
+                if ( unlikely(__copy_field_to_guest(get, nat.get_status,
+                                                    status)) )
                     rc = -EFAULT;
                 else
                     i = 1;
             }
             break;
-        }
 
         default:
             domain_crash(current->domain);
--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -3242,7 +3242,7 @@ gnttab_set_version(XEN_GUEST_HANDLE_PARA
 
 static long
 gnttab_get_status_frames(XEN_GUEST_HANDLE_PARAM(gnttab_get_status_frames_t) uop,
-                         unsigned int count, unsigned int limit_max)
+                         unsigned int count)
 {
     gnttab_get_status_frames_t op;
     struct domain *d;
@@ -3292,15 +3292,6 @@ gnttab_get_status_frames(XEN_GUEST_HANDL
         goto unlock;
     }
 
-    if ( unlikely(limit_max < op.nr_frames) )
-    {
-        gdprintk(XENLOG_WARNING,
-                 "nr_status_frames for %pd is too large (%u,%u)\n",
-                 d, op.nr_frames, limit_max);
-        op.status = GNTST_general_error;
-        goto unlock;
-    }
-
     for ( i = 0; i < op.nr_frames; i++ )
     {
         gmfn = gfn_x(gnttab_status_gfn(d, gt, i));
@@ -3664,8 +3655,7 @@ do_grant_table_op(
 
     case GNTTABOP_get_status_frames:
         rc = gnttab_get_status_frames(
-            guest_handle_cast(uop, gnttab_get_status_frames_t), count,
-                              UINT_MAX);
+            guest_handle_cast(uop, gnttab_get_status_frames_t), count);
         break;
 
     case GNTTABOP_get_version:



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 10:14:49 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 10:14:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172886.315474 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJCPJ-0001tE-HP; Thu, 26 Aug 2021 10:14:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172886.315474; Thu, 26 Aug 2021 10: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 1mJCPJ-0001t3-E2; Thu, 26 Aug 2021 10:14:49 +0000
Received: by outflank-mailman (input) for mailman id 172886;
 Thu, 26 Aug 2021 10:14:47 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HXzX=NR=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJCPH-0001sS-A8
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 10:14:47 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ddbc5c8b-ed69-4b51-b381-f72220f832c9;
 Thu, 26 Aug 2021 10:14:46 +0000 (UTC)
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2057.outbound.protection.outlook.com [104.47.0.57]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-35-B93ypRdbOw6tdmWNspo4Mg-1; Thu, 26 Aug 2021 12:14:44 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5901.eurprd04.prod.outlook.com (2603:10a6:803:e9::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.19; Thu, 26 Aug
 2021 10:14:42 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Thu, 26 Aug 2021
 10:14:42 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR02CA0186.eurprd02.prod.outlook.com (2603:10a6:20b:28e::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17 via Frontend
 Transport; Thu, 26 Aug 2021 10: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: ddbc5c8b-ed69-4b51-b381-f72220f832c9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629972885;
	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=t2sjXwCL60nDv/ojF/gj3Johk6K28uhN0OKh7D6Mr2I=;
	b=N5mEGIYrA2/TMPh6Z0/6j2t0vR47FpfU9xYN79RKQ0Hb7jNp3VGAWaWoqSnp300UpixRHp
	wy/fo9G7n3lFHlXTn2uGq2cWre5Pn7sXNTAnzpCdamUDlCmeuiwN2e5FFhFPpgEsekyP+N
	l3tI2vFiOgLteiIqpFTnJ5EbfeC5QW8=
X-MC-Unique: B93ypRdbOw6tdmWNspo4Mg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ihGLYjelhPhpMT1no0tTX19iqqSiwiUh+wm4Zi2gXRrgfLrJdZhvoAPNQqCliPeTGMPkGbSwUsdSrlMRUgdjqdjeVZVanEKXS6F1WoO+hH1AAGCgJ4r/oASjZ3bhL7uSUVS5qWHmKuMrYmNlJzBEQmZuzzavCOQnZ8m3kn86t5GzvrGgQCsqTpIF24DvGOV7RbDOJtIloMEb5eea+4oYxCqKIj5VZLJU24UgXpOnM1PumYZj9+mH7BKRoMgsdRG3TiGI20K0j1GoAPkL3lFXt6dDPtwKII/QhxAI9R8A7SgjTaY6774oqYxWx/LvtxOVBpLcS4QMPSEy4iyV371Tow==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=t2sjXwCL60nDv/ojF/gj3Johk6K28uhN0OKh7D6Mr2I=;
 b=XCqJPRgtmC0i5kPEJVegZCSG2hRtM4mZIkA08Ef4tK0ddx3jdhBK+hwXzHSSM8D0JVZQvI0KyAjkMplLWu5uI6U1upOFv1BfcRI6kliD2isoUkgE296EBvEr2uDQ78IkJc1cm8xsou9EszS0ImaCvKV/EiYr/yvNqf9oN0N/iLXvA90pKa+db/n2KP8CYXH2wyDF71183d1eqzHOz8iZMVQzy+Dg2yrTzeiTIcADIydo/9kjT5VPbqmCXs/fn9uscCfYVoYmLMwPfbhoYO3eYpKWECM8O2fFnqhwWAGD1sZNQdQxdUi6bq9a10XwcXt7zynDBhz6gPZ6kt4PgcjXtg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: [PATCH 8/9] gnttab: bail from GFN-storing loops early in case of
 error
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>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>
References: <eb7bbd51-1da3-9a7f-27c7-49dea1a41488@suse.com>
Message-ID: <61775fdb-bf56-b6db-563e-81820e4248fd@suse.com>
Date: Thu, 26 Aug 2021 12:14:40 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <eb7bbd51-1da3-9a7f-27c7-49dea1a41488@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM0PR02CA0186.eurprd02.prod.outlook.com
 (2603:10a6:20b:28e::23) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 37bfb835-cfee-42ed-2720-08d9687a526c
X-MS-TrafficTypeDiagnostic: VI1PR04MB5901:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB5901E1997DE163D9B2E2CCD5B3C79@VI1PR04MB5901.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:580;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8HpSZa7gnpkaKTdm8+zXglA2Eb8d13ynMgrWCrZjQpXGDVzt6VjGXVmxPa00W6L8Ctz5FyzXoi/5BPlWMDswZG4qqfLUn61RJL2GVQ+X5Y3TpcQKTcs9kB4wi6Yk9rhhIN9skaG78NUoqICZqw51dPoQ6F+Yg41jp3zqJoEZqfkoYWaXi+Be7x47pbLHr/G4oPYWXBpEDqXjKEOxQS15VsxLaxm5VCYmfDbq3+dMqD/MYsaYATNROXJ4fnqTAbaEyfiFBAWzR/0bSe4BwoKbcQSw2xyj4CD+YPLH9GQGHQoakrRgIG25HrLpJBST9cXsKf5NEKJx9dyf//npen5SjHuWM6fzC4o9oPRdz5Rt85CmuVhyhsCcQ1y4fU1kyKeZDPmPFIih3K9pRDeh3c3woQ8iJ5A00Y6tk+Jr9RuUeOU3yywV6HZkM6JPxf+EzMMUlFm1ECqPXgisDOlfJL+B8Bq4F10WbfQ5aYOhfUL9knXZvViRWYEYGlYVTGXN+0CLPNsLKcBrbRjiznDn7B9ba4TR7Fha3KTY9r+lkCkMKilmwR8TnaU0wrSLUpDAH+XTh9oBXFoa1itVkEw+w5ncMCIYUjQoSR0neLpx4sLSI1MM/iHmex5MIdK3N1Rim8AjKdUTjYweuuypOoKB2SRBAWRz0jEYU38iQHxVkKEcY16wp/bD/avDapZx7nfo96lT8PuhIW8pNki/Ue12n06SrC5k2f7zpZFSsPWLRP5bDX4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(136003)(396003)(39850400004)(376002)(346002)(2906002)(8676002)(8936002)(31686004)(186003)(2616005)(956004)(26005)(83380400001)(4326008)(31696002)(16576012)(316002)(54906003)(478600001)(6916009)(38100700002)(66946007)(5660300002)(66476007)(86362001)(66556008)(36756003)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dzdvVkpjNXFoMFZtcE1uRzV1aTNDdnB1Mm1CNGp0dlR4N1JOVy9QMVVBWGFk?=
 =?utf-8?B?bFduWFBmS29OSlI0bDFidXhzNndhbndCeHNlamZ6Q2pvQytRSFg1Y1ZqQ1lX?=
 =?utf-8?B?NXRQNzFTbnBMOWhzTnZEdXN4MXN0NlozY3AwaHMwaTk5QzEvQXk3cGRnNnBv?=
 =?utf-8?B?RmdXNTVlSjFXRXNnRmpBU2RHSG9mRnNEU0hLWEhtc2NiL3hzdDMzdUZxVmJM?=
 =?utf-8?B?VnJteDRDMkxJN0dPTEZBSTFobis0MEJtMk9HV1VPYjVwVW9pQ1oxS2VIQk5a?=
 =?utf-8?B?bnNKL2JuVHlEVXZnNVJ3MkhaekF0TUNxMmV6RDA1ZkRPRXN0MTMySklpK2g4?=
 =?utf-8?B?bXQ3VjVSWTk0WU9GY0ZKaXVXQ2hDdnFkZU1xbjJPK3FVUERKWlArUFlGNjZ3?=
 =?utf-8?B?cmhDaFlFU3UyL2FFRGN4Tk5ramo3ZHpYeVFINFJZbWxRalBMR0FIYXk2c0pJ?=
 =?utf-8?B?TkxOb293d1RRUm5SNm1pbFJtS0JpYVN4anVUMXJzN3ZZM0xQOTdBa3JJSWF1?=
 =?utf-8?B?K0VDdGJ6dTZEWE9hZkRnT3cyYWpNUjRwOVQzVXBObEZpakpYVFBPcnplTzhl?=
 =?utf-8?B?Qkh6KzQ2aFFXTzZDUWZ4OEVHS2pKV09pMUF0cHdodjdFdkYza3FUcXg0UElw?=
 =?utf-8?B?RHE4Y3ZDa2ZNWXRTUmlTL2hseDNudUF0OWhldWNwRCsrQnBtOGpOQjRLbVZU?=
 =?utf-8?B?OVZTMGhPS2xNd1R6YURLTnZIczVpMWhxSXJHS29od0VGMWFlSkJZMmhWdjE5?=
 =?utf-8?B?K096dVRWUkpOODdhZlViWXhQM2xDNGxaaDdobi9wVWlrdGtjb2Q0WE9jR0I0?=
 =?utf-8?B?WjQ0UW13cGhKMkVUS2RQQ20rS1dKdW5RdWU3L0lvcjluNHd3czh0KzJBMzkx?=
 =?utf-8?B?SWdtd1JaL2ZZQVRKWXRPbFdpN2svK0t4WnRaU1pRcnlLa3FCZnBMVFpuV3NH?=
 =?utf-8?B?cXk1WHhrQW4zc0xrcFVQdUk3WDBOa0RmSStKOHplZVNaeVRZVDdmWk11TGNv?=
 =?utf-8?B?Nk51UytMM3F0d3BzMW5KbnBhdHFxejVZZWtRbkhhMWVqNG1sMGw2U2gvdGEv?=
 =?utf-8?B?aGtJWmRlc3g1OXozcXA5Q2hsUkVSU1UwelhMVS9Ccm96d290U3ZPeGFXS1Zm?=
 =?utf-8?B?QmU3WitOWVozOXM5TkxkUlZTYUprdEY2b1UwVktJY0VhbGpra0FIc1dIMWY2?=
 =?utf-8?B?eXBhazRUOGNqOWttQnRlRndGZEJyMGhZWkRzTVZzVkgrUDJ2UnFjRVhVR1BP?=
 =?utf-8?B?eWFCc1VFTE5xdldPbEt6dEJmTXhERzg4VmFOZC9jWUtSQzJhRmtsSFVBZVp4?=
 =?utf-8?B?MkZ3MEREb1E1TkdQYlY2bzJKbld4SU9ROWNGbUcwNi9HVCtYaGtxZ0JQQ2RG?=
 =?utf-8?B?OUtyWi9nM1N3SEZmTE5pUGJ4b0sxVnRYSVkrajdYdVF1bE1RYVJNSG1GZVNH?=
 =?utf-8?B?bVpLUTArODN0NTBwYlJKUlNUTlk3UDh1V3hlNFRQM1FRa3pjZytmVnp0b3Rj?=
 =?utf-8?B?aDFvaUR4TkEyWlRDZ2J6eEFBMm01WjlhZ2g1bDdBbDZNT3FFUDBQbjdnWkUw?=
 =?utf-8?B?aWdOVXl0YUtJTUlOcmdVc1A1VWFmaUFuakNGYkwwTU0zNnU3cjMzOWY3R0k1?=
 =?utf-8?B?U0xJRjJSYlpGR3c3Sjd0eEZqeDgzVWg5ZlByd3NjeXNCYTlIV25rbzNQNGhq?=
 =?utf-8?B?R2Z4STVwai9WVmpYVUpTelJ0Mmorblh1UHRUdlZmVTFJRXgzYmM3RUh0bjlw?=
 =?utf-8?Q?I/7v4oo4QYUWPDjF41O6gbI0Y9fwwNFgkAqibno?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 37bfb835-cfee-42ed-2720-08d9687a526c
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 10:14:42.8953
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DZoY3MqCXqlwDxkqL8eA0tCCz23IR8zXlR0zmFR81EqZE5rcwOh889kOYc5I3ww29Y0Vxb/E9k589ICkR+q8ng==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5901

The contents of the output arrays are undefined in both cases anyway
when the operation itself gets marked as failed. There's no value in
trying to continue after a guest memory access failure.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
There's also a curious difference between the two sub-ops wrt the use of
SHARED_M2P().

--- a/xen/common/compat/grant_table.c
+++ b/xen/common/compat/grant_table.c
@@ -170,17 +170,14 @@ int compat_grant_table_op(unsigned int c
             if ( rc == 0 )
             {
 #define XLAT_gnttab_setup_table_HNDL_frame_list(_d_, _s_) \
-                do \
-                { \
-                    if ( (_s_)->status == GNTST_okay ) \
+                do { \
+                    for ( i = 0; (_s_)->status == GNTST_okay && \
+                                 i < (_s_)->nr_frames; ++i ) \
                     { \
-                        for ( i = 0; i < (_s_)->nr_frames; ++i ) \
-                        { \
-                            unsigned int frame = (_s_)->frame_list.p[i]; \
-                            if ( __copy_to_compat_offset((_d_)->frame_list, \
-                                                         i, &frame, 1) ) \
-                                (_s_)->status = GNTST_bad_virt_addr; \
-                        } \
+                        compat_pfn_t frame = (_s_)->frame_list.p[i]; \
+                        if ( __copy_to_compat_offset((_d_)->frame_list, \
+                                                     i, &frame, 1) ) \
+                            (_s_)->status = GNTST_bad_virt_addr; \
                     } \
                 } while (0)
                 XLAT_gnttab_setup_table(&cmp.setup, nat.setup);
--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -2103,7 +2103,10 @@ gnttab_setup_table(
         BUG_ON(SHARED_M2P(gmfn));
 
         if ( __copy_to_guest_offset(op.frame_list, i, &gmfn, 1) )
+        {
             op.status = GNTST_bad_virt_addr;
+            break;
+        }
     }
 
  unlock:
@@ -3289,17 +3292,15 @@ gnttab_get_status_frames(XEN_GUEST_HANDL
                  "status frames, but has only %u\n",
                  d->domain_id, op.nr_frames, nr_status_frames(gt));
         op.status = GNTST_general_error;
-        goto unlock;
     }
 
-    for ( i = 0; i < op.nr_frames; i++ )
+    for ( i = 0; op.status == GNTST_okay && i < op.nr_frames; i++ )
     {
         gmfn = gfn_x(gnttab_status_gfn(d, gt, i));
         if ( __copy_to_guest_offset(op.frame_list, i, &gmfn, 1) )
             op.status = GNTST_bad_virt_addr;
     }
 
- unlock:
     grant_read_unlock(gt);
  out2:
     rcu_unlock_domain(d);



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 10:15:19 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 10:15:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172891.315485 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJCPm-0002Ud-Rp; Thu, 26 Aug 2021 10:15:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172891.315485; Thu, 26 Aug 2021 10:15:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJCPm-0002UW-On; Thu, 26 Aug 2021 10:15:18 +0000
Received: by outflank-mailman (input) for mailman id 172891;
 Thu, 26 Aug 2021 10:15:17 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HXzX=NR=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJCPl-0002U0-B0
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 10:15:17 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 81c9e390-0656-11ec-a9e1-12813bfff9fa;
 Thu, 26 Aug 2021 10:15:16 +0000 (UTC)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2054.outbound.protection.outlook.com [104.47.14.54]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-21-IzyJ3DauNw-cvYOKwgiq_Q-1; Thu, 26 Aug 2021 12:15:14 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4942.eurprd04.prod.outlook.com (2603:10a6:803:59::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Thu, 26 Aug
 2021 10:15:13 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Thu, 26 Aug 2021
 10:15:13 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR10CA0013.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:17c::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17 via Frontend
 Transport; Thu, 26 Aug 2021 10:15:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 81c9e390-0656-11ec-a9e1-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629972915;
	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=e6HedQ272Hp//43TliKGHrhoJiCNzxfthP7GUPhT9cI=;
	b=dzhmJWyZgTEORowpw7AukHwZDreAapKd+AqwwSL7VBZpr7Hjy7jp5Te89oyvI8fxd2q0rP
	6ZHSaXNWSY3405iRAlGzFaNhqnCv4RmYkk1ImcEwMtYVMVdivSM6nFyevhj8bpcxIoTkBG
	JbM+MEGICyzO71MxzTXtWxY+PI7irOw=
X-MC-Unique: IzyJ3DauNw-cvYOKwgiq_Q-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BSvH8K7oUPfe1XTevN+tJ9r4CogZ2pTHeJgVGZqy9Xr8XWcJUDZZa8MFtRL8IcGDFYVJiWk01tZKMJ8FpsLpK4c4Cr1CBpyn5tZfb3fg4kYcUyfA8qlF6rJ9Ied6UgUXpo1LMDLAf9w76ZQGTwygfzfth3n5b+E0C4AeQ6UWqftgLuHIFis8Hs4VyGtUG2neuDy6AGD1SUe3/BM3k/Aqf4XcdxF/dc59GfB4bGh0MFI/b+ACqvpJTHwxKzLe3yY2HLOBN+RviYxnWCmNLg8hpNjJwDZdAb6kpqokTdnoOY6g8sHTjZV2KhYiypnJ+SqEnDTvIOw1Oq/knIWkbWZZqA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=e6HedQ272Hp//43TliKGHrhoJiCNzxfthP7GUPhT9cI=;
 b=lE3XO7F1fhUqoqh+3Y2exirEf7TBwopQeW9D5Uozc9psnj6C+FkgjoNwBMKoS2H09Vzy3svN8UD5c3pGSBPBoIB4Rj51HDOF8jtXGm6EHngv97z9KoSJa0EFDtJsB2ZHTKklLrnGYsGeDG9s0nI+ZQI5UJT4LZYaazA2SF7Z7cbcwr+QMcAPmgxr/z389LSfCAZ0yrwdhtV9wWzvFBGR0mKk/Ge3oaeqsmtnsTokntJp5eKSDxD2dI+gd7y2GKUlyAnLo++1JT/aTZFcvUuR39JAtSwUh55OXsG7NiAOavc+4EecD5DVXdKZAIp/tl6sZ3e+m2AqUdSVyLfRt9hQyA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: [PATCH 9/9] gnttab: don't silently truncate GFNs in compat
 setup-table handling
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>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>
References: <eb7bbd51-1da3-9a7f-27c7-49dea1a41488@suse.com>
Message-ID: <c3f4d5ce-6ac8-1d1c-eed0-704354f8a5f7@suse.com>
Date: Thu, 26 Aug 2021 12:15:10 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <eb7bbd51-1da3-9a7f-27c7-49dea1a41488@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM0PR10CA0013.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:208:17c::23) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 740ac2c9-4632-483f-60a3-08d9687a647d
X-MS-TrafficTypeDiagnostic: VI1PR04MB4942:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4942823F7FAE37C9078D1B1BB3C79@VI1PR04MB4942.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:854;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	VyERTY6iLDOzUKXFRg1FZdE3KCmx+jUBUtbVnIjlaM/Z3d9g1fBsd7M6J+KcoKNIwxV/WtD07Ci5gXx4fx95ZtQ7BTfxshH7vMZpmIO/o2biTsrZJrJhAyGCbeAY9b4ZFU55Q+6mZms0tigvgjvyP9wBlf0Ldyy/LAwshmDLMnXOAbWk1nm+IGaoD4+EfdMuz+gBznf09LfJAOTvPOUwLDSlZly2RX+3xUf2dqKoa/WPMHwHlPRrjNtAg/A3hh/MVIEwCe6EOgy+gnEP1dngmZCIxF4SQxoEQ+poscKGXH0FNlJBOl1EAciLQrr4RtZ3jP7q2LHnYaAaCqWb2WyrrLxs29TEl4N7MX7MZLL0CDExRVFRiM4jMtc0+WlSv8IbKn5jASzMcIwmhKkmAzNVbD047I/UghFTIvwN9NPTRc4vic6Y9aUWhz5CH4cnrJjN9NUIDOD0ALjomMTcHZBzbd6EIeHeLMytG6JSkeiJK+IVXsTq00W/mnY/9ByYlIkTqjf5Nv+JO5DeY/7qwOl2I+dPOFGYQ3mHkFdWvqqCvHxwDJXvVADZWs7+ZcAgWdA3gpqQ61qXkpG3STT2gCQzwNjP5V0sM7V30hOKqgnZGuPjEtjHaQvC92hEbi71IcyncoTTXzpKlCZwyJklBEIPToUbITnGyet29ukXJYypzkt5X+va8BLiJ+FVwuLsmkNV2FY7YgScUFyidoFhZ+scMQDTXW244mPTjLcLllbda9c=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(136003)(366004)(376002)(396003)(39850400004)(2906002)(2616005)(36756003)(31686004)(8676002)(54906003)(26005)(6916009)(5660300002)(956004)(186003)(4326008)(66476007)(316002)(8936002)(86362001)(478600001)(16576012)(31696002)(38100700002)(66556008)(6486002)(66946007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?LzRLN2NTRlhoMWJjQTVSMzQ2VjZ2SkIza1RZbzBuTEs1RVd3OVpHS2dtSFYv?=
 =?utf-8?B?SU9mamtsYTd1UXFsdTB1QS9HRXNDL1ZNUFEwVWt0eUF1RC9wcnhSaVBaMDdw?=
 =?utf-8?B?UFR5UDNDT3dPSXRJdm5WNU8yUnBQb0VtNEZ5VExwUGJTdnJMNzRSWllwMUJG?=
 =?utf-8?B?K2FlZWwyMkZoZ3ZEcHM1ODRqZGwzNW9zRVpLaDIzOFplS2gvQytBUWVET2VN?=
 =?utf-8?B?ZG1TUEFDQzlsNFFaWXRzSDZpdGIwWmxnMWVIeUFnUURhakZyN2k1MXpWRDQ1?=
 =?utf-8?B?L3F1U0Z5WDBHbER4bkJwdnpJVTJnV0dXWWJmSVBIWEExeEVLQW83bWQvdnJK?=
 =?utf-8?B?YjlyMzRYQkNnT0llZGFxczZKZDY5SnQrbnE5MHEwLythVWhtdVZJRldLUWhn?=
 =?utf-8?B?VDRBOHd6MXNGT0FNOXVDbFE2QTZoK21aYnBJVmE4N09SQ3RlYXhTZFlWcHZH?=
 =?utf-8?B?eXV6V2k5RE50UStOUmpqWnhMNXgzM0V3Ykc1SnJpaTMxZzRid2lLZnR0RGNt?=
 =?utf-8?B?dnV1M25CV29NS0FwODRXa2lSOEFvTDBPczBLU1VJNnltZUtrYnE3ZkoxM3g5?=
 =?utf-8?B?WUdzK2RpWU9hZWRKY091d3hwSkZoNHpGem5wUncyS0loaGkrNStIL29wR0dn?=
 =?utf-8?B?Tk9tam1ab1FKaHZQQ2RJUllBaFhEM1RlUEVpdFcvYWk1TEc1OHJGTnhFMm5O?=
 =?utf-8?B?djBLbHBDM2lUd2pmMGVhL3JzTTVidGxBY01TdlVPd1FSYWpteGpqTTJqNzNX?=
 =?utf-8?B?bTlEYm9WcjRZQjczZy9xREVMR21CYjFrdXBNYlhoekRXdjgybUg0czJ4anM2?=
 =?utf-8?B?TjVkazJDa0lzLzh4MWVGaVkxOEV3RXJucEVaMHdNeXMvYlJ6U0F5Z3E4R0ZM?=
 =?utf-8?B?YmcycEM2bG9yc0pzTjdvZ2t2bkdEMysvOG1xT2FwdWN0c2tMOFNLVjNtOW1l?=
 =?utf-8?B?V0JNU0tSYWs2WXppdXlKZDFsTEZQemhsdFZrVjNiWld4NlNMK3VPK1ZJc2dQ?=
 =?utf-8?B?eTdsODBLandpRHBsTlVuUE1wZjB0amRUUUVxSEhSRWFuZ2drenZuUm9GWTZ1?=
 =?utf-8?B?Q2J2UWVyTG9zNmdhcGhKRHVFSHg2UnRYdjZNRmlBTlp6VHhWcm5vVEZwV1ZW?=
 =?utf-8?B?dDkvYy9TWkdOZ1U1cUttdis3VGdmd25xR2Z5dHFQNDlFSktPNUVJZFdxRktI?=
 =?utf-8?B?L2l6dDRCazRmQ1VieXV5LzZIalBPV2N2dmhUcm9FSEFmNGZ1YnJnSVhaVm9x?=
 =?utf-8?B?WUJzZnpZNGEzUk1XelAvaUFhaDVyZTNyV3I5cEFyVjVYYVFvbXVpYkx2dEVU?=
 =?utf-8?B?YWtPOXZSQ0plQXNzOXA3L0JBUGN6Q3N0WFRZOWZKM1BkMEhhUnhKY2I5cERy?=
 =?utf-8?B?ZktDS3gvZ0Fvak05T2ljd3Y3M3NZRkRWUHBnckVqcHU1Nk82TlJ1ODFVOTVn?=
 =?utf-8?B?UjZ3TDZaSVV4YmNWUlVIRnNVaDNqNFFDbk51VFhNYStNWitqeXlGTU1KRExC?=
 =?utf-8?B?WG9mTHc0L1JFTGlXN3IyNTZQZ21oUUhPUE5qR2Q4emNBZEc4Vzc4R01rLzFL?=
 =?utf-8?B?UDdXMEFhOEJ1a2llMFp5blBRNmFpUCtuVUo0N2NsZDVjVUZENXYzNUlxTkZy?=
 =?utf-8?B?MnlRb0tDY1RzTVI2eHJML2NOT1JHaC81dnk4bllOaXdEaWJPSWZtMUZlbmZa?=
 =?utf-8?B?NkJMT0lwdzBWL3dSTEpIUGNlZ1pmd2U2V0dQRENmK2FYcXpZOVpOMDNodzUz?=
 =?utf-8?Q?GhosKWsxA3tV3fapN5WcStyGEL0TKK8+YUxf30A?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 740ac2c9-4632-483f-60a3-08d9687a647d
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 10:15:13.2072
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: SnDcD+rDPOrftbIpSM/CXV1f8mSwOEpxJYEyu5qWje1ubg/uQj57C5qFJ4XCte41khQVgkR1wEEPts41JTHi4w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4942

Returning back truncated frame numbers is unhelpful: Quite likely
they're not owned by the domain (if it's PV), or we may misguide the
guest into writing grant entries into a page that it actually uses for
other purposes.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
RFC: Arguably in the 32-bit PV case it may be necessary to instead put
     in place an explicit address restriction when allocating
     ->shared_raw[N]. This is currently implicit by alloc_xenheap_page()
     only returning memory covered by the direct-map.

--- a/xen/common/compat/grant_table.c
+++ b/xen/common/compat/grant_table.c
@@ -175,8 +175,15 @@ int compat_grant_table_op(unsigned int c
                                  i < (_s_)->nr_frames; ++i ) \
                     { \
                         compat_pfn_t frame = (_s_)->frame_list.p[i]; \
-                        if ( __copy_to_compat_offset((_d_)->frame_list, \
-                                                     i, &frame, 1) ) \
+                        if ( frame != (_s_)->frame_list.p[i] ) \
+                        { \
+                            if ( VALID_M2P((_s_)->frame_list.p[i]) ) \
+                                (_s_)->status = GNTST_address_too_big; \
+                            else \
+                                frame |= 0x80000000U;\
+                        } \
+                        else if ( __copy_to_compat_offset((_d_)->frame_list, \
+                                                          i, &frame, 1) ) \
                             (_s_)->status = GNTST_bad_virt_addr; \
                     } \
                 } while (0)



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 10:18:32 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 10:18:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172904.315496 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJCSp-0003Jh-By; Thu, 26 Aug 2021 10:18:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172904.315496; Thu, 26 Aug 2021 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 1mJCSp-0003Ja-91; Thu, 26 Aug 2021 10:18:27 +0000
Received: by outflank-mailman (input) for mailman id 172904;
 Thu, 26 Aug 2021 10:18: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 1mJCSn-0003JQ-SR; Thu, 26 Aug 2021 10:18: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 1mJCSn-0002nn-KN; Thu, 26 Aug 2021 10:18: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 1mJCSn-0001vQ-9r; Thu, 26 Aug 2021 10:18:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mJCSn-0007yy-97; Thu, 26 Aug 2021 10:18:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Wi1/nnu0WMEV072MqxeYkDAPbxfwXDrof6/quiiB2P0=; b=JofEncmhXE82OZUiHYX82/1GsU
	ilIKSHy2ftVn+OqwBJI3H1wPz0FytacMJRAfC4HwS3/yuIaD7BMkevXQS8i2hGM5u9hOOhh0B5XyS
	GQJTca3m+UBQVzk/fq92MriNZdhAPo/lLFDcVCcttKJeoo5BUQm4w+3QmcPb+36CtSDA=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164477-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 164477: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check: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-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=a931e8e64af07bd333a31f3b71a3f8f3e7910857
X-Osstest-Versions-That:
    xen=93713f444b3f29d6848527506db69cf78976b32d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 26 Aug 2021 10:18:25 +0000

flight 164477 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164477/

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 164405
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164405
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164405
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 164405
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 164405
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164405
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 164405
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164405
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164405
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164405
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164405
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-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-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 xen                  a931e8e64af07bd333a31f3b71a3f8f3e7910857
baseline version:
 xen                  93713f444b3f29d6848527506db69cf78976b32d

Last test of basis   164405  2021-08-23 08:02:08 Z    3 days
Testing same since   164477  2021-08-25 09:09:48 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Julien Grall <jgrall@amazon.com>
  Michal Orzel <michal.orzel@arm.com>
  Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
  Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   93713f444b..a931e8e64a  a931e8e64af07bd333a31f3b71a3f8f3e7910857 -> master


From xen-devel-bounces@lists.xenproject.org Thu Aug 26 10:20:34 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 10:20:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172911.315510 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJCUr-0004h3-UO; Thu, 26 Aug 2021 10:20:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172911.315510; Thu, 26 Aug 2021 10: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 1mJCUr-0004gw-R2; Thu, 26 Aug 2021 10:20:33 +0000
Received: by outflank-mailman (input) for mailman id 172911;
 Thu, 26 Aug 2021 10:20:32 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HXzX=NR=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJCUq-0004gq-Kj
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 10:20:32 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 3a042f87-7b56-4a52-8dcc-64926b6dd10e;
 Thu, 26 Aug 2021 10:20:31 +0000 (UTC)
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01lp2057.outbound.protection.outlook.com [104.47.1.57]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-17-Og2hYKa9Ocq1qQaRhWuaBg-1; Thu, 26 Aug 2021 12:20:29 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4384.eurprd04.prod.outlook.com (2603:10a6:803:6f::26)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Thu, 26 Aug
 2021 10:20:29 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Thu, 26 Aug 2021
 10:20:29 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM4PR0701CA0024.eurprd07.prod.outlook.com (2603:10a6:200:42::34) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.9 via Frontend
 Transport; Thu, 26 Aug 2021 10:20:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3a042f87-7b56-4a52-8dcc-64926b6dd10e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629973231;
	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=gM66SGIX8qXvHn91ogQHgEbJLUM5BeCodBHE2m3SzTw=;
	b=JVoXiQSGHmhsrT1Sle1iY6yapIc/yFfQj4+sbePLjPhAtsQFPFteLcI92jW81o5OTkTlYn
	c0ve50WsE8CPl8Ba+Z7F98PZijD1frGYYrqUSO9oJI1HiZRBNgYeW/wPv437/8d83WDro6
	jfaEv4OyR4soY0DN723OQkddVupseVA=
X-MC-Unique: Og2hYKa9Ocq1qQaRhWuaBg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ATK8CvPTEBnAg3JDROcer4E+aJbsOnAsTzOgHVcmcXPCl8hJEo7MO0qwz3icg8Vw9RM0HUMKR5P4Cf73c1kKwMojGsJ1KXuqJsLEf2ZuNGcr7OOabGiSuwSrKnffqAuvWcMVmy4OUAtP12zmpKTma0gN5bUGJBlHHPOVkYzgz+UnLP5hjBp/sB81bw0gBdTip4ss5jw4ahe7crQzoX6hgtWUIxven2WRdNO89L2966vChiJw6ndEjLTJ4jF5809f88w4rqCMXA//pW92ht90knCaphRxPRfI+6DyfRzY6yMOwK4FH+U5liuYSQVEPUgsCE8M63JgkmrDNplH97uLrA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gM66SGIX8qXvHn91ogQHgEbJLUM5BeCodBHE2m3SzTw=;
 b=L8FWT6tRzM5bgFJdHp/BTxWQ357Mnv706kgkVV4c6/fxRDlnDYGFzGZVANKHl1Q3aRxlvldQKTdQyI5o/speozwuiCpwVJDHfyW7eaLCBKltgd4eo2vh4R6nwtOc5/xJGksGmgOIgGs2VhycWw/b5vnOhHQ49l5W326U20C1kpPO5g9DZIAHDx+I69/fVZhvbEypTUpe2KXZC6QuzIEP/6BRi6B2KQI0Ymlf7ZW1N0MP8StzbNzmy3cnBlXQvmF09+CPfoqL0Tznc1an9u63oD4IQ4u8kD89IAr+aGEcQBFEo6QuySA+qAUygNRNIQwfNKhORvhZ1BWT7mjTej6wuQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
To: Minios-devel <minios-devel@lists.xenproject.org>
Cc: Samuel Thibault <samuel.thibault@ens-lyon.org>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH MINI-OS] gnttab: drop GNTMAP_can_fail
Message-ID: <6b356c6d-d9d5-65ca-50b9-4381d535fe79@suse.com>
Date: Thu, 26 Aug 2021 12:20:26 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM4PR0701CA0024.eurprd07.prod.outlook.com
 (2603:10a6:200:42::34) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 77828429-971b-4c8d-be17-08d9687b20ab
X-MS-TrafficTypeDiagnostic: VI1PR04MB4384:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4384F5B3CDE434E7BE2C3460B3C79@VI1PR04MB4384.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:6430;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	d+avy9651hcs/4/BcKoxlyYke+oqJqGuHJuQTbeqqnGhKwXYRctkggt1iz+Q8bKBYEAsb+ixwkwgIjo8yi/bNQh+/G8X4MeBKujb/61eZuaHylvILOne3BOKwGzRfwyglbtLfZWaoJodBnkL3853uQNs1jK8E0TsQ6UYqNqU17nE9HzwCVaEfacE9KECbheKHOdm/fvr3tIUoWUKhkFDE5851YEWtIp+cT6taeQfciRvbFF8pkdfdy38Bio/3PYFTZCJqiS1SCo7mLUZ/eC+T8NALOC17vp73cUGSmdRwr3lb9v/BUACWgYkUc/7/xkBAFDKI+wmah0fFIWLo05JeeFTNKPGP6foTAnZ26PNkxVuQvlS2MIEgWRYI5vEiEUrQmuc1q5JF7RjJ7uxRLTpEk40aTknyIxYE+ftR76GVpIxrtlSFuLi2pPOk1n0ZrQT9snDC/jyb+wLJuGfJBC6jygjsbLSFDQi0rgzHPlzYFgTKbcsmZbvuG0SjnsDHZGld+uX19q/ekUEK1wx0wtTiqa+8e5HsQr6Gs2xXfAIhLEQAlR9qvlsP7VhiSes0ah3y61IoBij+MChGrmgbOjRshsxuUmg8w5Rk88H5Sn6UVIORfRMKm3pEBcMb8O+1RMdKyYYemgtgE3dj95HdafoNqHWkH+zttjGfqF2BpdeXNE9B4BqCaYaqxSNovzMr3NZmf1+6SnEov9Hqvxj4V9507ncZUiRMtpr92KPMOraIIw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(396003)(346002)(376002)(136003)(39860400002)(5660300002)(956004)(86362001)(186003)(66556008)(66946007)(66476007)(31686004)(36756003)(6486002)(2906002)(8676002)(2616005)(26005)(4326008)(478600001)(4744005)(6916009)(16576012)(8936002)(316002)(54906003)(38100700002)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VXRZdVhkZDdQZFdZS0kvTHNQSDY2eS9TWk9pTGJDcWJsWWtyb3hsUkJOZVpK?=
 =?utf-8?B?N1p4TWxEL0dGUTVkdUVXYTVvZnNnM1VNaUJRL3RZWlFqVWNDYTRvaWNDYkJC?=
 =?utf-8?B?dTBnNWJpcmpiUmJQYWFJNHQ1VTArQUQxazhybXBValUvYlhZTDB3SGJ3STZa?=
 =?utf-8?B?dUEydU02bDdZUTNVeUUrWTFPY0sxbVVwM0dRTm5XbUhMVDdNR3ZNd3dodXFE?=
 =?utf-8?B?RjMrdXIzck5MeVV2ZGZmRkFpOTRBMjc2aEoxZHNTejhmNjNyM3ZsVnVYMkRl?=
 =?utf-8?B?SFJNSTg0dGxxNVVOR1R4Z2NQWEtwU2Q1Q1lZelJoSWxnSm1BcEI0L0NDdG9x?=
 =?utf-8?B?WUdMdk5vZEZiNkhUMGdsU1BZOTg2MmtSQVJnM1VSdDFOdk9YKzBTOHAvR09a?=
 =?utf-8?B?ZHg3MUZENU5GbnY2dkRNSDFDZy9DNlN4SE1hUUNlQmJkYUw1YzQxMDd5cGtG?=
 =?utf-8?B?eE1INzEwNkNXSVNZOWNiazhTOERYSTJhTWxUdzRlVkNIa200cTBWN1dKT1FM?=
 =?utf-8?B?UU1CSlg0QnYycnd3TUFmV3RibnhodUpXdFlkTnNjNmY1RWxDZkNyYjl3OUFO?=
 =?utf-8?B?cDBFQXcvYnE0SitQMk9KZ0I2VW04ZlIvTTc2dGVPVUZxNW5mOGtUUTVMbmZ4?=
 =?utf-8?B?dEttRG9OeWxLaE5TVmV1T3ZkcVE0aGtldzd4Zm55VDU2U0M1dVJuRjM2b1VC?=
 =?utf-8?B?dGQyc0tqMW9xMkVWTk90R0dWZG9waEl6ZUJ4REJNbWxzYlF0L0RFQzlBR09R?=
 =?utf-8?B?YlZLVFJtV0pMaUdGdTI3dllCQ3ZUYkk5N1dxdkdFQlIyOC9xT1hXQzlaTXNF?=
 =?utf-8?B?VXNHNXJPZEd6M0dIUjFHbHlmZk84SnBlY21xa3JiTUV2Zmg3M2pvREd5WG8y?=
 =?utf-8?B?Q1orbzc2RHQ5NEgweFlJWFRRNERrdXd4bWhiU0pjbi9LcERlOGNNclVNTk9a?=
 =?utf-8?B?azFSNThRa3J4bnlkemw1eVByditDOWhkd0dPTFhGNTc4MjZMODFPTVJFMEZ1?=
 =?utf-8?B?dkZHNFEzQTl5Q05yS0U1WW9UejdZY3B4S0lIRnZ0TnpScEFKN3FFb1YvWHRX?=
 =?utf-8?B?dFM1STJRV1EyL0xwYzY5Q3F4N2ZpRllUVlV1cjZGKy9CU1lYdHVSeC9ET29a?=
 =?utf-8?B?MFhqcjlCQ2IrNlkzTzRBUEgwSmJjM3gyRjhnZXNDOFJFWVdsemZvTWJqdEp1?=
 =?utf-8?B?SXNNdzlERnRBUjJ4SW03MzVOTk5qNEp5WFdRb1FLazVlNXFLOXBpVnJMZlpa?=
 =?utf-8?B?WVBTa0V6R3N4dHB0aFFwU3d6S0JFWFdQYmgzaEFwTkd1bjV5LzRGd3h6L0RK?=
 =?utf-8?B?VFRqNi91VkZFTmNWeXYrbnBBYUdDQVdkUisyaENOMERJS3Z2UGJxUm9pTFRx?=
 =?utf-8?B?Y3NLZ2lhcGRQNGtKTVVqdUROM2c3dFYxWDhNa3EyZzZ1RXpjelpFbmRKaE9z?=
 =?utf-8?B?aWZQN3V1SklpVUMwOUtaK2JVTVRmT21WM3RiRnU2aVhGZHJVQ0V0STQwcDl1?=
 =?utf-8?B?WTdpbURKTUZVSm5SRWZBTFY1THpsZEJTcEw4RkI2SU5KS1Z6b1dmcXhUMWJJ?=
 =?utf-8?B?dkNkRkNRa01Vd2NTVWZXK3lDQ1NielFORm4wRWxhOEhIQkRIS1J0cWUwNFcw?=
 =?utf-8?B?a3d6bjhsY2VYOGgyVVN0bkhPOTcrOWNCd2xaK3UrTmI4UzMyQUhnd0k1eWJV?=
 =?utf-8?B?RExlUi9SdUhJUXp1Y3VVL2F5bldGenhsVythaFQvZlpPNzA5ZDVrZmEwbnl3?=
 =?utf-8?Q?vC58ifi1Ek4buYdeiV5a5aufHXhrhh7oI7Fi6um?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 77828429-971b-4c8d-be17-08d9687b20ab
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 10:20:28.8967
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: hrCilkg1TuNO68uBt30aHQjurkVZTkHh8u7ZTBY8cmxwb+I4bvSyy86PoRAaVa8zR7LPmD5nP6u+upWKUYcdzA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4384

There's neither documentation of what this flag is supposed to mean, nor
any implementation in the hypervisor.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/include/xen/grant_table.h
+++ b/include/xen/grant_table.h
@@ -627,9 +627,6 @@ DEFINE_XEN_GUEST_HANDLE(gnttab_cache_flu
 #define _GNTMAP_contains_pte    (4)
 #define GNTMAP_contains_pte     (1<<_GNTMAP_contains_pte)
 
-#define _GNTMAP_can_fail        (5)
-#define GNTMAP_can_fail         (1<<_GNTMAP_can_fail)
-
 /*
  * Bits to be placed in guest kernel available PTE bits (architecture
  * dependent; only supported when XENFEAT_gnttab_map_avail_bits is set).



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 10:21:15 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 10:21:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172918.315525 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJCVX-0005Lv-Ag; Thu, 26 Aug 2021 10:21:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172918.315525; Thu, 26 Aug 2021 10:21:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJCVX-0005Lo-5v; Thu, 26 Aug 2021 10:21:15 +0000
Received: by outflank-mailman (input) for mailman id 172918;
 Thu, 26 Aug 2021 10:21:14 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HXzX=NR=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJCVW-0005Li-5f
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 10:21:14 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id a594bfbf-dbbf-4879-85ac-41c5a280e0b5;
 Thu, 26 Aug 2021 10:21:13 +0000 (UTC)
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01lp2055.outbound.protection.outlook.com [104.47.1.55]) (Using
 TLS) by relay.mimecast.com with ESMTP id de-mta-1-jqDVeMVvONam1aDQMM9pwA-1;
 Thu, 26 Aug 2021 12:21:11 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4384.eurprd04.prod.outlook.com (2603:10a6:803:6f::26)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Thu, 26 Aug
 2021 10:21:10 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Thu, 26 Aug 2021
 10:21:10 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM4PR0701CA0038.eurprd07.prod.outlook.com (2603:10a6:200:42::48) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.6 via Frontend
 Transport; Thu, 26 Aug 2021 10:21: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: a594bfbf-dbbf-4879-85ac-41c5a280e0b5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629973272;
	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=xsOqFcSbWRy+X2S5tz+soOLUodm4/iPDLnyE4XYzmwc=;
	b=BEeZx9JO7zSKCQfAK12a9crbu/lgGjKA1lqYYCUGa9bdjMpD+GtrS48y/WOWSxSrexoiGt
	e2KsNQlLg2AOjKGbvG0MC9momjCFZwPJOfg+HYOarC+P4NdsjtqnXEhMwFlm3MY8Gnd7qP
	0gaYfIfdUgTAnv6Wa9lNWGSiae6/hL4=
X-MC-Unique: jqDVeMVvONam1aDQMM9pwA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nH+qEyc6uO5cgCPpnCqruP64ezqNA324r5JAwZk8UHYc8Wu0PB6A+7dCMJ1fTAVwu1vLx1NlWp26pwNthlXiAPCdov8MRdV+RS2n/b3cfK9eQhkGdFtgAwg8Y1U57mRdyOmm0QuAB8CPfBgjhIhLb0oJMRCcIElAGtantEXrxVbf5wwvwQHgdxvURrrRBQOUMYzV89pMzf5itbIRQsLFe6fBovUtXdX1fo6MhZ0bCGHn2HWF6wom3CCOWBdBacru4K05DeSPqL+r/qa9eScO7yykeh6jZJE4oK+02j7j76r44NIJneUJ6xwEOcDap6GZGjHcR/VnBuBNfMEqkogmMQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xsOqFcSbWRy+X2S5tz+soOLUodm4/iPDLnyE4XYzmwc=;
 b=jfnWfTVbSXEyLN4g1RvfgcXYFelstIFxv0aoYMrZ7E/ys2Es1khasNEuP9giBoAxUmjTU8aU6pjtQ2nep3LtMJFIR545UbbkWAXdD8EpGBNFQ2/sV7T6M/oA6dROcxaYN0PJfDuOLNoxjNSeNv7Fawyuu2qaEie/Ryh8Js2OJSs7ndiCZQoSQDRbzMu1CuJgTMKJ8WGo+tLOniYyiidTcb60ZNc+HipWFJfhZVyLYuQxywSVr3koy55oEX9ZgSDQYbKLiCAcFpoyvCFNrnonx7Q58PHLDMaQYDZmh82LBIhNiHjM7FIQMv89ArPd2uHMBOOi5R/eD8tGoCc1BJD7Dg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH XTF] gnttab: drop GNTMAP_can_fail
Message-ID: <4b5f7a78-fe88-3b5d-28c4-7c8e25c82971@suse.com>
Date: Thu, 26 Aug 2021 12:21:08 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM4PR0701CA0038.eurprd07.prod.outlook.com
 (2603:10a6:200:42::48) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 0c7ad529-4094-4fbd-d0d9-08d9687b399e
X-MS-TrafficTypeDiagnostic: VI1PR04MB4384:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB438433A600142BEEAF68AC5FB3C79@VI1PR04MB4384.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:6430;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	YvG1eMOVOSyayT6crD1fiC2Jzumdf6Wz1Hp8gNyce3m5EmQ+VTwZN0qq/VcjVxGPETxJAL74rpFWJ6NRNAA3MLBl+S6MQzJwlINtj6wvlXfXno4t24voqddx0E1UPOxcBYcqU4C8zBMZ6sbpk8bWQrc1ZyZNk95G7O7PtuOmoVAldf4R443nn04InHqNQi2aEspcHNcq+9U0ihYQEe1cg0wI85ZMlA3cHW6V5kpQGQ/Tgc5jdMNvVJYV56Ah8MYpbVUJd4+YdFv8mDEwCBBBXeY93zBstfieDXK9AbEgGY4uM4zRp4GHLPiL0IYYEKZPYpfqn2lcT9nL4NcBmvB5dsQavMOOruTw+TvOVV0nLu/V1urvKsqm8C9wspI6SOMZj76pOdoMo0nyktxkI2D+kgxNMmBvmsjWTUFc1iRFoSbKCFLv9ZRU/tbDbTuTENT2vtZHNOuKHDbpIj2EmXdo3sqxKDEN+krYhUttCXnVz4gJdPeQ7C/WDXLGTSqW6hFBm5RmJGeDL099zYtO5SHSpSFEX8O88+pbc7WqeMLLOGag/GS4NmwjjLuSCihKbtttVyhnkV5DgVyFgj2lp/EUmj8wJ5PA+H0XQKgmHk3eIZU+04/LZ/WuBi0rgkChTmkXfdZZp3uYQBsqeryfTwA1cXgneD74RoAv1bGOP+uU2pJmyI07DCXE2sapyShwL5GHqE+gWsm9i1NGxabGDg80799B0hptWj8NfzQzqXICPcY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(396003)(346002)(376002)(136003)(39860400002)(5660300002)(956004)(86362001)(186003)(66556008)(66946007)(66476007)(31686004)(36756003)(6486002)(2906002)(8676002)(2616005)(26005)(4326008)(478600001)(4744005)(6916009)(16576012)(8936002)(316002)(38100700002)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WHJYUWI3dXFuUE04a3E1Z2l1emFZdksrck9YMlRhT01aV1NmUWRnNDBGUkFz?=
 =?utf-8?B?bDdJZFN5S3ZZZ3F3Mi93N2NqZkp2d1BiOGQ4RG1nQXpJRUJ6VEIzUEVDQjNt?=
 =?utf-8?B?WEdOaUQzdmFia3IxRHlYS3RVUG51djFSbGFyWjJUR25md3ZSai85NzhVcnlL?=
 =?utf-8?B?anJiN0pXOWNydFdMV1JRVng0bkRsM01LTTkvYU5UVHhseXlOeG00YkFoWWJo?=
 =?utf-8?B?S2tXdzJKSGptc01uNE0zKzVLdmNjaTA0OEYyQnNkTjZQVHpCb3N6WE95THI1?=
 =?utf-8?B?QXpxMmxiZ3IwelZJTmcwakhVZEJEYS81VUVHa1JtT01LSy8ycUpnclBKNHNp?=
 =?utf-8?B?M0hxRmkrY2czZUdTQkk2TkcxM01ncmlZNjRZUXZ0ZTJzR2VWNG9GVWZBVzMr?=
 =?utf-8?B?TklnMGdkTnIvUi9QY0s1bnArS3ZCazdQYzRuVzNvUmxDRW1ITFFhSVcwWXpJ?=
 =?utf-8?B?YVMrMUtsV21TRGg4cTlpNjZMcUtUMUNaK2pLU2doMGlzMkpNZFZvRmFTRFls?=
 =?utf-8?B?VG1mZ3dqY1Y2aHpMYkhBV0haR0t2TWxTNE4wdDNSYVVxYmZPaUU0S2tJc2VP?=
 =?utf-8?B?RVBiSncwU3E4aHNwWGxmSXliS0lobExOaEJxb1k4TjVXVUEzU1NaS0RVY3ds?=
 =?utf-8?B?TjVTaUs3OTNtRXFFV0hPa2o5cjJXemV4MWFrZUVXQ1NkeGE1WDNsQnlRTFd3?=
 =?utf-8?B?Z2VIcHJHUUs2VzFDMERFL1BUS2RUOXorRm9CTXRVSnJKVHdzb1NFcCtUOUxR?=
 =?utf-8?B?bmdMVmxnL1cxVE9PRTQvKzZPVHhVcS9RQkVZNGFLdVk5WUoxV1ZhUmd2NHk1?=
 =?utf-8?B?WWwwQzgzUUVmVDZ6UXBFWUVjcGJhWEF2SHhjZmszOVl2bjJlaWVPbG9EMTFz?=
 =?utf-8?B?VE9LS0V4Y2dZa2sveHduZnRqa2ZHQWl1bk9GanRQbmlCK0w3SklQRllrSlBx?=
 =?utf-8?B?U0lwZTFDZDNQTHhybjBaWSt1YnBDdGQwY3B6SFZaRitUNWduUDFWbWFsaldS?=
 =?utf-8?B?YTN5LytONnhxY1k1azkxQUFsc041eVM4ZnBranpFU29MSWNSc0crLzZoVnhF?=
 =?utf-8?B?NTBBQWlCSkNqMnZCZzBjZHVKbnVmd1lnaXN5N0NlR3NEM0ZuYzBJazE5Szlk?=
 =?utf-8?B?a0JFamhCU2xmQ1oya3dlcnpLckphdmpjR0c2QjBlNlhPUCsyRkZUcXp0cVlK?=
 =?utf-8?B?UllVZGQ1dUZHOUFRRStJU3hBQjlDRWpCeDRZS0VtSTN3ZUU0VFExUjNEeXpy?=
 =?utf-8?B?MUY2Q2QybUdpN3p1YUFwQkh4SlRvZHJKWnNRWTVIdlZXaE44cnFvYjhRZ2dK?=
 =?utf-8?B?Tnc4WGFSOHlTVCtXK0FxSGxOWEVBYmdFYnp3MkE4b2srSzIzaTZsOHd2N25D?=
 =?utf-8?B?Zk9QdlZndzBXcUFISEtSMGx5MmE4Z2ptU0ZienVYcWx5T0VOZ2VmY2dUck5E?=
 =?utf-8?B?Q3g1ZkNXclgyeGw0M2QvaStRMEFOSDQ3WEM0Q2FsVURESUNSc2M3M09MSnVD?=
 =?utf-8?B?Z1VVVGxId291VEQ5VlBBamltNFRDMnRnWDdRdGQzbGFUOURaVyt4TTZoeFJ4?=
 =?utf-8?B?bWwwQjRySTJ1WnZsc2RrQ204Znk5RGJLYkZyQWVaRjBrK2VUTlR4NmxDemZx?=
 =?utf-8?B?KzFTZ3ZsZDJMSms3RkloVTZES2M0LzArdXpiRWpDVmhxM2MxOTc1M01VeEdq?=
 =?utf-8?B?UWlVcVVDem93WGw0WlR6c2Q5dTR5U3BlVUxTT0pBbFlGMlpKMHpCM29jcmVj?=
 =?utf-8?Q?oYWz/aITXwrrWRTExI2htmgOnmzO+X+ZkOryazl?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0c7ad529-4094-4fbd-d0d9-08d9687b399e
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 10:21:10.7510
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6ER0hshsEHIfi0TAGkDc+PAzqTc+qYz2oiSqJYKKcSFv/pQd5vPsHbObxnm31Kwl9cguFPaIAzs3n1257CUzxg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4384

There's neither documentation of what this flag is supposed to mean, nor
any implementation in the hypervisor.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/include/xen/grant_table.h
+++ b/include/xen/grant_table.h
@@ -196,9 +196,6 @@ typedef union {
 #define _GNTMAP_contains_pte    4
 #define GNTMAP_contains_pte     (1 << _GNTMAP_contains_pte)
 
-#define _GNTMAP_can_fail        5
-#define GNTMAP_can_fail         (1 << _GNTMAP_can_fail)
-
 /*
  * Bits to be placed in guest kernel available PTE bits (architecture
  * dependent; only supported when XENFEAT_gnttab_map_avail_bits is set).



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 10:33:49 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 10:33:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172926.315548 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJCha-0007NZ-LJ; Thu, 26 Aug 2021 10:33:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172926.315548; Thu, 26 Aug 2021 10:33:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJCha-0007NS-FX; Thu, 26 Aug 2021 10:33:42 +0000
Received: by outflank-mailman (input) for mailman id 172926;
 Thu, 26 Aug 2021 10:33:41 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9eI9=NR=ens-lyon.org=samuel.thibault@srs-us1.protection.inumbo.net>)
 id 1mJChZ-0007Kc-Kz
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 10:33:41 +0000
Received: from hera.aquilenet.fr (unknown [185.233.100.1])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 6943740e-03bd-4a0c-927d-6f93bac6bd5f;
 Thu, 26 Aug 2021 10:33:34 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 49F2C1A5;
 Thu, 26 Aug 2021 12:33:33 +0200 (CEST)
Received: from hera.aquilenet.fr ([127.0.0.1])
 by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id R0SAFipxd0yY; Thu, 26 Aug 2021 12:33:28 +0200 (CEST)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 9ECF688;
 Thu, 26 Aug 2021 12:33:28 +0200 (CEST)
Received: from samy by begin with local (Exim 4.94.2)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1mJChL-004NeY-N3; Thu, 26 Aug 2021 12:33:27 +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: 6943740e-03bd-4a0c-927d-6f93bac6bd5f
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Thu, 26 Aug 2021 12:33:27 +0200
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Jan Beulich <jbeulich@suse.com>
Cc: Minios-devel <minios-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH MINI-OS] gnttab: drop GNTMAP_can_fail
Message-ID: <20210826103327.diijakop36vvrzu7@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Jan Beulich <jbeulich@suse.com>,
	Minios-devel <minios-devel@lists.xenproject.org>,
	Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <6b356c6d-d9d5-65ca-50b9-4381d535fe79@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <6b356c6d-d9d5-65ca-50b9-4381d535fe79@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: --
Authentication-Results: hera.aquilenet.fr
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 49F2C1A5
X-Spamd-Result: default: False [-2.50 / 15.00];
	 ARC_NA(0.00)[];
	 TO_DN_EQ_ADDR_SOME(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 RCPT_COUNT_THREE(0.00)[4];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 HAS_ORG_HEADER(0.00)[];
	 RCVD_COUNT_THREE(0.00)[3];
	 RCVD_NO_TLS_LAST(0.10)[];
	 FROM_EQ_ENVFROM(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[];
	 BAYES_HAM(-3.00)[100.00%]

Jan Beulich, le jeu. 26 août 2021 12:20:26 +0200, a ecrit:
> There's neither documentation of what this flag is supposed to mean, nor
> any implementation in the hypervisor.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> --- a/include/xen/grant_table.h
> +++ b/include/xen/grant_table.h
> @@ -627,9 +627,6 @@ DEFINE_XEN_GUEST_HANDLE(gnttab_cache_flu
>  #define _GNTMAP_contains_pte    (4)
>  #define GNTMAP_contains_pte     (1<<_GNTMAP_contains_pte)
>  
> -#define _GNTMAP_can_fail        (5)
> -#define GNTMAP_can_fail         (1<<_GNTMAP_can_fail)
> -
>  /*
>   * Bits to be placed in guest kernel available PTE bits (architecture
>   * dependent; only supported when XENFEAT_gnttab_map_avail_bits is set).
> 


From xen-devel-bounces@lists.xenproject.org Thu Aug 26 11:27:17 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 11:27:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172934.315559 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJDXE-0004nH-Ke; Thu, 26 Aug 2021 11:27:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172934.315559; Thu, 26 Aug 2021 11:27:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJDXE-0004nA-HZ; Thu, 26 Aug 2021 11:27:04 +0000
Received: by outflank-mailman (input) for mailman id 172934;
 Thu, 26 Aug 2021 11:27:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mJDXD-0004n0-14; Thu, 26 Aug 2021 11:27:03 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mJDXC-0003yT-Ou; Thu, 26 Aug 2021 11:27: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 1mJDXC-0004HB-Ao; Thu, 26 Aug 2021 11:27:02 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mJDXC-0002oc-AK; Thu, 26 Aug 2021 11:27:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=How0XCd7anRBxx5RgXF/hiZhKF+mkOnXmdQXpcO0wR4=; b=eq+Y4ww+6CBLdDO7+QmuwVZi18
	i8uZZ0kYMENwLFnf3UywUll7UrrLKUaoHNVL0qbfOAqzvAcGponztmvaPlI+8evIz+2Q5pX9NL76/
	tB4DKjqb7SBziwCvDcDts5jmkyzJp9sik5z2dp7as4JZXqUAqa+JWRugHC5GBT1AxPGo=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164481-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164481: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup: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-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=6e764bcd1cf72a2846c0e53d3975a09b242c04c9
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 26 Aug 2021 11:27:02 +0000

flight 164481 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164481/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 13 debian-fixup             fail REGR. vs. 152332

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     20 guest-localmigrate/x10   fail REGR. vs. 152332

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 152332
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 152332
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 152332
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 152332
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 152332
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 152332
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 152332
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                6e764bcd1cf72a2846c0e53d3975a09b242c04c9
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  390 days
Failing since        152366  2020-08-01 20:49:34 Z  389 days  679 attempts
Testing same since   164481  2021-08-25 10:52:13 Z    1 days    1 attempts

------------------------------------------------------------
6817 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2016899 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 26 11:45:29 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 11:45:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172942.315573 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJDov-0007VU-Ds; Thu, 26 Aug 2021 11:45:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172942.315573; Thu, 26 Aug 2021 11:45: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 1mJDov-0007VN-Ah; Thu, 26 Aug 2021 11:45:21 +0000
Received: by outflank-mailman (input) for mailman id 172942;
 Thu, 26 Aug 2021 11:45:20 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=q24O=NR=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mJDou-0007VH-CT
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 11:45:20 +0000
Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 16018d4a-0663-11ec-a9eb-12813bfff9fa;
 Thu, 26 Aug 2021 11:45: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: 16018d4a-0663-11ec-a9eb-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629978318;
  h=to:cc:references:from:subject:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=QP8uXsb8Q6fwgJZ9M9kV7cbSDs2T2CWo2VqPqqJd4oQ=;
  b=hZQ6eJRuHXuJR+LSDgi0oL9xdPytKDdbVC4RjC8+i32+/5fyuiYsQay6
   FuZOGJGHlSw31RpVhRhWOsrDGqcWELUCmT8QuHPVPiaXqIlWnaSzXihHf
   ZR1I2yfeXyDRwR4WGRPvRb7qTqkt1Trb1o++hzXCIy+WXVEIMURBzEQxC
   g=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: oZL5sevcbJtElBc7JAFNQft08XXr7ecgc8IPu34eu7DlOeQdIW33nVuVeB+iPSFHkOdeo9ytZP
 GoOkzEe8J+SNcjzZu2ZNcCmdCunX4sLtIo1Zo7fSPy4RQKkOb/75BTwR9L3DK5zp1+Kl5jMqqT
 N+hXUrRVglI0OuElxojpiY/b8Uw8e6Z+r+oHZ6mF4IDjBl9CzJ/DKonZrkqMRp0CLemxO/+7sS
 zPj3EdZRSGuj4dt1sbQm1PpVMbo2vSaEGSW9tEyoukkAeLyHEvi+WZC+7hBXO+LHLYP6r7pWD1
 HRXWtpFiDvf+dI1V4o6jkyIO
X-SBRS: 5.1
X-MesageID: 51355897
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:030xgaFoBWPxhBKSpLqE7MeALOsnbusQ8zAXPidKOHtom62j5q
 STdZEgviMc5wx8ZJhNo7+90cq7IU80l6Qa3WB5B97LNmTbUQCTTb1K3M/PxCDhBj271sM179
 YET0GmMqySMbGtt7eZ3DWF
X-IronPort-AV: E=Sophos;i="5.84,353,1620705600"; 
   d="scan'208";a="51355897"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PBM3qOsXPiZh7aruZZOeFFixru0s9H1vwK1HdhPA47cJYJQHB3Okud9KrTjYsaGTCdVEpGKvF/PsZRy/J9LHMPeGBfIltvmhAVeO0EDL08qOk4qHt8CmhBcUXy85MjBKPPH2I6rubTEtwDEe0OGST205Kv2StAukrst6Cve9o4vlzkMHsD1aRZM9Kdv5/gnaHqp3LfomAW1JMlLtA5dKLOlnbxuvy/b3T8OxywdzBOVohqHG9uZDmkNBxBUGA2AuETBGkEJrlUH9+HVTkaVgzxCELNAJw+cxaWy9/3UVugIEnP4U8hEjXDwcKJhkEy4rMmJ9EXoNKZNU2YaI9YeEhw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QP8uXsb8Q6fwgJZ9M9kV7cbSDs2T2CWo2VqPqqJd4oQ=;
 b=XnsPg+8iqKP6G6cuqzsejqeFuYNm5L1DRhEBDrmmtvOsi4sv4KScTywSC85umpTbqUnY4w+IY2hxyzZE1Zvokb9KQtWPuwdBj+PAttmI2Yry+7TQXofrQjGupwP1xcYB5iMY2CqTWkBs7LgD582fNW4BSIrL3JPs+kssG0yVpMNkVtPyBnX03tjQZ7cN17GGBTiGQw9IfzEDIgCtE3ibROZqiuUYDbr1Y0Hoc8bp9s+ZPnc1U7fcuzFt37q5ed6bRQ+VuXIdWkwHuOhajoWT1YE9Bu6Kwj+/5bpCpOT8PsNVw0z2eilNq2lG5zSQ6VUEDThTl3oT1YSiPtpSmTIDyA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QP8uXsb8Q6fwgJZ9M9kV7cbSDs2T2CWo2VqPqqJd4oQ=;
 b=vJofrMOj3InP1/Y1AVK9NV9NhEhWbOwdzZ+wQjFsjNEMQ8xvLQ83OmXfq+ROPYmz11hxru27W2QKQITSOdG6YQm8rTHFGEF4KRcMTwWn7ujQp+C04HQnXZdWCYOf8Vu8Rpc93jjr6GASV8keWfMc9cxsocfpG+f3hFHwd0uwFnQ=
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: George Dunlap <george.dunlap@citrix.com>, Ian Jackson
	<iwj@xenproject.org>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <eb7bbd51-1da3-9a7f-27c7-49dea1a41488@suse.com>
 <761f3ea8-bfc9-4a8b-7878-2ff9e3047309@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 4/9] gnttab: drop GNTMAP_can_fail
Message-ID: <871a58f1-e978-6046-db37-037ec18dbb9d@citrix.com>
Date: Thu, 26 Aug 2021 12:45:04 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <761f3ea8-bfc9-4a8b-7878-2ff9e3047309@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-GB
X-ClientProxiedBy: LO2P265CA0277.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:a1::25) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 32161c43-6ed4-4c7c-e78c-08d96886f5d6
X-MS-TrafficTypeDiagnostic: SJ0PR03MB5454:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <SJ0PR03MB5454B3341A50EEE298576401BAC79@SJ0PR03MB5454.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: vXeYmXD+0umJF3CTtrDiTJaktPALQIu9+/DOcIkshSCi4loAFy1TK69N5IQzeauGbljvMYxNLYi3ch5hYNUz5S6Rs0nbaY/5d1GEm+T2+ZtR0Q1vNz4QIpJNl7BB9lhzWCMLyeYEWx6vY+YkmMmFVDaukCF7zhFQ/VAqXxu+4MXbek9nWWzGJRePAuN3XESWGSDJVicvtWpVDAN924OZzANjjwvWRpOmXJAu9pkht6zyLwZIWgvM/Tx8etgjw+9QV71iFUexkFtGPCXQZE8hYoJpZIbQwPvhOH2/XiVtmh7tvcU1bxTZ1rAF9whIKnhrs/sxsYhB8SDNIpNP/PYjDVUnz3JxwUtmqEPWtTctOBurBbzqEpebPuOu5RlXpOt4CIGV7Es5cH0M1UL6WDCv6yzlw8glMvGU8FEJ+IGUb/qkL0RYM4RkbWDQAZyhUz7FGZkp3Z69xt2UccY8DT0QGM5Q32khqrHaK23oJAJ56I+zbUDx4DxRkmbh5xKa6146BvX2tX6Sopk2XqHGrzXWtHfiZsif0hVVABL/qG9vzmKfbS9fqYHhGOtS3K8XRCyJ72i6F1yhUkcdcBrikelDHNaA7wp/JqyJkXmCA+LOujW7kPzDV2vPne6bdsKpczABYnZOqywtgVQvsaCfrwYmI6MnpcEN58O/YbzCarcP/xFdk5vLsnTsT+FNiOi1bXyhw9PiGMdDGuufzjt0MTGPOskUohqbaeUHNEOQrzxPgKU=
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:(4636009)(39860400002)(396003)(376002)(366004)(346002)(136003)(86362001)(66946007)(53546011)(66476007)(55236004)(66556008)(478600001)(26005)(186003)(2906002)(5660300002)(38100700002)(83380400001)(31696002)(110136005)(956004)(4744005)(31686004)(6486002)(6666004)(2616005)(8676002)(36756003)(316002)(8936002)(4326008)(16576012)(54906003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TjQ4WndCTlhBL1hpQ3prZGtnKy9qaTJkNTBSNW8veGxyQisrYnpQd3poNURp?=
 =?utf-8?B?OS9pTjVUbzRiWXhvcHM1ZzFjQmVpczR2OHdDeGdJR2plNGs4b05JMndzSDBa?=
 =?utf-8?B?MjFNRDdjazhvdUJWaVplT09uWlNlUVNoTzN1SktwZDJ0bmpTR2ttQ2wveXBw?=
 =?utf-8?B?d0VHbkhrb2lvTXdpT1hFU0N5RU9vQktjWGtTaHVxQWFQNGhQTS9kYlJFL2dn?=
 =?utf-8?B?dEl4VVpqYmEwZHZOd0ZRYk5odjhtNVRCVlAyM1prQzk2WFV3L2s3ZUQ0NVhy?=
 =?utf-8?B?b041OW51bDVjcEZHUFUvVE9PSkYybnc3SzdkUGJNNFBmbFlEbW9Pb2ZvdklR?=
 =?utf-8?B?ejJNeVVUNTJKNytDYW50NUNTUDZOZEtUamFtam44RTRzWVNXRmhFdGdBeFli?=
 =?utf-8?B?N2oxMktuY0tDcVQ1R3FLNGVWZTBnTnEzMGNxQWgwejFzN2FxR2o5d3VVcEc2?=
 =?utf-8?B?b3lkZ2xxeHdOeXpick1sN3VNQ1ZYSS8yYks5Vjg2SmxDYW1ndEd3em91L2Nj?=
 =?utf-8?B?dzlOT08zZS9iYzIwYVZoZ01sTkZ2emFseGFva043c1BSNmdqaEs3VzJCajgz?=
 =?utf-8?B?blY2Z2hjMEVmUkxMVGhMRGtKWVI0akxsRmNuSGdzdjJhZVJDWW9LYmtwSTZR?=
 =?utf-8?B?U29hdGRKL1NHaFpERkltL202Z2RKUnFBL0E1RnpjTER6NnZma1NnNkhXSjNS?=
 =?utf-8?B?TldRbkw0b0F6Q2FDK1ZXaVFoMWs3dmwrZk1NYWZxSEtUZGsvRE9ORnJPd1Nt?=
 =?utf-8?B?ekZnY2pTb0ZtbWwveSszTmdkTjFqVnVlU1Q5Z0twZ08zNXdPUGVTc1NacnZp?=
 =?utf-8?B?OXlQN1luSjhLRFlDd2UrZTFYYTI4WlY0cFpXYWlMK0RTUGJDUStIc2dyc3BM?=
 =?utf-8?B?WEt0OVVQcXZCNmxqK1RhbmlrOGpNUUlIaythWlJJMWtlb05qckcvYS9ncEEy?=
 =?utf-8?B?alFrWWNBc3RUdjE5NHpiQ0hRV2RvbHRicE1WTjZqSENrSVl0cjlVYURBUWVs?=
 =?utf-8?B?aDFBTFZNS09XNHpuSU95UEQvUXcvdG9MRmJyb2NqRFVBV1QzVFU0TklwcnBQ?=
 =?utf-8?B?ZURpcUM1SHZVZTJUY0JMS3V1dWVQd2JHNUZYc0p4ZlNkWkQ4K1Y2TVdVRjJY?=
 =?utf-8?B?QnBuK0hSOGl1cGdka3p2NkJaQS9JaWNWcmFQZEUxUUl5Tjc0bXF1UysyNnRB?=
 =?utf-8?B?azNyRG83bWFRUXhQck1KYmVTOUd6VlF5TlpMSTNYL04xN2o0NVFTT2pKNUxu?=
 =?utf-8?B?K2R4cEROeXZ4dFRCdHNHYURLWW0wN0JTdDZpSWE3TFFaMkpMK2FlNXpLdHFl?=
 =?utf-8?B?SkNZVTJwOTJRek15K3FVRkJBZ1ovaFV3VkoremZONERvbzlBeGNTaDJpTWwv?=
 =?utf-8?B?M1cvV1lMZUhUdldkNk44dnJkYTAra1AyS1ZDUnlxbVRxOGJFRTQzVkNETGxP?=
 =?utf-8?B?Vm11L2x2NSt0RmtPK3FGRjZYS2xYRUpJdnhOdVJHcGFrQmExa2NFM084dnpU?=
 =?utf-8?B?NnI2amw5WlI1YUJMc3ZuWjJaUFhwc2hReWc4M0E2eTZ1RmVPUmhkQWJ5L3Uv?=
 =?utf-8?B?WmcwUHBHVGdlcFd5bnlUUUNUNmprNVBXOWZncUt2QzBzQURlSHkvT3hQcko5?=
 =?utf-8?B?RTZFSCtJNk02UmtBTWtEMDhGRjdRTmVFamkzOW8wOTB2VFNwc3dCR1RScDRY?=
 =?utf-8?B?WWNWQjJ4TEhyalpQMWlZak9PRVp1cTA1a0lnTWN3MWMxZ0Y5OExLVXVuQysv?=
 =?utf-8?Q?JHEwaNUNSdEXDitKsqJxZOI8H6hukHeMNs/YyN4?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 32161c43-6ed4-4c7c-e78c-08d96886f5d6
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 11:45:11.0413
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Ye0z1HLSpfYSgjto9UodJXf9mFKbLtUjY4ba7TDG+SU7ORVhCUJhn5EMi24v40JiyRBKwbGM8/GuyELv43y8QcZW+N5C2KFJJi735lCOoiM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5454
X-OriginatorOrg: citrix.com

On 26/08/2021 11:13, Jan Beulich wrote:
> There's neither documentation of what this flag is supposed to mean, nor
> any implementation. With this, don't even bother enclosing the #define-s
> in a __XEN_INTERFACE_VERSION__ conditional, but drop them altogether.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

It was introduced in 4d45702cf0398 along with GNTST_eagain, and the
commit message hints that it is for xen-paging

Furthermore, the first use of GNTST_eagain was in ecb35ecb79e0 for
trying to map/copy a paged-out frame.

Therefore I think it is reasonable to conclude that there was a planned
interaction between GNTMAP_can_fail and paging, which presumably would
have been "don't pull this in from disk if it is paged out".


I think it is fine to drop, as no implementation has ever existed in
Xen, but it would be helpful to have the history summarised in the
commit message.

~Andrew



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 11:54:45 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 11:54:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172948.315583 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJDxx-0000hd-Ar; Thu, 26 Aug 2021 11:54:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172948.315583; Thu, 26 Aug 2021 11:54: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 1mJDxx-0000hW-7l; Thu, 26 Aug 2021 11:54:41 +0000
Received: by outflank-mailman (input) for mailman id 172948;
 Thu, 26 Aug 2021 11:54:39 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=J+8W=NR=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mJDxv-0000hQ-Fe
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 11:54:39 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com (unknown
 [40.107.6.83]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 6325b758-0664-11ec-a9ec-12813bfff9fa;
 Thu, 26 Aug 2021 11:54:37 +0000 (UTC)
Received: from DB6PR0801CA0048.eurprd08.prod.outlook.com (2603:10a6:4:2b::16)
 by AM9PR08MB6289.eurprd08.prod.outlook.com (2603:10a6:20b:2d7::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Thu, 26 Aug
 2021 11:54:35 +0000
Received: from DB5EUR03FT004.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:2b:cafe::31) by DB6PR0801CA0048.outlook.office365.com
 (2603:10a6:4:2b::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17 via Frontend
 Transport; Thu, 26 Aug 2021 11:54:35 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT004.mail.protection.outlook.com (10.152.20.128) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Thu, 26 Aug 2021 11:54:35 +0000
Received: ("Tessian outbound 19a632698c93:v103");
 Thu, 26 Aug 2021 11:54:35 +0000
Received: from 2acefc931bbd.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 107B2DFB-897B-4CE3-940E-ADC1BBD014FF.1; 
 Thu, 26 Aug 2021 11:54:24 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 2acefc931bbd.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 26 Aug 2021 11:54:24 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DBAPR08MB5557.eurprd08.prod.outlook.com (2603:10a6:10:1a1::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Thu, 26 Aug
 2021 11:54:22 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.024; Thu, 26 Aug 2021
 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: 6325b758-0664-11ec-a9ec-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WIpY3vMVqb+2bMaTu9hXc3TN61O7zDHx/erMRumSs8w=;
 b=peE+u8t5LI4m4KbbtGB8Auhn+mujmFNJDC7a6flIJiMlBkGRFxT7NIwJgVqZQpbOMpv4YQiVhHvf/XIJqYeIjhASoB696dbatJ7lA0MQoNm+k4f8eXBECLFiC2k5RhhqcaezPQeIlQkPTeyDXR8nylBBuznK7aavLVwQOQ7JRBU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ius5WIV6eObGN9D796GHXDaUsvPkfB08lPyFOEbFyQtYU8NC74o60f93SvTcEZhCfdjqTaP28IheWdd4DVSbyysxHFKuXopjQaEKqAqlZwRZ3GMVYWDv8QhS0OWT7fEQaGbwfuk2jLgapiH0135AFN43TBPbvp23dA54jnfCtCZQHiKuryqxlrH8be80JQcgNK39aEprDiT7lam5wNuWGznUAVzuEP5iBnB79/VA7nyNY05q0XHwS4w1Kv7F5zNV1vpmJjdd3vGutkfiltxiq+Zc2AcEymIW60ohpyTcQvRVwWqG8i9nGk1amv+e4CCCWXwreCaR93GEH3CN7RUhkQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WIpY3vMVqb+2bMaTu9hXc3TN61O7zDHx/erMRumSs8w=;
 b=KCqXlqbXMbQfjTrF4UG4diBGw2a5hF/j7RLligbqpppF+0PqAaFBolJm7L28WjQuZDvgFs+pI1jykLj/k9KuElnSGM2MFbZaHziYGeQGHDJJ0Z9pHKJd0YwWQdBanAVmnLGhyvHDyuVj/s/SadC+e9pewhacVwiqPlIAew8qspTfwgjrF4KAIaEGGlXo78Dh5jSjNLNSOoqdCVh8OzJU8vj3JHX8AnJhPjIgaz8K2cdjf6w2xIc5owdDAmTnpZhyGpS3JX3GoYYy5CQImzmLKv0cOkDn8ihrVULEf72iZIp9JmRLP1uJkqKKzFRLfmtvNAEVZPc7z6/MyWJKxDHBgg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WIpY3vMVqb+2bMaTu9hXc3TN61O7zDHx/erMRumSs8w=;
 b=peE+u8t5LI4m4KbbtGB8Auhn+mujmFNJDC7a6flIJiMlBkGRFxT7NIwJgVqZQpbOMpv4YQiVhHvf/XIJqYeIjhASoB696dbatJ7lA0MQoNm+k4f8eXBECLFiC2k5RhhqcaezPQeIlQkPTeyDXR8nylBBuznK7aavLVwQOQ7JRBU=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 23/40] xen/arm: introduce a helper to parse device
 tree memory node
Thread-Topic: [XEN RFC PATCH 23/40] xen/arm: introduce a helper to parse
 device tree memory node
Thread-Index: AQHXjps6uVXfLZKD7EKSvvhEptOzS6uEUqiAgAEPgfCAACd7AIAAOfNA
Date: Thu, 26 Aug 2021 11:54:21 +0000
Message-ID:
 <DB9PR08MB6857075036E85928BD83797A9EC79@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-24-wei.chen@arm.com>
 <4bd56df9-f95b-eb19-dbbc-d12b4f7b0668@xen.org>
 <DB9PR08MB6857604B3D4B690F2B8832BD9EC79@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <61189a13-31a5-b75d-f9b5-97f379dfcd99@xen.org>
In-Reply-To: <61189a13-31a5-b75d-f9b5-97f379dfcd99@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 980DF8CAB8F43943BB54A343910CD8E7.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: b09b6960-9fc7-4efb-3374-08d968884681
x-ms-traffictypediagnostic: DBAPR08MB5557:|AM9PR08MB6289:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM9PR08MB6289E0F11B13EF5E94D27CDF9EC79@AM9PR08MB6289.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:9508;OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 e5xhpDGWxQZ7UH413aPs8+84HFXsoWup6kt8vPz7gLq60c/extBpI94GYWsOWdlQE3hUwFS+RemiJpWihUhWD9lVIcplMs4m7mkWtflmjXPTELnYGDoz1SjZMmdYjyAw+dR9HITa4OjDsemtHIc5mApVaPsIN6xKrKWIMXN/hiMTjIpA4hW2fQ9yWHw1jSLHjcFPoQRntGTPrRXuSDEy7a9QrwhHFFz+VVs85G2ZFLyuHODs1opPYsG0AH3e4VkzSu3FgMH8Kno71Tg165pGdKOBf6RRxtJOhtOSlhee5JoR+AItFLimJYps1H2ykDPp/13lIE0w1rXPzD6vwQQBv7Zi/S26Aw62tb/0ld7aACXMAzfWDVw88uDWpuiQz8z2+nfUFVe30a8eJi8f5MMHi+xwqwu9+J7G9dvRZJJ7Jns7G+CcV7oZWAdmy22TXsoTpEsOh2U8zq/KDxBWJb7O/BxMHXaBSKyRp1+bwf9HeKLoVkaiAV7iSeAQEPF0cu0k0xBwL+wLjmjQ6zJTJlsrJpi+rKtGYI1/KSA4+Xmwds6I9JxZ0/qNfe1TkwPv5Kj0lu5Lo9ag0yptAGqczWbdlndaZZA+OQoejReikjB0Ca5WaGxydlw8u36askEH1fkCWFSOPegFQr9mxSbfAFH+vC9lbkDZp90zsSwpKQDjWatVibD+NYjIOfrdP7/EK+aOSVE62HgN9ZhH4rvK5nL3Pg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(39850400004)(396003)(346002)(136003)(376002)(366004)(66556008)(66446008)(86362001)(64756008)(66476007)(38070700005)(26005)(71200400001)(8936002)(76116006)(55016002)(316002)(83380400001)(186003)(2906002)(6506007)(53546011)(122000001)(66946007)(478600001)(9686003)(7696005)(38100700002)(110136005)(33656002)(8676002)(5660300002)(52536014)(4326008);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?ZXFKeERKMHNkU1FpTGpOM0dKRmFoUzF3bUFtVXFicHEvS3UvZHc0QmJsa2k4?=
 =?utf-8?B?N28wM0Y2cklTWWZ3cm9EOEx5RUNPS1VpTS9iWm5oWEYvanRoU0ZBQ1F2M2sz?=
 =?utf-8?B?NXdXWkJBb2NBWW1tOG1odEJxZ01KQ0x5VWhoM1lTWGdnRzdrbm5NY25Tak10?=
 =?utf-8?B?NXRDaEN0aVE3T1U4YU5vQ1EvRkF5OGM0WCtvUHAvVjd5d21wRytxUUVyeDBn?=
 =?utf-8?B?em1LSzhmL21CZzRsSVhvRk80aVBHM2ZRZnVGenlTdkZHQzl2L2xIL2hGWTYy?=
 =?utf-8?B?UjA5K2ZGWUFodjV2S2RvRU5FL241Q0NIRUpGekwvLzZ0WXdHbEkwYUdHVGVC?=
 =?utf-8?B?UVhPVmZ3ZUhKWkswQ29UUlhBZ3phTlVhRTZ4blA0ZWpieUpYa1c4d0VvNFlF?=
 =?utf-8?B?MUFZNTVHL0RuVVpaR3ZoWGhwS0pQQXZMU0V0Z29POTAwdk1FZDA0RVYwc1c2?=
 =?utf-8?B?SzgrZm43NnhLUHdURzFGM2k2MFptNm81MEVnTFNUQnVURVZ3cVpGVUFPVmN6?=
 =?utf-8?B?eHlmK3NNOUR6U3hibGVadUl3d3NSVTlDRzVFZUNaTDI0TGRmTDR5T0xta3dQ?=
 =?utf-8?B?S2x1eWk1RjJmZzBtWlFBV3JxdmI1QUh6K0kreWRTMFR4T01xRlMvY1FMamdj?=
 =?utf-8?B?eHBlTU5MTlZqaWhhaVRERktackl6KzB0eUcvRUlLTEZYdUYvM0RSODMxZnVP?=
 =?utf-8?B?ckc3STdBbXNaZVNhZ0ZKR0tpUlN5czl6YTMwakc3WXcwTUpHMU1qeGdDaHhO?=
 =?utf-8?B?RTB6WWMxSHZrUGlNTVdoQzgrbTRCQ0N4QjVDcERzZUkwRmtwS00xZ0w1T1JG?=
 =?utf-8?B?Rm16TnBzT0FvMFlsL1JoUUF5MmE2em1hN1lINnFwSDhOQ09KR1JIVEtabnFP?=
 =?utf-8?B?czJFQWNWQ1RTeHFUdGFlUGV5RFE3ZksrdnRUblhDR0N4cHRhSmc4YTlQb3pM?=
 =?utf-8?B?eEtRSm5Kcm82di96VUVXZkliWndPNWUvQ3Y5Wm1iVHRqZEFhNzJrN0ZuazVG?=
 =?utf-8?B?MG1aVEdadlJjQkZCT3p4cGVOOW9PcVF1WHFoTTM2dy9mRStNK0hSc2xlTmZz?=
 =?utf-8?B?OWpKYTZEb1FvV2x5dnlLam5ha01TTHoxa2NRVHo0UEVXSDRTTmwyamtyUDhW?=
 =?utf-8?B?ZWxyR1MvcWhIaElHNHptazBLYzNFbFpBWkNJQ3hIUjUyM3ZJVG9EaTlORGdX?=
 =?utf-8?B?QXJwQlVzYWp5emlYU0pqYlRETTl5NHFMa1dlNGcyU1dkQ2YvZS90TVgvUU5P?=
 =?utf-8?B?M0hBN1V2ZS9SL0ZDVmxoaUVOcHhJTHlLTk1ZVjhsRy9NRC9iM0hQeHBIUnh5?=
 =?utf-8?B?eUx1VVhZYjh4VWV1Vk5laFJiTUcyV3I3b3BXaVV5ZlJzaURnQ3FKMStRV0cz?=
 =?utf-8?B?TVE1QjNSSmJ5TXNnblc2ODI4SnRDV1NyT0lTeWl2dnlzN29rdFFScjBLR2ph?=
 =?utf-8?B?TW5BR1c1MmRnVkVyV3UwL2hiRzBsRTNaUUp1K2F5KzIxbUhBbWJ4aFBIZTZ0?=
 =?utf-8?B?OVBvbWpnUExLZUd4RXNHQnV1dk1xbHVxM0FqYkxlMy9MVW9LTjVhWHdXN0o4?=
 =?utf-8?B?a0Q5OWJrY0ROc05GVnJiY1pDVjJlQ1NiNUx1S0RVOHdQQURXdzJJZnNxZ09n?=
 =?utf-8?B?V3ZkUXBvbk1zUHBWMkhtSTBYRVV5UVRVQnZGZXlHQ2M3b1ptNk91UWVYd08y?=
 =?utf-8?B?aVcvSVUvVUN4T1VsNUlvb2hhM0htdDl0dDduTEh2My9HTTl4TzYyNTF0ZlFY?=
 =?utf-8?Q?CMmIxGHpcl4Lo6l4rN5oOR3fmimn1v4dC1Cs/yf?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5557
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT004.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	14b7edb9-0789-4425-ba33-08d968883e66
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	O/Myjhl/nZvvSchDGnMyQVKMgnyT5U2jTaGQ7QMMIKMleM71D3bJDRsGunQOmJAS1vT/WLUnEM6lM6R41fx4fl6/dfgK4kjpm0lg0gBuPTeKmiGv4qWx5TrBnWv9M8mLyIRlI/Q+WeMwtGxtMcvmGGrREdFav9tTbySvHlscrT3ZPHBcxVRqSo7tYQUfH7P+dh5t9Sj0+TonEbvh43T1QOQteDeK8giQfp9l/hkxccLRBjAgZVq0Q7Tr4MYtxJb3OTaTnS31I59AUysLPMZsYOigIUOzXB65pMpMeXS/PlS7oEiuxVswGyWrSfqlYsX+2Pn+hy6uJvgrL13kE00gRGCUed34iIBB7pMIZ4QwmnnMIoC1lce0pfEDCvNMAQHHlCG8o082krrtbVW2cGWvydwN6R4xEHG0HFnqmHT/c6Ci16IWu6uqphdor4188ThFYxPBiXIVzG05c+YdMgUmRahShh7Tm4gcfDzM1qWcM3Hyy3rC4AgmhhFV045wOjHbvtcDMZNi3qoEydjgtWNGkP9olL+xzFty+X0At/+H2szA1+juXilIzyzA5dKr9ue5xN4LxpnlI2s/f322eSXE9uz3x7gLgdNyQ+jguUbvxbAgnFKoMEkkZB+UC1A6QeYoV9bDx0KgXxqkUUwalssNFWUlfn+tV6B50okT7sD3qGWNZbDKgQhFGgX6p20G349jZI1y4eFsbM+2gE2R/SH+Ng==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(136003)(39850400004)(396003)(346002)(376002)(36840700001)(46966006)(316002)(83380400001)(33656002)(336012)(82740400003)(26005)(52536014)(2906002)(110136005)(186003)(36860700001)(86362001)(4326008)(9686003)(55016002)(82310400003)(356005)(5660300002)(8676002)(81166007)(6506007)(53546011)(478600001)(8936002)(47076005)(7696005)(70586007)(70206006);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 11:54:35.7259
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b09b6960-9fc7-4efb-3374-08d968884681
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT004.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6289

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMjbml6UgMTY6MjIN
Cj4gVG86IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgeGVuLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnOw0KPiBzc3RhYmVsbGluaUBrZXJuZWwub3JnDQo+IENjOiBCZXJ0cmFuZCBNYXJx
dWlzIDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+DQo+IFN1YmplY3Q6IFJlOiBbWEVOIFJGQyBQ
QVRDSCAyMy80MF0geGVuL2FybTogaW50cm9kdWNlIGEgaGVscGVyIHRvIHBhcnNlDQo+IGRldmlj
ZSB0cmVlIG1lbW9yeSBub2RlDQo+IA0KPiANCj4gDQo+IE9uIDI2LzA4LzIwMjEgMDc6MzUsIFdl
aSBDaGVuIHdyb3RlOg0KPiA+IEhpIEp1bGllbiwNCj4gDQo+IEhpIFdlaSwNCj4gDQo+ID4+IC0t
LS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+IEZyb206IEp1bGllbiBHcmFsbCA8anVsaWVu
QHhlbi5vcmc+DQo+ID4+IFNlbnQ6IDIwMjHlubQ45pyIMjXml6UgMjE6NDkNCj4gPj4gVG86IFdl
aSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgeGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3Jn
Ow0KPiA+PiBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqYmV1bGljaEBzdXNlLmNvbQ0KPiA+PiBD
YzogQmVydHJhbmQgTWFycXVpcyA8QmVydHJhbmQuTWFycXVpc0Bhcm0uY29tPg0KPiA+PiBTdWJq
ZWN0OiBSZTogW1hFTiBSRkMgUEFUQ0ggMjMvNDBdIHhlbi9hcm06IGludHJvZHVjZSBhIGhlbHBl
ciB0byBwYXJzZQ0KPiA+PiBkZXZpY2UgdHJlZSBtZW1vcnkgbm9kZQ0KPiA+Pg0KPiA+PiBIaSBX
ZWksDQo+ID4+DQo+ID4+IE9uIDExLzA4LzIwMjEgMTE6MjQsIFdlaSBDaGVuIHdyb3RlOg0KPiA+
Pj4gTWVtb3J5IGJsb2NrcycgTlVNQSBJRCBpbmZvcm1hdGlvbiBpcyBzdG9yZWQgaW4gZGV2aWNl
IHRyZWUncw0KPiA+Pj4gbWVtb3J5IG5vZGVzIGFzICJudW1hLW5vZGUtaWQiLiBXZSBuZWVkIGEg
bmV3IGhlbHBlciB0byBwYXJzZQ0KPiA+Pj4gYW5kIHZlcmlmeSB0aGlzIElEIGZyb20gbWVtb3J5
IG5vZGVzLg0KPiA+Pj4NCj4gPj4+IEluIG9yZGVyIHRvIHN1cHBvcnQgbWVtb3J5IGFmZmluaXR5
IGluIGxhdGVyIHVzZSwgdGhlIHZhbGlkDQo+ID4+PiBtZW1vcnkgcmFuZ2VzIGFuZCBOVU1BIElE
IHdpbGwgYmUgc2F2ZWQgdG8gdGFibGVzLg0KPiA+Pj4NCj4gPj4+IFNpZ25lZC1vZmYtYnk6IFdl
aSBDaGVuIDx3ZWkuY2hlbkBhcm0uY29tPg0KPiA+Pj4gLS0tDQo+ID4+PiAgICB4ZW4vYXJjaC9h
cm0vbnVtYV9kZXZpY2VfdHJlZS5jIHwgMTMwDQo+ICsrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrDQo+ID4+PiAgICAxIGZpbGUgY2hhbmdlZCwgMTMwIGluc2VydGlvbnMoKykNCj4gPj4+
DQo+ID4+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL251bWFfZGV2aWNlX3RyZWUuYw0KPiA+
PiBiL3hlbi9hcmNoL2FybS9udW1hX2RldmljZV90cmVlLmMNCj4gPj4+IGluZGV4IDM3Y2M1NmFj
ZjMuLmJiZTA4MWRjZDEgMTAwNjQ0DQo+ID4+PiAtLS0gYS94ZW4vYXJjaC9hcm0vbnVtYV9kZXZp
Y2VfdHJlZS5jDQo+ID4+PiArKysgYi94ZW4vYXJjaC9hcm0vbnVtYV9kZXZpY2VfdHJlZS5jDQo+
ID4+PiBAQCAtMjAsMTEgKzIwLDEzIEBADQo+ID4+PiAgICAjaW5jbHVkZSA8eGVuL2luaXQuaD4N
Cj4gPj4+ICAgICNpbmNsdWRlIDx4ZW4vbm9kZW1hc2suaD4NCj4gPj4+ICAgICNpbmNsdWRlIDx4
ZW4vbnVtYS5oPg0KPiA+Pj4gKyNpbmNsdWRlIDx4ZW4vbGliZmR0L2xpYmZkdC5oPg0KPiA+Pj4g
ICAgI2luY2x1ZGUgPHhlbi9kZXZpY2VfdHJlZS5oPg0KPiA+Pj4gICAgI2luY2x1ZGUgPGFzbS9z
ZXR1cC5oPg0KPiA+Pj4NCj4gPj4+ICAgIHM4IGRldmljZV90cmVlX251bWEgPSAwOw0KPiA+Pj4g
ICAgc3RhdGljIG5vZGVtYXNrX3QgcHJvY2Vzc29yX25vZGVzX3BhcnNlZCBfX2luaXRkYXRhOw0K
PiA+Pj4gK3N0YXRpYyBub2RlbWFza190IG1lbW9yeV9ub2Rlc19wYXJzZWQgX19pbml0ZGF0YTsN
Cj4gPj4+DQo+ID4+PiAgICBzdGF0aWMgaW50IHNyYXRfZGlzYWJsZWQodm9pZCkNCj4gPj4+ICAg
IHsNCj4gPj4+IEBAIC01NSw2ICs1Nyw3OSBAQCBzdGF0aWMgaW50IF9faW5pdA0KPiA+PiBkdGJf
bnVtYV9wcm9jZXNzb3JfYWZmaW5pdHlfaW5pdChub2RlaWRfdCBub2RlKQ0KPiA+Pj4gICAgICAg
IHJldHVybiAwOw0KPiA+Pj4gICAgfQ0KPiA+Pj4NCj4gPj4+ICsvKiBDYWxsYmFjayBmb3IgcGFy
c2luZyBvZiB0aGUgbWVtb3J5IHJlZ2lvbnMgYWZmaW5pdHkgKi8NCj4gPj4+ICtzdGF0aWMgaW50
IF9faW5pdCBkdGJfbnVtYV9tZW1vcnlfYWZmaW5pdHlfaW5pdChub2RlaWRfdCBub2RlLA0KPiA+
Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZHJfdCBzdGFydCwgcGFkZHJf
dCBzaXplKQ0KPiA+Pj4gK3sNCj4gPj4NCj4gPj4gVGhlIGltcGxlbWVudGF0aW9uIG9mIHRoaXMg
ZnVuY3Rpb24gaXMgcXVpdGUgc2ltaWxhciBvdCB0aGUgQUNQSQ0KPiA+PiB2ZXJzaW9uLiBDYW4g
dGhpcyBiZSBhYnN0cmFjdGVkPw0KPiA+DQo+ID4gSW4gbXkgZHJhZnQsIEkgaGFkIHRyaWVkIHRv
IG1lcmdlIEFDUEkgYW5kIERUQiB2ZXJzaW9ucyBpbiBvbmUNCj4gPiBmdW5jdGlvbi4gSSBpbnRy
b2R1Y2VkIGEgbnVtYmVyIG9mICJpZiBlbHNlIiB0byBkaXN0aW5ndWlzaCBBQ1BJDQo+ID4gZnJv
bSBEVEIsIGVzcGVjaWFsbHkgQUNQSSBob3RwbHVnLiBUaGUgZnVuY3Rpb24gc2VlbXMgdmVyeSBt
ZXNzeS4NCj4gPiBOb3QgZW5vdWdoIGJlbmVmaXRzIHRvIG1ha2UgdXAgZm9yIHRoZSBtZXNzLCBz
byBJIGdhdmUgdXAuDQo+IA0KPiBJdCB0aGluayB5b3UgY2FuIGdldCBhd2F5IGZyb20gZGlzdGlu
Z3Vpc2hpbmcgYmV0d2VlbiBBQ1BJIGFuZCBEVCBpbg0KPiB0aGF0IGhlbHBlcjoNCj4gICAgKiBt
YS0+ZmxhZ3MgJiBBQ1BJX1NSQVRfTUVNX0hPVFBMVUdHQUJMRSBjb3VsZCBiZSByZXBsYWNlIGJ5
IGFuDQo+IGFyZ3VtZW50IGluZGljYXRpbmcgd2hldGhlciB0aGUgcmVnaW9uIGlzIGhvdHBsdWdn
YWJsZSAodGhpcyB3b3VsZA0KPiBhbHdheXMgYmUgZmFsc2UgZm9yIERUKQ0KPiAgICAqIEFjY2Vz
cyB0byBtZW1ibGtfaG90cGx1ZyBjYW4gYmUgc3R1YmJlZCAoaW4gdGhlIGZ1dHVyZSB3ZSBtYXkg
d2FudA0KPiB0byBjb25zaWRlciBtZW1vcnkgaG90cGx1ZyBldmVuIG9uIEFybSkuDQo+IA0KPiBE
byB5b3Ugc3RpbGwgaGF2ZSB0aGUgImlmIGVsc2UiIHZlcnNpb24/IElmIHNvIGNhbiB5b3UgcG9z
dCBpdD8NCj4gDQoNCkkganVzdCB0cmllZCB0byBkbyB0aGF0IGluIGRyYWZ0IHByb2Nlc3MsIGJl
Y2F1c2UgSSB3YXMgbm90IHNhdGlzZmllZA0Kd2l0aCB0aGUgY2hhbmdlcywgSSBoYXZlbid0IHNh
dmVkIHRoZW0gYXMgYSBwYXRjaC4NCg0KSSB0aGluayB5b3VyIHN1Z2dlc3Rpb25zIGFyZSB3b3J0
aCB0byB0cnkgYWdhaW4sIEkgd2lsbCBkbyBpdA0KaW4gbmV4dCB2ZXJzaW9uLg0KDQoNCj4gQ2hl
ZXJzLA0KPiANCj4gLS0NCj4gSnVsaWVuIEdyYWxsDQo=


From xen-devel-bounces@lists.xenproject.org Thu Aug 26 11:58:02 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 11:58:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172954.315595 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJE1A-0001M4-R3; Thu, 26 Aug 2021 11:58:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172954.315595; Thu, 26 Aug 2021 11:58:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJE1A-0001Lx-Nf; Thu, 26 Aug 2021 11:58:00 +0000
Received: by outflank-mailman (input) for mailman id 172954;
 Thu, 26 Aug 2021 11:57:59 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=q24O=NR=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mJE19-0001Lr-AP
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 11:57:59 +0000
Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id dabe89e8-0664-11ec-a9ec-12813bfff9fa;
 Thu, 26 Aug 2021 11:57: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: dabe89e8-0664-11ec-a9ec-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629979078;
  h=to:cc:references:from:subject:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=6OIeHmCXGd3cZETkQYZCD/HejpGdbKLaSceHvX0G5AI=;
  b=felocombpPR/tIms3PMoEwFHKyNeA4Mu7R08JmoAM1iPRke1vVI3Y+CZ
   IdduwyOiX6dM2vEl1eWwmrKqY9hm/YmiVWItuCU0dcYikF4tjTJtvH9+R
   beZ8Lb8cAFMjIeiEIaEDdgKX9fTiPHudHaER425jmmGzAGmK4KSrV9Xp6
   E=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: YI3Hl2UGxYjr8dNhEb+1v/auC0rvJOhvHgSnaL/SBXc30YrfBFwNNOO8tGSD1FQPiMCH7uOJsa
 fiWyjWF7Jh5SlHdHWzKHhQOJ6/C0XiH+2lueWcwhD2BnMhQbZLX3MTPFwac8GPUoytZpShP5cC
 1fQa/WL18s9ewdeXc3s+CIV+qGfdjfxqEMucAqN9Q/QPXIWhSdraiNJikVg1Ef6QmDRYFMwLfz
 cT1+jgdXS1ydCdoE+rZ2YVd9Vea3iVxodWkqo5xlHOUlqrGMnAm5H3WElBHFh5IE2eeVTdYkpU
 BnJmNUxNtObMfnFisDPovI7B
X-SBRS: 5.1
X-MesageID: 51356675
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:vbvRyaMtjAzJbcBcT1b155DYdb4zR+YMi2TDiHofdfUFSKClfp
 6V8cjztSWUtN4QMEtQ/OxoS5PwPk80kqQFnbX5XI3SITUO3VHHEGgM1/qb/9SNIVyYygcZ79
 YbT0EcMqyBMbEZt7eC3ODQKb9Jq7PmgcPY99s2jU0dKT2CA5sQnjuRYTzrdHGeKjM2Z6bRWK
 Dsnfau8FGbCAoqh4mAdzU4dtmGg+eOuIPtYBYACRJiwA6SjQmw4Lq/NxSDxB8RXx5G3L9nqA
 H+4kLEz5Tml8v+5g7X1mfV4ZgTsNz9yuFbDMjJrsQOMD3jhiuheYwkcbyfuzIepv2p9T8R4Z
 bxiiZlG/42x2Laf2mzrxeo8w780Aw243un8lOciWuLm72zeBsKT+56wa5JeBrQ7EQt+Ptm1r
 hQ4m6fv51LSTvdgSXU/bHzJlJXv3vxhUBnvf8YjnRZX4dbQqRWt5Yj8ERcF4pFND7m6bogDP
 JlAKjnlbZrmGuhHjXkV1RUsZiRtixZJGbAfqFCgL3V79FupgE686NCr/Zv2EvpnfkGOup5D+
 etCNUhqFgBdL5OUUtHPpZ0fSKAMB2Fffv9ChPmHb3ZLtBxB5vske+83Fxn3pDmRHQ3pKFC7q
 gpFmko7VIPRw==
X-IronPort-AV: E=Sophos;i="5.84,353,1620705600"; 
   d="scan'208";a="51356675"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fNtDMpEj/HWoFZ+ygrYRyjMfLHtbKlrjuEs3AZ9oqlEnV+TgXucSsiSyeiAIDs5emmZPgS+yPU/Pnu5/nX2GkUIIWt0LQctCVtvQNgZvEA+HlqoaemFOhawap9mE1rOOCUs5xBw3KRXkiJlZtKNE8E3feOjrqeIewOZtoVz3n+MOqpKEXbITKvd2qfZNm5auamEb4hhXR8nqzUcG+YiNUUVGcI7t8R61H5Xda/oVrynzHerPElSUtlcG0pv+xJhrRwhGW4BXbUvIBNDQobkat/kEN5oeeSuYmAUzI8sWRpIJ3HOixLrm5KFn3mfD6Ulqwyyt6uS0Gc5vUfUfE2a7WA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6OIeHmCXGd3cZETkQYZCD/HejpGdbKLaSceHvX0G5AI=;
 b=PEaz9Eq1tBde7umfm7Xcvk2bFL+b0EUUUzTU5G0kTTNEswN6QOrc/SA6w/hloNWy6AaDuQWd468FL1SrwjUBS3+6ytUD3cyRt+jAoGk4h2ylJKgP3brONrFlk5TdRWDeq57QKR4o6HymPVZ8G64mxwyIyKJPO3WfTwF0YDCDcqBjRu8hEDxis9ZoRaxK+V2dRmpPKZR6LK2MV3pfV5g3+Kqik8oOCefMoc+ZRFxNPcx3K11xi+zxWoaKvDHLJe73F3a/Kej/GVTvVG71tEAUPL4hOsLM17GbP5UiA+rVid1MwdL0z6pWrS3ShogUSy56mKGBZ66pnEkWqo2ZSAx8TQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6OIeHmCXGd3cZETkQYZCD/HejpGdbKLaSceHvX0G5AI=;
 b=TJ+Yisc7dNNJz30Vyzh75gW6yuffhdP0vETziaMwzNtzsZaNRannLJ3vSbFg5wUgio/X3cz6p6FqY0OtrdBkMYSf5xWksjxHuqLznDqD2P7ewlQJjeIzs6umaNdMKyk0ZOz2YpajEDW6MlPp52hA452iZ9y1Rf/uHKmiZzPwEQs=
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Paul Durrant <paul@xen.org>
References: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
 <5d6e8360-7ba8-487e-0ac8-7f517e560520@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 07/17] IOMMU/x86: restrict IO-APIC mappings for PV Dom0
Message-ID: <42aa8c24-7f23-deec-6103-f2d556e4a9f9@citrix.com>
Date: Thu, 26 Aug 2021 12:57:48 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <5d6e8360-7ba8-487e-0ac8-7f517e560520@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-GB
X-ClientProxiedBy: LO4P123CA0329.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18c::10) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f587c8c0-467c-44c9-c49d-08d96888bcf2
X-MS-TrafficTypeDiagnostic: BYAPR03MB3799:
X-Microsoft-Antispam-PRVS: <BYAPR03MB3799BD36D183578E404F130EBAC79@BYAPR03MB3799.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: TsbVTsiM0eMZkGKmGD6XCM3X0doFZRscQZ/ggo6G5GRT/oZMQPHYmXRtbRPiVOgCMYlYvShrgfyD9hQUn6ykyQwWFtyn9AIyH01mXPQLYIb7oZ5Ay4tChaNGpeOC8T62yiwUBLALKQIlga1uhSGrwd/zLWZDGsaMNIULOJkkmukIzni8tCuAvutX9GnJi8GuOeK7QB8ica2xl55twZQZK4Ubh9pCaORfy8AW9lC8M4Jg96is8V7OqCnKORJ2Fw5cJh9xbHu2IlfC+JlleyxYvIrSR1CiflPMv4kdcd+RUpO9y/4PDH9Y0QoBF976rEHGWa/mc8BwUTgh+zCv3ym0FQeO+XaIvIlQUulW6COGVER0KzhJFjwsdyfuRM48Vx1+xjIUxxfk2Horxl32EJRzpKecZ5biJOtYxdqyNU5WVkyN4WWFHnbEfUEsIenRQNIjxq2BhYVgEz2RY6dXX+KH9LwKTA5iBhaL/fCTygBhumNelcpJ5K1GtZsbmo8JD79qaRI9DPHgxc5F+IVwjcouTgY/2zM15+D1De4ZS0/X6xWVb4w0sHhxm05i1zee3MStWN6csJi5VBwlFapLzah4on7Db7MwnoR46JXS+9DTX8ZgHV4P90OupqCj1v3UaVEnLCEfCmq5kBj7wwcvBitE+OWlbNsnKINFn6i4tnQJR2EOhhc9ttV1YtCB8bGFIrQ1Ix+S5JoZh9zD7rDkQIUuEQshq2Sw8HBIb/9BQWDACiY=
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:(4636009)(396003)(136003)(366004)(346002)(39860400002)(376002)(6486002)(478600001)(26005)(38100700002)(2906002)(6666004)(53546011)(186003)(36756003)(4326008)(55236004)(316002)(956004)(66476007)(31696002)(66946007)(2616005)(86362001)(66556008)(110136005)(8676002)(5660300002)(16576012)(31686004)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?M1hwK2drck0xUHpPbllBSjN3eVdybDliWVpsL2FQSTVsVmVOT2R0MndnN2kv?=
 =?utf-8?B?UC9sb2xFRVpPbE5vRys1V0M3NU9VZTExOUVPRUFwZTJNWG54dmhuTmlsYmJT?=
 =?utf-8?B?ZUFla2hGcEppcFFFZGJ2eExyM1g5dHdwNmliOStoWWs3TmNudkhKUG5VTjlQ?=
 =?utf-8?B?VXpMNUtZQlBNRW9nK0NpOWwrSzhzK0o5T1IwSkRrU1lHRythMzM5U1J4RFE2?=
 =?utf-8?B?aFBPT3QyV3RoRVRvQWg2RTNPYTNoeUR5QmEyTDZWaXl5Y05wd1FISk1IMkZj?=
 =?utf-8?B?ckVpcjdvRUE0S3hudVF6eFQyZHZsUzljYlBXNjBaekVnenA3MTg5R1FCMEYw?=
 =?utf-8?B?Uld1Mkk4S3pkRkxvTS9zaUNQQlN6RzJSRXR2UTdrNkFPM3lxVEwwNm13RHFo?=
 =?utf-8?B?RmdCZDVyVUVwWGRPT2JnSmxCM0FTZjNKK0N3V3hGUE0zK3pNRW9hNHVsNnhH?=
 =?utf-8?B?alBFYWJtVS9nQnJDUTVPSG1LSFlUdWw2SVRsQSt2QWJsQ1lONWtXWEZTZ0ZT?=
 =?utf-8?B?cWtFSEdDeGFEaFJScUFRMXlnT2g0VnlOWEdYbmlyVzl3TjBqeXpHWGZEbU1L?=
 =?utf-8?B?S2UzMHI0NG5hRlQ5TW5nNG5hbHoxTjNoYWVkaUlySkdLTHJJQzBzZGlMM1NC?=
 =?utf-8?B?dXpxQWIvbmVqdzRBdVJGTUtMejRYcnlPSDZHczlCOFlnSXRQM3dYSWR2aDBt?=
 =?utf-8?B?R2tsZGtoRzNlbGQyeHFZYW0vbzhqUWVaUWRDR1FETWtkZkVYT09jOWpjME9M?=
 =?utf-8?B?eHVKbXd4OUp5SEF5emphZ045ZU1qYzU1VmNqdElWVzFCVmViUzhBM1NkdkFq?=
 =?utf-8?B?NmtvRmh3elZMdERRcXRuWFUxdFdobThNMVVxcVFkb2xOV0NpdWxkQk5PdEJi?=
 =?utf-8?B?VDlJcVJMVloyU1lVb1djTEhhQ3lNcEF6YkZiZm5wQUdRY0hSbk1sSWpkMzl3?=
 =?utf-8?B?bDBEQ0twNDIxTDB0QUtiNXBvak1CaXBlNzluSUJRcFcrMEFGelZjUEhYM1NL?=
 =?utf-8?B?bXJFVkxZd0tRMzhoZ3hYa2FJSEpsSFRnbzJPVzUwSjU3eFgwbUlvaVFycXk3?=
 =?utf-8?B?RjA4NnViOWE5RGFWeGd4T1VJZGpuYnhSaVdYZDN6ZGhIQS9Sb2tCVStCeENy?=
 =?utf-8?B?V3poRVA2ZVJIUDdZK01nT1VrNmRsdVVob1YzNW1zSXBZWkRTdTFoaklSSXBM?=
 =?utf-8?B?Z3hOZTU5LytxZFpza3ZkcEc3aDFhWFVHWngyTGhJeGNtVGxaMFBVVHh2L2hn?=
 =?utf-8?B?VXJQb1huU3ZpOXJiVnpNbEpaeU5Pa2Rka0ZPSGpTVUR5T0dwLy9WbXF4b1NL?=
 =?utf-8?B?d3A0akk4NktUZDN1QW1VUWorVFh4MU12NEZXMTIvdXp6bEoyVEJTNWdjcTVs?=
 =?utf-8?B?YWQ1M3VFYUQyOXNmaks3SnVPajU2OWFsKzNoejdvT09xMDlQQURqUS91bUxF?=
 =?utf-8?B?MVRzd1NhVm4wNk83NlNxRFVsamtaeUxRNlM1OWxVeUZXQ2gvUDZCblc3R3Iw?=
 =?utf-8?B?ektkeU1hWXcrOTFhOFJwd21mV2pBeS9jQW0vRE44L2M4NXVMOWVjU3NqS2pB?=
 =?utf-8?B?cm5HVmhzcXFIQ1dlazFUM0N6d05WZnlMRnkxcDF4K0UraXhmVnhIbXJIKzhM?=
 =?utf-8?B?RU4wU1VlZUhpeTNGNzFVeTlyRUNlQU1ZM3JuUlBOalBlaFIwV0tJOXFhbXU3?=
 =?utf-8?B?SUwra1FZZVlXRzlaaHUwNmNCZzljMURGRWorUWFpVUJCM21rUk5mTWtNTU0v?=
 =?utf-8?Q?RQYs8H4zq3NeBtOoG8SLTgVSBgPWj2to78go/2J?=
X-MS-Exchange-CrossTenant-Network-Message-Id: f587c8c0-467c-44c9-c49d-08d96888bcf2
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 11:57:54.5562
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: dt6vQ+kwIz4cUUGYkyxLgoTQYcnpSeKffrQ3d7NzmIZ5On1scoLp43569yL/HwYprvxLa4fq9P6GqrvFVpwMXTt9XBzQ20nhQMm6RyXSkfs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB3799
X-OriginatorOrg: citrix.com

On 24/08/2021 15:21, Jan Beulich wrote:
> While already the case for PVH, there's no reason to treat PV
> differently here, though of course the addresses get taken from another
> source in this case. Except that, to match CPU side mappings, by default
> we permit r/o ones. This then also means we now deal consistently with
> IO-APICs whose MMIO is or is not covered by E820 reserved regions.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Why do we give PV dom0 a mapping of the IO-APIC?=C2=A0 Having thought about
it, it cannot possibly be usable.

IO-APICs use a indirect window, and Xen doesn't perform any
write-emulation (that I can see), so the guest can't even read the data
register and work out which register it represents.=C2=A0 It also can't do =
an
atomic 64bit read across the index and data registers, as that is
explicitly undefined behaviour in the IO-APIC spec.

On the other hand, we do have PHYSDEVOP_apic_{read,write} which, despite
the name, is for the IO-APIC not the LAPIC, and I bet these hypercalls
where introduced upon discovering that a read-only mapping of the
IO-APIC it totally useless.

I think we can safely not expose the IO-APICs to PV dom0 at all, which
simplifies the memory handling further.

~Andrew



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 12:05:39 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 12:05:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172965.315605 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJE8U-0003DF-W7; Thu, 26 Aug 2021 12:05:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172965.315605; Thu, 26 Aug 2021 12:05:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJE8U-0003D8-T1; Thu, 26 Aug 2021 12:05:34 +0000
Received: by outflank-mailman (input) for mailman id 172965;
 Thu, 26 Aug 2021 12:05:33 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=q24O=NR=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mJE8T-0003D2-Q1
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 12:05:33 +0000
Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id e995707a-0665-11ec-a9ee-12813bfff9fa;
 Thu, 26 Aug 2021 12:05: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: e995707a-0665-11ec-a9ee-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629979532;
  h=subject:to:cc:references:from:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=UF5/bYvBMgEZ039AVS+SOwUWI7+x5rc+r6XAwf2ibKA=;
  b=X1XMeIK87NnBMzf7wNPHkxZ1t1rNoTaQF/eJe53K+DgFVQql6L8LCC1l
   h2+OUNhcTV/4UHvpOcjrYq5TgF07T5va1A00MkHDu7YkOADPhxbIyjTpH
   LurPzFkdfffj1XchdlivOLv29aPvqN3xfQ/itN31bilhgHcJH1ELGfHtw
   w=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: Ty+41LiYL5WHjt0RJ2l3UyTtmP1nfE/iA9qi+SI4wRbJdrJQ7+46PA9SVX6Bb3EBWUea+QhhsW
 +Mm8nV/Y3pIPqStRB2zxloAIZmYaUivL+VCjISRz7KhMC9Zjo4JRty8SiNkNYvK9Lv9DgoJ003
 r0XyoSzU1sWTqFyVkEJah19zKylJXOTGwfZlYsYKjSbOHubW1L5U4cRdusXDqEvVF7YxebZhiy
 xCnDLADEq7OJeA+4sxeQDGzuQDfRBjf3kY7Nn1nNKM8cJFLQ57d8p3fDLqIvKi5aJrRH185PsG
 P6VexbVjJwRQGVpS8gVO02Cj
X-SBRS: 5.1
X-MesageID: 53091028
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:+OXDgKEeXhQOolmmpLqEEseALOsnbusQ8zAXPiBKJCC9vPb5qy
 nOpoV+6faQslwssR4b9uxoVJPvfZq+z+8R3WByB8bAYOCOggLBQL2KhbGI/9SKIVydygcy78
 Zdm6gVMqyMMbB55/yKnDVRxbwbsaa6GKPDv5ah8590JzsaDJ2Jd21Ce32m+ksdfnghObMJUK
 Cyy+BgvDSadXEefq2AdwM4t7iqnayzqHr+CyR2fyIa1A==
X-IronPort-AV: E=Sophos;i="5.84,353,1620705600"; 
   d="scan'208";a="53091028"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=O1cCOIAjBN5+h0hyz7bwtfLxP5k96fifONrg9ux12h75s3XyQ+UfIBYAzZS4sgpiu/zzu/G22PpOW+4T6P4QahIMaNIvyqZXudOaktG1SovHuGXMErxzS6bx75T9fH3SDNyNa3lZuZpgAyqek44aGiA55J+3NReb7WIJ8fdmcjB6cWHf3Jf5/0vsLbumTB5MhQv9MDcDRKMWy4rX+XonXl42sCFXunl6J7UIj33XyqxefgnMfzh9dDzjvc8Jmn697oUKKgMyZjSQb36vfqwYXJFg4zmdy4a9z9ZrYJiLCAX5R/tUwwWxXNLfOuUWNgOkuKBziQU4VO16u7E07PxKjQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CW4zszwH+uMfb+wAtRh/cHck6dERhPvuR6MygtVQZZ4=;
 b=oMkOoVnaeA/rGVnAv2XkC6umfZ4G4r78eix/Tz4LdsFu2ay3AJXLst3LTl8IFVKPNWkrorxj/Cg6RQx5uqIhcXcE2G+UQU0mTQQHBEiPLWokNwuE1lfr6p0R3z/i2YCLvZ3ddGqXDktrpzxxAmPCNyvgTIIXVVz05um70jg4KMdRA5SfahhdyfUSdLQ3rhAap/JHvr+xO24EfAJu25CUZ39ZubsvJtCETS/vwojaWdiZyCa0y4tocLXPnkWcahirNzqN9dPSZ2BVqbR/VBNkMLEGe/1GupY1Pe+UKNcPiIe2JdbFUCTMHbHViVHX8jIN8c60Evv3AAAcFgLOzU+utw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CW4zszwH+uMfb+wAtRh/cHck6dERhPvuR6MygtVQZZ4=;
 b=uApIKe7zRX5DJBrJUhVY9wbqI5FOlScXG9GJo5+vjY52MmhvnIqgSCn5wUx2HoofITU2zVAnQrrZuvhD721uaySU71pAU4K9DfQHbP+zRQ68jky3HpwFg6Q8zJMxAu5gB/cfHY7cxZ6sln0w7IKWsVbKba3Ku0jonI7BWUd3d7w=
Subject: Re: [PATCH 17/17] IOMMU/x86: drop pointless NULL checks
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Paul Durrant <paul@xen.org>, Kevin Tian <kevin.tian@intel.com>
References: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
 <25ad2429-df7d-95c6-ec70-4b23e6a023a2@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Message-ID: <e0092044-be36-800c-5909-6bd21de9b5e3@citrix.com>
Date: Thu, 26 Aug 2021 13:05:22 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <25ad2429-df7d-95c6-ec70-4b23e6a023a2@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Content-Language: en-GB
X-ClientProxiedBy: LO4P265CA0005.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2ad::17) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 7c4167da-e730-4a48-c4ca-08d96889cc1f
X-MS-TrafficTypeDiagnostic: SJ0PR03MB5934:
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr
X-Microsoft-Antispam-PRVS: <SJ0PR03MB5934AB9E47F0C8D78D04B21BBAC79@SJ0PR03MB5934.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:1148;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: pQmej5YzBFfeaIKCGJc7FPQbbIKC3FsQmPROCXSox3z1LMfSjIUFjuSFYVCVdZO1keFLmm2rlYdor7qoHlRfFfgpickAVm/Wj3jWbvTZS+Xkyknl/0wTEazcTcspRLkjWM7NVwX9AbVaRPQKoDamdOEdOl+mI4jB4gu8WQDKJKBV/dsdvRqK4BpbonGl/ZERZm+4WuFkJuyJztplW0hHxEdo4BBXycG/GdadoqAL8Cw3gIQwnbuy+rTP8fiwUBtmkwIrmrwyY7lfIYA3GkVn9yM3s2WbbVRvhw7YYS4r+PUXVfdP6mn6RTP8hWAq7Qarr6yYzzU0/gVlz5V9F9dhjZ+5gjNSlQscf5wq/BiZla9FMBVXaZBQwP3UNU/s2m7p5ZVFiroPoW7nf0lo4UbPhMNZ5JkMEsmreUTgB2R3GGu4P/8/5xGxiHV3nr6jbweZss+omEGPT25dsKeDC+tyj7diKBmH0EBLcZxwWYssdpo1N13TlSWbQciSAVhqeJNHyz0P1A7HpDDFGABl7djPIQd5jAHharwJzryOf5RNdTs5c0FwwCTlpXN8qSmIH/XJbtWWqKaJejDCgduoWNjLFb/oP11iIV89Cu3E1ThMoqJ1388pBGhhsl5ttuo3HsWVI/50bcxZRa0WyYcwylnhg44/zGJl5U/Ni5D5vV7vKpHimOK2Q8tkKQ34tWkDj75Q39UX+KKIst14Uafz0XzjTm92pI8IL5rx8DBRtOfVkzU=
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:(4636009)(366004)(16576012)(316002)(5660300002)(38100700002)(2906002)(55236004)(86362001)(4744005)(53546011)(6666004)(110136005)(26005)(54906003)(186003)(4326008)(31696002)(8676002)(66556008)(66476007)(508600001)(66946007)(6486002)(956004)(36756003)(2616005)(31686004)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?QkxFa0QveG1vb01uZzJwL0hjOXlBTmxqL1VLcTdDRGZpQkZPUTZQWGRxMzJJ?=
 =?utf-8?B?ZFg4UkR2NUVqbHRtOFZaeTBCb0p3Y2FhWG9TbWxUckt4QkN0eUtnTW9aK1Bk?=
 =?utf-8?B?WnZVUlBWQWU4M0l6T2VPSzd0WXI0SzRiYzkyenlKblVRSmk1aDBtb1d1YXVx?=
 =?utf-8?B?L1VUUWVpZ20vcy9ZQjgzYXp1L3hXbXdvQTdGQUZydWhjQ2dpemNGV2Y5L0I0?=
 =?utf-8?B?U1VRRGFIYkV4SkNWMU43ZGdoV0N1akh3bE4wQ3pqM3pOejd2ZzMwSjNaUmho?=
 =?utf-8?B?YUZBWHR1bkhPZEpCOTk5dnJtNWNZeDdidmJnZ1FhN3FlMTJEWFFJaHBzc3ZX?=
 =?utf-8?B?QnRPTTltaEp0bkx0NFFDL1dla290cnVUZ2c4QTZ4VTNrZ0RmdjIzRmhWOW1a?=
 =?utf-8?B?ZSs1OEo1S0xLdE1HRVErSXgzUlNBcFdWb3VWMXRRR0lIQ1gwZ1pWKy9HWDVU?=
 =?utf-8?B?amxScjVRYWR6dUF4dnJ4RzhEZ05MT1pGVVpycnNLR3FGRkJnSnRVS3hhejJQ?=
 =?utf-8?B?TENQVHk2RXUyL0RzazdLWTZsYkdOKzR4NHZBV2xTU0NtUlFNdWJESGFhNExE?=
 =?utf-8?B?aHUzS3dsdFlQMHlBcUdTUU1WNzJlOWxLMHo2VGkyZWM5NkRLdXZMTjNUODQ0?=
 =?utf-8?B?cmk2WGlSZ29keTlxZDhtMGlzQXU3SzJtTzRkY05PelowRUdKek5zdzhSdUhM?=
 =?utf-8?B?NlM5bkRLandKUUFJbVJyUGE5VG1QN2p5dWRZQkg2RnZucXk3WFlsY1VvdXNz?=
 =?utf-8?B?OTdudEo3b3M3ck9zVlFSaXg4dlFndlcwQ21Xdm5aZnU2V0wwblVNaWpEQTlU?=
 =?utf-8?B?eXpUeFdJcmxaVG1POU1rQ21CV09pT2pFdHYwZVRtTmN4TjhGdUsreWVHdHVW?=
 =?utf-8?B?VklmS245eEJmLzBYWjE1WHRJRm1CbG5PbUdWWGFnZkRGWFYvRnM1N2JVVVBS?=
 =?utf-8?B?em04Mk90OW9nRDh3YnZGc1NpVnlMN2kyMUVEYVJabWZSVk5XRG1WK216Vis4?=
 =?utf-8?B?TjBGUFBSVlZuMk0xbCtRNDhiYUFUWHdlTFg0NGRwcmNSaTF5SkExWWV3QzRX?=
 =?utf-8?B?d0d6Yzgzb3M2aExOVmRWcVpGWUVjcnVXQ3lZcjIvZjNUcE01U1YzZVZDVkts?=
 =?utf-8?B?MjFDVkpwZm5qc0loL3RjU2JpN2dNcnB3dThqbHNKYUtzRTFLenljS0RzVGhG?=
 =?utf-8?B?WEJ4dVZacHN3WFB3V0o3S1VUL0xmc1l5Y01Ub0JrTy93a05yVWdGRFRRUzlB?=
 =?utf-8?B?d0IrNlNUUnp6cGNtOTZ6dWtpUXd4cUdObkFHYU5PZ29wRVVGaWpucm1KMUxF?=
 =?utf-8?B?bmNhY2tmYVNkT3FnRDA0cjA5UkZqRFE5T0o0N2Z1S3VRVVZZdlpidTZMdHJu?=
 =?utf-8?B?MGs2L2NnZ1N1Rk1wTzQyZ1BmanZDN2pkUUJpeW9ubUJDeUpqbXVzWExKV3Jm?=
 =?utf-8?B?eExwRStSV1pVaUZRMHg2d2dVTXZ5ckxBUmlpcko1NGswVjVvRE04NEhRdHdx?=
 =?utf-8?B?U2NMMWtIb25ydjhTeHpacEh0M3RSQUo4eGVWeXVSc0VzN2kyYWV2QnFBcEZr?=
 =?utf-8?B?OU5UbjI1VitXZGVRZUFxaU0yenp0Ti92ZzJhRGgrT3d5VnpRc0UrcXk5OTZC?=
 =?utf-8?B?ajF6c2YwMDYvd3Zza0pnZmx1eHJ6bExMcEVyZE40akpZVzMrNmdWSm5IM3NV?=
 =?utf-8?B?NnNMTmFTRXBaUEkxOWRZY1dnbVNrTlpwUi9xNUlHTDl6dG5HN3YxdEZPVnRS?=
 =?utf-8?Q?ELJcCIJYFcaoUHoWIRlCEfPXZ5Acp0VPYYIkToD?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 7c4167da-e730-4a48-c4ca-08d96889cc1f
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 12:05:29.5397
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /01t2ieq99EwIpIzyoeUECKi3CBr16Edbm8++3RtQbHt9xLN9rPlvIlzCM5YQ+w3F45w6T44FxEzUifWXhtdE4WH7e+5t6S4Aazxk+gszqM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5934
X-OriginatorOrg: citrix.com

On 24/08/2021 15:27, Jan Beulich wrote:
> --- a/xen/drivers/passthrough/vtd/utils.c
> +++ b/xen/drivers/passthrough/vtd/utils.c
> @@ -106,11 +106,6 @@ void print_vtd_entries(struct vtd_iommu
>      }
>  
>      root_entry = (struct root_entry *)map_vtd_domain_page(iommu->root_maddr);

Seeing as you're actually cleaning up mapping calls, drop this cast too?

Either way, Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

> -    if ( root_entry == NULL )
> -    {
> -        printk("    root_entry == NULL\n");
> -        return;
> -    }
>  
>      printk("    root_entry[%02x] = %"PRIx64"\n", bus, root_entry[bus].val);
>      if ( !root_present(root_entry[bus]) )
>



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 12:08:26 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 12:08:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172971.315616 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJEBD-0003rG-EC; Thu, 26 Aug 2021 12:08:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172971.315616; Thu, 26 Aug 2021 12: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 1mJEBD-0003r9-BG; Thu, 26 Aug 2021 12:08:23 +0000
Received: by outflank-mailman (input) for mailman id 172971;
 Thu, 26 Aug 2021 12:08:22 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=J+8W=NR=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mJEBC-0003r3-HB
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 12:08:22 +0000
Received: from EUR02-AM5-obe.outbound.protection.outlook.com (unknown
 [40.107.0.88]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 9864f177-6262-476b-9e51-f890fe925071;
 Thu, 26 Aug 2021 12:08:19 +0000 (UTC)
Received: from AM6P195CA0029.EURP195.PROD.OUTLOOK.COM (2603:10a6:209:81::42)
 by AM8PR08MB6514.eurprd08.prod.outlook.com (2603:10a6:20b:36b::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.18; Thu, 26 Aug
 2021 12:08:18 +0000
Received: from VE1EUR03FT018.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:81:cafe::8a) by AM6P195CA0029.outlook.office365.com
 (2603:10a6:209:81::42) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.18 via Frontend
 Transport; Thu, 26 Aug 2021 12:08:18 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT018.mail.protection.outlook.com (10.152.18.135) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Thu, 26 Aug 2021 12:08:17 +0000
Received: ("Tessian outbound 8b41f5fb4e9e:v103");
 Thu, 26 Aug 2021 12:08:17 +0000
Received: from 0115b457d433.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 EC1803B7-2A1B-458D-993B-1B521381747F.1; 
 Thu, 26 Aug 2021 12:08:11 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 0115b457d433.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 26 Aug 2021 12:08:11 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DBBPR08MB6281.eurprd08.prod.outlook.com (2603:10a6:10:1f6::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Thu, 26 Aug
 2021 12:08:09 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.024; Thu, 26 Aug 2021
 12:08: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: 9864f177-6262-476b-9e51-f890fe925071
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/oLweSJtCwqTAEnsOEJgf653dcWn2syINwRuJqI0+Nc=;
 b=tInKESJtQuV6gB1fkwgJ2kvL8y+zQlDiautUDDLyZAePl9jxGjsWh0IvNSnRHleqM08TF2c1zpuu9tBwUUzFYtEcA4RTib1mD9t9Zy185dBCgznjMovFxBBSlLzzZE1gByHwh93wrbpBy4Zrw36TbLL2rNvuy5mphDr9OA6Ea6w=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UTqDJkdGYHpmikcTIS+2oe4EORXtl4tIcdStxI/l2HbEZnB3Cb5Fwj/L9CfUTn/NeC+rVCFZ7Yw74LxaAUaMlEATHkkpB9K8daP1E5XU+44y6jGDFynNBuoGY1aZ+FFptcK7H/65e4YKON2OliQxq59IXJG0959t3+6gO8dIkVyO1rRRSOyT5UsT4lB8Zv03z9fPJMyNbZmyVmjYdD3YqHh1iu2kGhWRsRHekWZ/xvTOD0XyUKrOLTMzCFomIYgIRQxiERw34Bg+a+2FRZhOJ0d2hafXunSCuTXO7BEankaq+dohms0j3f/jwXLcNgWGRE9mUr0ft7RWFvloY9xKsw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/oLweSJtCwqTAEnsOEJgf653dcWn2syINwRuJqI0+Nc=;
 b=Py3u3J13X+jiw/+DeCszudAsn7T4pP0a0k4UGdmQ6qOz12lkeQnAIjO0GERwsRrhio8gzb10qjfo9i1b2oPq98HNzfq1wQTxFaeGXLYx74GNoBBHgjGHBAAdSEhuP3laPeBmXAE1UYKnruwm4KeRm3THnFLiyPPzDKtI2bShaq8W07Z3MYNWZlk6XK3PKpra3NreuHqFHDiFWh4qj02aQMDXoy8AJfKr8Pd2gWC9Js5peGNBDSb77dmVEu6Tsw6hEdBH9URvWPzrrPEFvSQBB5qvWz5XjHJdlQHcVpZjuiql0yLAE+L57hshZ2az2Ii/WL3MVGq/lUdID6oI3eW32g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/oLweSJtCwqTAEnsOEJgf653dcWn2syINwRuJqI0+Nc=;
 b=tInKESJtQuV6gB1fkwgJ2kvL8y+zQlDiautUDDLyZAePl9jxGjsWh0IvNSnRHleqM08TF2c1zpuu9tBwUUzFYtEcA4RTib1mD9t9Zy185dBCgznjMovFxBBSlLzzZE1gByHwh93wrbpBy4Zrw36TbLL2rNvuy5mphDr9OA6Ea6w=
From: Wei Chen <Wei.Chen@arm.com>
To: Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"sstabellini@kernel.org" <sstabellini@kernel.org>
Subject: RE: [XEN RFC PATCH 26/40] xen/arm: Add boot and secondary CPU to NUMA
 system
Thread-Topic: [XEN RFC PATCH 26/40] xen/arm: Add boot and secondary CPU to
 NUMA system
Thread-Index: AQHXjptLf/jfnZiVikStQBDm6XRL0auEh6AAgADr9fCAAB2+AIAADhiAgAAloMA=
Date: Thu, 26 Aug 2021 12:08:09 +0000
Message-ID:
 <DB9PR08MB6857D887C97A40E20F66B4069EC79@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-27-wei.chen@arm.com>
 <35a57b18-4fab-522d-f39a-de21017abe57@xen.org>
 <DB9PR08MB6857FC8EA8C0D324426408709EC79@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <d7ea4260-aec5-efb5-32e7-7f73d6ee206b@xen.org>
 <705eae88-2cb1-f3a5-3190-dd4ed553fe36@suse.com>
In-Reply-To: <705eae88-2cb1-f3a5-3190-dd4ed553fe36@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 72CB1601563222449DFD6249607BFC3E.0
x-checkrecipientchecked: true
Authentication-Results-Original: suse.com; dkim=none (message not signed)
 header.d=none;suse.com; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 8e321700-243a-4fd7-6dde-08d9688a3070
x-ms-traffictypediagnostic: DBBPR08MB6281:|AM8PR08MB6514:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM8PR08MB65148C4066FB9AA66C5F65F39EC79@AM8PR08MB6514.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 Lhzm4lViYZ06gEk4c6mErLHunT5+hdM/0X8O2BKF66/QK9elT1z5OPFhC8NasfargOlvQWnGhfrZNoIZ+skMLf+Ij+plTArkhuxNzGLC55qHrIdkp+16B+8OSPrIYCErVhGL7x9dy8gZZcEB+MmHY0j2dAW6DGNtDEYwgEg0E5YjP/IeeT65QhNWQHoIPNsQgZQv+vlsEm9ps6TMgCY14PhrC8RK0/hEwaF3rhe7FZA0am1F8tQAp9wo6XNQK0qpNOLYg9e9lBLkC20Syt3I5yC66DjO/ygyp71Mr08ryIzAkgzQlvtgOsX2gmLtJTpchxkyzRWp4Y1RMxnYNNPFzNSshZ8Z8OAd2tOHQ/qQ5KQYrDYaDXAFcxDCOrNWBuKxGDKfgo2OY3AEHDm5rH4Gk+bRkXIsC3Vbb0YGJPHOL3LVQboqAsX4usfIA3AW/Fmls0nUCY+Djae+Ht4hK5hnCZzFotauNQA17RcWymd/0O73uA9tFXgtXz7EdMzytGZQIRKeH3wnl07VPN8JpSCDFx7hKlj1JvngBQV5nTf4uL0g1/8ImiigbxnUjzOvGIwfWA3pCodhWAko9l+MTT6dKHiQTqk4jTJt5M+8vjUpBG/Qg2KAEKzRhPARhBTdrjRw8Kfa+gsR5DTuVRiJPtUUyo/v+nApFnMBEsqhmIFoYlx3DnfEJJRBP2JL1jAYQXDfLkclnbhMJsF5vzwt9V//Sg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(136003)(376002)(396003)(39850400004)(346002)(52536014)(86362001)(26005)(8936002)(478600001)(5660300002)(4326008)(8676002)(38100700002)(122000001)(186003)(2906002)(66946007)(6506007)(83380400001)(71200400001)(110136005)(55016002)(53546011)(7696005)(76116006)(33656002)(54906003)(316002)(38070700005)(66556008)(66446008)(64756008)(66476007)(9686003);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?d0Rtd0F0UWNqVzB6SlRRVk42VDVOTTIyQUF2TlJVVXo3elgwL3d0WWNDMnNm?=
 =?utf-8?B?TTNGdWJzNTJoVzBnOEc4eUd1QVVhNDRQMWJOUlQ4Y1dpNG16LzhVUHBGNDFv?=
 =?utf-8?B?SzNzQ3plYThIWkg0eXJJczZCalNQOW5hc2lXR3Y3bkJXTFViU09iVUJoeUpN?=
 =?utf-8?B?S3k5aWFCVGdHTjVDN29rTXBvU0s3bllKZXhhbHBUdFdEd0hFb08yYmR1OVV6?=
 =?utf-8?B?Y3ZpTi83TG9DV25CcnhCWkFkNXJ2UjhuMEVxUytRZTV5bG8vbDhhbDlkYmdh?=
 =?utf-8?B?N1dnTXlHWDlzMG83RGxKbkVYZU14MWRNN1U1U0dKV3ZqeG5NL25sSTdDR3ND?=
 =?utf-8?B?QUF4dENySm51bTBHSm5YNGdKR1JhTEhyYmMzK2psdS9TdFpBOG1uL0w3aHZN?=
 =?utf-8?B?bGcrcFl1Tkc5RlVHdHVkRnVOelQ3emQ0VHZVc0FzSjUyMmVYQ1JDVWJhd0ly?=
 =?utf-8?B?V0M0cndsQ0xTbStDc3JhUDVVa2RaQVE2U2RXR0xMSmpVZ3k3Z3A4Y3RqcWRG?=
 =?utf-8?B?QW1DWlZ3MDFCN2JoYU50U3ZrVWlpdnExSnhzRU00aVVBbTdrT0xHaUZwMjRN?=
 =?utf-8?B?TG5keUlEU3RNbnZQMUhvQ3VZdk5tcEFKUHZaUDJTTWVCcnRwN1FnVTVvaFha?=
 =?utf-8?B?MTZqUUpIRTFxS1lMemxhL09mVGp6TTBtZnN5RUlMQU1FRVZveHVTY2RwcWpN?=
 =?utf-8?B?cm5jc0J6Ulg4aDZ1STFSTkpOSUlVcFdUT2RYN0lYMVNEOEtSZWh4VzRUUFBU?=
 =?utf-8?B?R0l5ZGpPYVNQUjNjUVBXQXhneS9wZmN0ajVpSDJXUzM5WTZzUnM0a2VpeEVw?=
 =?utf-8?B?d2NHckV0cnQ2SVQrcDFkcC81emVCbytielhxS1JaTVVvbzFWeTd5RFY2S0d3?=
 =?utf-8?B?WWQrNFpPU1VoY1YyYzRKNENRVHQ1N0JBYlMxYjErbHpnc24rQWdnQWo1WXNl?=
 =?utf-8?B?VUczOUZRWDRkdE9kLzNJY2g1ZU5kWk43b29mNFBhc09UUXRvUWowUnA3NnNJ?=
 =?utf-8?B?NjlsZW9oaFhueWtzNXJpbUhZWkZVdmVzTUU1UmhhWFU0SlhBUHZZT09zdlNW?=
 =?utf-8?B?NnA5MG04WGpOQ2M1S1ZVcDhHRng5YzNIcjNiMzQrd3NzSERFdlNKRXh6VUVu?=
 =?utf-8?B?MnN5NHBSZm83dWkxRTQxWWI0OUZBdURLalIrTjVONWRtVzk5SVlUVkdGSWsv?=
 =?utf-8?B?NzlOYXhvb3Vmb3BaMlNEeGQ0c3JubGlmVXVoRXN0eHF6V2l5TUNheitEOEQ0?=
 =?utf-8?B?aFBaeGw3RG1MRVF5TkpQTDJmMk1kdkI5V2ZibmdLZG9kaHd6MkRGOCt0YW1z?=
 =?utf-8?B?SkRIdmhCZlNid1dqR2Fxc1dVVkk5TE14THZFaHJGdkk3anhKY3MrM0tObzlX?=
 =?utf-8?B?YWxYZThHaGRqdWlZdGtNNW5YT2FoMzlhZmM5SFNUMzVJMzc0TFdTQTlXUEhG?=
 =?utf-8?B?eFc1a3hoWVkxMktRQVpSLzd1T3I1TDdXZlh1ZzM0WDdSaFB2NnBCQk1YVGVr?=
 =?utf-8?B?Wnl2M1cyYzlXZW1iWU5JS20rTk01TTNSRmVOTlpka3JUZlpCNXh1QTdBakFh?=
 =?utf-8?B?b1B6QWlYSm9GVHpwSG1zY0NQWVRkMDFrL3l3cFo4MHM4ajNna1JveWRac1ZC?=
 =?utf-8?B?ZTQyR3p6R0pjZlJVN0NaQStoeGdoR2NEM3lQMTcrT04xWFlZTDRBbVhEVFVz?=
 =?utf-8?B?TlJKdHFSenZDT3JvMWgvcEVYbTBXRlFJQ1J4VFMwbzlvWklsZGwrU1lkdEFT?=
 =?utf-8?Q?ca7ssMSR3OK/exF8zsq6hdx+wc20MEcdtfYxEmk?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB6281
Original-Authentication-Results: suse.com; dkim=none (message not signed)
 header.d=none;suse.com; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT018.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	5125adc7-709a-4b5e-6d2b-08d9688a2b72
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	hTm3DKVphgwFsv2Z9HnW7jMeVcpBbzbMQk2VUfrHDK9D2giUcxbUYgEiEKF0yFY0esZ7UzXUzdtL5sQpSlJeQHIEleDYO1AWFDpODBEsUbU/pDQontH/UiiUliFXWsH5QYh+8VKj3scQm893jEJuneXrse+ciFa++HvUWvA2N1PsMUpDFd1urujeBVduK9EkhA9kq7xQwpcvYxagcKU2+qwnSoRssz0kPIvX0DE5A02TQp8tSzvM2hIhiHgkb6WRkb1hnBEXkSAy0gWqLvTf+u8ZrmOFddelQay+F2oUeA05S0kGKCN3eUX753qjAT6ywzr582d6VbeDF8QuAvnKu4SFiBsWvRJE7KKiS+SHSeE+Mz2rbCPt+BQEBNYnTM3rn12btK/d9xKZq3/p1Klpz6RanGl1glYP2hh6aWbn9DS+4xGZZSEBmuwkOop3/TNsv7Z13HnS9dpcZNphkaPcjh27fdB3yEw/YpfsHIeJ+MA9TC5t+3lWUc29s/t+TH0l+59702Jw/1KGpU18bLZNG5Pw5H/4dnxicvQ6YTGJzslmO86rZW2XIq1NO+tPipKO48+Z0UyR+/Ssbisk6F1QAylOJOj1nZckYwZHHNEGH0lihvyaUz+RfYPf2y908IsbTxcdfX6y+ZogwJUFhu1Apu/+Od96ux+z5JjrUIR6dkDgu51ln03FSOd/TR3G3mEnv3EXJ/J2ZE9NLHZqZ2wBDQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(46966006)(36840700001)(8936002)(70206006)(6506007)(70586007)(8676002)(83380400001)(7696005)(356005)(82310400003)(33656002)(53546011)(316002)(81166007)(2906002)(36860700001)(26005)(186003)(86362001)(107886003)(4326008)(336012)(52536014)(47076005)(5660300002)(9686003)(110136005)(54906003)(55016002)(508600001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 12:08:17.6072
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8e321700-243a-4fd7-6dde-08d9688a3070
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT018.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB6514

SGkgSmFuLCBKdWxpZW4sDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPiBTZW50OiAyMDIx5bm0OOaciDI25pel
IDE3OjQwDQo+IFRvOiBKdWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4ub3JnPjsgV2VpIENoZW4gPFdl
aS5DaGVuQGFybS5jb20+DQo+IENjOiBCZXJ0cmFuZCBNYXJxdWlzIDxCZXJ0cmFuZC5NYXJxdWlz
QGFybS5jb20+OyB4ZW4tDQo+IGRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnOyBzc3RhYmVsbGlu
aUBrZXJuZWwub3JnDQo+IFN1YmplY3Q6IFJlOiBbWEVOIFJGQyBQQVRDSCAyNi80MF0geGVuL2Fy
bTogQWRkIGJvb3QgYW5kIHNlY29uZGFyeSBDUFUgdG8NCj4gTlVNQSBzeXN0ZW0NCj4gDQo+IE9u
IDI2LjA4LjIwMjEgMTA6NDksIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gPiBPbiAyNi8wOC8yMDIx
IDA4OjI0LCBXZWkgQ2hlbiB3cm90ZToNCj4gPj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t
DQo+ID4+PiBGcm9tOiBKdWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4ub3JnPg0KPiA+Pj4gU2VudDog
MjAyMeW5tDjmnIgyNuaXpSAwOjU4DQo+ID4+PiBPbiAxMS8wOC8yMDIxIDExOjI0LCBXZWkgQ2hl
biB3cm90ZToNCj4gPj4+PiAtLS0gYS94ZW4vYXJjaC9hcm0vc21wYm9vdC5jDQo+ID4+Pj4gKysr
IGIveGVuL2FyY2gvYXJtL3NtcGJvb3QuYw0KPiA+Pj4+IEBAIC0zNTgsNiArMzU4LDEyIEBAIHZv
aWQgc3RhcnRfc2Vjb25kYXJ5KHZvaWQpDQo+ID4+Pj4gICAgICAgICAqLw0KPiA+Pj4+ICAgICAg
ICBzbXBfd21iKCk7DQo+ID4+Pj4NCj4gPj4+PiArICAgIC8qDQo+ID4+Pj4gKyAgICAgKiBJZiBY
ZW4gaXMgcnVubmluZyBvbiBhIE5VTUEgb2ZmIHN5c3RlbSwgdGhlcmUgd2lsbA0KPiA+Pj4+ICsg
ICAgICogYmUgYSBub2RlIzAgYXQgbGVhc3QuDQo+ID4+Pj4gKyAgICAgKi8NCj4gPj4+PiArICAg
IG51bWFfYWRkX2NwdShjcHVpZCk7DQo+ID4+Pj4gKw0KPiA+Pj4NCj4gPj4+IE9uIHg4NiwgbnVt
YV9hZGRfY3B1KCkgd2lsbCBiZSBjYWxsZWQgYmVmb3JlIHRoZSBwQ1BVIGlzIGJyb3VnaHQgdXAu
IEkNCj4gPj4+IGFtIG5vdCBxdWl0ZSB0b28gc3VyZSB3aHkgd2UgYXJlIGRvaW5nIGl0IGRpZmZl
cmVudGx5IGhlcmUuIENhbiB5b3UNCj4gPj4+IGNsYXJpZnkgaXQ/DQo+ID4+DQo+ID4+IE9mIGNv
dXJzZSB3ZSBjYW4gaW52b2tlIG51bWFfYWRkX2NwdSBiZWZvcmUgY3B1X3VwIGFzIHg4Ni4gQnV0
IGluIG15DQo+IHRlc3RzLA0KPiA+PiBJIGZvdW5kIHdoZW4gY3B1IGJyaW5nIHVwIGZhaWxlZCwg
dGhpcyBjcHUgc3RpbGwgYmUgYWRkIHRvIE5VTUEuDQo+IEFsdGhvdWdoDQo+ID4+IHRoaXMgZG9l
cyBub3QgYWZmZWN0IHRoZSBleGVjdXRpb24gb2YgdGhlIGNvZGUgKGJlY2F1c2UgQ1BVIGlzIG9m
ZmxpbmUpLA0KPiA+PiBCdXQgSSBkb24ndCB0aGluayBhZGRpbmcgYSBvZmZsaW5lIENQVSB0byBO
VU1BIG1ha2VzIHNlbnNlLg0KPiA+DQo+ID4gUmlnaHQsIGJ1dCBhZ2Fpbiwgd2h5IGRvIHlvdSB3
YW50IHRvIHNvbHZlIHRoZSBwcm9ibGVtIG9uIEFybSBhbmQgbm90DQo+ID4geDg2PyBBZnRlciBh
bGwsIE5VTUEgaXMgbm90IGFyY2hpdGVjdHVyZSBzcGVjaWZpYyAoaW4gZmFjdCB5b3UgbW92ZSBt
b3N0DQo+ID4gb2YgdGhlIGNvZGUgaW4gY29tbW9uKS4NCj4gPg0KDQpJIGFtIG5vdCB2ZXJ5IGZh
bWlsaWFyIHdpdGggeDg2LCBzbyB3aGVuIEkgd2FzIGNvbXBvc2luZyB0aGlzIHBhdGNoIHNlcmll
cywNCkkgYWx3YXlzIHRob3VnaHQgdGhhdCBpZiBJIGNvdWxkIHNvbHZlIGl0IGluc2lkZSBBcm0g
QXJjaCwgSSB3b3VsZCBzb2x2ZSBpdA0KaW5zaWRlIEFybSBBcmNoLiBUaGF0IHNlZW1zIGEgYml0
IGNvbnNlcnZhdGl2ZSwgYW5kIGluYXBwcm9wcmlhdGUgb24gc29sdmluZw0KdGhpcyBwcm9ibGVt
Lg0KDQo+ID4gSW4gZmFjdCwgdGhlIHJpc2ssIGlzIHNvbWVvbmUgbWF5IHJlYWQgYXJjaC94ODYg
YW5kIGRvZXNuJ3QgcmVhbGl6ZSB0aGUNCj4gPiBDUFUgaXMgbm90IGluIHRoZSBub2RlIHVudGls
IGxhdGUgb24gQXJtLg0KPiA+DQo+ID4gU28gSSB0aGluayB3ZSBzaG91bGQgY2FsbCBudW1hX2Fk
ZF9jcHUoKSBhcm91bmQgdGhlIHNhbWUgcGxhY2Ugb24gYWxsDQo+ID4gdGhlIGFyY2hpdGVjdHVy
ZXMuDQo+IA0KPiBGV0lXOiArMQ0KDQpJIGFncmVlLiBBcyBKYW4gaW4gdGhpcyBkaXNjdXNzaW9u
LiBIb3cgYWJvdXQgZm9sbG93aW5nIGN1cnJlbnQgeDg2J3MNCm51bWFfYWRkX2NwdSBiZWhhdmlv
cnMgaW4gX19zdGFydF94ZW4sIGJ1dCBhZGQgc29tZSBjb2RlIHRvIHJldmVydA0KbnVtYV9hZGRf
Y3B1IHdoZW4gY3B1X3VwIGZhaWxlZCAoYm90aCBBcm0gYW5kIHg4Nik/DQoNCj4gDQo+IEphbg0K
DQo=


From xen-devel-bounces@lists.xenproject.org Thu Aug 26 12:10:29 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 12:10:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172977.315628 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJEDB-0005B6-Sz; Thu, 26 Aug 2021 12:10:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172977.315628; Thu, 26 Aug 2021 12:10: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 1mJEDB-0005Az-PO; Thu, 26 Aug 2021 12:10:25 +0000
Received: by outflank-mailman (input) for mailman id 172977;
 Thu, 26 Aug 2021 12:10:24 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=q24O=NR=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mJEDA-0005At-JM
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 12:10:24 +0000
Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 4476dae7-5990-47fe-aa27-a3908331f9de;
 Thu, 26 Aug 2021 12:10: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: 4476dae7-5990-47fe-aa27-a3908331f9de
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629979822;
  h=subject:to:cc:references:from:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=TaHf9M+qx/tN7LVZKGfHnNu9xVIOpi0Peww4wHa8yEM=;
  b=PfD4fd6mv+F4acGfmh5VzpliCxdDK4pbGdNucxv+iRlhZJvoq43YzRsQ
   HOokdeOjVuYlHvKC2Y0TcmeaFL9VM6T/MrvTH7+u53CXA+1hJ4h6zBsTA
   hvU+RO6ttcgfkKnCCDw9nKjOgQBlCv0uLipUojBz/YKls/ZOJLRhHkrSR
   Q=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: 1Nu4iBAF/LHP3f+8rPQFnvcMEZgU6sxdTdp/+obg3VaXUbIdqv+CR0TAk3iOvn7COi/rc+k+Di
 YjyQT7N2e6T1qKUPrxOmhyZYn5Wrgy9xdKtDib+kghf+WuHBTgQ+WSEMfvp6OIZ8YBR/BHiCnR
 tI0QxQt2Xt89rShccaD2ySQ1PHcU9Bx/0NEFGDX695OrdWICx382K7WfWlriDVsXBE0E9Yo2fR
 SpqivQezDotDVYecyM4Wrm5OBTzBG7sb6Ocw+2zUIqb8kGuYeE0VuXI4ltqcJ8IStbxbgxnMeK
 qoEkFbQ0toonor3Sa1hs3FkV
X-SBRS: 5.1
X-MesageID: 53091430
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:RkGczKGex76HYA4kpLqEEseALOsnbusQ8zAXPiBKJCC9vPb5qy
 nOpoV+6faQslwssR4b9uxoVJPvfZq+z+8R3WByB8bAYOCOggLBQL2KhbGI/9SKIVydygcy78
 Zdm6gVMqyMMbB55/yKnDVRxbwbsaa6GKPDv5ah8590JzsaDJ2Jd21Ce32m+ksdfnghObMJUK
 Cyy+BgvDSadXEefq2AdwM4t7iqnayzqHr+CyR2fyIa1A==
X-IronPort-AV: E=Sophos;i="5.84,353,1620705600"; 
   d="scan'208";a="53091430"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cJuPnJOzNi/AOz4iYvbycooZBP0KwZTbtpnIBAwAdvaPO95N5MTig8/6tv899Aw3MTfPT87Jxo3v7Q5McFVvCudwJ1KhM/zc0E0Hc6U6SjvMi/lNu6CuC15U6guP00c9CjI73ixlKkzIp0eIjTPeCfUL0Lb+bYALW53wOfn00HkG3OlaFuLOUFPz+G8t3FgrFtsnVpFN9jZMwQ/ZIXyWEZYzIyTylLQDdgZdimen3vLRFYX4XFcGFm0qp6zUhoL+slwTilHjsGMIfNd0lx2WxfSWuwHAIsG6uKMqKeZGAtyxRE7JQ269u3eGCjxzyqe867R7g0ZPoYMF/0yExykeKA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=S7Uc5TIHZISEM7DFkRn6MOnP9gHt5BLon77i8zu0xQ0=;
 b=lHD4tYcZtKaDutZIV8twZZTo6mkuYaUGv85D/e/YhkU/AWg2vEOsZ32bo+cuBvFld8Oo9DexJoDBzywfw+DaWqu+3Wuvq/c0KkFvyRsSJUTAyOes6K2rubfDjGKFybcbyS0qxLHnDPRHxVEXKjoI74YjxgQvIJdaVxVfE6q+HymLWy7XrLxKciS5yBLL4A60pkO+zzRX2uGP9s0INzp6dOlIt3fp7O7YaAOtSDmDYq9tyu6YNeZFdSlhfJI0wCnpA01wPBfKRs7LxMCOzVyP+C9W0iAxnIpRfbk5j8l3YqbbCTdD1ldZxitmby1D0C3gCyL+CWbMVORntHsSfgOqLw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=S7Uc5TIHZISEM7DFkRn6MOnP9gHt5BLon77i8zu0xQ0=;
 b=X8YU5xvx7zcPPvEy5Fxp+pWhwJRFOJftd18OYphnOEW3IflTeXrAh6+glBKml5HrxuErJ4xPN+3t/hYVRQ39N5H/TwMrmj9DCX8xlw6QaN2/Hptcir4vuWOISTT3E1iKSgsPlDKFzY+y162rYisG+MMM9qUw6r53kttJz5Hy80o=
Subject: Re: [PATCH v7 1/8] AMD/IOMMU: check / convert IVMD ranges for being /
 to be reserved
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Paul Durrant <paul@xen.org>
References: <bf4b3be9-1274-9750-7340-08b29dcecfd3@suse.com>
 <133d60ab-0de6-4831-7387-0ba9cf6efb5b@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Message-ID: <88994b1b-a8b3-1207-5ac9-dac50c383a98@citrix.com>
Date: Thu, 26 Aug 2021 13:10:14 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <133d60ab-0de6-4831-7387-0ba9cf6efb5b@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Content-Language: en-GB
X-ClientProxiedBy: LO4P123CA0455.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1aa::10) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 6babfe7c-dff1-458e-2ca4-08d9688a792a
X-MS-TrafficTypeDiagnostic: BY5PR03MB5046:
X-Microsoft-Antispam-PRVS: <BY5PR03MB5046E4F3D8D2F5F402E11F89BAC79@BY5PR03MB5046.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: RTQ1TFAnxkPiVkn1aaV9FLVncAE6ijU8daKZWVS31F8ksNJcvuiB43EF6tEvmKWZhmtS7pgafkXpkP4Br+YNYIJclzG4/jqUJ12JLD9isA0HQdeepIfVd7yCwZiOk7OLb6Q0Saodai0JsY9DPgxDPfGt5gps8tpeZ1GYBHV7I/aLUuMmrciLFWLChn1QFrijCLAqtQDGOInmFEv7+2DDWJ6GSrwKwbXaLticclITHdm+quGM1qkhA4a5NV7i4JNnu5jVHjJttZo4zsOb4jz2n2dibhSbVfJBDLVqEmLNbf4OALPkur7stboTWp+zCZqcebngEj0HW1HZGe4WcRyUs9vsYcByu2i5LVy1H8kxO8bLJfQii/MuDdRGzOih7uR8xj6PBnoEx7a2fjrJQpyHT7QNiy0XeUWD5jYWCFsXOpn0EAKBXqeqekgiI2UKEZ4q4B+ta4B08QZ6gaK4JVY1lUuw3IeTLIVslansny7mRE8rlqUwSFy0cIjHni3I26ekemg3pB+lC7yf/CYF5Skycxa096yDQ09wNZ517+4QC6+pB6MLUzWwUC0GtMotqaqAiuyQvWcATDp7tjvTYz4YlWjjlt8KOer72k+ohmvRHtRLvjKIC7ViHaxBxjNFyuKJSq6VCjL486scdSbwGuNYeFx9Hte7pDn/+hqSjteYktksYoU6fmDyGJBIJ/ctUw5bt+Kc2blyn9/o3S6zK1zQ0F0aV2JcNPU7dC+DijpeDBQ=
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:(4636009)(366004)(16576012)(55236004)(4326008)(86362001)(2616005)(66946007)(8676002)(66476007)(66556008)(316002)(956004)(31686004)(110136005)(6666004)(38100700002)(2906002)(36756003)(53546011)(31696002)(26005)(186003)(5660300002)(508600001)(6486002)(83380400001)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dldmU2xlMVREUHNtYUh2Z2dPTHAwd25pOUUvc2ZLUCtpTzUzKzdWOTQxRDg0?=
 =?utf-8?B?dFcyV21pNEFIeW55MWZkckVKZWhNM0FqVFpmVmxxWDU2YTVFUnFySXRrelVY?=
 =?utf-8?B?K3hMZ0FHSXBIVm1YaUhjbXFTSDRXTWVZdmRGRllmR01TbFFoelhhVGpqOThZ?=
 =?utf-8?B?RE5KdytGdmJ0dUJLYmw1WWl2eHNlMnAxa0VqSEhyUm9UYjlQTnVWbnhLL2FG?=
 =?utf-8?B?Q3REN0NzbVBueDdUQS9EbDZ5WS9vZmNJQmhjQTNqSHdsUG1zc1Jud1dFNDhC?=
 =?utf-8?B?Q3FBaUhnSTlFMkZ1RFJOMTNKTDRCWlFKa2wrYnlubjFYMVR4TjZyQ2IvWVpZ?=
 =?utf-8?B?aEtuUS9VeEdDd2FUOFhjRW13QmVlRmZia2VMUUtiZ2RBdnAxSDFZeFRWQXNW?=
 =?utf-8?B?KzBsYm5JWTRHWUZaOTd6WG5ORy9JbzRzb0pIQU5FeGFKbStxS1loTHJ1bmZl?=
 =?utf-8?B?WkVMNStCeFVLSFpYR3pUNnpTbnhpaVBGRjZxcW5mWCtUK3VlakVHRnVUYVFJ?=
 =?utf-8?B?NFZWZXd6QzdjbjlMUUFqM01lYnRZVndDb2VTTU9BRmdwT2NhMXd1bnJiQ0Rq?=
 =?utf-8?B?SElTMGxqdmFGT3RUNVM1Y1p5SHkzKzJ2TDF6bmt0Wk9PdS8wYWExOG5GTjdi?=
 =?utf-8?B?ZXN6amZNUnJMKzZSenpUWFpkU3FrcUxIT0Rla1lNd20vSEZReXVQbWtjYVZI?=
 =?utf-8?B?cCtaU3gyRHVSOFUrdnpQd2dONDFnWkJjc3Q2ZmtxZmpPYUl5b0pCSmtoR0Fx?=
 =?utf-8?B?amgyTGgrWGF2WldtWU81Z1gxdzBPSUFXQXdMMzN3ME5LRE81dE5ZbWpoakFN?=
 =?utf-8?B?YVBLemRlUk1FeFMwWGUxd0p0SlFDVFJyeGc1OGNJdEV6eTVtdWZXcTBvVFVa?=
 =?utf-8?B?aCtBdSswMDhLQmFkYzFSZDZVOWdDWnhCb09QTjAyNGppbVZrTW1NOVcyQ2lF?=
 =?utf-8?B?ZElpamMzTGswVXBXcFE0dU45MGlYdE1JdXErR3YvZ0tMQ3NGenlTZ0ROaVF1?=
 =?utf-8?B?bDdvc1VwUHVNanRYZ095K25BaW5BV0NXbWdyN0R2M0JUK3FZcXU3MTBybWFI?=
 =?utf-8?B?blgrQmo3WEljd2ZhMGVGT282MUMrUVY2TC9UOWU1eSs4OTZ2Vi9BSWxKN0N1?=
 =?utf-8?B?K3JndFBnSTltcTJCRlpseEt4am1rRTJMRHJHN2xiaXk4ZUFZZ2Njc1NKWEhD?=
 =?utf-8?B?TXpETVVWYXdpYXYySWtnTHVCWHM0Q0o2SkZMLzR4WVZaL1VJTXNGUTRPQjJU?=
 =?utf-8?B?QVBmcHF1V0R5ejBOZnBXTDZxV2Z1Z0ZLcE1SR05EYjVmZXRjMExNVVJGd1JO?=
 =?utf-8?B?MHlONmUyYlkxc1FrcTMvb282T0NGeUt5L0E2bTF2bkFPcVdzbkM0T1NyWjFF?=
 =?utf-8?B?dE1xTGdtMjY3dUlZako3aVRUc3RLVlkyWkk0bkx1Y2RiZEpWY3V3azBGS2M3?=
 =?utf-8?B?TG5ZL0s1a2tIbVhRWVlIZ2pIS21zQVBMZ01ndERzL1g2MXplME5SbHViU01C?=
 =?utf-8?B?UldOOW9La2xDMzVHZU5BdUZaWHNldUVkZlJwRmt2Tk92cXZTbGJEQ2EzaFJ5?=
 =?utf-8?B?dUozWWRtdkVQalB3L2ZLTUFob1F5V1pUWGlOZUJPTk5OcTB1MWtJV3o2YnMv?=
 =?utf-8?B?SSs4UGJ3MU41OXo2RXBETjFtdE9KdWZyVm9wWHBCRGVncHB2M0xlQi83cjcr?=
 =?utf-8?B?eGd6dWJuWnZzbzJMNVJPM29EMExOWDRSNithRkVmTDdGN3NNZXZnZ3UreTQz?=
 =?utf-8?Q?KEAiRoxka/eMqkGuZesiG/+SqVfze5lOTGx4cxA?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 6babfe7c-dff1-458e-2ca4-08d9688a792a
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 12:10:19.8347
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: YaqgJgBVyEWZZvAAQiMIXgwjYI72xoc84ID+IQsHrnk8XIMSR6zGDZFdwTNH5O3E3irHFIvPnK+FG3BUR2FU6xLatTXSEDjJ7tE5XihBVnE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5046
X-OriginatorOrg: citrix.com

On 26/08/2021 08:23, Jan Beulich wrote:
> While the specification doesn't say so, just like for VT-d's RMRRs no
> good can come from these ranges being e.g. conventional RAM or entirely
> unmarked and hence usable for placing e.g. PCI device BARs. Check
> whether they are, and put in some limited effort to convert to reserved.
> (More advanced logic can be added if actual problems are found with this
> simplistic variant.)
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> Reviewed-by: Paul Durrant <paul@xen.org>
> ---
> v7: Re-base.
> v5: New.
>
> --- a/xen/drivers/passthrough/amd/iommu_acpi.c
> +++ b/xen/drivers/passthrough/amd/iommu_acpi.c
> @@ -384,6 +384,38 @@ static int __init parse_ivmd_block(const
>      AMD_IOMMU_DEBUG("IVMD Block: type %#x phys %#lx len %#lx\n",
>                      ivmd_block->header.type, start_addr, mem_length);
>  
> +    if ( !e820_all_mapped(base, limit + PAGE_SIZE, E820_RESERVED) )
> +    {
> +        paddr_t addr;
> +
> +        AMD_IOMMU_DEBUG("IVMD: [%lx,%lx) is not (entirely) in reserved memory\n",
> +                        base, limit + PAGE_SIZE);
> +
> +        for ( addr = base; addr <= limit; addr += PAGE_SIZE )
> +        {
> +            unsigned int type = page_get_ram_type(maddr_to_mfn(addr));
> +
> +            if ( type == RAM_TYPE_UNKNOWN )
> +            {
> +                if ( e820_add_range(&e820, addr, addr + PAGE_SIZE,
> +                                    E820_RESERVED) )
> +                    continue;
> +                AMD_IOMMU_DEBUG("IVMD Error: Page at %lx couldn't be reserved\n",
> +                                addr);
> +                return -EIO;
> +            }
> +
> +            /* Types which won't be handed out are considered good enough. */
> +            if ( !(type & (RAM_TYPE_RESERVED | RAM_TYPE_ACPI |
> +                           RAM_TYPE_UNUSABLE)) )
> +                continue;
> +
> +            AMD_IOMMU_DEBUG("IVMD Error: Page at %lx can't be converted\n",
> +                            addr);

I think these print messages need to more than just debug.  The first
one is a warning, whereas the final two are hard errors liable to impact
the correct running of the system.

Especially as you're putting them in to try and spot problem cases, they
should be visible by default for when we inevitably get bug reports to
xen-devel saying "something changed with passthrough in Xen 4.16".

~Andrew


> +            return -EIO;
> +        }
> +    }
> +
>      if ( ivmd_block->header.flags & ACPI_IVMD_EXCLUSION_RANGE )
>          exclusion = true;
>      else if ( ivmd_block->header.flags & ACPI_IVMD_UNITY )
>



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 12:10:47 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 12:10:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172978.315639 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJEDT-0005b4-AQ; Thu, 26 Aug 2021 12:10:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172978.315639; Thu, 26 Aug 2021 12:10:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJEDT-0005av-6t; Thu, 26 Aug 2021 12:10:43 +0000
Received: by outflank-mailman (input) for mailman id 172978;
 Thu, 26 Aug 2021 12:10:41 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=J+8W=NR=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mJEDR-0005aC-QZ
 for xen-devel@lists.xen.org; Thu, 26 Aug 2021 12:10:41 +0000
Received: from EUR03-DB5-obe.outbound.protection.outlook.com (unknown
 [40.107.4.78]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 9f7112e6-0666-11ec-a9f3-12813bfff9fa;
 Thu, 26 Aug 2021 12:10:37 +0000 (UTC)
Received: from AM5PR0502CA0019.eurprd05.prod.outlook.com
 (2603:10a6:203:91::29) by AM6PR08MB4248.eurprd08.prod.outlook.com
 (2603:10a6:20b:b5::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Thu, 26 Aug
 2021 12:10:34 +0000
Received: from AM5EUR03FT027.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:203:91:cafe::6f) by AM5PR0502CA0019.outlook.office365.com
 (2603:10a6:203:91::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17 via Frontend
 Transport; Thu, 26 Aug 2021 12:10:34 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT027.mail.protection.outlook.com (10.152.16.138) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Thu, 26 Aug 2021 12:10:33 +0000
Received: ("Tessian outbound 32695b2df2f8:v103");
 Thu, 26 Aug 2021 12:10:32 +0000
Received: from 6e68f1a272ec.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 A7B6559C-23D4-4903-B880-0771278AFE08.1; 
 Thu, 26 Aug 2021 12:10:23 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 6e68f1a272ec.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 26 Aug 2021 12:10:23 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB9PR08MB6506.eurprd08.prod.outlook.com (2603:10a6:10:263::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Thu, 26 Aug
 2021 12:10:19 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.024; Thu, 26 Aug 2021
 12:10: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: 9f7112e6-0666-11ec-a9f3-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GvBUrt878mMLNugoLfexy2qc4k3PNfOW43aVDtNePOo=;
 b=jymoHo/7byXU2OSR4MO+98RpyVJwzt21+HfV06BESY2QUYXucg4yi3CjQk13PyPwA8pfbtpnKoYNAjDQKU37ERHfTvg8sT1skYIqjte6ogwM3y43WndNth6qnFnLE+J/auusY0WHbGZr5Nlmn76y5Wwb4G9vmo3OhoMtf2LVcag=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xen.org; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;lists.xen.org; dmarc=pass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=g/nw2fROr4ZDOvHer6upaJ5ZFe+2miLU68yIqnzEUlV6szoPwp/bRWIIGeB4p5QR5yri1l7eqt1IGtF8EshkWHXgBE9eB818a8p+RPPtP/JRpO/lBQFPSMCpb05TPyPeKLYkSXSarWz5rJBUxk2niiyURMlEjHyXIEfeEBHqwqBeAQVaIvFfvES+/CwmIhKgKGbt5DXPLrY3FEy4gDDFtY+ga7gw3EwENH2L+kWmG7phgd/Jh1s52FdyAw41WxRnpFTghhYcEWAZ9ebFcLxhpNcHAx7U+W6TBX7HkMLGfbCafSGwU7mGd90fV4ZP4PzdD5srk2jWHAe1nITyNCckwA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GvBUrt878mMLNugoLfexy2qc4k3PNfOW43aVDtNePOo=;
 b=jb/rkM34OdvGsrC+x9p6LBky4N4HPdS5noGd+JRsN1GDAkfV+MWP3fzP6RzmwnOrtqjuFUp4ATOLp3hltV5PfXXhLSaxnOo8c1IMZsDw+RYqVwFwZ3D8lwe4fU9gr7EjiYn7eXAc1AC0sGC6kNRPhwoMJTmMj8MW+2LL2ikz01gX9zx/XK/D62Bbo4xkSdIJ3oax3Vpp1OiUQQhCfzccPG3mnSQrTeFhejZroskpJuM1O3zXo0pHkKK8622cv1SPZ/nBnZwD1SuSiolswb2FpFpapB7Cde7GKJxUCnzrMe5pkwqVIvhk/g5Fw32q2LCEbZzpTW68zkE58goxQCilYg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GvBUrt878mMLNugoLfexy2qc4k3PNfOW43aVDtNePOo=;
 b=jymoHo/7byXU2OSR4MO+98RpyVJwzt21+HfV06BESY2QUYXucg4yi3CjQk13PyPwA8pfbtpnKoYNAjDQKU37ERHfTvg8sT1skYIqjte6ogwM3y43WndNth6qnFnLE+J/auusY0WHbGZr5Nlmn76y5Wwb4G9vmo3OhoMtf2LVcag=
From: Wei Chen <Wei.Chen@arm.com>
To: AKASHI Takahiro <takahiro.akashi@linaro.org>
CC: Oleksandr Tyshchenko <olekstysh@gmail.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Alex Benn??e <alex.bennee@linaro.org>, Kaly Xin
	<Kaly.Xin@arm.com>, Stratos Mailing List <stratos-dev@op-lists.linaro.org>,
	"virtio-dev@lists.oasis-open.org" <virtio-dev@lists.oasis-open.org>, Arnd
 Bergmann <arnd.bergmann@linaro.org>, Viresh Kumar <viresh.kumar@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>, "stefanha@redhat.com"
	<stefanha@redhat.com>, Jan Kiszka <jan.kiszka@siemens.com>, Carl van Schaik
	<cvanscha@qti.qualcomm.com>, "pratikp@quicinc.com" <pratikp@quicinc.com>,
	Srivatsa Vaddagiri <vatsa@codeaurora.org>, Jean-Philippe Brucker
	<jean-philippe@linaro.org>, Mathieu Poirier <mathieu.poirier@linaro.org>,
	Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Artem Mygaiev <Artem_Mygaiev@epam.com>, Julien
 Grall <julien@xen.org>, Juergen Gross <jgross@suse.com>, Paul Durrant
	<paul@xen.org>, Xen Devel <xen-devel@lists.xen.org>
Subject: RE: Enabling hypervisor agnosticism for VirtIO backends
Thread-Topic: Enabling hypervisor agnosticism for VirtIO backends
Thread-Index:
 AQHXiWXOlXnRp9GT30mY/CfP5cid16tt4TUAgAVQpQCAAsKLQIABdsmAgAADLTCAAWVyAIAAMB+ggAMGMQCACZ/8gIAAKWUQ
Date: Thu, 26 Aug 2021 12:10:19 +0000
Message-ID:
 <DB9PR08MB68578198FF352EDC473D619E9EC79@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <87v94ldrqq.fsf@linaro.org>
 <alpine.DEB.2.21.2108041055390.9768@sstabellini-ThinkPad-T480s>
 <20210811062748.GB54169@laputa>
 <CAPD2p-mMeY=MDbAdLGrmmioSkJo147aMDrK=Qzr=PCa4jztGGg@mail.gmail.com>
 <DB9PR08MB685767CFAA4A8BCE7D2225A89EFD9@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <20210817080757.GC43203@laputa>
 <DB9PR08MB6857C656472153A42FB438C49EFE9@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <20210818053840.GE39588@laputa>
 <DB9PR08MB6857D1BE810B1D1DAF7B12AE9EFF9@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <20210820064150.GC13452@laputa> <20210826094047.GA55218@laputa>
In-Reply-To: <20210826094047.GA55218@laputa>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 6BCCF3C2DC8B2642A58D4327DDDAF083.0
x-checkrecipientchecked: true
Authentication-Results-Original: linaro.org; dkim=none (message not signed)
 header.d=none;linaro.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 905de97d-4914-4c63-619d-08d9688a81b1
x-ms-traffictypediagnostic: DB9PR08MB6506:|AM6PR08MB4248:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM6PR08MB4248E542EA8DE9B2DA14338E9EC79@AM6PR08MB4248.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:8882;OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 3hc6Q9kjQzff2hWAfW4m4Bu1Qca0X91TlcMW0VcUJuZUtWtQKl4iaeNJrR+7dUOXvbnvI/o6aveW/FEKiKfQz6j088Bt0CCa+gZusrbv5/HOgY+nSK0odSjT+JzDDLSG8ZpxW1yYXfLJQLGjc/iJoHAApO5ZqA8Nr8QgsTfgC5TaC40NGYKqpDe4RwcWOP+/sPBlwKORGoG3mROR7CenXNMm61qr4NpTN067qu5hNYwu+RJ9NpY5pOQ+DBRysclnS2iKNJc0VCzqRJ7jRbCg5Dn/dXlVEVSU+VzQpFiy0xM6n99gi2tk7iiU6vK76QM5b2z2PR+pO1+wVrElXaqRzwIQ8RtHtXtbVmsucOGuelpgSUKkxiA1dv1SA8lY0TEhsR+3CzFv/enKBb2M0pHRfCxi5OAk151LnshcJrILcbYJY0EFzcODmBgOzigb1IZu3pyphJ4mpJ6aOui7hcDImqCaVnR5CNWxqPjN/CGMEV1p2y2/gF7V8cdx0bYAmWKFR35KyXR9O7xk5OZc6Y/19V1S2UQYx4Imd9X7rODUzbVrsQbV/JYphbxJbO2Bd6O6Q/YBO3bqcM/P+xElwc530KmM7IyZjjlNxlHS9Qab8le/ACFFa2Xoim5LNMfdeQJhQ8etPA8FPYIkmsbx2/Na3XPV9zGoX4mK5FJzoYpGBmC8X5qrk254H347xrythd061t9o3LGOjW/9zmJxx1yRtyGmGn50N39AJ22WG0jHoB1mPwbDZaPULkHWlBEYCx2YsN5U9dk4m+0/ZVRzwAEgcbwekeEpD7OwEYsF00EdTT2O31QjOvMyeQDO5Ci7jl6wedZwqLDaBiPSkKf3Wcftbw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(346002)(136003)(366004)(376002)(396003)(39850400004)(83380400001)(2906002)(66574015)(8676002)(8936002)(33656002)(66476007)(64756008)(66946007)(86362001)(66446008)(76116006)(66556008)(38070700005)(30864003)(71200400001)(966005)(316002)(54906003)(6506007)(9686003)(478600001)(7416002)(53546011)(4326008)(6916009)(186003)(55016002)(7696005)(52536014)(5660300002)(26005)(38100700002)(122000001)(579004)(559001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?UTFUSmRJK1B4VndtNlJnMWpPNUVPcVJ1SmpuR21XZ1A1dHNTYzF6dk41VG5H?=
 =?utf-8?B?bm1jcjdsSlZDMjd3U3ZaYUY2S2ptZjJ5S2VaRDBSY01zU0ViNlpPVlE3YzFw?=
 =?utf-8?B?MTFXTC8vbW05dlA0T1dFWE54VTJ1VVZJbUM4UXMvZUZrRFNoOUs0dzl4RXJk?=
 =?utf-8?B?cU5EOVpsVHdPSVlwT05HeHZML0pFV2tPVjRJTEZDdmNWeVRMNitEemFFR1dl?=
 =?utf-8?B?TGZnZlB0UFhMOUpDZXQ5N0tySnJENlVTUWsvYlVHRW93TER6VEIxVUJzS1FM?=
 =?utf-8?B?MFNtK3ZIQUlQakJ3T1gzTFNmbDlEYUV5YmwwMjhNaXpjU21kcUVEdmRDN0J6?=
 =?utf-8?B?ZUxlckcxV08zd3F6amJvcUUzdDhFSXZMaW9qTnJOcEc1TnJsWlNNMlZoL3Rp?=
 =?utf-8?B?NzhJMmF5OStvaU5yQlVCd3JiNXpFbzd5TVNWOVgxbDRBYU14anJzSEx0amh2?=
 =?utf-8?B?SzdacG4wcUlSSFg4WUVpeUlTRzRXVndTNis0NzhhRVV0am1NVSs2eTh4WVZq?=
 =?utf-8?B?K3M0dElodnFaRG5LYmszTEpqSW9GZ09LTmVCcmRTOTVTMyszK0pKOENDaXF6?=
 =?utf-8?B?Z0FxaThBTWlQeGJWY2x5Z21PY3l3NHMxdlI4T0hDZWk1ZWxoZ0phN2xiYldy?=
 =?utf-8?B?dDk3Qm1ZSHN4MUtkZ3l4bFVmZzFESWxzbnJWaDlRYmhVdXpXTWFsd25XWXRZ?=
 =?utf-8?B?SGI3eVl3aE42VDhSRnVhV2sxYTdhdndSS2E2dFBNUkhEUXV4eWF4aGVFa0s0?=
 =?utf-8?B?bFB3dFArYlRraXpCR2l3NTl2RnZYeVF5RVNjM3c2WmZoOWhuRGdCUHlCZlE2?=
 =?utf-8?B?TEZDdWd0NGpBZkVMUXVrZTJSeWNjZ0ZvQXB6UWVwN0ViUm8rS1E5NTRtVzB1?=
 =?utf-8?B?M2x4bUoyVk9WYm1uN0pEUTMyajdlS2RpbEh1amorNVM0QmgxbFV1ZHlCV1VK?=
 =?utf-8?B?VFV0dlBsR2dpZWtjcG53MHYrUkw3bUtaTXlIT1F5VmhqZGhuRTZmM0xrOFhI?=
 =?utf-8?B?T2ZtdkZvY2dJMjJlYzc4K1lxRUMwaVdqNHlsVHBKVFBRcFUreU1PS05La0F0?=
 =?utf-8?B?bUNpR05SdS9ic1VnSUpLc0JnVW9kNTVLc2xWMkMrQ01vRkpybG1FU0lOY01j?=
 =?utf-8?B?TDZUTUtNOGltblgrR3FOTmpmZ0dpU202Zm42QU1uMjJZZ3dTNmxmdnFjNGxz?=
 =?utf-8?B?bERRU0xRRFVuMHVWYVRtU2Z0Z2ZKT0NBYzhYdlkreFZYK3A2SUtHNFNELzNM?=
 =?utf-8?B?Q05NR3JYRElwWXp0VWFmdHZNdFpGaTlsblFMdUlWZWNqbXgvdTFlWEtNUU9j?=
 =?utf-8?B?ckt6MEUxRkVTcE1WVGJ0bUE2L0JXQkozK2hsbDY5RTdUZk1OSmJYdHY4M1hy?=
 =?utf-8?B?K0NqNUh5NXZIcHRwUzlOS3VMdkxHUmxNbWovMTZMN2cwYjUwb2FXcFovN3NC?=
 =?utf-8?B?dVpKVGpUSExJRjlPSlpFaGNmZW5BUkhsa0piYmM4U25kNmtQLy9MS2lWaTNx?=
 =?utf-8?B?a0R5Y095ZDM3c2J3aE8yMERySVFVZWp3aFF2TFFEbnloU0VST21VZnlLaE1w?=
 =?utf-8?B?QnhKUGVSdlpRd2NudVM5VFVqb0FGUTBkRUV5NE9VR3lWOTREREhhRHpvVzd0?=
 =?utf-8?B?ZW5UVTQ4Y1RsemxwVXVOUFN5WEpJeDhCWnpqVGhsRkw1em0xKzZVYU1nUkZM?=
 =?utf-8?B?cTluckZwYzU3NWY5bmV0aEFlOE5KUllWMHlJb1FSV1pvc3h1R1B3VUFJcUlT?=
 =?utf-8?Q?nroNMtPEwR1vdkb7yUa2psW4aHZFu3YTgk2GDLQ?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6506
Original-Authentication-Results: linaro.org; dkim=none (message not signed)
 header.d=none;linaro.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT027.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	79a03709-6a1d-4cb7-ccb0-08d9688a7912
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	YeERUklRBoxi57PkF1z/BwOHaITACwya6LxZYrGCg4O2FhmDsgX4Ol7Lmplz1wXdZeSKCfzMXsvyurkpMrXUtegs+aDo+/satsLx2Ry6FtZB6XNSho1cI7bzOXP2j7CE1vDzXsD+fL27rmhNeKcLKX0IDPFXcNftb2gxntN/mqc4H+oi0cTyF0agsjwbe0VgROASXvRLGhaFZoAubnnPMewT5jypIZ2GuNTg4585cUHz6dUXiMzQ2NB3pOY8zt8MkgNlZPuv6LAxAJFvjkZTULOoFG+JJ3t4kRJZtyyjPPXuVEoP+ELMl9zuF8utInwBLLWUJ6a8n6FUUslwXKXiwPiHekQHgIj58KpUlziLYYeBA9vceNBICSBjzGdXiT3ImjL/0QKr1+Jl+SjWGt7ln7oSLXIPyFWhC5Zi7QgmgRiU6bEW/2q4whI1pyjpYeEyLLz2dBkKDRcdK249PSQFfLyyxKq0bMzJsHxBwJrYuPXt51PtrMNi8BrAUcpy4cQyTLLRDDMfBNaxYjhshVD8/ohwXYtslKVqR+NZn1DbdzQaNmqtLtw0yFcFW2M50gmswU9bshSd6d2yQNegmyk3ayuo6T0xBiwZkxPUPSenvVrz5u847XCnbIik/wrGZAofIU1Vyzug45f36kyWlklwJq+EDlZKYsrL6ZKPPomGEcS1Ms2to77+2hHh9RZT/X9hfeTwt7Z5/UGAsN4o8xYwARHljGz1HM4tHLRP9IohaB1FZbgLOVJoQKXkv1WoSC6ym4BAvuLwwgD71FiaCfyv+9f9hcYTAYk9CtVGB0Au8jmbKV1i70RYquQCdZskDXCVIXkgN2QLgsJjZw6KZWNWWQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(36840700001)(46966006)(316002)(70206006)(30864003)(52536014)(6506007)(53546011)(70586007)(8936002)(966005)(86362001)(36860700001)(336012)(82310400003)(7696005)(5660300002)(26005)(47076005)(9686003)(81166007)(55016002)(83380400001)(2906002)(66574015)(6862004)(33656002)(508600001)(8676002)(356005)(54906003)(186003)(4326008);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 12:10:33.9487
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 905de97d-4914-4c63-619d-08d9688a81b1
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT027.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4248

SGkgQWthc2hpLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEFLQVNI
SSBUYWthaGlybyA8dGFrYWhpcm8uYWthc2hpQGxpbmFyby5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ4
5pyIMjbml6UgMTc6NDENCj4gVG86IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPg0KPiBDYzog
T2xla3NhbmRyIFR5c2hjaGVua28gPG9sZWtzdHlzaEBnbWFpbC5jb20+OyBTdGVmYW5vIFN0YWJl
bGxpbmkNCj4gPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+OyBBbGV4IEJlbm4/P2UgPGFsZXguYmVu
bmVlQGxpbmFyby5vcmc+OyBLYWx5IFhpbg0KPiA8S2FseS5YaW5AYXJtLmNvbT47IFN0cmF0b3Mg
TWFpbGluZyBMaXN0IDxzdHJhdG9zLWRldkBvcC1saXN0cy5saW5hcm8ub3JnPjsNCj4gdmlydGlv
LWRldkBsaXN0cy5vYXNpcy1vcGVuLm9yZzsgQXJuZCBCZXJnbWFubiA8YXJuZC5iZXJnbWFubkBs
aW5hcm8ub3JnPjsNCj4gVmlyZXNoIEt1bWFyIDx2aXJlc2gua3VtYXJAbGluYXJvLm9yZz47IFN0
ZWZhbm8gU3RhYmVsbGluaQ0KPiA8c3RlZmFuby5zdGFiZWxsaW5pQHhpbGlueC5jb20+OyBzdGVm
YW5oYUByZWRoYXQuY29tOyBKYW4gS2lzemthDQo+IDxqYW4ua2lzemthQHNpZW1lbnMuY29tPjsg
Q2FybCB2YW4gU2NoYWlrIDxjdmFuc2NoYUBxdGkucXVhbGNvbW0uY29tPjsNCj4gcHJhdGlrcEBx
dWljaW5jLmNvbTsgU3JpdmF0c2EgVmFkZGFnaXJpIDx2YXRzYUBjb2RlYXVyb3JhLm9yZz47IEpl
YW4tDQo+IFBoaWxpcHBlIEJydWNrZXIgPGplYW4tcGhpbGlwcGVAbGluYXJvLm9yZz47IE1hdGhp
ZXUgUG9pcmllcg0KPiA8bWF0aGlldS5wb2lyaWVyQGxpbmFyby5vcmc+OyBPbGVrc2FuZHIgVHlz
aGNoZW5rbw0KPiA8T2xla3NhbmRyX1R5c2hjaGVua29AZXBhbS5jb20+OyBCZXJ0cmFuZCBNYXJx
dWlzDQo+IDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+OyBBcnRlbSBNeWdhaWV2IDxBcnRlbV9N
eWdhaWV2QGVwYW0uY29tPjsgSnVsaWVuDQo+IEdyYWxsIDxqdWxpZW5AeGVuLm9yZz47IEp1ZXJn
ZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT47IFBhdWwgRHVycmFudA0KPiA8cGF1bEB4ZW4ub3Jn
PjsgWGVuIERldmVsIDx4ZW4tZGV2ZWxAbGlzdHMueGVuLm9yZz4NCj4gU3ViamVjdDogUmU6IEVu
YWJsaW5nIGh5cGVydmlzb3IgYWdub3N0aWNpc20gZm9yIFZpcnRJTyBiYWNrZW5kcw0KPg0KPiBI
aSBXZWksDQo+DQo+IE9uIEZyaSwgQXVnIDIwLCAyMDIxIGF0IDAzOjQxOjUwUE0gKzA5MDAsIEFL
QVNISSBUYWthaGlybyB3cm90ZToNCj4gPiBPbiBXZWQsIEF1ZyAxOCwgMjAyMSBhdCAwODozNTo1
MUFNICswMDAwLCBXZWkgQ2hlbiB3cm90ZToNCj4gPiA+IEhpIEFrYXNoae+8jA0KPiA+ID4NCj4g
PiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gRnJvbTogQUtBU0hJIFRh
a2FoaXJvIDx0YWthaGlyby5ha2FzaGlAbGluYXJvLm9yZz4NCj4gPiA+ID4gU2VudDogMjAyMeW5
tDjmnIgxOOaXpSAxMzozOQ0KPiA+ID4gPiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+
DQo+ID4gPiA+IENjOiBPbGVrc2FuZHIgVHlzaGNoZW5rbyA8b2xla3N0eXNoQGdtYWlsLmNvbT47
IFN0ZWZhbm8gU3RhYmVsbGluaQ0KPiA+ID4gPiA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz47IEFs
ZXggQmVubj8/ZSA8YWxleC5iZW5uZWVAbGluYXJvLm9yZz47DQo+IFN0cmF0b3MNCj4gPiA+ID4g
TWFpbGluZyBMaXN0IDxzdHJhdG9zLWRldkBvcC1saXN0cy5saW5hcm8ub3JnPjsgdmlydGlvLQ0K
PiBkZXZAbGlzdHMub2FzaXMtDQo+ID4gPiA+IG9wZW4ub3JnOyBBcm5kIEJlcmdtYW5uIDxhcm5k
LmJlcmdtYW5uQGxpbmFyby5vcmc+OyBWaXJlc2ggS3VtYXINCj4gPiA+ID4gPHZpcmVzaC5rdW1h
ckBsaW5hcm8ub3JnPjsgU3RlZmFubyBTdGFiZWxsaW5pDQo+ID4gPiA+IDxzdGVmYW5vLnN0YWJl
bGxpbmlAeGlsaW54LmNvbT47IHN0ZWZhbmhhQHJlZGhhdC5jb207IEphbiBLaXN6a2ENCj4gPiA+
ID4gPGphbi5raXN6a2FAc2llbWVucy5jb20+OyBDYXJsIHZhbiBTY2hhaWsNCj4gPGN2YW5zY2hh
QHF0aS5xdWFsY29tbS5jb20+Ow0KPiA+ID4gPiBwcmF0aWtwQHF1aWNpbmMuY29tOyBTcml2YXRz
YSBWYWRkYWdpcmkgPHZhdHNhQGNvZGVhdXJvcmEub3JnPjsNCj4gSmVhbi0NCj4gPiA+ID4gUGhp
bGlwcGUgQnJ1Y2tlciA8amVhbi1waGlsaXBwZUBsaW5hcm8ub3JnPjsgTWF0aGlldSBQb2lyaWVy
DQo+ID4gPiA+IDxtYXRoaWV1LnBvaXJpZXJAbGluYXJvLm9yZz47IE9sZWtzYW5kciBUeXNoY2hl
bmtvDQo+ID4gPiA+IDxPbGVrc2FuZHJfVHlzaGNoZW5rb0BlcGFtLmNvbT47IEJlcnRyYW5kIE1h
cnF1aXMNCj4gPiA+ID4gPEJlcnRyYW5kLk1hcnF1aXNAYXJtLmNvbT47IEFydGVtIE15Z2FpZXYg
PEFydGVtX015Z2FpZXZAZXBhbS5jb20+Ow0KPiBKdWxpZW4NCj4gPiA+ID4gR3JhbGwgPGp1bGll
bkB4ZW4ub3JnPjsgSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPjsgUGF1bA0KPiBEdXJy
YW50DQo+ID4gPiA+IDxwYXVsQHhlbi5vcmc+OyBYZW4gRGV2ZWwgPHhlbi1kZXZlbEBsaXN0cy54
ZW4ub3JnPg0KPiA+ID4gPiBTdWJqZWN0OiBSZTogRW5hYmxpbmcgaHlwZXJ2aXNvciBhZ25vc3Rp
Y2lzbSBmb3IgVmlydElPIGJhY2tlbmRzDQo+ID4gPiA+DQo+ID4gPiA+IE9uIFR1ZSwgQXVnIDE3
LCAyMDIxIGF0IDA4OjM5OjA5QU0gKzAwMDAsIFdlaSBDaGVuIHdyb3RlOg0KPiA+ID4gPiA+IEhp
IEFrYXNoaSwNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t
LS0NCj4gPiA+ID4gPiA+IEZyb206IEFLQVNISSBUYWthaGlybyA8dGFrYWhpcm8uYWthc2hpQGxp
bmFyby5vcmc+DQo+ID4gPiA+ID4gPiBTZW50OiAyMDIx5bm0OOaciDE35pelIDE2OjA4DQo+ID4g
PiA+ID4gPiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+ID4gPiA+ID4gPiBDYzog
T2xla3NhbmRyIFR5c2hjaGVua28gPG9sZWtzdHlzaEBnbWFpbC5jb20+OyBTdGVmYW5vDQo+IFN0
YWJlbGxpbmkNCj4gPiA+ID4gPiA+IDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPjsgQWxleCBCZW5u
Pz9lIDxhbGV4LmJlbm5lZUBsaW5hcm8ub3JnPjsNCj4gPiA+ID4gU3RyYXRvcw0KPiA+ID4gPiA+
ID4gTWFpbGluZyBMaXN0IDxzdHJhdG9zLWRldkBvcC1saXN0cy5saW5hcm8ub3JnPjsgdmlydGlv
LQ0KPiA+ID4gPiBkZXZAbGlzdHMub2FzaXMtDQo+ID4gPiA+ID4gPiBvcGVuLm9yZzsgQXJuZCBC
ZXJnbWFubiA8YXJuZC5iZXJnbWFubkBsaW5hcm8ub3JnPjsgVmlyZXNoIEt1bWFyDQo+ID4gPiA+
ID4gPiA8dmlyZXNoLmt1bWFyQGxpbmFyby5vcmc+OyBTdGVmYW5vIFN0YWJlbGxpbmkNCj4gPiA+
ID4gPiA+IDxzdGVmYW5vLnN0YWJlbGxpbmlAeGlsaW54LmNvbT47IHN0ZWZhbmhhQHJlZGhhdC5j
b207IEphbiBLaXN6a2ENCj4gPiA+ID4gPiA+IDxqYW4ua2lzemthQHNpZW1lbnMuY29tPjsgQ2Fy
bCB2YW4gU2NoYWlrDQo+IDxjdmFuc2NoYUBxdGkucXVhbGNvbW0uY29tPjsNCj4gPiA+ID4gPiA+
IHByYXRpa3BAcXVpY2luYy5jb207IFNyaXZhdHNhIFZhZGRhZ2lyaSA8dmF0c2FAY29kZWF1cm9y
YS5vcmc+Ow0KPiBKZWFuLQ0KPiA+ID4gPiA+ID4gUGhpbGlwcGUgQnJ1Y2tlciA8amVhbi1waGls
aXBwZUBsaW5hcm8ub3JnPjsgTWF0aGlldSBQb2lyaWVyDQo+ID4gPiA+ID4gPiA8bWF0aGlldS5w
b2lyaWVyQGxpbmFyby5vcmc+OyBPbGVrc2FuZHIgVHlzaGNoZW5rbw0KPiA+ID4gPiA+ID4gPE9s
ZWtzYW5kcl9UeXNoY2hlbmtvQGVwYW0uY29tPjsgQmVydHJhbmQgTWFycXVpcw0KPiA+ID4gPiA+
ID4gPEJlcnRyYW5kLk1hcnF1aXNAYXJtLmNvbT47IEFydGVtIE15Z2FpZXYNCj4gPEFydGVtX015
Z2FpZXZAZXBhbS5jb20+Ow0KPiA+ID4gPiBKdWxpZW4NCj4gPiA+ID4gPiA+IEdyYWxsIDxqdWxp
ZW5AeGVuLm9yZz47IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT47IFBhdWwNCj4gRHVy
cmFudA0KPiA+ID4gPiA+ID4gPHBhdWxAeGVuLm9yZz47IFhlbiBEZXZlbCA8eGVuLWRldmVsQGxp
c3RzLnhlbi5vcmc+DQo+ID4gPiA+ID4gPiBTdWJqZWN0OiBSZTogRW5hYmxpbmcgaHlwZXJ2aXNv
ciBhZ25vc3RpY2lzbSBmb3IgVmlydElPIGJhY2tlbmRzDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+
ID4gSGkgV2VpLCBPbGVrc2FuZHIsDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gT24gTW9uLCBB
dWcgMTYsIDIwMjEgYXQgMTA6MDQ6MDNBTSArMDAwMCwgV2VpIENoZW4gd3JvdGU6DQo+ID4gPiA+
ID4gPiA+IEhpIEFsbCwNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gVGhhbmtzIGZvciBT
dGVmYW5vIHRvIGxpbmsgbXkga3ZtdG9vbCBmb3IgWGVuIHByb3Bvc2FsIGhlcmUuDQo+ID4gPiA+
ID4gPiA+IFRoaXMgcHJvcG9zYWwgaXMgc3RpbGwgZGlzY3Vzc2luZyBpbiBYZW4gYW5kIEtWTSBj
b21tdW5pdGllcy4NCj4gPiA+ID4gPiA+ID4gVGhlIG1haW4gd29yayBpcyB0byBkZWNvdXBsZSB0
aGUga3ZtdG9vbCBmcm9tIEtWTSBhbmQgbWFrZQ0KPiA+ID4gPiA+ID4gPiBvdGhlciBoeXBlcnZp
c29ycyBjYW4gcmV1c2UgdGhlIHZpcnR1YWwgZGV2aWNlIGltcGxlbWVudGF0aW9ucy4NCj4gPiA+
ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gSW4gdGhpcyBjYXNlLCB3ZSBuZWVkIHRvIGludHJvZHVj
ZSBhbiBpbnRlcm1lZGlhdGUgaHlwZXJ2aXNvcg0KPiA+ID4gPiA+ID4gPiBsYXllciBmb3IgVk1N
IGFic3RyYWN0aW9uLCBXaGljaCBpcywgSSB0aGluayBpdCdzIHZlcnkgY2xvc2UNCj4gPiA+ID4g
PiA+ID4gdG8gc3RyYXRvcycgdmlydGlvIGh5cGVydmlzb3IgYWdub3N0aWNpc20gd29yay4NCj4g
PiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAjIE15IHByb3Bvc2FsWzFdIGNvbWVzIGZyb20gbXkgb3du
IGlkZWEgYW5kIGRvZXNuJ3QgYWx3YXlzDQo+IHJlcHJlc2VudA0KPiA+ID4gPiA+ID4gIyBMaW5h
cm8ncyB2aWV3IG9uIHRoaXMgc3ViamVjdCBub3IgcmVmbGVjdCBBbGV4J3MgY29uY2VybnMuDQo+
ID4gPiA+IE5ldmVydGhlbGVzcywNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBZb3VyIGlkZWEg
YW5kIG15IHByb3Bvc2FsIHNlZW0gdG8gc2hhcmUgdGhlIHNhbWUgYmFja2dyb3VuZC4NCj4gPiA+
ID4gPiA+IEJvdGggaGF2ZSB0aGUgc2ltaWxhciBnb2FsIGFuZCBjdXJyZW50bHkgc3RhcnQgd2l0
aCwgYXQgZmlyc3QsDQo+IFhlbg0KPiA+ID4gPiA+ID4gYW5kIGFyZSBiYXNlZCBvbiBrdm0tdG9v
bC4gKEFjdHVhbGx5LCBteSB3b3JrIGlzIGRlcml2ZWQgZnJvbQ0KPiA+ID4gPiA+ID4gRVBBTSdz
IHZpcnRpby1kaXNrLCB3aGljaCBpcyBhbHNvIGJhc2VkIG9uIGt2bS10b29sLikNCj4gPiA+ID4g
PiA+DQo+ID4gPiA+ID4gPiBJbiBwYXJ0aWN1bGFyLCB0aGUgYWJzdHJhY3Rpb24gb2YgaHlwZXJ2
aXNvciBpbnRlcmZhY2VzIGhhcyBhDQo+IHNhbWUNCj4gPiA+ID4gPiA+IHNldCBvZiBpbnRlcmZh
Y2VzIChmb3IgeW91ciAic3RydWN0IHZtbV9pbXBsIiBhbmQgbXkgIlJQQw0KPiBpbnRlcmZhY2Vz
IikuDQo+ID4gPiA+ID4gPiBUaGlzIGlzIG5vdCBjby1pbmNpZGVudCBhcyB3ZSBib3RoIHNoYXJl
IHRoZSBzYW1lIG9yaWdpbiBhcyBJDQo+IHNhaWQNCj4gPiA+ID4gYWJvdmUuDQo+ID4gPiA+ID4g
PiBBbmQgc28gd2Ugd2lsbCBhbHNvIHNoYXJlIHRoZSBzYW1lIGlzc3Vlcy4gT25lIG9mIHRoZW0g
aXMgYSB3YXkNCj4gb2YNCj4gPiA+ID4gPiA+ICJzaGFyaW5nL21hcHBpbmcgRkUncyBtZW1vcnki
LiBUaGVyZSBpcyBzb21lIHRyYWRlLW9mZiBiZXR3ZWVuDQo+ID4gPiA+ID4gPiB0aGUgcG9ydGFi
aWxpdHkgYW5kIHRoZSBwZXJmb3JtYW5jZSBpbXBhY3QuDQo+ID4gPiA+ID4gPiBTbyB3ZSBjYW4g
ZGlzY3VzcyB0aGUgdG9waWMgaGVyZSBpbiB0aGlzIE1MLCB0b28uDQo+ID4gPiA+ID4gPiAoU2Vl
IEFsZXgncyBvcmlnaW5hbCBlbWFpbCwgdG9vKS4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gWWVz
LCBJIGFncmVlLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBPbiB0aGUgb3RoZXIgaGFuZCwgbXkg
YXBwcm9hY2ggYWltcyB0byBjcmVhdGUgYSAic2luZ2xlLWJpbmFyeSINCj4gPiA+ID4gc29sdXRp
b24NCj4gPiA+ID4gPiA+IGluIHdoaWNoIHRoZSBzYW1lIGJpbmFyeSBvZiBCRSB2bSBjb3VsZCBy
dW4gb24gYW55IGh5cGVydmlzb3JzLg0KPiA+ID4gPiA+ID4gU29tZWhvdyBzaW1pbGFyIHRvIHlv
dXIgInByb3Bvc2FsLSMyIiBpbiBbMl0sIGJ1dCBpbiBteSBzb2x1dGlvbiwNCj4gYWxsDQo+ID4g
PiA+ID4gPiB0aGUgaHlwZXJ2aXNvci1zcGVjaWZpYyBjb2RlIHdvdWxkIGJlIHB1dCBpbnRvIGFu
b3RoZXIgZW50aXR5DQo+IChWTSksDQo+ID4gPiA+ID4gPiBuYW1lZCAidmlydGlvLXByb3h5IiBh
bmQgdGhlIGFic3RyYWN0ZWQgb3BlcmF0aW9ucyBhcmUgc2VydmVkDQo+IHZpYSBSUEMuDQo+ID4g
PiA+ID4gPiAoSW4gdGhpcyBzZW5zZSwgQkUgaXMgaHlwZXJ2aXNvci1hZ25vc3RpYyBidXQgbWln
aHQgaGF2ZSBPUw0KPiA+ID4gPiBkZXBlbmRlbmN5LikNCj4gPiA+ID4gPiA+IEJ1dCBJIGtub3cg
dGhhdCB3ZSBuZWVkIGRpc2N1c3MgaWYgdGhpcyBpcyBhIHJlcXVpcmVtZW50IGV2ZW4NCj4gPiA+
ID4gPiA+IGluIFN0cmF0b3MgcHJvamVjdCBvciBub3QuIChNYXliZSBub3QpDQo+ID4gPiA+ID4g
Pg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gU29ycnksIEkgaGF2ZW4ndCBoYWQgdGltZSB0byBmaW5p
c2ggcmVhZGluZyB5b3VyIHZpcnRpby1wcm94eQ0KPiBjb21wbGV0ZWx5DQo+ID4gPiA+ID4gKEkg
d2lsbCBkbyBpdCBBU0FQKS4gQnV0IGZyb20geW91ciBkZXNjcmlwdGlvbiwgaXQgc2VlbXMgd2Ug
bmVlZCBhDQo+ID4gPiA+ID4gM3JkIFZNIGJldHdlZW4gRkUgYW5kIEJFPyBNeSBjb25jZXJuIGlz
IHRoYXQsIGlmIG15IGFzc3VtcHRpb24gaXMNCj4gcmlnaHQsDQo+ID4gPiA+ID4gd2lsbCBpdCBp
bmNyZWFzZSB0aGUgbGF0ZW5jeSBpbiBkYXRhIHRyYW5zcG9ydCBwYXRoPyBFdmVuIGlmIHdlJ3Jl
DQo+ID4gPiA+ID4gdXNpbmcgc29tZSBsaWdodHdlaWdodCBndWVzdCBsaWtlIFJUT1Mgb3IgVW5p
a2VybmVsLA0KPiA+ID4gPg0KPiA+ID4gPiBZZXMsIHlvdSdyZSByaWdodC4gQnV0IEknbSBhZnJh
aWQgdGhhdCBpdCBpcyBhIG1hdHRlciBvZiBkZWdyZWUuDQo+ID4gPiA+IEFzIGZhciBhcyB3ZSBl
eGVjdXRlICdtYXBwaW5nJyBvcGVyYXRpb25zIGF0IGV2ZXJ5IGZldGNoIG9mIHBheWxvYWQsDQo+
ID4gPiA+IHdlIHdpbGwgc2VlIGxhdGVuY3kgaXNzdWUgKGV2ZW4gaW4geW91ciBjYXNlKSBhbmQg
aWYgd2UgaGF2ZSBzb21lDQo+IHNvbHV0aW9uDQo+ID4gPiA+IGZvciBpdCwgd2Ugd29uJ3Qgc2Vl
IGl0IG5laXRoZXIgaW4gbXkgcHJvcG9zYWwgOikNCj4gPiA+ID4NCj4gPiA+DQo+ID4gPiBPbGVr
c2FuZHIgaGFzIHNlbnQgYSBwcm9wb3NhbCB0byBYZW4gbWFpbGluZyBsaXN0IHRvIHJlZHVjZSB0
aGlzIGtpbmQNCj4gPiA+IG9mICJtYXBwaW5nL3VubWFwcGluZyIgb3BlcmF0aW9ucy4gU28gdGhl
IGxhdGVuY3kgY2F1c2VkIGJ5IHRoaXMNCj4gYmVoYXZpb3INCj4gPiA+IG9uIFhlbiBtYXkgZXZl
bnR1YWxseSBiZSBlbGltaW5hdGVkLCBhbmQgTGludXgtS1ZNIGRvZXNuJ3QgaGF2ZSB0aGF0DQo+
IHByb2JsZW0uDQo+ID4NCj4gPiBPYnZpb3VzbHksIEkgaGF2ZSBub3QgeWV0IGNhdWdodCB1cCB0
aGVyZSBpbiB0aGUgZGlzY3Vzc2lvbi4NCj4gPiBXaGljaCBwYXRjaCBzcGVjaWZpY2FsbHk/DQo+
DQo+IENhbiB5b3UgZ2l2ZSBtZSB0aGUgbGluayB0byB0aGUgZGlzY3Vzc2lvbiBvciBwYXRjaCwg
cGxlYXNlPw0KPg0KDQpJdCdzIGEgUkZDIGRpc2N1c3Npb24uIFdlIGhhdmUgdGVzdGVkIHRoaXMg
UkZDIHBhdGNoIGludGVybmFsbHkuDQpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL2FyY2hp
dmVzL2h0bWwveGVuLWRldmVsLzIwMjEtMDcvbXNnMDE1MzIuaHRtbA0KDQo+IFRoYW5rcywNCj4g
LVRha2FoaXJvIEFrYXNoaQ0KPg0KPiA+IC1UYWthaGlybyBBa2FzaGkNCj4gPg0KPiA+ID4gPiA+
ID4gU3BlY2lmaWNhbGx5IHNwZWFraW5nIGFib3V0IGt2bS10b29sLCBJIGhhdmUgYSBjb25jZXJu
IGFib3V0IGl0cw0KPiA+ID4gPiA+ID4gbGljZW5zZSB0ZXJtOyBUYXJnZXRpbmcgZGlmZmVyZW50
IGh5cGVydmlzb3JzIGFuZCBkaWZmZXJlbnQgT1NzDQo+ID4gPiA+ID4gPiAod2hpY2ggSSBhc3N1
bWUgaW5jbHVkZXMgUlRPUydzKSwgdGhlIHJlc3VsdGFudCBsaWJyYXJ5IHNob3VsZA0KPiBiZQ0K
PiA+ID4gPiA+ID4gbGljZW5zZSBwZXJtaXNzaXZlIGFuZCBHUEwgZm9yIGt2bS10b29sIG1pZ2h0
IGJlIGFuIGlzc3VlLg0KPiA+ID4gPiA+ID4gQW55IHRob3VnaHRzPw0KPiA+ID4gPiA+ID4NCj4g
PiA+ID4gPg0KPiA+ID4gPiA+IFllcy4gSWYgdXNlciB3YW50IHRvIGltcGxlbWVudCBhIEZyZWVC
U0QgZGV2aWNlIG1vZGVsLCBidXQgdGhlDQo+IHZpcnRpbw0KPiA+ID4gPiA+IGxpYnJhcnkgaXMg
R1BMLiBUaGVuIEdQTCB3b3VsZCBiZSBhIHByb2JsZW0uIElmIHdlIGhhdmUgYW5vdGhlcg0KPiBn
b29kDQo+ID4gPiA+ID4gY2FuZGlkYXRlLCBJIGFtIG9wZW4gdG8gaXQuDQo+ID4gPiA+DQo+ID4g
PiA+IEkgaGF2ZSBzb21lIGNhbmRpZGF0ZXMsIHBhcnRpY3VsYXJseSBmb3IgdnEvdnJpbmcsIGlu
IG15IG1pbmQ6DQo+ID4gPiA+ICogT3Blbi1BTVAsIG9yDQo+ID4gPiA+ICogY29ycmVzcG9uZGlu
ZyBGcmVlLUJTRCBjb2RlDQo+ID4gPiA+DQo+ID4gPg0KPiA+ID4gSW50ZXJlc3RpbmcsIEkgd2ls
bCBsb29rIGludG8gdGhlbSA6ICkNCj4gPiA+DQo+ID4gPiBDaGVlcnMsDQo+ID4gPiBXZWkgQ2hl
bg0KPiA+ID4NCj4gPiA+ID4gLVRha2FoaXJvIEFrYXNoaQ0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+
ID4gPiA+ID4gLVRha2FoaXJvIEFrYXNoaQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+DQo+ID4g
PiA+ID4gPiBbMV0gaHR0cHM6Ly9vcC1saXN0cy5saW5hcm8ub3JnL3BpcGVybWFpbC9zdHJhdG9z
LWRldi8yMDIxLQ0KPiA+ID4gPiA+ID4gQXVndXN0LzAwMDU0OC5odG1sDQo+ID4gPiA+ID4gPiBb
Ml0gaHR0cHM6Ly9tYXJjLmluZm8vP2w9eGVuLWRldmVsJm09MTYyMzczNzU0NzA1MjMzJnc9Mg0K
PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiBGcm9tOiBPbGVrc2Fu
ZHIgVHlzaGNoZW5rbyA8b2xla3N0eXNoQGdtYWlsLmNvbT4NCj4gPiA+ID4gPiA+ID4gPiBTZW50
OiAyMDIx5bm0OOaciDE05pelIDIzOjM4DQo+ID4gPiA+ID4gPiA+ID4gVG86IEFLQVNISSBUYWth
aGlybyA8dGFrYWhpcm8uYWthc2hpQGxpbmFyby5vcmc+OyBTdGVmYW5vDQo+ID4gPiA+IFN0YWJl
bGxpbmkNCj4gPiA+ID4gPiA+IDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPg0KPiA+ID4gPiA+ID4g
PiA+IENjOiBBbGV4IEJlbm4/P2UgPGFsZXguYmVubmVlQGxpbmFyby5vcmc+OyBTdHJhdG9zIE1h
aWxpbmcNCj4gTGlzdA0KPiA+ID4gPiA+ID4gPHN0cmF0b3MtZGV2QG9wLWxpc3RzLmxpbmFyby5v
cmc+OyB2aXJ0aW8tZGV2QGxpc3RzLm9hc2lzLQ0KPiBvcGVuLm9yZzsNCj4gPiA+ID4gQXJuZA0K
PiA+ID4gPiA+ID4gQmVyZ21hbm4gPGFybmQuYmVyZ21hbm5AbGluYXJvLm9yZz47IFZpcmVzaCBL
dW1hcg0KPiA+ID4gPiA+ID4gPHZpcmVzaC5rdW1hckBsaW5hcm8ub3JnPjsgU3RlZmFubyBTdGFi
ZWxsaW5pDQo+ID4gPiA+ID4gPiA8c3RlZmFuby5zdGFiZWxsaW5pQHhpbGlueC5jb20+OyBzdGVm
YW5oYUByZWRoYXQuY29tOyBKYW4gS2lzemthDQo+ID4gPiA+ID4gPiA8amFuLmtpc3prYUBzaWVt
ZW5zLmNvbT47IENhcmwgdmFuIFNjaGFpaw0KPiA8Y3ZhbnNjaGFAcXRpLnF1YWxjb21tLmNvbT47
DQo+ID4gPiA+ID4gPiBwcmF0aWtwQHF1aWNpbmMuY29tOyBTcml2YXRzYSBWYWRkYWdpcmkgPHZh
dHNhQGNvZGVhdXJvcmEub3JnPjsNCj4gSmVhbi0NCj4gPiA+ID4gPiA+IFBoaWxpcHBlIEJydWNr
ZXIgPGplYW4tcGhpbGlwcGVAbGluYXJvLm9yZz47IE1hdGhpZXUgUG9pcmllcg0KPiA+ID4gPiA+
ID4gPG1hdGhpZXUucG9pcmllckBsaW5hcm8ub3JnPjsgV2VpIENoZW4gPFdlaS5DaGVuQGFybS5j
b20+Ow0KPiBPbGVrc2FuZHINCj4gPiA+ID4gPiA+IFR5c2hjaGVua28gPE9sZWtzYW5kcl9UeXNo
Y2hlbmtvQGVwYW0uY29tPjsgQmVydHJhbmQgTWFycXVpcw0KPiA+ID4gPiA+ID4gPEJlcnRyYW5k
Lk1hcnF1aXNAYXJtLmNvbT47IEFydGVtIE15Z2FpZXYNCj4gPEFydGVtX015Z2FpZXZAZXBhbS5j
b20+Ow0KPiA+ID4gPiBKdWxpZW4NCj4gPiA+ID4gPiA+IEdyYWxsIDxqdWxpZW5AeGVuLm9yZz47
IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT47IFBhdWwNCj4gRHVycmFudA0KPiA+ID4g
PiA+ID4gPHBhdWxAeGVuLm9yZz47IFhlbiBEZXZlbCA8eGVuLWRldmVsQGxpc3RzLnhlbi5vcmc+
DQo+ID4gPiA+ID4gPiA+ID4gU3ViamVjdDogUmU6IEVuYWJsaW5nIGh5cGVydmlzb3IgYWdub3N0
aWNpc20gZm9yIFZpcnRJTw0KPiBiYWNrZW5kcw0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4g
PiA+ID4gSGVsbG8sIGFsbC4NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IFBsZWFz
ZSBzZWUgc29tZSBjb21tZW50cyBiZWxvdy4gQW5kIHNvcnJ5IGZvciB0aGUgcG9zc2libGUNCj4g
Zm9ybWF0DQo+ID4gPiA+ID4gPiBpc3N1ZXMuDQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+
ID4gPiA+IE9uIFdlZCwgQXVnIDExLCAyMDIxIGF0IDk6MjcgQU0gQUtBU0hJIFRha2FoaXJvDQo+
ID4gPiA+ID4gPiA8bWFpbHRvOnRha2FoaXJvLmFrYXNoaUBsaW5hcm8ub3JnPiB3cm90ZToNCj4g
PiA+ID4gPiA+ID4gPiA+IE9uIFdlZCwgQXVnIDA0LCAyMDIxIGF0IDEyOjIwOjAxUE0gLTA3MDAs
IFN0ZWZhbm8NCj4gU3RhYmVsbGluaQ0KPiA+ID4gPiB3cm90ZToNCj4gPiA+ID4gPiA+ID4gPiA+
ID4gQ0NpbmcgcGVvcGxlIHdvcmtpbmcgb24gWGVuK1ZpcnRJTyBhbmQgSU9SRVFzLiBOb3QNCj4g
dHJpbW1pbmcNCj4gPiA+ID4gdGhlDQo+ID4gPiA+ID4gPiBvcmlnaW5hbA0KPiA+ID4gPiA+ID4g
PiA+ID4gPiBlbWFpbCB0byBsZXQgdGhlbSByZWFkIHRoZSBmdWxsIGNvbnRleHQuDQo+ID4gPiA+
ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+IE15IGNvbW1lbnRzIGJlbG93IGFyZSBy
ZWxhdGVkIHRvIGEgcG90ZW50aWFsIFhlbg0KPiA+ID4gPiBpbXBsZW1lbnRhdGlvbiwNCj4gPiA+
ID4gPiA+IG5vdA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBiZWNhdXNlIGl0IGlzIHRoZSBvbmx5IGlt
cGxlbWVudGF0aW9uIHRoYXQgbWF0dGVycywgYnV0DQo+ID4gPiA+IGJlY2F1c2UgaXQNCj4gPiA+
ID4gPiA+IGlzDQo+ID4gPiA+ID4gPiA+ID4gPiA+IHRoZSBvbmUgSSBrbm93IGJlc3QuDQo+ID4g
PiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gUGxlYXNlIG5vdGUgdGhhdCBteSBwcm9w
b3NhbCAoYW5kIGhlbmNlIHRoZSB3b3JraW5nDQo+IHByb3RvdHlwZSlbMV0NCj4gPiA+ID4gPiA+
ID4gPiA+IGlzIGJhc2VkIG9uIFhlbidzIHZpcnRpbyBpbXBsZW1lbnRhdGlvbiAoaS5lLiBJT1JF
USkgYW5kDQo+ID4gPiA+ID4gPiBwYXJ0aWN1bGFybHkNCj4gPiA+ID4gPiA+ID4gPiA+IEVQQU0n
cyB2aXJ0aW8tZGlzayBhcHBsaWNhdGlvbiAoYmFja2VuZCBzZXJ2ZXIpLg0KPiA+ID4gPiA+ID4g
PiA+ID4gSXQgaGFzIGJlZW4sIEkgYmVsaWV2ZSwgd2VsbCBnZW5lcmFsaXplZCBidXQgaXMgc3Rp
bGwgYQ0KPiBiaXQNCj4gPiA+ID4gYmlhc2VkDQo+ID4gPiA+ID4gPiA+ID4gPiB0b3dhcmQgdGhp
cyBvcmlnaW5hbCBkZXNpZ24uDQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4g
U28gSSBob3BlIHlvdSBsaWtlIG15IGFwcHJvYWNoIDopDQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+
ID4gPiA+ID4gPiA+ID4gWzFdIGh0dHBzOi8vb3AtbGlzdHMubGluYXJvLm9yZy9waXBlcm1haWwv
c3RyYXRvcy0NCj4gZGV2LzIwMjEtDQo+ID4gPiA+ID4gPiBBdWd1c3QvMDAwNTQ2Lmh0bWwNCj4g
PiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiBMZXQgbWUgdGFrZSB0aGlzIG9wcG9y
dHVuaXR5IHRvIGV4cGxhaW4gYSBiaXQgbW9yZSBhYm91dA0KPiBteQ0KPiA+ID4gPiBhcHByb2Fj
aA0KPiA+ID4gPiA+ID4gYmVsb3cuDQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+
ID4gPiBBbHNvLCBwbGVhc2Ugc2VlIHRoaXMgcmVsZXZhbnQgZW1haWwgdGhyZWFkOg0KPiA+ID4g
PiA+ID4gPiA+ID4gPiBodHRwczovL21hcmMuaW5mby8/bD14ZW4tZGV2ZWwmbT0xNjIzNzM3NTQ3
MDUyMzMmdz0yDQo+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4g
PiA+ID4gPiA+ID4gPiA+IE9uIFdlZCwgNCBBdWcgMjAyMSwgQWxleCBCZW5uw6llIHdyb3RlOg0K
PiA+ID4gPiA+ID4gPiA+ID4gPiA+IEhpLA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+
ID4gPiA+ID4gPiA+ID4gT25lIG9mIHRoZSBnb2FscyBvZiBQcm9qZWN0IFN0cmF0b3MgaXMgdG8g
ZW5hYmxlDQo+IGh5cGVydmlzb3INCj4gPiA+ID4gPiA+IGFnbm9zdGljDQo+ID4gPiA+ID4gPiA+
ID4gPiA+ID4gYmFja2VuZHMgc28gd2UgY2FuIGVuYWJsZSBhcyBtdWNoIHJlLXVzZSBvZiBjb2Rl
IGFzDQo+IHBvc3NpYmxlDQo+ID4gPiA+IGFuZA0KPiA+ID4gPiA+ID4gYXZvaWQNCj4gPiA+ID4g
PiA+ID4gPiA+ID4gPiByZXBlYXRpbmcgb3Vyc2VsdmVzLiBUaGlzIGlzIHRoZSBmbGlwIHNpZGUg
b2YgdGhlDQo+IGZyb250IGVuZA0KPiA+ID4gPiA+ID4gd2hlcmUNCj4gPiA+ID4gPiA+ID4gPiA+
ID4gPiBtdWx0aXBsZSBmcm9udC1lbmQgaW1wbGVtZW50YXRpb25zIGFyZSByZXF1aXJlZCAtIG9u
ZQ0KPiBwZXIgT1MsDQo+ID4gPiA+ID4gPiBhc3N1bWluZw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+
IHlvdSBkb24ndCBqdXN0IHdhbnQgTGludXggZ3Vlc3RzLiBUaGUgcmVzdWx0YW50IGd1ZXN0cw0K
PiBhcmUNCj4gPiA+ID4gPiA+IHRyaXZpYWxseQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IG1vdmFi
bGUgYmV0d2VlbiBoeXBlcnZpc29ycyBtb2R1bG8gYW55IGFic3RyYWN0ZWQNCj4gcGFyYXZpcnQN
Cj4gPiA+ID4gdHlwZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IGludGVyZmFjZXMuDQo+ID4gPiA+
ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBJbiBteSBvcmlnaW5hbCB0aHVt
YiBuYWlsIHNrZXRjaCBvZiBhIHNvbHV0aW9uIEkNCj4gZW52aXNpb25lZA0KPiA+ID4gPiA+ID4g
dmhvc3QtdXNlcg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IGRhZW1vbnMgcnVubmluZyBpbiBhIGJy
b2FkbHkgUE9TSVggbGlrZSBlbnZpcm9ubWVudC4NCj4gVGhlDQo+ID4gPiA+ID4gPiBpbnRlcmZh
Y2UgdG8NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiB0aGUgZGFlbW9uIGlzIGZhaXJseSBzaW1wbGUg
cmVxdWlyaW5nIG9ubHkgc29tZSBtYXBwZWQNCj4gPiA+ID4gbWVtb3J5DQo+ID4gPiA+ID4gPiBh
bmQgc29tZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IHNvcnQgb2Ygc2lnbmFsbGluZyBmb3IgZXZl
bnRzIChvbiBMaW51eCB0aGlzIGlzDQo+IGV2ZW50ZmQpLg0KPiA+ID4gPiBUaGUNCj4gPiA+ID4g
PiA+IGlkZWEgd2FzIGENCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBzdHViIGJpbmFyeSB3b3VsZCBi
ZSByZXNwb25zaWJsZSBmb3IgYW55IGh5cGVydmlzb3INCj4gc3BlY2lmaWMNCj4gPiA+ID4gPiA+
IHNldHVwIGFuZA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IHRoZW4gbGF1bmNoIGEgY29tbW9uIGJp
bmFyeSB0byBkZWFsIHdpdGggdGhlIGFjdHVhbA0KPiA+ID4gPiB2aXJ0cXVldWUNCj4gPiA+ID4g
PiA+IHJlcXVlc3RzDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gdGhlbXNlbHZlcy4NCj4gPiA+ID4g
PiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IFNpbmNlIHRoYXQgb3JpZ2luYWwg
c2tldGNoIHdlJ3ZlIHNlZW4gYW4gZXhwYW5zaW9uIGluDQo+IHRoZQ0KPiA+ID4gPiBzb3J0DQo+
ID4gPiA+ID4gPiBvZiB3YXlzDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gYmFja2VuZHMgY291bGQg
YmUgY3JlYXRlZC4gVGhlcmUgaXMgaW50ZXJlc3QgaW4NCj4gPiA+ID4gZW5jYXBzdWxhdGluZw0K
PiA+ID4gPiA+ID4gYmFja2VuZHMNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBpbiBSVE9TZXMgb3Ig
dW5pa2VybmVscyBmb3Igc29sdXRpb25zIGxpa2UgU0NNSS4gVGhlcmUNCj4gPiA+ID4gaW50ZXJl
c3QNCj4gPiA+ID4gPiA+IGluIFJ1c3QNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBoYXMgcHJvbXB0
ZWQgaWRlYXMgb2YgdXNpbmcgdGhlIHRyYWl0IGludGVyZmFjZSB0bw0KPiBhYnN0cmFjdA0KPiA+
ID4gPiA+ID4gZGlmZmVyZW5jZXMNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBhd2F5IGFzIHdlbGwg
YXMgdGhlIGlkZWEgb2YgYmFyZS1tZXRhbCBSdXN0IGJhY2tlbmRzLg0KPiA+ID4gPiA+ID4gPiA+
ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gV2UgaGF2ZSBhIGNhcmQgKFNUUi0xMikgY2Fs
bGVkICJIeXBlcmNhbGwNCj4gU3RhbmRhcmRpc2F0aW9uIg0KPiA+ID4gPiB3aGljaA0KPiA+ID4g
PiA+ID4gPiA+ID4gPiA+IGNhbGxzIGZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZSBBUElzIG5lZWRl
ZCBmcm9tIHRoZQ0KPiA+ID4gPiBoeXBlcnZpc29yDQo+ID4gPiA+ID4gPiBzaWRlIHRvDQo+ID4g
PiA+ID4gPiA+ID4gPiA+ID4gc3VwcG9ydCBWaXJ0SU8gZ3Vlc3RzIGFuZCB0aGVpciBiYWNrZW5k
cy4gSG93ZXZlciB3ZQ0KPiBhcmUNCj4gPiA+ID4gc29tZQ0KPiA+ID4gPiA+ID4gd2F5IG9mZg0K
PiA+ID4gPiA+ID4gPiA+ID4gPiA+IGZyb20gdGhhdCBhdCB0aGUgbW9tZW50IGFzIEkgdGhpbmsg
d2UgbmVlZCB0byBhdCBsZWFzdA0KPiA+ID4gPiA+ID4gZGVtb25zdHJhdGUgb25lDQo+ID4gPiA+
ID4gPiA+ID4gPiA+ID4gcG9ydGFibGUgYmFja2VuZCBiZWZvcmUgd2Ugc3RhcnQgY29kaWZ5aW5n
DQo+IHJlcXVpcmVtZW50cy4gVG8NCj4gPiA+ID4gdGhhdA0KPiA+ID4gPiA+ID4gZW5kIEkNCj4g
PiA+ID4gPiA+ID4gPiA+ID4gPiB3YW50IHRvIHRoaW5rIGFib3V0IHdoYXQgd2UgbmVlZCBmb3Ig
YSBiYWNrZW5kIHRvDQo+IGZ1bmN0aW9uLg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+
ID4gPiA+ID4gPiA+ID4gQ29uZmlndXJhdGlvbg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID09PT09
PT09PT09PT0NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IElu
IHRoZSB0eXBlLTIgc2V0dXAgdGhpcyBpcyB0eXBpY2FsbHkgZmFpcmx5IHNpbXBsZQ0KPiBiZWNh
dXNlDQo+ID4gPiA+IHRoZQ0KPiA+ID4gPiA+ID4gaG9zdA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+
IHN5c3RlbSBjYW4gb3JjaGVzdHJhdGUgdGhlIHZhcmlvdXMgbW9kdWxlcyB0aGF0IG1ha2UNCj4g
dXAgdGhlDQo+ID4gPiA+ID4gPiBjb21wbGV0ZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IHN5c3Rl
bS4gSW4gdGhlIHR5cGUtMSBjYXNlIChvciBldmVuIHR5cGUtMiB3aXRoDQo+IGRlbGVnYXRlZA0K
PiA+ID4gPiA+ID4gc2VydmljZSBWTXMpDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gd2UgbmVlZCBz
b21lIHNvcnQgb2YgbWVjaGFuaXNtIHRvIGluZm9ybSB0aGUgYmFja2VuZA0KPiBWTQ0KPiA+ID4g
PiBhYm91dA0KPiA+ID4gPiA+ID4ga2V5DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gZGV0YWlscyBh
Ym91dCB0aGUgc3lzdGVtOg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4g
PiA+ID4gICAtIHdoZXJlIHZpcnQgcXVldWUgbWVtb3J5IGlzIGluIGl0J3MgYWRkcmVzcyBzcGFj
ZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICAgLSBob3cgaXQncyBnb2luZyB0byByZWNlaXZlIChp
bnRlcnJ1cHQpIGFuZCB0cmlnZ2VyDQo+IChraWNrKQ0KPiA+ID4gPiA+ID4gZXZlbnRzDQo+ID4g
PiA+ID4gPiA+ID4gPiA+ID4gICAtIHdoYXQgKGlmIGFueSkgcmVzb3VyY2VzIHRoZSBiYWNrZW5k
IG5lZWRzIHRvDQo+IGNvbm5lY3QgdG8NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+
ID4gPiA+ID4gPiA+IE9idmlvdXNseSB5b3UgY2FuIGVsaWRlIG92ZXIgY29uZmlndXJhdGlvbiBp
c3N1ZXMgYnkNCj4gaGF2aW5nDQo+ID4gPiA+ID4gPiBzdGF0aWMNCj4gPiA+ID4gPiA+ID4gPiA+
ID4gPiBjb25maWd1cmF0aW9ucyBhbmQgYmFraW5nIHRoZSBhc3N1bXB0aW9ucyBpbnRvIHlvdXIN
Cj4gZ3Vlc3QNCj4gPiA+ID4gaW1hZ2VzDQo+ID4gPiA+ID4gPiBob3dldmVyDQo+ID4gPiA+ID4g
PiA+ID4gPiA+ID4gdGhpcyBpc24ndCBzY2FsYWJsZSBpbiB0aGUgbG9uZyB0ZXJtLiBUaGUgb2J2
aW91cw0KPiBzb2x1dGlvbg0KPiA+ID4gPiBzZWVtcw0KPiA+ID4gPiA+ID4gdG8gYmUNCj4gPiA+
ID4gPiA+ID4gPiA+ID4gPiBleHRlbmRpbmcgYSBzdWJzZXQgb2YgRGV2aWNlIFRyZWUgZGF0YSB0
byB1c2VyIHNwYWNlDQo+IGJ1dA0KPiA+ID4gPiBwZXJoYXBzDQo+ID4gPiA+ID4gPiB0aGVyZQ0K
PiA+ID4gPiA+ID4gPiA+ID4gPiA+IGFyZSBvdGhlciBhcHByb2FjaGVzPw0KPiA+ID4gPiA+ID4g
PiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gQmVmb3JlIGFueSB2aXJ0aW8gdHJhbnNh
Y3Rpb25zIGNhbiB0YWtlIHBsYWNlIHRoZQ0KPiA+ID4gPiBhcHByb3ByaWF0ZQ0KPiA+ID4gPiA+
ID4gbWVtb3J5DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gbWFwcGluZ3MgbmVlZCB0byBiZSBtYWRl
IGJldHdlZW4gdGhlIEZFIGd1ZXN0IGFuZCB0aGUNCj4gQkUNCj4gPiA+ID4gZ3Vlc3QuDQo+ID4g
PiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gQ3VycmVudGx5IHRoZSB3aG9s
ZSBvZiB0aGUgRkUgZ3Vlc3RzIGFkZHJlc3Mgc3BhY2UNCj4gbmVlZHMgdG8NCj4gPiA+ID4gYmUN
Cj4gPiA+ID4gPiA+IHZpc2libGUNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiB0byB3aGF0ZXZlciBp
cyBzZXJ2aW5nIHRoZSB2aXJ0aW8gcmVxdWVzdHMuIEkgY2FuDQo+IGVudmlzaW9uIDMNCj4gPiA+
ID4gPiA+IGFwcHJvYWNoZXM6DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4g
PiA+ID4gPiAgKiBCRSBndWVzdCBib290cyB3aXRoIG1lbW9yeSBhbHJlYWR5IG1hcHBlZA0KPiA+
ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gIFRoaXMgd291bGQgZW50
YWlsIHRoZSBndWVzdCBPUyBrbm93aW5nIHdoZXJlIGluIGl0J3MNCj4gR3Vlc3QNCj4gPiA+ID4g
PiA+IFBoeXNpY2FsDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gIEFkZHJlc3Mgc3BhY2UgaXMgYWxy
ZWFkeSB0YWtlbiB1cCBhbmQgYXZvaWRpbmcNCj4gY2xhc2hpbmcuIEkNCj4gPiA+ID4gPiA+IHdv
dWxkIGFzc3VtZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICBpbiB0aGlzIGNhc2UgeW91IHdvdWxk
IHdhbnQgYSBzdGFuZGFyZCBpbnRlcmZhY2UgdG8NCj4gPiA+ID4gdXNlcnNwYWNlDQo+ID4gPiA+
ID4gPiB0byB0aGVuDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gIG1ha2UgdGhhdCBhZGRyZXNzIHNw
YWNlIHZpc2libGUgdG8gdGhlIGJhY2tlbmQgZGFlbW9uLg0KPiA+ID4gPiA+ID4gPiA+ID4NCj4g
PiA+ID4gPiA+ID4gPiA+IFlldCBhbm90aGVyIHdheSBoZXJlIGlzIHRoYXQgd2Ugd291bGQgaGF2
ZSB3ZWxsIGtub3duDQo+ICJzaGFyZWQNCj4gPiA+ID4gPiA+IG1lbW9yeSIgYmV0d2Vlbg0KPiA+
ID4gPiA+ID4gPiA+ID4gVk1zLiBJIHRoaW5rIHRoYXQgSmFpbGhvdXNlJ3MgaXZzaG1lbSBnaXZl
cyB1cyBnb29kDQo+IGluc2lnaHRzIG9uDQo+ID4gPiA+IHRoaXMNCj4gPiA+ID4gPiA+IG1hdHRl
cg0KPiA+ID4gPiA+ID4gPiA+ID4gYW5kIHRoYXQgaXQgY2FuIGV2ZW4gYmUgYW4gYWx0ZXJuYXRp
dmUgZm9yIGh5cGVydmlzb3ItDQo+IGFnbm9zdGljDQo+ID4gPiA+ID4gPiBzb2x1dGlvbi4NCj4g
PiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiAoUGxlYXNlIG5vdGUgbWVtb3J5IHJl
Z2lvbnMgaW4gaXZzaG1lbSBhcHBlYXIgYXMgYSBQQ0kNCj4gZGV2aWNlDQo+ID4gPiA+IGFuZA0K
PiA+ID4gPiA+ID4gY2FuIGJlDQo+ID4gPiA+ID4gPiA+ID4gPiBtYXBwZWQgbG9jYWxseS4pDQo+
ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gSSB3YW50IHRvIGFkZCB0aGlzIHNo
YXJlZCBtZW1vcnkgYXNwZWN0IHRvIG15IHZpcnRpby1wcm94eSwNCj4gYnV0DQo+ID4gPiA+ID4g
PiA+ID4gPiB0aGUgcmVzdWx0YW50IHNvbHV0aW9uIHdvdWxkIGV2ZW50dWFsbHkgbG9vayBzaW1p
bGFyIHRvDQo+IGl2c2htZW0uDQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4g
PiA+ICAqIEJFIGd1ZXN0cyBib290cyB3aXRoIGEgaHlwZXJ2aXNvciBoYW5kbGUgdG8gbWVtb3J5
DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAgVGhlIEJFIGd1
ZXN0IGlzIHRoZW4gZnJlZSB0byBtYXAgdGhlIEZFJ3MgbWVtb3J5IHRvDQo+IHdoZXJlDQo+ID4g
PiA+IGl0DQo+ID4gPiA+ID4gPiB3YW50cyBpbg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICB0aGUg
QkUncyBndWVzdCBwaHlzaWNhbCBhZGRyZXNzIHNwYWNlLg0KPiA+ID4gPiA+ID4gPiA+ID4gPg0K
PiA+ID4gPiA+ID4gPiA+ID4gPiBJIGNhbm5vdCBzZWUgaG93IHRoaXMgY291bGQgd29yayBmb3Ig
WGVuLiBUaGVyZSBpcyBubw0KPiAiaGFuZGxlIg0KPiA+ID4gPiB0bw0KPiA+ID4gPiA+ID4gZ2l2
ZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiB0byB0aGUgYmFja2VuZCBpZiB0aGUgYmFja2VuZCBpcyBu
b3QgcnVubmluZyBpbiBkb20wLiBTbw0KPiBmb3INCj4gPiA+ID4gWGVuIEkNCj4gPiA+ID4gPiA+
IHRoaW5rDQo+ID4gPiA+ID4gPiA+ID4gPiA+IHRoZSBtZW1vcnkgaGFzIHRvIGJlIGFscmVhZHkg
bWFwcGVkDQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gSW4gWGVuJ3MgSU9S
RVEgc29sdXRpb24gKHZpcnRpby1ibGspLCB0aGUgZm9sbG93aW5nDQo+IGluZm9ybWF0aW9uDQo+
ID4gPiA+IGlzDQo+ID4gPiA+ID4gPiBleHBlY3RlZA0KPiA+ID4gPiA+ID4gPiA+ID4gdG8gYmUg
ZXhwb3NlZCB0byBCRSB2aWEgWGVuc3RvcmU6DQo+ID4gPiA+ID4gPiA+ID4gPiAoSSBrbm93IHRo
YXQgdGhpcyBpcyBhIHRlbnRhdGl2ZSBhcHByb2FjaCB0aG91Z2guKQ0KPiA+ID4gPiA+ID4gPiA+
ID4gICAgLSB0aGUgc3RhcnQgYWRkcmVzcyBvZiBjb25maWd1cmF0aW9uIHNwYWNlDQo+ID4gPiA+
ID4gPiA+ID4gPiAgICAtIGludGVycnVwdCBudW1iZXINCj4gPiA+ID4gPiA+ID4gPiA+ICAgIC0g
ZmlsZSBwYXRoIGZvciBiYWNraW5nIHN0b3JhZ2UNCj4gPiA+ID4gPiA+ID4gPiA+ICAgIC0gcmVh
ZC1vbmx5IGZsYWcNCj4gPiA+ID4gPiA+ID4gPiA+IEFuZCB0aGUgQkUgc2VydmVyIGhhdmUgdG8g
Y2FsbCBhIHBhcnRpY3VsYXIgaHlwZXJ2aXNvcg0KPiBpbnRlcmZhY2UNCj4gPiA+ID4gdG8NCj4g
PiA+ID4gPiA+ID4gPiA+IG1hcCB0aGUgY29uZmlndXJhdGlvbiBzcGFjZS4NCj4gPiA+ID4gPiA+
ID4gPg0KPiA+ID4gPiA+ID4gPiA+IFllcywgWGVuc3RvcmUgd2FzIGNob3NlbiBhcyBhIHNpbXBs
ZSB3YXkgdG8gcGFzcw0KPiBjb25maWd1cmF0aW9uDQo+ID4gPiA+IGluZm8gdG8NCj4gPiA+ID4g
PiA+IHRoZSBiYWNrZW5kIHJ1bm5pbmcgaW4gYSBub24tdG9vbHN0YWNrIGRvbWFpbi4NCj4gPiA+
ID4gPiA+ID4gPiBJIHJlbWVtYmVyLCB0aGVyZSB3YXMgYSB3aXNoIHRvIGF2b2lkIHVzaW5nIFhl
bnN0b3JlIGluDQo+IFZpcnRpbw0KPiA+ID4gPiBiYWNrZW5kDQo+ID4gPiA+ID4gPiBpdHNlbGYg
aWYgcG9zc2libGUsIHNvIGZvciBub24tdG9vbHN0YWNrIGRvbWFpbiwgdGhpcyBjb3VsZCBkb25l
DQo+IHdpdGgNCj4gPiA+ID4gPiA+IGFkanVzdGluZyBkZXZkIChkYWVtb24gdGhhdCBsaXN0ZW5z
IGZvciBkZXZpY2VzIGFuZCBsYXVuY2hlcw0KPiBiYWNrZW5kcykNCj4gPiA+ID4gPiA+ID4gPiB0
byByZWFkIGJhY2tlbmQgY29uZmlndXJhdGlvbiBmcm9tIHRoZSBYZW5zdG9yZSBhbnl3YXkgYW5k
DQo+IHBhc3MgaXQNCj4gPiA+ID4gdG8NCj4gPiA+ID4gPiA+IHRoZSBiYWNrZW5kIHZpYSBjb21t
YW5kIGxpbmUgYXJndW1lbnRzLg0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+DQo+ID4g
PiA+ID4gPiA+IFllcywgaW4gY3VycmVudCBQb0MgY29kZSB3ZSdyZSB1c2luZyB4ZW5zdG9yZSB0
byBwYXNzIGRldmljZQ0KPiA+ID4gPiA+ID4gY29uZmlndXJhdGlvbi4NCj4gPiA+ID4gPiA+ID4g
V2UgYWxzbyBkZXNpZ25lZCBhIHN0YXRpYyBkZXZpY2UgY29uZmlndXJhdGlvbiBwYXJzZSBtZXRo
b2QNCj4gZm9yDQo+ID4gPiA+IERvbTBsZXNzDQo+ID4gPiA+ID4gPiBvcg0KPiA+ID4gPiA+ID4g
PiBvdGhlciBzY2VuYXJpb3MgZG9uJ3QgaGF2ZSB4ZW50b29sLiB5ZXMsIGl0J3MgZnJvbSBkZXZp
Y2UNCj4gbW9kZWwNCj4gPiA+ID4gY29tbWFuZA0KPiA+ID4gPiA+ID4gbGluZQ0KPiA+ID4gPiA+
ID4gPiBvciBhIGNvbmZpZyBmaWxlLg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IEJ1
dCwgaWYgLi4uDQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4g
PiA+ID4gPiBJbiBteSBhcHByb2FjaCAodmlydGlvLXByb3h5KSwgYWxsIHRob3NlIFhlbiAob3IN
Cj4gaHlwZXJ2aXNvciktDQo+ID4gPiA+ID4gPiBzcGVjaWZpYw0KPiA+ID4gPiA+ID4gPiA+ID4g
c3R1ZmZzIGFyZSBjb250YWluZWQgaW4gdmlydGlvLXByb3h5LCB5ZXQgYW5vdGhlciBWTSwgdG8N
Cj4gaGlkZQ0KPiA+ID4gPiBhbGwNCj4gPiA+ID4gPiA+IGRldGFpbHMuDQo+ID4gPiA+ID4gPiA+
ID4NCj4gPiA+ID4gPiA+ID4gPiAuLi4gdGhlIHNvbHV0aW9uIGhvdyB0byBvdmVyY29tZSB0aGF0
IGlzIGFscmVhZHkgZm91bmQgYW5kDQo+IHByb3Zlbg0KPiA+ID4gPiB0bw0KPiA+ID4gPiA+ID4g
d29yayB0aGVuIGV2ZW4gYmV0dGVyLg0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4N
Cj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gIyBNeSBwb2ludCBpcyB0aGF0IGEg
ImhhbmRsZSIgaXMgbm90IG1hbmRhdG9yeSBmb3INCj4gZXhlY3V0aW5nDQo+ID4gPiA+IG1hcHBp
bmcuDQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBhbmQgdGhlIG1hcHBp
bmcgcHJvYmFibHkgZG9uZSBieSB0aGUNCj4gPiA+ID4gPiA+ID4gPiA+ID4gdG9vbHN0YWNrIChh
bHNvIHNlZSBiZWxvdy4pIE9yIHdlIHdvdWxkIGhhdmUgdG8gaW52ZW50IGENCj4gbmV3DQo+ID4g
PiA+IFhlbg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBoeXBlcnZpc29yIGludGVyZmFjZSBhbmQgWGVu
IHZpcnR1YWwgbWFjaGluZSBwcml2aWxlZ2VzDQo+IHRvDQo+ID4gPiA+IGFsbG93DQo+ID4gPiA+
ID4gPiB0aGlzDQo+ID4gPiA+ID4gPiA+ID4gPiA+IGtpbmQgb2YgbWFwcGluZy4NCj4gPiA+ID4g
PiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+IElmIHdlIHJ1biB0aGUgYmFja2VuZCBpbiBE
b20wIHRoYXQgd2UgaGF2ZSBubyBwcm9ibGVtcw0KPiBvZg0KPiA+ID4gPiBjb3Vyc2UuDQo+ID4g
PiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gT25lIG9mIGRpZmZpY3VsdGllcyBvbiBY
ZW4gdGhhdCBJIGZvdW5kIGluIG15IGFwcHJvYWNoIGlzDQo+IHRoYXQNCj4gPiA+ID4gPiA+IGNh
bGxpbmcNCj4gPiA+ID4gPiA+ID4gPiA+IHN1Y2ggaHlwZXJ2aXNvciBpbnRlZmFjZXMgKHJlZ2lz
dGVyaW5nIElPUkVRLCBtYXBwaW5nDQo+IG1lbW9yeSkgaXMNCj4gPiA+ID4gPiA+IG9ubHkNCj4g
PiA+ID4gPiA+ID4gPiA+IGFsbG93ZWQgb24gQkUgc2VydmVycyB0aGVtc2VsdmllcyBhbmQgc28g
d2Ugd2lsbCBoYXZlIHRvDQo+IGV4dGVuZA0KPiA+ID4gPiA+ID4gdGhvc2UNCj4gPiA+ID4gPiA+
ID4gPiA+IGludGVyZmFjZXMuDQo+ID4gPiA+ID4gPiA+ID4gPiBUaGlzLCBob3dldmVyLCB3aWxs
IHJhaXNlIHNvbWUgY29uY2VybiBvbiBzZWN1cml0eSBhbmQNCj4gcHJpdmlsZWdlDQo+ID4gPiA+
ID4gPiBkaXN0cmlidXRpb24NCj4gPiA+ID4gPiA+ID4gPiA+IGFzIFN0ZWZhbiBzdWdnZXN0ZWQu
DQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiBXZSBhbHNvIGZhY2VkIHBvbGljeSBy
ZWxhdGVkIGlzc3VlcyB3aXRoIFZpcnRpbyBiYWNrZW5kDQo+IHJ1bm5pbmcgaW4NCj4gPiA+ID4g
PiA+IG90aGVyIHRoYW4gRG9tMCBkb21haW4gaW4gYSAiZHVtbXkiIHhzbSBtb2RlLiBJbiBvdXIg
dGFyZ2V0DQo+IHN5c3RlbSB3ZQ0KPiA+ID4gPiBydW4NCj4gPiA+ID4gPiA+IHRoZSBiYWNrZW5k
IGluIGEgZHJpdmVyDQo+ID4gPiA+ID4gPiA+ID4gZG9tYWluICh3ZSBjYWxsIGl0IERvbUQpIHdo
ZXJlIHRoZSB1bmRlcmx5aW5nIEgvVyByZXNpZGVzLg0KPiBXZQ0KPiA+ID4gPiB0cnVzdCBpdCwN
Cj4gPiA+ID4gPiA+IHNvIHdlIHdyb3RlIHBvbGljeSBydWxlcyAodG8gYmUgdXNlZCBpbiAiZmxh
c2siIHhzbSBtb2RlKSB0bw0KPiBwcm92aWRlDQo+ID4gPiA+IGl0DQo+ID4gPiA+ID4gPiB3aXRo
IGEgbGl0dGxlIGJpdCBtb3JlIHByaXZpbGVnZXMgdGhhbiBhIHNpbXBsZSBEb21VIGhhZC4NCj4g
PiA+ID4gPiA+ID4gPiBOb3cgaXQgaXMgcGVybWl0dGVkIHRvIGlzc3VlIGRldmljZS1tb2RlbCwg
cmVzb3VyY2UgYW5kDQo+IG1lbW9yeQ0KPiA+ID4gPiA+ID4gbWFwcGluZ3MsIGV0YyBjYWxscy4N
Cj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4g
Pg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IFRvIGFjdGl2YXRlIHRoZSBtYXBwaW5nIHdpbGwNCj4g
PiA+ID4gPiA+ID4gPiA+ID4gPiAgcmVxdWlyZSBzb21lIHNvcnQgb2YgaHlwZXJjYWxsIHRvIHRo
ZSBoeXBlcnZpc29yLiBJDQo+IGNhbiBzZWUNCj4gPiA+ID4gdHdvDQo+ID4gPiA+ID4gPiBvcHRp
b25zDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gIGF0IHRoaXMgcG9pbnQ6DQo+ID4gPiA+ID4gPiA+
ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAgIC0gZXhwb3NlIHRoZSBoYW5kbGUgdG8g
dXNlcnNwYWNlIGZvciBkYWVtb24vaGVscGVyDQo+IHRvDQo+ID4gPiA+IHRyaWdnZXINCj4gPiA+
ID4gPiA+IHRoZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICAgICBtYXBwaW5nIHZpYSBleGlzdGlu
ZyBoeXBlcmNhbGwgaW50ZXJmYWNlcy4gSWYNCj4gdXNpbmcgYQ0KPiA+ID4gPiBoZWxwZXINCj4g
PiA+ID4gPiA+IHlvdQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICAgICB3b3VsZCBoYXZlIGEgaHlw
ZXJ2aXNvciBzcGVjaWZpYyBvbmUgdG8gYXZvaWQgdGhlDQo+IGRhZW1vbg0KPiA+ID4gPiA+ID4g
aGF2aW5nIHRvDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gICAgIGNhcmUgdG9vIG11Y2ggYWJvdXQg
dGhlIGRldGFpbHMgb3IgcHVzaCB0aGF0DQo+IGNvbXBsZXhpdHkNCj4gPiA+ID4gaW50bw0KPiA+
ID4gPiA+ID4gYQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICAgICBjb21waWxlIHRpbWUgb3B0aW9u
IGZvciB0aGUgZGFlbW9uIHdoaWNoIHdvdWxkDQo+IHJlc3VsdCBpbg0KPiA+ID4gPiA+ID4gZGlm
ZmVyZW50DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gICAgIGJpbmFyaWVzIGFsdGhvdWdoIGEgY29t
bW9uIHNvdXJjZSBiYXNlLg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4g
PiA+ID4gICAtIGV4cG9zZSBhIG5ldyBrZXJuZWwgQUJJIHRvIGFic3RyYWN0IHRoZSBoeXBlcmNh
bGwNCj4gPiA+ID4gPiA+IGRpZmZlcmVuY2VzIGF3YXkNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAg
ICAgaW4gdGhlIGd1ZXN0IGtlcm5lbC4gSW4gdGhpcyBjYXNlIHRoZSB1c2Vyc3BhY2UNCj4gd291
bGQNCj4gPiA+ID4gPiA+IGVzc2VudGlhbGx5DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gICAgIGFz
ayBmb3IgYW4gYWJzdHJhY3QgIm1hcCBndWVzdCBOIG1lbW9yeSB0bw0KPiB1c2Vyc3BhY2UNCj4g
PiA+ID4gcHRyIg0KPiA+ID4gPiA+ID4gYW5kIGxldA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICAg
ICB0aGUga2VybmVsIGRlYWwgd2l0aCB0aGUgZGlmZmVyZW50IGh5cGVyY2FsbA0KPiBpbnRlcmZh
Y2VzLg0KPiA+ID4gPiA+ID4gVGhpcyBvZg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICAgICBjb3Vy
c2UgYXNzdW1lcyB0aGUgbWFqb3JpdHkgb2YgQkUgZ3Vlc3RzIHdvdWxkIGJlDQo+IExpbnV4DQo+
ID4gPiA+ID4gPiBrZXJuZWxzIGFuZA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICAgICBsZWF2ZXMg
dGhlIGJhcmUtbWV0YWwvdW5pa2VybmVsIGFwcHJvYWNoZXMgdG8NCj4gdGhlaXIgb3duDQo+ID4g
PiA+ID4gPiBkZXZpY2VzLg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4g
PiA+ID4gT3BlcmF0aW9uDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPT09PT09PT09DQo+ID4gPiA+
ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBUaGUgY29yZSBvZiB0aGUgb3Bl
cmF0aW9uIG9mIFZpcnRJTyBpcyBmYWlybHkgc2ltcGxlLg0KPiBPbmNlDQo+ID4gPiA+IHRoZQ0K
PiA+ID4gPiA+ID4gPiA+ID4gPiA+IHZob3N0LXVzZXIgZmVhdHVyZSBuZWdvdGlhdGlvbiBpcyBk
b25lIGl0J3MgYSBjYXNlIG9mDQo+ID4gPiA+IHJlY2VpdmluZw0KPiA+ID4gPiA+ID4gdXBkYXRl
DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gZXZlbnRzIGFuZCBwYXJzaW5nIHRoZSByZXN1bHRhbnQg
dmlydCBxdWV1ZSBmb3IgZGF0YS4NCj4gVGhlDQo+ID4gPiA+IHZob3N0LQ0KPiA+ID4gPiA+ID4g
dXNlcg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IHNwZWNpZmljYXRpb24gaGFuZGxlcyBhIGJ1bmNo
IG9mIHNldHVwIGJlZm9yZSB0aGF0DQo+IHBvaW50LA0KPiA+ID4gPiBtb3N0bHkNCj4gPiA+ID4g
PiA+IHRvDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gZGV0YWlsIHdoZXJlIHRoZSB2aXJ0IHF1ZXVl
cyBhcmUgc2V0IHVwIEZEJ3MgZm9yDQo+IG1lbW9yeSBhbmQNCj4gPiA+ID4gPiA+IGV2ZW50DQo+
ID4gPiA+ID4gPiA+ID4gPiA+ID4gY29tbXVuaWNhdGlvbi4gVGhpcyBpcyB3aGVyZSB0aGUgZW52
aXNpb25lZCBzdHViDQo+IHByb2Nlc3MNCj4gPiA+ID4gd291bGQNCj4gPiA+ID4gPiA+IGJlDQo+
ID4gPiA+ID4gPiA+ID4gPiA+ID4gcmVzcG9uc2libGUgZm9yIGdldHRpbmcgdGhlIGRhZW1vbiB1
cCBhbmQgcmVhZHkgdG8gcnVuLg0KPiBUaGlzDQo+ID4gPiA+IGlzDQo+ID4gPiA+ID4gPiA+ID4g
PiA+ID4gY3VycmVudGx5IGRvbmUgaW5zaWRlIGEgYmlnIFZNTSBsaWtlIFFFTVUgYnV0IEkNCj4g
c3VzcGVjdCBhDQo+ID4gPiA+IG1vZGVybg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IGFwcHJvYWNo
IHdvdWxkIGJlIHRvIHVzZSB0aGUgcnVzdC12bW0gdmhvc3QgY3JhdGUuIEl0DQo+IHdvdWxkDQo+
ID4gPiA+IHRoZW4NCj4gPiA+ID4gPiA+IGVpdGhlcg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IGNv
bW11bmljYXRlIHdpdGggdGhlIGtlcm5lbCdzIGFic3RyYWN0ZWQgQUJJIG9yIGJlIHJlLQ0KPiA+
ID4gPiB0YXJnZXRlZA0KPiA+ID4gPiA+ID4gYXMgYQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IGJ1
aWxkIG9wdGlvbiBmb3IgdGhlIHZhcmlvdXMgaHlwZXJ2aXNvcnMuDQo+ID4gPiA+ID4gPiA+ID4g
PiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+IE9uZSB0aGluZyBJIG1lbnRpb25lZCBiZWZvcmUgdG8g
QWxleCBpcyB0aGF0IFhlbiBkb2Vzbid0DQo+IGhhdmUNCj4gPiA+ID4gVk1Ncw0KPiA+ID4gPiA+
ID4gdGhlDQo+ID4gPiA+ID4gPiA+ID4gPiA+IHdheSB0aGV5IGFyZSB0eXBpY2FsbHkgZW52aXNp
b25lZCBhbmQgZGVzY3JpYmVkIGluIG90aGVyDQo+ID4gPiA+ID4gPiBlbnZpcm9ubWVudHMuDQo+
ID4gPiA+ID4gPiA+ID4gPiA+IEluc3RlYWQsIFhlbiBoYXMgSU9SRVEgc2VydmVycy4gRWFjaCBv
ZiB0aGVtIGNvbm5lY3RzDQo+ID4gPiA+ID4gPiBpbmRlcGVuZGVudGx5IHRvDQo+ID4gPiA+ID4g
PiA+ID4gPiA+IFhlbiB2aWEgdGhlIElPUkVRIGludGVyZmFjZS4gRS5nLiB0b2RheSBtdWx0aXBs
ZSBRRU1Vcw0KPiBjb3VsZA0KPiA+ID4gPiBiZQ0KPiA+ID4gPiA+ID4gdXNlZCBhcw0KPiA+ID4g
PiA+ID4gPiA+ID4gPiBlbXVsYXRvcnMgZm9yIGEgc2luZ2xlIFhlbiBWTSwgZWFjaCBvZiB0aGVt
IGNvbm5lY3RpbmcNCj4gdG8gWGVuDQo+ID4gPiA+ID4gPiA+ID4gPiA+IGluZGVwZW5kZW50bHkg
dmlhIHRoZSBJT1JFUSBpbnRlcmZhY2UuDQo+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4g
PiA+ID4gPiA+IFRoZSBjb21wb25lbnQgcmVzcG9uc2libGUgZm9yIHN0YXJ0aW5nIGEgZGFlbW9u
IGFuZC9vcg0KPiBzZXR0aW5nDQo+ID4gPiA+IHVwDQo+ID4gPiA+ID4gPiBzaGFyZWQNCj4gPiA+
ID4gPiA+ID4gPiA+ID4gaW50ZXJmYWNlcyBpcyB0aGUgdG9vbHN0YWNrOiB0aGUgeGwgY29tbWFu
ZCBhbmQgdGhlDQo+ID4gPiA+IGxpYnhsL2xpYnhjDQo+ID4gPiA+ID4gPiA+ID4gPiA+IGxpYnJh
cmllcy4NCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiBJIHRoaW5rIHRoYXQg
Vk0gY29uZmlndXJhdGlvbiBtYW5hZ2VtZW50IChvciBvcmNoZXN0cmF0aW9uDQo+IGluDQo+ID4g
PiA+ID4gPiBTdGFydG9zDQo+ID4gPiA+ID4gPiA+ID4gPiBqYXJnb24/KSBpcyBhIHN1YmplY3Qg
dG8gZGViYXRlIGluIHBhcmFsbGVsLg0KPiA+ID4gPiA+ID4gPiA+ID4gT3RoZXJ3aXNlLCBpcyB0
aGVyZSBhbnkgZ29vZCBhc3N1bXB0aW9uIHRvIGF2b2lkIGl0IHJpZ2h0DQo+IG5vdz8NCj4gPiA+
ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+IE9sZWtzYW5kciBhbmQgb3RoZXJzIEkg
Q0NlZCBoYXZlIGJlZW4gd29ya2luZyBvbiB3YXlzDQo+IGZvciB0aGUNCj4gPiA+ID4gPiA+IHRv
b2xzdGFjaw0KPiA+ID4gPiA+ID4gPiA+ID4gPiB0byBjcmVhdGUgdmlydGlvIGJhY2tlbmRzIGFu
ZCBzZXR1cCBtZW1vcnkgbWFwcGluZ3MuDQo+IFRoZXkNCj4gPiA+ID4gbWlnaHQgYmUNCj4gPiA+
ID4gPiA+IGFibGUNCj4gPiA+ID4gPiA+ID4gPiA+ID4gdG8gcHJvdmlkZSBtb3JlIGluZm8gb24g
dGhlIHN1YmplY3QuIEkgZG8gdGhpbmsgd2UgbWlzcw0KPiBhIHdheQ0KPiA+ID4gPiB0bw0KPiA+
ID4gPiA+ID4gcHJvdmlkZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiB0aGUgY29uZmlndXJhdGlvbiB0
byB0aGUgYmFja2VuZCBhbmQgYW55dGhpbmcgZWxzZSB0aGF0DQo+IHRoZQ0KPiA+ID4gPiA+ID4g
YmFja2VuZA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBtaWdodCByZXF1aXJlIHRvIHN0YXJ0IGRvaW5n
IGl0cyBqb2IuDQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiBZZXMsIHNvbWUgd29y
ayBoYXMgYmVlbiBkb25lIGZvciB0aGUgdG9vbHN0YWNrIHRvIGhhbmRsZQ0KPiBWaXJ0aW8NCj4g
PiA+ID4gTU1JTw0KPiA+ID4gPiA+ID4gZGV2aWNlcyBpbg0KPiA+ID4gPiA+ID4gPiA+IGdlbmVy
YWwgYW5kIFZpcnRpbyBibG9jayBkZXZpY2VzIGluIHBhcnRpY3VsYXIuIEhvd2V2ZXIsIGl0DQo+
IGhhcw0KPiA+ID4gPiBub3QNCj4gPiA+ID4gPiA+IGJlZW4gdXBzdHJlYW5lZCB5ZXQuDQo+ID4g
PiA+ID4gPiA+ID4gVXBkYXRlZCBwYXRjaGVzIG9uIHJldmlldyBub3c6DQo+ID4gPiA+ID4gPiA+
ID4gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcveGVuLWRldmVsLzE2MjE2MjYzNjEtMjkwNzYtMS1n
aXQtDQo+IHNlbmQtDQo+ID4gPiA+IGVtYWlsLQ0KPiA+ID4gPiA+ID4gb2xla3N0eXNoQGdtYWls
LmNvbS8NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IFRoZXJlIGlzIGFuIGFkZGl0
aW9uYWwgKGFsc28gaW1wb3J0YW50KSBhY3Rpdml0eSB0bw0KPiBpbXByb3ZlL2ZpeA0KPiA+ID4g
PiA+ID4gZm9yZWlnbiBtZW1vcnkgbWFwcGluZyBvbiBBcm0gd2hpY2ggSSBhbSBhbHNvIGludm9s
dmVkIGluLg0KPiA+ID4gPiA+ID4gPiA+IFRoZSBmb3JlaWduIG1lbW9yeSBtYXBwaW5nIGlzIHBy
b3Bvc2VkIHRvIGJlIHVzZWQgZm9yIFZpcnRpbw0KPiA+ID4gPiBiYWNrZW5kcw0KPiA+ID4gPiA+
ID4gKGRldmljZSBlbXVsYXRvcnMpIGlmIHRoZXJlIGlzIGEgbmVlZCB0byBydW4gZ3Vlc3QgT1Mg
Y29tcGxldGVseQ0KPiA+ID4gPiA+ID4gdW5tb2RpZmllZC4NCj4gPiA+ID4gPiA+ID4gPiBPZiBj
b3Vyc2UsIHRoZSBtb3JlIHNlY3VyZSB3YXkgd291bGQgYmUgdG8gdXNlIGdyYW50IG1lbW9yeQ0K
PiA+ID4gPiBtYXBwaW5nLg0KPiA+ID4gPiA+ID4gQnJpZXRseSwgdGhlIG1haW4gZGlmZmVyZW5j
ZSBiZXR3ZWVuIHRoZW0gaXMgdGhhdCB3aXRoIGZvcmVpZ24NCj4gbWFwcGluZw0KPiA+ID4gPiB0
aGUNCj4gPiA+ID4gPiA+IGJhY2tlbmQNCj4gPiA+ID4gPiA+ID4gPiBjYW4gbWFwIGFueSBndWVz
dCBtZW1vcnkgaXQgd2FudHMgdG8gbWFwLCBidXQgd2l0aCBncmFudA0KPiBtYXBwaW5nDQo+ID4g
PiA+IGl0IGlzDQo+ID4gPiA+ID4gPiBhbGxvd2VkIHRvIG1hcCBvbmx5IHdoYXQgd2FzIHByZXZp
b3VzbHkgZ3JhbnRlZCBieSB0aGUgZnJvbnRlbmQuDQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4g
PiA+ID4gPiBTbywgdGhlcmUgbWlnaHQgYmUgYSBwcm9ibGVtIGlmIHdlIHdhbnQgdG8gcHJlLW1h
cCBzb21lDQo+IGd1ZXN0DQo+ID4gPiA+IG1lbW9yeQ0KPiA+ID4gPiA+ID4gaW4gYWR2YW5jZSBv
ciB0byBjYWNoZSBtYXBwaW5ncyBpbiB0aGUgYmFja2VuZCBpbiBvcmRlciB0bw0KPiBpbXByb3Zl
DQo+ID4gPiA+ID4gPiBwZXJmb3JtYW5jZSAoYmVjYXVzZSB0aGUgbWFwcGluZy91bm1hcHBpbmcg
Z3Vlc3QgcGFnZXMgZXZlcnkNCj4gcmVxdWVzdA0KPiA+ID4gPiA+ID4gcmVxdWlyZXMgYSBsb3Qg
b2YgYmFjayBhbmQgZm9ydGggdG8gWGVuICsgUDJNIHVwZGF0ZXMpLiBJbiBhDQo+IG51dHNoZWxs
LA0KPiA+ID4gPiA+ID4gY3VycmVudGx5LCBpbiBvcmRlciB0byBtYXAgYSBndWVzdCBwYWdlIGlu
dG8gdGhlIGJhY2tlbmQgYWRkcmVzcw0KPiBzcGFjZQ0KPiA+ID4gPiB3ZQ0KPiA+ID4gPiA+ID4g
bmVlZCB0byBzdGVhbCBhIHJlYWwgcGh5c2ljYWwgcGFnZSBmcm9tIHRoZSBiYWNrZW5kIGRvbWFp
bi4gU28sDQo+IHdpdGgNCj4gPiA+ID4gdGhlDQo+ID4gPiA+ID4gPiBzYWlkIG9wdGltaXphdGlv
bnMgd2UgbWlnaHQgZW5kIHVwIHdpdGggbm8gZnJlZSBtZW1vcnkgaW4gdGhlDQo+IGJhY2tlbmQN
Cj4gPiA+ID4gPiA+IGRvbWFpbiAoc2VlIFhTQS0zMDApLiBBbmQgd2hhdCB3ZSB0cnkgdG8gYWNo
aWV2ZSBpcyB0byBub3Qgd2FzdGUNCj4gYQ0KPiA+ID4gPiByZWFsDQo+ID4gPiA+ID4gPiBkb21h
aW4gbWVtb3J5IGF0IGFsbCBieSBwcm92aWRpbmcgc2FmZSBub24tYWxsb2NhdGVkLXlldCAoc28N
Cj4gdW51c2VkKQ0KPiA+ID4gPiA+ID4gYWRkcmVzcyBzcGFjZSBmb3IgdGhlIGZvcmVpZ24gKGFu
ZCBncmFudCkgcGFnZXMgdG8gYmUgbWFwcGVkDQo+IGludG8sDQo+ID4gPiA+IHRoaXMNCj4gPiA+
ID4gPiA+IGVuYWJsaW5nIHdvcmsgaW1wbGllcyBYZW4gYW5kIExpbnV4IChhbmQgbGlrZWx5IERU
QiBiaW5kaW5ncykNCj4gY2hhbmdlcy4NCj4gPiA+ID4gPiA+IEhvd2V2ZXIsIGFzIGl0IHR1cm5l
ZCBvdXQsIGZvciB0aGlzIHRvIHdvcmsgaW4gYSBwcm9wZXIgYW5kIHNhZmUNCj4gd2F5DQo+ID4g
PiA+IHNvbWUNCj4gPiA+ID4gPiA+IHByZXJlcSB3b3JrIG5lZWRzIHRvIGJlIGRvbmUuDQo+ID4g
PiA+ID4gPiA+ID4gWW91IGNhbiBmaW5kIHRoZSByZWxhdGVkIFhlbiBkaXNjdXNzaW9uIGF0Og0K
PiA+ID4gPiA+ID4gPiA+IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3hlbi1kZXZlbC8xNjI3NDg5
MTEwLTI1NjMzLTEtZ2l0LQ0KPiBzZW5kLQ0KPiA+ID4gPiBlbWFpbC0NCj4gPiA+ID4gPiA+IG9s
ZWtzdHlzaEBnbWFpbC5jb20vDQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPg0KPiA+
ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4g
PiA+IE9uZSBxdWVzdGlvbiBpcyBob3cgdG8gYmVzdCBoYW5kbGUgbm90aWZpY2F0aW9uIGFuZA0K
PiBraWNrcy4NCj4gPiA+ID4gVGhlDQo+ID4gPiA+ID4gPiBleGlzdGluZw0KPiA+ID4gPiA+ID4g
PiA+ID4gPiA+IHZob3N0LXVzZXIgZnJhbWV3b3JrIHVzZXMgZXZlbnRmZCB0byBzaWduYWwgdGhl
IGRhZW1vbg0KPiA+ID4gPiAoYWx0aG91Z2gNCj4gPiA+ID4gPiA+IFFFTVUNCj4gPiA+ID4gPiA+
ID4gPiA+ID4gPiBpcyBxdWl0ZSBjYXBhYmxlIG9mIHNpbXVsYXRpbmcgdGhlbSB3aGVuIHlvdSB1
c2UgVENHKS4NCj4gWGVuDQo+ID4gPiA+IGhhcw0KPiA+ID4gPiA+ID4gaXQncyBvd24NCj4gPiA+
ID4gPiA+ID4gPiA+ID4gPiBJT1JFUSBtZWNoYW5pc20uIEhvd2V2ZXIgbGF0ZW5jeSBpcyBhbiBp
bXBvcnRhbnQNCj4gZmFjdG9yIGFuZA0KPiA+ID4gPiA+ID4gaGF2aW5nDQo+ID4gPiA+ID4gPiA+
ID4gPiA+ID4gZXZlbnRzIGdvIHRocm91Z2ggdGhlIHN0dWIgd291bGQgYWRkIHF1aXRlIGEgbG90
Lg0KPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBZZWFoIEkgdGhpbmss
IHJlZ2FyZGxlc3Mgb2YgYW55dGhpbmcgZWxzZSwgd2Ugd2FudCB0aGUNCj4gPiA+ID4gYmFja2Vu
ZHMgdG8NCj4gPiA+ID4gPiA+ID4gPiA+ID4gY29ubmVjdCBkaXJlY3RseSB0byB0aGUgWGVuIGh5
cGVydmlzb3IuDQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gSW4gbXkgYXBw
cm9hY2gsDQo+ID4gPiA+ID4gPiA+ID4gPiAgYSkgQkUgLT4gRkU6IGludGVycnVwdHMgdHJpZ2dl
cmVkIGJ5IEJFIGNhbGxpbmcgYQ0KPiBoeXBlcnZpc29yDQo+ID4gPiA+ID4gPiBpbnRlcmZhY2UN
Cj4gPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgdmlhIHZpcnRpby1wcm94eQ0KPiA+ID4g
PiA+ID4gPiA+ID4gIGIpIEZFIC0+IEJFOiBNTUlPIHRvIGNvbmZpZyByYWlzZXMgZXZlbnRzIChp
biBldmVudA0KPiBjaGFubmVscyksDQo+ID4gPiA+ID4gPiB3aGljaCBpcw0KPiA+ID4gPiA+ID4g
PiA+ID4gICAgICAgICAgICAgICBjb252ZXJ0ZWQgdG8gYSBjYWxsYmFjayB0byBCRSB2aWEgdmly
dGlvLQ0KPiBwcm94eQ0KPiA+ID4gPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAoWGVuJ3MgZXZl
bnQgY2hhbm5lbCBpcyBpbnRlcm5uYWxseQ0KPiBpbXBsZW1lbnRlZCBieQ0KPiA+ID4gPiA+ID4g
aW50ZXJydXB0cy4pDQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gSSBkb24n
dCBrbm93IHdoYXQgImNvbm5lY3QgZGlyZWN0bHkiIG1lYW5zIGhlcmUsIGJ1dA0KPiBzZW5kaW5n
DQo+ID4gPiA+ID4gPiBpbnRlcnJ1cHRzDQo+ID4gPiA+ID4gPiA+ID4gPiB0byB0aGUgb3Bwb3Np
dGUgc2lkZSB3b3VsZCBiZSBiZXN0IGVmZmljaWVudC4NCj4gPiA+ID4gPiA+ID4gPiA+IEl2c2ht
ZW0sIEkgc3VwcG9zZSwgdGFrZXMgdGhpcyBhcHByb2FjaCBieSB1dGlsaXppbmcgUENJJ3MNCj4g
bXNpLXgNCj4gPiA+ID4gPiA+IG1lY2hhbmlzbS4NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+
ID4gPiA+IEFncmVlIHRoYXQgTVNJIHdvdWxkIGJlIG1vcmUgZWZmaWNpZW50IHRoYW4gU1BJLi4u
DQo+ID4gPiA+ID4gPiA+ID4gQXQgdGhlIG1vbWVudCwgaW4gb3JkZXIgdG8gbm90aWZ5IHRoZSBm
cm9udGVuZCwgdGhlIGJhY2tlbmQNCj4gaXNzdWVzDQo+ID4gPiA+IGENCj4gPiA+ID4gPiA+IHNw
ZWNpZmljIGRldmljZS1tb2RlbCBjYWxsIHRvIHF1ZXJ5IFhlbiB0byBpbmplY3QgYQ0KPiBjb3Jy
ZXNwb25kaW5nIFNQSQ0KPiA+ID4gPiB0bw0KPiA+ID4gPiA+ID4gdGhlIGd1ZXN0Lg0KPiA+ID4g
PiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g
PiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IENvdWxkIHdlIGNvbnNpZGVyIHRoZSBrZXJu
ZWwgaW50ZXJuYWxseSBjb252ZXJ0aW5nDQo+IElPUkVRDQo+ID4gPiA+ID4gPiBtZXNzYWdlcyBm
cm9tDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gdGhlIFhlbiBoeXBlcnZpc29yIHRvIGV2ZW50ZmQg
ZXZlbnRzPyBXb3VsZCB0aGlzIHNjYWxlDQo+IHdpdGgNCj4gPiA+ID4gPiA+IG90aGVyIGtlcm5l
bA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IGh5cGVyY2FsbCBpbnRlcmZhY2VzPw0KPiA+ID4gPiA+
ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gU28gYW55IHRob3VnaHRzIG9uIHdo
YXQgZGlyZWN0aW9ucyBhcmUgd29ydGgNCj4gZXhwZXJpbWVudGluZw0KPiA+ID4gPiB3aXRoPw0K
PiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBPbmUgb3B0aW9uIHdlIHNo
b3VsZCBjb25zaWRlciBpcyBmb3IgZWFjaCBiYWNrZW5kIHRvDQo+IGNvbm5lY3QNCj4gPiA+ID4g
dG8NCj4gPiA+ID4gPiA+IFhlbiB2aWENCj4gPiA+ID4gPiA+ID4gPiA+ID4gdGhlIElPUkVRIGlu
dGVyZmFjZS4gV2UgY291bGQgZ2VuZXJhbGl6ZSB0aGUgSU9SRVENCj4gaW50ZXJmYWNlDQo+ID4g
PiA+IGFuZA0KPiA+ID4gPiA+ID4gbWFrZSBpdA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBoeXBlcnZp
c29yIGFnbm9zdGljLiBUaGUgaW50ZXJmYWNlIGlzIHJlYWxseSB0cml2aWFsIGFuZA0KPiBlYXN5
DQo+ID4gPiA+IHRvDQo+ID4gPiA+ID4gPiBhZGQuDQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4g
PiA+ID4gPiA+ID4gQXMgSSBzYWlkIGFib3ZlLCBteSBwcm9wb3NhbCBkb2VzIHRoZSBzYW1lIHRo
aW5nIHRoYXQgeW91DQo+ID4gPiA+IG1lbnRpb25lZA0KPiA+ID4gPiA+ID4gaGVyZSA6KQ0KPiA+
ID4gPiA+ID4gPiA+ID4gVGhlIGRpZmZlcmVuY2UgaXMgdGhhdCBJIGRvIGNhbGwgaHlwZXJ2aXNv
ciBpbnRlcmZhY2VzIHZpYQ0KPiA+ID4gPiB2aXJ0aW8tDQo+ID4gPiA+ID4gPiBwcm94eS4NCj4g
PiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+IFRoZSBvbmx5IFhlbi1zcGVjaWZp
YyBwYXJ0IGlzIHRoZSBub3RpZmljYXRpb24gbWVjaGFuaXNtLA0KPiA+ID4gPiB3aGljaCBpcw0K
PiA+ID4gPiA+ID4gYW4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gZXZlbnQgY2hhbm5lbC4gSWYgd2Ug
cmVwbGFjZWQgdGhlIGV2ZW50IGNoYW5uZWwgd2l0aA0KPiBzb21ldGhpbmcNCj4gPiA+ID4gPiA+
IGVsc2UgdGhlDQo+ID4gPiA+ID4gPiA+ID4gPiA+IGludGVyZmFjZSB3b3VsZCBiZSBnZW5lcmlj
LiBTZWU6DQo+ID4gPiA+ID4gPiA+ID4gPiA+IGh0dHBzOi8vZ2l0bGFiLmNvbS94ZW4tcHJvamVj
dC94ZW4vLQ0KPiA+ID4gPiA+ID4gL2Jsb2Ivc3RhZ2luZy94ZW4vaW5jbHVkZS9wdWJsaWMvaHZt
L2lvcmVxLmgjTDUyDQo+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+IEkg
ZG9uJ3QgdGhpbmsgdGhhdCB0cmFuc2xhdGluZyBJT1JFUXMgdG8gZXZlbnRmZCBpbiB0aGUNCj4g
a2VybmVsDQo+ID4gPiA+IGlzDQo+ID4gPiA+ID4gPiBhDQo+ID4gPiA+ID4gPiA+ID4gPiA+IGdv
b2QgaWRlYTogaWYgZmVlbHMgbGlrZSBpdCB3b3VsZCBiZSBleHRyYSBjb21wbGV4aXR5DQo+IGFu
ZCB0aGF0DQo+ID4gPiA+IHRoZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiBrZXJuZWwgc2hvdWxkbid0
IGJlIGludm9sdmVkIGFzIHRoaXMgaXMgYSBiYWNrZW5kLQ0KPiBoeXBlcnZpc29yDQo+ID4gPiA+
ID4gPiBpbnRlcmZhY2UuDQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gR2l2
ZW4gdGhhdCB3ZSBtYXkgd2FudCB0byBpbXBsZW1lbnQgQkUgYXMgYSBiYXJlLW1ldGFsDQo+ID4g
PiA+IGFwcGxpY2F0aW9uDQo+ID4gPiA+ID4gPiA+ID4gPiBhcyBJIGRpZCBvbiBaZXBoeXIsIEkg
ZG9uJ3QgdGhpbmsgdGhhdCB0aGUgdHJhbnNsYXRpb24NCj4gd291bGQgbm90DQo+ID4gPiA+IGJl
DQo+ID4gPiA+ID4gPiA+ID4gPiBhIGJpZyBpc3N1ZSwgZXNwZWNpYWxseSBvbiBSVE9TJ3MuDQo+
ID4gPiA+ID4gPiA+ID4gPiBJdCB3aWxsIGJlIHNvbWUga2luZCBvZiBhYnN0cmFjdGlvbiBsYXll
ciBvZiBpbnRlcnJ1cHQNCj4gaGFuZGxpbmcNCj4gPiA+ID4gPiA+ID4gPiA+IChvciBub3RoaW5n
IGJ1dCBhIGNhbGxiYWNrIG1lY2hhbmlzbSkuDQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+
ID4gPiA+ID4gPiBBbHNvLCBldmVudGZkIGlzIHZlcnkgTGludXgtY2VudHJpYyBhbmQgd2UgYXJl
IHRyeWluZyB0bw0KPiA+ID4gPiBkZXNpZ24gYW4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gaW50ZXJm
YWNlIHRoYXQgY291bGQgd29yayB3ZWxsIGZvciBSVE9TZXMgdG9vLiBJZiB3ZQ0KPiB3YW50IHRv
DQo+ID4gPiA+IGRvDQo+ID4gPiA+ID4gPiA+ID4gPiA+IHNvbWV0aGluZyBkaWZmZXJlbnQsIGJv
dGggT1MtYWdub3N0aWMgYW5kIGh5cGVydmlzb3ItDQo+IGFnbm9zdGljLA0KPiA+ID4gPiA+ID4g
cGVyaGFwcw0KPiA+ID4gPiA+ID4gPiA+ID4gPiB3ZSBjb3VsZCBkZXNpZ24gYSBuZXcgaW50ZXJm
YWNlLiBPbmUgdGhhdCBjb3VsZCBiZQ0KPiA+ID4gPiBpbXBsZW1lbnRhYmxlDQo+ID4gPiA+ID4g
PiBpbiB0aGUNCj4gPiA+ID4gPiA+ID4gPiA+ID4gWGVuIGh5cGVydmlzb3IgaXRzZWxmIChsaWtl
IElPUkVRKSBhbmQgb2YgY291cnNlIGFueQ0KPiBvdGhlcg0KPiA+ID4gPiA+ID4gaHlwZXJ2aXNv
cg0KPiA+ID4gPiA+ID4gPiA+ID4gPiB0b28uDQo+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+
ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+IFRoZXJlIGlzIGFsc28gYW5vdGhlciBw
cm9ibGVtLiBJT1JFUSBpcyBwcm9iYWJseSBub3QgYmUNCj4gdGhlDQo+ID4gPiA+IG9ubHkNCj4g
PiA+ID4gPiA+ID4gPiA+ID4gaW50ZXJmYWNlIG5lZWRlZC4gSGF2ZSBhIGxvb2sgYXQNCj4gPiA+
ID4gPiA+ID4gPiA+ID4gaHR0cHM6Ly9tYXJjLmluZm8vP2w9eGVuLWRldmVsJm09MTYyMzczNzU0
NzA1MjMzJnc9Mi4NCj4gRG9uJ3Qgd2UNCj4gPiA+ID4gPiA+IGFsc28gbmVlZA0KPiA+ID4gPiA+
ID4gPiA+ID4gPiBhbiBpbnRlcmZhY2UgZm9yIHRoZSBiYWNrZW5kIHRvIGluamVjdCBpbnRlcnJ1
cHRzIGludG8NCj4gdGhlDQo+ID4gPiA+ID4gPiBmcm9udGVuZD8gQW5kDQo+ID4gPiA+ID4gPiA+
ID4gPiA+IGlmIHRoZSBiYWNrZW5kIHJlcXVpcmVzIGR5bmFtaWMgbWVtb3J5IG1hcHBpbmdzIG9m
DQo+IGZyb250ZW5kDQo+ID4gPiA+IHBhZ2VzLA0KPiA+ID4gPiA+ID4gdGhlbg0KPiA+ID4gPiA+
ID4gPiA+ID4gPiB3ZSB3b3VsZCBhbHNvIG5lZWQgYW4gaW50ZXJmYWNlIHRvIG1hcC91bm1hcCBk
b21VIHBhZ2VzLg0KPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+IE15IHByb3Bv
c2FsIGRvY3VtZW50IG1pZ2h0IGhlbHAgaGVyZTsgQWxsIHRoZSBpbnRlcmZhY2VzDQo+ID4gPiA+
IHJlcXVpcmVkDQo+ID4gPiA+ID4gPiBmb3INCj4gPiA+ID4gPiA+ID4gPiA+IHZpcnRpby1wcm94
eSAob3IgaHlwZXJ2aXNvci1yZWxhdGVkIGludGVyZmFjZXMpIGFyZSBsaXN0ZWQNCj4gYXMNCj4g
PiA+ID4gPiA+ID4gPiA+IFJQQyBwcm90b2NvbHMgOikNCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4g
PiA+ID4gPiA+ID4gPiA+IFRoZXNlIGludGVyZmFjZXMgYXJlIGEgbG90IG1vcmUgcHJvYmxlbWF0
aWMgdGhhbiBJT1JFUToNCj4gSU9SRVENCj4gPiA+ID4gaXMNCj4gPiA+ID4gPiA+IHRpbnkNCj4g
PiA+ID4gPiA+ID4gPiA+ID4gYW5kIHNlbGYtY29udGFpbmVkLiBJdCBpcyBlYXN5IHRvIGFkZCBh
bnl3aGVyZS4gQSBuZXcNCj4gPiA+ID4gaW50ZXJmYWNlIHRvDQo+ID4gPiA+ID4gPiA+ID4gPiA+
IGluamVjdCBpbnRlcnJ1cHRzIG9yIG1hcCBwYWdlcyBpcyBtb3JlIGRpZmZpY3VsdCB0bw0KPiBt
YW5hZ2UNCj4gPiA+ID4gYmVjYXVzZQ0KPiA+ID4gPiA+ID4gaXQNCj4gPiA+ID4gPiA+ID4gPiA+
ID4gd291bGQgcmVxdWlyZSBjaGFuZ2VzIHNjYXR0ZXJlZCBhY3Jvc3MgdGhlIHZhcmlvdXMNCj4g
ZW11bGF0b3JzLg0KPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+IEV4YWN0bHku
IEkgaGF2ZSBubyBjb25maWRlbnQgeWV0IHRoYXQgbXkgYXBwcm9hY2ggd2lsbA0KPiBhbHNvDQo+
ID4gPiA+IGFwcGx5DQo+ID4gPiA+ID4gPiA+ID4gPiB0byBvdGhlciBoeXBlcnZpc29ycyB0aGFu
IFhlbi4NCj4gPiA+ID4gPiA+ID4gPiA+IFRlY2huaWNhbGx5LCB5ZXMsIGJ1dCB3aGV0aGVyIHBl
b3BsZSBjYW4gYWNjZXB0IGl0IG9yIG5vdA0KPiBpcyBhDQo+ID4gPiA+ID4gPiBkaWZmZXJlbnQN
Cj4gPiA+ID4gPiA+ID4gPiA+IG1hdHRlci4NCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4g
PiA+ID4gPiBUaGFua3MsDQo+ID4gPiA+ID4gPiA+ID4gPiAtVGFrYWhpcm8gQWthc2hpDQo+ID4g
PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4g
PiA+ID4gLS0NCj4gPiA+ID4gPiA+ID4gPiBSZWdhcmRzLA0KPiA+ID4gPiA+ID4gPiA+DQo+ID4g
PiA+ID4gPiA+ID4gT2xla3NhbmRyIFR5c2hjaGVua28NCj4gPiA+ID4gPiA+ID4gSU1QT1JUQU5U
IE5PVElDRTogVGhlIGNvbnRlbnRzIG9mIHRoaXMgZW1haWwgYW5kIGFueQ0KPiBhdHRhY2htZW50
cyBhcmUNCj4gPiA+ID4gPiA+IGNvbmZpZGVudGlhbCBhbmQgbWF5IGFsc28gYmUgcHJpdmlsZWdl
ZC4gSWYgeW91IGFyZSBub3QgdGhlDQo+IGludGVuZGVkDQo+ID4gPiA+ID4gPiByZWNpcGllbnQs
IHBsZWFzZSBub3RpZnkgdGhlIHNlbmRlciBpbW1lZGlhdGVseSBhbmQgZG8gbm90DQo+IGRpc2Ns
b3NlDQo+ID4gPiA+IHRoZQ0KPiA+ID4gPiA+ID4gY29udGVudHMgdG8gYW55IG90aGVyIHBlcnNv
biwgdXNlIGl0IGZvciBhbnkgcHVycG9zZSwgb3Igc3RvcmUNCj4gb3IgY29weQ0KPiA+ID4gPiB0
aGUNCj4gPiA+ID4gPiA+IGluZm9ybWF0aW9uIGluIGFueSBtZWRpdW0uIFRoYW5rIHlvdS4NCj4g
PiA+ID4gPiBJTVBPUlRBTlQgTk9USUNFOiBUaGUgY29udGVudHMgb2YgdGhpcyBlbWFpbCBhbmQg
YW55IGF0dGFjaG1lbnRzDQo+IGFyZQ0KPiA+ID4gPiBjb25maWRlbnRpYWwgYW5kIG1heSBhbHNv
IGJlIHByaXZpbGVnZWQuIElmIHlvdSBhcmUgbm90IHRoZSBpbnRlbmRlZA0KPiA+ID4gPiByZWNp
cGllbnQsIHBsZWFzZSBub3RpZnkgdGhlIHNlbmRlciBpbW1lZGlhdGVseSBhbmQgZG8gbm90IGRp
c2Nsb3NlDQo+IHRoZQ0KPiA+ID4gPiBjb250ZW50cyB0byBhbnkgb3RoZXIgcGVyc29uLCB1c2Ug
aXQgZm9yIGFueSBwdXJwb3NlLCBvciBzdG9yZSBvcg0KPiBjb3B5IHRoZQ0KPiA+ID4gPiBpbmZv
cm1hdGlvbiBpbiBhbnkgbWVkaXVtLiBUaGFuayB5b3UuDQo+ID4gPiBJTVBPUlRBTlQgTk9USUNF
OiBUaGUgY29udGVudHMgb2YgdGhpcyBlbWFpbCBhbmQgYW55IGF0dGFjaG1lbnRzIGFyZQ0KPiBj
b25maWRlbnRpYWwgYW5kIG1heSBhbHNvIGJlIHByaXZpbGVnZWQuIElmIHlvdSBhcmUgbm90IHRo
ZSBpbnRlbmRlZA0KPiByZWNpcGllbnQsIHBsZWFzZSBub3RpZnkgdGhlIHNlbmRlciBpbW1lZGlh
dGVseSBhbmQgZG8gbm90IGRpc2Nsb3NlIHRoZQ0KPiBjb250ZW50cyB0byBhbnkgb3RoZXIgcGVy
c29uLCB1c2UgaXQgZm9yIGFueSBwdXJwb3NlLCBvciBzdG9yZSBvciBjb3B5IHRoZQ0KPiBpbmZv
cm1hdGlvbiBpbiBhbnkgbWVkaXVtLiBUaGFuayB5b3UuDQpJTVBPUlRBTlQgTk9USUNFOiBUaGUg
Y29udGVudHMgb2YgdGhpcyBlbWFpbCBhbmQgYW55IGF0dGFjaG1lbnRzIGFyZSBjb25maWRlbnRp
YWwgYW5kIG1heSBhbHNvIGJlIHByaXZpbGVnZWQuIElmIHlvdSBhcmUgbm90IHRoZSBpbnRlbmRl
ZCByZWNpcGllbnQsIHBsZWFzZSBub3RpZnkgdGhlIHNlbmRlciBpbW1lZGlhdGVseSBhbmQgZG8g
bm90IGRpc2Nsb3NlIHRoZSBjb250ZW50cyB0byBhbnkgb3RoZXIgcGVyc29uLCB1c2UgaXQgZm9y
IGFueSBwdXJwb3NlLCBvciBzdG9yZSBvciBjb3B5IHRoZSBpbmZvcm1hdGlvbiBpbiBhbnkgbWVk
aXVtLiBUaGFuayB5b3UuDQo=


From xen-devel-bounces@lists.xenproject.org Thu Aug 26 12:26:23 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 12:26:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172989.315649 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJESX-0007qH-Rr; Thu, 26 Aug 2021 12:26:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172989.315649; Thu, 26 Aug 2021 12: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 1mJESX-0007qA-OL; Thu, 26 Aug 2021 12:26:17 +0000
Received: by outflank-mailman (input) for mailman id 172989;
 Thu, 26 Aug 2021 12:26:16 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HXzX=NR=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJESW-0007q4-50
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 12:26:16 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id cdd21c5a-0668-11ec-a9f7-12813bfff9fa;
 Thu, 26 Aug 2021 12:26:14 +0000 (UTC)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2170.outbound.protection.outlook.com [104.47.17.170])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-36-e0W3pwtSMcqsCerqXpIuvA-1; Thu, 26 Aug 2021 14:26:12 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4384.eurprd04.prod.outlook.com (2603:10a6:803:6f::26)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Thu, 26 Aug
 2021 12:26:11 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Thu, 26 Aug 2021
 12:26:11 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3PR09CA0015.eurprd09.prod.outlook.com (2603:10a6:102:b7::20) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.18 via Frontend Transport; Thu, 26 Aug 2021 12:26: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: cdd21c5a-0668-11ec-a9f7-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629980773;
	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=fr+xiIW5gsMQWJe07vdnAvt2jbWi1NGre8SNZn8xkYk=;
	b=CIr/7LzP3mlZyQzihIehYzp8nOu3S+Fda8MdjwAFt4ex1zoW/O1yvVuqvM43qa5DolA46r
	+KuGAxsVw5zw4Uo5Aa/2dqvm7o6YBBsSf+DfNSaRNNFs3mFvkf1oXgIE8K8L/d9iyQQKTh
	0WSUCLAd9g/Ku4iQSUSeMwiDzH0GCZk=
X-MC-Unique: e0W3pwtSMcqsCerqXpIuvA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eSDH82o8p6F7H7tC53Gz6jgAoLr0qryyPkqRggPLLRgLBtwbLNzFmqIzH2O3JBjypApwMHE8hf/3NJ5wm8c9Ndk61fo4p+rE9JURU26fNYzxAKyDCD7Pl9fxvicsR8DVYFjEMVJwcQYgcFHAce17jLcpHw+r4EmXhpfTf7xqrMTTOK44QShES/HWhkd+uY0KK80+7Jb0MkdMRWtORjp6WpxTmnJVPU2FMquNpBR4whHzTc6V/quf3dkVOsXnOtrup1O5H4Cn30KTANXSRB82uXG/Yuh+i2AbwcruXtsTu8scm5vm2vfpOcoqbX3ahCYo0eoQNfUbss+pkLOuMCXi2A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YUMf2oJZu4O7aqddxSDdsmynusLi89OLN4iA7Qnlc+8=;
 b=SWm3DzYHJpExACavziPxdBrEu7O9a6d914d1bXngNeSrMEpGxFKhFhZTk/JBHDCahrLxLBxTX4zvOpBjn/QPY1Aea/HwJZwf3GKgx2JBglwI54brzyBAXOMTyka6tPSqB5seJf9T8P6TxOxy/8PLZF45OqmP2+owwITcOAQsOvJ0h3gt9vNCphY6R5htrEB45hw/KeE/ePFbHHi3b86CGCeKOayBiL77FfdFF7kaoNjCZGxM8lgmXwFm4rmasFLb391kg86gcKZfJLD320WTvoMyx+1DQ/anzqd5/yZ8++3LfQeMem2GwIxvGpJ1vQln3LC7tWpxmsLvaq2nbU99Cw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: Re: [XEN RFC PATCH 26/40] xen/arm: Add boot and secondary CPU to NUMA
 system
To: Wei Chen <Wei.Chen@arm.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-27-wei.chen@arm.com>
 <35a57b18-4fab-522d-f39a-de21017abe57@xen.org>
 <DB9PR08MB6857FC8EA8C0D324426408709EC79@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <d7ea4260-aec5-efb5-32e7-7f73d6ee206b@xen.org>
 <705eae88-2cb1-f3a5-3190-dd4ed553fe36@suse.com>
 <DB9PR08MB6857D887C97A40E20F66B4069EC79@DB9PR08MB6857.eurprd08.prod.outlook.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <aba80d06-562f-32ff-51f2-471dbf2c9afa@suse.com>
Date: Thu, 26 Aug 2021 14:26:08 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <DB9PR08MB6857D887C97A40E20F66B4069EC79@DB9PR08MB6857.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: PR3PR09CA0015.eurprd09.prod.outlook.com
 (2603:10a6:102:b7::20) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 86545f92-a04e-40cb-ff86-08d9688cb02b
X-MS-TrafficTypeDiagnostic: VI1PR04MB4384:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4384BE94311B98FCF68B0E6FB3C79@VI1PR04MB4384.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	fLZxoPLnhDYc+ejnJNIYCDSrpTvNinEOpwIIvXk/AY7MtvR4y+AZuoDE1jnVCv5pXP5SVrAoldd6sEjKLnz1K+QwfCOanzpn7IiZtbMa11A+GG6boRMJDRK+x1cVwB0TQP2pMJ2qc7uGFeazpRjWzZbZt3SkNHaGH7N1anRq7weVW/bV86El2GbH951sUHSQ6ivJ422NFjhdJFg3KMlwVGCjYjOiFl2xmSbxcZ088J73s668w/z960RvQN94oZdBlxX+VF7oBnhhKYNyVCzGV7N6XO5bZWrOwbgpCFymRnXgQsikjPhkZd0iQhdex3yrEApOfWOz3GVs4QU1p2q04TMYAwtI6ImuA0z/MyZQFNgJZ66Xi72tyNGbqXPJA7P9J5ppG7ziZ6avkTToHXdZxqmj7xC8gBjiR4sbY34fVwlpxNy+HFGyNeNVONq5ZicGCy3zHqsFPVZakUcOzEjy1aFGGlmKh+g4zgwwXwPEHFtiRMbBE28MD38BntLas1nh82Y7nCfwqzbhZHWmXruSpL3jvFdBdmclSju7Q84AUcIOo1wdHz2fvJ4zmgZGZNgT0mvmaOLMHPH6sVMMV2W+n+fllhFyHoD1aE+J5oO0FB2aGuDQxcySS/WdXT7ScnFz+P5NWfWB5IGHc0jE+7TtZe7aZO96kCP7Mh7M8r7bz+R7cxYXj6bxcIPnTvulZ6jsFDmu11FInZZicu13r5nFFEhtFhOdRzFi6i2QR65o5qU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(396003)(136003)(376002)(366004)(39860400002)(26005)(4326008)(6486002)(2906002)(2616005)(8676002)(478600001)(38100700002)(31696002)(8936002)(54906003)(6916009)(16576012)(316002)(186003)(86362001)(5660300002)(956004)(83380400001)(53546011)(31686004)(36756003)(66946007)(66556008)(66476007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?I29uK2U8oVhzBu5GaV6HBh1kJuIJGb+3vh79nopaM+VujszCCMDcSm2XPX+6?=
 =?us-ascii?Q?XTo19ldcf6ZDWH7I8Fweo+i6QGVfImM7wfLQXEjq7KC22py4d92kh2OODJ4n?=
 =?us-ascii?Q?/h4pFBP+36+fPxd24QQey4q/wfzMnQirvxuXm0CBP1lxqMj+QXD7CzUR/EA6?=
 =?us-ascii?Q?E9GrWbY6ICJCQV2xuClQ5qeNbFpl8rONXpHHtTfK4UikfCwotJs+33CQDTG+?=
 =?us-ascii?Q?kM0O5e9gJwRDlQ7W/1UzHfe9twyg44AmxPaBYBBO7/Bardiy5okcmKXRTkBe?=
 =?us-ascii?Q?9pjeXGyKY7t+GHNLbd3sZCxWQbPZpQis/p+Hjvihfsx2wZndXDg+9j+T9Pmj?=
 =?us-ascii?Q?nOzQ0BIdPM3YhLORQk/6MUiGusbdKzY1qoGgZtP42pPECwn/tGpy4rbzqy0S?=
 =?us-ascii?Q?iSOqSkg2IFM7jF+HHXJnOiJyXNITR9B6NIg0+e5GFCIjHls6NZo7f2XlBl9P?=
 =?us-ascii?Q?xM8gc6G/syyd0bfaLG0qDzzH8fNNB+OpWwhH1UKtZmaitE5Z+2ALe2/iXBr+?=
 =?us-ascii?Q?YMQorqRAV6En0QYVU3zc7OFkz9EBe2Of7lYqSC2VtBUeWdEYxVET2yftvFUf?=
 =?us-ascii?Q?rcIjfM8ZSzSMfOYxwbIcIspKS0yJVJqaTyxmBhdrtknbb4g8gb5p91MkYAxv?=
 =?us-ascii?Q?I6cF8mRiRfkssdIToTgaaG7reoMtTraoyJUv0+nE4gdpIroesy1JorVFV1/l?=
 =?us-ascii?Q?uKLnGO6nApUOoUZ8QplDpG026nUmZFePwJQCGBDNA+Z/oaJNdGoNQvCEOUkA?=
 =?us-ascii?Q?vMoOmR1FVtbaBhN4yzKb7M1HfVx+NeWCtxcNkOf2Ph2DkNOejpQhbxaj1DBL?=
 =?us-ascii?Q?Y9n+sP8pg5T/yDDISUUpzjkds3QgHrZmNwhk+7vyt6Vtn1dyz4f5F3xrxOBH?=
 =?us-ascii?Q?777HA+iY3mOHQcocB+dcUNhjnPQGlMExr2tyzv3cLT5Lmq6U0f87bhMUk72I?=
 =?us-ascii?Q?SGDp1Bwkoxz9LMpf6ttYoSvTKPnA5fVYFvjYbgu5ToRaWBejrxhxurWUXwsD?=
 =?us-ascii?Q?XSZzrQCSeeyNTxPt0hlTBmBlKufCSl46Opwxq4KHAmJhy8uqG8TeoVkbgAcb?=
 =?us-ascii?Q?Zs2udKLfyhtdTDGwt+1uNxhh0yGieOTPKweMRPZ0sqLEscth7yk4CfxbU3j/?=
 =?us-ascii?Q?c0AsIJsdTIl/WyOTbznEJW5hB6uQPUE092TfeJNYRI0jV3Z+FOcc1deZkbdG?=
 =?us-ascii?Q?CTvaFZ9eUA3Jh9Kab6K6Axf8tXP/RM97jWOVBbQnGNo9LA5h9VyMjJ6utaP4?=
 =?us-ascii?Q?fnX6SF076KXDaeKtjY3sRy0B3Czm9YjxcX/BJ+WxVkBbWFxdJPMHbA1C4oGC?=
 =?us-ascii?Q?v+VlI8yOzvHvb5vtIu+LEFZw?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 86545f92-a04e-40cb-ff86-08d9688cb02b
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 12:26:11.1218
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: u6l/DraFSq3ehvASR+kUvjm6bY4KEgdz7KuCh7tKqfzkmi0/MUiCix6zClVQd7FraHmGPupZqgIXUNh1CCeacg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4384

On 26.08.2021 14:08, Wei Chen wrote:
>> From: Jan Beulich <jbeulich@suse.com>
>> Sent: 2021=E5=B9=B48=E6=9C=8826=E6=97=A5 17:40
>>
>> On 26.08.2021 10:49, Julien Grall wrote:
>>> Right, but again, why do you want to solve the problem on Arm and not
>>> x86? After all, NUMA is not architecture specific (in fact you move mos=
t
>>> of the code in common).
>>>
>=20
> I am not very familiar with x86, so when I was composing this patch serie=
s,
> I always thought that if I could solve it inside Arm Arch, I would solve =
it
> inside Arm Arch. That seems a bit conservative, and inappropriate on solv=
ing
> this problem.
>=20
>>> In fact, the risk, is someone may read arch/x86 and doesn't realize the
>>> CPU is not in the node until late on Arm.
>>>
>>> So I think we should call numa_add_cpu() around the same place on all
>>> the architectures.
>>
>> FWIW: +1
>=20
> I agree. As Jan in this discussion. How about following current x86's
> numa_add_cpu behaviors in __start_xen, but add some code to revert
> numa_add_cpu when cpu_up failed (both Arm and x86)?

Sure - if we don't clean up properly on x86 on a failure path, I'm all
for having that fixed.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 12:30:55 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 12:30:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.172995.315661 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJEWr-0000mb-Dn; Thu, 26 Aug 2021 12:30:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 172995.315661; Thu, 26 Aug 2021 12:30:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJEWr-0000mU-Ai; Thu, 26 Aug 2021 12:30:45 +0000
Received: by outflank-mailman (input) for mailman id 172995;
 Thu, 26 Aug 2021 12:30:44 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=q24O=NR=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mJEWq-0000mO-5D
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 12:30:44 +0000
Received: from esa6.hc3370-68.iphmx.com (unknown [216.71.155.175])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 38d3da56-a9b8-4eaa-9f7d-133c4c0258d4;
 Thu, 26 Aug 2021 12:30: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: 38d3da56-a9b8-4eaa-9f7d-133c4c0258d4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629981041;
  h=to:cc:references:from:subject:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=x3I6GZ9RvctxN6HIHyV6evgAaApIwNAsVJ3oAp5MWvA=;
  b=SF4ew6x/MTddIqfUjZpmMyR5SOfftWkcrJkPm43RBDqdRbCS2LCl/wAU
   hgPtNAqC7ivsw98T6T7mK20guS6HS5FKMpG/tC4UF97lWxl4QiSf2Ca3e
   TNzLInjkPDbSflBq7oQjpfDohM8QuJzrTVzP9w65aSjY6WSsF4pFoWyiY
   Q=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: ISB3iveNyVExZSYpqgzQsFparhe/OGme9PNPfyX90zphmMkpk22moBg+2UIPap5uO3OKzY9pB4
 tGoiFx+YmgMNyNpd87IMVnwnB5Tuz7LUg1v+dM1XqDDMvPfjgh7DskcacMxGnmnER//tJrtZC7
 /XHzVLfLV61cLa2aBRkzRwbYp18eGy+6JQXzv35b6RVCPYkcs0mPk+poBeI81Fm6i08L5XU/V6
 iOA655+LGR9CWi2mCRA11/wqUUKwe9jt04dy99tAycWcMjmoHCnPpVTJy6S8rbcJuCU8SBuXOQ
 KL2i8lLC60+4OMQEh/3KHheD
X-SBRS: 5.1
X-MesageID: 51368838
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:WdkN9a5iBytRcS0syAPXwaaEI+orL9Y04lQ7vn2ZFiY6TiXIra
 +TdaoguSMc0AxhJU3I6urwRJVoIEmsuqKdhLN7XItKMzOWwVdAQLsSj7cKhgeQYREWldQtm5
 uIEZIOcOEYZGIS5aubkWqF+pQbsaK6GcuT9IPjJgJWPGdXgtZbnmBE42igYyhLrQ99b6YRJd
 653I5qtjCgcXMYYoCQHX8eRdHZq9nKjp79JTYbGh8O8mC1/GiVwY+/NyLd8gYVUjtJz7tn23
 PCiRbB/amms+u20Fv1y3LTy5hdmdPnysFGbfb80PQ9G3HJsEKFdY5hU7qNsHQeu+e08m8wnN
 3NuRs7e+xu9nLqeH2vqxeF4Xi87B8er1vZjXOIi3rqpsL0ABggDdBavJlUdhvC51Bll/tXuZ
 g7jl6xht5yN1ftjS7979/HW1VBjUyvu0M4neoSlXBEFbE1TdZq3NMi1XIQNK1FMDPx6YghHu
 UrJtrb/uxual+fb2rUpC1T29SqRG00BQq6WUAMtcye7ihOkBlCvhcl7f1auk1F2IM2SpFC6e
 iBGL9vjqt2VcMTbbhwHqMIRta2EHXERVbXOmqUK1LhCa0XJhv22szKyYRwwNvvVI0DzZM0lp
 iEekhfr3QKYE7rCdeDxtlJ9AzXR225UTmo18cb/JRyuqT9SL33K0S4OQUTuvrlh89aLtzQWv
 61Np4TKeTkN3HWAopM3xfzQd1XJWMFWMMYoNAmQFiDy/i7dLHCh6j+SrL+NbDtGTErVifUGX
 0YRgHpKMFB9EywHnnigBbQXHvpcEn+8ZVsELHT8uUJxJIWX7c84jQ9uBCc3IWmODdCuqs5cA
 9VO7X8iJqhqW2352rTq3xzPBBQFFxY7fHqQzdIoxMQNEvwcbEM0u/vLVx67T+iHFtSXsnWGA
 lQqxBc4qSsNaWKySQjEd68dn+Ah3wIvXSQUooGkqKN5c35aoo1Z6xWC5BZJEHuLVhYiAxqoG
 BMZEsvXUnEDA7jjq2jkdg9GPzfX8MUunbqHedk7Vbk8WmMr8AmQXUWGxS0V9SMvAooTz1Iwn
 Vs7q4khqaakzrHExp9vA14CiwPVI2kOsMDMO23XvQSplktQnA3cY6+v03et/j0QBuyy6xdvB
 24EcTeQ4C1PrMUgAEn7k9ByiIiSozaRTMwVpkyi/wNKU3W/nl0yuOFfay1zi+YbUYD2PgUNH
 XfbSIVOR4G/aH96Pe5okfKKZwd/ORnAgUdNsVXT5jDnne2bIGYn6APGPFZuJ5jKdD1q+cOFe
 aSYRWcIj/0A/4gn1X9nAdpBABk7H0/1f/40hzs62a1mHY5HPrJOVxjA7UWOcuV4WToT+uBlJ
 95kdU2t+2tNXiZUK/N9YjHKzpYbh/Dq2+/SO8l7ZhSoKIprbN2W4LWVDPZvUs3qinW7P2E43
 /2ZZ4LrIwpFrUfDPD6ShgpimbBzu7/XHfDmjaGcNMDQQ==
X-IronPort-AV: E=Sophos;i="5.84,353,1620705600"; 
   d="scan'208";a="51368838"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OgKjnqwl9WrZbIy/Icx7Mis5laP/2yx/bxhUmzCwkYcbQBEEFITkDpHOJ4s2Uw/ASNfZdiglAAlDtKM1QbJupKhqmmW7eqLPN0yw4Ae2uItC1qTqHFbIVeKTD6g3QoLDvB+yUJg960YtAAGEdLgQCEha/eQfxAV05zfWnpqHjFH3VAGXTOI7/jusnU9yxXMLiLjgeAuG/s3/7iITqh/3ra2IgnD3Bsm/X9aa2UTwjoAQo+V3WlgjPIZEdOH0+9AGdZZk+U+sxLw3tmfFAk+syqt52y8IngBM63U/XcwmfQorHRqEqsA2/tWroV7c/yVZzKHRLpBEyUc2HWpCJpX66Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fnqIGO1od2TJLf2Vm2JprfDfPfoJAOarWZHkjJuVeE8=;
 b=HCr/bKAjo+vbJw4oKQT5FthiG08cCp9Ayiuo7ry9EppzefSo5KJpk6V5mmLav9mULqs41tXeqtWAG/rjg8C4C/G5EL48hhkBofoq80X/4RbBq+fHMqcnUwfDFLMIeCogVK80XBYSdU/oVRLtr1jqqp7O/CJwo+Q+FjhSoN0cKktzktu8y9uBkfQkqYA3jDbqjvEjNPWL4nOfqsq7D94011Ngde8q6dwMKpIvS3PXNT+cgnJW5WR/J2AJH7lmycmQVyn08TMgIQe0otdpuwWSMg6TaTaVyuoPhfn/cgGuw7QiIBjQtbtEWdGuhZUWFc5NN3yaPG8PrRPiqE+OnAhk+w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fnqIGO1od2TJLf2Vm2JprfDfPfoJAOarWZHkjJuVeE8=;
 b=FSx7JyWsFEeQi49ncxdGwzDbk1AJOWGdeF2ZH44P1slZlrBrEPBgmeLe4BB9CLBn7SiQxLZE+jYSh3aeJ9aOwzznmPHTLxWeUWsoLwTTF4hpmfT+HGOl3SWtO2m283Ku99RmaB7kP4u/e4fE33vk4+ouJnfUo8OcQENRlr/5NGY=
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Paul Durrant <paul@xen.org>
References: <bf4b3be9-1274-9750-7340-08b29dcecfd3@suse.com>
 <e4124802-d671-0e19-a062-f71b251cdfad@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v7 2/8] AMD/IOMMU: obtain IVHD type to use earlier
Message-ID: <d9647381-1acf-621e-b150-ca00b62c9efa@citrix.com>
Date: Thu, 26 Aug 2021 13:30:29 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <e4124802-d671-0e19-a062-f71b251cdfad@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-GB
X-ClientProxiedBy: LO2P123CA0023.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:a6::35) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 366b7644-7237-4ae1-e22f-08d9688d4f3b
X-MS-TrafficTypeDiagnostic: BYAPR03MB3862:
X-Microsoft-Antispam-PRVS: <BYAPR03MB38627BF7A68B584E270E7144BAC79@BYAPR03MB3862.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:4941;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: cTqLZb1F9D5HcjEYTXiuLSJ9u6yLisOuaH9CuCWVo8gNAYJGuh8juA1gAXSK6LFF9kYcYQIdq3ERHg/xyNSKpEpENAhq5kqlsftI2wGPAbZ08oA7RdU23p0cAO6sLkiHJc57YCWRTPOWBfJ1MD4VQ5Ky2fkU6IfwfwG7lcpNipBifsTADnKl2OpI6+QI306PtLwkq+kF27/OMY29YsYgA9Xdy80nzXU5qUGcsfHEI8HXt+fPLjv0SJ+cSGlO9qfphxID3WO4vlK7J6r9eH5IgDp/DpC4j3IhwcdgFeiXQijpYyrpL3VNZBIXJa3ArWdGOHBR2V5IVRV++gzsrHAmUXqx4Yv+jzId39oGDIxqmbgQ77dLwou+9y2wzB/vPwwxq/c20RP8FQsTTG9pHOHjEtrLox90v8VnJE07ftviw6D9rfFcJurDR9wa/g8/EqE2vPpAMVDcxK7YqU/gwKobXo/zoyFJ7hyE8B8n4MzhQKxtsSItsi780B0mLYMTeguDxhZSw7Q077q6ABRnASXfueJORlHoam9CQIERgUUABE/ck1keBAG+BfpiBZZIFdq5ca6H6fUuO6fr+aJS7abrMxeqGbs5JePC3rG3gacjotYxWjtpta+4IH/5BfX2hiMXSpp0hske3gyX5QuO2con6tYEuD+u614IsRdhCZdfvngTWxPy8yUJzG22lFOyTr9+0VtlEHv/UkUAs0HA9sDz6yDG8G9Sc62hrudk0Rk9xUc=
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:(4636009)(346002)(136003)(366004)(396003)(376002)(39860400002)(6486002)(31696002)(186003)(956004)(2616005)(5660300002)(2906002)(6666004)(316002)(26005)(16576012)(110136005)(86362001)(53546011)(4326008)(55236004)(8936002)(31686004)(478600001)(38100700002)(66946007)(36756003)(83380400001)(8676002)(66556008)(66476007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RldyN2JxdVRMZk9BSW1WdC9hcVByQlVjTXZCRWtSTUVvOFVnR2xHYlNXem5I?=
 =?utf-8?B?WFFLUW1YQ0RsLzJBejUwMmJDbHpjcUd5L015YXh4UTJDV2V1a0dDQlVDcFV4?=
 =?utf-8?B?N1B5aTZUN3FUWWkzWks3c21iajBRU3E2ZlVNckhmRXl2OHc2OWxjN3hEU0RS?=
 =?utf-8?B?cFlRM1FZS1RSOWdmNFFoa2EzZWdiU3Erc3M1UmJ1NkdKMkdqWHZoNFd2T2RU?=
 =?utf-8?B?LzZ4U1FaZlFHVjJUODQrREtYaTlmZVdrYU5GZnhaSFNVY05ERVVOVk5jdUI3?=
 =?utf-8?B?Y3pvOGwxdXRhcFJNSEhPRmRhL3ZyU3dRK1lyVmd1Qjg5aUFUYjJpT1dIdHFI?=
 =?utf-8?B?b3ZPSDU3SEgwMG1seHFyTStMNXBLZ1hycXMyenQ2M2plMUxlQTdkZGhDL242?=
 =?utf-8?B?bWgxUGZIdGQ4UDVYMnFzM01XYU53UnNJME1DSlFBaHdTTFRob0dvV2x1V2kx?=
 =?utf-8?B?RVJValUxWmg4OGlSVVBmaWNlbU8xUHJNVGp6SjFYWlRmb2dxL3NhQ1VjN0ww?=
 =?utf-8?B?S0tpWkg4dmxnZ05EZHprdzZ5RWNKWWF2K21ZM3NHVHlNUWJwU0NJWUtTZHFt?=
 =?utf-8?B?SEFva1ExOHc0UWxNYmFhMjJYSDc0L0tOcVVuWXd1K2ZtTDJkdkFydzgzZFVE?=
 =?utf-8?B?dk9UMk1LZlk4UUJHVXBsbjVJaWNNVUgvVWVSek5VRTUxVTlqQy9EVU1Bano1?=
 =?utf-8?B?SlN4S2NaOXA5dnVZc3VTbUFFbkFVcHIvRllmZVRRd00rK1NDcHJ5UGtTbCtM?=
 =?utf-8?B?SzlPd0hLUWtoaTlWbVdaMkhEZEJUSXlqcTNXRFhqYTN6Q3VuNGpodWxVcTBY?=
 =?utf-8?B?TERrZk9TcVNYQ2c2OVNRSjBUZTVXWG5uMDJibXlqekJYNSs5elQ0blM4cThO?=
 =?utf-8?B?dzdoSGYzdXNxekdEc0J4K24zWmtlWThkdHlQTS9TbklnYzBleHRnSU5SeE55?=
 =?utf-8?B?S0QwZDcxNHQ3UFNXdGVrZmNteFNyRHhMRFFwaXBqOFltNzQ2ZHZWVzRuVDh0?=
 =?utf-8?B?UHg0NXh4OFB0Um1ZRWJXWTJXRHJTRGxMVTdqN1RCQnBPQlpQSFcwTUp4Nmsw?=
 =?utf-8?B?OWlpLzg4YnYrQzNnVFZPcGZLTjRRc3pkbHZ1cFRia1hNUkI4dXRWU1pSSUl1?=
 =?utf-8?B?cUtOcjlzTGFHRTErTG9ZbCt2N0RuOXpNdWFZZmJyekRHTzlNT0pUKzVJWkkv?=
 =?utf-8?B?VjhNdVdWTytrQ05qdFcxVjJYbGxhb0xmR3paLzVMbFdRaDJlSHRZMEZ4Q0M1?=
 =?utf-8?B?aHNyeDUzZnpDcDFmSnhxN0xBOCtNUFpablFrNGVuL2Q0NDdpNzVudnNOT0p1?=
 =?utf-8?B?OXB1M1YwS2p6Z0dnUTF5QzRFUkVlTTRmMHpjT2grVFVtSnZlWCtkYTY1Wk1l?=
 =?utf-8?B?dmdFbXRyend2UWVvb055RzVjTFVDM1RSeldpMzZzei9JRkZRbC9QRWFQakFJ?=
 =?utf-8?B?YTV3cElaNnRGajZtaUJJeUFxZ2ROOEU2V3Z2SHJBRmxaUmNwNGtUZ0lNT3B3?=
 =?utf-8?B?d0thRHlDanZiYzU5cC9yRFRqUmhmbWRwQm5jek9QTXpCV3Z5VWNLWTNkemZu?=
 =?utf-8?B?VzF5dDNrV0FWYTN1cW9PdkNDMnJtUnlBWThPc2l5c1lmcFU1aHd5ak12VmUw?=
 =?utf-8?B?M3FzbnhVa3U2bWhPQkR1UXpVeUNmK0VnN0p6Q0NDamNRc2QrbmpTbjhjZi80?=
 =?utf-8?B?eGxvUkprNVZ5cEZIa1pHbWxacTJ5UUJyZHowcWMwVFd6dFNRd3NMY3ljdW5B?=
 =?utf-8?Q?9q1a+yDRNSoiBJ50Ec7VzjMUOpzdWH3hUSD1Eui?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 366b7644-7237-4ae1-e22f-08d9688d4f3b
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 12:30:38.0007
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: RC7wWPxm7BocRO//7DKCKJcgwvus3oxRNTnn6XaLLb1SGvve86Fn836nOKlDvKeUAT0vJRoOFGNN663/g9et6bd1TUNvwkyhfT/WHiX+4ZI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB3862
X-OriginatorOrg: citrix.com

On 26/08/2021 08:23, Jan Beulich wrote:
> Doing this in amd_iommu_prepare() is too late for it, in particular, to
> be used in amd_iommu_detect_one_acpi(), as a subsequent change will want
> to do. Moving it immediately ahead of amd_iommu_detect_acpi() is
> (luckily) pretty simple, (pretty importantly) without breaking
> amd_iommu_prepare()'s logic to prevent multiple processing.
>
> This involves moving table checksumming, as
> amd_iommu_get_supported_ivhd_type() ->  get_supported_ivhd_type() will
> now be invoked before amd_iommu_detect_acpi()  -> detect_iommu_acpi(). In
> the course of dojng so stop open-coding acpi_tb_checksum(), seeing that

doing.

> --- a/xen/drivers/passthrough/amd/iommu_acpi.c
> +++ b/xen/drivers/passthrough/amd/iommu_acpi.c
> @@ -1150,20 +1152,7 @@ static int __init parse_ivrs_table(struc
>  static int __init detect_iommu_acpi(struct acpi_table_header *table)
>  {
>      const struct acpi_ivrs_header *ivrs_block;
> -    unsigned long i;
>      unsigned long length =3D sizeof(struct acpi_table_ivrs);
> -    u8 checksum, *raw_table;
> -
> -    /* validate checksum: sum of entire table =3D=3D 0 */
> -    checksum =3D 0;
> -    raw_table =3D (u8 *)table;
> -    for ( i =3D 0; i < table->length; i++ )
> -        checksum +=3D raw_table[i];
> -    if ( checksum )
> -    {
> -        AMD_IOMMU_DEBUG("IVRS Error: Invalid Checksum %#x\n", checksum);
> -        return -ENODEV;
> -    }
> =20
>      while ( table->length > (length + sizeof(*ivrs_block)) )
>      {
> @@ -1300,6 +1289,15 @@ get_supported_ivhd_type(struct acpi_tabl
>  {
>      size_t length =3D sizeof(struct acpi_table_ivrs);
>      const struct acpi_ivrs_header *ivrs_block, *blk =3D NULL;
> +    uint8_t checksum;
> +
> +    /* Validate checksum: Sum of entire table =3D=3D 0. */
> +    checksum =3D acpi_tb_checksum(ACPI_CAST_PTR(uint8_t, table), table->=
length);
> +    if ( checksum )
> +    {
> +        AMD_IOMMU_DEBUG("IVRS Error: Invalid Checksum %#x\n", checksum);

I know you're just moving code, but this really needs to be a visible
error.=C2=A0 It's "I'm turning off the IOMMU because the ACPI table is bad"=
,
which is about as serious as errors come.

~Andrew



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 12:31:41 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 12:31:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173002.315672 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJEXh-0001X0-PX; Thu, 26 Aug 2021 12:31:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173002.315672; Thu, 26 Aug 2021 12:31:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJEXh-0001Wt-LA; Thu, 26 Aug 2021 12:31:37 +0000
Received: by outflank-mailman (input) for mailman id 173002;
 Thu, 26 Aug 2021 12:31:36 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HXzX=NR=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJEXg-0001Wl-3n
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 12:31:36 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c5c10234-78b0-408e-88b0-3dc2ec548958;
 Thu, 26 Aug 2021 12:31:35 +0000 (UTC)
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur02lp2057.outbound.protection.outlook.com [104.47.5.57]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-34-JvpbqwgBPWSVyJN_fnxmng-1; Thu, 26 Aug 2021 14:31:32 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB6174.eurprd04.prod.outlook.com (2603:10a6:803:fa::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.20; Thu, 26 Aug
 2021 12:31:31 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Thu, 26 Aug 2021
 12:31:31 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0278.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1::26) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.20 via Frontend Transport; Thu, 26 Aug 2021 12:31: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: c5c10234-78b0-408e-88b0-3dc2ec548958
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629981094;
	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=TbhJW8BqYFc6p3c5XQ6jf2jPI8gASllJqgAgarxGC3s=;
	b=Kz89T63O+yQ2HlvCo6XjyrokOoG4HSO8lDPCs7JjpHW2FTwrEoSIvw/Wr2bcjkb/tvkmCp
	Tcel2ISOAC9kwjjQwslzERQqoxsghztptT0t6OU3IFKdkigWhQw2iWxYMf93ETJfYan50Q
	K4ScxCgEITqetgrLxyjDnltUBsJ6tFY=
X-MC-Unique: JvpbqwgBPWSVyJN_fnxmng-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=A0j7YBaQozd0nkyh5DNIbzA6aUL1jQcrS/L2ON2wHXF78OYXxxYsm05vzMkBJbTvNnK45h0Nq/buWEeCAdvJIuHWwnBGkQOczQGGYyeB8WKs5omJg/LY6IxfEc73XUgvQzJRbRbJN4D6231+y32wpuyonTF2fFO7OKBUcRvtnwv3QIiONVdcB5LlR+QQv8/8LAUlUkMSRwpxJ4JVLZFQsHTNSXjB/RQQtWwrcluRBsJfdLQJpPXyu++zWLGu44T5EJv8ONepoSeZOpnWbFPdl7hcrY2/he1wZ56g05MRm6+XYmO+1okujkgehWfgRIcmx8DgBuT71q2Rm1s2UVZ2ig==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AuXEDa2CkHy4uOPC7f4nQ7UbOd9kfMmjP2WmCuCF9mM=;
 b=BjO5QJGOyHNZ9dpxtVqsXo+dnldaRL+HiwwFZmWLERm2AgIN4m61m8kL0pDKdkKoFrOxZ4xrrNXcOQJiMGNceQgBH0hanafogvVudzSgNGk12APb9uklf9nCDICRY14JnEl8jL4aUZakenYbsl72riIHv+PQ1lGpRugH2WEcORWrgKhzjdn24/HV+N2gdWoUfBd8VbN5E51XWzy2Vsbp/tRaDXsnsp+KHziELe6j7xhwT4yKhtHyv0Wj+INVyDoEAnAWEZuoVOipHxwE9sMOME01VKG8myt70uwLwFpYY2v44sU06vWRhQyXWBa1TIOXw7CQardpc1IiaZ5oITpfNA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: Re: [PATCH v7 1/8] AMD/IOMMU: check / convert IVMD ranges for being /
 to be reserved
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Paul Durrant <paul@xen.org>
References: <bf4b3be9-1274-9750-7340-08b29dcecfd3@suse.com>
 <133d60ab-0de6-4831-7387-0ba9cf6efb5b@suse.com>
 <88994b1b-a8b3-1207-5ac9-dac50c383a98@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <e3fd804f-07a5-8388-9c2a-19aec82a164e@suse.com>
Date: Thu, 26 Aug 2021 14:31:28 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <88994b1b-a8b3-1207-5ac9-dac50c383a98@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: PR0P264CA0278.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1::26) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: fb560103-2652-4c83-f4e1-08d9688d6ece
X-MS-TrafficTypeDiagnostic: VI1PR04MB6174:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB6174EBB05FF651E2319BF540B3C79@VI1PR04MB6174.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	wWgFGeFGqrN1uQWF9VZGh5KK7CzJdNMr2Sw8mCqSjQ4fwwyGn9XRVDh9/5YkxX8YfxEbDMxvvXXVRdReRsClOrOZGfaWbGjvYFnDtaUDV+53Y7fi0uERPFeMb7NT11IAz2OBW91KbnH8izSfG/Hxk3g7yMH4K9dn7hIgicnOe5K2eWt/z0pduYQOrzKzLPbTdPK3cXjdhgGzN/ZKqWGB6sPRuwntrVvfbC8REasyq82uw0dVO70nc9Rj43XcGWOWOoY71ENa46xvL2NuOH6FSm3vhW7UpZjy8GQ9DwwcHX/XEDo1Ty4nu9ZoPodAZMdsAcG3llqko2HySwwwJJ901fBgtSgEhmA/N9LT9i/w38wby+k35SBI8FvYj0+RpPkkY+niSkhJWr+7gmiVBHBFlVyJOmkQV8e9rT6CQYrY7ykonL18qFTdhKfJ2pwwG0CGbMu4cErWM0s1q75He4MRjQfykvO6CdS3VkFR8f4SUYDHqu0Ze4PmImHaJe4cT5hsQeUvJR6xP953eOtoIwSIq5Grqjfl8X//7YXjIa1avNNB/jYnVxS9fZAKEd8MamGGG8PiCFyc/GecMkNoqZyNs3AkZO+/schonzgHaR+9iWNQGNazPHQHM/NBUqxyza5EBhosVNchpeQkRSXrT3PPDMdsSUnelZJEawDF6fWDP/cPsAVTN5P4u0AKKyip1P12RoXat1CQME2Za/Klq5T7xirSWm2EtdY/ISgKN6HXBHI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(346002)(366004)(396003)(376002)(39860400002)(66476007)(66556008)(66946007)(53546011)(186003)(26005)(83380400001)(86362001)(316002)(2906002)(110136005)(31696002)(4326008)(6486002)(36756003)(8676002)(31686004)(956004)(2616005)(478600001)(8936002)(38100700002)(16576012)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?y3T/2zlsJDMocpBbaJuATftyqDMDtDxG6NUTmClWBCpbFD7llDG7RA32HoY3?=
 =?us-ascii?Q?YJXi/dmfwnwTp0BCrGa6xESKEo9EcfLUq9zc2E1Etg40mrsBwsFOE12gC/TS?=
 =?us-ascii?Q?95NxZUD6LMAY1WxIq9IxY+5/pxHBgv07NDtEJFxnH0mebLBdNCDXYBqiYMqo?=
 =?us-ascii?Q?C1y2lme3fxZYIAFMvb2yH2SW/k7PDOk3/2auy59A3QURgf5h+Y1CX0vG1/HM?=
 =?us-ascii?Q?7A23jGVMV5EROZ+26MwzHDHNaNqCbFLbnvhvK06GGb55auwq5AhAi15EKa8p?=
 =?us-ascii?Q?alHezyZGE1YrIsbJ7/8FtRycPYBsDCSE2aIsMav1qd59n4PMoONRWBQfcSPB?=
 =?us-ascii?Q?N/FDPcLFnHHGCTD7f1NyUWG9zgQNslkgAMQH3dih9oCC4kjhwQsLVDQ/AYfs?=
 =?us-ascii?Q?X1YF6Rt3eQsc3V0rH5XOVlHMwa+OPAzvhYO/yGd3ujOB4mUhJJwAlRFpTDoh?=
 =?us-ascii?Q?9Z96IgHa+2wFtm5v66WtsjFJVa28glzK1XCwpABkP8gU4+Y9CNEZSZlrdu4V?=
 =?us-ascii?Q?J1RfVKkIQPB/1u7bz3dU+9ta2nwjE+TX1NS1qJ94UarhDzVsr5zF2kkvV2cU?=
 =?us-ascii?Q?oLOyGe28b6kZS+4en2/fRHApVC/T/nvnxQlRhAWMs1xioruXNn2QgLeq9mI4?=
 =?us-ascii?Q?VXGYEbPFT+gw2/RROgZerwoOPybbkDqvoDf2k2yMz1zJiIubiuReAJQRT1i0?=
 =?us-ascii?Q?sm4v6dZPgTKhNpMkvaXoLMUzYJUVpM43EvpCdum9TlBnw0hEUtF1qSWmnqEo?=
 =?us-ascii?Q?j+PsmkLncDrT7/fId+gr/HeNHj0cQr9XB3kz52A9EkX8//i6o8/lA1lgYjn7?=
 =?us-ascii?Q?sBVOyuYEQIAB+hROSjCQiGbvJIiPKSBuuMCIwTo4YA8JW0tVot29uGAQaZxK?=
 =?us-ascii?Q?GMM0cdqBjph4lpQgZuKFwLzbGdCmkcXJuCLrPE3AiReyBkeN98TjqNK8a9YO?=
 =?us-ascii?Q?QGBowpI1AcChPxmrbm8wfWfxv4Yh28WrmKd4MEAUosB3zZWuRPwjHTGhEuWl?=
 =?us-ascii?Q?hXKrvG6bRz9kMs5JJ2YUM7DivkPBvD1ZdzSFJccOj+0VbSA4DGLe/Glc0bxv?=
 =?us-ascii?Q?riHA8AlQf7sKp0NhDqrsUO7czJZYB32JwIKhdJV27FMTxCU2n57wABuwd82S?=
 =?us-ascii?Q?srvHDwlw/yOwQ8VhwQmyO4PSNMIR0j1SgoYzjuj2QWosbrtCezAaQ/ijmVGH?=
 =?us-ascii?Q?RD7xfSu1mWQDTw2Buz5wcQQAjFSM2sz+yDJ0pQ4Tf6vSW8V3Q15sxDiSGUXF?=
 =?us-ascii?Q?e6eqn9Udjl2lKUeJc3S5vMCJBrRlH8B4/UifuCz3qA016xANxA4s7tYev88B?=
 =?us-ascii?Q?/TGBkaDk4db7Rrfvh+kTTU6O?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fb560103-2652-4c83-f4e1-08d9688d6ece
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 12:31:30.9569
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: eLHCa9nWdGWKX+w/25Vxl3JWibx8bEtpolH2LC4qQ55CA8DkbV6WVaGt9oJnCE0HW2RiZNyDlP2mc3g7EmlPEw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6174

On 26.08.2021 14:10, Andrew Cooper wrote:
> On 26/08/2021 08:23, Jan Beulich wrote:
>> While the specification doesn't say so, just like for VT-d's RMRRs no
>> good can come from these ranges being e.g. conventional RAM or entirely
>> unmarked and hence usable for placing e.g. PCI device BARs. Check
>> whether they are, and put in some limited effort to convert to reserved.
>> (More advanced logic can be added if actual problems are found with this
>> simplistic variant.)
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> Reviewed-by: Paul Durrant <paul@xen.org>
>> ---
>> v7: Re-base.
>> v5: New.
>>
>> --- a/xen/drivers/passthrough/amd/iommu_acpi.c
>> +++ b/xen/drivers/passthrough/amd/iommu_acpi.c
>> @@ -384,6 +384,38 @@ static int __init parse_ivmd_block(const
>>      AMD_IOMMU_DEBUG("IVMD Block: type %#x phys %#lx len %#lx\n",
>>                      ivmd_block->header.type, start_addr, mem_length);
>> =20
>> +    if ( !e820_all_mapped(base, limit + PAGE_SIZE, E820_RESERVED) )
>> +    {
>> +        paddr_t addr;
>> +
>> +        AMD_IOMMU_DEBUG("IVMD: [%lx,%lx) is not (entirely) in reserved =
memory\n",
>> +                        base, limit + PAGE_SIZE);
>> +
>> +        for ( addr =3D base; addr <=3D limit; addr +=3D PAGE_SIZE )
>> +        {
>> +            unsigned int type =3D page_get_ram_type(maddr_to_mfn(addr))=
;
>> +
>> +            if ( type =3D=3D RAM_TYPE_UNKNOWN )
>> +            {
>> +                if ( e820_add_range(&e820, addr, addr + PAGE_SIZE,
>> +                                    E820_RESERVED) )
>> +                    continue;
>> +                AMD_IOMMU_DEBUG("IVMD Error: Page at %lx couldn't be re=
served\n",
>> +                                addr);
>> +                return -EIO;
>> +            }
>> +
>> +            /* Types which won't be handed out are considered good enou=
gh. */
>> +            if ( !(type & (RAM_TYPE_RESERVED | RAM_TYPE_ACPI |
>> +                           RAM_TYPE_UNUSABLE)) )
>> +                continue;
>> +
>> +            AMD_IOMMU_DEBUG("IVMD Error: Page at %lx can't be converted=
\n",
>> +                            addr);
>=20
> I think these print messages need to more than just debug.=C2=A0 The firs=
t
> one is a warning, whereas the final two are hard errors liable to impact
> the correct running of the system.

Well, people would observe IOMMUs not getting put in use. I was following
existing style in this regard on the assumption that in such an event
people would (be told to) enable "iommu=3Ddebug". Hence ...

> Especially as you're putting them in to try and spot problem cases, they
> should be visible by default for when we inevitably get bug reports to
> xen-devel saying "something changed with passthrough in Xen 4.16".

... I can convert to ordinary printk(), provided you're convinced the
described model isn't reasonable and introducing a logging inconsistency
is worth it.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 12:33:16 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 12:33:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173009.315683 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJEZI-0002GC-9j; Thu, 26 Aug 2021 12:33:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173009.315683; Thu, 26 Aug 2021 12:33: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 1mJEZI-0002G5-6D; Thu, 26 Aug 2021 12:33:16 +0000
Received: by outflank-mailman (input) for mailman id 173009;
 Thu, 26 Aug 2021 12:33:14 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HXzX=NR=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJEZG-0002Fz-Sa
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 12:33:14 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id c7a3caee-0669-11ec-a9f7-12813bfff9fa;
 Thu, 26 Aug 2021 12:33:14 +0000 (UTC)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2058.outbound.protection.outlook.com [104.47.13.58]) (Using
 TLS) by relay.mimecast.com with ESMTP id de-mta-6-473g442kORGY5U0dmnM4ww-1;
 Thu, 26 Aug 2021 14:33:11 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB7150.eurprd04.prod.outlook.com (2603:10a6:800:12a::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17; Thu, 26 Aug
 2021 12:33:10 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Thu, 26 Aug 2021
 12:33:09 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FR3P281CA0018.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1d::11) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.16 via Frontend Transport; Thu, 26 Aug 2021 12:33:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c7a3caee-0669-11ec-a9f7-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629981193;
	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=pWtafB0ootCVPI9jhuSP2flVgwPhT0YnJA1eiCBAh2Y=;
	b=ZX/ohF9gKSldX4phc8DK2UFDwQ4qVFROVxsnP+s7vxFSzFXDzhYxRH8141JqGLypCV2m7e
	x8yuUypUXAp+fqc6Sle4jy3/Wo5jfcAlL/88Ww3UxYBzB1vziMzszvZ+w4H/E2dAKYK1Y5
	Z5rdxIfpMJds5ZoYh6fTOBcLQ3dWrZs=
X-MC-Unique: 473g442kORGY5U0dmnM4ww-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=b0cn3t4Qs6dUk3s+4kB5CV12JTi66ZqUOFrb6/99BNyFxOjZ2wGuNRmDUcxpRvRhSXsKAiz8YoVbuLpRK2AwhvgAu3jIAE0+naLPkeLTkuDdWYijocqfxKM8N8k3GNfZmhysSkih9YZ9MOVk3tST3foTf+sk+w/BaFK8cJi85AGVLpFRQbkZH3qJ52qRandFA/o3COJAN21w2ruYxyEXtkXfTfHmipuJOmdJivJfDyWIlh9X2LRlZHHZTRdcvFYTn9n82IN0FRHpMkyMvfM7HNHziKW0DLRNl1pQS3ap7vQ7JiUs3UMAqYDeN2Pw5gxzwtHaBgIWc25Q4+8kIAkKEg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dEsPCMr11BnFmve3pFKcIxyR3ZldFnfLnTTlG6tJ9kk=;
 b=H0pwXJnQTXnrcSOtsgMJGjJXkFaEYVjg5/BoNoMJjnaDdnqNiyTnQ7q63Sz0r+N++TecqVgRSTehWTxnoFrSmFdT7GAgBa+fO9Q1APUCtn9ruerIUGrHFFvayFmQ+Dtq0yqJ1rElz2ohhfGL/RwKKCs/0tEr2Tqz7XlNIl6FYIPtB6BHhz81Mj4E46MWge1W4Cza6NdsERDiSGKszncC2Fjp0uncf9TaZ4AJPSBj7V9Xl7DQEwuhR9/igawzejjTCZav/A+WD2qzb5DVHfb/TcOCy3W21u2wVi5sUAaRR9w3DMqWHg0Azqq9iALEagovYGRgXGEIAP1GE+9krkwi0A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v7 2/8] AMD/IOMMU: obtain IVHD type to use earlier
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Paul Durrant <paul@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <bf4b3be9-1274-9750-7340-08b29dcecfd3@suse.com>
 <e4124802-d671-0e19-a062-f71b251cdfad@suse.com>
 <d9647381-1acf-621e-b150-ca00b62c9efa@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <61ee54f7-8c17-9782-23c7-cc8a534018ad@suse.com>
Date: Thu, 26 Aug 2021 14:33:08 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <d9647381-1acf-621e-b150-ca00b62c9efa@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: FR3P281CA0018.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::11) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 9b354181-61bf-46fe-9fe6-08d9688da9d1
X-MS-TrafficTypeDiagnostic: VI1PR04MB7150:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB7150949F26507B69B593E897B3C79@VI1PR04MB7150.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:5236;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5thwVYG6Tg15neR0CiCRMDAcsDQ0iMRRTW2s0WplqtAVE4zT49I+LjkLNrQzJrS9VA3rNW95PuGUNOZY0aDFdwdHGwSC6zi/obmqG24sm47IKtho+36SAKXcHkmmBmU/HpJ3QLIwDxG2cJzYePpkCcDMYOBOslr1Ah4jpCFKiAxmCAsoJZ0mkfwj+4brI3mjiww5HtNCCgH6NKugrCrr18cdnMWZu8q6VmKE299bDd5gO7h7bI/3g0ZRZKRgT9URs7MIVIYBbjZ9VKDBZ0btszU8ytUzHr41dQF92v5UuZsscfxXjIzVe9c1muRfzJsHIm4ZmjqZA/Dubsnz3nj271nDGvyyhu5JEi72RN7INf1L9AonBuFy+NAWxajzy/AXL33hbApQRcuqsPMxknjghmTLzG4vQryWoXs6IElnzXZ8AtOWswgA8j23UtjUJ84OZ/R36RyRy+abuoFAo6clmP9hAddItdXYdRYOTCcxxB370fPyGQ6/1dK/G/bGtN3r/vOY1Aqo7VO7gf/fp+XF3b3zbjrESB7qB3RLwxGqRiCY25WuJ2JjDlLqpneJKmqH37uRz9Q3T3+mOKZwMbbxwWSfAYRkrB2Ytl5/uXOXW16jCBIgc6LL3y9uHJt29KUoKV75UnDBKw9lkpRkwc03QxbwwMoXxvJYYapSpJiJ0JaQWzk3V49cFT6g2sZJEES/o5USWQiedvza2jRDHygdgSIYLI4Rl9i98ZKntB8anvk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(376002)(396003)(39860400002)(346002)(136003)(6486002)(66556008)(31686004)(53546011)(36756003)(66476007)(2906002)(26005)(86362001)(66946007)(5660300002)(956004)(8676002)(2616005)(31696002)(6916009)(8936002)(83380400001)(478600001)(16576012)(186003)(4326008)(38100700002)(54906003)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?BTvKEzWLvACK0OyID0HZp7G/lb1UR0wf1oj5PDkZSZYt/p26HKvbdJq/YNUf?=
 =?us-ascii?Q?PyCYekXmpWXhJttbH+ZENstMc61SbOI/66/kaLZ+Kiz8X7jD6zfxRt6RO/uO?=
 =?us-ascii?Q?tQ7Sg+3FNJnboEmTD+h2zkB9XLg4IXMGc88PNDvEQQGNNzw60Zb6ha4FQ52s?=
 =?us-ascii?Q?7z60UqeQyXU+ASS7DeO/k/NZRon0wZKSrwgGqJMGFtT/jaXKA1A3DebGgjxL?=
 =?us-ascii?Q?b81gslNPvPOtS3zutfzmgnp2/f46WuuS6aSaS3ZKZIiHk/HT7UdXHkvUO4n5?=
 =?us-ascii?Q?hjGPdVbD2ier+oxzLtTnNIM7G7L3abOK6rPbpkQA12yuBRb+3PP0vwQGQGsm?=
 =?us-ascii?Q?3PBJ3OHPT67Lg177amq6QwU65kqoMGwG8DKvyePk/eGeDSAvEBpXY/fV0OQG?=
 =?us-ascii?Q?IQtjkZLm+aNMY6xGcpQRw3qH3arQrmE1t6Fp0WF1HgHwvAm8ebUNw2VrbM8y?=
 =?us-ascii?Q?WHIHTcs8OMGWP17P/DQX/mWFKOf50olOdAnreCUWQmzn5bPQBrxOHy5jMGl1?=
 =?us-ascii?Q?+20/3NWhQWBnju7Gbztt/OMJye6FRycNHEqbkldIH3TQUJM/4dLFhHNssJ/S?=
 =?us-ascii?Q?YqVYMu0Js600ubZ+AGfxKDYUhV9clPxYA7VDORIkIcSyhSSUC8QG2lxByhLh?=
 =?us-ascii?Q?LTu2QESrgcj8naNfv37OJGlV1Wfgarnlk2/HcPUDZ/JX3G+VIFt02ku0YI4m?=
 =?us-ascii?Q?qg6Ktjao5LwAlRdfs0XdCblK2XntBNqfXVg8+J8gMN95yuKXzxIACc/Vj130?=
 =?us-ascii?Q?5Q7h8rnQn+b8/vG5/lIceJO4I2Op5NBve9yz4ucNKVZ4CeobOduH1nJX0toz?=
 =?us-ascii?Q?aib2uWL6roaSo2MRHsPYnyeoR5WLueLkEX3knDyxG8mppy1GK2v7noJrtQTb?=
 =?us-ascii?Q?+1RbrUpURupK2OrJyNi23nzL+DM6gkADVqpBxp6uM3gjV8NWg/ZRgdtYGz4u?=
 =?us-ascii?Q?EeXHyJtWjYLfZ65P3gTLS9UnxYZ8iRzIuI3rH++BmkFaSAlH+eXz9ggW67QK?=
 =?us-ascii?Q?XhoNG1U7n59X3hiB/9mhtM0Km97PY87mJhjef60N4pPEj4iM9xGN+WVKIo8M?=
 =?us-ascii?Q?Uhtq62iX4NVyL8ttVid6CFjj7dL/UWaDgdBpH3jj9zMJvZ1YVPYaQOowES87?=
 =?us-ascii?Q?u0j2Jhop1BH0LM0X0RhCbFv3kEBZ5wy92NXLoSiNXmXiRtRzB6bKaHUdrrVT?=
 =?us-ascii?Q?0btMmvxsubASGCdU9SxbTc+XSzAZVPwn3IwqgARqUbZWs7Pda/jU7px7DHjI?=
 =?us-ascii?Q?FS439APEppi0wUIPJPW4zoFkrm5vzUMqBW1AhCjw5fncV6NbOuKHcUgMutpX?=
 =?us-ascii?Q?C6Mn3sz8eKq5veF3qq/YpA8a?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9b354181-61bf-46fe-9fe6-08d9688da9d1
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 12:33:09.9530
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: e3EyZPITv+9+JMu+oDMOXhuAhROSNyqmOEr5WbNTtu47j2iQlPLn//W21qM463hRUN01XcjRswnDCH0TWA/Ksg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7150

On 26.08.2021 14:30, Andrew Cooper wrote:
> On 26/08/2021 08:23, Jan Beulich wrote:
>> Doing this in amd_iommu_prepare() is too late for it, in particular, to
>> be used in amd_iommu_detect_one_acpi(), as a subsequent change will want
>> to do. Moving it immediately ahead of amd_iommu_detect_acpi() is
>> (luckily) pretty simple, (pretty importantly) without breaking
>> amd_iommu_prepare()'s logic to prevent multiple processing.
>>
>> This involves moving table checksumming, as
>> amd_iommu_get_supported_ivhd_type() ->  get_supported_ivhd_type() will
>> now be invoked before amd_iommu_detect_acpi()  -> detect_iommu_acpi(). I=
n
>> the course of dojng so stop open-coding acpi_tb_checksum(), seeing that
>=20
> doing.
>=20
>> --- a/xen/drivers/passthrough/amd/iommu_acpi.c
>> +++ b/xen/drivers/passthrough/amd/iommu_acpi.c
>> @@ -1150,20 +1152,7 @@ static int __init parse_ivrs_table(struc
>>  static int __init detect_iommu_acpi(struct acpi_table_header *table)
>>  {
>>      const struct acpi_ivrs_header *ivrs_block;
>> -    unsigned long i;
>>      unsigned long length =3D sizeof(struct acpi_table_ivrs);
>> -    u8 checksum, *raw_table;
>> -
>> -    /* validate checksum: sum of entire table =3D=3D 0 */
>> -    checksum =3D 0;
>> -    raw_table =3D (u8 *)table;
>> -    for ( i =3D 0; i < table->length; i++ )
>> -        checksum +=3D raw_table[i];
>> -    if ( checksum )
>> -    {
>> -        AMD_IOMMU_DEBUG("IVRS Error: Invalid Checksum %#x\n", checksum)=
;
>> -        return -ENODEV;
>> -    }
>> =20
>>      while ( table->length > (length + sizeof(*ivrs_block)) )
>>      {
>> @@ -1300,6 +1289,15 @@ get_supported_ivhd_type(struct acpi_tabl
>>  {
>>      size_t length =3D sizeof(struct acpi_table_ivrs);
>>      const struct acpi_ivrs_header *ivrs_block, *blk =3D NULL;
>> +    uint8_t checksum;
>> +
>> +    /* Validate checksum: Sum of entire table =3D=3D 0. */
>> +    checksum =3D acpi_tb_checksum(ACPI_CAST_PTR(uint8_t, table), table-=
>length);
>> +    if ( checksum )
>> +    {
>> +        AMD_IOMMU_DEBUG("IVRS Error: Invalid Checksum %#x\n", checksum)=
;
>=20
> I know you're just moving code, but this really needs to be a visible
> error.=C2=A0 It's "I'm turning off the IOMMU because the ACPI table is ba=
d",
> which is about as serious as errors come.

I'll wait for us settling on patch 1 in this regard, and then follow
the same model here.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 12:36:33 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 12:36:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173015.315694 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJEcH-0002ur-PR; Thu, 26 Aug 2021 12:36:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173015.315694; Thu, 26 Aug 2021 12:36:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJEcH-0002uk-MS; Thu, 26 Aug 2021 12:36:21 +0000
Received: by outflank-mailman (input) for mailman id 173015;
 Thu, 26 Aug 2021 12:36:20 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HXzX=NR=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJEcG-0002ue-N4
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 12:36:20 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id dfafd7b1-e0cd-4dae-ba01-f1b97dccae2f;
 Thu, 26 Aug 2021 12:36:20 +0000 (UTC)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2053.outbound.protection.outlook.com [104.47.13.53]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-19-bN7BRzLgN3mWYaCSzNUcig-1; Thu, 26 Aug 2021 14:36:17 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB7150.eurprd04.prod.outlook.com (2603:10a6:800:12a::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17; Thu, 26 Aug
 2021 12:36:16 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Thu, 26 Aug 2021
 12:36:16 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM9P193CA0028.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:21e::33) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Thu, 26 Aug 2021 12:36: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: dfafd7b1-e0cd-4dae-ba01-f1b97dccae2f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629981379;
	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=24GvBSz44Z4/ZIPIAoyecQ8t5HGaUPkCz/TIDdKwSuE=;
	b=SpVKJAoVhLMRoIuMj+lutNdrsT/JVYaS70gHU3UMTkJoC8eoKwnoezgl5cUvDZDhTWEoyA
	c3qopOSLk3kktpocSKwC9ATqnN4gIbyEWlbcWLCvwyKhupcLt+mCyeEVtHMB/O5rfxseIa
	uLTja5NaQ49Kk48UriLbyAf62CBQjeU=
X-MC-Unique: bN7BRzLgN3mWYaCSzNUcig-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kpfc7ZhypjDJhAJxQF5NeZ6JuEj0qyjkul2WqVd5sRA2FYMNop5kZzsX0X2dwcBn4t6PGY552hF0GZvHpqw4Ek24N7a0tPpSY7FqgCQ7kGRM4Sna85HYMmuB8ZET9UFP+4IDMRE+rvOv8Hyp4hnR3u2CvLX81k/kJOKRkF0v+P6GW7QPdp+iczr6CSCIvrHlz/FV+P0sT6B75FKpU1K8HWBymsIuq9iFXLX/SZtgq7wBwAc2IrmFB/viDTNGr5bjmbz/ergumX13cElY38knxC3uytgDr58d80oFeEBxEMb6DhmnqszUY8WljNP1edHkaFgS68j1jybHr+2kK5om+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-SenderADCheck;
 bh=24GvBSz44Z4/ZIPIAoyecQ8t5HGaUPkCz/TIDdKwSuE=;
 b=QbE4fmlMmsqRQ5ud6uqMag8toe+ldHFBDfR5daEg6lP9+T7XI8Zi7ucjMRv/sXVTC0FTUhGZKnjMiE13Q1zM71sxJAto06HkvucOMmq50/bUqkDkxpsk6OlkP9vsj9f1CXB3afQTn0YuARuOLkSr0ByUuxM/RzwVVF5SjPZ5vWKK05a4ddAyCn+I+VASqqAbMxuGffRQzruTVa3rWwDLC+xEQ3PBfKGSQfMirVxg9aRw28TIjuj1dVyLaj3j/O5Jldmrch2KOMYngoHmL1lOOpirHnthlIDf1691Wu52bBg5h6Uy4ejY0WDNJQ9RpBIEW/Y3vwMT/oqJ3epc12PIPA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH 17/17] IOMMU/x86: drop pointless NULL checks
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Paul Durrant <paul@xen.org>, Kevin Tian <kevin.tian@intel.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
 <25ad2429-df7d-95c6-ec70-4b23e6a023a2@suse.com>
 <e0092044-be36-800c-5909-6bd21de9b5e3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <b17332b4-f3a3-f922-477c-01e4afd36c7d@suse.com>
Date: Thu, 26 Aug 2021 14:36:14 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <e0092044-be36-800c-5909-6bd21de9b5e3@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM9P193CA0028.EURP193.PROD.OUTLOOK.COM
 (2603:10a6:20b:21e::33) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 43192981-70be-4c60-c3cc-08d9688e1923
X-MS-TrafficTypeDiagnostic: VI1PR04MB7150:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB71505250F1362EB87970D47CB3C79@VI1PR04MB7150.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:7219;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	vCSBzLVO/8bKVP+lQ2jBCeTvv/EXvquocuyDwqIyjQDFn3n7Lki8FA8GmoBZwbeqpVfrbc/QhLpy1Lptbsit0LudqUG3VWOjMJOiS4ViKsXbtNbu0ObOtvINGOcn4QER0thpfiwy+t7YnNbGt/mM7EivpLKnUIpsVsECvBiqRgVm5DnWcoVDQIwlhSBvXU78Uqj05e2D+b9VwuMtacFvK/UOF9q8SOCbty+zW6RDox/ZCTxFSccx/YfMcWL7ZoVejjV2RbytMvLEkJNofeSbfpu4kr3JNdW1fHGfahirzajImh2cMpZN8N9G27kBr0tegLzzGVvoqgMiTYOItZpXi+G2qKtTMGhbizc0vN7iP7Zq2t1PZdfcb6uZxWBOOqlR+Lj9ZTZcVcfudP3lDy5CDpH6RH9dfQVSFsv9Y9N2x8o489pEl5grCyLRlJaC6x/dJL1TX4HDGzmDuysgL8wMtKfnJVr+7WdK3x6a0uBCLG2Z9KyejR+T6go/i+URuURACOqlPzz49Njgm8I7Rx/2lgT3NTqDTt1yUwHua4AzKp/XM1LjOt9eWMufWaFaK/C3uOQONcKzvCEHK+e8l3rCACAXTfQcZ/yFMK47wvEo+YhvuX4qitYwHWRDPfP39Cwg5ked9BKLs85dFYgleuFFqFqkpCVur2SusFzDUeimgKZFCm3aiMltQi/49ffYJkAEIDmioYuaBW/K+lkZBqKHe756CaljVTFm0v+Ld4IljIc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(376002)(396003)(39860400002)(346002)(136003)(6486002)(66556008)(31686004)(53546011)(36756003)(66476007)(2906002)(26005)(86362001)(66946007)(5660300002)(4744005)(956004)(8676002)(2616005)(31696002)(6916009)(8936002)(478600001)(16576012)(186003)(4326008)(38100700002)(54906003)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NmN1ZkY3NXpqRmdreS9kenVUang5SlZDbmhxWlNKbW8xMlFibjNDSmFDMkJJ?=
 =?utf-8?B?UmtiUHhnbGZ3UzJ6bGpkM3JkUlgvOGVYQ3RqOEF1QmlCRzFiT01VZWZPRUcw?=
 =?utf-8?B?ZkhDdzd0Z0pNbjl1T1BmTE5kMCswcVNZTUU5N0hyOHZUQks5WGFhQlhZdmE1?=
 =?utf-8?B?Yi83UE82TmRhZ01FVC9HcEJ1MFJCVmx2ZGc3aGpqdjhpcGlhMDMrclA1U2FI?=
 =?utf-8?B?SUs1TDdIMUtKL1lGcURiWVgyNjRuZm5PbWlpNEx4WUZodzRJZkRsbFEvUStV?=
 =?utf-8?B?ekZ5THA5cEFIWFVVM0kvTVUreC9BTDNTVjZaSEtVdnpzbHpSamtZTElBaHk2?=
 =?utf-8?B?M3RaeG12L3hsUndFdktESGpxam5aanBBVHBNMkkva1AwazBHcEh5Zkt3ZGZU?=
 =?utf-8?B?dXlFdnRnejRqRlZqenU2YU5CM01yWlV2VFBIaXEyNEg0R3lKTXRlMFVxdm81?=
 =?utf-8?B?dWY5U0ZkNEJFOWkwSTkwaXVkb2JkR0JnWHc4eWhrY0FQMW5GQW8xWWlnS0M4?=
 =?utf-8?B?TFVEbTFWRWVtODhjMWpQV1ExdHBTODdaMWhlakZSanNyalhqR0MrVm4rc1py?=
 =?utf-8?B?K3FhSlNGaHZyMlVrWXpURS8yYm9NeEdSRW9LTFBmc1VkYm1SbDAxQTNjb3pm?=
 =?utf-8?B?WVJwZW1RWEFBQ2JhSVp5NFNSUnJGT3E0NWFJUnBIYU85K3pBZGFFQktCWmEr?=
 =?utf-8?B?Z09NdGRKZzlSNW9LVGRvVzV3WDdTRnEybkxXQUNjMGNyMGZzWC9pY2h5dHg5?=
 =?utf-8?B?c2UweWhnTGRsWWt3MjdnVkRJTS91TWFHZkVETUkwQnMzYkJxajJ3bmg0K1hE?=
 =?utf-8?B?QXdBeG52TTRxaWRDQjdMV2NUNnFiUnMzSHV2RFJjRTRBcVFEQjNiRkd4SURB?=
 =?utf-8?B?dEdwcjVYYXlibGc5RU5LR1A5TzRxYTFsaVludEMvdDNmQVpDN0t1NTRyeEU1?=
 =?utf-8?B?OVFkekJzL001VDA3MitlOU90SU8wV1RsNzlLRm0za1V3VGYxenRWRytvb2ZS?=
 =?utf-8?B?MzgyY04rT29Kb0xlM2J6S2w1cGVGSU9NNFV6aW5NZWZlbXIwQmIzRmJhYnRu?=
 =?utf-8?B?Q2prcXdHYU40SWZJeTFDYmM4MkYybTU0V0JaSEtTQjlGTnhiMGVmM1AwNUNs?=
 =?utf-8?B?S3QycEhzTnBDRm52MlFOWlRkNmdidlRvbGpzM2VYMmttd29hMGdwZkxXMGZO?=
 =?utf-8?B?WmxHRmxSa0lud0lUa3RScTRlRlZ0UTA1cndnaGVNd2tyMUd3b3RFYllpVDB6?=
 =?utf-8?B?YnB0UjNFUkE3S1VVaHROMVdkYUxwejZwWVBpYlF5MnpQa215NWNqbTdQUG1I?=
 =?utf-8?B?dHRuQ0tSNGJMOVJKQXROSTlPUzFUYlprWVBtekhxUWNiOUVYbGpWaTBTUFFo?=
 =?utf-8?B?U3AyZ0Q2UmgzRERkRVdYK0VYUjdHbHN3SkNBc21RSTdHN3NtUTBXR2JtWUUr?=
 =?utf-8?B?c0k1cHZOVHFWWmtBaFZLS0kzVXJ4MG5oZHUxMXpMQzZ3WmhZdXV5ZXd2VUlz?=
 =?utf-8?B?VmtVMGszNC92bTZ1NVAya3pNRVZCL25neUNJTGRLVVp1RnRWd2VtbFBZcUxl?=
 =?utf-8?B?RllxbXJsVXhQcEhGNUljcWNTSm50NHV3Wnpqc2ZqSUhtamRLdkpvUU5Yd2xU?=
 =?utf-8?B?ZFIydEpXY2ZCY0FQRmEwdzVSMjZwRStYc05tT282VFZtQjFBbThROGI1Vm9t?=
 =?utf-8?B?VHY4TEtiRW5RanMzMnc0NkZQNG9BUmhPdlVYZFFNQlluL2pxQjFSMGxKVHVQ?=
 =?utf-8?Q?UgdbQ7Xj0hCioX/JoilZ+PMZ50yS2hZlO9OPdMN?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 43192981-70be-4c60-c3cc-08d9688e1923
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 12:36:16.7264
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: GP9XQ1EYbtmUc+1Ptd+8NCC8nKA7xUvECbbmMDzGIWnVY6BZqVboJrPKYYKq9OCVkTQtPdSLibD1DXFqiIGRrw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7150

On 26.08.2021 14:05, Andrew Cooper wrote:
> On 24/08/2021 15:27, Jan Beulich wrote:
>> --- a/xen/drivers/passthrough/vtd/utils.c
>> +++ b/xen/drivers/passthrough/vtd/utils.c
>> @@ -106,11 +106,6 @@ void print_vtd_entries(struct vtd_iommu
>>      }
>>  
>>      root_entry = (struct root_entry *)map_vtd_domain_page(iommu->root_maddr);
> 
> Seeing as you're actually cleaning up mapping calls, drop this cast too?

There are more of these, so this would be yet another cleanup patch.
I didn't get annoyed enough by these to put one together; instead I
was hoping that we might touch these lines anyway at some point. E.g.
when doing away with the funny map_vtd_domain_page() wrapper around
map_domain_page() ...

> Either way, Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

Thanks.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 12:56:03 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 12:56:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173022.315705 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJEux-0005cV-EV; Thu, 26 Aug 2021 12:55:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173022.315705; Thu, 26 Aug 2021 12:55: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 1mJEux-0005cO-AZ; Thu, 26 Aug 2021 12:55:39 +0000
Received: by outflank-mailman (input) for mailman id 173022;
 Thu, 26 Aug 2021 12:55:38 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HXzX=NR=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJEuw-0005bz-42
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 12:55:38 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id f36417ee-3a3d-4e7a-a283-36ad6bde7db3;
 Thu, 26 Aug 2021 12:55:37 +0000 (UTC)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2112.outbound.protection.outlook.com [104.47.18.112])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-19-ZeljclqmMsmI7IYbvxLs-Q-1; Thu, 26 Aug 2021 14:55:34 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4941.eurprd04.prod.outlook.com (2603:10a6:803:5a::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.18; Thu, 26 Aug
 2021 12:55:34 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Thu, 26 Aug 2021
 12:55:34 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR1P264CA0030.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:19f::17) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.20 via Frontend Transport; Thu, 26 Aug 2021 12:55: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: f36417ee-3a3d-4e7a-a283-36ad6bde7db3
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629982536;
	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=wXgZRvA0rt228zTeZgJd+qZAyl3Ol/JVaRiZUouKD3M=;
	b=JhrgjV+rjCWFth2Bvj1N3spqKPmrEXGH4ZXN8l2mnkldGIOSyjKfR7ZR5mG5mVwMOgmCPy
	DymgsJgo0YooLNa7pYaOYhVXcfcHzZTfr+UfLbiprBq0IOr4uSW8aH8K8m+BPsE1XHcdYu
	4WspRZFgB/jtsb2pDZ8FvH62cPYZeTQ=
X-MC-Unique: ZeljclqmMsmI7IYbvxLs-Q-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NRGYqXVy3CW0vOCwniPUZucaUNCb17UJSaHhIPjbfJ0e9c1S06H6n+KMzUBKl4+gdgcYbjaGcni63zKNUZmWDZsRsfTJSYnF7vYOKmc8MaQXZTttUmuuQwPXGVt9qln6JMkKmHYBnO6oI7JJ1cvEqBba4R+beHZL2V66hfYZS5LN0zQHnMpgN4e7yUfngobjR+RBTy3dSqa1l8U/mvYYgGd5zK6XZqT4mYH4dY5HIdgMGHD3KVDlZJUZgRmNBUNlwxC4Yj4+LLLsAGrgcjRkMJ6mHqtL1VILUcZRn3En5DH8N1ks0cDexDrf1ZuNNK3IVcADXZZEXWIFtORi0gWu/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-SenderADCheck;
 bh=GkdarjXc8B8bFHYz96Y6As4hYdJunFAUoysTUjn4Pmk=;
 b=bGZp8KDtbMuoCmADpaOFifcpnj4JS83cDAYpKvffhKpAKLUunqnwLciUN9MCKJizSYyDepMGBD2uVcJh5Z8Azk80neHJNHpxwdI7ZyuEI9OcFdHR76Szx8fpT5w5W2uSCQtGMk8F2FnEakB7CnGy1FtpHZMq9v13WbGcdGvo8MQJ/5pCKXtK6A1vJh/7gwUQRNBALSdq04wQJlpWiAfTA5fTHylvQCu9iSWNxl3pnhYn9UeQEcbxOTEZrg0kBFoHHaOASP/1KxjC1/5bZvZZ+o1GWULuY7Dp5qJ9qJHVAgid1IOg/s+tBdAp0uhWU7Tx+5CPpCv3WO/8ljlUygmrZQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH 07/17] IOMMU/x86: restrict IO-APIC mappings for PV Dom0
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Paul Durrant <paul@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <d955d9a3-33f6-f228-d007-a844ed918168@suse.com>
 <5d6e8360-7ba8-487e-0ac8-7f517e560520@suse.com>
 <42aa8c24-7f23-deec-6103-f2d556e4a9f9@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <b3db56ae-7a53-ee22-d821-d711b0d0bf3b@suse.com>
Date: Thu, 26 Aug 2021 14:55:31 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <42aa8c24-7f23-deec-6103-f2d556e4a9f9@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: PR1P264CA0030.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:19f::17) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c2cd3bb2-8854-4ade-811f-08d96890caea
X-MS-TrafficTypeDiagnostic: VI1PR04MB4941:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4941FCE90BD1A19F8AF3C41EB3C79@VI1PR04MB4941.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	IdtCS5EbPtzqoNHGPH/OCRXzf1N/n8jYegwQOumrZ8l7GYjbToutO+JReNFhMCp+TR42UO5CkoKgkXzeSGUnBrAPt8DewDRSYtU186vQBAssqN8nIdhSXKpNvlHM1IOA3yd2IcZVFJ4atXbnttCD4vIfbMoPWVaKBhTIJhS6btdfqaM80lC2FQx0rPfPacJj/S3pno7zrKulVt5UHIxg3ZHu3LJ+NR2V6APs2vQwtKLxnXBr4XwzjDBmBhCgRtZtfT20MyRdXKd8M+nzt32Ho5RW7oqHOG6C7966uo8TOu2tOzQbvuv/Hq1OsxEvfnWO5oMlSpveYgAX7Q9sGs9NLpi4VVhuyEeNE6kaBczRxvBGbvEcYzkTuQGjfA/0YxmeCM0TK4kU2FqTqV6nLGbOAv1J0T1w28fgDJb5MFXPdp8G1Q5cthiDmObIVOUAxrDeYb2HZdUbxQumbt+iPFdWsEjnlVtBRQri/Lz+iefy0n2fwcaDyzQxnbxlO1lBVhVsBLZNlS3nmn37ogEWvDw21Zm8rO/YkL+FeztVjraL5j5lKzjmm2SM5NA8cdMHpiIxcLU5RFi8CawOEWWdWs032jk8PXpLUrBqzqQI7UgGpnw+V1Jb7z7eFdkiTWyyZ+cTUxUXr7xyB1hqYcov1YXzwCCbbXMjqMWhI92K55Wc4ukX0Bi/Dr0eodlkVLb21FLdL9X1Y7zavJ4EsSkG7DVX7N0/K4mB7aYqioSaG4de634=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(16576012)(54906003)(8676002)(316002)(66556008)(5660300002)(6916009)(508600001)(66946007)(66476007)(83380400001)(2906002)(6486002)(86362001)(31686004)(31696002)(2616005)(186003)(4326008)(38100700002)(36756003)(8936002)(956004)(26005)(53546011)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?CLAziMK7cY2tJH/ba7dRaJaWsylAzHuvRYCdD9XojV6GGOBqTLbSoxEkmWA2?=
 =?us-ascii?Q?rBNwAGmgK/SEiuRP25u+BMtSNhlUOyRl7wWhNDZD6CxZmSNhmTSE4IOMjlQ4?=
 =?us-ascii?Q?R85H4OGMVKhJpcT6U9qgVZofaFi+RG1LnDANbnUXfhLvmpylM16J5jIsJwJK?=
 =?us-ascii?Q?tIUHxxEGVa8KwTEJ9l6DLkcsD2uRy9FnhY/W0Y1EgR/yDt61jpHFO09rcP7y?=
 =?us-ascii?Q?332kx+stZsvxiWDmD2XKFE8O9N6txj+fycvUf6cn4QteM571kfThek134BN5?=
 =?us-ascii?Q?p8aSrRbXDs6mEPKeluwMgiqBsOo2VkRIqLbVBIOfTRepphderToIKDKGuvI8?=
 =?us-ascii?Q?15m7LkbKzzD6++E1a9POAwb1i2zFGEuDrk7NW/gMz5mkcFx/4HFGmQoJCVkO?=
 =?us-ascii?Q?bBm6U5K7hmGstIneOQ1dhf4ao0tJddyA9/gXq+mSPy1OXcKvtwaccaiXdxxN?=
 =?us-ascii?Q?7OAp2wBtgSPFF2yzRHKGWBRjJ7gb9eZXOVIH3C595ncDvIbvWhk1cs2AR6Ej?=
 =?us-ascii?Q?I9b6JpZ2j1G/Jmd6JJ/0q8L1Jg3f1Yi64fWssJ13HtCS+EShQXosMyjGltY7?=
 =?us-ascii?Q?2RXU4Mhmlj4yDHtCQYcwKrDolWqKJvjla/4g/eOLjHPPTQnch7KK3eoZHsBO?=
 =?us-ascii?Q?MDcTSLjLX4D11RfjQ86hZXx/ZcRKqFQpicWwS0x72gpWrNr/GlvLWn5fE9gw?=
 =?us-ascii?Q?4FY7gsS2OEe7u/YIJvIblzW+1+DGk8MsPlIwxJlVL3j35B23qskCND2JdZ5/?=
 =?us-ascii?Q?Iyq6RJVVqSe3iqP/KX9r08EYLnGDDBs5CGlqNeCZEKwStQMDkWoImBXYkDZi?=
 =?us-ascii?Q?Z1JaGXQQ8IK7UARq+vrImzvQAdIezYQnp+loswCPIEcBkQQJuXvQ8xR6yrud?=
 =?us-ascii?Q?m3wL3w5VK+iV1/E936dHmFwXWtk0z4g9wRm08Z1JW4t1SEsrXGlCwwekaijh?=
 =?us-ascii?Q?4v1J4iGoNHYAwH2o5jI18SONFQIXKTG7IIFpY2CXtLa2y7rTDpRbadD0sbrZ?=
 =?us-ascii?Q?5vPgAsdwIhxGwTUvrxcDWyi/WmhcqHyQRtT4wbn0ThhVGTzw3oXBoUjxVtjb?=
 =?us-ascii?Q?fzWfL93qOKhgRqHRYD9UYfGEX3Nu4worRoQZEqF/hgJaRX9MU0KcXbKv/B7z?=
 =?us-ascii?Q?hVLRylfDZOKTx/p8qv8810otWK3zWwdEN4Ilb7+iYjvC9qtwCb62sPtjYOdM?=
 =?us-ascii?Q?eg1rEsSXu63nz5y3a0rjRr1CMjuoqLd3nfN8lTWFrewob6P5ZqgDN/i+ZEYx?=
 =?us-ascii?Q?2YtUecSi5Ut3rEa5hse5cPyhSe9Rdq2vs7NIvpZaUpSe1uQx+XLOk2ysEM0v?=
 =?us-ascii?Q?HlVgi+PShwvt+QmlHw2M5acZ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c2cd3bb2-8854-4ade-811f-08d96890caea
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 12:55:33.9830
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: EikvZFR9EQCBek4wD24Rk+UKiRWD5K785P1M2Q6FnyYU5aJuPwJ7ClOIJPLuOVi5qdRHYOaRWQxMj9qENet3Dg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4941

On 26.08.2021 13:57, Andrew Cooper wrote:
> On 24/08/2021 15:21, Jan Beulich wrote:
>> While already the case for PVH, there's no reason to treat PV
>> differently here, though of course the addresses get taken from another
>> source in this case. Except that, to match CPU side mappings, by default
>> we permit r/o ones. This then also means we now deal consistently with
>> IO-APICs whose MMIO is or is not covered by E820 reserved regions.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>=20
> Why do we give PV dom0 a mapping of the IO-APIC?=C2=A0 Having thought abo=
ut
> it, it cannot possibly be usable.
>=20
> IO-APICs use a indirect window, and Xen doesn't perform any
> write-emulation (that I can see), so the guest can't even read the data
> register and work out which register it represents.=C2=A0 It also can't d=
o an
> atomic 64bit read across the index and data registers, as that is
> explicitly undefined behaviour in the IO-APIC spec.
>=20
> On the other hand, we do have PHYSDEVOP_apic_{read,write} which, despite
> the name, is for the IO-APIC not the LAPIC, and I bet these hypercalls
> where introduced upon discovering that a read-only mapping of the
> IO-APIC it totally useless.
>=20
> I think we can safely not expose the IO-APICs to PV dom0 at all, which
> simplifies the memory handling further.

The reason we do expose it r/o is that some ACPI implementations access
(read and write) some RTEs from AML. If we don't allow Dom0 to map the
IO-APIC, Dom0 will typically fail to boot on such systems. What we have
right now seems to be good enough for those systems, no matter that the
data they get to read makes little sense. If we learned of systems
where this isn't sufficient, we'd have to implement more complete read
emulation (i.e. latching writes to the window register while still
discarding writes to the data register).

If we produced a not-present PTE instead of a r/o one for such mapping
requests, I'm afraid we'd actually further complicate memory handling,
because we'd then need to consider for emulation also n/p #PF, not just
writes to r/o mappings.

This said - I'd also be fine with consistently not mapping the IO-APICs
in the IOMMU page tables. It was you to request CPU and IOMMU mappings
to match. What I want to do away with is the present mixture, derived
from the E820 type covering the IO-APIC space.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 13:02:38 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 13:02:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173028.315716 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJF1d-0007KD-9T; Thu, 26 Aug 2021 13:02:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173028.315716; Thu, 26 Aug 2021 13:02:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJF1d-0007K6-6Y; Thu, 26 Aug 2021 13:02:33 +0000
Received: by outflank-mailman (input) for mailman id 173028;
 Thu, 26 Aug 2021 13:02:32 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=q24O=NR=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mJF1b-0007K0-Vd
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 13:02:32 +0000
Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id b58afcb1-bec7-49f3-abf0-a61cc9c87da7;
 Thu, 26 Aug 2021 13:02: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: b58afcb1-bec7-49f3-abf0-a61cc9c87da7
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629982951;
  h=to:cc:references:from:subject:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=WbWWBMHUiLKqgk5UeGGu4iTc0TkCXDO2CWyE5KpIl6I=;
  b=X1HDgsqdNe1BKMLsW6Gi3tZMAS0d6ndEH3sivAVTaNPJESGRK+b7qlaB
   1xBtcYT9ZTvuxQWTOKiOA2e57AjVY4VF7UeI+WExrZYoC5j/uUcwhWVi9
   TbyAjTkQw4T1xK2y6Bvjwztz7u2ap4qWkqyYm/55NzurUHL6wzc+jrHFf
   I=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: umnlxIWvqNOcTr5C+4K5naNLG35wlsLghbVkB0rekGV3PGtfhWA2hP06+El1o+XSBcGG2UzScZ
 FVnwWr5hsLddsTob4KrhLAN/JsHnLYtETbAkmO8h1sF9i44ijxrgEz7RtSAn7zzcI/mi5XlzJ3
 f6wMu3gHz1LFtP+0r6mv47Yr+6jhMsBAIACNkXjT7sMhX9PV8FAWK3jlmOTm60kfDRi0hXMypj
 MJ0HBhJjY352zoLmKRXmcDZMFFik4uO+BOFnyg3I8JPcSS9T/qQBZl1lrjfUBCOvcdWbnGpRFA
 L1y6ObgNqJBdnNAXdaSZ22V0
X-SBRS: 5.1
X-MesageID: 51363034
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:KzDjr653FQPqLlLAowPXwDLXdLJyesId70hD6qkQc3FomwKj9/
 xG/c5rsSMc7Qx6ZJhOo7+90cW7L080lqQFhLX5X43SPzUO0VHARO1fBOPZqAEIcBeOlNK1u5
 0AT0B/YueAcGSTj6zBkXWF+wBL+qj5zEiq792usUuEVWtRGsZdB58SMHfhLqVxLjM2Y6YRJd
 6nyedsgSGvQngTZtTTPAh+YwCSz+e77a4PeHQ9dmYa1DU=
X-IronPort-AV: E=Sophos;i="5.84,353,1620705600"; 
   d="scan'208";a="51363034"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dkThKU9xr5lsK3Ka41nkEafeNqHJ/oWJ6kQiGqC3LUxfpH3nlhW2ytkqdLkYi1BpdxgNs+TXN+8VMlyAlJND40Llk7xMeGB8NIcZkeoO7n4+cfKf3v9DSUFmOFjnWoC+rhUVy4zeP41QtAxW01tsUaKOmHIjL4580+c2n7Pok7dCqOfSj2h8s3cClyqxmy8IFDEifs/8SYY2x/QPexsKtTkXlbh/lRwq9hi7FtRe02UuT2iU1kV9g90qur1JYbbAwuLA0PgOVvsK1+ZLW9UaGJj1yQ9Vp2MJIIAi8PF8v8w34fGmPJOo7SuEEsAY6eEnr0Jhde+Y+SIkYdw+wgJlkQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WbWWBMHUiLKqgk5UeGGu4iTc0TkCXDO2CWyE5KpIl6I=;
 b=FlDt259W9fST5lWmpOcvsPkUXwGdoosf1LP1W5FacRu2DwpJDw58qaqcDRwVKyXJ5ajVrH2PXREgbZ76CdOCYnXVQ1E7RjG7aDc+cVPC1Ci17gxMLMLaxHInFaF66Pz8ixrdBmQ9Yz52RA8Q7Pz2vyA+WZTa0pifvAKz5VORMmp3POZ/KDDM/oZji8aRd7Z6lvRv3hCyk+4lCZhv9jBRGSj/9l1jOU2TlE//dyNDPqjtbmgucujz3yW9doD770CDCB+k4ej7/TxGeroQ48a0S3v5UhXhj9OErfA+0Ip3QBiOYHu1St3YE6GKvCkvJA9gkbcai4LghPFEZftT4yx42Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WbWWBMHUiLKqgk5UeGGu4iTc0TkCXDO2CWyE5KpIl6I=;
 b=xUYcgx8h3jomNFGcODzIXPv5bMpFx+qFKpMV2B8irznaySf0/mREy1OKVr3uxYUGUPhBXfc6hqZFCYqinZP1jxfWfj0n5kpiKe/QETpVsY5BTZKXVwvhNKmJD4cR+AVPgTVd0dWe29tUsKtAHTXcAffdlZaWEiXS4hhEXMUS3DU=
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Paul Durrant <paul@xen.org>
References: <bf4b3be9-1274-9750-7340-08b29dcecfd3@suse.com>
 <6b6b287a-c5b4-06f4-6f7e-78273cb74d64@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v7 3/8] AMD/IOMMU: improve (extended) feature detection
Message-ID: <1449dfd9-7617-b4cc-89b1-3e9dd8090320@citrix.com>
Date: Thu, 26 Aug 2021 14:02:19 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <6b6b287a-c5b4-06f4-6f7e-78273cb74d64@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-GB
X-ClientProxiedBy: LO4P123CA0019.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:151::6) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 7367e58f-58bf-4b1a-18d1-08d96891c025
X-MS-TrafficTypeDiagnostic: BYAPR03MB3495:
X-Microsoft-Antispam-PRVS: <BYAPR03MB349527E453726F545AD260C4BAC79@BYAPR03MB3495.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: +yIjPm8J5VkjEnkMT+cbcBGH6BzXSB3la3uDD5XHncWXMu8sUjpnO/3pUCQ/mgRYLEXP5OaeydSr57lf+g6ZkqGbRHOC8f0bTENnF8wEzZ3j4AJCnpj5PbkHyk8449Lm5FM96VeqwJHN8nwkm2R3W6/bde3PPuWKEJfpFZyRSkMbuozuDjHV1izgb8mUCd9J+3jdvCkQuBl1gNGG6SlDi7rinl2ugx3gr7oICe8p/qlXRT8eA9O+VPNmGLleCvOD0oruWVhGO5CIyOut7hbfPsqFTNQYFkRq23Vlh4Cz/58TQaQMR/aBZQ0emtczA5l3ZG2QtWn3J6bCTFt2mV5Pwyvswfo8k+jlyTUt0RTgyknfduNxV817PFbuV1CBOHVyghDW5FyyLu0zhaZnnrrhene/nzlbo7aj89cfF5qpJLpFfTpCBlDCY+pZOFk25+weQJeQePtOp3L3x8LiF3TcnU2y10POwSqXnl40zZcJtBrIA/zulkQGR3D6g0/ozZD//HNg04gcJ8o23CjWHqkrT2Kxmc7jJEi0oxcC3a+H9RUpW2A59ry2dXixruBUODvdIJegQYA9cl0Y2DEjzA4r2lGCHpYRBE6CR8RjqNq0dk6e7hmjxCb0ymUSm5ahxGTcwkvPMEs9B3NutEdwZj7NHZAsGuAqEUMjMDH/8zmS84K5EZDgygF/yJhcDIScjAbm0Uo4ixFOANvonkMueYIHe1yzGkmc1dGYdF63yLXkwHY=
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:(4636009)(366004)(8676002)(86362001)(508600001)(316002)(53546011)(31696002)(16576012)(8936002)(31686004)(110136005)(55236004)(36756003)(38100700002)(6666004)(26005)(186003)(2906002)(5660300002)(6486002)(956004)(4326008)(66476007)(66946007)(2616005)(83380400001)(66556008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?QlJKU3hqQUJaS3FpVUQveDV6N2NmOFdoM3pOZEFvd0d3N1ZWNVpJU1FobElk?=
 =?utf-8?B?dG9HbFN6clN2WmExN1NKZW5mUzRoL1RWeGhGRzlpdTlEb1ZtRUZ3RytFbFlx?=
 =?utf-8?B?a1VlT3p0UHZzY2FHbEVkazlSbzRrYW82OWZxemZkbjNLSUtwalR1V1kwNG1z?=
 =?utf-8?B?WDJPZVVlMllvSHZGK1JnMkxlWkhTMXU2dzNjUEpEcGMwNWRET1NCMmJoUFFk?=
 =?utf-8?B?L2FUd0RXZEMzbEdTbFB2WTRpQTVIYjNXcFVJNnU4ZGJiMFhpVlhYOVdwT2pB?=
 =?utf-8?B?d0hHWFU5L3d1NngvSjI2QmttcHVmMVVMZUtsQTcydFRSc2Njem1kVVVhbWk0?=
 =?utf-8?B?ZEF5VXlCbFkydldtektCQ0plSjJsZXpsTHZJb0VvVUo4TWp0ZDdqMno0dWdP?=
 =?utf-8?B?dmU0VWFvNGpvNHk0RUZnUGRWdlArMlpBMmN4N21rK1MwcWQ4SkdWdXlXQmRi?=
 =?utf-8?B?cFFacDh5NlpCNk5sSHp4dXJJaHRwaUlLSkFPVms3UnVkNFJFbmhod1pBcURk?=
 =?utf-8?B?eXo5R0xvdHRyQTBLdkNWRjROSndJRjl0U3ZzdWxRK09ZaE5lVFVvOVYweFJU?=
 =?utf-8?B?QlI4MHBQc2tVVkNVekZrNGtTcWFQTVhyRTlSZndVRGRBcWFKT3F6U1FRNm9z?=
 =?utf-8?B?NVVWSS9hMzEvZnpRclRZd0N0UGlKMmN1REpVUnp1OTljNXFnbnQrWE95djdT?=
 =?utf-8?B?eldkbWhTUEJMTmF3eStWN3hqV1pLYkRCVFdVVW9pSi80WUFFME90R3VoUm9D?=
 =?utf-8?B?NysvaEovWDAwbU9VUDg4SUMrd3VQZFVpa01DOWp3VTNxU0MzRGdLYnlMTGNv?=
 =?utf-8?B?NlZlMk00b0tyOWNzRityaG5IUlIxNEJublAxSmI3bUxHZm1GSzdFbVpGamt0?=
 =?utf-8?B?MTJUeWs0ZUJuSG5DbVVQY3dzMHdjUjF1MHg3b2pOZCtWckltanlBd1A0S2l5?=
 =?utf-8?B?S1VtRnIrY2YwMUdxdWxFNkVteGI0Y3BGTGovTU53MjAxelh4SHlpQmJQYXBK?=
 =?utf-8?B?VGRwRkRvdVdGZkJ6K1RVWmpTSzlmMm80a2FQU3FzdEFZSW5SRnVaNTVpbDFo?=
 =?utf-8?B?T2o3czdKalV4bDAySHlWbzJzclp1ZlUwdVpmN2pEYWVNR25KOGMzeHRMaTFu?=
 =?utf-8?B?YW9SNFlwb1VsM3hKZjlKaTBsSXdwVFErZXdiZ2NORlZ4Wit2Y2NmS2lYZXNL?=
 =?utf-8?B?U1ZzRDF6NVpINGZrMHl4cXFRcWQzV1c5azV6TlZNOTJiKzhhVXFuMEliSzdz?=
 =?utf-8?B?WGdtRjM1QlJqMndnUmo2V1NrbzBsR2RyOTJjS2VNeEZVV2FhNGd6VmFaWjZz?=
 =?utf-8?B?dDZ1aG8wUlJ6RTRqV1N6OXVzS3NPRmwrOXNoNXROVTRQVXo1RE1HdmFVOUc4?=
 =?utf-8?B?SkczSVMwYjVod0E1azhoek0yUWlTNWNWYm5UeFdFdlV6Ym9qbTMwRkRVQkV6?=
 =?utf-8?B?UGgvRFhzck0xaWFRWnhnY20rOW9TMHZjWnJBKzFBdHBiekVuaS9LWEpIREk1?=
 =?utf-8?B?SlhhbldSZVNMUTJnbytPaGxsZHdnN21rTXg4ZzZpYktiTkdXVFVIYk5FaVZh?=
 =?utf-8?B?VEVINU9oVVNIbXVpTjdrMHRoUzFqWGgzYS8xcXNxUE45TlFDaEcwTkoyNHZ5?=
 =?utf-8?B?RkZvdlVGOFpmKzYxcllzbG9SRS95NDFUQ0NzZGxaUzMzWUFZc1ZjdHZyTTNC?=
 =?utf-8?B?L0VPWnZQOE1rT1VyNk9lbWJTekFQSkNVUHdnVFMxWU1DKzFrSVEyN01CSkhY?=
 =?utf-8?Q?/exittOA3n97SNnfWjKCawVxSEbvU+gG2ZVtNfI?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 7367e58f-58bf-4b1a-18d1-08d96891c025
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 13:02:25.4358
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: imK0EVL97E1Q1GSezDEdaqZ/a5uPLPUE/widjPwwowlbLKzfSNsngxew1dzR6qQrSFBWemUlC4rMH6tInCkK6sTRrJjnrI054XsfrTw6v1U=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB3495
X-OriginatorOrg: citrix.com

On 26/08/2021 08:23, Jan Beulich wrote:
> First of all the documentation is very clear about ACPI table data
> superseding raw register data. Use raw register data only if EFRSup is
> clear in the ACPI tables (which may still go too far). Additionally if
> this flag is clear, the IVRS type 11H table is reserved and hence may
> not be recognized.

The spec says:

Software Implementation Note: Information conveyed in the IVRS overrides
the corresponding
information available through the IOMMU hardware registers. System
software is required to honor
the ACPI settings.

This suggests that if there is an ACPI table, the hardware registers
shouldn't be followed.

Given what else is broken when there is no APCI table, I think we can
(and should) not support this configuration.

> Furthermore propagate IVRS type 10H data into the feature flags
> recorded, as the full extended features field is available in type 11H
> only.
>
> Note that this also makes necessary to stop the bad practice of us
> finding a type 11H IVHD entry, but still processing the type 10H one
> in detect_iommu_acpi()'s invocation of amd_iommu_detect_one_acpi().

I could have sworn I read in the spec that if 11H is present, 10H should
be ignored, but I can't actually locate a statement to this effect.

~Andrew

>
> Note also that the features.raw check in amd_iommu_prepare_one() needs
> replacing, now that the field can also be populated by different means.
> Key IOMMUv2 availability off of IVHD type not being 10H, and then move
> it a function layer up, so that it would be set only once all IOMMUs
> have been successfully prepared.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> Reviewed-by: Paul Durrant <paul@xen.org>




From xen-devel-bounces@lists.xenproject.org Thu Aug 26 13:04:06 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 13:04:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173032.315726 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJF37-0007uT-Kw; Thu, 26 Aug 2021 13:04:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173032.315726; Thu, 26 Aug 2021 13:04: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 1mJF37-0007uM-I2; Thu, 26 Aug 2021 13:04:05 +0000
Received: by outflank-mailman (input) for mailman id 173032;
 Thu, 26 Aug 2021 13:04:04 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HXzX=NR=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJF35-0007uD-UN
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 13:04:03 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 15b92d42-066e-11ec-a9fd-12813bfff9fa;
 Thu, 26 Aug 2021 13:04:03 +0000 (UTC)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2052.outbound.protection.outlook.com [104.47.12.52]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-40-c2OzPJdIOHau6LELVn0HHQ-1; Thu, 26 Aug 2021 15:04:00 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VE1PR04MB6383.eurprd04.prod.outlook.com (2603:10a6:803:11b::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.18; Thu, 26 Aug
 2021 13:03:59 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Thu, 26 Aug 2021
 13:03:59 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FR0P281CA0004.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:15::9) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4478.9 via Frontend Transport; Thu, 26 Aug 2021 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: 15b92d42-066e-11ec-a9fd-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629983042;
	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=GdIY/LI8aIgHDkkRCsjnncExst2s1X93xFAabas8RI0=;
	b=kuej0CcLyVnYaZKvRbhrrackzNB9X5+9gpjgla0ns+HaSXTocKtSfIt3HJBqjTADCxvaer
	sRBd97b+Tt9NEC0hXEAW4Li7vrOUz7EfUPmRJXFUesORQ7ybrLtrDp6ZjBQP4oAoFAiSHR
	dBoIGeF455G/cBWt233TxUGmQ9Py3Mk=
X-MC-Unique: c2OzPJdIOHau6LELVn0HHQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SqrI/Kbl9XmJ/BEKbamjtsFMyRKmsdjCltGDHWEs7sZhKpaW6uEbZGq+P+2Jeh823a+9gKiD/uCetKyFI+ZYKmGwZjYExLIOHFWBdWQ+6B3HBM7xOB6Ci7a5z9w/VRWgwGSDY7N2KviKPv7WPXyzadRjuijsy5Tu3JXqJZp7WKM5BzJd/3N7Xl5IJMqA4oaz86Rnhl3ijGpRe+69b5GG7EevN6asriV7/RBZjijtDx+PVJk+KGh8sEIW8qrMc4I9HtIIIzfqAI5zH1P/9VxapSlXeK0AXNO9cgMzypDQWmqlAcy34m/jejtCtF06xrc0CJFS23h9/7RP94nZEVrJew==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GdIY/LI8aIgHDkkRCsjnncExst2s1X93xFAabas8RI0=;
 b=LXj/DT7U9RafOji2AWO4RKlOblMWV+WZ3ozMSTxNDfAP+qDg4s5/iP2GL3s3w1dQfFKB4kgmfwhl0W0y0rmEw1q2lZ3o63D7g+WRxjosu7/ixnf87eNTiI899GgK584LKpUq2xjR5tICItopmzXSy1PcEyrCUSYY9EzYrA6UkDsfzo2XGFRC1VSBexHWxUsj+48ufumGzPifkxWpixn9TZiVvIC9/+/GrpZS4GfrwiWNZpM4UG+ncie0+/WsrvJ5BanXX8k5m0xn8NWVwT3j3Hp3vXymTKhtLd22Ga+jOLl+V79xMxIRc24yscehGgmLFk43bNr1FzblGLLYv8Dc6w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH 4/9] gnttab: drop GNTMAP_can_fail
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: George Dunlap <george.dunlap@citrix.com>, Ian Jackson
 <iwj@xenproject.org>, 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: <eb7bbd51-1da3-9a7f-27c7-49dea1a41488@suse.com>
 <761f3ea8-bfc9-4a8b-7878-2ff9e3047309@suse.com>
 <871a58f1-e978-6046-db37-037ec18dbb9d@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <fcf7ebc4-0f7f-0da8-b5ee-1578ea2c8806@suse.com>
Date: Thu, 26 Aug 2021 15:03:56 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <871a58f1-e978-6046-db37-037ec18dbb9d@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0004.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::9) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 1370a774-ca5a-481a-8148-08d96891f7fe
X-MS-TrafficTypeDiagnostic: VE1PR04MB6383:
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB6383323EF3B67930172277EEB3C79@VE1PR04MB6383.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:5797;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	iZe+IHxlxV28BpE1JmxLWqqRUfvQ40XRYENaCADAaAGeGbZTnPoygyG3BZwyHdz+wtNiPMQZF/TsdiFIxEToBo6OHaS/ovHz9Ymgaao8wmB8CrU++8gKLukdVsNSknO6zQvE40MWiTAQdqRJ0pAgpo7mBsktONuaDFI1Z/Q//NGUTdALKyABmwhQ4RKMiCEeMOsDppYPL1KpEa23BBxuBKE6DagTM8ovhx3ZAq8yBI12s1t6P3czlzq2nns44Y3tbT3aVYyU2+zccG2Yn4SJjgNQ5uY6Txi5Cw4eclx2xBWey5fLrxZmoi7vIlKG2JlIdvZ/eFGSRzYoITddlwfogrn2Lkn7EoBj0CFW+hGZOPnKlKdPxYA7oBMRwmvL6k2k2/GSQ3cmpl/wsLLeIe/y+9qod1XL3m/rjrBqQ1pZNaClNns6ofH9ZpSZOQVnKwk19Tirwy8dybW2KoXv+tCMnGyaBT7HX4MZpReFWtFbzCfPOIOfcwbtwWbTimGPmo4ilDjzx/uUYxrdJZojqx1jAVuExRH1Q57Xpb3IQPXYv6utQEyhE6tGe7ot5txZPCgH3H9NiK5PJXo83nEKBK+69cP9L5yzs9RQn2bU1WhJu896Y6s77Zu2gopv2bgh6sqpVCYiVvqseuvCFwPNg8ivf1AnsxWF+8utQ0Gw/quUAwDiqW4wm2H+eZVrvC3YnW63Nj3iuoXCQZNGq2pMHS5DAnFz3Aw8Z4g4j/ltS0cLZ7o=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(39860400002)(396003)(136003)(346002)(376002)(366004)(2616005)(956004)(38100700002)(4326008)(83380400001)(8676002)(2906002)(54906003)(31686004)(186003)(66556008)(36756003)(16576012)(316002)(6916009)(5660300002)(66946007)(66476007)(26005)(6486002)(86362001)(478600001)(31696002)(8936002)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UTFIMTlFTjlQRE40cjg3dVQrbXF3SDQ1MFByNC8zVVljOGUwak11Qi9HSGht?=
 =?utf-8?B?djlwWjl3U1NNd0VnT0pwU2huNGUwV1dvdDZ5WjhqUmtncnFJaEtCa2NKdTNx?=
 =?utf-8?B?dmMvcE9EVE5lNWYzNWZ4REcwdVlyVkVzSkVpV1ZBUThsV3Bwd2x0YXF1UjNu?=
 =?utf-8?B?Mzlhbk45a1dwUXBVUkRlQ1JvNEtZQ1NtNnNZNVRjWStvYUpySEl3WEM1YzFZ?=
 =?utf-8?B?ZXBUNzNKNFRaS0s3MWFDUWc5bEdvNldsQTcwTnlkYjlZb0IwL2ptOUg4b0xj?=
 =?utf-8?B?aGFtYUdDaE1Hc2EzbThzSFV5WkJzQU42VzlETlhYS2hMNW5qTVR3SUViL1hQ?=
 =?utf-8?B?d3FRSHdHVGFqb3QxeUtwaUhXRGc5Z3I2UzhZc2dMRTNCODR6SVBPdktFLzFt?=
 =?utf-8?B?Z1RoZFd6RWdZZHFXc0lPUkcyQ0JrTmFJdzNhZ2xVT1RFNGREK0wxbHg0ejh2?=
 =?utf-8?B?YUdYejdKaVpKZExmY3dqVldWWHMrbTdSRmwvQ1ZDQ20wTTloS1JURXozMkNv?=
 =?utf-8?B?cDBBU1R4cGF0RUU0S3VqbGU1cnpTemxKdU0ya25idnVOWTc2a0pkU3VhaWFQ?=
 =?utf-8?B?WEdLZ0lYcXpGdld5b0p2ZDY0SmVmaFlGMURkT1JPY21tMHE5SDdkMTJzS0Fx?=
 =?utf-8?B?ZURlOU9tTitRb29WWWI0UnBiSzhBNkZqZG9kRlIzN2ZRVnBSS0dwaGM3L2Qw?=
 =?utf-8?B?dlVHWk5jMGhXUjY3Qjcra1Vnd1pwakVEc1FUemVGZnI2MEFlUk1KcW53bU1V?=
 =?utf-8?B?ZUxMcFNUN2RFOWtsQUNTbHZ4N3RHL3RZdjhXRENhZDhOZGlyOWJIRHNHME5P?=
 =?utf-8?B?aDc0QWJtdnZWZ1RHS2JLUG5DdjR0eDEyc3YwbC8wdGRudnp0ZGdyUklDT0py?=
 =?utf-8?B?NUZsMmVBMGZXNllrY1NWb1Uwcys0VStsZVBMNno4RFBYNkFKYUxoWVoyNEtJ?=
 =?utf-8?B?TktQa3BvRzFib0o4TjlOWWRRc0lRUFltak85K0xPMTJpRjl5OE04eFlvV3Vs?=
 =?utf-8?B?VWkyMFJrZ0F1T3NUL0hOWjRWNUJGN1VXdkp1Zm5IZHc0bDRMWVpXSytxMVRP?=
 =?utf-8?B?RGFza2N2U29JenhvSkhpZ3kzeXhvTDIxRm4xb3phVEdEM25ac2NwWGdhdFds?=
 =?utf-8?B?dlVpK3g5QVNwYjhEYkVPUEMzQ0MxdFUzVWY3RTBWcXVQQ29DTDNSU1pYRzJI?=
 =?utf-8?B?ZUlrUjU4eDd5RkdONDh0RlFFZ1NRT3dXdFlCdEYzUjIyUW5sdkxqNG9MTWFa?=
 =?utf-8?B?NmxjdG5iZHFaNVVpRitzNTB5SmdhYitvdExNR0tHRmI2TkRVb1piQkxTNDBG?=
 =?utf-8?B?b0dYczBqZGdZeVo4QUJjU1Z6bWxRd294VCt3L3l4cVBLZUNkUEQvOHBHT3VW?=
 =?utf-8?B?ZGN1WmdrL0x2OGhCL0hSb0JjVjhjZHdIeWk4WjdBVVduOVJmdE9XQW4raTNy?=
 =?utf-8?B?R0ZieTdLdXo4OXhLYlROQm00MW5OTHlsTlprWUcyQ3lnMUp6ZzEvUEdabTZp?=
 =?utf-8?B?VXoyNEMwUWc3bmFGY096RldOSHdhYlVMNUZORWNqanBjck4rV1hBaVRHaEtI?=
 =?utf-8?B?Rkk5YzNuVHQyM3lram1wYnJTa1Q1UFVTWGNlb3JNYUZOVzcwekRNT0N4S2U2?=
 =?utf-8?B?RGc5aEptRzBHbXBPL3ZBYSs3bWFDNW5IWFdtRFloQmNPUkNTRzBmTzBlaklo?=
 =?utf-8?B?UXBtT3g3ZGEvMW1mY1JaWCs2S0hnMWgvaXlaZFFnVFBFZ2NOMlEyeDV6M014?=
 =?utf-8?Q?fqnoS+Ht5ObpuBvfpSKrL6VPb8tw3AhAUC6Wsw/?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1370a774-ca5a-481a-8148-08d96891f7fe
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 13:03:59.1323
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: OpBw/bx0Am689pyIpiRaMyf8ytsaIFB3k7lpTzUBwsEF/Z9BNYrMMkHwwqPG+KXtwTjSj/2iRQKL6a5k+0Fr+Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6383

On 26.08.2021 13:45, Andrew Cooper wrote:
> On 26/08/2021 11:13, Jan Beulich wrote:
>> There's neither documentation of what this flag is supposed to mean, nor
>> any implementation. With this, don't even bother enclosing the #define-s
>> in a __XEN_INTERFACE_VERSION__ conditional, but drop them altogether.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> It was introduced in 4d45702cf0398 along with GNTST_eagain, and the
> commit message hints that it is for xen-paging
> 
> Furthermore, the first use of GNTST_eagain was in ecb35ecb79e0 for
> trying to map/copy a paged-out frame.
> 
> Therefore I think it is reasonable to conclude that there was a planned
> interaction between GNTMAP_can_fail and paging, which presumably would
> have been "don't pull this in from disk if it is paged out".

I suppose that's (far fetched?) guesswork.

> I think it is fine to drop, as no implementation has ever existed in
> Xen, but it would be helpful to have the history summarised in the
> commit message.

I've extended it to

"There's neither documentation of what this flag is supposed to mean, nor
 any implementation. Commit 4d45702cf0398 ("paging: Updates to public
 grant table header file") suggests there might have been plans to use it
 for interaction with mem-paging, but no such functionality has ever
 materialized. With this, don't even bother enclosing the #define-s in a
 __XEN_INTERFACE_VERSION__ conditional, but drop them altogether."

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 13:13:54 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 13:13:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173039.315738 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJFCX-00019u-KM; Thu, 26 Aug 2021 13:13:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173039.315738; Thu, 26 Aug 2021 13:13:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJFCX-00019n-Gh; Thu, 26 Aug 2021 13:13:49 +0000
Received: by outflank-mailman (input) for mailman id 173039;
 Thu, 26 Aug 2021 13:13:48 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HXzX=NR=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJFCW-00019h-1u
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 13:13:48 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 71b1b366-066f-11ec-aa00-12813bfff9fa;
 Thu, 26 Aug 2021 13:13:46 +0000 (UTC)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2113.outbound.protection.outlook.com [104.47.18.113])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-32-tA5XIlZCOTaDTZx1QbxIdg-1; Thu, 26 Aug 2021 15:13:44 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0401MB2446.eurprd04.prod.outlook.com (2603:10a6:800:4e::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17; Thu, 26 Aug
 2021 13:13:42 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Thu, 26 Aug 2021
 13:13:42 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0178.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1c::22) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.19 via Frontend Transport; Thu, 26 Aug 2021 13: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: 71b1b366-066f-11ec-aa00-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629983625;
	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=GmqyGVlPHw9V6n5aWvNi1Fn0qM38HP/qokgUjALM4gA=;
	b=c2yXfEGom3FG0O9M6sS//nCCHYEyjF+UQvBiqmTY6Yok33GqtmdX9QYgNAZUvd+NFRWsk4
	lsqawZKSs3n707U6J+HM+8+VIjuLmuF0b8dxD/Uxc7UpSJKXxXqI0gaONJQh2h1Rc0VUau
	NDUBRVAqsFyKtbjbgqFNCjAbMXOT8TQ=
X-MC-Unique: tA5XIlZCOTaDTZx1QbxIdg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MLKRK0ZL8GOoofkbmYKhzut7P8TtytazJuyVDCTYhmroVKCRkPlGnBoyGcM0l7XmtZPoYqqwC3v7teswKz7k48Z0wbR8i34w8DcmRM8FlK62x5h65spMg9Qa+hLQv+X+qMF61A16QUiBBvXteS8BZobYkYjKnbwj/tFpZV6IcLwYyuOdd4vy5tpX6AG970Gk0AFcUAe2IsNmBvvWEtiTfxl4asJ7hVUFjbjVZZ5/bDr742WQnRSwofeZ+5x6QTNZTGHbjSWlkiOHePeYPEbJFb74LbRzjSzOxAXfk4vbztuXL0uDZ197+ZnoPy9bwYk/sYLsj9H0Md/pkav5B7Vz5A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GmqyGVlPHw9V6n5aWvNi1Fn0qM38HP/qokgUjALM4gA=;
 b=VBhSdpIUzHS2718goqcVRkVrm1nJxj9JkI1/L+Ht7xcWvkNtkkJNLuoLoLByspw6HdUIKNYj2mU/24CalcukySTRIhwR736l67tguvfczn8g9U3jQJWmS8pm6XFnJ9Eex+/845RRX2IH0iSOmS8blGxgRg3im/FCoE2z07dokR+EMrjCfOz3cdHredkxiLYbSTpGMHtKHHGjsUxT76LAEpFjCSg2Ua5VQyFogufvsnjVfCXcmBGYQ0Nw0zpjrxvg3xX1Hf1qz2rMG+8fGGFRX8GXvkTrEMbNFUVL7p0u28MziWfqNwPO++wy42lUqy7IEkX0sZh3dwOxk7qb+qSPJA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v7 3/8] AMD/IOMMU: improve (extended) feature detection
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Paul Durrant <paul@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <bf4b3be9-1274-9750-7340-08b29dcecfd3@suse.com>
 <6b6b287a-c5b4-06f4-6f7e-78273cb74d64@suse.com>
 <1449dfd9-7617-b4cc-89b1-3e9dd8090320@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <ed2ee574-b36a-dd3a-ee9f-4b2385a0a2e9@suse.com>
Date: Thu, 26 Aug 2021 15:13:40 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <1449dfd9-7617-b4cc-89b1-3e9dd8090320@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0178.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1c::22) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 6537e0f6-f7ef-401e-ce42-08d9689353de
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2446:
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB244639EB9483BEA693BD154EB3C79@VI1PR0401MB2446.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Md58OkvW9V/JRjxfepGEwaZgPbWM0d6t5N3P76jgNl5NdtZmcpzher6vxzHjUCbcuZZucFTyogllykvBO2IjQ3pNvwoA9SA4/oZtsn5hL+63D0+lBRS+hSlsozsLg6hMF4jBnFiHJdB/7Eqj1dj/WKEi3MU3/V74JnfF/fl28lCheUpT/rTfFJ3Ry4GN3JZmcFpctZWKYsmJHYxFcCzIoOB44YIm0gKUFy5upivJdVjcLV05wo7/+I8F3V4pjK/lwlCuqAs5yrN1GQQh72sFuV5Z0aMaguKPIGDyWnQmFcGupZE64W0llNKDUE/5SSjgtemWnPGEwaVlGncXYhZzIJUqGA44pUk5iVCgkblzwKZnLdLR/KoyGKb1qpyaSRHlMWqO2lMa1qq82czafXAIHnVK3KocErdSXI0vL1fc37lzNxr+QAf2cMe3V7Y0YidCSy5GQ1lpsyubI3YNwIdz9cX4tb3WDrLqnfUYTwB4XqEv3PPdRVQ2Wpz0mv2RJ2vYCA2ypkher/gC8508D4gwm/mHbiEfT5HUrNwRewJPtmgKFc9apScMgU6uMjD/IbZO8z4XqUnUfkrn8uNSW23aNng5Fqm1d5kNIFchjegkLCApdPfbA2RA5oqxNYSZEQECY70MOCjeooq9+nOYTZrrcLNpyZxdCE9jgVu6+fkBsBDgV7c+CHGzLGAVmBt9OBaSYfQO4M0+sP0OgNLtfU3mAxPnGBFvAGeN+duB8zArJco=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(396003)(136003)(346002)(366004)(39860400002)(6486002)(36756003)(316002)(86362001)(53546011)(31686004)(186003)(38100700002)(2616005)(2906002)(8676002)(83380400001)(4326008)(478600001)(6916009)(54906003)(66946007)(16576012)(66556008)(31696002)(66476007)(8936002)(956004)(5660300002)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QjU0YnNWMFBjWUs2WWxTRDRzYTlPQnRXUkl2d2QyTGVKek9sUk5OT0c2VFps?=
 =?utf-8?B?b1lFd0RWcGpKWEhYV1RzRXVBT3B6aDdITkJCVWdJZHB2SzZjd0Z6VzVOY2pi?=
 =?utf-8?B?ZUp0Wi9RbitidVFOdmYrOEZic2VUNDlwU05lamNNU2NVdCtPNkVScXF6WmZF?=
 =?utf-8?B?MlhGa3RFcStFTVFyK1NUSmh4UnNDc0FRQldhVHNzMHRCdTJFOEtIRkdhcXZU?=
 =?utf-8?B?QitlVG1zWnM1UWdiNUdlT09WbzlXVjFvQVEzQnRlRUR4RG83SHdsOVdTbDZo?=
 =?utf-8?B?amhGYW5zQ1ZHR3NtMytXemtpdzR0WGFYc2xwNVVqZGlaS0ozRTQ1Zms2ZUpT?=
 =?utf-8?B?NVZzd2xjTkZBdW1rWi8wUzEyb29GUzR5bkFqUGI2MGdEZThyelBOQ3A0SUtO?=
 =?utf-8?B?YUVSM05jNVlOVW83TFZ6ME9NY1NzdVNKNmdNaHByZzVucTNodWVOTThnQ1pM?=
 =?utf-8?B?dlI2eVpuTVp4V3pxS0hjZ3lWNkJmNGoyVjBxZVA5NHh1WGloc0d6MkhhSnh3?=
 =?utf-8?B?Znp5L0tpZHhyUmFQT0IzNWV4elQ2VGZtaFpLdFhXU3dieTR3RDhyWkRFblVD?=
 =?utf-8?B?d1RUVlRQT0dTTzVaOFZlU2cwTkwwWXd4T0ZCTmVQVG9sajVnV3F6TUdPN3VE?=
 =?utf-8?B?L3FQckV4aXRCeUo5cis4dm8wOFVYbHNOYzBzbDMzUi83NTF1UVl0QUswOW5r?=
 =?utf-8?B?OEJmNTBoZzdGWDl5T2EvYmRsTVhkRE55bDhFelo0OS8ra2FzemtEa3FJenJ1?=
 =?utf-8?B?MHhkRzlmWDROMWxCQVZ1TzJwbTY0SzA3eVNIeWxzYXVCeHJsV1hOaVJkRU5o?=
 =?utf-8?B?MUVJRytxZTRiTmVtdld0K2tnQTZ0YXBwcDFuOG5HM2NSeHl0NEZTR3luM0pD?=
 =?utf-8?B?R2l0ZllHNmlrZi9HNEZ3L0F6YSt0Z24xRklkdXJuamI4alRMcXZwZlFxT3Vl?=
 =?utf-8?B?cnVJazJFaGJST1RtTU1QYWtoaExzY0JYU2sybGJnY3Bxb3N2R0VycGRmdTRp?=
 =?utf-8?B?RmFRSTkyM1V0and4UzFHRnE3VW5kWEt1d3dMWXc4cjM5YnRRYzlwWVA3YzJ3?=
 =?utf-8?B?bzNGampNa3ZUVGdueTRZV01WK3RUZjh1UlJhbk4za1JwZWIxZytKbkkzeWhH?=
 =?utf-8?B?cjJvR1FHYjZSdW9oSDBBd2trazZkTXlCWVpYZkxDMENNck9xcjdVR0F5Qy9N?=
 =?utf-8?B?UG5GSVRqN0JpRFFuY0VMRzRHSWdjdmN4eHlTWEpVbEIzNjl5TXZwSXVIdnF4?=
 =?utf-8?B?Y0VMSHUwbmFzUzNlWkt5UUhYdlZSQXRPUjFDM1Nkd2Zxcis0RUVLZzdXaDJs?=
 =?utf-8?B?alhXU3RWakxBbXRDOG8vUDNteHlyaDNQOXhZMUJEbGpvbEd5UVdwNUlYY3Zw?=
 =?utf-8?B?VjBPUjN4RHdkTWt1WDJzMEs3d3NBSHZNSTZ3ZEtqUjAwWDN6VXc3VTlyWkhk?=
 =?utf-8?B?TEhrNlhkREd1U1ZlWUcwcFIwMEJ3TTVNejBvQ25ha1JtS08rZ3FycnY4Z0pH?=
 =?utf-8?B?SXhIOWtCOHV3a3JRc2Y0U2NVUmh6bDRqdUtCR05JRGZ6YlVhQ1pDeTRsM2Ey?=
 =?utf-8?B?OEp3Qmh1T3hpeTc4NHdOKytpVW1nNzdCWEJPU1dkdTBBNnR5a2Q0WU9abmhv?=
 =?utf-8?B?bkM4SVFuQTZYcXByOTAvOU12Q0RrekswNGZSM0RtRTRRTG1Pdk51Y1VPL1NC?=
 =?utf-8?B?d0FYOGUrcG1nZTJGUHpackt2Q1NudzJ3akJFT3k2M3JNa202ZkdJVVBkN3Zj?=
 =?utf-8?Q?XPqZeDkaqjs3lVRDKYOsBiZv6jZGk6rS10rkUx8?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6537e0f6-f7ef-401e-ce42-08d9689353de
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 13:13:42.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: DfYaMyr0MvyZcP0Ivw1nYvKbcRFJwUzhfHkIXy55Y67efqyhvlbHsxYpv8y2/sACKFlbCnBtk48bR+xV7pg37A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2446

On 26.08.2021 15:02, Andrew Cooper wrote:
> On 26/08/2021 08:23, Jan Beulich wrote:
>> First of all the documentation is very clear about ACPI table data
>> superseding raw register data. Use raw register data only if EFRSup is
>> clear in the ACPI tables (which may still go too far). Additionally if
>> this flag is clear, the IVRS type 11H table is reserved and hence may
>> not be recognized.
> 
> The spec says:
> 
> Software Implementation Note: Information conveyed in the IVRS overrides
> the corresponding
> information available through the IOMMU hardware registers. System
> software is required to honor
> the ACPI settings.
> 
> This suggests that if there is an ACPI table, the hardware registers
> shouldn't be followed.
> 
> Given what else is broken when there is no APCI table, I think we can
> (and should) not support this configuration.

Well, we don't. We do require ACPI tables. But that's not the question
here. Instead what this is about is whether the ACPI table has EFRSup
clear. This flag being clear when the register actually exists is imo
more likely a firmware bug.

Plus I didn't want to go too far in one step; I do acknowledge that
we may want to be even more strict down the road by saying "(which may
still go too far)".

>> Furthermore propagate IVRS type 10H data into the feature flags
>> recorded, as the full extended features field is available in type 11H
>> only.
>>
>> Note that this also makes necessary to stop the bad practice of us
>> finding a type 11H IVHD entry, but still processing the type 10H one
>> in detect_iommu_acpi()'s invocation of amd_iommu_detect_one_acpi().
> 
> I could have sworn I read in the spec that if 11H is present, 10H should
> be ignored, but I can't actually locate a statement to this effect.

What I can find is "It is recommended for system software to detect
IOMMU features from the fields in the IVHD Type11h structure
information, superseding information in Type10h block and MMIO
registers."

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 13:16:34 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 13:16:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173046.315749 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJFFB-0001pw-8q; Thu, 26 Aug 2021 13:16:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173046.315749; Thu, 26 Aug 2021 13:16:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJFFB-0001pp-5M; Thu, 26 Aug 2021 13:16:33 +0000
Received: by outflank-mailman (input) for mailman id 173046;
 Thu, 26 Aug 2021 13:16:31 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=q24O=NR=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mJFF9-0001pj-SG
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 13:16:31 +0000
Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 432fcb1a-5553-434b-8713-409e1f58eac4;
 Thu, 26 Aug 2021 13:16: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: 432fcb1a-5553-434b-8713-409e1f58eac4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629983790;
  h=to:cc:references:from:subject:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=vHzgO/6JE3l3+82E9BaHeYvUwNiG1G76LyDzdfqGIWM=;
  b=ety/AG3AZT6cm6W4ozFYnEVK5Gmosoh4N2uh82OO6lR+/Wt7qlx2feXX
   MOpYG/q6jliWjQbZCuoBEnCEyt/olj+1s7u0PuUPsPND+heC5/O86ehVG
   5f4BblworqwqlHOcThnNeRphIDKIC3xdIa/K68ydtfU7xRv201Havd/D3
   g=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: m5KXhnJnuiawheZYWHygA26z/jvThByX2YBA1/HzTy7W3uOtEAsSb1FI7GaUGBwplnexj0Ktc+
 eDxRHp+h/G/uwJO7w5OpiQAvdGaoTFpUTLCxvVlpXITumEjRErzSqTa9RmPvKlv1GW9WVWUfrz
 jtj84kk1flIQMtFFFTtQNnUdoW7dp/6SyNwMpzfCNnX1bLbVQervnfkaYeRRuIA8COHvGYGFh1
 MeYxeF7LMXsM1T17DzFvp72in4PNV21b4NirH4wS+Tg1ZTk17hw92Ap253tmd5R+B+6rdMmthj
 KNYcgoYaOok1gzG8RMB5fu35
X-SBRS: 5.1
X-MesageID: 51367032
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:UX13VaqKKxQNQklXIBe2FlsaV5rPeYIsimQD101hICG9Kvbo4v
 xG785roSMc6QxhEE3I9urwSZVoLUmsk6KdpLNhT4tKUTOW31dAT7sSprcKoQeQaxEWn9Q1vc
 0QFtkbeaSAdSkA/LzHCUuDYqUdKbG8m5xA7t2us0uFODsaFZ2ImD0JdTpzfHcGOTWvi/ICea
 Z19aF8ywZIMk5nGfhTTkN1KdQqpbbw+64ONiRpO/Z+gjPusduug4SbL/CftS1uMA+mxdwZgA
 r4eiLCl+yej80=
X-IronPort-AV: E=Sophos;i="5.84,353,1620705600"; 
   d="scan'208";a="51367032"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZuNyuCz5LlOgMY8bSRsUS+K1+8AP9FMtNc1KE2c8QmFoGpWJW6wY0agC5Am1l6wlnwyX2QGajp7QbAeXBQ4EDv06Eo+urYPDn4KnYEPp54dbo9176z74FRQ+1BMZCsMaIzrCQbdh+1sclDiGQ9t3a9k2S/HKyRQ+7ThUvUV2rrXej5Dyl7yaqvjxWFlafAEKE7LGbo/5uN7h3ERb2/PGbiqMug7sySG0nEgf/w1Gf07A8POz1fK4hoVHOphtYlSwG1Neemgzzd0HdzFUrNN7MTht6CK6WaeTBCF/KtQp7lBkT3750+OdeX0o/vePtw8twKqTgLGx1f3wr0/ZVzCljw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vHzgO/6JE3l3+82E9BaHeYvUwNiG1G76LyDzdfqGIWM=;
 b=lsayYQoSfhZu9Ia8QF59EKDtZoO43q/qpMtiMgK2gG7fYel+w5bSbJnB8oqXHJKVpIcz7XBoo7id69F6UryvUQ8VTXOpXZsH29hPNmQh/yiglCVdW62XBgb5TRfZkAbxSREJeXB3qeYgGv58NERy78IgHswXPrQq5glATaI+i0ygOuDVoLl8r/7dEmzJofw1KBqPPukBLf+EKKe4rnD/WxHNNqQRgRH56r8npgn/KaX2JXipO+sXoHn2LjZzu+SzuuF+gCXiu6gXrWTsrbld8Q7YF0OSQ/OUCT2FxCHgh40vuGPVVI7RSajiOj4fHoGn3HwdO+csGJJug2n1HGMuCg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vHzgO/6JE3l3+82E9BaHeYvUwNiG1G76LyDzdfqGIWM=;
 b=c8Kr3f9vWATmgZB/2O1AazBJwHyDbBTSkR2F7ltB5Ta9WhBcsbxt09Tr8CMeEoyIWzTB2hwr8g515WId2gHIRYQ2YbK1L/grvrxFLOd3I1B6hYWJpBTv+dDnHQ+Vsmlmk9gzCQcnZz6zuNIstMpPod30leJJQ13HJkW/VzKzCsg=
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Paul Durrant <paul@xen.org>
References: <bf4b3be9-1274-9750-7340-08b29dcecfd3@suse.com>
 <c0b49a0e-44fa-4e15-ffb9-d49002060edf@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v7 4/8] AMD/IOMMU: check IVMD ranges against host
 implementation limits
Message-ID: <05d3fb35-ed58-7b3b-59a7-fb555953cfca@citrix.com>
Date: Thu, 26 Aug 2021 14:16:17 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <c0b49a0e-44fa-4e15-ffb9-d49002060edf@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-GB
X-ClientProxiedBy: LO4P123CA0334.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18c::15) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d09a0cb5-c366-43a6-237d-08d96893b33c
X-MS-TrafficTypeDiagnostic: SJ0PR03MB5566:
X-Microsoft-Antispam-PRVS: <SJ0PR03MB5566E9CF0999AAF701DB549BBAC79@SJ0PR03MB5566.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: aztIvf5H+XtbCpx2qTLZn21Qm3zrf0gj7I74jkwF8Z/jwg7DW9RKxI8eGfM1pkQCVZbLQk+yEzISU8hESNfVzJTnQAV9Vs4OqwpMFZa0ZCSnSwr4BPeeJ/ImdvPHDim5n9XY3ODGykYj0HykK5wEAv8OGky0vxYOWBS3j5IyK6ITJ5N6K/n3gptJlIPPI+iwViXXWblyAmq+2sEg1EbWxX16DYQHmFPdv2oVaF51gsueKCVm2zmE55LD3Q/zTPKPIbG4T88Mf3tzA37fASN6i8ojKsF2Xa26OM5v0NpjZ/8CyiSqQiHCPzj9XR036Um4tyWotSzeVJQT0TIv5Oq2E6tVPuMLONGryIqM8yCk4Ez0Y5tMoXS+mNAyIwckZB3jKakpu45ev9skoZw1TAbfJD0fa1F6v+GpWG5ovZmQjjJ/jo+UMoFyqI8cY+4k/FeV+P0u/4Hvx5RgYoT70qn8erjIFMgtZBgoJdovtuaFT99Lh0JWQzrUoPHqSLbRmgsY5GmMrZaLh8u8T5MG9H80/oXgZ51FNLWXZVmVIyx5ZjkXTWN/IqsM0KqCPKYmupQmFN19cmdpuICsaL+PkITDbQ+42mXE0QyR3un8gQCt5HRH3K13yl2JZIGgR9klMDcy7fPAn8k6AO69Ee9Lf+561IZtvmHqwto+w9uP2D+VaIY0AnP0x/2v8qpxEMrifRD5+yueYZZlwFXNvKoy5/Solmb1+I8Bu46qBWbfMlU1XDI=
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:(4636009)(346002)(396003)(376002)(39860400002)(136003)(366004)(478600001)(66946007)(55236004)(66476007)(6486002)(6666004)(53546011)(66556008)(86362001)(36756003)(31696002)(8936002)(8676002)(26005)(2906002)(186003)(110136005)(956004)(16576012)(316002)(31686004)(2616005)(5660300002)(4326008)(83380400001)(4744005)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?QzNOQ1hMWHdWNHRsbmcxM2lybmlCRG9NZE9BaVNTTTVQOUljR3E4SG5IdUUw?=
 =?utf-8?B?bE1XSlZlS2lDRTBhSTE5ZytVaUdhTUZtN0theEVuZ3RrMGZ4NjF3Q0dBS3k5?=
 =?utf-8?B?MEVRcXhFTjdZNHQzbjFSeEhibVZ4cGIyR3o1R0ZqUG9SbEhnQnBHMlAzdUZN?=
 =?utf-8?B?aWF0UmtBTUszSmVtQTl6UEExQ3FrWmdpMDVmUnU2UUxTZTRlWmpHbitiQk8z?=
 =?utf-8?B?c0JQWVVVMGlhRkpiTmZlV1BBTnVNYnQ2bThlZ210b3dPNjN5enBPSnYyWDdu?=
 =?utf-8?B?SDU1NXdjK3owVitqSS9TaVJxMUpmZWFrUUpQWDdua0s5bXFGSmk1R3NPejNr?=
 =?utf-8?B?Y0hkdUZPQUJzdndNVWc1WVBLZndUSy9BU2MyQWdqeExsdW1TYkdicUJCOWtL?=
 =?utf-8?B?WWRnNDlDLzUyNVVuOGtpMVplbWYxZ0xxZnlkY3NXMXhIYTZTKzdVMDZDVnF6?=
 =?utf-8?B?YUJvbG1mb3pJdHVDNEpObkFuVjh3dng2VSs4RUZScW4zZmJDVXVwT2UzSU4x?=
 =?utf-8?B?TVM1ZVZJQ3ZSUDRwSUREb1k5QmpVbTBKblBFL1BUZXBsZkZjTzJQdEFsZGp1?=
 =?utf-8?B?bnJjSnF3STdXTEtDdWExY21YQUg5ZDZVMTBqZWdzc0tVaEdzZmV1Slhwa1Bj?=
 =?utf-8?B?SUc5WHZPVHYwdVQ5blQ0SjU4Qi9FZHkwMXh4ME40ZE80ZDhOWTNaNDdvdFhy?=
 =?utf-8?B?OFpPL2FFNlFhbDlKOGFKczkzdjdYWEJCTzJWQit6eThjNCt4ZFJTNm9YTHhN?=
 =?utf-8?B?aGpRbTlrS3p3TGNodWgwZmh4NVAxRUducDRpV2ttalVHZWJrL0FSMkVTVVlS?=
 =?utf-8?B?cm5lcGZ4alRVa0tucDV2Q0Q4bTVQbk9JRCtOcEU3WW9rK3M3WXdvMWNHRmp5?=
 =?utf-8?B?QU5HbzBiWStRZ3piWWlnMndMQkxPNDUrakducktGVFROQklvQnZXdkhkdnVV?=
 =?utf-8?B?RTRIM1VxdFZYSGNsdEhOZmxOS2hNeDNWNjg0OGZKczFPQVJrTXRaMVc4MGdB?=
 =?utf-8?B?MWVaTjdYTGVwdnlYUTlTelY2YmJWUVQzSnpzbHVZNTBpZnlaeFFaWHI5WWsx?=
 =?utf-8?B?cnkzcmErUkdwU2VjL3p6NHEvQm1jN3gyMHdvRXRPSk56VzZCaW81aytlYzZB?=
 =?utf-8?B?SWkrY0VGaE5sR2NqT0srQjdaa0I1NU5pSDJNdU9wdnhVeFo1L1JVU09PUlRG?=
 =?utf-8?B?aElZejJ0b1hFNGx5L3UwU25aQmpsODhqZGkreDJkV3BUTHltNE4rV01DM25t?=
 =?utf-8?B?bThYTUxUTTlTb016cytqQ0tNeW0wcklYYW5wd29tOGhMVTU2bUxyVm5PVUR4?=
 =?utf-8?B?VzBMMUtqVURWeXlYTTJXcU9zT1VERGw5TXN1cmRvSktmUWtCckI5M2FIVlBF?=
 =?utf-8?B?YmM2R0k2OG5waHJab3RSVWpyR3hFK1dIeXZJT0xySjl4Y1llL2dOMGV5aG8w?=
 =?utf-8?B?cXROOHpCd2NOSWpsVFBZbENpa3hVVG83SE5Ga291ZUV3dllHbGdONmw3bm5j?=
 =?utf-8?B?WUN3bC91SXBDeVgyei95NlBmQjdXb21XNWpkODc4ODFEZXAzT1VUY0RYVFAy?=
 =?utf-8?B?eDRiVGQ3OG56Y3pmQzFneStuUFBnT0xtYmdoWGxYcUZUVDAvVDhwRlRVdnBn?=
 =?utf-8?B?Tm5LRkRtKzZEQUhBYi9mcGhuaUZNVnpzWFQ1SHA5QjNwR3RuUWpLUnJML0Qz?=
 =?utf-8?B?NjAxVURhbWVPUTFMeWF3bUlMM3o2Z3FlbnVtaE9KVExoM09uVnp5dU0yV1Uv?=
 =?utf-8?Q?0wCUQ4z9idYvNZvHZRXgs+Rgyqn5Jwfh0kg1gkb?=
X-MS-Exchange-CrossTenant-Network-Message-Id: d09a0cb5-c366-43a6-237d-08d96893b33c
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 13:16:22.7139
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: v8zgz3++0t1Nrx0OKVC+RARABpd3hzEQR3eVw/cwHjG3CmJpsLn/fX7SCJ1MuX/dpptBW+ecxDNPL4DWRzcbgZga0+6G4vteD8RIxziN4b0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5566
X-OriginatorOrg: citrix.com

On 26/08/2021 08:24, Jan Beulich wrote:
> When such ranges can't be represented as 1:1 mappings in page tables,
> reject them as presumably bogus. Note that when we detect features late
> (because of EFRSup being clear in the ACPI tables), it would be quite a
> bit of work to check for (and drop) out of range IVMD ranges, so IOMMU
> initialization gets failed in this case instead.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> Reviewed-by: Paul Durrant <paul@xen.org>

I'm not certain this is correct in combination with memory encryption.

The upper bits are the KeyID, but we shouldn't find any of those set in
an IVMD range.=C2=A0 I think at a minimum, we need to reduce the address
check by the stolen bits for encryption, which gives a lower bound.

~Andrew



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 13:16:46 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 13:16:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173047.315760 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJFFO-0002CX-Ic; Thu, 26 Aug 2021 13:16:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173047.315760; Thu, 26 Aug 2021 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 1mJFFO-0002CQ-FY; Thu, 26 Aug 2021 13:16:46 +0000
Received: by outflank-mailman (input) for mailman id 173047;
 Thu, 26 Aug 2021 13:16:45 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=q24O=NR=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mJFFM-0002Bd-Vy
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 13:16:45 +0000
Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id db3f6ad0-066f-11ec-aa00-12813bfff9fa;
 Thu, 26 Aug 2021 13:16: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: db3f6ad0-066f-11ec-aa00-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629983803;
  h=to:cc:references:from:subject:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=aeimBsC7o+V57pFT5dQNmoHODJe6vv3gBDJA817hqCY=;
  b=XaRG+jgff01ap5zXXfoqRCFQwIcCDmJMdl71p+JjQcrnul676HNL/ltl
   pe27Xj1PwWyLYMZx2iC7jE7Td46l7Mti4NdpdsLdI+a4EFCmqgudfulrQ
   tHpC+1yVc2KumndKTZ+MYlookZiW6gHE8sssLu9uEmFmrwDwWzeAzoYBW
   8=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: kFLfSmBfCNKrUVkDykcvYA0j9Kzqw/9l0gBs/sTO/qc5i+yWogsJ+ITHcsSd3nZX9uIdqh9lxy
 SALUNre2BjCHkX3DAuHm0T8wsy5G99qYqHPgTbvQnqK8YNYN1Xy/m+qrAULienoulU8+YSkHWy
 pkR4vHdE3NwkRnLvjvD0CHm5ITmrk4qEBQABM9/Wo9xrbgXQj5NMryg/XgSl9tMraKxhSxG+nN
 tAwArlYH9XusIoJe2zOJ1ZTDQ0RLAK5OlHbDYcUUMU31oUH2kV/UTO4m6rKDosIG8jsyz3kjMP
 HhG6yvi9s8LosfH+7DuMyOSk
X-SBRS: 5.1
X-MesageID: 51754328
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:3snsXq086mLdD24j7TVbagqjBTJyeYIsimQD101hICG9Lfb3qy
 n+ppsmPEHP5Ar5OEtBpTiBUJPwJU80hqQFn7X5Wo3SIzUO2VHYUL2KiLGC/9SOIVyEygcw79
 YHT0E6MqyMMbEYt7eI3ODbKadZ/DDvysnB7o2yvhQdL3AeV0gj1XYfNu/yKDwHeOAsP+tBKH
 Pz3Lsjm9PtQwVsUiztbUN1LtQr6ue72q7OUFojPVoK+QOOhTSn5PrTFAWZ5A4XV3dqza05+W
 bIvgTl7uH72svLiiP05iv21dB7idHhwtxMCIiljdUUECzljkKNaJ56U7OPkTgpqKWE6Uoskv
 PLvxA8Vv4Dqk/5TyWQm1/AygPg2DEh5zvLzkKZu2LqpYjDSDczG6N69M9kWyqcz3BlkMB30a
 pN0W7cnYFQFwn8kCP04MWNfw12l2KvyEBS1NI7vjh6a88zebVRpYsQ8Ad+C5EbBh/374ghDa
 1HENzc3vBLalmXBkqp/FWH+ObcGUjbIy32BHTr4qeuomFrdTFCvgglLfUk7zM9HMlXcegd2w
 ysWZ4Y5o2nTactHOhA7ak6MJCK4sGke2OEDIuoGyWRKEgwAQOHl3fG2sRA2AiUQu1/8HITou
 WMbLoKjx98R6rRYff+lKGjtCq9GlmAYQ==
X-IronPort-AV: E=Sophos;i="5.84,353,1620705600"; 
   d="scan'208";a="51754328"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MN/9ZoBgnseLMP9Pu6pyfDF8etF93S0CHnd3PHkKXJlwt09whmGP93q8oTgOZWskpZ0Aw4bmHDN9xL7mQe++dIc0wOWCFyg4gSzZxyqsIQJW1pV5ijXEuEzpXXNZ8YbxpFIIrbnRONLhQmJffgVXejX6Z0a8mzIqVnJPZFElO/KcD3+pQjq4R7+hDmHEJRTHLl4zrsIw/DL0nFv35Qr/tD9JwT9P26uQio1a8n+mO39OFc8dwdd23BiLvqDM0IIvHvrHosVuCP07n0CH+Ew/Nx/0CWb1bVncIS7SruVoPjWEtOrPrqiAkoo+/gip6WBpI/SGfNjDy/vmFTxvD//Q1Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ObSRKMfCjstOfp3bszIM3eFOroR3P+6H7iY2fC1WXf8=;
 b=bskz/6SMmMwjNopTmXj3cxp1SQ98jjOEVUFbn3ah7Y2Vc0veIS6ntbldJ+vCcsVDRpTcsovT6xnFcniDXm7F5JlpUAqAW0ZSMsGHG51mC7tXkgVLNZfrzhwxL5YPnfR0rB5oEjteE6vw/PPmOn8kWhHBW/ufLLMf2lSK86/fQpi1hkkmiPDBMrEHTS6dYUcvGFR5ubKoYkBVjZO5pGH7419koEeoetXL7yH368Qc/1CKg9cN3Ppf9GS9PYQcECTzFl1cIb1x6+Pu8ZD2EVLNttmiEHmmooZ4whWy/hUNYN67zr4vGD12F8ShtF9IHQe+2Z1b7VI5r0J7U/RRwv7/bA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ObSRKMfCjstOfp3bszIM3eFOroR3P+6H7iY2fC1WXf8=;
 b=kyZ4ZwfuxZOhs/CuiH8HCWaWjx40aKurgl6lLq64KUs+AWM+3FxXYdRI7Ab1bEZgX6Gs+OFHL5tLeBwy/YJr0OXW49VdM/M1/1w+RjQb9Yo6NqGaCyL+5gq7Q2fGWVdWssjpzITYFHzlTiTZ4UpOAegWHeWlbSBFSDPyx9wvnUQ=
To: Jan Beulich <jbeulich@suse.com>
CC: George Dunlap <george.dunlap@citrix.com>, Ian Jackson
	<iwj@xenproject.org>, 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: <eb7bbd51-1da3-9a7f-27c7-49dea1a41488@suse.com>
 <761f3ea8-bfc9-4a8b-7878-2ff9e3047309@suse.com>
 <871a58f1-e978-6046-db37-037ec18dbb9d@citrix.com>
 <fcf7ebc4-0f7f-0da8-b5ee-1578ea2c8806@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 4/9] gnttab: drop GNTMAP_can_fail
Message-ID: <519e7c89-8800-0b8e-7fca-a9e754a3ca2d@citrix.com>
Date: Thu, 26 Aug 2021 14:13:14 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <fcf7ebc4-0f7f-0da8-b5ee-1578ea2c8806@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-GB
X-ClientProxiedBy: LO2P265CA0282.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:a1::30) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 00ac3306-e33c-4560-ea42-08d96893469c
X-MS-TrafficTypeDiagnostic: SJ0PR03MB5566:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <SJ0PR03MB5566DC193B5FB84C9A89717BBAC79@SJ0PR03MB5566.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:6108;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: RiX8g1wewQI9ZpV7JTAwzyTTxEf1NOOumbOuHq7qCkVK7BkGtipDCuTieolKj3UOnLXbfBYn8LFQKJBDludWv+iDNFLZsM3W0v5QenyeEM9oRheF1crUH9Xvas31XPl4fJoN6LnFIrXmugpM70nhiQttbY5ZhDnm92PrR1N5/kJzXW0bh0MUdw+U5LtkdfL00WuIPGcNqT4l38y9fBmPokMbPdVVDG+2WzZZYXA+gz7qiOmDa7emty/GLTYfu7EHPgGsebNmF/ttb4GYVgmyBCXm9qdCMTN2nT+KsxNmIkQl7jRlWRPqbREeu0W0GmUeSDMQDOjxm/GEwlejs3v9poWkR8rPWDQ+r2is/iVZ6YsoYpL59SZwV5BiNsR2648qOJwZTd3fsI5OqnAS6bJkMxxIvZfm4+76O3Wyl7E2Ljte3xo4ZAx6zidm61fWeQLZG/9CVhFX6+/hpb/Ezfy10+Gf92gW9UzVKgIJSJPtIQKDmYTgV+0eYiEkh79MHYNaxO0zBK6fKdtqGGtEP1J9V5Y2pMHntjEi21Q2gr1k2zHKlGugbBoxTjFJAo62k9SBv93L4n08ud6/ECl8xlZADj+c7O2W+ERce4vp6dp98S2CG0C4yK/m7ZTP61z71k3z/YS+hJDS1yTarkrwtndplLxS8bylFQ+ukH17inHpn/C6MdzRePuK7hi16AhRO4EnlYuHADy6EGT4S97XwOtwPaFJG51ng6pHcer5RmuuOSY=
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:(4636009)(136003)(366004)(39860400002)(376002)(396003)(346002)(186003)(38100700002)(83380400001)(316002)(31686004)(956004)(16576012)(4326008)(54906003)(2616005)(6916009)(5660300002)(53546011)(66556008)(86362001)(66476007)(55236004)(478600001)(66946007)(6666004)(6486002)(8676002)(26005)(2906002)(36756003)(31696002)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SzZqU0NhdW5BY2p5WnVYY0VHSS9KL0dpeHltLzNTaE5Sc1BjaTFaaDZPUVhj?=
 =?utf-8?B?MXYySWFUR012TkJHVU8wV0xnNzAyL2FiUlNSSTFzQjhmVzRaOWFuTlVQTkZM?=
 =?utf-8?B?aGdWeFZFVVEwaDVoQnpiRDRPYWNmVyt5NjQ3U0VoZGtoZUpSL3hFb3B6anNB?=
 =?utf-8?B?MThjU0RXd3ZIcy9xYnVneldFSWw1V1lGTXMrbm5LY2hmS09yNVMxMlVhcDBI?=
 =?utf-8?B?OGVtb3RYbkJGMGZtbFBTbG51K0tsVFJWejR6b1lxODM1dHJvWGZtZmlhY3Zh?=
 =?utf-8?B?QmZEcTFVQlBrWWovTmx0R3p5c3JFQ3VNUWlRVkJVeDRVMUFhellwVEtjbFJK?=
 =?utf-8?B?WThiWllhamM1OFNXV21od1V2WXo1MDhSNVJTSnJOQiszUVVPeEN1Y09hZExZ?=
 =?utf-8?B?ZnU5VEtlK0IxVlYrWWJNejNmck95TXpqY05JTzBjYXp5a29BMVVoblNQZGV0?=
 =?utf-8?B?eGZFbFdVb09lWXlyOHNPT0o0a0pDWFlKbHdQTXhyc1hiK08vS08xUFNwK0kz?=
 =?utf-8?B?b3phZUo3bWp5eDZCRGhMSjdkdXdiK2Z3QmFMNXk0eFo1VFoycFBEdHowZEg3?=
 =?utf-8?B?dyt6V2dadWp4YkFoYjRLeWFCMmYwN2NNQURKU3JmVW9KRXNHa1pUWTliRzcw?=
 =?utf-8?B?TWd3YlZ3a2VMa0xDeVFSelBwL3JqWkYwTXlwa24vK0lEcGZNb1k2S1VwSTBW?=
 =?utf-8?B?NnR4ZFV0UWZtVzBSV2tVR0hXTW1BUURqNVNKWS91YzJKWHVpRE5ONXBRWEJ1?=
 =?utf-8?B?RjNOdVU4Y1hCYU9RalBMWmNRci9reTJROUNHSGViMjJoQXFwbVVyNGM5MFlw?=
 =?utf-8?B?SkFxb2xxTjhIM0ZEc1h3OHgzTEYwVHE4eDBZb3d1a1BlbzBhMDlyVlgvclgr?=
 =?utf-8?B?MFltUVdYQkErdVFaUDdhcmk3ajZkRWdRY1B4WTFIOEhWSml6SnN1WThmK3JT?=
 =?utf-8?B?anlDMHJjSHMzWndUNkZab0luMkR5TnNxWGdURVhSWStIK0hhTFpSSTVLL1pj?=
 =?utf-8?B?U05DUVVFcHNKNFZFQk9rYVV6b1ZZUktSUThxd1ZKRWJOSytkbGo1dlMvL0M3?=
 =?utf-8?B?MlQzSDhXRFM1YW5sLzIrdkc1Z29iRTBJNHg2U1ZxTFQxNkpMQStzdTVtZGov?=
 =?utf-8?B?c3pzcTJudWNXN1grcUxOT21PbFY5cDVxeFBMTlhzajdWZ3BNS05jcTRibkpD?=
 =?utf-8?B?MUJVblQvczhIZnBKWUJ5RStyaDBNTzhrQ3l6cG90SDR0THEvaVBoTGhjWmlO?=
 =?utf-8?B?ZGJyeU9ZQU1SY0ZTUWdlKzV4UjBNY21MWlJLYVRSZkhIbjJEYTI2cXZIakZT?=
 =?utf-8?B?bmpKejZRQjUrMDZ2MHFrTStDbDY4aDRaK2dhUzI1aHhRNGhoUmtSOTNsUW4x?=
 =?utf-8?B?MnFETDk4RjBPdytudVBrU1Z2cUZvVXJ4SGttdCtYT2NZVElMb1N4OFZob2Zx?=
 =?utf-8?B?SGV1MDlLdi9pMVBvWkttditZVk01SE1hWGEvOFAxMFFaZStIU3p2ci9oWFV5?=
 =?utf-8?B?bWQ0S0twd1ZUQUxNTHRobUpFOHM1V1lmSE9JS1IrVktLbVBVN3k0WUtWREZz?=
 =?utf-8?B?aGlJNDhienNmQkRTV0lvTXpPeTlYck1XbzVaQW1YeDdIRW4wL2hZZHNQSU1x?=
 =?utf-8?B?ZDRBNElWcEUxK3JPWVhXQUk2T0FxNXRmQ1RKbWsvOE9GcTdkS2VBQ0NZYVlh?=
 =?utf-8?B?ZG12Q1VseE5zdkpvZnZWd3JJZ21reUR4VkU3ZllEVk9BRVAwRlVDYzd6MVZJ?=
 =?utf-8?Q?0n5yi+GwCU7qw1QxdXHO2zThXbc0qLMb+lINItr?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 00ac3306-e33c-4560-ea42-08d96893469c
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 13:13:20.5135
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DDMkYtojccLrogXiX9zHFbpkh9IAygI3pS3W78HVPE2/2o93JY+3xQIXHk5x3E63mS0OyyB/OO4gKNUY0F31DPbWyapAAXoduYa/mnVUzYA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5566
X-OriginatorOrg: citrix.com

On 26/08/2021 14:03, Jan Beulich wrote:
> On 26.08.2021 13:45, Andrew Cooper wrote:
>> On 26/08/2021 11:13, Jan Beulich wrote:
>>> There's neither documentation of what this flag is supposed to mean, no=
r
>>> any implementation. With this, don't even bother enclosing the #define-=
s
>>> in a __XEN_INTERFACE_VERSION__ conditional, but drop them altogether.
>>>
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> It was introduced in 4d45702cf0398 along with GNTST_eagain, and the
>> commit message hints that it is for xen-paging
>>
>> Furthermore, the first use of GNTST_eagain was in ecb35ecb79e0 for
>> trying to map/copy a paged-out frame.
>>
>> Therefore I think it is reasonable to conclude that there was a planned
>> interaction between GNTMAP_can_fail and paging, which presumably would
>> have been "don't pull this in from disk if it is paged out".
> I suppose that's (far fetched?) guesswork.

Not really - the phrase "far fetched" loosely translates as implausible
or unlikely, and I wouldn't characterise the suggestion as implausible.

It is guesswork, and the most plausible guess I can think of.=C2=A0 It is
clear that GNTMAP_can_fail is related to paging somehow, which means
there is some interaction with the gref not being mappable right now.

>
>> I think it is fine to drop, as no implementation has ever existed in
>> Xen, but it would be helpful to have the history summarised in the
>> commit message.
> I've extended it to
>
> "There's neither documentation of what this flag is supposed to mean, nor
>  any implementation. Commit 4d45702cf0398 ("paging: Updates to public
>  grant table header file") suggests there might have been plans to use it
>  for interaction with mem-paging, but no such functionality has ever
>  materialized. With this, don't even bother enclosing the #define-s in a
>  __XEN_INTERFACE_VERSION__ conditional, but drop them altogether."

LGTM.=C2=A0 Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

>
> Jan
>




From xen-devel-bounces@lists.xenproject.org Thu Aug 26 13:23:34 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 13:23:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173058.315771 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJFLu-00043m-9m; Thu, 26 Aug 2021 13:23:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173058.315771; Thu, 26 Aug 2021 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 1mJFLu-00043f-6Y; Thu, 26 Aug 2021 13:23:30 +0000
Received: by outflank-mailman (input) for mailman id 173058;
 Thu, 26 Aug 2021 13:23:29 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gmLS=NR=apertussolutions.com=dpsmith@srs-us1.protection.inumbo.net>)
 id 1mJFLs-00043Z-SF
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 13:23:29 +0000
Received: from sender4-of-o51.zoho.com (unknown [136.143.188.51])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id cc0ec97e-0670-11ec-aa01-12813bfff9fa;
 Thu, 26 Aug 2021 13:23:27 +0000 (UTC)
Received: from [10.10.1.24] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1629984200774124.61309886122797;
 Thu, 26 Aug 2021 06: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: cc0ec97e-0670-11ec-aa01-12813bfff9fa
ARC-Seal: i=1; a=rsa-sha256; t=1629984202; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=QRVp7GF/ZIiudoetvcQ0fUYO8Hovd90ICSZEYqnRI8ouawpnigvH3t+oqLYOfYfgU0py7ZU82z/d7APV6Q9xz/vo9hWK4qJT+Gy2SfWtl7OzYpOL5dUyhUFOnrutVqZ1DEvGdPbXcag/2gZNAxOS9dK35T4xdqLfqkYZlLilL3s=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1629984202; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=Kz2l4HfGPqE2vjbZ8+KpQP2zyqlQT888tY8f/K7FMyc=; 
	b=IBsecZFwSlyoEKHsO5Q69GN83Wopne216Cnrzw5oHt06rrqvTduTvYiEMLBBbehCpat+kDD/1ZQcw29ejPn0HIAgInC97YXPL4MqZ1MGAaNHxcWfr5erm+ss9TizWZTN9X9eh6CLz4JjpDDAfN4W7Zzbg2SGX1A3rd0Cbv5/M24=
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=1629984202;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=To:Cc:References:From:Subject:Message-ID:Date:MIME-Version:In-Reply-To:Content-Type:Content-Transfer-Encoding;
	bh=Kz2l4HfGPqE2vjbZ8+KpQP2zyqlQT888tY8f/K7FMyc=;
	b=G4djD15ievOZgDyfbi+T3VP/DVSLtVi2wXY/jlzKrjwRcZ6glEfycsHPxSt+23PK
	8ZRCqOI8YpzSVDxPBZ9eJsAl40Ysbo5dXy9/obEEVw5DpqfFKIXZwRuAzTQ/m3C+tkd
	U5V5T2p+iOqqlG/0VDOJ6RG0asNX4rsCPa0kCsR4=
To: Rahul Singh <rahul.singh@arm.com>, xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com, Jan Beulich <jbeulich@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 Ian Jackson <iwj@xenproject.org>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Paul Durrant <paul@xen.org>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>
References: <cover.1629366665.git.rahul.singh@arm.com>
 <d0b7b457762d481b19c8da6c2d55ff4acb4d6291.1629366665.git.rahul.singh@arm.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: Re: [PATCH v1 01/14] xen/pci: Refactor MSI code that implements MSI
 functionality within XEN
Message-ID: <5902a971-3a8d-b166-65a3-48e7c34cc7bc@apertussolutions.com>
Date: Thu, 26 Aug 2021 09:23:18 -0400
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <d0b7b457762d481b19c8da6c2d55ff4acb4d6291.1629366665.git.rahul.singh@arm.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

On 8/19/21 8:02 AM, Rahul Singh wrote:
> MSI code that implements MSI functionality to support MSI within XEN is
> not usable on ARM. Move the code under CONFIG_HAS_PCI_MSI flag to gate
> the code for ARM.
> 
> No functional change intended.
> 
> Signed-off-by: Rahul Singh <rahul.singh@arm.com>
> ---
>  xen/arch/x86/Kconfig             |  1 +
>  xen/drivers/passthrough/Makefile |  1 +
>  xen/drivers/passthrough/msi.c    | 96 ++++++++++++++++++++++++++++++++
>  xen/drivers/passthrough/pci.c    | 54 +++++-------------
>  xen/drivers/pci/Kconfig          |  4 ++
>  xen/include/xen/msi.h            | 56 +++++++++++++++++++
>  xen/xsm/flask/hooks.c            |  8 +--
>  7 files changed, 175 insertions(+), 45 deletions(-)
>  create mode 100644 xen/drivers/passthrough/msi.c
>  create mode 100644 xen/include/xen/msi.h
> 

...

> diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
> index f1a1217c98..fdcfeb984c 100644
> --- a/xen/xsm/flask/hooks.c
> +++ b/xen/xsm/flask/hooks.c
> @@ -21,7 +21,7 @@
>  #include <xen/guest_access.h>
>  #include <xen/xenoprof.h>
>  #include <xen/iommu.h>
> -#ifdef CONFIG_HAS_PCI
> +#ifdef CONFIG_HAS_PCI_MSI
>  #include <asm/msi.h>
>  #endif
>  #include <public/xen.h>
> @@ -114,7 +114,7 @@ static int get_irq_sid(int irq, u32 *sid, struct avc_audit_data *ad)
>          }
>          return security_irq_sid(irq, sid);
>      }
> -#ifdef CONFIG_HAS_PCI
> +#ifdef CONFIG_HAS_PCI_MSI
>      {
>          struct irq_desc *desc = irq_to_desc(irq);
>          if ( desc->msi_desc && desc->msi_desc->dev ) {
> @@ -874,7 +874,7 @@ static int flask_map_domain_pirq (struct domain *d)
>  static int flask_map_domain_msi (struct domain *d, int irq, const void *data,
>                                   u32 *sid, struct avc_audit_data *ad)
>  {
> -#ifdef CONFIG_HAS_PCI
> +#ifdef CONFIG_HAS_PCI_MSI
>      const struct msi_info *msi = data;
>      u32 machine_bdf = (msi->seg << 16) | (msi->bus << 8) | msi->devfn;
>  
> @@ -940,7 +940,7 @@ static int flask_unmap_domain_pirq (struct domain *d)
>  static int flask_unmap_domain_msi (struct domain *d, int irq, const void *data,
>                                     u32 *sid, struct avc_audit_data *ad)
>  {
> -#ifdef CONFIG_HAS_PCI
> +#ifdef CONFIG_HAS_PCI_MSI
>      const struct pci_dev *pdev = data;
>      u32 machine_bdf = (pdev->seg << 16) | (pdev->bus << 8) | pdev->devfn;
>  
> 

Straightforward, so I see no issue with the flask related changes.

Reviewed-by: Daniel P. Smith <dpsmith@apertussolutions.com>


v/r
dps


From xen-devel-bounces@lists.xenproject.org Thu Aug 26 13:24:17 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 13:24:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173062.315782 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJFMe-0004cJ-K5; Thu, 26 Aug 2021 13:24:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173062.315782; Thu, 26 Aug 2021 13: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 1mJFMe-0004cC-G7; Thu, 26 Aug 2021 13:24:16 +0000
Received: by outflank-mailman (input) for mailman id 173062;
 Thu, 26 Aug 2021 13:24:14 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=q24O=NR=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mJFMc-0004c4-Jh
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 13:24:14 +0000
Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id e6ea772a-0670-11ec-aa01-12813bfff9fa;
 Thu, 26 Aug 2021 13: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: e6ea772a-0670-11ec-aa01-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629984253;
  h=to:cc:references:from:subject:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=hAFR7Nq5ROmhOU8Q+idajTrgbrV8JymWDpA2BKVmVjY=;
  b=KyQadtzyqJu2NtprgxjM38mpqmW3TYwT7FjurWg0LUVgvgBZuGF671EI
   Vf4JeWGJU5Sh46Islw+wmxCJiQ22VVMX0OR/Ppg8R54nj1bpj+j6ouQFd
   ibJQCTbqHWfPfhZl1S0eVoopu6FuZxEx21MW7d2V+sduaJ28ElNom2D4X
   Q=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: ZcjzxEOmssStl9hjzjA7avjt77X1aLCb4QC1j3DgCGUL92oE+Qf1rf7im3DkRaiUmEOIRc3pPi
 Rcv5pz5HeFSkXfQ4Z9HaX3RPtbA2ml+iicp9C5ud60wIAxJz0j2R+FAl5o0K36LYd2WHygj8Nz
 WFE6gqk/FvHmyFq/p3YMdrRzdfnAhY8PoXU+Qd7dYoZVygpDZ0XocDbqX59/3Lv2YjiKSm3VSm
 LHgAhsiVN+nW7qsNM2N9oEe/dJWBKJ4LOTQZhjUUokmhtWzIRJtuNFeY9G2VOt7vlcHJ1phWVI
 jYZUqCUeCcXFfeS5/toUZGhq
X-SBRS: 5.1
X-MesageID: 51367777
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:bFlkZq9Fu27QGOi9tqtuk+DoI+orL9Y04lQ7vn2ZLiY4TiX4ra
 +TdZEgviMc5wx+ZJhNo7G90cu7MBDhHO9OgbX5VI3KNGOKhILPFvAG0WKI+UyDJ8SRzJ866Y
 5QN4R4Fd3sHRxboK/BkXCF+g8bsb26GXaT9IDj80s=
X-IronPort-AV: E=Sophos;i="5.84,353,1620705600"; 
   d="scan'208";a="51367777"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Dg3IRAneYPm515NqXe+KEsg1hF0JY/vD/OH8ar1EMRGb2/rtoT6Aan983XQEEX/GpQf+Veg/BjHlIZTpCyUwF794+R4bsBVz7UxP4AhTRt32hEgp8K+VQwIoSHrbrmDcUa3wncg6pkTmA8JN12DSbwKrBZ1wGjooUh4b4R22EilKB1W6UD4TjT9JCAQMZDiwggDqpZud5Sn4k6+xblcT7IVK/DdQhlADHyD6vnA6IxEgCSX09rim33xG0b4RmBrt4pOywkuPsEhQYm1akqcFLPgVBa/ro6lt8Xh6+PlPZnoHanJdQu7F1DSJkcvJydh9ysNvLnoWWvehSj/DcMJfYg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uZeJkFxSlzPeDM7f7FnTgprzWkvtBwvtmqGpMRyUuHQ=;
 b=nbOLPApdwUK1X8mZ0hq2ZteGzAVgDIwEia9BgcvtXir6xjDCjdukVPOYBu8UzmwhBorb8CV/gwlGI59huDo9Dd9z/kO1DrKcNP5oIyVw3bEOE/qwTFsGVGSBrIViyAv4CN5WpxKM2tGRayByoHN5B5idHLtIRlaQFOOEJpqMPymFht17IAXeS3ZIn3UTjQvjv/oJd5giYYnjzlaRewCxsFwICrLkUWi9Gqg3QlkjNqPEhw7iwVfPNP3I0FnBNkZtKluLVWjCeTyFCN4zHi9ZvnuNwWCBn7HbbxZWby1j+HT1JecRgaqbHXqC7P6/Lzv7TkZbs+Y9MZSdwiCH1V7LQg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uZeJkFxSlzPeDM7f7FnTgprzWkvtBwvtmqGpMRyUuHQ=;
 b=iXn2mKjT3KIq7o0pp703QxpzonZnidzT422xrJhgpmfdSYHy173AP8Zw10KXFf5yFAx+8Van2kRXoMMeg6pThL4g9e6GZNpmBDXYefOHpez+KFBkFCAXhun7HWtVKxDThCxvSPlOwqDuK0uMUY/gy2wMz9t9hn7vHooTs7THdvw=
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Paul Durrant <paul@xen.org>
References: <bf4b3be9-1274-9750-7340-08b29dcecfd3@suse.com>
 <93f33c54-8abe-4a73-3597-2f7d00d2f4af@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v7 6/8] AMD/IOMMU: provide function backing
 XENMEM_reserved_device_memory_map
Message-ID: <9c682319-0db4-1536-9a82-b7d5250ead52@citrix.com>
Date: Thu, 26 Aug 2021 14:24:02 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <93f33c54-8abe-4a73-3597-2f7d00d2f4af@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-GB
X-ClientProxiedBy: LO2P265CA0224.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:b::20) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 6b8421cf-fc99-4920-262e-08d96894c855
X-MS-TrafficTypeDiagnostic: BYAPR03MB3944:
X-Microsoft-Antispam-PRVS: <BYAPR03MB39447C7A3E25786F7C1922D5BAC79@BYAPR03MB3944.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:5236;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: Eke50WXuNTvc5Vg2+ew7CKe/vz7GPAPYGDpZ0MgdJhIyAHZI7JMjb9Xn3HkwTzavBBwK/33k/VEwltXSuWxh2fp+j9zJ7w2+JhRbz1QSTk6HES7NZAUvywy6tHvwc2LcSU5gDpM7A2vNEYfV0Yg4hWoYkQUjwnLNFMXTayYI5kB+HK4ZA/ceHAhlY3anVf/N8uVcSH23imVow1pOp7VANOKztB27FTfl8YQMKKukAK3xAO12Q0ZqCE3t6TV1rO717QrhlJ3ek/BBmpr/Kp2AqhDA9wAEtX+rwH1zo1722ev0Xi0F7vwMEKewTzCFI1gjsF24dHgy1hzdeevVQ5ZlqIWZxx4P0GOGAph0h6KJ5fbxpL9JPCB6323E3S3AqiuG6VArxqyxfZGWSpujqejFwyXPJPmqX2a51yCvvII+QxtDc4E0WGzKJHOFuBXqkLLw3EqRL8VFDmpHFvkEcUgGVhXYbxva+nedYQuU1A8A5Ssp//EOCX64vnIWGzmsPu1Groee0jx/8UHabO8bJPtew+jLJ2QqaRDMrvIiZ7v0eT19J4OBO8sd0+/omQdQ53/NNso2W5PtWbPiG9PPgIydnOr36nl/XKyj1Mw79WVnQFCt+GysdIg/XoVFiR3RQYpE9JUG7hDLlZWKg7bZPOiMB3EFQZW84/eJnesQpjcwTEsC77B83EGfQZfR9SlkB0BKdL2b6LIKhjO+X1sv+ylVimssZ2N2ff5GNOg5Kbj8xaOz6bNTAGHT7PeAQOsrx3r3
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:(4636009)(366004)(8676002)(55236004)(53546011)(6666004)(2616005)(956004)(31696002)(86362001)(26005)(2906002)(31686004)(4744005)(508600001)(4326008)(8936002)(110136005)(6486002)(316002)(16576012)(66946007)(38100700002)(66476007)(5660300002)(186003)(36756003)(66556008)(21314003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?eDg5cXQxYXVZRjB0TG1qdUpFOUIzQkZ0cDZ0RFc2eHMzcjFTbGFxZ0hSS0N6?=
 =?utf-8?B?N21YdUp3cXJsNkN6eXZTUkhCbnRBSDM5Ym4wSzZ3VzlHQ241Ri90cWhHQTZN?=
 =?utf-8?B?QWJERml3VFZPcWxEdmdDWmErcmliMTI4emZCdzJMTlYvTEptTDIxa0NXTVRI?=
 =?utf-8?B?dkcrOC9URGFBYzV1S2VWbXdTWDJWQ28wd05ZU1lQWXo5dkRESGc4cDQ4OTNt?=
 =?utf-8?B?aU9KcTVCVlpTQWlmcUdTRWJCNVFOcStTWnlMekl0U01STEg1QkhKS2Fiak9q?=
 =?utf-8?B?U0NseExmZlhTQ1pGMGhiaE1Xa1ZQVVplUVQzV2prTHlDMlNIcXJQdC9JbFZu?=
 =?utf-8?B?U0NMRUc4WjVlY3dSQXRPZVppQUt6emVUM29BSldkNktMSkgvYW53bWVibkox?=
 =?utf-8?B?Z0JrRHphM1hjZU9IUnYzTTRtNHNYNFhFR1lyTDB1c0JMc3VLODEyVEViUXZm?=
 =?utf-8?B?R0Y2eVNVN05TSlFqQXp6YzFkZ0JxOGZYWUVqQkFFd3JteGFtd0tpS2QyWXlZ?=
 =?utf-8?B?YjRFN1ZDZjgyT1JXZE83dFJrS25Ba1ExeU5mSVdYSTJKNFQyd3dHZWZZdE5P?=
 =?utf-8?B?bnVlYVRoc0xWWHdHUXIyYzM0a2VPM2hmYVc3WlNtYTdwZzFVbVpJd21hcCtI?=
 =?utf-8?B?QWFyWEVYa3VCV3kxQmFQa084cHQwYlRGYlVUZEtxTnVRd2V5QW4yU2RQenlF?=
 =?utf-8?B?c21Nbm9tSzdKTXFOTkJhbEgwV3ZWbjdaM3hTSlUvejVNY3l6VkdQYnlHYnFH?=
 =?utf-8?B?eTIwazIrK3VTajUrK0ZiSUtGU0RHcUplYWJIQ3RUZHE3Q2Z0aFJIM1ZTbDM2?=
 =?utf-8?B?SU84d0dIYWNnbWYrUkk1TGk0SE9uNnd4am45bFNQQmpNTTRrc1BQY20xazJq?=
 =?utf-8?B?aWlDUXVmV3pXSEthWHl2WFRJQ2JEZmRLa2tTVlRZdWVmdHlPSUtwaFlGTFBC?=
 =?utf-8?B?cWNSVWpVWjZkdnhjd1hqTnBOMnpNS0ZrMEI4amw5ZHhzcEhvQ0h5REU0YkI2?=
 =?utf-8?B?UW4xUnBic25rbGplY2gya0dJQXVKeVliWExROG41Z3NSSzRDUDVRWFFLSDYy?=
 =?utf-8?B?MVI0b1ZaVHRDTVRmRS9yYVFCaFIrZnk5dURMNmRwT2tWUU84UGdKaC81YVRV?=
 =?utf-8?B?K2xEM2F6bnJxVERxcDlZcERGSldFbEFGajlodHoySExZN1hxVDJiSnpXdldF?=
 =?utf-8?B?TUpOTUZVNkI3Tkk2NUNmMTlRNzMxQ2ROU2RKU2lBaSs0VitQZURKVnBTUjRX?=
 =?utf-8?B?RDI5OWwvRHBQOHoyMkZxaUlMY2Z5dTZCOVRTb1VjSUhXZFlBV2JJc3J2NklJ?=
 =?utf-8?B?NmFqK0R4WVNsUWVlU2xnMElxZWRXa2lhbGxWZjZmQVlvblc5SFBRT2gwMmox?=
 =?utf-8?B?OWV3WTBvcW51YWRQK2RrTjZLM1huUEVPQ0Y5bjd6YVh4bjlpWmd4S3ZHK0I5?=
 =?utf-8?B?aTV3VmVDUnAxS1M3MVFyRmJ1RE9yeHBtU2FkTGQzWHE1Wm1aV0JmTHJWOSt2?=
 =?utf-8?B?MlhuZmtiV3NZVnJ6dVNzVGpCbEV5OHF0MlhCVmw0b0EzeUxmRlk2aUhJSE4v?=
 =?utf-8?B?ZGt5b2s2UC82UWlQUlg2dWkxWm5xN29KS2pJWDR2dG9VMW0vUTQ1ZW96ODdE?=
 =?utf-8?B?cVJ2R2tSOFRsMFpoT2p3SHRXVXYwTjI0eStjTGFvTitaeUF4a0VjV29uWDNp?=
 =?utf-8?B?a0FiK0EvMWc1WVhnN204ZXRWWk1xQS80T0l5a1E5b0pOUkNJR21BSkU0QVlj?=
 =?utf-8?Q?da/YqrwYvFkn/7Sj8nqHnFLjSIbczOnvWQQD1Wm?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 6b8421cf-fc99-4920-262e-08d96894c855
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 13:24:07.6507
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZzasevbMlPx5saogtRiCShLmo2ayOTDbCx421Fz4gWDpmQkgQChUj/EH8izAKWqgswEZckF1u2b20EpqL0ShDimdGjcUFBLarB9t1Lgww0c=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB3944
X-OriginatorOrg: citrix.com

On 26/08/2021 08:25, Jan Beulich wrote:
> --- a/xen/drivers/passthrough/amd/iommu_map.c
> +++ b/xen/drivers/passthrough/amd/iommu_map.c
> @@ -467,6 +467,81 @@ int amd_iommu_reserve_domain_unity_unmap
>      return rc;
>  }
> =20
> +int amd_iommu_get_reserved_device_memory(iommu_grdm_t *func, void *ctxt)
> +{
> +    unsigned int seg =3D 0 /* XXX */, bdf;

Is this XXX intended to stay?

I can't say I'm fussed about multi-segment handling, given the absence
of support on any hardware I've ever encountered.

~Andrew



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 13:44:31 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 13:44:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173073.315793 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJFg1-0007PW-64; Thu, 26 Aug 2021 13:44:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173073.315793; Thu, 26 Aug 2021 13:44:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJFg1-0007PP-2W; Thu, 26 Aug 2021 13:44:17 +0000
Received: by outflank-mailman (input) for mailman id 173073;
 Thu, 26 Aug 2021 13:44:15 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yDkH=NR=invisiblethingslab.com=marmarek@srs-us1.protection.inumbo.net>)
 id 1mJFfz-0007PJ-Fe
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 13:44:15 +0000
Received: from wout1-smtp.messagingengine.com (unknown [64.147.123.24])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id b34de7e6-0673-11ec-aa04-12813bfff9fa;
 Thu, 26 Aug 2021 13:44:14 +0000 (UTC)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.42])
 by mailout.west.internal (Postfix) with ESMTP id E976B320091E;
 Thu, 26 Aug 2021 09:44:12 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute2.internal (MEProxy); Thu, 26 Aug 2021 09:44:13 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 26 Aug 2021 09:44:10 -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: b34de7e6-0673-11ec-aa04-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-transfer-encoding:content-type
	:date:from:message-id:mime-version:subject:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=WXkphg
	Sznvbe0cwinig1Log1T5d//3hovaBCb47o4oA=; b=v5BfsVUM1wAk/pHl5RGehs
	NUC7chBUMMZZ3qSXN/EF4YmzrildowrB8+xsW+ElYfd0lxvcnlybMP8EN9wybGQh
	t36rqG/KMHpcZi3+9Ts53VPwJgVi7Aqh3dvcSco999mjBnRJ/ps0c0wKQ7XJCOzp
	mSi6W7Y2NcUZV3TZ8BY5U39833R+z+s+t1evcJq6O7P6ylmeboglqhnCeT20dLUl
	oueq/zwOIkvBNr/1Ui0p0N/FHcAn4xNg3fXkSqGI5QSSS57pmzz1r+EFNzoxrzxN
	R3y2hWakKPfaiRKPgbL6kkO7jQ2uSBwEo3k+ez2jUZRo2AiQnk1i2kjFSmYZzxeQ
	==
X-ME-Sender: <xms:q5onYW5cyE3UTFAaYFISaosi_ShZ-5Nc42e1bn3rZPIg-TMUE_l4DQ>
    <xme:q5onYf5KuALetlGf6KxkdRykU7IWxM3qF9LtoIDg1xgkyGYaa_ZpG6SlnUqaJbVCR
    Tu6nEGAfiiSvQ>
X-ME-Received: <xmr:q5onYVd6YBmcEgQ8Dxx4toyFe-D1tPpUPEWL19PSTHfDKjATSnASkRvhvxDfHBxm8ytSC4txXhJYREbUMyUxr74-fYCeZZcibsLJUvdrvR3Rshw7yg>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrudduuddgieeiucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvufffkffogggtohfgsehtkeertdertdejnecuhfhrohhmpeforghrvghk
    ucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesihhnvh
    hishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeetgeet
    keeukeffhfejueeludehtedtkeeuiedtgffgtdfhveefueeiiefhudehgeenucevlhhush
    htvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhes
    ihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:q5onYTKtFfvgVY5slAcG3Tfj_ZSBp34r0g6gwnv1MKKmwa1309Up1w>
    <xmx:q5onYaJuMaTC4YcyU80j7HP_CAEbqM5HVnPQYTb8_Fq7Hl6Qgeq6uQ>
    <xmx:q5onYUxDsEyiT47N3Ne0RiO5sJuD63DlSNbvgHMo-EQDg1OxhAYucg>
    <xmx:rJonYcg3ZnjlxxIep_3zVTyFHTJ5AIaSqpYIO7OBDFrRz4d19cqfrQ>
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: linux-kernel@vger.kernel.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	stable@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	Bjorn Helgaas <bhelgaas@google.com>,
	Marc Zyngier <maz@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	linux-pci@vger.kernel.org (open list:PCI SUBSYSTEM)
Subject: [PATCH] PCI/MSI: skip masking MSI on Xen PV
Date: Thu, 26 Aug 2021 15:43:37 +0200
Message-Id: <20210826134337.134767-1-marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.31.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Organization: Invisible Things Lab
Content-Transfer-Encoding: 8bit

When running as Xen PV guest, masking MSI is a responsibility of the
hypervisor. Guest has no write access to relevant BAR at all - when it
tries to, it results in a crash like this:

    BUG: unable to handle page fault for address: ffffc9004069100c
    #PF: supervisor write access in kernel mode
    #PF: error_code(0x0003) - permissions violation
    PGD 18f1c067 P4D 18f1c067 PUD 4dbd067 PMD 4fba067 PTE 80100000febd4075
    Oops: 0003 [#1] SMP NOPTI
    CPU: 0 PID: 234 Comm: kworker/0:2 Tainted: G        W         5.14.0-rc7-1.fc32.qubes.x86_64 #15
    Workqueue: events work_for_cpu_fn
    RIP: e030:__pci_enable_msix_range.part.0+0x26b/0x5f0
    Code: 2f 96 ff 48 89 44 24 28 48 89 c7 48 85 c0 0f 84 f6 01 00 00 45 0f b7 f6 48 8d 40 0c ba 01 00 00 00 49 c1 e6 04 4a 8d 4c 37 1c <89> 10 48 83 c0 10 48 39 c1 75 f5 41 0f b6 44 24 6a 84 c0 0f 84 48
    RSP: e02b:ffffc9004018bd50 EFLAGS: 00010212
    RAX: ffffc9004069100c RBX: ffff88800ed412f8 RCX: ffffc9004069105c
    RDX: 0000000000000001 RSI: 00000000000febd4 RDI: ffffc90040691000
    RBP: 0000000000000003 R08: 0000000000000000 R09: 00000000febd404f
    R10: 0000000000007ff0 R11: ffff88800ee8ae40 R12: ffff88800ed41000
    R13: 0000000000000000 R14: 0000000000000040 R15: 00000000feba0000
    FS:  0000000000000000(0000) GS:ffff888018400000(0000) knlGS:0000000000000000
    CS:  e030 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: ffff8000007f5ea0 CR3: 0000000012f6a000 CR4: 0000000000000660
    Call Trace:
     e1000e_set_interrupt_capability+0xbf/0xd0 [e1000e]
     e1000_probe+0x41f/0xdb0 [e1000e]
     local_pci_probe+0x42/0x80
    (...)

There is pci_msi_ignore_mask variable for bypassing MSI masking on Xen
PV, but msix_mask_all() missed checking it. Add the check there too.

Fixes: 7d5ec3d36123 ("PCI/MSI: Mask all unused MSI-X entries")
Cc: stable@vger.kernel.org
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
Cc: xen-devel@lists.xenproject.org
---
 drivers/pci/msi.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
index e5e75331b415..3a9f4f8ad8f9 100644
--- a/drivers/pci/msi.c
+++ b/drivers/pci/msi.c
@@ -776,6 +776,9 @@ static void msix_mask_all(void __iomem *base, int tsize)
 	u32 ctrl = PCI_MSIX_ENTRY_CTRL_MASKBIT;
 	int i;
 
+	if (pci_msi_ignore_mask)
+		return;
+
 	for (i = 0; i < tsize; i++, base += PCI_MSIX_ENTRY_SIZE)
 		writel(ctrl, base + PCI_MSIX_ENTRY_VECTOR_CTRL);
 }
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 14:04:11 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 14:04:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173080.315804 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJFzA-0001iy-SM; Thu, 26 Aug 2021 14:04:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173080.315804; Thu, 26 Aug 2021 14: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 1mJFzA-0001ir-OA; Thu, 26 Aug 2021 14:04:04 +0000
Received: by outflank-mailman (input) for mailman id 173080;
 Thu, 26 Aug 2021 14:04:04 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HXzX=NR=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJFzA-0001il-D6
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 14:04:04 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 778a58c2-0676-11ec-aa07-12813bfff9fa;
 Thu, 26 Aug 2021 14:04:03 +0000 (UTC)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2056.outbound.protection.outlook.com [104.47.12.56]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-34-FtNK8IOdM2eaMk3dTQkmlg-1; Thu, 26 Aug 2021 16:04:00 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB6303.eurprd04.prod.outlook.com (2603:10a6:803:f2::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Thu, 26 Aug
 2021 14:03:59 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Thu, 26 Aug 2021
 14:03:59 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM4PR0701CA0032.eurprd07.prod.outlook.com (2603:10a6:200:42::42) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.6 via Frontend
 Transport; Thu, 26 Aug 2021 14: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: 778a58c2-0676-11ec-aa07-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629986642;
	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=jzczTurrM4Cm4y+HUAB9UXeDSZXjRSqKYDJaGfnLsx4=;
	b=Lm948MnmUIlTpVOdTObUw20uj883ra7PpHzyUEbKqIDnW4iV/KLvjWiTsZ2LvNVoUVL5nn
	Pp9gdJkTRjFspUd+saE0GhhNmPXgy8tZMSl5YQVtwyyOb8yxIbm5laMDUS4qm2ATy1U2LN
	TCUWOgwHQLf+HTGTKV1+R75kvsyFtxk=
X-MC-Unique: FtNK8IOdM2eaMk3dTQkmlg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eitbSY7b6it2PHXWQxVDAuTKXNt7/O/o3cyUDZyzS/SDh7FX/+VENQSYyEcEKbUse3fxjQsNZ2Mj0jld3SdJKzBYfsjrumHDYs3ObksreNURkqZIPitrGjIFDWQ/Kupbhwp4aMjvIw//hOCP48y+zj51Q69UtY3CYL1CYKFQggC4q/k2EXV3E7ftAp8jgpOdkGfvhxLAMimXUGBmYcLvUM40agz6E9aJ4wNsyte9SuS/5UVgSiPrs0ZEX/Zpw4eF/lSnkFP9Sw2Wgmm/N6SVyt4IwHgyyQep/LkPdd7SyGCqrzgRXLtVT5SKxL7Sh9Wt9+8lYHGanPe8oZAX87t4XA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BkRrrXqqDBS1J4mfMUL1W4j1LpGbpujFJaF4nkNi0hM=;
 b=ME5kD0m5KYRF6DcvihI2E4OgYVhXRqQrTTLFKayK37Kf4/eZ9U12gy+W8XbjiWEnWfgdG+GarUQZWsWmKIkWdbrVtonj7OXQ/P7Q69Zq95SvhdhmK6PTS0Gre0z5WkpMUCYBxqk38MCCgI7oY88ZzOoBg+iHj8ZycHRr+K/QrK3YWJwKdLnWnPQbDEDVbQB+LHsEsa1GbosRnek+fzo6zV1mddSX3HAeL/Q8Lj2mKeyBm2jsLTvk2g+oBrDFidopHtOx3Lh7uyydGQpOzu2dT6LbYc5lb1aQCp9qGKKFNCGzFxmM2pQ8L5zNpdhAU/vlKoIpQ1Tnj9pgeSUCUr6Lyw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v7 4/8] AMD/IOMMU: check IVMD ranges against host
 implementation limits
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Paul Durrant <paul@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <bf4b3be9-1274-9750-7340-08b29dcecfd3@suse.com>
 <c0b49a0e-44fa-4e15-ffb9-d49002060edf@suse.com>
 <05d3fb35-ed58-7b3b-59a7-fb555953cfca@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <9d085b15-b871-8db0-c2f2-16f17df2fc4b@suse.com>
Date: Thu, 26 Aug 2021 16:03:57 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <05d3fb35-ed58-7b3b-59a7-fb555953cfca@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM4PR0701CA0032.eurprd07.prod.outlook.com
 (2603:10a6:200:42::42) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 09cc63a5-d570-431f-3129-08d9689a59de
X-MS-TrafficTypeDiagnostic: VI1PR04MB6303:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB6303BF5B285CA8AEAED4B01EB3C79@VI1PR04MB6303.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	FWnWnb/rkDCrLdeFV5Mw4TSUF58u23QeEYmDCA7/9LYIeuucl51wETVt5qupqiRPknsYbOzZ3AlbI/K5XqzhYakwHNLf71UGYcRLZbjIilGuoJXu2R3UXjiDAAA7cY18tNqg6vCIIez0vC3iB6xEooTVlhX2vEBTPArRAbTdOMcRAOXohJMR3dr0NqWqbAqonu2YfT1on69JoTb4E0zKokAoNVI9O7JTSbe++7gtJ7I/AJifKbeBGMQZJ46EFcZqwXhwFOw4YeIHELuA71o15hPRiT5VjiUg7WTI7RIkXNJtlGWrvWQHpsKhSWivOdhXDfaBfeA3YEH6F1aNVv9u47ilcDwxe2gyCVxI36n955zovwnxwiTDCESd7txll9pvCYm/zHf1gvX9gzH6VRCoCGctQuBhGWTOU7lVoYrXRDnnQmD0xpHSCcHaFjllKlzpH1PGA3H9VCGvDAwXCIUFKdr91D0aXthasxXB2SW10cS3ymV/t5z3Fy0YdZA7O3py/rRW+xmk9FpsTaTg2fypZTQ7+pnFEFYUaiFrrKaAoQZWuNbgOBCvb2ixAfC/Lub1GbjQlCAJtZXjg1sWIZwZg5NxZdpVEz8WucmDxkQOlk169cEg6ODqxtNGixwBM2RVnRh+bi5AWJ4JWEiIdqJ/KjIJcOwu8ZWaJAtHkARcSuwPSCNWF3PIlOhuTzsEjHMosenOfHpd+LAsm68dxsUGZsCznAF0doSxZSlDDnd42J0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(66556008)(31686004)(54906003)(38100700002)(31696002)(53546011)(186003)(8676002)(66946007)(66476007)(86362001)(26005)(4326008)(83380400001)(956004)(2616005)(2906002)(36756003)(5660300002)(6486002)(508600001)(6916009)(8936002)(316002)(16576012)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?nbkHruDOM1cEWwEoEhMpQdHS9ktkYDz3wR+Gg+ugwUiFBpULTy8yqql6aNoD?=
 =?us-ascii?Q?HPAMtWKKRpgC59XNNSpD+3UMKm+sQqPxly89VQu+YqTut999bAvlOnF8NpcB?=
 =?us-ascii?Q?VKq998pLwWuivIUpf/wh/ZoY7mJu7LwHE0L7hcP4mIqtp/7gK7RWMInL3fnZ?=
 =?us-ascii?Q?dEMqiSvRvkgLi0A1/TfUqPvyuHb41jiXFio8JP6FHH3FmvQys1zBVAsttzlo?=
 =?us-ascii?Q?0IKMFXMr7vaM0NUHLpHGQ+McnvZ35beuuyGJrrEn3LZuoSEUEGmwmWc8NwQ9?=
 =?us-ascii?Q?UN17lFQHZuWpjum/BFoteUIoGfphAbh3Mgv3aBw6PWO3ESdvjGsl+58QoTqO?=
 =?us-ascii?Q?YGg/1mdwCbud0UTy1tLXs0vw9UoqJc0eP2aVmcoDjjnLuUyizzP7FFM0em3n?=
 =?us-ascii?Q?pOErZmYShJbr5L+F/4R22lQLM1gR1n4EzGoeL14ulC3uZfJ5oRVmNQnD/cAJ?=
 =?us-ascii?Q?x3YI1wkAQYxWQ/HJhyazNm8+hhJA0CGONoawfMRVAOnVEv+gGdVNBk36kez3?=
 =?us-ascii?Q?Vrf3Mc695Mzoqpzzi/P14CrpZCYav6a2QyWi4Pm+ly0cPnlYBks2DobW7SVD?=
 =?us-ascii?Q?coP51TBEvJ4dl5TZoroqZ4UjTKajTM9z7YkbqUMc5UOPk0Akj5cVM4k+1/ji?=
 =?us-ascii?Q?H/sQ7v9C+w7VfCrISmuKq1jbcMsP2w9KRaX8rhD49X1Blc1tMgyP0PmjPzeb?=
 =?us-ascii?Q?Z8I/GwHqG2akSyIJglS32QwJx5uS2GLsZ0k04iT5pG2UpXMD+Zc+r05LFvGi?=
 =?us-ascii?Q?PWHqaNDRSqRyiT7fBWC1xcURfyfg3z9rNMb6m1zhAd7XsdNNN/itJnDtyQwA?=
 =?us-ascii?Q?lDgnCGcRNSS9PSiQZA0yTdIf+8cxVFL1vVhwTaV8OTQsw4GD4GmovRbeQ1Jv?=
 =?us-ascii?Q?9RRDr/z6Vm3TkO5Wnd/+tp7OdytrMSxo6XhHoymmwpiEgHly4ti15/C6UJHS?=
 =?us-ascii?Q?Yd6DLmBfXpK3olVA8OhwsW36HOZNXu0vznt7MLUq2+6/pkR3sf+KmvTrKg2u?=
 =?us-ascii?Q?Am7BuaK56XGrRPpEInR2yl8cHe3yWP4aWGQh4KDIT+r2QVf37ee59TlId8/4?=
 =?us-ascii?Q?9u2jPdEZ8Vco4Ngv7JufFk85Yu9UNu6AlsOYpsoqVnP3gh4ldVdAzsGgi6kS?=
 =?us-ascii?Q?z222aXIBKgWZ4xtz4tjAd4GPjmzGfd2HHk7d5z40TNYUydjgYhxdsZNNCUFo?=
 =?us-ascii?Q?UTxfQrmly7gkeC8d/sxshY0n5X6GzyeaA/q5uMwTtc6RpoyvUhro5GmX2Ut/?=
 =?us-ascii?Q?AsfwPAX74qgP8DQ4DkG31NGo6XdMKyskw7xmIsRRnQKyr6BEkftAFwejQ0Fy?=
 =?us-ascii?Q?QwixLPmC/vdptX5ImVmnJK9V?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 09cc63a5-d570-431f-3129-08d9689a59de
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 14:03:59.3091
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: x3U5omn08Ah18rPRIXBxsFUmY5PKhO4QxAcVULtUGHX671MhiPSU9sfVhPBqeFbMTubh/1GiwUHg5WVRpqaQ2Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6303

On 26.08.2021 15:16, Andrew Cooper wrote:
> On 26/08/2021 08:24, Jan Beulich wrote:
>> When such ranges can't be represented as 1:1 mappings in page tables,
>> reject them as presumably bogus. Note that when we detect features late
>> (because of EFRSup being clear in the ACPI tables), it would be quite a
>> bit of work to check for (and drop) out of range IVMD ranges, so IOMMU
>> initialization gets failed in this case instead.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> Reviewed-by: Paul Durrant <paul@xen.org>
>=20
> I'm not certain this is correct in combination with memory encryption.

Which we don't enable. I don't follow why you put this up as an
extra requirement. I'm adding checks based on IOMMU-specific data
alone. I think that's a fair and consistent step in the right
direction, no matter that there may be another step to go. Plus ...

> The upper bits are the KeyID, but we shouldn't find any of those set in
> an IVMD range.=C2=A0 I think at a minimum, we need to reduce the address
> check by the stolen bits for encryption, which gives a lower bound.

... aren't you asking here to consume data I'm only making
available in the still pending "x86/AMD: make HT range dynamic for
Fam17 and up", where I (now, i.e. v2) adjust paddr_bits accordingly?
Else I'm afraid I don't even know what you're talking about.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 14:06:03 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 14:06:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173086.315815 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJG15-0002KB-7s; Thu, 26 Aug 2021 14:06:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173086.315815; Thu, 26 Aug 2021 14: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 1mJG15-0002K4-4b; Thu, 26 Aug 2021 14:06:03 +0000
Received: by outflank-mailman (input) for mailman id 173086;
 Thu, 26 Aug 2021 14:06:02 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HXzX=NR=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJG14-0002Jy-58
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 14:06:02 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id bd92ea98-0676-11ec-aa09-12813bfff9fa;
 Thu, 26 Aug 2021 14:06:01 +0000 (UTC)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2105.outbound.protection.outlook.com [104.47.17.105])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-25-rFuoNqRLMH6t2eu5HkRV7A-1; Thu, 26 Aug 2021 16:05:59 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5326.eurprd04.prod.outlook.com (2603:10a6:803:57::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Thu, 26 Aug
 2021 14:05:57 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Thu, 26 Aug 2021
 14:05:57 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FR3P281CA0072.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4b::23) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4478.10 via Frontend Transport; Thu, 26 Aug 2021 14:05:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bd92ea98-0676-11ec-aa09-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629986760;
	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=3VPyvXcf4IjnTUJ74MZhwOXd4X4XWnIhck2OGPmmw6M=;
	b=RjrLV/8YojDAPeZtGFb1Mi47jkDFhFQrJ4vr0USgh6NGgnjFkIBpDBOpnJUFEZ8w+UyW01
	FXwZPgGqqX4iscsaq9U9lMLo7PEwBx4ae3G1jEaYakFPwJSIywdFuijejWpsm0O97WJBMr
	cmyfnxMbgpMH4u/ER5zOgbK+dZuNlac=
X-MC-Unique: rFuoNqRLMH6t2eu5HkRV7A-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nwR/QYkzu7k9WwyKxdoSkMeJPGCOgVTznU6168RMzMpLNlqFuAfEBx34RdaRquq7YKmH4st8loVPyHZrYH4i2MqXHRLvGpUs99KEfZdCTEfm/H5aSozr6MTL4Hf962jiHQHjRbMMJm/X/5ttIjTa6P7QetqFMRkDJ5+7qFJQFNXZl0Fcf9pHrarn+kI/M8Irz9Z55INwqRnhx9Zcf8lyvXr+1p4scaSks58n0R6JFTKji7RtCjX9+hLsfOqtZUWquLgazxYVK7H1noYNY81bjAsDmiu5S4KjYnrk9ZmpgvPUZIM/O8rnbF06xX83PofZxYGKkhxzm9xon97enagc6w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3VPyvXcf4IjnTUJ74MZhwOXd4X4XWnIhck2OGPmmw6M=;
 b=j5a7OJHkZREM9nZCtvZfnyx7NAGGmi/gnda5J+z2abewPvRzqjyPKDk1ZBzDCLPZWO113WpKNqBXiBEJcm1VKCwY8QMl4ogk7v23fpNXbsWXr63v82X7PeVtko/+tPR8NI0YCcAFT+SPppHeY9mPrDcUvlBqnGp5RlCRf1VkJAUTqR6RBlMDtMliRhCi72F4BzQZX0W2Qr+dOKs+O4qcV5ToC16+v/qiDJVbC31lQ/mM20cQeTs/SulQiDirjbXTNYBZSpbZSk0nLvOaSktMD6hAYYZ4rv29ee0SuOXn5/Fedp/rZQ2+6xsJ9Dz2eSD0C6RrtsD+O8/rHt7bGxyxrQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v7 6/8] AMD/IOMMU: provide function backing
 XENMEM_reserved_device_memory_map
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Paul Durrant <paul@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <bf4b3be9-1274-9750-7340-08b29dcecfd3@suse.com>
 <93f33c54-8abe-4a73-3597-2f7d00d2f4af@suse.com>
 <9c682319-0db4-1536-9a82-b7d5250ead52@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <e06e746b-ce9e-de12-78eb-3e0a44acd78f@suse.com>
Date: Thu, 26 Aug 2021 16:05:54 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <9c682319-0db4-1536-9a82-b7d5250ead52@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0072.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::23) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 10a25e31-89c4-43f0-d045-08d9689aa024
X-MS-TrafficTypeDiagnostic: VI1PR04MB5326:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB532637E5E29A57048A89B923B3C79@VI1PR04MB5326.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:7691;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ydAJhIvGa/up4GLsMNS9kw88DFCjmGhztuoel2OEy4Y+aJBflRL9JQhFQSiJlCp4w9oQt3nfFCv2pdRHZJkADE/YQRowdWtoOpEULExyHGMv2g/UnEk13qdhekomX5X4AGxU91NiEAdkIkA5GL8/7EHd8ptwHCSeAG/0MJzPXR3n2mqK/MMbztMbP2hwqyruD84OBI4Ot52i2XpC0Z7dUmRrBukSC+sbbw2qJTKe9ae53CdPsgdmH7Z8o7MLGtHmfw23GHKuNLmxGCWnBeHrx6ntTEzP58/0+hY+0hlcX82QcWImMb++fD/sID0bZfoS9EN5PLLpsjgzXriZSRm83M2EdJLVyDW7qthBRPcFmPpziLxLoV+JxFFjgTMOXM/XxopPF0Ug5OR72S/eycw2QF3xxwT9ykGTlCqhwDsv0TQp51uMwxAtf9C/y1ilL1j3z8vBOAzvzd0T2UTZbDKptZvL2QpSYXUemq3SHcesu5gEmw85TigvKYi2IbqGNLShhk+6lemWoMf0sMxydEQNcpfKarAPRYmos6671GMyy84k/l2mMxfftFYOyjCvFl6ykFUg3Bx09+fP74+Tl6xqdmvtFmIl9ljvt0ofIAmUP3zhMsFuPi1a/ATB2gx4ypX+RkkAj2LEhBQqOwep6qXy64tFKUgrZWMHoao8732jZ7YkoT7gVSY/EdD+kR85391inlfj0JZK1jnRAW1tEQCOnpFuOkcwvVo0ac7SqI5+2QYgeRavi9DfdYg9HKV3vpRQ
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(39860400002)(396003)(366004)(376002)(346002)(136003)(8936002)(36756003)(31696002)(6486002)(66946007)(66556008)(5660300002)(316002)(66476007)(31686004)(8676002)(6916009)(54906003)(16576012)(478600001)(38100700002)(26005)(53546011)(186003)(2906002)(956004)(2616005)(4326008)(4744005)(86362001)(21314003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YXF2OHozM3lYZFFaeTF0dGRGeDJ4VitaMnFxTzdnTm42VWJLNVVwZk9MQ2wv?=
 =?utf-8?B?Q0NkTG5BS2lXMWFEMFQ4dDlnRk5Xb052clpJSlMxL3pIMGc5TmxLQXVMZ0V5?=
 =?utf-8?B?Zm4xRVdjQml5NGtoSkdnV1hkRUJwSHVkTmZQaGo0cng5bTRIKzJvaVI3aGZ5?=
 =?utf-8?B?Yi9zL3R6R3ZEblN2N2xZeGpQWDNZMGZVVWF0MEtTaVptcGpBSG1tSlFmakU0?=
 =?utf-8?B?R1R2UVdQTnc0R0R1OE93V2JHTFMxLzNxa0tUaTc5SUdTSWRnRjZEdjhtVzRz?=
 =?utf-8?B?YnprK3pnTlo0cnkzSFFxWHI4d2JWQy8rL1ovdzJkUGlUa3gzQ0JhUTRVZSsr?=
 =?utf-8?B?bWsxM2UrYVU5enhkQmw1YnlydU5JUEVPNG9rUkFONnpNZUU1VzVGbjJOUGMy?=
 =?utf-8?B?cjNKVmFNaEt4ZFV6VjdPVEpreXQxaUJVNGRiRDBwaEwybEJ0Nll0cDdnZXlm?=
 =?utf-8?B?UTJjNVIwbXBvNTZLcmJ2aW5sNGZaQUo0d003cnRESmtjMDZKTG1CZnFObzM0?=
 =?utf-8?B?aDRpNUtsdHEyenpyd1hPOGwyOXlKRTV1eDZaZzVHWnZBRjlZcElMYkRhMGxU?=
 =?utf-8?B?YXJMT1NpQXArOWtqdmNyNjVnNDZQbG9HN21oUWFMSDcxNEROZ1ZpcGdTckYz?=
 =?utf-8?B?QmtHU1VwUWpVVmJBTm45ZWFvUzh1MVF6U2J3cVlHNGtBK1RweldKdThmSWN5?=
 =?utf-8?B?bnBMdmxXYjFUcDNOR2drL29ObUNwWmM3aHlFMlozR1E3eGVvMEo1MGVKeGV4?=
 =?utf-8?B?L1U4N2JmNU5WbTlSNGFTNzRYSDZHSVQzbzVlMEpZR1piVkJvNDJSMkVZakk0?=
 =?utf-8?B?c3UrS2YrWXJkNFhNaXl0NDR2QU43ZnlJRWhLWTJrS1N6TllpbXluWVpXVFox?=
 =?utf-8?B?dmZmem5jdGJOdDAySEUwdy95TTZCdVBmV1hSS0hRT2liY1RqY291em9JT01E?=
 =?utf-8?B?TXJjY0pTeFlEUFRHOVRjclc2MUpxU2lZbEFkUDJMQkVHOThYcjBQOVNpYUdX?=
 =?utf-8?B?K0cydURDcG9ZMmYxVTFCRE53VmNzTlY3T3ZHMHhPbms3R3R4TFlBTVkvMkN4?=
 =?utf-8?B?RGhQSENFV3JLajBTbHgydjJqUkh0eWIvWHNTeFVVbXgrNDlMcXV6dDR5L2Jz?=
 =?utf-8?B?Q3lrditMa0hqYU5JOFV1Qk5ST1l1Z3BCR082RDFvNE5YUEhocStjRDlIdmdL?=
 =?utf-8?B?emVzaVQvN2w3WnUzNTdIbU9iWWRJT2J6V1cwenZrUFNuV3dHbVZ2bHcwQy9V?=
 =?utf-8?B?a2c1VDI0bDRyMnhPYWdRUU5lR0swZ0d5ZGNNVTBsNzN6NlYrMUltanVlZjV3?=
 =?utf-8?B?MzlHVXpSNjl4ZFZnTW1hdHhDd0hmejNRd2FLTnJNcUxmWWJZSndrdzlUaEFa?=
 =?utf-8?B?UERyaG0xZXp1NE5rZFdhbjYvU3ZUZGtpTkx6dFpYK04yZkJMaG9Ia015VVZU?=
 =?utf-8?B?M0M1WW1BQUhmR0NPU0hrSlRuY0dodUlRMW9lYWVWY29EaXkwMEhaR25HRk9x?=
 =?utf-8?B?VDdYVk54SUxJQjZySlgzSUpVRllKWDZVbTkzMTJrUkZMR2x5V3JXbTFzeWNY?=
 =?utf-8?B?cDlSZXVnZFRCRWVtLzBhbVhRUXlnUlhNWW14RjNMQ0srUnV2QTdmMVJseURP?=
 =?utf-8?B?SjcyYW8ycUxHdGYxclhNWkFpVkh3SzhVcEtzZ0Nmd2JCd1ZJRlRncUhQVWdk?=
 =?utf-8?B?UStpN0tUVEUybjJ0Mmt0L1JnREJMOWVqR2hhbllwODdLNWpScDlqNklXcTdk?=
 =?utf-8?Q?wDDh5JFygVmCaKtmekmEgXFdRa1f8jA4GwLj4mt?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 10a25e31-89c4-43f0-d045-08d9689aa024
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 14:05:57.1784
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: j1szzzlkas0Wb+ZJsm12RQ6vyY6kan+4YjvWs2O4YKA1WO9V+trqzss78ALb6h/6l0xm8HcPczv7heR01gA14g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5326

On 26.08.2021 15:24, Andrew Cooper wrote:
> On 26/08/2021 08:25, Jan Beulich wrote:
>> --- a/xen/drivers/passthrough/amd/iommu_map.c
>> +++ b/xen/drivers/passthrough/amd/iommu_map.c
>> @@ -467,6 +467,81 @@ int amd_iommu_reserve_domain_unity_unmap
>>      return rc;
>>  }
>>  
>> +int amd_iommu_get_reserved_device_memory(iommu_grdm_t *func, void *ctxt)
>> +{
>> +    unsigned int seg = 0 /* XXX */, bdf;
> 
> Is this XXX intended to stay?

Yes - we've already got 3 similar instances plus at least two where the
hardcoding of segment 0 is not otherwise marked.

Jan

> I can't say I'm fussed about multi-segment handling, given the absence
> of support on any hardware I've ever encountered.
> 
> ~Andrew
> 



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 14:11:57 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 14:11:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173092.315826 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJG6i-0003v3-W3; Thu, 26 Aug 2021 14:11:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173092.315826; Thu, 26 Aug 2021 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 1mJG6i-0003uw-Ro; Thu, 26 Aug 2021 14:11:52 +0000
Received: by outflank-mailman (input) for mailman id 173092;
 Thu, 26 Aug 2021 14:11:51 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=q24O=NR=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mJG6h-0003uq-Iq
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 14:11:51 +0000
Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id b4d7aec1-6b05-4fb1-862f-b14475a03e4e;
 Thu, 26 Aug 2021 14:11: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: b4d7aec1-6b05-4fb1-862f-b14475a03e4e
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629987110;
  h=to:cc:references:from:subject:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=Fz8f72ABt7nR+J4yOKOzUu5n/j+NR/P+d69WhMZaId8=;
  b=DoHQbMMTU+U1+wdBOruygZNjVu3FHwS5JXMq0LR7vikV0N4omtCKsM30
   P1mo60jLkCYsWWqLBp3TAM2+XPHOVaUcc4Xuqexk+6AQ4/TdYP0GM9Pz6
   6mpQpJRTqurf1Ea0oextEAgfMcimkmxarLiBFyo5h5WGg0rnvX7iQ/bpy
   4=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: ANAqpPyLpM0FoiF5F3YOFw8U+FjATMV2E/+VQGBlY1cBLJEA2Ggxy2GS2m7B/KRvGmGxgHBU2f
 0V1gRd6SMHwC9R6CnW1om2h0hYQpRcahn9C/tQAM8U7fNo5dGNCm8NnYPh3QKfEjVvbbvMBtzb
 WWK9aDLCA0cLsS/E2iflWPwnh/KIeQfwSQFXupT/HQtDvr2Zz6bvJYq6O4BERhrHtp1JOniSVI
 uzHeJk1ZunR06BO4m0WcFk9AHcOPGOqZ7Vy6HA1eSqfKY3EKb8CLVKY73giaKzc2Fm0ArRTkrJ
 CHHTftY0aiGE7BnGFas53PS+
X-SBRS: 5.1
X-MesageID: 51762181
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:d1lyzals6VxY98RTrV3HMAXQvFHpDfLW3DAbv31ZSRFFG/Fw9/
 rCoB3U73/JYVcqKRUdcLW7UpVoLkmyyXcY2+cs1NSZLWzbUQmTXeJfBOLZqlWNJ8SXzIVgPM
 xbAspD4bPLbGSTjazBkXSF+9RL+qj6zEh/792usEuETmtRGt9dBx8SMHf9LqXvLjM2fqbQEv
 Cnl6x6jgvlQ1s7ROKhCEIIWuDSzue77q4PMXY9dmcaABDlt0LR1ILH
X-IronPort-AV: E=Sophos;i="5.84,353,1620705600"; 
   d="scan'208";a="51762181"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ber0+jJxE1avoK4Cw0PAeSCKXtkncB2eE5SEjNeZ3EHo0ltL4oqUcSSLz9NlJKCuQzBP7XXyBAxouqwokYjrXKgJ2LogqN+5fv0oSquFuPM6YDY+TgNgM+uXZ0IDD2vsxT5MoMEeJsOdyjD3kVeYaVRtdjlC5BV3bB2dBXnF0znhOX44pakKiQsshl05+JFb2/HeGLOKq3uP6SwdfPdZYBInCaqTUif3wLGW1xOqdMIKthl6xQ8cX4TzdsXUXayIja4FHDOdxjVhJnjayQ76AbwDkrvo9yR7OVDjMSkp8S2QOQOsdDvyLGrYFS6QNN7e5VOEwYb7iX3KrNwd8bmTOQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wjzs+GwUD53JRNY2tPdQdcyk0bYkWizcvjHcWek0v60=;
 b=NVpa44/ManPiyo0mUWEhwDRNJw+vm3IShbpBat36h4WaHDlaoxCvZiHIu4ruUcCq1pc+L4MhelTVAdWB3s+enpIOmwQogwkdssDfCSeSXxfd/DC25JjEpuK8qYencocmp0hgamp6fC3p81TB5iyddMixGqXalHmj9MzwtdLqQUBQGSRiGq/DeHS4qnas72QOYf7nFIUFX2Waw4p0ciUqRZs8mzHUSF7s7Jtgk4UbK3uLznm8QlcKIrHkSt/0rZUkodVUAgjqYh5Z94ZbKLrgPbyfiCMQkwvKdS4f4jbkPSbupAyln9LjFKZRY7u6PaBw0iiZcznqkQQ6yzQYBpCitw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wjzs+GwUD53JRNY2tPdQdcyk0bYkWizcvjHcWek0v60=;
 b=d1myavEj+LOU9bQrqwjZHui7f5xiseTxc2+zzFklIjAREZX165TUKrOMFrb+owGmRJZYOt3SlhU8FbQZAhgq5efgt+nivYMyAdO+tD+bDe0qcZ1bmBTZUVhrGwZZoDM90RkXzlZt5e3x3Hii/rQMR4cUWVXC2MrXccvhs24eVjg=
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Paul Durrant <paul@xen.org>
References: <bf4b3be9-1274-9750-7340-08b29dcecfd3@suse.com>
 <1b974a3e-3ace-fbd9-411f-4493963317b8@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v7 7/8] AMD/IOMMU: add "ivmd=" command line option
Message-ID: <46142ba8-0f41-4c3c-9108-281ece7528ce@citrix.com>
Date: Thu, 26 Aug 2021 15:08:02 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <1b974a3e-3ace-fbd9-411f-4493963317b8@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-GB
X-ClientProxiedBy: LO2P265CA0474.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:a2::30) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 773f8490-7c34-4aa6-76c1-08d9689aeeb3
X-MS-TrafficTypeDiagnostic: BY5PR03MB5077:
X-Microsoft-Antispam-PRVS: <BY5PR03MB50776A6E25087840C060C2C4BAC79@BY5PR03MB5077.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: R1eHvzHeM44rrwelb4+3HKHeLkvpfT7hseS+Tqj/Hm0GgEWvrFLWEgndYOly52JnqO0kHVJSjK/U8IMBNXbrLB/2qTMBvPDwqqXNxRSfUpaKX/ZdUrsU74zdn8zxAlglCIgMxRzEpPisah32ivrP+Y45Kq4ONn0enc8/k7GWcEtY3pNmDdSHGVJ+iJuNWHtf/14JfgUhcdNflOU7uORGqQJTy8K8ZFsdLQW6xdilKO4rGU4PtenWydPr40ek9LrlY81gulmWk4o5jPXlhr09C8G8RFwNgnjNqhQsBCw6JSC9G+bd7LbtWoWqyHomh5aywxHiDhyav6hQktdNU00tZXQ4BJPeHdvbiDqU+NY3qngEUFp/WFVFqV8X7NrS2DvhWUm4We15907v13/fCF+twjs9rdF/vhncfszIr6LX6LrGqtB6FDbAcOqlNpMoJ8ccTn+hKZnXYC35ZuOQWuqBjqSd+iYPAMYs6W5D3P3HOIxMGTED4s8tbDtDQtp+jVkM0dJ3Ka1ZW0EroGYy2pZaORTocMjmH4mgKqe9N0zlgf+C/nZkyDKJPN5hDZmqe0OEF7nm/P/jyLajJpk5Hmn68rc1ptPjXpaloWdUSRuUQP4Sc7oR4gUMP78JOkbKGG6mLiH2IWtLsrasltz1GOVV+LTAbajMRy+vMpMQqYylynvy0uBXa1LDxGRs1O8MyCZd+U4jg9Su8W9dUbI15JIKMS7eW9d2d1lR4m7uZrJU3xg=
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:(4636009)(376002)(346002)(39860400002)(366004)(136003)(396003)(16576012)(110136005)(31686004)(4326008)(53546011)(5660300002)(316002)(478600001)(31696002)(2616005)(956004)(86362001)(2906002)(6666004)(26005)(55236004)(8936002)(186003)(36756003)(38100700002)(66476007)(66556008)(8676002)(6486002)(66946007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NmhreklYSEV2Q3JEV05id3h6Wk1CZURZUmdKUzNTL0xobkVOTlQraktSMEZS?=
 =?utf-8?B?RENVSkNJdWpYcmZIVHVLRUhhTzEreXBNUkVEcENUVzNlMXdxeE83VFc2OVZs?=
 =?utf-8?B?TFBpcmVocmxDNzNNYjB5YlFITXBScnhvY2FzbDh1U0k1aGkxREpHSGdzc2JK?=
 =?utf-8?B?QXgydmk0c0JZODBFZ2g3ZERZaEw0cnB5ek4wOU51SktBV1VEa1VjVXBTbHIy?=
 =?utf-8?B?bHdmZC85bDBoc21IVE1sSXFHUnVlaTIxSHU1SUpVZDJwV0N6WUFucEtRNS9I?=
 =?utf-8?B?S1hVMnpHSGEwQU1oNXdLYkk1UVNBY0NYUjNCcXFhamNEd1BBNXYxUWxjYWJU?=
 =?utf-8?B?dnJtSUpMWkdGRDhOZFoyVnZ1TmYrc0VQNExGS2tzMGlsNC9VRkZHU2RkQlBq?=
 =?utf-8?B?OXUwOVpMdHl1VlF5aXdmMXVZdGZVWEpKQ2tFTUM0NzltZGJSVW9EdVNYQ2k4?=
 =?utf-8?B?WkNuTGpCVmhJVUxFMVFGRHlNcllVTEhMd28reS9XVnVnd2F1ckV6a2ZZUHRC?=
 =?utf-8?B?c0dZVmk5R3J2RmVUYklnQ1lQS1FEdURUYWg0M3N4RFRaM1pQRzlUQ0padCsy?=
 =?utf-8?B?UVdlSGhUVlBsWmFTUFd0N3hWSkdvRW9ldENzeU9SSVpWall3YVdLMmlXSXd6?=
 =?utf-8?B?aWZKY25GWE9kdEtJQk05RmZQc2RneVhQZjJDK21heTNNSml2a2d2TW12WUk4?=
 =?utf-8?B?TkpCWFVudVZYRy9ZaG04anU2YUgxUWgzeitUVlBKa3FrK2dCWFVPOUczd0Rj?=
 =?utf-8?B?azVOSmpGaEtYRHVRTUZNdzNNcFFmM01JOTNhNXo3QUNXaXFLMDBac1pRNnlR?=
 =?utf-8?B?MjJwTE9yWkhKMkYrSnZJN3NGOVlMRU43L1BYNWxPaUJzNzZ2ZVBvaTdHNTNT?=
 =?utf-8?B?a1ErL25FYWNZQVlrdWFDZnVUYVVSTS9kTkI5U2xlR0VaMjUxT0tBemlQY3VK?=
 =?utf-8?B?NjhlWEVPTDRMU0Y0c3ZQTlNyTk1aays5N3NLMmxPa0tpa21pbVgxLzFFS1FB?=
 =?utf-8?B?ejRLbjBlN0h1QkdVTGk1QUZkVkk3OXZCaEpzWDRXb3ZqbG1mQmhCWkxuNzR3?=
 =?utf-8?B?OUNJbHBPZ05tdGxCM0luaW5ObkJCMkZDajJwd2N6WDFqMkc3dlFxZGhiTTB6?=
 =?utf-8?B?YlJxaExuYlBrRTdXZmpkZmJxQlc2ZFNVQlhCN2pFakxzUmFnZWFma2FIQktz?=
 =?utf-8?B?blNnZHBYOHg5YmpCaFVKeHMwTE9VaVBUY2RtWXVOQjlESXJsaUxnTUVFcVRV?=
 =?utf-8?B?dFFlbENmMXpSRERVcUJGUndweGYyQlB0N1gwR0wrOEhuUGJmMWFCdkp2MGpq?=
 =?utf-8?B?UHZNbGN4OEIvU0RQb0FyajBMUDFadTdkZldzUE1wZUFhNjNqemg2UWRrcitZ?=
 =?utf-8?B?MUV4SU9nK2xWQ3h4d0cyWEtGZjFaUU9WQlBtRStVaFZCM1M0RXRCQ2dsQjg1?=
 =?utf-8?B?NTNnRjhsbkdKUnZFdk0wQkpNenhnZkEyYys1NmdldXlMRDkwaUtFVFBsTnZP?=
 =?utf-8?B?QkttdG5kb2k1NmpJeHZtb0YrcWlXa0o4QWEySm5BYW1ET0trQVdKTVE2TFN6?=
 =?utf-8?B?UXB1Uk5KVkFvdXBsc1k1UDNBb2g4aURUZ1JQYlR6M3RYWHd1cXRIMHJqTGM5?=
 =?utf-8?B?R2YrcTNFK0FKMGJnQW9SZS9OcG9VSGt1QlFOUTI1MEl6WGZGRm9uYTllcGJV?=
 =?utf-8?B?MDMyU3FQZjBRK1JBVkJodmhMd3JWNVR5V3ZiN0YrU2dxMG5OQTkwaEJlck1V?=
 =?utf-8?Q?CXH4X1kYbm1ZXQbhqRqZe0xOVOCFszwIRAxoJNU?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 773f8490-7c34-4aa6-76c1-08d9689aeeb3
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 14:08:08.9676
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZcdYBP+zbhN+ZPLwjCgN//GF9wcVBWLpDePsA1v1F4rpCY4ydmoGoj5driHATaniG26r7oYXj9eJ9lZquwZWkbQz/zzNV0AYwh9kGaxLAZk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5077
X-OriginatorOrg: citrix.com

On 26/08/2021 08:25, Jan Beulich wrote:
> Just like VT-d's "rmrr=3D" it can be used to cover for firmware omissions=
.
> Since systems surfacing IVMDs seem to be rare, it is also meant to allow
> testing of the involved code.
>
> Only the IVMD flavors actually understood by the IVMD parsing logic can
> be generated, and for this initial implementation there's also no way to
> control the flags field - unity r/w mappings are assumed.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> Reviewed-by: Paul Durrant <paul@xen.org>
> ---
> v5: New.
>
> --- a/docs/misc/xen-command-line.pandoc
> +++ b/docs/misc/xen-command-line.pandoc
> @@ -836,12 +836,12 @@ Controls for the dom0 IOMMU setup.
> =20
>      Typically, some devices in a system use bits of RAM for communicatio=
n, and
>      these areas should be listed as reserved in the E820 table and ident=
ified
> -    via RMRR or IVMD entries in the APCI tables, so Xen can ensure that =
they
> +    via RMRR or IVMD entries in the ACPI tables, so Xen can ensure that =
they

Oops.

> @@ -1523,6 +1523,31 @@ _dom0-iommu=3Dmap-inclusive_ - using both
>  > `=3D <integer>`
> =20
>  ### irq_vector_map (x86)
> +
> +### ivmd (x86)
> +> `=3D <start>[-<end>][=3D<bdf1>[-<bdf1'>][,<bdf2>[-<bdf2'>][,...]]][;<s=
tart>...]`
> +
> +Define IVMD-like ranges that are missing from ACPI tables along with the
> +device(s) they belong to, and use them for 1:1 mapping.  End addresses c=
an be
> +omitted when exactly one page is meant.  The ranges are inclusive when s=
tart
> +and end are specified.  Note that only PCI segment 0 is supported at thi=
s time,
> +but it is fine to specify it explicitly.
> +
> +'start' and 'end' values are page numbers (not full physical addresses),
> +in hexadecimal format (can optionally be preceded by "0x").
> +
> +Omitting the optional (range of) BDF spcifiers signals that the range is=
 to
> +be applied to all devices.
> +
> +Usage example: If device 0:0:1d.0 requires one page (0xd5d45) to be
> +reserved, and devices 0:0:1a.0...0:0:1a.3 collectively require three pag=
es
> +(0xd5d46 thru 0xd5d48) to be reserved, one usage would be:
> +
> +ivmd=3Dd5d45=3D0:1d.0;0xd5d46-0xd5d48=3D0:1a.0-0:1a.3
> +
> +Note: grub2 requires to escape or quote special characters, like ';' whe=
n
> +multiple ranges are specified - refer to the grub2 documentation.

I'm slightly concerned that we're putting in syntax which the majority
bootloader in use can't handle.

A real IVMD entry in hardware doesn't have the concept of multiple
device ranges, so I think comma ought to be the main list separator, and
I don't think we need ; at all.

~Andrew



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 14:28:08 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 14:28:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173120.315855 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJGMF-0006vD-Eq; Thu, 26 Aug 2021 14:27:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173120.315855; Thu, 26 Aug 2021 14:27:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJGMF-0006v6-B9; Thu, 26 Aug 2021 14:27:55 +0000
Received: by outflank-mailman (input) for mailman id 173120;
 Thu, 26 Aug 2021 14:27:54 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=q24O=NR=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mJGME-0006v0-1y
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 14:27:54 +0000
Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 874c514e-86a7-49cc-aebd-bde59031906f;
 Thu, 26 Aug 2021 14:27:51 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 874c514e-86a7-49cc-aebd-bde59031906f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1629988071;
  h=to:cc:references:from:subject:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=3dvps4dIVGfOnBpA8T7ohguNqF8Q6o1s1xoDROZbWJ8=;
  b=Xx/LcdqFtyNakm401lKor6DhjA37COO/nZpsLzxQaDaoLE8yNkEzXLKb
   GjwOfUBodFjLabPz38M7SBrGyWPSuFQAVU7F9Ypz4b95NQFpSAk8DIl1N
   5Hj1rPaVStcynrWO3Uz0qBIflC9QMY4PtLtytDH78KnVLLIu8jggPn5Nn
   s=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: tYxvixytcE8qAnWZa413qV56ZyXhE64Uh9YRxiTnZbWSNqKH2HaaYflU7wu/2/M51gkXFkU53G
 PPrLdvGNvMYUKcNTaAmqTQTuNhVXApQtl7Tve+si4bRxF15RXy1HCzfu09klKxIpCEU/PJjZTw
 yGzN0GWP6jm+HV0MgABj4vA5F4xGnAx3N//8dQpDhJc1nKlNRhHSr+VpynaJeOhxNlRpowPo7J
 ag6seLwpEYzPQtQlWjpS7r8WYNG0cNKGoOSqgJRp66MD0ZNOBilMIVslNdWFvK/LoQpdb8QKPZ
 qkS0tELeLQI0e36iFBhGTGhx
X-SBRS: 5.1
X-MesageID: 51764416
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:xuW/Q6A3RZrLPWDlHeg7sceALOsnbusQ8zAXPh9KJiC9I/b1qy
 nxppkmPH/P6Qr4WBkb6LW90dq7MAzhHPlOkPUs1NaZLXTbUQ6TQr2KgrGSuwEIdxeOkdK1kJ
 0QCZSWa+eAfWSS7/yKmTVQeuxIqLLskNHK9JXjJjVWPGVXgslbnnZE422gYytLrWd9dPgE/d
 anl7F6T23KQwVoUi33PAhIY8Hz4/nw0L72ax8PABAqrCGIkDOT8bb/VzyVxA0XXT9jyaortT
 GtqX222oyT99WAjjPM3W7a6Jpb3PPn19t4HcSJzuwYMC/lhAqEbJloH5eCoDc2iuey70tCqq
 iCnz4Qe+BIr1/BdGC8phXgnyHmzTYV8nfnjWSVhHPyyPaJDw4SOo5kv8Z0YxHZ400vsJVXy6
 RQxV+UsJJREFfpgDn9z8KgbWAoqmOE5V4Z1cIDhX1WVoUTLJVLq5YEwU9TGJAcWArn9YEcFv
 V0Bs203ocXTbqjVQGdgoBT+q3pYpxqdS32BXTq+/blkgS+pUoJjXfxn6ck7zE9HPtXceg22w
 zGWp4Y3I2mAPVmNJ6VP91xNfdfPFa9CC4kAFjiVGgPK5t3TE4li6SHqondt9vaNaDh8vMJ6e
 L8uRVjxDYPR34=
X-IronPort-AV: E=Sophos;i="5.84,353,1620705600"; 
   d="scan'208";a="51764416"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UvCv9/d2mGBg/9rWtUKcvIjQJzTtQFp1wlB6u0mkFAoN33I9OtALlLCAYXRMXcUwp5XsiyjTujKTQsYOpwHiLPQCVfCNBFWD/MI2ItXbnuYlUEoElnRkJVfvqTBCJYRLLZhCRbkpnctm1edbV55IJtsNZOvNUTuuFguV1U8KwZB59PVqYivuLCYAK2D+So5WacT6OY/D8vXNo+EZa8qt+YXtF7jUVZW6TtNwyNM8Av5bYXdBiDPd2Re2/9MBewBm+TbbKMMFLwoh9xNKnGGo8yi9gQT3oT8TecZm3DPKz83n8llhLy7OZop7ferD1UlLLhp30s/zq4fcebgvk2rOLA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DCvo9tp6pPpG7PWOudbDEPx2JfF8W3LrD2EtNHQFKyk=;
 b=OxsOQ7j72O7tu4TUc1QcxjVTGbtNpK9QaKJ2eYYDkPcX/Ix3g3rmCIhQjz+EHOM1e351vqbSuNXlbAp4uyBp+RYjcTmh2CUmbLPy5sGYTQWMGm3lsJRLY2w5y6aMYU9pUHB1H69eFnZQ4XGnIPNpzMtTG75ZWSoN8FDoAnRdLKRNFz+byFZY0t+6sXWmgbU+B9wD2aNSSYjqyfdVLEmyunrS+HMyTm0JmWXvj72IxpA5Qma7e6TSgjUiMyviXUnwQhDfMgkvxOHPCb48Kp0NB360KVGwKN5M1UmIDoNAnMm0xaLFQd39/3peJucsxc0ifOlq6m1v1XbSCG2CyktZ2A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DCvo9tp6pPpG7PWOudbDEPx2JfF8W3LrD2EtNHQFKyk=;
 b=NxGLudAX4Gb4xMoa7lrkjATK0uJXetf/0r0xDZTBjMu8MMb9P3P35OWN6Py9EE915ccuopls+0W16OB2UQVACkNpsEXTBRbjgnUanjqsx5b+z1Sj+jAemifn7KVtzzrDI1FLz/HSC0JPq1QP09Ve+sOZBIji5xvLFQkc+l7MlME=
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Paul Durrant <paul@xen.org>
References: <bf4b3be9-1274-9750-7340-08b29dcecfd3@suse.com>
 <6807e3ab-375c-884c-db01-0c25f76b8f02@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v7 8/8] AMD/IOMMU: respect AtsDisabled device flag
Message-ID: <ef28ee1d-2d29-2e05-634e-89e882426661@citrix.com>
Date: Thu, 26 Aug 2021 15:27:42 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <6807e3ab-375c-884c-db01-0c25f76b8f02@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-GB
X-ClientProxiedBy: LO4P123CA0087.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:190::20) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 037df359-e2c8-498d-0c22-08d9689dad4f
X-MS-TrafficTypeDiagnostic: SJ0PR03MB5870:
X-Microsoft-Antispam-PRVS: <SJ0PR03MB5870C4AAD9E94F7FC39AD2E9BAC79@SJ0PR03MB5870.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: d/8Nc4UoFZdfrIE3665QmJWxZqquHnTWw0MsBDKbYip/ndKOwUeTw+q1H9DCEk17JIcrm8GQx7RG2PKyYNttKrVkk/DpSGQh5NWup5wmS3MS5LxEbWIYxBijpieUVh7jFISrcfDCGq9U6WoJd53AFOEIp7r52v71z8MI7/6n0J0+qEGwtAIOWNgY3z41no+1X79zCkNAVGh/z8QfIvkVwCjrVYWxpOUbCjso532gMbPWW3p93MTowyydLcjFP/gvV4AlGP9bKWbojQf28OngfvTSWe4A2schGERvQjgFySKbYXYozPTPjxt1P+Hz5kjy+PkkCt0Ake6kAX+EUsQnnQ8+CKm7IJB0mLp1CA2EnhaA7Pzs+H7tKMH4W6+kSDrNqqSC4xRUw0/JrRq7joR5byf1tfne0rsQ0ejFvxiGQFaH987ZZIf8B3rGBrLWN55P2uubrsSHto6u6eK+TldGmrqRVvB9PR1yLjjM2I2DUa/p8w7MjFIlCPW6TOPHoahABWffNDQNA+FqqyolJZYCYFY8yBuvgxa0uZOPBSh9eB7lpe7HHU+7BfsqYKqSS9vdSAWFP1RVvquMfC9zDqIxHDJSnNvTUP6RuVcScOLSolh+5VAzekJRjASGazpJtuDFoWe6jJh2V9eRK93nTsRecuXQSyPKSQLu6s+zwOc1XhYxMaygGjOGoXa0jaBVIRr+NfjfCst8OWB6yXtTAQr3N5EVEkDfvGr/ob1W2MWuNqI=
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:(4636009)(39860400002)(136003)(376002)(366004)(346002)(396003)(83380400001)(31686004)(36756003)(2906002)(956004)(38100700002)(53546011)(2616005)(5660300002)(16576012)(8676002)(66556008)(478600001)(6486002)(66476007)(186003)(66946007)(6666004)(86362001)(31696002)(110136005)(4326008)(8936002)(316002)(55236004)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TWJ5YU1BdWtNUkNlRXJ6TFlPUGpFNUsraUxWQ253MHNyWGIxZ2pNaGRKdDBk?=
 =?utf-8?B?c1VYWWRzdXlIbFlNZzJZdllTOHp4dUxtU1JQS2FZeEFoVitPT1pDR244QlVk?=
 =?utf-8?B?V0pSdU9Rak43RWltTzdKSGRaVzA4RWhROEdTMHVCODlRakZqMnJCVmxrbjB2?=
 =?utf-8?B?NGpLeW8zUEhPQ1FPbllLUUVpZlliUkZhSWZBTEZLVVZHdWFxKy9rUHhyVktX?=
 =?utf-8?B?Y2Y5cDV3blNPaytQM0p5cktUOTFQeG5hL1padkFFTGF6ZnRZQU1Td01NNjFF?=
 =?utf-8?B?b2NwdXRaK09iWkx5R28ySlQxVmw5SlNrVHpDTThwdm9iMWFPZVBPUnorNkl6?=
 =?utf-8?B?L3ZVdUZkWDBpaHZXejloek02dml3RnBOQlRBN3Vodk1BNTd1ME5KckxSeW45?=
 =?utf-8?B?TEdmeGN5cG9oa1ZwanR1Z1ZqL0VZbzViMHFqS3JwQ1lGcEJlcDRYRXFuY0lZ?=
 =?utf-8?B?Y0E2T2FVUWxWWUNwTlpHZXI4STd4K3RrTU03QzBuK08zeElBZGJ6V2pTNXU5?=
 =?utf-8?B?MzhoTHdMUEkzYkRHYkd0VWFpMkw4YVp6M0FtZ2lIQUpaYXVZajRENE9OTkJS?=
 =?utf-8?B?Z05OektiRWxKT1FML2QvOHJWQmFubDIrV2RIL2sxb25JNjZQd1lRNWtnL05q?=
 =?utf-8?B?NkRJYjc1YTQ3VXAvcTRjY1hnVW1SdWJTbTFHbElSVUg5Z2Y2ckNmeTkyZGxx?=
 =?utf-8?B?RmtRZXptWjN5ZkYxTDJJVDJTSUxHMk9qdzg1V0thSTRrbEtGRnZmUVJpODJE?=
 =?utf-8?B?MkNBdkp2dWI4K2lIeGpiYWp3a3JVSFROVnZNL2dOakxxZVozZkhNS1NrSm1Y?=
 =?utf-8?B?NUlxenZEdlFpNG40QjY5TjhseUEyeFRDaFJ4NVBpTHNwVmpZSERzSGJJcmFC?=
 =?utf-8?B?SE80OVNzRWhSa1B0UU9nenNCekVsM0VWS0hROE9YSDJ2ak0vMmxoWUFVdGQw?=
 =?utf-8?B?Mml2UGJ2ZEw0dk1sWURiZHFZRm1ORWlwTHRJdmU1amZXWHFnUDZOamdTWXA1?=
 =?utf-8?B?SllPTGEyVVF4bG5CRnlMTHZJemhSZ00rUmVxZGQvd2hJTmVsV0FUQTM2YURo?=
 =?utf-8?B?NFoxcGRqY0ltYnN1dlVaQy9LeTlFaUVlcHlLYlplNFc3UWxxN0lmQ3cxN1kw?=
 =?utf-8?B?bXpwdUFabllhZXR6aWJ5cE1uNE1hUkc1dFE1clA5UTBTcVdzOFdiUDJpcHgw?=
 =?utf-8?B?WFAwUGxXRHR6T25kVkVJU2NXSDBmS2pDVENYempsYlMzOTZpeWtHTnpZSTBu?=
 =?utf-8?B?MkFOMDhlWCtqc284MjV0T3crWEs4Kyt2bHFRSW92M3ZPWGZoelpaRzloaTBY?=
 =?utf-8?B?bnZra2hESENqck1rM0taeGxoUXBJSk4yeWxuelR1L2Nub1UyRC8vSGpPakZ2?=
 =?utf-8?B?QWJUZ042R21sQVp6bitNbkt2TWZVVzlmMERTZFM1WWtZdU5yR25CZ1FWTXI2?=
 =?utf-8?B?QzlNeElQN0tqUW82UURBdUFJQ0JrRDVHYVJ0aGtSNG9wYXF0OGZCbE5QaS9M?=
 =?utf-8?B?d2d6MG1SUk9GZTh4a2NCQUxYWjlScDl1RVZYQU41MXBXRmt2OGt2U2tHN0U1?=
 =?utf-8?B?dExEbDlpNHRGTjN5bk9uaGVSZGdJb29lVDRBTmlaUFZGcTJNVWNvaU1Sbkti?=
 =?utf-8?B?SkFZUWNWaWs3b1p0Umg2WW1ZekF5QVNweDgyRmIrL0g4eHNlcVRUWlpYdHo5?=
 =?utf-8?B?S0o3aXI4TG80RGNFc0tKWG9RckZYNW40M0QycUliall5MWRLMWloVE5ONDZE?=
 =?utf-8?Q?zd5Yiuds9HhV8NXoiraIIEJBhfVeAJcWQdMYldb?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 037df359-e2c8-498d-0c22-08d9689dad4f
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 14:27:47.8847
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rnDIpVClwccloKQxafRQz9jcNu01vdhjLcuDRT30A/7LfDFj9VdOdUkpF2vB/R1x5SgjK7UU/31DyvJbk0G6GpQ1lElYlK2Bh85c9CbAUUc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5870
X-OriginatorOrg: citrix.com

On 26/08/2021 08:26, Jan Beulich wrote:
> IVHD entries may specify that ATS is to be blocked for a device or range
> of devices. Honor firmware telling us so.

It would be helpful if there was any explanation as to the purpose of
this bit.

It is presumably to do with SecureATS, but that works by accepting the
ATS translation and doing the pagewalk anyway.

>
> While adding respective checks I noticed that the 2nd conditional in
> amd_iommu_setup_domain_device() failed to check the IOMMU's capability.
> Add the missing part of the condition there, as no good can come from
> enabling ATS on a device when the IOMMU is not capable of dealing with
> ATS requests.
>
> For actually using ACPI_IVHD_ATS_DISABLED, make its expansion no longer
> exhibit UB.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> TBD: I find the ordering in amd_iommu_disable_domain_device()
>      suspicious: amd_iommu_enable_domain_device() sets up the DTE first
>      and then enables ATS on the device. It would seem to me that
>      disabling would better be done the other way around (disable ATS on
>      device, then adjust DTE).

I'd hope that the worst which goes wrong, given the problematic order,
is a master abort.

But yes - ATS wants disabling on the device first, before the DTE is
updated.

~Andrew



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 14:30:38 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 14:30:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173125.315865 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJGOr-0008EO-Sl; Thu, 26 Aug 2021 14:30:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173125.315865; Thu, 26 Aug 2021 14: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 1mJGOr-0008EH-Pi; Thu, 26 Aug 2021 14:30:37 +0000
Received: by outflank-mailman (input) for mailman id 173125;
 Thu, 26 Aug 2021 14:30:35 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HXzX=NR=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJGOp-0008E7-LP
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 14:30:35 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 54e8e117-274f-4495-ac94-d0bd8dec416e;
 Thu, 26 Aug 2021 14:30:34 +0000 (UTC)
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur02lp2057.outbound.protection.outlook.com [104.47.4.57]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-35-Z-cG6bEJML6aQVhyY5sXTg-1; Thu, 26 Aug 2021 16:30:32 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4351.eurprd04.prod.outlook.com (2603:10a6:803:49::33)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Thu, 26 Aug
 2021 14:30:31 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Thu, 26 Aug 2021
 14:30:30 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P195CA0026.EURP195.PROD.OUTLOOK.COM (2603:10a6:102:b6::31) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.19 via Frontend Transport; Thu, 26 Aug 2021 14:30:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 54e8e117-274f-4495-ac94-d0bd8dec416e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629988233;
	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=rWfwH9kc6fHt9MLyds0xb2MgFZKMGJezK5n3rnbweMQ=;
	b=jXeqW0QCgM7IK+34lF02klW2Zc8iU0n+48ySXYWhsFzfTqvK7l55dmItO+gyN9YgBXihIh
	sbXgFi9IafIu7L1LUq7Ju8s0U7OF0c7crUNCOMzkFWiUYQDkw6WK0sRAyphLNlk8b71s4z
	tTgLwmKYWc0/+QZ6KsMeqldeAXuRQ6c=
X-MC-Unique: Z-cG6bEJML6aQVhyY5sXTg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gR7BKSCEaWlUP13r51EhAYEoP/paXBFgGq+ra5LVYaClL26hl7SdZ3JRcSX+L2Y4C/ohjxm2shuEUGAUQMFkYVCaeNygMXFwMiZWn3XExPJNJLYfHOhuphIDiO962l3EFKqQd8zlLbxSQq6amBGcedunJI51T2m+/BvJVqSjJobqgaNuApVwpwI1dMwtxE94OrS3Nn8LgcBndjZqniC7++IcQM5cHoFT92QSKrD0IN+GXquqkLZ7xkdJw1mwj/cUmkV1Pvo6p1oWzLd9SY9QDc3KjTt/InERV8eHCuj65QRlmMx/yJf+BS4FN9bqn9nTFm5BqWtsS6GjQXiPAD6nbg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rWfwH9kc6fHt9MLyds0xb2MgFZKMGJezK5n3rnbweMQ=;
 b=JPf1VoEWRDBzQaKTtdkRL5Txk21JgZMUxxLKOYW+YwMRubMeNaHckOrQR9g4DKsXxkfJBoreCE5vlHIAzqfbaNZu77/tjVUkts9WnO0tDgLGgIv9QV+acvm0MqTolkrsqrkfFB+1EHJzkZJKI4gPDzrzhz8yvF85dka7+ZvbNQTBaX9nR7dkT5z4YMjrRUVi3eF8r5EeozmT8ZsRblRU46q9pdTWHY81SIsmk0Eex/qVBi0FSs7VttV3++eZdLoQdXYpTvzhQ96+nWKMxx87vU7lOiAcBWH/dyH/tIj437X4+MzBpJr8WGTuUUOJIry7bsq+MXtHY3pYrB0nKGXdPQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v7 7/8] AMD/IOMMU: add "ivmd=" command line option
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Paul Durrant <paul@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <bf4b3be9-1274-9750-7340-08b29dcecfd3@suse.com>
 <1b974a3e-3ace-fbd9-411f-4493963317b8@suse.com>
 <46142ba8-0f41-4c3c-9108-281ece7528ce@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <a1b4e18c-f4e8-a67f-6860-6c65f62d7a53@suse.com>
Date: Thu, 26 Aug 2021 16:30:27 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <46142ba8-0f41-4c3c-9108-281ece7528ce@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P195CA0026.EURP195.PROD.OUTLOOK.COM
 (2603:10a6:102:b6::31) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: fb9095dc-f231-4a84-d367-08d9689e0e7e
X-MS-TrafficTypeDiagnostic: VI1PR04MB4351:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB43512D7D1C15F7B5435E368DB3C79@VI1PR04MB4351.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	43jBM3+qpQjtocmG0Hoeh8kotenM/FdVQ/VD4bEsNXcZdIL5GiaOIGVn792effAc3cfb2PRUF6RCNqB8T/8U7djFlcboWi+WO4Auxs+Elt/t1kNBUWjEkIXcnmmPpy+QlSQL66iO1N7nLRhbERzKpU+9839vDnmamDGImqd1qrEclFe6/FFVABKkHhd1jWxD9Je6CKfVkWHL7c0fjm9WdFC5ihkADqU7PAfXX50/lZu5QaKE1IuYORBlmOeyJrAA/JFjFqCcZ5FnXh0saCqhqsnBHc+z9CbFcEpnsuVkjZkIFXtaPtfbMHN+29glQWkTGFfEChomK8XcabAhrYfl+5mlaF2IKiFupJRSvLs1ny0DXpaQhlkrTdFV7R91/iCRNtVTgfjXUtLHU7SqzDIkiKMPObXLSUJkHs85737v1yVxa0sPXFXhoZa+Jas3pE0AZiGUJVaPvh9obgureucjPCBG4KIhbOaABFvN4a3ijz0ywrAO5zeSitaK0RM6GoC1XmMNnjKnyZFRbmJzFVNAYmKMiavo3sOssAqt5DDH8PmVHYQXo7eNB7Vy2nAFp2rPw/8t7rDSn2dn/cXr0CAVjwKdv9WupGNuWugAQbEGViKAQURvufDfhPrxEu8TD/ZV2t7b68Dcx8VDhh5CVDMGASkuqdIxnzcOzbNrVCMO4OQIUIaA/gzQ0IFH4yIzou/eqxSS54V3aI2UUIvBWICf4zLSEnO3WuH6+tZl5f4Vvlk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(8936002)(508600001)(5660300002)(31686004)(36756003)(6486002)(38100700002)(66946007)(6916009)(16576012)(316002)(2616005)(956004)(53546011)(8676002)(66556008)(66476007)(4326008)(2906002)(26005)(54906003)(186003)(86362001)(6666004)(31696002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OWNiUWtncXgzRC8xQ2pJSGpzYWo3akhaMWRiNUI0Um56Zng1L0VnOXpJVjEy?=
 =?utf-8?B?UmVzckVzYi9RN0pUQXY5ZGFzbWVQakRBZnZoY1dqeWdmMkVPTFp3cldJa00z?=
 =?utf-8?B?WW1FUE56ZDE0VWZxMGRtQ3J1aTZUaThZbmJVKzdDTzNTOUI4VytGUTUxN0Mr?=
 =?utf-8?B?SXBnQ0JvUkt0Z1J5WkFseWpuc0p0T2Z3Mnh2Uzd1blBnbG1NZ1RKcWlmUTJx?=
 =?utf-8?B?dkRwNjVaYzgvN1pTOCtVZWpKMjg0c05jNVQzTFFzRHpWcUtHRmg2ODdJdUQ2?=
 =?utf-8?B?TUJiQTBkN2w4bzkxTWZDdGZ1clR1MitPY2s3T0pEK3lKRW5aTVhxbkEwQmFv?=
 =?utf-8?B?Wlo4THRwTGlKOTZnNGxmbjhYak1ZS0p5ZVlDNUt6K05TQjNKVkkxZG85R0VK?=
 =?utf-8?B?WnE5OGZGci9NSnhuOS8wTWhaZFg4MGplaEVkQTJlVHRmS1RPR2hEN3NxVEwy?=
 =?utf-8?B?dFB3NmZ3Y2dVQmdNRzRKSnFuWEwxK1Rrbk51MktyYjFUWTZld0tuRmt2Vk1u?=
 =?utf-8?B?V0FueVB1aUJVakNsYklWWE9VZlFyUWxJL3VMaXlyMitYcy9qc0ZLZjZScVQ1?=
 =?utf-8?B?U3pFT1JzcDF0NjJQMHlEK3VKTlJ2NjdOU3c1dGJGYlUzUjJsaUtDUGtBZUgw?=
 =?utf-8?B?TEVsbC96cmpCMmlwbjJhVno0bzVjNmptR0JuaUlEQjByNHo0QitYc21tNE1p?=
 =?utf-8?B?RzcvNmk2QUQyWUtKbHliNGIzdkYvSk56ancwcVN2Qld5QW9vYkpSVXRGK1pC?=
 =?utf-8?B?MWh6OTIwN1ZiQktXVnp3aW9wNitDVklMU1NPZHNPeXFQeXNlcmovOEFJT21K?=
 =?utf-8?B?Mk5ORjVhTUd1OWgrRURMaW0rTnZXOUNyOGhFYlp1dS9TVFpYM08wc0xjeUhn?=
 =?utf-8?B?eTZyWWJNcURHOW1DbllFakFPUVoxYXZjOGFwRno0T0pMTVV4b0YrYnZpcFFa?=
 =?utf-8?B?NFFuL3hSSnU3Rno1eXJQRTUzbHpXa05lcTF6dmNWaGtzSUV4WENCczZrMDNy?=
 =?utf-8?B?QndwOUEwZVlXSHR2dTZXWStEU0FDWStLdGhxOU5oWWZKVXBHakZlUVdwaE5h?=
 =?utf-8?B?YUhmVEJTNXRReDljSDlhSXJtd3cyeHdtL2xxTlE0MVdLTGhyT2g5QktGUkZy?=
 =?utf-8?B?SGR5eG04bzgwM0xvMVRMWUx0ZnBtYkRNOUJiYlpWVUpUYVhTMElLd056S0Zh?=
 =?utf-8?B?N2c4QVBKYnhGb2JiWlZPL2FlUjd6SWluSC9vM3NYTTJSZmdxQXpsSlFqUzdE?=
 =?utf-8?B?bUM4OFdDTjZreTlhVEdmbzI0MGZRdmhCSjVxd3owRTFZYXhCdmVpWU5EZmxZ?=
 =?utf-8?B?TFBnSXJidHM1TllNcVJZSDBrckRMc3R4VG9mRmFoTUJYY2JBMElSVnpXaHB5?=
 =?utf-8?B?Wll5ZW4rNjZDVk9ZbW9wa0JBVTlMZTk5M3l5bWVKYWhZRVhlSlZkVjA0LzM3?=
 =?utf-8?B?aEtUbnB0cUl4RmNLVU9qY2J5YlA1R1ppZDhKK01mQzBDRGgwTnhreGtNbm4r?=
 =?utf-8?B?Y0NQTS9pVUMwSEZvcUpBVmJYRTJRV0t4NzVkZzdSOFJQYmExdEgwbDNpSUVk?=
 =?utf-8?B?QXA4NHZBOUVYWU5MenlORk95QjZkWHZsTGZwYU93ZlpYbGpMOVk0OTFhZkVI?=
 =?utf-8?B?UUgrRkw1ZFpuZEs0Z0tIRTJTL0p1YVpoZkYxWVVWL3BmU3RpV2xjWHZOWGFu?=
 =?utf-8?B?aTY4T0IzZHVmYlc4QlhuZHZidmhDRWRhc3ArRitNakZOaW80M2ZYQk96WU1O?=
 =?utf-8?Q?OGk1j7dmOIZcwYhiGE8POufzrIxb13BNngReb4f?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fb9095dc-f231-4a84-d367-08d9689e0e7e
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 14:30:30.8279
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: FEMeO3GWKLJPSnrrijiYpMbAZoJ9FH5z8Tr3MtgAw0m4AbelCZ0CHVOIcJQqqbn4nP7FqFh0qn1TFA1lEGuWqw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4351

On 26.08.2021 16:08, Andrew Cooper wrote:
> On 26/08/2021 08:25, Jan Beulich wrote:
>> @@ -1523,6 +1523,31 @@ _dom0-iommu=map-inclusive_ - using both
>>  > `= <integer>`
>>  
>>  ### irq_vector_map (x86)
>> +
>> +### ivmd (x86)
>> +> `= <start>[-<end>][=<bdf1>[-<bdf1'>][,<bdf2>[-<bdf2'>][,...]]][;<start>...]`
>> +
>> +Define IVMD-like ranges that are missing from ACPI tables along with the
>> +device(s) they belong to, and use them for 1:1 mapping.  End addresses can be
>> +omitted when exactly one page is meant.  The ranges are inclusive when start
>> +and end are specified.  Note that only PCI segment 0 is supported at this time,
>> +but it is fine to specify it explicitly.
>> +
>> +'start' and 'end' values are page numbers (not full physical addresses),
>> +in hexadecimal format (can optionally be preceded by "0x").
>> +
>> +Omitting the optional (range of) BDF spcifiers signals that the range is to
>> +be applied to all devices.
>> +
>> +Usage example: If device 0:0:1d.0 requires one page (0xd5d45) to be
>> +reserved, and devices 0:0:1a.0...0:0:1a.3 collectively require three pages
>> +(0xd5d46 thru 0xd5d48) to be reserved, one usage would be:
>> +
>> +ivmd=d5d45=0:1d.0;0xd5d46-0xd5d48=0:1a.0-0:1a.3
>> +
>> +Note: grub2 requires to escape or quote special characters, like ';' when
>> +multiple ranges are specified - refer to the grub2 documentation.
> 
> I'm slightly concerned that we're putting in syntax which the majority
> bootloader in use can't handle.

This matches RMRR handling, and I'd really like to keep the two as
similar as possible. Plus you can avoid the use of ; also by having
more than one "ivmd=" on the command line.

> A real IVMD entry in hardware doesn't have the concept of multiple
> device ranges, so I think comma ought to be the main list separator, and
> I don't think we need ; at all.

Firmware would need to present two IVMD entries in such a case. On
the command line I think we should allow more compact representation.
Plus again - this is similar to "rmrr=".

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 14:33:40 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 14:33:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173131.315876 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJGRl-0000g0-BR; Thu, 26 Aug 2021 14:33:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173131.315876; Thu, 26 Aug 2021 14:33:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJGRl-0000ft-8G; Thu, 26 Aug 2021 14:33:37 +0000
Received: by outflank-mailman (input) for mailman id 173131;
 Thu, 26 Aug 2021 14:33:36 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HXzX=NR=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJGRk-0000fn-78
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 14:33:36 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 96fa7e87-067a-11ec-aa16-12813bfff9fa;
 Thu, 26 Aug 2021 14:33:35 +0000 (UTC)
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur02lp2059.outbound.protection.outlook.com [104.47.4.59]) (Using
 TLS) by relay.mimecast.com with ESMTP id de-mta-7-7mh0eztUP1mQRIUqjcf4EQ-1;
 Thu, 26 Aug 2021 16:33:32 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4351.eurprd04.prod.outlook.com (2603:10a6:803:49::33)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Thu, 26 Aug
 2021 14:33:32 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.017; Thu, 26 Aug 2021
 14:33:32 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM9P195CA0012.EURP195.PROD.OUTLOOK.COM (2603:10a6:20b:21f::17) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.19 via Frontend Transport; Thu, 26 Aug 2021 14: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: 96fa7e87-067a-11ec-aa16-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1629988414;
	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=FKomc0gOOeog6f4TbOaHv8w1grUrr7hsGPuPJt0oTz8=;
	b=AjzH7KwB49i41HYPaCVxLzdOFbm5BePqQhkG+he8gOskucy0zNzbFu984nJAxvTt8UcjQ1
	9praFyETXQmcqWEDr74So6aOKR3bfLjbU98tru4rEFVzeW6Ss3NVhDOUJEGSzOOLHmEgTr
	DqIShNBX2wfFxuw6s9G+2mRoqc6qDgY=
X-MC-Unique: 7mh0eztUP1mQRIUqjcf4EQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=A8tJBMNaKkAV0lwlrpT8GaStOMJagWHhDKprmmyw1WendinXY+mDiJDrS6QkC3WPhrdfbKVj12Nmz/oEvAvJoayKhImLm65BnbvLTcu3aIoJlYqMJGRdqS3H0D5E4akqNN2IE74nuXFVgxp/xvc3jkGsTJlfgO1jeVLdssORw/LNveourml6L6giitWhZrcVD5e1ek3bbshMxOeAhupetStCdgxgsOuRtAnpCL9iWh/E01aWbKnt1mBBlKapgrBbJgN2M1cRj6uGKoFhg5aY4a+LD8QLzNHp7GcxBhefWA1SN7Ga542GPFnSuAuLPV0bS8JIN9hlYB7ilUKtsZQyNQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FKomc0gOOeog6f4TbOaHv8w1grUrr7hsGPuPJt0oTz8=;
 b=fEU2kXZw5dTsmid8a4M4kONb8oSEDfKIjW5r6enghSKnoNYVVesIWLmuRmBKp+ryeWd8D8D4yRG3t89JZW6UE+Bq8hQA08h1Sh2E0WauzEwmEZiosNfc7nscZQtredxHTtgLArSVbuzD6axYPRYK4Gu5Gh8f4aB/8hJCCZz9uJI8dyYVzKsPhacpPBGw6DVUrxgD58JxIaz/GHAzyWV2I7lObdi82X0BZpmi8WpS1WdU3CogsEl69Zgjnu++8uMaQms14WKePpiVyuUVBhdmIzl3WzZcxB+iZOrZIDl4CeYw927cxK0g3wEqS8tevHys1aLlyCSl3CLGSARw6IC3iA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v7 8/8] AMD/IOMMU: respect AtsDisabled device flag
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Paul Durrant <paul@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <bf4b3be9-1274-9750-7340-08b29dcecfd3@suse.com>
 <6807e3ab-375c-884c-db01-0c25f76b8f02@suse.com>
 <ef28ee1d-2d29-2e05-634e-89e882426661@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <168e7c6e-fa95-a2dd-08bd-e4c64c03afbb@suse.com>
Date: Thu, 26 Aug 2021 16:33:29 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <ef28ee1d-2d29-2e05-634e-89e882426661@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM9P195CA0012.EURP195.PROD.OUTLOOK.COM
 (2603:10a6:20b:21f::17) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 6b709326-9fca-4390-6a49-08d9689e7a8b
X-MS-TrafficTypeDiagnostic: VI1PR04MB4351:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4351A52B9F2F84428404F302B3C79@VI1PR04MB4351.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:2733;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tee9F5E0tOmQSlj0b7YG9eHSvX8fUZSfEwPUGZkf+gY/PbxSbYTTfw6uCmTwZwVSBaGqMbjeCQFSZnP/vysnUinaQnx1JpSuy1gXOeo/YDOxkAAOFC9saLgqoIL7HZlhbkEvT04c42qrw4xbPaIrNoL0mwu2DnUQNMe2KnxrMBmIS0bV7j7BZJqeVlgz59UOo+OUDR9sQIDRNHCe4U+WoVPf2zouCFCUVljbpbpdBDCe/3fHAuFBhmNcrFz3T9CeX+5pWVnVH1vPjvEDGqXlDtpS74GppkQ/ej2tIe1JsWaSA6v14n9CYPnLWObUw77oBoeg0jtCHoHXxZXIAKWx2BHE7T3IiPjc0DoZOMiZ66gF8KC5umPSnUIM4XH80peg3P19DA6Vhu16IOf0ydEWyHNMBezLkSG2KAN+e7OTC0iOJ+kSCBqsvmXiZNeB/JbpbzSKCotrj7TndPOTcsfEqhvkaQz380wSui0+mFvqm/1WUZSrzWV3DVNMBjvQpk30ZDdkDqFuG7Y43gsJjJ+FrxViHT7lSTbVLFvsMSOuy+y42hTNZxHNfM3BF8EQaIDVCWH/FsT2JJAGoBTL1IoQ44KHWvP9EDyIsMfYXfzR+ezfSmiJ8Sa+KqK1WsjhMQnzrAVf04SrJncMy0U1tlF9z0pwHlmpX8RfBVmyANkPRNBERg+d/CrybgSkORRYIIXaVD35Q1UL5tczw2W05im5njNZTnftKZKMPaNXfy/N0q0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(8936002)(83380400001)(508600001)(5660300002)(31686004)(36756003)(6486002)(38100700002)(66946007)(6916009)(16576012)(4744005)(316002)(2616005)(956004)(53546011)(8676002)(66556008)(66476007)(4326008)(2906002)(26005)(54906003)(186003)(86362001)(31696002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Y2lObW5FR0tMVzVVU1NsZU5zZXJ1M2cxellXeWF2N2ZDRC9TY0pLcExwMmtj?=
 =?utf-8?B?VkFNcGg2eUExMjB6TmNnbWU3OTFxREZFa1JHTjIvZTJYZDRmaWdOdjYwZmg0?=
 =?utf-8?B?WXJ3Sm1oUUNhYTZBekdNOGpISFFSb091OW9PUW1mK2w0WmlaNktEZzhKUE5H?=
 =?utf-8?B?T1ZyYTNhWDgzMUI4TXcvRUdiU28xbTArOXFLT0lzYTZOaGtMUVlyc3k4MGNp?=
 =?utf-8?B?Sjg4TFJaaGJoU3p0Ykhka2d1bitNdSt5aEFIdnVWaUdsSXJlSUtMNy9nNUVC?=
 =?utf-8?B?djlMbkxyWGdCTENUcmNFMmQzZy81bTFNQ2pHWUREbFcxb2dVa2E4NVhqQXRE?=
 =?utf-8?B?VmZqeGxURWxIVkVIQ0gxN0xOVzRiNmdrQjhPQkI4NmFlZ3BueXNMdWVVTGR1?=
 =?utf-8?B?UHlHSEdqa3JuM0xOZUs4ak5MOWx3OWNHbTZSMitJNzc5Q0xDOHU5eVBQRGc4?=
 =?utf-8?B?V2ZIalB1MWh2S1dYTlUxdHlTT0JtTDNLSmplUmdSK0NLYTl5QU53Y0x4SFBi?=
 =?utf-8?B?UFE3Zi9uWUtGNmcrZUdWdVA1SzdJeHBBUlNqa3kyZUNuWUdyOUtxT085Z3lR?=
 =?utf-8?B?cVpENVVBZFdyTHU0QmppZjJ2QkttTTJjd0NKUGYyTHBYWXVxSERFLzhOSytx?=
 =?utf-8?B?Ryt0MWlwODJlQ3VCS2h1aXU5b1RKY2Y5YTJQRnYyT2ZlQjZSclYydXpUU2cw?=
 =?utf-8?B?RHZURCsxaXFBK2J6VkFVWFBDYkpBQzV2c2diU3RUMi8vOHQ2UU5zaEl3ZTdz?=
 =?utf-8?B?eDJCTU9mUDVteHRaK3dJdm4rQndNTXVnTmtLU1pRWlJPbVJLcTZ5VnhPNUN5?=
 =?utf-8?B?MVJyVGVrMDBlZHp0UHZhQmlrYU8xNWhxUVlwNHQ3V2RmNk9ISklwdzlVOFJl?=
 =?utf-8?B?cWluQUhMcXBwZGNxZ0MvblZURHR2NHZKMEs4TUs4eFZDNVd2RnhsQ05WWWNv?=
 =?utf-8?B?NjRPR2pOQWlOTjYwMmdXNVVGcnE5cjhhU2dMTlhiZDV0VHJzdmx4S29mNzRx?=
 =?utf-8?B?U2FOeklWMFM4SmdwVnd3aU9ZVG1LSStaZ2svU2o2Q2Q4Y21EaURGVktRWEdj?=
 =?utf-8?B?MzNsSGZhdnpyWWdEM2xJUi9vTFE2K25HT2ZZRTRTTjZ2ZXBsUE9rSEZ1c01X?=
 =?utf-8?B?WTlvWDBseVZ2SHhwMHUrR1ROdEN6dUVnaFdPYk0vNnBNcFQ4K3IyTUxFSUdX?=
 =?utf-8?B?R1hGVXZEY3VpSGY1N1gzck5WdTJ2Ni9LbXdYaW5aNlk1Q3I5SHpGYk1wZlox?=
 =?utf-8?B?REIvUWxiZzZJejN4MXJmWGY5NFRKNmt2N1o0azJFdk80cDlWY0pyL3YrK1VU?=
 =?utf-8?B?c0dFK3kycnlpVmdTU0IvS3JxSXdwV0dMdGpQb05ySjVxQ0tsdHpyM1JDOW5I?=
 =?utf-8?B?K1FnZVJhSWhGNndSS3VaUDRnOXdnUVdNYUx1anFsMkIzSVFCaWMyUktNZnp3?=
 =?utf-8?B?Q1RLMjhrR2w1bFAvUnZKc2R5dmdDbjdNWFYveFRJTEF6MDg0S3NOeDU0Uk4v?=
 =?utf-8?B?Y3paNzJrb3E2djU3QThjMEtXVU0zdlN2QmtKTWltdThKSlF3aWlIakpPN1U2?=
 =?utf-8?B?MTBtdnhYWlFrOHhJVytSb0NCUUpibWpqYmRDRm5PemgxWVRQMjJjOHA1VGdV?=
 =?utf-8?B?TlMzWE5yNGREWFRKdHhKNk1DK3J0UFBvZ3RnVVMyZ3BXaEtSZnpGZUdLNkNx?=
 =?utf-8?B?QmRKSXRCZHU3VDdXYXk4QWlmOWo3QUltdTVnK0N1dnMvSDFIWFVja0V2enJP?=
 =?utf-8?Q?IjzY6IcwFhM+EI8Q5+E2+A4oSWfYwbUEC6qSx4F?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6b709326-9fca-4390-6a49-08d9689e7a8b
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 14:33:32.1203
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: BwlgzByZtNSahBkbuFbjboiav2dqOvdRwLUh2NbsWZui2139YoQgqSCmf7sYLwgAdqF0Q8wA9tH9kkvR3OfOMg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4351

On 26.08.2021 16:27, Andrew Cooper wrote:
> On 26/08/2021 08:26, Jan Beulich wrote:
>> TBD: I find the ordering in amd_iommu_disable_domain_device()
>>      suspicious: amd_iommu_enable_domain_device() sets up the DTE first
>>      and then enables ATS on the device. It would seem to me that
>>      disabling would better be done the other way around (disable ATS on
>>      device, then adjust DTE).
> 
> I'd hope that the worst which goes wrong, given the problematic order,
> is a master abort.
> 
> But yes - ATS wants disabling on the device first, before the DTE is
> updated.

Okay, I'll add another patch.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 14:55:50 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 14:55:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173139.315888 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJGn3-0003QQ-At; Thu, 26 Aug 2021 14:55:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173139.315888; Thu, 26 Aug 2021 14: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 1mJGn3-0003QJ-7o; Thu, 26 Aug 2021 14:55:37 +0000
Received: by outflank-mailman (input) for mailman id 173139;
 Thu, 26 Aug 2021 14:55:35 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=N7uG=NR=kernel.org=helgaas@srs-us1.protection.inumbo.net>)
 id 1mJGn1-0003QD-PF
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 14:55:35 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 55f750d0-3916-40f5-ac2f-81514338624b;
 Thu, 26 Aug 2021 14:55:34 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id D94A96101C;
 Thu, 26 Aug 2021 14:55: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: 55f750d0-3916-40f5-ac2f-81514338624b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1629989734;
	bh=UKJS1cOd02Ddnmw4HSAbPO9ty7+FuE9mYmbqhW2BgdI=;
	h=Date:From:To:Cc:Subject:In-Reply-To:From;
	b=GfQUu/MyP9KfTsnCowUfO2udgb+kQAl4eiNB+g9dqGuAQ2T2pr99Z0rsgeQKQDcFz
	 DWrNNvo1V/yHJ4MD5CtgZWSoqduAFQL5vaGYs6pCFES54TwCVAXnZqTGut703Z9drf
	 l0RLpX/vAx0Ev9QnbNYMjCO7smxhu9eccooMqVDmNE5nO8JzbozEJiXwlEW+E1X3Cw
	 +BJ/irVkG3VzTZ3cCs79gM6XzcL5J43tiIYEjWrka+1mmrxsTFPbsnxobosBzUn4iI
	 xj40f1yst01uWoG3x8A5+rnb4m+p2eGTtQlidGRE6ALffdmcbWnoNbUMisltC4Rd8i
	 vhJR+0bQaOuCw==
Date: Thu, 26 Aug 2021 09:55:32 -0500
From: Bjorn Helgaas <helgaas@kernel.org>
To: Marek =?iso-8859-1?Q?Marczykowski-G=F3recki?= <marmarek@invisiblethingslab.com>
Cc: linux-kernel@vger.kernel.org, stable@vger.kernel.org,
	xen-devel@lists.xenproject.org, Bjorn Helgaas <bhelgaas@google.com>,
	Marc Zyngier <maz@kernel.org>, Thomas Gleixner <tglx@linutronix.de>,
	"open list:PCI SUBSYSTEM" <linux-pci@vger.kernel.org>
Subject: Re: [PATCH] PCI/MSI: skip masking MSI on Xen PV
Message-ID: <20210826145532.GA3673811@bjorn-Precision-5520>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20210826134337.134767-1-marmarek@invisiblethingslab.com>

If/when you repost this, please run "git log --oneline
drivers/pci/msi.c" and follow the convention of capitalizing the
subject line.

Also, I think this patch refers specifically to MSI-X, not MSI, so
please update the subject line and the "masking MSI" below to reflect
that.

On Thu, Aug 26, 2021 at 03:43:37PM +0200, Marek Marczykowski-Grecki wrote:
> When running as Xen PV guest, masking MSI is a responsibility of the
> hypervisor. Guest has no write access to relevant BAR at all - when it
> tries to, it results in a crash like this:
> 
>     BUG: unable to handle page fault for address: ffffc9004069100c
>     #PF: supervisor write access in kernel mode
>     #PF: error_code(0x0003) - permissions violation
>     PGD 18f1c067 P4D 18f1c067 PUD 4dbd067 PMD 4fba067 PTE 80100000febd4075
>     Oops: 0003 [#1] SMP NOPTI
>     CPU: 0 PID: 234 Comm: kworker/0:2 Tainted: G        W         5.14.0-rc7-1.fc32.qubes.x86_64 #15
>     Workqueue: events work_for_cpu_fn
>     RIP: e030:__pci_enable_msix_range.part.0+0x26b/0x5f0
>     Code: 2f 96 ff 48 89 44 24 28 48 89 c7 48 85 c0 0f 84 f6 01 00 00 45 0f b7 f6 48 8d 40 0c ba 01 00 00 00 49 c1 e6 04 4a 8d 4c 37 1c <89> 10 48 83 c0 10 48 39 c1 75 f5 41 0f b6 44 24 6a 84 c0 0f 84 48
>     RSP: e02b:ffffc9004018bd50 EFLAGS: 00010212
>     RAX: ffffc9004069100c RBX: ffff88800ed412f8 RCX: ffffc9004069105c
>     RDX: 0000000000000001 RSI: 00000000000febd4 RDI: ffffc90040691000
>     RBP: 0000000000000003 R08: 0000000000000000 R09: 00000000febd404f
>     R10: 0000000000007ff0 R11: ffff88800ee8ae40 R12: ffff88800ed41000
>     R13: 0000000000000000 R14: 0000000000000040 R15: 00000000feba0000
>     FS:  0000000000000000(0000) GS:ffff888018400000(0000) knlGS:0000000000000000
>     CS:  e030 DS: 0000 ES: 0000 CR0: 0000000080050033
>     CR2: ffff8000007f5ea0 CR3: 0000000012f6a000 CR4: 0000000000000660
>     Call Trace:
>      e1000e_set_interrupt_capability+0xbf/0xd0 [e1000e]
>      e1000_probe+0x41f/0xdb0 [e1000e]
>      local_pci_probe+0x42/0x80
>     (...)
> 
> There is pci_msi_ignore_mask variable for bypassing MSI masking on Xen
> PV, but msix_mask_all() missed checking it. Add the check there too.
> 
> Fixes: 7d5ec3d36123 ("PCI/MSI: Mask all unused MSI-X entries")
> Cc: stable@vger.kernel.org

7d5ec3d36123 appeared in v5.14-rc6, so if this fix is merged before
v5.14, the stable tag will be unnecessary.  But we are running out of
time there.

> Signed-off-by: Marek Marczykowski-Grecki <marmarek@invisiblethingslab.com>
> ---
> Cc: xen-devel@lists.xenproject.org
> ---
>  drivers/pci/msi.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
> index e5e75331b415..3a9f4f8ad8f9 100644
> --- a/drivers/pci/msi.c
> +++ b/drivers/pci/msi.c
> @@ -776,6 +776,9 @@ static void msix_mask_all(void __iomem *base, int tsize)
>  	u32 ctrl = PCI_MSIX_ENTRY_CTRL_MASKBIT;
>  	int i;
>  
> +	if (pci_msi_ignore_mask)
> +		return;
> +
>  	for (i = 0; i < tsize; i++, base += PCI_MSIX_ENTRY_SIZE)
>  		writel(ctrl, base + PCI_MSIX_ENTRY_VECTOR_CTRL);
>  }
> -- 
> 2.31.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Aug 26 16:33:13 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 16:33:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173145.315898 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJIJH-0006YB-5I; Thu, 26 Aug 2021 16:32:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173145.315898; Thu, 26 Aug 2021 16:32: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 1mJIJH-0006Y4-2D; Thu, 26 Aug 2021 16:32:59 +0000
Received: by outflank-mailman (input) for mailman id 173145;
 Thu, 26 Aug 2021 16:32: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 1mJIJG-0006Xu-Am; Thu, 26 Aug 2021 16:32: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 1mJIJF-0001LP-Q9; Thu, 26 Aug 2021 16:32: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 1mJIJF-00044G-IG; Thu, 26 Aug 2021 16:32:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mJIJF-0003gg-G2; Thu, 26 Aug 2021 16:32: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=acyys4IjpgMQNjFdXg5/5TVzmz8U+mco0Sf6EfXwQms=; b=A6dqtsDMJLrlKMhuczfuN2U34x
	CPQsytko5nbKnQzezN1lUkjUVTBAobmBf+/pbzl6+ZX3Die+Nar/BNFVfcpdqesbvw0jDcq4UlLhD
	n4nYuNLIEuBZlH0jTacI+4EGjjVI2EoTqMEuhP5iUQURnheMWxTz0X+v3gkNp7F57Vt8=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164486-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.11-testing test] 164486: regressions - FAIL
X-Osstest-Failures:
    xen-4.11-testing:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    xen-4.11-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    xen-4.11-testing:test-arm64-arm64-xl-seattle:xen-boot:fail:heisenbug
    xen-4.11-testing:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-4.11-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:nonblocking
    xen-4.11-testing:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.11-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.11-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.11-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.11-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=ec4654ce64d87f14567008cfb42568fd434f1bed
X-Osstest-Versions-That:
    xen=ef32c7afa2731b758226d6e10a1e489b1a15fc41
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 26 Aug 2021 16:32:57 +0000

flight 164486 xen-4.11-testing real [real]
flight 164502 xen-4.11-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/164486/
http://logs.test-lab.xenproject.org/osstest/logs/164502/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 162548
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 162548

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl-seattle   8 xen-boot            fail pass in 164502-retest
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 164502-retest

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-seattle 15 migrate-support-check fail in 164502 never pass
 test-arm64-arm64-xl-seattle 16 saverestore-support-check fail in 164502 never pass
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail like 162548
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail like 162548
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 162548
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 162548
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 162548
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 162548
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 162548
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 162548
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 162548
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 162548
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 162548
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 162548
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 162548
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-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-xl-pvshim    14 guest-start                  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-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-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-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  ec4654ce64d87f14567008cfb42568fd434f1bed
baseline version:
 xen                  ef32c7afa2731b758226d6e10a1e489b1a15fc41

Last test of basis   162548  2021-06-08 18:37:00 Z   78 days
Testing same since   164486  2021-08-25 14:05:55 Z    1 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>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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-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                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         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-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 450 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Aug 26 16:37:01 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 16:37:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173151.315913 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJINA-0007B1-Kc; Thu, 26 Aug 2021 16:37:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173151.315913; Thu, 26 Aug 2021 16: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 1mJINA-0007Au-Gl; Thu, 26 Aug 2021 16:37:00 +0000
Received: by outflank-mailman (input) for mailman id 173151;
 Thu, 26 Aug 2021 16:36:59 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yDkH=NR=invisiblethingslab.com=marmarek@srs-us1.protection.inumbo.net>)
 id 1mJIN9-0007Am-7U
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 16:36:59 +0000
Received: from wout4-smtp.messagingengine.com (unknown [64.147.123.20])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id d497b41e-068b-11ec-aa2f-12813bfff9fa;
 Thu, 26 Aug 2021 16:36:58 +0000 (UTC)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.west.internal (Postfix) with ESMTP id 919A33200908;
 Thu, 26 Aug 2021 12:36:56 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute3.internal (MEProxy); Thu, 26 Aug 2021 12:36:57 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 26 Aug 2021 12:36:53 -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: d497b41e-068b-11ec-aa2f-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=yYEwwc
	i3uRQTQkaHdsGqHyiBUeZ/HRPtYaMLjP83/ls=; b=Wsl4PzLBjpQXqnxAyO2evN
	pekTtCakPJXg5dJQrepGgvbetDDR60jbcdqhtXY1DzAubc6bOqm3UNSXxm6cSse4
	+YLG50XE7JOi8nI9p04FPKfHUtZ8i2MU9F4xSHZR4fXAyc0WVn1NaIYM2hXPulgp
	YdA11bcy3V9Kn0Y7JajcPohPwpGnZhaWo4jIyvpo/L9iCX3vTq5rJ7lASkJz0xZ9
	wJ3/GXgKdOY7bLXGAYaQkr4t50xOoAco7GpXYxv8KltZ2uvlNApibO/vFqZBn54g
	uVuuejinOT5qBG7XsokzmznF/ZGqLahPcWZnej3qzhCN+sTfdfaGEgwXrVlu7Xtw
	==
X-ME-Sender: <xms:JsMnYXLSwAYPB4c30dT9TsqJV6ZS-DRvVd2G7uZVXB0vLbK1lJ2i8Q>
    <xme:JsMnYbIiOkIgQhUAz6bJdcP-H1C3I58D1XRqShi-Z6kjjazL-mFZ2vmIyfyLcNhF6
    AsE3I1GTKgJDg>
X-ME-Received: <xmr:JsMnYfsJZb129RbKiuZDblnqbBa_6LwohLuYLvmFK--uJWlhVrGVoi0mPZEveEPaCVpLtQWxWVTMp20lF0RQJXW1ssJSm88b>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrudduuddguddtudcutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpeffhffvuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepteev
    ffeigffhkefhgfegfeffhfegveeikeettdfhheevieehieeitddugeefteffnecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:JsMnYQYuRI2sAEeNqtezAHT9_6Opggb-1E_3wgoEbD3JGqhnCbEzKw>
    <xmx:JsMnYebALEUgWxDQcojMXJDMWuGVbxGf8rV831MpSWmmv7U55z2q5w>
    <xmx:JsMnYUBiS3LNqEaSuEiKlSbN4UyM3P3fpOj5d1kOENWXfASl2qjmDw>
    <xmx:KMMnYVwgWcpec221yO2uY0tUeyoduTja213Lg59jD42o2Z3K0A7ZcA>
Date: Thu, 26 Aug 2021 18:36:49 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Bjorn Helgaas <helgaas@kernel.org>
Cc: linux-kernel@vger.kernel.org, stable@vger.kernel.org,
	xen-devel@lists.xenproject.org, Bjorn Helgaas <bhelgaas@google.com>,
	Marc Zyngier <maz@kernel.org>, Thomas Gleixner <tglx@linutronix.de>,
	"open list:PCI SUBSYSTEM" <linux-pci@vger.kernel.org>
Subject: Re: [PATCH] PCI/MSI: skip masking MSI on Xen PV
Message-ID: <YSfDIkAmTu+PM4nE@mail-itl>
References: <20210826134337.134767-1-marmarek@invisiblethingslab.com>
 <20210826145532.GA3673811@bjorn-Precision-5520>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="b0V9eJgHdI52l5FP"
Content-Disposition: inline
In-Reply-To: <20210826145532.GA3673811@bjorn-Precision-5520>


--b0V9eJgHdI52l5FP
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 26 Aug 2021 18:36:49 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Bjorn Helgaas <helgaas@kernel.org>
Cc: linux-kernel@vger.kernel.org, stable@vger.kernel.org,
	xen-devel@lists.xenproject.org, Bjorn Helgaas <bhelgaas@google.com>,
	Marc Zyngier <maz@kernel.org>, Thomas Gleixner <tglx@linutronix.de>,
	"open list:PCI SUBSYSTEM" <linux-pci@vger.kernel.org>
Subject: Re: [PATCH] PCI/MSI: skip masking MSI on Xen PV

On Thu, Aug 26, 2021 at 09:55:32AM -0500, Bjorn Helgaas wrote:
> If/when you repost this, please run "git log --oneline
> drivers/pci/msi.c" and follow the convention of capitalizing the
> subject line.
>=20
> Also, I think this patch refers specifically to MSI-X, not MSI, so
> please update the subject line and the "masking MSI" below to reflect
> that.

Sure, thanks for pointing this out. Is the patch otherwise ok? Should I
post v2 with just updated commit message?

> On Thu, Aug 26, 2021 at 03:43:37PM +0200, Marek Marczykowski-G=C3=B3recki=
 wrote:
> > When running as Xen PV guest, masking MSI is a responsibility of the
> > hypervisor. Guest has no write access to relevant BAR at all - when it
> > tries to, it results in a crash like this:
> >=20
> >     BUG: unable to handle page fault for address: ffffc9004069100c
> >     #PF: supervisor write access in kernel mode
> >     #PF: error_code(0x0003) - permissions violation
> >     PGD 18f1c067 P4D 18f1c067 PUD 4dbd067 PMD 4fba067 PTE 80100000febd4=
075
> >     Oops: 0003 [#1] SMP NOPTI
> >     CPU: 0 PID: 234 Comm: kworker/0:2 Tainted: G        W         5.14.=
0-rc7-1.fc32.qubes.x86_64 #15
> >     Workqueue: events work_for_cpu_fn
> >     RIP: e030:__pci_enable_msix_range.part.0+0x26b/0x5f0
> >     Code: 2f 96 ff 48 89 44 24 28 48 89 c7 48 85 c0 0f 84 f6 01 00 00 4=
5 0f b7 f6 48 8d 40 0c ba 01 00 00 00 49 c1 e6 04 4a 8d 4c 37 1c <89> 10 48=
 83 c0 10 48 39 c1 75 f5 41 0f b6 44 24 6a 84 c0 0f 84 48
> >     RSP: e02b:ffffc9004018bd50 EFLAGS: 00010212
> >     RAX: ffffc9004069100c RBX: ffff88800ed412f8 RCX: ffffc9004069105c
> >     RDX: 0000000000000001 RSI: 00000000000febd4 RDI: ffffc90040691000
> >     RBP: 0000000000000003 R08: 0000000000000000 R09: 00000000febd404f
> >     R10: 0000000000007ff0 R11: ffff88800ee8ae40 R12: ffff88800ed41000
> >     R13: 0000000000000000 R14: 0000000000000040 R15: 00000000feba0000
> >     FS:  0000000000000000(0000) GS:ffff888018400000(0000) knlGS:0000000=
000000000
> >     CS:  e030 DS: 0000 ES: 0000 CR0: 0000000080050033
> >     CR2: ffff8000007f5ea0 CR3: 0000000012f6a000 CR4: 0000000000000660
> >     Call Trace:
> >      e1000e_set_interrupt_capability+0xbf/0xd0 [e1000e]
> >      e1000_probe+0x41f/0xdb0 [e1000e]
> >      local_pci_probe+0x42/0x80
> >     (...)
> >=20
> > There is pci_msi_ignore_mask variable for bypassing MSI masking on Xen
> > PV, but msix_mask_all() missed checking it. Add the check there too.
> >=20
> > Fixes: 7d5ec3d36123 ("PCI/MSI: Mask all unused MSI-X entries")
> > Cc: stable@vger.kernel.org
>=20
> 7d5ec3d36123 appeared in v5.14-rc6, so if this fix is merged before
> v5.14, the stable tag will be unnecessary.  But we are running out of
> time there.

7d5ec3d36123 was already backported to stable branches (at least 5.10
and 5.4), and in fact this is how I discovered the issue...

> > Signed-off-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblething=
slab.com>
> > ---
> > Cc: xen-devel@lists.xenproject.org
> > ---
> >  drivers/pci/msi.c | 3 +++
> >  1 file changed, 3 insertions(+)
> >=20
> > diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
> > index e5e75331b415..3a9f4f8ad8f9 100644
> > --- a/drivers/pci/msi.c
> > +++ b/drivers/pci/msi.c
> > @@ -776,6 +776,9 @@ static void msix_mask_all(void __iomem *base, int t=
size)
> >  	u32 ctrl =3D PCI_MSIX_ENTRY_CTRL_MASKBIT;
> >  	int i;
> > =20
> > +	if (pci_msi_ignore_mask)
> > +		return;
> > +
> >  	for (i =3D 0; i < tsize; i++, base +=3D PCI_MSIX_ENTRY_SIZE)
> >  		writel(ctrl, base + PCI_MSIX_ENTRY_VECTOR_CTRL);
> >  }
> > --=20
> > 2.31.1
> >=20

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--b0V9eJgHdI52l5FP
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmEnwyIACgkQ24/THMrX
1yztUgf/R8Ay9RDGpYN9nIdA5U27TRR+liuaY7wnSAx6QKDd1uA1UderIbCQESwQ
gV4SNG0KfY2TpjEQahVGTzOI5uDvxTIDULHMcIq00Kc/geUTW7+IpdoIqCGLeyCG
RjgChfOfwGR6K5cTj/LIl7mdI1KNarNZyUr8lozTRuilKfFL86sL2hMVX6RZWNYh
/dseexqYP87WvmzoCBBXb+zqGIDqNv4ieth2QnEZo67bnmrRltEUw9JESRx4hA5W
kypQtmWnNEWDKWwoEV3CWSg/pPn1Zurvy70LA8FzmhKyyP+wT/IAP2lofHRPSDPV
vU8+0HJWQAOvDxlKIa/ZqtCz5F0n7Q==
=eVt6
-----END PGP SIGNATURE-----

--b0V9eJgHdI52l5FP--


From xen-devel-bounces@lists.xenproject.org Thu Aug 26 16:56:50 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 16:56:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173158.315927 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJIgF-0001WX-Cw; Thu, 26 Aug 2021 16:56:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173158.315927; Thu, 26 Aug 2021 16:56:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJIgF-0001WQ-9v; Thu, 26 Aug 2021 16:56:43 +0000
Received: by outflank-mailman (input) for mailman id 173158;
 Thu, 26 Aug 2021 16:56:41 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=N7uG=NR=kernel.org=helgaas@srs-us1.protection.inumbo.net>)
 id 1mJIgD-0001WK-Oz
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 16:56:41 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 9e72f9f6-522d-4437-885e-749e76720042;
 Thu, 26 Aug 2021 16:56:40 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id B280260F42;
 Thu, 26 Aug 2021 16:56: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: 9e72f9f6-522d-4437-885e-749e76720042
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1629997000;
	bh=Sdch8X0otKtSPDpNPDcyA2dbJPDXupeY4yKkLojSNgM=;
	h=Date:From:To:Cc:Subject:In-Reply-To:From;
	b=PLpHEoTX8XMr7eS8sKDfSN7Wk21t5UKFAtp72cb2VF8bPUtYS3Te3k2zc69ABLQHF
	 LEUWCG9EdTEoJS3PaRxPY045Fm1iRpbSehFQP+7TC8hlyMcRErMgAgFO/V/fsmH0QR
	 KCDXJqQMf+YvkCH/FS95duDi82JSMmr0nHqYgSzsrtMPU3VQld/xBUf3tEfALHco8v
	 /8fb4PB3ps5MmsOS60KQ1eEAW+RJ8rz3lYKdRAmlpIxh6rCzKOpISemkcF9pRnnxjC
	 Tfwh3GuxflCERNdOFpY/1PWMCakkDhhUxorzIrQu4Js/bqAlA9Y6fcm5i4E70ucWLW
	 wYJX9y1kW54tg==
Date: Thu, 26 Aug 2021 11:56:38 -0500
From: Bjorn Helgaas <helgaas@kernel.org>
To: Marek =?iso-8859-1?Q?Marczykowski-G=F3recki?= <marmarek@invisiblethingslab.com>
Cc: linux-kernel@vger.kernel.org, stable@vger.kernel.org,
	xen-devel@lists.xenproject.org, Bjorn Helgaas <bhelgaas@google.com>,
	Marc Zyngier <maz@kernel.org>, Thomas Gleixner <tglx@linutronix.de>,
	"open list:PCI SUBSYSTEM" <linux-pci@vger.kernel.org>
Subject: Re: [PATCH] PCI/MSI: skip masking MSI on Xen PV
Message-ID: <20210826165638.GA3686936@bjorn-Precision-5520>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <YSfDIkAmTu+PM4nE@mail-itl>

On Thu, Aug 26, 2021 at 06:36:49PM +0200, Marek Marczykowski-Grecki wrote:
> On Thu, Aug 26, 2021 at 09:55:32AM -0500, Bjorn Helgaas wrote:
> > If/when you repost this, please run "git log --oneline
> > drivers/pci/msi.c" and follow the convention of capitalizing the
> > subject line.
> > 
> > Also, I think this patch refers specifically to MSI-X, not MSI, so
> > please update the subject line and the "masking MSI" below to reflect
> > that.
> 
> Sure, thanks for pointing this out. Is the patch otherwise ok? Should I
> post v2 with just updated commit message?

Wouldn't hurt to post a v2.  I don't have any objections to the patch,
but ultimately up to Thomas.

> > On Thu, Aug 26, 2021 at 03:43:37PM +0200, Marek Marczykowski-Grecki wrote:
> > > When running as Xen PV guest, masking MSI is a responsibility of the
> > > hypervisor. Guest has no write access to relevant BAR at all - when it
> > > tries to, it results in a crash like this:
> > > 
> > >     BUG: unable to handle page fault for address: ffffc9004069100c
> > >     #PF: supervisor write access in kernel mode
> > >     #PF: error_code(0x0003) - permissions violation
> > >     PGD 18f1c067 P4D 18f1c067 PUD 4dbd067 PMD 4fba067 PTE 80100000febd4075
> > >     Oops: 0003 [#1] SMP NOPTI
> > >     CPU: 0 PID: 234 Comm: kworker/0:2 Tainted: G        W         5.14.0-rc7-1.fc32.qubes.x86_64 #15
> > >     Workqueue: events work_for_cpu_fn
> > >     RIP: e030:__pci_enable_msix_range.part.0+0x26b/0x5f0
> > >     Code: 2f 96 ff 48 89 44 24 28 48 89 c7 48 85 c0 0f 84 f6 01 00 00 45 0f b7 f6 48 8d 40 0c ba 01 00 00 00 49 c1 e6 04 4a 8d 4c 37 1c <89> 10 48 83 c0 10 48 39 c1 75 f5 41 0f b6 44 24 6a 84 c0 0f 84 48
> > >     RSP: e02b:ffffc9004018bd50 EFLAGS: 00010212
> > >     RAX: ffffc9004069100c RBX: ffff88800ed412f8 RCX: ffffc9004069105c
> > >     RDX: 0000000000000001 RSI: 00000000000febd4 RDI: ffffc90040691000
> > >     RBP: 0000000000000003 R08: 0000000000000000 R09: 00000000febd404f
> > >     R10: 0000000000007ff0 R11: ffff88800ee8ae40 R12: ffff88800ed41000
> > >     R13: 0000000000000000 R14: 0000000000000040 R15: 00000000feba0000
> > >     FS:  0000000000000000(0000) GS:ffff888018400000(0000) knlGS:0000000000000000
> > >     CS:  e030 DS: 0000 ES: 0000 CR0: 0000000080050033
> > >     CR2: ffff8000007f5ea0 CR3: 0000000012f6a000 CR4: 0000000000000660
> > >     Call Trace:
> > >      e1000e_set_interrupt_capability+0xbf/0xd0 [e1000e]
> > >      e1000_probe+0x41f/0xdb0 [e1000e]
> > >      local_pci_probe+0x42/0x80
> > >     (...)
> > > 
> > > There is pci_msi_ignore_mask variable for bypassing MSI masking on Xen
> > > PV, but msix_mask_all() missed checking it. Add the check there too.
> > > 
> > > Fixes: 7d5ec3d36123 ("PCI/MSI: Mask all unused MSI-X entries")
> > > Cc: stable@vger.kernel.org
> > 
> > 7d5ec3d36123 appeared in v5.14-rc6, so if this fix is merged before
> > v5.14, the stable tag will be unnecessary.  But we are running out of
> > time there.
> 
> 7d5ec3d36123 was already backported to stable branches (at least 5.10
> and 5.4), and in fact this is how I discovered the issue...

Oh, right, of course.  Sorry :)

> > > Signed-off-by: Marek Marczykowski-Grecki <marmarek@invisiblethingslab.com>
> > > ---
> > > Cc: xen-devel@lists.xenproject.org
> > > ---
> > >  drivers/pci/msi.c | 3 +++
> > >  1 file changed, 3 insertions(+)
> > > 
> > > diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
> > > index e5e75331b415..3a9f4f8ad8f9 100644
> > > --- a/drivers/pci/msi.c
> > > +++ b/drivers/pci/msi.c
> > > @@ -776,6 +776,9 @@ static void msix_mask_all(void __iomem *base, int tsize)
> > >  	u32 ctrl = PCI_MSIX_ENTRY_CTRL_MASKBIT;
> > >  	int i;
> > >  
> > > +	if (pci_msi_ignore_mask)
> > > +		return;
> > > +
> > >  	for (i = 0; i < tsize; i++, base += PCI_MSIX_ENTRY_SIZE)
> > >  		writel(ctrl, base + PCI_MSIX_ENTRY_VECTOR_CTRL);
> > >  }
> > > -- 
> > > 2.31.1
> > > 
> 
> -- 
> Best Regards,
> Marek Marczykowski-Grecki
> Invisible Things Lab




From xen-devel-bounces@lists.xenproject.org Thu Aug 26 17:04:15 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 17:04:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173163.315938 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJInT-0003BP-8e; Thu, 26 Aug 2021 17:04:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173163.315938; Thu, 26 Aug 2021 17:04:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJInT-0003BI-3t; Thu, 26 Aug 2021 17:04:11 +0000
Received: by outflank-mailman (input) for mailman id 173163;
 Thu, 26 Aug 2021 17:04:10 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yDkH=NR=invisiblethingslab.com=marmarek@srs-us1.protection.inumbo.net>)
 id 1mJInS-0003BC-76
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 17:04:10 +0000
Received: from wout4-smtp.messagingengine.com (unknown [64.147.123.20])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id a0c95788-068f-11ec-aa33-12813bfff9fa;
 Thu, 26 Aug 2021 17:04:09 +0000 (UTC)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.west.internal (Postfix) with ESMTP id CD5D63200936;
 Thu, 26 Aug 2021 13:04:07 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute3.internal (MEProxy); Thu, 26 Aug 2021 13:04:08 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 26 Aug 2021 13:04:05 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a0c95788-068f-11ec-aa33-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-transfer-encoding:content-type
	:date:from:message-id:mime-version:subject:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=CTG8y+
	c/tcgdmRwNHm6OdItlKpgJ5dHJdci3GZ1+H3o=; b=k40fEJitOfb15NIxBwIXcV
	92cjJLnLkhxBk6uoOLfedGCU4FCwsn7Nn80dRJ/KXEV1H+/5FNfc1el4GGuwvMTL
	d4MY4Lw5RwLLGuXKEjGRPvoAFsCoEfa2tMgEHL2CffAHNY/FPONnpu/3+AhP3P5A
	GiH8lAT6bW6oKpmG9sLoY2iHGetQFqPjUdQNofoY2j3P8+tupzYDIOdGSnkQp1/i
	B6i1gnK+i6tje33Bklx9sUKFRbMLb8mHXm/H7viyBBtFhslpjnthNR+8lNvAZ/6E
	nygDJWncbuStrjCPuAWaXr4He2YLOPW2VFZXeYy93gg9OxpW5O9eGiNB8ZrYtcoA
	==
X-ME-Sender: <xms:hsknYXuv_xvCmavWZRCqrxiscb13V8EM-AJDWwoXO9N-0iscL2zX1A>
    <xme:hsknYYdV4FrDRG6BPnqy_nrkyS8BPbhX9DB7imew7V_lhAjWf9lDw3omSndhrsS_t
    Fnf90Jwd3XvPQ>
X-ME-Received: <xmr:hsknYawMMCCKNKbrJISYhvCSvAkmy0srQ7ueGBaKdNHYuTe3aOEhKhFsk8hAfmAjVoifNtaFmU5rYfrEWc_oxdGPK80YfcaRmIg65iN_bUsyHP_V_g>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrudduuddguddtjecutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpefhvffufffkofggtghogfesthekredtredtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepteeg
    teekueekfffhjeeuleduheettdekueeitdfggfdthfevfeeuieeihfduheegnecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:hsknYWNZS_uWkRx0sXK9CwyhRwKacxQFe6tvDBLiMrDNfsmzuC77RA>
    <xmx:hsknYX_F6y5ty83HpqEbHxsRdFZNNinOzXvuqWU9SHtkEXlbrjlFwg>
    <xmx:hsknYWXNzYHikqRRG-5IZTRpRF2C-iTJNphOy1VmlPFFNWHW3lSpjQ>
    <xmx:h8knYSn9S4GIuEw2YDXgeihqrcy7k3ka0ytzvuj0SnH4d82xIEmtrA>
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: linux-kernel@vger.kernel.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	stable@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	Bjorn Helgaas <bhelgaas@google.com>,
	Marc Zyngier <maz@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	linux-pci@vger.kernel.org (open list:PCI SUBSYSTEM)
Subject: [PATCH v2] PCI/MSI: Skip masking MSI-X on Xen PV
Date: Thu, 26 Aug 2021 19:03:42 +0200
Message-Id: <20210826170342.135172-1-marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.31.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Organization: Invisible Things Lab
Content-Transfer-Encoding: 8bit

When running as Xen PV guest, masking MSI-X is a responsibility of the
hypervisor. Guest has no write access to relevant BAR at all - when it
tries to, it results in a crash like this:

    BUG: unable to handle page fault for address: ffffc9004069100c
    #PF: supervisor write access in kernel mode
    #PF: error_code(0x0003) - permissions violation
    PGD 18f1c067 P4D 18f1c067 PUD 4dbd067 PMD 4fba067 PTE 80100000febd4075
    Oops: 0003 [#1] SMP NOPTI
    CPU: 0 PID: 234 Comm: kworker/0:2 Tainted: G        W         5.14.0-rc7-1.fc32.qubes.x86_64 #15
    Workqueue: events work_for_cpu_fn
    RIP: e030:__pci_enable_msix_range.part.0+0x26b/0x5f0
    Code: 2f 96 ff 48 89 44 24 28 48 89 c7 48 85 c0 0f 84 f6 01 00 00 45 0f b7 f6 48 8d 40 0c ba 01 00 00 00 49 c1 e6 04 4a 8d 4c 37 1c <89> 10 48 83 c0 10 48 39 c1 75 f5 41 0f b6 44 24 6a 84 c0 0f 84 48
    RSP: e02b:ffffc9004018bd50 EFLAGS: 00010212
    RAX: ffffc9004069100c RBX: ffff88800ed412f8 RCX: ffffc9004069105c
    RDX: 0000000000000001 RSI: 00000000000febd4 RDI: ffffc90040691000
    RBP: 0000000000000003 R08: 0000000000000000 R09: 00000000febd404f
    R10: 0000000000007ff0 R11: ffff88800ee8ae40 R12: ffff88800ed41000
    R13: 0000000000000000 R14: 0000000000000040 R15: 00000000feba0000
    FS:  0000000000000000(0000) GS:ffff888018400000(0000) knlGS:0000000000000000
    CS:  e030 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: ffff8000007f5ea0 CR3: 0000000012f6a000 CR4: 0000000000000660
    Call Trace:
     e1000e_set_interrupt_capability+0xbf/0xd0 [e1000e]
     e1000_probe+0x41f/0xdb0 [e1000e]
     local_pci_probe+0x42/0x80
    (...)

There is pci_msi_ignore_mask variable for bypassing MSI(-X) masking on Xen
PV, but msix_mask_all() missed checking it. Add the check there too.

Fixes: 7d5ec3d36123 ("PCI/MSI: Mask all unused MSI-X entries")
Cc: stable@vger.kernel.org
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
Cc: xen-devel@lists.xenproject.org

Changes in v2:
- update commit message (MSI -> MSI-X)
---
 drivers/pci/msi.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
index e5e75331b415..3a9f4f8ad8f9 100644
--- a/drivers/pci/msi.c
+++ b/drivers/pci/msi.c
@@ -776,6 +776,9 @@ static void msix_mask_all(void __iomem *base, int tsize)
 	u32 ctrl = PCI_MSIX_ENTRY_CTRL_MASKBIT;
 	int i;
 
+	if (pci_msi_ignore_mask)
+		return;
+
 	for (i = 0; i < tsize; i++, base += PCI_MSIX_ENTRY_SIZE)
 		writel(ctrl, base + PCI_MSIX_ENTRY_VECTOR_CTRL);
 }
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 19:26:12 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 19:26:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173189.316029 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJL0g-0002bO-Hh; Thu, 26 Aug 2021 19:25:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173189.316029; Thu, 26 Aug 2021 19:25:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJL0g-0002bH-E7; Thu, 26 Aug 2021 19:25:58 +0000
Received: by outflank-mailman (input) for mailman id 173189;
 Thu, 26 Aug 2021 19:25: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 1mJL0f-0002b7-Tl; Thu, 26 Aug 2021 19:25: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 1mJL0f-0004Op-Pa; Thu, 26 Aug 2021 19:25: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 1mJL0f-000573-Fp; Thu, 26 Aug 2021 19:25:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mJL0f-0005Bc-D2; Thu, 26 Aug 2021 19:25:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=7eT/1XndJyHH9sFl7RuhX9vx62sUVL6mU85BI6Vrt30=; b=G5NQbUMN9a5FYSnHH1MqrjrPlQ
	jTPgtKWEJIfkZo7Zjj8K2PFLazXN8U5EuBJCzWnxWLRjnIHLxNiSFIRKRVIRXGzfXUTK7jBX89Tjv
	CHg9dLzvpqhEFPaVidlIsV8PP1fFFA5/vALYJX/Hz7G90vJcyy+mBEavhT5GYczHnl0E=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164489-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.12-testing test] 164489: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.12-testing:test-amd64-amd64-xl-qcow2:guest-localmigrate/x10:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=35ba323378d05509f2e0dc049520e140be183003
X-Osstest-Versions-That:
    xen=ea20eee97e9e0861127a8070cc7b9ae3557b09fb
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 26 Aug 2021 19:25:57 +0000

flight 164489 xen-4.12-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164489/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qcow2    19 guest-localmigrate/x10       fail  like 162549
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 162549
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 162549
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 162549
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 162549
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 162549
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 162549
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 162549
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 162549
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 162549
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 162549
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 162549
 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-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-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-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-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  35ba323378d05509f2e0dc049520e140be183003
baseline version:
 xen                  ea20eee97e9e0861127a8070cc7b9ae3557b09fb

Last test of basis   162549  2021-06-08 18:37:01 Z   79 days
Failing since        164259  2021-08-19 17:07:29 Z    7 days    5 attempts
Testing same since   164489  2021-08-25 17:57:16 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Ian Jackson <iwj@xenproject.org>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>
  Julien Grall <jgrall@amazon.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Stefano Stabellini <sstabellini@kernel.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   ea20eee97e..35ba323378  35ba323378d05509f2e0dc049520e140be183003 -> stable-4.12


From xen-devel-bounces@lists.xenproject.org Thu Aug 26 20:56:37 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 20:56:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173201.316043 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJMQA-0004IH-BA; Thu, 26 Aug 2021 20:56:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173201.316043; Thu, 26 Aug 2021 20:56: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 1mJMQA-0004IA-7d; Thu, 26 Aug 2021 20:56:22 +0000
Received: by outflank-mailman (input) for mailman id 173201;
 Thu, 26 Aug 2021 20:56:20 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=N7uG=NR=kernel.org=helgaas@srs-us1.protection.inumbo.net>)
 id 1mJMQ8-0004I4-H5
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 20:56:20 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id bee0cafe-5c9a-4e01-a68f-725cb77fbcb0;
 Thu, 26 Aug 2021 20:56:19 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id A4BAB60FDA;
 Thu, 26 Aug 2021 20: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: bee0cafe-5c9a-4e01-a68f-725cb77fbcb0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1630011379;
	bh=kkWRiiADlno9wmE5ee4PEol8ApTDqXy3BKb1qSmxOUw=;
	h=Date:From:To:Cc:Subject:In-Reply-To:From;
	b=iwF7sBUZJX8hBAiLlR1geRdpV6Wn+bPa29xxNlMqewb8z6ds6bRs4UgcY8kVyXYFZ
	 qXlzqBO+FGXlWJeEj2/1TBpG3L0ogSiyE6ZCnvOzptCEdOsE6JY4ozMEkJIowAmS/A
	 usBwZh11fDYbmfXcL6XBBA2v29KR+ZLIlcd0L36wsTFcgVRQhHtC72KsUYxgFqL824
	 VivT3hMfw4IgvZW8OQHGzUF874t/UHll1z7RaktzId2Voz7c3ORr83pQ492p/BAq9Z
	 PZ/wOHKYII7HTh+6TUmmf+buELMATWEIQ/lSeqQl0IkH+61eQOQXQGI7AlbAhLCDSb
	 DOF2NN/pbGM6g==
Date: Thu, 26 Aug 2021 15:56:17 -0500
From: Bjorn Helgaas <helgaas@kernel.org>
To: Marek =?iso-8859-1?Q?Marczykowski-G=F3recki?= <marmarek@invisiblethingslab.com>
Cc: linux-kernel@vger.kernel.org, stable@vger.kernel.org,
	xen-devel@lists.xenproject.org, Bjorn Helgaas <bhelgaas@google.com>,
	Marc Zyngier <maz@kernel.org>, Thomas Gleixner <tglx@linutronix.de>,
	"open list:PCI SUBSYSTEM" <linux-pci@vger.kernel.org>
Subject: Re: [PATCH v2] PCI/MSI: Skip masking MSI-X on Xen PV
Message-ID: <20210826205617.GA3716609@bjorn-Precision-5520>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20210826170342.135172-1-marmarek@invisiblethingslab.com>

On Thu, Aug 26, 2021 at 07:03:42PM +0200, Marek Marczykowski-Grecki wrote:
> When running as Xen PV guest, masking MSI-X is a responsibility of the
> hypervisor. Guest has no write access to relevant BAR at all - when it
> tries to, it results in a crash like this:
> 
>     BUG: unable to handle page fault for address: ffffc9004069100c
>     #PF: supervisor write access in kernel mode
>     #PF: error_code(0x0003) - permissions violation
>     PGD 18f1c067 P4D 18f1c067 PUD 4dbd067 PMD 4fba067 PTE 80100000febd4075
>     Oops: 0003 [#1] SMP NOPTI
>     CPU: 0 PID: 234 Comm: kworker/0:2 Tainted: G        W         5.14.0-rc7-1.fc32.qubes.x86_64 #15
>     Workqueue: events work_for_cpu_fn
>     RIP: e030:__pci_enable_msix_range.part.0+0x26b/0x5f0
>     Code: 2f 96 ff 48 89 44 24 28 48 89 c7 48 85 c0 0f 84 f6 01 00 00 45 0f b7 f6 48 8d 40 0c ba 01 00 00 00 49 c1 e6 04 4a 8d 4c 37 1c <89> 10 48 83 c0 10 48 39 c1 75 f5 41 0f b6 44 24 6a 84 c0 0f 84 48
>     RSP: e02b:ffffc9004018bd50 EFLAGS: 00010212
>     RAX: ffffc9004069100c RBX: ffff88800ed412f8 RCX: ffffc9004069105c
>     RDX: 0000000000000001 RSI: 00000000000febd4 RDI: ffffc90040691000
>     RBP: 0000000000000003 R08: 0000000000000000 R09: 00000000febd404f
>     R10: 0000000000007ff0 R11: ffff88800ee8ae40 R12: ffff88800ed41000
>     R13: 0000000000000000 R14: 0000000000000040 R15: 00000000feba0000
>     FS:  0000000000000000(0000) GS:ffff888018400000(0000) knlGS:0000000000000000
>     CS:  e030 DS: 0000 ES: 0000 CR0: 0000000080050033
>     CR2: ffff8000007f5ea0 CR3: 0000000012f6a000 CR4: 0000000000000660
>     Call Trace:
>      e1000e_set_interrupt_capability+0xbf/0xd0 [e1000e]
>      e1000_probe+0x41f/0xdb0 [e1000e]
>      local_pci_probe+0x42/0x80
>     (...)
> 
> There is pci_msi_ignore_mask variable for bypassing MSI(-X) masking on Xen
> PV, but msix_mask_all() missed checking it. Add the check there too.
> 
> Fixes: 7d5ec3d36123 ("PCI/MSI: Mask all unused MSI-X entries")
> Cc: stable@vger.kernel.org
> Signed-off-by: Marek Marczykowski-Grecki <marmarek@invisiblethingslab.com>

Acked-by: Bjorn Helgaas <bhelgaas@google.com>

> ---
> Cc: xen-devel@lists.xenproject.org
> 
> Changes in v2:
> - update commit message (MSI -> MSI-X)
> ---
>  drivers/pci/msi.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
> index e5e75331b415..3a9f4f8ad8f9 100644
> --- a/drivers/pci/msi.c
> +++ b/drivers/pci/msi.c
> @@ -776,6 +776,9 @@ static void msix_mask_all(void __iomem *base, int tsize)
>  	u32 ctrl = PCI_MSIX_ENTRY_CTRL_MASKBIT;
>  	int i;
>  
> +	if (pci_msi_ignore_mask)
> +		return;
> +
>  	for (i = 0; i < tsize; i++, base += PCI_MSIX_ENTRY_SIZE)
>  		writel(ctrl, base + PCI_MSIX_ENTRY_VECTOR_CTRL);
>  }
> -- 
> 2.31.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Aug 26 21:01:03 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 21:01:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173206.316054 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJMUg-0005hp-Sn; Thu, 26 Aug 2021 21:01:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173206.316054; Thu, 26 Aug 2021 21:01:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJMUg-0005hi-Pf; Thu, 26 Aug 2021 21:01:02 +0000
Received: by outflank-mailman (input) for mailman id 173206;
 Thu, 26 Aug 2021 21:01: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 1mJMUe-0005hR-Ql
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 21:01: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 1mJMUe-00063d-Ms; Thu, 26 Aug 2021 21:01:00 +0000
Received: from [54.239.6.179] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mJMUe-0006vd-H0; Thu, 26 Aug 2021 21:01:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Date:
	Message-ID:Subject:From:Cc:To;
	bh=Ub5yLSGp+jxs6BhIPi6XrKrybMrORC7SGhubd8nK63Q=; b=a+1J4IATx8D5+Ijqy/vaOtfrPt
	Pi9v0OJW9CAfoQXd38jhUEyFManLr7lBe21aefxcUr9eHAM4PY3IDKesCQ7sVDk1uBzQ0UTDEFM44
	ob0sva7m64KA9mh1dSQIdhzWSzVGfgrd9rjb33dGP2Nx/smYllwYR7nAk/4j4NY7Mo3c=;
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Jan Beulich <jbeulich@suse.com>
From: Julien Grall <julien@xen.org>
Subject: HVM guest only bring up a single vCPU
Message-ID: <a1724918-94bf-748f-5c4b-5a3ec176368f@xen.org>
Date: Thu, 26 Aug 2021 22:00:58 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Andrew,

While doing more testing today, I noticed that only one vCPU would be 
brought up with HVM guest with Xen 4.16 on my setup (QEMU):

[    1.122180] 
================================================================================
[    1.122180] UBSAN: shift-out-of-bounds in 
oss/linux/arch/x86/kernel/apic/apic.c:2362:13
[    1.122180] shift exponent -1 is negative
[    1.122180] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.14.0-rc7+ #304
[    1.122180] Hardware name: Xen HVM domU, BIOS 4.16-unstable 06/07/2021
[    1.122180] Call Trace:
[    1.122180]  dump_stack_lvl+0x56/0x6c
[    1.122180]  ubsan_epilogue+0x5/0x50
[    1.122180]  __ubsan_handle_shift_out_of_bounds+0xfa/0x140
[    1.122180]  ? cgroup_kill_write+0x4d/0x150
[    1.122180]  ? cpu_up+0x6e/0x100
[    1.122180]  ? _raw_spin_unlock_irqrestore+0x30/0x50
[    1.122180]  ? rcu_read_lock_held_common+0xe/0x40
[    1.122180]  ? irq_shutdown_and_deactivate+0x11/0x30
[    1.122180]  ? lock_release+0xc7/0x2a0
[    1.122180]  ? apic_id_is_primary_thread+0x56/0x60
[    1.122180]  apic_id_is_primary_thread+0x56/0x60
[    1.122180]  cpu_up+0xbd/0x100
[    1.122180]  bringup_nonboot_cpus+0x4f/0x60
[    1.122180]  smp_init+0x26/0x74
[    1.122180]  kernel_init_freeable+0x183/0x32d
[    1.122180]  ? _raw_spin_unlock_irq+0x24/0x40
[    1.122180]  ? rest_init+0x330/0x330
[    1.122180]  kernel_init+0x17/0x140
[    1.122180]  ? rest_init+0x330/0x330
[    1.122180]  ret_from_fork+0x22/0x30
[    1.122244] 
================================================================================
[    1.123176] installing Xen timer for CPU 1
[    1.123369] x86: Booting SMP configuration:
[    1.123409] .... node  #0, CPUs:      #1
[    1.154400] Callback from call_rcu_tasks_trace() invoked.
[    1.154491] smp: Brought up 1 node, 1 CPU
[    1.154526] smpboot: Max logical packages: 2
[    1.154570] smpboot: Total of 1 processors activated (5999.99 BogoMIPS)

I have tried a PV guest (same setup) and the kernel could bring up all 
the vCPUs.

Digging down, Linux will set smp_num_siblings to 0 (via 
detect_ht_early()) and as a result will skip all the CPUs. The value is 
retrieve from a CPUID leaf. So it sounds like we don't set the leaft 
correctly.

FWIW, I have also tried on Xen 4.11 and could spot the same issue. Does 
this ring any bell to you?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Aug 26 22:51:42 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 22:51:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173212.316065 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJODR-0001Jo-NW; Thu, 26 Aug 2021 22:51:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173212.316065; Thu, 26 Aug 2021 22:51:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJODR-0001Jh-KL; Thu, 26 Aug 2021 22:51:21 +0000
Received: by outflank-mailman (input) for mailman id 173212;
 Thu, 26 Aug 2021 22:51:20 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yDkH=NR=invisiblethingslab.com=marmarek@srs-us1.protection.inumbo.net>)
 id 1mJODQ-0001Jb-Af
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 22:51:20 +0000
Received: from wout2-smtp.messagingengine.com (unknown [64.147.123.25])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 0fb332e6-d78c-4aa5-9a71-753d37dc8072;
 Thu, 26 Aug 2021 22:51:19 +0000 (UTC)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id B5CF83200495;
 Thu, 26 Aug 2021 18:51:17 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute6.internal (MEProxy); Thu, 26 Aug 2021 18:51:18 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 26 Aug 2021 18:51: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: 0fb332e6-d78c-4aa5-9a71-753d37dc8072
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=5Suu6S
	G9f1yQ11fAHPPixQldMZEur3imMo8fM9CGUaE=; b=vh5JRkrsyY/xhMNMEL4cyd
	jTylQDKKiOhAM8ZAgQ+2/CdUM/b7p50OYG4JabTVhyl2wZa2iB2n6B+W3FrCQAoM
	bTuJIHYdVsDTdAeHf4K9b62kwtBBxrGkJ/mG33lpnydjkOJXLN/0zlxAhozoGOjU
	M7ACZNsIxfSub1e091XhNzvdf9Z+7kjkVqPZyb9guj5XaTsnn/XIzzg2fMw+sLoe
	xQ5YV50JDBNj/jRB2QP2QkfeQJcHZCE+8G7l848TrhbfoqR4tpydzpPLxXnx/elB
	kmd1L+K/QuCB96S1/8RHpOM6VnCfc2u/XM0wpZ4YBlfDE3NIZvmpZNNk9y0YvJuw
	==
X-ME-Sender: <xms:5BooYTXpN3_OJgCzpKrFjvpy2iFaOKJbZcOxDP6xNVXcOc3TX8uOAw>
    <xme:5BooYbkFJqFcDg92E_To6kDI5mDa8IcgEvSNGyn2c41cRq8Ga2be-YDYFKv7SPbDs
    _mP7ePcVR8hkA>
X-ME-Received: <xmr:5BooYfb9QHItqcvKQRlHS5F7-8Tx8I25KXTWncQuPhPXCNv2_JSoe94DVozc7H6b4RM5ZvIhrKzEQ4jvjKBfQRZN18zXCpH2>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrudduvddgudehucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvffukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpeforghrvghk
    ucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesihhnvh
    hishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeehvedv
    ueevheekhefhvefggffgvedugeetuefgleeivdehgfeuieeugfetteeiffenucffohhmrg
    hinhepkhgvrhhnvghlrdhorhhgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghm
    pehmrghilhhfrhhomhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslh
    grsgdrtghomh
X-ME-Proxy: <xmx:5BooYeWRgsGSj22cAP3TAOSMzH43cC3jiJ8yllHnCtvzGKseN7aBAQ>
    <xmx:5BooYdmgCwVMLDo9wgBTqJrjLk0W88x5lh01jLvU8gNd2M21U1AJUw>
    <xmx:5BooYbcOaY8mmS_OjhWUuDsSrFtC7PARgKCuAmfLtrNolRnMs5oBtg>
    <xmx:5RooYdsU4nbr6b6DNNnZaNBOksI_352ziDxLfea5YUs83iC9PE0w4g>
Date: Fri, 27 Aug 2021 00:51:12 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Julien Grall <julien@xen.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Jan Beulich <jbeulich@suse.com>
Subject: Re: HVM guest only bring up a single vCPU
Message-ID: <YSga4JLYURMXpB5V@mail-itl>
References: <a1724918-94bf-748f-5c4b-5a3ec176368f@xen.org>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="qRqheSQeIMEhD/m2"
Content-Disposition: inline
In-Reply-To: <a1724918-94bf-748f-5c4b-5a3ec176368f@xen.org>


--qRqheSQeIMEhD/m2
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Fri, 27 Aug 2021 00:51:12 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Julien Grall <julien@xen.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Jan Beulich <jbeulich@suse.com>
Subject: Re: HVM guest only bring up a single vCPU

On Thu, Aug 26, 2021 at 10:00:58PM +0100, Julien Grall wrote:
> Hi Andrew,
>=20
> While doing more testing today, I noticed that only one vCPU would be
> brought up with HVM guest with Xen 4.16 on my setup (QEMU):
>=20
> [    1.122180] =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> [    1.122180] UBSAN: shift-out-of-bounds in
> oss/linux/arch/x86/kernel/apic/apic.c:2362:13
> [    1.122180] shift exponent -1 is negative
> [    1.122180] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.14.0-rc7+ #304
> [    1.122180] Hardware name: Xen HVM domU, BIOS 4.16-unstable 06/07/2021
> [    1.122180] Call Trace:
> [    1.122180]  dump_stack_lvl+0x56/0x6c
> [    1.122180]  ubsan_epilogue+0x5/0x50
> [    1.122180]  __ubsan_handle_shift_out_of_bounds+0xfa/0x140
> [    1.122180]  ? cgroup_kill_write+0x4d/0x150
> [    1.122180]  ? cpu_up+0x6e/0x100
> [    1.122180]  ? _raw_spin_unlock_irqrestore+0x30/0x50
> [    1.122180]  ? rcu_read_lock_held_common+0xe/0x40
> [    1.122180]  ? irq_shutdown_and_deactivate+0x11/0x30
> [    1.122180]  ? lock_release+0xc7/0x2a0
> [    1.122180]  ? apic_id_is_primary_thread+0x56/0x60
> [    1.122180]  apic_id_is_primary_thread+0x56/0x60
> [    1.122180]  cpu_up+0xbd/0x100
> [    1.122180]  bringup_nonboot_cpus+0x4f/0x60
> [    1.122180]  smp_init+0x26/0x74
> [    1.122180]  kernel_init_freeable+0x183/0x32d
> [    1.122180]  ? _raw_spin_unlock_irq+0x24/0x40
> [    1.122180]  ? rest_init+0x330/0x330
> [    1.122180]  kernel_init+0x17/0x140
> [    1.122180]  ? rest_init+0x330/0x330
> [    1.122180]  ret_from_fork+0x22/0x30
> [    1.122244] =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> [    1.123176] installing Xen timer for CPU 1
> [    1.123369] x86: Booting SMP configuration:
> [    1.123409] .... node  #0, CPUs:      #1
> [    1.154400] Callback from call_rcu_tasks_trace() invoked.
> [    1.154491] smp: Brought up 1 node, 1 CPU
> [    1.154526] smpboot: Max logical packages: 2
> [    1.154570] smpboot: Total of 1 processors activated (5999.99 BogoMIPS)
>=20
> I have tried a PV guest (same setup) and the kernel could bring up all the
> vCPUs.
>=20
> Digging down, Linux will set smp_num_siblings to 0 (via detect_ht_early())
> and as a result will skip all the CPUs. The value is retrieve from a CPUID
> leaf. So it sounds like we don't set the leaft correctly.
>=20
> FWIW, I have also tried on Xen 4.11 and could spot the same issue. Does t=
his
> ring any bell to you?

Is it maybe this:
https://lore.kernel.org/xen-devel/20201106003529.391649-1-bmasney@redhat.co=
m/T/#u
?

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--qRqheSQeIMEhD/m2
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmEoGuAACgkQ24/THMrX
1yxoigf8Cyfa3ZhpyHyno3X1M5SH8d3m2vjWNSzMcyKDZb9vZBJUvQBwyq8qXU8G
wbUvtwM6Z4EzhTyalIN7s/ITRwC9d9FUklcGGbzaC7szTIyMUxMKPf+emLE+zxag
QSKGEJZXkYzTjzfPS1ocHz1DGWXGCdFQL5h4JSdG2x9zVA3AQ7W+nTJgMYSFeFru
9/ytSCDuhGZKEsrSFnSsCjLy8BXhdJjoy3x58CS/sSz8q5rQRUHS8yt9Ogveggru
JVXJk942FM8iJibyeXtSoWy0kZg2tuUQ6qM4Zk5yi8zJ+H4cw41+3LRuJdpp99Mb
Uvg/ZURdZKCtefGVzOrVuaorNlddtA==
=dvua
-----END PGP SIGNATURE-----

--qRqheSQeIMEhD/m2--


From xen-devel-bounces@lists.xenproject.org Thu Aug 26 23:10:15 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 23:10:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173218.316076 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJOVb-0003oS-BC; Thu, 26 Aug 2021 23:10:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173218.316076; Thu, 26 Aug 2021 23:10:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJOVb-0003oL-7J; Thu, 26 Aug 2021 23:10:07 +0000
Received: by outflank-mailman (input) for mailman id 173218;
 Thu, 26 Aug 2021 23:10:06 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0Zrd=NR=kernel.org=sstabellini@srs-us1.protection.inumbo.net>)
 id 1mJOVa-0003j7-1m
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 23:10:06 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id bf4d1086-06c2-11ec-aa7a-12813bfff9fa;
 Thu, 26 Aug 2021 23:10:04 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id E443460F5B;
 Thu, 26 Aug 2021 23:10: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: bf4d1086-06c2-11ec-aa7a-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1630019404;
	bh=sdVIJz8TEG8HHPQDUNyycpFPwg47slsstk7aSZm7V6E=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=YFmzDbPN8qkf/gtkXvBSkAYoDOibjjZQqrVEUDxF3dpN0up1sB5u8bUtBCbqHZwc5
	 5oiHa15eGVVd5zU7DUvkgzhp52TUYlrMIg0yen01gle4fHyiDNjq7t4HIKO6/i02+t
	 BB/Jck6goMTbwrhC8p5bDaLm0jzTHnzNHcHLPF4/4wMjUld0EKo2lTxXGiyiWN3HX4
	 ex+NAnTkk1SVcjR+7byhR304dHlaJyRzhyxEGjdir40MhRqJdLAytFWPhz0Owt+7Me
	 u7fQ4E1nWfbNknLmtLYnMo/lO4Am2qmJqo5h9zjw9IdI50nkD6xySsClH9RLVqJJlH
	 Ip4dGEVcP01QA==
Date: Thu, 26 Aug 2021 16:10:03 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@sstabellini-ThinkPad-T480s
To: Wei Chen <wei.chen@arm.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, julien@xen.org, 
    jbeulich@suse.com, Bertrand.Marquis@arm.com
Subject: Re: [XEN RFC PATCH 16/40] xen/arm: Create a fake NUMA node to use
 common code
In-Reply-To: <20210811102423.28908-17-wei.chen@arm.com>
Message-ID: <alpine.DEB.2.21.2108261605470.24433@sstabellini-ThinkPad-T480s>
References: <20210811102423.28908-1-wei.chen@arm.com> <20210811102423.28908-17-wei.chen@arm.com>
User-Agent: Alpine 2.21 (DEB 202 2017-01-01)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 11 Aug 2021, Wei Chen wrote:
> When CONFIG_NUMA is enabled for Arm, Xen will switch to use common
> NUMA API instead of previous fake NUMA API. Before we parse NUMA
> information from device tree or ACPI SRAT table, we need to init
> the NUMA related variables, like cpu_to_node, as single node NUMA
> system.
> 
> So in this patch, we introduce a numa_init function for to
> initialize these data structures as all resources belongs to node#0.
> This will make the new API returns the same values as the fake API
> has done.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>  xen/arch/arm/numa.c        | 53 ++++++++++++++++++++++++++++++++++++++
>  xen/arch/arm/setup.c       |  8 ++++++
>  xen/include/asm-arm/numa.h | 11 ++++++++
>  3 files changed, 72 insertions(+)
> 
> diff --git a/xen/arch/arm/numa.c b/xen/arch/arm/numa.c
> index 1e30c5bb13..566ad1e52b 100644
> --- a/xen/arch/arm/numa.c
> +++ b/xen/arch/arm/numa.c
> @@ -20,6 +20,8 @@
>  #include <xen/init.h>
>  #include <xen/nodemask.h>
>  #include <xen/numa.h>
> +#include <xen/pfn.h>
> +#include <asm/setup.h>
>  
>  void numa_set_node(int cpu, nodeid_t nid)
>  {
> @@ -29,3 +31,54 @@ void numa_set_node(int cpu, nodeid_t nid)
>  
>      cpu_to_node[cpu] = nid;
>  }
> +
> +void __init numa_init(bool acpi_off)
> +{
> +    uint32_t idx;
> +    paddr_t ram_start = ~0;
> +    paddr_t ram_size = 0;
> +    paddr_t ram_end = 0;
> +
> +    printk(XENLOG_WARNING
> +        "NUMA has not been supported yet, NUMA off!\n");

NIT: please align


> +    /* Arm NUMA has not been implemented until this patch */

"Arm NUMA is not implemented yet"


> +    numa_off = true;
> +
> +    /*
> +     * Set all cpu_to_node mapping to 0, this will make cpu_to_node
> +     * function return 0 as previous fake cpu_to_node API.
> +     */
> +    for ( idx = 0; idx < NR_CPUS; idx++ )
> +        cpu_to_node[idx] = 0;
> +
> +    /*
> +     * Make node_to_cpumask, node_spanned_pages and node_start_pfn
> +     * return as previous fake APIs.
> +     */
> +    for ( idx = 0; idx < MAX_NUMNODES; idx++ ) {
> +        node_to_cpumask[idx] = cpu_online_map;
> +        node_spanned_pages(idx) = (max_page - mfn_x(first_valid_mfn));
> +        node_start_pfn(idx) = (mfn_x(first_valid_mfn));
> +    }

I just want to note that this works because MAX_NUMNODES is 1. If
MAX_NUMNODES was > 1 then it would be wrong to set node_to_cpumask,
node_spanned_pages and node_start_pfn for all nodes to the same values.

It might be worth writing something about it in the in-code comment.


> +    /*
> +     * Find the minimal and maximum address of RAM, NUMA will
> +     * build a memory to node mapping table for the whole range.
> +     */
> +    ram_start = bootinfo.mem.bank[0].start;
> +    ram_size  = bootinfo.mem.bank[0].size;
> +    ram_end   = ram_start + ram_size;
> +    for ( idx = 1 ; idx < bootinfo.mem.nr_banks; idx++ )
> +    {
> +        paddr_t bank_start = bootinfo.mem.bank[idx].start;
> +        paddr_t bank_size = bootinfo.mem.bank[idx].size;
> +        paddr_t bank_end = bank_start + bank_size;
> +
> +        ram_size  = ram_size + bank_size;

ram_size is updated but not utilized


> +        ram_start = min(ram_start, bank_start);
> +        ram_end   = max(ram_end, bank_end);
> +    }
> +
> +    numa_initmem_init(PFN_UP(ram_start), PFN_DOWN(ram_end));
> +    return;
> +}
> diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
> index 63a908e325..3c58d2d441 100644
> --- a/xen/arch/arm/setup.c
> +++ b/xen/arch/arm/setup.c
> @@ -30,6 +30,7 @@
>  #include <xen/init.h>
>  #include <xen/irq.h>
>  #include <xen/mm.h>
> +#include <xen/numa.h>
>  #include <xen/param.h>
>  #include <xen/softirq.h>
>  #include <xen/keyhandler.h>
> @@ -874,6 +875,13 @@ void __init start_xen(unsigned long boot_phys_offset,
>      /* Parse the ACPI tables for possible boot-time configuration */
>      acpi_boot_table_init();
>  
> +    /*
> +     * Try to initialize NUMA system, if failed, the system will
> +     * fallback to uniform system which means system has only 1
> +     * NUMA node.
> +     */
> +    numa_init(acpi_disabled);
> +
>      end_boot_allocator();
>  
>      /*
> diff --git a/xen/include/asm-arm/numa.h b/xen/include/asm-arm/numa.h
> index b2982f9053..bb495a24e1 100644
> --- a/xen/include/asm-arm/numa.h
> +++ b/xen/include/asm-arm/numa.h
> @@ -13,6 +13,16 @@ typedef u8 nodeid_t;
>   */
>  #define NODES_SHIFT      6
>  
> +extern void numa_init(bool acpi_off);
> +
> +/*
> + * Temporary for fake NUMA node, when CPU, memory and distance
> + * matrix will be read from DTB or ACPI SRAT. The following
> + * symbols will be removed.
> + */
> +extern mfn_t first_valid_mfn;
> +#define __node_distance(a, b) (20)
> +
>  #else
>  
>  /* Fake one node for now. See also node_online_map. */
> @@ -35,6 +45,7 @@ extern mfn_t first_valid_mfn;
>  #define node_start_pfn(nid) (mfn_x(first_valid_mfn))
>  #define __node_distance(a, b) (20)
>  
> +#define numa_init(x) do { } while (0)
>  #define numa_set_node(x, y) do { } while (0)
>  
>  #endif
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Aug 26 23:24:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 23:24:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173223.316087 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJOjt-0005li-J2; Thu, 26 Aug 2021 23:24:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173223.316087; Thu, 26 Aug 2021 23: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 1mJOjt-0005lb-G9; Thu, 26 Aug 2021 23:24:53 +0000
Received: by outflank-mailman (input) for mailman id 173223;
 Thu, 26 Aug 2021 23:24:52 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0Zrd=NR=kernel.org=sstabellini@srs-us1.protection.inumbo.net>)
 id 1mJOjr-0005lV-VP
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 23:24:52 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id cf49dd84-06c4-11ec-aa7a-12813bfff9fa;
 Thu, 26 Aug 2021 23:24:51 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id 0F81860FE6;
 Thu, 26 Aug 2021 23:24: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: cf49dd84-06c4-11ec-aa7a-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1630020290;
	bh=A7piJAcGf4rFHE6EoshQIhJMCdEnIFqF/zaPTsUT/tk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=bKXQ/kKsMtPqyjEa5Kt/67sGRjz08r//kzXymL/0cC5UAr+ibkJgQvesPAytz6jN7
	 KfcnFyFA+LuU/dTlq7mab5peu48WGcxbWzI7tkbf5XuwiZMoADdKpUf9sVj/G4rNDz
	 Re8M74KU+N7orEj4gpy9X/WDfPnveqRFlHlblW4r/wX/dQ3n5ALnHMbd28niZs5Y3u
	 pXxZJ0ZY72NaUDUtFDGm/IT9YnPKcBlrB2BesZAlXhHJRZv0RN1ZvhoAEi2e5S2h+u
	 LRwXgqXgepW2IYQxBR5U+dVEiW+hcNPXHB/Q0ZFTirZ8TmxYn2Ity6/+vBlV+iezBc
	 dDfRxXd/JUxZQ==
Date: Thu, 26 Aug 2021 16:24:49 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@sstabellini-ThinkPad-T480s
To: Wei Chen <wei.chen@arm.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, julien@xen.org, 
    jbeulich@suse.com, Bertrand.Marquis@arm.com
Subject: Re: [XEN RFC PATCH 18/40] xen/arm: Keep memory nodes in dtb for NUMA
 when boot from EFI
In-Reply-To: <20210811102423.28908-19-wei.chen@arm.com>
Message-ID: <alpine.DEB.2.21.2108261622500.24433@sstabellini-ThinkPad-T480s>
References: <20210811102423.28908-1-wei.chen@arm.com> <20210811102423.28908-19-wei.chen@arm.com>
User-Agent: Alpine 2.21 (DEB 202 2017-01-01)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 11 Aug 2021, Wei Chen wrote:
> EFI can get memory map from EFI system table. But EFI system
> table doesn't contain memory NUMA information, EFI depends on
> ACPI SRAT or device tree memory node to parse memory blocks'
> NUMA mapping.
> 
> But in current code, when Xen is booting from EFI, it will
> delete all memory nodes in device tree. So in UEFI + DTB
> boot, we don't have numa-node-id for memory blocks any more.
> 
> So in this patch, we will keep memory nodes in device tree for
> NUMA code to parse memory numa-node-id later.
> 
> As a side effect, if we still parse boot memory information in
> early_scan_node, bootmem.info will calculate memory ranges in
> memory nodes twice. So we have to prvent early_scan_node to
> parse memory nodes in EFI boot.
> 
> As EFI APIs only can be used in Arm64, so we introduced a wrapper
> in header file to prevent #ifdef CONFIG_ARM_64/32 in code block.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>  xen/arch/arm/bootfdt.c      |  8 +++++++-
>  xen/arch/arm/efi/efi-boot.h | 25 -------------------------
>  xen/include/asm-arm/setup.h |  6 ++++++
>  3 files changed, 13 insertions(+), 26 deletions(-)
> 
> diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
> index 476e32e0f5..7df149dbca 100644
> --- a/xen/arch/arm/bootfdt.c
> +++ b/xen/arch/arm/bootfdt.c
> @@ -11,6 +11,7 @@
>  #include <xen/lib.h>
>  #include <xen/kernel.h>
>  #include <xen/init.h>
> +#include <xen/efi.h>
>  #include <xen/device_tree.h>
>  #include <xen/libfdt/libfdt.h>
>  #include <xen/sort.h>
> @@ -335,7 +336,12 @@ static int __init early_scan_node(const void *fdt,
>  {
>      int rc = 0;
>  
> -    if ( device_tree_node_matches(fdt, node, "memory") )
> +    /*
> +     * If system boot from EFI, bootinfo.mem has been set by EFI,
> +     * so we don't need to parse memory node from DTB.
> +     */
> +    if ( device_tree_node_matches(fdt, node, "memory") &&
> +         !arch_efi_enabled(EFI_BOOT) )
>          rc = process_memory_node(fdt, node, name, depth,
>                                   address_cells, size_cells, &bootinfo.mem);
>      else if ( depth == 1 && !dt_node_cmp(name, "reserved-memory") )


If we are going to use the device tree info for the numa nodes (and
related memory) does it make sense to still rely on the EFI tables for
the memory map?

I wonder if we should just use device tree for memory and ignore EFI
instead. Do you know what Linux does in this regard?


From xen-devel-bounces@lists.xenproject.org Thu Aug 26 23:42:39 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 23:42:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173230.316098 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJP0z-0008V7-2w; Thu, 26 Aug 2021 23:42:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173230.316098; Thu, 26 Aug 2021 23: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 1mJP0y-0008V0-VN; Thu, 26 Aug 2021 23:42:32 +0000
Received: by outflank-mailman (input) for mailman id 173230;
 Thu, 26 Aug 2021 23:42:32 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=q24O=NR=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mJP0x-0008Uu-NO
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 23:42:32 +0000
Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 46f19710-06c7-11ec-aa7c-12813bfff9fa;
 Thu, 26 Aug 2021 23:42: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: 46f19710-06c7-11ec-aa7c-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1630021350;
  h=to:cc:references:from:subject:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=qQRtLIxDo3dBTKtWevj4AOWpU9OBbTyN9NpI/1nvHZU=;
  b=dVgBy8g6+qnzpPJB5NrBperx8cPbTatonHId9C0XYUW+hbOOJaMfdym/
   1HjH80rlBq0gMJVm29jICK71OmzVolLpKUyEVrzcShgiLPoqu0z2FSUT2
   35xpEBB7j21SAVFtnEuD40CtKSgqG/5j92EXsOTzFgRpfTitW7r+8KW6Z
   I=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: cIv441xJEEeTq4AsL3MRboM4sY5i6yNPqEHqLMe3SrYQ68+9UbWmbI5GtUYdQG16HeWjOQZiyN
 4jXOpWHooT6Ah2iesgqoLFiZavMS8mVNugTj2P7PnheRpCIlr1eAUoRqzOPSsz3Ccq8/BeTDbg
 3z1Sv1pLjeBbHyQCboEk0HaWLOzuIKAplLVGtfzW+B8XX5GdG6PZIspWIjWleIDgPQQWvKwYC8
 m3kQeXoXGazlB4gVRwYYlg4XumjodJcQDZNFmmzME/NVfu3T62j4v6WWMse16YAuNOSyp6JjgN
 j8C8fro3vHlCAT3KbYsBn75L
X-SBRS: 5.1
X-MesageID: 51399819
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:v4sMeK/mb147Az+ohJ1uk+FPdb1zdoMgy1knxilNoENuHfBwxv
 rDoB1E73LJYVYqOU3Jmbi7Scy9qADnhOFICO4qTMuftWjdyRaVxeRZg7cKrAeQYxEWmtQtsp
 uINpIOcuEYbmIK/foSgjPIaurIqePvmMvD5Za8vgVQpENRGsVdBm9Ce3em+yZNNW977PQCZf
 ihD4Z81kGdkSN9VLXEOpBJZZmOm/T70LbdJTIWDR8u7weDyRuu9b7BChCdmjMTSSlGz7sO+X
 XM11WR3NTsj9iLjjvnk0PD5ZVfn9XsjvNFGcy3k8AQbhHhkByhaohNU6CL+Bo1vOaswlA3l8
 SkmWZuA+1Dr1fqOk2lqxrk3AftlB4o9n/Z0FedxUDupMToLQhKQPZptMZ8SF/0+kAgtNZz3O
 ZgxGSCradaChvGgWDU+8XIfwsCrDv2nVMS1cooy1BPW4oXb7Fc6aYF+llOLZsGFCXmrKg6De
 hVCt3G7vo+SyLbU5nghBgr/DWQZAV2Iv/fKXJy/fB9kgIm3UyR9nFohvD2xRw7hdQAo/Au3Z
 W2Dkxq/Is+BvP+I5gNXdvpevHHflAldyi8eV56EW6XYZ3vBEi93KIfwI9Frt1CK6Z4gafbpv
 z6ISVlXCgJChrTNfE=
X-IronPort-AV: E=Sophos;i="5.84,354,1620705600"; 
   d="scan'208";a="51399819"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cmZDpQmMao+xzqH1G57ETCYP38TZH4ooyFs4oAU0r7h6SgW9vgsyBUb1WKYVtwUl8MGHXd6dxfcDtKIlHXRmT8ERa77PfbKafQhZgfjvs7GJnNOJFA6/pg262eV2rMwL/Uybn3bwwilo8vHpWBXrZifPAKwsI3KMELqvtU6A/nSzhDeby6YL3Wfy+FNwA+mEP2ImU7sKdubEJ+tefTH4RZqa4XNvnICjjKn+yrrQVtH40vHUYJQ3+Q0MRroM6lsRrG3zIt5jzxLv1FGNBwaBOuDyQvJm5uXQ2HSGOkPj2kgxCJMk0w9gXKI6IteEJCYGjGbru+p1HZoOdyRVWo2nPg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qQRtLIxDo3dBTKtWevj4AOWpU9OBbTyN9NpI/1nvHZU=;
 b=C2/JrSWDFv3qb8lLTYC8w/jNidzu/wpL6VprkfDBgZB75ewkPiHhmH3Y2rDgHAzXFoyxtmYwWLtyuadd6ylrhZYAknsIRdgV6QONnEmHg6XQ5vIMQ3hKBJMWHeKqRxvJL4sDkYm1OfYkIkZcOy1D3dBXAjkKFJObWjL3mEDc5D3LrSnIJy9PdCo26AoZBtV762dMed1nhE3c+FRAp70zW1TJHcTJNfBSxYpQeH4BBK/LpBqxg0E67/CQa5YW3+tb7fsDwL+kG3o9VLFQoj2dvX6fdHbX9tQc4OnkNkhrnayHyDsbHvUQZo/4UmwFlLc65pCSPSqMiw6vQBB9At2/Cw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qQRtLIxDo3dBTKtWevj4AOWpU9OBbTyN9NpI/1nvHZU=;
 b=c6CbZ0IE51iek7MouLSGpDpp7hUODxHHYXhu6PO5buZXmU8Sw8Zr8QTtdF7ql82TnSVjBaT4AMDyV1EmDLDt2vVgwgkv6SVl80G+doezw8CfWsZo3D2S8mK9EZ61lgy/sEHjtC3uBE0Xi9PahAg8O7u8iSOKbj9Ax2zjpV9bqhE=
To: Julien Grall <julien@xen.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Jan
 Beulich <jbeulich@suse.com>
References: <a1724918-94bf-748f-5c4b-5a3ec176368f@xen.org>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: HVM guest only bring up a single vCPU
Message-ID: <781aeba6-5e77-9995-cf58-9dc6fd443ad8@citrix.com>
Date: Fri, 27 Aug 2021 00:42:00 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <a1724918-94bf-748f-5c4b-5a3ec176368f@xen.org>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-GB
X-ClientProxiedBy: LO4P123CA0386.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18f::13) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 19e33158-ff4e-4d67-bcd7-08d968eb1d0a
X-MS-TrafficTypeDiagnostic: BY5PR03MB5156:
X-Microsoft-Antispam-PRVS: <BY5PR03MB515628E6D9DB9EB9C153B980BAC79@BY5PR03MB5156.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 4L6QqJ7mt01QJpQfxXo1kFeIuAeu7qnia3iaFXuOyh+FovpMUSh48tRXgVHGffOqx5JZUBNhIpj0bjGnHlR1mvNelH3BnJ8avuPpo3uqEjzR4ApRmxZbm/Te7cKBx84bPLneXc/82NWmIt6+xiwoUa1BQ9sZbaKeYzzfFpKzmyVGhWmtKBRUTnY7hIyd40j2fVXiP94nIH1u8NKAjOorD9D93TCoEBxBl7rx2BY1ZRhTsoGBquWAq1kqiWAEAYJjS33yA/SnqK1apD4e4niL20wARDLn5Bz0j+C01GDRLiNGdCfhHI35SPTRlM+FrdPLaw3bETrlwujGVxpS2XK0TzbiVTm/VZxZPeYkTeWb3YMx9jcwwXwcUZ+XLRhCTETQVBW/rULzk5RAfGF/tTOnRSBYxPRYjZtQKxIHuBfyzDY8u4hCHn5GBjpQ7McLfep6BM+yzrVjCs0oA3heA/2fGtyC68kz6aG3Wh0ZZG/SxGuIsERaAPnWXjTQ4ziC5nOWs7GubyczyAr9t/lBK90Rr2BuIK9/3cReXMweOdSZZ7bzWNBXlkDWJBwAyRD788/onOd9SkTHi8zowVUo725SH2FYwSHE7dqzLtpP0VmFEJ/+aFSw9kaMS6m4ZBD7QSZbJk2x41RfHEogWd/ieuYSjhZnSNl9p/o41Cuosf6zRnvZbnZqDUN1lF3mnK2Xs+mxyXnP8+94Y2S2dkWu92IaAHBs+bijL+rsxH04Q5WXoy0=
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:(4636009)(366004)(6486002)(16576012)(53546011)(5660300002)(31696002)(38100700002)(6916009)(55236004)(4326008)(8676002)(36756003)(2616005)(8936002)(54906003)(86362001)(956004)(316002)(186003)(6666004)(66476007)(31686004)(26005)(508600001)(66556008)(66946007)(2906002)(83380400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MzZPdDJmZzFVYVpoWUJScWVRM1FoQllyUFllY0lkVWZUdDJ6UWxYejExT2tk?=
 =?utf-8?B?KzZ1ZFcxdjlZdkNiZTk0ZDQ4RnIyd1JOTUZDcTZrMzVsTXFFK1Nqblk5QXUy?=
 =?utf-8?B?WXJKRHAva0NlVktWNW5xcEtBTW1rM2g5dklweHRZRTFNYUthQ051U1RjbHBE?=
 =?utf-8?B?SkQ2T1pjY01GU2RtbDZpRTdqdWNacUFtRDJVYjhLQkpzcnowMTlJSCtZNHRS?=
 =?utf-8?B?YWVtTmI1TW9HMnFFRXUyeDlJSnVqSUJicWc2UGU0enRwZlZtN1llbnJmMW4w?=
 =?utf-8?B?K25pOUxRL3lVam5yK0s5YmNTUlhUblQwaVhMYUs2dHNXMWI0VyswOU5JSC81?=
 =?utf-8?B?cCtmdzlpcGdjN1Q4WlpGTEFrSHBucSs2L0FITXY2UnpENEtHamN4Qnh2b05z?=
 =?utf-8?B?UUd4QUJkMGdpZEtNd1lscWFqNURuRWV3ZXk5ZzBzcHZpMS83RWFFcXlMQkxD?=
 =?utf-8?B?Sy8zbUpPTmlhTHQ0T3R3WFV1eDRCYUt1TlBqdksvbzBHemlBY1VoYVl3NjRx?=
 =?utf-8?B?WjFoYVVmMkEzaEhNRnAxd2R2WEtUU241OWxhTnV6TnR5QnNNOFdJYkowYTRl?=
 =?utf-8?B?Z3p4L00yd0VCbWhJNHJ5ZWhXS3VLR044NHFJTnN1TlVZVXFwMDY5UTU3Z1Q0?=
 =?utf-8?B?cTZsb2lyTnczZ3JsSWRENVlwc2JJMVZYc3RXbmxZamduR3Q0WVhmRFJqSFpl?=
 =?utf-8?B?aEp6WHE1aDd6d2o1Q3Z1bUxSdWpWb0FhSlhGaWhha1AzSDJGeUFuS2wyenVJ?=
 =?utf-8?B?b3lXWEhITE5ENzVoa1ZWZjF4UzJrNFN5UlJiSWZLbDVPYnBMSkhRZnFHZlBV?=
 =?utf-8?B?ZGtTSS9VU0t2V1ErZU9uWWs1anVIRWNPODRCRjFEcUFaV1FtT3RFeS9EOG1s?=
 =?utf-8?B?Umx2V25tYTI2dGZpQmlrb1ROR1dSUTJXalFBcUtOMHRGa01pT2dvME85UnhS?=
 =?utf-8?B?Q0lvSHpyekZMRnI3YzJHN0RpakpFR09QNEdSMmE5VjE4bWlrV1hRRXFMUWhJ?=
 =?utf-8?B?THFtdkQ5empaVDE2WHJlaWlFcmpNWFVDNWJ2WVZESXMvekJ3QnRxODJWWUtE?=
 =?utf-8?B?anVObm4vdVZ0SnV1cmRxVkh0QVZ6ekZrTXNNOGpNQVgrQnRXVnNUU2NnamFm?=
 =?utf-8?B?MmtOSjdkY3dMSnV6VXRndVVLR0M2eUVPQmNCaENlZUg5a1J6U3VjeXhGWkJR?=
 =?utf-8?B?bXljczBNS1g1S0lQRGo4WmFWbXloMkxjQjBmT3FCbmh0N05XS0V1cVh0cGp2?=
 =?utf-8?B?OUFSWEthM0dJNzdEQWZuVkwxSnR6VE56QXhwYTYybjd2TDNPZm5yNkVDOGc1?=
 =?utf-8?B?UnMxakE5TC8yOUM2WFo1K3EyZG9ma013cFVkenZoVnl2RXdDd01XZVpCWWJr?=
 =?utf-8?B?SWdXbXdCc1hXSU9CeUQ0K1U5WGFGL003OU1IZVVXOUtDTFpZMU9Dczh0STZj?=
 =?utf-8?B?R2RTYTYycTVad2N5Um96SzJHN1FmZFRHOFdiM2hPY1FuakwvbDh6R3lzemJE?=
 =?utf-8?B?MklxWElGUUNYditoaDl5aHlKZXNvYlkzRWN4dndwTFdWN3lyQk9YbEp6dTFZ?=
 =?utf-8?B?WVd5aW9pRGQzWFJqUUxzcVZvMU1ZYW1Ec3RuTStkN1FpQU5jY2lzMVdLblBJ?=
 =?utf-8?B?R3lKNnNlOTFjOE5FUFdtM2VLdmhoMHlNNXNML1VQRzNMenkyVWw5a3JxS3dR?=
 =?utf-8?B?S1dGY3YyTWtWeWhUV09oVW0wS2NyaURMWFNDVlNHTU5ySzR2Uzhxb0dNRFZ0?=
 =?utf-8?Q?GwcRw8j+TwEz2CB4JBQrDsr48UGv65zmk8W+JZd?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 19e33158-ff4e-4d67-bcd7-08d968eb1d0a
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 23:42:06.4621
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: s3ce7vSL/LA4pru4mohyh9VFAr1MKWYamat/33d99Ab1w+92dL1pi0KH3KhJbBRxn+IFa3wUaGlXe7eM8lC3iycv16q6o19M8aZXT+MjNlQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5156
X-OriginatorOrg: citrix.com

On 26/08/2021 22:00, Julien Grall wrote:
> Hi Andrew,
>
> While doing more testing today, I noticed that only one vCPU would be
> brought up with HVM guest with Xen 4.16 on my setup (QEMU):
>
> [=C2=A0=C2=A0=C2=A0 1.122180]
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D
> [=C2=A0=C2=A0=C2=A0 1.122180] UBSAN: shift-out-of-bounds in
> oss/linux/arch/x86/kernel/apic/apic.c:2362:13
> [=C2=A0=C2=A0=C2=A0 1.122180] shift exponent -1 is negative
> [=C2=A0=C2=A0=C2=A0 1.122180] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5=
.14.0-rc7+ #304
> [=C2=A0=C2=A0=C2=A0 1.122180] Hardware name: Xen HVM domU, BIOS 4.16-unst=
able 06/07/2021
> [=C2=A0=C2=A0=C2=A0 1.122180] Call Trace:
> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 dump_stack_lvl+0x56/0x6c
> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 ubsan_epilogue+0x5/0x50
> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 __ubsan_handle_shift_out_of_bounds+0x=
fa/0x140
> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 ? cgroup_kill_write+0x4d/0x150
> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 ? cpu_up+0x6e/0x100
> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 ? _raw_spin_unlock_irqrestore+0x30/0x=
50
> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 ? rcu_read_lock_held_common+0xe/0x40
> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 ? irq_shutdown_and_deactivate+0x11/0x=
30
> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 ? lock_release+0xc7/0x2a0
> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 ? apic_id_is_primary_thread+0x56/0x60
> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 apic_id_is_primary_thread+0x56/0x60
> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 cpu_up+0xbd/0x100
> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 bringup_nonboot_cpus+0x4f/0x60
> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 smp_init+0x26/0x74
> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 kernel_init_freeable+0x183/0x32d
> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 ? _raw_spin_unlock_irq+0x24/0x40
> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 ? rest_init+0x330/0x330
> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 kernel_init+0x17/0x140
> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 ? rest_init+0x330/0x330
> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 ret_from_fork+0x22/0x30
> [=C2=A0=C2=A0=C2=A0 1.122244]
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D
> [=C2=A0=C2=A0=C2=A0 1.123176] installing Xen timer for CPU 1
> [=C2=A0=C2=A0=C2=A0 1.123369] x86: Booting SMP configuration:
> [=C2=A0=C2=A0=C2=A0 1.123409] .... node=C2=A0 #0, CPUs:=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 #1
> [=C2=A0=C2=A0=C2=A0 1.154400] Callback from call_rcu_tasks_trace() invoke=
d.
> [=C2=A0=C2=A0=C2=A0 1.154491] smp: Brought up 1 node, 1 CPU
> [=C2=A0=C2=A0=C2=A0 1.154526] smpboot: Max logical packages: 2
> [=C2=A0=C2=A0=C2=A0 1.154570] smpboot: Total of 1 processors activated (5=
999.99
> BogoMIPS)
>
> I have tried a PV guest (same setup) and the kernel could bring up all
> the vCPUs.
>
> Digging down, Linux will set smp_num_siblings to 0 (via
> detect_ht_early()) and as a result will skip all the CPUs. The value
> is retrieve from a CPUID leaf. So it sounds like we don't set the
> leaft correctly.
>
> FWIW, I have also tried on Xen 4.11 and could spot the same issue.
> Does this ring any bell to you?

The CPUID data we give to guests is generally nonsense when it comes to
topology.=C2=A0 By any chance does the hardware you're booting this on not
have hyperthreading enabled/active to begin with?

Fixing this is on the todo list, but it needs libxl to start using
policy objects (series for the next phase of this still pending on
xen-devel).=C2=A0 Exactly how you represent the topology to the guest
correctly depends on the vendor and rough generation - I believe there
are 5 different algorithms to use, and for AMD in particular, it even
depends on how many IO-APICs are visible in the guest.

~Andrew



From xen-devel-bounces@lists.xenproject.org Thu Aug 26 23:52:42 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Aug 2021 23:52:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173236.316109 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJPAd-0001iC-2N; Thu, 26 Aug 2021 23:52:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173236.316109; Thu, 26 Aug 2021 23: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 1mJPAc-0001i5-Tv; Thu, 26 Aug 2021 23:52:30 +0000
Received: by outflank-mailman (input) for mailman id 173236;
 Thu, 26 Aug 2021 23:52:30 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0Zrd=NR=kernel.org=sstabellini@srs-us1.protection.inumbo.net>)
 id 1mJPAc-0001hz-45
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 23:52:30 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id b7a49a8b-aa57-4529-a81c-2b9f70cc8021;
 Thu, 26 Aug 2021 23:52:28 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id C965D60E75;
 Thu, 26 Aug 2021 23:52: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: b7a49a8b-aa57-4529-a81c-2b9f70cc8021
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1630021948;
	bh=Js2fqyHZX1Lp35NP+J4pC8KOyAuDM5eka8pvYqiw19Q=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=sy9fPnRXTRIQZ/g5At6TrTBTY+ok87VZQ9W3lR8zXjCZ6C0g+VdWQAzK2iEGujykr
	 ZrvU+tk8/Mp/X/IcVy3NNzLnRB9OLZyBzmoO9LiV4EmiW93Ly6tjyVkVu6bnE7p+Vv
	 kM6NRvFcTJXnnM6BSg+RXJ/VpJPBCjxN7dDlSv+levz5lSHlveeqk1Gl8Bj6SozKrV
	 x9Dxhw1iP0W2CRiqS6F4cKcJKjJ0bH5coXNIfejxKlNIKg4t/9Yt+TIR4Oroeadydh
	 vSotfNyEtYnHzlCxCaNKMYK8ZmVgxphMXGrqBx7Q9uCS5++3TT5Hv/69VZ3XPS0lOW
	 FIiDmHGERz/CA==
Date: Thu, 26 Aug 2021 16:52:26 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@sstabellini-ThinkPad-T480s
To: Wei Chen <wei.chen@arm.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, julien@xen.org, 
    jbeulich@suse.com, Bertrand.Marquis@arm.com
Subject: Re: [XEN RFC PATCH 20/40] xen/arm: implement node distance helpers
 for Arm64
In-Reply-To: <20210811102423.28908-21-wei.chen@arm.com>
Message-ID: <alpine.DEB.2.21.2108261640590.24433@sstabellini-ThinkPad-T480s>
References: <20210811102423.28908-1-wei.chen@arm.com> <20210811102423.28908-21-wei.chen@arm.com>
User-Agent: Alpine 2.21 (DEB 202 2017-01-01)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 11 Aug 2021, Wei Chen wrote:
> In current Xen code, __node_distance is a fake API, it always
> returns NUMA_REMOTE_DISTANCE(20). Now we use a matrix to record
> the distance between any two nodes. Accordingly, we provide a
> set_node_distance API to set the distance for any two nodes in
> this patch.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>  xen/arch/arm/numa.c        | 44 ++++++++++++++++++++++++++++++++++++++
>  xen/include/asm-arm/numa.h | 12 ++++++++++-
>  xen/include/asm-x86/numa.h |  1 -
>  xen/include/xen/numa.h     |  2 +-
>  4 files changed, 56 insertions(+), 3 deletions(-)
> 
> diff --git a/xen/arch/arm/numa.c b/xen/arch/arm/numa.c
> index 566ad1e52b..f61a8df645 100644
> --- a/xen/arch/arm/numa.c
> +++ b/xen/arch/arm/numa.c
> @@ -23,6 +23,11 @@
>  #include <xen/pfn.h>
>  #include <asm/setup.h>
>  
> +static uint8_t __read_mostly
> +node_distance_map[MAX_NUMNODES][MAX_NUMNODES] = {
> +    { NUMA_REMOTE_DISTANCE }
> +};
> +
>  void numa_set_node(int cpu, nodeid_t nid)
>  {
>      if ( nid >= MAX_NUMNODES ||
> @@ -32,6 +37,45 @@ void numa_set_node(int cpu, nodeid_t nid)
>      cpu_to_node[cpu] = nid;
>  }
>  
> +void __init numa_set_distance(nodeid_t from, nodeid_t to, uint32_t distance)
> +{
> +    if ( from >= MAX_NUMNODES || to >= MAX_NUMNODES )
> +    {
> +        printk(KERN_WARNING
> +            "NUMA nodes are out of matrix, from=%u to=%u distance=%u\n",
> +            from, to, distance);

NIT: please align. Example:

printk(KERN_WARNING
       "NUMA nodes are out of matrix, from=%u to=%u distance=%u\n",

Also please use PRIu32 for uint32_t. Probably should use PRIu8 for
nodeids.


> +        return;
> +    }
> +
> +    /* NUMA defines 0xff as an unreachable node and 0-9 are undefined */
> +    if ( distance >= NUMA_NO_DISTANCE ||
> +        (distance >= NUMA_DISTANCE_UDF_MIN &&
> +         distance <= NUMA_DISTANCE_UDF_MAX) ||
> +        (from == to && distance != NUMA_LOCAL_DISTANCE) )
> +    {
> +        printk(KERN_WARNING
> +            "Invalid NUMA node distance, from:%d to:%d distance=%d\n",
> +            from, to, distance);

NIT: please align

Also you used %u before for nodeids, which is better because from and to
are unsigned. Distance should be uint32_t.


> +        return;
> +    }
> +
> +    node_distance_map[from][to] = distance;

Shouldn't we also be setting:

    node_distance_map[to][from] = distance;

?


> +}
> +
> +uint8_t __node_distance(nodeid_t from, nodeid_t to)
> +{
> +    /*
> +     * Check whether the nodes are in the matrix range.
> +     * When any node is out of range, except from and to nodes are the
> +     * same, we treat them as unreachable (return 0xFF)
> +     */
> +    if ( from >= MAX_NUMNODES || to >= MAX_NUMNODES )
> +        return from == to ? NUMA_LOCAL_DISTANCE : NUMA_NO_DISTANCE;
> +
> +    return node_distance_map[from][to];
> +}
> +EXPORT_SYMBOL(__node_distance);
> +
>  void __init numa_init(bool acpi_off)
>  {
>      uint32_t idx;
> diff --git a/xen/include/asm-arm/numa.h b/xen/include/asm-arm/numa.h
> index bb495a24e1..559b028a01 100644
> --- a/xen/include/asm-arm/numa.h
> +++ b/xen/include/asm-arm/numa.h
> @@ -12,8 +12,19 @@ typedef u8 nodeid_t;
>   * set the number of NUMA memory block number to 128.
>   */
>  #define NODES_SHIFT      6
> +/*
> + * In ACPI spec, 0-9 are the reserved values for node distance,
> + * 10 indicates local node distance, 20 indicates remote node
> + * distance. Set node distance map in device tree will follow
> + * the ACPI's definition.
> + */
> +#define NUMA_DISTANCE_UDF_MIN   0
> +#define NUMA_DISTANCE_UDF_MAX   9
> +#define NUMA_LOCAL_DISTANCE     10
> +#define NUMA_REMOTE_DISTANCE    20
>  
>  extern void numa_init(bool acpi_off);
> +extern void numa_set_distance(nodeid_t from, nodeid_t to, uint32_t distance);
>  
>  /*
>   * Temporary for fake NUMA node, when CPU, memory and distance
> @@ -21,7 +32,6 @@ extern void numa_init(bool acpi_off);
>   * symbols will be removed.
>   */
>  extern mfn_t first_valid_mfn;
> -#define __node_distance(a, b) (20)
>  
>  #else
>  
> diff --git a/xen/include/asm-x86/numa.h b/xen/include/asm-x86/numa.h
> index 5a57a51e26..e0253c20b7 100644
> --- a/xen/include/asm-x86/numa.h
> +++ b/xen/include/asm-x86/numa.h
> @@ -21,7 +21,6 @@ extern nodeid_t apicid_to_node[];
>  extern void init_cpu_to_node(void);
>  
>  void srat_parse_regions(u64 addr);
> -extern u8 __node_distance(nodeid_t a, nodeid_t b);
>  unsigned int arch_get_dma_bitsize(void);
>  
>  #endif
> diff --git a/xen/include/xen/numa.h b/xen/include/xen/numa.h
> index cb08d2eca9..0475823b13 100644
> --- a/xen/include/xen/numa.h
> +++ b/xen/include/xen/numa.h
> @@ -58,7 +58,7 @@ static inline __attribute__((pure)) nodeid_t phys_to_nid(paddr_t addr)
>  #define node_spanned_pages(nid)	(NODE_DATA(nid)->node_spanned_pages)
>  #define node_end_pfn(nid)       (NODE_DATA(nid)->node_start_pfn + \
>  				 NODE_DATA(nid)->node_spanned_pages)
> -
> +extern u8 __node_distance(nodeid_t a, nodeid_t b);
>  extern void numa_add_cpu(int cpu);
>  
>  struct node {
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 00:06:28 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 00:06:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173241.316119 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJPO1-0003zA-HQ; Fri, 27 Aug 2021 00:06:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173241.316119; Fri, 27 Aug 2021 00: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 1mJPO1-0003z3-Da; Fri, 27 Aug 2021 00:06:21 +0000
Received: by outflank-mailman (input) for mailman id 173241;
 Fri, 27 Aug 2021 00:06:20 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CT99=NS=kernel.org=sstabellini@srs-us1.protection.inumbo.net>)
 id 1mJPO0-0003yx-1A
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 00:06:20 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 9a92cf26-06ca-11ec-aa7e-12813bfff9fa;
 Fri, 27 Aug 2021 00:06:19 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id 4E459600CD;
 Fri, 27 Aug 2021 00:06: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: 9a92cf26-06ca-11ec-aa7e-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1630022778;
	bh=IS7aFW2nFEtGdZpMhVEplz2+N7A6qxi7NXo5DXqKHUg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=B7tUP6dJxpQ3VZBOhPeQ8e6HVUjeUdYGoma5LUvKJiOzvtzYb+ia1PLmXMdWOt/un
	 KGJqp7MfsEEjaM5waM+1m7/+ZK6Fpi23Xk/7EKzKchMyZvPczat6LYqxJIWGqW2eqy
	 bismCD20iUvZ62mNGOt1P4FMDtbK6j4A8PKmiaPQ/e8hF51VWa2yvif3LHedI3HWox
	 18QvwxNguBc+cNWpmnhlYjr92Dnp6b83zEP5ZSvf5mwe4Jn/wR3EEF9HBxFOHWBZF7
	 /zBiSo9awcv/OPvCgIRC9sCAW7MsuCgTPb4yoG8qyw3iKq3KoJrEcSWpbIrhP3jRdX
	 Jw3CZksjEPsqQ==
Date: Thu, 26 Aug 2021 17:06:17 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@sstabellini-ThinkPad-T480s
To: Wei Chen <wei.chen@arm.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, julien@xen.org, 
    jbeulich@suse.com, Bertrand.Marquis@arm.com
Subject: Re: [XEN RFC PATCH 22/40] xen/arm: introduce a helper to parse device
 tree processor node
In-Reply-To: <20210811102423.28908-23-wei.chen@arm.com>
Message-ID: <alpine.DEB.2.21.2108261705000.24433@sstabellini-ThinkPad-T480s>
References: <20210811102423.28908-1-wei.chen@arm.com> <20210811102423.28908-23-wei.chen@arm.com>
User-Agent: Alpine 2.21 (DEB 202 2017-01-01)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 11 Aug 2021, Wei Chen wrote:
> Processor NUMA ID information is stored in device tree's processor
> node as "numa-node-id". We need a new helper to parse this ID from
> processor node. If we get this ID from processor node, this ID's
> validity still need to be checked. Once we got a invalid NUMA ID
> from any processor node, the device tree will be marked as NUMA
> information invalid.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>  xen/arch/arm/numa_device_tree.c | 41 +++++++++++++++++++++++++++++++--
>  1 file changed, 39 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/arch/arm/numa_device_tree.c b/xen/arch/arm/numa_device_tree.c
> index 1c74ad135d..37cc56acf3 100644
> --- a/xen/arch/arm/numa_device_tree.c
> +++ b/xen/arch/arm/numa_device_tree.c
> @@ -20,16 +20,53 @@
>  #include <xen/init.h>
>  #include <xen/nodemask.h>
>  #include <xen/numa.h>
> +#include <xen/device_tree.h>
> +#include <asm/setup.h>
>  
>  s8 device_tree_numa = 0;
> +static nodemask_t processor_nodes_parsed __initdata;
>  
> -int srat_disabled(void)
> +static int srat_disabled(void)
>  {
>      return numa_off || device_tree_numa < 0;
>  }
>  
> -void __init bad_srat(void)
> +static __init void bad_srat(void)
>  {
>      printk(KERN_ERR "DT: NUMA information is not used.\n");
>      device_tree_numa = -1;
>  }
> +
> +/* Callback for device tree processor affinity */
> +static int __init dtb_numa_processor_affinity_init(nodeid_t node)
> +{
> +    if ( srat_disabled() )
> +        return -EINVAL;
> +    else if ( node == NUMA_NO_NODE || node >= MAX_NUMNODES ) {
> +		bad_srat();
> +		return -EINVAL;
> +	}
> +
> +    node_set(node, processor_nodes_parsed);
> +
> +    device_tree_numa = 1;
> +    printk(KERN_INFO "DT: NUMA node %u processor parsed\n", node);
> +
> +    return 0;
> +}
> +
> +/* Parse CPU NUMA node info */
> +int __init device_tree_parse_numa_cpu_node(const void *fdt, int node)
> +{
> +    uint32_t nid;
> +
> +    nid = device_tree_get_u32(fdt, node, "numa-node-id", MAX_NUMNODES);
> +    printk(XENLOG_WARNING "CPU on NUMA node:%u\n", nid);

Given that this is not actually a warning (is it?) then I would move it
to XENLOG_INFO


> +    if ( nid >= MAX_NUMNODES )
> +    {
> +        printk(XENLOG_WARNING "Node id %u exceeds maximum value\n", nid);

This could be XENLOG_ERR


> +        return -EINVAL;
> +    }
> +
> +    return dtb_numa_processor_affinity_init(nid);
> +}



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 00:58:49 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 00:58:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173262.316197 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJQCk-0002qu-52; Fri, 27 Aug 2021 00:58:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173262.316197; Fri, 27 Aug 2021 00: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 1mJQCj-0002nj-LJ; Fri, 27 Aug 2021 00:58:45 +0000
Received: by outflank-mailman (input) for mailman id 173262;
 Fri, 27 Aug 2021 00:58:06 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VcrI=NS=flex--seanjc.bounces.google.com=3iTgoYQYKCaocOKXTMQYYQVO.MYWhOX-NOfOVVScdc.hOXZbYTOMd.YbQ@srs-us1.protection.inumbo.net>)
 id 1mJQC6-0001Ok-H6
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 00:58:06 +0000
Received: from mail-qv1-xf4a.google.com (unknown [2607:f8b0:4864:20::f4a])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 14154ef7-1d3a-4db0-981c-468b70b902b7;
 Fri, 27 Aug 2021 00:57:45 +0000 (UTC)
Received: by mail-qv1-xf4a.google.com with SMTP id
 y1-20020a0cec01000000b00375e130950fso2824753qvo.14
 for <xen-devel@lists.xenproject.org>; Thu, 26 Aug 2021 17:57: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: 14154ef7-1d3a-4db0-981c-468b70b902b7
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20161025;
        h=reply-to:date:in-reply-to:message-id:mime-version:references
         :subject:from:to:cc;
        bh=ruUdABYeGOxk9Wbic5Hd5odsewNKbNWoYU61ZxyE/gg=;
        b=vndU5Ssx1OSDPC9rhyF45w6Pl7KtF0HVdGcu07QMxr8hS7zmZr27FOwtaxJ1tTTkEv
         TjbpCl/yYOXwwbt+SfzpzW3C6DQ9IlXFMA5KyM2L5I/ODQXruJ5mMmlo2GULJ15xapc7
         DFo1XzvZHNjyXnPyzThDoBjBnUJ1S5bL2Zix9AnTvvwdLOZpELvTqnih27/JdGkMAZoP
         quXkeM9af9v2IYqphIzmnDdaHD0J50WGHw7/sBwRcQXuQNUtKrPYoGQP0EI8s8Bwn6H5
         0rtanzqf7O/zwFamcAeVErwzbLq+HxNe55hWM4yl7reqNOj5UMfQohDiN9UF2ESzt0l+
         hATA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:reply-to:date:in-reply-to:message-id
         :mime-version:references:subject:from:to:cc;
        bh=ruUdABYeGOxk9Wbic5Hd5odsewNKbNWoYU61ZxyE/gg=;
        b=t1oMi5fgbCmoq80Fwwee6FfRrsvgL+OZIyOEQQt/8NSYAw5JqN1PQUvnLDd+JLg67r
         2rGLTIZyAH1iCxskhSIKPAiMJIA+YEeuRH/wb4GMX4zzxwztVIBXg6DJroJBnU1gHx/s
         IufuUEFfuMKGEfMx+paH5TeLdvxY2DwsB/SKnpJEfZ6FPDaIGzabRgONp2FtT38mF8yC
         BJ7Z8KzzFNVi8O58sC+3b4RxSSUkDCPkg+zRUZAFSABrVtJjtLnaKi/58+vnQ5vn4R+u
         /RXHONQEurCxkP4cz2TYw6NTTw/LrVaN3kv4eWRRwvQ0oaGvOM5q3CIxGGJIhUN6YUmP
         layw==
X-Gm-Message-State: AOAM530e51NyY93R9tU5w21PF+KSWiH3tnmPfbnzJg1sFk9IGQMXvAWz
	f7oYMuXSSGLQUz+hEwJ1lPgR9coZWDQ=
X-Google-Smtp-Source: ABdhPJxmVIKT1CgaTJnI3PKNih3UzXPOYiYk1l24a+ud0Vw4EBZOBMMmsnAtkB7iXZi5aG3MALLptO9xIv4=
X-Received: from seanjc798194.pdx.corp.google.com ([2620:15c:90:200:c16c:db05:96b2:1475])
 (user=seanjc job=sendgmr) by 2002:a05:6214:14f2:: with SMTP id
 k18mr7332294qvw.19.1630025865337; Thu, 26 Aug 2021 17:57:45 -0700 (PDT)
Reply-To: Sean Christopherson <seanjc@google.com>
Date: Thu, 26 Aug 2021 17:57:10 -0700
In-Reply-To: <20210827005718.585190-1-seanjc@google.com>
Message-Id: <20210827005718.585190-8-seanjc@google.com>
Mime-Version: 1.0
References: <20210827005718.585190-1-seanjc@google.com>
X-Mailer: git-send-email 2.33.0.259.gc128427fd7-goog
Subject: [PATCH 07/15] KVM: Use dedicated flag to track if KVM is handling an
 NMI from guest
From: Sean Christopherson <seanjc@google.com>
To: Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>, 
	Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Catalin Marinas <catalin.marinas@arm.com>, Marc Zyngier <maz@kernel.org>, 
	Guo Ren <guoren@kernel.org>, Nick Hu <nickhu@andestech.com>, 
	Greentime Hu <green.hu@gmail.com>, Vincent Chen <deanbo422@gmail.com>, 
	Paul Walmsley <paul.walmsley@sifive.com>, Palmer Dabbelt <palmer@dabbelt.com>, 
	Albert Ou <aou@eecs.berkeley.edu>, Thomas Gleixner <tglx@linutronix.de>, 
	Borislav Petkov <bp@alien8.de>, x86@kernel.org, Paolo Bonzini <pbonzini@redhat.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, Juergen Gross <jgross@suse.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@redhat.com>, 
	Namhyung Kim <namhyung@kernel.org>, James Morse <james.morse@arm.com>, 
	Alexandru Elisei <alexandru.elisei@arm.com>, Suzuki K Poulose <suzuki.poulose@arm.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Sean Christopherson <seanjc@google.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Wanpeng Li <wanpengli@tencent.com>, 
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, linux-perf-users@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, 
	kvmarm@lists.cs.columbia.edu, linux-csky@vger.kernel.org, 
	linux-riscv@lists.infradead.org, kvm@vger.kernel.org, 
	xen-devel@lists.xenproject.org, Artem Kashkanov <artem.kashkanov@intel.com>, 
	Like Xu <like.xu.linux@gmail.com>, Zhu Lingshan <lingshan.zhu@intel.com>
Content-Type: text/plain; charset="UTF-8"

Add a dedicated flag to detect the case where KVM's PMC overflow
callback was originally invoked in response to an NMI that arrived while
the guest was running.  Using current_vcpu is less precise as IRQs also
set current_vcpu (though presumably KVM's callback should not be reached
in that case), and more importantly, this will allow dropping
current_vcpu as the perf callbacks can switch to kvm_running_vcpu now
that the perf callbacks are precisely registered, i.e. kvm_running_vcpu
doesn't need to be used to detect if a PMI arrived in the guest.

Fixes: dd60d217062f ("KVM: x86: Fix perf timer mode IP reporting")
Signed-off-by: Sean Christopherson <seanjc@google.com>
---
 arch/x86/include/asm/kvm_host.h | 3 +--
 arch/x86/kvm/pmu.c              | 2 +-
 arch/x86/kvm/svm/svm.c          | 2 +-
 arch/x86/kvm/vmx/vmx.c          | 2 +-
 arch/x86/kvm/x86.c              | 4 ++--
 arch/x86/kvm/x86.h              | 4 +++-
 6 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
index 1ea4943a73d7..465b35736d9b 100644
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -763,6 +763,7 @@ struct kvm_vcpu_arch {
 	unsigned nmi_pending; /* NMI queued after currently running handler */
 	bool nmi_injected;    /* Trying to inject an NMI this entry */
 	bool smi_pending;    /* SMI queued after currently running handler */
+	bool handling_nmi_from_guest;
 
 	struct kvm_mtrr mtrr_state;
 	u64 pat;
@@ -1874,8 +1875,6 @@ int kvm_skip_emulated_instruction(struct kvm_vcpu *vcpu);
 int kvm_complete_insn_gp(struct kvm_vcpu *vcpu, int err);
 void __kvm_request_immediate_exit(struct kvm_vcpu *vcpu);
 
-int kvm_is_in_guest(void);
-
 void __user *__x86_set_memory_region(struct kvm *kvm, int id, gpa_t gpa,
 				     u32 size);
 bool kvm_vcpu_is_reset_bsp(struct kvm_vcpu *vcpu);
diff --git a/arch/x86/kvm/pmu.c b/arch/x86/kvm/pmu.c
index 0772bad9165c..2b8934b452ea 100644
--- a/arch/x86/kvm/pmu.c
+++ b/arch/x86/kvm/pmu.c
@@ -87,7 +87,7 @@ static void kvm_perf_overflow_intr(struct perf_event *perf_event,
 		 * woken up. So we should wake it, but this is impossible from
 		 * NMI context. Do it from irq work instead.
 		 */
-		if (!kvm_is_in_guest())
+		if (!pmc->vcpu->arch.handling_nmi_from_guest)
 			irq_work_queue(&pmc_to_pmu(pmc)->irq_work);
 		else
 			kvm_make_request(KVM_REQ_PMI, pmc->vcpu);
diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c
index 1a70e11f0487..3fc6767e5fd8 100644
--- a/arch/x86/kvm/svm/svm.c
+++ b/arch/x86/kvm/svm/svm.c
@@ -3843,7 +3843,7 @@ static __no_kcsan fastpath_t svm_vcpu_run(struct kvm_vcpu *vcpu)
 	}
 
 	if (unlikely(svm->vmcb->control.exit_code == SVM_EXIT_NMI))
-		kvm_before_interrupt(vcpu);
+		kvm_before_interrupt(vcpu, true);
 
 	kvm_load_host_xsave_state(vcpu);
 	stgi();
diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
index f19d72136f77..f08980ef7c44 100644
--- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c
@@ -6344,7 +6344,7 @@ void vmx_do_interrupt_nmi_irqoff(unsigned long entry);
 static void handle_interrupt_nmi_irqoff(struct kvm_vcpu *vcpu,
 					unsigned long entry)
 {
-	kvm_before_interrupt(vcpu);
+	kvm_before_interrupt(vcpu, entry == (unsigned long)asm_exc_nmi_noist);
 	vmx_do_interrupt_nmi_irqoff(entry);
 	kvm_after_interrupt(vcpu);
 }
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index bc4ee6ea7752..d4d91944fde7 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -8267,7 +8267,7 @@ static void kvm_timer_init(void)
 DEFINE_PER_CPU(struct kvm_vcpu *, current_vcpu);
 EXPORT_PER_CPU_SYMBOL_GPL(current_vcpu);
 
-int kvm_is_in_guest(void)
+static int kvm_is_in_guest(void)
 {
 	return __this_cpu_read(current_vcpu) != NULL;
 }
@@ -9678,7 +9678,7 @@ static int vcpu_enter_guest(struct kvm_vcpu *vcpu)
 	 * interrupts on processors that implement an interrupt shadow, the
 	 * stat.exits increment will do nicely.
 	 */
-	kvm_before_interrupt(vcpu);
+	kvm_before_interrupt(vcpu, false);
 	local_irq_enable();
 	++vcpu->stat.exits;
 	local_irq_disable();
diff --git a/arch/x86/kvm/x86.h b/arch/x86/kvm/x86.h
index 5cedc0e8a5d5..4c5ba4128b38 100644
--- a/arch/x86/kvm/x86.h
+++ b/arch/x86/kvm/x86.h
@@ -395,9 +395,10 @@ static inline void kvm_unregister_perf_callbacks(void)
 
 DECLARE_PER_CPU(struct kvm_vcpu *, current_vcpu);
 
-static inline void kvm_before_interrupt(struct kvm_vcpu *vcpu)
+static inline void kvm_before_interrupt(struct kvm_vcpu *vcpu, bool is_nmi)
 {
 	__this_cpu_write(current_vcpu, vcpu);
+	WRITE_ONCE(vcpu->arch.handling_nmi_from_guest, is_nmi);
 
 	kvm_register_perf_callbacks();
 }
@@ -406,6 +407,7 @@ static inline void kvm_after_interrupt(struct kvm_vcpu *vcpu)
 {
 	kvm_unregister_perf_callbacks();
 
+	WRITE_ONCE(vcpu->arch.handling_nmi_from_guest, false);
 	__this_cpu_write(current_vcpu, NULL);
 }
 
-- 
2.33.0.259.gc128427fd7-goog



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 00:58:49 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 00:58:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173248.316135 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJQCg-0001Yt-8M; Fri, 27 Aug 2021 00:58:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173248.316135; Fri, 27 Aug 2021 00:58:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJQCg-0001Y6-4A; Fri, 27 Aug 2021 00:58:42 +0000
Received: by outflank-mailman (input) for mailman id 173248;
 Fri, 27 Aug 2021 00:57:31 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=he6e=NS=flex--seanjc.bounces.google.com=3eTgoYQYKCZoM84HD6AIIAF8.6IGR8H-78P8FFCMNM.R8HJLID86N.ILA@srs-us1.protection.inumbo.net>)
 id 1mJQBX-0001Ok-L7
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 00:57:31 +0000
Received: from mail-yb1-xb49.google.com (unknown [2607:f8b0:4864:20::b49])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 53291bf9-f8de-443e-8421-0e70596cfc3d;
 Fri, 27 Aug 2021 00:57:30 +0000 (UTC)
Received: by mail-yb1-xb49.google.com with SMTP id
 b9-20020a5b07890000b0290558245b7eabso1871564ybq.10
 for <xen-devel@lists.xenproject.org>; Thu, 26 Aug 2021 17:57: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: 53291bf9-f8de-443e-8421-0e70596cfc3d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20161025;
        h=reply-to:date:message-id:mime-version:subject:from:to:cc;
        bh=pdAXhHtRt+WRQLNkVTKYCLh0PcmkBEMxKTEjaECJXEE=;
        b=pE0mDgLPs8yki5IuCsFxvQe1gsBHydhzDBAYxi7pJLeHliAihZ/Pwk/+iSWZFPMYb7
         nd5wHjsQOvo1WkAtZ+9JJrdP32uDOuRGZQSSHsBBYlCOFlELQsp6Y6bayw0IGkkaYrUP
         kzDmY+Z9kb4aYjXPEPVy+jOyXI7f6Dx9dR0sPaesQeOveElI9QnlKJO/pFxdgo8Xz9T0
         RQOuQaqnFmIlVgKPsyHoJ4KTZf+IKGVJp+E+voVuWVkH697tIjBXChGpAzprLa8mALCj
         X1IMo88q5TLCwd0JLgo5VYcuufMpEtAPaYFCA8RlSbm1jH1vZIX3PAhTSB7XZJhoVCBr
         PkRw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:reply-to:date:message-id:mime-version:subject
         :from:to:cc;
        bh=pdAXhHtRt+WRQLNkVTKYCLh0PcmkBEMxKTEjaECJXEE=;
        b=VTb0TQxWG1WMefDDEDoAdJuRD0IORWT16GYrHAn5sJyQh76t7dnbUmM4vorX7E0ct5
         RHdta7S74iXbxdyISbKtv3fismzmNk3gu2UAOQuh+i2D86eos9I+ZMTqrKapxKv3P1LB
         bGdG0o4RTMUd2Xy2XwVo2pw0fokuzLN0e9o4lYISdmmbq8wXeRK3cjrV8OEWT6xc5/kG
         blo1Om2VH/A33NX1AN6cVWRclBQEHBgf+MrP535uoYo001OLpA8UdgGBPHTU/FMNynaQ
         Rjb0Smu4Ww1goCQ1R8ThWrGiEjCtCXgDshhYzeXIKObaZUnvdXaYRLbe4aPqMMUrmHNm
         qTTQ==
X-Gm-Message-State: AOAM530w1+b8dr2W1VCKZOOfBSxDymRYNUDfI81Fj8Uno3yFpaHGV/Kz
	0ioIdpoxXN4mZ/QxwFdEYLi13ryTZwM=
X-Google-Smtp-Source: ABdhPJzVYXytuqf9A5ptHfXceux4csoEB+K5zM4u/0R22zKT7I6HN+L+rw+ywcwa0LGPxcazSYQrRmN0u2I=
X-Received: from seanjc798194.pdx.corp.google.com ([2620:15c:90:200:c16c:db05:96b2:1475])
 (user=seanjc job=sendgmr) by 2002:a25:b782:: with SMTP id n2mr1982955ybh.159.1630025849601;
 Thu, 26 Aug 2021 17:57:29 -0700 (PDT)
Reply-To: Sean Christopherson <seanjc@google.com>
Date: Thu, 26 Aug 2021 17:57:03 -0700
Message-Id: <20210827005718.585190-1-seanjc@google.com>
Mime-Version: 1.0
X-Mailer: git-send-email 2.33.0.259.gc128427fd7-goog
Subject: [PATCH 00/15] perf: KVM: Fix, optimize, and clean up callbacks
From: Sean Christopherson <seanjc@google.com>
To: Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>, 
	Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Catalin Marinas <catalin.marinas@arm.com>, Marc Zyngier <maz@kernel.org>, 
	Guo Ren <guoren@kernel.org>, Nick Hu <nickhu@andestech.com>, 
	Greentime Hu <green.hu@gmail.com>, Vincent Chen <deanbo422@gmail.com>, 
	Paul Walmsley <paul.walmsley@sifive.com>, Palmer Dabbelt <palmer@dabbelt.com>, 
	Albert Ou <aou@eecs.berkeley.edu>, Thomas Gleixner <tglx@linutronix.de>, 
	Borislav Petkov <bp@alien8.de>, x86@kernel.org, Paolo Bonzini <pbonzini@redhat.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, Juergen Gross <jgross@suse.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@redhat.com>, 
	Namhyung Kim <namhyung@kernel.org>, James Morse <james.morse@arm.com>, 
	Alexandru Elisei <alexandru.elisei@arm.com>, Suzuki K Poulose <suzuki.poulose@arm.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Sean Christopherson <seanjc@google.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Wanpeng Li <wanpengli@tencent.com>, 
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, linux-perf-users@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, 
	kvmarm@lists.cs.columbia.edu, linux-csky@vger.kernel.org, 
	linux-riscv@lists.infradead.org, kvm@vger.kernel.org, 
	xen-devel@lists.xenproject.org, Artem Kashkanov <artem.kashkanov@intel.com>, 
	Like Xu <like.xu.linux@gmail.com>, Zhu Lingshan <lingshan.zhu@intel.com>
Content-Type: text/plain; charset="UTF-8"

This started out as a small series[1] to fix a KVM bug related to Intel PT
interrupt handling and snowballed horribly.

The main problem being addressed is that the perf_guest_cbs are shared by
all CPUs, can be nullified by KVM during module unload, and are not
protected against concurrent access from NMI context.

The bug has escaped notice because all dereferences of perf_guest_cbs
follow the same "perf_guest_cbs && perf_guest_cbs->is_in_guest()" pattern,
and AFAICT the compiler never reloads perf_guest_cbs in this sequence.
The compiler does reload perf_guest_cbs for any future dereferences, but
the ->is_in_guest() guard all but guarantees the PMI handler will win the
race, e.g. to nullify perf_guest_cbs, KVM has to completely exit the guest
and teardown down all VMs before it can be unloaded.

But with help, e.g. READ_ONCE(perf_guest_cbs), unloading kvm_intel can
trigger a NULL pointer derference (see below).  Manual intervention aside,
the bug is a bit of a time bomb, e.g. my patch 3 from the original PT
handling series would have omitted the ->is_in_guest() guard.

This series fixes the problem by making the callbacks per-CPU, and
registering/unregistering the callbacks only with preemption disabled
(except for the Xen case, which doesn't unregister).

This approach also allows for several nice cleanups in this series.
KVM x86 and arm64 can share callbacks, KVM x86 drops its somewhat
redundant current_vcpu, and the retpoline that is currently hit when KVM
is loaded (due to always checking ->is_in_guest()) goes away (it's still
there when running as Xen Dom0).

Changing to per-CPU callbacks also provides a good excuse to excise
copy+paste code from architectures that can't possibly have guest
callbacks.

This series conflicts horribly with a proposed patch[2] to use static
calls for perf_guest_cbs.  But that patch is broken as it completely
fails to handle unregister, and it's not clear to me whether or not
it can correctly handle unregister without fixing the underlying race
(I don't know enough about the code patching for static calls).

This tweak

diff --git a/arch/x86/events/core.c b/arch/x86/events/core.c
index 1eb45139fcc6..202e5ad97f82 100644
--- a/arch/x86/events/core.c
+++ b/arch/x86/events/core.c
@@ -2954,7 +2954,7 @@ unsigned long perf_misc_flags(struct pt_regs *regs)
 {
        int misc = 0;

-       if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
+       if (READ_ONCE(perf_guest_cbs) && READ_ONCE(perf_guest_cbs)->is_in_guest()) {
                if (perf_guest_cbs->is_user_mode())
                        misc |= PERF_RECORD_MISC_GUEST_USER;
                else

while spamming module load/unload leads to:

  BUG: kernel NULL pointer dereference, address: 0000000000000000
  #PF: supervisor read access in kernel mode
  #PF: error_code(0x0000) - not-present page
  PGD 0 P4D 0
  Oops: 0000 [#1] PREEMPT SMP
  CPU: 6 PID: 1825 Comm: stress Not tainted 5.14.0-rc2+ #459
  Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015
  RIP: 0010:perf_misc_flags+0x1c/0x70
  Call Trace:
   perf_prepare_sample+0x53/0x6b0
   perf_event_output_forward+0x67/0x160
   __perf_event_overflow+0x52/0xf0
   handle_pmi_common+0x207/0x300
   intel_pmu_handle_irq+0xcf/0x410
   perf_event_nmi_handler+0x28/0x50
   nmi_handle+0xc7/0x260
   default_do_nmi+0x6b/0x170
   exc_nmi+0x103/0x130
   asm_exc_nmi+0x76/0xbf

[1] https://lkml.kernel.org/r/20210823193709.55886-1-seanjc@google.com
[2] https://lkml.kernel.org/r/20210806133802.3528-2-lingshan.zhu@intel.com

Sean Christopherson (15):
  KVM: x86: Register perf callbacks after calling vendor's
    hardware_setup()
  KVM: x86: Register Processor Trace interrupt hook iff PT enabled in
    guest
  perf: Stop pretending that perf can handle multiple guest callbacks
  perf: Force architectures to opt-in to guest callbacks
  perf: Track guest callbacks on a per-CPU basis
  KVM: x86: Register perf callbacks only when actively handling
    interrupt
  KVM: Use dedicated flag to track if KVM is handling an NMI from guest
  KVM: x86: Drop current_vcpu in favor of kvm_running_vcpu
  KVM: arm64: Register/unregister perf callbacks at vcpu load/put
  KVM: Move x86's perf guest info callbacks to generic KVM
  KVM: x86: Move Intel Processor Trace interrupt handler to vmx.c
  KVM: arm64: Convert to the generic perf callbacks
  KVM: arm64: Drop perf.c and fold its tiny bit of code into pmu.c
  perf: Disallow bulk unregistering of guest callbacks and do cleanup
  perf: KVM: Indicate "in guest" via NULL ->is_in_guest callback

 arch/arm/kernel/perf_callchain.c   | 28 ++------------
 arch/arm64/Kconfig                 |  1 +
 arch/arm64/include/asm/kvm_host.h  |  8 +++-
 arch/arm64/kernel/perf_callchain.c | 18 ++++++---
 arch/arm64/kvm/Makefile            |  2 +-
 arch/arm64/kvm/arm.c               | 13 ++++++-
 arch/arm64/kvm/perf.c              | 62 ------------------------------
 arch/arm64/kvm/pmu.c               |  8 ++++
 arch/csky/kernel/perf_callchain.c  | 10 -----
 arch/nds32/kernel/perf_event_cpu.c | 29 ++------------
 arch/riscv/kernel/perf_callchain.c | 10 -----
 arch/x86/Kconfig                   |  1 +
 arch/x86/events/core.c             | 17 +++++---
 arch/x86/events/intel/core.c       |  7 ++--
 arch/x86/include/asm/kvm_host.h    |  4 +-
 arch/x86/kvm/pmu.c                 |  2 +-
 arch/x86/kvm/pmu.h                 |  1 +
 arch/x86/kvm/svm/svm.c             |  2 +-
 arch/x86/kvm/vmx/vmx.c             | 25 ++++++++++--
 arch/x86/kvm/x86.c                 | 54 +++-----------------------
 arch/x86/kvm/x86.h                 | 12 +++---
 arch/x86/xen/pmu.c                 |  2 +-
 include/kvm/arm_pmu.h              |  1 +
 include/linux/kvm_host.h           | 12 ++++++
 include/linux/perf_event.h         | 33 ++++++++++++----
 init/Kconfig                       |  3 ++
 kernel/events/core.c               | 28 ++++++++------
 virt/kvm/kvm_main.c                | 42 ++++++++++++++++++++
 28 files changed, 204 insertions(+), 231 deletions(-)
 delete mode 100644 arch/arm64/kvm/perf.c

-- 
2.33.0.259.gc128427fd7-goog



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 00:58:49 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 00:58:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173198.316131 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJQCf-0001W6-WE; Fri, 27 Aug 2021 00:58:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173198.316131; Fri, 27 Aug 2021 00: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 1mJQCf-0001Vz-Sv; Fri, 27 Aug 2021 00:58:41 +0000
Received: by outflank-mailman (input) for mailman id 173198;
 Thu, 26 Aug 2021 19:59:19 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ZsfU=NR=google.com=seanjc@srs-us1.protection.inumbo.net>)
 id 1mJLWx-0006T3-LA
 for xen-devel@lists.xenproject.org; Thu, 26 Aug 2021 19:59:19 +0000
Received: from mail-pf1-x431.google.com (unknown [2607:f8b0:4864:20::431])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 984133d2-719b-4b03-88d7-a6b088d0c141;
 Thu, 26 Aug 2021 19:59:18 +0000 (UTC)
Received: by mail-pf1-x431.google.com with SMTP id 7so3661635pfl.10
 for <xen-devel@lists.xenproject.org>; Thu, 26 Aug 2021 12:59:18 -0700 (PDT)
Received: from google.com (157.214.185.35.bc.googleusercontent.com.
 [35.185.214.157])
 by smtp.gmail.com with ESMTPSA id o9sm4017917pfh.217.2021.08.26.12.59.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 26 Aug 2021 12:59: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: 984133d2-719b-4b03-88d7-a6b088d0c141
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20161025;
        h=date:from:to:cc:subject:message-id:references:mime-version
         :content-disposition:in-reply-to;
        bh=Xc1szHQOZDqB0AYr925levUtn3vNJA/QIKkPEhre7Pk=;
        b=rAH1RZhEJy3MVfBUURq1C3iW4ra2alS9qAREXLkrJFEHcf7iDXDJip4aX5r35skET+
         jo8PoQ7D1SWj6xQfgikhRkl1CH3MaymS1zddz++K76rpR+himQM4eRquOL09b9DEA3zi
         k1GwvAYBbvUNls5+AXaN8glJCjF7KIFEFQhoKckGnN93S31/oYpDxN/8g8Ng4pR7mIlZ
         9PgGk1EPPpJEnhqaB0anqRNL1VkcMXUzqFbZwSiDCOTTGHP0JVVcjlrSX45dE9oUOrpr
         J6hngXVZBF1o5LZ9dJoHWVzIqoA8ysZ3JGu2pnoEjug6L81eTykL5MQK90BtvdNATJv2
         Oyzg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:date:from:to:cc:subject:message-id:references
         :mime-version:content-disposition:in-reply-to;
        bh=Xc1szHQOZDqB0AYr925levUtn3vNJA/QIKkPEhre7Pk=;
        b=AEYVT5WP2BcstTjVSzOIY4KU1I01MxKUmew+nO5t5shjhanBatEy4GS/+Vk6rXcVYo
         4zrBry8zX6Q3D3l6o20qTjiRQQq+yLaRa2nP1gNioa1mbQkQRRrL+dw/taGtyJI7IVzq
         c5u8O3FxAEUwrA5QlUeM3JUXKMFkIMc55fwEtRolB/UrPnIJ5fcmmEqUFiV31TMrZPqT
         a4ckVacS0rMOaGTv8lKaAHqQdDBmVCZZczPe7VirUZ63tIiAPh72zuG+tH5aHE9MWf2I
         ULjzFkZHStLfxD/+FjJ9ECVBdhots9+7K6s+TUqQ+IVzWFuxnKbN3Mz1Z4rtPpSlsF4I
         6W+Q==
X-Gm-Message-State: AOAM532BuOG7jWNisDzrFNKaTrJzmbJEkZDc6Vqnne9pP+2xUM2OuI9E
	/VZFOSsCYqFBZ6hNCMdpqRqH/w==
X-Google-Smtp-Source: ABdhPJw2eYzVN0czVrpB+FQtPqgZRmO7Z9UXayRPLlAY9AEDiGK/tSK4hOJrAmd1TCnyunzzfHMaVw==
X-Received: by 2002:a62:1b97:0:b0:3ed:d347:fcac with SMTP id b145-20020a621b97000000b003edd347fcacmr5420756pfb.65.1630007957263;
        Thu, 26 Aug 2021 12:59:17 -0700 (PDT)
Date: Thu, 26 Aug 2021 19:59:13 +0000
From: Sean Christopherson <seanjc@google.com>
To: Zhu Lingshan <lingshan.zhu@intel.com>
Cc: peterz@infradead.org, pbonzini@redhat.com, bp@alien8.de,
	vkuznets@redhat.com, wanpengli@tencent.com, jmattson@google.com,
	joro@8bytes.org, kan.liang@linux.intel.com, ak@linux.intel.com,
	wei.w.wang@intel.com, eranian@google.com, liuxiangdong5@huawei.com,
	linux-kernel@vger.kernel.org, x86@kernel.org, kvm@vger.kernel.org,
	like.xu.linux@gmail.com, boris.ostrvsky@oracle.com,
	Like Xu <like.xu@linux.intel.com>, Will Deacon <will@kernel.org>,
	Marc Zyngier <maz@kernel.org>, Guo Ren <guoren@kernel.org>,
	Nick Hu <nickhu@andestech.com>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu,
	linux-csky@vger.kernel.org, linux-riscv@lists.infradead.org,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH V10 01/18] perf/core: Use static_call to optimize
 perf_guest_info_callbacks
Message-ID: <YSfykbECnC6J02Yk@google.com>
References: <20210806133802.3528-1-lingshan.zhu@intel.com>
 <20210806133802.3528-2-lingshan.zhu@intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20210806133802.3528-2-lingshan.zhu@intel.com>

TL;DR: Please don't merge this patch, it's broken and is also built on a shoddy
       foundation that I would like to fix.

On Fri, Aug 06, 2021, Zhu Lingshan wrote:
> diff --git a/kernel/events/core.c b/kernel/events/core.c
> index 464917096e73..e466fc8176e1 100644
> --- a/kernel/events/core.c
> +++ b/kernel/events/core.c
> @@ -6489,9 +6489,18 @@ static void perf_pending_event(struct irq_work *entry)
>   */
>  struct perf_guest_info_callbacks *perf_guest_cbs;
>  
> +/* explicitly use __weak to fix duplicate symbol error */
> +void __weak arch_perf_update_guest_cbs(void)
> +{
> +}
> +
>  int perf_register_guest_info_callbacks(struct perf_guest_info_callbacks *cbs)
>  {
> +	if (WARN_ON_ONCE(perf_guest_cbs))
> +		return -EBUSY;
> +
>  	perf_guest_cbs = cbs;
> +	arch_perf_update_guest_cbs();

This is horribly broken, it fails to cleanup the static calls when KVM unregisters
the callbacks, which happens when the vendor module, e.g. kvm_intel, is unloaded.
The explosion doesn't happen until 'kvm' is unloaded because the functions are
implemented in 'kvm', i.e. the use-after-free is deferred a bit.

  BUG: unable to handle page fault for address: ffffffffa011bb90
  #PF: supervisor instruction fetch in kernel mode
  #PF: error_code(0x0010) - not-present page
  PGD 6211067 P4D 6211067 PUD 6212063 PMD 102b99067 PTE 0
  Oops: 0010 [#1] PREEMPT SMP
  CPU: 0 PID: 1047 Comm: rmmod Not tainted 5.14.0-rc2+ #460
  Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015
  RIP: 0010:0xffffffffa011bb90
  Code: Unable to access opcode bytes at RIP 0xffffffffa011bb66.
  Call Trace:
   <NMI>
   ? perf_misc_flags+0xe/0x50
   ? perf_prepare_sample+0x53/0x6b0
   ? perf_event_output_forward+0x67/0x160
   ? kvm_clock_read+0x14/0x30
   ? kvm_sched_clock_read+0x5/0x10
   ? sched_clock_cpu+0xd/0xd0
   ? __perf_event_overflow+0x52/0xf0
   ? handle_pmi_common+0x1f2/0x2d0
   ? __flush_tlb_all+0x30/0x30
   ? intel_pmu_handle_irq+0xcf/0x410
   ? nmi_handle+0x5/0x260
   ? perf_event_nmi_handler+0x28/0x50
   ? nmi_handle+0xc7/0x260
   ? lock_release+0x2b0/0x2b0
   ? default_do_nmi+0x6b/0x170
   ? exc_nmi+0x103/0x130
   ? end_repeat_nmi+0x16/0x1f
   ? lock_release+0x2b0/0x2b0
   ? lock_release+0x2b0/0x2b0
   ? lock_release+0x2b0/0x2b0
   </NMI>
  Modules linked in: irqbypass [last unloaded: kvm]

Even more fun, the existing perf_guest_cbs framework is also broken, though it's
much harder to get it to fail, and probably impossible to get it to fail without
some help.  The issue is that perf_guest_cbs is global, which means that it can
be nullified by KVM (during module unload) while the callbacks are being accessed
by a PMI handler on a different CPU.

The bug has escaped notice because all dererfences of perf_guest_cbs follow the
same "perf_guest_cbs && perf_guest_cbs->is_in_guest()" pattern, and AFAICT the
compiler never reload perf_guest_cbs in this sequence.  The compiler does reload
perf_guest_cbs for any future dereferences, but the ->is_in_guest() guard all but
guarantees the PMI handler will win the race, e.g. to nullify perf_guest_cbs,
KVM has to completely exit the guest and teardown down all VMs before it can be
unloaded.

But with a help, e.g. RAED_ONCE(perf_guest_cbs), unloading kvm_intel can trigger
a NULL pointer derference, e.g. this tweak

diff --git a/arch/x86/events/core.c b/arch/x86/events/core.c
index 1eb45139fcc6..202e5ad97f82 100644
--- a/arch/x86/events/core.c
+++ b/arch/x86/events/core.c
@@ -2954,7 +2954,7 @@ unsigned long perf_misc_flags(struct pt_regs *regs)
 {
        int misc = 0;

-       if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
+       if (READ_ONCE(perf_guest_cbs) && READ_ONCE(perf_guest_cbs)->is_in_guest()) {
                if (perf_guest_cbs->is_user_mode())
                        misc |= PERF_RECORD_MISC_GUEST_USER;
                else


while spamming module load/unload leads to:

  BUG: kernel NULL pointer dereference, address: 0000000000000000
  #PF: supervisor read access in kernel mode
  #PF: error_code(0x0000) - not-present page
  PGD 0 P4D 0
  Oops: 0000 [#1] PREEMPT SMP
  CPU: 6 PID: 1825 Comm: stress Not tainted 5.14.0-rc2+ #459
  Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015
  RIP: 0010:perf_misc_flags+0x1c/0x70
  Call Trace:
   perf_prepare_sample+0x53/0x6b0
   perf_event_output_forward+0x67/0x160
   __perf_event_overflow+0x52/0xf0
   handle_pmi_common+0x207/0x300
   intel_pmu_handle_irq+0xcf/0x410
   perf_event_nmi_handler+0x28/0x50
   nmi_handle+0xc7/0x260
   default_do_nmi+0x6b/0x170
   exc_nmi+0x103/0x130
   asm_exc_nmi+0x76/0xbf


The good news is that I have a series that should fix both the existing NULL pointer
bug and mostly obviate the need for static calls.  The bad news is that my approach,
making perf_guest_cbs per-CPU, likely complicates turning these into static calls,
though I'm guessing it's still a solvable problem.

Tangentially related, IMO we should make architectures opt-in to getting
perf_guest_cbs and nuke all of the code in the below files.  Except for arm,
which recently lost KVM support, it's all a bunch of useless copy-paste code that
serves no purpose and just complicates cleanups like this.

>  arch/arm/kernel/perf_callchain.c   | 16 +++++++-----
>  arch/csky/kernel/perf_callchain.c  |  4 +--
>  arch/nds32/kernel/perf_event_cpu.c | 16 +++++++-----
>  arch/riscv/kernel/perf_callchain.c |  4 +--


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 00:58:49 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 00:58:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173266.316218 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJQCl-0003Lo-Pp; Fri, 27 Aug 2021 00:58:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173266.316218; Fri, 27 Aug 2021 00: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 1mJQCl-0003Ic-7J; Fri, 27 Aug 2021 00:58:47 +0000
Received: by outflank-mailman (input) for mailman id 173266;
 Fri, 27 Aug 2021 00:58:16 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RkQr=NS=flex--seanjc.bounces.google.com=3jTgoYQYKCa4gSObXQUccUZS.QcalSb-RSjSZZWghg.lSbdfcXSQh.cfU@srs-us1.protection.inumbo.net>)
 id 1mJQCG-0001Ok-Ha
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 00:58:16 +0000
Received: from mail-yb1-xb49.google.com (unknown [2607:f8b0:4864:20::b49])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 7c4118ad-0b03-41e3-ad43-b0d334ef572c;
 Fri, 27 Aug 2021 00:57:50 +0000 (UTC)
Received: by mail-yb1-xb49.google.com with SMTP id
 b198-20020a2534cf000000b0059bae206c16so4867074yba.18
 for <xen-devel@lists.xenproject.org>; Thu, 26 Aug 2021 17:57:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7c4118ad-0b03-41e3-ad43-b0d334ef572c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20161025;
        h=reply-to:date:in-reply-to:message-id:mime-version:references
         :subject:from:to:cc;
        bh=URtT+dB+jST+gZg2WrKoRMxEnnvOGJ2KoTQrrGCl7oY=;
        b=QMyMyW8S+UdMR+QA1dMUWcj1nvV4awF9BhU25l5pymBfzXZEUMcpGdZL0BxhsVUTrH
         wwnMpXfbLu54yCHCCtgV2+evWSEDbv+dXSyufVgmFg3L3pcb8KjT8SWqp9r8G6c8kSxp
         pLoenRdXaSghZld5WzFyBNBLJKTOW1nT55C2Sva+2Zv2/tE3SOwtK+UMfx8kFjDDzDJK
         t9N4Z7NvWPgoYl3X+kWUq4jXGlgLXhzG/pWtR82HNRigu9ZhzdlUBMpgi1gtDf4WrxBF
         kafWIVt0+yu4zS7kftTHzy2ydn7SjePf/9Jkus2cGK2V680+vkX5sdV4/U0/KQUCmBkV
         IaMg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:reply-to:date:in-reply-to:message-id
         :mime-version:references:subject:from:to:cc;
        bh=URtT+dB+jST+gZg2WrKoRMxEnnvOGJ2KoTQrrGCl7oY=;
        b=hng29CuruFUB08ZXTswDAJwPV2dnHu3oh+oIPm4DdsHzWJU5cRaDencVYKrTZJANUF
         bAKS7gLlm4WxWke9Foli/FZWc+MOozUZZL/t3xErX4kHL2ETjendZme2FJYpvBnqwOmE
         QTwmN0nFb0i1zbGvq38gvHaBa/P5D5ehKos5Dj1uz9La1T4o+9xCiLJPQ5G4SwZizzpW
         /hWTmdquvqx07Ms5KuioUBK1agJ8aPWwBn3UTsXDh7viBC8DCQPA1fn6HgNPwV6u3Mgc
         GBm9yYAux1QADa2ThWKJD/RX0/ZPFRqxv8NtIJYfJO6SbISOd5F1JwC8WAX7qDWZpBL6
         mu0Q==
X-Gm-Message-State: AOAM530eDd1bTabQsSJr+paWs9V4UiFFCs35qSYQwpWFc/9+qC44r330
	kPgiK+RldSDYL4rr1paQAUXL6d4+1BQ=
X-Google-Smtp-Source: ABdhPJx9DS89m5L71YrEHQukjJpAjWUrBsdJUeHGSEcBnJIrikQ0Z8d/TNTUFittLfnOlgJyGEhI291z6yw=
X-Received: from seanjc798194.pdx.corp.google.com ([2620:15c:90:200:c16c:db05:96b2:1475])
 (user=seanjc job=sendgmr) by 2002:a25:afcd:: with SMTP id d13mr1863343ybj.504.1630025869822;
 Thu, 26 Aug 2021 17:57:49 -0700 (PDT)
Reply-To: Sean Christopherson <seanjc@google.com>
Date: Thu, 26 Aug 2021 17:57:12 -0700
In-Reply-To: <20210827005718.585190-1-seanjc@google.com>
Message-Id: <20210827005718.585190-10-seanjc@google.com>
Mime-Version: 1.0
References: <20210827005718.585190-1-seanjc@google.com>
X-Mailer: git-send-email 2.33.0.259.gc128427fd7-goog
Subject: [PATCH 09/15] KVM: arm64: Register/unregister perf callbacks at vcpu load/put
From: Sean Christopherson <seanjc@google.com>
To: Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>, 
	Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Catalin Marinas <catalin.marinas@arm.com>, Marc Zyngier <maz@kernel.org>, 
	Guo Ren <guoren@kernel.org>, Nick Hu <nickhu@andestech.com>, 
	Greentime Hu <green.hu@gmail.com>, Vincent Chen <deanbo422@gmail.com>, 
	Paul Walmsley <paul.walmsley@sifive.com>, Palmer Dabbelt <palmer@dabbelt.com>, 
	Albert Ou <aou@eecs.berkeley.edu>, Thomas Gleixner <tglx@linutronix.de>, 
	Borislav Petkov <bp@alien8.de>, x86@kernel.org, Paolo Bonzini <pbonzini@redhat.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, Juergen Gross <jgross@suse.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@redhat.com>, 
	Namhyung Kim <namhyung@kernel.org>, James Morse <james.morse@arm.com>, 
	Alexandru Elisei <alexandru.elisei@arm.com>, Suzuki K Poulose <suzuki.poulose@arm.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Sean Christopherson <seanjc@google.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Wanpeng Li <wanpengli@tencent.com>, 
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, linux-perf-users@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, 
	kvmarm@lists.cs.columbia.edu, linux-csky@vger.kernel.org, 
	linux-riscv@lists.infradead.org, kvm@vger.kernel.org, 
	xen-devel@lists.xenproject.org, Artem Kashkanov <artem.kashkanov@intel.com>, 
	Like Xu <like.xu.linux@gmail.com>, Zhu Lingshan <lingshan.zhu@intel.com>
Content-Type: text/plain; charset="UTF-8"

Register/unregister perf callbacks at vcpu_load()/vcpu_put() instead of
keeping the callbacks registered for all eternity after loading KVM.
This will allow future cleanups and optimizations as the registration
of the callbacks signifies "in guest".  This will also allow moving the
callbacks into common KVM as they arm64 and x86 now have semantically
identical callback implementations.

Note, KVM could likely be more precise in its registration, but that's a
cleanup for the future.

Signed-off-by: Sean Christopherson <seanjc@google.com>
---
 arch/arm64/include/asm/kvm_host.h | 12 ++++++++++-
 arch/arm64/kvm/arm.c              |  5 ++++-
 arch/arm64/kvm/perf.c             | 36 ++++++++++++++-----------------
 3 files changed, 31 insertions(+), 22 deletions(-)

diff --git a/arch/arm64/include/asm/kvm_host.h b/arch/arm64/include/asm/kvm_host.h
index ed940aec89e0..007c38d77fd9 100644
--- a/arch/arm64/include/asm/kvm_host.h
+++ b/arch/arm64/include/asm/kvm_host.h
@@ -671,7 +671,17 @@ int kvm_handle_mmio_return(struct kvm_vcpu *vcpu);
 int io_mem_abort(struct kvm_vcpu *vcpu, phys_addr_t fault_ipa);
 
 void kvm_perf_init(void);
-void kvm_perf_teardown(void);
+
+#ifdef CONFIG_PERF_EVENTS
+void kvm_register_perf_callbacks(void);
+static inline void kvm_unregister_perf_callbacks(void)
+{
+	__perf_unregister_guest_info_callbacks();
+}
+#else
+static inline void kvm_register_perf_callbacks(void) {}
+static inline void kvm_unregister_perf_callbacks(void) {}
+#endif
 
 long kvm_hypercall_pv_features(struct kvm_vcpu *vcpu);
 gpa_t kvm_init_stolen_time(struct kvm_vcpu *vcpu);
diff --git a/arch/arm64/kvm/arm.c b/arch/arm64/kvm/arm.c
index e9a2b8f27792..ec386971030d 100644
--- a/arch/arm64/kvm/arm.c
+++ b/arch/arm64/kvm/arm.c
@@ -429,10 +429,13 @@ void kvm_arch_vcpu_load(struct kvm_vcpu *vcpu, int cpu)
 	if (vcpu_has_ptrauth(vcpu))
 		vcpu_ptrauth_disable(vcpu);
 	kvm_arch_vcpu_load_debug_state_flags(vcpu);
+
+	kvm_register_perf_callbacks();
 }
 
 void kvm_arch_vcpu_put(struct kvm_vcpu *vcpu)
 {
+	kvm_unregister_perf_callbacks();
 	kvm_arch_vcpu_put_debug_state_flags(vcpu);
 	kvm_arch_vcpu_put_fp(vcpu);
 	if (has_vhe())
@@ -2155,7 +2158,7 @@ int kvm_arch_init(void *opaque)
 /* NOP: Compiling as a module not supported */
 void kvm_arch_exit(void)
 {
-	kvm_perf_teardown();
+
 }
 
 static int __init early_kvm_mode_cfg(char *arg)
diff --git a/arch/arm64/kvm/perf.c b/arch/arm64/kvm/perf.c
index 039fe59399a2..2556b0a3b096 100644
--- a/arch/arm64/kvm/perf.c
+++ b/arch/arm64/kvm/perf.c
@@ -13,33 +13,30 @@
 
 DEFINE_STATIC_KEY_FALSE(kvm_arm_pmu_available);
 
+#ifdef CONFIG_PERF_EVENTS
 static int kvm_is_in_guest(void)
 {
-        return kvm_get_running_vcpu() != NULL;
+	return true;
 }
 
 static int kvm_is_user_mode(void)
 {
-	struct kvm_vcpu *vcpu;
+	struct kvm_vcpu *vcpu = kvm_get_running_vcpu();
 
-	vcpu = kvm_get_running_vcpu();
+	if (WARN_ON_ONCE(!vcpu))
+		return 0;
 
-	if (vcpu)
-		return !vcpu_mode_priv(vcpu);
-
-	return 0;
+	return !vcpu_mode_priv(vcpu);
 }
 
 static unsigned long kvm_get_guest_ip(void)
 {
-	struct kvm_vcpu *vcpu;
+	struct kvm_vcpu *vcpu = kvm_get_running_vcpu();
 
-	vcpu = kvm_get_running_vcpu();
+	if (WARN_ON_ONCE(!vcpu))
+		return 0;
 
-	if (vcpu)
-		return *vcpu_pc(vcpu);
-
-	return 0;
+	return *vcpu_pc(vcpu);
 }
 
 static struct perf_guest_info_callbacks kvm_guest_cbs = {
@@ -48,15 +45,14 @@ static struct perf_guest_info_callbacks kvm_guest_cbs = {
 	.get_guest_ip	= kvm_get_guest_ip,
 };
 
+void kvm_register_perf_callbacks(void)
+{
+	__perf_register_guest_info_callbacks(&kvm_guest_cbs);
+}
+#endif /* CONFIG_PERF_EVENTS*/
+
 void kvm_perf_init(void)
 {
 	if (kvm_pmu_probe_pmuver() != 0xf && !is_protected_kvm_enabled())
 		static_branch_enable(&kvm_arm_pmu_available);
-
-	perf_register_guest_info_callbacks(&kvm_guest_cbs);
-}
-
-void kvm_perf_teardown(void)
-{
-	perf_unregister_guest_info_callbacks();
 }
-- 
2.33.0.259.gc128427fd7-goog



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 00:58:49 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 00:58:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173254.316159 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJQCh-0001yF-Gi; Fri, 27 Aug 2021 00:58:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173254.316159; Fri, 27 Aug 2021 00:58: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 1mJQCh-0001v0-6W; Fri, 27 Aug 2021 00:58:43 +0000
Received: by outflank-mailman (input) for mailman id 173254;
 Fri, 27 Aug 2021 00:57:46 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0OVl=NS=flex--seanjc.bounces.google.com=3gDgoYQYKCaETFBOKDHPPHMF.DPNYFO-EFWFMMJTUT.YFOQSPKFDU.PSH@srs-us1.protection.inumbo.net>)
 id 1mJQBm-0001Ok-GI
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 00:57:46 +0000
Received: from mail-yb1-xb4a.google.com (unknown [2607:f8b0:4864:20::b4a])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 3372db26-7083-4b2e-a5f9-6f1583949114;
 Fri, 27 Aug 2021 00:57:36 +0000 (UTC)
Received: by mail-yb1-xb4a.google.com with SMTP id
 f8-20020a2585480000b02905937897e3daso1585674ybn.2
 for <xen-devel@lists.xenproject.org>; Thu, 26 Aug 2021 17:57: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: 3372db26-7083-4b2e-a5f9-6f1583949114
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20161025;
        h=reply-to:date:in-reply-to:message-id:mime-version:references
         :subject:from:to:cc;
        bh=eP9YaQYNW7r9kDgd3qsENCfayArScJUKtUCsIWC6thw=;
        b=gOniotWtk3lF6UxW7PdX3cKBegQhQ5iSNPyRKiZnf7i4heaRZqrQ1XCsGWban4SbR3
         zT78dU1sNSEA3eGttRbFIpH02VqDw13xoWcy7Sfk4tIv++vO+etrK6M3ti5f11KLiaWk
         1daQFTv1q/kqM0brBtb0nHD2u0m8MDQpM5+8PsH3w6Z05mKqPfmuHjU7qM9+5Sj+kcBb
         gAYqeA/M/6f3cWOzErOPhZXRkPntcLBBVHGFfK6lCV5FFCTaXib0sUPQGN6FqPZYEFCR
         UHQKuNrOdNIpgxqKsPRBI3amPjQd+V9fPU7ixqHBNtOzNWjW5HvPxd+EPsCi/2nrvxhZ
         DoRg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:reply-to:date:in-reply-to:message-id
         :mime-version:references:subject:from:to:cc;
        bh=eP9YaQYNW7r9kDgd3qsENCfayArScJUKtUCsIWC6thw=;
        b=gHLiPJonmHyBm3ZoO54+Ydg82T3Ek1w/72jYsdhHcVjxrKJ1rDikzmJm161Gw/3sUl
         qW0vYymuMnT/8Pk/bvCLd9nzmvshjUUkwXWDjeX1H66W4mYybH/gN+ZgIEyOIiyv9DMG
         jFnK8oEdaMjQmg96l+D9DiV82XwgcOukZE4PqPCLxC/MCtHHxjTvgB7DVWqWHrG+Siux
         It0rEIYFh3rHaICwYTzg8t/M5NVmwl5HjAtkfjGXtdUelF4I19K7vY/b6eejk4DxDk01
         90tmbz0q3EiWXl+h1gacRJaK1d75Ub8xbSLya8OnueBiPX6YU/4uYvmMfTVcyWBlOtng
         me4Q==
X-Gm-Message-State: AOAM531u1jS6BjvsjOGfJXqvIukoDYYGzN2TJHn4FOqgpoOOs7bsynE1
	floGSm4kfayXybAcXLnSRKe3/TYql2k=
X-Google-Smtp-Source: ABdhPJwZRp53eRz0Z/v+xyvl25SCOdBtWAUo/SC0imtmbIVISGgjbBGEInyTeCMf+kN6ORdJxMuSSuIsoks=
X-Received: from seanjc798194.pdx.corp.google.com ([2620:15c:90:200:c16c:db05:96b2:1475])
 (user=seanjc job=sendgmr) by 2002:a25:2785:: with SMTP id n127mr1853573ybn.235.1630025856235;
 Thu, 26 Aug 2021 17:57:36 -0700 (PDT)
Reply-To: Sean Christopherson <seanjc@google.com>
Date: Thu, 26 Aug 2021 17:57:06 -0700
In-Reply-To: <20210827005718.585190-1-seanjc@google.com>
Message-Id: <20210827005718.585190-4-seanjc@google.com>
Mime-Version: 1.0
References: <20210827005718.585190-1-seanjc@google.com>
X-Mailer: git-send-email 2.33.0.259.gc128427fd7-goog
Subject: [PATCH 03/15] perf: Stop pretending that perf can handle multiple
 guest callbacks
From: Sean Christopherson <seanjc@google.com>
To: Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>, 
	Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Catalin Marinas <catalin.marinas@arm.com>, Marc Zyngier <maz@kernel.org>, 
	Guo Ren <guoren@kernel.org>, Nick Hu <nickhu@andestech.com>, 
	Greentime Hu <green.hu@gmail.com>, Vincent Chen <deanbo422@gmail.com>, 
	Paul Walmsley <paul.walmsley@sifive.com>, Palmer Dabbelt <palmer@dabbelt.com>, 
	Albert Ou <aou@eecs.berkeley.edu>, Thomas Gleixner <tglx@linutronix.de>, 
	Borislav Petkov <bp@alien8.de>, x86@kernel.org, Paolo Bonzini <pbonzini@redhat.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, Juergen Gross <jgross@suse.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@redhat.com>, 
	Namhyung Kim <namhyung@kernel.org>, James Morse <james.morse@arm.com>, 
	Alexandru Elisei <alexandru.elisei@arm.com>, Suzuki K Poulose <suzuki.poulose@arm.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Sean Christopherson <seanjc@google.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Wanpeng Li <wanpengli@tencent.com>, 
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, linux-perf-users@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, 
	kvmarm@lists.cs.columbia.edu, linux-csky@vger.kernel.org, 
	linux-riscv@lists.infradead.org, kvm@vger.kernel.org, 
	xen-devel@lists.xenproject.org, Artem Kashkanov <artem.kashkanov@intel.com>, 
	Like Xu <like.xu.linux@gmail.com>, Zhu Lingshan <lingshan.zhu@intel.com>
Content-Type: text/plain; charset="UTF-8"

Drop the 'int' return value from the perf (un)register callbacks helpers
and stop pretending perf can support multiple callbacks.  The 'int'
returns are not future proofing anything as none of the callers take
action on an error.  It's also not obvious that there will ever be
cotenant hypervisors, and if there are, that allowing multiple callbacks
to be registered is desirable or even correct.

No functional change intended.

Signed-off-by: Sean Christopherson <seanjc@google.com>
---
 arch/arm64/include/asm/kvm_host.h |  4 ++--
 arch/arm64/kvm/perf.c             |  8 ++++----
 arch/x86/kvm/x86.c                |  2 +-
 include/linux/perf_event.h        | 11 +++++------
 kernel/events/core.c              | 11 ++---------
 5 files changed, 14 insertions(+), 22 deletions(-)

diff --git a/arch/arm64/include/asm/kvm_host.h b/arch/arm64/include/asm/kvm_host.h
index 41911585ae0c..ed940aec89e0 100644
--- a/arch/arm64/include/asm/kvm_host.h
+++ b/arch/arm64/include/asm/kvm_host.h
@@ -670,8 +670,8 @@ unsigned long kvm_mmio_read_buf(const void *buf, unsigned int len);
 int kvm_handle_mmio_return(struct kvm_vcpu *vcpu);
 int io_mem_abort(struct kvm_vcpu *vcpu, phys_addr_t fault_ipa);
 
-int kvm_perf_init(void);
-int kvm_perf_teardown(void);
+void kvm_perf_init(void);
+void kvm_perf_teardown(void);
 
 long kvm_hypercall_pv_features(struct kvm_vcpu *vcpu);
 gpa_t kvm_init_stolen_time(struct kvm_vcpu *vcpu);
diff --git a/arch/arm64/kvm/perf.c b/arch/arm64/kvm/perf.c
index 151c31fb9860..039fe59399a2 100644
--- a/arch/arm64/kvm/perf.c
+++ b/arch/arm64/kvm/perf.c
@@ -48,15 +48,15 @@ static struct perf_guest_info_callbacks kvm_guest_cbs = {
 	.get_guest_ip	= kvm_get_guest_ip,
 };
 
-int kvm_perf_init(void)
+void kvm_perf_init(void)
 {
 	if (kvm_pmu_probe_pmuver() != 0xf && !is_protected_kvm_enabled())
 		static_branch_enable(&kvm_arm_pmu_available);
 
-	return perf_register_guest_info_callbacks(&kvm_guest_cbs);
+	perf_register_guest_info_callbacks(&kvm_guest_cbs);
 }
 
-int kvm_perf_teardown(void)
+void kvm_perf_teardown(void)
 {
-	return perf_unregister_guest_info_callbacks(&kvm_guest_cbs);
+	perf_unregister_guest_info_callbacks();
 }
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index ffc6c2d73508..bae951344e28 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -11092,7 +11092,7 @@ int kvm_arch_hardware_setup(void *opaque)
 
 void kvm_arch_hardware_unsetup(void)
 {
-	perf_unregister_guest_info_callbacks(&kvm_guest_cbs);
+	perf_unregister_guest_info_callbacks();
 	kvm_guest_cbs.handle_intel_pt_intr = NULL;
 
 	static_call(kvm_x86_hardware_unsetup)();
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index 2d510ad750ed..05c0efba3cd1 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -1237,8 +1237,8 @@ extern void perf_event_bpf_event(struct bpf_prog *prog,
 				 u16 flags);
 
 extern struct perf_guest_info_callbacks *perf_guest_cbs;
-extern int perf_register_guest_info_callbacks(struct perf_guest_info_callbacks *callbacks);
-extern int perf_unregister_guest_info_callbacks(struct perf_guest_info_callbacks *callbacks);
+extern void perf_register_guest_info_callbacks(struct perf_guest_info_callbacks *callbacks);
+extern void perf_unregister_guest_info_callbacks(void);
 
 extern void perf_event_exec(void);
 extern void perf_event_comm(struct task_struct *tsk, bool exec);
@@ -1481,10 +1481,9 @@ perf_sw_event(u32 event_id, u64 nr, struct pt_regs *regs, u64 addr)	{ }
 static inline void
 perf_bp_event(struct perf_event *event, void *data)			{ }
 
-static inline int perf_register_guest_info_callbacks
-(struct perf_guest_info_callbacks *callbacks)				{ return 0; }
-static inline int perf_unregister_guest_info_callbacks
-(struct perf_guest_info_callbacks *callbacks)				{ return 0; }
+static inline void perf_register_guest_info_callbacks
+(struct perf_guest_info_callbacks *callbacks)				{ }
+static inline void perf_unregister_guest_info_callbacks(void)		{ }
 
 static inline void perf_event_mmap(struct vm_area_struct *vma)		{ }
 
diff --git a/kernel/events/core.c b/kernel/events/core.c
index 464917096e73..baae796612b9 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -6482,24 +6482,17 @@ static void perf_pending_event(struct irq_work *entry)
 		perf_swevent_put_recursion_context(rctx);
 }
 
-/*
- * We assume there is only KVM supporting the callbacks.
- * Later on, we might change it to a list if there is
- * another virtualization implementation supporting the callbacks.
- */
 struct perf_guest_info_callbacks *perf_guest_cbs;
 
-int perf_register_guest_info_callbacks(struct perf_guest_info_callbacks *cbs)
+void perf_register_guest_info_callbacks(struct perf_guest_info_callbacks *cbs)
 {
 	perf_guest_cbs = cbs;
-	return 0;
 }
 EXPORT_SYMBOL_GPL(perf_register_guest_info_callbacks);
 
-int perf_unregister_guest_info_callbacks(struct perf_guest_info_callbacks *cbs)
+void perf_unregister_guest_info_callbacks(void)
 {
 	perf_guest_cbs = NULL;
-	return 0;
 }
 EXPORT_SYMBOL_GPL(perf_unregister_guest_info_callbacks);
 
-- 
2.33.0.259.gc128427fd7-goog



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 00:58:50 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 00:58:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173260.316188 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJQCj-0002cI-9V; Fri, 27 Aug 2021 00:58:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173260.316188; Fri, 27 Aug 2021 00:58:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJQCi-0002Zb-So; Fri, 27 Aug 2021 00:58:44 +0000
Received: by outflank-mailman (input) for mailman id 173260;
 Fri, 27 Aug 2021 00:58:01 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=p99U=NS=flex--seanjc.bounces.google.com=3hzgoYQYKCagaMIVRKOWWOTM.KWUfMV-LMdMTTQaba.fMVXZWRMKb.WZO@srs-us1.protection.inumbo.net>)
 id 1mJQC1-0001Ok-Go
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 00:58:01 +0000
Received: from mail-yb1-xb4a.google.com (unknown [2607:f8b0:4864:20::b4a])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 1f18ca08-29d9-4037-8392-b6975ecc59cb;
 Fri, 27 Aug 2021 00:57:43 +0000 (UTC)
Received: by mail-yb1-xb4a.google.com with SMTP id
 83-20020a251956000000b0059948f541cbso4913038ybz.7
 for <xen-devel@lists.xenproject.org>; Thu, 26 Aug 2021 17:57: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: 1f18ca08-29d9-4037-8392-b6975ecc59cb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20161025;
        h=reply-to:date:in-reply-to:message-id:mime-version:references
         :subject:from:to:cc;
        bh=BKACFpkyclmSNZOzZCvoQ85Q5j0ibf+pUktwZSnA2VE=;
        b=uDGNAKy3X8wgG4FPiD0TolBumhb9mvdkmZ5pXk9jMiSPuEv6IzBrAY2yREw0PMXzi4
         9KSpq/MIGbNRkWH+90XdYBr08BMNemkexcswrPOoxwAVc9eNlnrdscRQYZv1qWj5RVJQ
         Uu5cGBTR2dLrVmB+fbyQ0f2saIhD4/u6CJuZoKrKwJgASrh55N/fvDtm72qpzzHlRHHS
         5MsttnXx7/8NWuUSXTy9DIxqvoIYMeSt7SrSLZoZYq6Cz9pNjweGfVRu94/2EucLJNq+
         age0a4QpYT7qPSqnVfS8AXaoz7sVZQi9saQiXGh1vd9lEsvZMwvUn3vvO8JTj1WmcE1u
         xE7w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:reply-to:date:in-reply-to:message-id
         :mime-version:references:subject:from:to:cc;
        bh=BKACFpkyclmSNZOzZCvoQ85Q5j0ibf+pUktwZSnA2VE=;
        b=kyee9irAyYlVkexsHLveXHcWJ0AnvqKykb+R0DJjRyfrZZbhMWtDunbKrAb9fvOUIX
         QF92YRXKU1fEhxstxMd3Gr0TwJD++UvwRDccnd/3w+PJoforqwB78Eof76e3Si7CgBh9
         4RfXWiy1czRAiB7t9AlUkvOi1Q/yxQ57rURela80dxRLuljiSYdA84MRAoUOYAlcObCe
         Ira1kgtQq/T2vrCPkCvT5NkoHEy3ogxUTrbdG/P4YPt6rkSnZqb4sobPksQoXnAhAHPX
         OEOOKvxSAFbVMOmhKK0ENtO3s+AfN5A0tA0vnOwr1KbQZSx4UiKRxBd8yOwHS5cre2QH
         TuCQ==
X-Gm-Message-State: AOAM532gtGVLoE9BYP/gcl7hGYIKYJErK8gxH9SoD2HOY3P+uZBuLnPa
	yZvg3lenQkrWsSf0TkcFygqRLS5WWVc=
X-Google-Smtp-Source: ABdhPJw0TCNYmfMyjk3pp1TIQWtZYYXC1+CmXfKBRCTWftHhXnIexf6rTbOO9IR4Dc7O+dyoa9Bys+IIj5k=
X-Received: from seanjc798194.pdx.corp.google.com ([2620:15c:90:200:c16c:db05:96b2:1475])
 (user=seanjc job=sendgmr) by 2002:a25:4f8a:: with SMTP id d132mr1902818ybb.486.1630025863019;
 Thu, 26 Aug 2021 17:57:43 -0700 (PDT)
Reply-To: Sean Christopherson <seanjc@google.com>
Date: Thu, 26 Aug 2021 17:57:09 -0700
In-Reply-To: <20210827005718.585190-1-seanjc@google.com>
Message-Id: <20210827005718.585190-7-seanjc@google.com>
Mime-Version: 1.0
References: <20210827005718.585190-1-seanjc@google.com>
X-Mailer: git-send-email 2.33.0.259.gc128427fd7-goog
Subject: [PATCH 06/15] KVM: x86: Register perf callbacks only when actively
 handling interrupt
From: Sean Christopherson <seanjc@google.com>
To: Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>, 
	Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Catalin Marinas <catalin.marinas@arm.com>, Marc Zyngier <maz@kernel.org>, 
	Guo Ren <guoren@kernel.org>, Nick Hu <nickhu@andestech.com>, 
	Greentime Hu <green.hu@gmail.com>, Vincent Chen <deanbo422@gmail.com>, 
	Paul Walmsley <paul.walmsley@sifive.com>, Palmer Dabbelt <palmer@dabbelt.com>, 
	Albert Ou <aou@eecs.berkeley.edu>, Thomas Gleixner <tglx@linutronix.de>, 
	Borislav Petkov <bp@alien8.de>, x86@kernel.org, Paolo Bonzini <pbonzini@redhat.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, Juergen Gross <jgross@suse.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@redhat.com>, 
	Namhyung Kim <namhyung@kernel.org>, James Morse <james.morse@arm.com>, 
	Alexandru Elisei <alexandru.elisei@arm.com>, Suzuki K Poulose <suzuki.poulose@arm.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Sean Christopherson <seanjc@google.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Wanpeng Li <wanpengli@tencent.com>, 
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, linux-perf-users@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, 
	kvmarm@lists.cs.columbia.edu, linux-csky@vger.kernel.org, 
	linux-riscv@lists.infradead.org, kvm@vger.kernel.org, 
	xen-devel@lists.xenproject.org, Artem Kashkanov <artem.kashkanov@intel.com>, 
	Like Xu <like.xu.linux@gmail.com>, Zhu Lingshan <lingshan.zhu@intel.com>
Content-Type: text/plain; charset="UTF-8"

Register KVM's perf callback only when handling an interrupt that may be
a PMI (sadly this includes IRQs), and unregister the callback immediately
after handling the interrupt (or closing the window).  Registering the
callback on a per-CPU basis (with preemption disabled!), fixes a mostly
theoretical bug where perf could dereference a NULL pointer due to KVM
unloading and unregistering the callbacks in between perf queries of the
callback functions.  The precise registration will also allow for future
cleanups and optimizations, e.g. the existence of the callbacks can serve
as the "in guest" check.

Signed-off-by: Sean Christopherson <seanjc@google.com>
---
 arch/x86/kvm/x86.c         | 27 +++++++++++++++++----------
 arch/x86/kvm/x86.h         | 10 ++++++++++
 include/linux/perf_event.h |  2 ++
 kernel/events/core.c       | 12 ++++++++++++
 4 files changed, 41 insertions(+), 10 deletions(-)

diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index bae951344e28..bc4ee6ea7752 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -8274,28 +8274,31 @@ int kvm_is_in_guest(void)
 
 static int kvm_is_user_mode(void)
 {
-	int user_mode = 3;
+	struct kvm_vcpu *vcpu = __this_cpu_read(current_vcpu);
 
-	if (__this_cpu_read(current_vcpu))
-		user_mode = static_call(kvm_x86_get_cpl)(__this_cpu_read(current_vcpu));
+	if (WARN_ON_ONCE(!vcpu))
+		return 0;
 
-	return user_mode != 0;
+	return static_call(kvm_x86_get_cpl)(vcpu) != 0;
 }
 
 static unsigned long kvm_get_guest_ip(void)
 {
-	unsigned long ip = 0;
+	struct kvm_vcpu *vcpu = __this_cpu_read(current_vcpu);
 
-	if (__this_cpu_read(current_vcpu))
-		ip = kvm_rip_read(__this_cpu_read(current_vcpu));
+	if (WARN_ON_ONCE(!vcpu))
+		return 0;
 
-	return ip;
+	return kvm_rip_read(vcpu);
 }
 
 static void kvm_handle_intel_pt_intr(void)
 {
 	struct kvm_vcpu *vcpu = __this_cpu_read(current_vcpu);
 
+	if (WARN_ON_ONCE(!vcpu))
+		return;
+
 	kvm_make_request(KVM_REQ_PMI, vcpu);
 	__set_bit(MSR_CORE_PERF_GLOBAL_OVF_CTRL_TRACE_TOPA_PMI_BIT,
 			(unsigned long *)&vcpu->arch.pmu.global_status);
@@ -8308,6 +8311,12 @@ static struct perf_guest_info_callbacks kvm_guest_cbs = {
 	.handle_intel_pt_intr	= NULL,
 };
 
+void kvm_register_perf_callbacks(void)
+{
+	__perf_register_guest_info_callbacks(&kvm_guest_cbs);
+}
+EXPORT_SYMBOL_GPL(kvm_register_perf_callbacks);
+
 #ifdef CONFIG_X86_64
 static void pvclock_gtod_update_fn(struct work_struct *work)
 {
@@ -11063,7 +11072,6 @@ int kvm_arch_hardware_setup(void *opaque)
 
 	if (ops->intel_pt_intr_in_guest && ops->intel_pt_intr_in_guest())
 		kvm_guest_cbs.handle_intel_pt_intr = kvm_handle_intel_pt_intr;
-	perf_register_guest_info_callbacks(&kvm_guest_cbs);
 
 	if (!kvm_cpu_cap_has(X86_FEATURE_XSAVES))
 		supported_xss = 0;
@@ -11092,7 +11100,6 @@ int kvm_arch_hardware_setup(void *opaque)
 
 void kvm_arch_hardware_unsetup(void)
 {
-	perf_unregister_guest_info_callbacks();
 	kvm_guest_cbs.handle_intel_pt_intr = NULL;
 
 	static_call(kvm_x86_hardware_unsetup)();
diff --git a/arch/x86/kvm/x86.h b/arch/x86/kvm/x86.h
index 7d66d63dc55a..5cedc0e8a5d5 100644
--- a/arch/x86/kvm/x86.h
+++ b/arch/x86/kvm/x86.h
@@ -387,15 +387,25 @@ static inline bool kvm_cstate_in_guest(struct kvm *kvm)
 	return kvm->arch.cstate_in_guest;
 }
 
+void kvm_register_perf_callbacks(void);
+static inline void kvm_unregister_perf_callbacks(void)
+{
+	__perf_unregister_guest_info_callbacks();
+}
+
 DECLARE_PER_CPU(struct kvm_vcpu *, current_vcpu);
 
 static inline void kvm_before_interrupt(struct kvm_vcpu *vcpu)
 {
 	__this_cpu_write(current_vcpu, vcpu);
+
+	kvm_register_perf_callbacks();
 }
 
 static inline void kvm_after_interrupt(struct kvm_vcpu *vcpu)
 {
+	kvm_unregister_perf_callbacks();
+
 	__this_cpu_write(current_vcpu, NULL);
 }
 
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index c98253dae037..7a367bf1b78d 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -1238,6 +1238,8 @@ extern void perf_event_bpf_event(struct bpf_prog *prog,
 
 #ifdef CONFIG_HAVE_GUEST_PERF_EVENTS
 DECLARE_PER_CPU(struct perf_guest_info_callbacks *, perf_guest_cbs);
+extern void __perf_register_guest_info_callbacks(struct perf_guest_info_callbacks *cbs);
+extern void __perf_unregister_guest_info_callbacks(void);
 extern void perf_register_guest_info_callbacks(struct perf_guest_info_callbacks *callbacks);
 extern void perf_unregister_guest_info_callbacks(void);
 #endif /* CONFIG_HAVE_GUEST_PERF_EVENTS */
diff --git a/kernel/events/core.c b/kernel/events/core.c
index 9bc1375d6ed9..2f28d9d8dc94 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -6485,6 +6485,18 @@ static void perf_pending_event(struct irq_work *entry)
 #ifdef CONFIG_HAVE_GUEST_PERF_EVENTS
 DEFINE_PER_CPU(struct perf_guest_info_callbacks *, perf_guest_cbs);
 
+void __perf_register_guest_info_callbacks(struct perf_guest_info_callbacks *cbs)
+{
+	__this_cpu_write(perf_guest_cbs, cbs);
+}
+EXPORT_SYMBOL_GPL(__perf_register_guest_info_callbacks);
+
+void __perf_unregister_guest_info_callbacks(void)
+{
+	__this_cpu_write(perf_guest_cbs, NULL);
+}
+EXPORT_SYMBOL_GPL(__perf_unregister_guest_info_callbacks);
+
 void perf_register_guest_info_callbacks(struct perf_guest_info_callbacks *cbs)
 {
 	int cpu;
-- 
2.33.0.259.gc128427fd7-goog



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 00:58:51 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 00:58:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173264.316208 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJQCk-000398-VL; Fri, 27 Aug 2021 00:58:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173264.316208; Fri, 27 Aug 2021 00: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 1mJQCk-000323-EL; Fri, 27 Aug 2021 00:58:46 +0000
Received: by outflank-mailman (input) for mailman id 173264;
 Fri, 27 Aug 2021 00:58:11 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hx6M=NS=flex--seanjc.bounces.google.com=3izgoYQYKCaweQMZVOSaaSXQ.OaYjQZ-PQhQXXUefe.jQZbdaVQOf.adS@srs-us1.protection.inumbo.net>)
 id 1mJQCB-0001Ok-HP
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 00:58:11 +0000
Received: from mail-yb1-xb4a.google.com (unknown [2607:f8b0:4864:20::b4a])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 30c2a8e9-38ca-437e-89eb-aac336800573;
 Fri, 27 Aug 2021 00:57:47 +0000 (UTC)
Received: by mail-yb1-xb4a.google.com with SMTP id
 b198-20020a2534cf000000b0059bae206c16so4867016yba.18
 for <xen-devel@lists.xenproject.org>; Thu, 26 Aug 2021 17:57: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: 30c2a8e9-38ca-437e-89eb-aac336800573
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20161025;
        h=reply-to:date:in-reply-to:message-id:mime-version:references
         :subject:from:to:cc;
        bh=AFHcFLQ8Zudn3D234yQQ371MlX0hPffSTnop5clNbU4=;
        b=ehODs2sAzX4fmqGdkUXhOCuacyAsZ5WG5XMN79bjP+xq4RU4v9fT+sBLKRTlQqGWyX
         q30luLe7UbUT+k5DL/N9U4aU2TEa+qPeGqAJxEBE/FVgE0CuiF3raXC1RXOK3ImBGaQ4
         XbKMz4w/DkAC9W9hss3rUtWCAWdzbERpB661AM+dQQmPgaw7Ftx+tH6bG8AYsTaZ9CDU
         e02FAinIj3+x9EA64fOdiwehQIAyNOzTqpYk8MnCh+cFqm78JcgPcKiioGpdAXvwto5l
         kIPH0qjJWMM4k2bYrS2zDHxLCqBbRaCfrumPTD8MLrYqYErmy2b3iS7uHQauGeKAtamE
         EuYw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:reply-to:date:in-reply-to:message-id
         :mime-version:references:subject:from:to:cc;
        bh=AFHcFLQ8Zudn3D234yQQ371MlX0hPffSTnop5clNbU4=;
        b=cp9oALrxQ5kNgw3ObTQYWw43TrufM28Mn8dSQ0buydOq3I1XVpp88Fp6IArsYt3HwV
         /SOm3mSeAnSCdNLdhlD6sTIWVa3Yw+Y5RdfBSE2XDq58sumpyOQIgF1c6hHC7E3m44bU
         xJI2+xFWCvTH0PmDEJbH29AacQuR6N1IL6xpXBJ4D4dP/QqMlBrTySx61Mxdg7NxMH1j
         87mdSEbjG3Io2B+J2bPRucXW6/dQLeKuON0qhMU2uJkd2P1uysNPOxEVbdFU/iJjzma2
         EAAxAf6ISW6a7CEptEmrn5H9og9DNNBn3GUINgPgF8WlVGRS22K+9GWnghFcw8Wki9xv
         vqQw==
X-Gm-Message-State: AOAM5315qO9iEOA1h04z5urRd5GOI0cbkcRHoHVyusHsyM8WkxIGsXCd
	DYEj67ZaUapwT37Hpo7KgQwjWN8HkWA=
X-Google-Smtp-Source: ABdhPJxdtTMoWPCFq9FJTrWuwV5L/MyoyJcLiUL8JKOdEyDnebSuapnzs9qVktMCvhy616hB+yWZoBPXnlo=
X-Received: from seanjc798194.pdx.corp.google.com ([2620:15c:90:200:c16c:db05:96b2:1475])
 (user=seanjc job=sendgmr) by 2002:a25:7a03:: with SMTP id v3mr2037918ybc.202.1630025867497;
 Thu, 26 Aug 2021 17:57:47 -0700 (PDT)
Reply-To: Sean Christopherson <seanjc@google.com>
Date: Thu, 26 Aug 2021 17:57:11 -0700
In-Reply-To: <20210827005718.585190-1-seanjc@google.com>
Message-Id: <20210827005718.585190-9-seanjc@google.com>
Mime-Version: 1.0
References: <20210827005718.585190-1-seanjc@google.com>
X-Mailer: git-send-email 2.33.0.259.gc128427fd7-goog
Subject: [PATCH 08/15] KVM: x86: Drop current_vcpu in favor of kvm_running_vcpu
From: Sean Christopherson <seanjc@google.com>
To: Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>, 
	Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Catalin Marinas <catalin.marinas@arm.com>, Marc Zyngier <maz@kernel.org>, 
	Guo Ren <guoren@kernel.org>, Nick Hu <nickhu@andestech.com>, 
	Greentime Hu <green.hu@gmail.com>, Vincent Chen <deanbo422@gmail.com>, 
	Paul Walmsley <paul.walmsley@sifive.com>, Palmer Dabbelt <palmer@dabbelt.com>, 
	Albert Ou <aou@eecs.berkeley.edu>, Thomas Gleixner <tglx@linutronix.de>, 
	Borislav Petkov <bp@alien8.de>, x86@kernel.org, Paolo Bonzini <pbonzini@redhat.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, Juergen Gross <jgross@suse.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@redhat.com>, 
	Namhyung Kim <namhyung@kernel.org>, James Morse <james.morse@arm.com>, 
	Alexandru Elisei <alexandru.elisei@arm.com>, Suzuki K Poulose <suzuki.poulose@arm.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Sean Christopherson <seanjc@google.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Wanpeng Li <wanpengli@tencent.com>, 
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, linux-perf-users@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, 
	kvmarm@lists.cs.columbia.edu, linux-csky@vger.kernel.org, 
	linux-riscv@lists.infradead.org, kvm@vger.kernel.org, 
	xen-devel@lists.xenproject.org, Artem Kashkanov <artem.kashkanov@intel.com>, 
	Like Xu <like.xu.linux@gmail.com>, Zhu Lingshan <lingshan.zhu@intel.com>
Content-Type: text/plain; charset="UTF-8"

Now that KVM registers perf callbacks only when the CPU is "in guest",
use kvm_running_vcpu instead of current_vcpu to retrieve the associated
vCPU and drop current_vcpu.

Signed-off-by: Sean Christopherson <seanjc@google.com>
---
 arch/x86/kvm/x86.c | 12 +++++-------
 arch/x86/kvm/x86.h |  4 ----
 2 files changed, 5 insertions(+), 11 deletions(-)

diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index d4d91944fde7..e337aef60793 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -8264,17 +8264,15 @@ static void kvm_timer_init(void)
 			  kvmclock_cpu_online, kvmclock_cpu_down_prep);
 }
 
-DEFINE_PER_CPU(struct kvm_vcpu *, current_vcpu);
-EXPORT_PER_CPU_SYMBOL_GPL(current_vcpu);
-
 static int kvm_is_in_guest(void)
 {
-	return __this_cpu_read(current_vcpu) != NULL;
+	/* x86's callbacks are registered only when handling a guest NMI. */
+	return true;
 }
 
 static int kvm_is_user_mode(void)
 {
-	struct kvm_vcpu *vcpu = __this_cpu_read(current_vcpu);
+	struct kvm_vcpu *vcpu = kvm_get_running_vcpu();
 
 	if (WARN_ON_ONCE(!vcpu))
 		return 0;
@@ -8284,7 +8282,7 @@ static int kvm_is_user_mode(void)
 
 static unsigned long kvm_get_guest_ip(void)
 {
-	struct kvm_vcpu *vcpu = __this_cpu_read(current_vcpu);
+	struct kvm_vcpu *vcpu = kvm_get_running_vcpu();
 
 	if (WARN_ON_ONCE(!vcpu))
 		return 0;
@@ -8294,7 +8292,7 @@ static unsigned long kvm_get_guest_ip(void)
 
 static void kvm_handle_intel_pt_intr(void)
 {
-	struct kvm_vcpu *vcpu = __this_cpu_read(current_vcpu);
+	struct kvm_vcpu *vcpu = kvm_get_running_vcpu();
 
 	if (WARN_ON_ONCE(!vcpu))
 		return;
diff --git a/arch/x86/kvm/x86.h b/arch/x86/kvm/x86.h
index 4c5ba4128b38..f13f15d2fab8 100644
--- a/arch/x86/kvm/x86.h
+++ b/arch/x86/kvm/x86.h
@@ -393,11 +393,8 @@ static inline void kvm_unregister_perf_callbacks(void)
 	__perf_unregister_guest_info_callbacks();
 }
 
-DECLARE_PER_CPU(struct kvm_vcpu *, current_vcpu);
-
 static inline void kvm_before_interrupt(struct kvm_vcpu *vcpu, bool is_nmi)
 {
-	__this_cpu_write(current_vcpu, vcpu);
 	WRITE_ONCE(vcpu->arch.handling_nmi_from_guest, is_nmi);
 
 	kvm_register_perf_callbacks();
@@ -408,7 +405,6 @@ static inline void kvm_after_interrupt(struct kvm_vcpu *vcpu)
 	kvm_unregister_perf_callbacks();
 
 	WRITE_ONCE(vcpu->arch.handling_nmi_from_guest, false);
-	__this_cpu_write(current_vcpu, NULL);
 }
 
 
-- 
2.33.0.259.gc128427fd7-goog



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 00:58:51 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 00:58:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173252.316149 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJQCh-0001os-1D; Fri, 27 Aug 2021 00:58:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173252.316149; Fri, 27 Aug 2021 00:58:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJQCg-0001kJ-Q8; Fri, 27 Aug 2021 00:58:42 +0000
Received: by outflank-mailman (input) for mailman id 173252;
 Fri, 27 Aug 2021 00:57:41 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ll6k=NS=flex--seanjc.bounces.google.com=3fjgoYQYKCZ8RD9MIBFNNFKD.BNLWDM-CDUDKKHRSR.WDMOQNIDBS.NQF@srs-us1.protection.inumbo.net>)
 id 1mJQBh-0001Ok-G3
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 00:57:41 +0000
Received: from mail-yb1-xb4a.google.com (unknown [2607:f8b0:4864:20::b4a])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id b671f099-e1dc-4ac1-86b6-fe53e4be01df;
 Fri, 27 Aug 2021 00:57:34 +0000 (UTC)
Received: by mail-yb1-xb4a.google.com with SMTP id
 15-20020a250b0f000000b0059bcca6ad6fso2573806ybl.21
 for <xen-devel@lists.xenproject.org>; Thu, 26 Aug 2021 17:57: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: b671f099-e1dc-4ac1-86b6-fe53e4be01df
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20161025;
        h=reply-to:date:in-reply-to:message-id:mime-version:references
         :subject:from:to:cc;
        bh=jOd11kC/0ZF428FDYBhIw9w8YUErajd8SRwX09J45r4=;
        b=a1wGzMjzD53/pAJiEn9rPEcSo1AfHCH/LIiVv98CqMeuoRKJfRZwWBP94d9zq50Dbj
         CKB+CHTXHKgNT53fh77iGOGYae9EnQeDED4q3MTkzRkbl7Id3Wvjqlh9C71YWQKotOeE
         3oqRc980Acdfqik5TTfq0aHV6hnOxyvNhiqfKvJzf2oxyOA+cAG9+3xpFoLjLgQIfiRk
         ZjSwvBbzEU8SmPpsUvaUie5aRrIh6PnsLcnOd0cktAQcL1w2TdMIEckIRCj5cRWB3OAS
         u1riaoObaAuaKWB37UwFNHfTmQWjO7UQhSPb8Qd8MOhhYKngV46EqsZD8vN7vak+iP7A
         NrFA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:reply-to:date:in-reply-to:message-id
         :mime-version:references:subject:from:to:cc;
        bh=jOd11kC/0ZF428FDYBhIw9w8YUErajd8SRwX09J45r4=;
        b=lNIIKv8vjVZzIhyFYt/zCdQnAqISzvOhEz9qLP862ZaN9vZ4WuOLoR0Ur+0i3Ibe0j
         2HSWnIvgDhAy73j2fpmKU8iPSRxvpDowsM0+k1Ylcq0n8AqR9ymSswtukMBGwB9fkI9j
         pnDjcS2Wron/ACXMli9AOk19FoGiEM0yjxJxpG6eHbRFMlbYGhPFIhL9GiF/Zz/fAa7F
         YlNrIahWV/ieRvmbjc9AR3mo132CATRtIRTGxGUDnOtFWvZuKLJbNKPBOHR/I7ExwMie
         jjjXjV052wk+36bfU71LEkNCYPuPf0gFKJ1avyqo0vtrzKoOyowmKqXqMIbbdAw/HCwD
         m7XQ==
X-Gm-Message-State: AOAM5322cjwhpfSpvyn7PyUmazGch3yiOv7zuie8sQkqTylU22uweoZL
	CfXrfvNXgHpaBF6X7W5BmJ3u/b7ZDjg=
X-Google-Smtp-Source: ABdhPJylPTLqHZDxUX4FSDwdYVr000qmY58N717slKAQmVRJ8Y2YwHL4pc+xTGVkPVA6MLVxbRbwsjTqi3U=
X-Received: from seanjc798194.pdx.corp.google.com ([2620:15c:90:200:c16c:db05:96b2:1475])
 (user=seanjc job=sendgmr) by 2002:a25:bb49:: with SMTP id b9mr1887506ybk.362.1630025854040;
 Thu, 26 Aug 2021 17:57:34 -0700 (PDT)
Reply-To: Sean Christopherson <seanjc@google.com>
Date: Thu, 26 Aug 2021 17:57:05 -0700
In-Reply-To: <20210827005718.585190-1-seanjc@google.com>
Message-Id: <20210827005718.585190-3-seanjc@google.com>
Mime-Version: 1.0
References: <20210827005718.585190-1-seanjc@google.com>
X-Mailer: git-send-email 2.33.0.259.gc128427fd7-goog
Subject: [PATCH 02/15] KVM: x86: Register Processor Trace interrupt hook iff
 PT enabled in guest
From: Sean Christopherson <seanjc@google.com>
To: Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>, 
	Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Catalin Marinas <catalin.marinas@arm.com>, Marc Zyngier <maz@kernel.org>, 
	Guo Ren <guoren@kernel.org>, Nick Hu <nickhu@andestech.com>, 
	Greentime Hu <green.hu@gmail.com>, Vincent Chen <deanbo422@gmail.com>, 
	Paul Walmsley <paul.walmsley@sifive.com>, Palmer Dabbelt <palmer@dabbelt.com>, 
	Albert Ou <aou@eecs.berkeley.edu>, Thomas Gleixner <tglx@linutronix.de>, 
	Borislav Petkov <bp@alien8.de>, x86@kernel.org, Paolo Bonzini <pbonzini@redhat.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, Juergen Gross <jgross@suse.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@redhat.com>, 
	Namhyung Kim <namhyung@kernel.org>, James Morse <james.morse@arm.com>, 
	Alexandru Elisei <alexandru.elisei@arm.com>, Suzuki K Poulose <suzuki.poulose@arm.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Sean Christopherson <seanjc@google.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Wanpeng Li <wanpengli@tencent.com>, 
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, linux-perf-users@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, 
	kvmarm@lists.cs.columbia.edu, linux-csky@vger.kernel.org, 
	linux-riscv@lists.infradead.org, kvm@vger.kernel.org, 
	xen-devel@lists.xenproject.org, Artem Kashkanov <artem.kashkanov@intel.com>, 
	Like Xu <like.xu.linux@gmail.com>, Zhu Lingshan <lingshan.zhu@intel.com>
Content-Type: text/plain; charset="UTF-8"

Override the Processor Trace (PT) interrupt handler for guest mode if and
only if PT is configured for host+guest mode, i.e. is being used
independently by both host and guest.  If PT is configured for system
mode, the host fully controls PT and must handle all events.

Fixes: 8479e04e7d6b ("KVM: x86: Inject PMI for KVM guest")
Cc: stable@vger.kernel.org
Cc: Like Xu <like.xu.linux@gmail.com>
Reported-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Reported-by: Artem Kashkanov <artem.kashkanov@intel.com>
Signed-off-by: Sean Christopherson <seanjc@google.com>
---
 arch/x86/include/asm/kvm_host.h | 1 +
 arch/x86/kvm/pmu.h              | 1 +
 arch/x86/kvm/vmx/vmx.c          | 1 +
 arch/x86/kvm/x86.c              | 5 ++++-
 4 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
index 09b256db394a..1ea4943a73d7 100644
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -1494,6 +1494,7 @@ struct kvm_x86_init_ops {
 	int (*disabled_by_bios)(void);
 	int (*check_processor_compatibility)(void);
 	int (*hardware_setup)(void);
+	bool (*intel_pt_intr_in_guest)(void);
 
 	struct kvm_x86_ops *runtime_ops;
 };
diff --git a/arch/x86/kvm/pmu.h b/arch/x86/kvm/pmu.h
index 0e4f2b1fa9fb..b06dbbd7eeeb 100644
--- a/arch/x86/kvm/pmu.h
+++ b/arch/x86/kvm/pmu.h
@@ -41,6 +41,7 @@ struct kvm_pmu_ops {
 	void (*reset)(struct kvm_vcpu *vcpu);
 	void (*deliver_pmi)(struct kvm_vcpu *vcpu);
 	void (*cleanup)(struct kvm_vcpu *vcpu);
+	void (*handle_intel_pt_intr)(void);
 };
 
 static inline u64 pmc_bitmask(struct kvm_pmc *pmc)
diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
index fada1055f325..f19d72136f77 100644
--- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c
@@ -7896,6 +7896,7 @@ static struct kvm_x86_init_ops vmx_init_ops __initdata = {
 	.disabled_by_bios = vmx_disabled_by_bios,
 	.check_processor_compatibility = vmx_check_processor_compat,
 	.hardware_setup = hardware_setup,
+	.intel_pt_intr_in_guest = vmx_pt_mode_is_host_guest,
 
 	.runtime_ops = &vmx_x86_ops,
 };
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index fb6015f97f9e..ffc6c2d73508 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -8305,7 +8305,7 @@ static struct perf_guest_info_callbacks kvm_guest_cbs = {
 	.is_in_guest		= kvm_is_in_guest,
 	.is_user_mode		= kvm_is_user_mode,
 	.get_guest_ip		= kvm_get_guest_ip,
-	.handle_intel_pt_intr	= kvm_handle_intel_pt_intr,
+	.handle_intel_pt_intr	= NULL,
 };
 
 #ifdef CONFIG_X86_64
@@ -11061,6 +11061,8 @@ int kvm_arch_hardware_setup(void *opaque)
 	memcpy(&kvm_x86_ops, ops->runtime_ops, sizeof(kvm_x86_ops));
 	kvm_ops_static_call_update();
 
+	if (ops->intel_pt_intr_in_guest && ops->intel_pt_intr_in_guest())
+		kvm_guest_cbs.handle_intel_pt_intr = kvm_handle_intel_pt_intr;
 	perf_register_guest_info_callbacks(&kvm_guest_cbs);
 
 	if (!kvm_cpu_cap_has(X86_FEATURE_XSAVES))
@@ -11091,6 +11093,7 @@ int kvm_arch_hardware_setup(void *opaque)
 void kvm_arch_hardware_unsetup(void)
 {
 	perf_unregister_guest_info_callbacks(&kvm_guest_cbs);
+	kvm_guest_cbs.handle_intel_pt_intr = NULL;
 
 	static_call(kvm_x86_hardware_unsetup)();
 }
-- 
2.33.0.259.gc128427fd7-goog



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 00:58:51 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 00:58:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173258.316172 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJQCi-0002MY-D8; Fri, 27 Aug 2021 00:58:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173258.316172; Fri, 27 Aug 2021 00: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 1mJQCi-0002Jl-5W; Fri, 27 Aug 2021 00:58:44 +0000
Received: by outflank-mailman (input) for mailman id 173258;
 Fri, 27 Aug 2021 00:57:56 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=I/N7=NS=flex--seanjc.bounces.google.com=3hDgoYQYKCaUXJFSOHLTTLQJ.HTRcJS-IJaJQQNXYX.cJSUWTOJHY.TWL@srs-us1.protection.inumbo.net>)
 id 1mJQBw-0001Ok-Gd
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 00:57:56 +0000
Received: from mail-yb1-xb4a.google.com (unknown [2607:f8b0:4864:20::b4a])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id aa703dfe-16e9-43fa-a35e-5221fbb173a4;
 Fri, 27 Aug 2021 00:57:41 +0000 (UTC)
Received: by mail-yb1-xb4a.google.com with SMTP id
 v126-20020a254884000000b005991fd2f912so4925770yba.20
 for <xen-devel@lists.xenproject.org>; Thu, 26 Aug 2021 17:57: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: aa703dfe-16e9-43fa-a35e-5221fbb173a4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20161025;
        h=reply-to:date:in-reply-to:message-id:mime-version:references
         :subject:from:to:cc;
        bh=/GNsXDXGxvkLYn64hGgFQXgQU/jMUClIrsjFgTViz1Y=;
        b=tRvkfbrGw8+v7Lr3XLUmzwVcxzAbAizvlsAktjoSUGPxvViNrp9xpwsT+0jULLS0XQ
         QBNR07zqN8UHtCl5MQ4ti3SFRSDkyOQMWk/4FAKgjY0ERaJLZ7e6gc8JstfsQpjdP8pN
         v4l1BG+uDjmM2Bi4xrpkbB1gpGDLl7c4sM4zXvgYmcAkI8bj70Vi0WRIULATvW29c86P
         +1i26kA7dY0yY0Q112IpUA7udaIzNtFpo5eE00IcdfbT6SvKww5RR5G9/2iwQ3ltt6VI
         10Wa1Y40Ho9VSOkSxhKZNCOowxojF7K8qtaH4uV/l7mvCI3KuGMrLb1Qg33vy3GnobZv
         +KeQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:reply-to:date:in-reply-to:message-id
         :mime-version:references:subject:from:to:cc;
        bh=/GNsXDXGxvkLYn64hGgFQXgQU/jMUClIrsjFgTViz1Y=;
        b=iaLOCwlXXJYlSVIde+WYOzuWqlZsj2dBQ/wyQ88xDbE0BF0hnrECUVNCZpBDkiW+3z
         7G7inM9PIFthBMGociTZFhLTVoxMbnexT7vycyoZeBE2dd4eXoIQexUaI86GwHhx93HQ
         mdfQ6d1OI13IKKSO5QHPVxJ+WMUc7kJfI0CHscbJ4fOI1FX8yU08DlG0CKXdnFEUgKX5
         JrW7WcjFL2OId0zeEDvq/Gr2a8axdvoX0T25oaIVF3q3x67u1ZHijI2QUJGSnrggx6Ny
         Q76LG6MptO0XdB5m7jBNy1qEsY7CyI6Y7sQUvE/jL5UDffi7Mmr3KedhWXh8r2tXnDEw
         0aGw==
X-Gm-Message-State: AOAM530lIcwTcrXZIYIeghy9R/pv5PqFpgQJrwYx7MbAXWk4jgkOTlFg
	BwlReFmKZtbXz6rb72Z0gzDdOqSp/uI=
X-Google-Smtp-Source: ABdhPJwlJCzwV2czahQdIDDwZpv3WILOdy4N6W1GAOIZtI0/OVUnTHcgIFdLrF39Vy4IljF0G9kSbF2BA3s=
X-Received: from seanjc798194.pdx.corp.google.com ([2620:15c:90:200:c16c:db05:96b2:1475])
 (user=seanjc job=sendgmr) by 2002:a25:d989:: with SMTP id q131mr1776832ybg.500.1630025860851;
 Thu, 26 Aug 2021 17:57:40 -0700 (PDT)
Reply-To: Sean Christopherson <seanjc@google.com>
Date: Thu, 26 Aug 2021 17:57:08 -0700
In-Reply-To: <20210827005718.585190-1-seanjc@google.com>
Message-Id: <20210827005718.585190-6-seanjc@google.com>
Mime-Version: 1.0
References: <20210827005718.585190-1-seanjc@google.com>
X-Mailer: git-send-email 2.33.0.259.gc128427fd7-goog
Subject: [PATCH 05/15] perf: Track guest callbacks on a per-CPU basis
From: Sean Christopherson <seanjc@google.com>
To: Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>, 
	Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Catalin Marinas <catalin.marinas@arm.com>, Marc Zyngier <maz@kernel.org>, 
	Guo Ren <guoren@kernel.org>, Nick Hu <nickhu@andestech.com>, 
	Greentime Hu <green.hu@gmail.com>, Vincent Chen <deanbo422@gmail.com>, 
	Paul Walmsley <paul.walmsley@sifive.com>, Palmer Dabbelt <palmer@dabbelt.com>, 
	Albert Ou <aou@eecs.berkeley.edu>, Thomas Gleixner <tglx@linutronix.de>, 
	Borislav Petkov <bp@alien8.de>, x86@kernel.org, Paolo Bonzini <pbonzini@redhat.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, Juergen Gross <jgross@suse.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@redhat.com>, 
	Namhyung Kim <namhyung@kernel.org>, James Morse <james.morse@arm.com>, 
	Alexandru Elisei <alexandru.elisei@arm.com>, Suzuki K Poulose <suzuki.poulose@arm.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Sean Christopherson <seanjc@google.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Wanpeng Li <wanpengli@tencent.com>, 
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, linux-perf-users@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, 
	kvmarm@lists.cs.columbia.edu, linux-csky@vger.kernel.org, 
	linux-riscv@lists.infradead.org, kvm@vger.kernel.org, 
	xen-devel@lists.xenproject.org, Artem Kashkanov <artem.kashkanov@intel.com>, 
	Like Xu <like.xu.linux@gmail.com>, Zhu Lingshan <lingshan.zhu@intel.com>
Content-Type: text/plain; charset="UTF-8"

Use a per-CPU pointer to track perf's guest callbacks so that KVM can set
the callbacks more precisely and avoid a lurking NULL pointer dereference.
On x86, KVM supports being built as a module and thus can be unloaded.
And because the shared callbacks are referenced from IRQ/NMI context,
unloading KVM can run concurrently with perf, and thus all of perf's
checks for a NULL perf_guest_cbs are flawed as perf_guest_cbs could be
nullified between the check and dereference.

In practice, this has not been problematic because the callbacks are
always guarded with a "perf_guest_cbs && perf_guest_cbs->is_in_guest()"
pattern, and it's extremely unlikely the compiler will choost to reload
perf_guest_cbs in that particular sequence.  Because is_in_guest() is
obviously true only when KVM is running a guest, perf always wins the
race to the guarded code (which does often reload perf_guest_cbs) as KVM
has to stop running all guests and do a heavy teardown before unloading.

Cc: Zhu Lingshan <lingshan.zhu@intel.com>
Signed-off-by: Sean Christopherson <seanjc@google.com>
---
 arch/arm64/kernel/perf_callchain.c | 18 ++++++++++++------
 arch/x86/events/core.c             | 17 +++++++++++------
 arch/x86/events/intel/core.c       |  8 +++++---
 include/linux/perf_event.h         |  2 +-
 kernel/events/core.c               | 12 +++++++++---
 5 files changed, 38 insertions(+), 19 deletions(-)

diff --git a/arch/arm64/kernel/perf_callchain.c b/arch/arm64/kernel/perf_callchain.c
index 4a72c2727309..38555275c6a2 100644
--- a/arch/arm64/kernel/perf_callchain.c
+++ b/arch/arm64/kernel/perf_callchain.c
@@ -102,7 +102,9 @@ compat_user_backtrace(struct compat_frame_tail __user *tail,
 void perf_callchain_user(struct perf_callchain_entry_ctx *entry,
 			 struct pt_regs *regs)
 {
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
+	struct perf_guest_info_callbacks *guest_cbs = this_cpu_read(perf_guest_cbs);
+
+	if (guest_cbs && guest_cbs->is_in_guest()) {
 		/* We don't support guest os callchain now */
 		return;
 	}
@@ -147,9 +149,10 @@ static bool callchain_trace(void *data, unsigned long pc)
 void perf_callchain_kernel(struct perf_callchain_entry_ctx *entry,
 			   struct pt_regs *regs)
 {
+	struct perf_guest_info_callbacks *guest_cbs = this_cpu_read(perf_guest_cbs);
 	struct stackframe frame;
 
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
+	if (guest_cbs && guest_cbs->is_in_guest()) {
 		/* We don't support guest os callchain now */
 		return;
 	}
@@ -160,18 +163,21 @@ void perf_callchain_kernel(struct perf_callchain_entry_ctx *entry,
 
 unsigned long perf_instruction_pointer(struct pt_regs *regs)
 {
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest())
-		return perf_guest_cbs->get_guest_ip();
+	struct perf_guest_info_callbacks *guest_cbs = this_cpu_read(perf_guest_cbs);
+
+	if (guest_cbs && guest_cbs->is_in_guest())
+		return guest_cbs->get_guest_ip();
 
 	return instruction_pointer(regs);
 }
 
 unsigned long perf_misc_flags(struct pt_regs *regs)
 {
+	struct perf_guest_info_callbacks *guest_cbs = this_cpu_read(perf_guest_cbs);
 	int misc = 0;
 
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
-		if (perf_guest_cbs->is_user_mode())
+	if (guest_cbs && guest_cbs->is_in_guest()) {
+		if (guest_cbs->is_user_mode())
 			misc |= PERF_RECORD_MISC_GUEST_USER;
 		else
 			misc |= PERF_RECORD_MISC_GUEST_KERNEL;
diff --git a/arch/x86/events/core.c b/arch/x86/events/core.c
index 1eb45139fcc6..34155a52e498 100644
--- a/arch/x86/events/core.c
+++ b/arch/x86/events/core.c
@@ -2761,10 +2761,11 @@ static bool perf_hw_regs(struct pt_regs *regs)
 void
 perf_callchain_kernel(struct perf_callchain_entry_ctx *entry, struct pt_regs *regs)
 {
+	struct perf_guest_info_callbacks *guest_cbs = this_cpu_read(perf_guest_cbs);
 	struct unwind_state state;
 	unsigned long addr;
 
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
+	if (guest_cbs && guest_cbs->is_in_guest()) {
 		/* TODO: We don't support guest os callchain now */
 		return;
 	}
@@ -2864,10 +2865,11 @@ perf_callchain_user32(struct pt_regs *regs, struct perf_callchain_entry_ctx *ent
 void
 perf_callchain_user(struct perf_callchain_entry_ctx *entry, struct pt_regs *regs)
 {
+	struct perf_guest_info_callbacks *guest_cbs = this_cpu_read(perf_guest_cbs);
 	struct stack_frame frame;
 	const struct stack_frame __user *fp;
 
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
+	if (guest_cbs && guest_cbs->is_in_guest()) {
 		/* TODO: We don't support guest os callchain now */
 		return;
 	}
@@ -2944,18 +2946,21 @@ static unsigned long code_segment_base(struct pt_regs *regs)
 
 unsigned long perf_instruction_pointer(struct pt_regs *regs)
 {
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest())
-		return perf_guest_cbs->get_guest_ip();
+	struct perf_guest_info_callbacks *guest_cbs = this_cpu_read(perf_guest_cbs);
+
+	if (guest_cbs && guest_cbs->is_in_guest())
+		return guest_cbs->get_guest_ip();
 
 	return regs->ip + code_segment_base(regs);
 }
 
 unsigned long perf_misc_flags(struct pt_regs *regs)
 {
+	struct perf_guest_info_callbacks *guest_cbs = this_cpu_read(perf_guest_cbs);
 	int misc = 0;
 
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
-		if (perf_guest_cbs->is_user_mode())
+	if (guest_cbs && guest_cbs->is_in_guest()) {
+		if (guest_cbs->is_user_mode())
 			misc |= PERF_RECORD_MISC_GUEST_USER;
 		else
 			misc |= PERF_RECORD_MISC_GUEST_KERNEL;
diff --git a/arch/x86/events/intel/core.c b/arch/x86/events/intel/core.c
index fca7a6e2242f..96001962c24d 100644
--- a/arch/x86/events/intel/core.c
+++ b/arch/x86/events/intel/core.c
@@ -2784,6 +2784,7 @@ static void intel_pmu_reset(void)
 
 static int handle_pmi_common(struct pt_regs *regs, u64 status)
 {
+	struct perf_guest_info_callbacks *guest_cbs;
 	struct perf_sample_data data;
 	struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events);
 	int bit;
@@ -2852,9 +2853,10 @@ static int handle_pmi_common(struct pt_regs *regs, u64 status)
 	 */
 	if (__test_and_clear_bit(GLOBAL_STATUS_TRACE_TOPAPMI_BIT, (unsigned long *)&status)) {
 		handled++;
-		if (unlikely(perf_guest_cbs && perf_guest_cbs->is_in_guest() &&
-			perf_guest_cbs->handle_intel_pt_intr))
-			perf_guest_cbs->handle_intel_pt_intr();
+		guest_cbs = this_cpu_read(perf_guest_cbs);
+		if (unlikely(guest_cbs && guest_cbs->is_in_guest() &&
+			     guest_cbs->handle_intel_pt_intr))
+			guest_cbs->handle_intel_pt_intr();
 		else
 			intel_pt_interrupt();
 	}
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index 5eab690622ca..c98253dae037 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -1237,7 +1237,7 @@ extern void perf_event_bpf_event(struct bpf_prog *prog,
 				 u16 flags);
 
 #ifdef CONFIG_HAVE_GUEST_PERF_EVENTS
-extern struct perf_guest_info_callbacks *perf_guest_cbs;
+DECLARE_PER_CPU(struct perf_guest_info_callbacks *, perf_guest_cbs);
 extern void perf_register_guest_info_callbacks(struct perf_guest_info_callbacks *callbacks);
 extern void perf_unregister_guest_info_callbacks(void);
 #endif /* CONFIG_HAVE_GUEST_PERF_EVENTS */
diff --git a/kernel/events/core.c b/kernel/events/core.c
index 9820df7ee455..9bc1375d6ed9 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -6483,17 +6483,23 @@ static void perf_pending_event(struct irq_work *entry)
 }
 
 #ifdef CONFIG_HAVE_GUEST_PERF_EVENTS
-struct perf_guest_info_callbacks *perf_guest_cbs;
+DEFINE_PER_CPU(struct perf_guest_info_callbacks *, perf_guest_cbs);
 
 void perf_register_guest_info_callbacks(struct perf_guest_info_callbacks *cbs)
 {
-	perf_guest_cbs = cbs;
+	int cpu;
+
+	for_each_possible_cpu(cpu)
+		per_cpu(perf_guest_cbs, cpu) = cbs;
 }
 EXPORT_SYMBOL_GPL(perf_register_guest_info_callbacks);
 
 void perf_unregister_guest_info_callbacks(void)
 {
-	perf_guest_cbs = NULL;
+	int cpu;
+
+	for_each_possible_cpu(cpu)
+		per_cpu(perf_guest_cbs, cpu) = NULL;
 }
 EXPORT_SYMBOL_GPL(perf_unregister_guest_info_callbacks);
 #endif
-- 
2.33.0.259.gc128427fd7-goog



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 00:58:51 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 00:58:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173256.316164 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJQCh-0002AA-Rh; Fri, 27 Aug 2021 00:58:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173256.316164; Fri, 27 Aug 2021 00:58: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 1mJQCh-00026K-Lo; Fri, 27 Aug 2021 00:58:43 +0000
Received: by outflank-mailman (input) for mailman id 173256;
 Fri, 27 Aug 2021 00:57:51 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dZ1t=NS=flex--seanjc.bounces.google.com=3gjgoYQYKCaMVHDQMFJRRJOH.FRPaHQ-GHYHOOLVWV.aHQSURMHFW.RUJ@srs-us1.protection.inumbo.net>)
 id 1mJQBr-0001Ok-Gb
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 00:57:51 +0000
Received: from mail-qk1-x74a.google.com (unknown [2607:f8b0:4864:20::74a])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 610a2fc4-60b5-4db5-a642-08feb4db275e;
 Fri, 27 Aug 2021 00:57:38 +0000 (UTC)
Received: by mail-qk1-x74a.google.com with SMTP id
 d202-20020a3768d3000000b003d30722c98fso2434520qkc.10
 for <xen-devel@lists.xenproject.org>; Thu, 26 Aug 2021 17:57: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: 610a2fc4-60b5-4db5-a642-08feb4db275e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20161025;
        h=reply-to:date:in-reply-to:message-id:mime-version:references
         :subject:from:to:cc;
        bh=7WpldovdtqBjPyUEkww2XiVMcgw0iocdpFhT3fL9Y/E=;
        b=fgDxSxTGTxcZLWwdesQTHrLRjD48WNg8cXGu/5JrJXiO1lVZNcp1mJi1KnKIamoUIb
         GUG8jeA412h0q7WsWgcUMG9CfTqF/7lbyUHH3CZvO1OjwSOjAze/zxZOCD4XiOHY2vOg
         ZCWJG+tM9Q4MHZrfySnWFFnlm5S90oVlRjLiaugYI/2lPWiqDzv3nfIPXhy7Ca8xvfgg
         X3UHfVEYDtxZC7ZyDhLnFUlHOhDlqL09y4XS39FuuYOKJH+x2JAvhFvXscuMtwc/X5A9
         NOLbM318OIpQ2G7/g+etioE3kJRbZ/bYAvBYfY38LpHgCH+BIfcvqB1GyewBrxueUUcA
         RPyw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:reply-to:date:in-reply-to:message-id
         :mime-version:references:subject:from:to:cc;
        bh=7WpldovdtqBjPyUEkww2XiVMcgw0iocdpFhT3fL9Y/E=;
        b=GmlBtvPwGoMcWqwKyVFqFwG6SFHHQcDQZst9azNvuJ0OJrR+2s6sucmskvm/Sb0yRq
         KHSWPW+aDnjIG+JlUtsacfzDzE6zZXvYFSq5aXEWWLU9aQo3rXlNBTC6b49ggHD+6uTo
         Eep96TqLo4zBt8zTK5Gdenk61qIu+3p0KE0LRN3XNN4yRf99OzpW0xxxpBGaQAxRBwhB
         ZUdVtiGKjjCfZRho1QYGRiExneMTECpNiGnbeEzSktrkcMIjF8/DO/AnK16suyv7qaGF
         nimBq4ANXnl1X1V3WyFAWeCUnzwyzIkbC50xgsABrRm63tsMOJX+XPC58e+fy03YoAfP
         vOkg==
X-Gm-Message-State: AOAM532eHX5skB/ncogVRBFNrbSiIGswJBXRC2vE3vPrpDZQm2aZPerI
	IxKbQKHDJxscT0eyMTJO7JZy9l41LpI=
X-Google-Smtp-Source: ABdhPJy/Z8J/7Ce+UZRUTjxGB4/tm5OJ2fdY2ZzHJtwz3NXqGQKt+XYwzsRhryc5v6fwBU31D6XFJg8/ijw=
X-Received: from seanjc798194.pdx.corp.google.com ([2620:15c:90:200:c16c:db05:96b2:1475])
 (user=seanjc job=sendgmr) by 2002:a05:6214:29cd:: with SMTP id
 gh13mr7215357qvb.25.1630025858489; Thu, 26 Aug 2021 17:57:38 -0700 (PDT)
Reply-To: Sean Christopherson <seanjc@google.com>
Date: Thu, 26 Aug 2021 17:57:07 -0700
In-Reply-To: <20210827005718.585190-1-seanjc@google.com>
Message-Id: <20210827005718.585190-5-seanjc@google.com>
Mime-Version: 1.0
References: <20210827005718.585190-1-seanjc@google.com>
X-Mailer: git-send-email 2.33.0.259.gc128427fd7-goog
Subject: [PATCH 04/15] perf: Force architectures to opt-in to guest callbacks
From: Sean Christopherson <seanjc@google.com>
To: Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>, 
	Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Catalin Marinas <catalin.marinas@arm.com>, Marc Zyngier <maz@kernel.org>, 
	Guo Ren <guoren@kernel.org>, Nick Hu <nickhu@andestech.com>, 
	Greentime Hu <green.hu@gmail.com>, Vincent Chen <deanbo422@gmail.com>, 
	Paul Walmsley <paul.walmsley@sifive.com>, Palmer Dabbelt <palmer@dabbelt.com>, 
	Albert Ou <aou@eecs.berkeley.edu>, Thomas Gleixner <tglx@linutronix.de>, 
	Borislav Petkov <bp@alien8.de>, x86@kernel.org, Paolo Bonzini <pbonzini@redhat.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, Juergen Gross <jgross@suse.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@redhat.com>, 
	Namhyung Kim <namhyung@kernel.org>, James Morse <james.morse@arm.com>, 
	Alexandru Elisei <alexandru.elisei@arm.com>, Suzuki K Poulose <suzuki.poulose@arm.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Sean Christopherson <seanjc@google.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Wanpeng Li <wanpengli@tencent.com>, 
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, linux-perf-users@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, 
	kvmarm@lists.cs.columbia.edu, linux-csky@vger.kernel.org, 
	linux-riscv@lists.infradead.org, kvm@vger.kernel.org, 
	xen-devel@lists.xenproject.org, Artem Kashkanov <artem.kashkanov@intel.com>, 
	Like Xu <like.xu.linux@gmail.com>, Zhu Lingshan <lingshan.zhu@intel.com>
Content-Type: text/plain; charset="UTF-8"

Introduce HAVE_GUEST_PERF_EVENTS and require architectures to select it
to allow register guest callbacks in perf.  Future patches will convert
the callbacks to per-CPU definitions.  Rather than churn a bunch of arch
code (that was presumably copy+pasted from x86), remove it wholesale as
it's useless and at best wasting cycles.

Wrap even the stubs with an #ifdef to avoid an arch sneaking in a bogus
registration with CONFIG_PERF_EVENTS=n.

Signed-off-by: Sean Christopherson <seanjc@google.com>
---
 arch/arm/kernel/perf_callchain.c   | 28 ++++------------------------
 arch/arm64/Kconfig                 |  1 +
 arch/csky/kernel/perf_callchain.c  | 10 ----------
 arch/nds32/kernel/perf_event_cpu.c | 29 ++++-------------------------
 arch/riscv/kernel/perf_callchain.c | 10 ----------
 arch/x86/Kconfig                   |  1 +
 include/linux/perf_event.h         |  4 ++++
 init/Kconfig                       |  3 +++
 kernel/events/core.c               |  2 ++
 9 files changed, 19 insertions(+), 69 deletions(-)

diff --git a/arch/arm/kernel/perf_callchain.c b/arch/arm/kernel/perf_callchain.c
index 3b69a76d341e..bc6b246ab55e 100644
--- a/arch/arm/kernel/perf_callchain.c
+++ b/arch/arm/kernel/perf_callchain.c
@@ -64,11 +64,6 @@ perf_callchain_user(struct perf_callchain_entry_ctx *entry, struct pt_regs *regs
 {
 	struct frame_tail __user *tail;
 
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
-		/* We don't support guest os callchain now */
-		return;
-	}
-
 	perf_callchain_store(entry, regs->ARM_pc);
 
 	if (!current->mm)
@@ -100,20 +95,12 @@ perf_callchain_kernel(struct perf_callchain_entry_ctx *entry, struct pt_regs *re
 {
 	struct stackframe fr;
 
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
-		/* We don't support guest os callchain now */
-		return;
-	}
-
 	arm_get_current_stackframe(regs, &fr);
 	walk_stackframe(&fr, callchain_trace, entry);
 }
 
 unsigned long perf_instruction_pointer(struct pt_regs *regs)
 {
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest())
-		return perf_guest_cbs->get_guest_ip();
-
 	return instruction_pointer(regs);
 }
 
@@ -121,17 +108,10 @@ unsigned long perf_misc_flags(struct pt_regs *regs)
 {
 	int misc = 0;
 
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
-		if (perf_guest_cbs->is_user_mode())
-			misc |= PERF_RECORD_MISC_GUEST_USER;
-		else
-			misc |= PERF_RECORD_MISC_GUEST_KERNEL;
-	} else {
-		if (user_mode(regs))
-			misc |= PERF_RECORD_MISC_USER;
-		else
-			misc |= PERF_RECORD_MISC_KERNEL;
-	}
+	if (user_mode(regs))
+		misc |= PERF_RECORD_MISC_USER;
+	else
+		misc |= PERF_RECORD_MISC_KERNEL;
 
 	return misc;
 }
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index b5b13a932561..72a201a686c5 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -190,6 +190,7 @@ config ARM64
 	select HAVE_NMI
 	select HAVE_PATA_PLATFORM
 	select HAVE_PERF_EVENTS
+	select HAVE_GUEST_PERF_EVENTS
 	select HAVE_PERF_REGS
 	select HAVE_PERF_USER_STACK_DUMP
 	select HAVE_REGS_AND_STACK_ACCESS_API
diff --git a/arch/csky/kernel/perf_callchain.c b/arch/csky/kernel/perf_callchain.c
index ab55e98ee8f6..92057de08f4f 100644
--- a/arch/csky/kernel/perf_callchain.c
+++ b/arch/csky/kernel/perf_callchain.c
@@ -88,10 +88,6 @@ void perf_callchain_user(struct perf_callchain_entry_ctx *entry,
 {
 	unsigned long fp = 0;
 
-	/* C-SKY does not support virtualization. */
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest())
-		return;
-
 	fp = regs->regs[4];
 	perf_callchain_store(entry, regs->pc);
 
@@ -112,12 +108,6 @@ void perf_callchain_kernel(struct perf_callchain_entry_ctx *entry,
 {
 	struct stackframe fr;
 
-	/* C-SKY does not support virtualization. */
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
-		pr_warn("C-SKY does not support perf in guest mode!");
-		return;
-	}
-
 	fr.fp = regs->regs[4];
 	fr.lr = regs->lr;
 	walk_stackframe(&fr, entry);
diff --git a/arch/nds32/kernel/perf_event_cpu.c b/arch/nds32/kernel/perf_event_cpu.c
index 0ce6f9f307e6..a78a879e7ef1 100644
--- a/arch/nds32/kernel/perf_event_cpu.c
+++ b/arch/nds32/kernel/perf_event_cpu.c
@@ -1371,11 +1371,6 @@ perf_callchain_user(struct perf_callchain_entry_ctx *entry,
 
 	leaf_fp = 0;
 
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
-		/* We don't support guest os callchain now */
-		return;
-	}
-
 	perf_callchain_store(entry, regs->ipc);
 	fp = regs->fp;
 	gp = regs->gp;
@@ -1481,10 +1476,6 @@ perf_callchain_kernel(struct perf_callchain_entry_ctx *entry,
 {
 	struct stackframe fr;
 
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
-		/* We don't support guest os callchain now */
-		return;
-	}
 	fr.fp = regs->fp;
 	fr.lp = regs->lp;
 	fr.sp = regs->sp;
@@ -1493,10 +1484,6 @@ perf_callchain_kernel(struct perf_callchain_entry_ctx *entry,
 
 unsigned long perf_instruction_pointer(struct pt_regs *regs)
 {
-	/* However, NDS32 does not support virtualization */
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest())
-		return perf_guest_cbs->get_guest_ip();
-
 	return instruction_pointer(regs);
 }
 
@@ -1504,18 +1491,10 @@ unsigned long perf_misc_flags(struct pt_regs *regs)
 {
 	int misc = 0;
 
-	/* However, NDS32 does not support virtualization */
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
-		if (perf_guest_cbs->is_user_mode())
-			misc |= PERF_RECORD_MISC_GUEST_USER;
-		else
-			misc |= PERF_RECORD_MISC_GUEST_KERNEL;
-	} else {
-		if (user_mode(regs))
-			misc |= PERF_RECORD_MISC_USER;
-		else
-			misc |= PERF_RECORD_MISC_KERNEL;
-	}
+	if (user_mode(regs))
+		misc |= PERF_RECORD_MISC_USER;
+	else
+		misc |= PERF_RECORD_MISC_KERNEL;
 
 	return misc;
 }
diff --git a/arch/riscv/kernel/perf_callchain.c b/arch/riscv/kernel/perf_callchain.c
index 0bb1854dce83..1fc075b8f764 100644
--- a/arch/riscv/kernel/perf_callchain.c
+++ b/arch/riscv/kernel/perf_callchain.c
@@ -58,10 +58,6 @@ void perf_callchain_user(struct perf_callchain_entry_ctx *entry,
 {
 	unsigned long fp = 0;
 
-	/* RISC-V does not support perf in guest mode. */
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest())
-		return;
-
 	fp = regs->s0;
 	perf_callchain_store(entry, regs->epc);
 
@@ -78,11 +74,5 @@ static bool fill_callchain(void *entry, unsigned long pc)
 void perf_callchain_kernel(struct perf_callchain_entry_ctx *entry,
 			   struct pt_regs *regs)
 {
-	/* RISC-V does not support perf in guest mode. */
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
-		pr_warn("RISC-V does not support perf in guest mode!");
-		return;
-	}
-
 	walk_stackframe(NULL, regs, fill_callchain, entry);
 }
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 49270655e827..a4de4aa7a3df 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -229,6 +229,7 @@ config X86
 	select HAVE_PERF_EVENTS
 	select HAVE_PERF_EVENTS_NMI
 	select HAVE_HARDLOCKUP_DETECTOR_PERF	if PERF_EVENTS && HAVE_PERF_EVENTS_NMI
+	select HAVE_GUEST_PERF_EVENTS
 	select HAVE_PCI
 	select HAVE_PERF_REGS
 	select HAVE_PERF_USER_STACK_DUMP
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index 05c0efba3cd1..5eab690622ca 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -1236,9 +1236,11 @@ extern void perf_event_bpf_event(struct bpf_prog *prog,
 				 enum perf_bpf_event_type type,
 				 u16 flags);
 
+#ifdef CONFIG_HAVE_GUEST_PERF_EVENTS
 extern struct perf_guest_info_callbacks *perf_guest_cbs;
 extern void perf_register_guest_info_callbacks(struct perf_guest_info_callbacks *callbacks);
 extern void perf_unregister_guest_info_callbacks(void);
+#endif /* CONFIG_HAVE_GUEST_PERF_EVENTS */
 
 extern void perf_event_exec(void);
 extern void perf_event_comm(struct task_struct *tsk, bool exec);
@@ -1481,9 +1483,11 @@ perf_sw_event(u32 event_id, u64 nr, struct pt_regs *regs, u64 addr)	{ }
 static inline void
 perf_bp_event(struct perf_event *event, void *data)			{ }
 
+#ifdef CONFIG_HAVE_GUEST_PERF_EVENTS
 static inline void perf_register_guest_info_callbacks
 (struct perf_guest_info_callbacks *callbacks)				{ }
 static inline void perf_unregister_guest_info_callbacks(void)		{ }
+#endif
 
 static inline void perf_event_mmap(struct vm_area_struct *vma)		{ }
 
diff --git a/init/Kconfig b/init/Kconfig
index 55f9f7738ebb..9ef51ae53977 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -1776,6 +1776,9 @@ config HAVE_PERF_EVENTS
 	help
 	  See tools/perf/design.txt for details.
 
+config HAVE_GUEST_PERF_EVENTS
+	bool
+
 config PERF_USE_VMALLOC
 	bool
 	help
diff --git a/kernel/events/core.c b/kernel/events/core.c
index baae796612b9..9820df7ee455 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -6482,6 +6482,7 @@ static void perf_pending_event(struct irq_work *entry)
 		perf_swevent_put_recursion_context(rctx);
 }
 
+#ifdef CONFIG_HAVE_GUEST_PERF_EVENTS
 struct perf_guest_info_callbacks *perf_guest_cbs;
 
 void perf_register_guest_info_callbacks(struct perf_guest_info_callbacks *cbs)
@@ -6495,6 +6496,7 @@ void perf_unregister_guest_info_callbacks(void)
 	perf_guest_cbs = NULL;
 }
 EXPORT_SYMBOL_GPL(perf_unregister_guest_info_callbacks);
+#endif
 
 static void
 perf_output_sample_regs(struct perf_output_handle *handle,
-- 
2.33.0.259.gc128427fd7-goog



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 00:58:51 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 00:58:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173250.316143 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJQCg-0001gd-N8; Fri, 27 Aug 2021 00:58:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173250.316143; Fri, 27 Aug 2021 00:58:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJQCg-0001eW-FP; Fri, 27 Aug 2021 00:58:42 +0000
Received: by outflank-mailman (input) for mailman id 173250;
 Fri, 27 Aug 2021 00:57:36 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RLJ4=NS=flex--seanjc.bounces.google.com=3ezgoYQYKCZwOA6JF8CKKCHA.8KITAJ-9ARAHHEOPO.TAJLNKFA8P.KNC@srs-us1.protection.inumbo.net>)
 id 1mJQBc-0001Ok-Fj
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 00:57:36 +0000
Received: from mail-yb1-xb4a.google.com (unknown [2607:f8b0:4864:20::b4a])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id fc856dfb-5fb3-449c-babd-6cbd9ee9b68b;
 Fri, 27 Aug 2021 00:57:32 +0000 (UTC)
Received: by mail-yb1-xb4a.google.com with SMTP id
 j9-20020a2581490000b02905897d81c63fso1769558ybm.8
 for <xen-devel@lists.xenproject.org>; Thu, 26 Aug 2021 17:57: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: fc856dfb-5fb3-449c-babd-6cbd9ee9b68b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20161025;
        h=reply-to:date:in-reply-to:message-id:mime-version:references
         :subject:from:to:cc;
        bh=J1gV9tKuEUW347bCpCRKYVIA3sPFQNKnByLeTysAe1c=;
        b=nXu5TIDh95ZCVXgnqPsB5MnVB7h0DWCeq2WvI55h/YxVMn4UvB/0PXGzic8V1lImAR
         gkzVtaBzsqP9uk6o7rHF+pB2RTOlLz7ZmE8eEnP6TpErUHoLR6Z3y1ul2aW8AZoyvu88
         qf3qQzsVOyHB0k3MoOgHEyselDqB+bWPkRY11SCcmFM3sDoWd+TStfmni6LgyvOVBnbP
         WTC15pqLNheriIrcrp21jHT83qLTB/6Nelsm74BMGahqfznep4J2JYLMBCxHdz3uNE2u
         uw2NOHkkmuzCfwqhqL8S2VSJ8GEr9DgvO4+MZlIU7WbWxZ7rDsc6k8tAYRPFzFNt0mQf
         bwhA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:reply-to:date:in-reply-to:message-id
         :mime-version:references:subject:from:to:cc;
        bh=J1gV9tKuEUW347bCpCRKYVIA3sPFQNKnByLeTysAe1c=;
        b=JDUGJk1qngNtDqYK3GIYP/XTqHfejj+tN1cGW/CJBWTR3ENMmF0SISLOdVNiPHnP+p
         k35sogdgqRcbBFp83E7gC/962J9xPcRwSf/11lmnu4Pfe16i7OCtzTwsryogyYQgKRbG
         nmznex+G03daflPMDBz1I6Z5Iva8NrWZlY2egPlWkiDNSroth5JZaFj3QniS4werTJMm
         /rgkEZ1TRywXwnKYHLmN1BUBy6bSEv1ALC2RpHa+soQIy8kReyo8Qk7yyWf7T2Ail9XE
         6D8Ut0sfqydMfPivoQnICfCn5x+KgHAxri59yeTqO4e00U3nHH4PLtcgdhVe0WplwYzr
         pwsw==
X-Gm-Message-State: AOAM531BHhb9nXWn6103Co3S6gJNjoFKBtzuQxl0JoEqboBxYAsi2uwd
	Y+ZdifcvIUXlNnI1hcwdkVtL6AzjcCI=
X-Google-Smtp-Source: ABdhPJz56vr62vtEqqrEJytuFJ+pDWaaJX60HJE5Uei+MFkpG8+1SdGPGXBIDgjNq0cE0M+AxLJ7cPev7bI=
X-Received: from seanjc798194.pdx.corp.google.com ([2620:15c:90:200:c16c:db05:96b2:1475])
 (user=seanjc job=sendgmr) by 2002:a25:b845:: with SMTP id b5mr1965166ybm.343.1630025851738;
 Thu, 26 Aug 2021 17:57:31 -0700 (PDT)
Reply-To: Sean Christopherson <seanjc@google.com>
Date: Thu, 26 Aug 2021 17:57:04 -0700
In-Reply-To: <20210827005718.585190-1-seanjc@google.com>
Message-Id: <20210827005718.585190-2-seanjc@google.com>
Mime-Version: 1.0
References: <20210827005718.585190-1-seanjc@google.com>
X-Mailer: git-send-email 2.33.0.259.gc128427fd7-goog
Subject: [PATCH 01/15] KVM: x86: Register perf callbacks after calling
 vendor's hardware_setup()
From: Sean Christopherson <seanjc@google.com>
To: Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>, 
	Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Catalin Marinas <catalin.marinas@arm.com>, Marc Zyngier <maz@kernel.org>, 
	Guo Ren <guoren@kernel.org>, Nick Hu <nickhu@andestech.com>, 
	Greentime Hu <green.hu@gmail.com>, Vincent Chen <deanbo422@gmail.com>, 
	Paul Walmsley <paul.walmsley@sifive.com>, Palmer Dabbelt <palmer@dabbelt.com>, 
	Albert Ou <aou@eecs.berkeley.edu>, Thomas Gleixner <tglx@linutronix.de>, 
	Borislav Petkov <bp@alien8.de>, x86@kernel.org, Paolo Bonzini <pbonzini@redhat.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, Juergen Gross <jgross@suse.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@redhat.com>, 
	Namhyung Kim <namhyung@kernel.org>, James Morse <james.morse@arm.com>, 
	Alexandru Elisei <alexandru.elisei@arm.com>, Suzuki K Poulose <suzuki.poulose@arm.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Sean Christopherson <seanjc@google.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Wanpeng Li <wanpengli@tencent.com>, 
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, linux-perf-users@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, 
	kvmarm@lists.cs.columbia.edu, linux-csky@vger.kernel.org, 
	linux-riscv@lists.infradead.org, kvm@vger.kernel.org, 
	xen-devel@lists.xenproject.org, Artem Kashkanov <artem.kashkanov@intel.com>, 
	Like Xu <like.xu.linux@gmail.com>, Zhu Lingshan <lingshan.zhu@intel.com>
Content-Type: text/plain; charset="UTF-8"

Wait to register perf callbacks until after doing vendor hardaware setup.
VMX's hardware_setup() configures Intel Processor Trace (PT) mode, and a
future fix to register the Intel PT guest interrupt hook if and only if
Intel PT is exposed to the guest will consume the configured PT mode.

Delaying registration to hardware setup is effectively a nop as KVM's perf
hooks all pivot on the per-CPU current_vcpu, which is non-NULL only when
KVM is handling an IRQ/NMI in a VM-Exit path.  I.e. current_vcpu will be
NULL throughout both kvm_arch_init() and kvm_arch_hardware_setup().

Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Artem Kashkanov <artem.kashkanov@intel.com>
Cc: stable@vger.kernel.org
Signed-off-by: Sean Christopherson <seanjc@google.com>
---
 arch/x86/kvm/x86.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 86539c1686fa..fb6015f97f9e 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -8426,8 +8426,6 @@ int kvm_arch_init(void *opaque)
 
 	kvm_timer_init();
 
-	perf_register_guest_info_callbacks(&kvm_guest_cbs);
-
 	if (boot_cpu_has(X86_FEATURE_XSAVE)) {
 		host_xcr0 = xgetbv(XCR_XFEATURE_ENABLED_MASK);
 		supported_xcr0 = host_xcr0 & KVM_SUPPORTED_XCR0;
@@ -8461,7 +8459,6 @@ void kvm_arch_exit(void)
 		clear_hv_tscchange_cb();
 #endif
 	kvm_lapic_exit();
-	perf_unregister_guest_info_callbacks(&kvm_guest_cbs);
 
 	if (!boot_cpu_has(X86_FEATURE_CONSTANT_TSC))
 		cpufreq_unregister_notifier(&kvmclock_cpufreq_notifier_block,
@@ -11064,6 +11061,8 @@ int kvm_arch_hardware_setup(void *opaque)
 	memcpy(&kvm_x86_ops, ops->runtime_ops, sizeof(kvm_x86_ops));
 	kvm_ops_static_call_update();
 
+	perf_register_guest_info_callbacks(&kvm_guest_cbs);
+
 	if (!kvm_cpu_cap_has(X86_FEATURE_XSAVES))
 		supported_xss = 0;
 
@@ -11091,6 +11090,8 @@ int kvm_arch_hardware_setup(void *opaque)
 
 void kvm_arch_hardware_unsetup(void)
 {
+	perf_unregister_guest_info_callbacks(&kvm_guest_cbs);
+
 	static_call(kvm_x86_hardware_unsetup)();
 }
 
-- 
2.33.0.259.gc128427fd7-goog



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 01:01:04 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 01:01:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173314.316252 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJQEx-0005yX-H9; Fri, 27 Aug 2021 01:01:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173314.316252; Fri, 27 Aug 2021 01:01:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJQEx-0005xH-DI; Fri, 27 Aug 2021 01:01:03 +0000
Received: by outflank-mailman (input) for mailman id 173314;
 Fri, 27 Aug 2021 01:01:02 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=s0h2=NS=flex--seanjc.bounces.google.com=3kTgoYQYKCbIkWSfbUYggYdW.UgepWf-VWnWddaklk.pWfhjgbWUl.gjY@srs-us1.protection.inumbo.net>)
 id 1mJQCQ-0001Ok-I0
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 00:58:26 +0000
Received: from mail-qv1-xf49.google.com (unknown [2607:f8b0:4864:20::f49])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id cb7ccd9f-e272-45bf-bada-bddca76b6680;
 Fri, 27 Aug 2021 00:57:54 +0000 (UTC)
Received: by mail-qv1-xf49.google.com with SMTP id
 q2-20020ad45ca2000000b00374fa0dbedfso1776856qvh.1
 for <xen-devel@lists.xenproject.org>; Thu, 26 Aug 2021 17:57: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: cb7ccd9f-e272-45bf-bada-bddca76b6680
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20161025;
        h=reply-to:date:in-reply-to:message-id:mime-version:references
         :subject:from:to:cc;
        bh=OS7MVkT771frXb6OZKHkckOWNoVo4LUEGjOz8sBcugE=;
        b=OVx3FLznsGaUkZj9+ODRTi7whGbzE/8kn7Gal8CUtZIaL/dYJc2rmQ1qkPOZL3Jkfh
         8LrJ1TSXuykV5OnsMsKzeh/lnCTo7ULEJtk/Ma+pEhnmcr7eVxSmsrJbyuf0LZfHK3mC
         5cTNBxdLyQmksw12D/CFGAYGi8YZhA+2t1yMTfPnInjGwKU/m4C6BX/DXEkZZQHXEg9c
         FER1Z6XZJ/+zGzGlv/1Hbj3FXGvMNEUSscvb2WcAhhf/HSakavpwMxtthLnpWQGFfmMn
         TA2CoC7TInFFLn+Y2y/FwxaHi5RRS6sJJCd4Q8o94I87M30cSUgn5q03sEpbFayyiZ4I
         iPxQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:reply-to:date:in-reply-to:message-id
         :mime-version:references:subject:from:to:cc;
        bh=OS7MVkT771frXb6OZKHkckOWNoVo4LUEGjOz8sBcugE=;
        b=GzjIOPr4RhPVgPZ/cw8mQrO3awr7jWQRpIK5LDSQSadl9GwBCAAiMqrE6DqSWM5gqO
         r1rHj9Lcek1PPE8qPbe3SrvchRpF61FS76AnaKEcuMyGt4D3KYC85VofwIdTV3jh6c6+
         5gR04JqCNBvtjzN36k6wEhJ3E8NwyCvYNNRvmp20Y/4n1b232XGSZM761UpWXIru+N+i
         mvFyCJeIwt11/eG9RbKp7G1IXeXyDxULwCgeEfjIG5JYNmMlO5tf4PikvBA867aSUgI4
         kM3Vcqgw4B6oR5w598DEQ61K/flYaF2gd9x2Nzq9elJz3VG8Vm3/UxoQKxdMRfNwt22Z
         FPIA==
X-Gm-Message-State: AOAM5300hY7cHv6Tq2bXLd65g0x+FcEbTaF4RnAVUoLBPlrHELDHBrgF
	36s7cZDoFEHozqkw54kiFeA8dYZTQDg=
X-Google-Smtp-Source: ABdhPJyQjCRgdbSS93/ZAW+G0XqSUQSjYqI1rf3Efd9pEAO4+ceiCBacRxi/URQ0QYmIDPRPY3Rt4DKN9BU=
X-Received: from seanjc798194.pdx.corp.google.com ([2620:15c:90:200:c16c:db05:96b2:1475])
 (user=seanjc job=sendgmr) by 2002:a05:6214:c3:: with SMTP id
 f3mr7297288qvs.1.1630025873996; Thu, 26 Aug 2021 17:57:53 -0700 (PDT)
Reply-To: Sean Christopherson <seanjc@google.com>
Date: Thu, 26 Aug 2021 17:57:14 -0700
In-Reply-To: <20210827005718.585190-1-seanjc@google.com>
Message-Id: <20210827005718.585190-12-seanjc@google.com>
Mime-Version: 1.0
References: <20210827005718.585190-1-seanjc@google.com>
X-Mailer: git-send-email 2.33.0.259.gc128427fd7-goog
Subject: [PATCH 11/15] KVM: x86: Move Intel Processor Trace interrupt handler
 to vmx.c
From: Sean Christopherson <seanjc@google.com>
To: Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>, 
	Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Catalin Marinas <catalin.marinas@arm.com>, Marc Zyngier <maz@kernel.org>, 
	Guo Ren <guoren@kernel.org>, Nick Hu <nickhu@andestech.com>, 
	Greentime Hu <green.hu@gmail.com>, Vincent Chen <deanbo422@gmail.com>, 
	Paul Walmsley <paul.walmsley@sifive.com>, Palmer Dabbelt <palmer@dabbelt.com>, 
	Albert Ou <aou@eecs.berkeley.edu>, Thomas Gleixner <tglx@linutronix.de>, 
	Borislav Petkov <bp@alien8.de>, x86@kernel.org, Paolo Bonzini <pbonzini@redhat.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, Juergen Gross <jgross@suse.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@redhat.com>, 
	Namhyung Kim <namhyung@kernel.org>, James Morse <james.morse@arm.com>, 
	Alexandru Elisei <alexandru.elisei@arm.com>, Suzuki K Poulose <suzuki.poulose@arm.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Sean Christopherson <seanjc@google.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Wanpeng Li <wanpengli@tencent.com>, 
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, linux-perf-users@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, 
	kvmarm@lists.cs.columbia.edu, linux-csky@vger.kernel.org, 
	linux-riscv@lists.infradead.org, kvm@vger.kernel.org, 
	xen-devel@lists.xenproject.org, Artem Kashkanov <artem.kashkanov@intel.com>, 
	Like Xu <like.xu.linux@gmail.com>, Zhu Lingshan <lingshan.zhu@intel.com>
Content-Type: text/plain; charset="UTF-8"

Now that all state needed for VMX's PT interrupt handler is exposed to
vmx.c (specifically the currently running vCPU), move the handler into
vmx.c where it belongs.

Signed-off-by: Sean Christopherson <seanjc@google.com>
---
 arch/x86/include/asm/kvm_host.h |  1 -
 arch/x86/kvm/vmx/vmx.c          | 24 +++++++++++++++++++++---
 arch/x86/kvm/x86.c              | 17 -----------------
 virt/kvm/kvm_main.c             |  1 +
 4 files changed, 22 insertions(+), 21 deletions(-)

diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
index 63553a1f43ee..daa33147650a 100644
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -1496,7 +1496,6 @@ struct kvm_x86_init_ops {
 	int (*disabled_by_bios)(void);
 	int (*check_processor_compatibility)(void);
 	int (*hardware_setup)(void);
-	bool (*intel_pt_intr_in_guest)(void);
 
 	struct kvm_x86_ops *runtime_ops;
 };
diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
index f08980ef7c44..4665a272249a 100644
--- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c
@@ -7535,6 +7535,8 @@ static void vmx_migrate_timers(struct kvm_vcpu *vcpu)
 
 static void hardware_unsetup(void)
 {
+	kvm_set_intel_pt_intr_handler(NULL);
+
 	if (nested)
 		nested_vmx_hardware_unsetup();
 
@@ -7685,6 +7687,18 @@ static struct kvm_x86_ops vmx_x86_ops __initdata = {
 	.vcpu_deliver_sipi_vector = kvm_vcpu_deliver_sipi_vector,
 };
 
+static void vmx_handle_intel_pt_intr(void)
+{
+	struct kvm_vcpu *vcpu = kvm_get_running_vcpu();
+
+	if (WARN_ON_ONCE(!vcpu))
+		return;
+
+	kvm_make_request(KVM_REQ_PMI, vcpu);
+	__set_bit(MSR_CORE_PERF_GLOBAL_OVF_CTRL_TRACE_TOPA_PMI_BIT,
+			(unsigned long *)&vcpu->arch.pmu.global_status);
+}
+
 static __init void vmx_setup_user_return_msrs(void)
 {
 
@@ -7886,9 +7900,14 @@ static __init int hardware_setup(void)
 	vmx_set_cpu_caps();
 
 	r = alloc_kvm_area();
-	if (r)
+	if (r) {
 		nested_vmx_hardware_unsetup();
-	return r;
+		return r;
+	}
+
+	if (pt_mode == PT_MODE_HOST_GUEST)
+		kvm_set_intel_pt_intr_handler(vmx_handle_intel_pt_intr);
+	return 0;
 }
 
 static struct kvm_x86_init_ops vmx_init_ops __initdata = {
@@ -7896,7 +7915,6 @@ static struct kvm_x86_init_ops vmx_init_ops __initdata = {
 	.disabled_by_bios = vmx_disabled_by_bios,
 	.check_processor_compatibility = vmx_check_processor_compat,
 	.hardware_setup = hardware_setup,
-	.intel_pt_intr_in_guest = vmx_pt_mode_is_host_guest,
 
 	.runtime_ops = &vmx_x86_ops,
 };
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 7cb0f04e24ee..11c7a02f839c 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -8264,18 +8264,6 @@ static void kvm_timer_init(void)
 			  kvmclock_cpu_online, kvmclock_cpu_down_prep);
 }
 
-static void kvm_handle_intel_pt_intr(void)
-{
-	struct kvm_vcpu *vcpu = kvm_get_running_vcpu();
-
-	if (WARN_ON_ONCE(!vcpu))
-		return;
-
-	kvm_make_request(KVM_REQ_PMI, vcpu);
-	__set_bit(MSR_CORE_PERF_GLOBAL_OVF_CTRL_TRACE_TOPA_PMI_BIT,
-			(unsigned long *)&vcpu->arch.pmu.global_status);
-}
-
 #ifdef CONFIG_X86_64
 static void pvclock_gtod_update_fn(struct work_struct *work)
 {
@@ -11029,9 +11017,6 @@ int kvm_arch_hardware_setup(void *opaque)
 	memcpy(&kvm_x86_ops, ops->runtime_ops, sizeof(kvm_x86_ops));
 	kvm_ops_static_call_update();
 
-	if (ops->intel_pt_intr_in_guest && ops->intel_pt_intr_in_guest())
-		kvm_set_intel_pt_intr_handler(kvm_handle_intel_pt_intr);
-
 	if (!kvm_cpu_cap_has(X86_FEATURE_XSAVES))
 		supported_xss = 0;
 
@@ -11059,8 +11044,6 @@ int kvm_arch_hardware_setup(void *opaque)
 
 void kvm_arch_hardware_unsetup(void)
 {
-	kvm_set_intel_pt_intr_handler(NULL);
-
 	static_call(kvm_x86_hardware_unsetup)();
 }
 
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index 13c4f58a75e5..e0b1c9386926 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -5498,6 +5498,7 @@ void kvm_set_intel_pt_intr_handler(void (*handler)(void))
 {
 	kvm_guest_cbs.handle_intel_pt_intr = handler;
 }
+EXPORT_SYMBOL_GPL(kvm_set_intel_pt_intr_handler);
 
 void kvm_register_perf_callbacks(void)
 {
-- 
2.33.0.259.gc128427fd7-goog



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 01:01:12 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 01:01:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173317.316262 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJQF5-0000kD-TO; Fri, 27 Aug 2021 01:01:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173317.316262; Fri, 27 Aug 2021 01: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 1mJQF5-0000jS-Q5; Fri, 27 Aug 2021 01:01:11 +0000
Received: by outflank-mailman (input) for mailman id 173317;
 Fri, 27 Aug 2021 01:01:10 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0wmv=NS=flex--seanjc.bounces.google.com=3mzgoYQYKCbwugcpleiqqing.eqozgp-fgxgnnkuvu.zgprtqlgev.qti@srs-us1.protection.inumbo.net>)
 id 1mJQCk-0001Ok-J5
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 00:58:46 +0000
Received: from mail-yb1-xb4a.google.com (unknown [2607:f8b0:4864:20::b4a])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id e586f8aa-d8b6-4976-ab4f-4e9150a538a6;
 Fri, 27 Aug 2021 00:58:03 +0000 (UTC)
Received: by mail-yb1-xb4a.google.com with SMTP id
 b198-20020a2534cf000000b0059bae206c16so4868328yba.18
 for <xen-devel@lists.xenproject.org>; Thu, 26 Aug 2021 17:58: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: e586f8aa-d8b6-4976-ab4f-4e9150a538a6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20161025;
        h=reply-to:date:in-reply-to:message-id:mime-version:references
         :subject:from:to:cc;
        bh=5wQJhGi+ZyGOAOMPxE71g3TXDJHEcKM3NH5k2IjIokU=;
        b=OW6tj0qrfqLnmyAG7bwsLD1ivWUlSQB5/rmjy7WLw347oAMVCG3/Qk7isJlZCVSFFV
         W7vIlgUdwAlJx2kpTZ9A55Gu92o/DT6okHoyWj++aIqZDyTZVtHibehQi7O2j3MjMThX
         Eos5GY/kAJpzkfPs9z5NTcHHEpUm/XVAQpx4rHw8kLZUkO7HNuZJLNnlhhsXFJlEJkCy
         p6hhGZMhQP2aZtmOVXw5yZNFRx/aQuH9Vj4YrQddHKnPUiY2qaww7D6c/XyLTUmGdHj3
         smqjImdUUuenQzBvxAy/5tpxtN+1AQqndlIihp99we7A59b3jtdrbJnHyTatubIFGc7+
         +UOw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:reply-to:date:in-reply-to:message-id
         :mime-version:references:subject:from:to:cc;
        bh=5wQJhGi+ZyGOAOMPxE71g3TXDJHEcKM3NH5k2IjIokU=;
        b=pCrPFenA/g28shqp38O3pKHTLlb4BIhLbiug3ZrrbtZh6lOCKenJ7ZUBzg44TeSYx9
         zHOLLKIb8Cknf82wW0py1MFIcZIqOPhLbbJz5rdIqFNC4+rifS8u1zwqeM9wQEN5XU0L
         lhDomjODvI9IWV+OjPona6bcQwOz91qEfrUJtZW17y7a2SdIsXRxZD7SzeSwxtTdCc2D
         B7u9KI5rnr81FqRovyaid1k73hGFJk38tA0wfn2CcQokYv17klSzODjtVvQpTI+2KGVx
         mEsW9pnnJ+zKE7r92mCNnYwRYd3GiOuTNg9Gkg0Jb5QKdTCTdD2u/xALkdg5YRZ8thfj
         E5Fg==
X-Gm-Message-State: AOAM5318kH4zvStyq81W4Cxd7L9ujLqS8pNMa7mkrAbhSGPOKEgzJNGC
	R8QGPs1gfPzoRRMW+TkcYyhFx9z/GYU=
X-Google-Smtp-Source: ABdhPJxNS9FKdHggEYyf3FZBaeUKCfIfMsPYcyI+FugrK+/XdFcM7Qj6lsB8B0S5DygYRKG5HNpbYwSWz/0=
X-Received: from seanjc798194.pdx.corp.google.com ([2620:15c:90:200:c16c:db05:96b2:1475])
 (user=seanjc job=sendgmr) by 2002:a25:ea51:: with SMTP id o17mr1969948ybe.253.1630025883284;
 Thu, 26 Aug 2021 17:58:03 -0700 (PDT)
Reply-To: Sean Christopherson <seanjc@google.com>
Date: Thu, 26 Aug 2021 17:57:18 -0700
In-Reply-To: <20210827005718.585190-1-seanjc@google.com>
Message-Id: <20210827005718.585190-16-seanjc@google.com>
Mime-Version: 1.0
References: <20210827005718.585190-1-seanjc@google.com>
X-Mailer: git-send-email 2.33.0.259.gc128427fd7-goog
Subject: [PATCH 15/15] perf: KVM: Indicate "in guest" via NULL ->is_in_guest callback
From: Sean Christopherson <seanjc@google.com>
To: Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>, 
	Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Catalin Marinas <catalin.marinas@arm.com>, Marc Zyngier <maz@kernel.org>, 
	Guo Ren <guoren@kernel.org>, Nick Hu <nickhu@andestech.com>, 
	Greentime Hu <green.hu@gmail.com>, Vincent Chen <deanbo422@gmail.com>, 
	Paul Walmsley <paul.walmsley@sifive.com>, Palmer Dabbelt <palmer@dabbelt.com>, 
	Albert Ou <aou@eecs.berkeley.edu>, Thomas Gleixner <tglx@linutronix.de>, 
	Borislav Petkov <bp@alien8.de>, x86@kernel.org, Paolo Bonzini <pbonzini@redhat.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, Juergen Gross <jgross@suse.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@redhat.com>, 
	Namhyung Kim <namhyung@kernel.org>, James Morse <james.morse@arm.com>, 
	Alexandru Elisei <alexandru.elisei@arm.com>, Suzuki K Poulose <suzuki.poulose@arm.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Sean Christopherson <seanjc@google.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Wanpeng Li <wanpengli@tencent.com>, 
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, linux-perf-users@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, 
	kvmarm@lists.cs.columbia.edu, linux-csky@vger.kernel.org, 
	linux-riscv@lists.infradead.org, kvm@vger.kernel.org, 
	xen-devel@lists.xenproject.org, Artem Kashkanov <artem.kashkanov@intel.com>, 
	Like Xu <like.xu.linux@gmail.com>, Zhu Lingshan <lingshan.zhu@intel.com>
Content-Type: text/plain; charset="UTF-8"

Interpret a null ->is_in_guest callback as meaning "in guest" and use
the new semantics in KVM, which currently returns 'true' unconditionally
in its implementation of ->is_in_guest().  This avoids a retpoline on
the indirect call for PMIs that arrive in a KVM guest, and also provides
a handy excuse for a wrapper around retrieval of perf_get_guest_cbs,
e.g. to reduce the probability of an errant direct read of perf_guest_cbs.

Signed-off-by: Sean Christopherson <seanjc@google.com>
---
 arch/x86/events/core.c       | 16 ++++++++--------
 arch/x86/events/intel/core.c |  5 ++---
 include/linux/perf_event.h   | 17 +++++++++++++++++
 virt/kvm/kvm_main.c          |  9 ++-------
 4 files changed, 29 insertions(+), 18 deletions(-)

diff --git a/arch/x86/events/core.c b/arch/x86/events/core.c
index 34155a52e498..b60c339ae06b 100644
--- a/arch/x86/events/core.c
+++ b/arch/x86/events/core.c
@@ -2761,11 +2761,11 @@ static bool perf_hw_regs(struct pt_regs *regs)
 void
 perf_callchain_kernel(struct perf_callchain_entry_ctx *entry, struct pt_regs *regs)
 {
-	struct perf_guest_info_callbacks *guest_cbs = this_cpu_read(perf_guest_cbs);
+	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
 	struct unwind_state state;
 	unsigned long addr;
 
-	if (guest_cbs && guest_cbs->is_in_guest()) {
+	if (guest_cbs) {
 		/* TODO: We don't support guest os callchain now */
 		return;
 	}
@@ -2865,11 +2865,11 @@ perf_callchain_user32(struct pt_regs *regs, struct perf_callchain_entry_ctx *ent
 void
 perf_callchain_user(struct perf_callchain_entry_ctx *entry, struct pt_regs *regs)
 {
-	struct perf_guest_info_callbacks *guest_cbs = this_cpu_read(perf_guest_cbs);
+	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
 	struct stack_frame frame;
 	const struct stack_frame __user *fp;
 
-	if (guest_cbs && guest_cbs->is_in_guest()) {
+	if (guest_cbs) {
 		/* TODO: We don't support guest os callchain now */
 		return;
 	}
@@ -2946,9 +2946,9 @@ static unsigned long code_segment_base(struct pt_regs *regs)
 
 unsigned long perf_instruction_pointer(struct pt_regs *regs)
 {
-	struct perf_guest_info_callbacks *guest_cbs = this_cpu_read(perf_guest_cbs);
+	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
 
-	if (guest_cbs && guest_cbs->is_in_guest())
+	if (guest_cbs)
 		return guest_cbs->get_guest_ip();
 
 	return regs->ip + code_segment_base(regs);
@@ -2956,10 +2956,10 @@ unsigned long perf_instruction_pointer(struct pt_regs *regs)
 
 unsigned long perf_misc_flags(struct pt_regs *regs)
 {
-	struct perf_guest_info_callbacks *guest_cbs = this_cpu_read(perf_guest_cbs);
+	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
 	int misc = 0;
 
-	if (guest_cbs && guest_cbs->is_in_guest()) {
+	if (guest_cbs) {
 		if (guest_cbs->is_user_mode())
 			misc |= PERF_RECORD_MISC_GUEST_USER;
 		else
diff --git a/arch/x86/events/intel/core.c b/arch/x86/events/intel/core.c
index 96001962c24d..9a8c18b51a96 100644
--- a/arch/x86/events/intel/core.c
+++ b/arch/x86/events/intel/core.c
@@ -2853,9 +2853,8 @@ static int handle_pmi_common(struct pt_regs *regs, u64 status)
 	 */
 	if (__test_and_clear_bit(GLOBAL_STATUS_TRACE_TOPAPMI_BIT, (unsigned long *)&status)) {
 		handled++;
-		guest_cbs = this_cpu_read(perf_guest_cbs);
-		if (unlikely(guest_cbs && guest_cbs->is_in_guest() &&
-			     guest_cbs->handle_intel_pt_intr))
+		guest_cbs = perf_get_guest_cbs();
+		if (unlikely(guest_cbs && guest_cbs->handle_intel_pt_intr))
 			guest_cbs->handle_intel_pt_intr();
 		else
 			intel_pt_interrupt();
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index db701409a62f..6e3a10784d24 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -1241,6 +1241,23 @@ DECLARE_PER_CPU(struct perf_guest_info_callbacks *, perf_guest_cbs);
 extern void perf_register_guest_info_callbacks(struct perf_guest_info_callbacks *cbs);
 extern void perf_unregister_guest_info_callbacks(void);
 extern void perf_register_guest_info_callbacks_all_cpus(struct perf_guest_info_callbacks *cbs);
+/*
+ * Returns guest callbacks for the current CPU if callbacks are registered and
+ * the PMI fired while a guest was running, otherwise returns NULL.
+ */
+static inline struct perf_guest_info_callbacks *perf_get_guest_cbs(void)
+{
+	struct perf_guest_info_callbacks *guest_cbs = this_cpu_read(perf_guest_cbs);
+
+	/*
+	 * Implementing is_in_guest is optional if the callbacks are registered
+	 * only when "in guest".
+	 */
+	if (guest_cbs && (!guest_cbs->is_in_guest || guest_cbs->is_in_guest()))
+		return guest_cbs;
+
+	return NULL;
+}
 #endif /* CONFIG_HAVE_GUEST_PERF_EVENTS */
 
 extern void perf_event_exec(void);
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index 1bcc3eab510b..fa83d3846785 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -5461,12 +5461,6 @@ struct kvm_vcpu * __percpu *kvm_get_running_vcpus(void)
 }
 
 #ifdef __KVM_WANT_PERF_CALLBACKS
-static int kvm_is_in_guest(void)
-{
-	/* Registration of KVM's callback signifies "in guest". */
-	return true;
-}
-
 static int kvm_is_user_mode(void)
 {
 	struct kvm_vcpu *vcpu = kvm_get_running_vcpu();
@@ -5488,7 +5482,8 @@ static unsigned long kvm_get_guest_ip(void)
 }
 
 static struct perf_guest_info_callbacks kvm_guest_cbs = {
-	.is_in_guest		= kvm_is_in_guest,
+	/* Registration of KVM's callback signifies "in guest". */
+	.is_in_guest		= NULL,
 	.is_user_mode		= kvm_is_user_mode,
 	.get_guest_ip		= kvm_get_guest_ip,
 	.handle_intel_pt_intr	= NULL,
-- 
2.33.0.259.gc128427fd7-goog



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 01:01:19 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 01:01:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173319.316274 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJQFD-0003Nm-8w; Fri, 27 Aug 2021 01:01:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173319.316274; Fri, 27 Aug 2021 01: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 1mJQFD-0003N9-2j; Fri, 27 Aug 2021 01:01:19 +0000
Received: by outflank-mailman (input) for mailman id 173319;
 Fri, 27 Aug 2021 01:01:17 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tn0W=NS=flex--seanjc.bounces.google.com=3jzgoYQYKCbAiUQdZSWeeWbU.SecnUd-TUlUbbYiji.nUdfheZUSj.ehW@srs-us1.protection.inumbo.net>)
 id 1mJQCL-0001Ok-Ht
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 00:58:21 +0000
Received: from mail-qt1-x84a.google.com (unknown [2607:f8b0:4864:20::84a])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 604b31e7-1e6a-4254-a4a4-60e33b2b47e2;
 Fri, 27 Aug 2021 00:57:52 +0000 (UTC)
Received: by mail-qt1-x84a.google.com with SMTP id
 l24-20020ac84a98000000b00298c09593afso3768085qtq.22
 for <xen-devel@lists.xenproject.org>; Thu, 26 Aug 2021 17:57: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: 604b31e7-1e6a-4254-a4a4-60e33b2b47e2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20161025;
        h=reply-to:date:in-reply-to:message-id:mime-version:references
         :subject:from:to:cc;
        bh=APlw6FoeYyjS3BPQZoCRIAf0ql6GYvWTuNomlW8snXU=;
        b=LuT11C5Peh4krF2EeyCdRCxcbNvhcakRbKzYpV3qZ6O2Z4PVpX/pEIk2oLYVzCzATI
         LirVe+4RAAMNQA5oiT6FeR7Vf9UzP3TZBQ1RW6eIIDw0eYoqjBIHJCOb3m7m1RgUcZdn
         bOJ3i8Ik5ehFXpmB//AMa+N0DT/avx0k1s6Bh0Z4wQ47vO3Y5BHzjhy1obtH40imLbdg
         1DczFHZq/wmvU1GEirxYMIFLIuwM5dyIeEobru75ofGyf5WLMEq8/LlYDYJwN2l4QhOG
         8GED2Mpk3QJ4QR32vEcxwTxNC2AHBjbOsMdxCn7mUPHsS1u7SGXczKvCreOLUwK7WywP
         dKgA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:reply-to:date:in-reply-to:message-id
         :mime-version:references:subject:from:to:cc;
        bh=APlw6FoeYyjS3BPQZoCRIAf0ql6GYvWTuNomlW8snXU=;
        b=K5E32FTA8ePKNtBg25hBcdQ/JYgNNU2cv9eNz90RvCBUttyYBDAyL967jLuHAr0rdK
         64NT26RgzWjvgaGeL7KxPttymIafe9p6dq2LI6Y6wMUrx3npSxlxcEIsz8OKSGUOEarl
         EpmsZC/ic811HLhRwY5ojKAhDH0OTpE0RdBS8ht7hpcy9ty5szIPCBGvfZUlAwwSHaPa
         mukcB+GJVaFRKE0z9caQ9fjxgmUZbeqyotQ60kpqKCMMewWDQQ2Y+InrKiilMrfvbOs5
         31MiWt/8newh3WnftJGNm2PrQ+hP22W+JeUxf1pV+oPlxDKg1D5aZyrgat9oVWLq6D87
         ONHw==
X-Gm-Message-State: AOAM530z8eICO9jYo62tqm36ScFi11Pq1On3gRUk82ocPA0v/ZXPY7yM
	PXO25cfDB6V+9MovRdmc4TZ6kkVtv4o=
X-Google-Smtp-Source: ABdhPJxV8SLmQ7eQT1AmY1MtULBcvEHZk3qClIQX5AbSsyjIRBSmPH3McGvB8qU+Qq94IjkJESGPvkRvUxQ=
X-Received: from seanjc798194.pdx.corp.google.com ([2620:15c:90:200:c16c:db05:96b2:1475])
 (user=seanjc job=sendgmr) by 2002:a05:6214:2465:: with SMTP id
 im5mr7220558qvb.46.1630025871976; Thu, 26 Aug 2021 17:57:51 -0700 (PDT)
Reply-To: Sean Christopherson <seanjc@google.com>
Date: Thu, 26 Aug 2021 17:57:13 -0700
In-Reply-To: <20210827005718.585190-1-seanjc@google.com>
Message-Id: <20210827005718.585190-11-seanjc@google.com>
Mime-Version: 1.0
References: <20210827005718.585190-1-seanjc@google.com>
X-Mailer: git-send-email 2.33.0.259.gc128427fd7-goog
Subject: [PATCH 10/15] KVM: Move x86's perf guest info callbacks to generic KVM
From: Sean Christopherson <seanjc@google.com>
To: Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>, 
	Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Catalin Marinas <catalin.marinas@arm.com>, Marc Zyngier <maz@kernel.org>, 
	Guo Ren <guoren@kernel.org>, Nick Hu <nickhu@andestech.com>, 
	Greentime Hu <green.hu@gmail.com>, Vincent Chen <deanbo422@gmail.com>, 
	Paul Walmsley <paul.walmsley@sifive.com>, Palmer Dabbelt <palmer@dabbelt.com>, 
	Albert Ou <aou@eecs.berkeley.edu>, Thomas Gleixner <tglx@linutronix.de>, 
	Borislav Petkov <bp@alien8.de>, x86@kernel.org, Paolo Bonzini <pbonzini@redhat.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, Juergen Gross <jgross@suse.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@redhat.com>, 
	Namhyung Kim <namhyung@kernel.org>, James Morse <james.morse@arm.com>, 
	Alexandru Elisei <alexandru.elisei@arm.com>, Suzuki K Poulose <suzuki.poulose@arm.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Sean Christopherson <seanjc@google.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Wanpeng Li <wanpengli@tencent.com>, 
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, linux-perf-users@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, 
	kvmarm@lists.cs.columbia.edu, linux-csky@vger.kernel.org, 
	linux-riscv@lists.infradead.org, kvm@vger.kernel.org, 
	xen-devel@lists.xenproject.org, Artem Kashkanov <artem.kashkanov@intel.com>, 
	Like Xu <like.xu.linux@gmail.com>, Zhu Lingshan <lingshan.zhu@intel.com>
Content-Type: text/plain; charset="UTF-8"

Move x86's perf guest callbacks into common KVM, as they are semantically
identical to arm64's callbacks (the only other such KVM callbacks).
arm64 will convert to the common versions in a future patch.

Signed-off-by: Sean Christopherson <seanjc@google.com>
---
 arch/x86/include/asm/kvm_host.h |  1 +
 arch/x86/kvm/x86.c              | 48 +++++----------------------------
 arch/x86/kvm/x86.h              |  6 -----
 include/linux/kvm_host.h        | 12 +++++++++
 virt/kvm/kvm_main.c             | 46 +++++++++++++++++++++++++++++++
 5 files changed, 66 insertions(+), 47 deletions(-)

diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
index 465b35736d9b..63553a1f43ee 100644
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -36,6 +36,7 @@
 #include <asm/hyperv-tlfs.h>
 
 #define __KVM_HAVE_ARCH_VCPU_DEBUGFS
+#define __KVM_WANT_PERF_CALLBACKS
 
 #define KVM_MAX_VCPUS 288
 #define KVM_SOFT_MAX_VCPUS 240
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index e337aef60793..7cb0f04e24ee 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -8264,32 +8264,6 @@ static void kvm_timer_init(void)
 			  kvmclock_cpu_online, kvmclock_cpu_down_prep);
 }
 
-static int kvm_is_in_guest(void)
-{
-	/* x86's callbacks are registered only when handling a guest NMI. */
-	return true;
-}
-
-static int kvm_is_user_mode(void)
-{
-	struct kvm_vcpu *vcpu = kvm_get_running_vcpu();
-
-	if (WARN_ON_ONCE(!vcpu))
-		return 0;
-
-	return static_call(kvm_x86_get_cpl)(vcpu) != 0;
-}
-
-static unsigned long kvm_get_guest_ip(void)
-{
-	struct kvm_vcpu *vcpu = kvm_get_running_vcpu();
-
-	if (WARN_ON_ONCE(!vcpu))
-		return 0;
-
-	return kvm_rip_read(vcpu);
-}
-
 static void kvm_handle_intel_pt_intr(void)
 {
 	struct kvm_vcpu *vcpu = kvm_get_running_vcpu();
@@ -8302,19 +8276,6 @@ static void kvm_handle_intel_pt_intr(void)
 			(unsigned long *)&vcpu->arch.pmu.global_status);
 }
 
-static struct perf_guest_info_callbacks kvm_guest_cbs = {
-	.is_in_guest		= kvm_is_in_guest,
-	.is_user_mode		= kvm_is_user_mode,
-	.get_guest_ip		= kvm_get_guest_ip,
-	.handle_intel_pt_intr	= NULL,
-};
-
-void kvm_register_perf_callbacks(void)
-{
-	__perf_register_guest_info_callbacks(&kvm_guest_cbs);
-}
-EXPORT_SYMBOL_GPL(kvm_register_perf_callbacks);
-
 #ifdef CONFIG_X86_64
 static void pvclock_gtod_update_fn(struct work_struct *work)
 {
@@ -11069,7 +11030,7 @@ int kvm_arch_hardware_setup(void *opaque)
 	kvm_ops_static_call_update();
 
 	if (ops->intel_pt_intr_in_guest && ops->intel_pt_intr_in_guest())
-		kvm_guest_cbs.handle_intel_pt_intr = kvm_handle_intel_pt_intr;
+		kvm_set_intel_pt_intr_handler(kvm_handle_intel_pt_intr);
 
 	if (!kvm_cpu_cap_has(X86_FEATURE_XSAVES))
 		supported_xss = 0;
@@ -11098,7 +11059,7 @@ int kvm_arch_hardware_setup(void *opaque)
 
 void kvm_arch_hardware_unsetup(void)
 {
-	kvm_guest_cbs.handle_intel_pt_intr = NULL;
+	kvm_set_intel_pt_intr_handler(NULL);
 
 	static_call(kvm_x86_hardware_unsetup)();
 }
@@ -11725,6 +11686,11 @@ bool kvm_arch_vcpu_in_kernel(struct kvm_vcpu *vcpu)
 	return vcpu->arch.preempted_in_kernel;
 }
 
+unsigned long kvm_arch_vcpu_get_ip(struct kvm_vcpu *vcpu)
+{
+	return kvm_rip_read(vcpu);
+}
+
 int kvm_arch_vcpu_should_kick(struct kvm_vcpu *vcpu)
 {
 	return kvm_vcpu_exiting_guest_mode(vcpu) == IN_GUEST_MODE;
diff --git a/arch/x86/kvm/x86.h b/arch/x86/kvm/x86.h
index f13f15d2fab8..e1fe738c3827 100644
--- a/arch/x86/kvm/x86.h
+++ b/arch/x86/kvm/x86.h
@@ -387,12 +387,6 @@ static inline bool kvm_cstate_in_guest(struct kvm *kvm)
 	return kvm->arch.cstate_in_guest;
 }
 
-void kvm_register_perf_callbacks(void);
-static inline void kvm_unregister_perf_callbacks(void)
-{
-	__perf_unregister_guest_info_callbacks();
-}
-
 static inline void kvm_before_interrupt(struct kvm_vcpu *vcpu, bool is_nmi)
 {
 	WRITE_ONCE(vcpu->arch.handling_nmi_from_guest, is_nmi);
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
index e4d712e9f760..0db9af0b628c 100644
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
@@ -1163,6 +1163,18 @@ static inline bool kvm_arch_intc_initialized(struct kvm *kvm)
 }
 #endif
 
+#ifdef __KVM_WANT_PERF_CALLBACKS
+
+void kvm_set_intel_pt_intr_handler(void (*handler)(void));
+unsigned long kvm_arch_vcpu_get_ip(struct kvm_vcpu *vcpu);
+
+void kvm_register_perf_callbacks(void);
+static inline void kvm_unregister_perf_callbacks(void)
+{
+	__perf_unregister_guest_info_callbacks();
+}
+#endif
+
 int kvm_arch_init_vm(struct kvm *kvm, unsigned long type);
 void kvm_arch_destroy_vm(struct kvm *kvm);
 void kvm_arch_sync_events(struct kvm *kvm);
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index 3e67c93ca403..13c4f58a75e5 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -5460,6 +5460,52 @@ struct kvm_vcpu * __percpu *kvm_get_running_vcpus(void)
         return &kvm_running_vcpu;
 }
 
+#ifdef __KVM_WANT_PERF_CALLBACKS
+static int kvm_is_in_guest(void)
+{
+	/* Registration of KVM's callback signifies "in guest". */
+	return true;
+}
+
+static int kvm_is_user_mode(void)
+{
+	struct kvm_vcpu *vcpu = kvm_get_running_vcpu();
+
+	if (WARN_ON_ONCE(!vcpu))
+		return 0;
+
+	return !kvm_arch_vcpu_in_kernel(vcpu);
+}
+
+static unsigned long kvm_get_guest_ip(void)
+{
+	struct kvm_vcpu *vcpu = kvm_get_running_vcpu();
+
+	if (WARN_ON_ONCE(!vcpu))
+		return 0;
+
+	return kvm_arch_vcpu_get_ip(vcpu);
+}
+
+static struct perf_guest_info_callbacks kvm_guest_cbs = {
+	.is_in_guest		= kvm_is_in_guest,
+	.is_user_mode		= kvm_is_user_mode,
+	.get_guest_ip		= kvm_get_guest_ip,
+	.handle_intel_pt_intr	= NULL,
+};
+
+void kvm_set_intel_pt_intr_handler(void (*handler)(void))
+{
+	kvm_guest_cbs.handle_intel_pt_intr = handler;
+}
+
+void kvm_register_perf_callbacks(void)
+{
+	__perf_register_guest_info_callbacks(&kvm_guest_cbs);
+}
+EXPORT_SYMBOL_GPL(kvm_register_perf_callbacks);
+#endif
+
 struct kvm_cpu_compat_check {
 	void *opaque;
 	int *ret;
-- 
2.33.0.259.gc128427fd7-goog



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 01:01:26 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 01:01:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173322.316284 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJQFK-000637-GZ; Fri, 27 Aug 2021 01:01:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173322.316284; Fri, 27 Aug 2021 01:01:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJQFK-00062M-D7; Fri, 27 Aug 2021 01:01:26 +0000
Received: by outflank-mailman (input) for mailman id 173322;
 Fri, 27 Aug 2021 01:01:24 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=l01l=NS=flex--seanjc.bounces.google.com=3mDgoYQYKCbkrdZmibfnnfkd.bnlwdm-cdudkkhrsr.wdmoqnidbs.nqf@srs-us1.protection.inumbo.net>)
 id 1mJQCf-0001Ok-Ie
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 00:58:41 +0000
Received: from mail-qt1-x849.google.com (unknown [2607:f8b0:4864:20::849])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 4d9ce02b-092c-43e6-8011-918f834f98c3;
 Fri, 27 Aug 2021 00:58:01 +0000 (UTC)
Received: by mail-qt1-x849.google.com with SMTP id
 k4-20020ac85fc4000000b0029e6247e3edso207920qta.19
 for <xen-devel@lists.xenproject.org>; Thu, 26 Aug 2021 17:58: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: 4d9ce02b-092c-43e6-8011-918f834f98c3
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20161025;
        h=reply-to:date:in-reply-to:message-id:mime-version:references
         :subject:from:to:cc;
        bh=2c1oAfv2K1kK887vDwje5mKOKCy671YkzEKzr6O0AXU=;
        b=dPpwJxjFAEvKqBeQTsJ+sGnKoHCUDoZpaVXefCBRLWJYEAXtYCk1jNkAx1AH1WF/eG
         KIy8x+/4sLPr4zdnDE2egBaEDODhNuwDeZz/fiGkGQbMwDhPfxlGMgiZv4nxwzKTONNP
         w48weamcMEaBWOvZvU5f0I92nygzL+xaBLQUBWTiwbOYY93Mwf2WxDnJ3W/MWHuZSFBN
         ySHOeq9MvFBM04dVoDNrkz77+gPtaH+dN9os6JcQtf1EK0v/gyWblqEXuz9BFALfpRnH
         6isQHkETZn28aDBmE0AV+m14demqlHfQTlvzBRY5XUHPrqkELuVFpgUnkCWViVAkwntu
         hboQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:reply-to:date:in-reply-to:message-id
         :mime-version:references:subject:from:to:cc;
        bh=2c1oAfv2K1kK887vDwje5mKOKCy671YkzEKzr6O0AXU=;
        b=dNtY+I4d1RHHK8Xwi1lVVtkJGkudqzX5mVhzSXek5J1fgYnsuWYlN5OlUgDIjfpVu1
         m8bNP8yT/vh0N5mtBkUM263c6EbIohh2Yn4iJF8lLTbxof0XZUfFbUyOgAvl9Nvmjxsn
         xhVZOpXe5krP4r0v2KFPsAHAbbxGNUUTh5PZXk9uCU4FRbhbl6prLViOwO6LmqgR/xed
         1ga3of5gaWIItmbWcA43t2WyNvGMC+IApAQriwD0xDqqRD85pt0uG1406+SKmNL6PTqh
         NuvZhnLdCsMb2Kae6Ec/7wXti/9yTnW1FVrTyz/rmWkJsf1e8lf642bUsGAbTEwqEEKK
         8hug==
X-Gm-Message-State: AOAM532trkzbN/nhptl+3EjiMhwhN4sMZm3Hm7r0+GzSQL7kjl41fLYt
	imJQ/sMY8V5tWkw3P5nYpcczm/33SmI=
X-Google-Smtp-Source: ABdhPJyRfoK4Sj+uUxToLmh3g94becc3It6jH8S/y/rUNMio/2OXitmqg6SKQMU8b0uN77qihKZhErMmOqs=
X-Received: from seanjc798194.pdx.corp.google.com ([2620:15c:90:200:c16c:db05:96b2:1475])
 (user=seanjc job=sendgmr) by 2002:a0c:aa55:: with SMTP id e21mr7179445qvb.41.1630025880952;
 Thu, 26 Aug 2021 17:58:00 -0700 (PDT)
Reply-To: Sean Christopherson <seanjc@google.com>
Date: Thu, 26 Aug 2021 17:57:17 -0700
In-Reply-To: <20210827005718.585190-1-seanjc@google.com>
Message-Id: <20210827005718.585190-15-seanjc@google.com>
Mime-Version: 1.0
References: <20210827005718.585190-1-seanjc@google.com>
X-Mailer: git-send-email 2.33.0.259.gc128427fd7-goog
Subject: [PATCH 14/15] perf: Disallow bulk unregistering of guest callbacks
 and do cleanup
From: Sean Christopherson <seanjc@google.com>
To: Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>, 
	Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Catalin Marinas <catalin.marinas@arm.com>, Marc Zyngier <maz@kernel.org>, 
	Guo Ren <guoren@kernel.org>, Nick Hu <nickhu@andestech.com>, 
	Greentime Hu <green.hu@gmail.com>, Vincent Chen <deanbo422@gmail.com>, 
	Paul Walmsley <paul.walmsley@sifive.com>, Palmer Dabbelt <palmer@dabbelt.com>, 
	Albert Ou <aou@eecs.berkeley.edu>, Thomas Gleixner <tglx@linutronix.de>, 
	Borislav Petkov <bp@alien8.de>, x86@kernel.org, Paolo Bonzini <pbonzini@redhat.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, Juergen Gross <jgross@suse.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@redhat.com>, 
	Namhyung Kim <namhyung@kernel.org>, James Morse <james.morse@arm.com>, 
	Alexandru Elisei <alexandru.elisei@arm.com>, Suzuki K Poulose <suzuki.poulose@arm.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Sean Christopherson <seanjc@google.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Wanpeng Li <wanpengli@tencent.com>, 
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, linux-perf-users@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, 
	kvmarm@lists.cs.columbia.edu, linux-csky@vger.kernel.org, 
	linux-riscv@lists.infradead.org, kvm@vger.kernel.org, 
	xen-devel@lists.xenproject.org, Artem Kashkanov <artem.kashkanov@intel.com>, 
	Like Xu <like.xu.linux@gmail.com>, Zhu Lingshan <lingshan.zhu@intel.com>
Content-Type: text/plain; charset="UTF-8"

Drop the helper that allows bulk unregistering of the per-CPU callbacks
now that KVM, the only entity that actually unregisters callbacks, uses
the per-CPU helpers.  Bulk unregistering is inherently unsafe as there
are no protections against nullifying a pointer for a CPU that is using
said pointer in a PMI handler.

Opportunistically tweak names to better reflect reality.

Signed-off-by: Sean Christopherson <seanjc@google.com>
---
 arch/x86/xen/pmu.c         |  2 +-
 include/linux/kvm_host.h   |  2 +-
 include/linux/perf_event.h |  9 +++------
 kernel/events/core.c       | 31 +++++++++++--------------------
 virt/kvm/kvm_main.c        |  2 +-
 5 files changed, 17 insertions(+), 29 deletions(-)

diff --git a/arch/x86/xen/pmu.c b/arch/x86/xen/pmu.c
index e13b0b49fcdf..57834de043c3 100644
--- a/arch/x86/xen/pmu.c
+++ b/arch/x86/xen/pmu.c
@@ -548,7 +548,7 @@ void xen_pmu_init(int cpu)
 	per_cpu(xenpmu_shared, cpu).flags = 0;
 
 	if (cpu == 0) {
-		perf_register_guest_info_callbacks(&xen_guest_cbs);
+		perf_register_guest_info_callbacks_all_cpus(&xen_guest_cbs);
 		xen_pmu_arch_init();
 	}
 
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
index 0db9af0b628c..d68a49d5fc53 100644
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
@@ -1171,7 +1171,7 @@ unsigned long kvm_arch_vcpu_get_ip(struct kvm_vcpu *vcpu);
 void kvm_register_perf_callbacks(void);
 static inline void kvm_unregister_perf_callbacks(void)
 {
-	__perf_unregister_guest_info_callbacks();
+	perf_unregister_guest_info_callbacks();
 }
 #endif
 
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index 7a367bf1b78d..db701409a62f 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -1238,10 +1238,9 @@ extern void perf_event_bpf_event(struct bpf_prog *prog,
 
 #ifdef CONFIG_HAVE_GUEST_PERF_EVENTS
 DECLARE_PER_CPU(struct perf_guest_info_callbacks *, perf_guest_cbs);
-extern void __perf_register_guest_info_callbacks(struct perf_guest_info_callbacks *cbs);
-extern void __perf_unregister_guest_info_callbacks(void);
-extern void perf_register_guest_info_callbacks(struct perf_guest_info_callbacks *callbacks);
+extern void perf_register_guest_info_callbacks(struct perf_guest_info_callbacks *cbs);
 extern void perf_unregister_guest_info_callbacks(void);
+extern void perf_register_guest_info_callbacks_all_cpus(struct perf_guest_info_callbacks *cbs);
 #endif /* CONFIG_HAVE_GUEST_PERF_EVENTS */
 
 extern void perf_event_exec(void);
@@ -1486,9 +1485,7 @@ static inline void
 perf_bp_event(struct perf_event *event, void *data)			{ }
 
 #ifdef CONFIG_HAVE_GUEST_PERF_EVENTS
-static inline void perf_register_guest_info_callbacks
-(struct perf_guest_info_callbacks *callbacks)				{ }
-static inline void perf_unregister_guest_info_callbacks(void)		{ }
+extern void perf_register_guest_info_callbacks_all_cpus(struct perf_guest_info_callbacks *cbs);
 #endif
 
 static inline void perf_event_mmap(struct vm_area_struct *vma)		{ }
diff --git a/kernel/events/core.c b/kernel/events/core.c
index 2f28d9d8dc94..f1964096c4c2 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -6485,35 +6485,26 @@ static void perf_pending_event(struct irq_work *entry)
 #ifdef CONFIG_HAVE_GUEST_PERF_EVENTS
 DEFINE_PER_CPU(struct perf_guest_info_callbacks *, perf_guest_cbs);
 
-void __perf_register_guest_info_callbacks(struct perf_guest_info_callbacks *cbs)
-{
-	__this_cpu_write(perf_guest_cbs, cbs);
-}
-EXPORT_SYMBOL_GPL(__perf_register_guest_info_callbacks);
-
-void __perf_unregister_guest_info_callbacks(void)
-{
-	__this_cpu_write(perf_guest_cbs, NULL);
-}
-EXPORT_SYMBOL_GPL(__perf_unregister_guest_info_callbacks);
-
 void perf_register_guest_info_callbacks(struct perf_guest_info_callbacks *cbs)
 {
-	int cpu;
-
-	for_each_possible_cpu(cpu)
-		per_cpu(perf_guest_cbs, cpu) = cbs;
+	__this_cpu_write(perf_guest_cbs, cbs);
 }
 EXPORT_SYMBOL_GPL(perf_register_guest_info_callbacks);
 
 void perf_unregister_guest_info_callbacks(void)
 {
-	int cpu;
-
-	for_each_possible_cpu(cpu)
-		per_cpu(perf_guest_cbs, cpu) = NULL;
+	__this_cpu_write(perf_guest_cbs, NULL);
 }
 EXPORT_SYMBOL_GPL(perf_unregister_guest_info_callbacks);
+
+void perf_register_guest_info_callbacks_all_cpus(struct perf_guest_info_callbacks *cbs)
+{
+	int cpu;
+
+	for_each_possible_cpu(cpu)
+		per_cpu(perf_guest_cbs, cpu) = cbs;
+}
+EXPORT_SYMBOL_GPL(perf_register_guest_info_callbacks_all_cpus);
 #endif
 
 static void
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index e0b1c9386926..1bcc3eab510b 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -5502,7 +5502,7 @@ EXPORT_SYMBOL_GPL(kvm_set_intel_pt_intr_handler);
 
 void kvm_register_perf_callbacks(void)
 {
-	__perf_register_guest_info_callbacks(&kvm_guest_cbs);
+	perf_register_guest_info_callbacks(&kvm_guest_cbs);
 }
 EXPORT_SYMBOL_GPL(kvm_register_perf_callbacks);
 #endif
-- 
2.33.0.259.gc128427fd7-goog



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 01:01:27 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 01:01:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173324.316289 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJQFK-00068G-U9; Fri, 27 Aug 2021 01:01:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173324.316289; Fri, 27 Aug 2021 01:01:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJQFK-00066e-ND; Fri, 27 Aug 2021 01:01:26 +0000
Received: by outflank-mailman (input) for mailman id 173324;
 Fri, 27 Aug 2021 01:01:25 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=W6/I=NS=flex--seanjc.bounces.google.com=3ljgoYQYKCbcpbXkgZdlldib.Zljubk-absbiifpqp.ubkmolgbZq.lod@srs-us1.protection.inumbo.net>)
 id 1mJQCa-0001Ok-Ia
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 00:58:36 +0000
Received: from mail-yb1-xb49.google.com (unknown [2607:f8b0:4864:20::b49])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 9ab3a2a6-1df2-41eb-83ac-ec6047aa3f43;
 Fri, 27 Aug 2021 00:57:58 +0000 (UTC)
Received: by mail-yb1-xb49.google.com with SMTP id
 f64-20020a2538430000b0290593bfc4b046so4871411yba.9
 for <xen-devel@lists.xenproject.org>; Thu, 26 Aug 2021 17:57: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: 9ab3a2a6-1df2-41eb-83ac-ec6047aa3f43
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20161025;
        h=reply-to:date:in-reply-to:message-id:mime-version:references
         :subject:from:to:cc;
        bh=2Yb1yGb5fDFVhiHzotpZzkExCo5t0u5SIR8VcomG6Y8=;
        b=oWsDHoiAgF+Rhb3fLUc6FI/hmLn3kcWZvx8XtETflRRGA0RhU5jY1yIZDAGsQhoBpp
         1GJBEG0ciVc5J+SUb8a+Ao9XHC+o6ePIJEaj6rwWcsyMNZs4gGZqc7lzXXQCKUD4cl0c
         TRH/cFXEm6Rx0y/hBRfKtUfta8tkBrKjcdPY8umqV9V9fsCKuHTQ7mSyJMBSrgahXH0x
         lar1IXWEl6SGlmj++N0CiAloA9rKj68iYW0I4yXj2kb3Jns102ph3m6+Q2Bdd5QiIhz6
         k5kD3EQUqFV+FChTG+7KKqC3KPQuPp+dCSp1iLM55DlUy2uQ6DK+nKRfDfTvKe6dg2+c
         5JTA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:reply-to:date:in-reply-to:message-id
         :mime-version:references:subject:from:to:cc;
        bh=2Yb1yGb5fDFVhiHzotpZzkExCo5t0u5SIR8VcomG6Y8=;
        b=JwinZL+vmvOcRzJ/YT63vGnwZPwCqZZ7jSJLompRLVdL3oEwQy2FIXjjOLDVKKo6TK
         46UR4cMrhQN3/MlUiHks+Z3r93nuzCDpyGv4rXy/RcZoZ2eIdQ3QOwfqbuRotqhMvDTy
         QINLSRu+EComn7hpC7btmHGY9UAWDHAySxdtI5d9ILvwu1ypjEXNq4J07HPZbWlNRmCm
         vx8w9VCrO3UEZLhXG//eOkAliCxPkFGJxpikgr3OxDUyIDx2rnz4zSno4xYYGs/zzVl7
         u01GZXyhq+RuDkgxkRnKZZta41jXZWJ5LUxVJdQlxcPvzr47cizbhyZBCwv5Hcvb+gwP
         e7Sw==
X-Gm-Message-State: AOAM533oimQRxsGeOGSeqNyMac7LKZ82PY3IrUm3a+mKR+4saTCyImiP
	vLoZYDb0sgICuTqZ6b/3/TdeyPCvi2c=
X-Google-Smtp-Source: ABdhPJyKOmCo1JFta7E0dfGCF9Bd2CrFpGk6nB1tappPD2rgxLfvtZsunCu2ZMBBzPSrD7zu0QWkL018uCA=
X-Received: from seanjc798194.pdx.corp.google.com ([2620:15c:90:200:c16c:db05:96b2:1475])
 (user=seanjc job=sendgmr) by 2002:a5b:c0a:: with SMTP id f10mr1802450ybq.353.1630025878542;
 Thu, 26 Aug 2021 17:57:58 -0700 (PDT)
Reply-To: Sean Christopherson <seanjc@google.com>
Date: Thu, 26 Aug 2021 17:57:16 -0700
In-Reply-To: <20210827005718.585190-1-seanjc@google.com>
Message-Id: <20210827005718.585190-14-seanjc@google.com>
Mime-Version: 1.0
References: <20210827005718.585190-1-seanjc@google.com>
X-Mailer: git-send-email 2.33.0.259.gc128427fd7-goog
Subject: [PATCH 13/15] KVM: arm64: Drop perf.c and fold its tiny bit of code
 into pmu.c
From: Sean Christopherson <seanjc@google.com>
To: Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>, 
	Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Catalin Marinas <catalin.marinas@arm.com>, Marc Zyngier <maz@kernel.org>, 
	Guo Ren <guoren@kernel.org>, Nick Hu <nickhu@andestech.com>, 
	Greentime Hu <green.hu@gmail.com>, Vincent Chen <deanbo422@gmail.com>, 
	Paul Walmsley <paul.walmsley@sifive.com>, Palmer Dabbelt <palmer@dabbelt.com>, 
	Albert Ou <aou@eecs.berkeley.edu>, Thomas Gleixner <tglx@linutronix.de>, 
	Borislav Petkov <bp@alien8.de>, x86@kernel.org, Paolo Bonzini <pbonzini@redhat.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, Juergen Gross <jgross@suse.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@redhat.com>, 
	Namhyung Kim <namhyung@kernel.org>, James Morse <james.morse@arm.com>, 
	Alexandru Elisei <alexandru.elisei@arm.com>, Suzuki K Poulose <suzuki.poulose@arm.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Sean Christopherson <seanjc@google.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Wanpeng Li <wanpengli@tencent.com>, 
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, linux-perf-users@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, 
	kvmarm@lists.cs.columbia.edu, linux-csky@vger.kernel.org, 
	linux-riscv@lists.infradead.org, kvm@vger.kernel.org, 
	xen-devel@lists.xenproject.org, Artem Kashkanov <artem.kashkanov@intel.com>, 
	Like Xu <like.xu.linux@gmail.com>, Zhu Lingshan <lingshan.zhu@intel.com>
Content-Type: text/plain; charset="UTF-8"

Fold that last few remnants of perf.c into pmu.c and rename the init
helper as appropriate.

Signed-off-by: Sean Christopherson <seanjc@google.com>
---
 arch/arm64/include/asm/kvm_host.h |  2 --
 arch/arm64/kvm/Makefile           |  2 +-
 arch/arm64/kvm/arm.c              |  3 ++-
 arch/arm64/kvm/perf.c             | 20 --------------------
 arch/arm64/kvm/pmu.c              |  8 ++++++++
 include/kvm/arm_pmu.h             |  1 +
 6 files changed, 12 insertions(+), 24 deletions(-)
 delete mode 100644 arch/arm64/kvm/perf.c

diff --git a/arch/arm64/include/asm/kvm_host.h b/arch/arm64/include/asm/kvm_host.h
index 12e8d789e1ac..86c0fdd11ad2 100644
--- a/arch/arm64/include/asm/kvm_host.h
+++ b/arch/arm64/include/asm/kvm_host.h
@@ -670,8 +670,6 @@ unsigned long kvm_mmio_read_buf(const void *buf, unsigned int len);
 int kvm_handle_mmio_return(struct kvm_vcpu *vcpu);
 int io_mem_abort(struct kvm_vcpu *vcpu, phys_addr_t fault_ipa);
 
-void kvm_perf_init(void);
-
 #ifdef CONFIG_PERF_EVENTS
 #define __KVM_WANT_PERF_CALLBACKS
 #else
diff --git a/arch/arm64/kvm/Makefile b/arch/arm64/kvm/Makefile
index 989bb5dad2c8..0bcc378b7961 100644
--- a/arch/arm64/kvm/Makefile
+++ b/arch/arm64/kvm/Makefile
@@ -12,7 +12,7 @@ obj-$(CONFIG_KVM) += hyp/
 
 kvm-y := $(KVM)/kvm_main.o $(KVM)/coalesced_mmio.o $(KVM)/eventfd.o \
 	 $(KVM)/vfio.o $(KVM)/irqchip.o $(KVM)/binary_stats.o \
-	 arm.o mmu.o mmio.o psci.o perf.o hypercalls.o pvtime.o \
+	 arm.o mmu.o mmio.o psci.o hypercalls.o pvtime.o \
 	 inject_fault.o va_layout.o handle_exit.o \
 	 guest.o debug.o reset.o sys_regs.o \
 	 vgic-sys-reg-v3.o fpsimd.o pmu.o \
diff --git a/arch/arm64/kvm/arm.c b/arch/arm64/kvm/arm.c
index dfc8078dd4f9..57e637dee71d 100644
--- a/arch/arm64/kvm/arm.c
+++ b/arch/arm64/kvm/arm.c
@@ -1747,7 +1747,8 @@ static int init_subsystems(void)
 	if (err)
 		goto out;
 
-	kvm_perf_init();
+	kvm_pmu_init();
+
 	kvm_sys_reg_table_init();
 
 out:
diff --git a/arch/arm64/kvm/perf.c b/arch/arm64/kvm/perf.c
deleted file mode 100644
index ad9fdc2f2f70..000000000000
--- a/arch/arm64/kvm/perf.c
+++ /dev/null
@@ -1,20 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-only
-/*
- * Based on the x86 implementation.
- *
- * Copyright (C) 2012 ARM Ltd.
- * Author: Marc Zyngier <marc.zyngier@arm.com>
- */
-
-#include <linux/perf_event.h>
-#include <linux/kvm_host.h>
-
-#include <asm/kvm_emulate.h>
-
-DEFINE_STATIC_KEY_FALSE(kvm_arm_pmu_available);
-
-void kvm_perf_init(void)
-{
-	if (kvm_pmu_probe_pmuver() != 0xf && !is_protected_kvm_enabled())
-		static_branch_enable(&kvm_arm_pmu_available);
-}
diff --git a/arch/arm64/kvm/pmu.c b/arch/arm64/kvm/pmu.c
index 03a6c1f4a09a..d98b57a17043 100644
--- a/arch/arm64/kvm/pmu.c
+++ b/arch/arm64/kvm/pmu.c
@@ -7,6 +7,14 @@
 #include <linux/perf_event.h>
 #include <asm/kvm_hyp.h>
 
+DEFINE_STATIC_KEY_FALSE(kvm_arm_pmu_available);
+
+void kvm_pmu_init(void)
+{
+	if (kvm_pmu_probe_pmuver() != 0xf && !is_protected_kvm_enabled())
+		static_branch_enable(&kvm_arm_pmu_available);
+}
+
 /*
  * Given the perf event attributes and system type, determine
  * if we are going to need to switch counters at guest entry/exit.
diff --git a/include/kvm/arm_pmu.h b/include/kvm/arm_pmu.h
index 864b9997efb2..42270676498d 100644
--- a/include/kvm/arm_pmu.h
+++ b/include/kvm/arm_pmu.h
@@ -14,6 +14,7 @@
 #define ARMV8_PMU_MAX_COUNTER_PAIRS	((ARMV8_PMU_MAX_COUNTERS + 1) >> 1)
 
 DECLARE_STATIC_KEY_FALSE(kvm_arm_pmu_available);
+void kvm_pmu_init(void);
 
 static __always_inline bool kvm_arm_support_pmu_v3(void)
 {
-- 
2.33.0.259.gc128427fd7-goog



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 01:01:27 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 01:01:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173326.316296 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJQFL-0006LV-Ke; Fri, 27 Aug 2021 01:01:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173326.316296; Fri, 27 Aug 2021 01:01:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJQFL-0006IU-DD; Fri, 27 Aug 2021 01:01:27 +0000
Received: by outflank-mailman (input) for mailman id 173326;
 Fri, 27 Aug 2021 01:01:25 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XOs5=NS=flex--seanjc.bounces.google.com=3lDgoYQYKCbUnZVieXbjjbgZ.XjhsZi-YZqZggdnon.sZikmjeZXo.jmb@srs-us1.protection.inumbo.net>)
 id 1mJQCV-0001Ok-IH
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 00:58:31 +0000
Received: from mail-yb1-xb49.google.com (unknown [2607:f8b0:4864:20::b49])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 088e1afc-753d-4854-89db-59c307bda96a;
 Fri, 27 Aug 2021 00:57:56 +0000 (UTC)
Received: by mail-yb1-xb49.google.com with SMTP id
 q13-20020a25820d000000b0059a84a55d89so4875182ybk.23
 for <xen-devel@lists.xenproject.org>; Thu, 26 Aug 2021 17:57: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: 088e1afc-753d-4854-89db-59c307bda96a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20161025;
        h=reply-to:date:in-reply-to:message-id:mime-version:references
         :subject:from:to:cc;
        bh=O3P/C2+r50j2qd2oZl4HIFqUJ1Gm6eQIurE1pthLu88=;
        b=KoGI0t2ANmOACIY8bQhuBH4FJbrSHsRwhYJXWmn01ufiEJZVk4tPOEhaZ6T1MAQL+U
         jhUGDn7yZArl2k29+8gFqfCF2DSg2n6fTQ6je+tOvHWwtuk6IOGhYE1XQmYmAQV0Z6yb
         UcRXDhGukzYa0e3OogJgHIniy20AUzkgcDYnuJ9TMbdSfPm19k9DAbSEVKXLmzcP7bku
         dkqNoqFL3rJ6iAJ27Dy3HXfxWITTJ68h7TnziapcFth9ZxiSCsQJGqvRdjvidglqsZgx
         4yCjuWco92qzMYV8AJs3vnXk8sqdZ/Z/v4yFDjKSCTqWPBnhz4PL5zWola/ctdZ9nHLd
         axcw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:reply-to:date:in-reply-to:message-id
         :mime-version:references:subject:from:to:cc;
        bh=O3P/C2+r50j2qd2oZl4HIFqUJ1Gm6eQIurE1pthLu88=;
        b=jAa7CjAotafGOYa7DgUbmtYwgPWapVsV8Cj0qJUiPbZ0ucSw8u6XnOOKHkQpRR3+1L
         uhNhqNeUQj3Mvri1h9pbW7ite9kRuJdWA+qF3WgGpsGmMq1LFOS9vfPOw05YIqW6JVKp
         iSCs/82XFXdGzcD37fZsloL5tByayL1TT4zNf0XzygT5G3mWID0ZurSGK0mRBPz8+uKa
         VLuR/n2QxaE/TkadpaqRaXx7Xuor3x0gUkkGcIeC5F9Xoe/gtCHEaimOzr67tcJttyMq
         xjEbsB1e9zb1Ctwok8TJQngE5YK/25sXXNEm8WePefzblf1N+pIAE1UoqDV2+ky5A7vJ
         o1wQ==
X-Gm-Message-State: AOAM533LO19GVR+N4L1wp4HMSp+IHPXl/Gr4PuiI7tDSOotyMobG3dGL
	cKTFEZA+XxTHXZsELAvpFQ1bB4s8xTs=
X-Google-Smtp-Source: ABdhPJyKjk6geoVg3b6/+yDfPSeW/L1PMiXY41SolyC47I84TPxrPvrL+bKgY05p4LEuynGQ+EFAFv5UkSk=
X-Received: from seanjc798194.pdx.corp.google.com ([2620:15c:90:200:c16c:db05:96b2:1475])
 (user=seanjc job=sendgmr) by 2002:a25:dcd3:: with SMTP id y202mr2039489ybe.161.1630025876285;
 Thu, 26 Aug 2021 17:57:56 -0700 (PDT)
Reply-To: Sean Christopherson <seanjc@google.com>
Date: Thu, 26 Aug 2021 17:57:15 -0700
In-Reply-To: <20210827005718.585190-1-seanjc@google.com>
Message-Id: <20210827005718.585190-13-seanjc@google.com>
Mime-Version: 1.0
References: <20210827005718.585190-1-seanjc@google.com>
X-Mailer: git-send-email 2.33.0.259.gc128427fd7-goog
Subject: [PATCH 12/15] KVM: arm64: Convert to the generic perf callbacks
From: Sean Christopherson <seanjc@google.com>
To: Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>, 
	Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Catalin Marinas <catalin.marinas@arm.com>, Marc Zyngier <maz@kernel.org>, 
	Guo Ren <guoren@kernel.org>, Nick Hu <nickhu@andestech.com>, 
	Greentime Hu <green.hu@gmail.com>, Vincent Chen <deanbo422@gmail.com>, 
	Paul Walmsley <paul.walmsley@sifive.com>, Palmer Dabbelt <palmer@dabbelt.com>, 
	Albert Ou <aou@eecs.berkeley.edu>, Thomas Gleixner <tglx@linutronix.de>, 
	Borislav Petkov <bp@alien8.de>, x86@kernel.org, Paolo Bonzini <pbonzini@redhat.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, Juergen Gross <jgross@suse.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@redhat.com>, 
	Namhyung Kim <namhyung@kernel.org>, James Morse <james.morse@arm.com>, 
	Alexandru Elisei <alexandru.elisei@arm.com>, Suzuki K Poulose <suzuki.poulose@arm.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Sean Christopherson <seanjc@google.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Wanpeng Li <wanpengli@tencent.com>, 
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, linux-perf-users@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, 
	kvmarm@lists.cs.columbia.edu, linux-csky@vger.kernel.org, 
	linux-riscv@lists.infradead.org, kvm@vger.kernel.org, 
	xen-devel@lists.xenproject.org, Artem Kashkanov <artem.kashkanov@intel.com>, 
	Like Xu <like.xu.linux@gmail.com>, Zhu Lingshan <lingshan.zhu@intel.com>
Content-Type: text/plain; charset="UTF-8"

Drop arm64's version of the callbacks in favor of the callbacks provided
by generic KVM, which are semantically identical.  Implement the "get ip"
hook as needed.

Signed-off-by: Sean Christopherson <seanjc@google.com>
---
 arch/arm64/include/asm/kvm_host.h |  6 +----
 arch/arm64/kvm/arm.c              |  5 ++++
 arch/arm64/kvm/perf.c             | 38 -------------------------------
 3 files changed, 6 insertions(+), 43 deletions(-)

diff --git a/arch/arm64/include/asm/kvm_host.h b/arch/arm64/include/asm/kvm_host.h
index 007c38d77fd9..12e8d789e1ac 100644
--- a/arch/arm64/include/asm/kvm_host.h
+++ b/arch/arm64/include/asm/kvm_host.h
@@ -673,11 +673,7 @@ int io_mem_abort(struct kvm_vcpu *vcpu, phys_addr_t fault_ipa);
 void kvm_perf_init(void);
 
 #ifdef CONFIG_PERF_EVENTS
-void kvm_register_perf_callbacks(void);
-static inline void kvm_unregister_perf_callbacks(void)
-{
-	__perf_unregister_guest_info_callbacks();
-}
+#define __KVM_WANT_PERF_CALLBACKS
 #else
 static inline void kvm_register_perf_callbacks(void) {}
 static inline void kvm_unregister_perf_callbacks(void) {}
diff --git a/arch/arm64/kvm/arm.c b/arch/arm64/kvm/arm.c
index ec386971030d..dfc8078dd4f9 100644
--- a/arch/arm64/kvm/arm.c
+++ b/arch/arm64/kvm/arm.c
@@ -503,6 +503,11 @@ bool kvm_arch_vcpu_in_kernel(struct kvm_vcpu *vcpu)
 	return vcpu_mode_priv(vcpu);
 }
 
+unsigned long kvm_arch_vcpu_get_ip(struct kvm_vcpu *vcpu)
+{
+	return *vcpu_pc(vcpu);
+}
+
 /* Just ensure a guest exit from a particular CPU */
 static void exit_vm_noop(void *info)
 {
diff --git a/arch/arm64/kvm/perf.c b/arch/arm64/kvm/perf.c
index 2556b0a3b096..ad9fdc2f2f70 100644
--- a/arch/arm64/kvm/perf.c
+++ b/arch/arm64/kvm/perf.c
@@ -13,44 +13,6 @@
 
 DEFINE_STATIC_KEY_FALSE(kvm_arm_pmu_available);
 
-#ifdef CONFIG_PERF_EVENTS
-static int kvm_is_in_guest(void)
-{
-	return true;
-}
-
-static int kvm_is_user_mode(void)
-{
-	struct kvm_vcpu *vcpu = kvm_get_running_vcpu();
-
-	if (WARN_ON_ONCE(!vcpu))
-		return 0;
-
-	return !vcpu_mode_priv(vcpu);
-}
-
-static unsigned long kvm_get_guest_ip(void)
-{
-	struct kvm_vcpu *vcpu = kvm_get_running_vcpu();
-
-	if (WARN_ON_ONCE(!vcpu))
-		return 0;
-
-	return *vcpu_pc(vcpu);
-}
-
-static struct perf_guest_info_callbacks kvm_guest_cbs = {
-	.is_in_guest	= kvm_is_in_guest,
-	.is_user_mode	= kvm_is_user_mode,
-	.get_guest_ip	= kvm_get_guest_ip,
-};
-
-void kvm_register_perf_callbacks(void)
-{
-	__perf_register_guest_info_callbacks(&kvm_guest_cbs);
-}
-#endif /* CONFIG_PERF_EVENTS*/
-
 void kvm_perf_init(void)
 {
 	if (kvm_pmu_probe_pmuver() != 0xf && !is_protected_kvm_enabled())
-- 
2.33.0.259.gc128427fd7-goog



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 01:16:29 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 01:16:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173355.316318 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJQTk-00047a-Vq; Fri, 27 Aug 2021 01:16:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173355.316318; Fri, 27 Aug 2021 01:16:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJQTk-00047T-Su; Fri, 27 Aug 2021 01:16:20 +0000
Received: by outflank-mailman (input) for mailman id 173355;
 Fri, 27 Aug 2021 01:16:19 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zv0+=NS=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mJQTj-00047N-EM
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 01:16:19 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com (unknown
 [40.107.22.62]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 3ffacee1-5c28-4286-94ad-34b043a7a9b9;
 Fri, 27 Aug 2021 01:16:16 +0000 (UTC)
Received: from DB6PR0202CA0014.eurprd02.prod.outlook.com (2603:10a6:4:29::24)
 by DB6PR0801MB1781.eurprd08.prod.outlook.com (2603:10a6:4:3c::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17; Fri, 27 Aug
 2021 01:16:13 +0000
Received: from DB5EUR03FT064.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:29:cafe::39) by DB6PR0202CA0014.outlook.office365.com
 (2603:10a6:4:29::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17 via Frontend
 Transport; Fri, 27 Aug 2021 01:16:13 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT064.mail.protection.outlook.com (10.152.21.199) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Fri, 27 Aug 2021 01:16:13 +0000
Received: ("Tessian outbound 19a632698c93:v103");
 Fri, 27 Aug 2021 01:16:13 +0000
Received: from 71a9586149b5.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 87356C9B-D2AB-4381-90C8-FBD42D3301C0.1; 
 Fri, 27 Aug 2021 01:16:07 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 71a9586149b5.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 27 Aug 2021 01:16:07 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DBBPR08MB5980.eurprd08.prod.outlook.com (2603:10a6:10:206::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 27 Aug
 2021 01:15:53 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.024; Fri, 27 Aug 2021
 01: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: 3ffacee1-5c28-4286-94ad-34b043a7a9b9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; 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+RoZc/RGv/NDI2sxe0nzGMPaWN89GU+f9KcN8sW1nA=;
 b=tnof0ipYyh3QUCYoHE67jFAwhnGuqdKP3cptaU7H6SZYt2mTkLzaA1DCYul5jtkkdHdeowGcquawQAr/Ac6ocC14oyvNihBMij3Mdlwc4ilvPbKhvBJsKHCBYxoyWnxtOaIJE8sMXrT2rexNgzM2kzwjsgOpzGyRb97ZmHWLEoQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QapLY6h7JZiNPIVskeMjsX4YsFSgiO8pm24cfqQPPw2hIhX+goYS9oEkTLw28mt1/++JvbEfoz/IAO0PovfWZ+D9Dgp3Nm/uvCRI3jleTSMJiNAp5nVGSv1x9wuNgZaYek4N0SwkDcJb6gJd+AjHAh8y0CApJWrOd3AMfCCagmmDNUOXDOJhKBm5htZtErpDWtoWSnj4d4/QxNZ81mYZxfvoW9ma6yxZeI+C1ViOjKwzjlZ62uEB7SKRq+3LriRV78m0N7hjoLdarZQW8qyE7PEviWEeFf+bRN4O+lGzlD878T20DFOh6XUmDIzNZdcaUxDZLHS07I050kdZuIZewA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=n+RoZc/RGv/NDI2sxe0nzGMPaWN89GU+f9KcN8sW1nA=;
 b=L382ITN4EXOpqS32V7CYVM4D3B5K4kaX/7sujtXAzNhVpgeFCZ2r98wKErd7klWeAwI9GO2ohv5ld1vNUetUbBULCZofEdqWcrbzbKF3fxcO7tJY8qRIe0mWY0l7jHOoH+Al9dzqPLPsqOZJPkDUyWvZ5sPAH7NqhpsImn7EU17mbMDvzsZ9hQ8KUvbbSD/O73zpBlzGEiwW81rIjxmz8Wh+gYYfMYGpz/UZkoAFVvDtZ5jkus/UA7pH0zQapXSbyNLzTPTWheBg2CpUPxHKlIo1sWUqNYApRcvjUgAdzazscVS7ecG/ElSdrNF6d108DxMZY7JP8oxKiEBOSr6hNg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; 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+RoZc/RGv/NDI2sxe0nzGMPaWN89GU+f9KcN8sW1nA=;
 b=tnof0ipYyh3QUCYoHE67jFAwhnGuqdKP3cptaU7H6SZYt2mTkLzaA1DCYul5jtkkdHdeowGcquawQAr/Ac6ocC14oyvNihBMij3Mdlwc4ilvPbKhvBJsKHCBYxoyWnxtOaIJE8sMXrT2rexNgzM2kzwjsgOpzGyRb97ZmHWLEoQ=
From: Wei Chen <Wei.Chen@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"julien@xen.org" <julien@xen.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 16/40] xen/arm: Create a fake NUMA node to use
 common code
Thread-Topic: [XEN RFC PATCH 16/40] xen/arm: Create a fake NUMA node to use
 common code
Thread-Index: AQHXjps2iDGXvfLaHUqc/mpIlhQB9auGgcmAgAAdMqA=
Date: Fri, 27 Aug 2021 01:15:53 +0000
Message-ID:
 <DB9PR08MB685730382153A95577A3B7279EC89@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-17-wei.chen@arm.com>
 <alpine.DEB.2.21.2108261605470.24433@sstabellini-ThinkPad-T480s>
In-Reply-To: <alpine.DEB.2.21.2108261605470.24433@sstabellini-ThinkPad-T480s>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 6CCAE76F8ECF6646920D8A4A8737B294.0
x-checkrecipientchecked: true
Authentication-Results-Original: kernel.org; dkim=none (message not signed)
 header.d=none;kernel.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 5195ba3d-09fa-4261-7f55-08d968f84317
x-ms-traffictypediagnostic: DBBPR08MB5980:|DB6PR0801MB1781:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<DB6PR0801MB17819F41D79C8AEB745E8F339EC89@DB6PR0801MB1781.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:7219;OLM:7219;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 M1bXQWKpyJfEW0/iBXKSokFS/7DZewOrsyuIiclnkLkhCu/4NUMpAPCUGRfaYW3CweQ+zCLZ3jfgSeDiHpaqayEp54fFrCIW1VPeS61y0jkOvxxQJWZU5CVdpMja6XDf2fVG2tkU8Eto74mk46026h0VZQSgjsafuhNQefyjssRcwd6iqniuLQLUQB2yBxBIUrUpTBSnGDVv4GZr3VwNbYNYsqTDoR1FrVYUOA0f1twomTO686bb03bjv8Co5s1qgT4UA6d1sJbskQQeAuqPjakxMJIB0eYplbXxgPwUhfr4jCHHwaY9gEtjsbMrXQzgJxd6mucYa+QDyHwPhTyvVtYH2TBdHKGmcnlOWJPizgaWrvXWW0EDEeNQ6/X3W8qAAD9Crae9eRKptafKp+ACslo+JVL68WQyHpqVsHMdbLpno0PkpBUvD/DklGx7WBUzq02Yh7c8nNCWGKILRLKcsrkpcq9zndaxR7L81duygBK+1uoZjYFqnmTtq0aQ85J/UcreoVSfwfjVIEEsuUcua9ZF5DEngPQNLYtIqsm+qdkxnUInxbY3FYG1mledtq/G3MdI8RKU8dW11L2Js1tz9USXggAdxCgfquZtAQTtmW/dnjFWR/vaJtLsvPvRgYXJZXtMqZAenWgAk2Qu2CU4yO8mH8dFPIlWhQ6mXnOfodbqxgeb/HNawknQVTxgD+DlyQygM/lLVIsLH/bx25zAMQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(39850400004)(376002)(136003)(396003)(346002)(366004)(6506007)(53546011)(66446008)(2906002)(186003)(5660300002)(66946007)(6916009)(8936002)(64756008)(76116006)(66476007)(66556008)(71200400001)(52536014)(316002)(478600001)(26005)(83380400001)(4326008)(54906003)(38070700005)(86362001)(38100700002)(33656002)(122000001)(8676002)(7696005)(9686003)(55016002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?gb2312?B?L2R1L0Q0a042cC9JbGRENzZqckZSTGcxQnJRNEZaYzM0V09qRW5JOTdkOUNX?=
 =?gb2312?B?YmxoWENISm1DQmtYckJyU0tsMG9SWkJkMk1UZnhqbU5xK0Z3TXdYU0dQTkJk?=
 =?gb2312?B?dC9OaWhYNnlJT2dzTWpmdmsyNVF0UVE1SnJDSjRZYVpabEFteEo4WnZmY3pt?=
 =?gb2312?B?YTZyeUpzakd6ZG9maHNLQk5PV1RQL2FsZGNON1B4YWliZEpNelBEMGwyM0tK?=
 =?gb2312?B?eHIyc0MrajlDRkFkU1BSRUFvOFBibFV2YmdUVlhYamc3RGt5RDBoWUJTd0tK?=
 =?gb2312?B?NVVLMS9nU00xZnhjNnl3UXRHWVpyU2M0VEo4Rkt1MFQ1aG9tOS9uT3kvbzJC?=
 =?gb2312?B?cE83a3pUdFZVREdUcFJXY1RXdHpmU0RQQi9lMXhKblpLOXNXbWZvTWxpUDNL?=
 =?gb2312?B?c2tWcW5jN0xWWWk0VW56OVdkM3R5ZzZ3NDJiekplT0NzdWdzeUswNUx3bUJY?=
 =?gb2312?B?eGFyc0ZWTUMvNDNiTmtGcnpvT0Q4TUlwa3hOd1lZajJVbXM1OEZsNXY2Zlo4?=
 =?gb2312?B?bG5yN2lPQWJUcTFDWmhBTzBDYVVXQ0d0bXRBaGpnZ0lxb0pkNENPUkFuK2p2?=
 =?gb2312?B?b2FMMDRjVnpWL040NUdkRjNtSXUvYzVYRzFqaVNiZGFYSUtyUzFsRm52NU9R?=
 =?gb2312?B?Zm1GZS9tTk95V1FWL3VoTTh6VW90THZGSTIzdnlSaTV1VDkyaXVuOFpSUmVN?=
 =?gb2312?B?TmhRTVUvN0dMNFVQRGo3Z1VqM1dLRnNVeCtFaHBWcGZUNDV4QWE5amg2Q3hh?=
 =?gb2312?B?TkhIS0RPRi9sZzRmc1ZneDRCY0x4RE5wQmZsVjkvS2RydjU3TnNWNUhVWUpp?=
 =?gb2312?B?R1c3KzVSUVdJelZsT3h2TVBQMnBtNHl4L2NJNGlWelNpNXJYd1paaktjQ1l3?=
 =?gb2312?B?dVNlNmN3cVRscm9udnBLSFliRGlyVy9zVFZqWFRJV2tPRldocFRPVjdlUEhr?=
 =?gb2312?B?eHgvM0JKVWN4SFlZNHFlajRMb3JvRGQ4RG1xOE9xbk8zRlBBQjN0Wk5LSnVE?=
 =?gb2312?B?WDdWZ1FCV0hqMlA1dTllaXVzbUN3eGNMWlBPV09wQUZDRG1uMnE2eTZTSTVa?=
 =?gb2312?B?L0xabHhpTG1VNGs5TW5PeWpDN3RxemF0YXhsRmpockwxelRGcDZTaFZwSkky?=
 =?gb2312?B?aEczUGI1Nk9yWjNPMFVickJxeHBGZHNMZy8vWlNaMm5XemZYaEhQNDJaY05o?=
 =?gb2312?B?MDRxOU1pV3M4UHVMbFEwZ1RXNEhvV1YxUmtrUWRzSmJLRHh2U1ZmaklQMWtK?=
 =?gb2312?B?bVQ2dms4SkpWdy9RUkZ5UHNpY3NIeTJxcFJ4eDhPRVRiOWlzc1F4VHRMTGJJ?=
 =?gb2312?B?T1E1ckE0WEg5VGVGYXFKTmIxQ0NIWVhRYk40RU5ESFB4NUZmVVllNkhHRnlK?=
 =?gb2312?B?R1p1NjFCbTJUOS9uTWZUYmJ5UXdEZGtKdzB6MzhvSGZxWGZ3RUtIdkUzME5y?=
 =?gb2312?B?c1YxbXZHcjZkYURnMmg3d2RhRzJGOHZkS0tzTlVMTGwwT3B5czZUUXYvcVBk?=
 =?gb2312?B?cUE3d0xzMit1MW1JRU9PRU9DK2tLSXpNbkhIOXFQYzRoUndGVnM1d3NOZU4w?=
 =?gb2312?B?NVQ4aVRYWDVzR1FXWThDend3VUxoQzdwQjNrRDl3NWFrYS9kc2pJeEIrVlY4?=
 =?gb2312?B?VmNXZjZrdVdUdWdBaXNSMExaQ04wcWM4ZWNHb0J2SkxJaEdCVU9lMjVSamVz?=
 =?gb2312?B?b1h3ZldGSlJrV0JSaVBLcXlpTEZXTUFSYmVEeGttazl5d0YweXJCam5KMlR2?=
 =?gb2312?Q?0dm4meikA+S9a1UXbQYr4Ku+h5QjhXExlTJ6WuG?=
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB5980
Original-Authentication-Results: kernel.org; dkim=none (message not signed)
 header.d=none;kernel.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT064.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	c3978c45-07d2-4584-7167-08d968f8373e
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	f8WeD637qnwxdJrIsFAQuVMW4v1w/5lzS1PmDC/WuUJVjr5sGvT+34APPSTTXuefaLkyuMv11TNq3bUNecEVKf0vg1BgTekIolMmY8tXrUPiD6uWIl47uc7NRWd6L3QHgMeyYWhOVBU9UrLiyP5BZ6OhMN9Y97XucbHsQLooBsh5W8m0+s55iAMs5exAywbumQ5yb6Z9v758UD4iapNxAASHnkz8dWPCXUMyHWDnm+yM/P4xFHGi8mK6EemW/Yh3kl0rvQZk8wo5qW2VoQG+C/tne5zao3YU9tYk1OSEXy24mFEAJuL3mIiZBJksVwGUw63yG5YFUK9btkI4RA4hvoz+Kuu0e7/7axz41BS1MYfwsET1FUcnL1BCerV60eq2BCsEiKW3o4oyyAVBSrmUnGALqeNt2zSUu4aB3+CQXOxnQMAYqL6uVE02N/+3H2iUZ2VERxgzLPm48x1Q2JA0swz3xFjlYpPCUfsKMi/5UInBVabDfliUvXFmbItmnZlOoEe20EstwJUVXEsxnYRYQh+QgKWr42EGIpw+LV0zoq01XT4fWrI/9ffuVRtBPraw0beq83Bh7ggEDoNJzGPMJ+ZZxe/tNweAZFrIizfwqRVZCb3qxH7B1mTyzcC2yg/WohZGXJhEOC/ePuJy9N+J1qpo5etjqsr/LPopFCFac/YELiVRjAfuMB5+IbwFbkXtoDbz3+P1UPFkZDkaR+98UA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(346002)(376002)(396003)(39850400004)(136003)(36840700001)(46966006)(26005)(6862004)(52536014)(7696005)(81166007)(5660300002)(54906003)(83380400001)(8936002)(82310400003)(186003)(86362001)(6506007)(82740400003)(478600001)(8676002)(53546011)(47076005)(336012)(9686003)(356005)(55016002)(36860700001)(4326008)(70586007)(70206006)(316002)(2906002)(33656002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2021 01:16:13.6347
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5195ba3d-09fa-4261-7f55-08d968f84317
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT064.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB1781

SGkgU3RlZmFubywNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBTdGVm
YW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+DQo+IFNlbnQ6IDIwMjHE6jjU
wjI3yNUgNzoxMA0KPiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiB4ZW4t
ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmc7IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc7IGp1bGll
bkB4ZW4ub3JnOw0KPiBqYmV1bGljaEBzdXNlLmNvbTsgQmVydHJhbmQgTWFycXVpcyA8QmVydHJh
bmQuTWFycXVpc0Bhcm0uY29tPg0KPiBTdWJqZWN0OiBSZTogW1hFTiBSRkMgUEFUQ0ggMTYvNDBd
IHhlbi9hcm06IENyZWF0ZSBhIGZha2UgTlVNQSBub2RlIHRvIHVzZQ0KPiBjb21tb24gY29kZQ0K
PiANCj4gT24gV2VkLCAxMSBBdWcgMjAyMSwgV2VpIENoZW4gd3JvdGU6DQo+ID4gV2hlbiBDT05G
SUdfTlVNQSBpcyBlbmFibGVkIGZvciBBcm0sIFhlbiB3aWxsIHN3aXRjaCB0byB1c2UgY29tbW9u
DQo+ID4gTlVNQSBBUEkgaW5zdGVhZCBvZiBwcmV2aW91cyBmYWtlIE5VTUEgQVBJLiBCZWZvcmUg
d2UgcGFyc2UgTlVNQQ0KPiA+IGluZm9ybWF0aW9uIGZyb20gZGV2aWNlIHRyZWUgb3IgQUNQSSBT
UkFUIHRhYmxlLCB3ZSBuZWVkIHRvIGluaXQNCj4gPiB0aGUgTlVNQSByZWxhdGVkIHZhcmlhYmxl
cywgbGlrZSBjcHVfdG9fbm9kZSwgYXMgc2luZ2xlIG5vZGUgTlVNQQ0KPiA+IHN5c3RlbS4NCj4g
Pg0KPiA+IFNvIGluIHRoaXMgcGF0Y2gsIHdlIGludHJvZHVjZSBhIG51bWFfaW5pdCBmdW5jdGlv
biBmb3IgdG8NCj4gPiBpbml0aWFsaXplIHRoZXNlIGRhdGEgc3RydWN0dXJlcyBhcyBhbGwgcmVz
b3VyY2VzIGJlbG9uZ3MgdG8gbm9kZSMwLg0KPiA+IFRoaXMgd2lsbCBtYWtlIHRoZSBuZXcgQVBJ
IHJldHVybnMgdGhlIHNhbWUgdmFsdWVzIGFzIHRoZSBmYWtlIEFQSQ0KPiA+IGhhcyBkb25lLg0K
PiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogV2VpIENoZW4gPHdlaS5jaGVuQGFybS5jb20+DQo+ID4g
LS0tDQo+ID4gIHhlbi9hcmNoL2FybS9udW1hLmMgICAgICAgIHwgNTMgKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysNCj4gPiAgeGVuL2FyY2gvYXJtL3NldHVwLmMgICAgICAg
fCAgOCArKysrKysNCj4gPiAgeGVuL2luY2x1ZGUvYXNtLWFybS9udW1hLmggfCAxMSArKysrKysr
Kw0KPiA+ICAzIGZpbGVzIGNoYW5nZWQsIDcyIGluc2VydGlvbnMoKykNCj4gPg0KPiA+IGRpZmYg
LS1naXQgYS94ZW4vYXJjaC9hcm0vbnVtYS5jIGIveGVuL2FyY2gvYXJtL251bWEuYw0KPiA+IGlu
ZGV4IDFlMzBjNWJiMTMuLjU2NmFkMWU1MmIgMTAwNjQ0DQo+ID4gLS0tIGEveGVuL2FyY2gvYXJt
L251bWEuYw0KPiA+ICsrKyBiL3hlbi9hcmNoL2FybS9udW1hLmMNCj4gPiBAQCAtMjAsNiArMjAs
OCBAQA0KPiA+ICAjaW5jbHVkZSA8eGVuL2luaXQuaD4NCj4gPiAgI2luY2x1ZGUgPHhlbi9ub2Rl
bWFzay5oPg0KPiA+ICAjaW5jbHVkZSA8eGVuL251bWEuaD4NCj4gPiArI2luY2x1ZGUgPHhlbi9w
Zm4uaD4NCj4gPiArI2luY2x1ZGUgPGFzbS9zZXR1cC5oPg0KPiA+DQo+ID4gIHZvaWQgbnVtYV9z
ZXRfbm9kZShpbnQgY3B1LCBub2RlaWRfdCBuaWQpDQo+ID4gIHsNCj4gPiBAQCAtMjksMyArMzEs
NTQgQEAgdm9pZCBudW1hX3NldF9ub2RlKGludCBjcHUsIG5vZGVpZF90IG5pZCkNCj4gPg0KPiA+
ICAgICAgY3B1X3RvX25vZGVbY3B1XSA9IG5pZDsNCj4gPiAgfQ0KPiA+ICsNCj4gPiArdm9pZCBf
X2luaXQgbnVtYV9pbml0KGJvb2wgYWNwaV9vZmYpDQo+ID4gK3sNCj4gPiArICAgIHVpbnQzMl90
IGlkeDsNCj4gPiArICAgIHBhZGRyX3QgcmFtX3N0YXJ0ID0gfjA7DQo+ID4gKyAgICBwYWRkcl90
IHJhbV9zaXplID0gMDsNCj4gPiArICAgIHBhZGRyX3QgcmFtX2VuZCA9IDA7DQo+ID4gKw0KPiA+
ICsgICAgcHJpbnRrKFhFTkxPR19XQVJOSU5HDQo+ID4gKyAgICAgICAgIk5VTUEgaGFzIG5vdCBi
ZWVuIHN1cHBvcnRlZCB5ZXQsIE5VTUEgb2ZmIVxuIik7DQo+IA0KPiBOSVQ6IHBsZWFzZSBhbGln
bg0KPiANCg0KDQpPSw0KDQo+IA0KPiA+ICsgICAgLyogQXJtIE5VTUEgaGFzIG5vdCBiZWVuIGlt
cGxlbWVudGVkIHVudGlsIHRoaXMgcGF0Y2ggKi8NCj4gDQo+ICJBcm0gTlVNQSBpcyBub3QgaW1w
bGVtZW50ZWQgeWV0Ig0KPiANCg0KT0sNCg0KPiANCj4gPiArICAgIG51bWFfb2ZmID0gdHJ1ZTsN
Cj4gPiArDQo+ID4gKyAgICAvKg0KPiA+ICsgICAgICogU2V0IGFsbCBjcHVfdG9fbm9kZSBtYXBw
aW5nIHRvIDAsIHRoaXMgd2lsbCBtYWtlIGNwdV90b19ub2RlDQo+ID4gKyAgICAgKiBmdW5jdGlv
biByZXR1cm4gMCBhcyBwcmV2aW91cyBmYWtlIGNwdV90b19ub2RlIEFQSS4NCj4gPiArICAgICAq
Lw0KPiA+ICsgICAgZm9yICggaWR4ID0gMDsgaWR4IDwgTlJfQ1BVUzsgaWR4KysgKQ0KPiA+ICsg
ICAgICAgIGNwdV90b19ub2RlW2lkeF0gPSAwOw0KPiA+ICsNCj4gPiArICAgIC8qDQo+ID4gKyAg
ICAgKiBNYWtlIG5vZGVfdG9fY3B1bWFzaywgbm9kZV9zcGFubmVkX3BhZ2VzIGFuZCBub2RlX3N0
YXJ0X3Bmbg0KPiA+ICsgICAgICogcmV0dXJuIGFzIHByZXZpb3VzIGZha2UgQVBJcy4NCj4gPiAr
ICAgICAqLw0KPiA+ICsgICAgZm9yICggaWR4ID0gMDsgaWR4IDwgTUFYX05VTU5PREVTOyBpZHgr
KyApIHsNCj4gPiArICAgICAgICBub2RlX3RvX2NwdW1hc2tbaWR4XSA9IGNwdV9vbmxpbmVfbWFw
Ow0KPiA+ICsgICAgICAgIG5vZGVfc3Bhbm5lZF9wYWdlcyhpZHgpID0gKG1heF9wYWdlIC0gbWZu
X3goZmlyc3RfdmFsaWRfbWZuKSk7DQo+ID4gKyAgICAgICAgbm9kZV9zdGFydF9wZm4oaWR4KSA9
IChtZm5feChmaXJzdF92YWxpZF9tZm4pKTsNCj4gPiArICAgIH0NCj4gDQo+IEkganVzdCB3YW50
IHRvIG5vdGUgdGhhdCB0aGlzIHdvcmtzIGJlY2F1c2UgTUFYX05VTU5PREVTIGlzIDEuIElmDQo+
IE1BWF9OVU1OT0RFUyB3YXMgPiAxIHRoZW4gaXQgd291bGQgYmUgd3JvbmcgdG8gc2V0IG5vZGVf
dG9fY3B1bWFzaywNCj4gbm9kZV9zcGFubmVkX3BhZ2VzIGFuZCBub2RlX3N0YXJ0X3BmbiBmb3Ig
YWxsIG5vZGVzIHRvIHRoZSBzYW1lIHZhbHVlcy4NCj4gDQo+IEl0IG1pZ2h0IGJlIHdvcnRoIHdy
aXRpbmcgc29tZXRoaW5nIGFib3V0IGl0IGluIHRoZSBpbi1jb2RlIGNvbW1lbnQuDQo+IA0KDQpP
SywgSSB3aWxsIGRvIGl0Lg0KDQo+IA0KPiA+ICsgICAgLyoNCj4gPiArICAgICAqIEZpbmQgdGhl
IG1pbmltYWwgYW5kIG1heGltdW0gYWRkcmVzcyBvZiBSQU0sIE5VTUEgd2lsbA0KPiA+ICsgICAg
ICogYnVpbGQgYSBtZW1vcnkgdG8gbm9kZSBtYXBwaW5nIHRhYmxlIGZvciB0aGUgd2hvbGUgcmFu
Z2UuDQo+ID4gKyAgICAgKi8NCj4gPiArICAgIHJhbV9zdGFydCA9IGJvb3RpbmZvLm1lbS5iYW5r
WzBdLnN0YXJ0Ow0KPiA+ICsgICAgcmFtX3NpemUgID0gYm9vdGluZm8ubWVtLmJhbmtbMF0uc2l6
ZTsNCj4gPiArICAgIHJhbV9lbmQgICA9IHJhbV9zdGFydCArIHJhbV9zaXplOw0KPiA+ICsgICAg
Zm9yICggaWR4ID0gMSA7IGlkeCA8IGJvb3RpbmZvLm1lbS5ucl9iYW5rczsgaWR4KysgKQ0KPiA+
ICsgICAgew0KPiA+ICsgICAgICAgIHBhZGRyX3QgYmFua19zdGFydCA9IGJvb3RpbmZvLm1lbS5i
YW5rW2lkeF0uc3RhcnQ7DQo+ID4gKyAgICAgICAgcGFkZHJfdCBiYW5rX3NpemUgPSBib290aW5m
by5tZW0uYmFua1tpZHhdLnNpemU7DQo+ID4gKyAgICAgICAgcGFkZHJfdCBiYW5rX2VuZCA9IGJh
bmtfc3RhcnQgKyBiYW5rX3NpemU7DQo+ID4gKw0KPiA+ICsgICAgICAgIHJhbV9zaXplICA9IHJh
bV9zaXplICsgYmFua19zaXplOw0KPiANCj4gcmFtX3NpemUgaXMgdXBkYXRlZCBidXQgbm90IHV0
aWxpemVkDQo+IA0KDQpPaywgSSB3aWxsIHJlbW92ZSBpdC4NCg0KPiANCj4gPiArICAgICAgICBy
YW1fc3RhcnQgPSBtaW4ocmFtX3N0YXJ0LCBiYW5rX3N0YXJ0KTsNCj4gPiArICAgICAgICByYW1f
ZW5kICAgPSBtYXgocmFtX2VuZCwgYmFua19lbmQpOw0KPiA+ICsgICAgfQ0KPiA+ICsNCj4gPiAr
ICAgIG51bWFfaW5pdG1lbV9pbml0KFBGTl9VUChyYW1fc3RhcnQpLCBQRk5fRE9XTihyYW1fZW5k
KSk7DQo+ID4gKyAgICByZXR1cm47DQo+ID4gK30NCj4gPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gv
YXJtL3NldHVwLmMgYi94ZW4vYXJjaC9hcm0vc2V0dXAuYw0KPiA+IGluZGV4IDYzYTkwOGUzMjUu
LjNjNThkMmQ0NDEgMTAwNjQ0DQo+ID4gLS0tIGEveGVuL2FyY2gvYXJtL3NldHVwLmMNCj4gPiAr
KysgYi94ZW4vYXJjaC9hcm0vc2V0dXAuYw0KPiA+IEBAIC0zMCw2ICszMCw3IEBADQo+ID4gICNp
bmNsdWRlIDx4ZW4vaW5pdC5oPg0KPiA+ICAjaW5jbHVkZSA8eGVuL2lycS5oPg0KPiA+ICAjaW5j
bHVkZSA8eGVuL21tLmg+DQo+ID4gKyNpbmNsdWRlIDx4ZW4vbnVtYS5oPg0KPiA+ICAjaW5jbHVk
ZSA8eGVuL3BhcmFtLmg+DQo+ID4gICNpbmNsdWRlIDx4ZW4vc29mdGlycS5oPg0KPiA+ICAjaW5j
bHVkZSA8eGVuL2tleWhhbmRsZXIuaD4NCj4gPiBAQCAtODc0LDYgKzg3NSwxMyBAQCB2b2lkIF9f
aW5pdCBzdGFydF94ZW4odW5zaWduZWQgbG9uZw0KPiBib290X3BoeXNfb2Zmc2V0LA0KPiA+ICAg
ICAgLyogUGFyc2UgdGhlIEFDUEkgdGFibGVzIGZvciBwb3NzaWJsZSBib290LXRpbWUgY29uZmln
dXJhdGlvbiAqLw0KPiA+ICAgICAgYWNwaV9ib290X3RhYmxlX2luaXQoKTsNCj4gPg0KPiA+ICsg
ICAgLyoNCj4gPiArICAgICAqIFRyeSB0byBpbml0aWFsaXplIE5VTUEgc3lzdGVtLCBpZiBmYWls
ZWQsIHRoZSBzeXN0ZW0gd2lsbA0KPiA+ICsgICAgICogZmFsbGJhY2sgdG8gdW5pZm9ybSBzeXN0
ZW0gd2hpY2ggbWVhbnMgc3lzdGVtIGhhcyBvbmx5IDENCj4gPiArICAgICAqIE5VTUEgbm9kZS4N
Cj4gPiArICAgICAqLw0KPiA+ICsgICAgbnVtYV9pbml0KGFjcGlfZGlzYWJsZWQpOw0KPiA+ICsN
Cj4gPiAgICAgIGVuZF9ib290X2FsbG9jYXRvcigpOw0KPiA+DQo+ID4gICAgICAvKg0KPiA+IGRp
ZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJtL251bWEuaCBiL3hlbi9pbmNsdWRlL2FzbS1h
cm0vbnVtYS5oDQo+ID4gaW5kZXggYjI5ODJmOTA1My4uYmI0OTVhMjRlMSAxMDA2NDQNCj4gPiAt
LS0gYS94ZW4vaW5jbHVkZS9hc20tYXJtL251bWEuaA0KPiA+ICsrKyBiL3hlbi9pbmNsdWRlL2Fz
bS1hcm0vbnVtYS5oDQo+ID4gQEAgLTEzLDYgKzEzLDE2IEBAIHR5cGVkZWYgdTggbm9kZWlkX3Q7
DQo+ID4gICAqLw0KPiA+ICAjZGVmaW5lIE5PREVTX1NISUZUICAgICAgNg0KPiA+DQo+ID4gK2V4
dGVybiB2b2lkIG51bWFfaW5pdChib29sIGFjcGlfb2ZmKTsNCj4gPiArDQo+ID4gKy8qDQo+ID4g
KyAqIFRlbXBvcmFyeSBmb3IgZmFrZSBOVU1BIG5vZGUsIHdoZW4gQ1BVLCBtZW1vcnkgYW5kIGRp
c3RhbmNlDQo+ID4gKyAqIG1hdHJpeCB3aWxsIGJlIHJlYWQgZnJvbSBEVEIgb3IgQUNQSSBTUkFU
LiBUaGUgZm9sbG93aW5nDQo+ID4gKyAqIHN5bWJvbHMgd2lsbCBiZSByZW1vdmVkLg0KPiA+ICsg
Ki8NCj4gPiArZXh0ZXJuIG1mbl90IGZpcnN0X3ZhbGlkX21mbjsNCj4gPiArI2RlZmluZSBfX25v
ZGVfZGlzdGFuY2UoYSwgYikgKDIwKQ0KPiA+ICsNCj4gPiAgI2Vsc2UNCj4gPg0KPiA+ICAvKiBG
YWtlIG9uZSBub2RlIGZvciBub3cuIFNlZSBhbHNvIG5vZGVfb25saW5lX21hcC4gKi8NCj4gPiBA
QCAtMzUsNiArNDUsNyBAQCBleHRlcm4gbWZuX3QgZmlyc3RfdmFsaWRfbWZuOw0KPiA+ICAjZGVm
aW5lIG5vZGVfc3RhcnRfcGZuKG5pZCkgKG1mbl94KGZpcnN0X3ZhbGlkX21mbikpDQo+ID4gICNk
ZWZpbmUgX19ub2RlX2Rpc3RhbmNlKGEsIGIpICgyMCkNCj4gPg0KPiA+ICsjZGVmaW5lIG51bWFf
aW5pdCh4KSBkbyB7IH0gd2hpbGUgKDApDQo+ID4gICNkZWZpbmUgbnVtYV9zZXRfbm9kZSh4LCB5
KSBkbyB7IH0gd2hpbGUgKDApDQo+ID4NCj4gPiAgI2VuZGlmDQo+ID4gLS0NCj4gPiAyLjI1LjEN
Cj4gPg0K


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 02:10:25 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 02:10:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173364.316332 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJRJr-0002nu-9C; Fri, 27 Aug 2021 02:10:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173364.316332; Fri, 27 Aug 2021 02:10:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJRJr-0002nn-4l; Fri, 27 Aug 2021 02:10:11 +0000
Received: by outflank-mailman (input) for mailman id 173364;
 Fri, 27 Aug 2021 02:10: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 1mJRJq-0002nd-4l; Fri, 27 Aug 2021 02:10: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 1mJRJp-0001pO-Uu; Fri, 27 Aug 2021 02:10: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 1mJRJp-0001oV-KU; Fri, 27 Aug 2021 02:10:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mJRJp-0004eO-Jt; Fri, 27 Aug 2021 02:10:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=SNrmGIQlIhZwAGNTXB+LJ0XyRVRC8pGB1b8xSOMYrQw=; b=WDBnekGpE8rXhQXeZzL/x51eqA
	NF3P/Ad1Tdx1KRzXgxe01fkFmGI/43Jdu1NQkDK7tQescLhL36w854x1rq8scx9bt4EMCGO0daHNI
	iZUF2Y1dxPCt9vp8vMKJ4g0pLl0nnOOumraFDDwJomQ0gM3NTsvHAetc6wmtJ9huL/gw=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164493-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.14-testing test] 164493: regressions - FAIL
X-Osstest-Failures:
    xen-4.14-testing:test-amd64-amd64-dom0pvh-xl-amd:xen-boot:fail:regression
    xen-4.14-testing:test-amd64-amd64-dom0pvh-xl-intel:xen-boot:fail:regression
    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-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-xsm: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:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl:saverestore-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-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-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=74e93071826fe3aaab32e469280a3253a39147f6
X-Osstest-Versions-That:
    xen=49299c4813b7847d29df07bf790f5489060f2a9c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 27 Aug 2021 02:10:09 +0000

flight 164493 xen-4.14-testing real [real]
flight 164505 xen-4.14-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/164493/
http://logs.test-lab.xenproject.org/osstest/logs/164505/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-dom0pvh-xl-amd  8 xen-boot              fail REGR. vs. 163750
 test-amd64-amd64-dom0pvh-xl-intel  8 xen-boot            fail REGR. vs. 163750

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 164505-retest

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 163750
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 163750
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 163750
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 163750
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 163750
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 163750
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 163750
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 163750
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 163750
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 163750
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 163750
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-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      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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  74e93071826fe3aaab32e469280a3253a39147f6
baseline version:
 xen                  49299c4813b7847d29df07bf790f5489060f2a9c

Last test of basis   163750  2021-07-16 21:07:40 Z   41 days
Failing since        164261  2021-08-19 17:07:29 Z    7 days    5 attempts
Testing same since   164493  2021-08-25 22:08:55 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Dario Faggioli <dfaggioli@suse.com>
  Ian Jackson <iwj@xenproject.org>
  Jan Beulich <jbeulich@suse.com>
  Jane Malalane <jane.malalane@citrix.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Stefano Stabellini <sstabellini@kernel.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 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                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 607 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 03:43:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 03:43:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173372.316348 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJSmM-0004np-5v; Fri, 27 Aug 2021 03:43:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173372.316348; Fri, 27 Aug 2021 03: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 1mJSmM-0004ni-2x; Fri, 27 Aug 2021 03:43:42 +0000
Received: by outflank-mailman (input) for mailman id 173372;
 Fri, 27 Aug 2021 03:43:39 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1NWc=NS=intel.com=kevin.tian@srs-us1.protection.inumbo.net>)
 id 1mJSmJ-0004nc-N3
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 03:43:39 +0000
Received: from mga12.intel.com (unknown [192.55.52.136])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id f5da165a-06e8-11ec-aa88-12813bfff9fa;
 Fri, 27 Aug 2021 03:43:37 +0000 (UTC)
Received: from fmsmga005.fm.intel.com ([10.253.24.32])
 by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 26 Aug 2021 20:43:36 -0700
Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83])
 by fmsmga005.fm.intel.com with ESMTP; 26 Aug 2021 20:43:36 -0700
Received: from fmsmsx606.amr.corp.intel.com (10.18.126.86) 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.2242.10; Thu, 26 Aug 2021 20:43:35 -0700
Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by
 fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2242.10 via Frontend Transport; Thu, 26 Aug 2021 20:43:35 -0700
Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.176)
 by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2242.10; Thu, 26 Aug 2021 20:43:35 -0700
Received: from BN9PR11MB5433.namprd11.prod.outlook.com (2603:10b6:408:11e::13)
 by BN9PR11MB5530.namprd11.prod.outlook.com (2603:10b6:408:103::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.14; Fri, 27 Aug
 2021 03:43:34 +0000
Received: from BN9PR11MB5433.namprd11.prod.outlook.com
 ([fe80::ddb7:fa7f:2cc:45df]) by BN9PR11MB5433.namprd11.prod.outlook.com
 ([fe80::ddb7:fa7f:2cc:45df%7]) with mapi id 15.20.4457.020; Fri, 27 Aug 2021
 03:43:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f5da165a-06e8-11ec-aa88-12813bfff9fa
X-IronPort-AV: E=McAfee;i="6200,9189,10088"; a="197454654"
X-IronPort-AV: E=Sophos;i="5.84,355,1620716400"; 
   d="scan'208";a="197454654"
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.84,355,1620716400"; 
   d="scan'208";a="687305390"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mtSjf9HYm/czsHQdGjly55DMiBDS/Mub3k4ma1UC8G4JxOhz4of2/VhD1ZcybBgakCJHoxew8OE9S7j7x6TYtFoM5iPdXnZ/b4Gh9fqJddLLL/xpr52Wz4YYCHJmFRCg10zbWz7U49DHObzgC4H2tMP519jDH6VWcKEuWGtQYaScX9vpzlJHSlrurquqBb8yuhQ/LbC1ouyLk3jFjcOXHlrJqhMQHf/4tjahWVVxdFAQZit3xT0cJHvGfkj/JEzHtjz/oX8vV/+Fi/NYpU/iWvTZ2ka0ikG/dwXOdFlnSVAvPIb8aToLNhkQm0S4l2A1Qs4K/DUzD1orMzbLUNf/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-SenderADCheck;
 bh=RWI/QdwE5y2BWGEZA+m3vE+TpcRJXyO2GWgwPbk9AjE=;
 b=JqgI65Z4zvaBAJDt1uroIioqMH9X3u64Fwd1ZnXSEKbpgyETKryuwlJR+pajOQs9Tw5m6Z+JY6OoM6V0axs9841Ctuz7y9DetFPJIg708x2Q+YfCV+GPBoqRDOa9m8eeUul4Jgvdjjx+/QFen1sMHpPrERbIUzqb3Im24u6HMWWWEirivFMc8DG1AHrBOonjnzwpel0VQjC8M3nJ7B/eaao7r1RHlxtweAX60Y8+D3b9AQuzhK5waAYsxr+hzy4ViCnVVADPTA5uSow0PI8g9HDVnVczdhMl/cUlgkmWnBz7QJORAr5e42g7aPmsNzCAYJa3V9KkgL2Ig7gIwOGXWw==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com;
 s=selector2-intel-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RWI/QdwE5y2BWGEZA+m3vE+TpcRJXyO2GWgwPbk9AjE=;
 b=Jjsw7UHcrqsAtvE+1tDujm5okXNVsrEMwKKk1dEMbqhvWhCVnT5AqJMq3nBWLQpyc+UFVUMa2+pc5wih0IEtWkqM6rPJzxdKVPp19aQLQdrOMGuY/l8whv0/jIBElz302GLpeEgy9w7pi6HZDsgnd95PBJ5bb3Mnkf1llvBRxus=
From: "Tian, Kevin" <kevin.tian@intel.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Paul Durrant <paul@xen.org>
Subject: RE: [PATCH] VT-d: fix caching mode IOTLB flushing
Thread-Topic: [PATCH] VT-d: fix caching mode IOTLB flushing
Thread-Index: AQHXlNEMfoGT1txCikWyu5KsojfNr6uGwaQA
Date: Fri, 27 Aug 2021 03:43:34 +0000
Message-ID: <BN9PR11MB54338B5C615A48CE313703578CC89@BN9PR11MB5433.namprd11.prod.outlook.com>
References: <8b873e30-c1d1-3174-9e67-506887deedcc@suse.com>
In-Reply-To: <8b873e30-c1d1-3174-9e67-506887deedcc@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
dlp-version: 11.5.1.3
dlp-product: dlpe-windows
dlp-reaction: no-action
authentication-results: suse.com; dkim=none (message not signed)
 header.d=none;suse.com; dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: de98a05c-c8be-4957-6ed8-08d9690cd8cd
x-ms-traffictypediagnostic: BN9PR11MB5530:
x-microsoft-antispam-prvs: <BN9PR11MB5530323C40D0CE93CB82FF048CC89@BN9PR11MB5530.namprd11.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:8273;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: qbgqcSDGIMdbPxLre3gl6+x8QsY2zD9MWxjQBqRvdMWUHCqBXFmV/WkEY3Xuu9pgoBbUa37vLDquwiFpZD3EsE2rTFv6tFNzzF1XtrAntpdIqVTi/E5T3btVOYGcnB3KvnvJOwUwDrgSf5K9Jx0twhk4HRGph8Jq1NE3T012QQ1MvSR7CR9mvV3gtDVZk/PSCt3sYZGyGfRv1XKnfM3jzihFTb7+09Cdy3Xlv6U2kAntNyuaMrEpGoKqiMDMPQ8CCMirVRMTWP4/YXMa4nLbe6eBV4BoFI83r3q4jX1vQthAcYGRQE/U223JusxfofGmZMp8neLGedEWkfjAB6WNHYCyb/XZPntEuSdsbXe6Bam5uNjemjc9Ga1sYYmc4+bqVBttrDUugoIOvpFGInVhtsPeK0rRPWvrwJyp8bSZ3096G0z7YQmlRsDgYi0wpdNHOfJ48K18VNwk2C8ErIBpy9QBUuqE0/6887Fjm85xjAwB6GdjHsS/F3RfEOjYArz62UobfjNurrl5aHC4s59QDM4zggWlVUemF4Cv3B2kK8Tu8mzOEAwJ8UZFytS3W5iquoN/uEVl/aKx+qt7HBuGen0jr1dQLW0k903ms1ZTolzglk+5i0N2y8c9/j453HDLy33U1NQp/G0ifyf1I4KbiB531pSQNpoNa1QDQdALvnMfWLJdMA7wiu3U8iFm/aTF+vTOI+TuEfEk1m1yIxZv2A==
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR11MB5433.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(136003)(366004)(39860400002)(376002)(346002)(66946007)(316002)(33656002)(76116006)(4326008)(186003)(38070700005)(66446008)(26005)(86362001)(55016002)(66556008)(478600001)(8676002)(122000001)(38100700002)(71200400001)(5660300002)(52536014)(9686003)(64756008)(2906002)(6506007)(110136005)(7696005)(66476007)(8936002);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?S1ZRcGZBRThzbzdxOU96di9kUWZkUGxzelA4TkpiSldBUGJOa0xidUwrVHdP?=
 =?utf-8?B?b2RpSHVmL2s2ZGFRd2VFZUNtMHhqTGx3MHNwK2JsUVdwWlhZZGs0a1VkUTJo?=
 =?utf-8?B?SGxmODk5VmdieHpDNzdRWTBVbGpoVzFCZU50V20wT0EwZm5IYTFWeFZYZTVZ?=
 =?utf-8?B?czBsQm5YWjRpRUN4dE1UckhSL0R2NXYzSHRkVldTNjRxWUZqcDFZdms1OHhT?=
 =?utf-8?B?SExWQU1IbjZPRTNRSTZPbWtaS1RYQk5IOTlHeGxlV1JmNkszbWs4VzZCblRB?=
 =?utf-8?B?V2E3MjNUK3pzb2E2cnVtNFQ4RUUvRVAxdG04VU1SQ3p6Y2tKWmM3R05URW1v?=
 =?utf-8?B?WGYyY3VCYkJ6WThDZHFibENSbXdsS0ZFTUJIWTQ5SVhGZ2RSNTVtZ1g0bS9V?=
 =?utf-8?B?bU1wMlJSdldXVGFWTEZUOFh4R3VycmxBNTZjRnVBY0ZJL05meXpjam1HUU85?=
 =?utf-8?B?Nnp1b2tKVDVBTThDRWZUdWkycW1nT09peUtPNisvQ1BCSWJnS1dEcittUkR4?=
 =?utf-8?B?ekZYdHdVVnNheHBLUDJjRWw1N2ZCcWlRSEZJUUU0NTFpSGlLK0J4ekFLZFhv?=
 =?utf-8?B?MWxPMVo0N1JCTVFhRDZHMmV0SzlxVUxsYVdRQmw4VmRtbW92ZGNjaUFHR0hv?=
 =?utf-8?B?SDI2N2xCcmNia21hcGlmUzBVbnJINjkxK0M4bkR2NjZXSVhDMktzQW5QTDFY?=
 =?utf-8?B?dE0zTUVQU2dyQnNjQnBxNTFCd1pMMzBLa3lLWmFyaVdpNWRCdVVla3JMWWNK?=
 =?utf-8?B?VDJNc2xoRDVKRnc4Rmxaa00xZDQrUWRlNHFDN1BRZWxxY0VRaFJkSWo4c2lx?=
 =?utf-8?B?d2FaNklGUnRWV3M1Zk02S2djdVhjVm9zaE1lVVl2U0w3Y0hXN1U3QkFZWGRG?=
 =?utf-8?B?NWFQSCs4Z3VlMU9HTzF4UWRwV25FQkF3Z052R2g3d0cvVUc1YXdYTDJpcHY2?=
 =?utf-8?B?MmlFZHY5cmRsNEl2T1M5YlRyS2xxWlhFNGlXTEFabzhWVWtSdFFDVERvbmx5?=
 =?utf-8?B?enhKNzFuNXkxRmVEMEh5RjI3U25FdnE1S0k4V2ZSTG9NQmtQWk5Cd2g3U2dO?=
 =?utf-8?B?ZUJndFRaa29OSkIzeVJFVjdFdmdsY1gxQ00waGhabmtheEgybG1qL2Z1OHZJ?=
 =?utf-8?B?YkFEaTJEWXVoby8xUUR4ajlSTnN0Z3JXMmszS2VGbWtxcCtaaWpPZU40M1M3?=
 =?utf-8?B?UlFKR3l6WXE3VjFSVVJkMFhvL0dHNVJvU2tQaWc2aldpTDRUMyt4SytHYjlu?=
 =?utf-8?B?NjBzQzVSb1B6U2xlTzk2QlBnanNuaUZCRjZVbDQ2ekh2T0hFNk9kM2RpZjNZ?=
 =?utf-8?B?M0RMNW1sYVk3TUJLSnRia01HbmttaWlmS1BLdC9FVWJySFZvRStlaitsMVdQ?=
 =?utf-8?B?aFRUQU9MYTBkdmJiNUxwMG9TaW85ajBMY1ZWTnNOVjJmOFpSVUs2UG9aTW5H?=
 =?utf-8?B?a3dsWjVrM0NiRjJFUHF4b3VGeTRmY3JtL0Q5YTZ2THRYNU9FM3dqd0J0VGdu?=
 =?utf-8?B?MzN5c25jZTVJUE03NE0yMTZ4ZjBPWDdpZEF6MHFCTnVxT1BzdCttRy9pUHVz?=
 =?utf-8?B?Y3hKOEFubDhLNXFoTlN6bHRwZTFLM3JJdDdaYkE2QU05bWhhcE15MVBEZXhs?=
 =?utf-8?B?MnVtaC8zR0ZKTXNQL1NXQnNHbStCMWRzcVZHV0ZTbG9aOTdXdmVMZWNmUU5X?=
 =?utf-8?B?eFFvNFlGYUhqTW9oTks2SmYxV1BoYUwrWWpHN2NjQ0xGSHB4SnJKODhPa2py?=
 =?utf-8?Q?FZz0OD3hbhvdbMoX+Q4yHdqwZGgDsAUkeK7Ay6j?=
x-ms-exchange-transport-forked: True
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: BN9PR11MB5433.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: de98a05c-c8be-4957-6ed8-08d9690cd8cd
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Aug 2021 03:43:34.6197
 (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: iqqAgYx3/UxgdULKy4PCsk7g3lOfD9sr5nazhiE+W8avfJn/4/GQLrMmBAAE62Dt07wKB4PqeTQKgbmqdnD43w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR11MB5530
X-OriginatorOrg: intel.com

PiBGcm9tOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+IFNlbnQ6IFRodXJzZGF5
LCBBdWd1c3QgMTksIDIwMjEgNDowNiBQTQ0KPiANCj4gV2hpbGUgZm9yIGNvbnRleHQgY2FjaGUg
ZW50cnkgZmx1c2hpbmcgdXNlIG9mIGRpZCAwIGlzIGluZGVlZCBjb3JyZWN0DQo+IChhZnRlciBh
bGwgdXBvbiByZWFkaW5nIHRoZSBjb250ZXh0IGVudHJ5IHRoZSBJT01NVSB3b3VsZG4ndCBrbm93
IGFueQ0KPiBkb21haW4gSUQgaWYgdGhlIGVudHJ5IGlzIG5vdCBwcmVzZW50LCBhbmQgaGVuY2Ug
YSBzdXJyb2dhdGUgb25lIG5lZWRzDQo+IHRvIGJlIHVzZWQpLCBmb3IgSU9UTEIgZW50cmllcyB0
aGUgbm9ybWFsIGRvbWFpbiBJRCAoZnJvbSB0aGUgW3ByZXNlbnRdDQo+IGNvbnRleHQgZW50cnkp
IGdldHMgdXNlZC4gU2VlIHN1Yi1zZWN0aW9uICJJT1RMQiIgb2Ygc2VjdGlvbiAiQWRkcmVzcw0K
PiBUcmFuc2xhdGlvbiBDYWNoZXMiIGluIHRoZSBWVC1kIHNwZWMuDQo+IA0KPiBTaWduZWQtb2Zm
LWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQoNClJldmlld2VkLWJ5OiBLZXZp
biBUaWFuIDxrZXZpbi50aWFuQGludGVsLmNvbT4NCg0KPiAtLS0NCj4gTHVja2lseSB0aGlzIGlz
IHN1cHBvc2VkIHRvIGJlIGFuIGlzc3VlIG9ubHkgd2hlbiBydW5uaW5nIG9uIGVtdWxhdGVkDQo+
IElPTU1VczsgaGFyZHdhcmUgaW1wbGVtZW50YXRpb25zIGFyZSBleHBlY3RlZCB0byBoYXZlIENB
UC5DTT0wLg0KPiANCj4gLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMN
Cj4gKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMNCj4gQEAgLTQ3NCwx
NyArNDc0LDEwIEBAIGludCB2dGRfZmx1c2hfaW90bGJfcmVnKHN0cnVjdCB2dGRfaW9tbXUNCj4g
DQo+ICAgICAgLyoNCj4gICAgICAgKiBJbiB0aGUgbm9uLXByZXNlbnQgZW50cnkgZmx1c2ggY2Fz
ZSwgaWYgaGFyZHdhcmUgZG9lc24ndCBjYWNoZQ0KPiAtICAgICAqIG5vbi1wcmVzZW50IGVudHJ5
IHdlIGRvIG5vdGhpbmcgYW5kIGlmIGhhcmR3YXJlIGNhY2hlIG5vbi1wcmVzZW50DQo+IC0gICAg
ICogZW50cnksIHdlIGZsdXNoIGVudHJpZXMgb2YgZG9tYWluIDAgKHRoZSBkb21haW4gaWQgaXMg
dXNlZCB0byBjYWNoZQ0KPiAtICAgICAqIGFueSBub24tcHJlc2VudCBlbnRyaWVzKQ0KPiArICAg
ICAqIG5vbi1wcmVzZW50IGVudHJpZXMgd2UgZG8gbm90aGluZy4NCj4gICAgICAgKi8NCj4gLSAg
ICBpZiAoIGZsdXNoX25vbl9wcmVzZW50X2VudHJ5ICkNCj4gLSAgICB7DQo+IC0gICAgICAgIGlm
ICggIWNhcF9jYWNoaW5nX21vZGUoaW9tbXUtPmNhcCkgKQ0KPiAtICAgICAgICAgICAgcmV0dXJu
IDE7DQo+IC0gICAgICAgIGVsc2UNCj4gLSAgICAgICAgICAgIGRpZCA9IDA7DQo+IC0gICAgfQ0K
PiArICAgIGlmICggZmx1c2hfbm9uX3ByZXNlbnRfZW50cnkgJiYgIWNhcF9jYWNoaW5nX21vZGUo
aW9tbXUtPmNhcCkgKQ0KPiArICAgICAgICByZXR1cm4gMTsNCj4gDQo+ICAgICAgLyogdXNlIHJl
Z2lzdGVyIGludmFsaWRhdGlvbiAqLw0KPiAgICAgIHN3aXRjaCAoIHR5cGUgKQ0KPiAtLS0gYS94
ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvcWludmFsLmMNCj4gKysrIGIveGVuL2RyaXZlcnMv
cGFzc3Rocm91Z2gvdnRkL3FpbnZhbC5jDQo+IEBAIC0zNjIsMTcgKzM2MiwxMCBAQCBzdGF0aWMg
aW50IF9fbXVzdF9jaGVjayBmbHVzaF9pb3RsYl9xaShzDQo+IA0KPiAgICAgIC8qDQo+ICAgICAg
ICogSW4gdGhlIG5vbi1wcmVzZW50IGVudHJ5IGZsdXNoIGNhc2UsIGlmIGhhcmR3YXJlIGRvZXNu
J3QgY2FjaGUNCj4gLSAgICAgKiBub24tcHJlc2VudCBlbnRyeSB3ZSBkbyBub3RoaW5nIGFuZCBp
ZiBoYXJkd2FyZSBjYWNoZSBub24tcHJlc2VudA0KPiAtICAgICAqIGVudHJ5LCB3ZSBmbHVzaCBl
bnRyaWVzIG9mIGRvbWFpbiAwICh0aGUgZG9tYWluIGlkIGlzIHVzZWQgdG8gY2FjaGUNCj4gLSAg
ICAgKiBhbnkgbm9uLXByZXNlbnQgZW50cmllcykNCj4gKyAgICAgKiBub24tcHJlc2VudCBlbnRy
aWVzIHdlIGRvIG5vdGhpbmcuDQo+ICAgICAgICovDQo+IC0gICAgaWYgKCBmbHVzaF9ub25fcHJl
c2VudF9lbnRyeSApDQo+IC0gICAgew0KPiAtICAgICAgICBpZiAoICFjYXBfY2FjaGluZ19tb2Rl
KGlvbW11LT5jYXApICkNCj4gLSAgICAgICAgICAgIHJldHVybiAxOw0KPiAtICAgICAgICBlbHNl
DQo+IC0gICAgICAgICAgICBkaWQgPSAwOw0KPiAtICAgIH0NCj4gKyAgICBpZiAoIGZsdXNoX25v
bl9wcmVzZW50X2VudHJ5ICYmICFjYXBfY2FjaGluZ19tb2RlKGlvbW11LT5jYXApICkNCj4gKyAg
ICAgICAgcmV0dXJuIDE7DQo+IA0KPiAgICAgIC8qIHVzZSBxdWV1ZWQgaW52YWxpZGF0aW9uICov
DQo+ICAgICAgaWYgKGNhcF93cml0ZV9kcmFpbihpb21tdS0+Y2FwKSkNCg0K


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 03:50:41 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 03:50:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173379.316360 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJSt3-0006Fp-Vm; Fri, 27 Aug 2021 03:50:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173379.316360; Fri, 27 Aug 2021 03: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 1mJSt3-0006Fi-Ru; Fri, 27 Aug 2021 03:50:37 +0000
Received: by outflank-mailman (input) for mailman id 173379;
 Fri, 27 Aug 2021 03:50:36 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=v0Ss=NS=chromium.org=tientzu@srs-us1.protection.inumbo.net>)
 id 1mJSt2-0006Fc-CT
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 03:50:36 +0000
Received: from mail-io1-xd32.google.com (unknown [2607:f8b0:4864:20::d32])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id e8a1ae0b-fb30-4a96-89e3-e9cda1086b10;
 Fri, 27 Aug 2021 03:50:35 +0000 (UTC)
Received: by mail-io1-xd32.google.com with SMTP id n24so6798380ion.10
 for <xen-devel@lists.xenproject.org>; Thu, 26 Aug 2021 20:50:35 -0700 (PDT)
Received: from mail-il1-f175.google.com (mail-il1-f175.google.com.
 [209.85.166.175])
 by smtp.gmail.com with ESMTPSA id c5sm2930952ilr.54.2021.08.26.20.50.33
 for <xen-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 26 Aug 2021 20:50:34 -0700 (PDT)
Received: by mail-il1-f175.google.com with SMTP id v2so5681458ilg.12
 for <xen-devel@lists.xenproject.org>; Thu, 26 Aug 2021 20:50:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e8a1ae0b-fb30-4a96-89e3-e9cda1086b10
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=chromium.org; s=google;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc;
        bh=aO31d1ja5MAKunYUAZZRLdfg9N4l+qmRykC9m1jC/pQ=;
        b=LHO3ECTKxrFvHrNircCd8rdZ+1fd28Cmb0yeGOAFZz7tvi23JfdsoKQlBQ/osBU2PS
         uSjlHhkxT55kRAddmfXWJAAOEApdxidxxDW04W+WXtBEpgeVUzkf4uqWPWAg7OHZiZJx
         7DqmkAUptTsy2yC8hMD6ce5SkESGfwW9yU/Tw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=aO31d1ja5MAKunYUAZZRLdfg9N4l+qmRykC9m1jC/pQ=;
        b=AQu5jqUnHYECguRfTTHny0MfAszcbfgtilLUlwmUzr7E//nYx5e+j+mMNQEak5D7CQ
         PqVIQ2pQ8T+JPczvuZKZGrhiHiq44TjxYPpFtkfZPYwYOojEfsjG/dDw7Y3I3dIcwj4a
         qeGXmy00x0FWTWfP+p38Fvf6DmopLDodAxBe48z4z1NgD/d16cz2RP6QgMFXV87YM2KS
         GiPIJ5e1ZrQvV7qP5XWwF525NU7nHrAEjKmtNkZSsYGAfUX4P+AmjvSnybJe9XE2qY/1
         ZzCRp3XP3DQaFUu9gB93q6EC8ak8Ip90IsOD0E55iHB/uQrt1t6te3w2q8VKOV1Kbw90
         geAg==
X-Gm-Message-State: AOAM531e0MJhXmNPomQZqO7bIXvuAV7tiSzrc2CqTdmmYYE1rULLBQBs
	5NraYQN/aQSQg5WhiL6Eh13BigOXH9FoiA==
X-Google-Smtp-Source: ABdhPJwqeqmMhIu2KMjrWhGKngCbTzI1zexxBa4KUkYudUx+DMyBpZcQmjWKBa+GlR4xuFr0wgPfsQ==
X-Received: by 2002:a05:6602:20ce:: with SMTP id 14mr5864972ioz.204.1630036234554;
        Thu, 26 Aug 2021 20:50:34 -0700 (PDT)
X-Received: by 2002:a5d:9ada:: with SMTP id x26mr5606315ion.50.1630036221774;
 Thu, 26 Aug 2021 20:50:21 -0700 (PDT)
MIME-Version: 1.0
References: <20210624155526.2775863-1-tientzu@chromium.org>
 <20210624155526.2775863-11-tientzu@chromium.org> <20210824142601.GA3393158@roeck-us.net>
In-Reply-To: <20210824142601.GA3393158@roeck-us.net>
From: Claire Chang <tientzu@chromium.org>
Date: Fri, 27 Aug 2021 11:50:10 +0800
X-Gmail-Original-Message-ID: <CALiNf2_NoJwU7UUT4mNkbKWRKsTP9R9E=9qBZzjdjOduO5WZDQ@mail.gmail.com>
Message-ID: <CALiNf2_NoJwU7UUT4mNkbKWRKsTP9R9E=9qBZzjdjOduO5WZDQ@mail.gmail.com>
Subject: Re: [PATCH v15 10/12] swiotlb: Add restricted DMA pool initialization
To: Guenter Roeck <linux@roeck-us.net>
Cc: Rob Herring <robh+dt@kernel.org>, mpe@ellerman.id.au, Joerg Roedel <joro@8bytes.org>, 
	Will Deacon <will@kernel.org>, Frank Rowand <frowand.list@gmail.com>, 
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, boris.ostrovsky@oracle.com, jgross@suse.com, 
	Christoph Hellwig <hch@lst.de>, Marek Szyprowski <m.szyprowski@samsung.com>, benh@kernel.crashing.org, 
	paulus@samba.org, 
	"list@263.net:IOMMU DRIVERS" <iommu@lists.linux-foundation.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, Robin Murphy <robin.murphy@arm.com>, grant.likely@arm.com, 
	xypron.glpk@gmx.de, Thierry Reding <treding@nvidia.com>, mingo@kernel.org, 
	bauerman@linux.ibm.com, peterz@infradead.org, 
	Greg KH <gregkh@linuxfoundation.org>, Saravana Kannan <saravanak@google.com>, 
	"Rafael J . Wysocki" <rafael.j.wysocki@intel.com>, heikki.krogerus@linux.intel.com, 
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>, Randy Dunlap <rdunlap@infradead.org>, 
	Dan Williams <dan.j.williams@intel.com>, Bartosz Golaszewski <bgolaszewski@baylibre.com>, 
	linux-devicetree <devicetree@vger.kernel.org>, lkml <linux-kernel@vger.kernel.org>, 
	linuxppc-dev@lists.ozlabs.org, xen-devel@lists.xenproject.org, 
	Nicolas Boichat <drinkcat@chromium.org>, Jim Quinlan <james.quinlan@broadcom.com>, 
	Tomasz Figa <tfiga@chromium.org>, bskeggs@redhat.com, 
	Bjorn Helgaas <bhelgaas@google.com>, chris@chris-wilson.co.uk, 
	Daniel Vetter <daniel@ffwll.ch>, airlied@linux.ie, dri-devel@lists.freedesktop.org, 
	intel-gfx@lists.freedesktop.org, jani.nikula@linux.intel.com, 
	Jianxiong Gao <jxgao@google.com>, joonas.lahtinen@linux.intel.com, 
	linux-pci@vger.kernel.org, maarten.lankhorst@linux.intel.com, 
	matthew.auld@intel.com, rodrigo.vivi@intel.com, 
	thomas.hellstrom@linux.intel.com, Tom Lendacky <thomas.lendacky@amd.com>, 
	Qian Cai <quic_qiancai@quicinc.com>
Content-Type: text/plain; charset="UTF-8"

On Tue, Aug 24, 2021 at 10:26 PM Guenter Roeck <linux@roeck-us.net> wrote:
>
> Hi Claire,
>
> On Thu, Jun 24, 2021 at 11:55:24PM +0800, Claire Chang wrote:
> > Add the initialization function to create restricted DMA pools from
> > matching reserved-memory nodes.
> >
> > Regardless of swiotlb setting, the restricted DMA pool is preferred if
> > available.
> >
> > The restricted DMA pools provide a basic level of protection against the
> > DMA overwriting buffer contents at unexpected times. However, to protect
> > against general data leakage and system memory corruption, the system
> > needs to provide a way to lock down the memory access, e.g., MPU.
> >
> > Signed-off-by: Claire Chang <tientzu@chromium.org>
> > Reviewed-by: Christoph Hellwig <hch@lst.de>
> > Tested-by: Stefano Stabellini <sstabellini@kernel.org>
> > Tested-by: Will Deacon <will@kernel.org>
> > ---
> >  include/linux/swiotlb.h |  3 +-
> >  kernel/dma/Kconfig      | 14 ++++++++
> >  kernel/dma/swiotlb.c    | 76 +++++++++++++++++++++++++++++++++++++++++
> >  3 files changed, 92 insertions(+), 1 deletion(-)
> >
> > diff --git a/include/linux/swiotlb.h b/include/linux/swiotlb.h
> > index 3b9454d1e498..39284ff2a6cd 100644
> > --- a/include/linux/swiotlb.h
> > +++ b/include/linux/swiotlb.h
> > @@ -73,7 +73,8 @@ extern enum swiotlb_force swiotlb_force;
> >   *           range check to see if the memory was in fact allocated by this
> >   *           API.
> >   * @nslabs:  The number of IO TLB blocks (in groups of 64) between @start and
> > - *           @end. This is command line adjustable via setup_io_tlb_npages.
> > + *           @end. For default swiotlb, this is command line adjustable via
> > + *           setup_io_tlb_npages.
> >   * @used:    The number of used IO TLB block.
> >   * @list:    The free list describing the number of free entries available
> >   *           from each index.
> > diff --git a/kernel/dma/Kconfig b/kernel/dma/Kconfig
> > index 77b405508743..3e961dc39634 100644
> > --- a/kernel/dma/Kconfig
> > +++ b/kernel/dma/Kconfig
> > @@ -80,6 +80,20 @@ config SWIOTLB
> >       bool
> >       select NEED_DMA_MAP_STATE
> >
> > +config DMA_RESTRICTED_POOL
> > +     bool "DMA Restricted Pool"
> > +     depends on OF && OF_RESERVED_MEM
> > +     select SWIOTLB
>
> This makes SWIOTLB user configurable, which in turn results in
>
> mips64-linux-ld: arch/mips/kernel/setup.o: in function `arch_mem_init':
> setup.c:(.init.text+0x19c8): undefined reference to `plat_swiotlb_setup'
> make[1]: *** [Makefile:1280: vmlinux] Error 1
>
> when building mips:allmodconfig.
>
> Should this possibly be "depends on SWIOTLB" ?

Patch is sent here: https://lkml.org/lkml/2021/8/26/932

>
> Thanks,
> Guenter

Thanks,
Claire


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 06:18:56 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 06:18:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173386.316371 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJVCJ-0005kp-Q1; Fri, 27 Aug 2021 06:18:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173386.316371; Fri, 27 Aug 2021 06:18:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJVCJ-0005ki-Mi; Fri, 27 Aug 2021 06:18:39 +0000
Received: by outflank-mailman (input) for mailman id 173386;
 Fri, 27 Aug 2021 06:18:38 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jVCk=NS=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJVCH-0005kc-UI
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 06:18:37 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 9c562626-06fe-11ec-aa90-12813bfff9fa;
 Fri, 27 Aug 2021 06:18:36 +0000 (UTC)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2055.outbound.protection.outlook.com [104.47.12.55]) (Using
 TLS) by relay.mimecast.com with ESMTP id de-mta-3-zChCGvlQPTKPFaTQRE2ZNA-1;
 Fri, 27 Aug 2021 08:18:34 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VE1PR04MB6478.eurprd04.prod.outlook.com (2603:10a6:803:12a::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Fri, 27 Aug
 2021 06:18:31 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.023; Fri, 27 Aug 2021
 06:18:31 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P250CA0019.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:57::24) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.20 via Frontend Transport; Fri, 27 Aug 2021 06:18:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9c562626-06fe-11ec-aa90-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630045115;
	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=mIOCFS5BCPwQGnE/zvCQb9AN/xmuFqbMtZ4rYAij2wU=;
	b=KaJeC2BrfjNMEiPuIqqAL/vSDbsucqneh1Gw0glblXMsRfNf5GS+nSSRr4n1h9VN1jcjdM
	/B+hXoRBJ8r2OC7Quur+HGJi55Wjw13CfbRX2YXDM3CzMGLyNcWOAlvroJvCyHjmS6x4Y4
	zxBe7iuaeEPKIPCCswsEnu6gogRYTSY=
X-MC-Unique: zChCGvlQPTKPFaTQRE2ZNA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ADaJjYF7mKBULx51dXRuDs2KfE6nTxbmvFUNdf6qv7uyo/wMWJSngG3tBR+ELVyhtoiQGB02kza4gBBxzrF+5AjLC8T+4eyxvBk7b/6QKvgR5sMw8jE2dWXmnXrrpoIuASQyiIxUu6vq2/p6RTeXINM1BLE3YE/YEIhfUvWUkZlR3NCrgrgRHImfuOu/WN071gC2DDOhRteSU62yrf5w41Fhr7tNtz1xRF3Oka7oDJ/YatvhGQsMlWzqcXPrtNINe6Jd5DMORPeY0tZsg2cUpjlyUJhdpZ40lIv+6UjVx6MJNddL412qujFZFpVfWHCg64fLNhdO9VMHl4NcrUC1vQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mIOCFS5BCPwQGnE/zvCQb9AN/xmuFqbMtZ4rYAij2wU=;
 b=U4yAONjaD4Z4HS1NeaIlXgQPXC/YDuE2cWFMwFEaoRTBt3CjZBkPKTSHicq1xFHh7voS8tfErjSN/3RAzKdmTT1AL+RLov3RX6nd04J57w+RGZOLlp81yearntZXoUxVZRVmmIVk+4BL64/U5b9PNGPsZ+ELDSCigqohq5sn66p7yGNxJrzOOMsxv7PeGquX2NtWA/lXWrpHWESSpSxoV/Vt+VmPUHy21KD1k3g30IfatA/xeuWswyaW1VgfwijTpql3seOtSCIWlILc2tZ+ZVpOocnDiv+sLBZJec7dtzAnqJXEcBr+DhwqUQO4aQE9pIjK8eSegrhhANwEFcPg9Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: arm.com; dkim=none (message not signed)
 header.d=none;arm.com; dmarc=none action=none header.from=suse.com;
Subject: Re: [XEN RFC PATCH 16/40] xen/arm: Create a fake NUMA node to use
 common code
To: Stefano Stabellini <sstabellini@kernel.org>, Wei Chen <wei.chen@arm.com>
Cc: xen-devel@lists.xenproject.org, julien@xen.org, Bertrand.Marquis@arm.com
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-17-wei.chen@arm.com>
 <alpine.DEB.2.21.2108261605470.24433@sstabellini-ThinkPad-T480s>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <0ada9a6f-ca9e-cc2e-f06c-7f754e2a4833@suse.com>
Date: Fri, 27 Aug 2021 08:18:28 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <alpine.DEB.2.21.2108261605470.24433@sstabellini-ThinkPad-T480s>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P250CA0019.EURP250.PROD.OUTLOOK.COM
 (2603:10a6:102:57::24) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 1a7519b9-02be-4fd9-7f6a-08d969227e28
X-MS-TrafficTypeDiagnostic: VE1PR04MB6478:
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB647842CE2944F5C651D712F5B3C89@VE1PR04MB6478.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	By5//pTvJj/qfEqB4EIbkGlNFIA1r+TJa5wFrq72QELDSO8Y8O2frAkgkb0ViNjMM8K8kVCumntcgHimZsiUQdWcc434l42CIi1w590PGnRQdkW6yYSn+lqEpCTGBV0KqKcCk3ek5YTCpbrA56LNqI9A6F8Nrc4n72IHNVdm/rGqyyIS47NYgtSEOyP54FYjAxaAvkqCTyryiatf8l1L6rWDoAOcS0pW1eEu7sW4XuovPugzRpQW5t5bCtiltbbr5Ug23xyQS3x+7a6R22J+zhn4yyf8G3BWpx2wXtDDvcEV3MZiVS1PreQNlpN3o9t0P/D2Mzs+8V4VdcI4Vi17IrB3TRs4y4PjtKCggWzAQ+QJnkCGPdNFpkAoRgAbBcoQkIpW8MejzZAHEibWStG6vP3wHILh1Nt8DGfL0UVfH6so0DJpfv30PYAmd/UUu2NBH687NnL8k3IC0iGKBfoe7ZjZ6uFnxHZJGC8Lxrb643VhYotLmbyHLJ9Hm8nZNZo2fPNTQFkdclr25sc+iSi5o56dVI+TZlcoBUvn/djqLpAgOnAfpUbjZraTCEzeED1hEnLbnwhcRgupQ9H3BWqr1hvieCfZB0AZmJ2VYLI+OCM7j/Xbn7ayP5xY6rM293dAPHslEvUcu4Hv8bdMzqF2DNm9GTxJ/MU+FCofZmJ/EiCrxs59j1pmhy07L/Ai8DScEKk1zSIwssPd0Kl9kVg87Uzw0gDSbjJ+qSXB9B4YGAA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(39860400002)(376002)(136003)(366004)(346002)(396003)(66556008)(66476007)(8676002)(26005)(83380400001)(186003)(5660300002)(16576012)(316002)(6486002)(66946007)(31686004)(6666004)(4326008)(110136005)(86362001)(31696002)(956004)(2616005)(8936002)(53546011)(36756003)(478600001)(38100700002)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?L3ZYeXFCSy9aWEV6d3kzalIwSUxBUVVVQUwyNVJta040cFFRN0VlVDZmSk1z?=
 =?utf-8?B?N01MWGlLNklQb01JTHRVSUczL210bm5Wd3kvcW5zdDU0V2J4QjEwa0wyQUdY?=
 =?utf-8?B?Y0JaVEZ5Z2ZJVHAyTStkY2hMYU1WdkhUc0g1TWRQRHNQaDl2djY2NWNKQ25W?=
 =?utf-8?B?NGNkZnRqL25CRzdFVEhzd2txdkhnNGJJeVpHV0NDVGk1YkMvdGp2bGFHQzNT?=
 =?utf-8?B?QTh1Qjh3U2F3WmNrMUZ6K1BtTGN4U3I1c1h5SHFBVFFqcnlaRVJpSit6V1pC?=
 =?utf-8?B?aTJ2U2lOWllpTUdYeVlId0k3R29GdVJXZU5RMm92WFNCU1JMMTU3cEdCR2dk?=
 =?utf-8?B?MUVoRVdBVmY1ZHpTUy82bGhlZURlOWxJZWZPekQ3ZTZqQ2QwZDF6YkR1czRX?=
 =?utf-8?B?MHhzMWJ2cEMrekRhNzZDbGFXZmNubjgxa3J6OE00VEZVeCtJNnFhMFZvbkRi?=
 =?utf-8?B?UkRVWWtnQ0l6bDFVeUk2OGh3cHFSZUFuSE1qSW5VeWFmclNmRDcxVXRZc3ZY?=
 =?utf-8?B?aUE1ekV0ZkIyanZ4TkZFSDdkcDY1RklUWGFNM2hwZkh5S1RYYitVa3h0ODBJ?=
 =?utf-8?B?ZHEzQ0lzMWUyMyt4VlEvUW15OWpNWitBbHN3cVdPWnl4NXJpTTdOWW1WUEZ2?=
 =?utf-8?B?ZlU2R3VYTTFwQmdTL0ZWeDhnUGZJUkZUSGJLTk80Nmh3MldKL2c4djFoRlFZ?=
 =?utf-8?B?eG1WMXF1cFliQUg0NmFLWnZYTzZGd3JoUEoxOVJnM1VSdFBsRnFsSDBjLy9G?=
 =?utf-8?B?MUw5TG9wY2FJWFYzYTlwQ0JrZGlhWFNBbDRzTUN0M0RxK3diSFZxV010YlVS?=
 =?utf-8?B?ejQxY0hSMkI1VE9Zd2xrZW81V1VJMFRGY2NtMHlKa3hianZDNjJVekxXVm1s?=
 =?utf-8?B?TDRjcmZ4RnNHa090RWYvdHdHbFQzUjByWFNqWEx6K0JNTlo3VllhYWNsMHZL?=
 =?utf-8?B?dmZKcHJLYzZGazFZMUEzTEdtWWFXRWw4WVhWVU92dGlGaVBiaGV6eDBXcGN5?=
 =?utf-8?B?YjBFVkVaN0syOEhZU0loY09ZRGEyenNJZ2RVWG5OWVVTMjRReWw3eXFnQjNB?=
 =?utf-8?B?czVoSEtLT0hpNXQ2eGNVdlhyQ21vZVZibldBU1BRMTl3VGtLcUdTL2hmTVhl?=
 =?utf-8?B?ZmdNV1oxcFozTUptQzZBYkdtL1h3enBuTjlwYlNwQ2JGdlFkVUVwRENLV1NG?=
 =?utf-8?B?Nm9pbG5NWXJQYmFIeDV3dXdkU2hNeVptVVM4NUMyMDRvWkFVRmtsMHEwc2Rh?=
 =?utf-8?B?R09wM2VBZm5RS3FDa2dCRmlmRHgrSlJtSmkydEVjdk5jK3hSTHNCSjlrclE1?=
 =?utf-8?B?YkJLd1ZVQ2ZUYm9FN2ZhTmxxWlJXTEFjMW5nZ1MvZTM0b2NnRFF1dml1M1Ra?=
 =?utf-8?B?WmxDd2JjMnROcEw4eWI5cmFvclh6U0ZMQ2oxQnkxS1hxUGVKa0tmZXQ5amR4?=
 =?utf-8?B?bnJFRzhId2N1M1U1TUdiQ0szWUxUNy9pUDliQ05vYm5VSUhWalQxclhQTVdE?=
 =?utf-8?B?WEU1UHFIV1hoRGxqaXhJTEE3VjhHMkFLVjIvcUQ4NWRwbHRMNDg3Ti81bnpB?=
 =?utf-8?B?eGV6M2xyTzk5aFBndlRrRmljWEswTTIyaklXaXRwbStRK1BQWEVDbmk2ckdi?=
 =?utf-8?B?RHNBMmp3RmhVSkZpcWxEY3VnVjR3dGI0dXJHd2QxempnM1RMM0krNFZCVGtI?=
 =?utf-8?B?YjNkczlDcnFTdjYvMi9mV3J5WCs2bXpHa1F1MXFNVU4wMEFvZVQ0WEhmZUNG?=
 =?utf-8?Q?7oUI6sVqLu7V9KDKV1b8AkDeeznpLm5PFIUoC1s?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1a7519b9-02be-4fd9-7f6a-08d969227e28
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2021 06:18:31.7043
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: aBzheN+6VVaptWYQvZE9tW1JOm77fYDzbLAYJW9VFPAE4gc+8VymavTGDaF/ReovENCgGyGGSkRNqQP7xy0zdg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6478

On 27.08.2021 01:10, Stefano Stabellini wrote:
> On Wed, 11 Aug 2021, Wei Chen wrote:
>> @@ -29,3 +31,54 @@ void numa_set_node(int cpu, nodeid_t nid)
>>  
>>      cpu_to_node[cpu] = nid;
>>  }
>> +
>> +void __init numa_init(bool acpi_off)
>> +{
>> +    uint32_t idx;
>> +    paddr_t ram_start = ~0;
>> +    paddr_t ram_size = 0;
>> +    paddr_t ram_end = 0;
>> +
>> +    printk(XENLOG_WARNING
>> +        "NUMA has not been supported yet, NUMA off!\n");
> 
> NIT: please align
> 
> 
>> +    /* Arm NUMA has not been implemented until this patch */
> 
> "Arm NUMA is not implemented yet"
> 
> 
>> +    numa_off = true;
>> +
>> +    /*
>> +     * Set all cpu_to_node mapping to 0, this will make cpu_to_node
>> +     * function return 0 as previous fake cpu_to_node API.
>> +     */
>> +    for ( idx = 0; idx < NR_CPUS; idx++ )
>> +        cpu_to_node[idx] = 0;
>> +
>> +    /*
>> +     * Make node_to_cpumask, node_spanned_pages and node_start_pfn
>> +     * return as previous fake APIs.
>> +     */
>> +    for ( idx = 0; idx < MAX_NUMNODES; idx++ ) {
>> +        node_to_cpumask[idx] = cpu_online_map;
>> +        node_spanned_pages(idx) = (max_page - mfn_x(first_valid_mfn));
>> +        node_start_pfn(idx) = (mfn_x(first_valid_mfn));
>> +    }
> 
> I just want to note that this works because MAX_NUMNODES is 1. If
> MAX_NUMNODES was > 1 then it would be wrong to set node_to_cpumask,
> node_spanned_pages and node_start_pfn for all nodes to the same values.
> 
> It might be worth writing something about it in the in-code comment.

Plus perhaps BUILD_BUG_ON(MAX_NUMNODES != 1), so the issue is actually
noticed at build time once the constant gets changed?

Jan



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 06:28:37 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 06:28:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173392.316382 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJVLt-0007Qp-OX; Fri, 27 Aug 2021 06:28:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173392.316382; Fri, 27 Aug 2021 06: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 1mJVLt-0007Qi-La; Fri, 27 Aug 2021 06:28:33 +0000
Received: by outflank-mailman (input) for mailman id 173392;
 Fri, 27 Aug 2021 06:28:32 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jVCk=NS=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJVLs-0007Qc-LC
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 06:28:32 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id ff2ab2fc-06ff-11ec-aa90-12813bfff9fa;
 Fri, 27 Aug 2021 06:28:31 +0000 (UTC)
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur03lp2056.outbound.protection.outlook.com [104.47.9.56]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-20-ba7-L4tGP8ukV92k2KIHVg-1; Fri, 27 Aug 2021 08:28:29 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VE1PR04MB6383.eurprd04.prod.outlook.com (2603:10a6:803:11b::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.18; Fri, 27 Aug
 2021 06:28:26 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.023; Fri, 27 Aug 2021
 06:28:26 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR01CA0092.eurprd01.prod.exchangelabs.com (2603:10a6:208:10e::33) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.20 via Frontend
 Transport; Fri, 27 Aug 2021 06:28:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ff2ab2fc-06ff-11ec-aa90-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630045710;
	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=wuzQFD4utnY7rFI3iTQdoxtZCBG4A5b1I7lQ8hrBEvk=;
	b=MEWXSK6XME1IayUaQNjB0DyyUUmKbcMVCkOE+iyfPyBl260vB9itEFe9HSfG8UXIQIVrU4
	8cLH5MJC05ro3XSyzssn+v5/osLRtWbSpcjROWgEsbaJwt9CZu6vd5+HIWKDVxb/0OL9Jn
	oe7ikp28gIoULDXNDz8leykrXbUi6dA=
X-MC-Unique: ba7-L4tGP8ukV92k2KIHVg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kgyTMqZUF2QpH1EeEmQHIF2sI56eh5zrLghryXD+DZE0/KWvLeR72MuX4wUKDLcoDfdN3ww+cqTQQ7lHNmcjk73lcSACjRV6dNRWx8rYgLOdh1ttrOL9xsx0heVMFsAZ94e58wuk8J3PiNaUyztXQ0cLq9szACh4mpu/pn1x6ZcM3jehPD7i+x5WtcqJEGb/ZPLufVIJn1Z/ZdCIwK8jgGjZMtqDLciovN/y9XOz1u94VtZSJ216ydB9p7DCz9a3xpHlErXGMgJm65al+MetdUZjlBG8EqR6GeKXpCej11otm4vXd/yAZxNYbZQKvfGn1OXZY18gy9EWmBw6lOm7tg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Pp6AXQbcNJm3Li0YSJQ8jm6grjN9bJYKcWH0MiR4LCs=;
 b=lnL9Bzw45CRm4p01pQ2NfKEwRhNgYGDK/pVmRyPkrXtxhEg/eewZbnGsqRZZL15iKJpVGW+UTuK3R5NWLIY3+DpLNZPrVdIE0Nlzq5GAbiHG53HDYux75n7K0KNMuma6Pybgsw9D7DRB1rOu8gJsVejVunTNzpPLG7c+FrVLly9Or+fJFGCkmJi+cWF8Gk1fuHFADjorrbDP4KACjjEpvPyMZaEjHFVVpaQsoQWEVFTYOkF4+e6jYnNstbjCQt0d93A11kgbUt9RpW+eEL2LtBNAS2uAvKOyioddzfb6MJ8Cc60kkl7uxcKMuUWLnIvRj3bArqWcWv57kSjcCwUC8Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: HVM guest only bring up a single vCPU
To: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <a1724918-94bf-748f-5c4b-5a3ec176368f@xen.org>
 <781aeba6-5e77-9995-cf58-9dc6fd443ad8@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <3b2e6fce-98a2-c18f-7068-9ca990b0b95e@suse.com>
Date: Fri, 27 Aug 2021 08:28:24 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <781aeba6-5e77-9995-cf58-9dc6fd443ad8@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM0PR01CA0092.eurprd01.prod.exchangelabs.com
 (2603:10a6:208:10e::33) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: acb058ff-3e94-4538-de60-08d96923e0ca
X-MS-TrafficTypeDiagnostic: VE1PR04MB6383:
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB6383AEB7E6B28A39E7504B90B3C89@VE1PR04MB6383.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0v8/Xmz637uqWhDEnv4uRodmCbROHzPerzz+L6SZwVjY0A5R7dDURIEvwGyGQPkGZl5X4HRg2IRFkWLioMWDUaibdMIfSrr1XuCjYlZncp37b8fQvzfQw+T19tlEGOY0EAtlxl1IM1WEn0KOIjb7Bm+H7Z4qldSzjk6DUmha8QBmqjoDL4Z9TrNtYHTdyo5aQdmGJS1eUCsKnOv+DnQn/WArc+JbrNzbmQLkyEjyoMDrKb6xbJLX8HPC93+BFTvEOtAhgKaNQREiYd6+sPIpYgh+85MIjffOsW7GldXhWfKk7oK8KlGqYBtwzOUKdYmAnpu5wwPZqv6fzyeJnzsGjtcMGs27myw86VEpfj2ZZY26DML8ygKGKE3+3stmhOTptTXt+Gjdr6zK3JA9rkIX7gzi/kCP12E609pCbj1kLRjnCsC63viUW1kBMiS3QNW5t/UlPfD17FuWGzPNITB1rHRYRHTFKw8K7eEafr67hQkWZNwtkFDixGnzmgQZ0Su7WrAkGScyPEFawONScfkAF5tN3G6Q/C/owqZCFPweNMam4t5mBjA2Av8MR0VKI+FTIgWD2WfANNF5OkLIGXHebgTcNPSSKcai6L/HO95fuyI+vOo97Aumg9zgkkLL7N19bE/lWr0A1Qd0bePnAJM2ys9Hklii7MOLHYQWEmWZyVxpn8ajKdgVHIuJ2O/byqxF6CIahY8NJGERjTt2zrhy9Q==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(136003)(346002)(366004)(396003)(39860400002)(186003)(5660300002)(8676002)(86362001)(66556008)(316002)(8936002)(36756003)(66476007)(66946007)(53546011)(16576012)(26005)(6486002)(31696002)(478600001)(38100700002)(2616005)(956004)(110136005)(83380400001)(4326008)(2906002)(31686004)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?sLhywzMi2HF15zEcSjpcU18fi8zLKmUdCqZnKmWElYb0PrZmkFlG1vyHvFqr?=
 =?us-ascii?Q?6+dvl7P8A4gII2xNqNhxixHma/hFALaWjhQJu2J560UPuihAeYu+ysGYGRsW?=
 =?us-ascii?Q?/EcvsPjSPo0bzk1hlcsJ1bVFJRluEQAzYFqX8EPahbZ/Er2OkP0rfW7Ch1cL?=
 =?us-ascii?Q?+FvEEDz5l7GGq+H1ULICwpnwALK0G3P7UiSnTeCNRqxEkJRa+Aasy6TaMzFz?=
 =?us-ascii?Q?LLfZWSmCnGCuQVliHmBW428g/RxyBRpaGib65vrgjG0gSC+UX2N+emP+EBl0?=
 =?us-ascii?Q?A3Wb1m0v4abbvrKFXyfPIFgfUFqP+GRG9wPuZrO9sBMCvoa/eVlzfDkqcgiw?=
 =?us-ascii?Q?YqrCeu/VNmYa+qKq6FL8EIFuYCwVqTmXvRR+PsyrpdJbikRfas98FN9tqua2?=
 =?us-ascii?Q?jQDalejehmIDRwE2xLwCwLgpmo+nSJMwjZufFtuio1fRaO5qg/gjwK/jexMp?=
 =?us-ascii?Q?kT97Lrth/aeVacNkM/p+NQ9o4BwdcrWwenprZ/PnAQdgkMsU13BZlKMrFSVs?=
 =?us-ascii?Q?aSaumAnIbE3faAnYAbdFa7SKMD1R6wNJ9NOmd0sNxgywgRo95uxtNlo6MAbv?=
 =?us-ascii?Q?Qr7JN9MXKc4to5ixFXDUQX4ZkSGU9fWHLmZBAf7igzWFPbO7SQfKCYWwVBEs?=
 =?us-ascii?Q?lKK0U6PzTwwZcfdbFo/89Yq5WEZpEfzJW1XGeiw656uvzkacOtjJKZCJlwVS?=
 =?us-ascii?Q?nrTb+IN1xu8ZGfQc54UiISrHw5No1ETmZyIZKyuBHgi5SHmC3rrG+LeX8ie3?=
 =?us-ascii?Q?17lVKE/pFS8+/ZmeYmP/3iynGe7PRUN1DlmqRV8+8Jh08zjMxH7u4s2nAaaQ?=
 =?us-ascii?Q?r+x+0js3SGhauvGxYs/ViO8b6xuuOdhsWzAWs9Z/GJGMVDjQcqG2ZuGN8dRc?=
 =?us-ascii?Q?C3qGjd08kHS3s+7jHJ2Z/Uh6oG4Cs5owWnMXhtLTNui37pEvclpw4sm2Jo0u?=
 =?us-ascii?Q?92LBznnJg4EJRY7xOUEMR3PACZHqB6Iv5TfThcVJmp8LBUdFnjIrSG+njoyn?=
 =?us-ascii?Q?JkaPu9HcAO/r1wV6j0nEa7w6o2AzEE13kMWR1keVgXzaitqdMQ843iYbuveZ?=
 =?us-ascii?Q?Q4x8GHnaw3kHg/Z4Btsob1r/gl5rbdejWINCuJjOM6sXRzhVcFkPWnZw9XdI?=
 =?us-ascii?Q?koguQsEpgWejJ0n86FyA8DKAwMTgUa8P7YZ2qfHIW85tpyte7fwbEEj1Iw08?=
 =?us-ascii?Q?RQ0StO2IBwB0o2op7pidza4R+zRHyo/EisKApUuEbydVCreTyixDTVc4HtLI?=
 =?us-ascii?Q?v31Of5z08BYA5PJSuniJnN4TcmbA3rA7wYsU19ODdRFFlsZfcEKOyNcLfUct?=
 =?us-ascii?Q?LEqYMHzNMsaAL8YErpYH1X18?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: acb058ff-3e94-4538-de60-08d96923e0ca
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2021 06:28:26.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: yH8rTfI2C41ACwwGhZBUqHe+/jbtLwQUIvcfMTqXbPTCb6bOKJp05fRk39a7bZx7h/VrMHCIaVGdf9vD6I3wcA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6383

On 27.08.2021 01:42, Andrew Cooper wrote:
> On 26/08/2021 22:00, Julien Grall wrote:
>> Hi Andrew,
>>
>> While doing more testing today, I noticed that only one vCPU would be
>> brought up with HVM guest with Xen 4.16 on my setup (QEMU):
>>
>> [=C2=A0=C2=A0=C2=A0 1.122180]
>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D
>> [=C2=A0=C2=A0=C2=A0 1.122180] UBSAN: shift-out-of-bounds in
>> oss/linux/arch/x86/kernel/apic/apic.c:2362:13
>> [=C2=A0=C2=A0=C2=A0 1.122180] shift exponent -1 is negative
>> [=C2=A0=C2=A0=C2=A0 1.122180] CPU: 0 PID: 1 Comm: swapper/0 Not tainted =
5.14.0-rc7+ #304
>> [=C2=A0=C2=A0=C2=A0 1.122180] Hardware name: Xen HVM domU, BIOS 4.16-uns=
table 06/07/2021
>> [=C2=A0=C2=A0=C2=A0 1.122180] Call Trace:
>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 dump_stack_lvl+0x56/0x6c
>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 ubsan_epilogue+0x5/0x50
>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 __ubsan_handle_shift_out_of_bounds+0=
xfa/0x140
>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 ? cgroup_kill_write+0x4d/0x150
>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 ? cpu_up+0x6e/0x100
>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 ? _raw_spin_unlock_irqrestore+0x30/0=
x50
>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 ? rcu_read_lock_held_common+0xe/0x40
>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 ? irq_shutdown_and_deactivate+0x11/0=
x30
>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 ? lock_release+0xc7/0x2a0
>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 ? apic_id_is_primary_thread+0x56/0x6=
0
>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 apic_id_is_primary_thread+0x56/0x60
>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 cpu_up+0xbd/0x100
>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 bringup_nonboot_cpus+0x4f/0x60
>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 smp_init+0x26/0x74
>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 kernel_init_freeable+0x183/0x32d
>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 ? _raw_spin_unlock_irq+0x24/0x40
>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 ? rest_init+0x330/0x330
>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 kernel_init+0x17/0x140
>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 ? rest_init+0x330/0x330
>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 ret_from_fork+0x22/0x30
>> [=C2=A0=C2=A0=C2=A0 1.122244]
>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D
>> [=C2=A0=C2=A0=C2=A0 1.123176] installing Xen timer for CPU 1
>> [=C2=A0=C2=A0=C2=A0 1.123369] x86: Booting SMP configuration:
>> [=C2=A0=C2=A0=C2=A0 1.123409] .... node=C2=A0 #0, CPUs:=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 #1
>> [=C2=A0=C2=A0=C2=A0 1.154400] Callback from call_rcu_tasks_trace() invok=
ed.
>> [=C2=A0=C2=A0=C2=A0 1.154491] smp: Brought up 1 node, 1 CPU
>> [=C2=A0=C2=A0=C2=A0 1.154526] smpboot: Max logical packages: 2
>> [=C2=A0=C2=A0=C2=A0 1.154570] smpboot: Total of 1 processors activated (=
5999.99
>> BogoMIPS)
>>
>> I have tried a PV guest (same setup) and the kernel could bring up all
>> the vCPUs.
>>
>> Digging down, Linux will set smp_num_siblings to 0 (via
>> detect_ht_early()) and as a result will skip all the CPUs. The value
>> is retrieve from a CPUID leaf. So it sounds like we don't set the
>> leaft correctly.
>>
>> FWIW, I have also tried on Xen 4.11 and could spot the same issue.
>> Does this ring any bell to you?
>=20
> The CPUID data we give to guests is generally nonsense when it comes to
> topology.=C2=A0 By any chance does the hardware you're booting this on no=
t
> have hyperthreading enabled/active to begin with?

Well, I'd put the question slightly differently: What CPUID data does
qemu supply to Xen here? I could easily see us making an assumption
somewhere that is met by all hardware but is theoretically wrong to
make and not met by qemu, which then leads to further issues with what
we expose to our guest.

Jan



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 06:32:29 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 06:32:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173400.316393 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJVPg-0000fM-Dj; Fri, 27 Aug 2021 06:32:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173400.316393; Fri, 27 Aug 2021 06:32: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 1mJVPg-0000fF-Ak; Fri, 27 Aug 2021 06:32:28 +0000
Received: by outflank-mailman (input) for mailman id 173400;
 Fri, 27 Aug 2021 06:32:27 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qCIF=NS=gmail.com=like.xu.linux@srs-us1.protection.inumbo.net>)
 id 1mJVPf-0000f9-BI
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 06:32:27 +0000
Received: from mail-pj1-x1034.google.com (unknown [2607:f8b0:4864:20::1034])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 9dbd2f77-a3dc-4fa5-9a3d-4ee5c3fe93c6;
 Fri, 27 Aug 2021 06:32:26 +0000 (UTC)
Received: by mail-pj1-x1034.google.com with SMTP id oa17so3870921pjb.1
 for <xen-devel@lists.xenproject.org>; Thu, 26 Aug 2021 23:32:26 -0700 (PDT)
Received: from Likes-MacBook-Pro.local ([103.7.29.32])
 by smtp.gmail.com with ESMTPSA id x129sm5028060pfx.198.2021.08.26.23.31.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 26 Aug 2021 23:32: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: 9dbd2f77-a3dc-4fa5-9a3d-4ee5c3fe93c6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:organization:message-id:date
         :user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=+MbKGaZqb1nOlQOBA1siiT5EUcvqHWSajiiHHKKfKbM=;
        b=UCuSZ0Q9wIR4xSNpyjAgRxY1Nw7/pMXtxDabEn39wJcQpCEf+TnzpWlztpx4nWypLi
         D6rRvjM5Lxnz/9tyZpbsmaX2oHh+LLRsEINwyv3XGoZvksbSPB/8esRKZeytH3ax9bkb
         X+1wNKLiTNQD3ADjW3jZhdSBB4MYvAXIeWrgrz7UrkLkH/HFfzVtf53L7BxrZW5bQoSO
         wfeFnbfW1UIDUODmQFIw86wdUYuskPcaDiHLMkaieuwG27suu2BuWQZh+ZIGrtymAywj
         n7ZS74YCOw9cmKT2DeyGugQrWCmDyLEmgLiIs5SPvdWPsmGLASwSSGi+6MVVscr4Ur3e
         xQnA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:organization
         :message-id:date:user-agent:mime-version:in-reply-to
         :content-language:content-transfer-encoding;
        bh=+MbKGaZqb1nOlQOBA1siiT5EUcvqHWSajiiHHKKfKbM=;
        b=o7JBkYEhfmqq7rzyV8E/y/Iiy2sDD2o1oXiq+hA6cUpoxZ2+neDF0eeSORx2xJHqZj
         njilcwmxjiOcdvVf3FCtbzQabCgj9fdqhfTRvn8hdtUl/0tREIt31m0/eh9wrs49ZSc/
         u+XSYwnOez3rxWtJZHUQYxhBWKLYypIF/kYTpw1x8ktuREohoR2dwzaHxg+7o0KQ3dex
         ByoGodVFJd1jESkSWvsiBV5LqA6c5PQrG5dNN8O2Vm+pTMHGDuaKALglwYet3aqteHrK
         5CnDvVoUa+Ci+eQp6bynQCn3FKhDRRk/TCmScN8JTF2x7kxQBc+cJT6Wg2bEsgu77/gT
         eBGA==
X-Gm-Message-State: AOAM531qRXlArh6uTkH7QWSHQg8OS3Grf6158zUJl7skP2H7i3PUcJ0g
	LXEHwoGtbzbMS3sFC5Ifx5liNAFwtptc7Fuk
X-Google-Smtp-Source: ABdhPJzBd0RL1wY8mA4iTvQlCUrZMja16ozwHu+LXgwex8LJgpDuF+4RrNii8YA8VwAqTX/IbcWEVw==
X-Received: by 2002:a17:90a:4a0c:: with SMTP id e12mr8948175pjh.218.1630045945369;
        Thu, 26 Aug 2021 23:32:25 -0700 (PDT)
Subject: Re: [PATCH V10 01/18] perf/core: Use static_call to optimize
 perf_guest_info_callbacks
To: Sean Christopherson <seanjc@google.com>,
 Zhu Lingshan <lingshan.zhu@intel.com>
Cc: peterz@infradead.org, pbonzini@redhat.com, bp@alien8.de,
 vkuznets@redhat.com, wanpengli@tencent.com, jmattson@google.com,
 joro@8bytes.org, kan.liang@linux.intel.com, ak@linux.intel.com,
 wei.w.wang@intel.com, eranian@google.com, liuxiangdong5@huawei.com,
 linux-kernel@vger.kernel.org, x86@kernel.org, kvm@vger.kernel.org,
 boris.ostrvsky@oracle.com, Like Xu <like.xu@linux.intel.com>,
 Will Deacon <will@kernel.org>, Marc Zyngier <maz@kernel.org>,
 Guo Ren <guoren@kernel.org>, Nick Hu <nickhu@andestech.com>,
 Paul Walmsley <paul.walmsley@sifive.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu,
 linux-csky@vger.kernel.org, linux-riscv@lists.infradead.org,
 xen-devel@lists.xenproject.org
References: <20210806133802.3528-1-lingshan.zhu@intel.com>
 <20210806133802.3528-2-lingshan.zhu@intel.com> <YSfykbECnC6J02Yk@google.com>
From: Like Xu <like.xu.linux@gmail.com>
Organization: Tencent
Message-ID: <2f3d9676-3f49-3963-20d5-7aaf81ce996e@gmail.com>
Date: Fri, 27 Aug 2021 14:31:43 +0800
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <YSfykbECnC6J02Yk@google.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit

On 27/8/2021 3:59 am, Sean Christopherson wrote:
> TL;DR: Please don't merge this patch, it's broken and is also built on a shoddy
>         foundation that I would like to fix.

Obviously, this patch is not closely related to the guest PEBS feature enabling,
and we can certainly put this issue in another discussion thread [1].

[1] https://lore.kernel.org/kvm/20210827005718.585190-1-seanjc@google.com/

> 
> On Fri, Aug 06, 2021, Zhu Lingshan wrote:
>> diff --git a/kernel/events/core.c b/kernel/events/core.c
>> index 464917096e73..e466fc8176e1 100644
>> --- a/kernel/events/core.c
>> +++ b/kernel/events/core.c
>> @@ -6489,9 +6489,18 @@ static void perf_pending_event(struct irq_work *entry)
>>    */
>>   struct perf_guest_info_callbacks *perf_guest_cbs;
>>   
>> +/* explicitly use __weak to fix duplicate symbol error */
>> +void __weak arch_perf_update_guest_cbs(void)
>> +{
>> +}
>> +
>>   int perf_register_guest_info_callbacks(struct perf_guest_info_callbacks *cbs)
>>   {
>> +	if (WARN_ON_ONCE(perf_guest_cbs))
>> +		return -EBUSY;
>> +
>>   	perf_guest_cbs = cbs;
>> +	arch_perf_update_guest_cbs();
> 
> This is horribly broken, it fails to cleanup the static calls when KVM unregisters
> the callbacks, which happens when the vendor module, e.g. kvm_intel, is unloaded.
> The explosion doesn't happen until 'kvm' is unloaded because the functions are
> implemented in 'kvm', i.e. the use-after-free is deferred a bit.
> 
>    BUG: unable to handle page fault for address: ffffffffa011bb90
>    #PF: supervisor instruction fetch in kernel mode
>    #PF: error_code(0x0010) - not-present page
>    PGD 6211067 P4D 6211067 PUD 6212063 PMD 102b99067 PTE 0
>    Oops: 0010 [#1] PREEMPT SMP
>    CPU: 0 PID: 1047 Comm: rmmod Not tainted 5.14.0-rc2+ #460
>    Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015
>    RIP: 0010:0xffffffffa011bb90
>    Code: Unable to access opcode bytes at RIP 0xffffffffa011bb66.
>    Call Trace:
>     <NMI>
>     ? perf_misc_flags+0xe/0x50
>     ? perf_prepare_sample+0x53/0x6b0
>     ? perf_event_output_forward+0x67/0x160
>     ? kvm_clock_read+0x14/0x30
>     ? kvm_sched_clock_read+0x5/0x10
>     ? sched_clock_cpu+0xd/0xd0
>     ? __perf_event_overflow+0x52/0xf0
>     ? handle_pmi_common+0x1f2/0x2d0
>     ? __flush_tlb_all+0x30/0x30
>     ? intel_pmu_handle_irq+0xcf/0x410
>     ? nmi_handle+0x5/0x260
>     ? perf_event_nmi_handler+0x28/0x50
>     ? nmi_handle+0xc7/0x260
>     ? lock_release+0x2b0/0x2b0
>     ? default_do_nmi+0x6b/0x170
>     ? exc_nmi+0x103/0x130
>     ? end_repeat_nmi+0x16/0x1f
>     ? lock_release+0x2b0/0x2b0
>     ? lock_release+0x2b0/0x2b0
>     ? lock_release+0x2b0/0x2b0
>     </NMI>
>    Modules linked in: irqbypass [last unloaded: kvm]
> 
> Even more fun, the existing perf_guest_cbs framework is also broken, though it's
> much harder to get it to fail, and probably impossible to get it to fail without
> some help.  The issue is that perf_guest_cbs is global, which means that it can
> be nullified by KVM (during module unload) while the callbacks are being accessed
> by a PMI handler on a different CPU.
> 
> The bug has escaped notice because all dererfences of perf_guest_cbs follow the
> same "perf_guest_cbs && perf_guest_cbs->is_in_guest()" pattern, and AFAICT the
> compiler never reload perf_guest_cbs in this sequence.  The compiler does reload
> perf_guest_cbs for any future dereferences, but the ->is_in_guest() guard all but
> guarantees the PMI handler will win the race, e.g. to nullify perf_guest_cbs,
> KVM has to completely exit the guest and teardown down all VMs before it can be
> unloaded.
> 
> But with a help, e.g. RAED_ONCE(perf_guest_cbs), unloading kvm_intel can trigger
> a NULL pointer derference, e.g. this tweak
> 
> diff --git a/arch/x86/events/core.c b/arch/x86/events/core.c
> index 1eb45139fcc6..202e5ad97f82 100644
> --- a/arch/x86/events/core.c
> +++ b/arch/x86/events/core.c
> @@ -2954,7 +2954,7 @@ unsigned long perf_misc_flags(struct pt_regs *regs)
>   {
>          int misc = 0;
> 
> -       if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
> +       if (READ_ONCE(perf_guest_cbs) && READ_ONCE(perf_guest_cbs)->is_in_guest()) {
>                  if (perf_guest_cbs->is_user_mode())
>                          misc |= PERF_RECORD_MISC_GUEST_USER;
>                  else
> 
> 
> while spamming module load/unload leads to:
> 
>    BUG: kernel NULL pointer dereference, address: 0000000000000000
>    #PF: supervisor read access in kernel mode
>    #PF: error_code(0x0000) - not-present page
>    PGD 0 P4D 0
>    Oops: 0000 [#1] PREEMPT SMP
>    CPU: 6 PID: 1825 Comm: stress Not tainted 5.14.0-rc2+ #459
>    Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015
>    RIP: 0010:perf_misc_flags+0x1c/0x70
>    Call Trace:
>     perf_prepare_sample+0x53/0x6b0
>     perf_event_output_forward+0x67/0x160
>     __perf_event_overflow+0x52/0xf0
>     handle_pmi_common+0x207/0x300
>     intel_pmu_handle_irq+0xcf/0x410
>     perf_event_nmi_handler+0x28/0x50
>     nmi_handle+0xc7/0x260
>     default_do_nmi+0x6b/0x170
>     exc_nmi+0x103/0x130
>     asm_exc_nmi+0x76/0xbf
> 
> 
> The good news is that I have a series that should fix both the existing NULL pointer
> bug and mostly obviate the need for static calls.  The bad news is that my approach,
> making perf_guest_cbs per-CPU, likely complicates turning these into static calls,
> though I'm guessing it's still a solvable problem.
> 
> Tangentially related, IMO we should make architectures opt-in to getting
> perf_guest_cbs and nuke all of the code in the below files.  Except for arm,
> which recently lost KVM support, it's all a bunch of useless copy-paste code that
> serves no purpose and just complicates cleanups like this.
> 
>>   arch/arm/kernel/perf_callchain.c   | 16 +++++++-----
>>   arch/csky/kernel/perf_callchain.c  |  4 +--
>>   arch/nds32/kernel/perf_event_cpu.c | 16 +++++++-----
>>   arch/riscv/kernel/perf_callchain.c |  4 +--


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 06:52:58 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 06:52:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173405.316404 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJVjP-0003NL-4U; Fri, 27 Aug 2021 06:52:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173405.316404; Fri, 27 Aug 2021 06:52:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJVjP-0003NE-1D; Fri, 27 Aug 2021 06:52:51 +0000
Received: by outflank-mailman (input) for mailman id 173405;
 Fri, 27 Aug 2021 06: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 1mJVjN-0003N4-H1; Fri, 27 Aug 2021 06: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 1mJVjN-00074N-6f; Fri, 27 Aug 2021 06: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 1mJVjM-0006nT-SV; Fri, 27 Aug 2021 06:52:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mJVjM-0002lT-Rx; Fri, 27 Aug 2021 06:52: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=o8qoLbiAybI7X4Aj437hXVc28TNjEo34HV/wMY0kDY4=; b=7B737k+S5Sl2HehyAh/we4wHIu
	oFsjhzOomlnrLjjDnJcTx2LmE7ztwiqYgf/DEN9m/fqhbpzI94toEWXD/l0fSMCt/LSZj0xJ2s5Ot
	IXbuVat3ckNsl2p9kUTaAJrBEDA07XQfETcy7PTN94N8auE5O4coN6Fi/b17/pQK3OJQ=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164495-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.15-testing test] 164495: regressions - FAIL
X-Osstest-Failures:
    xen-4.15-testing:test-amd64-amd64-dom0pvh-xl-amd:xen-boot:fail:regression
    xen-4.15-testing:test-amd64-amd64-dom0pvh-xl-intel:xen-boot:fail:regression
    xen-4.15-testing:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:debian-hvm-install: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-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm: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-thunderx:saverestore-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-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-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-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=91bb9e9b0c0e2af926ab08958f3d65f07a105cb6
X-Osstest-Versions-That:
    xen=dba774896f7dd74773c14d537643b7d7477fefcd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 27 Aug 2021 06:52:48 +0000

flight 164495 xen-4.15-testing real [real]
flight 164509 xen-4.15-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/164495/
http://logs.test-lab.xenproject.org/osstest/logs/164509/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-dom0pvh-xl-amd  8 xen-boot              fail REGR. vs. 163759
 test-amd64-amd64-dom0pvh-xl-intel  8 xen-boot            fail REGR. vs. 163759

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 164509-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 163759
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 163759
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 163759
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 163759
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 163759
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 163759
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 163759
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 163759
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 163759
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 163759
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 163759
 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-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-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-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-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  91bb9e9b0c0e2af926ab08958f3d65f07a105cb6
baseline version:
 xen                  dba774896f7dd74773c14d537643b7d7477fefcd

Last test of basis   163759  2021-07-17 04:12:25 Z   41 days
Failing since        164262  2021-08-19 17:07:29 Z    7 days    5 attempts
Testing same since   164495  2021-08-25 23:22:14 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Dario Faggioli <dfaggioli@suse.com>
  Ian Jackson <iwj@xenproject.org>
  Jan Beulich <jbeulich@suse.com>
  Jane Malalane <jane.malalane@citrix.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Stefano Stabellini <sstabellini@kernel.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  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                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 983 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 06:53:06 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 06:53:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173408.316421 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJVje-0003kw-KZ; Fri, 27 Aug 2021 06:53:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173408.316421; Fri, 27 Aug 2021 06:53: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 1mJVje-0003kn-HT; Fri, 27 Aug 2021 06:53:06 +0000
Received: by outflank-mailman (input) for mailman id 173408;
 Fri, 27 Aug 2021 06:53:05 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qCIF=NS=gmail.com=like.xu.linux@srs-us1.protection.inumbo.net>)
 id 1mJVjd-0003kG-Om
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 06:53:05 +0000
Received: from mail-pg1-x530.google.com (unknown [2607:f8b0:4864:20::530])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id f39799d7-7143-4f5d-a846-15615f59ec5a;
 Fri, 27 Aug 2021 06:53:04 +0000 (UTC)
Received: by mail-pg1-x530.google.com with SMTP id x4so5248684pgh.1
 for <xen-devel@lists.xenproject.org>; Thu, 26 Aug 2021 23:53:04 -0700 (PDT)
Received: from Likes-MacBook-Pro.local ([103.7.29.32])
 by smtp.gmail.com with ESMTPSA id t42sm4859131pfg.30.2021.08.26.23.52.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 26 Aug 2021 23:53: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: f39799d7-7143-4f5d-a846-15615f59ec5a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=to:cc:references:from:organization:subject:message-id:date
         :user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=ZbPR4yx/IOajSeOQV0WqfM0PbBdXTweT1rKYfi28feY=;
        b=payY2kqnM27b9m01D/1+bYK3zs1eXQlgI4vTVEDItXKdcEjenbudsQUK12OYHhZIDJ
         JOxvUmjXzUwKZpNU30p0IGGgmqvvdzbBsUOvU6kO6AytKPjJv1t5M9UKqUnNynMo3O1t
         897hTF8t6qJ401enQ56rSSevNHfVbvTWJ2uDO8+oBxCl+aL8EvHPdnXfXPhKa2JAH0Rb
         GaP8DF5aX4LiaeW5F4pLVTPqSSEmBhqL2SFViKXjLv/WCXH2zl9+/EBUAncYatI1OJYW
         ut5gRVObXIQd3ImgY4BCEWE/FMTk8GjNsLYaORrSs8vtqDHmAJVY+p5cShEKs9U0gvIh
         z52A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:to:cc:references:from:organization:subject
         :message-id:date:user-agent:mime-version:in-reply-to
         :content-language:content-transfer-encoding;
        bh=ZbPR4yx/IOajSeOQV0WqfM0PbBdXTweT1rKYfi28feY=;
        b=rd7w4fcSl6MczTCPn85VrHgTJ0T7Fx7OeFm1lks2vK7YrUK/2MPLQHynQ+lHpZJn8A
         dKBeMkDtFQU3rrFXQF2NNkB7zX30i1uyRkOb9AHFMtWT/OchiPixxtaA3Wcm5c8jeyXm
         CaxtFb0M0Pbpcye+DrZp9EhEKRsgSb6bf8rjXDU0xZyf7f0RpT35B02FvtvNs7Uj+Ava
         wP8UBouCOAQzT2k5fHbLDpe4C1ee5fvFHUqcU14UOQi9HNRjd/3Dmr7DfvLFIrBIlsI9
         0VjegOa0yE1bQS30xiMhO3QOsOm7ADtNPr33AtYtWL1vIRsgcIJdMG0DR4/m+RkY6Ya4
         MlVw==
X-Gm-Message-State: AOAM530a7+yWqRUPNjHR5jMPYbbSIYtnmC7eoikX8jyWQKocpW0NwTan
	f758jQbeSUkiTmdo+HGGp3A=
X-Google-Smtp-Source: ABdhPJyIg5x8cr9cVb6zAj5cRL9RFwMN1nC8hYox93WeTM79htakFUO0AJVU1P54gIrOby01KizKhw==
X-Received: by 2002:a63:b1a:: with SMTP id 26mr6567924pgl.12.1630047183274;
        Thu, 26 Aug 2021 23:53:03 -0700 (PDT)
To: Sean Christopherson <seanjc@google.com>,
 Peter Zijlstra <peterz@infradead.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>,
 Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
 James Morse <james.morse@arm.com>,
 Alexandru Elisei <alexandru.elisei@arm.com>,
 Suzuki K Poulose <suzuki.poulose@arm.com>, "H. Peter Anvin" <hpa@zytor.com>,
 Vitaly Kuznetsov <vkuznets@redhat.com>, Wanpeng Li <wanpengli@tencent.com>,
 Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org,
 linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu,
 linux-csky@vger.kernel.org, linux-riscv@lists.infradead.org,
 kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
 Artem Kashkanov <artem.kashkanov@intel.com>,
 Zhu Lingshan <lingshan.zhu@intel.com>, Will Deacon <will@kernel.org>,
 Mark Rutland <mark.rutland@arm.com>, Peter Zijlstra <peterz@infradead.org>,
 Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>,
 Catalin Marinas <catalin.marinas@arm.com>, Marc Zyngier <maz@kernel.org>,
 Guo Ren <guoren@kernel.org>, Nick Hu <nickhu@andestech.com>,
 Greentime Hu <green.hu@gmail.com>, Vincent Chen <deanbo422@gmail.com>,
 Paul Walmsley <paul.walmsley@sifive.com>, Palmer Dabbelt
 <palmer@dabbelt.com>, Albert Ou <aou@eecs.berkeley.edu>,
 Thomas Gleixner <tglx@linutronix.de>, Borislav Petkov <bp@alien8.de>,
 x86@kernel.org, Paolo Bonzini <pbonzini@redhat.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Juergen Gross
 <jgross@suse.com>, Josh Poimboeuf <jpoimboe@redhat.com>,
 Jason Baron <jbaron@akamai.com>, Steven Rostedt <rostedt@goodmis.org>,
 Ard Biesheuvel <ardb@kernel.org>
References: <20210827005718.585190-1-seanjc@google.com>
From: Like Xu <like.xu.linux@gmail.com>
Organization: Tencent
Subject: Re: [PATCH 00/15] perf: KVM: Fix, optimize, and clean up callbacks
Message-ID: <fd3dcd6c-b3d5-4453-93fb-b46d0595534e@gmail.com>
Date: Fri, 27 Aug 2021 14:52:25 +0800
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210827005718.585190-1-seanjc@google.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 8bit

+ STATIC BRANCH/CALL friends.

On 27/8/2021 8:57 am, Sean Christopherson wrote:
> This started out as a small series[1] to fix a KVM bug related to Intel PT
> interrupt handling and snowballed horribly.
> 
> The main problem being addressed is that the perf_guest_cbs are shared by
> all CPUs, can be nullified by KVM during module unload, and are not
> protected against concurrent access from NMI context.

Shouldn't this be a generic issue of the static_call() usage ?

At the beginning, we set up the static entry assuming perf_guest_cbs != NULL:

	if (perf_guest_cbs && perf_guest_cbs->handle_intel_pt_intr) {
		static_call_update(x86_guest_handle_intel_pt_intr,
				   perf_guest_cbs->handle_intel_pt_intr);
	}

and then we unset the perf_guest_cbs and do the static function call like this:

DECLARE_STATIC_CALL(x86_guest_handle_intel_pt_intr, 
*(perf_guest_cbs->handle_intel_pt_intr));
static int handle_pmi_common(struct pt_regs *regs, u64 status)
{
		...
		if (!static_call(x86_guest_handle_intel_pt_intr)())
			intel_pt_interrupt();
		...
}

Can we make static_call() back to the original "(void *)&__static_call_return0" 
in this case ?

> 
> The bug has escaped notice because all dereferences of perf_guest_cbs
> follow the same "perf_guest_cbs && perf_guest_cbs->is_in_guest()" pattern,
> and AFAICT the compiler never reloads perf_guest_cbs in this sequence.
> The compiler does reload perf_guest_cbs for any future dereferences, but
> the ->is_in_guest() guard all but guarantees the PMI handler will win the
> race, e.g. to nullify perf_guest_cbs, KVM has to completely exit the guest
> and teardown down all VMs before it can be unloaded.
> 
> But with help, e.g. READ_ONCE(perf_guest_cbs), unloading kvm_intel can
> trigger a NULL pointer derference (see below).  Manual intervention aside,
> the bug is a bit of a time bomb, e.g. my patch 3 from the original PT
> handling series would have omitted the ->is_in_guest() guard.
> 
> This series fixes the problem by making the callbacks per-CPU, and
> registering/unregistering the callbacks only with preemption disabled
> (except for the Xen case, which doesn't unregister).
> 
> This approach also allows for several nice cleanups in this series.
> KVM x86 and arm64 can share callbacks, KVM x86 drops its somewhat
> redundant current_vcpu, and the retpoline that is currently hit when KVM
> is loaded (due to always checking ->is_in_guest()) goes away (it's still
> there when running as Xen Dom0).
> 
> Changing to per-CPU callbacks also provides a good excuse to excise
> copy+paste code from architectures that can't possibly have guest
> callbacks.
> 
> This series conflicts horribly with a proposed patch[2] to use static
> calls for perf_guest_cbs.  But that patch is broken as it completely
> fails to handle unregister, and it's not clear to me whether or not
> it can correctly handle unregister without fixing the underlying race
> (I don't know enough about the code patching for static calls).
> 
> This tweak
> 
> diff --git a/arch/x86/events/core.c b/arch/x86/events/core.c
> index 1eb45139fcc6..202e5ad97f82 100644
> --- a/arch/x86/events/core.c
> +++ b/arch/x86/events/core.c
> @@ -2954,7 +2954,7 @@ unsigned long perf_misc_flags(struct pt_regs *regs)
>   {
>          int misc = 0;
> 
> -       if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
> +       if (READ_ONCE(perf_guest_cbs) && READ_ONCE(perf_guest_cbs)->is_in_guest()) {
>                  if (perf_guest_cbs->is_user_mode())
>                          misc |= PERF_RECORD_MISC_GUEST_USER;
>                  else
> 
> while spamming module load/unload leads to:
> 
>    BUG: kernel NULL pointer dereference, address: 0000000000000000
>    #PF: supervisor read access in kernel mode
>    #PF: error_code(0x0000) - not-present page
>    PGD 0 P4D 0
>    Oops: 0000 [#1] PREEMPT SMP
>    CPU: 6 PID: 1825 Comm: stress Not tainted 5.14.0-rc2+ #459
>    Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015
>    RIP: 0010:perf_misc_flags+0x1c/0x70
>    Call Trace:
>     perf_prepare_sample+0x53/0x6b0
>     perf_event_output_forward+0x67/0x160
>     __perf_event_overflow+0x52/0xf0
>     handle_pmi_common+0x207/0x300
>     intel_pmu_handle_irq+0xcf/0x410
>     perf_event_nmi_handler+0x28/0x50
>     nmi_handle+0xc7/0x260
>     default_do_nmi+0x6b/0x170
>     exc_nmi+0x103/0x130
>     asm_exc_nmi+0x76/0xbf
> 
> [1] https://lkml.kernel.org/r/20210823193709.55886-1-seanjc@google.com
> [2] https://lkml.kernel.org/r/20210806133802.3528-2-lingshan.zhu@intel.com
> 
> Sean Christopherson (15):
>    KVM: x86: Register perf callbacks after calling vendor's
>      hardware_setup()
>    KVM: x86: Register Processor Trace interrupt hook iff PT enabled in
>      guest
>    perf: Stop pretending that perf can handle multiple guest callbacks
>    perf: Force architectures to opt-in to guest callbacks
>    perf: Track guest callbacks on a per-CPU basis
>    KVM: x86: Register perf callbacks only when actively handling
>      interrupt
>    KVM: Use dedicated flag to track if KVM is handling an NMI from guest
>    KVM: x86: Drop current_vcpu in favor of kvm_running_vcpu
>    KVM: arm64: Register/unregister perf callbacks at vcpu load/put
>    KVM: Move x86's perf guest info callbacks to generic KVM
>    KVM: x86: Move Intel Processor Trace interrupt handler to vmx.c
>    KVM: arm64: Convert to the generic perf callbacks
>    KVM: arm64: Drop perf.c and fold its tiny bit of code into pmu.c
>    perf: Disallow bulk unregistering of guest callbacks and do cleanup
>    perf: KVM: Indicate "in guest" via NULL ->is_in_guest callback
> 
>   arch/arm/kernel/perf_callchain.c   | 28 ++------------
>   arch/arm64/Kconfig                 |  1 +
>   arch/arm64/include/asm/kvm_host.h  |  8 +++-
>   arch/arm64/kernel/perf_callchain.c | 18 ++++++---
>   arch/arm64/kvm/Makefile            |  2 +-
>   arch/arm64/kvm/arm.c               | 13 ++++++-
>   arch/arm64/kvm/perf.c              | 62 ------------------------------
>   arch/arm64/kvm/pmu.c               |  8 ++++
>   arch/csky/kernel/perf_callchain.c  | 10 -----
>   arch/nds32/kernel/perf_event_cpu.c | 29 ++------------
>   arch/riscv/kernel/perf_callchain.c | 10 -----
>   arch/x86/Kconfig                   |  1 +
>   arch/x86/events/core.c             | 17 +++++---
>   arch/x86/events/intel/core.c       |  7 ++--
>   arch/x86/include/asm/kvm_host.h    |  4 +-
>   arch/x86/kvm/pmu.c                 |  2 +-
>   arch/x86/kvm/pmu.h                 |  1 +
>   arch/x86/kvm/svm/svm.c             |  2 +-
>   arch/x86/kvm/vmx/vmx.c             | 25 ++++++++++--
>   arch/x86/kvm/x86.c                 | 54 +++-----------------------
>   arch/x86/kvm/x86.h                 | 12 +++---
>   arch/x86/xen/pmu.c                 |  2 +-
>   include/kvm/arm_pmu.h              |  1 +
>   include/linux/kvm_host.h           | 12 ++++++
>   include/linux/perf_event.h         | 33 ++++++++++++----
>   init/Kconfig                       |  3 ++
>   kernel/events/core.c               | 28 ++++++++------
>   virt/kvm/kvm_main.c                | 42 ++++++++++++++++++++
>   28 files changed, 204 insertions(+), 231 deletions(-)
>   delete mode 100644 arch/arm64/kvm/perf.c
> 


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 06:59:15 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 06:59:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173420.316432 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJVpX-0004jO-C3; Fri, 27 Aug 2021 06:59:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173420.316432; Fri, 27 Aug 2021 06:59:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJVpX-0004jH-8r; Fri, 27 Aug 2021 06:59:11 +0000
Received: by outflank-mailman (input) for mailman id 173420;
 Fri, 27 Aug 2021 06:59:10 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XGXj=NS=gmail.com=andy.shevchenko@srs-us1.protection.inumbo.net>)
 id 1mJVpW-0004jB-B6
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 06:59:10 +0000
Received: from mail-pl1-x630.google.com (unknown [2607:f8b0:4864:20::630])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 67b75533-d9b3-456b-bd26-4782028bb4b4;
 Fri, 27 Aug 2021 06:59:09 +0000 (UTC)
Received: by mail-pl1-x630.google.com with SMTP id j2so3372332pll.1
 for <xen-devel@lists.xenproject.org>; Thu, 26 Aug 2021 23:59: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: 67b75533-d9b3-456b-bd26-4782028bb4b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc:content-transfer-encoding;
        bh=Rqn+GrCddwb17438Eb7/acjTBeKWly1ebyK4GCadnFc=;
        b=Ahob/aCaoxGGmBX3uT/2Oo+coR/T1tys8xgPUYlJZHQ+79x1W7tMhNYHihEb3g00Pw
         m+dgL0BLb9DG6XuqQrGIlpqK11vUr+Y2ytYHZ7LdTBFa1tFBJE3STgSjF41FypNGQroh
         EB33JFOQSvpQcvOA/KVG6FqtXl7O0+BT+q4qQg5vtIojCX29E2kJoRY1MRvb3ovAgDbp
         aFXAm0ssP0g7n3TLr2XOHHUaLQbsPjFKeMCjJaff6OnyliY0dDUUm9ACwqxN5BizOny5
         6o6R1k1p3THp4VGKPD1gPgbF9N5SJmHFccehHvyHptaqGZoYeq1bOsTJYfzYeYbXFcTi
         n8+w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc:content-transfer-encoding;
        bh=Rqn+GrCddwb17438Eb7/acjTBeKWly1ebyK4GCadnFc=;
        b=hYQwIjIptUTJCothOTZnQSjlW3yZQN+sO4ErY9wkwBTrWFZkFwB819E1QsSIdUSIco
         b7oTM84TLzZ77jM0nJKhxEfPURkqVTY+MpzPV8GaDlMuOVo0qdRnvyIzAA8dP8ttHCHU
         +x8gqpZumGZD3nxbN7gBPZ2iP+uQt/QnOyE/uvpvd+E9bTTCUmYgnYuKer/1oYCPAgaJ
         zxyoWXvyjGYYrowfyPi5pZZPn6ueUloRdFm7mMtq8CBLBd+oh2FbhJAAtCT9nOaApTZd
         wYePulw9zONMJLAyO6SW1KKKnYdR1LLNoAu4Ay7fJPtgK1iRJdqMSVDkrityxwY86W+5
         CdnQ==
X-Gm-Message-State: AOAM533aeeXn0wY2EireELSG2Jk4WhbCBPhrRVoJWE5sTqNXZ+rnnd/u
	EYw92fHkpOk6lcyoBMBjkvPp5KMyzKqTYrvzUTw=
X-Google-Smtp-Source: ABdhPJzbMPfKsiNwRsmJ6wf35o+bM3Vsllxj/xaKs1Zg3gEKi2+LtrBilr6TwQqyx2Jk+YbMtx83ULLwDM5rxvcqh8o=
X-Received: by 2002:a17:902:bb81:b0:12d:a7ec:3d85 with SMTP id
 m1-20020a170902bb8100b0012da7ec3d85mr7349833pls.17.1630047548297; Thu, 26 Aug
 2021 23:59:08 -0700 (PDT)
MIME-Version: 1.0
References: <20210624155526.2775863-1-tientzu@chromium.org> <20210624155526.2775863-11-tientzu@chromium.org>
In-Reply-To: <20210624155526.2775863-11-tientzu@chromium.org>
From: Andy Shevchenko <andy.shevchenko@gmail.com>
Date: Fri, 27 Aug 2021 09:58:32 +0300
Message-ID: <CAHp75VfVhVGFEQGeUKajrUKmkx_et_KakDDgroC2BrMMhd62yg@mail.gmail.com>
Subject: Re: [PATCH v15 10/12] swiotlb: Add restricted DMA pool initialization
To: Claire Chang <tientzu@chromium.org>
Cc: Rob Herring <robh+dt@kernel.org>, Michael Ellerman <mpe@ellerman.id.au>, 
	Joerg Roedel <joro@8bytes.org>, Will Deacon <will@kernel.org>, Frank Rowand <frowand.list@gmail.com>, 
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Juergen Gross <jgross@suse.com>, Christoph Hellwig <hch@lst.de>, 
	Marek Szyprowski <m.szyprowski@samsung.com>, benh@kernel.crashing.org, paulus@samba.org, 
	"list@263.net:IOMMU DRIVERS" <iommu@lists.linux-foundation.org>, sstabellini@kernel.org, 
	Robin Murphy <robin.murphy@arm.com>, grant.likely@arm.com, xypron.glpk@gmx.de, 
	Thierry Reding <treding@nvidia.com>, mingo@kernel.org, bauerman@linux.ibm.com, 
	peterz@infradead.org, Greg KH <gregkh@linuxfoundation.org>, 
	Saravana Kannan <saravanak@google.com>, "Rafael J . Wysocki" <rafael.j.wysocki@intel.com>, 
	heikki.krogerus@linux.intel.com, 
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>, Randy Dunlap <rdunlap@infradead.org>, 
	Dan Williams <dan.j.williams@intel.com>, Bartosz Golaszewski <bgolaszewski@baylibre.com>, 
	linux-devicetree <devicetree@vger.kernel.org>, lkml <linux-kernel@vger.kernel.org>, 
	linuxppc-dev@lists.ozlabs.org, xen-devel@lists.xenproject.org, 
	Nicolas Boichat <drinkcat@chromium.org>, Jim Quinlan <james.quinlan@broadcom.com>, tfiga@chromium.org, 
	bskeggs@redhat.com, bhelgaas@google.com, chris@chris-wilson.co.uk, 
	daniel@ffwll.ch, airlied@linux.ie, dri-devel@lists.freedesktop.org, 
	intel-gfx@lists.freedesktop.org, jani.nikula@linux.intel.com, 
	jxgao@google.com, joonas.lahtinen@linux.intel.com, linux-pci@vger.kernel.org, 
	maarten.lankhorst@linux.intel.com, matthew.auld@intel.com, 
	rodrigo.vivi@intel.com, thomas.hellstrom@linux.intel.com, 
	thomas.lendacky@amd.com, quic_qiancai@quicinc.com
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Jun 24, 2021 at 6:59 PM Claire Chang <tientzu@chromium.org> wrote:
>
> Add the initialization function to create restricted DMA pools from
> matching reserved-memory nodes.
>
> Regardless of swiotlb setting, the restricted DMA pool is preferred if
> available.
>
> The restricted DMA pools provide a basic level of protection against the
> DMA overwriting buffer contents at unexpected times. However, to protect
> against general data leakage and system memory corruption, the system
> needs to provide a way to lock down the memory access, e.g., MPU.





> +static int rmem_swiotlb_device_init(struct reserved_mem *rmem,
> +                                   struct device *dev)
> +{
> +       struct io_tlb_mem *mem =3D rmem->priv;
> +       unsigned long nslabs =3D rmem->size >> IO_TLB_SHIFT;
> +
> +       /*
> +        * Since multiple devices can share the same pool, the private da=
ta,
> +        * io_tlb_mem struct, will be initialized by the first device att=
ached
> +        * to it.
> +        */

> +       if (!mem) {

Can it be rather

if (mem)
  goto out_assign;

or so?

> +               mem =3D kzalloc(struct_size(mem, slots, nslabs), GFP_KERN=
EL);
> +               if (!mem)
> +                       return -ENOMEM;
> +
> +               set_memory_decrypted((unsigned long)phys_to_virt(rmem->ba=
se),
> +                                    rmem->size >> PAGE_SHIFT);

Below you are using a macro from pfn.h, but not here, I think it's PFN_DOWN=
().

> +               swiotlb_init_io_tlb_mem(mem, rmem->base, nslabs, false);
> +               mem->force_bounce =3D true;
> +               mem->for_alloc =3D true;
> +
> +               rmem->priv =3D mem;
> +
> +               if (IS_ENABLED(CONFIG_DEBUG_FS)) {
> +                       mem->debugfs =3D
> +                               debugfs_create_dir(rmem->name, debugfs_di=
r);
> +                       swiotlb_create_debugfs_files(mem);
> +               }
> +       }
> +
> +       dev->dma_io_tlb_mem =3D mem;
> +
> +       return 0;
> +}
> +
> +static void rmem_swiotlb_device_release(struct reserved_mem *rmem,
> +                                       struct device *dev)
> +{
> +       dev->dma_io_tlb_mem =3D io_tlb_default_mem;
> +}
> +
> +static const struct reserved_mem_ops rmem_swiotlb_ops =3D {
> +       .device_init =3D rmem_swiotlb_device_init,
> +       .device_release =3D rmem_swiotlb_device_release,
> +};
> +
> +static int __init rmem_swiotlb_setup(struct reserved_mem *rmem)
> +{
> +       unsigned long node =3D rmem->fdt_node;
> +
> +       if (of_get_flat_dt_prop(node, "reusable", NULL) ||
> +           of_get_flat_dt_prop(node, "linux,cma-default", NULL) ||
> +           of_get_flat_dt_prop(node, "linux,dma-default", NULL) ||
> +           of_get_flat_dt_prop(node, "no-map", NULL))
> +               return -EINVAL;
> +
> +       if (PageHighMem(pfn_to_page(PHYS_PFN(rmem->base)))) {
> +               pr_err("Restricted DMA pool must be accessible within the=
 linear mapping.");
> +               return -EINVAL;
> +       }
> +
> +       rmem->ops =3D &rmem_swiotlb_ops;
> +       pr_info("Reserved memory: created restricted DMA pool at %pa, siz=
e %ld MiB\n",
> +               &rmem->base, (unsigned long)rmem->size / SZ_1M);

Oh l=C3=A0 l=C3=A0, besides explicit casting that I believe can be avoided,=
 %ld
!=3D unsigned long. Can you check the printk-formats.rst document?

> +       return 0;
> +}
> +
> +RESERVEDMEM_OF_DECLARE(dma, "restricted-dma-pool", rmem_swiotlb_setup);
>  #endif /* CONFIG_DMA_RESTRICTED_POOL */

--=20
With Best Regards,
Andy Shevchenko


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 07:18:43 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 07:18:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173428.316445 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJW8M-0007YB-0L; Fri, 27 Aug 2021 07:18:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173428.316445; Fri, 27 Aug 2021 07: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 1mJW8L-0007Y4-TZ; Fri, 27 Aug 2021 07:18:37 +0000
Received: by outflank-mailman (input) for mailman id 173428;
 Fri, 27 Aug 2021 07:18:36 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vFra=NS=infradead.org=peterz@srs-us1.protection.inumbo.net>)
 id 1mJW8K-0007Xy-8I
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 07:18:36 +0000
Received: from casper.infradead.org (unknown [2001:8b0:10b:1236::1])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 1414de0b-c45c-4d66-9d5f-0179bcf71f4b;
 Fri, 27 Aug 2021 07:18:33 +0000 (UTC)
Received: from j217100.upc-j.chello.nl ([24.132.217.100]
 helo=noisy.programming.kicks-ass.net)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1mJW5C-00EFBb-NY; Fri, 27 Aug 2021 07:15:47 +0000
Received: from hirez.programming.kicks-ass.net
 (hirez.programming.kicks-ass.net [192.168.1.225])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (Client did not present a certificate)
 by noisy.programming.kicks-ass.net (Postfix) with ESMTPS id 915013001CD;
 Fri, 27 Aug 2021 09:15:17 +0200 (CEST)
Received: by hirez.programming.kicks-ass.net (Postfix, from userid 1000)
 id 708F32C597E4C; Fri, 27 Aug 2021 09:15:17 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1414de0b-c45c-4d66-9d5f-0179bcf71f4b
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version:
	References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=ZQ3CU43IWogsKyG+uqc1TCqPH8QEEhdztK1oMhkx3lw=; b=UEWQ5QT1Y91/ArLjsjiq9W9wMI
	4duU1mRjJn7JeeiAF847EnVYvfwy4Rfpdir+x9o7riPAQa7etq+VNF8POzrhtbCqJR9z1sDHo+02+
	HbRjsvwxweLsyjOac0MdoWbdd7InTqsNF0dlSuTIm9XrvQy3b/4YvfSEiVegiut0LsQRQ6jPkb8bY
	IfuvY98Og8QSy5GUJ7lJvsT1gSp6DIN+Jh1ydVw5QcNhrxKH4onHt1u2fN6HncmwxCS76O+WauSkn
	5Gg/ot5B8Psq7tBf27BAosAhcGQs4x7CwCAan6H6s6t6hdJz/pw7lyH6HaF3gC9dwlVv0nm5ojf50
	S3+xyWHg==;
Date: Fri, 27 Aug 2021 09:15:17 +0200
From: Peter Zijlstra <peterz@infradead.org>
To: Sean Christopherson <seanjc@google.com>
Cc: Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
	Ingo Molnar <mingo@redhat.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Marc Zyngier <maz@kernel.org>, Guo Ren <guoren@kernel.org>,
	Nick Hu <nickhu@andestech.com>, Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Thomas Gleixner <tglx@linutronix.de>,
	Borislav Petkov <bp@alien8.de>, x86@kernel.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
	James Morse <james.morse@arm.com>,
	Alexandru Elisei <alexandru.elisei@arm.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu,
	linux-csky@vger.kernel.org, linux-riscv@lists.infradead.org,
	kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
	Artem Kashkanov <artem.kashkanov@intel.com>,
	Like Xu <like.xu.linux@gmail.com>,
	Zhu Lingshan <lingshan.zhu@intel.com>
Subject: Re: [PATCH 05/15] perf: Track guest callbacks on a per-CPU basis
Message-ID: <YSiRBQQE7md7ZrNC@hirez.programming.kicks-ass.net>
References: <20210827005718.585190-1-seanjc@google.com>
 <20210827005718.585190-6-seanjc@google.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20210827005718.585190-6-seanjc@google.com>

On Thu, Aug 26, 2021 at 05:57:08PM -0700, Sean Christopherson wrote:
> Use a per-CPU pointer to track perf's guest callbacks so that KVM can set
> the callbacks more precisely and avoid a lurking NULL pointer dereference.

I'm completely failing to see how per-cpu helps anything here...

> On x86, KVM supports being built as a module and thus can be unloaded.
> And because the shared callbacks are referenced from IRQ/NMI context,
> unloading KVM can run concurrently with perf, and thus all of perf's
> checks for a NULL perf_guest_cbs are flawed as perf_guest_cbs could be
> nullified between the check and dereference.

No longer allowing KVM to be a module would be *AWESOME*. I detest how
much we have to export for KVM :/

Still, what stops KVM from doing a coherent unreg? Even the
static_call() proposed in the other patch, unreg can do
static_call_update() + synchronize_rcu() to ensure everybody sees the
updated pointer (would require a quick audit to see all users are with
preempt disabled, but I think your using per-cpu here already imposes
the same).




From xen-devel-bounces@lists.xenproject.org Fri Aug 27 07:25:20 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 07:25:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173435.316456 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJWEU-0000ju-Mx; Fri, 27 Aug 2021 07:24:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173435.316456; Fri, 27 Aug 2021 07:24:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJWEU-0000jn-K6; Fri, 27 Aug 2021 07:24:58 +0000
Received: by outflank-mailman (input) for mailman id 173435;
 Fri, 27 Aug 2021 07:24:56 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vFra=NS=infradead.org=peterz@srs-us1.protection.inumbo.net>)
 id 1mJWES-0000jh-Le
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 07:24:56 +0000
Received: from casper.infradead.org (unknown [2001:8b0:10b:1236::1])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 214d3879-e323-421f-b055-be730575d8a2;
 Fri, 27 Aug 2021 07:24:54 +0000 (UTC)
Received: from j217100.upc-j.chello.nl ([24.132.217.100]
 helo=noisy.programming.kicks-ass.net)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1mJWBM-00EFSX-VT; Fri, 27 Aug 2021 07:22:07 +0000
Received: from hirez.programming.kicks-ass.net
 (hirez.programming.kicks-ass.net [192.168.1.225])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (Client did not present a certificate)
 by noisy.programming.kicks-ass.net (Postfix) with ESMTPS id A41C630035D;
 Fri, 27 Aug 2021 09:21:43 +0200 (CEST)
Received: by hirez.programming.kicks-ass.net (Postfix, from userid 1000)
 id 80EAF2C6670E9; Fri, 27 Aug 2021 09:21: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: 214d3879-e323-421f-b055-be730575d8a2
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version:
	References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=neG8mg28UHUzHJK70IF++gxfO1zx12p3aLda6nUX0F8=; b=AukJ9GkzIV3P3F+0ekocwQawBL
	tFlCkXpct0NjVzxDAYN3qp6dW8DFOR5++b6oO+2oFghCLwWlQldR9xUKOxe6O9xGeZ3SF85D2ScKC
	RFt1tMii/X4MA5Hvk4XKVnCAHMtwMT7KO94Zi39lswz81eHv7+EWswbpXCxLYyjwAhehjD4Pj9zhD
	/QGUZAd7iD4iU9YTu64FgKEGL0luhMV0hc4vrnvpZFSqjXRBBxUSDax4g0UrRpI2dleksB66sSbSW
	I8F5HQkpMUSSv+Lz7wFRfoB+E5euI/bbEB/SVUaXfnNNAHO9evgCgJrPXZXun2y+vLo5dnB1ozeVf
	G62jQfjw==;
Date: Fri, 27 Aug 2021 09:21:43 +0200
From: Peter Zijlstra <peterz@infradead.org>
To: Sean Christopherson <seanjc@google.com>
Cc: Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
	Ingo Molnar <mingo@redhat.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Marc Zyngier <maz@kernel.org>, Guo Ren <guoren@kernel.org>,
	Nick Hu <nickhu@andestech.com>, Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Thomas Gleixner <tglx@linutronix.de>,
	Borislav Petkov <bp@alien8.de>, x86@kernel.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
	James Morse <james.morse@arm.com>,
	Alexandru Elisei <alexandru.elisei@arm.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu,
	linux-csky@vger.kernel.org, linux-riscv@lists.infradead.org,
	kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
	Artem Kashkanov <artem.kashkanov@intel.com>,
	Like Xu <like.xu.linux@gmail.com>,
	Zhu Lingshan <lingshan.zhu@intel.com>
Subject: Re: [PATCH 06/15] KVM: x86: Register perf callbacks only when
 actively handling interrupt
Message-ID: <YSiShwJeBvAVPVKe@hirez.programming.kicks-ass.net>
References: <20210827005718.585190-1-seanjc@google.com>
 <20210827005718.585190-7-seanjc@google.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20210827005718.585190-7-seanjc@google.com>

On Thu, Aug 26, 2021 at 05:57:09PM -0700, Sean Christopherson wrote:
> diff --git a/kernel/events/core.c b/kernel/events/core.c
> index 9bc1375d6ed9..2f28d9d8dc94 100644
> --- a/kernel/events/core.c
> +++ b/kernel/events/core.c
> @@ -6485,6 +6485,18 @@ static void perf_pending_event(struct irq_work *entry)
>  #ifdef CONFIG_HAVE_GUEST_PERF_EVENTS
>  DEFINE_PER_CPU(struct perf_guest_info_callbacks *, perf_guest_cbs);
>  
> +void __perf_register_guest_info_callbacks(struct perf_guest_info_callbacks *cbs)
> +{
> +	__this_cpu_write(perf_guest_cbs, cbs);
> +}
> +EXPORT_SYMBOL_GPL(__perf_register_guest_info_callbacks);
> +
> +void __perf_unregister_guest_info_callbacks(void)
> +{
> +	__this_cpu_write(perf_guest_cbs, NULL);
> +}
> +EXPORT_SYMBOL_GPL(__perf_unregister_guest_info_callbacks);

This is 100% broken, and a prime example of why I hate modules.

It provides an interface for all modules, and completely fails to
validate even the most basic usage.

By using __this_cpu*() it omits the preemption checks, so you can call
this with preemption enabled, no problem.

By not checking the previous state, multiple modules can call this
interleaved without issue.

Basically assume any EXPORTed function is hostile, binary modules and
out-of-tree modules *are* just that. It's a cesspit out there.


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 07:34:04 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 07:34:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173442.316467 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJWNB-0002Sa-Mp; Fri, 27 Aug 2021 07:33:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173442.316467; Fri, 27 Aug 2021 07: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 1mJWNB-0002ST-Jv; Fri, 27 Aug 2021 07:33:57 +0000
Received: by outflank-mailman (input) for mailman id 173442;
 Fri, 27 Aug 2021 07:33:56 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vFra=NS=infradead.org=peterz@srs-us1.protection.inumbo.net>)
 id 1mJWNA-0002SN-9A
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 07:33:56 +0000
Received: from casper.infradead.org (unknown [2001:8b0:10b:1236::1])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id dc3fb4e4-8018-4c13-a3e6-f9308e953354;
 Fri, 27 Aug 2021 07:33:53 +0000 (UTC)
Received: from j217100.upc-j.chello.nl ([24.132.217.100]
 helo=noisy.programming.kicks-ass.net)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1mJWJz-00EFo3-0q; Fri, 27 Aug 2021 07:30:56 +0000
Received: from hirez.programming.kicks-ass.net
 (hirez.programming.kicks-ass.net [192.168.1.225])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (Client did not present a certificate)
 by noisy.programming.kicks-ass.net (Postfix) with ESMTPS id 0C6F23005AD;
 Fri, 27 Aug 2021 09:30:37 +0200 (CEST)
Received: by hirez.programming.kicks-ass.net (Postfix, from userid 1000)
 id E07822C6670E9; Fri, 27 Aug 2021 09:30:36 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dc3fb4e4-8018-4c13-a3e6-f9308e953354
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version:
	References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=pX/U+rVEPbfrs2KxIK3fTT5zek69Vi8l41Blp4tBLok=; b=Yc/w61MYBYU/2XovOdaG/1LI+3
	ofvXZY72T/bqQpEDQIopTT41ymuCj9LCYB3YpGsaZsw8I7lr88Q2nTCRx2MpWUAJi2+3qnashJI4R
	pq0hm4wrqjtQzjgnu14Y0Hv71MTmXVlwUtR00yaCrR+u7hNfiDC4NQgkVvvO74M9TS46PVdKtznHr
	cI35oR72a6g4a2mZG68PMOuldBKtE8eyE5BYPjhe0gvPrNhQPT9HfquqIFtVn1+9kmnU1uaROxDf6
	T9v8X9G4zCE0HsYiDhrr3Coe9vaArCNE5m8ZWnIbYQ2Ri33yjkJEKLCpR695YXtWTkmMXBqMBOcvc
	uj1qfSCA==;
Date: Fri, 27 Aug 2021 09:30:36 +0200
From: Peter Zijlstra <peterz@infradead.org>
To: Sean Christopherson <seanjc@google.com>
Cc: Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
	Ingo Molnar <mingo@redhat.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Marc Zyngier <maz@kernel.org>, Guo Ren <guoren@kernel.org>,
	Nick Hu <nickhu@andestech.com>, Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Thomas Gleixner <tglx@linutronix.de>,
	Borislav Petkov <bp@alien8.de>, x86@kernel.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
	James Morse <james.morse@arm.com>,
	Alexandru Elisei <alexandru.elisei@arm.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu,
	linux-csky@vger.kernel.org, linux-riscv@lists.infradead.org,
	kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
	Artem Kashkanov <artem.kashkanov@intel.com>,
	Like Xu <like.xu.linux@gmail.com>,
	Zhu Lingshan <lingshan.zhu@intel.com>
Subject: Re: [PATCH 07/15] KVM: Use dedicated flag to track if KVM is
 handling an NMI from guest
Message-ID: <YSiUnDbi/aZ3nunT@hirez.programming.kicks-ass.net>
References: <20210827005718.585190-1-seanjc@google.com>
 <20210827005718.585190-8-seanjc@google.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20210827005718.585190-8-seanjc@google.com>

On Thu, Aug 26, 2021 at 05:57:10PM -0700, Sean Christopherson wrote:
> diff --git a/arch/x86/kvm/x86.h b/arch/x86/kvm/x86.h
> index 5cedc0e8a5d5..4c5ba4128b38 100644
> --- a/arch/x86/kvm/x86.h
> +++ b/arch/x86/kvm/x86.h
> @@ -395,9 +395,10 @@ static inline void kvm_unregister_perf_callbacks(void)
>  
>  DECLARE_PER_CPU(struct kvm_vcpu *, current_vcpu);
>  
> -static inline void kvm_before_interrupt(struct kvm_vcpu *vcpu)
> +static inline void kvm_before_interrupt(struct kvm_vcpu *vcpu, bool is_nmi)
>  {
>  	__this_cpu_write(current_vcpu, vcpu);
> +	WRITE_ONCE(vcpu->arch.handling_nmi_from_guest, is_nmi);
>  
>  	kvm_register_perf_callbacks();
>  }
> @@ -406,6 +407,7 @@ static inline void kvm_after_interrupt(struct kvm_vcpu *vcpu)
>  {
>  	kvm_unregister_perf_callbacks();
>  
> +	WRITE_ONCE(vcpu->arch.handling_nmi_from_guest, false);
>  	__this_cpu_write(current_vcpu, NULL);
>  }

Does this rely on kvm_{,un}register_perf_callback() being a function
call and thus implying a sequence point to order the stores? 


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 07:35:21 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 07:35:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173448.316479 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJWOX-00032L-3C; Fri, 27 Aug 2021 07:35:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173448.316479; Fri, 27 Aug 2021 07:35: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 1mJWOW-00032E-VA; Fri, 27 Aug 2021 07:35:20 +0000
Received: by outflank-mailman (input) for mailman id 173448;
 Fri, 27 Aug 2021 07:35:20 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vFra=NS=infradead.org=peterz@srs-us1.protection.inumbo.net>)
 id 1mJWOV-000328-Le
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 07:35:19 +0000
Received: from desiato.infradead.org (unknown
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ab67c07c-d9c8-4b5f-a77b-fe4944befb26;
 Fri, 27 Aug 2021 07:35:17 +0000 (UTC)
Received: from j217100.upc-j.chello.nl ([24.132.217.100]
 helo=noisy.programming.kicks-ass.net)
 by desiato.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1mJWNp-00DRSP-E8; Fri, 27 Aug 2021 07:34:39 +0000
Received: from hirez.programming.kicks-ass.net
 (hirez.programming.kicks-ass.net [192.168.1.225])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (Client did not present a certificate)
 by noisy.programming.kicks-ass.net (Postfix) with ESMTPS id CFD57300DEF;
 Fri, 27 Aug 2021 09:34:35 +0200 (CEST)
Received: by hirez.programming.kicks-ass.net (Postfix, from userid 1000)
 id B14D22C6670EA; Fri, 27 Aug 2021 09:34:35 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ab67c07c-d9c8-4b5f-a77b-fe4944befb26
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=In-Reply-To:Content-Type:MIME-Version:
	References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=izDnqED+aJquV8WBbT3PBDJAf7VsEW4nw5GoC1n7INc=; b=UOw1aDagqxomBMB4/E9tMZZeGZ
	A/CYxlrxnk/GSFFTbkLbsgVxAuCRJ0uxvjo85Tp7zy3Yucv+ZpTHwn2CnmihrOCVC9Yk2QeIxRvll
	8MnpnhG7WUlGGdapVfBrt4tzxXst/XpS+6PVp1qeaC1d0oim3gjAqiP/J5cmTZJlCyx1iWNeP4Wlf
	Z5XcBWL/yaYx+cHADlH6fZPiBRXj4hqI2YfdR4gAT6GCyITtnmu8zkenZdgkEqz4Y+YyeesKIgXPY
	axH5wRDh5FK6agDysTznL69fRm4hurQ8dCd9r5S54VhnaYDGtyqnIDvt5i5hP/qBNuObffeCu3FEh
	v14rcs9Q==;
Date: Fri, 27 Aug 2021 09:34:35 +0200
From: Peter Zijlstra <peterz@infradead.org>
To: Sean Christopherson <seanjc@google.com>
Cc: Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
	Ingo Molnar <mingo@redhat.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Marc Zyngier <maz@kernel.org>, Guo Ren <guoren@kernel.org>,
	Nick Hu <nickhu@andestech.com>, Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Thomas Gleixner <tglx@linutronix.de>,
	Borislav Petkov <bp@alien8.de>, x86@kernel.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
	James Morse <james.morse@arm.com>,
	Alexandru Elisei <alexandru.elisei@arm.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu,
	linux-csky@vger.kernel.org, linux-riscv@lists.infradead.org,
	kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
	Artem Kashkanov <artem.kashkanov@intel.com>,
	Like Xu <like.xu.linux@gmail.com>,
	Zhu Lingshan <lingshan.zhu@intel.com>
Subject: Re: [PATCH 11/15] KVM: x86: Move Intel Processor Trace interrupt
 handler to vmx.c
Message-ID: <YSiVi+jxNpFLE4gn@hirez.programming.kicks-ass.net>
References: <20210827005718.585190-1-seanjc@google.com>
 <20210827005718.585190-12-seanjc@google.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20210827005718.585190-12-seanjc@google.com>

On Thu, Aug 26, 2021 at 05:57:14PM -0700, Sean Christopherson wrote:
> diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
> index 13c4f58a75e5..e0b1c9386926 100644
> --- a/virt/kvm/kvm_main.c
> +++ b/virt/kvm/kvm_main.c
> @@ -5498,6 +5498,7 @@ void kvm_set_intel_pt_intr_handler(void (*handler)(void))
>  {
>  	kvm_guest_cbs.handle_intel_pt_intr = handler;
>  }
> +EXPORT_SYMBOL_GPL(kvm_set_intel_pt_intr_handler);

This is another one of those broken exports.


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 07:42:05 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 07:42:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173454.316490 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJWUz-0004gq-Om; Fri, 27 Aug 2021 07:42:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173454.316490; Fri, 27 Aug 2021 07: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 1mJWUz-0004gj-Lk; Fri, 27 Aug 2021 07:42:01 +0000
Received: by outflank-mailman (input) for mailman id 173454;
 Fri, 27 Aug 2021 07:42: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 1mJWUy-0004gc-1U
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 07:42: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 1mJWUx-0007vJ-Pg; Fri, 27 Aug 2021 07:41:59 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mJWUx-0005k4-Jq; Fri, 27 Aug 2021 07:41:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=0qq5wByrrqAKAqUsFDaxjn0k7yMX9HknZtzpqFP541M=; b=VG2BsBo9tUU33iSmruGrbuvYMZ
	KFwMFLpCGaCrSHRksIyD0vlHogMhSqZkj/c/0DZkBvYL/KlvhFKRCTwVGPUV75SdbpITUHR4sWCAH
	I6EpJY7kUfY917I/pO0BfZJ9R01HuXhqh5gaRZNxrqSp0ZUVhwFz+dQOr1G23bXsLWr0=;
Subject: Re: [XEN RFC PATCH 18/40] xen/arm: Keep memory nodes in dtb for NUMA
 when boot from EFI
To: Stefano Stabellini <sstabellini@kernel.org>, Wei Chen <wei.chen@arm.com>
Cc: xen-devel@lists.xenproject.org, jbeulich@suse.com,
 Bertrand.Marquis@arm.com
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-19-wei.chen@arm.com>
 <alpine.DEB.2.21.2108261622500.24433@sstabellini-ThinkPad-T480s>
From: Julien Grall <julien@xen.org>
Message-ID: <77a7126c-3874-5643-38fc-dba8130826ec@xen.org>
Date: Fri, 27 Aug 2021 08:41:57 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <alpine.DEB.2.21.2108261622500.24433@sstabellini-ThinkPad-T480s>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 27/08/2021 00:24, Stefano Stabellini wrote:
> On Wed, 11 Aug 2021, Wei Chen wrote:
>> EFI can get memory map from EFI system table. But EFI system
>> table doesn't contain memory NUMA information, EFI depends on
>> ACPI SRAT or device tree memory node to parse memory blocks'
>> NUMA mapping.
>>
>> But in current code, when Xen is booting from EFI, it will
>> delete all memory nodes in device tree. So in UEFI + DTB
>> boot, we don't have numa-node-id for memory blocks any more.
>>
>> So in this patch, we will keep memory nodes in device tree for
>> NUMA code to parse memory numa-node-id later.
>>
>> As a side effect, if we still parse boot memory information in
>> early_scan_node, bootmem.info will calculate memory ranges in
>> memory nodes twice. So we have to prvent early_scan_node to
>> parse memory nodes in EFI boot.
>>
>> As EFI APIs only can be used in Arm64, so we introduced a wrapper
>> in header file to prevent #ifdef CONFIG_ARM_64/32 in code block.
>>
>> Signed-off-by: Wei Chen <wei.chen@arm.com>
>> ---
>>   xen/arch/arm/bootfdt.c      |  8 +++++++-
>>   xen/arch/arm/efi/efi-boot.h | 25 -------------------------
>>   xen/include/asm-arm/setup.h |  6 ++++++
>>   3 files changed, 13 insertions(+), 26 deletions(-)
>>
>> diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
>> index 476e32e0f5..7df149dbca 100644
>> --- a/xen/arch/arm/bootfdt.c
>> +++ b/xen/arch/arm/bootfdt.c
>> @@ -11,6 +11,7 @@
>>   #include <xen/lib.h>
>>   #include <xen/kernel.h>
>>   #include <xen/init.h>
>> +#include <xen/efi.h>
>>   #include <xen/device_tree.h>
>>   #include <xen/libfdt/libfdt.h>
>>   #include <xen/sort.h>
>> @@ -335,7 +336,12 @@ static int __init early_scan_node(const void *fdt,
>>   {
>>       int rc = 0;
>>   
>> -    if ( device_tree_node_matches(fdt, node, "memory") )
>> +    /*
>> +     * If system boot from EFI, bootinfo.mem has been set by EFI,
>> +     * so we don't need to parse memory node from DTB.
>> +     */
>> +    if ( device_tree_node_matches(fdt, node, "memory") &&
>> +         !arch_efi_enabled(EFI_BOOT) )
>>           rc = process_memory_node(fdt, node, name, depth,
>>                                    address_cells, size_cells, &bootinfo.mem);
>>       else if ( depth == 1 && !dt_node_cmp(name, "reserved-memory") )
> 
> 
> If we are going to use the device tree info for the numa nodes (and
> related memory) does it make sense to still rely on the EFI tables for
> the memory map?

Yes. AFAIK, when booting using EFI, the Device-Tree may not contain all 
the reserved regions. Furthermore, we are still too early to know 
whether we boot using ACPI and DT.

> 
> I wonder if we should just use device tree for memory and ignore EFI
> instead. Do you know what Linux does in this regard?
I looked at Linux when I first reviewed this patch because I was 
wondering what happens if the DT and UEFI map disagrees.

Linux and Xen are the same after this patch:
   1) The memory map is coming from UEFI map
   2) NUMA ID is coming from the DT

The commit that introduced the change in Linux is:

commit 500899c2cc3e3f06140373b587a69d30650f2d9d
Author: Ard Biesheuvel <ardb@kernel.org>
Date:   Fri Apr 8 15:50:23 2016 -0700

     efi: ARM/arm64: ignore DT memory nodes instead of removing them

     There are two problems with the UEFI stub DT memory node removal
     routine:
     - it deletes nodes as it traverses the tree, which happens to work
       but is not supported, as deletion invalidates the node iterator;
     - deleting memory nodes entirely may discard annotations in the form
       of additional properties on the nodes.

     Since the discovery of DT memory nodes occurs strictly before the
     UEFI init sequence, we can simply clear the memblock memory table
     before parsing the UEFI memory map. This way, it is no longer
     necessary to remove the nodes, so we can remove that logic from the
     stub as well.

     Reviewed-by: Matt Fleming <matt@codeblueprint.co.uk>
     Acked-by: Steve Capper <steve.capper@arm.com>
     Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
     Signed-off-by: David Daney <david.daney@cavium.com>
     Signed-off-by: Will Deacon <will.deacon@arm.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 07:48:24 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 07:48:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173460.316501 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJWb4-0005Qu-EB; Fri, 27 Aug 2021 07:48:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173460.316501; Fri, 27 Aug 2021 07:48:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJWb4-0005Qn-B2; Fri, 27 Aug 2021 07:48:18 +0000
Received: by outflank-mailman (input) for mailman id 173460;
 Fri, 27 Aug 2021 07:48:16 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vFra=NS=infradead.org=peterz@srs-us1.protection.inumbo.net>)
 id 1mJWb2-0005Qh-8W
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 07:48:16 +0000
Received: from casper.infradead.org (unknown [2001:8b0:10b:1236::1])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 3aca6dff-526c-4fb4-9130-b94da5a96a96;
 Fri, 27 Aug 2021 07:48:15 +0000 (UTC)
Received: from j217100.upc-j.chello.nl ([24.132.217.100]
 helo=noisy.programming.kicks-ass.net)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1mJWXo-00EGbQ-KU; Fri, 27 Aug 2021 07:45:12 +0000
Received: from hirez.programming.kicks-ass.net
 (hirez.programming.kicks-ass.net [192.168.1.225])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (Client did not present a certificate)
 by noisy.programming.kicks-ass.net (Postfix) with ESMTPS id 7022A30035D;
 Fri, 27 Aug 2021 09:44:52 +0200 (CEST)
Received: by hirez.programming.kicks-ass.net (Postfix, from userid 1000)
 id 549952C6670ED; Fri, 27 Aug 2021 09:44: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: 3aca6dff-526c-4fb4-9130-b94da5a96a96
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version:
	References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=mwqNvZJA9dIpDEWigadLmAt4ekXHrBRvbcdnGdey0lE=; b=I/IvqbDlSMWcIbpdOOAXfLAePd
	VnuHf80Ij7eT65HZ/ZmLgO4WMPy4itQhDo5T0oqUnYiX+gy+Rpm1rDaH4yfbNkb40sVQ1Gs3+K6Uq
	CAc6W/5Ofu26xIMuG6qfRfTVilpdhWEX2zSVyoNEfY39xPi+5hJeAJd/b2amtCtk8saRHvdqd3spd
	k3S7rVNP4X1Ahst2d+VG5ZMlKiq+sDTGG7S40hJJ0KnXYxsSWY1gkda21RFgy0QIi2/QZhbbB2Vlz
	96YSYnpgLCOvEhsZUVTk4sOSCYRU5PzhafRroNnuKOSTjrZC6AYQI4zn9xh9YCEYcHiHS9VshLf0l
	/zvt21FA==;
Date: Fri, 27 Aug 2021 09:44:52 +0200
From: Peter Zijlstra <peterz@infradead.org>
To: Like Xu <like.xu.linux@gmail.com>
Cc: Sean Christopherson <seanjc@google.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
	James Morse <james.morse@arm.com>,
	Alexandru Elisei <alexandru.elisei@arm.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu,
	linux-csky@vger.kernel.org, linux-riscv@lists.infradead.org,
	kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
	Artem Kashkanov <artem.kashkanov@intel.com>,
	Zhu Lingshan <lingshan.zhu@intel.com>,
	Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
	Ingo Molnar <mingo@redhat.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Marc Zyngier <maz@kernel.org>, Guo Ren <guoren@kernel.org>,
	Nick Hu <nickhu@andestech.com>, Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Thomas Gleixner <tglx@linutronix.de>,
	Borislav Petkov <bp@alien8.de>, x86@kernel.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Josh Poimboeuf <jpoimboe@redhat.com>,
	Jason Baron <jbaron@akamai.com>,
	Steven Rostedt <rostedt@goodmis.org>,
	Ard Biesheuvel <ardb@kernel.org>
Subject: Re: [PATCH 00/15] perf: KVM: Fix, optimize, and clean up callbacks
Message-ID: <YSiX9OPcrDsr3P4C@hirez.programming.kicks-ass.net>
References: <20210827005718.585190-1-seanjc@google.com>
 <fd3dcd6c-b3d5-4453-93fb-b46d0595534e@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <fd3dcd6c-b3d5-4453-93fb-b46d0595534e@gmail.com>

On Fri, Aug 27, 2021 at 02:52:25PM +0800, Like Xu wrote:
> + STATIC BRANCH/CALL friends.
> 
> On 27/8/2021 8:57 am, Sean Christopherson wrote:
> > This started out as a small series[1] to fix a KVM bug related to Intel PT
> > interrupt handling and snowballed horribly.
> > 
> > The main problem being addressed is that the perf_guest_cbs are shared by
> > all CPUs, can be nullified by KVM during module unload, and are not
> > protected against concurrent access from NMI context.
> 
> Shouldn't this be a generic issue of the static_call() usage ?
> 
> At the beginning, we set up the static entry assuming perf_guest_cbs != NULL:
> 
> 	if (perf_guest_cbs && perf_guest_cbs->handle_intel_pt_intr) {
> 		static_call_update(x86_guest_handle_intel_pt_intr,
> 				   perf_guest_cbs->handle_intel_pt_intr);
> 	}
> 
> and then we unset the perf_guest_cbs and do the static function call like this:
> 
> DECLARE_STATIC_CALL(x86_guest_handle_intel_pt_intr,
> *(perf_guest_cbs->handle_intel_pt_intr));
> static int handle_pmi_common(struct pt_regs *regs, u64 status)
> {
> 		...
> 		if (!static_call(x86_guest_handle_intel_pt_intr)())
> 			intel_pt_interrupt();
> 		...
> }

You just have to make sure all static_call() invocations that started
before unreg are finished before continuing with the unload.
synchronize_rcu() can help with that.

This is module unload 101. Nothing specific to static_call().


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 08:02:10 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 08:02:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173473.316512 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJWoO-0000E4-Vx; Fri, 27 Aug 2021 08:02:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173473.316512; Fri, 27 Aug 2021 08:02:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJWoO-0000Du-RK; Fri, 27 Aug 2021 08:02:04 +0000
Received: by outflank-mailman (input) for mailman id 173473;
 Fri, 27 Aug 2021 08:02:04 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qCIF=NS=gmail.com=like.xu.linux@srs-us1.protection.inumbo.net>)
 id 1mJWoO-0000Do-1x
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 08:02:04 +0000
Received: from mail-pg1-x532.google.com (unknown [2607:f8b0:4864:20::532])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 0c504e8f-a46e-4cf1-967f-91bd72729c84;
 Fri, 27 Aug 2021 08:02:03 +0000 (UTC)
Received: by mail-pg1-x532.google.com with SMTP id 17so5349929pgp.4
 for <xen-devel@lists.xenproject.org>; Fri, 27 Aug 2021 01:02:03 -0700 (PDT)
Received: from Likes-MacBook-Pro.local ([103.7.29.32])
 by smtp.gmail.com with ESMTPSA id d15sm5390883pfd.115.2021.08.27.01.01.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 27 Aug 2021 01:02: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: 0c504e8f-a46e-4cf1-967f-91bd72729c84
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:organization:message-id:date
         :user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=Cswhnu+o8kyBBIxzcLABF5rjUJeD7g9ZDLkYCWGDY3Y=;
        b=OqohcBTPo1bx+g+Uhy5kq56l7yUOxLEugEOLnrrHFGOE9q6fl4GSY8Z1g4cy28v8/H
         /L1w4p4Sg8b+ljDLiH9Gb1+GZJmzWV6ysvxelEZyI9D8Ew3G/bqelIPClmFt9as7aEEu
         nk0NoXFPWc3E70qTNobmYIJyHjN8UsaDJ8PQd9G9IThDwB0Rbm6047rMIfrYiIaoPol8
         83YdQMipI9Ef5oiCjCXNrqRhdPiM1lKbwLomBu4t1pdAiwluLh1kv3kaFwWDZpIPSD+6
         7uC9Sledzc7uwLe6e/cdddOBkwHJ7y8MIBF8ETXjcZo+yjuo33qz1BEAi+Qpk6kRxoes
         Y0ow==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:organization
         :message-id:date:user-agent:mime-version:in-reply-to
         :content-language:content-transfer-encoding;
        bh=Cswhnu+o8kyBBIxzcLABF5rjUJeD7g9ZDLkYCWGDY3Y=;
        b=Hx5MhAXfpvPqPytgo0rldOe2YDtAADyiTudOjMM/DihuGDCPH9Y6sz7D+Y/5F+Y4k2
         pu5GkR09MmTqHqz7mKNo6PFwcFhbpk4DpVu5BuS0tCyNqq7flSJ2jmbQ7U/4PmEd7vVa
         o/dR2wj5icv9lVIgs3JnA7hsExCLk01KiF91l2tMdIHSaK/iU+gvMSkgD/M/qpkhtNbr
         J3q91bWJUQH00qcnTamEb0dfcW6WWpA5oUntuPx7Q1eSyRd+3myKVn0VW84Sn2qly7gb
         6ueYRWNCaBKGQwoMVv2ALuTezvuMvbCYdnf/XZQ2EngJw9UsfBr8Chj2+Jo7etoGcXEh
         K/nA==
X-Gm-Message-State: AOAM533CnqMFkryvPx7LaFuPVHhfAC+DKBoEI4EqyyFC/qSuPNsfK37K
	/W2nb+I1lMl4i1PIWd2BePU=
X-Google-Smtp-Source: ABdhPJz93kkIvT1VtOeM07aufGlsPC5VcsFoOF9FFZYwZ3Du0G+C1ytyrpDJPIrEyio9g37sV046Cg==
X-Received: by 2002:a05:6a00:1748:b0:3e2:ace4:82b7 with SMTP id j8-20020a056a00174800b003e2ace482b7mr7814214pfc.56.1630051322226;
        Fri, 27 Aug 2021 01:02:02 -0700 (PDT)
Subject: Re: [PATCH 00/15] perf: KVM: Fix, optimize, and clean up callbacks
To: Peter Zijlstra <peterz@infradead.org>
Cc: Sean Christopherson <seanjc@google.com>,
 Alexander Shishkin <alexander.shishkin@linux.intel.com>,
 Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
 James Morse <james.morse@arm.com>,
 Alexandru Elisei <alexandru.elisei@arm.com>,
 Suzuki K Poulose <suzuki.poulose@arm.com>, "H. Peter Anvin" <hpa@zytor.com>,
 Vitaly Kuznetsov <vkuznets@redhat.com>, Wanpeng Li <wanpengli@tencent.com>,
 Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org,
 linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu,
 linux-csky@vger.kernel.org, linux-riscv@lists.infradead.org,
 kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
 Artem Kashkanov <artem.kashkanov@intel.com>,
 Zhu Lingshan <lingshan.zhu@intel.com>, Will Deacon <will@kernel.org>,
 Mark Rutland <mark.rutland@arm.com>, Ingo Molnar <mingo@redhat.com>,
 Arnaldo Carvalho de Melo <acme@kernel.org>,
 Catalin Marinas <catalin.marinas@arm.com>, Marc Zyngier <maz@kernel.org>,
 Guo Ren <guoren@kernel.org>, Nick Hu <nickhu@andestech.com>,
 Greentime Hu <green.hu@gmail.com>, Vincent Chen <deanbo422@gmail.com>,
 Paul Walmsley <paul.walmsley@sifive.com>, Palmer Dabbelt
 <palmer@dabbelt.com>, Albert Ou <aou@eecs.berkeley.edu>,
 Thomas Gleixner <tglx@linutronix.de>, Borislav Petkov <bp@alien8.de>,
 x86@kernel.org, Paolo Bonzini <pbonzini@redhat.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Juergen Gross
 <jgross@suse.com>, Josh Poimboeuf <jpoimboe@redhat.com>,
 Jason Baron <jbaron@akamai.com>, Steven Rostedt <rostedt@goodmis.org>,
 Ard Biesheuvel <ardb@kernel.org>
References: <20210827005718.585190-1-seanjc@google.com>
 <fd3dcd6c-b3d5-4453-93fb-b46d0595534e@gmail.com>
 <YSiX9OPcrDsr3P4C@hirez.programming.kicks-ass.net>
From: Like Xu <like.xu.linux@gmail.com>
Organization: Tencent
Message-ID: <3bd4955a-1219-20b0-058b-d23f1e30aa77@gmail.com>
Date: Fri, 27 Aug 2021 16:01:45 +0800
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <YSiX9OPcrDsr3P4C@hirez.programming.kicks-ass.net>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit

On 27/8/2021 3:44 pm, Peter Zijlstra wrote:
> On Fri, Aug 27, 2021 at 02:52:25PM +0800, Like Xu wrote:
>> + STATIC BRANCH/CALL friends.
>>
>> On 27/8/2021 8:57 am, Sean Christopherson wrote:
>>> This started out as a small series[1] to fix a KVM bug related to Intel PT
>>> interrupt handling and snowballed horribly.
>>>
>>> The main problem being addressed is that the perf_guest_cbs are shared by
>>> all CPUs, can be nullified by KVM during module unload, and are not
>>> protected against concurrent access from NMI context.
>>
>> Shouldn't this be a generic issue of the static_call() usage ?
>>
>> At the beginning, we set up the static entry assuming perf_guest_cbs != NULL:
>>
>> 	if (perf_guest_cbs && perf_guest_cbs->handle_intel_pt_intr) {
>> 		static_call_update(x86_guest_handle_intel_pt_intr,
>> 				   perf_guest_cbs->handle_intel_pt_intr);
>> 	}
>>
>> and then we unset the perf_guest_cbs and do the static function call like this:
>>
>> DECLARE_STATIC_CALL(x86_guest_handle_intel_pt_intr,
>> *(perf_guest_cbs->handle_intel_pt_intr));
>> static int handle_pmi_common(struct pt_regs *regs, u64 status)
>> {
>> 		...
>> 		if (!static_call(x86_guest_handle_intel_pt_intr)())
>> 			intel_pt_interrupt();
>> 		...
>> }
> 
> You just have to make sure all static_call() invocations that started
> before unreg are finished before continuing with the unload.
> synchronize_rcu() can help with that.

Do you mean something like that:

diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 64e310ff4f3a..e7d310af7509 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -8465,6 +8465,7 @@ void kvm_arch_exit(void)
  #endif
  	kvm_lapic_exit();
  	perf_unregister_guest_info_callbacks(&kvm_guest_cbs);
+	synchronize_rcu();

  	if (!boot_cpu_has(X86_FEATURE_CONSTANT_TSC))
  		cpufreq_unregister_notifier(&kvmclock_cpufreq_notifier_block,
diff --git a/kernel/events/core.c b/kernel/events/core.c
index e466fc8176e1..63ae56c5d133 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -6508,6 +6508,7 @@ EXPORT_SYMBOL_GPL(perf_register_guest_info_callbacks);
  int perf_unregister_guest_info_callbacks(struct perf_guest_info_callbacks *cbs)
  {
  	perf_guest_cbs = NULL;
+	arch_perf_update_guest_cbs();
  	return 0;
  }
  EXPORT_SYMBOL_GPL(perf_unregister_guest_info_callbacks);

> 
> This is module unload 101. Nothing specific to static_call().
> 


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 08:22:09 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 08:22:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173479.316522 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJX7i-00032E-MN; Fri, 27 Aug 2021 08:22:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173479.316522; Fri, 27 Aug 2021 08:22:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJX7i-000327-Iy; Fri, 27 Aug 2021 08:22:02 +0000
Received: by outflank-mailman (input) for mailman id 173479;
 Fri, 27 Aug 2021 08:22:01 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jVCk=NS=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJX7h-000320-4j
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 08:22:01 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 966731f4-460d-45d6-a1dc-9a8555ee75de;
 Fri, 27 Aug 2021 08:21:59 +0000 (UTC)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2108.outbound.protection.outlook.com [104.47.17.108])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-10-NZHe5rMEPtWksAOofqLvuA-1; Fri, 27 Aug 2021 10:21:53 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB7024.eurprd04.prod.outlook.com (2603:10a6:800:124::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.18; Fri, 27 Aug
 2021 08:21:50 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.023; Fri, 27 Aug 2021
 08:21:50 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P189CA0002.EURP189.PROD.OUTLOOK.COM (2603:10a6:102:52::7) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.23 via Frontend Transport; Fri, 27 Aug 2021 08:21:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 966731f4-460d-45d6-a1dc-9a8555ee75de
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630052518;
	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=PU3N5PY65csLgKRbI2/M4bpA138YDrKT5AJ5QL9xFSQ=;
	b=kQowqiRFUGVdwIsdnUN5G7F64tKAXFZtEzZatSw5HXJYNJgUiMnHxLNqFvOh5yE7I9NHJ3
	1FcfGfN+WPEE3YG5rmNMUIzY9yXrf0eaA7CfhyheFqF7YDHdUZTyNHFA09YQ5prYlGXEiL
	0dQvBBjSfPa1bw5flOsvEhzRKIMDZ18=
X-MC-Unique: NZHe5rMEPtWksAOofqLvuA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=D4V1sRVkHc0GzAhGO1yhCzpwMdYqQQtZmdU6m99M976bjSET4Q/R0TPpFDCBrCYUFEXCELjW99d8bQAumHPvQIEj3aqYGG3gef0LspqdFZwuWITSSg7WYxLQbkKH7tzaxnQb69lUK4i10tZ2nRx/tbYrhEmDmIcKJ046PPCV00yNFlrjYH55/aIh1dcLHQn63jn6sru8FtnA5TJcXeagQBEkkrh5tobNO8SUD2W4enG4spvxGqN7uGiSgKf0ra1ulZIoddRWjnqHw0pw9xnXHeAALMKkenu7P32sjd0927jM5gRP8air3TGuq8QfEfwSpZJM7oX2a/WFDFfnBGPRgw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7vP6cngR9CBrvI0Avsdc6PFiaQqRog3EqvxLzI3sl44=;
 b=BPqQ7L8/jhfRfvdTrMpvuMJ3IDh3mP4PPHLJQzapcx2WMxI+vPmQXVFx5s0cFvZwlzq+al6Vb91GW5ElezgaYpX91Gop189IMpwiFlZ096l+6N2lD5qi3kCdoS43jcu6r/UGA5REf6Zp3MYZfsIu9q5bOF5zRs864EF/H0mBaTys35zC3NuWOe0BkDe4eB0DeWGtgqDVNFskKNIOgEATviOQJbGj8PYIjoSKQptL7eKJZrnZVK7XjrrZP7GMS8B6WVAZZjg8UTs1e1FeaT01gLebhwWVzOp7DGB4LoR45uVW8/E38JyB/AQ/mxw7gJROSNojLhQCuqHUyhe2QoHYSA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] gnttab: avoid triggering assertion in
 radix_tree_ulong_to_ptr()
Message-ID: <257a7e00-9bdc-0f1f-fc64-a5147ac4157c@suse.com>
Date: Fri, 27 Aug 2021 10:21:47 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: PR3P189CA0002.EURP189.PROD.OUTLOOK.COM
 (2603:10a6:102:52::7) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 08bb5024-ef28-4d9a-4946-08d96933b7f5
X-MS-TrafficTypeDiagnostic: VI1PR04MB7024:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB7024C03EF26864A0CD0FD146B3C89@VI1PR04MB7024.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	h4YU2bQI7vQ6flGtEKEQefnNo3NasbG2RAYsuna0zCdydngAS1DA1EV5dHPEsJL0DQGqgCsQB7CYcxVmwcZC2O7r0WBNvCOrwlfoSf9e84qMSPiPkSoGCZrMC9l74YMeSz09EjVtLoUzXhpCm3I4kXmxI1TnTWjXi9KQYylMHGdyKQEq/6iUwxIaHgEaDQ3zPFDmw9iFze84yJVlfjOMN/O4IP4fWbttE5nD9egveLEMwpW3wvOp94r46E3iQjF8E58k8t5q2SF+ef3Qa9wwaAZxO6s5bCWgiIl7APdx8q6iC9i6tOsyZ+kr7uyb3vLQTQWBUiDRgq4l9tGZhPnrW8FS5gpPMgh51fCdZXl2TCVkWkS3roOvIMMYHhCr44NKHqcWMznUYQnXYlqLLY3TwJW2V/n38eoTTKUdBHPPARzvcRd216WQJcoUBSX1z1A1hAjYAYotJ1/7RHYQh1pe4cljmlGXR9rl+VsVQAZdGv8diA9y1/fAxkCe28e12+4Imm7RgoCQQ7e4C51hzN8zyzct4FfF0/dpWSx+rx52Qyub8VF3YRpHeC7Yc219AD++8tYBkfIn6VlWsQgnKgchtVgyZ2BgPvwtS+4VmIJjoCNVpBQwaHkBfN1PAoL5oFCp5NhERar37WVahkfdlreOffY5IEfQKNcChFZD9upk1CNNGSbrW6x1uAvBuXGO+3nG/ytVueBYi+J2lmbrbTWsyVt3MnWwoxjllpacHHtInx0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(39860400002)(346002)(376002)(366004)(136003)(6916009)(186003)(16576012)(38100700002)(8936002)(54906003)(8676002)(316002)(26005)(31696002)(956004)(66946007)(4326008)(86362001)(36756003)(5660300002)(2616005)(83380400001)(478600001)(2906002)(66556008)(66476007)(6486002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?qQubRLudb/QWC7Q436p/72E4lrDPWuWbGQIhjkWogO7aOPzuYiTP1gkOisgY?=
 =?us-ascii?Q?8e/kcMEHkHJ7DNX4BGZLUDi7T6yBN/r3EESQWgx+d1+QYze7YNzWpBDI+LIr?=
 =?us-ascii?Q?W052xfrOhJ/3ikI3MSqjnBiE77r+40iUTzb0+sd9fYwz0mcr+HfZ+T/fGh0F?=
 =?us-ascii?Q?63L47bSuszgUzvDfgvpa44JNsJ4CG+U9UOl2B7CK6ECQlt43JfFZd/dFf3aM?=
 =?us-ascii?Q?5EMqUvAn3iSN+QMZvkgzGgXeeQ2WHSH0ecpzUxCLYOs1PEYl6b/A2/FCVEHB?=
 =?us-ascii?Q?8r7cGlJVQoMNzesSin5TiexUq7ABr1UPna196B71JKrQP0a+usmbkK7mHpgX?=
 =?us-ascii?Q?OaU9iDoD2roQFJ5+gu+YpdQtiey/RoS/N1FZD2gfJm4hWJ+tWB0mnvKxVC3H?=
 =?us-ascii?Q?0t6txX8FkQ2GV5mUcOVHbiJ6RCsvGKz9Z/dUFKZIVz5mndej6lViQoIzAAkr?=
 =?us-ascii?Q?2S3xRWwcCiKUTdz8iKvLC37LmxegsQIRjlbmA7xu6hlR2KBJ3xGbo/WQsxng?=
 =?us-ascii?Q?alKDD8M5bS5xLJWxN2LrRT7MLhGlQ3praQp4gj7boutRRx2MleIN6OlJscSY?=
 =?us-ascii?Q?wgtVPh8iQcxecTR0MhfctJAsQCi+X3UuUnI2XFVDmQPrlIepssjmxzjuS+yF?=
 =?us-ascii?Q?Zn2XmCp+tEgZid8HL/l20nnOyQPkF/Gj7V3wZ5wWTDuksUttVjmk5kUGyHsF?=
 =?us-ascii?Q?eUkPiWJg/sWIbXOoTtItLFQFYGYp1Qg/RX0zBCtXgpzFX4qFl6mr6AzwcSl1?=
 =?us-ascii?Q?toOmyOVaL2JGPsKtqAVi2NzlPCXBVjvAxjvVfQHt7+7cuUCzJ2XyVc1j3cF9?=
 =?us-ascii?Q?++yeJ0LlBaSQEavaXmoMGcGeGd4fGYVE8vkIOEivn1cIjuPTYtbRgd+KS8wr?=
 =?us-ascii?Q?kL6vYV7c2s1sofjlQiUF6TnIELgwklKAnyI578Qiz8d4fVqKHjeiER6n2M9X?=
 =?us-ascii?Q?6SAxsM0XLhw1gxkhDLmT0hoNGjS9GzXGgaMOnzICc5uAnaEMyq4puczunAZ6?=
 =?us-ascii?Q?vYtUV4CHffLxIX0vjH1+cVuqBqhcwoqOKiN+ikLgxFetaSiMhqTimUROhqXL?=
 =?us-ascii?Q?Zve95E62bIrXcBkT05RS7Eq4TAZdcR0Rpull2J3y9NQBFjGzHPGQ6UM4tuJW?=
 =?us-ascii?Q?QttrRBcyMQ7pAZeRWEr0jMm/AviHfFHlFEyPB90pGRPoOz4cPgU63z9Gjibp?=
 =?us-ascii?Q?0TuNm32MobyDUQWuLSmg5LrD4MhpeYOsW/W7p+A5V0X1wQryzKee8SvXHDAK?=
 =?us-ascii?Q?7m4pYiJM6EsD7stKL3W6hnpv3j12xhNopkXmXO7HlK9bJ0Qx741OrVf8DN+1?=
 =?us-ascii?Q?n4ZdsaWMXa2QH1fxqVHHUxwG?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 08bb5024-ef28-4d9a-4946-08d96933b7f5
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2021 08:21:50.1449
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: oIJuAQ3I9eaIRF0YXkZ9bK+zmr1PxXlFIyGtJ3El/qz/nfv3n6HM2lrjCfs8j6QQ1bQ5ZWLQLYuc3TE8pBkYcg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7024

Relevant quotes from the C11 standard:

"Except where explicitly stated otherwise, for the purposes of this
 subclause unnamed members of objects of structure and union type do not
 participate in initialization. Unnamed members of structure objects
 have indeterminate value even after initialization."

"If there are fewer initializers in a brace-enclosed list than there are
 elements or members of an aggregate, [...], the remainder of the
 aggregate shall be initialized implicitly the same as objects that have
 static storage duration."

"If an object that has static or thread storage duration is not
 initialized explicitly, then:
 [...]
 =E2=80=94 if it is an aggregate, every member is initialized (recursively)
   according to these rules, and any padding is initialized to zero
   bits;
 [...]"

"A bit-field declaration with no declarator, but only a colon and a
 width, indicates an unnamed bit-field." Footnote: "An unnamed bit-field
 structure member is useful for padding to conform to externally imposed
 layouts."

"There may be unnamed padding within a structure object, but not at its
 beginning."

Which makes me conclude:
- Whether an unnamed bit-field member is an unnamed member or padding is
  unclear, and hence also whether the last quote above would render the
  big endian case of the structure declaration invalid.
- Whether the number of members of an aggregate includes unnamed ones is
  also not really clear.
- The initializer in map_grant_ref() initializes all fields of the "cnt"
  sub-structure of the union, so assuming the second quote above applies
  here (indirectly), the compiler isn't required to implicitly
  initialize the rest (i.e. in particular any padding) like would happen
  for static storage duration objects.

Gcc 7.4.1 can be observed (apparently in debug builds only) to translate
aforementioned initializer to a read-modify-write operation of a stack
variable, leaving unchanged the top two bits of whatever was previously
in that stack slot. Clearly if either of the two bits were set,
radix_tree_ulong_to_ptr()'s assertion would trigger.

Therefore, to be on the safe side, add an explicit padding field for the
non-big-endian-bitfields case and give a dummy name to both padding
fields.

Fixes: 9781b51efde2 ("gnttab: replace mapkind()")
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -952,10 +952,13 @@ union maptrack_node {
     struct {
         /* Radix tree slot pointers use two of the bits. */
 #ifdef __BIG_ENDIAN_BITFIELD
-        unsigned long    : 2;
+        unsigned long _0 : 2;
 #endif
         unsigned long rd : BITS_PER_LONG / 2 - 1;
         unsigned long wr : BITS_PER_LONG / 2 - 1;
+#ifndef __BIG_ENDIAN_BITFIELD
+        unsigned long _0 : 2;
+#endif
     } cnt;
     unsigned long raw;
 };



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 08:46:12 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 08:46:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173485.316534 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJXUf-0005q8-JE; Fri, 27 Aug 2021 08:45:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173485.316534; Fri, 27 Aug 2021 08: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 1mJXUf-0005q1-Fk; Fri, 27 Aug 2021 08:45:45 +0000
Received: by outflank-mailman (input) for mailman id 173485;
 Fri, 27 Aug 2021 08:45:44 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=B4Ba=NS=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mJXUe-0005pv-8h
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 08:45:44 +0000
Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 297f4a15-0713-11ec-aa95-12813bfff9fa;
 Fri, 27 Aug 2021 08:45: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: 297f4a15-0713-11ec-aa95-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1630053942;
  h=subject:to:cc:references:from:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=6nz7NnaI/sVa+PPsW9gJKpBw+SgFi8WizR8QQzCzYZU=;
  b=gCfWgniRJ6/P8OlGp9NqTML+xJq0IOvj6LUCjk+O2FZCwsUXWdkxxvMH
   q0QFcrnha/2R5Pa9bOutNXOC8v85c+mfbnr5neKDK+RyAxO/Gdw2JHbJT
   aDwYwBSqR24qi+wjBwAHhaNgjwulnHNvoRlTPSu0C2I3sq14w2lJJEr3z
   Q=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: 0G8RABUrA6Sg0qJVOh7KnYGXGu2eQoARN6sVp1NFwSop/GwB+82Co9uAKg9muANKXQoVVnV0uR
 qjOiR4Zs2DpDw+23jrLx74/Gip/ekZ6a+vYUoudoC+16XbQz3cSUSiAZaEioI8s2nEzRUwAlAc
 nQQLMqMc1jnO+R2h/XhZqonaK8xzC4ZL0q9vDyStg6EQvqt7zcjto3zrv/qqr6um+YelZUh1pN
 3DrzesaHOBkT2afP9a1uQXLQEKRYFvgFQqeWi3UDJKrbbqLI8sRNtnnezjT1937kiHsZwi3Gro
 U+h9SDXuOw/F8+IZzxyiADjT
X-SBRS: 5.1
X-MesageID: 51445973
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:2c2OWaD15m4VyPflHegpsceALOsnbusQ8zAXPh9KJCC9I/bzqy
 nxpp8mPEfP+U4ssQIb6Ku90ci7MDnhHPtOjbX5Uo3SODUO1FHIEGgm1/qa/9SCIVyyygc+79
 YGT0EWMrSZYjZHZITBkW+F+r0bsbq6GdWT9ILjJgBWPGNXgs9bjztRO0K+KAlbVQNGDZ02GN
 63/cxcvQetfnwRc4CSGmQFd/KrnayFqLvWJTo9QzI34giHij2lrJTgFQKD4xsYWzRThZ8/7G
 n+lRDj7KnLiYD09vac7R6T031loqqj9jJxPr3PtiHTEESotu+cXvUgZ1RFhkFwnAjg0idsrD
 CGmWZbAy060QKtQojym2qg5+Co6kdT11byjVCfmnftusr/WXYzDNdAn5tQdl/D51Mnp8wU6t
 M844u1jesiMfr7plWL2zEIbWAbqmOk5X451eIDhX1WVoUTLLdXsIwE5UtQVJMNBjjz5owrGP
 RnSJi03ocfTXqKK3TC+mV/yt2lWXo+Wh+AX0gZo8SQlzxbhmpwwUcUzNEW2n0A6JU+QZ9Z4P
 msCNUgqJheCssNKa5tDuYIRsW6TmTLXBLXKWqXZU/qEakWUki93qIfII9Flt1CXaZ4h6fatK
 6xLm+whFRCCH4GU/f+o6Gj2iq9MVmAYQ==
X-IronPort-AV: E=Sophos;i="5.84,356,1620705600"; 
   d="scan'208";a="51445973"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=W6dQGfZitZhjRnGQ8UN6uvCV76GXYHP8d99wBoliQsCF/XGJ3cwl7aBT1+c8+IyV2qP/B+TxKhCr+0K9FM0gEhwfgkQsgRZqzvOUTYR4nKM/WoSTntEnvsR4cYHBn5cC3Exx4RvI1zDLWfzN4nu0A+H5wwTep0Pi38sWSjdb1UDz8e1h7TAKUB8O3jsDz6jHRmIc2wIei1lXmPequ87BPSH7XMUZKH9Rgl+3pSIAEWt3qHbvuSLA8j1zQzkF//1mAxo05nuhBOYwoSigneds8648mIrYih2quqBwCc0BXoH5asVFzw4A+WZF7egbXjvSxdV1h1PZoOPkCSxxncwErQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3zszDnhp2mtb+TX6xKAVeTyCFLf/tdg0sNoESyqAx2U=;
 b=QhpA79t6C1uxToof4BNHW32zu0QXyo7jYIdRgrG/WgIg2wP0uMNrf+MEXP/Rii+/43BpIjCeIRgHjhB1ZgQc4Hax1j07ZONPj21E6O23pj9YrzpgLPlgKuJBbFsqFOBPKs5HGMzro6jRqA2owWYmaW/3DwI4tjF6gx4nj8y6DhDc2vGQ17uE8NiciOPisd6paZF2ToCXRMa8NPGDGfv9c43mxo0+cBkeEBf6cRtH/mmnzmnel58sS0iNFo2Bgz15IEhFz63kVf1HpgDwRd17RfpPpPoGk0bCbtxmMsykpQWrGi3CE0PHBLITfygjj3AIYSzYaZPhHJztYwOsn1AUOA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3zszDnhp2mtb+TX6xKAVeTyCFLf/tdg0sNoESyqAx2U=;
 b=NkShVCPcV1J4aCLQbFzqbVo1WhVKoPurApyc5RTCUZ7aTVK6B2XtyJBkHh/nFyrA7bOjicW4WnWJPYQ59CB/Ke8MtRtWzzehr5HWgl89bAQP7aGTbRKg5RJsmOtPJj6tfAYbSSaXmgTK+eicceAIeU1do5v8mfLNIJYMzsyhXJ8=
Subject: Re: [PATCH] gnttab: avoid triggering assertion in
 radix_tree_ulong_to_ptr()
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: George Dunlap <george.dunlap@citrix.com>, Ian Jackson
	<iwj@xenproject.org>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <257a7e00-9bdc-0f1f-fc64-a5147ac4157c@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Message-ID: <1c90ba5d-5346-d5e9-ad9f-24152cc9de7d@citrix.com>
Date: Fri, 27 Aug 2021 09:45:32 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <257a7e00-9bdc-0f1f-fc64-a5147ac4157c@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Content-Language: en-GB
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-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 914e9c09-41aa-4c0f-1707-08d969370c00
X-MS-TrafficTypeDiagnostic: SJ0PR03MB5887:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <SJ0PR03MB588737CEF1B31B853DD2FE6EBAC89@SJ0PR03MB5887.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: yaMjZXfmt5jSL1Igxdg44H6OIfkFSZ+INYKrDT9F5mVkkpvi9eyibSKdUSj/6WaQmxTTcwQj2LqwZzXYKGljE1A6nnuwQ+SII6IYYqa89FywnvxXELkXOui9n6AvzBj5QDDKmtBNlPGcJVnteK8y3pqripuUenuHTOYy9uWi/dgfN3W8L/C3JhiYQLEs835G2DtdnITdSMHlTEqut4iZMWj7ocu8sBBYXse4vebhxDUEOTWWxzN3xtMYm2JEeSgJ4oYp5IkfNWFHWvNk1OY6em0jSvpec+6plLQwGwRBsvCywr567IWba9YEEC6+r8KnPtdqiylhoNymfN4hYZcO0/mCqovmBR943LmWmUneaeyPUX0sBQDRVf9wPPrKRph+Eu2fj6gA9EzFA7pdTjHwoYmRSOnDYG8qibAtT22eMRh87tpiAtHHsm4f45+fFmY4gV3pwmf+5DWaKwgtCJursrwUjvw1BXzhiyA2YS4b5NkRqKl2qekoOCTagGgiK3TSIiz+U78uGNli3KS9DgDuMmRMQR01BU9+nlNSBpNJWU4LkwAt4Et2PPwZr6qK61YrFGWEtQYB63sWy7jNzAhi4jCXp7UDWbmr2fMKp2kUjUbCMJf0jQfVOGW8mMjQ7rwS+x4Jg+TtF/AD6Q1S4VZLqyNai5j5O8NxwczU0yctimIFugWQhNtYBbieixl/Ii3izxuhcMraQumV6VttvN1RDKWCh/1JCZoIt8wdFFvNDzA=
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:(4636009)(396003)(376002)(366004)(39860400002)(346002)(136003)(86362001)(186003)(53546011)(2616005)(16576012)(8676002)(54906003)(110136005)(55236004)(478600001)(8936002)(316002)(83380400001)(6666004)(4326008)(31696002)(66556008)(26005)(66476007)(31686004)(38100700002)(2906002)(5660300002)(36756003)(66946007)(6486002)(956004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?U1ZqMXpvRUw3Y3VnYzY0SkZCay9TY255S1YzVlcrdkpnQk41MmhNc2k0c0Vp?=
 =?utf-8?B?ZVE2TVpIUW8zcGxGTVB2MDIrbGdFUGxZQXdlRXE1SGRDNTZOYXdCRUNFL213?=
 =?utf-8?B?Nmx6ZXNjaXpmMFhUOWxEeVk1OGdldTNLbE5lZGlRbW11akZXUklaNjhqRHFP?=
 =?utf-8?B?NGVLQUJHN0tuNitrTzMzUEVFbFFIZWkyUnh4SUZ0UUtDOHFmRTFkTGRzU1F4?=
 =?utf-8?B?VHIvZVFubE1kek1yL1R5ZjFQa2xRL09UeFlIMmlHMXU0Nzc2cldWWmdQVlZ3?=
 =?utf-8?B?dlZEb3ozWTBFbzBFSnJTcTA4dU9ybDFNYktERmMwaVBHM0IzVWpUeFNSSXk0?=
 =?utf-8?B?UUVJL1o2TXhvNHJyM1M2OHlUeU9tL0hkU09vUG53ek5PQ1dFb3ROTFRzc1U4?=
 =?utf-8?B?d2VaMnh6cEhZM1VhZ3VOTENDOEdpSU55V3MzSjRFQ0VoRmE5SWNSOWJUQkE1?=
 =?utf-8?B?eEs1cjJoRGZzOWNCUnJsZUpyZTBoTVFKTklyMk8zTW1FenhYc3E3dlZaY2FN?=
 =?utf-8?B?NzFMMU1TMXZRSVo5cm5naHJsQk1MdnJPUGx6dmNsUmFRazZlUUR3N2s5dmRu?=
 =?utf-8?B?aDNiNDNwZm0ySEFWTFdSNTRuK21vQVlqc2NOOFBtcGJTeVJSRlMwcTVaUWhW?=
 =?utf-8?B?OXpLeVd1RmhnV1FNTjFxQUVETGhreU9leDdIWE1RU1YwbnBTaTVWbTZIaTVm?=
 =?utf-8?B?UlhDaXZ3c0EyWWJHNzVnM3k0TkIydllaMXg2ZEtkdVZETXhlRUhtc2pQVkpH?=
 =?utf-8?B?bGQwcXE0R0dSQmJaODl0NWFTYlhvVmxBeGJSenNDZmVueWo4ZDczYVNoKzYy?=
 =?utf-8?B?NE0wTndRL0M3RCt4bmpiczkrUHl5NENCazhSd2xwOTB2aU9ST0FSdk94dnVn?=
 =?utf-8?B?Zm9mMGpKdXQ5Z3RKU0pXUjRqN3B6dUNXUkNVdlFjdExDWE9hU1pSSjVxNHAr?=
 =?utf-8?B?REtqWjQ5OU5VbytPd05PMjhWRElRajdxd0ZjRmdMM3B6eC96NjcyejI5UFVF?=
 =?utf-8?B?N2ZzcUtRdDdETHBMajZFVHZuUzRvTjRGampxSE52SXFWUUxFQzM4bXZSNGVO?=
 =?utf-8?B?M2cwaHhSOWVmR3lacU9zY21lU0QwMkNSbEZiQjR4R1VQNGFhbWdybkp0UGRL?=
 =?utf-8?B?emxFeXhRek5reVkxNXZvM3VHNGVOdXRWQ0ZBK2tGQi9lYzhBbFZ6S2FtUTh2?=
 =?utf-8?B?MnlxVnNnZXFuQWtOdmpoSHJjSCtvMWYraWNPWWNjWHA2cG4yL0lyOUdFb3lU?=
 =?utf-8?B?Q0Y5T0FPN0tNUTkvczNsS25jK3R6eVhkNVY4VDJiNzdWOWxIUGdpb3JFckN5?=
 =?utf-8?B?OGZJenFsdThkTWpxdGdjR201Uk1hQVJqVTZzU0tQVEVSby9udU1YRnRoeVIr?=
 =?utf-8?B?dnFscmppUE1rS01xM0RySSsyRlhiOTZUYlNhakh6QXpLN3VUN1pxR3Jldllq?=
 =?utf-8?B?d3Q1NER5WkhmdWlua3RJeEh0dG1yQ3dGak0zYVpGbWtBbnhrRDh5eE5TcEZE?=
 =?utf-8?B?NWk0OWFmUzZqbC9SQ3pxLy83SVhQSUlLOXcvYTMyU0R1c2I0Q1F2dHcrenl6?=
 =?utf-8?B?TnVXRy9UcTFFL0Y1ZGNmaUh2OW1rcEI5YmZxdWJqMm1NeWgrREdUZTZtSCtM?=
 =?utf-8?B?dlR2QWlVZWdOUlJuNFRlK0ZOMDA1R3VBK2NUZURtR05xNkp1bWxLcHFSY0pr?=
 =?utf-8?B?ZllHNWVOdWxrQTk3T3FYdFVyd0hpYzFhQTgwS2xpMzFjamFabTBIdFZNSTZ3?=
 =?utf-8?Q?98+Y1XKaPEIPIxrTC7puh2atvxtC5K7/h+rlsEg?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 914e9c09-41aa-4c0f-1707-08d969370c00
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2021 08:45:39.6705
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3VaobdTxpbiq+njSzLijpcqmxP8UaxB0lJqsOzOtplb6GmpfNGgSVt1sulVtrV5Bw7BL3ZCFoPZsWzQruEDdPNr2nKSiScy3gjbn6kVbMTU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5887
X-OriginatorOrg: citrix.com

On 27/08/2021 09:21, Jan Beulich wrote:
> Relevant quotes from the C11 standard:
>
> "Except where explicitly stated otherwise, for the purposes of this
>  subclause unnamed members of objects of structure and union type do not
>  participate in initialization. Unnamed members of structure objects
>  have indeterminate value even after initialization."
>
> "If there are fewer initializers in a brace-enclosed list than there are
>  elements or members of an aggregate, [...], the remainder of the
>  aggregate shall be initialized implicitly the same as objects that have
>  static storage duration."
>
> "If an object that has static or thread storage duration is not
>  initialized explicitly, then:
>  [...]
>  — if it is an aggregate, every member is initialized (recursively)
>    according to these rules, and any padding is initialized to zero
>    bits;
>  [...]"
>
> "A bit-field declaration with no declarator, but only a colon and a
>  width, indicates an unnamed bit-field." Footnote: "An unnamed bit-field
>  structure member is useful for padding to conform to externally imposed
>  layouts."
>
> "There may be unnamed padding within a structure object, but not at its
>  beginning."
>
> Which makes me conclude:
> - Whether an unnamed bit-field member is an unnamed member or padding is
>   unclear, and hence also whether the last quote above would render the
>   big endian case of the structure declaration invalid.
> - Whether the number of members of an aggregate includes unnamed ones is
>   also not really clear.
> - The initializer in map_grant_ref() initializes all fields of the "cnt"
>   sub-structure of the union, so assuming the second quote above applies
>   here (indirectly), the compiler isn't required to implicitly
>   initialize the rest (i.e. in particular any padding) like would happen
>   for static storage duration objects.
>
> Gcc 7.4.1 can be observed (apparently in debug builds only) to translate
> aforementioned initializer to a read-modify-write operation of a stack
> variable, leaving unchanged the top two bits of whatever was previously
> in that stack slot. Clearly if either of the two bits were set,
> radix_tree_ulong_to_ptr()'s assertion would trigger.
>
> Therefore, to be on the safe side, add an explicit padding field for the
> non-big-endian-bitfields case and give a dummy name to both padding
> fields.
>
> Fixes: 9781b51efde2 ("gnttab: replace mapkind()")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 08:52:18 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 08:52:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173494.316544 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJXax-0007WE-8n; Fri, 27 Aug 2021 08:52:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173494.316544; Fri, 27 Aug 2021 08:52:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJXax-0007W7-5q; Fri, 27 Aug 2021 08:52:15 +0000
Received: by outflank-mailman (input) for mailman id 173494;
 Fri, 27 Aug 2021 08:52: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 1mJXaw-0007Vw-Cl; Fri, 27 Aug 2021 08:52: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 1mJXaw-0001Ge-0m; Fri, 27 Aug 2021 08:52: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 1mJXav-0005Ah-Ni; Fri, 27 Aug 2021 08:52:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mJXav-0001wP-Mt; Fri, 27 Aug 2021 08: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=HsEAyEdF3iide9dXLs0kX4UMfk74z5ejCVBJG+B/DD0=; b=xo6ZN49b/BMLqbrVYKtMVA/VAC
	3iyWZ1HiH+CxcAeM9UI7jhYkzfiuZhS2fMgpC8TCPzzg57lTX/N55iLDNm7tqxnPb7X6nyL6Dy6pz
	sILncB4lE3LotgvTn+L4T4XuYrysigYQWmVgh9o9SJg1feFrzsiB0fFkx6Ea0pWnia/8=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164498-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 164498: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=97e4fb3c106fe38c1440e762014390a9821a4d69
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 27 Aug 2021 08:52:13 +0000

flight 164498 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164498/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              97e4fb3c106fe38c1440e762014390a9821a4d69
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  413 days
Failing since        151818  2020-07-11 04:18:52 Z  412 days  402 attempts
Testing same since   164498  2021-08-26 04:20:09 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  Cédric Bosdonnat <cbosdonnat@suse.com>
  Côme Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano Fidêncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Ian Wienand <iwienand@redhat.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  John Ferlan <jferlan@redhat.com>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  Ján Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Michał Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  Moshe Levi <moshele@nvidia.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr Drąg <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tomáš Golembiovský <tgolembi@redhat.com>
  Tomáš Janoušek <tomi@nomi.cz>
  Tuguoyi <tu.guoyi@h3c.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  William Douglas <william.douglas@intel.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 71215 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 09:01:45 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 09:01:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173505.316575 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJXk3-00011Q-KY; Fri, 27 Aug 2021 09:01:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173505.316575; Fri, 27 Aug 2021 09:01: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 1mJXk3-00011J-FU; Fri, 27 Aug 2021 09:01:39 +0000
Received: by outflank-mailman (input) for mailman id 173505;
 Fri, 27 Aug 2021 09:01:38 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jVCk=NS=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJXk2-00011D-6v
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 09:01:38 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 91cd9f73-e856-4e84-872f-fa564a5d313d;
 Fri, 27 Aug 2021 09:01:37 +0000 (UTC)
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur03lp2053.outbound.protection.outlook.com [104.47.9.53]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-37-XJ9kg0oEMJqeevfW_tl7tg-1; Fri, 27 Aug 2021 11:01:35 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5470.eurprd04.prod.outlook.com (2603:10a6:803:d6::33)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Fri, 27 Aug
 2021 09:01:32 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.023; Fri, 27 Aug 2021
 09:01:32 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR2P264CA0048.FRAP264.PROD.OUTLOOK.COM (2603:10a6:101:1::36) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.20 via Frontend Transport; Fri, 27 Aug 2021 09: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: 91cd9f73-e856-4e84-872f-fa564a5d313d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630054896;
	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=SAHcHyJWXLvA18OIYwvYT2sPhL1aH7krd7s/dpGZjQU=;
	b=HYmNhRLPYG6PYsK/P/Ty/UiPhXIQv7Cje+WZWvizP0rDxiETxYLOdlxRZLAnMWuTXSRV4E
	So6HeR1ln7dV0ScB/bmTgxhWnU2hurmZrqBSBc8txg4UuS+ZHv4I8z8C9cgH3qsVuz+YvV
	6Sldj6oqOyqPhCUBQDXRCGALyKLCtEU=
X-MC-Unique: XJ9kg0oEMJqeevfW_tl7tg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aKgIilriRzdFfoTNzY0i7otRcYg8ZeXnxkiHtXOQPWKhCSOoqa2eU2EizJ0VyfnCoW4fz7y+egl5ZsDFWJ+56sRlU1CjKiBALLVMTHqKwwm1/V9SMDg7xkYeaizb+HFBPOVZaqTA4lUL9NZoY6zxg8lSGvCr5EMmWuJHvrSDJpEKK9chC7RR4q6JNYgtbLFnm8vZg25ED7QvypXTfdegLu6pckRkw4WKUUBXxjeMXoJJysJdRGyc/guhEtmCzkM2wCQzrBcO7+Or3N7E0ZgfhMZuXOV53Zu2qS8zJ1LZTGoVgocMsTjsuw2YJc7PDE7+wrTT97aVqsU924MhmcaQKw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SAHcHyJWXLvA18OIYwvYT2sPhL1aH7krd7s/dpGZjQU=;
 b=iZ007c9U2xss/gT8G5DSw/rrI9UnCvXW+fDIylyflUqrWJFeznpNGEVDCcUysG1sN7wO9n2n+lynDuO3kck2HK1uze8VmdLufdCW+9PzZeBv5JLuBw/Kqd6GXcox6ftlUiU+lFA9avcbEPLMChz0L1XyjTTFsnIcQ+LsZGAj0ALmBwSTlit9rQ43yM+NakdIc5lEbhbvM9DXqCy48mSog+JG1c+gbKlQ4ykENN3YN+ymjEherIL/jW0L2fz+JOdwhW533YwTqXLtETaqSlXUx+0nIbX1+7N8WunqCVz4ChKU91dtZnxro8TewIMxx3QtpxlJofM8euDt5KFch/lR6A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
From: Jan Beulich <jbeulich@suse.com>
Subject: Linux: balloon_process() causing workqueue lockups?
To: Juergen Gross <jgross@suse.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Message-ID: <2bfd9396-0967-df51-298b-22a91f570c48@suse.com>
Date: Fri, 27 Aug 2021 11:01:30 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR2P264CA0048.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:101:1::36) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5241aa48-da18-4f19-70d6-08d969394400
X-MS-TrafficTypeDiagnostic: VI1PR04MB5470:
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB5470AA599E572BA5678CA84EB3C89@VI1PR04MB5470.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ik/1z6Lc+NCNMfCnha4qv/pt1VnunFPlfeRGp+UuLFrF2MDaaHz6h6aUrpqEYjWblTMPJ1PbfemQubE8+KjAlYot4vihwHmyiKf1mmv5tKBmqKs5tGk7K8S2g2rF1whgS0RY23nqKSa4Qjx+nSLbBu9nBFC31xaCDVGjaDJC0XAP7tIEvOMejHRDsMfpwE4zo9Y4WYRuguYWgOCc0vso2I2XwsCZwk5rdT5oc2/WrSlol5bAiV9+9ZEvVFG7VreLfM1D1S/iYMeYR/N9bChAUtWogAh052+GSON+RWnQhVR76LmfWmCZoCtKOa+uCZJCwE66yxiFAhpl/zs7nPiKHscSwvmQBJ4LpMIdxPBbP8LU5A3ro+c8Xx7b0FWUhAji6IgmF9+2W8aJ5MDEYckPFv2lysS1CfFjqxtASDAe6/0xXq01bzS/wm7qU+cHpVrDy/dorGhD1u/WaoYWZPuivmySN5PuOqT2X4EMQT/Cddu73MLOYielqpC0Zk4/F07lL/PqKozQTTPsQc3THJe1KkHVjlurJTMPyUf/jphpd/34jegMqrTpxGsptr5UvdnQIqTRf56wfUeGcOj1QhPSJjDB9FfeifjYO9LYVhIfeMrkqXmBExbBDl/wC+G8pnoqttH33kZHZrJNUjxS1rJLneFtuOMRcGQWLpk/Oclrx6sJb6LyvjZSckZkFx+lJeJ8R+5lOOlpqN8ud4YDJPJqxe00hzOiVsVlUzTRZteyJos=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(136003)(39860400002)(346002)(396003)(376002)(4326008)(316002)(38100700002)(186003)(36756003)(66556008)(8936002)(66476007)(31686004)(110136005)(31696002)(16576012)(66946007)(86362001)(26005)(5660300002)(4744005)(6486002)(2906002)(478600001)(2616005)(83380400001)(8676002)(956004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eXZwaW56djhtakkvOG9HM28ralM4d2NlZ3NxU3N2WDlsTnRSaXlGcmMwZG83?=
 =?utf-8?B?cVArWmdzSmZaTEZOaU9GY3hKbkJOdExzVTJSK3p5Zi9PWEVYN0NUMTIwdGdC?=
 =?utf-8?B?MllxOXZ5ZkhZekVUUGpVM2hXakpwSFJEbXBpMDVuZXZhRllYVkRzQmU2TGp3?=
 =?utf-8?B?WUp1NmFna3FTcmNrbFBiT3FzUG1IZFhLalRtaXFia1AxYk5qTUZNSko0enlo?=
 =?utf-8?B?STdTdEFNUWM5UHpJQVNqVTFhb1c2ekdmdVZrN3hzY2p4dE1uU09LOWJQdlY0?=
 =?utf-8?B?K09qMTMvT2U5Kzg5QUVhYnZWSFRnMHZYMUgxekhxM0N3YlltRnRKLzdNT1NJ?=
 =?utf-8?B?SXZ1NGErM2dYbmdhNmtCWFZKQTFIR1VTTDY4KzRsWEVFMkplSFFtT0ljSDB4?=
 =?utf-8?B?K3l3ZkFNRGFrdmZZOFBvbnpQd2ZGWXZjM0djVTdFYTN1TjFJc2t6OEQ5Rng1?=
 =?utf-8?B?V3Q1ZTYrbEExSVQvTk9DYjlSUVpwb2ROU2YxSXdEVTJWMk9YMC9jRjB5VTJN?=
 =?utf-8?B?M3lUWEN1OElNNkZIemc2Z0pXV2EvbXNFaWRNVm04ZjRZbDhDR2grdFppM0Vh?=
 =?utf-8?B?L1Y4SzVSYlFUSGtuMkRKcit4bCtpYXhORjJDTjJhbmNDYVVnZ1ptbzdqRUZH?=
 =?utf-8?B?KzNiOTBEN2Nmek1iRUcrSlVHUDB1UjRyMUJ5dkpvU3pZRTV4VU9tazFodVBG?=
 =?utf-8?B?UXVteXl2c2crb0FESXgySVRVNHp5d3NsQ1JMVDhwUG9oT2JONnhOTW8vR1VD?=
 =?utf-8?B?bGFYVWlzZmVlVVNoem45eFZvY2ZzVWx1bmdmUWlSMG5Ra3lEN0NtdzZBZmFR?=
 =?utf-8?B?c2NhSWNUcEFQM2hacUtMTnpLa3pLckNONVByRHpkZ3V0YVV6d1pUeWMzYzJq?=
 =?utf-8?B?SU9IVlV0bDV6dHVCT2tTLzNtTThuRnk5RlgzUS82ZjNodjZCeHJKUFJ5Y0hW?=
 =?utf-8?B?dnVOUzhtYmtpTVV4SWdadmU1WE1PR05EMGI4ZmFRY0UwVlE0ZEp6eDdVOUZq?=
 =?utf-8?B?dEdSSG5zRWZSeW1ZZDArNlRSc3pDcCtlUklQaXlHblFYMzQ1Y1QxcEhSOHgy?=
 =?utf-8?B?blRpSDdXMWtkU2czMjZLUTU0eTJIU1ZmK2ZGYmhGTUd3T05JcXpWaWVCc0Vr?=
 =?utf-8?B?ZnZLUXdCU2NaclFHQ1gwZ3pUK3B1RStaa1NwamVMWXoxd2JpcmsrZVlGSWhm?=
 =?utf-8?B?aTRYanVsaktVUmNDV2d1L0RQZDArbW1TK0lhbk0vS1hrelpLZHUyZFZ4a0hG?=
 =?utf-8?B?MkhnaHh3ZDBPeFlzUlNpMUNtclNCalhYeE45ZjdlRFh3NUYxRHNQb3NjMGRN?=
 =?utf-8?B?cHp3WGZJRmNXTU9aVitvU2RveElLbDgxL0o1UW54amg2UkMzcHEzcGpWVEll?=
 =?utf-8?B?R3lTS3lWWVVuOEZrM1h0UUZQNkhpRkxQYStORDVQV3JSSkdLRXErOTk3aUxr?=
 =?utf-8?B?aXUwVGQxTnFEUmYwOHdzcFpoUW1MdkV3WGxObW5heWFZVFZBNk9qVWFTcytH?=
 =?utf-8?B?K3FrQW1JWC9KTUhBS0tUTlJOUlhkS0VKajB5YTN0VzlyT0JJbmgraHN2SUlr?=
 =?utf-8?B?UGVPQUk5MjRXTWJ5Sys5aVVQOVV2WktHV2VBU0J2elNnK3NtOExvQmc5aGRT?=
 =?utf-8?B?d2RRZ0tNR05ROTh5RHdvUm1RaDVkMGk1ZTdhZlpOUW5iUzFUK3BxanZNRS9R?=
 =?utf-8?B?Y0NNZHdZMFNPT1FVSlBzc1RXRVZhaVFJR1JUY3lzbTVRQk9OV0RRMEl3QjhG?=
 =?utf-8?Q?0OGTEfAmklHx/SVd/IunFdlmH1N4taYLRt+bztf?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5241aa48-da18-4f19-70d6-08d969394400
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2021 09:01:32.5597
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZPU3ZiOK6q7rYOiQK/rGf1ZgYVSPbjYJTo+yTEP2BAY22tw9osdwf4AXD9i4bFbsN0NdCO5d13Vx/CxsnpfzJQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5470

Hello,

ballooning down Dom0 by about 16G in one go once in a while causes:

BUG: workqueue lockup - pool cpus=6 node=0 flags=0x0 nice=0 stuck for 64s!
Showing busy workqueues and worker pools:
workqueue events: flags=0x0
  pwq 12: cpus=6 node=0 flags=0x0 nice=0 active=2/256 refcnt=3
    in-flight: 229:balloon_process
    pending: cache_reap
workqueue events_freezable_power_: flags=0x84
  pwq 12: cpus=6 node=0 flags=0x0 nice=0 active=1/256 refcnt=2
    pending: disk_events_workfn
workqueue mm_percpu_wq: flags=0x8
  pwq 12: cpus=6 node=0 flags=0x0 nice=0 active=1/256 refcnt=2
    pending: vmstat_update
pool 12: cpus=6 node=0 flags=0x0 nice=0 hung=64s workers=3 idle: 2222 43

I've tried to double check that this isn't related to my IOMMU work
in the hypervisor, and I'm pretty sure it isn't. Looking at the
function I see it has a cond_resched(), but aiui this won't help
with further items in the same workqueue.

Thoughts?

Thanks, Jan



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 09:24:12 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 09:24:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173511.316586 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJY5j-0003oH-At; Fri, 27 Aug 2021 09:24:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173511.316586; Fri, 27 Aug 2021 09:24:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJY5j-0003oA-6P; Fri, 27 Aug 2021 09:24:03 +0000
Received: by outflank-mailman (input) for mailman id 173511;
 Fri, 27 Aug 2021 09:24:01 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zv0+=NS=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mJY5h-0003o4-9I
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 09:24:01 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com (unknown
 [40.107.21.70]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 5bcaf874-450f-4b5b-ad61-d03d8461d7e8;
 Fri, 27 Aug 2021 09:23:58 +0000 (UTC)
Received: from AM6P194CA0107.EURP194.PROD.OUTLOOK.COM (2603:10a6:209:8f::48)
 by AM6PR08MB4833.eurprd08.prod.outlook.com (2603:10a6:20b:ce::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.20; Fri, 27 Aug
 2021 09:23:56 +0000
Received: from AM5EUR03FT039.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:8f:cafe::4d) by AM6P194CA0107.outlook.office365.com
 (2603:10a6:209:8f::48) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17 via Frontend
 Transport; Fri, 27 Aug 2021 09:23:56 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT039.mail.protection.outlook.com (10.152.17.185) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Fri, 27 Aug 2021 09:23:55 +0000
Received: ("Tessian outbound f11f34576ce3:v103");
 Fri, 27 Aug 2021 09:23:54 +0000
Received: from 7634b0c5fa4f.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 3CE03F89-95B1-45CD-A10F-D688F904F350.1; 
 Fri, 27 Aug 2021 09:23:49 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 7634b0c5fa4f.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 27 Aug 2021 09:23:49 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB6PR0801MB2037.eurprd08.prod.outlook.com (2603:10a6:4:74::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.24; Fri, 27 Aug
 2021 09:23:46 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.024; Fri, 27 Aug 2021
 09: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: 5bcaf874-450f-4b5b-ad61-d03d8461d7e8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=O/dgzqWrOHjZ7rsW8BNm6AeKS0e5SxwYmzSQqTo1Y80=;
 b=qfC58wDNytI6+QPgRr7ZYIWHk9f3jCPdaa5Ggi+WW8CLYPoZW86Ji/VJTNdyg+CkEHQdFJ2k9qMKzWQFzVoVbdI8G/+ESh3vYoL4a1VItG4vI/fJhvrDhLO0W8Fs5rG/ScsVQy43hZwrQC9sjaxsg1F2kV0EOy7mVjMG1qqDJH8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=asgyrE9QDwdb35ncOMkucxT6awreiGhpF8AHQ/YuC1o6Um98eWYfeyAbMUBIz78NBrjvqq1yX9P1g4bmdWqzX7wuVhzaNsJPM2hv/Z/g0ptSN/mnp5SEbG0GjHKSA8a+w87jAhxQmUax0bbREemkRy2cWrnzI66WBxH2JsSnYt8aVzF5p4EdJxWqo2LmpLeQhngdVIUTAYKEHA2APftGCFUQBXGywMuLYjWXjhhhwcLL2J2+W5i9vE4Bz8YoJygLWnv9+qbNcbXGMwc4xml9I453s/SiwYecIWkKRVM2w5YWfiRc9C3WJt7f5TA76WIZQSMcHpp7n5DWEJWBN0YBvQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=O/dgzqWrOHjZ7rsW8BNm6AeKS0e5SxwYmzSQqTo1Y80=;
 b=muhLISF0pM0hiob/duNvy3mNR5yKPFnbEiQ9zMZOXoj5/8aDjEdrlYcvbSYgGJ9Eso6vG3WVmKFA2qb053g43VROMXP5ziWKUaHJ9lrQcFkN3xwMS+dRQMszbApMR8wnVddPJX31M2+otsKjEMlwts9ZOVfk7aohVuMjJortWWDsLLc0Evjss12x73iDo4F20VxoYYTnD9lJ8SnV2Op7BXOPKf2o89GZPYuBpKPUCd7X1rQxWDDyKq5dbTpuawOiTv3tg/COGKoJaC+n1lIhNxKS3OoXqO/oQSKYjSE7p/kHgdkwi0y9LCiXTc6VsDVmRP8L5RdX7ZEo3vk8wxov9g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=O/dgzqWrOHjZ7rsW8BNm6AeKS0e5SxwYmzSQqTo1Y80=;
 b=qfC58wDNytI6+QPgRr7ZYIWHk9f3jCPdaa5Ggi+WW8CLYPoZW86Ji/VJTNdyg+CkEHQdFJ2k9qMKzWQFzVoVbdI8G/+ESh3vYoL4a1VItG4vI/fJhvrDhLO0W8Fs5rG/ScsVQy43hZwrQC9sjaxsg1F2kV0EOy7mVjMG1qqDJH8=
From: Wei Chen <Wei.Chen@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"julien@xen.org" <julien@xen.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 18/40] xen/arm: Keep memory nodes in dtb for NUMA
 when boot from EFI
Thread-Topic: [XEN RFC PATCH 18/40] xen/arm: Keep memory nodes in dtb for NUMA
 when boot from EFI
Thread-Index: AQHXjptJE815hXcKO0qqVfBN7cbO2auGhemAgAAfq8A=
Date: Fri, 27 Aug 2021 09:23:46 +0000
Message-ID:
 <DB9PR08MB6857EB87F9CA75CA71A085FF9EC89@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-19-wei.chen@arm.com>
 <alpine.DEB.2.21.2108261622500.24433@sstabellini-ThinkPad-T480s>
In-Reply-To: <alpine.DEB.2.21.2108261622500.24433@sstabellini-ThinkPad-T480s>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: F5C07ACE86169644BA1F02F1058CD806.0
x-checkrecipientchecked: true
Authentication-Results-Original: kernel.org; dkim=none (message not signed)
 header.d=none;kernel.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 910a4c54-8fe8-4b34-94e3-08d9693c647e
x-ms-traffictypediagnostic: DB6PR0801MB2037:|AM6PR08MB4833:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM6PR08MB4833C3423E7FBD69A9044BB49EC89@AM6PR08MB4833.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:9508;OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 mo5FG/D+rb8Aw9sPrfFK+aRJ6rA1cGjbHF4zx5KOt2WljlCGf79Bt6nJlbxDj+SLRkL26MCbrgOEbT5BRdQe1fGz/frmS72fesSz+SPbaAg+iJgCOAgw1LKblizSqUKT7u33utfIKjdzx/ZLFlSUtI5shISDidt4LkS5CUguhesYoGIW1OiIZOUHOv//zriTYRR71k/CnsMaImhlj6Kq9plQYK7p9EHLrLl0nydoIuEUfPkFYVY7Lf6BWA6a8j5Ohe4u87EkSU4rztEKXYotL+qHaGZcrD1nxZa+7O6KTr1xiwSd9WSPcN5L0JkdShGGwnolsGeIg5vUNqhzS/4z2ZNwvV15AkVByzOIBrNDYk6PJYY8h+jEXPJQ+zhma0N4T3VXWbR5B3RJd5W6CNQBf/es12H85DuL6YqHvY5ktscikmuNt9h9l8Sx3doY+2EXc5/QtlFOdO6+1n/CuOQ/AR+JVL0s+p1GMeE6o7iaRnZqK+3KY3hp/vX4ARyn+guJdpoweU9pP3rnQYv12FJzeZGiWpp8sYAS2gL82G2SJUpJhR/Fh1lQXyPF+W6T6MLQ0epksHpUgk7mPhmurovHZNDKGlduFgk9zeYm78L1yiHQA+rBVpsCaY8WtexNZFP4HE2g5js8bgLoHa6orB+y78qb4YV4b41a9GG/2Kuq2BqtKbil+a0xOX6LC7bcxfVPk951y4hyL0sYlWUUlfwlOw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(346002)(366004)(136003)(39860400002)(396003)(376002)(6506007)(55016002)(5660300002)(38100700002)(4326008)(122000001)(83380400001)(53546011)(186003)(478600001)(8936002)(2906002)(38070700005)(66446008)(6916009)(54906003)(66946007)(66476007)(33656002)(52536014)(7696005)(66556008)(86362001)(76116006)(64756008)(8676002)(316002)(71200400001)(26005)(9686003);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?gb2312?B?ZEJVSzRSVUpYT2x0aFJLUEQ4YTFBTXhqQ3pmdXB5L3JLLzRES25UL3p4amJ5?=
 =?gb2312?B?UUI4a0JJZWNRSUJuUXJ0S2lkTVA1OTRUMHZTakpveE11TXp2YnFSK2pkeTZY?=
 =?gb2312?B?elhoMFZweDVMaHdOLy9HN1JuM09MTDN1WmJoajZjTVhCcGU1N0tYQXdER3J5?=
 =?gb2312?B?eGI4aWt2TkxtQThrQ2I2eDkrSmI2ZUJzaHcvU0J3TTB4WVlIckg2K01vYWpF?=
 =?gb2312?B?OEY3UHhiWkNwQzhFdG9YOEVtSmdGbEpPVjYrM0VPTzU3WGsvVVBockVnL3Np?=
 =?gb2312?B?SmVPaTZHY2VSeDB1WVE1MUw4Vy9ZdGNjT2gxZC9nUjFPOW5ocmR3RUFjL21G?=
 =?gb2312?B?ZDVyWFl0ZGR5MnZSeTJUdFZVeUJHUEhSNWorZXdTTGhFRVpZWlA3T1lFVThY?=
 =?gb2312?B?cjB1L254K3RWZDhDRjNqbXN3TGVzNXV3MXRqNWZ5Mk4vQy9MN1kzWTM2SDBu?=
 =?gb2312?B?TUlXRHROVjMxektWYWxxempiL0NOaGV3eFdUbTVhMm9SVndTZFBBeGJ2RkIv?=
 =?gb2312?B?SjZldjdBYmRRSE1HNk80WWxVUGZzaWp4TWdpK0tHNTkrSUdwUlh6WVJsT2c0?=
 =?gb2312?B?Ylp4STlycHpONTFucHdLRENyVk9CNjB6NDFZcnQ4dGJkMFl6TDB2OXpXcUYv?=
 =?gb2312?B?ak4zdjdBaXRJN1NEQ3hQSmVDeXZtQTVsbUlGc1JpWE9rMUlZcngwSGFBL1Qv?=
 =?gb2312?B?VU4yRnhjVEt4aDlSTisycjhnQ09qTURVMkI1SGZjVUF6VktvY0JJVlNuOTdU?=
 =?gb2312?B?d01RMXh2cDM3RDNhNW1JREJ5YjR0RmVnNFNPaXlZa05kTytLYnpsNng3ZmtI?=
 =?gb2312?B?cGpYM1hsUitjdG1JZjNwZXYza0JiWldvWGROandHaGFTcGRhR1MrandIVGJG?=
 =?gb2312?B?a051Q3oxZ2dCVkp4bisxeXFsQ3ZHS2VHbk5RUHdqU2JjMlRxWkhYa2Y0Rm5B?=
 =?gb2312?B?a0kwaUZJLzJLQW45SzBMbEJnNWJibVJiOHdQS1RwYk1ITkNaUk9wZzJFcGZG?=
 =?gb2312?B?bldIandKSlV0dnhuMVZVVkdEb3hMVDhXTEZYSmlmL0RyeGx6SjNvUzFrWTJy?=
 =?gb2312?B?M2V3b2FqUDEvaTF6SVpKcUU0a2YyQVlHZ1JBc0REN2VxQ2VyQ2pDTGUrOGtw?=
 =?gb2312?B?dzV3b1ZBRWlUTFFrN1FqTzNlNHdJYXFqb01KUXE0QjhyaVFDdzdURVJuMjIr?=
 =?gb2312?B?aVlvYm1FZndlZnFKM1h6TDUxUU8vMEhOQ1RpNVZPblhCSTJVTlN0V3FVa0lH?=
 =?gb2312?B?RndmWnJGTW9nbkRIempVRkpMeGdPTlNhM1NuVmFzZlJPM2hjNGFhVGFPQkR1?=
 =?gb2312?B?emllNWhuNjhXTExCTVp5U2lLWlpXUzFBb2o5SUQ3WjVUdTdDZTFyZ09uUGx3?=
 =?gb2312?B?VitBajVyeUZCdGlwL21uRFViQkpqaXZ3QWZ2VTlteWlWb2wrS21jaUhnNFEx?=
 =?gb2312?B?YVhxZmlZZTQ3dGxGbmg2N3JCa0pzQXdmRm53R0RLZWdkQXQyQ0JIT1NCSFFL?=
 =?gb2312?B?S05tazlabk1aNFE5c1ZsdW9qNHNtU0Vsalc0bjhJWXBOZ1BtM21FNzgrVlFa?=
 =?gb2312?B?V1E3NlpkMWI3N3VqRGhYcllLSGhOUzRPbjdWemFnWk8zVWsxdDJQRTVTQkEy?=
 =?gb2312?B?ZWdqNGMweW02TmY2clgzRHZGZUNVRStLWVl2akFWcGREU2dLTWQrNWNiejEz?=
 =?gb2312?B?eEtwem1EMmRBNDlNR3NDVmRsekYvUGtlVFdQdkxHb1RuL2sxUUsyZlVGTlNY?=
 =?gb2312?Q?IOgfcuJpDEY8czpbyV+tbDv1Plwh5Qcldbxwbmk?=
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB2037
Original-Authentication-Results: kernel.org; dkim=none (message not signed)
 header.d=none;kernel.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT039.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a44e1137-891f-4ef6-2b7e-08d9693c5f55
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mPDL7Id34tTiZibcJg/zwnoXBCrlIzasVueWGtOfWIC+aF+kTZCe6fYHo2F3CbD6iITNueOwZz50BcwO1QpB1aep4OipF9bze/WGNSlN+H8Q3NtofrSAl6/67cTszfsjMxB4RKiA5jqPcKEa+M2v+hIsYcdYAzKrW1yNzM16Q1JvvroclpBnsCrCj5NIjudg0wRYoCTONuLsghZZ4n5Kiu9QvliFW+woqTtuzSYZNmo0o8+/85yd8M31MzGpA1wdEioo2j+Mjp+SiAtud9IsQAlNU0rEzoksP+OYP/hoaAlXBihED/bU2m39sH4ycBmlLKUVB83m2KZNiQWNwKHl7pxZkTxnEf4vtFhYNacnECQsRPz/YR5NImjXLSZ/F2mrC34eBsF7M+6CDJVe31ELKHRoUesxFJbZfpZdLReCPf8Zky7NDgxs02y2m66iWDWHAhsZzj04zBKuYYfKepwLaN9Xq5k0W4B1+Zjr6umFQkRWXuNCg3GrmYto/GMzxcTdv+1gC2bR4CeMCC/wbrXKFr4i8GkMEzSErOWLO93R0ycW25QOTPZZS5tYy2zsrUeUHkfEftd/RTD/KsIs957sCwLlIK49pwi5rOdqFdO7MQXhRzCvv1YVfkW//iJtnnGaBIWpPhN/eg5FL1mlKQ/46EGe1lkaaB1u+DIJlxaWcIgEy1MAl2wmx577Nnbd2Ishy+JK0wvRaGhKP/EGM+pI/0Q1JTPHBnYDxX4SWTpoKis=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ErrorRetry;CAT:NONE;SFS:(4636009)(46966006)(36840700001)(4326008)(33656002)(6862004)(54906003)(508600001)(8676002)(55016002)(47076005)(86362001)(2906002)(36860700001)(316002)(52536014)(5660300002)(70586007)(186003)(9686003)(6506007)(81166007)(53546011)(82310400003)(83380400001)(356005)(8936002)(26005)(7696005)(336012)(70206006)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2021 09:23:55.3767
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 910a4c54-8fe8-4b34-94e3-08d9693c647e
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT039.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4833

SGkgU3RlZmFubywNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBTdGVm
YW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+DQo+IFNlbnQ6IDIwMjHE6jjU
wjI3yNUgNzoyNQ0KPiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiB4ZW4t
ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmc7IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc7IGp1bGll
bkB4ZW4ub3JnOw0KPiBqYmV1bGljaEBzdXNlLmNvbTsgQmVydHJhbmQgTWFycXVpcyA8QmVydHJh
bmQuTWFycXVpc0Bhcm0uY29tPg0KPiBTdWJqZWN0OiBSZTogW1hFTiBSRkMgUEFUQ0ggMTgvNDBd
IHhlbi9hcm06IEtlZXAgbWVtb3J5IG5vZGVzIGluIGR0YiBmb3INCj4gTlVNQSB3aGVuIGJvb3Qg
ZnJvbSBFRkkNCj4gDQo+IE9uIFdlZCwgMTEgQXVnIDIwMjEsIFdlaSBDaGVuIHdyb3RlOg0KPiA+
IEVGSSBjYW4gZ2V0IG1lbW9yeSBtYXAgZnJvbSBFRkkgc3lzdGVtIHRhYmxlLiBCdXQgRUZJIHN5
c3RlbQ0KPiA+IHRhYmxlIGRvZXNuJ3QgY29udGFpbiBtZW1vcnkgTlVNQSBpbmZvcm1hdGlvbiwg
RUZJIGRlcGVuZHMgb24NCj4gPiBBQ1BJIFNSQVQgb3IgZGV2aWNlIHRyZWUgbWVtb3J5IG5vZGUg
dG8gcGFyc2UgbWVtb3J5IGJsb2NrcycNCj4gPiBOVU1BIG1hcHBpbmcuDQo+ID4NCj4gPiBCdXQg
aW4gY3VycmVudCBjb2RlLCB3aGVuIFhlbiBpcyBib290aW5nIGZyb20gRUZJLCBpdCB3aWxsDQo+
ID4gZGVsZXRlIGFsbCBtZW1vcnkgbm9kZXMgaW4gZGV2aWNlIHRyZWUuIFNvIGluIFVFRkkgKyBE
VEINCj4gPiBib290LCB3ZSBkb24ndCBoYXZlIG51bWEtbm9kZS1pZCBmb3IgbWVtb3J5IGJsb2Nr
cyBhbnkgbW9yZS4NCj4gPg0KPiA+IFNvIGluIHRoaXMgcGF0Y2gsIHdlIHdpbGwga2VlcCBtZW1v
cnkgbm9kZXMgaW4gZGV2aWNlIHRyZWUgZm9yDQo+ID4gTlVNQSBjb2RlIHRvIHBhcnNlIG1lbW9y
eSBudW1hLW5vZGUtaWQgbGF0ZXIuDQo+ID4NCj4gPiBBcyBhIHNpZGUgZWZmZWN0LCBpZiB3ZSBz
dGlsbCBwYXJzZSBib290IG1lbW9yeSBpbmZvcm1hdGlvbiBpbg0KPiA+IGVhcmx5X3NjYW5fbm9k
ZSwgYm9vdG1lbS5pbmZvIHdpbGwgY2FsY3VsYXRlIG1lbW9yeSByYW5nZXMgaW4NCj4gPiBtZW1v
cnkgbm9kZXMgdHdpY2UuIFNvIHdlIGhhdmUgdG8gcHJ2ZW50IGVhcmx5X3NjYW5fbm9kZSB0bw0K
PiA+IHBhcnNlIG1lbW9yeSBub2RlcyBpbiBFRkkgYm9vdC4NCj4gPg0KPiA+IEFzIEVGSSBBUElz
IG9ubHkgY2FuIGJlIHVzZWQgaW4gQXJtNjQsIHNvIHdlIGludHJvZHVjZWQgYSB3cmFwcGVyDQo+
ID4gaW4gaGVhZGVyIGZpbGUgdG8gcHJldmVudCAjaWZkZWYgQ09ORklHX0FSTV82NC8zMiBpbiBj
b2RlIGJsb2NrLg0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogV2VpIENoZW4gPHdlaS5jaGVuQGFy
bS5jb20+DQo+ID4gLS0tDQo+ID4gIHhlbi9hcmNoL2FybS9ib290ZmR0LmMgICAgICB8ICA4ICsr
KysrKystDQo+ID4gIHhlbi9hcmNoL2FybS9lZmkvZWZpLWJvb3QuaCB8IDI1IC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0NCj4gPiAgeGVuL2luY2x1ZGUvYXNtLWFybS9zZXR1cC5oIHwgIDYgKysr
KysrDQo+ID4gIDMgZmlsZXMgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgMjYgZGVsZXRpb25z
KC0pDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2Jvb3RmZHQuYyBiL3hlbi9h
cmNoL2FybS9ib290ZmR0LmMNCj4gPiBpbmRleCA0NzZlMzJlMGY1Li43ZGYxNDlkYmNhIDEwMDY0
NA0KPiA+IC0tLSBhL3hlbi9hcmNoL2FybS9ib290ZmR0LmMNCj4gPiArKysgYi94ZW4vYXJjaC9h
cm0vYm9vdGZkdC5jDQo+ID4gQEAgLTExLDYgKzExLDcgQEANCj4gPiAgI2luY2x1ZGUgPHhlbi9s
aWIuaD4NCj4gPiAgI2luY2x1ZGUgPHhlbi9rZXJuZWwuaD4NCj4gPiAgI2luY2x1ZGUgPHhlbi9p
bml0Lmg+DQo+ID4gKyNpbmNsdWRlIDx4ZW4vZWZpLmg+DQo+ID4gICNpbmNsdWRlIDx4ZW4vZGV2
aWNlX3RyZWUuaD4NCj4gPiAgI2luY2x1ZGUgPHhlbi9saWJmZHQvbGliZmR0Lmg+DQo+ID4gICNp
bmNsdWRlIDx4ZW4vc29ydC5oPg0KPiA+IEBAIC0zMzUsNyArMzM2LDEyIEBAIHN0YXRpYyBpbnQg
X19pbml0IGVhcmx5X3NjYW5fbm9kZShjb25zdCB2b2lkICpmZHQsDQo+ID4gIHsNCj4gPiAgICAg
IGludCByYyA9IDA7DQo+ID4NCj4gPiAtICAgIGlmICggZGV2aWNlX3RyZWVfbm9kZV9tYXRjaGVz
KGZkdCwgbm9kZSwgIm1lbW9yeSIpICkNCj4gPiArICAgIC8qDQo+ID4gKyAgICAgKiBJZiBzeXN0
ZW0gYm9vdCBmcm9tIEVGSSwgYm9vdGluZm8ubWVtIGhhcyBiZWVuIHNldCBieSBFRkksDQo+ID4g
KyAgICAgKiBzbyB3ZSBkb24ndCBuZWVkIHRvIHBhcnNlIG1lbW9yeSBub2RlIGZyb20gRFRCLg0K
PiA+ICsgICAgICovDQo+ID4gKyAgICBpZiAoIGRldmljZV90cmVlX25vZGVfbWF0Y2hlcyhmZHQs
IG5vZGUsICJtZW1vcnkiKSAmJg0KPiA+ICsgICAgICAgICAhYXJjaF9lZmlfZW5hYmxlZChFRklf
Qk9PVCkgKQ0KPiA+ICAgICAgICAgIHJjID0gcHJvY2Vzc19tZW1vcnlfbm9kZShmZHQsIG5vZGUs
IG5hbWUsIGRlcHRoLA0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRy
ZXNzX2NlbGxzLCBzaXplX2NlbGxzLA0KPiAmYm9vdGluZm8ubWVtKTsNCj4gPiAgICAgIGVsc2Ug
aWYgKCBkZXB0aCA9PSAxICYmICFkdF9ub2RlX2NtcChuYW1lLCAicmVzZXJ2ZWQtbWVtb3J5Iikg
KQ0KPiANCj4gDQo+IElmIHdlIGFyZSBnb2luZyB0byB1c2UgdGhlIGRldmljZSB0cmVlIGluZm8g
Zm9yIHRoZSBudW1hIG5vZGVzIChhbmQNCj4gcmVsYXRlZCBtZW1vcnkpIGRvZXMgaXQgbWFrZSBz
ZW5zZSB0byBzdGlsbCByZWx5IG9uIHRoZSBFRkkgdGFibGVzIGZvcg0KPiB0aGUgbWVtb3J5IG1h
cD8NCj4gDQo+IEkgd29uZGVyIGlmIHdlIHNob3VsZCBqdXN0IHVzZSBkZXZpY2UgdHJlZSBmb3Ig
bWVtb3J5IGFuZCBpZ25vcmUgRUZJDQo+IGluc3RlYWQuIERvIHlvdSBrbm93IHdoYXQgTGludXgg
ZG9lcyBpbiB0aGlzIHJlZ2FyZD8NCg0KV2UgZG9uJ3QgdXNlIGRldmljZSB0cmVlIGZvciBtZW1v
cnkgbWFwIG9uIEVGSSBib290LiBXZSBqdXN0IHJlcGx5IG9uDQpkZXZpY2UgdHJlZSB0byBwcm92
aWRlIG1lbW9yeSBOVU1BIG5vZGUgaW5mby4gQmVjYXVzZSBFRkkgc3lzdGVtIHRhYmxlDQpkb2Vz
bid0IGNvbnRhaW4gdGhpcyBraW5kIG9mIGRhdGEuDQoNCkkgaGF2ZSBhIHF1aWNrIGxvb2sgaW50
byBMaW51eC4gTGludXggZWZpIHN0dWIgaGFzIGEgdXBkYXRlX2ZkdCBmdW5jdGlvbiBpbjoNCmRy
aXZlcnMvZmlybXdhcmUvZWZpL2xpYnN0dWIvZmR0LmMuIEluIHRoaXMgZnVuY3Rpb24sIGVmaSBz
dHViIG9ubHkgZGVsZXRlDQpyZXNlcnZlIG1lbW9yeSBub2Rlcy4gVXNhYmxlIG1lbW9yeSBub2Rl
cyB3aWxsIG5vdCBiZSB0b3VjaGVkIGluIHRoaXMgZnVuY3Rpb24uDQoNCkJlZm9yZSBMaW51eCBl
ZmlfaW5pdCwgZWFybHlfaW5pdF9kdF9zY2FuIHdpbGwgYmUgaW52b2tlZC4gVGhpcyBtZWFucywg
aWYgdGhlDQplZmkgc3R1YiBkb2Vzbid0IHJlbW92ZSB0aGUgbm9ybWFsIG1lbW9yeSBub2Rlcywg
dGhlc2Ugbm9kZXMgd2lsbCBiZSBmb3VuZCBhbmQNCmFkZGVkIHRvIG1lbWJsb2NrIGJ5IGVhcmx5
X2luaXRfZHRfYWRkX21lbW9yeV9hcmNoKCk7DQoNCkxhdGVyLCBpbiBlZmlfaW5pdCwgc3l0ZW10
YWJsZS0+bWVtb3J5X2Rlc2NyaXB0aW9uIHdpbGwgYWxzbyBiZSBwYXJzZWQsDQp0aGUgbWVtb3J5
IGJsb2NrIHdpbGwgYmUgYWRkZWQgdG8gbWVtYmxvY2sgYnkgZWFybHlfaW5pdF9kdF9hZGRfbWVt
b3J5X2FyY2guDQpTbyB0aGUgZHVwbGljYXRlZCBtZW1vcnkgbm9kZXMgd2lsbCBiZSBtZXJnZWQv
aWdub3JlZCBpbiBtZW1ibG9ja19hZGQuDQoNCkluIExpbnV4IE5VTUEgaW5pdCwgaWYgQUNQSSBp
cyBvZmYsIHRoZSBOVU1BIGluZm8gd2lsbCBiZSBwYXJzZWQgZnJvbSBEVC4NCg0KU28gSSB0aGlu
ayBpbiBFRkkgYm9vdCwgd2UgdXNlIHN5c3RlbSB0YWJsZSB0byBwYXJzZSBtZW1vcnksIGJ1dCB1
c2UNCkRUIHRvIHBhcnNlIE5VTUEgaW5mby4gSXQgZG9lc24ndCBzZWVtIHBhcnRpY3VsYXJseSBz
dHJhbmdlIDogKQ0KDQpDaGVlcnMsDQpXZWkgQ2hlbg0KDQoNCg0K


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 09:27:04 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 09:27:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173517.316596 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJY8d-0004Qe-OL; Fri, 27 Aug 2021 09:27:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173517.316596; Fri, 27 Aug 2021 09:27:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJY8d-0004QX-LJ; Fri, 27 Aug 2021 09:27:03 +0000
Received: by outflank-mailman (input) for mailman id 173517;
 Fri, 27 Aug 2021 09:27:02 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jVCk=NS=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJY8c-0004QP-A9
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 09:27:02 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 27329f27-3014-41fd-8429-67c93a0c020b;
 Fri, 27 Aug 2021 09:27:01 +0000 (UTC)
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur02lp2053.outbound.protection.outlook.com [104.47.6.53]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-17-uH3g4OaJPwuBYxN1Byf8Ng-1; Fri, 27 Aug 2021 11:26:58 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB6861.eurprd04.prod.outlook.com (2603:10a6:803:13c::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 27 Aug
 2021 09:26:57 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.023; Fri, 27 Aug 2021
 09:26:57 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0235.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1e::31) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.20 via Frontend Transport; Fri, 27 Aug 2021 09:26:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 27329f27-3014-41fd-8429-67c93a0c020b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630056420;
	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=49X9HUtKmCoxlpsj64qfOvL54npLODYkICa9fxmHsjk=;
	b=iRZY8wiPL0jGFqII1yz7K1yxCIQH8P1TKm5rAgYq5Ka7lGC+NRMJPW6PCkaWfKNZKY1O4j
	7MeypTw54gNb6wCBxoeUFDdX0u7wdHQXSDF6ZmRq7Halk5k+zTS/UCxmTfsSo+/yMa/E1r
	F1J1dWSudjjPXkRjbuO/DK/vUhRPhfA=
X-MC-Unique: uH3g4OaJPwuBYxN1Byf8Ng-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ERsWoW54M+b75apBnzWqCmBDPzpefaCY4nRDhH2dDdzprrkF0hI7VzWRY3kbnMzsTqxgOhfYTVNSaaMF2SIWdqeVzE2dspA3WGRiWzBdJ4cINV+OmNKyu6dSxEbraWxAzb2zES1XLxEIrmYJAYDxirrX6R8WeV88U8paXAJojBfUqJXNn/xAJlJjACGKo+hnqBh3NrDnOzG+4WJK6vaFOeJbk2iOlZlwQWu7VBCLzA+le1tCBhMSAZiAmJ1AYL+ly5nx8YJLA2pyvsQaaMtHA6AzYHgWB3TdgM4PHtjWvlNnHWCDNlV0kSHNxQMwC5l1ZO3PPxdMQxRXp4HnXUiMlA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=49X9HUtKmCoxlpsj64qfOvL54npLODYkICa9fxmHsjk=;
 b=GhA4MhMgUw0T0pjVdgJ7iqUkm+N45z+8w1nGgJxrRzjgitGEiW5vYpHhUYbG/bMgsOV16v59F3X+e7IrCU6wOgnMJ+mlB8XDTrGsiFbps0F7qBoE802Y6vg4SIjEWSvRQRAEPrEAgl7qQVgt08UhaofdFU97PRVbO48BPV97GQRukAIsbe5bVPeUMPr9sXEXWvFT/gkH2hLQgRDbMs+BK3I4eWN4LihLCoErr4x9Gr0R4NLExBLNDVHde9RgIUwOgyYBIU6arBvLyOMf/s/dmKcfWFR1ltzoYI6LwN6tXtcqK9OKlp2nACjoo56ip40rzmlBiw2+75dNuLVCejulmA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: citrix.com; dkim=none (message not signed)
 header.d=none;citrix.com; dmarc=none action=none header.from=suse.com;
Subject: Re: HVM guest only bring up a single vCPU
To: Julien Grall <julien@xen.org>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <a1724918-94bf-748f-5c4b-5a3ec176368f@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <dc1e3e1f-f7b1-6f73-3a16-804496952df5@suse.com>
Date: Fri, 27 Aug 2021 11:26:54 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <a1724918-94bf-748f-5c4b-5a3ec176368f@xen.org>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0235.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1e::31) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 0f80904f-f2d1-4b88-d96e-08d9693cd107
X-MS-TrafficTypeDiagnostic: VI1PR04MB6861:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB686163371571D1130E2B1E4CB3C89@VI1PR04MB6861.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	K7tie/qPOnmgnPgn8kq0OWTPKYGSWhLt4E9kwabltIjbFkey/vY8LP6JHKHZeWIRFjCZSTxD2HESMlNprro5pYN4VFNnJ4RWM9WhRN05SzRLwelhP/GNUvMxIL4Jv+JQMi62cMdkaWH6OwEzhS94RspXQYjtdluD+E+7J4+8hX1mpWBPSHJSm8vjTT2v8h2EUpFtxjUjIfKi3BVQuK5N1f5QNs9qH9Ejk0oxFINeCTCeUTdpspb+1HdUPbxhiCPiGVmFcJaP94fMW1OwpOuQyA1MBtBwst/EvXyh5OAA2rOSIH6VJh7W8fl6JaqAv9Wgm3tjjmUZYeS8YnEZHdg3tWCOi6b6rdM/aX/R5qajAYCJk+lkOJv33+RE2pdcYAPVU2l0MnTCkAJRV9mqm6snC056TfWZXmCZdxG93Lr+dMTOFWD40XvgSEGkdfGwadXJSZumQnxCf1MGm4Eh6j7G5FDb9W6V4ONVCif0UEK7cJQiYLYuEir1d16OcrY51OxVkRUZi0khEH8WYkWI7rN6V4FPfbVNwJBCy4ITmHZrIdYmpotsT0es2eR538BmzzZ+TXuAz5CzjktzNWfYkrg+NXBX94Mevnmgg+mdqzQZrgcPqkHjZlRbk89a2YNp7DIvqOVwPKnpW04fGQLVy1iXhBJk82+Dn+bCB+ASygS9ZHp0Cl9ELyokiGHTD926iyvKB4uVsX/QVJeRvS8vMlUpAei99s6MAX5ilC7eE98AaWU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(396003)(366004)(136003)(346002)(39860400002)(956004)(8676002)(2616005)(8936002)(86362001)(6666004)(6486002)(83380400001)(6916009)(66476007)(2906002)(5660300002)(53546011)(186003)(36756003)(26005)(316002)(16576012)(66946007)(4326008)(478600001)(66556008)(54906003)(31696002)(38100700002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Q2xFS0F0NlpPQUZRb0g1NUdaZkNYWDBJS09ERFNSWmJpbXZGNjROaWdRdXN6?=
 =?utf-8?B?empYRHZxZW5KRmNDVlAwUmVQL2M0WGZONG1ad29VdDBSb2FCUklOQ0JhQ0kz?=
 =?utf-8?B?eUIzTEgzSGppTUNKVzZNcUZOemFZNTN6bXUrblg3QjVoSVFLU1dZdkNLNFlq?=
 =?utf-8?B?eHpKaE1ySjdpZ2RwZjV6cVE0OXpJb0tBT3BRQW5zZDUrTFdZUnZlL3pNUzBQ?=
 =?utf-8?B?YWJWN3c1c1JqNHhYazZzR0IrK1VrQ2s2OVBKcDZCRFRNdkQ2UzFXVmhYbjBU?=
 =?utf-8?B?MVUxeldEbWJSR3FpZ29zY0d3TGJYTFhvWHNhZlNjdU1uM1pWbjdXR0l0b1hh?=
 =?utf-8?B?Rm0wNWVqZGZNN0pIK3R1bFhBLzBrQjZWR28vaHYrZXd3NFBKV2ROazFJMGtF?=
 =?utf-8?B?dDQzejVYYzFIcXhKVEp6K0EvTE00RnAyZ2dMSUhFdVNxbXdZOGZ6L2RPbjdX?=
 =?utf-8?B?YlJRazZQUE82RXRHT2EybjNROG93U0xWa3JBcFFXL3FHUituTEtTWmpVdlNE?=
 =?utf-8?B?Q1VRTzRFNW5CZ1FYRzljc2dOOUg0OVhLVDhmd1EvTUxuUWxMMjFIb2lFMGNt?=
 =?utf-8?B?YTNLZXFLUUZyUEtJMUtIL1JuaDQ4RytGeUpsTHc2c1diWElFWHBiS3VtLzhw?=
 =?utf-8?B?blFybVpTYmd6V1RIcjgvSHZvY3Qxc3ovODZCOTJRcFlyemFpZTg2T3A2NzA0?=
 =?utf-8?B?MEFKNlNtVmY0WmpqeWs5Y0cyYnhmbTd4SGVCN2VRamVVOFRWcXhqRXVyWDdV?=
 =?utf-8?B?cEhaOGFILy9jZ1p2ZjZMeGoxcXZzWXkyU1MwZFBwYVpvR0hOTlcrWEUxMHBE?=
 =?utf-8?B?UllEM0pkWEIvMEw5QW9ZcDdKZGhBYkVnQkhlam1LV1NiZDFLeTdpQ1IycFIw?=
 =?utf-8?B?TE9VTklnZ1Y1U2RSM3gxNVpKeElRcWJDYkJxZCtnWnRkQXdtWllaQ0JhU0do?=
 =?utf-8?B?clNYelFvcmszRW41b05WSmR5NnpDMCtnVlZCZ3Exd0dpcXgrK3E4akZidnFL?=
 =?utf-8?B?b3B5dFA5UEdmbTVBY01rTGM5RFROSlBET3h3WjZSSmxaN3pnSnlCV05FdU50?=
 =?utf-8?B?YVJHTWRFNzltWkY3NGFjNVJpZ3pYNUd6SXZYNnhnTVdSMk15OEV1MW0xZDJF?=
 =?utf-8?B?bERCdG5lZDVuVWo5eDZRRGdySEI2OXI4QmVFZ0pqalA3Qy8rNDlRaWJzb0hT?=
 =?utf-8?B?V1VlRjdiNVVrNEJKNjVrYzgwZy92THlQQXpEWkRUT3dBRExQVmhFM3EvL1Bs?=
 =?utf-8?B?WUxONHAzV0tUZXB5QlRhdkpTSEdWcEF1L0U1bXQwY0dSbSt5M3lXZHNyRzNp?=
 =?utf-8?B?T1FYYmRUazdCL3pUbDgrSHBrS2F5MzJCcUYwTE9mZHdQc1VVcUtKcW4rK3Rp?=
 =?utf-8?B?MDdERnc4aGZOVEN1U0t3MXhWdUJYM0d3SjQvQ0lhL2hMcWZSaGoxOG9pZDk3?=
 =?utf-8?B?TXFtWVpBNk5RSHpEUXR3OVdoRWl6VzZMVzBIMU5Pc2JMUEMxZGpKdk0yZDV5?=
 =?utf-8?B?dk9saFU3Rm5NdGFQNm9ZcjMrdnNNYWpPR0dYTWNCcnRuUXRmaU92Ris4RnZx?=
 =?utf-8?B?S3NNUVBsR0gxUTZLS2J2NWMxTjFtc3pwMTRDdFV0MmV4NmJGWVllNVV2ZXVD?=
 =?utf-8?B?dWdnK3NveDB3Ui8ybUc3aitGZ0JuQ0VCbERYdzlrd1ZKc2F0MnVzaitzeWdi?=
 =?utf-8?B?VEZpamFuT0xiT0RNNFFycUxBVml3WFdNd2RCSHZ3bGUyVnovL3ZHTXlDdzJN?=
 =?utf-8?Q?ufNaxQz2ulwgC8I6ZGNjKS3EAJh2Xnp5Dr+gWdq?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0f80904f-f2d1-4b88-d96e-08d9693cd107
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2021 09:26:57.7041
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1zr3+x8QdOb4Nzh8YaAMRYSyft1syhz3cRncQ+xeoJHL1F4sPJoIUExj63RxOFVfNPLCREDd91+aWD2oqO+qYw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6861

On 26.08.2021 23:00, Julien Grall wrote:
> Digging down, Linux will set smp_num_siblings to 0 (via 
> detect_ht_early()) and as a result will skip all the CPUs. The value is 
> retrieve from a CPUID leaf. So it sounds like we don't set the leaft 
> correctly.

Xen leaves leaf 1 EBX[23:16] untouched from what the tool stack
passes. The tool stack doubles the value coming from hardware
(or qemu in your case), unless the result would overflow. Hence
it would look to me as if the value coming from qemu has got to
be zero. Which is perfectly fine if HTT is off, just that
libxenguest isn't prepared for this. Could you see whether the
patch below helps (making our hack even hackier)?

Jan

libxenguest/x86: ensure CPUID[1].EBX[32:16] is non-zero for HVM

We unconditionally set HTT, so merely doubling the value read from
hardware isn't going to be correct if that value is zero.

Reported-by: Julien Grall <julien@xen.org>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
I question the doubling in the first place, as that leads to absurd
values when the underlying hardware has a value larger than 1 here. I'd
be inclined to suggest to double the value only if the incoming value
has bit 0 set. And then we'd want to also deal with the case of both
bit 0 and bit 7 being set (perhaps by clearing bit 0 in this case).

--- a/tools/libs/guest/xg_cpuid_x86.c
+++ b/tools/libs/guest/xg_cpuid_x86.c
@@ -594,7 +594,9 @@ int xc_cpuid_apply_policy(xc_interface *
          * Update to reflect vLAPIC_ID = vCPU_ID * 2, but make sure to avoid
          * overflow.
          */
-        if ( !(p->basic.lppp & 0x80) )
+        if ( !p->basic.lppp )
+            p->basic.lppp = 2;
+        else if ( !(p->basic.lppp & 0x80) )
             p->basic.lppp *= 2;
 
         switch ( p->x86_vendor )



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 09:29:12 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 09:29:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173526.316611 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJYAf-0005C1-A1; Fri, 27 Aug 2021 09:29:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173526.316611; Fri, 27 Aug 2021 09:29:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJYAf-0005Bu-6t; Fri, 27 Aug 2021 09:29:09 +0000
Received: by outflank-mailman (input) for mailman id 173526;
 Fri, 27 Aug 2021 09:29:07 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=hYM7=NS=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mJYAd-0005Bl-Q6
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 09:29:07 +0000
Received: from smtp-out2.suse.de (unknown [195.135.220.29])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 570f2c8a-9e1b-4ae5-b2e0-130dc151ffb9;
 Fri, 27 Aug 2021 09:29:06 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 991101FED8;
 Fri, 27 Aug 2021 09:29:05 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 72601137C0;
 Fri, 27 Aug 2021 09:29:05 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id FuD0GWGwKGF3KQAAGKfGzw
 (envelope-from <jgross@suse.com>); Fri, 27 Aug 2021 09:29:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 570f2c8a-9e1b-4ae5-b2e0-130dc151ffb9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1630056545; 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=J/EXzJfGZD/uNu+Y9v9VU+F57kf4IyLzhzk16F8kAvY=;
	b=OKHeKbq3cCCHttBvKxlp6D9FbCkbE2BKWB7pSo0rmmJEQwBXN7avyjCgvwcrOPqDQEG3fZ
	othxcwXCcaSCeY37CuC8L7QPQl8egfia411iQnHK03XAV0hmXpRjZfj7cqxWEz9Nf8MeTe
	6eEf45V/VuwsviFJlVly+YATjSwnu9o=
To: Jan Beulich <jbeulich@suse.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <2bfd9396-0967-df51-298b-22a91f570c48@suse.com>
From: Juergen Gross <jgross@suse.com>
Subject: Re: Linux: balloon_process() causing workqueue lockups?
Message-ID: <744feab4-44a8-bb57-a03a-4cc2b8a78f88@suse.com>
Date: Fri, 27 Aug 2021 11:29:04 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <2bfd9396-0967-df51-298b-22a91f570c48@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="ASPP1Rn4sdZ9i3IgFygjgpuM3doc3zWJM"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--ASPP1Rn4sdZ9i3IgFygjgpuM3doc3zWJM
Content-Type: multipart/mixed; boundary="XjuGZgQUY7UfsuT1InQ8lzH63EhbkAqtZ";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Message-ID: <744feab4-44a8-bb57-a03a-4cc2b8a78f88@suse.com>
Subject: Re: Linux: balloon_process() causing workqueue lockups?
References: <2bfd9396-0967-df51-298b-22a91f570c48@suse.com>
In-Reply-To: <2bfd9396-0967-df51-298b-22a91f570c48@suse.com>

--XjuGZgQUY7UfsuT1InQ8lzH63EhbkAqtZ
Content-Type: multipart/mixed;
 boundary="------------51B98A6D97C44F33D658744F"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------51B98A6D97C44F33D658744F
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 27.08.21 11:01, Jan Beulich wrote:
> Hello,
>=20
> ballooning down Dom0 by about 16G in one go once in a while causes:
>=20
> BUG: workqueue lockup - pool cpus=3D6 node=3D0 flags=3D0x0 nice=3D0 stu=
ck for 64s!
> Showing busy workqueues and worker pools:
> workqueue events: flags=3D0x0
>    pwq 12: cpus=3D6 node=3D0 flags=3D0x0 nice=3D0 active=3D2/256 refcnt=
=3D3
>      in-flight: 229:balloon_process
>      pending: cache_reap
> workqueue events_freezable_power_: flags=3D0x84
>    pwq 12: cpus=3D6 node=3D0 flags=3D0x0 nice=3D0 active=3D1/256 refcnt=
=3D2
>      pending: disk_events_workfn
> workqueue mm_percpu_wq: flags=3D0x8
>    pwq 12: cpus=3D6 node=3D0 flags=3D0x0 nice=3D0 active=3D1/256 refcnt=
=3D2
>      pending: vmstat_update
> pool 12: cpus=3D6 node=3D0 flags=3D0x0 nice=3D0 hung=3D64s workers=3D3 =
idle: 2222 43
>=20
> I've tried to double check that this isn't related to my IOMMU work
> in the hypervisor, and I'm pretty sure it isn't. Looking at the
> function I see it has a cond_resched(), but aiui this won't help
> with further items in the same workqueue.
>=20
> Thoughts?

I'm seeing two possible solutions here:

1. After some time (1 second?) in balloon_process() setup a new
    workqueue activity and return (similar to EAGAIN, but without
    increasing the delay).

2. Don't use a workqueue for the ballooning activity, use a kernel
    thread instead.

I have a slight preference for 2, even if the resulting patch will
be larger. 1 is only working around the issue and it is hard to
find a really good timeout value.

I'd be fine to write a patch, but would prefer some feedback which
way to go.


Juergen

--------------51B98A6D97C44F33D658744F
Content-Type: application/pgp-keys;
 name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Transfer-Encoding: quoted-printable
Content-Description: OpenPGP public key
Content-Disposition: attachment;
 filename="OpenPGP_0xB0DE9DD628BF132F.asc"

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOBy=
cWx
w3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJvedYm8O=
f8Z
d621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y=
9bf
IhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xq=
G7/
377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR=
3Jv
c3MgPGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsEFgIDA=
QIe
AQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4FUGNQH2lvWAUy+dnyT=
hpw
dtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3TyevpB0CA3dbBQp0OW0fgCetToGIQrg0=
MbD
1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbv=
oPH
Z8SlM4KWm8rG+lIkGurqqu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v=
5QL
+qHI3EIPtyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVyZ=
2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJCAcDAgEGFQgCC=
QoL
BBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4RF7HoZhPVPogNVbC4YA6lW7Dr=
Wf0
teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz78X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC=
/nu
AFVGy+67q2DH8As3KPu0344TBDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0Lh=
ITT
d9jLzdDad1pQSToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLm=
XBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkMnQfvUewRz=
80h
SnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMBAgAjBQJTjHDXAhsDBwsJC=
AcD
AgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJn=
FOX
gMLdBQgBlVPO3/D9R8LtF9DBAFPNhlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1=
jnD
kfJZr6jrbjgyoZHiw/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0=
N51
N5JfVRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwPOoE+l=
otu
fe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK/1xMI3/+8jbO0tsn1=
tqS
EUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuZGU+wsB5BBMBAgAjBQJTjHDrA=
hsD
BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3=
g3O
ZUEBmDHVVbqMtzwlmNC4k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5=
dM7
wRqzgJpJwK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu5=
D+j
LRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzBTNh30FVKK1Evm=
V2x
AKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37IoN1EblHI//x/e2AaIHpzK5h88N=
Eaw
QsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpW=
nHI
s98ndPUDpnoxWQugJ6MpMncr0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZR=
wgn
BC5mVM6JjQ5xDk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNV=
bVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mmwe0icXKLk=
pEd
IXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0Iv3OOImwTEe4co3c1mwARA=
QAB
wsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMvQ/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEw=
Tbe
8YFsw2V/Buv6Z4Mysln3nQK5ZadD534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1=
vJz
Q1fOU8lYFpZXTXIHb+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8=
VGi
wXvTyJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqcsuylW=
svi
uGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5BjR/i1DG86lem3iBDX=
zXs
ZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------51B98A6D97C44F33D658744F--

--XjuGZgQUY7UfsuT1InQ8lzH63EhbkAqtZ--

--ASPP1Rn4sdZ9i3IgFygjgpuM3doc3zWJM
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmEosGAFAwAAAAAACgkQsN6d1ii/Ey8m
bwgAiCFwcQRXmJnPDxBUrbzWPUd7Hlb0tPaIigNm7bI3kv+dJDr76cV8E0Fcxtfn1N9ETPfk9Gnm
olDIgGG39ARaLgrHkXDt3QDWG59OSQ4sCCIU3zWrykK2VgPyHXNSOnpL8rhJg4RJpfPKf/mR0JuL
smi5ubRxa7f3hhgL/rPFDFDJJib95YqzWNbgJfz83nJ4xqOaXLofaiqtHHAk8AwQQqF9lJwmav7/
KI4QFQTsclOM3G8xIrpcHcrb3A93cK9O9O3q+QmcOb85bOwwk6O3b/dfL4e4tHiCi2UqJ4J6pG/u
lrWxep+ZXKXfDyCcgDa9H3raf+vNlc6GCFn3Vul8Nw==
=M9TS
-----END PGP SIGNATURE-----

--ASPP1Rn4sdZ9i3IgFygjgpuM3doc3zWJM--


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 09:31:04 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 09:31:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173532.316622 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJYCV-0006Z0-ML; Fri, 27 Aug 2021 09:31:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173532.316622; Fri, 27 Aug 2021 09:31:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJYCV-0006Yr-In; Fri, 27 Aug 2021 09:31:03 +0000
Received: by outflank-mailman (input) for mailman id 173532;
 Fri, 27 Aug 2021 09:31:02 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zv0+=NS=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mJYCU-0006W4-2c
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 09:31:02 +0000
Received: from EUR03-AM5-obe.outbound.protection.outlook.com (unknown
 [40.107.3.52]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 20d1a9d9-f645-4b06-8cdb-4b02e9835f45;
 Fri, 27 Aug 2021 09:30:59 +0000 (UTC)
Received: from AM3PR04CA0131.eurprd04.prod.outlook.com (2603:10a6:207::15) by
 AM9PR08MB6755.eurprd08.prod.outlook.com (2603:10a6:20b:2fe::5) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4436.22; Fri, 27 Aug 2021 09:30:57 +0000
Received: from VE1EUR03FT019.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:207:0:cafe::82) by AM3PR04CA0131.outlook.office365.com
 (2603:10a6:207::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17 via Frontend
 Transport; Fri, 27 Aug 2021 09:30:57 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT019.mail.protection.outlook.com (10.152.18.153) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Fri, 27 Aug 2021 09:30:56 +0000
Received: ("Tessian outbound 19a632698c93:v103");
 Fri, 27 Aug 2021 09:30:56 +0000
Received: from d48c125907ed.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 8E18F8C7-18B1-4FC7-AEAC-905F30281783.1; 
 Fri, 27 Aug 2021 09:30:45 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d48c125907ed.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 27 Aug 2021 09:30:45 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB8PR08MB4170.eurprd08.prod.outlook.com (2603:10a6:10:a7::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Fri, 27 Aug
 2021 09:30:43 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.024; Fri, 27 Aug 2021
 09:30: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: 20d1a9d9-f645-4b06-8cdb-4b02e9835f45
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qKwOE9CIQ7wvTXB+KKQpeE0sWLpA78WeQ1lCNFeWIyg=;
 b=dBbGpN34NGFymoZZ1lClxJuDm/5MaHWpHOv+wMJpjm0pEAbq5/ZPsTtrAqjkjPcNfty7J83YW+kJJELWZQmesTfNdQNYaVKlABIoRC6dTELQZaggZbIX/hrY9Q4JXfSUFE3b+gdcfI7sELiswpu7/VL1FnUn/g5ApmTmytMdxAU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aP7IuvzXXYedF8TD0MBxFEAfP5fqbopr9/qbQEVxXF0rhGBredMACYFW6XGbGO2Ca/RMTGj8Wfpn3gR1XM6xbZusypQ37k+wwJo3kHFD1rPL2K84I+vqQWTprocPcgcoUKXVqMJw+F1By2oPsh8KgKGwoHwCIatSO6FWxHJEdLFLRl45gFjFJ+fIhi0t3v9mcsyxgXTaeFXsj7ocyt3+MRKWMVe68xjvsn1tfCt3/bOcG6NePLvZjVBP0ZAC/ZE8eJfWpqWgQKcIEfTTiNAbSN8riCYvZ0T3whQ3QDNi9/mDi4Ie1KRi0a6Av6hvIxRrHYz1A3W8r+lM246ANSbbow==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qKwOE9CIQ7wvTXB+KKQpeE0sWLpA78WeQ1lCNFeWIyg=;
 b=e+4qj6dpgVp1ufCBY+NuOscd2jvLozMAbcImku2xZ6h5CHMjHi1QBFDRPJ/KvNG6cBN0zdKHHVPBp6hH671THr7upIrbCUsaS5pYojev8O91/mlciAz2VrisRH8CyicNzEN8m7eWPcj7IVRKqwCXotqLlux1j/TnmYBYc7L7yoQ4nzi6T/pdUy8vXNP5c29k6vKgw0zud0SN/t5xdALmxZrHiZI9K/67uNO87f4ekIKdKVIiU9wfCz1TtrCcyggULNrzN+BTH9I14zvJCSPIKE0cKrrnEOw2lOMDX+ipLvzTjUQwO8mMBDO90vE0NhtCahC9ALCkRxgiZljkigNbKw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qKwOE9CIQ7wvTXB+KKQpeE0sWLpA78WeQ1lCNFeWIyg=;
 b=dBbGpN34NGFymoZZ1lClxJuDm/5MaHWpHOv+wMJpjm0pEAbq5/ZPsTtrAqjkjPcNfty7J83YW+kJJELWZQmesTfNdQNYaVKlABIoRC6dTELQZaggZbIX/hrY9Q4JXfSUFE3b+gdcfI7sELiswpu7/VL1FnUn/g5ApmTmytMdxAU=
From: Wei Chen <Wei.Chen@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"julien@xen.org" <julien@xen.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 20/40] xen/arm: implement node distance helpers
 for Arm64
Thread-Topic: [XEN RFC PATCH 20/40] xen/arm: implement node distance helpers
 for Arm64
Thread-Index: AQHXjptKzHjWbZa4RUeHJ1WuHVYtaKuGjaEAgACfwcA=
Date: Fri, 27 Aug 2021 09:30:43 +0000
Message-ID:
 <DB9PR08MB685775EC7B0EC878F3A99B1A9EC89@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-21-wei.chen@arm.com>
 <alpine.DEB.2.21.2108261640590.24433@sstabellini-ThinkPad-T480s>
In-Reply-To: <alpine.DEB.2.21.2108261640590.24433@sstabellini-ThinkPad-T480s>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 79B604744C1C8F44A3186A878CD8E436.0
x-checkrecipientchecked: true
Authentication-Results-Original: kernel.org; dkim=none (message not signed)
 header.d=none;kernel.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 9048732a-8f08-4ed8-c5a8-08d9693d5faa
x-ms-traffictypediagnostic: DB8PR08MB4170:|AM9PR08MB6755:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM9PR08MB67552D194A3165983BAFAAF09EC89@AM9PR08MB6755.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:6790;OLM:6790;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 AogTUliAmjQb/QcW/nzQIlia0rUL64GnvEvyKOqO1qVEUMw4Qn+TLNt3a9al76FS32gbmG7m3iMmRW2ZbzyDK+AG0xFs6nQQ9g/ym8u+/9MpjfQnHnWBOXAD2Rq8jI+SAhpsYEfpmnsh87bj2jv2qD9RHxGBcR8XT9a4eD+vzX8bxGmMVVg9/+hd4mTHv45Pm92sfOQHNCf7Zr4+kudCNLBGBR7jtTfq0CDuk19ToUSIbKzREWfxFQISazB+50MX6LT6MzvHpiJnAkd4bXNdBJQKAN1cFlwNqXU52KnzF59VsNoePTcL8AKoNBb7yf2X+stezA9ivG+2hY8Rdi9+zupr5u1I2HU/qoFUCCe78uYNXbmnwNa81O0Po9CNKlOaW8IP6srpJ9fAl1HboEJ0HwRFYouTJjcWnFHo3NHlxRoMpu0wTdO7DMxewSJTlSG1XVAe80DakOxS1Fx9zgfsXKg5TypzDzCXsq7EYM7tPIRB/IIY6FmtOV++0gRj37Yu9gAI3OO8+Xyq8GHtHD9fIFLZgKsKw9kBSE9jWeBDiLEDO73uX7npT1AqaEThJEVmj9bLl2shgZOt9TmOCh0WD3zU054WDtYkiFmFLP306LuHozMie1dnikIefXLFIbDmeKnFxq1ECSz59W6rqf+RVbcCZTwlUcgz+732SSDvOGSjdYr9HQlNPLFcghGEgQDyCXk3EaP0vpYcv7h50w9nXQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(6506007)(53546011)(86362001)(508600001)(8676002)(5660300002)(4326008)(6916009)(26005)(316002)(76116006)(66556008)(66446008)(64756008)(54906003)(7696005)(66946007)(8936002)(66476007)(122000001)(71200400001)(55016002)(38070700005)(33656002)(38100700002)(2906002)(186003)(9686003)(52536014)(83380400001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?gb2312?B?RkZYa3FxM1YyZE9xazhMRTlLOXN1eDhVVUhQeXhtdVJTeHZ6Sk1uRE1qZmFS?=
 =?gb2312?B?WmJlakl4UjRsUVJTQVozR01nRmdUSWhUZmZ4NEtRS3FUMURWTGlqeG9qK1pz?=
 =?gb2312?B?QURsUDA3S0xuRUtyYmFBbk9RcEZCTzIzTkJpRkkrZC81TXh4QWdQUU1UZG1S?=
 =?gb2312?B?amcvS3BXNjh3UHNnZk5TY0VpWGRNV25GQktUZzVBd1Bobi84eW5oZ0RtL0Jz?=
 =?gb2312?B?aTNDWkFiSFhxdGVTSVU5ZHEzbkNyYm5DZnhqVzFkWUNHa2dTeDB0TkZ0Y1RL?=
 =?gb2312?B?S3lteVorWWFLdE9CYld1REppUjBBaWd1UENJKy9saUNWZVo2Uk1HV1BLUEJL?=
 =?gb2312?B?OWJpWnBoaUVIcFhoUG1pTlYybjBGbmxjU21abklSaFhsc3YrMGhDUy92THpl?=
 =?gb2312?B?MXBjUUZsSHhpRVJld0NvRDhFYk9yNzBNTks2KzlSR0J0elprdEZrS29kR2pC?=
 =?gb2312?B?TEpneXpHQ053d3pQYTlDZ0VERXJIekx0SVg2dVprQ2hWY1FZZldtZHJ4TGc2?=
 =?gb2312?B?dEJrQmhPS09LaWNLd3ZnVHdYYzg3OHNtcWVpeVBKcUZMa2poUkllWVlhL1ZZ?=
 =?gb2312?B?cnF2a0V4VUFZUVk2NSsyWWhXdWdtVFdIcmFIcDRxY08yRGlVdElPekxtcVlI?=
 =?gb2312?B?SFBCNFA3Q2ZNcmUzUm9xZm84Rnd2aExNQUFGZG8rcW9PdVdPSWE4emhDbmdl?=
 =?gb2312?B?UHpNcTJ3RTdxaWZZV2JvZlFlK0dVNXc1aEZzTTNraEJibENvOWRMcHNuWXFn?=
 =?gb2312?B?YkppSExRZTlCTmpSbWFaK2ZVMDJ2ZCsrMnQ2RkJYOHZmRW1IL3pyWllpeTho?=
 =?gb2312?B?SUFZdzlxOWU2aHBTbEhycE1jTFNqZ3E4L3hoVjlBakZad0t5S3NFVmRkNkFh?=
 =?gb2312?B?eUNQOW9FQVhPdnEwSnpnT3hxSjZ0ektRa1pxRHFyOGpsYkxmMXF5Z2VLdm1l?=
 =?gb2312?B?THpwbEkvaUt4V2xhRm52WjNUeVlrR0hwQUpsVm81YjNLRVVOYzZ1TnVEWVNO?=
 =?gb2312?B?NWg1bWp2WEJ6eHlhV3pvVStIaEppN1NpRWUzeGpjazhWYVRjOHRkc1VuQUVi?=
 =?gb2312?B?MitFR0oxZjlmMkVPd3RYeHAveTVqVUwza2J2NlFmVk9qQmsrcWVxS09rdjFF?=
 =?gb2312?B?TG5BSjBESUZRa1RXdTBQRjhMTmtnVjhyRzYwWm1HencwT3AwY2lDUThuUXVt?=
 =?gb2312?B?SUJES0ZvbnFjRkUvU3VoUm9XM0VMK1o2QURIVFBtbkFhR1N5QkliZU8vekFJ?=
 =?gb2312?B?ZEE5VngwY1JIWkVQclJYNXJLVTFSR0lLTjhEU1VwZjRqMmVNUHlWeUlLSlUy?=
 =?gb2312?B?RnZiM1lTWFI2QlBpWmVwcUVqUWZqUzJTMlNKV0IzczFUNGwwb2NTZW5iRmh0?=
 =?gb2312?B?SENhRWsxQTBCVVpVN2VmN01adFZKUU54cnU2V0hueUJQbmNXck83Qko3K3Nw?=
 =?gb2312?B?b09lN2RhdmorYkxyZGFZdGhzM0Zya0FkTjJjWjBVSWZpa3MxdDZUVnVkVmZB?=
 =?gb2312?B?OHlqdm1QZDhhL0d6Um91Ykp4eFNRS0RpcnNXREZBdStKdnlva0tmV3JLbTU2?=
 =?gb2312?B?MnQ4OFplTGFnaENuOHJvWmlLT2wwcmNMTjZ2bnFDdTVUUlFWYmRuMFByWVJI?=
 =?gb2312?B?a2t2SXVMZCtRcllnR2VXc1BSU1FoWlF6WnQydm5IZDlPL2FZVE5pc2RyUTVX?=
 =?gb2312?B?VEJFeGFvYk12ZncwRnJ6V2JGL2thMTZ3Y0llMTVvajlTcGEzbkdxSmhnbEc3?=
 =?gb2312?Q?8ugcf4F/+6wLYUL7TU35niVIIE1qs2jZ4JsTCB7?=
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB4170
Original-Authentication-Results: kernel.org; dkim=none (message not signed)
 header.d=none;kernel.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT019.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	2b978a51-5a82-40fb-6830-08d9693d5788
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZCy/gzdjDwizkzxUiY3RYiWoQqwVlQ77NhkEC4RWYi7ks8iQK6weVwrt7T8UOuTUSz5FDwqI5YFVgHAJn9RU5IvJUEdLP5miPy5yL44bzwhI9KAGZzMUxC3XenIVMS0O5d7ZUw/86pnK9XrVqGpv1kpXZvLRbBMfzfg6AZCbYDKKRfS/rkmd1d+w8RJbaiPgN3UWCa2WSUZv/+hIh8VDYpFiWfKKt74kahsrOVtRQ8PReJeP9EeAcuL6+3gqCrdWzifuOXrz0WO7jxcoBW70xzT+dAG10/FVa8acMuZ0ZhGynqmzkGDM6f3UztTJjXsoC5/coKmnqioJev/DxZSo1qivOeD5xwhSd+6k5zZhLJGId4q1CR2ju75oSINQ7rP13M7/riUWy/hiori/Fk2NVtNiYV/rpGvS0el3UUbH3CpZfFek+WRSY2Td16KUtioXKXRV1f/QrZTxv36fSaAukunAw5ehiAYmQYGojymhY43ZWGf4Qv6ff3DgB+MxM4OWstOwRiEXWj3Z2GRvBsD4A6+H7I/t5kmbJZr269fAV2WJefMXVkx4s+r6d5rvbN/YBQSAXSR9vHwryPap5ga50lL7W/F2m24gl2cBJ7Z2N/3OQsFx/b747fmgDRoThzJ4lQi37RWdUMnd0oYu4E+uyFT4AAEqmj6KpGAYdm/ymS5n/+AjZiWazxw0W7K08t/6KqSdA32OEo4Gj4RojwP+3A==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(396003)(136003)(346002)(39860400002)(376002)(46966006)(36840700001)(53546011)(7696005)(82740400003)(86362001)(186003)(33656002)(6862004)(4326008)(47076005)(70586007)(70206006)(478600001)(9686003)(55016002)(6506007)(8936002)(52536014)(54906003)(356005)(336012)(81166007)(2906002)(36860700001)(8676002)(26005)(316002)(83380400001)(82310400003)(5660300002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2021 09:30:56.7175
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9048732a-8f08-4ed8-c5a8-08d9693d5faa
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT019.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6755

SGkgU3RlZmFubywNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBTdGVm
YW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+DQo+IFNlbnQ6IDIwMjHE6jjU
wjI3yNUgNzo1Mg0KPiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiB4ZW4t
ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmc7IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc7IGp1bGll
bkB4ZW4ub3JnOw0KPiBqYmV1bGljaEBzdXNlLmNvbTsgQmVydHJhbmQgTWFycXVpcyA8QmVydHJh
bmQuTWFycXVpc0Bhcm0uY29tPg0KPiBTdWJqZWN0OiBSZTogW1hFTiBSRkMgUEFUQ0ggMjAvNDBd
IHhlbi9hcm06IGltcGxlbWVudCBub2RlIGRpc3RhbmNlDQo+IGhlbHBlcnMgZm9yIEFybTY0DQo+
IA0KPiBPbiBXZWQsIDExIEF1ZyAyMDIxLCBXZWkgQ2hlbiB3cm90ZToNCj4gPiBJbiBjdXJyZW50
IFhlbiBjb2RlLCBfX25vZGVfZGlzdGFuY2UgaXMgYSBmYWtlIEFQSSwgaXQgYWx3YXlzDQo+ID4g
cmV0dXJucyBOVU1BX1JFTU9URV9ESVNUQU5DRSgyMCkuIE5vdyB3ZSB1c2UgYSBtYXRyaXggdG8g
cmVjb3JkDQo+ID4gdGhlIGRpc3RhbmNlIGJldHdlZW4gYW55IHR3byBub2Rlcy4gQWNjb3JkaW5n
bHksIHdlIHByb3ZpZGUgYQ0KPiA+IHNldF9ub2RlX2Rpc3RhbmNlIEFQSSB0byBzZXQgdGhlIGRp
c3RhbmNlIGZvciBhbnkgdHdvIG5vZGVzIGluDQo+ID4gdGhpcyBwYXRjaC4NCj4gPg0KPiA+IFNp
Z25lZC1vZmYtYnk6IFdlaSBDaGVuIDx3ZWkuY2hlbkBhcm0uY29tPg0KPiA+IC0tLQ0KPiA+ICB4
ZW4vYXJjaC9hcm0vbnVtYS5jICAgICAgICB8IDQ0ICsrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrDQo+ID4gIHhlbi9pbmNsdWRlL2FzbS1hcm0vbnVtYS5oIHwgMTIgKysrKysr
KysrKy0NCj4gPiAgeGVuL2luY2x1ZGUvYXNtLXg4Ni9udW1hLmggfCAgMSAtDQo+ID4gIHhlbi9p
bmNsdWRlL3hlbi9udW1hLmggICAgIHwgIDIgKy0NCj4gPiAgNCBmaWxlcyBjaGFuZ2VkLCA1NiBp
bnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL3hlbi9h
cmNoL2FybS9udW1hLmMgYi94ZW4vYXJjaC9hcm0vbnVtYS5jDQo+ID4gaW5kZXggNTY2YWQxZTUy
Yi4uZjYxYThkZjY0NSAxMDA2NDQNCj4gPiAtLS0gYS94ZW4vYXJjaC9hcm0vbnVtYS5jDQo+ID4g
KysrIGIveGVuL2FyY2gvYXJtL251bWEuYw0KPiA+IEBAIC0yMyw2ICsyMywxMSBAQA0KPiA+ICAj
aW5jbHVkZSA8eGVuL3Bmbi5oPg0KPiA+ICAjaW5jbHVkZSA8YXNtL3NldHVwLmg+DQo+ID4NCj4g
PiArc3RhdGljIHVpbnQ4X3QgX19yZWFkX21vc3RseQ0KPiA+ICtub2RlX2Rpc3RhbmNlX21hcFtN
QVhfTlVNTk9ERVNdW01BWF9OVU1OT0RFU10gPSB7DQo+ID4gKyAgICB7IE5VTUFfUkVNT1RFX0RJ
U1RBTkNFIH0NCj4gPiArfTsNCj4gPiArDQo+ID4gIHZvaWQgbnVtYV9zZXRfbm9kZShpbnQgY3B1
LCBub2RlaWRfdCBuaWQpDQo+ID4gIHsNCj4gPiAgICAgIGlmICggbmlkID49IE1BWF9OVU1OT0RF
UyB8fA0KPiA+IEBAIC0zMiw2ICszNyw0NSBAQCB2b2lkIG51bWFfc2V0X25vZGUoaW50IGNwdSwg
bm9kZWlkX3QgbmlkKQ0KPiA+ICAgICAgY3B1X3RvX25vZGVbY3B1XSA9IG5pZDsNCj4gPiAgfQ0K
PiA+DQo+ID4gK3ZvaWQgX19pbml0IG51bWFfc2V0X2Rpc3RhbmNlKG5vZGVpZF90IGZyb20sIG5v
ZGVpZF90IHRvLCB1aW50MzJfdA0KPiBkaXN0YW5jZSkNCj4gPiArew0KPiA+ICsgICAgaWYgKCBm
cm9tID49IE1BWF9OVU1OT0RFUyB8fCB0byA+PSBNQVhfTlVNTk9ERVMgKQ0KPiA+ICsgICAgew0K
PiA+ICsgICAgICAgIHByaW50ayhLRVJOX1dBUk5JTkcNCj4gPiArICAgICAgICAgICAgIk5VTUEg
bm9kZXMgYXJlIG91dCBvZiBtYXRyaXgsIGZyb209JXUgdG89JXUgZGlzdGFuY2U9JXVcbiIsDQo+
ID4gKyAgICAgICAgICAgIGZyb20sIHRvLCBkaXN0YW5jZSk7DQo+IA0KPiBOSVQ6IHBsZWFzZSBh
bGlnbi4gRXhhbXBsZToNCj4gDQo+IHByaW50ayhLRVJOX1dBUk5JTkcNCj4gICAgICAgICJOVU1B
IG5vZGVzIGFyZSBvdXQgb2YgbWF0cml4LCBmcm9tPSV1IHRvPSV1IGRpc3RhbmNlPSV1XG4iLA0K
PiANCj4gQWxzbyBwbGVhc2UgdXNlIFBSSXUzMiBmb3IgdWludDMyX3QuIFByb2JhYmx5IHNob3Vs
ZCB1c2UgUFJJdTggZm9yDQo+IG5vZGVpZHMuDQo+IA0KDQpPSw0KDQo+IA0KPiA+ICsgICAgICAg
IHJldHVybjsNCj4gPiArICAgIH0NCj4gPiArDQo+ID4gKyAgICAvKiBOVU1BIGRlZmluZXMgMHhm
ZiBhcyBhbiB1bnJlYWNoYWJsZSBub2RlIGFuZCAwLTkgYXJlIHVuZGVmaW5lZA0KPiAqLw0KPiA+
ICsgICAgaWYgKCBkaXN0YW5jZSA+PSBOVU1BX05PX0RJU1RBTkNFIHx8DQo+ID4gKyAgICAgICAg
KGRpc3RhbmNlID49IE5VTUFfRElTVEFOQ0VfVURGX01JTiAmJg0KPiA+ICsgICAgICAgICBkaXN0
YW5jZSA8PSBOVU1BX0RJU1RBTkNFX1VERl9NQVgpIHx8DQo+ID4gKyAgICAgICAgKGZyb20gPT0g
dG8gJiYgZGlzdGFuY2UgIT0gTlVNQV9MT0NBTF9ESVNUQU5DRSkgKQ0KPiA+ICsgICAgew0KPiA+
ICsgICAgICAgIHByaW50ayhLRVJOX1dBUk5JTkcNCj4gPiArICAgICAgICAgICAgIkludmFsaWQg
TlVNQSBub2RlIGRpc3RhbmNlLCBmcm9tOiVkIHRvOiVkIGRpc3RhbmNlPSVkXG4iLA0KPiA+ICsg
ICAgICAgICAgICBmcm9tLCB0bywgZGlzdGFuY2UpOw0KPiANCj4gTklUOiBwbGVhc2UgYWxpZ24N
Cj4gDQo+IEFsc28geW91IHVzZWQgJXUgYmVmb3JlIGZvciBub2RlaWRzLCB3aGljaCBpcyBiZXR0
ZXIgYmVjYXVzZSBmcm9tIGFuZCB0bw0KPiBhcmUgdW5zaWduZWQuIERpc3RhbmNlIHNob3VsZCBi
ZSB1aW50MzJfdC4NCj4gDQoNCk9LDQoNCj4gDQo+ID4gKyAgICAgICAgcmV0dXJuOw0KPiA+ICsg
ICAgfQ0KPiA+ICsNCj4gPiArICAgIG5vZGVfZGlzdGFuY2VfbWFwW2Zyb21dW3RvXSA9IGRpc3Rh
bmNlOw0KPiANCj4gU2hvdWxkbid0IHdlIGFsc28gYmUgc2V0dGluZzoNCj4gDQo+ICAgICBub2Rl
X2Rpc3RhbmNlX21hcFt0b11bZnJvbV0gPSBkaXN0YW5jZTsNCj4gDQo+ID8NCj4gDQoNCk5vLCB3
ZSB3YW50IG51bWFfc2V0X2Rpc3RhbmNlIGJlaGF2aW9yIGlzIHNpbmdsZS4NCiJub2RlX2Rpc3Rh
bmNlX21hcFt0b11bZnJvbV0gPSBkaXN0YW5jZSIgaXMgaGFuZGxlZCBpbiBjYWxsZXIuDQoNCj4g
DQo+ID4gK30NCj4gPiArDQo+ID4gK3VpbnQ4X3QgX19ub2RlX2Rpc3RhbmNlKG5vZGVpZF90IGZy
b20sIG5vZGVpZF90IHRvKQ0KPiA+ICt7DQo+ID4gKyAgICAvKg0KPiA+ICsgICAgICogQ2hlY2sg
d2hldGhlciB0aGUgbm9kZXMgYXJlIGluIHRoZSBtYXRyaXggcmFuZ2UuDQo+ID4gKyAgICAgKiBX
aGVuIGFueSBub2RlIGlzIG91dCBvZiByYW5nZSwgZXhjZXB0IGZyb20gYW5kIHRvIG5vZGVzIGFy
ZSB0aGUNCj4gPiArICAgICAqIHNhbWUsIHdlIHRyZWF0IHRoZW0gYXMgdW5yZWFjaGFibGUgKHJl
dHVybiAweEZGKQ0KPiA+ICsgICAgICovDQo+ID4gKyAgICBpZiAoIGZyb20gPj0gTUFYX05VTU5P
REVTIHx8IHRvID49IE1BWF9OVU1OT0RFUyApDQo+ID4gKyAgICAgICAgcmV0dXJuIGZyb20gPT0g
dG8gPyBOVU1BX0xPQ0FMX0RJU1RBTkNFIDogTlVNQV9OT19ESVNUQU5DRTsNCj4gPiArDQo+ID4g
KyAgICByZXR1cm4gbm9kZV9kaXN0YW5jZV9tYXBbZnJvbV1bdG9dOw0KPiA+ICt9DQo+ID4gK0VY
UE9SVF9TWU1CT0woX19ub2RlX2Rpc3RhbmNlKTsNCj4gPiArDQo+ID4gIHZvaWQgX19pbml0IG51
bWFfaW5pdChib29sIGFjcGlfb2ZmKQ0KPiA+ICB7DQo+ID4gICAgICB1aW50MzJfdCBpZHg7DQo+
ID4gZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vbnVtYS5oIGIveGVuL2luY2x1ZGUv
YXNtLWFybS9udW1hLmgNCj4gPiBpbmRleCBiYjQ5NWEyNGUxLi41NTliMDI4YTAxIDEwMDY0NA0K
PiA+IC0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vbnVtYS5oDQo+ID4gKysrIGIveGVuL2luY2x1
ZGUvYXNtLWFybS9udW1hLmgNCj4gPiBAQCAtMTIsOCArMTIsMTkgQEAgdHlwZWRlZiB1OCBub2Rl
aWRfdDsNCj4gPiAgICogc2V0IHRoZSBudW1iZXIgb2YgTlVNQSBtZW1vcnkgYmxvY2sgbnVtYmVy
IHRvIDEyOC4NCj4gPiAgICovDQo+ID4gICNkZWZpbmUgTk9ERVNfU0hJRlQgICAgICA2DQo+ID4g
Ky8qDQo+ID4gKyAqIEluIEFDUEkgc3BlYywgMC05IGFyZSB0aGUgcmVzZXJ2ZWQgdmFsdWVzIGZv
ciBub2RlIGRpc3RhbmNlLA0KPiA+ICsgKiAxMCBpbmRpY2F0ZXMgbG9jYWwgbm9kZSBkaXN0YW5j
ZSwgMjAgaW5kaWNhdGVzIHJlbW90ZSBub2RlDQo+ID4gKyAqIGRpc3RhbmNlLiBTZXQgbm9kZSBk
aXN0YW5jZSBtYXAgaW4gZGV2aWNlIHRyZWUgd2lsbCBmb2xsb3cNCj4gPiArICogdGhlIEFDUEkn
cyBkZWZpbml0aW9uLg0KPiA+ICsgKi8NCj4gPiArI2RlZmluZSBOVU1BX0RJU1RBTkNFX1VERl9N
SU4gICAwDQo+ID4gKyNkZWZpbmUgTlVNQV9ESVNUQU5DRV9VREZfTUFYICAgOQ0KPiA+ICsjZGVm
aW5lIE5VTUFfTE9DQUxfRElTVEFOQ0UgICAgIDEwDQo+ID4gKyNkZWZpbmUgTlVNQV9SRU1PVEVf
RElTVEFOQ0UgICAgMjANCj4gPg0KPiA+ICBleHRlcm4gdm9pZCBudW1hX2luaXQoYm9vbCBhY3Bp
X29mZik7DQo+ID4gK2V4dGVybiB2b2lkIG51bWFfc2V0X2Rpc3RhbmNlKG5vZGVpZF90IGZyb20s
IG5vZGVpZF90IHRvLCB1aW50MzJfdA0KPiBkaXN0YW5jZSk7DQo+ID4NCj4gPiAgLyoNCj4gPiAg
ICogVGVtcG9yYXJ5IGZvciBmYWtlIE5VTUEgbm9kZSwgd2hlbiBDUFUsIG1lbW9yeSBhbmQgZGlz
dGFuY2UNCj4gPiBAQCAtMjEsNyArMzIsNiBAQCBleHRlcm4gdm9pZCBudW1hX2luaXQoYm9vbCBh
Y3BpX29mZik7DQo+ID4gICAqIHN5bWJvbHMgd2lsbCBiZSByZW1vdmVkLg0KPiA+ICAgKi8NCj4g
PiAgZXh0ZXJuIG1mbl90IGZpcnN0X3ZhbGlkX21mbjsNCj4gPiAtI2RlZmluZSBfX25vZGVfZGlz
dGFuY2UoYSwgYikgKDIwKQ0KPiA+DQo+ID4gICNlbHNlDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEv
eGVuL2luY2x1ZGUvYXNtLXg4Ni9udW1hLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L251bWEuaA0K
PiA+IGluZGV4IDVhNTdhNTFlMjYuLmUwMjUzYzIwYjcgMTAwNjQ0DQo+ID4gLS0tIGEveGVuL2lu
Y2x1ZGUvYXNtLXg4Ni9udW1hLmgNCj4gPiArKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L251bWEu
aA0KPiA+IEBAIC0yMSw3ICsyMSw2IEBAIGV4dGVybiBub2RlaWRfdCBhcGljaWRfdG9fbm9kZVtd
Ow0KPiA+ICBleHRlcm4gdm9pZCBpbml0X2NwdV90b19ub2RlKHZvaWQpOw0KPiA+DQo+ID4gIHZv
aWQgc3JhdF9wYXJzZV9yZWdpb25zKHU2NCBhZGRyKTsNCj4gPiAtZXh0ZXJuIHU4IF9fbm9kZV9k
aXN0YW5jZShub2RlaWRfdCBhLCBub2RlaWRfdCBiKTsNCj4gPiAgdW5zaWduZWQgaW50IGFyY2hf
Z2V0X2RtYV9iaXRzaXplKHZvaWQpOw0KPiA+DQo+ID4gICNlbmRpZg0KPiA+IGRpZmYgLS1naXQg
YS94ZW4vaW5jbHVkZS94ZW4vbnVtYS5oIGIveGVuL2luY2x1ZGUveGVuL251bWEuaA0KPiA+IGlu
ZGV4IGNiMDhkMmVjYTkuLjA0NzU4MjNiMTMgMTAwNjQ0DQo+ID4gLS0tIGEveGVuL2luY2x1ZGUv
eGVuL251bWEuaA0KPiA+ICsrKyBiL3hlbi9pbmNsdWRlL3hlbi9udW1hLmgNCj4gPiBAQCAtNTgs
NyArNTgsNyBAQCBzdGF0aWMgaW5saW5lIF9fYXR0cmlidXRlX18oKHB1cmUpKSBub2RlaWRfdA0K
PiBwaHlzX3RvX25pZChwYWRkcl90IGFkZHIpDQo+ID4gICNkZWZpbmUgbm9kZV9zcGFubmVkX3Bh
Z2VzKG5pZCkJKE5PREVfREFUQShuaWQpLT5ub2RlX3NwYW5uZWRfcGFnZXMpDQo+ID4gICNkZWZp
bmUgbm9kZV9lbmRfcGZuKG5pZCkgICAgICAgKE5PREVfREFUQShuaWQpLT5ub2RlX3N0YXJ0X3Bm
biArIFwNCj4gPiAgCQkJCSBOT0RFX0RBVEEobmlkKS0+bm9kZV9zcGFubmVkX3BhZ2VzKQ0KPiA+
IC0NCj4gPiArZXh0ZXJuIHU4IF9fbm9kZV9kaXN0YW5jZShub2RlaWRfdCBhLCBub2RlaWRfdCBi
KTsNCj4gPiAgZXh0ZXJuIHZvaWQgbnVtYV9hZGRfY3B1KGludCBjcHUpOw0KPiA+DQo+ID4gIHN0
cnVjdCBub2RlIHsNCj4gPiAtLQ0KPiA+IDIuMjUuMQ0KPiA+DQo=


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 09:31:55 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 09:31:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173539.316633 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJYDL-0007Qa-3H; Fri, 27 Aug 2021 09:31:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173539.316633; Fri, 27 Aug 2021 09:31: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 1mJYDL-0007QT-07; Fri, 27 Aug 2021 09:31:55 +0000
Received: by outflank-mailman (input) for mailman id 173539;
 Fri, 27 Aug 2021 09:31:53 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zv0+=NS=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mJYDJ-0007QG-G5
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 09:31:53 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com (unknown
 [40.107.8.83]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 9bf432b6-0719-11ec-aa9a-12813bfff9fa;
 Fri, 27 Aug 2021 09:31:51 +0000 (UTC)
Received: from AM6PR0502CA0059.eurprd05.prod.outlook.com
 (2603:10a6:20b:56::36) by AM0PR08MB4290.eurprd08.prod.outlook.com
 (2603:10a6:208:138::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.19; Fri, 27 Aug
 2021 09:31:48 +0000
Received: from AM5EUR03FT034.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:56:cafe::81) by AM6PR0502CA0059.outlook.office365.com
 (2603:10a6:20b:56::36) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17 via Frontend
 Transport; Fri, 27 Aug 2021 09:31:48 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT034.mail.protection.outlook.com (10.152.16.81) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Fri, 27 Aug 2021 09:31:48 +0000
Received: ("Tessian outbound 1a0c40aa17d8:v103");
 Fri, 27 Aug 2021 09:31:48 +0000
Received: from 40f62dc0206e.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 2DF1ABF6-D0FC-4A6A-8BE5-02B9B9B44E96.1; 
 Fri, 27 Aug 2021 09:31:39 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 40f62dc0206e.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 27 Aug 2021 09:31:39 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB6PR0801MB1766.eurprd08.prod.outlook.com (2603:10a6:4:3c::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17; Fri, 27 Aug
 2021 09:31:35 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.024; Fri, 27 Aug 2021
 09:31:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9bf432b6-0719-11ec-aa9a-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Sv9ag1hS+yBaf9fPu0LBg///Aaco6MlTmDq/11RA2Mk=;
 b=2u0BFryY3P0WiHcUmO+FzntnajNxcSA3rnJ2N3IA2q0yxS1/14L3Hvv21iRtwPcE5c9Fie7EY7hajwBmCcrLe+B9ydrdvYNoM6ycDihT6xuPNCH33Ij5HY4ZgI8lhAgoTEPg4TpSUQmCz8MMIalATvRP/uC3a1e6p2Pk7Kgc+f8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Du4XMac0rmjwon5BxSfTHkHwBOc+CFXKQlXw/fX7LWb0vJMKtVRn6TZ3jKmQkqSenRH61XPp6QjvmPkoKPo6LASxNQuQFksGr1MsdlLl4fjQegAtgzhN7Yc7t7D+7g/mAcDyhEX4qhVmBKtbdHnH0NfR88WuA+igcLpMsqcieufzcpda0YJTUb7RCzzH/yzNwjO6xV5CGJE1umbI94a2n0iBl6tpUukLN8wtwhXlgY2zq3Bat8Dp8pOc3+ZK27OcpU/0YtWDvbC3Dzi3KUJlr5YQBRqQBBURDwmqNMer2UGF5CGDyfriOej8eiR5j6GL2T5zNpEP40w2bUtBG9lycw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Sv9ag1hS+yBaf9fPu0LBg///Aaco6MlTmDq/11RA2Mk=;
 b=i3ZrAfdwdrVVIXqVtqmHM8WA5gndbq2/0bfFBJZiF9jk2I42vF3/CV51Mr/3DikdXZ716keU3neZ0P9ueDXo4pwKTfydCZBB/Cg65KYQrjNvOP7a5/rpkgqA+ao3r77yLhN9S4A5xTXdj4VTh59VVIv2X95fTNqXLbmPkzQAJknnqdZncdT0wrOtShU60dnf5gaDH+8Hrlz7JACZBBmpase6UijqGCHXpK2YWl6dsFTN0Gxd4Orp79Nym+CgAqIMzgsTTFH6McWRX9jOwmXGlfppHAay7w5ODWkqUcgPqyNhNGlov7lPWF66BqKeGcbxzclhi7vCY1kmHo64AkljlQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Sv9ag1hS+yBaf9fPu0LBg///Aaco6MlTmDq/11RA2Mk=;
 b=2u0BFryY3P0WiHcUmO+FzntnajNxcSA3rnJ2N3IA2q0yxS1/14L3Hvv21iRtwPcE5c9Fie7EY7hajwBmCcrLe+B9ydrdvYNoM6ycDihT6xuPNCH33Ij5HY4ZgI8lhAgoTEPg4TpSUQmCz8MMIalATvRP/uC3a1e6p2Pk7Kgc+f8=
From: Wei Chen <Wei.Chen@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"julien@xen.org" <julien@xen.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 22/40] xen/arm: introduce a helper to parse device
 tree processor node
Thread-Topic: [XEN RFC PATCH 22/40] xen/arm: introduce a helper to parse
 device tree processor node
Thread-Index: AQHXjps9W9pBfq916EKAfG5ObJRyjauGkX+AgACdvkA=
Date: Fri, 27 Aug 2021 09:31:35 +0000
Message-ID:
 <DB9PR08MB68571F27665D639E0422F2119EC89@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-23-wei.chen@arm.com>
 <alpine.DEB.2.21.2108261705000.24433@sstabellini-ThinkPad-T480s>
In-Reply-To: <alpine.DEB.2.21.2108261705000.24433@sstabellini-ThinkPad-T480s>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: C08266D106666F438B5B80D881014A5C.0
x-checkrecipientchecked: true
Authentication-Results-Original: kernel.org; dkim=none (message not signed)
 header.d=none;kernel.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: e6cb0912-7417-4d76-bbed-08d9693d7e9b
x-ms-traffictypediagnostic: DB6PR0801MB1766:|AM0PR08MB4290:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM0PR08MB42904794858CA01CA48C37339EC89@AM0PR08MB4290.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:9508;OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 FBj8wMpunnwZWCfeS+gGqyZo6DId0ltyGMLYZ77jZJdVjr+t3fMb+ByAOfnEXvkwBHWzplODySibrIurHu6Z94KNF7gVnuKmXRr9z6w0u83bzgAfUpjzFearMYI3m3NpKb3Qj+h1AHLyc4rbRBvksqWN23yGi6MwrNKijTxfY1Ak9DeXwKXitrJdtVDQagHvt5T4/AoXlXb4M0LHCcFUtN5Z1O0UYUK2yS6b7k1rIYVRB4JbXXcyPNXa0L76v+P+dTZCeinfpyDGLaIglRETArlTQiL+6qtZ+XitNz3gQXMQb98bdwj1UkpAvZN7c2UBWJg6cQ3c621x8nvrgarBTn/v+bC7RPRPCCfi1T6OxTedeL/eOQZsVj+3EmrHPDQ/EK4ifwcsK/Mvk/y03dhlFoSomxGUPQHr5wCqnTRQnkNYNDdE/GG9n/8v76eZb0T9diCUjMoa8VqD3TpXm/Yg4uMV/C4WDXG1xWO+9wm8Y7/XbMRSU6DluUQ6bcd/q95+fbGxFxAfE9jwmypjdKkb2EWd98U5jKYfPrb3Hqf+RDh6seHdRSlMxNgzHGBD7iCAyg5DRdcIxH6AqqquQYynP0C/M+tzFlb7hAA+v2mj8nUncGEzk5DLzNtLkZimabu2Z4QIn4aqwIBYpNKMLolhh+W2lyluZocsPMDf+VEveJPeIwPxRXA5xfJ8gg0BbW5gh1QSEEvprCp7hVSOs6gQPA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(316002)(54906003)(55016002)(6916009)(8936002)(186003)(71200400001)(53546011)(76116006)(2906002)(8676002)(6506007)(86362001)(26005)(4326008)(83380400001)(7696005)(66446008)(64756008)(66556008)(66476007)(9686003)(38100700002)(52536014)(508600001)(66946007)(122000001)(33656002)(5660300002)(38070700005);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?gb2312?B?RWNNMTZCRFZWb0NVWXJxcnNSdGplMFNpRjI1OGUxc2JwTXFGRTZnWElWbVh4?=
 =?gb2312?B?RzRHcGtNRDVBeGJVWDF2L1JFNW1hZDdUcmlDM2hvZzZxM1RrNTFlQjkvTllN?=
 =?gb2312?B?WXFBdnVtK1RWZXpJb2t6c2Y1SEF1Ykp6RHRUeWlEcndJV3g2SmE3UzRPMWJE?=
 =?gb2312?B?aURSS2RQekUvWUZqL1JPdUJZbEdoNXlYNmllaGs1M0lLUXk4QmNJU0piUyt5?=
 =?gb2312?B?QVJJS3FYanh2YkdaTW1pTXVGSzUwcTRTNU1uWnVKbHRkcjdaNE9JOGYrLzcv?=
 =?gb2312?B?aG9ZZ21VQXNSNWZrOVFHYWhCM2lvcmpSOG9iVGJlSUNIVVl4VkNGSml6ZDhz?=
 =?gb2312?B?aGx0VlRwMm45L2Q3TE8zc2kzZnhoMzZDK244K2lBaXlzM29BZ1Y4M04vajly?=
 =?gb2312?B?K0pZWjd6a0ZiSGo5VTdxdHNmWU5qckRYTElNdWRTTzMzcllDWStYQjJnN2lN?=
 =?gb2312?B?M0VBYjBCR2MycmhWNGdtNWtlMVowVHdyQkovcHY4VE13ZWkvRkliQ2t0anVP?=
 =?gb2312?B?WTd3amFkZGUvQ0cwY2lpRlVSR2JyNFRGOWFKRCtiM0NLRjltY3Y3c1pxcjEr?=
 =?gb2312?B?ZUFWRzNESGhjSjdRMlBUUVFvWWJ3T3NCcGYwN1pTSUc3MVoxc29vcW1yWTVo?=
 =?gb2312?B?SEdsT2xWRVYzLzBSNGFNc2E3ejFqcTFDY0xPelE4MmJjMkVUR2Q5TG5HNEN4?=
 =?gb2312?B?MlVjUmlNczl2OVJqTnRsMG5XNGJYRFFaaXhKT1NjQm1BaXpLZXJKakNoL01S?=
 =?gb2312?B?WUU1Q1Y2TzY4eUJHc1RZVlp1M1F1VlhnOEY5bkpQaHdrY3NWZ2dOVFlMSndT?=
 =?gb2312?B?V1U2dUx6ZVNPS0owdUlJQ1hMMW1yZ0JaVGUydkR0V1pMVmhoQzVLSG1EVkJH?=
 =?gb2312?B?bjRmWGwyK1BSNWRxUENvWG5IVk0vakpwM2ljTW42WnF3ZjZEanJpZk9IZ1N3?=
 =?gb2312?B?UnNPd3VZc0pzckgvNU9BL1J4V3RMUXpZTUNkWXBQQ1YrRVhNVm1Sd1FGeDhV?=
 =?gb2312?B?YlRMaGxyUUt5NTQ3RVBEOFByM2NNMytxazFMMUFXbTV2UStmOFR3TTFKeFly?=
 =?gb2312?B?V0dEdkFKVy9CYmhPV25oSmVjRUpqYnczMXhUMmNyR3RDT1R5ZVNLT293aERx?=
 =?gb2312?B?ODRFWmtFeWk5RldmdUx4QkhKT0RtMTh0WC9SbkVuYlFtK3ZraGZIVHNSRCt2?=
 =?gb2312?B?UzZTaHdWcDBUWWxMUzkxSzlaZFh5Q2xERzhIUzVVUjhVZk0xdlNpeFBRWVJy?=
 =?gb2312?B?dEQ1aUFGT2VCMk1HeGt3TFVHMHhnb2hwUHFIY25QVEg0ZTVEeTNmczBsWjNj?=
 =?gb2312?B?OU03d1dPOThpQ3FIaVp6VjIrWUcxYmVqMzZWYW9UVUdWdnJBM1kzNTh6eVd6?=
 =?gb2312?B?cWRtYitNZUpaMDBMeE1FbHNYMnZVMFl6ekNmeUkvRGRtbm5wSHB4V1U3OVdU?=
 =?gb2312?B?K1laZm5nNTdhNHU2TllwY2hka3FtUnVwVXdaVHJ4WVVMaTNmOTVsaFErWWVP?=
 =?gb2312?B?bXQrOHNYZ0ludDJWMFpKZ3RUREt5RUw4OERCNjdTS2NsU2c3VmtGTG5pa2Zj?=
 =?gb2312?B?dnFLTmR3Mkg0QVF3RTJwOWFSNFo0YVh5K3JZOWlvNmdKQmI2bGRTaTJJeVY0?=
 =?gb2312?B?YWt6ZDB0bTFuV2hydVN5Rm4rV2d0OHBxWHJLSmpEeXBIYXd2OXJDTW1VUDNp?=
 =?gb2312?B?U1NUMkdqOHVMUW9YWDJuVkwwVS9yMXlMMWZVMTV2RklPSkovUTc3MkNtY2Nh?=
 =?gb2312?Q?t0T8KUX0pnLcWi6ojxawrqhH2Zl/iXrAwvF773N?=
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB1766
Original-Authentication-Results: kernel.org; dkim=none (message not signed)
 header.d=none;kernel.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT034.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	ebf48208-cfe3-40df-81f5-08d9693d76f0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5DH2it6rfps1dGpql52i9cYjrQlw+TE1AkzMwG/WuRGKCwGmMB2GWi+j0GEl/vz62osgMUqWkjMS2QOFTugw+VmjM46YTsCBTbIfPX9GOdQZwMSsYrBa6YnGQRidqii4EhCcd3wJzk66tmP1wQizca0fluI278hF+74RdDBHJfvvcYkD69biGR5RXUC4jHmP5XPM8X2Qneo6Un1AogtXim4j3vKlGBmCKyzQxasHbarqxs3B/gaKNmsXB+0RuOmGLs6sBnFKZehiZ3yFEoyFl5k9JCnjb5Rh5RHwOfCOlW0+fPITjgXdele6ONIbMbMiAhoRqLn8iTYX+0V2DzuqCYVXGcgO7soVm/X5KzwLQWsjwh3ukqxd0T4IiZVy4+oeDxN2I/0YhyQKbfSlXfEbzqsSEZSN7dx9VjYgFmr5n7PHy7sXm/yffj/EHpxdeYu7JsJyES4S4zBvCDQhW4jY44YHI+wbr+6rYGfz2cVdnVfGHgyI5kA322iQBnT18zvR9NZezqEL11Tzdu2sdUmLLmtZd96ayy8Tw0qXzD4DDsH/O70DFZMcQioYQBAXuZ5+hlbbPRHaSyIHBTS8hutvsDsVZ2oqxjVzjPLTfkFlHYRTUmdp9Ir6XgCDoEIaTYbKtv40DNY1k2FkZYCzojC3qd1apDJfrd/bjwP4XSGR3EAwXaJzQHB2D2GVDl9/uTxSH8j/q7G2Wq+5x2ZM2DfQ8w==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(346002)(39860400002)(396003)(376002)(136003)(46966006)(36840700001)(2906002)(8676002)(53546011)(33656002)(6506007)(9686003)(70586007)(86362001)(336012)(186003)(6862004)(54906003)(83380400001)(316002)(4326008)(7696005)(8936002)(47076005)(70206006)(26005)(356005)(36860700001)(478600001)(82740400003)(82310400003)(55016002)(5660300002)(81166007)(52536014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2021 09:31:48.7093
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e6cb0912-7417-4d76-bbed-08d9693d7e9b
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT034.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB4290

SGkgU3RlZmFubywNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBTdGVm
YW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+DQo+IFNlbnQ6IDIwMjHE6jjU
wjI3yNUgODowNg0KPiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiB4ZW4t
ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmc7IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc7IGp1bGll
bkB4ZW4ub3JnOw0KPiBqYmV1bGljaEBzdXNlLmNvbTsgQmVydHJhbmQgTWFycXVpcyA8QmVydHJh
bmQuTWFycXVpc0Bhcm0uY29tPg0KPiBTdWJqZWN0OiBSZTogW1hFTiBSRkMgUEFUQ0ggMjIvNDBd
IHhlbi9hcm06IGludHJvZHVjZSBhIGhlbHBlciB0byBwYXJzZQ0KPiBkZXZpY2UgdHJlZSBwcm9j
ZXNzb3Igbm9kZQ0KPiANCj4gT24gV2VkLCAxMSBBdWcgMjAyMSwgV2VpIENoZW4gd3JvdGU6DQo+
ID4gUHJvY2Vzc29yIE5VTUEgSUQgaW5mb3JtYXRpb24gaXMgc3RvcmVkIGluIGRldmljZSB0cmVl
J3MgcHJvY2Vzc29yDQo+ID4gbm9kZSBhcyAibnVtYS1ub2RlLWlkIi4gV2UgbmVlZCBhIG5ldyBo
ZWxwZXIgdG8gcGFyc2UgdGhpcyBJRCBmcm9tDQo+ID4gcHJvY2Vzc29yIG5vZGUuIElmIHdlIGdl
dCB0aGlzIElEIGZyb20gcHJvY2Vzc29yIG5vZGUsIHRoaXMgSUQncw0KPiA+IHZhbGlkaXR5IHN0
aWxsIG5lZWQgdG8gYmUgY2hlY2tlZC4gT25jZSB3ZSBnb3QgYSBpbnZhbGlkIE5VTUEgSUQNCj4g
PiBmcm9tIGFueSBwcm9jZXNzb3Igbm9kZSwgdGhlIGRldmljZSB0cmVlIHdpbGwgYmUgbWFya2Vk
IGFzIE5VTUENCj4gPiBpbmZvcm1hdGlvbiBpbnZhbGlkLg0KPiA+DQo+ID4gU2lnbmVkLW9mZi1i
eTogV2VpIENoZW4gPHdlaS5jaGVuQGFybS5jb20+DQo+ID4gLS0tDQo+ID4gIHhlbi9hcmNoL2Fy
bS9udW1hX2RldmljZV90cmVlLmMgfCA0MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
LS0NCj4gPiAgMSBmaWxlIGNoYW5nZWQsIDM5IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0p
DQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL251bWFfZGV2aWNlX3RyZWUuYw0K
PiBiL3hlbi9hcmNoL2FybS9udW1hX2RldmljZV90cmVlLmMNCj4gPiBpbmRleCAxYzc0YWQxMzVk
Li4zN2NjNTZhY2YzIDEwMDY0NA0KPiA+IC0tLSBhL3hlbi9hcmNoL2FybS9udW1hX2RldmljZV90
cmVlLmMNCj4gPiArKysgYi94ZW4vYXJjaC9hcm0vbnVtYV9kZXZpY2VfdHJlZS5jDQo+ID4gQEAg
LTIwLDE2ICsyMCw1MyBAQA0KPiA+ICAjaW5jbHVkZSA8eGVuL2luaXQuaD4NCj4gPiAgI2luY2x1
ZGUgPHhlbi9ub2RlbWFzay5oPg0KPiA+ICAjaW5jbHVkZSA8eGVuL251bWEuaD4NCj4gPiArI2lu
Y2x1ZGUgPHhlbi9kZXZpY2VfdHJlZS5oPg0KPiA+ICsjaW5jbHVkZSA8YXNtL3NldHVwLmg+DQo+
ID4NCj4gPiAgczggZGV2aWNlX3RyZWVfbnVtYSA9IDA7DQo+ID4gK3N0YXRpYyBub2RlbWFza190
IHByb2Nlc3Nvcl9ub2Rlc19wYXJzZWQgX19pbml0ZGF0YTsNCj4gPg0KPiA+IC1pbnQgc3JhdF9k
aXNhYmxlZCh2b2lkKQ0KPiA+ICtzdGF0aWMgaW50IHNyYXRfZGlzYWJsZWQodm9pZCkNCj4gPiAg
ew0KPiA+ICAgICAgcmV0dXJuIG51bWFfb2ZmIHx8IGRldmljZV90cmVlX251bWEgPCAwOw0KPiA+
ICB9DQo+ID4NCj4gPiAtdm9pZCBfX2luaXQgYmFkX3NyYXQodm9pZCkNCj4gPiArc3RhdGljIF9f
aW5pdCB2b2lkIGJhZF9zcmF0KHZvaWQpDQo+ID4gIHsNCj4gPiAgICAgIHByaW50ayhLRVJOX0VS
UiAiRFQ6IE5VTUEgaW5mb3JtYXRpb24gaXMgbm90IHVzZWQuXG4iKTsNCj4gPiAgICAgIGRldmlj
ZV90cmVlX251bWEgPSAtMTsNCj4gPiAgfQ0KPiA+ICsNCj4gPiArLyogQ2FsbGJhY2sgZm9yIGRl
dmljZSB0cmVlIHByb2Nlc3NvciBhZmZpbml0eSAqLw0KPiA+ICtzdGF0aWMgaW50IF9faW5pdCBk
dGJfbnVtYV9wcm9jZXNzb3JfYWZmaW5pdHlfaW5pdChub2RlaWRfdCBub2RlKQ0KPiA+ICt7DQo+
ID4gKyAgICBpZiAoIHNyYXRfZGlzYWJsZWQoKSApDQo+ID4gKyAgICAgICAgcmV0dXJuIC1FSU5W
QUw7DQo+ID4gKyAgICBlbHNlIGlmICggbm9kZSA9PSBOVU1BX05PX05PREUgfHwgbm9kZSA+PSBN
QVhfTlVNTk9ERVMgKSB7DQo+ID4gKwkJYmFkX3NyYXQoKTsNCj4gPiArCQlyZXR1cm4gLUVJTlZB
TDsNCj4gPiArCX0NCj4gPiArDQo+ID4gKyAgICBub2RlX3NldChub2RlLCBwcm9jZXNzb3Jfbm9k
ZXNfcGFyc2VkKTsNCj4gPiArDQo+ID4gKyAgICBkZXZpY2VfdHJlZV9udW1hID0gMTsNCj4gPiAr
ICAgIHByaW50ayhLRVJOX0lORk8gIkRUOiBOVU1BIG5vZGUgJXUgcHJvY2Vzc29yIHBhcnNlZFxu
Iiwgbm9kZSk7DQo+ID4gKw0KPiA+ICsgICAgcmV0dXJuIDA7DQo+ID4gK30NCj4gPiArDQo+ID4g
Ky8qIFBhcnNlIENQVSBOVU1BIG5vZGUgaW5mbyAqLw0KPiA+ICtpbnQgX19pbml0IGRldmljZV90
cmVlX3BhcnNlX251bWFfY3B1X25vZGUoY29uc3Qgdm9pZCAqZmR0LCBpbnQgbm9kZSkNCj4gPiAr
ew0KPiA+ICsgICAgdWludDMyX3QgbmlkOw0KPiA+ICsNCj4gPiArICAgIG5pZCA9IGRldmljZV90
cmVlX2dldF91MzIoZmR0LCBub2RlLCAibnVtYS1ub2RlLWlkIiwgTUFYX05VTU5PREVTKTsNCj4g
PiArICAgIHByaW50ayhYRU5MT0dfV0FSTklORyAiQ1BVIG9uIE5VTUEgbm9kZToldVxuIiwgbmlk
KTsNCj4gDQo+IEdpdmVuIHRoYXQgdGhpcyBpcyBub3QgYWN0dWFsbHkgYSB3YXJuaW5nIChpcyBp
dD8pIHRoZW4gSSB3b3VsZCBtb3ZlIGl0DQo+IHRvIFhFTkxPR19JTkZPDQo+IA0KPiANCg0KDQpP
Sw0KDQo+ID4gKyAgICBpZiAoIG5pZCA+PSBNQVhfTlVNTk9ERVMgKQ0KPiA+ICsgICAgew0KPiA+
ICsgICAgICAgIHByaW50ayhYRU5MT0dfV0FSTklORyAiTm9kZSBpZCAldSBleGNlZWRzIG1heGlt
dW0gdmFsdWVcbiIsDQo+IG5pZCk7DQo+IA0KPiBUaGlzIGNvdWxkIGJlIFhFTkxPR19FUlINCj4g
DQoNCk9LDQoNCj4gDQo+ID4gKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+ID4gKyAgICB9DQo+
ID4gKw0KPiA+ICsgICAgcmV0dXJuIGR0Yl9udW1hX3Byb2Nlc3Nvcl9hZmZpbml0eV9pbml0KG5p
ZCk7DQo+ID4gK30NCg0K


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 09:32:43 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 09:32:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173545.316644 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJYE7-00082j-Db; Fri, 27 Aug 2021 09:32:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173545.316644; Fri, 27 Aug 2021 09: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 1mJYE7-00082c-AL; Fri, 27 Aug 2021 09:32:43 +0000
Received: by outflank-mailman (input) for mailman id 173545;
 Fri, 27 Aug 2021 09:32:41 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zv0+=NS=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mJYE5-00082K-6D
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 09:32:41 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com (unknown
 [40.107.1.40]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 4732210b-d903-4e0e-9296-e60a90217186;
 Fri, 27 Aug 2021 09:32:38 +0000 (UTC)
Received: from AM5PR0602CA0002.eurprd06.prod.outlook.com
 (2603:10a6:203:a3::12) by DB7PR08MB3801.eurprd08.prod.outlook.com
 (2603:10a6:10:79::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Fri, 27 Aug
 2021 09:32:35 +0000
Received: from VE1EUR03FT054.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:203:a3:cafe::57) by AM5PR0602CA0002.outlook.office365.com
 (2603:10a6:203:a3::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.18 via Frontend
 Transport; Fri, 27 Aug 2021 09:32:35 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT054.mail.protection.outlook.com (10.152.19.64) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Fri, 27 Aug 2021 09:32:35 +0000
Received: ("Tessian outbound f11f34576ce3:v103");
 Fri, 27 Aug 2021 09:32:34 +0000
Received: from 8dc6851e8388.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 9A3D8ACB-E67A-4FE8-AEED-1C9225DA3CF5.1; 
 Fri, 27 Aug 2021 09:32:29 +0000
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 8dc6851e8388.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 27 Aug 2021 09:32:29 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB7PR08MB3531.eurprd08.prod.outlook.com (2603:10a6:10:49::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.21; Fri, 27 Aug
 2021 09:32:27 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.024; Fri, 27 Aug 2021
 09:32:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4732210b-d903-4e0e-9296-e60a90217186
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QhHzuM2N/wB4YDWf2eQFPUVE3bdYEyq3wCGDGBrPG8M=;
 b=4E4KPg6FlgMaNRGwSo4tNsS44ZA0TCZQ/z4JhQ5LHS+wCD3QqcYnduhOhu7njovTSfPF1lNSVvTIRv1aqLsIfPVekxV2ZbvfTzhXiqFcuzx4bKtQjwQgqAiajiAAVE1veSH8NdBoXp78eDYTCyDgNacbZzqDI4lzWYGndkENYuQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cJ4xjOgD59OnR+lDmfaAAmAeDyswbrMZOV8eE/oNr2g4r4vNjsiLfCJmF1CpSzGy+LO+u/Y1GSpmG40BsY57FDHQhJfRqYf02MY28AgUxAa5m/hFlcxNRQPYp7vijlvpb9Yjpy8DssiM+unqWFadbUZPhFUSvlhg/iCxXfiwgCkIK+gKARm+QgYOpCinM5aSN5NUvrY9sNkB4mptgw+C+FBzYiJ3fVmu2A0uEoKTUQHEQSZQrYBjnc69Y8CwTTumC7n/rFNk2019AIiZjYi40mJGWY4ekVrBLcZ8HWN5Y3JnX2ngcG+yuM6doXrKmLFgkwSJ8ufBAAQDi0CEayYzwA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QhHzuM2N/wB4YDWf2eQFPUVE3bdYEyq3wCGDGBrPG8M=;
 b=bUw/YAzmYX9AMpuvnCtySatECOpm+kMth2qXiwYDb8U89IJcKqHx9ymFxIr9MxkkB4sf0PhhJCyN0Kv2Ndulg4pW7pkDWM44EcHfHB5fLZYyNQ85v3gWdf44t9YHDNWxefZ3Ul774BXDyuz6sEaWCrKqK15rrYs5tA9/2bcZK2RAC0H2aBZ4mG6+7IZdr7nl1SvLLnsMsveBEMO5Qq9TdekQMy0HiqdyfVX5QEDPUtbLK3y/7oie17+o0tnIl0z5A7gHGfmGaZ1GPin/ORo+8x34ummZxdh/XSvVMrEs8ZDOTFB0PXNaSTOVni/x1jU95n4xxscKsbIoL9Q5cqi4ng==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QhHzuM2N/wB4YDWf2eQFPUVE3bdYEyq3wCGDGBrPG8M=;
 b=4E4KPg6FlgMaNRGwSo4tNsS44ZA0TCZQ/z4JhQ5LHS+wCD3QqcYnduhOhu7njovTSfPF1lNSVvTIRv1aqLsIfPVekxV2ZbvfTzhXiqFcuzx4bKtQjwQgqAiajiAAVE1veSH8NdBoXp78eDYTCyDgNacbZzqDI4lzWYGndkENYuQ=
From: Wei Chen <Wei.Chen@arm.com>
To: Jan Beulich <jbeulich@suse.com>, Stefano Stabellini
	<sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"julien@xen.org" <julien@xen.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 16/40] xen/arm: Create a fake NUMA node to use
 common code
Thread-Topic: [XEN RFC PATCH 16/40] xen/arm: Create a fake NUMA node to use
 common code
Thread-Index: AQHXjps2iDGXvfLaHUqc/mpIlhQB9auGgcmAgAB3swCAADX9oA==
Date: Fri, 27 Aug 2021 09:32:27 +0000
Message-ID:
 <DB9PR08MB685743AC3D625D06ECA95B449EC89@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-17-wei.chen@arm.com>
 <alpine.DEB.2.21.2108261605470.24433@sstabellini-ThinkPad-T480s>
 <0ada9a6f-ca9e-cc2e-f06c-7f754e2a4833@suse.com>
In-Reply-To: <0ada9a6f-ca9e-cc2e-f06c-7f754e2a4833@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 02673E5D98404F4F9D0E95FD474FCE69.0
x-checkrecipientchecked: true
Authentication-Results-Original: suse.com; dkim=none (message not signed)
 header.d=none;suse.com; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 2b6d8d3a-0152-4eae-9aa8-08d9693d9a6d
x-ms-traffictypediagnostic: DB7PR08MB3531:|DB7PR08MB3801:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<DB7PR08MB380117E9DCDC946A42DB60319EC89@DB7PR08MB3801.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:9508;OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 4WKiNoDNgxbwEZpG8ZckyQTgcyYqJ32Mcr0gv+uBj4GSVGKFLtlA6qpkogCbfPmPXvS2di/acZFRD1BH4I3TauBBKJ2fg9lrP4j3FHAPJcaMxBhrZ/s6sLlwf3S0n0aLlQKAvaUDrK8feFpymLm9NpIAolUVFCbSRBvmM+8egj5RTtAl6GvqTxxKKFenfVOg7MDv/GFp3vToo7t70eqLKtX5aFH5tScl5b2K46DniU5M0ub5QTJwCIZ2ZYYtYtjio0+IwBwcDWqS6DrmLrEY4WmSZYxyLQZPaeY2xVnCCHB6Pv7Csb8LeXnPkcDwWPtnPX3x9x7s2LGK35G/SkYUfVBvxPabzCa9WNvvBwm2clCmqQFJu7bv72ROH3RmeK2qUVB0m0y1otKO/BlL+FTkQ7MlH+GW+LXoEHRrumNOi6Yjtw5dDkOffi0jhxhXg352lTRWTNlJxtjh2A06NfuocRo2uZ52Mbrt8FP+QHp3f5cPAhw/MoCYWvkh+mYVV2OIvIbg2s/khl+ESCaKTRJ6nqq/XcbnxzrWrlDHjMmbLkdnvyikRYaWNUmO8cDeJVAjlDdiPVXk8MLtpDW9wNPJfCHxp3thdgkIR5U6eybGe1XPoNPmcSGmfTX+m4GW0EhDxtNg5NDeEFAInJ44qqsR8RwiO32q4WYlOJLk3qesVuHBKPBx9s85oKerjXGdTRd9uUZojSDac6EHTlZvCT2OFw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(39860400002)(376002)(346002)(366004)(136003)(396003)(71200400001)(26005)(38100700002)(8936002)(52536014)(6506007)(5660300002)(53546011)(7696005)(8676002)(186003)(9686003)(54906003)(66446008)(38070700005)(66556008)(110136005)(2906002)(122000001)(64756008)(76116006)(4326008)(86362001)(478600001)(316002)(66946007)(66476007)(33656002)(83380400001)(55016002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?QWZOR2Nhc3NROTBRd2ZNZHBRMnlkQkh1bDloelZjNVg5SGc4UXQxczBZWWFE?=
 =?utf-8?B?czJBaEI0c0crQ0NoS2VhUk9vOUdSdzU5VjM1cjB5TjVWVzE0WjdvVno1OVpR?=
 =?utf-8?B?SmJydXN2S1lHb3FqaTVjNHFuOENuUDZYYzE4UDFQL3d6aEtLY2JZZldWanVo?=
 =?utf-8?B?RGZubzU5L1ZqamZFRE4wL3dXQ1Z1cGV0cUVKTFExR1RRSCtHMlhCeC8zMG5v?=
 =?utf-8?B?TG51L1dUVk9SM21BOUlqVzVOK2xUWmQvT2NoSXVGdWNPaUp2dE8zS3g5WHdx?=
 =?utf-8?B?cWltTExDZ1FWRTl3bmltNGVkM2I1YnpHeUdjd3JVUDJPemlyYTRHbEswZmlB?=
 =?utf-8?B?OStUWmY4Q3czQWRLdzlsVEJ4cXl4b09Hdnhzajg4T2dQcFpBZ2R6Ylg1amts?=
 =?utf-8?B?OHNVUWFkZm9PckIxSGh4b0ZmNkRNU3JRYTF0Z2FzTWVEbVdsNkRVdG5qc0ti?=
 =?utf-8?B?SElMSnE2N240VnhoSk5HT3NLdWhnUFhOZzZ2eG9QNWZGaEd2WThMbTRtQktX?=
 =?utf-8?B?ZDAwMzF5Qkh3RTNlUFJHbHpiU1M5Nit6VHZsMkVabndRbW9VSEF1UHZnRG9l?=
 =?utf-8?B?a2JMVjVTS3ZQWWlUTEdPS0krd0V2cEcwYlZkK0lLZGJhbjV4cmdGL3ppVFZ3?=
 =?utf-8?B?SkgwSHZNYUprU0VFeHUyUVRHRFpOUnEwU2VvTDJiaHhKcUV3dDNXNnFldUo4?=
 =?utf-8?B?WkovRXFybUl4MVZobER1ZEM5WElNQ1F1NTJYck5xeVpuWFQ4REx0TWNjZDB0?=
 =?utf-8?B?aTFSRml5WkRBbHROdCtvZHlKZWR3N1FPN3cwY3JDZmtHT05uZ3lRSmFYOGIx?=
 =?utf-8?B?LzBGaENObHo2QXpNTmorUy9qQW1sSG9wanhqNHNocXh2VjhGZit2NGdEcUY0?=
 =?utf-8?B?dzVURTF4NVpVVDlESXJZNlZpdzFBRGdQN1F0Rkxab2h0S2ZHUDVwdGVjL01u?=
 =?utf-8?B?bzlORVM5YlpsVkhqNGZnV01QN1JMdkVsa29rQW53eG56a2Rac3kzOGVVZTV0?=
 =?utf-8?B?bGtLd0J2amtCdG0rZUEwbjg2U3VNZjhXYXZVQms0cFZ3S2t3amdodXdPYmR2?=
 =?utf-8?B?RkxnRTVIQUE3R0xmZDRPZ1lWeS9JUUFaVGRMbXpwMHhrcDlaa3lTdUpqbFlM?=
 =?utf-8?B?SHdsdXpqTVNDT283QStFTlZtQ2RpYVdFMjA1RlpiTDJOeVh3Q2U2QTBuU0E5?=
 =?utf-8?B?cExQWVMvU25JdTBUVjdGTHI5YVFUS0F5OWR2MkdDMmcrcXYrS0JUbC9wcThl?=
 =?utf-8?B?UUh6UWl5L0xnb3VOWlJodWgxZjZjV2p0Y0UvenRXaUMwK3U5UzZOY0lnTDdl?=
 =?utf-8?B?RGE1dytGUXlaV0g4cTdkcFljL1JVcTVYWmhWV2JURWd1SVM1T0ZhS053YW9M?=
 =?utf-8?B?SDNrUm1LTDVtWFJuaGpVNFdNVEVHS1RkU1hZZTBjYTlTNitWcVMzSm1DOVht?=
 =?utf-8?B?azFZNitKS1Bqd2JNcnBORHVlYmo4Z0VyaklmM2dSNjQzVXNoUCt0R1ZXWlNO?=
 =?utf-8?B?VlI0eUFLQzY3d09Na2pyQ0wzTG1YUWJYQ3VJVlU2cmRiN2M3WEl2QzdzMStw?=
 =?utf-8?B?SEJ3MzFONk1WZjVjZGo3bHBhTDNEak1JZ05WZXRzN1RDZXdjd3ZJMnprTnM4?=
 =?utf-8?B?VTNYa01iTDJDZ0V5WGhpcURiR3Q2ekgyUGFub2RidUlRMW1JTm9ndTViekhL?=
 =?utf-8?B?ckJ6dGlneUFuWlE0YmdsWUpRZnlScW5CQ2NBYjgrRHMxWlVkSTVxQi9WeURB?=
 =?utf-8?Q?vtu0IUN2RYvrlu+fICaCdvtb5fv0KgWn8rlbbKZ?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3531
Original-Authentication-Results: suse.com; dkim=none (message not signed)
 header.d=none;suse.com; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT054.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	99921e84-8457-4b70-1223-08d9693d95df
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	z2fvryawZKuR+hfGyos/CQ+qCSxqjYgMZNX6SMyjhUphaSSogqDWvxgdIxQ1WS9t/Zttg566D9n98AOCVlKCWuWoG5z3HixqoADBBPlzFv0ksau8aeIyJUR1+TurbMDFE6LULsU/srxpWoCwUjpS3CnGwUB5WxlVTuaC5/iWTzRCShKyRVZdF0VtKTqSU7REpcMDUWL8tG2D4YRsfKPX/6sZ8/FpMRx+6QCoY7XYm8RvdZIvZScSrA1n9mkdZgz3PxFqMrR8y1+CQPrXC5itv3sE60YeokwuEARRlG0ncT55iAELvTc7B3YMqibYhUYNDcQdhLXLFbzcuNvJReIwgVVrvT1w39aGHzwdrzIkcCc3WHI+5W97lhb5GyeKrZ3ptlRsBt1haG4bJWWdkZgnZS7ufSJX1ThgIsOWoIDKeSd1PdVdmYo8QpOQeot+zCAKVuaMzchiCDANn2Gou6dRx6ELEi5xFhBOIpgbcpO1jVWPlz7UgCh2aAXGPm3g0iQt/eK6k64wYBQ7fFhOw46yjzeCeUMI6SPHVseHlPwqyQm4vipyYmihor5Ip9Zdl+rtaNwBq06+DhmKJWVCajQQkBvtBjJeDcZHlXJHDzN2IzLUAlEUMeAMjKGHKHwKJ1rEJKb4aZL7gtonqHi50RKV6/hF/CJcd5f9Jw+F9UEWP/rsuU857IxGgMI9IPe17NaE7nvDxdJv4JQxs6QJgTBynA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(376002)(346002)(136003)(396003)(39860400002)(46966006)(36840700001)(110136005)(52536014)(82310400003)(316002)(81166007)(33656002)(6506007)(47076005)(2906002)(36860700001)(86362001)(83380400001)(8676002)(53546011)(7696005)(82740400003)(336012)(186003)(356005)(70586007)(478600001)(26005)(9686003)(5660300002)(70206006)(54906003)(8936002)(55016002)(4326008);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2021 09:32:35.3362
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2b6d8d3a-0152-4eae-9aa8-08d9693d9a6d
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT054.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3801

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMeW5tDjmnIgyN+aXpSAxNDoxOA0K
PiBUbzogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPjsgV2VpIENo
ZW4NCj4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiB4ZW4tZGV2ZWxAbGlzdHMueGVucHJvamVj
dC5vcmc7IGp1bGllbkB4ZW4ub3JnOyBCZXJ0cmFuZCBNYXJxdWlzDQo+IDxCZXJ0cmFuZC5NYXJx
dWlzQGFybS5jb20+DQo+IFN1YmplY3Q6IFJlOiBbWEVOIFJGQyBQQVRDSCAxNi80MF0geGVuL2Fy
bTogQ3JlYXRlIGEgZmFrZSBOVU1BIG5vZGUgdG8gdXNlDQo+IGNvbW1vbiBjb2RlDQo+IA0KPiBP
biAyNy4wOC4yMDIxIDAxOjEwLCBTdGVmYW5vIFN0YWJlbGxpbmkgd3JvdGU6DQo+ID4gT24gV2Vk
LCAxMSBBdWcgMjAyMSwgV2VpIENoZW4gd3JvdGU6DQo+ID4+IEBAIC0yOSwzICszMSw1NCBAQCB2
b2lkIG51bWFfc2V0X25vZGUoaW50IGNwdSwgbm9kZWlkX3QgbmlkKQ0KPiA+Pg0KPiA+PiAgICAg
IGNwdV90b19ub2RlW2NwdV0gPSBuaWQ7DQo+ID4+ICB9DQo+ID4+ICsNCj4gPj4gK3ZvaWQgX19p
bml0IG51bWFfaW5pdChib29sIGFjcGlfb2ZmKQ0KPiA+PiArew0KPiA+PiArICAgIHVpbnQzMl90
IGlkeDsNCj4gPj4gKyAgICBwYWRkcl90IHJhbV9zdGFydCA9IH4wOw0KPiA+PiArICAgIHBhZGRy
X3QgcmFtX3NpemUgPSAwOw0KPiA+PiArICAgIHBhZGRyX3QgcmFtX2VuZCA9IDA7DQo+ID4+ICsN
Cj4gPj4gKyAgICBwcmludGsoWEVOTE9HX1dBUk5JTkcNCj4gPj4gKyAgICAgICAgIk5VTUEgaGFz
IG5vdCBiZWVuIHN1cHBvcnRlZCB5ZXQsIE5VTUEgb2ZmIVxuIik7DQo+ID4NCj4gPiBOSVQ6IHBs
ZWFzZSBhbGlnbg0KPiA+DQo+ID4NCj4gPj4gKyAgICAvKiBBcm0gTlVNQSBoYXMgbm90IGJlZW4g
aW1wbGVtZW50ZWQgdW50aWwgdGhpcyBwYXRjaCAqLw0KPiA+DQo+ID4gIkFybSBOVU1BIGlzIG5v
dCBpbXBsZW1lbnRlZCB5ZXQiDQo+ID4NCj4gPg0KPiA+PiArICAgIG51bWFfb2ZmID0gdHJ1ZTsN
Cj4gPj4gKw0KPiA+PiArICAgIC8qDQo+ID4+ICsgICAgICogU2V0IGFsbCBjcHVfdG9fbm9kZSBt
YXBwaW5nIHRvIDAsIHRoaXMgd2lsbCBtYWtlIGNwdV90b19ub2RlDQo+ID4+ICsgICAgICogZnVu
Y3Rpb24gcmV0dXJuIDAgYXMgcHJldmlvdXMgZmFrZSBjcHVfdG9fbm9kZSBBUEkuDQo+ID4+ICsg
ICAgICovDQo+ID4+ICsgICAgZm9yICggaWR4ID0gMDsgaWR4IDwgTlJfQ1BVUzsgaWR4KysgKQ0K
PiA+PiArICAgICAgICBjcHVfdG9fbm9kZVtpZHhdID0gMDsNCj4gPj4gKw0KPiA+PiArICAgIC8q
DQo+ID4+ICsgICAgICogTWFrZSBub2RlX3RvX2NwdW1hc2ssIG5vZGVfc3Bhbm5lZF9wYWdlcyBh
bmQgbm9kZV9zdGFydF9wZm4NCj4gPj4gKyAgICAgKiByZXR1cm4gYXMgcHJldmlvdXMgZmFrZSBB
UElzLg0KPiA+PiArICAgICAqLw0KPiA+PiArICAgIGZvciAoIGlkeCA9IDA7IGlkeCA8IE1BWF9O
VU1OT0RFUzsgaWR4KysgKSB7DQo+ID4+ICsgICAgICAgIG5vZGVfdG9fY3B1bWFza1tpZHhdID0g
Y3B1X29ubGluZV9tYXA7DQo+ID4+ICsgICAgICAgIG5vZGVfc3Bhbm5lZF9wYWdlcyhpZHgpID0g
KG1heF9wYWdlIC0gbWZuX3goZmlyc3RfdmFsaWRfbWZuKSk7DQo+ID4+ICsgICAgICAgIG5vZGVf
c3RhcnRfcGZuKGlkeCkgPSAobWZuX3goZmlyc3RfdmFsaWRfbWZuKSk7DQo+ID4+ICsgICAgfQ0K
PiA+DQo+ID4gSSBqdXN0IHdhbnQgdG8gbm90ZSB0aGF0IHRoaXMgd29ya3MgYmVjYXVzZSBNQVhf
TlVNTk9ERVMgaXMgMS4gSWYNCj4gPiBNQVhfTlVNTk9ERVMgd2FzID4gMSB0aGVuIGl0IHdvdWxk
IGJlIHdyb25nIHRvIHNldCBub2RlX3RvX2NwdW1hc2ssDQo+ID4gbm9kZV9zcGFubmVkX3BhZ2Vz
IGFuZCBub2RlX3N0YXJ0X3BmbiBmb3IgYWxsIG5vZGVzIHRvIHRoZSBzYW1lIHZhbHVlcy4NCj4g
Pg0KPiA+IEl0IG1pZ2h0IGJlIHdvcnRoIHdyaXRpbmcgc29tZXRoaW5nIGFib3V0IGl0IGluIHRo
ZSBpbi1jb2RlIGNvbW1lbnQuDQo+IA0KPiBQbHVzIHBlcmhhcHMgQlVJTERfQlVHX09OKE1BWF9O
VU1OT0RFUyAhPSAxKSwgc28gdGhlIGlzc3VlIGlzIGFjdHVhbGx5DQo+IG5vdGljZWQgYXQgYnVp
bGQgdGltZSBvbmNlIHRoZSBjb25zdGFudCBnZXRzIGNoYW5nZWQ/DQo+IA0KDQpJdCB3b3VsZCBi
ZSBiZXR0ZXIuIEkgd2lsbCB1c2UgaXQgaW4gbmV4dCB2ZXJzaW9uLg0KDQo+IEphbg0KDQo=


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 09:45:00 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 09:45:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173553.316655 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJYPu-0001RK-Mg; Fri, 27 Aug 2021 09:44:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173553.316655; Fri, 27 Aug 2021 09: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 1mJYPu-0001RA-J7; Fri, 27 Aug 2021 09:44:54 +0000
Received: by outflank-mailman (input) for mailman id 173553;
 Fri, 27 Aug 2021 09:44:53 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jVCk=NS=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJYPt-0001Qo-6A
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 09:44:53 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 475d56d5-cde9-45cc-9454-027da35a77f3;
 Fri, 27 Aug 2021 09:44:52 +0000 (UTC)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2053.outbound.protection.outlook.com [104.47.12.53]) (Using
 TLS) by relay.mimecast.com with ESMTP id de-mta-6-sS7YUClEP4qmjm3btYe9hg-2;
 Fri, 27 Aug 2021 11:44:50 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0402MB3773.eurprd04.prod.outlook.com (2603:10a6:803:1c::27)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Fri, 27 Aug
 2021 09:44:47 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.023; Fri, 27 Aug 2021
 09:44:47 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0185.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1c::29) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.20 via Frontend Transport; Fri, 27 Aug 2021 09:44: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: 475d56d5-cde9-45cc-9454-027da35a77f3
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630057491;
	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=s1QdbS4tKCTVY5euqHq5INmSh+p8Ty/tdguKddlvNbk=;
	b=ELJ45UZm93/fI3Hjrc09JZOZ7a/A3tjc5SIy3WZ1uKWC2z2FuGze7wcK4nIyUDcUS4alS6
	1ctrjYdRN8XPbTe1M+jBqP9gS8WRVYZkjqwaZJR2rVS9Xfs9378K+XLkLD/gs3OKfvTMTX
	ZPVb9360R08hktwHHLFnO54uJ2ZDGlY=
X-MC-Unique: sS7YUClEP4qmjm3btYe9hg-2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TekHBTCSzQw1QwxGukn5FaDoN86HiX9ASr5jqJMMDF4vDX8k5f0BaluNq6Lu68rafziesJk4cIu8r68f77eFfyAbnnxh0ZUklEmBhCePuLmeOYJ4Jtb9KFcV9Dpia5AiX3aMGxmt796/DmxqrbqPmR9pY5Mcom9X/cKqvlfQSgecl3cCIf/RuI6z89H74iKSq1JPyVVkaQTwarWAEK+IdGnX391bb0h5W9HAEdxJeK7B3v0WuiJldeZZ/3q26ufLTS8VIIu2ZgEMp9vamF+9r2FC/z29I2YQqwMRfLLrDKcZPig7nzMpVlmzF0HICpaASuVl/FsW8B/8nc0ZMn4RWA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=s1QdbS4tKCTVY5euqHq5INmSh+p8Ty/tdguKddlvNbk=;
 b=WB4XuBiIdNREeexiJqe1gjmB6cTT+SojwgyyhM4SbQQWshd9RhGfEj2sh3AoZVqlF1khgWJFXDvMm65iXHdflLwo5hDTxAna3Xw0mBPywYkfzVgkz9f/Jr3JRdVy1RAgtVuczojFiiO826YRxd45OzJH1YYLjwXyD6g3Brz3wBHF89KNMclscHhy/phB+laTRphgUcSonutQUZOMydo7zQaenKrq1H2qS83Z6Gue80+W3JP4fnpWe87jIDYi9QF+taegefGib75nr40SQQAMPHTHLLb6P2OtBBaq7KSrMCzkB+xTSpChrjg+t7dfdrQCR+IGQMKPz5g/1OQSPAn+oQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: Linux: balloon_process() causing workqueue lockups?
To: Juergen Gross <jgross@suse.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <2bfd9396-0967-df51-298b-22a91f570c48@suse.com>
 <744feab4-44a8-bb57-a03a-4cc2b8a78f88@suse.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <b651d091-973c-f533-43b5-765aeb3b10c9@suse.com>
Date: Fri, 27 Aug 2021 11:44:43 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <744feab4-44a8-bb57-a03a-4cc2b8a78f88@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0185.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1c::29) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 952016b9-d85b-4044-8284-08d9693f4e5a
X-MS-TrafficTypeDiagnostic: VI1PR0402MB3773:
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB3773DABA34F659BC14138050B3C89@VI1PR0402MB3773.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	lAtbnw1XTrj+B6DkvlkpMW/Bs/9ykaagae5lOkEEpmDqk3yyIrBxP2R/zIkRT28POWWECei88FP/tNLAoz8lqWpSmu1XjPFC+Cc8smJFZfqp3QTaHTklDriLt4rcy2XIy+eYqFzGWaU/AAKku1aRBw5B2b4mZPnatB/W712LpfPRz6fYyUFdV86Gs7cE0uGEJewHEQpYsBr/6b0lItadSNrLZ5zYnatqKGCgPudikQUy1hlRsC7wzNq95dZSKwV2a7thdaQWyRsEZ5aHNiRGuYNfLxDDL4wTvzQo9FX+weuklQ8//gr0kj05g2Omqp7/CKEqjq0/wjJRAIIdBZ231skT5vrBk4g5pxHwGvEbC++9e+0wwsTed7gFUuhN/ZaPxThU2jBRM9y8vb1fOt47poKFktRqlCwhwNdDrTHfWf6qSfNu7F4QZdy9SX1xXdU3wanp/jMGRVphz62jObdNAoEz+GZ5O0aagbXA7sj1V2vAiwx3jmjzM44hqQu/NaH8q5YFmMSeTq12Sgww+1VkmPY4tr0GWiaOCyvTtiywaU66jrIRvdt3Lm49JN/HdCBaVr4ScscrxShfrJyBVxm3OFHapY6JsXg5Wk9NYP2Yia5rGzZtqqycgJmWOjwxx0di2bKfpU7+f5MhF4FY9E3o92mZD7sezNMm1Kkdpv+KwNzVMZoKJsVgEMB6HjifnVMWaYOD+KKkmW1v703NjsrZfnVs0CpZok7Qri7L01tSxLw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(66556008)(508600001)(16576012)(110136005)(31696002)(66476007)(316002)(2616005)(36756003)(4326008)(8676002)(6666004)(38100700002)(956004)(66946007)(2906002)(186003)(86362001)(83380400001)(5660300002)(8936002)(53546011)(6486002)(31686004)(26005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZmM4a2pSa1JiYjNwYjdzMm8wU0lPeFpCeE5wNEZkSmRlNXgrbktCUmtvUFFE?=
 =?utf-8?B?RHBDRVdnUXFqRjFxc0NLQmdmK3IxQ2FHOElndmIvc1BLNUlZMWZZSitWb0lM?=
 =?utf-8?B?WnNIT0ZBMEJlUFlRWWszQ2MyUjNxK1MwT1ErR2wyNHRST3JyWU43QkdVa1Uy?=
 =?utf-8?B?amNrY0dKRk44TE1qcER1NTFjdUhEQUhSNkxhZE5URWdQQzJyRkpFUjc1NE9L?=
 =?utf-8?B?MklMZHNvYjVOaFhFenArU0UzdUVqUzJJeDFUM0pMdS9LVTFBQVZjOWU4eVlE?=
 =?utf-8?B?VjBxU0p1T1BkTzlwQ0pjc2d2a0ZkVXpURitHdlNkUytqKzNsMlZSKzd1TXpO?=
 =?utf-8?B?cGIwNjFRYlZDZnEwSm5hU1JDVm4yL3RSdGdjUkVTYjRlbENPVDdqNDFEeUJZ?=
 =?utf-8?B?dWNmS2laMnA2OWxFd2NpcW10QTVuc0c4UkFUeEFpK2VvRUdXdGsvY0NJbDRp?=
 =?utf-8?B?S3Q3cmFhZmVHWUoySXpnenFpam9sbzdiTHE1WTBJd0I5aTlyd1d5aG9pTzdj?=
 =?utf-8?B?QlZEQlZsbUg3OEtDSUlFVlF6SXUrYVEzVWZ5OXVPVEMxUE5iWDdsVXNlU0dn?=
 =?utf-8?B?YmE5UU5TZkdJVkplRjhSYkY5QW9LK0hva0RUNHVqMEY1bFJDUkZSSGg5Y3FH?=
 =?utf-8?B?dHZBTERVTGsvT1BGTE5iM2l3SFpmNWdINmNOY2RjUmtYd29VSHI1WExxVTlz?=
 =?utf-8?B?K1Fjb2h2QjdjT29qVXRJY3JtVEV1Z3Z0emVSbWdCL3dlVU4xZ1FxckZKaXFX?=
 =?utf-8?B?c3FnVU1tbUxMcHpGLzVtVm9Xd29udTVLTEhvWmtRL096d3Q4NzRJQUlERURZ?=
 =?utf-8?B?YkhpNjcvNUkrTFAvNTU0UEhaazY3aTBjeE10TDBWN3RTVzNiNWd4MlBTNGpV?=
 =?utf-8?B?TUgwVmNTeXVhQk5CNjl5OElKbTlLTjQ0RVVKVHMySXdpTlNtUldFUVJ4Vmh0?=
 =?utf-8?B?bVJpRlA5d21nUi8ycDJsVktwTXZqRk94YVdIek5zU0dQTEVYYjVTTzM3MUVM?=
 =?utf-8?B?Mkt4QnYxUmkrSm05UEtvRjBFOW9IaHpZVkFhUXdpaHNPZzl3ZmhmeXByTDkz?=
 =?utf-8?B?TFRVUWJYWURFTS9FUzNQMXdEeDNFOXA2cTY4YS9TVWR1RjdibjJpV1F3cTM3?=
 =?utf-8?B?RjhDQkQzOGF6WG9pdTRaMkdITU5DVnR4aVhWMzVEUnJrNjdJT1N6VFRxTFJu?=
 =?utf-8?B?WUJMbjFmWWpHQUVsRkJ5c2lac3Jwa0JmZUdoRGl2cDNDQUdkWDdxSnUyWjNt?=
 =?utf-8?B?OGdENURkY1gwNldOYWdHaysvQ0s4WUNLVjIxK1NhejVpRnQ3bTN4VXg1cGd5?=
 =?utf-8?B?ckg4U2RGRWhkVGpacGtXUmtpcFJNTjUwNllRampPK1lBU3RxYUhFanpSVmU0?=
 =?utf-8?B?QUVjMHR1ekE4U0krNW1iQmsrSHpkZTBwemJkbnhEVzZZa0ZlK2lrMk82aGFI?=
 =?utf-8?B?NFBEYWRHeUlRLzlKSW9ZT0oweC9WTHR4VE80dUFlbnROVTZqR1ZhWEthOXBX?=
 =?utf-8?B?N3BXTUxYUFBnaFlyQTgySjRCeVMxa1hUdTFWRjRsR0tHUjk1QlZDWWJ1cVdw?=
 =?utf-8?B?RkFjZ2J6Zmp5VEJBUU1sMWs0VWJyejA5MEZvak9PNVZLeUZrbUFSQ1dpamFo?=
 =?utf-8?B?K1NOSWtEemdYZ3FNOWhsSHpPSlZnUWc2YnZDNll6Si8xRXIzR2g5WC81RTdN?=
 =?utf-8?B?b2p0Y1BPNmpuUkMrQTF6a0RpUXV5aEJ3ZjEycENsaFo0Z09IS1Exd1VxQUxT?=
 =?utf-8?Q?G3iOlT2RmyKoKkdH+0GXGRLAxUGooPUBNbbKSQY?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 952016b9-d85b-4044-8284-08d9693f4e5a
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2021 09:44:46.9815
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: f0d/KJpEqOtBXCRU5m+ams1hHgGDxaU7NyZHbEnTS5xCRRgzG/EAdEvI4nWbUlcNkI3W2HSUMeZHg7DH5xbdwQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3773

On 27.08.2021 11:29, Juergen Gross wrote:
> On 27.08.21 11:01, Jan Beulich wrote:
>> ballooning down Dom0 by about 16G in one go once in a while causes:
>>
>> BUG: workqueue lockup - pool cpus=6 node=0 flags=0x0 nice=0 stuck for 64s!
>> Showing busy workqueues and worker pools:
>> workqueue events: flags=0x0
>>    pwq 12: cpus=6 node=0 flags=0x0 nice=0 active=2/256 refcnt=3
>>      in-flight: 229:balloon_process
>>      pending: cache_reap
>> workqueue events_freezable_power_: flags=0x84
>>    pwq 12: cpus=6 node=0 flags=0x0 nice=0 active=1/256 refcnt=2
>>      pending: disk_events_workfn
>> workqueue mm_percpu_wq: flags=0x8
>>    pwq 12: cpus=6 node=0 flags=0x0 nice=0 active=1/256 refcnt=2
>>      pending: vmstat_update
>> pool 12: cpus=6 node=0 flags=0x0 nice=0 hung=64s workers=3 idle: 2222 43
>>
>> I've tried to double check that this isn't related to my IOMMU work
>> in the hypervisor, and I'm pretty sure it isn't. Looking at the
>> function I see it has a cond_resched(), but aiui this won't help
>> with further items in the same workqueue.
>>
>> Thoughts?
> 
> I'm seeing two possible solutions here:
> 
> 1. After some time (1 second?) in balloon_process() setup a new
>     workqueue activity and return (similar to EAGAIN, but without
>     increasing the delay).
> 
> 2. Don't use a workqueue for the ballooning activity, use a kernel
>     thread instead.
> 
> I have a slight preference for 2, even if the resulting patch will
> be larger. 1 is only working around the issue and it is hard to
> find a really good timeout value.
> 
> I'd be fine to write a patch, but would prefer some feedback which
> way to go.

Was there a particular reason that a workqueue was used in the first
place? Otherwise using a kernel thread would look like the way to
go, indeed. The presence of cond_resched() kind of indicates such an
intention already anyway.

Jan



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 09:58:18 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 09:58:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173560.316666 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJYch-0003AS-V1; Fri, 27 Aug 2021 09:58:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173560.316666; Fri, 27 Aug 2021 09: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 1mJYch-0003AL-Q1; Fri, 27 Aug 2021 09:58:07 +0000
Received: by outflank-mailman (input) for mailman id 173560;
 Fri, 27 Aug 2021 09:58:05 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=hYM7=NS=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mJYcf-0003AF-TE
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 09:58:05 +0000
Received: from smtp-out1.suse.de (unknown [195.135.220.28])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 456efed6-071d-11ec-aa9e-12813bfff9fa;
 Fri, 27 Aug 2021 09:58:04 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 D4ED622398;
 Fri, 27 Aug 2021 09:58:03 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id ACF6B13277;
 Fri, 27 Aug 2021 09:58:03 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id foEBKCu3KGEcMAAAGKfGzw
 (envelope-from <jgross@suse.com>); Fri, 27 Aug 2021 09:58: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: 456efed6-071d-11ec-aa9e-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1630058283; 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=VhjgWoZXfP7cxqOHZfGML5d57ogko/ZAtZ5uCwlaa3A=;
	b=Bbqh+t22mecW8V2ESQWm9EMVLpnFVAlsuKYo2NrZf8KmRAMPxKI0FvhNCvRmEZ9UfKwHog
	SdmhB+SrQ7BmLVsvMT930wucH3xOJeL80FkxD8HAwNv6NB+ngaTPcTWGdYD2CZfL71MM0t
	yjKP8YA1PhM9Ra3rvBoSME6l/k94FE8=
To: Jan Beulich <jbeulich@suse.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <2bfd9396-0967-df51-298b-22a91f570c48@suse.com>
 <744feab4-44a8-bb57-a03a-4cc2b8a78f88@suse.com>
 <b651d091-973c-f533-43b5-765aeb3b10c9@suse.com>
From: Juergen Gross <jgross@suse.com>
Subject: Re: Linux: balloon_process() causing workqueue lockups?
Message-ID: <dab6140b-284c-2074-2474-592e0f263b7b@suse.com>
Date: Fri, 27 Aug 2021 11:58:03 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <b651d091-973c-f533-43b5-765aeb3b10c9@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="8bFNovJQqg9rgfhEiIHcXPQDhQuPMVASB"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--8bFNovJQqg9rgfhEiIHcXPQDhQuPMVASB
Content-Type: multipart/mixed; boundary="Hht93ILMbNgzST7emhSR2lHaIuFcyQSLs";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Message-ID: <dab6140b-284c-2074-2474-592e0f263b7b@suse.com>
Subject: Re: Linux: balloon_process() causing workqueue lockups?
References: <2bfd9396-0967-df51-298b-22a91f570c48@suse.com>
 <744feab4-44a8-bb57-a03a-4cc2b8a78f88@suse.com>
 <b651d091-973c-f533-43b5-765aeb3b10c9@suse.com>
In-Reply-To: <b651d091-973c-f533-43b5-765aeb3b10c9@suse.com>

--Hht93ILMbNgzST7emhSR2lHaIuFcyQSLs
Content-Type: multipart/mixed;
 boundary="------------9C2F4E0CCBE76B5F5DC24FA7"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------9C2F4E0CCBE76B5F5DC24FA7
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 27.08.21 11:44, Jan Beulich wrote:
> On 27.08.2021 11:29, Juergen Gross wrote:
>> On 27.08.21 11:01, Jan Beulich wrote:
>>> ballooning down Dom0 by about 16G in one go once in a while causes:
>>>
>>> BUG: workqueue lockup - pool cpus=3D6 node=3D0 flags=3D0x0 nice=3D0 s=
tuck for 64s!
>>> Showing busy workqueues and worker pools:
>>> workqueue events: flags=3D0x0
>>>     pwq 12: cpus=3D6 node=3D0 flags=3D0x0 nice=3D0 active=3D2/256 ref=
cnt=3D3
>>>       in-flight: 229:balloon_process
>>>       pending: cache_reap
>>> workqueue events_freezable_power_: flags=3D0x84
>>>     pwq 12: cpus=3D6 node=3D0 flags=3D0x0 nice=3D0 active=3D1/256 ref=
cnt=3D2
>>>       pending: disk_events_workfn
>>> workqueue mm_percpu_wq: flags=3D0x8
>>>     pwq 12: cpus=3D6 node=3D0 flags=3D0x0 nice=3D0 active=3D1/256 ref=
cnt=3D2
>>>       pending: vmstat_update
>>> pool 12: cpus=3D6 node=3D0 flags=3D0x0 nice=3D0 hung=3D64s workers=3D=
3 idle: 2222 43
>>>
>>> I've tried to double check that this isn't related to my IOMMU work
>>> in the hypervisor, and I'm pretty sure it isn't. Looking at the
>>> function I see it has a cond_resched(), but aiui this won't help
>>> with further items in the same workqueue.
>>>
>>> Thoughts?
>>
>> I'm seeing two possible solutions here:
>>
>> 1. After some time (1 second?) in balloon_process() setup a new
>>      workqueue activity and return (similar to EAGAIN, but without
>>      increasing the delay).
>>
>> 2. Don't use a workqueue for the ballooning activity, use a kernel
>>      thread instead.
>>
>> I have a slight preference for 2, even if the resulting patch will
>> be larger. 1 is only working around the issue and it is hard to
>> find a really good timeout value.
>>
>> I'd be fine to write a patch, but would prefer some feedback which
>> way to go.
>=20
> Was there a particular reason that a workqueue was used in the first
> place? Otherwise using a kernel thread would look like the way to
> go, indeed. The presence of cond_resched() kind of indicates such an
> intention already anyway.

The workqueue approach was there initially since the balloon driver
has been added. I guess the cond_resched() was just needed to avoid
scheduling starvation. It was part of the initial driver, too.

So basically I don't know why the workqueue instead of a kernel
thread was chosen.


Juergen

--------------9C2F4E0CCBE76B5F5DC24FA7
Content-Type: application/pgp-keys;
 name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Transfer-Encoding: quoted-printable
Content-Description: OpenPGP public key
Content-Disposition: attachment;
 filename="OpenPGP_0xB0DE9DD628BF132F.asc"

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOBy=
cWx
w3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJvedYm8O=
f8Z
d621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y=
9bf
IhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xq=
G7/
377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR=
3Jv
c3MgPGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsEFgIDA=
QIe
AQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4FUGNQH2lvWAUy+dnyT=
hpw
dtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3TyevpB0CA3dbBQp0OW0fgCetToGIQrg0=
MbD
1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbv=
oPH
Z8SlM4KWm8rG+lIkGurqqu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v=
5QL
+qHI3EIPtyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVyZ=
2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJCAcDAgEGFQgCC=
QoL
BBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4RF7HoZhPVPogNVbC4YA6lW7Dr=
Wf0
teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz78X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC=
/nu
AFVGy+67q2DH8As3KPu0344TBDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0Lh=
ITT
d9jLzdDad1pQSToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLm=
XBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkMnQfvUewRz=
80h
SnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMBAgAjBQJTjHDXAhsDBwsJC=
AcD
AgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJn=
FOX
gMLdBQgBlVPO3/D9R8LtF9DBAFPNhlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1=
jnD
kfJZr6jrbjgyoZHiw/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0=
N51
N5JfVRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwPOoE+l=
otu
fe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK/1xMI3/+8jbO0tsn1=
tqS
EUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuZGU+wsB5BBMBAgAjBQJTjHDrA=
hsD
BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3=
g3O
ZUEBmDHVVbqMtzwlmNC4k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5=
dM7
wRqzgJpJwK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu5=
D+j
LRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzBTNh30FVKK1Evm=
V2x
AKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37IoN1EblHI//x/e2AaIHpzK5h88N=
Eaw
QsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpW=
nHI
s98ndPUDpnoxWQugJ6MpMncr0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZR=
wgn
BC5mVM6JjQ5xDk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNV=
bVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mmwe0icXKLk=
pEd
IXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0Iv3OOImwTEe4co3c1mwARA=
QAB
wsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMvQ/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEw=
Tbe
8YFsw2V/Buv6Z4Mysln3nQK5ZadD534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1=
vJz
Q1fOU8lYFpZXTXIHb+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8=
VGi
wXvTyJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqcsuylW=
svi
uGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5BjR/i1DG86lem3iBDX=
zXs
ZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------9C2F4E0CCBE76B5F5DC24FA7--

--Hht93ILMbNgzST7emhSR2lHaIuFcyQSLs--

--8bFNovJQqg9rgfhEiIHcXPQDhQuPMVASB
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmEotysFAwAAAAAACgkQsN6d1ii/Ey8u
hwf+MI7k3lhlpKYnuWL9hYPhqZg/npx6nqT30/q5js2Gr0znT5/nXAQe4SAChiIySYWyaMdSP4Wp
0ValM5V+wXZnJZPuDl+C7bPSiAThh1WoSBkL64emoOJwJyetEYdFJl1SVQqzY5bNRRUXqIhSYzDg
Kzus/ra8vTYGH3R+e6Ez1XGOmjz70/z1IpeHNdQ/i8X2DDrHjN/mblcV9iCcRNtBPmxTK+xv75UB
KjsXNRUhnBCbGhOasNuiWPsuZBmbOgR3KwMhhTrWNCpowimydJVLAxd5b9y9h+lucwz7LaJT6DK7
f5I4M4lU3BjcY+edSbrpVCra6L+uNb9KDkHwkMeLHw==
=lp4j
-----END PGP SIGNATURE-----

--8bFNovJQqg9rgfhEiIHcXPQDhQuPMVASB--


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 10:36:04 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 10:36:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173569.316676 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJZDI-0008Cg-NN; Fri, 27 Aug 2021 10:35:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173569.316676; Fri, 27 Aug 2021 10:35:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJZDI-0008CZ-KO; Fri, 27 Aug 2021 10:35:56 +0000
Received: by outflank-mailman (input) for mailman id 173569;
 Fri, 27 Aug 2021 10:35:55 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mJZDH-0008CT-Cl
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 10:35:55 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mJZDH-00038R-1Z; Fri, 27 Aug 2021 10:35:55 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mJZDG-00012m-Ro; Fri, 27 Aug 2021 10:35:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=4KcftUGV55JDGZRSnu7pPplqXLBY/jC5H2ssKCnXQIM=; b=Q1bM12pMOfhoVpk2X5uvSue04p
	OopjdOccq9yFhHBmd/iez4rdVlvvQN5v7vCEJFfyc2701MOVSkV95mY8GN/5Gi8/LacEmPN5fv5sg
	SOgx8bU5RvXgFfIhyuV7MAXrNkRIYnt3CP/q3oXA3yjgczkg03Exg6YIoSbgLY9IK0n8=;
Subject: Re: HVM guest only bring up a single vCPU
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <a1724918-94bf-748f-5c4b-5a3ec176368f@xen.org>
 <781aeba6-5e77-9995-cf58-9dc6fd443ad8@citrix.com>
 <3b2e6fce-98a2-c18f-7068-9ca990b0b95e@suse.com>
From: Julien Grall <julien@xen.org>
Message-ID: <62ca5392-3d85-0883-8020-287072358cef@xen.org>
Date: Fri, 27 Aug 2021 11:35:53 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <3b2e6fce-98a2-c18f-7068-9ca990b0b95e@suse.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit

Hi Jan,

On 27/08/2021 07:28, Jan Beulich wrote:
> On 27.08.2021 01:42, Andrew Cooper wrote:
>> On 26/08/2021 22:00, Julien Grall wrote:
>>> Hi Andrew,
>>>
>>> While doing more testing today, I noticed that only one vCPU would be
>>> brought up with HVM guest with Xen 4.16 on my setup (QEMU):
>>>
>>> [    1.122180]
>>> ================================================================================
>>> [    1.122180] UBSAN: shift-out-of-bounds in
>>> oss/linux/arch/x86/kernel/apic/apic.c:2362:13
>>> [    1.122180] shift exponent -1 is negative
>>> [    1.122180] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.14.0-rc7+ #304
>>> [    1.122180] Hardware name: Xen HVM domU, BIOS 4.16-unstable 06/07/2021
>>> [    1.122180] Call Trace:
>>> [    1.122180]  dump_stack_lvl+0x56/0x6c
>>> [    1.122180]  ubsan_epilogue+0x5/0x50
>>> [    1.122180]  __ubsan_handle_shift_out_of_bounds+0xfa/0x140
>>> [    1.122180]  ? cgroup_kill_write+0x4d/0x150
>>> [    1.122180]  ? cpu_up+0x6e/0x100
>>> [    1.122180]  ? _raw_spin_unlock_irqrestore+0x30/0x50
>>> [    1.122180]  ? rcu_read_lock_held_common+0xe/0x40
>>> [    1.122180]  ? irq_shutdown_and_deactivate+0x11/0x30
>>> [    1.122180]  ? lock_release+0xc7/0x2a0
>>> [    1.122180]  ? apic_id_is_primary_thread+0x56/0x60
>>> [    1.122180]  apic_id_is_primary_thread+0x56/0x60
>>> [    1.122180]  cpu_up+0xbd/0x100
>>> [    1.122180]  bringup_nonboot_cpus+0x4f/0x60
>>> [    1.122180]  smp_init+0x26/0x74
>>> [    1.122180]  kernel_init_freeable+0x183/0x32d
>>> [    1.122180]  ? _raw_spin_unlock_irq+0x24/0x40
>>> [    1.122180]  ? rest_init+0x330/0x330
>>> [    1.122180]  kernel_init+0x17/0x140
>>> [    1.122180]  ? rest_init+0x330/0x330
>>> [    1.122180]  ret_from_fork+0x22/0x30
>>> [    1.122244]
>>> ================================================================================
>>> [    1.123176] installing Xen timer for CPU 1
>>> [    1.123369] x86: Booting SMP configuration:
>>> [    1.123409] .... node  #0, CPUs:      #1
>>> [    1.154400] Callback from call_rcu_tasks_trace() invoked.
>>> [    1.154491] smp: Brought up 1 node, 1 CPU
>>> [    1.154526] smpboot: Max logical packages: 2
>>> [    1.154570] smpboot: Total of 1 processors activated (5999.99
>>> BogoMIPS)
>>>
>>> I have tried a PV guest (same setup) and the kernel could bring up all
>>> the vCPUs.
>>>
>>> Digging down, Linux will set smp_num_siblings to 0 (via
>>> detect_ht_early()) and as a result will skip all the CPUs. The value
>>> is retrieve from a CPUID leaf. So it sounds like we don't set the
>>> leaft correctly.
>>>
>>> FWIW, I have also tried on Xen 4.11 and could spot the same issue.
>>> Does this ring any bell to you?
>>
>> The CPUID data we give to guests is generally nonsense when it comes to
>> topology.  By any chance does the hardware you're booting this on not
>> have hyperthreading enabled/active to begin with?
> 
> Well, I'd put the question slightly differently: What CPUID data does
> qemu supply to Xen here? I could easily see us making an assumption
> somewhere that is met by all hardware but is theoretically wrong to
> make and not met by qemu, which then leads to further issues with what
> we expose to our guest.
I have pasted the output from cpuid on a baremetal Linux here:

https://pastebin.com/WvaXiXuL

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 10:51:29 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 10:51:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173583.316688 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJZSD-0002Vx-1u; Fri, 27 Aug 2021 10:51:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173583.316688; Fri, 27 Aug 2021 10:51:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJZSC-0002Vq-Tw; Fri, 27 Aug 2021 10:51:20 +0000
Received: by outflank-mailman (input) for mailman id 173583;
 Fri, 27 Aug 2021 10:51:19 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vFra=NS=infradead.org=peterz@srs-us1.protection.inumbo.net>)
 id 1mJZSA-0002Vk-96
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 10:51:19 +0000
Received: from casper.infradead.org (unknown [2001:8b0:10b:1236::1])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id b03c9a73-27e4-464d-a57f-36357d8c1762;
 Fri, 27 Aug 2021 10:51:14 +0000 (UTC)
Received: from j217100.upc-j.chello.nl ([24.132.217.100]
 helo=noisy.programming.kicks-ass.net)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1mJZOS-00ESWc-Uh; Fri, 27 Aug 2021 10:47:37 +0000
Received: from hirez.programming.kicks-ass.net
 (hirez.programming.kicks-ass.net [192.168.1.225])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (Client did not present a certificate)
 by noisy.programming.kicks-ass.net (Postfix) with ESMTPS id 69DD6300024;
 Fri, 27 Aug 2021 12:47:25 +0200 (CEST)
Received: by hirez.programming.kicks-ass.net (Postfix, from userid 1000)
 id 4ECD229A12A47; Fri, 27 Aug 2021 12:47:25 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b03c9a73-27e4-464d-a57f-36357d8c1762
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version:
	References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=OvP4Yc4jC04J0qjspa8OOFxuL+jnhRGg3XpJSSUjD4o=; b=dSa6gg/k/uLkIao8HV8YKHe55R
	QJNUW1DSGmJFIQkoPB+Yq9DSt+RE29HdMkm2cJByn2hw71NQjxJsEPWO+21wDTQDfhVhvu8BkQjf+
	L2krqmyZ3aAWLWTmA2aYMCQduTwu64ujYtSfjBEUhfAlVzmTqYLy4o2Ws9e1IwuEUwmRG03uA93za
	1BcwsEtY0TALxF7lF4k1iZju+DOeaUy6K5KSj20dObZE8KmsuxkJigtb+xm3AzeIgXlZyxOHnS/+B
	4KvrvAwWmfWEjBAXOKEuxfukFtVoVnSRlyFVxwDa8h8JGPBd0g9VYSiib1uZ+XvyETPfQlMGdpOrv
	2P9m3iwg==;
Date: Fri, 27 Aug 2021 12:47:25 +0200
From: Peter Zijlstra <peterz@infradead.org>
To: Like Xu <like.xu.linux@gmail.com>
Cc: Sean Christopherson <seanjc@google.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
	James Morse <james.morse@arm.com>,
	Alexandru Elisei <alexandru.elisei@arm.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu,
	linux-csky@vger.kernel.org, linux-riscv@lists.infradead.org,
	kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
	Artem Kashkanov <artem.kashkanov@intel.com>,
	Zhu Lingshan <lingshan.zhu@intel.com>,
	Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
	Ingo Molnar <mingo@redhat.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Marc Zyngier <maz@kernel.org>, Guo Ren <guoren@kernel.org>,
	Nick Hu <nickhu@andestech.com>, Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Thomas Gleixner <tglx@linutronix.de>,
	Borislav Petkov <bp@alien8.de>, x86@kernel.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Josh Poimboeuf <jpoimboe@redhat.com>,
	Jason Baron <jbaron@akamai.com>,
	Steven Rostedt <rostedt@goodmis.org>,
	Ard Biesheuvel <ardb@kernel.org>
Subject: Re: [PATCH 00/15] perf: KVM: Fix, optimize, and clean up callbacks
Message-ID: <YSjCvbWE6sZ29dPr@hirez.programming.kicks-ass.net>
References: <20210827005718.585190-1-seanjc@google.com>
 <fd3dcd6c-b3d5-4453-93fb-b46d0595534e@gmail.com>
 <YSiX9OPcrDsr3P4C@hirez.programming.kicks-ass.net>
 <3bd4955a-1219-20b0-058b-d23f1e30aa77@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <3bd4955a-1219-20b0-058b-d23f1e30aa77@gmail.com>

On Fri, Aug 27, 2021 at 04:01:45PM +0800, Like Xu wrote:
> On 27/8/2021 3:44 pm, Peter Zijlstra wrote:

> > You just have to make sure all static_call() invocations that started
> > before unreg are finished before continuing with the unload.
> > synchronize_rcu() can help with that.
> 
> Do you mean something like that:
> 
> diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
> index 64e310ff4f3a..e7d310af7509 100644
> --- a/arch/x86/kvm/x86.c
> +++ b/arch/x86/kvm/x86.c
> @@ -8465,6 +8465,7 @@ void kvm_arch_exit(void)
>  #endif
>  	kvm_lapic_exit();
>  	perf_unregister_guest_info_callbacks(&kvm_guest_cbs);
> +	synchronize_rcu();
> 
>  	if (!boot_cpu_has(X86_FEATURE_CONSTANT_TSC))
>  		cpufreq_unregister_notifier(&kvmclock_cpufreq_notifier_block,
> diff --git a/kernel/events/core.c b/kernel/events/core.c
> index e466fc8176e1..63ae56c5d133 100644
> --- a/kernel/events/core.c
> +++ b/kernel/events/core.c
> @@ -6508,6 +6508,7 @@ EXPORT_SYMBOL_GPL(perf_register_guest_info_callbacks);
>  int perf_unregister_guest_info_callbacks(struct perf_guest_info_callbacks *cbs)
>  {
>  	perf_guest_cbs = NULL;
> +	arch_perf_update_guest_cbs();

I'm thinking the synchronize_rcu() should go here, and access to
perf_guest_cbs should be wrapped to yell when called with preemption
enabled.

But yes..

>  	return 0;
>  }
>  EXPORT_SYMBOL_GPL(perf_unregister_guest_info_callbacks);
> 
> > 
> > This is module unload 101. Nothing specific to static_call().
> > 


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 10:52:35 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 10:52:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173589.316699 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJZTP-0003B3-Gk; Fri, 27 Aug 2021 10:52:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173589.316699; Fri, 27 Aug 2021 10:52:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJZTP-0003Aw-Cw; Fri, 27 Aug 2021 10:52:35 +0000
Received: by outflank-mailman (input) for mailman id 173589;
 Fri, 27 Aug 2021 10:52:33 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jVCk=NS=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJZTN-0003Ao-SD
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 10:52:33 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 8d8ee042-63b9-474f-b6df-963d7fd56198;
 Fri, 27 Aug 2021 10:52:32 +0000 (UTC)
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur02lp2051.outbound.protection.outlook.com [104.47.6.51]) (Using
 TLS) by relay.mimecast.com with ESMTP id de-mta-9-H9y9Zb9BMC6xhKi_2qdZ5A-1;
 Fri, 27 Aug 2021 12:52:30 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0401MB2606.eurprd04.prod.outlook.com (2603:10a6:800:51::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.19; Fri, 27 Aug
 2021 10:52:29 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.023; Fri, 27 Aug 2021
 10:52:28 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P195CA0003.EURP195.PROD.OUTLOOK.COM (2603:10a6:102:b6::8) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.20 via Frontend Transport; Fri, 27 Aug 2021 10:52:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8d8ee042-63b9-474f-b6df-963d7fd56198
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630061551;
	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=gi1RcGlckvyOgtoWMJztyYQsmUUsZVgUotU089919EA=;
	b=NJhiw99qjizQR6WRu8bXAWn98MiOze2nfQ062bPKpc0uvxG278rusO/YkQ4CkmJ/YjQjCf
	WFLR7QR4e2xZaKWnRQK2JGeLltFSV5PhUzbY0SjojynUtox041TcIBJyPrvoL87cRI5HtK
	2YwI1P586E0/4QoFBofRc6l+3O8bMcI=
X-MC-Unique: H9y9Zb9BMC6xhKi_2qdZ5A-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gNGIenOGsS+AwECOfspb67idbdq3nvqCnAebUHXkYbV3CCFQpAkDbInBG0fGz1l+szWNdXsqiM4zI4PrUh75y8+P2UiRI5JS590gS/cFxQJrwCJcJo/xK5st2rJJHS/Tjd69r+EEUmOkrgW6jlYKSKF7q0dXs6hsVBWfo7NANevowz1GV/gXm9tc2HIq4SuSfPL5ItzbvKimm9g5A+T/rel0Xg/HhQEcrdJkPHF//70+Vwhyka5xfqIWMHu6eWuJb+QuGYw4Xm5CFpGdiz82LCb9n3T90QGX2GNAXp7m/QUoh7rynhSDYlqFclkVXdRnybLNIkBJx5xRFSWE5egWZA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1tae+1HQVE4uPfCp+5OlovBP1YhJlTviShxSWS1rePY=;
 b=Pz/XW3NdospZNwnd1N+psh2LeGpFZu7WREoroNnCToO7z35BnsKp0KgSbRAtEaTe7gak6h30lLwSGA03wBbmdMOLrZX/NDk00/bFdXH7koTs840nOWKSYD7T5j9ShIxf56RdEyjLf5VOJh8Bu5ydzc/1qfnRGviDoZEt0l+nLpbH6EnhgzjUM0LJIIZnIS8NgL1S8dWPq+Hx8H6ybuIxkRJlN/2GQ56BoYmi0dZS7QVr5sSvpBcFqzITPR1QW5QdXra43J0cfQTjcSiT9IT2ysHKdWPs8Oz0hK3hWQLEUcw8juXK+ZXOjKLE5v6Hri+nYbRfoHpNgjRI0yCAVzBdmA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: citrix.com; dkim=none (message not signed)
 header.d=none;citrix.com; dmarc=none action=none header.from=suse.com;
Subject: Re: HVM guest only bring up a single vCPU
To: Julien Grall <julien@xen.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <a1724918-94bf-748f-5c4b-5a3ec176368f@xen.org>
 <781aeba6-5e77-9995-cf58-9dc6fd443ad8@citrix.com>
 <3b2e6fce-98a2-c18f-7068-9ca990b0b95e@suse.com>
 <62ca5392-3d85-0883-8020-287072358cef@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <e72b385e-238a-5ae9-332e-2d21b59ac09c@suse.com>
Date: Fri, 27 Aug 2021 12:52:25 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <62ca5392-3d85-0883-8020-287072358cef@xen.org>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: PR3P195CA0003.EURP195.PROD.OUTLOOK.COM
 (2603:10a6:102:b6::8) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4032f766-ed50-42bc-ca5b-08d96948c330
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2606:
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB26062D91E72E552111D8AD1FB3C89@VI1PR0401MB2606.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	hVn2w24xBApTPQMd/EEV4k/z7x+x13fjnb9+aRcmjkavnuKyJibAZI5FSq1L5AmsWMVRXaeoElXSb0KQ4xW9jeHS6FazxWig8CqrmoyE0MzDhoxj9BQHMB2LqFxHgjMecAf1oLwC2UNdWhgniUWZtPsPunkdXguTVYCFb622j6FEiJGiSUjCgmOJIcM99pOHNdqgUwxOD8d8GKveaSTunO0Mg5JImeqEBjCMoQa9DUfi8TWcqTMuqfWNzXg88AXp3XKD9es18naon9EMPcIhwP1X6mAPsNQdZc3jRFOMvEeAJ6svVHybmCo8AEDkVAtS3nFOhCE0dBj771uEcZsr5DdJrjWx0FrusmpXqwSioEsRAXfapLfahqInAEvbMweDcOEkHgRXVGL0V8VUUrHg1Yi1akS2Y8bvbvhAhDDTIEQwhL31bK+jYA5QV6/5LFeCnLFPKNOM9l/eg+ylf0s95PZMUZPRHGWUU4mvQ2K+hr3DBtSJvjubnEH+zjtn2H+UK6c/pk14aES2w17M7dc9I/dvNb2+xcPstwtRAqBldLT99/EL7bJVIiMWSIr5vz2JVzv8me7Gfr/557Zj2kBvINq2VZyIOwxTXujaRYj1FcpbqTKFONzDCsgx6Sn8QWA5DnJWvYkBRawhk90+cDjehsPA3asdx61zBHiamZpjbc34fACUMCfKrH3PL85tN9sRvlA86Yaj+6jmX420gSvRv9W+783kU5KMtsvMiT55YwKSUhVAjyHdc0w2Zdo9sUBdnI4ITRH6LNEVoIy04GJYNV1NpnAxbb+ZSrpydWVkdpgyl1uFgoe7+UaPpW5JPpxw2Dz7nctcgDbjxK8wMrvJnw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(396003)(366004)(136003)(39860400002)(346002)(2616005)(6486002)(66556008)(8676002)(5660300002)(53546011)(66946007)(38100700002)(26005)(956004)(16576012)(31686004)(316002)(8936002)(66476007)(4326008)(54906003)(83380400001)(31696002)(36756003)(2906002)(186003)(966005)(86362001)(478600001)(6916009)(10126625002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?Wtgc/Fclvole68Kh0gouLPykAXMoatgcrcZVK40fy8BSwpfwISVNtIQIjY+q?=
 =?us-ascii?Q?atZdaTRx470kr4Z819GVQYrcfN2j3HO8CWWD6Tu6UqFUct+7AUf3g6KvqKaI?=
 =?us-ascii?Q?WGx+euDoTx+v//ag5+S4NK1O4+BpBJhrQ6txqlS9gccCSPaCcj+yLKf2B5/Q?=
 =?us-ascii?Q?vXp7AcPp2g2RekwHYfaX9xaIeSxjJfRS5jrTZy7VPqeRXdU1suBqeygF1HDa?=
 =?us-ascii?Q?PO1YsYLgkVHncBg8xTAluRszjNRRiLQycx92HDiLdsR5YYWQN0nz5TLf1qKi?=
 =?us-ascii?Q?MzgGY/jCJ3OVZveYqZEPBq9Fjc+gp3Lq4I366+CYjhONjCsOEIE2LjazttNo?=
 =?us-ascii?Q?+Ve1zgFCS48GjFV6CSlFKX6CADqSKcXzhWCz9ejpa/p/lYU/0dj0a5MGdjTK?=
 =?us-ascii?Q?OMtmeYsC3hxIPv2ZdctzLY/a5HMqoAs+k1Wat/sJCOoi4X26ACOLZ3K27w55?=
 =?us-ascii?Q?4UQxD3aI+zYeD2qby5X9mQOZSEWEuv+Cezbkrk91wiWBAk9motZX7c6QpeoG?=
 =?us-ascii?Q?U1QpIyeohFKb8qISrT/sRxuRPZeoaEpg0Wjca8P4ePNKNJfiQEeVsi/yrRUS?=
 =?us-ascii?Q?aSY3Y6wOCI+l7BUvLG3Z1qnBxpehaLrekbJq+Pph/Jgfa2Kef27UM+ZNGh8f?=
 =?us-ascii?Q?u6ZXJrMn0pvcmF9FOTYD0os3sli+LZgHe5S29+0pOnl2SAgiRNqSQnqyimMh?=
 =?us-ascii?Q?jv7ge3Gqrmz4f/Nj8jaNweBOOzuWgbl0DTOKt8Z1yBjJI0ydT1aTb4F7XhHn?=
 =?us-ascii?Q?pBQlZIJPWMlbDiiA3htM3TuDAWOKoW5fKjQ/4b0GIQwUNIl+3MgRvyZ7YiJY?=
 =?us-ascii?Q?Jcvr+pFhwRkQDQRQhrvWCqpKRXXN4Jea4CllB0AWjwDAnKsKbmY4msf3QLib?=
 =?us-ascii?Q?d6bQ+jCUZEiRMmgW4DmjY1kTZzeOpYtFJV3t0Yt0iRP1QaLsqfiln1Qqn+eu?=
 =?us-ascii?Q?d6KEbToeLlfI/WoebMwQYl1K+ELPXh1czE1zSm1FfV3vi/WYL3EBj6QGRiCa?=
 =?us-ascii?Q?pSbYyGr2YlaNV0MZ0e5dl1jmkHdopqkxP9WTE4QZ0z8oVfh5oTZTx8o1HjUy?=
 =?us-ascii?Q?5U4vEPzxL/z9dRV6dwTMXR5LiCVhXVH7W2qW/sT0GF1UYD+NGMax2Kw8PYTm?=
 =?us-ascii?Q?9Or/iiCsm4n2Qy7wEQKPYXJfQDXpfEoP3z5VpvuXHovcdRORmuyC+1SuUWcS?=
 =?us-ascii?Q?dkPfrHJYpuHcD1OsdoatdhHesonPXh1XnkaI/DWDrv/VzDEgo27uzn85qyPW?=
 =?us-ascii?Q?AMIfoHm7m8ZWVwYOtqeVccaBBiNgcycqKOyRLgYhKutGmEZPnljcj+rlOLI6?=
 =?us-ascii?Q?tNg5uKcVG+ndiYdWJuo1g6ur?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4032f766-ed50-42bc-ca5b-08d96948c330
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2021 10:52:28.5021
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6pddON4mfzqPvSaUHo0N8ovZqM6ISgM6U7Md/psJcjCZnjw6z04uZkuzaJTTpQnf2LU5zVsJQjLxV68c/2YnZA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2606

On 27.08.2021 12:35, Julien Grall wrote:
> Hi Jan,
>=20
> On 27/08/2021 07:28, Jan Beulich wrote:
>> On 27.08.2021 01:42, Andrew Cooper wrote:
>>> On 26/08/2021 22:00, Julien Grall wrote:
>>>> Hi Andrew,
>>>>
>>>> While doing more testing today, I noticed that only one vCPU would be
>>>> brought up with HVM guest with Xen 4.16 on my setup (QEMU):
>>>>
>>>> [=C2=A0=C2=A0=C2=A0 1.122180]
>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D
>>>> [=C2=A0=C2=A0=C2=A0 1.122180] UBSAN: shift-out-of-bounds in
>>>> oss/linux/arch/x86/kernel/apic/apic.c:2362:13
>>>> [=C2=A0=C2=A0=C2=A0 1.122180] shift exponent -1 is negative
>>>> [=C2=A0=C2=A0=C2=A0 1.122180] CPU: 0 PID: 1 Comm: swapper/0 Not tainte=
d 5.14.0-rc7+ #304
>>>> [=C2=A0=C2=A0=C2=A0 1.122180] Hardware name: Xen HVM domU, BIOS 4.16-u=
nstable 06/07/2021
>>>> [=C2=A0=C2=A0=C2=A0 1.122180] Call Trace:
>>>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 dump_stack_lvl+0x56/0x6c
>>>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 ubsan_epilogue+0x5/0x50
>>>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 __ubsan_handle_shift_out_of_bounds=
+0xfa/0x140
>>>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 ? cgroup_kill_write+0x4d/0x150
>>>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 ? cpu_up+0x6e/0x100
>>>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 ? _raw_spin_unlock_irqrestore+0x30=
/0x50
>>>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 ? rcu_read_lock_held_common+0xe/0x=
40
>>>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 ? irq_shutdown_and_deactivate+0x11=
/0x30
>>>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 ? lock_release+0xc7/0x2a0
>>>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 ? apic_id_is_primary_thread+0x56/0=
x60
>>>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 apic_id_is_primary_thread+0x56/0x6=
0
>>>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 cpu_up+0xbd/0x100
>>>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 bringup_nonboot_cpus+0x4f/0x60
>>>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 smp_init+0x26/0x74
>>>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 kernel_init_freeable+0x183/0x32d
>>>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 ? _raw_spin_unlock_irq+0x24/0x40
>>>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 ? rest_init+0x330/0x330
>>>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 kernel_init+0x17/0x140
>>>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 ? rest_init+0x330/0x330
>>>> [=C2=A0=C2=A0=C2=A0 1.122180]=C2=A0 ret_from_fork+0x22/0x30
>>>> [=C2=A0=C2=A0=C2=A0 1.122244]
>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D
>>>> [=C2=A0=C2=A0=C2=A0 1.123176] installing Xen timer for CPU 1
>>>> [=C2=A0=C2=A0=C2=A0 1.123369] x86: Booting SMP configuration:
>>>> [=C2=A0=C2=A0=C2=A0 1.123409] .... node=C2=A0 #0, CPUs:=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 #1
>>>> [=C2=A0=C2=A0=C2=A0 1.154400] Callback from call_rcu_tasks_trace() inv=
oked.
>>>> [=C2=A0=C2=A0=C2=A0 1.154491] smp: Brought up 1 node, 1 CPU
>>>> [=C2=A0=C2=A0=C2=A0 1.154526] smpboot: Max logical packages: 2
>>>> [=C2=A0=C2=A0=C2=A0 1.154570] smpboot: Total of 1 processors activated=
 (5999.99
>>>> BogoMIPS)
>>>>
>>>> I have tried a PV guest (same setup) and the kernel could bring up all
>>>> the vCPUs.
>>>>
>>>> Digging down, Linux will set smp_num_siblings to 0 (via
>>>> detect_ht_early()) and as a result will skip all the CPUs. The value
>>>> is retrieve from a CPUID leaf. So it sounds like we don't set the
>>>> leaft correctly.
>>>>
>>>> FWIW, I have also tried on Xen 4.11 and could spot the same issue.
>>>> Does this ring any bell to you?
>>>
>>> The CPUID data we give to guests is generally nonsense when it comes to
>>> topology.=C2=A0 By any chance does the hardware you're booting this on =
not
>>> have hyperthreading enabled/active to begin with?
>>
>> Well, I'd put the question slightly differently: What CPUID data does
>> qemu supply to Xen here? I could easily see us making an assumption
>> somewhere that is met by all hardware but is theoretically wrong to
>> make and not met by qemu, which then leads to further issues with what
>> we expose to our guest.
> I have pasted the output from cpuid on a baremetal Linux here:

"baremetal" still meaning it was running on qemu, not itself baremetal?

> https://pastebin.com/WvaXiXuL

   miscellaneous (1/ebx):
      process local APIC physical ID =3D 0x0 (0)
      maximum IDs for CPUs in pkg    =3D 0x0 (0)
      CLFLUSH line size              =3D 0x8 (8)
      brand index                    =3D 0x0 (0)

As suspected the field is zero, and hence will remain zero after
multiplying by 2. I suppose the patch sent earlier should then get you
further.

Jan



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 10:55:18 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 10:55:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173596.316710 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJZW0-0003pm-UV; Fri, 27 Aug 2021 10:55:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173596.316710; Fri, 27 Aug 2021 10: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 1mJZW0-0003pf-RK; Fri, 27 Aug 2021 10:55:16 +0000
Received: by outflank-mailman (input) for mailman id 173596;
 Fri, 27 Aug 2021 10:55: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 1mJZVz-0003pZ-IG
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 10:55: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 1mJZVz-0003Sv-Ex; Fri, 27 Aug 2021 10:55:15 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mJZVz-00049h-8x; Fri, 27 Aug 2021 10: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=/6mNQFThN8qkN/4ukXCGNlJn7SIkBUUxkcpVQmLfH8A=; b=Xxm+BsR6OZfLRa3kcOGeO2VwLs
	0de50S+h1Tpg0FB1ERhx8yccaHeIdeqzbxNNWeNq6CiLcDu74enpDFf7yYDA1FJ+xBn9zfh/RCy+2
	6ZpyiF+YYPTPaeW8hhN13xNEPFJLJg5Iy+cmoK6861CznLwHhOltO34Mc4CL4whna86E=;
Subject: Re: HVM guest only bring up a single vCPU
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <a1724918-94bf-748f-5c4b-5a3ec176368f@xen.org>
 <781aeba6-5e77-9995-cf58-9dc6fd443ad8@citrix.com>
 <3b2e6fce-98a2-c18f-7068-9ca990b0b95e@suse.com>
 <62ca5392-3d85-0883-8020-287072358cef@xen.org>
 <e72b385e-238a-5ae9-332e-2d21b59ac09c@suse.com>
From: Julien Grall <julien@xen.org>
Message-ID: <eae6e3c6-64fc-3468-e4b4-f35c31dbd8e3@xen.org>
Date: Fri, 27 Aug 2021 11:55:13 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <e72b385e-238a-5ae9-332e-2d21b59ac09c@suse.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit

Hi Jan,

On 27/08/2021 11:52, Jan Beulich wrote:
> On 27.08.2021 12:35, Julien Grall wrote:
>> Hi Jan,
>>
>> On 27/08/2021 07:28, Jan Beulich wrote:
>>> On 27.08.2021 01:42, Andrew Cooper wrote:
>>>> On 26/08/2021 22:00, Julien Grall wrote:
>>>>> Hi Andrew,
>>>>>
>>>>> While doing more testing today, I noticed that only one vCPU would be
>>>>> brought up with HVM guest with Xen 4.16 on my setup (QEMU):
>>>>>
>>>>> [    1.122180]
>>>>> ================================================================================
>>>>> [    1.122180] UBSAN: shift-out-of-bounds in
>>>>> oss/linux/arch/x86/kernel/apic/apic.c:2362:13
>>>>> [    1.122180] shift exponent -1 is negative
>>>>> [    1.122180] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.14.0-rc7+ #304
>>>>> [    1.122180] Hardware name: Xen HVM domU, BIOS 4.16-unstable 06/07/2021
>>>>> [    1.122180] Call Trace:
>>>>> [    1.122180]  dump_stack_lvl+0x56/0x6c
>>>>> [    1.122180]  ubsan_epilogue+0x5/0x50
>>>>> [    1.122180]  __ubsan_handle_shift_out_of_bounds+0xfa/0x140
>>>>> [    1.122180]  ? cgroup_kill_write+0x4d/0x150
>>>>> [    1.122180]  ? cpu_up+0x6e/0x100
>>>>> [    1.122180]  ? _raw_spin_unlock_irqrestore+0x30/0x50
>>>>> [    1.122180]  ? rcu_read_lock_held_common+0xe/0x40
>>>>> [    1.122180]  ? irq_shutdown_and_deactivate+0x11/0x30
>>>>> [    1.122180]  ? lock_release+0xc7/0x2a0
>>>>> [    1.122180]  ? apic_id_is_primary_thread+0x56/0x60
>>>>> [    1.122180]  apic_id_is_primary_thread+0x56/0x60
>>>>> [    1.122180]  cpu_up+0xbd/0x100
>>>>> [    1.122180]  bringup_nonboot_cpus+0x4f/0x60
>>>>> [    1.122180]  smp_init+0x26/0x74
>>>>> [    1.122180]  kernel_init_freeable+0x183/0x32d
>>>>> [    1.122180]  ? _raw_spin_unlock_irq+0x24/0x40
>>>>> [    1.122180]  ? rest_init+0x330/0x330
>>>>> [    1.122180]  kernel_init+0x17/0x140
>>>>> [    1.122180]  ? rest_init+0x330/0x330
>>>>> [    1.122180]  ret_from_fork+0x22/0x30
>>>>> [    1.122244]
>>>>> ================================================================================
>>>>> [    1.123176] installing Xen timer for CPU 1
>>>>> [    1.123369] x86: Booting SMP configuration:
>>>>> [    1.123409] .... node  #0, CPUs:      #1
>>>>> [    1.154400] Callback from call_rcu_tasks_trace() invoked.
>>>>> [    1.154491] smp: Brought up 1 node, 1 CPU
>>>>> [    1.154526] smpboot: Max logical packages: 2
>>>>> [    1.154570] smpboot: Total of 1 processors activated (5999.99
>>>>> BogoMIPS)
>>>>>
>>>>> I have tried a PV guest (same setup) and the kernel could bring up all
>>>>> the vCPUs.
>>>>>
>>>>> Digging down, Linux will set smp_num_siblings to 0 (via
>>>>> detect_ht_early()) and as a result will skip all the CPUs. The value
>>>>> is retrieve from a CPUID leaf. So it sounds like we don't set the
>>>>> leaft correctly.
>>>>>
>>>>> FWIW, I have also tried on Xen 4.11 and could spot the same issue.
>>>>> Does this ring any bell to you?
>>>>
>>>> The CPUID data we give to guests is generally nonsense when it comes to
>>>> topology.  By any chance does the hardware you're booting this on not
>>>> have hyperthreading enabled/active to begin with?
>>>
>>> Well, I'd put the question slightly differently: What CPUID data does
>>> qemu supply to Xen here? I could easily see us making an assumption
>>> somewhere that is met by all hardware but is theoretically wrong to
>>> make and not met by qemu, which then leads to further issues with what
>>> we expose to our guest.
>> I have pasted the output from cpuid on a baremetal Linux here:
> 
> "baremetal" still meaning it was running on qemu, not itself baremetal?

Correct.

> 
>> https://pastebin.com/WvaXiXuL
> 
>     miscellaneous (1/ebx):
>        process local APIC physical ID = 0x0 (0)
>        maximum IDs for CPUs in pkg    = 0x0 (0)
>        CLFLUSH line size              = 0x8 (8)
>        brand index                    = 0x0 (0)
> 
> As suspected the field is zero, and hence will remain zero after
> multiplying by 2. I suppose the patch sent earlier should then get you
> further.

I am about to try your patch. I will let you know the results.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 10:59:20 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 10:59:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173601.316720 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJZZj-0004U8-Cg; Fri, 27 Aug 2021 10:59:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173601.316720; Fri, 27 Aug 2021 10:59:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJZZj-0004U1-9l; Fri, 27 Aug 2021 10:59:07 +0000
Received: by outflank-mailman (input) for mailman id 173601;
 Fri, 27 Aug 2021 10:59: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 1mJZZi-0004Tv-4D
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 10:59: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 1mJZZh-0003Ve-SI; Fri, 27 Aug 2021 10:59:05 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mJZZh-0004e5-Mm; Fri, 27 Aug 2021 10:59: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:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=Ll/rWdzg5ABp7NtlTyw52ZmZH3MXCM/pWVUes3OrIl8=; b=VClcG7yK/eLohYoeiMkJw83Rqo
	hdAGtZKCcBtWRbCtR7e8yUGsOpldV0fJRCp3FN1mLv/DazY3Hesr7TeqvS72hyIK1a1EAtK7VIiqh
	pv2mA1u/f6KuO8+jrNGk21hYiD8jJhApvmMuvsQ3FnVIo/9qA0wY3d+2rFB9aPsqxknM=;
Subject: Re: HVM guest only bring up a single vCPU
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <a1724918-94bf-748f-5c4b-5a3ec176368f@xen.org>
 <dc1e3e1f-f7b1-6f73-3a16-804496952df5@suse.com>
From: Julien Grall <julien@xen.org>
Message-ID: <309b2457-2881-3240-e3a5-3a5a9ea558bf@xen.org>
Date: Fri, 27 Aug 2021 11:59:04 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <dc1e3e1f-f7b1-6f73-3a16-804496952df5@suse.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Jan,

On 27/08/2021 10:26, Jan Beulich wrote:
> On 26.08.2021 23:00, Julien Grall wrote:
>> Digging down, Linux will set smp_num_siblings to 0 (via
>> detect_ht_early()) and as a result will skip all the CPUs. The value is
>> retrieve from a CPUID leaf. So it sounds like we don't set the leaft
>> correctly.
> 
> Xen leaves leaf 1 EBX[23:16] untouched from what the tool stack
> passes. The tool stack doubles the value coming from hardware
> (or qemu in your case), unless the result would overflow. Hence
> it would look to me as if the value coming from qemu has got to
> be zero. Which is perfectly fine if HTT is off, just that
> libxenguest isn't prepared for this. 
> Could you see whether the
> patch below helps (making our hack even hackier)?

It helps. The Linux HVM domain is now able to bring up all the CPUs.

> 
> Jan
> 
> libxenguest/x86: ensure CPUID[1].EBX[32:16] is non-zero for HVM
> 
> We unconditionally set HTT, so merely doubling the value read from
> hardware isn't going to be correct if that value is zero.
> 
> Reported-by: Julien Grall <julien@xen.org>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Feel free to add my tested-by for the patch.

Cheers,

[1] https://pastebin.com/WvaXiXuL

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 11:01:55 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 11:01:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173606.316732 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJZcP-0005yk-S7; Fri, 27 Aug 2021 11:01:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173606.316732; Fri, 27 Aug 2021 11:01:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJZcP-0005yd-P7; Fri, 27 Aug 2021 11:01:53 +0000
Received: by outflank-mailman (input) for mailman id 173606;
 Fri, 27 Aug 2021 11:01: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 1mJZcN-0005tq-Sn
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 11:01: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 1mJZcN-0003bk-Nm; Fri, 27 Aug 2021 11:01:51 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mJZcN-0005Hj-Hx; Fri, 27 Aug 2021 11:01:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=kv0omvFD4yCGsVoP2yucjGmVZIOgSB05gj1PdFKqqQw=; b=Jfky90N6nR36WDCDcHX3kGi7FO
	cFNYYlrXS6nlOrKnXYLqpn9oxK6U8XhIRpLpSvnocU6jUn/F+ZAzoSadp5PH3DniKItRj/8ZrTNol
	Sx5+xJLJaSH4/jSnsWHp702N08uaFBU8MJPtvbLdRX8AD97451jkI864zGVeuMrEXx88=;
Subject: Re: HVM guest only bring up a single vCPU
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Jan Beulich <jbeulich@suse.com>
References: <a1724918-94bf-748f-5c4b-5a3ec176368f@xen.org>
 <YSga4JLYURMXpB5V@mail-itl>
From: Julien Grall <julien@xen.org>
Message-ID: <d571bb8d-6540-0460-6844-cc8ce51c93e0@xen.org>
Date: Fri, 27 Aug 2021 12:01:49 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <YSga4JLYURMXpB5V@mail-itl>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit

Hi Marek,

On 26/08/2021 23:51, Marek Marczykowski-Górecki wrote:
> On Thu, Aug 26, 2021 at 10:00:58PM +0100, Julien Grall wrote:
>> While doing more testing today, I noticed that only one vCPU would be
>> brought up with HVM guest with Xen 4.16 on my setup (QEMU):
>>
>> [    1.122180] ================================================================================
>> [    1.122180] UBSAN: shift-out-of-bounds in
>> oss/linux/arch/x86/kernel/apic/apic.c:2362:13
>> [    1.122180] shift exponent -1 is negative
>> [    1.122180] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.14.0-rc7+ #304
>> [    1.122180] Hardware name: Xen HVM domU, BIOS 4.16-unstable 06/07/2021
>> [    1.122180] Call Trace:
>> [    1.122180]  dump_stack_lvl+0x56/0x6c
>> [    1.122180]  ubsan_epilogue+0x5/0x50
>> [    1.122180]  __ubsan_handle_shift_out_of_bounds+0xfa/0x140
>> [    1.122180]  ? cgroup_kill_write+0x4d/0x150
>> [    1.122180]  ? cpu_up+0x6e/0x100
>> [    1.122180]  ? _raw_spin_unlock_irqrestore+0x30/0x50
>> [    1.122180]  ? rcu_read_lock_held_common+0xe/0x40
>> [    1.122180]  ? irq_shutdown_and_deactivate+0x11/0x30
>> [    1.122180]  ? lock_release+0xc7/0x2a0
>> [    1.122180]  ? apic_id_is_primary_thread+0x56/0x60
>> [    1.122180]  apic_id_is_primary_thread+0x56/0x60
>> [    1.122180]  cpu_up+0xbd/0x100
>> [    1.122180]  bringup_nonboot_cpus+0x4f/0x60
>> [    1.122180]  smp_init+0x26/0x74
>> [    1.122180]  kernel_init_freeable+0x183/0x32d
>> [    1.122180]  ? _raw_spin_unlock_irq+0x24/0x40
>> [    1.122180]  ? rest_init+0x330/0x330
>> [    1.122180]  kernel_init+0x17/0x140
>> [    1.122180]  ? rest_init+0x330/0x330
>> [    1.122180]  ret_from_fork+0x22/0x30
>> [    1.122244] ================================================================================
>> [    1.123176] installing Xen timer for CPU 1
>> [    1.123369] x86: Booting SMP configuration:
>> [    1.123409] .... node  #0, CPUs:      #1
>> [    1.154400] Callback from call_rcu_tasks_trace() invoked.
>> [    1.154491] smp: Brought up 1 node, 1 CPU
>> [    1.154526] smpboot: Max logical packages: 2
>> [    1.154570] smpboot: Total of 1 processors activated (5999.99 BogoMIPS)
>>
>> I have tried a PV guest (same setup) and the kernel could bring up all the
>> vCPUs.
>>
>> Digging down, Linux will set smp_num_siblings to 0 (via detect_ht_early())
>> and as a result will skip all the CPUs. The value is retrieve from a CPUID
>> leaf. So it sounds like we don't set the leaft correctly.
>>
>> FWIW, I have also tried on Xen 4.11 and could spot the same issue. Does this
>> ring any bell to you?
> 
> Is it maybe this:
> https://lore.kernel.org/xen-devel/20201106003529.391649-1-bmasney@redhat.com/T/#u
> ?

It looks to be different as I don't see the splat.

Anyway, Jan just posted a patch that allows a Linux HVM domain to brings 
up all the vCPUs.

Cheers,
-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 11:15:30 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 11:15:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173612.316742 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJZpU-0007qT-2l; Fri, 27 Aug 2021 11:15:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173612.316742; Fri, 27 Aug 2021 11:15: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 1mJZpT-0007qM-W4; Fri, 27 Aug 2021 11:15:23 +0000
Received: by outflank-mailman (input) for mailman id 173612;
 Fri, 27 Aug 2021 11:15: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 1mJZpS-0007qC-LU; Fri, 27 Aug 2021 11:15: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 1mJZpS-0003ph-CU; Fri, 27 Aug 2021 11:15: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 1mJZpS-0002va-1N; Fri, 27 Aug 2021 11:15:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mJZpS-0002ZU-0i; Fri, 27 Aug 2021 11:15: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=nRpuAGn5tTyLB3da74rN4qZZFMsXcDiiGsNTprhCzP8=; b=wr6iYcxQiyE5IfjqRvbdaqFajU
	pEMypbw6EdFNCV6SCrq4Hq9z+gRyXuL260DQ4wg4kvPDQKEw6xcDeNxR4c6ppFkgaKpAsq6wkxiZu
	o6KHHw1531Lj4aAQkahh/eYseetGDoiTf+iT1nAiYY1LLLSyC7/IQjo6KN7RzhJsh1ok=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164496-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.13-testing test] 164496: regressions - FAIL
X-Osstest-Failures:
    xen-4.13-testing:test-amd64-amd64-dom0pvh-xl-amd:xen-boot:fail:regression
    xen-4.13-testing:test-amd64-amd64-dom0pvh-xl-intel:xen-boot:fail:regression
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=dd29f4f4961d5c99660874c7ff090bd3c2ef6e5b
X-Osstest-Versions-That:
    xen=32d580902b959000d79d51dff03a3560653c4fcb
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 27 Aug 2021 11:15:22 +0000

flight 164496 xen-4.13-testing real [real]
flight 164516 xen-4.13-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/164496/
http://logs.test-lab.xenproject.org/osstest/logs/164516/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-dom0pvh-xl-amd  8 xen-boot              fail REGR. vs. 163761
 test-amd64-amd64-dom0pvh-xl-intel  8 xen-boot            fail REGR. vs. 163761

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 163761
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 163761
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 163761
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 163761
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 163761
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 163761
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 163761
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 163761
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 163761
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 163761
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 163761
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  dd29f4f4961d5c99660874c7ff090bd3c2ef6e5b
baseline version:
 xen                  32d580902b959000d79d51dff03a3560653c4fcb

Last test of basis   163761  2021-07-17 07:57:22 Z   41 days
Failing since        164260  2021-08-19 17:07:29 Z    7 days    5 attempts
Testing same since   164496  2021-08-26 00:10:44 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Dario Faggioli <dfaggioli@suse.com>
  Ian Jackson <iwj@xenproject.org>
  Jan Beulich <jbeulich@suse.com>
  Jane Malalane <jane.malalane@citrix.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Stefano Stabellini <sstabellini@kernel.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 631 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 11:34:24 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 11:34:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173620.316760 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJa7k-0002HB-Su; Fri, 27 Aug 2021 11:34:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173620.316760; Fri, 27 Aug 2021 11:34: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 1mJa7k-0002H4-P5; Fri, 27 Aug 2021 11:34:16 +0000
Received: by outflank-mailman (input) for mailman id 173620;
 Fri, 27 Aug 2021 11:34:15 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=u0mk=NS=gmail.com=olekstysh@srs-us1.protection.inumbo.net>)
 id 1mJa7j-0002Gy-8c
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 11:34:15 +0000
Received: from mail-lf1-x131.google.com (unknown [2a00:1450:4864:20::131])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 34d72576-a5a2-4b25-a42d-528fc8a77aa3;
 Fri, 27 Aug 2021 11:34:07 +0000 (UTC)
Received: by mail-lf1-x131.google.com with SMTP id g13so13659650lfj.12
 for <xen-devel@lists.xenproject.org>; Fri, 27 Aug 2021 04:34:07 -0700 (PDT)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id v5sm421478lfi.215.2021.08.27.04.34.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 27 Aug 2021 04:34: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: 34d72576-a5a2-4b25-a42d-528fc8a77aa3
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-transfer-encoding:content-language;
        bh=LngGHNX0q6MNS6R1Bx/WH5zzfxePXQkW8FYKhfTy3+E=;
        b=bXhm4FY0DALLkcfRhfqBKxAfhDOT/RkVmB1XUSkivkhvorkcvE5xDJbqbGsFqimVa5
         niTglKJromE+eEuFNYQkUQgN6GEAq3CvhA3U5WCPpbCsoPArkeJgtMRld5uejKLtwWdt
         Vc5lAKdo7WhCBnnihoIxhXmYxL25Q/5o0K7rpPPB8cHP7lUG4/OPnLve5nA19ct8eodZ
         e6DwtOY51nx5UsCd2v4JxXjovQAtKJPQZfedIwhOhkE8QZltFwx11F2ULvPteK5+mnNZ
         0Yr65S+JvBtwOk7xHV3eGBa4DC8vcEzOJAlIqOuscE3B4ywd3HOJBxXZmsA/3oUAsbx9
         z5EA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-transfer-encoding
         :content-language;
        bh=LngGHNX0q6MNS6R1Bx/WH5zzfxePXQkW8FYKhfTy3+E=;
        b=Il0XqLdkp7Uk07ir2bTHZ1Ay42uclOn0BgFCkFY6UY1NqphOcRz6+FMoVSRf/IRBYG
         qBpKtAruL3BlSCqBXhYpPtmoE5Oa1I/xgDt9ahIT9pcO8+/KWWpcOVCTPPido10S5Zup
         A1rQa4HU6QLKRP2SGXmq2Q2WCl38Z7MYrkifmUaorWHxPNDWETPuamYQnaoXhxEQS99d
         qEAS2LTRGCDj6LisqMBxnEgtSTw9syByLRS35CIBotGlyGXeOIWGhROf4fZU5rv55WhJ
         rEDpXAWxz3w3toge8cBD7axNfgz238Dfjh9+CmB7EeEsw4i8VcZL51KntQerfT1wmZLZ
         s+OA==
X-Gm-Message-State: AOAM532+E1TXf7MIw9Ir/tIwrU7KKLFFen7FKA1ON0+McD2fkqXsjsb1
	GiFzmU1D8tYIdLTZhsFy7ME=
X-Google-Smtp-Source: ABdhPJybAQESo8zL9EcSdHPj1ihPEC2Es/42TC3MqdHMuX06sAWaUje6sUmm183a8kEXixs1l3VGYA==
X-Received: by 2002:ac2:5685:: with SMTP id 5mr6496734lfr.466.1630064046239;
        Fri, 27 Aug 2021 04:34:06 -0700 (PDT)
Subject: Re: [RESEND PATCH V5 1/2] libxl: Add support for Virtio disk
 configuration
To: Jiamei Xie <Jiamei.Xie@arm.com>
Cc: Wei Chen <Wei.Chen@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>, Kaly Xin <Kaly.Xin@arm.com>,
 =?UTF-8?Q?Alex_Benn=c3=a9e?= <alex.bennee@linaro.org>,
 Henry Wang <Henry.Wang@arm.com>
References: <1621626361-29076-1-git-send-email-olekstysh@gmail.com>
 <1621626361-29076-2-git-send-email-olekstysh@gmail.com>
 <DB9PR08MB6857F3DFAE5FF752003ABD8F9EFE9@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <VI1PR08MB30567D67359C65C814E1AE9592FE9@VI1PR08MB3056.eurprd08.prod.outlook.com>
From: Oleksandr <olekstysh@gmail.com>
Message-ID: <5137b19a-012c-4404-110d-835e748f7282@gmail.com>
Date: Fri, 27 Aug 2021 14:34:04 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.10.0
MIME-Version: 1.0
In-Reply-To: <VI1PR08MB30567D67359C65C814E1AE9592FE9@VI1PR08MB3056.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US


On 17.08.21 10:52, Jiamei Xie wrote:
> Hi Oleksandr,
> I am sorry to resend it because the first one is wrong format.

Hi Jiamei


Sorry for the late response.


>
> -----Original Message-----
> From: Wei Chen <Wei.Chen@arm.com>
> Sent: 2021年8月17日 15:11
> To: Oleksandr Tyshchenko <olekstysh@gmail.com>; xen-devel@lists.xenproject.org
> Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>; Ian Jackson <iwj@xenproject.org>; Wei Liu <wl@xen.org>; Anthony PERARD <anthony.perard@citrix.com>; Stefano Stabellini <sstabellini@kernel.org>; Julien Grall <julien@xen.org>; Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>; Bertrand Marquis <Bertrand.Marquis@arm.com>; Kaly Xin <Kaly.Xin@arm.com>; Alex Bennée <alex.bennee@linaro.org>; Jiamei Xie <Jiamei.Xie@arm.com>; Henry Wang <Henry.Wang@arm.com>
> Subject: RE: [RESEND PATCH V5 1/2] libxl: Add support for Virtio disk configuration
>
> CC to Jiamei and Henry
>
>> -----Original Message-----
>> From: Oleksandr Tyshchenko <olekstysh@gmail.com>
>> Sent: 2021年5月22日 3:46
>> To: xen-devel@lists.xenproject.org
>> Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>; Ian Jackson
>> <iwj@xenproject.org>; Wei Liu <wl@xen.org>; Anthony PERARD
>> <anthony.perard@citrix.com>; Stefano Stabellini <sstabellini@kernel.org>;
>> Julien Grall <julien@xen.org>; Volodymyr Babchuk
>> <Volodymyr_Babchuk@epam.com>; Wei Chen <Wei.Chen@arm.com>; Bertrand
>> Marquis <Bertrand.Marquis@arm.com>; Kaly Xin <Kaly.Xin@arm.com>; Alex
>> Bennée <alex.bennee@linaro.org>
>> Subject: [RESEND PATCH V5 1/2] libxl: Add support for Virtio disk
>> configuration
>>
>> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>
>> This patch adds basic support for configuring and assisting virtio-disk
>> backend (emualator) which is intended to run out of Qemu and could be
>> run in any domain.
>> Although the Virtio block device is quite different from traditional
>> Xen PV block device (vbd) from the toolstack point of view:
>>   - the frontend is virtio-blk which is not a Xenbus driver, so nothing
>>     written to Xenstore are fetched by the frontend (the vdev is not
>>     passed to the frontend, etc)
>>   - the ring-ref/event-channel are not used for the backend<->frontend
>>     communication, the proposed IPC for Virtio is IOREQ/DM
>> it is still a "block device" and ought to be integrated in existing
>> "disk" handling. So, re-use (and adapt) "disk" parsing/configuration
>> logic to deal with Virtio devices as well.
>>
>> Besides introducing new disk backend type (LIBXL_DISK_BACKEND_VIRTIO)
>> introduce new device kind (LIBXL__DEVICE_KIND_VIRTIO_DISK) as current
>> one (LIBXL__DEVICE_KIND_VBD) doesn't fit into Virtio disk model.
>>
>> In order to inform the toolstack that Virtio disk needs to be used
>> extend "disk" configuration by introducing new "virtio" flag.
>> An example of domain configuration:
>> disk = [ 'backend=DomD, phy:/dev/mmcblk1p3, xvda1, rw, virtio' ]
>>
>> Please note, this patch is not enough for virtio-disk to work
>> on Xen (Arm), as for every Virtio device (including disk) we need
>> to allocate Virtio MMIO params (IRQ and memory region) and pass
>> them to the backend, also update Guest device-tree with the allocated
>> params. The subsequent patch will add these missing bits.
>> For the current patch, the default "irq" and "base" are just written
>> to the Xenstore.
>>
>> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>
>> ---
>> Changes RFC -> V1:
>>     - no changes
>>
>> Changes V1 -> V2:
>>     - rebase according to the new location of libxl_virtio_disk.c
>>
>> Changes V2 -> V3:
>>     - no changes
>>
>> Changes V3 -> V4:
>>     - rebase according to the new argument for DEFINE_DEVICE_TYPE_STRUCT
>>
>> Changes V4 -> V5:
>>     - split the changes, change the order of the patches
>>     - update patch description
>>     - don't introduce new "vdisk" configuration option with own parsing
>> logic,
>>       re-use Xen PV block "disk" parsing/configuration logic for the
>> virtio-disk
>>     - introduce "virtio" flag and document it's usage
>>     - add LIBXL_HAVE_DEVICE_DISK_VIRTIO
>>     - update libxlu_disk_l.[ch]
>>     - drop num_disks variable/MAX_VIRTIO_DISKS
>>     - drop Wei's T-b
>> ---
>> ---
>>   docs/man/xl-disk-configuration.5.pod.in   |  27 +
>>   tools/include/libxl.h                     |   6 +
>>   tools/libs/light/libxl_device.c           |  38 +-
>>   tools/libs/light/libxl_disk.c             |  99 +++-
>>   tools/libs/light/libxl_types.idl          |   4 +
>>   tools/libs/light/libxl_types_internal.idl |   1 +
>>   tools/libs/light/libxl_utils.c            |   2 +
>>   tools/libs/util/libxlu_disk_l.c           | 881 +++++++++++++++----------
>> -----
>>   tools/libs/util/libxlu_disk_l.h           |   2 +-
>>   tools/libs/util/libxlu_disk_l.l           |   1 +
>>   tools/xl/xl_block.c                       |  11 +
>>   11 files changed, 626 insertions(+), 446 deletions(-)
>>
>> diff --git a/docs/man/xl-disk-configuration.5.pod.in b/docs/man/xl-disk-
>> configuration.5.pod.in
>> index 71d0e86..9cc189f 100644
>> --- a/docs/man/xl-disk-configuration.5.pod.in
>> +++ b/docs/man/xl-disk-configuration.5.pod.in
>> @@ -344,8 +344,35 @@ can be used to disable "hole punching" for file based
>> backends which
>>   were intentionally created non-sparse to avoid fragmentation of the
>>   file.
>>
>> +=item B<virtio>
>> +
>> +=over 4
>> +
>> +=item Description
>> +
>> +Enables experimental Virtio support for disk
>> +
>> +=item Supported values
>> +
>> +absent, present
>> +
>> +=item Mandatory
>> +
>> +No
>> +
>> +=item Default value
>> +
>> +absent
>> +
>>   =back
>>
>> +Besides forcing toolstack to use specific Xen Virtio backend
>> implementation
>> +(for example, virtio-disk), this also affects the guest's view of the
>> device
>> +and requires virtio-blk driver to be used.
>> +Please note, the virtual device (vdev) is not passed to the guest in that
>> case,
>> +but it still must be specified for the internal purposes.
>> +
>> +=back
>>
>>   =head1 COLO Parameters
>>
>> diff --git a/tools/include/libxl.h b/tools/include/libxl.h
>> index ae7fe27..58e14e6 100644
>> --- a/tools/include/libxl.h
>> +++ b/tools/include/libxl.h
>> @@ -503,6 +503,12 @@
>>   #define LIBXL_HAVE_X86_MSR_RELAXED 1
>>
>>   /*
>> + * LIBXL_HAVE_DEVICE_DISK_VIRTIO indicates that a 'virtio' field
>> + * (of boolean type) is present in libxl_device_disk.
>> + */
>> +#define LIBXL_HAVE_DEVICE_DISK_VIRTIO 1
>> +
>> +/*
>>    * libxl ABI compatibility
>>    *
>>    * The only guarantee which libxl makes regarding ABI compatibility
>> diff --git a/tools/libs/light/libxl_device.c
>> b/tools/libs/light/libxl_device.c
>> index 36c4e41..7c8cb53 100644
>> --- a/tools/libs/light/libxl_device.c
>> +++ b/tools/libs/light/libxl_device.c
>> @@ -292,6 +292,9 @@ static int disk_try_backend(disk_try_backend_args *a,
>>       /* returns 0 (ie, DISK_BACKEND_UNKNOWN) on failure, or
>>        * backend on success */
>>
>> +    if (a->disk->virtio && backend != LIBXL_DISK_BACKEND_VIRTIO)
>> +        goto bad_virtio;
>> +
>>       switch (backend) {
>>       case LIBXL_DISK_BACKEND_PHY:
>>           if (a->disk->format != LIBXL_DISK_FORMAT_RAW) {
>> @@ -329,6 +332,29 @@ static int disk_try_backend(disk_try_backend_args *a,
>>           if (a->disk->script) goto bad_script;
>>           return backend;
>>
>> +    case LIBXL_DISK_BACKEND_VIRTIO:
>> +        if (a->disk->format != LIBXL_DISK_FORMAT_RAW)
>> +            goto bad_format;
>> +
>> +        if (a->disk->script)
>> +            goto bad_script;
>> +
>> +        if (libxl_defbool_val(a->disk->colo_enable))
>> +            goto bad_colo;
>> +
>> +        if (a->disk->backend_domid != LIBXL_TOOLSTACK_DOMID) {
>> +            LOG(DEBUG, "Disk vdev=%s, is using a storage driver domain, "
>> +                       "skipping physical device check", a->disk->vdev);
>> +            return backend;
>> +        }
>> +
>> +        if (libxl__try_phy_backend(a->stab.st_mode))
>> +            return backend;
>> +
>> +        LOG(DEBUG, "Disk vdev=%s, backend virtio unsuitable as phys path
>> not a "
>> +                   "block device", a->disk->vdev);
>> +        return 0;
>> +
>>       default:
>>           LOG(DEBUG, "Disk vdev=%s, backend %d unknown", a->disk->vdev,
>> backend);
>>           return 0;
>> @@ -352,6 +378,11 @@ static int disk_try_backend(disk_try_backend_args *a,
>>       LOG(DEBUG, "Disk vdev=%s, backend %s not compatible with colo",
>>           a->disk->vdev, libxl_disk_backend_to_string(backend));
>>       return 0;
>> +
>> + bad_virtio:
>> +    LOG(DEBUG, "Disk vdev=%s, backend %s not compatible with virtio",
>> +        a->disk->vdev, libxl_disk_backend_to_string(backend));
>> +    return 0;
>>   }
>>
>>   int libxl__backendpath_parse_domid(libxl__gc *gc, const char *be_path,
>> @@ -392,7 +423,8 @@ int libxl__device_disk_set_backend(libxl__gc *gc,
>> libxl_device_disk *disk) {
>>           }
>>           memset(&a.stab, 0, sizeof(a.stab));
>>       } else if ((disk->backend == LIBXL_DISK_BACKEND_UNKNOWN ||
>> -                disk->backend == LIBXL_DISK_BACKEND_PHY) &&
>> +                disk->backend == LIBXL_DISK_BACKEND_PHY ||
>> +                disk->backend == LIBXL_DISK_BACKEND_VIRTIO) &&
>>                  disk->backend_domid == LIBXL_TOOLSTACK_DOMID &&
>>                  !disk->script) {
>>           if (stat(disk->pdev_path, &a.stab)) {
>> @@ -408,7 +440,8 @@ int libxl__device_disk_set_backend(libxl__gc *gc,
>> libxl_device_disk *disk) {
>>           ok=
>>               disk_try_backend(&a, LIBXL_DISK_BACKEND_PHY) ?:
>>               disk_try_backend(&a, LIBXL_DISK_BACKEND_QDISK) ?:
>> -            disk_try_backend(&a, LIBXL_DISK_BACKEND_TAP);
>> +            disk_try_backend(&a, LIBXL_DISK_BACKEND_TAP) ?:
>> +            disk_try_backend(&a, LIBXL_DISK_BACKEND_VIRTIO);
>>           if (ok)
>>               LOG(DEBUG, "Disk vdev=%s, using backend %s",
>>                          disk->vdev,
>> @@ -441,6 +474,7 @@ char
>> *libxl__device_disk_string_of_backend(libxl_disk_backend backend)
>>           case LIBXL_DISK_BACKEND_QDISK: return "qdisk";
>>           case LIBXL_DISK_BACKEND_TAP: return "phy";
>>           case LIBXL_DISK_BACKEND_PHY: return "phy";
>> +        case LIBXL_DISK_BACKEND_VIRTIO: return "virtio_disk";
>>           default: return NULL;
>>       }
>>   }
>> diff --git a/tools/libs/light/libxl_disk.c b/tools/libs/light/libxl_disk.c
>> index 411ffea..4332dab 100644
>> --- a/tools/libs/light/libxl_disk.c
>> +++ b/tools/libs/light/libxl_disk.c
>> @@ -174,6 +174,16 @@ static int libxl__device_disk_setdefault(libxl__gc
>> *gc, uint32_t domid,
>>           disk->backend = LIBXL_DISK_BACKEND_QDISK;
>>       }
>>
>> +    /* Force virtio_disk backend for Virtio devices */
>> +    if (disk->virtio) {
>> +        if (!(disk->backend == LIBXL_DISK_BACKEND_VIRTIO ||
>> +              disk->backend == LIBXL_DISK_BACKEND_UNKNOWN)) {
>> +            LOGD(ERROR, domid, "Backend for Virtio devices on must be
>> virtio_disk");
>> +            return ERROR_FAIL;
>> +        }
>> +        disk->backend = LIBXL_DISK_BACKEND_VIRTIO;
>> +    }
>> +
>>       rc = libxl__device_disk_set_backend(gc, disk);
>>       return rc;
>>   }
>> @@ -204,6 +214,9 @@ static int libxl__device_from_disk(libxl__gc *gc,
>> uint32_t domid,
>>           case LIBXL_DISK_BACKEND_QDISK:
>>               device->backend_kind = LIBXL__DEVICE_KIND_QDISK;
>>               break;
>> +        case LIBXL_DISK_BACKEND_VIRTIO:
>> +            device->backend_kind = LIBXL__DEVICE_KIND_VIRTIO_DISK;
>> +            break;
>>           default:
>>               LOGD(ERROR, domid, "Unrecognized disk backend type: %d",
>>                    disk->backend);
>> @@ -212,7 +225,8 @@ static int libxl__device_from_disk(libxl__gc *gc,
>> uint32_t domid,
>>
>>       device->domid = domid;
>>       device->devid = devid;
>> -    device->kind  = LIBXL__DEVICE_KIND_VBD;
>> +    device->kind = disk->backend == LIBXL_DISK_BACKEND_VIRTIO ?
>> +        LIBXL__DEVICE_KIND_VIRTIO_DISK : LIBXL__DEVICE_KIND_VBD;
>>
>>       return 0;
>>   }
>> @@ -330,7 +344,17 @@ static void device_disk_add(libxl__egc *egc, uint32_t
>> domid,
>>
>>                   assert(device->backend_kind == LIBXL__DEVICE_KIND_VBD);
>>                   break;
>> +            case LIBXL_DISK_BACKEND_VIRTIO:
>> +                dev = disk->pdev_path;
>> +
>> +                flexarray_append(back, "params");
>> +                flexarray_append(back, dev);
>>
>> +                flexarray_append_pair(back, "base", GCSPRINTF("%lu",
>> disk->base));
> This code will fail when running on arm32.
>> +                flexarray_append_pair(back, "base", GCSPRINTF("%lu",
>> disk->base));
> Below is its error message.  Maybe PRIu64 should be used instead 'lu'.  Or use 'll', and cast base type  to 'long long unsigned int'.
> | make[6]: *** [libxl_disk.o] Error 1
> | make[6]: *** Waiting for unfinished jobs....
> | In file included from libxl_disk.c:17:
> | libxl_disk.c: In function 'device_disk_add':
> | libxl_internal.h:4376:51: error: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'uint64_t' {aka 'long long unsigned int'} [-Werror=format=]
> |  4376 | #define GCSPRINTF(fmt, ...) (libxl__sprintf((gc), (fmt), __VA_ARGS__))
> |       |                                                   ^~~~~
> | libxl_disk.c:353:53: note: in expansion of macro 'GCSPRINTF'
> |   353 |                 flexarray_append_pair(back, "base", GCSPRINTF("%lu", disk->base));


Thank you for pointing this out. I admit I forgot to compile test on 
Arm32, will fix.


> |       |                                                     ^~~~~~~~~
>
>> +                flexarray_append_pair(back, "irq", GCSPRINTF("%u", disk-
>>> irq));
>> +
>> +                assert(device->backend_kind ==
>> LIBXL__DEVICE_KIND_VIRTIO_DISK);
>> +                break;
>>               case LIBXL_DISK_BACKEND_TAP:
>>                   LOG(ERROR, "blktap is not supported");
>>                   rc = ERROR_FAIL;
>> @@ -532,6 +556,26 @@ static int libxl__disk_from_xenstore(libxl__gc *gc,
>> const char *libxl_path,
>>       }
>>       libxl_string_to_backend(ctx, tmp, &(disk->backend));
>>
>> +    if (disk->backend == LIBXL_DISK_BACKEND_VIRTIO) {
>> +        disk->virtio = true;
>> +
>> +        tmp = libxl__xs_read(gc, XBT_NULL,
>> +                             GCSPRINTF("%s/base", libxl_path));
>> +        if (!tmp) {
>> +            LOG(ERROR, "Missing xenstore node %s/base", libxl_path);
>> +            goto cleanup;
>> +        }
>> +        disk->base = strtoul(tmp, NULL, 10);
>> +
>> +        tmp = libxl__xs_read(gc, XBT_NULL,
>> +                             GCSPRINTF("%s/irq", libxl_path));
>> +        if (!tmp) {
>> +            LOG(ERROR, "Missing xenstore node %s/irq", libxl_path);
>> +            goto cleanup;
>> +        }
>> +        disk->irq = strtoul(tmp, NULL, 10);
>> +    }
>> +
>>       disk->vdev = xs_read(ctx->xsh, XBT_NULL,
>>                            GCSPRINTF("%s/dev", libxl_path), &len);
>>       if (!disk->vdev) {
>> @@ -575,6 +619,41 @@ cleanup:
>>       return rc;
>>   }
>>
>> +static int libxl_device_disk_get_path(libxl__gc *gc, uint32_t domid,
>> +                                      char **path)
>> +{
>> +    const char *dir;
>> +    int rc;
>> +
>> +    /*
>> +     * As we don't know exactly what device kind to be used here, guess
>> it
>> +     * by checking the presence of the corresponding path in Xenstore.
>> +     * First, try to read path for vbd device (default) and if not exists
>> +     * read path for virtio_disk device. This will work as long as both
>> Xen PV
>> +     * and Virtio disk devices are not assigned to the same guest.
>> +     */
>> +    *path = GCSPRINTF("%s/device/%s",
>> +                      libxl__xs_libxl_path(gc, domid),
>> +
>> libxl__device_kind_to_string(LIBXL__DEVICE_KIND_VBD));
>> +
>> +    rc = libxl__xs_read_checked(gc, XBT_NULL, *path, &dir);
>> +    if (rc)
>> +        return rc;
>> +
>> +    if (dir)
>> +        return 0;
>> +
>> +    *path = GCSPRINTF("%s/device/%s",
>> +                      libxl__xs_libxl_path(gc, domid),
>> +
>> libxl__device_kind_to_string(LIBXL__DEVICE_KIND_VIRTIO_DISK));
>> +
>> +    rc = libxl__xs_read_checked(gc, XBT_NULL, *path, &dir);
>> +    if (rc)
>> +        return rc;
>> +
>> +    return 0;
>> +}
>> +
>>   int libxl_vdev_to_device_disk(libxl_ctx *ctx, uint32_t domid,
>>                                 const char *vdev, libxl_device_disk *disk)
>>   {
>> @@ -588,10 +667,12 @@ int libxl_vdev_to_device_disk(libxl_ctx *ctx,
>> uint32_t domid,
>>
>>       libxl_device_disk_init(disk);
>>
>> -    libxl_path = libxl__domain_device_libxl_path(gc, domid, devid,
>> -                                                 LIBXL__DEVICE_KIND_VBD);
>> +    rc = libxl_device_disk_get_path(gc, domid, &libxl_path);
>> +    if (rc)
>> +        return rc;
>>
>> -    rc = libxl__disk_from_xenstore(gc, libxl_path, devid, disk);
>> +    rc = libxl__disk_from_xenstore(gc, GCSPRINTF("%s/%d", libxl_path,
>> devid),
>> +                                   devid, disk);
>>
>>       GC_FREE;
>>       return rc;
>> @@ -605,16 +686,19 @@ int libxl_device_disk_getinfo(libxl_ctx *ctx,
>> uint32_t domid,
>>       char *fe_path, *libxl_path;
>>       char *val;
>>       int rc;
>> +    libxl__device_kind kind;
>>
>>       diskinfo->backend = NULL;
>>
>>       diskinfo->devid = libxl__device_disk_dev_number(disk->vdev, NULL,
>> NULL);
>>
>> -    /* tap devices entries in xenstore are written as vbd devices. */
>> +    /* tap devices entries in xenstore are written as vbd/virtio_disk
>> devices. */
>> +    kind = disk->backend == LIBXL_DISK_BACKEND_VIRTIO ?
>> +        LIBXL__DEVICE_KIND_VIRTIO_DISK : LIBXL__DEVICE_KIND_VBD;
>>       fe_path = libxl__domain_device_frontend_path(gc, domid, diskinfo-
>>> devid,
>> -                                                 LIBXL__DEVICE_KIND_VBD);
>> +                                                 kind);
>>       libxl_path = libxl__domain_device_libxl_path(gc, domid, diskinfo-
>>> devid,
>> -                                                 LIBXL__DEVICE_KIND_VBD);
>> +                                                 kind);
>>       diskinfo->backend = xs_read(ctx->xsh, XBT_NULL,
>>                                   GCSPRINTF("%s/backend", libxl_path),
>> NULL);
>>       if (!diskinfo->backend) {
>> @@ -1375,6 +1459,7 @@ LIBXL_DEFINE_DEVICE_LIST(disk)
>>   #define libxl__device_disk_update_devid NULL
>>
>>   DEFINE_DEVICE_TYPE_STRUCT(disk, VBD, disks,
>> +    .get_path    = libxl_device_disk_get_path,
>>       .merge       = libxl_device_disk_merge,
>>       .dm_needed   = libxl_device_disk_dm_needed,
>>       .from_xenstore = (device_from_xenstore_fn_t)libxl__disk_from_xenstore,
>> diff --git a/tools/libs/light/libxl_types.idl
>> b/tools/libs/light/libxl_types.idl
>> index f45addd..d513dde 100644
>> --- a/tools/libs/light/libxl_types.idl
>> +++ b/tools/libs/light/libxl_types.idl
>> @@ -130,6 +130,7 @@ libxl_disk_backend = Enumeration("disk_backend", [
>>       (1, "PHY"),
>>       (2, "TAP"),
>>       (3, "QDISK"),
>> +    (4, "VIRTIO"),
>>       ])
>>
>>   libxl_nic_type = Enumeration("nic_type", [
>> @@ -699,6 +700,9 @@ libxl_device_disk = Struct("device_disk", [
>>       ("is_cdrom", integer),
>>       ("direct_io_safe", bool),
>>       ("discard_enable", libxl_defbool),
>> +    ("virtio", bool),
>> +    ("irq", uint32),
>> +    ("base", uint64),
>>       # Note that the COLO configuration settings should be considered
>> unstable.
>>       # They may change incompatibly in future versions of Xen.
>>       ("colo_enable", libxl_defbool),
>> diff --git a/tools/libs/light/libxl_types_internal.idl
>> b/tools/libs/light/libxl_types_internal.idl
>> index 3593e21..8f71980 100644
>> --- a/tools/libs/light/libxl_types_internal.idl
>> +++ b/tools/libs/light/libxl_types_internal.idl
>> @@ -32,6 +32,7 @@ libxl__device_kind = Enumeration("device_kind", [
>>       (14, "PVCALLS"),
>>       (15, "VSND"),
>>       (16, "VINPUT"),
>> +    (17, "VIRTIO_DISK"),
>>       ])
>>
>>   libxl__console_backend = Enumeration("console_backend", [
>> diff --git a/tools/libs/light/libxl_utils.c
>> b/tools/libs/light/libxl_utils.c
>> index 4699c4a..fa406de 100644
>> --- a/tools/libs/light/libxl_utils.c
>> +++ b/tools/libs/light/libxl_utils.c
>> @@ -304,6 +304,8 @@ int libxl_string_to_backend(libxl_ctx *ctx, char *s,
>> libxl_disk_backend *backend
>>           *backend = LIBXL_DISK_BACKEND_TAP;
>>       } else if (!strcmp(s, "qdisk")) {
>>           *backend = LIBXL_DISK_BACKEND_QDISK;
>> +    } else if (!strcmp(s, "virtio_disk")) {
>> +        *backend = LIBXL_DISK_BACKEND_VIRTIO;
>>       } else if (!strcmp(s, "tap")) {
>>           p = strchr(s, ':');
>>           if (!p) {
>> diff --git a/tools/libs/util/libxlu_disk_l.c
>> b/tools/libs/util/libxlu_disk_l.c
>> index 32d4b74..7abc699 100644
>> --- a/tools/libs/util/libxlu_disk_l.c
>> +++ b/tools/libs/util/libxlu_disk_l.c
>> @@ -549,8 +549,8 @@ static void yynoreturn yy_fatal_error ( const char*
>> msg , yyscan_t yyscanner );
>>   	yyg->yy_hold_char = *yy_cp; \
>>   	*yy_cp = '\0'; \
>>   	yyg->yy_c_buf_p = yy_cp;
>> -#define YY_NUM_RULES 36
>> -#define YY_END_OF_BUFFER 37
>> +#define YY_NUM_RULES 37
>> +#define YY_END_OF_BUFFER 38
>>   /* This struct is not used in this scanner,
>>      but its presence is necessary. */
>>   struct yy_trans_info
>> @@ -558,74 +558,75 @@ struct yy_trans_info
>>   	flex_int32_t yy_verify;
>>   	flex_int32_t yy_nxt;
>>   	};
>> -static const flex_int16_t yy_acclist[575] =
>> +static const flex_int16_t yy_acclist[583] =
>>       {   0,
>> -       35,   35,   37,   33,   34,   36, 8193,   33,   34,   36,
>> -    16385, 8193,   33,   36,16385,   33,   34,   36,   34,   36,
>> -       33,   34,   36,   33,   34,   36,   33,   34,   36,   33,
>> -       34,   36,   33,   34,   36,   33,   34,   36,   33,   34,
>> -       36,   33,   34,   36,   33,   34,   36,   33,   34,   36,
>> -       33,   34,   36,   33,   34,   36,   33,   34,   36,   33,
>> -       34,   36,   33,   34,   36,   33,   34,   36,   35,   36,
>> -       36,   33,   33, 8193,   33, 8193,   33,16385, 8193,   33,
>> -     8193,   33,   33, 8224,   33,16416,   33,   33,   33,   33,
>> -       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
>> -
>> -       33,   33,   33,   33,   33,   33,   33,   33,   33,   35,
>> -     8193,   33, 8193,   33, 8193, 8224,   33, 8224,   33, 8224,
>> -       23,   33,   33,   33,   33,   33,   33,   33,   33,   33,
>> -       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
>> -       33,   33,   33,   33,   33, 8224,   33, 8224,   33, 8224,
>> -       23,   33,   33,   28, 8224,   33,16416,   33,   33,   15,
>> -       33,   33,   33,   33,   33,   33,   33,   33,   33, 8217,
>> -     8224,   33,16409,16416,   33,   33,   31, 8224,   33,16416,
>> -       33, 8216, 8224,   33,16408,16416,   33,   33, 8219, 8224,
>> -       33,16411,16416,   33,   33,   33,   33,   33,   28, 8224,
>> -
>> -       33,   28, 8224,   33,   28,   33,   28, 8224,   33,    3,
>> -       33,   15,   33,   33,   33,   33,   33,   30, 8224,   33,
>> -    16416,   33,   33,   33, 8217, 8224,   33, 8217, 8224,   33,
>> -     8217,   33, 8217, 8224,   33,   33,   31, 8224,   33,   31,
>> -     8224,   33,   31,   33,   31, 8224, 8216, 8224,   33, 8216,
>> -     8224,   33, 8216,   33, 8216, 8224,   33, 8219, 8224,   33,
>> -     8219, 8224,   33, 8219,   33, 8219, 8224,   33,   33,   10,
>> -       33,   33,   28, 8224,   33,   28, 8224,   33,   28, 8224,
>> -       28,   33,   28,   33,    3,   33,   33,   33,   33,   33,
>> -       33,   33,   30, 8224,   33,   30, 8224,   33,   30,   33,
>> -
>> -       30, 8224,   33,   33,   29, 8224,   33,16416, 8217, 8224,
>> -       33, 8217, 8224,   33, 8217, 8224, 8217,   33, 8217,   33,
>> -       33,   31, 8224,   33,   31, 8224,   33,   31, 8224,   31,
>> -       33,   31, 8216, 8224,   33, 8216, 8224,   33, 8216, 8224,
>> -     8216,   33, 8216,   33, 8219, 8224,   33, 8219, 8224,   33,
>> -     8219, 8224, 8219,   33, 8219,   33,   33,   10,   23,   10,
>> -        7,   33,   33,   33,   33,   33,   33,   33,   13,   33,
>> -       30, 8224,   33,   30, 8224,   33,   30, 8224,   30,   33,
>> -       30,    2,   33,   29, 8224,   33,   29, 8224,   33,   29,
>> -       33,   29, 8224,   16,   33,   33,   11,   33,   22,   10,
>> -
>> -       10,   23,    7,   23,    7,   33,    8,   33,   33,   33,
>> -       33,    6,   33,   13,   33,    2,   23,    2,   33,   29,
>> -     8224,   33,   29, 8224,   33,   29, 8224,   29,   33,   29,
>> -       16,   33,   33,   11,   23,   11,   26, 8224,   33,16416,
>> -       22,   23,   22,    7,    7,   23,   33,    8,   23,    8,
>> -       33,   33,   33,   33,    6,   23,    6,    6,   23,    6,
>> -       23,   33,    2,    2,   23,   33,   33,   11,   11,   23,
>> -       26, 8224,   33,   26, 8224,   33,   26,   33,   26, 8224,
>> -       22,   23,   33,    8,    8,   23,   33,   33,   17,   18,
>> -        6,    6,   23,    6,    6,   33,   33,   14,   33,   26,
>> -
>> -     8224,   33,   26, 8224,   33,   26, 8224,   26,   33,   26,
>> -       33,   33,   33,   17,   23,   17,   18,   23,   18,    6,
>> -        6,   33,   33,   14,   33,   20,    9,   19,   17,   17,
>> -       23,   18,   18,   23,    6,    5,    6,   33,   21,   20,
>> -       23,   20,    9,   23,    9,   19,   23,   19,    4,    6,
>> -        5,    6,   33,   21,   23,   21,   20,   20,   23,    9,
>> -        9,   23,   19,   19,   23,    4,    6,   12,   33,   21,
>> -       21,   23,   12,   33
>> +       36,   36,   38,   34,   35,   37, 8193,   34,   35,   37,
>> +    16385, 8193,   34,   37,16385,   34,   35,   37,   35,   37,
>> +       34,   35,   37,   34,   35,   37,   34,   35,   37,   34,
>> +       35,   37,   34,   35,   37,   34,   35,   37,   34,   35,
>> +       37,   34,   35,   37,   34,   35,   37,   34,   35,   37,
>> +       34,   35,   37,   34,   35,   37,   34,   35,   37,   34,
>> +       35,   37,   34,   35,   37,   34,   35,   37,   36,   37,
>> +       37,   34,   34, 8193,   34, 8193,   34,16385, 8193,   34,
>> +     8193,   34,   34, 8225,   34,16417,   34,   34,   34,   34,
>> +       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
>> +
>> +       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
>> +       36, 8193,   34, 8193,   34, 8193, 8225,   34, 8225,   34,
>> +     8225,   24,   34,   34,   34,   34,   34,   34,   34,   34,
>> +       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
>> +       34,   34,   34,   34,   34,   34,   34, 8225,   34, 8225,
>> +       34, 8225,   24,   34,   34,   29, 8225,   34,16417,   34,
>> +       34,   16,   34,   34,   34,   34,   34,   34,   34,   34,
>> +       34, 8218, 8225,   34,16410,16417,   34,   34,   32, 8225,
>> +       34,16417,   34, 8217, 8225,   34,16409,16417,   34,   34,
>> +     8220, 8225,   34,16412,16417,   34,   34,   34,   34,   34,
>> +
>> +       34,   29, 8225,   34,   29, 8225,   34,   29,   34,   29,
>> +     8225,   34,    3,   34,   16,   34,   34,   34,   34,   34,
>> +       31, 8225,   34,16417,   34,   34,   34, 8218, 8225,   34,
>> +     8218, 8225,   34, 8218,   34, 8218, 8225,   34,   34,   32,
>> +     8225,   34,   32, 8225,   34,   32,   34,   32, 8225, 8217,
>> +     8225,   34, 8217, 8225,   34, 8217,   34, 8217, 8225,   34,
>> +     8220, 8225,   34, 8220, 8225,   34, 8220,   34, 8220, 8225,
>> +       34,   34,   10,   34,   34,   34,   29, 8225,   34,   29,
>> +     8225,   34,   29, 8225,   29,   34,   29,   34,    3,   34,
>> +       34,   34,   34,   34,   34,   34,   31, 8225,   34,   31,
>> +
>> +     8225,   34,   31,   34,   31, 8225,   34,   34,   30, 8225,
>> +       34,16417, 8218, 8225,   34, 8218, 8225,   34, 8218, 8225,
>> +     8218,   34, 8218,   34,   34,   32, 8225,   34,   32, 8225,
>> +       34,   32, 8225,   32,   34,   32, 8217, 8225,   34, 8217,
>> +     8225,   34, 8217, 8225, 8217,   34, 8217,   34, 8220, 8225,
>> +       34, 8220, 8225,   34, 8220, 8225, 8220,   34, 8220,   34,
>> +       34,   10,   24,   10,   15,   34,    7,   34,   34,   34,
>> +       34,   34,   34,   34,   13,   34,   31, 8225,   34,   31,
>> +     8225,   34,   31, 8225,   31,   34,   31,    2,   34,   30,
>> +     8225,   34,   30, 8225,   34,   30,   34,   30, 8225,   17,
>> +
>> +       34,   34,   11,   34,   23,   10,   10,   24,   15,   34,
>> +        7,   24,    7,   34,    8,   34,   34,   34,   34,    6,
>> +       34,   13,   34,    2,   24,    2,   34,   30, 8225,   34,
>> +       30, 8225,   34,   30, 8225,   30,   34,   30,   17,   34,
>> +       34,   11,   24,   11,   27, 8225,   34,16417,   23,   24,
>> +       23,    7,    7,   24,   34,    8,   24,    8,   34,   34,
>> +       34,   34,    6,   24,    6,    6,   24,    6,   24,   34,
>> +        2,    2,   24,   34,   34,   11,   11,   24,   27, 8225,
>> +       34,   27, 8225,   34,   27,   34,   27, 8225,   23,   24,
>> +       34,    8,    8,   24,   34,   34,   18,   19,    6,    6,
>> +
>> +       24,    6,    6,   34,   34,   14,   34,   27, 8225,   34,
>> +       27, 8225,   34,   27, 8225,   27,   34,   27,   34,   34,
>> +       34,   18,   24,   18,   19,   24,   19,    6,    6,   34,
>> +       34,   14,   34,   21,    9,   20,   18,   18,   24,   19,
>> +       19,   24,    6,    5,    6,   34,   22,   21,   24,   21,
>> +        9,   24,    9,   20,   24,   20,    4,    6,    5,    6,
>> +       34,   22,   24,   22,   21,   21,   24,    9,    9,   24,
>> +       20,   20,   24,    4,    6,   12,   34,   22,   22,   24,
>> +       12,   34
>>       } ;
>>
>> -static const flex_int16_t yy_accept[356] =
>> +static const flex_int16_t yy_accept[362] =
>>       {   0,
>>           1,    1,    1,    2,    3,    4,    7,   12,   16,   19,
>>          21,   24,   27,   30,   33,   36,   39,   42,   45,   48,
>> @@ -633,39 +634,40 @@ static const flex_int16_t yy_accept[356] =
>>          74,   76,   79,   81,   82,   83,   84,   87,   87,   88,
>>          89,   90,   91,   92,   93,   94,   95,   96,   97,   98,
>>          99,  100,  101,  102,  103,  104,  105,  106,  107,  108,
>> -      109,  110,  111,  113,  115,  116,  118,  120,  121,  122,
>> +      109,  110,  111,  112,  114,  116,  117,  119,  121,  122,
>>         123,  124,  125,  126,  127,  128,  129,  130,  131,  132,
>>         133,  134,  135,  136,  137,  138,  139,  140,  141,  142,
>> -      143,  144,  145,  146,  148,  150,  151,  152,  153,  154,
>> -
>> -      158,  159,  160,  162,  163,  164,  165,  166,  167,  168,
>> -      169,  170,  175,  176,  177,  181,  182,  187,  188,  189,
>> -      194,  195,  196,  197,  198,  199,  202,  205,  207,  209,
>> -      210,  212,  214,  215,  216,  217,  218,  222,  223,  224,
>> -      225,  228,  231,  233,  235,  236,  237,  240,  243,  245,
>> -      247,  250,  253,  255,  257,  258,  261,  264,  266,  268,
>> -      269,  270,  271,  272,  273,  276,  279,  281,  283,  284,
>> -      285,  287,  288,  289,  290,  291,  292,  293,  296,  299,
>> -      301,  303,  304,  305,  309,  312,  315,  317,  319,  320,
>> -      321,  322,  325,  328,  330,  332,  333,  336,  339,  341,
>> -
>> -      343,  344,  345,  348,  351,  353,  355,  356,  357,  358,
>> -      360,  361,  362,  363,  364,  365,  366,  367,  368,  369,
>> -      371,  374,  377,  379,  381,  382,  383,  384,  387,  390,
>> -      392,  394,  396,  397,  398,  399,  400,  401,  403,  405,
>> -      406,  407,  408,  409,  410,  411,  412,  413,  414,  416,
>> -      418,  419,  420,  423,  426,  428,  430,  431,  433,  434,
>> -      436,  437,  441,  443,  444,  445,  447,  448,  450,  451,
>> -      452,  453,  454,  455,  457,  458,  460,  462,  463,  464,
>> -      466,  467,  468,  469,  471,  474,  477,  479,  481,  483,
>> -      484,  485,  487,  488,  489,  490,  491,  492,  494,  495,
>> -
>> -      496,  497,  498,  500,  503,  506,  508,  510,  511,  512,
>> -      513,  514,  516,  517,  519,  520,  521,  522,  523,  524,
>> -      526,  527,  528,  529,  530,  532,  533,  535,  536,  538,
>> -      539,  540,  542,  543,  545,  546,  548,  549,  551,  553,
>> -      554,  556,  557,  558,  560,  561,  563,  564,  566,  568,
>> -      570,  571,  573,  575,  575
>> +      143,  144,  145,  146,  147,  148,  150,  152,  153,  154,
>> +
>> +      155,  156,  160,  161,  162,  164,  165,  166,  167,  168,
>> +      169,  170,  171,  172,  177,  178,  179,  183,  184,  189,
>> +      190,  191,  196,  197,  198,  199,  200,  201,  202,  205,
>> +      208,  210,  212,  213,  215,  217,  218,  219,  220,  221,
>> +      225,  226,  227,  228,  231,  234,  236,  238,  239,  240,
>> +      243,  246,  248,  250,  253,  256,  258,  260,  261,  264,
>> +      267,  269,  271,  272,  273,  274,  275,  276,  277,  280,
>> +      283,  285,  287,  288,  289,  291,  292,  293,  294,  295,
>> +      296,  297,  300,  303,  305,  307,  308,  309,  313,  316,
>> +      319,  321,  323,  324,  325,  326,  329,  332,  334,  336,
>> +
>> +      337,  340,  343,  345,  347,  348,  349,  352,  355,  357,
>> +      359,  360,  361,  362,  364,  365,  367,  368,  369,  370,
>> +      371,  372,  373,  374,  375,  377,  380,  383,  385,  387,
>> +      388,  389,  390,  393,  396,  398,  400,  402,  403,  404,
>> +      405,  406,  407,  409,  411,  413,  414,  415,  416,  417,
>> +      418,  419,  420,  421,  422,  424,  426,  427,  428,  431,
>> +      434,  436,  438,  439,  441,  442,  444,  445,  449,  451,
>> +      452,  453,  455,  456,  458,  459,  460,  461,  462,  463,
>> +      465,  466,  468,  470,  471,  472,  474,  475,  476,  477,
>> +      479,  482,  485,  487,  489,  491,  492,  493,  495,  496,
>> +
>> +      497,  498,  499,  500,  502,  503,  504,  505,  506,  508,
>> +      511,  514,  516,  518,  519,  520,  521,  522,  524,  525,
>> +      527,  528,  529,  530,  531,  532,  534,  535,  536,  537,
>> +      538,  540,  541,  543,  544,  546,  547,  548,  550,  551,
>> +      553,  554,  556,  557,  559,  561,  562,  564,  565,  566,
>> +      568,  569,  571,  572,  574,  576,  578,  579,  581,  583,
>> +      583
>>       } ;
>>
>>   static const YY_CHAR yy_ec[256] =
>> @@ -708,216 +710,217 @@ static const YY_CHAR yy_meta[35] =
>>           1,    1,    1,    1
>>       } ;
>>
>> -static const flex_int16_t yy_base[424] =
>> +static const flex_int16_t yy_base[430] =
>>       {   0,
>> -        0,    0,  901,  900,  902,  897,   33,   36,  905,  905,
>> -       45,   63,   31,   42,   51,   52,  890,   33,   65,   67,
>> -       69,   70,  889,   71,  888,   75,    0,  905,  893,  905,
>> -       91,   94,    0,    0,  103,  886,  112,    0,   89,   98,
>> -      113,   92,  114,   99,  100,   48,  121,  116,  119,   74,
>> -      124,  129,  123,  135,  132,  133,  137,  134,  138,  139,
>> -      141,    0,  155,    0,    0,  164,    0,    0,  849,  142,
>> -      152,  164,  140,  161,  165,  166,  167,  168,  169,  173,
>> -      174,  178,  176,  180,  184,  208,  189,  183,  192,  195,
>> -      215,  191,  193,  223,    0,    0,  905,  208,  204,  236,
>> -
>> -      219,  209,  238,  196,  237,  831,  242,  815,  241,  224,
>> -      243,  261,  244,  259,  277,  266,  286,  250,  288,  298,
>> -      249,  283,  274,  282,  294,  308,    0,  310,    0,  295,
>> -      305,  905,  308,  306,  313,  314,  342,  319,  316,  320,
>> -      331,    0,  349,    0,  342,  344,  356,    0,  358,    0,
>> -      365,    0,  367,    0,  354,  375,    0,  377,    0,  363,
>> -      356,  809,  327,  322,  384,    0,    0,    0,    0,  379,
>> -      905,  382,  384,  386,  390,  372,  392,  403,    0,  410,
>> -        0,  407,  413,  423,  426,    0,    0,    0,    0,  409,
>> -      424,  435,    0,    0,    0,    0,  437,    0,    0,    0,
>> -
>> -        0,  433,  444,    0,    0,    0,    0,  391,  440,  781,
>> -      905,  769,  439,  445,  444,  447,  449,  454,  453,  399,
>> -      464,    0,    0,    0,    0,  757,  465,  476,    0,  478,
>> -        0,  479,  476,  753,  462,  490,  749,  905,  745,  905,
>> -      483,  737,  424,  485,  487,  490,  500,  493,  905,  729,
>> -      905,  502,  518,    0,    0,    0,    0,  905,  498,  721,
>> -      905,  527,  713,    0,  705,  905,  495,  697,  905,  365,
>> -      521,  528,  530,  685,  905,  534,  540,  540,  657,  905,
>> -      537,  542,  650,  905,  553,    0,  557,    0,    0,  551,
>> -      641,  905,  558,  557,  633,  614,  613,  905,  547,  555,
>> -
>> -      563,  565,  569,  584,    0,    0,    0,    0,  583,  570,
>> -      585,  612,  905,  601,  905,  522,  580,  589,  594,  905,
>> -      600,  585,  563,  520,  905,  514,  905,  586,  486,  597,
>> -      480,  441,  905,  416,  905,  345,  905,  334,  905,  601,
>> -      254,  905,  242,  905,  200,  905,  151,  905,  905,  607,
>> -       86,  905,  905,  905,  620,  624,  627,  631,  635,  639,
>> -      643,  647,  651,  655,  659,  663,  667,  671,  675,  679,
>> -      683,  687,  691,  695,  699,  703,  707,  711,  715,  719,
>> -      723,  727,  731,  735,  739,  743,  747,  751,  755,  759,
>> -      763,  767,  771,  775,  779,  783,  787,  791,  795,  799,
>> -
>> -      803,  807,  811,  815,  819,  823,  827,  831,  835,  839,
>> -      843,  847,  851,  855,  859,  863,  867,  871,  875,  879,
>> -      883,  887,  891
>> +        0,    0,  912,  911,  913,  908,   33,   36,  916,  916,
>> +       45,   63,   31,   42,   51,   52,  901,   33,   65,   67,
>> +       69,   70,  900,   71,  899,   77,    0,  916,  904,  916,
>> +       93,   96,    0,    0,  105,  897,  114,    0,   91,  100,
>> +      115,   94,  116,  101,  102,   48,   74,  118,  121,  123,
>> +       78,  128,  131,  137,  124,  125,  133,  135,  136,  140,
>> +      142,  141,    0,  163,    0,    0,  166,    0,    0,  902,
>> +      143,  146,  163,  164,  166,  167,  149,  169,  170,  175,
>> +      179,  176,  182,  177,  184,  192,  212,  193,  186,  196,
>> +      187,  219,  201,  150,  199,  227,    0,    0,  916,  209,
>> +
>> +      212,  243,  224,  213,  245,  223,  198,  895,  231,  894,
>> +      244,  230,  243,  261,  255,  259,  279,  266,  288,  275,
>> +      291,  301,  268,  284,  298,  301,  285,  302,  311,    0,
>> +      314,    0,  311,  318,  916,  312,  317,  246,  232,  342,
>> +      320,  325,  323,  349,    0,  351,    0,  344,  349,  360,
>> +        0,  363,    0,  367,    0,  370,    0,  330,  377,    0,
>> +      379,    0,  365,  358,  899,  368,  329,  331,  381,    0,
>> +        0,    0,    0,  381,  916,  383,  385,  387,  391,  397,
>> +      393,  409,    0,  411,    0,  412,  414,  424,  427,    0,
>> +        0,    0,    0,  422,  425,  436,    0,    0,    0,    0,
>> +
>> +      438,    0,    0,    0,    0,  434,  445,    0,    0,    0,
>> +        0,  440,  442,  898,  916,  400,  897,  443,  448,  449,
>> +      451,  453,  458,  457,  413,  469,    0,    0,    0,    0,
>> +      896,  469,  480,    0,  482,    0,  483,  480,  895,  489,
>> +      497,  894,  916,  916,  851,  916,  490,  839,  478,  492,
>> +      494,  497,  507,  501,  916,  823,  916,  509,  525,    0,
>> +        0,    0,    0,  916,  505,  811,  916,  534,  783,    0,
>> +      771,  916,  518,  759,  916,  523,  528,  538,  540,  755,
>> +      916,  511,  540,  549,  751,  916,  544,  547,  747,  916,
>> +      560,    0,  562,    0,    0,  555,  739,  916,  484,  561,
>> +
>> +      731,  723,  715,  916,  449,  566,  564,  566,  576,  578,
>> +        0,    0,    0,    0,  584,  574,  586,  707,  916,  699,
>> +      916,  581,  587,  590,  597,  916,  687,  659,  652,  643,
>> +      916,  635,  916,  597,  616,  599,  614,  604,  916,  600,
>> +      916,  541,  916,  467,  916,  603,  455,  916,  404,  916,
>> +      385,  916,  328,  916,  916,  609,  203,  916,  916,  916,
>> +      622,  626,  629,  633,  637,  641,  645,  649,  653,  657,
>> +      661,  665,  669,  673,  677,  681,  685,  689,  693,  697,
>> +      701,  705,  709,  713,  717,  721,  725,  729,  733,  737,
>> +      741,  745,  749,  753,  757,  761,  765,  769,  773,  777,
>> +
>> +      781,  785,  789,  793,  797,  801,  805,  809,  813,  817,
>> +      821,  825,  829,  833,  837,  841,  845,  849,  853,  857,
>> +      861,  865,  869,  873,  877,  881,  885,  889,  893
>>       } ;
>>
>> -static const flex_int16_t yy_def[424] =
>> +static const flex_int16_t yy_def[430] =
>>       {   0,
>> -      354,    1,  355,  355,  354,  356,  357,  357,  354,  354,
>> -      358,  358,   12,   12,   12,   12,   12,   12,   12,   12,
>> -       12,   12,   12,   12,   12,   12,  359,  354,  356,  354,
>> -      360,  357,  361,  361,  362,   12,  356,  363,   12,   12,
>> +      360,    1,  361,  361,  360,  362,  363,  363,  360,  360,
>> +      364,  364,   12,   12,   12,   12,   12,   12,   12,   12,
>> +       12,   12,   12,   12,   12,   12,  365,  360,  362,  360,
>> +      366,  363,  367,  367,  368,   12,  362,  369,   12,   12,
>>          12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
>>          12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
>> -       12,  359,  360,  361,  361,  364,  365,  365,  354,   12,
>> +       12,   12,  365,  366,  367,  367,  370,  371,  371,  360,
>>          12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
>> -       12,   12,   12,   12,   12,  362,   12,   12,   12,   12,
>> -       12,   12,   12,  364,  365,  365,  354,   12,   12,  366,
>> -
>> -       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
>> -       12,  367,   86,   86,  368,   12,  369,   12,   12,  370,
>> -       12,   12,   12,   12,   12,  371,  372,  366,  372,   12,
>> -       12,  354,   86,   12,   12,   12,  373,   12,   12,   12,
>> -      374,  375,  367,  375,   86,   86,  376,  377,  368,  377,
>> -      378,  379,  369,  379,   12,  380,  381,  370,  381,   12,
>> -       12,  382,   12,   12,  371,  372,  372,  383,  383,   12,
>> -      354,   86,   86,   86,   12,   12,   12,  384,  385,  373,
>> -      385,   12,   12,  386,  374,  375,  375,  387,  387,   86,
>> -       86,  376,  377,  377,  388,  388,  378,  379,  379,  389,
>> -
>> -      389,   12,  380,  381,  381,  390,  390,   12,   12,  391,
>> -      354,  392,   86,   12,   86,   86,   86,   12,   86,   12,
>> -      384,  385,  385,  393,  393,  394,   86,  395,  396,  386,
>> -      396,   86,   86,  397,   12,  398,  391,  354,  399,  354,
>> -       86,  400,   12,   86,   86,   86,  401,   86,  354,  402,
>> -      354,   86,  395,  396,  396,  403,  403,  354,   86,  404,
>> -      354,  405,  406,  406,  399,  354,   86,  407,  354,   12,
>> -       86,   86,   86,  408,  354,  408,  408,   86,  402,  354,
>> -       86,   86,  404,  354,  409,  410,  405,  410,  406,   86,
>> -      407,  354,   12,   86,  411,  412,  408,  354,  408,  408,
>> -
>> -       86,   86,   86,  409,  410,  410,  413,  413,   86,   12,
>> -       86,  414,  354,  415,  354,  408,  408,   86,   86,  354,
>> -      416,  417,  418,  414,  354,  415,  354,  408,  408,   86,
>> -      419,  420,  354,  421,  354,  422,  354,  408,  354,   86,
>> -      423,  354,  420,  354,  421,  354,  422,  354,  354,   86,
>> -      423,  354,  354,    0,  354,  354,  354,  354,  354,  354,
>> -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
>> -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
>> -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
>> -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
>> -
>> -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
>> -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
>> -      354,  354,  354
>> +       12,   12,   12,   12,   12,   12,  368,   12,   12,   12,
>> +       12,   12,   12,   12,   12,  370,  371,  371,  360,   12,
>> +
>> +       12,  372,   12,   12,   12,   12,   12,   12,   12,   12,
>> +       12,   12,   12,  373,   87,   87,  374,   12,  375,   12,
>> +       12,  376,   12,   12,   12,   12,   12,   12,  377,  378,
>> +      372,  378,   12,   12,  360,   87,   12,   12,   12,  379,
>> +       12,   12,   12,  380,  381,  373,  381,   87,   87,  382,
>> +      383,  374,  383,  384,  385,  375,  385,   12,  386,  387,
>> +      376,  387,   12,   12,  388,   12,   12,   12,  377,  378,
>> +      378,  389,  389,   12,  360,   87,   87,   87,   12,   12,
>> +       12,  390,  391,  379,  391,   12,   12,  392,  380,  381,
>> +      381,  393,  393,   87,   87,  382,  383,  383,  394,  394,
>> +
>> +      384,  385,  385,  395,  395,   12,  386,  387,  387,  396,
>> +      396,   12,   12,  397,  360,   12,  398,   87,   12,   87,
>> +       87,   87,   12,   87,   12,  390,  391,  391,  399,  399,
>> +      400,   87,  401,  402,  392,  402,   87,   87,  403,   12,
>> +      404,  397,  360,  360,  405,  360,   87,  406,   12,   87,
>> +       87,   87,  407,   87,  360,  408,  360,   87,  401,  402,
>> +      402,  409,  409,  360,   87,  410,  360,  411,  412,  412,
>> +      405,  360,   87,  413,  360,   12,   87,   87,   87,  414,
>> +      360,  414,  414,   87,  408,  360,   87,   87,  410,  360,
>> +      415,  416,  411,  416,  412,   87,  413,  360,   12,   87,
>> +
>> +      417,  418,  414,  360,  414,  414,   87,   87,   87,  415,
>> +      416,  416,  419,  419,   87,   12,   87,  420,  360,  421,
>> +      360,  414,  414,   87,   87,  360,  422,  423,  424,  420,
>> +      360,  421,  360,  414,  414,   87,  425,  426,  360,  427,
>> +      360,  428,  360,  414,  360,   87,  429,  360,  426,  360,
>> +      427,  360,  428,  360,  360,   87,  429,  360,  360,    0,
>> +      360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
>> +      360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
>> +      360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
>> +      360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
>> +
>> +      360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
>> +      360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
>> +      360,  360,  360,  360,  360,  360,  360,  360,  360
>>       } ;
>>
>> -static const flex_int16_t yy_nxt[940] =
>> +static const flex_int16_t yy_nxt[951] =
>>       {   0,
>>           6,    7,    8,    9,    6,    6,    6,    6,   10,   11,
>>          12,   13,   14,   15,   16,   17,   18,   19,   17,   17,
>>          17,   17,   20,   17,   21,   22,   23,   24,   25,   17,
>>          26,   17,   17,   17,   32,   32,   33,   32,   32,   33,
>>          36,   34,   36,   42,   34,   29,   29,   29,   30,   35,
>> -       50,   36,   37,   38,   43,   44,   39,   36,   79,   45,
>> +       50,   36,   37,   38,   43,   44,   39,   36,   80,   45,
>>          36,   36,   40,   29,   29,   29,   30,   35,   46,   48,
>>          37,   38,   41,   47,   36,   49,   36,   53,   36,   36,
>> -       36,   56,   58,   36,   36,   55,   82,   60,   51,  342,
>> -       54,   61,   52,   29,   64,   32,   32,   33,   36,   65,
>> -
>> -       70,   36,   34,   29,   29,   29,   30,   36,   36,   36,
>> -       29,   38,   66,   66,   66,   67,   66,   71,   74,   66,
>> -       68,   72,   36,   36,   73,   36,   77,   78,   36,   76,
>> -       36,   53,   36,   36,   75,   85,   80,   83,   36,   86,
>> -       84,   36,   36,   36,   36,   81,   36,   36,   36,   36,
>> -       36,   36,   93,   89,  337,   98,   88,   29,   64,  101,
>> -       90,   36,   91,   65,   92,   87,   29,   95,   89,   99,
>> -       36,  100,   96,   36,   36,   36,   36,   36,   36,  106,
>> -      105,   85,   36,   36,  102,   36,  107,   36,  103,   36,
>> -      109,  112,   36,   36,  104,  108,  115,  110,   36,  117,
>> -
>> -       36,   36,   36,  335,   36,   36,  122,  111,   29,   29,
>> -       29,   30,  118,   36,  116,   29,   38,   36,   36,  113,
>> -      114,  119,  120,  123,   36,   29,   95,  121,   36,  134,
>> -      131,   96,  130,   36,  125,  124,  126,  126,   66,  127,
>> -      126,  132,  133,  126,  129,  333,   36,   36,  135,  137,
>> -       36,   36,   36,  140,  139,   35,   35,  352,   36,   36,
>> -       85,  141,  141,   66,  142,  141,  160,  145,  141,  144,
>> -       35,   35,   89,  117,  155,   36,  146,  147,  147,   66,
>> -      148,  147,  162,   36,  147,  150,  151,  151,   66,  152,
>> -      151,   36,   36,  151,  154,  120,  161,   36,  156,  156,
>> -
>> -       66,  157,  156,   36,   36,  156,  159,  164,  171,  163,
>> -       29,  166,   29,  168,   36,   36,  167,  170,  169,   35,
>> -       35,  172,   36,   36,  173,   36,  213,  184,   36,   36,
>> -      175,   36,  174,   29,  186,  212,   36,  349,  183,  187,
>> -      177,  176,  178,  178,   66,  179,  178,  182,  348,  178,
>> -      181,   29,  188,   35,   35,   35,   35,  189,   29,  193,
>> -       29,  195,  190,   36,  194,   36,  196,   29,  198,   29,
>> -      200,  191,   36,  199,   36,  201,  219,   29,  204,   29,
>> -      206,   36,  202,  205,  209,  207,   29,  166,   36,  293,
>> -      208,  214,  167,   35,   35,   35,   35,   35,   35,   36,
>> -
>> -       36,   36,  249,  218,  220,   29,  222,  216,   36,  217,
>> -      235,  223,   29,  224,  215,  226,   36,  227,  225,  346,
>> -       35,   35,   36,  228,  228,   66,  229,  228,   29,  186,
>> -      228,  231,  232,   36,  187,  233,   35,   29,  193,   29,
>> -      198,  234,   36,  194,  344,  199,   29,  204,  236,   36,
>> -       35,  241,  205,  242,   36,   35,   35,  270,   35,   35,
>> -       35,   35,  247,   36,   35,   35,   29,  222,  244,  262,
>> -      248,   36,  223,  243,  245,  246,   35,  252,   29,  254,
>> -       29,  256,  258,  342,  255,  259,  257,   35,   35,  339,
>> -       35,   35,   69,  264,   35,   35,   35,   35,   35,   35,
>> -
>> -      267,   35,   35,  275,   35,   35,   35,   35,  271,   35,
>> -       35,  276,  277,   35,   35,  272,  278,  315,  273,  281,
>> -       29,  254,  290,  313,  282,  275,  255,  285,  285,   66,
>> -      286,  285,   35,   35,  285,  288,  295,  298,  296,   35,
>> -       35,   35,   35,  298,  301,  328,  299,  294,   35,   35,
>> -      275,   35,   35,   35,  303,   29,  305,  300,  275,   29,
>> -      307,  306,   35,   35,  302,  308,  337,   36,   35,   35,
>> -      309,  310,  320,  316,   35,   35,   35,   35,  322,   36,
>> -       35,   35,  317,  275,  319,  311,   29,  305,  335,  275,
>> -      318,  321,  306,  323,   35,   35,   35,   35,  330,  329,
>> -
>> -       35,   35,  331,  333,  327,   35,   35,  338,   35,   35,
>> -      353,  340,   35,   35,  350,  325,  275,  315,   35,   35,
>> -       27,   27,   27,   27,   29,   29,   29,   31,   31,   31,
>> -       31,   36,   36,   36,   36,   62,  313,   62,   62,   63,
>> -       63,   63,   63,   65,  269,   65,   65,   35,   35,   35,
>> -       35,   69,   69,  261,   69,   94,   94,   94,   94,   96,
>> -      251,   96,   96,  128,  128,  128,  128,  143,  143,  143,
>> -      143,  149,  149,  149,  149,  153,  153,  153,  153,  158,
>> -      158,  158,  158,  165,  165,  165,  165,  167,  298,  167,
>> -      167,  180,  180,  180,  180,  185,  185,  185,  185,  187,
>> -
>> -      292,  187,  187,  192,  192,  192,  192,  194,  240,  194,
>> -      194,  197,  197,  197,  197,  199,  289,  199,  199,  203,
>> -      203,  203,  203,  205,  284,  205,  205,  210,  210,  210,
>> -      210,  169,  280,  169,  169,  221,  221,  221,  221,  223,
>> -      269,  223,  223,  230,  230,  230,  230,  189,  266,  189,
>> -      189,  196,  211,  196,  196,  201,  261,  201,  201,  207,
>> -      251,  207,  207,  237,  237,  237,  237,  239,  239,  239,
>> -      239,  225,  240,  225,  225,  250,  250,  250,  250,  253,
>> -      253,  253,  253,  255,  238,  255,  255,  260,  260,  260,
>> -      260,  263,  263,  263,  263,  265,  265,  265,  265,  268,
>> -
>> -      268,  268,  268,  274,  274,  274,  274,  279,  279,  279,
>> -      279,  257,  211,  257,  257,  283,  283,  283,  283,  287,
>> -      287,  287,  287,  264,  138,  264,  264,  291,  291,  291,
>> -      291,  297,  297,  297,  297,  304,  304,  304,  304,  306,
>> -      136,  306,  306,  312,  312,  312,  312,  314,  314,  314,
>> -      314,  308,   97,  308,  308,  324,  324,  324,  324,  326,
>> -      326,  326,  326,  332,  332,  332,  332,  334,  334,  334,
>> -      334,  336,  336,  336,  336,  341,  341,  341,  341,  343,
>> -      343,  343,  343,  345,  345,  345,  345,  347,  347,  347,
>> -      347,  351,  351,  351,  351,   36,   30,   59,   57,   36,
>> -
>> -       30,  354,   28,   28,    5,  354,  354,  354,  354,  354,
>> -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
>> -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
>> -      354,  354,  354,  354,  354,  354,  354,  354,  354
>> +       36,   56,   58,   36,   53,   55,   36,   36,   51,   60,
>> +       54,   84,   52,   61,   62,   29,   65,   32,   32,   33,
>> +
>> +       36,   66,   71,   36,   34,   29,   29,   29,   30,   36,
>> +       36,   36,   29,   38,   67,   67,   67,   68,   67,   72,
>> +       75,   67,   69,   73,   36,   36,   74,   36,   78,   79,
>> +       36,   77,   36,   36,   36,   83,   76,   36,   81,   85,
>> +       36,   87,   36,   86,   36,   36,   36,   82,   89,   36,
>> +       36,   36,   36,   94,   90,   36,  100,   88,   36,   36,
>> +       92,   91,   93,  101,   90,   29,   65,   95,   29,   97,
>> +      102,   66,   36,   36,   98,   36,   36,  106,   36,   36,
>> +      125,  108,  107,  103,   36,   36,   36,   86,   36,  104,
>> +      105,   36,  109,   36,  111,   36,   36,  110,  112,  114,
>> +
>> +      117,   36,   36,  119,  120,   36,  348,   36,   36,  138,
>> +       36,  113,   29,   29,   29,   30,  124,  118,   36,   29,
>> +       38,   36,   36,  115,  116,  121,  122,  126,   36,   29,
>> +       97,  123,   36,   36,  134,   98,  127,  133,  140,   36,
>> +       36,   36,  128,  129,  129,   67,  130,  129,  135,  136,
>> +      129,  132,   36,   36,   36,   36,  137,  142,  181,  143,
>> +       86,  144,  144,   67,  145,  144,   35,   35,  144,  147,
>> +       35,   35,   90,  119,  180,   36,  149,   36,  148,  150,
>> +      150,   67,  151,  150,   36,  163,  150,  153,  154,  154,
>> +       67,  155,  154,   36,   36,  154,  157,  164,  122,  158,
>> +
>> +       36,  159,  159,   67,  160,  159,  165,   36,  159,  162,
>> +       36,   36,  167,   29,  170,  168,   29,  172,  166,  171,
>> +       36,  175,  173,   35,   35,  176,   36,   36,  177,   36,
>> +      188,  343,   36,  174,   36,  218,  178,  217,   36,   36,
>> +       36,  179,  182,  182,   67,  183,  182,  187,  186,  182,
>> +      185,   29,  190,   29,  192,   35,   35,  191,  206,  193,
>> +       35,   35,   29,  197,  194,   29,  199,   36,  198,   29,
>> +      202,  200,   29,  204,   36,  203,  195,   36,  205,   29,
>> +      208,   29,  210,   29,  170,  209,  213,  211,  341,  171,
>> +       36,  216,  212,  219,   35,   35,   35,   35,   35,   35,
>> +
>> +       36,  224,   36,  244,  223,  225,   36,  339,  221,   36,
>> +      222,   29,  227,   29,  229,  220,  255,  228,  232,  230,
>> +      231,   36,   36,   36,  233,  233,   67,  234,  233,   29,
>> +      190,  233,  236,   35,   35,  191,  238,   35,   29,  197,
>> +       29,  202,  239,   36,  198,  237,  203,   29,  208,   36,
>> +      241,   36,  281,  209,   35,  247,  248,   36,  358,  240,
>> +       35,   35,   35,   35,   35,   35,  253,   36,   35,   35,
>> +      355,   29,  227,  250,  254,  322,  249,  228,  251,  252,
>> +       35,  258,   29,  260,   29,  262,  264,   36,  261,  265,
>> +      263,   35,   35,   36,   35,   35,  268,  316,   36,   70,
>> +
>> +      270,   35,   35,   35,   35,   35,   35,  273,   35,   35,
>> +      281,  276,   35,   35,  304,  277,   35,   35,  282,  283,
>> +       35,   35,  278,  305,  284,  279,  287,   29,  260,   35,
>> +       35,  288,   36,  261,  291,  291,   67,  292,  291,   35,
>> +       35,  291,  294,  304,  354,  296,  301,  299,  302,   35,
>> +       35,   35,   35,  307,  300,   35,   35,  306,   35,  309,
>> +       35,   35,   29,  311,   29,  313,   35,   35,  312,  281,
>> +      314,  308,   35,   35,  315,   35,   35,   35,   35,  326,
>> +       29,  311,  328,   36,  281,  325,  312,   35,   35,  317,
>> +      281,  324,  327,  323,  329,   35,   35,   35,   35,  336,
>> +
>> +      281,   35,   35,  352,  334,  337,  335,  350,   35,   35,
>> +       35,   35,  359,  346,   35,   35,  356,  348,  344,  345,
>> +       35,   35,   27,   27,   27,   27,   29,   29,   29,   31,
>> +       31,   31,   31,   36,   36,   36,   36,   63,  321,   63,
>> +       63,   64,   64,   64,   64,   66,  319,   66,   66,   35,
>> +       35,   35,   35,   70,   70,  343,   70,   96,   96,   96,
>> +       96,   98,  341,   98,   98,  131,  131,  131,  131,  146,
>> +      146,  146,  146,  152,  152,  152,  152,  156,  156,  156,
>> +      156,  161,  161,  161,  161,  169,  169,  169,  169,  171,
>> +      339,  171,  171,  184,  184,  184,  184,  189,  189,  189,
>> +
>> +      189,  191,  333,  191,  191,  196,  196,  196,  196,  198,
>> +      331,  198,  198,  201,  201,  201,  201,  203,  281,  203,
>> +      203,  207,  207,  207,  207,  209,  321,  209,  209,  214,
>> +      214,  214,  214,  173,  319,  173,  173,  226,  226,  226,
>> +      226,  228,  275,  228,  228,  235,  235,  235,  235,  193,
>> +      267,  193,  193,  200,  257,  200,  200,  205,  304,  205,
>> +      205,  211,  298,  211,  211,  242,  242,  242,  242,  245,
>> +      245,  245,  245,  230,  246,  230,  230,  256,  256,  256,
>> +      256,  259,  259,  259,  259,  261,  295,  261,  261,  266,
>> +      266,  266,  266,  269,  269,  269,  269,  271,  271,  271,
>> +
>> +      271,  274,  274,  274,  274,  280,  280,  280,  280,  285,
>> +      285,  285,  285,  263,  290,  263,  263,  289,  289,  289,
>> +      289,  293,  293,  293,  293,  270,  286,  270,  270,  297,
>> +      297,  297,  297,  303,  303,  303,  303,  310,  310,  310,
>> +      310,  312,  275,  312,  312,  318,  318,  318,  318,  320,
>> +      320,  320,  320,  314,  272,  314,  314,  330,  330,  330,
>> +      330,  332,  332,  332,  332,  338,  338,  338,  338,  340,
>> +      340,  340,  340,  342,  342,  342,  342,  347,  347,  347,
>> +      347,  349,  349,  349,  349,  351,  351,  351,  351,  353,
>> +      353,  353,  353,  357,  357,  357,  357,  215,  267,  257,
>> +
>> +      246,  243,  215,  141,  139,   99,   36,   30,   59,   57,
>> +       36,   30,  360,   28,   28,    5,  360,  360,  360,  360,
>> +      360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
>> +      360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
>> +      360,  360,  360,  360,  360,  360,  360,  360,  360,  360
>>       } ;
>>
>> -static const flex_int16_t yy_chk[940] =
>> +static const flex_int16_t yy_chk[951] =
>>       {   0,
>>           1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
>>           1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
>> @@ -927,101 +930,102 @@ static const flex_int16_t yy_chk[940] =
>>          18,   14,   11,   11,   13,   14,   11,   46,   46,   14,
>>          15,   16,   11,   12,   12,   12,   12,   12,   14,   16,
>>          12,   12,   12,   15,   19,   16,   20,   20,   21,   22,
>> -       24,   22,   24,   50,   26,   21,   50,   26,   19,  351,
>> -       20,   26,   19,   31,   31,   32,   32,   32,   39,   31,
>> -
>> -       39,   42,   32,   35,   35,   35,   35,   40,   44,   45,
>> -       35,   35,   37,   37,   37,   37,   37,   39,   42,   37,
>> -       37,   40,   41,   43,   41,   48,   45,   45,   49,   44,
>> -       47,   47,   53,   51,   43,   53,   48,   51,   52,   54,
>> -       52,   55,   56,   58,   54,   49,   57,   59,   60,   73,
>> -       61,   70,   60,   61,  347,   70,   56,   63,   63,   73,
>> -       58,   71,   59,   63,   59,   55,   66,   66,   57,   71,
>> -       74,   72,   66,   72,   75,   76,   77,   78,   79,   78,
>> -       77,   79,   80,   81,   74,   83,   80,   82,   75,   84,
>> -       82,   85,   88,   85,   76,   81,   87,   83,   87,   89,
>> -
>> -       92,   89,   93,  345,   90,  104,   92,   84,   86,   86,
>> -       86,   86,   90,   99,   88,   86,   86,   98,  102,   86,
>> -       86,   91,   91,   93,   91,   94,   94,   91,  101,  104,
>> -      102,   94,  101,  110,   99,   98,  100,  100,  100,  100,
>> -      100,  103,  103,  100,  100,  343,  105,  103,  105,  107,
>> -      109,  107,  111,  110,  109,  113,  113,  341,  121,  118,
>> -      111,  112,  112,  112,  112,  112,  121,  113,  112,  112,
>> -      114,  114,  116,  116,  118,  116,  114,  115,  115,  115,
>> -      115,  115,  123,  123,  115,  115,  117,  117,  117,  117,
>> -      117,  124,  122,  117,  117,  119,  122,  119,  120,  120,
>> -
>> -      120,  120,  120,  125,  130,  120,  120,  125,  131,  124,
>> -      126,  126,  128,  128,  131,  134,  126,  130,  128,  133,
>> -      133,  133,  135,  136,  133,  139,  164,  140,  138,  140,
>> -      134,  164,  133,  141,  141,  163,  163,  338,  139,  141,
>> -      136,  135,  137,  137,  137,  137,  137,  138,  336,  137,
>> -      137,  143,  143,  145,  145,  146,  146,  143,  147,  147,
>> -      149,  149,  145,  155,  147,  161,  149,  151,  151,  153,
>> -      153,  146,  160,  151,  270,  153,  176,  156,  156,  158,
>> -      158,  176,  155,  156,  161,  158,  165,  165,  170,  270,
>> -      160,  170,  165,  172,  172,  173,  173,  174,  174,  175,
>> -
>> -      208,  177,  220,  175,  177,  178,  178,  173,  220,  174,
>> -      208,  178,  180,  180,  172,  182,  182,  183,  180,  334,
>> -      190,  190,  183,  184,  184,  184,  184,  184,  185,  185,
>> -      184,  184,  190,  243,  185,  191,  191,  192,  192,  197,
>> -      197,  202,  202,  192,  332,  197,  203,  203,  209,  209,
>> -      213,  213,  203,  214,  214,  215,  215,  243,  216,  216,
>> -      217,  217,  218,  218,  219,  219,  221,  221,  215,  235,
>> -      219,  235,  221,  214,  216,  217,  227,  227,  228,  228,
>> -      230,  230,  232,  331,  228,  233,  230,  233,  233,  329,
>> -      232,  232,  236,  236,  241,  241,  244,  244,  245,  245,
>> -
>> -      241,  246,  246,  247,  248,  248,  267,  267,  244,  259,
>> -      259,  247,  247,  252,  252,  245,  248,  326,  246,  252,
>> -      253,  253,  267,  324,  259,  316,  253,  262,  262,  262,
>> -      262,  262,  271,  271,  262,  262,  272,  276,  273,  272,
>> -      272,  273,  273,  277,  278,  316,  276,  271,  281,  281,
>> -      299,  278,  278,  282,  282,  285,  285,  277,  300,  287,
>> -      287,  285,  290,  290,  281,  287,  323,  293,  294,  294,
>> -      290,  293,  303,  299,  301,  301,  302,  302,  310,  310,
>> -      303,  303,  300,  317,  302,  294,  304,  304,  322,  328,
>> -      301,  309,  304,  311,  309,  309,  311,  311,  318,  317,
>> -
>> -      318,  318,  319,  321,  314,  319,  319,  328,  330,  330,
>> -      350,  330,  340,  340,  340,  312,  297,  296,  350,  350,
>> -      355,  355,  355,  355,  356,  356,  356,  357,  357,  357,
>> -      357,  358,  358,  358,  358,  359,  295,  359,  359,  360,
>> -      360,  360,  360,  361,  291,  361,  361,  362,  362,  362,
>> -      362,  363,  363,  283,  363,  364,  364,  364,  364,  365,
>> -      279,  365,  365,  366,  366,  366,  366,  367,  367,  367,
>> -      367,  368,  368,  368,  368,  369,  369,  369,  369,  370,
>> -      370,  370,  370,  371,  371,  371,  371,  372,  274,  372,
>> -      372,  373,  373,  373,  373,  374,  374,  374,  374,  375,
>> -
>> -      268,  375,  375,  376,  376,  376,  376,  377,  265,  377,
>> -      377,  378,  378,  378,  378,  379,  263,  379,  379,  380,
>> -      380,  380,  380,  381,  260,  381,  381,  382,  382,  382,
>> -      382,  383,  250,  383,  383,  384,  384,  384,  384,  385,
>> -      242,  385,  385,  386,  386,  386,  386,  387,  239,  387,
>> -      387,  388,  237,  388,  388,  389,  234,  389,  389,  390,
>> -      226,  390,  390,  391,  391,  391,  391,  392,  392,  392,
>> -      392,  393,  212,  393,  393,  394,  394,  394,  394,  395,
>> -      395,  395,  395,  396,  210,  396,  396,  397,  397,  397,
>> -      397,  398,  398,  398,  398,  399,  399,  399,  399,  400,
>> -
>> -      400,  400,  400,  401,  401,  401,  401,  402,  402,  402,
>> -      402,  403,  162,  403,  403,  404,  404,  404,  404,  405,
>> -      405,  405,  405,  406,  108,  406,  406,  407,  407,  407,
>> -      407,  408,  408,  408,  408,  409,  409,  409,  409,  410,
>> -      106,  410,  410,  411,  411,  411,  411,  412,  412,  412,
>> -      412,  413,   69,  413,  413,  414,  414,  414,  414,  415,
>> -      415,  415,  415,  416,  416,  416,  416,  417,  417,  417,
>> -      417,  418,  418,  418,  418,  419,  419,  419,  419,  420,
>> -      420,  420,  420,  421,  421,  421,  421,  422,  422,  422,
>> -      422,  423,  423,  423,  423,   36,   29,   25,   23,   17,
>> -
>> -        6,    5,    4,    3,  354,  354,  354,  354,  354,  354,
>> -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
>> -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
>> -      354,  354,  354,  354,  354,  354,  354,  354,  354
>> +       24,   22,   24,   47,   47,   21,   26,   51,   19,   26,
>> +       20,   51,   19,   26,   26,   31,   31,   32,   32,   32,
>> +
>> +       39,   31,   39,   42,   32,   35,   35,   35,   35,   40,
>> +       44,   45,   35,   35,   37,   37,   37,   37,   37,   39,
>> +       42,   37,   37,   40,   41,   43,   41,   48,   45,   45,
>> +       49,   44,   50,   55,   56,   50,   43,   52,   48,   52,
>> +       53,   54,   57,   53,   58,   59,   54,   49,   56,   60,
>> +       62,   61,   71,   60,   61,   72,   71,   55,   77,   94,
>> +       59,   58,   59,   72,   57,   64,   64,   62,   67,   67,
>> +       73,   64,   73,   74,   67,   75,   76,   77,   78,   79,
>> +       94,   79,   78,   74,   80,   82,   84,   80,   81,   75,
>> +       76,   83,   81,   85,   83,   89,   91,   82,   84,   86,
>> +
>> +       88,   86,   88,   90,   91,   90,  357,  107,   95,  107,
>> +       93,   85,   87,   87,   87,   87,   93,   89,  100,   87,
>> +       87,  101,  104,   87,   87,   92,   92,   95,   92,   96,
>> +       96,   92,  106,  103,  104,   96,  100,  103,  109,  112,
>> +      109,  139,  101,  102,  102,  102,  102,  102,  105,  105,
>> +      102,  102,  113,  111,  105,  138,  106,  111,  139,  112,
>> +      113,  114,  114,  114,  114,  114,  115,  115,  114,  114,
>> +      116,  116,  118,  118,  138,  118,  116,  123,  115,  117,
>> +      117,  117,  117,  117,  120,  123,  117,  117,  119,  119,
>> +      119,  119,  119,  124,  127,  119,  119,  124,  121,  120,
>> +
>> +      121,  122,  122,  122,  122,  122,  125,  125,  122,  122,
>> +      126,  128,  127,  129,  129,  128,  131,  131,  126,  129,
>> +      133,  134,  131,  136,  136,  136,  137,  134,  136,  141,
>> +      143,  353,  143,  133,  142,  168,  136,  167,  167,  158,
>> +      168,  137,  140,  140,  140,  140,  140,  142,  141,  140,
>> +      140,  144,  144,  146,  146,  148,  148,  144,  158,  146,
>> +      149,  149,  150,  150,  148,  152,  152,  164,  150,  154,
>> +      154,  152,  156,  156,  163,  154,  149,  166,  156,  159,
>> +      159,  161,  161,  169,  169,  159,  164,  161,  351,  169,
>> +      174,  166,  163,  174,  176,  176,  177,  177,  178,  178,
>> +
>> +      179,  180,  181,  216,  179,  181,  180,  349,  177,  216,
>> +      178,  182,  182,  184,  184,  176,  225,  182,  187,  184,
>> +      186,  186,  225,  187,  188,  188,  188,  188,  188,  189,
>> +      189,  188,  188,  194,  194,  189,  195,  195,  196,  196,
>> +      201,  201,  206,  206,  196,  194,  201,  207,  207,  212,
>> +      213,  213,  305,  207,  218,  218,  219,  219,  347,  212,
>> +      220,  220,  221,  221,  222,  222,  223,  223,  224,  224,
>> +      344,  226,  226,  220,  224,  305,  219,  226,  221,  222,
>> +      232,  232,  233,  233,  235,  235,  237,  249,  233,  238,
>> +      235,  238,  238,  299,  237,  237,  240,  299,  240,  241,
>> +
>> +      241,  247,  247,  250,  250,  251,  251,  247,  252,  252,
>> +      253,  249,  254,  254,  282,  250,  265,  265,  253,  253,
>> +      258,  258,  251,  282,  254,  252,  258,  259,  259,  273,
>> +      273,  265,  276,  259,  268,  268,  268,  268,  268,  277,
>> +      277,  268,  268,  283,  342,  273,  278,  276,  279,  278,
>> +      278,  279,  279,  284,  277,  287,  287,  283,  288,  288,
>> +      284,  284,  291,  291,  293,  293,  296,  296,  291,  306,
>> +      293,  287,  300,  300,  296,  307,  307,  308,  308,  309,
>> +      310,  310,  316,  316,  322,  308,  310,  309,  309,  300,
>> +      323,  307,  315,  306,  317,  315,  315,  317,  317,  324,
>> +
>> +      334,  324,  324,  340,  322,  325,  323,  338,  325,  325,
>> +      336,  336,  356,  336,  346,  346,  346,  337,  334,  335,
>> +      356,  356,  361,  361,  361,  361,  362,  362,  362,  363,
>> +      363,  363,  363,  364,  364,  364,  364,  365,  332,  365,
>> +      365,  366,  366,  366,  366,  367,  330,  367,  367,  368,
>> +      368,  368,  368,  369,  369,  329,  369,  370,  370,  370,
>> +      370,  371,  328,  371,  371,  372,  372,  372,  372,  373,
>> +      373,  373,  373,  374,  374,  374,  374,  375,  375,  375,
>> +      375,  376,  376,  376,  376,  377,  377,  377,  377,  378,
>> +      327,  378,  378,  379,  379,  379,  379,  380,  380,  380,
>> +
>> +      380,  381,  320,  381,  381,  382,  382,  382,  382,  383,
>> +      318,  383,  383,  384,  384,  384,  384,  385,  303,  385,
>> +      385,  386,  386,  386,  386,  387,  302,  387,  387,  388,
>> +      388,  388,  388,  389,  301,  389,  389,  390,  390,  390,
>> +      390,  391,  297,  391,  391,  392,  392,  392,  392,  393,
>> +      289,  393,  393,  394,  285,  394,  394,  395,  280,  395,
>> +      395,  396,  274,  396,  396,  397,  397,  397,  397,  398,
>> +      398,  398,  398,  399,  271,  399,  399,  400,  400,  400,
>> +      400,  401,  401,  401,  401,  402,  269,  402,  402,  403,
>> +      403,  403,  403,  404,  404,  404,  404,  405,  405,  405,
>> +
>> +      405,  406,  406,  406,  406,  407,  407,  407,  407,  408,
>> +      408,  408,  408,  409,  266,  409,  409,  410,  410,  410,
>> +      410,  411,  411,  411,  411,  412,  256,  412,  412,  413,
>> +      413,  413,  413,  414,  414,  414,  414,  415,  415,  415,
>> +      415,  416,  248,  416,  416,  417,  417,  417,  417,  418,
>> +      418,  418,  418,  419,  245,  419,  419,  420,  420,  420,
>> +      420,  421,  421,  421,  421,  422,  422,  422,  422,  423,
>> +      423,  423,  423,  424,  424,  424,  424,  425,  425,  425,
>> +      425,  426,  426,  426,  426,  427,  427,  427,  427,  428,
>> +      428,  428,  428,  429,  429,  429,  429,  242,  239,  231,
>> +
>> +      217,  214,  165,  110,  108,   70,   36,   29,   25,   23,
>> +       17,    6,    5,    4,    3,  360,  360,  360,  360,  360,
>> +      360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
>> +      360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
>> +      360,  360,  360,  360,  360,  360,  360,  360,  360,  360
>>       } ;
>>
>>   #define YY_TRAILING_MASK 0x2000
>> @@ -1199,9 +1203,9 @@ static int vdev_and_devtype(DiskParseContext *dpc,
>> char *str) {
>>   #undef DPC /* needs to be defined differently the actual lexer */
>>   #define DPC ((DiskParseContext*)yyextra)
>>
>> -#line 1202 "libxlu_disk_l.c"
>> +#line 1206 "libxlu_disk_l.c"
>>
>> -#line 1204 "libxlu_disk_l.c"
>> +#line 1208 "libxlu_disk_l.c"
>>
>>   #define INITIAL 0
>>   #define LEXERR 1
>> @@ -1483,7 +1487,7 @@ YY_DECL
>>   #line 180 "libxlu_disk_l.l"
>>    /*----- the scanner rules which do the parsing -----*/
>>
>> -#line 1486 "libxlu_disk_l.c"
>> +#line 1490 "libxlu_disk_l.c"
>>
>>   	while ( /*CONSTCOND*/1 )		/* loops until end-of-file is
>> reached */
>>   		{
>> @@ -1515,14 +1519,14 @@ yy_match:
>>   			while ( yy_chk[yy_base[yy_current_state] + yy_c] !=
>> yy_current_state )
>>   				{
>>   				yy_current_state = (int) yy_def[yy_current_state];
>> -				if ( yy_current_state >= 355 )
>> +				if ( yy_current_state >= 361 )
>>   					yy_c = yy_meta[yy_c];
>>   				}
>>   			yy_current_state = yy_nxt[yy_base[yy_current_state] +
>> yy_c];
>>   			*yyg->yy_state_ptr++ = yy_current_state;
>>   			++yy_cp;
>>   			}
>> -		while ( yy_current_state != 354 );
>> +		while ( yy_current_state != 360 );
>>
>>   yy_find_action:
>>   		yy_current_state = *--yyg->yy_state_ptr;
>> @@ -1648,76 +1652,81 @@ YY_RULE_SETUP
>>   #line 201 "libxlu_disk_l.l"
>>   { libxl_defbool_set(&DPC->disk->discard_enable, false); }
>>   	YY_BREAK
>> -/* Note that the COLO configuration settings should be considered
>> unstable.
>> -  * They may change incompatibly in future versions of Xen. */
>>   case 15:
>>   YY_RULE_SETUP
>> -#line 204 "libxlu_disk_l.l"
>> -{ libxl_defbool_set(&DPC->disk->colo_enable, true); }
>> +#line 202 "libxlu_disk_l.l"
>> +{ DPC->disk->virtio = 1; }
>>   	YY_BREAK
>> +/* Note that the COLO configuration settings should be considered
>> unstable.
>> +  * They may change incompatibly in future versions of Xen. */
>>   case 16:
>>   YY_RULE_SETUP
>>   #line 205 "libxlu_disk_l.l"
>> -{ libxl_defbool_set(&DPC->disk->colo_enable, false); }
>> +{ libxl_defbool_set(&DPC->disk->colo_enable, true); }
>>   	YY_BREAK
>>   case 17:
>> -/* rule 17 can match eol */
>>   YY_RULE_SETUP
>>   #line 206 "libxlu_disk_l.l"
>> -{ STRIP(','); SAVESTRING("colo-host", colo_host, FROMEQUALS); }
>> +{ libxl_defbool_set(&DPC->disk->colo_enable, false); }
>>   	YY_BREAK
>>   case 18:
>>   /* rule 18 can match eol */
>>   YY_RULE_SETUP
>>   #line 207 "libxlu_disk_l.l"
>> -{ STRIP(','); setcoloport(DPC, FROMEQUALS); }
>> +{ STRIP(','); SAVESTRING("colo-host", colo_host, FROMEQUALS); }
>>   	YY_BREAK
>>   case 19:
>>   /* rule 19 can match eol */
>>   YY_RULE_SETUP
>>   #line 208 "libxlu_disk_l.l"
>> -{ STRIP(','); SAVESTRING("colo-export", colo_export, FROMEQUALS); }
>> +{ STRIP(','); setcoloport(DPC, FROMEQUALS); }
>>   	YY_BREAK
>>   case 20:
>>   /* rule 20 can match eol */
>>   YY_RULE_SETUP
>>   #line 209 "libxlu_disk_l.l"
>> -{ STRIP(','); SAVESTRING("active-disk", active_disk, FROMEQUALS); }
>> +{ STRIP(','); SAVESTRING("colo-export", colo_export, FROMEQUALS); }
>>   	YY_BREAK
>>   case 21:
>>   /* rule 21 can match eol */
>>   YY_RULE_SETUP
>>   #line 210 "libxlu_disk_l.l"
>> +{ STRIP(','); SAVESTRING("active-disk", active_disk, FROMEQUALS); }
>> +	YY_BREAK
>> +case 22:
>> +/* rule 22 can match eol */
>> +YY_RULE_SETUP
>> +#line 211 "libxlu_disk_l.l"
>>   { STRIP(','); SAVESTRING("hidden-disk", hidden_disk, FROMEQUALS); }
>>   	YY_BREAK
>>   /* the target magic parameter, eats the rest of the string */
>> -case 22:
>> +case 23:
>>   YY_RULE_SETUP
>> -#line 214 "libxlu_disk_l.l"
>> +#line 215 "libxlu_disk_l.l"
>>   { STRIP(','); SAVESTRING("target", pdev_path, FROMEQUALS); }
>>   	YY_BREAK
>>   /* unknown parameters */
>> -case 23:
>> -/* rule 23 can match eol */
>> +case 24:
>> +/* rule 24 can match eol */
>>   YY_RULE_SETUP
>> -#line 218 "libxlu_disk_l.l"
>> +#line 219 "libxlu_disk_l.l"
>>   { xlu__disk_err(DPC,yytext,"unknown parameter"); }
>>   	YY_BREAK
>>   /* deprecated prefixes */
>>   /* the "/.*" in these patterns ensures that they count as if they
>>      * matched the whole string, so these patterns take precedence */
>> -case 24:
>> +case 25:
>>   YY_RULE_SETUP
>> -#line 225 "libxlu_disk_l.l"
>> +#line 226 "libxlu_disk_l.l"
>>   {
>>                       STRIP(':');
>>                       DPC->had_depr_prefix=1; DEPRECATE("use
>> `[format=]...,'");
>>                       setformat(DPC, yytext);
>>                    }
>>   	YY_BREAK
>> -case 25:
>> +case 26:
>>   YY_RULE_SETUP
>> -#line 231 "libxlu_disk_l.l"
>> +#line 232 "libxlu_disk_l.l"
>>   {
>>                       char *newscript;
>>                       STRIP(':');
>> @@ -1731,30 +1740,22 @@ YY_RULE_SETUP
>>                       free(newscript);
>>                   }
>>   	YY_BREAK
>> -case 26:
>> +case 27:
>>   *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
>>   yyg->yy_c_buf_p = yy_cp = yy_bp + 8;
>>   YY_DO_BEFORE_ACTION; /* set up yytext again */
>>   YY_RULE_SETUP
>> -#line 244 "libxlu_disk_l.l"
>> -{ DPC->had_depr_prefix=1; DEPRECATE(0); }
>> -	YY_BREAK
>> -case 27:
>> -YY_RULE_SETUP
>>   #line 245 "libxlu_disk_l.l"
>>   { DPC->had_depr_prefix=1; DEPRECATE(0); }
>>   	YY_BREAK
>>   case 28:
>> -*yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
>> -yyg->yy_c_buf_p = yy_cp = yy_bp + 4;
>> -YY_DO_BEFORE_ACTION; /* set up yytext again */
>>   YY_RULE_SETUP
>>   #line 246 "libxlu_disk_l.l"
>>   { DPC->had_depr_prefix=1; DEPRECATE(0); }
>>   	YY_BREAK
>>   case 29:
>>   *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
>> -yyg->yy_c_buf_p = yy_cp = yy_bp + 6;
>> +yyg->yy_c_buf_p = yy_cp = yy_bp + 4;
>>   YY_DO_BEFORE_ACTION; /* set up yytext again */
>>   YY_RULE_SETUP
>>   #line 247 "libxlu_disk_l.l"
>> @@ -1762,7 +1763,7 @@ YY_RULE_SETUP
>>   	YY_BREAK
>>   case 30:
>>   *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
>> -yyg->yy_c_buf_p = yy_cp = yy_bp + 5;
>> +yyg->yy_c_buf_p = yy_cp = yy_bp + 6;
>>   YY_DO_BEFORE_ACTION; /* set up yytext again */
>>   YY_RULE_SETUP
>>   #line 248 "libxlu_disk_l.l"
>> @@ -1770,26 +1771,34 @@ YY_RULE_SETUP
>>   	YY_BREAK
>>   case 31:
>>   *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
>> -yyg->yy_c_buf_p = yy_cp = yy_bp + 4;
>> +yyg->yy_c_buf_p = yy_cp = yy_bp + 5;
>>   YY_DO_BEFORE_ACTION; /* set up yytext again */
>>   YY_RULE_SETUP
>>   #line 249 "libxlu_disk_l.l"
>>   { DPC->had_depr_prefix=1; DEPRECATE(0); }
>>   	YY_BREAK
>>   case 32:
>> -/* rule 32 can match eol */
>> +*yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
>> +yyg->yy_c_buf_p = yy_cp = yy_bp + 4;
>> +YY_DO_BEFORE_ACTION; /* set up yytext again */
>> +YY_RULE_SETUP
>> +#line 250 "libxlu_disk_l.l"
>> +{ DPC->had_depr_prefix=1; DEPRECATE(0); }
>> +	YY_BREAK
>> +case 33:
>> +/* rule 33 can match eol */
>>   YY_RULE_SETUP
>> -#line 251 "libxlu_disk_l.l"
>> +#line 252 "libxlu_disk_l.l"
>>   {
>>   		  xlu__disk_err(DPC,yytext,"unknown deprecated disk prefix");
>>   		  return 0;
>>   		}
>>   	YY_BREAK
>>   /* positional parameters */
>> -case 33:
>> -/* rule 33 can match eol */
>> +case 34:
>> +/* rule 34 can match eol */
>>   YY_RULE_SETUP
>> -#line 258 "libxlu_disk_l.l"
>> +#line 259 "libxlu_disk_l.l"
>>   {
>>       STRIP(',');
>>
>> @@ -1816,27 +1825,27 @@ YY_RULE_SETUP
>>       }
>>   }
>>   	YY_BREAK
>> -case 34:
>> +case 35:
>>   YY_RULE_SETUP
>> -#line 284 "libxlu_disk_l.l"
>> +#line 285 "libxlu_disk_l.l"
>>   {
>>       BEGIN(LEXERR);
>>       yymore();
>>   }
>>   	YY_BREAK
>> -case 35:
>> +case 36:
>>   YY_RULE_SETUP
>> -#line 288 "libxlu_disk_l.l"
>> +#line 289 "libxlu_disk_l.l"
>>   {
>>       xlu__disk_err(DPC,yytext,"bad disk syntax"); return 0;
>>   }
>>   	YY_BREAK
>> -case 36:
>> +case 37:
>>   YY_RULE_SETUP
>> -#line 291 "libxlu_disk_l.l"
>> +#line 292 "libxlu_disk_l.l"
>>   YY_FATAL_ERROR( "flex scanner jammed" );
>>   	YY_BREAK
>> -#line 1839 "libxlu_disk_l.c"
>> +#line 1848 "libxlu_disk_l.c"
>>   			case YY_STATE_EOF(INITIAL):
>>   			case YY_STATE_EOF(LEXERR):
>>   				yyterminate();
>> @@ -2104,7 +2113,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
>>   		while ( yy_chk[yy_base[yy_current_state] + yy_c] !=
>> yy_current_state )
>>   			{
>>   			yy_current_state = (int) yy_def[yy_current_state];
>> -			if ( yy_current_state >= 355 )
>> +			if ( yy_current_state >= 361 )
>>   				yy_c = yy_meta[yy_c];
>>   			}
>>   		yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
>> @@ -2128,11 +2137,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
>>   	while ( yy_chk[yy_base[yy_current_state] + yy_c] !=
>> yy_current_state )
>>   		{
>>   		yy_current_state = (int) yy_def[yy_current_state];
>> -		if ( yy_current_state >= 355 )
>> +		if ( yy_current_state >= 361 )
>>   			yy_c = yy_meta[yy_c];
>>   		}
>>   	yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
>> -	yy_is_jam = (yy_current_state == 354);
>> +	yy_is_jam = (yy_current_state == 360);
>>   	if ( ! yy_is_jam )
>>   		*yyg->yy_state_ptr++ = yy_current_state;
>>
>> @@ -2941,4 +2950,4 @@ void yyfree (void * ptr , yyscan_t yyscanner)
>>
>>   #define YYTABLES_NAME "yytables"
>>
>> -#line 291 "libxlu_disk_l.l"
>> +#line 292 "libxlu_disk_l.l"
>> diff --git a/tools/libs/util/libxlu_disk_l.h
>> b/tools/libs/util/libxlu_disk_l.h
>> index 6abeecf..df20fcc 100644
>> --- a/tools/libs/util/libxlu_disk_l.h
>> +++ b/tools/libs/util/libxlu_disk_l.h
>> @@ -694,7 +694,7 @@ extern int yylex (yyscan_t yyscanner);
>>   #undef yyTABLES_NAME
>>   #endif
>>
>> -#line 291 "libxlu_disk_l.l"
>> +#line 292 "libxlu_disk_l.l"
>>
>>   #line 699 "libxlu_disk_l.h"
>>   #undef xlu__disk_yyIN_HEADER
>> diff --git a/tools/libs/util/libxlu_disk_l.l
>> b/tools/libs/util/libxlu_disk_l.l
>> index 3bd639a..d68a59c 100644
>> --- a/tools/libs/util/libxlu_disk_l.l
>> +++ b/tools/libs/util/libxlu_disk_l.l
>> @@ -198,6 +198,7 @@ script=[^,]*,?	{ STRIP(','); SAVESTRING("script",
>> script, FROMEQUALS); }
>>   direct-io-safe,? { DPC->disk->direct_io_safe = 1; }
>>   discard,?	{ libxl_defbool_set(&DPC->disk->discard_enable, true); }
>>   no-discard,?	{ libxl_defbool_set(&DPC->disk->discard_enable, false); }
>> +virtio,?	{ DPC->disk->virtio = 1; }
>>    /* Note that the COLO configuration settings should be considered
>> unstable.
>>     * They may change incompatibly in future versions of Xen. */
>>   colo,?		{ libxl_defbool_set(&DPC->disk->colo_enable, true); }
>> diff --git a/tools/xl/xl_block.c b/tools/xl/xl_block.c
>> index 70eed43..50a4d45 100644
>> --- a/tools/xl/xl_block.c
>> +++ b/tools/xl/xl_block.c
>> @@ -50,6 +50,11 @@ int main_blockattach(int argc, char **argv)
>>           return 0;
>>       }
>>
>> +    if (disk.virtio) {
>> +        fprintf(stderr, "block-attach is not supported for Virtio
>> device\n");
>> +        return 1;
>> +    }
>> +
>>       if (libxl_device_disk_add(ctx, fe_domid, &disk, 0)) {
>>           fprintf(stderr, "libxl_device_disk_add failed.\n");
>>           return 1;
>> @@ -119,6 +124,12 @@ int main_blockdetach(int argc, char **argv)
>>           fprintf(stderr, "Error: Device %s not connected.\n",
>> argv[optind+1]);
>>           return 1;
>>       }
>> +
>> +    if (disk.virtio) {
>> +        fprintf(stderr, "block-detach is not supported for Virtio
>> device\n");
>> +        return 1;
>> +    }
>> +
>>       rc = !force ? libxl_device_disk_safe_remove(ctx, domid, &disk, 0) :
>>           libxl_device_disk_destroy(ctx, domid, &disk, 0);
>>       if (rc) {
>> --
>> 2.7.4

-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 12:32:31 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 12:32:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173631.316771 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJb1r-00019Y-OM; Fri, 27 Aug 2021 12:32:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173631.316771; Fri, 27 Aug 2021 12: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 1mJb1r-00019R-J9; Fri, 27 Aug 2021 12:32:15 +0000
Received: by outflank-mailman (input) for mailman id 173631;
 Fri, 27 Aug 2021 12:32:14 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=hYM7=NS=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mJb1q-00019L-Fs
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 12:32:14 +0000
Received: from smtp-out2.suse.de (unknown [195.135.220.29])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c6fbf94d-e849-4a7c-9c53-db48a153c773;
 Fri, 27 Aug 2021 12:32:13 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 F36261FF08;
 Fri, 27 Aug 2021 12:32:11 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id B4F0413890;
 Fri, 27 Aug 2021 12:32:11 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id 0awpKkvbKGE1VAAAGKfGzw
 (envelope-from <jgross@suse.com>); Fri, 27 Aug 2021 12:32: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: c6fbf94d-e849-4a7c-9c53-db48a153c773
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1630067532; 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=Vd+tUs6wTAUAyjisZYaUQyAL8A4GNv6GpVWaw3KUUZ8=;
	b=kdBQWhOQveSfOrwlCVe1caRuUSXuJPygt/VCXx4IEvgeUU7gulPPZmbCqWGhdjtkBjVgwY
	qFmpg7yPbh/aMrFrNoWp1Jj8YCOeaaZRbYBKXH41/GCb0JwIZP/2JvwPpa6rL2RrqwoK1I
	wABRKwy2wUjD4aCruD5xzGVTjOLWyjI=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] xen/balloon: use a kernel thread instead a workqueue
Date: Fri, 27 Aug 2021 14:32:06 +0200
Message-Id: <20210827123206.15429-1-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Today the Xen ballooning is done via delayed work in a workqueue. This
might result in workqueue hangups being reported in case of large
amounts of memory are being ballooned in one go (here 16GB):

BUG: workqueue lockup - pool cpus=6 node=0 flags=0x0 nice=0 stuck for 64s!
Showing busy workqueues and worker pools:
workqueue events: flags=0x0
  pwq 12: cpus=6 node=0 flags=0x0 nice=0 active=2/256 refcnt=3
    in-flight: 229:balloon_process
    pending: cache_reap
workqueue events_freezable_power_: flags=0x84
  pwq 12: cpus=6 node=0 flags=0x0 nice=0 active=1/256 refcnt=2
    pending: disk_events_workfn
workqueue mm_percpu_wq: flags=0x8
  pwq 12: cpus=6 node=0 flags=0x0 nice=0 active=1/256 refcnt=2
    pending: vmstat_update
pool 12: cpus=6 node=0 flags=0x0 nice=0 hung=64s workers=3 idle: 2222 43

This can easily be avoided by using a dedicated kernel thread for doing
the ballooning work.

Reported-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
---
 drivers/xen/balloon.c | 62 +++++++++++++++++++++++++++++++------------
 1 file changed, 45 insertions(+), 17 deletions(-)

diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c
index 671c71245a7b..2d2803883306 100644
--- a/drivers/xen/balloon.c
+++ b/drivers/xen/balloon.c
@@ -43,6 +43,8 @@
 #include <linux/sched.h>
 #include <linux/cred.h>
 #include <linux/errno.h>
+#include <linux/freezer.h>
+#include <linux/kthread.h>
 #include <linux/mm.h>
 #include <linux/memblock.h>
 #include <linux/pagemap.h>
@@ -115,7 +117,7 @@ static struct ctl_table xen_root[] = {
 #define EXTENT_ORDER (fls(XEN_PFN_PER_PAGE) - 1)
 
 /*
- * balloon_process() state:
+ * balloon_thread() state:
  *
  * BP_DONE: done or nothing to do,
  * BP_WAIT: wait to be rescheduled,
@@ -130,6 +132,8 @@ enum bp_state {
 	BP_ECANCELED
 };
 
+/* Main waiting point for xen-balloon thread. */
+static DECLARE_WAIT_QUEUE_HEAD(balloon_thread_wq);
 
 static DEFINE_MUTEX(balloon_mutex);
 
@@ -144,10 +148,6 @@ static xen_pfn_t frame_list[PAGE_SIZE / sizeof(xen_pfn_t)];
 static LIST_HEAD(ballooned_pages);
 static DECLARE_WAIT_QUEUE_HEAD(balloon_wq);
 
-/* Main work function, always executed in process context. */
-static void balloon_process(struct work_struct *work);
-static DECLARE_DELAYED_WORK(balloon_worker, balloon_process);
-
 /* When ballooning out (allocating memory to return to Xen) we don't really
    want the kernel to try too hard since that can trigger the oom killer. */
 #define GFP_BALLOON \
@@ -366,7 +366,7 @@ static void xen_online_page(struct page *page, unsigned int order)
 static int xen_memory_notifier(struct notifier_block *nb, unsigned long val, void *v)
 {
 	if (val == MEM_ONLINE)
-		schedule_delayed_work(&balloon_worker, 0);
+		wake_up(&balloon_thread_wq);
 
 	return NOTIFY_OK;
 }
@@ -491,18 +491,43 @@ static enum bp_state decrease_reservation(unsigned long nr_pages, gfp_t gfp)
 }
 
 /*
- * As this is a work item it is guaranteed to run as a single instance only.
+ * Stop waiting if either state is not BP_EAGAIN and ballooning action is
+ * needed, or if the credit has changed while state is BP_EAGAIN.
+ */
+static bool balloon_thread_cond(enum bp_state state, long credit)
+{
+	if (state != BP_EAGAIN)
+		credit = 0;
+
+	return current_credit() != credit || kthread_should_stop();
+}
+
+/*
+ * As this is a kthread it is guaranteed to run as a single instance only.
  * We may of course race updates of the target counts (which are protected
  * by the balloon lock), or with changes to the Xen hard limit, but we will
  * recover from these in time.
  */
-static void balloon_process(struct work_struct *work)
+static int balloon_thread(void *unused)
 {
 	enum bp_state state = BP_DONE;
 	long credit;
+	unsigned long timeout;
+
+	set_freezable();
+	for (;;) {
+		if (state == BP_EAGAIN)
+			timeout = balloon_stats.schedule_delay * HZ;
+		else
+			timeout = 3600 * HZ;
+		credit = current_credit();
 
+		wait_event_interruptible_timeout(balloon_thread_wq,
+				 balloon_thread_cond(state, credit), timeout);
+
+		if (kthread_should_stop())
+			return 0;
 
-	do {
 		mutex_lock(&balloon_mutex);
 
 		credit = current_credit();
@@ -529,12 +554,7 @@ static void balloon_process(struct work_struct *work)
 		mutex_unlock(&balloon_mutex);
 
 		cond_resched();
-
-	} while (credit && state == BP_DONE);
-
-	/* Schedule more work if there is some still to be done. */
-	if (state == BP_EAGAIN)
-		schedule_delayed_work(&balloon_worker, balloon_stats.schedule_delay * HZ);
+	}
 }
 
 /* Resets the Xen limit, sets new target, and kicks off processing. */
@@ -542,7 +562,7 @@ void balloon_set_new_target(unsigned long target)
 {
 	/* No need for lock. Not read-modify-write updates. */
 	balloon_stats.target_pages = target;
-	schedule_delayed_work(&balloon_worker, 0);
+	wake_up(&balloon_thread_wq);
 }
 EXPORT_SYMBOL_GPL(balloon_set_new_target);
 
@@ -647,7 +667,7 @@ void free_xenballooned_pages(int nr_pages, struct page **pages)
 
 	/* The balloon may be too large now. Shrink it if needed. */
 	if (current_credit())
-		schedule_delayed_work(&balloon_worker, 0);
+		wake_up(&balloon_thread_wq);
 
 	mutex_unlock(&balloon_mutex);
 }
@@ -679,6 +699,8 @@ static void __init balloon_add_region(unsigned long start_pfn,
 
 static int __init balloon_init(void)
 {
+	struct task_struct *task;
+
 	if (!xen_domain())
 		return -ENODEV;
 
@@ -722,6 +744,12 @@ static int __init balloon_init(void)
 	}
 #endif
 
+	task = kthread_run(balloon_thread, NULL, "xen-balloon");
+	if (IS_ERR(task)) {
+		pr_err("xen-balloon thread could not be started, ballooning will not work!\n");
+		return PTR_ERR(task);
+	}
+
 	/* Init the xen-balloon driver. */
 	xen_balloon_init();
 
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 12:39:39 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 12:39:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173636.316781 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJb8x-0001qJ-E7; Fri, 27 Aug 2021 12:39:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173636.316781; Fri, 27 Aug 2021 12: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 1mJb8x-0001qC-Au; Fri, 27 Aug 2021 12:39:35 +0000
Received: by outflank-mailman (input) for mailman id 173636;
 Fri, 27 Aug 2021 12:39:34 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=OW94=NS=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mJb8w-0001q2-2L
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 12:39:34 +0000
Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 5d09bd03-ba72-49c4-b3c4-56676f9c5e35;
 Fri, 27 Aug 2021 12:39: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: 5d09bd03-ba72-49c4-b3c4-56676f9c5e35
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1630067972;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=JKZQsjN7ju7Me1IUvRh5OReB4tNtVugl2ImK3Tp92k0=;
  b=iPXwO20VS+NzVyZFETDs9MYvNPSenIuAvos4yTfplqcg9H/J5QI3qCqp
   2NRcNCEie4phvDFGygf0VpTf+H/wzJgtTc2mp0VwQGuLsZVXbtDp9/SNU
   I2veqY0OwTWZcsSByGGH+A98PNdFOF9DfWAuFb5grCmcAdofIB+pK1evF
   w=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: cSuv7s1/V6AL/lsoTeijC4tfUux0hD0BlrHsDyfkDHS84dq3wFekXgy0ZvreG6RDj3Fci+/Wj7
 Pjd30cu9WF0J1kxbGRBcu2DInPqLQzEHKesEq3E+NMO8IFWK/6HGek1tLvCOfaeQdw91HWH7Ff
 gv3gF/C+wnAXfGfHmffRw749G5ranm8hTa1kMAD8UvEIHCn1O5/teIN5HzIfShUQt/GolVn3o2
 ExjJtZStRg5PQ+S5e7V8Y3YFH7bsRy+ZOrjmpXJWngM9ic83E0Ww81Kfx21DM8fc4fRLST0EAx
 qV1pJI3v0ouXVWhPbMdeGtxJ
X-SBRS: 5.1
X-MesageID: 51071069
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:OyGKc64WUb+NEtzTAwPXwAzXdLJyesId70hD6qkQc3Fom62j5q
 WTdZEgvyMc5wx/ZJhNo7690cq7MBHhHPxOgbX5VI3KNGXbUQOTR72KhrGSoAEIdReeygZcv5
 0QCZSXCrfLfCVHZRCR2njFLz4iquP3j5xBnY3lvhNQpZkBUdAZ0+9+YDzrdXFedU19KrcSMo
 GT3cZDryrIQwVtUizqbkN1OdQqvrfw5evbXSI=
X-IronPort-AV: E=Sophos;i="5.84,356,1620705600"; 
   d="scan'208";a="51071069"
Date: Fri, 27 Aug 2021 13:39:28 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Ian Jackson <iwj@xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Olaf Hering <olaf@aepfle.de>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, "George
 Dunlap" <george.dunlap@citrix.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Julien Grall <julien@xen.org>
Subject: Re: QEMU 6.0+ in 4.15 and 4.14 (Re: preparations for 4.15.1 and
 4.13.4)
Message-ID: <YSjdAC98JqOXj5pn@perard>
References: <48cc22b9-6d0a-2cfc-ce34-6aabeb84b160@suse.com>
 <YO/5lPNSjjY0NQZx@perard>
 <24862.34174.101215.640300@mariner.uk.xensource.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <24862.34174.101215.640300@mariner.uk.xensource.com>

On Thu, Aug 19, 2021 at 05:23:26PM +0100, Ian Jackson wrote:
> Anthony PERARD writes ("Re: preparations for 4.15.1 and 4.13.4"):
> > Can we backport support of QEMU 6.0 to Xen 4.15? I'm pretty sure
> > distributions are going to want to use the latest QEMU and latest Xen,
> > without needed to build two different QEMU binaries.
> 
> I think this is appropriate.  Xen 4.15 is still now, and there was an
> unfortunate interaction between release dates.  Your argument makes
> sense.
> 
> > [XEN PATCH v2 0/8] Fix libxl with QEMU 6.0 + remove some more deprecated usages.
> > <20210511092810.13759-1-anthony.perard@citrix.com>
> > Commits: d5f54009db^..fe6630ddc4
> > 
> > Some more QEMU 6.0 fixes
> > <20210628100157.5010-1-anthony.perard@citrix.com>
> > Commits: 217eef30f7  3bc3be978f
> 
> So I have queued all these.
> 
> > Also, Olaf want them to be backported to 4.14, see
> >     <20210629095952.7b0b94c1.olaf@aepfle.de>
> 
> I'm unsure about this.  The diff seems moderately large.  Also, are we
> sure that it wouldn't break anything other than very old qemu ?  OTOH
> compat problems with newer qemu are indeed a problem especially for
> distros.

I've check all commits, beside two commits they all have a fallback
mechanism so we still are compatible with old qemus.
There is these two commits
    libxl: Fix QEMU cmdline for scsi device
    libxl: Use -device for cd-rom drives
which replace command line arguments, but it is to use something that
has been available since QEMU 0.15, so before the first version that
libxl as evert supported.

So overall, I don't think we break compatibility with very old qemus. It
would take a couple more QMP command to run some feature as libxl would
try the new command first before falling back to previous ones.

> I'm currently leaning towards "no" but I am very open to being
> convinced this is a good idea.

I don't know if it is a good idea, but at least it doesn't seems to be a
bad one.

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 12:47:41 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 12:47:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173643.316793 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJbGi-0003Xp-7p; Fri, 27 Aug 2021 12:47:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173643.316793; Fri, 27 Aug 2021 12:47: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 1mJbGi-0003Xi-4E; Fri, 27 Aug 2021 12:47:36 +0000
Received: by outflank-mailman (input) for mailman id 173643;
 Fri, 27 Aug 2021 12:47:34 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ht3v=NS=strugglers.net=andy@srs-us1.protection.inumbo.net>)
 id 1mJbGg-0003Xb-Fh
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 12:47:34 +0000
Received: from mail.bitfolk.com (unknown [2001:ba8:1f1:f019::25])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 27244754-d234-42f2-9f29-62e7b8920876;
 Fri, 27 Aug 2021 12:47:33 +0000 (UTC)
Received: from andy by mail.bitfolk.com with local (Exim 4.89)
 (envelope-from <andy@strugglers.net>)
 id 1mJbGd-0008Sf-Hs; Fri, 27 Aug 2021 12:47: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: 27244754-d234-42f2-9f29-62e7b8920876
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=bitfolk.com
	; s=alpha; h=Content-Type:MIME-Version:Message-ID:Subject:Cc:To:From:Date:
	Sender:Reply-To:Content-Transfer-Encoding:Content-ID:Content-Description:
	Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
	In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:
	List-Post:List-Owner:List-Archive;
	bh=dhgjZh/Us8j+b87rYcAlSqnFQ+LUI+HkUmbHMTbo4wQ=; b=W52cavZpfibsUVOHFU6Gb9WpLa
	Z4ZTfW17eRiXwoy0apr1VSpXRwgZ2mDBPvZqB2/unjupm6Jb2RbBAMB4cSqx6E1ZQiVB+BkVGDMKC
	3gSFH37oecQS+IqGmKAISWCxdQPNXjQOeHSvY8ONuANjRjG/bfoo1ply0eD3OpXZvlG7s/3ZaCFoh
	WDQA9CgaYAI/jy9VTCpkuyp7UnjByYvbaIOxkkzvyeAyM2O624Lg8WzM4ADpywkietFeUyRHa4OSc
	uHHSnm+EnW6eK2oD7n6P3Am2rDB1u5SgwNl5r4MNkfE007IhQAsW5bvuHvsIRoN6lxi8rVICUMiQJ
	yueyekUw==;
Date: Fri, 27 Aug 2021 12:47:31 +0000
From: Andy Smith <andy@strugglers.net>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Bob Liu <bob.liu@oracle.com>
Subject: Filesystem corruption on restore without "xen-blkfront: introduce
 blkfront_gather_backend_features()"
Message-ID: <20210827124731.byhwfxkehrfqtvyt@bitfolk.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
OpenPGP: id=BF15490B; url=http://strugglers.net/~andy/pubkey.asc
X-URL: http://strugglers.net/wiki/User:Andy
User-Agent: NeoMutt/20170113 (1.7.2)
X-SA-Exim-Connect-IP: <locally generated>
X-SA-Exim-Mail-From: andy@strugglers.net
X-SA-Exim-Scanned: No (on mail.bitfolk.com); SAEximRunCond expanded to false

Hi,

[This conversation started on the xen-security-issues-discuss list
as I mistakenly thought it was to do with then-embargoed XSA
patches]

I did "xl save" on 17 domUs that were running under dom0 kernel
4.19.0-16-amd64 (4.19.181-1), hypervisor 4.14.2. I then rebooted
dom0 into kernel 5.10.0-0.bpo.8-amd64 (5.10.46-4~bpo10+1). On
restore 3 of the domUs were unresponsive and their consoles were
scrolling with:

backed has not unmapped grant: 1073
backed has not unmapped grant: 881
backed has not unmapped grant: 1474

(note typo)

After a destroy and boot there was filesystem corruption in the
domUs extensive enough to not be recoverable.

Andrew Cooper pointed me towards:

    https://lore.kernel.org/lkml/1437449441-2964-1-git-send-email-bob.liu@oracle.com/

The affected domUs were running obsolete kernels that did not have
that fix, which appears to have reached upstream in v4.2-rc7. Two of
them were running a 3.16 kernel from Debian 8 (jessie), one a 2.6.32
kernel from CentOS 6.

Out of the 17 there were quite a few other obsolete guest kernels
that apparently were not affected - just luck?

As I have these plus more users still running these obsolete kernels
I have some questions about this patch.

- Is the problem here in my case that the dom0 kernel 4.19 had not
  used feature-persistent whereas the dom0 kernel 5.10 does, and
  guests with obsolete kernels don't recognise this when they
  restore?

- The obsolete guests that apparently managed to restore okay
  presumably still have the problem and so can never safely be
  restored again until they have booted into a kernel with this
  patch?

- Am I right in thinking that guest kernels with this patch should
  be safe to keep doing save/restore even if they have already been
  restored across that change of dom0 4.19->5.10?

- Can guests with obsolete kernels that have done a shutdown and
  boot under 5.10 now be safely saved and restored again, as long as
  no new backend features are added?

Basically I now have a population of domUs running that I think can't
be safely saved/restored and I now need to identify them.

(The guests administrators have already been ignoring advice to
upgrade for a long time, so I can't just upgrade the problematic
ones. They will probably accept loss of save/restore rather than
upgrade.)

Thanks,
Andy


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 12:52:50 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 12:52:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173648.316804 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJbLh-0005Aa-RJ; Fri, 27 Aug 2021 12:52:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173648.316804; Fri, 27 Aug 2021 12: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 1mJbLh-0005AT-OM; Fri, 27 Aug 2021 12:52:45 +0000
Received: by outflank-mailman (input) for mailman id 173648;
 Fri, 27 Aug 2021 12:52:45 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=B4Ba=NS=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mJbLh-0005AN-4C
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 12:52:45 +0000
Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id ab98fb68-0735-11ec-aaba-12813bfff9fa;
 Fri, 27 Aug 2021 12:52: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: ab98fb68-0735-11ec-aaba-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1630068763;
  h=to:cc:references:from:subject:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=bor4mHy0ZMKCn9p7ISHO6wN8h6iZExosoXJLSANvU+k=;
  b=LFcN4czY7HE8IH+gtb9H04pE/Pd/HulRarwckB/ldWglGQvwsEBj5AWe
   g4FxWW04yz+IkHG9+RxuuMwbaexKNdYdkWDk9contUSIArHsC99epkhx1
   oUxLOjP4vhAWzLVeEmBYQgQlPMC98QQUa4AGKDlmrL/1SvCJQX9PPApsj
   w=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: aWs/6rw0Q5LSIxDo4zKC5p9GAMOawCjAOS/T3BMHrKBm6RGPRoYUymx/9QWKraQlJQdpM7kVQv
 UH53p3AOdVkevRA5o5RzczfTkMACKvlquLCJoP53a9Rm18ZydPcDq9xuBievJTiwitjKdeygb9
 cOnWfW9EmjMN9sVO03I2LmREeW2OFxTwu46ygw0iNMevRndxE9JIlB782A7A0TmZCOpMnFG3BX
 n/9KvNwOKEfQ/mE4X5ZL4X4EukfOt1u7s7XgtXXjWjR2keOex5XA+s04Rpx1PsADOYqOYrLrhm
 D0J8LF/UOSHeOxa2qN32ubK+
X-SBRS: 5.1
X-MesageID: 51071760
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:wAqSDKnIkacWfEOT/AAjtUWf97npDfO7imdD5ihNYBxZY6Wkfp
 +V88jzhCWZtN9OYhwdcLC7WZVpQRvnhPtICPoqTMiftW7dyReVxeBZnPbfKljbdREWmdQtrZ
 uIH5IOb+EYSGIK9/oSgzPIY+rIouP3iZxA7N22pxwGLXAIGtNdBkVCe2Km+yVNNXh77PECZf
 yhD6R81lidkDgsH7+G7i5vZZm8mzSHruOrXTc2QzocrCWehzKh77D3VzCewxclSjtKhZMv63
 LMnQDV7riq96jT8G6T60bjq7Bt3PfxwNpKA8KBzuATNzXXkw6tIKBsQaeLsjwZqPymrHwqjN
 7PiRE9ONkb0QKfQkiF5T/WnyXw2jcn7HHvjXeenHvYuMT8AAk3DsJQ7LgpOSfx2g4FhpVRwa
 hL12WWu958FhXbhhnw4NDOSlVDile0iWBKq59Rs1VvFa8lLJNBp40W+01YVL0aGjjh1YwhGO
 5ySOnB+fdtd0+AZXyxhBgu/DWVZAV3Iv66eDlHhiTMuAIm20yRjnFohfD3p01wtq7UEPJ/lq
 L52s0CrsA8cicUBZgNTNvpD/HHU1Aleii8RF56F26XXZ3vC0i93qIf349Fk91CWKZ4hqfay6
 6xHW+xiwYJCjTT4Iu1rcV2ziw=
X-IronPort-AV: E=Sophos;i="5.84,356,1620705600"; 
   d="scan'208";a="51071760"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=b5TSgG0FQ3wvK0JK4IuDw4rmzJwS5tWQwe39qx7XoWdEwLzZzZ44EZx+Co3LHedGLbCs2El3cszbSciNf8iFwcHhFBelEEX1xk1qlIFDzfEZjCEektQeEqUttnB7Zh0NPy5T4sv7lGzVYs9kI3AN3A30nQxzHFaxqD/369UuKz6rXFiL3oZekTKijfmXAxbrTFYGDl0Q3nmKwEJJXJJmxYCAXaRYUspADBaNDrohbWZfHCFoEvEYjn2t6sZRRSXFW0/V/K7kD+OzLryU3Iemx9VmvidskNQMbKrEzogV6rHQNjgsvjJo+yGjqbZxrzMOoAmWJM/VBeOweztFikXmqg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bor4mHy0ZMKCn9p7ISHO6wN8h6iZExosoXJLSANvU+k=;
 b=dltptcsuZ9R1yRUSVitHK1HHmzXI1lkLipBFoULvl9aBGW4jye/vz6/KhEpG0GHde8MZk8ww5FcDzYbOAXgyCkSfrJLVF1H/YSve9Z/DEKwZa5vkmuDHqGGpNR8AkQpESCSdkkQxCvs99Pa9/ErGeJa3L+lAiVWUAHru/jsa9OOei4YTvmUbjYVNCeh6rUApPkhjGy6dP5MIvwFb5mBGTQjTWZsbNr2VY0A/sXnhwy+etnJbRYRECX4pMW4DRpawBdbpqMrf7Shu7xwTFMSpqwmM5O9PAwSQ++teWOe3SwzQl0WlWDiH7TmPtTtgN8hDWGy9C6D0/yG4uvxF3s4E9w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bor4mHy0ZMKCn9p7ISHO6wN8h6iZExosoXJLSANvU+k=;
 b=ii5p3gcBhJsR/1PTW/tQizlIF2UhTQaiVMeQXMokAOdxLsCc6l+yPdTChSzMzgOfXyjsZOruZyiYFc1P3VnRej6VCVo8B/gSCvNaQnb2uKIe9BMWX+PiOTDROTF8rXDY4772XcmUowFJt92ugpC1lhvu96WX1MyYN7h2Ora/vn4=
To: Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <a1724918-94bf-748f-5c4b-5a3ec176368f@xen.org>
 <dc1e3e1f-f7b1-6f73-3a16-804496952df5@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: HVM guest only bring up a single vCPU
Message-ID: <615b2d88-1b15-1884-0d4a-d70ae867ce57@citrix.com>
Date: Fri, 27 Aug 2021 13:52:34 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <dc1e3e1f-f7b1-6f73-3a16-804496952df5@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-GB
X-ClientProxiedBy: LO4P123CA0252.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1a7::23) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3d70d4b2-b50a-49b9-e76c-08d969598d7b
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6391:
X-Microsoft-Antispam-PRVS: <SJ0PR03MB63915C3413E84F0353BFE36ABAC89@SJ0PR03MB6391.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 9CWcsYFfRFV0rub6nC1fKiW7GYJsniqFgF/GXeYxu33PvKEb3g9Xa/WYDK+iziNLrgwVUD+9lVA5lesQ5u9qcwLDLeNcLBn9lNYaBJhwLAzqnz1SLeU74GbW5/EySp7l8sBcVWLK1EectOjkO6P77/sH7iBcjo2WXENdGIJe4KDQe9M0l1R3uJU9gjQ5Eg7U5yYHvqyXrfoBR/RLffqo+aOVpEV98QQZutrN0y7NX+Uq1jkj910mTFEO8znURqiPd00Ru/G0tOTTA8yjNsNr41/3VDdW+pbRfcMEu+fClGC44kDzpHGzdEB28aFu5A19ASzucsFgFRWii7mtpetqnvl885SMTyz0FZE/3hq3c9ghP2wZczFl0DtsSgSA1VwUwl3xaqYYo3lOseGnB4MVR2OCIOEo7k9smGGAT3bNBwjPRVROmSRgSyQvthPCGXoGCza6B9WKsGVigR5LF6dTUNGeSO2vJ81Ek0ZXjHzsNw007HfpRzTxcfYzuiJP4Qlx76zRnKhsyP6HA48K4LFNMv48kdF8QpW1JqdRbCMNOqxSy1h5uLT3BDA5xNA3q4fzzLXmP2OsPK9V+QVfEljKGAyDhJSskdHT39zppQHf/bP01Ck7i+tmBRvWKjI9OdqXuW3We1qpJQmW0a8E73HUjXU6Km8liJLf4e/alfA0nmZmo4KHCQkeEVRX8KprRi3gXnQ34JpcRFAyBl0rYiJsSwKCthLHXM9aLhtgxQvM85I=
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:(4636009)(366004)(8936002)(53546011)(5660300002)(2906002)(31696002)(956004)(6666004)(4326008)(55236004)(86362001)(8676002)(186003)(31686004)(83380400001)(26005)(508600001)(38100700002)(316002)(36756003)(66476007)(2616005)(66946007)(6486002)(16576012)(66556008)(110136005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?U1hHSTJBMllhZ2pTYnVxM0Q0d2wvdEsyNXFGOTNxZXorSThYNGN4QXY2dHM4?=
 =?utf-8?B?bklKUFRZSnYyMmprcVl6M3dWY1A0dTJ4VktPQjNjc2ZncWlCV0dmcy9LMFZH?=
 =?utf-8?B?TFlkUjFHQkxJaGdCNHpnczg2Y2xPOWZwYVAxL3dzN2hwVGF3K2EzbDYxcGhV?=
 =?utf-8?B?KzRaWkxVS0pOb2tOVzdRRHJDMllnUlR2Y3dncnk0dU9NdUJ6UWoyQlluYlI0?=
 =?utf-8?B?YzZCaWlyR1UwUXZGQlhqOVh4amJRZXVxS1FXWHBhZThqV1FaVFR1aDhYeEtq?=
 =?utf-8?B?UGcwNzZzaUFVVjFFR2JHdll3NytRSjRtUklCRmlhM2pITm01b05zY2h4d0xq?=
 =?utf-8?B?SHBUSjU1cmlwQW1DbTBZUDZINUM4ZGVma0RyTGdOUHg3TDU2c0xqZks5bk9s?=
 =?utf-8?B?bUhEN05RQlYwUVZ6eEIxMVZDZHMvUGgvWDFNV1pqNDZZMTVCS0YwVG9mYWN5?=
 =?utf-8?B?WmM3bUlpQjZWNmxtUWd4c0ZBV0dXWTdoWGZUWElvYlBhV0hkRm5qL3VFWE9h?=
 =?utf-8?B?Y2YrQVFZTjZ3Qk9lL2RhdmFvSTF2Y091ckE5MTVZQStLSklhZm1yalR6T2ZL?=
 =?utf-8?B?OEVkSzliZUptTlVqcStONjlFWXl0dWpUYmUzRkpPdnFtclFud2xoQWpzMERF?=
 =?utf-8?B?TTErNDF4NmFFZVlhY2JwQmtMVDZTWHpmaWd1cFc1bzNBS2oreEp1bU9aUko2?=
 =?utf-8?B?akZGMXFBV09rQ2QyeEQzd29xaHEzNFZjK2hIRFBNM29KZmxrT0IwS1QyTUU1?=
 =?utf-8?B?VVhlK1o0QURPR0Uwc0x0Nmg0eGllVUZxQ0Yrd3VDTnVHS0Q2SFVtTGdsVnBG?=
 =?utf-8?B?aHB1NXVjTGh3c3FBMlQ0R1VwSzd4WHNIY242bmFQWTNkYlI2VGlOTi9sUVdU?=
 =?utf-8?B?V0tYb1VXV2dNSDFVUjlLUlRmdDk4TVR5SEJSQTFwY09POG52d3l2OVlJTEs3?=
 =?utf-8?B?TUMvaTRZcXRad1lLZHdrZ2ZkYjBBTm96NVZKaXRTcU5EZGxLQzNmTXMxOWlj?=
 =?utf-8?B?ZytSSkltcE1BOVR4OUtIandCaEx5SHF4emFISFBIV1FsNjhhK2QvYlFuZVN3?=
 =?utf-8?B?YmpYb2ZEYjRSbDhab3hmYkZCcEtncHQ0cG5EVStvSkhIMjJSUUdYWnN6clFP?=
 =?utf-8?B?M2hRdDJKU1RkMEV3azdRclI0NkFxUVZBMGRxL3h6NUtiSjlTejAxYzA1NzVF?=
 =?utf-8?B?S1hNSFlNaW1DSEhEWlFkOC9FUFlBVkhUNzRjSjNRUElmOUgwT0tNWHMwS3lS?=
 =?utf-8?B?UXlIWmlTcXhhSTdTalVkR0hrWTJOdU9WN0k2cWVzK2Zyb0ozSkRBTUJhVVNk?=
 =?utf-8?B?elZOSXlVTGNFVngxWWEvYzVycUlBNVpZNEdROWtlMEQ0VHowek5HUFJDT2dm?=
 =?utf-8?B?alVBbFBBbm85VjVzelNhd0NLTkVmUGRDL3dDNEhsMDdYQTYyVFZnYTM0RnRy?=
 =?utf-8?B?azNTcTFPMXlIVjdra2lnM05xUlozT3hWU2F6RmNVNnR0YkZQVmZsRG9uVGlL?=
 =?utf-8?B?VGs5cXZkL0F0L3RSZzdHUXFMUVhvM0llaWdjWURsdmwxb0xWRUNhYUt2ZTZu?=
 =?utf-8?B?Nk1ZRUsrYWVoOXkxOFljQXdnc0xlY1Y5QUw0dlBUaEM3T1NYVjR4bDEwTGhm?=
 =?utf-8?B?RUx4YXZEVXFGSXVyOVJDK3lPRk1wZmtUZmhBNWFCemdqUDlKUDJlZ2d0RTdW?=
 =?utf-8?B?Z3dONlNMYzR3T0NOV2hJaFFxQ2ZLdm9pM3hPTjlKS3hoQUNxZ1FRLzFMWVN1?=
 =?utf-8?Q?PJ4Hz3e3w8pFejJD/dM/Rse8/ZheLfK+xQeQcUY?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 3d70d4b2-b50a-49b9-e76c-08d969598d7b
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2021 12:52:39.8178
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Xj5YBK6mZnDWZHeBe+kwu5p9TDzw9hYi5KqZOHGkDH1zr99H2rvJQ/qyl6lRQSBjJiHbA1yYEv9fZDCHOl1qT8nKoSBSdEGqiXgJKpYpBWE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6391
X-OriginatorOrg: citrix.com

On 27/08/2021 10:26, Jan Beulich wrote:
> On 26.08.2021 23:00, Julien Grall wrote:
>> Digging down, Linux will set smp_num_siblings to 0 (via=20
>> detect_ht_early()) and as a result will skip all the CPUs. The value is=
=20
>> retrieve from a CPUID leaf. So it sounds like we don't set the leaft=20
>> correctly.
> Xen leaves leaf 1 EBX[23:16] untouched from what the tool stack
> passes. The tool stack doubles the value coming from hardware
> (or qemu in your case), unless the result would overflow. Hence
> it would look to me as if the value coming from qemu has got to
> be zero. Which is perfectly fine if HTT is off, just that
> libxenguest isn't prepared for this. Could you see whether the
> patch below helps (making our hack even hackier)?
>
> Jan
>
> libxenguest/x86: ensure CPUID[1].EBX[32:16] is non-zero for HVM
>
> We unconditionally set HTT, so merely doubling the value read from
> hardware isn't going to be correct if that value is zero.
>
> Reported-by: Julien Grall <julien@xen.org>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

I don't particularly like this, but I don't like any of the junk we
currently have here.

This codepath ought to be limited to virtual environments which have
given us garbage in p->basic.lppp in the first place.

Therefore, Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

> ---
> I question the doubling in the first place, as that leads to absurd
> values when the underlying hardware has a value larger than 1 here.

It's broken for several reasons, perhaps most obviously because it is a
gross assumption that all systems look like a Intel Core/Xeon with
Hyperthreading.

The right way to fix this is to pack the APIC IDs tightly (which
actually lets us break the 128 vcpu barrier without vIOMMU), and adjust
the SMT mask in leaf 0xd to compensate.

We need a slide of 8 on the APIC IDs to do AMD legacy topology by the
book, but as we've not had that before, I'm quite tempted to leave
implementing that algorithm to whomever first actually needs it.

> I'd be inclined to suggest to double the value only if the incoming value
> has bit 0 set. And then we'd want to also deal with the case of both
> bit 0 and bit 7 being set (perhaps by clearing bit 0 in this case).

Honestly, until someone starts the "lets do topology correctly,
following Intel and AMD's topology algorithms", I recommend not
tinkering.=C2=A0 It is incredibly fragile logic.

~Andrew



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 13:02:47 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 13:02:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173655.316815 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJbVK-0006yF-Rp; Fri, 27 Aug 2021 13:02:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173655.316815; Fri, 27 Aug 2021 13: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 1mJbVK-0006y8-OE; Fri, 27 Aug 2021 13:02:42 +0000
Received: by outflank-mailman (input) for mailman id 173655;
 Fri, 27 Aug 2021 13:02:41 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mJbVJ-0006xy-4t; Fri, 27 Aug 2021 13:02:41 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mJbVI-0005ca-Tp; Fri, 27 Aug 2021 13: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 1mJbVI-0008PC-MA; Fri, 27 Aug 2021 13:02:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mJbVI-0006Vk-LP; Fri, 27 Aug 2021 13: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=sJwMqBkjge6LlepnjlCGfbLRfTuNIiF27K2Y1ncY2iE=; b=fEQ5DHlz770xUeliZhh/NEpv48
	hK+5eOdpqvZEjQtX//abtuNclC3oTL3fVjRBMJFeXBiEZ4nhLPX1r4x7cYOMOY8KuY8/pEdYbz42o
	kJ7xdyb/L3VrdZdx00+6PkICXzHhSOOnzhHY2p+/TH7XTgSEvJsFtcm8ESZ0MD9VZgw4=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164515-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 164515: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=b6da9d0414d69c2682214ee3ecf9816fcac500d0
X-Osstest-Versions-That:
    xen=c08d68cd2aacbc7cb56e73ada241bfe4639bbc68
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 27 Aug 2021 13:02:40 +0000

flight 164515 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164515/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  b6da9d0414d69c2682214ee3ecf9816fcac500d0
baseline version:
 xen                  c08d68cd2aacbc7cb56e73ada241bfe4639bbc68

Last test of basis   164484  2021-08-25 13:00:28 Z    2 days
Testing same since   164515  2021-08-27 09:00:31 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   c08d68cd2a..b6da9d0414  b6da9d0414d69c2682214ee3ecf9816fcac500d0 -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 13:30:08 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 13:30:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173661.316829 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJbvl-0001Wx-To; Fri, 27 Aug 2021 13:30:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173661.316829; Fri, 27 Aug 2021 13: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 1mJbvl-0001Vy-Q1; Fri, 27 Aug 2021 13:30:01 +0000
Received: by outflank-mailman (input) for mailman id 173661;
 Fri, 27 Aug 2021 13:30:00 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jVCk=NS=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJbvk-0001Of-KE
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 13:30:00 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 472d1857-56bb-4d33-8041-3dd8680df122;
 Fri, 27 Aug 2021 13:29:59 +0000 (UTC)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2177.outbound.protection.outlook.com [104.47.17.177])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-17-A85E12jrOC20ynR1JY8aYA-1; Fri, 27 Aug 2021 15:29:57 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB7038.eurprd04.prod.outlook.com (2603:10a6:800:12d::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.18; Fri, 27 Aug
 2021 13:29:55 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.023; Fri, 27 Aug 2021
 13:29:55 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0137.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1a::29) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.19 via Frontend Transport; Fri, 27 Aug 2021 13:29: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: 472d1857-56bb-4d33-8041-3dd8680df122
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630070998;
	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=IOlB61o+BYIQDaXxoJ+QZGDcmYkubFUPBmNhexBdjwg=;
	b=MVnvy6D/DzCu5mA2YyRf8eqM9wxp/WBvEnbP0pkJXothkNcYNG05AZDoC07IzxIZu84FNn
	EwFaliY5Rzcl2zFUxr4U5w1lDMGuhPXCjVwog9q1ZUqjo8fkn2YzC/pKhzRZX21f8llrBg
	zcN4XkrHIUCAeq8fmaIqyTxxwl+V3yY=
X-MC-Unique: A85E12jrOC20ynR1JY8aYA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hGDV30WX8RClxm27kp9LbKynHm3rn8ppkHTW50c5D8DlGQr34+N2trhDHdxOL0uqzO+P70yYnJtl/JNpBITR8QahG1J1I8GERTWPbQ+4Yi/xuIVMGmmglq4CsgN7Cu19XIv8SYhdPpGD0HEE5CoyDgTaWSnRCYc4NWcMs6UIEy1srurvZXj3ywI1VEquMLUTcjVE13Vb5DcCuI+LBdocn57UvyCszk0tsuuFYR6ECwLnX/wWSGau0yNbJ6rJFDfu2/8YFGXpFF2XzmoRxvug3pMafaVMwuw8V4O2f3C4+BionHLTHb5prKGFm6dE6fLxzg9RJz98PRTdz1DjaGii+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-SenderADCheck;
 bh=IOlB61o+BYIQDaXxoJ+QZGDcmYkubFUPBmNhexBdjwg=;
 b=Z/nnlmdWbTe0MrL0FcRToG3WTea670H27D5mrjPc6jNghp4csAP18zj1n3M8dTQIN1IO93n8fx5ry2J/7+LvtfFcPzCjoe6FS1jlWjEQXh/l3ZBC29pKSBKt/fjGy+7a0iuD75XYz6OFbaJQVrwZAcOCXWN1boPG+TagFvwH4E8U3f7I8Ik1ff2V+Rz1URgYDeWGZwAiWwLGrxtkiR1M/N7cfPfdmiBejCggM0jnO89mL8g/mezl9BTb5qqAntwNDcv5hVGVBNu6mcQRJc08OPzWhXRBzOUHy44eCAQPXDo5UG48w5qXeXcajb8mqrrLlyoX9P+hnyytk0DOmN//Cw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xenproject.org; dkim=none (message not signed)
 header.d=none;xenproject.org; dmarc=none action=none header.from=suse.com;
Subject: XSA-378 fixes breaking PVH Dom0 (was: [xen-4.15-testing test] 164495:
 regressions - FAIL)
To: xen-devel@lists.xenproject.org
References: <osstest-164495-mainreport@xen.org>
Cc: osstest service owner <osstest-admin@xenproject.org>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <6bf7f023-a00f-4853-fbe8-83d9d2aff370@suse.com>
Date: Fri, 27 Aug 2021 15:29:52 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <osstest-164495-mainreport@xen.org>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0137.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1a::29) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 40d951b8-c103-4b84-11f3-08d9695ec22c
X-MS-TrafficTypeDiagnostic: VI1PR04MB7038:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB7038A693D4BDEDC3CCDD0621B3C89@VI1PR04MB7038.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bQIwq5jK8LytQsjHqf0BVQNjAJiTbvCa6LW1Il5AOdihn156u0/6PO/GTDOBig0kTYrdyl2VL4io0KfK0RbMxviN1r7IX2PJy/UjtZjucqgvxDbxMfts5VDaEwBMvjORuAGLrZ+dOZg/AbC3gM/yFn8JNZzmfm6m2nIQDUZQx1K5BshkfhSL5H/cvmnPLBmR5i3Ie02ketyMblVq0YtWd/+00O/NGMHp1Oo4on97pC1D4CMBmm34JlMoZDBjZdsE1K56bqQvb1sSAhDApRG/zSaqKMZ6m4HBn/mqwnQV93jqtynkbXYYNIiSn9FIJXSmFub2Jf/ymUqnlZZKn/S7SKp7yMJq/XTI+ZMuVfHjjbsL8wyfsuo6R/W5YScSjtsZkOKqDUdVKtvqNVDjBZhIPO1AcHAo9lRZEqA7zFnjw0uGr6aMGgRqm6w475xAE0iZrQ2T40Ekz+JTgI+lmKclYyii2N3nw9Z7/oFn7xKrybfZA4iujxQ2WMXaKpr7hMidNZV/WTsCyV3xScRmL9tUIJXGQL+Ic5CVPcZxTtyGtk1jkLdmQeNwb7+tzKoUibJ3kZeJbecStj7qnLxQGRALcJ8F5xkYXCFXstpXYkFFxsYqoS+0CtgeV7sg5Ao2gOS3jK1ap3SSgN7vZ7OWcRYEYO9NQMSL0TgO3pzthzJ+furjQHXzVZQ/G0rhYY6IwdjGMJta0936OYK4e9I/oFyO+8rXu6q56/PVwXHMiUFL9NVy+1+rUNzX1nNop8oLoCLB+DbfE0ActglIedNVmAHi+V5JYIBhhKYY4rZl2VYa8F8nP6cFDcyRYx60pd+QzlxU
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(396003)(39860400002)(346002)(136003)(366004)(66946007)(66476007)(36756003)(8936002)(83380400001)(8676002)(478600001)(38100700002)(956004)(2906002)(53546011)(316002)(66556008)(966005)(6916009)(26005)(186003)(6486002)(16576012)(5660300002)(31696002)(6666004)(4326008)(31686004)(86362001)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RUROeEp6RUVuazZFRVNFWDJrL25BbHhqMy8zY0x1KzFPVXdhcFpwVk8vbXF1?=
 =?utf-8?B?ZVpZRTZtTlJ6OWpITlVvYkR3bXZtT3FEZWxWQldEeFhWQkVJNlNsL2tGd1FX?=
 =?utf-8?B?WkdRR3ExTFdUYTNSS3ozcThaREh4SVNMWVE5aGVMcDZ2YnpscGRPSmZtUG1R?=
 =?utf-8?B?UDVTZUFQN1RhWVRvQkJCMUVhWVF0bE1YZWhrUHNrV0tjSStXZiswRHplTE1h?=
 =?utf-8?B?QjQzZ3JuUllYV1ByOFpNTktTTm1qUGxoNTU2d3lyeStrOXEvU000SXA0WlJG?=
 =?utf-8?B?YTZ6NnRRUFpJNTdhT3AwYUlrN0FTc20xQ2ZmeDNoZUxtMGRYSmtNNys1bjVW?=
 =?utf-8?B?M0V5UWY2NjhOMlRoR3Vad3EvcWNQaTk0NWNzRUdtTU5ZRVZIbVFWSWtYa1JX?=
 =?utf-8?B?K0NsNi8vUHhtSEo1VGdSMjdrRVkweHNMODBQRXlRMmVUS2l1dVRLWXZzYXJE?=
 =?utf-8?B?elA4QldjOEt4SFVjaTAyMFU1a0U5Y1JzcFlNTzFzK1VsK3VjVW9rbHpYOGt5?=
 =?utf-8?B?Zll6SjFnaDhIVi9wMDFGRVIxTmNVaEF4eG8vQTZMM2hHNXB2aWtzL09waWxE?=
 =?utf-8?B?aGd5MlFlWGdFUHZiZmdFb2RvUTV1YlNEekpiNU42TjU5bndnMVZlK2h3STg0?=
 =?utf-8?B?Q3k1WHRiSmJ2VUNZSUlpTk9WOUZXQ2VFVGpFYTZJSlk1MWFVNUxVVElEbG9W?=
 =?utf-8?B?cllDU0tRSlNQS3pTbFVrQmVhSXh6dGEydHg4K2NxSEVrbkkzbFVjSDZYSXRC?=
 =?utf-8?B?RU14eklIL3g4TDRGYzdUeHl0SlViS013YVJRU2tFRzZCc0dBVHl5WkIrcENi?=
 =?utf-8?B?QTAraGpBQlZUdzZ1bGVkb2M0dnlvL3FkWTg3Zk9lU0xicUgwR1laelBpQ1lC?=
 =?utf-8?B?MmRaemNkRmg0akJSUTR4S1J3TStoeTREL2M5ZHdQL1l6MHErUVdTZUljTUsz?=
 =?utf-8?B?UzlxQ08xUVcxOWZYeE4vOFBjVnNKUk5NZFpQSXlIdnYxQ0R3MGhUSEYxc05j?=
 =?utf-8?B?eXgrZFl3UERQQzE1dkdSQjd6MEJibWJGZ0ZSRThETGxNbGZpSEJqdkNZQVBE?=
 =?utf-8?B?cUVPbDlsRVBZcjFjV0RIZUs4STB1b296bkpWS3p2MlFhWjZybmdKRmNRbjF5?=
 =?utf-8?B?NkE2TE00UG9oUG9lVUlKNGg4Tmg4Q2tBMG9EaklNOW05bVlJb0NKVlN5V3lk?=
 =?utf-8?B?dFI4Y2thWEtxNElrUkg0cU5UelVCSVYyK3hmNTI3QUZKcXVQeGVoWWdvZEJj?=
 =?utf-8?B?NGt3MFM5MGZ6NGU0Lyt6cFkzMnRWbWVCa2MxWTNka2hobngwRXlwcFIvdmd5?=
 =?utf-8?B?SWJ0NE1kQmxUS0U1K3A1T0RrZVpPTWxrK1hmb1lzVmhVckIzcmh5VkxMSVQv?=
 =?utf-8?B?TGUrZXowcXJCY21KMHpBamtLMEtTYURNN1F1RDZBU0JNZVV2dkMwbHh3UjI4?=
 =?utf-8?B?MHczNEV5Y3kxRlhVcEpGWXRkWDl2bU00bktmYU1zVmFwZFdxc1BqZlQrQ1hz?=
 =?utf-8?B?Vm1nWjN0R3JmVkdUcEk4UXFKZ2g2ZGlQUTdnRGVScHFkN1lLYUxtT3B4Nmlz?=
 =?utf-8?B?TkdGMm9XR1ZQcWJ4MFhOSkFScmdDODBoTXkwYTVKSHZYODA5WEhweUNBMlJx?=
 =?utf-8?B?NFFXcWxTWnZDcDBtbUdKNkEzZy9JNExQcnZNVURsSWR2Z3J6bzdad3hpZ1hB?=
 =?utf-8?B?bzZHazFOVCtya1JXZ1gxSFBDbnVyWENtTzNzVGVkVjhlZ3lxd29QaUxRZ0ow?=
 =?utf-8?Q?MX+f1XT57yP1tUP3Tm1G7XPFh58O8QfY1tpWqzG?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 40d951b8-c103-4b84-11f3-08d9695ec22c
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2021 13:29:55.6455
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 32p1z/3WbdrJkBwsLzhviUWi/VEhu1Gblgmw8wHvTBJnSBZd/03ltpVHFBLT06cXAuNXOtSpwddJO2TQr73dhg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7038

On 27.08.2021 08:52, osstest service owner wrote:
> flight 164495 xen-4.15-testing real [real]
> flight 164509 xen-4.15-testing real-retest [real]
> http://logs.test-lab.xenproject.org/osstest/logs/164495/
> http://logs.test-lab.xenproject.org/osstest/logs/164509/
> 
> Regressions :-(
> 
> Tests which did not succeed and are blocking,
> including tests which could not be run:
>  test-amd64-amd64-dom0pvh-xl-amd  8 xen-boot              fail REGR. vs. 163759
>  test-amd64-amd64-dom0pvh-xl-intel  8 xen-boot            fail REGR. vs. 163759

This is fallout from XSA-378. During Dom0 setup we first call
iommu_hwdom_init(), which maps reserved regions (p2m_access_rw).
Later map_mmio_regions() gets used to identity-map the low first
Mb. This, using set_mmio_p2m_entry(), establishes default-access
mappings (p2m_access_rwx).

Hence even if relaxing the logic in set_typed_p2m_entry() to

    if ( p2m_is_special(ot) )
    {
        gfn_unlock(p2m, gfn, order);
        if ( mfn_eq(mfn, omfn) && gfn_p2mt == ot && access == a )
            return 0;
        domain_crash(d);
        return -EPERM;
    }

we're still in trouble (because the two access types don't match)
when there is any reserved region below 1Mb.

One approach would be to avoid blindly mapping the low first Mb,
and to instead honor mappings which are already there. Or the
opposite - avoid mapping anything from arch_iommu_hwdom_init()
which is below 1Mb. (Other mappings down the call tree from
pvh_setup_acpi() imo would then also need adjusting, to avoid
redundant mapping attempts of space below 1Mb. At least RSDP is
known to possibly live there on various systems.)

Another approach could be to stop passing ->default_access from
set_mmio_p2m_entry() to set_typed_p2m_entry(). (And I think the
same should go for set_foreign_p2m_entry()). At the very least
right now it makes no sense at all to make RWX mappings there,
except when mapping PCI device ROMs. But of course reducing
permissions always comes with a (however large or small) risk of
regressions.

While I think the latter aspect wants improving in any event,
right now I'm leaning towards the "opposite" variant of the
former. I'll draft a patch along these lines at least to see if
it helps, or if there is yet more fallout.

Jan



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 13:42:24 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 13:42:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173670.316844 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJc7a-00049R-5g; Fri, 27 Aug 2021 13:42:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173670.316844; Fri, 27 Aug 2021 13:42:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJc7a-00049K-0s; Fri, 27 Aug 2021 13:42:14 +0000
Received: by outflank-mailman (input) for mailman id 173670;
 Fri, 27 Aug 2021 13:42:12 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DBy1=NS=apertussolutions.com=dpsmith@srs-us1.protection.inumbo.net>)
 id 1mJc7X-00049B-Tz
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 13:42:12 +0000
Received: from sender4-of-o51.zoho.com (unknown [136.143.188.51])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 93bde650-073c-11ec-aac4-12813bfff9fa;
 Fri, 27 Aug 2021 13:42:10 +0000 (UTC)
Received: from [10.10.1.24] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1630071724172779.9854027519895;
 Fri, 27 Aug 2021 06:42: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: 93bde650-073c-11ec-aac4-12813bfff9fa
ARC-Seal: i=1; a=rsa-sha256; t=1630071727; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=FtH6lYNtoLsRsJFYCcwAIbghdc3JRPnMky/snryegtBfhSsUmQ57OEcCC2K1Qp+JShs/NJ8XsTGizzTJXzl+lMTMH6mwl/nSdur+f69S+JsCzsGksr0Zn2yB3XsgXZ8AZAuuScuHos+Gc1OfuYk+Y0N0HDFbXl64HsKVSeN42kY=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1630071727; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=TmFi20IXZOCGSzpzjXY8TtbnZGVJCnidZE51dIM45zc=; 
	b=DgzGGwSByN7ek5nF7EfHwqoxDkaGNs+G6Z3IbDXUopMeuVvMWzoawPhs0ryitxan/C59Z15pIquSqXqmOa/k0DmAGxAL+sFgoP/Nn24jzuYS9zsHDK6c1EA8mXNyplJ41L8tD1kByJCss0QRNI28oPQTV/BGoRX9MUg8xZV2V9s=
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=1630071727;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Subject:To:Cc:References:From:Message-ID:Date:MIME-Version:In-Reply-To:Content-Type:Content-Transfer-Encoding;
	bh=TmFi20IXZOCGSzpzjXY8TtbnZGVJCnidZE51dIM45zc=;
	b=mp+I62AVhB6nziOfahkzLKpd+LNBr/A+HEyPBnqY2478gR5KQEJlpw0RKlAkNnPB
	CbOPvQ4voGfrRS4bUVbTHQYclDDjyCjtmxYsGuGOOa9xtjnwcxYf9G7tlsBgGt0jAMF
	w1jOpZii1SZL1w1eKofsU8asX0iAEktaKhZbkx/E=
Subject: Re: [PATCH v3 2/7] xsm: remove the ability to disable flask
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 xen-devel@lists.xenproject.org
References: <20210805140644.357-1-dpsmith@apertussolutions.com>
 <20210805140644.357-3-dpsmith@apertussolutions.com>
 <aa55359e-cf96-ce3e-b1bd-a7af4397d4a4@suse.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Message-ID: <59799841-7489-553c-20b8-6201d253fdf6@apertussolutions.com>
Date: Fri, 27 Aug 2021 09:42:02 -0400
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <aa55359e-cf96-ce3e-b1bd-a7af4397d4a4@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 8/25/21 11:22 AM, Jan Beulich wrote:
> On 05.08.2021 16:06, Daniel P. Smith wrote:
>> On Linux when SELinux is put into permissive mode the descretionary access
>> controls are still in place. Whereas for Xen when the enforcing state of flask
>> is set to permissive, all operations for all domains would succeed, i.e. it
>> does not fall back to the default access controls. To provide a means to mimic
>> a similar but not equivalent behavior, a flask op is present to allow a
>> one-time switch back to the default access controls, aka the "dummy policy".
>>
>> This patch removes this flask op to enforce a consistent XSM usage model that a
>> reboot of Xen is required to change the XSM policy module in use.
>>
>> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
> 
> The primary reason you remove this is - aiui - that with alternatives
> patching there's technically not really a way back (would need to re-
> patch every patched location, or every hook would need to check whether
> state changed to disabled and if so chain on to the dummy function).
> This became sufficiently clear to me only when looking at the next
> patch. It would be nice if description also said why the change is
> needed. As it stands to me the description reads at best like something
> that people could have different views on (and initially I didn't mean
> to reply here, for not being convinced of the removal of functionality
> in the common case).
> 
> Jan
> 

Ack, I can expand further.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 13:44:57 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 13:44:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173676.316855 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJcAC-0004kl-Iu; Fri, 27 Aug 2021 13:44:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173676.316855; Fri, 27 Aug 2021 13: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 1mJcAC-0004ke-FO; Fri, 27 Aug 2021 13:44:56 +0000
Received: by outflank-mailman (input) for mailman id 173676;
 Fri, 27 Aug 2021 13:44:56 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DBy1=NS=apertussolutions.com=dpsmith@srs-us1.protection.inumbo.net>)
 id 1mJcAB-0004kY-UF
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 13:44:55 +0000
Received: from sender4-of-o51.zoho.com (unknown [136.143.188.51])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id f5d0407c-073c-11ec-aac4-12813bfff9fa;
 Fri, 27 Aug 2021 13:44:55 +0000 (UTC)
Received: from [10.10.1.24] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1630071891868483.14622385897735;
 Fri, 27 Aug 2021 06:44: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: f5d0407c-073c-11ec-aac4-12813bfff9fa
ARC-Seal: i=1; a=rsa-sha256; t=1630071893; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=NWlQiF2m4rKpaMh/N6ktYW9fjck9MzkdvRT3Wun2rHe0WhdiVuHq33/OrVyXv6DUTLeR0lXN/CRS8fFrXJd4lvbtR6ai25ZJ3zRwtIpfQbfTtIxtB/gefZKk5HQO2jVolJjBVsZafnN50Y0OJbEua2q6vPfGh6jb25aqjXY6q0o=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1630071893; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=E8x+9mrcYQkfmAkT5gadifYyKGEDWxuo1P25sCJqADo=; 
	b=WhcHKjgcD185iUaRcVBWyG2p04zhDj9sjT9oTJPBJTwUo8hmc+LvhaIG5gZqughRD165xREQoP1BF7AGMe/TUIoblGeQ5hdUEaJ1xVvX3SD4ZKjk7pdZXSyH7fnraZWkEKoTMCIpRfWzDmofXaJJRqd7Y1f5FyVfHjc8BiqEC0w=
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=1630071893;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Subject:To:Cc:References:From:Message-ID:Date:MIME-Version:In-Reply-To:Content-Type:Content-Transfer-Encoding;
	bh=E8x+9mrcYQkfmAkT5gadifYyKGEDWxuo1P25sCJqADo=;
	b=Gn55OLMHQbUCxBOg+Cz4vSFAUXoSRjrXBlRIbvvboXnMOTz9yNnMuCPcyyrPyum2
	9HWjNmZRl1/tyjA8PZV13MWe/Qg2rcEDaW3mDTMsbf/9RbaAO8yU34iD23HtwxfPNsl
	BO9ThUSZLtMqi3QOisdGYhWgFRU+SUoRSJTgkU08=
Subject: Re: [PATCH v3 3/7] xsm: refactor xsm_ops handling
To: Jan Beulich <jbeulich@suse.com>
Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov>, xen-devel@lists.xenproject.org
References: <20210805140644.357-1-dpsmith@apertussolutions.com>
 <20210805140644.357-4-dpsmith@apertussolutions.com>
 <572bfa5c-154f-8fe5-7693-75919949835e@suse.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Message-ID: <087b03d8-1fcc-cff1-fe6f-2d982dd341d4@apertussolutions.com>
Date: Fri, 27 Aug 2021 09:44:50 -0400
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <572bfa5c-154f-8fe5-7693-75919949835e@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 8/25/21 11:16 AM, Jan Beulich wrote:
> On 05.08.2021 16:06, Daniel P. Smith wrote:
>> @@ -747,16 +747,16 @@ extern int xsm_dt_policy_init(void **policy_buffer, size_t *policy_size);
>>  extern bool has_xsm_magic(paddr_t);
>>  #endif
>>  
>> -extern int register_xsm(struct xsm_operations *ops);
>> -
>> -extern struct xsm_operations dummy_xsm_ops;
>> -extern void xsm_fixup_ops(struct xsm_operations *ops);
>> +extern void xsm_fixup_ops(struct xsm_ops *ops);
>>  
>>  #ifdef CONFIG_XSM_FLASK
>> -extern void flask_init(const void *policy_buffer, size_t policy_size);
>> +extern const struct xsm_ops *flask_init(const void *policy_buffer,
>> +                                        size_t policy_size);
>>  #else
>> -static inline void flask_init(const void *policy_buffer, size_t policy_size)
>> +static inline struct xsm_ops *flask_init(const void *policy_buffer,
> 
> Please use const consistently between real function and stub.

Ack.

>> @@ -766,9 +766,12 @@ extern const unsigned int xsm_flask_init_policy_size;
>>  #endif
>>  
>>  #ifdef CONFIG_XSM_SILO
>> -extern void silo_init(void);
>> +extern const struct xsm_ops *silo_init(void);
>>  #else
>> -static inline void silo_init(void) {}
>> +static inline struct xsm_ops *silo_init(void)
> 
> Same here.

Ack.

>> --- a/xen/xsm/flask/hooks.c
>> +++ b/xen/xsm/flask/hooks.c
>> @@ -1745,7 +1745,7 @@ static int flask_argo_send(const struct domain *d, const struct domain *t)
>>  long do_flask_op(XEN_GUEST_HANDLE_PARAM(xsm_op_t) u_flask_op);
>>  int compat_flask_op(XEN_GUEST_HANDLE_PARAM(xsm_op_t) u_flask_op);
>>  
>> -static struct xsm_operations flask_ops = {
>> +static const struct xsm_ops __initconst flask_ops = {
> 
> __initconstrel please (I thought I had pointed out the difference
> already during earlier discussion). Same for SILO then of course.

Apologies, yes you did and that is my fault as I had only recorded the
__initconst suggestion in my checklist and did not update with your
__initconstrel suggestion.

>> --- a/xen/xsm/xsm_core.c
>> +++ b/xen/xsm/xsm_core.c
>> @@ -28,9 +28,17 @@
>>  #include <asm/setup.h>
>>  #endif
>>  
>> -#define XSM_FRAMEWORK_VERSION    "1.0.0"
>> +#define XSM_FRAMEWORK_VERSION    "1.0.1"
>>  
>> -struct xsm_operations *xsm_ops;
>> +struct xsm_ops xsm_ops;
> 
> __read_mostly?

Ack.

v/r,
dps



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 14:01:33 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 14:01:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173682.316865 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJcQC-0007bP-0d; Fri, 27 Aug 2021 14:01:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173682.316865; Fri, 27 Aug 2021 14:01:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJcQB-0007bI-TZ; Fri, 27 Aug 2021 14:01:27 +0000
Received: by outflank-mailman (input) for mailman id 173682;
 Fri, 27 Aug 2021 14:01:26 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=B4Ba=NS=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mJcQA-0007bB-Iz
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 14:01:26 +0000
Received: from esa6.hc3370-68.iphmx.com (unknown [216.71.155.175])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id fd14cfa6-021f-4ab3-bd2b-0bf2021533f1;
 Fri, 27 Aug 2021 14:01: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: fd14cfa6-021f-4ab3-bd2b-0bf2021533f1
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1630072885;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=/J2auXVs1v8727jLQqWlc/Fzv5/mxYtQIc9zcGXc3FY=;
  b=dLfdy8oAxMdjeUPzBLEr8LU+Ro9sWIcd0CV/rWRGaBNFukg0FAWZuYUZ
   FUUQogTcSR/M/sdfuxunvM/I3pbvx44uXWaD5JlBKNwod3cgsCo5/ObBS
   je1tdX6K1osfSloJMIL1PtkrAWTtf+vMUAoFHdalbmiY0a1udUBJeJsVk
   w=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: XADDKu41cuXVlyUp7FN0fIGSPyEbPNuNCGC5oWabFw89yDnKt5n8PTrYXqoR+iG9SSlnk3t7qU
 GwIObYO9PW7S9RWng21bbG2yB7HrHOk4fZIyvBSKipeKhEKdRYlp5PL4SaKgqw2ZFEmSNHYa4I
 RtyPbMQpMF9kvYlAfgVy1pM3LDgsuNWFyqet0qvaWWZgoRClvnC7A4MV/OUt2Ek298/7GEpAxf
 93HCWqr/aZksziK8KtztzLe6R1EQTGV8gvGZ0hPQ+JeuEwlUPuF5MsG4zOdUojxFUFI53sLBLo
 MfWpA8qnVez4tWzjhEdS5Tf1
X-SBRS: 5.1
X-MesageID: 51470801
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:cyqfo6/5Ubvf4NwgX3Vuk+DUI+orL9Y04lQ7vn2YSXRuHPBw8P
 re+8jztCWE7Ar5N0tBpTntAsW9qBDnhPtICOsqTNSftWDd0QPCRuxfBOPZslvd8kbFl9K1u5
 0OT0EHMqyTMWRH
X-IronPort-AV: E=Sophos;i="5.84,356,1620705600"; 
   d="scan'208";a="51470801"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH] xen/domain: Fix label position in domain_teardown()
Date: Fri, 27 Aug 2021 15:01:08 +0100
Message-ID: <20210827140108.6633-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

As explained in the comments, a progress label wants to be before the function
it refers to for the higher level logic to make sense.  As it happens, the
effects are benign because gnttab_mappings is immediately adjacent to teardown
in terms of co-routine exit points.

There is and will always be a corner case with 0.  Help alleviate this
visually (at least slightly) with a BUILD_BUG_ON() to ensure the property
which makes this function do anything useful.

There is also a visual corner case when changing from PROGRESS() to
PROGRESS_VCPU().  The important detail is to check that there is a "return
rc;" logically between each PROGRESS*() marker.

Fixes: b1ee10be5625 ("gnttab: add preemption check to gnttab_release_mappings()")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 xen/common/domain.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/xen/common/domain.c b/xen/common/domain.c
index 14b1341e53c6..0d3385ad5a66 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -419,11 +419,13 @@ static int domain_teardown(struct domain *d)
         };
 
     case PROG_none:
+        BUILD_BUG_ON(PROG_none != 0);
+
+    PROGRESS(gnttab_mappings):
         rc = gnttab_release_mappings(d);
         if ( rc )
             return rc;
 
-    PROGRESS(gnttab_mappings):
         for_each_vcpu ( d, v )
         {
             PROGRESS_VCPU(teardown);
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 14:06:22 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 14:06:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173689.316877 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJcUv-0008KW-Mp; Fri, 27 Aug 2021 14:06:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173689.316877; Fri, 27 Aug 2021 14: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 1mJcUv-0008KP-Jh; Fri, 27 Aug 2021 14:06:21 +0000
Received: by outflank-mailman (input) for mailman id 173689;
 Fri, 27 Aug 2021 14:06:20 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DBy1=NS=apertussolutions.com=dpsmith@srs-us1.protection.inumbo.net>)
 id 1mJcUu-0008KJ-6Z
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 14:06:20 +0000
Received: from sender4-of-o51.zoho.com (unknown [136.143.188.51])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id f1f9c812-073f-11ec-aad0-12813bfff9fa;
 Fri, 27 Aug 2021 14:06:17 +0000 (UTC)
Received: from [10.10.1.24] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1630073171753102.6665651335893;
 Fri, 27 Aug 2021 07:06: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: f1f9c812-073f-11ec-aad0-12813bfff9fa
ARC-Seal: i=1; a=rsa-sha256; t=1630073174; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=XBMRSNZDd8BdrFbw9mxZ61TLWuALX+y19hGFAq/q6NOF1igsP4nfM6QI4EXPPjCiu49g3jaLGwO3ctvomv7nGu56myI1vGFxVqA2aXWtZ4EKDmI5LtfesHlFXdpAgUWiwSEDL5XZKWc4ZuLgRfgt55At4IfzDhbKCMfmWMxJP94=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1630073174; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=SNt/Rw8vZIn8PLP20AjU+WdsrbTgqiOtPHfpD/qjnyw=; 
	b=dOE5s/DF+c+1OzeoFkC2UvZywPv9vZzJC9COaiY/MiqcZ2Hj/2n4LfuIRFSljiSFNbHGMs8bhcFo0HMA5WgW5wYRoT8hPxlqUNGtlrqJQ8spnFBBKWnM46BzLISgSlMV8mi37V0u+Uu9DqBK7KoTYP9x3AX9/8bGtj4XD6v+xh0=
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=1630073174;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=To:Cc:References:From:Subject:Message-ID:Date:MIME-Version:In-Reply-To:Content-Type:Content-Transfer-Encoding;
	bh=SNt/Rw8vZIn8PLP20AjU+WdsrbTgqiOtPHfpD/qjnyw=;
	b=HtDAFtjwsdEj820aWu2AjiiR/j6qNOmBs41Mcl72cToBDHWljVOKCfN4KTd+6LvL
	tQF5zJ6hMwOzf3CaQptJfs7g6G7KVYXIjfl+nHyZNMb3EmpMXp1JgEKphgnT+jO04wm
	55nek69F4rHnIXz1UqebO99xuNOl/rHJlP15cBa8=
To: Jan Beulich <jbeulich@suse.com>
Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov>, xen-devel@lists.xenproject.org
References: <20210805140644.357-1-dpsmith@apertussolutions.com>
 <20210805140644.357-6-dpsmith@apertussolutions.com>
 <2e4471d4-7d0a-757f-1291-de6e93d1d6f6@suse.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: Re: [PATCH v3 5/7] xsm: decouple xsm header inclusion selection
Message-ID: <ba39f827-3fea-faed-9fde-105d03d3b417@apertussolutions.com>
Date: Fri, 27 Aug 2021 10:06:10 -0400
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <2e4471d4-7d0a-757f-1291-de6e93d1d6f6@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

On 8/26/21 4:13 AM, Jan Beulich wrote:
> On 05.08.2021 16:06, Daniel P. Smith wrote:
>> --- /dev/null
>> +++ b/xen/include/xsm/xsm-core.h
>> @@ -0,0 +1,273 @@
>> +/*
>> + *  This file contains the XSM hook definitions for Xen.
>> + *
>> + *  This work is based on the LSM implementation in Linux 2.6.13.4.
>> + *
>> + *  Author:  George Coker, <gscoker@alpha.ncsc.mil>
>> + *
>> + *  Contributors: Michael LeMay, <mdlemay@epoch.ncsc.mil>
>> + *
>> + *  This program is free software; you can redistribute it and/or modify
>> + *  it under the terms of the GNU General Public License version 2,
>> + *  as published by the Free Software Foundation.
>> + */
>> +
>> +#ifndef __XSM_CORE_H__
>> +#define __XSM_CORE_H__
>> +
>> +#include <xen/sched.h>
>> +#include <xen/multiboot.h>
> 
> I was going to ask to invert the order (as we try to arrange #include-s
> alphabetically), but it looks like multiboot.h isn't fit for this.

So my understanding is to leave this as is.

>> +typedef void xsm_op_t;
>> +DEFINE_XEN_GUEST_HANDLE(xsm_op_t);
> 
> Just FTR - I consider this dubious. If void is meant, I don't see why
> a void handle can't be used.

Unless I am misunderstanding what you are calling for, I am afraid this
will trickle further that what intended to be addressed in this patch
set. If disagree and would like to provide me a suggest that stays
bounded, I would gladly incorporate.

>> +/* policy magic number (defined by XSM_MAGIC) */
>> +typedef uint32_t xsm_magic_t;
>> +
>> +#ifdef CONFIG_XSM_FLASK
>> +#define XSM_MAGIC 0xf97cff8c
>> +#else
>> +#define XSM_MAGIC 0x0
>> +#endif
>> +
>> +/* These annotations are used by callers and in dummy.h to document the
>> + * default actions of XSM hooks. They should be compiled out otherwise.
>> + */
> 
> I realize you only move code, but like e.g. the u32 -> uint32_t change
> in context above I'd like to encourage you to also address other style
> issues in the newly introduced file. Here I'm talking about comment
> style, requiring /* to be on its own line.

Ack.

>> +enum xsm_default {
>> +    XSM_HOOK,     /* Guests can normally access the hypercall */
>> +    XSM_DM_PRIV,  /* Device model can perform on its target domain */
>> +    XSM_TARGET,   /* Can perform on self or your target domain */
>> +    XSM_PRIV,     /* Privileged - normally restricted to dom0 */
>> +    XSM_XS_PRIV,  /* Xenstore domain - can do some privileged operations */
>> +    XSM_OTHER     /* Something more complex */
>> +};
>> +typedef enum xsm_default xsm_default_t;
>> +
>> +struct xsm_ops {
>> +    void (*security_domaininfo) (struct domain *d,
> 
> Similarly here (and below) - we don't normally put a blank between
> the closing and opening parentheses in function pointer declarations.
> The majority does so here, but ...

Ack.

>> [...]
>> +    int (*page_offline)(uint32_t cmd);
>> +    int (*hypfs_op)(void);
> 
> ... there are exceptions.
> 
>> [...]
>> +    int (*platform_op) (uint32_t cmd);
>> +
>> +#ifdef CONFIG_X86
>> +    int (*do_mca) (void);
>> +    int (*shadow_control) (struct domain *d, uint32_t op);
>> +    int (*mem_sharing_op) (struct domain *d, struct domain *cd, int op);
>> +    int (*apic) (struct domain *d, int cmd);
>> +    int (*memtype) (uint32_t access);
>> +    int (*machine_memory_map) (void);
>> +    int (*domain_memory_map) (struct domain *d);
>> +#define XSM_MMU_UPDATE_READ      1
>> +#define XSM_MMU_UPDATE_WRITE     2
>> +#define XSM_MMU_NORMAL_UPDATE    4
>> +#define XSM_MMU_MACHPHYS_UPDATE  8
>> +    int (*mmu_update) (struct domain *d, struct domain *t,
>> +                       struct domain *f, uint32_t flags);
>> +    int (*mmuext_op) (struct domain *d, struct domain *f);
>> +    int (*update_va_mapping) (struct domain *d, struct domain *f,
>> +                              l1_pgentry_t pte);
>> +    int (*priv_mapping) (struct domain *d, struct domain *t);
>> +    int (*ioport_permission) (struct domain *d, uint32_t s, uint32_t e,
>> +                              uint8_t allow);
>> +    int (*ioport_mapping) (struct domain *d, uint32_t s, uint32_t e,
>> +                           uint8_t allow);
>> +    int (*pmu_op) (struct domain *d, unsigned int op);
>> +#endif
>> +    int (*dm_op) (struct domain *d);
> 
> To match grouping elsewhere, a blank line above here, ...

Ack.

>> +    int (*xen_version) (uint32_t cmd);
>> +    int (*domain_resource_map) (struct domain *d);
>> +#ifdef CONFIG_ARGO
> 
> ... and here would be nice.

Ack.

>> +    int (*argo_enable) (const struct domain *d);
>> +    int (*argo_register_single_source) (const struct domain *d,
>> +                                        const struct domain *t);
>> +    int (*argo_register_any_source) (const struct domain *d);
>> +    int (*argo_send) (const struct domain *d, const struct domain *t);
>> +#endif
>> +};
>> +
>> +extern void xsm_fixup_ops(struct xsm_ops *ops);
>> +
>> +#ifdef CONFIG_XSM
>> +
>> +#ifdef CONFIG_MULTIBOOT
>> +extern int xsm_multiboot_init(unsigned long *module_map,
>> +                              const multiboot_info_t *mbi);
>> +extern int xsm_multiboot_policy_init(unsigned long *module_map,
>> +                                     const multiboot_info_t *mbi,
>> +                                     void **policy_buffer,
>> +                                     size_t *policy_size);
>> +#endif
>> +
>> +#ifdef CONFIG_HAS_DEVICE_TREE
>> +/*
>> + * Initialize XSM
>> + *
>> + * On success, return 1 if using SILO mode else 0.
>> + */
>> +extern int xsm_dt_init(void);
>> +extern int xsm_dt_policy_init(void **policy_buffer, size_t *policy_size);
>> +extern bool has_xsm_magic(paddr_t);
>> +#endif
>> +
>> +#ifdef CONFIG_XSM_FLASK
>> +extern const struct xsm_ops *flask_init(const void *policy_buffer,
>> +                                        size_t policy_size);
>> +#else
>> +static inline const struct xsm_ops *flask_init(const void *policy_buffer,
>> +                                               size_t policy_size)
>> +{
>> +    return NULL;
>> +}
>> +#endif
>> +
>> +#ifdef CONFIG_XSM_FLASK_POLICY
>> +extern const unsigned char xsm_flask_init_policy[];
>> +extern const unsigned int xsm_flask_init_policy_size;
>> +#endif
> 
> To be honest, I don't think this belongs in any header. This interfaces
> with a generated assembly file. In such a case I would always suggest
> to limit visibility of the symbols as much as possible, i.e. put the
> declarations in the sole file referencing them.

Confirmed only used in xsm_core.c, so will move there.

>> +#ifdef CONFIG_XSM_SILO
>> +extern const struct xsm_ops *silo_init(void);
>> +#else
>> +static const inline struct xsm_ops *silo_init(void)
>> +{
>> +    return NULL;
>> +}
>> +#endif
>> +
>> +#else /* CONFIG_XSM */
>> +
>> +#ifdef CONFIG_MULTIBOOT
>> +static inline int xsm_multiboot_init (unsigned long *module_map,
> 
> Nit: Stray blank ahead of the opening parenthesis.

Ack.

> Looking back there's also the question of "extern" on function
> declarations. In new code I don't think we put the redundant
> storage class specifier there; they're only needed on data
> declarations. I'm inclined to suggest to drop all of them while
> moving the code.
> 
> Preferably with these adjustments
> Acked-by: Jan Beulich <jbeulich@suse.com>

I believe I have pretty much incorporated all your adjustments. Will
include your Acked-by unless you feel I have not.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 14:07:24 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 14:07:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173694.316887 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJcVu-0000UZ-0C; Fri, 27 Aug 2021 14:07:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173694.316887; Fri, 27 Aug 2021 14: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 1mJcVt-0000UQ-TL; Fri, 27 Aug 2021 14:07:21 +0000
Received: by outflank-mailman (input) for mailman id 173694;
 Fri, 27 Aug 2021 14:07:20 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jVCk=NS=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJcVs-0000UI-CB
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 14:07:20 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id aa1d86da-a67f-49f1-9b92-a3199d66a303;
 Fri, 27 Aug 2021 14:07:19 +0000 (UTC)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2050.outbound.protection.outlook.com [104.47.14.50]) (Using
 TLS) by relay.mimecast.com with ESMTP id de-mta-8-bDCar7AMPX6xUtyb5ZzdfQ-1;
 Fri, 27 Aug 2021 16:07:17 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB7152.eurprd04.prod.outlook.com (2603:10a6:800:12b::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.20; Fri, 27 Aug
 2021 14:07:15 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.023; Fri, 27 Aug 2021
 14:07:15 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P189CA0053.EURP189.PROD.OUTLOOK.COM (2603:10a6:102:53::28) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.18 via Frontend Transport; Fri, 27 Aug 2021 14: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>
X-Inumbo-ID: aa1d86da-a67f-49f1-9b92-a3199d66a303
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630073238;
	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=QRNaHIMLj8ZoZe6ks1SpqQzK8fJRd90l60WqfHxFnOc=;
	b=kWovJD1TXc7CVvsXsth1P22sVUE1AI1ej2GKVZNkLShVxwqKNv/IerIALTaSL2Ke8Ni+e6
	uU8H3JtJz0Xadj5b1ktRFmhlEz/3pKEH1svEi2vOLhmuApGfJ9PpPKgp4EyLaeUtF89C2S
	xYIiFUrEBBkVqRNQ1ogqZnqN1d9CuSg=
X-MC-Unique: bDCar7AMPX6xUtyb5ZzdfQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hJM5tNEyE29Vrl9EPfQn7lSNnIDIBgyRU7Rh8UK8mTL0cJnj6r0UHR9i01GenwOoEIFonuuBaeJuWHr4yz5Nu5o3ETz+/GCZpf31iQMuMOexDVD5erk7jkNHmsSYONCKK9jRIYBZy38KrGd4srYYjdx5YZn9gMNnt1MuRLruNK/yXdxjtGezI7TjIJZMwqLOgyUg5Uv+LuYxxHuLsbMq6ZCD0NYXsu/zLor8qi6S2Gkw7F1yb2gbnSPRU+k7UIGWsgXGW6BI3okAH7kaA6WJ+gTvyz6kwBPnsX0ETUPqTFUlzpbYhxLj9wFREmUh2YQEFmTd5ue3VTAtWquoif5DQw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QRNaHIMLj8ZoZe6ks1SpqQzK8fJRd90l60WqfHxFnOc=;
 b=O+eUGHegQ8Y/l/2+LJKkzt1fEgW3+uRRowiEQHEbNvTi2syJiwhmAQyb3GuMck42VrXvn/rqmJE2hdOAL7SS5Lq9z6qH6gqF0kGpYH78V4KxwxKLSaVHEd/cYXRSsI00K1JCwSlHp2PwfPlTk8Ely5/IvOdFy4P6WqIX2iZw/9lNUykE6snFlZ2suWzO1wKxNkytI0R9NxARyIzPpu2BBJOLIiP5avKTS+f25FvLb1NQjGkFeUQy+H9up87ZHchVVRQwQzG0K5c4FVmRLz9dkDwfTZUHlqe/GA4YVrsIdXN7NZx+SXIg0b1eVRBCywFFmvII+11x+OGYv4QmpcjRhw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH] xen/domain: Fix label position in domain_teardown()
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: <20210827140108.6633-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <71fe27f0-7aec-03ec-1628-531c13f92357@suse.com>
Date: Fri, 27 Aug 2021 16:07:12 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210827140108.6633-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P189CA0053.EURP189.PROD.OUTLOOK.COM
 (2603:10a6:102:53::28) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4166ddd3-bc71-4cb8-120a-08d96963f935
X-MS-TrafficTypeDiagnostic: VI1PR04MB7152:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB71521E05769DBD5B2E54A790B3C89@VI1PR04MB7152.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xRtExfUkSAAffS7gd6eZEgO34FkugnkM5D2iBct9Nt9c8gm5XKVFmI/zc5vulTiaHhFKYWqjgjwUyP1KSxM0525fFNW3vyzhUxhColn7qM8GKNmFKtRKze1oVgUJKgz3wML1kIfC5eadnhfhRIZ+g0A//FY71WbHkzaOIqsjVW7ARcQlf3B/R4WK3YjQ5cFdbL03T/tJYa2wwtWEaBfVAfRAI90UXiJdTHwdevME6LVUmiQT84sW4eqiEvcBbaJNcFRT2hamT7y7y3lafPDPERUiVvhpkvF6n9OugxUv2KOaK0k9fsUG8JRECZzxJVlpqfWLRKmI+95dBo5/rEhF0CXHV2LW9OK8dDn3a5/rOrXPJ9rIHfVy+Rn7dfQhYL7XKr+ZDyLMPdMSuQa7uT4OqQKky0ZbID7JI7wbYTQsU39U0QDbZt72nZyGdz0JjoekjhOo5eSzrfCpTVwkwtS3ekHUPj7N651ML57iq8+rrFwh2TDqkGLBy/Adaq5O3NMWBno5eicOhcr022T2PAVw45ePupt1G0x34XBEo2U9X+Rq3NZTtc0pmxS5iiOCEh8m64GxZS9OqYmrKlvbfQNDhJYsXFwEZNqS0NOGz6ETe59z6+O23LXGvFWujIdAibn9L8qSRKfRZgHOKQpetdJzxBlqBPvhFGJIW56uzI8tjr0vk9VuHNaVixyplgvCiVbESTjjIe4B651JtN90USeEfnKuAbaOMh4khLlzcck1810=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(39860400002)(396003)(366004)(346002)(376002)(4326008)(6486002)(26005)(8936002)(5660300002)(31686004)(86362001)(2616005)(956004)(31696002)(54906003)(8676002)(2906002)(6916009)(38100700002)(53546011)(66476007)(66946007)(66556008)(16576012)(186003)(316002)(36756003)(83380400001)(478600001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?M0JlSEYwWE9uQWt3ZmY2eXZSK1ZpTWJqSzdXQUNmSGMrazJLbnZod2tOK3BY?=
 =?utf-8?B?cUtMc3dKSXV4NWtibElxemNkZXNXcHh3dFhQbTFZUkFMSVdySklxTGVuYmFI?=
 =?utf-8?B?ZUdmeDMrd2g5bnpZSXR5QzdhYmQxNWFLZ2Fic0Fybk95czhkNkZRcWtqUGtJ?=
 =?utf-8?B?RVRZTW4zWmV0Q1E3TVhWbzVjQ0JKaVAxZDRWWk44aXM5ck1nOGFqSndodDc3?=
 =?utf-8?B?a1F5WnRiNTFGbTE1TGJjeDQ1eW8xOTJ4SEI5bmtSQkJjdGpXOUQwMGVwbkFp?=
 =?utf-8?B?S3J1K28yNkFWODRobEZlYW4rK0JQamJub1pFRlVLcmFrVkNaV1BjQ0R4c2Np?=
 =?utf-8?B?RUpENHRiZ0pUZVRLaVZxZWUxUXVDdGFPT3lEaytiZTVTVUc4WVhYRFN1eDlu?=
 =?utf-8?B?K2JqUmVvbFRRUUZBcHZUZmtMWnBXdmc2QjdFQ2lsNVFKU1RvTnp3VFdXVlh0?=
 =?utf-8?B?MmtzTVJ3K1JJcXhLaW53VE56ZDhHdFNRMzBEWTVMdEVqM21zQlJNaHJmcGxN?=
 =?utf-8?B?VzRkQ3d4eHRVbDZucFhQMVFhQjR0UmtQUEJyVXdKOFNEczdoSURtWVNaL2JN?=
 =?utf-8?B?cm5BK1BQUThEUEhjR0s0MnVocnNiVTJRRFk5RVplYjlOekhTY3hreFdXOEFt?=
 =?utf-8?B?ZnpodERySFU0RW1nb2ZQZGJ1NGJpS2xhK0tMci9ia2gxcVN3L0VPUzMxdjRv?=
 =?utf-8?B?Z3dFZXRIVFNlckdrZmdjcGp3SGlySWF4UFNZRXJNcUw1bnNGNlR0eGRlU1FS?=
 =?utf-8?B?UUdWZHgwakdZWEkwMTVqSHkrZnQ0b0x2dUliSTA1blY2dkJsdEhoOVdJMnAr?=
 =?utf-8?B?aGhPSmdRbHJ0bWJHNzN0aFF3OFlHMTFHR2VYNTQzdElyY0NGemFJdCtwOXc3?=
 =?utf-8?B?WThsNXdCVENOT1Jvc0hJWXhPQkJsT2cyTkVVb3RpZjlvS3c4UGFmSDdFNERF?=
 =?utf-8?B?OFpTeGNSQndwSUlkQ283aW5Kb3ZjVkgzaG1kdTNST2N1UXo2LzcxMGxSVzdm?=
 =?utf-8?B?MlpJbEJGb3lid0FiL0FnQzJNYmpHOGRXN0pqTUhOZ0ROMGZaNlg0Z3JkSnJY?=
 =?utf-8?B?UmlaRnVHRDFpRnlwU0VyZmhxNmFnMTBjY0xCM1dVc0tBdEdlMVgvWjJLdjZS?=
 =?utf-8?B?Y2l6NXF2NllJWUlxTitzY2owcWRZT2lIcmNmeXVyL0FENWxzVUdQcnBCc3ZM?=
 =?utf-8?B?TFppNGRVNDk0bGQ2KzIrcVBhTlJyUWx4MGorSEhUU1YzQXNIQk1vRHNHMlpr?=
 =?utf-8?B?NnQ1aWU1Z1dmTTd1bTRRK2JFL3hsRit0bTM1VEphaytpd3c3UHNsUCtRditL?=
 =?utf-8?B?WjNSWXdBLzB3ZXVIaTNDRUs2eFlGbDIzL3k1Q3NnbDRYTzg3b0ozU0NRNDBQ?=
 =?utf-8?B?bkRuT0xHMllIQ1JOUXdQVGZaYjRlN2JNdlFxVFFJbERpWVB3TkVhR1JtOFBK?=
 =?utf-8?B?bk5wM1J4SGFneEZqRmdDd2ZYYlFXY2ZmR1FHUHJxa2xtUllSR0ZYUjFVYnk0?=
 =?utf-8?B?TWZkZlFBMkRaTVlBbTBUYXhPQnd0ZEd6T2dRMHlmRmRvbHQvYmE0MjduMzF0?=
 =?utf-8?B?d1lVWWl6Z0p3TSszQ2hjMHRQTjRlSTZtc0Z0R3dLbFRJR2FFbDlVbXZaQjQ2?=
 =?utf-8?B?Q3E2WmNWVGs2eDB2bXJwcFpLT3p2ZEJGNkZhamY4SlQxTHE0aHJqTnpUazVH?=
 =?utf-8?B?SzgvckVmcTVUN1JsZUFETXZwUC93dG9rTHJkVHFxeUQyZ0hkSmVyeXBwTC81?=
 =?utf-8?Q?jRGQPOT8tREyDGFU4oDkSfVkGiu84KUgQMa3M0y?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4166ddd3-bc71-4cb8-120a-08d96963f935
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2021 14:07:15.4318
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: BrPQI25jg0ztR6GN1rNsGIukxRtDqWuVJtMWAbIHqCk/Byi9gTVzkC0WoZQCCDngNfj+9yPoK6t9vHo7z/gaVA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7152

On 27.08.2021 16:01, Andrew Cooper wrote:
> As explained in the comments, a progress label wants to be before the function
> it refers to for the higher level logic to make sense.  As it happens, the
> effects are benign because gnttab_mappings is immediately adjacent to teardown
> in terms of co-routine exit points.
> 
> There is and will always be a corner case with 0.  Help alleviate this
> visually (at least slightly) with a BUILD_BUG_ON() to ensure the property
> which makes this function do anything useful.
> 
> There is also a visual corner case when changing from PROGRESS() to
> PROGRESS_VCPU().  The important detail is to check that there is a "return
> rc;" logically between each PROGRESS*() marker.
> 
> Fixes: b1ee10be5625 ("gnttab: add preemption check to gnttab_release_mappings()")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>

Despite the Fixes: tag I don't really view this as requiring backport.
Then again it would need to go to 4.15 only. Will need to make up my
mind ...

Jan



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 14:09:00 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 14:09:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173700.316899 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJcXT-00017J-Bt; Fri, 27 Aug 2021 14:08:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173700.316899; Fri, 27 Aug 2021 14:08:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJcXT-00017C-8T; Fri, 27 Aug 2021 14:08:59 +0000
Received: by outflank-mailman (input) for mailman id 173700;
 Fri, 27 Aug 2021 14:08:58 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mJcXS-000176-HD
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 14:08:58 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mJcXR-0006qF-Ic; Fri, 27 Aug 2021 14:08:57 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mJcXR-0000ew-C0; Fri, 27 Aug 2021 14:08:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=gECZRGFWKARyxiPcs3AOlwn2PPGXg523rs5EIcJ9ehE=; b=nT8lSnxAeZ25H6EZKNA+ox/V5d
	IEJUY0PNKrAuWGT5khuW8Sg7czUAljHflnlmwc0M48yS73JOPZHtJqGwfC6blSrf3VquwvxYT9iNH
	abTqHXhzUaNZhBA/4YefVHTfsdVKEsUFWDZkp/AtkAZTHTpdno16JyuGIhxtY8HpB+Vk=;
Subject: Re: [XEN RFC PATCH 32/40] xen/x86: make acpi_scan_nodes to be neutral
To: Wei Chen <wei.chen@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, jbeulich@suse.com
Cc: Bertrand.Marquis@arm.com
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-33-wei.chen@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <f830422a-79e3-b9d7-138c-3db468f8376b@xen.org>
Date: Fri, 27 Aug 2021 15:08:52 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210811102423.28908-33-wei.chen@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Wei,

On 11/08/2021 11:24, Wei Chen wrote:
> The code in acpi_scan_nodes can be reused for device tree based
> NUMA. So we rename acpi_scan_nodes to numa_scan_nodes for a neutral
> function name. As acpi_numa variable is available in ACPU based NUMA
> system only, we use CONFIG_ACPI_NUMA to protect it.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>   xen/arch/x86/srat.c        | 4 +++-
>   xen/common/numa.c          | 2 +-
>   xen/include/asm-x86/acpi.h | 2 +-
>   3 files changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/xen/arch/x86/srat.c b/xen/arch/x86/srat.c
> index dcebc7adec..3d4d90a622 100644
> --- a/xen/arch/x86/srat.c
> +++ b/xen/arch/x86/srat.c
> @@ -362,7 +362,7 @@ void __init srat_parse_regions(u64 addr)
>   }
>   
>   /* Use the information discovered above to actually set up the nodes. */
> -int __init acpi_scan_nodes(u64 start, u64 end)
> +int __init numa_scan_nodes(u64 start, u64 end)
>   {
>   	int i;
>   	nodemask_t all_nodes_parsed;
> @@ -371,8 +371,10 @@ int __init acpi_scan_nodes(u64 start, u64 end)
>   	for (i = 0; i < MAX_NUMNODES; i++)
>   		cutoff_node(i, start, end);
>   
> +#ifdef CONFIG_ACPI_NUMA
>   	if (acpi_numa <= 0)
>   		return -1;
> +#endif

Looking at the follow-up patches, I find a bit odd that there is a check 
for ACPI but there is none added for DT. Can you explain why?

However, I think this check is going to impair the work to support both 
ACPI and DT on Arm because acpi_numa would end up to be 0 so you would 
bail out here.

With that in mind, I think this check needs to either go away or replace 
by something there is firmware agnostic.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 14:11:42 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 14:11:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173705.316910 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJca4-0002k2-Pj; Fri, 27 Aug 2021 14:11:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173705.316910; Fri, 27 Aug 2021 14:11:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJca4-0002jv-MH; Fri, 27 Aug 2021 14:11:40 +0000
Received: by outflank-mailman (input) for mailman id 173705;
 Fri, 27 Aug 2021 14:11:39 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=B4Ba=NS=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mJca3-0002jn-AX
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 14:11:39 +0000
Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id b1503d5e-0740-11ec-aad0-12813bfff9fa;
 Fri, 27 Aug 2021 14:11: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: b1503d5e-0740-11ec-aad0-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1630073498;
  h=subject:to:cc:references:from:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=WEdWqpK8C+AkptAg9G3Bnp0MzbqZWft+tXejkmoKH0M=;
  b=Py8paMky6gpg/f9Q1SJtjtAl/vYiXSFQFEQbhzNx4nvsmRaiwtblenr5
   D073OoYFD9ErCksBoRxQKXxfPnalQNQKiChe73stzSS5534qsxYbO6H7l
   ZTNHWNGx6KRfDMIDaFK+fX1/vN2dF1s9PFTrF52gU6KlJU+UZlCfmF+u7
   Y=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: CuadnjwJkXRDPpK8CHPAE7rvFF9TxyeINjdf83Pogkv/T43iUoZaLjfiD8cRx4lxayiw4VdT9I
 hdBcplPe3Oc3oLjDaUIRxn1Zryux7FiWVexEJPUDoQnvHUQNK2/PvZqze4AlPynx7L5Or3Z5iM
 UTQvbJhmaHGPQ4yrt18u0xxHxZiZP8LomV9A0ZgU+b8mUFeOWKR+ulaWE+ihned8UvoBQ60aBh
 BzBWEAcUye6xtpiS708fs7dqFERpghe5K8XdD2ga7WPAjUCJS3wQ65ZGkfpGGxBERXWXWur+NE
 79s4AsR3s3YhhSwOAq+x6z2d
X-SBRS: 5.1
X-MesageID: 51443229
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:IAh31qF1er54Mc5RpLqEEseALOsnbusQ8zAXPiBKJCC9vPb5qy
 nOpoV+6faQslwssR4b9uxoVJPvfZq+z+8R3WByB8bAYOCOggLBQL2KhbGI/9SKIVydygcy78
 Zdm6gVMqyMMbB55/yKnDVRxbwbsaa6GKPDv5ah8590JzsaDJ2Jd21Ce32m+ksdfnghObMJUK
 Cyy+BgvDSadXEefq2AdwM4t7iqnayzqHr+CyR2fyIa1A==
X-IronPort-AV: E=Sophos;i="5.84,356,1620705600"; 
   d="scan'208";a="51443229"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bYGba16iAjUtSDToVfjZVAINPnsBeYZwyacVu9nirTVKNobHoQ+ifOeE1U/n1QX7a8yo3DKLNv3jF2vfGiM364akdrfO9zZBU7BC4hiyqEHse/JovEXn2CtqyptgMxVnF/vp7Cr6tW5iD54ZShuAcoqTKSy5s3MYPN+cJBcuIWgcYrJsh2Sq2th0bQwLt7EqMCPg5L8VqFdUJN7Pz/GQNBdewyih3GefrFUuGksH6IbW5i2SUysoFEZWeVkS6+FcXWSi3ieQboxo1/aQ3gTNcxdnW6TCJVcjqlzkc7kYygIKLzZJfkW1Hll5bgGSe0cKFK1Hz3uGF6mThYWyZqocQQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1Mqrkah/0CpO1s5pop6urhDZdZNvHIy8hXn4h4jrE+4=;
 b=SJD6O5tlUcPjIbyG5C2lBrhVuqvpyz8VrHIImlXFBVYnPqzz5LG+Hh8QWKPKL6EK91dfCzZi5t/iebXVuvRNU+lXbCDGMjIAiJhns2Bqt+K6FLUTlHGLzPsCQ3vXB5jidZeAofFurfeqh58zQj6p6/DTdB+sW8WLFff5tURlA8QEz5Gr+N1JeJuezO+mirVoIuUdUynPGABrz+uLWQdO4LehK04NOqyZmOtqAtiVTJvNaaugN2t3jmTLtko9wD5+InmlEbp9M5W15djsBmewKdJWkewybBiI8D69yJH2lrKIu4ZAEJMXy1FyO2XArGpwYXv80E0iv0uBpGVe60BYRg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1Mqrkah/0CpO1s5pop6urhDZdZNvHIy8hXn4h4jrE+4=;
 b=I/S5aVN+qJlfMalyLn5zlCamXot2DICnA8SHBlLnqjVSWiJ2+8sPETvpm9oxCzsGIPPKSDaF3MDETtjqek1MlrJKYvDQ1T+m/toxB8Ncz+3eZCS9mKcS0TYxzKHBP0AA9PnT1Z7qxjD6zfq+leUzW4luuE4gEzPHlKdUcoDlwHI=
Subject: Re: [PATCH] xen/domain: Fix label position in domain_teardown()
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: <20210827140108.6633-1-andrew.cooper3@citrix.com>
 <71fe27f0-7aec-03ec-1628-531c13f92357@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Message-ID: <c6251c5e-c118-e69d-fd6c-6a369141ce3f@citrix.com>
Date: Fri, 27 Aug 2021 15:11:26 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <71fe27f0-7aec-03ec-1628-531c13f92357@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Content-Language: en-GB
X-ClientProxiedBy: LO2P265CA0186.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:a::30) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 8fe1d8f5-23a1-4c1e-c5fd-08d969649273
X-MS-TrafficTypeDiagnostic: BYAPR03MB4679:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <BYAPR03MB467996D435341EC015F62A18BAC89@BYAPR03MB4679.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: K6egGOoCwx03VKd/4LxlMDq1lvF0pKgqCPpSmaVd2k94ygI/giSo2db2OIHOEQAFll3Y6419y2JOrPvZCZDHFNGJbsUTepJbdEiI+SNF3OV5xYmhru2JyC38DH5EjW5wfd87AT1DDo8shjyh3YjRPkb1Eq7yRfT8JVcOjcPw7D0nVtMh5nVNGvQLzNJsDLiyZHQOMLiRz76B2YCVOKoYaV8py8xbSQ/kBONy2Z1EcrxbBmIxsY8tro5Vc180Dq+5lQc9jSg197d6wIZoAhR9VAecZsbyeeNxI2LTh8hNMOIEfQmq6dq6wA+lGMx1WtIHHwYgMx8Vzs1Duvy5VkqF7UssXCK01aML7xGcwSD6ff3DqKzVnGJovRupN5hbdxkoHURvQV+LWHvtJkQLvevuaQPEpfLxCMUYQhwXia+Vk/SqNa2bnBCsXy4Q/vYzm4K2VUl4+XgJ1U3J/mBSYmbGQWhlBesIh+BTv3mo9qeCmg8Qs+JU+tBAoh7tKrPhOHHTXVjOVlDRKh7ocxP8YhMkCjLttMMGsuPpgd/mD8woeMSkJY8MzeVPMbxLPahCUZ+s/kRphHqf79famjz1zaFExIr0M6auJ2+XTPHeJcpDBhIFKQ+phn/8iZOGypfIyrfdJ6IAnjUn8R3OsqZlPVEMJobsT1jRGPBDHUzkiJvgKVRNPyeZBwJ+aSjKFo+Lk90kLeOV/KprPRmbEGtO5X/qXsvO3FN8/+3IQLBJO0X+a9k=
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:(4636009)(39860400002)(396003)(366004)(346002)(136003)(376002)(6666004)(31696002)(6486002)(83380400001)(31686004)(36756003)(4326008)(86362001)(186003)(26005)(8676002)(6916009)(2906002)(38100700002)(8936002)(478600001)(53546011)(66556008)(956004)(2616005)(55236004)(5660300002)(66946007)(54906003)(316002)(66476007)(16576012)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Y3R1QThxL014Ry9rMzhUYzhNdXllaE1KejJrTXpYZW9ZT0tDRXpFQW9aVUpU?=
 =?utf-8?B?a0dZc1JlSnpKcy95UGp2Z2ZFRVY0STJwaU1KT1RFU0lMZi8rS2N6bnBaSWhp?=
 =?utf-8?B?L1BUdGI4cHRsbWg2dXB1WUJSZmtVK3J4NnB1QnpPcFZMeEovV29qdWtMdThV?=
 =?utf-8?B?YXhiajJwZnNDUEJWUm12V014Y0o4Q0JWa1dmeWN6dVlLOHRrUUNTVytGalU2?=
 =?utf-8?B?VXNnQU5OSjkzc2dUMXpQbDRnc0ZqbENQOTdmamVPMmVDYUk3Zkk4c2FOT3FL?=
 =?utf-8?B?SFFwbHhmaVNCdGFnQ2JzVHpDc1Z5cUNaTWErbzM2TVpKUW8vQ3ZlL3R3WDRR?=
 =?utf-8?B?SGVnbFo1aXh1TVlSbGhoWHRpOVYzdTlMbFlYbFNKRS9kYTdGQytxbWVWVjQz?=
 =?utf-8?B?bktGa0x3U0ZHOUdJRno5WkpwcFQ2Vk5xU1Y4TkpxUDhWMFhFS0puRDVSOWJt?=
 =?utf-8?B?RlU3NEZacEtZYjRhQyt4RHNCZWVQUDlVU0w0bmwyYWhiTHZhbUh3T0U0cnlx?=
 =?utf-8?B?N0RKQkEvSDhsZjhKaldVVUtkSDlGL1g4bXJuVjYyUXNoY25KNkE0MjFIN0dU?=
 =?utf-8?B?OUljekd6c0dIdExEa1NLUFhWWGg4ZFJxZFdNMzF4NUFWNUZlTW84SzZtZmxt?=
 =?utf-8?B?eDJLeXhmUjRrK2JTeDZOY2V3V1BnOHFSaXovQ0pMSFUySVUwaEkvSmRvMjlO?=
 =?utf-8?B?S0JnMytYdFQvK1pLbEY2VDJ2ZlEzN0RmVDNkWnpsMlBqWUV6NVArbzdGRXUy?=
 =?utf-8?B?U3RWcGpWNlZFQmNGVHdSODljYUdCUUtoaHl2cjQ5UXlYQzNzcnhBVjQ2NGRC?=
 =?utf-8?B?ZGZDQjFyVjVDbVZvVUJZMzdVdHpMbHlHaG1MYkxuU0VIcllMZHNQV1Uwb2pL?=
 =?utf-8?B?Zjd0RkwvdTFJcFBaOEY0S21IWllOSHBNcm50MjIrUE5Ib1VVeGkxK1JvTmEz?=
 =?utf-8?B?WWkydTQyTW5QdHpVa29lc1FQL0haREF0VmpZTDVteE1sVHVTZ3hpdjRVUTV2?=
 =?utf-8?B?b0thaUQ1ZlNoWVpYZjRNYUVDVkZTZno4TVdrSFFoQytUaHBVV092anFEb1V6?=
 =?utf-8?B?WUQzYldVYW5VMndQLzlSTXhkSFJ4QTIrMUliYkVhSDhGMUQ3YlJWd2ZuVTlL?=
 =?utf-8?B?MU92Z1doajlxUHR1M25YdWxJSXZ1cTZJN25EdlRDbG5DakpDa2UxY2pUU3V1?=
 =?utf-8?B?RUlUSEZ5c3NaRThpZjBkaU41WlhsSlBPZWpUNVZ0Y1RBSjNwbjRSVjdWRVlq?=
 =?utf-8?B?UmFhRXV0ZnIzT202bndXU0ZtRHFLUC9EU3lqMVpGWmE5MmJOajJhZEhISVFu?=
 =?utf-8?B?RElTNTZhNGJFWE5QTXBRVjJQalNRblBPTWI2YkVFWWF5TmxwcXp6ZUJtQjB6?=
 =?utf-8?B?cTlVOGk3aVVIdHYxdFlKYWJrWlhiZXJNUEFDekMzdmF4dzR6T0tJSW1XWlN6?=
 =?utf-8?B?RitQeWt0NFQ2ekYzUmlYUFVoTjNMMkd6QVFGZ2kyZUpFenNTa01uR1dWdGJ6?=
 =?utf-8?B?ZFN1U3k0d3AvaWJyYUlBbUwxTzJhazFHSUQ2WmVMdmpEbE8wdlk0L2t1bGV2?=
 =?utf-8?B?TFlYMnFLNWxRRENCS3NuZTUwL0dJL01wcUliOEJhWVBuNkxQS2ZxeVdiWXdI?=
 =?utf-8?B?SnduRlVyRnIzclRhVWdKMlV5WURsM1JmUWVWMHZmNFFZTEhnY2VMRHg2bnkz?=
 =?utf-8?B?T29ESmQzY3RBVHlqTnlMMzgrUVdOdjRGcEhxRThqU0EvU0o0UG91aVhvWU0v?=
 =?utf-8?Q?WeMmFuwEJSl+h5ZslL2ufQ7F8RrwcNntev76IX7?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 8fe1d8f5-23a1-4c1e-c5fd-08d969649273
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2021 14:11:32.5432
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ouYR/Oy48X69f/7FJJICE9fl+HaxjcSUO9s+H2MHwl79FMeSVFh56tx0cyVNmdkNWlTo94r1YhzeOlbQHBmT570m/7O7LhnhV3uU5wYhrIY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB4679
X-OriginatorOrg: citrix.com

On 27/08/2021 15:07, Jan Beulich wrote:
> On 27.08.2021 16:01, Andrew Cooper wrote:
>> As explained in the comments, a progress label wants to be before the function
>> it refers to for the higher level logic to make sense.  As it happens, the
>> effects are benign because gnttab_mappings is immediately adjacent to teardown
>> in terms of co-routine exit points.
>>
>> There is and will always be a corner case with 0.  Help alleviate this
>> visually (at least slightly) with a BUILD_BUG_ON() to ensure the property
>> which makes this function do anything useful.
>>
>> There is also a visual corner case when changing from PROGRESS() to
>> PROGRESS_VCPU().  The important detail is to check that there is a "return
>> rc;" logically between each PROGRESS*() marker.
>>
>> Fixes: b1ee10be5625 ("gnttab: add preemption check to gnttab_release_mappings()")
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Acked-by: Jan Beulich <jbeulich@suse.com>

Thanks.

>
> Despite the Fixes: tag I don't really view this as requiring backport.
> Then again it would need to go to 4.15 only. Will need to make up my
> mind ...

I'd prefer you to backport it.  Nothing good will come of having this
difference between 4.15 and 4.16.

Amongst other things, I'm not willing to bet we've found all the long
running loops during teardown.  After all, the gnttab one was staring me
in the face for years doing domain creation/destruction cleanup, before
I actually spotted it.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 14:14:14 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 14:14:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173712.316920 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJccU-0003Rs-Av; Fri, 27 Aug 2021 14:14:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173712.316920; Fri, 27 Aug 2021 14:14:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJccU-0003Rl-80; Fri, 27 Aug 2021 14:14:10 +0000
Received: by outflank-mailman (input) for mailman id 173712;
 Fri, 27 Aug 2021 14:14: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 1mJccS-0003Rc-GZ
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 14:14: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 1mJccR-0006wM-J4; Fri, 27 Aug 2021 14:14:07 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mJccR-0001ZH-CV; Fri, 27 Aug 2021 14:14: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:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=u0c4ICl/OPOQor78GnqaFIdTriEi9joPV9dRSKE/5RI=; b=xn++tygcWRZ/YEeEMu7BGAUKpN
	LYvnIVzJadzIJEd9cqHI2PcmCvzl+ioKqwW3ol+t/gj2r4KCgi9qnrtLcy1wCvIrYiy0Kv5QNr+lM
	g8tJJUT5XqDwG/bkaedTAOyWJu0O2OrmRBS+fE29aYA51lXUjuSk6M4be/rthPdC+uqI=;
Subject: Re: [XEN RFC PATCH 34/40] xen: move numa_scan_nodes from x86 to
 common
To: Wei Chen <wei.chen@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, jbeulich@suse.com
Cc: Bertrand.Marquis@arm.com
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-35-wei.chen@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <b58424cc-cce9-58d5-5f22-6d8234fa38ad@xen.org>
Date: Fri, 27 Aug 2021 15:14:05 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210811102423.28908-35-wei.chen@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Wei,

On 11/08/2021 11:24, Wei Chen wrote:
> diff --git a/xen/include/asm-x86/acpi.h b/xen/include/asm-x86/acpi.h
> index 33b71dfb3b..2140461ff3 100644
> --- a/xen/include/asm-x86/acpi.h
> +++ b/xen/include/asm-x86/acpi.h
> @@ -101,9 +101,6 @@ extern unsigned long acpi_wakeup_address;
>   
>   #define ARCH_HAS_POWER_INIT	1
>   
> -extern s8 acpi_numa;
> -extern int numa_scan_nodes(u64 start, u64 end);
> -
>   extern struct acpi_sleep_info acpi_sinfo;
>   #define acpi_video_flags bootsym(video_flags)
>   struct xenpf_enter_acpi_sleep;
> diff --git a/xen/include/xen/numa.h b/xen/include/xen/numa.h
> index 490381bd13..b9b5d1ad88 100644
> --- a/xen/include/xen/numa.h
> +++ b/xen/include/xen/numa.h
> @@ -81,8 +81,10 @@ extern void bad_srat(void);
>   extern void numa_init_array(void);
>   extern void numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn);
>   extern void numa_set_node(int cpu, nodeid_t node);
> +extern int numa_scan_nodes(u64 start, u64 end);

AFAICT, by the end of the series, the function is only called by the 
common code. So this should be static.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 14:16:13 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 14:16:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173717.316932 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJceS-00043I-OK; Fri, 27 Aug 2021 14:16:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173717.316932; Fri, 27 Aug 2021 14:16:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJceS-000438-Km; Fri, 27 Aug 2021 14:16:12 +0000
Received: by outflank-mailman (input) for mailman id 173717;
 Fri, 27 Aug 2021 14:16:10 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DBy1=NS=apertussolutions.com=dpsmith@srs-us1.protection.inumbo.net>)
 id 1mJceQ-000430-Rj
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 14:16:10 +0000
Received: from sender4-of-o51.zoho.com (unknown [136.143.188.51])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 52cb60a1-0741-11ec-aad0-12813bfff9fa;
 Fri, 27 Aug 2021 14:16:10 +0000 (UTC)
Received: from [10.10.1.24] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1630073761781790.1600573831129;
 Fri, 27 Aug 2021 07:16: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: 52cb60a1-0741-11ec-aad0-12813bfff9fa
ARC-Seal: i=1; a=rsa-sha256; t=1630073762; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=UygP6y+FA5u65E3633bEhPnB3eDTQ/Si8COC6nvQQJ/YneqhCeHcLUXuvlUYEOwzqxeOlLwZ43JRKUyvXCTz3J6fXxTaCttZAJR0VsusHxQVfiS8/8c1zNS9BesFJWqMxrCSaZ5wyDPcgP4w878jFp4+RbHW5iTxuae3cjE3sCM=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1630073762; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=+EKNePXZlVUo6I7ze8oWmaX4VOQeBfDdkoZWb/2vp1s=; 
	b=FsXfUza7ACrPZUGU//oW0RJVgxSQtMGvB8/GfVciAbq4Id/Iavhf96CJLv7D/6u7lc9pa/AoqH2UyP7c+lsIC9TzaAkUUrg9hxOwz5t0lS6LGkR2DazqQnMf2RjlCnTQl3dVjDwAzNhfsqIGomyKE+CHOivn4NJ2/jgK12xp7fk=
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=1630073762;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Subject:To:Cc:References:From:Message-ID:Date:MIME-Version:In-Reply-To:Content-Type:Content-Transfer-Encoding;
	bh=+EKNePXZlVUo6I7ze8oWmaX4VOQeBfDdkoZWb/2vp1s=;
	b=gFT3ovitrT0MxQhECnDD0xb9ZaYlOlfxuZnnInCedThS91zsDFYOt7H1fsy4+WWe
	O3qC54IUkk4YG/zCI659CNcuh0ZCVrdwMeSjYwVCx7BrzgZX1eMWNUmLLRR+g0Zdx6v
	PcXsuIbv7KqVqh1sROAFQFe6OoPXKzF6CBVEYv7Y=
Subject: Re: [PATCH v3 6/7] xsm: drop generic event channel labeling exclusion
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <20210805140644.357-1-dpsmith@apertussolutions.com>
 <20210805140644.357-7-dpsmith@apertussolutions.com>
 <dc2fbefb-93fb-4574-ef7b-23a9c9a248fe@suse.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Message-ID: <bed0ac0e-b5ba-d8e4-3869-3db493b3c890@apertussolutions.com>
Date: Fri, 27 Aug 2021 10:16:00 -0400
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <dc2fbefb-93fb-4574-ef7b-23a9c9a248fe@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 8/25/21 11:44 AM, Jan Beulich wrote:
> On 05.08.2021 16:06, Daniel P. Smith wrote:
>> The internal define flag is not used by any XSM module, removing the #ifdef
>> leaving the generic event channel labeling as always present.
> 
> With this description ...
> 
>> --- a/xen/include/xen/sched.h
>> +++ b/xen/include/xen/sched.h
>> @@ -120,15 +120,12 @@ struct evtchn
>>      unsigned short notify_vcpu_id; /* VCPU for local delivery notification */
>>      uint32_t fifo_lastq;           /* Data for identifying last queue. */
>>  
>> -#ifdef CONFIG_XSM
>>      union {
>> -#ifdef XSM_NEED_GENERIC_EVTCHN_SSID
>>          /*
>>           * If an XSM module needs more space for its event channel context,
>>           * this pointer stores the necessary data for the security server.
>>           */
>>          void *generic;
>> -#endif
>>  #ifdef CONFIG_XSM_FLASK
>>          /*
>>           * Inlining the contents of the structure for FLASK avoids unneeded
>> @@ -138,7 +135,6 @@ struct evtchn
>>          uint32_t flask_sid;
>>  #endif
>>      } ssid;
>> -#endif
>>  } __attribute__((aligned(64)));
> 
> ... I can see the inner #ifdef go away, but not the outer one. While
> the (imo bogus) attribute means you don't alter the size of the
> struct, I'm afraid that's not obvious at all without counting bits
> and bytes, and hence this may also want saying explicitly in the
> description.

I can put the #ifdef CONFIG_XSM back and in the subsequent patch change
it to CONFIG_XSM_CONFIGURABLE, making this the only difference between
being able to select the XSM policy in effect or not.

v/r,
dps



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 14:19:34 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 14:19:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173723.316943 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJchd-0004iF-6c; Fri, 27 Aug 2021 14:19:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173723.316943; Fri, 27 Aug 2021 14: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 1mJchd-0004i8-3V; Fri, 27 Aug 2021 14:19:29 +0000
Received: by outflank-mailman (input) for mailman id 173723;
 Fri, 27 Aug 2021 14:19:28 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mJchb-0004i2-QZ
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 14:19: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 1mJcha-00072U-RJ; Fri, 27 Aug 2021 14:19:26 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mJcha-0002Fp-Ky; Fri, 27 Aug 2021 14:19:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=4X2bVPqVehZpS8u/zrL3MLUyZNLJ6FKiwq56IC+Phhc=; b=vxxLH4iVAyjG7k5XK/zRBJk7Z/
	qgE4N4zIeH04id33BGgcDG6f5NTlzAAbs9pGhuz4LBZDh6QywSUdmp8apfzp4EalwuQ1nPCa6HOBE
	I3LOrarnaDDi1110/G1MtP/qhLrgaXnKIT+ewj9PWtmgVZayrfyVT1ehl874LQfi5cKo=;
Subject: Re: [XEN RFC PATCH 35/40] xen: enable numa_scan_nodes for device tree
 based NUMA
To: Wei Chen <wei.chen@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, jbeulich@suse.com
Cc: Bertrand.Marquis@arm.com
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-36-wei.chen@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <596df817-fc54-dd7d-8951-8a006d984e01@xen.org>
Date: Fri, 27 Aug 2021 15:19:24 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210811102423.28908-36-wei.chen@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Wei,

On 11/08/2021 11:24, Wei Chen wrote:
> Now, we can use the same function for ACPI and device tree based
> NUMA to scan memory nodes.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>   xen/common/numa.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/common/numa.c b/xen/common/numa.c
> index 8ca13e27d1..d15c2fc311 100644
> --- a/xen/common/numa.c
> +++ b/xen/common/numa.c
> @@ -381,7 +381,7 @@ void __init numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn)
>           return;
>   #endif
>   
> -#ifdef CONFIG_ACPI_NUMA
> +#if defined(CONFIG_ACPI_NUMA) || defined(CONFIG_DEVICE_TREE_NUMA)

numa.c is only built when CONFIG_NUMA is set. I don't think CONFIG_NUMA 
will ever set if neither CONFIG_ACPI_NUMA or CONFIG_DEVICE_TREE_NUMA is 
set. So do we actually need this #ifdef?

>       if ( !numa_off && !numa_scan_nodes((u64)start_pfn << PAGE_SHIFT,
>            (u64)end_pfn << PAGE_SHIFT) )
>           return;
> 

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 14:28:15 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 14:28:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173729.316957 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJcq1-0006S5-3O; Fri, 27 Aug 2021 14:28:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173729.316957; Fri, 27 Aug 2021 14:28:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJcq1-0006Ry-03; Fri, 27 Aug 2021 14:28:09 +0000
Received: by outflank-mailman (input) for mailman id 173729;
 Fri, 27 Aug 2021 14:28: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 1mJcq0-0006Rs-2z
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 14:28: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 1mJcpz-0007CP-5E; Fri, 27 Aug 2021 14:28:07 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mJcpy-0003eW-V8; Fri, 27 Aug 2021 14:28:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=IrXCbO2mtffHsR/vGMTAzseRSrjN5y7QyoAfTRjzoN4=; b=3zToZQLFRGW5rwna5amkBhnmcH
	jAjEahMAPUeefFO/aFx5RlugczYhkbXME0T+QWeE0PD0R4/01tDg6swX9NzW5lkTNzNYhB9ZrV94F
	quD5cOb6TilsLl8Ax/4S9BMOh6cqTUjRMJiq6YqBBvzgkZz3MAGB632YDeNxSulChBO0=;
Subject: Re: [XEN RFC PATCH 36/40] xen/arm: keep guest still be NUMA unware
To: Wei Chen <wei.chen@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, jbeulich@suse.com
Cc: Bertrand.Marquis@arm.com
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-37-wei.chen@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <7e801a6e-68db-c541-7386-04e981681ec4@xen.org>
Date: Fri, 27 Aug 2021 15:28:05 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210811102423.28908-37-wei.chen@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Wei,

On 11/08/2021 11:24, Wei Chen wrote:
> We have not wanted to make Xen guest be NUMA aware in this patch
> series. 

The concept of patch series ceases to exist once we merge the code. So 
about how:

"The NUMA information provided in the host Device-Tree are only for Xen. 
For dom0, we want to hide them as they may be different (for now, dom0 
is still not aware of NUMA".

> So in this patch, Xen will skip NUMA distance matrix node
> and skip the numa-node-id property in CPU node and memory node,
> when Xen is creating guest device tree binary.

The CPU and memory nodes are recreated from scratch for the domain. So 
we already skip the property numa-node-id. However...

> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>   xen/arch/arm/domain_build.c | 6 ++++++
>   1 file changed, 6 insertions(+)
> 
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index cf341f349f..e62fa761bd 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -584,6 +584,10 @@ static int __init write_properties(struct domain *d, struct kernel_info *kinfo,
>                   continue;
>           }
>   
> +        /* Guest is numa unaware in current stage */
> +        if ( dt_property_name_is_equal(prop, "numa-node-id") )
> +            continue;

... your code is doing more than skipping the property for the two nodes 
you mentionned. Can the property exists in other nodes?

> +
>           res = fdt_property(kinfo->fdt, prop->name, prop_data, prop_len);
>   
>           if ( res )
> @@ -1454,6 +1458,8 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
>           DT_MATCH_TYPE("memory"),
>           /* The memory mapped timer is not supported by Xen. */
>           DT_MATCH_COMPATIBLE("arm,armv7-timer-mem"),
> +        /* Numa info doesn't need to be exposed to Domain-0 */
> +        DT_MATCH_COMPATIBLE("numa-distance-map-v1"),
>           { /* sentinel */ },
>       };
>       static const struct dt_device_match timer_matches[] __initconst =
> 

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 14:30:26 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 14:30:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173734.316968 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJcsD-0007mg-Hc; Fri, 27 Aug 2021 14:30:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173734.316968; Fri, 27 Aug 2021 14: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 1mJcsD-0007mZ-EG; Fri, 27 Aug 2021 14:30:25 +0000
Received: by outflank-mailman (input) for mailman id 173734;
 Fri, 27 Aug 2021 14:30:24 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mJcsC-0007mR-I1
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 14:30:24 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mJcsB-0007Fv-Na; Fri, 27 Aug 2021 14:30:23 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mJcsB-0003vl-Hl; Fri, 27 Aug 2021 14: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=SO+y3ITn3jZx+GAhkAeKGC1FvFxFsrzwoWGRy4pOZbo=; b=0QqKZNTinXbZZfZxexweQB8t/M
	4FiQUXa4eUZjcEbvseGIdUxWhHM1YkrfD6oL50ZCTNk94NVY0D3+iPi+KEMHolT6Eqtox5H5NZ4Yf
	hFdq0ExFNZ9aYpgHeIfKT0mn9pcGijTUO+7k7mK7TQ9Qjh0Xwalzw4+z3gQO9668jGAU=;
Subject: Re: [XEN RFC PATCH 37/40] xen: introduce an arch helper to do NUMA
 init failed fallback
To: Wei Chen <wei.chen@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, jbeulich@suse.com
Cc: Bertrand.Marquis@arm.com
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-38-wei.chen@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <48a54187-3b6b-f98c-3681-906ee3df1694@xen.org>
Date: Fri, 27 Aug 2021 15:30:21 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210811102423.28908-38-wei.chen@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi,

On 11/08/2021 11:24, Wei Chen wrote:
> When Xen initialize NUMA failed, some architectures may need to
> do fallback actions. For example, in device tree based NUMA, Arm
> need to reset the distance between any two nodes.

 From the description here, I don't understand why we need to reset the 
distance for Arm but not x86. In fact...

> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>   xen/arch/arm/numa.c        | 13 +++++++++++++
>   xen/common/numa.c          |  3 +++
>   xen/include/asm-arm/numa.h |  1 +
>   xen/include/asm-x86/numa.h |  6 ++++++
>   4 files changed, 23 insertions(+)
> 
> diff --git a/xen/arch/arm/numa.c b/xen/arch/arm/numa.c
> index 6eebf8e8bc..2a18c97470 100644
> --- a/xen/arch/arm/numa.c
> +++ b/xen/arch/arm/numa.c
> @@ -140,3 +140,16 @@ int __init arch_meminfo_get_ram_bank_range(int bank,
>   
>   	return 0;
>   }
> +
> +void __init arch_numa_init_failed_fallback(void)
> +{
> +    int i, j;
> +
> +    /* Reset all node distance to remote_distance */
> +    for ( i = 0; i < MAX_NUMNODES; i++ ) {
> +        for ( j = 0; j < MAX_NUMNODES; j++ ) {
> +            numa_set_distance(i, j,
> +                (i == j) ? NUMA_LOCAL_DISTANCE : NUMA_REMOTE_DISTANCE);
> +        }
> +    }
> +}

... this implementation looks fairly generic. So can you explain why we 
need it on Arm but not x86?

> diff --git a/xen/common/numa.c b/xen/common/numa.c
> index d15c2fc311..88f1594127 100644
> --- a/xen/common/numa.c
> +++ b/xen/common/numa.c
> @@ -405,4 +405,7 @@ void __init numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn)
>       cpumask_copy(&node_to_cpumask[0], cpumask_of(0));
>       setup_node_bootmem(0, (u64)start_pfn << PAGE_SHIFT,
>                       (u64)end_pfn << PAGE_SHIFT);
> +
> +    /* architecture specified fallback operations */
> +    arch_numa_init_failed_fallback();
>   }
> diff --git a/xen/include/asm-arm/numa.h b/xen/include/asm-arm/numa.h
> index dd31324b0b..a3982a94b6 100644
> --- a/xen/include/asm-arm/numa.h
> +++ b/xen/include/asm-arm/numa.h
> @@ -28,6 +28,7 @@ extern s8 device_tree_numa;
>   extern void numa_init(bool acpi_off);
>   extern int numa_device_tree_init(const void *fdt);
>   extern void numa_set_distance(nodeid_t from, nodeid_t to, uint32_t distance);
> +extern void arch_numa_init_failed_fallback(void);
>   
>   /*
>    * Temporary for fake NUMA node, when CPU, memory and distance
> diff --git a/xen/include/asm-x86/numa.h b/xen/include/asm-x86/numa.h
> index e63869135c..26280b0f3a 100644
> --- a/xen/include/asm-x86/numa.h
> +++ b/xen/include/asm-x86/numa.h
> @@ -22,4 +22,10 @@ extern void init_cpu_to_node(void);
>   void srat_parse_regions(u64 addr);
>   unsigned int arch_get_dma_bitsize(void);
>   
> +/* Dummy function for numa init failed in numa_initmem_init */
> +static inline void arch_numa_init_failed_fallback(void)
> +{
> +    return;

NIT: The return is pointless.

> +}
> +
>   #endif
> 

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 14:32:36 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 14:32:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173740.316979 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJcuJ-0000HF-UH; Fri, 27 Aug 2021 14:32:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173740.316979; Fri, 27 Aug 2021 14: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 1mJcuJ-0000H8-RN; Fri, 27 Aug 2021 14:32:35 +0000
Received: by outflank-mailman (input) for mailman id 173740;
 Fri, 27 Aug 2021 14: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 1mJcuH-0000H0-Ul
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 14:32: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 1mJcuH-0007Hp-5R; Fri, 27 Aug 2021 14:32:33 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mJcuG-0004BR-W1; Fri, 27 Aug 2021 14: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:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=Fzw4XfSN+5S1YAjDCgclpNmcZPrOUML2W2U9IQXPg5E=; b=hM3q+E1KuMUio1jIAwcQ3Jiepf
	5ixFcQL2dF10h/RBegokZpoEiaMTNn1khZsYDxigoG1VpoHkaMP3XdpubGDt4+VW77dl6uk1f+Bri
	RTiaq4nDkA60WjzKLbrJkAzwcCJrWnCLX8+kO8mk4eUY0eSt+DijJsI1OsMqgkjKBk4g=;
Subject: Re: [XEN RFC PATCH 38/40] xen/arm: enable device tree based NUMA in
 system init
To: Wei Chen <wei.chen@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, jbeulich@suse.com
Cc: Bertrand.Marquis@arm.com
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-39-wei.chen@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <86469c72-68d0-2a30-66ef-497884125437@xen.org>
Date: Fri, 27 Aug 2021 15:32:31 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210811102423.28908-39-wei.chen@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Wei,

On 11/08/2021 11:24, Wei Chen wrote:
> Everything is ready, we can remove the fake NUMA node and
> depends on device tree to create NUMA system.

So you just added code a few patches before that are now completely 
rewritten. Can you please re-order this series so it doesn't happen?

This may mean that CONFIG_NUMA is only selected until late in this series.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 14:37:53 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 14:37:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173745.316990 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJczL-0000xU-Hg; Fri, 27 Aug 2021 14:37:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173745.316990; Fri, 27 Aug 2021 14:37:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJczL-0000xN-EY; Fri, 27 Aug 2021 14:37:47 +0000
Received: by outflank-mailman (input) for mailman id 173745;
 Fri, 27 Aug 2021 14:37:45 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mJczJ-0000xH-QW
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 14:37:45 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mJczI-0007NI-Oa; Fri, 27 Aug 2021 14:37:44 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mJczI-0005C7-IG; Fri, 27 Aug 2021 14: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=coMF7dTOE5ugfsWEHwwvMZjjerRD7gYIPcW4O/edRlM=; b=fUa8eoxw9y6oF7MmEnPb4MDOxq
	iZFa2+okJfZLRDbxr1lYkxUIM6AIGwDW6Q7bi7eVCWYxMa8y5Rktm8wWA5svFZW3yA3by+sgDFmZQ
	RKQyCEfJiawygjfqMmBh/KTOt+f8qcbwlm45DRmnAgBFpnxkm2jnmaUt4yI64uXOep1o=;
Subject: Re: [XEN RFC PATCH 39/40] xen/x86: move numa_setup to common to
 support NUMA switch in command line
To: Wei Chen <wei.chen@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, jbeulich@suse.com
Cc: Bertrand.Marquis@arm.com
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-40-wei.chen@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <4759ddf5-fabb-ebca-9271-38ed5d69b970@xen.org>
Date: Fri, 27 Aug 2021 15:37:42 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210811102423.28908-40-wei.chen@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Wei,

On 11/08/2021 11:24, Wei Chen wrote:
> Xen x86 has created a command line parameter "numa" as NUMA switch for
> user to turn on/off NUMA. As device tree based NUMA has been enabled
> for Arm, this parameter can be reused by Arm. So in this patch, we move
> this parameter to common.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>   xen/arch/x86/numa.c    | 34 ----------------------------------
>   xen/common/numa.c      | 35 ++++++++++++++++++++++++++++++++++-
>   xen/include/xen/numa.h |  1 -
>   3 files changed, 34 insertions(+), 36 deletions(-)
> 
> diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c
> index 8b43be4aa7..380d8ed6fd 100644
> --- a/xen/arch/x86/numa.c
> +++ b/xen/arch/x86/numa.c
> @@ -11,7 +11,6 @@
>   #include <xen/nodemask.h>
>   #include <xen/numa.h>
>   #include <xen/keyhandler.h>
> -#include <xen/param.h>
>   #include <xen/time.h>
>   #include <xen/smp.h>
>   #include <xen/pfn.h>
> @@ -19,9 +18,6 @@
>   #include <xen/sched.h>
>   #include <xen/softirq.h>
>   
> -static int numa_setup(const char *s);
> -custom_param("numa", numa_setup);
> -
>   #ifndef Dprintk
>   #define Dprintk(x...)
>   #endif
> @@ -50,35 +46,6 @@ void numa_set_node(int cpu, nodeid_t node)
>       cpu_to_node[cpu] = node;
>   }
>   
> -/* [numa=off] */
> -static __init int numa_setup(const char *opt)
> -{
> -    if ( !strncmp(opt,"off",3) )
> -        numa_off = true;
> -    else if ( !strncmp(opt,"on",2) )
> -        numa_off = false;
> -#ifdef CONFIG_NUMA_EMU
> -    else if ( !strncmp(opt, "fake=", 5) )
> -    {
> -        numa_off = false;
> -        numa_fake = simple_strtoul(opt+5,NULL,0);
> -        if ( numa_fake >= MAX_NUMNODES )
> -            numa_fake = MAX_NUMNODES;
> -    }
> -#endif
> -#ifdef CONFIG_ACPI_NUMA
> -    else if ( !strncmp(opt,"noacpi",6) )
> -    {
> -        numa_off = false;
> -        acpi_numa = -1;
> -    }
> -#endif
> -    else
> -        return -EINVAL;
> -
> -    return 0;
> -}
> -
>   /*
>    * Setup early cpu_to_node.
>    *
> @@ -287,4 +254,3 @@ static __init int register_numa_trigger(void)
>       return 0;
>   }
>   __initcall(register_numa_trigger);
> -
> diff --git a/xen/common/numa.c b/xen/common/numa.c
> index 88f1594127..c98eb8d571 100644
> --- a/xen/common/numa.c
> +++ b/xen/common/numa.c
> @@ -14,8 +14,12 @@
>   #include <xen/smp.h>
>   #include <xen/pfn.h>
>   #include <xen/sched.h>
> +#include <xen/param.h>
>   #include <asm/acpi.h>
>   
> +static int numa_setup(const char *s);
> +custom_param("numa", numa_setup);
> +
>   struct node_data node_data[MAX_NUMNODES];
>   
>   /* Mapping from pdx to node id */
> @@ -324,7 +328,7 @@ int __init numa_scan_nodes(u64 start, u64 end)
>   }
>   
>   #ifdef CONFIG_NUMA_EMU
> -int numa_fake __initdata = 0;
> +static int numa_fake __initdata = 0;
>   
>   /* Numa emulation */
>   static int __init numa_emulation(u64 start_pfn, u64 end_pfn)
> @@ -409,3 +413,32 @@ void __init numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn)
>       /* architecture specified fallback operations */
>       arch_numa_init_failed_fallback();
>   }
> +
> +/* [numa=off] */

The documentation also needs be be updated to reflect that facts this 
option is not architecture-agnostic.

> +static __init int numa_setup(const char *opt)
> +{
> +    if ( !strncmp(opt,"off",3) )
> +        numa_off = true;
> +    else if ( !strncmp(opt,"on",2) )
> +        numa_off = false;
> +#ifdef CONFIG_NUMA_EMU
> +    else if ( !strncmp(opt, "fake=", 5) )
> +    {
> +        numa_off = false;
> +        numa_fake = simple_strtoul(opt+5,NULL,0);
> +        if ( numa_fake >= MAX_NUMNODES )
> +            numa_fake = MAX_NUMNODES;
> +    }
> +#endif
> +#ifdef CONFIG_ACPI_NUMA
> +    else if ( !strncmp(opt,"noacpi",6) )
> +    {
> +        numa_off = false;
> +        acpi_numa = -1;
> +    }
> +#endif

Looking at this code, I am not quite too sure to understand the 
difference between between "numa=noacpi" and "numa=off".

In fact, I am tempted to say this option should disappear because this 
is odd to have a firmware specific option just for ACPI but not DT. Even 
if we have one for each, this makes things a bit more complicated for 
the admin.

> +    else
> +        return -EINVAL;
> +
> +    return 0;
> +}
> diff --git a/xen/include/xen/numa.h b/xen/include/xen/numa.h
> index b9b5d1ad88..c647fef736 100644
> --- a/xen/include/xen/numa.h
> +++ b/xen/include/xen/numa.h
> @@ -83,7 +83,6 @@ extern void numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn);
>   extern void numa_set_node(int cpu, nodeid_t node);
>   extern int numa_scan_nodes(u64 start, u64 end);
>   extern bool numa_off;
> -extern int numa_fake;
>   extern s8 acpi_numa;
>   
>   extern void setup_node_bootmem(nodeid_t nodeid, u64 start, u64 end);
> 

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 14:41:00 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 14:41:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173751.317002 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJd2Q-0002Lo-5W; Fri, 27 Aug 2021 14:40:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173751.317002; Fri, 27 Aug 2021 14:40:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJd2Q-0002Lh-0q; Fri, 27 Aug 2021 14:40:58 +0000
Received: by outflank-mailman (input) for mailman id 173751;
 Fri, 27 Aug 2021 14:40:56 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mJd2O-0002Lb-RF
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 14:40:56 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mJd2N-0007RM-RM; Fri, 27 Aug 2021 14:40:55 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mJd2N-0005iz-LZ; Fri, 27 Aug 2021 14:40: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:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=94/q8Bayupugn3hnwicMTkjhY2AOaU+P2CBCZ8k1QDk=; b=hMnmyskTnTeL/UtmXRbEmJyZuS
	vqERV4Iqj69OqiDiws5jBQGv6zyzuMerKj2KtqkxmyAO0B7J3l7CTA0dc8mIyiW8KnBTStItf/c+J
	Fh8Ofashe4hQX1P+vtrGyxVFxiJCwlM8EuSpxxQUtFbxq3qwA+eF7Bj21YPJYzRj+Zlw=;
Subject: Re: [PATCH v3 1/7] xen/arm: Import ID registers definitions from
 Linux
To: Bertrand Marquis <bertrand.marquis@arm.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1629897306.git.bertrand.marquis@arm.com>
 <325f3bacc9b0717664f8f83c529fc59488e22437.1629897306.git.bertrand.marquis@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <1abd501b-af2c-f387-99f7-be5ec8ffe6e6@xen.org>
Date: Fri, 27 Aug 2021 15:40:54 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <325f3bacc9b0717664f8f83c529fc59488e22437.1629897306.git.bertrand.marquis@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Bertrand,

On 25/08/2021 14:18, Bertrand Marquis wrote:
> Import some ID registers definitions from Linux sysreg header to have
> required shift definitions for all ID registers fields.
> 
> Those are required to reuse the cpufeature sanitization system from
> Linux kernel.
> 
> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 14:46:54 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 14:46:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173757.317013 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJd7x-0003Ib-Po; Fri, 27 Aug 2021 14:46:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173757.317013; Fri, 27 Aug 2021 14:46:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJd7x-0003IU-MA; Fri, 27 Aug 2021 14:46:41 +0000
Received: by outflank-mailman (input) for mailman id 173757;
 Fri, 27 Aug 2021 14:46:40 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jVCk=NS=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mJd7w-0003IO-5J
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 14:46:40 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 954c794c-0745-11ec-aad8-12813bfff9fa;
 Fri, 27 Aug 2021 14:46:38 +0000 (UTC)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2050.outbound.protection.outlook.com [104.47.12.50]) (Using
 TLS) by relay.mimecast.com with ESMTP id de-mta-2-mHkSysQ7MxCuPeyhcB8qqA-1;
 Fri, 27 Aug 2021 16:46:36 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5470.eurprd04.prod.outlook.com (2603:10a6:803:d6::33)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.22; Fri, 27 Aug
 2021 14:46:35 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.023; Fri, 27 Aug 2021
 14:46:35 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM4PR0902CA0013.eurprd09.prod.outlook.com (2603:10a6:200:9b::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17 via Frontend
 Transport; Fri, 27 Aug 2021 14: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: 954c794c-0745-11ec-aad8-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630075597;
	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=Z7J1H3J0X+/LLquYbfXYODBT3Oje80wJi5hvPtEZe/w=;
	b=hTg6JHUUXDc7Z1ds4P1FH/lJ/Db2K9AfIz/aN2955J8iiOCYUG5kbjSTACwYvFGyjCGswP
	4/ZMOCjWxALX2TD9Euvb5CGmGIaCSrnmNPqSsNkNVA0P6QaNpUmrabz4SI0KgtlFrM3XuR
	MY0AV6idOJ8wKOKcBg+tqp2dzPx4vGE=
X-MC-Unique: mHkSysQ7MxCuPeyhcB8qqA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=R2cVKdp6o5355qHo/mh5TtHn25dzyo4Tf9FnC8yTzCt2KCtqbpTxS8SZD8/xTL/Ntx2P7ChxuX9w8pjMtHKA81Jq2soJPq8WkoHPLpz5ngFb7VvX4kVjmZVsWwYjqEnHo22Q9xHMRPV8Xic37IV4J08KdYX0TYxX2c+VgoeIvaSBe1mGvrxX2nl/rYfk0w40sTpK7T1gYdNfigVEwRlLF56jnoNIaND40B3haGKs7zgr1ogov1CHkoj5Yj9CiM3g2GhdgVRxcLL9yCx2gDFZatAnw5ml5xFREBwd527g/yg8V50SBL3bYokSSYNOvTosfjskLpW6Opio4HtCAaJywg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Z7J1H3J0X+/LLquYbfXYODBT3Oje80wJi5hvPtEZe/w=;
 b=lRbvzZUVoKvlC0vniwOwwQeiCorFyq2O69JCHYp2eFFgn0ngeNnGgfNHmVNcKw7Jj0kwXZWuVxDqiPIzvX5MOs/BbdhBlMTMnvY5eFNqiJoq6QvZofYqncQs/ijl7Ks0RsIHZH8NQ2E3mq2Hq2Eoi93cYPlzllkANDlRBUI4i9JeQUh4cbLiLeNboWibI7Wk4rN4n84lqdb+0P9PAQcCnEqUFMKs6IRCsAlvBIo2FsUqhbZFwIVKWR6h5tiuXF7WhIXlcsHceCqCXEvMYY/6EVduOwc8EUWQRd+huhjYIc8pjCvIwXO5EoYDRMEuMdqx0u1RdCCMmYl5gJ3SADr0Uw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xenproject.org; dkim=none (message not signed)
 header.d=none;xenproject.org; dmarc=none action=none header.from=suse.com;
Subject: Re: XSA-378 fixes breaking PVH Dom0 (was: [xen-4.15-testing test]
 164495: regressions - FAIL)
From: Jan Beulich <jbeulich@suse.com>
To: xen-devel@lists.xenproject.org
Cc: osstest service owner <osstest-admin@xenproject.org>
References: <osstest-164495-mainreport@xen.org>
 <6bf7f023-a00f-4853-fbe8-83d9d2aff370@suse.com>
Message-ID: <953dd8e9-1c44-3881-6b62-306cc31cdb2f@suse.com>
Date: Fri, 27 Aug 2021 16:46:33 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <6bf7f023-a00f-4853-fbe8-83d9d2aff370@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM4PR0902CA0013.eurprd09.prod.outlook.com
 (2603:10a6:200:9b::23) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 9d9029b9-ce0a-4b55-3c9a-08d9696977fb
X-MS-TrafficTypeDiagnostic: VI1PR04MB5470:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB54708F86CC3CE37E5900659FB3C89@VI1PR04MB5470.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	b7/dVy3g8MG+5A0AwXGGxEvDR/T06Rr3GRT/UjCHGUKxlesSXKqE3YJRBgZ57RE4ytV2M3u9oSWZ/0cYYSSkfuY3KvHSgqCBSuRPvv53rr3pwvNvTiWLzaWjAZnP6oLDZlknjN1PvZDHp2oD90Tw3rnUKHBmUaH/dQTu67lr3UhmxcNu9kpr4EHY+HCQ1fvUFaGif6jzykl8MxZioEf4F2LQRmsfv/WPtFiQ5IWxVaZEYIU+RgzzQhWnhagMmKIRx1RdZMhjI70DmrSMwS3kmvvUBU5ByuOP6dB5tnj5oopOA5xXaW8Hmshh/seAdMWp4WfT2/eBM933hj+p18Ep0e1dX6lqKIQaCoaJjsq7tzO4tzombUwvogHsaDpLOaypGNkAnIthEN+Y7q6YPxPR5M3Bm/KQ4vMJJ6KGzoyCCtpRUlEvDplHe0pLLDoSMlf6E75L+dKhj3+GfRN4nNYWC+sjbi+ThDmsFrWf9YRuWJg+ECJer1iAaOzobdmp9MQfMBxBO0a4YQgCBoNgwY1oiy9gg+gGpPXG+p1BDeAGXph7ldqw2QxgBnmFKUPkb1ZOloalDJc6oC+WJqaCuSdEzakgHDgbn4hRS5B01VyoFBe7Oi/LUMlf7ewKSy7cdo+eqEuAMbEy3pxski6wFX8wZ3nRMxBlWpqOTgtTK9ewQUZVZOwzbJwTag1e/dnc9iXk768V96RcAurJrl/SaQ8nYaTtwarPRqv9i2jgGn2nEPlTWHS/n05Ceo3NaIFRdOqSnfgjwtfGK1+IUJSNnQbfJgbQXNkpMzi3OvovEprdOB8QtG+37/cbVbdRailY3a7G
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(396003)(366004)(346002)(136003)(39840400004)(66946007)(86362001)(31686004)(26005)(478600001)(16576012)(31696002)(83380400001)(8676002)(53546011)(956004)(6486002)(5660300002)(2616005)(2906002)(966005)(6916009)(4326008)(316002)(8936002)(66556008)(66476007)(38100700002)(186003)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QkNQOG9UeEpKeVBMWVhEMXBMN2Ura05YSlRmeVVWQkNROUNNZGJZZHpJVjhO?=
 =?utf-8?B?RGNtOUxjUm4ycm9LN2d2eWw1MElGSitVNERCTk5XNS9vTVVvNXFyZitSQ1F1?=
 =?utf-8?B?eGM4RG9EL1lsRFpYM2hhQ2pVbmtVc0N3VXdETlRIcmwwNnFSNFM0RVBTNDBp?=
 =?utf-8?B?UEh4M1NGSzl6dG1Ja0N1eDVWMTRXL0RVMXhVMGtJMmRtRTZ2cGVuMjVQcXVw?=
 =?utf-8?B?YXBqWUpqMERDNitiOTFNMWtna2JJb3FRVW9qZm1xVjdTVDhzQlA5ekNQbkxs?=
 =?utf-8?B?Q3dxTWQ0MEJRQXV1NzZrRXJ6b2VQYlZJcEx6ZGVPN0kxZ3dXL3ZrNmtqbnBM?=
 =?utf-8?B?aGovTUF5V0l3UmRENUpkWnZwZEVGYkpRMkhIMFBITXZGWnVaT2RKaGNNdkJD?=
 =?utf-8?B?VmNJOHlURHc2SFdOZytCRTBGbFFhaGdKV09IRFhEMUNGb1JBMHNYMTYzM0RX?=
 =?utf-8?B?OUZVQTlGL3I5NUJIUmVXZHFvMmJyS0RYTDEvWmJZZ0JRUTgrckVhZTkxdUky?=
 =?utf-8?B?b29QYWRlQ1dWQ0l6bHAzaUVmMVJiV05qd3pHZ1c2RjNUZWQrZ1ZNWmN0MHFP?=
 =?utf-8?B?OFFnbVNiNncxVGR4WVRGajI3UXhVNURoNlZFY0pSODdWd3cyN0pFWG55emxm?=
 =?utf-8?B?Kzg4ZDdpdjVnRXg3VjJlbjRVNTJYckU4b3hWUTVVb2FYRnhSK1c1WUJQQlhh?=
 =?utf-8?B?TzdvWW53WmtiQnBzbnFBeERwZURyaFBEYnN2cnY0WG9qVUZFN015Nkc0UmxV?=
 =?utf-8?B?ZUh0RFBpWXd3VEpsN3d4aXRYWTRnUjhlZHIwSVN6MW85amdLNXloV0FQU1Fz?=
 =?utf-8?B?cGJ0TUdudTZObjB4d0dac3gyNlhMZHpYQnNRSUhvY1hNZmZicnVqU1pqb0Q5?=
 =?utf-8?B?TXFwakRGOUE4TzlHQllkQ2U5UWFZQmwyOUJpQnNrWldpQnJHL25aamZHMmdx?=
 =?utf-8?B?RHg1bWE3ZThiQmtrVlhacWZGQnJXMnVEd0lrWnZXbGNaL1ZrcGRZTkdmK1hr?=
 =?utf-8?B?ejNueVpGV2p2TkJ4bTByNW81aUp0VlNRNmpBUXF3aGtIbEUvSUlEM2JzcStL?=
 =?utf-8?B?YnJnQWRRS29vdDNUNm90d0R2ODFMS3hJVFZuQmpyOEdDb2MxM2hPc1BwZ1du?=
 =?utf-8?B?cmxZdVNqTHl6dVA2VlAxSVczWGlBb29TUDhDYy8xVVVINTJqMHpFR2lRVUhH?=
 =?utf-8?B?cW9zK0ZVS29Sa1ZVa3pmaU1CMEZmMXlVK09SK01rWXdXQ3lDcWFNczR4amQ3?=
 =?utf-8?B?eHJFQVl4M3hudWlVdmMybkJPQnIybGlVMFAycXJBUXVNZXJRbTJOZlB4b3Zs?=
 =?utf-8?B?Tm1sVG14bVAzakowRnVKeFNIMVA5UnRTRDBkK1BiRXdLa0FUSERRTWdKcmI3?=
 =?utf-8?B?OFJJUUZXMVJQVXhVbWF6eWdJTlE0bkdIYnd2cElVcXhZRDlRQmM3OENpSFQ2?=
 =?utf-8?B?a3A3TlhmT2NZR0ZSMnBSYjB4bHBTT2h4Y09LQkoyTE9CM29CN0VCYUFtL0Vk?=
 =?utf-8?B?NklWV3Z5aWorSHF0Y3EyK2RFQUlCbzhVd1haWTdxQ0ZadFRyOFdSWmJmL0V1?=
 =?utf-8?B?dmdFUW1uRHJhS2JVWXI4OGRNcEdaRXZORlJWSWNxRWxyRXlWd3VMcUwxQmpH?=
 =?utf-8?B?N252ZWJ0c3U1b0RtRS9iTVJ1UHFEVUxtODRodEN6UHo5ZjNiOU9xd2EweU1I?=
 =?utf-8?B?eHoxZUlRY2dlOGdNclhVRk10bUxKUmsvblFDUDJPZnA5RVVqZ0w5dE0xWlZU?=
 =?utf-8?Q?qDCZzhvKqFA7puuU4VeH9FUl0gh28f1DA8YSpjZ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9d9029b9-ce0a-4b55-3c9a-08d9696977fb
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2021 14:46:35.6451
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Lf+FcfEUAnY7I2bTipGhuBRhCAmah48W3ldWknhRNxdwDh/lCVUwH/WC/ZQXZ4yu+zN/k6bAQtuwO+latFajyw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5470

On 27.08.2021 15:29, Jan Beulich wrote:
> On 27.08.2021 08:52, osstest service owner wrote:
>> flight 164495 xen-4.15-testing real [real]
>> flight 164509 xen-4.15-testing real-retest [real]
>> http://logs.test-lab.xenproject.org/osstest/logs/164495/
>> http://logs.test-lab.xenproject.org/osstest/logs/164509/
>>
>> Regressions :-(
>>
>> Tests which did not succeed and are blocking,
>> including tests which could not be run:
>>  test-amd64-amd64-dom0pvh-xl-amd  8 xen-boot              fail REGR. vs. 163759
>>  test-amd64-amd64-dom0pvh-xl-intel  8 xen-boot            fail REGR. vs. 163759
> 
> This is fallout from XSA-378. During Dom0 setup we first call
> iommu_hwdom_init(), which maps reserved regions (p2m_access_rw).
> Later map_mmio_regions() gets used to identity-map the low first
> Mb. This, using set_mmio_p2m_entry(), establishes default-access
> mappings (p2m_access_rwx).
> 
> Hence even if relaxing the logic in set_typed_p2m_entry() to
> 
>     if ( p2m_is_special(ot) )
>     {
>         gfn_unlock(p2m, gfn, order);
>         if ( mfn_eq(mfn, omfn) && gfn_p2mt == ot && access == a )
>             return 0;
>         domain_crash(d);
>         return -EPERM;
>     }
> 
> we're still in trouble (because the two access types don't match)
> when there is any reserved region below 1Mb.
> 
> One approach would be to avoid blindly mapping the low first Mb,
> and to instead honor mappings which are already there. Or the
> opposite - avoid mapping anything from arch_iommu_hwdom_init()
> which is below 1Mb. (Other mappings down the call tree from
> pvh_setup_acpi() imo would then also need adjusting, to avoid
> redundant mapping attempts of space below 1Mb. At least RSDP is
> known to possibly live there on various systems.)
> 
> Another approach could be to stop passing ->default_access from
> set_mmio_p2m_entry() to set_typed_p2m_entry(). (And I think the
> same should go for set_foreign_p2m_entry()). At the very least
> right now it makes no sense at all to make RWX mappings there,
> except when mapping PCI device ROMs. But of course reducing
> permissions always comes with a (however large or small) risk of
> regressions.
> 
> While I think the latter aspect wants improving in any event,
> right now I'm leaning towards the "opposite" variant of the
> former. I'll draft a patch along these lines at least to see if
> it helps, or if there is yet more fallout.

There is more fallout - with the initial issue addressed as
described I'm now hitting another similar domain_crash() in
guest_physmap_add_entry(). There's no question there whether to
check that old and new mappings match - they are different. Here
PVH Dom0 setup really does what the final XSA-378 patch is
intended to disallow: It produces MMIO mappings to then replace
some (or really most) by RAM ones. This means I'll have to
further adjust how pvh_populate_p2m() works. This will have to
wait until after the weekend, sorry.

Jan



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 14:50:00 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 14:50:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173762.317024 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJdB9-0003wI-8c; Fri, 27 Aug 2021 14:49:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173762.317024; Fri, 27 Aug 2021 14:49:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJdB9-0003wB-5O; Fri, 27 Aug 2021 14:49:59 +0000
Received: by outflank-mailman (input) for mailman id 173762;
 Fri, 27 Aug 2021 14:49:58 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=4zmw=NS=google.com=seanjc@srs-us1.protection.inumbo.net>)
 id 1mJdB8-0003w5-4W
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 14:49:58 +0000
Received: from mail-pj1-x1033.google.com (unknown [2607:f8b0:4864:20::1033])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 1e321015-096b-4d2c-be67-84e060c4f7b5;
 Fri, 27 Aug 2021 14:49:57 +0000 (UTC)
Received: by mail-pj1-x1033.google.com with SMTP id fz10so4728213pjb.0
 for <xen-devel@lists.xenproject.org>; Fri, 27 Aug 2021 07:49:55 -0700 (PDT)
Received: from google.com (157.214.185.35.bc.googleusercontent.com.
 [35.185.214.157])
 by smtp.gmail.com with ESMTPSA id x4sm6940653pff.126.2021.08.27.07.49.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Aug 2021 07:49: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: 1e321015-096b-4d2c-be67-84e060c4f7b5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20161025;
        h=date:from:to:cc:subject:message-id:references:mime-version
         :content-disposition:in-reply-to;
        bh=14M76fSGlvACgnYuGU3A/x3DEJPAcKiBE8JXzhdP/4U=;
        b=pLAL3YBvEH241wYB1s4aywKaz7QeJRhSbGv+nktb/1x+GCOg0VVDMExMGUZWmZPsDc
         NVzspVTDa3lSW0dyJijr23zu+7tSFARHT4kxKiTs7I83HrgoOR9ZjAM+CS/Hri3F1VJJ
         2cgbzigcjgD1FFxs8iuFU4QSJYpY905pXBKXs7PumwcHwyCCbOr2tLcIMDqqbkJHwm7W
         OY/wxvG8MYV6F0/ygGfrV94k17Tq04+ngUI3kmNaGgMrAB+BvHmQiIoMrL8UQ47WIDLc
         HbsUHl+jyqAkK128CP0oKREgIRQL0mf5zrS45lyHYrnz5h3QUE60Siq/ksEiSLoHHDKJ
         dUxQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:date:from:to:cc:subject:message-id:references
         :mime-version:content-disposition:in-reply-to;
        bh=14M76fSGlvACgnYuGU3A/x3DEJPAcKiBE8JXzhdP/4U=;
        b=MyqWKP+jv1xMpezlucY9XrbaUKEmngo/gIQ0BbJgd8XqYuQ4AJ8dJsgfksoPmJZsgD
         3pcj8TndvNFIHb+wlgfRgIdC0PTRwTxM7gSC9yBA6SUINrPnbI5cwEA4tZlYQOcYOiw0
         WM+i1ExJC92b3HWOxgnSkZ/myD5EDFXmOyYFPI3jVuHxkNyM8lxFsF4SapF1sPZa2gHr
         4vNUbXnC87MYineMaehGiSvLJ8s3ThsJskog7qQZhRl8U4QVSjQOYU5zzDyEa0BwdKvB
         T1MbC9x5wvdGAG3kJx4l+g8fNUkVsNrlGZoC/zzXWP3qrH7fI6qWHL/njrs0+dbNuW4Z
         CsVw==
X-Gm-Message-State: AOAM531TEB2Qw2XFi64UaCUgQEBsQF0oq6dc/Bej3HqSn2oxkTS+GnLn
	sKpv40uf/499veev3RpYWeQ/tg==
X-Google-Smtp-Source: ABdhPJwNNMMmz636sWquZ+PrJBprWwR45xsHh4a4A1+VNHMucrkqN70WbnI4m5X0u5NEISGgHsWDDA==
X-Received: by 2002:a17:90a:1b0d:: with SMTP id q13mr23772297pjq.217.1630075794782;
        Fri, 27 Aug 2021 07:49:54 -0700 (PDT)
Date: Fri, 27 Aug 2021 14:49:50 +0000
From: Sean Christopherson <seanjc@google.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
	Ingo Molnar <mingo@redhat.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Marc Zyngier <maz@kernel.org>, Guo Ren <guoren@kernel.org>,
	Nick Hu <nickhu@andestech.com>, Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Thomas Gleixner <tglx@linutronix.de>,
	Borislav Petkov <bp@alien8.de>, x86@kernel.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
	James Morse <james.morse@arm.com>,
	Alexandru Elisei <alexandru.elisei@arm.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu,
	linux-csky@vger.kernel.org, linux-riscv@lists.infradead.org,
	kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
	Artem Kashkanov <artem.kashkanov@intel.com>,
	Like Xu <like.xu.linux@gmail.com>,
	Zhu Lingshan <lingshan.zhu@intel.com>
Subject: Re: [PATCH 05/15] perf: Track guest callbacks on a per-CPU basis
Message-ID: <YSj7jq32U8Euf38o@google.com>
References: <20210827005718.585190-1-seanjc@google.com>
 <20210827005718.585190-6-seanjc@google.com>
 <YSiRBQQE7md7ZrNC@hirez.programming.kicks-ass.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <YSiRBQQE7md7ZrNC@hirez.programming.kicks-ass.net>

On Fri, Aug 27, 2021, Peter Zijlstra wrote:
> On Thu, Aug 26, 2021 at 05:57:08PM -0700, Sean Christopherson wrote:
> > Use a per-CPU pointer to track perf's guest callbacks so that KVM can set
> > the callbacks more precisely and avoid a lurking NULL pointer dereference.
> 
> I'm completely failing to see how per-cpu helps anything here...

It doesn't help until KVM is converted to set the per-cpu pointer in flows that
are protected against preemption, and more specifically when KVM only writes to
the pointer from the owning CPU.  

> > On x86, KVM supports being built as a module and thus can be unloaded.
> > And because the shared callbacks are referenced from IRQ/NMI context,
> > unloading KVM can run concurrently with perf, and thus all of perf's
> > checks for a NULL perf_guest_cbs are flawed as perf_guest_cbs could be
> > nullified between the check and dereference.
> 
> No longer allowing KVM to be a module would be *AWESOME*. I detest how
> much we have to export for KVM :/
> 
> Still, what stops KVM from doing a coherent unreg? Even the
> static_call() proposed in the other patch, unreg can do
> static_call_update() + synchronize_rcu() to ensure everybody sees the
> updated pointer (would require a quick audit to see all users are with
> preempt disabled, but I think your using per-cpu here already imposes
> the same).

Ignoring static call for the moment, I don't see how the unreg side can be safe
using a bare single global pointer.  There is no way for KVM to prevent an NMI
from running in parallel on a different CPU.  If there's a more elegant solution,
especially something that can be backported, e.g. an rcu-protected pointer, I'm
all for it.  I went down the per-cpu path because it allowed for cleanups in KVM,
but similar cleanups can be done without per-cpu perf callbacks.

As for static calls, I certainly have no objection to employing static calls for
the callbacks, but IMO we should not be relying on static call for correctness,
i.e. the existing bug needs to be fixed first.


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 14:57:39 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 14:57:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173768.317034 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJdIT-0005eE-1A; Fri, 27 Aug 2021 14:57:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173768.317034; Fri, 27 Aug 2021 14:57:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJdIS-0005e7-UK; Fri, 27 Aug 2021 14:57:32 +0000
Received: by outflank-mailman (input) for mailman id 173768;
 Fri, 27 Aug 2021 14:57:30 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vFra=NS=infradead.org=peterz@srs-us1.protection.inumbo.net>)
 id 1mJdIP-0005e1-6u
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 14:57:30 +0000
Received: from desiato.infradead.org (unknown
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id a325925c-a2c1-47d1-9543-25c8749c2a8a;
 Fri, 27 Aug 2021 14:57:25 +0000 (UTC)
Received: from j217100.upc-j.chello.nl ([24.132.217.100]
 helo=noisy.programming.kicks-ass.net)
 by desiato.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1mJdHk-00DX6q-CH; Fri, 27 Aug 2021 14:56:48 +0000
Received: from hirez.programming.kicks-ass.net
 (hirez.programming.kicks-ass.net [192.168.1.225])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (Client did not present a certificate)
 by noisy.programming.kicks-ass.net (Postfix) with ESMTPS id 06096300DEF;
 Fri, 27 Aug 2021 16:56:46 +0200 (CEST)
Received: by hirez.programming.kicks-ass.net (Postfix, from userid 1000)
 id DA39829CFAC0B; Fri, 27 Aug 2021 16:56: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: a325925c-a2c1-47d1-9543-25c8749c2a8a
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=In-Reply-To:Content-Type:MIME-Version:
	References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=NSdJTnTrDORwb+LwDd1YsYwMgPCJRxx0pXYK8FlAauE=; b=Fa7lAXZuZMGlhMkvCLlAaInQ0M
	LvZMAI9dgp92KcFz4u2w541+/Nu67i2Ea3rAZpKD6Q1P9ILjKx8E7vJPC9Yy4BHzufUafcmzb+2zu
	XEqetUQrDWVmWgUJbeWVLi3VrFACkcynBo/GAIrkEDlonwYXZkgrnKNPnvuRXhzSenXsmorxKXv3b
	UaLmP8193HgPXArb5Wp1c/mrxTLlf/21JEFOup9O58miZONiwbcuapmO9GWG87OVfsWhj7CHiSkGX
	N5n6bqMpN0VhS93yWvq33V/48j5w+oHy6eCsh396wVtLrGJfjfA+JtKu/NF0o3UbeTizVS7b6v5Pe
	Ifw0PqQQ==;
Date: Fri, 27 Aug 2021 16:56:45 +0200
From: Peter Zijlstra <peterz@infradead.org>
To: Sean Christopherson <seanjc@google.com>
Cc: Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
	Ingo Molnar <mingo@redhat.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Marc Zyngier <maz@kernel.org>, Guo Ren <guoren@kernel.org>,
	Nick Hu <nickhu@andestech.com>, Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Thomas Gleixner <tglx@linutronix.de>,
	Borislav Petkov <bp@alien8.de>, x86@kernel.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
	James Morse <james.morse@arm.com>,
	Alexandru Elisei <alexandru.elisei@arm.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu,
	linux-csky@vger.kernel.org, linux-riscv@lists.infradead.org,
	kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
	Artem Kashkanov <artem.kashkanov@intel.com>,
	Like Xu <like.xu.linux@gmail.com>,
	Zhu Lingshan <lingshan.zhu@intel.com>
Subject: Re: [PATCH 05/15] perf: Track guest callbacks on a per-CPU basis
Message-ID: <YSj9LQfbKxOhxqcP@hirez.programming.kicks-ass.net>
References: <20210827005718.585190-1-seanjc@google.com>
 <20210827005718.585190-6-seanjc@google.com>
 <YSiRBQQE7md7ZrNC@hirez.programming.kicks-ass.net>
 <YSj7jq32U8Euf38o@google.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <YSj7jq32U8Euf38o@google.com>

On Fri, Aug 27, 2021 at 02:49:50PM +0000, Sean Christopherson wrote:
> On Fri, Aug 27, 2021, Peter Zijlstra wrote:
> > On Thu, Aug 26, 2021 at 05:57:08PM -0700, Sean Christopherson wrote:
> > > Use a per-CPU pointer to track perf's guest callbacks so that KVM can set
> > > the callbacks more precisely and avoid a lurking NULL pointer dereference.
> > 
> > I'm completely failing to see how per-cpu helps anything here...
> 
> It doesn't help until KVM is converted to set the per-cpu pointer in flows that
> are protected against preemption, and more specifically when KVM only writes to
> the pointer from the owning CPU.  

So the 'problem' I have with this is that sane (!KVM using) people, will
still have to suffer that load, whereas with the static_call() we patch
in an 'xor %rax,%rax' and only have immediate code flow.

> Ignoring static call for the moment, I don't see how the unreg side can be safe
> using a bare single global pointer.  There is no way for KVM to prevent an NMI
> from running in parallel on a different CPU.  If there's a more elegant solution,
> especially something that can be backported, e.g. an rcu-protected pointer, I'm
> all for it.  I went down the per-cpu path because it allowed for cleanups in KVM,
> but similar cleanups can be done without per-cpu perf callbacks.

If all the perf_guest_cbs dereferences are with preemption disabled
(IRQs disabled, IRQ context, NMI context included), then the sequence:

	WRITE_ONCE(perf_guest_cbs, NULL);
	synchronize_rcu();

Ensures that all prior observers of perf_guest_csb will have completed
and future observes must observe the NULL value.



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 14:58:42 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 14:58:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173773.317046 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJdJa-0006DM-By; Fri, 27 Aug 2021 14:58:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173773.317046; Fri, 27 Aug 2021 14: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 1mJdJa-0006DF-8K; Fri, 27 Aug 2021 14:58:42 +0000
Received: by outflank-mailman (input) for mailman id 173773;
 Fri, 27 Aug 2021 14:58:41 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=4zmw=NS=google.com=seanjc@srs-us1.protection.inumbo.net>)
 id 1mJdJZ-0006D7-1y
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 14:58:41 +0000
Received: from mail-pl1-x62b.google.com (unknown [2607:f8b0:4864:20::62b])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 36cd4497-de93-4c6a-855c-6ffa0e572413;
 Fri, 27 Aug 2021 14:58:40 +0000 (UTC)
Received: by mail-pl1-x62b.google.com with SMTP id n12so4085110plk.10
 for <xen-devel@lists.xenproject.org>; Fri, 27 Aug 2021 07:58:40 -0700 (PDT)
Received: from google.com (157.214.185.35.bc.googleusercontent.com.
 [35.185.214.157])
 by smtp.gmail.com with ESMTPSA id e11sm6590628pfn.49.2021.08.27.07.58.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Aug 2021 07:58: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: 36cd4497-de93-4c6a-855c-6ffa0e572413
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20161025;
        h=date:from:to:cc:subject:message-id:references:mime-version
         :content-disposition:in-reply-to;
        bh=uRFFUbAhELNbaSp6/gZa0c8lVubPxa9shGc4LpwPEKA=;
        b=LaTxPm5alTPx3ec48IA6+ZkyOejP1tGYjt5wY+p50UOfksJNBKAzDXOzoDDiJpQJ7C
         7ZlQ2CaQrXUZrhEVe/+L/sf91LGMM0vWjp8eP3YRAXU34kmcSmT/loEOx2KY28gVVCsl
         oNwRHnusQG6CUmxymYZ58t9NT8p9wB0iZAAe71TUcHWHnrhk4i1QLthTClskPP73rEx7
         8W5oVGVmckueDqbKs0mB5YdxIHBLQgh+JwU0k3CO0TH8YixDpwG1SB6F/loD+NPrNZ2l
         0CosQb5gLTnLJ9MX51KpbZFvZYLNN8TvF8Ol0HP7oCHqmHClmMDvOIzUAi7IGzMuFHXf
         oANw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:date:from:to:cc:subject:message-id:references
         :mime-version:content-disposition:in-reply-to;
        bh=uRFFUbAhELNbaSp6/gZa0c8lVubPxa9shGc4LpwPEKA=;
        b=bQlnAEImCIetC/Wr5VV8sjwEkrSwnpnEF7w3RC/30seBHwBT1K1JolzgAOnh76N0Sp
         O4l+fLvroeCp0DuBHw8cL1vO5joubp4bFOCeDrdNKTmVpyaaR/mlqcs1nYXSw6WSW++T
         IPRReZhRSKIJA+fWAo4KlbVF2oaaLMAWMJVXm/AAbYodEqVom0lEae1y63N3rXhT2Vpb
         xZj9ZiC9MyWzVjHoJrUuHLOxXOtvRtS4wA2rg9aLxpNJSi9L0CPXhkj9fDjAJX1uLJGN
         hnHj0QT8kZqFe1FuddT22qRvat9A0TeLe7YmX7SABY/4jITE/qcC6spDn71dXVOHXbR0
         WXEw==
X-Gm-Message-State: AOAM532bIukJYVayM701yBy/oHoPIt5v3b3w9/rDmaLP2BgzQqeagUEy
	1OuEpQDn8cLM5UCRRZn6xk929g==
X-Google-Smtp-Source: ABdhPJzgh09WISpUzNhO7TIEv2MEhpi/JDC49fmE6awwyfv/L0ffcVcqSZUNcnR7TJ7/0hyFRiQ/2g==
X-Received: by 2002:a17:902:e20a:b0:134:221f:657d with SMTP id u10-20020a170902e20a00b00134221f657dmr9134631plb.78.1630076319283;
        Fri, 27 Aug 2021 07:58:39 -0700 (PDT)
Date: Fri, 27 Aug 2021 14:58:35 +0000
From: Sean Christopherson <seanjc@google.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
	Ingo Molnar <mingo@redhat.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Marc Zyngier <maz@kernel.org>, Guo Ren <guoren@kernel.org>,
	Nick Hu <nickhu@andestech.com>, Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Thomas Gleixner <tglx@linutronix.de>,
	Borislav Petkov <bp@alien8.de>, x86@kernel.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
	James Morse <james.morse@arm.com>,
	Alexandru Elisei <alexandru.elisei@arm.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu,
	linux-csky@vger.kernel.org, linux-riscv@lists.infradead.org,
	kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
	Artem Kashkanov <artem.kashkanov@intel.com>,
	Like Xu <like.xu.linux@gmail.com>,
	Zhu Lingshan <lingshan.zhu@intel.com>
Subject: Re: [PATCH 07/15] KVM: Use dedicated flag to track if KVM is
 handling an NMI from guest
Message-ID: <YSj9mz4F2NDSKaas@google.com>
References: <20210827005718.585190-1-seanjc@google.com>
 <20210827005718.585190-8-seanjc@google.com>
 <YSiUnDbi/aZ3nunT@hirez.programming.kicks-ass.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <YSiUnDbi/aZ3nunT@hirez.programming.kicks-ass.net>

On Fri, Aug 27, 2021, Peter Zijlstra wrote:
> On Thu, Aug 26, 2021 at 05:57:10PM -0700, Sean Christopherson wrote:
> > diff --git a/arch/x86/kvm/x86.h b/arch/x86/kvm/x86.h
> > index 5cedc0e8a5d5..4c5ba4128b38 100644
> > --- a/arch/x86/kvm/x86.h
> > +++ b/arch/x86/kvm/x86.h
> > @@ -395,9 +395,10 @@ static inline void kvm_unregister_perf_callbacks(void)
> >  
> >  DECLARE_PER_CPU(struct kvm_vcpu *, current_vcpu);
> >  
> > -static inline void kvm_before_interrupt(struct kvm_vcpu *vcpu)
> > +static inline void kvm_before_interrupt(struct kvm_vcpu *vcpu, bool is_nmi)
> >  {
> >  	__this_cpu_write(current_vcpu, vcpu);
> > +	WRITE_ONCE(vcpu->arch.handling_nmi_from_guest, is_nmi);
> >  
> >  	kvm_register_perf_callbacks();
> >  }
> > @@ -406,6 +407,7 @@ static inline void kvm_after_interrupt(struct kvm_vcpu *vcpu)
> >  {
> >  	kvm_unregister_perf_callbacks();
> >  
> > +	WRITE_ONCE(vcpu->arch.handling_nmi_from_guest, false);
> >  	__this_cpu_write(current_vcpu, NULL);
> >  }
> 
> Does this rely on kvm_{,un}register_perf_callback() being a function
> call and thus implying a sequence point to order the stores? 

No, I'm just terrible at remembering which macros provide what ordering guarantees,
i.e. I was thinking WRITE_ONCE provided guarantees against compiler reordering.


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 15:05:14 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 15:05:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173779.317057 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJdPq-00082D-6t; Fri, 27 Aug 2021 15:05:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173779.317057; Fri, 27 Aug 2021 15: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 1mJdPq-000826-3x; Fri, 27 Aug 2021 15:05:10 +0000
Received: by outflank-mailman (input) for mailman id 173779;
 Fri, 27 Aug 2021 15:05: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 1mJdPo-000820-Rf
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 15:05: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 1mJdPn-0007sY-JS; Fri, 27 Aug 2021 15:05:07 +0000
Received: from [54.239.6.188] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mJdPn-00019c-96; Fri, 27 Aug 2021 15: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=jU1xukSr/pJB02h1HlKdF2KEK0r9TkRp6W3KgPAVq8Q=; b=ssLwYfaeghCocuq0Jz5W6KJxy5
	rigkRVybSLs8YmT5C18k6RMSXp8zEYy5Db1/Pt8S08/wtcna57RV3Wt2jSCvu7QSdPakYnWxZ773e
	EpIPDihvEOq0uqxqSdSCqyDLy9EDxBgDUB5ZgpWmR48HGt8KKEX4/UjzDYqKDy3G8GLs=;
Subject: Re: [PATCH v3 7/7] xen/arm: Sanitize CTR_EL0 and emulate it if needed
To: Bertrand Marquis <bertrand.marquis@arm.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1629897306.git.bertrand.marquis@arm.com>
 <a7482653a0c29d68854846f25553f4938a6279b9.1629897306.git.bertrand.marquis@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <14b1639e-c9e4-f8fb-e921-73d7f28681ac@xen.org>
Date: Fri, 27 Aug 2021 16:05:05 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <a7482653a0c29d68854846f25553f4938a6279b9.1629897306.git.bertrand.marquis@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit

Hi Bertrand,

On 25/08/2021 14:18, Bertrand Marquis wrote:
> Sanitize CTR_EL0 value between cores.
> 
> In most cases different values will taint Xen but if different
> i-cache policies are found, we choose the one which will be compatible
> between all cores in terms of invalidation/data cache flushing strategy.

I understand that all the CPUs in Xen needs to agree on the cache flush 
strategy. However...

> 
> In this case we need to activate the TID2 bit in HCR to emulate the
> TCR_EL0 register for guests. This patch is not activating TID2 bit all
> the time to limit the overhead when possible.

as we discussed in an earlier version, a vCPU is unlikely (at least in 
short/medium) to be able move across pCPU of different type. So the vCPU 
would be pinned to a set of pCPUs. IOW, the guest would have to be 
big.LITTLE aware and therefore would be able to do its own strategy 
decision.

So I think we should be able to get away from trappings the registers.

> When TID2 is activate we also need to emulate the CCSIDR, CSSELR and
> CLIDR registers which is done here for both 32 and 64bit versions of the
> registers.
> 
> Add CTR register field definitions using Linux value and define names
> and use the opportunity to rename CTR_L1Ip to use an upper case name
> instead. The patch is also defining ICACHE_POLICY_xxx instead of only
> having CTR_L1IP_xxx. Code using those defines is also updated by this
> patch (arm32 setup).
> 
> On most big/LITTLE platforms this patch will activate TID2 and emulate
> VIPT type of i-cache for all cores (as most LITTLE cores are VIPT where
> big ones are PIPT). This is the case for example on Juno boards.
> 
> On platforms with only the same type of cores, this patch should not
> modify the behaviour.
> 
> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
> ---
> Changes in v3: none
> Change in v2: Patch introduced in v2
> ---
>   xen/arch/arm/arm64/cpufeature.c  | 19 +++++++++++---
>   xen/arch/arm/arm64/vsysreg.c     | 40 ++++++++++++++++++++++++++++
>   xen/arch/arm/cpufeature.c        |  2 ++
>   xen/arch/arm/domain.c            |  8 ++++++
>   xen/arch/arm/setup.c             |  2 +-
>   xen/arch/arm/vcpreg.c            | 45 ++++++++++++++++++++++++++++++++
>   xen/include/asm-arm/arm64/hsr.h  |  6 +++++
>   xen/include/asm-arm/cpufeature.h | 11 ++++++++
>   xen/include/asm-arm/processor.h  | 18 ++++++++++---
>   9 files changed, 143 insertions(+), 8 deletions(-)
> 
> diff --git a/xen/arch/arm/arm64/cpufeature.c b/xen/arch/arm/arm64/cpufeature.c
> index b1936ef1d6..334d590ba0 100644
> --- a/xen/arch/arm/arm64/cpufeature.c
> +++ b/xen/arch/arm/arm64/cpufeature.c
> @@ -275,9 +275,6 @@ static const struct arm64_ftr_bits ftr_id_aa64mmfr2[] = {
>   	ARM64_FTR_END,
>   };
>   
> -#if 0
> -/* TODO: use this to sanitize the cache line size among cores */
> -
>   static const struct arm64_ftr_bits ftr_ctr[] = {
>   	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_EXACT, 31, 1, 1), /* RES1 */
>   	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, CTR_DIC_SHIFT, 1, 1),
> @@ -294,7 +291,6 @@ static const struct arm64_ftr_bits ftr_ctr[] = {
>   	ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, CTR_IMINLINE_SHIFT, 4, 0),
>   	ARM64_FTR_END,
>   };
> -#endif
>   
>   static const struct arm64_ftr_bits ftr_id_mmfr0[] = {
>   	S_ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR0_INNERSHR_SHIFT, 4, 0xf),
> @@ -510,6 +506,12 @@ static s64 arm64_ftr_safe_value(const struct arm64_ftr_bits *ftrp, s64 new,
>    * End of imported linux structures and code
>    */
>   
> +/*
> + * This is set to true if we have different type of i-caches on cores
> + * and used to activate TID2 bit to emulate CTR_EL0 register for guests
> + */
> +bool mismatch_cache_type = false;

If we are still planning to trap and emulate the registers, then this 
needs to be an HW capability (see cpus_set_cap()).

> +
>   static void sanitize_reg(u64 *cur_reg, u64 new_reg, const char *reg_name,
>   						const struct arm64_ftr_bits *ftrp)
>   {
> @@ -600,6 +602,15 @@ void update_system_features(const struct cpuinfo_arm *new)
>   	 */
>   	SANITIZE_REG(dczid, 0, dczid);
>   
> +	SANITIZE_REG(ctr, 0, ctr);
> +
> +	/*
> +	 * If CTR is different among cores, set mismatch_cache_type to activate
> +	 * TID2 bit in HCR and emulate CTR register access for guests.
> +	 */
> +	if ( system_cpuinfo.ctr.bits[0] != new->ctr.bits[0] )
> +		mismatch_cache_type = true;
> +
>   	if ( cpu_feature64_has_el0_32(&system_cpuinfo) )
>   	{
>   		SANITIZE_ID_REG(pfr32, 0, pfr0);
> diff --git a/xen/arch/arm/arm64/vsysreg.c b/xen/arch/arm/arm64/vsysreg.c
> index 887266dd46..17212bd7ae 100644
> --- a/xen/arch/arm/arm64/vsysreg.c
> +++ b/xen/arch/arm/arm64/vsysreg.c
> @@ -341,6 +341,46 @@ void do_sysreg(struct cpu_user_regs *regs,
>       case HSR_SYSREG(3,0,c0,c7,7):
>           return handle_ro_raz(regs, regidx, hsr.sysreg.read, hsr, 1);
>   
> +    /*
> +     * HCR_EL2.TID2
> +     *
> +     * registers related to cache detection
> +     */
> +    case HSR_SYSREG_CTR_EL0:
> +        return handle_ro_read_val(regs, regidx, hsr.sysreg.read, hsr, 1,
> +                system_cpuinfo.ctr.bits[0]);

Coding style: This needs to be aligned with the first argument.

> +
> +    case HSR_SYSREG_CLIDR_EL1:
> +        return handle_ro_read_val(regs, regidx, hsr.sysreg.read, hsr, 1,
> +                READ_SYSREG(CLIDR_EL1));

Same.

> +
> +    case HSR_SYSREG_CSSELR_EL1:
> +        if ( psr_mode_is_user(regs) )
> +            return inject_undef_exception(regs, hsr);
> +        if ( hsr.sysreg.read )
> +            set_user_reg(regs, regidx, v->arch.csselr);
> +        else
> +            v->arch.csselr = get_user_reg(regs, regidx);
> +        break;
> +
> +    case HSR_SYSREG_CCSIDR_EL1:
> +        if ( psr_mode_is_user(regs) )
> +            return inject_undef_exception(regs, hsr);
> +        if ( hsr.sysreg.read )
> +        {
> +            /* we need to set CSSELR and do the read of CCSIDR atomically */

I couldn't find this requirement in the Arm Arm. Do you have the section 
at hand?

> +            WRITE_SYSREG(v->arch.csselr, CSSELR_EL1);
> +            set_user_reg(regs, regidx, READ_SYSREG(CCSIDR_EL1));
> +        }

 From the Arm Arm (D13.2.25 in ARM DDI 0487F.c):

"
If CSSELR_EL1.Level is programmed to a cache level that is not 
implemented, then on a read of the CCSIDR_EL1
the behavior is CONSTRAINED UNPREDICTABLE, and can be one of the following:
• The CCSIDR_EL1 read is treated as NOP.
• The CCSIDR_EL1 read is UNDEFINED.
• The CCSIDR_EL1 read returns an UNKNOWN value.
"

We can't trust the guest here, so we need to prevent any of this 
behavior (in particular 1 and 2) to happen. The options are:
  1) Sanitize the values from the guest
  2) Make sure the register is 0 before reading (for the NOP case to 
avoid leaking a value from Xen) and catch the undefined (some similar to 
the extable on x86).

> +        break;
> +
> +    case HSR_SYSREG_CCSIDR2_EL1:
> +        /*
> +         * This would need to return a properly defined value if CCIDX is
> +         * implemented in the processor
> +         */
> +        return inject_undef_exception(regs, hsr);
> +
>       /*
>        * HCR_EL2.TIDCP
>        *
> diff --git a/xen/arch/arm/cpufeature.c b/xen/arch/arm/cpufeature.c
> index 113f20f601..6e51f530a8 100644
> --- a/xen/arch/arm/cpufeature.c
> +++ b/xen/arch/arm/cpufeature.c
> @@ -127,6 +127,8 @@ void identify_cpu(struct cpuinfo_arm *c)
>   
>       c->dczid.bits[0] = READ_SYSREG(DCZID_EL0);
>   
> +    c->ctr.bits[0] = READ_SYSREG(CTR_EL0);
> +
>       aarch32_el0 = cpu_feature64_has_el0_32(c);
>   #endif
>   
> diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
> index 19c756ac3d..7a97fde3e7 100644
> --- a/xen/arch/arm/domain.c
> +++ b/xen/arch/arm/domain.c
> @@ -585,6 +585,14 @@ int arch_vcpu_create(struct vcpu *v)
>       v->arch.vmpidr = MPIDR_SMP | vcpuid_to_vaffinity(v->vcpu_id);
>   
>       v->arch.hcr_el2 = get_default_hcr_flags();
> +#ifdef CONFIG_ARM64

This #ifdef could be droppped if we use an HW caps.

> +    /*
> +     * Only activated TID2 to catch access to CTR_EL0 if the platform has some
> +     * mismatching i-cache types among cores
> +     */
> +    if ( mismatch_cache_type )
> +        v->arch.hcr_el2 |= HCR_TID2;
> +#endif
>   
>       if ( (rc = vcpu_vgic_init(v)) != 0 )
>           goto fail;
> diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
> index 3798c5ade0..33b7bfb59c 100644
> --- a/xen/arch/arm/setup.c
> +++ b/xen/arch/arm/setup.c
> @@ -627,7 +627,7 @@ static void __init setup_mm(void)
>           panic("No memory bank\n");
>   
>       /* We only supports instruction caches implementing the IVIPT extension. */
> -    if ( ((ctr >> CTR_L1Ip_SHIFT) & CTR_L1Ip_MASK) == CTR_L1Ip_AIVIVT )
> +    if ( ((ctr >> CTR_L1IP_SHIFT) & CTR_L1IP_MASK) == ICACHE_POLICY_AIVIVT )
>           panic("AIVIVT instruction cache not supported\n");
>   
>       init_pdx();
> diff --git a/xen/arch/arm/vcpreg.c b/xen/arch/arm/vcpreg.c
> index 33259c4194..5ffed96ded 100644
> --- a/xen/arch/arm/vcpreg.c
> +++ b/xen/arch/arm/vcpreg.c
> @@ -361,6 +361,51 @@ void do_cp15_32(struct cpu_user_regs *regs, const union hsr hsr)
>       HSR_CPREG32_TID3_CASES(c7):
>           return handle_ro_raz(regs, regidx, cp32.read, hsr, 1);
>   
> +#ifdef CONFIG_ARM64
> +    /*
> +     * HCR_EL2.TID2
> +     *
> +     * registers related to cache detection
> +     * Only supported on arm64 as we do not sanitize cpuinfo on arm32 so we
> +     * do not need to emulate those.
> +     */
> +    case HSR_CPREG32(CTR):
> +        return handle_ro_read_val(regs, regidx, cp32.read, hsr, 1,
> +                system_cpuinfo.ctr.bits[0]);
> +
> +    case HSR_CPREG32(CLIDR):
> +        return handle_ro_read_val(regs, regidx, cp32.read, hsr, 1,
> +                READ_SYSREG(CLIDR_EL1));
> +
> +    case HSR_CPREG32(CSSELR):
> +        if ( psr_mode_is_user(regs) )
> +            return inject_undef_exception(regs, hsr);
> +        if ( cp32.read )
> +            set_user_reg(regs, regidx, v->arch.csselr);
> +        else
> +            v->arch.csselr = get_user_reg(regs, regidx);
> +        break;
> +
> +    case HSR_CPREG32(CCSIDR):
> +        if ( psr_mode_is_user(regs) )
> +            return inject_undef_exception(regs, hsr);
> +        if ( cp32.read )
> +        {
> +            /* we need to set CSSELR and do the read of CCSIDR atomically */
> +            WRITE_SYSREG(v->arch.csselr, CSSELR_EL1);
> +            set_user_reg(regs, regidx, READ_SYSREG(CCSIDR_EL1));
> +        }
> +        break;
> +
> +    case HSR_CPREG32(CCSIDR2):
> +        /*
> +         * This would need to return a properly defined value if CCIDX is
> +         * implemented in the processor
> +         */
> +        return inject_undef_exception(regs, hsr);
> +
> +#endif
> +
>       /*
>        * HCR_EL2.TIDCP
>        *
> diff --git a/xen/include/asm-arm/arm64/hsr.h b/xen/include/asm-arm/arm64/hsr.h
> index e691d41c17..c33980e4e5 100644
> --- a/xen/include/asm-arm/arm64/hsr.h
> +++ b/xen/include/asm-arm/arm64/hsr.h
> @@ -147,6 +147,12 @@
>   #define HSR_SYSREG_ID_AA64AFR1_EL1   HSR_SYSREG(3,0,c0,c5,5)
>   #define HSR_SYSREG_ID_AA64ZFR0_EL1   HSR_SYSREG(3,0,c0,c4,4)
>   
> +#define HSR_SYSREG_CTR_EL0      HSR_SYSREG(3,3,c0,c0,1)
> +#define HSR_SYSREG_CLIDR_EL1    HSR_SYSREG(3,1,c0,c0,1)
> +#define HSR_SYSREG_CSSELR_EL1   HSR_SYSREG(3,2,c0,c0,0)
> +#define HSR_SYSREG_CCSIDR_EL1   HSR_SYSREG(3,1,c0,c0,0)
> +#define HSR_SYSREG_CCSIDR2_EL1  HSR_SYSREG(3,1,c0,c0,2)
> +
>   #endif /* __ASM_ARM_ARM64_HSR_H */
>   
>   /*
> diff --git a/xen/include/asm-arm/cpufeature.h b/xen/include/asm-arm/cpufeature.h
> index 5219fd3bab..ca6e827fcb 100644
> --- a/xen/include/asm-arm/cpufeature.h
> +++ b/xen/include/asm-arm/cpufeature.h
> @@ -267,6 +267,14 @@ struct cpuinfo_arm {
>           register_t bits[1];
>       } dczid;
>   
> +    /*
> +     * CTR is only used to check for different cache types or policies and
> +     * taint Xen in this case
> +     */
> +    struct {
> +        register_t bits[1];
> +    } ctr;
> +
>   #endif
>   
>       /*
> @@ -339,6 +347,9 @@ extern struct cpuinfo_arm system_cpuinfo;
>   extern void identify_cpu(struct cpuinfo_arm *);
>   
>   #ifdef CONFIG_ARM_64
> +
> +extern bool mismatched_cache_type;
> +
>   extern void update_system_features(const struct cpuinfo_arm *);
>   #else
>   static inline void update_system_features(const struct cpuinfo_arm *cpuinfo)
> diff --git a/xen/include/asm-arm/processor.h b/xen/include/asm-arm/processor.h
> index 2577e9a244..8c9843e12b 100644
> --- a/xen/include/asm-arm/processor.h
> +++ b/xen/include/asm-arm/processor.h
> @@ -7,9 +7,21 @@
>   #include <public/arch-arm.h>
>   
>   /* CTR Cache Type Register */
> -#define CTR_L1Ip_MASK       0x3
> -#define CTR_L1Ip_SHIFT      14
> -#define CTR_L1Ip_AIVIVT     0x1
> +#define CTR_L1IP_MASK       0x3
> +#define CTR_L1IP_SHIFT      14
> +#define CTR_DMINLINE_SHIFT  16
> +#define CTR_IMINLINE_SHIFT  0
> +#define CTR_IMINLINE_MASK   0xf
> +#define CTR_ERG_SHIFT       20
> +#define CTR_CWG_SHIFT       24
> +#define CTR_CWG_MASK        15
> +#define CTR_IDC_SHIFT       28
> +#define CTR_DIC_SHIFT       29
> +
> +#define ICACHE_POLICY_VPIPT  0
> +#define ICACHE_POLICY_AIVIVT 1
> +#define ICACHE_POLICY_VIPT   2
> +#define ICACHE_POLICY_PIPT   3
>   
>   /* MIDR Main ID Register */
>   #define MIDR_REVISION_MASK      0xf
> 

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 15:22:46 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 15:22:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173784.317068 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJdgn-0002Wb-Ow; Fri, 27 Aug 2021 15:22:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173784.317068; Fri, 27 Aug 2021 15:22: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 1mJdgn-0002WU-Kz; Fri, 27 Aug 2021 15:22:41 +0000
Received: by outflank-mailman (input) for mailman id 173784;
 Fri, 27 Aug 2021 15:22:40 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=4zmw=NS=google.com=seanjc@srs-us1.protection.inumbo.net>)
 id 1mJdgm-0002WM-9N
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 15:22:40 +0000
Received: from mail-pf1-x434.google.com (unknown [2607:f8b0:4864:20::434])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 8e4e122d-14fc-4d3e-b95f-9d6009390982;
 Fri, 27 Aug 2021 15:22:39 +0000 (UTC)
Received: by mail-pf1-x434.google.com with SMTP id e16so5543034pfc.6
 for <xen-devel@lists.xenproject.org>; Fri, 27 Aug 2021 08:22:39 -0700 (PDT)
Received: from google.com (157.214.185.35.bc.googleusercontent.com.
 [35.185.214.157])
 by smtp.gmail.com with ESMTPSA id q3sm7448697pgf.18.2021.08.27.08.22.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Aug 2021 08:22: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: 8e4e122d-14fc-4d3e-b95f-9d6009390982
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20161025;
        h=date:from:to:cc:subject:message-id:references:mime-version
         :content-disposition:in-reply-to;
        bh=QatDM27fKYA9pWDzVSAqlJ2DDoFQbm13fmaaMfb9ulg=;
        b=LbfQeRJPD2tlThKAHYznAy0sM0IgIfh1wTpRJBZ2a8T56zVu98PuMUUVUbHs4fqFWr
         6+86/kLM/nQLlWQf9dDa+no5hVa+6sXIHhmX9R3rM1SD9hRro8HWA2j/NGyx2O8VrgV+
         oGP6lA9WOmK8FVw2oSIVs+avOR5GJ+s6JTH9S2ut8a2dmjwSmakGT8siao8WSM0rYY/D
         l8AtqZP9IsjFRz1XRX7SFZjz8ry7nluU0QO8loudJxQXIIhTLPgOJCI+sU7b8vw4rsbo
         7ceZSl6gyIwnJ0+ZB+tg2Cex82NuQqvIiek/SOq2xNCKjHmmV/miz2C81kIq6WQooMor
         pjmw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:date:from:to:cc:subject:message-id:references
         :mime-version:content-disposition:in-reply-to;
        bh=QatDM27fKYA9pWDzVSAqlJ2DDoFQbm13fmaaMfb9ulg=;
        b=EeukTt5O3irqxe2T4ktZYg+IcqMvwO1dWxKurDsU3zIWq1Lzj2Y8xGbbrtnHvq9nfF
         BZh9xnfixlCDj/bwptzuo+TFDL6Se5RggTaOU8CjORcA/hn3yt9oNF+V7nROHolcsa/j
         pyW7NWmj2sowgRcCsuTp76xCjFbtXDkkw8MDISQ4oqc6zZMzS/vnuLoBmXMbuy6ZedXW
         xM+clJtSn06jGWtXzNgJzI3BCR1A+/0ArYHnUiNI49MFyuofJJ1A91eJE2LJYnxdjZdd
         t2X44u3z3Kv1HK8QhTrIYajZHfHzTrjPsunsMnk1REb5tMbh41GmIGh9NBI075j507uQ
         UYlg==
X-Gm-Message-State: AOAM533FisRu3fs5/QG+uK2jTyhUAzOij3Nmh+Uc/6msZ3KX2xi6mznS
	GCnBm5QONivRXawLMWYGwxYKrQ==
X-Google-Smtp-Source: ABdhPJzEumx17gqrFfS4IgX2tHxkXDWTQYfyqElR8d63vRz/R/VGX/kHlh1uWjTReV2Ta0/ixjnVag==
X-Received: by 2002:a05:6a00:26f6:b0:3ed:834e:153 with SMTP id p54-20020a056a0026f600b003ed834e0153mr9605926pfw.53.1630077758383;
        Fri, 27 Aug 2021 08:22:38 -0700 (PDT)
Date: Fri, 27 Aug 2021 15:22:33 +0000
From: Sean Christopherson <seanjc@google.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
	Ingo Molnar <mingo@redhat.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Marc Zyngier <maz@kernel.org>, Guo Ren <guoren@kernel.org>,
	Nick Hu <nickhu@andestech.com>, Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Thomas Gleixner <tglx@linutronix.de>,
	Borislav Petkov <bp@alien8.de>, x86@kernel.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
	James Morse <james.morse@arm.com>,
	Alexandru Elisei <alexandru.elisei@arm.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu,
	linux-csky@vger.kernel.org, linux-riscv@lists.infradead.org,
	kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
	Artem Kashkanov <artem.kashkanov@intel.com>,
	Like Xu <like.xu.linux@gmail.com>,
	Zhu Lingshan <lingshan.zhu@intel.com>
Subject: Re: [PATCH 05/15] perf: Track guest callbacks on a per-CPU basis
Message-ID: <YSkDOWze5dBHkJnA@google.com>
References: <20210827005718.585190-1-seanjc@google.com>
 <20210827005718.585190-6-seanjc@google.com>
 <YSiRBQQE7md7ZrNC@hirez.programming.kicks-ass.net>
 <YSj7jq32U8Euf38o@google.com>
 <YSj9LQfbKxOhxqcP@hirez.programming.kicks-ass.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <YSj9LQfbKxOhxqcP@hirez.programming.kicks-ass.net>

On Fri, Aug 27, 2021, Peter Zijlstra wrote:
> On Fri, Aug 27, 2021 at 02:49:50PM +0000, Sean Christopherson wrote:
> > On Fri, Aug 27, 2021, Peter Zijlstra wrote:
> > > On Thu, Aug 26, 2021 at 05:57:08PM -0700, Sean Christopherson wrote:
> > > > Use a per-CPU pointer to track perf's guest callbacks so that KVM can set
> > > > the callbacks more precisely and avoid a lurking NULL pointer dereference.
> > > 
> > > I'm completely failing to see how per-cpu helps anything here...
> > 
> > It doesn't help until KVM is converted to set the per-cpu pointer in flows that
> > are protected against preemption, and more specifically when KVM only writes to
> > the pointer from the owning CPU.  
> 
> So the 'problem' I have with this is that sane (!KVM using) people, will
> still have to suffer that load, whereas with the static_call() we patch
> in an 'xor %rax,%rax' and only have immediate code flow.

Again, I've no objection to the static_call() approach.  I didn't even see the
patch until I had finished testing my series :-/

> > Ignoring static call for the moment, I don't see how the unreg side can be safe
> > using a bare single global pointer.  There is no way for KVM to prevent an NMI
> > from running in parallel on a different CPU.  If there's a more elegant solution,
> > especially something that can be backported, e.g. an rcu-protected pointer, I'm
> > all for it.  I went down the per-cpu path because it allowed for cleanups in KVM,
> > but similar cleanups can be done without per-cpu perf callbacks.
> 
> If all the perf_guest_cbs dereferences are with preemption disabled
> (IRQs disabled, IRQ context, NMI context included), then the sequence:
> 
> 	WRITE_ONCE(perf_guest_cbs, NULL);
> 	synchronize_rcu();
> 
> Ensures that all prior observers of perf_guest_csb will have completed
> and future observes must observe the NULL value.

That alone won't be sufficient, as the read side also needs to ensure it doesn't
reload perf_guest_cbs between NULL checks and dereferences.  But that's easy
enough to solve with a READ_ONCE and maybe a helper to make it more cumbersome
to use perf_guest_cbs directly.

How about this for a series?

  1. Use READ_ONCE/WRITE_ONCE + synchronize_rcu() to fix the underlying bug
  2. Fix KVM PT interrupt handler bug
  3. Kill off perf_guest_cbs usage in architectures that don't need the callbacks
  4. Replace ->is_in_guest()/->is_user_mode() with ->state(), and s/get_guest_ip/get_ip
  5. Implement static_call() support
  6. Cleanups, if there are any
  6..N KVM cleanups, e.g. to eliminate current_vcpu and share x86+arm64 callbacks


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 16:42:03 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 16:42:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173790.317079 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJevN-0004Pd-4i; Fri, 27 Aug 2021 16:41:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173790.317079; Fri, 27 Aug 2021 16:41:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJevN-0004PW-0i; Fri, 27 Aug 2021 16:41:49 +0000
Received: by outflank-mailman (input) for mailman id 173790;
 Fri, 27 Aug 2021 16:41:47 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mJevL-0004PQ-OF
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 16:41:47 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mJevL-0001c4-MO
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 16:41:47 +0000
Received: from iwj (helo=mariner.uk.xensource.com)
 by xenbits.xenproject.org with local-bsmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mJevL-0007vi-Kr
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 16:41:47 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.89)
 (envelope-from <iwj@xenproject.org>)
 id 1mJevI-00034J-AH; Fri, 27 Aug 2021 17:41:44 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Subject:CC:To:Date:Message-ID:
	Content-Transfer-Encoding:Content-Type:MIME-Version:From;
	bh=HolTDPaE2qS+ObH60KgaiHUAH+tZ0/vP5+AlAQzjJH4=; b=1SmiV0M30V6DGMqvRc9u8/ysd3
	UVeUDfkuwL2V5oj/T+kZJCEFXi9pHZTJLZANw24YcFAOATTWSYcoeC1BmNh1/F10yd5VLF7ek1TMI
	v6wrPfa/jd+X6BTWQCr9MhpHZD+vX9VVSW5PzUUK7wiRXRRLLQ1VlAR4xFNH6QyEsX6Y=;
From: Ian Jackson <iwj@xenproject.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <24873.5576.45086.392600@mariner.uk.xensource.com>
Date: Fri, 27 Aug 2021 17:41:44 +0100
To: committers@xenproject.org
CC: xen-devel@lists.xenproject.org,
    George Dunlap <George.Dunlap@citrix.com>
Subject: Xen 4.16 release schedule
X-Mailer: VM 8.2.0b under 24.5.1 (i686-pc-linux-gnu)

Thanks everyone for your input and your support.  The consensus
seems to be that, despite this release being a little thin, we should
keep to the usual cadence.  There were multiple requests to slip by
about a week, which for this release seems a reasonable risk to take.
I'm hoping that we can achieve this by compressing the freeze.

So, here is the release schedule for Xen 4.16.

  Friday 24th September                 Last posting date

    Patches adding new features should be posted to the mailing list
    by this cate, although perhaps not in their final version.
    (3 weeks)

  Friday 15th October                   Feature freeze
 
    Patches adding new features should be committed by this date.
    Straightforward bugfixes may continue to be accepted by
    maintainers.
    (3 weeks)

  Friday 5th November **tentatve**      Code freeze

    Bugfixes only, all changes to be approved by the Release Manager,
    on the basis of a (progressively stricter[*]) risk assessment.
    (2 weeks)

  Friday 19th November **tentative**    Hard code freeze [*]

    Bugfixes for serious bugs (including regressions), and low-risk
    fixes only.
    (0.5 weeks)

  Tuesday 23rd November **tentative**   Branch off staging-4.16
                                        
    xen-unstable open again - with caveats to avoid release disruption.
    (1.5 weeks)

  Friday 3rd December **tentative**     Final commits (docs/prep only)
  Week of 6th December **tentative**    Release
    (probably Tuesday or Wednesday)

Any patches containing substantial refactoring are to treated as
new features, even if they intent is to fix bugs.

Freeze exceptions will not be routine, but may be granted in
exceptional cases for small changes (on the basis of risk assessment,
like any release-ack).  Large series will not get exceptions.
Contributors *must not* rely on, or expect, a freeze exception, or
release schedule slip.

If as a feature proponent you feel your feature is at risk and there
is something the Xen Project could do to help, please consult me or
ask here on xen-devel.  In such situations please reach out earlier
rather than later.  I will try to put you in touch with people who may
be able to help.

[*] The distinction between Code Freeze and Hard Code Freeze is a
matter of degree, not kind; the Hard Code Freeze data and associated
tighter policy text is indicative rather than normative.

Thanks,
Ian.

PS Sorry for not posting this on Wednesday.  I suffered a series of
hardware failures in my home network.  It was all rather
https://xkcd.com/349/ for a while but I have made it back to land now.


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 17:21:30 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 17:21:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173801.317101 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJfXk-0001NR-Hm; Fri, 27 Aug 2021 17:21:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173801.317101; Fri, 27 Aug 2021 17: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 1mJfXk-0001NK-En; Fri, 27 Aug 2021 17:21:28 +0000
Received: by outflank-mailman (input) for mailman id 173801;
 Fri, 27 Aug 2021 17:21:27 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=brRM=NS=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mJfXj-00016Q-Ml
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 17:21:27 +0000
Received: from mail-pg1-x534.google.com (unknown [2607:f8b0:4864:20::534])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id a8e4df1c-2153-4e7c-b0a1-865dfab1a0ac;
 Fri, 27 Aug 2021 17:21:24 +0000 (UTC)
Received: by mail-pg1-x534.google.com with SMTP id w8so6495932pgf.5
 for <xen-devel@lists.xenproject.org>; Fri, 27 Aug 2021 10:21:24 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:36:ef50:8fcd:44d1:eb17])
 by smtp.gmail.com with ESMTPSA id f5sm7155015pjo.23.2021.08.27.10.21.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Aug 2021 10:21: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: a8e4df1c-2153-4e7c-b0a1-865dfab1a0ac
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=8Nk88C9e1YSHytuy/urYiBm6Fh5qFSuemVpCrvWv3wM=;
        b=db5MNBSjoza6wsbnzpTXcqhXMWNAkPil3VzTzRkr8eab8nRn2vsvGPetAqygAw9Oti
         z9PQvIHMo6mHcaqWgvsteCbwKuLYm5f3eLHVWICjJlCTf6EK3HrUHXv9NRulvSbupxpB
         sJCrCbtW71aQAWI7MFFPYOvcSuzX4caFNCQXBsgoBxwA+2lUG0w6wj0SNE6/dFS/ZZMN
         fZWAla5uWMXjB9Y5JLmibogA2NGNW9mHorSwWfKfZL+QylXBH0ubW+UylhiSONw5dBIT
         raikB2e0Z44S56mI5Y4m5Htbrd0tHhDr5TIhkbA8+U5dincKUJsV/ZJRk3QlCwnvE2FZ
         756w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=8Nk88C9e1YSHytuy/urYiBm6Fh5qFSuemVpCrvWv3wM=;
        b=rNKj4aX5E6osTC+AJKceX0mQOD3bVIvzFF5nlCAardJ7QjlnP13CVBq79rh9qyQrqt
         xOiO+8b/wNBhHRu3ocbJSHs5gTZJMsudIl9WGZswfnJGPwDpDmbEp+ybEDgsjEzo6T//
         Ihnlv9q/QYD4Q0e+oY7aVJ2rZd55PSKoNlOcqLrteSU05CC2f6yLaE6tdImUTzjGub9k
         6omw8/UCaAnaHk+bpw5DXyd37Awkg3ZWrfpCExNmYSX4OrOpxJLBuQA5MzvJab5eiiJl
         FGsL3Q7k8ILO0clabHitc1FRyIILELeSq0QqOYU3U7PewH0vi/DjGbfyGaCjvSFgTCki
         lOwA==
X-Gm-Message-State: AOAM532Ccm3HiqRt9OIi7kOpwr7SG3g3RFylvngvjb34EXwhPRWNUpwG
	oxKE+bEcokzXGXSJ1tHo06A=
X-Google-Smtp-Source: ABdhPJyHLaXpMtlT/ZlRFeVCoAbs+0dWwpmbMrqQ/Sjs8GeDF6jIbsyeb/ptNZwnBj40znc0QMZmfA==
X-Received: by 2002:a63:fc0a:: with SMTP id j10mr8717240pgi.136.1630084884095;
        Fri, 27 Aug 2021 10:21:24 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	catalin.marinas@arm.com,
	will@kernel.org,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	gregkh@linuxfoundation.org,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	brijesh.singh@amd.com,
	thomas.lendacky@amd.com,
	Tianyu.Lan@microsoft.com,
	pgonda@google.com,
	martin.b.radev@gmail.com,
	akpm@linux-foundation.org,
	kirill.shutemov@linux.intel.com,
	rppt@kernel.org,
	hannes@cmpxchg.org,
	aneesh.kumar@linux.ibm.com,
	krish.sadhukhan@oracle.com,
	saravanand@fb.com,
	linux-arm-kernel@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	rientjes@google.com,
	ardb@kernel.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com,
	dave.hansen@intel.com
Subject: [PATCH V4 01/13] x86/hyperv: Initialize GHCB page in Isolation VM
Date: Fri, 27 Aug 2021 13:20:59 -0400
Message-Id: <20210827172114.414281-2-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210827172114.414281-1-ltykernel@gmail.com>
References: <20210827172114.414281-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

Hyperv exposes GHCB page via SEV ES GHCB MSR for SNP guest
to communicate with hypervisor. Map GHCB page for all
cpus to read/write MSR register and submit hvcall request
via ghcb page.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
Chagne since v3:
        * Rename ghcb_base to hv_ghcb_pg and move it out of
	  struct ms_hyperv_info.
	* Allocate hv_ghcb_pg before cpuhp_setup_state() and leverage
	  hv_cpu_init() to initialize ghcb page.
---
 arch/x86/hyperv/hv_init.c       | 68 +++++++++++++++++++++++++++++----
 arch/x86/include/asm/mshyperv.h |  4 ++
 arch/x86/kernel/cpu/mshyperv.c  |  3 ++
 include/asm-generic/mshyperv.h  |  1 +
 4 files changed, 69 insertions(+), 7 deletions(-)

diff --git a/arch/x86/hyperv/hv_init.c b/arch/x86/hyperv/hv_init.c
index 708a2712a516..eba10ed4f73e 100644
--- a/arch/x86/hyperv/hv_init.c
+++ b/arch/x86/hyperv/hv_init.c
@@ -20,6 +20,7 @@
 #include <linux/kexec.h>
 #include <linux/version.h>
 #include <linux/vmalloc.h>
+#include <linux/io.h>
 #include <linux/mm.h>
 #include <linux/hyperv.h>
 #include <linux/slab.h>
@@ -36,12 +37,42 @@ EXPORT_SYMBOL_GPL(hv_current_partition_id);
 void *hv_hypercall_pg;
 EXPORT_SYMBOL_GPL(hv_hypercall_pg);
 
+void __percpu **hv_ghcb_pg;
+
 /* Storage to save the hypercall page temporarily for hibernation */
 static void *hv_hypercall_pg_saved;
 
 struct hv_vp_assist_page **hv_vp_assist_page;
 EXPORT_SYMBOL_GPL(hv_vp_assist_page);
 
+static int hyperv_init_ghcb(void)
+{
+	u64 ghcb_gpa;
+	void *ghcb_va;
+	void **ghcb_base;
+
+	if (!hv_isolation_type_snp())
+		return 0;
+
+	if (!hv_ghcb_pg)
+		return -EINVAL;
+
+	/*
+	 * GHCB page is allocated by paravisor. The address
+	 * returned by MSR_AMD64_SEV_ES_GHCB is above shared
+	 * ghcb boundary and map it here.
+	 */
+	rdmsrl(MSR_AMD64_SEV_ES_GHCB, ghcb_gpa);
+	ghcb_va = memremap(ghcb_gpa, HV_HYP_PAGE_SIZE, MEMREMAP_WB);
+	if (!ghcb_va)
+		return -ENOMEM;
+
+	ghcb_base = (void **)this_cpu_ptr(hv_ghcb_pg);
+	*ghcb_base = ghcb_va;
+
+	return 0;
+}
+
 static int hv_cpu_init(unsigned int cpu)
 {
 	union hv_vp_assist_msr_contents msr = { 0 };
@@ -85,7 +116,7 @@ static int hv_cpu_init(unsigned int cpu)
 		}
 	}
 
-	return 0;
+	return hyperv_init_ghcb();
 }
 
 static void (*hv_reenlightenment_cb)(void);
@@ -177,6 +208,14 @@ static int hv_cpu_die(unsigned int cpu)
 {
 	struct hv_reenlightenment_control re_ctrl;
 	unsigned int new_cpu;
+	void **ghcb_va;
+
+	if (hv_ghcb_pg) {
+		ghcb_va = (void **)this_cpu_ptr(hv_ghcb_pg);
+		if (*ghcb_va)
+			memunmap(*ghcb_va);
+		*ghcb_va = NULL;
+	}
 
 	hv_common_cpu_die(cpu);
 
@@ -366,10 +405,16 @@ void __init hyperv_init(void)
 		goto common_free;
 	}
 
+	if (hv_isolation_type_snp()) {
+		hv_ghcb_pg = alloc_percpu(void *);
+		if (!hv_ghcb_pg)
+			goto free_vp_assist_page;
+	}
+
 	cpuhp = cpuhp_setup_state(CPUHP_AP_ONLINE_DYN, "x86/hyperv_init:online",
 				  hv_cpu_init, hv_cpu_die);
 	if (cpuhp < 0)
-		goto free_vp_assist_page;
+		goto free_ghcb_page;
 
 	/*
 	 * Setup the hypercall page and enable hypercalls.
@@ -383,10 +428,8 @@ void __init hyperv_init(void)
 			VMALLOC_END, GFP_KERNEL, PAGE_KERNEL_ROX,
 			VM_FLUSH_RESET_PERMS, NUMA_NO_NODE,
 			__builtin_return_address(0));
-	if (hv_hypercall_pg == NULL) {
-		wrmsrl(HV_X64_MSR_GUEST_OS_ID, 0);
-		goto remove_cpuhp_state;
-	}
+	if (hv_hypercall_pg == NULL)
+		goto clean_guest_os_id;
 
 	rdmsrl(HV_X64_MSR_HYPERCALL, hypercall_msr.as_uint64);
 	hypercall_msr.enable = 1;
@@ -456,8 +499,11 @@ void __init hyperv_init(void)
 	hv_query_ext_cap(0);
 	return;
 
-remove_cpuhp_state:
+clean_guest_os_id:
+	wrmsrl(HV_X64_MSR_GUEST_OS_ID, 0);
 	cpuhp_remove_state(cpuhp);
+free_ghcb_page:
+	free_percpu(hv_ghcb_pg);
 free_vp_assist_page:
 	kfree(hv_vp_assist_page);
 	hv_vp_assist_page = NULL;
@@ -559,3 +605,11 @@ bool hv_is_isolation_supported(void)
 {
 	return hv_get_isolation_type() != HV_ISOLATION_TYPE_NONE;
 }
+
+DEFINE_STATIC_KEY_FALSE(isolation_type_snp);
+
+bool hv_isolation_type_snp(void)
+{
+	return static_branch_unlikely(&isolation_type_snp);
+}
+EXPORT_SYMBOL_GPL(hv_isolation_type_snp);
diff --git a/arch/x86/include/asm/mshyperv.h b/arch/x86/include/asm/mshyperv.h
index adccbc209169..37739a277ac6 100644
--- a/arch/x86/include/asm/mshyperv.h
+++ b/arch/x86/include/asm/mshyperv.h
@@ -11,6 +11,8 @@
 #include <asm/paravirt.h>
 #include <asm/mshyperv.h>
 
+DECLARE_STATIC_KEY_FALSE(isolation_type_snp);
+
 typedef int (*hyperv_fill_flush_list_func)(
 		struct hv_guest_mapping_flush_list *flush,
 		void *data);
@@ -39,6 +41,8 @@ extern void *hv_hypercall_pg;
 
 extern u64 hv_current_partition_id;
 
+extern void __percpu **hv_ghcb_pg;
+
 int hv_call_deposit_pages(int node, u64 partition_id, u32 num_pages);
 int hv_call_add_logical_proc(int node, u32 lp_index, u32 acpi_id);
 int hv_call_create_vp(int node, u64 partition_id, u32 vp_index, u32 flags);
diff --git a/arch/x86/kernel/cpu/mshyperv.c b/arch/x86/kernel/cpu/mshyperv.c
index 6b5835a087a3..20557a9d6e25 100644
--- a/arch/x86/kernel/cpu/mshyperv.c
+++ b/arch/x86/kernel/cpu/mshyperv.c
@@ -316,6 +316,9 @@ static void __init ms_hyperv_init_platform(void)
 
 		pr_info("Hyper-V: Isolation Config: Group A 0x%x, Group B 0x%x\n",
 			ms_hyperv.isolation_config_a, ms_hyperv.isolation_config_b);
+
+		if (hv_get_isolation_type() == HV_ISOLATION_TYPE_SNP)
+			static_branch_enable(&isolation_type_snp);
 	}
 
 	if (hv_max_functions_eax >= HYPERV_CPUID_NESTED_FEATURES) {
diff --git a/include/asm-generic/mshyperv.h b/include/asm-generic/mshyperv.h
index c1ab6a6e72b5..0924bbd8458e 100644
--- a/include/asm-generic/mshyperv.h
+++ b/include/asm-generic/mshyperv.h
@@ -237,6 +237,7 @@ bool hv_is_hyperv_initialized(void);
 bool hv_is_hibernation_supported(void);
 enum hv_isolation_type hv_get_isolation_type(void);
 bool hv_is_isolation_supported(void);
+bool hv_isolation_type_snp(void);
 void hyperv_cleanup(void);
 bool hv_query_ext_cap(u64 cap_query);
 #else /* CONFIG_HYPERV */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 17:21:30 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 17:21:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173800.317090 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJfXh-00016d-6z; Fri, 27 Aug 2021 17:21:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173800.317090; Fri, 27 Aug 2021 17: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 1mJfXh-00016W-2l; Fri, 27 Aug 2021 17:21:25 +0000
Received: by outflank-mailman (input) for mailman id 173800;
 Fri, 27 Aug 2021 17:21:23 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=brRM=NS=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mJfXe-00016Q-Vq
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 17:21:23 +0000
Received: from mail-pf1-x42d.google.com (unknown [2607:f8b0:4864:20::42d])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 5289df22-67d9-4548-b5b5-14bc14b4613b;
 Fri, 27 Aug 2021 17:21:21 +0000 (UTC)
Received: by mail-pf1-x42d.google.com with SMTP id y11so6213907pfl.13
 for <xen-devel@lists.xenproject.org>; Fri, 27 Aug 2021 10:21:21 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:36:ef50:8fcd:44d1:eb17])
 by smtp.gmail.com with ESMTPSA id f5sm7155015pjo.23.2021.08.27.10.21.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Aug 2021 10:21: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: 5289df22-67d9-4548-b5b5-14bc14b4613b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=JYTZo1EPFzxHx7wJIoJCzUP9GEH1Yym5lq7cwfCdAwc=;
        b=sOsMz6fnS+QgIpFYVjcXYRvxDOeMD9h2bMw2GBTmeCUkkk23vrYd780herBfwXgbvA
         hGA78c9LQ5mFrIxGoV5bh92RPIkBNV3zC7aQWqPvZwzqR7eUipC3F6tCE1lS99UNu4qv
         /jGXM6dXDIj5E3xUFJJk/TohEampnyBbRIYD1hLJy5pBxUTK37a84VmpHtj16lZu5LT0
         G4r2Bzmm/nfXZDV23kipSRDeoxZKgWHSNBDvgeDYycwMlF9Ol+JBrPSsMJATGXvDUGHL
         2knvJbm+YsN9tX0nrsuUr2ArVRQaH8IUpNj0nizy6pNhKxUJ87d02iccTWQAYTy6Q9Rt
         HxYA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=JYTZo1EPFzxHx7wJIoJCzUP9GEH1Yym5lq7cwfCdAwc=;
        b=dnrkjE9ZRlzPjjvuPtZAZ+i6ERw5FhV4OWqqU2v3Q97Lg0IrTVPfrK7CjpozDK81y5
         TYXnxhzLfSAKVXl6ZvdZWTuJJu1lOZ6C9KZ996ci6srVdoejEOHKGi5HxkpLvwofNL09
         dzkG3UDWCXHXKXU8fAkdcUSTPZZA9n0UiyPc+qLBHywTfhn/+zcITjlcGeuiIJFC9N0q
         Oh/UE+oi/cOJZwDj0qiewhHAtCX92BDtM7a6mTAcEW1xN/a5KIqrYda3c7xjNSjWoz3p
         r2AxjEyKehGYllOmYyCRgxG9LKzU/lpv0N76jIb4+JlgxH1AqnoSuyUYT9eYNnCQvwhV
         wgiA==
X-Gm-Message-State: AOAM533368tcmfPc7pDwGpGhs+BNlkPJNGyrRJd6zqNhlJz4dcdjxiIN
	HQi48X7+lkP38GYXZMp8xc4=
X-Google-Smtp-Source: ABdhPJy8nJHUvt2VMPE+PZOZMLCaAJdSlRB5iqGhbKn5tvohwh3WTNMW4inTU/nRNNiQJDSPg3loUQ==
X-Received: by 2002:a63:5a64:: with SMTP id k36mr8614505pgm.378.1630084880519;
        Fri, 27 Aug 2021 10:21:20 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	catalin.marinas@arm.com,
	will@kernel.org,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	gregkh@linuxfoundation.org,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	brijesh.singh@amd.com,
	thomas.lendacky@amd.com,
	Tianyu.Lan@microsoft.com,
	pgonda@google.com,
	martin.b.radev@gmail.com,
	akpm@linux-foundation.org,
	kirill.shutemov@linux.intel.com,
	rppt@kernel.org,
	hannes@cmpxchg.org,
	aneesh.kumar@linux.ibm.com,
	krish.sadhukhan@oracle.com,
	saravanand@fb.com,
	linux-arm-kernel@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	rientjes@google.com,
	ardb@kernel.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com,
	dave.hansen@intel.com
Subject: [PATCH V4 00/13] x86/Hyper-V: Add Hyper-V Isolation VM support
Date: Fri, 27 Aug 2021 13:20:58 -0400
Message-Id: <20210827172114.414281-1-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

Hyper-V provides two kinds of Isolation VMs. VBS(Virtualization-based
security) and AMD SEV-SNP unenlightened Isolation VMs. This patchset
is to add support for these Isolation VM support in Linux.

The memory of these vms are encrypted and host can't access guest
memory directly. Hyper-V provides new host visibility hvcall and
the guest needs to call new hvcall to mark memory visible to host
before sharing memory with host. For security, all network/storage
stack memory should not be shared with host and so there is bounce
buffer requests.

Vmbus channel ring buffer already plays bounce buffer role because
all data from/to host needs to copy from/to between the ring buffer
and IO stack memory. So mark vmbus channel ring buffer visible.

There are two exceptions - packets sent by vmbus_sendpacket_
pagebuffer() and vmbus_sendpacket_mpb_desc(). These packets
contains IO stack memory address and host will access these memory.
So add allocation bounce buffer support in vmbus for these packets.

For SNP isolation VM, guest needs to access the shared memory via
extra address space which is specified by Hyper-V CPUID HYPERV_CPUID_
ISOLATION_CONFIG. The access physical address of the shared memory
should be bounce buffer memory GPA plus with shared_gpa_boundary
reported by CPUID.

This patchset is based on the Hyper-V next branch.

Change since V3:
	- Initalize GHCB page in the cpu init callbac.
	- Change vmbus_teardown_gpadl() parameter in order to
	  mask the memory back to non-visible to host.
	- Merge hv_ringbuffer_post_init() into hv_ringbuffer_init().
	- Keep Hyper-V bounce buffer size as same as AMD SEV VM
	- Use dma_map_sg() instead of dm_map_page() in the storvsc driver.

Change since V2:
       - Drop x86_set_memory_enc static call and use platform check
         in the __set_memory_enc_dec() to run platform callback of
	 set memory encrypted or decrypted.

Change since V1:
       - Introduce x86_set_memory_enc static call and so platforms can
         override __set_memory_enc_dec() with their implementation
       - Introduce sev_es_ghcb_hv_call_simple() and share code
         between SEV and Hyper-V code.
       - Not remap monitor pages in the non-SNP isolation VM
       - Make swiotlb_init_io_tlb_mem() return error code and return
         error when dma_map_decrypted() fails.

Change since RFC V4:
       - Introduce dma map decrypted function to remap bounce buffer
          and provide dma map decrypted ops for platform to hook callback.        
       - Split swiotlb and dma map decrypted change into two patches
       - Replace vstart with vaddr in swiotlb changes.

Change since RFC v3:
       - Add interface set_memory_decrypted_map() to decrypt memory and
         map bounce buffer in extra address space
       - Remove swiotlb remap function and store the remap address
         returned by set_memory_decrypted_map() in swiotlb mem data structure.
       - Introduce hv_set_mem_enc() to make code more readable in the __set_memory_enc_dec().

Change since RFC v2:
       - Remove not UIO driver in Isolation VM patch
       - Use vmap_pfn() to replace ioremap_page_range function in
       order to avoid exposing symbol ioremap_page_range() and
       ioremap_page_range()
       - Call hv set mem host visibility hvcall in set_memory_encrypted/decrypted()
       - Enable swiotlb force mode instead of adding Hyper-V dma map/unmap hook
       - Fix code style


Tianyu Lan (13):
  x86/hyperv: Initialize GHCB page in Isolation VM
  x86/hyperv: Initialize shared memory boundary in the Isolation VM.
  x86/hyperv: Add new hvcall guest address host visibility support
  hyperv: Mark vmbus ring buffer visible to host in Isolation VM
  hyperv: Add Write/Read MSR registers via ghcb page
  hyperv: Add ghcb hvcall support for SNP VM
  hyperv/Vmbus: Add SNP support for VMbus channel initiate  message
  hyperv/vmbus: Initialize VMbus ring buffer for Isolation VM
  DMA: Add dma_map_decrypted/dma_unmap_encrypted() function
  x86/Swiotlb: Add Swiotlb bounce buffer remap function for HV IVM
  hyperv/IOMMU: Enable swiotlb bounce buffer for Isolation VM
  hv_netvsc: Add Isolation VM support for netvsc driver
  hv_storvsc: Add Isolation VM support for storvsc driver

 arch/arm64/include/asm/mshyperv.h  |  23 ++
 arch/x86/hyperv/Makefile           |   2 +-
 arch/x86/hyperv/hv_init.c          |  78 +++++--
 arch/x86/hyperv/ivm.c              | 325 +++++++++++++++++++++++++++++
 arch/x86/include/asm/hyperv-tlfs.h |  17 ++
 arch/x86/include/asm/mshyperv.h    |  88 +++++++-
 arch/x86/include/asm/sev.h         |   3 +
 arch/x86/kernel/cpu/mshyperv.c     |   5 +
 arch/x86/kernel/sev-shared.c       |  63 +++---
 arch/x86/mm/mem_encrypt.c          |   3 +-
 arch/x86/mm/pat/set_memory.c       |  19 +-
 arch/x86/xen/pci-swiotlb-xen.c     |   3 +-
 drivers/hv/Kconfig                 |   1 +
 drivers/hv/channel.c               |  55 +++--
 drivers/hv/connection.c            |  81 ++++++-
 drivers/hv/hv.c                    | 120 +++++++----
 drivers/hv/hv_common.c             |  12 ++
 drivers/hv/hyperv_vmbus.h          |   1 +
 drivers/hv/ring_buffer.c           |  56 +++--
 drivers/hv/vmbus_drv.c             |   4 +
 drivers/iommu/hyperv-iommu.c       |  61 ++++++
 drivers/net/hyperv/hyperv_net.h    |   6 +
 drivers/net/hyperv/netvsc.c        | 151 +++++++++++++-
 drivers/net/hyperv/rndis_filter.c  |   2 +
 drivers/scsi/storvsc_drv.c         |  41 ++--
 drivers/uio/uio_hv_generic.c       |  14 +-
 include/asm-generic/hyperv-tlfs.h  |   1 +
 include/asm-generic/mshyperv.h     |  19 +-
 include/linux/dma-map-ops.h        |   9 +
 include/linux/hyperv.h             |  15 +-
 include/linux/swiotlb.h            |   4 +
 kernel/dma/mapping.c               |  22 ++
 kernel/dma/swiotlb.c               |  32 ++-
 33 files changed, 1166 insertions(+), 170 deletions(-)
 create mode 100644 arch/x86/hyperv/ivm.c

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 17:21:33 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 17:21:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173802.317111 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJfXp-0001hM-QT; Fri, 27 Aug 2021 17:21:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173802.317111; Fri, 27 Aug 2021 17: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 1mJfXp-0001hF-NM; Fri, 27 Aug 2021 17:21:33 +0000
Received: by outflank-mailman (input) for mailman id 173802;
 Fri, 27 Aug 2021 17:21:32 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=brRM=NS=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mJfXo-00016Q-Mo
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 17:21:32 +0000
Received: from mail-pl1-x62f.google.com (unknown [2607:f8b0:4864:20::62f])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 259bc3f0-0fb0-4ef3-b341-af0ee0a5e24d;
 Fri, 27 Aug 2021 17:21:27 +0000 (UTC)
Received: by mail-pl1-x62f.google.com with SMTP id q21so4358658plq.3
 for <xen-devel@lists.xenproject.org>; Fri, 27 Aug 2021 10:21:27 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:36:ef50:8fcd:44d1:eb17])
 by smtp.gmail.com with ESMTPSA id f5sm7155015pjo.23.2021.08.27.10.21.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Aug 2021 10:21: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: 259bc3f0-0fb0-4ef3-b341-af0ee0a5e24d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=QeAoBJVxLuEqjhstpPPHRrsV4aYneiblS47oqHVJx+4=;
        b=I7NUV++ybJ+PeLzq7nvmvC/fUa1MzSPBVMWympCWggjJfdGIagT64paurWTr4ufYmh
         iyifKSagK7g0dfWSGenf+VOn1hz4bUmTah6emDjZ7Foz5yleN2+WsDzCIuDF9ckq2p8q
         hFjrwh845yHhH4sTpGEnOYuYp+n6e3PBkeMtpDD2gYyYmLb/pNE98ycigf1ahWeak5Ds
         119NB5Pug3TLpnQ/Feznsq48O//rxAT/a4sTQ52sT7LMmBNKIHmPmUv4Wo2l0yZEYlky
         QLNWAslMK29qAA7pi1dHujT6sJotapiAiz0QzHw0Xdhri/P7a9oV3kQamXq3XVGl03mc
         qYfw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=QeAoBJVxLuEqjhstpPPHRrsV4aYneiblS47oqHVJx+4=;
        b=m61ZOP4K6wqCNbgtxpdvvEKSmHMjfxzb4wrATo/zeL96Bq3hOMdcQ4DTE/AqF6Ll4n
         6KmzqiMKdjlNzLlUaSC64p6cZEVzv7HbST4u+3BlHI4K8prKFcf/vqgXJelfxcqkP5lq
         YMcAiMw8STZsQWqyrvNA/xEGuXQemAiBiIOcP1k12UUWqYeBuH7falfB9IW1ovskMVlU
         hk+2OaMZLsJRjV59gGc/y5EwrmjUAJxbe8JQ07bo/pJJfyJsHeL1bS01EYlsWKpznO8t
         tFeaa1Hji50+pwjLl1gVZxxZMm4Q1vs5KykFhX5IiXShkHl0rbn7rlQawuITtu1YzVop
         mcrQ==
X-Gm-Message-State: AOAM531jZz3Bby98U6HbUZUFehNlIHwwd/LSvg1JF0sXdKtyEEUo5XH8
	b7KfMx7Ymv4JMTcbv/ovAKI=
X-Google-Smtp-Source: ABdhPJygO/uJNLRxEGKep6uevI66uTYM1Cjltj7n7K2J5FM1lDlOoUIpLG2da+nKpVHYkSugQbym8Q==
X-Received: by 2002:a17:902:70cb:b0:132:6a68:af90 with SMTP id l11-20020a17090270cb00b001326a68af90mr9716504plt.56.1630084886558;
        Fri, 27 Aug 2021 10:21:26 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	catalin.marinas@arm.com,
	will@kernel.org,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	gregkh@linuxfoundation.org,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	brijesh.singh@amd.com,
	thomas.lendacky@amd.com,
	Tianyu.Lan@microsoft.com,
	pgonda@google.com,
	martin.b.radev@gmail.com,
	akpm@linux-foundation.org,
	kirill.shutemov@linux.intel.com,
	rppt@kernel.org,
	hannes@cmpxchg.org,
	aneesh.kumar@linux.ibm.com,
	krish.sadhukhan@oracle.com,
	saravanand@fb.com,
	linux-arm-kernel@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	rientjes@google.com,
	ardb@kernel.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com,
	dave.hansen@intel.com
Subject: [PATCH V4 02/13] x86/hyperv: Initialize shared memory boundary in the Isolation VM.
Date: Fri, 27 Aug 2021 13:21:00 -0400
Message-Id: <20210827172114.414281-3-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210827172114.414281-1-ltykernel@gmail.com>
References: <20210827172114.414281-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

Hyper-V exposes shared memory boundary via cpuid
HYPERV_CPUID_ISOLATION_CONFIG and store it in the
shared_gpa_boundary of ms_hyperv struct. This prepares
to share memory with host for SNP guest.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
Change since v3:
	* user BIT_ULL to get shared_gpa_boundary
	* Rename field Reserved* to reserved
---
 arch/x86/kernel/cpu/mshyperv.c |  2 ++
 include/asm-generic/mshyperv.h | 12 +++++++++++-
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/arch/x86/kernel/cpu/mshyperv.c b/arch/x86/kernel/cpu/mshyperv.c
index 20557a9d6e25..8bb001198316 100644
--- a/arch/x86/kernel/cpu/mshyperv.c
+++ b/arch/x86/kernel/cpu/mshyperv.c
@@ -313,6 +313,8 @@ static void __init ms_hyperv_init_platform(void)
 	if (ms_hyperv.priv_high & HV_ISOLATION) {
 		ms_hyperv.isolation_config_a = cpuid_eax(HYPERV_CPUID_ISOLATION_CONFIG);
 		ms_hyperv.isolation_config_b = cpuid_ebx(HYPERV_CPUID_ISOLATION_CONFIG);
+		ms_hyperv.shared_gpa_boundary =
+			BIT_ULL(ms_hyperv.shared_gpa_boundary_bits);
 
 		pr_info("Hyper-V: Isolation Config: Group A 0x%x, Group B 0x%x\n",
 			ms_hyperv.isolation_config_a, ms_hyperv.isolation_config_b);
diff --git a/include/asm-generic/mshyperv.h b/include/asm-generic/mshyperv.h
index 0924bbd8458e..7537ae1db828 100644
--- a/include/asm-generic/mshyperv.h
+++ b/include/asm-generic/mshyperv.h
@@ -35,7 +35,17 @@ struct ms_hyperv_info {
 	u32 max_vp_index;
 	u32 max_lp_index;
 	u32 isolation_config_a;
-	u32 isolation_config_b;
+	union {
+		u32 isolation_config_b;
+		struct {
+			u32 cvm_type : 4;
+			u32 reserved11 : 1;
+			u32 shared_gpa_boundary_active : 1;
+			u32 shared_gpa_boundary_bits : 6;
+			u32 reserved12 : 20;
+		};
+	};
+	u64 shared_gpa_boundary;
 };
 extern struct ms_hyperv_info ms_hyperv;
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 17:21:39 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 17:21:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173803.317123 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJfXv-00023o-3w; Fri, 27 Aug 2021 17:21:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173803.317123; Fri, 27 Aug 2021 17:21:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJfXu-00023d-VC; Fri, 27 Aug 2021 17:21:38 +0000
Received: by outflank-mailman (input) for mailman id 173803;
 Fri, 27 Aug 2021 17:21:37 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=brRM=NS=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mJfXt-00016Q-N1
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 17:21:37 +0000
Received: from mail-pg1-x52a.google.com (unknown [2607:f8b0:4864:20::52a])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 913f8b25-f630-4fc2-844b-04781bc92c41;
 Fri, 27 Aug 2021 17:21:29 +0000 (UTC)
Received: by mail-pg1-x52a.google.com with SMTP id s11so6467420pgr.11
 for <xen-devel@lists.xenproject.org>; Fri, 27 Aug 2021 10:21:29 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:36:ef50:8fcd:44d1:eb17])
 by smtp.gmail.com with ESMTPSA id f5sm7155015pjo.23.2021.08.27.10.21.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Aug 2021 10:21: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: 913f8b25-f630-4fc2-844b-04781bc92c41
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=97TSoNEFUH/dcOtN9KWTkyqxlJ5Mdi7oz6hJ0eE1ORs=;
        b=YRAstm5ofU6lymcaSHffQzFjHf7CrC9ui/b162RG6xUbr7quns6FgP0SE8tVEHansz
         5qsaUt4VatKFIiI+VSvPF6adLk2ksLkJOPCCkx+qyeUI/ghRSDb9Y+rS6cfBhS3ZAnm3
         TM5FVIlEaiQKQjGrpI7U/S0HdVOi8yfWaJu4svbpOmvYP0OMHtyMxWJBGyPR7libNktp
         yF1QX8uIOENq25zYmUsHtyd3uyZnFFbumt9pqtI15qmj9L0GHnaUyYzAMst5t1wKshud
         1EPkxovDW0R+57wgcXgiwnxnRtr3Ud1HIU9mh+mhC2Don7t5kZJ+sLdVjQW8B3+2e4jG
         YP0A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=97TSoNEFUH/dcOtN9KWTkyqxlJ5Mdi7oz6hJ0eE1ORs=;
        b=rvU9bqNAfHxfVOk/cbdlnzBONWpOJoHNzctTu3H4tLlWwhjRBhowIsB25HpdBonoNg
         e+mLY84UJovPQ8BuujKs8Ce5cgK0uNMaZ86N7rvzYhdx6+CqS/RzxXgkU80qXMg1udK0
         TNzLvc8QkBuzCTFK5UUCBpaLoeh5x1r2vqVAeFl4nght+OluIdKZrbWgh5N3RgSK3/J8
         jHNg3c/5QqSuPCNdOpWK3Aw8eup2lhEoJzQtoeBQsg0R7ie6vfxO/5xam4+CGBDr9rqs
         c5tBk4n6qSnRel/N64lD7G2FF1pHqUOTXJ+MjJxMw+d6XbhNyQ7eJ4Zqd5g54vUleVSu
         EM2g==
X-Gm-Message-State: AOAM530MAHq6b5AmMOHNOTUSFX1qCi/lZQkkeIHiBhhsVCUWo3wVBbl1
	/y0B1hkC+2Ch630AKEFwJuw=
X-Google-Smtp-Source: ABdhPJwXkzmhKuM8IMAJzHz5jyUb4XiEbWyJ9t/qB/+cDCy1kYl16jf539JCUKzcxANI+FnYjNOQjQ==
X-Received: by 2002:aa7:96e7:0:b0:3f1:fbd4:68f2 with SMTP id i7-20020aa796e7000000b003f1fbd468f2mr9781666pfq.77.1630084888856;
        Fri, 27 Aug 2021 10:21:28 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	catalin.marinas@arm.com,
	will@kernel.org,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	gregkh@linuxfoundation.org,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	brijesh.singh@amd.com,
	thomas.lendacky@amd.com,
	Tianyu.Lan@microsoft.com,
	pgonda@google.com,
	martin.b.radev@gmail.com,
	akpm@linux-foundation.org,
	kirill.shutemov@linux.intel.com,
	rppt@kernel.org,
	hannes@cmpxchg.org,
	aneesh.kumar@linux.ibm.com,
	krish.sadhukhan@oracle.com,
	saravanand@fb.com,
	linux-arm-kernel@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	rientjes@google.com,
	ardb@kernel.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com,
	dave.hansen@intel.com
Subject: [PATCH V4 03/13] x86/hyperv: Add new hvcall guest address host visibility support
Date: Fri, 27 Aug 2021 13:21:01 -0400
Message-Id: <20210827172114.414281-4-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210827172114.414281-1-ltykernel@gmail.com>
References: <20210827172114.414281-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

Add new hvcall guest address host visibility support to mark
memory visible to host. Call it inside set_memory_decrypted
/encrypted(). Add HYPERVISOR feature check in the
hv_is_isolation_supported() to optimize in non-virtualization
environment.

Acked-by: Dave Hansen <dave.hansen@intel.com>
Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
Change since v3:
	* Fix error code handle in the __hv_set_mem_host_visibility().
	* Move HvCallModifySparseGpaPageHostVisibility near to enum
	  hv_mem_host_visibility.

Change since v2:
       * Rework __set_memory_enc_dec() and call Hyper-V and AMD function
         according to platform check.

Change since v1:
       * Use new staic call x86_set_memory_enc to avoid add Hyper-V
         specific check in the set_memory code.
---
 arch/x86/hyperv/Makefile           |   2 +-
 arch/x86/hyperv/hv_init.c          |   6 ++
 arch/x86/hyperv/ivm.c              | 113 +++++++++++++++++++++++++++++
 arch/x86/include/asm/hyperv-tlfs.h |  17 +++++
 arch/x86/include/asm/mshyperv.h    |   4 +-
 arch/x86/mm/pat/set_memory.c       |  19 +++--
 include/asm-generic/hyperv-tlfs.h  |   1 +
 include/asm-generic/mshyperv.h     |   1 +
 8 files changed, 156 insertions(+), 7 deletions(-)
 create mode 100644 arch/x86/hyperv/ivm.c

diff --git a/arch/x86/hyperv/Makefile b/arch/x86/hyperv/Makefile
index 48e2c51464e8..5d2de10809ae 100644
--- a/arch/x86/hyperv/Makefile
+++ b/arch/x86/hyperv/Makefile
@@ -1,5 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0-only
-obj-y			:= hv_init.o mmu.o nested.o irqdomain.o
+obj-y			:= hv_init.o mmu.o nested.o irqdomain.o ivm.o
 obj-$(CONFIG_X86_64)	+= hv_apic.o hv_proc.o
 
 ifdef CONFIG_X86_64
diff --git a/arch/x86/hyperv/hv_init.c b/arch/x86/hyperv/hv_init.c
index eba10ed4f73e..b1aa42f60faa 100644
--- a/arch/x86/hyperv/hv_init.c
+++ b/arch/x86/hyperv/hv_init.c
@@ -603,6 +603,12 @@ EXPORT_SYMBOL_GPL(hv_get_isolation_type);
 
 bool hv_is_isolation_supported(void)
 {
+	if (!cpu_feature_enabled(X86_FEATURE_HYPERVISOR))
+		return 0;
+
+	if (!hypervisor_is_type(X86_HYPER_MS_HYPERV))
+		return 0;
+
 	return hv_get_isolation_type() != HV_ISOLATION_TYPE_NONE;
 }
 
diff --git a/arch/x86/hyperv/ivm.c b/arch/x86/hyperv/ivm.c
new file mode 100644
index 000000000000..a069c788ce3c
--- /dev/null
+++ b/arch/x86/hyperv/ivm.c
@@ -0,0 +1,113 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Hyper-V Isolation VM interface with paravisor and hypervisor
+ *
+ * Author:
+ *  Tianyu Lan <Tianyu.Lan@microsoft.com>
+ */
+
+#include <linux/hyperv.h>
+#include <linux/types.h>
+#include <linux/bitfield.h>
+#include <linux/slab.h>
+#include <asm/io.h>
+#include <asm/mshyperv.h>
+
+/*
+ * hv_mark_gpa_visibility - Set pages visible to host via hvcall.
+ *
+ * In Isolation VM, all guest memory is encripted from host and guest
+ * needs to set memory visible to host via hvcall before sharing memory
+ * with host.
+ */
+int hv_mark_gpa_visibility(u16 count, const u64 pfn[],
+			   enum hv_mem_host_visibility visibility)
+{
+	struct hv_gpa_range_for_visibility **input_pcpu, *input;
+	u16 pages_processed;
+	u64 hv_status;
+	unsigned long flags;
+
+	/* no-op if partition isolation is not enabled */
+	if (!hv_is_isolation_supported())
+		return 0;
+
+	if (count > HV_MAX_MODIFY_GPA_REP_COUNT) {
+		pr_err("Hyper-V: GPA count:%d exceeds supported:%lu\n", count,
+			HV_MAX_MODIFY_GPA_REP_COUNT);
+		return -EINVAL;
+	}
+
+	local_irq_save(flags);
+	input_pcpu = (struct hv_gpa_range_for_visibility **)
+			this_cpu_ptr(hyperv_pcpu_input_arg);
+	input = *input_pcpu;
+	if (unlikely(!input)) {
+		local_irq_restore(flags);
+		return -EINVAL;
+	}
+
+	input->partition_id = HV_PARTITION_ID_SELF;
+	input->host_visibility = visibility;
+	input->reserved0 = 0;
+	input->reserved1 = 0;
+	memcpy((void *)input->gpa_page_list, pfn, count * sizeof(*pfn));
+	hv_status = hv_do_rep_hypercall(
+			HVCALL_MODIFY_SPARSE_GPA_PAGE_HOST_VISIBILITY, count,
+			0, input, &pages_processed);
+	local_irq_restore(flags);
+
+	if (hv_result_success(hv_status))
+		return 0;
+	else
+		return -EFAULT;
+}
+EXPORT_SYMBOL(hv_mark_gpa_visibility);
+
+static int __hv_set_mem_host_visibility(void *kbuffer, int pagecount,
+				      enum hv_mem_host_visibility visibility)
+{
+	u64 *pfn_array;
+	int ret = 0;
+	int i, pfn;
+
+	if (!hv_is_isolation_supported() || !hv_hypercall_pg)
+		return 0;
+
+	pfn_array = kmalloc(HV_HYP_PAGE_SIZE, GFP_KERNEL);
+	if (!pfn_array)
+		return -ENOMEM;
+
+	for (i = 0, pfn = 0; i < pagecount; i++) {
+		pfn_array[pfn] = virt_to_hvpfn(kbuffer + i * HV_HYP_PAGE_SIZE);
+		pfn++;
+
+		if (pfn == HV_MAX_MODIFY_GPA_REP_COUNT || i == pagecount - 1) {
+			ret = hv_mark_gpa_visibility(pfn, pfn_array,
+						     visibility);
+			if (ret)
+				goto err_free_pfn_array;
+			pfn = 0;
+		}
+	}
+
+ err_free_pfn_array:
+	kfree(pfn_array);
+	return ret;
+}
+
+/*
+ * hv_set_mem_host_visibility - Set specified memory visible to host.
+ *
+ * In Isolation VM, all guest memory is encrypted from host and guest
+ * needs to set memory visible to host via hvcall before sharing memory
+ * with host. This function works as wrap of hv_mark_gpa_visibility()
+ * with memory base and size.
+ */
+int hv_set_mem_host_visibility(unsigned long addr, int numpages, bool visible)
+{
+	enum hv_mem_host_visibility visibility = visible ?
+			VMBUS_PAGE_VISIBLE_READ_WRITE : VMBUS_PAGE_NOT_VISIBLE;
+
+	return __hv_set_mem_host_visibility((void *)addr, numpages, visibility);
+}
diff --git a/arch/x86/include/asm/hyperv-tlfs.h b/arch/x86/include/asm/hyperv-tlfs.h
index 2322d6bd5883..381e88122a5f 100644
--- a/arch/x86/include/asm/hyperv-tlfs.h
+++ b/arch/x86/include/asm/hyperv-tlfs.h
@@ -276,6 +276,23 @@ enum hv_isolation_type {
 #define HV_X64_MSR_TIME_REF_COUNT	HV_REGISTER_TIME_REF_COUNT
 #define HV_X64_MSR_REFERENCE_TSC	HV_REGISTER_REFERENCE_TSC
 
+/* Hyper-V memory host visibility */
+enum hv_mem_host_visibility {
+	VMBUS_PAGE_NOT_VISIBLE		= 0,
+	VMBUS_PAGE_VISIBLE_READ_ONLY	= 1,
+	VMBUS_PAGE_VISIBLE_READ_WRITE	= 3
+};
+
+/* HvCallModifySparseGpaPageHostVisibility hypercall */
+#define HV_MAX_MODIFY_GPA_REP_COUNT	((PAGE_SIZE / sizeof(u64)) - 2)
+struct hv_gpa_range_for_visibility {
+	u64 partition_id;
+	u32 host_visibility:2;
+	u32 reserved0:30;
+	u32 reserved1;
+	u64 gpa_page_list[HV_MAX_MODIFY_GPA_REP_COUNT];
+} __packed;
+
 /*
  * Declare the MSR used to setup pages used to communicate with the hypervisor.
  */
diff --git a/arch/x86/include/asm/mshyperv.h b/arch/x86/include/asm/mshyperv.h
index 37739a277ac6..ffb2af079c6b 100644
--- a/arch/x86/include/asm/mshyperv.h
+++ b/arch/x86/include/asm/mshyperv.h
@@ -192,7 +192,9 @@ struct irq_domain *hv_create_pci_msi_domain(void);
 int hv_map_ioapic_interrupt(int ioapic_id, bool level, int vcpu, int vector,
 		struct hv_interrupt_entry *entry);
 int hv_unmap_ioapic_interrupt(int ioapic_id, struct hv_interrupt_entry *entry);
-
+int hv_mark_gpa_visibility(u16 count, const u64 pfn[],
+			   enum hv_mem_host_visibility visibility);
+int hv_set_mem_host_visibility(unsigned long addr, int numpages, bool visible);
 #else /* CONFIG_HYPERV */
 static inline void hyperv_init(void) {}
 static inline void hyperv_setup_mmu_ops(void) {}
diff --git a/arch/x86/mm/pat/set_memory.c b/arch/x86/mm/pat/set_memory.c
index ad8a5c586a35..1e4a0882820a 100644
--- a/arch/x86/mm/pat/set_memory.c
+++ b/arch/x86/mm/pat/set_memory.c
@@ -29,6 +29,8 @@
 #include <asm/proto.h>
 #include <asm/memtype.h>
 #include <asm/set_memory.h>
+#include <asm/hyperv-tlfs.h>
+#include <asm/mshyperv.h>
 
 #include "../mm_internal.h"
 
@@ -1980,15 +1982,11 @@ int set_memory_global(unsigned long addr, int numpages)
 				    __pgprot(_PAGE_GLOBAL), 0);
 }
 
-static int __set_memory_enc_dec(unsigned long addr, int numpages, bool enc)
+static int __set_memory_enc_pgtable(unsigned long addr, int numpages, bool enc)
 {
 	struct cpa_data cpa;
 	int ret;
 
-	/* Nothing to do if memory encryption is not active */
-	if (!mem_encrypt_active())
-		return 0;
-
 	/* Should not be working on unaligned addresses */
 	if (WARN_ONCE(addr & ~PAGE_MASK, "misaligned address: %#lx\n", addr))
 		addr &= PAGE_MASK;
@@ -2023,6 +2021,17 @@ static int __set_memory_enc_dec(unsigned long addr, int numpages, bool enc)
 	return ret;
 }
 
+static int __set_memory_enc_dec(unsigned long addr, int numpages, bool enc)
+{
+	if (hv_is_isolation_supported())
+		return hv_set_mem_host_visibility(addr, numpages, !enc);
+
+	if (mem_encrypt_active())
+		return __set_memory_enc_pgtable(addr, numpages, enc);
+
+	return 0;
+}
+
 int set_memory_encrypted(unsigned long addr, int numpages)
 {
 	return __set_memory_enc_dec(addr, numpages, true);
diff --git a/include/asm-generic/hyperv-tlfs.h b/include/asm-generic/hyperv-tlfs.h
index 56348a541c50..8ed6733d5146 100644
--- a/include/asm-generic/hyperv-tlfs.h
+++ b/include/asm-generic/hyperv-tlfs.h
@@ -158,6 +158,7 @@ struct ms_hyperv_tsc_page {
 #define HVCALL_RETARGET_INTERRUPT		0x007e
 #define HVCALL_FLUSH_GUEST_PHYSICAL_ADDRESS_SPACE 0x00af
 #define HVCALL_FLUSH_GUEST_PHYSICAL_ADDRESS_LIST 0x00b0
+#define HVCALL_MODIFY_SPARSE_GPA_PAGE_HOST_VISIBILITY 0x00db
 
 /* Extended hypercalls */
 #define HV_EXT_CALL_QUERY_CAPABILITIES		0x8001
diff --git a/include/asm-generic/mshyperv.h b/include/asm-generic/mshyperv.h
index 7537ae1db828..aa55447b9700 100644
--- a/include/asm-generic/mshyperv.h
+++ b/include/asm-generic/mshyperv.h
@@ -254,6 +254,7 @@ bool hv_query_ext_cap(u64 cap_query);
 static inline bool hv_is_hyperv_initialized(void) { return false; }
 static inline bool hv_is_hibernation_supported(void) { return false; }
 static inline void hyperv_cleanup(void) {}
+static inline hv_is_isolation_supported(void);
 #endif /* CONFIG_HYPERV */
 
 #endif
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 17:21:43 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 17:21:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173804.317134 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJfXz-0002Sr-Jv; Fri, 27 Aug 2021 17:21:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173804.317134; Fri, 27 Aug 2021 17:21:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJfXz-0002Sg-Ft; Fri, 27 Aug 2021 17:21:43 +0000
Received: by outflank-mailman (input) for mailman id 173804;
 Fri, 27 Aug 2021 17:21:42 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=brRM=NS=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mJfXy-00016Q-N6
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 17:21:42 +0000
Received: from mail-pl1-x633.google.com (unknown [2607:f8b0:4864:20::633])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 349db860-40c1-4fc0-b88f-5c56e9faed7e;
 Fri, 27 Aug 2021 17:21:31 +0000 (UTC)
Received: by mail-pl1-x633.google.com with SMTP id j2so4364514pll.1
 for <xen-devel@lists.xenproject.org>; Fri, 27 Aug 2021 10:21:31 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:36:ef50:8fcd:44d1:eb17])
 by smtp.gmail.com with ESMTPSA id f5sm7155015pjo.23.2021.08.27.10.21.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Aug 2021 10:21: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: 349db860-40c1-4fc0-b88f-5c56e9faed7e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=UK8KBR+AM7nXV01E8dM+g65JtfRzps5r9CU0KnjqW2k=;
        b=ve2IfOkuhZeXLPaSsOefBWJQVXO7Fomi79JA3NKf6cjuWsN5c+xuKhGp6k5cwyvODG
         MgKfbmKZTA0KXcVCK5yPL/O5HsV8TQL/bb6H5AsGJb13MU7dBNds2kT/0U9rREbkrtQn
         Py1dhGunkXUOG21ZS9K3POXFabiwDwy6lJAsxchzkqMtBFVJxMOMTSre4zEjVuV+DP1p
         9rTsiYsX7bf/ct8pFPCUhXJ5wCAIf0/eA+pUwDLZtnWvqmgWm+/ho47HQDBIPynrlYPC
         9hwMu2l/qm/RurhAlO11gAom0hxKB/X0pLIdC+3F2rnpmEksmoCPjzV6lngObwAxNYwz
         OzJQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=UK8KBR+AM7nXV01E8dM+g65JtfRzps5r9CU0KnjqW2k=;
        b=TTAJtvZDapRMBjLEbYzGF1n4bajTWySqIjtWZDAynXGFdnCKuJ82QusZEJbRO7Djws
         5z4p4dwBxe5vTSwyoZb0nZVgH0h8tDmYVmj/cbYXJ6+vk/OiAdVtYrzPE0TU8LfSwBTQ
         piCp4viZE5MqoY162AFDIFnW/+A2/jfje7iIAIxKh7v054rHY3zAKg15Nv1+DBs4C+Tz
         t9cBJkJG4Hv9PfQWvDVOubyXKiS5UGsv1ZZllRdIGrdKfA7uzEm5gdXDEdw3jF4vHwMS
         24AgdBZlR3PtIpMYohQvpU4CSu+aASFDn3T4VjnDn5B1wdAfZG2IO6hGhUk0pf+MMB0L
         aZxQ==
X-Gm-Message-State: AOAM533gCc5EjgjSCtxbVpbkZ+M1XAPQOO/iBSn2SOt1DUgFANRuUk2+
	HmkrQ6dbqXOj3OBUSpuKE84=
X-Google-Smtp-Source: ABdhPJyqfQQ5fRrI7GmAJTDqX9bqPYgY3SObBdBo5YLycH2A2XdhXK90T0PqgMjyjAgWsPbPHwEsOQ==
X-Received: by 2002:a17:902:82c1:b0:135:b97d:8e84 with SMTP id u1-20020a17090282c100b00135b97d8e84mr9559224plz.85.1630084891091;
        Fri, 27 Aug 2021 10:21:31 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	catalin.marinas@arm.com,
	will@kernel.org,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	gregkh@linuxfoundation.org,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	brijesh.singh@amd.com,
	thomas.lendacky@amd.com,
	Tianyu.Lan@microsoft.com,
	pgonda@google.com,
	martin.b.radev@gmail.com,
	akpm@linux-foundation.org,
	kirill.shutemov@linux.intel.com,
	rppt@kernel.org,
	hannes@cmpxchg.org,
	aneesh.kumar@linux.ibm.com,
	krish.sadhukhan@oracle.com,
	saravanand@fb.com,
	linux-arm-kernel@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	rientjes@google.com,
	ardb@kernel.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com,
	dave.hansen@intel.com
Subject: [PATCH V4 04/13] hyperv: Mark vmbus ring buffer visible to host in Isolation VM
Date: Fri, 27 Aug 2021 13:21:02 -0400
Message-Id: <20210827172114.414281-5-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210827172114.414281-1-ltykernel@gmail.com>
References: <20210827172114.414281-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

Mark vmbus ring buffer visible with set_memory_decrypted() when
establish gpadl handle.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
Change since v3:
       * Change vmbus_teardown_gpadl() parameter and put gpadl handle,
       buffer and buffer size in the struct vmbus_gpadl.
---
 drivers/hv/channel.c            | 36 ++++++++++++++++++++++++++++-----
 drivers/net/hyperv/hyperv_net.h |  1 +
 drivers/net/hyperv/netvsc.c     | 16 +++++++++++----
 drivers/uio/uio_hv_generic.c    | 14 +++++++++++--
 include/linux/hyperv.h          |  8 +++++++-
 5 files changed, 63 insertions(+), 12 deletions(-)

diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c
index f3761c73b074..82650beb3af0 100644
--- a/drivers/hv/channel.c
+++ b/drivers/hv/channel.c
@@ -17,6 +17,7 @@
 #include <linux/hyperv.h>
 #include <linux/uio.h>
 #include <linux/interrupt.h>
+#include <linux/set_memory.h>
 #include <asm/page.h>
 #include <asm/mshyperv.h>
 
@@ -474,6 +475,13 @@ static int __vmbus_establish_gpadl(struct vmbus_channel *channel,
 	if (ret)
 		return ret;
 
+	ret = set_memory_decrypted((unsigned long)kbuffer,
+				   HVPFN_UP(size));
+	if (ret) {
+		pr_warn("Failed to set host visibility for new GPADL %d.\n", ret);
+		return ret;
+	}
+
 	init_completion(&msginfo->waitevent);
 	msginfo->waiting_channel = channel;
 
@@ -549,6 +557,11 @@ static int __vmbus_establish_gpadl(struct vmbus_channel *channel,
 	}
 
 	kfree(msginfo);
+
+	if (ret)
+		set_memory_encrypted((unsigned long)kbuffer,
+				     HVPFN_UP(size));
+
 	return ret;
 }
 
@@ -639,6 +652,7 @@ static int __vmbus_open(struct vmbus_channel *newchannel,
 	struct vmbus_channel_open_channel *open_msg;
 	struct vmbus_channel_msginfo *open_info = NULL;
 	struct page *page = newchannel->ringbuffer_page;
+	struct vmbus_gpadl gpadl;
 	u32 send_pages, recv_pages;
 	unsigned long flags;
 	int err;
@@ -759,7 +773,10 @@ static int __vmbus_open(struct vmbus_channel *newchannel,
 error_free_info:
 	kfree(open_info);
 error_free_gpadl:
-	vmbus_teardown_gpadl(newchannel, newchannel->ringbuffer_gpadlhandle);
+	gpadl.gpadl_handle = newchannel->ringbuffer_gpadlhandle;
+	gpadl.buffer = page_address(newchannel->ringbuffer_page);
+	gpadl.size = (send_pages + recv_pages) << PAGE_SHIFT;
+	vmbus_teardown_gpadl(newchannel, &gpadl);
 	newchannel->ringbuffer_gpadlhandle = 0;
 error_clean_ring:
 	hv_ringbuffer_cleanup(&newchannel->outbound);
@@ -806,7 +823,7 @@ EXPORT_SYMBOL_GPL(vmbus_open);
 /*
  * vmbus_teardown_gpadl -Teardown the specified GPADL handle
  */
-int vmbus_teardown_gpadl(struct vmbus_channel *channel, u32 gpadl_handle)
+int vmbus_teardown_gpadl(struct vmbus_channel *channel, struct vmbus_gpadl *gpadl)
 {
 	struct vmbus_channel_gpadl_teardown *msg;
 	struct vmbus_channel_msginfo *info;
@@ -825,7 +842,7 @@ int vmbus_teardown_gpadl(struct vmbus_channel *channel, u32 gpadl_handle)
 
 	msg->header.msgtype = CHANNELMSG_GPADL_TEARDOWN;
 	msg->child_relid = channel->offermsg.child_relid;
-	msg->gpadl = gpadl_handle;
+	msg->gpadl = gpadl->gpadl_handle;
 
 	spin_lock_irqsave(&vmbus_connection.channelmsg_lock, flags);
 	list_add_tail(&info->msglistentry,
@@ -859,6 +876,12 @@ int vmbus_teardown_gpadl(struct vmbus_channel *channel, u32 gpadl_handle)
 	spin_unlock_irqrestore(&vmbus_connection.channelmsg_lock, flags);
 
 	kfree(info);
+
+	ret = set_memory_encrypted((unsigned long)gpadl->buffer,
+				   HVPFN_UP(gpadl->size));
+	if (ret)
+		pr_warn("Fail to set mem host visibility in GPADL teardown %d.\n", ret);
+
 	return ret;
 }
 EXPORT_SYMBOL_GPL(vmbus_teardown_gpadl);
@@ -896,6 +919,7 @@ void vmbus_reset_channel_cb(struct vmbus_channel *channel)
 static int vmbus_close_internal(struct vmbus_channel *channel)
 {
 	struct vmbus_channel_close_channel *msg;
+	struct vmbus_gpadl gpadl;
 	int ret;
 
 	vmbus_reset_channel_cb(channel);
@@ -934,8 +958,10 @@ static int vmbus_close_internal(struct vmbus_channel *channel)
 
 	/* Tear down the gpadl for the channel's ring buffer */
 	else if (channel->ringbuffer_gpadlhandle) {
-		ret = vmbus_teardown_gpadl(channel,
-					   channel->ringbuffer_gpadlhandle);
+		gpadl.gpadl_handle = channel->ringbuffer_gpadlhandle;
+		gpadl.buffer = page_address(channel->ringbuffer_page);
+		gpadl.size = channel->ringbuffer_pagecount;
+		ret = vmbus_teardown_gpadl(channel, &gpadl);
 		if (ret) {
 			pr_err("Close failed: teardown gpadl return %d\n", ret);
 			/*
diff --git a/drivers/net/hyperv/hyperv_net.h b/drivers/net/hyperv/hyperv_net.h
index bc48855dff10..aa7c9962dbd8 100644
--- a/drivers/net/hyperv/hyperv_net.h
+++ b/drivers/net/hyperv/hyperv_net.h
@@ -1082,6 +1082,7 @@ struct netvsc_device {
 
 	/* Send buffer allocated by us */
 	void *send_buf;
+	u32 send_buf_size;
 	u32 send_buf_gpadl_handle;
 	u32 send_section_cnt;
 	u32 send_section_size;
diff --git a/drivers/net/hyperv/netvsc.c b/drivers/net/hyperv/netvsc.c
index 7bd935412853..f19bffff6a63 100644
--- a/drivers/net/hyperv/netvsc.c
+++ b/drivers/net/hyperv/netvsc.c
@@ -276,11 +276,14 @@ static void netvsc_teardown_recv_gpadl(struct hv_device *device,
 				       struct netvsc_device *net_device,
 				       struct net_device *ndev)
 {
+	struct vmbus_gpadl gpadl;
 	int ret;
 
 	if (net_device->recv_buf_gpadl_handle) {
-		ret = vmbus_teardown_gpadl(device->channel,
-					   net_device->recv_buf_gpadl_handle);
+		gpadl.gpadl_handle = net_device->recv_buf_gpadl_handle;
+		gpadl.buffer = net_device->recv_buf;
+		gpadl.size = net_device->recv_buf_size;
+		ret = vmbus_teardown_gpadl(device->channel, &gpadl);
 
 		/* If we failed here, we might as well return and have a leak
 		 * rather than continue and a bugchk
@@ -298,11 +301,15 @@ static void netvsc_teardown_send_gpadl(struct hv_device *device,
 				       struct netvsc_device *net_device,
 				       struct net_device *ndev)
 {
+	struct vmbus_gpadl gpadl;
 	int ret;
 
 	if (net_device->send_buf_gpadl_handle) {
-		ret = vmbus_teardown_gpadl(device->channel,
-					   net_device->send_buf_gpadl_handle);
+		gpadl.gpadl_handle = net_device->send_buf_gpadl_handle;
+		gpadl.buffer = net_device->send_buf;
+		gpadl.size = net_device->send_buf_size;
+
+		ret = vmbus_teardown_gpadl(device->channel, &gpadl);
 
 		/* If we failed here, we might as well return and have a leak
 		 * rather than continue and a bugchk
@@ -463,6 +470,7 @@ static int netvsc_init_buf(struct hv_device *device,
 		ret = -ENOMEM;
 		goto cleanup;
 	}
+	net_device->send_buf_size = buf_size;
 
 	/* Establish the gpadl handle for this buffer on this
 	 * channel.  Note: This call uses the vmbus connection rather
diff --git a/drivers/uio/uio_hv_generic.c b/drivers/uio/uio_hv_generic.c
index 652fe2547587..13c5df8dd11d 100644
--- a/drivers/uio/uio_hv_generic.c
+++ b/drivers/uio/uio_hv_generic.c
@@ -179,14 +179,24 @@ hv_uio_new_channel(struct vmbus_channel *new_sc)
 static void
 hv_uio_cleanup(struct hv_device *dev, struct hv_uio_private_data *pdata)
 {
+	struct vmbus_gpadl gpadl;
+
 	if (pdata->send_gpadl) {
-		vmbus_teardown_gpadl(dev->channel, pdata->send_gpadl);
+		gpadl.gpadl_handle = pdata->send_gpadl;
+		gpadl.buffer = pdata->send_buf;
+		gpadl.size = SEND_BUFFER_SIZE;
+
+		vmbus_teardown_gpadl(dev->channel, &gpadl);
 		pdata->send_gpadl = 0;
 		vfree(pdata->send_buf);
 	}
 
 	if (pdata->recv_gpadl) {
-		vmbus_teardown_gpadl(dev->channel, pdata->recv_gpadl);
+		gpadl.gpadl_handle = pdata->recv_gpadl;
+		gpadl.buffer = pdata->recv_buf;
+		gpadl.size = RECV_BUFFER_SIZE;
+
+		vmbus_teardown_gpadl(dev->channel, &gpadl);
 		pdata->recv_gpadl = 0;
 		vfree(pdata->recv_buf);
 	}
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
index ddc8713ce57b..757e09606fd3 100644
--- a/include/linux/hyperv.h
+++ b/include/linux/hyperv.h
@@ -803,6 +803,12 @@ struct vmbus_device {
 
 #define VMBUS_DEFAULT_MAX_PKT_SIZE 4096
 
+struct vmbus_gpadl {
+	u32 gpadl_handle;
+	u32 size;
+	void *buffer;
+};
+
 struct vmbus_channel {
 	struct list_head listentry;
 
@@ -1195,7 +1201,7 @@ extern int vmbus_establish_gpadl(struct vmbus_channel *channel,
 				      u32 *gpadl_handle);
 
 extern int vmbus_teardown_gpadl(struct vmbus_channel *channel,
-				     u32 gpadl_handle);
+				     struct vmbus_gpadl *gpadl);
 
 void vmbus_reset_channel_cb(struct vmbus_channel *channel);
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 17:21:49 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 17:21:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173805.317145 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJfY4-00032c-U1; Fri, 27 Aug 2021 17:21:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173805.317145; Fri, 27 Aug 2021 17:21:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJfY4-00032L-Oj; Fri, 27 Aug 2021 17:21:48 +0000
Received: by outflank-mailman (input) for mailman id 173805;
 Fri, 27 Aug 2021 17:21:47 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=brRM=NS=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mJfY3-00016Q-NE
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 17:21:47 +0000
Received: from mail-pj1-x1035.google.com (unknown [2607:f8b0:4864:20::1035])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ed1e1053-6fdb-4ff1-942a-7987278bd6e2;
 Fri, 27 Aug 2021 17:21:34 +0000 (UTC)
Received: by mail-pj1-x1035.google.com with SMTP id
 28-20020a17090a031cb0290178dcd8a4d1so8345555pje.0
 for <xen-devel@lists.xenproject.org>; Fri, 27 Aug 2021 10:21:34 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:36:ef50:8fcd:44d1:eb17])
 by smtp.gmail.com with ESMTPSA id f5sm7155015pjo.23.2021.08.27.10.21.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Aug 2021 10:21: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: ed1e1053-6fdb-4ff1-942a-7987278bd6e2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=NMiinD0nrj/EF3wgWQrIIkzlaXeB4tTcwG2tHfq+6xA=;
        b=HEMUb+m3PpeyyOUVvXxqrhCKc8yNo0qk6PhsQs+IJBPiTP6RP0arkruBZb43WdICFI
         Opt0KQO05G/P+dvT3/I2EtVoIj2z/t0Onlp8WMG8/SDfpZ4HsuWD8pLq+FRSm5hnmv98
         kTr99DM48/h8mox3SbNbKGQV848ahDDQX6aLPPLgsA0r2CqGr2e7jjWJPb9IsNx0+bZi
         pCQNofp5g9EwyyoP0FRQwSKLyr5wwS9+nYS1BQCL0La8qA4WkZNeUBaczLjfBKK63WO0
         /Z8ImFpLV2BFTmLWM0JExERaQT0cf0JM8895jzqTvQFHwSV30HV6bxSVbnMng9gfq7ev
         sPRg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=NMiinD0nrj/EF3wgWQrIIkzlaXeB4tTcwG2tHfq+6xA=;
        b=BfezuenDXJHA9XDo9C3dWg5w67UlNMklS41b3QNb9da5kvCP7mTXUbEZjLv/ggsMeF
         cuV03LMNTckwd40FxccFJblmlgqlnLNrT86k2hSONm3dZU2gHiT12sznaPrBZ9MJrr7k
         csS96FQ+HBGicRCQcsTiL/oVJEzWrVgT45y7L/959vJtRmKWYzxyI+9qf4WwoI9oAJSe
         jZVlE9dN4LNaD3QvadU7flOAFFpuVSoYZDCsiCfS3qPzdFR/CDAjvW9L2LurQsrkmLOy
         JAmkp+VYAP+uhcc8Ii6ilqNLorU6RXqEoPGec5xfIh6qXuy0w/sNWyxBhJqOAaGCsEha
         hQ2A==
X-Gm-Message-State: AOAM531jr+u4ADV+BE7GYzrK2q2XcPapXB/O+ZCsfCjq3F3w8AqJ0Jcc
	F/SbWmu7tBvNErDbeVr+unY=
X-Google-Smtp-Source: ABdhPJzcsGWVF3pnUTc6cPdQZbAUQkeXvTpHWigo9Q+d4201ZV50lMmSLv171RQVlz5hiqe27/lyMw==
X-Received: by 2002:a17:90a:ad7:: with SMTP id r23mr9357066pje.184.1630084893483;
        Fri, 27 Aug 2021 10:21:33 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	catalin.marinas@arm.com,
	will@kernel.org,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	gregkh@linuxfoundation.org,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	brijesh.singh@amd.com,
	thomas.lendacky@amd.com,
	Tianyu.Lan@microsoft.com,
	pgonda@google.com,
	martin.b.radev@gmail.com,
	akpm@linux-foundation.org,
	kirill.shutemov@linux.intel.com,
	rppt@kernel.org,
	hannes@cmpxchg.org,
	aneesh.kumar@linux.ibm.com,
	krish.sadhukhan@oracle.com,
	saravanand@fb.com,
	linux-arm-kernel@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	rientjes@google.com,
	ardb@kernel.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com,
	dave.hansen@intel.com
Subject: [PATCH V4 05/13] hyperv: Add Write/Read MSR registers via ghcb page
Date: Fri, 27 Aug 2021 13:21:03 -0400
Message-Id: <20210827172114.414281-6-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210827172114.414281-1-ltykernel@gmail.com>
References: <20210827172114.414281-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

Hyperv provides GHCB protocol to write Synthetic Interrupt
Controller MSR registers in Isolation VM with AMD SEV SNP
and these registers are emulated by hypervisor directly.
Hyperv requires to write SINTx MSR registers twice. First
writes MSR via GHCB page to communicate with hypervisor
and then writes wrmsr instruction to talk with paravisor
which runs in VMPL0. Guest OS ID MSR also needs to be set
via GHCB page.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
Change since v1:
         * Introduce sev_es_ghcb_hv_call_simple() and share code
           between SEV and Hyper-V code.
Change since v3:
         * Pass old_msg_type to hv_signal_eom() as parameter.
	 * Use HV_REGISTER_* marcro instead of HV_X64_MSR_*
	 * Add hv_isolation_type_snp() weak function.
	 * Add maros to set syinc register in ARM code.
---
 arch/arm64/include/asm/mshyperv.h |  23 ++++++
 arch/x86/hyperv/hv_init.c         |  36 ++--------
 arch/x86/hyperv/ivm.c             | 112 ++++++++++++++++++++++++++++++
 arch/x86/include/asm/mshyperv.h   |  80 ++++++++++++++++++++-
 arch/x86/include/asm/sev.h        |   3 +
 arch/x86/kernel/sev-shared.c      |  63 ++++++++++-------
 drivers/hv/hv.c                   | 112 ++++++++++++++++++++----------
 drivers/hv/hv_common.c            |   6 ++
 include/asm-generic/mshyperv.h    |   4 +-
 9 files changed, 345 insertions(+), 94 deletions(-)

diff --git a/arch/arm64/include/asm/mshyperv.h b/arch/arm64/include/asm/mshyperv.h
index 20070a847304..ced83297e009 100644
--- a/arch/arm64/include/asm/mshyperv.h
+++ b/arch/arm64/include/asm/mshyperv.h
@@ -41,6 +41,29 @@ static inline u64 hv_get_register(unsigned int reg)
 	return hv_get_vpreg(reg);
 }
 
+#define hv_get_simp(val)	{ val = hv_get_register(HV_REGISTER_SIMP); }
+#define hv_set_simp(val)	hv_set_register(HV_REGISTER_SIMP, val)
+
+#define hv_get_siefp(val)	{ val = hv_get_register(HV_REGISTER_SIEFP); }
+#define hv_set_siefp(val)	hv_set_register(HV_REGISTER_SIEFP, val)
+
+#define hv_get_synint_state(int_num, val) {			\
+	val = hv_get_register(HV_REGISTER_SINT0 + int_num);	\
+	}
+
+#define hv_set_synint_state(int_num, val)			\
+	hv_set_register(HV_REGISTER_SINT0 + int_num, val)
+
+#define hv_get_synic_state(val) {			\
+	val = hv_get_register(HV_REGISTER_SCONTROL);	\
+	}
+
+#define hv_set_synic_state(val)			\
+	hv_set_register(HV_REGISTER_SCONTROL, val)
+
+#define hv_signal_eom(old_msg_type)		 \
+	hv_set_register(HV_REGISTER_EOM, 0)
+
 /* SMCCC hypercall parameters */
 #define HV_SMCCC_FUNC_NUMBER	1
 #define HV_FUNC_ID	ARM_SMCCC_CALL_VAL(			\
diff --git a/arch/x86/hyperv/hv_init.c b/arch/x86/hyperv/hv_init.c
index b1aa42f60faa..be6210a3fd2f 100644
--- a/arch/x86/hyperv/hv_init.c
+++ b/arch/x86/hyperv/hv_init.c
@@ -37,7 +37,7 @@ EXPORT_SYMBOL_GPL(hv_current_partition_id);
 void *hv_hypercall_pg;
 EXPORT_SYMBOL_GPL(hv_hypercall_pg);
 
-void __percpu **hv_ghcb_pg;
+union hv_ghcb __percpu **hv_ghcb_pg;
 
 /* Storage to save the hypercall page temporarily for hibernation */
 static void *hv_hypercall_pg_saved;
@@ -406,7 +406,7 @@ void __init hyperv_init(void)
 	}
 
 	if (hv_isolation_type_snp()) {
-		hv_ghcb_pg = alloc_percpu(void *);
+		hv_ghcb_pg = alloc_percpu(union hv_ghcb *);
 		if (!hv_ghcb_pg)
 			goto free_vp_assist_page;
 	}
@@ -424,6 +424,9 @@ void __init hyperv_init(void)
 	guest_id = generate_guest_id(0, LINUX_VERSION_CODE, 0);
 	wrmsrl(HV_X64_MSR_GUEST_OS_ID, guest_id);
 
+	/* Hyper-V requires to write guest os id via ghcb in SNP IVM. */
+	hv_ghcb_msr_write(HV_X64_MSR_GUEST_OS_ID, guest_id);
+
 	hv_hypercall_pg = __vmalloc_node_range(PAGE_SIZE, 1, VMALLOC_START,
 			VMALLOC_END, GFP_KERNEL, PAGE_KERNEL_ROX,
 			VM_FLUSH_RESET_PERMS, NUMA_NO_NODE,
@@ -501,6 +504,7 @@ void __init hyperv_init(void)
 
 clean_guest_os_id:
 	wrmsrl(HV_X64_MSR_GUEST_OS_ID, 0);
+	hv_ghcb_msr_write(HV_X64_MSR_GUEST_OS_ID, 0);
 	cpuhp_remove_state(cpuhp);
 free_ghcb_page:
 	free_percpu(hv_ghcb_pg);
@@ -522,6 +526,7 @@ void hyperv_cleanup(void)
 
 	/* Reset our OS id */
 	wrmsrl(HV_X64_MSR_GUEST_OS_ID, 0);
+	hv_ghcb_msr_write(HV_X64_MSR_GUEST_OS_ID, 0);
 
 	/*
 	 * Reset hypercall page reference before reset the page,
@@ -592,30 +597,3 @@ bool hv_is_hyperv_initialized(void)
 	return hypercall_msr.enable;
 }
 EXPORT_SYMBOL_GPL(hv_is_hyperv_initialized);
-
-enum hv_isolation_type hv_get_isolation_type(void)
-{
-	if (!(ms_hyperv.priv_high & HV_ISOLATION))
-		return HV_ISOLATION_TYPE_NONE;
-	return FIELD_GET(HV_ISOLATION_TYPE, ms_hyperv.isolation_config_b);
-}
-EXPORT_SYMBOL_GPL(hv_get_isolation_type);
-
-bool hv_is_isolation_supported(void)
-{
-	if (!cpu_feature_enabled(X86_FEATURE_HYPERVISOR))
-		return 0;
-
-	if (!hypervisor_is_type(X86_HYPER_MS_HYPERV))
-		return 0;
-
-	return hv_get_isolation_type() != HV_ISOLATION_TYPE_NONE;
-}
-
-DEFINE_STATIC_KEY_FALSE(isolation_type_snp);
-
-bool hv_isolation_type_snp(void)
-{
-	return static_branch_unlikely(&isolation_type_snp);
-}
-EXPORT_SYMBOL_GPL(hv_isolation_type_snp);
diff --git a/arch/x86/hyperv/ivm.c b/arch/x86/hyperv/ivm.c
index a069c788ce3c..f56fe4f73000 100644
--- a/arch/x86/hyperv/ivm.c
+++ b/arch/x86/hyperv/ivm.c
@@ -6,13 +6,125 @@
  *  Tianyu Lan <Tianyu.Lan@microsoft.com>
  */
 
+#include <linux/types.h>
+#include <linux/bitfield.h>
 #include <linux/hyperv.h>
 #include <linux/types.h>
 #include <linux/bitfield.h>
 #include <linux/slab.h>
+#include <asm/svm.h>
+#include <asm/sev.h>
 #include <asm/io.h>
 #include <asm/mshyperv.h>
 
+union hv_ghcb {
+	struct ghcb ghcb;
+} __packed __aligned(HV_HYP_PAGE_SIZE);
+
+void hv_ghcb_msr_write(u64 msr, u64 value)
+{
+	union hv_ghcb *hv_ghcb;
+	void **ghcb_base;
+	unsigned long flags;
+
+	if (!hv_ghcb_pg)
+		return;
+
+	WARN_ON(in_nmi());
+
+	local_irq_save(flags);
+	ghcb_base = (void **)this_cpu_ptr(hv_ghcb_pg);
+	hv_ghcb = (union hv_ghcb *)*ghcb_base;
+	if (!hv_ghcb) {
+		local_irq_restore(flags);
+		return;
+	}
+
+	ghcb_set_rcx(&hv_ghcb->ghcb, msr);
+	ghcb_set_rax(&hv_ghcb->ghcb, lower_32_bits(value));
+	ghcb_set_rdx(&hv_ghcb->ghcb, upper_32_bits(value));
+
+	if (sev_es_ghcb_hv_call_simple(&hv_ghcb->ghcb, SVM_EXIT_MSR, 1, 0))
+		pr_warn("Fail to write msr via ghcb %llx.\n", msr);
+
+	local_irq_restore(flags);
+}
+
+void hv_ghcb_msr_read(u64 msr, u64 *value)
+{
+	union hv_ghcb *hv_ghcb;
+	void **ghcb_base;
+	unsigned long flags;
+
+	/* Check size of union hv_ghcb here. */
+	BUILD_BUG_ON(sizeof(union hv_ghcb) != HV_HYP_PAGE_SIZE);
+
+	if (!hv_ghcb_pg)
+		return;
+
+	WARN_ON(in_nmi());
+
+	local_irq_save(flags);
+	ghcb_base = (void **)this_cpu_ptr(hv_ghcb_pg);
+	hv_ghcb = (union hv_ghcb *)*ghcb_base;
+	if (!hv_ghcb) {
+		local_irq_restore(flags);
+		return;
+	}
+
+	ghcb_set_rcx(&hv_ghcb->ghcb, msr);
+	if (sev_es_ghcb_hv_call_simple(&hv_ghcb->ghcb, SVM_EXIT_MSR, 0, 0))
+		pr_warn("Fail to read msr via ghcb %llx.\n", msr);
+	else
+		*value = (u64)lower_32_bits(hv_ghcb->ghcb.save.rax)
+			| ((u64)lower_32_bits(hv_ghcb->ghcb.save.rdx) << 32);
+	local_irq_restore(flags);
+}
+
+void hv_sint_rdmsrl_ghcb(u64 msr, u64 *value)
+{
+	hv_ghcb_msr_read(msr, value);
+}
+EXPORT_SYMBOL_GPL(hv_sint_rdmsrl_ghcb);
+
+void hv_sint_wrmsrl_ghcb(u64 msr, u64 value)
+{
+	hv_ghcb_msr_write(msr, value);
+
+	/* Write proxy bit vua wrmsrl instruction. */
+	if (msr >= HV_X64_MSR_SINT0 && msr <= HV_X64_MSR_SINT15)
+		wrmsrl(msr, value | 1 << 20);
+}
+EXPORT_SYMBOL_GPL(hv_sint_wrmsrl_ghcb);
+
+enum hv_isolation_type hv_get_isolation_type(void)
+{
+	if (!(ms_hyperv.priv_high & HV_ISOLATION))
+		return HV_ISOLATION_TYPE_NONE;
+	return FIELD_GET(HV_ISOLATION_TYPE, ms_hyperv.isolation_config_b);
+}
+EXPORT_SYMBOL_GPL(hv_get_isolation_type);
+
+/*
+ * hv_is_isolation_supported - Check system runs in the Hyper-V
+ * isolation VM.
+ */
+bool hv_is_isolation_supported(void)
+{
+	return hv_get_isolation_type() != HV_ISOLATION_TYPE_NONE;
+}
+
+DEFINE_STATIC_KEY_FALSE(isolation_type_snp);
+
+/*
+ * hv_isolation_type_snp - Check system runs in the AMD SEV-SNP based
+ * isolation VM.
+ */
+bool hv_isolation_type_snp(void)
+{
+	return static_branch_unlikely(&isolation_type_snp);
+}
+
 /*
  * hv_mark_gpa_visibility - Set pages visible to host via hvcall.
  *
diff --git a/arch/x86/include/asm/mshyperv.h b/arch/x86/include/asm/mshyperv.h
index ffb2af079c6b..b77f4caee3ee 100644
--- a/arch/x86/include/asm/mshyperv.h
+++ b/arch/x86/include/asm/mshyperv.h
@@ -11,6 +11,8 @@
 #include <asm/paravirt.h>
 #include <asm/mshyperv.h>
 
+union hv_ghcb;
+
 DECLARE_STATIC_KEY_FALSE(isolation_type_snp);
 
 typedef int (*hyperv_fill_flush_list_func)(
@@ -30,6 +32,61 @@ static inline u64 hv_get_register(unsigned int reg)
 	return value;
 }
 
+#define hv_get_sint_reg(val, reg) {		\
+	if (hv_isolation_type_snp())		\
+		hv_get_##reg##_ghcb(&val);	\
+	else					\
+		rdmsrl(HV_REGISTER_##reg, val);	\
+	}
+
+#define hv_set_sint_reg(val, reg) {		\
+	if (hv_isolation_type_snp())		\
+		hv_set_##reg##_ghcb(val);	\
+	else					\
+		wrmsrl(HV_REGISTER_##reg, val);	\
+	}
+
+
+#define hv_get_simp(val) hv_get_sint_reg(val, SIMP)
+#define hv_get_siefp(val) hv_get_sint_reg(val, SIEFP)
+
+#define hv_set_simp(val) hv_set_sint_reg(val, SIMP)
+#define hv_set_siefp(val) hv_set_sint_reg(val, SIEFP)
+
+#define hv_get_synic_state(val) {			\
+	if (hv_isolation_type_snp())			\
+		hv_get_synic_state_ghcb(&val);		\
+	else						\
+		rdmsrl(HV_REGISTER_SCONTROL, val);	\
+	}
+#define hv_set_synic_state(val) {			\
+	if (hv_isolation_type_snp())			\
+		hv_set_synic_state_ghcb(val);		\
+	else						\
+		wrmsrl(HV_REGISTER_SCONTROL, val);	\
+	}
+
+#define hv_signal_eom(old_msg_type) {		 \
+	if (hv_isolation_type_snp() &&		 \
+	    old_msg_type != HVMSG_TIMER_EXPIRED) \
+		hv_sint_wrmsrl_ghcb(HV_REGISTER_EOM, 0); \
+	else						\
+		wrmsrl(HV_REGISTER_EOM, 0);		\
+	}
+
+#define hv_get_synint_state(int_num, val) {		\
+	if (hv_isolation_type_snp())			\
+		hv_get_synint_state_ghcb(int_num, &val);\
+	else						\
+		rdmsrl(HV_REGISTER_SINT0 + int_num, val);\
+	}
+#define hv_set_synint_state(int_num, val) {		\
+	if (hv_isolation_type_snp())			\
+		hv_set_synint_state_ghcb(int_num, val);	\
+	else						\
+		wrmsrl(HV_REGISTER_SINT0 + int_num, val);\
+	}
+
 #define hv_get_raw_timer() rdtsc_ordered()
 
 void hyperv_vector_handler(struct pt_regs *regs);
@@ -41,7 +98,7 @@ extern void *hv_hypercall_pg;
 
 extern u64 hv_current_partition_id;
 
-extern void __percpu **hv_ghcb_pg;
+extern union hv_ghcb  __percpu **hv_ghcb_pg;
 
 int hv_call_deposit_pages(int node, u64 partition_id, u32 num_pages);
 int hv_call_add_logical_proc(int node, u32 lp_index, u32 acpi_id);
@@ -195,6 +252,25 @@ int hv_unmap_ioapic_interrupt(int ioapic_id, struct hv_interrupt_entry *entry);
 int hv_mark_gpa_visibility(u16 count, const u64 pfn[],
 			   enum hv_mem_host_visibility visibility);
 int hv_set_mem_host_visibility(unsigned long addr, int numpages, bool visible);
+void hv_sint_wrmsrl_ghcb(u64 msr, u64 value);
+void hv_sint_rdmsrl_ghcb(u64 msr, u64 *value);
+void hv_signal_eom_ghcb(void);
+void hv_ghcb_msr_write(u64 msr, u64 value);
+void hv_ghcb_msr_read(u64 msr, u64 *value);
+
+#define hv_get_synint_state_ghcb(int_num, val)			\
+	hv_sint_rdmsrl_ghcb(HV_X64_MSR_SINT0 + int_num, val)
+#define hv_set_synint_state_ghcb(int_num, val) \
+	hv_sint_wrmsrl_ghcb(HV_X64_MSR_SINT0 + int_num, val)
+
+#define hv_get_SIMP_ghcb(val) hv_sint_rdmsrl_ghcb(HV_X64_MSR_SIMP, val)
+#define hv_set_SIMP_ghcb(val) hv_sint_wrmsrl_ghcb(HV_X64_MSR_SIMP, val)
+
+#define hv_get_SIEFP_ghcb(val) hv_sint_rdmsrl_ghcb(HV_X64_MSR_SIEFP, val)
+#define hv_set_SIEFP_ghcb(val) hv_sint_wrmsrl_ghcb(HV_X64_MSR_SIEFP, val)
+
+#define hv_get_synic_state_ghcb(val) hv_sint_rdmsrl_ghcb(HV_X64_MSR_SCONTROL, val)
+#define hv_set_synic_state_ghcb(val) hv_sint_wrmsrl_ghcb(HV_X64_MSR_SCONTROL, val)
 #else /* CONFIG_HYPERV */
 static inline void hyperv_init(void) {}
 static inline void hyperv_setup_mmu_ops(void) {}
@@ -211,9 +287,9 @@ static inline int hyperv_flush_guest_mapping_range(u64 as,
 {
 	return -1;
 }
+static inline void hv_signal_eom_ghcb(void) { };
 #endif /* CONFIG_HYPERV */
 
-
 #include <asm-generic/mshyperv.h>
 
 #endif
diff --git a/arch/x86/include/asm/sev.h b/arch/x86/include/asm/sev.h
index fa5cd05d3b5b..81beb2a8031b 100644
--- a/arch/x86/include/asm/sev.h
+++ b/arch/x86/include/asm/sev.h
@@ -81,6 +81,9 @@ static __always_inline void sev_es_nmi_complete(void)
 		__sev_es_nmi_complete();
 }
 extern int __init sev_es_efi_map_ghcbs(pgd_t *pgd);
+extern enum es_result sev_es_ghcb_hv_call_simple(struct ghcb *ghcb,
+				   u64 exit_code, u64 exit_info_1,
+				   u64 exit_info_2);
 #else
 static inline void sev_es_ist_enter(struct pt_regs *regs) { }
 static inline void sev_es_ist_exit(void) { }
diff --git a/arch/x86/kernel/sev-shared.c b/arch/x86/kernel/sev-shared.c
index 9f90f460a28c..dd7f37de640b 100644
--- a/arch/x86/kernel/sev-shared.c
+++ b/arch/x86/kernel/sev-shared.c
@@ -94,10 +94,9 @@ static void vc_finish_insn(struct es_em_ctxt *ctxt)
 	ctxt->regs->ip += ctxt->insn.length;
 }
 
-static enum es_result sev_es_ghcb_hv_call(struct ghcb *ghcb,
-					  struct es_em_ctxt *ctxt,
-					  u64 exit_code, u64 exit_info_1,
-					  u64 exit_info_2)
+enum es_result sev_es_ghcb_hv_call_simple(struct ghcb *ghcb,
+				   u64 exit_code, u64 exit_info_1,
+				   u64 exit_info_2)
 {
 	enum es_result ret;
 
@@ -109,29 +108,45 @@ static enum es_result sev_es_ghcb_hv_call(struct ghcb *ghcb,
 	ghcb_set_sw_exit_info_1(ghcb, exit_info_1);
 	ghcb_set_sw_exit_info_2(ghcb, exit_info_2);
 
-	sev_es_wr_ghcb_msr(__pa(ghcb));
 	VMGEXIT();
 
-	if ((ghcb->save.sw_exit_info_1 & 0xffffffff) == 1) {
-		u64 info = ghcb->save.sw_exit_info_2;
-		unsigned long v;
-
-		info = ghcb->save.sw_exit_info_2;
-		v = info & SVM_EVTINJ_VEC_MASK;
-
-		/* Check if exception information from hypervisor is sane. */
-		if ((info & SVM_EVTINJ_VALID) &&
-		    ((v == X86_TRAP_GP) || (v == X86_TRAP_UD)) &&
-		    ((info & SVM_EVTINJ_TYPE_MASK) == SVM_EVTINJ_TYPE_EXEPT)) {
-			ctxt->fi.vector = v;
-			if (info & SVM_EVTINJ_VALID_ERR)
-				ctxt->fi.error_code = info >> 32;
-			ret = ES_EXCEPTION;
-		} else {
-			ret = ES_VMM_ERROR;
-		}
-	} else {
+	if ((ghcb->save.sw_exit_info_1 & 0xffffffff) == 1)
+		ret = ES_VMM_ERROR;
+	else
 		ret = ES_OK;
+
+	return ret;
+}
+
+static enum es_result sev_es_ghcb_hv_call(struct ghcb *ghcb,
+				   struct es_em_ctxt *ctxt,
+				   u64 exit_code, u64 exit_info_1,
+				   u64 exit_info_2)
+{
+	unsigned long v;
+	enum es_result ret;
+	u64 info;
+
+	sev_es_wr_ghcb_msr(__pa(ghcb));
+
+	ret = sev_es_ghcb_hv_call_simple(ghcb, exit_code, exit_info_1,
+					 exit_info_2);
+	if (ret == ES_OK)
+		return ret;
+
+	info = ghcb->save.sw_exit_info_2;
+	v = info & SVM_EVTINJ_VEC_MASK;
+
+	/* Check if exception information from hypervisor is sane. */
+	if ((info & SVM_EVTINJ_VALID) &&
+	    ((v == X86_TRAP_GP) || (v == X86_TRAP_UD)) &&
+	    ((info & SVM_EVTINJ_TYPE_MASK) == SVM_EVTINJ_TYPE_EXEPT)) {
+		ctxt->fi.vector = v;
+		if (info & SVM_EVTINJ_VALID_ERR)
+			ctxt->fi.error_code = info >> 32;
+		ret = ES_EXCEPTION;
+	} else {
+		ret = ES_VMM_ERROR;
 	}
 
 	return ret;
diff --git a/drivers/hv/hv.c b/drivers/hv/hv.c
index e83507f49676..97b21256a9db 100644
--- a/drivers/hv/hv.c
+++ b/drivers/hv/hv.c
@@ -8,6 +8,7 @@
  */
 #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
 
+#include <linux/io.h>
 #include <linux/kernel.h>
 #include <linux/mm.h>
 #include <linux/slab.h>
@@ -136,17 +137,24 @@ int hv_synic_alloc(void)
 		tasklet_init(&hv_cpu->msg_dpc,
 			     vmbus_on_msg_dpc, (unsigned long) hv_cpu);
 
-		hv_cpu->synic_message_page =
-			(void *)get_zeroed_page(GFP_ATOMIC);
-		if (hv_cpu->synic_message_page == NULL) {
-			pr_err("Unable to allocate SYNIC message page\n");
-			goto err;
-		}
+		/*
+		 * Synic message and event pages are allocated by paravisor.
+		 * Skip these pages allocation here.
+		 */
+		if (!hv_isolation_type_snp()) {
+			hv_cpu->synic_message_page =
+				(void *)get_zeroed_page(GFP_ATOMIC);
+			if (hv_cpu->synic_message_page == NULL) {
+				pr_err("Unable to allocate SYNIC message page\n");
+				goto err;
+			}
 
-		hv_cpu->synic_event_page = (void *)get_zeroed_page(GFP_ATOMIC);
-		if (hv_cpu->synic_event_page == NULL) {
-			pr_err("Unable to allocate SYNIC event page\n");
-			goto err;
+			hv_cpu->synic_event_page =
+				(void *)get_zeroed_page(GFP_ATOMIC);
+			if (hv_cpu->synic_event_page == NULL) {
+				pr_err("Unable to allocate SYNIC event page\n");
+				goto err;
+			}
 		}
 
 		hv_cpu->post_msg_page = (void *)get_zeroed_page(GFP_ATOMIC);
@@ -199,26 +207,43 @@ void hv_synic_enable_regs(unsigned int cpu)
 	union hv_synic_scontrol sctrl;
 
 	/* Setup the Synic's message page */
-	simp.as_uint64 = hv_get_register(HV_REGISTER_SIMP);
+	hv_get_simp(simp.as_uint64);
 	simp.simp_enabled = 1;
-	simp.base_simp_gpa = virt_to_phys(hv_cpu->synic_message_page)
-		>> HV_HYP_PAGE_SHIFT;
 
-	hv_set_register(HV_REGISTER_SIMP, simp.as_uint64);
+	if (hv_isolation_type_snp()) {
+		hv_cpu->synic_message_page
+			= memremap(simp.base_simp_gpa << HV_HYP_PAGE_SHIFT,
+				   HV_HYP_PAGE_SIZE, MEMREMAP_WB);
+		if (!hv_cpu->synic_message_page)
+			pr_err("Fail to map syinc message page.\n");
+	} else {
+		simp.base_simp_gpa = virt_to_phys(hv_cpu->synic_message_page)
+			>> HV_HYP_PAGE_SHIFT;
+	}
+
+	hv_set_simp(simp.as_uint64);
 
 	/* Setup the Synic's event page */
-	siefp.as_uint64 = hv_get_register(HV_REGISTER_SIEFP);
+	hv_get_siefp(siefp.as_uint64);
 	siefp.siefp_enabled = 1;
-	siefp.base_siefp_gpa = virt_to_phys(hv_cpu->synic_event_page)
-		>> HV_HYP_PAGE_SHIFT;
 
-	hv_set_register(HV_REGISTER_SIEFP, siefp.as_uint64);
+	if (hv_isolation_type_snp()) {
+		hv_cpu->synic_event_page =
+			memremap(siefp.base_siefp_gpa << HV_HYP_PAGE_SHIFT,
+				 HV_HYP_PAGE_SIZE, MEMREMAP_WB);
+
+		if (!hv_cpu->synic_event_page)
+			pr_err("Fail to map syinc event page.\n");
+	} else {
+		siefp.base_siefp_gpa = virt_to_phys(hv_cpu->synic_event_page)
+			>> HV_HYP_PAGE_SHIFT;
+	}
+	hv_set_siefp(siefp.as_uint64);
 
 	/* Setup the shared SINT. */
 	if (vmbus_irq != -1)
 		enable_percpu_irq(vmbus_irq, 0);
-	shared_sint.as_uint64 = hv_get_register(HV_REGISTER_SINT0 +
-					VMBUS_MESSAGE_SINT);
+	hv_get_synint_state(VMBUS_MESSAGE_SINT, shared_sint.as_uint64);
 
 	shared_sint.vector = vmbus_interrupt;
 	shared_sint.masked = false;
@@ -233,14 +258,12 @@ void hv_synic_enable_regs(unsigned int cpu)
 #else
 	shared_sint.auto_eoi = 0;
 #endif
-	hv_set_register(HV_REGISTER_SINT0 + VMBUS_MESSAGE_SINT,
-				shared_sint.as_uint64);
+	hv_set_synint_state(VMBUS_MESSAGE_SINT, shared_sint.as_uint64);
 
 	/* Enable the global synic bit */
-	sctrl.as_uint64 = hv_get_register(HV_REGISTER_SCONTROL);
+	hv_get_synic_state(sctrl.as_uint64);
 	sctrl.enable = 1;
-
-	hv_set_register(HV_REGISTER_SCONTROL, sctrl.as_uint64);
+	hv_set_synic_state(sctrl.as_uint64);
 }
 
 int hv_synic_init(unsigned int cpu)
@@ -257,37 +280,50 @@ int hv_synic_init(unsigned int cpu)
  */
 void hv_synic_disable_regs(unsigned int cpu)
 {
+	struct hv_per_cpu_context *hv_cpu
+		= per_cpu_ptr(hv_context.cpu_context, cpu);
 	union hv_synic_sint shared_sint;
 	union hv_synic_simp simp;
 	union hv_synic_siefp siefp;
 	union hv_synic_scontrol sctrl;
 
-	shared_sint.as_uint64 = hv_get_register(HV_REGISTER_SINT0 +
-					VMBUS_MESSAGE_SINT);
-
+	hv_get_synint_state(VMBUS_MESSAGE_SINT, shared_sint.as_uint64);
 	shared_sint.masked = 1;
+	hv_set_synint_state(VMBUS_MESSAGE_SINT, shared_sint.as_uint64);
+
 
 	/* Need to correctly cleanup in the case of SMP!!! */
 	/* Disable the interrupt */
-	hv_set_register(HV_REGISTER_SINT0 + VMBUS_MESSAGE_SINT,
-				shared_sint.as_uint64);
+	hv_get_simp(simp.as_uint64);
 
-	simp.as_uint64 = hv_get_register(HV_REGISTER_SIMP);
+	/*
+	 * In Isolation VM, sim and sief pages are allocated by
+	 * paravisor. These pages also will be used by kdump
+	 * kernel. So just reset enable bit here and keep page
+	 * addresses.
+	 */
 	simp.simp_enabled = 0;
-	simp.base_simp_gpa = 0;
+	if (hv_isolation_type_snp())
+		memunmap(hv_cpu->synic_message_page);
+	else
+		simp.base_simp_gpa = 0;
 
-	hv_set_register(HV_REGISTER_SIMP, simp.as_uint64);
+	hv_set_simp(simp.as_uint64);
 
-	siefp.as_uint64 = hv_get_register(HV_REGISTER_SIEFP);
+	hv_get_siefp(siefp.as_uint64);
 	siefp.siefp_enabled = 0;
-	siefp.base_siefp_gpa = 0;
 
-	hv_set_register(HV_REGISTER_SIEFP, siefp.as_uint64);
+	if (hv_isolation_type_snp())
+		memunmap(hv_cpu->synic_event_page);
+	else
+		siefp.base_siefp_gpa = 0;
+
+	hv_set_siefp(siefp.as_uint64);
 
 	/* Disable the global synic bit */
-	sctrl.as_uint64 = hv_get_register(HV_REGISTER_SCONTROL);
+	hv_get_synic_state(sctrl.as_uint64);
 	sctrl.enable = 0;
-	hv_set_register(HV_REGISTER_SCONTROL, sctrl.as_uint64);
+	hv_set_synic_state(sctrl.as_uint64);
 
 	if (vmbus_irq != -1)
 		disable_percpu_irq(vmbus_irq);
diff --git a/drivers/hv/hv_common.c b/drivers/hv/hv_common.c
index c0d9048a4112..1fc82d237161 100644
--- a/drivers/hv/hv_common.c
+++ b/drivers/hv/hv_common.c
@@ -249,6 +249,12 @@ bool __weak hv_is_isolation_supported(void)
 }
 EXPORT_SYMBOL_GPL(hv_is_isolation_supported);
 
+bool __weak hv_isolation_type_snp(void)
+{
+	return false;
+}
+EXPORT_SYMBOL_GPL(hv_isolation_type_snp);
+
 void __weak hv_setup_vmbus_handler(void (*handler)(void))
 {
 }
diff --git a/include/asm-generic/mshyperv.h b/include/asm-generic/mshyperv.h
index aa55447b9700..04a687d95eac 100644
--- a/include/asm-generic/mshyperv.h
+++ b/include/asm-generic/mshyperv.h
@@ -24,6 +24,7 @@
 #include <linux/cpumask.h>
 #include <linux/nmi.h>
 #include <asm/ptrace.h>
+#include <asm/mshyperv.h>
 #include <asm/hyperv-tlfs.h>
 
 struct ms_hyperv_info {
@@ -54,6 +55,7 @@ extern void  __percpu  **hyperv_pcpu_output_arg;
 
 extern u64 hv_do_hypercall(u64 control, void *inputaddr, void *outputaddr);
 extern u64 hv_do_fast_hypercall8(u16 control, u64 input8);
+extern bool hv_isolation_type_snp(void);
 
 /* Helper functions that provide a consistent pattern for checking Hyper-V hypercall status. */
 static inline int hv_result(u64 status)
@@ -148,7 +150,7 @@ static inline void vmbus_signal_eom(struct hv_message *msg, u32 old_msg_type)
 		 * possibly deliver another msg from the
 		 * hypervisor
 		 */
-		hv_set_register(HV_REGISTER_EOM, 0);
+		hv_signal_eom(old_msg_type);
 	}
 }
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 17:21:54 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 17:21:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173808.317156 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJfYA-0003in-H1; Fri, 27 Aug 2021 17:21:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173808.317156; Fri, 27 Aug 2021 17:21:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJfYA-0003iW-Bz; Fri, 27 Aug 2021 17:21:54 +0000
Received: by outflank-mailman (input) for mailman id 173808;
 Fri, 27 Aug 2021 17:21:52 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=brRM=NS=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mJfY8-00016Q-NH
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 17:21:52 +0000
Received: from mail-pj1-x1036.google.com (unknown [2607:f8b0:4864:20::1036])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 73887b7c-8fbc-410a-bad8-3c15feebec73;
 Fri, 27 Aug 2021 17:21:36 +0000 (UTC)
Received: by mail-pj1-x1036.google.com with SMTP id
 u13-20020a17090abb0db0290177e1d9b3f7so9339307pjr.1
 for <xen-devel@lists.xenproject.org>; Fri, 27 Aug 2021 10:21:36 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:36:ef50:8fcd:44d1:eb17])
 by smtp.gmail.com with ESMTPSA id f5sm7155015pjo.23.2021.08.27.10.21.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Aug 2021 10:21: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: 73887b7c-8fbc-410a-bad8-3c15feebec73
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=ob17ye6fnB7930R2FL8arcDHdt3yZk08j/bIRN4xoKw=;
        b=Acq1bVUvmaPyZlZjmDtywazFIpInMJ5l50PEA2Nt3bFOezzfV0cJXj0UCstXCzAMBj
         KfGQXE6kdqUIrk3FKEI4LK3MOaU/qt2lKq1m9PTltB806b7/cSj9E7RSKQ2auAqcybd+
         9wAlDTj81JPxOqaCrr18me0IQCBb6qT7513xzCPfvIdPqnk2WNtVKQlv/AudOf4dMoYS
         U3cOSF+ygSE19w5mBvsH5pTBBooic+JayU5NnWQ9mvd5PKbJuY22vk3nxxSot8AvIOSg
         udI302S3dgA4YRY4l76sBeRQT1mqw0wR1intt/aaKxosHTOVgz1TrwlP2iTngJ8FsGBk
         FBoQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=ob17ye6fnB7930R2FL8arcDHdt3yZk08j/bIRN4xoKw=;
        b=N/6v2gy5bMzZTdaR3jN6PY6HkbZ8+AE1BzqDquPoqJc5VSDF+pUpBm7XXv1ImC6h6R
         ZTUioXcDPG3fUI8eblz9OP2/txKksKlkOkTvHW1i9SZK+La3mlPXUM8CCDPq1QVETyU4
         FlOdB4IbkEnQfOdpHHZNc8p/szqT5+c+04Gd+sdlIPWf1cc4cVLU9WCCI/ZZOiBVJENU
         +fs+lYiVj+eK9cvY1FbIaViQqrsKR3ypyYdPsWL3QtLXI4T0IXyah1nD7kfFLBIR3Dts
         7viwFZbs81ATw5qWBk409nQlYzVk0HBd4CA7AXZNE5vRRKoH7LYCZAsnDkba4jfnS36g
         OFUw==
X-Gm-Message-State: AOAM533gCuFI4sJkpS9dtz3DJVIBok9AtUH5DMxjAFi7RxoUzUFcXDlH
	kkty8XS6FzuXK3LefrJPk+U=
X-Google-Smtp-Source: ABdhPJwGMkg3bSRTf7M6vFTQbDZzjMqErLrtp6BhB2Bjhure2g65PdQZullrEVECsMos6PPHsE5QZg==
X-Received: by 2002:a17:902:7203:b0:133:ec6b:6c16 with SMTP id ba3-20020a170902720300b00133ec6b6c16mr9550118plb.67.1630084895682;
        Fri, 27 Aug 2021 10:21:35 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	catalin.marinas@arm.com,
	will@kernel.org,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	gregkh@linuxfoundation.org,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	brijesh.singh@amd.com,
	thomas.lendacky@amd.com,
	Tianyu.Lan@microsoft.com,
	pgonda@google.com,
	martin.b.radev@gmail.com,
	akpm@linux-foundation.org,
	kirill.shutemov@linux.intel.com,
	rppt@kernel.org,
	hannes@cmpxchg.org,
	aneesh.kumar@linux.ibm.com,
	krish.sadhukhan@oracle.com,
	saravanand@fb.com,
	linux-arm-kernel@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	rientjes@google.com,
	ardb@kernel.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com,
	dave.hansen@intel.com
Subject: [PATCH V4 06/13] hyperv: Add ghcb hvcall support for SNP VM
Date: Fri, 27 Aug 2021 13:21:04 -0400
Message-Id: <20210827172114.414281-7-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210827172114.414281-1-ltykernel@gmail.com>
References: <20210827172114.414281-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

hyperv provides ghcb hvcall to handle VMBus
HVCALL_SIGNAL_EVENT and HVCALL_POST_MESSAGE
msg in SNP Isolation VM. Add such support.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
Change since v3:
	* Add hv_ghcb_hypercall() stub function to avoid
	  compile error for ARM.
---
 arch/x86/hyperv/ivm.c          | 71 ++++++++++++++++++++++++++++++++++
 drivers/hv/connection.c        |  6 ++-
 drivers/hv/hv.c                |  8 +++-
 drivers/hv/hv_common.c         |  6 +++
 include/asm-generic/mshyperv.h |  1 +
 5 files changed, 90 insertions(+), 2 deletions(-)

diff --git a/arch/x86/hyperv/ivm.c b/arch/x86/hyperv/ivm.c
index f56fe4f73000..e761c67e2218 100644
--- a/arch/x86/hyperv/ivm.c
+++ b/arch/x86/hyperv/ivm.c
@@ -17,10 +17,81 @@
 #include <asm/io.h>
 #include <asm/mshyperv.h>
 
+#define GHCB_USAGE_HYPERV_CALL	1
+
 union hv_ghcb {
 	struct ghcb ghcb;
+	struct {
+		u64 hypercalldata[509];
+		u64 outputgpa;
+		union {
+			union {
+				struct {
+					u32 callcode        : 16;
+					u32 isfast          : 1;
+					u32 reserved1       : 14;
+					u32 isnested        : 1;
+					u32 countofelements : 12;
+					u32 reserved2       : 4;
+					u32 repstartindex   : 12;
+					u32 reserved3       : 4;
+				};
+				u64 asuint64;
+			} hypercallinput;
+			union {
+				struct {
+					u16 callstatus;
+					u16 reserved1;
+					u32 elementsprocessed : 12;
+					u32 reserved2         : 20;
+				};
+				u64 asunit64;
+			} hypercalloutput;
+		};
+		u64 reserved2;
+	} hypercall;
 } __packed __aligned(HV_HYP_PAGE_SIZE);
 
+u64 hv_ghcb_hypercall(u64 control, void *input, void *output, u32 input_size)
+{
+	union hv_ghcb *hv_ghcb;
+	void **ghcb_base;
+	unsigned long flags;
+
+	if (!hv_ghcb_pg)
+		return -EFAULT;
+
+	WARN_ON(in_nmi());
+
+	local_irq_save(flags);
+	ghcb_base = (void **)this_cpu_ptr(hv_ghcb_pg);
+	hv_ghcb = (union hv_ghcb *)*ghcb_base;
+	if (!hv_ghcb) {
+		local_irq_restore(flags);
+		return -EFAULT;
+	}
+
+	hv_ghcb->ghcb.protocol_version = GHCB_PROTOCOL_MAX;
+	hv_ghcb->ghcb.ghcb_usage = GHCB_USAGE_HYPERV_CALL;
+
+	hv_ghcb->hypercall.outputgpa = (u64)output;
+	hv_ghcb->hypercall.hypercallinput.asuint64 = 0;
+	hv_ghcb->hypercall.hypercallinput.callcode = control;
+
+	if (input_size)
+		memcpy(hv_ghcb->hypercall.hypercalldata, input, input_size);
+
+	VMGEXIT();
+
+	hv_ghcb->ghcb.ghcb_usage = 0xffffffff;
+	memset(hv_ghcb->ghcb.save.valid_bitmap, 0,
+	       sizeof(hv_ghcb->ghcb.save.valid_bitmap));
+
+	local_irq_restore(flags);
+
+	return hv_ghcb->hypercall.hypercalloutput.callstatus;
+}
+
 void hv_ghcb_msr_write(u64 msr, u64 value)
 {
 	union hv_ghcb *hv_ghcb;
diff --git a/drivers/hv/connection.c b/drivers/hv/connection.c
index 5e479d54918c..6d315c1465e0 100644
--- a/drivers/hv/connection.c
+++ b/drivers/hv/connection.c
@@ -447,6 +447,10 @@ void vmbus_set_event(struct vmbus_channel *channel)
 
 	++channel->sig_events;
 
-	hv_do_fast_hypercall8(HVCALL_SIGNAL_EVENT, channel->sig_event);
+	if (hv_isolation_type_snp())
+		hv_ghcb_hypercall(HVCALL_SIGNAL_EVENT, &channel->sig_event,
+				NULL, sizeof(u64));
+	else
+		hv_do_fast_hypercall8(HVCALL_SIGNAL_EVENT, channel->sig_event);
 }
 EXPORT_SYMBOL_GPL(vmbus_set_event);
diff --git a/drivers/hv/hv.c b/drivers/hv/hv.c
index 97b21256a9db..d4531c64d9d3 100644
--- a/drivers/hv/hv.c
+++ b/drivers/hv/hv.c
@@ -98,7 +98,13 @@ int hv_post_message(union hv_connection_id connection_id,
 	aligned_msg->payload_size = payload_size;
 	memcpy((void *)aligned_msg->payload, payload, payload_size);
 
-	status = hv_do_hypercall(HVCALL_POST_MESSAGE, aligned_msg, NULL);
+	if (hv_isolation_type_snp())
+		status = hv_ghcb_hypercall(HVCALL_POST_MESSAGE,
+				(void *)aligned_msg, NULL,
+				sizeof(struct hv_input_post_message));
+	else
+		status = hv_do_hypercall(HVCALL_POST_MESSAGE,
+				aligned_msg, NULL);
 
 	/* Preemption must remain disabled until after the hypercall
 	 * so some other thread can't get scheduled onto this cpu and
diff --git a/drivers/hv/hv_common.c b/drivers/hv/hv_common.c
index 1fc82d237161..7be173a99f27 100644
--- a/drivers/hv/hv_common.c
+++ b/drivers/hv/hv_common.c
@@ -289,3 +289,9 @@ void __weak hyperv_cleanup(void)
 {
 }
 EXPORT_SYMBOL_GPL(hyperv_cleanup);
+
+u64 __weak hv_ghcb_hypercall(u64 control, void *input, void *output, u32 input_size)
+{
+	return HV_STATUS_INVALID_PARAMETER;
+}
+EXPORT_SYMBOL_GPL(hv_ghcb_hypercall);
diff --git a/include/asm-generic/mshyperv.h b/include/asm-generic/mshyperv.h
index 04a687d95eac..0da45807c36a 100644
--- a/include/asm-generic/mshyperv.h
+++ b/include/asm-generic/mshyperv.h
@@ -250,6 +250,7 @@ bool hv_is_hibernation_supported(void);
 enum hv_isolation_type hv_get_isolation_type(void);
 bool hv_is_isolation_supported(void);
 bool hv_isolation_type_snp(void);
+u64 hv_ghcb_hypercall(u64 control, void *input, void *output, u32 input_size);
 void hyperv_cleanup(void);
 bool hv_query_ext_cap(u64 cap_query);
 #else /* CONFIG_HYPERV */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 17:21:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 17:21:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173813.317167 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJfYE-0004Ff-Tt; Fri, 27 Aug 2021 17:21:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173813.317167; Fri, 27 Aug 2021 17: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 1mJfYE-0004FR-Nr; Fri, 27 Aug 2021 17:21:58 +0000
Received: by outflank-mailman (input) for mailman id 173813;
 Fri, 27 Aug 2021 17:21:57 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=brRM=NS=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mJfYD-00016Q-Ne
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 17:21:57 +0000
Received: from mail-pf1-x42b.google.com (unknown [2607:f8b0:4864:20::42b])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id a97efa3d-a27b-4e67-adc2-57c68b97bb78;
 Fri, 27 Aug 2021 17:21:39 +0000 (UTC)
Received: by mail-pf1-x42b.google.com with SMTP id 2so6225960pfo.8
 for <xen-devel@lists.xenproject.org>; Fri, 27 Aug 2021 10:21:39 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:36:ef50:8fcd:44d1:eb17])
 by smtp.gmail.com with ESMTPSA id f5sm7155015pjo.23.2021.08.27.10.21.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Aug 2021 10:21: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: a97efa3d-a27b-4e67-adc2-57c68b97bb78
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=IDv52uhOHnM52YSplOEizgvrMcaCG52xTZqX8PjRtjY=;
        b=W3A72vwZ3Ghwpp2o31CalwDckdSlHrw8StpK5AyjpmRfd7CoTWRdKx9qXGzOjb4pj3
         NCSk+7IZAD3LedbDJg025YQV6OI40vLBcSKr0wrsGn6eizyE2OTRY7/X40qbI132Q8la
         icbgRcIxFmG914HjGbujHrewWgk176VEDV+x/QdzOvheP0TwfLTweIzL9uBVd3yVDUn2
         vSmaSU6KUJ257VBVrC46n3gE5fJnAmuxOXfrkO29VPSz5UDjxNj5n6hNF3QnSI8ZIMvx
         LPiBV+UQ4WTAkCIT/6Qzy9PhNFbXgoU18387LZmAfrNkr5IiukCeXLXFomvnet7ilIBD
         6Tkg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=IDv52uhOHnM52YSplOEizgvrMcaCG52xTZqX8PjRtjY=;
        b=abXwapaIMsFocZpucVCUcVJN4SObh7BKMVTFQk76yiBPA3WyzKDsaioTjzCbaQtqNt
         Yn+JwAn9KkQJGL8cTiyFEHT2IMP1x1hgumY9yD5qDCtIfjM99jf57PIB9CE+8MouUM/B
         fQWFw5M97/Gq5huBspiTdF3LvDH7JS9wg722nwzGZAHUg0QM0FU5oBMfzp2/5Wl4Zr12
         6+x3D9o/n2jsdYw0xQulOvBNnhSfSCl8FppEIlFc7qXysQv/NvGEVLTNVPSxDQX3WfrU
         9oz191eYd1/xCiZwgYrFADgdHFm0dJW2wNFOOMmxzquXiE7wEBx07RygxfdHg2x8eaUm
         ZbCA==
X-Gm-Message-State: AOAM531y6f67YuDbYoh1mJ+uDKEI/QEab7D+5j++sjoXFzj9/3dLr+fq
	PQ0FlWLTTpWdYjLO2gzmaBk=
X-Google-Smtp-Source: ABdhPJzz68J2ef2NxKZvaNs5SyHPyYKCGSvy1fUWoS56/s8IKaqxW9MfFpxUlMb01fo8vSumjFMHoQ==
X-Received: by 2002:aa7:864a:0:b0:3ee:a4f6:af02 with SMTP id a10-20020aa7864a000000b003eea4f6af02mr10062820pfo.23.1630084898734;
        Fri, 27 Aug 2021 10:21:38 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	catalin.marinas@arm.com,
	will@kernel.org,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	gregkh@linuxfoundation.org,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	brijesh.singh@amd.com,
	thomas.lendacky@amd.com,
	Tianyu.Lan@microsoft.com,
	pgonda@google.com,
	martin.b.radev@gmail.com,
	akpm@linux-foundation.org,
	kirill.shutemov@linux.intel.com,
	rppt@kernel.org,
	hannes@cmpxchg.org,
	aneesh.kumar@linux.ibm.com,
	krish.sadhukhan@oracle.com,
	saravanand@fb.com,
	linux-arm-kernel@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	rientjes@google.com,
	ardb@kernel.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com,
	dave.hansen@intel.com
Subject: [PATCH V4 07/13] hyperv/Vmbus: Add SNP support for VMbus channel initiate  message
Date: Fri, 27 Aug 2021 13:21:05 -0400
Message-Id: <20210827172114.414281-8-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210827172114.414281-1-ltykernel@gmail.com>
References: <20210827172114.414281-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

The monitor pages in the CHANNELMSG_INITIATE_CONTACT msg are shared
with host in Isolation VM and so it's necessary to use hvcall to set
them visible to host. In Isolation VM with AMD SEV SNP, the access
address should be in the extra space which is above shared gpa
boundary. So remap these pages into the extra address(pa +
shared_gpa_boundary).

Introduce monitor_pages_original[] in the struct vmbus_connection
to store monitor page virtual address returned by hv_alloc_hyperv_
zeroed_page() and free monitor page via monitor_pages_original in
the vmbus_disconnect(). The monitor_pages[] is to used to access
monitor page and it is initialized to be equal with monitor_pages_
original. The monitor_pages[] will be overridden in the isolation VM
with va of extra address.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
Change since v3:
	* Rename monitor_pages_va with monitor_pages_original
	* free monitor page via monitor_pages_original and
	  monitor_pages is used to access monitor page.

Change since v1:
        * Not remap monitor pages in the non-SNP isolation VM.
---
 drivers/hv/connection.c   | 75 ++++++++++++++++++++++++++++++++++++---
 drivers/hv/hyperv_vmbus.h |  1 +
 2 files changed, 72 insertions(+), 4 deletions(-)

diff --git a/drivers/hv/connection.c b/drivers/hv/connection.c
index 6d315c1465e0..9a48d8115c87 100644
--- a/drivers/hv/connection.c
+++ b/drivers/hv/connection.c
@@ -19,6 +19,7 @@
 #include <linux/vmalloc.h>
 #include <linux/hyperv.h>
 #include <linux/export.h>
+#include <linux/io.h>
 #include <asm/mshyperv.h>
 
 #include "hyperv_vmbus.h"
@@ -104,6 +105,12 @@ int vmbus_negotiate_version(struct vmbus_channel_msginfo *msginfo, u32 version)
 
 	msg->monitor_page1 = virt_to_phys(vmbus_connection.monitor_pages[0]);
 	msg->monitor_page2 = virt_to_phys(vmbus_connection.monitor_pages[1]);
+
+	if (hv_isolation_type_snp()) {
+		msg->monitor_page1 += ms_hyperv.shared_gpa_boundary;
+		msg->monitor_page2 += ms_hyperv.shared_gpa_boundary;
+	}
+
 	msg->target_vcpu = hv_cpu_number_to_vp_number(VMBUS_CONNECT_CPU);
 
 	/*
@@ -148,6 +155,35 @@ int vmbus_negotiate_version(struct vmbus_channel_msginfo *msginfo, u32 version)
 		return -ECONNREFUSED;
 	}
 
+
+	if (hv_is_isolation_supported()) {
+		if (hv_isolation_type_snp()) {
+			vmbus_connection.monitor_pages[0]
+				= memremap(msg->monitor_page1, HV_HYP_PAGE_SIZE,
+					   MEMREMAP_WB);
+			if (!vmbus_connection.monitor_pages[0])
+				return -ENOMEM;
+
+			vmbus_connection.monitor_pages[1]
+				= memremap(msg->monitor_page2, HV_HYP_PAGE_SIZE,
+					   MEMREMAP_WB);
+			if (!vmbus_connection.monitor_pages[1]) {
+				memunmap(vmbus_connection.monitor_pages[0]);
+				return -ENOMEM;
+			}
+		}
+
+		/*
+		 * Set memory host visibility hvcall smears memory
+		 * and so zero monitor pages here.
+		 */
+		memset(vmbus_connection.monitor_pages[0], 0x00,
+		       HV_HYP_PAGE_SIZE);
+		memset(vmbus_connection.monitor_pages[1], 0x00,
+		       HV_HYP_PAGE_SIZE);
+
+	}
+
 	return ret;
 }
 
@@ -159,6 +195,7 @@ int vmbus_connect(void)
 	struct vmbus_channel_msginfo *msginfo = NULL;
 	int i, ret = 0;
 	__u32 version;
+	u64 pfn[2];
 
 	/* Initialize the vmbus connection */
 	vmbus_connection.conn_state = CONNECTING;
@@ -216,6 +253,21 @@ int vmbus_connect(void)
 		goto cleanup;
 	}
 
+	vmbus_connection.monitor_pages_original[0]
+		= vmbus_connection.monitor_pages[0];
+	vmbus_connection.monitor_pages_original[1]
+		= vmbus_connection.monitor_pages[1];
+
+	if (hv_is_isolation_supported()) {
+		pfn[0] = virt_to_hvpfn(vmbus_connection.monitor_pages[0]);
+		pfn[1] = virt_to_hvpfn(vmbus_connection.monitor_pages[1]);
+		if (hv_mark_gpa_visibility(2, pfn,
+				VMBUS_PAGE_VISIBLE_READ_WRITE)) {
+			ret = -EFAULT;
+			goto cleanup;
+		}
+	}
+
 	msginfo = kzalloc(sizeof(*msginfo) +
 			  sizeof(struct vmbus_channel_initiate_contact),
 			  GFP_KERNEL);
@@ -284,6 +336,8 @@ int vmbus_connect(void)
 
 void vmbus_disconnect(void)
 {
+	u64 pfn[2];
+
 	/*
 	 * First send the unload request to the host.
 	 */
@@ -303,10 +357,23 @@ void vmbus_disconnect(void)
 		vmbus_connection.int_page = NULL;
 	}
 
-	hv_free_hyperv_page((unsigned long)vmbus_connection.monitor_pages[0]);
-	hv_free_hyperv_page((unsigned long)vmbus_connection.monitor_pages[1]);
-	vmbus_connection.monitor_pages[0] = NULL;
-	vmbus_connection.monitor_pages[1] = NULL;
+	if (hv_is_isolation_supported()) {
+		memunmap(vmbus_connection.monitor_pages[0]);
+		memunmap(vmbus_connection.monitor_pages[1]);
+
+		pfn[0] = virt_to_hvpfn(vmbus_connection.monitor_pages[0]);
+		pfn[1] = virt_to_hvpfn(vmbus_connection.monitor_pages[1]);
+		hv_mark_gpa_visibility(2, pfn, VMBUS_PAGE_NOT_VISIBLE);
+	}
+
+	hv_free_hyperv_page((unsigned long)
+		vmbus_connection.monitor_pages_original[0]);
+	hv_free_hyperv_page((unsigned long)
+		vmbus_connection.monitor_pages_original[1]);
+	vmbus_connection.monitor_pages_original[0] =
+		vmbus_connection.monitor_pages[0] = NULL;
+	vmbus_connection.monitor_pages_original[1] =
+		vmbus_connection.monitor_pages[1] = NULL;
 }
 
 /*
diff --git a/drivers/hv/hyperv_vmbus.h b/drivers/hv/hyperv_vmbus.h
index 42f3d9d123a1..7cb11ef694da 100644
--- a/drivers/hv/hyperv_vmbus.h
+++ b/drivers/hv/hyperv_vmbus.h
@@ -240,6 +240,7 @@ struct vmbus_connection {
 	 * is child->parent notification
 	 */
 	struct hv_monitor_page *monitor_pages[2];
+	void *monitor_pages_original[2];
 	struct list_head chn_msg_list;
 	spinlock_t channelmsg_lock;
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 17:22:04 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 17:22:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173818.317177 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJfYK-0004oU-6B; Fri, 27 Aug 2021 17:22:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173818.317177; Fri, 27 Aug 2021 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 1mJfYK-0004oD-1o; Fri, 27 Aug 2021 17:22:04 +0000
Received: by outflank-mailman (input) for mailman id 173818;
 Fri, 27 Aug 2021 17:22:02 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=brRM=NS=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mJfYI-00016Q-Ny
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 17:22:02 +0000
Received: from mail-pl1-x631.google.com (unknown [2607:f8b0:4864:20::631])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 971e1a30-4c0c-42f9-90ac-9e3670196996;
 Fri, 27 Aug 2021 17:21:42 +0000 (UTC)
Received: by mail-pl1-x631.google.com with SMTP id m17so4350645plc.6
 for <xen-devel@lists.xenproject.org>; Fri, 27 Aug 2021 10:21:42 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:36:ef50:8fcd:44d1:eb17])
 by smtp.gmail.com with ESMTPSA id f5sm7155015pjo.23.2021.08.27.10.21.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Aug 2021 10:21: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: 971e1a30-4c0c-42f9-90ac-9e3670196996
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=4dx9A/B3m5ysOD2+VzBoH5w81i27I/BMJvu/dVa7Ytg=;
        b=d6svu92zxjPI6sOGybaew8LGEzZQzVDWU73Js82UMmjRVPkircRHjJuTwevbiccRtw
         ZOHi8nITISKt1ONd0/XM2BKSMvAJmurxS00i1gBOaGuR027+Kyk7ZjDXFSFBUcP4bTCZ
         +mxTQlEetvL8su0/2uTAqa3IHgMTEZ7T+82SBtlXhSmpM7sNg5mVuophr86XcTcFPq2/
         w+EZ2tpFCYMRtm821G13jWV8IhGq8uTX0NcoMVXtQ+wE1Ha9RrqJUhReEosqrotUQCoQ
         IGgYsbYCnWTzEe07DlxvZ+deZdgduAL0Zs/sUPNCxPdbBV8fooS21ucdofpUlseeIhpm
         zgng==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=4dx9A/B3m5ysOD2+VzBoH5w81i27I/BMJvu/dVa7Ytg=;
        b=ss7ueBwSmeI4DA1+QkMG5zmSNQ7jPBUuUhs1X4ob2mSLDHjeF+/CEOw6FYpkj6goBb
         zMEb96Hw+hDwwVPNIXli3t8JQ6h3/IbXns0/RrFY7mESHFsbCwxr6IRM4Z88DYD5D3HW
         TwT1QiXbX158LEcmW6q2pkh+0nN9vNHxXHh4+cSJ1y3l+dr85H3z6ZMWQAO106kZi3Lb
         M8KZSHhxAVCn2P5S6GrgEDRgA7VP3g0Id5bYxsklPkMKBd6g90ceKsAN3pVU0We4tKBa
         XI9QJnCQgJyI56pOt9+7/Yx5v9ZghxN7Cx3xl2X4JAKUpCIfldgc/wwt5SA+MoeHArq1
         +PFA==
X-Gm-Message-State: AOAM5308dSezwFi9IyLwWN5iHCAuX6yrFb+Z7g/Ywe/fEOnmdiQ3NMw0
	MF89gRYqqrKhxoMLwBtujFo=
X-Google-Smtp-Source: ABdhPJwIY8QSecpkOYquBiJzV0Q22b9scRKmqtTl7kB/KD182fzIRPnUqvHG1miAckAMpUlV+5Pz6g==
X-Received: by 2002:a17:902:f704:b029:11a:cdee:490 with SMTP id h4-20020a170902f704b029011acdee0490mr9529029plo.37.1630084901556;
        Fri, 27 Aug 2021 10:21:41 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	catalin.marinas@arm.com,
	will@kernel.org,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	gregkh@linuxfoundation.org,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	brijesh.singh@amd.com,
	thomas.lendacky@amd.com,
	Tianyu.Lan@microsoft.com,
	pgonda@google.com,
	martin.b.radev@gmail.com,
	akpm@linux-foundation.org,
	kirill.shutemov@linux.intel.com,
	rppt@kernel.org,
	hannes@cmpxchg.org,
	aneesh.kumar@linux.ibm.com,
	krish.sadhukhan@oracle.com,
	saravanand@fb.com,
	linux-arm-kernel@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	rientjes@google.com,
	ardb@kernel.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com,
	dave.hansen@intel.com
Subject: [PATCH V4 08/13] hyperv/vmbus: Initialize VMbus ring buffer for Isolation VM
Date: Fri, 27 Aug 2021 13:21:06 -0400
Message-Id: <20210827172114.414281-9-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210827172114.414281-1-ltykernel@gmail.com>
References: <20210827172114.414281-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

VMbus ring buffer are shared with host and it's need to
be accessed via extra address space of Isolation VM with
AMD SNP support. This patch is to map the ring buffer
address in extra address space via vmap_pfn(). Hyperv set
memory host visibility hvcall smears data in the ring buffer
and so reset the ring buffer memory to zero after mapping.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
Change since v3:
	* Remove hv_ringbuffer_post_init(), merge map
	operation for Isolation VM into hv_ringbuffer_init()
	* Call hv_ringbuffer_init() after __vmbus_establish_gpadl().
---
 drivers/hv/Kconfig       |  1 +
 drivers/hv/channel.c     | 19 +++++++-------
 drivers/hv/ring_buffer.c | 56 ++++++++++++++++++++++++++++++----------
 3 files changed, 54 insertions(+), 22 deletions(-)

diff --git a/drivers/hv/Kconfig b/drivers/hv/Kconfig
index d1123ceb38f3..dd12af20e467 100644
--- a/drivers/hv/Kconfig
+++ b/drivers/hv/Kconfig
@@ -8,6 +8,7 @@ config HYPERV
 		|| (ARM64 && !CPU_BIG_ENDIAN))
 	select PARAVIRT
 	select X86_HV_CALLBACK_VECTOR if X86
+	select VMAP_PFN
 	help
 	  Select this option to run Linux as a Hyper-V client operating
 	  system.
diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c
index 82650beb3af0..81f8629e4491 100644
--- a/drivers/hv/channel.c
+++ b/drivers/hv/channel.c
@@ -679,15 +679,6 @@ static int __vmbus_open(struct vmbus_channel *newchannel,
 	if (!newchannel->max_pkt_size)
 		newchannel->max_pkt_size = VMBUS_DEFAULT_MAX_PKT_SIZE;
 
-	err = hv_ringbuffer_init(&newchannel->outbound, page, send_pages, 0);
-	if (err)
-		goto error_clean_ring;
-
-	err = hv_ringbuffer_init(&newchannel->inbound, &page[send_pages],
-				 recv_pages, newchannel->max_pkt_size);
-	if (err)
-		goto error_clean_ring;
-
 	/* Establish the gpadl for the ring buffer */
 	newchannel->ringbuffer_gpadlhandle = 0;
 
@@ -699,6 +690,16 @@ static int __vmbus_open(struct vmbus_channel *newchannel,
 	if (err)
 		goto error_clean_ring;
 
+	err = hv_ringbuffer_init(&newchannel->outbound,
+				 page, send_pages, 0);
+	if (err)
+		goto error_free_gpadl;
+
+	err = hv_ringbuffer_init(&newchannel->inbound, &page[send_pages],
+				 recv_pages, newchannel->max_pkt_size);
+	if (err)
+		goto error_free_gpadl;
+
 	/* Create and init the channel open message */
 	open_info = kzalloc(sizeof(*open_info) +
 			   sizeof(struct vmbus_channel_open_channel),
diff --git a/drivers/hv/ring_buffer.c b/drivers/hv/ring_buffer.c
index 2aee356840a2..24d64d18eb65 100644
--- a/drivers/hv/ring_buffer.c
+++ b/drivers/hv/ring_buffer.c
@@ -17,6 +17,8 @@
 #include <linux/vmalloc.h>
 #include <linux/slab.h>
 #include <linux/prefetch.h>
+#include <linux/io.h>
+#include <asm/mshyperv.h>
 
 #include "hyperv_vmbus.h"
 
@@ -183,8 +185,10 @@ void hv_ringbuffer_pre_init(struct vmbus_channel *channel)
 int hv_ringbuffer_init(struct hv_ring_buffer_info *ring_info,
 		       struct page *pages, u32 page_cnt, u32 max_pkt_size)
 {
-	int i;
 	struct page **pages_wraparound;
+	unsigned long *pfns_wraparound;
+	u64 pfn;
+	int i;
 
 	BUILD_BUG_ON((sizeof(struct hv_ring_buffer) != PAGE_SIZE));
 
@@ -192,23 +196,49 @@ int hv_ringbuffer_init(struct hv_ring_buffer_info *ring_info,
 	 * First page holds struct hv_ring_buffer, do wraparound mapping for
 	 * the rest.
 	 */
-	pages_wraparound = kcalloc(page_cnt * 2 - 1, sizeof(struct page *),
-				   GFP_KERNEL);
-	if (!pages_wraparound)
-		return -ENOMEM;
+	if (hv_isolation_type_snp()) {
+		pfn = page_to_pfn(pages) +
+			HVPFN_DOWN(ms_hyperv.shared_gpa_boundary);
 
-	pages_wraparound[0] = pages;
-	for (i = 0; i < 2 * (page_cnt - 1); i++)
-		pages_wraparound[i + 1] = &pages[i % (page_cnt - 1) + 1];
+		pfns_wraparound = kcalloc(page_cnt * 2 - 1,
+			sizeof(unsigned long), GFP_KERNEL);
+		if (!pfns_wraparound)
+			return -ENOMEM;
 
-	ring_info->ring_buffer = (struct hv_ring_buffer *)
-		vmap(pages_wraparound, page_cnt * 2 - 1, VM_MAP, PAGE_KERNEL);
+		pfns_wraparound[0] = pfn;
+		for (i = 0; i < 2 * (page_cnt - 1); i++)
+			pfns_wraparound[i + 1] = pfn + i % (page_cnt - 1) + 1;
 
-	kfree(pages_wraparound);
+		ring_info->ring_buffer = (struct hv_ring_buffer *)
+			vmap_pfn(pfns_wraparound, page_cnt * 2 - 1,
+				 PAGE_KERNEL);
+		kfree(pfns_wraparound);
 
+		if (!ring_info->ring_buffer)
+			return -ENOMEM;
+
+		/* Zero ring buffer after setting memory host visibility. */
+		memset(ring_info->ring_buffer, 0x00,
+			HV_HYP_PAGE_SIZE * page_cnt);
+	} else {
+		pages_wraparound = kcalloc(page_cnt * 2 - 1,
+					   sizeof(struct page *),
+					   GFP_KERNEL);
+
+		pages_wraparound[0] = pages;
+		for (i = 0; i < 2 * (page_cnt - 1); i++)
+			pages_wraparound[i + 1] =
+				&pages[i % (page_cnt - 1) + 1];
+
+		ring_info->ring_buffer = (struct hv_ring_buffer *)
+			vmap(pages_wraparound, page_cnt * 2 - 1, VM_MAP,
+				PAGE_KERNEL);
+
+		kfree(pages_wraparound);
+		if (!ring_info->ring_buffer)
+			return -ENOMEM;
+	}
 
-	if (!ring_info->ring_buffer)
-		return -ENOMEM;
 
 	ring_info->ring_buffer->read_index =
 		ring_info->ring_buffer->write_index = 0;
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 17:22:09 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 17:22:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173823.317188 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJfYP-0005Rz-Ft; Fri, 27 Aug 2021 17:22:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173823.317188; Fri, 27 Aug 2021 17: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 1mJfYP-0005Rq-Bi; Fri, 27 Aug 2021 17:22:09 +0000
Received: by outflank-mailman (input) for mailman id 173823;
 Fri, 27 Aug 2021 17:22:07 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=brRM=NS=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mJfYN-00016Q-Nw
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 17:22:07 +0000
Received: from mail-pl1-x634.google.com (unknown [2607:f8b0:4864:20::634])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id bb8ffdf7-506e-44c6-affc-63f9c055b5d3;
 Fri, 27 Aug 2021 17:21:44 +0000 (UTC)
Received: by mail-pl1-x634.google.com with SMTP id j2so4364855pll.1
 for <xen-devel@lists.xenproject.org>; Fri, 27 Aug 2021 10:21:44 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:36:ef50:8fcd:44d1:eb17])
 by smtp.gmail.com with ESMTPSA id f5sm7155015pjo.23.2021.08.27.10.21.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Aug 2021 10:21:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bb8ffdf7-506e-44c6-affc-63f9c055b5d3
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=QzDpud8qjO7DGAwSDqVcLhrCIaPCA+FlLB1tYtC1F1E=;
        b=lzOMpy7gjTg0QsI9X1B0zDEO5w8A3tTHDaA3Newvm7Dl3CUxrum/hXz2a9YiW/zbl9
         DWBNfsfAuWLVXW+6052ehJsSra7WuCaqDcfvuVRm/H1XSNDcmZV21gls+k03o8B15EvO
         WllzL/XxkMvOhuAI1ingj47d+lIZ1gqKkC9D8tlfwvTv21qcSq6y1ob7HKk5txM1NLLs
         ZHs1WkgWMZEeRaubjxDUO3RgjimMTGd3vjBVskF/18NptrHuYNJudZP4Ttd3US16Hi3t
         /3kG52lIvLDBHlCYO8E/XcfFGifWx7bIZTkC4gv5hSXuX9FWgCaJwm8f8Mjy2h7PQgiL
         HXmw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=QzDpud8qjO7DGAwSDqVcLhrCIaPCA+FlLB1tYtC1F1E=;
        b=DSRQMfk3XapHI27ROmtXvxOmpI5JbCA8ZsM+wZbafCMB0oHjUKQbIdxnhxQr6QqVFb
         tQvB/tftBKAL847a4CjiC+MVgmS6DzlUCz05LmEzm6Tvbk5ONsk0FYIteHh+EQ2ZlOwU
         jSzcmyxLOCh7jQJL7i7yQa5lyWtWrLogGl0RrvRADgnVl/wWOhzC8RBVPZA6x69Brvj/
         VfM3ou8eQdtsfG2neAr5NV97/Hg1Cw8G5YggXd21iaw+i648eAoceI9Mycsf4zUnNE36
         rIRoCRCcGganK7SWIfv1C7q7KdtSaEdpWHlVd/ut6XHDq2o1tCO7utROTPclkkLPiZZp
         qBfQ==
X-Gm-Message-State: AOAM531u9sjO6Z4ItkQI/2edLIE2DkkswNk6X+rZ35tWNwCIKyjMIf3/
	h1aQfk/KwTsxLjD8lpTRhJI=
X-Google-Smtp-Source: ABdhPJyGYNb/dCSEWaVblCRuQOF/Z6LafmEQvufqDOpzfIgc7L3h2vFfPqAmiAB3tW+rcK6DfA1aiQ==
X-Received: by 2002:a17:902:bf49:b0:136:7033:8963 with SMTP id u9-20020a170902bf4900b0013670338963mr9726914pls.75.1630084904216;
        Fri, 27 Aug 2021 10:21:44 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	catalin.marinas@arm.com,
	will@kernel.org,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	gregkh@linuxfoundation.org,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	brijesh.singh@amd.com,
	thomas.lendacky@amd.com,
	Tianyu.Lan@microsoft.com,
	pgonda@google.com,
	martin.b.radev@gmail.com,
	akpm@linux-foundation.org,
	kirill.shutemov@linux.intel.com,
	rppt@kernel.org,
	hannes@cmpxchg.org,
	aneesh.kumar@linux.ibm.com,
	krish.sadhukhan@oracle.com,
	saravanand@fb.com,
	linux-arm-kernel@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	rientjes@google.com,
	ardb@kernel.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com,
	dave.hansen@intel.com
Subject: [PATCH V4 09/13] DMA: Add dma_map_decrypted/dma_unmap_encrypted() function
Date: Fri, 27 Aug 2021 13:21:07 -0400
Message-Id: <20210827172114.414281-10-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210827172114.414281-1-ltykernel@gmail.com>
References: <20210827172114.414281-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

In Hyper-V Isolation VM with AMD SEV, swiotlb boucne buffer
needs to be mapped into address space above vTOM and so
introduce dma_map_decrypted/dma_unmap_encrypted() to map/unmap
bounce buffer memory. The platform can populate man/unmap callback
in the dma memory decrypted ops. The swiotlb bounce buffer
PA will be returned to driver and used for DMA address. The new
mapped virtual address is just to acess bounce buffer in the
swiotlb code. PAs passed to DMA API still have backing struct page.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
 include/linux/dma-map-ops.h |  9 +++++++++
 kernel/dma/mapping.c        | 22 ++++++++++++++++++++++
 2 files changed, 31 insertions(+)

diff --git a/include/linux/dma-map-ops.h b/include/linux/dma-map-ops.h
index 0d53a96a3d64..01d60a024e45 100644
--- a/include/linux/dma-map-ops.h
+++ b/include/linux/dma-map-ops.h
@@ -71,6 +71,11 @@ struct dma_map_ops {
 	unsigned long (*get_merge_boundary)(struct device *dev);
 };
 
+struct dma_memory_decrypted_ops {
+	void *(*map)(void *addr, unsigned long size);
+	void (*unmap)(void *addr);
+};
+
 #ifdef CONFIG_DMA_OPS
 #include <asm/dma-mapping.h>
 
@@ -374,6 +379,10 @@ static inline void debug_dma_dump_mappings(struct device *dev)
 }
 #endif /* CONFIG_DMA_API_DEBUG */
 
+void *dma_map_decrypted(void *addr, unsigned long size);
+int dma_unmap_decrypted(void *addr, unsigned long size);
+
 extern const struct dma_map_ops dma_dummy_ops;
+extern struct dma_memory_decrypted_ops dma_memory_generic_decrypted_ops;
 
 #endif /* _LINUX_DMA_MAP_OPS_H */
diff --git a/kernel/dma/mapping.c b/kernel/dma/mapping.c
index 2b06a809d0b9..6fb150dc1750 100644
--- a/kernel/dma/mapping.c
+++ b/kernel/dma/mapping.c
@@ -13,11 +13,13 @@
 #include <linux/of_device.h>
 #include <linux/slab.h>
 #include <linux/vmalloc.h>
+#include <asm/set_memory.h>
 #include "debug.h"
 #include "direct.h"
 
 bool dma_default_coherent;
 
+struct dma_memory_decrypted_ops dma_memory_generic_decrypted_ops;
 /*
  * Managed DMA API
  */
@@ -736,3 +738,23 @@ unsigned long dma_get_merge_boundary(struct device *dev)
 	return ops->get_merge_boundary(dev);
 }
 EXPORT_SYMBOL_GPL(dma_get_merge_boundary);
+
+void *dma_map_decrypted(void *addr, unsigned long size)
+{
+	if (set_memory_decrypted((unsigned long)addr,
+				 size / PAGE_SIZE))
+		return NULL;
+
+	if (dma_memory_generic_decrypted_ops.map)
+		return dma_memory_generic_decrypted_ops.map(addr, size);
+	else
+		return addr;
+}
+
+int dma_unmap_encrypted(void *addr, unsigned long size)
+{
+	if (dma_memory_generic_decrypted_ops.unmap)
+		dma_memory_generic_decrypted_ops.unmap(addr);
+
+	return set_memory_encrypted((unsigned long)addr, size / PAGE_SIZE);
+}
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 17:25:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 17:25:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173844.317200 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJfc7-0007QO-AC; Fri, 27 Aug 2021 17:25:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173844.317200; Fri, 27 Aug 2021 17:25:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJfc7-0007QH-7A; Fri, 27 Aug 2021 17:25:59 +0000
Received: by outflank-mailman (input) for mailman id 173844;
 Fri, 27 Aug 2021 17:25: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 1mJfc6-0007Q7-Cp; Fri, 27 Aug 2021 17:25:58 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mJfc6-0002Nd-8k; Fri, 27 Aug 2021 17:25:58 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mJfc5-0000J2-US; Fri, 27 Aug 2021 17:25:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mJfc5-0005Id-Tw; Fri, 27 Aug 2021 17:25:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=uJMPtKknT1T5F/G8DIzpjzM8fa4AP3SAFy3PCgko6eE=; b=vPNETyGW1mmccYRidVuaoubhLx
	cgUR9KazV6fou/KGMGoJ1EHz6Xltg9yhz/f1i2aAHViPeU48zNGQqZ/YVaAW8saL7e2pwOAa0wXSZ
	lAc0xiea2DeOY9cRHTnMUu0n3PjGVuITfze5+WOzOyKYLOsbr+bk07RVQMo6CqmWtR1Q=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164524-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 164524: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=afab477fba3b4de4ad3887c27677737b96488091
X-Osstest-Versions-That:
    xen=b6da9d0414d69c2682214ee3ecf9816fcac500d0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 27 Aug 2021 17:25:57 +0000

flight 164524 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164524/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  afab477fba3b4de4ad3887c27677737b96488091
baseline version:
 xen                  b6da9d0414d69c2682214ee3ecf9816fcac500d0

Last test of basis   164515  2021-08-27 09:00:31 Z    0 days
Testing same since   164524  2021-08-27 14:00:28 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   b6da9d0414..afab477fba  afab477fba3b4de4ad3887c27677737b96488091 -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 17:31:15 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 17:31:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173852.317213 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJfh9-0000Pk-V7; Fri, 27 Aug 2021 17:31:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173852.317213; Fri, 27 Aug 2021 17:31:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJfh9-0000Pd-S0; Fri, 27 Aug 2021 17:31:11 +0000
Received: by outflank-mailman (input) for mailman id 173852;
 Fri, 27 Aug 2021 17:31:10 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=brRM=NS=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mJfYX-00016Q-OM
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 17:22:17 +0000
Received: from mail-pf1-x42f.google.com (unknown [2607:f8b0:4864:20::42f])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c2bb90f7-b2bf-47ce-82a5-3477241e9920;
 Fri, 27 Aug 2021 17:21:50 +0000 (UTC)
Received: by mail-pf1-x42f.google.com with SMTP id y11so6214929pfl.13
 for <xen-devel@lists.xenproject.org>; Fri, 27 Aug 2021 10:21:50 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:36:ef50:8fcd:44d1:eb17])
 by smtp.gmail.com with ESMTPSA id f5sm7155015pjo.23.2021.08.27.10.21.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Aug 2021 10:21: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: c2bb90f7-b2bf-47ce-82a5-3477241e9920
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=f/xiBxoq9p910rq4iCCIXN3piXXicO8x7yFYnpejeEk=;
        b=Ju+1YsPkg+UbMh1or5AIAI/ZvTETioYtgUuZZBnkEMEAY4wG/GpaOnM5lRpCuVEexe
         tumb++OLULd903N2hp7Qy2sLv493o0sqM1ciJZGGmOTkFHwpc0J/Yi0A4EFKybLEXp6A
         jHk4b+zO0G8lnOcidl94Qugbz4vzXgvdD20Gf0+Za3mE4U4VRUylL95yNp387frjeho3
         Tydc+sAk2HjHyRM2/aBSNofuAZ7hYsTRhM8t4bBXBsNP8Ghfc2Eobpq+STxZiiZ5Bjmz
         KaaohXKSjVg3XUlnBIKCvvdh/pNN14L9P6XuRbik+Tc9GG6lDQBqK96lrzNtAflEBlew
         xsmA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=f/xiBxoq9p910rq4iCCIXN3piXXicO8x7yFYnpejeEk=;
        b=PEU8loJZo9gmj2l0C3demIuTaPatfCreiYoyyk/Rpn5SN/9bgeVD1OA4gbK649C8VH
         bjgkVm7ybM8t684zPecAEo0T6AHTygaGTpK3o2FhCQQBQXlNEtf0JxPWMvso7OIhGh5j
         1h4V/dvrcRP+YUq5XolOds6AZwqUpSQXDCzkWaWpP3Rmhmx/L227BwiEj0gZkQ41snPn
         NEJpYprJV5lAWZgZJGMCS4xw0NEv+LpVlZ4KyoMRWBDBrqn96wZOiusMSb8NZtu7ZdEA
         Zp1uSmYWOm56Z7Q53QZonhPOMUFU66WcEwZkuKZ1l7zO4fqbHwFtTMoiOhZDqXXS6ccH
         iNHw==
X-Gm-Message-State: AOAM532H178asoJW+Mf5ICYGJg/+70Q0lrdlZjCBeorMo94pEwlYr9xQ
	+6Z/wvetQ/5KwSmyCVjtwig=
X-Google-Smtp-Source: ABdhPJzpavlzdHZS1F6vdwwwOqwaFBPaG/YJGq0r0zJwRIjYidAu7mB3ClbmW59sMbVlOn28t15kbQ==
X-Received: by 2002:a63:4f51:: with SMTP id p17mr8806904pgl.29.1630084909372;
        Fri, 27 Aug 2021 10:21:49 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	catalin.marinas@arm.com,
	will@kernel.org,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	gregkh@linuxfoundation.org,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	brijesh.singh@amd.com,
	thomas.lendacky@amd.com,
	Tianyu.Lan@microsoft.com,
	pgonda@google.com,
	martin.b.radev@gmail.com,
	akpm@linux-foundation.org,
	kirill.shutemov@linux.intel.com,
	rppt@kernel.org,
	hannes@cmpxchg.org,
	aneesh.kumar@linux.ibm.com,
	krish.sadhukhan@oracle.com,
	saravanand@fb.com,
	linux-arm-kernel@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	rientjes@google.com,
	ardb@kernel.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com,
	dave.hansen@intel.com
Subject: [PATCH V4 11/13] hyperv/IOMMU: Enable swiotlb bounce buffer for Isolation VM
Date: Fri, 27 Aug 2021 13:21:09 -0400
Message-Id: <20210827172114.414281-12-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210827172114.414281-1-ltykernel@gmail.com>
References: <20210827172114.414281-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

hyperv Isolation VM requires bounce buffer support to copy
data from/to encrypted memory and so enable swiotlb force
mode to use swiotlb bounce buffer for DMA transaction.

In Isolation VM with AMD SEV, the bounce buffer needs to be
accessed via extra address space which is above shared_gpa_boundary
(E.G 39 bit address line) reported by Hyper-V CPUID ISOLATION_CONFIG.
The access physical address will be original physical address +
shared_gpa_boundary. The shared_gpa_boundary in the AMD SEV SNP
spec is called virtual top of memory(vTOM). Memory addresses below
vTOM are automatically treated as private while memory above
vTOM is treated as shared.

Swiotlb bounce buffer code calls dma_map_decrypted()
to mark bounce buffer visible to host and map it in extra
address space. Populate dma memory decrypted ops with hv
map/unmap function.

Hyper-V initalizes swiotlb bounce buffer and default swiotlb
needs to be disabled. pci_swiotlb_detect_override() and
pci_swiotlb_detect_4gb() enable the default one. To override
the setting, hyperv_swiotlb_detect() needs to run before
these detect functions which depends on the pci_xen_swiotlb_
init(). Make pci_xen_swiotlb_init() depends on the hyperv_swiotlb
_detect() to keep the order.

The map function vmap_pfn() can't work in the early place
hyperv_iommu_swiotlb_init() and so initialize swiotlb bounce
buffer in the hyperv_iommu_swiotlb_later_init().

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
Change since v3:
       * Get hyperv bounce bufffer size via default swiotlb
       bounce buffer size function and keep default size as
       same as the one in the AMD SEV VM.
---
 arch/x86/hyperv/ivm.c           | 28 +++++++++++++++
 arch/x86/include/asm/mshyperv.h |  2 ++
 arch/x86/mm/mem_encrypt.c       |  3 +-
 arch/x86/xen/pci-swiotlb-xen.c  |  3 +-
 drivers/hv/vmbus_drv.c          |  3 ++
 drivers/iommu/hyperv-iommu.c    | 61 +++++++++++++++++++++++++++++++++
 include/linux/hyperv.h          |  1 +
 7 files changed, 99 insertions(+), 2 deletions(-)

diff --git a/arch/x86/hyperv/ivm.c b/arch/x86/hyperv/ivm.c
index e761c67e2218..84563b3c9f3a 100644
--- a/arch/x86/hyperv/ivm.c
+++ b/arch/x86/hyperv/ivm.c
@@ -294,3 +294,31 @@ int hv_set_mem_host_visibility(unsigned long addr, int numpages, bool visible)
 
 	return __hv_set_mem_host_visibility((void *)addr, numpages, visibility);
 }
+
+/*
+ * hv_map_memory - map memory to extra space in the AMD SEV-SNP Isolation VM.
+ */
+void *hv_map_memory(void *addr, unsigned long size)
+{
+	unsigned long *pfns = kcalloc(size / HV_HYP_PAGE_SIZE,
+				      sizeof(unsigned long), GFP_KERNEL);
+	void *vaddr;
+	int i;
+
+	if (!pfns)
+		return NULL;
+
+	for (i = 0; i < size / PAGE_SIZE; i++)
+		pfns[i] = virt_to_hvpfn(addr + i * PAGE_SIZE) +
+			(ms_hyperv.shared_gpa_boundary >> PAGE_SHIFT);
+
+	vaddr = vmap_pfn(pfns, size / PAGE_SIZE, PAGE_KERNEL_IO);
+	kfree(pfns);
+
+	return vaddr;
+}
+
+void hv_unmap_memory(void *addr)
+{
+	vunmap(addr);
+}
diff --git a/arch/x86/include/asm/mshyperv.h b/arch/x86/include/asm/mshyperv.h
index b77f4caee3ee..627fcf8d443c 100644
--- a/arch/x86/include/asm/mshyperv.h
+++ b/arch/x86/include/asm/mshyperv.h
@@ -252,6 +252,8 @@ int hv_unmap_ioapic_interrupt(int ioapic_id, struct hv_interrupt_entry *entry);
 int hv_mark_gpa_visibility(u16 count, const u64 pfn[],
 			   enum hv_mem_host_visibility visibility);
 int hv_set_mem_host_visibility(unsigned long addr, int numpages, bool visible);
+void *hv_map_memory(void *addr, unsigned long size);
+void hv_unmap_memory(void *addr);
 void hv_sint_wrmsrl_ghcb(u64 msr, u64 value);
 void hv_sint_rdmsrl_ghcb(u64 msr, u64 *value);
 void hv_signal_eom_ghcb(void);
diff --git a/arch/x86/mm/mem_encrypt.c b/arch/x86/mm/mem_encrypt.c
index ff08dc463634..e2db0b8ed938 100644
--- a/arch/x86/mm/mem_encrypt.c
+++ b/arch/x86/mm/mem_encrypt.c
@@ -30,6 +30,7 @@
 #include <asm/processor-flags.h>
 #include <asm/msr.h>
 #include <asm/cmdline.h>
+#include <asm/mshyperv.h>
 
 #include "mm_internal.h"
 
@@ -202,7 +203,7 @@ void __init sev_setup_arch(void)
 	phys_addr_t total_mem = memblock_phys_mem_size();
 	unsigned long size;
 
-	if (!sev_active())
+	if (!sev_active() && !hv_is_isolation_supported())
 		return;
 
 	/*
diff --git a/arch/x86/xen/pci-swiotlb-xen.c b/arch/x86/xen/pci-swiotlb-xen.c
index 54f9aa7e8457..43bd031aa332 100644
--- a/arch/x86/xen/pci-swiotlb-xen.c
+++ b/arch/x86/xen/pci-swiotlb-xen.c
@@ -4,6 +4,7 @@
 
 #include <linux/dma-map-ops.h>
 #include <linux/pci.h>
+#include <linux/hyperv.h>
 #include <xen/swiotlb-xen.h>
 
 #include <asm/xen/hypervisor.h>
@@ -91,6 +92,6 @@ int pci_xen_swiotlb_init_late(void)
 EXPORT_SYMBOL_GPL(pci_xen_swiotlb_init_late);
 
 IOMMU_INIT_FINISH(pci_xen_swiotlb_detect,
-		  NULL,
+		  hyperv_swiotlb_detect,
 		  pci_xen_swiotlb_init,
 		  NULL);
diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c
index 57bbbaa4e8f7..f068e22a5636 100644
--- a/drivers/hv/vmbus_drv.c
+++ b/drivers/hv/vmbus_drv.c
@@ -23,6 +23,7 @@
 #include <linux/cpu.h>
 #include <linux/sched/task_stack.h>
 
+#include <linux/dma-map-ops.h>
 #include <linux/delay.h>
 #include <linux/notifier.h>
 #include <linux/panic_notifier.h>
@@ -2081,6 +2082,7 @@ struct hv_device *vmbus_device_create(const guid_t *type,
 	return child_device_obj;
 }
 
+static u64 vmbus_dma_mask = DMA_BIT_MASK(64);
 /*
  * vmbus_device_register - Register the child device
  */
@@ -2121,6 +2123,7 @@ int vmbus_device_register(struct hv_device *child_device_obj)
 	}
 	hv_debug_add_dev_dir(child_device_obj);
 
+	child_device_obj->device.dma_mask = &vmbus_dma_mask;
 	return 0;
 
 err_kset_unregister:
diff --git a/drivers/iommu/hyperv-iommu.c b/drivers/iommu/hyperv-iommu.c
index e285a220c913..899563551574 100644
--- a/drivers/iommu/hyperv-iommu.c
+++ b/drivers/iommu/hyperv-iommu.c
@@ -13,14 +13,22 @@
 #include <linux/irq.h>
 #include <linux/iommu.h>
 #include <linux/module.h>
+#include <linux/hyperv.h>
+#include <linux/io.h>
 
 #include <asm/apic.h>
 #include <asm/cpu.h>
 #include <asm/hw_irq.h>
 #include <asm/io_apic.h>
+#include <asm/iommu.h>
+#include <asm/iommu_table.h>
 #include <asm/irq_remapping.h>
 #include <asm/hypervisor.h>
 #include <asm/mshyperv.h>
+#include <asm/swiotlb.h>
+#include <linux/dma-map-ops.h>
+#include <linux/dma-direct.h>
+#include <linux/set_memory.h>
 
 #include "irq_remapping.h"
 
@@ -36,6 +44,9 @@
 static cpumask_t ioapic_max_cpumask = { CPU_BITS_NONE };
 static struct irq_domain *ioapic_ir_domain;
 
+static unsigned long hyperv_io_tlb_size;
+static void *hyperv_io_tlb_start;
+
 static int hyperv_ir_set_affinity(struct irq_data *data,
 		const struct cpumask *mask, bool force)
 {
@@ -337,4 +348,54 @@ static const struct irq_domain_ops hyperv_root_ir_domain_ops = {
 	.free = hyperv_root_irq_remapping_free,
 };
 
+void __init hyperv_iommu_swiotlb_init(void)
+{
+	/*
+	 * Allocate Hyper-V swiotlb bounce buffer at early place
+	 * to reserve large contiguous memory.
+	 */
+	hyperv_io_tlb_size = swiotlb_size_or_default();
+	hyperv_io_tlb_start = memblock_alloc(
+		hyperv_io_tlb_size, HV_HYP_PAGE_SIZE);
+
+	if (!hyperv_io_tlb_start) {
+		pr_warn("Fail to allocate Hyper-V swiotlb buffer.\n");
+		return;
+	}
+}
+
+int __init hyperv_swiotlb_detect(void)
+{
+	if (hypervisor_is_type(X86_HYPER_MS_HYPERV)
+	    && hv_is_isolation_supported()) {
+		/*
+		 * Enable swiotlb force mode in Isolation VM to
+		 * use swiotlb bounce buffer for dma transaction.
+		 */
+		swiotlb_force = SWIOTLB_FORCE;
+
+		dma_memory_generic_decrypted_ops.map = hv_map_memory;
+		dma_memory_generic_decrypted_ops.unmap = hv_unmap_memory;
+		return 1;
+	}
+
+	return 0;
+}
+
+void __init hyperv_iommu_swiotlb_later_init(void)
+{
+	/*
+	 * Swiotlb bounce buffer needs to be mapped in extra address
+	 * space. Map function doesn't work in the early place and so
+	 * call swiotlb_late_init_with_tbl() here.
+	 */
+	if (swiotlb_late_init_with_tbl(hyperv_io_tlb_start,
+				       hyperv_io_tlb_size >> IO_TLB_SHIFT))
+		panic("Fail to initialize hyperv swiotlb.\n");
+}
+
+IOMMU_INIT_FINISH(hyperv_swiotlb_detect,
+		  NULL, hyperv_iommu_swiotlb_init,
+		  hyperv_iommu_swiotlb_later_init);
+
 #endif
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
index 757e09606fd3..724a735d722a 100644
--- a/include/linux/hyperv.h
+++ b/include/linux/hyperv.h
@@ -1739,6 +1739,7 @@ int hyperv_write_cfg_blk(struct pci_dev *dev, void *buf, unsigned int len,
 int hyperv_reg_block_invalidate(struct pci_dev *dev, void *context,
 				void (*block_invalidate)(void *context,
 							 u64 block_mask));
+int __init hyperv_swiotlb_detect(void);
 
 struct hyperv_pci_block_ops {
 	int (*read_block)(struct pci_dev *dev, void *buf, unsigned int buf_len,
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 17:31:35 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 17:31:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173860.317225 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJfhW-00012z-7H; Fri, 27 Aug 2021 17:31:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173860.317225; Fri, 27 Aug 2021 17: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 1mJfhW-00012s-4G; Fri, 27 Aug 2021 17:31:34 +0000
Received: by outflank-mailman (input) for mailman id 173860;
 Fri, 27 Aug 2021 17:31:32 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=4zmw=NS=google.com=seanjc@srs-us1.protection.inumbo.net>)
 id 1mJfa4-00016Q-R9
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 17:23:52 +0000
Received: from mail-pf1-x434.google.com (unknown [2607:f8b0:4864:20::434])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 6802af2b-60e2-429b-8f9c-a43363f8ac69;
 Fri, 27 Aug 2021 17:23:11 +0000 (UTC)
Received: by mail-pf1-x434.google.com with SMTP id v123so6220308pfb.11
 for <xen-devel@lists.xenproject.org>; Fri, 27 Aug 2021 10:23:11 -0700 (PDT)
Received: from google.com (157.214.185.35.bc.googleusercontent.com.
 [35.185.214.157])
 by smtp.gmail.com with ESMTPSA id n24sm7386923pgv.60.2021.08.27.10.23.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Aug 2021 10:23: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: 6802af2b-60e2-429b-8f9c-a43363f8ac69
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20161025;
        h=date:from:to:cc:subject:message-id:references:mime-version
         :content-disposition:in-reply-to;
        bh=pW2KRXINIECq2UqrMAjVuApe68m2StZHA9v7va6qTiU=;
        b=rYBmoVs975N+yu2934Kl7Ag8dNi2tkW5MPQBPsQWMJceqaAUViMJX5p8VTsmrLat2L
         1kJT1N4rNPJvHYN4v8xV4LZQQiN0gVYVxxZoK0AWZMQtgbtlsholocVLBSLsdQUjTc7K
         EO/n6pcBnNhyHknntLRnjl3c7dPZnYup1ZY4k8dYXcB6+XwMELnSDRN8GScTXVD9wLYw
         72HE/X1LKTlO7T9MyRzf3/jBybVrYz/zMXfVi26QTtQIvfOSsE3Kyet1JW3IoRhxG7Z4
         s9RsOEhsC/QREunQ94/foNgn4vxgTRk3Re13QZxXDPqu5Xx6dQ43rKJdU90h8PsbIabZ
         TDVA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:date:from:to:cc:subject:message-id:references
         :mime-version:content-disposition:in-reply-to;
        bh=pW2KRXINIECq2UqrMAjVuApe68m2StZHA9v7va6qTiU=;
        b=LCFLY7gKDsgWRGgj847kmuoSG7cFJD5i9Yi1G9AuIRUDrKUgr34KGUztIcGQIzq5QP
         MRBcaRfTo5fIAsECZdlSiA77Cu+dPCY4fBYJ1I6HZiulo6jwme6xXbuKnNzcKM+E9gs2
         cvJH4wI5j34pcYLWDg3y7YJIfgQc9XS5qPYHsyO1taQwCnqjx55IyfLod1XnAKD3z84m
         /5b/ebFr3bvT7vM9XNPI3Qtf+t1h1VNw6sIXXY0eEDeA9XvrzAlEDU+Ch9+DfkOAKt0t
         ooBAByS6sS5SpaTr8w+wwePjgiu04XltOQ3fswuNxAt7aecfaLgp7s2/ABAdq9s8VbsO
         p1jQ==
X-Gm-Message-State: AOAM532IsnohEzaPARRjwjESe5rHOdOzToeSokf7J89OyAOBIDxj7jeb
	XHHWfhU5wCY7GgTmQaqGrhBipg==
X-Google-Smtp-Source: ABdhPJz+T5dgH3sIVem/Dht2xu+EGET8qPyEg43yvrgPII1mSQTEgb7AA1JRyZkdBQMuVGObTA+XjQ==
X-Received: by 2002:a63:ef14:: with SMTP id u20mr8773852pgh.13.1630084990019;
        Fri, 27 Aug 2021 10:23:10 -0700 (PDT)
Date: Fri, 27 Aug 2021 17:23:05 +0000
From: Sean Christopherson <seanjc@google.com>
To: Zhu Lingshan <lingshan.zhu@intel.com>
Cc: peterz@infradead.org, pbonzini@redhat.com, bp@alien8.de,
	vkuznets@redhat.com, wanpengli@tencent.com, jmattson@google.com,
	joro@8bytes.org, kan.liang@linux.intel.com, ak@linux.intel.com,
	wei.w.wang@intel.com, eranian@google.com, liuxiangdong5@huawei.com,
	linux-kernel@vger.kernel.org, x86@kernel.org, kvm@vger.kernel.org,
	like.xu.linux@gmail.com, boris.ostrvsky@oracle.com,
	Like Xu <like.xu@linux.intel.com>, Will Deacon <will@kernel.org>,
	Marc Zyngier <maz@kernel.org>, Guo Ren <guoren@kernel.org>,
	Nick Hu <nickhu@andestech.com>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu,
	linux-csky@vger.kernel.org, linux-riscv@lists.infradead.org,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH V10 01/18] perf/core: Use static_call to optimize
 perf_guest_info_callbacks
Message-ID: <YSkfeXcd6nUT3AOJ@google.com>
References: <20210806133802.3528-1-lingshan.zhu@intel.com>
 <20210806133802.3528-2-lingshan.zhu@intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20210806133802.3528-2-lingshan.zhu@intel.com>

On Fri, Aug 06, 2021, Zhu Lingshan wrote:
> @@ -2944,18 +2966,21 @@ static unsigned long code_segment_base(struct pt_regs *regs)
>  
>  unsigned long perf_instruction_pointer(struct pt_regs *regs)
>  {
> -	if (perf_guest_cbs && perf_guest_cbs->is_in_guest())
> -		return perf_guest_cbs->get_guest_ip();
> +	unsigned long ip = static_call(x86_guest_get_ip)();
> +
> +	if (likely(!ip))

Pivoting on ip==0 isn't correct, it's perfectly legal for a guest to execute
from %rip=0.  Unless there's some static_call() magic that supports this with a
default function:
	
	if (unlikely(!static_call(x86_guest_get_ip)(&ip)))
		regs->ip + code_segment_base(regs)

	return ip;

The easiest thing is keep the existing:

	if (unlikely(static_call(x86_guest_state)()))
		return static_call(x86_guest_get_ip)();

	return regs->ip + code_segment_base(regs);

It's an extra call for PMIs in guest, but I don't think any of the KVM folks care
_that_ much about the performance in this case.

> +		ip = regs->ip + code_segment_base(regs);
>  
> -	return regs->ip + code_segment_base(regs);
> +	return ip;
>  }


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 17:31:46 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 17:31:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173865.317236 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJfhi-0001Ug-HO; Fri, 27 Aug 2021 17:31:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173865.317236; Fri, 27 Aug 2021 17:31: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 1mJfhi-0001UZ-Ch; Fri, 27 Aug 2021 17:31:46 +0000
Received: by outflank-mailman (input) for mailman id 173865;
 Fri, 27 Aug 2021 17:31:44 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=brRM=NS=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mJfYc-00016Q-OO
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 17:22:22 +0000
Received: from mail-pl1-x635.google.com (unknown [2607:f8b0:4864:20::635])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id b380d51e-bf0f-4c24-a453-d3f10746b212;
 Fri, 27 Aug 2021 17:21:53 +0000 (UTC)
Received: by mail-pl1-x635.google.com with SMTP id c4so4340925plh.7
 for <xen-devel@lists.xenproject.org>; Fri, 27 Aug 2021 10:21:53 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:36:ef50:8fcd:44d1:eb17])
 by smtp.gmail.com with ESMTPSA id f5sm7155015pjo.23.2021.08.27.10.21.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Aug 2021 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: b380d51e-bf0f-4c24-a453-d3f10746b212
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=eP71HsUL5jIprgafHAa9nr+PcbJTMafwTb0JYXooIkc=;
        b=XjA9RK0diCV/NGST3xrY+yd75EDMjsEGQH/MoBKRQsWG98prw900XXUkrlbVQCqUsQ
         MHaMnEN2Pe1TBwV5HSpMusMKHgOPjJJDZhE8XYHKthbV12ljewMWRv80ALVBlRldp490
         2sekztXz8D83jxYZ1FxlIPO0hq2wjpQo9hhi6k7rnZ+U4VdreZrd65DZqEmNtQ4iA69z
         OfLzvtnocSEsnMg1+wRdnNjowgFs3Qzam2F6tgirRv6C6/YUzrjupd4EDR0bN422QOG7
         CMtR7z4OxOmMiP1InmgQnMFT4IgQbStpJ2yslzTuqG3+eouVXEjyk7XY5T/Ono+Ukm7S
         ckdA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=eP71HsUL5jIprgafHAa9nr+PcbJTMafwTb0JYXooIkc=;
        b=NfVyLxLcpLHPPMhxS9smUCEbtGo/ptH00f2ohAGhv0vXW0qK+sW9h2HjayDrLc1cS4
         fW0YUymE0h1CU6fz70z3iFnOYq4Gg84eVbPKhqp3bRgbA2P08UuCqCnLX4pjRcXfTqMo
         BPKlYYbIABMLtH6m2CRKAceLALeO5FKvVlI6zMniiFCW8EOjB1mQ8Jcve8MNqxNgtQj7
         X05IZ5XaphS0BRM3YwGwRRW3eN6hecJZRU/W1BqNY45vDp9XjOBbrK2+2wdwpjKZ2KrW
         MjATfYnz/1HIUWrodyCw8GGhd35uQqO3cPUg8RaPbXQQuneAPhLiqWfqJodMq+ntpM/T
         ISoA==
X-Gm-Message-State: AOAM530zsq+pwZIQ0uGASW9Y+Ps1lp+1go8X+9uIgVJiI+sVu29zUjpt
	5gU5ICB/dOKWTDSM9R+uxEM=
X-Google-Smtp-Source: ABdhPJzzwuvbNkjkSkGeJFwgRJTLC75ZjTV696jyMEv0G8ZUsAhjChdDm2//FEE8VuhUyD1GKzVAhg==
X-Received: by 2002:a17:90a:718c:: with SMTP id i12mr3199697pjk.182.1630084912377;
        Fri, 27 Aug 2021 10:21:52 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	catalin.marinas@arm.com,
	will@kernel.org,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	gregkh@linuxfoundation.org,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	brijesh.singh@amd.com,
	thomas.lendacky@amd.com,
	Tianyu.Lan@microsoft.com,
	pgonda@google.com,
	martin.b.radev@gmail.com,
	akpm@linux-foundation.org,
	kirill.shutemov@linux.intel.com,
	rppt@kernel.org,
	hannes@cmpxchg.org,
	aneesh.kumar@linux.ibm.com,
	krish.sadhukhan@oracle.com,
	saravanand@fb.com,
	linux-arm-kernel@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	rientjes@google.com,
	ardb@kernel.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com,
	dave.hansen@intel.com
Subject: [PATCH V4 12/13] hv_netvsc: Add Isolation VM support for netvsc driver
Date: Fri, 27 Aug 2021 13:21:10 -0400
Message-Id: <20210827172114.414281-13-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210827172114.414281-1-ltykernel@gmail.com>
References: <20210827172114.414281-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

In Isolation VM, all shared memory with host needs to mark visible
to host via hvcall. vmbus_establish_gpadl() has already done it for
netvsc rx/tx ring buffer. The page buffer used by vmbus_sendpacket_
pagebuffer() stills need to be handled. Use DMA API to map/umap
these memory during sending/receiving packet and Hyper-V swiotlb
bounce buffer dma adress will be returned. The swiotlb bounce buffer
has been masked to be visible to host during boot up.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
Change since v3:
	* Add comment to explain why not to use dma_map_sg()
	* Fix some error handle.
---
 arch/x86/hyperv/ivm.c             |   1 +
 drivers/net/hyperv/hyperv_net.h   |   5 ++
 drivers/net/hyperv/netvsc.c       | 135 +++++++++++++++++++++++++++++-
 drivers/net/hyperv/rndis_filter.c |   2 +
 include/linux/hyperv.h            |   5 ++
 5 files changed, 145 insertions(+), 3 deletions(-)

diff --git a/arch/x86/hyperv/ivm.c b/arch/x86/hyperv/ivm.c
index 84563b3c9f3a..08d8e01de017 100644
--- a/arch/x86/hyperv/ivm.c
+++ b/arch/x86/hyperv/ivm.c
@@ -317,6 +317,7 @@ void *hv_map_memory(void *addr, unsigned long size)
 
 	return vaddr;
 }
+EXPORT_SYMBOL_GPL(hv_map_memory);
 
 void hv_unmap_memory(void *addr)
 {
diff --git a/drivers/net/hyperv/hyperv_net.h b/drivers/net/hyperv/hyperv_net.h
index aa7c9962dbd8..862419912bfb 100644
--- a/drivers/net/hyperv/hyperv_net.h
+++ b/drivers/net/hyperv/hyperv_net.h
@@ -164,6 +164,7 @@ struct hv_netvsc_packet {
 	u32 total_bytes;
 	u32 send_buf_index;
 	u32 total_data_buflen;
+	struct hv_dma_range *dma_range;
 };
 
 #define NETVSC_HASH_KEYLEN 40
@@ -1074,6 +1075,7 @@ struct netvsc_device {
 
 	/* Receive buffer allocated by us but manages by NetVSP */
 	void *recv_buf;
+	void *recv_original_buf;
 	u32 recv_buf_size; /* allocated bytes */
 	u32 recv_buf_gpadl_handle;
 	u32 recv_section_cnt;
@@ -1082,6 +1084,7 @@ struct netvsc_device {
 
 	/* Send buffer allocated by us */
 	void *send_buf;
+	void *send_original_buf;
 	u32 send_buf_size;
 	u32 send_buf_gpadl_handle;
 	u32 send_section_cnt;
@@ -1731,4 +1734,6 @@ struct rndis_message {
 #define RETRY_US_HI	10000
 #define RETRY_MAX	2000	/* >10 sec */
 
+void netvsc_dma_unmap(struct hv_device *hv_dev,
+		      struct hv_netvsc_packet *packet);
 #endif /* _HYPERV_NET_H */
diff --git a/drivers/net/hyperv/netvsc.c b/drivers/net/hyperv/netvsc.c
index f19bffff6a63..edd336b08c2c 100644
--- a/drivers/net/hyperv/netvsc.c
+++ b/drivers/net/hyperv/netvsc.c
@@ -153,8 +153,21 @@ static void free_netvsc_device(struct rcu_head *head)
 	int i;
 
 	kfree(nvdev->extension);
-	vfree(nvdev->recv_buf);
-	vfree(nvdev->send_buf);
+
+	if (nvdev->recv_original_buf) {
+		vunmap(nvdev->recv_buf);
+		vfree(nvdev->recv_original_buf);
+	} else {
+		vfree(nvdev->recv_buf);
+	}
+
+	if (nvdev->send_original_buf) {
+		vunmap(nvdev->send_buf);
+		vfree(nvdev->send_original_buf);
+	} else {
+		vfree(nvdev->send_buf);
+	}
+
 	kfree(nvdev->send_section_map);
 
 	for (i = 0; i < VRSS_CHANNEL_MAX; i++) {
@@ -347,6 +360,7 @@ static int netvsc_init_buf(struct hv_device *device,
 	unsigned int buf_size;
 	size_t map_words;
 	int i, ret = 0;
+	void *vaddr;
 
 	/* Get receive buffer area. */
 	buf_size = device_info->recv_sections * device_info->recv_section_size;
@@ -382,6 +396,17 @@ static int netvsc_init_buf(struct hv_device *device,
 		goto cleanup;
 	}
 
+	if (hv_isolation_type_snp()) {
+		vaddr = hv_map_memory(net_device->recv_buf, buf_size);
+		if (!vaddr) {
+			ret = -ENOMEM;
+			goto cleanup;
+		}
+
+		net_device->recv_original_buf = net_device->recv_buf;
+		net_device->recv_buf = vaddr;
+	}
+
 	/* Notify the NetVsp of the gpadl handle */
 	init_packet = &net_device->channel_init_pkt;
 	memset(init_packet, 0, sizeof(struct nvsp_message));
@@ -485,6 +510,17 @@ static int netvsc_init_buf(struct hv_device *device,
 		goto cleanup;
 	}
 
+	if (hv_isolation_type_snp()) {
+		vaddr = hv_map_memory(net_device->send_buf, buf_size);
+		if (!vaddr) {
+			ret = -ENOMEM;
+			goto cleanup;
+		}
+
+		net_device->send_original_buf = net_device->send_buf;
+		net_device->send_buf = vaddr;
+	}
+
 	/* Notify the NetVsp of the gpadl handle */
 	init_packet = &net_device->channel_init_pkt;
 	memset(init_packet, 0, sizeof(struct nvsp_message));
@@ -775,7 +811,7 @@ static void netvsc_send_tx_complete(struct net_device *ndev,
 
 	/* Notify the layer above us */
 	if (likely(skb)) {
-		const struct hv_netvsc_packet *packet
+		struct hv_netvsc_packet *packet
 			= (struct hv_netvsc_packet *)skb->cb;
 		u32 send_index = packet->send_buf_index;
 		struct netvsc_stats *tx_stats;
@@ -791,6 +827,7 @@ static void netvsc_send_tx_complete(struct net_device *ndev,
 		tx_stats->bytes += packet->total_bytes;
 		u64_stats_update_end(&tx_stats->syncp);
 
+		netvsc_dma_unmap(ndev_ctx->device_ctx, packet);
 		napi_consume_skb(skb, budget);
 	}
 
@@ -955,6 +992,87 @@ static void netvsc_copy_to_send_buf(struct netvsc_device *net_device,
 		memset(dest, 0, padding);
 }
 
+void netvsc_dma_unmap(struct hv_device *hv_dev,
+		      struct hv_netvsc_packet *packet)
+{
+	u32 page_count = packet->cp_partial ?
+		packet->page_buf_cnt - packet->rmsg_pgcnt :
+		packet->page_buf_cnt;
+	int i;
+
+	if (!hv_is_isolation_supported())
+		return;
+
+	if (!packet->dma_range)
+		return;
+
+	for (i = 0; i < page_count; i++)
+		dma_unmap_single(&hv_dev->device, packet->dma_range[i].dma,
+				 packet->dma_range[i].mapping_size,
+				 DMA_TO_DEVICE);
+
+	kfree(packet->dma_range);
+}
+
+/* netvsc_dma_map - Map swiotlb bounce buffer with data page of
+ * packet sent by vmbus_sendpacket_pagebuffer() in the Isolation
+ * VM.
+ *
+ * In isolation VM, netvsc send buffer has been marked visible to
+ * host and so the data copied to send buffer doesn't need to use
+ * bounce buffer. The data pages handled by vmbus_sendpacket_pagebuffer()
+ * may not be copied to send buffer and so these pages need to be
+ * mapped with swiotlb bounce buffer. netvsc_dma_map() is to do
+ * that. The pfns in the struct hv_page_buffer need to be converted
+ * to bounce buffer's pfn. The loop here is necessary becuase the
+ * entries in the page buffer array are not necessarily full
+ * pages of data.  Each entry in the array has a separate offset and
+ * len that may be non-zero, even for entries in the middle of the
+ * array.  And the entries are not physically contiguous.  So each
+ * entry must be individually mapped rather than as a contiguous unit.
+ * So not use dma_map_sg() here.
+ */
+int netvsc_dma_map(struct hv_device *hv_dev,
+		   struct hv_netvsc_packet *packet,
+		   struct hv_page_buffer *pb)
+{
+	u32 page_count =  packet->cp_partial ?
+		packet->page_buf_cnt - packet->rmsg_pgcnt :
+		packet->page_buf_cnt;
+	dma_addr_t dma;
+	int i;
+
+	if (!hv_is_isolation_supported())
+		return 0;
+
+	packet->dma_range = kcalloc(page_count,
+				    sizeof(*packet->dma_range),
+				    GFP_KERNEL);
+	if (!packet->dma_range)
+		return -ENOMEM;
+
+	for (i = 0; i < page_count; i++) {
+		char *src = phys_to_virt((pb[i].pfn << HV_HYP_PAGE_SHIFT)
+					 + pb[i].offset);
+		u32 len = pb[i].len;
+
+		dma = dma_map_single(&hv_dev->device, src, len,
+				     DMA_TO_DEVICE);
+		if (dma_mapping_error(&hv_dev->device, dma)) {
+			kfree(packet->dma_range);
+			return -ENOMEM;
+		}
+
+		packet->dma_range[i].dma = dma;
+		packet->dma_range[i].mapping_size = len;
+		pb[i].pfn = dma >> HV_HYP_PAGE_SHIFT;
+		pb[i].offset = offset_in_hvpage(dma);
+		pb[i].len = len;
+	}
+
+	return 0;
+}
+
 static inline int netvsc_send_pkt(
 	struct hv_device *device,
 	struct hv_netvsc_packet *packet,
@@ -995,14 +1113,24 @@ static inline int netvsc_send_pkt(
 
 	trace_nvsp_send_pkt(ndev, out_channel, rpkt);
 
+	packet->dma_range = NULL;
 	if (packet->page_buf_cnt) {
 		if (packet->cp_partial)
 			pb += packet->rmsg_pgcnt;
 
+		ret = netvsc_dma_map(ndev_ctx->device_ctx, packet, pb);
+		if (ret) {
+			ret = -EAGAIN;
+			goto exit; 
+		}
+
 		ret = vmbus_sendpacket_pagebuffer(out_channel,
 						  pb, packet->page_buf_cnt,
 						  &nvmsg, sizeof(nvmsg),
 						  req_id);
+
+		if (ret)
+			netvsc_dma_unmap(ndev_ctx->device_ctx, packet);
 	} else {
 		ret = vmbus_sendpacket(out_channel,
 				       &nvmsg, sizeof(nvmsg),
@@ -1010,6 +1138,7 @@ static inline int netvsc_send_pkt(
 				       VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED);
 	}
 
+exit:
 	if (ret == 0) {
 		atomic_inc_return(&nvchan->queue_sends);
 
diff --git a/drivers/net/hyperv/rndis_filter.c b/drivers/net/hyperv/rndis_filter.c
index f6c9c2a670f9..448fcc325ed7 100644
--- a/drivers/net/hyperv/rndis_filter.c
+++ b/drivers/net/hyperv/rndis_filter.c
@@ -361,6 +361,8 @@ static void rndis_filter_receive_response(struct net_device *ndev,
 			}
 		}
 
+		netvsc_dma_unmap(((struct net_device_context *)
+			netdev_priv(ndev))->device_ctx, &request->pkt);
 		complete(&request->wait_event);
 	} else {
 		netdev_err(ndev,
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
index 724a735d722a..139a43ad65a1 100644
--- a/include/linux/hyperv.h
+++ b/include/linux/hyperv.h
@@ -1596,6 +1596,11 @@ struct hyperv_service_callback {
 	void (*callback)(void *context);
 };
 
+struct hv_dma_range {
+	dma_addr_t dma;
+	u32 mapping_size;
+};
+
 #define MAX_SRV_VER	0x7ffffff
 extern bool vmbus_prep_negotiate_resp(struct icmsg_hdr *icmsghdrp, u8 *buf, u32 buflen,
 				const int *fw_version, int fw_vercnt,
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 17:32:35 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 17:32:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173880.317247 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJfiV-0002V7-0D; Fri, 27 Aug 2021 17:32:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173880.317247; Fri, 27 Aug 2021 17: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 1mJfiU-0002Uy-Sl; Fri, 27 Aug 2021 17:32:34 +0000
Received: by outflank-mailman (input) for mailman id 173880;
 Fri, 27 Aug 2021 17:32:33 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=brRM=NS=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mJfYh-00016Q-Od
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 17:22:27 +0000
Received: from mail-pg1-x534.google.com (unknown [2607:f8b0:4864:20::534])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ef1f9e60-6774-4b61-b8e6-c390795a22b4;
 Fri, 27 Aug 2021 17:21:56 +0000 (UTC)
Received: by mail-pg1-x534.google.com with SMTP id w8so6496962pgf.5
 for <xen-devel@lists.xenproject.org>; Fri, 27 Aug 2021 10:21:56 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:36:ef50:8fcd:44d1:eb17])
 by smtp.gmail.com with ESMTPSA id f5sm7155015pjo.23.2021.08.27.10.21.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Aug 2021 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: ef1f9e60-6774-4b61-b8e6-c390795a22b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=gLQw+gOkOgBpF527SY7hnRVsopMwR8pUZ+6p/+sCMZE=;
        b=jqKW1cLVDQjLgxObfit7zrVrS1J/x3pPdbxN1asI4+M8zeuts6wiVmaF5gUPo9V2FS
         JXeBFTb/jNQsN8TVkdzk5dR/ZI/RL9bT7w6c7bid9edxLa0DUGokGuxk8lS91UGkaZj4
         eqhtySo2OVg6q8KSYAGPGN96kFNqzBoVPg3X/PK5X2nNp/aialOuUPCIlZMUG0e+PnrF
         loz3O3FeTYg3uZwrb5yAi3OMvnSUXqfLmi7a7GhGDDQYfkSFFvgBDn2e4Y2I1ay7oW87
         728MiFOG393bdP8GnvBwKHUYm2+UuifhwCPpfKTJJH5Hk/ZtBiCsSRaDaNOT026pRuBy
         Imzg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=gLQw+gOkOgBpF527SY7hnRVsopMwR8pUZ+6p/+sCMZE=;
        b=WIDKt7jkHMY0xA4V2iKIgdlfKogMC5CwSIB/KGDz3bvdv8PNyKlh2BWST67TYRZ9dq
         l99iRPyviDxA47J8vKFCp2n6nrsKG8yN9XJ7S/MWtXe5L3ZBykxHnYE15PiPG2A5dkPo
         f6ugt2sqbHbjUTcR83OKU46eCZ+SElDQqiZ/QZxriZXcEbCbXdera5idnAq1FuYrKeTb
         S0zZa2KtWlBddk46mRqoj0ecXWFpbJohgXYz4uQF8prlvTzGBCN+Glya6iLha+Vm+plY
         7GtfQ/qzKVxYtuiFrYIdMWm6qKaDZczyN8uJgxElY9pctuDUEoYc9GEv6lyuVLPokVYX
         PWgA==
X-Gm-Message-State: AOAM5328USqyJzWg0hC+Cdd94rSJAST00TyHMsiARlK9KPzkRSuBI5KH
	jj/ACSr49hcPmSNf7TFvDJA=
X-Google-Smtp-Source: ABdhPJwuiMDXHrHAjE5Ue90v/UaZtCN02djvrlnnwi5m/AZBQrrgZl+iVNvLmQEttw3bmm/01KlJZg==
X-Received: by 2002:a05:6a00:a94:b029:384:1dc6:7012 with SMTP id b20-20020a056a000a94b02903841dc67012mr10074419pfl.53.1630084915337;
        Fri, 27 Aug 2021 10:21:55 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	catalin.marinas@arm.com,
	will@kernel.org,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	gregkh@linuxfoundation.org,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	brijesh.singh@amd.com,
	thomas.lendacky@amd.com,
	Tianyu.Lan@microsoft.com,
	pgonda@google.com,
	martin.b.radev@gmail.com,
	akpm@linux-foundation.org,
	kirill.shutemov@linux.intel.com,
	rppt@kernel.org,
	hannes@cmpxchg.org,
	aneesh.kumar@linux.ibm.com,
	krish.sadhukhan@oracle.com,
	saravanand@fb.com,
	linux-arm-kernel@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	rientjes@google.com,
	ardb@kernel.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com,
	dave.hansen@intel.com
Subject: [PATCH V4 13/13] hv_storvsc: Add Isolation VM support for storvsc driver
Date: Fri, 27 Aug 2021 13:21:11 -0400
Message-Id: <20210827172114.414281-14-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210827172114.414281-1-ltykernel@gmail.com>
References: <20210827172114.414281-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

In Isolation VM, all shared memory with host needs to mark visible
to host via hvcall. vmbus_establish_gpadl() has already done it for
storvsc rx/tx ring buffer. The page buffer used by vmbus_sendpacket_
mpb_desc() still needs to be handled. Use DMA API(dma_map_sg) to map
these memory during sending/receiving packet and return swiotlb bounce
buffer dma address. In Isolation VM, swiotlb  bounce buffer is marked
to be visible to host and the swiotlb force mode is enabled.

Set device's dma min align mask to HV_HYP_PAGE_SIZE - 1 in order to
keep the original data offset in the bounce buffer.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
Change since v3:
	* Rplace dma_map_page with dma_map_sg()
	* Use for_each_sg() to populate payload->range.pfn_array.
	* Remove storvsc_dma_map macro
---
 drivers/hv/vmbus_drv.c     |  1 +
 drivers/scsi/storvsc_drv.c | 41 +++++++++++++++-----------------------
 include/linux/hyperv.h     |  1 +
 3 files changed, 18 insertions(+), 25 deletions(-)

diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c
index f068e22a5636..270d526fd9de 100644
--- a/drivers/hv/vmbus_drv.c
+++ b/drivers/hv/vmbus_drv.c
@@ -2124,6 +2124,7 @@ int vmbus_device_register(struct hv_device *child_device_obj)
 	hv_debug_add_dev_dir(child_device_obj);
 
 	child_device_obj->device.dma_mask = &vmbus_dma_mask;
+	child_device_obj->device.dma_parms = &child_device_obj->dma_parms;
 	return 0;
 
 err_kset_unregister:
diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c
index 328bb961c281..4f1793be1fdc 100644
--- a/drivers/scsi/storvsc_drv.c
+++ b/drivers/scsi/storvsc_drv.c
@@ -21,6 +21,8 @@
 #include <linux/device.h>
 #include <linux/hyperv.h>
 #include <linux/blkdev.h>
+#include <linux/dma-mapping.h>
+
 #include <scsi/scsi.h>
 #include <scsi/scsi_cmnd.h>
 #include <scsi/scsi_host.h>
@@ -1312,6 +1314,9 @@ static void storvsc_on_channel_callback(void *context)
 					continue;
 				}
 				request = (struct storvsc_cmd_request *)scsi_cmd_priv(scmnd);
+				if (scsi_sg_count(scmnd))
+					dma_unmap_sg(&device->device, scsi_sglist(scmnd),
+						     scsi_sg_count(scmnd), scmnd->sc_data_direction);
 			}
 
 			storvsc_on_receive(stor_device, packet, request);
@@ -1725,7 +1730,6 @@ static int storvsc_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *scmnd)
 	struct hv_host_device *host_dev = shost_priv(host);
 	struct hv_device *dev = host_dev->dev;
 	struct storvsc_cmd_request *cmd_request = scsi_cmd_priv(scmnd);
-	int i;
 	struct scatterlist *sgl;
 	unsigned int sg_count;
 	struct vmscsi_request *vm_srb;
@@ -1807,10 +1811,11 @@ static int storvsc_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *scmnd)
 	payload_sz = sizeof(cmd_request->mpb);
 
 	if (sg_count) {
-		unsigned int hvpgoff, hvpfns_to_add;
 		unsigned long offset_in_hvpg = offset_in_hvpage(sgl->offset);
 		unsigned int hvpg_count = HVPFN_UP(offset_in_hvpg + length);
-		u64 hvpfn;
+		struct scatterlist *sg;
+		unsigned long hvpfn, hvpfns_to_add;
+		int j, i = 0;
 
 		if (hvpg_count > MAX_PAGE_BUFFER_COUNT) {
 
@@ -1824,31 +1829,16 @@ static int storvsc_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *scmnd)
 		payload->range.len = length;
 		payload->range.offset = offset_in_hvpg;
 
+		if (dma_map_sg(&dev->device, sgl, sg_count,
+		    scmnd->sc_data_direction) == 0)
+			return SCSI_MLQUEUE_DEVICE_BUSY;
 
-		for (i = 0; sgl != NULL; sgl = sg_next(sgl)) {
-			/*
-			 * Init values for the current sgl entry. hvpgoff
-			 * and hvpfns_to_add are in units of Hyper-V size
-			 * pages. Handling the PAGE_SIZE != HV_HYP_PAGE_SIZE
-			 * case also handles values of sgl->offset that are
-			 * larger than PAGE_SIZE. Such offsets are handled
-			 * even on other than the first sgl entry, provided
-			 * they are a multiple of PAGE_SIZE.
-			 */
-			hvpgoff = HVPFN_DOWN(sgl->offset);
-			hvpfn = page_to_hvpfn(sg_page(sgl)) + hvpgoff;
-			hvpfns_to_add =	HVPFN_UP(sgl->offset + sgl->length) -
-						hvpgoff;
+		for_each_sg(sgl, sg, sg_count, j) {
+			hvpfns_to_add = HVPFN_UP(sg_dma_len(sg));
+			hvpfn = HVPFN_DOWN(sg_dma_address(sg));
 
-			/*
-			 * Fill the next portion of the PFN array with
-			 * sequential Hyper-V PFNs for the continguous physical
-			 * memory described by the sgl entry. The end of the
-			 * last sgl should be reached at the same time that
-			 * the PFN array is filled.
-			 */
 			while (hvpfns_to_add--)
-				payload->range.pfn_array[i++] =	hvpfn++;
+				payload->range.pfn_array[i++] = hvpfn++;
 		}
 	}
 
@@ -1992,6 +1982,7 @@ static int storvsc_probe(struct hv_device *device,
 	stor_device->vmscsi_size_delta = sizeof(struct vmscsi_win8_extension);
 	spin_lock_init(&stor_device->lock);
 	hv_set_drvdata(device, stor_device);
+	dma_set_min_align_mask(&device->device, HV_HYP_PAGE_SIZE - 1);
 
 	stor_device->port_number = host->host_no;
 	ret = storvsc_connect_to_vsp(device, storvsc_ringbuffer_size, is_fc);
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
index 139a43ad65a1..8f39893f8ccf 100644
--- a/include/linux/hyperv.h
+++ b/include/linux/hyperv.h
@@ -1274,6 +1274,7 @@ struct hv_device {
 
 	struct vmbus_channel *channel;
 	struct kset	     *channels_kset;
+	struct device_dma_parameters dma_parms;
 
 	/* place holder to keep track of the dir for hv device in debugfs */
 	struct dentry *debug_dir;
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 17:32:49 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 17:32:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173881.317258 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJfij-0002wp-BO; Fri, 27 Aug 2021 17:32:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173881.317258; Fri, 27 Aug 2021 17: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 1mJfij-0002wc-5H; Fri, 27 Aug 2021 17:32:49 +0000
Received: by outflank-mailman (input) for mailman id 173881;
 Fri, 27 Aug 2021 17:32:48 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=brRM=NS=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mJfYS-00016Q-O9
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 17:22:12 +0000
Received: from mail-pf1-x433.google.com (unknown [2607:f8b0:4864:20::433])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id edb059b1-e70d-4bf6-86cd-f17be81a1a9b;
 Fri, 27 Aug 2021 17:21:47 +0000 (UTC)
Received: by mail-pf1-x433.google.com with SMTP id 2so6226282pfo.8
 for <xen-devel@lists.xenproject.org>; Fri, 27 Aug 2021 10:21:47 -0700 (PDT)
Received: from ubuntu-Virtual-Machine.corp.microsoft.com
 ([2001:4898:80e8:36:ef50:8fcd:44d1:eb17])
 by smtp.gmail.com with ESMTPSA id f5sm7155015pjo.23.2021.08.27.10.21.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Aug 2021 10:21: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: edb059b1-e70d-4bf6-86cd-f17be81a1a9b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=6MHi30R96t1tpcfv0VvlaJ3ckWN83uvRHnkjJOo1l30=;
        b=MOcte0DoDafRZO8ZtX2XcPp/LXoS4Y8Uc+1YFSueU47Od7ILMltiJ+jU/PD2Bem9A6
         egV3QwhmmbWOrrE4pRxAPThWOWuRWBYL/V8suAXt/TOwDWJD5Txw1Ztj7UcKPNgn7b3S
         64Dl/WlPUEwgmW/EQJOhf0kinfHFaEga3IVGbbzchLUVdnE4z7oulTK6s2gwUajS0jMO
         XCFXLk3TKwWljw55q7xE/CphXl0QiV/ldYVD2VzyXCnfh4Wlnba38D0RScL2guLBekg5
         uuxnrzN988dSfELcvZBQj1oVLuif1sO8N9ozD7WDA31KjxT6WFD2rY7fqC29VP5ApsxF
         E/Lw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=6MHi30R96t1tpcfv0VvlaJ3ckWN83uvRHnkjJOo1l30=;
        b=AO141Q/+eow6HhHivpoaNi/tjy5RJ0S6gC7BacdPsJbqdPExI0KUr+fX7PIxq4YegO
         TSJiUMYjpK8k6oNxrXZ3oqF4IwnF9APN6X9LG/U+2fwd1l4jcw8inlsz8fOb8dFNv/Ck
         VFcT3SbxCsrnHDJ1UZNrX7Ew0xy7cG13oIX+QOhJ39QLNwTbocEBenxn3iT7M6S7Zh7r
         MN3cpjCirY6SpzZ0pwaPkJjZ2bLA4W7N+1lsQNh6ISPKnuq3OFCOOgWRIpdTGWRIz3Rq
         D0UY8ncKJi/YWAqCumPO4TP7TcmRNlrGHUQM8/OXStD34zs61cACkfiPBOFBwxfhmKEw
         AxsA==
X-Gm-Message-State: AOAM530J8J89diZQi5L6MH/ywcEZhbW91FFlMtEcHdYHy3VdBdFV1ksD
	Tc3uAlTXuqCc0hoJsneN110=
X-Google-Smtp-Source: ABdhPJzQcZQUCwo3EVIginZLbkS0j6tpa+TKdpTpirJZ9GqPVodAIhLCJiwv8MK3x0NUITnBw1JqCw==
X-Received: by 2002:a63:534f:: with SMTP id t15mr8821683pgl.392.1630084906877;
        Fri, 27 Aug 2021 10:21:46 -0700 (PDT)
From: Tianyu Lan <ltykernel@gmail.com>
To: kys@microsoft.com,
	haiyangz@microsoft.com,
	sthemmin@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	catalin.marinas@arm.com,
	will@kernel.org,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	x86@kernel.org,
	hpa@zytor.com,
	dave.hansen@linux.intel.com,
	luto@kernel.org,
	peterz@infradead.org,
	konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	joro@8bytes.org,
	davem@davemloft.net,
	kuba@kernel.org,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	gregkh@linuxfoundation.org,
	arnd@arndb.de,
	hch@lst.de,
	m.szyprowski@samsung.com,
	robin.murphy@arm.com,
	brijesh.singh@amd.com,
	thomas.lendacky@amd.com,
	Tianyu.Lan@microsoft.com,
	pgonda@google.com,
	martin.b.radev@gmail.com,
	akpm@linux-foundation.org,
	kirill.shutemov@linux.intel.com,
	rppt@kernel.org,
	hannes@cmpxchg.org,
	aneesh.kumar@linux.ibm.com,
	krish.sadhukhan@oracle.com,
	saravanand@fb.com,
	linux-arm-kernel@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	rientjes@google.com,
	ardb@kernel.org,
	michael.h.kelley@microsoft.com
Cc: iommu@lists.linux-foundation.org,
	linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	netdev@vger.kernel.org,
	vkuznets@redhat.com,
	parri.andrea@gmail.com,
	dave.hansen@intel.com
Subject: [PATCH V4 10/13] x86/Swiotlb: Add Swiotlb bounce buffer remap function for HV IVM
Date: Fri, 27 Aug 2021 13:21:08 -0400
Message-Id: <20210827172114.414281-11-ltykernel@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20210827172114.414281-1-ltykernel@gmail.com>
References: <20210827172114.414281-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Tianyu Lan <Tianyu.Lan@microsoft.com>

In Isolation VM with AMD SEV, bounce buffer needs to be accessed via
extra address space which is above shared_gpa_boundary
(E.G 39 bit address line) reported by Hyper-V CPUID ISOLATION_CONFIG.
The access physical address will be original physical address +
shared_gpa_boundary. The shared_gpa_boundary in the AMD SEV SNP
spec is called virtual top of memory(vTOM). Memory addresses below
vTOM are automatically treated as private while memory above
vTOM is treated as shared.

Use dma_map_decrypted() in the swiotlb code, store remap address returned
and use the remap address to copy data from/to swiotlb bounce buffer.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
---
Change since v1:
       * Make swiotlb_init_io_tlb_mem() return error code and return
         error when dma_map_decrypted() fails.
---
 include/linux/swiotlb.h |  4 ++++
 kernel/dma/swiotlb.c    | 32 ++++++++++++++++++++++++--------
 2 files changed, 28 insertions(+), 8 deletions(-)

diff --git a/include/linux/swiotlb.h b/include/linux/swiotlb.h
index f507e3eacbea..584560ecaa8e 100644
--- a/include/linux/swiotlb.h
+++ b/include/linux/swiotlb.h
@@ -72,6 +72,9 @@ extern enum swiotlb_force swiotlb_force;
  * @end:	The end address of the swiotlb memory pool. Used to do a quick
  *		range check to see if the memory was in fact allocated by this
  *		API.
+ * @vaddr:	The vaddr of the swiotlb memory pool. The swiotlb
+ *		memory pool may be remapped in the memory encrypted case and store
+ *		virtual address for bounce buffer operation.
  * @nslabs:	The number of IO TLB blocks (in groups of 64) between @start and
  *		@end. For default swiotlb, this is command line adjustable via
  *		setup_io_tlb_npages.
@@ -89,6 +92,7 @@ extern enum swiotlb_force swiotlb_force;
 struct io_tlb_mem {
 	phys_addr_t start;
 	phys_addr_t end;
+	void *vaddr;
 	unsigned long nslabs;
 	unsigned long used;
 	unsigned int index;
diff --git a/kernel/dma/swiotlb.c b/kernel/dma/swiotlb.c
index 1fa81c096c1d..29b6d888ef3b 100644
--- a/kernel/dma/swiotlb.c
+++ b/kernel/dma/swiotlb.c
@@ -176,7 +176,7 @@ void __init swiotlb_update_mem_attributes(void)
 	memset(vaddr, 0, bytes);
 }
 
-static void swiotlb_init_io_tlb_mem(struct io_tlb_mem *mem, phys_addr_t start,
+static int swiotlb_init_io_tlb_mem(struct io_tlb_mem *mem, phys_addr_t start,
 				    unsigned long nslabs, bool late_alloc)
 {
 	void *vaddr = phys_to_virt(start);
@@ -194,14 +194,21 @@ static void swiotlb_init_io_tlb_mem(struct io_tlb_mem *mem, phys_addr_t start,
 		mem->slots[i].alloc_size = 0;
 	}
 
-	set_memory_decrypted((unsigned long)vaddr, bytes >> PAGE_SHIFT);
-	memset(vaddr, 0, bytes);
+	mem->vaddr = dma_map_decrypted(vaddr, bytes);
+	if (!mem->vaddr) {
+		pr_err("Failed to decrypt memory.\n");
+		return -ENOMEM;
+	}
+
+	memset(mem->vaddr, 0, bytes);
+	return 0;
 }
 
 int __init swiotlb_init_with_tbl(char *tlb, unsigned long nslabs, int verbose)
 {
 	struct io_tlb_mem *mem;
 	size_t alloc_size;
+	int ret;
 
 	if (swiotlb_force == SWIOTLB_NO_FORCE)
 		return 0;
@@ -216,7 +223,11 @@ int __init swiotlb_init_with_tbl(char *tlb, unsigned long nslabs, int verbose)
 		panic("%s: Failed to allocate %zu bytes align=0x%lx\n",
 		      __func__, alloc_size, PAGE_SIZE);
 
-	swiotlb_init_io_tlb_mem(mem, __pa(tlb), nslabs, false);
+	ret = swiotlb_init_io_tlb_mem(mem, __pa(tlb), nslabs, false);
+	if (ret) {
+		memblock_free(__pa(mem), alloc_size);
+		return ret;
+	}
 
 	io_tlb_default_mem = mem;
 	if (verbose)
@@ -304,6 +315,8 @@ int
 swiotlb_late_init_with_tbl(char *tlb, unsigned long nslabs)
 {
 	struct io_tlb_mem *mem;
+	int size = get_order(struct_size(mem, slots, nslabs));
+	int ret;
 
 	if (swiotlb_force == SWIOTLB_NO_FORCE)
 		return 0;
@@ -312,12 +325,15 @@ swiotlb_late_init_with_tbl(char *tlb, unsigned long nslabs)
 	if (WARN_ON_ONCE(io_tlb_default_mem))
 		return -ENOMEM;
 
-	mem = (void *)__get_free_pages(GFP_KERNEL,
-		get_order(struct_size(mem, slots, nslabs)));
+	mem = (void *)__get_free_pages(GFP_KERNEL, size);
 	if (!mem)
 		return -ENOMEM;
 
-	swiotlb_init_io_tlb_mem(mem, virt_to_phys(tlb), nslabs, true);
+	ret = swiotlb_init_io_tlb_mem(mem, virt_to_phys(tlb), nslabs, true);
+	if (ret) {
+		free_pages((unsigned long)mem, size);
+		return ret;
+	}
 
 	io_tlb_default_mem = mem;
 	swiotlb_print_info();
@@ -360,7 +376,7 @@ static void swiotlb_bounce(struct device *dev, phys_addr_t tlb_addr, size_t size
 	phys_addr_t orig_addr = mem->slots[index].orig_addr;
 	size_t alloc_size = mem->slots[index].alloc_size;
 	unsigned long pfn = PFN_DOWN(orig_addr);
-	unsigned char *vaddr = phys_to_virt(tlb_addr);
+	unsigned char *vaddr = mem->vaddr + tlb_addr - mem->start;
 	unsigned int tlb_offset;
 
 	if (orig_addr == INVALID_PHYS_ADDR)
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 17:41:22 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 17:41:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173896.317268 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJfqv-0004jw-3i; Fri, 27 Aug 2021 17:41:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173896.317268; Fri, 27 Aug 2021 17:41: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 1mJfqu-0004jp-WF; Fri, 27 Aug 2021 17:41:17 +0000
Received: by outflank-mailman (input) for mailman id 173896;
 Fri, 27 Aug 2021 17:41:15 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=j5dR=NS=linuxfoundation.org=gregkh@srs-us1.protection.inumbo.net>)
 id 1mJfqt-0004ji-3E
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 17:41:15 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 362195fe-84df-489b-89a4-f879d2b61eb3;
 Fri, 27 Aug 2021 17:41:14 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id 4AF44600D4;
 Fri, 27 Aug 2021 17:41: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: 362195fe-84df-489b-89a4-f879d2b61eb3
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org;
	s=korg; t=1630086073;
	bh=DgYmO5lLiHXNPE+bTt0kpJLEduGmJ62HuY9b2S4IhUQ=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=v5CFy4Y53ir/ekEqVrb37yJbS7N+GnhiX8a5ZHkAkLqCFMO+1hlQLEMIYoOQg78lQ
	 BE0uo/vHpfBxnyaR1kBG5sGR4fAWwgEKlv5Kw30ypy6hcugZI89kTJRWxmKPE0vFHA
	 aVk8PgyzjF1S9xogR6CSjmPtpDC0A1llmdWuC6mA=
Date: Fri, 27 Aug 2021 19:41:05 +0200
From: Greg KH <gregkh@linuxfoundation.org>
To: Tianyu Lan <ltykernel@gmail.com>
Cc: kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com,
	wei.liu@kernel.org, decui@microsoft.com, catalin.marinas@arm.com,
	will@kernel.org, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
	x86@kernel.org, hpa@zytor.com, dave.hansen@linux.intel.com,
	luto@kernel.org, peterz@infradead.org, konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com, jgross@suse.com, sstabellini@kernel.org,
	joro@8bytes.org, davem@davemloft.net, kuba@kernel.org,
	jejb@linux.ibm.com, martin.petersen@oracle.com, arnd@arndb.de,
	hch@lst.de, m.szyprowski@samsung.com, robin.murphy@arm.com,
	brijesh.singh@amd.com, thomas.lendacky@amd.com,
	Tianyu.Lan@microsoft.com, pgonda@google.com,
	martin.b.radev@gmail.com, akpm@linux-foundation.org,
	kirill.shutemov@linux.intel.com, rppt@kernel.org,
	hannes@cmpxchg.org, aneesh.kumar@linux.ibm.com,
	krish.sadhukhan@oracle.com, saravanand@fb.com,
	linux-arm-kernel@lists.infradead.org,
	xen-devel@lists.xenproject.org, rientjes@google.com,
	ardb@kernel.org, michael.h.kelley@microsoft.com,
	iommu@lists.linux-foundation.org, linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org, netdev@vger.kernel.org,
	vkuznets@redhat.com, parri.andrea@gmail.com, dave.hansen@intel.com
Subject: Re: [PATCH V4 04/13] hyperv: Mark vmbus ring buffer visible to host
 in Isolation VM
Message-ID: <YSkjsapeNj+2j//o@kroah.com>
References: <20210827172114.414281-1-ltykernel@gmail.com>
 <20210827172114.414281-5-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20210827172114.414281-5-ltykernel@gmail.com>

On Fri, Aug 27, 2021 at 01:21:02PM -0400, Tianyu Lan wrote:
> From: Tianyu Lan <Tianyu.Lan@microsoft.com>
> 
> Mark vmbus ring buffer visible with set_memory_decrypted() when
> establish gpadl handle.
> 
> Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
> ---
> Change since v3:
>        * Change vmbus_teardown_gpadl() parameter and put gpadl handle,
>        buffer and buffer size in the struct vmbus_gpadl.
> ---
>  drivers/hv/channel.c            | 36 ++++++++++++++++++++++++++++-----
>  drivers/net/hyperv/hyperv_net.h |  1 +
>  drivers/net/hyperv/netvsc.c     | 16 +++++++++++----
>  drivers/uio/uio_hv_generic.c    | 14 +++++++++++--
>  include/linux/hyperv.h          |  8 +++++++-
>  5 files changed, 63 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c
> index f3761c73b074..82650beb3af0 100644
> --- a/drivers/hv/channel.c
> +++ b/drivers/hv/channel.c
> @@ -17,6 +17,7 @@
>  #include <linux/hyperv.h>
>  #include <linux/uio.h>
>  #include <linux/interrupt.h>
> +#include <linux/set_memory.h>
>  #include <asm/page.h>
>  #include <asm/mshyperv.h>
>  
> @@ -474,6 +475,13 @@ static int __vmbus_establish_gpadl(struct vmbus_channel *channel,
>  	if (ret)
>  		return ret;
>  
> +	ret = set_memory_decrypted((unsigned long)kbuffer,
> +				   HVPFN_UP(size));
> +	if (ret) {
> +		pr_warn("Failed to set host visibility for new GPADL %d.\n", ret);

dev_warn()?  You have access to a struct device, why not use it?

same for all other instances here.

thanks,

greg k-h


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 17:42:04 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 17:42:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173902.317280 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJfrZ-0005O4-Ds; Fri, 27 Aug 2021 17:41:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173902.317280; Fri, 27 Aug 2021 17: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 1mJfrZ-0005Nx-9k; Fri, 27 Aug 2021 17:41:57 +0000
Received: by outflank-mailman (input) for mailman id 173902;
 Fri, 27 Aug 2021 17:41:57 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=j5dR=NS=linuxfoundation.org=gregkh@srs-us1.protection.inumbo.net>)
 id 1mJfrY-0005Np-UG
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 17:41:56 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 124385fe-075e-11ec-aaf9-12813bfff9fa;
 Fri, 27 Aug 2021 17:41:56 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id 7637B60EE4;
 Fri, 27 Aug 2021 17:41: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: 124385fe-075e-11ec-aaf9-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org;
	s=korg; t=1630086115;
	bh=ZsFbmBg1xrV855YRdCxqtna6KwKkyi+rrK0yjGIPz1U=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=tAoRxLGO5DnbrNK6U9xEs9WlHAvzjRip71ZReY2rVojbEHBxz5UZCAhzNuSfQrq+H
	 NW+m9//bXB9q8WmPpnjwe7GaHGSsWoaCI2kiaLUV22U2rWtqqEyfxPGxudzsUZIsk1
	 7ymJ9YdMdMPv0H2UDG2Oy5uVcz9iAViPwTG6WK/0=
Date: Fri, 27 Aug 2021 19:41:46 +0200
From: Greg KH <gregkh@linuxfoundation.org>
To: Tianyu Lan <ltykernel@gmail.com>
Cc: kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com,
	wei.liu@kernel.org, decui@microsoft.com, catalin.marinas@arm.com,
	will@kernel.org, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
	x86@kernel.org, hpa@zytor.com, dave.hansen@linux.intel.com,
	luto@kernel.org, peterz@infradead.org, konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com, jgross@suse.com, sstabellini@kernel.org,
	joro@8bytes.org, davem@davemloft.net, kuba@kernel.org,
	jejb@linux.ibm.com, martin.petersen@oracle.com, arnd@arndb.de,
	hch@lst.de, m.szyprowski@samsung.com, robin.murphy@arm.com,
	brijesh.singh@amd.com, thomas.lendacky@amd.com,
	Tianyu.Lan@microsoft.com, pgonda@google.com,
	martin.b.radev@gmail.com, akpm@linux-foundation.org,
	kirill.shutemov@linux.intel.com, rppt@kernel.org,
	hannes@cmpxchg.org, aneesh.kumar@linux.ibm.com,
	krish.sadhukhan@oracle.com, saravanand@fb.com,
	linux-arm-kernel@lists.infradead.org,
	xen-devel@lists.xenproject.org, rientjes@google.com,
	ardb@kernel.org, michael.h.kelley@microsoft.com,
	iommu@lists.linux-foundation.org, linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org, netdev@vger.kernel.org,
	vkuznets@redhat.com, parri.andrea@gmail.com, dave.hansen@intel.com
Subject: Re: [PATCH V4 05/13] hyperv: Add Write/Read MSR registers via ghcb
 page
Message-ID: <YSkj2kvYoYW8kDiF@kroah.com>
References: <20210827172114.414281-1-ltykernel@gmail.com>
 <20210827172114.414281-6-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20210827172114.414281-6-ltykernel@gmail.com>

On Fri, Aug 27, 2021 at 01:21:03PM -0400, Tianyu Lan wrote:
> From: Tianyu Lan <Tianyu.Lan@microsoft.com>
> 
> Hyperv provides GHCB protocol to write Synthetic Interrupt
> Controller MSR registers in Isolation VM with AMD SEV SNP
> and these registers are emulated by hypervisor directly.
> Hyperv requires to write SINTx MSR registers twice. First
> writes MSR via GHCB page to communicate with hypervisor
> and then writes wrmsr instruction to talk with paravisor
> which runs in VMPL0. Guest OS ID MSR also needs to be set
> via GHCB page.
> 
> Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
> ---
> Change since v1:
>          * Introduce sev_es_ghcb_hv_call_simple() and share code
>            between SEV and Hyper-V code.
> Change since v3:
>          * Pass old_msg_type to hv_signal_eom() as parameter.
> 	 * Use HV_REGISTER_* marcro instead of HV_X64_MSR_*
> 	 * Add hv_isolation_type_snp() weak function.
> 	 * Add maros to set syinc register in ARM code.
> ---
>  arch/arm64/include/asm/mshyperv.h |  23 ++++++
>  arch/x86/hyperv/hv_init.c         |  36 ++--------
>  arch/x86/hyperv/ivm.c             | 112 ++++++++++++++++++++++++++++++
>  arch/x86/include/asm/mshyperv.h   |  80 ++++++++++++++++++++-
>  arch/x86/include/asm/sev.h        |   3 +
>  arch/x86/kernel/sev-shared.c      |  63 ++++++++++-------
>  drivers/hv/hv.c                   | 112 ++++++++++++++++++++----------
>  drivers/hv/hv_common.c            |   6 ++
>  include/asm-generic/mshyperv.h    |   4 +-
>  9 files changed, 345 insertions(+), 94 deletions(-)
> 
> diff --git a/arch/arm64/include/asm/mshyperv.h b/arch/arm64/include/asm/mshyperv.h
> index 20070a847304..ced83297e009 100644
> --- a/arch/arm64/include/asm/mshyperv.h
> +++ b/arch/arm64/include/asm/mshyperv.h
> @@ -41,6 +41,29 @@ static inline u64 hv_get_register(unsigned int reg)
>  	return hv_get_vpreg(reg);
>  }
>  
> +#define hv_get_simp(val)	{ val = hv_get_register(HV_REGISTER_SIMP); }
> +#define hv_set_simp(val)	hv_set_register(HV_REGISTER_SIMP, val)
> +
> +#define hv_get_siefp(val)	{ val = hv_get_register(HV_REGISTER_SIEFP); }
> +#define hv_set_siefp(val)	hv_set_register(HV_REGISTER_SIEFP, val)
> +
> +#define hv_get_synint_state(int_num, val) {			\
> +	val = hv_get_register(HV_REGISTER_SINT0 + int_num);	\
> +	}
> +
> +#define hv_set_synint_state(int_num, val)			\
> +	hv_set_register(HV_REGISTER_SINT0 + int_num, val)
> +
> +#define hv_get_synic_state(val) {			\
> +	val = hv_get_register(HV_REGISTER_SCONTROL);	\
> +	}
> +
> +#define hv_set_synic_state(val)			\
> +	hv_set_register(HV_REGISTER_SCONTROL, val)
> +
> +#define hv_signal_eom(old_msg_type)		 \
> +	hv_set_register(HV_REGISTER_EOM, 0)

Please just use real inline functions and not #defines if you really
need it.

thanks,

greg k-h


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 17:44:24 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 17:44:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173910.317291 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJftu-0006Fz-Tx; Fri, 27 Aug 2021 17:44:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173910.317291; Fri, 27 Aug 2021 17:44: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 1mJftu-0006Fs-Ql; Fri, 27 Aug 2021 17:44:22 +0000
Received: by outflank-mailman (input) for mailman id 173910;
 Fri, 27 Aug 2021 17:44:21 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=brRM=NS=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mJftt-0006Fm-R7
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 17:44:21 +0000
Received: from mail-pj1-x102e.google.com (unknown [2607:f8b0:4864:20::102e])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 7ed922c0-b68e-48af-93ca-f2603e085a76;
 Fri, 27 Aug 2021 17:44:21 +0000 (UTC)
Received: by mail-pj1-x102e.google.com with SMTP id fz10so5067385pjb.0
 for <xen-devel@lists.xenproject.org>; Fri, 27 Aug 2021 10:44:21 -0700 (PDT)
Received: from ?IPv6:2404:f801:0:5:8000::50b? ([2404:f801:9000:18:efec::50b])
 by smtp.gmail.com with ESMTPSA id
 t186sm7124382pfb.53.2021.08.27.10.44.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 27 Aug 2021 10:44: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: 7ed922c0-b68e-48af-93ca-f2603e085a76
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=LPKfuH70y/vowO9PogQlJQs9AemsPOeU5ZCyLaISG1Y=;
        b=HwSSFNicSK0d8SJfbUpGx09hgwlFzVWra5FZoqLpsFB/x+51WvKuctBr6nLXMbO6cf
         M1YA50WBdM0sWHzlp8j5U7XFU84mU13uWGJrK8+pOLzbMDCsX1Sb/xNi2BmSDxbbcXza
         R18ghXowDtCyeUc0qDEp5lcHL3m3iI8G2JsyOod/a4nBKBGxuBgrXX8PcOrPD7xp9VuO
         /+6ym70TQrPMXo7VYAa03ZCcmf5mxE8qkNCNyybf9pWzAIB3F4pHZ8tqL8sUNkUxGXH3
         q5CzVfUu6vNAAN98cQcEw1tC7x5O4qdEugSSAeEekjMP6TLGMepEq4/gpZFscPhnAz0o
         9ETQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=LPKfuH70y/vowO9PogQlJQs9AemsPOeU5ZCyLaISG1Y=;
        b=KrPPTMZ/Ogg2zU8oyKKb3CBdCWT4CUfQZq7AjherjBtWjAZHiJnezgavPeZ7u34MrL
         6tmWBOcR4jJy6kVwQpt+I3uv/0GdkSnL6CCRUWJW3aKsEPX1yKV8iadMeogAkxnGUb8F
         Erthd5CsD/iQNSoIC16Cqc/hxsl/aCBWNFcSSgOqu/eY7xElDK5wnBQPZJANLId4duSs
         3XuhXpmBxmfJHCEXF1+J+H9hMutxsgXG3ZSu7Sn+PzytRZq8w8S91w5kFE1TZi96+MSx
         GJD+0w9E7RHCM9bSdcBvpH5tRdyJVUCzLsIDmabwgZoxqZRbRsm9E/FU+n5z1hQ+mqNg
         4O4g==
X-Gm-Message-State: AOAM532/PRd+lpD4bqhqcQbEczu5JPvbmrIYJEaUftrEHr3X/z0tNY0D
	zFhPdC2MRxgpnPd9gJLf1Ts=
X-Google-Smtp-Source: ABdhPJwvLuJzWOILGWQdJGs2DQihxg3sZ7HLxdKN9J7wFpGmDHFz6cyOnG8qdErrHdAKkfy0VbG6/g==
X-Received: by 2002:a17:902:c9d5:b0:138:9a20:4bd9 with SMTP id q21-20020a170902c9d500b001389a204bd9mr4222493pld.34.1630086260299;
        Fri, 27 Aug 2021 10:44:20 -0700 (PDT)
Subject: Re: [PATCH V4 04/13] hyperv: Mark vmbus ring buffer visible to host
 in Isolation VM
To: Greg KH <gregkh@linuxfoundation.org>
Cc: kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com,
 wei.liu@kernel.org, decui@microsoft.com, catalin.marinas@arm.com,
 will@kernel.org, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
 x86@kernel.org, hpa@zytor.com, dave.hansen@linux.intel.com, luto@kernel.org,
 peterz@infradead.org, konrad.wilk@oracle.com, boris.ostrovsky@oracle.com,
 jgross@suse.com, sstabellini@kernel.org, joro@8bytes.org,
 davem@davemloft.net, kuba@kernel.org, jejb@linux.ibm.com,
 martin.petersen@oracle.com, arnd@arndb.de, hch@lst.de,
 m.szyprowski@samsung.com, robin.murphy@arm.com, brijesh.singh@amd.com,
 thomas.lendacky@amd.com, Tianyu.Lan@microsoft.com, pgonda@google.com,
 martin.b.radev@gmail.com, akpm@linux-foundation.org,
 kirill.shutemov@linux.intel.com, rppt@kernel.org, hannes@cmpxchg.org,
 aneesh.kumar@linux.ibm.com, krish.sadhukhan@oracle.com, saravanand@fb.com,
 linux-arm-kernel@lists.infradead.org, xen-devel@lists.xenproject.org,
 rientjes@google.com, ardb@kernel.org, michael.h.kelley@microsoft.com,
 iommu@lists.linux-foundation.org, linux-arch@vger.kernel.org,
 linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
 linux-scsi@vger.kernel.org, netdev@vger.kernel.org, vkuznets@redhat.com,
 parri.andrea@gmail.com, dave.hansen@intel.com
References: <20210827172114.414281-1-ltykernel@gmail.com>
 <20210827172114.414281-5-ltykernel@gmail.com> <YSkjsapeNj+2j//o@kroah.com>
From: Tianyu Lan <ltykernel@gmail.com>
Message-ID: <5d665aff-f200-3b1d-7b9b-2f080cf59a59@gmail.com>
Date: Sat, 28 Aug 2021 01:44:05 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <YSkjsapeNj+2j//o@kroah.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit

Hi Greg:
      Thanks for your review.

On 8/28/2021 1:41 AM, Greg KH wrote:
> On Fri, Aug 27, 2021 at 01:21:02PM -0400, Tianyu Lan wrote:
>> From: Tianyu Lan <Tianyu.Lan@microsoft.com>
>>
>> Mark vmbus ring buffer visible with set_memory_decrypted() when
>> establish gpadl handle.
>>
>> Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
>> ---
>> Change since v3:
>>         * Change vmbus_teardown_gpadl() parameter and put gpadl handle,
>>         buffer and buffer size in the struct vmbus_gpadl.
>> ---
>>   drivers/hv/channel.c            | 36 ++++++++++++++++++++++++++++-----
>>   drivers/net/hyperv/hyperv_net.h |  1 +
>>   drivers/net/hyperv/netvsc.c     | 16 +++++++++++----
>>   drivers/uio/uio_hv_generic.c    | 14 +++++++++++--
>>   include/linux/hyperv.h          |  8 +++++++-
>>   5 files changed, 63 insertions(+), 12 deletions(-)
>>
>> diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c
>> index f3761c73b074..82650beb3af0 100644
>> --- a/drivers/hv/channel.c
>> +++ b/drivers/hv/channel.c
>> @@ -17,6 +17,7 @@
>>   #include <linux/hyperv.h>
>>   #include <linux/uio.h>
>>   #include <linux/interrupt.h>
>> +#include <linux/set_memory.h>
>>   #include <asm/page.h>
>>   #include <asm/mshyperv.h>
>>   
>> @@ -474,6 +475,13 @@ static int __vmbus_establish_gpadl(struct vmbus_channel *channel,
>>   	if (ret)
>>   		return ret;
>>   
>> +	ret = set_memory_decrypted((unsigned long)kbuffer,
>> +				   HVPFN_UP(size));
>> +	if (ret) {
>> +		pr_warn("Failed to set host visibility for new GPADL %d.\n", ret);
> 
> dev_warn()?  You have access to a struct device, why not use it?
> 
> same for all other instances here.
> 
>

Yes, dav_warn() is better. Will update in the next version. Thanks.



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 17:47:08 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 17:47:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173917.317301 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJfwW-0006u5-Aw; Fri, 27 Aug 2021 17:47:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173917.317301; Fri, 27 Aug 2021 17: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 1mJfwW-0006ty-83; Fri, 27 Aug 2021 17:47:04 +0000
Received: by outflank-mailman (input) for mailman id 173917;
 Fri, 27 Aug 2021 17:47:02 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=brRM=NS=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mJfwU-0006ts-LW
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 17:47:02 +0000
Received: from mail-pl1-x62d.google.com (unknown [2607:f8b0:4864:20::62d])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 7110da47-723f-4290-9e4a-9fe0e285124b;
 Fri, 27 Aug 2021 17:47:01 +0000 (UTC)
Received: by mail-pl1-x62d.google.com with SMTP id q3so4395334plx.4
 for <xen-devel@lists.xenproject.org>; Fri, 27 Aug 2021 10:47:01 -0700 (PDT)
Received: from ?IPv6:2404:f801:0:5:8000::50b? ([2404:f801:9000:1a:efea::50b])
 by smtp.gmail.com with ESMTPSA id
 h13sm6970553pgh.93.2021.08.27.10.46.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 27 Aug 2021 10:47: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: 7110da47-723f-4290-9e4a-9fe0e285124b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=i9TmDZ+esw/3ZLUDMU0ftSn23gEkgnQwCRuas4CrT3U=;
        b=IHtobvTQGY1nPT3/rK9A1D4px0mz9BbFo22Zema5+9nth1Iz8xRjEgbud3ecsrTACs
         Vi0LRfmP6pC0DYOfU30m5IkT0RTdx1CV7IJxATteIxw8CIRTVVgLMm1G9RvSeC8txy3w
         3vkVe4JLgdQHuErnQrEWdxOE6rP0ErL9md4E0hh+apLDdJ7WZ48WHolfWdjVexGKS4Fg
         64VkrIaGeWHwfHBR7pDlwiNy9s7exrN3vRd0AJl72z/zDyU7wj7/6rHEM1CVLs3fMsSi
         383OW19VKOeS1sl5t8aORjPeFCc0nn+WtBx09yLwfzvn3x+xousu5jOLlDzZAsqMezkN
         xg2Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=i9TmDZ+esw/3ZLUDMU0ftSn23gEkgnQwCRuas4CrT3U=;
        b=YuD4QIVpc1bxjYWqSqnnhfzxrhEQirJNz2M1XvXuVMM5awT9ZcmKSEy2JssgPl1Nh1
         A2hgSgL4XbJwABae1QUSD7IjIDCR4+hwhA7kgpKk6CMbr+pHzTwtZ9dkivhCqnA0sf1I
         yB2slkFk2b+fBwoCE4IV8EggS3/tuQ34MchBKt8FYD9i7OHJPUik9762wu+Wpi/tPmjw
         CmYh3lfumpOGrKYRbg8IMazVQR1AmPFjq2mNYh53iieruBm98UqVcPguDyVvxQOj2Aty
         jY8QaxBb98U5K+kdX6H7Aygo65CFWblkWw0ZH6JMH3e6VYB++Tw78FWJLYY7gUg3ReNd
         RCWg==
X-Gm-Message-State: AOAM531MWEpVyMMULC6XGgvJEDkviz31MXg5aX+fQIGNjawjU2zpW+pt
	OFrUcUoj+C7fbSNtEQLbsqY=
X-Google-Smtp-Source: ABdhPJwCpp1CTTpUQk7qWKnIh/yFBudGLOgzTmHXJL1o6YBu8x2FX5yDDzUTnumdUgFfk3BNuYTWSw==
X-Received: by 2002:a17:902:8d8a:b029:12d:3774:3630 with SMTP id v10-20020a1709028d8ab029012d37743630mr9735558plo.65.1630086421011;
        Fri, 27 Aug 2021 10:47:01 -0700 (PDT)
Subject: Re: [PATCH V4 05/13] hyperv: Add Write/Read MSR registers via ghcb
 page
To: Greg KH <gregkh@linuxfoundation.org>
Cc: kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com,
 wei.liu@kernel.org, decui@microsoft.com, catalin.marinas@arm.com,
 will@kernel.org, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
 x86@kernel.org, hpa@zytor.com, dave.hansen@linux.intel.com, luto@kernel.org,
 peterz@infradead.org, konrad.wilk@oracle.com, boris.ostrovsky@oracle.com,
 jgross@suse.com, sstabellini@kernel.org, joro@8bytes.org,
 davem@davemloft.net, kuba@kernel.org, jejb@linux.ibm.com,
 martin.petersen@oracle.com, arnd@arndb.de, hch@lst.de,
 m.szyprowski@samsung.com, robin.murphy@arm.com, brijesh.singh@amd.com,
 thomas.lendacky@amd.com, Tianyu.Lan@microsoft.com, pgonda@google.com,
 martin.b.radev@gmail.com, akpm@linux-foundation.org,
 kirill.shutemov@linux.intel.com, rppt@kernel.org, hannes@cmpxchg.org,
 aneesh.kumar@linux.ibm.com, krish.sadhukhan@oracle.com, saravanand@fb.com,
 linux-arm-kernel@lists.infradead.org, xen-devel@lists.xenproject.org,
 rientjes@google.com, ardb@kernel.org, michael.h.kelley@microsoft.com,
 iommu@lists.linux-foundation.org, linux-arch@vger.kernel.org,
 linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
 linux-scsi@vger.kernel.org, netdev@vger.kernel.org, vkuznets@redhat.com,
 parri.andrea@gmail.com, dave.hansen@intel.com
References: <20210827172114.414281-1-ltykernel@gmail.com>
 <20210827172114.414281-6-ltykernel@gmail.com> <YSkj2kvYoYW8kDiF@kroah.com>
From: Tianyu Lan <ltykernel@gmail.com>
Message-ID: <aed9409f-8708-2599-e441-c6a0c92b737b@gmail.com>
Date: Sat, 28 Aug 2021 01:46:44 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <YSkj2kvYoYW8kDiF@kroah.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit

On 8/28/2021 1:41 AM, Greg KH wrote:
> On Fri, Aug 27, 2021 at 01:21:03PM -0400, Tianyu Lan wrote:
>> From: Tianyu Lan <Tianyu.Lan@microsoft.com>
>>
>> Hyperv provides GHCB protocol to write Synthetic Interrupt
>> Controller MSR registers in Isolation VM with AMD SEV SNP
>> and these registers are emulated by hypervisor directly.
>> Hyperv requires to write SINTx MSR registers twice. First
>> writes MSR via GHCB page to communicate with hypervisor
>> and then writes wrmsr instruction to talk with paravisor
>> which runs in VMPL0. Guest OS ID MSR also needs to be set
>> via GHCB page.
>>
>> Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
>> ---
>> Change since v1:
>>           * Introduce sev_es_ghcb_hv_call_simple() and share code
>>             between SEV and Hyper-V code.
>> Change since v3:
>>           * Pass old_msg_type to hv_signal_eom() as parameter.
>> 	 * Use HV_REGISTER_* marcro instead of HV_X64_MSR_*
>> 	 * Add hv_isolation_type_snp() weak function.
>> 	 * Add maros to set syinc register in ARM code.
>> ---
>>   arch/arm64/include/asm/mshyperv.h |  23 ++++++
>>   arch/x86/hyperv/hv_init.c         |  36 ++--------
>>   arch/x86/hyperv/ivm.c             | 112 ++++++++++++++++++++++++++++++
>>   arch/x86/include/asm/mshyperv.h   |  80 ++++++++++++++++++++-
>>   arch/x86/include/asm/sev.h        |   3 +
>>   arch/x86/kernel/sev-shared.c      |  63 ++++++++++-------
>>   drivers/hv/hv.c                   | 112 ++++++++++++++++++++----------
>>   drivers/hv/hv_common.c            |   6 ++
>>   include/asm-generic/mshyperv.h    |   4 +-
>>   9 files changed, 345 insertions(+), 94 deletions(-)
>>
>> diff --git a/arch/arm64/include/asm/mshyperv.h b/arch/arm64/include/asm/mshyperv.h
>> index 20070a847304..ced83297e009 100644
>> --- a/arch/arm64/include/asm/mshyperv.h
>> +++ b/arch/arm64/include/asm/mshyperv.h
>> @@ -41,6 +41,29 @@ static inline u64 hv_get_register(unsigned int reg)
>>   	return hv_get_vpreg(reg);
>>   }
>>   
>> +#define hv_get_simp(val)	{ val = hv_get_register(HV_REGISTER_SIMP); }
>> +#define hv_set_simp(val)	hv_set_register(HV_REGISTER_SIMP, val)
>> +
>> +#define hv_get_siefp(val)	{ val = hv_get_register(HV_REGISTER_SIEFP); }
>> +#define hv_set_siefp(val)	hv_set_register(HV_REGISTER_SIEFP, val)
>> +
>> +#define hv_get_synint_state(int_num, val) {			\
>> +	val = hv_get_register(HV_REGISTER_SINT0 + int_num);	\
>> +	}
>> +
>> +#define hv_set_synint_state(int_num, val)			\
>> +	hv_set_register(HV_REGISTER_SINT0 + int_num, val)
>> +
>> +#define hv_get_synic_state(val) {			\
>> +	val = hv_get_register(HV_REGISTER_SCONTROL);	\
>> +	}
>> +
>> +#define hv_set_synic_state(val)			\
>> +	hv_set_register(HV_REGISTER_SCONTROL, val)
>> +
>> +#define hv_signal_eom(old_msg_type)		 \
>> +	hv_set_register(HV_REGISTER_EOM, 0)
> 
> Please just use real inline functions and not #defines if you really
> need it.
> 

OK. Will update. Thanks.


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 18:36:23 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 18:36:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173929.317313 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJgi8-0004e1-5n; Fri, 27 Aug 2021 18:36:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173929.317313; Fri, 27 Aug 2021 18:36:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJgi8-0004du-2N; Fri, 27 Aug 2021 18:36:16 +0000
Received: by outflank-mailman (input) for mailman id 173929;
 Fri, 27 Aug 2021 18:36: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 1mJgi6-0004dk-6J; Fri, 27 Aug 2021 18:36: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 1mJgi5-0003fw-Ps; Fri, 27 Aug 2021 18:36: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 1mJgi5-0003TU-Eo; Fri, 27 Aug 2021 18:36:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mJgi5-00055K-EK; Fri, 27 Aug 2021 18: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=vLrvLRL/BSNNNdIetnye0QA6qyHPm5+odls5MEVbiqM=; b=YxE5fkUplmA+oCv6rnsnEGiwZE
	NziUCUXVenw2fxH1/CVRRh7JTHECmjqNXQpz7Do76oRkbNfb89QUK4hicRdtt74Td7rrld1N/N12E
	Jp0s8pTSG44PCfomZtPeJPcNuodtnYBflnHVI3FSAybG47vW46cdJnWz/hV6+Cy7VUf4=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164497-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 164497: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check: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-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-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-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=810e0cd1a21ffb6107d2ca254f1f6485483d3534
X-Osstest-Versions-That:
    qemuu=f9baca549e44791be0dd98de15add3d8452a8af0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 27 Aug 2021 18:36:13 +0000

flight 164497 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164497/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164457
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164457
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164457
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164457
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164457
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164457
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164457
 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-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                810e0cd1a21ffb6107d2ca254f1f6485483d3534
baseline version:
 qemuu                f9baca549e44791be0dd98de15add3d8452a8af0

Last test of basis   164457  2021-08-24 20:38:23 Z    2 days
Testing same since   164497  2021-08-26 03:06:46 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Daniel P. Berrangé <berrange@redhat.com>
  Eduardo Habkost <ehabkost@redhat.com>
  Guenter Roeck <linux@roeck-us.net>
  Hamza Mahfooz <someguy@effective-light.com>
  Jan Luebbe <jlu@pengutronix.de>
  Jianxian Wen <jianxian.wen@verisilicon.com>
  Peter Maydell <peter.maydell@linaro.org>
  Sebastian Meyer <meyer@absint.com>
  Thomas Huth <thuth@redhat.com>
  Wen, Jianxian <Jianxian.Wen@verisilicon.com>
  Yanan Wang <wangyanan55@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   f9baca549e..810e0cd1a2  810e0cd1a21ffb6107d2ca254f1f6485483d3534 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 20:12:33 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 20:12:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173939.317333 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJiDB-0007we-JC; Fri, 27 Aug 2021 20:12:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173939.317333; Fri, 27 Aug 2021 20: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 1mJiDB-0007wU-BB; Fri, 27 Aug 2021 20:12:25 +0000
Received: by outflank-mailman (input) for mailman id 173939;
 Fri, 27 Aug 2021 19:18:29 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8NxO=NS=infradead.org=mcgrof@srs-us1.protection.inumbo.net>)
 id 1mJhMz-0001H3-Ai
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 19:18:29 +0000
Received: from bombadil.infradead.org (unknown [2607:7c80:54:e::133])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id a2aa9978-f404-4658-9129-de5088371fed;
 Fri, 27 Aug 2021 19:18:23 +0000 (UTC)
Received: from mcgrof by bombadil.infradead.org with local (Exim 4.94.2 #2
 (Red Hat Linux)) id 1mJhMg-00D5Ao-Ti; Fri, 27 Aug 2021 19:18:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: a2aa9978-f404-4658-9129-de5088371fed
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=+haEytmu63y3zWbWZRI3xhnFTvWyZ+JIjCoqN6FFLWY=; b=K2x3pPY1MjMXFVBKWItW/EUmz3
	oXTuPhFDfnmLiBjDzjBod7BEzvqr8kGcf5ytJZUzzsGuIUfqyRpJhcX80zL0lRzDZAS9amWITcPsM
	XVvA+RKxBCvgNSjP0X1szvA7ZlpF/3YjoBZ33+dmPNEx+hJ1CCVAsBc4AYNyAlx/cVlQ6F2TbPjmu
	7C6yudMpOkpOSu4bkqcbhoJA70i0CfddYCZwj22VzG6stQYi8XFhm14+Dp+G+0cLOSi3k21VwV2Xi
	ADNTqx7RTt769nCMLIQRhz78hIfqIY3Fg7E30rRJeeLZOxfb1Xp0sNZYlrB6721r6oUAljCk750jK
	ihFnTrMQ==;
From: Luis Chamberlain <mcgrof@kernel.org>
To: axboe@kernel.dk,
	colyli@suse.de,
	kent.overstreet@gmail.com,
	kbusch@kernel.org,
	sagi@grimberg.me,
	vishal.l.verma@intel.com,
	dan.j.williams@intel.com,
	dave.jiang@intel.com,
	ira.weiny@intel.com,
	konrad.wilk@oracle.com,
	roger.pau@citrix.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	minchan@kernel.org,
	ngupta@vflare.org,
	senozhatsky@chromium.org
Cc: xen-devel@lists.xenproject.org,
	nvdimm@lists.linux.dev,
	linux-nvme@lists.infradead.org,
	linux-bcache@vger.kernel.org,
	linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Luis Chamberlain <mcgrof@kernel.org>
Subject: [PATCH 00/10] block: first batch of add_disk() error handling conversions
Date: Fri, 27 Aug 2021 12:17:59 -0700
Message-Id: <20210827191809.3118103-1-mcgrof@kernel.org>
X-Mailer: git-send-email 2.31.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: Luis Chamberlain <mcgrof@infradead.org>

This is my second batch of driver conversions to use add_disk() error
handling. Please review and let me know if you spot any issues. This is
part of a larger effort to covert all drivers over to use the new
add_disk() error handling. The entire work can be found on my branch
dedicated for this work [0]

[0] https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git/log/?h=20210827-for-axboe-add-disk-error-handling-next-2nd

Luis Chamberlain (10):
  block/brd: add error handling support for add_disk()
  bcache: add error handling support for add_disk()
  nvme-multipath: add error handling support for add_disk()
  nvdimm/btt: do not call del_gendisk() if not needed
  nvdimm/btt: use goto error labels on btt_blk_init()
  nvdimm/btt: add error handling support for add_disk()
  nvdimm/blk: avoid calling del_gendisk() on early failures
  nvdimm/blk: add error handling support for add_disk()
  xen-blkfront: add error handling support for add_disk()
  zram: add error handling support for add_disk()

 drivers/block/brd.c           | 10 ++++++++--
 drivers/block/xen-blkfront.c  |  8 +++++++-
 drivers/block/zram/zram_drv.c |  6 +++++-
 drivers/md/bcache/super.c     | 17 ++++++++++++-----
 drivers/nvdimm/blk.c          | 21 +++++++++++++++------
 drivers/nvdimm/btt.c          | 24 +++++++++++++++---------
 drivers/nvme/host/multipath.c | 10 +++++++---
 7 files changed, 69 insertions(+), 27 deletions(-)

-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 20:12:33 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 20:12:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173943.317348 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJiDC-0008Dn-AE; Fri, 27 Aug 2021 20:12:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173943.317348; Fri, 27 Aug 2021 20: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 1mJiDC-0008Cy-1K; Fri, 27 Aug 2021 20:12:26 +0000
Received: by outflank-mailman (input) for mailman id 173943;
 Fri, 27 Aug 2021 19:18:39 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8NxO=NS=infradead.org=mcgrof@srs-us1.protection.inumbo.net>)
 id 1mJhN9-0001H3-Az
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 19:18:39 +0000
Received: from bombadil.infradead.org (unknown [2607:7c80:54:e::133])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 33cf3871-c71d-4647-9f20-7786643a7ee0;
 Fri, 27 Aug 2021 19:18:23 +0000 (UTC)
Received: from mcgrof by bombadil.infradead.org with local (Exim 4.94.2 #2
 (Red Hat Linux)) id 1mJhMh-00D5Aw-4U; Fri, 27 Aug 2021 19:18:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: 33cf3871-c71d-4647-9f20-7786643a7ee0
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=GDvHqyDUto9s8kCaWrxjdJXCPD/eZADtXbZwEghTKUI=; b=S4MU5GCIV4+ftrMG4UOyAR+oD8
	s6X/ggsp+r3jrjgCJwZH9MmjalcMMVmkGAcukRynTXANDqDc15o8k5EE2KGFpHylTt+j06KAnH4Sk
	dMmhl8bM6iF6wtGGlcDTYtc68thxiP8k/mcSFCtvgZ/UuAHoyrGuNHC6mtfj5Jt7zpJ4vEIItRDN8
	SeAcSeNlfz1yb9+hiXapNbS5nU+7XsMlZdTbTZTD+6L4ehekkEpODwTQjCj6LjJqP6Tr2i2qZntt8
	loStFfJSEG7tz2Vot86bYUATs6Qr2LMowWD3tSb5Ip+ugS5qbBzTQqLb/jdhbzlqQp8bDGzCSXS8/
	SHg3xDUA==;
From: Luis Chamberlain <mcgrof@kernel.org>
To: axboe@kernel.dk,
	colyli@suse.de,
	kent.overstreet@gmail.com,
	kbusch@kernel.org,
	sagi@grimberg.me,
	vishal.l.verma@intel.com,
	dan.j.williams@intel.com,
	dave.jiang@intel.com,
	ira.weiny@intel.com,
	konrad.wilk@oracle.com,
	roger.pau@citrix.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	minchan@kernel.org,
	ngupta@vflare.org,
	senozhatsky@chromium.org
Cc: xen-devel@lists.xenproject.org,
	nvdimm@lists.linux.dev,
	linux-nvme@lists.infradead.org,
	linux-bcache@vger.kernel.org,
	linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Luis Chamberlain <mcgrof@kernel.org>
Subject: [PATCH 03/10] nvme-multipath: add error handling support for add_disk()
Date: Fri, 27 Aug 2021 12:18:02 -0700
Message-Id: <20210827191809.3118103-4-mcgrof@kernel.org>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20210827191809.3118103-1-mcgrof@kernel.org>
References: <20210827191809.3118103-1-mcgrof@kernel.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: Luis Chamberlain <mcgrof@infradead.org>

We never checked for errors on add_disk() as this function
returned void. Now that this is fixed, use the shiny new
error handling.

Since we now can tell for sure when a disk was added, move
setting the bit NVME_NSHEAD_DISK_LIVE only when we did
add the disk successfully.

Nothing to do here as the cleanup is done elsewhere.

Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
---
 drivers/nvme/host/multipath.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/nvme/host/multipath.c b/drivers/nvme/host/multipath.c
index 37ce3e8b1db2..f95643629fdb 100644
--- a/drivers/nvme/host/multipath.c
+++ b/drivers/nvme/host/multipath.c
@@ -479,13 +479,17 @@ int nvme_mpath_alloc_disk(struct nvme_ctrl *ctrl, struct nvme_ns_head *head)
 static void nvme_mpath_set_live(struct nvme_ns *ns)
 {
 	struct nvme_ns_head *head = ns->head;
+	int rc;
 
 	if (!head->disk)
 		return;
 
-	if (!test_and_set_bit(NVME_NSHEAD_DISK_LIVE, &head->flags)) {
-		device_add_disk(&head->subsys->dev, head->disk,
-				nvme_ns_id_attr_groups);
+	if (!test_bit(NVME_NSHEAD_DISK_LIVE, &head->flags)) {
+		rc = device_add_disk(&head->subsys->dev, head->disk,
+				     nvme_ns_id_attr_groups);
+		if (rc)
+			return;
+		set_bit(NVME_NSHEAD_DISK_LIVE, &head->flags);
 		nvme_add_ns_head_cdev(head);
 	}
 
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 20:12:34 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 20:12:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173941.317340 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJiDB-00082e-SX; Fri, 27 Aug 2021 20:12:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173941.317340; Fri, 27 Aug 2021 20: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 1mJiDB-00081u-LO; Fri, 27 Aug 2021 20:12:25 +0000
Received: by outflank-mailman (input) for mailman id 173941;
 Fri, 27 Aug 2021 19:18:34 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8NxO=NS=infradead.org=mcgrof@srs-us1.protection.inumbo.net>)
 id 1mJhN4-0001H3-Al
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 19:18:34 +0000
Received: from bombadil.infradead.org (unknown [2607:7c80:54:e::133])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id f46a61ef-6b04-46bf-bd42-29a0beb23698;
 Fri, 27 Aug 2021 19:18:22 +0000 (UTC)
Received: from mcgrof by bombadil.infradead.org with local (Exim 4.94.2 #2
 (Red Hat Linux)) id 1mJhMh-00D5B1-9r; Fri, 27 Aug 2021 19:18:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: f46a61ef-6b04-46bf-bd42-29a0beb23698
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=27odH5nuWhozi1ECDZZ4goiUsLRrmSNLiICgWw9rj94=; b=RoVROwonXgehtqGc+uNEhBcWcZ
	R5TCqcCZrOdRGr9HUPwtMi32e/ae/EkxCUSAPtRc6M2LeT6rdituE92p30lXXWNaVFoW1e/c2e6Jb
	kraEvvyQ0M5bcOebJtmKBzhn/SKTI3nIuCgdJLTg8IUxMR9sn5GxY4zSbxxEz0K4wwzTyI0DP5qL4
	2x+bE9BxAJsWm1ucxECHkU1A/iGQVGxBjvTqucWQarpvTa/rJT4JydPtEf/YgYxRjQJlkZQbeG6KC
	TpQ8GMDtI1KQRlMQi4ArGei1Q6BvaQQHz0c7jbbmvYnpnnYjjiZOxdHBsmeZG072BsLXL5mGH59Kg
	DQxVvblQ==;
From: Luis Chamberlain <mcgrof@kernel.org>
To: axboe@kernel.dk,
	colyli@suse.de,
	kent.overstreet@gmail.com,
	kbusch@kernel.org,
	sagi@grimberg.me,
	vishal.l.verma@intel.com,
	dan.j.williams@intel.com,
	dave.jiang@intel.com,
	ira.weiny@intel.com,
	konrad.wilk@oracle.com,
	roger.pau@citrix.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	minchan@kernel.org,
	ngupta@vflare.org,
	senozhatsky@chromium.org
Cc: xen-devel@lists.xenproject.org,
	nvdimm@lists.linux.dev,
	linux-nvme@lists.infradead.org,
	linux-bcache@vger.kernel.org,
	linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Luis Chamberlain <mcgrof@kernel.org>
Subject: [PATCH 05/10] nvdimm/btt: use goto error labels on btt_blk_init()
Date: Fri, 27 Aug 2021 12:18:04 -0700
Message-Id: <20210827191809.3118103-6-mcgrof@kernel.org>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20210827191809.3118103-1-mcgrof@kernel.org>
References: <20210827191809.3118103-1-mcgrof@kernel.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: Luis Chamberlain <mcgrof@infradead.org>

This will make it easier to share common error paths.

Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
---
 drivers/nvdimm/btt.c | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/drivers/nvdimm/btt.c b/drivers/nvdimm/btt.c
index 3fd1bdb9fc05..275704d80109 100644
--- a/drivers/nvdimm/btt.c
+++ b/drivers/nvdimm/btt.c
@@ -1520,10 +1520,11 @@ static int btt_blk_init(struct btt *btt)
 {
 	struct nd_btt *nd_btt = btt->nd_btt;
 	struct nd_namespace_common *ndns = nd_btt->ndns;
+	int rc = -ENOMEM;
 
 	btt->btt_disk = blk_alloc_disk(NUMA_NO_NODE);
 	if (!btt->btt_disk)
-		return -ENOMEM;
+		goto out;
 
 	nvdimm_namespace_disk_name(ndns, btt->btt_disk->disk_name);
 	btt->btt_disk->first_minor = 0;
@@ -1535,19 +1536,23 @@ static int btt_blk_init(struct btt *btt)
 	blk_queue_flag_set(QUEUE_FLAG_NONROT, btt->btt_disk->queue);
 
 	if (btt_meta_size(btt)) {
-		int rc = nd_integrity_init(btt->btt_disk, btt_meta_size(btt));
-
-		if (rc) {
-			blk_cleanup_disk(btt->btt_disk);
-			return rc;
-		}
+		rc = nd_integrity_init(btt->btt_disk, btt_meta_size(btt));
+		if (rc)
+			goto out_cleanup_disk;
 	}
+
 	set_capacity(btt->btt_disk, btt->nlba * btt->sector_size >> 9);
 	device_add_disk(&btt->nd_btt->dev, btt->btt_disk, NULL);
+
 	btt->nd_btt->size = btt->nlba * (u64)btt->sector_size;
 	nvdimm_check_and_set_ro(btt->btt_disk);
 
 	return 0;
+
+out_cleanup_disk:
+	blk_cleanup_disk(btt->btt_disk);
+out:
+	return rc;
 }
 
 static void btt_blk_cleanup(struct btt *btt)
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 20:12:34 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 20:12:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173953.317389 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJiDF-0000b7-0i; Fri, 27 Aug 2021 20:12:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173953.317389; Fri, 27 Aug 2021 20: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 1mJiDE-0000W6-CY; Fri, 27 Aug 2021 20:12:28 +0000
Received: by outflank-mailman (input) for mailman id 173953;
 Fri, 27 Aug 2021 19:19:04 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8NxO=NS=infradead.org=mcgrof@srs-us1.protection.inumbo.net>)
 id 1mJhNY-0001H3-BU
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 19:19:04 +0000
Received: from bombadil.infradead.org (unknown [2607:7c80:54:e::133])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 47423aed-dd4b-4224-a5b5-04d9bb0ba2d8;
 Fri, 27 Aug 2021 19:18:23 +0000 (UTC)
Received: from mcgrof by bombadil.infradead.org with local (Exim 4.94.2 #2
 (Red Hat Linux)) id 1mJhMh-00D5BC-FT; Fri, 27 Aug 2021 19:18:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: 47423aed-dd4b-4224-a5b5-04d9bb0ba2d8
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=KzwjtOOfTw3O+GVEV4PWsbl44+6kR5dP++6Kf9jn+mM=; b=22AEbFZXnUBijnmWHGiRM2ca1G
	I7DdRw6q+h1AAkzSSsriWrRm6rwQttirydRWTxP+Dc9ypWHGLmyBkFTpVBbwVVN07dFqnD9aBeiW1
	oTj47B/RZJlwgZTa3Mvy0Z2HINQE1ANIR5vX3wgFRLERYG89rawNAiCgeBr3FqDrB/czdQF1B6XIp
	Y+XgiGc3NadMhe8cZIBRxzuCtj3wgELhBZsQklN3du2PKCibgxt1CkHiHjYKl0SXXjZCp3PdmSI0U
	D1Oum0CpCf1bGZ/OZm1TiyGZOKJOMo0Bl8dluQpmwqyy42PlPzUePzImhvPpzLv9ZMVomsm/80u0z
	pidRqVQg==;
From: Luis Chamberlain <mcgrof@kernel.org>
To: axboe@kernel.dk,
	colyli@suse.de,
	kent.overstreet@gmail.com,
	kbusch@kernel.org,
	sagi@grimberg.me,
	vishal.l.verma@intel.com,
	dan.j.williams@intel.com,
	dave.jiang@intel.com,
	ira.weiny@intel.com,
	konrad.wilk@oracle.com,
	roger.pau@citrix.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	minchan@kernel.org,
	ngupta@vflare.org,
	senozhatsky@chromium.org
Cc: xen-devel@lists.xenproject.org,
	nvdimm@lists.linux.dev,
	linux-nvme@lists.infradead.org,
	linux-bcache@vger.kernel.org,
	linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Luis Chamberlain <mcgrof@kernel.org>
Subject: [PATCH 09/10] xen-blkfront: add error handling support for add_disk()
Date: Fri, 27 Aug 2021 12:18:08 -0700
Message-Id: <20210827191809.3118103-10-mcgrof@kernel.org>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20210827191809.3118103-1-mcgrof@kernel.org>
References: <20210827191809.3118103-1-mcgrof@kernel.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: Luis Chamberlain <mcgrof@infradead.org>

We never checked for errors on device_add_disk() as this function
returned void. Now that this is fixed, use the shiny new error
handling. The function xlvbd_alloc_gendisk() typically does the
unwinding on error on allocating the disk and creating the tag,
but since all that error handling was stuffed inside
xlvbd_alloc_gendisk() we must repeat the tag free'ing as well.

We set the info->rq to NULL to ensure blkif_free() doesn't crash
on blk_mq_stop_hw_queues() on device_add_disk() error as the queue
will be long gone by then.

Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
---
 drivers/block/xen-blkfront.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
index 715bfa8aca7f..9fe28af5f6d9 100644
--- a/drivers/block/xen-blkfront.c
+++ b/drivers/block/xen-blkfront.c
@@ -2343,7 +2343,13 @@ static void blkfront_connect(struct blkfront_info *info)
 	for_each_rinfo(info, rinfo, i)
 		kick_pending_request_queues(rinfo);
 
-	device_add_disk(&info->xbdev->dev, info->gd, NULL);
+	err = device_add_disk(&info->xbdev->dev, info->gd, NULL);
+	if (err) {
+		blk_cleanup_disk(info->gd);
+		blk_mq_free_tag_set(&info->tag_set);
+		info->rq = NULL;
+		goto fail;
+	}
 
 	info->is_ready = 1;
 	return;
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 20:12:34 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 20:12:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173959.317417 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJiDH-0001Qz-Ig; Fri, 27 Aug 2021 20:12:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173959.317417; Fri, 27 Aug 2021 20: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 1mJiDG-0001Mm-UK; Fri, 27 Aug 2021 20:12:30 +0000
Received: by outflank-mailman (input) for mailman id 173959;
 Fri, 27 Aug 2021 19:21:03 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8NxO=NS=infradead.org=mcgrof@srs-us1.protection.inumbo.net>)
 id 1mJhNi-0001H3-Bx
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 19:19:14 +0000
Received: from bombadil.infradead.org (unknown [2607:7c80:54:e::133])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id a2d66357-b863-4d15-b734-9cbf511a1903;
 Fri, 27 Aug 2021 19:18:24 +0000 (UTC)
Received: from mcgrof by bombadil.infradead.org with local (Exim 4.94.2 #2
 (Red Hat Linux)) id 1mJhMh-00D5As-25; Fri, 27 Aug 2021 19:18:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: a2d66357-b863-4d15-b734-9cbf511a1903
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=H0yjxWrLDkVEjbF/GZd7/ySZbiTiPqu2Q0a9C5B5DM0=; b=jBj7vgYH2nE65LB1og8tiXOxvP
	KBh0R2euadTs8h7IBajXUwNtbsjdFyOM2k7wI7W88Vg5sZeU2CTiHhGXdfgMellg8kXdWVImn8otO
	7gQNJqki565nGVNi4mzdZjvbLvVk28VP4QPb/0g9kyyZHcXPifRZmGLkjAmy9SwJHNSr70ec1Qd3i
	NRTaJtSv320J7Urutn2OyJaSDXn/c3eZ9fTMPhR2umPh8Murmbs3MGmibWqmyLLSz+Mt127usJXms
	UPbPmKYMwaJoNQEMvPVUaYIW8ltdAFibmpKu8cjuAfKGLHb1GY49vqvpX6WZxvV91ZRj3k8SYjiE6
	fyoI6w9g==;
From: Luis Chamberlain <mcgrof@kernel.org>
To: axboe@kernel.dk,
	colyli@suse.de,
	kent.overstreet@gmail.com,
	kbusch@kernel.org,
	sagi@grimberg.me,
	vishal.l.verma@intel.com,
	dan.j.williams@intel.com,
	dave.jiang@intel.com,
	ira.weiny@intel.com,
	konrad.wilk@oracle.com,
	roger.pau@citrix.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	minchan@kernel.org,
	ngupta@vflare.org,
	senozhatsky@chromium.org
Cc: xen-devel@lists.xenproject.org,
	nvdimm@lists.linux.dev,
	linux-nvme@lists.infradead.org,
	linux-bcache@vger.kernel.org,
	linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Luis Chamberlain <mcgrof@kernel.org>
Subject: [PATCH 02/10] bcache: add error handling support for add_disk()
Date: Fri, 27 Aug 2021 12:18:01 -0700
Message-Id: <20210827191809.3118103-3-mcgrof@kernel.org>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20210827191809.3118103-1-mcgrof@kernel.org>
References: <20210827191809.3118103-1-mcgrof@kernel.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: Luis Chamberlain <mcgrof@infradead.org>

We never checked for errors on add_disk() as this function
returned void. Now that this is fixed, use the shiny new
error handling.

This driver doesn't do any unwinding with blk_cleanup_disk()
even on errors after add_disk() and so we follow that
tradition.

Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
---
 drivers/md/bcache/super.c | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/drivers/md/bcache/super.c b/drivers/md/bcache/super.c
index f2874c77ff79..f0c32cdd6594 100644
--- a/drivers/md/bcache/super.c
+++ b/drivers/md/bcache/super.c
@@ -1082,7 +1082,9 @@ int bch_cached_dev_run(struct cached_dev *dc)
 		closure_sync(&cl);
 	}
 
-	add_disk(d->disk);
+	ret = add_disk(d->disk);
+	if (ret)
+		goto out;
 	bd_link_disk_holder(dc->bdev, dc->disk.disk);
 	/*
 	 * won't show up in the uevent file, use udevadm monitor -e instead
@@ -1534,10 +1536,11 @@ static void flash_dev_flush(struct closure *cl)
 
 static int flash_dev_run(struct cache_set *c, struct uuid_entry *u)
 {
+	int err = -ENOMEM;
 	struct bcache_device *d = kzalloc(sizeof(struct bcache_device),
 					  GFP_KERNEL);
 	if (!d)
-		return -ENOMEM;
+		goto err_ret;
 
 	closure_init(&d->cl, NULL);
 	set_closure_fn(&d->cl, flash_dev_flush, system_wq);
@@ -1551,9 +1554,12 @@ static int flash_dev_run(struct cache_set *c, struct uuid_entry *u)
 	bcache_device_attach(d, c, u - c->uuids);
 	bch_sectors_dirty_init(d);
 	bch_flash_dev_request_init(d);
-	add_disk(d->disk);
+	err = add_disk(d->disk);
+	if (err)
+		goto err;
 
-	if (kobject_add(&d->kobj, &disk_to_dev(d->disk)->kobj, "bcache"))
+	err = kobject_add(&d->kobj, &disk_to_dev(d->disk)->kobj, "bcache");
+	if (err)
 		goto err;
 
 	bcache_device_link(d, c, "volume");
@@ -1567,7 +1573,8 @@ static int flash_dev_run(struct cache_set *c, struct uuid_entry *u)
 	return 0;
 err:
 	kobject_put(&d->kobj);
-	return -ENOMEM;
+err_ret:
+	return err;
 }
 
 static int flash_devs_run(struct cache_set *c)
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 20:12:35 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 20:12:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173957.317407 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJiDG-00015u-FA; Fri, 27 Aug 2021 20:12:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173957.317407; Fri, 27 Aug 2021 20:12:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJiDG-00012w-1w; Fri, 27 Aug 2021 20:12:30 +0000
Received: by outflank-mailman (input) for mailman id 173957;
 Fri, 27 Aug 2021 19:19:35 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8NxO=NS=infradead.org=mcgrof@srs-us1.protection.inumbo.net>)
 id 1mJhO3-0001O8-EG
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 19:19:35 +0000
Received: from bombadil.infradead.org (unknown [2607:7c80:54:e::133])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id de0f8296-b8cc-488b-bdff-b5f11bfad954;
 Fri, 27 Aug 2021 19:19:34 +0000 (UTC)
Received: from mcgrof by bombadil.infradead.org with local (Exim 4.94.2 #2
 (Red Hat Linux)) id 1mJhNr-00D5om-W1; Fri, 27 Aug 2021 19:19:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: de0f8296-b8cc-488b-bdff-b5f11bfad954
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=8+JTx2QtJKu1nzu/fi4s9YgHPPdIhi0U0aDc5hOafyE=; b=DmLUkoPiySq9BrvK1jaaJXWx0d
	4oEOxLjKBZFeObZMhOh8sXY1k9im/R0uUMkC798SPMVqTN8z7b346uM78ptLFFh7ODfY2ePOWraOr
	4EONWQeoBcZMd6EX5GAGMU3xHzWM3D7svkZsMOHZ8OzOXcIrul5xc+JcgzFeUWPXxSMiT4v30J2mV
	2VMfemsc0kth5aUdZPQrJPpoqW9sacn9jiLcOpS6HC7RQjlCVUH91Xx18A8JwNcV21q1iTlzeLfgX
	t4+CykU+NT2SpiQkmzwM6uOiWwKyIrce5Pnz+akrSNGRf4y8IYvb9KAKu1zKykq3QUfwrSIOlBPS+
	IdaBQL9w==;
Date: Fri, 27 Aug 2021 12:19:23 -0700
From: Luis Chamberlain <mcgrof@kernel.org>
To: axboe@kernel.dk, colyli@suse.de, kent.overstreet@gmail.com,
	kbusch@kernel.org, sagi@grimberg.me, vishal.l.verma@intel.com,
	dan.j.williams@intel.com, dave.jiang@intel.com, ira.weiny@intel.com,
	konrad.wilk@oracle.com, roger.pau@citrix.com,
	boris.ostrovsky@oracle.com, jgross@suse.com, sstabellini@kernel.org,
	minchan@kernel.org, ngupta@vflare.org, senozhatsky@chromium.org
Cc: xen-devel@lists.xenproject.org, nvdimm@lists.linux.dev,
	linux-nvme@lists.infradead.org, linux-bcache@vger.kernel.org,
	linux-block@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 00/10] block: first batch of add_disk() error handling
 conversions
Message-ID: <YSk6uyyuhDvFiqLJ@bombadil.infradead.org>
References: <20210827191809.3118103-1-mcgrof@kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20210827191809.3118103-1-mcgrof@kernel.org>
Sender: Luis Chamberlain <mcgrof@infradead.org>


Botched the subject. Sorry. this is the *second* batch :)

  Luis


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 20:12:35 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 20:12:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173947.317362 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJiDD-0008U9-3I; Fri, 27 Aug 2021 20:12:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173947.317362; Fri, 27 Aug 2021 20: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 1mJiDC-0008Qk-Qf; Fri, 27 Aug 2021 20:12:26 +0000
Received: by outflank-mailman (input) for mailman id 173947;
 Fri, 27 Aug 2021 19:18:49 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8NxO=NS=infradead.org=mcgrof@srs-us1.protection.inumbo.net>)
 id 1mJhNJ-0001H3-B0
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 19:18:49 +0000
Received: from bombadil.infradead.org (unknown [2607:7c80:54:e::133])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c2ed6f55-78c3-4682-8ddf-5ff60b0a557b;
 Fri, 27 Aug 2021 19:18:23 +0000 (UTC)
Received: from mcgrof by bombadil.infradead.org with local (Exim 4.94.2 #2
 (Red Hat Linux)) id 1mJhMh-00D5B9-Dv; Fri, 27 Aug 2021 19:18:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: c2ed6f55-78c3-4682-8ddf-5ff60b0a557b
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=vLYLL0oFZhxGylgSJPWXsGjPK2psQoUWyxkb9au47Xw=; b=O3AoZlZnbbHQwfvGAtYvirog88
	EON0OdRqJ6ZNzUhguT3+31CMn99Dygty5KuFC7VLotkku9ilfuOy06Oc7/54lv5yP7YxlxivOMJuF
	hD2YhvsrCtHG51gDcXamrBh68I6Ogwu0ifCKgUDsQBoyWwXuMLFKxdlQcc+TFIr84VKkggf/t61i6
	e5dMcioA6KN+rhWZTtIsd8fu8k/YXGPA6Qfjktzpj0VLdY+6m1toijsuQeqiSXIcBBQSLwvDBDi+v
	lgKdIIRbsqr8QoIXbG3zrVctqdrqvShN+LA602q9Y7/vv5WNzB+RE7I1AQx/cTOh147AgEQchMFg2
	vWX3qxJg==;
From: Luis Chamberlain <mcgrof@kernel.org>
To: axboe@kernel.dk,
	colyli@suse.de,
	kent.overstreet@gmail.com,
	kbusch@kernel.org,
	sagi@grimberg.me,
	vishal.l.verma@intel.com,
	dan.j.williams@intel.com,
	dave.jiang@intel.com,
	ira.weiny@intel.com,
	konrad.wilk@oracle.com,
	roger.pau@citrix.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	minchan@kernel.org,
	ngupta@vflare.org,
	senozhatsky@chromium.org
Cc: xen-devel@lists.xenproject.org,
	nvdimm@lists.linux.dev,
	linux-nvme@lists.infradead.org,
	linux-bcache@vger.kernel.org,
	linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Luis Chamberlain <mcgrof@kernel.org>
Subject: [PATCH 08/10] nvdimm/blk: add error handling support for add_disk()
Date: Fri, 27 Aug 2021 12:18:07 -0700
Message-Id: <20210827191809.3118103-9-mcgrof@kernel.org>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20210827191809.3118103-1-mcgrof@kernel.org>
References: <20210827191809.3118103-1-mcgrof@kernel.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: Luis Chamberlain <mcgrof@infradead.org>

We never checked for errors on add_disk() as this function
returned void. Now that this is fixed, use the shiny new
error handling.

Since nvdimm/blk uses devm we just need to move the devm
registration towards the end. And in hindsight, that seems
to also provide a fix given del_gendisk() should not be
called unless the disk was already added via add_disk().
The probably of that issue happening is low though, like
OOM while calling devm_add_action(), so the fix is minor.

We manually unwind in case of add_disk() failure prior
to the devm registration.

Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
---
 drivers/nvdimm/blk.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/nvdimm/blk.c b/drivers/nvdimm/blk.c
index 591fa1f86f1e..9f1eb41404ac 100644
--- a/drivers/nvdimm/blk.c
+++ b/drivers/nvdimm/blk.c
@@ -265,7 +265,9 @@ static int nsblk_attach_disk(struct nd_namespace_blk *nsblk)
 	}
 
 	set_capacity(disk, available_disk_size >> SECTOR_SHIFT);
-	device_add_disk(dev, disk, NULL);
+	rc = device_add_disk(dev, disk, NULL);
+	if (rc)
+		goto out_before_devm_err;
 
 	/* nd_blk_release_disk() is called if this fails */
 	if (devm_add_action_or_reset(dev, nd_blk_release_disk, disk))
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 20:12:35 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 20:12:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173945.317354 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJiDC-0008K9-NY; Fri, 27 Aug 2021 20:12:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173945.317354; Fri, 27 Aug 2021 20: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 1mJiDC-0008HA-D4; Fri, 27 Aug 2021 20:12:26 +0000
Received: by outflank-mailman (input) for mailman id 173945;
 Fri, 27 Aug 2021 19:18:44 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8NxO=NS=infradead.org=mcgrof@srs-us1.protection.inumbo.net>)
 id 1mJhNE-0001H3-B5
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 19:18:44 +0000
Received: from bombadil.infradead.org (unknown [2607:7c80:54:e::133])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c5be3486-3969-44fc-b924-607a315ce7c2;
 Fri, 27 Aug 2021 19:18:22 +0000 (UTC)
Received: from mcgrof by bombadil.infradead.org with local (Exim 4.94.2 #2
 (Red Hat Linux)) id 1mJhMh-00D5B4-BH; Fri, 27 Aug 2021 19:18:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: c5be3486-3969-44fc-b924-607a315ce7c2
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=MlI7d0NX6/gbusr57eEjs+4gHr0mIPfbnhczoHLdvTU=; b=FiVuZjEeF4M9ZPaADvhCFh2tVN
	DYzuVOnQmxkB6JoMep8Nf6n0GlJbr2Q8vO49ziGqNHa6U7Oit5uXjxVqrkzljKd5V4BEzEEAUkUD6
	YkPOGbzZDCekCv+riLl+K1iJzN5XsHP27b3OELPN4/xukR2OO/D0M/BfnulrdBkq6hBZbx5yvaWR8
	jYpGUufJSWYUf92kagUPDE7vDOe+VuqHuiQQ+vWtf/BMkP8rZiEbfsWLqq+zspf5RTu1JOPpd0SDd
	pZexEgoIjJykLfRqUEO6XEGLamStM3CeBh+3o8KVyzA5W26cCP7v0d2MiCEfgKaU9kuR6jvDKuurb
	gNssezdw==;
From: Luis Chamberlain <mcgrof@kernel.org>
To: axboe@kernel.dk,
	colyli@suse.de,
	kent.overstreet@gmail.com,
	kbusch@kernel.org,
	sagi@grimberg.me,
	vishal.l.verma@intel.com,
	dan.j.williams@intel.com,
	dave.jiang@intel.com,
	ira.weiny@intel.com,
	konrad.wilk@oracle.com,
	roger.pau@citrix.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	minchan@kernel.org,
	ngupta@vflare.org,
	senozhatsky@chromium.org
Cc: xen-devel@lists.xenproject.org,
	nvdimm@lists.linux.dev,
	linux-nvme@lists.infradead.org,
	linux-bcache@vger.kernel.org,
	linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Luis Chamberlain <mcgrof@kernel.org>
Subject: [PATCH 06/10] nvdimm/btt: add error handling support for add_disk()
Date: Fri, 27 Aug 2021 12:18:05 -0700
Message-Id: <20210827191809.3118103-7-mcgrof@kernel.org>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20210827191809.3118103-1-mcgrof@kernel.org>
References: <20210827191809.3118103-1-mcgrof@kernel.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: Luis Chamberlain <mcgrof@infradead.org>

We never checked for errors on add_disk() as this function
returned void. Now that this is fixed, use the shiny new
error handling.

Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
---
 drivers/nvdimm/btt.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/nvdimm/btt.c b/drivers/nvdimm/btt.c
index 275704d80109..abdac4b7769f 100644
--- a/drivers/nvdimm/btt.c
+++ b/drivers/nvdimm/btt.c
@@ -1542,7 +1542,9 @@ static int btt_blk_init(struct btt *btt)
 	}
 
 	set_capacity(btt->btt_disk, btt->nlba * btt->sector_size >> 9);
-	device_add_disk(&btt->nd_btt->dev, btt->btt_disk, NULL);
+	rc = device_add_disk(&btt->nd_btt->dev, btt->btt_disk, NULL);
+	if (rc)
+		goto out_cleanup_disk;
 
 	btt->nd_btt->size = btt->nlba * (u64)btt->sector_size;
 	nvdimm_check_and_set_ro(btt->btt_disk);
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 20:12:35 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 20:12:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173937.317326 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJiDB-0007t9-5z; Fri, 27 Aug 2021 20:12:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173937.317326; Fri, 27 Aug 2021 20: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 1mJiDB-0007t2-2T; Fri, 27 Aug 2021 20:12:25 +0000
Received: by outflank-mailman (input) for mailman id 173937;
 Fri, 27 Aug 2021 19:18:25 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8NxO=NS=infradead.org=mcgrof@srs-us1.protection.inumbo.net>)
 id 1mJhMu-0001H3-EZ
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 19:18:25 +0000
Received: from bombadil.infradead.org (unknown [2607:7c80:54:e::133])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 3d9ddd8e-9c8c-4b5c-9b9e-3371a58e3267;
 Fri, 27 Aug 2021 19:18:22 +0000 (UTC)
Received: from mcgrof by bombadil.infradead.org with local (Exim 4.94.2 #2
 (Red Hat Linux)) id 1mJhMh-00D5BG-Gk; Fri, 27 Aug 2021 19:18:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: 3d9ddd8e-9c8c-4b5c-9b9e-3371a58e3267
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=r8MzoKDcb67F6VDD0mCfQtUXlNELBrr58OK/skvQejQ=; b=Q6aWwEC/JZVopdDk8X1QjnwL8l
	nn5puUdf+O7B1dgHvEgE4VR7dMiWkZu0xOHZ4JH821w52Q/zP3BGX87mxABarojvRRQN8u29TM7AL
	lR/nfcx0+N9/YXnOsFsLU4IceBFw2kFHhg0uy+/V1bVbKVTnYCfERNaqNWBnrCzFJCGtTrehA4gIX
	NsZ8WaFJYPNs/OBiDn26XCThBH4Eo/cEv0x9yrpI29bkfk1n34eDIt9vthtYt6S08SmmCC1MRMHhh
	KQw+8lZybK5CYUFuLfszXurf4AJk7ow675xAoVzGdkre1+NsJyA++7qavXURTiW5DAp++SVxfGZac
	b0ct+yrg==;
From: Luis Chamberlain <mcgrof@kernel.org>
To: axboe@kernel.dk,
	colyli@suse.de,
	kent.overstreet@gmail.com,
	kbusch@kernel.org,
	sagi@grimberg.me,
	vishal.l.verma@intel.com,
	dan.j.williams@intel.com,
	dave.jiang@intel.com,
	ira.weiny@intel.com,
	konrad.wilk@oracle.com,
	roger.pau@citrix.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	minchan@kernel.org,
	ngupta@vflare.org,
	senozhatsky@chromium.org
Cc: xen-devel@lists.xenproject.org,
	nvdimm@lists.linux.dev,
	linux-nvme@lists.infradead.org,
	linux-bcache@vger.kernel.org,
	linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Luis Chamberlain <mcgrof@kernel.org>
Subject: [PATCH 10/10] zram: add error handling support for add_disk()
Date: Fri, 27 Aug 2021 12:18:09 -0700
Message-Id: <20210827191809.3118103-11-mcgrof@kernel.org>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20210827191809.3118103-1-mcgrof@kernel.org>
References: <20210827191809.3118103-1-mcgrof@kernel.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: Luis Chamberlain <mcgrof@infradead.org>

We never checked for errors on add_disk() as this function
returned void. Now that this is fixed, use the shiny new
error handling.

Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
---
 drivers/block/zram/zram_drv.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/block/zram/zram_drv.c b/drivers/block/zram/zram_drv.c
index fcaf2750f68f..d5b343c2bc96 100644
--- a/drivers/block/zram/zram_drv.c
+++ b/drivers/block/zram/zram_drv.c
@@ -1953,7 +1953,9 @@ static int zram_add(void)
 		blk_queue_max_write_zeroes_sectors(zram->disk->queue, UINT_MAX);
 
 	blk_queue_flag_set(QUEUE_FLAG_STABLE_WRITES, zram->disk->queue);
-	device_add_disk(NULL, zram->disk, zram_disk_attr_groups);
+	ret = device_add_disk(NULL, zram->disk, zram_disk_attr_groups);
+	if (ret)
+		goto out_cleanup_disk;
 
 	strlcpy(zram->compressor, default_compressor, sizeof(zram->compressor));
 
@@ -1961,6 +1963,8 @@ static int zram_add(void)
 	pr_info("Added device: %s\n", zram->disk->disk_name);
 	return device_id;
 
+out_cleanup_disk:
+	blk_cleanup_disk(zram->disk);
 out_free_idr:
 	idr_remove(&zram_index_idr, device_id);
 out_free_dev:
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 20:12:35 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 20:12:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173949.317368 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJiDD-0000DL-Gb; Fri, 27 Aug 2021 20:12:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173949.317368; Fri, 27 Aug 2021 20: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 1mJiDD-0000AE-9A; Fri, 27 Aug 2021 20:12:27 +0000
Received: by outflank-mailman (input) for mailman id 173949;
 Fri, 27 Aug 2021 19:18:54 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8NxO=NS=infradead.org=mcgrof@srs-us1.protection.inumbo.net>)
 id 1mJhNO-0001H3-BB
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 19:18:54 +0000
Received: from bombadil.infradead.org (unknown [2607:7c80:54:e::133])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id db4f7f30-1be1-407b-9704-aa92b7b28dd8;
 Fri, 27 Aug 2021 19:18:23 +0000 (UTC)
Received: from mcgrof by bombadil.infradead.org with local (Exim 4.94.2 #2
 (Red Hat Linux)) id 1mJhMh-00D5B6-CX; Fri, 27 Aug 2021 19:18:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: db4f7f30-1be1-407b-9704-aa92b7b28dd8
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=hsYRy5mW2eSZFEqOw8JTWcpX/S1jq2Dljgzx3k3VBB0=; b=ag2MWG9JRPRl7v1Wm4knifBuDH
	x/k7sA6IMtBfImriQpfdYn9OfQrmhh704BYOZ1efraWf6MvZLkuIu8ui3RaFGt2h0JGEnJbE/mzGG
	UMpYztDhF4uGbNZV/BKzqSXSAymUMxJHuUsN0AeDORBz3rq0NtTKCdwuHZFTV3ylWbjUQPELSZJnJ
	Uv8SvIfFCz+zqm8iSInPS4MX23d9OwRSOPydfEoraAzMapqy1iXSYJRU/ysyMRbUQvaeuY0q2kbAF
	WsvxN6a8SYo3ajPRyxlChb/HXfw9y48GMnLlBgH5jr3PXLLMmtQlkt0jpuLPPGCKR46h3vY8cdWgw
	KUC5BgwQ==;
From: Luis Chamberlain <mcgrof@kernel.org>
To: axboe@kernel.dk,
	colyli@suse.de,
	kent.overstreet@gmail.com,
	kbusch@kernel.org,
	sagi@grimberg.me,
	vishal.l.verma@intel.com,
	dan.j.williams@intel.com,
	dave.jiang@intel.com,
	ira.weiny@intel.com,
	konrad.wilk@oracle.com,
	roger.pau@citrix.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	minchan@kernel.org,
	ngupta@vflare.org,
	senozhatsky@chromium.org
Cc: xen-devel@lists.xenproject.org,
	nvdimm@lists.linux.dev,
	linux-nvme@lists.infradead.org,
	linux-bcache@vger.kernel.org,
	linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Luis Chamberlain <mcgrof@kernel.org>
Subject: [PATCH 07/10] nvdimm/blk: avoid calling del_gendisk() on early failures
Date: Fri, 27 Aug 2021 12:18:06 -0700
Message-Id: <20210827191809.3118103-8-mcgrof@kernel.org>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20210827191809.3118103-1-mcgrof@kernel.org>
References: <20210827191809.3118103-1-mcgrof@kernel.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: Luis Chamberlain <mcgrof@infradead.org>

If nd_integrity_init() fails we'd get del_gendisk() called,
but that's not correct as we should only call that if we're
done with device_add_disk(). Fix this by providing unwinding
prior to the devm call being registered and moving the devm
registration to the very end.

This should fix calling del_gendisk() if nd_integrity_init()
fails. I only spotted this issue through code inspection. It
does not fix any real world bug.

Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
---
 drivers/nvdimm/blk.c | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/drivers/nvdimm/blk.c b/drivers/nvdimm/blk.c
index 088d3dd6f6fa..591fa1f86f1e 100644
--- a/drivers/nvdimm/blk.c
+++ b/drivers/nvdimm/blk.c
@@ -240,6 +240,7 @@ static int nsblk_attach_disk(struct nd_namespace_blk *nsblk)
 	resource_size_t available_disk_size;
 	struct gendisk *disk;
 	u64 internal_nlba;
+	int rc;
 
 	internal_nlba = div_u64(nsblk->size, nsblk_internal_lbasize(nsblk));
 	available_disk_size = internal_nlba * nsblk_sector_size(nsblk);
@@ -256,20 +257,26 @@ static int nsblk_attach_disk(struct nd_namespace_blk *nsblk)
 	blk_queue_logical_block_size(disk->queue, nsblk_sector_size(nsblk));
 	blk_queue_flag_set(QUEUE_FLAG_NONROT, disk->queue);
 
-	if (devm_add_action_or_reset(dev, nd_blk_release_disk, disk))
-		return -ENOMEM;
-
 	if (nsblk_meta_size(nsblk)) {
-		int rc = nd_integrity_init(disk, nsblk_meta_size(nsblk));
+		rc = nd_integrity_init(disk, nsblk_meta_size(nsblk));
 
 		if (rc)
-			return rc;
+			goto out_before_devm_err;
 	}
 
 	set_capacity(disk, available_disk_size >> SECTOR_SHIFT);
 	device_add_disk(dev, disk, NULL);
+
+	/* nd_blk_release_disk() is called if this fails */
+	if (devm_add_action_or_reset(dev, nd_blk_release_disk, disk))
+		return -ENOMEM;
+
 	nvdimm_check_and_set_ro(disk);
 	return 0;
+
+out_before_devm_err:
+	blk_cleanup_disk(disk);
+	return rc;
 }
 
 static int nd_blk_probe(struct device *dev)
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 20:12:35 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 20:12:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173951.317375 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJiDE-0000QV-42; Fri, 27 Aug 2021 20:12:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173951.317375; Fri, 27 Aug 2021 20: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 1mJiDD-0000KD-MM; Fri, 27 Aug 2021 20:12:27 +0000
Received: by outflank-mailman (input) for mailman id 173951;
 Fri, 27 Aug 2021 19:18:59 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8NxO=NS=infradead.org=mcgrof@srs-us1.protection.inumbo.net>)
 id 1mJhNT-0001H3-BH
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 19:18:59 +0000
Received: from bombadil.infradead.org (unknown [2607:7c80:54:e::133])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id b633878d-f656-4057-81f9-5ad3954df137;
 Fri, 27 Aug 2021 19:18:23 +0000 (UTC)
Received: from mcgrof by bombadil.infradead.org with local (Exim 4.94.2 #2
 (Red Hat Linux)) id 1mJhMh-00D5Ay-6k; Fri, 27 Aug 2021 19:18:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: b633878d-f656-4057-81f9-5ad3954df137
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=jzYOtCWATAY/QPQDMVi4thNHaE7QBEtJ34Au5e0E3sY=; b=NGugnaXzgKO6Z0LTp/maSzbHCI
	U1Pv2fbRzAJNKgHx+R1PcMKo8uKSrgNlQix8oa8+K/HTha83E2mjqGnrSagG+ONnMAFMGLYtn2PNe
	44srzTowUzh4ka5s84uHYFW/HOBtfUpMoE0PLBnDtbqqm8TmqnPx5RKDFqaaFTEw0A10vtOcAGog8
	s3kmxVpMLBGvEEyhgCLpkdmj9S06UEdmTMQCo1Nwra6wRObz47JLIzPDf3ciTJiFUmRYdKNCEMx93
	/RmF44E3FegHXxtVo6avCvgPzF7TiKeyMgBT3BlZk/PF5la1GXJhEiw3DATVEgKTEH2u5aQi1PQpl
	Km4814lA==;
From: Luis Chamberlain <mcgrof@kernel.org>
To: axboe@kernel.dk,
	colyli@suse.de,
	kent.overstreet@gmail.com,
	kbusch@kernel.org,
	sagi@grimberg.me,
	vishal.l.verma@intel.com,
	dan.j.williams@intel.com,
	dave.jiang@intel.com,
	ira.weiny@intel.com,
	konrad.wilk@oracle.com,
	roger.pau@citrix.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	minchan@kernel.org,
	ngupta@vflare.org,
	senozhatsky@chromium.org
Cc: xen-devel@lists.xenproject.org,
	nvdimm@lists.linux.dev,
	linux-nvme@lists.infradead.org,
	linux-bcache@vger.kernel.org,
	linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Luis Chamberlain <mcgrof@kernel.org>
Subject: [PATCH 04/10] nvdimm/btt: do not call del_gendisk() if not needed
Date: Fri, 27 Aug 2021 12:18:03 -0700
Message-Id: <20210827191809.3118103-5-mcgrof@kernel.org>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20210827191809.3118103-1-mcgrof@kernel.org>
References: <20210827191809.3118103-1-mcgrof@kernel.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: Luis Chamberlain <mcgrof@infradead.org>

We know we don't need del_gendisk() if we haven't added
the disk, so just skip it. This should fix a bug on older
kernels, as del_gendisk() became able to deal with
disks not added only recently, after the patch titled
"block: add flag for add_disk() completion notation".

Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
---
 drivers/nvdimm/btt.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/nvdimm/btt.c b/drivers/nvdimm/btt.c
index 92dec4952297..3fd1bdb9fc05 100644
--- a/drivers/nvdimm/btt.c
+++ b/drivers/nvdimm/btt.c
@@ -1538,7 +1538,6 @@ static int btt_blk_init(struct btt *btt)
 		int rc = nd_integrity_init(btt->btt_disk, btt_meta_size(btt));
 
 		if (rc) {
-			del_gendisk(btt->btt_disk);
 			blk_cleanup_disk(btt->btt_disk);
 			return rc;
 		}
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 20:12:35 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 20:12:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.173955.317395 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJiDF-0000r2-La; Fri, 27 Aug 2021 20:12:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 173955.317395; Fri, 27 Aug 2021 20:12: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 1mJiDF-0000nT-34; Fri, 27 Aug 2021 20:12:29 +0000
Received: by outflank-mailman (input) for mailman id 173955;
 Fri, 27 Aug 2021 19:19:09 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8NxO=NS=infradead.org=mcgrof@srs-us1.protection.inumbo.net>)
 id 1mJhNd-0001H3-Bl
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 19:19:09 +0000
Received: from bombadil.infradead.org (unknown [2607:7c80:54:e::133])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 97cf3ac1-5949-4c81-b867-15b982ac45e8;
 Fri, 27 Aug 2021 19:18:23 +0000 (UTC)
Received: from mcgrof by bombadil.infradead.org with local (Exim 4.94.2 #2
 (Red Hat Linux)) id 1mJhMg-00D5Aq-W4; Fri, 27 Aug 2021 19:18:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: 97cf3ac1-5949-4c81-b867-15b982ac45e8
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=vzfFGe77MiDtDAcsNEd4FFV6XUqpkLp7v2/+XiGswys=; b=isst7bA45MsJEBHCIhkJx6Kczq
	YrMi78bLRt5qELgdWgY6H9Mgp+37YNSRQsfgXi4VM1MADrofBM9ydqTVaHxK/Mb9PPst7iuahgypW
	86DjV+a3MdG1nqOFP2e9R/7/LoExU5RNSDgYWGFgZgOsn7cQGQmZmFVdsFt4b04RdjQi64HPxJC2Y
	TblDGK95B8LHVKYy5XjvUnNc7qRElN1IbsJ8V/4QSvZhz1Hefy4ZsPtYLUyEbJYVsV0jlytxSkfZi
	zdJLho+9svAaFsXC7A1pCEYiKEfCX1LVke+8CZuMNuC9thfpCFfwoMaHUOqgBZMY2OR0ZgHbFRARA
	7BULMVAA==;
From: Luis Chamberlain <mcgrof@kernel.org>
To: axboe@kernel.dk,
	colyli@suse.de,
	kent.overstreet@gmail.com,
	kbusch@kernel.org,
	sagi@grimberg.me,
	vishal.l.verma@intel.com,
	dan.j.williams@intel.com,
	dave.jiang@intel.com,
	ira.weiny@intel.com,
	konrad.wilk@oracle.com,
	roger.pau@citrix.com,
	boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	minchan@kernel.org,
	ngupta@vflare.org,
	senozhatsky@chromium.org
Cc: xen-devel@lists.xenproject.org,
	nvdimm@lists.linux.dev,
	linux-nvme@lists.infradead.org,
	linux-bcache@vger.kernel.org,
	linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Luis Chamberlain <mcgrof@kernel.org>
Subject: [PATCH 01/10] block/brd: add error handling support for add_disk()
Date: Fri, 27 Aug 2021 12:18:00 -0700
Message-Id: <20210827191809.3118103-2-mcgrof@kernel.org>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20210827191809.3118103-1-mcgrof@kernel.org>
References: <20210827191809.3118103-1-mcgrof@kernel.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: Luis Chamberlain <mcgrof@infradead.org>

We never checked for errors on add_disk() as this function
returned void. Now that this is fixed, use the shiny new
error handling.

Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
---
 drivers/block/brd.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/block/brd.c b/drivers/block/brd.c
index 58ec167aa018..c2bf4946f4e3 100644
--- a/drivers/block/brd.c
+++ b/drivers/block/brd.c
@@ -372,6 +372,7 @@ static int brd_alloc(int i)
 	struct brd_device *brd;
 	struct gendisk *disk;
 	char buf[DISK_NAME_LEN];
+	int err = -ENOMEM;
 
 	brd = kzalloc(sizeof(*brd), GFP_KERNEL);
 	if (!brd)
@@ -410,14 +411,19 @@ static int brd_alloc(int i)
 	/* Tell the block layer that this is not a rotational device */
 	blk_queue_flag_set(QUEUE_FLAG_NONROT, disk->queue);
 	blk_queue_flag_clear(QUEUE_FLAG_ADD_RANDOM, disk->queue);
-	add_disk(disk);
+	err = add_disk(disk);
+	if (err)
+		goto out_cleanup_disk;
+
 	list_add_tail(&brd->brd_list, &brd_devices);
 
 	return 0;
 
+out_cleanup_disk:
+	blk_cleanup_disk(disk);
 out_free_dev:
 	kfree(brd);
-	return -ENOMEM;
+	return err;
 }
 
 static void brd_probe(dev_t dev)
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 20:34:53 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 20:34:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174019.317459 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJiYn-0000bI-2m; Fri, 27 Aug 2021 20:34:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174019.317459; Fri, 27 Aug 2021 20: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 1mJiYm-0000bB-Un; Fri, 27 Aug 2021 20:34:44 +0000
Received: by outflank-mailman (input) for mailman id 174019;
 Fri, 27 Aug 2021 20:34:44 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=u0mk=NS=gmail.com=olekstysh@srs-us1.protection.inumbo.net>)
 id 1mJiYm-0000b5-B2
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 20:34:44 +0000
Received: from mail-lf1-x136.google.com (unknown [2a00:1450:4864:20::136])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c49fe0b7-ae3d-4464-be01-5f3c64d55405;
 Fri, 27 Aug 2021 20:34:43 +0000 (UTC)
Received: by mail-lf1-x136.google.com with SMTP id c8so4263436lfi.3
 for <xen-devel@lists.xenproject.org>; Fri, 27 Aug 2021 13:34:42 -0700 (PDT)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id u3sm773100lju.107.2021.08.27.13.34.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 27 Aug 2021 13:34: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: c49fe0b7-ae3d-4464-be01-5f3c64d55405
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-transfer-encoding:content-language;
        bh=GR1VzIgI95C7s5Zv9cazg0liNSpLP3B2iPo5pLuIroU=;
        b=veEVVCOJY+GKb6lNkdiXPgjrnDxjcRDj6PgfYHXUkzdgw01M81ZrpaH1k9b8kEhXgz
         B4rLqze2g/IFroZ1pwE9XvmvJ+l2WHCBH/8uoBHyk+jSuO/gU+lIq0C2RjWgwb2qyBRc
         s232LOynhbZTCUUypi+fpqp8BKAZwXZ9pk2flU9Uvgl+vRa7c4r+vTBGAO5aRWc8SJmM
         sCvx4C+jVBXQDOXj2wEZcNDsRF6WmRBiEp0aN3tM+pgkr9hpz25Lvq2QuPugakjOEzWP
         dNAvE5KVjIZcBYTUqYSBOVMKqV8Sgbz/IqC41PJpLwOBhRa6IUwAmCD1eTtric/y0vIP
         hhGA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-transfer-encoding
         :content-language;
        bh=GR1VzIgI95C7s5Zv9cazg0liNSpLP3B2iPo5pLuIroU=;
        b=SJz6aT5/msvG5xpc+cw9gYKfvI843pz6eIe8p6jZS/CB5CYMM4SRNcdr2IOcBySnto
         HV074D9KFtPYgGHs4uZBK+C/L7143cWu5YLDlE43SJuv4XGNL1mVuDKAJ6bxhYdH3NQB
         iXXTqvRP1nFLXmepAPznqFx7eRx86ZqZWG5grAkV4rLd832P2OZK2OZy5Qi1mhUbpzuC
         u3O3LhI7J7GZU3QoNbnPMt+y0G6MRzglMBYr59N8zSN8Eo4+ZgWmw4NcwNluxMKdMGe6
         a9nz2DADz2iCQ477bZicJV2M9up0KTLt7rtZT6Y3wp6qBy2Ph2S4NAkQtzQuJ+GXFIAi
         k9mw==
X-Gm-Message-State: AOAM530OBCmhIW3/sKJdFzdlOZIIM5FAbw/Bei8AdD4TObZFfxqBxZiz
	mLyT6+OhdMyNChb3cmfInRc=
X-Google-Smtp-Source: ABdhPJytf/Vko32+7asLHaC5dXR9RoijSvb1oyh8EGC4vsBsPZlKPH873/l+2PnGK74Ouf65kFERjA==
X-Received: by 2002:a19:c794:: with SMTP id x142mr8162813lff.134.1630096481847;
        Fri, 27 Aug 2021 13:34:41 -0700 (PDT)
Subject: Re: [RFC PATCH] xen/memory: Introduce a hypercall to provide
 unallocated space
To: Julien Grall <julien@xen.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>
References: <1627489110-25633-1-git-send-email-olekstysh@gmail.com>
 <e8db3021-78a5-e040-a70b-62ca5b500149@xen.org>
 <4de5ed21-379e-b618-44c8-924d88b1a519@citrix.com>
 <bbc7f597-5249-20a0-cac9-13f594268299@xen.org>
 <6a633f4e-13e0-4a2b-cf6e-35ef90ae977c@gmail.com>
 <alpine.DEB.2.21.2107301630510.10122@sstabellini-ThinkPad-T480s>
 <f6b2e6c6-bf58-960f-4a09-f05ebcf1f566@gmail.com>
 <5643d414-0b76-74a4-2c37-c7a99338d547@gmail.com>
 <c83378af-4d3b-9256-0e0d-f88c43c6de2f@xen.org>
 <alpine.DEB.2.21.2108051720210.18743@sstabellini-ThinkPad-T480s>
 <6596ad08-8398-64dd-ef62-cd7bc6f7333e@gmail.com>
 <bc576a23-d107-c67d-8dca-62691e5eea1a@xen.org>
 <1d0ea55d-2e5a-daa7-9c60-c7a1c4b48fa1@gmail.com>
 <6947db7a-44d3-eb5f-c93e-1c1b88c62f29@xen.org>
 <736c38b3-0dfa-ccbf-6a6a-6da871f8aca0@gmail.com>
 <4f5be55d-062b-06d2-1e41-bac3ade0cc3a@xen.org>
 <f046eaba-d073-7fbb-4f4d-405f34d8ee9c@gmail.com>
 <e136dc8e-de64-56fa-8353-300b947db3aa@xen.org>
 <92268dd6-04b7-38e9-86d4-949702971f4b@xen.org>
From: Oleksandr <olekstysh@gmail.com>
Message-ID: <610c474b-9590-2f52-b61e-ab4bb0fc1ec9@gmail.com>
Date: Fri, 27 Aug 2021 23:34:40 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.10.0
MIME-Version: 1.0
In-Reply-To: <92268dd6-04b7-38e9-86d4-949702971f4b@xen.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Content-Language: en-US


On 17.08.21 20:54, Julien Grall wrote:

Hi Julien


> On 17/08/2021 18:53, Julien Grall wrote:
>> Hi Oleksandr,
>>
>> On 10/08/2021 18:03, Oleksandr wrote:
>>>
>>> On 10.08.21 19:28, Julien Grall wrote:
>>>
>>> Hi Julien.
>>>
>>>>
>>>>
>>>> On 09/08/2021 22:18, Oleksandr wrote:
>>>>>
>>>>> On 09.08.21 23:45, Julien Grall wrote:
>>>>>
>>>>>
>>>>> Hi Julien
>>>>
>>>>
>>>> Hi Oleksandr,
>>>>
>>>>>> On 09/08/2021 19:24, Oleksandr wrote:
>>>>>>>
>>>>>>> On 09.08.21 18:42, Julien Grall wrote:
>>>>>>> 1. If IOMMU is enabled for Dom0 -> provide holes found in Host 
>>>>>>> DT as safe ranges
>>>>>>>
>>>>>>> I would take into the account holes >= 1MB.
>>>>>>
>>>>>> May I ask why 1MB?
>>>>>
>>>>> Nothing special, just thinking to not bother with small regions 
>>>>> which would not be too useful overall, but could bloat resulting 
>>>>> reg property.
>>>>>
>>>>> Anyway, I would be ok with any sizes.
>>>>
>>>> I was more interesting with the reasoning behind your choice rather 
>>>> than saying we want more.
>>>>
>>>> I agree that we may want to skip smaller region. I am guess that an 
>>>> high number of small regions will also increase the bookeeping in 
>>>> Linux.
>>>>
>>>> But I would probably suggest to align the safe region to a 2MB 
>>>> (superpage for 4KB page granularity) just because the backend (or 
>>>> even Xen) may be able to do some optimization there.
>>>
>>> OK, agree regarding the alignment. But, what about the size? I 
>>> assume, it should be a multiple of 2MB.
>>
>> I would say yes. In the documentation for the guest, I would just 
>> write "64KB" to give us some flexibility to reduce the alignment/size 
>> if we encounter platform where we can meet those limits (hopefully 
>> there is none...).
>
> Whoops, I meant cannot rather than can.

ok, makes sense, thank you for the clarification.



>
> Cheers,
>
-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Fri Aug 27 21:45:51 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 21:45:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174025.317469 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJjfJ-0000Mg-95; Fri, 27 Aug 2021 21:45:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174025.317469; Fri, 27 Aug 2021 21: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 1mJjfJ-0000MZ-5i; Fri, 27 Aug 2021 21:45:33 +0000
Received: by outflank-mailman (input) for mailman id 174025;
 Fri, 27 Aug 2021 21:45: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 1mJjfH-0000MP-W2; Fri, 27 Aug 2021 21:45: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 1mJjfH-0006ya-I0; Fri, 27 Aug 2021 21:45: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 1mJjfH-0005YU-9Q; Fri, 27 Aug 2021 21:45:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mJjfH-0007uj-8J; Fri, 27 Aug 2021 21: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=kxYFkmAE7JmV7VoQRlHowihbJ2Pc3OHczgsOC3OEIJU=; b=J+pohvKYGjXAmtqgTEwB7upvia
	a0QR/h6woOhK+RQd0srtzbiR6ax0YUw837PiJVQGL3LDwKjV7nOAJbDCKM5XjtPMQz3I3RKcXzbSt
	4mTKvfWl3KcZP7OJmjYma292nu71Ku9KsCuCTah9RL6QOGMO9TX0M0Sb+80QhnLcnNqY=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164525-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 164525: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=8064488062641ae505b2a7369611c38057a7788b
X-Osstest-Versions-That:
    xen=afab477fba3b4de4ad3887c27677737b96488091
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 27 Aug 2021 21:45:31 +0000

flight 164525 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164525/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  8064488062641ae505b2a7369611c38057a7788b
baseline version:
 xen                  afab477fba3b4de4ad3887c27677737b96488091

Last test of basis   164524  2021-08-27 14:00:28 Z    0 days
Testing same since   164525  2021-08-27 18:01:40 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   afab477fba..8064488062  8064488062641ae505b2a7369611c38057a7788b -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Aug 27 23:11:10 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Aug 2021 23:11:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174032.317484 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJkzV-00025f-Ez; Fri, 27 Aug 2021 23:10:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174032.317484; Fri, 27 Aug 2021 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 1mJkzV-00025Y-AH; Fri, 27 Aug 2021 23:10:29 +0000
Received: by outflank-mailman (input) for mailman id 174032;
 Fri, 27 Aug 2021 23:10:27 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CT99=NS=kernel.org=sstabellini@srs-us1.protection.inumbo.net>)
 id 1mJkzT-00025S-Ly
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 23:10:27 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id f673ddaa-078b-11ec-ab1d-12813bfff9fa;
 Fri, 27 Aug 2021 23:10:26 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id 2F8C660EE9;
 Fri, 27 Aug 2021 23:10:25 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f673ddaa-078b-11ec-ab1d-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1630105825;
	bh=qBIzVCXW6dE91JPiI96+7v9J4d5Jr0TmiZgo6hbNdrg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=qOClHbv066amRY7T5rmGAwDkj1jwEfjh5hoUiP02knjH4Uyw3yh4p8TUe3wV9obrf
	 D8msJkOPrV6B79RxEnCkq06NxQqXq8WF60CCtICTFQtw8EH+qKZD0CUFo+4fxhqO9E
	 ceKxXw0JzwkBCgK+QjEno1/xRCGBvaz1RZPRi03UWBX15/Mg5Ve5WTLJOpcEmCiCTJ
	 LEPgs0vh+lPC/a6Fon18vWuwvClhcJiWUD4iFud/rw9xTh4moIm/L4Q9rKhWUTKiRu
	 W3u3HZ/D3N0rI3vA4mirmrd3Urc73Wa0mtnzHv4jN9KW2ysYTx/HNk5wEZ/2uEIY4N
	 NeAP38l9LH4fA==
Date: Fri, 27 Aug 2021 16:10:24 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@sstabellini-ThinkPad-T480s
To: Julien Grall <julien@xen.org>
cc: Stefano Stabellini <sstabellini@kernel.org>, Wei Chen <wei.chen@arm.com>, 
    xen-devel@lists.xenproject.org, jbeulich@suse.com, 
    Bertrand.Marquis@arm.com
Subject: Re: [XEN RFC PATCH 18/40] xen/arm: Keep memory nodes in dtb for NUMA
 when boot from EFI
In-Reply-To: <77a7126c-3874-5643-38fc-dba8130826ec@xen.org>
Message-ID: <alpine.DEB.2.21.2108271609480.17851@sstabellini-ThinkPad-T480s>
References: <20210811102423.28908-1-wei.chen@arm.com> <20210811102423.28908-19-wei.chen@arm.com> <alpine.DEB.2.21.2108261622500.24433@sstabellini-ThinkPad-T480s> <77a7126c-3874-5643-38fc-dba8130826ec@xen.org>
User-Agent: Alpine 2.21 (DEB 202 2017-01-01)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 27 Aug 2021, Julien Grall wrote:
> Hi Stefano,
> 
> On 27/08/2021 00:24, Stefano Stabellini wrote:
> > On Wed, 11 Aug 2021, Wei Chen wrote:
> > > EFI can get memory map from EFI system table. But EFI system
> > > table doesn't contain memory NUMA information, EFI depends on
> > > ACPI SRAT or device tree memory node to parse memory blocks'
> > > NUMA mapping.
> > > 
> > > But in current code, when Xen is booting from EFI, it will
> > > delete all memory nodes in device tree. So in UEFI + DTB
> > > boot, we don't have numa-node-id for memory blocks any more.
> > > 
> > > So in this patch, we will keep memory nodes in device tree for
> > > NUMA code to parse memory numa-node-id later.
> > > 
> > > As a side effect, if we still parse boot memory information in
> > > early_scan_node, bootmem.info will calculate memory ranges in
> > > memory nodes twice. So we have to prvent early_scan_node to
> > > parse memory nodes in EFI boot.
> > > 
> > > As EFI APIs only can be used in Arm64, so we introduced a wrapper
> > > in header file to prevent #ifdef CONFIG_ARM_64/32 in code block.
> > > 
> > > Signed-off-by: Wei Chen <wei.chen@arm.com>
> > > ---
> > >   xen/arch/arm/bootfdt.c      |  8 +++++++-
> > >   xen/arch/arm/efi/efi-boot.h | 25 -------------------------
> > >   xen/include/asm-arm/setup.h |  6 ++++++
> > >   3 files changed, 13 insertions(+), 26 deletions(-)
> > > 
> > > diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
> > > index 476e32e0f5..7df149dbca 100644
> > > --- a/xen/arch/arm/bootfdt.c
> > > +++ b/xen/arch/arm/bootfdt.c
> > > @@ -11,6 +11,7 @@
> > >   #include <xen/lib.h>
> > >   #include <xen/kernel.h>
> > >   #include <xen/init.h>
> > > +#include <xen/efi.h>
> > >   #include <xen/device_tree.h>
> > >   #include <xen/libfdt/libfdt.h>
> > >   #include <xen/sort.h>
> > > @@ -335,7 +336,12 @@ static int __init early_scan_node(const void *fdt,
> > >   {
> > >       int rc = 0;
> > >   -    if ( device_tree_node_matches(fdt, node, "memory") )
> > > +    /*
> > > +     * If system boot from EFI, bootinfo.mem has been set by EFI,
> > > +     * so we don't need to parse memory node from DTB.
> > > +     */
> > > +    if ( device_tree_node_matches(fdt, node, "memory") &&
> > > +         !arch_efi_enabled(EFI_BOOT) )
> > >           rc = process_memory_node(fdt, node, name, depth,
> > >                                    address_cells, size_cells,
> > > &bootinfo.mem);
> > >       else if ( depth == 1 && !dt_node_cmp(name, "reserved-memory") )
> > 
> > 
> > If we are going to use the device tree info for the numa nodes (and
> > related memory) does it make sense to still rely on the EFI tables for
> > the memory map?
> 
> Yes. AFAIK, when booting using EFI, the Device-Tree may not contain all the
> reserved regions. Furthermore, we are still too early to know whether we boot
> using ACPI and DT.
> 
> > 
> > I wonder if we should just use device tree for memory and ignore EFI
> > instead. Do you know what Linux does in this regard?
> I looked at Linux when I first reviewed this patch because I was wondering
> what happens if the DT and UEFI map disagrees.
> 
> Linux and Xen are the same after this patch:
>   1) The memory map is coming from UEFI map
>   2) NUMA ID is coming from the DT
> 
> The commit that introduced the change in Linux is:
[...]

Thanks both you and Wei for the investigation :-)


From xen-devel-bounces@lists.xenproject.org Sat Aug 28 00:36:40 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 00:36:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174039.317506 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJmKm-000465-6E; Sat, 28 Aug 2021 00:36:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174039.317506; Sat, 28 Aug 2021 00:36:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJmKm-00045y-2i; Sat, 28 Aug 2021 00:36:32 +0000
Received: by outflank-mailman (input) for mailman id 174039;
 Sat, 28 Aug 2021 00:36:31 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+qPp=NT=flex--seanjc.bounces.google.com=3C4UpYQYKCco8uq3zsw44w1u.s42Du3-tuBu11y898.Du3574zus9.47w@srs-us1.protection.inumbo.net>)
 id 1mJmKl-0003pb-FI
 for xen-devel@lists.xenproject.org; Sat, 28 Aug 2021 00:36:31 +0000
Received: from mail-yb1-xb4a.google.com (unknown [2607:f8b0:4864:20::b4a])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 22165fd5-33a6-4e0e-9ac4-647dc7780d73;
 Sat, 28 Aug 2021 00:36:28 +0000 (UTC)
Received: by mail-yb1-xb4a.google.com with SMTP id
 e137-20020a25698f000000b0059b84c50006so456368ybc.11
 for <xen-devel@lists.xenproject.org>; Fri, 27 Aug 2021 17:36: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: 22165fd5-33a6-4e0e-9ac4-647dc7780d73
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20161025;
        h=reply-to:date:in-reply-to:message-id:mime-version:references
         :subject:from:to:cc;
        bh=F8q52qTonl1WgIN1PG0lAM7qDfA4FG00OZ18YHpgfY0=;
        b=rKb6cxam3N0QSWl05NjiPcqFq7uB1w8asRUlLzt1P8OmdbNPgCxdR8y1I45+etXAlZ
         0RVL63FCf8Ww49CMPik+P9mVseYK41393u4LYlafNyLY3IPgDeFTnY1gY4emJbZm+BPJ
         +SWnaaj/FFKx/zjJGIoBkjo0dC6OLyfJSgixINqsfVC47CtpLnDtfCNytECI3vLT+x1V
         ToLjyGJ/HjVr47VjK4dAorhBp0qtlW6DQWxDJ3YrMKO/yi9UPbfQi+CmEU2M0g9SvoyX
         oanCUklyXb9rt9xfgQwAKtMreuulqqn6OVP3UtgwK2aC8UiJvpY5FUSIFWofRAPdn9kH
         yQCg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:reply-to:date:in-reply-to:message-id
         :mime-version:references:subject:from:to:cc;
        bh=F8q52qTonl1WgIN1PG0lAM7qDfA4FG00OZ18YHpgfY0=;
        b=tJgEXq9uG3DEih4b0xInDECGdaF/Mn3S9d1oJr8CccGlilE9OWxChEePPVqDsAZc/O
         FeyHryp8hRPMWI9bINJm8SJlS9YyauhEaeMN0t7eX/PAQn4ee4d3QEcsSW0dUV7zLdLm
         c9cg8agM7BqXzNgrsuRVh5LaVRwPLYM1no3RwSE9QmPUhCn461bmSTJCp3WzknQCD6dM
         DEksslyVqiwa7n8RseN6PQ6Qu9/Yi/AUmBtpayyaUvRLvp05itZOc11JJm+kISCNJbID
         rYl85tSrJAPis7O61C2Xl70nt5fIYyvqpGuJuDntnKQ150t8NdgVruyhjx5cCtFuQ2sc
         ucqA==
X-Gm-Message-State: AOAM5309tu4eAiDYSIbgsfyeVPVMhE2F5RdyJRrco8xRiOBqksmLur36
	/GXXfx6FXbv0JPL/uCx3RzWX2SCpgn8=
X-Google-Smtp-Source: ABdhPJyqSSFifuN3wpXn7AfwWRiIK9qd/5mSNUdpOo4/WAgd92xLY/ddbhP+qZR6voGTLj2v1wyNcy83s+s=
X-Received: from seanjc798194.pdx.corp.google.com ([2620:15c:90:200:f66c:b851:7e79:7ed4])
 (user=seanjc job=sendgmr) by 2002:a25:d892:: with SMTP id p140mr8889410ybg.406.1630110987803;
 Fri, 27 Aug 2021 17:36:27 -0700 (PDT)
Reply-To: Sean Christopherson <seanjc@google.com>
Date: Fri, 27 Aug 2021 17:35:46 -0700
In-Reply-To: <20210828003558.713983-1-seanjc@google.com>
Message-Id: <20210828003558.713983-2-seanjc@google.com>
Mime-Version: 1.0
References: <20210828003558.713983-1-seanjc@google.com>
X-Mailer: git-send-email 2.33.0.259.gc128427fd7-goog
Subject: [PATCH v2 01/13] perf: Ensure perf_guest_cbs aren't reloaded between
 !NULL check and deref
From: Sean Christopherson <seanjc@google.com>
To: Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>, 
	Catalin Marinas <catalin.marinas@arm.com>, Marc Zyngier <maz@kernel.org>, Guo Ren <guoren@kernel.org>, 
	Nick Hu <nickhu@andestech.com>, Greentime Hu <green.hu@gmail.com>, 
	Vincent Chen <deanbo422@gmail.com>, Paul Walmsley <paul.walmsley@sifive.com>, 
	Palmer Dabbelt <palmer@dabbelt.com>, Albert Ou <aou@eecs.berkeley.edu>, 
	Thomas Gleixner <tglx@linutronix.de>, Borislav Petkov <bp@alien8.de>, x86@kernel.org, 
	Paolo Bonzini <pbonzini@redhat.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Juergen Gross <jgross@suse.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@redhat.com>, 
	Namhyung Kim <namhyung@kernel.org>, James Morse <james.morse@arm.com>, 
	Alexandru Elisei <alexandru.elisei@arm.com>, Suzuki K Poulose <suzuki.poulose@arm.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Sean Christopherson <seanjc@google.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Wanpeng Li <wanpengli@tencent.com>, 
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, linux-perf-users@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, 
	kvmarm@lists.cs.columbia.edu, linux-csky@vger.kernel.org, 
	linux-riscv@lists.infradead.org, kvm@vger.kernel.org, 
	xen-devel@lists.xenproject.org, Artem Kashkanov <artem.kashkanov@intel.com>, 
	Like Xu <like.xu.linux@gmail.com>, Zhu Lingshan <lingshan.zhu@intel.com>
Content-Type: text/plain; charset="UTF-8"

Protect perf_guest_cbs with READ_ONCE/WRITE_ONCE to ensure it's not
reloaded between a !NULL check and a dereference, and wait for all
readers via syncrhonize_rcu() to prevent use-after-free, e.g. if the
callbacks are being unregistered during module unload.  Because the
callbacks are global, it's possible for readers to run in parallel with
an unregister operation.

The bug has escaped notice because all dereferences of perf_guest_cbs
follow the same "perf_guest_cbs && perf_guest_cbs->is_in_guest()" pattern,
and it's extremely unlikely a compiler will reload perf_guest_cbs in this
sequence.  Compilers do reload perf_guest_cbs for future derefs, e.g. for
->is_user_mode(), but the ->is_in_guest() guard all but guarantees the
PMI handler will win the race, e.g. to nullify perf_guest_cbs, KVM has to
completely exit the guest and teardown down all VMs before KVM start its
module unload / unregister sequence.

But with help, unloading kvm_intel can trigger a NULL pointer derference,
e.g. wrapping perf_guest_cbs with READ_ONCE in perf_misc_flags() while
spamming kvm_intel module load/unload leads to:

  BUG: kernel NULL pointer dereference, address: 0000000000000000
  #PF: supervisor read access in kernel mode
  #PF: error_code(0x0000) - not-present page
  PGD 0 P4D 0
  Oops: 0000 [#1] PREEMPT SMP
  CPU: 6 PID: 1825 Comm: stress Not tainted 5.14.0-rc2+ #459
  Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015
  RIP: 0010:perf_misc_flags+0x1c/0x70
  Call Trace:
   perf_prepare_sample+0x53/0x6b0
   perf_event_output_forward+0x67/0x160
   __perf_event_overflow+0x52/0xf0
   handle_pmi_common+0x207/0x300
   intel_pmu_handle_irq+0xcf/0x410
   perf_event_nmi_handler+0x28/0x50
   nmi_handle+0xc7/0x260
   default_do_nmi+0x6b/0x170
   exc_nmi+0x103/0x130
   asm_exc_nmi+0x76/0xbf

Fixes: 39447b386c84 ("perf: Enhance perf to allow for guest statistic collection from host")
Cc: stable@vger.kernel.org
Signed-off-by: Sean Christopherson <seanjc@google.com>
---
 arch/arm/kernel/perf_callchain.c   | 17 +++++++++++------
 arch/arm64/kernel/perf_callchain.c | 18 ++++++++++++------
 arch/csky/kernel/perf_callchain.c  |  6 ++++--
 arch/nds32/kernel/perf_event_cpu.c | 17 +++++++++++------
 arch/riscv/kernel/perf_callchain.c |  7 +++++--
 arch/x86/events/core.c             | 17 +++++++++++------
 arch/x86/events/intel/core.c       |  9 ++++++---
 include/linux/perf_event.h         |  8 ++++++++
 kernel/events/core.c               |  9 +++++++--
 9 files changed, 75 insertions(+), 33 deletions(-)

diff --git a/arch/arm/kernel/perf_callchain.c b/arch/arm/kernel/perf_callchain.c
index 3b69a76d341e..1626dfc6f6ce 100644
--- a/arch/arm/kernel/perf_callchain.c
+++ b/arch/arm/kernel/perf_callchain.c
@@ -62,9 +62,10 @@ user_backtrace(struct frame_tail __user *tail,
 void
 perf_callchain_user(struct perf_callchain_entry_ctx *entry, struct pt_regs *regs)
 {
+	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
 	struct frame_tail __user *tail;
 
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
+	if (guest_cbs && guest_cbs->is_in_guest()) {
 		/* We don't support guest os callchain now */
 		return;
 	}
@@ -98,9 +99,10 @@ callchain_trace(struct stackframe *fr,
 void
 perf_callchain_kernel(struct perf_callchain_entry_ctx *entry, struct pt_regs *regs)
 {
+	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
 	struct stackframe fr;
 
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
+	if (guest_cbs && guest_cbs->is_in_guest()) {
 		/* We don't support guest os callchain now */
 		return;
 	}
@@ -111,18 +113,21 @@ perf_callchain_kernel(struct perf_callchain_entry_ctx *entry, struct pt_regs *re
 
 unsigned long perf_instruction_pointer(struct pt_regs *regs)
 {
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest())
-		return perf_guest_cbs->get_guest_ip();
+	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
+
+	if (guest_cbs && guest_cbs->is_in_guest())
+		return guest_cbs->get_guest_ip();
 
 	return instruction_pointer(regs);
 }
 
 unsigned long perf_misc_flags(struct pt_regs *regs)
 {
+	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
 	int misc = 0;
 
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
-		if (perf_guest_cbs->is_user_mode())
+	if (guest_cbs && guest_cbs->is_in_guest()) {
+		if (guest_cbs->is_user_mode())
 			misc |= PERF_RECORD_MISC_GUEST_USER;
 		else
 			misc |= PERF_RECORD_MISC_GUEST_KERNEL;
diff --git a/arch/arm64/kernel/perf_callchain.c b/arch/arm64/kernel/perf_callchain.c
index 4a72c2727309..86d9f2013172 100644
--- a/arch/arm64/kernel/perf_callchain.c
+++ b/arch/arm64/kernel/perf_callchain.c
@@ -102,7 +102,9 @@ compat_user_backtrace(struct compat_frame_tail __user *tail,
 void perf_callchain_user(struct perf_callchain_entry_ctx *entry,
 			 struct pt_regs *regs)
 {
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
+	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
+
+	if (guest_cbs && guest_cbs->is_in_guest()) {
 		/* We don't support guest os callchain now */
 		return;
 	}
@@ -147,9 +149,10 @@ static bool callchain_trace(void *data, unsigned long pc)
 void perf_callchain_kernel(struct perf_callchain_entry_ctx *entry,
 			   struct pt_regs *regs)
 {
+	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
 	struct stackframe frame;
 
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
+	if (guest_cbs && guest_cbs->is_in_guest()) {
 		/* We don't support guest os callchain now */
 		return;
 	}
@@ -160,18 +163,21 @@ void perf_callchain_kernel(struct perf_callchain_entry_ctx *entry,
 
 unsigned long perf_instruction_pointer(struct pt_regs *regs)
 {
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest())
-		return perf_guest_cbs->get_guest_ip();
+	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
+
+	if (guest_cbs && guest_cbs->is_in_guest())
+		return guest_cbs->get_guest_ip();
 
 	return instruction_pointer(regs);
 }
 
 unsigned long perf_misc_flags(struct pt_regs *regs)
 {
+	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
 	int misc = 0;
 
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
-		if (perf_guest_cbs->is_user_mode())
+	if (guest_cbs && guest_cbs->is_in_guest()) {
+		if (guest_cbs->is_user_mode())
 			misc |= PERF_RECORD_MISC_GUEST_USER;
 		else
 			misc |= PERF_RECORD_MISC_GUEST_KERNEL;
diff --git a/arch/csky/kernel/perf_callchain.c b/arch/csky/kernel/perf_callchain.c
index ab55e98ee8f6..35318a635a5f 100644
--- a/arch/csky/kernel/perf_callchain.c
+++ b/arch/csky/kernel/perf_callchain.c
@@ -86,10 +86,11 @@ static unsigned long user_backtrace(struct perf_callchain_entry_ctx *entry,
 void perf_callchain_user(struct perf_callchain_entry_ctx *entry,
 			 struct pt_regs *regs)
 {
+	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
 	unsigned long fp = 0;
 
 	/* C-SKY does not support virtualization. */
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest())
+	if (guest_cbs && guest_cbs->is_in_guest())
 		return;
 
 	fp = regs->regs[4];
@@ -110,10 +111,11 @@ void perf_callchain_user(struct perf_callchain_entry_ctx *entry,
 void perf_callchain_kernel(struct perf_callchain_entry_ctx *entry,
 			   struct pt_regs *regs)
 {
+	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
 	struct stackframe fr;
 
 	/* C-SKY does not support virtualization. */
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
+	if (guest_cbs && guest_cbs->is_in_guest()) {
 		pr_warn("C-SKY does not support perf in guest mode!");
 		return;
 	}
diff --git a/arch/nds32/kernel/perf_event_cpu.c b/arch/nds32/kernel/perf_event_cpu.c
index 0ce6f9f307e6..f38791960781 100644
--- a/arch/nds32/kernel/perf_event_cpu.c
+++ b/arch/nds32/kernel/perf_event_cpu.c
@@ -1363,6 +1363,7 @@ void
 perf_callchain_user(struct perf_callchain_entry_ctx *entry,
 		    struct pt_regs *regs)
 {
+	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
 	unsigned long fp = 0;
 	unsigned long gp = 0;
 	unsigned long lp = 0;
@@ -1371,7 +1372,7 @@ perf_callchain_user(struct perf_callchain_entry_ctx *entry,
 
 	leaf_fp = 0;
 
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
+	if (guest_cbs && guest_cbs->is_in_guest()) {
 		/* We don't support guest os callchain now */
 		return;
 	}
@@ -1479,9 +1480,10 @@ void
 perf_callchain_kernel(struct perf_callchain_entry_ctx *entry,
 		      struct pt_regs *regs)
 {
+	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
 	struct stackframe fr;
 
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
+	if (guest_cbs && guest_cbs->is_in_guest()) {
 		/* We don't support guest os callchain now */
 		return;
 	}
@@ -1493,20 +1495,23 @@ perf_callchain_kernel(struct perf_callchain_entry_ctx *entry,
 
 unsigned long perf_instruction_pointer(struct pt_regs *regs)
 {
+	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
+
 	/* However, NDS32 does not support virtualization */
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest())
-		return perf_guest_cbs->get_guest_ip();
+	if (guest_cbs && guest_cbs->is_in_guest())
+		return guest_cbs->get_guest_ip();
 
 	return instruction_pointer(regs);
 }
 
 unsigned long perf_misc_flags(struct pt_regs *regs)
 {
+	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
 	int misc = 0;
 
 	/* However, NDS32 does not support virtualization */
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
-		if (perf_guest_cbs->is_user_mode())
+	if (guest_cbs && guest_cbs->is_in_guest()) {
+		if (guest_cbs->is_user_mode())
 			misc |= PERF_RECORD_MISC_GUEST_USER;
 		else
 			misc |= PERF_RECORD_MISC_GUEST_KERNEL;
diff --git a/arch/riscv/kernel/perf_callchain.c b/arch/riscv/kernel/perf_callchain.c
index 0bb1854dce83..8ecfc4c128bc 100644
--- a/arch/riscv/kernel/perf_callchain.c
+++ b/arch/riscv/kernel/perf_callchain.c
@@ -56,10 +56,11 @@ static unsigned long user_backtrace(struct perf_callchain_entry_ctx *entry,
 void perf_callchain_user(struct perf_callchain_entry_ctx *entry,
 			 struct pt_regs *regs)
 {
+	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
 	unsigned long fp = 0;
 
 	/* RISC-V does not support perf in guest mode. */
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest())
+	if (guest_cbs && guest_cbs->is_in_guest())
 		return;
 
 	fp = regs->s0;
@@ -78,8 +79,10 @@ static bool fill_callchain(void *entry, unsigned long pc)
 void perf_callchain_kernel(struct perf_callchain_entry_ctx *entry,
 			   struct pt_regs *regs)
 {
+	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
+
 	/* RISC-V does not support perf in guest mode. */
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
+	if (guest_cbs && guest_cbs->is_in_guest()) {
 		pr_warn("RISC-V does not support perf in guest mode!");
 		return;
 	}
diff --git a/arch/x86/events/core.c b/arch/x86/events/core.c
index 1eb45139fcc6..ffb3e6c0d367 100644
--- a/arch/x86/events/core.c
+++ b/arch/x86/events/core.c
@@ -2761,10 +2761,11 @@ static bool perf_hw_regs(struct pt_regs *regs)
 void
 perf_callchain_kernel(struct perf_callchain_entry_ctx *entry, struct pt_regs *regs)
 {
+	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
 	struct unwind_state state;
 	unsigned long addr;
 
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
+	if (guest_cbs && guest_cbs->is_in_guest()) {
 		/* TODO: We don't support guest os callchain now */
 		return;
 	}
@@ -2864,10 +2865,11 @@ perf_callchain_user32(struct pt_regs *regs, struct perf_callchain_entry_ctx *ent
 void
 perf_callchain_user(struct perf_callchain_entry_ctx *entry, struct pt_regs *regs)
 {
+	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
 	struct stack_frame frame;
 	const struct stack_frame __user *fp;
 
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
+	if (guest_cbs && guest_cbs->is_in_guest()) {
 		/* TODO: We don't support guest os callchain now */
 		return;
 	}
@@ -2944,18 +2946,21 @@ static unsigned long code_segment_base(struct pt_regs *regs)
 
 unsigned long perf_instruction_pointer(struct pt_regs *regs)
 {
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest())
-		return perf_guest_cbs->get_guest_ip();
+	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
+
+	if (guest_cbs && guest_cbs->is_in_guest())
+		return guest_cbs->get_guest_ip();
 
 	return regs->ip + code_segment_base(regs);
 }
 
 unsigned long perf_misc_flags(struct pt_regs *regs)
 {
+	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
 	int misc = 0;
 
-	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
-		if (perf_guest_cbs->is_user_mode())
+	if (guest_cbs && guest_cbs->is_in_guest()) {
+		if (guest_cbs->is_user_mode())
 			misc |= PERF_RECORD_MISC_GUEST_USER;
 		else
 			misc |= PERF_RECORD_MISC_GUEST_KERNEL;
diff --git a/arch/x86/events/intel/core.c b/arch/x86/events/intel/core.c
index fca7a6e2242f..9baa46185d94 100644
--- a/arch/x86/events/intel/core.c
+++ b/arch/x86/events/intel/core.c
@@ -2786,6 +2786,7 @@ static int handle_pmi_common(struct pt_regs *regs, u64 status)
 {
 	struct perf_sample_data data;
 	struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events);
+	struct perf_guest_info_callbacks *guest_cbs;
 	int bit;
 	int handled = 0;
 	u64 intel_ctrl = hybrid(cpuc->pmu, intel_ctrl);
@@ -2852,9 +2853,11 @@ static int handle_pmi_common(struct pt_regs *regs, u64 status)
 	 */
 	if (__test_and_clear_bit(GLOBAL_STATUS_TRACE_TOPAPMI_BIT, (unsigned long *)&status)) {
 		handled++;
-		if (unlikely(perf_guest_cbs && perf_guest_cbs->is_in_guest() &&
-			perf_guest_cbs->handle_intel_pt_intr))
-			perf_guest_cbs->handle_intel_pt_intr();
+
+		guest_cbs = perf_get_guest_cbs();
+		if (unlikely(guest_cbs && guest_cbs->is_in_guest() &&
+			     guest_cbs->handle_intel_pt_intr))
+			guest_cbs->handle_intel_pt_intr();
 		else
 			intel_pt_interrupt();
 	}
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index 2d510ad750ed..6b0405e578c1 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -1237,6 +1237,14 @@ extern void perf_event_bpf_event(struct bpf_prog *prog,
 				 u16 flags);
 
 extern struct perf_guest_info_callbacks *perf_guest_cbs;
+static inline struct perf_guest_info_callbacks *perf_get_guest_cbs(void)
+{
+	/* Reg/unreg perf_guest_cbs waits for readers via synchronize_rcu(). */
+	lockdep_assert_preemption_disabled();
+
+	/* Prevent reloading between a !NULL check and dereferences. */
+	return READ_ONCE(perf_guest_cbs);
+}
 extern int perf_register_guest_info_callbacks(struct perf_guest_info_callbacks *callbacks);
 extern int perf_unregister_guest_info_callbacks(struct perf_guest_info_callbacks *callbacks);
 
diff --git a/kernel/events/core.c b/kernel/events/core.c
index 464917096e73..2126f6327321 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -6491,14 +6491,19 @@ struct perf_guest_info_callbacks *perf_guest_cbs;
 
 int perf_register_guest_info_callbacks(struct perf_guest_info_callbacks *cbs)
 {
-	perf_guest_cbs = cbs;
+	if (WARN_ON_ONCE(perf_guest_cbs))
+		return -EBUSY;
+
+	WRITE_ONCE(perf_guest_cbs, cbs);
+	synchronize_rcu();
 	return 0;
 }
 EXPORT_SYMBOL_GPL(perf_register_guest_info_callbacks);
 
 int perf_unregister_guest_info_callbacks(struct perf_guest_info_callbacks *cbs)
 {
-	perf_guest_cbs = NULL;
+	WRITE_ONCE(perf_guest_cbs, NULL);
+	synchronize_rcu();
 	return 0;
 }
 EXPORT_SYMBOL_GPL(perf_unregister_guest_info_callbacks);
-- 
2.33.0.259.gc128427fd7-goog



From xen-devel-bounces@lists.xenproject.org Sat Aug 28 00:36:40 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 00:36:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174038.317495 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJmKi-0003pq-UO; Sat, 28 Aug 2021 00:36:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174038.317495; Sat, 28 Aug 2021 00:36:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJmKi-0003pj-R1; Sat, 28 Aug 2021 00:36:28 +0000
Received: by outflank-mailman (input) for mailman id 174038;
 Sat, 28 Aug 2021 00:36:26 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2shk=NT=flex--seanjc.bounces.google.com=3CYUpYQYKCcg6so1xqu22uzs.q20Bs1-rs9szzw676.Bs1352xsq7.25u@srs-us1.protection.inumbo.net>)
 id 1mJmKg-0003pb-Rm
 for xen-devel@lists.xenproject.org; Sat, 28 Aug 2021 00:36:26 +0000
Received: from mail-qt1-x849.google.com (unknown [2607:f8b0:4864:20::849])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id f479d730-3649-468b-9304-36bd369216fa;
 Sat, 28 Aug 2021 00:36:25 +0000 (UTC)
Received: by mail-qt1-x849.google.com with SMTP id
 b15-20020a05622a020f00b0029e28300d94so802304qtx.16
 for <xen-devel@lists.xenproject.org>; Fri, 27 Aug 2021 17:36: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: f479d730-3649-468b-9304-36bd369216fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20161025;
        h=reply-to:date:message-id:mime-version:subject:from:to:cc;
        bh=xh3b83AHgc+X5acCCZf2iVRK+ee8SLHX2uHx4t+xrBY=;
        b=FsrBDBj81I24PUYsfqY9aNe2Br6Cge4C10V9fErKyzcL9jN9JzP/kqqqUHGaBFgQcQ
         0U9g5lP31TKw2LT3YjTlFAgoG4AS3SMwwYaB+iZ9VL+rH1PuDacZvkVF5TZDPvt+SCVp
         hoVnB9YrhsLy30buyfkioR3VRr/U9QgKrM+qQnkI0aZ8yrDkdgGSixnrY69JIAMGRumH
         CIa10muamcOBBpjShGeSCvzY0V1rXxFeRJk/BexUgt5cyg06R0PXRjlCeTWZrE9Yduwb
         tvUde2o7UVIgOctvxLjj8VW7xpdvOez/m4ccG77zN+autZ2tCUck8ZbNdlcpaKwRcScv
         Xlrg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:reply-to:date:message-id:mime-version:subject
         :from:to:cc;
        bh=xh3b83AHgc+X5acCCZf2iVRK+ee8SLHX2uHx4t+xrBY=;
        b=RzHpgJk9tO9nuhzHtxmkf1eWQGA2GlLTOqmVoD96Bc8oXYShps4RrE7EG465XlR04r
         31J0clLQWMQg9aqG3SE12cZOS1GPFVVEoS/URBUmaFXgZjA4q3PwQVO817NoZHLG/1SO
         sBSQrfIgYMdWBwifotwhXL8jMrQA0pdh4rR25KUlvkQKJCHYofrVEufta4WHHTW+OGes
         9jFp9o4yA2KLe+FY+NbPtUbJMaSzVIHW+YNVkcxiQ/KyWdb/9Z+xK1ZqZwTnYPZCVozn
         TfFaMcBCOUNkZXaFLRYHPHjUBApIfhYUzLr69yNuuQi5czoFDUcLvQ5F0FopRIUNAw72
         BN3Q==
X-Gm-Message-State: AOAM533fwcQH1aBRlKclWcEb/5KQrOjtekaFYOPjpJ46063kdxlYDlOC
	QADlM9Evetf8J6uyg5keVpgu0sc/Ekw=
X-Google-Smtp-Source: ABdhPJzkOydjwKSx1IUjIGSvBy+QMF11RiN4xe9UgjoUhzwRgFrcyVUOeAZyVTnBYwiNIqVlWoCONvUze1Q=
X-Received: from seanjc798194.pdx.corp.google.com ([2620:15c:90:200:f66c:b851:7e79:7ed4])
 (user=seanjc job=sendgmr) by 2002:a05:6214:10c4:: with SMTP id
 r4mr12642407qvs.58.1630110985252; Fri, 27 Aug 2021 17:36:25 -0700 (PDT)
Reply-To: Sean Christopherson <seanjc@google.com>
Date: Fri, 27 Aug 2021 17:35:45 -0700
Message-Id: <20210828003558.713983-1-seanjc@google.com>
Mime-Version: 1.0
X-Mailer: git-send-email 2.33.0.259.gc128427fd7-goog
Subject: [PATCH v2 00/13] perf: KVM: Fix, optimize, and clean up callbacks
From: Sean Christopherson <seanjc@google.com>
To: Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>, 
	Catalin Marinas <catalin.marinas@arm.com>, Marc Zyngier <maz@kernel.org>, Guo Ren <guoren@kernel.org>, 
	Nick Hu <nickhu@andestech.com>, Greentime Hu <green.hu@gmail.com>, 
	Vincent Chen <deanbo422@gmail.com>, Paul Walmsley <paul.walmsley@sifive.com>, 
	Palmer Dabbelt <palmer@dabbelt.com>, Albert Ou <aou@eecs.berkeley.edu>, 
	Thomas Gleixner <tglx@linutronix.de>, Borislav Petkov <bp@alien8.de>, x86@kernel.org, 
	Paolo Bonzini <pbonzini@redhat.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Juergen Gross <jgross@suse.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@redhat.com>, 
	Namhyung Kim <namhyung@kernel.org>, James Morse <james.morse@arm.com>, 
	Alexandru Elisei <alexandru.elisei@arm.com>, Suzuki K Poulose <suzuki.poulose@arm.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Sean Christopherson <seanjc@google.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Wanpeng Li <wanpengli@tencent.com>, 
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, linux-perf-users@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, 
	kvmarm@lists.cs.columbia.edu, linux-csky@vger.kernel.org, 
	linux-riscv@lists.infradead.org, kvm@vger.kernel.org, 
	xen-devel@lists.xenproject.org, Artem Kashkanov <artem.kashkanov@intel.com>, 
	Like Xu <like.xu.linux@gmail.com>, Zhu Lingshan <lingshan.zhu@intel.com>
Content-Type: text/plain; charset="UTF-8"

This is a combination of ~2 series to fix bugs in the perf+KVM callbacks,
optimize the callbacks by employing static_call, and do a variety of
cleanup in both perf and KVM.

Patch 1 fixes a mostly-theoretical bug where perf can deref a NULL
pointer if KVM unregisters its callbacks while they're being accessed.
In practice, compilers tend to avoid problematic reloads of the pointer
and the PMI handler doesn't lose the race against module unloading,
i.e doesn't hit a use-after-free.

Patches 2 and 3 fix an Intel PT handling bug where KVM incorrectly
eats PT interrupts when PT is supposed to be owned entirely by the host.

Patches 4-7 clean up perf's callback infrastructure and switch to
static_call for arm64 and x86 (the only survivors).

Patches 8-13 clean up related KVM code and unify the arm64/x86 callbacks.

Based on "git://git.kernel.org/pub/scm/virt/kvm/kvm.git queue", commit
680c7e3be6a3 ("KVM: x86: Exit to userspace ...").

v2 (relatively to static_call v10)
  - Split the patch into the semantic change (multiplexed ->state) and
    introduction of static_call.
  - Don't use '0' for "not a guest RIP".
  - Handle unregister path.
  - Drop changes for architectures that can be culled entirely.

v2 (relative to v1)
  - Drop per-cpu approach. [Peter]
  - Fix mostly-theoretical reload and use-after-free with READ_ONCE(),
    WRITE_ONCE(), and synchronize_rcu(). [Peter]
  - Avoid new exports like the plague. [Peter]

v1:
  - https://lkml.kernel.org/r/20210827005718.585190-1-seanjc@google.com

v10 static_call:
  - https://lkml.kernel.org/r/20210806133802.3528-2-lingshan.zhu@intel.com

Like Xu (2):
  perf/core: Rework guest callbacks to prepare for static_call support
  perf/core: Use static_call to optimize perf_guest_info_callbacks

Sean Christopherson (11):
  perf: Ensure perf_guest_cbs aren't reloaded between !NULL check and
    deref
  KVM: x86: Register perf callbacks after calling vendor's
    hardware_setup()
  KVM: x86: Register Processor Trace interrupt hook iff PT enabled in
    guest
  perf: Stop pretending that perf can handle multiple guest callbacks
  perf: Force architectures to opt-in to guest callbacks
  KVM: x86: Drop current_vcpu for kvm_running_vcpu + kvm_arch_vcpu
    variable
  KVM: x86: More precisely identify NMI from guest when handling PMI
  KVM: Move x86's perf guest info callbacks to generic KVM
  KVM: x86: Move Intel Processor Trace interrupt handler to vmx.c
  KVM: arm64: Convert to the generic perf callbacks
  KVM: arm64: Drop perf.c and fold its tiny bits of code into arm.c /
    pmu.c

 arch/arm/kernel/perf_callchain.c   | 28 ++------------
 arch/arm64/Kconfig                 |  1 +
 arch/arm64/include/asm/kvm_host.h  | 13 ++++++-
 arch/arm64/kernel/perf_callchain.c | 28 +++++++++++---
 arch/arm64/kvm/Makefile            |  2 +-
 arch/arm64/kvm/arm.c               | 11 +++++-
 arch/arm64/kvm/perf.c              | 62 ------------------------------
 arch/arm64/kvm/pmu.c               |  8 ++++
 arch/csky/kernel/perf_callchain.c  | 10 -----
 arch/nds32/kernel/perf_event_cpu.c | 29 ++------------
 arch/riscv/kernel/perf_callchain.c | 10 -----
 arch/x86/Kconfig                   |  1 +
 arch/x86/events/core.c             | 36 ++++++++++++++---
 arch/x86/events/intel/core.c       |  7 ++--
 arch/x86/include/asm/kvm_host.h    |  8 +++-
 arch/x86/kvm/pmu.c                 |  2 +-
 arch/x86/kvm/svm/svm.c             |  2 +-
 arch/x86/kvm/vmx/vmx.c             | 25 +++++++++++-
 arch/x86/kvm/x86.c                 | 58 +++++-----------------------
 arch/x86/kvm/x86.h                 | 17 ++++++--
 arch/x86/xen/pmu.c                 | 32 +++++++--------
 include/kvm/arm_pmu.h              |  1 +
 include/linux/kvm_host.h           | 10 +++++
 include/linux/perf_event.h         | 26 ++++++++-----
 init/Kconfig                       |  3 ++
 kernel/events/core.c               | 24 ++++++------
 virt/kvm/kvm_main.c                | 40 +++++++++++++++++++
 27 files changed, 245 insertions(+), 249 deletions(-)
 delete mode 100644 arch/arm64/kvm/perf.c

-- 
2.33.0.259.gc128427fd7-goog



From xen-devel-bounces@lists.xenproject.org Sat Aug 28 00:36:40 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 00:36:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174040.317517 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJmKr-0004Pe-Je; Sat, 28 Aug 2021 00:36:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174040.317517; Sat, 28 Aug 2021 00:36:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJmKr-0004PT-Ge; Sat, 28 Aug 2021 00:36:37 +0000
Received: by outflank-mailman (input) for mailman id 174040;
 Sat, 28 Aug 2021 00:36:36 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2oCF=NT=flex--seanjc.bounces.google.com=3DoUpYQYKCc0Bxt62vz77z4x.v75Gx6-wxEx441BCB.Gx68A72xvC.7Az@srs-us1.protection.inumbo.net>)
 id 1mJmKq-0003pb-FX
 for xen-devel@lists.xenproject.org; Sat, 28 Aug 2021 00:36:36 +0000
Received: from mail-yb1-xb4a.google.com (unknown [2607:f8b0:4864:20::b4a])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 88b6df9a-5482-49d4-a7b3-998421a30b87;
 Sat, 28 Aug 2021 00:36:30 +0000 (UTC)
Received: by mail-yb1-xb4a.google.com with SMTP id
 m66-20020a257145000000b00598282d96ceso8297289ybc.3
 for <xen-devel@lists.xenproject.org>; Fri, 27 Aug 2021 17:36: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: 88b6df9a-5482-49d4-a7b3-998421a30b87
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20161025;
        h=reply-to:date:in-reply-to:message-id:mime-version:references
         :subject:from:to:cc;
        bh=J1gV9tKuEUW347bCpCRKYVIA3sPFQNKnByLeTysAe1c=;
        b=QQC9kCQqRwL40ouGUsJ6vhRZON2TPobzHX8Wq8NP7Mf7/RKw30MhddUWUdztQM8ka7
         Ewe++e/HjV2jGw30ZO9LaCG2WpwNsAvCft0FNwp9j2VxNuY0jXVJogAA4hui8IIZ1qr9
         T7Ay+2a4aRkadNU1ca0JCC87XvjH4ea9fD4ReM/qOgy67MxneR4EHRBEt1lUd0VOX2+/
         aMIald+U354j6b4DBU7OSxpd/vJmRGaMfQXYZFeXtKK7qkfMyGqETcknapO+6PjS0TvX
         f2FLBBpeqGMiBMtBIznPS2E0O9iUn3iZeMA1csLuIwLQaPaZSBmpT2biwVLtTLrwW9db
         1vRg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:reply-to:date:in-reply-to:message-id
         :mime-version:references:subject:from:to:cc;
        bh=J1gV9tKuEUW347bCpCRKYVIA3sPFQNKnByLeTysAe1c=;
        b=k8D9yTt93DPqiJMZCwqLNtCqg/ofvhUT3WwB9pYK83JzXkg8xZ1fD85FZEHbTYL0GB
         TbDx02V2ixZ/XtwN3geatjINpDN87FDGbQuVE0x5z3dVnEkOfje6jmCw5TosH9d7KVnW
         SebNvQ4BhAD4Dad6CmM2BwSnK/WfOELBHwTd3gEerNl66RlfCO5TqobcQe94H1NHuLBE
         ZiY4ROhKRY1VYZLZ9XF+Fr00GOxfVnwEoUpY2REE1yqteqJZx0MVWHrSzAAImSeiPJm2
         PP72gM60jD+OIixa/hjYrE8L/6uSK4vwmBoNq/ZSgZOUD7saDw5DQ0vNi5QadhWk0TeQ
         l6pg==
X-Gm-Message-State: AOAM532P7dy/LoR5xJHRo4G3R+1RU9JTJb6yDmgA/LiUdqoofT5yatvu
	YwqXOCI6E06egwuCQWID0WsY1CEh8Ng=
X-Google-Smtp-Source: ABdhPJycwxh1le3BAg4292rl1ZqiFoDJidbv03xd08RKtKGj0W0JQHpqPcTgq5axIHXDILJ1EM67ZM2iLac=
X-Received: from seanjc798194.pdx.corp.google.com ([2620:15c:90:200:f66c:b851:7e79:7ed4])
 (user=seanjc job=sendgmr) by 2002:a25:d307:: with SMTP id e7mr8478177ybf.119.1630110990084;
 Fri, 27 Aug 2021 17:36:30 -0700 (PDT)
Reply-To: Sean Christopherson <seanjc@google.com>
Date: Fri, 27 Aug 2021 17:35:47 -0700
In-Reply-To: <20210828003558.713983-1-seanjc@google.com>
Message-Id: <20210828003558.713983-3-seanjc@google.com>
Mime-Version: 1.0
References: <20210828003558.713983-1-seanjc@google.com>
X-Mailer: git-send-email 2.33.0.259.gc128427fd7-goog
Subject: [PATCH v2 02/13] KVM: x86: Register perf callbacks after calling
 vendor's hardware_setup()
From: Sean Christopherson <seanjc@google.com>
To: Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>, 
	Catalin Marinas <catalin.marinas@arm.com>, Marc Zyngier <maz@kernel.org>, Guo Ren <guoren@kernel.org>, 
	Nick Hu <nickhu@andestech.com>, Greentime Hu <green.hu@gmail.com>, 
	Vincent Chen <deanbo422@gmail.com>, Paul Walmsley <paul.walmsley@sifive.com>, 
	Palmer Dabbelt <palmer@dabbelt.com>, Albert Ou <aou@eecs.berkeley.edu>, 
	Thomas Gleixner <tglx@linutronix.de>, Borislav Petkov <bp@alien8.de>, x86@kernel.org, 
	Paolo Bonzini <pbonzini@redhat.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Juergen Gross <jgross@suse.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@redhat.com>, 
	Namhyung Kim <namhyung@kernel.org>, James Morse <james.morse@arm.com>, 
	Alexandru Elisei <alexandru.elisei@arm.com>, Suzuki K Poulose <suzuki.poulose@arm.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Sean Christopherson <seanjc@google.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Wanpeng Li <wanpengli@tencent.com>, 
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, linux-perf-users@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, 
	kvmarm@lists.cs.columbia.edu, linux-csky@vger.kernel.org, 
	linux-riscv@lists.infradead.org, kvm@vger.kernel.org, 
	xen-devel@lists.xenproject.org, Artem Kashkanov <artem.kashkanov@intel.com>, 
	Like Xu <like.xu.linux@gmail.com>, Zhu Lingshan <lingshan.zhu@intel.com>
Content-Type: text/plain; charset="UTF-8"

Wait to register perf callbacks until after doing vendor hardaware setup.
VMX's hardware_setup() configures Intel Processor Trace (PT) mode, and a
future fix to register the Intel PT guest interrupt hook if and only if
Intel PT is exposed to the guest will consume the configured PT mode.

Delaying registration to hardware setup is effectively a nop as KVM's perf
hooks all pivot on the per-CPU current_vcpu, which is non-NULL only when
KVM is handling an IRQ/NMI in a VM-Exit path.  I.e. current_vcpu will be
NULL throughout both kvm_arch_init() and kvm_arch_hardware_setup().

Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Artem Kashkanov <artem.kashkanov@intel.com>
Cc: stable@vger.kernel.org
Signed-off-by: Sean Christopherson <seanjc@google.com>
---
 arch/x86/kvm/x86.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 86539c1686fa..fb6015f97f9e 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -8426,8 +8426,6 @@ int kvm_arch_init(void *opaque)
 
 	kvm_timer_init();
 
-	perf_register_guest_info_callbacks(&kvm_guest_cbs);
-
 	if (boot_cpu_has(X86_FEATURE_XSAVE)) {
 		host_xcr0 = xgetbv(XCR_XFEATURE_ENABLED_MASK);
 		supported_xcr0 = host_xcr0 & KVM_SUPPORTED_XCR0;
@@ -8461,7 +8459,6 @@ void kvm_arch_exit(void)
 		clear_hv_tscchange_cb();
 #endif
 	kvm_lapic_exit();
-	perf_unregister_guest_info_callbacks(&kvm_guest_cbs);
 
 	if (!boot_cpu_has(X86_FEATURE_CONSTANT_TSC))
 		cpufreq_unregister_notifier(&kvmclock_cpufreq_notifier_block,
@@ -11064,6 +11061,8 @@ int kvm_arch_hardware_setup(void *opaque)
 	memcpy(&kvm_x86_ops, ops->runtime_ops, sizeof(kvm_x86_ops));
 	kvm_ops_static_call_update();
 
+	perf_register_guest_info_callbacks(&kvm_guest_cbs);
+
 	if (!kvm_cpu_cap_has(X86_FEATURE_XSAVES))
 		supported_xss = 0;
 
@@ -11091,6 +11090,8 @@ int kvm_arch_hardware_setup(void *opaque)
 
 void kvm_arch_hardware_unsetup(void)
 {
+	perf_unregister_guest_info_callbacks(&kvm_guest_cbs);
+
 	static_call(kvm_x86_hardware_unsetup)();
 }
 
-- 
2.33.0.259.gc128427fd7-goog



From xen-devel-bounces@lists.xenproject.org Sat Aug 28 00:36:43 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 00:36:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174041.317527 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJmKw-0004nz-Uz; Sat, 28 Aug 2021 00:36:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174041.317527; Sat, 28 Aug 2021 00:36:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJmKw-0004nm-R2; Sat, 28 Aug 2021 00:36:42 +0000
Received: by outflank-mailman (input) for mailman id 174041;
 Sat, 28 Aug 2021 00:36:41 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BFq1=NT=flex--seanjc.bounces.google.com=3EIUpYQYKCc8Dzv84x19916z.x97Iz8-yzGz663DED.Iz8AC94zxE.9C1@srs-us1.protection.inumbo.net>)
 id 1mJmKv-0003pb-Fe
 for xen-devel@lists.xenproject.org; Sat, 28 Aug 2021 00:36:41 +0000
Received: from mail-yb1-xb4a.google.com (unknown [2607:f8b0:4864:20::b4a])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id eb25d110-a0ca-4e69-b539-2fe94379a571;
 Sat, 28 Aug 2021 00:36:32 +0000 (UTC)
Received: by mail-yb1-xb4a.google.com with SMTP id
 83-20020a251956000000b0059948f541cbso87386ybz.7
 for <xen-devel@lists.xenproject.org>; Fri, 27 Aug 2021 17:36: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: eb25d110-a0ca-4e69-b539-2fe94379a571
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20161025;
        h=reply-to:date:in-reply-to:message-id:mime-version:references
         :subject:from:to:cc;
        bh=oqmEir0ICv/3G92ai+heTZuDyr/2G3d8WRYAGw86atk=;
        b=PcPAOihT8OlOhhUR4O32+YWwPzAPmLXJ1HEV+moJpFC1Qy84KcVrj+ajHpTlQK+a3F
         iyxUIoBJmALw6qqcNEgkIBWBH6GlQPAe+u7xlbyeAychGYyySNpy/bvcaaDuenDkzBb1
         Tjlhu6cHuXug1LfrtevGrfztVaOuMtHQ1BbUdWdKfT8tes9/0JNecwDm/BWfVrT79Qhh
         U/SjMl4oOYlt5v38Pnm8Mc6W1SnA5LO9EWqHnie5e5sXhbuMbSanMYmcJC2M9uljBuiN
         FTc3AiajdilK67F7Z2gaOx4+/6EEfK+b8GQmcjFFKC29NzjAngrdpD9yW51Odds/BoDr
         blsQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:reply-to:date:in-reply-to:message-id
         :mime-version:references:subject:from:to:cc;
        bh=oqmEir0ICv/3G92ai+heTZuDyr/2G3d8WRYAGw86atk=;
        b=MxJT6z/0E1i9b4Kcfo08TKEXyxsWKQi1NryNsHPilJeMLJgZx/j51BefBEPxX+eBPh
         YCiROTJ0tWZYIUmyNYDpVBWKGy0YGBdVSTBI0uf+a/+h6UZhRHCTQlsPTgxjwHcqcNJQ
         QSlN7P6I85U8UOvl85rrpD6iyydUXcQdzTJemvXiHeb+SzkPxaJTW71XlQVaZOHJk3ss
         +hiwtU56inUfZonth5itjFXQUZZuSk2Qwr8J0uvJ1n1xSZYP1gr4nBxhP/HnmjBkq8Dm
         JQ+KI4I/ZGah32rAgK66EihJzJateeBCOK5G339Qi/r4AX5ylQkJ1kjiDk8YLOam8H1w
         jXjA==
X-Gm-Message-State: AOAM531Px1aAjQrSpEENJWV9DCnfVM9tR1HFYE/yWWiyx3kCRJYOBv/v
	PzJss0C9f3gdrtm0q86wSRhBcYamm9c=
X-Google-Smtp-Source: ABdhPJyTmAQoKJ2tjPvfJaPWBN34/RS1O5zwXSkZLsm9h521rPpR1j//umIRZ/UqerB16AfCO1AGIAPsHvE=
X-Received: from seanjc798194.pdx.corp.google.com ([2620:15c:90:200:f66c:b851:7e79:7ed4])
 (user=seanjc job=sendgmr) by 2002:a25:4545:: with SMTP id s66mr8318615yba.191.1630110992229;
 Fri, 27 Aug 2021 17:36:32 -0700 (PDT)
Reply-To: Sean Christopherson <seanjc@google.com>
Date: Fri, 27 Aug 2021 17:35:48 -0700
In-Reply-To: <20210828003558.713983-1-seanjc@google.com>
Message-Id: <20210828003558.713983-4-seanjc@google.com>
Mime-Version: 1.0
References: <20210828003558.713983-1-seanjc@google.com>
X-Mailer: git-send-email 2.33.0.259.gc128427fd7-goog
Subject: [PATCH v2 03/13] KVM: x86: Register Processor Trace interrupt hook
 iff PT enabled in guest
From: Sean Christopherson <seanjc@google.com>
To: Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>, 
	Catalin Marinas <catalin.marinas@arm.com>, Marc Zyngier <maz@kernel.org>, Guo Ren <guoren@kernel.org>, 
	Nick Hu <nickhu@andestech.com>, Greentime Hu <green.hu@gmail.com>, 
	Vincent Chen <deanbo422@gmail.com>, Paul Walmsley <paul.walmsley@sifive.com>, 
	Palmer Dabbelt <palmer@dabbelt.com>, Albert Ou <aou@eecs.berkeley.edu>, 
	Thomas Gleixner <tglx@linutronix.de>, Borislav Petkov <bp@alien8.de>, x86@kernel.org, 
	Paolo Bonzini <pbonzini@redhat.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Juergen Gross <jgross@suse.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@redhat.com>, 
	Namhyung Kim <namhyung@kernel.org>, James Morse <james.morse@arm.com>, 
	Alexandru Elisei <alexandru.elisei@arm.com>, Suzuki K Poulose <suzuki.poulose@arm.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Sean Christopherson <seanjc@google.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Wanpeng Li <wanpengli@tencent.com>, 
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, linux-perf-users@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, 
	kvmarm@lists.cs.columbia.edu, linux-csky@vger.kernel.org, 
	linux-riscv@lists.infradead.org, kvm@vger.kernel.org, 
	xen-devel@lists.xenproject.org, Artem Kashkanov <artem.kashkanov@intel.com>, 
	Like Xu <like.xu.linux@gmail.com>, Zhu Lingshan <lingshan.zhu@intel.com>
Content-Type: text/plain; charset="UTF-8"

Override the Processor Trace (PT) interrupt handler for guest mode if and
only if PT is configured for host+guest mode, i.e. is being used
independently by both host and guest.  If PT is configured for system
mode, the host fully controls PT and must handle all events.

Fixes: 8479e04e7d6b ("KVM: x86: Inject PMI for KVM guest")
Cc: stable@vger.kernel.org
Cc: Like Xu <like.xu.linux@gmail.com>
Reported-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Reported-by: Artem Kashkanov <artem.kashkanov@intel.com>
Signed-off-by: Sean Christopherson <seanjc@google.com>
---
 arch/x86/include/asm/kvm_host.h | 1 +
 arch/x86/kvm/vmx/vmx.c          | 1 +
 arch/x86/kvm/x86.c              | 5 ++++-
 3 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
index 09b256db394a..1ea4943a73d7 100644
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -1494,6 +1494,7 @@ struct kvm_x86_init_ops {
 	int (*disabled_by_bios)(void);
 	int (*check_processor_compatibility)(void);
 	int (*hardware_setup)(void);
+	bool (*intel_pt_intr_in_guest)(void);
 
 	struct kvm_x86_ops *runtime_ops;
 };
diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
index fada1055f325..f19d72136f77 100644
--- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c
@@ -7896,6 +7896,7 @@ static struct kvm_x86_init_ops vmx_init_ops __initdata = {
 	.disabled_by_bios = vmx_disabled_by_bios,
 	.check_processor_compatibility = vmx_check_processor_compat,
 	.hardware_setup = hardware_setup,
+	.intel_pt_intr_in_guest = vmx_pt_mode_is_host_guest,
 
 	.runtime_ops = &vmx_x86_ops,
 };
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index fb6015f97f9e..ffc6c2d73508 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -8305,7 +8305,7 @@ static struct perf_guest_info_callbacks kvm_guest_cbs = {
 	.is_in_guest		= kvm_is_in_guest,
 	.is_user_mode		= kvm_is_user_mode,
 	.get_guest_ip		= kvm_get_guest_ip,
-	.handle_intel_pt_intr	= kvm_handle_intel_pt_intr,
+	.handle_intel_pt_intr	= NULL,
 };
 
 #ifdef CONFIG_X86_64
@@ -11061,6 +11061,8 @@ int kvm_arch_hardware_setup(void *opaque)
 	memcpy(&kvm_x86_ops, ops->runtime_ops, sizeof(kvm_x86_ops));
 	kvm_ops_static_call_update();
 
+	if (ops->intel_pt_intr_in_guest && ops->intel_pt_intr_in_guest())
+		kvm_guest_cbs.handle_intel_pt_intr = kvm_handle_intel_pt_intr;
 	perf_register_guest_info_callbacks(&kvm_guest_cbs);
 
 	if (!kvm_cpu_cap_has(X86_FEATURE_XSAVES))
@@ -11091,6 +11093,7 @@ int kvm_arch_hardware_setup(void *opaque)
 void kvm_arch_hardware_unsetup(void)
 {
 	perf_unregister_guest_info_callbacks(&kvm_guest_cbs);
+	kvm_guest_cbs.handle_intel_pt_intr = NULL;
 
 	static_call(kvm_x86_hardware_unsetup)();
 }
-- 
2.33.0.259.gc128427fd7-goog



From xen-devel-bounces@lists.xenproject.org Sat Aug 28 00:36:47 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 00:36:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174042.317539 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJmL1-0005CN-AK; Sat, 28 Aug 2021 00:36:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174042.317539; Sat, 28 Aug 2021 00: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 1mJmL1-0005CG-5j; Sat, 28 Aug 2021 00:36:47 +0000
Received: by outflank-mailman (input) for mailman id 174042;
 Sat, 28 Aug 2021 00:36:46 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZcDt=NT=flex--seanjc.bounces.google.com=3EoUpYQYKCdEF1xA6z3BB381.zB9K1A-01I1885FGF.K1ACEB61zG.BE3@srs-us1.protection.inumbo.net>)
 id 1mJmL0-0003pb-Fq
 for xen-devel@lists.xenproject.org; Sat, 28 Aug 2021 00:36:46 +0000
Received: from mail-yb1-xb4a.google.com (unknown [2607:f8b0:4864:20::b4a])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 94b81192-71cf-4eed-a225-1c8fcfa64295;
 Sat, 28 Aug 2021 00:36:35 +0000 (UTC)
Received: by mail-yb1-xb4a.google.com with SMTP id
 q80-20020a25d953000000b0059a45a5f834so8330542ybg.22
 for <xen-devel@lists.xenproject.org>; Fri, 27 Aug 2021 17:36: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: 94b81192-71cf-4eed-a225-1c8fcfa64295
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20161025;
        h=reply-to:date:in-reply-to:message-id:mime-version:references
         :subject:from:to:cc;
        bh=l+qrTcHHbVOVfx3csFqTQJW+sIvVNtSUAKnqiNDseGU=;
        b=YeIUfDPPv26/qQ9C6zbTR90RkfDch9YFOKAlHKUjSEVddL4Hpoya9tjkJY3A1wbIBn
         QolRIg0F84AYiP8jYQF3PWlN+ULQv1tmI4e/BbUmbvQ35zPcx2ZQSqLKQ5AVao+1UhgO
         fkWFWktVzgenJwImxC38FiwFCxzMEKkS1qQUUdmj1KFZcMw9Lyq83HZeYJH/euP/cfqF
         3aiAClPO6WWDoE2XklbezJvqEtsZgyUPgX+DMcdLAHn5l7sHl4CT18xkeTalHsiGr3MZ
         YjN79LXtHsUEDIVLT82BEQrYcZmX8jMYXoxZPFQJObu1cRhSKHjBMlVs35/os2e+0Sxl
         Ec7w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:reply-to:date:in-reply-to:message-id
         :mime-version:references:subject:from:to:cc;
        bh=l+qrTcHHbVOVfx3csFqTQJW+sIvVNtSUAKnqiNDseGU=;
        b=FadraA6fQQ7E4pnke6eG5diGfG6ShMjYSKB6dPDhyYHAhLRb1rJBDzYynlsH72M22s
         A0/HHKK7114Yt4ZJYgzyK9moW+J++tFCNg0dHZMfAw0B/7+639coq6CDi/+l9AGtmZs4
         9OX0+jPxIftYcPfaT5maX+lZA3DcemHHd6h5kCTb+hM0iPUCxqHpLN5Bx1xT0LVKwnaD
         j4ZODp9r9Fy1VMsG/+D8CvGhjP5NPrq3DPeu05MJnBeg9zXugphCo/HBbdyByyob/YwC
         9sH/sRSCJl99PYnF+PO9sN0oxDGczts2MmrDpPvXMHvZbmx7dBtnSYNASv4Csen4dnhs
         QTwA==
X-Gm-Message-State: AOAM531FeAd6ywjzPKu7fes/PfTIqZ5LI+IuZowuf7J7NNVevBWXZDmv
	ngwsT2qQM7PpOZ2/Wd/NkULzBCOPv0M=
X-Google-Smtp-Source: ABdhPJx5idLVf7lCndwsU5Ce4jbb5QTi9k0wtLEJzPA1boh4/EA6RmmuRvKiVHeqlDtlM2jyABObo3ywihc=
X-Received: from seanjc798194.pdx.corp.google.com ([2620:15c:90:200:f66c:b851:7e79:7ed4])
 (user=seanjc job=sendgmr) by 2002:a25:7cc3:: with SMTP id x186mr8484190ybc.227.1630110994660;
 Fri, 27 Aug 2021 17:36:34 -0700 (PDT)
Reply-To: Sean Christopherson <seanjc@google.com>
Date: Fri, 27 Aug 2021 17:35:49 -0700
In-Reply-To: <20210828003558.713983-1-seanjc@google.com>
Message-Id: <20210828003558.713983-5-seanjc@google.com>
Mime-Version: 1.0
References: <20210828003558.713983-1-seanjc@google.com>
X-Mailer: git-send-email 2.33.0.259.gc128427fd7-goog
Subject: [PATCH v2 04/13] perf: Stop pretending that perf can handle multiple
 guest callbacks
From: Sean Christopherson <seanjc@google.com>
To: Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>, 
	Catalin Marinas <catalin.marinas@arm.com>, Marc Zyngier <maz@kernel.org>, Guo Ren <guoren@kernel.org>, 
	Nick Hu <nickhu@andestech.com>, Greentime Hu <green.hu@gmail.com>, 
	Vincent Chen <deanbo422@gmail.com>, Paul Walmsley <paul.walmsley@sifive.com>, 
	Palmer Dabbelt <palmer@dabbelt.com>, Albert Ou <aou@eecs.berkeley.edu>, 
	Thomas Gleixner <tglx@linutronix.de>, Borislav Petkov <bp@alien8.de>, x86@kernel.org, 
	Paolo Bonzini <pbonzini@redhat.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Juergen Gross <jgross@suse.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@redhat.com>, 
	Namhyung Kim <namhyung@kernel.org>, James Morse <james.morse@arm.com>, 
	Alexandru Elisei <alexandru.elisei@arm.com>, Suzuki K Poulose <suzuki.poulose@arm.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Sean Christopherson <seanjc@google.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Wanpeng Li <wanpengli@tencent.com>, 
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, linux-perf-users@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, 
	kvmarm@lists.cs.columbia.edu, linux-csky@vger.kernel.org, 
	linux-riscv@lists.infradead.org, kvm@vger.kernel.org, 
	xen-devel@lists.xenproject.org, Artem Kashkanov <artem.kashkanov@intel.com>, 
	Like Xu <like.xu.linux@gmail.com>, Zhu Lingshan <lingshan.zhu@intel.com>
Content-Type: text/plain; charset="UTF-8"

Drop the 'int' return value from the perf (un)register callbacks helpers
and stop pretending perf can support multiple callbacks.  The 'int'
returns are not future proofing anything as none of the callers take
action on an error.  It's also not obvious that there will ever be
co-tenant hypervisors, and if there are, that allowing multiple callbacks
to be registered is desirable or even correct.

No functional change intended.

Signed-off-by: Sean Christopherson <seanjc@google.com>
---
 arch/arm64/include/asm/kvm_host.h |  4 ++--
 arch/arm64/kvm/perf.c             |  8 ++++----
 arch/x86/kvm/x86.c                |  2 +-
 include/linux/perf_event.h        | 11 +++++------
 kernel/events/core.c              | 14 +++-----------
 5 files changed, 15 insertions(+), 24 deletions(-)

diff --git a/arch/arm64/include/asm/kvm_host.h b/arch/arm64/include/asm/kvm_host.h
index 41911585ae0c..ed940aec89e0 100644
--- a/arch/arm64/include/asm/kvm_host.h
+++ b/arch/arm64/include/asm/kvm_host.h
@@ -670,8 +670,8 @@ unsigned long kvm_mmio_read_buf(const void *buf, unsigned int len);
 int kvm_handle_mmio_return(struct kvm_vcpu *vcpu);
 int io_mem_abort(struct kvm_vcpu *vcpu, phys_addr_t fault_ipa);
 
-int kvm_perf_init(void);
-int kvm_perf_teardown(void);
+void kvm_perf_init(void);
+void kvm_perf_teardown(void);
 
 long kvm_hypercall_pv_features(struct kvm_vcpu *vcpu);
 gpa_t kvm_init_stolen_time(struct kvm_vcpu *vcpu);
diff --git a/arch/arm64/kvm/perf.c b/arch/arm64/kvm/perf.c
index 151c31fb9860..039fe59399a2 100644
--- a/arch/arm64/kvm/perf.c
+++ b/arch/arm64/kvm/perf.c
@@ -48,15 +48,15 @@ static struct perf_guest_info_callbacks kvm_guest_cbs = {
 	.get_guest_ip	= kvm_get_guest_ip,
 };
 
-int kvm_perf_init(void)
+void kvm_perf_init(void)
 {
 	if (kvm_pmu_probe_pmuver() != 0xf && !is_protected_kvm_enabled())
 		static_branch_enable(&kvm_arm_pmu_available);
 
-	return perf_register_guest_info_callbacks(&kvm_guest_cbs);
+	perf_register_guest_info_callbacks(&kvm_guest_cbs);
 }
 
-int kvm_perf_teardown(void)
+void kvm_perf_teardown(void)
 {
-	return perf_unregister_guest_info_callbacks(&kvm_guest_cbs);
+	perf_unregister_guest_info_callbacks();
 }
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index ffc6c2d73508..bae951344e28 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -11092,7 +11092,7 @@ int kvm_arch_hardware_setup(void *opaque)
 
 void kvm_arch_hardware_unsetup(void)
 {
-	perf_unregister_guest_info_callbacks(&kvm_guest_cbs);
+	perf_unregister_guest_info_callbacks();
 	kvm_guest_cbs.handle_intel_pt_intr = NULL;
 
 	static_call(kvm_x86_hardware_unsetup)();
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index 6b0405e578c1..2b77e2154b61 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -1245,8 +1245,8 @@ static inline struct perf_guest_info_callbacks *perf_get_guest_cbs(void)
 	/* Prevent reloading between a !NULL check and dereferences. */
 	return READ_ONCE(perf_guest_cbs);
 }
-extern int perf_register_guest_info_callbacks(struct perf_guest_info_callbacks *callbacks);
-extern int perf_unregister_guest_info_callbacks(struct perf_guest_info_callbacks *callbacks);
+extern void perf_register_guest_info_callbacks(struct perf_guest_info_callbacks *callbacks);
+extern void perf_unregister_guest_info_callbacks(void);
 
 extern void perf_event_exec(void);
 extern void perf_event_comm(struct task_struct *tsk, bool exec);
@@ -1489,10 +1489,9 @@ perf_sw_event(u32 event_id, u64 nr, struct pt_regs *regs, u64 addr)	{ }
 static inline void
 perf_bp_event(struct perf_event *event, void *data)			{ }
 
-static inline int perf_register_guest_info_callbacks
-(struct perf_guest_info_callbacks *callbacks)				{ return 0; }
-static inline int perf_unregister_guest_info_callbacks
-(struct perf_guest_info_callbacks *callbacks)				{ return 0; }
+static inline void perf_register_guest_info_callbacks
+(struct perf_guest_info_callbacks *callbacks)				{ }
+static inline void perf_unregister_guest_info_callbacks(void)		{ }
 
 static inline void perf_event_mmap(struct vm_area_struct *vma)		{ }
 
diff --git a/kernel/events/core.c b/kernel/events/core.c
index 2126f6327321..1be95d9ace46 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -6482,29 +6482,21 @@ static void perf_pending_event(struct irq_work *entry)
 		perf_swevent_put_recursion_context(rctx);
 }
 
-/*
- * We assume there is only KVM supporting the callbacks.
- * Later on, we might change it to a list if there is
- * another virtualization implementation supporting the callbacks.
- */
 struct perf_guest_info_callbacks *perf_guest_cbs;
-
-int perf_register_guest_info_callbacks(struct perf_guest_info_callbacks *cbs)
+void perf_register_guest_info_callbacks(struct perf_guest_info_callbacks *cbs)
 {
 	if (WARN_ON_ONCE(perf_guest_cbs))
-		return -EBUSY;
+		return;
 
 	WRITE_ONCE(perf_guest_cbs, cbs);
 	synchronize_rcu();
-	return 0;
 }
 EXPORT_SYMBOL_GPL(perf_register_guest_info_callbacks);
 
-int perf_unregister_guest_info_callbacks(struct perf_guest_info_callbacks *cbs)
+void perf_unregister_guest_info_callbacks(void)
 {
 	WRITE_ONCE(perf_guest_cbs, NULL);
 	synchronize_rcu();
-	return 0;
 }
 EXPORT_SYMBOL_GPL(perf_unregister_guest_info_callbacks);
 
-- 
2.33.0.259.gc128427fd7-goog



From xen-devel-bounces@lists.xenproject.org Sat Aug 28 00:36:52 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 00:36:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174044.317550 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJmL6-0005qF-KA; Sat, 28 Aug 2021 00:36:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174044.317550; Sat, 28 Aug 2021 00:36:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJmL6-0005p3-Fu; Sat, 28 Aug 2021 00:36:52 +0000
Received: by outflank-mailman (input) for mailman id 174044;
 Sat, 28 Aug 2021 00:36:51 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=t7t6=NT=flex--seanjc.bounces.google.com=3FYUpYQYKCdQI40D926EE6B4.2ECN4D-34L4BB8IJI.N4DFHE942J.EH6@srs-us1.protection.inumbo.net>)
 id 1mJmL5-0003pb-G2
 for xen-devel@lists.xenproject.org; Sat, 28 Aug 2021 00:36:51 +0000
Received: from mail-qv1-xf4a.google.com (unknown [2607:f8b0:4864:20::f4a])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 2b47cd2d-fac9-4f84-bd4d-01b16d200e43;
 Sat, 28 Aug 2021 00:36:37 +0000 (UTC)
Received: by mail-qv1-xf4a.google.com with SMTP id
 gw9-20020a0562140f0900b0035decb1dfecso4472817qvb.5
 for <xen-devel@lists.xenproject.org>; Fri, 27 Aug 2021 17:36: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: 2b47cd2d-fac9-4f84-bd4d-01b16d200e43
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20161025;
        h=reply-to:date:in-reply-to:message-id:mime-version:references
         :subject:from:to:cc;
        bh=KfNIEWB+/soEzHjyrFkspDQOOy4Avf/K1hvEC4YdhO0=;
        b=etOlWN2jXHZScPROjSWHQA1MNEG1/zyCCB37FYjhRMZAupHKwl05Vuz0C7AWyzfha4
         d2CCq9F9mL5lN5ykDeErVjB/ZNBbEiFy8d2kGuqW1+ug/RYcdPXB4sbWTrSfjXO90R4z
         73zXeM2wXaRrf99wFnbbFW707nrO0547RUqb8hl5FW1iu84mA9RxJ1PVbKMclW8cbNS+
         WRreCLkLh5vjw0dtJr9As1V0HfQmGbO3x82w3wplaPA3dNmzXIGJZNO4zpNc6Qil7pKZ
         qM8HyMDmY8Eag7Hk9WOcaSNcFKLIK0Ql4Boc8KUl6REYnjOOtwXg4iC0XEbDCbpOh6EH
         HTWw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:reply-to:date:in-reply-to:message-id
         :mime-version:references:subject:from:to:cc;
        bh=KfNIEWB+/soEzHjyrFkspDQOOy4Avf/K1hvEC4YdhO0=;
        b=mfEvJZT+S/sJPFVxuID0qUJcF86v+YR+NYMCHdMbYvxOL0929R7R4kUkvBKY+K5PCt
         uk9XhxgN8eUmo2jeDGoxbyelaSN9L6DLkc9a6nTN/0/bX6Ak+dk+c/oq1Q0egIwtnEhH
         Ay31sHAJ+1f44hpYLC2pNpCpZNbZ8xd40FlfJzKzOrRiGXXDOiM53RzNwLEqm2WPqWQU
         uBRSxBxqrS+K7T4QWrlyME7X3CKIHXQVuTBZY4Kf43oO13Wfg7tM6xwObzU5yXqOx/dH
         mAFBYCaWrFIwujQWf2W5yT+dRe1F2w00eICV5b/lrZGOM8gABoc6CtSSnia+S1Wcm9Mr
         RFzg==
X-Gm-Message-State: AOAM531TibuRdwuoqwavvyGWS2gLH7mmdVtXB5ow3mLKXyk0OCNDJLpn
	6EX++AB9PLmYZ2liiMPHrV3ch0KMocU=
X-Google-Smtp-Source: ABdhPJy5x+uxZDfRklRUjRTGMvNBMlTUvIpJQ5+ZJo6EJZI2mP41SXSUQuik9OAwPT5faDa6Pg/AO3ViM5g=
X-Received: from seanjc798194.pdx.corp.google.com ([2620:15c:90:200:f66c:b851:7e79:7ed4])
 (user=seanjc job=sendgmr) by 2002:a05:6214:21cc:: with SMTP id
 d12mr12369768qvh.22.1630110997003; Fri, 27 Aug 2021 17:36:37 -0700 (PDT)
Reply-To: Sean Christopherson <seanjc@google.com>
Date: Fri, 27 Aug 2021 17:35:50 -0700
In-Reply-To: <20210828003558.713983-1-seanjc@google.com>
Message-Id: <20210828003558.713983-6-seanjc@google.com>
Mime-Version: 1.0
References: <20210828003558.713983-1-seanjc@google.com>
X-Mailer: git-send-email 2.33.0.259.gc128427fd7-goog
Subject: [PATCH v2 05/13] perf: Force architectures to opt-in to guest callbacks
From: Sean Christopherson <seanjc@google.com>
To: Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>, 
	Catalin Marinas <catalin.marinas@arm.com>, Marc Zyngier <maz@kernel.org>, Guo Ren <guoren@kernel.org>, 
	Nick Hu <nickhu@andestech.com>, Greentime Hu <green.hu@gmail.com>, 
	Vincent Chen <deanbo422@gmail.com>, Paul Walmsley <paul.walmsley@sifive.com>, 
	Palmer Dabbelt <palmer@dabbelt.com>, Albert Ou <aou@eecs.berkeley.edu>, 
	Thomas Gleixner <tglx@linutronix.de>, Borislav Petkov <bp@alien8.de>, x86@kernel.org, 
	Paolo Bonzini <pbonzini@redhat.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Juergen Gross <jgross@suse.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@redhat.com>, 
	Namhyung Kim <namhyung@kernel.org>, James Morse <james.morse@arm.com>, 
	Alexandru Elisei <alexandru.elisei@arm.com>, Suzuki K Poulose <suzuki.poulose@arm.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Sean Christopherson <seanjc@google.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Wanpeng Li <wanpengli@tencent.com>, 
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, linux-perf-users@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, 
	kvmarm@lists.cs.columbia.edu, linux-csky@vger.kernel.org, 
	linux-riscv@lists.infradead.org, kvm@vger.kernel.org, 
	xen-devel@lists.xenproject.org, Artem Kashkanov <artem.kashkanov@intel.com>, 
	Like Xu <like.xu.linux@gmail.com>, Zhu Lingshan <lingshan.zhu@intel.com>
Content-Type: text/plain; charset="UTF-8"

Introduce HAVE_GUEST_PERF_EVENTS and require architectures to select it
to allow registering guest callbacks in perf.  Future patches will convert
the callbacks to static_call.  Rather than churn a bunch of arch code (that
was presumably copy+pasted from x86), remove it wholesale as it's useless
and at best wasting cycles.

Wrap even the stubs with an #ifdef to avoid an arch sneaking in a bogus
registration with CONFIG_PERF_EVENTS=n.

Signed-off-by: Sean Christopherson <seanjc@google.com>
---
 arch/arm/kernel/perf_callchain.c   | 33 ++++-------------------------
 arch/arm64/Kconfig                 |  1 +
 arch/csky/kernel/perf_callchain.c  | 12 -----------
 arch/nds32/kernel/perf_event_cpu.c | 34 ++++--------------------------
 arch/riscv/kernel/perf_callchain.c | 13 ------------
 arch/x86/Kconfig                   |  1 +
 include/linux/perf_event.h         |  4 ++++
 init/Kconfig                       |  3 +++
 kernel/events/core.c               |  2 ++
 9 files changed, 19 insertions(+), 84 deletions(-)

diff --git a/arch/arm/kernel/perf_callchain.c b/arch/arm/kernel/perf_callchain.c
index 1626dfc6f6ce..bc6b246ab55e 100644
--- a/arch/arm/kernel/perf_callchain.c
+++ b/arch/arm/kernel/perf_callchain.c
@@ -62,14 +62,8 @@ user_backtrace(struct frame_tail __user *tail,
 void
 perf_callchain_user(struct perf_callchain_entry_ctx *entry, struct pt_regs *regs)
 {
-	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
 	struct frame_tail __user *tail;
 
-	if (guest_cbs && guest_cbs->is_in_guest()) {
-		/* We don't support guest os callchain now */
-		return;
-	}
-
 	perf_callchain_store(entry, regs->ARM_pc);
 
 	if (!current->mm)
@@ -99,44 +93,25 @@ callchain_trace(struct stackframe *fr,
 void
 perf_callchain_kernel(struct perf_callchain_entry_ctx *entry, struct pt_regs *regs)
 {
-	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
 	struct stackframe fr;
 
-	if (guest_cbs && guest_cbs->is_in_guest()) {
-		/* We don't support guest os callchain now */
-		return;
-	}
-
 	arm_get_current_stackframe(regs, &fr);
 	walk_stackframe(&fr, callchain_trace, entry);
 }
 
 unsigned long perf_instruction_pointer(struct pt_regs *regs)
 {
-	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
-
-	if (guest_cbs && guest_cbs->is_in_guest())
-		return guest_cbs->get_guest_ip();
-
 	return instruction_pointer(regs);
 }
 
 unsigned long perf_misc_flags(struct pt_regs *regs)
 {
-	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
 	int misc = 0;
 
-	if (guest_cbs && guest_cbs->is_in_guest()) {
-		if (guest_cbs->is_user_mode())
-			misc |= PERF_RECORD_MISC_GUEST_USER;
-		else
-			misc |= PERF_RECORD_MISC_GUEST_KERNEL;
-	} else {
-		if (user_mode(regs))
-			misc |= PERF_RECORD_MISC_USER;
-		else
-			misc |= PERF_RECORD_MISC_KERNEL;
-	}
+	if (user_mode(regs))
+		misc |= PERF_RECORD_MISC_USER;
+	else
+		misc |= PERF_RECORD_MISC_KERNEL;
 
 	return misc;
 }
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index b5b13a932561..72a201a686c5 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -190,6 +190,7 @@ config ARM64
 	select HAVE_NMI
 	select HAVE_PATA_PLATFORM
 	select HAVE_PERF_EVENTS
+	select HAVE_GUEST_PERF_EVENTS
 	select HAVE_PERF_REGS
 	select HAVE_PERF_USER_STACK_DUMP
 	select HAVE_REGS_AND_STACK_ACCESS_API
diff --git a/arch/csky/kernel/perf_callchain.c b/arch/csky/kernel/perf_callchain.c
index 35318a635a5f..92057de08f4f 100644
--- a/arch/csky/kernel/perf_callchain.c
+++ b/arch/csky/kernel/perf_callchain.c
@@ -86,13 +86,8 @@ static unsigned long user_backtrace(struct perf_callchain_entry_ctx *entry,
 void perf_callchain_user(struct perf_callchain_entry_ctx *entry,
 			 struct pt_regs *regs)
 {
-	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
 	unsigned long fp = 0;
 
-	/* C-SKY does not support virtualization. */
-	if (guest_cbs && guest_cbs->is_in_guest())
-		return;
-
 	fp = regs->regs[4];
 	perf_callchain_store(entry, regs->pc);
 
@@ -111,15 +106,8 @@ void perf_callchain_user(struct perf_callchain_entry_ctx *entry,
 void perf_callchain_kernel(struct perf_callchain_entry_ctx *entry,
 			   struct pt_regs *regs)
 {
-	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
 	struct stackframe fr;
 
-	/* C-SKY does not support virtualization. */
-	if (guest_cbs && guest_cbs->is_in_guest()) {
-		pr_warn("C-SKY does not support perf in guest mode!");
-		return;
-	}
-
 	fr.fp = regs->regs[4];
 	fr.lr = regs->lr;
 	walk_stackframe(&fr, entry);
diff --git a/arch/nds32/kernel/perf_event_cpu.c b/arch/nds32/kernel/perf_event_cpu.c
index f38791960781..a78a879e7ef1 100644
--- a/arch/nds32/kernel/perf_event_cpu.c
+++ b/arch/nds32/kernel/perf_event_cpu.c
@@ -1363,7 +1363,6 @@ void
 perf_callchain_user(struct perf_callchain_entry_ctx *entry,
 		    struct pt_regs *regs)
 {
-	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
 	unsigned long fp = 0;
 	unsigned long gp = 0;
 	unsigned long lp = 0;
@@ -1372,11 +1371,6 @@ perf_callchain_user(struct perf_callchain_entry_ctx *entry,
 
 	leaf_fp = 0;
 
-	if (guest_cbs && guest_cbs->is_in_guest()) {
-		/* We don't support guest os callchain now */
-		return;
-	}
-
 	perf_callchain_store(entry, regs->ipc);
 	fp = regs->fp;
 	gp = regs->gp;
@@ -1480,13 +1474,8 @@ void
 perf_callchain_kernel(struct perf_callchain_entry_ctx *entry,
 		      struct pt_regs *regs)
 {
-	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
 	struct stackframe fr;
 
-	if (guest_cbs && guest_cbs->is_in_guest()) {
-		/* We don't support guest os callchain now */
-		return;
-	}
 	fr.fp = regs->fp;
 	fr.lp = regs->lp;
 	fr.sp = regs->sp;
@@ -1495,32 +1484,17 @@ perf_callchain_kernel(struct perf_callchain_entry_ctx *entry,
 
 unsigned long perf_instruction_pointer(struct pt_regs *regs)
 {
-	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
-
-	/* However, NDS32 does not support virtualization */
-	if (guest_cbs && guest_cbs->is_in_guest())
-		return guest_cbs->get_guest_ip();
-
 	return instruction_pointer(regs);
 }
 
 unsigned long perf_misc_flags(struct pt_regs *regs)
 {
-	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
 	int misc = 0;
 
-	/* However, NDS32 does not support virtualization */
-	if (guest_cbs && guest_cbs->is_in_guest()) {
-		if (guest_cbs->is_user_mode())
-			misc |= PERF_RECORD_MISC_GUEST_USER;
-		else
-			misc |= PERF_RECORD_MISC_GUEST_KERNEL;
-	} else {
-		if (user_mode(regs))
-			misc |= PERF_RECORD_MISC_USER;
-		else
-			misc |= PERF_RECORD_MISC_KERNEL;
-	}
+	if (user_mode(regs))
+		misc |= PERF_RECORD_MISC_USER;
+	else
+		misc |= PERF_RECORD_MISC_KERNEL;
 
 	return misc;
 }
diff --git a/arch/riscv/kernel/perf_callchain.c b/arch/riscv/kernel/perf_callchain.c
index 8ecfc4c128bc..1fc075b8f764 100644
--- a/arch/riscv/kernel/perf_callchain.c
+++ b/arch/riscv/kernel/perf_callchain.c
@@ -56,13 +56,8 @@ static unsigned long user_backtrace(struct perf_callchain_entry_ctx *entry,
 void perf_callchain_user(struct perf_callchain_entry_ctx *entry,
 			 struct pt_regs *regs)
 {
-	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
 	unsigned long fp = 0;
 
-	/* RISC-V does not support perf in guest mode. */
-	if (guest_cbs && guest_cbs->is_in_guest())
-		return;
-
 	fp = regs->s0;
 	perf_callchain_store(entry, regs->epc);
 
@@ -79,13 +74,5 @@ static bool fill_callchain(void *entry, unsigned long pc)
 void perf_callchain_kernel(struct perf_callchain_entry_ctx *entry,
 			   struct pt_regs *regs)
 {
-	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
-
-	/* RISC-V does not support perf in guest mode. */
-	if (guest_cbs && guest_cbs->is_in_guest()) {
-		pr_warn("RISC-V does not support perf in guest mode!");
-		return;
-	}
-
 	walk_stackframe(NULL, regs, fill_callchain, entry);
 }
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 49270655e827..a4de4aa7a3df 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -229,6 +229,7 @@ config X86
 	select HAVE_PERF_EVENTS
 	select HAVE_PERF_EVENTS_NMI
 	select HAVE_HARDLOCKUP_DETECTOR_PERF	if PERF_EVENTS && HAVE_PERF_EVENTS_NMI
+	select HAVE_GUEST_PERF_EVENTS
 	select HAVE_PCI
 	select HAVE_PERF_REGS
 	select HAVE_PERF_USER_STACK_DUMP
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index 2b77e2154b61..e75971f85cc8 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -1236,6 +1236,7 @@ extern void perf_event_bpf_event(struct bpf_prog *prog,
 				 enum perf_bpf_event_type type,
 				 u16 flags);
 
+#ifdef CONFIG_HAVE_GUEST_PERF_EVENTS
 extern struct perf_guest_info_callbacks *perf_guest_cbs;
 static inline struct perf_guest_info_callbacks *perf_get_guest_cbs(void)
 {
@@ -1247,6 +1248,7 @@ static inline struct perf_guest_info_callbacks *perf_get_guest_cbs(void)
 }
 extern void perf_register_guest_info_callbacks(struct perf_guest_info_callbacks *callbacks);
 extern void perf_unregister_guest_info_callbacks(void);
+#endif /* CONFIG_HAVE_GUEST_PERF_EVENTS */
 
 extern void perf_event_exec(void);
 extern void perf_event_comm(struct task_struct *tsk, bool exec);
@@ -1489,9 +1491,11 @@ perf_sw_event(u32 event_id, u64 nr, struct pt_regs *regs, u64 addr)	{ }
 static inline void
 perf_bp_event(struct perf_event *event, void *data)			{ }
 
+#ifdef CONFIG_HAVE_GUEST_PERF_EVENTS
 static inline void perf_register_guest_info_callbacks
 (struct perf_guest_info_callbacks *callbacks)				{ }
 static inline void perf_unregister_guest_info_callbacks(void)		{ }
+#endif
 
 static inline void perf_event_mmap(struct vm_area_struct *vma)		{ }
 
diff --git a/init/Kconfig b/init/Kconfig
index 55f9f7738ebb..9ef51ae53977 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -1776,6 +1776,9 @@ config HAVE_PERF_EVENTS
 	help
 	  See tools/perf/design.txt for details.
 
+config HAVE_GUEST_PERF_EVENTS
+	bool
+
 config PERF_USE_VMALLOC
 	bool
 	help
diff --git a/kernel/events/core.c b/kernel/events/core.c
index 1be95d9ace46..d7f606e06446 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -6482,6 +6482,7 @@ static void perf_pending_event(struct irq_work *entry)
 		perf_swevent_put_recursion_context(rctx);
 }
 
+#ifdef CONFIG_HAVE_GUEST_PERF_EVENTS
 struct perf_guest_info_callbacks *perf_guest_cbs;
 void perf_register_guest_info_callbacks(struct perf_guest_info_callbacks *cbs)
 {
@@ -6499,6 +6500,7 @@ void perf_unregister_guest_info_callbacks(void)
 	synchronize_rcu();
 }
 EXPORT_SYMBOL_GPL(perf_unregister_guest_info_callbacks);
+#endif
 
 static void
 perf_output_sample_regs(struct perf_output_handle *handle,
-- 
2.33.0.259.gc128427fd7-goog



From xen-devel-bounces@lists.xenproject.org Sat Aug 28 00:36:58 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 00:36:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174046.317561 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJmLC-0006Sx-23; Sat, 28 Aug 2021 00:36:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174046.317561; Sat, 28 Aug 2021 00:36:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJmLB-0006Rt-Ue; Sat, 28 Aug 2021 00:36:57 +0000
Received: by outflank-mailman (input) for mailman id 174046;
 Sat, 28 Aug 2021 00:36:56 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ea6Z=NT=flex--seanjc.bounces.google.com=3F4UpYQYKCdYK62FB48GG8D6.4GEP6F-56N6DDAKLK.P6FHJGB64L.GJ8@srs-us1.protection.inumbo.net>)
 id 1mJmLA-0003pb-GI
 for xen-devel@lists.xenproject.org; Sat, 28 Aug 2021 00:36:56 +0000
Received: from mail-yb1-xb4a.google.com (unknown [2607:f8b0:4864:20::b4a])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 25f6a977-aae4-4981-8c9d-2ee9ffd0d29a;
 Sat, 28 Aug 2021 00:36:39 +0000 (UTC)
Received: by mail-yb1-xb4a.google.com with SMTP id
 f8-20020a2585480000b02905937897e3daso1666669ybn.2
 for <xen-devel@lists.xenproject.org>; Fri, 27 Aug 2021 17:36:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 25f6a977-aae4-4981-8c9d-2ee9ffd0d29a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20161025;
        h=reply-to:date:in-reply-to:message-id:mime-version:references
         :subject:from:to:cc;
        bh=0YXYNwfO2nP0d/8tcUlJOlRfQipYSfj6KR9im5qFSzU=;
        b=M/Xe0rMtGmxdkWl9mi5EOW9t7UlutI0HqYiemomWjM6+KLBUeVT3ObS3xgkFOcpBHA
         tjEreWTZww/GaibpuFp3TP6uJw/XXrbB7rgTViYSk8FfdflF+cKbmXPkirpzaUgFSwuF
         vLlNrQEp4R0vbB3TstwUqA/I7NNS4Ui2hk2YFYsQ9QF7i+W+jF4GnB9pW6MAQRukcU/q
         md3KD2Uem7PScXCJD2QVRXMKOLsNPxZapGXO+7H3E2dqptEoTOpWEpWO/03jkHSd2XRu
         P5sFFQ6xUG9CInfC2TWxYV5PcoFZlV4zv4dllrmT/FnIzl+/h7hBbAB8LVIwt89dViD6
         wzQw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:reply-to:date:in-reply-to:message-id
         :mime-version:references:subject:from:to:cc;
        bh=0YXYNwfO2nP0d/8tcUlJOlRfQipYSfj6KR9im5qFSzU=;
        b=GbyD2D0W6SskeF2WVTPW46DRLtTWM1sCr2DAB6EstlKiK8+bzs5w4TolxcWFvnBugc
         jhJ9Kbhk4yQq+t/VcD/6R7zR+QHn3C6am6cNeAbJWIerioUXzh60GbR73smxhuEe+Ytd
         PDrZcrtfUFkpt3SZ5FlDa/fXVSIz8+vsSGAqTDT/8s0wkEUXkkmC3P2ZUgWnjvkT1pRE
         sKfCh4c37L/XyOgjGzT+c+RHFj8SFOTgX71X+Il8jGImOX0bGhmwq9jy2tF2ANWOgxvW
         V66XJ2HAqozprjcMqSa6q7+Pe6Ghh4ueMchHReWwfBOSBCEr8gluZN2KsASzlokyeRuQ
         Cr5Q==
X-Gm-Message-State: AOAM5305lrd0RhX4FYV4w2ZLRFRd9Nt3tT8cE6JaIpA/Cq67DxnZz5nt
	ISo7C4wGzKqkqU37LAiGaIfst7ww4ds=
X-Google-Smtp-Source: ABdhPJx7+h99mRUNQ5W6YGQDjwrL7hApQN1LKnrNBAh3ncOOeOsVF2BhDlqAamjvA/RKoXSaOf42ZGz737c=
X-Received: from seanjc798194.pdx.corp.google.com ([2620:15c:90:200:f66c:b851:7e79:7ed4])
 (user=seanjc job=sendgmr) by 2002:a25:6545:: with SMTP id z66mr9189208ybb.149.1630110999440;
 Fri, 27 Aug 2021 17:36:39 -0700 (PDT)
Reply-To: Sean Christopherson <seanjc@google.com>
Date: Fri, 27 Aug 2021 17:35:51 -0700
In-Reply-To: <20210828003558.713983-1-seanjc@google.com>
Message-Id: <20210828003558.713983-7-seanjc@google.com>
Mime-Version: 1.0
References: <20210828003558.713983-1-seanjc@google.com>
X-Mailer: git-send-email 2.33.0.259.gc128427fd7-goog
Subject: [PATCH v2 06/13] perf/core: Rework guest callbacks to prepare for
 static_call support
From: Sean Christopherson <seanjc@google.com>
To: Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>, 
	Catalin Marinas <catalin.marinas@arm.com>, Marc Zyngier <maz@kernel.org>, Guo Ren <guoren@kernel.org>, 
	Nick Hu <nickhu@andestech.com>, Greentime Hu <green.hu@gmail.com>, 
	Vincent Chen <deanbo422@gmail.com>, Paul Walmsley <paul.walmsley@sifive.com>, 
	Palmer Dabbelt <palmer@dabbelt.com>, Albert Ou <aou@eecs.berkeley.edu>, 
	Thomas Gleixner <tglx@linutronix.de>, Borislav Petkov <bp@alien8.de>, x86@kernel.org, 
	Paolo Bonzini <pbonzini@redhat.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Juergen Gross <jgross@suse.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@redhat.com>, 
	Namhyung Kim <namhyung@kernel.org>, James Morse <james.morse@arm.com>, 
	Alexandru Elisei <alexandru.elisei@arm.com>, Suzuki K Poulose <suzuki.poulose@arm.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Sean Christopherson <seanjc@google.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Wanpeng Li <wanpengli@tencent.com>, 
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, linux-perf-users@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, 
	kvmarm@lists.cs.columbia.edu, linux-csky@vger.kernel.org, 
	linux-riscv@lists.infradead.org, kvm@vger.kernel.org, 
	xen-devel@lists.xenproject.org, Artem Kashkanov <artem.kashkanov@intel.com>, 
	Like Xu <like.xu.linux@gmail.com>, Zhu Lingshan <lingshan.zhu@intel.com>
Content-Type: text/plain; charset="UTF-8"

From: Like Xu <like.xu@linux.intel.com>

To prepare for using static_calls to optimize perf's guest callbacks,
replace ->is_in_guest and ->is_user_mode with a new multiplexed hook
->state, tweak ->handle_intel_pt_intr to play nice with being called when
there is no active guest, and drop "guest" from ->is_in_guest.

Return '0' from ->state and ->handle_intel_pt_intr to indicate "not in
guest" so that DEFINE_STATIC_CALL_RET0 can be used to define the static
calls, i.e. no callback == !guest.

Suggested-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Originally-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Like Xu <like.xu@linux.intel.com>
Signed-off-by: Zhu Lingshan <lingshan.zhu@intel.com>
[sean: extracted from static_call patch, fixed get_ip() bug, wrote changelog]
Signed-off-by: Sean Christopherson <seanjc@google.com>
---
 arch/arm64/kernel/perf_callchain.c | 13 +++++-----
 arch/arm64/kvm/perf.c              | 35 +++++++++++---------------
 arch/x86/events/core.c             | 13 +++++-----
 arch/x86/events/intel/core.c       |  5 +---
 arch/x86/include/asm/kvm_host.h    |  2 +-
 arch/x86/kvm/pmu.c                 |  2 +-
 arch/x86/kvm/x86.c                 | 40 ++++++++++++++++--------------
 arch/x86/xen/pmu.c                 | 32 ++++++++++--------------
 include/linux/perf_event.h         | 10 +++++---
 kernel/events/core.c               |  1 +
 10 files changed, 74 insertions(+), 79 deletions(-)

diff --git a/arch/arm64/kernel/perf_callchain.c b/arch/arm64/kernel/perf_callchain.c
index 86d9f2013172..274dc3e11b6d 100644
--- a/arch/arm64/kernel/perf_callchain.c
+++ b/arch/arm64/kernel/perf_callchain.c
@@ -104,7 +104,7 @@ void perf_callchain_user(struct perf_callchain_entry_ctx *entry,
 {
 	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
 
-	if (guest_cbs && guest_cbs->is_in_guest()) {
+	if (guest_cbs && guest_cbs->state()) {
 		/* We don't support guest os callchain now */
 		return;
 	}
@@ -152,7 +152,7 @@ void perf_callchain_kernel(struct perf_callchain_entry_ctx *entry,
 	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
 	struct stackframe frame;
 
-	if (guest_cbs && guest_cbs->is_in_guest()) {
+	if (guest_cbs && guest_cbs->state()) {
 		/* We don't support guest os callchain now */
 		return;
 	}
@@ -165,8 +165,8 @@ unsigned long perf_instruction_pointer(struct pt_regs *regs)
 {
 	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
 
-	if (guest_cbs && guest_cbs->is_in_guest())
-		return guest_cbs->get_guest_ip();
+	if (guest_cbs && guest_cbs->state())
+		return guest_cbs->get_ip();
 
 	return instruction_pointer(regs);
 }
@@ -174,10 +174,11 @@ unsigned long perf_instruction_pointer(struct pt_regs *regs)
 unsigned long perf_misc_flags(struct pt_regs *regs)
 {
 	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
+	unsigned int guest_state = guest_cbs ? guest_cbs->state() : 0;
 	int misc = 0;
 
-	if (guest_cbs && guest_cbs->is_in_guest()) {
-		if (guest_cbs->is_user_mode())
+	if (guest_state) {
+		if (guest_state & PERF_GUEST_USER)
 			misc |= PERF_RECORD_MISC_GUEST_USER;
 		else
 			misc |= PERF_RECORD_MISC_GUEST_KERNEL;
diff --git a/arch/arm64/kvm/perf.c b/arch/arm64/kvm/perf.c
index 039fe59399a2..893de1a51fea 100644
--- a/arch/arm64/kvm/perf.c
+++ b/arch/arm64/kvm/perf.c
@@ -13,39 +13,34 @@
 
 DEFINE_STATIC_KEY_FALSE(kvm_arm_pmu_available);
 
-static int kvm_is_in_guest(void)
+static unsigned int kvm_guest_state(void)
 {
-        return kvm_get_running_vcpu() != NULL;
-}
+	struct kvm_vcpu *vcpu = kvm_get_running_vcpu();
+	unsigned int state;
 
-static int kvm_is_user_mode(void)
-{
-	struct kvm_vcpu *vcpu;
-
-	vcpu = kvm_get_running_vcpu();
+	if (!vcpu)
+		return 0;
 
-	if (vcpu)
-		return !vcpu_mode_priv(vcpu);
+	state = PERF_GUEST_ACTIVE;
+	if (!vcpu_mode_priv(vcpu))
+		state |= PERF_GUEST_USER;
 
-	return 0;
+	return state;
 }
 
 static unsigned long kvm_get_guest_ip(void)
 {
-	struct kvm_vcpu *vcpu;
+	struct kvm_vcpu *vcpu = kvm_get_running_vcpu();
 
-	vcpu = kvm_get_running_vcpu();
+	if (WARN_ON_ONCE(!vcpu))
+		return 0;
 
-	if (vcpu)
-		return *vcpu_pc(vcpu);
-
-	return 0;
+	return *vcpu_pc(vcpu);
 }
 
 static struct perf_guest_info_callbacks kvm_guest_cbs = {
-	.is_in_guest	= kvm_is_in_guest,
-	.is_user_mode	= kvm_is_user_mode,
-	.get_guest_ip	= kvm_get_guest_ip,
+	.state		= kvm_guest_state,
+	.get_ip		= kvm_get_guest_ip,
 };
 
 void kvm_perf_init(void)
diff --git a/arch/x86/events/core.c b/arch/x86/events/core.c
index ffb3e6c0d367..3a7630fdd340 100644
--- a/arch/x86/events/core.c
+++ b/arch/x86/events/core.c
@@ -2765,7 +2765,7 @@ perf_callchain_kernel(struct perf_callchain_entry_ctx *entry, struct pt_regs *re
 	struct unwind_state state;
 	unsigned long addr;
 
-	if (guest_cbs && guest_cbs->is_in_guest()) {
+	if (guest_cbs && guest_cbs->state()) {
 		/* TODO: We don't support guest os callchain now */
 		return;
 	}
@@ -2869,7 +2869,7 @@ perf_callchain_user(struct perf_callchain_entry_ctx *entry, struct pt_regs *regs
 	struct stack_frame frame;
 	const struct stack_frame __user *fp;
 
-	if (guest_cbs && guest_cbs->is_in_guest()) {
+	if (guest_cbs && guest_cbs->state()) {
 		/* TODO: We don't support guest os callchain now */
 		return;
 	}
@@ -2948,8 +2948,8 @@ unsigned long perf_instruction_pointer(struct pt_regs *regs)
 {
 	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
 
-	if (guest_cbs && guest_cbs->is_in_guest())
-		return guest_cbs->get_guest_ip();
+	if (guest_cbs && guest_cbs->state())
+		return guest_cbs->get_ip();
 
 	return regs->ip + code_segment_base(regs);
 }
@@ -2957,10 +2957,11 @@ unsigned long perf_instruction_pointer(struct pt_regs *regs)
 unsigned long perf_misc_flags(struct pt_regs *regs)
 {
 	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
+	unsigned int guest_state = guest_cbs ? guest_cbs->state() : 0;
 	int misc = 0;
 
-	if (guest_cbs && guest_cbs->is_in_guest()) {
-		if (guest_cbs->is_user_mode())
+	if (guest_state) {
+		if (guest_state & PERF_GUEST_USER)
 			misc |= PERF_RECORD_MISC_GUEST_USER;
 		else
 			misc |= PERF_RECORD_MISC_GUEST_KERNEL;
diff --git a/arch/x86/events/intel/core.c b/arch/x86/events/intel/core.c
index 9baa46185d94..524ad1f747bd 100644
--- a/arch/x86/events/intel/core.c
+++ b/arch/x86/events/intel/core.c
@@ -2855,10 +2855,7 @@ static int handle_pmi_common(struct pt_regs *regs, u64 status)
 		handled++;
 
 		guest_cbs = perf_get_guest_cbs();
-		if (unlikely(guest_cbs && guest_cbs->is_in_guest() &&
-			     guest_cbs->handle_intel_pt_intr))
-			guest_cbs->handle_intel_pt_intr();
-		else
+		if (likely(!guest_cbs || !guest_cbs->handle_intel_pt_intr()))
 			intel_pt_interrupt();
 	}
 
diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
index 1ea4943a73d7..1080166fc0cf 100644
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -1874,7 +1874,7 @@ int kvm_skip_emulated_instruction(struct kvm_vcpu *vcpu);
 int kvm_complete_insn_gp(struct kvm_vcpu *vcpu, int err);
 void __kvm_request_immediate_exit(struct kvm_vcpu *vcpu);
 
-int kvm_is_in_guest(void);
+unsigned int kvm_guest_state(void);
 
 void __user *__x86_set_memory_region(struct kvm *kvm, int id, gpa_t gpa,
 				     u32 size);
diff --git a/arch/x86/kvm/pmu.c b/arch/x86/kvm/pmu.c
index 0772bad9165c..5b68d4188de0 100644
--- a/arch/x86/kvm/pmu.c
+++ b/arch/x86/kvm/pmu.c
@@ -87,7 +87,7 @@ static void kvm_perf_overflow_intr(struct perf_event *perf_event,
 		 * woken up. So we should wake it, but this is impossible from
 		 * NMI context. Do it from irq work instead.
 		 */
-		if (!kvm_is_in_guest())
+		if (!kvm_guest_state())
 			irq_work_queue(&pmc_to_pmu(pmc)->irq_work);
 		else
 			kvm_make_request(KVM_REQ_PMI, pmc->vcpu);
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index bae951344e28..b2a4d085aa4f 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -8267,44 +8267,48 @@ static void kvm_timer_init(void)
 DEFINE_PER_CPU(struct kvm_vcpu *, current_vcpu);
 EXPORT_PER_CPU_SYMBOL_GPL(current_vcpu);
 
-int kvm_is_in_guest(void)
+unsigned int kvm_guest_state(void)
 {
-	return __this_cpu_read(current_vcpu) != NULL;
-}
+	struct kvm_vcpu *vcpu = __this_cpu_read(current_vcpu);
+	unsigned int state;
 
-static int kvm_is_user_mode(void)
-{
-	int user_mode = 3;
+	if (!vcpu)
+		return 0;
 
-	if (__this_cpu_read(current_vcpu))
-		user_mode = static_call(kvm_x86_get_cpl)(__this_cpu_read(current_vcpu));
+	state = PERF_GUEST_ACTIVE;
+	if (static_call(kvm_x86_get_cpl)(vcpu))
+		state |= PERF_GUEST_USER;
 
-	return user_mode != 0;
+	return state;
 }
 
-static unsigned long kvm_get_guest_ip(void)
+static unsigned long kvm_guest_get_ip(void)
 {
-	unsigned long ip = 0;
+	struct kvm_vcpu *vcpu = __this_cpu_read(current_vcpu);
 
-	if (__this_cpu_read(current_vcpu))
-		ip = kvm_rip_read(__this_cpu_read(current_vcpu));
+	if (WARN_ON_ONCE(!vcpu))
+		return 0;
 
-	return ip;
+	return kvm_rip_read(vcpu);
 }
 
-static void kvm_handle_intel_pt_intr(void)
+static unsigned int kvm_handle_intel_pt_intr(void)
 {
 	struct kvm_vcpu *vcpu = __this_cpu_read(current_vcpu);
 
+	/* '0' on failure so that the !PT case can use a RET0 static call. */
+	if (!vcpu)
+		return 0;
+
 	kvm_make_request(KVM_REQ_PMI, vcpu);
 	__set_bit(MSR_CORE_PERF_GLOBAL_OVF_CTRL_TRACE_TOPA_PMI_BIT,
 			(unsigned long *)&vcpu->arch.pmu.global_status);
+	return 1;
 }
 
 static struct perf_guest_info_callbacks kvm_guest_cbs = {
-	.is_in_guest		= kvm_is_in_guest,
-	.is_user_mode		= kvm_is_user_mode,
-	.get_guest_ip		= kvm_get_guest_ip,
+	.state			= kvm_guest_state,
+	.get_ip			= kvm_guest_get_ip,
 	.handle_intel_pt_intr	= NULL,
 };
 
diff --git a/arch/x86/xen/pmu.c b/arch/x86/xen/pmu.c
index e13b0b49fcdf..89dd6b1708b0 100644
--- a/arch/x86/xen/pmu.c
+++ b/arch/x86/xen/pmu.c
@@ -413,34 +413,29 @@ int pmu_apic_update(uint32_t val)
 }
 
 /* perf callbacks */
-static int xen_is_in_guest(void)
+static unsigned int xen_guest_state(void)
 {
 	const struct xen_pmu_data *xenpmu_data = get_xenpmu_data();
+	unsigned int state = 0;
 
 	if (!xenpmu_data) {
 		pr_warn_once("%s: pmudata not initialized\n", __func__);
-		return 0;
+		return state;
 	}
 
 	if (!xen_initial_domain() || (xenpmu_data->domain_id >= DOMID_SELF))
-		return 0;
+		return state;
 
-	return 1;
-}
+	state |= PERF_GUEST_ACTIVE;
 
-static int xen_is_user_mode(void)
-{
-	const struct xen_pmu_data *xenpmu_data = get_xenpmu_data();
-
-	if (!xenpmu_data) {
-		pr_warn_once("%s: pmudata not initialized\n", __func__);
-		return 0;
+	if (xenpmu_data->pmu.pmu_flags & PMU_SAMPLE_PV) {
+		if (xenpmu_data->pmu.pmu_flags & PMU_SAMPLE_USER)
+			state |= PERF_GUEST_USER;
+	} else if (xenpmu_data->pmu.r.regs.cpl & 3) {
+		state |= PERF_GUEST_USER;
 	}
 
-	if (xenpmu_data->pmu.pmu_flags & PMU_SAMPLE_PV)
-		return (xenpmu_data->pmu.pmu_flags & PMU_SAMPLE_USER);
-	else
-		return !!(xenpmu_data->pmu.r.regs.cpl & 3);
+	return state;
 }
 
 static unsigned long xen_get_guest_ip(void)
@@ -456,9 +451,8 @@ static unsigned long xen_get_guest_ip(void)
 }
 
 static struct perf_guest_info_callbacks xen_guest_cbs = {
-	.is_in_guest            = xen_is_in_guest,
-	.is_user_mode           = xen_is_user_mode,
-	.get_guest_ip           = xen_get_guest_ip,
+	.state                  = xen_guest_state,
+	.get_ip			= xen_get_guest_ip,
 };
 
 /* Convert registers from Xen's format to Linux' */
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index e75971f85cc8..a5d5893b80b0 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -26,11 +26,13 @@
 # include <asm/local64.h>
 #endif
 
+#define PERF_GUEST_ACTIVE	0x01
+#define PERF_GUEST_USER	0x02
+
 struct perf_guest_info_callbacks {
-	int				(*is_in_guest)(void);
-	int				(*is_user_mode)(void);
-	unsigned long			(*get_guest_ip)(void);
-	void				(*handle_intel_pt_intr)(void);
+	unsigned int			(*state)(void);
+	unsigned long			(*get_ip)(void);
+	unsigned int			(*handle_intel_pt_intr)(void);
 };
 
 #ifdef CONFIG_HAVE_HW_BREAKPOINT
diff --git a/kernel/events/core.c b/kernel/events/core.c
index d7f606e06446..ec36e7aded89 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -6484,6 +6484,7 @@ static void perf_pending_event(struct irq_work *entry)
 
 #ifdef CONFIG_HAVE_GUEST_PERF_EVENTS
 struct perf_guest_info_callbacks *perf_guest_cbs;
+
 void perf_register_guest_info_callbacks(struct perf_guest_info_callbacks *cbs)
 {
 	if (WARN_ON_ONCE(perf_guest_cbs))
-- 
2.33.0.259.gc128427fd7-goog



From xen-devel-bounces@lists.xenproject.org Sat Aug 28 00:37:02 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 00:37:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174048.317572 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJmLG-0006vQ-Cc; Sat, 28 Aug 2021 00:37:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174048.317572; Sat, 28 Aug 2021 00: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 1mJmLG-0006vG-92; Sat, 28 Aug 2021 00:37:02 +0000
Received: by outflank-mailman (input) for mailman id 174048;
 Sat, 28 Aug 2021 00:37:01 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tpYU=NT=flex--seanjc.bounces.google.com=3GYUpYQYKCdgM84HD6AIIAF8.6IGR8H-78P8FFCMNM.R8HJLID86N.ILA@srs-us1.protection.inumbo.net>)
 id 1mJmLF-0003pb-GJ
 for xen-devel@lists.xenproject.org; Sat, 28 Aug 2021 00:37:01 +0000
Received: from mail-yb1-xb49.google.com (unknown [2607:f8b0:4864:20::b49])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 5637b20f-6f2a-4ca2-a5dd-df7dfa22e5d4;
 Sat, 28 Aug 2021 00:36:42 +0000 (UTC)
Received: by mail-yb1-xb49.google.com with SMTP id
 g192-20020a25dbc9000000b0059bd2958c8aso5464994ybf.5
 for <xen-devel@lists.xenproject.org>; Fri, 27 Aug 2021 17:36: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: 5637b20f-6f2a-4ca2-a5dd-df7dfa22e5d4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20161025;
        h=reply-to:date:in-reply-to:message-id:mime-version:references
         :subject:from:to:cc;
        bh=HKJZFfDLXh82oPfU5c20Gn43VIGGnboNJpddzA+BkHg=;
        b=rxzaCm/AN4VZGThWPRoQD+RNM2EHTsKr0Ts1TI5RsbpW5tPvu4XmXZqedCw9N2UdfD
         4BaICFECH3j4loy5TpRObFTxBfrUdbBWvTHBjr6GJLVbonFbfguEMCgYX3LAy00BMX8W
         u4zq+GNNnFkS61eZe7VYyzsuyilBvIa/AmriXFxKDtOyV9SB/RH39B3Z4ZRtQLKCn0LG
         75GCLxiyV2Wjkp5NjbGKf221E276nnqTHN+nKLi3sBSe656AbgGBtm5gJBcoRQ+b28Fh
         EFWEQESVDIOvAnq6i3fM/hFe7419BHD3Hwa7ggBFCXbKuNGTahW2VLC+3ni2ePvL+UNy
         zQvg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:reply-to:date:in-reply-to:message-id
         :mime-version:references:subject:from:to:cc;
        bh=HKJZFfDLXh82oPfU5c20Gn43VIGGnboNJpddzA+BkHg=;
        b=M8M5M9cBgbzpq5xNcWerDGeih2P84h/wFHDl2oBLIWwjKgSccycm/OVl7/+rNHQHXI
         dEiwBNZYR1LAMnuHSbqgpSKgflZukn5zKILYUfWFoCd/ZhabGHUKNEU58uagIX8rQwF2
         VpZ7StClwQZmkZ0viY6ArUKZoePM4iGB4DOGo/RdhdPdN1GjFdhzCfd+axNU7k1crTmH
         rTsMYXAjc0AgKMtAM1iQAjOGXaSYZgU35ugApKt16jMcCDzrOBDH5q+l1noZRTMuYVjK
         I9KSZaV5f0IBrxWTn/DKvBNNH5GLfRcFZqcROP6hYO4XQqvnGiI/rW72nZwFAPhcF+X9
         l1zA==
X-Gm-Message-State: AOAM5317ryDnE15ON0nCntmOdemRBywzqhwSPDiUbW9dHANzR6JLALvk
	4oZY/RzY7nPchFmUfg7ctgCZbWHauAg=
X-Google-Smtp-Source: ABdhPJyKixaYStMukhYbHbK555CGQM6iYXLxxdSAEvoAp4FLIZA18987uVI34E4+zGb67g6x4Ia3ty7kWs8=
X-Received: from seanjc798194.pdx.corp.google.com ([2620:15c:90:200:f66c:b851:7e79:7ed4])
 (user=seanjc job=sendgmr) by 2002:a25:9ac6:: with SMTP id t6mr8860851ybo.190.1630111001657;
 Fri, 27 Aug 2021 17:36:41 -0700 (PDT)
Reply-To: Sean Christopherson <seanjc@google.com>
Date: Fri, 27 Aug 2021 17:35:52 -0700
In-Reply-To: <20210828003558.713983-1-seanjc@google.com>
Message-Id: <20210828003558.713983-8-seanjc@google.com>
Mime-Version: 1.0
References: <20210828003558.713983-1-seanjc@google.com>
X-Mailer: git-send-email 2.33.0.259.gc128427fd7-goog
Subject: [PATCH v2 07/13] perf/core: Use static_call to optimize perf_guest_info_callbacks
From: Sean Christopherson <seanjc@google.com>
To: Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>, 
	Catalin Marinas <catalin.marinas@arm.com>, Marc Zyngier <maz@kernel.org>, Guo Ren <guoren@kernel.org>, 
	Nick Hu <nickhu@andestech.com>, Greentime Hu <green.hu@gmail.com>, 
	Vincent Chen <deanbo422@gmail.com>, Paul Walmsley <paul.walmsley@sifive.com>, 
	Palmer Dabbelt <palmer@dabbelt.com>, Albert Ou <aou@eecs.berkeley.edu>, 
	Thomas Gleixner <tglx@linutronix.de>, Borislav Petkov <bp@alien8.de>, x86@kernel.org, 
	Paolo Bonzini <pbonzini@redhat.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Juergen Gross <jgross@suse.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@redhat.com>, 
	Namhyung Kim <namhyung@kernel.org>, James Morse <james.morse@arm.com>, 
	Alexandru Elisei <alexandru.elisei@arm.com>, Suzuki K Poulose <suzuki.poulose@arm.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Sean Christopherson <seanjc@google.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Wanpeng Li <wanpengli@tencent.com>, 
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, linux-perf-users@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, 
	kvmarm@lists.cs.columbia.edu, linux-csky@vger.kernel.org, 
	linux-riscv@lists.infradead.org, kvm@vger.kernel.org, 
	xen-devel@lists.xenproject.org, Artem Kashkanov <artem.kashkanov@intel.com>, 
	Like Xu <like.xu.linux@gmail.com>, Zhu Lingshan <lingshan.zhu@intel.com>
Content-Type: text/plain; charset="UTF-8"

From: Like Xu <like.xu@linux.intel.com>

Use static_call to optimize perf's guest callbacks on arm64 and x86,
which are now the only architectures that define the callbacks.  Use
DEFINE_STATIC_CALL_RET0 as the default/NULL for all guest callbacks, as
the callback semantics are that a return value '0' means "not in guest".

static_call obviously avoids the overhead of CONFIG_RETPOLINE=y, but is
also advantageous versus other solutions, e.g. per-cpu callbacks, in that
a per-cpu memory load is not needed to detect the !guest case.

Suggested-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Originally-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Like Xu <like.xu@linux.intel.com>
Signed-off-by: Zhu Lingshan <lingshan.zhu@intel.com>
[sean: split out patch, drop __weak, tweak updaters, rewrite changelog]
Signed-off-by: Sean Christopherson <seanjc@google.com>
---
 arch/arm64/kernel/perf_callchain.c | 31 +++++++++++++++---------
 arch/x86/events/core.c             | 38 ++++++++++++++++++++++--------
 arch/x86/events/intel/core.c       |  7 +++---
 include/linux/perf_event.h         |  9 +------
 kernel/events/core.c               |  2 ++
 5 files changed, 54 insertions(+), 33 deletions(-)

diff --git a/arch/arm64/kernel/perf_callchain.c b/arch/arm64/kernel/perf_callchain.c
index 274dc3e11b6d..18cf6e608778 100644
--- a/arch/arm64/kernel/perf_callchain.c
+++ b/arch/arm64/kernel/perf_callchain.c
@@ -5,6 +5,7 @@
  * Copyright (C) 2015 ARM Limited
  */
 #include <linux/perf_event.h>
+#include <linux/static_call.h>
 #include <linux/uaccess.h>
 
 #include <asm/pointer_auth.h>
@@ -99,12 +100,24 @@ compat_user_backtrace(struct compat_frame_tail __user *tail,
 }
 #endif /* CONFIG_COMPAT */
 
+DEFINE_STATIC_CALL_RET0(arm64_guest_state, *(perf_guest_cbs->state));
+DEFINE_STATIC_CALL_RET0(arm64_guest_get_ip, *(perf_guest_cbs->get_ip));
+
+void arch_perf_update_guest_cbs(struct perf_guest_info_callbacks *guest_cbs)
+{
+	if (guest_cbs) {
+		static_call_update(arm64_guest_state, guest_cbs->state);
+		static_call_update(arm64_guest_get_ip, guest_cbs->get_ip);
+	} else {
+		static_call_update(arm64_guest_state, (void *)&__static_call_return0);
+		static_call_update(arm64_guest_get_ip, (void *)&__static_call_return0);
+	}
+}
+
 void perf_callchain_user(struct perf_callchain_entry_ctx *entry,
 			 struct pt_regs *regs)
 {
-	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
-
-	if (guest_cbs && guest_cbs->state()) {
+	if (static_call(arm64_guest_state)()) {
 		/* We don't support guest os callchain now */
 		return;
 	}
@@ -149,10 +162,9 @@ static bool callchain_trace(void *data, unsigned long pc)
 void perf_callchain_kernel(struct perf_callchain_entry_ctx *entry,
 			   struct pt_regs *regs)
 {
-	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
 	struct stackframe frame;
 
-	if (guest_cbs && guest_cbs->state()) {
+	if (static_call(arm64_guest_state)()) {
 		/* We don't support guest os callchain now */
 		return;
 	}
@@ -163,18 +175,15 @@ void perf_callchain_kernel(struct perf_callchain_entry_ctx *entry,
 
 unsigned long perf_instruction_pointer(struct pt_regs *regs)
 {
-	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
-
-	if (guest_cbs && guest_cbs->state())
-		return guest_cbs->get_ip();
+	if (static_call(arm64_guest_state)())
+		return static_call(arm64_guest_get_ip)();
 
 	return instruction_pointer(regs);
 }
 
 unsigned long perf_misc_flags(struct pt_regs *regs)
 {
-	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
-	unsigned int guest_state = guest_cbs ? guest_cbs->state() : 0;
+	unsigned int guest_state = static_call(arm64_guest_state)();
 	int misc = 0;
 
 	if (guest_state) {
diff --git a/arch/x86/events/core.c b/arch/x86/events/core.c
index 3a7630fdd340..508a677edd8c 100644
--- a/arch/x86/events/core.c
+++ b/arch/x86/events/core.c
@@ -90,6 +90,29 @@ DEFINE_STATIC_CALL_NULL(x86_pmu_pebs_aliases, *x86_pmu.pebs_aliases);
  */
 DEFINE_STATIC_CALL_RET0(x86_pmu_guest_get_msrs, *x86_pmu.guest_get_msrs);
 
+DEFINE_STATIC_CALL_RET0(x86_guest_state, *(perf_guest_cbs->state));
+DEFINE_STATIC_CALL_RET0(x86_guest_get_ip, *(perf_guest_cbs->get_ip));
+DEFINE_STATIC_CALL_RET0(x86_guest_handle_intel_pt_intr, *(perf_guest_cbs->handle_intel_pt_intr));
+
+void arch_perf_update_guest_cbs(struct perf_guest_info_callbacks *guest_cbs)
+{
+	if (guest_cbs) {
+		static_call_update(x86_guest_state, guest_cbs->state);
+		static_call_update(x86_guest_get_ip, guest_cbs->get_ip);
+	} else {
+		static_call_update(x86_guest_state, (void *)&__static_call_return0);
+		static_call_update(x86_guest_get_ip, (void *)&__static_call_return0);
+	}
+
+	/* Implementing ->handle_intel_pt_intr is optional. */
+	if (guest_cbs && guest_cbs->handle_intel_pt_intr)
+		static_call_update(x86_guest_handle_intel_pt_intr,
+				   guest_cbs->handle_intel_pt_intr);
+	else
+		static_call_update(x86_guest_handle_intel_pt_intr,
+				   (void *)&__static_call_return0);
+}
+
 u64 __read_mostly hw_cache_event_ids
 				[PERF_COUNT_HW_CACHE_MAX]
 				[PERF_COUNT_HW_CACHE_OP_MAX]
@@ -2761,11 +2784,10 @@ static bool perf_hw_regs(struct pt_regs *regs)
 void
 perf_callchain_kernel(struct perf_callchain_entry_ctx *entry, struct pt_regs *regs)
 {
-	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
 	struct unwind_state state;
 	unsigned long addr;
 
-	if (guest_cbs && guest_cbs->state()) {
+	if (static_call(x86_guest_state)()) {
 		/* TODO: We don't support guest os callchain now */
 		return;
 	}
@@ -2865,11 +2887,10 @@ perf_callchain_user32(struct pt_regs *regs, struct perf_callchain_entry_ctx *ent
 void
 perf_callchain_user(struct perf_callchain_entry_ctx *entry, struct pt_regs *regs)
 {
-	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
 	struct stack_frame frame;
 	const struct stack_frame __user *fp;
 
-	if (guest_cbs && guest_cbs->state()) {
+	if (static_call(x86_guest_state)()) {
 		/* TODO: We don't support guest os callchain now */
 		return;
 	}
@@ -2946,18 +2967,15 @@ static unsigned long code_segment_base(struct pt_regs *regs)
 
 unsigned long perf_instruction_pointer(struct pt_regs *regs)
 {
-	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
-
-	if (guest_cbs && guest_cbs->state())
-		return guest_cbs->get_ip();
+	if (static_call(x86_guest_state)())
+		return static_call(x86_guest_get_ip)();
 
 	return regs->ip + code_segment_base(regs);
 }
 
 unsigned long perf_misc_flags(struct pt_regs *regs)
 {
-	struct perf_guest_info_callbacks *guest_cbs = perf_get_guest_cbs();
-	unsigned int guest_state = guest_cbs ? guest_cbs->state() : 0;
+	unsigned int guest_state = static_call(x86_guest_state)();
 	int misc = 0;
 
 	if (guest_state) {
diff --git a/arch/x86/events/intel/core.c b/arch/x86/events/intel/core.c
index 524ad1f747bd..fb1bd7a0e1a6 100644
--- a/arch/x86/events/intel/core.c
+++ b/arch/x86/events/intel/core.c
@@ -2782,11 +2782,12 @@ static void intel_pmu_reset(void)
 	local_irq_restore(flags);
 }
 
+DECLARE_STATIC_CALL(x86_guest_handle_intel_pt_intr, *(perf_guest_cbs->handle_intel_pt_intr));
+
 static int handle_pmi_common(struct pt_regs *regs, u64 status)
 {
 	struct perf_sample_data data;
 	struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events);
-	struct perf_guest_info_callbacks *guest_cbs;
 	int bit;
 	int handled = 0;
 	u64 intel_ctrl = hybrid(cpuc->pmu, intel_ctrl);
@@ -2853,9 +2854,7 @@ static int handle_pmi_common(struct pt_regs *regs, u64 status)
 	 */
 	if (__test_and_clear_bit(GLOBAL_STATUS_TRACE_TOPAPMI_BIT, (unsigned long *)&status)) {
 		handled++;
-
-		guest_cbs = perf_get_guest_cbs();
-		if (likely(!guest_cbs || !guest_cbs->handle_intel_pt_intr()))
+		if (!static_call(x86_guest_handle_intel_pt_intr)())
 			intel_pt_interrupt();
 	}
 
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index a5d5893b80b0..3fa1014218f4 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -1240,14 +1240,7 @@ extern void perf_event_bpf_event(struct bpf_prog *prog,
 
 #ifdef CONFIG_HAVE_GUEST_PERF_EVENTS
 extern struct perf_guest_info_callbacks *perf_guest_cbs;
-static inline struct perf_guest_info_callbacks *perf_get_guest_cbs(void)
-{
-	/* Reg/unreg perf_guest_cbs waits for readers via synchronize_rcu(). */
-	lockdep_assert_preemption_disabled();
-
-	/* Prevent reloading between a !NULL check and dereferences. */
-	return READ_ONCE(perf_guest_cbs);
-}
+extern void arch_perf_update_guest_cbs(struct perf_guest_info_callbacks *guest_cbs);
 extern void perf_register_guest_info_callbacks(struct perf_guest_info_callbacks *callbacks);
 extern void perf_unregister_guest_info_callbacks(void);
 #endif /* CONFIG_HAVE_GUEST_PERF_EVENTS */
diff --git a/kernel/events/core.c b/kernel/events/core.c
index ec36e7aded89..fb0fd670ab23 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -6491,6 +6491,7 @@ void perf_register_guest_info_callbacks(struct perf_guest_info_callbacks *cbs)
 		return;
 
 	WRITE_ONCE(perf_guest_cbs, cbs);
+	arch_perf_update_guest_cbs(cbs);
 	synchronize_rcu();
 }
 EXPORT_SYMBOL_GPL(perf_register_guest_info_callbacks);
@@ -6498,6 +6499,7 @@ EXPORT_SYMBOL_GPL(perf_register_guest_info_callbacks);
 void perf_unregister_guest_info_callbacks(void)
 {
 	WRITE_ONCE(perf_guest_cbs, NULL);
+	arch_perf_update_guest_cbs(NULL);
 	synchronize_rcu();
 }
 EXPORT_SYMBOL_GPL(perf_unregister_guest_info_callbacks);
-- 
2.33.0.259.gc128427fd7-goog



From xen-devel-bounces@lists.xenproject.org Sat Aug 28 00:37:08 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 00:37:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174053.317583 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJmLL-0007bV-W3; Sat, 28 Aug 2021 00:37:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174053.317583; Sat, 28 Aug 2021 00:37:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJmLL-0007bM-Rt; Sat, 28 Aug 2021 00:37:07 +0000
Received: by outflank-mailman (input) for mailman id 174053;
 Sat, 28 Aug 2021 00:37:06 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Kops=NT=flex--seanjc.bounces.google.com=3G4UpYQYKCdoOA6JF8CKKCHA.8KITAJ-9ARAHHEOPO.TAJLNKFA8P.KNC@srs-us1.protection.inumbo.net>)
 id 1mJmLK-0003pb-GP
 for xen-devel@lists.xenproject.org; Sat, 28 Aug 2021 00:37:06 +0000
Received: from mail-qk1-x74a.google.com (unknown [2607:f8b0:4864:20::74a])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id fb1b3b20-5b18-4091-8a7b-956dc4e1bd4b;
 Sat, 28 Aug 2021 00:36:43 +0000 (UTC)
Received: by mail-qk1-x74a.google.com with SMTP id
 w2-20020a3794020000b02903b54f40b442so2360193qkd.0
 for <xen-devel@lists.xenproject.org>; Fri, 27 Aug 2021 17:36: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: fb1b3b20-5b18-4091-8a7b-956dc4e1bd4b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20161025;
        h=reply-to:date:in-reply-to:message-id:mime-version:references
         :subject:from:to:cc;
        bh=DHvdKUJPhOfdwKYi3gDlAxqlqPxsEI3eu21bt3UUIpQ=;
        b=cRSRDiBD1t9urqOzflAsrMtB378EAPg5jZzAQBu3WBpF9lCRiO9i1nInagQ5WfJGFI
         mazzpjLYk+9+pL+F9otrGLLg/n08ZevlzMBPHEYOnN+VdIB4A7wxwtFH6ZpoJLJJI+SZ
         rxf/NY8q5ZYsMDzhr085D9FW1b3CZFNUgnmsBtUOczgqmJA3n25Cy7DHpE8+8o64Przh
         loBGBaIDfQqOoqdZDGmQF17Fg+dmpa+acKaF2TUeYuJThxmscBQMPn7PZ7/xDoZrL4eO
         EjriiepZFNfgucM3RIv8HD8YQIWksY61k2qaludpcxy2qAakOC66DdAdCPUomdcFD1HM
         mmjg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:reply-to:date:in-reply-to:message-id
         :mime-version:references:subject:from:to:cc;
        bh=DHvdKUJPhOfdwKYi3gDlAxqlqPxsEI3eu21bt3UUIpQ=;
        b=JTFo0W3HGt5Taf0zWvFmmXZ57uevcWK1cBMM8QQ8LglLApMBm4aGt8T/nE3xmqiMiN
         xY1UWmUfD3+qDY7Q1f7H2h9tkqyGGpCi1WwKhpRl3QbmiImJmDvK8CCZea1OIrAXLh/j
         obvzXfePJVl6HrQeQzil2RX1WAiCziPtegr1WZwTSGlWajWx2LPRtxElyiJGUSL/O0FN
         6+h8OfDuKJHxA4y+6uk4Qsh6hpxuwp3j7M7wb4cnUtWcy0zhp9oRczRRkX8t+Jj/QTJR
         X1ThhxZU56tGAExQpkV4WP7tGuO2ISQw1aM8OWuUCFXeqxn49ODq+Lj/2w3SFH+4T/QI
         hv6g==
X-Gm-Message-State: AOAM533vDQkHCXqxUGl9MYMwI4YEGnXzNCmARuDze67t7h3y85fQvX6K
	iSqPTLgsUlFnwtA2BF8fcGsLWOr4mc8=
X-Google-Smtp-Source: ABdhPJwPL5V/RrJYzEwuqQz/lpqtoTngCSsfC6hM7seqpt+XgOfCSrLYZLMKAACl21hF27dX3suwlB0z88Y=
X-Received: from seanjc798194.pdx.corp.google.com ([2620:15c:90:200:f66c:b851:7e79:7ed4])
 (user=seanjc job=sendgmr) by 2002:ad4:5346:: with SMTP id v6mr12225725qvs.40.1630111003639;
 Fri, 27 Aug 2021 17:36:43 -0700 (PDT)
Reply-To: Sean Christopherson <seanjc@google.com>
Date: Fri, 27 Aug 2021 17:35:53 -0700
In-Reply-To: <20210828003558.713983-1-seanjc@google.com>
Message-Id: <20210828003558.713983-9-seanjc@google.com>
Mime-Version: 1.0
References: <20210828003558.713983-1-seanjc@google.com>
X-Mailer: git-send-email 2.33.0.259.gc128427fd7-goog
Subject: [PATCH v2 08/13] KVM: x86: Drop current_vcpu for kvm_running_vcpu +
 kvm_arch_vcpu variable
From: Sean Christopherson <seanjc@google.com>
To: Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>, 
	Catalin Marinas <catalin.marinas@arm.com>, Marc Zyngier <maz@kernel.org>, Guo Ren <guoren@kernel.org>, 
	Nick Hu <nickhu@andestech.com>, Greentime Hu <green.hu@gmail.com>, 
	Vincent Chen <deanbo422@gmail.com>, Paul Walmsley <paul.walmsley@sifive.com>, 
	Palmer Dabbelt <palmer@dabbelt.com>, Albert Ou <aou@eecs.berkeley.edu>, 
	Thomas Gleixner <tglx@linutronix.de>, Borislav Petkov <bp@alien8.de>, x86@kernel.org, 
	Paolo Bonzini <pbonzini@redhat.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Juergen Gross <jgross@suse.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@redhat.com>, 
	Namhyung Kim <namhyung@kernel.org>, James Morse <james.morse@arm.com>, 
	Alexandru Elisei <alexandru.elisei@arm.com>, Suzuki K Poulose <suzuki.poulose@arm.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Sean Christopherson <seanjc@google.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Wanpeng Li <wanpengli@tencent.com>, 
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, linux-perf-users@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, 
	kvmarm@lists.cs.columbia.edu, linux-csky@vger.kernel.org, 
	linux-riscv@lists.infradead.org, kvm@vger.kernel.org, 
	xen-devel@lists.xenproject.org, Artem Kashkanov <artem.kashkanov@intel.com>, 
	Like Xu <like.xu.linux@gmail.com>, Zhu Lingshan <lingshan.zhu@intel.com>
Content-Type: text/plain; charset="UTF-8"

Use the generic kvm_running_vcpu plus a new 'handling_intr_from_guest'
variable in kvm_arch_vcpu instead of the semi-redundant current_vcpu.
kvm_before/after_interrupt() must be called while the vCPU is loaded,
(which protects against preemption), thus kvm_running_vcpu is guaranteed
to be non-NULL when handling_intr_from_guest is non-zero.

Switching to kvm_get_running_vcpu() will allows moving KVM's perf
callbacks to generic code, and the new flag will be used in a future
patch to more precisely identify the "NMI from guest" case.

Signed-off-by: Sean Christopherson <seanjc@google.com>
---
 arch/x86/include/asm/kvm_host.h |  3 +--
 arch/x86/kvm/pmu.c              |  2 +-
 arch/x86/kvm/x86.c              | 21 ++++++++++++---------
 arch/x86/kvm/x86.h              | 10 ++++++----
 4 files changed, 20 insertions(+), 16 deletions(-)

diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
index 1080166fc0cf..2d86a2dfc775 100644
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -763,6 +763,7 @@ struct kvm_vcpu_arch {
 	unsigned nmi_pending; /* NMI queued after currently running handler */
 	bool nmi_injected;    /* Trying to inject an NMI this entry */
 	bool smi_pending;    /* SMI queued after currently running handler */
+	u8 handling_intr_from_guest;
 
 	struct kvm_mtrr mtrr_state;
 	u64 pat;
@@ -1874,8 +1875,6 @@ int kvm_skip_emulated_instruction(struct kvm_vcpu *vcpu);
 int kvm_complete_insn_gp(struct kvm_vcpu *vcpu, int err);
 void __kvm_request_immediate_exit(struct kvm_vcpu *vcpu);
 
-unsigned int kvm_guest_state(void);
-
 void __user *__x86_set_memory_region(struct kvm *kvm, int id, gpa_t gpa,
 				     u32 size);
 bool kvm_vcpu_is_reset_bsp(struct kvm_vcpu *vcpu);
diff --git a/arch/x86/kvm/pmu.c b/arch/x86/kvm/pmu.c
index 5b68d4188de0..eef48258e50f 100644
--- a/arch/x86/kvm/pmu.c
+++ b/arch/x86/kvm/pmu.c
@@ -87,7 +87,7 @@ static void kvm_perf_overflow_intr(struct perf_event *perf_event,
 		 * woken up. So we should wake it, but this is impossible from
 		 * NMI context. Do it from irq work instead.
 		 */
-		if (!kvm_guest_state())
+		if (!kvm_handling_nmi_from_guest(pmc->vcpu))
 			irq_work_queue(&pmc_to_pmu(pmc)->irq_work);
 		else
 			kvm_make_request(KVM_REQ_PMI, pmc->vcpu);
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index b2a4d085aa4f..6df300c55461 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -8264,15 +8264,17 @@ static void kvm_timer_init(void)
 			  kvmclock_cpu_online, kvmclock_cpu_down_prep);
 }
 
-DEFINE_PER_CPU(struct kvm_vcpu *, current_vcpu);
-EXPORT_PER_CPU_SYMBOL_GPL(current_vcpu);
+static inline bool kvm_pmi_in_guest(struct kvm_vcpu *vcpu)
+{
+	return vcpu && vcpu->arch.handling_intr_from_guest;
+}
 
-unsigned int kvm_guest_state(void)
+static unsigned int kvm_guest_state(void)
 {
-	struct kvm_vcpu *vcpu = __this_cpu_read(current_vcpu);
+	struct kvm_vcpu *vcpu = kvm_get_running_vcpu();
 	unsigned int state;
 
-	if (!vcpu)
+	if (!kvm_pmi_in_guest(vcpu))
 		return 0;
 
 	state = PERF_GUEST_ACTIVE;
@@ -8284,9 +8286,10 @@ unsigned int kvm_guest_state(void)
 
 static unsigned long kvm_guest_get_ip(void)
 {
-	struct kvm_vcpu *vcpu = __this_cpu_read(current_vcpu);
+	struct kvm_vcpu *vcpu = kvm_get_running_vcpu();
 
-	if (WARN_ON_ONCE(!vcpu))
+	/* Retrieving the IP must be guarded by a call to kvm_guest_state(). */
+	if (WARN_ON_ONCE(!kvm_pmi_in_guest(vcpu)))
 		return 0;
 
 	return kvm_rip_read(vcpu);
@@ -8294,10 +8297,10 @@ static unsigned long kvm_guest_get_ip(void)
 
 static unsigned int kvm_handle_intel_pt_intr(void)
 {
-	struct kvm_vcpu *vcpu = __this_cpu_read(current_vcpu);
+	struct kvm_vcpu *vcpu = kvm_get_running_vcpu();
 
 	/* '0' on failure so that the !PT case can use a RET0 static call. */
-	if (!vcpu)
+	if (!kvm_pmi_in_guest(vcpu))
 		return 0;
 
 	kvm_make_request(KVM_REQ_PMI, vcpu);
diff --git a/arch/x86/kvm/x86.h b/arch/x86/kvm/x86.h
index 7d66d63dc55a..a9c107e7c907 100644
--- a/arch/x86/kvm/x86.h
+++ b/arch/x86/kvm/x86.h
@@ -387,18 +387,20 @@ static inline bool kvm_cstate_in_guest(struct kvm *kvm)
 	return kvm->arch.cstate_in_guest;
 }
 
-DECLARE_PER_CPU(struct kvm_vcpu *, current_vcpu);
-
 static inline void kvm_before_interrupt(struct kvm_vcpu *vcpu)
 {
-	__this_cpu_write(current_vcpu, vcpu);
+	WRITE_ONCE(vcpu->arch.handling_intr_from_guest, 1);
 }
 
 static inline void kvm_after_interrupt(struct kvm_vcpu *vcpu)
 {
-	__this_cpu_write(current_vcpu, NULL);
+	WRITE_ONCE(vcpu->arch.handling_intr_from_guest, 0);
 }
 
+static inline bool kvm_handling_nmi_from_guest(struct kvm_vcpu *vcpu)
+{
+	return !!vcpu->arch.handling_intr_from_guest;
+}
 
 static inline bool kvm_pat_valid(u64 data)
 {
-- 
2.33.0.259.gc128427fd7-goog



From xen-devel-bounces@lists.xenproject.org Sat Aug 28 00:37:13 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 00:37:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174058.317594 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJmLR-0008Km-Bx; Sat, 28 Aug 2021 00:37:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174058.317594; Sat, 28 Aug 2021 00:37: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 1mJmLR-0008KY-7O; Sat, 28 Aug 2021 00:37:13 +0000
Received: by outflank-mailman (input) for mailman id 174058;
 Sat, 28 Aug 2021 00:37:11 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MgUS=NT=flex--seanjc.bounces.google.com=3HYUpYQYKCdwQC8LHAEMMEJC.AMKVCL-BCTCJJGQRQ.VCLNPMHCAR.MPE@srs-us1.protection.inumbo.net>)
 id 1mJmLP-0003pb-GR
 for xen-devel@lists.xenproject.org; Sat, 28 Aug 2021 00:37:11 +0000
Received: from mail-yb1-xb49.google.com (unknown [2607:f8b0:4864:20::b49])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 1a75cb6c-1f31-42c4-8839-4da048f74e79;
 Sat, 28 Aug 2021 00:36:46 +0000 (UTC)
Received: by mail-yb1-xb49.google.com with SMTP id
 b9-20020a5b07890000b0290558245b7eabso652088ybq.10
 for <xen-devel@lists.xenproject.org>; Fri, 27 Aug 2021 17:36: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: 1a75cb6c-1f31-42c4-8839-4da048f74e79
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20161025;
        h=reply-to:date:in-reply-to:message-id:mime-version:references
         :subject:from:to:cc;
        bh=ZqLtQecZGSWC4AA1MNUminuBnJfUTZ97werLGL77udw=;
        b=W7YW+zmYlqt7RZocpxt+Zt9pY0UpoY2KAKci8cZwj6B9FcylXpzGzQs460J2eCLeO7
         teq3g48IMVj8VY2IbRoULnBfpkow62kQ4WR9lSbT6+S3/VfO1mprPaUeR/TGh9eLXRlv
         Lc3Rfpl3D1r7APNREe18xnEdMpPT4WiL/4dbHUEcReZ3q/7v2SIOWBkUSbCpfx5nigei
         7+ogWXDBydp9r/EwqpMZCW2iShx49w75B8rV8caRVnqX3Ryr6RI6XSvcak0ct7nIrRDY
         DLc6aNoMH3Xu51qkT4HMU2d6imm3Ju+neyD/xf4o05nAqKv3vaT7w7RaHNmHBwGJNnFa
         GvhQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:reply-to:date:in-reply-to:message-id
         :mime-version:references:subject:from:to:cc;
        bh=ZqLtQecZGSWC4AA1MNUminuBnJfUTZ97werLGL77udw=;
        b=HeSHm0uzHhpGkY/rouQ2O9PTXIWL2Pg8MhwigBOJVZw2d6llu/fltsnmo24crjFXdP
         LOSAh9P8jdlt+lJoz+zKKqrOhNja9mx9fZWEF/ACSWeNH8Ms/dQonDLTVZ/nrm7Kn371
         0dH+u4l48dQBPAEJ4B3Pvb8PwuuYk+IOlENbXapMQoij2WueP1Cze5fwNM0UANAHxJIZ
         eUiV3Wwf3qrwAwT8kvZ0y7QzOT5WzAu5+Kv5aaVVs/U5F4Weo5GpRxNuS7/ZEji9LJW4
         Sa79XBs2bKZ7dfE7/ulbioHAukOHsIZ4dMHXHObaxi11r8cI8as9JGs2UkWfh5Bxpjbm
         3Eyw==
X-Gm-Message-State: AOAM533E+a02G5jDFBEgQTLFr6G0eUrDp4wTCK4B7XpxUdZ08C4Zy65P
	QdaAumxit4ueefswIU3iVZWCZoMbzps=
X-Google-Smtp-Source: ABdhPJypKVd0cLFh8EuRLmmqpexQyXCav+rSvE30xuwBhSiRSkaWIzvoFPoqFTfkE5i16U7H5ekOzDpkr2E=
X-Received: from seanjc798194.pdx.corp.google.com ([2620:15c:90:200:f66c:b851:7e79:7ed4])
 (user=seanjc job=sendgmr) by 2002:a25:f503:: with SMTP id a3mr8148726ybe.501.1630111005865;
 Fri, 27 Aug 2021 17:36:45 -0700 (PDT)
Reply-To: Sean Christopherson <seanjc@google.com>
Date: Fri, 27 Aug 2021 17:35:54 -0700
In-Reply-To: <20210828003558.713983-1-seanjc@google.com>
Message-Id: <20210828003558.713983-10-seanjc@google.com>
Mime-Version: 1.0
References: <20210828003558.713983-1-seanjc@google.com>
X-Mailer: git-send-email 2.33.0.259.gc128427fd7-goog
Subject: [PATCH v2 09/13] KVM: x86: More precisely identify NMI from guest
 when handling PMI
From: Sean Christopherson <seanjc@google.com>
To: Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>, 
	Catalin Marinas <catalin.marinas@arm.com>, Marc Zyngier <maz@kernel.org>, Guo Ren <guoren@kernel.org>, 
	Nick Hu <nickhu@andestech.com>, Greentime Hu <green.hu@gmail.com>, 
	Vincent Chen <deanbo422@gmail.com>, Paul Walmsley <paul.walmsley@sifive.com>, 
	Palmer Dabbelt <palmer@dabbelt.com>, Albert Ou <aou@eecs.berkeley.edu>, 
	Thomas Gleixner <tglx@linutronix.de>, Borislav Petkov <bp@alien8.de>, x86@kernel.org, 
	Paolo Bonzini <pbonzini@redhat.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Juergen Gross <jgross@suse.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@redhat.com>, 
	Namhyung Kim <namhyung@kernel.org>, James Morse <james.morse@arm.com>, 
	Alexandru Elisei <alexandru.elisei@arm.com>, Suzuki K Poulose <suzuki.poulose@arm.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Sean Christopherson <seanjc@google.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Wanpeng Li <wanpengli@tencent.com>, 
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, linux-perf-users@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, 
	kvmarm@lists.cs.columbia.edu, linux-csky@vger.kernel.org, 
	linux-riscv@lists.infradead.org, kvm@vger.kernel.org, 
	xen-devel@lists.xenproject.org, Artem Kashkanov <artem.kashkanov@intel.com>, 
	Like Xu <like.xu.linux@gmail.com>, Zhu Lingshan <lingshan.zhu@intel.com>
Content-Type: text/plain; charset="UTF-8"

Differntiate between IRQ and NMI for KVM's PMC overflow callback, which
was originally invoked in response to an NMI that arrived while the guest
was running, but was inadvertantly changed to fire on IRQs as well when
support for perf without PMU/NMI was added to KVM.  In practice, this
should be a nop as the PMC overflow callback shouldn't be reached, but
it's a cheap and easy fix that also better documents the situation.

Note, this also doesn't completely prevent false positives if perf
somehow ends up calling into KVM, e.g. an NMI can arrive in host after
KVM sets its flag.

Fixes: dd60d217062f ("KVM: x86: Fix perf timer mode IP reporting")
Signed-off-by: Sean Christopherson <seanjc@google.com>
---
 arch/x86/kvm/svm/svm.c |  2 +-
 arch/x86/kvm/vmx/vmx.c |  4 +++-
 arch/x86/kvm/x86.c     |  2 +-
 arch/x86/kvm/x86.h     | 13 ++++++++++---
 4 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c
index 1a70e11f0487..0a0c01744b63 100644
--- a/arch/x86/kvm/svm/svm.c
+++ b/arch/x86/kvm/svm/svm.c
@@ -3843,7 +3843,7 @@ static __no_kcsan fastpath_t svm_vcpu_run(struct kvm_vcpu *vcpu)
 	}
 
 	if (unlikely(svm->vmcb->control.exit_code == SVM_EXIT_NMI))
-		kvm_before_interrupt(vcpu);
+		kvm_before_interrupt(vcpu, KVM_HANDLING_NMI);
 
 	kvm_load_host_xsave_state(vcpu);
 	stgi();
diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
index f19d72136f77..61a4f5ff2acd 100644
--- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c
@@ -6344,7 +6344,9 @@ void vmx_do_interrupt_nmi_irqoff(unsigned long entry);
 static void handle_interrupt_nmi_irqoff(struct kvm_vcpu *vcpu,
 					unsigned long entry)
 {
-	kvm_before_interrupt(vcpu);
+	bool is_nmi = entry == (unsigned long)asm_exc_nmi_noist;
+
+	kvm_before_interrupt(vcpu, is_nmi ? KVM_HANDLING_NMI : KVM_HANDLING_IRQ);
 	vmx_do_interrupt_nmi_irqoff(entry);
 	kvm_after_interrupt(vcpu);
 }
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 6df300c55461..1427ac1fc1f2 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -9676,7 +9676,7 @@ static int vcpu_enter_guest(struct kvm_vcpu *vcpu)
 	 * interrupts on processors that implement an interrupt shadow, the
 	 * stat.exits increment will do nicely.
 	 */
-	kvm_before_interrupt(vcpu);
+	kvm_before_interrupt(vcpu, KVM_HANDLING_IRQ);
 	local_irq_enable();
 	++vcpu->stat.exits;
 	local_irq_disable();
diff --git a/arch/x86/kvm/x86.h b/arch/x86/kvm/x86.h
index a9c107e7c907..9b26f9b09d2a 100644
--- a/arch/x86/kvm/x86.h
+++ b/arch/x86/kvm/x86.h
@@ -387,9 +387,16 @@ static inline bool kvm_cstate_in_guest(struct kvm *kvm)
 	return kvm->arch.cstate_in_guest;
 }
 
-static inline void kvm_before_interrupt(struct kvm_vcpu *vcpu)
+enum kvm_intr_type {
+	/* Values are arbitrary, but must be non-zero. */
+	KVM_HANDLING_IRQ = 1,
+	KVM_HANDLING_NMI,
+};
+
+static inline void kvm_before_interrupt(struct kvm_vcpu *vcpu,
+					enum kvm_intr_type intr)
 {
-	WRITE_ONCE(vcpu->arch.handling_intr_from_guest, 1);
+	WRITE_ONCE(vcpu->arch.handling_intr_from_guest, (u8)intr);
 }
 
 static inline void kvm_after_interrupt(struct kvm_vcpu *vcpu)
@@ -399,7 +406,7 @@ static inline void kvm_after_interrupt(struct kvm_vcpu *vcpu)
 
 static inline bool kvm_handling_nmi_from_guest(struct kvm_vcpu *vcpu)
 {
-	return !!vcpu->arch.handling_intr_from_guest;
+	return vcpu->arch.handling_intr_from_guest == KVM_HANDLING_NMI;
 }
 
 static inline bool kvm_pat_valid(u64 data)
-- 
2.33.0.259.gc128427fd7-goog



From xen-devel-bounces@lists.xenproject.org Sat Aug 28 00:41:04 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 00:41:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174079.317605 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJmP9-0002Mn-Up; Sat, 28 Aug 2021 00:41:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174079.317605; Sat, 28 Aug 2021 00: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 1mJmP9-0002Mg-R2; Sat, 28 Aug 2021 00:41:03 +0000
Received: by outflank-mailman (input) for mailman id 174079;
 Sat, 28 Aug 2021 00:41:02 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fu5H=NT=flex--seanjc.bounces.google.com=3IIUpYQYKCd8TFBOKDHPPHMF.DPNYFO-EFWFMMJTUT.YFOQSPKFDU.PSH@srs-us1.protection.inumbo.net>)
 id 1mJmLU-0003pb-Gg
 for xen-devel@lists.xenproject.org; Sat, 28 Aug 2021 00:37:16 +0000
Received: from mail-qt1-x849.google.com (unknown [2607:f8b0:4864:20::849])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id aeb0981c-1cc2-40fb-bfbb-037c7fcfc35a;
 Sat, 28 Aug 2021 00:36:48 +0000 (UTC)
Received: by mail-qt1-x849.google.com with SMTP id
 e6-20020ac84e46000000b0029baad9aaa0so1452314qtw.11
 for <xen-devel@lists.xenproject.org>; Fri, 27 Aug 2021 17:36: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: aeb0981c-1cc2-40fb-bfbb-037c7fcfc35a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20161025;
        h=reply-to:date:in-reply-to:message-id:mime-version:references
         :subject:from:to:cc;
        bh=kV+43gCo9lUv9XBpq5GszAcUqdFbD0VTdN9gkn90biY=;
        b=rxQFl/E0q7TG4eTtS8cvaKjpz+1uZzXKYUahAXBLz4zSPj8Lw+VLh8Mb1BBBtiQKNw
         BlNjA876gHwdxDucFChcGa5H2Zi316XYlCmTuKX+ROmAwLv/BIgb2shswMUBN0+4HLwS
         zQZ7ZkLSnOZFUPXFuFHGYUDr9nX4Oea1w/M1oQqjqJxqbK6ba2arrO/e5Qo8o9ZtAlj/
         FOSv9aQsEN9L3IoU1DIQcVeEZ3bqRPKaoHTa52LbneQ89SWlRvFoztysKfBpWoaqqjBB
         nB92v+uOO+V41If/3hHsbxNnCSO1+LGRQHtXQib4wWZe8INcZp3C8P1oHhmk1iC8OAIJ
         Gmig==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:reply-to:date:in-reply-to:message-id
         :mime-version:references:subject:from:to:cc;
        bh=kV+43gCo9lUv9XBpq5GszAcUqdFbD0VTdN9gkn90biY=;
        b=oZXXJV/LIzbeVMSv+vPRWh+V8SxPC/szbS+1JM72F+TTQ6wLHlxTCVG/bZfbliY6xD
         j7o5M7C7y9CAaoN0c8jazSyaJnOktsJ6liBzwLUwQh4THMfdycCPOe7OFsWaYbT7Zv66
         LEfKJd9JaNB53nLY0AF2U13OZ7bRFlA3TeReQkiYKekEIKb5T3Rquay4MCJq1D6GG92o
         7lwu5Bvhk7oSiF1BT6mKL5Bkc0FHsQ0Zve8EoJlzv7jq2xNulTeWschXN54A8cb6RwIo
         nVJK4MZMw4m8vmNqQXf1IuB2wKnEklYj8erhXDiZuEL7L00UDkSCIlyBXOnrF2os+Wvc
         RC8A==
X-Gm-Message-State: AOAM533vcWTmFXY/LzGF/XZ8PLVzgsTzAJ4ZdyRp92x1GMXWuSrAz0ao
	k0BBUSRx7HZCEmV/dSoomlgamGsMeYU=
X-Google-Smtp-Source: ABdhPJzs4DFqQHNeRKzV+tkWBighuxilPoPlwqBBJW7KkYH0Bkccb5PXEDnQkRBBiHYdU/kdTKgE4wfebtg=
X-Received: from seanjc798194.pdx.corp.google.com ([2620:15c:90:200:f66c:b851:7e79:7ed4])
 (user=seanjc job=sendgmr) by 2002:a0c:f88f:: with SMTP id u15mr12630183qvn.38.1630111008043;
 Fri, 27 Aug 2021 17:36:48 -0700 (PDT)
Reply-To: Sean Christopherson <seanjc@google.com>
Date: Fri, 27 Aug 2021 17:35:55 -0700
In-Reply-To: <20210828003558.713983-1-seanjc@google.com>
Message-Id: <20210828003558.713983-11-seanjc@google.com>
Mime-Version: 1.0
References: <20210828003558.713983-1-seanjc@google.com>
X-Mailer: git-send-email 2.33.0.259.gc128427fd7-goog
Subject: [PATCH v2 10/13] KVM: Move x86's perf guest info callbacks to generic KVM
From: Sean Christopherson <seanjc@google.com>
To: Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>, 
	Catalin Marinas <catalin.marinas@arm.com>, Marc Zyngier <maz@kernel.org>, Guo Ren <guoren@kernel.org>, 
	Nick Hu <nickhu@andestech.com>, Greentime Hu <green.hu@gmail.com>, 
	Vincent Chen <deanbo422@gmail.com>, Paul Walmsley <paul.walmsley@sifive.com>, 
	Palmer Dabbelt <palmer@dabbelt.com>, Albert Ou <aou@eecs.berkeley.edu>, 
	Thomas Gleixner <tglx@linutronix.de>, Borislav Petkov <bp@alien8.de>, x86@kernel.org, 
	Paolo Bonzini <pbonzini@redhat.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Juergen Gross <jgross@suse.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@redhat.com>, 
	Namhyung Kim <namhyung@kernel.org>, James Morse <james.morse@arm.com>, 
	Alexandru Elisei <alexandru.elisei@arm.com>, Suzuki K Poulose <suzuki.poulose@arm.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Sean Christopherson <seanjc@google.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Wanpeng Li <wanpengli@tencent.com>, 
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, linux-perf-users@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, 
	kvmarm@lists.cs.columbia.edu, linux-csky@vger.kernel.org, 
	linux-riscv@lists.infradead.org, kvm@vger.kernel.org, 
	xen-devel@lists.xenproject.org, Artem Kashkanov <artem.kashkanov@intel.com>, 
	Like Xu <like.xu.linux@gmail.com>, Zhu Lingshan <lingshan.zhu@intel.com>
Content-Type: text/plain; charset="UTF-8"

Move x86's perf guest callbacks into common KVM, as they are semantically
identical to arm64's callbacks (the only other such KVM callbacks).
arm64 will convert to the common versions in a future patch.

Signed-off-by: Sean Christopherson <seanjc@google.com>
---
 arch/x86/include/asm/kvm_host.h |  4 +++
 arch/x86/kvm/x86.c              | 53 +++++++--------------------------
 include/linux/kvm_host.h        | 12 ++++++++
 virt/kvm/kvm_main.c             | 40 +++++++++++++++++++++++++
 4 files changed, 67 insertions(+), 42 deletions(-)

diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
index 2d86a2dfc775..a98c7907110c 100644
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -1543,6 +1543,10 @@ static inline int kvm_arch_flush_remote_tlb(struct kvm *kvm)
 		return -ENOTSUPP;
 }
 
+#define __KVM_WANT_PERF_CALLBACKS
+#define kvm_arch_pmi_in_guest(vcpu) \
+	((vcpu) && (vcpu)->arch.handling_intr_from_guest)
+
 int kvm_mmu_module_init(void);
 void kvm_mmu_module_exit(void);
 
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 1427ac1fc1f2..1bea616402e6 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -8264,43 +8264,12 @@ static void kvm_timer_init(void)
 			  kvmclock_cpu_online, kvmclock_cpu_down_prep);
 }
 
-static inline bool kvm_pmi_in_guest(struct kvm_vcpu *vcpu)
-{
-	return vcpu && vcpu->arch.handling_intr_from_guest;
-}
-
-static unsigned int kvm_guest_state(void)
-{
-	struct kvm_vcpu *vcpu = kvm_get_running_vcpu();
-	unsigned int state;
-
-	if (!kvm_pmi_in_guest(vcpu))
-		return 0;
-
-	state = PERF_GUEST_ACTIVE;
-	if (static_call(kvm_x86_get_cpl)(vcpu))
-		state |= PERF_GUEST_USER;
-
-	return state;
-}
-
-static unsigned long kvm_guest_get_ip(void)
-{
-	struct kvm_vcpu *vcpu = kvm_get_running_vcpu();
-
-	/* Retrieving the IP must be guarded by a call to kvm_guest_state(). */
-	if (WARN_ON_ONCE(!kvm_pmi_in_guest(vcpu)))
-		return 0;
-
-	return kvm_rip_read(vcpu);
-}
-
 static unsigned int kvm_handle_intel_pt_intr(void)
 {
 	struct kvm_vcpu *vcpu = kvm_get_running_vcpu();
 
 	/* '0' on failure so that the !PT case can use a RET0 static call. */
-	if (!kvm_pmi_in_guest(vcpu))
+	if (!kvm_arch_pmi_in_guest(vcpu))
 		return 0;
 
 	kvm_make_request(KVM_REQ_PMI, vcpu);
@@ -8309,12 +8278,6 @@ static unsigned int kvm_handle_intel_pt_intr(void)
 	return 1;
 }
 
-static struct perf_guest_info_callbacks kvm_guest_cbs = {
-	.state			= kvm_guest_state,
-	.get_ip			= kvm_guest_get_ip,
-	.handle_intel_pt_intr	= NULL,
-};
-
 #ifdef CONFIG_X86_64
 static void pvclock_gtod_update_fn(struct work_struct *work)
 {
@@ -11068,9 +11031,11 @@ int kvm_arch_hardware_setup(void *opaque)
 	memcpy(&kvm_x86_ops, ops->runtime_ops, sizeof(kvm_x86_ops));
 	kvm_ops_static_call_update();
 
+	/* Temporary ugliness. */
 	if (ops->intel_pt_intr_in_guest && ops->intel_pt_intr_in_guest())
-		kvm_guest_cbs.handle_intel_pt_intr = kvm_handle_intel_pt_intr;
-	perf_register_guest_info_callbacks(&kvm_guest_cbs);
+		kvm_register_perf_callbacks(kvm_handle_intel_pt_intr);
+	else
+		kvm_register_perf_callbacks(NULL);
 
 	if (!kvm_cpu_cap_has(X86_FEATURE_XSAVES))
 		supported_xss = 0;
@@ -11099,8 +11064,7 @@ int kvm_arch_hardware_setup(void *opaque)
 
 void kvm_arch_hardware_unsetup(void)
 {
-	perf_unregister_guest_info_callbacks();
-	kvm_guest_cbs.handle_intel_pt_intr = NULL;
+	kvm_unregister_perf_callbacks();
 
 	static_call(kvm_x86_hardware_unsetup)();
 }
@@ -11727,6 +11691,11 @@ bool kvm_arch_vcpu_in_kernel(struct kvm_vcpu *vcpu)
 	return vcpu->arch.preempted_in_kernel;
 }
 
+unsigned long kvm_arch_vcpu_get_ip(struct kvm_vcpu *vcpu)
+{
+	return kvm_rip_read(vcpu);
+}
+
 int kvm_arch_vcpu_should_kick(struct kvm_vcpu *vcpu)
 {
 	return kvm_vcpu_exiting_guest_mode(vcpu) == IN_GUEST_MODE;
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
index e4d712e9f760..34d99034852f 100644
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
@@ -1163,6 +1163,18 @@ static inline bool kvm_arch_intc_initialized(struct kvm *kvm)
 }
 #endif
 
+#ifdef __KVM_WANT_PERF_CALLBACKS
+
+void kvm_set_intel_pt_intr_handler(unsigned int (*handler)(void));
+unsigned long kvm_arch_vcpu_get_ip(struct kvm_vcpu *vcpu);
+
+void kvm_register_perf_callbacks(unsigned int (*pt_intr_handler)(void));
+static inline void kvm_unregister_perf_callbacks(void)
+{
+	perf_unregister_guest_info_callbacks();
+}
+#endif
+
 int kvm_arch_init_vm(struct kvm *kvm, unsigned long type);
 void kvm_arch_destroy_vm(struct kvm *kvm);
 void kvm_arch_sync_events(struct kvm *kvm);
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index 3e67c93ca403..2c61db39b501 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -5460,6 +5460,46 @@ struct kvm_vcpu * __percpu *kvm_get_running_vcpus(void)
         return &kvm_running_vcpu;
 }
 
+#ifdef __KVM_WANT_PERF_CALLBACKS
+static unsigned int kvm_guest_state(void)
+{
+	struct kvm_vcpu *vcpu = kvm_get_running_vcpu();
+	unsigned int state;
+
+	if (!kvm_arch_pmi_in_guest(vcpu))
+		return 0;
+
+	state = PERF_GUEST_ACTIVE;
+	if (!kvm_arch_vcpu_in_kernel(vcpu))
+		state |= PERF_GUEST_USER;
+
+	return state;
+}
+
+static unsigned long kvm_guest_get_ip(void)
+{
+	struct kvm_vcpu *vcpu = kvm_get_running_vcpu();
+
+	/* Retrieving the IP must be guarded by a call to kvm_guest_state(). */
+	if (WARN_ON_ONCE(!kvm_arch_pmi_in_guest(vcpu)))
+		return 0;
+
+	return kvm_arch_vcpu_get_ip(vcpu);
+}
+
+static struct perf_guest_info_callbacks kvm_guest_cbs = {
+	.state			= kvm_guest_state,
+	.get_ip			= kvm_guest_get_ip,
+	.handle_intel_pt_intr	= NULL,
+};
+
+void kvm_register_perf_callbacks(unsigned int (*pt_intr_handler)(void))
+{
+	kvm_guest_cbs.handle_intel_pt_intr = pt_intr_handler;
+	perf_register_guest_info_callbacks(&kvm_guest_cbs);
+}
+#endif
+
 struct kvm_cpu_compat_check {
 	void *opaque;
 	int *ret;
-- 
2.33.0.259.gc128427fd7-goog



From xen-devel-bounces@lists.xenproject.org Sat Aug 28 00:42:15 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 00:42:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174090.317616 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJmQG-00038b-8D; Sat, 28 Aug 2021 00:42:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174090.317616; Sat, 28 Aug 2021 00:42:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJmQG-00038F-3h; Sat, 28 Aug 2021 00:42:12 +0000
Received: by outflank-mailman (input) for mailman id 174090;
 Sat, 28 Aug 2021 00:42:11 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=D7cc=NT=flex--seanjc.bounces.google.com=3IoUpYQYKCeEVHDQMFJRRJOH.FRPaHQ-GHYHOOLVWV.aHQSURMHFW.RUJ@srs-us1.protection.inumbo.net>)
 id 1mJmLZ-0003pb-Gv
 for xen-devel@lists.xenproject.org; Sat, 28 Aug 2021 00:37:21 +0000
Received: from mail-qt1-x84a.google.com (unknown [2607:f8b0:4864:20::84a])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c2e382c6-5efc-4687-bcf8-ae378d085452;
 Sat, 28 Aug 2021 00:36:50 +0000 (UTC)
Received: by mail-qt1-x84a.google.com with SMTP id
 o22-20020ac872d60000b029029817302575so5881707qtp.10
 for <xen-devel@lists.xenproject.org>; Fri, 27 Aug 2021 17:36:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c2e382c6-5efc-4687-bcf8-ae378d085452
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20161025;
        h=reply-to:date:in-reply-to:message-id:mime-version:references
         :subject:from:to:cc;
        bh=12ZRJNbNqDVAbxhZSOCyDcPf9hFLX5MHnweni3QFi0c=;
        b=iLNSgtMMmWhPukAfNbXvTTIYc6dXiH564tVo4Ccok40pcj7Q1+P/ARsT7PV8AyBdmK
         HJj6MjluW1BB5E0dRBPWWlbq5RPbONE16r5eytzJ5dtT3Mx/PdOBt38hIWAuJRNbURm/
         xNeeH/oYQ/ranGoB1l4Hm10ertIZkv2GfYm55Wd5igk0ilFh3pXhtUy2sEOwRtYDMAyh
         6rcUqhAqdWJQ80KdyFCjp1TGV/qxmUBqN/OP8u5cNvZ4wuCxHf+yb2U7VWMwLJg0Tjpm
         8+MmLRoRfyDYZSJ9jwmqHx7eyPBkiWNXYqNrFjX3lIda1O9H5NM6CV+Oc6WxIubml381
         UDrA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:reply-to:date:in-reply-to:message-id
         :mime-version:references:subject:from:to:cc;
        bh=12ZRJNbNqDVAbxhZSOCyDcPf9hFLX5MHnweni3QFi0c=;
        b=TC2iY0cBy3AgOfN6r+iNFHZ9X7e04Wlb9JvBIypep6PtzkILoYdqJ3b4g0uhtTPyAl
         uhtH0sUx3LHb4Fn/FgjI+CAUGv3uPv0BoDdKThMzkjIFIHMT3yfAPLbk0xxOqRMSouQi
         VgJ1PHpwUMEFQj+rpKWp3j28L3GsJeTW2R8v+lZyGisj5wMxIbdQ4mFj2V3Duj1RweaC
         t58B1OsmjxU4iX9Wgsd5EYrmD9cxHhsBuxAbb3TzBQDzSxkB6y1NMRofOVaF1JyXprhF
         40BNJy11asGgnfcuNmg7tYDkQipVB1VOyu+fGDhcRFI9QtqD2dhaJEaUTdeeKTjqIWiH
         pX0w==
X-Gm-Message-State: AOAM533F7ChJPvIv+RihwATCJV6PU1Dz6VsgD3GakZTxEbe7idpigEV7
	RV9wDnVSv/uly5PYkZpjVOwGUYiFARQ=
X-Google-Smtp-Source: ABdhPJz2jvWRX6eHn8Br1Aba6NZj9m8KgLtjAjXtG8dC54Dd/WTNajNGxSMzGoZjDoekQIJTzJgi/4Z3X0I=
X-Received: from seanjc798194.pdx.corp.google.com ([2620:15c:90:200:f66c:b851:7e79:7ed4])
 (user=seanjc job=sendgmr) by 2002:a0c:ef0d:: with SMTP id t13mr12401497qvr.21.1630111010073;
 Fri, 27 Aug 2021 17:36:50 -0700 (PDT)
Reply-To: Sean Christopherson <seanjc@google.com>
Date: Fri, 27 Aug 2021 17:35:56 -0700
In-Reply-To: <20210828003558.713983-1-seanjc@google.com>
Message-Id: <20210828003558.713983-12-seanjc@google.com>
Mime-Version: 1.0
References: <20210828003558.713983-1-seanjc@google.com>
X-Mailer: git-send-email 2.33.0.259.gc128427fd7-goog
Subject: [PATCH v2 11/13] KVM: x86: Move Intel Processor Trace interrupt
 handler to vmx.c
From: Sean Christopherson <seanjc@google.com>
To: Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>, 
	Catalin Marinas <catalin.marinas@arm.com>, Marc Zyngier <maz@kernel.org>, Guo Ren <guoren@kernel.org>, 
	Nick Hu <nickhu@andestech.com>, Greentime Hu <green.hu@gmail.com>, 
	Vincent Chen <deanbo422@gmail.com>, Paul Walmsley <paul.walmsley@sifive.com>, 
	Palmer Dabbelt <palmer@dabbelt.com>, Albert Ou <aou@eecs.berkeley.edu>, 
	Thomas Gleixner <tglx@linutronix.de>, Borislav Petkov <bp@alien8.de>, x86@kernel.org, 
	Paolo Bonzini <pbonzini@redhat.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Juergen Gross <jgross@suse.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@redhat.com>, 
	Namhyung Kim <namhyung@kernel.org>, James Morse <james.morse@arm.com>, 
	Alexandru Elisei <alexandru.elisei@arm.com>, Suzuki K Poulose <suzuki.poulose@arm.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Sean Christopherson <seanjc@google.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Wanpeng Li <wanpengli@tencent.com>, 
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, linux-perf-users@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, 
	kvmarm@lists.cs.columbia.edu, linux-csky@vger.kernel.org, 
	linux-riscv@lists.infradead.org, kvm@vger.kernel.org, 
	xen-devel@lists.xenproject.org, Artem Kashkanov <artem.kashkanov@intel.com>, 
	Like Xu <like.xu.linux@gmail.com>, Zhu Lingshan <lingshan.zhu@intel.com>
Content-Type: text/plain; charset="UTF-8"

Now that all state needed for VMX's PT interrupt handler is exposed to
vmx.c (specifically the currently running vCPU), move the handler into
vmx.c where it belongs.

Signed-off-by: Sean Christopherson <seanjc@google.com>
---
 arch/x86/include/asm/kvm_host.h |  2 +-
 arch/x86/kvm/vmx/vmx.c          | 22 +++++++++++++++++++++-
 arch/x86/kvm/x86.c              | 20 +-------------------
 include/linux/kvm_host.h        |  2 --
 4 files changed, 23 insertions(+), 23 deletions(-)

diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
index a98c7907110c..7a3d1dcfef39 100644
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -1495,7 +1495,7 @@ struct kvm_x86_init_ops {
 	int (*disabled_by_bios)(void);
 	int (*check_processor_compatibility)(void);
 	int (*hardware_setup)(void);
-	bool (*intel_pt_intr_in_guest)(void);
+	unsigned int (*handle_intel_pt_intr)(void);
 
 	struct kvm_x86_ops *runtime_ops;
 };
diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
index 61a4f5ff2acd..33f92febe3ce 100644
--- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c
@@ -7687,6 +7687,20 @@ static struct kvm_x86_ops vmx_x86_ops __initdata = {
 	.vcpu_deliver_sipi_vector = kvm_vcpu_deliver_sipi_vector,
 };
 
+static unsigned int vmx_handle_intel_pt_intr(void)
+{
+	struct kvm_vcpu *vcpu = kvm_get_running_vcpu();
+
+	/* '0' on failure so that the !PT case can use a RET0 static call. */
+	if (!kvm_arch_pmi_in_guest(vcpu))
+		return 0;
+
+	kvm_make_request(KVM_REQ_PMI, vcpu);
+	__set_bit(MSR_CORE_PERF_GLOBAL_OVF_CTRL_TRACE_TOPA_PMI_BIT,
+		  (unsigned long *)&vcpu->arch.pmu.global_status);
+	return 1;
+}
+
 static __init void vmx_setup_user_return_msrs(void)
 {
 
@@ -7713,6 +7727,8 @@ static __init void vmx_setup_user_return_msrs(void)
 		kvm_add_user_return_msr(vmx_uret_msrs_list[i]);
 }
 
+static struct kvm_x86_init_ops vmx_init_ops __initdata;
+
 static __init int hardware_setup(void)
 {
 	unsigned long host_bndcfgs;
@@ -7873,6 +7889,10 @@ static __init int hardware_setup(void)
 		return -EINVAL;
 	if (!enable_ept || !cpu_has_vmx_intel_pt())
 		pt_mode = PT_MODE_SYSTEM;
+	if (pt_mode == PT_MODE_HOST_GUEST)
+		vmx_init_ops.handle_intel_pt_intr = vmx_handle_intel_pt_intr;
+	else
+		vmx_init_ops.handle_intel_pt_intr = NULL;
 
 	setup_default_sgx_lepubkeyhash();
 
@@ -7898,7 +7918,7 @@ static struct kvm_x86_init_ops vmx_init_ops __initdata = {
 	.disabled_by_bios = vmx_disabled_by_bios,
 	.check_processor_compatibility = vmx_check_processor_compat,
 	.hardware_setup = hardware_setup,
-	.intel_pt_intr_in_guest = vmx_pt_mode_is_host_guest,
+	.handle_intel_pt_intr = NULL,
 
 	.runtime_ops = &vmx_x86_ops,
 };
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 1bea616402e6..b79b2d29260d 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -8264,20 +8264,6 @@ static void kvm_timer_init(void)
 			  kvmclock_cpu_online, kvmclock_cpu_down_prep);
 }
 
-static unsigned int kvm_handle_intel_pt_intr(void)
-{
-	struct kvm_vcpu *vcpu = kvm_get_running_vcpu();
-
-	/* '0' on failure so that the !PT case can use a RET0 static call. */
-	if (!kvm_arch_pmi_in_guest(vcpu))
-		return 0;
-
-	kvm_make_request(KVM_REQ_PMI, vcpu);
-	__set_bit(MSR_CORE_PERF_GLOBAL_OVF_CTRL_TRACE_TOPA_PMI_BIT,
-			(unsigned long *)&vcpu->arch.pmu.global_status);
-	return 1;
-}
-
 #ifdef CONFIG_X86_64
 static void pvclock_gtod_update_fn(struct work_struct *work)
 {
@@ -11031,11 +11017,7 @@ int kvm_arch_hardware_setup(void *opaque)
 	memcpy(&kvm_x86_ops, ops->runtime_ops, sizeof(kvm_x86_ops));
 	kvm_ops_static_call_update();
 
-	/* Temporary ugliness. */
-	if (ops->intel_pt_intr_in_guest && ops->intel_pt_intr_in_guest())
-		kvm_register_perf_callbacks(kvm_handle_intel_pt_intr);
-	else
-		kvm_register_perf_callbacks(NULL);
+	kvm_register_perf_callbacks(ops->handle_intel_pt_intr);
 
 	if (!kvm_cpu_cap_has(X86_FEATURE_XSAVES))
 		supported_xss = 0;
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
index 34d99034852f..b9235c3ac6af 100644
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
@@ -1164,8 +1164,6 @@ static inline bool kvm_arch_intc_initialized(struct kvm *kvm)
 #endif
 
 #ifdef __KVM_WANT_PERF_CALLBACKS
-
-void kvm_set_intel_pt_intr_handler(unsigned int (*handler)(void));
 unsigned long kvm_arch_vcpu_get_ip(struct kvm_vcpu *vcpu);
 
 void kvm_register_perf_callbacks(unsigned int (*pt_intr_handler)(void));
-- 
2.33.0.259.gc128427fd7-goog



From xen-devel-bounces@lists.xenproject.org Sat Aug 28 00:42:15 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 00:42:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174096.317626 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJmQH-0003R4-Ii; Sat, 28 Aug 2021 00:42:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174096.317626; Sat, 28 Aug 2021 00: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 1mJmQH-0003Qx-F3; Sat, 28 Aug 2021 00:42:13 +0000
Received: by outflank-mailman (input) for mailman id 174096;
 Sat, 28 Aug 2021 00:42:12 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=iA/M=NT=flex--seanjc.bounces.google.com=3JIUpYQYKCeMXJFSOHLTTLQJ.HTRcJS-IJaJQQNXYX.cJSUWTOJHY.TWL@srs-us1.protection.inumbo.net>)
 id 1mJmLe-0003pb-H4
 for xen-devel@lists.xenproject.org; Sat, 28 Aug 2021 00:37:26 +0000
Received: from mail-yb1-xb4a.google.com (unknown [2607:f8b0:4864:20::b4a])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id fed5100a-de36-4351-8bf8-458efe6b8c0a;
 Sat, 28 Aug 2021 00:36:52 +0000 (UTC)
Received: by mail-yb1-xb4a.google.com with SMTP id
 a62-20020a254d410000b0290592f360b0ccso8242489ybb.14
 for <xen-devel@lists.xenproject.org>; Fri, 27 Aug 2021 17:36: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: fed5100a-de36-4351-8bf8-458efe6b8c0a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20161025;
        h=reply-to:date:in-reply-to:message-id:mime-version:references
         :subject:from:to:cc;
        bh=8sgYBBoPv+2JwgnSGYhHNhVlG76cGIWAxgCtg/V/coQ=;
        b=H5N4ryA5hWTUAeyuBk5XizZ7N0trA7JIKj0csm/SnRrBSvZI4fvOfdylQj2HI9uGWb
         FlgA7RqivFC20QT3Fgdghq9BURCUg84MC8EYToh6OEPEn485kgBO2eBqSmuI+BgUif0L
         X0t7BSgnBR2SJjDLf8mzg4n0cr87GdYxedcIPWDQMs1CgXbr3dAKzNI+Ec51COkbfFee
         M/XLorZxISoZWBr6d43w4+OCYBUTM9KVOhPDBEHcmSrOb67+e2vyyj7m1qI8rapB1/sj
         sUKaaIlY0oFXPavLrApCVJnrUrYLouBq/sRrV1srDbUivxaMXuuYz/XSg705ezUGG1EI
         utYA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:reply-to:date:in-reply-to:message-id
         :mime-version:references:subject:from:to:cc;
        bh=8sgYBBoPv+2JwgnSGYhHNhVlG76cGIWAxgCtg/V/coQ=;
        b=TSkM/M2jyCVtqkjrMqiD/duDyJW0yLtI0K4PYtJdsKYott4jwtUv3OVezn6UjpFkf7
         XCyFLdNRAu7l8NJtRRltHpk76L7pB6yxAtZf3t0SFD2fDJypm3lzB9HXWgj7GOgf7ewE
         bqhcoIqaVPVxcPqQD7Q+bc9jenriAj7DtScEmUFIgwej7YPsVsbplBbMqzDRkWNSKt83
         qjNDItFmTuN7eXjuzvV1VHgXSu2IjmAiwsNEjUZmgeBSIgZqzBuFPQusPLMyLpB/c/GJ
         Ynx5HlD7iejCI9VEG53XZUPStQ8ej0dYNkM9kiouh9Gi2R6QseX+vSd+VL1v2Bu7UxT0
         0qjw==
X-Gm-Message-State: AOAM533XKg937OnuVz8CEo1rqc0zRGgwKPx0/yyEamXgblE/LCDoffBM
	zAB9ssJmi2uhuNAbgGd34q/hrl5r9o8=
X-Google-Smtp-Source: ABdhPJzymXWQza3vAsItF0sAPdCE8iLSMVzwPpM+LtdWMA9TXI8otz549S9ZetrsOJXPExeTt/x3hD0mXJY=
X-Received: from seanjc798194.pdx.corp.google.com ([2620:15c:90:200:f66c:b851:7e79:7ed4])
 (user=seanjc job=sendgmr) by 2002:a25:bb48:: with SMTP id b8mr7895492ybk.275.1630111012286;
 Fri, 27 Aug 2021 17:36:52 -0700 (PDT)
Reply-To: Sean Christopherson <seanjc@google.com>
Date: Fri, 27 Aug 2021 17:35:57 -0700
In-Reply-To: <20210828003558.713983-1-seanjc@google.com>
Message-Id: <20210828003558.713983-13-seanjc@google.com>
Mime-Version: 1.0
References: <20210828003558.713983-1-seanjc@google.com>
X-Mailer: git-send-email 2.33.0.259.gc128427fd7-goog
Subject: [PATCH v2 12/13] KVM: arm64: Convert to the generic perf callbacks
From: Sean Christopherson <seanjc@google.com>
To: Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>, 
	Catalin Marinas <catalin.marinas@arm.com>, Marc Zyngier <maz@kernel.org>, Guo Ren <guoren@kernel.org>, 
	Nick Hu <nickhu@andestech.com>, Greentime Hu <green.hu@gmail.com>, 
	Vincent Chen <deanbo422@gmail.com>, Paul Walmsley <paul.walmsley@sifive.com>, 
	Palmer Dabbelt <palmer@dabbelt.com>, Albert Ou <aou@eecs.berkeley.edu>, 
	Thomas Gleixner <tglx@linutronix.de>, Borislav Petkov <bp@alien8.de>, x86@kernel.org, 
	Paolo Bonzini <pbonzini@redhat.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Juergen Gross <jgross@suse.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@redhat.com>, 
	Namhyung Kim <namhyung@kernel.org>, James Morse <james.morse@arm.com>, 
	Alexandru Elisei <alexandru.elisei@arm.com>, Suzuki K Poulose <suzuki.poulose@arm.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Sean Christopherson <seanjc@google.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Wanpeng Li <wanpengli@tencent.com>, 
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, linux-perf-users@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, 
	kvmarm@lists.cs.columbia.edu, linux-csky@vger.kernel.org, 
	linux-riscv@lists.infradead.org, kvm@vger.kernel.org, 
	xen-devel@lists.xenproject.org, Artem Kashkanov <artem.kashkanov@intel.com>, 
	Like Xu <like.xu.linux@gmail.com>, Zhu Lingshan <lingshan.zhu@intel.com>
Content-Type: text/plain; charset="UTF-8"

Drop arm64's version of the callbacks in favor of the callbacks provided
by generic KVM, which are semantically identical.  Implement the "get ip"
hook as needed.

Signed-off-by: Sean Christopherson <seanjc@google.com>
---
 arch/arm64/include/asm/kvm_host.h | 12 +++++++++++
 arch/arm64/kvm/arm.c              |  5 +++++
 arch/arm64/kvm/perf.c             | 34 ++-----------------------------
 3 files changed, 19 insertions(+), 32 deletions(-)

diff --git a/arch/arm64/include/asm/kvm_host.h b/arch/arm64/include/asm/kvm_host.h
index ed940aec89e0..73dc402ded1f 100644
--- a/arch/arm64/include/asm/kvm_host.h
+++ b/arch/arm64/include/asm/kvm_host.h
@@ -673,6 +673,18 @@ int io_mem_abort(struct kvm_vcpu *vcpu, phys_addr_t fault_ipa);
 void kvm_perf_init(void);
 void kvm_perf_teardown(void);
 
+#ifdef CONFIG_PERF_EVENTS
+#define __KVM_WANT_PERF_CALLBACKS
+static inline bool kvm_arch_pmi_in_guest(struct kvm_vcpu *vcpu)
+{
+	/* Any callback while a vCPU is loaded is considered to be in guest. */
+	return !!vcpu;
+}
+#else
+static inline void kvm_register_perf_callbacks(void) {}
+static inline void kvm_unregister_perf_callbacks(void) {}
+#endif
+
 long kvm_hypercall_pv_features(struct kvm_vcpu *vcpu);
 gpa_t kvm_init_stolen_time(struct kvm_vcpu *vcpu);
 void kvm_update_stolen_time(struct kvm_vcpu *vcpu);
diff --git a/arch/arm64/kvm/arm.c b/arch/arm64/kvm/arm.c
index e9a2b8f27792..2b542fdc237e 100644
--- a/arch/arm64/kvm/arm.c
+++ b/arch/arm64/kvm/arm.c
@@ -500,6 +500,11 @@ bool kvm_arch_vcpu_in_kernel(struct kvm_vcpu *vcpu)
 	return vcpu_mode_priv(vcpu);
 }
 
+unsigned long kvm_arch_vcpu_get_ip(struct kvm_vcpu *vcpu)
+{
+	return *vcpu_pc(vcpu);
+}
+
 /* Just ensure a guest exit from a particular CPU */
 static void exit_vm_noop(void *info)
 {
diff --git a/arch/arm64/kvm/perf.c b/arch/arm64/kvm/perf.c
index 893de1a51fea..0b902e0d5b5d 100644
--- a/arch/arm64/kvm/perf.c
+++ b/arch/arm64/kvm/perf.c
@@ -13,45 +13,15 @@
 
 DEFINE_STATIC_KEY_FALSE(kvm_arm_pmu_available);
 
-static unsigned int kvm_guest_state(void)
-{
-	struct kvm_vcpu *vcpu = kvm_get_running_vcpu();
-	unsigned int state;
-
-	if (!vcpu)
-		return 0;
-
-	state = PERF_GUEST_ACTIVE;
-	if (!vcpu_mode_priv(vcpu))
-		state |= PERF_GUEST_USER;
-
-	return state;
-}
-
-static unsigned long kvm_get_guest_ip(void)
-{
-	struct kvm_vcpu *vcpu = kvm_get_running_vcpu();
-
-	if (WARN_ON_ONCE(!vcpu))
-		return 0;
-
-	return *vcpu_pc(vcpu);
-}
-
-static struct perf_guest_info_callbacks kvm_guest_cbs = {
-	.state		= kvm_guest_state,
-	.get_ip		= kvm_get_guest_ip,
-};
-
 void kvm_perf_init(void)
 {
 	if (kvm_pmu_probe_pmuver() != 0xf && !is_protected_kvm_enabled())
 		static_branch_enable(&kvm_arm_pmu_available);
 
-	perf_register_guest_info_callbacks(&kvm_guest_cbs);
+	kvm_register_perf_callbacks(NULL);
 }
 
 void kvm_perf_teardown(void)
 {
-	perf_unregister_guest_info_callbacks();
+	kvm_unregister_perf_callbacks();
 }
-- 
2.33.0.259.gc128427fd7-goog



From xen-devel-bounces@lists.xenproject.org Sat Aug 28 00:42:19 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 00:42:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174098.317638 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJmQM-0003tC-Rd; Sat, 28 Aug 2021 00:42:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174098.317638; Sat, 28 Aug 2021 00: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 1mJmQM-0003t3-Oe; Sat, 28 Aug 2021 00:42:18 +0000
Received: by outflank-mailman (input) for mailman id 174098;
 Sat, 28 Aug 2021 00:42:17 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=70f+=NT=flex--seanjc.bounces.google.com=3JoUpYQYKCeUZLHUQJNVVNSL.JVTeLU-KLcLSSPZaZ.eLUWYVQLJa.VYN@srs-us1.protection.inumbo.net>)
 id 1mJmLo-0003pb-H6
 for xen-devel@lists.xenproject.org; Sat, 28 Aug 2021 00:37:36 +0000
Received: from mail-yb1-xb4a.google.com (unknown [2607:f8b0:4864:20::b4a])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 83f27f1a-297e-43ec-a9ed-73ac9c947017;
 Sat, 28 Aug 2021 00:36:54 +0000 (UTC)
Received: by mail-yb1-xb4a.google.com with SMTP id
 15-20020a250b0f000000b0059bcca6ad6fso6002940ybl.21
 for <xen-devel@lists.xenproject.org>; Fri, 27 Aug 2021 17:36:54 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 83f27f1a-297e-43ec-a9ed-73ac9c947017
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20161025;
        h=reply-to:date:in-reply-to:message-id:mime-version:references
         :subject:from:to:cc;
        bh=MvwJUHJ7nL7QAZpmwIc3YN3b2GBJgXnzulug8SK2Qjw=;
        b=Rd8GZlOM7483aZ/NulymMp3S9HO5bS1npFsrbHkWVgmtUT7AYmnlfjuL+oAn/+3Dri
         +5cR2ODgibWqpXhDO8BZ5XeMEmoa6kHMNeLnQOJzh9PWAYLTkPF2NgJK5Mby7Cvmotge
         2PyjseoJ7Slvdtb6cq6mgARo7D+wvyYizSBuQjnshLNdziqxPWZnRNLzvpaZZ+ivbpGR
         1gkx3rIpMiVsfiqaiEDc1i/t4zHv55U+FFPE/qx5o8z68VoLNkaUyOM/1xRhzVqRYHrY
         re+Q8PzB8BWoikOAEufy0epFWC9x2ug/ZDxYOVgylgofjF85zivnlpT4bnrEu+QzpLoF
         hYZQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:reply-to:date:in-reply-to:message-id
         :mime-version:references:subject:from:to:cc;
        bh=MvwJUHJ7nL7QAZpmwIc3YN3b2GBJgXnzulug8SK2Qjw=;
        b=KGo4PQ2jxzsIWj3GFudE7yf9utooI4P74Jdc9Aqt5Ixnk0WNhxsneG57Ivy3JiNsTa
         I7Q4VIHulHX0ywniPxOeudNsU8clZulft8SDyAxY3aOlyJiCi7KX7Xl5QXuF6LzaQlg9
         2v+wcc3uqvXEP2gM4fMP7mHNJMddxHZTyVBpDOMShbbaatUSyKpt+wui1nzEw8BqvtE/
         i8SENMEHwys4zIL82ad8t72Xd5mmZC4EvUJpvADqHeR7Ll5gk1wfLmNf9i5Yw4IeMGbn
         KLAiPoGHSkv4v/XhSfMQaEnJ0CvqP0pg+1Wi+UQ0lbrmfhyns20r74VjhvEYeQ1uL4oH
         iQhw==
X-Gm-Message-State: AOAM530s5uk2hZ6slmq0jo1dwMQdyFJYs1YKar8enkL46KG0JOmGtCdo
	Z2ntanuFadbjN+iVjSmPH3ZYsdb8BAs=
X-Google-Smtp-Source: ABdhPJyAd60vBQXQHXvEDagnL5C8DqU2H00FG/h0rAqZ+ilMScmE0veBYXU9kzdGqI+AZkskYlaiz8r6ASk=
X-Received: from seanjc798194.pdx.corp.google.com ([2620:15c:90:200:f66c:b851:7e79:7ed4])
 (user=seanjc job=sendgmr) by 2002:a25:9d83:: with SMTP id v3mr8323765ybp.97.1630111014478;
 Fri, 27 Aug 2021 17:36:54 -0700 (PDT)
Reply-To: Sean Christopherson <seanjc@google.com>
Date: Fri, 27 Aug 2021 17:35:58 -0700
In-Reply-To: <20210828003558.713983-1-seanjc@google.com>
Message-Id: <20210828003558.713983-14-seanjc@google.com>
Mime-Version: 1.0
References: <20210828003558.713983-1-seanjc@google.com>
X-Mailer: git-send-email 2.33.0.259.gc128427fd7-goog
Subject: [PATCH v2 13/13] KVM: arm64: Drop perf.c and fold its tiny bits of
 code into arm.c / pmu.c
From: Sean Christopherson <seanjc@google.com>
To: Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>, 
	Catalin Marinas <catalin.marinas@arm.com>, Marc Zyngier <maz@kernel.org>, Guo Ren <guoren@kernel.org>, 
	Nick Hu <nickhu@andestech.com>, Greentime Hu <green.hu@gmail.com>, 
	Vincent Chen <deanbo422@gmail.com>, Paul Walmsley <paul.walmsley@sifive.com>, 
	Palmer Dabbelt <palmer@dabbelt.com>, Albert Ou <aou@eecs.berkeley.edu>, 
	Thomas Gleixner <tglx@linutronix.de>, Borislav Petkov <bp@alien8.de>, x86@kernel.org, 
	Paolo Bonzini <pbonzini@redhat.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Juergen Gross <jgross@suse.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@redhat.com>, 
	Namhyung Kim <namhyung@kernel.org>, James Morse <james.morse@arm.com>, 
	Alexandru Elisei <alexandru.elisei@arm.com>, Suzuki K Poulose <suzuki.poulose@arm.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Sean Christopherson <seanjc@google.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Wanpeng Li <wanpengli@tencent.com>, 
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, linux-perf-users@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, 
	kvmarm@lists.cs.columbia.edu, linux-csky@vger.kernel.org, 
	linux-riscv@lists.infradead.org, kvm@vger.kernel.org, 
	xen-devel@lists.xenproject.org, Artem Kashkanov <artem.kashkanov@intel.com>, 
	Like Xu <like.xu.linux@gmail.com>, Zhu Lingshan <lingshan.zhu@intel.com>
Content-Type: text/plain; charset="UTF-8"

Call KVM's (un)register perf callbacks helpers directly from arm.c, and
move the PMU bits into pmu.c and rename the related helper accordingly.

Signed-off-by: Sean Christopherson <seanjc@google.com>
---
 arch/arm64/include/asm/kvm_host.h |  3 ---
 arch/arm64/kvm/Makefile           |  2 +-
 arch/arm64/kvm/arm.c              |  6 ++++--
 arch/arm64/kvm/perf.c             | 27 ---------------------------
 arch/arm64/kvm/pmu.c              |  8 ++++++++
 include/kvm/arm_pmu.h             |  1 +
 6 files changed, 14 insertions(+), 33 deletions(-)
 delete mode 100644 arch/arm64/kvm/perf.c

diff --git a/arch/arm64/include/asm/kvm_host.h b/arch/arm64/include/asm/kvm_host.h
index 73dc402ded1f..d549b58120bc 100644
--- a/arch/arm64/include/asm/kvm_host.h
+++ b/arch/arm64/include/asm/kvm_host.h
@@ -670,9 +670,6 @@ unsigned long kvm_mmio_read_buf(const void *buf, unsigned int len);
 int kvm_handle_mmio_return(struct kvm_vcpu *vcpu);
 int io_mem_abort(struct kvm_vcpu *vcpu, phys_addr_t fault_ipa);
 
-void kvm_perf_init(void);
-void kvm_perf_teardown(void);
-
 #ifdef CONFIG_PERF_EVENTS
 #define __KVM_WANT_PERF_CALLBACKS
 static inline bool kvm_arch_pmi_in_guest(struct kvm_vcpu *vcpu)
diff --git a/arch/arm64/kvm/Makefile b/arch/arm64/kvm/Makefile
index 989bb5dad2c8..0bcc378b7961 100644
--- a/arch/arm64/kvm/Makefile
+++ b/arch/arm64/kvm/Makefile
@@ -12,7 +12,7 @@ obj-$(CONFIG_KVM) += hyp/
 
 kvm-y := $(KVM)/kvm_main.o $(KVM)/coalesced_mmio.o $(KVM)/eventfd.o \
 	 $(KVM)/vfio.o $(KVM)/irqchip.o $(KVM)/binary_stats.o \
-	 arm.o mmu.o mmio.o psci.o perf.o hypercalls.o pvtime.o \
+	 arm.o mmu.o mmio.o psci.o hypercalls.o pvtime.o \
 	 inject_fault.o va_layout.o handle_exit.o \
 	 guest.o debug.o reset.o sys_regs.o \
 	 vgic-sys-reg-v3.o fpsimd.o pmu.o \
diff --git a/arch/arm64/kvm/arm.c b/arch/arm64/kvm/arm.c
index 2b542fdc237e..48f89d80f464 100644
--- a/arch/arm64/kvm/arm.c
+++ b/arch/arm64/kvm/arm.c
@@ -1744,7 +1744,9 @@ static int init_subsystems(void)
 	if (err)
 		goto out;
 
-	kvm_perf_init();
+	kvm_pmu_init();
+	kvm_register_perf_callbacks(NULL);
+
 	kvm_sys_reg_table_init();
 
 out:
@@ -2160,7 +2162,7 @@ int kvm_arch_init(void *opaque)
 /* NOP: Compiling as a module not supported */
 void kvm_arch_exit(void)
 {
-	kvm_perf_teardown();
+	kvm_unregister_perf_callbacks();
 }
 
 static int __init early_kvm_mode_cfg(char *arg)
diff --git a/arch/arm64/kvm/perf.c b/arch/arm64/kvm/perf.c
deleted file mode 100644
index 0b902e0d5b5d..000000000000
--- a/arch/arm64/kvm/perf.c
+++ /dev/null
@@ -1,27 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-only
-/*
- * Based on the x86 implementation.
- *
- * Copyright (C) 2012 ARM Ltd.
- * Author: Marc Zyngier <marc.zyngier@arm.com>
- */
-
-#include <linux/perf_event.h>
-#include <linux/kvm_host.h>
-
-#include <asm/kvm_emulate.h>
-
-DEFINE_STATIC_KEY_FALSE(kvm_arm_pmu_available);
-
-void kvm_perf_init(void)
-{
-	if (kvm_pmu_probe_pmuver() != 0xf && !is_protected_kvm_enabled())
-		static_branch_enable(&kvm_arm_pmu_available);
-
-	kvm_register_perf_callbacks(NULL);
-}
-
-void kvm_perf_teardown(void)
-{
-	kvm_unregister_perf_callbacks();
-}
diff --git a/arch/arm64/kvm/pmu.c b/arch/arm64/kvm/pmu.c
index 03a6c1f4a09a..d98b57a17043 100644
--- a/arch/arm64/kvm/pmu.c
+++ b/arch/arm64/kvm/pmu.c
@@ -7,6 +7,14 @@
 #include <linux/perf_event.h>
 #include <asm/kvm_hyp.h>
 
+DEFINE_STATIC_KEY_FALSE(kvm_arm_pmu_available);
+
+void kvm_pmu_init(void)
+{
+	if (kvm_pmu_probe_pmuver() != 0xf && !is_protected_kvm_enabled())
+		static_branch_enable(&kvm_arm_pmu_available);
+}
+
 /*
  * Given the perf event attributes and system type, determine
  * if we are going to need to switch counters at guest entry/exit.
diff --git a/include/kvm/arm_pmu.h b/include/kvm/arm_pmu.h
index 864b9997efb2..42270676498d 100644
--- a/include/kvm/arm_pmu.h
+++ b/include/kvm/arm_pmu.h
@@ -14,6 +14,7 @@
 #define ARMV8_PMU_MAX_COUNTER_PAIRS	((ARMV8_PMU_MAX_COUNTERS + 1) >> 1)
 
 DECLARE_STATIC_KEY_FALSE(kvm_arm_pmu_available);
+void kvm_pmu_init(void);
 
 static __always_inline bool kvm_arm_support_pmu_v3(void)
 {
-- 
2.33.0.259.gc128427fd7-goog



From xen-devel-bounces@lists.xenproject.org Sat Aug 28 00:44:06 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 00:44:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174119.317649 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJmS5-00058f-9h; Sat, 28 Aug 2021 00:44:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174119.317649; Sat, 28 Aug 2021 00: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 1mJmS5-00058Y-5i; Sat, 28 Aug 2021 00:44:05 +0000
Received: by outflank-mailman (input) for mailman id 174119;
 Sat, 28 Aug 2021 00:44: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 1mJmS4-00058M-Lb; Sat, 28 Aug 2021 00:44: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 1mJmS4-00029N-E8; Sat, 28 Aug 2021 00:44: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 1mJmS4-0005vi-2E; Sat, 28 Aug 2021 00:44:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mJmS4-00012P-1X; Sat, 28 Aug 2021 00:44:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=wKW0RS8aMB0JhufH9hKXw5vX3pNkEylOT72JyyNlMU8=; b=5WwyjIcPKG0Urin3gwajhyv23/
	N5fZ/XjO0Vpddh6no5RD5EQJ0fOhMJ/Ab9/tivabrd9zfbGfV9zeVaDCHnpXTJPM8BXi4yVksG8Av
	lHmQ9tSQuT2SJTxfhLbbFDR8eDIr3JZoo3eDA9Qx//aL4rHaR9YpGpifWmZDsFIJNH9s=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164499-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 164499: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-dom0pvh-xl-amd:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-dom0pvh-xl-intel:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=c08d68cd2aacbc7cb56e73ada241bfe4639bbc68
X-Osstest-Versions-That:
    xen=a931e8e64af07bd333a31f3b71a3f8f3e7910857
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 28 Aug 2021 00:44:04 +0000

flight 164499 xen-unstable real [real]
flight 164527 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/164499/
http://logs.test-lab.xenproject.org/osstest/logs/164527/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-dom0pvh-xl-amd  8 xen-boot              fail REGR. vs. 164477
 test-amd64-amd64-dom0pvh-xl-intel  8 xen-boot            fail REGR. vs. 164477

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 164477
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164477
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164477
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 164477
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 164477
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164477
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 164477
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164477
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164477
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164477
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164477
 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-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-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-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 xen                  c08d68cd2aacbc7cb56e73ada241bfe4639bbc68
baseline version:
 xen                  a931e8e64af07bd333a31f3b71a3f8f3e7910857

Last test of basis   164477  2021-08-25 09:09:48 Z    2 days
Testing same since   164499  2021-08-26 10:21:51 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Stefano Stabellini <sstabellini@kernel.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 342 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 28 01:06:32 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 01:06:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174127.317666 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJmni-0006ZP-0h; Sat, 28 Aug 2021 01:06:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174127.317666; Sat, 28 Aug 2021 01:06:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJmnh-0006ZI-Tp; Sat, 28 Aug 2021 01:06:25 +0000
Received: by outflank-mailman (input) for mailman id 174127;
 Sat, 28 Aug 2021 01:06:24 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zhkl=NT=kernel.org=sstabellini@srs-us1.protection.inumbo.net>)
 id 1mJmng-0006ZC-Jp
 for xen-devel@lists.xenproject.org; Sat, 28 Aug 2021 01:06:24 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id fdcfc6a1-319b-4f11-9334-ac3ca4ad6dbb;
 Sat, 28 Aug 2021 01:06:23 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id B188060F25;
 Sat, 28 Aug 2021 01:06:22 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fdcfc6a1-319b-4f11-9334-ac3ca4ad6dbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1630112782;
	bh=VfLWzJr4U8a6YV3VQ8lC/M8TkiR/nZFrFyB8KalkifE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=slH80XniZ7aNjJ6NAI7ikz8xNXoukSfNthHH11Br0dKINUulFgYPGH1ykdemoBx9z
	 F/VFIRIuIY13829rwC2v5kR59gI2NB/GPRS8UUIXXSnvOWI+c9RR/HcQLCL4bBNjJf
	 YsDFK0DMB6HBdFIa1wzYizK6jHzytfzxVY1orvoW/CCL5Sqsql5Rb6LK9AZLkuoeoS
	 HMYtf/LG54iTcUN4HzalJIxNpTs5WrNmtrzYX9vkd+QnJ5RMSFYTSKR2KqKL4I7t4U
	 MwD9ZyeYtf/WlXnf298qgtJzQoSf8QTe9ncMoi6UJ47YfcUeiQ2e1nVMumLKHAoZFJ
	 qdwgKRZahbCsQ==
Date: Fri, 27 Aug 2021 18:06:22 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@sstabellini-ThinkPad-T480s
To: Wei Chen <wei.chen@arm.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, julien@xen.org, 
    jbeulich@suse.com, Bertrand.Marquis@arm.com
Subject: Re: [XEN RFC PATCH 23/40] xen/arm: introduce a helper to parse device
 tree memory node
In-Reply-To: <20210811102423.28908-24-wei.chen@arm.com>
Message-ID: <alpine.DEB.2.21.2108271757250.17851@sstabellini-ThinkPad-T480s>
References: <20210811102423.28908-1-wei.chen@arm.com> <20210811102423.28908-24-wei.chen@arm.com>
User-Agent: Alpine 2.21 (DEB 202 2017-01-01)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 11 Aug 2021, Wei Chen wrote:
> Memory blocks' NUMA ID information is stored in device tree's
> memory nodes as "numa-node-id". We need a new helper to parse
> and verify this ID from memory nodes.
> 
> In order to support memory affinity in later use, the valid
> memory ranges and NUMA ID will be saved to tables.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>  xen/arch/arm/numa_device_tree.c | 130 ++++++++++++++++++++++++++++++++
>  1 file changed, 130 insertions(+)
> 
> diff --git a/xen/arch/arm/numa_device_tree.c b/xen/arch/arm/numa_device_tree.c
> index 37cc56acf3..bbe081dcd1 100644
> --- a/xen/arch/arm/numa_device_tree.c
> +++ b/xen/arch/arm/numa_device_tree.c
> @@ -20,11 +20,13 @@
>  #include <xen/init.h>
>  #include <xen/nodemask.h>
>  #include <xen/numa.h>
> +#include <xen/libfdt/libfdt.h>
>  #include <xen/device_tree.h>
>  #include <asm/setup.h>
>  
>  s8 device_tree_numa = 0;
>  static nodemask_t processor_nodes_parsed __initdata;
> +static nodemask_t memory_nodes_parsed __initdata;
>  
>  static int srat_disabled(void)
>  {
> @@ -55,6 +57,79 @@ static int __init dtb_numa_processor_affinity_init(nodeid_t node)
>      return 0;
>  }
>  
> +/* Callback for parsing of the memory regions affinity */
> +static int __init dtb_numa_memory_affinity_init(nodeid_t node,
> +                                paddr_t start, paddr_t size)
> +{
> +    struct node *nd;
> +    paddr_t end;
> +    int i;
> +
> +    if ( srat_disabled() )
> +        return -EINVAL;
> +
> +    end = start + size;
> +    if ( num_node_memblks >= NR_NODE_MEMBLKS )
> +    {
> +        dprintk(XENLOG_WARNING,
> +                "Too many numa entry, try bigger NR_NODE_MEMBLKS \n");
> +        bad_srat();
> +        return -EINVAL;
> +    }
> +
> +    /* It is fine to add this area to the nodes data it will be used later */
> +    i = conflicting_memblks(start, end);
> +    /* No conflicting memory block, we can save it for later usage */;
> +    if ( i < 0 )
> +        goto save_memblk;
> +
> +    if ( memblk_nodeid[i] == node ) {
> +        /*
> +         * Overlaps with other memblk in the same node, warning here.
> +         * This memblk will be merged with conflicted memblk later.
> +         */
> +        printk(XENLOG_WARNING
> +               "DT: NUMA NODE %u (%"PRIx64
> +               "-%"PRIx64") overlaps with itself (%"PRIx64"-%"PRIx64")\n",
> +               node, start, end,
> +               node_memblk_range[i].start, node_memblk_range[i].end);
> +    } else {
> +        /*
> +         * Conflict with memblk in other node, this is an error.
> +         * The NUMA information is invalid, NUMA will be turn off.
> +         */
> +        printk(XENLOG_ERR
> +               "DT: NUMA NODE %u (%"PRIx64"-%"
> +               PRIx64") overlaps with NODE %u (%"PRIx64"-%"PRIx64")\n",
> +               node, start, end, memblk_nodeid[i],
> +               node_memblk_range[i].start, node_memblk_range[i].end);
> +        bad_srat();
> +        return -EINVAL;
> +    }
> +
> +save_memblk:
> +    nd = &nodes[node];
> +    if ( !node_test_and_set(node, memory_nodes_parsed) ) {
> +        nd->start = start;
> +        nd->end = end;
> +    } else {
> +        if ( start < nd->start )
> +            nd->start = start;
> +        if ( nd->end < end )
> +            nd->end = end;
> +    }
> +
> +    printk(XENLOG_INFO "DT: NUMA node %u %"PRIx64"-%"PRIx64"\n",
> +           node, start, end);
> +
> +    node_memblk_range[num_node_memblks].start = start;
> +    node_memblk_range[num_node_memblks].end = end;
> +    memblk_nodeid[num_node_memblks] = node;
> +    num_node_memblks++;


Is it possible to have non-contigous ranges of memory for a single NUMA
node?

Looking at the DT bindings and Linux implementation, it seems possible.
Here, it seems that node_memblk_range/memblk_nodeid could handle it,
but nodes couldn't.


From xen-devel-bounces@lists.xenproject.org Sat Aug 28 02:11:54 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 02:11:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174132.317677 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJnop-0006ol-KI; Sat, 28 Aug 2021 02:11:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174132.317677; Sat, 28 Aug 2021 02: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 1mJnop-0006oe-GK; Sat, 28 Aug 2021 02:11:39 +0000
Received: by outflank-mailman (input) for mailman id 174132;
 Sat, 28 Aug 2021 02:11:38 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=sP14=NT=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mJnoo-0006oY-8O
 for xen-devel@lists.xenproject.org; Sat, 28 Aug 2021 02:11:38 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com (unknown
 [40.107.14.75]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 44e634ec-07a5-11ec-ab2e-12813bfff9fa;
 Sat, 28 Aug 2021 02:11:35 +0000 (UTC)
Received: from DB8PR06CA0033.eurprd06.prod.outlook.com (2603:10a6:10:100::46)
 by AM8PR08MB5810.eurprd08.prod.outlook.com (2603:10a6:20b:1d2::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23; Sat, 28 Aug
 2021 02:11:30 +0000
Received: from DB5EUR03FT053.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:100:cafe::1e) by DB8PR06CA0033.outlook.office365.com
 (2603:10a6:10:100::46) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.18 via Frontend
 Transport; Sat, 28 Aug 2021 02:11:30 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT053.mail.protection.outlook.com (10.152.21.119) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Sat, 28 Aug 2021 02:11:30 +0000
Received: ("Tessian outbound 19a632698c93:v103");
 Sat, 28 Aug 2021 02:11:30 +0000
Received: from 666d6b2588fd.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 D42E4C8E-998C-46C1-88A8-6F254C213407.1; 
 Sat, 28 Aug 2021 02:11:19 +0000
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 666d6b2588fd.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Sat, 28 Aug 2021 02:11:19 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DBBPR08MB4490.eurprd08.prod.outlook.com (2603:10a6:10:c5::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23; Sat, 28 Aug
 2021 02:11:17 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.024; Sat, 28 Aug 2021
 02:11:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 44e634ec-07a5-11ec-ab2e-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YddDzNFJo0PdVji4yDUv8r6E/XwmA0a5N9vWbUp1hFo=;
 b=ul+MwaCLPPrvASAZNDEwK8MPk8F0KZEVJctbnQOxbUGa6KsArU1UjXW/zVoDDb0NtMDQD17+N4HbTSlxIZF2Yij7WnZluvQyL11QBlaUmNDEtUvtgw/GzvOEShptsYinnpIiiNcYRrW39Nl1uOlF982+fI8+e/fl+e9P8eFR8+M=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fweHNavgjpK3RFGImCE04hthNVBs6YEyAEaov6+eyw9OGuSA0DgdRdmH2yZ0nskJtNC+E+4sO0W/3S2OTArMcSXCa+owgEN/KdxTTbYGGzTgCIfuS/2QTGvPRwJrpENe4mJ8penXqWCmHrgaquF6Md+VxT7g4o8q31AUqCs2j/pVWWiEpyCWqUH2rlacudj5s5BsX+4KOqnvhvLkeSUeXlSiTUYUK5juWTFl6fqcYBCyHLSCMhuSppyAF4utuNuFO9XRFKPLTOiRc4ThT1UMbbK2FBkiODTbpzxLyhPFnfexS5cRR1By0oVM1EOk59p9742ntM/Y4kDoPIRz+9D++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-SenderADCheck;
 bh=YddDzNFJo0PdVji4yDUv8r6E/XwmA0a5N9vWbUp1hFo=;
 b=QcTU9AZJ9BqvUVPMn8i5sWkp6E+EAWlbXuH2vZpXSPeodHxAKtkbzQ8KRQItTO/vHZrwUL+phm4j7GiftqMdBnHgReys+UHcmx/lQAfP9qe3SV/kbB5imt/0C78rc8pydRFyWItNa5cLh+9xxZ1pehTvgT+Cke6viliz1UyTw5dbAx2j64X4+4TyOOi90kM4OqZiXGUj40wl+agdMXfrtxvLdJY0KfudEoQy+xRXci7/6VO158TA86YLsEwI9kfIYPzczmyIH0L5I4m1VPZ6EplObtYBvzQaw2ozTpxPpNXptw63ps8xJWhHKcvOlwxt0oxFKaWU9U/slgkDzghRJg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YddDzNFJo0PdVji4yDUv8r6E/XwmA0a5N9vWbUp1hFo=;
 b=ul+MwaCLPPrvASAZNDEwK8MPk8F0KZEVJctbnQOxbUGa6KsArU1UjXW/zVoDDb0NtMDQD17+N4HbTSlxIZF2Yij7WnZluvQyL11QBlaUmNDEtUvtgw/GzvOEShptsYinnpIiiNcYRrW39Nl1uOlF982+fI8+e/fl+e9P8eFR8+M=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 32/40] xen/x86: make acpi_scan_nodes to be neutral
Thread-Topic: [XEN RFC PATCH 32/40] xen/x86: make acpi_scan_nodes to be
 neutral
Thread-Index: AQHXjptLHChzC8DaK0WpJXATzNxti6uHfOoAgADIL5A=
Date: Sat, 28 Aug 2021 02:11:17 +0000
Message-ID:
 <DB9PR08MB685704904D89A16F9603D32B9EC99@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-33-wei.chen@arm.com>
 <f830422a-79e3-b9d7-138c-3db468f8376b@xen.org>
In-Reply-To: <f830422a-79e3-b9d7-138c-3db468f8376b@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: CD763C63A0057B4F877EC155A54F7514.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 1f5c9367-becd-4a5d-49f1-08d969c92663
x-ms-traffictypediagnostic: DBBPR08MB4490:|AM8PR08MB5810:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM8PR08MB5810D0995BF5E76854C593849EC99@AM8PR08MB5810.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:8882;OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 yvsYfVVPtzXxwXE2SH1ITFkwYNHImbJ7ZYUORTPBUUoTtmHz0TmcH3lz8xzmvneBKBLZxdpVk+T2d5rPInhA8mXWGBZm98fcyScX7ZkAe4XPY2e7h6rkPN1OzEczofQFZiOo4/GG/FUTbjOyRmKzuhTj1CmsXr/SgX6D23oOmA1BoltkHSsiTFBeuAFKGwGpfAm2xvreKFx+TZJhJ0liJCbQak7T14+8Sp1Mxc9f9FcFWeox2KPSmXqIxeQEjbWWoGLvxQkP31g5Pmm6Gp/RQaFAYOGvaM0jNtHeEj9uFfyJcbfEJ/9l4o0wM455TbuMPNG6/VqPB02l+P0+FwBJkHhP10gLZ/vmppSC0Nq+7WAXA9QI5ySdPGN1n/PofTaYBHBjJZS4Orw8Tbo2I3IBHcj5CZcDZDkdT/NG4kPj7BBJQHkakaTQrRwjQqi+aBP4DQjDpkL51jgJsBwoT9r5lDTeBklxgnSSJXZeAmo/kafTTwhoEhtVz8mb1ED+5y5AmmN3X6eHYAvYSrjUZt9tXSo9yY76T1pHOEABJ45ldTUfwX1xHzDEJYC4E8BNCNywQihkyuPpokwzhOMZdZ++DEPy/5bOZrNMecturjh7w/27QypzazfVlEt9hBr/kfxrSAj580MSvEjSXSyAhyGrnv1eJGO6KCC7SFQks3BU6xS8pMJBmBvquyc17b2VND2Y3l5Ln6nCV3v3JSobTZupWg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(122000001)(26005)(38100700002)(53546011)(66946007)(186003)(8676002)(66476007)(71200400001)(83380400001)(5660300002)(76116006)(66556008)(66446008)(64756008)(9686003)(52536014)(4326008)(6506007)(508600001)(316002)(38070700005)(33656002)(55016002)(7696005)(8936002)(2906002)(110136005)(86362001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?T3Y3S2tYRGxrUmVicmRrdVRiRkRKY0xYM0s2eGEyRXE5WmlZZllmb3k3LzZw?=
 =?utf-8?B?UnhLVTFES3ZGdTk2Rm9oUTRVNnh3TEtYWGdlOWFDdDFZVVloc1dINzZUN1Ar?=
 =?utf-8?B?RitWZVEyQUtyNTZ0TnFiMjQyeko5V2dCNWVWbDlrWDNTVWJETE1Xalg4RjhB?=
 =?utf-8?B?dkl1ckdNcHVycjBtWFlyL1Q0M25lS3lDTG5mQWlFMUkvOFA3WXZ0MW5yYXZS?=
 =?utf-8?B?T1lQSXBRMWF0OS9ENk5TL3hTSEZSakY1ZXBYUFpHUVFUSEltRGN2cUdaeXFO?=
 =?utf-8?B?WUh1ZnduRmZkbHcxa21xZS9ibWRLeDdrZUFUOG05RWFUaUlCVWR0ZFpJVnZs?=
 =?utf-8?B?UUNxL1FLWTZXZjBwclpQR2s3bmg4aUIxRFRWUUxKRUFhWHlvbWFMQWV6M1gz?=
 =?utf-8?B?L1FodWZCQzFFTlMxazZTbDRwQk9BSDJEQ2pCTnVvK1RHRzlqSnNCNmxkcmwv?=
 =?utf-8?B?UTJmMkIzbmNuejRVLzFmUldIWTgvVHBNTE5NVnZnRHMzQmJtSXEzQUg4S0VH?=
 =?utf-8?B?ME9iNmhoNy9jcmRZU1JaelFCVkRlbFo2djlvQ2FaaVJ3M3d0YmdiRjI2ZUJO?=
 =?utf-8?B?MXlGYVFxTDJuUnp0d2tTSm5zSmJncjEzS1l2SUMzKzNPQy9DNHlLQ0RiWEZJ?=
 =?utf-8?B?TDNCZi8xT0xHRlV6bEZQUUFtU3lsSWJtZFlxVXh6L1o5N0haaElpZGxVM3Jz?=
 =?utf-8?B?QkFSeW10RVo4bEg3aHNqMnMzTzVvbVVLdkp6cXdsWjJHN01qT04yV1MzN3F2?=
 =?utf-8?B?dUFzWXo4UDlhYnVlak5VSHV5MXlqWFVkRURPbm5wNzhGTnFyQmNQN1k4N2Nk?=
 =?utf-8?B?VDNpM1pKeHNNZGFWUHhDYklvZ2c0MEZuR0dMRE5hTUFOOUxCRCtlT2RNc21t?=
 =?utf-8?B?TEduM05pWGFSZ2RlZUFqTFQwZTdwNlR5bnZpd2RaRk1vdUU3VXY2MTZHT25X?=
 =?utf-8?B?RUtoUy9sR0xIc3paeGNvL013UlVLeUxGZnpsM2FweXhhTmtscU1WRjkremsx?=
 =?utf-8?B?Mi9ITzliWHpzS3lobkVpcnhNbnY4b1FaWlE2SktQVXdQaFhiTSt6S3JaNlJL?=
 =?utf-8?B?WW1GUFg3NXV6OVBrMFhQeS9FcDhHcjlSUE84Vzh6d0VxN1ZrOGhwb0Qyb3dX?=
 =?utf-8?B?UlAzeGRXWGFmdE5vNllLdk9OVVArVE5BNUtEZk9aeEhHT2twL2I3eFJsaFB2?=
 =?utf-8?B?bHhBZGJTTDlIT1dKZVNOU0Z2Mms2WW1VRTJlNDhpbGYzWXNSZDF2L2hzZy94?=
 =?utf-8?B?NGRsN1VxSTRwdlJGY1kzRHlmZ2JnVmNiT0RoVmt2dTNUY1RZaW5rOEZ3VmFK?=
 =?utf-8?B?TVhZNCs4VlhjWnVyaVRad1lBN2M3a2hvZ3hrMjZqZXhSeUUwc00vL0pEQ0oz?=
 =?utf-8?B?VE9jR2RDWnpqVWY4bkN0cXJlTnFBb3JUUjlUdDlzRVByK0lsUmx4a2hPNEty?=
 =?utf-8?B?c3Z4SW5sNUI3L0w2NkY4amV4L2dhK0dMRy9mQlBVVGxLMk1qUGhvN1NqMWli?=
 =?utf-8?B?VEFQUzFNZEZEMkZiVmZ4V01ua2RxTXczM21vYUFTMDJ0R2FlbnJna3k2ZmtR?=
 =?utf-8?B?V1VOeHF1RXRpNVV5d3VvL0pTWVdvMlYzeFdudmVvbUp0RmlmUml1c1lKMnRP?=
 =?utf-8?B?SEhhWTJJTWFkOGlBTXpzWjd6UWU3WTJleHpxWm9ncE15QktwN01iNmNITjdB?=
 =?utf-8?B?SmM5K2sxNUx6Z2huS09vTmJVc2Q0ODQ5TFkwK3lsamhjUXNnWUFzSjVHaWF2?=
 =?utf-8?Q?2lYSdqVyZBeVqppra/qkDSHISFRG3yC29lt3+xi?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB4490
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT053.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	31116ebe-f417-443c-063f-08d969c91ed4
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4HG/PqMO3LvvmGMYm/VwfynBqdYt3TtAuKFW3cUVFLL5hPm+P4/5EH6XJd3auA9W3HdGRZac3iE14NMP8xyz/s2z8X/czS0GyYJYWNudhgO//hyiHkCZk88XgY+9fw6LGF2R3fcSrxNoqQW9EN1lJp/dGm6MWTkSleV2IW6KKp4okrGtpHeyrKEjjPjevi/PA7AxNt2XJ/6PteO8CWDyeLuRjbClzPHsmaVIP19J/UtBd22cNsABb1At1X7LERvocLGKax3E8Qtm+tFFydvoAwDydaRXf1F04SqnluJggLb6BBfYDDkqxgP1VXoD6uj0GmGviXF/qBBm4LcpeC2PNVRPNjHZSdtC+bAwGCaxwIb5jNaDfTQOz2wTIjSVUc76tCf3vA9KEIwYvi0gT1ltpBhiUn/1W488/RZhoogKCXG6Q0UE6g9WHvCzBgGwgjHmkqBXE5CCvlLKyf07uCBXtPui+0ec+1LeK7JLgDX4ld05WSfRgUmYMxUit7+GjD/CupFV3JB07uSuQJPNvr+QB1GbLtoez5Gfw4NtvhkiLse2tPRFx5/gNaCpv74Zat/DKFjSNWe7lt5oScCy5gBzfSOfED7LKvNaBpJUjdN+2LqgbnoDAPkuUZlanYV0qA0JPyrxS1JlfMGS6LowsZTZjnd1pJCxp+F037KlQhHq/PmTmsvG6dW8mjUUDdmkyA7LTd6t1RnmCpZig0Bg8F5PCA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(376002)(39850400004)(396003)(136003)(346002)(46966006)(36840700001)(53546011)(82740400003)(110136005)(7696005)(478600001)(8936002)(4326008)(316002)(26005)(356005)(47076005)(82310400003)(8676002)(36860700001)(52536014)(2906002)(86362001)(83380400001)(336012)(33656002)(6506007)(81166007)(55016002)(9686003)(5660300002)(70206006)(70586007)(186003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2021 02:11:30.2950
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1f5c9367-becd-4a5d-49f1-08d969c92663
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT053.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB5810

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMjfml6UgMjI6MDkN
Cj4gVG86IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgeGVuLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnOw0KPiBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqYmV1bGljaEBzdXNlLmNvbQ0K
PiBDYzogQmVydHJhbmQgTWFycXVpcyA8QmVydHJhbmQuTWFycXVpc0Bhcm0uY29tPg0KPiBTdWJq
ZWN0OiBSZTogW1hFTiBSRkMgUEFUQ0ggMzIvNDBdIHhlbi94ODY6IG1ha2UgYWNwaV9zY2FuX25v
ZGVzIHRvIGJlDQo+IG5ldXRyYWwNCj4gDQo+IEhpIFdlaSwNCj4gDQo+IE9uIDExLzA4LzIwMjEg
MTE6MjQsIFdlaSBDaGVuIHdyb3RlOg0KPiA+IFRoZSBjb2RlIGluIGFjcGlfc2Nhbl9ub2RlcyBj
YW4gYmUgcmV1c2VkIGZvciBkZXZpY2UgdHJlZSBiYXNlZA0KPiA+IE5VTUEuIFNvIHdlIHJlbmFt
ZSBhY3BpX3NjYW5fbm9kZXMgdG8gbnVtYV9zY2FuX25vZGVzIGZvciBhIG5ldXRyYWwNCj4gPiBm
dW5jdGlvbiBuYW1lLiBBcyBhY3BpX251bWEgdmFyaWFibGUgaXMgYXZhaWxhYmxlIGluIEFDUFUg
YmFzZWQgTlVNQQ0KPiA+IHN5c3RlbSBvbmx5LCB3ZSB1c2UgQ09ORklHX0FDUElfTlVNQSB0byBw
cm90ZWN0IGl0Lg0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogV2VpIENoZW4gPHdlaS5jaGVuQGFy
bS5jb20+DQo+ID4gLS0tDQo+ID4gICB4ZW4vYXJjaC94ODYvc3JhdC5jICAgICAgICB8IDQgKysr
LQ0KPiA+ICAgeGVuL2NvbW1vbi9udW1hLmMgICAgICAgICAgfCAyICstDQo+ID4gICB4ZW4vaW5j
bHVkZS9hc20teDg2L2FjcGkuaCB8IDIgKy0NCj4gPiAgIDMgZmlsZXMgY2hhbmdlZCwgNSBpbnNl
cnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL3hlbi9hcmNo
L3g4Ni9zcmF0LmMgYi94ZW4vYXJjaC94ODYvc3JhdC5jDQo+ID4gaW5kZXggZGNlYmM3YWRlYy4u
M2Q0ZDkwYTYyMiAxMDA2NDQNCj4gPiAtLS0gYS94ZW4vYXJjaC94ODYvc3JhdC5jDQo+ID4gKysr
IGIveGVuL2FyY2gveDg2L3NyYXQuYw0KPiA+IEBAIC0zNjIsNyArMzYyLDcgQEAgdm9pZCBfX2lu
aXQgc3JhdF9wYXJzZV9yZWdpb25zKHU2NCBhZGRyKQ0KPiA+ICAgfQ0KPiA+DQo+ID4gICAvKiBV
c2UgdGhlIGluZm9ybWF0aW9uIGRpc2NvdmVyZWQgYWJvdmUgdG8gYWN0dWFsbHkgc2V0IHVwIHRo
ZSBub2Rlcy4NCj4gKi8NCj4gPiAtaW50IF9faW5pdCBhY3BpX3NjYW5fbm9kZXModTY0IHN0YXJ0
LCB1NjQgZW5kKQ0KPiA+ICtpbnQgX19pbml0IG51bWFfc2Nhbl9ub2Rlcyh1NjQgc3RhcnQsIHU2
NCBlbmQpDQo+ID4gICB7DQo+ID4gICAJaW50IGk7DQo+ID4gICAJbm9kZW1hc2tfdCBhbGxfbm9k
ZXNfcGFyc2VkOw0KPiA+IEBAIC0zNzEsOCArMzcxLDEwIEBAIGludCBfX2luaXQgYWNwaV9zY2Fu
X25vZGVzKHU2NCBzdGFydCwgdTY0IGVuZCkNCj4gPiAgIAlmb3IgKGkgPSAwOyBpIDwgTUFYX05V
TU5PREVTOyBpKyspDQo+ID4gICAJCWN1dG9mZl9ub2RlKGksIHN0YXJ0LCBlbmQpOw0KPiA+DQo+
ID4gKyNpZmRlZiBDT05GSUdfQUNQSV9OVU1BDQo+ID4gICAJaWYgKGFjcGlfbnVtYSA8PSAwKQ0K
PiA+ICAgCQlyZXR1cm4gLTE7DQo+ID4gKyNlbmRpZg0KPiANCj4gTG9va2luZyBhdCB0aGUgZm9s
bG93LXVwIHBhdGNoZXMsIEkgZmluZCBhIGJpdCBvZGQgdGhhdCB0aGVyZSBpcyBhIGNoZWNrDQo+
IGZvciBBQ1BJIGJ1dCB0aGVyZSBpcyBub25lIGFkZGVkIGZvciBEVC4gQ2FuIHlvdSBleHBsYWlu
IHdoeT8NCj4gDQoNCk9oLCBJIGZvcmdvdCBEVCBjaGVjay4gQW5kIHNpbXBseSB0byBhZGQgRFQg
Y2hlY2sgaGVyZSBzZWVtcyBub3QgYQ0KZ29vZCBpZGVhLiBCZWNhdXNlIG9uY2UsIHdoZW4gQXJt
IHN1cHBvcnQgQUNQSSBOVU1BLg0KQ09ORklHX0FDUElfTlVNQSBhbmQgQ09ORklHX0RFVklDRV9U
UkVFX05VTUEgY2FuIGJlIHNlbGVjdGVkIGF0DQp0aGUgc2FtZSB0aW1lLiBCdXQgb25seSBhY3Bp
X251bWEgb3IgZHRiX251bWEgY2FuIGJlID4gMC4NCg0KPiBIb3dldmVyLCBJIHRoaW5rIHRoaXMg
Y2hlY2sgaXMgZ29pbmcgdG8gaW1wYWlyIHRoZSB3b3JrIHRvIHN1cHBvcnQgYm90aA0KPiBBQ1BJ
IGFuZCBEVCBvbiBBcm0gYmVjYXVzZSBhY3BpX251bWEgd291bGQgZW5kIHVwIHRvIGJlIDAgc28g
eW91IHdvdWxkDQo+IGJhaWwgb3V0IGhlcmUuDQo+IA0KPiBXaXRoIHRoYXQgaW4gbWluZCwgSSB0
aGluayB0aGlzIGNoZWNrIG5lZWRzIHRvIGVpdGhlciBnbyBhd2F5IG9yIHJlcGxhY2UNCj4gYnkg
c29tZXRoaW5nIHRoZXJlIGlzIGZpcm13YXJlIGFnbm9zdGljLg0KDQpZZXMsIHdlIGhhdmUgZGlz
Y3Vzc2VkIGFib3V0IHNvbWV0aGluZyBsaWtlIGZ3X251bWEgYmVmb3JlLg0KPiANCj4gQ2hlZXJz
LA0KPiANCj4gLS0NCj4gSnVsaWVuIEdyYWxsDQo=


From xen-devel-bounces@lists.xenproject.org Sat Aug 28 02:12:21 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 02:12:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174137.317688 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJnpU-0007Md-Tc; Sat, 28 Aug 2021 02:12:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174137.317688; Sat, 28 Aug 2021 02:12:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJnpU-0007MU-Pk; Sat, 28 Aug 2021 02:12:20 +0000
Received: by outflank-mailman (input) for mailman id 174137;
 Sat, 28 Aug 2021 02:12:19 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=sP14=NT=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mJnpT-0007MK-Gm
 for xen-devel@lists.xenproject.org; Sat, 28 Aug 2021 02:12:19 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com (unknown
 [40.107.21.73]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id fee20732-15bc-4b43-8338-e65dd46575cc;
 Sat, 28 Aug 2021 02:12:16 +0000 (UTC)
Received: from AM6P195CA0045.EURP195.PROD.OUTLOOK.COM (2603:10a6:209:87::22)
 by AM0PR08MB3139.eurprd08.prod.outlook.com (2603:10a6:208:5d::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17; Sat, 28 Aug
 2021 02:12:13 +0000
Received: from VE1EUR03FT004.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:87:cafe::c3) by AM6P195CA0045.outlook.office365.com
 (2603:10a6:209:87::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.18 via Frontend
 Transport; Sat, 28 Aug 2021 02:12:13 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT004.mail.protection.outlook.com (10.152.18.106) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Sat, 28 Aug 2021 02:12:13 +0000
Received: ("Tessian outbound 5918cb94a4b5:v103");
 Sat, 28 Aug 2021 02:12:13 +0000
Received: from c19a3d6bbbb2.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 D883A314-D9F1-4CE3-88D0-E67DC130359B.1; 
 Sat, 28 Aug 2021 02:12:02 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c19a3d6bbbb2.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Sat, 28 Aug 2021 02:12:02 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DBBPR08MB4490.eurprd08.prod.outlook.com (2603:10a6:10:c5::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23; Sat, 28 Aug
 2021 02:12:00 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.024; Sat, 28 Aug 2021
 02:12:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fee20732-15bc-4b43-8338-e65dd46575cc
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZYaJYZhVT+uK0WbVMA8in17R1HTG2AimbO8+pYHkxBg=;
 b=UUxBRdg8M+pxyfzGJZq6WwZDaZ59AKgI2VhtSoFe6WhlU3oFIeRTInkSE5Ed5p1gwddJB0IK7h3TFvxLZpKVH8R5YRFIcfA3QVZovftakvyv2L0FIin1iBoaWU8scRt5VMKjqLFvx9Tu2t21U/OLAmmACz8nhtdJP/40/Qc6Ks4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=COvEjyyHjGpCyybrYz0AyqfHCEyVpbsHe9XBalBtXBkDr13a8Gtu1Jc78AKQw0XoB/KAvzh2junVnwU2NqIGIKXUFtpUH8FovIFEI60FhHKGnXlQUKlB2EdKk+MPWv/hm3jt8/4qLrskVBEJDkuppUeNo2NGdLb550aviB8RpDpRl1iBUgDDLV2vo/c9LZ22IUIk46IV+E04M1D4+aD5S6NGaUyp6cRifFQEvMiFWXWm1zTHdm30+b+huRwK5sDgSXSdRWOS/1nq2hxCjVHF/FXVqsLrPLuKdwrU+653YGWVI6EyqKaRe35bSMqKXO6i0bYSVdHb0mWSQnK3ZzbPCA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZYaJYZhVT+uK0WbVMA8in17R1HTG2AimbO8+pYHkxBg=;
 b=IWB0u8D6DDyGeKU1DLWlqUWALzfmEgbAsr3UJS1o0TI5xKeufw5T8S+2m7uGjHRoyZKGT6p05mGlA61VyM/yGZ33rXmu2+FCVZmWcivI2vab5zcWQtK5xT0gq3dKr5OnBeHNskOhUth6I8UF3U8vWUU981DYgpw4IWhqGdDOd4gbCT6jXSFIxP7WQ5mTBtRSsJrQVTM6F6Mkrul9v6oOuUVAkal82NfA7rCc1WUOSrHEPPG4Vt1w8Knrm6lRlK8bNOzTNzKR1rKXVWno90rScPURTAxY1TCGhmsCLEmzQNRYGvz2LsXhngflbYvYIlCUOIU/ZqNWu+zQgqQ09wuF3Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZYaJYZhVT+uK0WbVMA8in17R1HTG2AimbO8+pYHkxBg=;
 b=UUxBRdg8M+pxyfzGJZq6WwZDaZ59AKgI2VhtSoFe6WhlU3oFIeRTInkSE5Ed5p1gwddJB0IK7h3TFvxLZpKVH8R5YRFIcfA3QVZovftakvyv2L0FIin1iBoaWU8scRt5VMKjqLFvx9Tu2t21U/OLAmmACz8nhtdJP/40/Qc6Ks4=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 34/40] xen: move numa_scan_nodes from x86 to
 common
Thread-Topic: [XEN RFC PATCH 34/40] xen: move numa_scan_nodes from x86 to
 common
Thread-Index: AQHXjptUu77aQcXH00SSr7Sat0uCZquHfl+AgADIgbA=
Date: Sat, 28 Aug 2021 02:12:00 +0000
Message-ID:
 <DB9PR08MB6857245E2EA519514AA4D8A49EC99@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-35-wei.chen@arm.com>
 <b58424cc-cce9-58d5-5f22-6d8234fa38ad@xen.org>
In-Reply-To: <b58424cc-cce9-58d5-5f22-6d8234fa38ad@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: E3CA6E5A9C32CE4FBFDB4DA5581E3E3C.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 191bb85c-23a8-4a81-5b00-08d969c94029
x-ms-traffictypediagnostic: DBBPR08MB4490:|AM0PR08MB3139:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM0PR08MB31394111BF1BD98E9E0DCF339EC99@AM0PR08MB3139.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:6108;OLM:6108;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 Hh+bAs9MGV8E8z+QVu3Ugq9FjxE9Cw4slICyPTu2nKBGB+Ro/kZdiU2LrvFBYV8ty2Qt+J+Dykm4U+JAISt0wupcMzHeP02k6qKEBHmjmb/DrSx2kDartzKe8CASRLw0sOYu5nlkwgkztSdd0evlnRvr+ZCFxrAgkncW1qVDIK+wagsDVgBOYx8P1+c60sCRqWdoW3Zv98xuQlKbkKX8ezjXinXMvpFhxz+inrRVrnpbZek5yGwlONv0RNTJ8hDTB5MKYE6/qmuMyi3VbBsNaGVu4SDJRZ0KPwFEhyy00URY27WxVh/ZpN52IWFL1oO7AzdRO+0NIo7fsIzLCDEmnZjbWHI9tUt8yCxhyIZ+lUq8ND0Hruvmv6QZgkHqViuNe3mjMvtDCS/gffDUL8reRzLJYxBU7dVTO1FdRvsVcA5zjZQyMNszY/Pjb+LFtfj87n0txK10iVM8u2xISneg2IxNKdfiiPRezspw+rJfeDDa0gWD57XCRInxWCDOZHMEO2D6czcgZWxWp0xfQtAspXrFnBkNvECT6Ix8CMbcpz+E5lqZI5Qap4+f+eZFu3A4wPi+iMv9qqzocBFX/J2E2mBOQXb7LAZ2QG+QCwIyU6g2O6cl0iDf30zXRzav8I0aVukjkYMHh4UQSvMCTg+0bpmeOQRrsnOiQ01ObdDkY7Ne4USj25ehWzLjkMiLTbZrerONydF0C8y5K+jfn55xUQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(122000001)(26005)(38100700002)(53546011)(66946007)(186003)(8676002)(66476007)(71200400001)(83380400001)(5660300002)(76116006)(66556008)(66446008)(64756008)(9686003)(52536014)(4326008)(6506007)(508600001)(316002)(38070700005)(33656002)(55016002)(7696005)(8936002)(2906002)(110136005)(86362001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?RjBiMFB0ZWR3dmtWVUdldUhkZVpOQVZMMmNUYVNlZlBnRTFUK0duWE9EbEdM?=
 =?utf-8?B?cTNram5sTGFuQmg4UitRSjg0ZEFsTTIvUUFCUzJVWEJINWx3K2owK0FpSGVx?=
 =?utf-8?B?TGdqRk90TkRPZ3E0MERma211QUhqQ1dKTnhtaVBJWkp0ZDlUN09qc0pNcUN4?=
 =?utf-8?B?cXllYjJLcUlHQWdnK2xKNVd6eGJ6bjJHRDFSSGxsdGVYOWFXeHptYWcwV1RJ?=
 =?utf-8?B?TjBYVnpJUVp0dXIrdkVMVUdoME5nZk8yTWd3Z0FydWlzaVBuZVlIYVFrUzlo?=
 =?utf-8?B?Wnh6YktxT1h5S3AxWjRLQURFSEV2SitPUnZHK1VQQzVtbHhFU3VGUnlUTU54?=
 =?utf-8?B?OEc4ZkRzRzdYNmVLMmVzMHZhK2JZZXl1aGdoV09RdlI0a2lMRGxZMlhzTkZX?=
 =?utf-8?B?WmpSTzBJREdKQmhyaDZKTmFTNUw3ckdrbnFGY3V4QWFJT1dGZE1ZamE4Q1Ry?=
 =?utf-8?B?blphbHNITGQ2YzJNVEcvUzdsN2kyQndtVVB5QjRncjlCSnlCcWZpVExWOS9N?=
 =?utf-8?B?MElIRTZMTmQ0eko4aVF3dkxlVUJPQVFVYkMrM1FiemFDQ2tiRE9zQUtkMkF4?=
 =?utf-8?B?TUZKdjJGdGV4c0pyclBwaDRUY1hFVTJGVk9JMWMxcUp0ZkM1QVpiMk96Uysx?=
 =?utf-8?B?UlVLTGRtakNDRXhBM3dNbUljWnZzREg0ZWxIdFJkRWo5S1lrMURZaDBUMkZ5?=
 =?utf-8?B?T2U2Njd3S2doZEI4eHQxSGZSemRtYmNXaXBXcXZhb2NlTnJvR1FPR0lpT0ZT?=
 =?utf-8?B?NlNsN2JvWXdIM204K095Vjh4UVR4TUFTSnYvK1FwNHBiOFVQZlNyVFlxRnI5?=
 =?utf-8?B?SklWdmo2c3pUL3RFamp5RmUvbUMrOWNMTExTNG9xZTJZeGdJak9kS2R0dXRh?=
 =?utf-8?B?S2JtTmNCVWRjQVczQy9hcFcydDRJZlFBQkEvVkZxd2JvTWl1Z2pKc2dFbm5l?=
 =?utf-8?B?dVhmQzNXTnVsdE5DM3hIV20yNUhWRFlyTFR3NWNFQmppaEZPYzBYZ0NUN0lw?=
 =?utf-8?B?Rm1NUFNxRUFuVTdiT1NJMG5tR0k2ekhtMGkwUXZJVmVVajluWW91TmJPWk5C?=
 =?utf-8?B?bkdZMjJCcnNxYVNCRE9TUVIxL0t4bW1KU3poVWphcW0zY0JoRWg4R1dsYksz?=
 =?utf-8?B?U1hoTzUxKzYzZDNBc3gxdUpBL1Y5SEd2S3NLaWR5T2xlYXRlb3dNV2tSaXJq?=
 =?utf-8?B?SG40aDc0UllxcFIxQXdmL2VIdU82aFhGaGJPYkVRM3FuQnRmdkVrUDNjaEtQ?=
 =?utf-8?B?WmFKSVI3MDU2YVRRVFlUOWxaZE83OFl5NkNScFo3RndsVzZxN1BGTmFOMW1T?=
 =?utf-8?B?MjJaUFdrZEZET3NvUnptVlZ0c0tVWklFVG1aT29Mb0JSTlFWUUh2RlVnbUZq?=
 =?utf-8?B?c2V6RjVVR0l6K0xYeWF0Tk9WQ2hLVjRDQkZPMHRBZmRneDBldjh4Q09mb2RL?=
 =?utf-8?B?K3lvVjYvVkZpdW1rZlVKeVpZSXgvM2VBWUJHWml6WWtrVEFETmFFL2dNWUE5?=
 =?utf-8?B?ajdCcEcrWVoxTFE5bDVQYlRTODhSQlN1Mk1aT1c0Y3ZEOTRiRXplUHBWM0Z2?=
 =?utf-8?B?NnhhNjVoQjB0YjJSbHZldWs3V0kxQS9SWStLbjRKd2VFYTBHMVMyMElwSjAv?=
 =?utf-8?B?TVRkRUdYOHZtQyswNVZFdlRLWXJRdGlRWHpoU0dJSE00azdXM0VlQUg4UUMv?=
 =?utf-8?B?WkIzb25pZjlBS0txWkxoc2JDSHZZVXZHU3pXOXRqS1pCMkNGZ28xSytyUVFr?=
 =?utf-8?Q?DZxbpN0QMd9z9tufhnHesBd6ZF10wde6bgzj06O?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB4490
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT004.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	22b9b1bf-4ad3-4b57-c364-08d969c93864
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	vfc1bdi/PGkySI+oisZ475Sm12KMfA5RMa1tXIY62WkEYdpbQg2c0jwnhJVcEGqnW78vMQLDQG0DiM5mU3Vu1jOsN2O2BPyhdhqdgxaVDzMkS0A8xwhvYVXlk2spi7ZreblX3O72Pjg0dhb7MKcGv4Gkzji8bWu/ynAKEATgEAsDQJKnFQpNApTqx+Ol0O2sQ8RNpLDtaRWn2ccIiz+j/rM7ypmpN+jWnGfmgm6MHkymHpBt+jl3vjKP73QZlVMnethFvMRDEDnzpYxhiGHYLyL3Tmhpcucl6nFUSuytDb0xW1OC1DpVqZzHmBn3i8ye6ee6bKcD+PtWQfGyWgdZJiBO5s4Xs0eYDlEpILkpFWLsZRRCcDEzYeOX9AERbSeDdGUerB6DE1lCknmVEwxSBDIjDyvk4zbu7DclAwDnwk/qIOFrDWLVMQ/8vIUQxsK4qkM0ly5DV03Mw4hli5GgCAZBpC1ARARflm8P50Y2hLutS3TU30nsKQmJ8GkYvMAANU2Sr1ETQkOWrSNtm+zrJ34OhDAXZ5BdE89nTq6W94S/UDCw6PLTG4GCI6Jagg9KSvwBxzx+AQjIhFhxbjIlv7GSXWx8T6Uo3ZaDcBTRP5SkkoUAFiJkaqKGkEGeGFIovKgjb1w6oROzB9FINzwAS98MrfpiHLwDi+7HqGCyfmbESOoW8Q6PyD3lbMogKE/BqH56OyZtKx24eZIvchRIaw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(36840700001)(46966006)(33656002)(55016002)(52536014)(70206006)(336012)(4326008)(70586007)(186003)(356005)(8936002)(83380400001)(26005)(8676002)(508600001)(9686003)(82310400003)(110136005)(36860700001)(47076005)(53546011)(81166007)(86362001)(2906002)(5660300002)(7696005)(316002)(6506007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2021 02:12:13.4351
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 191bb85c-23a8-4a81-5b00-08d969c94029
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT004.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3139

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMjfml6UgMjI6MTQN
Cj4gVG86IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgeGVuLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnOw0KPiBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqYmV1bGljaEBzdXNlLmNvbQ0K
PiBDYzogQmVydHJhbmQgTWFycXVpcyA8QmVydHJhbmQuTWFycXVpc0Bhcm0uY29tPg0KPiBTdWJq
ZWN0OiBSZTogW1hFTiBSRkMgUEFUQ0ggMzQvNDBdIHhlbjogbW92ZSBudW1hX3NjYW5fbm9kZXMg
ZnJvbSB4ODYgdG8NCj4gY29tbW9uDQo+IA0KPiBIaSBXZWksDQo+IA0KPiBPbiAxMS8wOC8yMDIx
IDExOjI0LCBXZWkgQ2hlbiB3cm90ZToNCj4gPiBkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNt
LXg4Ni9hY3BpLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2FjcGkuaA0KPiA+IGluZGV4IDMzYjcx
ZGZiM2IuLjIxNDA0NjFmZjMgMTAwNjQ0DQo+ID4gLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9h
Y3BpLmgNCj4gPiArKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2FjcGkuaA0KPiA+IEBAIC0xMDEs
OSArMTAxLDYgQEAgZXh0ZXJuIHVuc2lnbmVkIGxvbmcgYWNwaV93YWtldXBfYWRkcmVzczsNCj4g
Pg0KPiA+ICAgI2RlZmluZSBBUkNIX0hBU19QT1dFUl9JTklUCTENCj4gPg0KPiA+IC1leHRlcm4g
czggYWNwaV9udW1hOw0KPiA+IC1leHRlcm4gaW50IG51bWFfc2Nhbl9ub2Rlcyh1NjQgc3RhcnQs
IHU2NCBlbmQpOw0KPiA+IC0NCj4gPiAgIGV4dGVybiBzdHJ1Y3QgYWNwaV9zbGVlcF9pbmZvIGFj
cGlfc2luZm87DQo+ID4gICAjZGVmaW5lIGFjcGlfdmlkZW9fZmxhZ3MgYm9vdHN5bSh2aWRlb19m
bGFncykNCj4gPiAgIHN0cnVjdCB4ZW5wZl9lbnRlcl9hY3BpX3NsZWVwOw0KPiA+IGRpZmYgLS1n
aXQgYS94ZW4vaW5jbHVkZS94ZW4vbnVtYS5oIGIveGVuL2luY2x1ZGUveGVuL251bWEuaA0KPiA+
IGluZGV4IDQ5MDM4MWJkMTMuLmI5YjVkMWFkODggMTAwNjQ0DQo+ID4gLS0tIGEveGVuL2luY2x1
ZGUveGVuL251bWEuaA0KPiA+ICsrKyBiL3hlbi9pbmNsdWRlL3hlbi9udW1hLmgNCj4gPiBAQCAt
ODEsOCArODEsMTAgQEAgZXh0ZXJuIHZvaWQgYmFkX3NyYXQodm9pZCk7DQo+ID4gICBleHRlcm4g
dm9pZCBudW1hX2luaXRfYXJyYXkodm9pZCk7DQo+ID4gICBleHRlcm4gdm9pZCBudW1hX2luaXRt
ZW1faW5pdCh1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwgdW5zaWduZWQgbG9uZw0KPiBlbmRfcGZu
KTsNCj4gPiAgIGV4dGVybiB2b2lkIG51bWFfc2V0X25vZGUoaW50IGNwdSwgbm9kZWlkX3Qgbm9k
ZSk7DQo+ID4gK2V4dGVybiBpbnQgbnVtYV9zY2FuX25vZGVzKHU2NCBzdGFydCwgdTY0IGVuZCk7
DQo+IA0KPiBBRkFJQ1QsIGJ5IHRoZSBlbmQgb2YgdGhlIHNlcmllcywgdGhlIGZ1bmN0aW9uIGlz
IG9ubHkgY2FsbGVkIGJ5IHRoZQ0KPiBjb21tb24gY29kZS4gU28gdGhpcyBzaG91bGQgYmUgc3Rh
dGljLg0KPiANCg0KT0sNCg0KPiBDaGVlcnMsDQo+IA0KPiAtLQ0KPiBKdWxpZW4gR3JhbGwNCg==


From xen-devel-bounces@lists.xenproject.org Sat Aug 28 02:13:44 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 02:13:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174144.317699 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJnqq-00084x-DF; Sat, 28 Aug 2021 02:13:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174144.317699; Sat, 28 Aug 2021 02: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 1mJnqq-00084q-9M; Sat, 28 Aug 2021 02:13:44 +0000
Received: by outflank-mailman (input) for mailman id 174144;
 Sat, 28 Aug 2021 02:13:43 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=sP14=NT=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mJnqo-00084k-TR
 for xen-devel@lists.xenproject.org; Sat, 28 Aug 2021 02:13:42 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com (unknown
 [40.107.8.57]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 38d43e50-d7df-48ca-a368-0fd8739612e1;
 Sat, 28 Aug 2021 02:13:41 +0000 (UTC)
Received: from DB3PR08CA0007.eurprd08.prod.outlook.com (2603:10a6:8::20) by
 DB7PR08MB3881.eurprd08.prod.outlook.com (2603:10a6:10:77::20) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17; Sat, 28 Aug 2021 02:13:37 +0000
Received: from DB5EUR03FT034.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:8:0:cafe::20) by DB3PR08CA0007.outlook.office365.com
 (2603:10a6:8::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.19 via Frontend
 Transport; Sat, 28 Aug 2021 02:13:37 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT034.mail.protection.outlook.com (10.152.20.87) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Sat, 28 Aug 2021 02:13:37 +0000
Received: ("Tessian outbound 56612e04f172:v103");
 Sat, 28 Aug 2021 02:13:36 +0000
Received: from ee21ce38e5ac.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 8D9C2FE9-DF18-4580-82A1-C54B0DD495DB.1; 
 Sat, 28 Aug 2021 02:13:26 +0000
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ee21ce38e5ac.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Sat, 28 Aug 2021 02:13:26 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DBBPR08MB4490.eurprd08.prod.outlook.com (2603:10a6:10:c5::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23; Sat, 28 Aug
 2021 02:13:25 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.024; Sat, 28 Aug 2021
 02:13:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 38d43e50-d7df-48ca-a368-0fd8739612e1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ucQt8Pi/J6q0nV6uJ+uu6gy7vjI/4ZeeyN4d7dZgACM=;
 b=ZbY08LZDfo0Be2LA2sG8I7UZ9IYr9rNkb4BPDBMOgjWgEV2v95yYBGklTuplOhJzb0YZbItHYAeyEArS/3TAnLiMD4+IPscFpRuuAOzQUrTfx1kzU6tLDzn8WXB/jWwHRso7h/dfjTtETLv4N5KDR8vmy9X+TGoPsuQpniwSAcw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GCOjEHtqAe15JBwX9d5LMWlbxZICad7AJYLa1VdTa+5TmHA34ATbh5Zk/RBmvL+LX9KAJb57f2YZzD7N6Y8rNsgFXE3nC0/Ayt/y6OCj5w1AYHG1T40dmVd5lAj9hLALwOI81dhopuClvUNiWNZ8ZU/V/IGf1RxO7LWzTdYTUVLdpZAeUosCcTu2d6xCqbK/B5hQzuaFP5azmsP/AlWhUTQjcAbv86RAV/vaJB70rx+9qkAr5Ab2Pd9hNGSrfIin5gwjE+FFj7lhDTKPnlVWwUFbS21bOVfS/qGaAQefl4wDrujP7g2BiJB1ICJRvY1O41sPefegRPENZ6iZEKoC3w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ucQt8Pi/J6q0nV6uJ+uu6gy7vjI/4ZeeyN4d7dZgACM=;
 b=gduyXorWxV+8tOiIteW9/UQdhZ+1/I6hBauopgsa6tPZ8aQdbJDDjcp8bff2kxzcxXFQRcyvptSxbJ48GBhxv0o2KtwQdfEkH8f1ad3IwJgJnWux+vISQAJV89Z79+/vNM3OdP2LoVn7Y4LQNc0kPqK2ZGyXydQSXfK+URD2KkBEnfo/HBnBf5vgmi/BUFFlNLfs/spy9r3zUyRR/ixe0/gCNw+Ss5HmMKglfGDGX9o63/l25a/ZyqlB8XyHsWL1MDaeDEpgcooMPEHZYz7SpFhmWFRhO7dPGmFUwST36eEIcHjWNSxd7uYoBdNOIauWBfHCPXHz+/k1rc5ou2ON/Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ucQt8Pi/J6q0nV6uJ+uu6gy7vjI/4ZeeyN4d7dZgACM=;
 b=ZbY08LZDfo0Be2LA2sG8I7UZ9IYr9rNkb4BPDBMOgjWgEV2v95yYBGklTuplOhJzb0YZbItHYAeyEArS/3TAnLiMD4+IPscFpRuuAOzQUrTfx1kzU6tLDzn8WXB/jWwHRso7h/dfjTtETLv4N5KDR8vmy9X+TGoPsuQpniwSAcw=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 35/40] xen: enable numa_scan_nodes for device tree
 based NUMA
Thread-Topic: [XEN RFC PATCH 35/40] xen: enable numa_scan_nodes for device
 tree based NUMA
Thread-Index: AQHXjptQirPWwTlIkEuKswf+MUcBvauHf9sAgADHQOA=
Date: Sat, 28 Aug 2021 02:13:24 +0000
Message-ID:
 <DB9PR08MB68575DB9EE764ABFF5C478049EC99@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-36-wei.chen@arm.com>
 <596df817-fc54-dd7d-8951-8a006d984e01@xen.org>
In-Reply-To: <596df817-fc54-dd7d-8951-8a006d984e01@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 49790B60AC191843A66F8A711830945D.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: b422a9d8-b85a-4a0f-dc54-08d969c971ee
x-ms-traffictypediagnostic: DBBPR08MB4490:|DB7PR08MB3881:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<DB7PR08MB38816BAC94F26B747CE9F1D09EC99@DB7PR08MB3881.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:4502;OLM:4502;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 6JaTgFrgKs6/Zhp6Cq9rJskBySVDdyBmU9ANbSqudu73KQx5cH52rMLECr2fvP0fI43JmsN3MI+XZTe5g8A0fP2SdjSbf41aGbm26tys/TbcjiVaF/KIEwEzqzQ7uUj3wRXIC66A0jzG3IeVcLWmiT60bbTHznTbbwJTKm3JcG/svaVbZU2Uzf1NuzoqnkFxjSXg+uZqYiicPtgCoyfQnIe4PSBzrQNdLyqVUvnFtGC3a4nkrng2I7ZmUVNOMAgBYUHMbrZyh5mUvmPR8iBiQ/9Gf9dqIxXA3boUjavwQKS5Layaec5FnTFQhrvo1uFXblirVAMqmhEiSQRrooJgQUmuBWriM1F0LMUobX2PVXU6Bzc2eclN8asKHmAMzOPVGdYjDIGdtp6Vuz5w/fckPLjXWRGpGg1ABgZbisBdiE7UFY2F4nqaXPq2gabqiN4K5dfLE9+TDIEYFudi4Y/eCcHLWNdbAmhNFHp/GdAqe46QWqJhL2+q1PG64nK5d8OXCQSCvxI8p/Sx1HaAmcaqXQOdqKYZE6Q6Lbe8S56JZo3vs7qc5Sf6AHem5WMqg2QvWjlTwauya5+DJypICi+aGz/yazDD+OaLCTwVca73IF0mzSED5RKAAMhONCbZUBtlq9VrzA5BGNYD8ZGggsnQtI9+Aeg4hh/70wdFRwbYHHMScIhckpwjXCIf0nWJxRmwojOFZFTu9gZIyQWN1MI21g==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(122000001)(26005)(38100700002)(53546011)(66946007)(186003)(8676002)(66476007)(71200400001)(83380400001)(5660300002)(76116006)(66556008)(66446008)(64756008)(9686003)(52536014)(4326008)(6506007)(508600001)(316002)(38070700005)(33656002)(55016002)(7696005)(8936002)(2906002)(110136005)(86362001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?U29RVCtxVCtRWTZZQW5RblNFWXVOb1p5REkzSGN0UzdYU2ZuUko1cEFvRTRZ?=
 =?utf-8?B?U0JoNE5rTVdYUGlqdHhvb1ZZZmE1RTNsQ3l6RER5RWRYL0EzelE0UGcrTUo5?=
 =?utf-8?B?Tit1M09NazIwYi9Ma01tSGFzMWk0aDAvYi9hZ0hLUzRyMXY2U0JCQmt1V0Ro?=
 =?utf-8?B?Y1RXMTdTVG5RdDBKWEcxUDFxQkQxVS9XVE93NldMWVJtQ1BWNEJrS2pmYURB?=
 =?utf-8?B?RDV2dnE5MUdHWFlxa2pjZTFIM0VubjEvNWE5TnpIdUFPUk5sbi8valZGdDJw?=
 =?utf-8?B?UmpJTUJLQjVJaEhVRlJ5SjhobFRrUmlOT0xTUTNVK0VoWEJia0R3cEpkdHRx?=
 =?utf-8?B?b2VERHFONkZPL2ZCQ0dhSFdzQ2lBZkoyemRFakFVaW5OK0FJWm4xaUV4MWRt?=
 =?utf-8?B?WGNYL0h6c2hkaVlpRVNxNEtZeHJRaUNPM1ZSOWpteGFEZTNBRWE0N2V3YUVu?=
 =?utf-8?B?cXJQbEMrekZPNVZDbk9qNUFIOG9nS2ZQRGhKZWtoVDlEQnh3WURuUk5RQmxj?=
 =?utf-8?B?eGpEQ1l1VGpJak42YTVXRXAzVUIyTzZvMm56bzRvVnZ2cWVyWm40Q1lLOHpW?=
 =?utf-8?B?SUFucW80YUV5OXhDNm5sbkcvVE12d1JndzlYN1VISTBvYktQamR5eEVSL1JX?=
 =?utf-8?B?SEFHSVBVcFJVNFlWbFFtUHJ1MlluOFo1aGRYS1NLNDg1QUNlK0JaTjJrVXA2?=
 =?utf-8?B?d2NxQ0ZjaWluNWM4Yk5VMnRqQTl2WnljY2NaQnp2cGdtMW4yaDFDajV1ZEVH?=
 =?utf-8?B?cWtpbVo5RndHMWhHTUFmbE14MFFYZ256aFlSNTA5clBhSmlXaWk5L2V3MTVC?=
 =?utf-8?B?S2lMNm5sejdLdTVvcHZTT3czTWJzUnNPYTdMcC8zVThkdm03dTJjZnZrZ2dO?=
 =?utf-8?B?VFI3SFJLK2lOZ2swWkZVM1pmNlk0VVhYd0QwYWhaLzYwVFM2Q3FWZENJTTA2?=
 =?utf-8?B?YThBU1lTUklCT1BFWlBKQlk2cCtiNjMzM3gxRUE1Z05JWWtkdjduSTJGNjla?=
 =?utf-8?B?eFRiVVJHNjN3Ykg2bGRYMkdDR2Zxa2NOelREL2JGR3o2Nzl6aVhFWEJQSGxP?=
 =?utf-8?B?M2pLL0o2SDNMMm0wd3liZjBRbUNsR1hWUmpiTkgxbldKM1hIWHJZenZFVjFs?=
 =?utf-8?B?TzlnVHovaDY3eVB0dElweHhTZVBXK21jR2F1WjZkamtPZEhKNU8wdWZoVUlw?=
 =?utf-8?B?b1dlZlo1TTFjUzhYWFRacEhqT3RlNmZUR0FmeDdROWFkcDZaTVo3L052K2ZX?=
 =?utf-8?B?Mkk1cXhkN1I4T203Vnh6UkZNQXFOUmJQUkM5cHlhL0xsWlNHd01oOTlORVhy?=
 =?utf-8?B?ZVJmQ1pxcUZsaW1FWUs3aHN3RjhZbUFkZmNQTFlhVzZqV0tDNWNNbnVIeHNu?=
 =?utf-8?B?Wjc2TGIwZDhsOUcwK1NMSVljQUpHaEdFVGRFSUNZbE1LcHlxR1hHS0JjTm5I?=
 =?utf-8?B?cVd4M1VwZWlIY1RmM0FEVVhmRG9iMVN1UHFVc1lodjFHYnFGQjZwZkRGOVdH?=
 =?utf-8?B?N3UzdVZrejRNNDdvV2NzWFEvb0ZjSndYNEtyOEVOaUo0ZlFyT0M1ZDd5MC8r?=
 =?utf-8?B?d1RrR0MxQjZTNmpTaldtZ3grYmdKN2t0NGg3L2g0elFqSWhnT20yRGZaTjVT?=
 =?utf-8?B?Y0JGcFFsZnNDYUdiM2lYVmZZNUNqS01DMmJ5a0Mrdi9QcGs3aGg2RVNoWFNE?=
 =?utf-8?B?OFE0bnp3bmhTbnNOdTh4dmgwSGNkTGhnWFVkd1ViRDRnTUV2djFqb1o4NXJ0?=
 =?utf-8?Q?RsBjr7xLEXkmQMV9pbIEClVxiE6ZOz96nAcqCkz?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB4490
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT034.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	b6e3764d-87ae-4417-6ad0-08d969c96ac2
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mOAwoCX9JV9R1XO1imC6NrEiaePoiaVpHvz7mwcaXmGfvu5IHMx9MJaWaTluOFR/GDrFoEuOHfFSb9KFy2xgUn+oAKoGg1yoWL307K3eumvKG+7tFWaoXmEBW0Uc2BFJSG5eiGHqmo4vqRVfkAHhI0ywFuAGkHiU8nYamtYUdxoeOegDvDCGPZW1E0ykV5BUcLDMLZOLLaqCAE3ipkN8fvQJcNqlP6Xcncl0+HDIk34gC4wqtuuzn4oRnAorrURccBzXl45iq9YNU5u0CFNqqpXo5OWxv39ouOHuqn9wzkCsJJZhj8hfhQdaUdDY34oOp+eyk1VltL6CqmjuwXRDjKObDvY+kGhAemMWLEDkUU14SHgVp5ZP4hk4g1rEvyErK+qT5PbEWlrPvev9CrxEJurXpEky0OBIccop8PxA7MZX2rVNlpRXZDT08+G93n+WaEnE1S+S5nqg5uhPqM2VsTyoeEkiLkb+W5xEag+stv3Z9eYowbqhPG8sVPBd8Z1NsCqI+T+/KFKcLe2Ghli7qh/ZLIP0O9FNIA/lGaTgPH0CoAij15gdZFaVN72QdCcjTI94Jr+GEd140ngKEDgQ4YXotIQZ6/sKteoARadLBuKbNlmgnnqA+L/G4kW05XvYUS8ORVQqO7GHaM+WCgz7rQlscMoZdOxH8lmg75GKjdhERrv0KNS6fseUIyjwq3zn8k8/XgSCMkbTKjbkID/LQw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(136003)(376002)(346002)(396003)(39850400004)(46966006)(36840700001)(316002)(33656002)(9686003)(5660300002)(55016002)(86362001)(70206006)(7696005)(82310400003)(356005)(4326008)(186003)(81166007)(82740400003)(2906002)(36860700001)(110136005)(83380400001)(53546011)(26005)(6506007)(70586007)(8676002)(336012)(8936002)(478600001)(47076005)(52536014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2021 02:13:37.0388
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b422a9d8-b85a-4a0f-dc54-08d969c971ee
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT034.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3881

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMjfml6UgMjI6MTkN
Cj4gVG86IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgeGVuLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnOw0KPiBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqYmV1bGljaEBzdXNlLmNvbQ0K
PiBDYzogQmVydHJhbmQgTWFycXVpcyA8QmVydHJhbmQuTWFycXVpc0Bhcm0uY29tPg0KPiBTdWJq
ZWN0OiBSZTogW1hFTiBSRkMgUEFUQ0ggMzUvNDBdIHhlbjogZW5hYmxlIG51bWFfc2Nhbl9ub2Rl
cyBmb3IgZGV2aWNlDQo+IHRyZWUgYmFzZWQgTlVNQQ0KPiANCj4gSGkgV2VpLA0KPiANCj4gT24g
MTEvMDgvMjAyMSAxMToyNCwgV2VpIENoZW4gd3JvdGU6DQo+ID4gTm93LCB3ZSBjYW4gdXNlIHRo
ZSBzYW1lIGZ1bmN0aW9uIGZvciBBQ1BJIGFuZCBkZXZpY2UgdHJlZSBiYXNlZA0KPiA+IE5VTUEg
dG8gc2NhbiBtZW1vcnkgbm9kZXMuDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBXZWkgQ2hlbiA8
d2VpLmNoZW5AYXJtLmNvbT4NCj4gPiAtLS0NCj4gPiAgIHhlbi9jb21tb24vbnVtYS5jIHwgMiAr
LQ0KPiA+ICAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pDQo+
ID4NCj4gPiBkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9udW1hLmMgYi94ZW4vY29tbW9uL251bWEu
Yw0KPiA+IGluZGV4IDhjYTEzZTI3ZDEuLmQxNWMyZmMzMTEgMTAwNjQ0DQo+ID4gLS0tIGEveGVu
L2NvbW1vbi9udW1hLmMNCj4gPiArKysgYi94ZW4vY29tbW9uL251bWEuYw0KPiA+IEBAIC0zODEs
NyArMzgxLDcgQEAgdm9pZCBfX2luaXQgbnVtYV9pbml0bWVtX2luaXQodW5zaWduZWQgbG9uZw0K
PiBzdGFydF9wZm4sIHVuc2lnbmVkIGxvbmcgZW5kX3BmbikNCj4gPiAgICAgICAgICAgcmV0dXJu
Ow0KPiA+ICAgI2VuZGlmDQo+ID4NCj4gPiAtI2lmZGVmIENPTkZJR19BQ1BJX05VTUENCj4gPiAr
I2lmIGRlZmluZWQoQ09ORklHX0FDUElfTlVNQSkgfHwgZGVmaW5lZChDT05GSUdfREVWSUNFX1RS
RUVfTlVNQSkNCj4gDQo+IG51bWEuYyBpcyBvbmx5IGJ1aWx0IHdoZW4gQ09ORklHX05VTUEgaXMg
c2V0LiBJIGRvbid0IHRoaW5rIENPTkZJR19OVU1BDQo+IHdpbGwgZXZlciBzZXQgaWYgbmVpdGhl
ciBDT05GSUdfQUNQSV9OVU1BIG9yIENPTkZJR19ERVZJQ0VfVFJFRV9OVU1BIGlzDQo+IHNldC4g
U28gZG8gd2UgYWN0dWFsbHkgbmVlZCB0aGlzICNpZmRlZj8NCj4gDQoNClllcywgeW91J3JlIHJp
Z2h0LiBUaGlzIGNoZWNrIHNob3VsZCBiZSByZW1vdmVkLg0KDQoNCj4gPiAgICAgICBpZiAoICFu
dW1hX29mZiAmJiAhbnVtYV9zY2FuX25vZGVzKCh1NjQpc3RhcnRfcGZuIDw8IFBBR0VfU0hJRlQs
DQo+ID4gICAgICAgICAgICAodTY0KWVuZF9wZm4gPDwgUEFHRV9TSElGVCkgKQ0KPiA+ICAgICAg
ICAgICByZXR1cm47DQo+ID4NCj4gDQo+IENoZWVycywNCj4gDQo+IC0tDQo+IEp1bGllbiBHcmFs
bA0K


From xen-devel-bounces@lists.xenproject.org Sat Aug 28 02:19:49 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 02:19:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174149.317709 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJnwg-0000NR-1w; Sat, 28 Aug 2021 02:19:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174149.317709; Sat, 28 Aug 2021 02:19: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 1mJnwf-0000NK-VJ; Sat, 28 Aug 2021 02:19:45 +0000
Received: by outflank-mailman (input) for mailman id 174149;
 Sat, 28 Aug 2021 02:19:44 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=sP14=NT=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mJnwe-0000NE-J0
 for xen-devel@lists.xenproject.org; Sat, 28 Aug 2021 02:19:44 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com (unknown
 [40.107.20.41]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 6a7a336c-f1ad-4195-8a91-57443f045606;
 Sat, 28 Aug 2021 02:19:41 +0000 (UTC)
Received: from AM5PR0101CA0018.eurprd01.prod.exchangelabs.com
 (2603:10a6:206:16::31) by VI1PR08MB4016.eurprd08.prod.outlook.com
 (2603:10a6:803:ed::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17; Sat, 28 Aug
 2021 02:19:40 +0000
Received: from AM5EUR03FT006.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:206:16:cafe::56) by AM5PR0101CA0018.outlook.office365.com
 (2603:10a6:206:16::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.20 via Frontend
 Transport; Sat, 28 Aug 2021 02:19:40 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT006.mail.protection.outlook.com (10.152.16.122) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Sat, 28 Aug 2021 02:19:39 +0000
Received: ("Tessian outbound 6ba9ec11d42b:v103");
 Sat, 28 Aug 2021 02:19:39 +0000
Received: from 22c1da211903.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 D7C319ED-DB79-43EB-B68B-0FFD247E4ED4.1; 
 Sat, 28 Aug 2021 02:19:32 +0000
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 22c1da211903.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Sat, 28 Aug 2021 02:19:32 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DBBPR08MB4490.eurprd08.prod.outlook.com (2603:10a6:10:c5::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23; Sat, 28 Aug
 2021 02:19:31 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.024; Sat, 28 Aug 2021
 02:19: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: 6a7a336c-f1ad-4195-8a91-57443f045606
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tDuYTnNqCsg+g/n74jX6aio/GZIhaxW2Q2vwbImDZbY=;
 b=zadqo25c4KEvPXSZvgkTce+6Z/zHxLBCPNu/zfzjyDAAur956+EHG8zSu7hEPfgO4YCW7zkwD09ssIX8yxY6Acuhx+Iyhd9N7ot/3sKd3KCl7wn3RRDJ2iVkulPq2Ken/FYrW0h4Sijiz443UeoCbeyEMX/nP5/QC9vKdEWUUfg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jYPEsTuPP18tetmzHPPkgDPElH9qXWm4hbsTcrx811Pvvfk6H29Us6j6vdYUd1s1DVy6EZ3SySMTnYCKZ1giJFm2rltMU8xVobpha63jUPa7wRyqCCwwUM6CtMdWtEqJV3JWGF9IlybfBmS3FStQNFSPdjcbCfc+ENWK3e8wyYGRQxQ5L1zpuiVpi8xuD7TbJfSIdKIi66mmpvG18BrhbM9dZ5yn1Cs15k2dR4/KLCEQfG62xMLXrpuuIIGJrRYF5V+1O8DCuAhh0WrvUYVj5cIvZtOaPIL7Ve4BR11l/kQtLio3HN8+tz0O9Go6EgNtiSqfGFlQsGK3iWpvEYFkSw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tDuYTnNqCsg+g/n74jX6aio/GZIhaxW2Q2vwbImDZbY=;
 b=VIn+AcQJMRZyuc8/Sne+xLXC+TdNOPtuEZX+hjmXdWfRXj1juw7VmpywhnH17EJi4P/x+ziafrLhSY7xhOOzRHhrGOnHX9W5HAanXv81+wfzi9ryYP+flEEQLcOAOyWUphAe4kKUi8mchFZCDXslpprv0gSvV21AUfzU6zZ8xESxOVSIon+yvsphEd/KVAR8fwyiWeKoRCaz4CJIcyFRnVw1+G6VAY6mQUn8r506cvvTHQAbisnRm4U+rV4x25doUmBZFGrMc46d2PrBV6kqBPK9qvKxL+a1Z8NbNn/6CwmSNBCOvolxteAU2FST9SvcQtmPEPDghUE7bdPnHLTt7A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tDuYTnNqCsg+g/n74jX6aio/GZIhaxW2Q2vwbImDZbY=;
 b=zadqo25c4KEvPXSZvgkTce+6Z/zHxLBCPNu/zfzjyDAAur956+EHG8zSu7hEPfgO4YCW7zkwD09ssIX8yxY6Acuhx+Iyhd9N7ot/3sKd3KCl7wn3RRDJ2iVkulPq2Ken/FYrW0h4Sijiz443UeoCbeyEMX/nP5/QC9vKdEWUUfg=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 36/40] xen/arm: keep guest still be NUMA unware
Thread-Topic: [XEN RFC PATCH 36/40] xen/arm: keep guest still be NUMA unware
Thread-Index: AQHXjptWK29McjsGWUaYeWCynju4ZauHgkiAgADFJ5A=
Date: Sat, 28 Aug 2021 02:19:31 +0000
Message-ID:
 <DB9PR08MB68576E9992224EFFE8E4022E9EC99@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-37-wei.chen@arm.com>
 <7e801a6e-68db-c541-7386-04e981681ec4@xen.org>
In-Reply-To: <7e801a6e-68db-c541-7386-04e981681ec4@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: DCCC38094021D240A67D7718E01ED012.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 41277c05-6372-400e-2716-08d969ca4a2e
x-ms-traffictypediagnostic: DBBPR08MB4490:|VI1PR08MB4016:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR08MB4016C9B97F5B233A91AE50659EC99@VI1PR08MB4016.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:9508;OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 YMW4gfpYjDs3qsiBOoT1fZS8ClMNtvUd80DaHG+CVy+CZHlqbOBlqdhsqF/CkACHQ2xhdby2TpkQP1DP+gxMzZwEqMkmXQFwwmTrCWwktz7qxtKX4Jj3scKwLM8HzDj+dBgQOAjAFw1D4tYNNEDu1rB6Y6Bx6Hb07yquV0DMGNcvx2BB+oVY3Vv5M+uW0o/ICrylLl7tH05k3pPiKIa7n8mZl235bnYuASmcXu2zo7Aqiqc8ADpcVEzsXWxDyqsttcbqiVLDlvAb8utgURTeUdiWMv5q9TIiCHDcVjbICa2MsQgXsTcksh901mt0VzIfwAVV/diwZRK3X6CcPxXV9slllzNn7AGG64Xswjl4vfvz5TtvwLZFXmhBvlH49cre9zzJKJOS4gvwhK+v+XZ98RZCAcCujYUHW0lmPggjgdcUfUx7WTyPNUGCTsfNSmXyjpfpcDr6ZtpqkTYfFHFXjfioe6QHzrfXt0gBdEHXgWUnZzGhqQS4E/wn7xr4uZjKCBt5CPmgwQlsH1qhgZfacG7vwsy644IcXXoyIPVQIfpYqCUEnMgrz693xOwPvIZKg9SEwqn/KBXXcjqUvxJgpCAdi+ISfemaSHekIxfb3p4N0fxZ7CDpqtirSd1U3Uib5G7TdR2xFTimtPfwNdBaj0EvTW1iK5xXXFJw7lUHoZ2D6taRZ0GlyaemwDGUwW7LAthKowqcIpFmyrs11CUO0g==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(508600001)(316002)(38070700005)(52536014)(9686003)(4326008)(6506007)(2906002)(110136005)(86362001)(55016002)(7696005)(33656002)(8936002)(53546011)(66946007)(186003)(8676002)(38100700002)(122000001)(26005)(66476007)(83380400001)(5660300002)(71200400001)(66556008)(66446008)(64756008)(76116006);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?S1RzblUzamNZb2wweVJoSnRnMGVFTzVJODIzYzRUaktsZVFlUjlLYzJ3NVJ5?=
 =?utf-8?B?QlpPeDM5cEhmRzNxQVdLVzNScjF2bjJ5UlFjd3c4d293L3pibHNSK01rREQy?=
 =?utf-8?B?UWhCY2t6Wk5yQTdsbDRnUVFrU2pRUmpra0szNmRlWHJicjFlbGtLcU1RSGNO?=
 =?utf-8?B?amNnMlhlMHdPbmFKdTZKWm9EM24zK0lpT044bUppK3NmeDlhWmZ2L1QxZlAr?=
 =?utf-8?B?dkNjNytob1FYUXJRLzBPbmVETVhEOU5hVENFcVY5a3FGWjRqZi9HckttNUUz?=
 =?utf-8?B?NnlaVWV2ZzQyMXFDNkMyOG1valpSM0s0OTR5b0tJSkxvOUwybzdaS3kyTjZz?=
 =?utf-8?B?dU4yZlBwdS9NWTRiek9NNzhPaUw4SktrQk83blROaCtWUFVkaDNDbHZycXJi?=
 =?utf-8?B?YTdPVzlmT1Z2NUV5VmR2cXJ6ZTNuVERtZ3AyTktMMU1aQ294a3kzZWt2S0xH?=
 =?utf-8?B?M1NONmJ5R3ZiSTdsY2xnY3lxeVFEa1hsb2VtaDQ3VXlqRnJMZGw0SE4yQlRC?=
 =?utf-8?B?ZU5UQVYxOVVUallmV1REU2R1bzFXZENaQnhJUVVoY21YMHMwYnY1Z3BEZk12?=
 =?utf-8?B?T3ZabU1yd0lablNoRUtzaVJyQUdsb3VvYjI5Sk9obXFIU2NDYWpraWUxdyt2?=
 =?utf-8?B?V0FvTWZGNjhBL1lla2hsR2ZGOFU1c3BIU05zM21JUDFKbEdLZU5DQnNNTHov?=
 =?utf-8?B?TFkvNnFPanRlUXVnSDArQjhNL0FiUlg2SGZqaTNqa0VOdkdQZ3ViNUlWS3M3?=
 =?utf-8?B?a3lBWHlsa0E2MWc4eEdJcE5UbUZOcmdwRkNiN3hlK2tBQzM0VG14cVhHOVFN?=
 =?utf-8?B?bGNKQnB2VmhYdmljbmJWd0dnWUZYY013eUFmVGxWOTE5QXlCUkxKa0pyUEdM?=
 =?utf-8?B?OG5JVUVPMy9Ma0x5VGVhcCsvRndaSUVXWDZjbE52S3N3MEM0ZDgxNzNxK0FW?=
 =?utf-8?B?R1J3UVNDQUh2TzdyTlJPMFZYempXbmVHSEhDaXVlWGFRUTFJWlVWU0FWbXFT?=
 =?utf-8?B?TnoxdEVhR2ZzblQ1WFA0MVA2UTFibHV0Y3Bqcml5WG83THJ2Ymc0TUl3NGlG?=
 =?utf-8?B?aEpGQ2Z5M1V6ODVDU29GRi9mM3lCaU1JRjJXWTJTaDdvYU1DRlI1RHU1S3Mx?=
 =?utf-8?B?VnNZNTVOUStnbldGU3YwMDRXd3RpVzUvMjdXa29ZMjl3UjQvVDJJODdZSzBD?=
 =?utf-8?B?RDQ4Wnd0QytXZEZzRnNPZ1Eya295a2lXRE8za0JJNDNqeFRxVTBvcVZWU3Uv?=
 =?utf-8?B?bnRNUHFKRnoyQzdVakdROUp5ek1ZTTZkUVc3Njd3ckVqR0QrZW9ZSkJJTXFx?=
 =?utf-8?B?RGhFZEZDU2lGY3NtRHdmZWYzTTEzMlZ5RnhpOHRiUkxSWkdqamJGbE9BMTFW?=
 =?utf-8?B?bEZ0UmRRYkVvdFoxTnp1QU1RZlgvalVSam5xNUhoQkFpSmdYbFdxZU5NSXQ2?=
 =?utf-8?B?WlRxa2JhRUxIYjlKQ1ZUSnhyY2NiWDNiR0EzRWsyd3dseXc0TmxyOTd5RFl1?=
 =?utf-8?B?aUhsU1pXTDZDd3BsQmVqVll1WlF4WEFaYnlVWkdtSTVhQVZhNEJqTFJNN25j?=
 =?utf-8?B?VjNwL3cyU0I5U0xRdFRPUkhjYk9GdG5hK0hFR0tHTzlORjFVR0tCRGw0d243?=
 =?utf-8?B?aGloRzZmcGhsQlFWTlgzdDRUTXFkTGtEWTJ0d01ZYVEvaDZSNFlvb1RzME54?=
 =?utf-8?B?QXpzdko1K2ZVU1hnMFBFcXhKWlF6Y2l6bEZiUmRFbjVrWExpdXVoeHZieEly?=
 =?utf-8?Q?Pa52u/rgoVtLlTX/L5GPUcLclFMuFW+jA/GI7hs?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB4490
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT006.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	052aa74b-3fb4-4879-4304-08d969ca454c
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	em+e90znvolwiwWzaaAMr4GvoJfZNi4ip+gdYWcJCtpT2rJUpoOkgxGwaIo2/1lN46OATLI0qrmC4hf82UarJx+zSc+i9YUmKJIOJ/dpBZcr8JuWZgHH3AE2q7h/G0Qjqkx2zVliVe4fpEpvVx7BmlO/tbiTgXCwBODrm+YFRHzaUv2lZTZU564/p3wxd7pNzxe0AsTfxgyu9x3ryUd2NI/7rDRQMjb/xz6psamK5RBXLM7nXQcYShv7zIKoe7X727R4Gb61kRxFZX6CgiIu2UfhOdDpEdRjPjRNFtdVkbBXUZyA+hTdcb2xnqC0yqc48bWQOAThECYEIAdiX1aiKFWdYsqdw9XOyegObkfBt15illiapsSuA6GIwDUE8ERNTBLDCRNEjKu0tOun72i/a3xW9MNvEmypiiZswLo4ZS9RT+F3gvW/DSxCYfe4iT3aaNwk/mSNn88xjwPj6M1AQ2uPdkZOH+fkwhhpXN/G0fjZxX/0+x9ptd+ugQ6naKtq6CydsyEGR57PFyuXgvyfY5XgnHGAT7fLu9P9cN+2f+W19UqjUbGJNsG0bYfwWapzUpioYJDyHKVFEOpnuM6HCGhxeEg6UX1FOmIljLcAVrVWgZGCygw+mMKSdN54UAjCBmjPa/SjX1ux4NDsscP45jrLebGwmgSW7H88Ce3XoVk2mvz8SH5kU5R5NIT9waNnYwraXJrQf1lsTcKY23GlIw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(376002)(136003)(346002)(39850400004)(396003)(46966006)(36840700001)(55016002)(83380400001)(47076005)(26005)(356005)(9686003)(36860700001)(33656002)(86362001)(336012)(52536014)(81166007)(53546011)(82310400003)(186003)(6506007)(82740400003)(110136005)(2906002)(70586007)(70206006)(7696005)(8936002)(5660300002)(316002)(478600001)(4326008)(8676002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2021 02:19:39.7910
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 41277c05-6372-400e-2716-08d969ca4a2e
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT006.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB4016

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMjfml6UgMjI6MjgN
Cj4gVG86IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgeGVuLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnOw0KPiBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqYmV1bGljaEBzdXNlLmNvbQ0K
PiBDYzogQmVydHJhbmQgTWFycXVpcyA8QmVydHJhbmQuTWFycXVpc0Bhcm0uY29tPg0KPiBTdWJq
ZWN0OiBSZTogW1hFTiBSRkMgUEFUQ0ggMzYvNDBdIHhlbi9hcm06IGtlZXAgZ3Vlc3Qgc3RpbGwg
YmUgTlVNQQ0KPiB1bndhcmUNCj4gDQo+IEhpIFdlaSwNCj4gDQo+IE9uIDExLzA4LzIwMjEgMTE6
MjQsIFdlaSBDaGVuIHdyb3RlOg0KPiA+IFdlIGhhdmUgbm90IHdhbnRlZCB0byBtYWtlIFhlbiBn
dWVzdCBiZSBOVU1BIGF3YXJlIGluIHRoaXMgcGF0Y2gNCj4gPiBzZXJpZXMuDQo+IA0KPiBUaGUg
Y29uY2VwdCBvZiBwYXRjaCBzZXJpZXMgY2Vhc2VzIHRvIGV4aXN0IG9uY2Ugd2UgbWVyZ2UgdGhl
IGNvZGUuIFNvDQo+IGFib3V0IGhvdzoNCj4gDQo+ICJUaGUgTlVNQSBpbmZvcm1hdGlvbiBwcm92
aWRlZCBpbiB0aGUgaG9zdCBEZXZpY2UtVHJlZSBhcmUgb25seSBmb3IgWGVuLg0KPiBGb3IgZG9t
MCwgd2Ugd2FudCB0byBoaWRlIHRoZW0gYXMgdGhleSBtYXkgYmUgZGlmZmVyZW50IChmb3Igbm93
LCBkb20wDQo+IGlzIHN0aWxsIG5vdCBhd2FyZSBvZiBOVU1BIi4NCj4gDQoNClRoYW5rcywgSSB3
aWxsIGRvIGl0Lg0KDQo+ID4gU28gaW4gdGhpcyBwYXRjaCwgWGVuIHdpbGwgc2tpcCBOVU1BIGRp
c3RhbmNlIG1hdHJpeCBub2RlDQo+ID4gYW5kIHNraXAgdGhlIG51bWEtbm9kZS1pZCBwcm9wZXJ0
eSBpbiBDUFUgbm9kZSBhbmQgbWVtb3J5IG5vZGUsDQo+ID4gd2hlbiBYZW4gaXMgY3JlYXRpbmcg
Z3Vlc3QgZGV2aWNlIHRyZWUgYmluYXJ5Lg0KPiANCj4gVGhlIENQVSBhbmQgbWVtb3J5IG5vZGVz
IGFyZSByZWNyZWF0ZWQgZnJvbSBzY3JhdGNoIGZvciB0aGUgZG9tYWluLiBTbw0KPiB3ZSBhbHJl
YWR5IHNraXAgdGhlIHByb3BlcnR5IG51bWEtbm9kZS1pZC4gSG93ZXZlci4uLg0KPiANCj4gPiBT
aWduZWQtb2ZmLWJ5OiBXZWkgQ2hlbiA8d2VpLmNoZW5AYXJtLmNvbT4NCj4gPiAtLS0NCj4gPiAg
IHhlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYyB8IDYgKysrKysrDQo+ID4gICAxIGZpbGUgY2hh
bmdlZCwgNiBpbnNlcnRpb25zKCspDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJt
L2RvbWFpbl9idWlsZC5jIGIveGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jDQo+ID4gaW5kZXgg
Y2YzNDFmMzQ5Zi4uZTYyZmE3NjFiZCAxMDA2NDQNCj4gPiAtLS0gYS94ZW4vYXJjaC9hcm0vZG9t
YWluX2J1aWxkLmMNCj4gPiArKysgYi94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMNCj4gPiBA
QCAtNTg0LDYgKzU4NCwxMCBAQCBzdGF0aWMgaW50IF9faW5pdCB3cml0ZV9wcm9wZXJ0aWVzKHN0
cnVjdCBkb21haW4gKmQsDQo+IHN0cnVjdCBrZXJuZWxfaW5mbyAqa2luZm8sDQo+ID4gICAgICAg
ICAgICAgICAgICAgY29udGludWU7DQo+ID4gICAgICAgICAgIH0NCj4gPg0KPiA+ICsgICAgICAg
IC8qIEd1ZXN0IGlzIG51bWEgdW5hd2FyZSBpbiBjdXJyZW50IHN0YWdlICovDQo+ID4gKyAgICAg
ICAgaWYgKCBkdF9wcm9wZXJ0eV9uYW1lX2lzX2VxdWFsKHByb3AsICJudW1hLW5vZGUtaWQiKSAp
DQo+ID4gKyAgICAgICAgICAgIGNvbnRpbnVlOw0KPiANCj4gLi4uIHlvdXIgY29kZSBpcyBkb2lu
ZyBtb3JlIHRoYW4gc2tpcHBpbmcgdGhlIHByb3BlcnR5IGZvciB0aGUgdHdvIG5vZGVzDQo+IHlv
dSBtZW50aW9ubmVkLiBDYW4gdGhlIHByb3BlcnR5IGV4aXN0cyBpbiBvdGhlciBub2Rlcz8NCg0K
U29tZSBkZXZpY2VzIGxpa2UgUENJZSBtYXkgaGF2ZSBudW1hLW5vZGUtaWQuIEluIHRoZSBmdXR1
cmUgbWF5YmUgbW9yZQ0KZGV2aWNlIGNhbiBoYXZlIE5VTUEgcHJvcGVydHkuDQoNCj4gDQo+ID4g
Kw0KPiA+ICAgICAgICAgICByZXMgPSBmZHRfcHJvcGVydHkoa2luZm8tPmZkdCwgcHJvcC0+bmFt
ZSwgcHJvcF9kYXRhLA0KPiBwcm9wX2xlbik7DQo+ID4NCj4gPiAgICAgICAgICAgaWYgKCByZXMg
KQ0KPiA+IEBAIC0xNDU0LDYgKzE0NTgsOCBAQCBzdGF0aWMgaW50IF9faW5pdCBoYW5kbGVfbm9k
ZShzdHJ1Y3QgZG9tYWluICpkLA0KPiBzdHJ1Y3Qga2VybmVsX2luZm8gKmtpbmZvLA0KPiA+ICAg
ICAgICAgICBEVF9NQVRDSF9UWVBFKCJtZW1vcnkiKSwNCj4gPiAgICAgICAgICAgLyogVGhlIG1l
bW9yeSBtYXBwZWQgdGltZXIgaXMgbm90IHN1cHBvcnRlZCBieSBYZW4uICovDQo+ID4gICAgICAg
ICAgIERUX01BVENIX0NPTVBBVElCTEUoImFybSxhcm12Ny10aW1lci1tZW0iKSwNCj4gPiArICAg
ICAgICAvKiBOdW1hIGluZm8gZG9lc24ndCBuZWVkIHRvIGJlIGV4cG9zZWQgdG8gRG9tYWluLTAg
Ki8NCj4gPiArICAgICAgICBEVF9NQVRDSF9DT01QQVRJQkxFKCJudW1hLWRpc3RhbmNlLW1hcC12
MSIpLA0KPiA+ICAgICAgICAgICB7IC8qIHNlbnRpbmVsICovIH0sDQo+ID4gICAgICAgfTsNCj4g
PiAgICAgICBzdGF0aWMgY29uc3Qgc3RydWN0IGR0X2RldmljZV9tYXRjaCB0aW1lcl9tYXRjaGVz
W10gX19pbml0Y29uc3QgPQ0KPiA+DQo+IA0KPiBDaGVlcnMsDQo+IA0KPiAtLQ0KPiBKdWxpZW4g
R3JhbGwNCg==


From xen-devel-bounces@lists.xenproject.org Sat Aug 28 02:40:57 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 02:40:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174156.317721 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJoH3-0003w3-VN; Sat, 28 Aug 2021 02:40:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174156.317721; Sat, 28 Aug 2021 02: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 1mJoH3-0003vw-RA; Sat, 28 Aug 2021 02:40:49 +0000
Received: by outflank-mailman (input) for mailman id 174156;
 Sat, 28 Aug 2021 02:40:48 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mJoH2-0003vm-Bs; Sat, 28 Aug 2021 02:40:48 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mJoH2-0002Kr-6G; Sat, 28 Aug 2021 02:40:48 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mJoH1-0002bp-Pv; Sat, 28 Aug 2021 02:40:47 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mJoH1-0007MT-PJ; Sat, 28 Aug 2021 02:40: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=qNLERFYf7nbroyzE0ZUbDz1SQfhbLPTiVTK7nzak3E8=; b=vo9HS4YWokyMi5FtZzf/IOLxc4
	1n6xtDcJvJjOklps8cG5EG4HDs9LoT7FMOhaSv6n8nXQSiZZ1JZGLmjhVRYrFDpCfjjr4n++jmphW
	3HIXcgLl01UuSLtTFhPLOCUsavUOPJK9uagtTiNkxpJYCEmWq2lbe0W2wEglsEunmAFg=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164500-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164500: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup: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-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=73f3af7b4611d77bdaea303fb639333eb28e37d7
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 28 Aug 2021 02:40:47 +0000

flight 164500 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164500/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 13 debian-fixup             fail REGR. vs. 152332

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     20 guest-localmigrate/x10   fail REGR. vs. 152332

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 152332
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 152332
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 152332
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 152332
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 152332
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 152332
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 152332
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                73f3af7b4611d77bdaea303fb639333eb28e37d7
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  392 days
Failing since        152366  2020-08-01 20:49:34 Z  391 days  680 attempts
Testing same since   164500  2021-08-26 11:31:28 Z    1 days    1 attempts

------------------------------------------------------------
6817 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2017199 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 28 03:09:40 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 03:09:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174162.317734 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJois-000789-9m; Sat, 28 Aug 2021 03:09:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174162.317734; Sat, 28 Aug 2021 03:09:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJois-000782-6q; Sat, 28 Aug 2021 03:09:34 +0000
Received: by outflank-mailman (input) for mailman id 174162;
 Sat, 28 Aug 2021 03:09:32 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=sP14=NT=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mJoiq-00077w-A1
 for xen-devel@lists.xenproject.org; Sat, 28 Aug 2021 03:09:32 +0000
Received: from FRA01-PR2-obe.outbound.protection.outlook.com (unknown
 [40.107.12.57]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 5c177150-07ad-11ec-ab30-12813bfff9fa;
 Sat, 28 Aug 2021 03:09:30 +0000 (UTC)
Received: from DBBPR09CA0004.eurprd09.prod.outlook.com (2603:10a6:10:c0::16)
 by PR2PR08MB4812.eurprd08.prod.outlook.com (2603:10a6:101:25::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17; Sat, 28 Aug
 2021 03:09:28 +0000
Received: from DB5EUR03FT064.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:c0:cafe::94) by DBBPR09CA0004.outlook.office365.com
 (2603:10a6:10:c0::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17 via Frontend
 Transport; Sat, 28 Aug 2021 03:09:27 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT064.mail.protection.outlook.com (10.152.21.199) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Sat, 28 Aug 2021 03:09:27 +0000
Received: ("Tessian outbound 6ba9ec11d42b:v103");
 Sat, 28 Aug 2021 03:09:27 +0000
Received: from f33988c9cdfb.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 7A6CEA5C-7955-40BF-996A-AE57EC1AFB9E.1; 
 Sat, 28 Aug 2021 03:09:21 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f33988c9cdfb.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Sat, 28 Aug 2021 03:09:21 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB9PR08MB6890.eurprd08.prod.outlook.com (2603:10a6:10:2a8::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Sat, 28 Aug
 2021 03:09:20 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.024; Sat, 28 Aug 2021
 03:09:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5c177150-07ad-11ec-ab30-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GxBj5NEtDofLk2BxzJ/Y4p8Tdg16B/3aUZNZZs3kTvI=;
 b=5CVzzSBQ+5SAkgCCCzwnq0XLX1dnCa1FxcUMaqV6nDJpbqTrAsNZz0SGiTPPHXfvMr/f1Rk1sJh+paztjL8VGJFkVT+obJllINCC5TSTGbhsFs9d0IVwToSIUI1QHhc7XA/ndMfpm4wM8+iMIlrPZsyZJQXNS99PNMGepUks1C0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ccP34FgSL6a0zVLRSFAlbt+DdNde/IDeL+Hmyp7heASBvtNJDAwLB4Fy4JC9BreIp9EgPAQ23iyg2RCXsc7DT8/DKQqRpB9iW7D0I0czY4SpJnUhxWypfSPz0OmMSiJ0XpwVJYQDfU7lyi6hJRGLJBzuywLGjZZcRwrMFd13ZORJShOWMsNslEJhOXbyYJ1P2k67+dMwkB8eDRyn8Qv0jCN7sRvveLgzIYA1BXclL+5dHGiUUfrMNJxIZqXX4tqewcRbq+H4Cgq62NEuxL3VolF3jA4EEGp3YG/84IPX4x22tcF6IydQjEdyC8UUTrd52XJrn9nAZ0VfvalYQFOWFg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GxBj5NEtDofLk2BxzJ/Y4p8Tdg16B/3aUZNZZs3kTvI=;
 b=I3vey6slbuNl7JVfvKp/U6H/0l4EWv8P5h3LRlkxxtCV2c9yX00jRKY3dM3hCaUIWP8774iwgvnBErt/1tewD/TRWSZ9iXHmGCrDZggAsCbReIOR/ONCX8mddMR24KuOeunuME5PRF2zQJpg6n5iZz1GZych6dtu6RLEGVcROfBK4NsLqpuJg5RF37MHuKQ0ZVjZEalARoUTr0aTJ6oQsGuLEM9bfE8R/nWgs5uR5ZL7IUx/cOT7sVKCjDFGWEe2rwHM8fdGsUP14+csm+tp5Fp/OXFtH/xpnIIzDvv/+CYtO9ZzwSMaA87WcoJagQJeeUp5uPj+wiZ8MpCRgkhPzQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GxBj5NEtDofLk2BxzJ/Y4p8Tdg16B/3aUZNZZs3kTvI=;
 b=5CVzzSBQ+5SAkgCCCzwnq0XLX1dnCa1FxcUMaqV6nDJpbqTrAsNZz0SGiTPPHXfvMr/f1Rk1sJh+paztjL8VGJFkVT+obJllINCC5TSTGbhsFs9d0IVwToSIUI1QHhc7XA/ndMfpm4wM8+iMIlrPZsyZJQXNS99PNMGepUks1C0=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>, Jan Beulich <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 37/40] xen: introduce an arch helper to do NUMA
 init failed fallback
Thread-Topic: [XEN RFC PATCH 37/40] xen: introduce an arch helper to do NUMA
 init failed fallback
Thread-Index: AQHXjptRsfRkXW8NoUWuJvdR0xpL2KuHguqAgADGK1A=
Date: Sat, 28 Aug 2021 03:09:20 +0000
Message-ID:
 <DB9PR08MB685769E192E0603F3C723FA09EC99@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-38-wei.chen@arm.com>
 <48a54187-3b6b-f98c-3681-906ee3df1694@xen.org>
In-Reply-To: <48a54187-3b6b-f98c-3681-906ee3df1694@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-Mentions: jbeulich@suse.com
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: C55EE5742FB0874F95A4069E14332274.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: b92a82a3-1119-4a60-ea4a-08d969d13f1c
x-ms-traffictypediagnostic: DB9PR08MB6890:|PR2PR08MB4812:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<PR2PR08MB4812C02FF9A8B4555D6830469EC99@PR2PR08MB4812.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:323;OLM:323;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 bw0gxR47FLkCLndo0S88EW7R6F/es1J/r6kCLl3Wk9GOZT9OrrCWhSKWKyPVK24493q73NYQJeOAziAfzr2u2mM+DPGXddzyCAJoCbyOLqsjjM+1yhusW8SldNK/D96TDLtaLhTzXt2FRtSG+KFMgotUCT0U2e1e5kMAJIEJwghtYyq1wrjzy9HZDPx6wymXQFtXxPM0n717xSUFL0xsvI/KDizRb6l4kULwgvBRJQI2j4yFalA2zKR6toePYC2zQJo6ZaTvcdGjnE+6jONXYf3X3CEY+WlHxcnz3nvg/gMMqCC5qva1U85NA7LZPh+416J2ASS9fANWxr49slF6kZJHGEvLWHV7aT5cwRcTjTjCipVsIIYKYEi3vp0j6j3DGJjgwhzxYxrrgeMs94N6n+1XI7gxc+hX4hChbcvAHsi2DZIvvXOeEDnBQapPe6eaTFn3GttzbM7D7BCjCRkVLvfJUfBJhsKCtDlj2uWjFgRTyW5hcUK42Jko/LhmI2aX3TATx+EfyFvqmpOk49OIExBkmKPjsYKjB+r3l8F4/9RGH9uMZeUF+wEmMQEaba/aQ3y8vjYA1vGH+PnGzTZT9V46/FywwFDlgurUcZTfGQJQpSNlbiEifyXHrYdWX7N2vTHAueAUlYTBClisXX6/spMXesbv1BTPEa0GI5pKuq5MzwqZRuupw8y2aIj8CpI9gvlUR8BJJyCdt65Rsn1Brg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(39850400004)(366004)(376002)(346002)(136003)(4326008)(38070700005)(83380400001)(478600001)(5660300002)(86362001)(26005)(71200400001)(2906002)(9686003)(38100700002)(186003)(33656002)(52536014)(66946007)(66556008)(66446008)(64756008)(66476007)(110136005)(8676002)(316002)(7696005)(8936002)(6506007)(53546011)(55016002)(122000001)(76116006);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?aHlmbWhacEVweDNkMVdZOGRxcFdXS3FzS1MxcGlJSkMrRndxVk13QzI1WW9M?=
 =?utf-8?B?ck9kdHdMYXdoUEVoQjJmamZuNTkrbHRKRGpodXNqbDU2OTNobXg3bG1kVGRJ?=
 =?utf-8?B?Qm1qMWZDOER5RmJUbURaWVU3TksyNWk2RDBEOHNnZ2VWaC8wdCtwbVBtbkJF?=
 =?utf-8?B?YUxrVGw3WkRXNkJGR0hWeWhHMGpUaGEzQk9xSXNvT0VPa2c3NENZbDdyVm5o?=
 =?utf-8?B?OXV0ZVNDV1I5QWhLZm5makJpZ3hnay9IWXRPdlFERU44Rzk2OEZwQ2ZTM3E1?=
 =?utf-8?B?MENIL29QaUNkZVMvTlNBQmRrdGJFV1BqdzdTdlNmMzdNYTJOWHFqWHRRWHZh?=
 =?utf-8?B?Y3pRcUVZU3V0NWRXYkppdWtUZU5IOU1MaW03ZTBUK3ZnU3Zrb3NMWHMwREI1?=
 =?utf-8?B?eHdvbStuaVBkaXBRVWh2ZGpza0x1M2lRV0FnODlhOGFIUi9aMzMvZW42ckxj?=
 =?utf-8?B?NEh3WEo4Z3RzZDQzUzlTSVlGVWZKU0hJZHZHUWVkSWlkSkNib0cxL2hBN1BR?=
 =?utf-8?B?M3RlM3k5NCtCTmswTWw5TDdXNEtKcUdHNWJsckp4VjdiRzB2OHBvVEZSVEw5?=
 =?utf-8?B?VFp1eU54c3NMa1VHL2VIdnRwMWM4TEphR21zREdiWW9TdnB3eUdMS0NmZDhj?=
 =?utf-8?B?ZnhqZjRLL0JSMUorYmVFdzBjaTdWNm04OUJaTnloVVEvaVkrSVpJcUtRWk1p?=
 =?utf-8?B?SjdzcVJISnN0YXRjaFZ2MGR1VmFwUytIeTQ2elJXN3ZjaUg0aGJsbVQyTjV2?=
 =?utf-8?B?ek02d2czZEZwbVZnTmlXNGdvWjBRMXNrZDE5ek80QzhHTXlIeGtSY3RCRytz?=
 =?utf-8?B?blBYSyt3NklMWjJCVDhQWk9YY3BLYVMwMmx4YzkvbWc3b0FxWWVjd1lzR2RB?=
 =?utf-8?B?SGQzbFpXZW9sSUkrSGtLNmdmNU4xSjRyVXRpSy9xWW1Ta0cyK0FwOXZtOUE2?=
 =?utf-8?B?b3RYSnd2R3hKdE5UL2NHQzNQYzB4cUhzV3JzejNlblUrSEgzRHVuZ3dBNjlB?=
 =?utf-8?B?Y2MrSkVWMnRzM096QXVSL0t6UXZDN1lEK3F4K0wzSStDNnA0M1BuUjhqTVdt?=
 =?utf-8?B?VVplaXcxUlZTSThiMW41UnB4bVdDMksvOGRvMTNxMEo5TlducXFSdnkwVzly?=
 =?utf-8?B?MURGT3Q0b20wdXpXQXdOcFd6cXR2eUY0c0hNRGEvOHpEdk9aKzB4RGJhNXRJ?=
 =?utf-8?B?ZWt3QURpRk1BaGZ5MURhazZqUHRqZ05KQWwrVHdqTjU0ejhhd015WUZMWHFU?=
 =?utf-8?B?U3RZZUVlOHJsbTlQN0ZkQU12SEQ2UUxkKzI5Q1MrcnZEY1NyY093UGZYYTNk?=
 =?utf-8?B?Z3dERlp2bGFxK0NRM0RCeFpnYkxrWnowZFp6TXVNWXl1Rzg0bllHQmVhYWZN?=
 =?utf-8?B?NTE1QUhwcVRlQ1JwdkNqRGpjbDZTMlJWZmdvRWtKRkNqR2RzTHJtSVNaaFBu?=
 =?utf-8?B?T2hXZWUrV2xPNS9RS1V2dW0xT1dhYWQvTExQUW9yTW55bHRseHFtNVlrQll5?=
 =?utf-8?B?MmFkOFlVTlJQWFd0SzBjSTNhM3M4RjV2eHBGZ0tsVlBOdlRISWw5Y256Q1NN?=
 =?utf-8?B?cDlVR2dWZ2REZkcyMmpaWnlIVlJzcGxzQ3M3azhseDlWak5ldWdmd0x5bzk2?=
 =?utf-8?B?cElJWWFnZ3AySHMyWnNsdXRwUmlWY2hwUmdBdm41K2tNSm5IVml6UzZkMXZi?=
 =?utf-8?B?b1JqYnJTdjZLOEFVTlhLVE4wc3lGMGRRbHVDRmxWMEhoOHZjWHFsUjI0THE2?=
 =?utf-8?Q?8/2SGmjWojVE9Be9hoRsLrXj6AYuMkvH9bJFvW0?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6890
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT064.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	3a9f87a1-789b-4fd2-fa7b-08d969d13aef
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4PUAKWX61dAr2BnUlDSwgdYqz6hanBAK0715gxk3qFZ6S5sPYgbVJew/ApePcKATw6XNR/DwSooYKdfKyVa0C5o9FZ5ziJSguD6ZGwKtu5q5R7qOzTj5jP2wlDqDur6SukruqOf3eOvAaga58dMiwmRMLAbWqoTHpEh4LKk6qLoBV8TCtLDGbPgGJUThqUVOrYmUMTuEjQHgS9YqRLQvJppjvM57pQCwCtzloGa9BuyzhLe+w/WSwxQaIIwTAjqpAn2EF7Zosl1qXhr7VOpA819rDCNlV5xXWTuiHRTi//8q3hnwQiaXq4iQ7FK0Un1/omhtBq+6VA6Fw8UHWrHtwMxH/l2k87j1u3RXT1MAtp9jUXOa12eKlaF8cm7wX8sOrBm8mpbRNGSqB1sMJIJmYPhnF31mXUAcXeM2o8bOJ4JAP1SHigfA54TbVlknFUAl+OxcOG/EnPwypN/RurWZCxihbBxBWKPmHWvHz3HfhKkcz4KDvBxGkg0QD1jAIcVgepNW26BRYkdunfjsUCVAuwzNr6TCufeuf0wEC6pLcGTilBeUSKDOsMk4+9a65zam8aVSK7+O3WrwNGpg+NCWgZ8Ak5riBVDKyY6cmAYc02tNLwK+2v3U6Y9cenJUUUSbIqO5tqoOmFY2Z0ruaWc19OjEVcOfgFpzBgmieNLF37gYAJ3XFdzxdYl6yDzv8BHlxc05vhcpf/9kWdlYL8yxkQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(46966006)(36840700001)(33656002)(36860700001)(70586007)(8936002)(83380400001)(186003)(336012)(86362001)(4326008)(316002)(81166007)(8676002)(356005)(2906002)(70206006)(53546011)(6506007)(47076005)(5660300002)(55016002)(26005)(9686003)(110136005)(7696005)(508600001)(82310400003)(52536014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2021 03:09:27.7516
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b92a82a3-1119-4a60-ea4a-08d969d13f1c
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT064.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR2PR08MB4812

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMjfml6UgMjI6MzAN
Cj4gVG86IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgeGVuLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnOw0KPiBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqYmV1bGljaEBzdXNlLmNvbQ0K
PiBDYzogQmVydHJhbmQgTWFycXVpcyA8QmVydHJhbmQuTWFycXVpc0Bhcm0uY29tPg0KPiBTdWJq
ZWN0OiBSZTogW1hFTiBSRkMgUEFUQ0ggMzcvNDBdIHhlbjogaW50cm9kdWNlIGFuIGFyY2ggaGVs
cGVyIHRvIGRvDQo+IE5VTUEgaW5pdCBmYWlsZWQgZmFsbGJhY2sNCj4gDQo+IEhpLA0KPiANCj4g
T24gMTEvMDgvMjAyMSAxMToyNCwgV2VpIENoZW4gd3JvdGU6DQo+ID4gV2hlbiBYZW4gaW5pdGlh
bGl6ZSBOVU1BIGZhaWxlZCwgc29tZSBhcmNoaXRlY3R1cmVzIG1heSBuZWVkIHRvDQo+ID4gZG8g
ZmFsbGJhY2sgYWN0aW9ucy4gRm9yIGV4YW1wbGUsIGluIGRldmljZSB0cmVlIGJhc2VkIE5VTUEs
IEFybQ0KPiA+IG5lZWQgdG8gcmVzZXQgdGhlIGRpc3RhbmNlIGJldHdlZW4gYW55IHR3byBub2Rl
cy4NCj4gDQo+ICBGcm9tIHRoZSBkZXNjcmlwdGlvbiBoZXJlLCBJIGRvbid0IHVuZGVyc3RhbmQg
d2h5IHdlIG5lZWQgdG8gcmVzZXQgdGhlDQo+IGRpc3RhbmNlIGZvciBBcm0gYnV0IG5vdCB4ODYu
IEluIGZhY3QuLi4NCj4gDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBXZWkgQ2hlbiA8d2VpLmNo
ZW5AYXJtLmNvbT4NCj4gPiAtLS0NCj4gPiAgIHhlbi9hcmNoL2FybS9udW1hLmMgICAgICAgIHwg
MTMgKysrKysrKysrKysrKw0KPiA+ICAgeGVuL2NvbW1vbi9udW1hLmMgICAgICAgICAgfCAgMyAr
KysNCj4gPiAgIHhlbi9pbmNsdWRlL2FzbS1hcm0vbnVtYS5oIHwgIDEgKw0KPiA+ICAgeGVuL2lu
Y2x1ZGUvYXNtLXg4Ni9udW1hLmggfCAgNiArKysrKysNCj4gPiAgIDQgZmlsZXMgY2hhbmdlZCwg
MjMgaW5zZXJ0aW9ucygrKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9udW1h
LmMgYi94ZW4vYXJjaC9hcm0vbnVtYS5jDQo+ID4gaW5kZXggNmVlYmY4ZThiYy4uMmExOGM5NzQ3
MCAxMDA2NDQNCj4gPiAtLS0gYS94ZW4vYXJjaC9hcm0vbnVtYS5jDQo+ID4gKysrIGIveGVuL2Fy
Y2gvYXJtL251bWEuYw0KPiA+IEBAIC0xNDAsMyArMTQwLDE2IEBAIGludCBfX2luaXQgYXJjaF9t
ZW1pbmZvX2dldF9yYW1fYmFua19yYW5nZShpbnQgYmFuaywNCj4gPg0KPiA+ICAgCXJldHVybiAw
Ow0KPiA+ICAgfQ0KPiA+ICsNCj4gPiArdm9pZCBfX2luaXQgYXJjaF9udW1hX2luaXRfZmFpbGVk
X2ZhbGxiYWNrKHZvaWQpDQo+ID4gK3sNCj4gPiArICAgIGludCBpLCBqOw0KPiA+ICsNCj4gPiAr
ICAgIC8qIFJlc2V0IGFsbCBub2RlIGRpc3RhbmNlIHRvIHJlbW90ZV9kaXN0YW5jZSAqLw0KPiA+
ICsgICAgZm9yICggaSA9IDA7IGkgPCBNQVhfTlVNTk9ERVM7IGkrKyApIHsNCj4gPiArICAgICAg
ICBmb3IgKCBqID0gMDsgaiA8IE1BWF9OVU1OT0RFUzsgaisrICkgew0KPiA+ICsgICAgICAgICAg
ICBudW1hX3NldF9kaXN0YW5jZShpLCBqLA0KPiA+ICsgICAgICAgICAgICAgICAgKGkgPT0gaikg
PyBOVU1BX0xPQ0FMX0RJU1RBTkNFIDogTlVNQV9SRU1PVEVfRElTVEFOQ0UpOw0KPiA+ICsgICAg
ICAgIH0NCj4gPiArICAgIH0NCj4gPiArfQ0KPiANCj4gLi4uIHRoaXMgaW1wbGVtZW50YXRpb24g
bG9va3MgZmFpcmx5IGdlbmVyaWMuIFNvIGNhbiB5b3UgZXhwbGFpbiB3aHkgd2UNCj4gbmVlZCBp
dCBvbiBBcm0gYnV0IG5vdCB4ODY/DQo+IA0KDQpUaGlzIGltcGxlbWVudGF0aW9uIGlzIERUIG9u
bHksIGZvciB4ODYsIGl0J3MgdXNpbmcgYWNwaV9zbGl0Lg0KRm9yIG5vdywgSSBhbSBub3QgcXVp
dCBzdXJlIEFDUEkgbmVlZCB0byBkbyBmYWxsYmFjayBvciBub3QuDQpPciBzYXkgaW4gYW5vdGhl
ciB3YXksIEkgZG9uJ3Qga25vdyBob3cgdG8gaW1wbGVtZW50IHRoZSBmYWxsYmFjaw0KZm9yIEFD
UEkuIEkgcGxhbm5lZCB0byBzb2x2ZSBpdCBpbiBBcm0gQUNQSSB2ZXJzaW9uIE5VTUEsIHNvIEkg
bGVmdA0KYW4gZW1wdHkgaGVscGVyIGZvciB4ODYuDQoNCkBKYW4gQmV1bGljaCBDb3VsZCB5b3Ug
Z2l2ZSBtZSBzb21lIHN1Z2dlc3Rpb24gYWJvdXQgeDg2IGZhbGxiYWNrPw0KDQoNCj4gPiBkaWZm
IC0tZ2l0IGEveGVuL2NvbW1vbi9udW1hLmMgYi94ZW4vY29tbW9uL251bWEuYw0KPiA+IGluZGV4
IGQxNWMyZmMzMTEuLjg4ZjE1OTQxMjcgMTAwNjQ0DQo+ID4gLS0tIGEveGVuL2NvbW1vbi9udW1h
LmMNCj4gPiArKysgYi94ZW4vY29tbW9uL251bWEuYw0KPiA+IEBAIC00MDUsNCArNDA1LDcgQEAg
dm9pZCBfX2luaXQgbnVtYV9pbml0bWVtX2luaXQodW5zaWduZWQgbG9uZw0KPiBzdGFydF9wZm4s
IHVuc2lnbmVkIGxvbmcgZW5kX3BmbikNCj4gPiAgICAgICBjcHVtYXNrX2NvcHkoJm5vZGVfdG9f
Y3B1bWFza1swXSwgY3B1bWFza19vZigwKSk7DQo+ID4gICAgICAgc2V0dXBfbm9kZV9ib290bWVt
KDAsICh1NjQpc3RhcnRfcGZuIDw8IFBBR0VfU0hJRlQsDQo+ID4gICAgICAgICAgICAgICAgICAg
ICAgICh1NjQpZW5kX3BmbiA8PCBQQUdFX1NISUZUKTsNCj4gPiArDQo+ID4gKyAgICAvKiBhcmNo
aXRlY3R1cmUgc3BlY2lmaWVkIGZhbGxiYWNrIG9wZXJhdGlvbnMgKi8NCj4gPiArICAgIGFyY2hf
bnVtYV9pbml0X2ZhaWxlZF9mYWxsYmFjaygpOw0KPiA+ICAgfQ0KPiA+IGRpZmYgLS1naXQgYS94
ZW4vaW5jbHVkZS9hc20tYXJtL251bWEuaCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vbnVtYS5oDQo+
ID4gaW5kZXggZGQzMTMyNGIwYi4uYTM5ODJhOTRiNiAxMDA2NDQNCj4gPiAtLS0gYS94ZW4vaW5j
bHVkZS9hc20tYXJtL251bWEuaA0KPiA+ICsrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vbnVtYS5o
DQo+ID4gQEAgLTI4LDYgKzI4LDcgQEAgZXh0ZXJuIHM4IGRldmljZV90cmVlX251bWE7DQo+ID4g
ICBleHRlcm4gdm9pZCBudW1hX2luaXQoYm9vbCBhY3BpX29mZik7DQo+ID4gICBleHRlcm4gaW50
IG51bWFfZGV2aWNlX3RyZWVfaW5pdChjb25zdCB2b2lkICpmZHQpOw0KPiA+ICAgZXh0ZXJuIHZv
aWQgbnVtYV9zZXRfZGlzdGFuY2Uobm9kZWlkX3QgZnJvbSwgbm9kZWlkX3QgdG8sIHVpbnQzMl90
DQo+IGRpc3RhbmNlKTsNCj4gPiArZXh0ZXJuIHZvaWQgYXJjaF9udW1hX2luaXRfZmFpbGVkX2Zh
bGxiYWNrKHZvaWQpOw0KPiA+DQo+ID4gICAvKg0KPiA+ICAgICogVGVtcG9yYXJ5IGZvciBmYWtl
IE5VTUEgbm9kZSwgd2hlbiBDUFUsIG1lbW9yeSBhbmQgZGlzdGFuY2UNCj4gPiBkaWZmIC0tZ2l0
IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9udW1hLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L251bWEu
aA0KPiA+IGluZGV4IGU2Mzg2OTEzNWMuLjI2MjgwYjBmM2EgMTAwNjQ0DQo+ID4gLS0tIGEveGVu
L2luY2x1ZGUvYXNtLXg4Ni9udW1hLmgNCj4gPiArKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L251
bWEuaA0KPiA+IEBAIC0yMiw0ICsyMiwxMCBAQCBleHRlcm4gdm9pZCBpbml0X2NwdV90b19ub2Rl
KHZvaWQpOw0KPiA+ICAgdm9pZCBzcmF0X3BhcnNlX3JlZ2lvbnModTY0IGFkZHIpOw0KPiA+ICAg
dW5zaWduZWQgaW50IGFyY2hfZ2V0X2RtYV9iaXRzaXplKHZvaWQpOw0KPiA+DQo+ID4gKy8qIER1
bW15IGZ1bmN0aW9uIGZvciBudW1hIGluaXQgZmFpbGVkIGluIG51bWFfaW5pdG1lbV9pbml0ICov
DQo+ID4gK3N0YXRpYyBpbmxpbmUgdm9pZCBhcmNoX251bWFfaW5pdF9mYWlsZWRfZmFsbGJhY2so
dm9pZCkNCj4gPiArew0KPiA+ICsgICAgcmV0dXJuOw0KPiANCj4gTklUOiBUaGUgcmV0dXJuIGlz
IHBvaW50bGVzcy4NCj4gDQoNCk9LDQoNCj4gPiArfQ0KPiA+ICsNCj4gPiAgICNlbmRpZg0KPiA+
DQo+IA0KPiBDaGVlcnMsDQo+IA0KPiAtLQ0KPiBKdWxpZW4gR3JhbGwNCg==


From xen-devel-bounces@lists.xenproject.org Sat Aug 28 03:18:14 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 03:18:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174168.317745 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJor3-0000Sf-9P; Sat, 28 Aug 2021 03:18:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174168.317745; Sat, 28 Aug 2021 03: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 1mJor3-0000SY-6U; Sat, 28 Aug 2021 03:18:01 +0000
Received: by outflank-mailman (input) for mailman id 174168;
 Sat, 28 Aug 2021 03:18:00 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=sP14=NT=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mJor2-0000SS-K3
 for xen-devel@lists.xenproject.org; Sat, 28 Aug 2021 03:18:00 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com (unknown
 [40.107.14.84]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 4b34eec6-4cd1-4ea2-9ed0-0ebdba07dc02;
 Sat, 28 Aug 2021 03:17:57 +0000 (UTC)
Received: from AM7PR03CA0002.eurprd03.prod.outlook.com (2603:10a6:20b:130::12)
 by AS8PR08MB6565.eurprd08.prod.outlook.com (2603:10a6:20b:33c::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23; Sat, 28 Aug
 2021 03:17:55 +0000
Received: from VE1EUR03FT036.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:130:cafe::43) by AM7PR03CA0002.outlook.office365.com
 (2603:10a6:20b:130::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.20 via Frontend
 Transport; Sat, 28 Aug 2021 03:17:55 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT036.mail.protection.outlook.com (10.152.19.204) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Sat, 28 Aug 2021 03:17:55 +0000
Received: ("Tessian outbound 56612e04f172:v103");
 Sat, 28 Aug 2021 03:17:54 +0000
Received: from a4b95a235b26.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 652298BC-684E-4785-AC16-DA9D609E7698.1; 
 Sat, 28 Aug 2021 03:17:44 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id a4b95a235b26.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Sat, 28 Aug 2021 03:17:44 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (10.141.135.71) by
 DB6PR08MB2934.eurprd08.prod.outlook.com (10.170.220.161) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.20; Sat, 28 Aug 2021 03:17:43 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.024; Sat, 28 Aug 2021
 03: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: 4b34eec6-4cd1-4ea2-9ed0-0ebdba07dc02
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0gRx1UnI2+7Q1lBsKrHCTnH+9Ao7bcFD9TInqTL3yG4=;
 b=JSq8coXqySaFjeVFSK7RbUGPbl1PBgy8EjHgZMLwjsK4c9bj0IS/3FbNhELYjMzyiBnBh9ztZQYJUab4Ev5eS4V6Y6pc5QTyYmHyU8uEXTP7/SUKP7ZOVaBqbLsea4HXzhhCSyfLyWvAEZCtd+FYTCDg1HUwgo6WMj1Kyh6bwYc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=c260Y9urKjJtkZ4U2ZmLw7D9nsDMtR2rNv2jMXRjBiNgz+4T+QA2PlmQxqDM2TBexafXIRpP4ixxMZDQRJyYlt6FC8xv0jbzkuhYamalNReMJ3TEjHcuwRxsmnMnt4dsHr2cwkVyQoKaIhXxh3brkurZkdExNtQ+VESXZquPuA3kap6+P7uAfmFjE0Rk5cJyAX+ASO0r9+kFiFbubZKSMbToBrV7AOKKCQppYIh8M/qbMw5QMwKFiuIVwOedwn1J9gRZFnMRiS14Wfp/NO74DvW+5Nu6Yo4ty83sLD0XofnhQftfyAN7oXo8eALdRLCR59QoMhNCF0d6R0AwW2358g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0gRx1UnI2+7Q1lBsKrHCTnH+9Ao7bcFD9TInqTL3yG4=;
 b=Q00lz8bNq/0f2tgxjsys8na0z1msjJT80bOkqMRv4k13KquLoh4UjT6Jxd4TVJBOzqYsVnvkdjv/B79DT1zLghl2h0kVusgyDy3P3Lg5BsKowlpvJ8SQV7cAQW1oWD2xRLh0Inm12iYP2AzuCJLYgLURRlRL885gR22h1xf790jSWYgXS2R154kLHOLA54OXp9uAUU7HgXk/Mr+pjxIl3gzS0zvT6cSTG/LX1gzv37FxkItNzm3qG7arDS/QQmzS2uidl3oe1JnEogB3CiFlOLxxTdUFLq7uG1DfjnAoVmE27seUkI/F0dCR/4QeoWsEAurDrFt6xChoSma5nvG40g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0gRx1UnI2+7Q1lBsKrHCTnH+9Ao7bcFD9TInqTL3yG4=;
 b=JSq8coXqySaFjeVFSK7RbUGPbl1PBgy8EjHgZMLwjsK4c9bj0IS/3FbNhELYjMzyiBnBh9ztZQYJUab4Ev5eS4V6Y6pc5QTyYmHyU8uEXTP7/SUKP7ZOVaBqbLsea4HXzhhCSyfLyWvAEZCtd+FYTCDg1HUwgo6WMj1Kyh6bwYc=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 38/40] xen/arm: enable device tree based NUMA in
 system init
Thread-Topic: [XEN RFC PATCH 38/40] xen/arm: enable device tree based NUMA in
 system init
Thread-Index: AQHXjptQCVAwokAljU6uEdAOvxt6uKuHg4WAgADUAaA=
Date: Sat, 28 Aug 2021 03:17:43 +0000
Message-ID:
 <DB9PR08MB68570138E19683934DA86B1B9EC99@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-39-wei.chen@arm.com>
 <86469c72-68d0-2a30-66ef-497884125437@xen.org>
In-Reply-To: <86469c72-68d0-2a30-66ef-497884125437@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: FA88E53850A5F344BF5E2D472757E529.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: abcaf3aa-e350-42d3-62f7-08d969d26d99
x-ms-traffictypediagnostic: DB6PR08MB2934:|AS8PR08MB6565:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AS8PR08MB656587C6B99CBE0AA2DF9FAE9EC99@AS8PR08MB6565.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:9508;OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 WjDsDrvsXXtLWXM32Bwb7eX805n82jldEIxjmO16yD87PV6ogeQ+rOV6YWo9pFhIszf0p8JdhVfwJK/J5pEYx88I7ypwNWR/0dUaszBFiMbXQc7xHFMq5BdApMYK1B+oUlWBEtFQLp+SU5432wRDRdtg/znA6IyMsAKOHd4jGjJcDG5LnbdOOHEQy46jV+5AZf6B/d6Hwmd7FfxPSLGBd6qalynUav7DwpQk/aRWhG6L7yBjKH53SDk58Jbtez7K8FYKHAWlSuRm9+HR/3I2OQH/XYOaYvQN9sLJXr5AuKASr8OBPRcB3dZPk4sbVtd/gVOR13vMODLhNX7da87EHMXqwhptUjFBGAnecSvgLaEvQ+9PQR0SwUgFGYyR97hxKhGdMk4J4oSS/g3OrNU7qv9wzo+yc3WhcqS157IgaItq76Q3ps8Q5oz+tAQIOctRx/Az/3MG33i/yRKjl2JhEKhRymDuoMedN6zJdv913tuydafuMnVq4ubwCEc8em4bsF8zeF8AJ13JpeywMa8BnYSCq2KsBTgah9uk9g7olgjOY4HVSc+4vaPXRm9quZ+VCkStefJXVNL7dvxXA6o1uwE/LyhEsuUD3/BxvsAnJ4OGzfQY/LSkSFzyMbB+z/kWNkEr+uJdnySwFbo+5D221kcT7VOxrTJtKjkXNO8evNsiPuFMtztPyoDFYAh9zKtR8FgLMM1sHBweTis1E/cJgA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(346002)(39850400004)(136003)(396003)(376002)(366004)(53546011)(33656002)(26005)(55016002)(38070700005)(66556008)(64756008)(66476007)(186003)(9686003)(6506007)(478600001)(5660300002)(122000001)(83380400001)(2906002)(71200400001)(86362001)(66446008)(38100700002)(8936002)(8676002)(52536014)(316002)(66946007)(110136005)(76116006)(4326008)(7696005);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?ODVCbHJNWFZEVzVnY3J1S0FXMk9samxBU29BRHh1RDA4L3JwdkZNb1RLRjkz?=
 =?utf-8?B?UFJnOFNlOTZVK2UwSWpLQUZRdGJjRUVIOVYxaDN4TjFxa2FiZGtwZElCTGtN?=
 =?utf-8?B?OVVKZURiWk5nK3ZzVXdwWlhiUExyWmhFWXhtNGMxZURBVDlBYm5RaWF5bkQ1?=
 =?utf-8?B?V1ozcTVhUHZ3VlpwUHgzZEMwQkExQXFOVmRpVVpHY0s1SWxaaUpxYjlwWlF6?=
 =?utf-8?B?cTBrTGhMS0Rjc2ttM3dISlRySFRZMURQaE9naUhRM1c4Wld1cSsva2Q3SDhI?=
 =?utf-8?B?MzlIb2hoQkdVU1RzR3B3VkdvaTB3Z0trRThRdXVhTTVwRUF1ZmxwZ2FoVmtr?=
 =?utf-8?B?aEwzSVRuR3N0SkJYWGEwNXlxaEtBQ0R6bVRTRzJlS2FsbWtZUzVwQXlvWlVz?=
 =?utf-8?B?ZC9qZnBIaXpFVWVRZitJRlJncU12SngzMXRLdnBHcEtqSC9yRE11TXB2eTdo?=
 =?utf-8?B?S3NaNlBONm1Bb3JHVy9GSmdMNzlkRW5Sd0pkR0ZtQURod0Fmc3ZkY1B1bitT?=
 =?utf-8?B?S1dXQVBxQTlMR0xDMFJ3dnAwY1E1aTJEeEVKckpZMHFSVE5MWVZXOTIyWTZJ?=
 =?utf-8?B?Skc0alBzS0dKV3hWdjRJQ0cxVEhhNEpXZ1p0YXVqZGhJU1FsSEdyNzU4aEtP?=
 =?utf-8?B?cXlxS0ZkUUx5TTEwRk4vMGdXTmpzVWMzYlVScVZib2VLWFhna1F0YkdwSUtM?=
 =?utf-8?B?Z1k5bVBDR05rdnFuVCtlN2VLMzhUdjhUNmYvdG41SlZueFQydS9JUUgzdSto?=
 =?utf-8?B?em5uekJ0TWpWcFBZZkM3Q2VDcmlaMm5aL1paMjlDYXYrdHpZdDZVMTdOUTBH?=
 =?utf-8?B?SGlJWjREZ1RRTlgvdE51VGRiMEovZGl1UktCQ3M1VG5Hb1JUd2xJc05xbHN4?=
 =?utf-8?B?aTlMWXMxM1kwU1lGbFR5bHJOKzJST01FVnF6WDMrbGo0dGVtajJKVXQwUzYv?=
 =?utf-8?B?aHFUdVJVL1o1ejRXVmdNdTNuMVNlVC9vbTV0REJJajYzUmZQYUdHTjRMTGky?=
 =?utf-8?B?L3VNU0dxdWtFOGJiU09qUkhSclloODZneDRCazFRZXBQSWFYUHJKU0doWGFl?=
 =?utf-8?B?bHBZMVNqdkdyTWNZckZWYVNuUHk5WnZvK2t1OFVlVzBmUWVrN1hCOG9CWWIz?=
 =?utf-8?B?OTRIdno2WVd0dFlFck10am5xb0xOTzV0cVg5Rm5XaUxlMm13emhQNG1Rd2g3?=
 =?utf-8?B?d0VYR0pVL3hRMlU3Uit2VDVsZGp2L2M5bHdxWkxWbGxQZVNpbVdxZmoyMi9m?=
 =?utf-8?B?bnFSdlZ3elF6Q0lGTVA0a0RYbWpQN2pQdm92VWNVbDFiS1NIMENzaWUwbGJz?=
 =?utf-8?B?Qm9EL3U4c3BRMC9IZWczdlRaL01PSFlqRG1mK3N4Qi9ETGJJUFlPckhOSUR3?=
 =?utf-8?B?TzFDY3hSRHlmZGhseCs1Z1JncFRiZG9jMVpKMmsrV3V5TmJUVE8za2lyQ214?=
 =?utf-8?B?MFBScHp5L2k0UzFsTXpFMWRBRkNrdWRtTUNVNmRiV2xoWTZMcDRqNTByeXRQ?=
 =?utf-8?B?ZFlqcXhmd2MvNkhXWmxGWHZvK0FWbU1aOURnbW0wbExoOFZJcktSdC90TUV5?=
 =?utf-8?B?Y1hZZkJYa2RJQUZpcFk1TDZWUDUzOWNKMW50aGM1M3F6T1FOZEx4K0s0Z0Zs?=
 =?utf-8?B?cW1CeUMreEZhV2xvQzN4dGhKclZLdElicEtWRjFzWW84VDVGZlpzSnhJTDkx?=
 =?utf-8?B?eU1sTklaTzlDaXhXYVkxQjZMZUVZeFF4N1ZiT3VPRDAyc09LV3hkYmFpY3hC?=
 =?utf-8?Q?fGwmfwp9MCsl8YHLtNbMlRaVblBkO+RX1YkNTv/?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR08MB2934
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT036.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	7d33c404-3bc9-4bf7-d6c8-08d969d26675
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3nBLTUY/YCitl8mUCUcvpuXy+8byTc0zMTusF/XMhUfVXIC2GCCQy2s0zN75u1xx5vHjbD0WwTeJ62NqNLmtFTjxVtYtnDZSiW0Xmt0XCWw25r+ksvUQI0bcNrbyprPuo8O5RIBlwMYa9x/5h/990w0BzZpUoDm/Am1Yx855LfZ0Nr4hYn7B5xySp8lKdObYpOobr1+d8R/YmqU5beHH5/k9n1hLbKbenv5mGYwrYAWrpDm9pq0LeoJXk4kYYPcjhv8ZyxLErlpQ6zRjkfWAQLFBw3XpfWEenEDMTfE5ZZ8sqswGQq38MuFQ8POghVQwXqHc7JC/9SVd5Djt84a1bqR8ifvlWq2OTHRYbTwudFUKFwC0QjTjEbVQeRpnzkKz+XyLpHLUa5i/7DfWXw+ioj/UJlfZP0A/IgrFIoT8CUwVZVCwB/Mk0T5516zh6O+n3rDENMWzAv+iWOkJxBIZfUYcTz6dsGht3DikLQmhdVEJfPwx3HUSgSN9Cqbi4S6ioCD4GV1WzgfV2tkGpHHhNrwyUsSmuHGvmNnfNqK+d2N3ZZufJYJZmUlCRbskn4k5n391gHa9pl2GBPUGYvhNyS/ha3viVbOE2CZshYznoSs8cKw05vinGiGHPLdSwHQzGGSn5AYQQJ5K3ZUPQ7JDYju8MA8NPu983grx134MItV+RG385VbhHGQjT4wl94n49/YUm1orIXOHe6EiFelwTw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(376002)(136003)(346002)(39850400004)(396003)(36840700001)(46966006)(186003)(2906002)(478600001)(336012)(5660300002)(52536014)(33656002)(356005)(316002)(110136005)(82740400003)(8676002)(6506007)(4326008)(53546011)(8936002)(26005)(81166007)(82310400003)(83380400001)(47076005)(9686003)(86362001)(70206006)(70586007)(55016002)(7696005)(36860700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2021 03:17:55.1365
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: abcaf3aa-e350-42d3-62f7-08d969d26d99
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT036.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6565

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMjfml6UgMjI6MzMN
Cj4gVG86IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgeGVuLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnOw0KPiBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqYmV1bGljaEBzdXNlLmNvbQ0K
PiBDYzogQmVydHJhbmQgTWFycXVpcyA8QmVydHJhbmQuTWFycXVpc0Bhcm0uY29tPg0KPiBTdWJq
ZWN0OiBSZTogW1hFTiBSRkMgUEFUQ0ggMzgvNDBdIHhlbi9hcm06IGVuYWJsZSBkZXZpY2UgdHJl
ZSBiYXNlZCBOVU1BDQo+IGluIHN5c3RlbSBpbml0DQo+IA0KPiBIaSBXZWksDQo+IA0KPiBPbiAx
MS8wOC8yMDIxIDExOjI0LCBXZWkgQ2hlbiB3cm90ZToNCj4gPiBFdmVyeXRoaW5nIGlzIHJlYWR5
LCB3ZSBjYW4gcmVtb3ZlIHRoZSBmYWtlIE5VTUEgbm9kZSBhbmQNCj4gPiBkZXBlbmRzIG9uIGRl
dmljZSB0cmVlIHRvIGNyZWF0ZSBOVU1BIHN5c3RlbS4NCj4gDQo+IFNvIHlvdSBqdXN0IGFkZGVk
IGNvZGUgYSBmZXcgcGF0Y2hlcyBiZWZvcmUgdGhhdCBhcmUgbm93IGNvbXBsZXRlbHkNCj4gcmV3
cml0dGVuLiBDYW4geW91IHBsZWFzZSByZS1vcmRlciB0aGlzIHNlcmllcyBzbyBpdCBkb2Vzbid0
IGhhcHBlbj8NCj4gDQo+IFRoaXMgbWF5IG1lYW4gdGhhdCBDT05GSUdfTlVNQSBpcyBvbmx5IHNl
bGVjdGVkIHVudGlsIGxhdGUgaW4gdGhpcyBzZXJpZXMuDQo+IA0KDQpXaHkgSSBkaWQgbGlrZSB0
aGlzIGlzIGJlY2F1c2UgbXkgb3JpZ2luYWwgY29uY2VybnMgYXJlOg0KMS4gV2hlbiBJIGludHJv
ZHVjZWQgdGhlIENPTkZJR19OVU1BLiBVc2VycyB3aWxsIGJlIHVzaW5nIGEgY29kZSBiYXNlIG9u
DQogICB0aGlzIGNvbW1pdCBieSBhY2NpZGVudC4NCjIuIElmIHVzZXJzIHNlbGVjdCBDT05GSUdf
TlVNQSwgYnV0IG5vdCBhbGwgTlVNQSBkYXRhIGFyZSBub3QgaW5pdGlhbGl6ZWQNCiAgIHByb3Bl
cmx5LiBUaGUgc3lzdGVtIG1heSBub3Qgd29yayBwcm9wZXJseS4NCjMuIFNvIEkgY3JlYXRlZCB0
aGUgZmFrZSBub2RlIHRvIGluaXRpYWxpemUgdGhlIE5VTUEgZGF0YSwgYmVmb3JlIHdlIHBhcnNl
cg0KICAgcmVhbCBkYXRhIGZyb20gRFRCLg0KNC4gSW4gdGhpcyBjYXNlLCB1c2VyIGNhbiB3b3Jr
IHdlbGwgd2l0aCBDT05GSUdfTlVNQSBpcyBlbmFibGVkLCB3aXRob3V0DQogICB0aGlzIHNlcmll
cyBpcyBjb21wbGV0ZWQuDQoNCkl0IHNlZW1zIEkgdGhvdWdodCB0b28gbXVjaC4gSWYgdGhlc2Ug
Y29uY2VybnMgYXJlIG5vdCBuZWNlc3NhcnkuIEkgYW0NCk9LIHRvIHJlLW9yZGVyIHRoaXMgc2Vy
aWVzLg0KDQo+IENoZWVycywNCj4gDQo+IC0tDQo+IEp1bGllbiBHcmFsbA0K


From xen-devel-bounces@lists.xenproject.org Sat Aug 28 03:23:21 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 03:23:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174173.317757 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJow9-000261-Ub; Sat, 28 Aug 2021 03:23:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174173.317757; Sat, 28 Aug 2021 03: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 1mJow9-00025u-Rd; Sat, 28 Aug 2021 03:23:17 +0000
Received: by outflank-mailman (input) for mailman id 174173;
 Sat, 28 Aug 2021 03:23:17 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=sP14=NT=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mJow9-00025o-1q
 for xen-devel@lists.xenproject.org; Sat, 28 Aug 2021 03:23:17 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com (unknown
 [2a01:111:f400:7d00::622])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 332925d3-9693-47c4-9810-1dd99c46fbaa;
 Sat, 28 Aug 2021 03:23:14 +0000 (UTC)
Received: from AM6PR10CA0001.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:209:89::14)
 by DB6PR08MB2648.eurprd08.prod.outlook.com (2603:10a6:6:17::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.21; Sat, 28 Aug
 2021 03:23:11 +0000
Received: from AM5EUR03FT058.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:89:cafe::b2) by AM6PR10CA0001.outlook.office365.com
 (2603:10a6:209:89::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17 via Frontend
 Transport; Sat, 28 Aug 2021 03:23:11 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT058.mail.protection.outlook.com (10.152.17.48) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Sat, 28 Aug 2021 03:23:10 +0000
Received: ("Tessian outbound 5918cb94a4b5:v103");
 Sat, 28 Aug 2021 03:23:10 +0000
Received: from 71d6ce147481.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 D56EDF01-5DE9-4E2E-9F3F-0F35CC91CCB0.1; 
 Sat, 28 Aug 2021 03:22:59 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 71d6ce147481.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Sat, 28 Aug 2021 03:22:59 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (10.141.135.71) by
 DB6PR08MB2934.eurprd08.prod.outlook.com (10.170.220.161) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.20; Sat, 28 Aug 2021 03:22:57 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.024; Sat, 28 Aug 2021
 03:22: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: 332925d3-9693-47c4-9810-1dd99c46fbaa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BdW5LUbKSohvr1VGur+vvw+tZt9sW/MDjmK8yQ4D5BI=;
 b=MYAV+PpiSGWbu1OguwanIoxJwzX+Z2xxZeHx+v76fhfYMJrS/cIK1GkSZxHMBNwoKF2RXO2M4nCpsvldoNJOs/pO9vsEK7q/NI1f7OxdXonSd0hpOY1owMmyt9nQoDS0ubybco7DvPP72kayy0YZNLXQb7xHUTxYVlDSXazE80U=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=X72/TC+XvofyRZ9ifSZB5D+6TFjEqS/lR9mEcBGLb6QDNdHvUv6be2zpZkDbv1x3QEo8U3ZDLbtudjqTtwlW+XW8tMdlJM6Jp66gBt02mXNcTe1ksuzicuTYYpcsAxcB8KLaY/cREl4wXiLTzAox0snG47dQ0ZUVF99N1GmGAt8A/pw60IwAH48anEKU0peifQNkFDI2kOJStQrp1RJnzpfyngFj3Fr2c4qgFHOk+UWlWe3JJophGtGPzpIDALY7r8/dUVRNO/4lHA18fUjb5NFVBp3WFpC24rqFukf/6AVa84I/GQ7aZR2L8wm6TegTjFuUQ1dwVQvZY5F5aZhm/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-SenderADCheck;
 bh=BdW5LUbKSohvr1VGur+vvw+tZt9sW/MDjmK8yQ4D5BI=;
 b=Fhc3He3FBkyuV2bZJL+APR+iwFc6OeCUeuPJrpoIKByL0Fs0nLe1ieq1NsHECavHL/1K7bDTyZut7RWNVhz5XSBYgmOnHFJ/nenarvg9YTUbNjq2kJxFboph85sxGOgxQMJV5xQmBsDVEdCik/9TwQ4wxnR/DiPNTavzABYx5YqGnidEMKsXT9FHzEGS3Lhm2TTyzdsjyZsa6vXE1aMsScovWzUOHXPHy3xx8bpGg86rRxqTl9e3Cyg2nZY83DQDVyIqlFfLmK8J1NDT8h1WZh1CtaXZRu4+woQhCJDljnrDLPYYqNwhBPUFnLh7uMeF62awx5/wxfwP1DeS1utPeA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BdW5LUbKSohvr1VGur+vvw+tZt9sW/MDjmK8yQ4D5BI=;
 b=MYAV+PpiSGWbu1OguwanIoxJwzX+Z2xxZeHx+v76fhfYMJrS/cIK1GkSZxHMBNwoKF2RXO2M4nCpsvldoNJOs/pO9vsEK7q/NI1f7OxdXonSd0hpOY1owMmyt9nQoDS0ubybco7DvPP72kayy0YZNLXQb7xHUTxYVlDSXazE80U=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>, Jan Beulich <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 39/40] xen/x86: move numa_setup to common to
 support NUMA switch in command line
Thread-Topic: [XEN RFC PATCH 39/40] xen/x86: move numa_setup to common to
 support NUMA switch in command line
Thread-Index: AQHXjptVFJvPelB8mUqFa8hfwTS7pauHhPgAgADUYQA=
Date: Sat, 28 Aug 2021 03:22:57 +0000
Message-ID:
 <DB9PR08MB6857330F8618D32218F711309EC99@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-40-wei.chen@arm.com>
 <4759ddf5-fabb-ebca-9271-38ed5d69b970@xen.org>
In-Reply-To: <4759ddf5-fabb-ebca-9271-38ed5d69b970@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 8DB17B203BA4C444B143162AB7D6286D.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: c8ba4bb1-2c14-40f0-9372-08d969d329c1
x-ms-traffictypediagnostic: DB6PR08MB2934:|DB6PR08MB2648:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<DB6PR08MB2648EC11E352C952BF119E479EC99@DB6PR08MB2648.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:6430;OLM:6430;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 ZtXHr+pC/ilYWlb9WeQdMbOycLrdK/B40Eq0QCaOC3MezM0RVqYFOVxMpjJOJ1MfLdCZQj5uZQx76CBkr3i5daZ/Vgy35M5/tongv+kDkD4JEmXx8ExFCLJQNfRd3WTSN7go1cqe6WqygWWZXE2juQZquFY+VNcOCte7Bf05TQPbQwBIYVGcIXWCD8MiRzxodlGm3Z2rVl3pTFmWe9/RZTFR3Kuom6vx4ux4+qprIKfC4u+lZfp5pk+GUC1imejYZ5mRrISRc85C+WM0lOoVQ5icGMC+wwHST7efQEUtlq1CcKGxn1wKo0fLUMPtJ5BrqT3krH5CbWs9lmOQuG3A7UqOR317yh489LNtOPA6x68ld0aA0AduKWWvOyEDnHq6q45o6C3DpXMBQWXjgLh+NUSJqOMYnPsnawrN8kMOQwyySuAN08MwrG6hUdBKpy88xT2dadlg4zhLO+6vSDi+WTyK0Qvejr1tAWBgGoy5zD73NQ9ZKRaGiJXuzLliTVn8nQhBssu92hL92e4ilY7tvXoK5r8bG7C3qYS2T5FW1jLemOP/awWHMVgtgLqr9RY9nGnvBEWyiczNScb8BgiMPNO11O+XHvBylE+g6oXF9WS7uZxItCUOAxm/YrxP/rFpmxgNycyj1eYVIsmxy5tyBtOaaqBhPMG2vZM7uNrByWCkj+C9ElYKuKY+jVPAf8eWLNZNCw5z3/F6jN9QTERvWQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(346002)(39850400004)(136003)(396003)(376002)(366004)(53546011)(33656002)(26005)(55016002)(38070700005)(66556008)(64756008)(66476007)(186003)(9686003)(6506007)(478600001)(5660300002)(122000001)(83380400001)(2906002)(71200400001)(86362001)(66446008)(38100700002)(8936002)(8676002)(52536014)(316002)(66946007)(110136005)(76116006)(4326008)(7696005);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?NlZXU0VQM3BJMmk3MEZ3d09LaUpPaStSSWZtc0VZMTIwc3ozNTErNStydXJM?=
 =?utf-8?B?K2dPN3NrVjFBTjBId3IvbFZlcjVMZnBDSGFaVzlOSkhYRzRUK3A3bSt4QXFr?=
 =?utf-8?B?QVNiU29LcmdoMFdhd1Q4ZHhjMGhVL1RKNGdIdDBrM1NId1Zsc213a1B0Zis5?=
 =?utf-8?B?cUZ1OU9KYUFzZzlsb2dhNUMzNEpFSzhYbzBtbVNOZGNMandFcTZoVG91SUxR?=
 =?utf-8?B?R0YyUWIwQWR1K1BpbktRK3p3bjlXVjUwdjhQVEs3OXpSRnFTRmMweXNPbUc5?=
 =?utf-8?B?MnRpTGxOdjdaSDM2MVcyeVN1NWhaREgrVTBvMmVLZ0IvS2hqOFhOSi9GWUk1?=
 =?utf-8?B?OEI4TWVCSGEveTZJVEhWbkFjTTNpOU1JRm83UHh1WUhEZ2NMcmV0ais2azRV?=
 =?utf-8?B?Z0NwRWRWRWdqbDMzNDhDeVRhZTBjU0hvVmpNUFJ5YU9Qa2FHSkF6NDVFU0VN?=
 =?utf-8?B?Z0dEMGJseGZORGdnMWszNGw5TVVZR2FTK0tFZ05LVzhpQmc1ZHVpNkt6cTRZ?=
 =?utf-8?B?TGFDd0FNellWZ2Q1VWNGWlV0VEd1a1lZMU5Tc3lqcm1pa2JwZnNhWERhdzRr?=
 =?utf-8?B?ZVBCSnl3cUxwWktXVllLMU9GU2dEdFVsNU41OXFtcW03N0JROUhhSFp6cDFO?=
 =?utf-8?B?aDBIMFhMM094aGNpWFR4dnZiQmV4ZnI4b0RzQnJrS0t6M0tyZ0dWRUQxdWFk?=
 =?utf-8?B?cC9PVytYOENKUnNXcmh6YWVmZ2dxaThwY2ZNTlIxTjNOODcyVE55TGUwTjdM?=
 =?utf-8?B?b1psSzI5bitwSEdNeG5SUkZPNVhDTXlHcHRGMkJvUU5oU2MySmFERjhZSGRt?=
 =?utf-8?B?Wm5taTRNSDUxZXVIemtJUURDbWhtZThUMDZraWpnc09JdWp5anhrajYycklQ?=
 =?utf-8?B?V28vcUtLK3poYWRVZlhNRTF1SzZJRHVCcENiR0RxY3EwWHFBTVBKei9xSVVQ?=
 =?utf-8?B?aWt5SnFKREQxRmJKbWJWZTYwc1FDZzI4UzdCbkhsL1pmZm5CMEF3a2haaFJC?=
 =?utf-8?B?cndtZ1dsOU0wZytQYXk5Z2JtYnJMRXZ1ZDNQVldWem5PcndDQVVVeXpmMW55?=
 =?utf-8?B?UmpXTVp0TGlFMGVlUHBlZzJxRytkZ1BvWHQ3a3A5Vk9wbExLQW1wSzBPQkEr?=
 =?utf-8?B?Tmp3VzBnemc0ejBjV2xTVm8ya3BDN0xmdmlpMG9xWEFaL0RmUTJNSW5SNU1F?=
 =?utf-8?B?OC94S05xc2l3VFF5WFRWTG5WTXh4RFV0R0FwQ1UzUW42cGR0MXlMNEVGZFFL?=
 =?utf-8?B?OE5KN2F6aGw5YmpsNHhpS3pySk16NW1OLzhsZDl4YnoyYVBINzB5SnZNQ0xp?=
 =?utf-8?B?RmtITTlSeWpJVFRZNWJlSG5IQzBwaUJDTmljT3BldWlSVXpBdW1mbm9mNXI0?=
 =?utf-8?B?azJTa0ZFWUpLb2FHNW95OU5zQ0lSTURYeVpZeEkxSGpUY1g1RVRKUkNLdG1s?=
 =?utf-8?B?OWhDa0l4TXlVZ2lGUlc5SXNzd29JRVcwbTh0ckZqVDVMUnZPN04remoySHlU?=
 =?utf-8?B?OWVqUVc1R0Z4NGxlZDJGTkxuTWkrQ0JxRmFjL05Cc0UwblBVWFdGeVpKN0Zl?=
 =?utf-8?B?bnVTT2JrMFJxc1JVbmphV0tLU05Kclg1c1ZkY29JbytkYXpLRDZ4LzAwTVBu?=
 =?utf-8?B?UnppQWtsV2RaS0p4bGRxR1pleW50b2Y4L1FFQ2dCT3ZteEJpMHcwZklPRzQ1?=
 =?utf-8?B?SzJmZEFSUHM4ZDEwVUdzZjc0K01Tb1VPVUdqaEloWEdBTjA1UW03UWdIOS9l?=
 =?utf-8?Q?2Vg5MK4YFaeqjfIP0lmGAS+6CUUEdsS21QobY8a?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR08MB2934
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT058.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	6d5206cc-64e7-4b70-c08f-08d969d321fc
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	r7xresBOybmR07TZW/gG/EdV5GNF5q++WrqmiyL9Cez+yzUTl0kNVYrC6DVokNpX29/BDc1ZqJ7jJ0N8R048AQtIcxXKhkDusC/2Pdu09bzG6mnHoQBeJtiq1ZPV/nM/weKkpuWSi45s1VS2fmFGLe4WgIU9orhemiUkYo/w6+FaAErJPVEshZ2YBDmTHHibDegi+R30kKBiaqPwViWkNroIRFW2oJWwiVzovk1MCVinWYjm0duibrX4yiWAUWAYc6wHwf5gKfOnpMMzjcUCeF4fbTZWDrExOpJld9VudDdSg96NDk3yqAv5t2C3DhMn24MJEiygNVHTTjzJwwwV+MSwZASBfhjV2MUTUb9+BCQkLcYQyMl0JjisM1iu7p9IplrbZ/5wWu5RT3SZAv8Xe1UP6dIc1sGCJGFUwyS5rOVlcqLakANBhYp9B7xbuCnhao3AVN8y0Boqs0RGqgcPnqxVMp80xAqOUJKKD4unoQ2fqmd/xnnE7lDI2ZxkI53q3S/7D8w7mnmh3QEUDhP5c/mYyN8cbjDjaimnD18lvjRAcjNY5ZnutRdoYs6VuuTg1tTjpnMbEcG3uTnwvWYEkk2TxpM7pB1TaJl1exqB86idMJHomxaeohUixDL2c3GopoWCJcKn3YtZrKOjIe52N2jNAHVpcagIaS3ao2zakm/Bm2kn1hEOQg5Ch0jFJE0b/vOxR+Q1O7lLsoI8y/GbhQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(396003)(346002)(376002)(39850400004)(136003)(36840700001)(46966006)(6506007)(52536014)(53546011)(70586007)(47076005)(70206006)(316002)(8936002)(478600001)(356005)(82310400003)(110136005)(82740400003)(81166007)(36860700001)(33656002)(2906002)(336012)(7696005)(83380400001)(55016002)(186003)(4326008)(8676002)(86362001)(5660300002)(26005)(9686003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2021 03:23:10.8484
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c8ba4bb1-2c14-40f0-9372-08d969d329c1
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT058.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR08MB2648

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMjfml6UgMjI6MzgN
Cj4gVG86IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgeGVuLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnOw0KPiBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqYmV1bGljaEBzdXNlLmNvbQ0K
PiBDYzogQmVydHJhbmQgTWFycXVpcyA8QmVydHJhbmQuTWFycXVpc0Bhcm0uY29tPg0KPiBTdWJq
ZWN0OiBSZTogW1hFTiBSRkMgUEFUQ0ggMzkvNDBdIHhlbi94ODY6IG1vdmUgbnVtYV9zZXR1cCB0
byBjb21tb24gdG8NCj4gc3VwcG9ydCBOVU1BIHN3aXRjaCBpbiBjb21tYW5kIGxpbmUNCj4gDQo+
IEhpIFdlaSwNCj4gDQo+IE9uIDExLzA4LzIwMjEgMTE6MjQsIFdlaSBDaGVuIHdyb3RlOg0KPiA+
IFhlbiB4ODYgaGFzIGNyZWF0ZWQgYSBjb21tYW5kIGxpbmUgcGFyYW1ldGVyICJudW1hIiBhcyBO
VU1BIHN3aXRjaCBmb3INCj4gPiB1c2VyIHRvIHR1cm4gb24vb2ZmIE5VTUEuIEFzIGRldmljZSB0
cmVlIGJhc2VkIE5VTUEgaGFzIGJlZW4gZW5hYmxlZA0KPiA+IGZvciBBcm0sIHRoaXMgcGFyYW1l
dGVyIGNhbiBiZSByZXVzZWQgYnkgQXJtLiBTbyBpbiB0aGlzIHBhdGNoLCB3ZSBtb3ZlDQo+ID4g
dGhpcyBwYXJhbWV0ZXIgdG8gY29tbW9uLg0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogV2VpIENo
ZW4gPHdlaS5jaGVuQGFybS5jb20+DQo+ID4gLS0tDQo+ID4gICB4ZW4vYXJjaC94ODYvbnVtYS5j
ICAgIHwgMzQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ICAgeGVuL2Nv
bW1vbi9udW1hLmMgICAgICB8IDM1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKyst
DQo+ID4gICB4ZW4vaW5jbHVkZS94ZW4vbnVtYS5oIHwgIDEgLQ0KPiA+ICAgMyBmaWxlcyBjaGFu
Z2VkLCAzNCBpbnNlcnRpb25zKCspLCAzNiBkZWxldGlvbnMoLSkNCj4gPg0KPiA+IGRpZmYgLS1n
aXQgYS94ZW4vYXJjaC94ODYvbnVtYS5jIGIveGVuL2FyY2gveDg2L251bWEuYw0KPiA+IGluZGV4
IDhiNDNiZTRhYTcuLjM4MGQ4ZWQ2ZmQgMTAwNjQ0DQo+ID4gLS0tIGEveGVuL2FyY2gveDg2L251
bWEuYw0KPiA+ICsrKyBiL3hlbi9hcmNoL3g4Ni9udW1hLmMNCj4gPiBAQCAtMTEsNyArMTEsNiBA
QA0KPiA+ICAgI2luY2x1ZGUgPHhlbi9ub2RlbWFzay5oPg0KPiA+ICAgI2luY2x1ZGUgPHhlbi9u
dW1hLmg+DQo+ID4gICAjaW5jbHVkZSA8eGVuL2tleWhhbmRsZXIuaD4NCj4gPiAtI2luY2x1ZGUg
PHhlbi9wYXJhbS5oPg0KPiA+ICAgI2luY2x1ZGUgPHhlbi90aW1lLmg+DQo+ID4gICAjaW5jbHVk
ZSA8eGVuL3NtcC5oPg0KPiA+ICAgI2luY2x1ZGUgPHhlbi9wZm4uaD4NCj4gPiBAQCAtMTksOSAr
MTgsNiBAQA0KPiA+ICAgI2luY2x1ZGUgPHhlbi9zY2hlZC5oPg0KPiA+ICAgI2luY2x1ZGUgPHhl
bi9zb2Z0aXJxLmg+DQo+ID4NCj4gPiAtc3RhdGljIGludCBudW1hX3NldHVwKGNvbnN0IGNoYXIg
KnMpOw0KPiA+IC1jdXN0b21fcGFyYW0oIm51bWEiLCBudW1hX3NldHVwKTsNCj4gPiAtDQo+ID4g
ICAjaWZuZGVmIERwcmludGsNCj4gPiAgICNkZWZpbmUgRHByaW50ayh4Li4uKQ0KPiA+ICAgI2Vu
ZGlmDQo+ID4gQEAgLTUwLDM1ICs0Niw2IEBAIHZvaWQgbnVtYV9zZXRfbm9kZShpbnQgY3B1LCBu
b2RlaWRfdCBub2RlKQ0KPiA+ICAgICAgIGNwdV90b19ub2RlW2NwdV0gPSBub2RlOw0KPiA+ICAg
fQ0KPiA+DQo+ID4gLS8qIFtudW1hPW9mZl0gKi8NCj4gPiAtc3RhdGljIF9faW5pdCBpbnQgbnVt
YV9zZXR1cChjb25zdCBjaGFyICpvcHQpDQo+ID4gLXsNCj4gPiAtICAgIGlmICggIXN0cm5jbXAo
b3B0LCJvZmYiLDMpICkNCj4gPiAtICAgICAgICBudW1hX29mZiA9IHRydWU7DQo+ID4gLSAgICBl
bHNlIGlmICggIXN0cm5jbXAob3B0LCJvbiIsMikgKQ0KPiA+IC0gICAgICAgIG51bWFfb2ZmID0g
ZmFsc2U7DQo+ID4gLSNpZmRlZiBDT05GSUdfTlVNQV9FTVUNCj4gPiAtICAgIGVsc2UgaWYgKCAh
c3RybmNtcChvcHQsICJmYWtlPSIsIDUpICkNCj4gPiAtICAgIHsNCj4gPiAtICAgICAgICBudW1h
X29mZiA9IGZhbHNlOw0KPiA+IC0gICAgICAgIG51bWFfZmFrZSA9IHNpbXBsZV9zdHJ0b3VsKG9w
dCs1LE5VTEwsMCk7DQo+ID4gLSAgICAgICAgaWYgKCBudW1hX2Zha2UgPj0gTUFYX05VTU5PREVT
ICkNCj4gPiAtICAgICAgICAgICAgbnVtYV9mYWtlID0gTUFYX05VTU5PREVTOw0KPiA+IC0gICAg
fQ0KPiA+IC0jZW5kaWYNCj4gPiAtI2lmZGVmIENPTkZJR19BQ1BJX05VTUENCj4gPiAtICAgIGVs
c2UgaWYgKCAhc3RybmNtcChvcHQsIm5vYWNwaSIsNikgKQ0KPiA+IC0gICAgew0KPiA+IC0gICAg
ICAgIG51bWFfb2ZmID0gZmFsc2U7DQo+ID4gLSAgICAgICAgYWNwaV9udW1hID0gLTE7DQo+ID4g
LSAgICB9DQo+ID4gLSNlbmRpZg0KPiA+IC0gICAgZWxzZQ0KPiA+IC0gICAgICAgIHJldHVybiAt
RUlOVkFMOw0KPiA+IC0NCj4gPiAtICAgIHJldHVybiAwOw0KPiA+IC19DQo+ID4gLQ0KPiA+ICAg
LyoNCj4gPiAgICAqIFNldHVwIGVhcmx5IGNwdV90b19ub2RlLg0KPiA+ICAgICoNCj4gPiBAQCAt
Mjg3LDQgKzI1NCwzIEBAIHN0YXRpYyBfX2luaXQgaW50IHJlZ2lzdGVyX251bWFfdHJpZ2dlcih2
b2lkKQ0KPiA+ICAgICAgIHJldHVybiAwOw0KPiA+ICAgfQ0KPiA+ICAgX19pbml0Y2FsbChyZWdp
c3Rlcl9udW1hX3RyaWdnZXIpOw0KPiA+IC0NCj4gPiBkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9u
dW1hLmMgYi94ZW4vY29tbW9uL251bWEuYw0KPiA+IGluZGV4IDg4ZjE1OTQxMjcuLmM5OGViOGQ1
NzEgMTAwNjQ0DQo+ID4gLS0tIGEveGVuL2NvbW1vbi9udW1hLmMNCj4gPiArKysgYi94ZW4vY29t
bW9uL251bWEuYw0KPiA+IEBAIC0xNCw4ICsxNCwxMiBAQA0KPiA+ICAgI2luY2x1ZGUgPHhlbi9z
bXAuaD4NCj4gPiAgICNpbmNsdWRlIDx4ZW4vcGZuLmg+DQo+ID4gICAjaW5jbHVkZSA8eGVuL3Nj
aGVkLmg+DQo+ID4gKyNpbmNsdWRlIDx4ZW4vcGFyYW0uaD4NCj4gPiAgICNpbmNsdWRlIDxhc20v
YWNwaS5oPg0KPiA+DQo+ID4gK3N0YXRpYyBpbnQgbnVtYV9zZXR1cChjb25zdCBjaGFyICpzKTsN
Cj4gPiArY3VzdG9tX3BhcmFtKCJudW1hIiwgbnVtYV9zZXR1cCk7DQo+ID4gKw0KPiA+ICAgc3Ry
dWN0IG5vZGVfZGF0YSBub2RlX2RhdGFbTUFYX05VTU5PREVTXTsNCj4gPg0KPiA+ICAgLyogTWFw
cGluZyBmcm9tIHBkeCB0byBub2RlIGlkICovDQo+ID4gQEAgLTMyNCw3ICszMjgsNyBAQCBpbnQg
X19pbml0IG51bWFfc2Nhbl9ub2Rlcyh1NjQgc3RhcnQsIHU2NCBlbmQpDQo+ID4gICB9DQo+ID4N
Cj4gPiAgICNpZmRlZiBDT05GSUdfTlVNQV9FTVUNCj4gPiAtaW50IG51bWFfZmFrZSBfX2luaXRk
YXRhID0gMDsNCj4gPiArc3RhdGljIGludCBudW1hX2Zha2UgX19pbml0ZGF0YSA9IDA7DQo+ID4N
Cj4gPiAgIC8qIE51bWEgZW11bGF0aW9uICovDQo+ID4gICBzdGF0aWMgaW50IF9faW5pdCBudW1h
X2VtdWxhdGlvbih1NjQgc3RhcnRfcGZuLCB1NjQgZW5kX3BmbikNCj4gPiBAQCAtNDA5LDMgKzQx
MywzMiBAQCB2b2lkIF9faW5pdCBudW1hX2luaXRtZW1faW5pdCh1bnNpZ25lZCBsb25nDQo+IHN0
YXJ0X3BmbiwgdW5zaWduZWQgbG9uZyBlbmRfcGZuKQ0KPiA+ICAgICAgIC8qIGFyY2hpdGVjdHVy
ZSBzcGVjaWZpZWQgZmFsbGJhY2sgb3BlcmF0aW9ucyAqLw0KPiA+ICAgICAgIGFyY2hfbnVtYV9p
bml0X2ZhaWxlZF9mYWxsYmFjaygpOw0KPiA+ICAgfQ0KPiA+ICsNCj4gPiArLyogW251bWE9b2Zm
XSAqLw0KPiANCj4gVGhlIGRvY3VtZW50YXRpb24gYWxzbyBuZWVkcyBiZSBiZSB1cGRhdGVkIHRv
IHJlZmxlY3QgdGhhdCBmYWN0cyB0aGlzDQo+IG9wdGlvbiBpcyBub3QgYXJjaGl0ZWN0dXJlLWFn
bm9zdGljLg0KPiANCg0KT2ssIEkgd2lsbCB1cGRhdGUgdGhlIHJlbGF0ZSBkb2N1bWVudCBpbiBu
ZXh0IHZlcnNpb24uDQoNCj4gPiArc3RhdGljIF9faW5pdCBpbnQgbnVtYV9zZXR1cChjb25zdCBj
aGFyICpvcHQpDQo+ID4gK3sNCj4gPiArICAgIGlmICggIXN0cm5jbXAob3B0LCJvZmYiLDMpICkN
Cj4gPiArICAgICAgICBudW1hX29mZiA9IHRydWU7DQo+ID4gKyAgICBlbHNlIGlmICggIXN0cm5j
bXAob3B0LCJvbiIsMikgKQ0KPiA+ICsgICAgICAgIG51bWFfb2ZmID0gZmFsc2U7DQo+ID4gKyNp
ZmRlZiBDT05GSUdfTlVNQV9FTVUNCj4gPiArICAgIGVsc2UgaWYgKCAhc3RybmNtcChvcHQsICJm
YWtlPSIsIDUpICkNCj4gPiArICAgIHsNCj4gPiArICAgICAgICBudW1hX29mZiA9IGZhbHNlOw0K
PiA+ICsgICAgICAgIG51bWFfZmFrZSA9IHNpbXBsZV9zdHJ0b3VsKG9wdCs1LE5VTEwsMCk7DQo+
ID4gKyAgICAgICAgaWYgKCBudW1hX2Zha2UgPj0gTUFYX05VTU5PREVTICkNCj4gPiArICAgICAg
ICAgICAgbnVtYV9mYWtlID0gTUFYX05VTU5PREVTOw0KPiA+ICsgICAgfQ0KPiA+ICsjZW5kaWYN
Cj4gPiArI2lmZGVmIENPTkZJR19BQ1BJX05VTUENCj4gPiArICAgIGVsc2UgaWYgKCAhc3RybmNt
cChvcHQsIm5vYWNwaSIsNikgKQ0KPiA+ICsgICAgew0KPiA+ICsgICAgICAgIG51bWFfb2ZmID0g
ZmFsc2U7DQo+ID4gKyAgICAgICAgYWNwaV9udW1hID0gLTE7DQo+ID4gKyAgICB9DQo+ID4gKyNl
bmRpZg0KPiANCj4gTG9va2luZyBhdCB0aGlzIGNvZGUsIEkgYW0gbm90IHF1aXRlIHRvbyBzdXJl
IHRvIHVuZGVyc3RhbmQgdGhlDQo+IGRpZmZlcmVuY2UgYmV0d2VlbiBiZXR3ZWVuICJudW1hPW5v
YWNwaSIgYW5kICJudW1hPW9mZiIuDQo+IA0KPiBJbiBmYWN0LCBJIGFtIHRlbXB0ZWQgdG8gc2F5
IHRoaXMgb3B0aW9uIHNob3VsZCBkaXNhcHBlYXIgYmVjYXVzZSB0aGlzDQo+IGlzIG9kZCB0byBo
YXZlIGEgZmlybXdhcmUgc3BlY2lmaWMgb3B0aW9uIGp1c3QgZm9yIEFDUEkgYnV0IG5vdCBEVC4g
RXZlbg0KPiBpZiB3ZSBoYXZlIG9uZSBmb3IgZWFjaCwgdGhpcyBtYWtlcyB0aGluZ3MgYSBiaXQg
bW9yZSBjb21wbGljYXRlZCBmb3INCj4gdGhlIGFkbWluLg0KPiANCg0KWWVzLCBJIGFncmVlLiBJ
IHdvdWxkIGNvbnNpZGVyIGEgcHJvcGVyIHdheSB0byBhZGRyZXNzIGl0IGluIG5leHQgdmVyc2lv
bi4NCklmIHg4NiBtYWludGFpbmVycyBjYW4gZ2l2ZSBzb21lIGJhY2tncm91bmQgb2YgdGhlc2Ug
dHdvIG9wdGlvbnMgd291bGQgYmUNCmJldHRlci4NCg0KPiA+ICsgICAgZWxzZQ0KPiA+ICsgICAg
ICAgIHJldHVybiAtRUlOVkFMOw0KPiA+ICsNCj4gPiArICAgIHJldHVybiAwOw0KPiA+ICt9DQo+
ID4gZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9udW1hLmggYi94ZW4vaW5jbHVkZS94ZW4v
bnVtYS5oDQo+ID4gaW5kZXggYjliNWQxYWQ4OC4uYzY0N2ZlZjczNiAxMDA2NDQNCj4gPiAtLS0g
YS94ZW4vaW5jbHVkZS94ZW4vbnVtYS5oDQo+ID4gKysrIGIveGVuL2luY2x1ZGUveGVuL251bWEu
aA0KPiA+IEBAIC04Myw3ICs4Myw2IEBAIGV4dGVybiB2b2lkIG51bWFfaW5pdG1lbV9pbml0KHVu
c2lnbmVkIGxvbmcgc3RhcnRfcGZuLA0KPiB1bnNpZ25lZCBsb25nIGVuZF9wZm4pOw0KPiA+ICAg
ZXh0ZXJuIHZvaWQgbnVtYV9zZXRfbm9kZShpbnQgY3B1LCBub2RlaWRfdCBub2RlKTsNCj4gPiAg
IGV4dGVybiBpbnQgbnVtYV9zY2FuX25vZGVzKHU2NCBzdGFydCwgdTY0IGVuZCk7DQo+ID4gICBl
eHRlcm4gYm9vbCBudW1hX29mZjsNCj4gPiAtZXh0ZXJuIGludCBudW1hX2Zha2U7DQo+ID4gICBl
eHRlcm4gczggYWNwaV9udW1hOw0KPiA+DQo+ID4gICBleHRlcm4gdm9pZCBzZXR1cF9ub2RlX2Jv
b3RtZW0obm9kZWlkX3Qgbm9kZWlkLCB1NjQgc3RhcnQsIHU2NCBlbmQpOw0KPiA+DQo+IA0KPiBD
aGVlcnMsDQo+IA0KPiAtLQ0KPiBKdWxpZW4gR3JhbGwNCg==


From xen-devel-bounces@lists.xenproject.org Sat Aug 28 03:46:11 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 03:46:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174180.317768 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJpIC-0004wn-Qm; Sat, 28 Aug 2021 03:46:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174180.317768; Sat, 28 Aug 2021 03: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 1mJpIC-0004wg-Ng; Sat, 28 Aug 2021 03:46:04 +0000
Received: by outflank-mailman (input) for mailman id 174180;
 Sat, 28 Aug 2021 03:46:03 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=sP14=NT=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mJpIB-0004wa-E0
 for xen-devel@lists.xenproject.org; Sat, 28 Aug 2021 03:46:03 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com (unknown
 [40.107.20.61]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 763528d4-07b2-11ec-ab31-12813bfff9fa;
 Sat, 28 Aug 2021 03:46:01 +0000 (UTC)
Received: from PR3P250CA0027.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:57::32)
 by VI1PR0801MB1805.eurprd08.prod.outlook.com (2603:10a6:800:58::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.20; Sat, 28 Aug
 2021 03:45:58 +0000
Received: from VE1EUR03FT036.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:102:57:cafe::47) by PR3P250CA0027.outlook.office365.com
 (2603:10a6:102:57::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17 via Frontend
 Transport; Sat, 28 Aug 2021 03:45:58 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT036.mail.protection.outlook.com (10.152.19.204) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Sat, 28 Aug 2021 03:45:57 +0000
Received: ("Tessian outbound 19a632698c93:v103");
 Sat, 28 Aug 2021 03:45:57 +0000
Received: from 82af55dc10f9.3
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 EDBC0445-9DB5-4B28-9461-F9F8056A174B.1; 
 Sat, 28 Aug 2021 03:45:46 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 82af55dc10f9.3
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Sat, 28 Aug 2021 03:45:46 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB8PR08MB5147.eurprd08.prod.outlook.com (2603:10a6:10:e6::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17; Sat, 28 Aug
 2021 03:45:44 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.024; Sat, 28 Aug 2021
 03: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>
X-Inumbo-ID: 763528d4-07b2-11ec-ab31-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0ZPs8rQNtgUZdOYH74EpquEeoO/o+sfj17Mwr4C86R0=;
 b=mkm0ZgWYFJNwV8Sgmu9O/Lpojo877962it1J7w0+CdCpxmV7HKtVGIXuiW18v9AhMEkd+U7ry1rZd5J5DFPMcxvx0XBPCAC0J/tbY0vG/Z1AuRGHbqK3L9Q5NBdVk2gsoRxzxXAvwfowMani1xxDGW17ScE3jgin9hTsHDkdlLI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oent3Gv2ZGpAHKhX9rScmqYaIjAPOe2FVLKW8lDGfQ8tTR6MQC37EFVVLu/vhKPc0KMBwiqx2ps98Dg9f9pz28VyDQIe+2meAa7sASqUTvNVWvDK0zBE8zXHaLy4n7ydkEYTQK2HXeP4H1XnDjLA08bjytRx+wRD6tZQZKfLOyFsITGR5VuwC2YCd2NIdpDMcmUuXzaC977S5IKDtnvEDVn1kuyiYswQIHROwsqv56+vF4hdiO9QHdBZKthUImzcW6JVJBsMTjuyyfXYkD6w8ghop0TiVhCpmrk9JHRIPuT41vfZnI64L5AyDTIe+wv6Rpv5zvRwmO+ruc8htJS01g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0ZPs8rQNtgUZdOYH74EpquEeoO/o+sfj17Mwr4C86R0=;
 b=B2PDQUT+SWUvX6lhARcPEUOhbYRcYAF2FbVhBzNSOUWbDfqYhnfOizZnwl7xYZ/j5xBrnTGD3S1x+/KY7rcH39G+Ng72eyv1WBu9yQ2z3+R6k1IH8EU4ybp1KnEBrtQv5T8nlxA5m28nI81eLGUNgeoJZ8Ewz4diSkFChbx3Np0sOnYcQ5tR46XOHXcj2sd6d+zlDo8ukxwijNr1Vw7fhSly1MqaCb8QCEZWjS3eHEUKq2fXGAkrE0hWKaUueBfY5RyVtrQkmaW+LmLRuf1gpvRRDDKyyeMNU/DsIK2qNu2yFY3HUqrVS5IeWnPrq5N8g/LWanCaC2hmFAQipYt+Ww==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0ZPs8rQNtgUZdOYH74EpquEeoO/o+sfj17Mwr4C86R0=;
 b=mkm0ZgWYFJNwV8Sgmu9O/Lpojo877962it1J7w0+CdCpxmV7HKtVGIXuiW18v9AhMEkd+U7ry1rZd5J5DFPMcxvx0XBPCAC0J/tbY0vG/Z1AuRGHbqK3L9Q5NBdVk2gsoRxzxXAvwfowMani1xxDGW17ScE3jgin9hTsHDkdlLI=
From: Wei Chen <Wei.Chen@arm.com>
To: Wei Chen <Wei.Chen@arm.com>, Julien Grall <julien@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"sstabellini@kernel.org" <sstabellini@kernel.org>, Jan Beulich
	<jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 37/40] xen: introduce an arch helper to do NUMA
 init failed fallback
Thread-Topic: [XEN RFC PATCH 37/40] xen: introduce an arch helper to do NUMA
 init failed fallback
Thread-Index: AQHXjptRsfRkXW8NoUWuJvdR0xpL2KuHguqAgADGK1CAABeL8A==
Date: Sat, 28 Aug 2021 03:45:43 +0000
Message-ID:
 <DB9PR08MB6857B7537C35BBF1CE347A4F9EC99@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-38-wei.chen@arm.com>
 <48a54187-3b6b-f98c-3681-906ee3df1694@xen.org>
 <DB9PR08MB685769E192E0603F3C723FA09EC99@DB9PR08MB6857.eurprd08.prod.outlook.com>
In-Reply-To:
 <DB9PR08MB685769E192E0603F3C723FA09EC99@DB9PR08MB6857.eurprd08.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 863A2ED672F1EE4ABE3B40BC90FD8E4E.0
x-checkrecipientchecked: true
Authentication-Results-Original: arm.com; dkim=none (message not signed)
 header.d=none;arm.com; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 72e5cc04-0381-4969-b9c1-08d969d65876
x-ms-traffictypediagnostic: DB8PR08MB5147:|VI1PR0801MB1805:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR0801MB180526181FC52BEC7954DEAE9EC99@VI1PR0801MB1805.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:374;OLM:374;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 /oZSEW39daTnLYV8BWscSCuUAo4NQefp3pEJo4fSmRz2w6tYz+1z+DOv+xIxe/IFIb/59tqTjUYL/jWwD70h+hTVwiQ5Ak4T8YXYop684QRoIdbP9yvT26416UuRsQ21Rdd9fft7nPufdpXA3tWDEoanoCSJIomJryi7+LGYdjZuXbqyXtMaAC62x2ZAbUYodf/fzw3qU1feNVAkkmwRvqJPgwSYCrSZX8GmpN4TKfSm6rUKWuj3t06RlbuBHLE4q9lRp9/CP5xyiOJ/xzOaeZ1lZyDCjzyuBi4OMq2Pdgr0qCZh03XcXE+vHIu6yb2amYmXNB2/XUTcRtwD/NkT4KY+bWZ9vLdQ1cOnqU0bANtkgmDC2DiYcvr95p3QBU75rzhu5mX2pLTJ8y/ijUYcBUD2CtIJX25nkSU6dGDpdldyqOjHxeqevPHmOEcj7G1fG5hwgOIvj7zDt+q5aYuUD3hOEu3H9M+74hVBritvMML4DV0CX9pJC+O6b+fKtXyubdh9A2uaStm6U2fwvyTA0RTS/ZZJft9n12sIrsb9W2puRHuebPpkv60QUYLzdh5kSREqW/Si+y1u37yORCjTrb7vhWQEQWOVvyPhGF3XWeZhV8nmL+e47iPLVluXkTZz7YY5CyZnphmpwAvrh3MwAkiXKKC+BB6/wv3jaSWZGpX13KEXIAZpZIMmgUwCfCaFEDBHclT295SZjuCPTdnWTw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(136003)(376002)(39850400004)(396003)(346002)(366004)(2940100002)(52536014)(38070700005)(2906002)(26005)(66946007)(83380400001)(122000001)(4326008)(66476007)(64756008)(66556008)(110136005)(8936002)(66446008)(9686003)(5660300002)(8676002)(71200400001)(53546011)(55016002)(316002)(6506007)(33656002)(186003)(38100700002)(86362001)(76116006)(7696005)(478600001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?eWs0YjV5Vy9DQ2lLRjdxVTRZYUFvbW1ZNC9kZWRQMU5Fd0hMNFM5SXdYOHht?=
 =?utf-8?B?V01XcjVsUXVPa29peUlsZ25qNTdaNE5rZmRFWU5hdXQwRXhwdHlNNHZjdFhF?=
 =?utf-8?B?TnNCM2FNZGIzMG0vbkE0RjFHVGp0L2JYN2crcDFUYlg1VjJjbWhMeGNoNzN0?=
 =?utf-8?B?VkZWcjNFVUVDZWwyZFRCRUxiYzdPVkVmWXYwMlByaGpHN1M2encyQXRtdm5Y?=
 =?utf-8?B?ZzVHTTEvbG5FYkZYcURhRGRSUlpONm9CRnhjd3lDeXh4WkRLaFFLWnBJSVZV?=
 =?utf-8?B?L0toTzQvekRITWJxMHN0SXppZThZOERiNS9KeVZBMnVTb3Q2akRTbm1qdnhG?=
 =?utf-8?B?UWU1dmJnMXRoTzEzR2YvVTlwN3JXMU5nZXNPL0wxWlc2ZG40MnJNOFYzU1Ur?=
 =?utf-8?B?VHVlMXdGbW96VjJvUFk0UmNUdkU4NjNiYWZZeEg0dE1PWTNTZ2FTbHlxWUlL?=
 =?utf-8?B?d1J0ZTc4NWZMU3dFQi9oNjEwWldsVnN5ZllOZ0FTNXVsZ2RuVW51N0FkRVFn?=
 =?utf-8?B?WTFoa2U0Y1FlbUZJNmdmaTUzY2oyV3ZvUVUwOG14bjEramRWWkEzQWhIWVZK?=
 =?utf-8?B?dXpOMmJaUkpiVThlSFp1N0l2UkV0MHlkd25DSkZJWTJvbm90T2t4ay9sQzRG?=
 =?utf-8?B?VEE4S3FnaFdYNXQxM1ZwNDJWQVp5R3BZa2R2c2tPcllUQk0wQ3JIUE4zSFVJ?=
 =?utf-8?B?WDRBcGp1ZHlvZE5ZbzZuZWtjeHEvdFZoUXRiZ3pwa20zZjdVOEJuOGFKWUFR?=
 =?utf-8?B?NzZkcEJpRVNzeFdtR2QwZForR1k2OHlMWXI5WGpxSkJFRXNxcWxRK1NvNzJN?=
 =?utf-8?B?c2V5TWhLMWRpWFFZYkVoM2pDcWMySGEwMXUzdGVXcnNrU1BySmVTcVJjeS9w?=
 =?utf-8?B?bU1RalN1eDVpdFdGQ1pWZFB1NENneXdSOXlOd1A2eDFBaDFoR05oNmFxZ2dp?=
 =?utf-8?B?OWs1YUNuN2dKRTN4c1RMaXVFS04vRHd6SVVvc3Q4bnZ4Sm1ydkxqRFZYME5y?=
 =?utf-8?B?WWtBNVVMSkY4bGIrc1pUWHpkNk5HNEZXRUhwRnllRWFiYzVETGlzMSt1Z0VM?=
 =?utf-8?B?eXVUcTVXSmhUTXk5aTRLYlBFV3BQZWE1RVc5Ty91RGxSQmJyd3JqYXI1WW9Z?=
 =?utf-8?B?eVRuaFZ6ZzlzZndaNG1qbDFCWGVFUHBrc0pndmVIS0l3Z3djS3FyUHZ3Q0tt?=
 =?utf-8?B?azMreDNSZk43bHNPbEpxMWxsZzdoUXRZYlVLZTFVWDUyVEJaYWtBRXJQRzFv?=
 =?utf-8?B?SnVOZVloZE9Ua2dWbUJjaDc4bWtKdmpGaE1Fb1VFUlcxZS8vQmFVN0lGQU0v?=
 =?utf-8?B?QXpJeUFJNVJlRlg0NWVzdWdUcTFRNjhCT1lORlpOdXpQdWNtY3ZNaTN1TVdy?=
 =?utf-8?B?aDhKL0cvSDVMQk13cVFYa0FVK2RjZnZxYlgyeXFHSU1CV0RiWmhZMzBqcTBn?=
 =?utf-8?B?dXVad3BxVXZHdEM1RVZkTzU3QWgrMjdnaG5mcHFjZ2hPTFhCcTc3bkpNU21u?=
 =?utf-8?B?L0RuUlpmblcwQUpNMlJ2SHNFY08yZHZselJPdVlla0laNkpzL29jdTBlR3da?=
 =?utf-8?B?bS9TeS9uQmlCRVhWbHRNQjF5TWtoRFF6aGFCNk5odThLRENQVngxQjFmS28v?=
 =?utf-8?B?T3R3WFRrMHR1T1ZqSDVBazF5N3FVL2MrVWdmenVIcFZDbnZLdGtPQnF0ZVpU?=
 =?utf-8?B?SmhOc29hY1FmekQ4Y3M3L1VnTTZES3RJbndGR3FLYjRWcXIrY051Zm1JUDFa?=
 =?utf-8?Q?Q6z2gdANQljPOlCPb51es0VYzY8iAiVqEnaWc9c?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB5147
Original-Authentication-Results: arm.com; dkim=none (message not signed)
 header.d=none;arm.com; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT036.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	b1cde06a-238a-479c-11e8-08d969d65037
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	IpADwP6QrVifgWpGKz1tvVelae+A9BbRY0BCJO1vqzPvRoymDQlwACx3lF4g1IdBwc+m6gExGywB85iOwkbgFHd9e8r0v0qErIgU+By6r7hZ+1Cws38X1aSdryh94aSpxPyx8vr17EXSZOT+P36V1A24fAJ0AWDN9WZ3Py9wQuG5pN/4o5SKp8CeCR2Uve3DGq+LS05zieTiJHt/AA+hwki08pQqBJiCLmZhwSoSAzrJzsXJDxa4dTJUmrnjUAbVwJZ3D17jIgv1U+bel5XSK552uML0OKDzaUKtSXn+RKPsfZAeH3LF0KWJNf4JNmJeU99+I3agFfNGatznV6J2ZVfjO627fknljnSG7ll2BbTVvpi21vypYD0woX5jFqvBdDl81hTtcSEnVIVo+WTRXL+C/Tzxsdkft309vTh8F2xL9ZeixNpyZBWjtW+X5Yx3N+5xgaBpkQcXv4A2yTP2ssJpqBTx7dleXdPpYffGEH/rC5RMfu8b6JN24PA05DO8wxgcRcNRv2PeiS5jKpI/HOgKaLy0Yi2oqeBGcaPhdCGDHdtZfO2kMWoiYI5HOOA/j2CUd6U2ODr2GxLKXyVNJLFT/PPKk8/aZvf/xQ+KwC/VL7WYElABZKUxcmeOii+K8uTVuPvE6jP4bg8FMFO30Hyx0Snz+yrBVY8llH70UeSoDoEq+FrAygQ2tcbqEq2jIxnCisybhnZFOb33UZIP6g==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(46966006)(36840700001)(86362001)(8676002)(36860700001)(47076005)(110136005)(316002)(82310400003)(83380400001)(8936002)(81166007)(7696005)(26005)(53546011)(52536014)(2906002)(5660300002)(356005)(4326008)(6506007)(70206006)(186003)(55016002)(9686003)(508600001)(33656002)(336012)(2940100002)(70586007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2021 03:45:57.6361
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 72e5cc04-0381-4969-b9c1-08d969d65876
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT036.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB1805

SGkgSnVsaWVuLCBKYW4NCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBY
ZW4tZGV2ZWwgPHhlbi1kZXZlbC1ib3VuY2VzQGxpc3RzLnhlbnByb2plY3Qub3JnPiBPbiBCZWhh
bGYgT2YgV2VpDQo+IENoZW4NCj4gU2VudDogMjAyMeW5tDjmnIgyOOaXpSAxMTowOQ0KPiBUbzog
SnVsaWVuIEdyYWxsIDxqdWxpZW5AeGVuLm9yZz47IHhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0
Lm9yZzsNCj4gc3N0YWJlbGxpbmlAa2VybmVsLm9yZzsgSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1
c2UuY29tPg0KPiBDYzogQmVydHJhbmQgTWFycXVpcyA8QmVydHJhbmQuTWFycXVpc0Bhcm0uY29t
Pg0KPiBTdWJqZWN0OiBSRTogW1hFTiBSRkMgUEFUQ0ggMzcvNDBdIHhlbjogaW50cm9kdWNlIGFu
IGFyY2ggaGVscGVyIHRvIGRvDQo+IE5VTUEgaW5pdCBmYWlsZWQgZmFsbGJhY2sNCj4gDQo+IEhp
IEp1bGllbiwNCj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBK
dWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4ub3JnPg0KPiA+IFNlbnQ6IDIwMjHlubQ45pyIMjfml6Ug
MjI6MzANCj4gPiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+OyB4ZW4tZGV2ZWxAbGlz
dHMueGVucHJvamVjdC5vcmc7DQo+ID4gc3N0YWJlbGxpbmlAa2VybmVsLm9yZzsgamJldWxpY2hA
c3VzZS5jb20NCj4gPiBDYzogQmVydHJhbmQgTWFycXVpcyA8QmVydHJhbmQuTWFycXVpc0Bhcm0u
Y29tPg0KPiA+IFN1YmplY3Q6IFJlOiBbWEVOIFJGQyBQQVRDSCAzNy80MF0geGVuOiBpbnRyb2R1
Y2UgYW4gYXJjaCBoZWxwZXIgdG8gZG8NCj4gPiBOVU1BIGluaXQgZmFpbGVkIGZhbGxiYWNrDQo+
ID4NCj4gPiBIaSwNCj4gPg0KPiA+IE9uIDExLzA4LzIwMjEgMTE6MjQsIFdlaSBDaGVuIHdyb3Rl
Og0KPiA+ID4gV2hlbiBYZW4gaW5pdGlhbGl6ZSBOVU1BIGZhaWxlZCwgc29tZSBhcmNoaXRlY3R1
cmVzIG1heSBuZWVkIHRvDQo+ID4gPiBkbyBmYWxsYmFjayBhY3Rpb25zLiBGb3IgZXhhbXBsZSwg
aW4gZGV2aWNlIHRyZWUgYmFzZWQgTlVNQSwgQXJtDQo+ID4gPiBuZWVkIHRvIHJlc2V0IHRoZSBk
aXN0YW5jZSBiZXR3ZWVuIGFueSB0d28gbm9kZXMuDQo+ID4NCj4gPiAgRnJvbSB0aGUgZGVzY3Jp
cHRpb24gaGVyZSwgSSBkb24ndCB1bmRlcnN0YW5kIHdoeSB3ZSBuZWVkIHRvIHJlc2V0IHRoZQ0K
PiA+IGRpc3RhbmNlIGZvciBBcm0gYnV0IG5vdCB4ODYuIEluIGZhY3QuLi4NCj4gPg0KPiA+ID4N
Cj4gPiA+IFNpZ25lZC1vZmYtYnk6IFdlaSBDaGVuIDx3ZWkuY2hlbkBhcm0uY29tPg0KPiA+ID4g
LS0tDQo+ID4gPiAgIHhlbi9hcmNoL2FybS9udW1hLmMgICAgICAgIHwgMTMgKysrKysrKysrKysr
Kw0KPiA+ID4gICB4ZW4vY29tbW9uL251bWEuYyAgICAgICAgICB8ICAzICsrKw0KPiA+ID4gICB4
ZW4vaW5jbHVkZS9hc20tYXJtL251bWEuaCB8ICAxICsNCj4gPiA+ICAgeGVuL2luY2x1ZGUvYXNt
LXg4Ni9udW1hLmggfCAgNiArKysrKysNCj4gPiA+ICAgNCBmaWxlcyBjaGFuZ2VkLCAyMyBpbnNl
cnRpb25zKCspDQo+ID4gPg0KPiA+ID4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9udW1hLmMg
Yi94ZW4vYXJjaC9hcm0vbnVtYS5jDQo+ID4gPiBpbmRleCA2ZWViZjhlOGJjLi4yYTE4Yzk3NDcw
IDEwMDY0NA0KPiA+ID4gLS0tIGEveGVuL2FyY2gvYXJtL251bWEuYw0KPiA+ID4gKysrIGIveGVu
L2FyY2gvYXJtL251bWEuYw0KPiA+ID4gQEAgLTE0MCwzICsxNDAsMTYgQEAgaW50IF9faW5pdCBh
cmNoX21lbWluZm9fZ2V0X3JhbV9iYW5rX3JhbmdlKGludA0KPiBiYW5rLA0KPiA+ID4NCj4gPiA+
ICAgCXJldHVybiAwOw0KPiA+ID4gICB9DQo+ID4gPiArDQo+ID4gPiArdm9pZCBfX2luaXQgYXJj
aF9udW1hX2luaXRfZmFpbGVkX2ZhbGxiYWNrKHZvaWQpDQo+ID4gPiArew0KPiA+ID4gKyAgICBp
bnQgaSwgajsNCj4gPiA+ICsNCj4gPiA+ICsgICAgLyogUmVzZXQgYWxsIG5vZGUgZGlzdGFuY2Ug
dG8gcmVtb3RlX2Rpc3RhbmNlICovDQo+ID4gPiArICAgIGZvciAoIGkgPSAwOyBpIDwgTUFYX05V
TU5PREVTOyBpKysgKSB7DQo+ID4gPiArICAgICAgICBmb3IgKCBqID0gMDsgaiA8IE1BWF9OVU1O
T0RFUzsgaisrICkgew0KPiA+ID4gKyAgICAgICAgICAgIG51bWFfc2V0X2Rpc3RhbmNlKGksIGos
DQo+ID4gPiArICAgICAgICAgICAgICAgIChpID09IGopID8gTlVNQV9MT0NBTF9ESVNUQU5DRSA6
DQo+IE5VTUFfUkVNT1RFX0RJU1RBTkNFKTsNCj4gPiA+ICsgICAgICAgIH0NCj4gPiA+ICsgICAg
fQ0KPiA+ID4gK30NCj4gPg0KPiA+IC4uLiB0aGlzIGltcGxlbWVudGF0aW9uIGxvb2tzIGZhaXJs
eSBnZW5lcmljLiBTbyBjYW4geW91IGV4cGxhaW4gd2h5IHdlDQo+ID4gbmVlZCBpdCBvbiBBcm0g
YnV0IG5vdCB4ODY/DQo+ID4NCj4gDQo+IFRoaXMgaW1wbGVtZW50YXRpb24gaXMgRFQgb25seSwg
Zm9yIHg4NiwgaXQncyB1c2luZyBhY3BpX3NsaXQuDQo+IEZvciBub3csIEkgYW0gbm90IHF1aXQg
c3VyZSBBQ1BJIG5lZWQgdG8gZG8gZmFsbGJhY2sgb3Igbm90Lg0KPiBPciBzYXkgaW4gYW5vdGhl
ciB3YXksIEkgZG9uJ3Qga25vdyBob3cgdG8gaW1wbGVtZW50IHRoZSBmYWxsYmFjaw0KPiBmb3Ig
QUNQSS4gSSBwbGFubmVkIHRvIHNvbHZlIGl0IGluIEFybSBBQ1BJIHZlcnNpb24gTlVNQSwgc28g
SSBsZWZ0DQo+IGFuIGVtcHR5IGhlbHBlciBmb3IgeDg2Lg0KPiANCj4gQEphbiBCZXVsaWNoIENv
dWxkIHlvdSBnaXZlIG1lIHNvbWUgc3VnZ2VzdGlvbiBhYm91dCB4ODYgZmFsbGJhY2s/DQo+IA0K
PiANCg0KSSBoYXZlIGEgcXVpY2sgbG9vayBpbnRvIExpbnV4LiBXaGVuIEFyY2ggZG8gbnVtYSBp
bml0IGZhaWxlZCwNCnRoZSBudW1hX2ZyZWVfZGlzdGFuY2Ugd2lsbCBiZSBpbnZva2VkIHRvIHJl
dmVydCBudW1hX2Rpc3RhbmNlLg0KDQoNCj4gPiA+IGRpZmYgLS1naXQgYS94ZW4vY29tbW9uL251
bWEuYyBiL3hlbi9jb21tb24vbnVtYS5jDQo+ID4gPiBpbmRleCBkMTVjMmZjMzExLi44OGYxNTk0
MTI3IDEwMDY0NA0KPiA+ID4gLS0tIGEveGVuL2NvbW1vbi9udW1hLmMNCj4gPiA+ICsrKyBiL3hl
bi9jb21tb24vbnVtYS5jDQo+ID4gPiBAQCAtNDA1LDQgKzQwNSw3IEBAIHZvaWQgX19pbml0IG51
bWFfaW5pdG1lbV9pbml0KHVuc2lnbmVkIGxvbmcNCj4gPiBzdGFydF9wZm4sIHVuc2lnbmVkIGxv
bmcgZW5kX3BmbikNCj4gPiA+ICAgICAgIGNwdW1hc2tfY29weSgmbm9kZV90b19jcHVtYXNrWzBd
LCBjcHVtYXNrX29mKDApKTsNCj4gPiA+ICAgICAgIHNldHVwX25vZGVfYm9vdG1lbSgwLCAodTY0
KXN0YXJ0X3BmbiA8PCBQQUdFX1NISUZULA0KPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICh1
NjQpZW5kX3BmbiA8PCBQQUdFX1NISUZUKTsNCj4gPiA+ICsNCj4gPiA+ICsgICAgLyogYXJjaGl0
ZWN0dXJlIHNwZWNpZmllZCBmYWxsYmFjayBvcGVyYXRpb25zICovDQo+ID4gPiArICAgIGFyY2hf
bnVtYV9pbml0X2ZhaWxlZF9mYWxsYmFjaygpOw0KPiA+ID4gICB9DQo+ID4gPiBkaWZmIC0tZ2l0
IGEveGVuL2luY2x1ZGUvYXNtLWFybS9udW1hLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL251bWEu
aA0KPiA+ID4gaW5kZXggZGQzMTMyNGIwYi4uYTM5ODJhOTRiNiAxMDA2NDQNCj4gPiA+IC0tLSBh
L3hlbi9pbmNsdWRlL2FzbS1hcm0vbnVtYS5oDQo+ID4gPiArKysgYi94ZW4vaW5jbHVkZS9hc20t
YXJtL251bWEuaA0KPiA+ID4gQEAgLTI4LDYgKzI4LDcgQEAgZXh0ZXJuIHM4IGRldmljZV90cmVl
X251bWE7DQo+ID4gPiAgIGV4dGVybiB2b2lkIG51bWFfaW5pdChib29sIGFjcGlfb2ZmKTsNCj4g
PiA+ICAgZXh0ZXJuIGludCBudW1hX2RldmljZV90cmVlX2luaXQoY29uc3Qgdm9pZCAqZmR0KTsN
Cj4gPiA+ICAgZXh0ZXJuIHZvaWQgbnVtYV9zZXRfZGlzdGFuY2Uobm9kZWlkX3QgZnJvbSwgbm9k
ZWlkX3QgdG8sIHVpbnQzMl90DQo+ID4gZGlzdGFuY2UpOw0KPiA+ID4gK2V4dGVybiB2b2lkIGFy
Y2hfbnVtYV9pbml0X2ZhaWxlZF9mYWxsYmFjayh2b2lkKTsNCj4gPiA+DQo+ID4gPiAgIC8qDQo+
ID4gPiAgICAqIFRlbXBvcmFyeSBmb3IgZmFrZSBOVU1BIG5vZGUsIHdoZW4gQ1BVLCBtZW1vcnkg
YW5kIGRpc3RhbmNlDQo+ID4gPiBkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9udW1h
LmggYi94ZW4vaW5jbHVkZS9hc20teDg2L251bWEuaA0KPiA+ID4gaW5kZXggZTYzODY5MTM1Yy4u
MjYyODBiMGYzYSAxMDA2NDQNCj4gPiA+IC0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvbnVtYS5o
DQo+ID4gPiArKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L251bWEuaA0KPiA+ID4gQEAgLTIyLDQg
KzIyLDEwIEBAIGV4dGVybiB2b2lkIGluaXRfY3B1X3RvX25vZGUodm9pZCk7DQo+ID4gPiAgIHZv
aWQgc3JhdF9wYXJzZV9yZWdpb25zKHU2NCBhZGRyKTsNCj4gPiA+ICAgdW5zaWduZWQgaW50IGFy
Y2hfZ2V0X2RtYV9iaXRzaXplKHZvaWQpOw0KPiA+ID4NCj4gPiA+ICsvKiBEdW1teSBmdW5jdGlv
biBmb3IgbnVtYSBpbml0IGZhaWxlZCBpbiBudW1hX2luaXRtZW1faW5pdCAqLw0KPiA+ID4gK3N0
YXRpYyBpbmxpbmUgdm9pZCBhcmNoX251bWFfaW5pdF9mYWlsZWRfZmFsbGJhY2sodm9pZCkNCj4g
PiA+ICt7DQo+ID4gPiArICAgIHJldHVybjsNCj4gPg0KPiA+IE5JVDogVGhlIHJldHVybiBpcyBw
b2ludGxlc3MuDQo+ID4NCj4gDQo+IE9LDQo+IA0KPiA+ID4gK30NCj4gPiA+ICsNCj4gPiA+ICAg
I2VuZGlmDQo+ID4gPg0KPiA+DQo+ID4gQ2hlZXJzLA0KPiA+DQo+ID4gLS0NCj4gPiBKdWxpZW4g
R3JhbGwNCg==


From xen-devel-bounces@lists.xenproject.org Sat Aug 28 03:57:07 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 03:57:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174185.317779 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJpSn-0006eW-Tr; Sat, 28 Aug 2021 03:57:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174185.317779; Sat, 28 Aug 2021 03: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 1mJpSn-0006eP-Qc; Sat, 28 Aug 2021 03:57:01 +0000
Received: by outflank-mailman (input) for mailman id 174185;
 Sat, 28 Aug 2021 03:57:00 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=sP14=NT=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mJpSm-0006eI-1d
 for xen-devel@lists.xenproject.org; Sat, 28 Aug 2021 03:57:00 +0000
Received: from EUR02-AM5-obe.outbound.protection.outlook.com (unknown
 [40.107.0.60]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id fd2a3d6a-07b3-11ec-ab31-12813bfff9fa;
 Sat, 28 Aug 2021 03:56:57 +0000 (UTC)
Received: from AM6P192CA0085.EURP192.PROD.OUTLOOK.COM (2603:10a6:209:8d::26)
 by AM0PR08MB3460.eurprd08.prod.outlook.com (2603:10a6:208:de::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.23; Sat, 28 Aug
 2021 03:56:55 +0000
Received: from AM5EUR03FT051.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:8d:cafe::8) by AM6P192CA0085.outlook.office365.com
 (2603:10a6:209:8d::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17 via Frontend
 Transport; Sat, 28 Aug 2021 03:56:55 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT051.mail.protection.outlook.com (10.152.16.246) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Sat, 28 Aug 2021 03:56:55 +0000
Received: ("Tessian outbound 1a0c40aa17d8:v103");
 Sat, 28 Aug 2021 03:56:54 +0000
Received: from 5c62d85db21b.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 39D7B30A-3F5E-416F-88DB-0FDD5CEA0ABB.1; 
 Sat, 28 Aug 2021 03:56:43 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 5c62d85db21b.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Sat, 28 Aug 2021 03:56:43 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB9PR08MB6348.eurprd08.prod.outlook.com (2603:10a6:10:263::24) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.23; Sat, 28 Aug
 2021 03:56:42 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::b06a:b1ca:ba5f:f3b7%8]) with mapi id 15.20.4436.024; Sat, 28 Aug 2021
 03:56:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fd2a3d6a-07b3-11ec-ab31-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZZcFglF7B46BLPewFjtE5YuegrN7m+4w6ZBJWU+VNIc=;
 b=N57v5J3R47IiYVSojk2sYh+/bqBADT0RTaq6yvaHNiOmZKAQ7IwpCQPvIWG70AY0qOFBGMmU05BMP5k4Dte2rVScgSmpzRxYP9cI06f9Wk/VTblY8Z5doW1tANDIQoGyBozgQq6+HqVtJs7Jnf+l3CwRJF5J2jvhhK05PRCYoJE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=A+8k8U6JIhM4U/3iA+OVDi0uFAKhd/UjTyKcKonlcKgi2tSkRn73jzsrsAs73XwX/hiYBQFqoF3xaBSl1dwWBjhkhAXiQE4HgoZgRIY+ZJ9SG0mSmT4sNKWRg+hVQLWaCzXBdZUCHQAnDqKJlLsX9MMHP0SBvQrGC8k+8Bk7XIggVE0LyuFpCRzb6GYrbA/c0i84HIfyvR+6YgyeP1XeAypuTgq/ULa2H3TH7IMUVKH7inlmplopgya53fRaM+eei1kVUIuG104RawntSJxvgawOmQZ4CpQc5glbS2g/+MoVI0BgPO3fVmwEnw1FSxVs42wlvRwjoTXyO9rTHt8n+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-SenderADCheck;
 bh=ZZcFglF7B46BLPewFjtE5YuegrN7m+4w6ZBJWU+VNIc=;
 b=VW4fvYTuNpcSVh2+gPKY7nuy13w/xlmsOEfKuq6HE/BtC/TJUN+kzaRqAO1rI1nRK/6noPXGQALkMwnmA3nwQQt8SJ38Bx+WtxEpKO8u1vOkLnvt5WahUrHYByEWYy6lB/ml8MQwfagoFCW5G7d9H44NsfO2yAxkLrEGzfVml8WtupSNl0kfEyAc/g3lIEmnxAAIwqNJSmF+cmRvZJVOEwAeC6H+uHGpSmYsHb/LIBWjv4ZbYlM+YxDX2GBeW761v7uUlR3J1pDnPztRckyKbPicJ9s3hXaUNSmLWesP1L/ScDwr6KpzxLs+r5bo1A3tdHqjHIdl8EM9FRrnT7RUrw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZZcFglF7B46BLPewFjtE5YuegrN7m+4w6ZBJWU+VNIc=;
 b=N57v5J3R47IiYVSojk2sYh+/bqBADT0RTaq6yvaHNiOmZKAQ7IwpCQPvIWG70AY0qOFBGMmU05BMP5k4Dte2rVScgSmpzRxYP9cI06f9Wk/VTblY8Z5doW1tANDIQoGyBozgQq6+HqVtJs7Jnf+l3CwRJF5J2jvhhK05PRCYoJE=
From: Wei Chen <Wei.Chen@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"julien@xen.org" <julien@xen.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Jan Beulich <jbeulich@suse.com>
Subject: RE: [XEN RFC PATCH 23/40] xen/arm: introduce a helper to parse device
 tree memory node
Thread-Topic: [XEN RFC PATCH 23/40] xen/arm: introduce a helper to parse
 device tree memory node
Thread-Index: AQHXjps6uVXfLZKD7EKSvvhEptOzS6uINJ4AgAAs9PA=
Date: Sat, 28 Aug 2021 03:56:42 +0000
Message-ID:
 <DB9PR08MB6857618112DC045293A449699EC99@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-24-wei.chen@arm.com>
 <alpine.DEB.2.21.2108271757250.17851@sstabellini-ThinkPad-T480s>
In-Reply-To: <alpine.DEB.2.21.2108271757250.17851@sstabellini-ThinkPad-T480s>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 26CD57FC708995488B3B8FC205FFD895.0
x-checkrecipientchecked: true
Authentication-Results-Original: kernel.org; dkim=none (message not signed)
 header.d=none;kernel.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 76197760-0947-4982-b867-08d969d7e06d
x-ms-traffictypediagnostic: DB9PR08MB6348:|AM0PR08MB3460:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM0PR08MB3460E24B0C6531645B2A638C9EC99@AM0PR08MB3460.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 76MPRxLzs6EZ2kGUBrP+X0OLHkGPQwEcFYOPZd3MwNkLv3nzwzEL4ewgmdw3/qkEdIhUccDH8+hJmLq2J6lMFtYHgX9mXpKQeIyaMUyM+M1YQF18KD1nIW7oB2MqHQr3zJwyKM4qde421XX2nbvKb+CdYqgoYU5sBcJau0QqhJRc/K0jMWsnXAAe9WrLnlGJgvgckQgGfNKkwQi5RwnrdpONkqxJzstU5jUBLQ4Wpc0r96LBLMpXSnK50Qo7JU4AV4u+mNh7yvA0QKN+WUrD2G4a5tM8iHyJxKX59RPlU0op3Eq310+36zK9N183qIsbLBhO3t5AUSc2OYBD7w+3SEpnMyaFZE2MNIf6kVOVoY69npVySsgYOVPI6WOinTK6CcMiuw8Ozd/s9JzeEMaKxxKFx/cNC7buYBK2DRByCEUpoQehUhpIlLsnDU5dINkSTAeurX4xsPNdvA8du89ByksXtVc9YiDY47q5hfXPEPTEr01193u0364r/fjKHMPF5W1ggSKVa778sxWSStxAP7zNJcV9wwnkplqxkT2hqwzXJbhYWz4Tz+oHU0LIQ6kMNf3hEEUBvJNJoxp6TWrHCu1We9fi8pqJUniMOiun9VSjYwyRlcVFkdG/pdsRG4CiWI7uAfUpXBgKy7obGCjpydRgPdY/qThy9C/rZTW1iqZutkYggm037GEnqW4k514PrRBN5BFWtytuE1fETLY4KA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(136003)(346002)(376002)(396003)(366004)(39850400004)(186003)(54906003)(55016002)(86362001)(316002)(66946007)(8676002)(64756008)(83380400001)(9686003)(478600001)(2906002)(38100700002)(122000001)(26005)(66446008)(4326008)(38070700005)(8936002)(6916009)(52536014)(6506007)(71200400001)(53546011)(7696005)(66476007)(66556008)(76116006)(5660300002)(33656002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?gb2312?B?SENUQmwvKzUrQUc0YnkzQVZiWEd1MDlDKzBEcmJRY3ZVL1ovNUNyNExGVW0v?=
 =?gb2312?B?MjAyVkcwbkNBV3BKbURZRnZoLzdsTStFRWhRNVRRb0hQZXZybEVja0FMMG9R?=
 =?gb2312?B?ZGxtTzlsNkFHNlZaYm1INmF4WWNoMXRhSnh1WW5aN2o5S2lHY093NUpUSEN0?=
 =?gb2312?B?YVkwZjA0QTBRNG1CQ0xpZG1Palc1TFNoQ1Y5MlNnSHFmVUpNZFhGMlBGcmgw?=
 =?gb2312?B?R1VNNjBHaWJXVnJZNG5jQWZFRDN5dlYza3dOM0FUMDZNN2dnU3A5Y2FlckZ3?=
 =?gb2312?B?c3d0WDNyNTNpdW04aXFERUFpeHpBY25WSmtxZmY4TDlYL0IvZXhjeGVic2p5?=
 =?gb2312?B?NnUzQ3h4Qk5nWUwrSERjNkMwVDRMZlV1eksrZnVEOCtQam1abVQ4OXhVZEsy?=
 =?gb2312?B?OXhGZUp3eisxUnpRYzg3T1huZkxIdUx0MTJkN3E1V0hjZ1VRVTUyT09xdEtX?=
 =?gb2312?B?TTNpUHJ2RFNxZ0NvbTYyWTZRWE5RZXViNGRZdDZGelROV3lqT3d1dVpJZGhW?=
 =?gb2312?B?ejdiZFZDQ0ZIS3FTL0J6Z3N1M0N3UkRtY0dXUXdDalcvclZKNEEvZXZwdE9E?=
 =?gb2312?B?VDFZbmtOR20wS1NQQ2Q2cjNtZG14RTN3MlNzMjZzNlVyMjhqeWxhNWdzMFRQ?=
 =?gb2312?B?UEJkMS9WM2k4ajRhQ3FKcnZKU01wRVVqcGhXbFlLYXhOUys1am83eUN6aldG?=
 =?gb2312?B?M0pTYkFrYytFQUV1Mi9lMlQxNUpiNXg3Z3pjUm1RTXJqOGN3dkFESnI4OWlF?=
 =?gb2312?B?UTVGUlFJa2x2L0hMdk9mdEhpT3krVnJmUTE3WWgzS240T254QVg0c3JBaHBD?=
 =?gb2312?B?Uy9YUFFIMXVkUkJuVHlxcjN1RmlYT0hyK1NvL0FENHlsYXVzTkozdUlyR2JR?=
 =?gb2312?B?N0wrZ1NmZGpVcmhVZDlSUVQ2MnlNakJLMUxTMlY2M1QzUS92bmJkc09xVDhx?=
 =?gb2312?B?OS8zaEtIOEgzOXRQc1lqM0tGUlFWa0l2S0tGZDcrUVNNaDhCMHNIbDk0dlgw?=
 =?gb2312?B?SGxZb1ptWk42YXI0TDRQZGNvekpvaU1sa1p2eUxFcDNUbmZwU0lsTmRjb0dx?=
 =?gb2312?B?ZUhnQlBsZTlqeW1MNXRua2c0dzN4QVpmSEhVWi8vRkJsc3J1bHZmUHdrbmpZ?=
 =?gb2312?B?WU5jRUFOMHZoN0xBVmxqd2NvMGJoN0dFL2JzZFlrM2NkeXRIMGxqN2Y1OEtO?=
 =?gb2312?B?WjlyZXdKZzRCRTZaRWJtMEFEWGV5U0lRcEpDaG1ScjRlWVIvQzFTb05WbXk2?=
 =?gb2312?B?c2VUY1JqVUxoT05WVUsrdUE4SkdOa1Y5UnNWUHFVbWt3a0FQdStTMHBueEo2?=
 =?gb2312?B?RG1tN2k2Z3VGQ1lxemtER3MvSFBJS3FEVjBPOGJRYnhpMGFzWHlMcS95a0hP?=
 =?gb2312?B?ajRDc2RoazVUU2lId1hld0J1aUNmbVI3SUN0SXI3ZCt4Q2dMMk5HZDRSR0Zz?=
 =?gb2312?B?MnYrVVdJZ0lLYVB4WGhZU1RKVTlZWTBVSnBsdWZxSXo3N2ErbG9ac1c5dGY0?=
 =?gb2312?B?TXM1NnhPS3NlM3ZkaitOL3VNTk9nMlZ1aHlCaE52M2N2UTlLdDJpVVg3NlRY?=
 =?gb2312?B?bVFSMExqRVlINEZSMUMxWDNhTWFOSE9kUEk0VjQ4MVVtTjd1UFpQaFZDa3Rl?=
 =?gb2312?B?Wlo1VU5HUFkyTmk4bnNQcFd5c0VpemJPUktuWi9sOVZGTTZWYUFkYmNCY0o2?=
 =?gb2312?B?bmNudWUzSVpWQTJNTmw5YjlsdmtkT1ZRRTk1am5FQVhMbDN4ZkJLTERZeDJo?=
 =?gb2312?Q?V8cxYhLLiN50APO25ekUrPlHHe5RDo6BkRmt1P7?=
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6348
Original-Authentication-Results: kernel.org; dkim=none (message not signed)
 header.d=none;kernel.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT051.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	c7e62d10-0adf-4ddb-a67e-08d969d7d897
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	P1F9KDrXGwWia2FKWNS0xIqn2axsVGxZx7Cm4EVAYpRRVPcroub3UQlSMl2RCg1n9EyEYml6JChX9uYUcxUFPtUxVr3/VjWSbJvXGvjEAJsLmc0n7iuiHA8NXTgWsmQGUofcqmuf0FZByOpX+68RGEbDtrcEakW++8/SQWqA9u8nI55C6Qzrl2A7OejzMfgBfifsCyuyTY80H2HH4XFebGSmV9XTYE8lo/AhroIIyXTAr6bRy460bjxbam9h97Yp05i+SUfTD/lBuHIyawb/QTT6bf9jBcT8NtyQxhjVzTW5n0FXDNkz4J/YhQMQxFte/leG0lKduUPovmwYNg8UsM3DlkfVBEQpvHZ0enbH6t54u7N6sjYL0cGIUqyG/y2uieT18vsrvAyDMB/+nLeyKNo9AwkmgII/UDQQ+BTePeDCrKHsq9pG9fyuRWSUt91SZHYRexc8E8fQHYZzCg3/2cQ+3X7TGkPUtvZOhmaRApWlidxT47JVOHZWPipokN4BAfJhVh4gs47xYe4c0lqMjcBhnmQUQJBI9BXibRPTp1809Y8c2ARZs+aRQCkBygB8YEM51nqaNeUbf9dFiX0DzeZqV5gFxKrET7gpV6R4ogGo3nHqIOQGGp0KVe7MklfTrpFLnGZ48821JkynRQneLurbRhKRgXYgHSOANca9Z4qjMLaz10U2xECdufB1+wd8utuumUAtNuNLJ8wUC6GpDg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(46966006)(36840700001)(6862004)(336012)(7696005)(107886003)(186003)(9686003)(316002)(47076005)(5660300002)(8676002)(6506007)(55016002)(4326008)(2906002)(53546011)(54906003)(83380400001)(36860700001)(70586007)(8936002)(356005)(33656002)(82310400003)(70206006)(52536014)(86362001)(81166007)(26005)(508600001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2021 03:56:55.3088
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 76197760-0947-4982-b867-08d969d7e06d
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT051.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3460

SGkgU3RlZmFubywNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBTdGVm
YW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+DQo+IFNlbnQ6IDIwMjHE6jjU
wjI4yNUgOTowNg0KPiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiB4ZW4t
ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmc7IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc7IGp1bGll
bkB4ZW4ub3JnOw0KPiBqYmV1bGljaEBzdXNlLmNvbTsgQmVydHJhbmQgTWFycXVpcyA8QmVydHJh
bmQuTWFycXVpc0Bhcm0uY29tPg0KPiBTdWJqZWN0OiBSZTogW1hFTiBSRkMgUEFUQ0ggMjMvNDBd
IHhlbi9hcm06IGludHJvZHVjZSBhIGhlbHBlciB0byBwYXJzZQ0KPiBkZXZpY2UgdHJlZSBtZW1v
cnkgbm9kZQ0KPiANCj4gT24gV2VkLCAxMSBBdWcgMjAyMSwgV2VpIENoZW4gd3JvdGU6DQo+ID4g
TWVtb3J5IGJsb2NrcycgTlVNQSBJRCBpbmZvcm1hdGlvbiBpcyBzdG9yZWQgaW4gZGV2aWNlIHRy
ZWUncw0KPiA+IG1lbW9yeSBub2RlcyBhcyAibnVtYS1ub2RlLWlkIi4gV2UgbmVlZCBhIG5ldyBo
ZWxwZXIgdG8gcGFyc2UNCj4gPiBhbmQgdmVyaWZ5IHRoaXMgSUQgZnJvbSBtZW1vcnkgbm9kZXMu
DQo+ID4NCj4gPiBJbiBvcmRlciB0byBzdXBwb3J0IG1lbW9yeSBhZmZpbml0eSBpbiBsYXRlciB1
c2UsIHRoZSB2YWxpZA0KPiA+IG1lbW9yeSByYW5nZXMgYW5kIE5VTUEgSUQgd2lsbCBiZSBzYXZl
ZCB0byB0YWJsZXMuDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBXZWkgQ2hlbiA8d2VpLmNoZW5A
YXJtLmNvbT4NCj4gPiAtLS0NCj4gPiAgeGVuL2FyY2gvYXJtL251bWFfZGV2aWNlX3RyZWUuYyB8
IDEzMCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiA+ICAxIGZpbGUgY2hhbmdl
ZCwgMTMwIGluc2VydGlvbnMoKykNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0v
bnVtYV9kZXZpY2VfdHJlZS5jDQo+IGIveGVuL2FyY2gvYXJtL251bWFfZGV2aWNlX3RyZWUuYw0K
PiA+IGluZGV4IDM3Y2M1NmFjZjMuLmJiZTA4MWRjZDEgMTAwNjQ0DQo+ID4gLS0tIGEveGVuL2Fy
Y2gvYXJtL251bWFfZGV2aWNlX3RyZWUuYw0KPiA+ICsrKyBiL3hlbi9hcmNoL2FybS9udW1hX2Rl
dmljZV90cmVlLmMNCj4gPiBAQCAtMjAsMTEgKzIwLDEzIEBADQo+ID4gICNpbmNsdWRlIDx4ZW4v
aW5pdC5oPg0KPiA+ICAjaW5jbHVkZSA8eGVuL25vZGVtYXNrLmg+DQo+ID4gICNpbmNsdWRlIDx4
ZW4vbnVtYS5oPg0KPiA+ICsjaW5jbHVkZSA8eGVuL2xpYmZkdC9saWJmZHQuaD4NCj4gPiAgI2lu
Y2x1ZGUgPHhlbi9kZXZpY2VfdHJlZS5oPg0KPiA+ICAjaW5jbHVkZSA8YXNtL3NldHVwLmg+DQo+
ID4NCj4gPiAgczggZGV2aWNlX3RyZWVfbnVtYSA9IDA7DQo+ID4gIHN0YXRpYyBub2RlbWFza190
IHByb2Nlc3Nvcl9ub2Rlc19wYXJzZWQgX19pbml0ZGF0YTsNCj4gPiArc3RhdGljIG5vZGVtYXNr
X3QgbWVtb3J5X25vZGVzX3BhcnNlZCBfX2luaXRkYXRhOw0KPiA+DQo+ID4gIHN0YXRpYyBpbnQg
c3JhdF9kaXNhYmxlZCh2b2lkKQ0KPiA+ICB7DQo+ID4gQEAgLTU1LDYgKzU3LDc5IEBAIHN0YXRp
YyBpbnQgX19pbml0DQo+IGR0Yl9udW1hX3Byb2Nlc3Nvcl9hZmZpbml0eV9pbml0KG5vZGVpZF90
IG5vZGUpDQo+ID4gICAgICByZXR1cm4gMDsNCj4gPiAgfQ0KPiA+DQo+ID4gKy8qIENhbGxiYWNr
IGZvciBwYXJzaW5nIG9mIHRoZSBtZW1vcnkgcmVnaW9ucyBhZmZpbml0eSAqLw0KPiA+ICtzdGF0
aWMgaW50IF9faW5pdCBkdGJfbnVtYV9tZW1vcnlfYWZmaW5pdHlfaW5pdChub2RlaWRfdCBub2Rl
LA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRyX3Qgc3RhcnQsIHBh
ZGRyX3Qgc2l6ZSkNCj4gPiArew0KPiA+ICsgICAgc3RydWN0IG5vZGUgKm5kOw0KPiA+ICsgICAg
cGFkZHJfdCBlbmQ7DQo+ID4gKyAgICBpbnQgaTsNCj4gPiArDQo+ID4gKyAgICBpZiAoIHNyYXRf
ZGlzYWJsZWQoKSApDQo+ID4gKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+ID4gKw0KPiA+ICsg
ICAgZW5kID0gc3RhcnQgKyBzaXplOw0KPiA+ICsgICAgaWYgKCBudW1fbm9kZV9tZW1ibGtzID49
IE5SX05PREVfTUVNQkxLUyApDQo+ID4gKyAgICB7DQo+ID4gKyAgICAgICAgZHByaW50ayhYRU5M
T0dfV0FSTklORywNCj4gPiArICAgICAgICAgICAgICAgICJUb28gbWFueSBudW1hIGVudHJ5LCB0
cnkgYmlnZ2VyIE5SX05PREVfTUVNQkxLUyBcbiIpOw0KPiA+ICsgICAgICAgIGJhZF9zcmF0KCk7
DQo+ID4gKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+ID4gKyAgICB9DQo+ID4gKw0KPiA+ICsg
ICAgLyogSXQgaXMgZmluZSB0byBhZGQgdGhpcyBhcmVhIHRvIHRoZSBub2RlcyBkYXRhIGl0IHdp
bGwgYmUgdXNlZA0KPiBsYXRlciAqLw0KPiA+ICsgICAgaSA9IGNvbmZsaWN0aW5nX21lbWJsa3Mo
c3RhcnQsIGVuZCk7DQo+ID4gKyAgICAvKiBObyBjb25mbGljdGluZyBtZW1vcnkgYmxvY2ssIHdl
IGNhbiBzYXZlIGl0IGZvciBsYXRlciB1c2FnZSAqLzsNCj4gPiArICAgIGlmICggaSA8IDAgKQ0K
PiA+ICsgICAgICAgIGdvdG8gc2F2ZV9tZW1ibGs7DQo+ID4gKw0KPiA+ICsgICAgaWYgKCBtZW1i
bGtfbm9kZWlkW2ldID09IG5vZGUgKSB7DQo+ID4gKyAgICAgICAgLyoNCj4gPiArICAgICAgICAg
KiBPdmVybGFwcyB3aXRoIG90aGVyIG1lbWJsayBpbiB0aGUgc2FtZSBub2RlLCB3YXJuaW5nIGhl
cmUuDQo+ID4gKyAgICAgICAgICogVGhpcyBtZW1ibGsgd2lsbCBiZSBtZXJnZWQgd2l0aCBjb25m
bGljdGVkIG1lbWJsayBsYXRlci4NCj4gPiArICAgICAgICAgKi8NCj4gPiArICAgICAgICBwcmlu
dGsoWEVOTE9HX1dBUk5JTkcNCj4gPiArICAgICAgICAgICAgICAgIkRUOiBOVU1BIE5PREUgJXUg
KCUiUFJJeDY0DQo+ID4gKyAgICAgICAgICAgICAgICItJSJQUkl4NjQiKSBvdmVybGFwcyB3aXRo
IGl0c2VsZiAoJSJQUkl4NjQiLQ0KPiAlIlBSSXg2NCIpXG4iLA0KPiA+ICsgICAgICAgICAgICAg
ICBub2RlLCBzdGFydCwgZW5kLA0KPiA+ICsgICAgICAgICAgICAgICBub2RlX21lbWJsa19yYW5n
ZVtpXS5zdGFydCwgbm9kZV9tZW1ibGtfcmFuZ2VbaV0uZW5kKTsNCj4gPiArICAgIH0gZWxzZSB7
DQo+ID4gKyAgICAgICAgLyoNCj4gPiArICAgICAgICAgKiBDb25mbGljdCB3aXRoIG1lbWJsayBp
biBvdGhlciBub2RlLCB0aGlzIGlzIGFuIGVycm9yLg0KPiA+ICsgICAgICAgICAqIFRoZSBOVU1B
IGluZm9ybWF0aW9uIGlzIGludmFsaWQsIE5VTUEgd2lsbCBiZSB0dXJuIG9mZi4NCj4gPiArICAg
ICAgICAgKi8NCj4gPiArICAgICAgICBwcmludGsoWEVOTE9HX0VSUg0KPiA+ICsgICAgICAgICAg
ICAgICAiRFQ6IE5VTUEgTk9ERSAldSAoJSJQUkl4NjQiLSUiDQo+ID4gKyAgICAgICAgICAgICAg
IFBSSXg2NCIpIG92ZXJsYXBzIHdpdGggTk9ERSAldSAoJSJQUkl4NjQiLSUiUFJJeDY0IilcbiIs
DQo+ID4gKyAgICAgICAgICAgICAgIG5vZGUsIHN0YXJ0LCBlbmQsIG1lbWJsa19ub2RlaWRbaV0s
DQo+ID4gKyAgICAgICAgICAgICAgIG5vZGVfbWVtYmxrX3JhbmdlW2ldLnN0YXJ0LCBub2RlX21l
bWJsa19yYW5nZVtpXS5lbmQpOw0KPiA+ICsgICAgICAgIGJhZF9zcmF0KCk7DQo+ID4gKyAgICAg
ICAgcmV0dXJuIC1FSU5WQUw7DQo+ID4gKyAgICB9DQo+ID4gKw0KPiA+ICtzYXZlX21lbWJsazoN
Cj4gPiArICAgIG5kID0gJm5vZGVzW25vZGVdOw0KPiA+ICsgICAgaWYgKCAhbm9kZV90ZXN0X2Fu
ZF9zZXQobm9kZSwgbWVtb3J5X25vZGVzX3BhcnNlZCkgKSB7DQo+ID4gKyAgICAgICAgbmQtPnN0
YXJ0ID0gc3RhcnQ7DQo+ID4gKyAgICAgICAgbmQtPmVuZCA9IGVuZDsNCj4gPiArICAgIH0gZWxz
ZSB7DQo+ID4gKyAgICAgICAgaWYgKCBzdGFydCA8IG5kLT5zdGFydCApDQo+ID4gKyAgICAgICAg
ICAgIG5kLT5zdGFydCA9IHN0YXJ0Ow0KPiA+ICsgICAgICAgIGlmICggbmQtPmVuZCA8IGVuZCAp
DQo+ID4gKyAgICAgICAgICAgIG5kLT5lbmQgPSBlbmQ7DQo+ID4gKyAgICB9DQo+ID4gKw0KPiA+
ICsgICAgcHJpbnRrKFhFTkxPR19JTkZPICJEVDogTlVNQSBub2RlICV1ICUiUFJJeDY0Ii0lIlBS
SXg2NCJcbiIsDQo+ID4gKyAgICAgICAgICAgbm9kZSwgc3RhcnQsIGVuZCk7DQo+ID4gKw0KPiA+
ICsgICAgbm9kZV9tZW1ibGtfcmFuZ2VbbnVtX25vZGVfbWVtYmxrc10uc3RhcnQgPSBzdGFydDsN
Cj4gPiArICAgIG5vZGVfbWVtYmxrX3JhbmdlW251bV9ub2RlX21lbWJsa3NdLmVuZCA9IGVuZDsN
Cj4gPiArICAgIG1lbWJsa19ub2RlaWRbbnVtX25vZGVfbWVtYmxrc10gPSBub2RlOw0KPiA+ICsg
ICAgbnVtX25vZGVfbWVtYmxrcysrOw0KPiANCj4gDQo+IElzIGl0IHBvc3NpYmxlIHRvIGhhdmUg
bm9uLWNvbnRpZ291cyByYW5nZXMgb2YgbWVtb3J5IGZvciBhIHNpbmdsZSBOVU1BDQo+IG5vZGU/
DQo+IA0KPiBMb29raW5nIGF0IHRoZSBEVCBiaW5kaW5ncyBhbmQgTGludXggaW1wbGVtZW50YXRp
b24sIGl0IHNlZW1zIHBvc3NpYmxlLg0KPiBIZXJlLCBpdCBzZWVtcyB0aGF0IG5vZGVfbWVtYmxr
X3JhbmdlL21lbWJsa19ub2RlaWQgY291bGQgaGFuZGxlIGl0LA0KPiBidXQgbm9kZXMgY291bGRu
J3QuDQoNClllcywgeW91J3JlIHJpZ2h0LiBJIGNvcGllZCB0aGlzIGNvZGUgZm9yIHg4NiBBQ1BJ
IE5VTUEuIERvZXMgQUNQSSBhbGxvdw0Kbm9uLWNvbnRpZ3VvdXMgcmFuZ2VzIG9mIG1lbW9yeSBm
b3IgYSBzaW5nbGUgTlVNQSBub2RlIHRvbz8gSWYgeWVzLCBJIHRoaW5rDQp0aGlzIHdpbGwgYWZm
ZWN0IHg4NiBBQ1BJIE5VTUEgdG9vLiBJbiBuZXh0IHZlcnNpb24sIHdlIHBsYW4gdG8gbWVyZ2UN
CmR0Yl9udW1hX21lbW9yeV9hZmZpbml0eV9pbml0IGFuZCBhY3BpX251bWFfbWVtb3J5X2FmZmlu
aXR5X2luaXQgaW50byBhDQpuZXV0cmFsIGZ1bmN0aW9uLiBTbyB3ZSBjYW4gZml4IHRoZW0gYXQg
dGhlIHNhbWUgdGltZS4NCg0KSWYgbm90LCBtYXliZSB3ZSBoYXZlIHRvIGtlZXAgdGhlIGRpdmVy
c2l0eSBmb3IgZHRiIGFuZCBBQ1BJIGhlcmUuDQpBbnl3YXksIFRoYW5rcyBmb3IgcG9pbnRpbmcg
dGhpcywgSSB3aWxsIGxvb2sgaW50byB0aGUgbGF0ZXN0IExpbnV4DQppbXBsZW1lbnRhdGlvbi4N
Cg0KQ2hlZXJzLA0KV2VpIENoZW4NCg0KDQo=


From xen-devel-bounces@lists.xenproject.org Sat Aug 28 04:35:05 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 04:35:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174017.317795 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJq3M-0003Zt-2v; Sat, 28 Aug 2021 04:34:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174017.317795; Sat, 28 Aug 2021 04:34:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJq3L-0003Zm-WF; Sat, 28 Aug 2021 04:34:48 +0000
Received: by outflank-mailman (input) for mailman id 174017;
 Fri, 27 Aug 2021 20:29:38 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/OcF=NS=kernel.org=kbusch@srs-us1.protection.inumbo.net>)
 id 1mJiTq-0007xt-3l
 for xen-devel@lists.xenproject.org; Fri, 27 Aug 2021 20:29:38 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 7f0002fa-0775-11ec-ab0e-12813bfff9fa;
 Fri, 27 Aug 2021 20:29:37 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id 977CB60FD8;
 Fri, 27 Aug 2021 20:29: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: 7f0002fa-0775-11ec-ab0e-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1630096176;
	bh=88bih5eGKB9i2ESLsafMWzYIwyGke7MVW8Rm8LZaCJM=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=VqgAkXLSFQ2s8YBhV0/BkRbyvjYS7iN8wS3+vPnrfYwjeVZbT3EcOkpsbz+6iOIIg
	 K59JPqJADG5mnk2BZMwXfm+2K/QX3GabYmGmJMq75CAhfxkg4e7sYb4W90iqXt4wjY
	 CCBcmFMkK/fitfaaSpE06RYuhbvQkR1xSjgZLyqV+ldHSk85VfL/sYK3yuWYBDlle0
	 4C9yBY22Kb164kHW1308QMn1cbMYjo7ekT+NZW9nIbbZyeN7dvOl3QZ8uGzlQBiwYO
	 xvNRlNxn6B/Q+DSji3QgnHGBcKriUM+BPc6qVP1hIdIo6lvljcLrqIlc4i6mgmBrgk
	 KvuManA4RC1Fw==
Date: Fri, 27 Aug 2021 13:29:32 -0700
From: Keith Busch <kbusch@kernel.org>
To: Luis Chamberlain <mcgrof@kernel.org>
Cc: axboe@kernel.dk, colyli@suse.de, kent.overstreet@gmail.com,
	sagi@grimberg.me, vishal.l.verma@intel.com,
	dan.j.williams@intel.com, dave.jiang@intel.com, ira.weiny@intel.com,
	konrad.wilk@oracle.com, roger.pau@citrix.com,
	boris.ostrovsky@oracle.com, jgross@suse.com, sstabellini@kernel.org,
	minchan@kernel.org, ngupta@vflare.org, senozhatsky@chromium.org,
	xen-devel@lists.xenproject.org, nvdimm@lists.linux.dev,
	linux-nvme@lists.infradead.org, linux-bcache@vger.kernel.org,
	linux-block@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 03/10] nvme-multipath: add error handling support for
 add_disk()
Message-ID: <20210827202932.GA82376@dhcp-10-100-145-180.wdc.com>
References: <20210827191809.3118103-1-mcgrof@kernel.org>
 <20210827191809.3118103-4-mcgrof@kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20210827191809.3118103-4-mcgrof@kernel.org>

On Fri, Aug 27, 2021 at 12:18:02PM -0700, Luis Chamberlain wrote:
> @@ -479,13 +479,17 @@ int nvme_mpath_alloc_disk(struct nvme_ctrl *ctrl, struct nvme_ns_head *head)
>  static void nvme_mpath_set_live(struct nvme_ns *ns)
>  {
>  	struct nvme_ns_head *head = ns->head;
> +	int rc;
>  
>  	if (!head->disk)
>  		return;
>  
> -	if (!test_and_set_bit(NVME_NSHEAD_DISK_LIVE, &head->flags)) {
> -		device_add_disk(&head->subsys->dev, head->disk,
> -				nvme_ns_id_attr_groups);
> +	if (!test_bit(NVME_NSHEAD_DISK_LIVE, &head->flags)) {

This should still be test_and_set_bit() because it is protecting against
two nvme paths simultaneously calling device_add_disk() on the same
namespace head.

> +		rc = device_add_disk(&head->subsys->dev, head->disk,
> +				     nvme_ns_id_attr_groups);
> +		if (rc)
> +			return;
> +		set_bit(NVME_NSHEAD_DISK_LIVE, &head->flags);
>  		nvme_add_ns_head_cdev(head);
>  	}


From xen-devel-bounces@lists.xenproject.org Sat Aug 28 06:20:09 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 06:20:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174205.317813 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJrgw-0007Gt-Un; Sat, 28 Aug 2021 06:19:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174205.317813; Sat, 28 Aug 2021 06:19: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 1mJrgw-0007Gm-Qm; Sat, 28 Aug 2021 06:19:46 +0000
Received: by outflank-mailman (input) for mailman id 174205;
 Sat, 28 Aug 2021 06:19: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 1mJrgv-0007Gc-81; Sat, 28 Aug 2021 06:19: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 1mJrgu-0006r4-U9; Sat, 28 Aug 2021 06:19: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 1mJrgu-0006oW-HA; Sat, 28 Aug 2021 06:19:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mJrgu-0003vY-Gc; Sat, 28 Aug 2021 06:19: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=FiL0o9GVEAq5qi6bT75VyTZ5J89L6B6VU4GGx1uJc2A=; b=VEU6YEMAZ3CMVR7YrJ0IGtJ5ga
	A4Ne5oHjiobwdVsiCsexuNsAKUAxNpXaRU6KGB8K7MDB8dBoNX1UuboXPBj72eP07qKH/607GPgPO
	XZ1YDj9izCirXybJbC1zZi9m5PftKA/Lq9n+ZVO8lwm5LdseCEtCKP3fKjkSpTRS262Y=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164501-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 164501: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check: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-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-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-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-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-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl: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:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-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-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=fd80923202c6bfd723742fc32426a7aa3632abaa
X-Osstest-Versions-That:
    linux=c15b830f7c1cafd34035a46485716933f66ab753
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 28 Aug 2021 06:19:44 +0000

flight 164501 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164501/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164312
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 164312
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 164312
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164312
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164312
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164312
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 164312
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164312
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 164312
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164312
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164312
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-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-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                fd80923202c6bfd723742fc32426a7aa3632abaa
baseline version:
 linux                c15b830f7c1cafd34035a46485716933f66ab753

Last test of basis   164312  2021-08-21 17:24:53 Z    6 days
Testing same since   164501  2021-08-26 13:42:10 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adrian Larumbe <adrian.martinezlarumbe@imgtec.com>
  Alan Stern <stern@rowland.harvard.edu>
  Alex Deucher <alexander.deucher@amd.com>
  Andreas Persson <andreasp56@outlook.com>
  Andrew Morton <akpm@linux-foundation.org>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
  Arnd Bergmann <arnd@arndb.de>
  Aurabindo Pillai <aurabindo.pillai@amd.com>
  Bing Guo <bing.guo@amd.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Borislav Petkov <bp@suse.de>
  Chris Down <chris@chrisdown.name>
  Christoph Hellwig <hch@lst.de>
  Dan Carpenter <dan.carpenter@oracle.com>
  Daniel Borkmann <daniel@iogearbox.net>
  Dave Gerlach <d-gerlach@ti.com>
  Dave Switzer <david.switzer@intel.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Dinghao Liu <dinghao.liu@zju.edu.cn>
  Dongliang Mu <mudongliangabcd@gmail.com>
  Evgeny Novikov <novikov@ispras.ru>
  Florian Westphal <fw@strlen.de>
  Frank Wunderlich <frank-w@public-files.de>
  George Kennedy <george.kennedy@oracle.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Gurucharan G <Gurucharanx.g@intel.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Harshvardhan Jha <harshvardhan.jha@oracle.com>
  Hulk Robot <hulkrobot@huawei.com>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Ivan <ivan@prestigetransportation.com>
  Ivan T. Ivanov <iivanov@suse.de>
  Jakub Kicinski <kuba@kernel.org>
  Jaroslav Kysela <perex@perex.cz>
  Jason Wang <jasowang@redhat.com>
  Jeff Layton <jlayton@kernel.org>
  Joerg Roedel <jroedel@suse.de>
  Johannes Weiner <hannes@cmpxchg.org>
  Jouni Malinen <jouni@codeaurora.org>
  kaixi.fan <fankaixi.li@bytedance.com>
  Kalle Valo <kvalo@codeaurora.org>
  Kevin Hilman <khilman@baylibre.com>
  Lahav Schlesinger <lschlesinger@drivenets.com>
  lijinlin <lijinlin3@huawei.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Marc Zyngier <maz@kernel.org>
  Marcel Holtmann <marcel@holtmann.org>
  Marcin Bachry <hegel666@gmail.com>
  Marek Behún <kabel@kernel.org>
  Mark Brown <broonie@kernel.org>
  Martin K. Petersen <martin.petersen@oracle.com>
  Mateusz Palczewski <mateusz.palczewski@intel.com>
  Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Michael Chan <michael.chan@broadcom.com>
  Michael S. Tsirkin <mst@redhat.com>
  Michal Hocko <mhocko@suse.com>
  Miklos Szeredi <mszeredi@redhat.com>
  Miquel Raynal <miquel.raynal@bootlin.com>
  Murphy Zhou <jencce.kernel@gmail.com>
  NeilBrown <neilb@suse.de>
  Ole Bjørn Midtbø <omidtbo@cisco.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Parav Pandit <parav@nvidia.com>
  Pavel Skripkin <paskripkin@gmail.com>
  Peter Ujfalusi <peter.ujfalusi@gmail.com>
  Przemyslaw Patynowski <przemyslawx.patynowski@intel.com>
  Randy Dunlap <rdunlap@infradead.org>
  Ritesh Harjani <riteshh@linux.ibm.com>
  Roman Gushchin <guro@fb.com>
  Saravana Kannan <saravanak@google.com>
  Sasha Levin <sashal@kernel.org>
  Sergey Marinkevich <sergey.marinkevich@eltex-co.ru>
  Shuah Khan <skhan@linuxfoundation.org>
  Sreekanth Reddy <sreekanth.reddy@broadcom.com>
  Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
  Steven Rostedt (VMware) <rostedt@goodmis.org>
  Sudeep Holla <sudeep.holla@arm.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Sumit Saxena <sumit.saxena@broadcom.com>
  Sylwester Dziedziuch <sylwesterx.dziedziuch@intel.com>
  Takashi Iwai <tiwai@suse.de>
  Theodore Ts'o <tytso@mit.edu>
  Thomas Gleixner <tglx@linutronix.de>
  Tony Lindgren <tony@atomide.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Vincent Whitchurch <vincent.whitchurch@axis.com>
  Vinod Koul <vkoul@kernel.org>
  Viresh Kumar <viresh.kumar@linaro.org>
  Wu Bo <wubo40@huawei.com>
  Xie Yongji <xieyongji@bytedance.com>
  xiexiaohui <xiexiaohui.xxh@bytedance.com>
  Xuan Zhuo <xuanzhuo@linux.alibaba.com>
  Yafang Shao <laoar.shao@gmail.com>
  Ye Bin <yebin10@huawei.com>
  Yu Kuai <yukuai3@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   c15b830f7c1c..fd80923202c6  fd80923202c6bfd723742fc32426a7aa3632abaa -> tested/linux-5.4


From xen-devel-bounces@lists.xenproject.org Sat Aug 28 09:07:41 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 09:07:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174229.317839 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJuJA-0001xo-1q; Sat, 28 Aug 2021 09:07:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174229.317839; Sat, 28 Aug 2021 09:07:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJuJ9-0001xh-UV; Sat, 28 Aug 2021 09:07:23 +0000
Received: by outflank-mailman (input) for mailman id 174229;
 Sat, 28 Aug 2021 09:07:22 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=KpeQ=NT=gmail.com=fontaine.fabrice@srs-us1.protection.inumbo.net>)
 id 1mJuJ8-0001xb-A1
 for xen-devel@lists.xenproject.org; Sat, 28 Aug 2021 09:07:22 +0000
Received: from mail-wr1-x432.google.com (unknown [2a00:1450:4864:20::432])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 5220c1e1-a641-4f73-b03b-cae2ba0f0b68;
 Sat, 28 Aug 2021 09:07:21 +0000 (UTC)
Received: by mail-wr1-x432.google.com with SMTP id h13so14174708wrp.1
 for <xen-devel@lists.xenproject.org>; Sat, 28 Aug 2021 02:07:21 -0700 (PDT)
Received: from kali.home (lfbn-ren-1-417-221.w2-10.abo.wanadoo.fr.
 [2.10.242.221])
 by smtp.gmail.com with ESMTPSA id d24sm7423190wmb.35.2021.08.28.02.07.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 28 Aug 2021 02:07: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: 5220c1e1-a641-4f73-b03b-cae2ba0f0b68
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=/sH/jrHuo71/+6NebGzrhW9dd80+cJ2aN1P8SqmFG4Y=;
        b=QyVf/mUUeIEJ61MJnbAU22hmTgN6Vmff9CkaV8FroxULw7Xg1qVvifzVMdxqvZ4EB7
         pguRnl+SfSHkCXij4spgHC2PU6+xsYyQEjYtSV134QtcG2G8ehhw4AkxC/FVybP0yoik
         pwiC9nFmOh/1Y3mcYEZByMHYaNrUdGBa14SQZxMBXz1vBhcwiNMCs+luPwJz3Hgp3Ws8
         57iVca9hGrAjhEnDBez3pD1tXD+eh3A1V5ZTs2FXbI1G/wPGDr3knSFCwZUBLxSAyhrm
         cBb3aktSERl5ondLjepVlJe6WDd8R3IsVO0AlybN1IwOO4OHyuEdg4eY06SUwamv7kEw
         OXxQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=/sH/jrHuo71/+6NebGzrhW9dd80+cJ2aN1P8SqmFG4Y=;
        b=J9NDX8XE+oy26rKFueDg/mwT7svrgOXre20I7O4fiDbW7uhtO0QJ7ZIQmyB9HFto/4
         xzxt0eb4owa3J8x0NDH/QjutVjVB1s9Lh7f9JxaC3VLpK6aI2Zwty7YPsMOXGR6Ph/l7
         fSL/Kn53p4cDKR0Hb59B6eiLXMkC+a1CJdDpp5YGFUri3brOc/c7L/ZxQl2imfjyC8vA
         zZ94CaGaNHf0vQSQcB/ZqWkpePVllOZMAV9FRSpve3ddTdUMpuDTQ5MB1FLc0UT/Vtta
         TDx85fPs/bD8aSj84HBwiy1DPtha9X4+ddhU2y7EjfJXqQ0pgpdzRRXluR1aeJjJTE0k
         M4Ug==
X-Gm-Message-State: AOAM532lINJMq/+YwcqIug4FXE6DX7BiA496jZNUrBp9VKPUpJPQb9AO
	Wd4l5YVL4YDajQrStltHDRGwHvf9opH6zw==
X-Google-Smtp-Source: ABdhPJw0bk3v8/0UNwFLiqjovSZMtun130MfJKTZnZrm5RUPPYaJiX3gpJ7z/ulq+jvnTM200Vo+3w==
X-Received: by 2002:a5d:4acc:: with SMTP id y12mr14745119wrs.278.1630141640131;
        Sat, 28 Aug 2021 02:07:20 -0700 (PDT)
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Fabrice Fontaine <fontaine.fabrice@gmail.com>,
	Ian Jackson <iwj@xenproject.org>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH] libs/light: fix tv_sec fprintf format
Date: Sat, 28 Aug 2021 11:07:09 +0200
Message-Id: <20210828090709.738512-1-fontaine.fabrice@gmail.com>
X-Mailer: git-send-email 2.32.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Don't assume tv_sec is a unsigned long, it is 64 bits on NetBSD 32 bits.
Use %jd and cast to (intmax_t) instead

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
 tools/libs/light/libxl_domain.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/libs/light/libxl_domain.c b/tools/libs/light/libxl_domain.c
index c00c36c928..51a6127552 100644
--- a/tools/libs/light/libxl_domain.c
+++ b/tools/libs/light/libxl_domain.c
@@ -1444,7 +1444,7 @@ static int libxl__mark_domid_recent(libxl__gc *gc, uint32_t domid)
         }
     }
 
-    r = fprintf(nf, "%lu %u\n", ctxt.ts.tv_sec, domid);
+    r = fprintf(nf, "%jd %u\n", (intmax_t)ctxt.ts.tv_sec, domid);
     if (r < 0) {
         LOGED(ERROR, domid, "failed to write to '%s'", new);
         goto out;
-- 
2.32.0



From xen-devel-bounces@lists.xenproject.org Sat Aug 28 09:21:39 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 09:21:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174237.317849 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJuWt-0004i3-Dq; Sat, 28 Aug 2021 09:21:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174237.317849; Sat, 28 Aug 2021 09: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 1mJuWt-0004hw-At; Sat, 28 Aug 2021 09:21:35 +0000
Received: by outflank-mailman (input) for mailman id 174237;
 Sat, 28 Aug 2021 09:21:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mJuWs-0004hm-Bl; Sat, 28 Aug 2021 09:21:34 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mJuWr-0002WW-Ts; Sat, 28 Aug 2021 09:21: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 1mJuWr-0007mW-DZ; Sat, 28 Aug 2021 09:21:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mJuWr-0005un-D4; Sat, 28 Aug 2021 09:21:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=De/tDRCyEeq7SyPvB72il2eQ5ReCQAwvPnMzD7nAyP4=; b=TInexv35urYXG/sMmP0UmhIvAr
	OExee8NM3o/NJBD8NZQ3MzjWoJFSvNjNLzECPdWE1JoBIRoSOmXP3LLp92BQXHKTOhW0HmAz9mh5k
	NnQFFnwamZVme9uMeZNmze5nshPg0r7wqIvFRTbGvRJG5NMoL+exT7oEBLQOe9kfy03o=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164503-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.11-testing test] 164503: regressions - FAIL
X-Osstest-Failures:
    xen-4.11-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    xen-4.11-testing:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    xen-4.11-testing:test-arm64-arm64-xl-seattle:xen-boot:fail:heisenbug
    xen-4.11-testing:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-4.11-testing:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:heisenbug
    xen-4.11-testing:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:nonblocking
    xen-4.11-testing:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:nonblocking
    xen-4.11-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.11-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.11-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.11-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.11-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=ec4654ce64d87f14567008cfb42568fd434f1bed
X-Osstest-Versions-That:
    xen=ef32c7afa2731b758226d6e10a1e489b1a15fc41
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 28 Aug 2021 09:21:33 +0000

flight 164503 xen-4.11-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164503/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 162548
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 162548

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl-seattle   8 xen-boot         fail in 164486 pass in 164503
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail in 164486 pass in 164503
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat  fail pass in 164486

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail like 162548
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail like 162548
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 162548
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 162548
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 162548
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 162548
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 162548
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 162548
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 162548
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 162548
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 162548
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 162548
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 162548
 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-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-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-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          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-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass

version targeted for testing:
 xen                  ec4654ce64d87f14567008cfb42568fd434f1bed
baseline version:
 xen                  ef32c7afa2731b758226d6e10a1e489b1a15fc41

Last test of basis   162548  2021-06-08 18:37:00 Z   80 days
Testing same since   164486  2021-08-25 14:05:55 Z    2 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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-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                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         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-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 450 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 28 10:33:57 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 10:33:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174263.317876 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJved-0004jn-QO; Sat, 28 Aug 2021 10:33:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174263.317876; Sat, 28 Aug 2021 10:33:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJved-0004jg-N6; Sat, 28 Aug 2021 10:33:39 +0000
Received: by outflank-mailman (input) for mailman id 174263;
 Sat, 28 Aug 2021 10:33:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mJvec-0004jZ-GM
 for xen-devel@lists.xenproject.org; Sat, 28 Aug 2021 10:33:38 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mJvec-0003k4-2r; Sat, 28 Aug 2021 10:33:38 +0000
Received: from gw1.octic.net ([81.187.162.82] helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mJveb-00026H-Tf; Sat, 28 Aug 2021 10:33:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=OvnXD787QaqF5LWmlc3wy1WC+FC9EsJYDxD8ixB5Vj8=; b=YxiDO9154MsgNMhftcMREk8YcN
	pEUmrQcTdOTW8NMsddvbQdQEriOT7SO2AB6ECrP0aGAeEDAxZCp/D+OdsKEWjemuBqkgUNQ9WaKW9
	A0eeAJ7MkXtPwAKRa7qTyMDqOQXUlAmU7r51V7xkyxyj6Oc6rmaT6cmYmBAgDRPP1QxQ=;
Subject: Re: [XEN RFC PATCH 23/40] xen/arm: introduce a helper to parse device
 tree memory node
To: Wei Chen <Wei.Chen@arm.com>, Stefano Stabellini <sstabellini@kernel.org>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>, Jan Beulich <jbeulich@suse.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-24-wei.chen@arm.com>
 <alpine.DEB.2.21.2108271757250.17851@sstabellini-ThinkPad-T480s>
 <DB9PR08MB6857618112DC045293A449699EC99@DB9PR08MB6857.eurprd08.prod.outlook.com>
From: Julien Grall <julien@xen.org>
Message-ID: <5c9a196a-8ac3-1173-f402-01d99ccc23e4@xen.org>
Date: Sat, 28 Aug 2021 11:33:35 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <DB9PR08MB6857618112DC045293A449699EC99@DB9PR08MB6857.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=gbk; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit

Hi Wei,

On 28/08/2021 04:56, Wei Chen wrote:
>> -----Original Message-----
>> From: Stefano Stabellini <sstabellini@kernel.org>
>> Sent: 2021828 9:06
>> To: Wei Chen <Wei.Chen@arm.com>
>> Cc: xen-devel@lists.xenproject.org; sstabellini@kernel.org; julien@xen.org;
>> jbeulich@suse.com; Bertrand Marquis <Bertrand.Marquis@arm.com>
>> Subject: Re: [XEN RFC PATCH 23/40] xen/arm: introduce a helper to parse
>> device tree memory node
>>
>> On Wed, 11 Aug 2021, Wei Chen wrote:
>>> Memory blocks' NUMA ID information is stored in device tree's
>>> memory nodes as "numa-node-id". We need a new helper to parse
>>> and verify this ID from memory nodes.
>>>
>>> In order to support memory affinity in later use, the valid
>>> memory ranges and NUMA ID will be saved to tables.
>>>
>>> Signed-off-by: Wei Chen <wei.chen@arm.com>
>>> ---
>>>   xen/arch/arm/numa_device_tree.c | 130 ++++++++++++++++++++++++++++++++
>>>   1 file changed, 130 insertions(+)
>>>
>>> diff --git a/xen/arch/arm/numa_device_tree.c
>> b/xen/arch/arm/numa_device_tree.c
>>> index 37cc56acf3..bbe081dcd1 100644
>>> --- a/xen/arch/arm/numa_device_tree.c
>>> +++ b/xen/arch/arm/numa_device_tree.c
>>> @@ -20,11 +20,13 @@
>>>   #include <xen/init.h>
>>>   #include <xen/nodemask.h>
>>>   #include <xen/numa.h>
>>> +#include <xen/libfdt/libfdt.h>
>>>   #include <xen/device_tree.h>
>>>   #include <asm/setup.h>
>>>
>>>   s8 device_tree_numa = 0;
>>>   static nodemask_t processor_nodes_parsed __initdata;
>>> +static nodemask_t memory_nodes_parsed __initdata;
>>>
>>>   static int srat_disabled(void)
>>>   {
>>> @@ -55,6 +57,79 @@ static int __init
>> dtb_numa_processor_affinity_init(nodeid_t node)
>>>       return 0;
>>>   }
>>>
>>> +/* Callback for parsing of the memory regions affinity */
>>> +static int __init dtb_numa_memory_affinity_init(nodeid_t node,
>>> +                                paddr_t start, paddr_t size)
>>> +{
>>> +    struct node *nd;
>>> +    paddr_t end;
>>> +    int i;
>>> +
>>> +    if ( srat_disabled() )
>>> +        return -EINVAL;
>>> +
>>> +    end = start + size;
>>> +    if ( num_node_memblks >= NR_NODE_MEMBLKS )
>>> +    {
>>> +        dprintk(XENLOG_WARNING,
>>> +                "Too many numa entry, try bigger NR_NODE_MEMBLKS \n");
>>> +        bad_srat();
>>> +        return -EINVAL;
>>> +    }
>>> +
>>> +    /* It is fine to add this area to the nodes data it will be used
>> later */
>>> +    i = conflicting_memblks(start, end);
>>> +    /* No conflicting memory block, we can save it for later usage */;
>>> +    if ( i < 0 )
>>> +        goto save_memblk;
>>> +
>>> +    if ( memblk_nodeid[i] == node ) {
>>> +        /*
>>> +         * Overlaps with other memblk in the same node, warning here.
>>> +         * This memblk will be merged with conflicted memblk later.
>>> +         */
>>> +        printk(XENLOG_WARNING
>>> +               "DT: NUMA NODE %u (%"PRIx64
>>> +               "-%"PRIx64") overlaps with itself (%"PRIx64"-
>> %"PRIx64")\n",
>>> +               node, start, end,
>>> +               node_memblk_range[i].start, node_memblk_range[i].end);
>>> +    } else {
>>> +        /*
>>> +         * Conflict with memblk in other node, this is an error.
>>> +         * The NUMA information is invalid, NUMA will be turn off.
>>> +         */
>>> +        printk(XENLOG_ERR
>>> +               "DT: NUMA NODE %u (%"PRIx64"-%"
>>> +               PRIx64") overlaps with NODE %u (%"PRIx64"-%"PRIx64")\n",
>>> +               node, start, end, memblk_nodeid[i],
>>> +               node_memblk_range[i].start, node_memblk_range[i].end);
>>> +        bad_srat();
>>> +        return -EINVAL;
>>> +    }
>>> +
>>> +save_memblk:
>>> +    nd = &nodes[node];
>>> +    if ( !node_test_and_set(node, memory_nodes_parsed) ) {
>>> +        nd->start = start;
>>> +        nd->end = end;
>>> +    } else {
>>> +        if ( start < nd->start )
>>> +            nd->start = start;
>>> +        if ( nd->end < end )
>>> +            nd->end = end;
>>> +    }
>>> +
>>> +    printk(XENLOG_INFO "DT: NUMA node %u %"PRIx64"-%"PRIx64"\n",
>>> +           node, start, end);
>>> +
>>> +    node_memblk_range[num_node_memblks].start = start;
>>> +    node_memblk_range[num_node_memblks].end = end;
>>> +    memblk_nodeid[num_node_memblks] = node;
>>> +    num_node_memblks++;
>>
>>
>> Is it possible to have non-contigous ranges of memory for a single NUMA
>> node?
>>
>> Looking at the DT bindings and Linux implementation, it seems possible.
>> Here, it seems that node_memblk_range/memblk_nodeid could handle it,
>> but nodes couldn't.
> 
> Yes, you're right. I copied this code for x86 ACPI NUMA. Does ACPI allow
> non-contiguous ranges of memory for a single NUMA node too? 

I couldn't find any restriction for ACPI. Although, I only briefly 
looked at the spec.

> If yes, I think
> this will affect x86 ACPI NUMA too. In next version, we plan to merge
> dtb_numa_memory_affinity_init and acpi_numa_memory_affinity_init into a
> neutral function. So we can fix them at the same time.
> 
> If not, maybe we have to keep the diversity for dtb and ACPI here.

I am not entirely sure what you mean. Are you saying if ACPI doesn't 
allow non-contiguous ranges of memory, then we should keep the 
implementation separated?

If so, then I disagree with that. It is fine to have code that supports 
more than what a firmware table supports. The main benefit is less code 
and therefore less long term maintenance (with the current solution we 
would need to check both the ACPI and DT implementation if there is a 
bug in one).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sat Aug 28 10:45:36 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 10:45:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174268.317887 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJvq6-0006Qe-Uq; Sat, 28 Aug 2021 10:45:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174268.317887; Sat, 28 Aug 2021 10:45:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJvq6-0006QX-QF; Sat, 28 Aug 2021 10:45:30 +0000
Received: by outflank-mailman (input) for mailman id 174268;
 Sat, 28 Aug 2021 10:45:28 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mJvq4-0006QR-Qw
 for xen-devel@lists.xenproject.org; Sat, 28 Aug 2021 10:45:28 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mJvq4-0003xg-Ai; Sat, 28 Aug 2021 10:45:28 +0000
Received: from home.octic.net ([81.187.162.82]
 helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mJvq4-0003c2-5D; Sat, 28 Aug 2021 10:45:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=/ShJP79KuCy/+Q/0kLzqsW30wss3MuIgVPUwmdfEVBE=; b=GBKTikBWD9aiUTRqs5VDEsS4O6
	FqcLTIh+UDxLB+qinstbqtoMJfJ7Hl5Dpsrwg3AkRcRaMAxSmJKuX84wS0xJuoKb1JzBUZyJWjcl4
	GScsZwrWk7SbHtnTQUktIcwD3KM/Bd9s8AdPBiLrl8kzpXTHsL/HA+Ilk9woAdinA7cU=;
Subject: Re: [XEN RFC PATCH 38/40] xen/arm: enable device tree based NUMA in
 system init
To: Wei Chen <Wei.Chen@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>
Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-39-wei.chen@arm.com>
 <86469c72-68d0-2a30-66ef-497884125437@xen.org>
 <DB9PR08MB68570138E19683934DA86B1B9EC99@DB9PR08MB6857.eurprd08.prod.outlook.com>
From: Julien Grall <julien@xen.org>
Message-ID: <0b4ac394-03c4-9ed7-29cd-339090ae5768@xen.org>
Date: Sat, 28 Aug 2021 11:45:26 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <DB9PR08MB68570138E19683934DA86B1B9EC99@DB9PR08MB6857.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit



On 28/08/2021 04:17, Wei Chen wrote:
> Hi Julien,

Hi Wei,

> 
>> -----Original Message-----
>> From: Julien Grall <julien@xen.org>
>> Sent: 2021年8月27日 22:33
>> To: Wei Chen <Wei.Chen@arm.com>; xen-devel@lists.xenproject.org;
>> sstabellini@kernel.org; jbeulich@suse.com
>> Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>
>> Subject: Re: [XEN RFC PATCH 38/40] xen/arm: enable device tree based NUMA
>> in system init
>>
>> Hi Wei,
>>
>> On 11/08/2021 11:24, Wei Chen wrote:
>>> Everything is ready, we can remove the fake NUMA node and
>>> depends on device tree to create NUMA system.
>>
>> So you just added code a few patches before that are now completely
>> rewritten. Can you please re-order this series so it doesn't happen?
>>
>> This may mean that CONFIG_NUMA is only selected until late in this series.
>>
> 
> Why I did like this is because my original concerns are:
> 1. When I introduced the CONFIG_NUMA. Users will be using a code base on
>     this commit by accident.
> 2. If users select CONFIG_NUMA, but not all NUMA data are not initialized
>     properly. The system may not work properly.

We have to make sure we don't break any existing use case when writing a 
new feature. However, a user should not expect a new feature to work it 
is using a random commit in the middle of the series.

This is also why I suggested that maybe CONFIG_NUMA is only selected for 
Arm towards the end of the series. So you reduce the risk of someone 
selecting it.

> 3. So I created the fake node to initialize the NUMA data, before we parser
>     real data from DTB.
> 4. In this case, user can work well with CONFIG_NUMA is enabled, without
>     this series is completed.

The flip side is you are adding more load on the reviewers because there 
are extra code. The series is already quite big (40 patches), any way to 
ease the review will definitely be appreciated.

Another possible way to ease the review is to move the patch that 
rework/move code at the beginning of the series and leave the Arm part 
for the second part of the series. This way, we can start to merge the 
series without waiting for the Arm bits to be completed.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sat Aug 28 11:43:18 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 11:43:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174335.317904 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJwjl-0005Bv-DF; Sat, 28 Aug 2021 11:43:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174335.317904; Sat, 28 Aug 2021 11:43:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJwjl-0005Bo-9q; Sat, 28 Aug 2021 11:43:01 +0000
Received: by outflank-mailman (input) for mailman id 174335;
 Sat, 28 Aug 2021 11:43: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 1mJwjk-0005Be-2U; Sat, 28 Aug 2021 11:43: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 1mJwjj-0004ux-5G; Sat, 28 Aug 2021 11:42: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 1mJwji-0006y0-Se; Sat, 28 Aug 2021 11:42:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mJwji-0004Os-Rq; Sat, 28 Aug 2021 11:42:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=/pVd4oG5J57znhhBak/Il1UBugior9y1csGDFB06epU=; b=iCDVdGzHeSoox9ExpSwT1toNQp
	yIfSlP1dXKg6E9X8RzWQ+Q8ug9TjB2yi0+TdgOFQytJAwhqQEpbztZEnWgic9CjYRr38QZe59rJ/e
	uQb6xCwWwZZa5eIjpoLKtFEEkQgFeuJ32VKOEOcwzRQgY9+Q8hlF17mx2hX95XshAg3g=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164514-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 164514: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=2e8ebfe3fa17bb785d6bc26a17391dc4f34ad8b3
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 28 Aug 2021 11:42:58 +0000

flight 164514 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164514/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              2e8ebfe3fa17bb785d6bc26a17391dc4f34ad8b3
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  414 days
Failing since        151818  2020-07-11 04:18:52 Z  413 days  403 attempts
Testing same since   164514  2021-08-27 08:54:05 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  Cédric Bosdonnat <cbosdonnat@suse.com>
  Côme Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano Fidêncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Ian Wienand <iwienand@redhat.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  John Ferlan <jferlan@redhat.com>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  Ján Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Michał Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  Moshe Levi <moshele@nvidia.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr Drąg <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tomáš Golembiovský <tgolembi@redhat.com>
  Tomáš Janoušek <tomi@nomi.cz>
  Tuguoyi <tu.guoyi@h3c.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  William Douglas <william.douglas@intel.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 71343 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 28 13:59:12 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 13:59:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174369.317942 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJyrI-0002ol-Nd; Sat, 28 Aug 2021 13:58:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174369.317942; Sat, 28 Aug 2021 13:58:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJyrI-0002oe-KW; Sat, 28 Aug 2021 13:58:56 +0000
Received: by outflank-mailman (input) for mailman id 174369;
 Sat, 28 Aug 2021 13:58:55 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=sP14=NT=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mJyrH-0002oY-Ow
 for xen-devel@lists.xenproject.org; Sat, 28 Aug 2021 13:58:55 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com (unknown
 [40.107.7.40]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 822573c8-fc9e-4b47-8dad-c411d01943c8;
 Sat, 28 Aug 2021 13:58:51 +0000 (UTC)
Received: from AS8PR04CA0150.eurprd04.prod.outlook.com (2603:10a6:20b:127::35)
 by DB8PR08MB5417.eurprd08.prod.outlook.com (2603:10a6:10:117::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Sat, 28 Aug
 2021 13:58:36 +0000
Received: from VE1EUR03FT054.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:127:cafe::43) by AS8PR04CA0150.outlook.office365.com
 (2603:10a6:20b:127::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.21 via Frontend
 Transport; Sat, 28 Aug 2021 13:58:36 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT054.mail.protection.outlook.com (10.152.19.64) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Sat, 28 Aug 2021 13:58:35 +0000
Received: ("Tessian outbound 19a632698c93:v103");
 Sat, 28 Aug 2021 13:58:35 +0000
Received: from fec3bb3a7fc4.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 75F19BF4-BC86-4FD5-A119-8A3BC54B3154.1; 
 Sat, 28 Aug 2021 13:58:29 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id fec3bb3a7fc4.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Sat, 28 Aug 2021 13:58:29 +0000
Received: from AS8PR08MB6853.eurprd08.prod.outlook.com (2603:10a6:20b:39e::19)
 by AM5PR0802MB2577.eurprd08.prod.outlook.com (2603:10a6:203:a1::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.19; Sat, 28 Aug
 2021 13:58:26 +0000
Received: from AS8PR08MB6853.eurprd08.prod.outlook.com
 ([fe80::d3d:d054:2fe1:e3a3]) by AS8PR08MB6853.eurprd08.prod.outlook.com
 ([fe80::d3d:d054:2fe1:e3a3%5]) with mapi id 15.20.4457.023; Sat, 28 Aug 2021
 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: 822573c8-fc9e-4b47-8dad-c411d01943c8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KfTalIHeFFOw52GLBtuyzY+WxhvfLn6EgD4jh350JOk=;
 b=3NQ/a9+IrN4mlNDURJ1gMJIJFnQlbGBaTrUUn2eO+WNIucyfEoZ8rQY8WxwQboXI2nC/qn+OlKPSm3zofb5K0ddENeRsze0SY/QhcXb7bS2iiWq9bdRYdTVNvwegxIjVHWUgc5IFkNIkFLxXkQLGDBt18iokCX9Jakli5jTP/a0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JX3HF/v0GuixwM7RpCQEaOpZ9xLac0w2QFv/+VGve/f8Vzj2JNgkMGIM82FIqJhmPeti3krBhVYC4MKposvAOHBUEoMzUShfH5TqIB/CWZ8UzoTo2Nq96/EDVnNyWV4ijNmmQY3OI6psnRu/i9FxAJ3b4ObHdlnRRc2fwB1viwCdgxM1Nb3BQ/X0h5e5LycGwiC4YrCk/f5+kPBAGR0PJLLuWcF9k5ix3IiwngMzEisdKOEiA5ApE3RYfpw+Xrv+5iwkjL4bQCNAPel0IcNG+4LFJx8cIstmt4PB73gLCCs0X4MC3BEzgXPWgvU4A8QRb40NP0mg4AqDPz5u5HDRRg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KfTalIHeFFOw52GLBtuyzY+WxhvfLn6EgD4jh350JOk=;
 b=OjT27xz02vHSDnc5LYxVtYj9xJCWMmYcfrIvAv+zPV1/dN4Hp3pLYCjudIGRlSKeBN112tkd/2o2D9D5goZMP446h32kfosVhMdw18Zdlt+D01HrB58sPjfGdKzy2MUixgLhWD+DHFT0tDXPws5jozpKEh1KPsI15eamlTJ1T7KguqKSr7JuWrTOzf7z3xkdxiDn0RvmxiVm5sL24unlnB5PqB5oQbnCd4I/gR0CtZpj4LQfdSdD2Au0gjWxHbe86Lr1JoXNvjdZnUo1AEZ/sg67Ww2+80rpKeWiJbOMrW1XGUyU8U4IStQAJX1mP7mvgxDayF/eKLuBES6lB56khQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KfTalIHeFFOw52GLBtuyzY+WxhvfLn6EgD4jh350JOk=;
 b=3NQ/a9+IrN4mlNDURJ1gMJIJFnQlbGBaTrUUn2eO+WNIucyfEoZ8rQY8WxwQboXI2nC/qn+OlKPSm3zofb5K0ddENeRsze0SY/QhcXb7bS2iiWq9bdRYdTVNvwegxIjVHWUgc5IFkNIkFLxXkQLGDBt18iokCX9Jakli5jTP/a0=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>, Jan Beulich <jbeulich@suse.com>
Subject: RE: [XEN RFC PATCH 23/40] xen/arm: introduce a helper to parse device
 tree memory node
Thread-Topic: [XEN RFC PATCH 23/40] xen/arm: introduce a helper to parse
 device tree memory node
Thread-Index: AQHXjps6uVXfLZKD7EKSvvhEptOzS6uINJ4AgAAs9PCAAHGGgIAAOFuQ
Date: Sat, 28 Aug 2021 13:58:25 +0000
Message-ID:
 <AS8PR08MB68531741D1035B35A19EF34F9EC99@AS8PR08MB6853.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-24-wei.chen@arm.com>
 <alpine.DEB.2.21.2108271757250.17851@sstabellini-ThinkPad-T480s>
 <DB9PR08MB6857618112DC045293A449699EC99@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <5c9a196a-8ac3-1173-f402-01d99ccc23e4@xen.org>
In-Reply-To: <5c9a196a-8ac3-1173-f402-01d99ccc23e4@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: C1F965ABC3BC2F4BB61CEE89E00D88E1.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: eedfc76b-8340-4da1-69c3-08d96a2bede4
x-ms-traffictypediagnostic: AM5PR0802MB2577:|DB8PR08MB5417:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<DB8PR08MB54170F5A9382873F1A5DE2F69EC99@DB8PR08MB5417.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 yNy6d2kVeFCaslBpoaoE3kpHDaMwPr6KyRHhsbmxFhT0jqNXifj8TFkWMKFQelkjecDDtNal3braZkoNeKsUqP769Vbxg5VgPBTrqW/wXK/UMThNGfWKfCR44M602s3EdIYeRb6zK3OOi8//tejq9lcc1mmCb72AZ1JwFCEcTMaua3TsJ7LlOjHjJuKXvRYb5oQywQhrO6+hwlQkieNacDgfGqXgG5S6BAYTPkCXY607jFhrYWy23iFZK/RNKKPApHz7uqOmzYJdVZp4VJf47GJh9XImhviY5H/gKeD+Uv68u/QLaAn855qI+AQ5uUi798L+iG2+vseC7REf6EvRS6qYy1wuv04jUhG+GQepy2Cy9wqWgBsWdqr8B2sINHbNrFpRLBigAgpsgXPjf90N1eEkao/DC3hAZNv8c/FnfXUaApWJ8MZbj3Y0G3wy9AKEk4P98R9/zrwYqzyPIO7wxDuktJ+gR0bzDFdgbKp+f2CthvvPf8MKRNIJ93queXoxp2Q3N6DDBi0iL0EkNNt6onU1M0llBOBcPEeF9Ak9JHMV5I5Nt27Vm3WJ5hIRFWfJiZAqkAT9DLpaVbBAGGkseXIh5VbTNGijJp1W5hJyZ3H67ODSxSsWnolNORI6t0QGPYS3LcvsEjpSvVKKWiiRl24Mc0z64EZbs9P3xAt7vB7pgim5ywuh92dzuPDd6gEjCgPwlJEFG/L/rY5XmpkJQQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB6853.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(376002)(39850400004)(396003)(366004)(136003)(346002)(64756008)(66556008)(66446008)(38100700002)(9686003)(4326008)(5660300002)(53546011)(8936002)(316002)(8676002)(52536014)(76116006)(55016002)(66946007)(122000001)(54906003)(110136005)(38070700005)(186003)(7696005)(26005)(33656002)(71200400001)(86362001)(83380400001)(6506007)(478600001)(2906002)(66476007);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?QW8wQXhUQXZYVVVjdDc1R090VElaWnNCRUc2azlXbkxWNEMwWUs0MlZhd0JI?=
 =?utf-8?B?TVpoQ1lCdXZ2ZGhIZktwckRrM3RWNGthZ2JSVEZNY254Q1RVSGxSK0ZBNnVO?=
 =?utf-8?B?cVVMaGlRenBZODFvUEZiMHkyUkF0cnNyQ2hGUnpRMDQ4UWVjTmJpUnIwZTh5?=
 =?utf-8?B?Vk5RMGdSRUNnaDlGRGJGRFdHZTZPdWt6YzhLN1p3ZTk1eitueHhzU2ZLRHpu?=
 =?utf-8?B?TDlSWVJaR0lhOEE3QmQ3NGQ0ZVpnT1oyUzB4U2xzRUh1a201eTRFYVR0dlpo?=
 =?utf-8?B?aVZINGJPYjMvRGMwdEtwb2UvS2FCbTdNYkI2WnFIVC9RclZHendza29wSzQ5?=
 =?utf-8?B?UWNQdFdRMUxNUHp6SlQ5TkxxTEV6RzMxZ3BRbE82S0NuMEY0KzFpQmlvOWVT?=
 =?utf-8?B?SE81M1lvTklsclJsYW9ia1JqZmZRYnZqTWpmdnRnNlA2dHh1dW9qUUdQOTdT?=
 =?utf-8?B?WmM1aWYwd21QaThmSGFyenpPWDQ2U1dhSUwxbk5lVHJmaTJoR0IzRU90WnZQ?=
 =?utf-8?B?M0ZQekhZcVlNTjN1c1U0OE5RNGRqVXBZUGUvVjdaTTZYZzA0Y3hZYXJieWwr?=
 =?utf-8?B?RjArbUM3cjJSbW5oQkJONnA3SU9BVTRwTHUyVkVaR3dlOEJIVER0ZjN1UzNQ?=
 =?utf-8?B?bFdtYnJqTkd3WldwaXlvb0ljWW5zd1NKWHdjZ2RkUWRUQlVOK1VjcjFCU3dS?=
 =?utf-8?B?TG1vUWt1U2t5YXV0Z3Z2YW5TNitkdlFYUmQxTXY5Y1JYNG81c3o3Wm92UXhR?=
 =?utf-8?B?aXVIWWhldXJZQlorNjQyVnBxTjBwcHRvdmpXUzBiYUVIcHZoeVE3anhUb1Zh?=
 =?utf-8?B?d2tYL0ZBb2J1bjY1eUs0alBHZ2FEdzhERnZMdjlVSFhvYXluRmZGR1BNZ2Iv?=
 =?utf-8?B?N1lZaVIyekR5dDdxOGp0eUtsNU1uRFI3UkY4MTFWL3FzZ1N2WjVUNW1UK0Fx?=
 =?utf-8?B?M01ETWJCVHgvM01pVHdwM1pBZUNtVUVaN05wZUg0WkJ0T2p2Mi9QeFRCVFR6?=
 =?utf-8?B?MytRWUNFS3lNVGhBbjgzYjRMMWN5QWkrNWszdXVHdWJqcEJNTzNocEgvSW1o?=
 =?utf-8?B?UDRpdGpWMnhRZTdtVHIxeG9iaDg3ZE1BS3VtRkdRVW5NSlBIRlBDRHhnQ1ll?=
 =?utf-8?B?TmYveDU1OWtUaUErRUZiRzdVaVF0YmwxN1RrZzFOcU5wV01mb2FxUUJIRzFy?=
 =?utf-8?B?ZERRZm90ai96ZkdqbUZ3c1owb09PdTl1ajlHUG1PcGtTeWJna3VOSytEbnZD?=
 =?utf-8?B?b1h2bkZKSkpHN2RsWHdoLzh5UEl2U2gwQSt0N3lIRldVSlRzWnhKVzBpWktY?=
 =?utf-8?B?c05qa3JHREUyRjZXTkRTVHkrWDlDcFdEU0Q4TGV5d0VMeHVXTmhLVjU3V1FG?=
 =?utf-8?B?RWlMS040M2NRTVlCNE96M1Joc01GaHdNczNMSG92TFJ5dXRFeDJES1NoTWJI?=
 =?utf-8?B?c0JqejNSVVlJK3dmMVU3MUxhUTQ2MDhWWThEMWRJaEhxbm9zUFV4ZVdibUtk?=
 =?utf-8?B?VTdQVGc0WGhZM0JrbHVYUVN6ZGJiaG5pNTFxM2I3SFZQelQwQXFHSXJPd21D?=
 =?utf-8?B?MnpvNWdWdEp4UmJBNmdkWGpuZnQzMlpPUGxvbUpKNzRENWYrZDhpNjBvMFNq?=
 =?utf-8?B?SE9HRkhUZmZxNFhHWExDMHg0RVhMaERvRElObG5USlFIcENUQ00vMDB0c3lj?=
 =?utf-8?B?ajExSUxPYWhUMk5zbzdOY0pZS2xaTjgxWDU5eXpzdnRLTmRUbXJRek9PMy9G?=
 =?utf-8?Q?hDthOtfjc9MzXHR+m5JRuXe0+mzdFQ9t8s9F2sd?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0802MB2577
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT054.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	8b9bac9d-20b8-4b2d-9255-08d96a2be830
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Jbh7wW3qHDaPRZ0UIq5IbiMi/FGNuplOXd1yzB8wbe3bB9ilH/OkD/7K4MWXlLpxyhyV83UCwDQtMmgWueCy4mFuUx9gNGKklqL0OE249lWi+HcwvCM02MEXfHXEcz4LfsFAifZxljVwLwStLq1zCykshUeY1UQ3Y8FsUTIjkpWds13U5MmBlLc7gBu5QJveRpa7AptyuZD0MMdsysb4cjGBFmccXN3U2tRpJmTHrE9mSBekmrKiIRXlvSWS0jalU2WJaXHqVzxToTFOxSmSqSRgJpKyi6BcyfTBYA45qCIFK1Ix2mz2a9T9C2upw/fu2QPI5OY1FfdmODAX2TMfZFFGEbjneNkfJRIRUQXDFvhNKa+xAOGOWoTMzol3ZKovbpq3aew8jpmBCnD0Jw3axuPyO9LO2I03ztGVQf57BjsjOqCxnlx4o78sZUW5ncbbAsERwE8/WMMeWFZRYrOcOObfUaK1olT6vT/ApDbscSktij+HpLTu/HqXUDYXy3uGGxoKpWDXSHsW3ulYjBYINYWgIEPN/GzYqZ5/Tbs0iyh/sKIdgJkeXimMkmZHWc0i/NA2khfE5BYTT3DTM1NMN2eiswRJlEUXboZSyu7TEqRh1oE7d7Upc5ZqfBdVRVu/goWK3Z66188cd02T27miw29gfJYOmRyiDRqy11VtkZZ5D1uv5d/ZnadjNE1fNqYKY/igPzXPaSKX7SXtWX/dJA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(346002)(376002)(39850400004)(136003)(396003)(36840700001)(46966006)(186003)(9686003)(4326008)(26005)(316002)(54906003)(53546011)(36860700001)(110136005)(70586007)(336012)(83380400001)(52536014)(70206006)(8936002)(82310400003)(5660300002)(356005)(478600001)(8676002)(82740400003)(107886003)(81166007)(86362001)(33656002)(6506007)(2906002)(55016002)(7696005)(47076005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2021 13:58:35.5803
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: eedfc76b-8340-4da1-69c3-08d96a2bede4
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT054.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB5417

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMjjml6UgMTg6MzQN
Cj4gVG86IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgU3RlZmFubyBTdGFiZWxsaW5pDQo+
IDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPg0KPiBDYzogeGVuLWRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnOyBCZXJ0cmFuZCBNYXJxdWlzDQo+IDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+OyBK
YW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+IFN1YmplY3Q6IFJlOiBbWEVOIFJGQyBQ
QVRDSCAyMy80MF0geGVuL2FybTogaW50cm9kdWNlIGEgaGVscGVyIHRvIHBhcnNlDQo+IGRldmlj
ZSB0cmVlIG1lbW9yeSBub2RlDQo+IA0KPiBIaSBXZWksDQo+IA0KPiBPbiAyOC8wOC8yMDIxIDA0
OjU2LCBXZWkgQ2hlbiB3cm90ZToNCj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4g
Pj4gRnJvbTogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPg0KPiA+
PiBTZW50OiAyMDIx77+977+9OO+/ve+/vTI477+977+9IDk6MDYNCj4gPj4gVG86IFdlaSBDaGVu
IDxXZWkuQ2hlbkBhcm0uY29tPg0KPiA+PiBDYzogeGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qu
b3JnOyBzc3RhYmVsbGluaUBrZXJuZWwub3JnOw0KPiBqdWxpZW5AeGVuLm9yZzsNCj4gPj4gamJl
dWxpY2hAc3VzZS5jb207IEJlcnRyYW5kIE1hcnF1aXMgPEJlcnRyYW5kLk1hcnF1aXNAYXJtLmNv
bT4NCj4gPj4gU3ViamVjdDogUmU6IFtYRU4gUkZDIFBBVENIIDIzLzQwXSB4ZW4vYXJtOiBpbnRy
b2R1Y2UgYSBoZWxwZXIgdG8gcGFyc2UNCj4gPj4gZGV2aWNlIHRyZWUgbWVtb3J5IG5vZGUNCj4g
Pj4NCj4gPj4gT24gV2VkLCAxMSBBdWcgMjAyMSwgV2VpIENoZW4gd3JvdGU6DQo+ID4+PiBNZW1v
cnkgYmxvY2tzJyBOVU1BIElEIGluZm9ybWF0aW9uIGlzIHN0b3JlZCBpbiBkZXZpY2UgdHJlZSdz
DQo+ID4+PiBtZW1vcnkgbm9kZXMgYXMgIm51bWEtbm9kZS1pZCIuIFdlIG5lZWQgYSBuZXcgaGVs
cGVyIHRvIHBhcnNlDQo+ID4+PiBhbmQgdmVyaWZ5IHRoaXMgSUQgZnJvbSBtZW1vcnkgbm9kZXMu
DQo+ID4+Pg0KPiA+Pj4gSW4gb3JkZXIgdG8gc3VwcG9ydCBtZW1vcnkgYWZmaW5pdHkgaW4gbGF0
ZXIgdXNlLCB0aGUgdmFsaWQNCj4gPj4+IG1lbW9yeSByYW5nZXMgYW5kIE5VTUEgSUQgd2lsbCBi
ZSBzYXZlZCB0byB0YWJsZXMuDQo+ID4+Pg0KPiA+Pj4gU2lnbmVkLW9mZi1ieTogV2VpIENoZW4g
PHdlaS5jaGVuQGFybS5jb20+DQo+ID4+PiAtLS0NCj4gPj4+ICAgeGVuL2FyY2gvYXJtL251bWFf
ZGV2aWNlX3RyZWUuYyB8IDEzMA0KPiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0K
PiA+Pj4gICAxIGZpbGUgY2hhbmdlZCwgMTMwIGluc2VydGlvbnMoKykNCj4gPj4+DQo+ID4+PiBk
aWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL251bWFfZGV2aWNlX3RyZWUuYw0KPiA+PiBiL3hlbi9h
cmNoL2FybS9udW1hX2RldmljZV90cmVlLmMNCj4gPj4+IGluZGV4IDM3Y2M1NmFjZjMuLmJiZTA4
MWRjZDEgMTAwNjQ0DQo+ID4+PiAtLS0gYS94ZW4vYXJjaC9hcm0vbnVtYV9kZXZpY2VfdHJlZS5j
DQo+ID4+PiArKysgYi94ZW4vYXJjaC9hcm0vbnVtYV9kZXZpY2VfdHJlZS5jDQo+ID4+PiBAQCAt
MjAsMTEgKzIwLDEzIEBADQo+ID4+PiAgICNpbmNsdWRlIDx4ZW4vaW5pdC5oPg0KPiA+Pj4gICAj
aW5jbHVkZSA8eGVuL25vZGVtYXNrLmg+DQo+ID4+PiAgICNpbmNsdWRlIDx4ZW4vbnVtYS5oPg0K
PiA+Pj4gKyNpbmNsdWRlIDx4ZW4vbGliZmR0L2xpYmZkdC5oPg0KPiA+Pj4gICAjaW5jbHVkZSA8
eGVuL2RldmljZV90cmVlLmg+DQo+ID4+PiAgICNpbmNsdWRlIDxhc20vc2V0dXAuaD4NCj4gPj4+
DQo+ID4+PiAgIHM4IGRldmljZV90cmVlX251bWEgPSAwOw0KPiA+Pj4gICBzdGF0aWMgbm9kZW1h
c2tfdCBwcm9jZXNzb3Jfbm9kZXNfcGFyc2VkIF9faW5pdGRhdGE7DQo+ID4+PiArc3RhdGljIG5v
ZGVtYXNrX3QgbWVtb3J5X25vZGVzX3BhcnNlZCBfX2luaXRkYXRhOw0KPiA+Pj4NCj4gPj4+ICAg
c3RhdGljIGludCBzcmF0X2Rpc2FibGVkKHZvaWQpDQo+ID4+PiAgIHsNCj4gPj4+IEBAIC01NSw2
ICs1Nyw3OSBAQCBzdGF0aWMgaW50IF9faW5pdA0KPiA+PiBkdGJfbnVtYV9wcm9jZXNzb3JfYWZm
aW5pdHlfaW5pdChub2RlaWRfdCBub2RlKQ0KPiA+Pj4gICAgICAgcmV0dXJuIDA7DQo+ID4+PiAg
IH0NCj4gPj4+DQo+ID4+PiArLyogQ2FsbGJhY2sgZm9yIHBhcnNpbmcgb2YgdGhlIG1lbW9yeSBy
ZWdpb25zIGFmZmluaXR5ICovDQo+ID4+PiArc3RhdGljIGludCBfX2luaXQgZHRiX251bWFfbWVt
b3J5X2FmZmluaXR5X2luaXQobm9kZWlkX3Qgbm9kZSwNCj4gPj4+ICsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBhZGRyX3Qgc3RhcnQsIHBhZGRyX3Qgc2l6ZSkNCj4gPj4+ICt7DQo+
ID4+PiArICAgIHN0cnVjdCBub2RlICpuZDsNCj4gPj4+ICsgICAgcGFkZHJfdCBlbmQ7DQo+ID4+
PiArICAgIGludCBpOw0KPiA+Pj4gKw0KPiA+Pj4gKyAgICBpZiAoIHNyYXRfZGlzYWJsZWQoKSAp
DQo+ID4+PiArICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4gPj4+ICsNCj4gPj4+ICsgICAgZW5k
ID0gc3RhcnQgKyBzaXplOw0KPiA+Pj4gKyAgICBpZiAoIG51bV9ub2RlX21lbWJsa3MgPj0gTlJf
Tk9ERV9NRU1CTEtTICkNCj4gPj4+ICsgICAgew0KPiA+Pj4gKyAgICAgICAgZHByaW50ayhYRU5M
T0dfV0FSTklORywNCj4gPj4+ICsgICAgICAgICAgICAgICAgIlRvbyBtYW55IG51bWEgZW50cnks
IHRyeSBiaWdnZXIgTlJfTk9ERV9NRU1CTEtTIFxuIik7DQo+ID4+PiArICAgICAgICBiYWRfc3Jh
dCgpOw0KPiA+Pj4gKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+ID4+PiArICAgIH0NCj4gPj4+
ICsNCj4gPj4+ICsgICAgLyogSXQgaXMgZmluZSB0byBhZGQgdGhpcyBhcmVhIHRvIHRoZSBub2Rl
cyBkYXRhIGl0IHdpbGwgYmUgdXNlZA0KPiA+PiBsYXRlciAqLw0KPiA+Pj4gKyAgICBpID0gY29u
ZmxpY3RpbmdfbWVtYmxrcyhzdGFydCwgZW5kKTsNCj4gPj4+ICsgICAgLyogTm8gY29uZmxpY3Rp
bmcgbWVtb3J5IGJsb2NrLCB3ZSBjYW4gc2F2ZSBpdCBmb3IgbGF0ZXIgdXNhZ2UgKi87DQo+ID4+
PiArICAgIGlmICggaSA8IDAgKQ0KPiA+Pj4gKyAgICAgICAgZ290byBzYXZlX21lbWJsazsNCj4g
Pj4+ICsNCj4gPj4+ICsgICAgaWYgKCBtZW1ibGtfbm9kZWlkW2ldID09IG5vZGUgKSB7DQo+ID4+
PiArICAgICAgICAvKg0KPiA+Pj4gKyAgICAgICAgICogT3ZlcmxhcHMgd2l0aCBvdGhlciBtZW1i
bGsgaW4gdGhlIHNhbWUgbm9kZSwgd2FybmluZyBoZXJlLg0KPiA+Pj4gKyAgICAgICAgICogVGhp
cyBtZW1ibGsgd2lsbCBiZSBtZXJnZWQgd2l0aCBjb25mbGljdGVkIG1lbWJsayBsYXRlci4NCj4g
Pj4+ICsgICAgICAgICAqLw0KPiA+Pj4gKyAgICAgICAgcHJpbnRrKFhFTkxPR19XQVJOSU5HDQo+
ID4+PiArICAgICAgICAgICAgICAgIkRUOiBOVU1BIE5PREUgJXUgKCUiUFJJeDY0DQo+ID4+PiAr
ICAgICAgICAgICAgICAgIi0lIlBSSXg2NCIpIG92ZXJsYXBzIHdpdGggaXRzZWxmICglIlBSSXg2
NCItDQo+ID4+ICUiUFJJeDY0IilcbiIsDQo+ID4+PiArICAgICAgICAgICAgICAgbm9kZSwgc3Rh
cnQsIGVuZCwNCj4gPj4+ICsgICAgICAgICAgICAgICBub2RlX21lbWJsa19yYW5nZVtpXS5zdGFy
dCwgbm9kZV9tZW1ibGtfcmFuZ2VbaV0uZW5kKTsNCj4gPj4+ICsgICAgfSBlbHNlIHsNCj4gPj4+
ICsgICAgICAgIC8qDQo+ID4+PiArICAgICAgICAgKiBDb25mbGljdCB3aXRoIG1lbWJsayBpbiBv
dGhlciBub2RlLCB0aGlzIGlzIGFuIGVycm9yLg0KPiA+Pj4gKyAgICAgICAgICogVGhlIE5VTUEg
aW5mb3JtYXRpb24gaXMgaW52YWxpZCwgTlVNQSB3aWxsIGJlIHR1cm4gb2ZmLg0KPiA+Pj4gKyAg
ICAgICAgICovDQo+ID4+PiArICAgICAgICBwcmludGsoWEVOTE9HX0VSUg0KPiA+Pj4gKyAgICAg
ICAgICAgICAgICJEVDogTlVNQSBOT0RFICV1ICglIlBSSXg2NCItJSINCj4gPj4+ICsgICAgICAg
ICAgICAgICBQUkl4NjQiKSBvdmVybGFwcyB3aXRoIE5PREUgJXUgKCUiUFJJeDY0Ii0NCj4gJSJQ
Ukl4NjQiKVxuIiwNCj4gPj4+ICsgICAgICAgICAgICAgICBub2RlLCBzdGFydCwgZW5kLCBtZW1i
bGtfbm9kZWlkW2ldLA0KPiA+Pj4gKyAgICAgICAgICAgICAgIG5vZGVfbWVtYmxrX3JhbmdlW2ld
LnN0YXJ0LCBub2RlX21lbWJsa19yYW5nZVtpXS5lbmQpOw0KPiA+Pj4gKyAgICAgICAgYmFkX3Ny
YXQoKTsNCj4gPj4+ICsgICAgICAgIHJldHVybiAtRUlOVkFMOw0KPiA+Pj4gKyAgICB9DQo+ID4+
PiArDQo+ID4+PiArc2F2ZV9tZW1ibGs6DQo+ID4+PiArICAgIG5kID0gJm5vZGVzW25vZGVdOw0K
PiA+Pj4gKyAgICBpZiAoICFub2RlX3Rlc3RfYW5kX3NldChub2RlLCBtZW1vcnlfbm9kZXNfcGFy
c2VkKSApIHsNCj4gPj4+ICsgICAgICAgIG5kLT5zdGFydCA9IHN0YXJ0Ow0KPiA+Pj4gKyAgICAg
ICAgbmQtPmVuZCA9IGVuZDsNCj4gPj4+ICsgICAgfSBlbHNlIHsNCj4gPj4+ICsgICAgICAgIGlm
ICggc3RhcnQgPCBuZC0+c3RhcnQgKQ0KPiA+Pj4gKyAgICAgICAgICAgIG5kLT5zdGFydCA9IHN0
YXJ0Ow0KPiA+Pj4gKyAgICAgICAgaWYgKCBuZC0+ZW5kIDwgZW5kICkNCj4gPj4+ICsgICAgICAg
ICAgICBuZC0+ZW5kID0gZW5kOw0KPiA+Pj4gKyAgICB9DQo+ID4+PiArDQo+ID4+PiArICAgIHBy
aW50ayhYRU5MT0dfSU5GTyAiRFQ6IE5VTUEgbm9kZSAldSAlIlBSSXg2NCItJSJQUkl4NjQiXG4i
LA0KPiA+Pj4gKyAgICAgICAgICAgbm9kZSwgc3RhcnQsIGVuZCk7DQo+ID4+PiArDQo+ID4+PiAr
ICAgIG5vZGVfbWVtYmxrX3JhbmdlW251bV9ub2RlX21lbWJsa3NdLnN0YXJ0ID0gc3RhcnQ7DQo+
ID4+PiArICAgIG5vZGVfbWVtYmxrX3JhbmdlW251bV9ub2RlX21lbWJsa3NdLmVuZCA9IGVuZDsN
Cj4gPj4+ICsgICAgbWVtYmxrX25vZGVpZFtudW1fbm9kZV9tZW1ibGtzXSA9IG5vZGU7DQo+ID4+
PiArICAgIG51bV9ub2RlX21lbWJsa3MrKzsNCj4gPj4NCj4gPj4NCj4gPj4gSXMgaXQgcG9zc2li
bGUgdG8gaGF2ZSBub24tY29udGlnb3VzIHJhbmdlcyBvZiBtZW1vcnkgZm9yIGEgc2luZ2xlIE5V
TUENCj4gPj4gbm9kZT8NCj4gPj4NCj4gPj4gTG9va2luZyBhdCB0aGUgRFQgYmluZGluZ3MgYW5k
IExpbnV4IGltcGxlbWVudGF0aW9uLCBpdCBzZWVtcyBwb3NzaWJsZS4NCj4gPj4gSGVyZSwgaXQg
c2VlbXMgdGhhdCBub2RlX21lbWJsa19yYW5nZS9tZW1ibGtfbm9kZWlkIGNvdWxkIGhhbmRsZSBp
dCwNCj4gPj4gYnV0IG5vZGVzIGNvdWxkbid0Lg0KPiA+DQo+ID4gWWVzLCB5b3UncmUgcmlnaHQu
IEkgY29waWVkIHRoaXMgY29kZSBmb3IgeDg2IEFDUEkgTlVNQS4gRG9lcyBBQ1BJIGFsbG93DQo+
ID4gbm9uLWNvbnRpZ3VvdXMgcmFuZ2VzIG9mIG1lbW9yeSBmb3IgYSBzaW5nbGUgTlVNQSBub2Rl
IHRvbz8NCj4gDQo+IEkgY291bGRuJ3QgZmluZCBhbnkgcmVzdHJpY3Rpb24gZm9yIEFDUEkuIEFs
dGhvdWdoLCBJIG9ubHkgYnJpZWZseQ0KPiBsb29rZWQgYXQgdGhlIHNwZWMuDQo+IA0KPiA+IElm
IHllcywgSSB0aGluaw0KPiA+IHRoaXMgd2lsbCBhZmZlY3QgeDg2IEFDUEkgTlVNQSB0b28uIElu
IG5leHQgdmVyc2lvbiwgd2UgcGxhbiB0byBtZXJnZQ0KPiA+IGR0Yl9udW1hX21lbW9yeV9hZmZp
bml0eV9pbml0IGFuZCBhY3BpX251bWFfbWVtb3J5X2FmZmluaXR5X2luaXQgaW50byBhDQo+ID4g
bmV1dHJhbCBmdW5jdGlvbi4gU28gd2UgY2FuIGZpeCB0aGVtIGF0IHRoZSBzYW1lIHRpbWUuDQo+
ID4NCj4gPiBJZiBub3QsIG1heWJlIHdlIGhhdmUgdG8ga2VlcCB0aGUgZGl2ZXJzaXR5IGZvciBk
dGIgYW5kIEFDUEkgaGVyZS4NCj4gDQo+IEkgYW0gbm90IGVudGlyZWx5IHN1cmUgd2hhdCB5b3Ug
bWVhbi4gQXJlIHlvdSBzYXlpbmcgaWYgQUNQSSBkb2Vzbid0DQo+IGFsbG93IG5vbi1jb250aWd1
b3VzIHJhbmdlcyBvZiBtZW1vcnksIHRoZW4gd2Ugc2hvdWxkIGtlZXAgdGhlDQo+IGltcGxlbWVu
dGF0aW9uIHNlcGFyYXRlZD8NCj4gDQo+IElmIHNvLCB0aGVuIEkgZGlzYWdyZWUgd2l0aCB0aGF0
LiBJdCBpcyBmaW5lIHRvIGhhdmUgY29kZSB0aGF0IHN1cHBvcnRzDQo+IG1vcmUgdGhhbiB3aGF0
IGEgZmlybXdhcmUgdGFibGUgc3VwcG9ydHMuIFRoZSBtYWluIGJlbmVmaXQgaXMgbGVzcyBjb2Rl
DQo+IGFuZCB0aGVyZWZvcmUgbGVzcyBsb25nIHRlcm0gbWFpbnRlbmFuY2UgKHdpdGggdGhlIGN1
cnJlbnQgc29sdXRpb24gd2UNCj4gd291bGQgbmVlZCB0byBjaGVjayBib3RoIHRoZSBBQ1BJIGFu
ZCBEVCBpbXBsZW1lbnRhdGlvbiBpZiB0aGVyZSBpcyBhDQo+IGJ1ZyBpbiBvbmUpLg0KPiANCg0K
WWVzLCBJIGFncmVlLg0KDQo+IENoZWVycywNCj4gDQo+IC0tDQo+IEp1bGllbiBHcmFsbA0K


From xen-devel-bounces@lists.xenproject.org Sat Aug 28 14:02:37 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 14:02:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174376.317953 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mJyuq-0004Th-98; Sat, 28 Aug 2021 14:02:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174376.317953; Sat, 28 Aug 2021 14: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 1mJyuq-0004Ta-4L; Sat, 28 Aug 2021 14:02:36 +0000
Received: by outflank-mailman (input) for mailman id 174376;
 Sat, 28 Aug 2021 14:02:34 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=sP14=NT=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mJyuo-0004TU-SF
 for xen-devel@lists.xenproject.org; Sat, 28 Aug 2021 14:02:34 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com (unknown
 [40.107.6.40]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 970c1f9e-0808-11ec-ab6b-12813bfff9fa;
 Sat, 28 Aug 2021 14:02:33 +0000 (UTC)
Received: from DB8PR06CA0056.eurprd06.prod.outlook.com (2603:10a6:10:120::30)
 by AM6PR08MB4882.eurprd08.prod.outlook.com (2603:10a6:20b:c5::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23; Sat, 28 Aug
 2021 14:02:31 +0000
Received: from DB5EUR03FT052.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:120:cafe::68) by DB8PR06CA0056.outlook.office365.com
 (2603:10a6:10:120::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.18 via Frontend
 Transport; Sat, 28 Aug 2021 14:02:31 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT052.mail.protection.outlook.com (10.152.21.82) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Sat, 28 Aug 2021 14:02:31 +0000
Received: ("Tessian outbound 8b41f5fb4e9e:v103");
 Sat, 28 Aug 2021 14:02:31 +0000
Received: from d2e8d1c7b429.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 344BC3BF-5A4C-4D22-8867-5E9E352247D9.1; 
 Sat, 28 Aug 2021 14:02:25 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d2e8d1c7b429.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Sat, 28 Aug 2021 14:02:25 +0000
Received: from AS8PR08MB6853.eurprd08.prod.outlook.com (2603:10a6:20b:39e::19)
 by AM6PR08MB4309.eurprd08.prod.outlook.com (2603:10a6:20b:bb::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23; Sat, 28 Aug
 2021 14:02:24 +0000
Received: from AS8PR08MB6853.eurprd08.prod.outlook.com
 ([fe80::d3d:d054:2fe1:e3a3]) by AS8PR08MB6853.eurprd08.prod.outlook.com
 ([fe80::d3d:d054:2fe1:e3a3%5]) with mapi id 15.20.4457.023; Sat, 28 Aug 2021
 14:02: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: 970c1f9e-0808-11ec-ab6b-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1tldh9PMds4EnoTN8NXMfFwAXWlmY6JW0cNWPUPnfLE=;
 b=HKJ4HvF1r3YaqtFpzBI8JVtB7h/xeDh2sz8nIZFRdmdz+DGK2BP+TwrwpW6jyAvZjtVQdVpdRlhz2ipBFpE85MavsVi3LKrl124EsLEjdOKnBIWJ4uj39oZd0nIw3WX1svB5FTqX/iWbAjsAXl4wpXkF/nu7mHVu4co5CdqLMv0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TNQHL4VvJtexaVgeoxqRWb11LzpasEcAJgYN2VG8RQhx2BrLCYI21qudNfG7CZ7JYfzm0i0n+Gb/tAGbj8P+3sD5ZA69J36oIlJ4szTA/idNeBxf3y4s9OgHwzCmKuPNMAAA4GVktQnlb4QwE7dGYlUbVq/GLkgSDqS9OeZvd/3lKmNxEAvQxvGQ0yIsed1BQY1LAKR9HBv+NHfMORTEsIcWiLYz1xuJbRYAK7KmKPTMAuk/gppvvI2HNXkgX0QZQpJbyRQaybUlTcDi1QyZz1SlSRMC2P8HDQEXGreVl9z+qtUqFdFxxlbshdx0HVgIudTg/9iYgNdzsOi2koNIxg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1tldh9PMds4EnoTN8NXMfFwAXWlmY6JW0cNWPUPnfLE=;
 b=BQe1150UqXUn/NDHSB3j8FpaCgpe4ssIz7xITO9idr2ok7ca+TariwPzzQfIcZs0+ASqBLqlWi87Tmzu1Zh+5HksQHV73nTTTbMTBzczs+4onyr9pMmZbeC4mGQW/nQ7uXfVkJwuN4ot5c7zQlgm5VWyo6vP8AMHYPP1HpMtf/wHHmDAhR174NBrsEbSjELssgl798iOXPVfO4+/Zn41+Bw8kHSyfm3Vb+ia0sKC0adVsvxPa0kAK6DaQl1zM36xnUN0HsZ40NFLDLEKNWeLVhOYKCxYgN0JAFel1hR+L5vAqnYPaqBCiFiaFfIhlxaCIZGzn5DYmWvv0s4FSHGmYw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1tldh9PMds4EnoTN8NXMfFwAXWlmY6JW0cNWPUPnfLE=;
 b=HKJ4HvF1r3YaqtFpzBI8JVtB7h/xeDh2sz8nIZFRdmdz+DGK2BP+TwrwpW6jyAvZjtVQdVpdRlhz2ipBFpE85MavsVi3LKrl124EsLEjdOKnBIWJ4uj39oZd0nIw3WX1svB5FTqX/iWbAjsAXl4wpXkF/nu7mHVu4co5CdqLMv0=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 38/40] xen/arm: enable device tree based NUMA in
 system init
Thread-Topic: [XEN RFC PATCH 38/40] xen/arm: enable device tree based NUMA in
 system init
Thread-Index: AQHXjptQCVAwokAljU6uEdAOvxt6uKuHg4WAgADUAaCAAH7iAIAANfMA
Date: Sat, 28 Aug 2021 14:02:24 +0000
Message-ID:
 <AS8PR08MB685360E10DE9D2BA9166A4C39EC99@AS8PR08MB6853.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-39-wei.chen@arm.com>
 <86469c72-68d0-2a30-66ef-497884125437@xen.org>
 <DB9PR08MB68570138E19683934DA86B1B9EC99@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <0b4ac394-03c4-9ed7-29cd-339090ae5768@xen.org>
In-Reply-To: <0b4ac394-03c4-9ed7-29cd-339090ae5768@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 4BB4CB25F4F6484D9764961FD0C7602C.0
x-checkrecipientchecked: true
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 153aae33-1dec-453d-d460-08d96a2c7a81
x-ms-traffictypediagnostic: AM6PR08MB4309:|AM6PR08MB4882:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM6PR08MB48822A854943874BFB627C1E9EC99@AM6PR08MB4882.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 Y/7x5plhD2xCshT1ypz0yXlLOeFgHf5y3BNGk7I1Rt6ZX16B8TULFs7MYgw8xXuy9oktivt6CX+Nty1cGQQf8rknTDGfJtMWP73+CdpyKrJuYTrlMRTCArTkrw14qiMmzPgl6TgJOXq5dWLjFrxogPWQG3DZAPAnniGSnMEvp6EbeF1zzk+GdzYCjBuVZxag96mGVPnzD5w+cx9qa7NFXrxfpFKWjarOXnuQwJkLpNp/uzRWzAhBMHO55hxXWrxS/idoV2hfpiDMyPSAYjfhA8KEwLHD6MAhreCaMsAq8OvrJ4Bn59CnO7cFDOlr8RFjLFeaqHpOFQapYXirK6ggNx/IP3kUJc9YPm7UZ+HlzlHty5KrCvjp6NhM5CC5s4LOuWkwK//lQBkYASzvPE6uX8ur3aa4R751bP8ZDb+Ru/8/D67vwV+VPc9RJc65jYrtkUJdVD7Ef3nrdF3CGStBS32GElzV14wgG4eWYs5ZBLuM6jNuSd05Fi0LvlY6JauCjdhnZhNH0f5kVzCDBl5zxxfo1o1szCPEYkRTiSoS+O+pW31l5HmXAhvWY9tBz3neN4TmMj8DFltPnq6l6zN+Rq+cJ4PW+C467o3oL53xmspOa4/39QEi7xFB9b/5oV2gzNoHEgkw6Apb7xC9w6Aq+cgsiEZsa4K/F3S3YpWY/4Ewo6H4NFr8XSE4pMjq/osjNOgrVdUvch1dta0K5fz9fw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB6853.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(376002)(39850400004)(136003)(396003)(366004)(346002)(2906002)(33656002)(122000001)(55016002)(52536014)(9686003)(4326008)(38100700002)(8676002)(38070700005)(7696005)(66476007)(83380400001)(5660300002)(71200400001)(26005)(66446008)(53546011)(66556008)(64756008)(478600001)(6506007)(316002)(186003)(8936002)(86362001)(110136005)(66946007)(76116006);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?Z2hacXNXMEZGMld6clFqVHR1R0FqbGlqWm1qbU5mTHFjVWlrZFBTR1MySEph?=
 =?utf-8?B?QWJwNHFMemtSOVRzUEYvV3FsZytnRlZLMXJITHVMdForSGJlaU12bHRwNWJh?=
 =?utf-8?B?c1FDK29TbG1yb1A0SnB0dGJub1FORXRUUmovWC9vWDN2YjFhZzVtY21oTU1H?=
 =?utf-8?B?YXIzN01QMTNwUjlmRW0yUHFNdmNBL0M3MWZmQWJjcDkzRHJKR0laK0RXREZH?=
 =?utf-8?B?cXdCcEVLdFRjTktiODFDMmlQOEVMZzBWc0hwTmtPQ05SZmVuVXpmcnBKQ2l4?=
 =?utf-8?B?anBCNEM0dk45bG4wSUMwUStMYUY3UUpRNDFTZGJwRTZKeWUrYVcvVG9wV2Fn?=
 =?utf-8?B?VnlUZlBnSnE5YmVmQzhhMXZDZTBpUnQ0bVJHQVQvQ1k3QTRiOUJPcER3UzVv?=
 =?utf-8?B?d3NJNmlEdGp1cE94Z0tlSjBRNXJGNWw0a3RHRS9QYTRaRiswSC9QZkh2bG5k?=
 =?utf-8?B?bjN5Snp0ZG1oQ3I1ODh4QXdTWFY0UlJvQlBjdUEwQSthZldaaVFaSG9CcFhP?=
 =?utf-8?B?NGN0LzQzN0FQZFFHY3hJSkhHeHVHcXJaNnlDMG4ycU5kYmxxdC9vUDZmYW52?=
 =?utf-8?B?cnA0ZCt2NnNZNWlFSFZFS2dPSkhWVlZSTGdrQzBtUVdYT0ZZUGtFSGNCMGRH?=
 =?utf-8?B?cE1XVWZ5SnFKWVBPUUs5ZTdNZmRxZ3k3cWEyWXJyMGtCWFpPaEwwS0NiNWdQ?=
 =?utf-8?B?TXhmNk01Z25mUk92UE1VVStZbXY3MUlWUWh0SVpQWWN6d3V5dm1TY3JxTVlm?=
 =?utf-8?B?WEJ2ank3aml4WFk3TzVIaEhhLzlCa3VPMWtXQWhWSDhjOHQ3dU9wZjdMSE1V?=
 =?utf-8?B?NWs0NzIxRFpRaDBFc0hrVllZSk5EOEUvMzBtcG9iaUpFYjFpcjY5c1ZQQlc5?=
 =?utf-8?B?UjZKN29RU00xYmVkNzMyaTcxRG51UW9uS0x0ZzloK21xQlpVL3BpQmxyVUpu?=
 =?utf-8?B?OXFjK29HZ3lFaERNZWxJZFlENTNtWlczQXBLNlY3ZVRTa3NDNE52V25OM1Zj?=
 =?utf-8?B?Q2FnV3gwL0N6RktudTJIOWY2ckFtc2RsL0dzUmo0YjAzWGhhZnJaeVNDNDYy?=
 =?utf-8?B?eDFzQW5RUlpLZTQvcjhCQTMrY1RHK085OW9RUHhPREdWVmZ1TmtWSnZ4YVNW?=
 =?utf-8?B?Znc3UWx6UFVJVDYybTJxb3BCbllyMUc5RDBueVFpTStxMmdqb0dGckZRKzVl?=
 =?utf-8?B?YUVUNUhZbS90clAzSDhzNExSd1FXN29PemN1TTEvdndPY0t1RGM0Wkl2V0JO?=
 =?utf-8?B?d3NRbDhKWTFOeGVmejkzZ3R2ZXFQbFBQSFVqLzlDVHVCN3VwcXlxT1hFOXRp?=
 =?utf-8?B?RHlhaWxONFdobzYvbitEN05KeUJFYWNMZTNLcWlqb2J0UUdHejZmRFN6WkJB?=
 =?utf-8?B?azJMRWx0SVh1ZWcyZmc1SVhiTVByTXRLWFI1RkNRWmtsTjFGTkhpV1JKOS83?=
 =?utf-8?B?QW9lTUtxY2NrVXpaZ2VCMzR3R2NqdWNGWm5mdlV4VXRTY2tUL3pvWEx5V1Fk?=
 =?utf-8?B?SUdWemlSRHJPOG05cktIQVpNWFYvaXRFVnpIcnpvOVY3RFNDVGVBSXc3c0dL?=
 =?utf-8?B?bGZkOHR0dGE5MzlJelNMdzVQdU9ycDB2YVlXNThvZ1FzblJFYk91YWk1MHFO?=
 =?utf-8?B?bmJqWWZSSnhYQUQvcWc3RXU0d3JGY25tN2lSaFh1RGVwZFFRMFE2R1lWaEYr?=
 =?utf-8?B?bGhDQzdIL3VJNjkwTTFGdlZUeG1RWEFzWjNhckN2R0VJL09jbVJJY3MrTEZo?=
 =?utf-8?Q?zMW3b2oud3Xd9B7ORrqTIYA1JeJWz4yy92Ptfa4?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4309
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT052.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	4bb1e3d9-9f42-459d-e4b8-08d96a2c7623
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	WvBIoVLJL071drNIIrJ6AxVIMMG+Wj1fXvG5/482VhrhCnKoedZNl6q5gjDGxSr/3/2JSkLekJCX58+VVP3curyD37yBNVeCoXkxNWc/jERf4VVZK+kAx+qJywKSmrZHKs6jW33Wl/7RcnG+G/GyAE7Jzy6UNzc/Rr4R7iMI11slZIxFJT621ZueEVyUc8Tl62Dw0R1ScYfQ3t3raGcBnBcI8qCLgaBwm1NlQqFxPJepDDBE5GdFTmE1NXtWcNyzkl0fxPDyluMkZxDS51tQgjpBhjQGRfp47bPP80X0S8vWC97DKJUtWdWj0dFGqMjtIBIpmizdhlY19B8Na4X3bwoEb/ZYObs1eO1/92QzXuRYmAn6NiB3qIK/cW7+UXUvi2/vEiyQIiTnWHvE8aIVh+CV0qFu4yLQTmmwcx8HXEFrYrHuzciiGzIiw2dC9cW2KtU3wzefObmIJrq2nU2sDtombDS/hYV0zH/VhQnGhdhJtT0ahHJ6hVqw61LVjnG+3f96d/0f7NnZqx++2HlPdtZU1aByIUO1rK05IOMSHCNsTNWxKser6Hg4bYpQukX+3S3FUXGRBKH/7PTm8QNZj9NyuY6dH8xMYrZvOg1msjIzSclytufHasofMovQ4zradzpV9ziKGcZPtMt5LHmyhCVwBKfHoda5aOUXo8GmUFOR5NGIcRYBgY/dlbQj1ULe0EW680fPsg5Qyg09SyVZkA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(376002)(396003)(346002)(136003)(39850400004)(46966006)(36840700001)(81166007)(2906002)(33656002)(356005)(55016002)(52536014)(9686003)(4326008)(8676002)(82740400003)(7696005)(47076005)(83380400001)(5660300002)(26005)(53546011)(478600001)(6506007)(316002)(36860700001)(70586007)(186003)(336012)(82310400003)(8936002)(86362001)(110136005)(70206006);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2021 14:02:31.6000
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 153aae33-1dec-453d-d460-08d96a2c7a81
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT052.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4882

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjHlubQ45pyIMjjml6UgMTg6NDUN
Cj4gVG86IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsgeGVuLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnOw0KPiBzc3RhYmVsbGluaUBrZXJuZWwub3JnDQo+IENjOiBCZXJ0cmFuZCBNYXJx
dWlzIDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+DQo+IFN1YmplY3Q6IFJlOiBbWEVOIFJGQyBQ
QVRDSCAzOC80MF0geGVuL2FybTogZW5hYmxlIGRldmljZSB0cmVlIGJhc2VkIE5VTUENCj4gaW4g
c3lzdGVtIGluaXQNCj4gDQo+IA0KPiANCj4gT24gMjgvMDgvMjAyMSAwNDoxNywgV2VpIENoZW4g
d3JvdGU6DQo+ID4gSGkgSnVsaWVuLA0KPiANCj4gSGkgV2VpLA0KPiANCj4gPg0KPiA+PiAtLS0t
LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBKdWxpZW4gR3JhbGwgPGp1bGllbkB4
ZW4ub3JnPg0KPiA+PiBTZW50OiAyMDIx5bm0OOaciDI35pelIDIyOjMzDQo+ID4+IFRvOiBXZWkg
Q2hlbiA8V2VpLkNoZW5AYXJtLmNvbT47IHhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZzsN
Cj4gPj4gc3N0YWJlbGxpbmlAa2VybmVsLm9yZzsgamJldWxpY2hAc3VzZS5jb20NCj4gPj4gQ2M6
IEJlcnRyYW5kIE1hcnF1aXMgPEJlcnRyYW5kLk1hcnF1aXNAYXJtLmNvbT4NCj4gPj4gU3ViamVj
dDogUmU6IFtYRU4gUkZDIFBBVENIIDM4LzQwXSB4ZW4vYXJtOiBlbmFibGUgZGV2aWNlIHRyZWUg
YmFzZWQNCj4gTlVNQQ0KPiA+PiBpbiBzeXN0ZW0gaW5pdA0KPiA+Pg0KPiA+PiBIaSBXZWksDQo+
ID4+DQo+ID4+IE9uIDExLzA4LzIwMjEgMTE6MjQsIFdlaSBDaGVuIHdyb3RlOg0KPiA+Pj4gRXZl
cnl0aGluZyBpcyByZWFkeSwgd2UgY2FuIHJlbW92ZSB0aGUgZmFrZSBOVU1BIG5vZGUgYW5kDQo+
ID4+PiBkZXBlbmRzIG9uIGRldmljZSB0cmVlIHRvIGNyZWF0ZSBOVU1BIHN5c3RlbS4NCj4gPj4N
Cj4gPj4gU28geW91IGp1c3QgYWRkZWQgY29kZSBhIGZldyBwYXRjaGVzIGJlZm9yZSB0aGF0IGFy
ZSBub3cgY29tcGxldGVseQ0KPiA+PiByZXdyaXR0ZW4uIENhbiB5b3UgcGxlYXNlIHJlLW9yZGVy
IHRoaXMgc2VyaWVzIHNvIGl0IGRvZXNuJ3QgaGFwcGVuPw0KPiA+Pg0KPiA+PiBUaGlzIG1heSBt
ZWFuIHRoYXQgQ09ORklHX05VTUEgaXMgb25seSBzZWxlY3RlZCB1bnRpbCBsYXRlIGluIHRoaXMN
Cj4gc2VyaWVzLg0KPiA+Pg0KPiA+DQo+ID4gV2h5IEkgZGlkIGxpa2UgdGhpcyBpcyBiZWNhdXNl
IG15IG9yaWdpbmFsIGNvbmNlcm5zIGFyZToNCj4gPiAxLiBXaGVuIEkgaW50cm9kdWNlZCB0aGUg
Q09ORklHX05VTUEuIFVzZXJzIHdpbGwgYmUgdXNpbmcgYSBjb2RlIGJhc2Ugb24NCj4gPiAgICAg
dGhpcyBjb21taXQgYnkgYWNjaWRlbnQuDQo+ID4gMi4gSWYgdXNlcnMgc2VsZWN0IENPTkZJR19O
VU1BLCBidXQgbm90IGFsbCBOVU1BIGRhdGEgYXJlIG5vdA0KPiBpbml0aWFsaXplZA0KPiA+ICAg
ICBwcm9wZXJseS4gVGhlIHN5c3RlbSBtYXkgbm90IHdvcmsgcHJvcGVybHkuDQo+IA0KPiBXZSBo
YXZlIHRvIG1ha2Ugc3VyZSB3ZSBkb24ndCBicmVhayBhbnkgZXhpc3RpbmcgdXNlIGNhc2Ugd2hl
biB3cml0aW5nIGENCj4gbmV3IGZlYXR1cmUuIEhvd2V2ZXIsIGEgdXNlciBzaG91bGQgbm90IGV4
cGVjdCBhIG5ldyBmZWF0dXJlIHRvIHdvcmsgaXQNCj4gaXMgdXNpbmcgYSByYW5kb20gY29tbWl0
IGluIHRoZSBtaWRkbGUgb2YgdGhlIHNlcmllcy4NCj4gDQo+IFRoaXMgaXMgYWxzbyB3aHkgSSBz
dWdnZXN0ZWQgdGhhdCBtYXliZSBDT05GSUdfTlVNQSBpcyBvbmx5IHNlbGVjdGVkIGZvcg0KPiBB
cm0gdG93YXJkcyB0aGUgZW5kIG9mIHRoZSBzZXJpZXMuIFNvIHlvdSByZWR1Y2UgdGhlIHJpc2sg
b2Ygc29tZW9uZQ0KPiBzZWxlY3RpbmcgaXQuDQo+IA0KDQpUaGFua3MgZm9yIHRoaXMgY2xhcmlm
aWNhdGlvbi4NCg0KPiA+IDMuIFNvIEkgY3JlYXRlZCB0aGUgZmFrZSBub2RlIHRvIGluaXRpYWxp
emUgdGhlIE5VTUEgZGF0YSwgYmVmb3JlIHdlDQo+IHBhcnNlcg0KPiA+ICAgICByZWFsIGRhdGEg
ZnJvbSBEVEIuDQo+ID4gNC4gSW4gdGhpcyBjYXNlLCB1c2VyIGNhbiB3b3JrIHdlbGwgd2l0aCBD
T05GSUdfTlVNQSBpcyBlbmFibGVkLCB3aXRob3V0DQo+ID4gICAgIHRoaXMgc2VyaWVzIGlzIGNv
bXBsZXRlZC4NCj4gDQo+IFRoZSBmbGlwIHNpZGUgaXMgeW91IGFyZSBhZGRpbmcgbW9yZSBsb2Fk
IG9uIHRoZSByZXZpZXdlcnMgYmVjYXVzZSB0aGVyZQ0KPiBhcmUgZXh0cmEgY29kZS4gVGhlIHNl
cmllcyBpcyBhbHJlYWR5IHF1aXRlIGJpZyAoNDAgcGF0Y2hlcyksIGFueSB3YXkgdG8NCj4gZWFz
ZSB0aGUgcmV2aWV3IHdpbGwgZGVmaW5pdGVseSBiZSBhcHByZWNpYXRlZC4NCj4gDQo+IEFub3Ro
ZXIgcG9zc2libGUgd2F5IHRvIGVhc2UgdGhlIHJldmlldyBpcyB0byBtb3ZlIHRoZSBwYXRjaCB0
aGF0DQo+IHJld29yay9tb3ZlIGNvZGUgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgc2VyaWVzIGFu
ZCBsZWF2ZSB0aGUgQXJtIHBhcnQNCj4gZm9yIHRoZSBzZWNvbmQgcGFydCBvZiB0aGUgc2VyaWVz
LiBUaGlzIHdheSwgd2UgY2FuIHN0YXJ0IHRvIG1lcmdlIHRoZQ0KPiBzZXJpZXMgd2l0aG91dCB3
YWl0aW5nIGZvciB0aGUgQXJtIGJpdHMgdG8gYmUgY29tcGxldGVkLg0KPiANCg0KWWVzLCBJIHdp
bGwgdHJ5IHRvIHJlLW9yZGVyIHRoZSBwYXRjaGVzIGluIHRoaXMgd2F5IGluIG5leHQgdmVyc2lv
bi4NCg0KPiBDaGVlcnMsDQo+IA0KPiAtLQ0KPiBKdWxpZW4gR3JhbGwNCg==


From xen-devel-bounces@lists.xenproject.org Sat Aug 28 15:28:48 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 15:28:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174416.317976 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mK0Fv-0005AN-Kt; Sat, 28 Aug 2021 15:28:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174416.317976; Sat, 28 Aug 2021 15: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 1mK0Fv-0005AG-Hp; Sat, 28 Aug 2021 15:28:27 +0000
Received: by outflank-mailman (input) for mailman id 174416;
 Sat, 28 Aug 2021 15:28: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 1mK0Fu-0005A6-Rg; Sat, 28 Aug 2021 15:28: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 1mK0Fu-0000Fg-IJ; Sat, 28 Aug 2021 15:28: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 1mK0Fu-0006yp-5s; Sat, 28 Aug 2021 15:28:26 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mK0Fu-0008B8-5O; Sat, 28 Aug 2021 15:28:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=VfcdgZeazvo7SLs8Ga43wh9qOCvOfCUM2cYh4XDSjig=; b=GR7YI3H2N/Qv449o8ogXoe//Jm
	X8rx8I5o9FPJfNogR1RIZ9jb/tVwcJrX7y0+Ukx/JoZoONyMJGDgZ5TIdNt1FDo2Ip6OY221dkVR6
	XNUetiwBaXhM9CGPOwpGAMGMoz+XxxyBadz33LsfdxwSP/sW0BBfLAv92jJZtgk2PDHY=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164507-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.14-testing test] 164507: regressions - FAIL
X-Osstest-Failures:
    xen-4.14-testing:test-amd64-amd64-dom0pvh-xl-amd:xen-boot:fail:regression
    xen-4.14-testing:test-amd64-amd64-dom0pvh-xl-intel:xen-boot:fail:regression
    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-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-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-credit1:migrate-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-credit1:saverestore-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:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl:saverestore-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-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-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-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-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=74e93071826fe3aaab32e469280a3253a39147f6
X-Osstest-Versions-That:
    xen=49299c4813b7847d29df07bf790f5489060f2a9c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 28 Aug 2021 15:28:26 +0000

flight 164507 xen-4.14-testing real [real]
flight 164544 xen-4.14-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/164507/
http://logs.test-lab.xenproject.org/osstest/logs/164544/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-dom0pvh-xl-amd  8 xen-boot              fail REGR. vs. 163750
 test-amd64-amd64-dom0pvh-xl-intel  8 xen-boot            fail REGR. vs. 163750

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 164544-retest

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 163750
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 163750
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 163750
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 163750
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 163750
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 163750
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 163750
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 163750
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 163750
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 163750
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 163750
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-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-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-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-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  74e93071826fe3aaab32e469280a3253a39147f6
baseline version:
 xen                  49299c4813b7847d29df07bf790f5489060f2a9c

Last test of basis   163750  2021-07-16 21:07:40 Z   42 days
Failing since        164261  2021-08-19 17:07:29 Z    8 days    6 attempts
Testing same since   164493  2021-08-25 22:08:55 Z    2 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Dario Faggioli <dfaggioli@suse.com>
  Ian Jackson <iwj@xenproject.org>
  Jan Beulich <jbeulich@suse.com>
  Jane Malalane <jane.malalane@citrix.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Stefano Stabellini <sstabellini@kernel.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 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                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 607 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Aug 28 19:26:58 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 19:26:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174448.318038 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mK3yV-0005tT-4Q; Sat, 28 Aug 2021 19:26:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174448.318038; Sat, 28 Aug 2021 19: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 1mK3yV-0005tL-1Z; Sat, 28 Aug 2021 19:26:43 +0000
Received: by outflank-mailman (input) for mailman id 174448;
 Sat, 28 Aug 2021 19:26: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 1mK3yU-0005tC-No; Sat, 28 Aug 2021 19:26: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 1mK3yU-0004n8-8Q; Sat, 28 Aug 2021 19:26: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 1mK3yT-0002NG-Tf; Sat, 28 Aug 2021 19:26:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mK3yT-0003NT-Sz; Sat, 28 Aug 2021 19:26: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=RIkcBESFB4bBfg6J8TlSXWhMznsZXCuwMFIzacWu25U=; b=1untb8rHCMm3viQz5CagOI0OAI
	1h9vrQ2N0U5dtbpygQoS2H6Rua6MFd6o7svvSi+rwlG3zLB6UK1hdajvE/Fe7l8Reo4XykzxPU2O4
	j24BajwZSjiBHRW/43EFfABbmZQ7bmQye+jZ0cs6doalFU3DRP4Mb34YhHXjO7s8RRBY=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164513-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 164513: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=82f7e315d612399f65a3bedd3b2c0364b43b6929
X-Osstest-Versions-That:
    ovmf=7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 28 Aug 2021 19:26:41 +0000

flight 164513 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164513/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 82f7e315d612399f65a3bedd3b2c0364b43b6929
baseline version:
 ovmf                 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5

Last test of basis   164461  2021-08-24 22:15:18 Z    3 days
Testing same since   164513  2021-08-27 08:41:23 Z    1 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
   7b4a99be8a..82f7e315d6  82f7e315d612399f65a3bedd3b2c0364b43b6929 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sat Aug 28 19:45:30 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 19:45:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174460.318064 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mK4GX-0000A2-Ns; Sat, 28 Aug 2021 19:45:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174460.318064; Sat, 28 Aug 2021 19:45: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 1mK4GX-00009o-Ix; Sat, 28 Aug 2021 19:45:21 +0000
Received: by outflank-mailman (input) for mailman id 174460;
 Sat, 28 Aug 2021 19:45:21 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XnWB=NT=infradead.org=peterz@srs-us1.protection.inumbo.net>)
 id 1mK4GV-00009h-Ul
 for xen-devel@lists.xenproject.org; Sat, 28 Aug 2021 19:45:21 +0000
Received: from desiato.infradead.org (unknown
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 58f0622c-47f2-41cc-b758-134f474b4748;
 Sat, 28 Aug 2021 19:45:17 +0000 (UTC)
Received: from j217100.upc-j.chello.nl ([24.132.217.100]
 helo=worktop.programming.kicks-ass.net)
 by desiato.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1mK4Fb-00Dvei-M3; Sat, 28 Aug 2021 19:44:23 +0000
Received: by worktop.programming.kicks-ass.net (Postfix, from userid 1000)
 id A026C98679D; Sat, 28 Aug 2021 21:44:21 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 58f0622c-47f2-41cc-b758-134f474b4748
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=In-Reply-To:Content-Type:MIME-Version:
	References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=XaDJo/Xp/thzakG+AyFw4gfOeYqXSd+OvToP2IAZADw=; b=iaSYaDXqR2I0RfntlzqVugj0Nj
	rXYt5kYTwyGKSPywFnw4fyUzTY9LAxxbRjtQkmlvftPwsUj5uPz2F5YspCjIPUg0EU+uNCyGQ3m1z
	lWBYQwuSheYbXudKlCIc8TNjxaN9C6VQgIvcLqNM4nad3zEOcmW0XTeahuIU8N5XEWm3P7Ut9+abN
	Q8fQ7zTfRTZ3R7RoF/QygqFwsUOnFQLkR+lOFf7wq4T+6b6moR3EFv7YMAVF9pd5Ox3uQjzGFISAV
	ivzAchA/SXjNJ8WNIC5WtqGO0JdesSU+G3xE61VeRun7z2ArlsfJGMdbJCaLwzEcpgePCOVpe7U2B
	vRqaWBQQ==;
Date: Sat, 28 Aug 2021 21:44:21 +0200
From: Peter Zijlstra <peterz@infradead.org>
To: Sean Christopherson <seanjc@google.com>
Cc: Ingo Molnar <mingo@redhat.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Marc Zyngier <maz@kernel.org>, Guo Ren <guoren@kernel.org>,
	Nick Hu <nickhu@andestech.com>, Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Thomas Gleixner <tglx@linutronix.de>,
	Borislav Petkov <bp@alien8.de>, x86@kernel.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
	James Morse <james.morse@arm.com>,
	Alexandru Elisei <alexandru.elisei@arm.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu,
	linux-csky@vger.kernel.org, linux-riscv@lists.infradead.org,
	kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
	Artem Kashkanov <artem.kashkanov@intel.com>,
	Like Xu <like.xu.linux@gmail.com>,
	Zhu Lingshan <lingshan.zhu@intel.com>
Subject: Re: [PATCH v2 01/13] perf: Ensure perf_guest_cbs aren't reloaded
 between !NULL check and deref
Message-ID: <20210828194421.GB4353@worktop.programming.kicks-ass.net>
References: <20210828003558.713983-1-seanjc@google.com>
 <20210828003558.713983-2-seanjc@google.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20210828003558.713983-2-seanjc@google.com>

On Fri, Aug 27, 2021 at 05:35:46PM -0700, Sean Christopherson wrote:

> diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
> index 2d510ad750ed..6b0405e578c1 100644
> --- a/include/linux/perf_event.h
> +++ b/include/linux/perf_event.h
> @@ -1237,6 +1237,14 @@ extern void perf_event_bpf_event(struct bpf_prog *prog,
>  				 u16 flags);
>  
>  extern struct perf_guest_info_callbacks *perf_guest_cbs;
> +static inline struct perf_guest_info_callbacks *perf_get_guest_cbs(void)
> +{
> +	/* Reg/unreg perf_guest_cbs waits for readers via synchronize_rcu(). */
> +	lockdep_assert_preemption_disabled();
> +
> +	/* Prevent reloading between a !NULL check and dereferences. */
> +	return READ_ONCE(perf_guest_cbs);
> +}

Nice..

>  extern int perf_register_guest_info_callbacks(struct perf_guest_info_callbacks *callbacks);
>  extern int perf_unregister_guest_info_callbacks(struct perf_guest_info_callbacks *callbacks);
>  
> diff --git a/kernel/events/core.c b/kernel/events/core.c
> index 464917096e73..2126f6327321 100644
> --- a/kernel/events/core.c
> +++ b/kernel/events/core.c
> @@ -6491,14 +6491,19 @@ struct perf_guest_info_callbacks *perf_guest_cbs;
>  
>  int perf_register_guest_info_callbacks(struct perf_guest_info_callbacks *cbs)
>  {
> -	perf_guest_cbs = cbs;
> +	if (WARN_ON_ONCE(perf_guest_cbs))
> +		return -EBUSY;
> +
> +	WRITE_ONCE(perf_guest_cbs, cbs);
> +	synchronize_rcu();

You're waiting for all NULL users to go away? :-) IOW, we can do without
this synchronize_rcu() call.

>  	return 0;
>  }
>  EXPORT_SYMBOL_GPL(perf_register_guest_info_callbacks);
>  
>  int perf_unregister_guest_info_callbacks(struct perf_guest_info_callbacks *cbs)
>  {
> -	perf_guest_cbs = NULL;

	if (WARN_ON_ONCE(perf_guest_cbs != cbs))
		return -EBUSY;

?

> +	WRITE_ONCE(perf_guest_cbs, NULL);
> +	synchronize_rcu();
>  	return 0;
>  }
>  EXPORT_SYMBOL_GPL(perf_unregister_guest_info_callbacks);

Yes, this ought to work fine.


From xen-devel-bounces@lists.xenproject.org Sat Aug 28 19:50:09 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 19:50:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174468.318078 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mK4LA-0001cA-Dq; Sat, 28 Aug 2021 19:50:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174468.318078; Sat, 28 Aug 2021 19:50:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mK4LA-0001c3-Am; Sat, 28 Aug 2021 19:50:08 +0000
Received: by outflank-mailman (input) for mailman id 174468;
 Sat, 28 Aug 2021 19:50:07 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XnWB=NT=infradead.org=peterz@srs-us1.protection.inumbo.net>)
 id 1mK4L8-0001XO-Ba
 for xen-devel@lists.xenproject.org; Sat, 28 Aug 2021 19:50:06 +0000
Received: from casper.infradead.org (unknown [2001:8b0:10b:1236::1])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 42ad13f0-ecd5-4b65-bf7c-59e08b9f044a;
 Sat, 28 Aug 2021 19:50:03 +0000 (UTC)
Received: from j217100.upc-j.chello.nl ([24.132.217.100]
 helo=worktop.programming.kicks-ass.net)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1mK4J0-00Fo0r-RS; Sat, 28 Aug 2021 19:48:02 +0000
Received: by worktop.programming.kicks-ass.net (Postfix, from userid 1000)
 id 1F90798679D; Sat, 28 Aug 2021 21:47: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: 42ad13f0-ecd5-4b65-bf7c-59e08b9f044a
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version:
	References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=EvpUBX0kQkaSDPnQxMYWZGVN6zhrAsMhEqKxCVzwc4o=; b=pllg0gE0w02xyjMldZ9HnPVzqu
	ta11OtXd1Bso4ilrEuT55ps2xPl2CjYBACyXlwdXXUeIjxslwwfUq6OAyrihSvrjzRr3JtkoSpE8r
	nxY3yx+Fd/3UG041LWAE2YseMLAeONAzBfACBCXTK1UhZW2z6qWvQfm+cZtswlyfd2HomsjEMhaGO
	AlA/8iv9N9xdUC/3HvjDZZKrjX+uYcxwdDOcFci5wDFWFUa+LVkIxA0cauQXcKJeC0qgJePnlirYy
	P7fXACdPsEL7EzZFzKGU7caOwmwQc2FcxEl7F6m9RiEDfUUOmMpAmYquJxamu8c1pYg7LLIf/dgFH
	3zfeLNxg==;
Date: Sat, 28 Aug 2021 21:47:52 +0200
From: Peter Zijlstra <peterz@infradead.org>
To: Sean Christopherson <seanjc@google.com>
Cc: Ingo Molnar <mingo@redhat.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Marc Zyngier <maz@kernel.org>, Guo Ren <guoren@kernel.org>,
	Nick Hu <nickhu@andestech.com>, Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Thomas Gleixner <tglx@linutronix.de>,
	Borislav Petkov <bp@alien8.de>, x86@kernel.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
	James Morse <james.morse@arm.com>,
	Alexandru Elisei <alexandru.elisei@arm.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu,
	linux-csky@vger.kernel.org, linux-riscv@lists.infradead.org,
	kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
	Artem Kashkanov <artem.kashkanov@intel.com>,
	Like Xu <like.xu.linux@gmail.com>,
	Zhu Lingshan <lingshan.zhu@intel.com>
Subject: Re: [PATCH v2 05/13] perf: Force architectures to opt-in to guest
 callbacks
Message-ID: <20210828194752.GC4353@worktop.programming.kicks-ass.net>
References: <20210828003558.713983-1-seanjc@google.com>
 <20210828003558.713983-6-seanjc@google.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20210828003558.713983-6-seanjc@google.com>

On Fri, Aug 27, 2021 at 05:35:50PM -0700, Sean Christopherson wrote:
> diff --git a/init/Kconfig b/init/Kconfig
> index 55f9f7738ebb..9ef51ae53977 100644
> --- a/init/Kconfig
> +++ b/init/Kconfig
> @@ -1776,6 +1776,9 @@ config HAVE_PERF_EVENTS
>  	help
>  	  See tools/perf/design.txt for details.
>  
> +config HAVE_GUEST_PERF_EVENTS
> +	bool
	depends on HAVE_KVM

?

> +
>  config PERF_USE_VMALLOC
>  	bool
>  	help


From xen-devel-bounces@lists.xenproject.org Sat Aug 28 20:14:44 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 20:14:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174476.318092 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mK4is-0004cc-Fr; Sat, 28 Aug 2021 20:14:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174476.318092; Sat, 28 Aug 2021 20:14: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 1mK4is-0004cT-CJ; Sat, 28 Aug 2021 20:14:38 +0000
Received: by outflank-mailman (input) for mailman id 174476;
 Sat, 28 Aug 2021 20:14:36 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XnWB=NT=infradead.org=peterz@srs-us1.protection.inumbo.net>)
 id 1mK4iq-0004cL-Pc
 for xen-devel@lists.xenproject.org; Sat, 28 Aug 2021 20:14:36 +0000
Received: from desiato.infradead.org (unknown
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id f947b922-3a4f-4fe8-8b82-218a3b1cd6a5;
 Sat, 28 Aug 2021 20:14:34 +0000 (UTC)
Received: from j217100.upc-j.chello.nl ([24.132.217.100]
 helo=worktop.programming.kicks-ass.net)
 by desiato.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1mK4hs-00Dw8H-MQ; Sat, 28 Aug 2021 20:13:43 +0000
Received: by worktop.programming.kicks-ass.net (Postfix, from userid 1000)
 id 1A47F9868D7; Sat, 28 Aug 2021 22:13:36 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f947b922-3a4f-4fe8-8b82-218a3b1cd6a5
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=In-Reply-To:Content-Type:MIME-Version:
	References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=5eM46mJiedShkh/qp5ZYvdDK6rHNXNQh8cRsw3NT0wc=; b=PCb7ByQnKwg1Y1b5amksoxMC18
	750jnriAADg3ZMPkZsQ1S64I3SWooq8RAWKHR6gvS8yq6sBTJRW/xpIDhQdtdqFGSMkbRqvzaoVOX
	RbHrtpxkLKFZ4QPToWsR2xgD4PPVFivtUlICzQb4AuxKKXG0q5V1I06RklmKdc6wzT/DQawC2aUYR
	bAQTfuPsxVqPKCnKmPQWMt4oHoj06J+I7g5V81Vo50dn/UBfFPxoTMXUOcQzRt6ogYKOXQM3TuwyX
	U9SU7AVxzEm+BWC1B9V1zMc+Wy5pDKewEdcHo9SqQqbovYL6/IUQxLHaa9mf9upz2wZvb/AUhs050
	1IIDrKxg==;
Date: Sat, 28 Aug 2021 22:13:36 +0200
From: Peter Zijlstra <peterz@infradead.org>
To: Sean Christopherson <seanjc@google.com>
Cc: Ingo Molnar <mingo@redhat.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Marc Zyngier <maz@kernel.org>, Guo Ren <guoren@kernel.org>,
	Nick Hu <nickhu@andestech.com>, Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Thomas Gleixner <tglx@linutronix.de>,
	Borislav Petkov <bp@alien8.de>, x86@kernel.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
	James Morse <james.morse@arm.com>,
	Alexandru Elisei <alexandru.elisei@arm.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu,
	linux-csky@vger.kernel.org, linux-riscv@lists.infradead.org,
	kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
	Artem Kashkanov <artem.kashkanov@intel.com>,
	Like Xu <like.xu.linux@gmail.com>,
	Zhu Lingshan <lingshan.zhu@intel.com>
Subject: Re: [PATCH v2 00/13] perf: KVM: Fix, optimize, and clean up callbacks
Message-ID: <20210828201336.GD4353@worktop.programming.kicks-ass.net>
References: <20210828003558.713983-1-seanjc@google.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20210828003558.713983-1-seanjc@google.com>

On Fri, Aug 27, 2021 at 05:35:45PM -0700, Sean Christopherson wrote:
> Like Xu (2):
>   perf/core: Rework guest callbacks to prepare for static_call support
>   perf/core: Use static_call to optimize perf_guest_info_callbacks
> 
> Sean Christopherson (11):
>   perf: Ensure perf_guest_cbs aren't reloaded between !NULL check and
>     deref
>   KVM: x86: Register perf callbacks after calling vendor's
>     hardware_setup()
>   KVM: x86: Register Processor Trace interrupt hook iff PT enabled in
>     guest
>   perf: Stop pretending that perf can handle multiple guest callbacks
>   perf: Force architectures to opt-in to guest callbacks
>   KVM: x86: Drop current_vcpu for kvm_running_vcpu + kvm_arch_vcpu
>     variable
>   KVM: x86: More precisely identify NMI from guest when handling PMI
>   KVM: Move x86's perf guest info callbacks to generic KVM
>   KVM: x86: Move Intel Processor Trace interrupt handler to vmx.c
>   KVM: arm64: Convert to the generic perf callbacks
>   KVM: arm64: Drop perf.c and fold its tiny bits of code into arm.c /
>     pmu.c

Lets keep the whole intel_pt crud inside x86...

---
Index: linux-2.6/arch/x86/events/core.c
===================================================================
--- linux-2.6.orig/arch/x86/events/core.c
+++ linux-2.6/arch/x86/events/core.c
@@ -92,7 +92,7 @@ DEFINE_STATIC_CALL_RET0(x86_pmu_guest_ge
 
 DEFINE_STATIC_CALL_RET0(x86_guest_state, *(perf_guest_cbs->state));
 DEFINE_STATIC_CALL_RET0(x86_guest_get_ip, *(perf_guest_cbs->get_ip));
-DEFINE_STATIC_CALL_RET0(x86_guest_handle_intel_pt_intr, *(perf_guest_cbs->handle_intel_pt_intr));
+DEFINE_STATIC_CALL_RET0(x86_guest_handle_intel_pt_intr, unsigned int (*)(void));
 
 void arch_perf_update_guest_cbs(struct perf_guest_info_callbacks *guest_cbs)
 {
@@ -103,14 +103,6 @@ void arch_perf_update_guest_cbs(struct p
 		static_call_update(x86_guest_state, (void *)&__static_call_return0);
 		static_call_update(x86_guest_get_ip, (void *)&__static_call_return0);
 	}
-
-	/* Implementing ->handle_intel_pt_intr is optional. */
-	if (guest_cbs && guest_cbs->handle_intel_pt_intr)
-		static_call_update(x86_guest_handle_intel_pt_intr,
-				   guest_cbs->handle_intel_pt_intr);
-	else
-		static_call_update(x86_guest_handle_intel_pt_intr,
-				   (void *)&__static_call_return0);
 }
 
 u64 __read_mostly hw_cache_event_ids
Index: linux-2.6/arch/x86/events/intel/core.c
===================================================================
--- linux-2.6.orig/arch/x86/events/intel/core.c
+++ linux-2.6/arch/x86/events/intel/core.c
@@ -2782,7 +2782,7 @@ static void intel_pmu_reset(void)
 	local_irq_restore(flags);
 }
 
-DECLARE_STATIC_CALL(x86_guest_handle_intel_pt_intr, *(perf_guest_cbs->handle_intel_pt_intr));
+DECLARE_STATIC_CALL(x86_guest_handle_intel_pt_intr, unsigned int (*)(void));
 
 static int handle_pmi_common(struct pt_regs *regs, u64 status)
 {
Index: linux-2.6/arch/x86/kvm/x86.c
===================================================================
--- linux-2.6.orig/arch/x86/kvm/x86.c
+++ linux-2.6/arch/x86/kvm/x86.c
@@ -10960,7 +10960,14 @@ int kvm_arch_hardware_setup(void *opaque
 	memcpy(&kvm_x86_ops, ops->runtime_ops, sizeof(kvm_x86_ops));
 	kvm_ops_static_call_update();
 
-	kvm_register_perf_callbacks(ops->handle_intel_pt_intr);
+	kvm_register_perf_callbacks();
+	if (ops->handle_intel_pt_intr) {
+		static_call_update(x86_guest_handle_intel_pt_intr,
+				   ops->handle_intel_pt_intr);
+	} else {
+		static_call_update(x86_guest_handle_intel_pt_intr,
+				   (void *)&__static_call_return0);
+	}
 
 	if (!kvm_cpu_cap_has(X86_FEATURE_XSAVES))
 		supported_xss = 0;
Index: linux-2.6/include/linux/perf_event.h
===================================================================
--- linux-2.6.orig/include/linux/perf_event.h
+++ linux-2.6/include/linux/perf_event.h
@@ -32,7 +32,6 @@
 struct perf_guest_info_callbacks {
 	unsigned int			(*state)(void);
 	unsigned long			(*get_ip)(void);
-	unsigned int			(*handle_intel_pt_intr)(void);
 };
 
 #ifdef CONFIG_HAVE_HW_BREAKPOINT
Index: linux-2.6/virt/kvm/kvm_main.c
===================================================================
--- linux-2.6.orig/virt/kvm/kvm_main.c
+++ linux-2.6/virt/kvm/kvm_main.c
@@ -5374,12 +5374,10 @@ static unsigned long kvm_guest_get_ip(vo
 static struct perf_guest_info_callbacks kvm_guest_cbs = {
 	.state			= kvm_guest_state,
 	.get_ip			= kvm_guest_get_ip,
-	.handle_intel_pt_intr	= NULL,
 };
 
-void kvm_register_perf_callbacks(unsigned int (*pt_intr_handler)(void))
+void kvm_register_perf_callbacks(void)
 {
-	kvm_guest_cbs.handle_intel_pt_intr = pt_intr_handler;
 	perf_register_guest_info_callbacks(&kvm_guest_cbs);
 }
 #endif
Index: linux-2.6/arch/arm64/kvm/arm.c
===================================================================
--- linux-2.6.orig/arch/arm64/kvm/arm.c
+++ linux-2.6/arch/arm64/kvm/arm.c
@@ -1749,7 +1749,7 @@ static int init_subsystems(void)
 		goto out;
 
 	kvm_pmu_init();
-	kvm_register_perf_callbacks(NULL);
+	kvm_register_perf_callbacks();
 
 	kvm_sys_reg_table_init();
 
Index: linux-2.6/include/linux/kvm_host.h
===================================================================
--- linux-2.6.orig/include/linux/kvm_host.h
+++ linux-2.6/include/linux/kvm_host.h
@@ -1121,7 +1121,7 @@ static inline bool kvm_arch_intc_initial
 #ifdef __KVM_WANT_PERF_CALLBACKS
 unsigned long kvm_arch_vcpu_get_ip(struct kvm_vcpu *vcpu);
 
-void kvm_register_perf_callbacks(unsigned int (*pt_intr_handler)(void));
+void kvm_register_perf_callbacks(void);
 static inline void kvm_unregister_perf_callbacks(void)
 {
 	perf_unregister_guest_info_callbacks();


From xen-devel-bounces@lists.xenproject.org Sat Aug 28 21:44:55 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Aug 2021 21:44:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174490.318126 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mK67s-00066s-2P; Sat, 28 Aug 2021 21:44:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174490.318126; Sat, 28 Aug 2021 21:44:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mK67r-00066l-Vc; Sat, 28 Aug 2021 21:44:31 +0000
Received: by outflank-mailman (input) for mailman id 174490;
 Sat, 28 Aug 2021 21:44: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 1mK67r-00066b-GT; Sat, 28 Aug 2021 21:44: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 1mK67r-0007CX-At; Sat, 28 Aug 2021 21:44: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 1mK67q-00084j-OY; Sat, 28 Aug 2021 21:44:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mK67q-00012I-O1; Sat, 28 Aug 2021 21:44:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=KB8ABCbh6F3DD8T7dY23/rgwGCQR4uPCefLSVgW5qUM=; b=LxvOoPdqzNv83bsyhjqTa2ywMD
	dAqGiwf3LhEuyfsL4wZITevyAVts43T/SqxgCEzyPRBsuObj5J+Bkb3h4PjjW8tRTH16u1kNIhMU8
	9ZYCV3ROEfqUEvzJ1x6W14ilsfQtKICUyKfbOkOfHlTvJ4DNptuFX9Ed0kIxDiOdFdq0=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164511-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.15-testing test] 164511: regressions - FAIL
X-Osstest-Failures:
    xen-4.15-testing:test-amd64-amd64-dom0pvh-xl-amd:xen-boot:fail:regression
    xen-4.15-testing:test-amd64-amd64-dom0pvh-xl-intel:xen-boot:fail:regression
    xen-4.15-testing:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-4.15-testing:test-arm64-arm64-xl-seattle:xen-boot:fail:heisenbug
    xen-4.15-testing:test-amd64-i386-xl-xsm:guest-localmigrate/x10:fail:heisenbug
    xen-4.15-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-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-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm: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-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-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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=91bb9e9b0c0e2af926ab08958f3d65f07a105cb6
X-Osstest-Versions-That:
    xen=dba774896f7dd74773c14d537643b7d7477fefcd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 28 Aug 2021 21:44:30 +0000

flight 164511 xen-4.15-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164511/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-dom0pvh-xl-amd  8 xen-boot              fail REGR. vs. 163759
 test-amd64-amd64-dom0pvh-xl-intel  8 xen-boot            fail REGR. vs. 163759

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail in 164495 pass in 164511
 test-arm64-arm64-xl-seattle   8 xen-boot                   fail pass in 164495
 test-amd64-i386-xl-xsm       20 guest-localmigrate/x10     fail pass in 164495

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-seattle 15 migrate-support-check fail in 164495 never pass
 test-arm64-arm64-xl-seattle 16 saverestore-support-check fail in 164495 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 163759
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 163759
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 163759
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 163759
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 163759
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 163759
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 163759
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 163759
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 163759
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 163759
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 163759
 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-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  91bb9e9b0c0e2af926ab08958f3d65f07a105cb6
baseline version:
 xen                  dba774896f7dd74773c14d537643b7d7477fefcd

Last test of basis   163759  2021-07-17 04:12:25 Z   42 days
Failing since        164262  2021-08-19 17:07:29 Z    9 days    6 attempts
Testing same since   164495  2021-08-25 23:22:14 Z    2 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Dario Faggioli <dfaggioli@suse.com>
  Ian Jackson <iwj@xenproject.org>
  Jan Beulich <jbeulich@suse.com>
  Jane Malalane <jane.malalane@citrix.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Stefano Stabellini <sstabellini@kernel.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       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                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 983 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 29 02:22:53 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 29 Aug 2021 02:22:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174524.318213 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKASt-0001Pp-Rg; Sun, 29 Aug 2021 02:22:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174524.318213; Sun, 29 Aug 2021 02:22:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKASt-0001Ph-Lw; Sun, 29 Aug 2021 02:22:31 +0000
Received: by outflank-mailman (input) for mailman id 174524;
 Sun, 29 Aug 2021 02:22: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 1mKASs-0001PX-2N; Sun, 29 Aug 2021 02:22: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 1mKASr-0002Vf-S2; Sun, 29 Aug 2021 02:22: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 1mKASr-0005BL-Ip; Sun, 29 Aug 2021 02:22:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mKASr-0003yF-II; Sun, 29 Aug 2021 02:22: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=U6nSaZkRk0H5zmkoEpNtyYZhQg9KWQWGoJ+9RZn8EaE=; b=g4ERg1nEx3DIsnhUSjY8aAUCpK
	AOZrsBF9EaUVmmYrIULz9rpqHqwjsjs22xoBBKuv3xJ6dLf364Zmah8ZoTdMyOeFN7FDjBG6B0B0V
	gsdyBRauOSLGGBKDsOzWgucfTkqeSF5uK9Jr5bhCrR0sJGQlZdOHq1fcEEam7OUPPrJk=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164518-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.13-testing test] 164518: regressions - FAIL
X-Osstest-Failures:
    xen-4.13-testing:test-amd64-amd64-dom0pvh-xl-amd:xen-boot:fail:regression
    xen-4.13-testing:test-amd64-amd64-dom0pvh-xl-intel:xen-boot:fail:regression
    xen-4.13-testing:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:heisenbug
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=dd29f4f4961d5c99660874c7ff090bd3c2ef6e5b
X-Osstest-Versions-That:
    xen=32d580902b959000d79d51dff03a3560653c4fcb
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 29 Aug 2021 02:22:29 +0000

flight 164518 xen-4.13-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164518/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-dom0pvh-xl-amd  8 xen-boot              fail REGR. vs. 163761
 test-amd64-amd64-dom0pvh-xl-intel  8 xen-boot            fail REGR. vs. 163761

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-rtds     20 guest-localmigrate/x10     fail pass in 164496

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 163761
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 163761
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 163761
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 163761
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 163761
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 163761
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 163761
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 163761
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 163761
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 163761
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 163761
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  dd29f4f4961d5c99660874c7ff090bd3c2ef6e5b
baseline version:
 xen                  32d580902b959000d79d51dff03a3560653c4fcb

Last test of basis   163761  2021-07-17 07:57:22 Z   42 days
Failing since        164260  2021-08-19 17:07:29 Z    9 days    6 attempts
Testing same since   164496  2021-08-26 00:10:44 Z    3 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Dario Faggioli <dfaggioli@suse.com>
  Ian Jackson <iwj@xenproject.org>
  Jan Beulich <jbeulich@suse.com>
  Jane Malalane <jane.malalane@citrix.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Stefano Stabellini <sstabellini@kernel.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-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-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 631 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 29 06:00:48 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 29 Aug 2021 06:00:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174546.318268 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKDro-0008EL-BM; Sun, 29 Aug 2021 06:00:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174546.318268; Sun, 29 Aug 2021 06:00:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKDro-0008EE-8O; Sun, 29 Aug 2021 06:00:28 +0000
Received: by outflank-mailman (input) for mailman id 174546;
 Sun, 29 Aug 2021 06:00: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 1mKDrm-0008E4-9x; Sun, 29 Aug 2021 06:00: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 1mKDrm-0006eN-0G; Sun, 29 Aug 2021 06:00: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 1mKDrl-0006jb-Om; Sun, 29 Aug 2021 06:00:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mKDrl-0001u9-OF; Sun, 29 Aug 2021 06:00:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Message-Id:Subject:To;
	bh=YQnaR+gH8qVRgZQufyW3lAOVhd5qdQRkKOIg2yQifhg=; b=5kfoKfQ/Li9APkWvqU15818kCl
	6m9zehOFnPfiBZesaj7a9RA8K4UK1+Fc8a6j/1a3XuBjmDhtRG0j8XnlBPrzXyuQUjc8RVTKuSdW7
	dpLq+k/RzPoBAxjnZcY4yZt2EDPVafpySMAEt/d2200pGKck8WrOlFoMlTbPa2N1bhXo=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Subject: [xen-4.14-testing bisection] complete test-amd64-amd64-dom0pvh-xl-intel
Message-Id: <E1mKDrl-0001u9-OF@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 29 Aug 2021 06:00:25 +0000

branch xen-4.14-testing
xenbranch xen-4.14-testing
job test-amd64-amd64-dom0pvh-xl-intel
testid xen-boot

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 git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  6f4c2146893c10ec17e854242613428f96e86757
  Bug not present: 968526568c5519e32298b5cef8f05a6caee5f721
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164582/


  commit 6f4c2146893c10ec17e854242613428f96e86757
  Author: Jan Beulich <jbeulich@suse.com>
  Date:   Wed Aug 25 15:06:51 2021 +0200
  
      x86/p2m: guard (in particular) identity mapping entries
      
      Such entries, created by set_identity_p2m_entry(), should only be
      destroyed by clear_identity_p2m_entry(). However, similarly, entries
      created by set_mmio_p2m_entry() should only be torn down by
      clear_mmio_p2m_entry(), so the logic gets based upon p2m_mmio_direct as
      the entry type (separation between "ordinary" and 1:1 mappings would
      require a further indicator to tell apart the two).
      
      As to the guest_remove_page() change, commit 48dfb297a20a ("x86/PVH:
      allow guest_remove_page to remove p2m_mmio_direct pages"), which
      introduced the call to clear_mmio_p2m_entry(), claimed this was done for
      hwdom only without this actually having been the case. However, this
      code shouldn't be there in the first place, as MMIO entries shouldn't be
      dropped this way. Avoid triggering the warning again that 48dfb297a20a
      silenced by an adjustment to xenmem_add_to_physmap_one() instead.
      
      Note that guest_physmap_mark_populate_on_demand() gets tightened beyond
      the immediate purpose of this change.
      
      Note also that I didn't inspect code which isn't security supported,
      e.g. sharing, paging, or altp2m.
      
      This is CVE-2021-28694 / part of XSA-378.
      
      Signed-off-by: Jan Beulich <jbeulich@suse.com>
      Reviewed-by: Paul Durrant <paul@xen.org>
      master commit: 753cb68e653002e89fdcd1c80e52905fdbfb78cb
      master date: 2021-08-25 14:17:32 +0200


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-4.14-testing/test-amd64-amd64-dom0pvh-xl-intel.xen-boot.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/xen-4.14-testing/test-amd64-amd64-dom0pvh-xl-intel.xen-boot --summary-out=tmp/164582.bisection-summary --basis-template=163750 --blessings=real,real-bisect,real-retry xen-4.14-testing test-amd64-amd64-dom0pvh-xl-intel xen-boot
Searching for failure / basis pass:
 164507 fail [host=elbling0] / 164426 [host=huxelrebe1] 164353 [host=godello1] 164300 [host=godello0] 164261 [host=elbling1] 163750 [host=fiano0] 163726 [host=elbling1] 163709 [host=fiano1] 162891 [host=huxelrebe1] 162881 [host=godello0] 162547 [host=albana0] 162365 ok.
Failure / basis pass flights: 164507 / 162365
(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 git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git
Latest c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 54082c81d96028ba8c76fbe6784085cf1df76b20 74e93071826fe3aaab32e469280a3253a39147f6
Basis pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75e9154f818a58ffc3a28db9f8c97279e723f02d 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 81433aa8a19b36f9e3d50697608c93d8a28bf772 b046e05736deecbd8254540c5e45444115fb1c98
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#75e9154f818a58ffc3a28db9f8c97279e723f02d-7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 git://xenbits.xen.org/qemu-xen-traditional.git#3c659044118e34603161457db99\
 34a34f816d78b-3c659044118e34603161457db9934a34f816d78b git://xenbits.xen.org/qemu-xen.git#d7d6a60e73ee21e82f0bac2036153ccccf996e6c-d7d6a60e73ee21e82f0bac2036153ccccf996e6c git://xenbits.xen.org/osstest/seabios.git#81433aa8a19b36f9e3d50697608c93d8a28bf772-54082c81d96028ba8c76fbe6784085cf1df76b20 git://xenbits.xen.org/xen.git#b046e05736deecbd8254540c5e45444115fb1c98-74e93071826fe3aaab32e469280a3253a39147f6
Loaded 12607 nodes in revision graph
Searching for test results:
 162881 [host=godello0]
 162891 [host=huxelrebe1]
 163709 [host=fiano1]
 163726 [host=elbling1]
 163750 [host=fiano0]
 164261 [host=elbling1]
 164300 [host=godello0]
 164353 [host=godello1]
 164426 [host=huxelrebe1]
 164493 fail irrelevant
 164508 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75e9154f818a58ffc3a28db9f8c97279e723f02d 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 81433aa8a19b36f9e3d50697608c93d8a28bf772 b046e05736deecbd8254540c5e45444115fb1c98
 164507 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 54082c81d96028ba8c76fbe6784085cf1df76b20 74e93071826fe3aaab32e469280a3253a39147f6
 164534 fail irrelevant
 164536 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 8697dc60cc28b2673aed4998fb6b21b9bf54a76d 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 54082c81d96028ba8c76fbe6784085cf1df76b20 b6a8c4f72def4d1135ff42660a86276ce2565c8c
 164538 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 0deeab36d179e79de7b93bb930b4d6eb24185416 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 54082c81d96028ba8c76fbe6784085cf1df76b20 49299c4813b7847d29df07bf790f5489060f2a9c
 164540 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c82d6dd4a353d3314b7eb7dffd8321204a1c217b 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 54082c81d96028ba8c76fbe6784085cf1df76b20 49299c4813b7847d29df07bf790f5489060f2a9c
 164542 pass irrelevant
 164546 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 54082c81d96028ba8c76fbe6784085cf1df76b20 74e93071826fe3aaab32e469280a3253a39147f6
 164549 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 54082c81d96028ba8c76fbe6784085cf1df76b20 f7a973031675e0be4a31178bfae28ab4a305dbdf
 164551 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 54082c81d96028ba8c76fbe6784085cf1df76b20 29aeeda345168a70facfd7c7ef16fbea6d447061
 164562 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 54082c81d96028ba8c76fbe6784085cf1df76b20 968526568c5519e32298b5cef8f05a6caee5f721
 164566 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 54082c81d96028ba8c76fbe6784085cf1df76b20 6f4c2146893c10ec17e854242613428f96e86757
 164557 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 54082c81d96028ba8c76fbe6784085cf1df76b20 19587584f2f780547a8216b1b9d5cdf3dde29131
 164570 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 54082c81d96028ba8c76fbe6784085cf1df76b20 968526568c5519e32298b5cef8f05a6caee5f721
 164573 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 54082c81d96028ba8c76fbe6784085cf1df76b20 6f4c2146893c10ec17e854242613428f96e86757
 164578 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 54082c81d96028ba8c76fbe6784085cf1df76b20 968526568c5519e32298b5cef8f05a6caee5f721
 164582 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 54082c81d96028ba8c76fbe6784085cf1df76b20 6f4c2146893c10ec17e854242613428f96e86757
 162365 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75e9154f818a58ffc3a28db9f8c97279e723f02d 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 81433aa8a19b36f9e3d50697608c93d8a28bf772 b046e05736deecbd8254540c5e45444115fb1c98
 162547 [host=albana0]
Searching for interesting versions
 Result found: flight 162365 (pass), for basis pass
 For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 54082c81d96028ba8c76fbe6784085cf1df76b20 968526568c5519e32298b5cef8f05a6caee5f721, results HASH(0x5629a5e486f0) HASH(0x5629a5e060a8) HASH(0x5629a5e44ce0) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1\
 e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 54082c81d96028ba8c76fbe6784085cf1df76b20 19587584f2f780547a8216b1b9d5cdf3dde29131, results HASH(0x5629a5e0eff0) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac20\
 36153ccccf996e6c 54082c81d96028ba8c76fbe6784085cf1df76b20 f7a973031675e0be4a31178bfae28ab4a305dbdf, results HASH(0x5629a5e242b8) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c82d6dd4a353d3314b7eb7dffd8321204a1c217b 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 54082c81d96028ba8c76fbe6784085cf1df76b20 49299c4813b7847d29df07bf790f5489060f2a9c, results HASH(0x5629a5df8828) For basis\
  failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 0deeab36d179e79de7b93bb930b4d6eb24185416 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 54082c81d96028ba8c76fbe6784085cf1df76b20 49299c4813b7847d29df07bf790f5489060f2a9c, results HASH(0x5629a5e26be8) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 8697dc60cc28b2673aed\
 4998fb6b21b9bf54a76d 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 54082c81d96028ba8c76fbe6784085cf1df76b20 b6a8c4f72def4d1135ff42660a86276ce2565c8c, results HASH(0x5629a5e11620) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75e9154f818a58ffc3a28db9f8c97279e723f02d 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 81433aa8a19b36f9e3d50697608c93d8a28\
 bf772 b046e05736deecbd8254540c5e45444115fb1c98, results HASH(0x5629a5e13328) HASH(0x5629a5e13628) Result found: flight 164507 (fail), for basis failure (at ancestor ~601)
 Repro found: flight 164508 (pass), for basis pass
 Repro found: flight 164546 (fail), for basis failure
 0 revisions at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 54082c81d96028ba8c76fbe6784085cf1df76b20 968526568c5519e32298b5cef8f05a6caee5f721
No revisions left to test, checking graph state.
 Result found: flight 164562 (pass), for last pass
 Result found: flight 164566 (fail), for first failure
 Repro found: flight 164570 (pass), for last pass
 Repro found: flight 164573 (fail), for first failure
 Repro found: flight 164578 (pass), for last pass
 Repro found: flight 164582 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  6f4c2146893c10ec17e854242613428f96e86757
  Bug not present: 968526568c5519e32298b5cef8f05a6caee5f721
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164582/


  commit 6f4c2146893c10ec17e854242613428f96e86757
  Author: Jan Beulich <jbeulich@suse.com>
  Date:   Wed Aug 25 15:06:51 2021 +0200
  
      x86/p2m: guard (in particular) identity mapping entries
      
      Such entries, created by set_identity_p2m_entry(), should only be
      destroyed by clear_identity_p2m_entry(). However, similarly, entries
      created by set_mmio_p2m_entry() should only be torn down by
      clear_mmio_p2m_entry(), so the logic gets based upon p2m_mmio_direct as
      the entry type (separation between "ordinary" and 1:1 mappings would
      require a further indicator to tell apart the two).
      
      As to the guest_remove_page() change, commit 48dfb297a20a ("x86/PVH:
      allow guest_remove_page to remove p2m_mmio_direct pages"), which
      introduced the call to clear_mmio_p2m_entry(), claimed this was done for
      hwdom only without this actually having been the case. However, this
      code shouldn't be there in the first place, as MMIO entries shouldn't be
      dropped this way. Avoid triggering the warning again that 48dfb297a20a
      silenced by an adjustment to xenmem_add_to_physmap_one() instead.
      
      Note that guest_physmap_mark_populate_on_demand() gets tightened beyond
      the immediate purpose of this change.
      
      Note also that I didn't inspect code which isn't security supported,
      e.g. sharing, paging, or altp2m.
      
      This is CVE-2021-28694 / part of XSA-378.
      
      Signed-off-by: Jan Beulich <jbeulich@suse.com>
      Reviewed-by: Paul Durrant <paul@xen.org>
      master commit: 753cb68e653002e89fdcd1c80e52905fdbfb78cb
      master date: 2021-08-25 14:17:32 +0200

pnmtopng: 137 colors found
Revision graph left in /home/logs/results/bisect/xen-4.14-testing/test-amd64-amd64-dom0pvh-xl-intel.xen-boot.{dot,ps,png,html,svg}.
----------------------------------------
164582: tolerable ALL FAIL

flight 164582 xen-4.14-testing real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/164582/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-amd64-dom0pvh-xl-intel  8 xen-boot           fail baseline untested


jobs:
 test-amd64-amd64-dom0pvh-xl-intel                            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 Aug 29 07:51:20 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 29 Aug 2021 07:51:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174573.318322 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKFam-0003T6-PK; Sun, 29 Aug 2021 07:51:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174573.318322; Sun, 29 Aug 2021 07:51: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 1mKFam-0003Sz-MI; Sun, 29 Aug 2021 07:51:00 +0000
Received: by outflank-mailman (input) for mailman id 174573;
 Sun, 29 Aug 2021 07:50:58 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Chlj=NU=suse.de=colyli@srs-us1.protection.inumbo.net>)
 id 1mKFak-0003St-Mo
 for xen-devel@lists.xenproject.org; Sun, 29 Aug 2021 07:50:58 +0000
Received: from smtp-out2.suse.de (unknown [195.135.220.29])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id adbab187-e2c7-44e3-a6d6-2a93e0af5a16;
 Sun, 29 Aug 2021 07:50:57 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 30EC12001C;
 Sun, 29 Aug 2021 07:50: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 D2FD0139F6;
 Sun, 29 Aug 2021 07:50:51 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id gOd5KVs8K2GGHQAAMHmgww
 (envelope-from <colyli@suse.de>); Sun, 29 Aug 2021 07:50: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: adbab187-e2c7-44e3-a6d6-2a93e0af5a16
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1630223456; 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=73J2UE8Czy++p+oC2c1YQ/nI6lCZX18/T7xzfmn1GQM=;
	b=U/JTwI4r3UueWPSbL2BXG0B/1O//PhaHiI20X1CFPhvqcKVCPcipBO2UjcWjYYOYezDHsc
	jz+dY5JD+n47H2SRr9A44KhZB4Wor9uJqqtN7Qc6hIlEktbVPMVYm6O6BTv5kEv6tb9Crr
	SZLxy6G82g8to2hSA7W15AVvHpWWETo=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1630223456;
	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=73J2UE8Czy++p+oC2c1YQ/nI6lCZX18/T7xzfmn1GQM=;
	b=MpYnVtu9WN8URWUoLPwSo92l76vQxZyq4UzwCv00Idt0AlLalqJbPnZZrNzWkIueaKk2T9
	6+2V/KTFaZfEzEBg==
Subject: Re: [PATCH 02/10] bcache: add error handling support for add_disk()
To: Luis Chamberlain <mcgrof@kernel.org>
Cc: xen-devel@lists.xenproject.org, nvdimm@lists.linux.dev,
 linux-nvme@lists.infradead.org, linux-bcache@vger.kernel.org,
 linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, axboe@kernel.dk,
 kent.overstreet@gmail.com, kbusch@kernel.org, sagi@grimberg.me,
 vishal.l.verma@intel.com, dan.j.williams@intel.com, dave.jiang@intel.com,
 ira.weiny@intel.com, konrad.wilk@oracle.com, roger.pau@citrix.com,
 boris.ostrovsky@oracle.com, jgross@suse.com, sstabellini@kernel.org,
 minchan@kernel.org, ngupta@vflare.org, senozhatsky@chromium.org
References: <20210827191809.3118103-1-mcgrof@kernel.org>
 <20210827191809.3118103-3-mcgrof@kernel.org>
From: Coly Li <colyli@suse.de>
Message-ID: <59a4ce06-22ee-7047-487e-621da3f7c507@suse.de>
Date: Sun, 29 Aug 2021 15:50:49 +0800
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210827191809.3118103-3-mcgrof@kernel.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Content-Language: en-US

On 8/28/21 3:18 AM, Luis Chamberlain wrote:
> We never checked for errors on add_disk() as this function
> returned void. Now that this is fixed, use the shiny new
> error handling.
>
> This driver doesn't do any unwinding with blk_cleanup_disk()
> even on errors after add_disk() and so we follow that
> tradition.
>
> Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>

Acked-by: Coly Li <colyli@suse.de>

Thanks.

> ---
>   drivers/md/bcache/super.c | 17 ++++++++++++-----
>   1 file changed, 12 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/md/bcache/super.c b/drivers/md/bcache/super.c
> index f2874c77ff79..f0c32cdd6594 100644
> --- a/drivers/md/bcache/super.c
> +++ b/drivers/md/bcache/super.c
> @@ -1082,7 +1082,9 @@ int bch_cached_dev_run(struct cached_dev *dc)
>   		closure_sync(&cl);
>   	}
>   
> -	add_disk(d->disk);
> +	ret = add_disk(d->disk);
> +	if (ret)
> +		goto out;
>   	bd_link_disk_holder(dc->bdev, dc->disk.disk);
>   	/*
>   	 * won't show up in the uevent file, use udevadm monitor -e instead
> @@ -1534,10 +1536,11 @@ static void flash_dev_flush(struct closure *cl)
>   
>   static int flash_dev_run(struct cache_set *c, struct uuid_entry *u)
>   {
> +	int err = -ENOMEM;
>   	struct bcache_device *d = kzalloc(sizeof(struct bcache_device),
>   					  GFP_KERNEL);
>   	if (!d)
> -		return -ENOMEM;
> +		goto err_ret;
>   
>   	closure_init(&d->cl, NULL);
>   	set_closure_fn(&d->cl, flash_dev_flush, system_wq);
> @@ -1551,9 +1554,12 @@ static int flash_dev_run(struct cache_set *c, struct uuid_entry *u)
>   	bcache_device_attach(d, c, u - c->uuids);
>   	bch_sectors_dirty_init(d);
>   	bch_flash_dev_request_init(d);
> -	add_disk(d->disk);
> +	err = add_disk(d->disk);
> +	if (err)
> +		goto err;
>   
> -	if (kobject_add(&d->kobj, &disk_to_dev(d->disk)->kobj, "bcache"))
> +	err = kobject_add(&d->kobj, &disk_to_dev(d->disk)->kobj, "bcache");
> +	if (err)
>   		goto err;
>   
>   	bcache_device_link(d, c, "volume");
> @@ -1567,7 +1573,8 @@ static int flash_dev_run(struct cache_set *c, struct uuid_entry *u)
>   	return 0;
>   err:
>   	kobject_put(&d->kobj);
> -	return -ENOMEM;
> +err_ret:
> +	return err;
>   }
>   
>   static int flash_devs_run(struct cache_set *c)



From xen-devel-bounces@lists.xenproject.org Sun Aug 29 09:47:42 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 29 Aug 2021 09:47:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174593.318354 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKHPS-0007tx-Qi; Sun, 29 Aug 2021 09:47:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174593.318354; Sun, 29 Aug 2021 09:47:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKHPS-0007tq-ML; Sun, 29 Aug 2021 09:47:26 +0000
Received: by outflank-mailman (input) for mailman id 174593;
 Sun, 29 Aug 2021 09:47: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 1mKHPR-0007tQ-4A; Sun, 29 Aug 2021 09:47: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 1mKHPQ-0002T2-Uj; Sun, 29 Aug 2021 09:47:24 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mKHPQ-000068-MX; Sun, 29 Aug 2021 09:47:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mKHPQ-00072P-M2; Sun, 29 Aug 2021 09:47: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=1rsaEBhry++lnsgr4Dn5RUp74FI5Qh7L2iYovonpOAk=; b=uosrzleYHIm5IgTxbZi15R2K+G
	iSMZnKLS7dZK3KauR3Twbih//olkGDk7NFhMQiGG6s1XueWYD9xRfDpey6QsTCHrpWMMDxNNqmbKP
	VQL7EBWD+do8Ab0MGllp044VTUPsVVnVk8YjOUpZQbcUbVgWCRBVh8jKLyHytBW3kiXM=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164526-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 164526: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-armhf-armhf-xl:xen-boot:fail:heisenbug
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check: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-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-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-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-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-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=d8ae530ec00368d4adfb996b5ef6c74cb4460504
X-Osstest-Versions-That:
    qemuu=810e0cd1a21ffb6107d2ca254f1f6485483d3534
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 29 Aug 2021 09:47:24 +0000

flight 164526 qemu-mainline real [real]
flight 164592 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/164526/
http://logs.test-lab.xenproject.org/osstest/logs/164592/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl           8 xen-boot            fail pass in 164592-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl         15 migrate-support-check fail in 164592 never pass
 test-armhf-armhf-xl     16 saverestore-support-check fail in 164592 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164497
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164497
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164497
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164497
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164497
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164497
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164497
 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-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-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-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                d8ae530ec00368d4adfb996b5ef6c74cb4460504
baseline version:
 qemuu                810e0cd1a21ffb6107d2ca254f1f6485483d3534

Last test of basis   164497  2021-08-26 03:06:46 Z    3 days
Testing same since   164526  2021-08-27 18:38:37 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <f4bug@amsat.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          fail    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   810e0cd1a2..d8ae530ec0  d8ae530ec00368d4adfb996b5ef6c74cb4460504 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Sun Aug 29 09:51:52 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 29 Aug 2021 09:51:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174599.318367 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKHTj-00010P-AY; Sun, 29 Aug 2021 09:51:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174599.318367; Sun, 29 Aug 2021 09: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 1mKHTj-00010I-7O; Sun, 29 Aug 2021 09:51:51 +0000
Received: by outflank-mailman (input) for mailman id 174599;
 Sun, 29 Aug 2021 09:51:50 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mKHTi-000108-0i; Sun, 29 Aug 2021 09:51:50 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mKHTh-0002Xd-Rm; Sun, 29 Aug 2021 09:51: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 1mKHTh-0000EB-JZ; Sun, 29 Aug 2021 09:51:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mKHTh-0001TB-J6; Sun, 29 Aug 2021 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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=MELq+2KImTyvp4Piw6w0k55vc2e5S8x8siPtQZARKho=; b=wMfLB3oBOSpWIgLXNVFoCYzY4P
	BiYqGsQG9kBGdI0rbkkX5MbmymkySknnQTUYwQnkwI6UHzAnrPKLr5xZnvfuC8pmDOThCBS+hl7EH
	C+fZBsORKG0D9yoaPrYZPbkJvxBTFZ0L9EFJRegeldC/0bNWI98yeznwBjs9e2bZzrdo=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164595-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-coverity test] 164595: all pass - PUSHED
X-Osstest-Versions-This:
    xen=8064488062641ae505b2a7369611c38057a7788b
X-Osstest-Versions-That:
    xen=a931e8e64af07bd333a31f3b71a3f8f3e7910857
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 29 Aug 2021 09:51:49 +0000

flight 164595 xen-unstable-coverity real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164595/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 xen                  8064488062641ae505b2a7369611c38057a7788b
baseline version:
 xen                  a931e8e64af07bd333a31f3b71a3f8f3e7910857

Last test of basis   164478  2021-08-25 09:18:31 Z    4 days
Testing same since   164595  2021-08-29 09:18:29 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Stefano Stabellini <sstabellini@kernel.org>

jobs:
 coverity-amd64                                               pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   a931e8e64a..8064488062  8064488062641ae505b2a7369611c38057a7788b -> coverity-tested/smoke


From xen-devel-bounces@lists.xenproject.org Sun Aug 29 11:34:31 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 29 Aug 2021 11:34:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174622.318409 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKJ4q-0003lC-4t; Sun, 29 Aug 2021 11:34:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174622.318409; Sun, 29 Aug 2021 11:34: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 1mKJ4q-0003l5-0L; Sun, 29 Aug 2021 11:34:16 +0000
Received: by outflank-mailman (input) for mailman id 174622;
 Sun, 29 Aug 2021 11:34: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 1mKJ4o-0003kv-LM; Sun, 29 Aug 2021 11:34: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 1mKJ4o-0004Pl-H3; Sun, 29 Aug 2021 11:34: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 1mKJ4o-0005vy-7D; Sun, 29 Aug 2021 11:34:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mKJ4o-0000L9-6h; Sun, 29 Aug 2021 11: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=aS3yVM6j3t8nf+v+b345zPMAeVc/b5KOXTYVWgDyot4=; b=gHaqod6TXlVT5BXAMD8PeY+vDj
	c0D5yZl4Ji6P9anBCTJDp9AcQ5X6XwouI9GTWZyQVuPql99iNqA3KnY1T3rIKU/1PnhoHTHA+irm0
	GXqiVtVm6CWUpPlZRtu+9FOp19BPyGbgFJwbYYYzHBgwbpk2gmLoBu7b8H1KRw/E6ekw=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164539-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 164539: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=50809fcc86fcbf9e0bb0bc1154780c7556f43031
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 29 Aug 2021 11:34:14 +0000

flight 164539 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164539/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              50809fcc86fcbf9e0bb0bc1154780c7556f43031
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  415 days
Failing since        151818  2020-07-11 04:18:52 Z  414 days  404 attempts
Testing same since   164539  2021-08-28 11:46:04 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  Cédric Bosdonnat <cbosdonnat@suse.com>
  Côme Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano Fidêncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Ian Wienand <iwienand@redhat.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  John Ferlan <jferlan@redhat.com>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  Ján Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Michał Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  Moshe Levi <moshele@nvidia.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr Drąg <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tomáš Golembiovský <tgolembi@redhat.com>
  Tomáš Janoušek <tomi@nomi.cz>
  Tuguoyi <tu.guoyi@h3c.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  William Douglas <william.douglas@intel.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 71383 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 29 12:07:25 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 29 Aug 2021 12:07:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174634.318432 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKJam-0007bn-T5; Sun, 29 Aug 2021 12:07:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174634.318432; Sun, 29 Aug 2021 12: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 1mKJam-0007bg-Ph; Sun, 29 Aug 2021 12:07:16 +0000
Received: by outflank-mailman (input) for mailman id 174634;
 Sun, 29 Aug 2021 12: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 1mKJak-0007bW-OZ; Sun, 29 Aug 2021 12: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 1mKJak-000526-II; Sun, 29 Aug 2021 12: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 1mKJaj-0007Q3-TE; Sun, 29 Aug 2021 12:07:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mKJaj-0007Ea-Sl; Sun, 29 Aug 2021 12:07:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Message-Id:Subject:To;
	bh=tXNS7i71bNTggk27+qvtzTQf2K92Wi2f0CJojovZgzo=; b=iZX3MNZIVrBT9KXjggeDm6KYQi
	gwpe9MJlS7yd0hCgROknKZpAh/e4lIqoIgYmkHPjkqX9qXW8N6n+kUvUOz6STsQuA0u18l5XPx/g8
	lT738LVIQhaYYSRoOXG4oIM+2wFbqJf6MZZ68FehvYqMoLesT8UT0s9mjhKD1CLwNFxQ=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Subject: [xen-4.11-testing bisection] complete test-amd64-i386-xl-qemuu-ovmf-amd64
Message-Id: <E1mKJaj-0007Ea-Sl@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 29 Aug 2021 12:07:13 +0000

branch xen-4.11-testing
xenbranch xen-4.11-testing
job test-amd64-i386-xl-qemuu-ovmf-amd64
testid debian-hvm-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 git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  ovmf git://xenbits.xen.org/osstest/ovmf.git
  Bug introduced:  d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Bug not present: 3357ac73807d83eb212632ee7c2e032a20a49c56
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164597/


  commit d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Author: Laszlo Ersek <lersek@redhat.com>
  Date:   Wed May 26 22:14:24 2021 +0200
  
      OvmfPkg/PlatformPei: remove Xen support
      
      The "OvmfPkg/PlatformPei/PlatformPei.inf" module is used by the following
      platform DSCs:
      
        OvmfPkg/AmdSev/AmdSevX64.dsc
        OvmfPkg/OvmfPkgIa32.dsc
        OvmfPkg/OvmfPkgIa32X64.dsc
        OvmfPkg/OvmfPkgX64.dsc
      
      Remove Xen support from "OvmfPkg/PlatformPei", including any dependencies
      that now become unused. The basic idea is to substitute FALSE for "mXen".
      
      Remove "OvmfPkg/PlatformPei" from the "OvmfPkg: Xen-related modules"
      section of "Maintainers.txt".
      
      This patch is best reviewed with "git show -b -W".
      
      Cc: Andrew Fish <afish@apple.com>
      Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
      Cc: Jordan Justen <jordan.l.justen@intel.com>
      Cc: Leif Lindholm <leif@nuviainc.com>
      Cc: Michael D Kinney <michael.d.kinney@intel.com>
      Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
      Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2122
      Signed-off-by: Laszlo Ersek <lersek@redhat.com>
      Message-Id: <20210526201446.12554-22-lersek@redhat.com>
      Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
      Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
      Reviewed-by: Leif Lindholm <leif@nuviainc.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-4.11-testing/test-amd64-i386-xl-qemuu-ovmf-amd64.debian-hvm-install.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/xen-4.11-testing/test-amd64-i386-xl-qemuu-ovmf-amd64.debian-hvm-install --summary-out=tmp/164597.bisection-summary --basis-template=162548 --blessings=real,real-bisect,real-retry xen-4.11-testing test-amd64-i386-xl-qemuu-ovmf-amd64 debian-hvm-install
Searching for failure / basis pass:
 164503 fail [host=fiano0] / 162548 [host=albana0] 161769 [host=huxelrebe1] 160155 [host=pinot0] 160141 [host=chardonnay1] 159459 ok.
Failure / basis pass flights: 164503 / 159459
(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 git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git
Latest c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 54082c81d96028ba8c76fbe6784085cf1df76b20 ec4654ce64d87f14567008cfb42568fd434f1bed
Basis pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 4f4d862c1c7232a18347616d94c343c929657fdb c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 ef88eeaf052c8a7d28c5f85e790c5e45bcffa45e 76d369d33179a5f8e5f6607f3917db9ab8c22968
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#4f4d862c1c7232a18347616d94c343c929657fdb-7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 git://xenbits.xen.org/qemu-xen-traditional.git#c8ea0457495342c417c3dc033bb\
 a25148b279f60-c8ea0457495342c417c3dc033bba25148b279f60 git://xenbits.xen.org/qemu-xen.git#cf8d15e2819784ed2360b7b557f72db8f8db5ff6-cf8d15e2819784ed2360b7b557f72db8f8db5ff6 git://xenbits.xen.org/osstest/seabios.git#ef88eeaf052c8a7d28c5f85e790c5e45bcffa45e-54082c81d96028ba8c76fbe6784085cf1df76b20 git://xenbits.xen.org/xen.git#76d369d33179a5f8e5f6607f3917db9ab8c22968-ec4654ce64d87f14567008cfb42568fd434f1bed
Loaded 12607 nodes in revision graph
Searching for test results:
 159459 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 4f4d862c1c7232a18347616d94c343c929657fdb c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 ef88eeaf052c8a7d28c5f85e790c5e45bcffa45e 76d369d33179a5f8e5f6607f3917db9ab8c22968
 164486 fail irrelevant
 164504 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 4f4d862c1c7232a18347616d94c343c929657fdb c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 ef88eeaf052c8a7d28c5f85e790c5e45bcffa45e 76d369d33179a5f8e5f6607f3917db9ab8c22968
 164503 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 54082c81d96028ba8c76fbe6784085cf1df76b20 ec4654ce64d87f14567008cfb42568fd434f1bed
 164531 fail irrelevant
 164532 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b233eb1849ac01bdd5b24ea84460a2e481a4c5a9 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 81433aa8a19b36f9e3d50697608c93d8a28bf772 b1e46bc369bb490b721c77f15d2583bbf466152d
 164533 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 939ed3a59223f516e5168577ba61ee3baf98eeea c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 e3c30795823672eec9bde75187e184f23ed98d70 ef32c7afa2731b758226d6e10a1e489b1a15fc41
 164537 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 54082c81d96028ba8c76fbe6784085cf1df76b20 ec4654ce64d87f14567008cfb42568fd434f1bed
 164543 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 95616b866187b00355042953efa5c198df07250f c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 e3c30795823672eec9bde75187e184f23ed98d70 ef32c7afa2731b758226d6e10a1e489b1a15fc41
 164550 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 2833589ad054ee51fadc5c408de4f028ddf485e3 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b1e46bc369bb490b721c77f15d2583bbf466152d
 164553 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ae4aa4a346832715509764fb2c3ecc1b1cc10480 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b1e46bc369bb490b721c77f15d2583bbf466152d
 164559 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d6ba8aa6ef628f5d865865e0aba4a329ee0d0728 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b1e46bc369bb490b721c77f15d2583bbf466152d
 164563 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d491c88a0c8bec7a0c8b51e0c7d1f8dc102cfa40 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b1e46bc369bb490b721c77f15d2583bbf466152d
 164569 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b1e46bc369bb490b721c77f15d2583bbf466152d
 164575 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b1e46bc369bb490b721c77f15d2583bbf466152d
 164581 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b1e46bc369bb490b721c77f15d2583bbf466152d
 164586 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b1e46bc369bb490b721c77f15d2583bbf466152d
 164590 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b1e46bc369bb490b721c77f15d2583bbf466152d
 164597 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b1e46bc369bb490b721c77f15d2583bbf466152d
 160141 [host=chardonnay1]
 160155 [host=pinot0]
 161769 [host=huxelrebe1]
 162548 [host=albana0]
Searching for interesting versions
 Result found: flight 159459 (pass), for basis pass
 For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b1e46bc369bb490b721c77f15d2583bbf466152d, results HASH(0x55ada800b228) HASH(0x55ada81671b8) HASH(0x55ada8033f98) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1\
 e6a472b0eb9558310b518f0dfcd8860 d491c88a0c8bec7a0c8b51e0c7d1f8dc102cfa40 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b1e46bc369bb490b721c77f15d2583bbf466152d, results HASH(0x55ada8137600) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d6ba8aa6ef628f5d865865e0aba4a329ee0d0728 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b5\
 57f72db8f8db5ff6 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b1e46bc369bb490b721c77f15d2583bbf466152d, results HASH(0x55ada8147fa0) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ae4aa4a346832715509764fb2c3ecc1b1cc10480 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b1e46bc369bb490b721c77f15d2583bbf466152d, results HASH(0x55ada816d4d8) For basis\
  failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b233eb1849ac01bdd5b24ea84460a2e481a4c5a9 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 81433aa8a19b36f9e3d50697608c93d8a28bf772 b1e46bc369bb490b721c77f15d2583bbf466152d, results HASH(0x55ada7fde090) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 4f4d862c1c7232a18347\
 616d94c343c929657fdb c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 ef88eeaf052c8a7d28c5f85e790c5e45bcffa45e 76d369d33179a5f8e5f6607f3917db9ab8c22968, results HASH(0x55ada7fea3e8) HASH(0x55ada7fe11a0) Result found: flight 164503 (fail), for basis failure (at ancestor ~1152)
 Repro found: flight 164504 (pass), for basis pass
 Repro found: flight 164537 (fail), for basis failure
 0 revisions at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 7292e4a0a8f58333ccbd2d0d47242f9865083c9c b1e46bc369bb490b721c77f15d2583bbf466152d
No revisions left to test, checking graph state.
 Result found: flight 164569 (pass), for last pass
 Result found: flight 164575 (fail), for first failure
 Repro found: flight 164581 (pass), for last pass
 Repro found: flight 164586 (fail), for first failure
 Repro found: flight 164590 (pass), for last pass
 Repro found: flight 164597 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  ovmf git://xenbits.xen.org/osstest/ovmf.git
  Bug introduced:  d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Bug not present: 3357ac73807d83eb212632ee7c2e032a20a49c56
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164597/


  commit d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Author: Laszlo Ersek <lersek@redhat.com>
  Date:   Wed May 26 22:14:24 2021 +0200
  
      OvmfPkg/PlatformPei: remove Xen support
      
      The "OvmfPkg/PlatformPei/PlatformPei.inf" module is used by the following
      platform DSCs:
      
        OvmfPkg/AmdSev/AmdSevX64.dsc
        OvmfPkg/OvmfPkgIa32.dsc
        OvmfPkg/OvmfPkgIa32X64.dsc
        OvmfPkg/OvmfPkgX64.dsc
      
      Remove Xen support from "OvmfPkg/PlatformPei", including any dependencies
      that now become unused. The basic idea is to substitute FALSE for "mXen".
      
      Remove "OvmfPkg/PlatformPei" from the "OvmfPkg: Xen-related modules"
      section of "Maintainers.txt".
      
      This patch is best reviewed with "git show -b -W".
      
      Cc: Andrew Fish <afish@apple.com>
      Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
      Cc: Jordan Justen <jordan.l.justen@intel.com>
      Cc: Leif Lindholm <leif@nuviainc.com>
      Cc: Michael D Kinney <michael.d.kinney@intel.com>
      Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
      Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2122
      Signed-off-by: Laszlo Ersek <lersek@redhat.com>
      Message-Id: <20210526201446.12554-22-lersek@redhat.com>
      Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
      Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
      Reviewed-by: Leif Lindholm <leif@nuviainc.com>

neato: graph is too large for cairo-renderer bitmaps. Scaling by 0.975586 to fit
pnmtopng: 65 colors found
Revision graph left in /home/logs/results/bisect/xen-4.11-testing/test-amd64-i386-xl-qemuu-ovmf-amd64.debian-hvm-install.{dot,ps,png,html,svg}.
----------------------------------------
164597: tolerable ALL FAIL

flight 164597 xen-4.11-testing real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/164597/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail baseline untested


jobs:
 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



From xen-devel-bounces@lists.xenproject.org Sun Aug 29 12:19:27 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 29 Aug 2021 12:19:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174668.318455 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKJmW-0000t2-2L; Sun, 29 Aug 2021 12:19:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174668.318455; Sun, 29 Aug 2021 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 1mKJmV-0000sv-VM; Sun, 29 Aug 2021 12:19:23 +0000
Received: by outflank-mailman (input) for mailman id 174668;
 Sun, 29 Aug 2021 12:19:22 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=6aKm=NU=invisiblethingslab.com=demi@srs-us1.protection.inumbo.net>)
 id 1mKJmU-0000sp-Ha
 for xen-devel@lists.xenproject.org; Sun, 29 Aug 2021 12:19:22 +0000
Received: from wout2-smtp.messagingengine.com (unknown [64.147.123.25])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ffd4ce76-1eaa-47fd-9b43-cfdd3315ec41;
 Sun, 29 Aug 2021 12:19:21 +0000 (UTC)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.west.internal (Postfix) with ESMTP id 2904C320082A;
 Sun, 29 Aug 2021 08:19:19 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute3.internal (MEProxy); Sun, 29 Aug 2021 08:19:19 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun,
 29 Aug 2021 08:19:14 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ffd4ce76-1eaa-47fd-9b43-cfdd3315ec41
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-type:date:from:message-id
	:mime-version:subject:to:x-me-proxy:x-me-proxy:x-me-sender
	:x-me-sender:x-sasl-enc; s=fm3; bh=2EOZI1kciWaygQyMETTjlMRivpvez
	UzmahsFnp7e2/w=; b=fU2bs+fu0/CZZW6Z/2JrWvCcn6qiOhBJq1/TpuzNg/9fW
	+EPMmAVg71nM7nJUxSujz/HoECjed4SYlTPXt5VHv+N0BnTdMCLRDQhqsRHX7lQO
	ENZ8L6jperWUBgzgXO1fR89pWGmyV3nE/5Ggz+hpv7Wq9GCpXfK2c8lXQU19rBga
	7Qh8GcLybj7YA8J8GNeFK7COY9kiwCnGIhF9RJK8zJonmL9FJyPyB3lyatyByzp7
	gkT6apyaNuOHaqcje2WelRfkzqRGDuQuDqr0ub5eTOxkJnaxUgpn6m7ZzVTP1xwS
	MLn7psTqN3pNEclw/20KsYu5ySzGrcMSkn6yURd1Q==
X-ME-Sender: <xms:RXsrYfdC5n_kVJsN555fQbPJY0KcUvpdode-l90th-DVleby_s07_w>
    <xme:RXsrYVOJ3op68IgC3IuOLEbcHHFrHe9jHlsMm26Sg9xJvYi9zAjmR6J6T3nju39s6
    5wO4Ce2WRTN68c>
X-ME-Received: <xmr:RXsrYYhiBZr2hn6APT7fxssqsG77rrQATfnhYVynUS6dtMRCbNDncGBX8r0YuA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddruddujedggeelucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvffukfggtggusehgtderredttddunecuhfhrohhmpeffvghmihcuofgr
    rhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgshhlrg
    gsrdgtohhmqeenucggtffrrghtthgvrhhnpeeuveeguefgvdeiueejfedugeevleefteek
    udefheetuddvtdduvefggfeghedtffenucffohhmrghinhepkhgvrhhnvghlrdhorhhgne
    cuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepuggvmhhi
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:RXsrYQ-QFHUNGSzr7X5J02MARgB7kWUTSWpxL-woA76f_uCLGGSuWw>
    <xmx:RXsrYbuURl-Gf0eL4NIxzmVEWEbegHQ45jOnZ6xfK5B2F7Mykdg8iw>
    <xmx:RXsrYfHx98Fx8U7Pg9MzgJ2LBllraiytLfM6qjxXFSkyKVIYsuvioA>
    <xmx:RnsrYU8OmUtuT55GVRPVWYzXWh-D2hoNu1Z_zvo9g0Seup8JuYqepw>
Date: Sun, 29 Aug 2021 08:18:57 -0400
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: 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>,
	Ian Jackson <iwj@xenproject.org>, Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Subject: [PATCH] Grab the EFI System Reference Table and check it
Message-ID: <YSt7P0a63GCxygAa@itl-email>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="9Na29geeagoyx7X7"
Content-Disposition: inline


--9Na29geeagoyx7X7
Content-Type: text/plain; protected-headers=v1; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Sun, 29 Aug 2021 08:18:57 -0400
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: 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>,
	Ian Jackson <iwj@xenproject.org>, Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Subject: [PATCH] Grab the EFI System Reference Table and check it

The EFI System Reference Table (ESRT) is necessary for fwupd to identify
firmware updates to install.  According to the UEFI specification =A723.4,
the table shall be stored in memory of type EfiBootServicesData.
Therefore, Xen must avoid reusing that memory for other purposes, so
that Linux can access the ESRT.

See https://lore.kernel.org/xen-devel/20200818184018.GN1679@mail-itl/T/
for details.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 xen/arch/arm/efi/efi-boot.h |  9 ++--
 xen/arch/x86/efi/efi-boot.h |  5 ++-
 xen/common/efi/boot.c       | 90 +++++++++++++++++++++++++++++++++++--
 xen/common/efi/runtime.c    |  1 +
 xen/include/efi/efiapi.h    |  3 ++
 xen/include/xen/efi.h       |  1 +
 6 files changed, 101 insertions(+), 8 deletions(-)

diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
index cf9c37153f..d8de478022 100644
--- a/xen/arch/arm/efi/efi-boot.h
+++ b/xen/arch/arm/efi/efi-boot.h
@@ -142,7 +142,8 @@ static bool __init meminfo_add_bank(struct meminfo *mem,
=20
 static EFI_STATUS __init efi_process_memory_map_bootinfo(EFI_MEMORY_DESCRI=
PTOR *map,
                                                 UINTN mmap_size,
-                                                UINTN desc_size)
+                                                UINTN desc_size,
+                                                const EFI_MEMORY_DESCRIPTO=
R *const esrt_desc)
 {
     int Index;
     EFI_MEMORY_DESCRIPTOR *desc_ptr =3D map;
@@ -154,6 +155,7 @@ static EFI_STATUS __init efi_process_memory_map_bootinf=
o(EFI_MEMORY_DESCRIPTOR *
               desc_ptr->Type =3D=3D EfiLoaderCode ||
               desc_ptr->Type =3D=3D EfiLoaderData ||
               (!map_bs &&
+               desc !=3D esrt_desc &&
                (desc_ptr->Type =3D=3D EfiBootServicesCode ||
                 desc_ptr->Type =3D=3D EfiBootServicesData))) )
         {
@@ -359,11 +361,12 @@ static void __init efi_arch_process_memory_map(EFI_SY=
STEM_TABLE *SystemTable,
                                                void *map,
                                                UINTN map_size,
                                                UINTN desc_size,
-                                               UINT32 desc_ver)
+                                               UINT32 desc_ver,
+                                               const EFI_MEMORY_DESCRIPTOR=
 *const esrt_desc)
 {
     EFI_STATUS status;
=20
-    status =3D efi_process_memory_map_bootinfo(map, map_size, desc_size);
+    status =3D efi_process_memory_map_bootinfo(map, map_size, desc_size, e=
srt_desc);
     if ( EFI_ERROR(status) )
         blexit(L"EFI memory map processing failed");
=20
diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h
index fb217031ff..f381855368 100644
--- a/xen/arch/x86/efi/efi-boot.h
+++ b/xen/arch/x86/efi/efi-boot.h
@@ -154,7 +154,8 @@ static void __init efi_arch_process_memory_map(EFI_SYST=
EM_TABLE *SystemTable,
                                                void *map,
                                                UINTN map_size,
                                                UINTN desc_size,
-                                               UINT32 desc_ver)
+                                               UINT32 desc_ver,
+                                               const EFI_MEMORY_DESCRIPTOR=
 *const esrt_desc)
 {
     struct e820entry *e;
     unsigned int i;
@@ -171,7 +172,7 @@ static void __init efi_arch_process_memory_map(EFI_SYST=
EM_TABLE *SystemTable,
         {
         case EfiBootServicesCode:
         case EfiBootServicesData:
-            if ( map_bs )
+            if ( map_bs || desc =3D=3D esrt_desc )
             {
         default:
                 type =3D E820_RESERVED;
diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c
index 758f9d74d2..0603172074 100644
--- a/xen/common/efi/boot.c
+++ b/xen/common/efi/boot.c
@@ -93,6 +93,23 @@ typedef struct _EFI_LOAD_OPTION {
     CHAR16 Description[];
 } EFI_LOAD_OPTION;
=20
+struct esrt_entry {
+    EFI_GUID fw_class;
+    uint32_t fw_type;
+    uint32_t fw_version;
+    uint32_t fw_lowest_supported_version;
+    uint32_t fw_capsule_flags;
+    uint32_t fw_last_attempt_version;
+    uint32_t fw_last_attempt_status;
+};
+
+struct esrt {
+    uint32_t esrt_count;
+    uint32_t esrt_max;
+    uint64_t esrt_version;
+    struct esrt_entry esrt_entries[];
+};
+
 #define LOAD_OPTION_ACTIVE              0x00000001
=20
 union string {
@@ -166,6 +183,41 @@ static void __init PrintErr(const CHAR16 *s)
     StdErr->OutputString(StdErr, (CHAR16 *)s );
 }
=20
+enum esrt_status {
+    ESRT_NOTFOUND =3D 0,
+    ESRT_GOOD,
+    ESRT_BAD,
+};
+
+static enum esrt_status __init is_esrt_valid(
+    const EFI_MEMORY_DESCRIPTOR *const desc) {
+    size_t available_len, esrt_len, len;
+    const uintptr_t physical_start =3D desc->PhysicalStart;
+    const uintptr_t esrt =3D efi.esrt;
+    const struct esrt *esrt_ptr;
+
+    len =3D desc->NumberOfPages << EFI_PAGE_SHIFT;
+    if ( esrt =3D=3D EFI_INVALID_TABLE_ADDR )
+        return ESRT_BAD;
+    if ( physical_start > esrt || esrt - physical_start >=3D len )
+        return ESRT_NOTFOUND;
+    if ( ! ( desc->Attribute & EFI_MEMORY_RUNTIME ) &&
+           ( desc->Type !=3D EfiRuntimeServicesData ) &&
+           ( desc->Type !=3D EfiBootServicesData ) )
+        return ESRT_BAD;
+    available_len =3D len - (esrt - physical_start);
+    if ( available_len < offsetof(struct esrt, esrt_entries) )
+        return ESRT_BAD;
+    esrt_ptr =3D (const struct esrt *) esrt;
+    if ( esrt_ptr->esrt_count <=3D 0 ||
+         __builtin_mul_overflow(esrt_ptr->esrt_count,
+                                sizeof(struct esrt_entry),
+                                &esrt_len) ||
+         esrt_len > available_len - offsetof(struct esrt, esrt_entries) )
+        return ESRT_BAD;
+    return ESRT_GOOD;
+}
+
 /*
  * Include architecture specific implementation here, which references the
  * static globals defined above.
@@ -835,6 +887,10 @@ static void __init efi_tables(void)
 {
     unsigned int i;
=20
+    BUILD_BUG_ON(sizeof(struct esrt_entry) !=3D 40);
+    BUILD_BUG_ON(_Alignof(struct esrt_entry) !=3D 4);
+    BUILD_BUG_ON(offsetof(struct esrt, esrt_entries) !=3D 16);
+
     /* Obtain basic table pointers. */
     for ( i =3D 0; i < efi_num_ct; ++i )
     {
@@ -843,6 +899,7 @@ static void __init efi_tables(void)
         static EFI_GUID __initdata mps_guid =3D MPS_TABLE_GUID;
         static EFI_GUID __initdata smbios_guid =3D SMBIOS_TABLE_GUID;
         static EFI_GUID __initdata smbios3_guid =3D SMBIOS3_TABLE_GUID;
+        static EFI_GUID __initdata esrt_guid =3D ESRT_GUID;
=20
         if ( match_guid(&acpi2_guid, &efi_ct[i].VendorGuid) )
 	       efi.acpi20 =3D (long)efi_ct[i].VendorTable;
@@ -854,6 +911,8 @@ static void __init efi_tables(void)
 	       efi.smbios =3D (long)efi_ct[i].VendorTable;
         if ( match_guid(&smbios3_guid, &efi_ct[i].VendorGuid) )
 	       efi.smbios3 =3D (long)efi_ct[i].VendorTable;
+        if ( match_guid(&esrt_guid, &efi_ct[i].VendorGuid) )
+	       efi.esrt =3D (long)efi_ct[i].VendorTable;
     }
=20
 #ifndef CONFIG_ARM /* TODO - disabled until implemented on ARM */
@@ -1042,9 +1101,7 @@ static void __init efi_exit_boot(EFI_HANDLE ImageHand=
le, EFI_SYSTEM_TABLE *Syste
     EFI_STATUS status;
     UINTN info_size =3D 0, map_key;
     bool retry;
-#ifdef CONFIG_EFI_SET_VIRTUAL_ADDRESS_MAP
     unsigned int i;
-#endif
=20
     efi_bs->GetMemoryMap(&info_size, NULL, &map_key,
                          &efi_mdesc_size, &mdesc_ver);
@@ -1055,6 +1112,10 @@ static void __init efi_exit_boot(EFI_HANDLE ImageHan=
dle, EFI_SYSTEM_TABLE *Syste
=20
     for ( retry =3D false; ; retry =3D true )
     {
+        enum esrt_status esrt_status =3D ESRT_NOTFOUND;
+        const EFI_MEMORY_DESCRIPTOR *esrt_desc =3D
+            (const EFI_MEMORY_DESCRIPTOR*) EFI_INVALID_TABLE_ADDR;
+
         efi_memmap_size =3D info_size;
         status =3D SystemTable->BootServices->GetMemoryMap(&efi_memmap_siz=
e,
                                                          efi_memmap, &map_=
key,
@@ -1063,8 +1124,31 @@ static void __init efi_exit_boot(EFI_HANDLE ImageHan=
dle, EFI_SYSTEM_TABLE *Syste
         if ( EFI_ERROR(status) )
             PrintErrMesg(L"Cannot obtain memory map", status);
=20
+        for ( i =3D 0; i < efi_memmap_size; i +=3D efi_mdesc_size )
+        {
+            EFI_MEMORY_DESCRIPTOR *desc =3D efi_memmap + i;
+            switch ( is_esrt_valid(desc) )
+            {
+            case ESRT_NOTFOUND:
+                break;
+            case ESRT_GOOD:
+                esrt_status =3D ESRT_GOOD;
+                esrt_desc =3D desc;
+                break;
+            case ESRT_BAD:
+                esrt_status =3D ESRT_BAD;
+                break;
+            }
+        }
+        if ( esrt_status !=3D ESRT_GOOD )
+            efi.esrt =3D EFI_INVALID_TABLE_ADDR;
+
+        /*
+         * We cannot pass efi.esrt because we need to explicitly compare t=
he
+         * descriptor pointers for equality.
+         */
         efi_arch_process_memory_map(SystemTable, efi_memmap, efi_memmap_si=
ze,
-                                    efi_mdesc_size, mdesc_ver);
+                                    efi_mdesc_size, mdesc_ver, esrt_desc);
=20
         efi_arch_pre_exit_boot();
=20
diff --git a/xen/common/efi/runtime.c b/xen/common/efi/runtime.c
index 375b94229e..8ae086feaa 100644
--- a/xen/common/efi/runtime.c
+++ b/xen/common/efi/runtime.c
@@ -68,6 +68,7 @@ struct efi __read_mostly efi =3D {
 	.mps    =3D EFI_INVALID_TABLE_ADDR,
 	.smbios =3D EFI_INVALID_TABLE_ADDR,
 	.smbios3 =3D EFI_INVALID_TABLE_ADDR,
+	.esrt   =3D EFI_INVALID_TABLE_ADDR,
 };
=20
 const struct efi_pci_rom *__read_mostly efi_pci_roms;
diff --git a/xen/include/efi/efiapi.h b/xen/include/efi/efiapi.h
index a616d1238a..42ef3e1c8c 100644
--- a/xen/include/efi/efiapi.h
+++ b/xen/include/efi/efiapi.h
@@ -882,6 +882,9 @@ typedef struct _EFI_BOOT_SERVICES {
 #define SAL_SYSTEM_TABLE_GUID    \
     { 0xeb9d2d32, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1=
, 0x4d} }
=20
+#define ESRT_GUID    \
+    { 0xb122a263, 0x3661, 0x4f68, {0x99, 0x29, 0x78, 0xf8, 0xb0, 0xd6, 0x2=
1, 0x80} }
+
=20
 typedef struct _EFI_CONFIGURATION_TABLE {
     EFI_GUID                VendorGuid;
diff --git a/xen/include/xen/efi.h b/xen/include/xen/efi.h
index 94a7e547f9..bb149fbfb9 100644
--- a/xen/include/xen/efi.h
+++ b/xen/include/xen/efi.h
@@ -19,6 +19,7 @@ struct efi {
     unsigned long acpi20;       /* ACPI table (ACPI 2.0) */
     unsigned long smbios;       /* SM BIOS table */
     unsigned long smbios3;      /* SMBIOS v3 table */
+    unsigned long esrt;         /* EFI System Reference Table */
 };
=20
 extern struct efi efi;
--=20
Demi Marie Obenour
she/her/hers
QubesOS Developer, Invisible Things Lab


--9Na29geeagoyx7X7
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmErez8ACgkQsoi1X/+c
IsEQrA//SdhHwnkQmsG5Bej3UjUC3kPSCTP9s5Ar7nkotpXFbEb8OQZwGjx8yzn5
HeDdUXKIMRyuOX+cX9MYwWH8v/yMWaIbpzIFJghW8BCyOtE7w0KpjxZF4i6yWf6F
zj4VM9blEhzMirGbfsIjdDeSi+UiuM2UP9eADRpnxW7mErA1zs6Px4/BEbZ8iYQu
dvVMQInkJth5pBfDQ/RsiDF432DR9xtsJlxp8aho9Euq+rH9rz+RIBhoFF0nRsUm
1Ig/LrCBLNIF+YToC9EynrqIvXSJz8EKCzb2W1xqOEQ9nzYpa8qG8fSGRX0+X7c1
4RY2a4jHkDZjLy1FpVpCLonaVIaXE6oQ+E3B0Esrmo6wUWdvak6kpeOlhu8G8TTU
sNn1gL29yVCMOMryOq7cCdKtnTsGmEcOAWYYWMZmFZ1XV7LC3aAWLL5XxtJwnlAG
ZngiCXpfvay83Ae7C5CVR94z0VCFVYz9qmfvjSvmLK8PDD7Ld0PHD2KXVDxVbqYi
xza0DaINN0Yz5Pk4BHwl+/AQVCvjmmM4ZH3Zjt1gDmykrb4Rcp96pS9rlBtXUiBY
uCWqYbohy/OtJhWflRqD53rOAJ0PdZd/17PS8h197s00inpsIj76xGIRQ4yT6ffP
dGRJqWsPDLMfxejEB3lF4AiSfXwY1RNKKg4o5iF1pM5DYyX2kzw=
=PwAq
-----END PGP SIGNATURE-----

--9Na29geeagoyx7X7--


From xen-devel-bounces@lists.xenproject.org Sun Aug 29 13:44:23 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 29 Aug 2021 13:44:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174701.318483 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKL6K-0002Cx-81; Sun, 29 Aug 2021 13:43:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174701.318483; Sun, 29 Aug 2021 13:43:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKL6K-0002Cq-54; Sun, 29 Aug 2021 13:43:56 +0000
Received: by outflank-mailman (input) for mailman id 174701;
 Sun, 29 Aug 2021 13:43: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 1mKL6J-0002Cg-2w; Sun, 29 Aug 2021 13:43: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 1mKL6I-0006bQ-Te; Sun, 29 Aug 2021 13:43: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 1mKL6I-0002WA-ML; Sun, 29 Aug 2021 13:43:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mKL6I-0008VW-Lq; Sun, 29 Aug 2021 13:43:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Message-Id:Subject:To;
	bh=/ScI4RYuTCE/eqSt8lOUXCg36UKBdm8Y6BlXYYHbsaU=; b=vU3JaQkH0gN/NaZVNiXIFdXfdd
	hXKpZDdHfvqGAvLuAd5AeKtn57EYIDBvxD/OtGBUeOuK8AW52+ymruQPhiWQR4ObUZDbshn0FRVdx
	w2Cuo7OnSilcY90eHqpdhseRvBzZW6PW2aVtsqdhV88+DTkduKLlbgh2UY2tiAT3XAuI=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Subject: [xen-4.15-testing bisection] complete test-amd64-amd64-dom0pvh-xl-intel
Message-Id: <E1mKL6I-0008VW-Lq@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 29 Aug 2021 13:43:54 +0000

branch xen-4.15-testing
xenbranch xen-4.15-testing
job test-amd64-amd64-dom0pvh-xl-intel
testid xen-boot

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 git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  7850fe53a59f73fbb0a61c36141c6a6563e3eeca
  Bug not present: 9f44ed133f303f73a40b2447a9e39d39f879e96f
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164606/


  commit 7850fe53a59f73fbb0a61c36141c6a6563e3eeca
  Author: Jan Beulich <jbeulich@suse.com>
  Date:   Wed Aug 25 14:43:45 2021 +0200
  
      x86/p2m: guard (in particular) identity mapping entries
      
      Such entries, created by set_identity_p2m_entry(), should only be
      destroyed by clear_identity_p2m_entry(). However, similarly, entries
      created by set_mmio_p2m_entry() should only be torn down by
      clear_mmio_p2m_entry(), so the logic gets based upon p2m_mmio_direct as
      the entry type (separation between "ordinary" and 1:1 mappings would
      require a further indicator to tell apart the two).
      
      As to the guest_remove_page() change, commit 48dfb297a20a ("x86/PVH:
      allow guest_remove_page to remove p2m_mmio_direct pages"), which
      introduced the call to clear_mmio_p2m_entry(), claimed this was done for
      hwdom only without this actually having been the case. However, this
      code shouldn't be there in the first place, as MMIO entries shouldn't be
      dropped this way. Avoid triggering the warning again that 48dfb297a20a
      silenced by an adjustment to xenmem_add_to_physmap_one() instead.
      
      Note that guest_physmap_mark_populate_on_demand() gets tightened beyond
      the immediate purpose of this change.
      
      Note also that I didn't inspect code which isn't security supported,
      e.g. sharing, paging, or altp2m.
      
      This is CVE-2021-28694 / part of XSA-378.
      
      Signed-off-by: Jan Beulich <jbeulich@suse.com>
      Reviewed-by: Paul Durrant <paul@xen.org>
      master commit: 753cb68e653002e89fdcd1c80e52905fdbfb78cb
      master date: 2021-08-25 14:17:32 +0200


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-4.15-testing/test-amd64-amd64-dom0pvh-xl-intel.xen-boot.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/xen-4.15-testing/test-amd64-amd64-dom0pvh-xl-intel.xen-boot --summary-out=tmp/164606.bisection-summary --basis-template=163759 --blessings=real,real-bisect,real-retry xen-4.15-testing test-amd64-amd64-dom0pvh-xl-intel xen-boot
Searching for failure / basis pass:
 164511 fail [host=chardonnay0] / 164455 [host=albana1] 164390 [host=huxelrebe1] 164304 [host=godello0] 164262 [host=godello1] 163759 ok.
Failure / basis pass flights: 164511 / 163759
(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 git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git
Latest c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 54082c81d96028ba8c76fbe6784085cf1df76b20 91bb9e9b0c0e2af926ab08958f3d65f07a105cb6
Basis pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c410ad4da4b7785170d3d42a3ba190c2caac6feb 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 54082c81d96028ba8c76fbe6784085cf1df76b20 dba774896f7dd74773c14d537643b7d7477fefcd
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#c410ad4da4b7785170d3d42a3ba190c2caac6feb-7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c74\
 37ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#e2af2d050338c99e8436e251ad67aafb3ebbd501-e2af2d050338c99e8436e251ad67aafb3ebbd501 git://xenbits.xen.org/osstest/seabios.git#54082c81d96028ba8c76fbe6784085cf1df76b20-54082c81d96028ba8c76fbe6784085cf1df76b20 git://xenbits.xen.org/xen.git#dba774896f7dd74773c14d537643b7d7477fefcd-91bb9e9b0c0e2af926ab08958f3d65f07a105cb6
Loaded 10001 nodes in revision graph
Searching for test results:
 163759 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c410ad4da4b7785170d3d42a3ba190c2caac6feb 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 54082c81d96028ba8c76fbe6784085cf1df76b20 dba774896f7dd74773c14d537643b7d7477fefcd
 164262 [host=godello1]
 164304 [host=godello0]
 164390 [host=huxelrebe1]
 164455 [host=albana1]
 164495 fail irrelevant
 164512 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c410ad4da4b7785170d3d42a3ba190c2caac6feb 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 54082c81d96028ba8c76fbe6784085cf1df76b20 dba774896f7dd74773c14d537643b7d7477fefcd
 164511 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 54082c81d96028ba8c76fbe6784085cf1df76b20 91bb9e9b0c0e2af926ab08958f3d65f07a105cb6
 164541 fail irrelevant
 164545 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c28fc8ab3bc1376484cc8cd1dc959e288741a4d1 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 54082c81d96028ba8c76fbe6784085cf1df76b20 dba774896f7dd74773c14d537643b7d7477fefcd
 164548 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 9abc60f9f722d891b3cedb0205fd6c9c0e2af54b 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 54082c81d96028ba8c76fbe6784085cf1df76b20 dba774896f7dd74773c14d537643b7d7477fefcd
 164552 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 54082c81d96028ba8c76fbe6784085cf1df76b20 da659f61c79f3adb7a4ab23e64fd21d2d9f801c1
 164554 pass irrelevant
 164558 fail irrelevant
 164561 pass irrelevant
 164567 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 54082c81d96028ba8c76fbe6784085cf1df76b20 91bb9e9b0c0e2af926ab08958f3d65f07a105cb6
 164571 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 54082c81d96028ba8c76fbe6784085cf1df76b20 34d141e27eea77d0ec8f2d19789bba314d24144a
 164574 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 54082c81d96028ba8c76fbe6784085cf1df76b20 8a8b16c44e3e4cae097224511b72dfd7b059152b
 164580 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 54082c81d96028ba8c76fbe6784085cf1df76b20 9f44ed133f303f73a40b2447a9e39d39f879e96f
 164584 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 54082c81d96028ba8c76fbe6784085cf1df76b20 d40287a000ec20252006d92c51a69f14be808fd5
 164585 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 54082c81d96028ba8c76fbe6784085cf1df76b20 7850fe53a59f73fbb0a61c36141c6a6563e3eeca
 164591 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 54082c81d96028ba8c76fbe6784085cf1df76b20 9f44ed133f303f73a40b2447a9e39d39f879e96f
 164593 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 54082c81d96028ba8c76fbe6784085cf1df76b20 7850fe53a59f73fbb0a61c36141c6a6563e3eeca
 164599 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 54082c81d96028ba8c76fbe6784085cf1df76b20 9f44ed133f303f73a40b2447a9e39d39f879e96f
 164606 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 54082c81d96028ba8c76fbe6784085cf1df76b20 7850fe53a59f73fbb0a61c36141c6a6563e3eeca
Searching for interesting versions
 Result found: flight 163759 (pass), for basis pass
 For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 54082c81d96028ba8c76fbe6784085cf1df76b20 9f44ed133f303f73a40b2447a9e39d39f879e96f, results HASH(0x556ae2711250) HASH(0x556ae270ac10) HASH(0x556ae2718b80) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1\
 e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 54082c81d96028ba8c76fbe6784085cf1df76b20 34d141e27eea77d0ec8f2d19789bba314d24144a, results HASH(0x556ae2727688) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251\
 ad67aafb3ebbd501 54082c81d96028ba8c76fbe6784085cf1df76b20 da659f61c79f3adb7a4ab23e64fd21d2d9f801c1, results HASH(0x556ae0ecf3d8) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 9abc60f9f722d891b3cedb0205fd6c9c0e2af54b 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 54082c81d96028ba8c76fbe6784085cf1df76b20 dba774896f7dd74773c14d537643b7d7477fefcd, results HASH(0x556ae26e1188) For basis\
  failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c28fc8ab3bc1376484cc8cd1dc959e288741a4d1 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 54082c81d96028ba8c76fbe6784085cf1df76b20 dba774896f7dd74773c14d537643b7d7477fefcd, results HASH(0x556ae26ec400) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c410ad4da4b7785170d3\
 d42a3ba190c2caac6feb 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 54082c81d96028ba8c76fbe6784085cf1df76b20 dba774896f7dd74773c14d537643b7d7477fefcd, results HASH(0x556ae26e4898) HASH(0x556ae270e620) Result found: flight 164511 (fail), for basis failure (at ancestor ~518)
 Repro found: flight 164512 (pass), for basis pass
 Repro found: flight 164567 (fail), for basis failure
 0 revisions at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e2af2d050338c99e8436e251ad67aafb3ebbd501 54082c81d96028ba8c76fbe6784085cf1df76b20 9f44ed133f303f73a40b2447a9e39d39f879e96f
No revisions left to test, checking graph state.
 Result found: flight 164580 (pass), for last pass
 Result found: flight 164585 (fail), for first failure
 Repro found: flight 164591 (pass), for last pass
 Repro found: flight 164593 (fail), for first failure
 Repro found: flight 164599 (pass), for last pass
 Repro found: flight 164606 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  7850fe53a59f73fbb0a61c36141c6a6563e3eeca
  Bug not present: 9f44ed133f303f73a40b2447a9e39d39f879e96f
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164606/


  commit 7850fe53a59f73fbb0a61c36141c6a6563e3eeca
  Author: Jan Beulich <jbeulich@suse.com>
  Date:   Wed Aug 25 14:43:45 2021 +0200
  
      x86/p2m: guard (in particular) identity mapping entries
      
      Such entries, created by set_identity_p2m_entry(), should only be
      destroyed by clear_identity_p2m_entry(). However, similarly, entries
      created by set_mmio_p2m_entry() should only be torn down by
      clear_mmio_p2m_entry(), so the logic gets based upon p2m_mmio_direct as
      the entry type (separation between "ordinary" and 1:1 mappings would
      require a further indicator to tell apart the two).
      
      As to the guest_remove_page() change, commit 48dfb297a20a ("x86/PVH:
      allow guest_remove_page to remove p2m_mmio_direct pages"), which
      introduced the call to clear_mmio_p2m_entry(), claimed this was done for
      hwdom only without this actually having been the case. However, this
      code shouldn't be there in the first place, as MMIO entries shouldn't be
      dropped this way. Avoid triggering the warning again that 48dfb297a20a
      silenced by an adjustment to xenmem_add_to_physmap_one() instead.
      
      Note that guest_physmap_mark_populate_on_demand() gets tightened beyond
      the immediate purpose of this change.
      
      Note also that I didn't inspect code which isn't security supported,
      e.g. sharing, paging, or altp2m.
      
      This is CVE-2021-28694 / part of XSA-378.
      
      Signed-off-by: Jan Beulich <jbeulich@suse.com>
      Reviewed-by: Paul Durrant <paul@xen.org>
      master commit: 753cb68e653002e89fdcd1c80e52905fdbfb78cb
      master date: 2021-08-25 14:17:32 +0200

pnmtopng: 152 colors found
Revision graph left in /home/logs/results/bisect/xen-4.15-testing/test-amd64-amd64-dom0pvh-xl-intel.xen-boot.{dot,ps,png,html,svg}.
----------------------------------------
164606: tolerable ALL FAIL

flight 164606 xen-4.15-testing real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/164606/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-amd64-dom0pvh-xl-intel  8 xen-boot           fail baseline untested


jobs:
 test-amd64-amd64-dom0pvh-xl-intel                            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 Aug 29 15:29:23 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 29 Aug 2021 15:29:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174727.318517 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKMk5-0004Yf-Ux; Sun, 29 Aug 2021 15:29:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174727.318517; Sun, 29 Aug 2021 15: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 1mKMk5-0004YY-PY; Sun, 29 Aug 2021 15:29:05 +0000
Received: by outflank-mailman (input) for mailman id 174727;
 Sun, 29 Aug 2021 15:29: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 1mKMk4-0004YO-9n; Sun, 29 Aug 2021 15:29: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 1mKMk4-000070-1d; Sun, 29 Aug 2021 15:29: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 1mKMk3-0006gQ-Qs; Sun, 29 Aug 2021 15:29:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mKMk3-0007Mp-QK; Sun, 29 Aug 2021 15:29:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=u3aF9xi0Twg3lyrF1+QR+MQa7G2BRm/T6dCuPsnBE7s=; b=Vb5MrXbEYMU9kYxTlQ7aPwtasA
	M+o5eYUa2rsX3U5OCbPnqzKqD3p+R0UZH2ibSrArd4ugxJSyKwQHsYup67AWAT/tJ2PrXAjWrViCs
	+BfM5neHjsXEra2EKVP9WbBxPyjxITQiXQPPVDxeO/YRTZDNU1cZe+oRZCD80BRQW+y8=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164528-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 164528: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-dom0pvh-xl-intel:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-dom0pvh-xl-amd:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    xen-unstable:test-armhf-armhf-libvirt-raw:guest-start:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check: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-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=8064488062641ae505b2a7369611c38057a7788b
X-Osstest-Versions-That:
    xen=a931e8e64af07bd333a31f3b71a3f8f3e7910857
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 29 Aug 2021 15:29:03 +0000

flight 164528 xen-unstable real [real]
flight 164609 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/164528/
http://logs.test-lab.xenproject.org/osstest/logs/164609/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-dom0pvh-xl-intel  8 xen-boot            fail REGR. vs. 164477
 test-amd64-amd64-dom0pvh-xl-amd  8 xen-boot              fail REGR. vs. 164477
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 164477

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt-raw 13 guest-start         fail pass in 164609-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check fail in 164609 like 164477
 test-armhf-armhf-libvirt-raw 14 migrate-support-check fail in 164609 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 164477
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164477
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164477
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164477
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 164477
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 164477
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 164477
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164477
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164477
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164477
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-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-arm64-arm64-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-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-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 xen                  8064488062641ae505b2a7369611c38057a7788b
baseline version:
 xen                  a931e8e64af07bd333a31f3b71a3f8f3e7910857

Last test of basis   164477  2021-08-25 09:09:48 Z    4 days
Failing since        164499  2021-08-26 10:21:51 Z    3 days    2 attempts
Testing same since   164528  2021-08-28 00:45:56 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Stefano Stabellini <sstabellini@kernel.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  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                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 504 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 29 15:29:23 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 29 Aug 2021 15:29:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174729.318530 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKMkK-0004st-CC; Sun, 29 Aug 2021 15:29:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174729.318530; Sun, 29 Aug 2021 15:29:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKMkK-0004sm-92; Sun, 29 Aug 2021 15:29:20 +0000
Received: by outflank-mailman (input) for mailman id 174729;
 Sun, 29 Aug 2021 15:29: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 1mKMkI-0004s4-Su; Sun, 29 Aug 2021 15:29: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 1mKMkI-00007Y-LI; Sun, 29 Aug 2021 15:29: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 1mKMkI-0006hn-FJ; Sun, 29 Aug 2021 15:29:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mKMkI-0007lF-Ej; Sun, 29 Aug 2021 15:29: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:Message-Id:Subject:To;
	bh=So6GRsb+NcDpyFBj4hq9Utx2p+RJifF6dzQPlTguH+Y=; b=JHHGeiKYtrC+IWJA3cgnCk+0e2
	DWdLVybsYRjuy0IzeWHTByYzLPAQfBdR7Wq3OnFO8RM61Ub4BFT5gTUld8iLXhygk8wU9XonlAYAO
	Z+oheJzdli6YUKYKiiA5VBR//mQGDFIBe+Ty5MvmpFHUWKuBcv6g7TCLBICn/uzfZOp4=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Subject: [xen-4.13-testing bisection] complete test-amd64-amd64-dom0pvh-xl-amd
Message-Id: <E1mKMkI-0007lF-Ej@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 29 Aug 2021 15:29:18 +0000

branch xen-4.13-testing
xenbranch xen-4.13-testing
job test-amd64-amd64-dom0pvh-xl-amd
testid xen-boot

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 git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  89d40f0682f9ad37091cc53685f3ecf63a44bb72
  Bug not present: f762403ed349df1b04468100dbffd0a6b6fe3303
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164612/


  commit 89d40f0682f9ad37091cc53685f3ecf63a44bb72
  Author: Jan Beulich <jbeulich@suse.com>
  Date:   Wed Aug 25 15:24:37 2021 +0200
  
      x86/p2m: guard (in particular) identity mapping entries
      
      Such entries, created by set_identity_p2m_entry(), should only be
      destroyed by clear_identity_p2m_entry(). However, similarly, entries
      created by set_mmio_p2m_entry() should only be torn down by
      clear_mmio_p2m_entry(), so the logic gets based upon p2m_mmio_direct as
      the entry type (separation between "ordinary" and 1:1 mappings would
      require a further indicator to tell apart the two).
      
      As to the guest_remove_page() change, commit 48dfb297a20a ("x86/PVH:
      allow guest_remove_page to remove p2m_mmio_direct pages"), which
      introduced the call to clear_mmio_p2m_entry(), claimed this was done for
      hwdom only without this actually having been the case. However, this
      code shouldn't be there in the first place, as MMIO entries shouldn't be
      dropped this way. Avoid triggering the warning again that 48dfb297a20a
      silenced by an adjustment to xenmem_add_to_physmap_one() instead.
      
      Note that guest_physmap_mark_populate_on_demand() gets tightened beyond
      the immediate purpose of this change.
      
      Note also that I didn't inspect code which isn't security supported,
      e.g. sharing, paging, or altp2m.
      
      This is CVE-2021-28694 / part of XSA-378.
      
      Signed-off-by: Jan Beulich <jbeulich@suse.com>
      Reviewed-by: Paul Durrant <paul@xen.org>
      master commit: 753cb68e653002e89fdcd1c80e52905fdbfb78cb
      master date: 2021-08-25 14:17:32 +0200


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-4.13-testing/test-amd64-amd64-dom0pvh-xl-amd.xen-boot.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/xen-4.13-testing/test-amd64-amd64-dom0pvh-xl-amd.xen-boot --summary-out=tmp/164612.bisection-summary --basis-template=163761 --blessings=real,real-bisect,real-retry xen-4.13-testing test-amd64-amd64-dom0pvh-xl-amd xen-boot
Searching for failure / basis pass:
 164518 fail [host=pinot0] / 164454 [host=pinot1] 164371 ok.
Failure / basis pass flights: 164518 / 164371
(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 git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git
Latest c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 dd29f4f4961d5c99660874c7ff090bd3c2ef6e5b
Basis pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 3cdc7b6b35106180c9021c1742cafacfa764fdad
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#ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c-7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 git://xenbits.xen.org/qemu-xen-traditional.git#d0d8ad39ecb51cd7497cd524484\
 fe09f50876798-d0d8ad39ecb51cd7497cd524484fe09f50876798 git://xenbits.xen.org/qemu-xen.git#7269466a5b0c0e89b36dc9a7db0554ae404aa230-7269466a5b0c0e89b36dc9a7db0554ae404aa230 git://xenbits.xen.org/osstest/seabios.git#54082c81d96028ba8c76fbe6784085cf1df76b20-54082c81d96028ba8c76fbe6784085cf1df76b20 git://xenbits.xen.org/xen.git#3cdc7b6b35106180c9021c1742cafacfa764fdad-dd29f4f4961d5c99660874c7ff090bd3c2ef6e5b
Loaded 10001 nodes in revision graph
Searching for test results:
 164260 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 3cdc7b6b35106180c9021c1742cafacfa764fdad
 164301 [host=pinot1]
 164371 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 3cdc7b6b35106180c9021c1742cafacfa764fdad
 164454 [host=pinot1]
 164496 fail irrelevant
 164519 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ef56f55d19e1b0b4ba6f9b28d73165c7f0a4627c d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 3cdc7b6b35106180c9021c1742cafacfa764fdad
 164518 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 dd29f4f4961d5c99660874c7ff090bd3c2ef6e5b
 164555 fail irrelevant
 164560 pass irrelevant
 164565 fail irrelevant
 164568 fail irrelevant
 164572 fail irrelevant
 164576 pass irrelevant
 164579 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 dd29f4f4961d5c99660874c7ff090bd3c2ef6e5b
 164583 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 f762403ed349df1b04468100dbffd0a6b6fe3303
 164587 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 bdb84809402266816449120101fe14a0732d373c
 164589 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 9d954c8c1a3e3cd70cddf9dbf7da7305de9b1173
 164594 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 89d40f0682f9ad37091cc53685f3ecf63a44bb72
 164600 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 f762403ed349df1b04468100dbffd0a6b6fe3303
 164604 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 89d40f0682f9ad37091cc53685f3ecf63a44bb72
 164608 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 f762403ed349df1b04468100dbffd0a6b6fe3303
 164612 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 89d40f0682f9ad37091cc53685f3ecf63a44bb72
Searching for interesting versions
 Result found: flight 164260 (pass), for basis pass
 Result found: flight 164518 (fail), for basis failure
 Repro found: flight 164519 (pass), for basis pass
 Repro found: flight 164579 (fail), for basis failure
 0 revisions at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 f762403ed349df1b04468100dbffd0a6b6fe3303
No revisions left to test, checking graph state.
 Result found: flight 164583 (pass), for last pass
 Result found: flight 164594 (fail), for first failure
 Repro found: flight 164600 (pass), for last pass
 Repro found: flight 164604 (fail), for first failure
 Repro found: flight 164608 (pass), for last pass
 Repro found: flight 164612 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  89d40f0682f9ad37091cc53685f3ecf63a44bb72
  Bug not present: f762403ed349df1b04468100dbffd0a6b6fe3303
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164612/


  commit 89d40f0682f9ad37091cc53685f3ecf63a44bb72
  Author: Jan Beulich <jbeulich@suse.com>
  Date:   Wed Aug 25 15:24:37 2021 +0200
  
      x86/p2m: guard (in particular) identity mapping entries
      
      Such entries, created by set_identity_p2m_entry(), should only be
      destroyed by clear_identity_p2m_entry(). However, similarly, entries
      created by set_mmio_p2m_entry() should only be torn down by
      clear_mmio_p2m_entry(), so the logic gets based upon p2m_mmio_direct as
      the entry type (separation between "ordinary" and 1:1 mappings would
      require a further indicator to tell apart the two).
      
      As to the guest_remove_page() change, commit 48dfb297a20a ("x86/PVH:
      allow guest_remove_page to remove p2m_mmio_direct pages"), which
      introduced the call to clear_mmio_p2m_entry(), claimed this was done for
      hwdom only without this actually having been the case. However, this
      code shouldn't be there in the first place, as MMIO entries shouldn't be
      dropped this way. Avoid triggering the warning again that 48dfb297a20a
      silenced by an adjustment to xenmem_add_to_physmap_one() instead.
      
      Note that guest_physmap_mark_populate_on_demand() gets tightened beyond
      the immediate purpose of this change.
      
      Note also that I didn't inspect code which isn't security supported,
      e.g. sharing, paging, or altp2m.
      
      This is CVE-2021-28694 / part of XSA-378.
      
      Signed-off-by: Jan Beulich <jbeulich@suse.com>
      Reviewed-by: Paul Durrant <paul@xen.org>
      master commit: 753cb68e653002e89fdcd1c80e52905fdbfb78cb
      master date: 2021-08-25 14:17:32 +0200

Revision graph left in /home/logs/results/bisect/xen-4.13-testing/test-amd64-amd64-dom0pvh-xl-amd.xen-boot.{dot,ps,png,html,svg}.
----------------------------------------
164612: tolerable ALL FAIL

flight 164612 xen-4.13-testing real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/164612/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-amd64-dom0pvh-xl-amd  8 xen-boot             fail baseline untested


jobs:
 test-amd64-amd64-dom0pvh-xl-amd                              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 Aug 29 18:37:02 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 29 Aug 2021 18:37:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174773.318582 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKPfj-0000ET-3l; Sun, 29 Aug 2021 18:36:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174773.318582; Sun, 29 Aug 2021 18: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 1mKPfj-0000EM-0s; Sun, 29 Aug 2021 18:36:47 +0000
Received: by outflank-mailman (input) for mailman id 174773;
 Sun, 29 Aug 2021 18: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 1mKPfh-0000EC-MW; Sun, 29 Aug 2021 18: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 1mKPfh-0003ph-GS; Sun, 29 Aug 2021 18: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 1mKPfh-0000va-97; Sun, 29 Aug 2021 18:36:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mKPfh-0001bg-8a; Sun, 29 Aug 2021 18: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:Message-Id:Subject:To;
	bh=bTXtIlIGK1MADtwFNAQW559F4GyYcWO/hldcB4N6o+s=; b=NuAc0yYjake1rlMr6cF/vz2Qks
	vuLVXhpHTJiIqQou+k0+9UQ3UjliwhU35NUxTShJ5guQjNoyzN2rpujGV7z4/u/Yp1Ahnz2RkxZ6/
	p6lj/cbsym9MGEjm4ifkoU3yrAFJInF2rlDOXB+kO+qpUaEMqNk0UoFBTzIBdIP3IncE=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Subject: [xen-unstable bisection] complete test-amd64-amd64-dom0pvh-xl-amd
Message-Id: <E1mKPfh-0001bg-8a@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 29 Aug 2021 18:36:45 +0000

branch xen-unstable
xenbranch xen-unstable
job test-amd64-amd64-dom0pvh-xl-amd
testid xen-boot

Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  753cb68e653002e89fdcd1c80e52905fdbfb78cb
  Bug not present: 0bf755e2c856628e11e93c76c3e12974e9964638
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164620/


  commit 753cb68e653002e89fdcd1c80e52905fdbfb78cb
  Author: Jan Beulich <jbeulich@suse.com>
  Date:   Wed Aug 25 14:17:32 2021 +0200
  
      x86/p2m: guard (in particular) identity mapping entries
      
      Such entries, created by set_identity_p2m_entry(), should only be
      destroyed by clear_identity_p2m_entry(). However, similarly, entries
      created by set_mmio_p2m_entry() should only be torn down by
      clear_mmio_p2m_entry(), so the logic gets based upon p2m_mmio_direct as
      the entry type (separation between "ordinary" and 1:1 mappings would
      require a further indicator to tell apart the two).
      
      As to the guest_remove_page() change, commit 48dfb297a20a ("x86/PVH:
      allow guest_remove_page to remove p2m_mmio_direct pages"), which
      introduced the call to clear_mmio_p2m_entry(), claimed this was done for
      hwdom only without this actually having been the case. However, this
      code shouldn't be there in the first place, as MMIO entries shouldn't be
      dropped this way. Avoid triggering the warning again that 48dfb297a20a
      silenced by an adjustment to xenmem_add_to_physmap_one() instead.
      
      Note that guest_physmap_mark_populate_on_demand() gets tightened beyond
      the immediate purpose of this change.
      
      Note also that I didn't inspect code which isn't security supported,
      e.g. sharing, paging, or altp2m.
      
      This is CVE-2021-28694 / part of XSA-378.
      
      Signed-off-by: Jan Beulich <jbeulich@suse.com>
      Reviewed-by: Paul Durrant <paul@xen.org>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-unstable/test-amd64-amd64-dom0pvh-xl-amd.xen-boot.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/test-amd64-amd64-dom0pvh-xl-amd.xen-boot --summary-out=tmp/164620.bisection-summary --basis-template=164477 --blessings=real,real-bisect,real-retry xen-unstable test-amd64-amd64-dom0pvh-xl-amd xen-boot
Searching for failure / basis pass:
 164528 fail [host=pinot1] / 164477 ok.
Failure / basis pass flights: 164528 / 164477
(tree with no url: minios)
(tree with no url: ovmf)
(tree with no url: seabios)
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: xen git://xenbits.xen.org/xen.git
Latest c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 8064488062641ae505b2a7369611c38057a7788b
Basis pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 a931e8e64af07bd333a31f3b71a3f8f3e7910857
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/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c7437ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#136c34c9bc4179dc64b15b2bb5f0c54\
 ca4ddf823-136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 git://xenbits.xen.org/xen.git#a931e8e64af07bd333a31f3b71a3f8f3e7910857-8064488062641ae505b2a7369611c38057a7788b
Loaded 5001 nodes in revision graph
Searching for test results:
 164477 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 a931e8e64af07bd333a31f3b71a3f8f3e7910857
 164499 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 c08d68cd2aacbc7cb56e73ada241bfe4639bbc68
 164529 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 a931e8e64af07bd333a31f3b71a3f8f3e7910857
 164528 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 8064488062641ae505b2a7369611c38057a7788b
 164588 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 c08d68cd2aacbc7cb56e73ada241bfe4639bbc68
 164596 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 8ea80530cd0dbb8ffa7ac92606a3ee29663fdc93
 164598 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 f147422bf9476fb8161b43e35f5901571ed17c35
 164602 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 0bf755e2c856628e11e93c76c3e12974e9964638
 164607 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 753cb68e653002e89fdcd1c80e52905fdbfb78cb
 164611 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 8064488062641ae505b2a7369611c38057a7788b
 164613 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 0bf755e2c856628e11e93c76c3e12974e9964638
 164617 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 753cb68e653002e89fdcd1c80e52905fdbfb78cb
 164618 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 0bf755e2c856628e11e93c76c3e12974e9964638
 164620 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 753cb68e653002e89fdcd1c80e52905fdbfb78cb
Searching for interesting versions
 Result found: flight 164477 (pass), for basis pass
 For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 0bf755e2c856628e11e93c76c3e12974e9964638, results HASH(0x55665085d020) HASH(0x55665085ea28) HASH(0x556650863960) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9b\
 c4179dc64b15b2bb5f0c54ca4ddf823 8ea80530cd0dbb8ffa7ac92606a3ee29663fdc93, results HASH(0x55665084f1a0) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 a931e8e64af07bd333a31f3b71a3f8f3e7910857, results HASH(0x55665084d318) HASH(0x5566508523d0) Result found: flight 164499 (fail), for basis failure (at ancestor ~708)
 Repro found: flight 164529 (pass), for basis pass
 Repro found: flight 164611 (fail), for basis failure
 0 revisions at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 0bf755e2c856628e11e93c76c3e12974e9964638
No revisions left to test, checking graph state.
 Result found: flight 164602 (pass), for last pass
 Result found: flight 164607 (fail), for first failure
 Repro found: flight 164613 (pass), for last pass
 Repro found: flight 164617 (fail), for first failure
 Repro found: flight 164618 (pass), for last pass
 Repro found: flight 164620 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  753cb68e653002e89fdcd1c80e52905fdbfb78cb
  Bug not present: 0bf755e2c856628e11e93c76c3e12974e9964638
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164620/


  commit 753cb68e653002e89fdcd1c80e52905fdbfb78cb
  Author: Jan Beulich <jbeulich@suse.com>
  Date:   Wed Aug 25 14:17:32 2021 +0200
  
      x86/p2m: guard (in particular) identity mapping entries
      
      Such entries, created by set_identity_p2m_entry(), should only be
      destroyed by clear_identity_p2m_entry(). However, similarly, entries
      created by set_mmio_p2m_entry() should only be torn down by
      clear_mmio_p2m_entry(), so the logic gets based upon p2m_mmio_direct as
      the entry type (separation between "ordinary" and 1:1 mappings would
      require a further indicator to tell apart the two).
      
      As to the guest_remove_page() change, commit 48dfb297a20a ("x86/PVH:
      allow guest_remove_page to remove p2m_mmio_direct pages"), which
      introduced the call to clear_mmio_p2m_entry(), claimed this was done for
      hwdom only without this actually having been the case. However, this
      code shouldn't be there in the first place, as MMIO entries shouldn't be
      dropped this way. Avoid triggering the warning again that 48dfb297a20a
      silenced by an adjustment to xenmem_add_to_physmap_one() instead.
      
      Note that guest_physmap_mark_populate_on_demand() gets tightened beyond
      the immediate purpose of this change.
      
      Note also that I didn't inspect code which isn't security supported,
      e.g. sharing, paging, or altp2m.
      
      This is CVE-2021-28694 / part of XSA-378.
      
      Signed-off-by: Jan Beulich <jbeulich@suse.com>
      Reviewed-by: Paul Durrant <paul@xen.org>

Revision graph left in /home/logs/results/bisect/xen-unstable/test-amd64-amd64-dom0pvh-xl-amd.xen-boot.{dot,ps,png,html,svg}.
----------------------------------------
164620: tolerable ALL FAIL

flight 164620 xen-unstable real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/164620/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-amd64-dom0pvh-xl-amd  8 xen-boot             fail baseline untested


jobs:
 test-amd64-amd64-dom0pvh-xl-amd                              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 Aug 29 18:59:24 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 29 Aug 2021 18:59:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174780.318600 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKQ1X-0002sX-2n; Sun, 29 Aug 2021 18:59:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174780.318600; Sun, 29 Aug 2021 18:59:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKQ1W-0002sQ-Vl; Sun, 29 Aug 2021 18:59:18 +0000
Received: by outflank-mailman (input) for mailman id 174780;
 Sun, 29 Aug 2021 18: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 1mKQ1V-0002sG-5C; Sun, 29 Aug 2021 18: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 1mKQ1U-0004Ai-QP; Sun, 29 Aug 2021 18: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 1mKQ1U-0001ad-El; Sun, 29 Aug 2021 18:59:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mKQ1U-0004VG-EL; Sun, 29 Aug 2021 18: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=pOf/C+Gaq9rfHUm4DJI4snjwYnmaS4dLBtS+hOi7N80=; b=UOCSrTJbc3XG04CtE5Dczk3OPp
	TpZdFu8C5Dya03F+m1C7mHvV3zqINjcWLr99npdOFWnV3bES7ew8ZYIs3pnqj44HUDUee8RlcVJ/L
	pBBzYD//IuIlXQe3jhWW8GAZ+a3j/YfqMMrZDFUkrLNEnHVzPyXjGt/GSmZ2BG2MT4Vc=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164530-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164530: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup: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-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=64b4fc45bea6f4faa843d2f97ff51665280efee1
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 29 Aug 2021 18:59:16 +0000

flight 164530 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164530/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-amd64-xl          14 guest-start              fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  14 guest-start              fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 13 debian-fixup             fail REGR. vs. 152332

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     20 guest-localmigrate/x10   fail REGR. vs. 152332

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 152332
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 152332
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 152332
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 152332
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 152332
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 152332
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 152332
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                64b4fc45bea6f4faa843d2f97ff51665280efee1
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  393 days
Failing since        152366  2020-08-01 20:49:34 Z  392 days  681 attempts
Testing same since   164530  2021-08-28 02:45:23 Z    1 days    1 attempts

------------------------------------------------------------
6825 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2019458 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 29 20:15:11 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 29 Aug 2021 20:15:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174789.318620 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKRCk-00033s-0a; Sun, 29 Aug 2021 20:14:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174789.318620; Sun, 29 Aug 2021 20: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 1mKRCj-00033l-Tg; Sun, 29 Aug 2021 20:14:57 +0000
Received: by outflank-mailman (input) for mailman id 174789;
 Sun, 29 Aug 2021 20:14:56 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nica=NU=gmail.com=lonyelon@srs-us1.protection.inumbo.net>)
 id 1mKRCi-00033f-Aq
 for xen-devel@lists.xenproject.org; Sun, 29 Aug 2021 20:14:56 +0000
Received: from mail-ed1-x529.google.com (unknown [2a00:1450:4864:20::529])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 6a17b566-ce02-429f-9a54-cea4abdf95f8;
 Sun, 29 Aug 2021 20:14:55 +0000 (UTC)
Received: by mail-ed1-x529.google.com with SMTP id g21so18458151edw.4
 for <xen-devel@lists.xenproject.org>; Sun, 29 Aug 2021 13:14:55 -0700 (PDT)
Received: from localhost.localdomain
 (host-79-37-188-60.retail.telecomitalia.it. [79.37.188.60])
 by smtp.gmail.com with ESMTPSA id mf2sm5750149ejb.76.2021.08.29.13.14.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 29 Aug 2021 13:14: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: 6a17b566-ce02-429f-9a54-cea4abdf95f8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=gWowyDdx9hWadSykEaaEDUsjdIUvYH4g4UM8gIo6z+E=;
        b=WABp1Rr1vQTvX0gXWSrVXWB0xAQBJ4gU8rKE5eyabfT+C+dYM0u0W453BSE+DXwvq7
         gBNQBRWrb3QfO3JeY+fy0pt0+XpfD4fXDB4UkkGXA2Pg1bWuBrJCFeCKQbTEd826Ouky
         RVh9U0Ox1okrLiaWD4QM8qEPFz2qLFvFl4ef2MQX0TVd78GQlJK+8tlXJXthkWVXiJVa
         yF1EUBapi79W4zjhtYYo8H/aUKr59NCqTG9YajMIZwDhofMpGMZXkUnxwZenb0Bs5WQF
         V7//SLpWqspo/hc3+VLyOLN5jNqlJICzqx29rfS6KOuoB/KXwjCsSLSS4hSxMHdJYGqs
         jGBQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=gWowyDdx9hWadSykEaaEDUsjdIUvYH4g4UM8gIo6z+E=;
        b=seiRNTXuyyyqIjFtGg7YM1BMOcd6530o0a3qg9DNpl7gAurO9T6YvE4AfhKkROOWRN
         PxVn2uhCSV31SikcAKO9v2zjwR0POIE7tBevWfUEq4sOYykvLerhB3xQ4EbIiq4pEGx/
         yDc4QlpgX6vDdCRaICC+0vjm9orHm67tHLeiuD/KPAOVg1FxaD/LrueN9G4I3Dn2oMU4
         5J9t1p55yXd33pS7F1cSdhiReOmeHc440Ax/oDEJMuLICmC0NxQBYfzgWL/Evlyrft7g
         7Y6NCUc4g5rEBprLEsXT/IaTPUUq/HMIVnD7Ln7gwefvK/gtr4u3Jb/YqK6qqolnyb0o
         C0pQ==
X-Gm-Message-State: AOAM531w+UfEiQ+KvJ7h4IB+H4vPdvBP0hT9FNkSRzKHo0hOYdnqKDND
	CVj3iDg4O8eRDRcsEPV/P5Q=
X-Google-Smtp-Source: ABdhPJz41yIvPb/YbMjwfkFtOsqUhztPX4oI1iWfCCpFeBdLPdblridSani8TW2bgMnV2wKFM5CAdA==
X-Received: by 2002:aa7:d613:: with SMTP id c19mr20499558edr.196.1630268094235;
        Sun, 29 Aug 2021 13:14:54 -0700 (PDT)
From: "=?UTF-8?q?Sergio=20Migu=C3=A9ns=20Iglesias?=" <lonyelon@gmail.com>
X-Google-Original-From: =?UTF-8?q?Sergio=20Migu=C3=A9ns=20Iglesias?= <sergio@lony.xyz>
To: konrad.wilk@oracle.com
Cc: boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	bhelgaas@google.com,
	xen-devel@lists.xenproject.org,
	linux-pci@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	=?UTF-8?q?Sergio=20Migu=C3=A9ns=20Iglesias?= <sergio@lony.xyz>
Subject: [PATCH] xen/pcifront: Removed unnecessary __ref annotation
Date: Mon, 30 Aug 2021 00:14:15 +0200
Message-Id: <20210829221415.647744-1-sergio@lony.xyz>
X-Mailer: git-send-email 2.33.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

An unnecessary "__ref" annotation was removed from the
"drivers/pci/xen_pcifront.c" file. The function where the annotation
was used was "pcifront_backend_changed()", which does not call any
functions annotated as "__*init" nor "__*exit". This makes "__ref"
unnecessary since this annotation is used to make the compiler ignore
section miss-matches when they are not happening here in the first
place.

In addition to the aforementioned change, some code style issues were
fixed in the same file.

Signed-off-by: Sergio Miguéns Iglesias <sergio@lony.xyz>
---
 drivers/pci/xen-pcifront.c | 24 ++++++++++++++----------
 1 file changed, 14 insertions(+), 10 deletions(-)

diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c
index b7a8f3a1921f..f06661704f3a 100644
--- a/drivers/pci/xen-pcifront.c
+++ b/drivers/pci/xen-pcifront.c
@@ -115,7 +115,7 @@ static int do_pci_op(struct pcifront_device *pdev, struct xen_pci_op *op)
 	struct xen_pci_op *active_op = &pdev->sh_info->op;
 	unsigned long irq_flags;
 	evtchn_port_t port = pdev->evtchn;
-	unsigned irq = pdev->irq;
+	unsigned int irq = pdev->irq;
 	s64 ns, ns_timeout;
 
 	spin_lock_irqsave(&pdev->sh_info_lock, irq_flags);
@@ -152,11 +152,10 @@ static int do_pci_op(struct pcifront_device *pdev, struct xen_pci_op *op)
 		}
 	}
 
-	/*
-	* We might lose backend service request since we
-	* reuse same evtchn with pci_conf backend response. So re-schedule
-	* aer pcifront service.
-	*/
+	/* We might lose backend service request since we
+	 * reuse same evtchn with pci_conf backend response. So re-schedule
+	 * aer pcifront service.
+	 */
 	if (test_bit(_XEN_PCIB_active,
 			(unsigned long *)&pdev->sh_info->flags)) {
 		dev_err(&pdev->xdev->dev,
@@ -493,7 +492,8 @@ static int pcifront_scan_root(struct pcifront_device *pdev,
 	list_add(&bus_entry->list, &pdev->root_buses);
 
 	/* pci_scan_root_bus skips devices which do not have a
-	* devfn==0. The pcifront_scan_bus enumerates all devfn. */
+	 * devfn==0. The pcifront_scan_bus enumerates all devfn.
+	 */
 	err = pcifront_scan_bus(pdev, domain, bus, b);
 
 	/* Claim resources before going "live" with our devices */
@@ -651,8 +651,9 @@ static void pcifront_do_aer(struct work_struct *data)
 	pci_channel_state_t state =
 		(pci_channel_state_t)pdev->sh_info->aer_op.err;
 
-	/*If a pci_conf op is in progress,
-		we have to wait until it is done before service aer op*/
+	/* If a pci_conf op is in progress, we have to wait until it is done
+	 * before service aer op
+	 */
 	dev_dbg(&pdev->xdev->dev,
 		"pcifront service aer bus %x devfn %x\n",
 		pdev->sh_info->aer_op.bus, pdev->sh_info->aer_op.devfn);
@@ -676,6 +677,7 @@ static void pcifront_do_aer(struct work_struct *data)
 static irqreturn_t pcifront_handler_aer(int irq, void *dev)
 {
 	struct pcifront_device *pdev = dev;
+
 	schedule_pcifront_aer_op(pdev);
 	return IRQ_HANDLED;
 }
@@ -1027,6 +1029,7 @@ static int pcifront_detach_devices(struct pcifront_device *pdev)
 	/* Find devices being detached and remove them. */
 	for (i = 0; i < num_devs; i++) {
 		int l, state;
+
 		l = snprintf(str, sizeof(str), "state-%d", i);
 		if (unlikely(l >= (sizeof(str) - 1))) {
 			err = -ENOMEM;
@@ -1078,7 +1081,7 @@ static int pcifront_detach_devices(struct pcifront_device *pdev)
 	return err;
 }
 
-static void __ref pcifront_backend_changed(struct xenbus_device *xdev,
+static void pcifront_backend_changed(struct xenbus_device *xdev,
 						  enum xenbus_state be_state)
 {
 	struct pcifront_device *pdev = dev_get_drvdata(&xdev->dev);
@@ -1137,6 +1140,7 @@ static int pcifront_xenbus_probe(struct xenbus_device *xdev,
 static int pcifront_xenbus_remove(struct xenbus_device *xdev)
 {
 	struct pcifront_device *pdev = dev_get_drvdata(&xdev->dev);
+
 	if (pdev)
 		free_pdev(pdev);
 
-- 
2.33.0



From xen-devel-bounces@lists.xenproject.org Sun Aug 29 20:21:14 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 29 Aug 2021 20:21:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174794.318631 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKRIk-0004bY-KG; Sun, 29 Aug 2021 20:21:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174794.318631; Sun, 29 Aug 2021 20: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 1mKRIk-0004bR-Gz; Sun, 29 Aug 2021 20:21:10 +0000
Received: by outflank-mailman (input) for mailman id 174794;
 Sun, 29 Aug 2021 20: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 1mKRIj-0004bH-Gd; Sun, 29 Aug 2021 20: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 1mKRIj-0005dX-7D; Sun, 29 Aug 2021 20: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 1mKRIi-00058j-VX; Sun, 29 Aug 2021 20:21:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mKRIi-0002zn-Uz; Sun, 29 Aug 2021 20: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=aqPTgMYFuh0DZfoEPHRo6lW79cTVpwsAxiUy5sTUN2o=; b=5olBQP9ImFsrXd9O6rc54x3hKC
	UE3Dx/grhU6+T45fznAaGeme+HNkk0ATGgMnwJUmTlSGwXQeA8EdCg1Ba1I/uQo8YIchH53ZVwmi7
	5mmRki9lwEin1CpgSxAJkr5uh/QZB9CcgvwR2EOw7diKS9KxZRX6woBi9YgGoR+LhXMU=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164535-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.11-testing test] 164535: regressions - FAIL
X-Osstest-Failures:
    xen-4.11-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    xen-4.11-testing:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    xen-4.11-testing:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:heisenbug
    xen-4.11-testing:test-armhf-armhf-libvirt-raw:guest-start/debian.repeat:fail:heisenbug
    xen-4.11-testing:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:nonblocking
    xen-4.11-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.11-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.11-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.11-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.11-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=ec4654ce64d87f14567008cfb42568fd434f1bed
X-Osstest-Versions-That:
    xen=ef32c7afa2731b758226d6e10a1e489b1a15fc41
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 29 Aug 2021 20:21:08 +0000

flight 164535 xen-4.11-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164535/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 162548
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 162548

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-rtds 18 guest-start/debian.repeat fail in 164503 pass in 164535
 test-armhf-armhf-libvirt-raw 17 guest-start/debian.repeat  fail pass in 164503

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail like 162548
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail like 162548
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 162548
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 162548
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 162548
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 162548
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 162548
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 162548
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 162548
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 162548
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 162548
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 162548
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 162548
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-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-xl-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-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass

version targeted for testing:
 xen                  ec4654ce64d87f14567008cfb42568fd434f1bed
baseline version:
 xen                  ef32c7afa2731b758226d6e10a1e489b1a15fc41

Last test of basis   162548  2021-06-08 18:37:00 Z   82 days
Testing same since   164486  2021-08-25 14:05:55 Z    4 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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-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                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         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-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 450 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Aug 29 20:28:52 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 29 Aug 2021 20:28:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174801.318645 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKRQ7-0005Ju-Dc; Sun, 29 Aug 2021 20:28:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174801.318645; Sun, 29 Aug 2021 20:28: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 1mKRQ7-0005Jn-9s; Sun, 29 Aug 2021 20:28:47 +0000
Received: by outflank-mailman (input) for mailman id 174801;
 Sun, 29 Aug 2021 20:28:45 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=K/AL=NU=gmail.com=olekstysh@srs-us1.protection.inumbo.net>)
 id 1mKRQ5-0005Jh-Pn
 for xen-devel@lists.xenproject.org; Sun, 29 Aug 2021 20:28:45 +0000
Received: from mail-lf1-x12e.google.com (unknown [2a00:1450:4864:20::12e])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 6e031e5c-bfc6-417d-a325-acb49ea9a2fc;
 Sun, 29 Aug 2021 20:28:44 +0000 (UTC)
Received: by mail-lf1-x12e.google.com with SMTP id p38so27090327lfa.0
 for <xen-devel@lists.xenproject.org>; Sun, 29 Aug 2021 13:28:44 -0700 (PDT)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id z7sm1199020lft.302.2021.08.29.13.28.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 29 Aug 2021 13:28: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: 6e031e5c-bfc6-417d-a325-acb49ea9a2fc
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-transfer-encoding:content-language;
        bh=TiKbtZCv4v4SvEda4pOsu0rPlUdNNxg+UWnLpLhaMM4=;
        b=RIPXMygp0YEPellSN06PjVPxgLZ/1BqXPO5T0DDt4vLi4GuSgJLxdhaYKCGmaJda8N
         jJ92jKczXZ2Wedhmbt4U8SgIyZshIeE2iiNGEwP6KP6JlgsGiXDQPQsU8viCuDlA3kOa
         eWn0wvTuhs2UPN4bG9JjPtNF/FPUQDTDTTiq9y/M4hpMhFYXpFb5RMVaB5Mee2cIe7+S
         sW7c5VznprntJRUKT5cR2U2uoHqDFYCberhO8wlDCJ9MtvQ0GPWwMP7iasXPLDAezEKj
         hHtjtms3V+JxiuNG1sPifA3i1Utu+8u/arjz02C6++wW9D8CzgPL6EsDSLbek63MEUzx
         PSyA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-transfer-encoding
         :content-language;
        bh=TiKbtZCv4v4SvEda4pOsu0rPlUdNNxg+UWnLpLhaMM4=;
        b=bm7OssqIjy8PqJq/3v37cCzsllAbH9DZ24eskZEMv6BH48rv/x+GWnurY9Yl6hr8ir
         ddTswMgERY6EtTqVLw2v7SzcMQP4ZQc5fh25VjKky2SwE2c2HnsPpJAoBpIF7p2Jz2lf
         AzSMnVdxcitw1sUJKYSNdBAQr95G+6nhjPVsvnCNlW14wbeGf8bU/jep9lNiTBIeIQcn
         gYfLftvx15a+5voUQwyOl7s+mNaSIna1iqt84lzsX4uhaDY7rFYU6EaTO2rUCn+cq08J
         8yJsjhZw8zioRFylwSQSGYS7i756A9CdBCjrrgTiM4Fey/3KcB5R/PdcwZIuXta+vFqW
         azFw==
X-Gm-Message-State: AOAM530xvjllgC/DAkiBAsndy2nuTR2jPwft0hsY69Md43rcvjtRqH/W
	AjXphqHuUUtXcJyaA6e3kXaeOvfZNas=
X-Google-Smtp-Source: ABdhPJz81DRk4JAEMeTX8fZU2j8tg8uRKTWvuoz2rlbFIHq8YNLCEF6t/1YggrMcCz7QV5YhyNSCgg==
X-Received: by 2002:a05:6512:10cc:: with SMTP id k12mr14287337lfg.410.1630268923530;
        Sun, 29 Aug 2021 13:28:43 -0700 (PDT)
Subject: Re: [RFC PATCH] xen: Introduce arch specific field to
 XEN_SYSCTL_physinfo
To: Jan Beulich <jbeulich@suse.com>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Juergen Gross
 <jgross@suse.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <1628897304-20793-1-git-send-email-olekstysh@gmail.com>
 <908e2d59-41f0-3bad-6030-b2889d9c5cc2@suse.com>
From: Oleksandr <olekstysh@gmail.com>
Message-ID: <8c622f4f-1931-3e2c-4f6e-9b832e8e435e@gmail.com>
Date: Sun, 29 Aug 2021 23:28:42 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.10.0
MIME-Version: 1.0
In-Reply-To: <908e2d59-41f0-3bad-6030-b2889d9c5cc2@suse.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Content-Language: en-US


On 16.08.21 10:33, Jan Beulich wrote:

Hi Jan

Sorry for the late response.

> On 14.08.2021 01:28, Oleksandr Tyshchenko wrote:
>> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>
>> We need to pass info about maximum supported address space size
>> to the toolstack on Arm in order to properly calculate the base
>> and size of the safe range for the guest. Use p2m_ipa_bits variable
>> which purpose is to hold the bit size of IPAs in P2M tables.
> What is "the safe range"?

It is unallocated (unused) address space which could be safely used by 
domain for foreign/grant mappings on Arm, I will update description.


>
>> --- a/xen/include/public/arch-arm.h
>> +++ b/xen/include/public/arch-arm.h
>> @@ -332,6 +332,11 @@ struct xen_arch_domainconfig {
>>        */
>>       uint32_t clock_frequency;
>>   };
>> +
>> +struct arch_physinfo {
>> +    /* Holds the bit size of IPAs in p2m tables. */
>> +    uint32_t p2m_ipa_bits;
>> +};
>>   #endif /* __XEN__ || __XEN_TOOLS__ */
>>   
>>   struct arch_vcpu_info {
>> --- a/xen/include/public/arch-x86/xen.h
>> +++ b/xen/include/public/arch-x86/xen.h
>> @@ -346,6 +346,8 @@ typedef struct xen_msr_entry {
>>   } xen_msr_entry_t;
>>   DEFINE_XEN_GUEST_HANDLE(xen_msr_entry_t);
>>   
>> +struct arch_physinfo {
>> +};
>>   #endif /* !__ASSEMBLY__ */
> While the term "p2m_ipa_bits" surely isn't arch-agnostic, I wonder
> whether the expressed information is (the x86 equivalent being
> hap_paddr_bits, at a guess), and hence whether this really ought
> to live in an arch-specific sub-struct.

Well, on Arm we calculate the number of the IPA bits based on the number 
of PA bits when setting Stage 2 address translation.
I might mistake, but what we currently have on Arm is "ipa_bits == 
pa_bits". So, this means that information we need at the toolstack side 
isn't really arch-specific and
we could probably avoid introducing arch-specific sub-struct by suitable 
renaming the field (pa_bits, paddr_bits, whatever).

We could even name the field as hap_paddr_bits. Although, I don't know 
whether the hap_* is purely x86-ism, but I see there are several 
mentions in the common code (hap_pt_share, use_hap_pt, etc). Any 
suggestions?


> If indeed so, please name
> the struct in a name space clean way, i.e. add xen_ as prefix.

ok


>
> Also please retain a blank line before the #endif. I wonder whether
> on Arm you wouldn't want to add one at this occasion.

ok


>
> Jan
>
-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Mon Aug 30 00:02:37 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 00:02:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174821.318673 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKUkp-00033u-Lf; Mon, 30 Aug 2021 00:02:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174821.318673; Mon, 30 Aug 2021 00: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 1mKUkp-00033n-Il; Mon, 30 Aug 2021 00:02:23 +0000
Received: by outflank-mailman (input) for mailman id 174821;
 Mon, 30 Aug 2021 00:02: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 1mKUkn-00033d-Pv; Mon, 30 Aug 2021 00:02: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 1mKUkn-0001eJ-Ja; Mon, 30 Aug 2021 00:02: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 1mKUkn-0000Kl-BV; Mon, 30 Aug 2021 00:02:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mKUkn-0004Sq-Aw; Mon, 30 Aug 2021 00:02: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=HL+n9mD4A7QmDu6DC5+ercjYB4yEgBpIChG1eS0g0Ps=; b=sVcKO1xKIOMcIHwExxEY96S/hD
	INg1E2rKddD63y0Wjyobmf9Fyxntp62Qn49tgAwMvlbJ0hM1VbaevfiMSjbRvTdFLT+nD4CsKe+yF
	crKXURka4GDJ3iLlo4l9k4o0FEyPqe/glB/Hb7j+LP4ZzmnFzB/1Gb7fAHF3KhZeTLxM=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164556-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 164556: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=a82bad9730178a1e3a67c9bfc83412b87a8ad734
X-Osstest-Versions-That:
    ovmf=82f7e315d612399f65a3bedd3b2c0364b43b6929
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 30 Aug 2021 00:02:21 +0000

flight 164556 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164556/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 a82bad9730178a1e3a67c9bfc83412b87a8ad734
baseline version:
 ovmf                 82f7e315d612399f65a3bedd3b2c0364b43b6929

Last test of basis   164513  2021-08-27 08:41:23 Z    2 days
Testing same since   164556  2021-08-28 19:27:14 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ard Biesheuvel <ardb@kernel.org>
  Brijesh Singh <brijesh.singh@amd.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Marc Zyngier <maz@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
   82f7e315d6..a82bad9730  a82bad9730178a1e3a67c9bfc83412b87a8ad734 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Aug 30 01:36:23 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 01:36:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174834.318694 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKWDa-0002O8-6f; Mon, 30 Aug 2021 01:36:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174834.318694; Mon, 30 Aug 2021 01:36:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKWDa-0002O0-1G; Mon, 30 Aug 2021 01:36:10 +0000
Received: by outflank-mailman (input) for mailman id 174834;
 Mon, 30 Aug 2021 01:36: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 1mKWDY-0002Nq-7x; Mon, 30 Aug 2021 01:36: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 1mKWDX-00016U-RT; Mon, 30 Aug 2021 01:36: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 1mKWDX-00046o-EH; Mon, 30 Aug 2021 01:36:07 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mKWDX-0004oI-DS; Mon, 30 Aug 2021 01:36:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=DXGMW7ltiKMx793Va6GiVpcN+Ju3IfqunMQ0c527qAo=; b=PXkvPpPnnKGixm+YqXB51sMTPI
	CsAalxN7WPjPa3ZdYy6byXI4j/BK/u5mkTJWBYldNvDXddYCTTKi5DuTavThr7mCFn034PYqUx6YB
	Efad7Nw8/HXjUyyy0H5EiMSyDJOmFtO8jhOay/AhS4GDOtLY1a0XMQ6p+v2TTh1pPRV4=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164547-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.14-testing test] 164547: regressions - FAIL
X-Osstest-Failures:
    xen-4.14-testing:test-amd64-amd64-dom0pvh-xl-amd:xen-boot:fail:regression
    xen-4.14-testing:test-amd64-amd64-dom0pvh-xl-intel:xen-boot:fail:regression
    xen-4.14-testing:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-4.14-testing:test-armhf-armhf-xl-rtds:guest-start/debian.repeat: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-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-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-credit1:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-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-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-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-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=74e93071826fe3aaab32e469280a3253a39147f6
X-Osstest-Versions-That:
    xen=49299c4813b7847d29df07bf790f5489060f2a9c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 30 Aug 2021 01:36:07 +0000

flight 164547 xen-4.14-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164547/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-dom0pvh-xl-amd  8 xen-boot              fail REGR. vs. 163750
 test-amd64-amd64-dom0pvh-xl-intel  8 xen-boot            fail REGR. vs. 163750

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail in 164507 pass in 164547
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat  fail pass in 164507

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 163750
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 163750
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 163750
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 163750
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 163750
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 163750
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 163750
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 163750
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 163750
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 163750
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 163750
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-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-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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-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-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  74e93071826fe3aaab32e469280a3253a39147f6
baseline version:
 xen                  49299c4813b7847d29df07bf790f5489060f2a9c

Last test of basis   163750  2021-07-16 21:07:40 Z   44 days
Failing since        164261  2021-08-19 17:07:29 Z   10 days    7 attempts
Testing same since   164493  2021-08-25 22:08:55 Z    4 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Dario Faggioli <dfaggioli@suse.com>
  Ian Jackson <iwj@xenproject.org>
  Jan Beulich <jbeulich@suse.com>
  Jane Malalane <jane.malalane@citrix.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Stefano Stabellini <sstabellini@kernel.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 607 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 30 04:55:41 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 04:55:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174850.318720 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKZKT-0006rF-J3; Mon, 30 Aug 2021 04:55:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174850.318720; Mon, 30 Aug 2021 04:55: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 1mKZKT-0006r8-FI; Mon, 30 Aug 2021 04:55:29 +0000
Received: by outflank-mailman (input) for mailman id 174850;
 Mon, 30 Aug 2021 04:55:28 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fFp4=NV=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mKZKR-0006r2-W1
 for xen-devel@lists.xenproject.org; Mon, 30 Aug 2021 04:55:28 +0000
Received: from smtp-out2.suse.de (unknown [195.135.220.29])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id f49a7d9d-2a03-4352-ac9d-6935d7297b7c;
 Mon, 30 Aug 2021 04:55:26 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 25CED20060;
 Mon, 30 Aug 2021 04:55:25 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id BF6D31365E;
 Mon, 30 Aug 2021 04:55:24 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id RfeQLLxkLGEDegAAGKfGzw
 (envelope-from <jgross@suse.com>); Mon, 30 Aug 2021 04:55: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: f49a7d9d-2a03-4352-ac9d-6935d7297b7c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1630299325; 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=Hc6v1qvmceLEeAERPrQ8/V0IZDTxjfiq/geyYnfx82k=;
	b=usBIe/c+my7o4ECqzWCTF3OKUluhQba28fcIuLsWwm+IOvoZ2Jnx2uEOvpzdf5FPyEzfWg
	AOVGnUxB4A6uaOBh7ryfu1spVPKfDHMFYLPHBo42vqaUfsGjcBLqOrC+CfAVGGdgGNBp0q
	qEneonCC2AJRWojKHE+KkWA2lDfcHQ8=
Subject: Re: [PATCH] xen/pcifront: Removed unnecessary __ref annotation
To: =?UTF-8?Q?Sergio_Migu=c3=a9ns_Iglesias?= <lonyelon@gmail.com>,
 konrad.wilk@oracle.com
Cc: boris.ostrovsky@oracle.com, sstabellini@kernel.org, bhelgaas@google.com,
 xen-devel@lists.xenproject.org, linux-pci@vger.kernel.org,
 linux-kernel@vger.kernel.org, =?UTF-8?Q?Sergio_Migu=c3=a9ns_Iglesias?=
 <sergio@lony.xyz>
References: <20210829221415.647744-1-sergio@lony.xyz>
From: Juergen Gross <jgross@suse.com>
Message-ID: <2df006a3-d232-c356-3402-888739835967@suse.com>
Date: Mon, 30 Aug 2021 06:55:24 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <20210829221415.647744-1-sergio@lony.xyz>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="3OUz0Wy9HJufji2HpIjnsImkaZC9e888d"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--3OUz0Wy9HJufji2HpIjnsImkaZC9e888d
Content-Type: multipart/mixed; boundary="TRUuJTafEqklpTUbifwhTten2MeLBi8j8";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: =?UTF-8?Q?Sergio_Migu=c3=a9ns_Iglesias?= <lonyelon@gmail.com>,
 konrad.wilk@oracle.com
Cc: boris.ostrovsky@oracle.com, sstabellini@kernel.org, bhelgaas@google.com,
 xen-devel@lists.xenproject.org, linux-pci@vger.kernel.org,
 linux-kernel@vger.kernel.org, =?UTF-8?Q?Sergio_Migu=c3=a9ns_Iglesias?=
 <sergio@lony.xyz>
Message-ID: <2df006a3-d232-c356-3402-888739835967@suse.com>
Subject: Re: [PATCH] xen/pcifront: Removed unnecessary __ref annotation
References: <20210829221415.647744-1-sergio@lony.xyz>
In-Reply-To: <20210829221415.647744-1-sergio@lony.xyz>

--TRUuJTafEqklpTUbifwhTten2MeLBi8j8
Content-Type: multipart/mixed;
 boundary="------------08AB25C0E8EF0DD9B25A51A8"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------08AB25C0E8EF0DD9B25A51A8
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 30.08.21 00:14, Sergio Migu=C3=A9ns Iglesias wrote:
> An unnecessary "__ref" annotation was removed from the
> "drivers/pci/xen_pcifront.c" file. The function where the annotation
> was used was "pcifront_backend_changed()", which does not call any
> functions annotated as "__*init" nor "__*exit". This makes "__ref"
> unnecessary since this annotation is used to make the compiler ignore
> section miss-matches when they are not happening here in the first
> place.
>=20
> In addition to the aforementioned change, some code style issues were
> fixed in the same file.
>=20
> Signed-off-by: Sergio Migu=C3=A9ns Iglesias <sergio@lony.xyz>
> ---
>   drivers/pci/xen-pcifront.c | 24 ++++++++++++++----------
>   1 file changed, 14 insertions(+), 10 deletions(-)
>=20
> diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c
> index b7a8f3a1921f..f06661704f3a 100644
> --- a/drivers/pci/xen-pcifront.c
> +++ b/drivers/pci/xen-pcifront.c
> @@ -115,7 +115,7 @@ static int do_pci_op(struct pcifront_device *pdev, =
struct xen_pci_op *op)
>   	struct xen_pci_op *active_op =3D &pdev->sh_info->op;
>   	unsigned long irq_flags;
>   	evtchn_port_t port =3D pdev->evtchn;
> -	unsigned irq =3D pdev->irq;
> +	unsigned int irq =3D pdev->irq;
>   	s64 ns, ns_timeout;
>  =20
>   	spin_lock_irqsave(&pdev->sh_info_lock, irq_flags);
> @@ -152,11 +152,10 @@ static int do_pci_op(struct pcifront_device *pdev=
, struct xen_pci_op *op)
>   		}
>   	}
>  =20
> -	/*
> -	* We might lose backend service request since we
> -	* reuse same evtchn with pci_conf backend response. So re-schedule
> -	* aer pcifront service.
> -	*/
> +	/* We might lose backend service request since we

This is no net or drivers/net file, so please keep the initial "/*"
line and fixup the other multi-line comments accordingly.

> +	 * reuse same evtchn with pci_conf backend response. So re-schedule
> +	 * aer pcifront service.
> +	 */
>   	if (test_bit(_XEN_PCIB_active,
>   			(unsigned long *)&pdev->sh_info->flags)) {
>   		dev_err(&pdev->xdev->dev,
> @@ -493,7 +492,8 @@ static int pcifront_scan_root(struct pcifront_devic=
e *pdev,
>   	list_add(&bus_entry->list, &pdev->root_buses);
>  =20
>   	/* pci_scan_root_bus skips devices which do not have a
> -	* devfn=3D=3D0. The pcifront_scan_bus enumerates all devfn. */
> +	 * devfn=3D=3D0. The pcifront_scan_bus enumerates all devfn.
> +	 */
>   	err =3D pcifront_scan_bus(pdev, domain, bus, b);
>  =20
>   	/* Claim resources before going "live" with our devices */
> @@ -651,8 +651,9 @@ static void pcifront_do_aer(struct work_struct *dat=
a)
>   	pci_channel_state_t state =3D
>   		(pci_channel_state_t)pdev->sh_info->aer_op.err;
>  =20
> -	/*If a pci_conf op is in progress,
> -		we have to wait until it is done before service aer op*/
> +	/* If a pci_conf op is in progress, we have to wait until it is done
> +	 * before service aer op
> +	 */
>   	dev_dbg(&pdev->xdev->dev,
>   		"pcifront service aer bus %x devfn %x\n",
>   		pdev->sh_info->aer_op.bus, pdev->sh_info->aer_op.devfn);
> @@ -676,6 +677,7 @@ static void pcifront_do_aer(struct work_struct *dat=
a)
>   static irqreturn_t pcifront_handler_aer(int irq, void *dev)
>   {
>   	struct pcifront_device *pdev =3D dev;
> +
>   	schedule_pcifront_aer_op(pdev);
>   	return IRQ_HANDLED;
>   }
> @@ -1027,6 +1029,7 @@ static int pcifront_detach_devices(struct pcifron=
t_device *pdev)
>   	/* Find devices being detached and remove them. */
>   	for (i =3D 0; i < num_devs; i++) {
>   		int l, state;
> +
>   		l =3D snprintf(str, sizeof(str), "state-%d", i);
>   		if (unlikely(l >=3D (sizeof(str) - 1))) {
>   			err =3D -ENOMEM;
> @@ -1078,7 +1081,7 @@ static int pcifront_detach_devices(struct pcifron=
t_device *pdev)
>   	return err;
>   }
>  =20
> -static void __ref pcifront_backend_changed(struct xenbus_device *xdev,=

> +static void pcifront_backend_changed(struct xenbus_device *xdev,
>   						  enum xenbus_state be_state)
>   {
>   	struct pcifront_device *pdev =3D dev_get_drvdata(&xdev->dev);
> @@ -1137,6 +1140,7 @@ static int pcifront_xenbus_probe(struct xenbus_de=
vice *xdev,
>   static int pcifront_xenbus_remove(struct xenbus_device *xdev)
>   {
>   	struct pcifront_device *pdev =3D dev_get_drvdata(&xdev->dev);
> +
>   	if (pdev)
>   		free_pdev(pdev);
>  =20
>=20

Juergen

--------------08AB25C0E8EF0DD9B25A51A8
Content-Type: application/pgp-keys;
 name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Transfer-Encoding: quoted-printable
Content-Description: OpenPGP public key
Content-Disposition: attachment;
 filename="OpenPGP_0xB0DE9DD628BF132F.asc"

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOBy=
cWx
w3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJvedYm8O=
f8Z
d621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y=
9bf
IhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xq=
G7/
377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR=
3Jv
c3MgPGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsEFgIDA=
QIe
AQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4FUGNQH2lvWAUy+dnyT=
hpw
dtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3TyevpB0CA3dbBQp0OW0fgCetToGIQrg0=
MbD
1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbv=
oPH
Z8SlM4KWm8rG+lIkGurqqu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v=
5QL
+qHI3EIPtyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVyZ=
2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJCAcDAgEGFQgCC=
QoL
BBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4RF7HoZhPVPogNVbC4YA6lW7Dr=
Wf0
teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz78X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC=
/nu
AFVGy+67q2DH8As3KPu0344TBDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0Lh=
ITT
d9jLzdDad1pQSToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLm=
XBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkMnQfvUewRz=
80h
SnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMBAgAjBQJTjHDXAhsDBwsJC=
AcD
AgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJn=
FOX
gMLdBQgBlVPO3/D9R8LtF9DBAFPNhlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1=
jnD
kfJZr6jrbjgyoZHiw/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0=
N51
N5JfVRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwPOoE+l=
otu
fe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK/1xMI3/+8jbO0tsn1=
tqS
EUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuZGU+wsB5BBMBAgAjBQJTjHDrA=
hsD
BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3=
g3O
ZUEBmDHVVbqMtzwlmNC4k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5=
dM7
wRqzgJpJwK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu5=
D+j
LRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzBTNh30FVKK1Evm=
V2x
AKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37IoN1EblHI//x/e2AaIHpzK5h88N=
Eaw
QsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpW=
nHI
s98ndPUDpnoxWQugJ6MpMncr0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZR=
wgn
BC5mVM6JjQ5xDk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNV=
bVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mmwe0icXKLk=
pEd
IXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0Iv3OOImwTEe4co3c1mwARA=
QAB
wsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMvQ/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEw=
Tbe
8YFsw2V/Buv6Z4Mysln3nQK5ZadD534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1=
vJz
Q1fOU8lYFpZXTXIHb+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8=
VGi
wXvTyJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqcsuylW=
svi
uGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5BjR/i1DG86lem3iBDX=
zXs
ZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------08AB25C0E8EF0DD9B25A51A8--

--TRUuJTafEqklpTUbifwhTten2MeLBi8j8--

--3OUz0Wy9HJufji2HpIjnsImkaZC9e888d
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmEsZLwFAwAAAAAACgkQsN6d1ii/Ey98
yQf/U0IJKnJ6YmrMtynOBIB1DEVuQ3Yt/RNO0/VkuP0fFvEkW/84CvJ+sRCNRQIQv/NP1d5LRTQs
rN0wPozseBb0bNcMhhUhp7HUAlIIq8xG/f9unN+4As+7siiJLMid+ssz+Hbi6HW9p1XLb66SLr+q
V58MMq0fjN8pvNGDM12NZrDoNsNcE4O6oKHIXUbNtG7ti85VBv2TfTge1qONUM2tXqDrwG2p3K4d
cea6bu9Zs0KZUKBUgSTDaytHg3zAQd0aDCWvvhH6pYSpmNaHSUcTxnfLbUmGh4RBnUvJMHrfYlMb
dvmXpsMWecM8xZgqVD9Jy6hXbgTUR13cMh+TBoDA+w==
=io9f
-----END PGP SIGNATURE-----

--3OUz0Wy9HJufji2HpIjnsImkaZC9e888d--


From xen-devel-bounces@lists.xenproject.org Mon Aug 30 06:06:41 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 06:06:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174863.318743 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKaR9-0006RF-2C; Mon, 30 Aug 2021 06:06:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174863.318743; Mon, 30 Aug 2021 06: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 1mKaR8-0006R8-V9; Mon, 30 Aug 2021 06:06:26 +0000
Received: by outflank-mailman (input) for mailman id 174863;
 Mon, 30 Aug 2021 06:06: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 1mKaR6-0006Qy-Ti; Mon, 30 Aug 2021 06:06: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 1mKaR6-00073a-ND; Mon, 30 Aug 2021 06:06: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 1mKaR6-0000Lz-G5; Mon, 30 Aug 2021 06:06:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mKaR6-0004mW-FI; Mon, 30 Aug 2021 06: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=I2e04CCzmHeR0zbtabaM2l5rDGTJohCISKov41kBFRA=; b=YDW6vvKw5XpNqmgxA85HzSoCKv
	/God9RFZRW22c3og40EzBsU0WbxXxVvyP9MACdRhlHH4PuM8RZe2x1FPGl/0fsqzTYM7C33pOcm34
	UCp4SCCv+CRttd1IGLK5ddJRFX8nDU+W1WLoqVBQeagQr01iCbHQUit2VTQuIVDXPXcU=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164564-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.15-testing test] 164564: regressions - FAIL
X-Osstest-Failures:
    xen-4.15-testing:test-amd64-amd64-dom0pvh-xl-amd:xen-boot:fail:regression
    xen-4.15-testing:test-amd64-amd64-dom0pvh-xl-intel:xen-boot:fail:regression
    xen-4.15-testing:test-arm64-arm64-xl-seattle:xen-boot:fail:heisenbug
    xen-4.15-testing:test-amd64-i386-xl-xsm:guest-localmigrate/x10:fail:heisenbug
    xen-4.15-testing:test-amd64-amd64-libvirt: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-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-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-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm: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-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-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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=91bb9e9b0c0e2af926ab08958f3d65f07a105cb6
X-Osstest-Versions-That:
    xen=dba774896f7dd74773c14d537643b7d7477fefcd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 30 Aug 2021 06:06:24 +0000

flight 164564 xen-4.15-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164564/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-dom0pvh-xl-amd  8 xen-boot              fail REGR. vs. 163759
 test-amd64-amd64-dom0pvh-xl-intel  8 xen-boot            fail REGR. vs. 163759

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl-seattle   8 xen-boot         fail in 164511 pass in 164564
 test-amd64-i386-xl-xsm 20 guest-localmigrate/x10 fail in 164511 pass in 164564
 test-amd64-amd64-libvirt     20 guest-start/debian.repeat  fail pass in 164511

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 163759
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 163759
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 163759
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 163759
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 163759
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 163759
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 163759
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 163759
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 163759
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 163759
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 163759
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-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-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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  91bb9e9b0c0e2af926ab08958f3d65f07a105cb6
baseline version:
 xen                  dba774896f7dd74773c14d537643b7d7477fefcd

Last test of basis   163759  2021-07-17 04:12:25 Z   44 days
Failing since        164262  2021-08-19 17:07:29 Z   10 days    7 attempts
Testing same since   164495  2021-08-25 23:22:14 Z    4 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Dario Faggioli <dfaggioli@suse.com>
  Ian Jackson <iwj@xenproject.org>
  Jan Beulich <jbeulich@suse.com>
  Jane Malalane <jane.malalane@citrix.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Stefano Stabellini <sstabellini@kernel.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 983 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 30 08:30:58 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 08:30:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174902.318781 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKcgh-0005ds-7e; Mon, 30 Aug 2021 08:30:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174902.318781; Mon, 30 Aug 2021 08:30:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKcgh-0005dl-3u; Mon, 30 Aug 2021 08:30:39 +0000
Received: by outflank-mailman (input) for mailman id 174902;
 Mon, 30 Aug 2021 08:30: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 1mKcgf-0005db-Kh; Mon, 30 Aug 2021 08:30: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 1mKcgf-0001YE-EK; Mon, 30 Aug 2021 08:30: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 1mKcgf-0008Hc-7p; Mon, 30 Aug 2021 08:30:37 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mKcgf-0001YK-7L; Mon, 30 Aug 2021 08:30:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=xuoQ/8GjwMTdW4jXRuAyTChmqWJDrdzMFGj+yD8d7R8=; b=to/p6lcBtbmAaNIr7UlGRPhv3p
	tga16+zYYdbcH1ZbsdUAtySILZpi4+FPTO08bB/UDywVMTp/hgOb0PBtMtq3XoDq0anmpu0Ic+Lh+
	PQhhK7MxX8226iJDZi2aa1JyDjdasxhmA/oPX8wFr47VTEe7J+B3G8OvtomHCjtjVU2s=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164603-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 164603: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=50809fcc86fcbf9e0bb0bc1154780c7556f43031
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 30 Aug 2021 08:30:37 +0000

flight 164603 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164603/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              50809fcc86fcbf9e0bb0bc1154780c7556f43031
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  416 days
Failing since        151818  2020-07-11 04:18:52 Z  415 days  405 attempts
Testing same since   164539  2021-08-28 11:46:04 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  Cédric Bosdonnat <cbosdonnat@suse.com>
  Côme Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano Fidêncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Ian Wienand <iwienand@redhat.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  John Ferlan <jferlan@redhat.com>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  Ján Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Michał Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  Moshe Levi <moshele@nvidia.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr Drąg <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tomáš Golembiovský <tgolembi@redhat.com>
  Tomáš Janoušek <tomi@nomi.cz>
  Tuguoyi <tu.guoyi@h3c.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  William Douglas <william.douglas@intel.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 71383 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 30 08:31:22 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 08:31:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174907.318795 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKchN-0006KP-M8; Mon, 30 Aug 2021 08:31:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174907.318795; Mon, 30 Aug 2021 08: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 1mKchN-0006KI-Il; Mon, 30 Aug 2021 08:31:21 +0000
Received: by outflank-mailman (input) for mailman id 174907;
 Mon, 30 Aug 2021 08:31:20 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fFp4=NV=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mKchM-0006K8-F5
 for xen-devel@lists.xenproject.org; Mon, 30 Aug 2021 08:31:20 +0000
Received: from smtp-out2.suse.de (unknown [195.135.220.29])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id a61ce4cc-096c-11ec-ac73-12813bfff9fa;
 Mon, 30 Aug 2021 08:31:19 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 97BDA20073;
 Mon, 30 Aug 2021 08:31:18 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 69EE413656;
 Mon, 30 Aug 2021 08:31:18 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id jA9HGFaXLGH4JQAAGKfGzw
 (envelope-from <jgross@suse.com>); Mon, 30 Aug 2021 08:31: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: a61ce4cc-096c-11ec-ac73-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1630312278; 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=WqwE4TbPwlhOFy2iuY3YrCtG8SW3PjLJ+V99bqWNobI=;
	b=e7hSHBVLo2STTkvYCwwbZbJhezX/cdkaU1hub1I4CgPJpzJYji4zCJWqOZttOfp0sIaf+g
	CtsbM/Hhc1ThpJLKFJI8s6c/PTF1There0kJUHrJmCFqZIf2TH7E0GUFljZeZbi5UIoZoI
	a3xULGD+uBD6Xo+G4FfnrUON8aMuIro=
Subject: Re: [PATCH] libs/light: fix tv_sec fprintf format
To: Fabrice Fontaine <fontaine.fabrice@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <20210828090709.738512-1-fontaine.fabrice@gmail.com>
From: Juergen Gross <jgross@suse.com>
Message-ID: <48e33bf0-67f6-4259-ac9e-71da16621c5f@suse.com>
Date: Mon, 30 Aug 2021 10:31:17 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <20210828090709.738512-1-fontaine.fabrice@gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="OSlZtij0txCJ2mrP9a56IIeHLATG3UHE2"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--OSlZtij0txCJ2mrP9a56IIeHLATG3UHE2
Content-Type: multipart/mixed; boundary="GtKLYh5tz5kdMUBLT1nk1l0WYONpELFhe";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Fabrice Fontaine <fontaine.fabrice@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <48e33bf0-67f6-4259-ac9e-71da16621c5f@suse.com>
Subject: Re: [PATCH] libs/light: fix tv_sec fprintf format
References: <20210828090709.738512-1-fontaine.fabrice@gmail.com>
In-Reply-To: <20210828090709.738512-1-fontaine.fabrice@gmail.com>

--GtKLYh5tz5kdMUBLT1nk1l0WYONpELFhe
Content-Type: multipart/mixed;
 boundary="------------2D46F627EE25A532A7CCD9DE"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------2D46F627EE25A532A7CCD9DE
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 28.08.21 11:07, Fabrice Fontaine wrote:
> Don't assume tv_sec is a unsigned long, it is 64 bits on NetBSD 32 bits=
=2E
> Use %jd and cast to (intmax_t) instead
>=20
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> ---
>   tools/libs/light/libxl_domain.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>=20
> diff --git a/tools/libs/light/libxl_domain.c b/tools/libs/light/libxl_d=
omain.c
> index c00c36c928..51a6127552 100644
> --- a/tools/libs/light/libxl_domain.c
> +++ b/tools/libs/light/libxl_domain.c
> @@ -1444,7 +1444,7 @@ static int libxl__mark_domid_recent(libxl__gc *gc=
, uint32_t domid)
>           }
>       }
>  =20
> -    r =3D fprintf(nf, "%lu %u\n", ctxt.ts.tv_sec, domid);
> +    r =3D fprintf(nf, "%jd %u\n", (intmax_t)ctxt.ts.tv_sec, domid);

Any reason not to keep the unsigned attribute?


Juergen

--------------2D46F627EE25A532A7CCD9DE
Content-Type: application/pgp-keys;
 name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Transfer-Encoding: quoted-printable
Content-Description: OpenPGP public key
Content-Disposition: attachment;
 filename="OpenPGP_0xB0DE9DD628BF132F.asc"

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOBy=
cWx
w3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJvedYm8O=
f8Z
d621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y=
9bf
IhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xq=
G7/
377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR=
3Jv
c3MgPGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsEFgIDA=
QIe
AQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4FUGNQH2lvWAUy+dnyT=
hpw
dtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3TyevpB0CA3dbBQp0OW0fgCetToGIQrg0=
MbD
1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbv=
oPH
Z8SlM4KWm8rG+lIkGurqqu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v=
5QL
+qHI3EIPtyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVyZ=
2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJCAcDAgEGFQgCC=
QoL
BBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4RF7HoZhPVPogNVbC4YA6lW7Dr=
Wf0
teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz78X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC=
/nu
AFVGy+67q2DH8As3KPu0344TBDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0Lh=
ITT
d9jLzdDad1pQSToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLm=
XBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkMnQfvUewRz=
80h
SnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMBAgAjBQJTjHDXAhsDBwsJC=
AcD
AgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJn=
FOX
gMLdBQgBlVPO3/D9R8LtF9DBAFPNhlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1=
jnD
kfJZr6jrbjgyoZHiw/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0=
N51
N5JfVRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwPOoE+l=
otu
fe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK/1xMI3/+8jbO0tsn1=
tqS
EUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuZGU+wsB5BBMBAgAjBQJTjHDrA=
hsD
BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3=
g3O
ZUEBmDHVVbqMtzwlmNC4k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5=
dM7
wRqzgJpJwK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu5=
D+j
LRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzBTNh30FVKK1Evm=
V2x
AKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37IoN1EblHI//x/e2AaIHpzK5h88N=
Eaw
QsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpW=
nHI
s98ndPUDpnoxWQugJ6MpMncr0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZR=
wgn
BC5mVM6JjQ5xDk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNV=
bVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mmwe0icXKLk=
pEd
IXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0Iv3OOImwTEe4co3c1mwARA=
QAB
wsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMvQ/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEw=
Tbe
8YFsw2V/Buv6Z4Mysln3nQK5ZadD534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1=
vJz
Q1fOU8lYFpZXTXIHb+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8=
VGi
wXvTyJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqcsuylW=
svi
uGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5BjR/i1DG86lem3iBDX=
zXs
ZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------2D46F627EE25A532A7CCD9DE--

--GtKLYh5tz5kdMUBLT1nk1l0WYONpELFhe--

--OSlZtij0txCJ2mrP9a56IIeHLATG3UHE2
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmEsl1UFAwAAAAAACgkQsN6d1ii/Ey/t
WAgAjcRNFNlj5tEOABFUf7n0cT4a/XmhfNPLCDaZWligFi+DwaF6phJ1A1fSg9wNi5RLdIGVi+4H
noKmowgRxUtWfZAcXD37tvOxCFmrotPgWDCJ0PJyVQuh7huTPoVy9Yv8E7bOhX3YvLfNaCv3yevF
aOOBtg3owPtm/Jjn/NxRVRfkLHUc6nkazoCozOLXw7oClFXtz7gA535e3mRSOtITljUsT5I5R49V
Hy6FtEBFWV/zPBeMMeGj0aldCtwWbTjrKMKOe1zzqpwctPssE43w6S83YiyFygfXpOc6kSre1VDb
9BQdGU1FFglADKx9H64EPsTt2qgJWBzDjev4ilygaw==
=HXPa
-----END PGP SIGNATURE-----

--OSlZtij0txCJ2mrP9a56IIeHLATG3UHE2--


From xen-devel-bounces@lists.xenproject.org Mon Aug 30 08:36:58 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 08:36:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174916.318806 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKcmd-00078L-87; Mon, 30 Aug 2021 08:36:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174916.318806; Mon, 30 Aug 2021 08:36:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKcmd-00078E-4i; Mon, 30 Aug 2021 08:36:47 +0000
Received: by outflank-mailman (input) for mailman id 174916;
 Mon, 30 Aug 2021 08:36:46 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gR2H=NV=gmail.com=fontaine.fabrice@srs-us1.protection.inumbo.net>)
 id 1mKcmc-000788-3B
 for xen-devel@lists.xenproject.org; Mon, 30 Aug 2021 08:36:46 +0000
Received: from mail-lj1-x232.google.com (unknown [2a00:1450:4864:20::232])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id f86173d5-7875-47ed-b3fa-df05e227df1d;
 Mon, 30 Aug 2021 08:36:45 +0000 (UTC)
Received: by mail-lj1-x232.google.com with SMTP id y6so24581157lje.2
 for <xen-devel@lists.xenproject.org>; Mon, 30 Aug 2021 01:36: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: f86173d5-7875-47ed-b3fa-df05e227df1d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc:content-transfer-encoding;
        bh=gBIeI78B8yZ1U8MrUiRGpXlDjkQ7Fe0pO7nAHfTjnvE=;
        b=Jeq9S497tRDly9oNzMhPLOwuvXnNLQDyn6XApmCIB9dQK4pOrdRYjl4HKsCYpDGzuW
         xI5sFmbiHFtGIQJ9Gzoo9twF0N7YOvDThrGtKAG8vA495iRiTX/cLTXAjsB3VqbBu/h9
         L+0I9IfjIPmiP1/IYOOQpHL95gbsMiJl27UZCCtQ6quPrmTMlZ8xAGL63LvgKg4Fev2B
         GqvotCIbXPxK8Fxe2RaisbCi78Pk6eyAz+OnDKbzsPmUHTXBtY6881L2c5zPJ7rtslUH
         U4QyccAbrWhLXGcxPeBlmKCSBV2H7+Ajf0udwK6gufpbUJFiqmMyClitsubPZXjwkp5Q
         zeeg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc:content-transfer-encoding;
        bh=gBIeI78B8yZ1U8MrUiRGpXlDjkQ7Fe0pO7nAHfTjnvE=;
        b=bze0fV3WdYtdAcgrk6NGsl1QqocUYvuaK6O4c26uVkbWRpz13BRZeOiOWFpKtoh6a9
         MkSAL+H86BcyztmeKIhH7cBYt98nqnJi9xLTVCCWt5HFG/61DYHZHln165HR4kaaam8j
         I3uzST2F5cPcssS/MsBFEZrX9/zYJtUvsdyyzHBj5wTK0emrMgg+HQFIfLObUzOoHZJI
         QU25vmG058nQ1nSk5KeL6WCcwbtNTfPbI06nEO3OJ8spOKpcLttxpmLOOpUg7s3Bvbji
         rb1BUwaFCghj9MhiJ5ywnBHgE9Zuk65UnTFjQQt9CKe5OU1bHQ/XrSz4P7qk81hnBZdE
         Is9Q==
X-Gm-Message-State: AOAM532KLWOI7BXt9bmXakY4HwfAwpldjGDTLmp53++TkVoel0+F1at6
	b980DKAFuBPckE5SQUEt7IN28XwhCwtV4k5PLFs=
X-Google-Smtp-Source: ABdhPJwKg8MrsUheJaLlYKW+0lKvLm5U1+3E8pBiELaoudXGuYEnxLAkP+uQoDfJCWYYBf7tFEu/3KvuDHqcOqf7vcg=
X-Received: by 2002:a2e:9852:: with SMTP id e18mr19297646ljj.173.1630312604024;
 Mon, 30 Aug 2021 01:36:44 -0700 (PDT)
MIME-Version: 1.0
References: <20210828090709.738512-1-fontaine.fabrice@gmail.com> <48e33bf0-67f6-4259-ac9e-71da16621c5f@suse.com>
In-Reply-To: <48e33bf0-67f6-4259-ac9e-71da16621c5f@suse.com>
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Mon, 30 Aug 2021 10:36:32 +0200
Message-ID: <CAPi7W80gf+gcd0fczTLN7DgnxiwdzhMFxNVTyRvfGRm3PmQYZQ@mail.gmail.com>
Subject: Re: [PATCH] libs/light: fix tv_sec fprintf format
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Ian Jackson <iwj@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

Le lun. 30 ao=C3=BBt 2021 =C3=A0 10:31, Juergen Gross <jgross@suse.com> a =
=C3=A9crit :
>
> On 28.08.21 11:07, Fabrice Fontaine wrote:
> > Don't assume tv_sec is a unsigned long, it is 64 bits on NetBSD 32 bits=
.
> > Use %jd and cast to (intmax_t) instead
> >
> > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> > ---
> >   tools/libs/light/libxl_domain.c | 2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/tools/libs/light/libxl_domain.c b/tools/libs/light/libxl_d=
omain.c
> > index c00c36c928..51a6127552 100644
> > --- a/tools/libs/light/libxl_domain.c
> > +++ b/tools/libs/light/libxl_domain.c
> > @@ -1444,7 +1444,7 @@ static int libxl__mark_domid_recent(libxl__gc *gc=
, uint32_t domid)
> >           }
> >       }
> >
> > -    r =3D fprintf(nf, "%lu %u\n", ctxt.ts.tv_sec, domid);
> > +    r =3D fprintf(nf, "%jd %u\n", (intmax_t)ctxt.ts.tv_sec, domid);
>
> Any reason not to keep the unsigned attribute?
Yes, for consistency, I applied the same fix that was merged seven
months ago to libs/light/libxl_create.c:
https://gitlab.com/xen-project/xen/-/commit/a8ac01aa3e3ea5e6a9a1620aa8fa7e9=
da3458120
>
>
> Juergen
Fabrice


From xen-devel-bounces@lists.xenproject.org Mon Aug 30 09:20:14 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 09:20:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174924.318817 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKdSZ-00040y-F3; Mon, 30 Aug 2021 09:20:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174924.318817; Mon, 30 Aug 2021 09: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 1mKdSZ-00040r-BU; Mon, 30 Aug 2021 09:20:07 +0000
Received: by outflank-mailman (input) for mailman id 174924;
 Mon, 30 Aug 2021 09:20: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 1mKdSY-0003wf-Co; Mon, 30 Aug 2021 09:20: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 1mKdSY-0002Mv-5x; Mon, 30 Aug 2021 09:20: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 1mKdSX-00031c-Ue; Mon, 30 Aug 2021 09:20:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mKdSX-0006hZ-U9; Mon, 30 Aug 2021 09: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>
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=6QBAZH7wTPfH1zz7HOv7Y1XrynEWgkixp1qcszOy3HY=; b=zwc140740MlbPYvoeRSD8/xIpZ
	SXwBdn60d6qL8KdxkQzxMxS6YfUvI4EQZkwo678s37se5ZO8X263dAQxJdqXRpAhh+NtoPPee0yrH
	YcED2tiAQHekGwc11t4UjVzcPHJCG60duJrYipqGMZXkiYfcFOU9Qwptvmx2QB3yj9EQ=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Subject: [xen-4.11-testing bisection] complete test-amd64-amd64-xl-qemuu-ovmf-amd64
Message-Id: <E1mKdSX-0006hZ-U9@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 30 Aug 2021 09:20:05 +0000

branch xen-4.11-testing
xenbranch xen-4.11-testing
job test-amd64-amd64-xl-qemuu-ovmf-amd64
testid debian-hvm-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 git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  ovmf git://xenbits.xen.org/osstest/ovmf.git
  Bug introduced:  d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Bug not present: 3357ac73807d83eb212632ee7c2e032a20a49c56
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164639/


  commit d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Author: Laszlo Ersek <lersek@redhat.com>
  Date:   Wed May 26 22:14:24 2021 +0200
  
      OvmfPkg/PlatformPei: remove Xen support
      
      The "OvmfPkg/PlatformPei/PlatformPei.inf" module is used by the following
      platform DSCs:
      
        OvmfPkg/AmdSev/AmdSevX64.dsc
        OvmfPkg/OvmfPkgIa32.dsc
        OvmfPkg/OvmfPkgIa32X64.dsc
        OvmfPkg/OvmfPkgX64.dsc
      
      Remove Xen support from "OvmfPkg/PlatformPei", including any dependencies
      that now become unused. The basic idea is to substitute FALSE for "mXen".
      
      Remove "OvmfPkg/PlatformPei" from the "OvmfPkg: Xen-related modules"
      section of "Maintainers.txt".
      
      This patch is best reviewed with "git show -b -W".
      
      Cc: Andrew Fish <afish@apple.com>
      Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
      Cc: Jordan Justen <jordan.l.justen@intel.com>
      Cc: Leif Lindholm <leif@nuviainc.com>
      Cc: Michael D Kinney <michael.d.kinney@intel.com>
      Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
      Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2122
      Signed-off-by: Laszlo Ersek <lersek@redhat.com>
      Message-Id: <20210526201446.12554-22-lersek@redhat.com>
      Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
      Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
      Reviewed-by: Leif Lindholm <leif@nuviainc.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-4.11-testing/test-amd64-amd64-xl-qemuu-ovmf-amd64.debian-hvm-install.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/xen-4.11-testing/test-amd64-amd64-xl-qemuu-ovmf-amd64.debian-hvm-install --summary-out=tmp/164639.bisection-summary --basis-template=162548 --blessings=real,real-bisect,real-retry xen-4.11-testing test-amd64-amd64-xl-qemuu-ovmf-amd64 debian-hvm-install
Searching for failure / basis pass:
 164535 fail [host=huxelrebe0] / 162548 ok.
Failure / basis pass flights: 164535 / 162548
(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 git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git
Latest c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 54082c81d96028ba8c76fbe6784085cf1df76b20 ec4654ce64d87f14567008cfb42568fd434f1bed
Basis pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c410ad4da4b7785170d3d42a3ba190c2caac6feb c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 7292e4a0a8f58333ccbd2d0d47242f9865083c9c ef32c7afa2731b758226d6e10a1e489b1a15fc41
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#c410ad4da4b7785170d3d42a3ba190c2caac6feb-7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 git://xenbits.xen.org/qemu-xen-traditional.git#c8ea0457495342c417c3dc033bb\
 a25148b279f60-c8ea0457495342c417c3dc033bba25148b279f60 git://xenbits.xen.org/qemu-xen.git#cf8d15e2819784ed2360b7b557f72db8f8db5ff6-cf8d15e2819784ed2360b7b557f72db8f8db5ff6 git://xenbits.xen.org/osstest/seabios.git#7292e4a0a8f58333ccbd2d0d47242f9865083c9c-54082c81d96028ba8c76fbe6784085cf1df76b20 git://xenbits.xen.org/xen.git#ef32c7afa2731b758226d6e10a1e489b1a15fc41-ec4654ce64d87f14567008cfb42568fd434f1bed
Loaded 7857 nodes in revision graph
Searching for test results:
 164486 fail irrelevant
 164503 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 54082c81d96028ba8c76fbe6784085cf1df76b20 ec4654ce64d87f14567008cfb42568fd434f1bed
 164535 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 54082c81d96028ba8c76fbe6784085cf1df76b20 ec4654ce64d87f14567008cfb42568fd434f1bed
 164605 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c410ad4da4b7785170d3d42a3ba190c2caac6feb c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 7292e4a0a8f58333ccbd2d0d47242f9865083c9c ef32c7afa2731b758226d6e10a1e489b1a15fc41
 164610 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 54082c81d96028ba8c76fbe6784085cf1df76b20 ec4654ce64d87f14567008cfb42568fd434f1bed
 164616 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bb33c27fbed6c1ed39d243bedd407e8e93a2b3a9 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 e3c30795823672eec9bde75187e184f23ed98d70 ef32c7afa2731b758226d6e10a1e489b1a15fc41
 164619 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 11b1c1d4b98bc1b5eaaaf9eaa94ecd34eeaba5f9 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 e3c30795823672eec9bde75187e184f23ed98d70 ef32c7afa2731b758226d6e10a1e489b1a15fc41
 164621 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 32fef03563abb58c439488836cf7884ceb1d7901 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 7292e4a0a8f58333ccbd2d0d47242f9865083c9c ef32c7afa2731b758226d6e10a1e489b1a15fc41
 164624 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c9bba52fc7312e8ea9071f9a4b7005954e36e0c1 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 7292e4a0a8f58333ccbd2d0d47242f9865083c9c ef32c7afa2731b758226d6e10a1e489b1a15fc41
 164626 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 e7641171b6c1f858f3d979c0e8f04d6c12870baa c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 7292e4a0a8f58333ccbd2d0d47242f9865083c9c ef32c7afa2731b758226d6e10a1e489b1a15fc41
 164627 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 2833589ad054ee51fadc5c408de4f028ddf485e3 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 7292e4a0a8f58333ccbd2d0d47242f9865083c9c ef32c7afa2731b758226d6e10a1e489b1a15fc41
 164628 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 7292e4a0a8f58333ccbd2d0d47242f9865083c9c ef32c7afa2731b758226d6e10a1e489b1a15fc41
 164629 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 7292e4a0a8f58333ccbd2d0d47242f9865083c9c ef32c7afa2731b758226d6e10a1e489b1a15fc41
 164632 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 7292e4a0a8f58333ccbd2d0d47242f9865083c9c ef32c7afa2731b758226d6e10a1e489b1a15fc41
 164633 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 7292e4a0a8f58333ccbd2d0d47242f9865083c9c ef32c7afa2731b758226d6e10a1e489b1a15fc41
 164634 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 7292e4a0a8f58333ccbd2d0d47242f9865083c9c ef32c7afa2731b758226d6e10a1e489b1a15fc41
 164637 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 7292e4a0a8f58333ccbd2d0d47242f9865083c9c ef32c7afa2731b758226d6e10a1e489b1a15fc41
 164639 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 7292e4a0a8f58333ccbd2d0d47242f9865083c9c ef32c7afa2731b758226d6e10a1e489b1a15fc41
 162548 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c410ad4da4b7785170d3d42a3ba190c2caac6feb c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 7292e4a0a8f58333ccbd2d0d47242f9865083c9c ef32c7afa2731b758226d6e10a1e489b1a15fc41
Searching for interesting versions
 Result found: flight 162548 (pass), for basis pass
 For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 7292e4a0a8f58333ccbd2d0d47242f9865083c9c ef32c7afa2731b758226d6e10a1e489b1a15fc41, results HASH(0x563fda336070) HASH(0x563fda30b4e0) HASH(0x563fda41dc90) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1\
 e6a472b0eb9558310b518f0dfcd8860 e7641171b6c1f858f3d979c0e8f04d6c12870baa c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 7292e4a0a8f58333ccbd2d0d47242f9865083c9c ef32c7afa2731b758226d6e10a1e489b1a15fc41, results HASH(0x563fda403c90) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c9bba52fc7312e8ea9071f9a4b7005954e36e0c1 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b5\
 57f72db8f8db5ff6 7292e4a0a8f58333ccbd2d0d47242f9865083c9c ef32c7afa2731b758226d6e10a1e489b1a15fc41, results HASH(0x563fda410ba8) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c410ad4da4b7785170d3d42a3ba190c2caac6feb c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 7292e4a0a8f58333ccbd2d0d47242f9865083c9c ef32c7afa2731b758226d6e10a1e489b1a15fc41, results HASH(0x563fda320aa8) HASH(0x56\
 3fda32a018) Result found: flight 164503 (fail), for basis failure (at ancestor ~874)
 Repro found: flight 164605 (pass), for basis pass
 Repro found: flight 164610 (fail), for basis failure
 0 revisions at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3357ac73807d83eb212632ee7c2e032a20a49c56 c8ea0457495342c417c3dc033bba25148b279f60 cf8d15e2819784ed2360b7b557f72db8f8db5ff6 7292e4a0a8f58333ccbd2d0d47242f9865083c9c ef32c7afa2731b758226d6e10a1e489b1a15fc41
No revisions left to test, checking graph state.
 Result found: flight 164629 (pass), for last pass
 Result found: flight 164632 (fail), for first failure
 Repro found: flight 164633 (pass), for last pass
 Repro found: flight 164634 (fail), for first failure
 Repro found: flight 164637 (pass), for last pass
 Repro found: flight 164639 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  ovmf git://xenbits.xen.org/osstest/ovmf.git
  Bug introduced:  d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Bug not present: 3357ac73807d83eb212632ee7c2e032a20a49c56
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164639/


  commit d06eb2d1d9dd8da1ed84bd08c5783a0264fe2b64
  Author: Laszlo Ersek <lersek@redhat.com>
  Date:   Wed May 26 22:14:24 2021 +0200
  
      OvmfPkg/PlatformPei: remove Xen support
      
      The "OvmfPkg/PlatformPei/PlatformPei.inf" module is used by the following
      platform DSCs:
      
        OvmfPkg/AmdSev/AmdSevX64.dsc
        OvmfPkg/OvmfPkgIa32.dsc
        OvmfPkg/OvmfPkgIa32X64.dsc
        OvmfPkg/OvmfPkgX64.dsc
      
      Remove Xen support from "OvmfPkg/PlatformPei", including any dependencies
      that now become unused. The basic idea is to substitute FALSE for "mXen".
      
      Remove "OvmfPkg/PlatformPei" from the "OvmfPkg: Xen-related modules"
      section of "Maintainers.txt".
      
      This patch is best reviewed with "git show -b -W".
      
      Cc: Andrew Fish <afish@apple.com>
      Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
      Cc: Jordan Justen <jordan.l.justen@intel.com>
      Cc: Leif Lindholm <leif@nuviainc.com>
      Cc: Michael D Kinney <michael.d.kinney@intel.com>
      Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
      Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2122
      Signed-off-by: Laszlo Ersek <lersek@redhat.com>
      Message-Id: <20210526201446.12554-22-lersek@redhat.com>
      Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
      Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
      Reviewed-by: Leif Lindholm <leif@nuviainc.com>

pnmtopng: 171 colors found
Revision graph left in /home/logs/results/bisect/xen-4.11-testing/test-amd64-amd64-xl-qemuu-ovmf-amd64.debian-hvm-install.{dot,ps,png,html,svg}.
----------------------------------------
164639: tolerable ALL FAIL

flight 164639 xen-4.11-testing real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/164639/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail baseline untested


jobs:
 test-amd64-amd64-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



From xen-devel-bounces@lists.xenproject.org Mon Aug 30 09:52:53 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 09:52:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174937.318837 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKdy0-0007oN-B7; Mon, 30 Aug 2021 09:52:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174937.318837; Mon, 30 Aug 2021 09:52:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKdy0-0007oG-72; Mon, 30 Aug 2021 09:52:36 +0000
Received: by outflank-mailman (input) for mailman id 174937;
 Mon, 30 Aug 2021 09:52:34 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YhGR=NV=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mKdxy-0007oA-9a
 for xen-devel@lists.xenproject.org; Mon, 30 Aug 2021 09:52:34 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 36ef4aed-c828-4603-a75c-dac65ec5b650;
 Mon, 30 Aug 2021 09:52:33 +0000 (UTC)
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2058.outbound.protection.outlook.com [104.47.0.58]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-27-KDtAfY3bMTyDDjZxDP3z4g-1; Mon, 30 Aug 2021 11:52:30 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VE1PR04MB6671.eurprd04.prod.outlook.com (2603:10a6:803:11f::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17; Mon, 30 Aug
 2021 09:52:28 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.024; Mon, 30 Aug 2021
 09:52:28 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P191CA0003.EURP191.PROD.OUTLOOK.COM (2603:10a6:102:54::8) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.18 via Frontend Transport; Mon, 30 Aug 2021 09: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: 36ef4aed-c828-4603-a75c-dac65ec5b650
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630317152;
	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=ozx6sDpAqlaqI9z6nWIuYi4hzITFSPYxi69L75xjK5s=;
	b=mI+14IEteyy+o2LeGgH5aLzuRi2I2Ifzkd/ByGVwgkeVTO8iuikHvaDVe8tjSFwzOxNnGp
	9p/YdYRrTRnk99/KZrF1XSXSCXvIlx738OIjKGLDHRvtAjJ4PyfXkbZVjZVc74J71FY1yr
	PUpx3W7yDnSDLzo/WdaSKmyg627dUKo=
X-MC-Unique: KDtAfY3bMTyDDjZxDP3z4g-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hPsCzHKTW7VyUBptAB4Q5syFhD4oH2YQfsGWrKfDYoproK/r1HCZO0qNCbutSosO27hYdsdca/cISutkeFAHCtzSbZNtsz2DXhjZDnk1IiydQMVAPgrMMjm3cwnLaprfYgOM/Ta4KIcfkaoLhy0bY26KfqFx/Aed/DSx24x2Pce99PhuSfVT8yvhg+p+0rg/EUdFenpO8vtIvvkEwcgVfoy2dw6RUV+Ln3AZxblBGdotY1n7aZM6Kk543B6NoD51OX36Fd2nG+9NjHQQIdFIJp7++uR3sDikV1/fWTbQnvvI0w99QxR8Hv87GgWlZiAZCuFkJ+Y2bTDOYGLZMKyQGQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fYh4N0p7oemNLxY0ylX5ZNMPBgydOPsE2vUeWx1lTW8=;
 b=hxcSHvIKOb1nMaFH8G/SJEcRcFwjn2S3RUmKSUJXt4bQfvXusvPuTTxfnYzHXIGMjjISD5aiypjTa6cQhM038ciT+8sTEfNZpVqz5wdSRbsiGjB6kyK1lASa7psuiEaqahrSBVcJqArnsUJxiuOrqzn7hTvSLE0yu7QS1BGmEFFf2jQywsNziX0VXUaPpDriYDEdW6K3tu+xE3viLuYoTKOWRsEXMEBgOMuqwwxf1RepH/RXg+GbG4ahQZr5egqvmp2k9JbUxBfQ9MO/GkLxJAAy/O2x7c8vWicgQCWM/OlV0+H0/ey3CgBlXjdhdKZzEd7mKdjVchV4cH6BA9RBwg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: kernel.org; dkim=none (message not signed)
 header.d=none;kernel.org; dmarc=none action=none header.from=suse.com;
Subject: Re: [XEN RFC PATCH 37/40] xen: introduce an arch helper to do NUMA
 init failed fallback
To: Wei Chen <Wei.Chen@arm.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Julien Grall
 <julien@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-38-wei.chen@arm.com>
 <48a54187-3b6b-f98c-3681-906ee3df1694@xen.org>
 <DB9PR08MB685769E192E0603F3C723FA09EC99@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <DB9PR08MB6857B7537C35BBF1CE347A4F9EC99@DB9PR08MB6857.eurprd08.prod.outlook.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <5683d5a6-2694-5842-519a-5e3e3c8224fe@suse.com>
Date: Mon, 30 Aug 2021 11:52:26 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <DB9PR08MB6857B7537C35BBF1CE347A4F9EC99@DB9PR08MB6857.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: PR3P191CA0003.EURP191.PROD.OUTLOOK.COM
 (2603:10a6:102:54::8) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 72adfadf-7a8a-4daf-4269-08d96b9be0be
X-MS-TrafficTypeDiagnostic: VE1PR04MB6671:
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB6671A53C855D4DC298DED911B3CB9@VE1PR04MB6671.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:397;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	b5U9W8rXJfP3HqHlvANkPWHutgu1XdPcfHlMT66qyNqtZAnI3BMJ9JEHeTd6/6zAzQYhFiIwKVQMINsr1arNfSU3ACCzqp7KJDQBBgq5X393DDziY2he197BFKtzZA8TFSGWGlQDXCW19UpOxgeHsA66T3g1wwqPeQ7ch2fhy7RXvXxbIuTFK0QASPVKpJMJwyGPCgvqihbN0Wu/frGwzcFSAVD/yNFr7fxWJoScaKFe/NS2JiO8e+XNjxnAhD78GIA/ePGZzPgcR6i1jr7B1DRHLQpShYEbUL18S0uOZgLzti786fAkrTgXWjCi+9LbrkVniQ/xxBn6yOMOilpoC2xiMLqvoCV5nClcQVMLOnorWVwy7w9RHaRUdK5EYYCfVxJWW6uiYQm4ETtvsAsewnilHD+iyxTEPLra2eMz2Qcg4N/uunGaRhtVnMgVQ9sFNiVE3DrLMD9I2spQk/Y+Txxd50Jx9xRZYqVqvfFFjhL/eD8UvZoDsJGAQJqRkKkkCR9KWvUuhaoCxlhwmEcKFb75ttmpaE2iA+q5cUJjFUnVUCP6HObddhtAav2CXI3caJt5jq2wWNsYtTT2D28S7ly0zuHeckQtYZPho3snLjgZjByLnsALH8Nx900lyoIuYcrCaukiZ1IzP5PybfM4WX4TH9dm0W9no3Nhz89uhYnU0DM+ocbHcD0dPTGr5VT1BbkqzhaMlB0inijd/6N6BXttpTShUfSR29M70s7qwkY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(376002)(346002)(396003)(136003)(39860400002)(5660300002)(31696002)(6916009)(186003)(2906002)(16576012)(36756003)(53546011)(86362001)(478600001)(38100700002)(4326008)(6486002)(83380400001)(26005)(8936002)(54906003)(31686004)(66556008)(2616005)(66476007)(8676002)(956004)(316002)(66946007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?YAW5LQOwGqmatriT6Cqnmke8YV+TI/dEOF81d2/sXCpiuPBY1bWMRaP32UDn?=
 =?us-ascii?Q?WBVeyMXtN72MjJD/e3u0fSnroXq8t55eccuo4USOo5oceuTNy87NKF+B8DYl?=
 =?us-ascii?Q?mwGktmc4m3vja9A+r7kOap0ZyV2tW1uhvSXDfazU9xSbDTs4MJ03bIe1A5m7?=
 =?us-ascii?Q?LuRMvAPtU8mDGxxj0o63YUGprbGhbXouD7ffrF2/VuGy6UiZIW8XX063Meil?=
 =?us-ascii?Q?h+U/flUdq+Cq260ssm7Ut26ykMHAWGPzC9ZYTn/tNM4VsCbRuS2k1yN+uemS?=
 =?us-ascii?Q?y4Bam8NJkH0K9hRdzWUhyPiwlVBvXflKWbIFCHXxQpPkKd3EwdHWxw8wnSaL?=
 =?us-ascii?Q?Q5HyPMr86Dw/iF6/Boi416My9zjYK/TM3e21uIOl0jl/D3+eTSbxN/A64Qam?=
 =?us-ascii?Q?2LDH4ar+QXv5LpNPTJsI1/gmbtdpftFyAPR40RVFP+LewkiAChkzqnk567Sg?=
 =?us-ascii?Q?OtOzS3jCTsohF2dDkRzNxhXh4DTJ/nd2RpeM2seMeeMX6AaRfTIQRWpg9S05?=
 =?us-ascii?Q?Z+A+vhN+RRJjyQeyJ2C8RtZlM57n9JA3uOiUoVlAx98lFwn4VBZj/RlcXDud?=
 =?us-ascii?Q?v5EILIHAacFwIg7LvMztx36ROOpzYdP6fvIW+jCQLhgT0ZA7DABs+tRm+Sq3?=
 =?us-ascii?Q?Q+X3c+1SX/zFqLWJy7EnyrTHUrCjmDWT33v9+TPyngstZZ4lReiV/8r7uv+3?=
 =?us-ascii?Q?0BeYklLQNkpJTIXm/20zc1RUTLhKcmoGTJ3NQrgFHpqwCeE1vNTThQWPRWtu?=
 =?us-ascii?Q?1vRqAJPKjG9sJzeLzg3Vhta2/ZE1yEnJ7+6/eXehc2SiGU0MFAgmeMuTc+SD?=
 =?us-ascii?Q?IOSzLmmQo5Xe8evUuH8AesLwVV77vyJQiKtMcoOvYG+u3DPAdMIuvJkir5dM?=
 =?us-ascii?Q?tFuTfvz9lCK6ynItONBhJQseJ/gRbCh/h0S2yg8Lydvhy/REzdvfq0eZxq6m?=
 =?us-ascii?Q?tWmFhRCqPR/IAlfRgeqg+jVf8bt/Xn0vA5Q9CAKlEmWphiHQtWfAp0+YTzuI?=
 =?us-ascii?Q?TEcDry6IpF2vTZEVlCLwrrm7/X20wd6a81yaev79TjGU3m7qYgUGwgxy65ed?=
 =?us-ascii?Q?Q++RzzEL6Lk8XwO2rsnP/bzCVFO3NxD4COueBcV/hQ4CZA48KRhR+5qVbzmy?=
 =?us-ascii?Q?BexiytyC19FzTxZfHJN28502S6rovYmjGfyuTbzOsLWq2j7TmdHBtvrev/yt?=
 =?us-ascii?Q?x94ZCCbmyJHLsbXZZzBOnPneTzt3vCk2VTpkZA6VvnOHZ7A5ZJISxqHgWrA9?=
 =?us-ascii?Q?+ogp3+SL/zinHEI5/SKU//nDZuhTEn339beC8mO+EX2hhfF/7rZZyfny11LE?=
 =?us-ascii?Q?ZfZgVfMUwgUoFTSCLoa+jtVT?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 72adfadf-7a8a-4daf-4269-08d96b9be0be
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2021 09:52:28.5433
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: nhf7Ux2AJD05/WZIfn4kKCyMn/zQto0t3j48q1FwVSN18Xoxx+V8KeY1LTcp0B6ngUw53s01GekHRx5yc5C1KA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6671

On 28.08.2021 05:45, Wei Chen wrote:
>> From: Xen-devel <xen-devel-bounces@lists.xenproject.org> On Behalf Of We=
i
>> Chen
>> Sent: 2021=E5=B9=B48=E6=9C=8828=E6=97=A5 11:09
>>
>>> From: Julien Grall <julien@xen.org>
>>> Sent: 2021=E5=B9=B48=E6=9C=8827=E6=97=A5 22:30
>>>
>>>> --- a/xen/arch/arm/numa.c
>>>> +++ b/xen/arch/arm/numa.c
>>>> @@ -140,3 +140,16 @@ int __init arch_meminfo_get_ram_bank_range(int
>> bank,
>>>>
>>>>   	return 0;
>>>>   }
>>>> +
>>>> +void __init arch_numa_init_failed_fallback(void)
>>>> +{
>>>> +    int i, j;
>>>> +
>>>> +    /* Reset all node distance to remote_distance */
>>>> +    for ( i =3D 0; i < MAX_NUMNODES; i++ ) {
>>>> +        for ( j =3D 0; j < MAX_NUMNODES; j++ ) {
>>>> +            numa_set_distance(i, j,
>>>> +                (i =3D=3D j) ? NUMA_LOCAL_DISTANCE :
>> NUMA_REMOTE_DISTANCE);
>>>> +        }
>>>> +    }
>>>> +}
>>>
>>> ... this implementation looks fairly generic. So can you explain why we
>>> need it on Arm but not x86?
>>>
>>
>> This implementation is DT only, for x86, it's using acpi_slit.
>> For now, I am not quit sure ACPI need to do fallback or not.
>> Or say in another way, I don't know how to implement the fallback
>> for ACPI. I planned to solve it in Arm ACPI version NUMA, so I left
>> an empty helper for x86.
>>
>> @Jan Beulich Could you give me some suggestion about x86 fallback?
>>
>>
>=20
> I have a quick look into Linux. When Arch do numa init failed,
> the numa_free_distance will be invoked to revert numa_distance.

Does this matter in the first place? Don't we fall back to single
node mode, in which case the sole entry of the distance table
will say "local" anyway?

Jan



From xen-devel-bounces@lists.xenproject.org Mon Aug 30 10:13:46 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 10:13:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174945.318847 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKeIP-00020t-1D; Mon, 30 Aug 2021 10:13:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174945.318847; Mon, 30 Aug 2021 10:13: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 1mKeIO-00020m-UX; Mon, 30 Aug 2021 10:13:40 +0000
Received: by outflank-mailman (input) for mailman id 174945;
 Mon, 30 Aug 2021 10:13:38 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fFp4=NV=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mKeIM-00020g-Mv
 for xen-devel@lists.xenproject.org; Mon, 30 Aug 2021 10:13:38 +0000
Received: from smtp-out2.suse.de (unknown [195.135.220.29])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id f038d711-097a-11ec-ac79-12813bfff9fa;
 Mon, 30 Aug 2021 10:13:37 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 7CDD21FDE9;
 Mon, 30 Aug 2021 10:13:36 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 3902D13670;
 Mon, 30 Aug 2021 10:13:36 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id qqBYDFCvLGF7QgAAGKfGzw
 (envelope-from <jgross@suse.com>); Mon, 30 Aug 2021 10:13: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: f038d711-097a-11ec-ac79-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1630318416; 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=YIHIZchXAsatNz4E7ObMiO4DDHreB9wQTZ2pO2qu/4M=;
	b=iu8t9YATkPb/nPgmPxOIR9EEFWZL62amS8vVx/1P2mzjpY/uI2SUvwqHjGEi6lYOQrFre9
	6IFuglhG6JTfjthfpSjQuSG50LNFzjh9vG/KQYrSO3NGofMXTwSmEK32XEv69iQ9q5PPVg
	f4NmYGEQH/GZ5ULVmeskXat9PnIbXsM=
Subject: Re: [PATCH linux-next] drivers/xen/xenbus/xenbus_client.c: fix
 bugon.cocci warnings
To: CGEL <cgel.zte@gmail.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 SeongJae Park <sjpark@amazon.de>, Roger Pau Monne <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org, Jing Yangyang <jing.yangyang@zte.com.cn>,
 Zeal Robot <zealci@zte.com.cn>
References: <20210825062451.69998-1-deng.changcheng@zte.com.cn>
From: Juergen Gross <jgross@suse.com>
Message-ID: <4b43de19-2db3-2d63-6fcb-5ae35de366aa@suse.com>
Date: Mon, 30 Aug 2021 12:13:35 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <20210825062451.69998-1-deng.changcheng@zte.com.cn>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="YCTHmPIXpQnSTbQK12lyYX3KkPOVSnxt5"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--YCTHmPIXpQnSTbQK12lyYX3KkPOVSnxt5
Content-Type: multipart/mixed; boundary="DnFLcnnLqgx5lnL3lXlf9Men48Er9fsb1";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: CGEL <cgel.zte@gmail.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 SeongJae Park <sjpark@amazon.de>, Roger Pau Monne <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org, Jing Yangyang <jing.yangyang@zte.com.cn>,
 Zeal Robot <zealci@zte.com.cn>
Message-ID: <4b43de19-2db3-2d63-6fcb-5ae35de366aa@suse.com>
Subject: Re: [PATCH linux-next] drivers/xen/xenbus/xenbus_client.c: fix
 bugon.cocci warnings
References: <20210825062451.69998-1-deng.changcheng@zte.com.cn>
In-Reply-To: <20210825062451.69998-1-deng.changcheng@zte.com.cn>

--DnFLcnnLqgx5lnL3lXlf9Men48Er9fsb1
Content-Type: multipart/mixed;
 boundary="------------A5657A3FD4287A23B4442C1E"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------A5657A3FD4287A23B4442C1E
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 25.08.21 08:24, CGEL wrote:
> From: Jing Yangyang <jing.yangyang@zte.com.cn>
>=20
> Use BUG_ON instead of a if condition followed by BUG.
>=20
> Generated by: scripts/coccinelle/misc/bugon.cocci
>=20
> Reported-by: Zeal Robot <zealci@zte.com.cn>
> Signed-off-by: Jing Yangyang <jing.yangyang@zte.com.cn>

Pushed to xen/tip.git for-linus-5.15


Juergen

--------------A5657A3FD4287A23B4442C1E
Content-Type: application/pgp-keys;
 name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Transfer-Encoding: quoted-printable
Content-Description: OpenPGP public key
Content-Disposition: attachment;
 filename="OpenPGP_0xB0DE9DD628BF132F.asc"

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOBy=
cWx
w3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJvedYm8O=
f8Z
d621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y=
9bf
IhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xq=
G7/
377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR=
3Jv
c3MgPGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsEFgIDA=
QIe
AQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4FUGNQH2lvWAUy+dnyT=
hpw
dtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3TyevpB0CA3dbBQp0OW0fgCetToGIQrg0=
MbD
1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbv=
oPH
Z8SlM4KWm8rG+lIkGurqqu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v=
5QL
+qHI3EIPtyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVyZ=
2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJCAcDAgEGFQgCC=
QoL
BBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4RF7HoZhPVPogNVbC4YA6lW7Dr=
Wf0
teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz78X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC=
/nu
AFVGy+67q2DH8As3KPu0344TBDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0Lh=
ITT
d9jLzdDad1pQSToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLm=
XBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkMnQfvUewRz=
80h
SnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMBAgAjBQJTjHDXAhsDBwsJC=
AcD
AgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJn=
FOX
gMLdBQgBlVPO3/D9R8LtF9DBAFPNhlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1=
jnD
kfJZr6jrbjgyoZHiw/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0=
N51
N5JfVRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwPOoE+l=
otu
fe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK/1xMI3/+8jbO0tsn1=
tqS
EUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuZGU+wsB5BBMBAgAjBQJTjHDrA=
hsD
BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3=
g3O
ZUEBmDHVVbqMtzwlmNC4k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5=
dM7
wRqzgJpJwK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu5=
D+j
LRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzBTNh30FVKK1Evm=
V2x
AKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37IoN1EblHI//x/e2AaIHpzK5h88N=
Eaw
QsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpW=
nHI
s98ndPUDpnoxWQugJ6MpMncr0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZR=
wgn
BC5mVM6JjQ5xDk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNV=
bVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mmwe0icXKLk=
pEd
IXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0Iv3OOImwTEe4co3c1mwARA=
QAB
wsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMvQ/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEw=
Tbe
8YFsw2V/Buv6Z4Mysln3nQK5ZadD534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1=
vJz
Q1fOU8lYFpZXTXIHb+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8=
VGi
wXvTyJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqcsuylW=
svi
uGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5BjR/i1DG86lem3iBDX=
zXs
ZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------A5657A3FD4287A23B4442C1E--

--DnFLcnnLqgx5lnL3lXlf9Men48Er9fsb1--

--YCTHmPIXpQnSTbQK12lyYX3KkPOVSnxt5
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmEsr08FAwAAAAAACgkQsN6d1ii/Ey8Y
5gf9GxxC10fnBRxdo0DUSlHtU2UItcXEuKUiHwEYk0GJb0pSTKDvdXuFHk+Db0ia0cGrGKai3jWn
kNbF3qGkT5pMmLl+y6HfFurhdVeMvjPC5XvQs/YYWyKq2nh2JpiaCc6YlWjClrCPmi/xIFNl85yv
1PbwDuqCKsi4yZZfYsi8b+I2xOgFNbjlGVI+YAzMz/mJ1ZdijT3XJbX5IvutRj9qnCyBUxo/8jmt
Yr3G64CwHY4Ag8crR1xVutddrA1eRcXix4hM8F4uhx/KULrQ4edo4eLxkQUzHFeIDed17xRbyzSv
Jd+QaoziFSHUsxMpEiPw3r3UnERojskBLleteQKDCQ==
=hoqZ
-----END PGP SIGNATURE-----

--YCTHmPIXpQnSTbQK12lyYX3KkPOVSnxt5--


From xen-devel-bounces@lists.xenproject.org Mon Aug 30 10:15:12 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 10:15:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174950.318859 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKeJs-0002bY-CM; Mon, 30 Aug 2021 10:15:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174950.318859; Mon, 30 Aug 2021 10:15: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 1mKeJs-0002bR-9F; Mon, 30 Aug 2021 10:15:12 +0000
Received: by outflank-mailman (input) for mailman id 174950;
 Mon, 30 Aug 2021 10:15:11 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fFp4=NV=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mKeJr-0002bL-0r
 for xen-devel@lists.xenproject.org; Mon, 30 Aug 2021 10:15:11 +0000
Received: from smtp-out1.suse.de (unknown [195.135.220.28])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 27aa1948-097b-11ec-ac79-12813bfff9fa;
 Mon, 30 Aug 2021 10:15:09 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 E406022114;
 Mon, 30 Aug 2021 10:15:08 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 9605113670;
 Mon, 30 Aug 2021 10:15:08 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id Eh0YI6yvLGH2QgAAGKfGzw
 (envelope-from <jgross@suse.com>); Mon, 30 Aug 2021 10: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: 27aa1948-097b-11ec-ac79-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1630318508; 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=wcriqiY1NMqpzuM9nXJtM0yN37QrMo+tW4/oy7RSsjk=;
	b=YCvrOJCvdhnS8ZHXy7t3zr48YsWASt1Y6O/2n31UXD8xDxXAfMvNhHR3GdDPvNJHoIgysn
	ye13micZVkNclGWDHom2fYEMGipLES3pwfd5NaoQFM1QFlOW77/iQ0kGRIC/2ooIW7/pjP
	KxgCT0s1iQGMLgsNq51Xd/02HPDwmOk=
Subject: Re: [PATCH] x86: xen: platform-pci-unplug: use pr_err() and pr_warn()
 instead of raw printk()
To: zhaoxiao <zhaoxiao@uniontech.com>, tglx@linutronix.de, mingo@redhat.com,
 bp@alien8.de, x86@kernel.org
Cc: hpa@zytor.com, xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org, boris.ostrovsky@oracle.com,
 sstabellini@kernel.org
References: <20210825114111.29009-1-zhaoxiao@uniontech.com>
From: Juergen Gross <jgross@suse.com>
Message-ID: <7a10253d-c549-5507-b672-7885509cb528@suse.com>
Date: Mon, 30 Aug 2021 12:15:08 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <20210825114111.29009-1-zhaoxiao@uniontech.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="xT8aENdSD2swBm0FJXI7WFkcBHKeqBZPi"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--xT8aENdSD2swBm0FJXI7WFkcBHKeqBZPi
Content-Type: multipart/mixed; boundary="w04qN6hNey5BmQczBbjkgzsSDxCMr97ph";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: zhaoxiao <zhaoxiao@uniontech.com>, tglx@linutronix.de, mingo@redhat.com,
 bp@alien8.de, x86@kernel.org
Cc: hpa@zytor.com, xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org, boris.ostrovsky@oracle.com,
 sstabellini@kernel.org
Message-ID: <7a10253d-c549-5507-b672-7885509cb528@suse.com>
Subject: Re: [PATCH] x86: xen: platform-pci-unplug: use pr_err() and pr_warn()
 instead of raw printk()
References: <20210825114111.29009-1-zhaoxiao@uniontech.com>
In-Reply-To: <20210825114111.29009-1-zhaoxiao@uniontech.com>

--w04qN6hNey5BmQczBbjkgzsSDxCMr97ph
Content-Type: multipart/mixed;
 boundary="------------46280C33D24262895ECB9970"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------46280C33D24262895ECB9970
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 25.08.21 13:41, zhaoxiao wrote:
> Since we have the nice helpers pr_err() and pr_warn(), use them instead=

> of raw printk().
>=20
> Signed-off-by: zhaoxiao <zhaoxiao@uniontech.com>

Pushed to xen/tip.git for-linus-5.15 with a small fix (moved the
"#define pr_fmt" before the first #include in order to avoid
build warnings due to redefinition).


Juergen

--------------46280C33D24262895ECB9970
Content-Type: application/pgp-keys;
 name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Transfer-Encoding: quoted-printable
Content-Description: OpenPGP public key
Content-Disposition: attachment;
 filename="OpenPGP_0xB0DE9DD628BF132F.asc"

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOBy=
cWx
w3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJvedYm8O=
f8Z
d621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y=
9bf
IhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xq=
G7/
377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR=
3Jv
c3MgPGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsEFgIDA=
QIe
AQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4FUGNQH2lvWAUy+dnyT=
hpw
dtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3TyevpB0CA3dbBQp0OW0fgCetToGIQrg0=
MbD
1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbv=
oPH
Z8SlM4KWm8rG+lIkGurqqu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v=
5QL
+qHI3EIPtyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVyZ=
2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJCAcDAgEGFQgCC=
QoL
BBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4RF7HoZhPVPogNVbC4YA6lW7Dr=
Wf0
teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz78X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC=
/nu
AFVGy+67q2DH8As3KPu0344TBDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0Lh=
ITT
d9jLzdDad1pQSToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLm=
XBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkMnQfvUewRz=
80h
SnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMBAgAjBQJTjHDXAhsDBwsJC=
AcD
AgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJn=
FOX
gMLdBQgBlVPO3/D9R8LtF9DBAFPNhlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1=
jnD
kfJZr6jrbjgyoZHiw/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0=
N51
N5JfVRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwPOoE+l=
otu
fe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK/1xMI3/+8jbO0tsn1=
tqS
EUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuZGU+wsB5BBMBAgAjBQJTjHDrA=
hsD
BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3=
g3O
ZUEBmDHVVbqMtzwlmNC4k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5=
dM7
wRqzgJpJwK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu5=
D+j
LRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzBTNh30FVKK1Evm=
V2x
AKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37IoN1EblHI//x/e2AaIHpzK5h88N=
Eaw
QsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpW=
nHI
s98ndPUDpnoxWQugJ6MpMncr0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZR=
wgn
BC5mVM6JjQ5xDk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNV=
bVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mmwe0icXKLk=
pEd
IXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0Iv3OOImwTEe4co3c1mwARA=
QAB
wsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMvQ/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEw=
Tbe
8YFsw2V/Buv6Z4Mysln3nQK5ZadD534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1=
vJz
Q1fOU8lYFpZXTXIHb+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8=
VGi
wXvTyJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqcsuylW=
svi
uGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5BjR/i1DG86lem3iBDX=
zXs
ZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------46280C33D24262895ECB9970--

--w04qN6hNey5BmQczBbjkgzsSDxCMr97ph--

--xT8aENdSD2swBm0FJXI7WFkcBHKeqBZPi
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmEsr6wFAwAAAAAACgkQsN6d1ii/Ey/8
aAf/dE7Yyi2/6fpKCtUUGI5yM93HFk6brze0KwOO3WXctUSSi5fn2ouAzoPvZqZrv0Eg7U26Tqsv
W4NDHIyXJL7XsSsgFxQrszPSc1PKLQhTHnK6hBv8WXjmwCRKQkWkubU67LxLH4+C5MvabP9qgVJz
klG77aGaVWc/+OmnS1a9a4Us1XW+zt8cTrXNc11dJDRtrzEHHqrGhKIIxGVNFZYQedykaKzRNNjg
fL/vc6FuVIPl4v/O9YXeFQ87LtQNBsa1OmzWJgfjTCdhYHKDLw3qIOI6ijhLp6JVZrGzijqwQYgK
9oQNPyuF0p2z4N4TmnBbWZpHiNkViKZPl6l+hAVK9g==
=4Ucr
-----END PGP SIGNATURE-----

--xT8aENdSD2swBm0FJXI7WFkcBHKeqBZPi--


From xen-devel-bounces@lists.xenproject.org Mon Aug 30 10:16:13 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 10:16:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174955.318870 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKeKq-0003BX-Ms; Mon, 30 Aug 2021 10:16:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174955.318870; Mon, 30 Aug 2021 10:16:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKeKq-0003BN-Jw; Mon, 30 Aug 2021 10:16:12 +0000
Received: by outflank-mailman (input) for mailman id 174955;
 Mon, 30 Aug 2021 10:16:11 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fFp4=NV=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mKeKp-0003BF-Tj
 for xen-devel@lists.xenproject.org; Mon, 30 Aug 2021 10:16:11 +0000
Received: from smtp-out1.suse.de (unknown [195.135.220.28])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 4c194768-097b-11ec-ac79-12813bfff9fa;
 Mon, 30 Aug 2021 10:16:11 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 3540821DA8;
 Mon, 30 Aug 2021 10:16:10 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id EC75D13670;
 Mon, 30 Aug 2021 10:16:09 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id W8g5OOmvLGE0QwAAGKfGzw
 (envelope-from <jgross@suse.com>); Mon, 30 Aug 2021 10:16:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4c194768-097b-11ec-ac79-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1630318570; 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=ySRnwFql9fJfhf6kdA57y05yvy5Kk5ptSmd+4e4b6pk=;
	b=kPJomYUbTAZHYlrsyur/wPutc0svGikTLhpj/vQXX/mI9FeF0jAHrBX7b9olhHaAStq8a+
	+rpVTfk29aAxSScH/jMP8NUedrxDkamqEkACihEHFeDA6SlGesTYGLK7hRBI6G3HmXeOKZ
	RAyfYJBXSHh2zIlBaDtQWn3NDpvLxzU=
Subject: Re: [PATCH v3 0/3] xen: harden blkfront against malicious backends
To: xen-devel@lists.xenproject.org, linux-block@vger.kernel.org,
 linux-kernel@vger.kernel.org
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Jens Axboe <axboe@kernel.dk>
References: <20210730103854.12681-1-jgross@suse.com>
From: Juergen Gross <jgross@suse.com>
Message-ID: <324eab71-86ae-790a-d19c-97bb35b4f354@suse.com>
Date: Mon, 30 Aug 2021 12:16:09 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <20210730103854.12681-1-jgross@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="wZC1IgbKDVH7XgM8ykJVZAWRogJ2eOmeq"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--wZC1IgbKDVH7XgM8ykJVZAWRogJ2eOmeq
Content-Type: multipart/mixed; boundary="00oaAymQLL261J1A92SoY0uiKtAQrzaQn";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org, linux-block@vger.kernel.org,
 linux-kernel@vger.kernel.org
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Jens Axboe <axboe@kernel.dk>
Message-ID: <324eab71-86ae-790a-d19c-97bb35b4f354@suse.com>
Subject: Re: [PATCH v3 0/3] xen: harden blkfront against malicious backends
References: <20210730103854.12681-1-jgross@suse.com>
In-Reply-To: <20210730103854.12681-1-jgross@suse.com>

--00oaAymQLL261J1A92SoY0uiKtAQrzaQn
Content-Type: multipart/mixed;
 boundary="------------62439A08F1A8B23EA617671E"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------62439A08F1A8B23EA617671E
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 30.07.21 12:38, Juergen Gross wrote:
> Xen backends of para-virtualized devices can live in dom0 kernel, dom0
> user land, or in a driver domain. This means that a backend might
> reside in a less trusted environment than the Xen core components, so
> a backend should not be able to do harm to a Xen guest (it can still
> mess up I/O data, but it shouldn't be able to e.g. crash a guest by
> other means or cause a privilege escalation in the guest).
>=20
> Unfortunately blkfront in the Linux kernel is fully trusting its
> backend. This series is fixing blkfront in this regard.
>=20
> It was discussed to handle this as a security problem, but the topic
> was discussed in public before, so it isn't a real secret.
>=20
> It should be mentioned that a similar series has been posted some years=

> ago by Marek Marczykowski-G=C3=B3recki, but this series has not been ap=
plied
> due to a Xen header not having been available in the Xen git repo at
> that time. Additionally my series is fixing some more DoS cases.
>=20
> Changes in V3:
> - patch 3: insert missing unlock in error case (kernel test robot)
> - patch 3: use %#x as format for printing wrong operation value
>    (Roger Pau Monn=C3=A9)
>=20
> Changes in V2:
> - put blkfront patches into own series
> - some minor comments addressed
>=20
> Juergen Gross (3):
>    xen/blkfront: read response from backend only once
>    xen/blkfront: don't take local copy of a request from the ring page
>    xen/blkfront: don't trust the backend response data blindly
>=20
>   drivers/block/xen-blkfront.c | 126 +++++++++++++++++++++++-----------=
-
>   1 file changed, 84 insertions(+), 42 deletions(-)
>=20

Series pushed to xen/tip.git for-linus-5.15


Juergen

--------------62439A08F1A8B23EA617671E
Content-Type: application/pgp-keys;
 name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Transfer-Encoding: quoted-printable
Content-Description: OpenPGP public key
Content-Disposition: attachment;
 filename="OpenPGP_0xB0DE9DD628BF132F.asc"

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOBy=
cWx
w3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJvedYm8O=
f8Z
d621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y=
9bf
IhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xq=
G7/
377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR=
3Jv
c3MgPGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsEFgIDA=
QIe
AQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4FUGNQH2lvWAUy+dnyT=
hpw
dtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3TyevpB0CA3dbBQp0OW0fgCetToGIQrg0=
MbD
1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbv=
oPH
Z8SlM4KWm8rG+lIkGurqqu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v=
5QL
+qHI3EIPtyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVyZ=
2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJCAcDAgEGFQgCC=
QoL
BBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4RF7HoZhPVPogNVbC4YA6lW7Dr=
Wf0
teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz78X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC=
/nu
AFVGy+67q2DH8As3KPu0344TBDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0Lh=
ITT
d9jLzdDad1pQSToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLm=
XBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkMnQfvUewRz=
80h
SnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMBAgAjBQJTjHDXAhsDBwsJC=
AcD
AgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJn=
FOX
gMLdBQgBlVPO3/D9R8LtF9DBAFPNhlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1=
jnD
kfJZr6jrbjgyoZHiw/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0=
N51
N5JfVRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwPOoE+l=
otu
fe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK/1xMI3/+8jbO0tsn1=
tqS
EUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuZGU+wsB5BBMBAgAjBQJTjHDrA=
hsD
BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3=
g3O
ZUEBmDHVVbqMtzwlmNC4k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5=
dM7
wRqzgJpJwK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu5=
D+j
LRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzBTNh30FVKK1Evm=
V2x
AKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37IoN1EblHI//x/e2AaIHpzK5h88N=
Eaw
QsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpW=
nHI
s98ndPUDpnoxWQugJ6MpMncr0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZR=
wgn
BC5mVM6JjQ5xDk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNV=
bVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mmwe0icXKLk=
pEd
IXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0Iv3OOImwTEe4co3c1mwARA=
QAB
wsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMvQ/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEw=
Tbe
8YFsw2V/Buv6Z4Mysln3nQK5ZadD534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1=
vJz
Q1fOU8lYFpZXTXIHb+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8=
VGi
wXvTyJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqcsuylW=
svi
uGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5BjR/i1DG86lem3iBDX=
zXs
ZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------62439A08F1A8B23EA617671E--

--00oaAymQLL261J1A92SoY0uiKtAQrzaQn--

--wZC1IgbKDVH7XgM8ykJVZAWRogJ2eOmeq
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmEsr+kFAwAAAAAACgkQsN6d1ii/Ey/V
fwgAiwttMoeaRjT6z90Dj0C5RVj2ypvjEckWpDvZFDUrKyiw7/SvtoeWj97jUaYHqDqJe7Z33p4K
HlXOStVkIGTF/6E17EsHLPC2vq7Wk9A1evnZ4BvGdRhOKRA/2qK/n05Pcp82k6XKJsM4Ctgkqr27
X1YkxWsagi3oVu5Sl4aBvvckOucCyPhJ8eLGx4d+F55EAAOjZBZpN9jnYbdmZ4NJmDn+MfAkq16s
CGArI31OVOLLzD43LjxGJ2Y5n+TNGACOF4BNy++WrIVfVgtU7BkpwUbO8JTBHSu94dej6wmUUb5V
ExlOmIDGqerbEAUHn7ccjMZu+U5g+V8jEAAoRzKxkw==
=1i13
-----END PGP SIGNATURE-----

--wZC1IgbKDVH7XgM8ykJVZAWRogJ2eOmeq--


From xen-devel-bounces@lists.xenproject.org Mon Aug 30 10:26:10 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 10:26:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174973.318881 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKeUQ-0004tz-Ov; Mon, 30 Aug 2021 10:26:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174973.318881; Mon, 30 Aug 2021 10:26: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 1mKeUQ-0004ts-Lf; Mon, 30 Aug 2021 10:26:06 +0000
Received: by outflank-mailman (input) for mailman id 174973;
 Mon, 30 Aug 2021 10:26:04 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YhGR=NV=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mKeUO-0004tm-TM
 for xen-devel@lists.xenproject.org; Mon, 30 Aug 2021 10:26:04 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id ac72345d-097c-11ec-ac7a-12813bfff9fa;
 Mon, 30 Aug 2021 10:26:03 +0000 (UTC)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2106.outbound.protection.outlook.com [104.47.18.106])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-17-hxr2Y-b6NIOmwF4on6NuFA-1; Mon, 30 Aug 2021 12:26:01 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5902.eurprd04.prod.outlook.com (2603:10a6:803:ed::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.20; Mon, 30 Aug
 2021 10:26:00 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.024; Mon, 30 Aug 2021
 10:25:59 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P251CA0012.EURP251.PROD.OUTLOOK.COM (2603:10a6:102:b5::27) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.18 via Frontend Transport; Mon, 30 Aug 2021 10: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>
X-Inumbo-ID: ac72345d-097c-11ec-ac7a-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630319162;
	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=xLrku/NvfMX4Qjs3PYhnrd6aOUTfYSAryYiss7ZonqM=;
	b=ch5CuELblv+n/ri7mCuFtKHL47KDk8jHntXAcY/VsIGpuxmgpFMZqWMpmOJjt/vjpAHtFS
	NbCf6ygT6LyARkv8HdqE4tLiLH2/KXGydw2NzPWSGgFUzb83Kfkn4MubM194D608Sb4jtr
	B+SSZJJko8dxtoONnUiqXRCOLD59ySM=
X-MC-Unique: hxr2Y-b6NIOmwF4on6NuFA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Q/M13oZXGR8Mta1x4L08jmQ3U1tHfwKyX467psPo3eySQVxS5iHhXSaPOS7+Vy79tTRq+1kgzv4NT1X6DNYXMq3lK3TnoT3Wobn3glVxSKVugRz8PER2BLdp6cr5nc5Bj+D5NL+W8MiXlSMsCgf9IDGATMk469WNT1Utk4DsiAojzmQj3xmBN7QJ/3YuHguVDW2lraCLEEfKQ2Bj/t4/Y67OrtwQTnNgJ0KocOrA9HqvCmhYAcrX/Zb4gd5Wkd9r4u6pBEpFrJ475FIq4RbCyXJtv/esoBHYbGv0cpMTapOc1mvHDTEFDTzlc6wJ0Wa1uLdI0S+jsibKabaQfwSBug==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xLrku/NvfMX4Qjs3PYhnrd6aOUTfYSAryYiss7ZonqM=;
 b=WYTc8gAQwtpSNV3Y3cEj32L4XGggoxL1bhyOGS0uEWVeStBMfrt9V+2kogovcgR43e9w1YznJcwoj1TLQcDUIV8ATVeXTQiMsWChPyrnJgic8EQT3tu/7mDC4YrQXZaJS442NhDjdNP5szfaDzLLz+ULMOigR13tdbw+nI4BQ+jyu5Nu0Yuwy1ffj9qHw0FwvBsD8/9ItYPnRplM3NloWrb7Ud9QrAPyGwgfabOFspt/5BjtdiVXzROnP5tGeK0DFbIv2EQ0sH4Oqqe9LHL5KmgDbyjdfQrlQd0/KAWfZ/DiE7XPRkw/HDkZh1aQylutPCl5n7qup9VVsh1P2QuUoQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xenproject.org; dkim=none (message not signed)
 header.d=none;xenproject.org; dmarc=none action=none header.from=suse.com;
Subject: Re: XSA-378 fixes breaking PVH Dom0 (was: [xen-4.15-testing test]
 164495: regressions - FAIL)
From: Jan Beulich <jbeulich@suse.com>
To: xen-devel@lists.xenproject.org
Cc: osstest service owner <osstest-admin@xenproject.org>
References: <osstest-164495-mainreport@xen.org>
 <6bf7f023-a00f-4853-fbe8-83d9d2aff370@suse.com>
 <953dd8e9-1c44-3881-6b62-306cc31cdb2f@suse.com>
Message-ID: <e330a346-66f5-6d22-b95c-3bb3bca4754f@suse.com>
Date: Mon, 30 Aug 2021 12:25:58 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <953dd8e9-1c44-3881-6b62-306cc31cdb2f@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P251CA0012.EURP251.PROD.OUTLOOK.COM
 (2603:10a6:102:b5::27) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: e2310b10-e3bf-49f9-0934-08d96ba08f83
X-MS-TrafficTypeDiagnostic: VI1PR04MB5902:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB59029832500738499F4DE711B3CB9@VI1PR04MB5902.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Jdkh+TO7vTn35xj7wVib2HCd636YIwRLRBP6gADb89TBCWLdXOdpvpTBWZttf2r7BenPR7NilJ8aQ2TZDsjys38NAYhEvbFun5SOETSj4dDqlGXu+E89K8dBcXSnoyJD+7uDUdkJ+KzBAq9bM/4wU3GwWxFNRkbNpT597uZEweUQOkJF7RZX9Q020a5/JWb1LnKJaA22LF1EHY9bJQklAcpyt8qenPPW+9zeRmI+TBK9woNsU0L+SnPfdaATXg68eZYRlqCt3UCfLldwOZbyFt7Ys0blWVnkkA7pyrE4EXX4Exu7wSVsjkUk/kzYZIZtsIIpRmfUfCozpFxLkrYlpYKexzTScaXsT6fEaYl0P+ad/VOSlB8twe7n2rqxnwEt1vZdPJdO6P/cs8DMKd5dUUBpo3mtXK5Tk0VvLGFm/BcKk9rOfKDtzWeVMa6n8gftQxNBxFsO8wdzNwP+2pmSkZrvs4sUIk1Eco1hTV5CbjfP6YCl5U7s6Jw0SLlOGgSAghpSeU9aGq5K22emwhySf8rXhM/9sz1dwQIqDWGbNDZvCZKrJo+gnGvVWTJSqJdfbmsnro+1AH2NxO1nsvCOTJG4z/8UNzKGm0uGNk/E6ShyOGGxcDrT4Ry2sDj1RybPkCdd5i2nJpR+nHPSi4KyWJfjC3YZG4Csu9JLm3OLT89AxC69AHZ3GxkGGLdqfOYP78/XfB0F/xc5jNYVp4EJk6S5S7iobfE3/Q+R47DeFpSs9wM3sykqCt1sCb/FtrwTFrVr+NnXtmItZsZVs/kmefYyEnBzLEfwzP6MbYk5tSDi2k4HQV3rBcVF/ERReD6K
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(39860400002)(376002)(346002)(136003)(366004)(478600001)(31696002)(16576012)(66556008)(66476007)(38100700002)(31686004)(316002)(83380400001)(2616005)(8936002)(956004)(66946007)(966005)(6916009)(86362001)(186003)(2906002)(5660300002)(8676002)(26005)(4326008)(36756003)(6486002)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UkwwTnQrWlh4OTJyaFJydDIvWHpjVERlS2ZSRnVQK2l1S3psTWJGYkx0bEdy?=
 =?utf-8?B?SWFOZEdXa2FOOG1uaXpTbzR6OWpodUNVQndjZXNIbm53Mkp2ZkxiOEQxYTUw?=
 =?utf-8?B?dTZqK3JkTlhadmZUL1liOCt6K3FWeTliQXpWM0FpbmZDTzRscFU5MmNVbjBU?=
 =?utf-8?B?YzRjcUV1WmI4ajFZdlJicXNaV3k4RDZiaU15K0RMaTRoOGRNYW9MSHJXUmJs?=
 =?utf-8?B?TWk2ZjcxaWdlcGduWnpHVGJwY2llck9ERDJTUkFqeWpPR3lZN3ozRURFVlVJ?=
 =?utf-8?B?ekpjYURRVWR4dEphNW1Ma3dYc1NrbVhUZ3k5b2NidHlNK2JSSnpmNjBZRFFN?=
 =?utf-8?B?K2VMM1FKUHB3djFqbWtGVHpMZkVYcWExeWdETVVqYTlJWnFpaERWeFdiTDJ6?=
 =?utf-8?B?cUxra2FRdzF0S3QyT29DQmR2bS9NUVowK0d2TlgyUlhSSFE2ZElQeUI1Unpn?=
 =?utf-8?B?bFFQYzNzazlCdElYSnNWWW5EMk05bzExM0phcnBjVGdWZXFKTkw1dUJEdDAy?=
 =?utf-8?B?RVE4K1hFdHVHR0xScUxlVlJmSmo5THFsSTAyUCtCbUtSc09aQWdxNlRSMTdX?=
 =?utf-8?B?MUkrMkw3N0Zhc0dVQTNMdUZheWVsYTB4UmwvK29tWDdXM3hMQkt1dXJuM3o3?=
 =?utf-8?B?SW1XZkdLZjJaMXMwcmd3KzJIRXh6bzBnL0tFS3JyTWFqSVZxbDljakxFY0Zw?=
 =?utf-8?B?bGNJUWZlUkdieDB4dVFtRTVLK1U3SHIzRWhOcmhDdVpoeXpoV0pvVWJ2SUNJ?=
 =?utf-8?B?eXlka2dGVFV3Y1ZFS1RnQnd6UkYwR25ZZW9pT0F3dGhzOWk5dTlyZFBCWWdI?=
 =?utf-8?B?bFRRSE93MVFLRThtdDNwS0lKY3NoZUxQeXBvZEQzV3ZQbkZmL3VBNlpnNmxn?=
 =?utf-8?B?dFRIbFBML1QvWTRLazVPL2ZVUG1pMStQUG5EcFdUczFOby8rS1N3Sit4cVlH?=
 =?utf-8?B?Wm53MEtBeU0vckFQMTYxelF4ZnlMdGt4TytIK05rOGxqdlc5Q3MrMHlmc1BD?=
 =?utf-8?B?RTVLZ2Z2RDhwNkZKMzZMdmNJR0FFRVIxbjZIcTNmN0N5UEpZOW1TQmpTU3RE?=
 =?utf-8?B?NkF4MmpjanhjUDRZRHhwbFVWNVVBNEFqYVMxMk5lN1dRTGdBNVVXeW5YckJi?=
 =?utf-8?B?RWR3eWF4Y3NGRU1rcU54elJwSit0SUpXUDlWKzkwVUpSNURPT2xBUDZ6T1dt?=
 =?utf-8?B?UzFNdmpONlY0RFJ2N084YTllMjh6LzVhSHhsK0FLZDl4TFFIdW5GT3JQbjVr?=
 =?utf-8?B?Zzc0N2xtNTcvNTVZcVZNWDJHQVJ1R29IUHNqTEE4UVQ4UHZKakF3Qk5tM0xu?=
 =?utf-8?B?KytjNjRXa1RudDlVSDI1aW43R05NMVlvWTg2ZjR4cTJmSm05a0dOdUgxclY2?=
 =?utf-8?B?Tzdla2sxaXY0M3pSUWwyUDk1YWJocUx4Z0syZXZUWFNBTWE4b1gvTUNRakZl?=
 =?utf-8?B?cndGUXFFcDNTZ0I2bGhkMkVzdGJqdjRJQWRoT3NhSFp1cHFmQi9pNTdJRWZz?=
 =?utf-8?B?Wndwb2J4NmoxOGFNQ2w2QzlZRTJLNkt4eWIxQjdQemJlU3ZJQ2ROQnBBb1Nx?=
 =?utf-8?B?aUNScUg2RWppSXVkZGhvK1RXWHROYzRPYlk3blFxN1kxajRqamZOVFM0aTEv?=
 =?utf-8?B?aExoR0s4c3ZiRUJDRmppSkdWajgzZmRWcGJZUkVrWk43dG9xeUlEUUE4bEky?=
 =?utf-8?B?cGUxL0NWWGpPNk9KNFl6UTVGeVF0TDJjRnFiYk5JV3EwRWs2RUlhb2VsZlJB?=
 =?utf-8?Q?1Ghh1PFsAJ8S04VIn64XWsiO9HvviH3Ko9D4jMC?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e2310b10-e3bf-49f9-0934-08d96ba08f83
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2021 10:25:59.6994
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Ik1oira2/Jvl8tQbaD0SAwqmZfQUCcGZGpRviBM63uayevdqppzVYSmqp70GnQIj3e0bhXraLBb078X4SIyxug==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5902

On 27.08.2021 16:46, Jan Beulich wrote:
> On 27.08.2021 15:29, Jan Beulich wrote:
>> On 27.08.2021 08:52, osstest service owner wrote:
>>> flight 164495 xen-4.15-testing real [real]
>>> flight 164509 xen-4.15-testing real-retest [real]
>>> http://logs.test-lab.xenproject.org/osstest/logs/164495/
>>> http://logs.test-lab.xenproject.org/osstest/logs/164509/
>>>
>>> Regressions :-(
>>>
>>> Tests which did not succeed and are blocking,
>>> including tests which could not be run:
>>>  test-amd64-amd64-dom0pvh-xl-amd  8 xen-boot              fail REGR. vs. 163759
>>>  test-amd64-amd64-dom0pvh-xl-intel  8 xen-boot            fail REGR. vs. 163759
>>
>> This is fallout from XSA-378. During Dom0 setup we first call
>> iommu_hwdom_init(), which maps reserved regions (p2m_access_rw).
>> Later map_mmio_regions() gets used to identity-map the low first
>> Mb. This, using set_mmio_p2m_entry(), establishes default-access
>> mappings (p2m_access_rwx).
>>
>> Hence even if relaxing the logic in set_typed_p2m_entry() to
>>
>>     if ( p2m_is_special(ot) )
>>     {
>>         gfn_unlock(p2m, gfn, order);
>>         if ( mfn_eq(mfn, omfn) && gfn_p2mt == ot && access == a )
>>             return 0;
>>         domain_crash(d);
>>         return -EPERM;
>>     }
>>
>> we're still in trouble (because the two access types don't match)
>> when there is any reserved region below 1Mb.
>>
>> One approach would be to avoid blindly mapping the low first Mb,
>> and to instead honor mappings which are already there. Or the
>> opposite - avoid mapping anything from arch_iommu_hwdom_init()
>> which is below 1Mb. (Other mappings down the call tree from
>> pvh_setup_acpi() imo would then also need adjusting, to avoid
>> redundant mapping attempts of space below 1Mb. At least RSDP is
>> known to possibly live there on various systems.)
>>
>> Another approach could be to stop passing ->default_access from
>> set_mmio_p2m_entry() to set_typed_p2m_entry(). (And I think the
>> same should go for set_foreign_p2m_entry()). At the very least
>> right now it makes no sense at all to make RWX mappings there,
>> except when mapping PCI device ROMs. But of course reducing
>> permissions always comes with a (however large or small) risk of
>> regressions.
>>
>> While I think the latter aspect wants improving in any event,
>> right now I'm leaning towards the "opposite" variant of the
>> former. I'll draft a patch along these lines at least to see if
>> it helps, or if there is yet more fallout.
> 
> There is more fallout - with the initial issue addressed as
> described I'm now hitting another similar domain_crash() in
> guest_physmap_add_entry(). There's no question there whether to
> check that old and new mappings match - they are different. Here
> PVH Dom0 setup really does what the final XSA-378 patch is
> intended to disallow: It produces MMIO mappings to then replace
> some (or really most) by RAM ones. This means I'll have to
> further adjust how pvh_populate_p2m() works.

And with this taken care of I'm hitting the original assertion
again, now in the course of mapping ACPI memory. This time the
collision is between RMRRs getting identity mapped first, and on
this box an RMRR region being enclosed by an ACPI NVS region of
the E820 map (and hence the _almost_ same mapping getting
requested a 2nd time). As a first step I'll further relax the
adjustment to set_typed_p2m_entry() still in context above. But
I'd be really thankful for thoughts by anyone else on how to
deal with all of this mess.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Aug 30 10:38:41 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 10:38:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174978.318891 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKegV-0006Vl-TC; Mon, 30 Aug 2021 10:38:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174978.318891; Mon, 30 Aug 2021 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 1mKegV-0006Ve-QL; Mon, 30 Aug 2021 10:38:35 +0000
Received: by outflank-mailman (input) for mailman id 174978;
 Mon, 30 Aug 2021 10:38:34 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=kec6=NV=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mKegU-0006VX-7s
 for xen-devel@lists.xenproject.org; Mon, 30 Aug 2021 10:38:34 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com (unknown
 [40.107.7.74]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 2c99f983-46e1-4526-b462-1baa57b31bbb;
 Mon, 30 Aug 2021 10:38:30 +0000 (UTC)
Received: from DU2PR04CA0192.eurprd04.prod.outlook.com (2603:10a6:10:28d::17)
 by VE1PR08MB4877.eurprd08.prod.outlook.com (2603:10a6:802:a4::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.19; Mon, 30 Aug
 2021 10:38:25 +0000
Received: from DB5EUR03FT016.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:28d:cafe::24) by DU2PR04CA0192.outlook.office365.com
 (2603:10a6:10:28d::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.22 via Frontend
 Transport; Mon, 30 Aug 2021 10:38:25 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT016.mail.protection.outlook.com (10.152.20.141) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Mon, 30 Aug 2021 10:38:25 +0000
Received: ("Tessian outbound 32695b2df2f8:v103");
 Mon, 30 Aug 2021 10:38:25 +0000
Received: from 2330efd530dc.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 D9851AE1-4918-478F-9E1B-5AEEA0023AFD.1; 
 Mon, 30 Aug 2021 10:38:18 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 2330efd530dc.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 30 Aug 2021 10:38:18 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB8PR08MB5146.eurprd08.prod.outlook.com (2603:10a6:10:e7::28) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.18; Mon, 30 Aug
 2021 10:38:16 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::2c28:50cf:49fd:da32]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::2c28:50cf:49fd:da32%7]) with mapi id 15.20.4457.024; Mon, 30 Aug 2021
 10: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: 2c99f983-46e1-4526-b462-1baa57b31bbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CQ5nW/huXgSWIRuHlwC1CbbuYHMGL9+q2u3Sgcn15UI=;
 b=E0yhM8iD2S4qarQ4Aw8JPFNCkuc1bOSgB5zgZBiMA5MABQT667OfvnP9ALader5DUI0FFXAXbd9ES7aYOAMbVEIXLQRtD5+MvIzxlyACHIDS2AtcNBZ+57vFXGJzv6iy9XeTkvNlxYC3tiMObx8eIXrP6RqLiWUHgE64CpdxxDE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GpQjdbRF1PcZHtBKRAPGh35R+5ynMcqY6s58t5ykqnojpODOYUdkzmD+zt+tl3jhl+kaPZjjYsm6ngE/Uoef1pwauZ9/Hy9S/ouSQ+Rn2xtzYw50uCPEmFTId+MnVjBIvI9Paq+5fGHYSXvn+YoECVR8Ni05fb1zDp+wpZNlmSypcRqCm/X1ZCfWCt0tOqyo6xO7zMnMcTwr8rOFnwJFgxpduSTqPgZdWY00OHtBUw3g73LfiNUr65d0o2JN+8ySVLRcCm24c4CK1sb3PNpdgB8uSb/bQZyVbqcLUpt99mnwtczB8MWTmA/IcxGIJEfPShykFLURabnKTlIZaLsxmw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CQ5nW/huXgSWIRuHlwC1CbbuYHMGL9+q2u3Sgcn15UI=;
 b=kfJ6W1+D/v6BpDjalwIpbWb/Z7DXV8/Pj9oZStDSyeNbeO2vEP/4VB26rPkI5fmuUmltlYex+4mNyacNDbQNe6+uZ4kKXUWwmMORuthdla93gT1i2pjDLRhhUdtbrF5ZB2IOYygIoAngRU3CWjBQ0zpKZ0iODYWZIuZ0MpJ2mM3UnLAAkbq9W5AofFywMhh4xmM3PSDgn/WkoLJQK7gPb8L1LRRF517AZ50DNFewMkwz5tT6VkzwL6Kmt1IsSHWhY4z8FomLoHwQXNZgXV5esnZJh58Mv7/zKx/QdP/pRFABbnq4VACNzzJbfngknm6kyP73Bi79jLdVChX6S5jKLA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CQ5nW/huXgSWIRuHlwC1CbbuYHMGL9+q2u3Sgcn15UI=;
 b=E0yhM8iD2S4qarQ4Aw8JPFNCkuc1bOSgB5zgZBiMA5MABQT667OfvnP9ALader5DUI0FFXAXbd9ES7aYOAMbVEIXLQRtD5+MvIzxlyACHIDS2AtcNBZ+57vFXGJzv6iy9XeTkvNlxYC3tiMObx8eIXrP6RqLiWUHgE64CpdxxDE=
From: Wei Chen <Wei.Chen@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Julien Grall
	<julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>
Subject: RE: [XEN RFC PATCH 37/40] xen: introduce an arch helper to do NUMA
 init failed fallback
Thread-Topic: [XEN RFC PATCH 37/40] xen: introduce an arch helper to do NUMA
 init failed fallback
Thread-Index: AQHXjptRsfRkXW8NoUWuJvdR0xpL2KuHguqAgADGK1CAABeL8IADi6MAgAAJadA=
Date: Mon, 30 Aug 2021 10:38:16 +0000
Message-ID:
 <DB9PR08MB68570BE0DBD18707E51445E69ECB9@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-38-wei.chen@arm.com>
 <48a54187-3b6b-f98c-3681-906ee3df1694@xen.org>
 <DB9PR08MB685769E192E0603F3C723FA09EC99@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <DB9PR08MB6857B7537C35BBF1CE347A4F9EC99@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <5683d5a6-2694-5842-519a-5e3e3c8224fe@suse.com>
In-Reply-To: <5683d5a6-2694-5842-519a-5e3e3c8224fe@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 20B064392D2A3741A631D885E5A92D19.0
x-checkrecipientchecked: true
Authentication-Results-Original: suse.com; dkim=none (message not signed)
 header.d=none;suse.com; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: c369baa4-4bc4-445e-4e28-08d96ba24bff
x-ms-traffictypediagnostic: DB8PR08MB5146:|VE1PR08MB4877:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<VE1PR08MB487728D0B9EFA127867C765B9ECB9@VE1PR08MB4877.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:1775;OLM:1775;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 o+/MITf8AtKwtJw87Y7qz/DwGn+mZOjswQYTv9HAwH5nlvsIVAYpTv5va/o2pSr1uvGHEisBZZjUVNVAON0bwOxyWqL25zps1i+SqyVN4UIoScGll+GxIwOYzTOfgIh/Ylpc7f6jJ/srGYLCkcdSdAGSAxgR7T6OQ681uTDiIVcwCCbkezhZ1DhPzuMnrSYZVldcxUZalk9AtQW9v48fs6zXuK79oOvUCQ0zliBjA9uIZ2NymUemlB6q0J7qFaQ9NJ6RaROvg9EaMyCR1azjlhk3A49cYgMHhwHyK5eSDkiTRx/vVhUiVM+HhdAICkUE9FV4mvHjPHm6gEBlvdw10B89iZ2dBZpdUA8b5tYHzJsQoYgdpIj/PrQENxAfs9s/6anI7kqNzsb+n3cTI8h3HUA+q9s83JGRiu70qStgoz9U4tjq/LWAsqgh+vxtTv2Fx+XT2XgBU1VGzD1CWXbNjoDi943EHY/0BFIThjpPi3oxpYScNfQAQIMTyLlsyLqCsrQ8vobo22cfw2TBVaJ4Vkej0/248Us3JD43R9MR13X2S4nIZn38oc4YP8MZLnMh5p2DwyPxNy0KrA14xlFI6UMB8chpUO+2FDpdJbXo7+rre+SZY7d2JOQahpQhJjRQj5V5Orp4FJREViSUu7eLGF4fqMKHyPoR4Fyea8RLyX+3vYu1Aw+G3hMlcgwMEwHIfpODoAanB+cwAf0dWNvgbw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(5660300002)(186003)(6916009)(2906002)(508600001)(122000001)(53546011)(83380400001)(86362001)(4326008)(38100700002)(26005)(71200400001)(64756008)(66446008)(8936002)(33656002)(7696005)(54906003)(55016002)(38070700005)(76116006)(66476007)(66556008)(66946007)(52536014)(8676002)(6506007)(9686003)(316002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?UFMvcEFzQlJZaStWQnk3NEdoSmJUcGlGUUdkdllVVU44UlIzOVQxMG52ZG1I?=
 =?utf-8?B?SUZIZVN1ei9ONTB4WnpuR3diYlJSZDVjNUNqZkEycXg2OTlsS1Y1VXE4aEto?=
 =?utf-8?B?UVZKUGRPSWhSV3FMNlZ2RWdRaGJnVUsra1l1YlR4ODlKdEgzeDJ6R1dNWjdR?=
 =?utf-8?B?c0lPL3lwa1d5WDQ1Wms5MTdnSndwNHhqeWszMExWeUZoQVZQRW5GRTh5TTJC?=
 =?utf-8?B?V0tBR0lvRlZiQUdBNm1odSsxQ091Y3JBMCtVSTN0S0xpdlB5V05xbXpORGQ4?=
 =?utf-8?B?WUJNcUptMlVYWVJueDFPK1VDV0tuZ0h2OTRLTU9ZSzJaZ2ZjcWZRd0RENjI2?=
 =?utf-8?B?T1gyQVVXVWlYTFJJZDIwRE54Qmg2VTZ1aitENHVsNFhoWVJSVTdwWG9Bam5y?=
 =?utf-8?B?SCtUaTBadlVIOVNJV1ZBT2RSeW5yS250aHgwOG05TUdTQ240cHV2MG1kSXhV?=
 =?utf-8?B?a29sRG5HdmlUQmhQbWRTd2duVWRwMzlYRUlpeWQ5eDdyNlBzSmZxUEF0dnJX?=
 =?utf-8?B?aGpabnorUktuc3JzOFFGZ0VZUlZlaTRWRFI2ZEV6UE9CNDRVZWtLMEVYUUpz?=
 =?utf-8?B?eTBNcGwvWkpmK0NuU2VXUWlwbVFVUzQyYTFMNDY0K2tUd01HcVlqeWhuTEp5?=
 =?utf-8?B?S0RiaXZlWUNuc0xOVGI5ZkJFbTZXd3ByMzJhaTNHejd3dHFsMVlRd29uNTAy?=
 =?utf-8?B?YXZTL1ZHSjNIZGMveFI4QXRFaTNGRXhscHlyajlKTVIwZ2x4MlN4MjJjUWFi?=
 =?utf-8?B?OERNWWthY1F1dEpPRS92UXErOVlMcVduVVAvWmhaaElEdjkwVUdDc29TdWdR?=
 =?utf-8?B?M1pnU25HRUlXQ3ZTbjl1NVVqVmQ2ekZWK3R3bThic25acUF0UFo5ZVVQQVpn?=
 =?utf-8?B?QVk5YmxhaEhhYldUTkcxb1dVaFJrWHhpaHF0WnJPRU8rMTBsUFBmcjlYSml6?=
 =?utf-8?B?VklnZ2ZkYzlENGtMZ0JvcU1JMGVvT2ZtMG80MURYcTJMbHlyVnR1WS9EZzdN?=
 =?utf-8?B?K3hpemt1V0krNnNSTnkyUk16VkdBM0M4MU9nME9LZ3VFdkdGSGJHcnltRGV2?=
 =?utf-8?B?VnFzNm9HVUpZRVd1YTdFTFlsOHVIbmkrWVM5V3lzL0lHa3pHbTdkN3AvYUhM?=
 =?utf-8?B?cFJVdkY4ZGVLYW54SGxnZTEyWEFRdkVlMTBVUFVuMEZaeklhNmN6RGhWNGh1?=
 =?utf-8?B?QTJFSjAwSkE1QjJZeVZVTU9tbHUyQWNleEJkanlvVHJpemtwaXZUMXpRR21p?=
 =?utf-8?B?OHprN1JYZ0xIb0dPMG1JYWpoZGhXbzRZaXltVjhmaFg1bCtHN3F1SE9xQzV0?=
 =?utf-8?B?aDFwaTRPRk8yUW5kSXdlNU5EZEg0UTNWM1hSbHdONEpCaGN2N0ViTnpXbkk2?=
 =?utf-8?B?djgzZ2Ztam5ieGJOUzNnTzVUOTloL1o0Tk56VFJRWmRXQXJSV0pCTVVCN3RX?=
 =?utf-8?B?Vmx2K0gwL1JEUnhTNVQvMHZzd09SVVk2RDBROXAwUWU2OGhQOFU5eVVoSkI4?=
 =?utf-8?B?aWllV1NydVJLcWNDSzkrUlgrSEFEZTJEUW1KSlhqQllNVEJEdnZRSDN6MU80?=
 =?utf-8?B?OHphK0lXcU5nZDJBc3pBekgzb3BjcEk5NHRVVTRhYjVzTHZMSW5lU0U5Skpz?=
 =?utf-8?B?ekdnNjNnMDl5VmtSOW9QTGV3UnVUTm5KSW5CQVN2NmlTZVRZN3k4WkkraU5Q?=
 =?utf-8?B?S3VsZ25XMCs4RVBwQXFQc1BVVWtSaW5PVnZIQjRsUmF6V1pFazI0SUZuQlcy?=
 =?utf-8?Q?1P/SCanjfLxCMpth5VF25o05bmJoUSmTUcnqty5?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB5146
Original-Authentication-Results: suse.com; dkim=none (message not signed)
 header.d=none;suse.com; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT016.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	2e334e06-7912-4f6f-3ac9-08d96ba246ea
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PM+i0HMXDZsy7WrAzAApW6QhTeOFwMqtOpfi/gb+e/Q6lBihBKX139oO3PRMcQaC/H1IjsSMSFeCle75rmlLD++5cmgqhlFZFoIMg328cieuLqy7vuXggdBJqh84QFAbF3dKoiVXEPo0fy/GYpsdXbaMQVCBlqLb4a852pd+EAQbjT4sUFR+7y0CzbwtUd8kOFu1YDkFT4/Fr2rBi5cf1acYR7DAWatjZniiUgBphfja8UEC7pJxC6BvIc2eygzfZz0U6aN7TjnJDH02LpxkKUUm8e3FhcxabFoQsL2rGowN7LAi+4EWrlaGlFcf/5RRXLEyKgxjkBmyM5joJ1g73VwW9nIiTxw5srEYCVo7+LjaeRaP/Ba29/2Z9l5vwe7jReC37abjYGQXoBYMf6MJmIaqS+i1L/aH7Am9CHesN66wu9PbKslL1Pvnp3oNgv1C9pqy5K8fVXB5q5eKJUehZhnjAzaShORKS0ytdv9IfPiafutgWqYS42d8V0MutBmavVQnVL2VUYAGcRYXH8g2j0yNTzGv81/pD9tARmBaXerrMgExna70MoFMbXS7yDMMfsGoFGLBmBrdFV4nAZ4QgttPIcVAkJmPOewuTx1J3WH7EudjHi6fuInmt2xisOaUChgEtThIUpQ3RVUtsklyrH9ElyO4P7Yn4p+VMASsIkOgBPuL4t4CXB8S5spPQDPEVpzVSS0NJlkVQepjmstprA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(396003)(346002)(39860400002)(136003)(376002)(36840700001)(46966006)(8676002)(52536014)(8936002)(26005)(33656002)(36860700001)(336012)(82740400003)(4326008)(2906002)(83380400001)(6506007)(53546011)(47076005)(5660300002)(6862004)(316002)(7696005)(82310400003)(70586007)(107886003)(478600001)(86362001)(9686003)(81166007)(54906003)(55016002)(356005)(186003)(70206006);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2021 10:38:25.3455
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c369baa4-4bc4-445e-4e28-08d96ba24bff
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT016.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB4877

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMeW5tDjmnIgzMOaXpSAxNzo1Mg0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiBCZXJ0cmFuZCBNYXJxdWlz
IDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+OyBKdWxpZW4gR3JhbGwNCj4gPGp1bGllbkB4ZW4u
b3JnPjsgeGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnOyBzc3RhYmVsbGluaUBrZXJuZWwu
b3JnDQo+IFN1YmplY3Q6IFJlOiBbWEVOIFJGQyBQQVRDSCAzNy80MF0geGVuOiBpbnRyb2R1Y2Ug
YW4gYXJjaCBoZWxwZXIgdG8gZG8NCj4gTlVNQSBpbml0IGZhaWxlZCBmYWxsYmFjaw0KPiANCj4g
T24gMjguMDguMjAyMSAwNTo0NSwgV2VpIENoZW4gd3JvdGU6DQo+ID4+IEZyb206IFhlbi1kZXZl
bCA8eGVuLWRldmVsLWJvdW5jZXNAbGlzdHMueGVucHJvamVjdC5vcmc+IE9uIEJlaGFsZiBPZg0K
PiBXZWkNCj4gPj4gQ2hlbg0KPiA+PiBTZW50OiAyMDIx5bm0OOaciDI45pelIDExOjA5DQo+ID4+
DQo+ID4+PiBGcm9tOiBKdWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4ub3JnPg0KPiA+Pj4gU2VudDog
MjAyMeW5tDjmnIgyN+aXpSAyMjozMA0KPiA+Pj4NCj4gPj4+PiAtLS0gYS94ZW4vYXJjaC9hcm0v
bnVtYS5jDQo+ID4+Pj4gKysrIGIveGVuL2FyY2gvYXJtL251bWEuYw0KPiA+Pj4+IEBAIC0xNDAs
MyArMTQwLDE2IEBAIGludCBfX2luaXQgYXJjaF9tZW1pbmZvX2dldF9yYW1fYmFua19yYW5nZShp
bnQNCj4gPj4gYmFuaywNCj4gPj4+Pg0KPiA+Pj4+ICAgCXJldHVybiAwOw0KPiA+Pj4+ICAgfQ0K
PiA+Pj4+ICsNCj4gPj4+PiArdm9pZCBfX2luaXQgYXJjaF9udW1hX2luaXRfZmFpbGVkX2ZhbGxi
YWNrKHZvaWQpDQo+ID4+Pj4gK3sNCj4gPj4+PiArICAgIGludCBpLCBqOw0KPiA+Pj4+ICsNCj4g
Pj4+PiArICAgIC8qIFJlc2V0IGFsbCBub2RlIGRpc3RhbmNlIHRvIHJlbW90ZV9kaXN0YW5jZSAq
Lw0KPiA+Pj4+ICsgICAgZm9yICggaSA9IDA7IGkgPCBNQVhfTlVNTk9ERVM7IGkrKyApIHsNCj4g
Pj4+PiArICAgICAgICBmb3IgKCBqID0gMDsgaiA8IE1BWF9OVU1OT0RFUzsgaisrICkgew0KPiA+
Pj4+ICsgICAgICAgICAgICBudW1hX3NldF9kaXN0YW5jZShpLCBqLA0KPiA+Pj4+ICsgICAgICAg
ICAgICAgICAgKGkgPT0gaikgPyBOVU1BX0xPQ0FMX0RJU1RBTkNFIDoNCj4gPj4gTlVNQV9SRU1P
VEVfRElTVEFOQ0UpOw0KPiA+Pj4+ICsgICAgICAgIH0NCj4gPj4+PiArICAgIH0NCj4gPj4+PiAr
fQ0KPiA+Pj4NCj4gPj4+IC4uLiB0aGlzIGltcGxlbWVudGF0aW9uIGxvb2tzIGZhaXJseSBnZW5l
cmljLiBTbyBjYW4geW91IGV4cGxhaW4gd2h5DQo+IHdlDQo+ID4+PiBuZWVkIGl0IG9uIEFybSBi
dXQgbm90IHg4Nj8NCj4gPj4+DQo+ID4+DQo+ID4+IFRoaXMgaW1wbGVtZW50YXRpb24gaXMgRFQg
b25seSwgZm9yIHg4NiwgaXQncyB1c2luZyBhY3BpX3NsaXQuDQo+ID4+IEZvciBub3csIEkgYW0g
bm90IHF1aXQgc3VyZSBBQ1BJIG5lZWQgdG8gZG8gZmFsbGJhY2sgb3Igbm90Lg0KPiA+PiBPciBz
YXkgaW4gYW5vdGhlciB3YXksIEkgZG9uJ3Qga25vdyBob3cgdG8gaW1wbGVtZW50IHRoZSBmYWxs
YmFjaw0KPiA+PiBmb3IgQUNQSS4gSSBwbGFubmVkIHRvIHNvbHZlIGl0IGluIEFybSBBQ1BJIHZl
cnNpb24gTlVNQSwgc28gSSBsZWZ0DQo+ID4+IGFuIGVtcHR5IGhlbHBlciBmb3IgeDg2Lg0KPiA+
Pg0KPiA+PiBASmFuIEJldWxpY2ggQ291bGQgeW91IGdpdmUgbWUgc29tZSBzdWdnZXN0aW9uIGFi
b3V0IHg4NiBmYWxsYmFjaz8NCj4gPj4NCj4gPj4NCj4gPg0KPiA+IEkgaGF2ZSBhIHF1aWNrIGxv
b2sgaW50byBMaW51eC4gV2hlbiBBcmNoIGRvIG51bWEgaW5pdCBmYWlsZWQsDQo+ID4gdGhlIG51
bWFfZnJlZV9kaXN0YW5jZSB3aWxsIGJlIGludm9rZWQgdG8gcmV2ZXJ0IG51bWFfZGlzdGFuY2Uu
DQo+IA0KPiBEb2VzIHRoaXMgbWF0dGVyIGluIHRoZSBmaXJzdCBwbGFjZT8gRG9uJ3Qgd2UgZmFs
bCBiYWNrIHRvIHNpbmdsZQ0KPiBub2RlIG1vZGUsIGluIHdoaWNoIGNhc2UgdGhlIHNvbGUgZW50
cnkgb2YgdGhlIGRpc3RhbmNlIHRhYmxlDQo+IHdpbGwgc2F5ICJsb2NhbCIgYW55d2F5Pw0KPiAN
Cg0KVGhhbmsgeW91IGZvciBwcm92aWRpbmcgYW5vdGhlciB3YXkgb2YgdGhpbmtpbmcuIFllcywg
b25jZSBOVU1BIGluaXQNCmlzIGZhaWxlZCwgdGhlIHN5c3RlbSB3aWxsIGZhbGwgYmFjayB0byBz
aW5nbGUgbm9kZSBtb2RlLiBJZiB3ZSBjYWxsDQpfX25vZGVfZGlzdGFuY2Ugbm9ybWFsbHksIHdl
IHdpbGwgbm90IHBhc3MgdHdvIGRpZmZlcmVudCBub2RlcyB0bw0KdGhpcyBmdW5jdGlvbi4gRXZl
biBpZiB3ZSBkb24ndCByZXZlcnQgdGhlIHZhbHVlcyBpbiBkaXN0YW5jZSB0YWJsZSwNCndlIHdp
bGwgbm90IHRyaWdnZXIgdGhlIGNvbmRpdGlvbiBvZiAibm9kZV9hICE9IG5vZGVfYiIuIFdlIHdp
bGwNCmFsd2F5cyBnZXQgImxvY2FsIiBmcm9tIF9fbm9kZV9kaXN0YW5jZS4NCg0KQnV0IGZvciBj
bG9zZWQtbG9vcCBvZiBjb2RlLCBJIHRlbmQgdG8gcmV2ZXJ0IGRhdGEgd2hlbiBpbml0aWFsaXph
dGlvbg0KaXMgZmFpbGVkLg0KDQpDaGVlcnMsDQpXZWkgQ2hlbg0KDQo+IEphbg0KDQo=


From xen-devel-bounces@lists.xenproject.org Mon Aug 30 11:24:52 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 11:24:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174989.318909 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKfP4-0003dc-Lw; Mon, 30 Aug 2021 11:24:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174989.318909; Mon, 30 Aug 2021 11:24:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKfP4-0003dV-IW; Mon, 30 Aug 2021 11:24:38 +0000
Received: by outflank-mailman (input) for mailman id 174989;
 Mon, 30 Aug 2021 11:24:37 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mKfP3-0003dL-9f; Mon, 30 Aug 2021 11:24:37 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mKfP3-0004T8-1Z; Mon, 30 Aug 2021 11:24:37 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mKfP2-00081J-NI; Mon, 30 Aug 2021 11:24:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mKfP2-00055q-Ms; Mon, 30 Aug 2021 11:24:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=o8BUH94pxcvtEYlsLV9sgIDyuaILkvCcRouHfPjAre4=; b=4ZDx4qjleCg9Oinrn5QArCSorV
	NBhufaRLtk8dAsNleM7CYl43z3RMuNrQvmg1tWC70wj9FzKUH3MSF03yuOIulU/17Qltf8IW5SHKW
	MQY8ZlLJOURDRhx9PSXKmYmS+QsegMSTXqq+GhaDU3UHG10x1YTpuyMu6MPG8vKTeDrI=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164577-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.13-testing test] 164577: regressions - FAIL
X-Osstest-Failures:
    xen-4.13-testing:test-amd64-amd64-dom0pvh-xl-amd:xen-boot:fail:regression
    xen-4.13-testing:test-amd64-amd64-dom0pvh-xl-intel:xen-boot:fail:regression
    xen-4.13-testing:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:heisenbug
    xen-4.13-testing:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:heisenbug
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=dd29f4f4961d5c99660874c7ff090bd3c2ef6e5b
X-Osstest-Versions-That:
    xen=32d580902b959000d79d51dff03a3560653c4fcb
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 30 Aug 2021 11:24:36 +0000

flight 164577 xen-4.13-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164577/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-dom0pvh-xl-amd  8 xen-boot              fail REGR. vs. 163761
 test-amd64-amd64-dom0pvh-xl-intel  8 xen-boot            fail REGR. vs. 163761

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-rtds     20 guest-localmigrate/x10     fail pass in 164496
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat  fail pass in 164518

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 163761
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 163761
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 163761
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 163761
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 163761
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 163761
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 163761
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 163761
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 163761
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 163761
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 163761
 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-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  dd29f4f4961d5c99660874c7ff090bd3c2ef6e5b
baseline version:
 xen                  32d580902b959000d79d51dff03a3560653c4fcb

Last test of basis   163761  2021-07-17 07:57:22 Z   44 days
Failing since        164260  2021-08-19 17:07:29 Z   10 days    7 attempts
Testing same since   164496  2021-08-26 00:10:44 Z    4 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Dario Faggioli <dfaggioli@suse.com>
  Ian Jackson <iwj@xenproject.org>
  Jan Beulich <jbeulich@suse.com>
  Jane Malalane <jane.malalane@citrix.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Stefano Stabellini <sstabellini@kernel.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 631 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 30 12:00:52 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 12:00:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.174998.318925 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKfy2-00080s-IB; Mon, 30 Aug 2021 12:00:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 174998.318925; Mon, 30 Aug 2021 12:00:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKfy2-00080l-FF; Mon, 30 Aug 2021 12:00:46 +0000
Received: by outflank-mailman (input) for mailman id 174998;
 Mon, 30 Aug 2021 12:00:45 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=A3PD=NV=lst.de=hch@srs-us1.protection.inumbo.net>)
 id 1mKfy1-0007zz-5L
 for xen-devel@lists.xenproject.org; Mon, 30 Aug 2021 12:00:45 +0000
Received: from verein.lst.de (unknown [213.95.11.211])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id e64f090f-0989-11ec-ac84-12813bfff9fa;
 Mon, 30 Aug 2021 12:00:43 +0000 (UTC)
Received: by verein.lst.de (Postfix, from userid 2407)
 id 25CFD68B05; Mon, 30 Aug 2021 14:00:37 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e64f090f-0989-11ec-ac84-12813bfff9fa
Date: Mon, 30 Aug 2021 14:00:36 +0200
From: Christoph Hellwig <hch@lst.de>
To: Tianyu Lan <ltykernel@gmail.com>
Cc: kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com,
	wei.liu@kernel.org, decui@microsoft.com, catalin.marinas@arm.com,
	will@kernel.org, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
	x86@kernel.org, hpa@zytor.com, dave.hansen@linux.intel.com,
	luto@kernel.org, peterz@infradead.org, konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com, jgross@suse.com, sstabellini@kernel.org,
	joro@8bytes.org, davem@davemloft.net, kuba@kernel.org,
	jejb@linux.ibm.com, martin.petersen@oracle.com,
	gregkh@linuxfoundation.org, arnd@arndb.de, hch@lst.de,
	m.szyprowski@samsung.com, robin.murphy@arm.com,
	brijesh.singh@amd.com, thomas.lendacky@amd.com,
	Tianyu.Lan@microsoft.com, pgonda@google.com,
	martin.b.radev@gmail.com, akpm@linux-foundation.org,
	kirill.shutemov@linux.intel.com, rppt@kernel.org,
	hannes@cmpxchg.org, aneesh.kumar@linux.ibm.com,
	krish.sadhukhan@oracle.com, saravanand@fb.com,
	linux-arm-kernel@lists.infradead.org,
	xen-devel@lists.xenproject.org, rientjes@google.com,
	ardb@kernel.org, michael.h.kelley@microsoft.com,
	iommu@lists.linux-foundation.org, linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org, netdev@vger.kernel.org,
	vkuznets@redhat.com, parri.andrea@gmail.com, dave.hansen@intel.com
Subject: Re: [PATCH V4 00/13] x86/Hyper-V: Add Hyper-V Isolation VM support
Message-ID: <20210830120036.GA22005@lst.de>
References: <20210827172114.414281-1-ltykernel@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20210827172114.414281-1-ltykernel@gmail.com>
User-Agent: Mutt/1.5.17 (2007-11-01)

Sorry for the delayed answer, but I look at the vmap_pfn usage in the
previous version and tried to come up with a better version.  This
mostly untested branch:

http://git.infradead.org/users/hch/misc.git/shortlog/refs/heads/hyperv-vmap

get us there for swiotlb and the channel infrastructure  I've started
looking at the network driver and didn't get anywhere due to other work.

As far as I can tell the network driver does gigantic multi-megabyte
vmalloc allocation for the send and receive buffers, which are then
passed to the hardware, but always copied to/from when interacting
with the networking stack.  Did I see that right?  Are these big
buffers actually required unlike the normal buffer management schemes
in other Linux network drivers?

If so I suspect the best way to allocate them is by not using vmalloc
but just discontiguous pages, and then use kmap_local_pfn where the
PFN includes the share_gpa offset when actually copying from/to the
skbs.


From xen-devel-bounces@lists.xenproject.org Mon Aug 30 12:11:58 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 12:11:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175014.318940 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKg8n-0001Lw-JL; Mon, 30 Aug 2021 12:11:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175014.318940; Mon, 30 Aug 2021 12:11: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 1mKg8n-0001Lp-Eb; Mon, 30 Aug 2021 12:11:53 +0000
Received: by outflank-mailman (input) for mailman id 175014;
 Mon, 30 Aug 2021 12:11:52 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=krMZ=NV=apertussolutions.com=dpsmith@srs-us1.protection.inumbo.net>)
 id 1mKg8l-0001Lj-Nf
 for xen-devel@lists.xenproject.org; Mon, 30 Aug 2021 12:11:51 +0000
Received: from sender4-of-o51.zoho.com (unknown [136.143.188.51])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 74022d02-098b-11ec-ac84-12813bfff9fa;
 Mon, 30 Aug 2021 12:11:49 +0000 (UTC)
Received: from [10.10.1.24] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1630325501254689.7797100718451;
 Mon, 30 Aug 2021 05:11: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: 74022d02-098b-11ec-ac84-12813bfff9fa
ARC-Seal: i=1; a=rsa-sha256; t=1630325504; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=ViDevVA+oIgN0e3sXZDWULScVQ1ucgXo2H5JhXBKmaFHRmueiwe2jqT8//vgI/IqFgqyzf9ThTWMdhMqP+q9BCDcmjN8WR4R8cVcqHj2Ru1PsOhJZ7/sy/0iKB7krEhXyYy9nbJLeE5xJriPdKjspTzDjn3S//hCJ+/1QbaAPTI=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1630325504; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=n26oXszCbgac13r2WTJKkRpMPzwVO0CtdexJMQLznJc=; 
	b=dSESxAQc5tRkCKQQ05kuTAZpHU7HxfBmQIHYDivUWB2Eki6v7cv0W00fc43faIxFcr4i9RVl+ngPSMeDNrPXqRi+rf11f3hQMigxuV5wkW+8f8GVTRpiYZxm52WMmTueFaaQr/Kj6Xjwd4TaE0LfIBFX61s56G40CDpW4kUz4K8=
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=1630325504;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=To:Cc:References:From:Subject:Message-ID:Date:MIME-Version:In-Reply-To:Content-Type:Content-Transfer-Encoding;
	bh=n26oXszCbgac13r2WTJKkRpMPzwVO0CtdexJMQLznJc=;
	b=Y8y/dXRB6ilLoiC+PtXPhwVWjAqAolUEYNlaxyns0Eo8hyAFc/Kjph73Xrb5SkaF
	v9kXsj2bKYsu6hbdPKg88xBjrNQlo1GkXLEUmAXjEKHaHY3mTsCdspk8YX1RkKXmrq/
	L+IzGVrqvk026RQH10UUeVXd/IR2x4t2rfQHOShI=
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Ian Jackson <iwj@xenproject.org>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 xen-devel@lists.xenproject.org
References: <20210805140644.357-1-dpsmith@apertussolutions.com>
 <20210805140644.357-8-dpsmith@apertussolutions.com>
 <bf13f9a0-dff6-033e-3632-8fc4f0533a20@suse.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: Re: [PATCH v3 7/7] xsm: removing facade that XSM can be
 enabled/disabled
Message-ID: <94d6914c-57d4-e63b-1abe-88ef14186344@apertussolutions.com>
Date: Mon, 30 Aug 2021 08:11:38 -0400
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <bf13f9a0-dff6-033e-3632-8fc4f0533a20@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

On 8/26/21 5:37 AM, Jan Beulich wrote:
> On 05.08.2021 16:06, Daniel P. Smith wrote:
>> The XSM facilities are always in use by Xen with the facade of being able to
>> turn XSM on and off. This option is in fact about allowing the selection of
>> which policies are available and which are used at runtime.  To provide this
>> facade a complicated serious of #ifdef's are used to selective include
> 
> Nit: It took me a moment to realize that the sentence reads oddly because
> you likely mean "series", not "serious".
> 
>> different headers or portions of headers. This series of #ifdef gyrations
>> switches between two different versions of the XSM hook interfaces and their
>> respective backing implementation.  All of this is done to provide a minimal
>> size/performance optimization for when alternative policies are disabled.
>>
>> To unwind the #ifdef gyrations a series of changes were necessary,
>>     * replace CONFIG_XSM with XSM_CONFIGURABLE to allow visibility of
>>       selecting alternate XSM policy modules to those that require it
>>     * adjusted CONFIG_XSM_SILO, CONFIG_XSM_FLASK, and the default module
>>       selection to sensible defaults
>>     * collapsed the "dummy/defualt" XSM interface and implementation with the
>>       "multiple policy" interface to provide a single inlined implementation
>>       that attempts to use a registered hook and falls back to the check from
>>       the dummy implementation
>>     * the collapse to a single interface broke code relying on the alternate
>>       interface, specifically SILO, this was reworked to remove the
>>       indirection/abstraction making SILO explicit in its access control
>>       decisions
>>     * with the change of the XSM hooks to fall back to enforcing the dummy
>>       policy, it is no longer necessary to fill NULL entries in the struct
>>       xsm_ops returned by an XSM module's init
> 
> It would be nice if some of this could be split. Is this really close to
> impossible?

I am looking into that now, especially after my points below.

>> --- a/xen/common/Kconfig
>> +++ b/xen/common/Kconfig
>> @@ -200,23 +200,15 @@ config XENOPROF
>>  
>>  	  If unsure, say Y.
>>  
>> -config XSM
>> -	bool "Xen Security Modules support"
>> -	default ARM
>> -	---help---
>> -	  Enables the security framework known as Xen Security Modules which
>> -	  allows administrators fine-grained control over a Xen domain and
>> -	  its capabilities by defining permissible interactions between domains,
>> -	  the hypervisor itself, and related resources such as memory and
>> -	  devices.
>> -
>> -	  If unsure, say N.
>> +config XSM_CONFIGURABLE
>> +    bool "Enable Configuring Xen Security Modules"
> 
> Is there a reason to change not only the prompt, but also the name of
> the Kconfig setting? This alone is the reason for some otherwise
> unnecessary code churn.

Yes, because this idea of "turning off" XSM needs to end externally and
internally. The XSM framework is always being used, it's just that it is
possible to build a configuration with support only for the
default/dummy policy, regardless of how the functions implementing the
default/dummy policy are being invoked.

> Also please correct indentation here.

Ack.

>>  config XSM_FLASK
>> -	def_bool y
>> -	prompt "FLux Advanced Security Kernel support"
>> -	depends on XSM
>> -	---help---
>> +	bool "FLux Advanced Security Kernel support"
>> +	default n
> 
> I don't understand this change in default (and as an aside, a default
> of "n" doesn't need spelling out): In the description you say "adjusted
> CONFIG_XSM_SILO, CONFIG_XSM_FLASK, and the default module selection to
> sensible defaults". If that's to describe this change, then I'm afraid
> I don't see why defaulting to "n" is more sensible once the person
> configuring Xen has chosen the configure XSM's (or XSM_CONFIGURABLE's)
> sub-options. If that's unrelated to the change here, then I'm afraid
> I'm missing justification altogether. (Same for SILO then.)

When an individual selects to be able to be to configure/select
alternative policy modules, they should be the ones to decide which
one(s) should be enabled and not have presumptuous selections provided
to them. IOW, the sensible default is to have no modules selected and
allow the user to enable the one(s) they want.

>> +	depends on XSM_CONFIGURABLE
>> +	select XSM_EVTCHN_LABELING
> 
> Neither this nor any prior patch introduces an option of this name,
> and there's also none in the present tree. All afaics; I may have
> overlooked something or typo-ed a "grep" command.

Ack, missed this in the previous patch. will clean it up there.

>> @@ -265,14 +258,14 @@ config XSM_SILO
>>  	  If unsure, say Y.
>>  
>>  choice
>> -	prompt "Default XSM implementation"
>> -	depends on XSM
>> +	prompt "Default XSM module"
>>  	default XSM_SILO_DEFAULT if XSM_SILO && ARM
>>  	default XSM_FLASK_DEFAULT if XSM_FLASK
>>  	default XSM_SILO_DEFAULT if XSM_SILO
>>  	default XSM_DUMMY_DEFAULT
>> +	depends on XSM_CONFIGURABLE
> 
> With the larger set of "default" lines I'd like to suggest to keep

Ack.

>> @@ -282,7 +275,7 @@ endchoice
>>  config LATE_HWDOM
>>  	bool "Dedicated hardware domain"
>>  	default n
>> -	depends on XSM && X86
>> +	depends on XSM_FLASK && X86
> 
> This change is not mentioned or justified in the description. In fact
> I think it is unrelated to the change here and hence would want breaking
> out.

Actually, if you read the help just below it specifically says to use
this feature requires having an XSM policy (legacy wording for XSM Flask
policy) to be able to do the proper fine grained delegation of the
permissions/accesses necessary for a hardware domain to work. This
should have been made XSM_FLASK when that KConfig option was added.
Dropping the XSM KConfig option just exposed this oversight. Ack that I
should have mentioned this in the commit message.

>>  	---help---
> 
> As you're changing these elsewhere, any chance of you also changing
> this one to just "help"?

Ack.

>> --- a/xen/include/xsm/xsm.h
>> +++ b/xen/include/xsm/xsm.h
>> @@ -19,545 +19,1023 @@
>>  #include <xen/sched.h>
>>  #include <xen/multiboot.h>
>>  #include <xsm/xsm-core.h>
>> -
>> -#ifdef CONFIG_XSM
>> +#include <xsm/dummy.h>
>> +#include <public/version.h>
>>  
>>  extern struct xsm_ops xsm_ops;
>>  
>> -static inline void xsm_security_domaininfo (struct domain *d,
>> -                                        struct xen_domctl_getdomaininfo *info)
>> +static inline void xsm_security_domaininfo(
>> +    struct domain *d,
>> +    struct xen_domctl_getdomaininfo *info)
>>  {
>> -    alternative_vcall(xsm_ops.security_domaininfo, d, info);
>> +    if ( xsm_ops.security_domaininfo )
>> +        alternative_vcall(xsm_ops.security_domaininfo, d, info);
> 
> Here and everywhere else, when !XSM_CONFIGURABLE you now needlessly
> force NULL checks to occur which are never going to be true. There's
> then also the dead indirect call and the associated patching data. I
> think this wants hiding in another pair of wrappers, which simply
> expand to nothing when !XSM_CONFIGURABLE - perhaps xsm_vcall() and
> xsm_call().


This has now come back full circle to the attempts made in v1 at
addressing the RFC comments collected at the developer's summit. The
calls xsm_vcall and xsm_call will not be simple since the different xsm
hooks take a different number of arguments. Therefore these calls will
have to become a series of macros to handle the varying number of
arguments, similar to alternative_call and elsewhere but instead of
being general purpose for use throughout the hypervisor they will create
a complication in the code that is dedicated to a single file under XSM.
Outside of a demonstrable significant performance impact that can be
measured, the goal for security relevant code should be simplicity and
ability to reason about correctness. Therefore without a demonstration
that there is an actual performance impact simplicity should be the goal
here, especially considering this effort has unmasked potential bugs
noted below that were masked by this kind of complication.

With that I would like to withdraw this patch and spin a v4 of this
patch set with that revives the dropping of the inlines done similar to
v1/v2. As requested above, I will look to see if any of the changes that
still applies could be split into dedicated commits.

<snip>

>> -static inline int xsm_set_target (xsm_default_t def, struct domain *d, struct domain *e)
>> +static inline int xsm_set_target(xsm_default_t action, struct domain *d,
>> +                                 struct domain *e)
>>  {
>> -    return alternative_call(xsm_ops.set_target, d, e);
>> +    if ( xsm_ops.set_target )
>> +        return alternative_call(xsm_ops.set_target, d, e);
>> +
>> +    XSM_ASSERT_ACTION(XSM_HOOK);
>> +    return xsm_default_action(action, current->domain, NULL);
>>  }
> 
> While benign because xsm_default_action() does nothing for XSM_HOOK, I
> think there's an inconsistency here which rather wants correcting (in
> a prereq patch): The default hook should have been passed consistent
> arguments, no matter whether used because of !XSM or because of the
> module in use left the hook unset.
> 
> Of course such anomalies are much easier to notice (outside of review
> of patches introducing such) with you now placing both invocations
> next to each other.

This series assumes the logic is correct and is only focused on trying
to make XSM more maintainable. I would be glad to consider looking at
what the right security decisions should be in a subsequent patch set
but will be consider out of scope for this patch set.

>> -static inline int xsm_evtchn_interdomain (xsm_default_t def, struct domain *d1,
>> -                struct evtchn *chan1, struct domain *d2, struct evtchn *chan2)
>> +static inline int xsm_evtchn_interdomain(xsm_default_t action,
>> +                                         struct domain *d1,
>> +                                         struct evtchn *chan1,
>> +                                         struct domain *d2,
>> +                                         struct evtchn *chan2)
>>  {
>> -    return alternative_call(xsm_ops.evtchn_interdomain, d1, chan1, d2, chan2);
>> +    if ( xsm_ops.evtchn_interdomain )
>> +        return alternative_call(xsm_ops.evtchn_interdomain, d1, chan1, d2,
>> +                                chan2);
>> +
>> +    XSM_ASSERT_ACTION(XSM_HOOK);
>> +    return xsm_default_action(action, d1, d2);
>>  }
> 
> There's another anomaly here: The first argument to xsm_default_action()
> typically is current->domain in similar functions. Here d1 gets passed in
> despite always being current->domain. I think the unnecessary parameter
> wants dropping (again in a prereq patch)) from the wrapper and hook, to
> avoid giving the wrong impression of both domains potentially being remote
> ones.

out of scope

>> -static inline int xsm_evtchn_send (xsm_default_t def, struct domain *d, struct evtchn *chn)
>> +static inline int xsm_evtchn_send(xsm_default_t action, struct domain *d,
>> +                                  struct evtchn *chn)
>>  {
>> -    return alternative_call(xsm_ops.evtchn_send, d, chn);
>> +    if ( xsm_ops.evtchn_send )
>> +        return alternative_call(xsm_ops.evtchn_send, d, chn);
>> +
>> +    XSM_ASSERT_ACTION(XSM_HOOK);
>> +    return xsm_default_action(action, d, NULL);
> 
> This again looks wrong (and again is benign only because XSM_HOOK means
> xsm_default_action() ignores the other function parameters), wanting to
> follow the usual
> 
>     return xsm_default_action(action, current->domain, d);
> 
> pattern instead.

out of scope

>> -static inline int xsm_evtchn_reset (xsm_default_t def, struct domain *d1, struct domain *d2)
>> +static inline int xsm_evtchn_reset(xsm_default_t action, struct domain *d1,
>> +                                   struct domain *d2)
>>  {
>> -    return alternative_call(xsm_ops.evtchn_reset, d1, d2);
>> +    if ( xsm_ops.evtchn_reset )
>> +        return alternative_call(xsm_ops.evtchn_reset, d1, d2);
>> +
>> +    XSM_ASSERT_ACTION(XSM_TARGET);
>> +    return xsm_default_action(action, d1, d2);
> 
> See xsm_evtchn_interdomain() above.

out of scope

>> -static inline int xsm_grant_mapref (xsm_default_t def, struct domain *d1, struct domain *d2,
>> -                                                                uint32_t flags)
>> +static inline int xsm_grant_mapref(xsm_default_t action, struct domain *d1,
>> +                                   struct domain *d2, uint32_t flags)
>>  {
>> -    return alternative_call(xsm_ops.grant_mapref, d1, d2, flags);
>> +    if ( xsm_ops.grant_mapref )
>> +        return alternative_call(xsm_ops.grant_mapref, d1, d2, flags);
>> +
>> +    XSM_ASSERT_ACTION(XSM_HOOK);
>> +    return xsm_default_action(action, d1, d2);
> 
> Again (more similar grant ones follow).

out of scope

>> -static inline int xsm_memory_adjust_reservation (xsm_default_t def, struct domain *d1, struct
>> -                                                                    domain *d2)
>> +static inline int xsm_memory_adjust_reservation(xsm_default_t action,
>> +                                                struct domain *d1,
>> +                                                struct domain *d2)
>>  {
>> -    return alternative_call(xsm_ops.memory_adjust_reservation, d1, d2);
>> +    if ( xsm_ops.memory_adjust_reservation )
>> +        return alternative_call(xsm_ops.memory_adjust_reservation, d1, d2);
>> +
>> +    XSM_ASSERT_ACTION(XSM_TARGET);
>> +    return xsm_default_action(action, d1, d2);
> 
> Again (more similar memory ones follow).

out of scope

>> -static inline int xsm_memory_pin_page(xsm_default_t def, struct domain *d1, struct domain *d2,
>> -                                      struct page_info *page)
>> +static inline int xsm_memory_pin_page(xsm_default_t action, struct domain *d1,
>> +                                      struct domain *d2, struct page_info *page)
>>  {
>> -    return alternative_call(xsm_ops.memory_pin_page, d1, d2, page);
>> +    if ( xsm_ops.memory_pin_page )
>> +        return alternative_call(xsm_ops.memory_pin_page, d1, d2, page);
>> +
>> +    XSM_ASSERT_ACTION(XSM_HOOK);
>> +    return xsm_default_action(action, d1, d2);
> 
> This one has the same issue, but is more interesting: There's no
> similar hook/check for unpinning a page (nor does the same check
> get re-used there). Plus it's x86 (more precisely PV) specific.

out of scope

>> -static inline int xsm_map_gmfn_foreign (xsm_default_t def, struct domain *d, struct domain *t)
>> +static inline int xsm_map_gmfn_foreign(xsm_default_t action, struct domain *d,
>> +                                       struct domain *t)
>>  {
>> -    return alternative_call(xsm_ops.map_gmfn_foreign, d, t);
>> +    if ( xsm_ops.map_gmfn_foreign )
>> +        return alternative_call(xsm_ops.map_gmfn_foreign, d, t);
>> +
>> +    XSM_ASSERT_ACTION(XSM_TARGET);
>> +    return xsm_default_action(action, d, t);
> 
> This one is also interesting: There's no check at all here that
> current->domain has any permissions towards d or t. Interestingly
> even flask_map_gmfn_foreign() doesn't check this.

out of scope

>> -static inline int xsm_console_io (xsm_default_t def, struct domain *d, int cmd)
>> +static inline int xsm_console_io(xsm_default_t action, struct domain *d, int cmd)
>>  {
>> -    return alternative_call(xsm_ops.console_io, d, cmd);
>> +    if ( xsm_ops.console_io )
>> +        return alternative_call(xsm_ops.console_io, d, cmd);
>> +
>> +    XSM_ASSERT_ACTION(XSM_OTHER);
>> +    if ( d->is_console )
>> +        return xsm_default_action(XSM_HOOK, d, NULL);
>> +#ifdef CONFIG_VERBOSE_DEBUG
>> +    if ( cmd == CONSOLEIO_write )
>> +        return xsm_default_action(XSM_HOOK, d, NULL);
>> +#endif
>> +    return xsm_default_action(XSM_PRIV, d, NULL);
> 
> Same implication of d == current->domain here again. I guess I'll
> stop enumerating further ones.

out of scope

<snip>

>> -static inline int xsm_pmu_op (xsm_default_t def, struct domain *d, unsigned int op)
>> +static inline int xsm_pmu_op(xsm_default_t action, struct domain *d,
>> +                             unsigned int op)
>>  {
>> -    return alternative_call(xsm_ops.pmu_op, d, op);
>> +    if ( xsm_ops.pmu_op )
>> +        return alternative_call(xsm_ops.pmu_op, d, op);
>> +
>> +    XSM_ASSERT_ACTION(XSM_OTHER);
>> +    switch ( op )
>> +    {
>> +    case XENPMU_init:
>> +    case XENPMU_finish:
>> +    case XENPMU_lvtpc_set:
>> +    case XENPMU_flush:
>> +        return xsm_default_action(XSM_HOOK, d, current->domain);
>> +    default:
>> +        return xsm_default_action(XSM_PRIV, d, current->domain);
> 
> Urgh - isn't this the wrong way round? (Luckily vPMU isn't security
> supported, so no XSA would be needed.)

out of scope

<snip>

>> --- a/xen/xsm/silo.c
>> +++ b/xen/xsm/silo.c
>> @@ -17,6 +17,7 @@
>>   * 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 <xsm/xsm-core.h>
>>  #include <xsm/dummy.h>
> 
> As already mentioned elsewhere - where possible please arrange #include-s
> alphabetically.

Ack.

>> @@ -124,16 +122,12 @@ static int __init xsm_core_init(const void *policy_buffer, size_t policy_size)
>>          break;
>>      }
>>  
>> -    /*
>> -     * This handles three cases,
>> -     *   - dummy policy module was selected
>> -     *   - a policy module does not provide all handlers
>> -     *   - a policy module failed to init
>> -     */
>> -    xsm_fixup_ops(&xsm_ops);
>> -
>> -    if ( xsm_ops_registered != XSM_OPS_REGISTERED )
>> +    if ( xsm_ops_registered != XSM_OPS_REGISTERED ) {
> 
> Nit (style): Brace goes on its own line.

Ack

v/r,
dps



From xen-devel-bounces@lists.xenproject.org Mon Aug 30 13:01:25 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 13:01:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175028.318957 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKguV-0006qN-AP; Mon, 30 Aug 2021 13:01:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175028.318957; Mon, 30 Aug 2021 13: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 1mKguV-0006qG-5c; Mon, 30 Aug 2021 13:01:11 +0000
Received: by outflank-mailman (input) for mailman id 175028;
 Mon, 30 Aug 2021 13:01:10 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YhGR=NV=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mKguT-0006jK-UR
 for xen-devel@lists.xenproject.org; Mon, 30 Aug 2021 13:01:09 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 46c18f47-63ce-4ef2-b6ce-d830c0f95668;
 Mon, 30 Aug 2021 13:01:08 +0000 (UTC)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2052.outbound.protection.outlook.com [104.47.13.52]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-40-h98BQfoUMyevgArNRJPOQQ-1; Mon, 30 Aug 2021 15:01:06 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0401MB2448.eurprd04.prod.outlook.com (2603:10a6:800:52::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23; Mon, 30 Aug
 2021 13:01:05 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.024; Mon, 30 Aug 2021
 13:01:05 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0202.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1f::22) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Mon, 30 Aug 2021 13:01: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: 46c18f47-63ce-4ef2-b6ce-d830c0f95668
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630328467;
	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=6nAHeOXVhAw1x0aCn+jCwwHDqpbUr6ism/gy/BnQVWQ=;
	b=b+gchlihtVJczIx0kLj/yGh2f8NbBf0wdcOsWp0QwFOsxXFcife/WFPt7YFGq1PNV+oIaw
	9kk2hRghUWjzQ9NciNV8HLHEi6bvWtS2824i7F67zu5BohhsFTpzAKsiw5vCD+n4/mZNJr
	Dy5eVqXxj0p8NZGvlXY1EpCQnPEFnHM=
X-MC-Unique: h98BQfoUMyevgArNRJPOQQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jnyt0WsarHrHtLiNClirgLCRqp6EiaXeBnTP3uBr9oeYXJWvBS3AOaztoGj8fV42r/HAfqkZgd80ChZuI0G6D2nLZ4vABjTgoqrFU8UNffbPKs/YH5MiznFxu6vygNnUPCHUcRP4XgoID4HEItrVT02ieFhJ7WkfVcJ66L5PlVNoe0CriQVO7qasM+dooTfCtTIfHQ/RAyEMMtfI9iJZCVnAx6uRRKqUClYCbWV3T+xH55CPPXjESeIMY7SYn8/1G6RPFnA45rDq5lhDfLF/MXbGXpH4fqJLpRTp8hJ3MEb9IB3IXWCAPjRy+JYcNPNH4ZlB5EA5eBb4IYwAYvSSRw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6nAHeOXVhAw1x0aCn+jCwwHDqpbUr6ism/gy/BnQVWQ=;
 b=F5CFBo7tfxHZYo1urdPtHOapJm/LDnwLSOyDvO6xlXVVlCBa+F9KuO58Mcwus0CKgXkcbiggnxZPU4P0gVAvqVvEdbb0HHecQYnbMyP6UlXjvaA73QeA9CxdZgsurQXAhKiNAZF897Yd58tdgFyjjb6Aqfz1s+xxKFkhAiW9kydOudVfRoQoMXUCZoh+tKC6Rgyrj/P4cvd/iN2lM12ZwE4ZX4BDfI5rP0v7NpXWjzW0dPvfRcgGURoColJLdINadwAwkfAyUCfU5cdWyumzaW9iAsl0kpPllWvi+gB4wmRhR88IU3ZLn/fH+O4cIkwtbYMq/PgTll5GSlNSZzvtdA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: citrix.com; dkim=none (message not signed)
 header.d=none;citrix.com; dmarc=none action=none header.from=suse.com;
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 0/4] x86/PVH: Dom0 building adjustments
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Message-ID: <aae19abb-e88b-8bf8-6f1d-502ac6645d6b@suse.com>
Date: Mon, 30 Aug 2021 15:01:03 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0202.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1f::22) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 39a7730b-defe-4a80-6de4-08d96bb639d4
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2448:
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB24487D6325F47C84902134CBB3CB9@VI1PR0401MB2448.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	70tnsi9LUpTSGWCnBlE1eyt3tR3cwa1BLz8t7ynXklQqaHtfCIyzav+eB9Hjrn3w76DdowQFP6Ycyl0WH5R+Brw4fnfcarbWiiJ02nOrmSRaYFkIg22klvF8mgGH/mb0CriauzH3+kQPR+wCmEtoWsNid84QlCGFVVq92mkVP7Sq5H4en4YpDE+PlnBToMJ5a++mZPbQfUWL1Ezrhq8dLK0KBM2btfnHaHiw14fSJ2kMxvcpLTYQtLqvLx9u2FPAKQF4UISFGoRwBhWAzH21dv7ihY6BDBOOIu2tAGSORXWEvZk/KvjugAZCVD1/rVBUAkotMZTAHqBBC0JGp3on/x8PZRt247g4U8y8NQ0jGwZ3gKwDGbE+L2t1S3yPzjaypl8Kmadf7KglPKZetyV1f/J+hxzJFd3KUW4X6eUBtuNS8ZkG++/KMPNyyqipels8H93Tw+HJjLr/QFH39jXlckYojpMwkC0qs/GgVGa8p+DA1dsG4gIldvu0tKjqPhNyfqCNrs7iWzAgTkeL3G4+LDmyGHqzLW8aVtCmLrAa2KEbz/d/yKtTdUtl0OTgpD7to4mIB7kXiIRqkPSgB3Fbpw/ubMeh+91dH/Yh4/bMeUSpQAYuSaK+Ardn5kToaqgB87sN3Ej+TyT0cJIt30ruMHlgmOchlM0+p4lIQekALoQkIheM6N7mE/9LF9t8pkGxjH04AMxMq+6Yerahl5oUAUZIpynVavd0XTcPT8GUFV8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(136003)(39860400002)(366004)(396003)(346002)(6486002)(8676002)(8936002)(4326008)(54906003)(2906002)(38100700002)(5660300002)(31686004)(66476007)(66556008)(36756003)(31696002)(478600001)(2616005)(186003)(26005)(16576012)(956004)(83380400001)(66946007)(6916009)(86362001)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZlNTbThHR00wdVRMUlczMndRWFNsYm45SjZ1am9PbC9TYjJjRTQ3MHZKaERX?=
 =?utf-8?B?aWRiaERuVnhTaXlKVkN3N1hmRkFtVVZaeHRwbVEyMkRoT2NEQllSZnNGazBa?=
 =?utf-8?B?aFV6Mlc2N3hCSnUvWUk4UUhHeEFTcW14d2g0UmF2UjJBUWQ2Wlk2MEJNcXRj?=
 =?utf-8?B?RmNBODVQMkxUVyt6cFhjdzlyS2JSWXU3My9KTloyYUE5MDJyVnFSL0NSdXcw?=
 =?utf-8?B?UmdTMGRWWEx2ZTNaUTBuZmY5eWwwUmNqVFJmNVVTWThRQ2NTR0ttSTk3b3N5?=
 =?utf-8?B?TVFnUzNDN1QzL0Nxa2FEZ3hXQkZvMTRDejBVTysydlIwbm5YMGRKMy9sNCs5?=
 =?utf-8?B?RCszUzZxbExCazRhWEI1eHc4aXN5WkFHcVI1TmRHOVpoZjdSdEhFdzdPRG8y?=
 =?utf-8?B?TmZjSmpvTXBTK1p1VkdyZGhHa0wxcW5xZGJlcWZIa3QyU25kZzd4bVMzUHNW?=
 =?utf-8?B?TEIxbmwwQk16Nmo3d2Y1TkRPaUJ3N01EUkVsTDVuaUNyZEVndzJXTVV6NzBt?=
 =?utf-8?B?eFRaNWphZlpQUWs5M3ZTMEVyQXJJS3QzdzB0RGc0UnVxNUFuc2FhaWJhRlBr?=
 =?utf-8?B?c0krc2EyYTUvblhzS0FnOEtmMWxVREtDR2N5cVBKZmpHZWRjKzFZdkdsdGFy?=
 =?utf-8?B?VzExby9jSVVDL1hkcnVmQ2RVY2FzWUN5cWRKRGVZUHFtL3psQnJrR1hGdUo5?=
 =?utf-8?B?VitTNUo2SXp0MnB0ZXpRb09La1p1WmNkcGtOcXFwRHFsdmlobFNLUHdhK29G?=
 =?utf-8?B?R3A3N0hITXhkUHB3dVoyVzJnVjVOWElCRDUvTGRsRFFiU05JL2RjNTZxR0ZR?=
 =?utf-8?B?VW5xbWV5UnFBY3d6YzhYaFFmVHhsM3Zsc2V4U1F5ZDQrRFR6dThMMXFtL2dH?=
 =?utf-8?B?d0Rpb3F4Sm9ZMmVhTkZPZ1I2bFVLNDBHbE05Qkh1Z21FTG94YUJwTk5VcjMz?=
 =?utf-8?B?R212U3Y4K2Y2bktkaEVqdXBsSElHL3VqbEJzK0hXT3FZZGxVVWd0bHc4VDMy?=
 =?utf-8?B?WXlQaFIxSndqRDFVV2tzQ2FlV3h0dUpzRGdHQXI1eGxhbHV2MmEwVGtDMzEr?=
 =?utf-8?B?SW5nM3h1RGtXNUUyMDJOZHo1azlvWHo1N1cyOHo0SERFd1VpOUdSSWlBdUtC?=
 =?utf-8?B?cnhsTlRGSHk4M282YTV3bkZBYTJVNW55V3I1L0crVGsyMzJWMHBaYUEzL2lI?=
 =?utf-8?B?QS9PQ0Jaek90b2dVV05oRk0wTnAyYUJWOGkvZEVnSlpLRmFPam5oL0kxTlNM?=
 =?utf-8?B?ZjNSM2Z5elVlcEFaTG82R1RiajJ2RGNPeW9Xc0tTcG1ZYUtTSjdjYUc0MU9p?=
 =?utf-8?B?QWZQZmNqdE1HSzhMN0dPR1FMaG05RjZ2TlI3dTRkTERnNis3Q0JXU0lIS3Fv?=
 =?utf-8?B?ZWdjeWkvVGMxdW1Fbk41Ym84c25jQ2doejhEV0YvczlabElHUDlyc2YxYjdt?=
 =?utf-8?B?QkQ4MEU2QS96VlhWcngvV0FOYXdiME4yVzk0RDY5L3NhOTc0Wjd6Tm9rMEJF?=
 =?utf-8?B?RDZpMU1UM3NEN0xGZllMUzNERWlZeTZMalZBaVRFRTh2a2l4RWFzYVJNSk1Y?=
 =?utf-8?B?eEczUmdtaDVyelpmK2UvcHV3VlZWTE5wazNvZm5HZ2UzZ0puMFdhejdOdXM3?=
 =?utf-8?B?WDNJOTZMSEdPR2VUZllWWEQ2cll4ZGdidmczZ0JmdWdjanVMTmNoY2hWRHFB?=
 =?utf-8?B?cHhiaTBFN2wreCsvVlNST1Q3YU9kWU92UmprSHByejBVcERGUkEvanJlaGYv?=
 =?utf-8?Q?hHwCIJdHZyUGfxkVYWC0qWw20qPFtXEITTYO0JS?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 39a7730b-defe-4a80-6de4-08d96bb639d4
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2021 13:01:04.9288
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: tNHnaDxLCn6aKh3xp3BtTgNrZZCVseTaccSqNiGvEI/DBoIUtC2yk46pHxktYUm4KpX03shX5UXcs4NK24Njfw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2448

The code building PVH Dom0 made use of sequences of P2M changes
which are disallowed as of XSA-378. First of all population of the
first Mb of memory needs to be redone. Then, largely as a
workaround, checking introduced by XSA-378 needs to be slightly
relaxed.

Note that with these adjustments I get Dom0 to start booting on my
development system, but the Dom0 kernel then gets stuck. Since it
was the first time for me to try PVH Dom0 in this context (see
below for why I was hesitant), I cannot tell yet whether this is
due further fallout from the XSA, or some further unrelated
problem. Dom0's BSP is in VPF_blocked state while all APs are
still in VPF_down. The 'd' debug key, unhelpfully, doesn't produce
any output, so it's non-trivial to check whether (like PV likes to
do) Dom0 has panic()ed without leaving any (visible) output.

[And there was another rather basic issue to fight first (patch
 will be submitted separately): vPCI wasn't aware of hidden PCI
 devices, hitting an ASSERT(). Obviously I couldn't afford not
 having a functioning serial console.]

In the course I ran into an oom condition while populating Dom0's
RAM. Hence next some re-work of dom0_compute_nr_pages(). In turn
in the course of putting that together I did notice that PV Dom0,
when run in shadow mode, wouldn't have its shadow allocation
properly set.

1: PVH: de-duplicate mappings for first Mb of Dom0 memory
2: P2M: relax guarding of MMIO entries
3: PVH: improve Dom0 memory size calculation
4: PV: properly set shadow allocation for Dom0

Jan



From xen-devel-bounces@lists.xenproject.org Mon Aug 30 13:02:08 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 13:02:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175033.318968 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKgvQ-0007PY-Mz; Mon, 30 Aug 2021 13:02:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175033.318968; Mon, 30 Aug 2021 13:02:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKgvQ-0007PR-Jg; Mon, 30 Aug 2021 13:02:08 +0000
Received: by outflank-mailman (input) for mailman id 175033;
 Mon, 30 Aug 2021 13:02:07 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YhGR=NV=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mKgvP-0007PE-PB
 for xen-devel@lists.xenproject.org; Mon, 30 Aug 2021 13:02:07 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id a4774ae4-e7d8-46ef-9aa8-6a22c1931f19;
 Mon, 30 Aug 2021 13:02:06 +0000 (UTC)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2050.outbound.protection.outlook.com [104.47.13.50]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-23-dey-5gfhMm6qC3tRISn0WA-1; Mon, 30 Aug 2021 15:02:04 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5901.eurprd04.prod.outlook.com (2603:10a6:803:e9::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.19; Mon, 30 Aug
 2021 13:02:02 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.024; Mon, 30 Aug 2021
 13:02:02 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0200.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1f::20) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Mon, 30 Aug 2021 13:02: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: a4774ae4-e7d8-46ef-9aa8-6a22c1931f19
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630328525;
	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=o+IIgfHSi4F0KpiDSfgZRI6fCSfRdaE2STDllCN8w38=;
	b=AS1Zv13pN9RY20PeWAQEhAs+POoE4Krr2bDVw+jLzlcG9uK1HrzQ3M+9UXNrYkt/Ugen2I
	lIUAZhHteu5mukbLf4XPxhp8/QcNFb5mEihOvDzYSDfEN35yWDWWwsUzTypRcdavH0C76c
	Q228fAcmyMoZLCVyFSViclcBKhXChkk=
X-MC-Unique: dey-5gfhMm6qC3tRISn0WA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jLyD6ZFtpwDP0aKo/ZisWwSyHsGIzm/DwVYdnMKFUCTj/s+SU0uqe/9+Vh4fCZIOZLxgPq0LMsSm2noOVwspb4bv15iJism58t1y+/G16FBQSWTUrbq86a43cAwgiYm0ReUgTyEq34EYZz+V86aIS5wnrB13/I1DMIerVWvLGjyGH9Uj/UlxrF7PDcR/0vIiZIxMY0gvWLpEP/yFYYgwyHx1rVqRt5pixXjw4Wh2EbbONcwr/VVYTwKsS/B8OiESL8zS/6wgNyGXEJs//0IRtZeZpRUbHUuYew7+00KqqKX+UnVh0uvRYxukgwj+3C2GMeZVb8xnfXnflTEyrv9D8A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=o+IIgfHSi4F0KpiDSfgZRI6fCSfRdaE2STDllCN8w38=;
 b=WzNJaYv7f0vOFzHt2urYv7YVLe/yK54nt/IxRK7mjraCGqDChSQm3tIMohel55DVAbcwmqDkH4gixWPt7Q935anHdr3AIkl5Mp62aJVEmCYpSaOe6uYcntJpKQCYuCPi5TA7TpPHrJdS5sivqgMm465aRUUpd0cs614h+p4S91funJ1j5GtTiFLDFUPPyTkZd9n3WAh/CzZSBakD4J8KTQ+WeKp5DUymiBIG6GzmONsXVGdavMa49gVMDOqVr2zhQYEv9zPAQ2v5bDJM7dlHr60CiyQOg2O/nNUYTWkG7PGpmggJXBlnRNjPezb8QDgb/NsLHnKL3eEKC4D5U7ZFqA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: citrix.com; dkim=none (message not signed)
 header.d=none;citrix.com; dmarc=none action=none header.from=suse.com;
Subject: [PATCH 1/4] x86/PVH: de-duplicate mappings for first Mb of Dom0
 memory
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <aae19abb-e88b-8bf8-6f1d-502ac6645d6b@suse.com>
Message-ID: <013c49f5-7a14-9d9e-4d25-75934bf6349f@suse.com>
Date: Mon, 30 Aug 2021 15:02:00 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <aae19abb-e88b-8bf8-6f1d-502ac6645d6b@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0200.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1f::20) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 29e7a721-3af0-438a-948e-08d96bb65c03
X-MS-TrafficTypeDiagnostic: VI1PR04MB5901:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB59016C12048E857DDAEF0330B3CB9@VI1PR04MB5901.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:6108;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	CSmH0VwjGDz7tMo2hfIvi9ozMNMp4HjYsnabHpsybWwUVIKbSOyHFF2Rari5MMFlt+0Zz2ieBM2Fr/tV2QCZE6/ETSt6Pmdp0g0cwiyJB68cK3B/tCEoFfgxgBTQ3pgYy7keJzI5W9mabCryV54d+wfVyXtpqqo6DEae09df7pYdUeCMt7fmpf5IyOfhcpdk4J+iQ5dtuCN+FTsac4m0h2HWoz/FU5UOG8mvRSnr8SGpWjGDgUIazv5xzZ8DefhiEMrcCMjnRqAjEMaoBG/QVewDOwZxFyt8ZFs7tKxBSvshQTRK4tAjW+tVyKPh8sDs40umoBQEe4SmwnxRyksndbOBY6rZQSAyxHVLesoV17UxXuPPit7fCJ4MlX5IuQQsKsDwhk1xINojNZCsHWgjCckk3wU6DWzi019NCjfQREqjj6S4Jt2EqktZNIu5KyLFTyWdHUTAEXvtgdIQVPGQpU01WcSdLLUpeS9jYrRLQjKSaC/7xhMJy49x+LKawUmBLyrnrfiTYiKs0lWO4tvH/V8DU72yn4tBWKl/AzFwPvp00MuQ6LsgP4LwQTsk70SJxivgT5wkqHawwrGTcveM1HqG1fIBykXI82PFTalgHmdOAs7Uepe1VQ5aDnOvn7+PbiJmFKDMqMaqoxIPRm0ObTc1Vo4C9aVQ1wRY2DpNLjXh1yH8vCYL6S97hfSFbPnDQklBFOFeAYy+dIfOHyH0GN9sFzx3PPc59d5gtQZwrFDq4hspz1FKJlAZexf41YIF
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(136003)(366004)(346002)(39860400002)(396003)(316002)(66476007)(6486002)(66556008)(16576012)(6916009)(5660300002)(8936002)(83380400001)(54906003)(8676002)(36756003)(66946007)(38100700002)(186003)(2906002)(4326008)(26005)(86362001)(2616005)(956004)(478600001)(31686004)(31696002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YnpJZkVIVUZ3Slhkek5vckdZN1Fkbk9pRkViaHY5ekU5SU1ibHZJNUQzcVJs?=
 =?utf-8?B?RCs3MEY5OTdPT255S1RsMndUVVhSNzBCV2tBVTAxS0toRk9Sc0dYWDlOUFFk?=
 =?utf-8?B?RmMya1lSdHBLUmRMbGhyY0FJTWM0R2QzYXF0d205ajBUekk2OG9JVXc1Zldl?=
 =?utf-8?B?dGtITTNha2ROci9CbkROODExM0xJWldNdkdxVE9wUXFRcXZIR0JTMkhOVjIw?=
 =?utf-8?B?bmFCbnZpTGlxcVFGSE1aQVoxZC9NeitBSSsvbkVNcU9qVXhORTlaKzNNTGhl?=
 =?utf-8?B?Mi9jZGlralJMWHArdXFzRWFrWVE3eXIyMHY0YWkrYks0Uk5SdWI3di8wQThC?=
 =?utf-8?B?VVFUbThrQjYvTmhWNFhqL2YwakJFSkVwaGczYlNNN1BSTTZVV2FPZ1JNaGFX?=
 =?utf-8?B?YUdqNmw3dEJWVDVMRnRiaC9mbnNaVjZJMmkxb1VjaDdyL3JvbGM3RlpNNXNT?=
 =?utf-8?B?UlJMQm4xTWZZdmZKNkpGdE13dWVsUkI3K2I2WXhOaXEvMFBjNHd3TG9mbXJC?=
 =?utf-8?B?WFJWNmdDcHJXaTdhRHo4SXM2ckVIanBrQlhmZ05NR25VSk43Z1VxMkYzZ3NK?=
 =?utf-8?B?SW1sbnh1Z01jSzVPdVpPNGdST0RicG1XTUVwWG5idUhCUnlScW9HOHhHc2Ry?=
 =?utf-8?B?MzZnazlmR3ZvZFVpb0g5Q1cvNjJBYjh4blRsL2hkaU5zeFJ2Z2k5T1hqQ1Rl?=
 =?utf-8?B?SGsrQWExSGJPbEtJdDM4OTlIaGozanBzekVqWkh2SnBpNndSdFpWc25YMGdy?=
 =?utf-8?B?aGI2dm5OK2Q2K0xRTGh4VFJVbU41RndZTi9pell2Y2JhUmFNMXM1b29hY2RU?=
 =?utf-8?B?YkRoeWJCUkJ0YVFaOFRGNERPaXdGNWJOYVRmU21lRC9BQUZ6TDFYblhPL3Zx?=
 =?utf-8?B?cWVoQUlZMUFTQVFUZUp1akVyN1JaampYUU1jWWl2TVBRTS9WZkdtc0VQRlpV?=
 =?utf-8?B?NkZhSy9ieWFMVTdMeXFSQVVJNFE0OHY1TXc3LzE2N0cwcENxbjR3bGRvVk9Q?=
 =?utf-8?B?ZVd4a2p0S05iNFJXUnMwS1hvbjFOMEpZYWN4SENvVEk2L1pVOEpwSEM0bmM1?=
 =?utf-8?B?WHN3NWN3cmRUSFFjbjVUUmZrNG0wV1FvY1RTYWxXaS9UOC9KUGV4dnpRNXc0?=
 =?utf-8?B?TjhCQ3NsQzdqL2Y0aS8remt0aTZSaTVMSGc0eFhCQUxYWnRlcmw4bzNjRnVi?=
 =?utf-8?B?WEdKZ2Nzay9UcWovWnRoTHAybFZLVll0ZkhwQ2x3Q3g3SjBjU0tibkswQmFp?=
 =?utf-8?B?TDB1LzVIcE5WZWlHSSswZ1k1TWMvemo1RDlCRXZkL0pjcjFONGMrUXpTaldz?=
 =?utf-8?B?aXQwek9yOTl0VnhJWC9kaGZFZ3RrUXdkNmRrQ3FKOTJFR3A3bDI4aVRHOGxO?=
 =?utf-8?B?S051QXQyUHkrNXIyZlVIN0w4eVFQeVFDY0k4RnNicU1YN2VMUzBhaUhneU0y?=
 =?utf-8?B?SXBoZ09GeHo1VlVJSXoxb0V5eFdaYmltNk5QVCs2MHNoQktSWmJ3a01wTTRF?=
 =?utf-8?B?YmhyRTlNV0xuaERkOE9iV1pIYWNxNDdqUEFHeG9uRUptZ2hBK0RUdHY5MVpj?=
 =?utf-8?B?Z0JqYnZHQlFpTjlrZEliakNMbURTN3hKRVorTmRCYWt0K2xVM3pJUytJS1di?=
 =?utf-8?B?OW1MU0t3TlAwOFVDOXFwNFMzcXpsaEhUVEF3bkVsMk5qZVNnTGRLaEY2RTVj?=
 =?utf-8?B?b1BuTStDK1ZUN2xNQzJRcEs5QXhuYXIrZ1Fhdm4rbjNvTEZNdml5VnlqbHlJ?=
 =?utf-8?Q?+QXO0BRgdS1SrxC0UYwyu3RO9ffeGkMHn1Tck42?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 29e7a721-3af0-438a-948e-08d96bb65c03
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2021 13:02:02.2713
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: hB7+mFdfXP9QpksOHRfKWj/Dfi4tZBHL8ymdUg3cAbrNmcPuxWYKEn7Ccq19aIupmWumdFv+AR46vjw5pjmycQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5901

One of the changes comprising the fixes for XSA-378 disallows replacing
MMIO mappings by unintended (for this purpose) code paths. This means we
need to be more careful about the mappings put in place in this range -
mappings should be created exactly once:
- iommu_hwdom_init() comes first; it should avoid the first Mb,
- pvh_populate_p2m() should insert identity mappings only into ranges
  not populated as RAM,
- pvh_setup_acpi() should again avoid the first Mb, which was already
  dealt with at that point.

Fixes: 753cb68e6530 ("x86/p2m: guard (in particular) identity mapping entries")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Note: Conflicts with the previously submitted "IOMMU/x86: perform PV
      Dom0 mappings in batches".

--- a/xen/arch/x86/hvm/dom0_build.c
+++ b/xen/arch/x86/hvm/dom0_build.c
@@ -430,17 +430,6 @@ static int __init pvh_populate_p2m(struc
     int rc;
 #define MB1_PAGES PFN_DOWN(MB(1))
 
-    /*
-     * Memory below 1MB is identity mapped initially. RAM regions are
-     * populated and copied below, replacing the respective mappings.
-     */
-    rc = modify_identity_mmio(d, 0, MB1_PAGES, true);
-    if ( rc )
-    {
-        printk("Failed to identity map low 1MB: %d\n", rc);
-        return rc;
-    }
-
     /* Populate memory map. */
     for ( i = 0; i < d->arch.nr_e820; i++ )
     {
@@ -472,6 +461,23 @@ static int __init pvh_populate_p2m(struc
         }
     }
 
+    /* Non-RAM regions of space below 1MB get identity mapped. */
+    for ( i = rc = 0; i < MB1_PAGES; ++i )
+    {
+        p2m_type_t p2mt;
+
+        if ( mfn_eq(get_gfn_query(d, i, &p2mt), INVALID_MFN) )
+            rc = set_mmio_p2m_entry(d, _gfn(i), _mfn(i), PAGE_ORDER_4K);
+        else
+            ASSERT(p2mt == p2m_ram_rw);
+        put_gfn(d, i);
+        if ( rc )
+        {
+            printk("Failed to identity map PFN %x: %d\n", i, rc);
+            return rc;
+        }
+    }
+
     if ( cpu_has_vmx && paging_mode_hap(d) && !vmx_unrestricted_guest(v) )
     {
         /*
@@ -1095,6 +1101,17 @@ static int __init pvh_setup_acpi(struct
         nr_pages = PFN_UP((d->arch.e820[i].addr & ~PAGE_MASK) +
                           d->arch.e820[i].size);
 
+        /* Memory below 1MB has been dealt with by pvh_populate_p2m(). */
+        if ( pfn < PFN_DOWN(MB(1)) )
+        {
+            if ( pfn + nr_pages <= PFN_DOWN(MB(1)) )
+                continue;
+
+            /* This shouldn't happen, but is easy to deal with. */
+            nr_pages -= PFN_DOWN(MB(1)) - pfn;
+            pfn = PFN_DOWN(MB(1));
+        }
+
         rc = modify_identity_mmio(d, pfn, nr_pages, true);
         if ( rc )
         {
--- a/xen/drivers/passthrough/x86/iommu.c
+++ b/xen/drivers/passthrough/x86/iommu.c
@@ -337,7 +337,13 @@ void __hwdom_init arch_iommu_hwdom_init(
     max_pfn = (GB(4) >> PAGE_SHIFT) - 1;
     top = max(max_pdx, pfn_to_pdx(max_pfn) + 1);
 
-    for ( i = 0; i < top; i++ )
+    /*
+     * First Mb will get mapped in one go by pvh_populate_p2m(). Avoid
+     * setting up potentially conflicting mappings here.
+     */
+    i = paging_mode_translate(d) ? PFN_DOWN(MB(1)) : 0;
+
+    for ( ; i < top; i++ )
     {
         unsigned long pfn = pdx_to_pfn(i);
         int rc;



From xen-devel-bounces@lists.xenproject.org Mon Aug 30 13:02:57 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 13:02:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175041.318978 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKgwD-00083o-0L; Mon, 30 Aug 2021 13:02:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175041.318978; Mon, 30 Aug 2021 13:02:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKgwC-00083h-Tg; Mon, 30 Aug 2021 13:02:56 +0000
Received: by outflank-mailman (input) for mailman id 175041;
 Mon, 30 Aug 2021 13:02:56 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YhGR=NV=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mKgwB-00083R-UT
 for xen-devel@lists.xenproject.org; Mon, 30 Aug 2021 13:02:55 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 13c095dc-b4e6-418a-850c-718d30b9093c;
 Mon, 30 Aug 2021 13:02:55 +0000 (UTC)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2176.outbound.protection.outlook.com [104.47.17.176])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-18-EAV57Xv5N5uwHMgfrTCrCQ-1; Mon, 30 Aug 2021 15:02:53 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5901.eurprd04.prod.outlook.com (2603:10a6:803:e9::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.19; Mon, 30 Aug
 2021 13:02:52 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.024; Mon, 30 Aug 2021
 13:02:52 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0130.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1a::22) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.19 via Frontend Transport; Mon, 30 Aug 2021 13:02:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 13c095dc-b4e6-418a-850c-718d30b9093c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630328574;
	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=A0SFd/SWBGb/mVP/UiCsyrSrRP8U1K0mXERHcQ8qcR4=;
	b=cpKiX8w95q2/KoJBXHtl0HeWBhjdZ8ue5f74Iwj4AZLedSMRSCC9TmQu6b4eEB250jx1zb
	Hdl7BfW9RcrQKxD/MxHA5zZTyFkF84II8MBWJZtIpxoMiAtT30PKr3QRlddtflbrcwqf9k
	+E7CKe9RxrYam01AqeK0l5UTzaBGobU=
X-MC-Unique: EAV57Xv5N5uwHMgfrTCrCQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SxzgXWeIbNEKjFTjHGWUnMJg/sdLTyVGWeCBGsPfxqCXLtIC0DbNACY5t4mI4uSt4ZNk8tmwv01ewYVX6dIONFPgU4TnUqrk3raTdBBftUq4ofr8DJ3NjXwZiyOeTTq2rk3GkRf4RTXL5WAMHUWgSrMr9NrKeQpolq9qaeavim5Inwc4NwFjdrVBSwkXFud5DhaJix9tS6qQfphJd4v3IImED8ERLCwGd7rE4CSeIyv0QoAJuFAeyswE/sNxeHt+Ne0ZZ7hfWWI78bCiGdl+XCAql3ljBMDHfLvvnXBt7QMBHiI8dMOSx1Oo/qorUFfBNXJEILdHKDpb76tpGN/ASA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=A0SFd/SWBGb/mVP/UiCsyrSrRP8U1K0mXERHcQ8qcR4=;
 b=oQVVkSQtUJkmhkZh0x8s7dH3LaYui/RRpvJ3jNPDCeE8Iw2BQ9VdVTtF0SunKbeKK9Ej3bcvMHB+e/ntdZWfdx8far0cX1PdZrqs3TexXgAZXI7ubQJEinXW7B0eqnAJKBAFWmaMvRnLOuPk7/SAC3r2B2suGr5V0uxwLGZEx29j32i2XNAJH3ZpKwfG70CPLPoLXBcrIdhRYF6wKbclsyJqylYNZpGxcdEfj2k4qOYlpFe0utXa7YOoG/7IJn4IAeeIMXdT1BjSUcpWLiFqNeWOKMeDZXB3JRBYPTCMQNnuQNlcq7Nd1Sw8pZCf8xe1R748VRw1NbsER3JmlsGIYw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: citrix.com; dkim=none (message not signed)
 header.d=none;citrix.com; dmarc=none action=none header.from=suse.com;
Subject: [PATCH 2/4] x86/P2M: relax guarding of MMIO entries
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <aae19abb-e88b-8bf8-6f1d-502ac6645d6b@suse.com>
Message-ID: <93ecc397-1293-69b1-e70d-3c5f9317229a@suse.com>
Date: Mon, 30 Aug 2021 15:02:50 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <aae19abb-e88b-8bf8-6f1d-502ac6645d6b@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0130.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1a::22) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 2f0f8953-fe59-43bd-3eac-08d96bb679ad
X-MS-TrafficTypeDiagnostic: VI1PR04MB5901:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB59018927AE8965E21F8F062FB3CB9@VI1PR04MB5901.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:6430;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ilsvB/XQInk/cJ8+Y19OTwDhIxgbpjvUOkOuSq/nL14Ka7k+G2mUrCW/wOdPMu9knK/+4TUsNm1WmNgeEOjZ/crLnbQ9hCHx6C+iJpwiXnvryWlJKLBbInjEkcBfhg7XkTGC7SPNiMMBByoFzFtelIn3ClDW++17g/6kZz3j0Ugdw2Q/NqlN+iBgotSamOvG+4CO6BlfQGzCGkHL84H+tyNSawyhhX+4tYJD6prUjgy0clkObU5ojDpYTTAl4W4gOVJQg6Z3YaUkNgXoSqYTkSIdM92Qb0+uZbA3Y0cLuuZ7GGOiH0MHRSMehhrHf93XNH9HhjdU7kda+KCqnRfmk3mCqRUYPgBE4CR4TfwFqd8I8tkEEqgsrjSBT04GHmFd9MDyagRFvJZo+ZAf3aRuZQeQbTaivw8PQzGB01pLB2yQKQsEIx+P9rGMPOuZaLsrOT/2l9xVgXs3DUWcD9kI0VLCnq8WWLziolK9YHIMegUDnrPlBM9RaDjH9gx85yzei7TFKDo0BYgHyIOCML/gxiZSR0gyGkin3diDTFfAvI+qcDPTqFOha+xCDIKUyoUnfPEbfIsWM/0HtvmjdpGJA8/5W/Osn+UxiYURN7+OZ1Y0BwVSsHDjUfiGunpH/sp1Zh7FAOwZVr0i1fE4bY5OgtxYF5WXne/QgAWU7/aEvRX1JnhErfma63AKVTH3+n4VV8bTIGPjo2yrIcHKzKPBwSvB74KljLFPpj6T3D5SQiauiHhngEP6n2pNjLIlrQrT
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(136003)(366004)(346002)(39860400002)(396003)(316002)(66476007)(6486002)(66556008)(16576012)(6916009)(5660300002)(8936002)(83380400001)(54906003)(8676002)(36756003)(66946007)(38100700002)(186003)(2906002)(4326008)(26005)(86362001)(2616005)(956004)(478600001)(31686004)(31696002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T09KSWRtbndrN0dpVUNnZm5uSmRQb01zSmp0ajJ0QjVwTEczOFFPM0xZWDZx?=
 =?utf-8?B?bkVUdWpiZCtBbmNZeUhqYzErQlQ4Q0RhSVhqUkR2SEhZclJVNkt3N0tLcFNk?=
 =?utf-8?B?eVVxNnhGQlV4dmZiY3lyUWlsTXRteWFSK3FLcnBXMk9GVGYxRDIzVC9tWTNw?=
 =?utf-8?B?a2JGOTg3aWswaUJGL1c4OGJSRVhKUm56RXUxY0p6L0RubklpTG03b1NKRjl1?=
 =?utf-8?B?OGxqZFVlSTdjVmpyR1VqOUNpa1ZONXFkWFE1V0hCcURUOU42OHUrNnlzT05Q?=
 =?utf-8?B?cjh0U2pDVmtUZ01rS3drOHRpUkdhTXl5ejhXRDM1VVE2UVg4S0U2TUpNY3Vh?=
 =?utf-8?B?UFZqazVwcjBneXk2QU5YM2VRc2VlaGhhM0M0Q3hBc0tlb2hTWHYyOUJvYU0w?=
 =?utf-8?B?Z2xTRGlkeHAybXFSeE5KeHdFcVNOdks4M2VoWHhnTC9Eb1NXSG13UUluamtv?=
 =?utf-8?B?cm1tV0tydlBzTjdzYVUrWVV4YTZRQlJJaUhGeHVrNlhJd2k1SCtLenU0SXNL?=
 =?utf-8?B?ek40cTlUR3ZsdzZQM21pdVJRTUp0SU1IV0sraXBTdmRaeUdvYlpPQmVZN0hU?=
 =?utf-8?B?eFY3K3VPdjdtcC9zZ2Q3UWllMnBqZjUzKy8rdVdyZ2ZmWHpPVXpHUXdFVTM2?=
 =?utf-8?B?ZWVUTjZ2T0hXem0xVVVveWJlUDRqZHg0b1hKT25HVldFWmJlZWlrY1cwWWwx?=
 =?utf-8?B?YnF3K0FGdUpHaFVydXF2ZDVFM2FaczRFdUtaOXBvS0hjZVFlU0JnQmtVNmpT?=
 =?utf-8?B?WDRseVNmb3Vvblp3VENOek4rTzlhem9ZRFV2Y1RYNlZkZk0zSTIvSisxR2tP?=
 =?utf-8?B?TGhmRlV6VW5HZ1J4L2ZmajZXWWF2RTh5Y1JzWHRPaFhPalVodFhSVGo2eTZC?=
 =?utf-8?B?UlRNaXBXQkdhNmNyTHozNE56YWs3enpYcmhTUmtudTJ1Q2x4ZDdQbEhpYm1M?=
 =?utf-8?B?NmlGQUt5OGl4aDk2dDRMNXU4ZEVsa0Vob1NQN2tpS0tGQWFWNERqVFFVbTJD?=
 =?utf-8?B?OFZBU3ovSDRBY0pwRjNhdDByb3l3ZjNkMFREUC9iVCtzQnREOC9FK3ZPcGs3?=
 =?utf-8?B?bk1aUGZJVjFHbUxUUUJlc3Y0OW9SQnJXNlc3YlhIQ3hydVZTaGJkMzlPYTh2?=
 =?utf-8?B?OTZWemtubUMrSVBZMEk2RWF6c3Nqa2pJbzFjbCtYSFVDdGVMT2J2bFpaLzRM?=
 =?utf-8?B?Mjk4MmtSUTJ4SHJCNGk5YnJnSGttb04xaU5Rb3RwVjRrdUIrUFR2NjdxNVZ0?=
 =?utf-8?B?TktDT1pZdzR1dFlhb2VhL0pGWE54RjBacGprRmU3eWFmdG1EWm1naDNreStw?=
 =?utf-8?B?OWJNdXlGT2xYVjhiYjhRa2VJZHVMTERKdW1JVThITTB1ejJBdHMyd05NS2d2?=
 =?utf-8?B?MmI0aFo4UUJwcFZ0dWcvK0tjOFI5UGczN2gzRDljN3k3OWU2c3VGYVBDdjNL?=
 =?utf-8?B?WmlJYzNQMEowMzh4WlJPc3pIemtDd21RTllwbFg0dEJpeEVqbzh2OW9KTElR?=
 =?utf-8?B?eGdJQUtoMVFKV21vRWlpYU44OVlmLy84NVlHOXBrSDFUczU4K09VQUtxRitt?=
 =?utf-8?B?UjZmbUVaaDM4UkFLRDRjdXdRTUFldG9HcytWaUlGZG4ybldMeUdrOTVzZis4?=
 =?utf-8?B?Yjg3Lyt4STVxRjdCM1FIdWJOM1h2VmN4aWhUVUlDS3hoYXovYU9nZmZBaS85?=
 =?utf-8?B?VE5nbWc0SGViWWJiK080STNwRG9DOFBjWkNVbEc0QXNqSjFvTWpsMDErQ3Ez?=
 =?utf-8?Q?tjjoomSBfrcn2x22NbImHXumtvp1k6i+FEVLayZ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2f0f8953-fe59-43bd-3eac-08d96bb679ad
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2021 13:02:52.0461
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: QbktZPSYs919MR5R/IbXr3w9nYYVSGnXqP8uhg342yY3k6tOOS6FdViqINtwfkaYPhJBlTc6m3dZOjmaxztMjQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5901

One of the changes comprising the fixes for XSA-378 disallows replacing
MMIO mappings by unintended (for this purpose) code paths. At least in
the case of PVH Dom0 hitting an RMRR covered by an E820 ACPI region,
this is too strict. Generally short-circuit requests establishing the
same kind of mapping that's already in place.

Further permit "access" to differ in the "executable" attribute. While
ideally only ROM regions would get mapped with X set, getting there is
quite a bit of work. Therefore, as a temporary measure, permit X to
vary. For Dom0 the more permissive of the types will be used, while for
DomU it'll be the more restrictive one.

While there, also add a log message to the other domain_crash()
invocation that did prevent PVH Dom0 from coming up after the XSA-378
changes.

Fixes: 753cb68e6530 ("x86/p2m: guard (in particular) identity mapping entries")
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/mm/p2m.c
+++ b/xen/arch/x86/mm/p2m.c
@@ -958,9 +958,13 @@ guest_physmap_add_entry(struct domain *d
         if ( p2m_is_special(ot) )
         {
             /* Don't permit unmapping grant/foreign/direct-MMIO this way. */
-            domain_crash(d);
             p2m_unlock(p2m);
-            
+            printk(XENLOG_G_ERR
+                   "%pd: GFN %lx (%lx:%u:%u) -> (%lx:%u:%u) not permitted\n",
+                   d, gfn_x(gfn) + i,
+                   mfn_x(omfn), ot, a,
+                   mfn_x(mfn) + i, t, p2m->default_access);
+            domain_crash(d);
             return -EPERM;
         }
         else if ( p2m_is_ram(ot) && !p2m_is_paged(ot) )
@@ -1302,9 +1306,50 @@ static int set_typed_p2m_entry(struct do
     }
     if ( p2m_is_special(ot) )
     {
-        gfn_unlock(p2m, gfn, order);
-        domain_crash(d);
-        return -EPERM;
+        bool done = false, bad = true;
+
+        /* Special-case (almost) identical mappings. */
+        if ( mfn_eq(mfn, omfn) && gfn_p2mt == ot )
+        {
+            /*
+             * For MMIO allow X to differ in the requests (to cover for
+             * set_identity_p2m_entry() and set_mmio_p2m_entry() differing in
+             * the way they specify "access"). For the hardware domain put (or
+             * leave) in place the more permissive of the two possibilities,
+             * while for DomU-s go with the more restrictive variant.
+             */
+            if ( gfn_p2mt == p2m_mmio_direct &&
+                 access <= p2m_access_rwx &&
+                 (access ^ a) == p2m_access_x )
+            {
+                if ( is_hardware_domain(d) )
+                    access |= p2m_access_x;
+                else
+                    access &= ~p2m_access_x;
+                bad = access == p2m_access_n;
+            }
+
+            if ( access == a )
+                done = true;
+        }
+
+        if ( done )
+        {
+            gfn_unlock(p2m, gfn, order);
+            return 0;
+        }
+
+        if ( bad )
+        {
+            gfn_unlock(p2m, gfn, order);
+            printk(XENLOG_G_ERR
+                   "%pd: GFN %lx (%lx:%u:%u:%u) -> (%lx:%u:%u:%u) not permitted\n",
+                   d, gfn_l,
+                   mfn_x(omfn), cur_order, ot, a,
+                   mfn_x(mfn), order, gfn_p2mt, access);
+            domain_crash(d);
+            return -EPERM;
+        }
     }
     else if ( p2m_is_ram(ot) )
     {



From xen-devel-bounces@lists.xenproject.org Mon Aug 30 13:03:24 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 13:03:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175043.318990 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKgwe-00008j-9x; Mon, 30 Aug 2021 13:03:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175043.318990; Mon, 30 Aug 2021 13: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 1mKgwe-00008b-6v; Mon, 30 Aug 2021 13:03:24 +0000
Received: by outflank-mailman (input) for mailman id 175043;
 Mon, 30 Aug 2021 13:03:22 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YhGR=NV=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mKgwc-0008TI-An
 for xen-devel@lists.xenproject.org; Mon, 30 Aug 2021 13:03:22 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id a5ee4862-0992-11ec-ac87-12813bfff9fa;
 Mon, 30 Aug 2021 13:03:20 +0000 (UTC)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2169.outbound.protection.outlook.com [104.47.17.169])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-39-5hhDC0mZNTqVg6rGr1Oq0Q-1; Mon, 30 Aug 2021 15:03:18 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5901.eurprd04.prod.outlook.com (2603:10a6:803:e9::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.19; Mon, 30 Aug
 2021 13:03:15 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.024; Mon, 30 Aug 2021
 13:03:14 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P192CA0005.EURP192.PROD.OUTLOOK.COM (2603:10a6:102:56::10) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Mon, 30 Aug 2021 13:03: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: a5ee4862-0992-11ec-ac87-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630328599;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=4Vo4Dkwt5tDPO7OINdISKIs97Cf1OIMtewg4ko0cXdk=;
	b=dPZT6bgkv0JWkP/m7KtNuWJxv7OxoA1k/t6jB9hZy0hIX7v9uRyp9F35KetVYeU5cKjjke
	9xsy2to1HXl5/+xnZtI1e5MoqAfghpeHHw2afhZ8btvuKZIDUlu5n7y4lJbsQR7269o3cl
	W1ogKD2srsLd79rWDpcKPWizQo5xcOM=
X-MC-Unique: 5hhDC0mZNTqVg6rGr1Oq0Q-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=n4IQooAn+HJd4MfKZk/G78eDewM0T7ANn9HppOYZjlhRC2mh72iZxrl1AiSyMWZ/RuwkoyOu/zgnHYr4zxj9jcCQOqzrnOCERUGB1gsIWYWiBIRVl/XTyyPdio9T3nqgpliQSMIiRf83E+25ngJEDiSvPOgStynZtNj9SHU+m0AjrU1Cz3DUGrJk8n359tHzcAq9fNtbdLkHVk21SUAaQbx0XRGeqzsMrtW3ZAv7X0YYKx76rP/U7cZ25zsrWl2kw1Zm4cNID9pY7Nq2Y/Z9h6U2il7tCRKmQqvHzfhEyHz2j0E8333EamulKdMpqM24AVm2Ogu3H0IQriyX50p8Ng==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4Vo4Dkwt5tDPO7OINdISKIs97Cf1OIMtewg4ko0cXdk=;
 b=ctN1sDxY9EEHTl9xG02Wx5tW+UZKpSwq275EfztG3aCbblc2NtW2db4hDgOAWjVhII+4Z5svCUK2rto6F9gfIfWfjYsTW8WeKzuNjjsm0o2xzqSGLjOPhtmvPZEmSBOQEIhV/RsxpIB7QV9zhfvKoNf3F+ggngJgBPYY7aOADtTKspfjBVVFsrBig0iJWGvUaWBrdQ1x6y4iJATVorev+uamN1l1A4Gk76wMpdQaMLMxxSSalgryY7AR59TFCI4FuKxoPNdG/YGiG8sm4FDMG83EsaGhS4V6QAuZ2zaYzKSRJ0zieOw3FddSWNiSWXUwCL7SMiObK5QYLynKjjhPUA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: citrix.com; dkim=none (message not signed)
 header.d=none;citrix.com; dmarc=none action=none header.from=suse.com;
Subject: [PATCH 3/4] x86/PVH: improve Dom0 memory size calculation
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <aae19abb-e88b-8bf8-6f1d-502ac6645d6b@suse.com>
Message-ID: <a1c71c0a-8bc7-3f6f-ef5c-a0ef854fab33@suse.com>
Date: Mon, 30 Aug 2021 15:03:13 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <aae19abb-e88b-8bf8-6f1d-502ac6645d6b@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P192CA0005.EURP192.PROD.OUTLOOK.COM
 (2603:10a6:102:56::10) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d38b6e6d-3f34-45f9-1c93-08d96bb68744
X-MS-TrafficTypeDiagnostic: VI1PR04MB5901:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB5901EA2CB0388CC4EF8A73A6B3CB9@VI1PR04MB5901.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:2276;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	S3ylkW9CoSVK4xSXaZ0CXLHGVibFaTqY2xdGil4nzZc0uE/a/frcIrKgmDq9TaqHOkoJk6Xsme6ORWPZsYE5rYCuoMQL4IwjLC85Z0kFZLZ+lWcO+7Z9AVWrMGjrAeHgf0x/QvUO6wS+/3cWianYqMesR+J6TEoz7qX4epp2N6g8d1xbkRGZ6KUUos2RFdy3U418ZX2wDooq/oetaYt81PQ3SalP7tnx1DEQXsjSag5qe6+ptdb0JZiB4ScBk8FAHyeeFPu7dUbdsP5yt1XrGPaicVFQ7hXKHmHx1tGZgqmlhr4zQ7ltRYvYU5zGoAvnlZyh6ZuDY5c+msX9sY/r4xTED8B3WCur6ecbiFZbFwUSBnZfkgWHMPW+R/JMGNO1nbgJoXEnzoQbA118mFdY0uKaaCdU1hz1IhpEmCQDO7KWjhEALjTgP+sUPyaoSXiF/DPpjWsPSkJyP/9xU7F5OZ6cYpWsouU4lEIkpMTJVEaWzJCSSxzSHInkBM9t5SqJu2mawUQfAkvurhBw6dc4umgy0y711Ws80CDiXOvQAy1zivjR4mtw+AtPZRpJL3MuaVC4BZF1x/MfWg9EL05D41uppE3ch7rNJ0ZjmR1xBDLwpmFE67ZWXL4gI9KU7/e8zGWEAKflsUxEawjFt6uhKvbvwbQ9FK9uLoepaQuZxc5NGyVt0VImoDjCqOXPt4urZWkbE8TRr1MzHM6Hx5dGzOIg9ItvWJvC9hv1ARNoe+Anv1oCrSXY5TWI32Vl3VepIjisbo+/wFgH3OhDkRZnXQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(136003)(366004)(346002)(39860400002)(396003)(316002)(66476007)(6486002)(66556008)(16576012)(6916009)(5660300002)(8936002)(83380400001)(54906003)(8676002)(36756003)(66946007)(38100700002)(186003)(2906002)(4326008)(26005)(86362001)(2616005)(956004)(478600001)(31686004)(31696002)(25903002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bWwwN3h5bGNXRzNMWjEveWlYbDRReVVYOFJpMDhoNjBmWWk1cFNCV2NXVXdV?=
 =?utf-8?B?dHVLaVFFV0ZZSUpTcXVTc2IzemVkRjRRNE40RzN3QnU1T2lzd210akgvdDlt?=
 =?utf-8?B?bHRJblB6QmFRZEV6U1U5N1JpVDN4UVIwWDlFYlNGU3FMSlBmT0RvZjh6aWE4?=
 =?utf-8?B?dE1qSUk3QlVuOTAyYmkvbWJnLzNFdjlEelNMYUI4WlFmOUZ2Sy92UkptaGdF?=
 =?utf-8?B?ZUVlODVBdzBHSnJEdnZ1Y3hmT214VUhxOXhZUWdrSjFVTG52S1lDNnpGREJV?=
 =?utf-8?B?Yi9BRlg5emFqY0c4MUtwTENBSHA1Q3IwblJ3b2dZc0xEaFU1MkpzNEVlNHQv?=
 =?utf-8?B?VEtrS1p6TTQvZTVIS2JySnJ5TTkvRVBlOHFvSGYxTlcxSzVoT2FSRXhsMDcr?=
 =?utf-8?B?blZJVW82THVjZGxIUndMUnZ6S3lnUnhUanUvbGtPNHRadkRMUmd4MmxhaTJZ?=
 =?utf-8?B?eDR3UkhEbDlHcUhibm9jeDhHY2I4M0I4cjJQeXNrdHdVRFNHN25COURCSVJM?=
 =?utf-8?B?QlN3OERoMjJneUlUdnd2cHNqdDZQRmZtTm85ZHlORFpuT2V0VDFIOVYxQUE0?=
 =?utf-8?B?VmVCVlkxbFdmV2NyRHA3bGlqcjlrNkJYcElZNWc0dkUvOVo0M0FxY1NnQWt4?=
 =?utf-8?B?ZWxnVk5IODJOaDM2dDFXQzRvMDFaNXFPRTNsSUl3Mkd3bzd6WjlHNStPVC9Q?=
 =?utf-8?B?QUV5ZGZnOHVucnN5U21Za2w2bWZId1ByNHExeVIxd3ZQRmVwa2RjZ1A2QXpK?=
 =?utf-8?B?K0haUEtFWHFrSzRGN2k2ZGhSNkVjV0RKRHB6S2VLMlAvQU9zNlkzOTlCSXF1?=
 =?utf-8?B?eEhQYlBSL3dqTFRXeUgxb0RLL3Q5OTlIK1FpN01yclZYanh2bXAzQ2cxQytx?=
 =?utf-8?B?U09LVHhLcDhQS2hyVDRmN2c0cTNVcXZtbmFSVzF2R2RqbHpSM0tGMytna2Vk?=
 =?utf-8?B?QlNlRUpTSFhmalV0VzVobVpnQm4zbk9WVGZ0a2kzR0Z5RlJ3NFpoc01YZDRP?=
 =?utf-8?B?QWxwSFZYVS9PV255MEN5b0tLN1BldlNrN1FkRk1CbEhIS3NtUzlBbG5rVlZr?=
 =?utf-8?B?SmRNOTA5cmxlVTY2VURxWGloU0syVVVkR2V5VWZKZyswMm41OWFjVmo1Tmc1?=
 =?utf-8?B?NDdCdnpHYUlmb2xSTmdlTitUbFR1Zjg1MTF6Y05oSTh3NWt0ZmVuanFPa25E?=
 =?utf-8?B?VzBhdHE4OGVYMXZjNUhpME01NjNvcTJpOVpUZEJBRFZUNGRPTkIwNDhZSzhT?=
 =?utf-8?B?dUlCVUpXUnlnSGNwOFI4ODJzVFdtYktmYTBya0Ztb3ExeWMvMlJlaXQ3SnNG?=
 =?utf-8?B?SmdTQkQ5cFljRjhOb0swQmtaWmIyYzdFd2w0UEs1c3lVTUUzR1dMVzFaT2Zo?=
 =?utf-8?B?WjNIWlVVb2pXd3p3em5oVUowTGxoRm12b09Qdm8wTWsybDVicVJLZ0RjTG4z?=
 =?utf-8?B?QnNPZG1vSlIyY3FnQVQxNHhkWUgxNld0cE5HMjhHdFgySSsvMUlBNjlIVTJi?=
 =?utf-8?B?NTlraWtyZFJpa1JQMFhnOTNrczZGY0VQaEpjaXRIUDl3ZDhTaFJhKzUyeVJQ?=
 =?utf-8?B?LzdqZ3NFVWx0bzErb2Z5UVZvSXovaU54anRRYmo4SUdjcmRyUjYvQ2pMWjh5?=
 =?utf-8?B?UnpBWTFydHQvdE1GZldncXl3Q21Kc1owM2ZpT0tKd3lCWUswdjlpNTBIY09T?=
 =?utf-8?B?b29RRWVwcnhaTjlvK3NaTk1Ldm5aRlJNd3ZvcEVsR2hPejBrcllNWVNlUTNU?=
 =?utf-8?Q?nnwFgys6MZHaZEwBgfqWUxBqQ2+QKME4PaClC/G?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d38b6e6d-3f34-45f9-1c93-08d96bb68744
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2021 13:03:14.8632
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: vYK4CWYjmMjiVYQTOqfr1uxzwY0MvyALIR+QV1e92vY2LszhmLeaBKNer8SL2eZykwIF4uMGNDfQlf2DyIbC9w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5901

Assuming that the accounting for IOMMU page tables will also take care
of the P2M needs was wrong: dom0_paging_pages() can determine a far
higher value, high enough for the system to run out of memory while
setting up Dom0. Hence in the case of shared page tables the larger of
the two values needs to be used (without shared page tables the sum of
both continues to be applicable).

While there also account for two further aspects in the PV case: With
"iommu=dom0-passthrough" no IOMMU page tables would get allocated, so
none need accounting for. And if shadow mode is to be enabled, setting
aside a suitable amount for the P2M pool to get populated is also
necessary (i.e. similar to the non-shared-page-tables case of PVH).

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/dom0_build.c
+++ b/xen/arch/x86/dom0_build.c
@@ -318,7 +318,7 @@ unsigned long __init dom0_compute_nr_pag
     struct domain *d, struct elf_dom_parms *parms, unsigned long initrd_len)
 {
     nodeid_t node;
-    unsigned long avail = 0, nr_pages, min_pages, max_pages;
+    unsigned long avail = 0, nr_pages, min_pages, max_pages, iommu_pages = 0;
     bool need_paging;
 
     /* The ordering of operands is to work around a clang5 issue. */
@@ -337,18 +337,23 @@ unsigned long __init dom0_compute_nr_pag
         avail -= d->max_vcpus - 1;
 
     /* Reserve memory for iommu_dom0_init() (rough estimate). */
-    if ( is_iommu_enabled(d) )
+    if ( is_iommu_enabled(d) && !iommu_hwdom_passthrough )
     {
         unsigned int s;
 
         for ( s = 9; s < BITS_PER_LONG; s += 9 )
-            avail -= max_pdx >> s;
+            iommu_pages += max_pdx >> s;
+
+        avail -= iommu_pages;
     }
 
-    need_paging = is_hvm_domain(d) &&
-        (!iommu_use_hap_pt(d) || !paging_mode_hap(d));
+    need_paging = is_hvm_domain(d)
+                  ? !iommu_use_hap_pt(d) || !paging_mode_hap(d)
+                  : opt_dom0_shadow;
     for ( ; ; need_paging = false )
     {
+        unsigned long paging_pages;
+
         nr_pages = get_memsize(&dom0_size, avail);
         min_pages = get_memsize(&dom0_min_size, avail);
         max_pages = get_memsize(&dom0_max_size, avail);
@@ -377,11 +382,20 @@ unsigned long __init dom0_compute_nr_pag
         nr_pages = min(nr_pages, max_pages);
         nr_pages = min(nr_pages, avail);
 
-        if ( !need_paging )
-            break;
+        paging_pages = paging_mode_enabled(d) || need_paging
+                       ? dom0_paging_pages(d, nr_pages) : 0;
 
         /* Reserve memory for shadow or HAP. */
-        avail -= dom0_paging_pages(d, nr_pages);
+        if ( !need_paging )
+        {
+            if ( paging_pages <= iommu_pages )
+                break;
+
+            avail -= paging_pages - iommu_pages;
+        }
+        else
+            avail -= paging_pages;
+        iommu_pages = paging_pages;
     }
 
     if ( is_pv_domain(d) &&



From xen-devel-bounces@lists.xenproject.org Mon Aug 30 13:03:51 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 13:03:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175051.319001 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKgx5-0000pk-O6; Mon, 30 Aug 2021 13:03:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175051.319001; Mon, 30 Aug 2021 13:03:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKgx5-0000pb-Kd; Mon, 30 Aug 2021 13:03:51 +0000
Received: by outflank-mailman (input) for mailman id 175051;
 Mon, 30 Aug 2021 13:03:50 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YhGR=NV=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mKgx4-0000pI-HO
 for xen-devel@lists.xenproject.org; Mon, 30 Aug 2021 13:03:50 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ed8b58e9-00f4-4875-a8de-124e7f6268f9;
 Mon, 30 Aug 2021 13:03:49 +0000 (UTC)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2055.outbound.protection.outlook.com [104.47.13.55]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-31-dQKk8fwzOvu7CkuZECsUVA-1; Mon, 30 Aug 2021 15:03:47 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5901.eurprd04.prod.outlook.com (2603:10a6:803:e9::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.19; Mon, 30 Aug
 2021 13:03:46 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.024; Mon, 30 Aug 2021
 13:03:46 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P189CA0025.EURP189.PROD.OUTLOOK.COM (2603:10a6:102:52::30) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Mon, 30 Aug 2021 13:03: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: ed8b58e9-00f4-4875-a8de-124e7f6268f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630328628;
	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=cxe0bKR24hXFw8oL69FTgKPiPaq5fBdyi4Hvj6JwhJU=;
	b=Qc6fWHbrCT1mwOr8ePWFD4rmCpdvf/fju6TMi8F2TnyIJWI/gvokRpICoMyQZQE97bwhmk
	NNuhTa13WVrljjQ57fDFIZSyHy1cD5hXw6D/Z6rCsr6a4C7Pcpxt1+Rb3qVWplcdTNFbkz
	JTpfrfge4q37cr7hTGdsZok6Dt9cD6g=
X-MC-Unique: dQKk8fwzOvu7CkuZECsUVA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IWeB4F9zIiQoyGkaG1OeCefCZ7HyAfqW9oapo+ORPNLrBeJYtN8ShrOmxKrxYsO3XuR6T0OErfnZi6ZalZHJppN0v2RPjiaXMgBDlLQ2pMEi9LHtc3r4/yBcvexCF9TtXGym3J1M/t/XBztG6aX1zBm/FpISf9zfm7wDjLa/9Nn1Cx7lPq0RD1T9Yqfgmu+F+snL8xyRKnEfn9QKDENpgFeBHl62+NoNsZy435tVBqfSEdROgzZmY6CxhNVjwiJmYYEvNlqJFWJwvOljB11FwWMB/69UGWUD01UaOZtrGpSF96yVcC4bRNaDki48aqRBEHm9tmFg4kWQsjlKD0y5aA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cxe0bKR24hXFw8oL69FTgKPiPaq5fBdyi4Hvj6JwhJU=;
 b=HkWCQLo2nvnk6rZtGQbFfYy9xt5umaUq0UG6NEt3wT8kmYXTCTgVGjFqEvJ3tr+AnKQqA2QL1nm1u0lQj9wQUMKW+x816HjrOPnXiQSu8rxaiCgbbp6ZY6FbfPeOikPtoZyvm/IYDVLkR9QZ5hLIyQ19tCGkCQmhtEtg756gNS0rDIECUs3sW2fh9LnOEgFBwsQddkVhd6Pxc5OO3ojg+SYB+WbOAvn936/8434SKq8fUcGXpigmRYNacFx0F+USI/NP4YQ54XRQwD8gR87FyB96v0RUrEB36M7j2nSGJ4T9Eiy7FJQssVobt362gJIXtjHoXMe0NrrGzVLvy+x0ww==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
Subject: [PATCH 4/4] x86/PV: properly set shadow allocation for Dom0
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>,
 Tim Deegan <tim@xen.org>
References: <aae19abb-e88b-8bf8-6f1d-502ac6645d6b@suse.com>
Message-ID: <35864b86-ae6c-f8ee-99df-cf78751d275d@suse.com>
Date: Mon, 30 Aug 2021 15:03:44 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <aae19abb-e88b-8bf8-6f1d-502ac6645d6b@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P189CA0025.EURP189.PROD.OUTLOOK.COM
 (2603:10a6:102:52::30) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: e6ee56ab-a4ed-4980-43da-08d96bb69a14
X-MS-TrafficTypeDiagnostic: VI1PR04MB5901:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB5901EA525B187A0A34EC5160B3CB9@VI1PR04MB5901.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:6430;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1ZfAZT6taxcLXt3lQyO5VvQxkgP6Ocm6a9oLizp59Xnfjt7pTe1+E4KX3MVRkyt9YDQ9q1CVS72wgCSOv4qsJ+ezuCEWaTkjtg7VqTKKcvdlsd9C6TPi2QmwnOMGScqEHu0TvHyJya6yHjF235jw+J04NDfzUlujN9FYG4h9P1M9JSsfzvc2K006l/xdR8/8PaeNMjJW93MAMvvi8rXLcannpeV6rYUBeUOFnZewkUTlA+Ls3rmJNlRAf2WUi9PzvMsZMhBeFG6+kzjAytQ45hmvhor2d7ic5XDYEErZwkMjBU04s3db3ydVxm3za8NU/LX8SmfJ70qCADB2+w8aaQ91XI4Z7FVxlDfx11rKY5620H4/fT/LQgSdSD6I+MeVqoPwt+x8MQQEsUe/npfRZVSTYF+kLK9Trb013eXxgWvo93JqGiQj76rvGxez8BU2EEJTlKl1kjx8z0/euvGSo28QXUKi1vSWYz8nuJJvNmKB8r6lSUsvDs5JQ5x20WfbIqR5Jq0ns3hbmSKJCnKp2qbFt34XpXG3eoNupCUilFd/ycYTtUNMa/rTSSFkehKqd6YnfCld+Sa3NlQV2QJKGmAeO6qZPEZXI3aDl2oCCEt+uMTM8Skj7cSTpGd016B8H5lszGJUzIzTUgP8R4ysmCHoKQoSm309iQsA90Jg9jXPcboUgezHlRLRaQ9EKzxcOYFVlGLoLnY0wgsu7NdTQRY9BKswXqlW0rxHoFrF0W0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(136003)(366004)(346002)(39860400002)(396003)(316002)(66476007)(6486002)(66556008)(16576012)(6916009)(5660300002)(8936002)(83380400001)(54906003)(8676002)(36756003)(66946007)(38100700002)(186003)(2906002)(4326008)(26005)(86362001)(2616005)(956004)(478600001)(31686004)(31696002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TWp5QnVubkE3TWU5Tk9jNFJPZVRDMHpXN3FwYU5md3kwNUJCVEkveFc2Wm5r?=
 =?utf-8?B?ZGhhc2RLVHYyU1BlSG9uVVI2RU9hMFBaZ2ZDZFI1cVlPOVEvbVA3QitwVmdh?=
 =?utf-8?B?ZmpSSi9KNzVyR0tSdzRyZHU0M1FvQVpKUDRJMDRIWE1QTjFYTXlDYUROankx?=
 =?utf-8?B?cEI0em5BbXB6TVJKUEEwS3lBelc3Y1BMWkZxQ3JRdUNHS2UxalFYaTFOOHlk?=
 =?utf-8?B?Y21hWXFKRzd1d2E2RmxFZ2pwdkU1TkJRTkhYdnloaGVGNDAveW1JQndpNjFp?=
 =?utf-8?B?OHRLSncwR1M2Q1R0aGRwV09kUXJEZ2hKZlN2Q2lRamhiOUE0c2d0NjNmS2hR?=
 =?utf-8?B?WFdOWVE2dVV6NUtvVDVQbXF0UUV5cXlPUTZMQWpWSXNxc1RxK1hlUUpnSldH?=
 =?utf-8?B?WTR0d1JyT0MrOFQ1NmxyZzNNWmNxa1lPYnNhaUFHRTdjQWNJSGlkcmd5U2hl?=
 =?utf-8?B?L3BwTHpLeGxrcTR6Mkg1Umxvdnp0OTYvNjVBNGowRHkrbG1XZXFNNUtyekZY?=
 =?utf-8?B?NXV4SnJ2Q3Zsb0NkUnRhMW1IbjB6L1NjVjBuN2NFY3JHVDErTW9XL3gwRjNN?=
 =?utf-8?B?OUFmS25QaVdod25NMTUwRTJseWpsbWxSVjlSelRUODByems0enZOZlhVeUtB?=
 =?utf-8?B?LzRWV3A4ZTUvNHIzazVzVzdPVEN4NkV4TlNzWUk5MDRHbUtZaGhDc1hpTzN5?=
 =?utf-8?B?SGVvbUZQU1hoZnl5R0Z5dHlUWHBFbSt0NEp2YkQvSFJsYWdqVE9Ea0lldWJ5?=
 =?utf-8?B?cWhWUy9HTVY5QkZXZmN6NGN1YnM3ak5mZk1DWWlYMzJJNG5KcEdqS2dxSUFX?=
 =?utf-8?B?Y1hxNDFNb2x5UnJuOUh1eFNRYnYxdExVQ2ZEZ0JwNkw5U21pK09ldXc3QjNQ?=
 =?utf-8?B?ZG9nV2JvdzdvT0Fyb2Z4MTVaQXVSVlpPamI4WjhmQ3FscDl2YW1zZmZBMk01?=
 =?utf-8?B?T2JtMytwdlhheFVRS1YvS3NLOFN4a080SEo2YjhkMWNDR0dtTFRXODBzMjRY?=
 =?utf-8?B?ZHVxWThYcFBKblUzcXBBdEk4dUlpS3oxQk9aeVlaOE5CZnZSRVozeHlLbXEy?=
 =?utf-8?B?MkhSNXMyNzNrRkVJRFNVZFpwUEFqbXB4cWlyaGNzRjVGNHVicGhmbG1LcEdm?=
 =?utf-8?B?akl1WXlyRU4yNi9EMm90TUJrdG84YVZ4SVZYYnhqUjNUeTBteDNpNzRwQ3c2?=
 =?utf-8?B?bWR1ekd6TDJqYXFNN2NtTXYwK1Izck9EUGRHak80Yy93OUpVU2dmOWNGb3oz?=
 =?utf-8?B?RVhJNTVaVk5qVlQxTVRYbExEOGd5c2ZHYlgxUXF1QTYzM0U1RjUvL3FhOEYx?=
 =?utf-8?B?Mmw5R2lNemY2QzJrYk9xY0FQT3U2VWdEWDhQblhaYVJQbGo2RHhrQ0ZFU1dG?=
 =?utf-8?B?WW4xUGYwbWw1d2xDaHFuSlhqcTR2UkpJSG5aNFdCYmVwSkkvQUswV25Dbk84?=
 =?utf-8?B?bUtDeFpadytabVdFVVk0bXRnU2xqUzlZSGpiM2pVbFJVMHFDQTVpOFYzOUZZ?=
 =?utf-8?B?V1hiNjJlaHBMbHVlWXRUQUFGWGI4MkdpODh0Y2lLRS9oblhRMlVPRzlZZ0Yr?=
 =?utf-8?B?WEtXSW0vVjZmOEFXeDRiNC9PVXdGd1NLN2ZkTXVtVGVEN0IyL2N5NkNBZU8r?=
 =?utf-8?B?cXNibTV5WmpJSnVIV3JvOTEvY2JWcW1WQVdmR3Rqa0hCZHlta3cwUVcvVEwz?=
 =?utf-8?B?VmgvazVieUV6THd3c29FQmxQTmd6QjNVeTQvT2pMdnNpWkZsK2NXLzBHVisr?=
 =?utf-8?Q?zWKm6eStQhGSh4jWUQYjkVj6HEWSzySY+7c+RpM?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e6ee56ab-a4ed-4980-43da-08d96bb69a14
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2021 13:03:46.4044
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: fxIyXZIOxUFeRCuiF1QgEFSb5xgYyuc+Y5534HHDjQuSlNhA2zaxfpzNpQvB74Or3kQVWYtX22b3jfVkFJlX9Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5901

Leaving shadow setup just to the L1TF tasklet means running Dom0 on a
minimally acceptable shadow memory pool, rather than what normally
would be used (also, for example, for PVH). Populate the pool before
triggering the tasklet, on a best effort basis (again like done for
PVH).

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -1298,7 +1298,7 @@ int shadow_set_allocation(struct domain
 {
     struct page_info *sp;
 
-    ASSERT(paging_locked_by_me(d));
+    ASSERT(paging_locked_by_me(d) || system_state < SYS_STATE_active);
 
     if ( pages > 0 )
     {
--- a/xen/arch/x86/pv/dom0_build.c
+++ b/xen/arch/x86/pv/dom0_build.c
@@ -21,6 +21,7 @@
 #include <asm/page.h>
 #include <asm/pv/mm.h>
 #include <asm/setup.h>
+#include <asm/shadow.h>
 
 /* Allow ring-3 access in long mode as guest cannot use ring 1 ... */
 #define BASE_PROT (_PAGE_PRESENT|_PAGE_RW|_PAGE_ACCESSED|_PAGE_USER)
@@ -933,7 +934,17 @@ int __init dom0_construct_pv(struct doma
 #ifdef CONFIG_SHADOW_PAGING
     if ( opt_dom0_shadow )
     {
+        bool preempted;
+
         printk("Switching dom0 to using shadow paging\n");
+
+        do {
+            preempted = false;
+            shadow_set_allocation(d, dom0_paging_pages(d, nr_pages),
+                                  &preempted);
+            process_pending_softirqs();
+        } while ( preempted );
+
         tasklet_schedule(&d->arch.paging.shadow.pv_l1tf_tasklet);
     }
 #endif



From xen-devel-bounces@lists.xenproject.org Mon Aug 30 13:05:02 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 13:05:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175058.319011 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKgyE-0001Wv-2s; Mon, 30 Aug 2021 13:05:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175058.319011; Mon, 30 Aug 2021 13:05: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 1mKgyD-0001Wo-Vm; Mon, 30 Aug 2021 13:05:01 +0000
Received: by outflank-mailman (input) for mailman id 175058;
 Mon, 30 Aug 2021 13:05:00 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YhGR=NV=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mKgyC-0001Wc-Gk
 for xen-devel@lists.xenproject.org; Mon, 30 Aug 2021 13:05:00 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 27c28371-b1b6-4437-b9a0-b088a6e91e24;
 Mon, 30 Aug 2021 13:04:59 +0000 (UTC)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2054.outbound.protection.outlook.com [104.47.14.54]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-22--YswkcJNN4arQ58zjFxXPg-1; Mon, 30 Aug 2021 15:04:57 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0401MB2608.eurprd04.prod.outlook.com (2603:10a6:800:4f::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23; Mon, 30 Aug
 2021 13:04:56 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.024; Mon, 30 Aug 2021
 13:04:56 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM3PR07CA0068.eurprd07.prod.outlook.com (2603:10a6:207:4::26) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4478.10 via Frontend Transport; Mon, 30 Aug 2021 13:04: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: 27c28371-b1b6-4437-b9a0-b088a6e91e24
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630328698;
	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=h4jbZC34YKTDxv89AjMP9DMx0JY0uxFi3geIdWtFbDc=;
	b=nCxvjm0Fyb+fGxRvVPYtHzylR46KTuQTXJl2dVc7nSJI0MS2dunzKZwisbeD0enW4qCqet
	trxze4eiID3dcchuZ+nxxapZtXzanGehqxo9ndh5Wl7M0luooA84OM8o9ZQ5b147QUqtVa
	g3LtUpHG9zS2+CqtPPupSteUJih4qjs=
X-MC-Unique: -YswkcJNN4arQ58zjFxXPg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GLLH6A4SSwMQtndh5vs074hKGT2ySeQgNe5+hIMSLtKFIbvXYoCy5GWE2Ib6/ug8tCLmaR04uPVhv1zQliYGTHXcBI88+lp4NZwATCpUJw2lEDiYyjG7e4KZkcPu/E6KTYYmk/xvcpWh6Wb+p93QG/RKkeaU/FlB7WijA14cIzPjZt4iVF4jX47WBFO97P4Iy23McRQmTFgtKr8td8fFVP9imqpGUVuEq+WXbr+Vl2Abm9qkSxqKBJjdFsetp7/l6k194ASAR+PioWyQxPhQ4hCjgGWRX3ysfYdb9PWpWsB3Vx7RFpcgS2dRPJd89IuvqIGd5WwzIcY05/NGntP2jQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=h4jbZC34YKTDxv89AjMP9DMx0JY0uxFi3geIdWtFbDc=;
 b=QDdoLWIS1SP96qUVUiBbvvJWI//WF50FeBT0ww69wnpfzTWdUsIMQcMQ2ifrMk2GxfY0shtThEMln6d08MZooCgyJKwc5ctgYNHTHxNbjnNzHAxuMJBSzeO9AbUr9qGhXyIYFXrn6wY0vl5DPrUPfsOWjYIijyTwBwKjHaKDdNmErCjt9GJ7tJlsijHqdbJ2UK3KaAxA89EcsNodVS5mN6ufGGKotGpqG27h70SSRuKF/C5kYxOwgB9Ggy1UKZUwmr4slbtvixjeXv4wBYUycZxrxsEimTgsa6yteZgsg2eJcEgH5qEGFBwtuS+sVpp0UZTG9Od9ZC0BbXEGhYHPlw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: citrix.com; dkim=none (message not signed)
 header.d=none;citrix.com; dmarc=none action=none header.from=suse.com;
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH RFC] vPCI: account for hidden devices in modify_bars()
Message-ID: <6285981f-683f-a043-7025-993613eaea7c@suse.com>
Date: Mon, 30 Aug 2021 15:04:55 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM3PR07CA0068.eurprd07.prod.outlook.com
 (2603:10a6:207:4::26) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 51d40157-80a0-4302-6255-08d96bb6c3f2
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2608:
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB26081D099D9B619106B00F22B3CB9@VI1PR0401MB2608.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:7691;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+xlZv7TTsDVresUNTkpVK6tlS2XuzNyU5JWMHIl/ExjdGrWcO439vZ7bBOxU3kD3gl6lmEyx9xfmV9jP7JOpijWLvEJ4EeMWOHsWxF5QHgFP61dHvVURuDKpJ+3tD277zQVo0sy6QmetDMHz+UwdVrP9AWO1ylCQJY1mKsBojuccZ9vj+EGOCqO6jvwDm1efh2UM6AUL1TNmHy2rakAimpnTB4edaKQ3x/olom8muT2axBIRRDiYxkJc8vXjmEkzRNqUuMwiahOXsQLOGuImRRQNGsdv2g0nHXEjtXkoePTOsQfn8hntpYCai9t+E9mFDXo4F5zgo0wajDG80aSjazqkuDJh5Xon3UGrd6ZTPBSoVjA0xyEHIXpVnYhpHpgPV6VWk1SmX9mJFLflZ189HGnZP8pYqsXKDCkUAyj9fKY0vWg+RzlF4nQ3tgXo6/UfeHCON8FtMJthWrjoFqiugu8t2e9cuZShiBLULjElComfEERmARmtx8ZROhmkxHRlDyWaagVbFercrl703pojKfdnLZ/IOg5tt/XWJauvckNxMdEf3C00HY+aBwhijAZJQAzBqY7DQTg0/sZXhVWgfQqSSTFOvpbZeiuLUD00SS+AvB+/O4ZIYWvr054aFl87j/2tFWm6kSQrejWF3q4AUNhG0ZjwxJ6vYATpld/d9R3du+83h6X6o2ELzOX1y9mbKmJDl8C2Pec/aYIixEKs1o7VgpIpj5yKdGiutVIDLnY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(26005)(31686004)(2616005)(8676002)(8936002)(4326008)(86362001)(2906002)(36756003)(6916009)(16576012)(956004)(38100700002)(508600001)(83380400001)(6486002)(316002)(5660300002)(66556008)(66476007)(31696002)(186003)(66946007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bXVwTUdQcm8vcG1rUnVsbXJWVUlqSi9LcXBGM1M2eUtIbGVSemVsbkIzTlFJ?=
 =?utf-8?B?OVF2NDdIK01Ic1lQY0FjY01ZNTR0bi9hcUVGOTdLQ0JIemozR3B1SUp3OERN?=
 =?utf-8?B?UUVyeEFkeDRoaEd5c2cweU4wenlId1hEZVBSSVAzV2FLa3dNSFlZQ2YrNGtx?=
 =?utf-8?B?MW9ZUzEzdktjdG43V2ZqajAwYVJNekw2cHhIT1Z0dHNPNE1KQm14OXNOQzA0?=
 =?utf-8?B?eFhVV3BaTm1YQWpiZDF2VTBnR0VMRlNOSEVIVEdxdHlhWSt2QjRoVjlGQUVn?=
 =?utf-8?B?Mm90QjNsb2p4b2M1OUswaVhnN0haVkk0bGJ5MXBKbnByZm1xRXhjWVdRUGZp?=
 =?utf-8?B?alc0MW1mTEc4Nk9BVVBXNGMyVU9YV2R1elRHR3dGVUV6R0M5UHRycFQ0d2NW?=
 =?utf-8?B?VTF1ditHTW1TZ01QNUE3OGxXeWlQSlNaZWdYT2ozcGxDRlAxeDJNZE1qMWhV?=
 =?utf-8?B?UGJJdGdJa1FkYWdNaWpZUWp4Wjhnek9IYk5xUmlpTWdWTy83UzROVG9CSGJu?=
 =?utf-8?B?MHU2TzNjTG9wU3ErREY4enUvRVVYWXJDU2FBeFY4aUpqYmlLNWh1ZjZTTElR?=
 =?utf-8?B?TFhxSkx3Z1JLR29BT0tGdkpDckxNenRBN0tWd2kyVWRMcUhlcEIvSUpGWE43?=
 =?utf-8?B?akZuZlVNZ0VNcUtZQmFtV2JQUFc2enZsYW5Hd1NZL1dyYUJGNHJCZTFaLy9L?=
 =?utf-8?B?VGRBNmZLQWFwdTRvWHNzREZtOFp3YlppWjAvTDE3RFRjNWR1cDJsaTFZai9S?=
 =?utf-8?B?aU51MHJVRk9FRzR0NTFsWHdrWkdTQVJmc2E5dDNhcTBoaFVTcmFnNno0YXI4?=
 =?utf-8?B?U2lQWHJhayt4SXJqd3duMTVUTzlHUHFiMGxJM0hpNjk0SkVzejAxN3liK1FU?=
 =?utf-8?B?Nnh4K253LzZ0Zk03MDZsWGdNTVo4T3lSMU55eEM5dkhGbEx1eDRaYml2bERT?=
 =?utf-8?B?WGNONjZqcFhlb25PbVVhZHJ5SHlMMG5WRDlwZkpCMG9PdnhKZTNoZzIraWtU?=
 =?utf-8?B?ZElFNTE5ZTJSVXZkODZxR1dCY3lLU1ZpUFpHSkg3VDVwaW1oOWc2QnBONXg0?=
 =?utf-8?B?ais4eFdOTUlON0pURDZqNjJyQXlGVytob1JTM2lkMzlTWkxzZXBFV0E2bWt2?=
 =?utf-8?B?ek43VklHK1A0S3NqS1I3VkZ0N3lxLzVJNEhXVmZibHlzVC9maVI0QTZBOVl6?=
 =?utf-8?B?MThFeUhCWW5qUG0yVnYxR3J4cVNQN01TOUpXV0VLWjlvY2lWSTYvQ0VibU5K?=
 =?utf-8?B?UEJUc0FodStnOE9TVUhsTU5aQXR6UHRXVmpveVp6Nzh2S3EzZitwcm5VdnpM?=
 =?utf-8?B?VW5IZmNTVytTUHA2UU9yUlp5ckFtclI4V1YxMmNxSzhnWDlPMDRlVVF0Qjcw?=
 =?utf-8?B?TEVYU0tubHlzSm5DUjN1SVZDZWdFb1JRTitHT3laQlgrZ1dBYmttV1Job3BQ?=
 =?utf-8?B?b0MyWENPNDdjTnpDc0xPd3NEa2ZkMUJkcy8zMEVvU1AySEhlcThlNU53Tm0x?=
 =?utf-8?B?MENsSHQxR2VZUzc0Q09keHRrRFBnS3BNVzVTOFdCVGRGYmVlN2k0TFMyTm5E?=
 =?utf-8?B?UGdEeEdKREMySS9hWXRNVFd4NWlCUzg1dDQzYUErem8zV1lrMFVyQVovWnFL?=
 =?utf-8?B?QTJFeTBVRnhGbzRVM1RrdFNOY1NuWU45eVI1akpSOVQ5LzZNTnd0eUZoSkhk?=
 =?utf-8?B?VFBzQ1VrdkhKZlBGZUMrb0NpdGlmMVNTM1E0ZEs2Nml0MmdvSzcvZkxpT0po?=
 =?utf-8?Q?KUVzyqWrqeSOzrdO4tsDZIwyqLFshrcL8+yEiiL?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 51d40157-80a0-4302-6255-08d96bb6c3f2
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2021 13:04:56.6567
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: O190WbcesQcS1TLsPAAkk4TE8XEruPnikJ8SFaVWJkkFUo8PaBx2befYlsij+ix6nho/GnR38YCO8b8W557CdA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2608

Hidden devices (e.g. an add-in PCI serial card used for Xen's serial
console) are associated with DomXEN, not Dom0. This means that while
looking for overlapping BARs such devices cannot be found on Dom0's
list of devices; DomXEN's list also needs to be scanned.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
RFC: Patch intentionally mis-formatted, as the necessary re-indentation
     would make the diff difficult to read. At this point I'd merely
     like to gather input towards possible better approaches to solve
     the issue (not the least because quite possibly there are further
     places needing changing).

--- a/xen/drivers/vpci/header.c
+++ b/xen/drivers/vpci/header.c
@@ -206,6 +206,7 @@ static int modify_bars(const struct pci_
     struct vpci_header *header = &pdev->vpci->header;
     struct rangeset *mem = rangeset_new(NULL, NULL, 0);
     struct pci_dev *tmp, *dev = NULL;
+    const struct domain *d;
     const struct vpci_msix *msix = pdev->vpci->msix;
     unsigned int i;
     int rc;
@@ -265,7 +266,8 @@ static int modify_bars(const struct pci_
      * Check for overlaps with other BARs. Note that only BARs that are
      * currently mapped (enabled) are checked for overlaps.
      */
-    for_each_pdev ( pdev->domain, tmp )
+for ( d = pdev->domain; ; d = dom_xen ) {//todo
+    for_each_pdev ( d, tmp )
     {
         if ( tmp == pdev )
         {
@@ -282,6 +284,7 @@ static int modify_bars(const struct pci_
                  */
                 continue;
         }
+if ( !tmp->vpci ) { ASSERT(d == dom_xen && system_state < SYS_STATE_active); continue; }//todo
 
         for ( i = 0; i < ARRAY_SIZE(tmp->vpci->header.bars); i++ )
         {
@@ -308,6 +311,7 @@ static int modify_bars(const struct pci_
             }
         }
     }
+if ( !is_hardware_domain(d) ) break; }//todo
 
     ASSERT(dev);
 



From xen-devel-bounces@lists.xenproject.org Mon Aug 30 13:05:57 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 13:05:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175063.319022 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKgz7-00029C-DP; Mon, 30 Aug 2021 13:05:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175063.319022; Mon, 30 Aug 2021 13:05:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKgz7-000293-AH; Mon, 30 Aug 2021 13:05:57 +0000
Received: by outflank-mailman (input) for mailman id 175063;
 Mon, 30 Aug 2021 13:05:56 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YhGR=NV=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mKgz6-00028n-2R
 for xen-devel@lists.xenproject.org; Mon, 30 Aug 2021 13:05:56 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 1c0a22b7-e515-41e8-9fed-4614c4096fe6;
 Mon, 30 Aug 2021 13:05:55 +0000 (UTC)
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur02lp2051.outbound.protection.outlook.com [104.47.6.51]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-33-dyw5BkivMK24LQqLRkA-ww-1; Mon, 30 Aug 2021 15:05:52 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0401MB2336.eurprd04.prod.outlook.com (2603:10a6:800:27::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17; Mon, 30 Aug
 2021 13:05:51 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.024; Mon, 30 Aug 2021
 13:05:51 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM3PR07CA0054.eurprd07.prod.outlook.com (2603:10a6:207:4::12) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4478.9 via Frontend Transport; Mon, 30 Aug 2021 13:05: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: 1c0a22b7-e515-41e8-9fed-4614c4096fe6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630328754;
	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=5CJMcRsTP8YiUEVz+XgCP0XZj5R61TCRxya50P2tErc=;
	b=Pq61/qpfmRjAnAHyeqJogGQ3LNnRBW5ECneESaJu/w6C4GFvahbvd4ZrwNvyQqUXaVrqC3
	3ZHZHDj5cVxs67CTnEjIqhiAPXqFHX/HRP4zmQZQ/774kobbJVcyz2Ym2qSepT+EHAQHAV
	bEFiMEoPT3NIWmu68UFI65Xyx+27OYU=
X-MC-Unique: dyw5BkivMK24LQqLRkA-ww-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=N7Sx/7KVuNeZaizlLP6k+TKAipFhOdNYSERH100VRwTDeq/m39NtlAVSZxHF9eFY0oGIJ30ZV5STWgcSjjYd4TQQz2afMBaL3Rwul4MraZ4kggNf54/nn7XB6kEjjQBi1TW5so86x2FfZRB1+7UpSglrsh/IyGF5tUXZ9l1zydniLDXpU5wXsbUkzt5Ghc/E0uibIqQ+gUspg6Oyh9aERg+v4nZb3vsUEJ/Qv4bmer0lXqiTbKSZHVhToK+u5oswsJIJoLsEo0XkZ2p/RY0r9VupERxRGLm9mltmsTFZsFK5LwOlslLZVB2QmXL6t7eOZAKJbx31TTMJtqHsMtAhdA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5CJMcRsTP8YiUEVz+XgCP0XZj5R61TCRxya50P2tErc=;
 b=bfo6wZd+At0HsS8x5aGlcgxwke1Fd5lhG3qJ8wMDitjhsGsydkYymeXUQtufijfMjnSiejcTUzgnUe1pNOpwQaqnLWhqA48JauSeDqI+nF2OXjMV+x2/FsrQ9gI57QHOsKHLorINs2QCGZr7IyVwsw+tVpSN5HKBBU13qzJPL+1w/hEHAp09OKPN2EVev3aagpdcp1PSB8U0o3JNc5qjzC89rCcLaKwpJ0ommfq49x9LOPNf4SPS2h4vs5kIS605N5UEMLwbgWEK3MrHxKMrjQiCPFEiVJrIIQMLqLQ9UIu3JgQE+DrXtSYX6VCr6JtfdDbuwkEHUupQak+b647bpQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] ns16550: MMIO r/o ranges are maintained at page granularity
Message-ID: <05d055aa-2981-8c0f-33c6-62139859aeb2@suse.com>
Date: Mon, 30 Aug 2021 15:05:49 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM3PR07CA0054.eurprd07.prod.outlook.com
 (2603:10a6:207:4::12) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: e93b2f79-8e13-44f8-bef3-08d96bb6e492
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2336:
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB23361B67F48EDAACF7ED63EEB3CB9@VI1PR0401MB2336.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:5797;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0Ng8LRrmtMzN84pNmmRKxJWrqzNEHSaEMisCo8nG1ubY0TBoTy/bSSkJ48hVOPcEkpnwALTnuxqWz6esNyNQgo3yBAoCZcFGwoWqkDdN6H78tcp3IUUkqgoMqkPXtNlDZxsXFofFVXi849gjoEDHYXXQq52R9N8+07d3Sgh6wSIczpqy1OFdLYDjwhj3An+bzkj5sk2RzO3j7a5STOlF5G1qv7hhbImoTTcUXGysEq2yTsDlJpdS2j9F1cz2Gp6J0FkOa4+6F00u2655mJ0uuFCK8/yP4qzeY6SFl4/6EvyYCKVRFwoDbKHbcbN0ESP2UHV6hEcoHMJZlQGwASS5lHM5P1xH7UGOw1/Ut6ah7xL/pK1c/CcybKvpvgyPHZrEINAebLsKFBYwqBsOTOkVk0nqUJkjH5LpmIzUnJdGOtLIYI2pT+9MTCoc6FS5PiL70U/O2asxqtotjRX/16ViCXHlfVNcwsGC+d1YtbqaEZo9I6+UK0S/2opHaZMYAs7P3/CMcUnZShxaDLIC5KufIGzxOCC71YsfHEzT7LHmPdxwWV2QLxCiHP789DfxSsIWyMKBAVFlC7nw3MPLhABQb/vEoxcZZYHCqBftSas1AuOmnKV2MvrD/yscftf0plDrW60bQrXw1GTrKf6J42RFqzIBO9Dj1nRl9SpbjuByqfGhPCTj9hGxPON4QYhYpAbQv2154aY6ghQKLjjO3NIIfeTsSIKydsizYSnP74lWOCk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(366004)(346002)(136003)(376002)(39860400002)(54906003)(5660300002)(316002)(478600001)(8936002)(2616005)(16576012)(6916009)(26005)(956004)(36756003)(8676002)(31686004)(31696002)(86362001)(66556008)(2906002)(66476007)(66946007)(83380400001)(38100700002)(4326008)(6486002)(186003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?L1llOUNSb3krRFU3czNIKy9ySUcxbHcvNzczRm11SDFHUDJPN21XbWVtdVp2?=
 =?utf-8?B?WloyM3N0YXc4amN0S1dXZ1lNaThQaGNXeVlYU2pGSlBvZk9kZE5PSEVEd2pL?=
 =?utf-8?B?SWJsZEMxR0RuYUZYbEd2OFhvUk02ejJWdldlMENzY05RSktpUk5nemNUamhC?=
 =?utf-8?B?US9OdlM3M1BMYmEvaVNpU1N4NFdnNmtPQ2hjd1Fwc0djUXN3N0pKNXA5Yk9u?=
 =?utf-8?B?amVxMm9JSnpKSk5qOXZXdkYyNWhrTFJ5NzlSaDNSenlxUElTZHMweXowNllG?=
 =?utf-8?B?RWhybjFZWStEUjYwVlRXTDZOQ0U4R1BCMFd1ZTBQcU85UWIzOFVEMGlRZnFV?=
 =?utf-8?B?L2xhWkNxNDE1cGRjWFFHRCsrRDBuWVdVYU45V0ZmaVZQMkJYRC9YUWVtNkdT?=
 =?utf-8?B?eVBYWEtBSW9zVDd4djVUc0V6QTkxa0cvSnZQdWxadU5IaEg3U1JzQ3RiUEFK?=
 =?utf-8?B?Yk1NZjkzWjNUNkRwd2lIN1BUSWUxZDd2dE1TSjlGdlM0QnZkR3ozVTdUL3pB?=
 =?utf-8?B?aEVHMXlKWWFObHVPWGt0UkZjVUZnbXN4cXVrUnJ1WEp6RkhWTzRRM2Mwb0dQ?=
 =?utf-8?B?eFRVdTdRcndJRjhEckgybjRoci9yL0Z3ZmZ6MG5LamEvY2phWkxSeDc5ekZn?=
 =?utf-8?B?ckNyNUJtbWJiWFN0MVlmbzNIeGU5U2RpY01adkJYbE5weUZzblV3cFFjZEsr?=
 =?utf-8?B?VDVNQkV3SkVjbFJsaHAzSEhaNXN0Y0R6TG5sUW1NR3RsdXZmckdETUV4Q3NQ?=
 =?utf-8?B?Q0NNSnpnbzdnbzhyMEplOWJLc1drVGlWMVkwUFVSc051WlVkTGl3RFRVM3Rv?=
 =?utf-8?B?dDhCaWc0dlgwb3dKd1NQeXBhT01xdUkyeVo5YnlJWnNWc084Q2d5YWpTdVg5?=
 =?utf-8?B?YlJ0WXBPVFF2VEJ1dk83NnNmVGNrSmM0bGlMYXZLZHFEZXh2OVR1Y1JjcVJO?=
 =?utf-8?B?R3pyTVpnOFBzR0EvLzI4WXJ6NlhuOXg5ZlJ0Uk5EVFpMWVcxbThRdm1CNmZq?=
 =?utf-8?B?NEV3K3RiV1pFOXRMenJEU2Z1V3RqY0oyMUxYSkhZYXREWC8vVXpsWGluMjJu?=
 =?utf-8?B?UHVlUFRWNTVtQ0tvZnNUbk5Ycmk0dXVIS0lpM3FXeTUrVzBBakNlcDlUREZ0?=
 =?utf-8?B?Z2UvUWFZSmdqU3J2cUsxdWZycU9CSFBIYXRNeFNxaVJuZUMwT0l0elVYVzhQ?=
 =?utf-8?B?MFBQejBadWxybE53ZU00NFl3YkFucktGVVNVZEJnWURJSUk2TFRzQUJnR0Ft?=
 =?utf-8?B?RWdRSW5IbmVpZVNiZGlNZ2RTTUkzeXdyQkJFdDJTUzhjSHJYck5MVEdIcldM?=
 =?utf-8?B?UllTc09nWHlnZUtuRmRDWmpQaURIbEdCdVpjS3pNOHQ1dEt6TjByenVCRjIx?=
 =?utf-8?B?TW90cXh2QkU4dHdEc0dKdGQxL3ZuVGxWbFQrZW52WjIwL2xaSWtjOTA5VVlV?=
 =?utf-8?B?a25ITGVJM0lsL1RFRStMeldRZmYzVG9aLzhDQ2NJeUltaE8wd1VCa2Q5em04?=
 =?utf-8?B?OENweUx4YXNIcnZJd1RjaFF2OHAvbU5YcWZnMjhISmg3Wkc3TnQweHBXRW5D?=
 =?utf-8?B?NU0vTDYzSG1rNFA5MWkzd0llaEpEcWd2NzJCU2tpaEs5bDAvSTdtVm54RHVO?=
 =?utf-8?B?V1RHNkdDODJxZ1hkbjNOSzBhbG44T25XVWtSMGNkYytLblJXTzRFa1IrdUx3?=
 =?utf-8?B?T1ZKS1V5SmdjaDZVbEc0VXpTRXM3LzhCZjU5T3ovNGgxRnMvTVgzZkdGWFVY?=
 =?utf-8?Q?dYBX7qWYP3yVEWOOhvxTn/fbBNlDUPKuPXGoJYH?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e93b2f79-8e13-44f8-bef3-08d96bb6e492
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2021 13:05:51.3667
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: XNaW9Vm2Yq7l/ZnWyYKIa69neD6BJ8HZ6uX68frbHtYJV4nG3DEHjWe6XbmPHaF8SS3mW6vgIQbEw44d4lwaiw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2336

Passing byte granular values will not have the intended effect. Address
the immediate issue, but I don't think what we do is actually
sufficient: At least some devices allow access to their registers via
either I/O ports or MMIO. In such aliasing cases we'd need to protect
the MMIO range even when we use I/O port accesses to drive the port.

Note that this way we may write-protect MMIO ranges of unrelated devices
as well. To deal with this, faults resulting from this would need
handling, to emulate the accesses outside of the protected range. (An
alternative would be to relocate the BAR, but I'm afraid this might end
up even more challenging.)

Fixes: c9f8e0aee507 ("ns16550: Add support for UART present in Broadcom TruManage capable NetXtreme chips")
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -421,8 +421,8 @@ static void __init ns16550_init_postirq(
     if ( uart->bar || uart->ps_bdf_enable )
     {
         if ( uart->param && uart->param->mmio &&
-             rangeset_add_range(mmio_ro_ranges, uart->io_base,
-                                uart->io_base + uart->io_size - 1) )
+             rangeset_add_range(mmio_ro_ranges, PFN_DOWN(uart->io_base),
+                                PFN_UP(uart->io_base + uart->io_size) - 1) )
             printk(XENLOG_INFO "Error while adding MMIO range of device to mmio_ro_ranges\n");
 
         if ( pci_ro_device(0, uart->ps_bdf[0],



From xen-devel-bounces@lists.xenproject.org Mon Aug 30 13:16:46 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 13:16:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175072.319034 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKh9U-0003qn-HN; Mon, 30 Aug 2021 13:16:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175072.319034; Mon, 30 Aug 2021 13:16: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 1mKh9U-0003qg-D8; Mon, 30 Aug 2021 13:16:40 +0000
Received: by outflank-mailman (input) for mailman id 175072;
 Mon, 30 Aug 2021 13:16:38 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YhGR=NV=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mKh9S-0003qa-TG
 for xen-devel@lists.xenproject.org; Mon, 30 Aug 2021 13:16:38 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 80f9372c-0994-11ec-ac87-12813bfff9fa;
 Mon, 30 Aug 2021 13:16:37 +0000 (UTC)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2175.outbound.protection.outlook.com [104.47.17.175])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-24-v_vi2ADxM-qARsdU_K0CWA-1; Mon, 30 Aug 2021 15:16:34 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4944.eurprd04.prod.outlook.com (2603:10a6:803:60::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.20; Mon, 30 Aug
 2021 13:16:32 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.024; Mon, 30 Aug 2021
 13:16:32 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM4PR05CA0035.eurprd05.prod.outlook.com (2603:10a6:205::48) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Mon, 30 Aug 2021 13:16: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: 80f9372c-0994-11ec-ac87-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630329396;
	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=8iPaSGF2Y9vmySV5bHttv69vkJpXpqgQRidWltffVYg=;
	b=YkXaYd2fOWQuI9eMk1kcE7EOsRS7TATxv6Hhuw/6TSnOxZvJpe4ygvNntXCNwHIAGDGkch
	/cJ4pczRS+P70d1Ebgwb8jbeplWoaxfXoDdihEL034uUf5FLL5R7YML64yUIrEEtGai5hH
	ZeV4OGDsAFQPAax+Ab+qBUPASq9jrKM=
X-MC-Unique: v_vi2ADxM-qARsdU_K0CWA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TYDwzSVIsPhYpyizyaiVFqu2ZCTooyH5okmlpG6XzxUoO1PdkLP9uuPXROO38O8gTxVpONtUaZN00YOeUV3oHWkxKXja/UXKTiIOoa5QnORzD7LNn01sqZgrchwIH4BpKZUIxEDm6woncxJ24irR6SR0MtLGdMjSo+4rvXBxbqQTSLPYl04dQq6vmq4oXvBMgF4LH4lSYcqWxQwiO7468nDonUvXF7jNmpEhXCvDebfSKXKUhEKIzq4Viap1Y7wdpjRABiDs6PHVxR/l/FQUEq/iMEavdhuyLmnRwwKQlHXaC3HwxrVBiEWjv7FjwcGjVYbqYc3K8fZtVT2bF9jvQQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8iPaSGF2Y9vmySV5bHttv69vkJpXpqgQRidWltffVYg=;
 b=ht7+IXBNCEY7EjdbFPd7IhJ9raHCPOgKvlDP6Bkaqjdrgw/6aDPENmD4CCqYceHNXxIUJgmVbn3j4D39Aw3gzNhCBbWbfbcHzrj7nB9J00VN9CA8ipNQmjJK1G85cnVHsP2oHyXxIjbtywapuRoeoj1+qbMkdSlX5H0XuHeUE7hgZoG0ahO0B0cPessYUqp73gGcoTqnnMXwS445lLisupA51l6Ur4GIGRgp+hlvP7DAicUWicI4feaf+jtxmDXsEmPI0s/u9gb0ofNKSKfAuzU9vwqbDDhnnoPlJwqnR0ndkUATfnUA+s1HF0Ohe2Unb7oj8QoRT4NUwoOy+dvyFA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [RFC PATCH] xen: Introduce arch specific field to
 XEN_SYSCTL_physinfo
To: Oleksandr <olekstysh@gmail.com>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Juergen Gross
 <jgross@suse.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <1628897304-20793-1-git-send-email-olekstysh@gmail.com>
 <908e2d59-41f0-3bad-6030-b2889d9c5cc2@suse.com>
 <8c622f4f-1931-3e2c-4f6e-9b832e8e435e@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <cdfe8217-3d7a-cc56-2a61-bfea02a348cf@suse.com>
Date: Mon, 30 Aug 2021 15:16:29 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <8c622f4f-1931-3e2c-4f6e-9b832e8e435e@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM4PR05CA0035.eurprd05.prod.outlook.com (2603:10a6:205::48)
 To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 30e058cd-1a8d-4de1-1182-08d96bb86250
X-MS-TrafficTypeDiagnostic: VI1PR04MB4944:
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4944C374DC9CA4D6A5D4BB98B3CB9@VI1PR04MB4944.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Z4503eSgF3rAzsiM36Txt6EAP+Q1oYPk3pSk9TyJksYk09Lj/Q2rXPyLctOvSK/G16H/qg2CeR/HgLuMlvpnIh5Kooun/zut8gm7kkB5WmbeB/zKsI7QmXPRvG+cfHm0E2AN/mV6eTQOj0d7RfS/eYv4i/zYGbXUjPzp/WMiQ6cOe04noY3z7qCRgJIsQqjKRYiXvMavMJ1hCETVxdEOZB0Oh6zX8TOqGZW4kmkGgH3BbkUIkl6LsLd3xM0KPP8wZVkRsvgzaRzVGcxSXAXFRBo9GaW9r1yiCe6q2nsgmecTc0hASEqeDpiNYR0YFSaOolkDVSzL7flqywc6JRC2qwO9tk51MhmH4cYK13OTT5eqGTeqP8lycjV5ZdouLhLL2C20iXGNvwzAeuRHb6apZLOvHo7SNI5hOilX0w6Zey816x5vtf5dbJNUbOhTdZmSNwAH3m1PQ2UdvTzztts8DAb3gHJUx16o6gOHqH+tpEPxnAsp3dEVwWLccaZL+AW0418s/etQjsWD7BpJTMMa8l5ti71i/PylFwuXa4SXEh86X6CrH5B/n+5wrYGq7QEo7Dd2QU8SbOM3D79AE+1M70m8y19EbE9FhHgSngIbfFtWqx10Fjquk9v/9qP5zHw5QM4XQs3Z6WBduQu+Fk7+138Yc12KwZDwJixBu28NxY6AmP95cfjlo+XO2zXEZ+hGVMtGimmXdQh0a+VWWRndeKba187EmcrbX8s2jkgVxtk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(346002)(136003)(376002)(39860400002)(366004)(54906003)(316002)(16576012)(53546011)(5660300002)(26005)(83380400001)(6486002)(186003)(31696002)(66556008)(66476007)(2616005)(956004)(8676002)(2906002)(38100700002)(86362001)(31686004)(8936002)(66946007)(7416002)(4326008)(36756003)(478600001)(6916009)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c01DV3E3d20xbWJ4UmhpUUQ2Wnh0NmRXS1dLNmgwa1hkMGdaOXlLRnJ0UUJm?=
 =?utf-8?B?MjU0TVQyOTYrWUhKdFFMRlV0SXRFQ0NSYWlyamhFVEp5ZFhxWGxXNU5pZC9a?=
 =?utf-8?B?K3FTbmljd1JKVlpBSW4rNzJMSk1RdFR0bjA5QzFBM2RmYytHS2xmSmJaVXJF?=
 =?utf-8?B?SXplTTNDaEE1UDc4OEpTbVM5UFRSZG5XNW5VQ0RvcWlRSVptbE54VmU5Kytk?=
 =?utf-8?B?Z2FlZVpTVGxoOWNCMVdrRVJCeVlIZ29EckFBWlJsdEgyZnFmYWpNcVJ1R0M3?=
 =?utf-8?B?dXRMbmljNUh4UVJVZHp4emFIWllzRjRqRTE2NjJsUWpGL1ZMbE1pRWF6Rlla?=
 =?utf-8?B?OVRhK1A4dTlxSXg0M1hBdm4wcmpXUTB0TDFSRW1pVGlURHV2MHFkSnFPWE83?=
 =?utf-8?B?bXp6RWJCN0JuTTBmQlNUL1FNM25nS085dHJXTkNJeUxKbXBxbzdRUnczaDhT?=
 =?utf-8?B?SkpnNUltK2xWbEFMY3AzUlZvV2JiYnZBcmxvMndyYjEyeGhpUlVwV1VGOUR1?=
 =?utf-8?B?cUtxVnZ1bGx4T2RxNm01MDdUcHdVdm82Vk5qVHhDNnAzbjVMSTZUUTFyQUdx?=
 =?utf-8?B?cWY5ZlFLVFVzMXhEc2Ivc0U2VDZrOS9PcUdxNkJ2RWJzZjMwZ3R5YzUrZEFQ?=
 =?utf-8?B?SEQrZVV1TDg2WGZsRGkxakJpZ0xmRitaUFljZmxPelZDRDlvck1wSS81VW1K?=
 =?utf-8?B?QkwwQ2hpNXRINURuQkFNQW9SYXJLUHlrekV3WEc1Vlg4N1Vaem1LTUdnOXlx?=
 =?utf-8?B?WSt2K044VWw0VFV3T3VEeFFGSVdYWXZ0VHNrUExmSS92S0w4ZG9pT1RSUGto?=
 =?utf-8?B?VlAzL09Jc3ZUYVlqeXJzcWhReEZRdmlXWkI3cXRSYmdZNHI0UXV5ZWVGUzhB?=
 =?utf-8?B?VVc1aDhEazRURFRLZm5rNld1ZW03TElPWmNnaDlRL1ZJb2J3WFNtaVdEb0Ra?=
 =?utf-8?B?SnRibzlabDJxb1d6UmFtUGczaUdsZEVFTnFVOWNHaDZacHRRNDFocDMzd2Rw?=
 =?utf-8?B?a0dLRmsrZWJBSVVtcnRRU3kxK09SeFdEc0lvWWh3SEFMVWo3MEpPWm10bkdG?=
 =?utf-8?B?VmdSNUhMbnNMUVlJZGV6THFoSjRZUTZ2YjMxTVJYNnc0Qmpoa0RkYmZRMDJu?=
 =?utf-8?B?NGs0RHhabVBheDF6d2JoVDN0ckI0NnlnTXRHbG9GczlRa2hVTTgvNU1XTUht?=
 =?utf-8?B?YlNhOWRBWk01ZDh0YXVwSUdoL2p0SGloQVRRUHVEVS94cHF1cDBJbGYrQmha?=
 =?utf-8?B?bW0rY3FqdE53QU9jSW8vMWxHazJkMzVWZjlDSnVBQWo3cWc0eitIeEZNY2JJ?=
 =?utf-8?B?VHNkRFprL2hvZGxnTVFVRzF2ZkZwMUVYMHh5NW8rei9kOE9WSTRITksxYjNr?=
 =?utf-8?B?UTVHQVZMcCtBNGlMSjJaUkVSNTU2RExhY1Fjc3I1b3dnV0ZZcEhveUJsbmRk?=
 =?utf-8?B?OWZtY0t0R056cEZjSzFLczhhOXcwbDhOdC9ZeEtBU3FlV1hMcytKYm9BTWJD?=
 =?utf-8?B?dHh4N1ptSWlzZzh6UjlKSEhtaWZOME4wME0wUENWYk5wdEtvb3dsazBXbDdF?=
 =?utf-8?B?Sm9qcTlPUnQxMEN1RndGcUtUaVl5UFF5U2ppU0hHMkU0YlV2OUNMZGs0OEp0?=
 =?utf-8?B?K2FkbkluUGhobzZlcXdkdnVISHNvRWxXTEhRSWtna2d1UkFCZHg1MDN3d0hl?=
 =?utf-8?B?SWlpeC9COEcxdGlieVRPczhwaytsaytRNDI2NytDYW1tZzBMQVZ5dDEybmFK?=
 =?utf-8?Q?xijs6+5nXFOu40HTMLl7uov+3rI5X6NtLyHLesJ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 30e058cd-1a8d-4de1-1182-08d96bb86250
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2021 13:16:31.8744
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mN0u6h19wivYNLrZPZYKDtS/e2xOmcbcrkS9N2wR5p2T8lDd96T/XkNqGOVZCAOyCsnUpX+qos1LpGKPBs1BCw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4944

On 29.08.2021 22:28, Oleksandr wrote:
> On 16.08.21 10:33, Jan Beulich wrote:
>> On 14.08.2021 01:28, Oleksandr Tyshchenko wrote:
>>> --- a/xen/include/public/arch-arm.h
>>> +++ b/xen/include/public/arch-arm.h
>>> @@ -332,6 +332,11 @@ struct xen_arch_domainconfig {
>>>        */
>>>       uint32_t clock_frequency;
>>>   };
>>> +
>>> +struct arch_physinfo {
>>> +    /* Holds the bit size of IPAs in p2m tables. */
>>> +    uint32_t p2m_ipa_bits;
>>> +};
>>>   #endif /* __XEN__ || __XEN_TOOLS__ */
>>>   
>>>   struct arch_vcpu_info {
>>> --- a/xen/include/public/arch-x86/xen.h
>>> +++ b/xen/include/public/arch-x86/xen.h
>>> @@ -346,6 +346,8 @@ typedef struct xen_msr_entry {
>>>   } xen_msr_entry_t;
>>>   DEFINE_XEN_GUEST_HANDLE(xen_msr_entry_t);
>>>   
>>> +struct arch_physinfo {
>>> +};
>>>   #endif /* !__ASSEMBLY__ */
>> While the term "p2m_ipa_bits" surely isn't arch-agnostic, I wonder
>> whether the expressed information is (the x86 equivalent being
>> hap_paddr_bits, at a guess), and hence whether this really ought
>> to live in an arch-specific sub-struct.
> 
> Well, on Arm we calculate the number of the IPA bits based on the number 
> of PA bits when setting Stage 2 address translation.
> I might mistake, but what we currently have on Arm is "ipa_bits == 
> pa_bits". So, this means that information we need at the toolstack side 
> isn't really arch-specific and
> we could probably avoid introducing arch-specific sub-struct by suitable 
> renaming the field (pa_bits, paddr_bits, whatever).
> 
> We could even name the field as hap_paddr_bits. Although, I don't know 
> whether the hap_* is purely x86-ism, but I see there are several 
> mentions in the common code (hap_pt_share, use_hap_pt, etc). Any 
> suggestions?

Well, HAP or not - there is going to be a limit to a guest's
address bits. So I don't see why it would matter whether HAP is
an x86-specific term. If you wanted to express the guest nature
and distinguish it from "paddr_bits", how about "gaddr_bits" or
"gpaddr_bits"?

Jan



From xen-devel-bounces@lists.xenproject.org Mon Aug 30 13:24:54 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 13:24:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175082.319048 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKhHP-0005St-Br; Mon, 30 Aug 2021 13:24:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175082.319048; Mon, 30 Aug 2021 13: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 1mKhHP-0005Sm-8u; Mon, 30 Aug 2021 13:24:51 +0000
Received: by outflank-mailman (input) for mailman id 175082;
 Mon, 30 Aug 2021 13:24:50 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YhGR=NV=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mKhHN-0005Sg-Vr
 for xen-devel@lists.xenproject.org; Mon, 30 Aug 2021 13:24:50 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 0fbc0a31-09bc-42f3-802b-27e59267f077;
 Mon, 30 Aug 2021 13:24:49 +0000 (UTC)
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur03lp2058.outbound.protection.outlook.com [104.47.8.58]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-10-RwIivbvtPFCQ5dM3KIor6Q-1; Mon, 30 Aug 2021 15:24:47 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VE1PR04MB6669.eurprd04.prod.outlook.com (2603:10a6:803:125::33)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23; Mon, 30 Aug
 2021 13:24:45 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.024; Mon, 30 Aug 2021
 13:24:45 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P189CA0020.EURP189.PROD.OUTLOOK.COM (2603:10a6:102:52::25) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Mon, 30 Aug 2021 13: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: 0fbc0a31-09bc-42f3-802b-27e59267f077
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630329888;
	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=61q6EZ98kQLJpqHj82iKq33gBS5mOJlqXj8nSupFsdQ=;
	b=MqJi100PAxdncuWD+qKy5LCiLCBbl5237+TPKeYK7bXsdwEsUrdrfTLsctjSOmn3dTkdMU
	kzwxFEWsonwZzv6nSVzwGUxQMLWTmTl1aArc+KRDc3PVbPG15F240GSi2hyhtfErBnoxZ6
	Sdf0CRAr1QaZ2gshKZmD4x5upem0nuQ=
X-MC-Unique: RwIivbvtPFCQ5dM3KIor6Q-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nGjA0GqcJX9a32fyvEr8AKUVZjfjetlWodw6/PycSrwAPcQ+GiNOV3Vp+It0LVIM2HcTB1ZTUJMuIm2Wl3+m7QsiELQy9haOs6WhJ60Ra1r4Te/4emq9O9qYFz0Acu4TP04Nt1JlpGvjcn3QFvbHRRCIZexPBClsKGEg4dpbywFZuwG393XOTT+szfTl9B7IY61QK4mjM3V8qUPoXaV12LeRm963daQVd7bY/r1qS1IOSMPDt4K2la5Ocq72U1Y5t4U/N/s25yIIDc1x781c4wxinjmvOXyGk/KeZpuVPTg2OyvFZtlVPMGg4mxmmyi6auhJjlNkwlsmxIato/eS4A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=61q6EZ98kQLJpqHj82iKq33gBS5mOJlqXj8nSupFsdQ=;
 b=natiMdvh+DzhnNLZgvZaiusqA3X/KMyau9IQoRwgnsI+oqcxuyRKyoGBgpwdPxbR3mC58UJYujpat+0ge1HLiUW6doW5m6rcKoI8mNxCqKzTKDOLWB2N93/9R0UyOyHBSeCNJ9FfLdcxF40zw2Thu3H2dP7chx7kFeUCoXsEVhjIwxqAlqH6f5VitWJSD9PBj8dmx5/j1dwqk1JyHF34LC635/2yd58HltnIYfgoCXOGz72oRgWYH4rE8iGU6AXIXkiwJZvy0VUY/iKbhCgwt4s/rxIpOTzGbsuQRAXsjvlZiCSlD+TIP/UCOSseYG7lvVF9fbrPR5EJJ5bMcRcPGw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v3 5/7] xsm: decouple xsm header inclusion selection
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov>, xen-devel@lists.xenproject.org
References: <20210805140644.357-1-dpsmith@apertussolutions.com>
 <20210805140644.357-6-dpsmith@apertussolutions.com>
 <2e4471d4-7d0a-757f-1291-de6e93d1d6f6@suse.com>
 <ba39f827-3fea-faed-9fde-105d03d3b417@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <c40d6fd3-ac7d-c824-32d9-678c7fd09068@suse.com>
Date: Mon, 30 Aug 2021 15:24:43 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <ba39f827-3fea-faed-9fde-105d03d3b417@apertussolutions.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P189CA0020.EURP189.PROD.OUTLOOK.COM
 (2603:10a6:102:52::25) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3a740cac-e04a-4e57-d1d5-08d96bb9888b
X-MS-TrafficTypeDiagnostic: VE1PR04MB6669:
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB6669A1FA73676C908EFAC109B3CB9@VE1PR04MB6669.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:6430;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+HxxsmYQiDjPRzAyriGYX0ibmagYnLZYyyplhEOQI+bD7vE2FkveweOZWKVmi/rsAbFk3HP8hQfDIn0s/eB0h32eiJ3KtXKRHOodzB/cYSKQDzm7wLe1w5/mT0BVqe0gbdD99ZsaF9hI8P2qVttX0oA/7+U8aWz5PPFarXSIEqTib2Huju/asWwnHa+YL81lXO3ObugzWuZxZV6xlwFtmDvgtGqVW4BekKuAT0meQXSyfYKtv8K/T6UN2WdVWWeFH4EaYyOOKjuW9xjdEWj2lEGLOFTkU3vSwhA0QN5WIc/46YUbMg+ofxHzd6bl/lGuZtackVrF+XQJbPlrWmu83tFkEls2qAWRTfGqpAfvu8FSQxeyqgnsDxngPCZSIoOlddrvNW1wPG70dmVScOrMQRxI+Tgn83YWdbtm33WqpYQEgqwLr5F48GSK7NBygH+2MuHtEoP20y0TV8B4qIQAbY2c8LlCbTPdcKBBTpj89gEUXBcMEtbF4CydUnf4nH7RgHKfuWcNyIDXUlzgpKsvRHjrxLWB6gwRUrIghd4SOOfRhImC+mn7Xbbb0WoK7NnyOw61daeEYxXvX5EkIhNVo6lGI2Wa8dUgv8nb5P1xTFfRwA3A5hs6fAstTUCuDWsCtGHRtNy43lCOOrVXpgAS4iEJ7/E4e/2571ZoXj9GBJzf6X4Id7ZQi+7LW0L4FmpoZSpWq1a1xJe0mwftmrR5weUbfpcDEhQrYPejlovZFnS3JJqvAuMPnfUQHvCRZ4Ps
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(396003)(39860400002)(136003)(346002)(366004)(2906002)(316002)(31686004)(66556008)(66946007)(2616005)(956004)(86362001)(4326008)(83380400001)(5660300002)(36756003)(16576012)(6486002)(53546011)(38100700002)(8936002)(478600001)(8676002)(26005)(186003)(31696002)(6916009)(66476007)(2004002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aXdMV0JNeXhQRlB0dmI4MURqZDZpRllub2I3NmFGWGZCUUQxMjN3YWlWNUY5?=
 =?utf-8?B?YmtLRVJTbmtWVHF5THBXbzViOXNSQWQ0Q1NmQW1pdHozTWJtUXBiQ0FXckhy?=
 =?utf-8?B?UnZhZEtZT3F5WHpJTmNPSThNbmRMaUJPdmJBN1JmUW1KWGcwVEtVQk5JUGFa?=
 =?utf-8?B?Z2tjQm53YWlNQlMwNElSM2JZeHRYeXJCVUpraFJKMjZPc2J4ejIzUk9OMC8y?=
 =?utf-8?B?a2Q2Z2h0ZFVRL1h5amJYRjg0T1lXMk9ZbDh0VHJ5ampQdUZsQmdSS0RQcjY3?=
 =?utf-8?B?MXczNW5sQ2ZEMnNONWZCWWZkaXhWUW9ydmVnVjRkNi9Gb0JybmhSSmp0OFVz?=
 =?utf-8?B?Ri9rVzdsdk1HTWcxR2ZsNGw1a2NxTWhPSTVIR0wwY05oM0k5TUEwM1prVEZj?=
 =?utf-8?B?VnlMYlYzOVBxY3ZBYXl0enFvZnZTTTZsZFg3VWEvZ0wwY2UrNTJ4RVdpdjNs?=
 =?utf-8?B?eW5ERy9oaVJpTUN5bmpPbDI1OUNTMStrOEoySmlwTzdFbnlueUYyUWxTL09P?=
 =?utf-8?B?UkI0TVFSOHJ6bTlpNmZWTGp4Ym5QWVM5Mjg5N24rSCtybU1valpxQ1NuQWtu?=
 =?utf-8?B?aUQ2TXdlZzl0VW1XNUpmRUtnQTNjeVBLM3ZvcEZFcytudURyRzNSQXQ2dEtZ?=
 =?utf-8?B?UnFZNzduVUFaR2IzeTgvcVNhelpaNkhrbk5xOWF0dW44WThNTE5LZUZjZ215?=
 =?utf-8?B?S2U2ZkRZZjBOWldtSXljUUNlTkhiNmNjYlRXbk11ZERqZjZJOVZBcURnVDZU?=
 =?utf-8?B?N1FaTlVrcVdqeTRHVk5EQXdWWHJqZVVLSWdaWURVMkNWQmk1MHkzUjlkcUhk?=
 =?utf-8?B?SGF1SDUyZmt1aXhjM3ArVlVsZFd2bTlVdGZjRHhJNzlqbmtZQ1NSaDV3bkRQ?=
 =?utf-8?B?UkdpN2ZEVlE0dW9JbTVlb0dXMGE0UVFPZklZUVgwWHk2c1FOYTY0bkRFRVha?=
 =?utf-8?B?MXRoZlpmby9ySGVLUTc3cmRsM0piV01jSkJKTktLZE4zdHpDZ2k2cHdxcGhq?=
 =?utf-8?B?SFNWQURXbzIzVWREUWVabWF2KzZSRlZWMThEY1JFUW5TUkpXMWJxM3lUYUZX?=
 =?utf-8?B?c3hEWjFTTFdTZUFCeTEyMmtiRy9wT1ZUa0FRQW1HejU2SklWOEtDcDVBeXNa?=
 =?utf-8?B?ck12WjJHajV2N3Z0V0ozSFdzMWNxSU8wTU9tK3pmRFNiVmFjbnF5dFpKZjlP?=
 =?utf-8?B?UHFUVUNTVDBsbzlCNHZzamVQZ0VTaEJNYzk0OTI2RXNoN3FuWXRaaVRJakxw?=
 =?utf-8?B?Zy8xUGxremtld0lxYW1pYVE0dWJ6VWhBODVjK0pYWTNrclF4c2hmbnNnQytE?=
 =?utf-8?B?UmFDK0tuVjBkVkZpR0Y0cTRKOUxXSXdHaUcyTTJ0bVBVdmhvdWhuOWRkZkla?=
 =?utf-8?B?YXF0Z2JGdmVYUUhYNDNsZW5xenF5WmtwTUJmTWl3eXI1bGYzb3ZyZVlmckk3?=
 =?utf-8?B?eExDMUdZTWhHNW5kS003ZGlWcURsd0JUVWwzQW5xWDZRM1RHWUl1U21lVTBS?=
 =?utf-8?B?QWg1UHhnRUFlMTloUDRCckhENTJNYnowZnNab2RTMEVxZG54N0JZZk9qRFRu?=
 =?utf-8?B?SERjVzVRM2xqL2FYcG8ySHpNL29LSFJ0bWdWK2pTVEM4RDJ0UGh6TjRVZG1J?=
 =?utf-8?B?MitjRUZHMkczNU02b0k5ZEJZRjRDVnVTOXdxYWoyaGdvd3ZXaTc2Qk9BOGpI?=
 =?utf-8?B?ZlZkVSs0Y09EMEJIcFN1YkFDNVRSYUVtcEFEeFNrcnpPUi9Ob0hCSWlCb0hJ?=
 =?utf-8?Q?/9ukUxcD/Cep4gGGz4OIh1COZI2uYhZEyVK+kTu?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3a740cac-e04a-4e57-d1d5-08d96bb9888b
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2021 13:24:45.4901
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rtvTpN7GaWdeF8nIM+rtogj/FK37i2AXtjmhEGUNgL4N5BbcEglh2fn5+PFy0rGtQbxRj+kWSiWP25W/eMFOzA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6669

On 27.08.2021 16:06, Daniel P. Smith wrote:
> On 8/26/21 4:13 AM, Jan Beulich wrote:
>> On 05.08.2021 16:06, Daniel P. Smith wrote:
>>> --- /dev/null
>>> +++ b/xen/include/xsm/xsm-core.h
>>> @@ -0,0 +1,273 @@
>>> +/*
>>> + *  This file contains the XSM hook definitions for Xen.
>>> + *
>>> + *  This work is based on the LSM implementation in Linux 2.6.13.4.
>>> + *
>>> + *  Author:  George Coker, <gscoker@alpha.ncsc.mil>
>>> + *
>>> + *  Contributors: Michael LeMay, <mdlemay@epoch.ncsc.mil>
>>> + *
>>> + *  This program is free software; you can redistribute it and/or modify
>>> + *  it under the terms of the GNU General Public License version 2,
>>> + *  as published by the Free Software Foundation.
>>> + */
>>> +
>>> +#ifndef __XSM_CORE_H__
>>> +#define __XSM_CORE_H__
>>> +
>>> +#include <xen/sched.h>
>>> +#include <xen/multiboot.h>
>>
>> I was going to ask to invert the order (as we try to arrange #include-s
>> alphabetically), but it looks like multiboot.h isn't fit for this.
> 
> So my understanding is to leave this as is.

Yes, unfortunately.

>>> +typedef void xsm_op_t;
>>> +DEFINE_XEN_GUEST_HANDLE(xsm_op_t);
>>
>> Just FTR - I consider this dubious. If void is meant, I don't see why
>> a void handle can't be used.
> 
> Unless I am misunderstanding what you are calling for, I am afraid this
> will trickle further that what intended to be addressed in this patch
> set. If disagree and would like to provide me a suggest that stays
> bounded, I would gladly incorporate.

All I'm asking is to remove this pointless typedef and handle definition,
seeing that you're doing a major rework anyway. I'm afraid I don't see
how this would collide with the purpose of the overall series (albeit I
may also have misunderstood your reply, as the 2nd half of the first
sentence makes me struggle some with trying to parse it).

Jan



From xen-devel-bounces@lists.xenproject.org Mon Aug 30 13:25:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 13:25:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175088.319060 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKhIU-00062F-My; Mon, 30 Aug 2021 13:25:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175088.319060; Mon, 30 Aug 2021 13:25:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKhIU-000628-JF; Mon, 30 Aug 2021 13:25:58 +0000
Received: by outflank-mailman (input) for mailman id 175088;
 Mon, 30 Aug 2021 13:25:57 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YhGR=NV=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mKhIT-00061w-FJ
 for xen-devel@lists.xenproject.org; Mon, 30 Aug 2021 13:25:57 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 8597a4f1-76c0-4f95-b893-a89753d0d250;
 Mon, 30 Aug 2021 13:25:56 +0000 (UTC)
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur03lp2056.outbound.protection.outlook.com [104.47.8.56]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-32-B_w0i8RnOvOVGvQKCEeWgA-1; Mon, 30 Aug 2021 15:25:54 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VE1PR04MB6669.eurprd04.prod.outlook.com (2603:10a6:803:125::33)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23; Mon, 30 Aug
 2021 13:25:53 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.024; Mon, 30 Aug 2021
 13:25:53 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0239.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1e::35) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.20 via Frontend Transport; Mon, 30 Aug 2021 13:25: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: 8597a4f1-76c0-4f95-b893-a89753d0d250
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630329955;
	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=YijU97BGAya0YebLzbC8pIWYa7G/7VdXA4ljHZeR9k4=;
	b=Fo+25+So5OEtUC4p2r1NB+t7RCoR/fEJqqyKBfUS7dJ7APsDYK7G8lmB4UVIE7lJF79EzO
	eA3mp57edTfOUipPNY8i1OR6LbhAA+6R/Arz28Zhsj9lO7V6pM5dS6/IfAUnHkxkxzomfE
	8nAjmZ/1x6xCsHVyHGbmzVA3U4c2mLo=
X-MC-Unique: B_w0i8RnOvOVGvQKCEeWgA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UFUmzMUigR9DkqFBStnHUW81tR8hubZoh0j/LFN2/SR+7VZWIbQwKYi7qJMj0AZJCWkKrnCp8FxlGOoB3QjAjJLZqKUY0/f6vl15Kklod5YYiiOtUqk7ZYgyj0egc7gE2JZW9s5EkJ2joBmys2j/y3G/XOqzJvGw8Sz+4QP9scrxR6295C6wEJ9gdtOJgDDGQAaHZPEASLqc85Uo7xFB5Xo/7S+vbGLAuJheHpBVxyk6vNkLfAFy68uXLyDmMu0gWULPTGPtAnIe0FuO/KERA48S89rtpcmbyeCJs/YAmwflfEbSaQwPqNkSnkexKDpaZEthyz05MH/RUVF6M3NYyA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YijU97BGAya0YebLzbC8pIWYa7G/7VdXA4ljHZeR9k4=;
 b=QnppbTxyekhzGDofvIXWeCE4n9ove/o5onFaFje4S2p5p1eeOXGeS00dm7w+2x6o9LPKUyXzcVz30alTClHhlpHrDpJe6+EBXwMkFF74Ir2Ms13blqMtpvZqAYN3Sb7W0zcCq4pzrQaFmdYDQm5a+yLtboOsh8/U8dwYe/0pkw2jt0npxFkgdh9ABEx1zLUppcNl71BdAP8aRraJErL5fDZkOZuqpZuuDEghA8Kru9tv5mUu806jx3w1QFf0sLE80VtmbLFUEC/UdfiLItdsnplFIuUUkwePA0DAIgCUkNiyTUQm4rhx/s3n85T4GvWG+kQ2msqS0VM9AI8YIEmSzg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v3 6/7] xsm: drop generic event channel labeling exclusion
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <20210805140644.357-1-dpsmith@apertussolutions.com>
 <20210805140644.357-7-dpsmith@apertussolutions.com>
 <dc2fbefb-93fb-4574-ef7b-23a9c9a248fe@suse.com>
 <bed0ac0e-b5ba-d8e4-3869-3db493b3c890@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <509a28b0-da33-fc00-1674-c934afae612a@suse.com>
Date: Mon, 30 Aug 2021 15:25:51 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <bed0ac0e-b5ba-d8e4-3869-3db493b3c890@apertussolutions.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0239.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1e::35) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 8f0184c2-e6b0-4546-5c75-08d96bb9b0f7
X-MS-TrafficTypeDiagnostic: VE1PR04MB6669:
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB6669057863A7406093D3BFCCB3CB9@VE1PR04MB6669.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8273;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xjIUbaterPml8j01ou0/g2udkY+1iEE/0xgyV8SKMWMRYT92fMHEEMTSY5aaVYoNB22VPWmxvpjrqX0LgwXDYeDFp2cmdlQQuRrOR2sxfHoshZ2eYFmZ+FGcZ9/IXusXYP1QLfkyvKRoXNmQUen8eBmdS0yXqfyn0tcx4ts5dDVP7sfGlUyX+nAgKcxJxcuIIKjsoUnkdCjkrIZseRBK+Ok/bTOuJQxA5CBeWuUs+ghm8U+6imu5P338zNAY8Yyj8dDYLcj4NjH+DZfcgeAEMAD99Lsj1X69RyofetLAi5OJl9jxcyUwbRGd5Ous7PuAij7fgqsW5KPS6XIfjNrJkcsFJ9oGDlCaYe+jKjO0/xiBcR7X9pSdh/u4Jf6wYsIvMTtqzkVfeTVw/rj2UZ6QzErObblgpkqI4fNDJDeRkYP7xlYrKJT7oc9JqIq7TEznfHyh/IbugaJq7tX1MHekxGnJFYe/FeBokIm9L60DnP6dW/huHbQP3U6l3RqchsU/Wtdm+og6lmm7nMIFIQjRmbV1komVxswauEWAe63CS/6ikXGcqfVLDdt1/XbH7nUXuyAr9YdE37psXv3aY08MV260ETLQzZNrudrQcChPfLIlCxuKpIdh8eV4CdFQa+CkxR7y+OO0PMM6nXqldBKdI+qy+4TeWAnkCRKjR6ldfi5NneoUKBkG8gmLFdE0g+44luMYgTjFFZQdrxhs7/E5pXHOdkGHNiTt7LnDtIeafcADVJ0disQHvrloYWqNYnSQwNTiGrRK6+B5bh5DhhU+5Q==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(396003)(39860400002)(136003)(346002)(366004)(2906002)(316002)(31686004)(66556008)(66946007)(2616005)(956004)(86362001)(4326008)(83380400001)(5660300002)(36756003)(16576012)(6486002)(53546011)(38100700002)(8936002)(478600001)(8676002)(26005)(186003)(31696002)(6916009)(66476007)(54906003)(41533002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c2ZiK0FKV1Z6YlJhRXRxU3BtVUpkZis4WW45ZkZqSnlxZnZ4bkl3Qk5pM0NH?=
 =?utf-8?B?ek5XVmpOSlRNMkpHR3ZOdm9tNGhwQnoxbFhsb3c3MGVPZzl4dzR6aHp3NzZD?=
 =?utf-8?B?WEQrd0FXbmp2bkRNNHNBdWcwVEtlSnBidU9JS21wMURNZDRLV1UyUmRTNGFw?=
 =?utf-8?B?Szk5OEdzY3VIR01TNHdvWFU2UjA4VUhPbStnMVY5bG13elllV1gzVnUwb3dx?=
 =?utf-8?B?anIvWHBGcXRmUFdXS1pGQ09LS3IzclI5TXdHeXVFMlNRQUxXVFJVN21WalIw?=
 =?utf-8?B?UHV2OTVxMU9SZ0J5SGlvWVR3cmorUkNmUDNRSElsWTUwSXRUMDZ2YzJJclhY?=
 =?utf-8?B?V1ZIK2RWdk00ejJsSjFOK3lqemZ6OVozOEFsOU9OeDg4SjlkeXo0OGpKVElY?=
 =?utf-8?B?ZDRKd0RMR2g5VUZOVENSbE4xVmhYeTY4UXdLcHdZaTh3aGx1VEtmaEQ0aTBY?=
 =?utf-8?B?dW90ZFJZUVpyQzZGMTZuUnFqdzdJSTluUTdwTHAzVHFweHp0Ujd2UE91OVZz?=
 =?utf-8?B?a1NCdTNDU2luaGV5czBvNCtvYW8rcjUrNEV5OFpXNnR2VjJwaFg1RnJFclo2?=
 =?utf-8?B?VTVxUXhTaTdZY1lZaTZGbXhJRlFDTGhXeUg3MytLMzBObW1DV3BqUkd4cGl0?=
 =?utf-8?B?ZmFPTkhjaFFNbGJWSmFlc0NPQ1h6ZFNYOHNlZXJYWGdhS28wQWZKeWlOckQv?=
 =?utf-8?B?b0VKckF5MkxXRjQrcHBobWFqa3lnN0x1NHlnWkpGZmQyUDNIVGtGektQenBO?=
 =?utf-8?B?Y3JhMXliTVZhRUdaSkt0T28wSkQrVjh3V2tOVW80ejVQeDROaTVjMnROVEo5?=
 =?utf-8?B?NjdZVU9SZ1VLTnRXbHRnUStpa0Y2VUJ4MXNoTC9nclZ4RGtqSkh3OW5TREZR?=
 =?utf-8?B?YkI3QzFKWjFDbm9wdEVxekh4c1owR0YydTRuV3lROTdOZmE0aUgvOFZMUE1D?=
 =?utf-8?B?eVY3LzI5SlhXWmJiMUxhN2w1MTlPaEEwN2tTZGxVQVZXVmIybEs5dStDUVRm?=
 =?utf-8?B?WHFGdWd0c3l4bUdRK2Y4TktYVEo2THZpY0FvL09la2U3Nm5BNUs1ZXZ0M0F5?=
 =?utf-8?B?LzVSL2c2c2dXZktRV3ZsM1RZNE1RRGxBUjlXTXFLK3k5R09aL1ZhT0hQT0R4?=
 =?utf-8?B?RTNUbDc2SDdFYUMxTkQ1dUh3aFh5NUsyeDhEOTk1NGFkVHBkS3ZUZThuemYr?=
 =?utf-8?B?K1B0RlNnb1BaYjViaGwzWE9weGtkNnpRVUFuUTFtWjBBS0Nxc0xkZFhISitu?=
 =?utf-8?B?NzRkNUpTMFRUN05OYXlocFpsNmVBQWxnbmptVlFTNGJFenBIc2ZFTkM4U29r?=
 =?utf-8?B?ODdrTVo2R3dnWHllVjhNSDJDOEIvVWx3OFgzV2FieUVtTzdIQk5HUitvZjNh?=
 =?utf-8?B?Sm9INkNCOTNhS3pIdGNoaGlDVW1BV2VFUkt0bEZRYmVTelVjdDI3TlBoZkZu?=
 =?utf-8?B?dkEvZWJKM0w0aXBQZ2paaUU0dEpDektITGs1NUNsditpNnJOQWFFcVlKNHBj?=
 =?utf-8?B?NVFHQ29mL2tCM1NDYXJkT25SZDVoQTJveHBMMFpQdFVkdktxeFBNODlZalZN?=
 =?utf-8?B?MXJZQ1lNWTcvT0JuZThCTXdLRjBTZEk1djdzM2NXbC83UnJwdmxZcWdOZk5u?=
 =?utf-8?B?SThuTm1NWkxockRaZytWcTROdmNMc0VNQS9xNUFFV1hRSmFCblZhdjVqTmlz?=
 =?utf-8?B?NmdWdmZ0K04vS3cvOTZDNDlBSHZhQjd4VFVralNJK1F6V3lXZnBaK1prZVhh?=
 =?utf-8?Q?2MCvr5g0W4VCp+Cv8id6pXb3HeszOX68IrEFFez?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8f0184c2-e6b0-4546-5c75-08d96bb9b0f7
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2021 13:25:53.2948
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: B4TynCTp34jW3TmwDX09vRYhCf9o5GyjJgbdrZxiAPUNOlAQ8VrDo5nZRKnKxuJy/u0Uu+XoEEWbC2qn9cD7Tw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6669

On 27.08.2021 16:16, Daniel P. Smith wrote:
> On 8/25/21 11:44 AM, Jan Beulich wrote:
>> On 05.08.2021 16:06, Daniel P. Smith wrote:
>>> The internal define flag is not used by any XSM module, removing the #ifdef
>>> leaving the generic event channel labeling as always present.
>>
>> With this description ...
>>
>>> --- a/xen/include/xen/sched.h
>>> +++ b/xen/include/xen/sched.h
>>> @@ -120,15 +120,12 @@ struct evtchn
>>>      unsigned short notify_vcpu_id; /* VCPU for local delivery notification */
>>>      uint32_t fifo_lastq;           /* Data for identifying last queue. */
>>>  
>>> -#ifdef CONFIG_XSM
>>>      union {
>>> -#ifdef XSM_NEED_GENERIC_EVTCHN_SSID
>>>          /*
>>>           * If an XSM module needs more space for its event channel context,
>>>           * this pointer stores the necessary data for the security server.
>>>           */
>>>          void *generic;
>>> -#endif
>>>  #ifdef CONFIG_XSM_FLASK
>>>          /*
>>>           * Inlining the contents of the structure for FLASK avoids unneeded
>>> @@ -138,7 +135,6 @@ struct evtchn
>>>          uint32_t flask_sid;
>>>  #endif
>>>      } ssid;
>>> -#endif
>>>  } __attribute__((aligned(64)));
>>
>> ... I can see the inner #ifdef go away, but not the outer one. While
>> the (imo bogus) attribute means you don't alter the size of the
>> struct, I'm afraid that's not obvious at all without counting bits
>> and bytes, and hence this may also want saying explicitly in the
>> description.
> 
> I can put the #ifdef CONFIG_XSM back and in the subsequent patch change
> it to CONFIG_XSM_CONFIGURABLE, making this the only difference between
> being able to select the XSM policy in effect or not.

Well, yes, that's one way of addressing my comment. Another would be to
actually justify the removal. (Personally I'm in favor of the former.)

Jan



From xen-devel-bounces@lists.xenproject.org Mon Aug 30 13:34:56 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 13:34:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175099.319074 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKhR4-0007iN-Pj; Mon, 30 Aug 2021 13:34:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175099.319074; Mon, 30 Aug 2021 13:34:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKhR4-0007iG-Lr; Mon, 30 Aug 2021 13:34:50 +0000
Received: by outflank-mailman (input) for mailman id 175099;
 Mon, 30 Aug 2021 13:34:49 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YhGR=NV=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mKhR3-0007iA-52
 for xen-devel@lists.xenproject.org; Mon, 30 Aug 2021 13:34:49 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id a57d58fc-4d50-4af8-88f3-4969fe03bd48;
 Mon, 30 Aug 2021 13:34:47 +0000 (UTC)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2168.outbound.protection.outlook.com [104.47.17.168])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-7-mZiRyILsNwWGqJMBHeZD_Q-1; Mon, 30 Aug 2021 15:34:45 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0401MB2605.eurprd04.prod.outlook.com (2603:10a6:800:57::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.20; Mon, 30 Aug
 2021 13:34:43 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.024; Mon, 30 Aug 2021
 13:34:43 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM3PR05CA0086.eurprd05.prod.outlook.com (2603:10a6:207:1::12) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Mon, 30 Aug 2021 13: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: a57d58fc-4d50-4af8-88f3-4969fe03bd48
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630330486;
	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=OydfQp5+YXHTSznbrPHkkqn3D7DR6PRQpVd4MLB/D6Y=;
	b=Utj8gGZZLXjp6VtwMNw0PwscysDHn0pwcP/rpXPLsQVDzKV259pcoPeh2qPRkKhODlGSHZ
	HCsbMDD+DmKDZui+ci0pa/wwDdGPZl8VeoG8BMRI9wR/nDiWNC8ad3+WHAtLCG8/u36/4N
	nlMFqXhnxY7c1qTLAH2VSS3VXv+/iWw=
X-MC-Unique: mZiRyILsNwWGqJMBHeZD_Q-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SIFWHAIylqMf6VFuBLrcN8QHCMdefUwBy5G/h9wTYCOu8smVO6zPHzk+u3S3Vu1E2AIBAVHHR1fOXMxIzfdimenQrkcpBa42FfgYMyCWZjILMm0Z1BmllvCcmO97TFZu+X7rVMhShcfgQhIm4rSeMnNlzlin4lKRJIWKByzUQOFBd4MwSdkuakPGGm207Nj8x5/T3fqx5FFv51XSv0WWUEteZlkIOsIO6php4O/nIeqSRFZ2e4qGWZY8OlwJycBkXCwmaH3ew1GGJCjeI+9a2628/eeULVQXR0ddmRsNc3QgvNGBjTmAOuIZogYMfwqxYE9AfDSEWPQqFWl0aBR/RQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OydfQp5+YXHTSznbrPHkkqn3D7DR6PRQpVd4MLB/D6Y=;
 b=Fq9lK7yxF2jK8ewDMc1aqA+f47tHG5jFMu/bBOgfCfhxoOZ+6H8By0kIiFGKbVqyPqUGOLxvGUcBWFRkMs0b0eJp3Vb0MKpajAQKWHKZp2Xb79hZj0aSWhzSDNmwUw+Lvi0MzVJyVIyHsaOoXqGSX1K/dKz4lp/dpHvoOAfW99c6kXwsFvvPXlMmH5K6lcSz+dVzd/e3vcTN9x6/x9eTTW4beQrrDdQKHb6PbM2/hOsWLRdqMptfgswehyYVVJPYM17GCJ8HMyon1n933Tw9ympJKzPjpWZOKwVyjRV6CahOv1h9N3DMfjl+S1PU21Vx/tswABtblCO3w74nMG+RoA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v3 7/7] xsm: removing facade that XSM can be
 enabled/disabled
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Ian Jackson <iwj@xenproject.org>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 xen-devel@lists.xenproject.org
References: <20210805140644.357-1-dpsmith@apertussolutions.com>
 <20210805140644.357-8-dpsmith@apertussolutions.com>
 <bf13f9a0-dff6-033e-3632-8fc4f0533a20@suse.com>
 <94d6914c-57d4-e63b-1abe-88ef14186344@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <fb8bc2d1-caa1-3cbf-0796-5578faec41bd@suse.com>
Date: Mon, 30 Aug 2021 15:34:40 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <94d6914c-57d4-e63b-1abe-88ef14186344@apertussolutions.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM3PR05CA0086.eurprd05.prod.outlook.com
 (2603:10a6:207:1::12) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d78b3de2-d46f-466e-520b-08d96bbaecac
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2605:
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB2605FB7FAE7420EEB3C96FD1B3CB9@VI1PR0401MB2605.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:3276;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	imRDZquLQwmqJL2uTG8/u1FmjPMuTFZMtwgAWg+j482/OQcwtvaaE1lkcz4BPq4v6t9xZ0iDg76MV9zfSOQdiGe8xIFqBBMnlT5rOF+Z+yOVA61kolBwEP91sdOdwGKxqhzDd+q8/hxrJvJIdr4Rq+52I+NPdn9y+XVuCS6bJOuonGskXHzbORNS/dcy1gael+mZF3jBJfeVeCyix0EZ699bILVVYsEm6HFN/CP88dyaHlCjxxo+lmOy5hwc64ZLHZY/cszsvHm6SRDco8oAEpbzlvKe8jN/E/LMyNMwl0AaOPMdpM75bcvGQA2n9RcnhkBPn7CXq1yuZU2prO5z0ebtbU3iTgd8RGA79/OCO0pNy/+k2H9UarBdBiBNiQiE08BT5vo/OSjPrIc7RGl175BasOhdUlp6AlBiZgGSv+W/Q5sYK0cbgIO+k1q2q6SA08PQMDcNbldwbCbjeOYoqKgJlalJMJm0Q838zW40wmrafqVLbaXp/0lccdw7fPlTbQrzYRVSmd5ZXceZ+bOdlYrTVbpPGMOcnT0rgHuXMth8HbR+D2XduV6buuOtcntrU6f+0gVO5Pn+3CaxgGoHUmArSj0am83QTHrCfUl6se1Y1CxkBUunacbojvJ8d9OmHBhdvl4WIMfG/DawnPbCgkDpyp0TvZsNPj8qFztfWti5Z7j4aBx5VHgoTmbkkw1gSdEGmyNT8b3C5oMmhCmPJ10fXb5arNo1OFTApAjJda4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(366004)(376002)(346002)(136003)(39860400002)(8676002)(6916009)(186003)(83380400001)(26005)(38100700002)(54906003)(86362001)(31696002)(6486002)(2906002)(53546011)(16576012)(956004)(31686004)(4326008)(8936002)(478600001)(36756003)(66556008)(66476007)(5660300002)(66946007)(2616005)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZzFKVytLZG5MNEZEOUMyeUl5Z3ZjanRYcFY3clZxODZxVVEvdnZpb3ZGNkMw?=
 =?utf-8?B?cUs0Q2pqR1dZelFpYkFjdlFhTDg3VEIyeXpuS1ZGejkyWERRclJKVWtMdzdM?=
 =?utf-8?B?Y292c05YcmNEcXBkakpmM21DejNzUEQ2MlNuN2pWcmFBdEFvMGh3S1pDK3BJ?=
 =?utf-8?B?dzYvUkN5WEhTNXMveVhrVnBOVE9uK00xaElxaWpPbnQzU0hxZGxpU0UzVzRZ?=
 =?utf-8?B?NXNLMVVYZ3BsbHlGclJudm5tMUpzck05SDcyR3lBRVNkblhJQUVqUk9RaktD?=
 =?utf-8?B?QnQ4a3Q0TGtXcmlZME1ZbGxNMnZLdzRwV0tqWjNOc0dhSFIrMThVZ2FSQlp3?=
 =?utf-8?B?czJhRXVrMFl3aEF3bU9FYWR5SWZCSGVzRGlSQzhsR3AzeHdNRSs5RXE4d0w4?=
 =?utf-8?B?ckNUSENMTXVIdENXYVFBakJyYTBaR0NtTFhJZFR5d0NDVVNzZ3NvTElYaWhl?=
 =?utf-8?B?RE5kYXJBc2FuQVBSNGM2RlFFTHZWRXZiYThGc3hQV1RYcXN3WjNuLzd6elhS?=
 =?utf-8?B?UzEwTm1jQVArN1lvdzlZZDVtQW5PVTQ1Y05rUnNsUEFjeVdqT1k0Nm14ZE5Q?=
 =?utf-8?B?S2dYSlpRNjRiRVhreFo2dTl1dThINXlsZTlhaHUxNldXR2E5YlRIY3VTcGk3?=
 =?utf-8?B?dUVsbjZTNGtGY2E2WHFianJqemtxWG5VeDFyZ1VRc2tHRXZuU295VFhLQm5G?=
 =?utf-8?B?bzRtdXliVGRZZ2ZHckxuaHh6KzBxbWNYcFdiT1JpK0krUmxtczFDeTJva1dO?=
 =?utf-8?B?TnMrM25JNGlBMHpNMVFhbk5iOVlLV1BTZVZWYWo1SDdpL2tiNnNVd2ZIbW4w?=
 =?utf-8?B?UWltMEk5b2lud2s3clpSS1FuT0FqQ0J6cHAvQTlkL1l4VFQyMnIrUS9JRHYx?=
 =?utf-8?B?UFVBcGl1R3hUN25tNlJZQ2ZBWW5lQmNJSGRnSGZ6Q29paHc2NXVaeEJKbjh3?=
 =?utf-8?B?WWd1RVl5WVNxTVF0T1U1ZG9OeWJJbEx3STlTc1Z5N0FEQU1YRC9mN3NVc2tS?=
 =?utf-8?B?TG1iT2s2YjhaNjAxQmhWR3NnM0hRdzNPK0RhUmt5UFViWTJyVStLeDltU0Rv?=
 =?utf-8?B?ZFF3aFN0cE55RU5QRFk2cWJwQ2pQdkx3a0VuR05GZjd1cVZEekJrMWZVazM0?=
 =?utf-8?B?OGtBRVlRU3J2RG84V2FDMmVteXhUY3dINllZWGVPK2dKbDhleWRHYU5yaitT?=
 =?utf-8?B?VFhWcjFTN3BoOTZ3T3o1UlUycU5BVHI5VXZteTNCRDVqanI5L0F5STB2ZlVT?=
 =?utf-8?B?TVkzdlo5TW9IVkNPTmF2Nkc2bGRzNkNyckY2OERpMjhsK2xYYm56SHV4TktU?=
 =?utf-8?B?Nk1JS2VvR3h6eUNVbUh2cWk1aC9EanAzVW5iamVPVXdrMjREcUI1Sk1NMi85?=
 =?utf-8?B?aUxXVmVqWXBxNlQxRC9peEhRLzZVZ04xVnlUOVNWejJWSVpTdithaHBCWnNk?=
 =?utf-8?B?cU5sT3ZoQitKcU04QkZjSk9PcFY1UTZTZ1FEZTk1WnJUVnY5OHdMQVVUM1p1?=
 =?utf-8?B?MkF0ZmFkaVhVU0xybDFnNVc4MUFVN0FSbFlxOWtvMEViMTFIdWZpZzZ0L0lM?=
 =?utf-8?B?ZUg4YzJRTHVRL3N5U2t3dEVrSjgvSm1lQ2hrQ3d3U1RFODFPbWVsb3hKRkho?=
 =?utf-8?B?a2h0QUs1SktKNU85MVBCUVhteWFXR293MTZSNkZiSDc4WlFYSmZrcVJXNWRr?=
 =?utf-8?B?OUFvc0Nqa28wemRwU2MxcVZNa3pLN1VHZWcwd1BGSGRIUWlEa1V6REt3TTVF?=
 =?utf-8?Q?YL4caVPHSCbogv+iTZP0kTgwkqWGQy0VmCLfbWp?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d78b3de2-d46f-466e-520b-08d96bbaecac
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2021 13:34:42.9980
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: n15ENJcvrJQd0uIGdlPKV+hWVcI4ltM2Hrx+XwgBVB6UQAeiICXjQYgyqtXCPEcWLdwBcF23IW9moHk9AZXnSA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2605

On 30.08.2021 14:11, Daniel P. Smith wrote:
> On 8/26/21 5:37 AM, Jan Beulich wrote:
>> On 05.08.2021 16:06, Daniel P. Smith wrote:
>>>  config XSM_FLASK
>>> -	def_bool y
>>> -	prompt "FLux Advanced Security Kernel support"
>>> -	depends on XSM
>>> -	---help---
>>> +	bool "FLux Advanced Security Kernel support"
>>> +	default n
>>
>> I don't understand this change in default (and as an aside, a default
>> of "n" doesn't need spelling out): In the description you say "adjusted
>> CONFIG_XSM_SILO, CONFIG_XSM_FLASK, and the default module selection to
>> sensible defaults". If that's to describe this change, then I'm afraid
>> I don't see why defaulting to "n" is more sensible once the person
>> configuring Xen has chosen the configure XSM's (or XSM_CONFIGURABLE's)
>> sub-options. If that's unrelated to the change here, then I'm afraid
>> I'm missing justification altogether. (Same for SILO then.)
> 
> When an individual selects to be able to be to configure/select
> alternative policy modules, they should be the ones to decide which
> one(s) should be enabled and not have presumptuous selections provided
> to them. IOW, the sensible default is to have no modules selected and
> allow the user to enable the one(s) they want.

Just FTR - I disagree. Defaults should be such that a majority would
not need to alter the respective settings.

>>> @@ -282,7 +275,7 @@ endchoice
>>>  config LATE_HWDOM
>>>  	bool "Dedicated hardware domain"
>>>  	default n
>>> -	depends on XSM && X86
>>> +	depends on XSM_FLASK && X86
>>
>> This change is not mentioned or justified in the description. In fact
>> I think it is unrelated to the change here and hence would want breaking
>> out.
> 
> Actually, if you read the help just below it specifically says to use
> this feature requires having an XSM policy (legacy wording for XSM Flask
> policy) to be able to do the proper fine grained delegation of the
> permissions/accesses necessary for a hardware domain to work. This
> should have been made XSM_FLASK when that KConfig option was added.
> Dropping the XSM KConfig option just exposed this oversight. Ack that I
> should have mentioned this in the commit message.

I'm getting the impression that you mistook "breaking out" for "dropping".
I can see the point of the change; it merely shouldn't be hidden in this
otherwise unrelated much larger change.

>>> -static inline int xsm_set_target (xsm_default_t def, struct domain *d, struct domain *e)
>>> +static inline int xsm_set_target(xsm_default_t action, struct domain *d,
>>> +                                 struct domain *e)
>>>  {
>>> -    return alternative_call(xsm_ops.set_target, d, e);
>>> +    if ( xsm_ops.set_target )
>>> +        return alternative_call(xsm_ops.set_target, d, e);
>>> +
>>> +    XSM_ASSERT_ACTION(XSM_HOOK);
>>> +    return xsm_default_action(action, current->domain, NULL);
>>>  }
>>
>> While benign because xsm_default_action() does nothing for XSM_HOOK, I
>> think there's an inconsistency here which rather wants correcting (in
>> a prereq patch): The default hook should have been passed consistent
>> arguments, no matter whether used because of !XSM or because of the
>> module in use left the hook unset.
>>
>> Of course such anomalies are much easier to notice (outside of review
>> of patches introducing such) with you now placing both invocations
>> next to each other.
> 
> This series assumes the logic is correct and is only focused on trying
> to make XSM more maintainable. I would be glad to consider looking at
> what the right security decisions should be in a subsequent patch set
> but will be consider out of scope for this patch set.

Well, I came to make these comments because these anomalies look to
stand in the way of producing a sufficiently small set of wrapper /
helper macros. But since you want to go back to an older version's
approach, the need to correct these as a (series of) prereq(s) may
indeed vanish.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Aug 30 13:42:06 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 13:42:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175108.319094 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKhY2-0000qs-KI; Mon, 30 Aug 2021 13:42:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175108.319094; Mon, 30 Aug 2021 13:42: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 1mKhY2-0000ql-H5; Mon, 30 Aug 2021 13:42:02 +0000
Received: by outflank-mailman (input) for mailman id 175108;
 Mon, 30 Aug 2021 13:42:02 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=krMZ=NV=apertussolutions.com=dpsmith@srs-us1.protection.inumbo.net>)
 id 1mKhY2-0000qf-4F
 for xen-devel@lists.xenproject.org; Mon, 30 Aug 2021 13:42:02 +0000
Received: from sender4-of-o51.zoho.com (unknown [136.143.188.51])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c44ee82c-2aeb-4821-bfd5-deb367491c1a;
 Mon, 30 Aug 2021 13:42:00 +0000 (UTC)
Received: from [10.10.1.24] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1630330915388408.5428746821407;
 Mon, 30 Aug 2021 06:41: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: c44ee82c-2aeb-4821-bfd5-deb367491c1a
ARC-Seal: i=1; a=rsa-sha256; t=1630330918; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=SPaG1S/ViroJLZyPe5xn7fnBsbH9HfSxg6LzeBicxlR6H85dQdJv5ik/4Xw36IGJ1XzlDByKEdWdbiLvfcO4iwyPXFhYkumuo9N0+iqRAY/5O1JpYXDyusKUKEqdFHbTm6llox8SNLkWIbRw/A6pJn9xnzfsaZHdme7+XPTuyZY=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1630330918; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=8mUYezkGPNWlbfPrt0JI7s8sUghWScRmlRM8XYAZqVA=; 
	b=AsIYBqmaW2RpYhD+3076EyUDWmh7d4FzO8WdCHOt3tH3/6it/uYC5Osf+25lG9siRfEQ2avjmEtJANcEZ2OVLhgiUeoAEBDAFoPrsZ1A49mXiCu8aEetlMfE6yW8nn+Rn92WlmmfqP7eRZaZzs915pSSGPkcM3me6cxch0UyR0g=
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=1630330918;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=To:Cc:References:From:Subject:Message-ID:Date:MIME-Version:In-Reply-To:Content-Type:Content-Transfer-Encoding;
	bh=8mUYezkGPNWlbfPrt0JI7s8sUghWScRmlRM8XYAZqVA=;
	b=IEZBGfMSXnbrUGlnGhJTh3MHy86hSlu2a80Pmlh/PjG9NMehw6gIDyiabvRU8FWC
	4LnmPmozpD5Cpc+5gz0yUxGn9bQdheKkdkHOSvCM11s2k63WhV0RLREB0rxaYSAjwW+
	lDNRkQ4Z9TDYR0djahyYhOx901ACHJGJIFEmAxh8=
To: Jan Beulich <jbeulich@suse.com>
Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov>, xen-devel@lists.xenproject.org
References: <20210805140644.357-1-dpsmith@apertussolutions.com>
 <20210805140644.357-6-dpsmith@apertussolutions.com>
 <2e4471d4-7d0a-757f-1291-de6e93d1d6f6@suse.com>
 <ba39f827-3fea-faed-9fde-105d03d3b417@apertussolutions.com>
 <c40d6fd3-ac7d-c824-32d9-678c7fd09068@suse.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: Re: [PATCH v3 5/7] xsm: decouple xsm header inclusion selection
Message-ID: <3c45195e-82af-b543-d00c-40555dad28a5@apertussolutions.com>
Date: Mon, 30 Aug 2021 09:41:53 -0400
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <c40d6fd3-ac7d-c824-32d9-678c7fd09068@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

On 8/30/21 9:24 AM, Jan Beulich wrote:
> On 27.08.2021 16:06, Daniel P. Smith wrote:
>> On 8/26/21 4:13 AM, Jan Beulich wrote:
>>> On 05.08.2021 16:06, Daniel P. Smith wrote:
>>>> --- /dev/null
>>>> +++ b/xen/include/xsm/xsm-core.h
>>>> @@ -0,0 +1,273 @@
>>>> +/*
>>>> + *  This file contains the XSM hook definitions for Xen.
>>>> + *
>>>> + *  This work is based on the LSM implementation in Linux 2.6.13.4.
>>>> + *
>>>> + *  Author:  George Coker, <gscoker@alpha.ncsc.mil>
>>>> + *
>>>> + *  Contributors: Michael LeMay, <mdlemay@epoch.ncsc.mil>
>>>> + *
>>>> + *  This program is free software; you can redistribute it and/or modify
>>>> + *  it under the terms of the GNU General Public License version 2,
>>>> + *  as published by the Free Software Foundation.
>>>> + */
>>>> +
>>>> +#ifndef __XSM_CORE_H__
>>>> +#define __XSM_CORE_H__
>>>> +
>>>> +#include <xen/sched.h>
>>>> +#include <xen/multiboot.h>
>>>
>>> I was going to ask to invert the order (as we try to arrange #include-s
>>> alphabetically), but it looks like multiboot.h isn't fit for this.
>>
>> So my understanding is to leave this as is.
> 
> Yes, unfortunately.
> 
>>>> +typedef void xsm_op_t;
>>>> +DEFINE_XEN_GUEST_HANDLE(xsm_op_t);
>>>
>>> Just FTR - I consider this dubious. If void is meant, I don't see why
>>> a void handle can't be used.
>>
>> Unless I am misunderstanding what you are calling for, I am afraid this
>> will trickle further that what intended to be addressed in this patch
>> set. If disagree and would like to provide me a suggest that stays
>> bounded, I would gladly incorporate.
> 
> All I'm asking is to remove this pointless typedef and handle definition,
> seeing that you're doing a major rework anyway. I'm afraid I don't see
> how this would collide with the purpose of the overall series (albeit I
> may also have misunderstood your reply, as the 2nd half of the first
> sentence makes me struggle some with trying to parse it).
> 
> Jan
> 

If I drop the typedef and start changing everywhere xsm_op_t is
referenced to void, this now adds hypercall.h to the files I am now
touching.

In the end it is not about whether the change is big or small, but that
more and more unrelated small changes/clean ups keep getting requested.
There has to be a cut-off point to limit the scope of changes down to
the purpose of the patch set, which is to unravel and simplify the XSM
hooks. And this is being done so, so that the the XSM-Roles work can be
introduced to bring a more solid definition to the the default access
control system, which itself is needed to bring in hyperlaunch.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Mon Aug 30 13:46:52 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 13:46:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175115.319104 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKhch-0001Vm-7f; Mon, 30 Aug 2021 13:46:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175115.319104; Mon, 30 Aug 2021 13:46:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKhch-0001Vf-4e; Mon, 30 Aug 2021 13:46:51 +0000
Received: by outflank-mailman (input) for mailman id 175115;
 Mon, 30 Aug 2021 13:46:49 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YhGR=NV=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mKhcf-0001VZ-Gu
 for xen-devel@lists.xenproject.org; Mon, 30 Aug 2021 13:46:49 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id b85d5884-0998-11ec-ac8f-12813bfff9fa;
 Mon, 30 Aug 2021 13:46:48 +0000 (UTC)
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur03lp2055.outbound.protection.outlook.com [104.47.8.55]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-38-MXQ15mMNOuqS97pH7G1s3w-1; Mon, 30 Aug 2021 15:46:46 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0401MB2608.eurprd04.prod.outlook.com (2603:10a6:800:4f::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23; Mon, 30 Aug
 2021 13:46:44 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.024; Mon, 30 Aug 2021
 13:46:44 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR1P264CA0007.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:19e::12) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Mon, 30 Aug 2021 13:46:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b85d5884-0998-11ec-ac8f-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630331207;
	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=8XsJq5znX1alfF1QVv2aA5Et7/PZa2fUuK3jKBKwtJM=;
	b=YJD9vV6uGNeLg1lLMNgIB0+VQQp/uAaG4rXdkpgxDThpOQbJaOOwhI1K3n60bLAF/1Duze
	yofCwQMFpu1/Ve41J3WMQV1SHkmjDg3NeRlAVllAJZM4yov7VkllJJcNREvBqF55lXmoG9
	vA6jqx1qwGiZYxuvZVxFkI5+V5KIdSU=
X-MC-Unique: MXQ15mMNOuqS97pH7G1s3w-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PkX4fISPPj1/RwsuEAjIH3UcYzII40JBz65HjuEzL436RrSlbqrnTDMCFc+4WrRtkYjFrLXNOvERWALWxtFRKcuQcqQc635zHT40fPDCCAkWq+4jQvl/l8KEAXPrmM1SdV/hSnlZyuXWcoGTPz5KYh1E8J9ONjizAWCsTojuVUoxCqKCjFrINMKeJLxv3KaipW2uE8FEWqvPZKBs6z456e02TqkX9x6cxcUvPsmd22CVPoBMNDalBuCD4o5tZoftTTAn8bGYDDIxuggoCRWIkIfkBEUhUKyf6zshc2ThbOikf0w4w5vLJmAMDu80Qfm0zp4XxV8VpBMnniYwfWjhmg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8XsJq5znX1alfF1QVv2aA5Et7/PZa2fUuK3jKBKwtJM=;
 b=SpzAIxSLIM9Wj1GqIDwMHTgjPww6F6DLEph1NfPYhPPHuXS/XI0V7/M0zCvXpD2vMwcwqe6s2blyyO8xRSppoep/MZBvnsu1H3r3X527W/4YCaXRM42RFEmCeCU52ECQxVAeex5b3KiRXx/+dxbazAsE47boN1GQiqKJ8OwnlS/rbmTHPV841KSWgWBS589DvLY3c7rTkcIY29NnCxaGgy/CKuy1TdmDuTwTZYwZJOq3KLKiThp0X3zb85MjewyN8PWzzNu5yi2yc0FC1agTBRXDWXnszrxf3Sn2Mi8WF76Tw9GMCLMOsks0KsMzMygmaDLQiPacbTqYoc/KTJMRwg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v3 5/7] xsm: decouple xsm header inclusion selection
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov>, xen-devel@lists.xenproject.org
References: <20210805140644.357-1-dpsmith@apertussolutions.com>
 <20210805140644.357-6-dpsmith@apertussolutions.com>
 <2e4471d4-7d0a-757f-1291-de6e93d1d6f6@suse.com>
 <ba39f827-3fea-faed-9fde-105d03d3b417@apertussolutions.com>
 <c40d6fd3-ac7d-c824-32d9-678c7fd09068@suse.com>
 <3c45195e-82af-b543-d00c-40555dad28a5@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <757e852c-5553-1d1f-96a9-10eba5a31c72@suse.com>
Date: Mon, 30 Aug 2021 15:46:43 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <3c45195e-82af-b543-d00c-40555dad28a5@apertussolutions.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR1P264CA0007.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:19e::12) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 28e62c9f-a4a1-45dc-27c7-08d96bbc9ac1
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2608:
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB26087D2216783C35AD4C1F42B3CB9@VI1PR0401MB2608.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:7691;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZGxdEhCjxhqlBzNZ7Ig8emmphY02DWQs73Le4GRYld1EOAxujQza6Ug40FaYeEKBwPRlgmHCwnR4aNthoE36LlluO55dBZXuyoP4RDELy6VWhR7jh6r8NC3dd9Hpi7k1MKQcRHZvYfafEEwJ+Di7tNdlOxsM7GjouJlo+3cqKrWWiFPvjm+NlxPu9jXmRK1Paamj0PZCnDeob0q50Bi1GmrviESrI6YrCVlhAiVqQbv5R7YQCwwNHHi/k+Bm9uQmTBBKTg/s0zhp3Cl3icrwwOLcgsnPF/Lk65374vYLFHPfPkm0wwgLfZ/Jr/GgANvHgBCOCYQM9wI1x6LS1PGRJPUQr5C5wqjQtmkargthBAOc6KCulU0n+eWgUax+mkmnWX55V5TBMMyRhR0475/+LsnYBT9h288FGtHLgkOPUbIGShyDj4PLrRQk6C9/flsCVBGycm8ipBt+IlX6mQdcmIASvTeZ7tKLk+XJZR+8ykMPehmkBqZlS0oWpC4/8+OFUDprMzHNHQx3AVzJVmRXJCeMNid+UZX2tMgZcM+9jvcFNHa+B4+oaRY1ERkfCxPAozw868RWZU26AnvJe4YkxHTsb40wDc64imie3+qrf0mTBFtbrDqD4xnYj85MVsDQ8HQ9HNEeVZ18sFOenjet5mqBte5TzQ12TC1NWVB7X4OmH0ZVwaPPymAN0Ih5wCrsBf4dBBiFOqWvu3OReL8yAjaaXWDtJgUKkCJJKbm4cG3bgZfHvfHQzwodDKMWWBcM
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(83380400001)(316002)(6486002)(508600001)(186003)(66946007)(66556008)(66476007)(31696002)(5660300002)(31686004)(2616005)(26005)(4326008)(8676002)(8936002)(86362001)(53546011)(956004)(38100700002)(2906002)(36756003)(6916009)(16576012)(2004002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T2plY0NNRGF5V1pES2lqSnU3aUZSL2VFT2R6NTdDWEdDUWl2M1RiZHBDYjhG?=
 =?utf-8?B?cmZoVFU3cENKZkx5UmlMQUtPTHRjcitnSjdkalhmdHEwYTc3ZnU5NVVaNFNj?=
 =?utf-8?B?WXlGeUQwQnd3SThleUxkbWJtT2NtSXRnYTdvclErc0ZHdTh4V2Zud2lLd0Q0?=
 =?utf-8?B?TFV3K3kxNVA1U0VsdjNpY2Y4MHljOWEzN1JoK1dDWHNTOWwwbFNoUUZIV1Zz?=
 =?utf-8?B?c1QwN2RUYlUyZkh2OHplakh4a2p5M0w1QVNnaVRrWFRnT0JPMHdGaStJN1Zl?=
 =?utf-8?B?Um9VdjZGTXNINEtCb2s1R2tkTEFWWHdrcDBvRkZySytja2N3aktLSG9PZXFo?=
 =?utf-8?B?MkJPM2FkdlpKNUxWMDVuK0dIckhZcExTdVR4clFqVDIzcVcxZWFaWTRBeC9D?=
 =?utf-8?B?U0hYUEV1VHBjalFVSjJ2Vkw5MXFpSVIyZ0R4ME5oL1VheDU0Ymo1QW9zVGxX?=
 =?utf-8?B?NWNxcEtWc0p5QkxJMGhZMFdSd0RsdkhjZ3JmWDBkTlM1ZDVBOUNwTU5BVWZX?=
 =?utf-8?B?NjFZV29lckpiWGJIeGVtQmZrMGkvODZSVk9QWFRqUlM2SkU4bEtpQ3VYVHk1?=
 =?utf-8?B?elRlR1l0TFNQa3R6UTBBbHh3ME9IN2Riby9kQ2lOTVBHZ3ZLMEcwYkZFMjVN?=
 =?utf-8?B?VEY2Si9NbVV5dWloMEZlNkttN1QrWUhsNU85WEM0MFdoMVRJYkU1OXNJSXVs?=
 =?utf-8?B?eFNXdU1iNS9sN1F2TnQwVjhzM0NwWm9LYk4zRVJpRkIxSUdncC9YaFpkVFNJ?=
 =?utf-8?B?NFo4UDAzRTFFRVc0dDUxUlcyMzZoVUpXbXdDTGFKbTN3UEp4RS9ad1g5Yitr?=
 =?utf-8?B?dE1ZUnlvbzRzeHg4ZUJITmVlR0xHRWJFTTIrcmRXUDJqQ2F5d0g5bGpXcVVP?=
 =?utf-8?B?VVFVT1ozOFBOOWYzWmtIV2xKTTk5WjNkeXJFSXdreGlCa2U3VDBLZUFSOTRZ?=
 =?utf-8?B?ejlUdkJPdm5uMVVqSHJ1Qmk3d0ltSU5PaDViL2xmM1piazVDTHVUVmlTcCsw?=
 =?utf-8?B?Skk0eStMYm1KTzNEb0VPSjJ6ajU2dGZGZVhBV05Rek9TTGV1bE04U0RNMlhQ?=
 =?utf-8?B?L2U2Ym9oaDVwNkYxWFRjSW9WN2JOZGlISG1ybFVVTFN5aGdFMFhoZzBpZzJi?=
 =?utf-8?B?NEIvSGUxeDdzTE4yOHU5WERqRHpndmpWY3NTb0NSSUhHUzBYOEZEMW9yWmJj?=
 =?utf-8?B?V0ZXSW1zR3VoTkJQUGVWUWpoRmFDazVoZXlVTHlzN0R6b2RvOXdnbmZiNGFP?=
 =?utf-8?B?cVhTaVRVYmRHeHJ5dGNRS3B5cUVYZkxyMEtkd255SGxBMkxNT1F2MmdXZ3Fq?=
 =?utf-8?B?WTRWRmNaTHJlaTdBY3psMGEwOGJYTjJBS3FQdjFnWUg3d0FMSHhoYndhWWxx?=
 =?utf-8?B?ZXNrUC9FbUZxajlSb0Fza1dRdmlqZXpqMmRUMnQrc2dOL3RUa0pReTM4VFdU?=
 =?utf-8?B?YWZTeFdObWE5eW8rQ3B5SG1yeVhVNVpGUnVWbk1jTVlUcnBSQVFxWXk3cnRh?=
 =?utf-8?B?UXhUeU9CcEJiU0lUa1RjVVMwWVl2OVpJdzZnZUljdVEwc1ZKVkJ2V3J5bll5?=
 =?utf-8?B?d2FUNERCWFR5MW5SeTlDVUovVGxoeXl2UjZWUjM4RmxUWWttdUN5SW1pRVor?=
 =?utf-8?B?Y0JOdVBBaWE2ekhpOUx3djZ1WnhDa0FQUnZxcndROEZNdlpXNjU5Uk9vdVJ5?=
 =?utf-8?B?YllUa3ByRHFJQ3JwWVQ4akdXZHNvZTdKMkh6NEduMFBKYXRBR2xWQ0JhQTZk?=
 =?utf-8?Q?4LxAvYB+CDzegUGsaWNXGwq+jaP0cnQL+IJ0atL?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 28e62c9f-a4a1-45dc-27c7-08d96bbc9ac1
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2021 13:46:44.4699
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ImL0vGVDHs5A8Rf3CMuD8wPD+SUQP/oZGBsK99fs8hsfc3WjWBTVQrXEvWre9vH7ncoLGOhac6ejbsb+QVBszA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2608

On 30.08.2021 15:41, Daniel P. Smith wrote:
> On 8/30/21 9:24 AM, Jan Beulich wrote:
>> On 27.08.2021 16:06, Daniel P. Smith wrote:
>>> On 8/26/21 4:13 AM, Jan Beulich wrote:
>>>> On 05.08.2021 16:06, Daniel P. Smith wrote:
>>>>> --- /dev/null
>>>>> +++ b/xen/include/xsm/xsm-core.h
>>>>> @@ -0,0 +1,273 @@
>>>>> +/*
>>>>> + *  This file contains the XSM hook definitions for Xen.
>>>>> + *
>>>>> + *  This work is based on the LSM implementation in Linux 2.6.13.4.
>>>>> + *
>>>>> + *  Author:  George Coker, <gscoker@alpha.ncsc.mil>
>>>>> + *
>>>>> + *  Contributors: Michael LeMay, <mdlemay@epoch.ncsc.mil>
>>>>> + *
>>>>> + *  This program is free software; you can redistribute it and/or modify
>>>>> + *  it under the terms of the GNU General Public License version 2,
>>>>> + *  as published by the Free Software Foundation.
>>>>> + */
>>>>> +
>>>>> +#ifndef __XSM_CORE_H__
>>>>> +#define __XSM_CORE_H__
>>>>> +
>>>>> +#include <xen/sched.h>
>>>>> +#include <xen/multiboot.h>
>>>>
>>>> I was going to ask to invert the order (as we try to arrange #include-s
>>>> alphabetically), but it looks like multiboot.h isn't fit for this.
>>>
>>> So my understanding is to leave this as is.
>>
>> Yes, unfortunately.
>>
>>>>> +typedef void xsm_op_t;
>>>>> +DEFINE_XEN_GUEST_HANDLE(xsm_op_t);
>>>>
>>>> Just FTR - I consider this dubious. If void is meant, I don't see why
>>>> a void handle can't be used.
>>>
>>> Unless I am misunderstanding what you are calling for, I am afraid this
>>> will trickle further that what intended to be addressed in this patch
>>> set. If disagree and would like to provide me a suggest that stays
>>> bounded, I would gladly incorporate.
>>
>> All I'm asking is to remove this pointless typedef and handle definition,
>> seeing that you're doing a major rework anyway. I'm afraid I don't see
>> how this would collide with the purpose of the overall series (albeit I
>> may also have misunderstood your reply, as the 2nd half of the first
>> sentence makes me struggle some with trying to parse it).
> 
> If I drop the typedef and start changing everywhere xsm_op_t is
> referenced to void, this now adds hypercall.h to the files I am now
> touching.
> 
> In the end it is not about whether the change is big or small, but that
> more and more unrelated small changes/clean ups keep getting requested.
> There has to be a cut-off point to limit the scope of changes down to
> the purpose of the patch set, which is to unravel and simplify the XSM
> hooks. And this is being done so, so that the the XSM-Roles work can be
> introduced to bring a more solid definition to the the default access
> control system, which itself is needed to bring in hyperlaunch.

Well, yes, you effectively suffer from XSM not having been actively
maintained for a number of years. As said in the original reply, I'd
prefer my ack to cover all the suggested changes, but I didn't mean
to insist. If this particular one goes too far for your taste, so be
it.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Aug 30 13:55:26 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 13:55:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175123.319116 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKhkv-0003AK-99; Mon, 30 Aug 2021 13:55:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175123.319116; Mon, 30 Aug 2021 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 1mKhkv-0003AD-4C; Mon, 30 Aug 2021 13:55:21 +0000
Received: by outflank-mailman (input) for mailman id 175123;
 Mon, 30 Aug 2021 13:55:19 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=krMZ=NV=apertussolutions.com=dpsmith@srs-us1.protection.inumbo.net>)
 id 1mKhkt-0003A7-SU
 for xen-devel@lists.xenproject.org; Mon, 30 Aug 2021 13:55:19 +0000
Received: from sender4-of-o51.zoho.com (unknown [136.143.188.51])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 35cf6471-a04f-4ce5-86d5-b9cccfb617b0;
 Mon, 30 Aug 2021 13:55:18 +0000 (UTC)
Received: from [10.10.1.24] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1630331713341733.823315336791;
 Mon, 30 Aug 2021 06:55: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: 35cf6471-a04f-4ce5-86d5-b9cccfb617b0
ARC-Seal: i=1; a=rsa-sha256; t=1630331716; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=PbB6P2HXw2EI+ixGCdGVYncmGDna6d1Mq6WbHg7h4dhLOyUG7SrP6T3HR3HMB+iaJwMWvifG7GE6Fbipbd+vU25hs/eo7Rd0IsgpWo/SbgDOcad9CjGGg2t2oyvKampHxxo5XtL1jqKRYr2sZogENalbOoWDuYMy7pSdY2HwN+A=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1630331716; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=Gn0cfbkeGjQjzfWY994ePmrWzxllu9aRXw/fE6+/0OU=; 
	b=cSAwqB3au9FVMVsree6RjTf2rfmk6ob8FMgSNkXT3mZjSxbqyouiyfy8a3aQgzvdgKgqsX0W1eVpuAkKcwBzlZPUJHzS+R9T1esc0xo3hp2AyS/6W9Fd+4eToewv3vSQgvd4AncjriVPYhWQ70/wAwTAF68v35zbyzrqGuc1pJ8=
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=1630331716;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=To:Cc:References:From:Subject:Message-ID:Date:MIME-Version:In-Reply-To:Content-Type:Content-Transfer-Encoding;
	bh=Gn0cfbkeGjQjzfWY994ePmrWzxllu9aRXw/fE6+/0OU=;
	b=FoDQgwNaqM8bU2DASM8aWzXi67R4vSFj8zq8PWVEOQMTlVl9o/6vbqByxuqNbCPA
	al/rv4eAFCjbWvyhnfTijQmz5npy/b/1lqse+XhgVXpm8G23isHNayzKuQodG+CjHyD
	lS1AAPy4goVQNIe/uu9ajbKdbIVJwpg8uYbzF32Y=
To: Jan Beulich <jbeulich@suse.com>
Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov>, xen-devel@lists.xenproject.org
References: <20210805140644.357-1-dpsmith@apertussolutions.com>
 <20210805140644.357-6-dpsmith@apertussolutions.com>
 <2e4471d4-7d0a-757f-1291-de6e93d1d6f6@suse.com>
 <ba39f827-3fea-faed-9fde-105d03d3b417@apertussolutions.com>
 <c40d6fd3-ac7d-c824-32d9-678c7fd09068@suse.com>
 <3c45195e-82af-b543-d00c-40555dad28a5@apertussolutions.com>
 <757e852c-5553-1d1f-96a9-10eba5a31c72@suse.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: Re: [PATCH v3 5/7] xsm: decouple xsm header inclusion selection
Message-ID: <468a5f19-e286-fc02-544a-afc741109cd3@apertussolutions.com>
Date: Mon, 30 Aug 2021 09:55:12 -0400
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <757e852c-5553-1d1f-96a9-10eba5a31c72@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

On 8/30/21 9:46 AM, Jan Beulich wrote:
> On 30.08.2021 15:41, Daniel P. Smith wrote:
>> On 8/30/21 9:24 AM, Jan Beulich wrote:
>>> On 27.08.2021 16:06, Daniel P. Smith wrote:
>>>> On 8/26/21 4:13 AM, Jan Beulich wrote:
>>>>> On 05.08.2021 16:06, Daniel P. Smith wrote:
>>>>>> --- /dev/null
>>>>>> +++ b/xen/include/xsm/xsm-core.h
>>>>>> @@ -0,0 +1,273 @@
>>>>>> +/*
>>>>>> + *  This file contains the XSM hook definitions for Xen.
>>>>>> + *
>>>>>> + *  This work is based on the LSM implementation in Linux 2.6.13.4.
>>>>>> + *
>>>>>> + *  Author:  George Coker, <gscoker@alpha.ncsc.mil>
>>>>>> + *
>>>>>> + *  Contributors: Michael LeMay, <mdlemay@epoch.ncsc.mil>
>>>>>> + *
>>>>>> + *  This program is free software; you can redistribute it and/or modify
>>>>>> + *  it under the terms of the GNU General Public License version 2,
>>>>>> + *  as published by the Free Software Foundation.
>>>>>> + */
>>>>>> +
>>>>>> +#ifndef __XSM_CORE_H__
>>>>>> +#define __XSM_CORE_H__
>>>>>> +
>>>>>> +#include <xen/sched.h>
>>>>>> +#include <xen/multiboot.h>
>>>>>
>>>>> I was going to ask to invert the order (as we try to arrange #include-s
>>>>> alphabetically), but it looks like multiboot.h isn't fit for this.
>>>>
>>>> So my understanding is to leave this as is.
>>>
>>> Yes, unfortunately.
>>>
>>>>>> +typedef void xsm_op_t;
>>>>>> +DEFINE_XEN_GUEST_HANDLE(xsm_op_t);
>>>>>
>>>>> Just FTR - I consider this dubious. If void is meant, I don't see why
>>>>> a void handle can't be used.
>>>>
>>>> Unless I am misunderstanding what you are calling for, I am afraid this
>>>> will trickle further that what intended to be addressed in this patch
>>>> set. If disagree and would like to provide me a suggest that stays
>>>> bounded, I would gladly incorporate.
>>>
>>> All I'm asking is to remove this pointless typedef and handle definition,
>>> seeing that you're doing a major rework anyway. I'm afraid I don't see
>>> how this would collide with the purpose of the overall series (albeit I
>>> may also have misunderstood your reply, as the 2nd half of the first
>>> sentence makes me struggle some with trying to parse it).
>>
>> If I drop the typedef and start changing everywhere xsm_op_t is
>> referenced to void, this now adds hypercall.h to the files I am now
>> touching.
>>
>> In the end it is not about whether the change is big or small, but that
>> more and more unrelated small changes/clean ups keep getting requested.
>> There has to be a cut-off point to limit the scope of changes down to
>> the purpose of the patch set, which is to unravel and simplify the XSM
>> hooks. And this is being done so, so that the the XSM-Roles work can be
>> introduced to bring a more solid definition to the the default access
>> control system, which itself is needed to bring in hyperlaunch.
> 
> Well, yes, you effectively suffer from XSM not having been actively
> maintained for a number of years. As said in the original reply, I'd
> prefer my ack to cover all the suggested changes, but I didn't mean
> to insist. If this particular one goes too far for your taste, so be
> it.
> 
> Jan
> 

I think we can agree that XSM has not been receiving appropriate care
and maintenance. It can't all be fixed in one go and I am trying to step
up to get it back into shape. Since this is really undoing a masking of
void, I can add this and the risk is very low of breaking something
else. Which this is my biggest concern as I see new files getting
brought in with each cleanup requested.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Mon Aug 30 14:22:13 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 14:22:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175135.319127 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKiAf-0006oN-Bf; Mon, 30 Aug 2021 14:21:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175135.319127; Mon, 30 Aug 2021 14: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 1mKiAf-0006oG-8X; Mon, 30 Aug 2021 14:21:57 +0000
Received: by outflank-mailman (input) for mailman id 175135;
 Mon, 30 Aug 2021 14:21:55 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YhGR=NV=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mKiAd-0006oA-7D
 for xen-devel@lists.xenproject.org; Mon, 30 Aug 2021 14:21:55 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 4746e4cf-ac10-440c-81b6-d8526a2208cf;
 Mon, 30 Aug 2021 14:21:51 +0000 (UTC)
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur02lp2052.outbound.protection.outlook.com [104.47.5.52]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-38-PyzHeDe2Mt2FblOKgDm-nw-1; Mon, 30 Aug 2021 16:21:49 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5325.eurprd04.prod.outlook.com (2603:10a6:803:60::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23; Mon, 30 Aug
 2021 14:21:47 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.024; Mon, 30 Aug 2021
 14:21:47 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P192CA0018.EURP192.PROD.OUTLOOK.COM (2603:10a6:102:56::23) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.18 via Frontend Transport; Mon, 30 Aug 2021 14:21:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4746e4cf-ac10-440c-81b6-d8526a2208cf
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630333310;
	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=xii7PDzU4s36YozdzydL5n2RSRE7oBhPf5oF5CiDtG8=;
	b=HDvvzHp+fmWhWWj8eL8KI9ofhRRYL5JYaR6TDCk0+ve2iwzMinV9DtTSedIAXkuq1D1kZ1
	NESBETcD0uy7VX4OPw67LAkzbvIZEeSIpmo0tBSgAyeBgxrLi/n056+9Si0fJde8ybeMJ2
	LQOCqfi24rjisCXpXc8eIVfEXI3dS/s=
X-MC-Unique: PyzHeDe2Mt2FblOKgDm-nw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=G4SNdw6aemzIRsXCKbMm+FqFHLuERGgNJMfvfYXabkqb6B3o0cMo8n+0hF0RjD/IDsOqr5cGYPfu3kLA3779uzJTWL713iSJ+0wZMMgHQBQNck8tRjmOlsW8wIkDRfU8ylmeZ0GOHYD5iXXgAy7AZpIoD/YLHDhzOLRDq0eb+3NRJQepVq3AiKCrfU1qzw/EEPLHQxKyFM8t5j4UtGITRD302VLSuHqT+7MHUdxoRS9wps4UvxuQebLj0qUuwfHPuqgbnCZSxoihRaF8ebkBHZAwDwkkesV8piF3kpVnW/1IsgkdGjU679nT2OVu7RyeRGfv9p3tuwSRVOxrrsmczw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xii7PDzU4s36YozdzydL5n2RSRE7oBhPf5oF5CiDtG8=;
 b=dk3s7f92hheRZoFpNhEDa5o1KOxO9wonW9foJh5NU0AyHU54P7JCYjeSISIlKLRuJV84N3jXKaRDFhIJ/BVyVpx/V4tUjjc4BLXT//W2jUWBkBSjY+bXTboN4LWtqcTXWdT6ZNPI24r6eYbtBYuc7pmyTeHDksL579XCfsYFpsZ9m2Ifhjl6mqoWXkD0AXTr3qI9DnagjVLwYR+u3N6XVDBI1ZPOJHhkCtYwJ4cyzagOS8ohnXSY8k52uzCxguAi4NEKpjJYRcc2es93Ad6dIZ3er5B3W+tX21PGn/ihhpragsg+zT0VU/N/md5nxo0ZQqZZoQoAODekj3lf7lYlSA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: intel.com; dkim=none (message not signed)
 header.d=none;intel.com; dmarc=none action=none header.from=suse.com;
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Kevin Tian <kevin.tian@intel.com>, Jun Nakajima <jun.nakajima@intel.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/EPT: drop "tm" field of EPT entry
Message-ID: <4e4363ce-fb8a-b2ed-3a01-75efebb3ba3e@suse.com>
Date: Mon, 30 Aug 2021 16:21:45 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P192CA0018.EURP192.PROD.OUTLOOK.COM
 (2603:10a6:102:56::23) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 63d4b7ba-d364-4642-a788-08d96bc18039
X-MS-TrafficTypeDiagnostic: VI1PR04MB5325:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB53250FCA51969CD302CDF6CBB3CB9@VI1PR04MB5325.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:4125;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mU5tOvGIiwD3/d0+unrsNEsxnymxwRKJClnbh74Qc2yJIknVNm6TiXCPafT2v6dEiYtw0yjoBvRaA4Adt9Qe9aap++6KajTpJ1Fu/E8MzUtnglXqC1lh7p6K4LMgNsoIRW4hftEvKUz/7Tt3Sjs2eeqP01NzcHu3li6sNg70DjCa5DuH+DHShOfvKfJt29tv7f4+xIiMCvbiFLkVmdpxFo1FQmriLlP0Q+Ubdk6E94zrj6RJ07gt1TxHVnSWsqBGyEkGkFHuC7hHc61Na2t17w/MooRy9UsFiSz+cwLsB+pOxNL+srjE0dkP1DjYOUF4DUv9PuWlt7hTqvsSc+Tl4XQ7Rswvhb3WrEkFMD/D5Hob5awZ1WUhERQ7CVienFADBA56Y4+dodUwyIjOhxZMK65c6jJcUVwivISEgNO8qlzJWoPMBnV3MA0PaxWHq3WBPNNj9r/SoUA8hzXHMe9FizzWzyHvpY/crRGgE0gDtyhH0/2Lz0OeSHm7Sf4cEckf+Hi3cwvIxp0GiMnU3826reWh8R1df6fMJ9Acnj3RrOxDxKQ9bNzlEQ+eIj4uTEzuMvnHUTlAFbvoucqWZGR0LU4h7cqgnXwaNLMm4XdboH/htksUgBYBsY4t7U1d+Wi6Oq4FHm3e24M+LDhomPB/SfyeQVlOLYaM+r6xqkhoUNBo7dOi80lQe8ZLN/7P4Yc7dRr3Zx5Qk/slNuA3/0vN2J2eacIyN2UdO2OZ0xc7EOg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(366004)(376002)(346002)(39860400002)(136003)(86362001)(31696002)(6916009)(316002)(2616005)(36756003)(4744005)(26005)(31686004)(4326008)(54906003)(16576012)(186003)(956004)(83380400001)(478600001)(2906002)(5660300002)(66556008)(66476007)(8936002)(8676002)(66946007)(38100700002)(6486002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dC9vdGNRSGszWEY4NzBvSTB3Z1UzMzZtVG92eHE5eHdNbG80U2FxZ0VPQjNv?=
 =?utf-8?B?N21iUmVabzVHWk4wdEpEZHcvMCs5QjlZRGdNdlUxVmxSeGI3UWRxYlp4aFhM?=
 =?utf-8?B?ZzVjOG1yS3JDM1dBQ3hNYk5FVFVUT1I0aHpJaXVqbzhPNTlYSXFPZ1VoTG1t?=
 =?utf-8?B?cVVTSWlnazNqcityVkt0SHFZOG9CZlNsRUg3RjBGa29ic3ZkL3U3cUdKckxJ?=
 =?utf-8?B?WXRzd3BVWEUvbmJxTEtjTkNoZFRaaEFVSHBDMkJta291SnRqTkkwaTU5TDUv?=
 =?utf-8?B?cFBWeUY4bS9GTjE2MEZSaUhqMHRNeXBYQ0IzZG5ZaG9KalJhNkNUYWdmcitR?=
 =?utf-8?B?Skd4SDZnZ3NNSWlaZ0J6MmMzY1JyUExFdnBhbFpMdXhyRFk4ZGx6VXRwcG1m?=
 =?utf-8?B?THlMUHZ5VE1nU0E4dFhPMjNRd2FZQ2lTbDdHcjE1YzJ4Z3A2UWw5blYyeDgy?=
 =?utf-8?B?RCsrSDZzWHdZa3BjblNlWERtUzVPMjA3SXNjem1GRW15RkJIOTY0NlJ3a1JO?=
 =?utf-8?B?NHhoN2xMOUJzY0l6dEdRY1oyVFgyaHlqbG5OSG5mQWtONTYyQkU3UGtVbWxi?=
 =?utf-8?B?Slk1ZTBpNU1Qdk5YU0t1azRLNzhESXRQa0wveDlwS3duUmFlSzB5UWt6Wndn?=
 =?utf-8?B?Q2VTMUxDQjAyMUdQcUxYMDYxMXhYUE02VmFOdWNLTVQxTmoyNEh3QWxvajQw?=
 =?utf-8?B?cGpOZVQwRVN4R0Y5d2VvUWtRZ1dZTUxqR01WOVNJYmVaWWVnUU1LSXZ4OGY4?=
 =?utf-8?B?cjNRWU90cGlrS1VmdDRLVDlpd0RCZmtDdXRpNUQwYXBQS3FlU2tLV0M5OVQx?=
 =?utf-8?B?ZnlrVU9EdHZUblZwNEdVUlNQS2NtOWI0RnZuYWxKUE9CSWZsZk5QbFZ2aG1w?=
 =?utf-8?B?MDh0UkpCc05wb1J4ZGIzdkhTUDRwMnZqRlNRbDN0eTN5bUtkSkJpeVdzdXNN?=
 =?utf-8?B?MVZrbTlPR1FrM0tXMnVmQlBvaHJOQ0EvWFl5VkpjSzFiWittc1N2dHBLV2du?=
 =?utf-8?B?SW9vNmh3WFpQb1VUNUNMa3JlWk5YL3RaMUhUMlFlbVVpTTQ3Q2NsZ3p1S2Iy?=
 =?utf-8?B?REd1ZUp6VjZEc1ZsemEySDI2MjkvTGlLNHJPUHJhQi94bWRlUkRCbkE2YW53?=
 =?utf-8?B?VVFXSU14ZUlPRkJYOENjM0RucVU4Q2I3STQyOTIxZ2tMQ0hGMjNEZ01GL2Fw?=
 =?utf-8?B?dGQ4a3ZtcXRTeUp3NnlFU1ByQndySkwvc01ETWk0cEVWOEhRdUlOd3ZLZEpi?=
 =?utf-8?B?Zm83T01ZVmhJb0ZDdkZCQWg0RVl3d05sSlBtK2ZnaWtld3FuYlFFKzVVLzJN?=
 =?utf-8?B?cFFIR1ViWFF6VU90OElNZHBPNFZZQkNTZm9aLzY1Q1BqSGhGcFYwNmh3K3dw?=
 =?utf-8?B?ZWpmY3NWbkNZRktDWmtzOENBR3QxOHhkYUd0S0VDWCtoU0dVaFNOdG5tQXli?=
 =?utf-8?B?QlExVVJvMmxvb2wrWEM5eU8vOVN5NnVKWWtjL29hTXBIM3lFNmNydUpjN2o3?=
 =?utf-8?B?azJ1UnhxYnRyRnNuNWJiTXJsTTdSVlR2MHBvclJhK0QzSUIwSVEvTXpTZXdP?=
 =?utf-8?B?WlE3RnBUbmdvYnFwcEFGbGNNU1A0R2o1K2hCZkw0NU10aGlHZ1ZGT1QzbkVM?=
 =?utf-8?B?bUpFZm81cm9SN0c1MVBhZEpER090VTloYTI1emxyQWw5ZzVwVncxY2dYTzZR?=
 =?utf-8?B?dzNhblErRHJsRlE0UzNYdUd5Wk01WHU0NFNPOTRNUDF3SHR4Tkp6YzBxTWR5?=
 =?utf-8?Q?NXftCob0YtRGV7YJA0GJGKunMMidE7sdFojxgv3?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 63d4b7ba-d364-4642-a788-08d96bc18039
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2021 14:21:47.4667
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: BJsh48rsuAoKgSBNwWdk8hZ4DVmUuH+JOAVA90mJXoTfigZIqcYeIUVCDeSCJdAsureRAFlZWZlQjv+8o4youg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5325

VT-d spec 3.2 converted this bit (back) to reserved. Since there's no
use of it anywhere in the tree, simply rename it and adjust its comment.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/include/asm-x86/hvm/vmx/vmx.h
+++ b/xen/include/asm-x86/hvm/vmx/vmx.h
@@ -46,8 +46,7 @@ typedef union {
         mfn         :   40, /* bits 51:12 - Machine physical frame number */
         sa_p2mt     :   6,  /* bits 57:52 - Software available 2 */
         access      :   4,  /* bits 61:58 - p2m_access_t */
-        tm          :   1,  /* bit 62 - VT-d transient-mapping hint in
-                               shared EPT/VT-d usage */
+        _rsvd       :   1,  /* bit 62 - reserved */
         suppress_ve :   1;  /* bit 63 - suppress #VE */
     };
     u64 epte;



From xen-devel-bounces@lists.xenproject.org Mon Aug 30 14:26:24 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 14:26:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175143.319144 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKiEy-0007U4-0K; Mon, 30 Aug 2021 14:26:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175143.319144; Mon, 30 Aug 2021 14:26:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKiEx-0007Tx-SW; Mon, 30 Aug 2021 14:26:23 +0000
Received: by outflank-mailman (input) for mailman id 175143;
 Mon, 30 Aug 2021 14:26:23 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YhGR=NV=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mKiEx-0007Tr-5L
 for xen-devel@lists.xenproject.org; Mon, 30 Aug 2021 14:26:23 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 55e8a829-e61c-4f48-800a-1b3fc29de1f8;
 Mon, 30 Aug 2021 14:26:22 +0000 (UTC)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2113.outbound.protection.outlook.com [104.47.17.113])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-22-FfWI02BeMCuy5pqABFhIDg-1; Mon, 30 Aug 2021 16:26:20 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4191.eurprd04.prod.outlook.com (2603:10a6:803:45::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23; Mon, 30 Aug
 2021 14:26:17 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.024; Mon, 30 Aug 2021
 14:26:17 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FRYP281CA0012.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::22) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4478.8 via Frontend Transport; Mon, 30 Aug 2021 14:26:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 55e8a829-e61c-4f48-800a-1b3fc29de1f8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630333581;
	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=on6IJ8bcIQNSiQqVavMkbCsM+NjUYh7qd2eyG4FO7co=;
	b=AeF3ZkIZVmqV2bY26rF2a5EOkJLnO73f0xil5ClGDqKoZw72FM+346c17+XeNGu2vcEbu7
	l5J5UKm/DcESflJCisO3knqC6/Zt2msvdqniFmv+0U3ANlIwZl3Z22ridInDzasisQhtE4
	iZl4YHIY5+4cvx2dsQOzuh9HJ2FyAIk=
X-MC-Unique: FfWI02BeMCuy5pqABFhIDg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LT7SIZiGZp/qk7p5m/QCz77RygU8lJ9NMlSiYL+94P/RAKh9LpB80s2JPeR2I2MgbSSrQeUVOMT9G32QIc1H9IiGapz2S5fZgYVvnCer7Ii1yUWJnVVihRefKCnz2Qdfww8ekl+y6mARHGG59zCh5E8Bcj9czJLhPBRw6zkISCLOfIyuVZEPz+n1D6gub4OxOGVXmKmibV5ALnSgpJydlwnwZnzKiGblgGUwKX/oaF52mwtMDJbUyJQ5L3oyo45u3kOH4mx28H5pSYM42VqX8soWk7rT7BstNkSmhBmBOy4jEx175Y1cBHEO81gDXHSi1REj75LMP0gToau28btd8w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=on6IJ8bcIQNSiQqVavMkbCsM+NjUYh7qd2eyG4FO7co=;
 b=GAOHM/FYcLIH0vkE1PpuGXEK2LsZKTQ4j4SmkRCw62VVQ4INCv3QFQgtdLD0JCJp8wW7su0Sf19zySJGl6eU+OiYNIWn0pa+mDUnrsQX6KgkmMG0UEycg7M/GcpE40/Vl9RMNUsHSIN2JZVoPVBg649Z3WNt7yImR9NVkRw/uYfA9Cham+JJnTlV8SiYG42pNBQuS6cvsumvDLjK4w5XHlakW2UFkNaoan0C3aOtOTPz/7o2nRaDVZ4ddliTwJyRCkph+1dMsRuOQI4oeQ9rGQ8JvToEDHXpmjD+7IUgp81wB3iwz6LVLJLFPxbDGs8zAyLkD12Q5Cvbwhe2rD7I+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
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=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>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] gnttab: adjust unmap checking of dev_bus_addr
Message-ID: <1d2d28ac-bcf2-2a96-a6dd-8282fc59a16c@suse.com>
Date: Mon, 30 Aug 2021 16:26:15 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FRYP281CA0012.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::22)
 To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 50341d06-832b-44fc-f225-08d96bc22137
X-MS-TrafficTypeDiagnostic: VI1PR04MB4191:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB419120AB0AFF94AFC33B4392B3CB9@VI1PR04MB4191.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:3968;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	YbCf+vIPkKDUjQaUQhjcuQmiXlwiqWBrMyqbUb9icg549bzyf5j2A8R/hObee/zZNB6xdtatF/TlJ5nDf6Wa3Hwc7ri2NiL9zG+VR0gdOPe4lp3uTMgGBCvhfiyJ6dvWZ/8+/QlWBR0D12dUFqlBCA4SFYrYdHsf49+xiLtabjMFXlTIop8BObs79TISrXoVYFGLcB5onvoqpmszmk6rlj7UfyAhixnjcrlM/5LyDXfy+LkESjU1HevrsfjxqPV6rXK7piIzPP4Bya4/AazjVDkKu5KLIoZRyqBUZmDWgA0z4ebm9W+RIPuUIJuVsHhG5XiLCnhzXbFAgaS3+TadJcflenmFdnHHSFWH1rXirFkg+UQAp0U+YNIKRMXci1pzHbLdHZzdFFmqgAqhUD0Kmidc/LEje+0s3lG07CM1uwbuTfZpRJTU0Z2vu+ctaVBxkG3IeXKU8x45vR+jygCc0LRNWRaJ0cYztn+1jNV8TPNzm+YgM0Gu0LPZLyxzQILwIdVY05GPzOKelOgAcp5uYFo5AjFuOX8tP1NI1Nae0Z1BZl3iMxaT2SNRK77KdwM00lEb7oMAIzlaOTWO+3g3gNj755VVs0gzuLJruV6K7FIsOeT8FlCADpWwON0Sq+MnC3UD12R5jWFMv0A7d0gvq3+YJGfcMTiZvuPIGSDg1LFjl8vP4ZyG2Nlo/PtgwrsDzuiW6QfWg0A4WJlOzQVgEL/dz9kf9I1UgthRcRAx6SeVW1lUqHxv0r6AMjx4zOwr
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(86362001)(31696002)(6916009)(316002)(36756003)(4744005)(2616005)(31686004)(4326008)(26005)(186003)(16576012)(54906003)(38100700002)(508600001)(2906002)(5660300002)(66556008)(66476007)(8936002)(956004)(8676002)(66946007)(6486002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dHpjUjlBUjN0a01EbEk4ZXJsSlN2UHFidG4xcW5la0VCMGlxQUpCSHlxSVkr?=
 =?utf-8?B?aCszUU9YNS9SVVlwVlM3Rm11SUREVXRKWUtacmhYTGwzVFVSTlZibkFjdDJz?=
 =?utf-8?B?RkZsQkVoQjEwU0VOa2tyQkJnMWJFTGp5Wmt5NXlXRnJLKysrcG5kaElINjB6?=
 =?utf-8?B?TkdsTzdTaGVGRzdobUQxbkg1Nmw1c3hwWFhxR2RDSW9oRGdLcjJYM2IrVkJO?=
 =?utf-8?B?YkZ5VDRQT3MxeHdvbW45WDNYSm9ZcTFiUzJkWVlFbXRtVzN0Um9aeTA2SnlJ?=
 =?utf-8?B?SVNVd1JzZEIybTYrdVlkd3cvd082YmZaZDNpYkFZYzJKZDF4amYxeElUVFdG?=
 =?utf-8?B?akpLVVNudXFKckl2azFmSHNIQVlrZHJWTy81MmZJaitiUWZDZWV0VDFVcnRx?=
 =?utf-8?B?M1NJc3pSN1RnNkJvakErMkErWW1UZW9lVU9FQjc3dDl3VS9oQ0tTRnoxNWU5?=
 =?utf-8?B?VXFoZklwS00rVFJ3ZzhnUWhxNk03NkNPcEV2by9oQ2R5S3hieVBReVBHWWpJ?=
 =?utf-8?B?MFZhMGNyZzNseUg3U0FkWGoyb1JWY2YzS0RGK3VmdnBJZW5DNDNmVU40bjAz?=
 =?utf-8?B?RU0vb1I1eVVxeXN3cndBUngxeGFnWmJPaTVWUHBMUXIxOWRwUDk4dHdwbTZj?=
 =?utf-8?B?R0N5STJQODBrYStZSE1tRlh5SXFha3NxakhwdENwQUZGN2dsc0hhdDVrMU1R?=
 =?utf-8?B?OHdRQ0hhTHlrZkk0VGtYOHpEbFdJZVkwdzM0dThSNEpMMzJlUWdITGtiMDdY?=
 =?utf-8?B?U053eTg4cUdya1FFdlZjMjhhWnlvKy91WWt3bGQ2L3liUXZaQmlnYWxKa2kr?=
 =?utf-8?B?Mjl5VDk0dU1iZUhMbDBUaU1KSm5oS2xXeGZpZjEzSXBUZTRDbmMyMUxEc1cz?=
 =?utf-8?B?ZCsxaFIra2pBYUZMZ2Y3TnhCNWgwTzJnVHZ1RmdidEttd1NpTyswS0dMV1dx?=
 =?utf-8?B?TG1Sd1YwWHRDOFllVk9WaE5ZcTVhRDF0M3U0SXJnaVZuRndZL053akdqaTdD?=
 =?utf-8?B?b1BidUZoUXhyK0FnOG03TlhDZWpodjkrTEh6ZVhzZ05Id0pXYlNtelhaUjZi?=
 =?utf-8?B?S0U3VHlTMUdadlA3SjRVYm5zUHlIbnBmbjdCcUFZYkt6Y0grSXVua1RnakRh?=
 =?utf-8?B?aW42dDkzZ0ZCK1NqRVBOMnJqRkFrWUJoZEpHSGVleGtYdE94Q0NyK0FxZUcx?=
 =?utf-8?B?YjlDQXI1ZnIyaWloWnYvRHI3RlpVK1JDd3RHMWZ6U05Kek5hK0pqSXZWeWcy?=
 =?utf-8?B?Umc1K3RXT3lpZ1J0WTRSUlRmNjY2TjhydnZMQjZHMzdOcjhwYTNGYXA0TEho?=
 =?utf-8?B?Sm9XdGZVSWtwSkNublRFdEpybDBwZmprREVRSHIyOURzN3lRSmRIczBlb0dy?=
 =?utf-8?B?ZjVSYmphS3h1MFNJTm8yZUF3TmIwQUN5LytNdjZMczF3NlZ6Y0h6S3Ywd1pi?=
 =?utf-8?B?VCtRUXpIUVRFZ24yV3dRWUhZeHRoOUNhcUhhNytXY21BV0pseXFyazVuQTN3?=
 =?utf-8?B?NW1VMm9BQjVMd0JHL2dXQ0JFaGJYeW5SUk1ZYnMxbkJ0MGU5NXk4UHZNZWdo?=
 =?utf-8?B?eklUcGhvUWc2Nm55Szg2RTBMekpHZVByUkhZLy9kblAwVFhRSGZMZnZpVFBQ?=
 =?utf-8?B?dHVEM3FyZlZEZ2I3K09kMFh1YjIrbG5mcVRheEZ0SzNIaUc0enFHSGZ5cnJi?=
 =?utf-8?B?SGdic0Zab0JnamZuM2lMQ0ZzRDNrVlN0YXhDM3hHWmZyeFdPS29ydEVmai96?=
 =?utf-8?Q?5ovVONLOKOa7KM1K1CNtrrabvA2ryT1y/4aAdFU?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 50341d06-832b-44fc-f225-08d96bc22137
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2021 14:26:17.5757
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: PyO32mIgD7XprzgwV7KsISdT6htjJpRDxA8TIcdf8wvS5HkoxO7WX5HtSVIqwuy3EwFADzimJY9Ud3kBhzhnXQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4191

There's no point checking ->dev_bus_addr when GNTMAP_device_map isn't
set (and hence the field isn't going to be consumed). And if there is a
mismatch, use the so far unused GNTST_bad_dev_addr error indicator - if
not here, where else would this (so far unused) value be used?

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -1450,9 +1450,9 @@ unmap_common(
 
     op->mfn = act->mfn;
 
-    if ( op->dev_bus_addr &&
+    if ( op->dev_bus_addr && (flags & GNTMAP_device_map) &&
          unlikely(op->dev_bus_addr != mfn_to_maddr(act->mfn)) )
-        PIN_FAIL(act_release_out, GNTST_general_error,
+        PIN_FAIL(act_release_out, GNTST_bad_dev_addr,
                  "Bus address doesn't match gntref (%"PRIx64" != %"PRIpaddr")\n",
                  op->dev_bus_addr, mfn_to_maddr(act->mfn));
 



From xen-devel-bounces@lists.xenproject.org Mon Aug 30 14:27:26 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 14:27:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175148.319155 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKiFu-000851-AG; Mon, 30 Aug 2021 14:27:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175148.319155; Mon, 30 Aug 2021 14: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 1mKiFu-00084u-6A; Mon, 30 Aug 2021 14:27:22 +0000
Received: by outflank-mailman (input) for mailman id 175148;
 Mon, 30 Aug 2021 14:27:21 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YhGR=NV=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mKiFt-00084o-69
 for xen-devel@lists.xenproject.org; Mon, 30 Aug 2021 14:27:21 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 850a85d8-ba40-4c72-a91e-4023bc491f43;
 Mon, 30 Aug 2021 14:27:20 +0000 (UTC)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2110.outbound.protection.outlook.com [104.47.17.110])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-16-olELDEKgMtyRxKXvM5ZS0Q-1; Mon, 30 Aug 2021 16:27:18 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4191.eurprd04.prod.outlook.com (2603:10a6:803:45::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23; Mon, 30 Aug
 2021 14:27:17 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4457.024; Mon, 30 Aug 2021
 14:27:17 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FRYP281CA0015.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::25) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4478.10 via Frontend Transport; Mon, 30 Aug 2021 14:27:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 850a85d8-ba40-4c72-a91e-4023bc491f43
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630333639;
	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=yC+0CivQwFaVmzF0Rucm+NRWZ6WjJbQt2jxwUZYJH8Y=;
	b=aGmGd6NT9Z3Mtynrz7vGm5ain/0Dcj/dL+/F5f6insRCEU2BsyK2uoinLY4h4014r4/Acx
	QPsyL6L1FrvhIhAqECzerg59hsyquUv10obHMlFPP6utKAAuiR79PrfHp1W3bqgRPH6C1v
	gPMUFRk7GhOSvbgJdgT4KqJXkYUHl4g=
X-MC-Unique: olELDEKgMtyRxKXvM5ZS0Q-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=je7tNffUUyve0ecoeTBjrQRFeTYQRov/cPJq92j0BNbk5R3aUo20sGOa5DJqzjKp5hhj6s9yFXvjHD1WnHul/MpO1/pLTpju2HTnoto2NUU5dyFnYlEfgVUrHSqAGaPAq9WSwtXpLNNkDhqe3SHWtsRtRFu7brsK7bzZ0Z3AWLI4CUmFhL309bAz3cNwkxo4j2aq0A9m7/HxMmcTotiW+WhCbGKlVi/qX+0mQolbCdC5/WWyIoVs8ob2G6vAR/6cmKdYfuy1KxvN2Kmpy7/Ys7yiz+FYFS8lt1hPeza/AJddwKyrlcCVTsj5C4ABZBuCGrB/o3iukQN/TdPbNY6Ebw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yC+0CivQwFaVmzF0Rucm+NRWZ6WjJbQt2jxwUZYJH8Y=;
 b=e2gBS51SVY2XbVwht8PyhDfAp5ZvjA2r4jIYAF1QwgP8tIOKj27bj/5OyCJFZrNYDo8Zx1QZSpxtBy9VXNbKn8BW8ZC0To71mMxr2I7prA8s4lC5owB7RNlS2nZLBjH7p1xZwf8skMEPKbTb+L3ytZ2ftG6qJ7ho1nK6lhrJU40kwdIu3uyIKbuOX5BoxYyirnuEPwY7AV1k2RyjcCbZ5hPCts+MC6Q4Z0LXjBGZLxp5IakbRovDp0aGNBFkF9QrnXGXHhrxlIuVOSHC2Dt2nB8B+MikqZ09KKOW4VEZ2+OvvokEiHEqSmw+pEFGzRBVL6rVs8kyOR9AzkZhXk6DJQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] gnttab: maptrack handle shortage is not IOMMU related
Message-ID: <e28eea8c-fd54-c3a7-a10a-5eeac2c7a8a1@suse.com>
Date: Mon, 30 Aug 2021 16:27:15 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FRYP281CA0015.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::25)
 To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3b1e4abd-8e30-49ea-a6bb-08d96bc244b0
X-MS-TrafficTypeDiagnostic: VI1PR04MB4191:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4191316459D92FD358F84A15B3CB9@VI1PR04MB4191.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bmcjIKdzUlVs5VeZHb3/lW+9PNfjU5+ZhpHRKY+5zz+2615O3B6T0P3zmgMIYQ4IcbtjJQqY5kEzBU8Cv0O9dbDKiu1NOW6e1c8CmpeH92UxQ9oyJAr5QH7KZSScSVJ1f1cCaD+E7tPGpCadVtlNbFyJXkE5J2Rr5L8kCCgdJQP0JTkr0kb35q0QVusFqT0IAA2mOdnwzxXiFbGfuDfyZJAEEE+TLfh6+5jJPdo7nNwN2YLb6MMqwHxZ/G+ieNBdmNbvImzeXZT1hnUflhIy1ZB2TN9pCuQGAX2pfYcy+A61vCTQsOdwzJRcpYu2NKyZ5R02/Pc4NP0pgNd+GPVf8NY9395LSESMpgJzm0FK8/K48oqo90Q+cPxwt0J6ybyJXKtS6NFegkMmJf6GmFlHmLvpM0qMtju833TnR9ot7/k14bjYvma8RVm1AZ7F9Dt+7LEbvT6Nr8aH3ohIoPyCbL4BVeflXD4hwhOx0HT4ood08YlITsryji91l4013/Vs9UdXS+NfwK1gzSraG4VUF7y+KJzM+E+27Ff9AuWSgv1AI3SQoy+6Pt+3+Nj5LVFMXX14xNJKyXC85v+hwGGiBWDtCiETwzSU0rFhYVxOtZGvxUoMpEMonu/iUhaCJ6rryGmgg7myvZPBspqiWXTuIOyskDxwzq4ZC3z14EQohjI3AtF+7elMrW3OrDKRTYwiRS4A1gAxumWUwAwrFWJa0kZI5vNjE/brufrsQUyKDPF57WAPxQnbtnnz9/FRHx44
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(86362001)(31696002)(6916009)(316002)(36756003)(2616005)(31686004)(4326008)(26005)(186003)(16576012)(54906003)(38100700002)(508600001)(2906002)(5660300002)(83380400001)(66556008)(66476007)(8936002)(956004)(8676002)(66946007)(6486002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VllaS1dCVlJFL2RpUXRpdkxTcldodUcyR09YcXpCaXBnOWhRMFpUZjQ3dEtk?=
 =?utf-8?B?TmhjcFhHSHU5OWdlekhmSVhLaHNPMUNoa2FBY04yWnIrMkFXSGhkVlV0dUxO?=
 =?utf-8?B?OENBOVU5WVlPSzdweHB3dHQvdlliNEhVeGRtOXprem1nbEliaEpZS3lneTlu?=
 =?utf-8?B?VGFLdHoyVnVsWUtEUFlFQVU2bk81c0J0bVZjK3JmdmM4QjVTWTF1UXBUNHpW?=
 =?utf-8?B?TDhvTnNVdmt5MnY0NTRiU2Q4MXFFRmFVU1RiYS9qUUc0WlVtVkRHSWJBQk5N?=
 =?utf-8?B?NnNWNUtDaEhDTnRFOS85OTA0YWhHUUE2Mmp1VzZTVnpDMGtEREdNQ0xVVWpF?=
 =?utf-8?B?azJZM2xYK1FjWDR2Z1FCWG9XanlIeklnbTRDT29pZEQwb2VCMHVkN3FRZnd3?=
 =?utf-8?B?L2FLeVpmdnhRVjZPTVgrdDdFUU9XQmJiWHI4R0d1dklZVG5mMThJVHhhb0Zr?=
 =?utf-8?B?Tnc3K0x4aW1QZUxlY2pLZW1YRk15QXJJL0wxcy9EV05rdFBoNnBFM1ZqeFlj?=
 =?utf-8?B?YnoreGNyb2swMG14MzlBc01tSDJ0Q1J2NDdMcHNocTNvclFqTkx0TDhzdDFK?=
 =?utf-8?B?bVNBVHFHUTQ1czVFcmN2RU1jRnRWQnd6QzM2N3EwOHI5SmttRWVNa2xBZDlv?=
 =?utf-8?B?L3BMSXdtSWZ6cXZTalpxbWNhOGcxRlVwZEtyOU1WOXoxaGR0OS94bDNjY0x6?=
 =?utf-8?B?LytwNjlYdFlDK0JvcXF1eTVkcTVwa044eGRxNUN2QmU0TVRsWnhzdDRtaUFw?=
 =?utf-8?B?Znd3c1JpMkFhcWVEYzIxYm9wcWhxS2pyV3hTR3YvTmhkUGdoam94bDd6clI2?=
 =?utf-8?B?RDFheS9qaWNWcDB4WUtZVGxXOHRHb1dyQ2tOc0U3UFpOWEhkNm9QQlkvRkhP?=
 =?utf-8?B?aGdZUEVuK3A1R3BQc1pUOHNncjdwc3dlVnJuaGxYMUxwYWlidWxySG9NV0c4?=
 =?utf-8?B?WVNTcHI5S2R0TGJOL2V0bTNtNVdzaWpMUld3ZUdvSzJkYXRBMERBNTFrL3lX?=
 =?utf-8?B?Rm1Yd0hPaWtxR3NPc1hseVc4WDlPamtqZGpjQzRJQXRqNG5NSW5ZUVFBV042?=
 =?utf-8?B?L2FLeWd6UHNOQ01SZ01KaG40MGhnd3lpQ0NiUk1EbmNhU2JQT25zSXIxcm5Q?=
 =?utf-8?B?cFE1WUFDUk94YlpkamI5L3laMlBUdUJQUHFUVHBIQms2YWNYRytXdHRqUVRJ?=
 =?utf-8?B?Q1VxZlMxWnVOdXV0blVJWExZQjA0NXAxMnhkTzJkdUNvSmdBMVM0R2krWXIy?=
 =?utf-8?B?SDFWZHVad3o0ZDVXTi9CQ1EycUFTVnFTSWhDcVB0eDNqY25paVZ5U1I1L2ts?=
 =?utf-8?B?LzVSNHozOXhwSUNINW1BU1RYek9wdFcvNjZIc1Z0RzJ2N0didldVWUM4c3pL?=
 =?utf-8?B?dThTYVlzYWloVWxQOGMxQzhqMnpqRG9rK1E0U0Rxd1VscURqLzUxV1lTc0Nr?=
 =?utf-8?B?blhldzlVbjkzSTJhazFqcWtIOEVnQXRpakt1UFZoamxSakx6WU5SRkJlL3lF?=
 =?utf-8?B?dkRxcFBXKzMraHhwZDF1TExScjUySjRBQkJDUFMwQVlpZkxhejQ3bzZQekVX?=
 =?utf-8?B?aThzNlZzTDUrQzBxT3V0RFUvUUw0Tzl5QWg4S3NQbm9KdWd6NCs0TUdYeWpr?=
 =?utf-8?B?b0oveW9oWFRXeGROZXFDQkg2ajZBdkdyekZLb1BZejgrckhNWGNRd0tZQnQz?=
 =?utf-8?B?cHJuVm85UHZrWTdMUHgzdFlTUDRnK2E0QmR5L1BkeXRzNDVieEJvN2NRYUlB?=
 =?utf-8?Q?ESOnaMPhgHELtReN4Z1Buj7KqMI11d3zX8lwV34?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3b1e4abd-8e30-49ea-a6bb-08d96bc244b0
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2021 14:27:17.0570
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: FgAE1QixdAuoAw8QUnRDkDlabBU7fWiaKNGG2FsjYGqD0+fYSdDWMOeY3WyuKBoOLGb9RSTP8cHvzFhY4k3e9g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4191

Both comment and message string associated with GNTST_no_device_space
suggest a connection to the IOMMU. A lack of maptrack handles has
nothing to do with that; it's unclear to me why commit 6213b696ba65
("Grant-table interface redone") introduced it this way. Introduce a
new error indicator.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Or should this be a more specific one, e.g. GNTST_no_mt_handle? If not,
I would intend to also use GNTST_no_space for -ENOMEM like situations.

--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -1027,7 +1027,7 @@ map_grant_ref(
     {
         rcu_unlock_domain(rd);
         gdprintk(XENLOG_INFO, "Failed to obtain maptrack handle\n");
-        op->status = GNTST_no_device_space;
+        op->status = GNTST_no_space;
         return;
     }
 
--- a/xen/include/public/grant_table.h
+++ b/xen/include/public/grant_table.h
@@ -652,6 +652,7 @@ DEFINE_XEN_GUEST_HANDLE(gnttab_cache_flu
 #define GNTST_bad_copy_arg    (-10) /* copy arguments cross page boundary.   */
 #define GNTST_address_too_big (-11) /* transfer page address too large.      */
 #define GNTST_eagain          (-12) /* Operation not done; try again.        */
+#define GNTST_no_space        (-13) /* Out of space (handles etc).           */
 /* ` } */
 
 #define GNTTABOP_error_msgs {                   \
@@ -667,7 +668,8 @@ DEFINE_XEN_GUEST_HANDLE(gnttab_cache_flu
     "bad page",                                 \
     "copy arguments cross page boundary",       \
     "page address size too large",              \
-    "operation not done; try again"             \
+    "operation not done; try again",            \
+    "out of space",                             \
 }
 
 #endif /* __XEN_PUBLIC_GRANT_TABLE_H__ */



From xen-devel-bounces@lists.xenproject.org Mon Aug 30 15:50:47 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 15:50:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175165.319181 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKjYN-0000Yr-Cj; Mon, 30 Aug 2021 15:50:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175165.319181; Mon, 30 Aug 2021 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 1mKjYN-0000Yk-9Y; Mon, 30 Aug 2021 15:50:31 +0000
Received: by outflank-mailman (input) for mailman id 175165;
 Mon, 30 Aug 2021 15:50:29 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ySg/=NV=gmail.com=lonyelon@srs-us1.protection.inumbo.net>)
 id 1mKjYL-0000Ye-LY
 for xen-devel@lists.xenproject.org; Mon, 30 Aug 2021 15:50:29 +0000
Received: from mail-ej1-x62e.google.com (unknown [2a00:1450:4864:20::62e])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 51f45cce-265f-4a9e-99df-1158b3841268;
 Mon, 30 Aug 2021 15:50:28 +0000 (UTC)
Received: by mail-ej1-x62e.google.com with SMTP id u14so32021266ejf.13
 for <xen-devel@lists.xenproject.org>; Mon, 30 Aug 2021 08:50:28 -0700 (PDT)
Received: from localhost (host-79-37-188-60.retail.telecomitalia.it.
 [79.37.188.60])
 by smtp.gmail.com with ESMTPSA id n18sm6773671ejg.36.2021.08.30.08.50.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 30 Aug 2021 08:50: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: 51f45cce-265f-4a9e-99df-1158b3841268
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=date:from:to:cc:subject:message-id:references:mime-version
         :content-disposition:content-transfer-encoding:in-reply-to;
        bh=ZdQ2NYONUh/Mlj0X5zIsPhWrX6XBgDUXmU/jErZJywo=;
        b=FJ6u+7ZmqzdbI/gyHRn72MAMt7fXnzhi32/cwtuYJ4y45E80lvafD0QAHLIWsE0AsB
         vbH3nG8xMYE3rYDcNcCqI/ARxt5efWvfhJhhRwgvURvvHv1qsuPJ86PBf2NuyFWAFPSG
         aXfpF64sSzKew+B8jhZiS5GgR3a3mGdBsr5DREG+exF17jVqcBTNX1zw8LRm/1/26Mne
         xaFEPQQZUhlwkOGIxxVkLom0q/20yKjrqh08dZ+Qq2vwbh6B1HAclNGTBg07GsOLtu4e
         okSSK4+c2tB3RQHMAiIVfLk8jYNYEAtNDWfkeUbRvE3OBn3RksYk5bPzVaDPdBWHScE9
         Ixzg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:date:from:to:cc:subject:message-id:references
         :mime-version:content-disposition:content-transfer-encoding
         :in-reply-to;
        bh=ZdQ2NYONUh/Mlj0X5zIsPhWrX6XBgDUXmU/jErZJywo=;
        b=dLh7mNJRZDpM3npXlsVCnyIbAtHlmh47V6zw4WhzOOH7z2sshobgse8X3+8dwWIvC4
         TPI9j0TReAMHjRf2EaJIPnkQALSxDk6ldG3ydXntNYF2LkA7b2qdtduiCEUXhoUnHuEU
         W1wCnApqtCKHhzU284rr/56b1Q6RkCswGThW0H1vZ8TZG3uPHUY8j9HfEfzXuAUyi9DQ
         HEdAzfyMaO1JykAb+MDGi/k0/AmA4u9BlLIadlPz4cHSeQYkQknTzTd+EhOEuW51kwBD
         zNfaVgi3u5k5yJkWTXol8cwkmhwy0A0+LNR/8x+PZNVDwYOwkWP0cPKWO8/s7lpJXYQd
         mt5g==
X-Gm-Message-State: AOAM533wNGfLmuWxULR6c9VavRtBxosi21gLGZi7tcdAY4Bq7jqHj6Bx
	B8S2+t/sDRu2bkSN395L1vM=
X-Google-Smtp-Source: ABdhPJxzjhjWEcACIkXAOsASCgygWfARaMnw76vGOM8bIFhahPxmhp1H0I810MbvFr0ZdMuQBSl7Mg==
X-Received: by 2002:a17:907:2677:: with SMTP id ci23mr25654080ejc.429.1630338627699;
        Mon, 30 Aug 2021 08:50:27 -0700 (PDT)
Date: Mon, 30 Aug 2021 19:50:20 +0200
From: Sergio =?utf-8?Q?Migu=C3=A9ns?= Iglesias <lonyelon@gmail.com>
To: Juergen Gross <jgross@suse.com>
Cc: konrad.wilk@oracle.com, boris.ostrovsky@oracle.com,
	sstabellini@kernel.org, bhelgaas@google.com,
	xen-devel@lists.xenproject.org, linux-pci@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Sergio =?utf-8?Q?Migu=C3=A9ns?= Iglesias <sergio@lony.xyz>
Subject: Re: [PATCH] xen/pcifront: Removed unnecessary __ref annotation
Message-ID: <20210830175020.jymnt6uwhgmjlwyz@archlap>
References: <20210829221415.647744-1-sergio@lony.xyz>
 <2df006a3-d232-c356-3402-888739835967@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <2df006a3-d232-c356-3402-888739835967@suse.com>

Thanks a lot for your reply! I am sending a v2 patch to fix all the
issues.

Sergio M. Iglesias.

On 21/08/30 06:55, Juergen Gross wrote:
> On 30.08.21 00:14, Sergio Miguns Iglesias wrote:
> > An unnecessary "__ref" annotation was removed from the
> > "drivers/pci/xen_pcifront.c" file. The function where the annotation
> > was used was "pcifront_backend_changed()", which does not call any
> > functions annotated as "__*init" nor "__*exit". This makes "__ref"
> > unnecessary since this annotation is used to make the compiler ignore
> > section miss-matches when they are not happening here in the first
> > place.
> > 
> > In addition to the aforementioned change, some code style issues were
> > fixed in the same file.
> > 
> > Signed-off-by: Sergio Miguns Iglesias <sergio@lony.xyz>
> > ---
> >   drivers/pci/xen-pcifront.c | 24 ++++++++++++++----------
> >   1 file changed, 14 insertions(+), 10 deletions(-)
> > 
> > diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c
> > index b7a8f3a1921f..f06661704f3a 100644
> > --- a/drivers/pci/xen-pcifront.c
> > +++ b/drivers/pci/xen-pcifront.c
> > @@ -115,7 +115,7 @@ static int do_pci_op(struct pcifront_device *pdev, struct xen_pci_op *op)
> >   	struct xen_pci_op *active_op = &pdev->sh_info->op;
> >   	unsigned long irq_flags;
> >   	evtchn_port_t port = pdev->evtchn;
> > -	unsigned irq = pdev->irq;
> > +	unsigned int irq = pdev->irq;
> >   	s64 ns, ns_timeout;
> >   	spin_lock_irqsave(&pdev->sh_info_lock, irq_flags);
> > @@ -152,11 +152,10 @@ static int do_pci_op(struct pcifront_device *pdev, struct xen_pci_op *op)
> >   		}
> >   	}
> > -	/*
> > -	* We might lose backend service request since we
> > -	* reuse same evtchn with pci_conf backend response. So re-schedule
> > -	* aer pcifront service.
> > -	*/
> > +	/* We might lose backend service request since we
> 
> This is no net or drivers/net file, so please keep the initial "/*"
> line and fixup the other multi-line comments accordingly.
> 
> > +	 * reuse same evtchn with pci_conf backend response. So re-schedule
> > +	 * aer pcifront service.
> > +	 */
> >   	if (test_bit(_XEN_PCIB_active,
> >   			(unsigned long *)&pdev->sh_info->flags)) {
> >   		dev_err(&pdev->xdev->dev,
> > @@ -493,7 +492,8 @@ static int pcifront_scan_root(struct pcifront_device *pdev,
> >   	list_add(&bus_entry->list, &pdev->root_buses);
> >   	/* pci_scan_root_bus skips devices which do not have a
> > -	* devfn==0. The pcifront_scan_bus enumerates all devfn. */
> > +	 * devfn==0. The pcifront_scan_bus enumerates all devfn.
> > +	 */
> >   	err = pcifront_scan_bus(pdev, domain, bus, b);
> >   	/* Claim resources before going "live" with our devices */
> > @@ -651,8 +651,9 @@ static void pcifront_do_aer(struct work_struct *data)
> >   	pci_channel_state_t state =
> >   		(pci_channel_state_t)pdev->sh_info->aer_op.err;
> > -	/*If a pci_conf op is in progress,
> > -		we have to wait until it is done before service aer op*/
> > +	/* If a pci_conf op is in progress, we have to wait until it is done
> > +	 * before service aer op
> > +	 */
> >   	dev_dbg(&pdev->xdev->dev,
> >   		"pcifront service aer bus %x devfn %x\n",
> >   		pdev->sh_info->aer_op.bus, pdev->sh_info->aer_op.devfn);
> > @@ -676,6 +677,7 @@ static void pcifront_do_aer(struct work_struct *data)
> >   static irqreturn_t pcifront_handler_aer(int irq, void *dev)
> >   {
> >   	struct pcifront_device *pdev = dev;
> > +
> >   	schedule_pcifront_aer_op(pdev);
> >   	return IRQ_HANDLED;
> >   }
> > @@ -1027,6 +1029,7 @@ static int pcifront_detach_devices(struct pcifront_device *pdev)
> >   	/* Find devices being detached and remove them. */
> >   	for (i = 0; i < num_devs; i++) {
> >   		int l, state;
> > +
> >   		l = snprintf(str, sizeof(str), "state-%d", i);
> >   		if (unlikely(l >= (sizeof(str) - 1))) {
> >   			err = -ENOMEM;
> > @@ -1078,7 +1081,7 @@ static int pcifront_detach_devices(struct pcifront_device *pdev)
> >   	return err;
> >   }
> > -static void __ref pcifront_backend_changed(struct xenbus_device *xdev,
> > +static void pcifront_backend_changed(struct xenbus_device *xdev,
> >   						  enum xenbus_state be_state)
> >   {
> >   	struct pcifront_device *pdev = dev_get_drvdata(&xdev->dev);
> > @@ -1137,6 +1140,7 @@ static int pcifront_xenbus_probe(struct xenbus_device *xdev,
> >   static int pcifront_xenbus_remove(struct xenbus_device *xdev)
> >   {
> >   	struct pcifront_device *pdev = dev_get_drvdata(&xdev->dev);
> > +
> >   	if (pdev)
> >   		free_pdev(pdev);
> > 
> 
> Juergen







From xen-devel-bounces@lists.xenproject.org Mon Aug 30 15:52:47 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 15:52:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175173.319195 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKjaY-0001LJ-RH; Mon, 30 Aug 2021 15:52:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175173.319195; Mon, 30 Aug 2021 15:52:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKjaY-0001LC-Na; Mon, 30 Aug 2021 15:52:46 +0000
Received: by outflank-mailman (input) for mailman id 175173;
 Mon, 30 Aug 2021 15:52:45 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ySg/=NV=gmail.com=lonyelon@srs-us1.protection.inumbo.net>)
 id 1mKjaX-0001Kn-Cv
 for xen-devel@lists.xenproject.org; Mon, 30 Aug 2021 15:52:45 +0000
Received: from mail-ej1-x631.google.com (unknown [2a00:1450:4864:20::631])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id f93340d9-abee-400a-8525-6f1db71bd3f1;
 Mon, 30 Aug 2021 15:52:44 +0000 (UTC)
Received: by mail-ej1-x631.google.com with SMTP id n27so32179477eja.5
 for <xen-devel@lists.xenproject.org>; Mon, 30 Aug 2021 08:52:44 -0700 (PDT)
Received: from localhost (host-79-37-188-60.retail.telecomitalia.it.
 [79.37.188.60])
 by smtp.gmail.com with ESMTPSA id j24sm7867334edj.56.2021.08.30.08.52.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 30 Aug 2021 08:52: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: f93340d9-abee-400a-8525-6f1db71bd3f1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=date:from:to:cc:subject:message-id:references:mime-version
         :content-disposition:content-transfer-encoding:in-reply-to;
        bh=PH1GJR8SexO/UKBLmtFk69D6EteI0Vz3Y9qH+Bg02eQ=;
        b=vb5z/HhtPUclHouLpu5p8Ds97y10ykHwcW+PBhZGcjVpeg4nj/+bBsc0c4U8+K4Q9i
         XEiuxxuyxrx4rZgqWnUzKnrTjFIOSPSegqX/4gnW2hqjcfPYRil3mhFiyPUEVLGtCGOK
         WjPU+OUODFV+vcR2uAjZ/MlbFEdhu6AjSomLqWIh3Me/p8oeGnF0A29HdmQ0faU0YCRG
         fRG+ThgW+QgDIpYWtJ5Muq2l1wM6zAnoKhUV/G3aawS0433gyVkhsoaZVirYtKDtL2dy
         9IndTae+aqzxO+ft2rq5iOZJSWvIUQ1HzD6ifU7e/jYiWteXAnjocd/Ig3bxE6YPagRx
         XOpA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:date:from:to:cc:subject:message-id:references
         :mime-version:content-disposition:content-transfer-encoding
         :in-reply-to;
        bh=PH1GJR8SexO/UKBLmtFk69D6EteI0Vz3Y9qH+Bg02eQ=;
        b=sr/02KhMvKxW3r0WrrlLZa3oAAXOGzzcCEA9emlMwBXkb+mGYuiRQUcnTGmfz10ZJf
         wRf1uqFwgiEoDPrs5opbc18wO7K8m3bnnsb+3NhMR6lQCKvBb7CS7PIJ1Cnpm4ScXMBL
         trcbunPKSNPx9Pripi1ackUNpVzM0w6fm9mzlbeHDdcjMh5aa3H0U4WGns6Z4O+ilynO
         7ks5lgE5DXJLN013zufLqMAMvLB416kJiOKx5Hrcwct33JNXj5uo9v2QYkW+s/5gpPP0
         myaD81TH+vaF20ICOElM12+iKshveJBCF8LH8svGhbqCBY6uX+8aqedcwixzGpcAsCSD
         V1iw==
X-Gm-Message-State: AOAM5301qGYSMuDE/zfPc1OoX9h3vtw+Ou6B1/uj0fy58TAaczWQcm31
	OOEEHsKfvdnVrhhEFsnuR0o=
X-Google-Smtp-Source: ABdhPJw9VzCBcePC+e+V22VC+MNoXy7oGDEupqmDnhVKiizEqkkqfrn2XNANKvjIPlvN6PQY6QZvdA==
X-Received: by 2002:a17:907:20d1:: with SMTP id qq17mr26329059ejb.439.1630338763366;
        Mon, 30 Aug 2021 08:52:43 -0700 (PDT)
Date: Mon, 30 Aug 2021 19:52:36 +0200
From: Sergio =?utf-8?Q?Migu=C3=A9ns?= Iglesias <lonyelon@gmail.com>
To: Bjorn Helgaas <helgaas@kernel.org>
Cc: bhelgaas@google.com, rjw@rjwysocki.net, lenb@kernel.org,
	boris.ostrovsky@oracle.com, jgross@suse.com, sstabellini@kernel.org,
	konrad.wilk@oracle.com, linux-pci@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	Sergio =?utf-8?Q?Migu=C3=A9ns?= Iglesias <sergio@lony.xyz>
Subject: Re: [PATCH] PCI: Fix general code style
Message-ID: <20210830175236.7d62its7nwqosuwk@archlap>
References: <20210804222832.1023161-1-sergio@lony.xyz>
 <20210825204356.GA3601025@bjorn-Precision-5520>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20210825204356.GA3601025@bjorn-Precision-5520>

I can not thank you enough for the amount of time you must have spent
writing this response. I will look into those things in the following
days for sure! ( I have already started looking into the "__ref" stuff)

Thanks again for this,
Sergio M. Iglesias.

On 21/08/25 03:43, Bjorn Helgaas wrote:
> On Thu, Aug 05, 2021 at 12:28:32AM +0200, Sergio Miguns Iglesias wrote:
> > The code style for most files was fixed. This means that blank lines
> > were added when needed (normally after variable declarations), spaces
> > before tabs were removed, some code alignment issues were solved, block
> > comment style was fixed, every instance of "unsigned var" was replaced
> > with "unsigned int var"... Etc.
> > 
> > This commit does not change the logic of the code, it just fixes
> > aesthetic problems.
> 
> I generally *like* this, and it does fix some annoying things, but I
> think it's a little too much all at once.  If we're working in a file
> and doing actual bug fixes or new functionality, and we want to fix
> some typos or something at the end, that might be OK, but I think the
> churn in the git history outweighs the benefit of this huge patch.
> 
> So I would encourage you to use some of the PCI expertise you've
> gained by looking at all this code to work on something with a little
> more impact.  Here are a couple ideas:
> 
>   - There are only two uses of __ref and __refdata in drivers/pci/.
>     The fact that they're so rare makes me suspect that we don't need
>     them.  But I haven't investigated these to see.  Somebody could
>     check that out and remove them if we don't need them.  Be aware
>     that I will want a clear argument for why they're not needed :)
> 
>   - Coverity complains about several issues in drivers/pci/ [1].  Most
>     of the time these are false positives, but not always.  Sometimes
>     there's an actual bug, and sometimes there's a way to restructure
>     the code to avoid the warning (which usually means doing things
>     the same way they are done elsewhere).
> 
>   - "make C=2 drivers/pci/" (sparse checker, [2]) complains about a
>     few things.  Leave the pci_power_t ones alone for now, but there
>     are a couple other type issues that could be cleaned up.
> 
> [1] https://docs.google.com/spreadsheets/d/19eyNDou83JACzf44j0NRzEWysva6g44G2_Z9IEXGVNk/edit?usp=sharing
> [2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/dev-tools/sparse.rst?id=v5.13
> 
> > Signed-off-by: Sergio Miguns Iglesias <sergio@lony.xyz>
> > ---
> >  drivers/pci/access.c       | 22 +++++++++++++---------
> >  drivers/pci/bus.c          |  3 ++-
> >  drivers/pci/msi.c          | 12 +++++++-----
> >  drivers/pci/pci-acpi.c     |  3 ++-
> >  drivers/pci/pci-driver.c   | 19 +++++++++++++------
> >  drivers/pci/pci-sysfs.c    | 14 ++++++++++++--
> >  drivers/pci/pci.c          | 16 ++++++++++++----
> >  drivers/pci/proc.c         | 15 +++++++++++++++
> >  drivers/pci/quirks.c       | 35 ++++++++++++++++++++++++-----------
> >  drivers/pci/remove.c       |  1 +
> >  drivers/pci/rom.c          |  2 +-
> >  drivers/pci/setup-bus.c    |  5 ++++-
> >  drivers/pci/setup-irq.c    | 12 +++++++-----
> >  drivers/pci/setup-res.c    |  2 +-
> >  drivers/pci/slot.c         |  5 ++++-
> >  drivers/pci/syscall.c      |  5 +++--
> >  drivers/pci/xen-pcifront.c | 20 ++++++++++++--------
> >  17 files changed, 133 insertions(+), 58 deletions(-)


From xen-devel-bounces@lists.xenproject.org Mon Aug 30 15:53:32 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 15:53:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175178.319206 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKjbI-0001uU-3n; Mon, 30 Aug 2021 15:53:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175178.319206; Mon, 30 Aug 2021 15: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 1mKjbI-0001uN-0m; Mon, 30 Aug 2021 15:53:32 +0000
Received: by outflank-mailman (input) for mailman id 175178;
 Mon, 30 Aug 2021 15:53:31 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ySg/=NV=gmail.com=lonyelon@srs-us1.protection.inumbo.net>)
 id 1mKjbH-0001uH-At
 for xen-devel@lists.xenproject.org; Mon, 30 Aug 2021 15:53:31 +0000
Received: from mail-ej1-x631.google.com (unknown [2a00:1450:4864:20::631])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 25290de2-625f-49b0-af51-b935c6ac61d5;
 Mon, 30 Aug 2021 15:53:30 +0000 (UTC)
Received: by mail-ej1-x631.google.com with SMTP id mf2so32136849ejb.9
 for <xen-devel@lists.xenproject.org>; Mon, 30 Aug 2021 08:53:30 -0700 (PDT)
Received: from localhost.localdomain
 (host-79-37-188-60.retail.telecomitalia.it. [79.37.188.60])
 by smtp.gmail.com with ESMTPSA id o26sm6982569eje.24.2021.08.30.08.53.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 30 Aug 2021 08:53: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: 25290de2-625f-49b0-af51-b935c6ac61d5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=LZTTwFJF+zvGHdyibVGAvdJNHkDefebmF2ya6xkkbwE=;
        b=OrrCxmJej7+ig4i1srOE7VMVkeDpS9cakUwSxm2PgKW0SKIhtk9YTr8Kjvt8STi+mf
         x9o/QFBriMovGg3TMJpTwWYB9dEC9pDYyILpbrlSivt5HNxVeG0NihF+uux9vNUA6CcC
         QZ0S4+/ZA9UjECBx3ztjhnTbWnpaTEExsr2R0oqiKJ7lW77S5S6su5QEzC1c+cR0E3pW
         gQ5y8RGdXc+Sgzzk1AJPm/5exbEEXvqBYjTTowg74polMwbz22etysgrPnX06h8reEUu
         tKM4hC7j0jxHaa44aS/cOeeKczpkmIbyvN1+SWJRwRjihDnaRjnFaXs23sL2LonBsG4T
         8zyg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=LZTTwFJF+zvGHdyibVGAvdJNHkDefebmF2ya6xkkbwE=;
        b=P2C09/MNFP6uAq0mMnHelkzHaZBvmOCeXCl9hwrptdk0J0ijIU1r46HsYQETwTsDoP
         l6ejsE+SvTBfulwK2eTmf2yoLuxGXi4Xrb1IqwtQL/Q82C/WRJsydTsFQBAOlDtGWDW0
         epZZP9649G3QQjJDS6jxBAFhg2r5lKSDpD90moFiU15sZEAAkHmuVYDn7r77gOrEXtH8
         K6q9MVbPQLoO06UMrfZ08qRaNkjUKXaKVZ+/fKIl7HCfZkHXyljF/SI0JZbMjR2fAsIl
         KKkdJX24AOaKgx2iq2oecA4lCorRHQs3Ki2K0PKoxgqHliF+tbGZRRQiOrJci1B1wcwO
         kGWQ==
X-Gm-Message-State: AOAM530PAjVCib0pH4uH3QQQIGbhvLzc9Vswq01g7TdoOzAODjJZsWRM
	J8SJNcTfijm3V4foSHNpm/Q=
X-Google-Smtp-Source: ABdhPJybPVfFJ0VfPXkN/ghxef8t28WfmUnSzRrbQ4yuUnvBgvPKJyy8F7HZBA+jg9ihxbpVb2YQCw==
X-Received: by 2002:a17:906:a044:: with SMTP id bg4mr25947563ejb.312.1630338809554;
        Mon, 30 Aug 2021 08:53:29 -0700 (PDT)
From: "=?UTF-8?q?Sergio=20Migu=C3=A9ns=20Iglesias?=" <lonyelon@gmail.com>
X-Google-Original-From: =?UTF-8?q?Sergio=20Migu=C3=A9ns=20Iglesias?= <sergio@lony.xyz>
To: konrad.wilk@oracle.com
Cc: boris.ostrovsky@oracle.com,
	jgross@suse.com,
	sstabellini@kernel.org,
	bhelgaas@google.com,
	xen-devel@lists.xenproject.org,
	linux-pci@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	=?UTF-8?q?Sergio=20Migu=C3=A9ns=20Iglesias?= <sergio@lony.xyz>
Subject: [PATCH v2] xen/pcifront: Removed unnecessary __ref annotation
Date: Mon, 30 Aug 2021 19:53:05 +0200
Message-Id: <20210830175305.13370-1-sergio@lony.xyz>
X-Mailer: git-send-email 2.33.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

An unnecessary "__ref" annotation was removed from the
"drivers/pci/xen_pcifront.c" file. The function where the annotation
was used was "pcifront_backend_changed()", which does not call any
functions annotated as "__*init" nor "__*exit". This makes "__ref"
unnecessary since this annotation is used to make the compiler ignore
section miss-matches when they are not happening here in the first
place.

In addition to the aforementioned change, some code style issues were
fixed in the same file.

Signed-off-by: Sergio Miguéns Iglesias <sergio@lony.xyz>
---
 drivers/pci/xen-pcifront.c | 30 +++++++++++++++++++-----------
 1 file changed, 19 insertions(+), 11 deletions(-)

diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c
index b7a8f3a1921f..427041c1e408 100644
--- a/drivers/pci/xen-pcifront.c
+++ b/drivers/pci/xen-pcifront.c
@@ -115,7 +115,7 @@ static int do_pci_op(struct pcifront_device *pdev, struct xen_pci_op *op)
 	struct xen_pci_op *active_op = &pdev->sh_info->op;
 	unsigned long irq_flags;
 	evtchn_port_t port = pdev->evtchn;
-	unsigned irq = pdev->irq;
+	unsigned int irq = pdev->irq;
 	s64 ns, ns_timeout;
 
 	spin_lock_irqsave(&pdev->sh_info_lock, irq_flags);
@@ -153,10 +153,10 @@ static int do_pci_op(struct pcifront_device *pdev, struct xen_pci_op *op)
 	}
 
 	/*
-	* We might lose backend service request since we
-	* reuse same evtchn with pci_conf backend response. So re-schedule
-	* aer pcifront service.
-	*/
+	 * We might lose backend service request since we
+	 * reuse same evtchn with pci_conf backend response. So re-schedule
+	 * aer pcifront service.
+	 */
 	if (test_bit(_XEN_PCIB_active,
 			(unsigned long *)&pdev->sh_info->flags)) {
 		dev_err(&pdev->xdev->dev,
@@ -414,7 +414,8 @@ static int pcifront_scan_bus(struct pcifront_device *pdev,
 	struct pci_dev *d;
 	unsigned int devfn;
 
-	/* Scan the bus for functions and add.
+	/*
+	 * Scan the bus for functions and add.
 	 * We omit handling of PCI bridge attachment because pciback prevents
 	 * bridges from being exported.
 	 */
@@ -492,8 +493,10 @@ static int pcifront_scan_root(struct pcifront_device *pdev,
 
 	list_add(&bus_entry->list, &pdev->root_buses);
 
-	/* pci_scan_root_bus skips devices which do not have a
-	* devfn==0. The pcifront_scan_bus enumerates all devfn. */
+	/*
+	 * pci_scan_root_bus skips devices which do not have a
+	 * devfn==0. The pcifront_scan_bus enumerates all devfn.
+	 */
 	err = pcifront_scan_bus(pdev, domain, bus, b);
 
 	/* Claim resources before going "live" with our devices */
@@ -651,8 +654,10 @@ static void pcifront_do_aer(struct work_struct *data)
 	pci_channel_state_t state =
 		(pci_channel_state_t)pdev->sh_info->aer_op.err;
 
-	/*If a pci_conf op is in progress,
-		we have to wait until it is done before service aer op*/
+	/*
+	 * If a pci_conf op is in progress, we have to wait until it is done
+	 * before service aer op
+	 */
 	dev_dbg(&pdev->xdev->dev,
 		"pcifront service aer bus %x devfn %x\n",
 		pdev->sh_info->aer_op.bus, pdev->sh_info->aer_op.devfn);
@@ -676,6 +681,7 @@ static void pcifront_do_aer(struct work_struct *data)
 static irqreturn_t pcifront_handler_aer(int irq, void *dev)
 {
 	struct pcifront_device *pdev = dev;
+
 	schedule_pcifront_aer_op(pdev);
 	return IRQ_HANDLED;
 }
@@ -1027,6 +1033,7 @@ static int pcifront_detach_devices(struct pcifront_device *pdev)
 	/* Find devices being detached and remove them. */
 	for (i = 0; i < num_devs; i++) {
 		int l, state;
+
 		l = snprintf(str, sizeof(str), "state-%d", i);
 		if (unlikely(l >= (sizeof(str) - 1))) {
 			err = -ENOMEM;
@@ -1078,7 +1085,7 @@ static int pcifront_detach_devices(struct pcifront_device *pdev)
 	return err;
 }
 
-static void __ref pcifront_backend_changed(struct xenbus_device *xdev,
+static void pcifront_backend_changed(struct xenbus_device *xdev,
 						  enum xenbus_state be_state)
 {
 	struct pcifront_device *pdev = dev_get_drvdata(&xdev->dev);
@@ -1137,6 +1144,7 @@ static int pcifront_xenbus_probe(struct xenbus_device *xdev,
 static int pcifront_xenbus_remove(struct xenbus_device *xdev)
 {
 	struct pcifront_device *pdev = dev_get_drvdata(&xdev->dev);
+
 	if (pdev)
 		free_pdev(pdev);
 
-- 
2.33.0



From xen-devel-bounces@lists.xenproject.org Mon Aug 30 16:08:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 16:08:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175184.319217 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKjq8-0004Bm-EZ; Mon, 30 Aug 2021 16:08:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175184.319217; Mon, 30 Aug 2021 16: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 1mKjq8-0004Bf-BH; Mon, 30 Aug 2021 16:08:52 +0000
Received: by outflank-mailman (input) for mailman id 175184;
 Mon, 30 Aug 2021 16:08:50 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mKjq6-0004BV-Ru; Mon, 30 Aug 2021 16:08:50 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mKjq6-0001av-Kr; Mon, 30 Aug 2021 16:08:50 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mKjq6-0004k8-Ap; Mon, 30 Aug 2021 16:08:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mKjq6-00015M-AK; Mon, 30 Aug 2021 16:08:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=xzLDS6J7k6NqQbV5hwTOtrwYKld0tUuQSWJOBpdCSik=; b=TJMg1MaWG2gB+R9Og47ds4eEep
	52FQuU6vf8o2b+rckeJujXCM4UtgApi6xnYnSJrlRfn4/7NrOSJCvjoXOmG+fgAJje+YXu5WX8Td2
	MscNenV8v/ykq48JRgrebLaUMbYe32IzkpRi8BywiLRISVb6W0DAVY1rwHLW8zmFEuSI=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164601-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 164601: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check: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-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-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-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-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-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=ad22d0583300df420819e6c89b1c022b998fac8a
X-Osstest-Versions-That:
    qemuu=d8ae530ec00368d4adfb996b5ef6c74cb4460504
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 30 Aug 2021 16:08:50 +0000

flight 164601 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164601/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164526
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164526
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164526
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164526
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164526
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164526
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164526
 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-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                ad22d0583300df420819e6c89b1c022b998fac8a
baseline version:
 qemuu                d8ae530ec00368d4adfb996b5ef6c74cb4460504

Last test of basis   164526  2021-08-27 18:38:37 Z    2 days
Testing same since   164601  2021-08-29 11:06:48 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alistair Francis <alistair.francis@wdc.com>
  Andrew Jones <drjones@redhat.com>
  Ani Sinha <ani@anisinha.ca>
  Chenyi Qiang <chenyi.qiang@intel.com>
  Cédric Le Goater <clg@kaod.org>
  David Gibson <david@gibson.dropbear.id.au>
  Eduardo Habkost <ehabkost@redhat.com>
  Jagannathan Raman <jag.raman@oracle.com>
  John Snow <jsnow@redhat.com>
  Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Markus Armbruster <armbru@redhat.com>
  Matheus Ferst <matheus.ferst@eldorado.org.br>
  Michael S. Tsirkin <mst@redhat.com>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@redhat.com>
  Thomas Huth <thuth@redhat.com>
  Tong Ho <tong.ho@xilinx.com>
  Yang Zhong <yang.zhong@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   d8ae530ec0..ad22d05833  ad22d0583300df420819e6c89b1c022b998fac8a -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Mon Aug 30 16:12:38 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 16:12:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175191.319231 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKjtl-0005m0-7I; Mon, 30 Aug 2021 16:12:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175191.319231; Mon, 30 Aug 2021 16:12:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKjtl-0005lt-4B; Mon, 30 Aug 2021 16:12:37 +0000
Received: by outflank-mailman (input) for mailman id 175191;
 Mon, 30 Aug 2021 16:12:36 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fFp4=NV=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mKjtj-0005ln-T5
 for xen-devel@lists.xenproject.org; Mon, 30 Aug 2021 16:12:35 +0000
Received: from smtp-out2.suse.de (unknown [195.135.220.29])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 15c96184-09ad-11ec-ac9b-12813bfff9fa;
 Mon, 30 Aug 2021 16:12:34 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 D7BC5200D7;
 Mon, 30 Aug 2021 16:12:33 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 90CC3139BB;
 Mon, 30 Aug 2021 16:12:33 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id GdbNIXEDLWGsIAAAGKfGzw
 (envelope-from <jgross@suse.com>); Mon, 30 Aug 2021 16: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: 15c96184-09ad-11ec-ac9b-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1630339953; 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=xBQ7FIg+6O9siSbKpK8EjSIbBKNvrFU9Ut9QehKS9a4=;
	b=iovPIVz2Nx8Kf+6XMfuc0Gk1sBC6D+rmCHaclRSHk888d5KVTn/YmVq8i6D/aFbFxVx6WB
	Qnx3Mu2LS7l/yHbpbJQmCFOugz0Zb4c3qLOx1kPRHkyU/T/7Tp8SyqqUwS46e029CGvo8t
	8CZWdHRV3S6ir71UzFokDCd4RTC2sWg=
Subject: Re: [PATCH v2] xen/pcifront: Removed unnecessary __ref annotation
To: =?UTF-8?Q?Sergio_Migu=c3=a9ns_Iglesias?= <lonyelon@gmail.com>,
 konrad.wilk@oracle.com
Cc: boris.ostrovsky@oracle.com, sstabellini@kernel.org, bhelgaas@google.com,
 xen-devel@lists.xenproject.org, linux-pci@vger.kernel.org,
 linux-kernel@vger.kernel.org, =?UTF-8?Q?Sergio_Migu=c3=a9ns_Iglesias?=
 <sergio@lony.xyz>
References: <20210830175305.13370-1-sergio@lony.xyz>
From: Juergen Gross <jgross@suse.com>
Message-ID: <c30a0835-e1c2-eca1-90d9-fcf8808c6510@suse.com>
Date: Mon, 30 Aug 2021 18:12:32 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <20210830175305.13370-1-sergio@lony.xyz>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="mSX3MV3pc7lCaHXzywjt4cM0ijUa0JFTe"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--mSX3MV3pc7lCaHXzywjt4cM0ijUa0JFTe
Content-Type: multipart/mixed; boundary="wgqNTkARa6z9h1rsIpTkGELfWVqJ3Iy5l";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: =?UTF-8?Q?Sergio_Migu=c3=a9ns_Iglesias?= <lonyelon@gmail.com>,
 konrad.wilk@oracle.com
Cc: boris.ostrovsky@oracle.com, sstabellini@kernel.org, bhelgaas@google.com,
 xen-devel@lists.xenproject.org, linux-pci@vger.kernel.org,
 linux-kernel@vger.kernel.org, =?UTF-8?Q?Sergio_Migu=c3=a9ns_Iglesias?=
 <sergio@lony.xyz>
Message-ID: <c30a0835-e1c2-eca1-90d9-fcf8808c6510@suse.com>
Subject: Re: [PATCH v2] xen/pcifront: Removed unnecessary __ref annotation
References: <20210830175305.13370-1-sergio@lony.xyz>
In-Reply-To: <20210830175305.13370-1-sergio@lony.xyz>

--wgqNTkARa6z9h1rsIpTkGELfWVqJ3Iy5l
Content-Type: multipart/mixed;
 boundary="------------4C62CBBA30041344696CEC9B"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------4C62CBBA30041344696CEC9B
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 30.08.21 19:53, Sergio Migu=C3=A9ns Iglesias wrote:
> An unnecessary "__ref" annotation was removed from the
> "drivers/pci/xen_pcifront.c" file. The function where the annotation
> was used was "pcifront_backend_changed()", which does not call any
> functions annotated as "__*init" nor "__*exit". This makes "__ref"
> unnecessary since this annotation is used to make the compiler ignore
> section miss-matches when they are not happening here in the first
> place.
>=20
> In addition to the aforementioned change, some code style issues were
> fixed in the same file.
>=20
> Signed-off-by: Sergio Migu=C3=A9ns Iglesias <sergio@lony.xyz>

Reviewed-by: Juergen Gross <jgross@suse.com>


Juergen

--------------4C62CBBA30041344696CEC9B
Content-Type: application/pgp-keys;
 name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Transfer-Encoding: quoted-printable
Content-Description: OpenPGP public key
Content-Disposition: attachment;
 filename="OpenPGP_0xB0DE9DD628BF132F.asc"

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOBy=
cWx
w3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJvedYm8O=
f8Z
d621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y=
9bf
IhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xq=
G7/
377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR=
3Jv
c3MgPGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsEFgIDA=
QIe
AQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4FUGNQH2lvWAUy+dnyT=
hpw
dtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3TyevpB0CA3dbBQp0OW0fgCetToGIQrg0=
MbD
1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbv=
oPH
Z8SlM4KWm8rG+lIkGurqqu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v=
5QL
+qHI3EIPtyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVyZ=
2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJCAcDAgEGFQgCC=
QoL
BBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4RF7HoZhPVPogNVbC4YA6lW7Dr=
Wf0
teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz78X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC=
/nu
AFVGy+67q2DH8As3KPu0344TBDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0Lh=
ITT
d9jLzdDad1pQSToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLm=
XBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkMnQfvUewRz=
80h
SnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMBAgAjBQJTjHDXAhsDBwsJC=
AcD
AgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJn=
FOX
gMLdBQgBlVPO3/D9R8LtF9DBAFPNhlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1=
jnD
kfJZr6jrbjgyoZHiw/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0=
N51
N5JfVRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwPOoE+l=
otu
fe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK/1xMI3/+8jbO0tsn1=
tqS
EUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuZGU+wsB5BBMBAgAjBQJTjHDrA=
hsD
BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3=
g3O
ZUEBmDHVVbqMtzwlmNC4k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5=
dM7
wRqzgJpJwK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu5=
D+j
LRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzBTNh30FVKK1Evm=
V2x
AKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37IoN1EblHI//x/e2AaIHpzK5h88N=
Eaw
QsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpW=
nHI
s98ndPUDpnoxWQugJ6MpMncr0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZR=
wgn
BC5mVM6JjQ5xDk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNV=
bVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mmwe0icXKLk=
pEd
IXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0Iv3OOImwTEe4co3c1mwARA=
QAB
wsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMvQ/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEw=
Tbe
8YFsw2V/Buv6Z4Mysln3nQK5ZadD534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1=
vJz
Q1fOU8lYFpZXTXIHb+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8=
VGi
wXvTyJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqcsuylW=
svi
uGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5BjR/i1DG86lem3iBDX=
zXs
ZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------4C62CBBA30041344696CEC9B--

--wgqNTkARa6z9h1rsIpTkGELfWVqJ3Iy5l--

--mSX3MV3pc7lCaHXzywjt4cM0ijUa0JFTe
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmEtA3EFAwAAAAAACgkQsN6d1ii/Ey8q
TAf+MVn0lQXPCkA3G8XCakPAwOP+HEof7NLvoGaAVNv8XzHA48C+CoUEqV7ibOn0iNW/gkvheZLA
fvXrAQqUi7P+n7YFcBV6xFCbbtFyCb6jgyZ7RUNpgd/YNmo3ZHc8Ae5KS0+uI4stXKBav6SvIXs9
MWzaNOqhBR25Se9qaJvbO8JJ2tq2bzZWS1vsc4q7HTx5Uz9F3PUjtBdq//tD0pPTSyaA1SXtg+A2
bmkbZ6cV9dK6A6rs1D8qyfUMQF+zL1gwbEU8SKA0XCsIGUk7AcLp8yvfLKDor+1zeAIc5cjMNjl/
eviBfsf14LfRZ925sB2e/gdvmi0Wjo74tdQNSE+iMg==
=Xg+X
-----END PGP SIGNATURE-----

--mSX3MV3pc7lCaHXzywjt4cM0ijUa0JFTe--


From xen-devel-bounces@lists.xenproject.org Mon Aug 30 16:14:43 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 16:14:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175196.319242 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKjvj-0006NJ-Kn; Mon, 30 Aug 2021 16:14:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175196.319242; Mon, 30 Aug 2021 16:14: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 1mKjvj-0006NC-HH; Mon, 30 Aug 2021 16:14:39 +0000
Received: by outflank-mailman (input) for mailman id 175196;
 Mon, 30 Aug 2021 16:14:38 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Nzk9=NV=gmail.com=olekstysh@srs-us1.protection.inumbo.net>)
 id 1mKjvi-0006N6-Dd
 for xen-devel@lists.xenproject.org; Mon, 30 Aug 2021 16:14:38 +0000
Received: from mail-lj1-x229.google.com (unknown [2a00:1450:4864:20::229])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 57465d24-3867-4e13-83b1-babfebdb5f38;
 Mon, 30 Aug 2021 16:14:37 +0000 (UTC)
Received: by mail-lj1-x229.google.com with SMTP id f2so26889841ljn.1
 for <xen-devel@lists.xenproject.org>; Mon, 30 Aug 2021 09:14:37 -0700 (PDT)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id e24sm1431549lfs.212.2021.08.30.09.14.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Aug 2021 09:14: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: 57465d24-3867-4e13-83b1-babfebdb5f38
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-transfer-encoding:content-language;
        bh=R2ct2esXV6R7RIMbBAcf4V8v15YVg4kbeBebvMA4nHY=;
        b=iRDUZFvnGrPvguw0UEPb9zhIvSIRFZTPGPBkHyvl3HFYdLya2zFkjrtHii27UvEQ2n
         lsebYqexpHy2Z39FoTclq1CRP1NiCNUCQFei45KFhAyQxs47tq8cJjKQGJVu9tn9Usf2
         IktdzzZBZmVpGYTXbRpvhvBZTQW1NYpvTMKfShmoYkpTQGurrgnA4ITHcOeJhZ35qdxs
         nypdvKbpAgMYk/OxttMY+56ER68/kSqnXlIrhZfSANReIRazdL+VdFFl63tNNMMQ5RMc
         /0SJsMNdEHs/zprCG1J1lVZ4pwVpZPx/rTv7LaDFnHhEheF+Od2lJka/z1kk13YZaPoT
         ANAg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-transfer-encoding
         :content-language;
        bh=R2ct2esXV6R7RIMbBAcf4V8v15YVg4kbeBebvMA4nHY=;
        b=bVWwKW9ZrLkvA2qU8aaT+OLOc81S66He+p1BVK7afgNOG5WSlLTuRFSuyVvkPo1zgY
         wQy6BODduSNDeK/de7rL3XFSg7UHgwiSrWyWvJhoEyTB6/q4Axfn/9zc7Q3mOL087gdX
         ndOoq4o8WaWwGRhvO8hq0mdQRlcvCob7NJCR08ATK4B/HP4hm8616Ok967+TDmHyYDVM
         CYa7/dGzR8eYUPLv/cIrFhVEV3SCOxDIxMnGUf1HDHklDxLRqQXFH4lY8mayT3Qbpkde
         /e79HLme84QKuTlaJCvIVSZD5vPFcTDsZhf9DvUYo46Ug+za36KLHHUeqfrFGEp91Zig
         6fzw==
X-Gm-Message-State: AOAM532BWS/S5n+Pt8+oS69bTurks91GqftGTVq6pwPeCoJsT47yKmWq
	Rm3GldlFnuIoMQa659ombZ0d+ipdQYY=
X-Google-Smtp-Source: ABdhPJzpLsCkj80WBFG2OJG4L8Fd1oXJUSQjLXEfKba9d8eNOs+cuLLIbS878DPirtnETSt+zSaz1w==
X-Received: by 2002:a2e:8014:: with SMTP id j20mr21175648ljg.228.1630340075674;
        Mon, 30 Aug 2021 09:14:35 -0700 (PDT)
Subject: Re: [RFC PATCH] xen: Introduce arch specific field to
 XEN_SYSCTL_physinfo
To: Jan Beulich <jbeulich@suse.com>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Juergen Gross
 <jgross@suse.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <1628897304-20793-1-git-send-email-olekstysh@gmail.com>
 <908e2d59-41f0-3bad-6030-b2889d9c5cc2@suse.com>
 <8c622f4f-1931-3e2c-4f6e-9b832e8e435e@gmail.com>
 <cdfe8217-3d7a-cc56-2a61-bfea02a348cf@suse.com>
From: Oleksandr <olekstysh@gmail.com>
Message-ID: <77bd9473-c7e4-51a9-c66d-7dd4d62c0368@gmail.com>
Date: Mon, 30 Aug 2021 19:14:34 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.10.0
MIME-Version: 1.0
In-Reply-To: <cdfe8217-3d7a-cc56-2a61-bfea02a348cf@suse.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Content-Language: en-US


On 30.08.21 16:16, Jan Beulich wrote:

Hi Jan

> On 29.08.2021 22:28, Oleksandr wrote:
>> On 16.08.21 10:33, Jan Beulich wrote:
>>> On 14.08.2021 01:28, Oleksandr Tyshchenko wrote:
>>>> --- a/xen/include/public/arch-arm.h
>>>> +++ b/xen/include/public/arch-arm.h
>>>> @@ -332,6 +332,11 @@ struct xen_arch_domainconfig {
>>>>         */
>>>>        uint32_t clock_frequency;
>>>>    };
>>>> +
>>>> +struct arch_physinfo {
>>>> +    /* Holds the bit size of IPAs in p2m tables. */
>>>> +    uint32_t p2m_ipa_bits;
>>>> +};
>>>>    #endif /* __XEN__ || __XEN_TOOLS__ */
>>>>    
>>>>    struct arch_vcpu_info {
>>>> --- a/xen/include/public/arch-x86/xen.h
>>>> +++ b/xen/include/public/arch-x86/xen.h
>>>> @@ -346,6 +346,8 @@ typedef struct xen_msr_entry {
>>>>    } xen_msr_entry_t;
>>>>    DEFINE_XEN_GUEST_HANDLE(xen_msr_entry_t);
>>>>    
>>>> +struct arch_physinfo {
>>>> +};
>>>>    #endif /* !__ASSEMBLY__ */
>>> While the term "p2m_ipa_bits" surely isn't arch-agnostic, I wonder
>>> whether the expressed information is (the x86 equivalent being
>>> hap_paddr_bits, at a guess), and hence whether this really ought
>>> to live in an arch-specific sub-struct.
>> Well, on Arm we calculate the number of the IPA bits based on the number
>> of PA bits when setting Stage 2 address translation.
>> I might mistake, but what we currently have on Arm is "ipa_bits ==
>> pa_bits". So, this means that information we need at the toolstack side
>> isn't really arch-specific and
>> we could probably avoid introducing arch-specific sub-struct by suitable
>> renaming the field (pa_bits, paddr_bits, whatever).
>>
>> We could even name the field as hap_paddr_bits. Although, I don't know
>> whether the hap_* is purely x86-ism, but I see there are several
>> mentions in the common code (hap_pt_share, use_hap_pt, etc). Any
>> suggestions?
> Well, HAP or not - there is going to be a limit to a guest's
> address bits. So I don't see why it would matter whether HAP is
> an x86-specific term.

agree


>   If you wanted to express the guest nature
> and distinguish it from "paddr_bits", how about "gaddr_bits" or
> "gpaddr_bits"?

ok, both sound fine to me, with a little preference for gpaddr_bits. So, 
will drop arch-specific sub-struct for the next version.

Thank you.


>
> Jan
>
-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Mon Aug 30 16:29:35 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 16:29:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175204.319258 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKkA3-00082P-Vy; Mon, 30 Aug 2021 16:29:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175204.319258; Mon, 30 Aug 2021 16:29:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKkA3-00082I-Sw; Mon, 30 Aug 2021 16:29:27 +0000
Received: by outflank-mailman (input) for mailman id 175204;
 Mon, 30 Aug 2021 16:29:26 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=R+Rp=NV=kernel.org=helgaas@srs-us1.protection.inumbo.net>)
 id 1mKkA2-00082C-Cb
 for xen-devel@lists.xenproject.org; Mon, 30 Aug 2021 16:29:26 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 6f8724ad-09af-11ec-ac9b-12813bfff9fa;
 Mon, 30 Aug 2021 16:29:25 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id F3CCF60F5B;
 Mon, 30 Aug 2021 16:29: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: 6f8724ad-09af-11ec-ac9b-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1630340964;
	bh=KIS38HSL5S324U+X4e+2rl9sJee9NgV2uUMLDx/vPS8=;
	h=Date:From:To:Cc:Subject:In-Reply-To:From;
	b=vF6Zy+cQLDdsvo1Nzrc+HB4djdR6og6ujIwvlfsUvb2P88VivxohcYNSHMXAri1uN
	 dWsiI2v/kcq5X61RUyujFcxKVk5li57qUE7SYagOiCaY8qREyyLKG0kFM/gbLoP3qs
	 xvpBAmhek5sfwwKTB415K179ClqtniTFKytPMse3FOlGiQIIZpAnwfOdQRs8Pi9bSE
	 0bmmeHYra8f0Sj5leEafVCV6d8dmh+3Y4u33zh/Mvwxj9I44l9UAPprvBgeEr3WIiG
	 ktVj4sudusIKVET26uBwZNkSnek40WwFrj4PNWkgrln8Ys8shwKQ7Q5JQoo/2a5Qy/
	 6QCuAlLqxpmeQ==
Date: Mon, 30 Aug 2021 11:29:22 -0500
From: Bjorn Helgaas <helgaas@kernel.org>
To: Sergio =?iso-8859-1?Q?Migu=E9ns?= Iglesias <lonyelon@gmail.com>
Cc: konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, jgross@suse.com,
	sstabellini@kernel.org, bhelgaas@google.com,
	xen-devel@lists.xenproject.org, linux-pci@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Sergio =?iso-8859-1?Q?Migu=E9ns?= Iglesias <sergio@lony.xyz>
Subject: Re: [PATCH v2] xen/pcifront: Removed unnecessary __ref annotation
Message-ID: <20210830162922.GA4188989@bjorn-Precision-5520>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20210830175305.13370-1-sergio@lony.xyz>

On Mon, Aug 30, 2021 at 07:53:05PM +0200, Sergio Miguns Iglesias wrote:
> An unnecessary "__ref" annotation was removed from the
> "drivers/pci/xen_pcifront.c" file. The function where the annotation
> was used was "pcifront_backend_changed()", which does not call any
> functions annotated as "__*init" nor "__*exit". This makes "__ref"
> unnecessary since this annotation is used to make the compiler ignore
> section miss-matches when they are not happening here in the first
> place.
> 
> In addition to the aforementioned change, some code style issues were
> fixed in the same file.

One of the Xen folks may apply this, and they may not be as nit-picky
as I am :)

If I were to apply this, I would suggest:

  - Write subject line and commit message in imperative mood.  This is
    a really good guide to this and other commit message this:
    https://chris.beams.io/posts/git-commit/

    For example, in the subject, say "Remove" (not "Removed").  Same
    in the body.  In the body, I would mention the function but not
    the filename since that's obvious from the diff.

  - Split the __ref change into a separate patch from the style
    changes.  The __ref removal should come first and be the absolute
    minimal patch.  That makes it much easier to review, backport, and
    revert if necessary.  And, if the maintainer isn't wild about
    style patches, it's trivial to just ignore that patch.

    Commit logs that say "Also, ..." or "In addition, ..." are always
    red flags to me because they usually indicate the patch could be
    split into two or more simpler patches.

  - When reviewing changes like this, I assume __ref was added in the
    first place for some good reason, so I want to know why, and I
    want to know when that reason changed.  So I would look for the
    commit that *introduced* __ref and for the commit that removed the
    need for it.  It would save me time if the log said something
    like:

      956a9202cd12 ("xen-pcifront: Xen PCI frontend driver.") added
      __initrefok because pcifront_backend_changed() called
      pcifront_try_connect() and pcifront_attach_devices(), which were
      both __devinit.

      The __devinit annotations were removed by 15856ad50bf5 ("PCI:
      Remove __dev* markings"), which made __initrefok unnecessary.

      Finally, bd721ea73e1f ("treewide: replace obsolete _refok by
      __ref") replaced __initrefok with __ref.

    That might be too much for a commit log, but it shows that you've
    done your homework and makes it easier to review (and helps people
    make similar fixes elsewhere).  If it *is* too much, it's trivial
    for a maintainer to cut it out.

More notes about my idiosyncracies:
https://lore.kernel.org/r/20171026223701.GA25649@bhelgaas-glaptop.roam.corp.google.com

> Signed-off-by: Sergio Miguns Iglesias <sergio@lony.xyz>
> ---
>  drivers/pci/xen-pcifront.c | 30 +++++++++++++++++++-----------
>  1 file changed, 19 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c
> index b7a8f3a1921f..427041c1e408 100644
> --- a/drivers/pci/xen-pcifront.c
> +++ b/drivers/pci/xen-pcifront.c
> @@ -115,7 +115,7 @@ static int do_pci_op(struct pcifront_device *pdev, struct xen_pci_op *op)
>  	struct xen_pci_op *active_op = &pdev->sh_info->op;
>  	unsigned long irq_flags;
>  	evtchn_port_t port = pdev->evtchn;
> -	unsigned irq = pdev->irq;
> +	unsigned int irq = pdev->irq;
>  	s64 ns, ns_timeout;
>  
>  	spin_lock_irqsave(&pdev->sh_info_lock, irq_flags);
> @@ -153,10 +153,10 @@ static int do_pci_op(struct pcifront_device *pdev, struct xen_pci_op *op)
>  	}
>  
>  	/*
> -	* We might lose backend service request since we
> -	* reuse same evtchn with pci_conf backend response. So re-schedule
> -	* aer pcifront service.
> -	*/
> +	 * We might lose backend service request since we
> +	 * reuse same evtchn with pci_conf backend response. So re-schedule
> +	 * aer pcifront service.
> +	 */
>  	if (test_bit(_XEN_PCIB_active,
>  			(unsigned long *)&pdev->sh_info->flags)) {
>  		dev_err(&pdev->xdev->dev,
> @@ -414,7 +414,8 @@ static int pcifront_scan_bus(struct pcifront_device *pdev,
>  	struct pci_dev *d;
>  	unsigned int devfn;
>  
> -	/* Scan the bus for functions and add.
> +	/*
> +	 * Scan the bus for functions and add.
>  	 * We omit handling of PCI bridge attachment because pciback prevents
>  	 * bridges from being exported.
>  	 */
> @@ -492,8 +493,10 @@ static int pcifront_scan_root(struct pcifront_device *pdev,
>  
>  	list_add(&bus_entry->list, &pdev->root_buses);
>  
> -	/* pci_scan_root_bus skips devices which do not have a
> -	* devfn==0. The pcifront_scan_bus enumerates all devfn. */
> +	/*
> +	 * pci_scan_root_bus skips devices which do not have a
> +	 * devfn==0. The pcifront_scan_bus enumerates all devfn.
> +	 */
>  	err = pcifront_scan_bus(pdev, domain, bus, b);
>  
>  	/* Claim resources before going "live" with our devices */
> @@ -651,8 +654,10 @@ static void pcifront_do_aer(struct work_struct *data)
>  	pci_channel_state_t state =
>  		(pci_channel_state_t)pdev->sh_info->aer_op.err;
>  
> -	/*If a pci_conf op is in progress,
> -		we have to wait until it is done before service aer op*/
> +	/*
> +	 * If a pci_conf op is in progress, we have to wait until it is done
> +	 * before service aer op
> +	 */
>  	dev_dbg(&pdev->xdev->dev,
>  		"pcifront service aer bus %x devfn %x\n",
>  		pdev->sh_info->aer_op.bus, pdev->sh_info->aer_op.devfn);
> @@ -676,6 +681,7 @@ static void pcifront_do_aer(struct work_struct *data)
>  static irqreturn_t pcifront_handler_aer(int irq, void *dev)
>  {
>  	struct pcifront_device *pdev = dev;
> +
>  	schedule_pcifront_aer_op(pdev);
>  	return IRQ_HANDLED;
>  }
> @@ -1027,6 +1033,7 @@ static int pcifront_detach_devices(struct pcifront_device *pdev)
>  	/* Find devices being detached and remove them. */
>  	for (i = 0; i < num_devs; i++) {
>  		int l, state;
> +
>  		l = snprintf(str, sizeof(str), "state-%d", i);
>  		if (unlikely(l >= (sizeof(str) - 1))) {
>  			err = -ENOMEM;
> @@ -1078,7 +1085,7 @@ static int pcifront_detach_devices(struct pcifront_device *pdev)
>  	return err;
>  }
>  
> -static void __ref pcifront_backend_changed(struct xenbus_device *xdev,
> +static void pcifront_backend_changed(struct xenbus_device *xdev,
>  						  enum xenbus_state be_state)
>  {
>  	struct pcifront_device *pdev = dev_get_drvdata(&xdev->dev);
> @@ -1137,6 +1144,7 @@ static int pcifront_xenbus_probe(struct xenbus_device *xdev,
>  static int pcifront_xenbus_remove(struct xenbus_device *xdev)
>  {
>  	struct pcifront_device *pdev = dev_get_drvdata(&xdev->dev);
> +
>  	if (pdev)
>  		free_pdev(pdev);
>  
> -- 
> 2.33.0
> 


From xen-devel-bounces@lists.xenproject.org Mon Aug 30 16:52:58 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 16:52:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175213.319269 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKkWZ-00036V-SH; Mon, 30 Aug 2021 16:52:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175213.319269; Mon, 30 Aug 2021 16:52:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKkWZ-00036O-Ov; Mon, 30 Aug 2021 16:52:43 +0000
Received: by outflank-mailman (input) for mailman id 175213;
 Mon, 30 Aug 2021 16:52: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 1mKkWY-00036E-3V; Mon, 30 Aug 2021 16:52: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 1mKkWX-0002L3-Q0; Mon, 30 Aug 2021 16:52: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 1mKkWX-0008DI-I8; Mon, 30 Aug 2021 16:52:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mKkWX-0000YT-Gq; Mon, 30 Aug 2021 16:52: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=ah4rE8pW4OZS/EFMeNQSQlpWT0dqegL9fEqR0pzLYVU=; b=M9mvR9AmGetp/ItOIZW0ItpDtG
	QafkeVlVML8FWcFNciA5ro+NjOhNuwBatAJ/GDcw2XZg4KE0M880BDTBZO6fZaC+BCyn+bvhBGb6w
	m8RmCrB3/E8RP2HLsTgc6DbLdM6gCz1sGfdYwVIoNV+b56GtR6BcNxE1hO8vFmb1KTDU=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164649-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 164649: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=daaf007eb3467f900a2e20fadbc4c6f3bfcaa356
X-Osstest-Versions-That:
    xen=8064488062641ae505b2a7369611c38057a7788b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 30 Aug 2021 16:52:41 +0000

flight 164649 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164649/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  daaf007eb3467f900a2e20fadbc4c6f3bfcaa356
baseline version:
 xen                  8064488062641ae505b2a7369611c38057a7788b

Last test of basis   164525  2021-08-27 18:01:40 Z    2 days
Testing same since   164649  2021-08-30 14:00:34 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <julien@xen.org>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   8064488062..daaf007eb3  daaf007eb3467f900a2e20fadbc4c6f3bfcaa356 -> smoke


From xen-devel-bounces@lists.xenproject.org Mon Aug 30 18:14:52 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 18:14:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175227.319296 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKlnp-0003Lg-78; Mon, 30 Aug 2021 18:14:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175227.319296; Mon, 30 Aug 2021 18: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 1mKlnp-0003LZ-3v; Mon, 30 Aug 2021 18:14:37 +0000
Received: by outflank-mailman (input) for mailman id 175227;
 Mon, 30 Aug 2021 18:14:35 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ySg/=NV=gmail.com=lonyelon@srs-us1.protection.inumbo.net>)
 id 1mKlnn-0003LT-BY
 for xen-devel@lists.xenproject.org; Mon, 30 Aug 2021 18:14:35 +0000
Received: from mail-ed1-x52f.google.com (unknown [2a00:1450:4864:20::52f])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 1c29705a-174a-4cc5-956d-0a7913e4925b;
 Mon, 30 Aug 2021 18:14:33 +0000 (UTC)
Received: by mail-ed1-x52f.google.com with SMTP id r7so6957875edd.6
 for <xen-devel@lists.xenproject.org>; Mon, 30 Aug 2021 11:14:33 -0700 (PDT)
Received: from localhost (host-79-37-188-60.retail.telecomitalia.it.
 [79.37.188.60])
 by smtp.gmail.com with ESMTPSA id i6sm6987518ejr.68.2021.08.30.11.14.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 30 Aug 2021 11:14: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: 1c29705a-174a-4cc5-956d-0a7913e4925b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=date:from:to:cc:subject:message-id:references:mime-version
         :content-disposition:content-transfer-encoding:in-reply-to;
        bh=0j4HbXVAukqCvkqeiElajeZaQqhOfru+oix0tV+lQrI=;
        b=QVUhEAZZ9HU15JpJ9CRyLHMIFOZ1jMD+Io0SA44k9zuJteTpy6xjFzlUQZVkkcSkAV
         8THSnA5pErW9mh5pJyM+NbnYl7Pw651j82Rv9+L74mEpHDw71DdAC/F+7u9mhJOrEAVp
         NajR+KTLYwgtN7wVhlmT8ko8uVqjccOkx8ogYtd9m7TZ809y5yL0WesSsInyR/yAeK28
         eFRizHIseQzk1IK58Vs/HoFFHx2poJxRlKEsEqdJ+jKqtlRr8DK+2Oj+3H+0OX4mePK4
         OB98P/mpsDnjicliInySQwE++/oZtWD2CEUUEBNwurI4C5HEa27VWGOOCPKWnWRtwBK4
         4LaQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:date:from:to:cc:subject:message-id:references
         :mime-version:content-disposition:content-transfer-encoding
         :in-reply-to;
        bh=0j4HbXVAukqCvkqeiElajeZaQqhOfru+oix0tV+lQrI=;
        b=OCDmC9q/7Gk63XW+r1KNBAt78CoRyAq13kjK3bFB6RS/TiW2Y3WFbJVM1e1/O82Be8
         pY7T2gcvDbZWZ92IrHrSZzRTKkoyVozrsfGpiCdp/ZrDuqyergQyVAcALmdQhbveYDDN
         Fqvrblvhgqr9CiOyYk0FRVXkoi/DV/9b0/qUmAPqt/xx/m15CXOBylW0oQiCw/aKK4xS
         5utDawfRUKf7hb4Mag74EQATQDDieAK3Ge2GJUOTyLEcbHOvilMF+R2JlnhJHbwqqwdW
         ZT0fHxSkMUvHP0mMLLHzxFvPAy/2S6HJVVw3+qZFRNmA6xI5VMzumLsxIxG0rj+3NRVx
         DmEg==
X-Gm-Message-State: AOAM5311BwpQJXxh5RS2sBMtkKTPvVEwj5MOsyPVyC+juUm+A1DyVzMr
	VN3AN7hFjCiDYOUYnILz1J0=
X-Google-Smtp-Source: ABdhPJw4A9PXJGNP++AeWzylFWjXO6a0PeDAh3ff0+0VYFa/9G5+yu5ZZ7PL5Fqs++aDAAtRkCC1sQ==
X-Received: by 2002:a05:6402:5108:: with SMTP id m8mr25755510edd.367.1630347272917;
        Mon, 30 Aug 2021 11:14:32 -0700 (PDT)
Date: Mon, 30 Aug 2021 22:14:26 +0200
From: Sergio =?utf-8?Q?Migu=C3=A9ns?= Iglesias <lonyelon@gmail.com>
To: Bjorn Helgaas <helgaas@kernel.org>
Cc: konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, jgross@suse.com,
	sstabellini@kernel.org, bhelgaas@google.com,
	xen-devel@lists.xenproject.org, linux-pci@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Sergio =?utf-8?Q?Migu=C3=A9ns?= Iglesias <sergio@lony.xyz>
Subject: Re: [PATCH v2] xen/pcifront: Removed unnecessary __ref annotation
Message-ID: <20210830201426.g2vaxh6chqnprual@archlap>
References: <20210830175305.13370-1-sergio@lony.xyz>
 <20210830162922.GA4188989@bjorn-Precision-5520>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20210830162922.GA4188989@bjorn-Precision-5520>

Thanks again for you answers!
I am lerning a lot from your replys and I really appreciate it. Should I
make a v3 patch and split that one into 2 different patches or would it
be confusing?

I don't want to take more of your time with poor patches so I don't know
if I should resend this one.

Thanks again,
Sergio M. Iglesias.

On 21/08/30 11:29, Bjorn Helgaas wrote:
> On Mon, Aug 30, 2021 at 07:53:05PM +0200, Sergio Miguns Iglesias wrote:
> > An unnecessary "__ref" annotation was removed from the
> > "drivers/pci/xen_pcifront.c" file. The function where the annotation
> > was used was "pcifront_backend_changed()", which does not call any
> > functions annotated as "__*init" nor "__*exit". This makes "__ref"
> > unnecessary since this annotation is used to make the compiler ignore
> > section miss-matches when they are not happening here in the first
> > place.
> > 
> > In addition to the aforementioned change, some code style issues were
> > fixed in the same file.
> 
> One of the Xen folks may apply this, and they may not be as nit-picky
> as I am :)
> 
> If I were to apply this, I would suggest:
> 
>   - Write subject line and commit message in imperative mood.  This is
>     a really good guide to this and other commit message this:
>     https://chris.beams.io/posts/git-commit/
> 
>     For example, in the subject, say "Remove" (not "Removed").  Same
>     in the body.  In the body, I would mention the function but not
>     the filename since that's obvious from the diff.
> 
>   - Split the __ref change into a separate patch from the style
>     changes.  The __ref removal should come first and be the absolute
>     minimal patch.  That makes it much easier to review, backport, and
>     revert if necessary.  And, if the maintainer isn't wild about
>     style patches, it's trivial to just ignore that patch.
> 
>     Commit logs that say "Also, ..." or "In addition, ..." are always
>     red flags to me because they usually indicate the patch could be
>     split into two or more simpler patches.
> 
>   - When reviewing changes like this, I assume __ref was added in the
>     first place for some good reason, so I want to know why, and I
>     want to know when that reason changed.  So I would look for the
>     commit that *introduced* __ref and for the commit that removed the
>     need for it.  It would save me time if the log said something
>     like:
> 
>       956a9202cd12 ("xen-pcifront: Xen PCI frontend driver.") added
>       __initrefok because pcifront_backend_changed() called
>       pcifront_try_connect() and pcifront_attach_devices(), which were
>       both __devinit.
> 
>       The __devinit annotations were removed by 15856ad50bf5 ("PCI:
>       Remove __dev* markings"), which made __initrefok unnecessary.
> 
>       Finally, bd721ea73e1f ("treewide: replace obsolete _refok by
>       __ref") replaced __initrefok with __ref.
> 
>     That might be too much for a commit log, but it shows that you've
>     done your homework and makes it easier to review (and helps people
>     make similar fixes elsewhere).  If it *is* too much, it's trivial
>     for a maintainer to cut it out.
> 
> More notes about my idiosyncracies:
> https://lore.kernel.org/r/20171026223701.GA25649@bhelgaas-glaptop.roam.corp.google.com
> 
> > Signed-off-by: Sergio Miguns Iglesias <sergio@lony.xyz>
> > ---
> >  drivers/pci/xen-pcifront.c | 30 +++++++++++++++++++-----------
> >  1 file changed, 19 insertions(+), 11 deletions(-)
> > 
> > diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c
> > index b7a8f3a1921f..427041c1e408 100644
> > --- a/drivers/pci/xen-pcifront.c
> > +++ b/drivers/pci/xen-pcifront.c
> > @@ -115,7 +115,7 @@ static int do_pci_op(struct pcifront_device *pdev, struct xen_pci_op *op)
> >  	struct xen_pci_op *active_op = &pdev->sh_info->op;
> >  	unsigned long irq_flags;
> >  	evtchn_port_t port = pdev->evtchn;
> > -	unsigned irq = pdev->irq;
> > +	unsigned int irq = pdev->irq;
> >  	s64 ns, ns_timeout;
> >  
> >  	spin_lock_irqsave(&pdev->sh_info_lock, irq_flags);
> > @@ -153,10 +153,10 @@ static int do_pci_op(struct pcifront_device *pdev, struct xen_pci_op *op)
> >  	}
> >  
> >  	/*
> > -	* We might lose backend service request since we
> > -	* reuse same evtchn with pci_conf backend response. So re-schedule
> > -	* aer pcifront service.
> > -	*/
> > +	 * We might lose backend service request since we
> > +	 * reuse same evtchn with pci_conf backend response. So re-schedule
> > +	 * aer pcifront service.
> > +	 */
> >  	if (test_bit(_XEN_PCIB_active,
> >  			(unsigned long *)&pdev->sh_info->flags)) {
> >  		dev_err(&pdev->xdev->dev,
> > @@ -414,7 +414,8 @@ static int pcifront_scan_bus(struct pcifront_device *pdev,
> >  	struct pci_dev *d;
> >  	unsigned int devfn;
> >  
> > -	/* Scan the bus for functions and add.
> > +	/*
> > +	 * Scan the bus for functions and add.
> >  	 * We omit handling of PCI bridge attachment because pciback prevents
> >  	 * bridges from being exported.
> >  	 */
> > @@ -492,8 +493,10 @@ static int pcifront_scan_root(struct pcifront_device *pdev,
> >  
> >  	list_add(&bus_entry->list, &pdev->root_buses);
> >  
> > -	/* pci_scan_root_bus skips devices which do not have a
> > -	* devfn==0. The pcifront_scan_bus enumerates all devfn. */
> > +	/*
> > +	 * pci_scan_root_bus skips devices which do not have a
> > +	 * devfn==0. The pcifront_scan_bus enumerates all devfn.
> > +	 */
> >  	err = pcifront_scan_bus(pdev, domain, bus, b);
> >  
> >  	/* Claim resources before going "live" with our devices */
> > @@ -651,8 +654,10 @@ static void pcifront_do_aer(struct work_struct *data)
> >  	pci_channel_state_t state =
> >  		(pci_channel_state_t)pdev->sh_info->aer_op.err;
> >  
> > -	/*If a pci_conf op is in progress,
> > -		we have to wait until it is done before service aer op*/
> > +	/*
> > +	 * If a pci_conf op is in progress, we have to wait until it is done
> > +	 * before service aer op
> > +	 */
> >  	dev_dbg(&pdev->xdev->dev,
> >  		"pcifront service aer bus %x devfn %x\n",
> >  		pdev->sh_info->aer_op.bus, pdev->sh_info->aer_op.devfn);
> > @@ -676,6 +681,7 @@ static void pcifront_do_aer(struct work_struct *data)
> >  static irqreturn_t pcifront_handler_aer(int irq, void *dev)
> >  {
> >  	struct pcifront_device *pdev = dev;
> > +
> >  	schedule_pcifront_aer_op(pdev);
> >  	return IRQ_HANDLED;
> >  }
> > @@ -1027,6 +1033,7 @@ static int pcifront_detach_devices(struct pcifront_device *pdev)
> >  	/* Find devices being detached and remove them. */
> >  	for (i = 0; i < num_devs; i++) {
> >  		int l, state;
> > +
> >  		l = snprintf(str, sizeof(str), "state-%d", i);
> >  		if (unlikely(l >= (sizeof(str) - 1))) {
> >  			err = -ENOMEM;
> > @@ -1078,7 +1085,7 @@ static int pcifront_detach_devices(struct pcifront_device *pdev)
> >  	return err;
> >  }
> >  
> > -static void __ref pcifront_backend_changed(struct xenbus_device *xdev,
> > +static void pcifront_backend_changed(struct xenbus_device *xdev,
> >  						  enum xenbus_state be_state)
> >  {
> >  	struct pcifront_device *pdev = dev_get_drvdata(&xdev->dev);
> > @@ -1137,6 +1144,7 @@ static int pcifront_xenbus_probe(struct xenbus_device *xdev,
> >  static int pcifront_xenbus_remove(struct xenbus_device *xdev)
> >  {
> >  	struct pcifront_device *pdev = dev_get_drvdata(&xdev->dev);
> > +
> >  	if (pdev)
> >  		free_pdev(pdev);
> >  
> > -- 
> > 2.33.0
> > 


From xen-devel-bounces@lists.xenproject.org Mon Aug 30 18:21:47 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 18:21:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175234.319312 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKlui-0004uw-1E; Mon, 30 Aug 2021 18:21:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175234.319312; Mon, 30 Aug 2021 18:21:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKluh-0004up-UP; Mon, 30 Aug 2021 18:21:43 +0000
Received: by outflank-mailman (input) for mailman id 175234;
 Mon, 30 Aug 2021 18:21:42 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ySg/=NV=gmail.com=lonyelon@srs-us1.protection.inumbo.net>)
 id 1mKlug-0004uj-CV
 for xen-devel@lists.xenproject.org; Mon, 30 Aug 2021 18:21:42 +0000
Received: from mail-ej1-x62e.google.com (unknown [2a00:1450:4864:20::62e])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 66bd2c6e-0a4e-409c-bfe1-264b0059e8b3;
 Mon, 30 Aug 2021 18:21:40 +0000 (UTC)
Received: by mail-ej1-x62e.google.com with SMTP id me10so33070389ejb.11
 for <xen-devel@lists.xenproject.org>; Mon, 30 Aug 2021 11:21:40 -0700 (PDT)
Received: from localhost (host-79-37-188-60.retail.telecomitalia.it.
 [79.37.188.60])
 by smtp.gmail.com with ESMTPSA id h30sm8121250edz.40.2021.08.30.11.21.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 30 Aug 2021 11:21: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: 66bd2c6e-0a4e-409c-bfe1-264b0059e8b3
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=date:from:to:cc:subject:message-id:references:mime-version
         :content-disposition:content-transfer-encoding:in-reply-to;
        bh=wzZpQf8XnnBwyx6FVtKgKg1R+YJbNENRicsfxpeSOjg=;
        b=s0Podc1xJLmrSH7zzIutVt5Z4MUPpsmSN4KM21NQzv/por9GG7uDnBp0vDYN5IDFr0
         tGTK1FSLOK4m/ryvX546QsgOlZ7PZ1Wm5LKvCI98ewfFjrk3c5joi1W4Iukhr4nyXmfB
         aDxqnYVraFAbjw7eVUkM6AboZGuzWJN7Yfx3VD/MaaxgfYke7TRn5UrRe27bjFIYO+cA
         KI9MWtq7qXpJ8nA0epWWhMTwJDokyP8S+6jxa7mNRuJQ1oFy3JCgOYg0cbICb/E4wePb
         8kVBBqXM+2+4hrhiSHrn/wkUDQBY7xnGJCWy8P8Z7x9ogXaSRzdCFT79F4EyknRaNWS3
         x1Ww==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:date:from:to:cc:subject:message-id:references
         :mime-version:content-disposition:content-transfer-encoding
         :in-reply-to;
        bh=wzZpQf8XnnBwyx6FVtKgKg1R+YJbNENRicsfxpeSOjg=;
        b=FU9Bmczm7djkJBroy857eZ8cdrnv1Yx1GQwLdwmsyBR8dJZjC3A6VBA/jRPbTqzBa6
         ByPOTiDuedKDY1hjcgdnyNlwqmBeRf6ekVgWjaII2Ny5hksQcC4+L5wnskfjPM6yXNoC
         kyy7hal0CqjxdHUT6TrzP7SHSRw5SrZYhsAEI+BW35aid5hoEueFZk2QVn/ZvsIWxEUo
         4nwmd5PfQoKiR1GCUhwOYb+NIPFi7olfoXtVrlTPoh/GkMwyF8qbYFGcSl43QHGjrer5
         LugkcsahHto15ZbWsA8nSz52yB9QvTgwVjkylTW1MA3KAEqmGkhjDEe+cdpvQjpUnO3r
         3MEw==
X-Gm-Message-State: AOAM533H3n3bTNVZegTWYKijHDcuRCUqvzZ5KdJWj5YuN8EeeFFh/Pdd
	J36k0kjok0MfWv2/oJ4C+3o=
X-Google-Smtp-Source: ABdhPJyG0uLXjFltYZO0gomkV8AheRsZ9MRvMqjAOQIY90291rqGI8ghqsFOaePEiEUGvpiN1Y9nyQ==
X-Received: by 2002:a17:906:3947:: with SMTP id g7mr27480038eje.87.1630347699997;
        Mon, 30 Aug 2021 11:21:39 -0700 (PDT)
Date: Mon, 30 Aug 2021 22:21:33 +0200
From: Sergio =?utf-8?Q?Migu=C3=A9ns?= Iglesias <lonyelon@gmail.com>
To: Bjorn Helgaas <helgaas@kernel.org>
Cc: konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, jgross@suse.com,
	sstabellini@kernel.org, bhelgaas@google.com,
	xen-devel@lists.xenproject.org, linux-pci@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Sergio =?utf-8?Q?Migu=C3=A9ns?= Iglesias <sergio@lony.xyz>
Subject: Re: [PATCH v2] xen/pcifront: Removed unnecessary __ref annotation
Message-ID: <20210830202133.q6j2he5kijf2tgpy@archlap>
References: <20210830175305.13370-1-sergio@lony.xyz>
 <20210830162922.GA4188989@bjorn-Precision-5520>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20210830162922.GA4188989@bjorn-Precision-5520>

Never mind, it got accepted anyways, but I will 100% fix my commit
messages for my future patches.

I really appreciate your suggestions and the time you have put into
writing them. I will improve in my next commits :)

Sergio M. Iglesias.

On 21/08/30 11:29, Bjorn Helgaas wrote:
> On Mon, Aug 30, 2021 at 07:53:05PM +0200, Sergio Miguns Iglesias wrote:
> > An unnecessary "__ref" annotation was removed from the
> > "drivers/pci/xen_pcifront.c" file. The function where the annotation
> > was used was "pcifront_backend_changed()", which does not call any
> > functions annotated as "__*init" nor "__*exit". This makes "__ref"
> > unnecessary since this annotation is used to make the compiler ignore
> > section miss-matches when they are not happening here in the first
> > place.
> > 
> > In addition to the aforementioned change, some code style issues were
> > fixed in the same file.
> 
> One of the Xen folks may apply this, and they may not be as nit-picky
> as I am :)
> 
> If I were to apply this, I would suggest:
> 
>   - Write subject line and commit message in imperative mood.  This is
>     a really good guide to this and other commit message this:
>     https://chris.beams.io/posts/git-commit/
> 
>     For example, in the subject, say "Remove" (not "Removed").  Same
>     in the body.  In the body, I would mention the function but not
>     the filename since that's obvious from the diff.
> 
>   - Split the __ref change into a separate patch from the style
>     changes.  The __ref removal should come first and be the absolute
>     minimal patch.  That makes it much easier to review, backport, and
>     revert if necessary.  And, if the maintainer isn't wild about
>     style patches, it's trivial to just ignore that patch.
> 
>     Commit logs that say "Also, ..." or "In addition, ..." are always
>     red flags to me because they usually indicate the patch could be
>     split into two or more simpler patches.
> 
>   - When reviewing changes like this, I assume __ref was added in the
>     first place for some good reason, so I want to know why, and I
>     want to know when that reason changed.  So I would look for the
>     commit that *introduced* __ref and for the commit that removed the
>     need for it.  It would save me time if the log said something
>     like:
> 
>       956a9202cd12 ("xen-pcifront: Xen PCI frontend driver.") added
>       __initrefok because pcifront_backend_changed() called
>       pcifront_try_connect() and pcifront_attach_devices(), which were
>       both __devinit.
> 
>       The __devinit annotations were removed by 15856ad50bf5 ("PCI:
>       Remove __dev* markings"), which made __initrefok unnecessary.
> 
>       Finally, bd721ea73e1f ("treewide: replace obsolete _refok by
>       __ref") replaced __initrefok with __ref.
> 
>     That might be too much for a commit log, but it shows that you've
>     done your homework and makes it easier to review (and helps people
>     make similar fixes elsewhere).  If it *is* too much, it's trivial
>     for a maintainer to cut it out.
> 
> More notes about my idiosyncracies:
> https://lore.kernel.org/r/20171026223701.GA25649@bhelgaas-glaptop.roam.corp.google.com
> 
> > Signed-off-by: Sergio Miguns Iglesias <sergio@lony.xyz>
> > ---
> >  drivers/pci/xen-pcifront.c | 30 +++++++++++++++++++-----------
> >  1 file changed, 19 insertions(+), 11 deletions(-)
> > 
> > diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c
> > index b7a8f3a1921f..427041c1e408 100644
> > --- a/drivers/pci/xen-pcifront.c
> > +++ b/drivers/pci/xen-pcifront.c
> > @@ -115,7 +115,7 @@ static int do_pci_op(struct pcifront_device *pdev, struct xen_pci_op *op)
> >  	struct xen_pci_op *active_op = &pdev->sh_info->op;
> >  	unsigned long irq_flags;
> >  	evtchn_port_t port = pdev->evtchn;
> > -	unsigned irq = pdev->irq;
> > +	unsigned int irq = pdev->irq;
> >  	s64 ns, ns_timeout;
> >  
> >  	spin_lock_irqsave(&pdev->sh_info_lock, irq_flags);
> > @@ -153,10 +153,10 @@ static int do_pci_op(struct pcifront_device *pdev, struct xen_pci_op *op)
> >  	}
> >  
> >  	/*
> > -	* We might lose backend service request since we
> > -	* reuse same evtchn with pci_conf backend response. So re-schedule
> > -	* aer pcifront service.
> > -	*/
> > +	 * We might lose backend service request since we
> > +	 * reuse same evtchn with pci_conf backend response. So re-schedule
> > +	 * aer pcifront service.
> > +	 */
> >  	if (test_bit(_XEN_PCIB_active,
> >  			(unsigned long *)&pdev->sh_info->flags)) {
> >  		dev_err(&pdev->xdev->dev,
> > @@ -414,7 +414,8 @@ static int pcifront_scan_bus(struct pcifront_device *pdev,
> >  	struct pci_dev *d;
> >  	unsigned int devfn;
> >  
> > -	/* Scan the bus for functions and add.
> > +	/*
> > +	 * Scan the bus for functions and add.
> >  	 * We omit handling of PCI bridge attachment because pciback prevents
> >  	 * bridges from being exported.
> >  	 */
> > @@ -492,8 +493,10 @@ static int pcifront_scan_root(struct pcifront_device *pdev,
> >  
> >  	list_add(&bus_entry->list, &pdev->root_buses);
> >  
> > -	/* pci_scan_root_bus skips devices which do not have a
> > -	* devfn==0. The pcifront_scan_bus enumerates all devfn. */
> > +	/*
> > +	 * pci_scan_root_bus skips devices which do not have a
> > +	 * devfn==0. The pcifront_scan_bus enumerates all devfn.
> > +	 */
> >  	err = pcifront_scan_bus(pdev, domain, bus, b);
> >  
> >  	/* Claim resources before going "live" with our devices */
> > @@ -651,8 +654,10 @@ static void pcifront_do_aer(struct work_struct *data)
> >  	pci_channel_state_t state =
> >  		(pci_channel_state_t)pdev->sh_info->aer_op.err;
> >  
> > -	/*If a pci_conf op is in progress,
> > -		we have to wait until it is done before service aer op*/
> > +	/*
> > +	 * If a pci_conf op is in progress, we have to wait until it is done
> > +	 * before service aer op
> > +	 */
> >  	dev_dbg(&pdev->xdev->dev,
> >  		"pcifront service aer bus %x devfn %x\n",
> >  		pdev->sh_info->aer_op.bus, pdev->sh_info->aer_op.devfn);
> > @@ -676,6 +681,7 @@ static void pcifront_do_aer(struct work_struct *data)
> >  static irqreturn_t pcifront_handler_aer(int irq, void *dev)
> >  {
> >  	struct pcifront_device *pdev = dev;
> > +
> >  	schedule_pcifront_aer_op(pdev);
> >  	return IRQ_HANDLED;
> >  }
> > @@ -1027,6 +1033,7 @@ static int pcifront_detach_devices(struct pcifront_device *pdev)
> >  	/* Find devices being detached and remove them. */
> >  	for (i = 0; i < num_devs; i++) {
> >  		int l, state;
> > +
> >  		l = snprintf(str, sizeof(str), "state-%d", i);
> >  		if (unlikely(l >= (sizeof(str) - 1))) {
> >  			err = -ENOMEM;
> > @@ -1078,7 +1085,7 @@ static int pcifront_detach_devices(struct pcifront_device *pdev)
> >  	return err;
> >  }
> >  
> > -static void __ref pcifront_backend_changed(struct xenbus_device *xdev,
> > +static void pcifront_backend_changed(struct xenbus_device *xdev,
> >  						  enum xenbus_state be_state)
> >  {
> >  	struct pcifront_device *pdev = dev_get_drvdata(&xdev->dev);
> > @@ -1137,6 +1144,7 @@ static int pcifront_xenbus_probe(struct xenbus_device *xdev,
> >  static int pcifront_xenbus_remove(struct xenbus_device *xdev)
> >  {
> >  	struct pcifront_device *pdev = dev_get_drvdata(&xdev->dev);
> > +
> >  	if (pdev)
> >  		free_pdev(pdev);
> >  
> > -- 
> > 2.33.0
> > 


From xen-devel-bounces@lists.xenproject.org Mon Aug 30 19:18:30 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 19:18:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175243.319336 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKmnQ-0002EX-HA; Mon, 30 Aug 2021 19:18:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175243.319336; Mon, 30 Aug 2021 19: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 1mKmnQ-0002EQ-CY; Mon, 30 Aug 2021 19:18:16 +0000
Received: by outflank-mailman (input) for mailman id 175243;
 Mon, 30 Aug 2021 19:18:14 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=R+Rp=NV=kernel.org=helgaas@srs-us1.protection.inumbo.net>)
 id 1mKmnO-0002EK-7n
 for xen-devel@lists.xenproject.org; Mon, 30 Aug 2021 19:18:14 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 04f0eff2-09c7-11ec-aca8-12813bfff9fa;
 Mon, 30 Aug 2021 19:18:13 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id 2C6C960238;
 Mon, 30 Aug 2021 19:18: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: 04f0eff2-09c7-11ec-aca8-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1630351092;
	bh=IsJ1eyte8pqC29zpTwrvhMUn8oR4aDRp/oA5dY+oUu8=;
	h=Date:From:To:Cc:Subject:In-Reply-To:From;
	b=ZOIega9sXyUc6icmBUCBKQUmiGY76J1k5FwUpJ7qL+jkDIJQK7EOxN5Vk3J9v6oP5
	 wz/jCi0AU7ibfsGTGm6wTydszncqEcoxohUn0gawaYxaTYuHOJAvnYafTa5/+J64Q/
	 WySko4GOPnjhWjQPR9yUgpOtG4m+07KcDyxBQBVM2Z/akNPtc82J/F3zCadJCl70DE
	 7JKRrCeT6UkK//jdwTX/a2DcuBd01jK3GO36awGyaPMHzy3hQt7DuItHjRByWtd398
	 i5vxKJK7QZqHhr9De8FatGMFnAAqJODwy2ug3e9qdi57OWZrlymXu+aV1k6Zk01zwd
	 3AF2lKHmRpNIw==
Date: Mon, 30 Aug 2021 14:18:10 -0500
From: Bjorn Helgaas <helgaas@kernel.org>
To: Sergio =?iso-8859-1?Q?Migu=E9ns?= Iglesias <lonyelon@gmail.com>
Cc: konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, jgross@suse.com,
	sstabellini@kernel.org, bhelgaas@google.com,
	xen-devel@lists.xenproject.org, linux-pci@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Sergio =?iso-8859-1?Q?Migu=E9ns?= Iglesias <sergio@lony.xyz>
Subject: Re: [PATCH v2] xen/pcifront: Removed unnecessary __ref annotation
Message-ID: <20210830191810.GA13209@bjorn-Precision-5520>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20210830201426.g2vaxh6chqnprual@archlap>

On Mon, Aug 30, 2021 at 10:14:26PM +0200, Sergio Miguns Iglesias wrote:
> Thanks again for you answers!
> I am lerning a lot from your replys and I really appreciate it. Should I
> make a v3 patch and split that one into 2 different patches or would it
> be confusing?
> 
> I don't want to take more of your time with poor patches so I don't know
> if I should resend this one.

If it's already applied, it doesn't matter for this case.  But in this
situation I would generally post a v3 incorporating the feedback.  To
be respectful of reviewers' time, try to avoid posting more than one
or two revisions per week.  As long as you tag reposts appropriately
with v2, v3, etc (as you did), there's no confusion.

It's nice if you include a note about what changed between v1 and v2
in the cover letter or below the "---" line as was done here:

  https://lore.kernel.org/linux-pci/8f9a13ac-8ab1-15ac-06cb-c131b488a36f@siemens.com/


From xen-devel-bounces@lists.xenproject.org Mon Aug 30 19:37:33 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 19:37:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175250.319347 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKn5z-0004nO-4W; Mon, 30 Aug 2021 19:37:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175250.319347; Mon, 30 Aug 2021 19: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 1mKn5z-0004nH-0V; Mon, 30 Aug 2021 19:37:27 +0000
Received: by outflank-mailman (input) for mailman id 175250;
 Mon, 30 Aug 2021 19:37:25 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TTCi=NV=gmail.com=christopher.w.clark@srs-us1.protection.inumbo.net>)
 id 1mKn5x-0004nB-I3
 for xen-devel@lists.xen.org; Mon, 30 Aug 2021 19:37:25 +0000
Received: from mail-ot1-x32b.google.com (unknown [2607:f8b0:4864:20::32b])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 2fc17783-e942-43f5-8576-31d80c24df5d;
 Mon, 30 Aug 2021 19:37:17 +0000 (UTC)
Received: by mail-ot1-x32b.google.com with SMTP id
 i3-20020a056830210300b0051af5666070so19820685otc.4
 for <xen-devel@lists.xen.org>; Mon, 30 Aug 2021 12:37: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: 2fc17783-e942-43f5-8576-31d80c24df5d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc;
        bh=1UaXqt3hmP0irGHAh2jdk8S0pX8mbi7oeMgXSwhqoEw=;
        b=ZmkyHOLpADOKkioMPTzq7jgiggIl/2BisUUFIWVLxv1QdjJcHvS2rpS/G76qMdGZDS
         4Jvd9Q1DejAMBJK8lRA98VkMgF/0RgWt0FAz8mf7kk4JPhCN43AfqMGvUZHNbRuU/lfs
         IRuh3azrtAnji/0sQ3+Wj5gIYJ8VL0uyFBSICwHNwn8VxjEYTcke+o3v9c3ICpwQdazk
         IDDhNI3HcGLn7ZVPFVLyzWpKESGBIxXJx41055BQitefrX3FryrHea9wc9mlNFXYxtuS
         lTOUnZ49aNB3oCxqGA6RinYwRhVWm1HJnnao9820kUAq0YdfK87nO8Y1ZF5xymYxDhXn
         ISGA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=1UaXqt3hmP0irGHAh2jdk8S0pX8mbi7oeMgXSwhqoEw=;
        b=nA/7EQPezbgno30CnYMZOFu+fWTi5yNZIb8C2Ip+Rdmg9F4d1jE3wpQd9IqFUD3dh9
         YHbS3JTIGSHGfWZnDa/the3t5riXGUe6tZ13OE54HigmptXgPpcpWouhaMguETiKxi1v
         YWFCw//+iKmu3yyIJiyjhSmAyl7CoSmoyrqom7VdUVTlT8CwpUnt5i6eYqbm1ETuHlPZ
         2s0anc/rafM6jfX1fRI8E9bTwiJkSaqYeE7CE3xiGMeOhy53ZFPC7WbeQxNTaEyXeYHH
         Z+EuXawMjk9i1SjYAzCxaz/4U97EJlL5eATVzLeL6nl8sRfdab4B4B5XzaS5EHrLDRr8
         1SdA==
X-Gm-Message-State: AOAM53323hkfVLgh1sTyAxWRbK6oFmvq2+rcvq1rrFFTDbOc4IDgmze1
	SYpd3Gz1BEPmZKPV9NN+DQKzQOU8Kb9+hqlfjnA=
X-Google-Smtp-Source: ABdhPJxC2l6TK6DNbRMs8+rt4rexXxq+8CQ/aA0queAmVLt+JVrrlRxk/B0xV0ZKus3GJj73rq5d+whUUCFeAhRL3FM=
X-Received: by 2002:a05:6830:3114:: with SMTP id b20mr21306595ots.17.1630352236545;
 Mon, 30 Aug 2021 12:37:16 -0700 (PDT)
MIME-Version: 1.0
References: <87v94ldrqq.fsf@linaro.org> <alpine.DEB.2.21.2108041055390.9768@sstabellini-ThinkPad-T480s>
 <20210811062748.GB54169@laputa> <CAPD2p-mMeY=MDbAdLGrmmioSkJo147aMDrK=Qzr=PCa4jztGGg@mail.gmail.com>
 <DB9PR08MB685767CFAA4A8BCE7D2225A89EFD9@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <20210817080757.GC43203@laputa> <DB9PR08MB6857C656472153A42FB438C49EFE9@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <20210818053840.GE39588@laputa> <DB9PR08MB6857D1BE810B1D1DAF7B12AE9EFF9@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <20210820064150.GC13452@laputa> <20210826094047.GA55218@laputa> <DB9PR08MB68578198FF352EDC473D619E9EC79@DB9PR08MB6857.eurprd08.prod.outlook.com>
In-Reply-To: <DB9PR08MB68578198FF352EDC473D619E9EC79@DB9PR08MB6857.eurprd08.prod.outlook.com>
From: Christopher Clark <christopher.w.clark@gmail.com>
Date: Mon, 30 Aug 2021 12:36:41 -0700
Message-ID: <CACMJ4GbmNgbB5ponYt3NGEk3j6YCksot+kDy2qs8HMdFXWnQbw@mail.gmail.com>
Subject: Re: Enabling hypervisor agnosticism for VirtIO backends
To: Wei Chen <Wei.Chen@arm.com>
Cc: AKASHI Takahiro <takahiro.akashi@linaro.org>, Oleksandr Tyshchenko <olekstysh@gmail.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, "Alex Benn??e" <alex.bennee@linaro.org>, 
	Kaly Xin <Kaly.Xin@arm.com>, Stratos Mailing List <stratos-dev@op-lists.linaro.org>, 
	"virtio-dev@lists.oasis-open.org" <virtio-dev@lists.oasis-open.org>, Arnd Bergmann <arnd.bergmann@linaro.org>, 
	Viresh Kumar <viresh.kumar@linaro.org>, 
	Stefano Stabellini <stefano.stabellini@xilinx.com>, "stefanha@redhat.com" <stefanha@redhat.com>, 
	Jan Kiszka <jan.kiszka@siemens.com>, Carl van Schaik <cvanscha@qti.qualcomm.com>, 
	"pratikp@quicinc.com" <pratikp@quicinc.com>, Srivatsa Vaddagiri <vatsa@codeaurora.org>, 
	Jean-Philippe Brucker <jean-philippe@linaro.org>, Mathieu Poirier <mathieu.poirier@linaro.org>, 
	Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>, Bertrand Marquis <Bertrand.Marquis@arm.com>, 
	Artem Mygaiev <Artem_Mygaiev@epam.com>, Julien Grall <julien@xen.org>, Juergen Gross <jgross@suse.com>, 
	Paul Durrant <paul@xen.org>, Xen Devel <xen-devel@lists.xen.org>
Content-Type: multipart/alternative; boundary="000000000000eb0bd005cacbf53a"

--000000000000eb0bd005cacbf53a
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Apologies for being late to this thread, but I hope to be able to
contribute to
this discussion in a meaningful way. I am grateful for the level of
interest in
this topic. I would like to draw your attention to Argo as a suitable
technology for development of VirtIO's hypervisor-agnostic interfaces.

* Argo is an interdomain communication mechanism in Xen (on x86 and Arm)
that
  can send and receive hypervisor-mediated notifications and messages
between
  domains (VMs). [1] The hypervisor can enforce Mandatory Access Control
over
  all communication between domains. It is derived from the earlier v4v,
which
  has been deployed on millions of machines with the HP/Bromium uXen
hypervisor
  and with OpenXT.

* Argo has a simple interface with a small number of operations that was
  designed for ease of integration into OS primitives on both Linux
(sockets)
  and Windows (ReadFile/WriteFile) [2].
    - A unikernel example of using it has also been developed for XTF. [3]

* There has been recent discussion and support in the Xen community for
making
  revisions to the Argo interface to make it hypervisor-agnostic, and
support
  implementations of Argo on other hypervisors. This will enable a single
  interface for an OS kernel binary to use for inter-VM communication that
will
  work on multiple hypervisors -- this applies equally to both backends and
  frontend implementations. [4]

* Here are the design documents for building VirtIO-over-Argo, to support a
  hypervisor-agnostic frontend VirtIO transport driver using Argo.

The Development Plan to build VirtIO virtual device support over Argo
transport:
https://openxt.atlassian.net/wiki/spaces/DC/pages/1696169985/VirtIO-Argo+De=
velopment+Phase+1

A design for using VirtIO over Argo, describing how VirtIO data structures
and communication is handled over the Argo transport:
https://openxt.atlassian.net/wiki/spaces/DC/pages/1348763698/VirtIO+Argo

Diagram (from the above document) showing how VirtIO rings are synchronized
between domains without using shared memory:
https://openxt.atlassian.net/46e1c93b-2b87-4cb2-951e-abd4377a1194#media-blo=
b-url=3Dtrue&id=3D01f7d0e1-7686-4f0b-88e1-457c1d30df40&collection=3Dcontent=
Id-1348763698&contextId=3D1348763698&mimeType=3Dimage%2Fpng&name=3Ddevice-b=
uffer-access-virtio-argo.png&size=3D243175&width=3D1106&height=3D1241

Please note that the above design documents show that the existing VirtIO
device drivers, and both vring and virtqueue data structures can be
preserved
while interdomain communication can be performed with no shared memory
required
for most drivers; (the exceptions where further design is required are thos=
e
such as virtual framebuffer devices where shared memory regions are
intentionally
added to the communication structure beyond the vrings and virtqueues).

An analysis of VirtIO and Argo, informing the design:
https://openxt.atlassian.net/wiki/spaces/DC/pages/1333428225/Analysis+of+Ar=
go+as+a+transport+medium+for+VirtIO

* Argo can be used for a communication path for configuration between the
backend
  and the toolstack, avoiding the need for a dependency on XenStore, which
is an
  advantage for any hypervisor-agnostic design. It is also amenable to a
notification
  mechanism that is not based on Xen event channels.

* Argo does not use or require shared memory between VMs and provides an
alternative
  to the use of foreign shared memory mappings. It avoids some of the
complexities
  involved with using grants (eg. XSA-300).

* Argo supports Mandatory Access Control by the hypervisor, satisfying a
common
  certification requirement.

* The Argo headers are BSD-licensed and the Xen hypervisor implementation
is GPLv2 but
  accessible via the hypercall interface. The licensing should not present
an obstacle
  to adoption of Argo in guest software or implementation by other
hypervisors.

* Since the interface that Argo presents to a guest VM is similar to DMA, a
VirtIO-Argo
  frontend transport driver should be able to operate with a physical
VirtIO-enabled
  smart-NIC if the toolstack and an Argo-aware backend provide support.

The next Xen Community Call is next week and I would be happy to answer
questions
about Argo and on this topic. I will also be following this thread.

Christopher
(Argo maintainer, Xen Community)

---------------------------------------------------------------------------=
-----
[1]
An introduction to Argo:
https://static.sched.com/hosted_files/xensummit19/92/Argo%20and%20HMX%20-%2=
0OpenXT%20-%20Christopher%20Clark%20-%20Xen%20Summit%202019.pdf
https://www.youtube.com/watch?v=3DcnC0Tg3jqJQ
Xen Wiki page for Argo:
https://wiki.xenproject.org/wiki/Argo:_Hypervisor-Mediated_Exchange_(HMX)_f=
or_Xen

[2]
OpenXT Linux Argo driver and userspace library:
https://github.com/openxt/linux-xen-argo

Windows V4V at OpenXT wiki:
https://openxt.atlassian.net/wiki/spaces/DC/pages/14844007/V4V
Windows v4v driver source:
https://github.com/OpenXT/xc-windows/tree/master/xenv4v

HP/Bromium uXen V4V driver:
https://github.com/uxen-virt/uxen/tree/ascara/windows/uxenv4vlib

[3]
v2 of the Argo test unikernel for XTF:
https://lists.xenproject.org/archives/html/xen-devel/2021-01/msg02234.html

[4]
Argo HMX Transport for VirtIO meeting minutes:
https://lists.xenproject.org/archives/html/xen-devel/2021-02/msg01422.html

VirtIO-Argo Development wiki page:
https://openxt.atlassian.net/wiki/spaces/DC/pages/1696169985/VirtIO-Argo+De=
velopment+Phase+1


On Thu, Aug 26, 2021 at 5:11 AM Wei Chen <Wei.Chen@arm.com> wrote:

> Hi Akashi,
>
> > -----Original Message-----
> > From: AKASHI Takahiro <takahiro.akashi@linaro.org>
> > Sent: 2021=E5=B9=B48=E6=9C=8826=E6=97=A5 17:41
> > To: Wei Chen <Wei.Chen@arm.com>
> > Cc: Oleksandr Tyshchenko <olekstysh@gmail.com>; Stefano Stabellini
> > <sstabellini@kernel.org>; Alex Benn??e <alex.bennee@linaro.org>; Kaly
> Xin
> > <Kaly.Xin@arm.com>; Stratos Mailing List <
> stratos-dev@op-lists.linaro.org>;
> > virtio-dev@lists.oasis-open.org; Arnd Bergmann <arnd.bergmann@linaro.or=
g
> >;
> > Viresh Kumar <viresh.kumar@linaro.org>; Stefano Stabellini
> > <stefano.stabellini@xilinx.com>; stefanha@redhat.com; Jan Kiszka
> > <jan.kiszka@siemens.com>; Carl van Schaik <cvanscha@qti.qualcomm.com>;
> > pratikp@quicinc.com; Srivatsa Vaddagiri <vatsa@codeaurora.org>; Jean-
> > Philippe Brucker <jean-philippe@linaro.org>; Mathieu Poirier
> > <mathieu.poirier@linaro.org>; Oleksandr Tyshchenko
> > <Oleksandr_Tyshchenko@epam.com>; Bertrand Marquis
> > <Bertrand.Marquis@arm.com>; Artem Mygaiev <Artem_Mygaiev@epam.com>;
> Julien
> > Grall <julien@xen.org>; Juergen Gross <jgross@suse.com>; Paul Durrant
> > <paul@xen.org>; Xen Devel <xen-devel@lists.xen.org>
> > Subject: Re: Enabling hypervisor agnosticism for VirtIO backends
> >
> > Hi Wei,
> >
> > On Fri, Aug 20, 2021 at 03:41:50PM +0900, AKASHI Takahiro wrote:
> > > On Wed, Aug 18, 2021 at 08:35:51AM +0000, Wei Chen wrote:
> > > > Hi Akashi=EF=BC=8C
> > > >
> > > > > -----Original Message-----
> > > > > From: AKASHI Takahiro <takahiro.akashi@linaro.org>
> > > > > Sent: 2021=E5=B9=B48=E6=9C=8818=E6=97=A5 13:39
> > > > > To: Wei Chen <Wei.Chen@arm.com>
> > > > > Cc: Oleksandr Tyshchenko <olekstysh@gmail.com>; Stefano Stabellin=
i
> > > > > <sstabellini@kernel.org>; Alex Benn??e <alex.bennee@linaro.org>;
> > Stratos
> > > > > Mailing List <stratos-dev@op-lists.linaro.org>; virtio-
> > dev@lists.oasis-
> > > > > open.org; Arnd Bergmann <arnd.bergmann@linaro.org>; Viresh Kumar
> > > > > <viresh.kumar@linaro.org>; Stefano Stabellini
> > > > > <stefano.stabellini@xilinx.com>; stefanha@redhat.com; Jan Kiszka
> > > > > <jan.kiszka@siemens.com>; Carl van Schaik
> > <cvanscha@qti.qualcomm.com>;
> > > > > pratikp@quicinc.com; Srivatsa Vaddagiri <vatsa@codeaurora.org>;
> > Jean-
> > > > > Philippe Brucker <jean-philippe@linaro.org>; Mathieu Poirier
> > > > > <mathieu.poirier@linaro.org>; Oleksandr Tyshchenko
> > > > > <Oleksandr_Tyshchenko@epam.com>; Bertrand Marquis
> > > > > <Bertrand.Marquis@arm.com>; Artem Mygaiev <Artem_Mygaiev@epam.com
> >;
> > Julien
> > > > > Grall <julien@xen.org>; Juergen Gross <jgross@suse.com>; Paul
> > Durrant
> > > > > <paul@xen.org>; Xen Devel <xen-devel@lists.xen.org>
> > > > > Subject: Re: Enabling hypervisor agnosticism for VirtIO backends
> > > > >
> > > > > On Tue, Aug 17, 2021 at 08:39:09AM +0000, Wei Chen wrote:
> > > > > > Hi Akashi,
> > > > > >
> > > > > > > -----Original Message-----
> > > > > > > From: AKASHI Takahiro <takahiro.akashi@linaro.org>
> > > > > > > Sent: 2021=E5=B9=B48=E6=9C=8817=E6=97=A5 16:08
> > > > > > > To: Wei Chen <Wei.Chen@arm.com>
> > > > > > > Cc: Oleksandr Tyshchenko <olekstysh@gmail.com>; Stefano
> > Stabellini
> > > > > > > <sstabellini@kernel.org>; Alex Benn??e <alex.bennee@linaro.or=
g
> >;
> > > > > Stratos
> > > > > > > Mailing List <stratos-dev@op-lists.linaro.org>; virtio-
> > > > > dev@lists.oasis-
> > > > > > > open.org; Arnd Bergmann <arnd.bergmann@linaro.org>; Viresh
> Kumar
> > > > > > > <viresh.kumar@linaro.org>; Stefano Stabellini
> > > > > > > <stefano.stabellini@xilinx.com>; stefanha@redhat.com; Jan
> Kiszka
> > > > > > > <jan.kiszka@siemens.com>; Carl van Schaik
> > <cvanscha@qti.qualcomm.com>;
> > > > > > > pratikp@quicinc.com; Srivatsa Vaddagiri <vatsa@codeaurora.org
> >;
> > Jean-
> > > > > > > Philippe Brucker <jean-philippe@linaro.org>; Mathieu Poirier
> > > > > > > <mathieu.poirier@linaro.org>; Oleksandr Tyshchenko
> > > > > > > <Oleksandr_Tyshchenko@epam.com>; Bertrand Marquis
> > > > > > > <Bertrand.Marquis@arm.com>; Artem Mygaiev
> > <Artem_Mygaiev@epam.com>;
> > > > > Julien
> > > > > > > Grall <julien@xen.org>; Juergen Gross <jgross@suse.com>; Paul
> > Durrant
> > > > > > > <paul@xen.org>; Xen Devel <xen-devel@lists.xen.org>
> > > > > > > Subject: Re: Enabling hypervisor agnosticism for VirtIO
> backends
> > > > > > >
> > > > > > > Hi Wei, Oleksandr,
> > > > > > >
> > > > > > > On Mon, Aug 16, 2021 at 10:04:03AM +0000, Wei Chen wrote:
> > > > > > > > Hi All,
> > > > > > > >
> > > > > > > > Thanks for Stefano to link my kvmtool for Xen proposal here=
.
> > > > > > > > This proposal is still discussing in Xen and KVM communitie=
s.
> > > > > > > > The main work is to decouple the kvmtool from KVM and make
> > > > > > > > other hypervisors can reuse the virtual device
> implementations.
> > > > > > > >
> > > > > > > > In this case, we need to introduce an intermediate hypervis=
or
> > > > > > > > layer for VMM abstraction, Which is, I think it's very clos=
e
> > > > > > > > to stratos' virtio hypervisor agnosticism work.
> > > > > > >
> > > > > > > # My proposal[1] comes from my own idea and doesn't always
> > represent
> > > > > > > # Linaro's view on this subject nor reflect Alex's concerns.
> > > > > Nevertheless,
> > > > > > >
> > > > > > > Your idea and my proposal seem to share the same background.
> > > > > > > Both have the similar goal and currently start with, at first=
,
> > Xen
> > > > > > > and are based on kvm-tool. (Actually, my work is derived from
> > > > > > > EPAM's virtio-disk, which is also based on kvm-tool.)
> > > > > > >
> > > > > > > In particular, the abstraction of hypervisor interfaces has a
> > same
> > > > > > > set of interfaces (for your "struct vmm_impl" and my "RPC
> > interfaces").
> > > > > > > This is not co-incident as we both share the same origin as I
> > said
> > > > > above.
> > > > > > > And so we will also share the same issues. One of them is a w=
ay
> > of
> > > > > > > "sharing/mapping FE's memory". There is some trade-off betwee=
n
> > > > > > > the portability and the performance impact.
> > > > > > > So we can discuss the topic here in this ML, too.
> > > > > > > (See Alex's original email, too).
> > > > > > >
> > > > > > Yes, I agree.
> > > > > >
> > > > > > > On the other hand, my approach aims to create a "single-binar=
y"
> > > > > solution
> > > > > > > in which the same binary of BE vm could run on any hypervisor=
s.
> > > > > > > Somehow similar to your "proposal-#2" in [2], but in my
> solution,
> > all
> > > > > > > the hypervisor-specific code would be put into another entity
> > (VM),
> > > > > > > named "virtio-proxy" and the abstracted operations are served
> > via RPC.
> > > > > > > (In this sense, BE is hypervisor-agnostic but might have OS
> > > > > dependency.)
> > > > > > > But I know that we need discuss if this is a requirement even
> > > > > > > in Stratos project or not. (Maybe not)
> > > > > > >
> > > > > >
> > > > > > Sorry, I haven't had time to finish reading your virtio-proxy
> > completely
> > > > > > (I will do it ASAP). But from your description, it seems we nee=
d
> a
> > > > > > 3rd VM between FE and BE? My concern is that, if my assumption =
is
> > right,
> > > > > > will it increase the latency in data transport path? Even if
> we're
> > > > > > using some lightweight guest like RTOS or Unikernel,
> > > > >
> > > > > Yes, you're right. But I'm afraid that it is a matter of degree.
> > > > > As far as we execute 'mapping' operations at every fetch of
> payload,
> > > > > we will see latency issue (even in your case) and if we have some
> > solution
> > > > > for it, we won't see it neither in my proposal :)
> > > > >
> > > >
> > > > Oleksandr has sent a proposal to Xen mailing list to reduce this ki=
nd
> > > > of "mapping/unmapping" operations. So the latency caused by this
> > behavior
> > > > on Xen may eventually be eliminated, and Linux-KVM doesn't have tha=
t
> > problem.
> > >
> > > Obviously, I have not yet caught up there in the discussion.
> > > Which patch specifically?
> >
> > Can you give me the link to the discussion or patch, please?
> >
>
> It's a RFC discussion. We have tested this RFC patch internally.
> https://lists.xenproject.org/archives/html/xen-devel/2021-07/msg01532.htm=
l
>
> > Thanks,
> > -Takahiro Akashi
> >
> > > -Takahiro Akashi
> > >
> > > > > > > Specifically speaking about kvm-tool, I have a concern about
> its
> > > > > > > license term; Targeting different hypervisors and different O=
Ss
> > > > > > > (which I assume includes RTOS's), the resultant library shoul=
d
> > be
> > > > > > > license permissive and GPL for kvm-tool might be an issue.
> > > > > > > Any thoughts?
> > > > > > >
> > > > > >
> > > > > > Yes. If user want to implement a FreeBSD device model, but the
> > virtio
> > > > > > library is GPL. Then GPL would be a problem. If we have another
> > good
> > > > > > candidate, I am open to it.
> > > > >
> > > > > I have some candidates, particularly for vq/vring, in my mind:
> > > > > * Open-AMP, or
> > > > > * corresponding Free-BSD code
> > > > >
> > > >
> > > > Interesting, I will look into them : )
> > > >
> > > > Cheers,
> > > > Wei Chen
> > > >
> > > > > -Takahiro Akashi
> > > > >
> > > > >
> > > > > > > -Takahiro Akashi
> > > > > > >
> > > > > > >
> > > > > > > [1] https://op-lists.linaro.org/pipermail/stratos-dev/2021-
> > > > > > > August/000548.html
> > > > > > > [2] https://marc.info/?l=3Dxen-devel&m=3D162373754705233&w=3D=
2
> > > > > > >
> > > > > > > >
> > > > > > > > > From: Oleksandr Tyshchenko <olekstysh@gmail.com>
> > > > > > > > > Sent: 2021=E5=B9=B48=E6=9C=8814=E6=97=A5 23:38
> > > > > > > > > To: AKASHI Takahiro <takahiro.akashi@linaro.org>; Stefano
> > > > > Stabellini
> > > > > > > <sstabellini@kernel.org>
> > > > > > > > > Cc: Alex Benn??e <alex.bennee@linaro.org>; Stratos Mailin=
g
> > List
> > > > > > > <stratos-dev@op-lists.linaro.org>; virtio-dev@lists.oasis-
> > open.org;
> > > > > Arnd
> > > > > > > Bergmann <arnd.bergmann@linaro.org>; Viresh Kumar
> > > > > > > <viresh.kumar@linaro.org>; Stefano Stabellini
> > > > > > > <stefano.stabellini@xilinx.com>; stefanha@redhat.com; Jan
> Kiszka
> > > > > > > <jan.kiszka@siemens.com>; Carl van Schaik
> > <cvanscha@qti.qualcomm.com>;
> > > > > > > pratikp@quicinc.com; Srivatsa Vaddagiri <vatsa@codeaurora.org
> >;
> > Jean-
> > > > > > > Philippe Brucker <jean-philippe@linaro.org>; Mathieu Poirier
> > > > > > > <mathieu.poirier@linaro.org>; Wei Chen <Wei.Chen@arm.com>;
> > Oleksandr
> > > > > > > Tyshchenko <Oleksandr_Tyshchenko@epam.com>; Bertrand Marquis
> > > > > > > <Bertrand.Marquis@arm.com>; Artem Mygaiev
> > <Artem_Mygaiev@epam.com>;
> > > > > Julien
> > > > > > > Grall <julien@xen.org>; Juergen Gross <jgross@suse.com>; Paul
> > Durrant
> > > > > > > <paul@xen.org>; Xen Devel <xen-devel@lists.xen.org>
> > > > > > > > > Subject: Re: Enabling hypervisor agnosticism for VirtIO
> > backends
> > > > > > > > >
> > > > > > > > > Hello, all.
> > > > > > > > >
> > > > > > > > > Please see some comments below. And sorry for the possibl=
e
> > format
> > > > > > > issues.
> > > > > > > > >
> > > > > > > > > > On Wed, Aug 11, 2021 at 9:27 AM AKASHI Takahiro
> > > > > > > <mailto:takahiro.akashi@linaro.org> wrote:
> > > > > > > > > > On Wed, Aug 04, 2021 at 12:20:01PM -0700, Stefano
> > Stabellini
> > > > > wrote:
> > > > > > > > > > > CCing people working on Xen+VirtIO and IOREQs. Not
> > trimming
> > > > > the
> > > > > > > original
> > > > > > > > > > > email to let them read the full context.
> > > > > > > > > > >
> > > > > > > > > > > My comments below are related to a potential Xen
> > > > > implementation,
> > > > > > > not
> > > > > > > > > > > because it is the only implementation that matters, b=
ut
> > > > > because it
> > > > > > > is
> > > > > > > > > > > the one I know best.
> > > > > > > > > >
> > > > > > > > > > Please note that my proposal (and hence the working
> > prototype)[1]
> > > > > > > > > > is based on Xen's virtio implementation (i.e. IOREQ) an=
d
> > > > > > > particularly
> > > > > > > > > > EPAM's virtio-disk application (backend server).
> > > > > > > > > > It has been, I believe, well generalized but is still a
> > bit
> > > > > biased
> > > > > > > > > > toward this original design.
> > > > > > > > > >
> > > > > > > > > > So I hope you like my approach :)
> > > > > > > > > >
> > > > > > > > > > [1] https://op-lists.linaro.org/pipermail/stratos-
> > dev/2021-
> > > > > > > August/000546.html
> > > > > > > > > >
> > > > > > > > > > Let me take this opportunity to explain a bit more abou=
t
> > my
> > > > > approach
> > > > > > > below.
> > > > > > > > > >
> > > > > > > > > > > Also, please see this relevant email thread:
> > > > > > > > > > > https://marc.info/?l=3Dxen-devel&m=3D162373754705233&=
w=3D2
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > On Wed, 4 Aug 2021, Alex Benn=C3=A9e wrote:
> > > > > > > > > > > > Hi,
> > > > > > > > > > > >
> > > > > > > > > > > > One of the goals of Project Stratos is to enable
> > hypervisor
> > > > > > > agnostic
> > > > > > > > > > > > backends so we can enable as much re-use of code as
> > possible
> > > > > and
> > > > > > > avoid
> > > > > > > > > > > > repeating ourselves. This is the flip side of the
> > front end
> > > > > > > where
> > > > > > > > > > > > multiple front-end implementations are required - o=
ne
> > per OS,
> > > > > > > assuming
> > > > > > > > > > > > you don't just want Linux guests. The resultant
> guests
> > are
> > > > > > > trivially
> > > > > > > > > > > > movable between hypervisors modulo any abstracted
> > paravirt
> > > > > type
> > > > > > > > > > > > interfaces.
> > > > > > > > > > > >
> > > > > > > > > > > > In my original thumb nail sketch of a solution I
> > envisioned
> > > > > > > vhost-user
> > > > > > > > > > > > daemons running in a broadly POSIX like environment=
.
> > The
> > > > > > > interface to
> > > > > > > > > > > > the daemon is fairly simple requiring only some
> mapped
> > > > > memory
> > > > > > > and some
> > > > > > > > > > > > sort of signalling for events (on Linux this is
> > eventfd).
> > > > > The
> > > > > > > idea was a
> > > > > > > > > > > > stub binary would be responsible for any hypervisor
> > specific
> > > > > > > setup and
> > > > > > > > > > > > then launch a common binary to deal with the actual
> > > > > virtqueue
> > > > > > > requests
> > > > > > > > > > > > themselves.
> > > > > > > > > > > >
> > > > > > > > > > > > Since that original sketch we've seen an expansion =
in
> > the
> > > > > sort
> > > > > > > of ways
> > > > > > > > > > > > backends could be created. There is interest in
> > > > > encapsulating
> > > > > > > backends
> > > > > > > > > > > > in RTOSes or unikernels for solutions like SCMI.
> There
> > > > > interest
> > > > > > > in Rust
> > > > > > > > > > > > has prompted ideas of using the trait interface to
> > abstract
> > > > > > > differences
> > > > > > > > > > > > away as well as the idea of bare-metal Rust backend=
s.
> > > > > > > > > > > >
> > > > > > > > > > > > We have a card (STR-12) called "Hypercall
> > Standardisation"
> > > > > which
> > > > > > > > > > > > calls for a description of the APIs needed from the
> > > > > hypervisor
> > > > > > > side to
> > > > > > > > > > > > support VirtIO guests and their backends. However w=
e
> > are
> > > > > some
> > > > > > > way off
> > > > > > > > > > > > from that at the moment as I think we need to at
> least
> > > > > > > demonstrate one
> > > > > > > > > > > > portable backend before we start codifying
> > requirements. To
> > > > > that
> > > > > > > end I
> > > > > > > > > > > > want to think about what we need for a backend to
> > function.
> > > > > > > > > > > >
> > > > > > > > > > > > Configuration
> > > > > > > > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> > > > > > > > > > > >
> > > > > > > > > > > > In the type-2 setup this is typically fairly simple
> > because
> > > > > the
> > > > > > > host
> > > > > > > > > > > > system can orchestrate the various modules that mak=
e
> > up the
> > > > > > > complete
> > > > > > > > > > > > system. In the type-1 case (or even type-2 with
> > delegated
> > > > > > > service VMs)
> > > > > > > > > > > > we need some sort of mechanism to inform the backen=
d
> > VM
> > > > > about
> > > > > > > key
> > > > > > > > > > > > details about the system:
> > > > > > > > > > > >
> > > > > > > > > > > >   - where virt queue memory is in it's address spac=
e
> > > > > > > > > > > >   - how it's going to receive (interrupt) and trigg=
er
> > (kick)
> > > > > > > events
> > > > > > > > > > > >   - what (if any) resources the backend needs to
> > connect to
> > > > > > > > > > > >
> > > > > > > > > > > > Obviously you can elide over configuration issues b=
y
> > having
> > > > > > > static
> > > > > > > > > > > > configurations and baking the assumptions into your
> > guest
> > > > > images
> > > > > > > however
> > > > > > > > > > > > this isn't scalable in the long term. The obvious
> > solution
> > > > > seems
> > > > > > > to be
> > > > > > > > > > > > extending a subset of Device Tree data to user spac=
e
> > but
> > > > > perhaps
> > > > > > > there
> > > > > > > > > > > > are other approaches?
> > > > > > > > > > > >
> > > > > > > > > > > > Before any virtio transactions can take place the
> > > > > appropriate
> > > > > > > memory
> > > > > > > > > > > > mappings need to be made between the FE guest and t=
he
> > BE
> > > > > guest.
> > > > > > > > > > >
> > > > > > > > > > > > Currently the whole of the FE guests address space
> > needs to
> > > > > be
> > > > > > > visible
> > > > > > > > > > > > to whatever is serving the virtio requests. I can
> > envision 3
> > > > > > > approaches:
> > > > > > > > > > > >
> > > > > > > > > > > >  * BE guest boots with memory already mapped
> > > > > > > > > > > >
> > > > > > > > > > > >  This would entail the guest OS knowing where in it=
's
> > Guest
> > > > > > > Physical
> > > > > > > > > > > >  Address space is already taken up and avoiding
> > clashing. I
> > > > > > > would assume
> > > > > > > > > > > >  in this case you would want a standard interface t=
o
> > > > > userspace
> > > > > > > to then
> > > > > > > > > > > >  make that address space visible to the backend
> daemon.
> > > > > > > > > >
> > > > > > > > > > Yet another way here is that we would have well known
> > "shared
> > > > > > > memory" between
> > > > > > > > > > VMs. I think that Jailhouse's ivshmem gives us good
> > insights on
> > > > > this
> > > > > > > matter
> > > > > > > > > > and that it can even be an alternative for hypervisor-
> > agnostic
> > > > > > > solution.
> > > > > > > > > >
> > > > > > > > > > (Please note memory regions in ivshmem appear as a PCI
> > device
> > > > > and
> > > > > > > can be
> > > > > > > > > > mapped locally.)
> > > > > > > > > >
> > > > > > > > > > I want to add this shared memory aspect to my
> virtio-proxy,
> > but
> > > > > > > > > > the resultant solution would eventually look similar to
> > ivshmem.
> > > > > > > > > >
> > > > > > > > > > > >  * BE guests boots with a hypervisor handle to memo=
ry
> > > > > > > > > > > >
> > > > > > > > > > > >  The BE guest is then free to map the FE's memory t=
o
> > where
> > > > > it
> > > > > > > wants in
> > > > > > > > > > > >  the BE's guest physical address space.
> > > > > > > > > > >
> > > > > > > > > > > I cannot see how this could work for Xen. There is no
> > "handle"
> > > > > to
> > > > > > > give
> > > > > > > > > > > to the backend if the backend is not running in dom0.
> So
> > for
> > > > > Xen I
> > > > > > > think
> > > > > > > > > > > the memory has to be already mapped
> > > > > > > > > >
> > > > > > > > > > In Xen's IOREQ solution (virtio-blk), the following
> > information
> > > > > is
> > > > > > > expected
> > > > > > > > > > to be exposed to BE via Xenstore:
> > > > > > > > > > (I know that this is a tentative approach though.)
> > > > > > > > > >    - the start address of configuration space
> > > > > > > > > >    - interrupt number
> > > > > > > > > >    - file path for backing storage
> > > > > > > > > >    - read-only flag
> > > > > > > > > > And the BE server have to call a particular hypervisor
> > interface
> > > > > to
> > > > > > > > > > map the configuration space.
> > > > > > > > >
> > > > > > > > > Yes, Xenstore was chosen as a simple way to pass
> > configuration
> > > > > info to
> > > > > > > the backend running in a non-toolstack domain.
> > > > > > > > > I remember, there was a wish to avoid using Xenstore in
> > Virtio
> > > > > backend
> > > > > > > itself if possible, so for non-toolstack domain, this could
> done
> > with
> > > > > > > adjusting devd (daemon that listens for devices and launches
> > backends)
> > > > > > > > > to read backend configuration from the Xenstore anyway an=
d
> > pass it
> > > > > to
> > > > > > > the backend via command line arguments.
> > > > > > > > >
> > > > > > > >
> > > > > > > > Yes, in current PoC code we're using xenstore to pass devic=
e
> > > > > > > configuration.
> > > > > > > > We also designed a static device configuration parse method
> > for
> > > > > Dom0less
> > > > > > > or
> > > > > > > > other scenarios don't have xentool. yes, it's from device
> > model
> > > > > command
> > > > > > > line
> > > > > > > > or a config file.
> > > > > > > >
> > > > > > > > > But, if ...
> > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > In my approach (virtio-proxy), all those Xen (or
> > hypervisor)-
> > > > > > > specific
> > > > > > > > > > stuffs are contained in virtio-proxy, yet another VM, t=
o
> > hide
> > > > > all
> > > > > > > details.
> > > > > > > > >
> > > > > > > > > ... the solution how to overcome that is already found an=
d
> > proven
> > > > > to
> > > > > > > work then even better.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > > # My point is that a "handle" is not mandatory for
> > executing
> > > > > mapping.
> > > > > > > > > >
> > > > > > > > > > > and the mapping probably done by the
> > > > > > > > > > > toolstack (also see below.) Or we would have to inven=
t
> a
> > new
> > > > > Xen
> > > > > > > > > > > hypervisor interface and Xen virtual machine privileg=
es
> > to
> > > > > allow
> > > > > > > this
> > > > > > > > > > > kind of mapping.
> > > > > > > > > >
> > > > > > > > > > > If we run the backend in Dom0 that we have no problem=
s
> > of
> > > > > course.
> > > > > > > > > >
> > > > > > > > > > One of difficulties on Xen that I found in my approach =
is
> > that
> > > > > > > calling
> > > > > > > > > > such hypervisor intefaces (registering IOREQ, mapping
> > memory) is
> > > > > > > only
> > > > > > > > > > allowed on BE servers themselvies and so we will have t=
o
> > extend
> > > > > > > those
> > > > > > > > > > interfaces.
> > > > > > > > > > This, however, will raise some concern on security and
> > privilege
> > > > > > > distribution
> > > > > > > > > > as Stefan suggested.
> > > > > > > > >
> > > > > > > > > We also faced policy related issues with Virtio backend
> > running in
> > > > > > > other than Dom0 domain in a "dummy" xsm mode. In our target
> > system we
> > > > > run
> > > > > > > the backend in a driver
> > > > > > > > > domain (we call it DomD) where the underlying H/W resides=
.
> > We
> > > > > trust it,
> > > > > > > so we wrote policy rules (to be used in "flask" xsm mode) to
> > provide
> > > > > it
> > > > > > > with a little bit more privileges than a simple DomU had.
> > > > > > > > > Now it is permitted to issue device-model, resource and
> > memory
> > > > > > > mappings, etc calls.
> > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > > To activate the mapping will
> > > > > > > > > > > >  require some sort of hypercall to the hypervisor. =
I
> > can see
> > > > > two
> > > > > > > options
> > > > > > > > > > > >  at this point:
> > > > > > > > > > > >
> > > > > > > > > > > >   - expose the handle to userspace for daemon/helpe=
r
> > to
> > > > > trigger
> > > > > > > the
> > > > > > > > > > > >     mapping via existing hypercall interfaces. If
> > using a
> > > > > helper
> > > > > > > you
> > > > > > > > > > > >     would have a hypervisor specific one to avoid t=
he
> > daemon
> > > > > > > having to
> > > > > > > > > > > >     care too much about the details or push that
> > complexity
> > > > > into
> > > > > > > a
> > > > > > > > > > > >     compile time option for the daemon which would
> > result in
> > > > > > > different
> > > > > > > > > > > >     binaries although a common source base.
> > > > > > > > > > > >
> > > > > > > > > > > >   - expose a new kernel ABI to abstract the hyperca=
ll
> > > > > > > differences away
> > > > > > > > > > > >     in the guest kernel. In this case the userspace
> > would
> > > > > > > essentially
> > > > > > > > > > > >     ask for an abstract "map guest N memory to
> > userspace
> > > > > ptr"
> > > > > > > and let
> > > > > > > > > > > >     the kernel deal with the different hypercall
> > interfaces.
> > > > > > > This of
> > > > > > > > > > > >     course assumes the majority of BE guests would =
be
> > Linux
> > > > > > > kernels and
> > > > > > > > > > > >     leaves the bare-metal/unikernel approaches to
> > their own
> > > > > > > devices.
> > > > > > > > > > > >
> > > > > > > > > > > > Operation
> > > > > > > > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D
> > > > > > > > > > > >
> > > > > > > > > > > > The core of the operation of VirtIO is fairly simpl=
e.
> > Once
> > > > > the
> > > > > > > > > > > > vhost-user feature negotiation is done it's a case =
of
> > > > > receiving
> > > > > > > update
> > > > > > > > > > > > events and parsing the resultant virt queue for dat=
a.
> > The
> > > > > vhost-
> > > > > > > user
> > > > > > > > > > > > specification handles a bunch of setup before that
> > point,
> > > > > mostly
> > > > > > > to
> > > > > > > > > > > > detail where the virt queues are set up FD's for
> > memory and
> > > > > > > event
> > > > > > > > > > > > communication. This is where the envisioned stub
> > process
> > > > > would
> > > > > > > be
> > > > > > > > > > > > responsible for getting the daemon up and ready to
> run.
> > This
> > > > > is
> > > > > > > > > > > > currently done inside a big VMM like QEMU but I
> > suspect a
> > > > > modern
> > > > > > > > > > > > approach would be to use the rust-vmm vhost crate. =
It
> > would
> > > > > then
> > > > > > > either
> > > > > > > > > > > > communicate with the kernel's abstracted ABI or be
> re-
> > > > > targeted
> > > > > > > as a
> > > > > > > > > > > > build option for the various hypervisors.
> > > > > > > > > > >
> > > > > > > > > > > One thing I mentioned before to Alex is that Xen
> doesn't
> > have
> > > > > VMMs
> > > > > > > the
> > > > > > > > > > > way they are typically envisioned and described in
> other
> > > > > > > environments.
> > > > > > > > > > > Instead, Xen has IOREQ servers. Each of them connects
> > > > > > > independently to
> > > > > > > > > > > Xen via the IOREQ interface. E.g. today multiple QEMU=
s
> > could
> > > > > be
> > > > > > > used as
> > > > > > > > > > > emulators for a single Xen VM, each of them connectin=
g
> > to Xen
> > > > > > > > > > > independently via the IOREQ interface.
> > > > > > > > > > >
> > > > > > > > > > > The component responsible for starting a daemon and/o=
r
> > setting
> > > > > up
> > > > > > > shared
> > > > > > > > > > > interfaces is the toolstack: the xl command and the
> > > > > libxl/libxc
> > > > > > > > > > > libraries.
> > > > > > > > > >
> > > > > > > > > > I think that VM configuration management (or
> orchestration
> > in
> > > > > > > Startos
> > > > > > > > > > jargon?) is a subject to debate in parallel.
> > > > > > > > > > Otherwise, is there any good assumption to avoid it rig=
ht
> > now?
> > > > > > > > > >
> > > > > > > > > > > Oleksandr and others I CCed have been working on ways
> > for the
> > > > > > > toolstack
> > > > > > > > > > > to create virtio backends and setup memory mappings.
> > They
> > > > > might be
> > > > > > > able
> > > > > > > > > > > to provide more info on the subject. I do think we mi=
ss
> > a way
> > > > > to
> > > > > > > provide
> > > > > > > > > > > the configuration to the backend and anything else th=
at
> > the
> > > > > > > backend
> > > > > > > > > > > might require to start doing its job.
> > > > > > > > >
> > > > > > > > > Yes, some work has been done for the toolstack to handle
> > Virtio
> > > > > MMIO
> > > > > > > devices in
> > > > > > > > > general and Virtio block devices in particular. However, =
it
> > has
> > > > > not
> > > > > > > been upstreaned yet.
> > > > > > > > > Updated patches on review now:
> > > > > > > > > https://lore.kernel.org/xen-devel/1621626361-29076-1-git-
> > send-
> > > > > email-
> > > > > > > olekstysh@gmail.com/
> > > > > > > > >
> > > > > > > > > There is an additional (also important) activity to
> > improve/fix
> > > > > > > foreign memory mapping on Arm which I am also involved in.
> > > > > > > > > The foreign memory mapping is proposed to be used for
> Virtio
> > > > > backends
> > > > > > > (device emulators) if there is a need to run guest OS
> completely
> > > > > > > unmodified.
> > > > > > > > > Of course, the more secure way would be to use grant memo=
ry
> > > > > mapping.
> > > > > > > Brietly, the main difference between them is that with foreig=
n
> > mapping
> > > > > the
> > > > > > > backend
> > > > > > > > > can map any guest memory it wants to map, but with grant
> > mapping
> > > > > it is
> > > > > > > allowed to map only what was previously granted by the
> frontend.
> > > > > > > > >
> > > > > > > > > So, there might be a problem if we want to pre-map some
> > guest
> > > > > memory
> > > > > > > in advance or to cache mappings in the backend in order to
> > improve
> > > > > > > performance (because the mapping/unmapping guest pages every
> > request
> > > > > > > requires a lot of back and forth to Xen + P2M updates). In a
> > nutshell,
> > > > > > > currently, in order to map a guest page into the backend
> address
> > space
> > > > > we
> > > > > > > need to steal a real physical page from the backend domain. S=
o,
> > with
> > > > > the
> > > > > > > said optimizations we might end up with no free memory in the
> > backend
> > > > > > > domain (see XSA-300). And what we try to achieve is to not
> waste
> > a
> > > > > real
> > > > > > > domain memory at all by providing safe non-allocated-yet (so
> > unused)
> > > > > > > address space for the foreign (and grant) pages to be mapped
> > into,
> > > > > this
> > > > > > > enabling work implies Xen and Linux (and likely DTB bindings)
> > changes.
> > > > > > > However, as it turned out, for this to work in a proper and
> safe
> > way
> > > > > some
> > > > > > > prereq work needs to be done.
> > > > > > > > > You can find the related Xen discussion at:
> > > > > > > > > https://lore.kernel.org/xen-devel/1627489110-25633-1-git-
> > send-
> > > > > email-
> > > > > > > olekstysh@gmail.com/
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > > One question is how to best handle notification and
> > kicks.
> > > > > The
> > > > > > > existing
> > > > > > > > > > > > vhost-user framework uses eventfd to signal the
> daemon
> > > > > (although
> > > > > > > QEMU
> > > > > > > > > > > > is quite capable of simulating them when you use
> TCG).
> > Xen
> > > > > has
> > > > > > > it's own
> > > > > > > > > > > > IOREQ mechanism. However latency is an important
> > factor and
> > > > > > > having
> > > > > > > > > > > > events go through the stub would add quite a lot.
> > > > > > > > > > >
> > > > > > > > > > > Yeah I think, regardless of anything else, we want th=
e
> > > > > backends to
> > > > > > > > > > > connect directly to the Xen hypervisor.
> > > > > > > > > >
> > > > > > > > > > In my approach,
> > > > > > > > > >  a) BE -> FE: interrupts triggered by BE calling a
> > hypervisor
> > > > > > > interface
> > > > > > > > > >               via virtio-proxy
> > > > > > > > > >  b) FE -> BE: MMIO to config raises events (in event
> > channels),
> > > > > > > which is
> > > > > > > > > >               converted to a callback to BE via virtio-
> > proxy
> > > > > > > > > >               (Xen's event channel is internnally
> > implemented by
> > > > > > > interrupts.)
> > > > > > > > > >
> > > > > > > > > > I don't know what "connect directly" means here, but
> > sending
> > > > > > > interrupts
> > > > > > > > > > to the opposite side would be best efficient.
> > > > > > > > > > Ivshmem, I suppose, takes this approach by utilizing
> PCI's
> > msi-x
> > > > > > > mechanism.
> > > > > > > > >
> > > > > > > > > Agree that MSI would be more efficient than SPI...
> > > > > > > > > At the moment, in order to notify the frontend, the backe=
nd
> > issues
> > > > > a
> > > > > > > specific device-model call to query Xen to inject a
> > corresponding SPI
> > > > > to
> > > > > > > the guest.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > > Could we consider the kernel internally converting
> > IOREQ
> > > > > > > messages from
> > > > > > > > > > > > the Xen hypervisor to eventfd events? Would this
> scale
> > with
> > > > > > > other kernel
> > > > > > > > > > > > hypercall interfaces?
> > > > > > > > > > > >
> > > > > > > > > > > > So any thoughts on what directions are worth
> > experimenting
> > > > > with?
> > > > > > > > > > >
> > > > > > > > > > > One option we should consider is for each backend to
> > connect
> > > > > to
> > > > > > > Xen via
> > > > > > > > > > > the IOREQ interface. We could generalize the IOREQ
> > interface
> > > > > and
> > > > > > > make it
> > > > > > > > > > > hypervisor agnostic. The interface is really trivial
> and
> > easy
> > > > > to
> > > > > > > add.
> > > > > > > > > >
> > > > > > > > > > As I said above, my proposal does the same thing that y=
ou
> > > > > mentioned
> > > > > > > here :)
> > > > > > > > > > The difference is that I do call hypervisor interfaces
> via
> > > > > virtio-
> > > > > > > proxy.
> > > > > > > > > >
> > > > > > > > > > > The only Xen-specific part is the notification
> mechanism,
> > > > > which is
> > > > > > > an
> > > > > > > > > > > event channel. If we replaced the event channel with
> > something
> > > > > > > else the
> > > > > > > > > > > interface would be generic. See:
> > > > > > > > > > > https://gitlab.com/xen-project/xen/-
> > > > > > > /blob/staging/xen/include/public/hvm/ioreq.h#L52
> > > > > > > > > > >
> > > > > > > > > > > I don't think that translating IOREQs to eventfd in t=
he
> > kernel
> > > > > is
> > > > > > > a
> > > > > > > > > > > good idea: if feels like it would be extra complexity
> > and that
> > > > > the
> > > > > > > > > > > kernel shouldn't be involved as this is a backend-
> > hypervisor
> > > > > > > interface.
> > > > > > > > > >
> > > > > > > > > > Given that we may want to implement BE as a bare-metal
> > > > > application
> > > > > > > > > > as I did on Zephyr, I don't think that the translation
> > would not
> > > > > be
> > > > > > > > > > a big issue, especially on RTOS's.
> > > > > > > > > > It will be some kind of abstraction layer of interrupt
> > handling
> > > > > > > > > > (or nothing but a callback mechanism).
> > > > > > > > > >
> > > > > > > > > > > Also, eventfd is very Linux-centric and we are trying
> to
> > > > > design an
> > > > > > > > > > > interface that could work well for RTOSes too. If we
> > want to
> > > > > do
> > > > > > > > > > > something different, both OS-agnostic and hypervisor-
> > agnostic,
> > > > > > > perhaps
> > > > > > > > > > > we could design a new interface. One that could be
> > > > > implementable
> > > > > > > in the
> > > > > > > > > > > Xen hypervisor itself (like IOREQ) and of course any
> > other
> > > > > > > hypervisor
> > > > > > > > > > > too.
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > There is also another problem. IOREQ is probably not =
be
> > the
> > > > > only
> > > > > > > > > > > interface needed. Have a look at
> > > > > > > > > > > https://marc.info/?l=3Dxen-devel&m=3D162373754705233&=
w=3D2.
> > Don't we
> > > > > > > also need
> > > > > > > > > > > an interface for the backend to inject interrupts int=
o
> > the
> > > > > > > frontend? And
> > > > > > > > > > > if the backend requires dynamic memory mappings of
> > frontend
> > > > > pages,
> > > > > > > then
> > > > > > > > > > > we would also need an interface to map/unmap domU
> pages.
> > > > > > > > > >
> > > > > > > > > > My proposal document might help here; All the interface=
s
> > > > > required
> > > > > > > for
> > > > > > > > > > virtio-proxy (or hypervisor-related interfaces) are
> listed
> > as
> > > > > > > > > > RPC protocols :)
> > > > > > > > > >
> > > > > > > > > > > These interfaces are a lot more problematic than IORE=
Q:
> > IOREQ
> > > > > is
> > > > > > > tiny
> > > > > > > > > > > and self-contained. It is easy to add anywhere. A new
> > > > > interface to
> > > > > > > > > > > inject interrupts or map pages is more difficult to
> > manage
> > > > > because
> > > > > > > it
> > > > > > > > > > > would require changes scattered across the various
> > emulators.
> > > > > > > > > >
> > > > > > > > > > Exactly. I have no confident yet that my approach will
> > also
> > > > > apply
> > > > > > > > > > to other hypervisors than Xen.
> > > > > > > > > > Technically, yes, but whether people can accept it or n=
ot
> > is a
> > > > > > > different
> > > > > > > > > > matter.
> > > > > > > > > >
> > > > > > > > > > Thanks,
> > > > > > > > > > -Takahiro Akashi
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > --
> > > > > > > > > Regards,
> > > > > > > > >
> > > > > > > > > Oleksandr Tyshchenko
> > > > > > > > IMPORTANT NOTICE: The contents of this email and any
> > attachments are
> > > > > > > confidential and may also be privileged. If you are not the
> > intended
> > > > > > > recipient, please notify the sender immediately and do not
> > disclose
> > > > > the
> > > > > > > contents to any other person, use it for any purpose, or stor=
e
> > or copy
> > > > > the
> > > > > > > information in any medium. Thank you.
> > > > > > IMPORTANT NOTICE: The contents of this email and any attachment=
s
> > are
> > > > > confidential and may also be privileged. If you are not the
> intended
> > > > > recipient, please notify the sender immediately and do not disclo=
se
> > the
> > > > > contents to any other person, use it for any purpose, or store or
> > copy the
> > > > > information in any medium. Thank you.
> > > > IMPORTANT NOTICE: The contents of this email and any attachments ar=
e
> > confidential and may also be privileged. If you are not the intended
> > recipient, please notify the sender immediately and do not disclose the
> > contents to any other person, use it for any purpose, or store or copy
> the
> > information in any medium. Thank you.
> IMPORTANT NOTICE: The contents of this email and any attachments are
> confidential and may also be privileged. If you are not the intended
> recipient, please notify the sender immediately and do not disclose the
> contents to any other person, use it for any purpose, or store or copy th=
e
> information in any medium. Thank you.
>

--000000000000eb0bd005cacbf53a
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Apologies for being late to this thread, but I hope to be =
able to contribute to<br>this discussion in a meaningful way. I am grateful=
 for the level of interest in<br>this topic. I would like to draw your atte=
ntion to Argo as a suitable<br>technology for development of VirtIO&#39;s h=
ypervisor-agnostic interfaces.<br><br>* Argo is an interdomain communicatio=
n mechanism in Xen (on x86 and Arm) that<br>=C2=A0 can send and receive hyp=
ervisor-mediated notifications and messages between<br>=C2=A0 domains (VMs)=
. [1] The hypervisor can enforce Mandatory Access Control over<br>=C2=A0 al=
l communication between domains. It is derived from the earlier v4v, which<=
br>=C2=A0 has been deployed on millions of machines with the HP/Bromium uXe=
n hypervisor<br>=C2=A0 and with OpenXT.<br>=C2=A0<br>* Argo has a simple in=
terface with a small number of operations that was<br>=C2=A0 designed for e=
ase of integration into OS primitives on both Linux (sockets)<br>=C2=A0 and=
 Windows (ReadFile/WriteFile) [2].<br>=C2=A0 =C2=A0 - A unikernel example o=
f using it has also been developed for XTF. [3]<br><br>* There has been rec=
ent discussion and support in the Xen community for making<br>=C2=A0 revisi=
ons to the Argo interface to make it hypervisor-agnostic, and support<br>=
=C2=A0 implementations of Argo on other hypervisors. This will enable a sin=
gle<br>=C2=A0 interface for an OS kernel binary to use for inter-VM communi=
cation that will<br>=C2=A0 work on multiple hypervisors -- this applies equ=
ally to both backends and<br>=C2=A0 frontend implementations. [4]<br><br>* =
Here are the design documents for building VirtIO-over-Argo, to support a<b=
r>=C2=A0 hypervisor-agnostic frontend VirtIO transport driver using Argo.<b=
r><br>The Development Plan to build VirtIO virtual device support over Argo=
 transport:<br><a href=3D"https://openxt.atlassian.net/wiki/spaces/DC/pages=
/1696169985/VirtIO-Argo+Development+Phase+1">https://openxt.atlassian.net/w=
iki/spaces/DC/pages/1696169985/VirtIO-Argo+Development+Phase+1</a><br><br>A=
 design for using VirtIO over Argo, describing how VirtIO data structures<b=
r>and communication is handled over the Argo transport:<br><a href=3D"https=
://openxt.atlassian.net/wiki/spaces/DC/pages/1348763698/VirtIO+Argo">https:=
//openxt.atlassian.net/wiki/spaces/DC/pages/1348763698/VirtIO+Argo</a><br><=
br>Diagram (from the above document) showing how VirtIO rings are synchroni=
zed<br>between domains without using shared memory:<br><a href=3D"https://o=
penxt.atlassian.net/46e1c93b-2b87-4cb2-951e-abd4377a1194#media-blob-url=3Dt=
rue&amp;id=3D01f7d0e1-7686-4f0b-88e1-457c1d30df40&amp;collection=3DcontentI=
d-1348763698&amp;contextId=3D1348763698&amp;mimeType=3Dimage%2Fpng&amp;name=
=3Ddevice-buffer-access-virtio-argo.png&amp;size=3D243175&amp;width=3D1106&=
amp;height=3D1241">https://openxt.atlassian.net/46e1c93b-2b87-4cb2-951e-abd=
4377a1194#media-blob-url=3Dtrue&amp;id=3D01f7d0e1-7686-4f0b-88e1-457c1d30df=
40&amp;collection=3DcontentId-1348763698&amp;contextId=3D1348763698&amp;mim=
eType=3Dimage%2Fpng&amp;name=3Ddevice-buffer-access-virtio-argo.png&amp;siz=
e=3D243175&amp;width=3D1106&amp;height=3D1241</a><br><br>Please note that t=
he above design documents show that the existing VirtIO<br>device drivers, =
and both vring and virtqueue data structures can be preserved<br>while inte=
rdomain communication can be performed with no shared memory required<br>fo=
r most drivers; (the exceptions where further design is required are those<=
br>such as virtual framebuffer devices where shared memory regions are inte=
ntionally<br>added to the communication structure beyond the vrings and vir=
tqueues).<br><br>An analysis of VirtIO and Argo, informing the design:<br><=
a href=3D"https://openxt.atlassian.net/wiki/spaces/DC/pages/1333428225/Anal=
ysis+of+Argo+as+a+transport+medium+for+VirtIO">https://openxt.atlassian.net=
/wiki/spaces/DC/pages/1333428225/Analysis+of+Argo+as+a+transport+medium+for=
+VirtIO</a><br><br>* Argo can be used for a communication path for configur=
ation between the backend<br>=C2=A0 and the toolstack, avoiding the need fo=
r a dependency on XenStore, which is an<br>=C2=A0 advantage for any hypervi=
sor-agnostic design. It is also amenable to a notification<br>=C2=A0 mechan=
ism that is not based on Xen event channels.<br><br>* Argo does not use or =
require shared memory between VMs and provides an alternative<br>=C2=A0 to =
the use of foreign shared memory mappings. It avoids some of the complexiti=
es<br>=C2=A0 involved with using grants (eg. XSA-300).<br><br>* Argo suppor=
ts Mandatory Access Control by the hypervisor, satisfying a common<br>=C2=
=A0 certification requirement.<br><br>* The Argo headers are BSD-licensed a=
nd the Xen hypervisor implementation is GPLv2 but<br>=C2=A0 accessible via =
the hypercall interface. The licensing should not present an obstacle<br>=
=C2=A0 to adoption of Argo in guest software or implementation by other hyp=
ervisors.<br><br>* Since the interface that Argo presents to a guest VM is =
similar to DMA, a VirtIO-Argo<br>=C2=A0 frontend transport driver should be=
 able to operate with a physical VirtIO-enabled<br>=C2=A0 smart-NIC if the =
toolstack and an Argo-aware backend provide support.<br><br>The next Xen Co=
mmunity Call is next week and I would be happy to answer questions<br>about=
 Argo and on this topic. I will also be following this thread.<br><br>Chris=
topher<br>(Argo maintainer, Xen Community)<br><br>-------------------------=
-------------------------------------------------------<br>[1]<br>An introd=
uction to Argo:<br><a href=3D"https://static.sched.com/hosted_files/xensumm=
it19/92/Argo%20and%20HMX%20-%20OpenXT%20-%20Christopher%20Clark%20-%20Xen%2=
0Summit%202019.pdf">https://static.sched.com/hosted_files/xensummit19/92/Ar=
go%20and%20HMX%20-%20OpenXT%20-%20Christopher%20Clark%20-%20Xen%20Summit%20=
2019.pdf</a><br><a href=3D"https://www.youtube.com/watch?v=3DcnC0Tg3jqJQ">h=
ttps://www.youtube.com/watch?v=3DcnC0Tg3jqJQ</a><br>Xen Wiki page for Argo:=
<br><a href=3D"https://wiki.xenproject.org/wiki/Argo:_Hypervisor-Mediated_E=
xchange_(HMX)_for_Xen">https://wiki.xenproject.org/wiki/Argo:_Hypervisor-Me=
diated_Exchange_(HMX)_for_Xen</a><br><br>[2]<br>OpenXT Linux Argo driver an=
d userspace library:<br><a href=3D"https://github.com/openxt/linux-xen-argo=
">https://github.com/openxt/linux-xen-argo</a><br><br>Windows V4V at OpenXT=
 wiki:<br><a href=3D"https://openxt.atlassian.net/wiki/spaces/DC/pages/1484=
4007/V4V">https://openxt.atlassian.net/wiki/spaces/DC/pages/14844007/V4V</a=
><br>Windows v4v driver source:<br><a href=3D"https://github.com/OpenXT/xc-=
windows/tree/master/xenv4v">https://github.com/OpenXT/xc-windows/tree/maste=
r/xenv4v</a><br><br>HP/Bromium uXen V4V driver:<br><a href=3D"https://githu=
b.com/uxen-virt/uxen/tree/ascara/windows/uxenv4vlib">https://github.com/uxe=
n-virt/uxen/tree/ascara/windows/uxenv4vlib</a><br><br>[3]<br>v2 of the Argo=
 test unikernel for XTF:<br><a href=3D"https://lists.xenproject.org/archive=
s/html/xen-devel/2021-01/msg02234.html">https://lists.xenproject.org/archiv=
es/html/xen-devel/2021-01/msg02234.html</a><br><br>[4]<br>Argo HMX Transpor=
t for VirtIO meeting minutes:<br><a href=3D"https://lists.xenproject.org/ar=
chives/html/xen-devel/2021-02/msg01422.html">https://lists.xenproject.org/a=
rchives/html/xen-devel/2021-02/msg01422.html</a><br><br>VirtIO-Argo Develop=
ment wiki page:<br><a href=3D"https://openxt.atlassian.net/wiki/spaces/DC/p=
ages/1696169985/VirtIO-Argo+Development+Phase+1">https://openxt.atlassian.n=
et/wiki/spaces/DC/pages/1696169985/VirtIO-Argo+Development+Phase+1</a><br><=
div><br></div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=
=3D"gmail_attr">On Thu, Aug 26, 2021 at 5:11 AM Wei Chen &lt;<a href=3D"mai=
lto:Wei.Chen@arm.com">Wei.Chen@arm.com</a>&gt; wrote:<br></div><blockquote =
class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px sol=
id rgb(204,204,204);padding-left:1ex">Hi Akashi,<br>
<br>
&gt; -----Original Message-----<br>
&gt; From: AKASHI Takahiro &lt;<a href=3D"mailto:takahiro.akashi@linaro.org=
" target=3D"_blank">takahiro.akashi@linaro.org</a>&gt;<br>
&gt; Sent: 2021=E5=B9=B48=E6=9C=8826=E6=97=A5 17:41<br>
&gt; To: Wei Chen &lt;<a href=3D"mailto:Wei.Chen@arm.com" target=3D"_blank"=
>Wei.Chen@arm.com</a>&gt;<br>
&gt; Cc: Oleksandr Tyshchenko &lt;<a href=3D"mailto:olekstysh@gmail.com" ta=
rget=3D"_blank">olekstysh@gmail.com</a>&gt;; Stefano Stabellini<br>
&gt; &lt;<a href=3D"mailto:sstabellini@kernel.org" target=3D"_blank">sstabe=
llini@kernel.org</a>&gt;; Alex Benn??e &lt;<a href=3D"mailto:alex.bennee@li=
naro.org" target=3D"_blank">alex.bennee@linaro.org</a>&gt;; Kaly Xin<br>
&gt; &lt;<a href=3D"mailto:Kaly.Xin@arm.com" target=3D"_blank">Kaly.Xin@arm=
.com</a>&gt;; Stratos Mailing List &lt;<a href=3D"mailto:stratos-dev@op-lis=
ts.linaro.org" target=3D"_blank">stratos-dev@op-lists.linaro.org</a>&gt;;<b=
r>
&gt; <a href=3D"mailto:virtio-dev@lists.oasis-open.org" target=3D"_blank">v=
irtio-dev@lists.oasis-open.org</a>; Arnd Bergmann &lt;<a href=3D"mailto:arn=
d.bergmann@linaro.org" target=3D"_blank">arnd.bergmann@linaro.org</a>&gt;;<=
br>
&gt; Viresh Kumar &lt;<a href=3D"mailto:viresh.kumar@linaro.org" target=3D"=
_blank">viresh.kumar@linaro.org</a>&gt;; Stefano Stabellini<br>
&gt; &lt;<a href=3D"mailto:stefano.stabellini@xilinx.com" target=3D"_blank"=
>stefano.stabellini@xilinx.com</a>&gt;; <a href=3D"mailto:stefanha@redhat.c=
om" target=3D"_blank">stefanha@redhat.com</a>; Jan Kiszka<br>
&gt; &lt;<a href=3D"mailto:jan.kiszka@siemens.com" target=3D"_blank">jan.ki=
szka@siemens.com</a>&gt;; Carl van Schaik &lt;<a href=3D"mailto:cvanscha@qt=
i.qualcomm.com" target=3D"_blank">cvanscha@qti.qualcomm.com</a>&gt;;<br>
&gt; <a href=3D"mailto:pratikp@quicinc.com" target=3D"_blank">pratikp@quici=
nc.com</a>; Srivatsa Vaddagiri &lt;<a href=3D"mailto:vatsa@codeaurora.org" =
target=3D"_blank">vatsa@codeaurora.org</a>&gt;; Jean-<br>
&gt; Philippe Brucker &lt;<a href=3D"mailto:jean-philippe@linaro.org" targe=
t=3D"_blank">jean-philippe@linaro.org</a>&gt;; Mathieu Poirier<br>
&gt; &lt;<a href=3D"mailto:mathieu.poirier@linaro.org" target=3D"_blank">ma=
thieu.poirier@linaro.org</a>&gt;; Oleksandr Tyshchenko<br>
&gt; &lt;<a href=3D"mailto:Oleksandr_Tyshchenko@epam.com" target=3D"_blank"=
>Oleksandr_Tyshchenko@epam.com</a>&gt;; Bertrand Marquis<br>
&gt; &lt;<a href=3D"mailto:Bertrand.Marquis@arm.com" target=3D"_blank">Bert=
rand.Marquis@arm.com</a>&gt;; Artem Mygaiev &lt;<a href=3D"mailto:Artem_Myg=
aiev@epam.com" target=3D"_blank">Artem_Mygaiev@epam.com</a>&gt;; Julien<br>
&gt; Grall &lt;<a href=3D"mailto:julien@xen.org" target=3D"_blank">julien@x=
en.org</a>&gt;; Juergen Gross &lt;<a href=3D"mailto:jgross@suse.com" target=
=3D"_blank">jgross@suse.com</a>&gt;; Paul Durrant<br>
&gt; &lt;<a href=3D"mailto:paul@xen.org" target=3D"_blank">paul@xen.org</a>=
&gt;; Xen Devel &lt;<a href=3D"mailto:xen-devel@lists.xen.org" target=3D"_b=
lank">xen-devel@lists.xen.org</a>&gt;<br>
&gt; Subject: Re: Enabling hypervisor agnosticism for VirtIO backends<br>
&gt;<br>
&gt; Hi Wei,<br>
&gt;<br>
&gt; On Fri, Aug 20, 2021 at 03:41:50PM +0900, AKASHI Takahiro wrote:<br>
&gt; &gt; On Wed, Aug 18, 2021 at 08:35:51AM +0000, Wei Chen wrote:<br>
&gt; &gt; &gt; Hi Akashi=EF=BC=8C<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; -----Original Message-----<br>
&gt; &gt; &gt; &gt; From: AKASHI Takahiro &lt;<a href=3D"mailto:takahiro.ak=
ashi@linaro.org" target=3D"_blank">takahiro.akashi@linaro.org</a>&gt;<br>
&gt; &gt; &gt; &gt; Sent: 2021=E5=B9=B48=E6=9C=8818=E6=97=A5 13:39<br>
&gt; &gt; &gt; &gt; To: Wei Chen &lt;<a href=3D"mailto:Wei.Chen@arm.com" ta=
rget=3D"_blank">Wei.Chen@arm.com</a>&gt;<br>
&gt; &gt; &gt; &gt; Cc: Oleksandr Tyshchenko &lt;<a href=3D"mailto:olekstys=
h@gmail.com" target=3D"_blank">olekstysh@gmail.com</a>&gt;; Stefano Stabell=
ini<br>
&gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:sstabellini@kernel.org" target=3D=
"_blank">sstabellini@kernel.org</a>&gt;; Alex Benn??e &lt;<a href=3D"mailto=
:alex.bennee@linaro.org" target=3D"_blank">alex.bennee@linaro.org</a>&gt;;<=
br>
&gt; Stratos<br>
&gt; &gt; &gt; &gt; Mailing List &lt;<a href=3D"mailto:stratos-dev@op-lists=
.linaro.org" target=3D"_blank">stratos-dev@op-lists.linaro.org</a>&gt;; vir=
tio-<br>
&gt; dev@lists.oasis-<br>
&gt; &gt; &gt; &gt; <a href=3D"http://open.org" rel=3D"noreferrer" target=
=3D"_blank">open.org</a>; Arnd Bergmann &lt;<a href=3D"mailto:arnd.bergmann=
@linaro.org" target=3D"_blank">arnd.bergmann@linaro.org</a>&gt;; Viresh Kum=
ar<br>
&gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:viresh.kumar@linaro.org" target=
=3D"_blank">viresh.kumar@linaro.org</a>&gt;; Stefano Stabellini<br>
&gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:stefano.stabellini@xilinx.com" ta=
rget=3D"_blank">stefano.stabellini@xilinx.com</a>&gt;; <a href=3D"mailto:st=
efanha@redhat.com" target=3D"_blank">stefanha@redhat.com</a>; Jan Kiszka<br=
>
&gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:jan.kiszka@siemens.com" target=3D=
"_blank">jan.kiszka@siemens.com</a>&gt;; Carl van Schaik<br>
&gt; &lt;<a href=3D"mailto:cvanscha@qti.qualcomm.com" target=3D"_blank">cva=
nscha@qti.qualcomm.com</a>&gt;;<br>
&gt; &gt; &gt; &gt; <a href=3D"mailto:pratikp@quicinc.com" target=3D"_blank=
">pratikp@quicinc.com</a>; Srivatsa Vaddagiri &lt;<a href=3D"mailto:vatsa@c=
odeaurora.org" target=3D"_blank">vatsa@codeaurora.org</a>&gt;;<br>
&gt; Jean-<br>
&gt; &gt; &gt; &gt; Philippe Brucker &lt;<a href=3D"mailto:jean-philippe@li=
naro.org" target=3D"_blank">jean-philippe@linaro.org</a>&gt;; Mathieu Poiri=
er<br>
&gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:mathieu.poirier@linaro.org" targe=
t=3D"_blank">mathieu.poirier@linaro.org</a>&gt;; Oleksandr Tyshchenko<br>
&gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:Oleksandr_Tyshchenko@epam.com" ta=
rget=3D"_blank">Oleksandr_Tyshchenko@epam.com</a>&gt;; Bertrand Marquis<br>
&gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:Bertrand.Marquis@arm.com" target=
=3D"_blank">Bertrand.Marquis@arm.com</a>&gt;; Artem Mygaiev &lt;<a href=3D"=
mailto:Artem_Mygaiev@epam.com" target=3D"_blank">Artem_Mygaiev@epam.com</a>=
&gt;;<br>
&gt; Julien<br>
&gt; &gt; &gt; &gt; Grall &lt;<a href=3D"mailto:julien@xen.org" target=3D"_=
blank">julien@xen.org</a>&gt;; Juergen Gross &lt;<a href=3D"mailto:jgross@s=
use.com" target=3D"_blank">jgross@suse.com</a>&gt;; Paul<br>
&gt; Durrant<br>
&gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:paul@xen.org" target=3D"_blank">p=
aul@xen.org</a>&gt;; Xen Devel &lt;<a href=3D"mailto:xen-devel@lists.xen.or=
g" target=3D"_blank">xen-devel@lists.xen.org</a>&gt;<br>
&gt; &gt; &gt; &gt; Subject: Re: Enabling hypervisor agnosticism for VirtIO=
 backends<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; On Tue, Aug 17, 2021 at 08:39:09AM +0000, Wei Chen wrot=
e:<br>
&gt; &gt; &gt; &gt; &gt; Hi Akashi,<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; -----Original Message-----<br>
&gt; &gt; &gt; &gt; &gt; &gt; From: AKASHI Takahiro &lt;<a href=3D"mailto:t=
akahiro.akashi@linaro.org" target=3D"_blank">takahiro.akashi@linaro.org</a>=
&gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; Sent: 2021=E5=B9=B48=E6=9C=8817=E6=97=A5 16:0=
8<br>
&gt; &gt; &gt; &gt; &gt; &gt; To: Wei Chen &lt;<a href=3D"mailto:Wei.Chen@a=
rm.com" target=3D"_blank">Wei.Chen@arm.com</a>&gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; Cc: Oleksandr Tyshchenko &lt;<a href=3D"mailt=
o:olekstysh@gmail.com" target=3D"_blank">olekstysh@gmail.com</a>&gt;; Stefa=
no<br>
&gt; Stabellini<br>
&gt; &gt; &gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:sstabellini@kernel.org"=
 target=3D"_blank">sstabellini@kernel.org</a>&gt;; Alex Benn??e &lt;<a href=
=3D"mailto:alex.bennee@linaro.org" target=3D"_blank">alex.bennee@linaro.org=
</a>&gt;;<br>
&gt; &gt; &gt; &gt; Stratos<br>
&gt; &gt; &gt; &gt; &gt; &gt; Mailing List &lt;<a href=3D"mailto:stratos-de=
v@op-lists.linaro.org" target=3D"_blank">stratos-dev@op-lists.linaro.org</a=
>&gt;; virtio-<br>
&gt; &gt; &gt; &gt; dev@lists.oasis-<br>
&gt; &gt; &gt; &gt; &gt; &gt; <a href=3D"http://open.org" rel=3D"noreferrer=
" target=3D"_blank">open.org</a>; Arnd Bergmann &lt;<a href=3D"mailto:arnd.=
bergmann@linaro.org" target=3D"_blank">arnd.bergmann@linaro.org</a>&gt;; Vi=
resh Kumar<br>
&gt; &gt; &gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:viresh.kumar@linaro.org=
" target=3D"_blank">viresh.kumar@linaro.org</a>&gt;; Stefano Stabellini<br>
&gt; &gt; &gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:stefano.stabellini@xili=
nx.com" target=3D"_blank">stefano.stabellini@xilinx.com</a>&gt;; <a href=3D=
"mailto:stefanha@redhat.com" target=3D"_blank">stefanha@redhat.com</a>; Jan=
 Kiszka<br>
&gt; &gt; &gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:jan.kiszka@siemens.com"=
 target=3D"_blank">jan.kiszka@siemens.com</a>&gt;; Carl van Schaik<br>
&gt; &lt;<a href=3D"mailto:cvanscha@qti.qualcomm.com" target=3D"_blank">cva=
nscha@qti.qualcomm.com</a>&gt;;<br>
&gt; &gt; &gt; &gt; &gt; &gt; <a href=3D"mailto:pratikp@quicinc.com" target=
=3D"_blank">pratikp@quicinc.com</a>; Srivatsa Vaddagiri &lt;<a href=3D"mail=
to:vatsa@codeaurora.org" target=3D"_blank">vatsa@codeaurora.org</a>&gt;;<br=
>
&gt; Jean-<br>
&gt; &gt; &gt; &gt; &gt; &gt; Philippe Brucker &lt;<a href=3D"mailto:jean-p=
hilippe@linaro.org" target=3D"_blank">jean-philippe@linaro.org</a>&gt;; Mat=
hieu Poirier<br>
&gt; &gt; &gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:mathieu.poirier@linaro.=
org" target=3D"_blank">mathieu.poirier@linaro.org</a>&gt;; Oleksandr Tyshch=
enko<br>
&gt; &gt; &gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:Oleksandr_Tyshchenko@ep=
am.com" target=3D"_blank">Oleksandr_Tyshchenko@epam.com</a>&gt;; Bertrand M=
arquis<br>
&gt; &gt; &gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:Bertrand.Marquis@arm.co=
m" target=3D"_blank">Bertrand.Marquis@arm.com</a>&gt;; Artem Mygaiev<br>
&gt; &lt;<a href=3D"mailto:Artem_Mygaiev@epam.com" target=3D"_blank">Artem_=
Mygaiev@epam.com</a>&gt;;<br>
&gt; &gt; &gt; &gt; Julien<br>
&gt; &gt; &gt; &gt; &gt; &gt; Grall &lt;<a href=3D"mailto:julien@xen.org" t=
arget=3D"_blank">julien@xen.org</a>&gt;; Juergen Gross &lt;<a href=3D"mailt=
o:jgross@suse.com" target=3D"_blank">jgross@suse.com</a>&gt;; Paul<br>
&gt; Durrant<br>
&gt; &gt; &gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:paul@xen.org" target=3D=
"_blank">paul@xen.org</a>&gt;; Xen Devel &lt;<a href=3D"mailto:xen-devel@li=
sts.xen.org" target=3D"_blank">xen-devel@lists.xen.org</a>&gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; Subject: Re: Enabling hypervisor agnosticism =
for VirtIO backends<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; Hi Wei, Oleksandr,<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; On Mon, Aug 16, 2021 at 10:04:03AM +0000, Wei=
 Chen wrote:<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Hi All,<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Thanks for Stefano to link my kvmtool fo=
r Xen proposal here.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; This proposal is still discussing in Xen=
 and KVM communities.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; The main work is to decouple the kvmtool=
 from KVM and make<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; other hypervisors can reuse the virtual =
device implementations.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; In this case, we need to introduce an in=
termediate hypervisor<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; layer for VMM abstraction, Which is, I t=
hink it&#39;s very close<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; to stratos&#39; virtio hypervisor agnost=
icism work.<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; # My proposal[1] comes from my own idea and d=
oesn&#39;t always<br>
&gt; represent<br>
&gt; &gt; &gt; &gt; &gt; &gt; # Linaro&#39;s view on this subject nor refle=
ct Alex&#39;s concerns.<br>
&gt; &gt; &gt; &gt; Nevertheless,<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; Your idea and my proposal seem to share the s=
ame background.<br>
&gt; &gt; &gt; &gt; &gt; &gt; Both have the similar goal and currently star=
t with, at first,<br>
&gt; Xen<br>
&gt; &gt; &gt; &gt; &gt; &gt; and are based on kvm-tool. (Actually, my work=
 is derived from<br>
&gt; &gt; &gt; &gt; &gt; &gt; EPAM&#39;s virtio-disk, which is also based o=
n kvm-tool.)<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; In particular, the abstraction of hypervisor =
interfaces has a<br>
&gt; same<br>
&gt; &gt; &gt; &gt; &gt; &gt; set of interfaces (for your &quot;struct vmm_=
impl&quot; and my &quot;RPC<br>
&gt; interfaces&quot;).<br>
&gt; &gt; &gt; &gt; &gt; &gt; This is not co-incident as we both share the =
same origin as I<br>
&gt; said<br>
&gt; &gt; &gt; &gt; above.<br>
&gt; &gt; &gt; &gt; &gt; &gt; And so we will also share the same issues. On=
e of them is a way<br>
&gt; of<br>
&gt; &gt; &gt; &gt; &gt; &gt; &quot;sharing/mapping FE&#39;s memory&quot;. =
There is some trade-off between<br>
&gt; &gt; &gt; &gt; &gt; &gt; the portability and the performance impact.<b=
r>
&gt; &gt; &gt; &gt; &gt; &gt; So we can discuss the topic here in this ML, =
too.<br>
&gt; &gt; &gt; &gt; &gt; &gt; (See Alex&#39;s original email, too).<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; Yes, I agree.<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; On the other hand, my approach aims to create=
 a &quot;single-binary&quot;<br>
&gt; &gt; &gt; &gt; solution<br>
&gt; &gt; &gt; &gt; &gt; &gt; in which the same binary of BE vm could run o=
n any hypervisors.<br>
&gt; &gt; &gt; &gt; &gt; &gt; Somehow similar to your &quot;proposal-#2&quo=
t; in [2], but in my solution,<br>
&gt; all<br>
&gt; &gt; &gt; &gt; &gt; &gt; the hypervisor-specific code would be put int=
o another entity<br>
&gt; (VM),<br>
&gt; &gt; &gt; &gt; &gt; &gt; named &quot;virtio-proxy&quot; and the abstra=
cted operations are served<br>
&gt; via RPC.<br>
&gt; &gt; &gt; &gt; &gt; &gt; (In this sense, BE is hypervisor-agnostic but=
 might have OS<br>
&gt; &gt; &gt; &gt; dependency.)<br>
&gt; &gt; &gt; &gt; &gt; &gt; But I know that we need discuss if this is a =
requirement even<br>
&gt; &gt; &gt; &gt; &gt; &gt; in Stratos project or not. (Maybe not)<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; Sorry, I haven&#39;t had time to finish reading yo=
ur virtio-proxy<br>
&gt; completely<br>
&gt; &gt; &gt; &gt; &gt; (I will do it ASAP). But from your description, it=
 seems we need a<br>
&gt; &gt; &gt; &gt; &gt; 3rd VM between FE and BE? My concern is that, if m=
y assumption is<br>
&gt; right,<br>
&gt; &gt; &gt; &gt; &gt; will it increase the latency in data transport pat=
h? Even if we&#39;re<br>
&gt; &gt; &gt; &gt; &gt; using some lightweight guest like RTOS or Unikerne=
l,<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Yes, you&#39;re right. But I&#39;m afraid that it is a =
matter of degree.<br>
&gt; &gt; &gt; &gt; As far as we execute &#39;mapping&#39; operations at ev=
ery fetch of payload,<br>
&gt; &gt; &gt; &gt; we will see latency issue (even in your case) and if we=
 have some<br>
&gt; solution<br>
&gt; &gt; &gt; &gt; for it, we won&#39;t see it neither in my proposal :)<b=
r>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Oleksandr has sent a proposal to Xen mailing list to reduce =
this kind<br>
&gt; &gt; &gt; of &quot;mapping/unmapping&quot; operations. So the latency =
caused by this<br>
&gt; behavior<br>
&gt; &gt; &gt; on Xen may eventually be eliminated, and Linux-KVM doesn&#39=
;t have that<br>
&gt; problem.<br>
&gt; &gt;<br>
&gt; &gt; Obviously, I have not yet caught up there in the discussion.<br>
&gt; &gt; Which patch specifically?<br>
&gt;<br>
&gt; Can you give me the link to the discussion or patch, please?<br>
&gt;<br>
<br>
It&#39;s a RFC discussion. We have tested this RFC patch internally.<br>
<a href=3D"https://lists.xenproject.org/archives/html/xen-devel/2021-07/msg=
01532.html" rel=3D"noreferrer" target=3D"_blank">https://lists.xenproject.o=
rg/archives/html/xen-devel/2021-07/msg01532.html</a><br>
<br>
&gt; Thanks,<br>
&gt; -Takahiro Akashi<br>
&gt;<br>
&gt; &gt; -Takahiro Akashi<br>
&gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; Specifically speaking about kvm-tool, I have =
a concern about its<br>
&gt; &gt; &gt; &gt; &gt; &gt; license term; Targeting different hypervisors=
 and different OSs<br>
&gt; &gt; &gt; &gt; &gt; &gt; (which I assume includes RTOS&#39;s), the res=
ultant library should<br>
&gt; be<br>
&gt; &gt; &gt; &gt; &gt; &gt; license permissive and GPL for kvm-tool might=
 be an issue.<br>
&gt; &gt; &gt; &gt; &gt; &gt; Any thoughts?<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; Yes. If user want to implement a FreeBSD device mo=
del, but the<br>
&gt; virtio<br>
&gt; &gt; &gt; &gt; &gt; library is GPL. Then GPL would be a problem. If we=
 have another<br>
&gt; good<br>
&gt; &gt; &gt; &gt; &gt; candidate, I am open to it.<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; I have some candidates, particularly for vq/vring, in m=
y mind:<br>
&gt; &gt; &gt; &gt; * Open-AMP, or<br>
&gt; &gt; &gt; &gt; * corresponding Free-BSD code<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Interesting, I will look into them : )<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Cheers,<br>
&gt; &gt; &gt; Wei Chen<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; -Takahiro Akashi<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; -Takahiro Akashi<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; [1] <a href=3D"https://op-lists.linaro.org/pi=
permail/stratos-dev/2021-" rel=3D"noreferrer" target=3D"_blank">https://op-=
lists.linaro.org/pipermail/stratos-dev/2021-</a><br>
&gt; &gt; &gt; &gt; &gt; &gt; August/000548.html<br>
&gt; &gt; &gt; &gt; &gt; &gt; [2] <a href=3D"https://marc.info/?l=3Dxen-dev=
el&amp;m=3D162373754705233&amp;w=3D2" rel=3D"noreferrer" target=3D"_blank">=
https://marc.info/?l=3Dxen-devel&amp;m=3D162373754705233&amp;w=3D2</a><br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; From: Oleksandr Tyshchenko &lt;<a h=
ref=3D"mailto:olekstysh@gmail.com" target=3D"_blank">olekstysh@gmail.com</a=
>&gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Sent: 2021=E5=B9=B48=E6=9C=8814=E6=
=97=A5 23:38<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; To: AKASHI Takahiro &lt;<a href=3D"=
mailto:takahiro.akashi@linaro.org" target=3D"_blank">takahiro.akashi@linaro=
.org</a>&gt;; Stefano<br>
&gt; &gt; &gt; &gt; Stabellini<br>
&gt; &gt; &gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:sstabellini@kernel.org"=
 target=3D"_blank">sstabellini@kernel.org</a>&gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Cc: Alex Benn??e &lt;<a href=3D"mai=
lto:alex.bennee@linaro.org" target=3D"_blank">alex.bennee@linaro.org</a>&gt=
;; Stratos Mailing<br>
&gt; List<br>
&gt; &gt; &gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:stratos-dev@op-lists.li=
naro.org" target=3D"_blank">stratos-dev@op-lists.linaro.org</a>&gt;; virtio=
-dev@lists.oasis-<br>
&gt; <a href=3D"http://open.org" rel=3D"noreferrer" target=3D"_blank">open.=
org</a>;<br>
&gt; &gt; &gt; &gt; Arnd<br>
&gt; &gt; &gt; &gt; &gt; &gt; Bergmann &lt;<a href=3D"mailto:arnd.bergmann@=
linaro.org" target=3D"_blank">arnd.bergmann@linaro.org</a>&gt;; Viresh Kuma=
r<br>
&gt; &gt; &gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:viresh.kumar@linaro.org=
" target=3D"_blank">viresh.kumar@linaro.org</a>&gt;; Stefano Stabellini<br>
&gt; &gt; &gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:stefano.stabellini@xili=
nx.com" target=3D"_blank">stefano.stabellini@xilinx.com</a>&gt;; <a href=3D=
"mailto:stefanha@redhat.com" target=3D"_blank">stefanha@redhat.com</a>; Jan=
 Kiszka<br>
&gt; &gt; &gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:jan.kiszka@siemens.com"=
 target=3D"_blank">jan.kiszka@siemens.com</a>&gt;; Carl van Schaik<br>
&gt; &lt;<a href=3D"mailto:cvanscha@qti.qualcomm.com" target=3D"_blank">cva=
nscha@qti.qualcomm.com</a>&gt;;<br>
&gt; &gt; &gt; &gt; &gt; &gt; <a href=3D"mailto:pratikp@quicinc.com" target=
=3D"_blank">pratikp@quicinc.com</a>; Srivatsa Vaddagiri &lt;<a href=3D"mail=
to:vatsa@codeaurora.org" target=3D"_blank">vatsa@codeaurora.org</a>&gt;;<br=
>
&gt; Jean-<br>
&gt; &gt; &gt; &gt; &gt; &gt; Philippe Brucker &lt;<a href=3D"mailto:jean-p=
hilippe@linaro.org" target=3D"_blank">jean-philippe@linaro.org</a>&gt;; Mat=
hieu Poirier<br>
&gt; &gt; &gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:mathieu.poirier@linaro.=
org" target=3D"_blank">mathieu.poirier@linaro.org</a>&gt;; Wei Chen &lt;<a =
href=3D"mailto:Wei.Chen@arm.com" target=3D"_blank">Wei.Chen@arm.com</a>&gt;=
;<br>
&gt; Oleksandr<br>
&gt; &gt; &gt; &gt; &gt; &gt; Tyshchenko &lt;<a href=3D"mailto:Oleksandr_Ty=
shchenko@epam.com" target=3D"_blank">Oleksandr_Tyshchenko@epam.com</a>&gt;;=
 Bertrand Marquis<br>
&gt; &gt; &gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:Bertrand.Marquis@arm.co=
m" target=3D"_blank">Bertrand.Marquis@arm.com</a>&gt;; Artem Mygaiev<br>
&gt; &lt;<a href=3D"mailto:Artem_Mygaiev@epam.com" target=3D"_blank">Artem_=
Mygaiev@epam.com</a>&gt;;<br>
&gt; &gt; &gt; &gt; Julien<br>
&gt; &gt; &gt; &gt; &gt; &gt; Grall &lt;<a href=3D"mailto:julien@xen.org" t=
arget=3D"_blank">julien@xen.org</a>&gt;; Juergen Gross &lt;<a href=3D"mailt=
o:jgross@suse.com" target=3D"_blank">jgross@suse.com</a>&gt;; Paul<br>
&gt; Durrant<br>
&gt; &gt; &gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:paul@xen.org" target=3D=
"_blank">paul@xen.org</a>&gt;; Xen Devel &lt;<a href=3D"mailto:xen-devel@li=
sts.xen.org" target=3D"_blank">xen-devel@lists.xen.org</a>&gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Subject: Re: Enabling hypervisor ag=
nosticism for VirtIO<br>
&gt; backends<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Hello, all.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Please see some comments below. And=
 sorry for the possible<br>
&gt; format<br>
&gt; &gt; &gt; &gt; &gt; &gt; issues.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; On Wed, Aug 11, 2021 at 9:27 A=
M AKASHI Takahiro<br>
&gt; &gt; &gt; &gt; &gt; &gt; &lt;mailto:<a href=3D"mailto:takahiro.akashi@=
linaro.org" target=3D"_blank">takahiro.akashi@linaro.org</a>&gt; wrote:<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; On Wed, Aug 04, 2021 at 12:20:=
01PM -0700, Stefano<br>
&gt; Stabellini<br>
&gt; &gt; &gt; &gt; wrote:<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; CCing people working on X=
en+VirtIO and IOREQs. Not<br>
&gt; trimming<br>
&gt; &gt; &gt; &gt; the<br>
&gt; &gt; &gt; &gt; &gt; &gt; original<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; email to let them read th=
e full context.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; My comments below are rel=
ated to a potential Xen<br>
&gt; &gt; &gt; &gt; implementation,<br>
&gt; &gt; &gt; &gt; &gt; &gt; not<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; because it is the only im=
plementation that matters, but<br>
&gt; &gt; &gt; &gt; because it<br>
&gt; &gt; &gt; &gt; &gt; &gt; is<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; the one I know best.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Please note that my proposal (=
and hence the working<br>
&gt; prototype)[1]<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; is based on Xen&#39;s virtio i=
mplementation (i.e. IOREQ) and<br>
&gt; &gt; &gt; &gt; &gt; &gt; particularly<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; EPAM&#39;s virtio-disk applica=
tion (backend server).<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; It has been, I believe, well g=
eneralized but is still a<br>
&gt; bit<br>
&gt; &gt; &gt; &gt; biased<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; toward this original design.<b=
r>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; So I hope you like my approach=
 :)<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; [1] <a href=3D"https://op-list=
s.linaro.org/pipermail/stratos-" rel=3D"noreferrer" target=3D"_blank">https=
://op-lists.linaro.org/pipermail/stratos-</a><br>
&gt; dev/2021-<br>
&gt; &gt; &gt; &gt; &gt; &gt; August/000546.html<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Let me take this opportunity t=
o explain a bit more about<br>
&gt; my<br>
&gt; &gt; &gt; &gt; approach<br>
&gt; &gt; &gt; &gt; &gt; &gt; below.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Also, please see this rel=
evant email thread:<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; <a href=3D"https://marc.i=
nfo/?l=3Dxen-devel&amp;m=3D162373754705233&amp;w=3D2" rel=3D"noreferrer" ta=
rget=3D"_blank">https://marc.info/?l=3Dxen-devel&amp;m=3D162373754705233&am=
p;w=3D2</a><br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; On Wed, 4 Aug 2021, Alex =
Benn=C3=A9e wrote:<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Hi,<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; One of the goals of =
Project Stratos is to enable<br>
&gt; hypervisor<br>
&gt; &gt; &gt; &gt; &gt; &gt; agnostic<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; backends so we can e=
nable as much re-use of code as<br>
&gt; possible<br>
&gt; &gt; &gt; &gt; and<br>
&gt; &gt; &gt; &gt; &gt; &gt; avoid<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; repeating ourselves.=
 This is the flip side of the<br>
&gt; front end<br>
&gt; &gt; &gt; &gt; &gt; &gt; where<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; multiple front-end i=
mplementations are required - one<br>
&gt; per OS,<br>
&gt; &gt; &gt; &gt; &gt; &gt; assuming<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; you don&#39;t just w=
ant Linux guests. The resultant guests<br>
&gt; are<br>
&gt; &gt; &gt; &gt; &gt; &gt; trivially<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; movable between hype=
rvisors modulo any abstracted<br>
&gt; paravirt<br>
&gt; &gt; &gt; &gt; type<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; interfaces.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; In my original thumb=
 nail sketch of a solution I<br>
&gt; envisioned<br>
&gt; &gt; &gt; &gt; &gt; &gt; vhost-user<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; daemons running in a=
 broadly POSIX like environment.<br>
&gt; The<br>
&gt; &gt; &gt; &gt; &gt; &gt; interface to<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; the daemon is fairly=
 simple requiring only some mapped<br>
&gt; &gt; &gt; &gt; memory<br>
&gt; &gt; &gt; &gt; &gt; &gt; and some<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; sort of signalling f=
or events (on Linux this is<br>
&gt; eventfd).<br>
&gt; &gt; &gt; &gt; The<br>
&gt; &gt; &gt; &gt; &gt; &gt; idea was a<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; stub binary would be=
 responsible for any hypervisor<br>
&gt; specific<br>
&gt; &gt; &gt; &gt; &gt; &gt; setup and<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; then launch a common=
 binary to deal with the actual<br>
&gt; &gt; &gt; &gt; virtqueue<br>
&gt; &gt; &gt; &gt; &gt; &gt; requests<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; themselves.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Since that original =
sketch we&#39;ve seen an expansion in<br>
&gt; the<br>
&gt; &gt; &gt; &gt; sort<br>
&gt; &gt; &gt; &gt; &gt; &gt; of ways<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; backends could be cr=
eated. There is interest in<br>
&gt; &gt; &gt; &gt; encapsulating<br>
&gt; &gt; &gt; &gt; &gt; &gt; backends<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; in RTOSes or unikern=
els for solutions like SCMI. There<br>
&gt; &gt; &gt; &gt; interest<br>
&gt; &gt; &gt; &gt; &gt; &gt; in Rust<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; has prompted ideas o=
f using the trait interface to<br>
&gt; abstract<br>
&gt; &gt; &gt; &gt; &gt; &gt; differences<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; away as well as the =
idea of bare-metal Rust backends.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; We have a card (STR-=
12) called &quot;Hypercall<br>
&gt; Standardisation&quot;<br>
&gt; &gt; &gt; &gt; which<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; calls for a descript=
ion of the APIs needed from the<br>
&gt; &gt; &gt; &gt; hypervisor<br>
&gt; &gt; &gt; &gt; &gt; &gt; side to<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; support VirtIO guest=
s and their backends. However we<br>
&gt; are<br>
&gt; &gt; &gt; &gt; some<br>
&gt; &gt; &gt; &gt; &gt; &gt; way off<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; from that at the mom=
ent as I think we need to at least<br>
&gt; &gt; &gt; &gt; &gt; &gt; demonstrate one<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; portable backend bef=
ore we start codifying<br>
&gt; requirements. To<br>
&gt; &gt; &gt; &gt; that<br>
&gt; &gt; &gt; &gt; &gt; &gt; end I<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; want to think about =
what we need for a backend to<br>
&gt; function.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Configuration<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; =3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; In the type-2 setup =
this is typically fairly simple<br>
&gt; because<br>
&gt; &gt; &gt; &gt; the<br>
&gt; &gt; &gt; &gt; &gt; &gt; host<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; system can orchestra=
te the various modules that make<br>
&gt; up the<br>
&gt; &gt; &gt; &gt; &gt; &gt; complete<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; system. In the type-=
1 case (or even type-2 with<br>
&gt; delegated<br>
&gt; &gt; &gt; &gt; &gt; &gt; service VMs)<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; we need some sort of=
 mechanism to inform the backend<br>
&gt; VM<br>
&gt; &gt; &gt; &gt; about<br>
&gt; &gt; &gt; &gt; &gt; &gt; key<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; details about the sy=
stem:<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0- where =
virt queue memory is in it&#39;s address space<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0- how it=
&#39;s going to receive (interrupt) and trigger<br>
&gt; (kick)<br>
&gt; &gt; &gt; &gt; &gt; &gt; events<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0- what (=
if any) resources the backend needs to<br>
&gt; connect to<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Obviously you can el=
ide over configuration issues by<br>
&gt; having<br>
&gt; &gt; &gt; &gt; &gt; &gt; static<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; configurations and b=
aking the assumptions into your<br>
&gt; guest<br>
&gt; &gt; &gt; &gt; images<br>
&gt; &gt; &gt; &gt; &gt; &gt; however<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; this isn&#39;t scala=
ble in the long term. The obvious<br>
&gt; solution<br>
&gt; &gt; &gt; &gt; seems<br>
&gt; &gt; &gt; &gt; &gt; &gt; to be<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; extending a subset o=
f Device Tree data to user space<br>
&gt; but<br>
&gt; &gt; &gt; &gt; perhaps<br>
&gt; &gt; &gt; &gt; &gt; &gt; there<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; are other approaches=
?<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Before any virtio tr=
ansactions can take place the<br>
&gt; &gt; &gt; &gt; appropriate<br>
&gt; &gt; &gt; &gt; &gt; &gt; memory<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; mappings need to be =
made between the FE guest and the<br>
&gt; BE<br>
&gt; &gt; &gt; &gt; guest.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Currently the whole =
of the FE guests address space<br>
&gt; needs to<br>
&gt; &gt; &gt; &gt; be<br>
&gt; &gt; &gt; &gt; &gt; &gt; visible<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; to whatever is servi=
ng the virtio requests. I can<br>
&gt; envision 3<br>
&gt; &gt; &gt; &gt; &gt; &gt; approaches:<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 * BE guest boo=
ts with memory already mapped<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 This would ent=
ail the guest OS knowing where in it&#39;s<br>
&gt; Guest<br>
&gt; &gt; &gt; &gt; &gt; &gt; Physical<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 Address space =
is already taken up and avoiding<br>
&gt; clashing. I<br>
&gt; &gt; &gt; &gt; &gt; &gt; would assume<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 in this case y=
ou would want a standard interface to<br>
&gt; &gt; &gt; &gt; userspace<br>
&gt; &gt; &gt; &gt; &gt; &gt; to then<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 make that addr=
ess space visible to the backend daemon.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Yet another way here is that w=
e would have well known<br>
&gt; &quot;shared<br>
&gt; &gt; &gt; &gt; &gt; &gt; memory&quot; between<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; VMs. I think that Jailhouse&#3=
9;s ivshmem gives us good<br>
&gt; insights on<br>
&gt; &gt; &gt; &gt; this<br>
&gt; &gt; &gt; &gt; &gt; &gt; matter<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; and that it can even be an alt=
ernative for hypervisor-<br>
&gt; agnostic<br>
&gt; &gt; &gt; &gt; &gt; &gt; solution.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; (Please note memory regions in=
 ivshmem appear as a PCI<br>
&gt; device<br>
&gt; &gt; &gt; &gt; and<br>
&gt; &gt; &gt; &gt; &gt; &gt; can be<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; mapped locally.)<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; I want to add this shared memo=
ry aspect to my virtio-proxy,<br>
&gt; but<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; the resultant solution would e=
ventually look similar to<br>
&gt; ivshmem.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 * BE guests bo=
ots with a hypervisor handle to memory<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 The BE guest i=
s then free to map the FE&#39;s memory to<br>
&gt; where<br>
&gt; &gt; &gt; &gt; it<br>
&gt; &gt; &gt; &gt; &gt; &gt; wants in<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 the BE&#39;s g=
uest physical address space.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; I cannot see how this cou=
ld work for Xen. There is no<br>
&gt; &quot;handle&quot;<br>
&gt; &gt; &gt; &gt; to<br>
&gt; &gt; &gt; &gt; &gt; &gt; give<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; to the backend if the bac=
kend is not running in dom0. So<br>
&gt; for<br>
&gt; &gt; &gt; &gt; Xen I<br>
&gt; &gt; &gt; &gt; &gt; &gt; think<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; the memory has to be alre=
ady mapped<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; In Xen&#39;s IOREQ solution (v=
irtio-blk), the following<br>
&gt; information<br>
&gt; &gt; &gt; &gt; is<br>
&gt; &gt; &gt; &gt; &gt; &gt; expected<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; to be exposed to BE via Xensto=
re:<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; (I know that this is a tentati=
ve approach though.)<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 - the start addre=
ss of configuration space<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 - interrupt numbe=
r<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 - file path for b=
acking storage<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 - read-only flag<=
br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; And the BE server have to call=
 a particular hypervisor<br>
&gt; interface<br>
&gt; &gt; &gt; &gt; to<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; map the configuration space.<b=
r>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Yes, Xenstore was chosen as a simpl=
e way to pass<br>
&gt; configuration<br>
&gt; &gt; &gt; &gt; info to<br>
&gt; &gt; &gt; &gt; &gt; &gt; the backend running in a non-toolstack domain=
.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; I remember, there was a wish to avo=
id using Xenstore in<br>
&gt; Virtio<br>
&gt; &gt; &gt; &gt; backend<br>
&gt; &gt; &gt; &gt; &gt; &gt; itself if possible, so for non-toolstack doma=
in, this could done<br>
&gt; with<br>
&gt; &gt; &gt; &gt; &gt; &gt; adjusting devd (daemon that listens for devic=
es and launches<br>
&gt; backends)<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; to read backend configuration from =
the Xenstore anyway and<br>
&gt; pass it<br>
&gt; &gt; &gt; &gt; to<br>
&gt; &gt; &gt; &gt; &gt; &gt; the backend via command line arguments.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Yes, in current PoC code we&#39;re using=
 xenstore to pass device<br>
&gt; &gt; &gt; &gt; &gt; &gt; configuration.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; We also designed a static device configu=
ration parse method<br>
&gt; for<br>
&gt; &gt; &gt; &gt; Dom0less<br>
&gt; &gt; &gt; &gt; &gt; &gt; or<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; other scenarios don&#39;t have xentool. =
yes, it&#39;s from device<br>
&gt; model<br>
&gt; &gt; &gt; &gt; command<br>
&gt; &gt; &gt; &gt; &gt; &gt; line<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; or a config file.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; But, if ...<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; In my approach (virtio-proxy),=
 all those Xen (or<br>
&gt; hypervisor)-<br>
&gt; &gt; &gt; &gt; &gt; &gt; specific<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; stuffs are contained in virtio=
-proxy, yet another VM, to<br>
&gt; hide<br>
&gt; &gt; &gt; &gt; all<br>
&gt; &gt; &gt; &gt; &gt; &gt; details.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; ... the solution how to overcome th=
at is already found and<br>
&gt; proven<br>
&gt; &gt; &gt; &gt; to<br>
&gt; &gt; &gt; &gt; &gt; &gt; work then even better.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; # My point is that a &quot;han=
dle&quot; is not mandatory for<br>
&gt; executing<br>
&gt; &gt; &gt; &gt; mapping.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; and the mapping probably =
done by the<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; toolstack (also see below=
.) Or we would have to invent a<br>
&gt; new<br>
&gt; &gt; &gt; &gt; Xen<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; hypervisor interface and =
Xen virtual machine privileges<br>
&gt; to<br>
&gt; &gt; &gt; &gt; allow<br>
&gt; &gt; &gt; &gt; &gt; &gt; this<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; kind of mapping.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; If we run the backend in =
Dom0 that we have no problems<br>
&gt; of<br>
&gt; &gt; &gt; &gt; course.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; One of difficulties on Xen tha=
t I found in my approach is<br>
&gt; that<br>
&gt; &gt; &gt; &gt; &gt; &gt; calling<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; such hypervisor intefaces (reg=
istering IOREQ, mapping<br>
&gt; memory) is<br>
&gt; &gt; &gt; &gt; &gt; &gt; only<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; allowed on BE servers themselv=
ies and so we will have to<br>
&gt; extend<br>
&gt; &gt; &gt; &gt; &gt; &gt; those<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; interfaces.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; This, however, will raise some=
 concern on security and<br>
&gt; privilege<br>
&gt; &gt; &gt; &gt; &gt; &gt; distribution<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; as Stefan suggested.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; We also faced policy related issues=
 with Virtio backend<br>
&gt; running in<br>
&gt; &gt; &gt; &gt; &gt; &gt; other than Dom0 domain in a &quot;dummy&quot;=
 xsm mode. In our target<br>
&gt; system we<br>
&gt; &gt; &gt; &gt; run<br>
&gt; &gt; &gt; &gt; &gt; &gt; the backend in a driver<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; domain (we call it DomD) where the =
underlying H/W resides.<br>
&gt; We<br>
&gt; &gt; &gt; &gt; trust it,<br>
&gt; &gt; &gt; &gt; &gt; &gt; so we wrote policy rules (to be used in &quot=
;flask&quot; xsm mode) to<br>
&gt; provide<br>
&gt; &gt; &gt; &gt; it<br>
&gt; &gt; &gt; &gt; &gt; &gt; with a little bit more privileges than a simp=
le DomU had.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Now it is permitted to issue device=
-model, resource and<br>
&gt; memory<br>
&gt; &gt; &gt; &gt; &gt; &gt; mappings, etc calls.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; To activate the mapp=
ing will<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 require some s=
ort of hypercall to the hypervisor. I<br>
&gt; can see<br>
&gt; &gt; &gt; &gt; two<br>
&gt; &gt; &gt; &gt; &gt; &gt; options<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 at this point:=
<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0- expose=
 the handle to userspace for daemon/helper<br>
&gt; to<br>
&gt; &gt; &gt; &gt; trigger<br>
&gt; &gt; &gt; &gt; &gt; &gt; the<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0m=
apping via existing hypercall interfaces. If<br>
&gt; using a<br>
&gt; &gt; &gt; &gt; helper<br>
&gt; &gt; &gt; &gt; &gt; &gt; you<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0w=
ould have a hypervisor specific one to avoid the<br>
&gt; daemon<br>
&gt; &gt; &gt; &gt; &gt; &gt; having to<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0c=
are too much about the details or push that<br>
&gt; complexity<br>
&gt; &gt; &gt; &gt; into<br>
&gt; &gt; &gt; &gt; &gt; &gt; a<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0c=
ompile time option for the daemon which would<br>
&gt; result in<br>
&gt; &gt; &gt; &gt; &gt; &gt; different<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0b=
inaries although a common source base.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0- expose=
 a new kernel ABI to abstract the hypercall<br>
&gt; &gt; &gt; &gt; &gt; &gt; differences away<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0i=
n the guest kernel. In this case the userspace<br>
&gt; would<br>
&gt; &gt; &gt; &gt; &gt; &gt; essentially<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0a=
sk for an abstract &quot;map guest N memory to<br>
&gt; userspace<br>
&gt; &gt; &gt; &gt; ptr&quot;<br>
&gt; &gt; &gt; &gt; &gt; &gt; and let<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0t=
he kernel deal with the different hypercall<br>
&gt; interfaces.<br>
&gt; &gt; &gt; &gt; &gt; &gt; This of<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0c=
ourse assumes the majority of BE guests would be<br>
&gt; Linux<br>
&gt; &gt; &gt; &gt; &gt; &gt; kernels and<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0l=
eaves the bare-metal/unikernel approaches to<br>
&gt; their own<br>
&gt; &gt; &gt; &gt; &gt; &gt; devices.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Operation<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; =3D=3D=3D=3D=3D=3D=
=3D=3D=3D<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; The core of the oper=
ation of VirtIO is fairly simple.<br>
&gt; Once<br>
&gt; &gt; &gt; &gt; the<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; vhost-user feature n=
egotiation is done it&#39;s a case of<br>
&gt; &gt; &gt; &gt; receiving<br>
&gt; &gt; &gt; &gt; &gt; &gt; update<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; events and parsing t=
he resultant virt queue for data.<br>
&gt; The<br>
&gt; &gt; &gt; &gt; vhost-<br>
&gt; &gt; &gt; &gt; &gt; &gt; user<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; specification handle=
s a bunch of setup before that<br>
&gt; point,<br>
&gt; &gt; &gt; &gt; mostly<br>
&gt; &gt; &gt; &gt; &gt; &gt; to<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; detail where the vir=
t queues are set up FD&#39;s for<br>
&gt; memory and<br>
&gt; &gt; &gt; &gt; &gt; &gt; event<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; communication. This =
is where the envisioned stub<br>
&gt; process<br>
&gt; &gt; &gt; &gt; would<br>
&gt; &gt; &gt; &gt; &gt; &gt; be<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; responsible for gett=
ing the daemon up and ready to run.<br>
&gt; This<br>
&gt; &gt; &gt; &gt; is<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; currently done insid=
e a big VMM like QEMU but I<br>
&gt; suspect a<br>
&gt; &gt; &gt; &gt; modern<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; approach would be to=
 use the rust-vmm vhost crate. It<br>
&gt; would<br>
&gt; &gt; &gt; &gt; then<br>
&gt; &gt; &gt; &gt; &gt; &gt; either<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; communicate with the=
 kernel&#39;s abstracted ABI or be re-<br>
&gt; &gt; &gt; &gt; targeted<br>
&gt; &gt; &gt; &gt; &gt; &gt; as a<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; build option for the=
 various hypervisors.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; One thing I mentioned bef=
ore to Alex is that Xen doesn&#39;t<br>
&gt; have<br>
&gt; &gt; &gt; &gt; VMMs<br>
&gt; &gt; &gt; &gt; &gt; &gt; the<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; way they are typically en=
visioned and described in other<br>
&gt; &gt; &gt; &gt; &gt; &gt; environments.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Instead, Xen has IOREQ se=
rvers. Each of them connects<br>
&gt; &gt; &gt; &gt; &gt; &gt; independently to<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Xen via the IOREQ interfa=
ce. E.g. today multiple QEMUs<br>
&gt; could<br>
&gt; &gt; &gt; &gt; be<br>
&gt; &gt; &gt; &gt; &gt; &gt; used as<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; emulators for a single Xe=
n VM, each of them connecting<br>
&gt; to Xen<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; independently via the IOR=
EQ interface.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; The component responsible=
 for starting a daemon and/or<br>
&gt; setting<br>
&gt; &gt; &gt; &gt; up<br>
&gt; &gt; &gt; &gt; &gt; &gt; shared<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; interfaces is the toolsta=
ck: the xl command and the<br>
&gt; &gt; &gt; &gt; libxl/libxc<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; libraries.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; I think that VM configuration =
management (or orchestration<br>
&gt; in<br>
&gt; &gt; &gt; &gt; &gt; &gt; Startos<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; jargon?) is a subject to debat=
e in parallel.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Otherwise, is there any good a=
ssumption to avoid it right<br>
&gt; now?<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Oleksandr and others I CC=
ed have been working on ways<br>
&gt; for the<br>
&gt; &gt; &gt; &gt; &gt; &gt; toolstack<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; to create virtio backends=
 and setup memory mappings.<br>
&gt; They<br>
&gt; &gt; &gt; &gt; might be<br>
&gt; &gt; &gt; &gt; &gt; &gt; able<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; to provide more info on t=
he subject. I do think we miss<br>
&gt; a way<br>
&gt; &gt; &gt; &gt; to<br>
&gt; &gt; &gt; &gt; &gt; &gt; provide<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; the configuration to the =
backend and anything else that<br>
&gt; the<br>
&gt; &gt; &gt; &gt; &gt; &gt; backend<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; might require to start do=
ing its job.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Yes, some work has been done for th=
e toolstack to handle<br>
&gt; Virtio<br>
&gt; &gt; &gt; &gt; MMIO<br>
&gt; &gt; &gt; &gt; &gt; &gt; devices in<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; general and Virtio block devices in=
 particular. However, it<br>
&gt; has<br>
&gt; &gt; &gt; &gt; not<br>
&gt; &gt; &gt; &gt; &gt; &gt; been upstreaned yet.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Updated patches on review now:<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; <a href=3D"https://lore.kernel.org/=
xen-devel/1621626361-29076-1-git-" rel=3D"noreferrer" target=3D"_blank">htt=
ps://lore.kernel.org/xen-devel/1621626361-29076-1-git-</a><br>
&gt; send-<br>
&gt; &gt; &gt; &gt; email-<br>
&gt; &gt; &gt; &gt; &gt; &gt; <a href=3D"http://olekstysh@gmail.com/" rel=
=3D"noreferrer" target=3D"_blank">olekstysh@gmail.com/</a><br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; There is an additional (also import=
ant) activity to<br>
&gt; improve/fix<br>
&gt; &gt; &gt; &gt; &gt; &gt; foreign memory mapping on Arm which I am also=
 involved in.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; The foreign memory mapping is propo=
sed to be used for Virtio<br>
&gt; &gt; &gt; &gt; backends<br>
&gt; &gt; &gt; &gt; &gt; &gt; (device emulators) if there is a need to run =
guest OS completely<br>
&gt; &gt; &gt; &gt; &gt; &gt; unmodified.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Of course, the more secure way woul=
d be to use grant memory<br>
&gt; &gt; &gt; &gt; mapping.<br>
&gt; &gt; &gt; &gt; &gt; &gt; Brietly, the main difference between them is =
that with foreign<br>
&gt; mapping<br>
&gt; &gt; &gt; &gt; the<br>
&gt; &gt; &gt; &gt; &gt; &gt; backend<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; can map any guest memory it wants t=
o map, but with grant<br>
&gt; mapping<br>
&gt; &gt; &gt; &gt; it is<br>
&gt; &gt; &gt; &gt; &gt; &gt; allowed to map only what was previously grant=
ed by the frontend.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; So, there might be a problem if we =
want to pre-map some<br>
&gt; guest<br>
&gt; &gt; &gt; &gt; memory<br>
&gt; &gt; &gt; &gt; &gt; &gt; in advance or to cache mappings in the backen=
d in order to<br>
&gt; improve<br>
&gt; &gt; &gt; &gt; &gt; &gt; performance (because the mapping/unmapping gu=
est pages every<br>
&gt; request<br>
&gt; &gt; &gt; &gt; &gt; &gt; requires a lot of back and forth to Xen + P2M=
 updates). In a<br>
&gt; nutshell,<br>
&gt; &gt; &gt; &gt; &gt; &gt; currently, in order to map a guest page into =
the backend address<br>
&gt; space<br>
&gt; &gt; &gt; &gt; we<br>
&gt; &gt; &gt; &gt; &gt; &gt; need to steal a real physical page from the b=
ackend domain. So,<br>
&gt; with<br>
&gt; &gt; &gt; &gt; the<br>
&gt; &gt; &gt; &gt; &gt; &gt; said optimizations we might end up with no fr=
ee memory in the<br>
&gt; backend<br>
&gt; &gt; &gt; &gt; &gt; &gt; domain (see XSA-300). And what we try to achi=
eve is to not waste<br>
&gt; a<br>
&gt; &gt; &gt; &gt; real<br>
&gt; &gt; &gt; &gt; &gt; &gt; domain memory at all by providing safe non-al=
located-yet (so<br>
&gt; unused)<br>
&gt; &gt; &gt; &gt; &gt; &gt; address space for the foreign (and grant) pag=
es to be mapped<br>
&gt; into,<br>
&gt; &gt; &gt; &gt; this<br>
&gt; &gt; &gt; &gt; &gt; &gt; enabling work implies Xen and Linux (and like=
ly DTB bindings)<br>
&gt; changes.<br>
&gt; &gt; &gt; &gt; &gt; &gt; However, as it turned out, for this to work i=
n a proper and safe<br>
&gt; way<br>
&gt; &gt; &gt; &gt; some<br>
&gt; &gt; &gt; &gt; &gt; &gt; prereq work needs to be done.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; You can find the related Xen discus=
sion at:<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; <a href=3D"https://lore.kernel.org/=
xen-devel/1627489110-25633-1-git-" rel=3D"noreferrer" target=3D"_blank">htt=
ps://lore.kernel.org/xen-devel/1627489110-25633-1-git-</a><br>
&gt; send-<br>
&gt; &gt; &gt; &gt; email-<br>
&gt; &gt; &gt; &gt; &gt; &gt; <a href=3D"http://olekstysh@gmail.com/" rel=
=3D"noreferrer" target=3D"_blank">olekstysh@gmail.com/</a><br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; One question is how =
to best handle notification and<br>
&gt; kicks.<br>
&gt; &gt; &gt; &gt; The<br>
&gt; &gt; &gt; &gt; &gt; &gt; existing<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; vhost-user framework=
 uses eventfd to signal the daemon<br>
&gt; &gt; &gt; &gt; (although<br>
&gt; &gt; &gt; &gt; &gt; &gt; QEMU<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; is quite capable of =
simulating them when you use TCG).<br>
&gt; Xen<br>
&gt; &gt; &gt; &gt; has<br>
&gt; &gt; &gt; &gt; &gt; &gt; it&#39;s own<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; IOREQ mechanism. How=
ever latency is an important<br>
&gt; factor and<br>
&gt; &gt; &gt; &gt; &gt; &gt; having<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; events go through th=
e stub would add quite a lot.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Yeah I think, regardless =
of anything else, we want the<br>
&gt; &gt; &gt; &gt; backends to<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; connect directly to the X=
en hypervisor.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; In my approach,<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 a) BE -&gt; FE: interrup=
ts triggered by BE calling a<br>
&gt; hypervisor<br>
&gt; &gt; &gt; &gt; &gt; &gt; interface<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0via virtio-proxy<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 b) FE -&gt; BE: MMIO to =
config raises events (in event<br>
&gt; channels),<br>
&gt; &gt; &gt; &gt; &gt; &gt; which is<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0converted to a callback to BE via virtio-<br>
&gt; proxy<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0(Xen&#39;s event channel is internnally<br>
&gt; implemented by<br>
&gt; &gt; &gt; &gt; &gt; &gt; interrupts.)<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; I don&#39;t know what &quot;co=
nnect directly&quot; means here, but<br>
&gt; sending<br>
&gt; &gt; &gt; &gt; &gt; &gt; interrupts<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; to the opposite side would be =
best efficient.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Ivshmem, I suppose, takes this=
 approach by utilizing PCI&#39;s<br>
&gt; msi-x<br>
&gt; &gt; &gt; &gt; &gt; &gt; mechanism.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Agree that MSI would be more effici=
ent than SPI...<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; At the moment, in order to notify t=
he frontend, the backend<br>
&gt; issues<br>
&gt; &gt; &gt; &gt; a<br>
&gt; &gt; &gt; &gt; &gt; &gt; specific device-model call to query Xen to in=
ject a<br>
&gt; corresponding SPI<br>
&gt; &gt; &gt; &gt; to<br>
&gt; &gt; &gt; &gt; &gt; &gt; the guest.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Could we consider th=
e kernel internally converting<br>
&gt; IOREQ<br>
&gt; &gt; &gt; &gt; &gt; &gt; messages from<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; the Xen hypervisor t=
o eventfd events? Would this scale<br>
&gt; with<br>
&gt; &gt; &gt; &gt; &gt; &gt; other kernel<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; hypercall interfaces=
?<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; So any thoughts on w=
hat directions are worth<br>
&gt; experimenting<br>
&gt; &gt; &gt; &gt; with?<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; One option we should cons=
ider is for each backend to<br>
&gt; connect<br>
&gt; &gt; &gt; &gt; to<br>
&gt; &gt; &gt; &gt; &gt; &gt; Xen via<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; the IOREQ interface. We c=
ould generalize the IOREQ<br>
&gt; interface<br>
&gt; &gt; &gt; &gt; and<br>
&gt; &gt; &gt; &gt; &gt; &gt; make it<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; hypervisor agnostic. The =
interface is really trivial and<br>
&gt; easy<br>
&gt; &gt; &gt; &gt; to<br>
&gt; &gt; &gt; &gt; &gt; &gt; add.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; As I said above, my proposal d=
oes the same thing that you<br>
&gt; &gt; &gt; &gt; mentioned<br>
&gt; &gt; &gt; &gt; &gt; &gt; here :)<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; The difference is that I do ca=
ll hypervisor interfaces via<br>
&gt; &gt; &gt; &gt; virtio-<br>
&gt; &gt; &gt; &gt; &gt; &gt; proxy.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; The only Xen-specific par=
t is the notification mechanism,<br>
&gt; &gt; &gt; &gt; which is<br>
&gt; &gt; &gt; &gt; &gt; &gt; an<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; event channel. If we repl=
aced the event channel with<br>
&gt; something<br>
&gt; &gt; &gt; &gt; &gt; &gt; else the<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; interface would be generi=
c. See:<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; <a href=3D"https://gitlab=
.com/xen-project/xen/-" rel=3D"noreferrer" target=3D"_blank">https://gitlab=
.com/xen-project/xen/-</a><br>
&gt; &gt; &gt; &gt; &gt; &gt; /blob/staging/xen/include/public/hvm/ioreq.h#=
L52<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; I don&#39;t think that tr=
anslating IOREQs to eventfd in the<br>
&gt; kernel<br>
&gt; &gt; &gt; &gt; is<br>
&gt; &gt; &gt; &gt; &gt; &gt; a<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; good idea: if feels like =
it would be extra complexity<br>
&gt; and that<br>
&gt; &gt; &gt; &gt; the<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; kernel shouldn&#39;t be i=
nvolved as this is a backend-<br>
&gt; hypervisor<br>
&gt; &gt; &gt; &gt; &gt; &gt; interface.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Given that we may want to impl=
ement BE as a bare-metal<br>
&gt; &gt; &gt; &gt; application<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; as I did on Zephyr, I don&#39;=
t think that the translation<br>
&gt; would not<br>
&gt; &gt; &gt; &gt; be<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; a big issue, especially on RTO=
S&#39;s.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; It will be some kind of abstra=
ction layer of interrupt<br>
&gt; handling<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; (or nothing but a callback mec=
hanism).<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Also, eventfd is very Lin=
ux-centric and we are trying to<br>
&gt; &gt; &gt; &gt; design an<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; interface that could work=
 well for RTOSes too. If we<br>
&gt; want to<br>
&gt; &gt; &gt; &gt; do<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; something different, both=
 OS-agnostic and hypervisor-<br>
&gt; agnostic,<br>
&gt; &gt; &gt; &gt; &gt; &gt; perhaps<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; we could design a new int=
erface. One that could be<br>
&gt; &gt; &gt; &gt; implementable<br>
&gt; &gt; &gt; &gt; &gt; &gt; in the<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Xen hypervisor itself (li=
ke IOREQ) and of course any<br>
&gt; other<br>
&gt; &gt; &gt; &gt; &gt; &gt; hypervisor<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; too.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; There is also another pro=
blem. IOREQ is probably not be<br>
&gt; the<br>
&gt; &gt; &gt; &gt; only<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; interface needed. Have a =
look at<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; <a href=3D"https://marc.i=
nfo/?l=3Dxen-devel&amp;m=3D162373754705233&amp;w=3D2" rel=3D"noreferrer" ta=
rget=3D"_blank">https://marc.info/?l=3Dxen-devel&amp;m=3D162373754705233&am=
p;w=3D2</a>.<br>
&gt; Don&#39;t we<br>
&gt; &gt; &gt; &gt; &gt; &gt; also need<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; an interface for the back=
end to inject interrupts into<br>
&gt; the<br>
&gt; &gt; &gt; &gt; &gt; &gt; frontend? And<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; if the backend requires d=
ynamic memory mappings of<br>
&gt; frontend<br>
&gt; &gt; &gt; &gt; pages,<br>
&gt; &gt; &gt; &gt; &gt; &gt; then<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; we would also need an int=
erface to map/unmap domU pages.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; My proposal document might hel=
p here; All the interfaces<br>
&gt; &gt; &gt; &gt; required<br>
&gt; &gt; &gt; &gt; &gt; &gt; for<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; virtio-proxy (or hypervisor-re=
lated interfaces) are listed<br>
&gt; as<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; RPC protocols :)<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; These interfaces are a lo=
t more problematic than IOREQ:<br>
&gt; IOREQ<br>
&gt; &gt; &gt; &gt; is<br>
&gt; &gt; &gt; &gt; &gt; &gt; tiny<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; and self-contained. It is=
 easy to add anywhere. A new<br>
&gt; &gt; &gt; &gt; interface to<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; inject interrupts or map =
pages is more difficult to<br>
&gt; manage<br>
&gt; &gt; &gt; &gt; because<br>
&gt; &gt; &gt; &gt; &gt; &gt; it<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; would require changes sca=
ttered across the various<br>
&gt; emulators.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Exactly. I have no confident y=
et that my approach will<br>
&gt; also<br>
&gt; &gt; &gt; &gt; apply<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; to other hypervisors than Xen.=
<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Technically, yes, but whether =
people can accept it or not<br>
&gt; is a<br>
&gt; &gt; &gt; &gt; &gt; &gt; different<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; matter.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Thanks,<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; -Takahiro Akashi<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; --<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Regards,<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Oleksandr Tyshchenko<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; IMPORTANT NOTICE: The contents of this e=
mail and any<br>
&gt; attachments are<br>
&gt; &gt; &gt; &gt; &gt; &gt; confidential and may also be privileged. If y=
ou are not the<br>
&gt; intended<br>
&gt; &gt; &gt; &gt; &gt; &gt; recipient, please notify the sender immediate=
ly and do not<br>
&gt; disclose<br>
&gt; &gt; &gt; &gt; the<br>
&gt; &gt; &gt; &gt; &gt; &gt; contents to any other person, use it for any =
purpose, or store<br>
&gt; or copy<br>
&gt; &gt; &gt; &gt; the<br>
&gt; &gt; &gt; &gt; &gt; &gt; information in any medium. Thank you.<br>
&gt; &gt; &gt; &gt; &gt; IMPORTANT NOTICE: The contents of this email and a=
ny attachments<br>
&gt; are<br>
&gt; &gt; &gt; &gt; confidential and may also be privileged. If you are not=
 the intended<br>
&gt; &gt; &gt; &gt; recipient, please notify the sender immediately and do =
not disclose<br>
&gt; the<br>
&gt; &gt; &gt; &gt; contents to any other person, use it for any purpose, o=
r store or<br>
&gt; copy the<br>
&gt; &gt; &gt; &gt; information in any medium. Thank you.<br>
&gt; &gt; &gt; IMPORTANT NOTICE: The contents of this email and any attachm=
ents are<br>
&gt; confidential and may also be privileged. If you are not the intended<b=
r>
&gt; recipient, please notify the sender immediately and do not disclose th=
e<br>
&gt; contents to any other person, use it for any purpose, or store or copy=
 the<br>
&gt; information in any medium. Thank you.<br>
IMPORTANT NOTICE: The contents of this email and any attachments are confid=
ential and may also be privileged. If you are not the intended recipient, p=
lease notify the sender immediately and do not disclose the contents to any=
 other person, use it for any purpose, or store or copy the information in =
any medium. Thank you.<br>
</blockquote></div>

--000000000000eb0bd005cacbf53a--


From xen-devel-bounces@lists.xenproject.org Mon Aug 30 19:53:39 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 19:53:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175257.319358 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKnLZ-0007Oo-MJ; Mon, 30 Aug 2021 19:53:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175257.319358; Mon, 30 Aug 2021 19: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 1mKnLZ-0007Oh-Ir; Mon, 30 Aug 2021 19:53:33 +0000
Received: by outflank-mailman (input) for mailman id 175257;
 Mon, 30 Aug 2021 19:53:32 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TTCi=NV=gmail.com=christopher.w.clark@srs-us1.protection.inumbo.net>)
 id 1mKnLY-0007Ob-Me
 for xen-devel@lists.xen.org; Mon, 30 Aug 2021 19:53:32 +0000
Received: from mail-oi1-x22a.google.com (unknown [2607:f8b0:4864:20::22a])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 7406a6c3-0438-4267-8546-e62c5fabf0fe;
 Mon, 30 Aug 2021 19:53:25 +0000 (UTC)
Received: by mail-oi1-x22a.google.com with SMTP id r26so21663664oij.2
 for <xen-devel@lists.xen.org>; Mon, 30 Aug 2021 12:53: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: 7406a6c3-0438-4267-8546-e62c5fabf0fe
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc;
        bh=nRhDwLSy1qySxzUmm/5OTlUq10lpG/9wUZjHFdxCTvs=;
        b=Uh6qKHon9CHxUzu+oFKy1XFLO46tkz/nh9MSd+aYC7uxvncqzHaQYnMJ+ToZytiGj1
         hkZYmnVnz8UcT2+IaQUU9gj1KCGzFLLe3zalQyHoJei2uSDDtZ//dxwJfeoPT2maRq8D
         vduKSyUwOKb6mA9zcOx97UoIpHeKDjJOUQcPlzpHl5/naqc5UFUcEGVVDMQZmU3LmIBB
         O07hkvBsZIj7kUbyzMiGC7TKNFZsYUJgZD4ErCqWZ/ZuLTRwigpVsom8QY1aNbtRcUoB
         JJNcYyueKaYJWgzKtrJYnM6YUJpisAqdAIFnEL4LOWXqdr5KixBZqQqazp+nE2gxbIRs
         gO9w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=nRhDwLSy1qySxzUmm/5OTlUq10lpG/9wUZjHFdxCTvs=;
        b=RLndp++TAYXVk5J+hPHvXOGyYGa7zBuCJrT4YfPzGPP4WWdchas8mJc+vzjmvZYEL+
         fSacDBTqqVUv7Qi/Qk2Kk50ZeTFOH1zNtZPykvpFmXwBNbq9G5+FDxzRTRJxidQMkCRx
         hKoQ6PSiA6qHsFw9ackQDxuaU2Ae8d38+71rzWJz4fcxfBZWn52Cxuvn+5trNWlXP51d
         bJvazFAtE/eZxq6VGVreUwbxzeizAfz5ZiAYjCvaUj1ggMxWXnHfHH1Ey3KWvb7EMIeV
         96zUekLcLHNPMgT9yKqfSQYOO20/k4/SUsyOTBFZsarwrNbS6ivwW0486z72iiEqduxN
         71Sw==
X-Gm-Message-State: AOAM530K6sAwOC7FqYsV0c5jEvEMGcFtJscADJ5nGf8r5TFXr04/mXQn
	kDBGvolKCbTE0aKQK9C7NMRKk9HNIVmAN3VeKsU=
X-Google-Smtp-Source: ABdhPJyNwK42HXnxDbuv/i75RQIcLTiVRll2NVcKx3RFWJKNVCNqafwmFTymAV70+Sku9LsFbJ5gA5mo+tj5mYgbS54=
X-Received: by 2002:a54:4197:: with SMTP id 23mr639595oiy.122.1630353204435;
 Mon, 30 Aug 2021 12:53:24 -0700 (PDT)
MIME-Version: 1.0
References: <87v94ldrqq.fsf@linaro.org> <alpine.DEB.2.21.2108041055390.9768@sstabellini-ThinkPad-T480s>
 <20210811062748.GB54169@laputa> <CAPD2p-mMeY=MDbAdLGrmmioSkJo147aMDrK=Qzr=PCa4jztGGg@mail.gmail.com>
 <DB9PR08MB685767CFAA4A8BCE7D2225A89EFD9@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <20210817080757.GC43203@laputa> <DB9PR08MB6857C656472153A42FB438C49EFE9@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <20210818053840.GE39588@laputa> <DB9PR08MB6857D1BE810B1D1DAF7B12AE9EFF9@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <20210820064150.GC13452@laputa> <20210826094047.GA55218@laputa>
 <DB9PR08MB68578198FF352EDC473D619E9EC79@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <CACMJ4GbmNgbB5ponYt3NGEk3j6YCksot+kDy2qs8HMdFXWnQbw@mail.gmail.com>
In-Reply-To: <CACMJ4GbmNgbB5ponYt3NGEk3j6YCksot+kDy2qs8HMdFXWnQbw@mail.gmail.com>
From: Christopher Clark <christopher.w.clark@gmail.com>
Date: Mon, 30 Aug 2021 12:53:00 -0700
Message-ID: <CACMJ4GbqPc29n+CAknY4kCjrQnkCSR=W+rymuY7Xa1EZb0MW5w@mail.gmail.com>
Subject: Re: Enabling hypervisor agnosticism for VirtIO backends
To: Wei Chen <Wei.Chen@arm.com>
Cc: AKASHI Takahiro <takahiro.akashi@linaro.org>, Oleksandr Tyshchenko <olekstysh@gmail.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, "Alex Benn??e" <alex.bennee@linaro.org>, 
	Kaly Xin <Kaly.Xin@arm.com>, Stratos Mailing List <stratos-dev@op-lists.linaro.org>, 
	"virtio-dev@lists.oasis-open.org" <virtio-dev@lists.oasis-open.org>, Arnd Bergmann <arnd.bergmann@linaro.org>, 
	Viresh Kumar <viresh.kumar@linaro.org>, 
	Stefano Stabellini <stefano.stabellini@xilinx.com>, "stefanha@redhat.com" <stefanha@redhat.com>, 
	Jan Kiszka <jan.kiszka@siemens.com>, Carl van Schaik <cvanscha@qti.qualcomm.com>, 
	"pratikp@quicinc.com" <pratikp@quicinc.com>, Srivatsa Vaddagiri <vatsa@codeaurora.org>, 
	Jean-Philippe Brucker <jean-philippe@linaro.org>, Mathieu Poirier <mathieu.poirier@linaro.org>, 
	Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>, Bertrand Marquis <Bertrand.Marquis@arm.com>, 
	Artem Mygaiev <Artem_Mygaiev@epam.com>, Julien Grall <julien@xen.org>, Juergen Gross <jgross@suse.com>, 
	Paul Durrant <paul@xen.org>, Xen Devel <xen-devel@lists.xen.org>, Rich Persaud <persaur@gmail.com>, 
	Daniel Smith <dpsmith@apertussolutions.com>
Content-Type: multipart/alternative; boundary="0000000000009be10505cacc2ff7"

--0000000000009be10505cacc2ff7
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

[ resending message to ensure delivery to the CCd mailing lists
post-subscription ]

Apologies for being late to this thread, but I hope to be able to
contribute to
this discussion in a meaningful way. I am grateful for the level of
interest in
this topic. I would like to draw your attention to Argo as a suitable
technology for development of VirtIO's hypervisor-agnostic interfaces.

* Argo is an interdomain communication mechanism in Xen (on x86 and Arm)
that
  can send and receive hypervisor-mediated notifications and messages
between
  domains (VMs). [1] The hypervisor can enforce Mandatory Access Control
over
  all communication between domains. It is derived from the earlier v4v,
which
  has been deployed on millions of machines with the HP/Bromium uXen
hypervisor
  and with OpenXT.

* Argo has a simple interface with a small number of operations that was
  designed for ease of integration into OS primitives on both Linux
(sockets)
  and Windows (ReadFile/WriteFile) [2].
    - A unikernel example of using it has also been developed for XTF. [3]

* There has been recent discussion and support in the Xen community for
making
  revisions to the Argo interface to make it hypervisor-agnostic, and
support
  implementations of Argo on other hypervisors. This will enable a single
  interface for an OS kernel binary to use for inter-VM communication that
will
  work on multiple hypervisors -- this applies equally to both backends and
  frontend implementations. [4]

* Here are the design documents for building VirtIO-over-Argo, to support a
  hypervisor-agnostic frontend VirtIO transport driver using Argo.

The Development Plan to build VirtIO virtual device support over Argo
transport:
https://openxt.atlassian.net/wiki/spaces/DC/pages/1696169985/VirtIO-Argo+De=
velopment+Phase+1

A design for using VirtIO over Argo, describing how VirtIO data structures
and communication is handled over the Argo transport:
https://openxt.atlassian.net/wiki/spaces/DC/pages/1348763698/VirtIO+Argo

Diagram (from the above document) showing how VirtIO rings are synchronized
between domains without using shared memory:
https://openxt.atlassian.net/46e1c93b-2b87-4cb2-951e-abd4377a1194#media-blo=
b-url=3Dtrue&id=3D01f7d0e1-7686-4f0b-88e1-457c1d30df40&collection=3Dcontent=
Id-1348763698&contextId=3D1348763698&mimeType=3Dimage%2Fpng&name=3Ddevice-b=
uffer-access-virtio-argo.png&size=3D243175&width=3D1106&height=3D1241

Please note that the above design documents show that the existing VirtIO
device drivers, and both vring and virtqueue data structures can be
preserved
while interdomain communication can be performed with no shared memory
required
for most drivers; (the exceptions where further design is required are thos=
e
such as virtual framebuffer devices where shared memory regions are
intentionally
added to the communication structure beyond the vrings and virtqueues).

An analysis of VirtIO and Argo, informing the design:
https://openxt.atlassian.net/wiki/spaces/DC/pages/1333428225/Analysis+of+Ar=
go+as+a+transport+medium+for+VirtIO

* Argo can be used for a communication path for configuration between the
backend
  and the toolstack, avoiding the need for a dependency on XenStore, which
is an
  advantage for any hypervisor-agnostic design. It is also amenable to a
notification
  mechanism that is not based on Xen event channels.

* Argo does not use or require shared memory between VMs and provides an
alternative
  to the use of foreign shared memory mappings. It avoids some of the
complexities
  involved with using grants (eg. XSA-300).

* Argo supports Mandatory Access Control by the hypervisor, satisfying a
common
  certification requirement.

* The Argo headers are BSD-licensed and the Xen hypervisor implementation
is GPLv2 but
  accessible via the hypercall interface. The licensing should not present
an obstacle
  to adoption of Argo in guest software or implementation by other
hypervisors.

* Since the interface that Argo presents to a guest VM is similar to DMA, a
VirtIO-Argo
  frontend transport driver should be able to operate with a physical
VirtIO-enabled
  smart-NIC if the toolstack and an Argo-aware backend provide support.

The next Xen Community Call is next week and I would be happy to answer
questions
about Argo and on this topic. I will also be following this thread.

Christopher
(Argo maintainer, Xen Community)

---------------------------------------------------------------------------=
-----
[1]
An introduction to Argo:
https://static.sched.com/hosted_files/xensummit19/92/Argo%20and%20HMX%20-%2=
0OpenXT%20-%20Christopher%20Clark%20-%20Xen%20Summit%202019.pdf
https://www.youtube.com/watch?v=3DcnC0Tg3jqJQ
Xen Wiki page for Argo:
https://wiki.xenproject.org/wiki/Argo:_Hypervisor-Mediated_Exchange_(HMX)_f=
or_Xen

[2]
OpenXT Linux Argo driver and userspace library:
https://github.com/openxt/linux-xen-argo

Windows V4V at OpenXT wiki:
https://openxt.atlassian.net/wiki/spaces/DC/pages/14844007/V4V
Windows v4v driver source:
https://github.com/OpenXT/xc-windows/tree/master/xenv4v

HP/Bromium uXen V4V driver:
https://github.com/uxen-virt/uxen/tree/ascara/windows/uxenv4vlib

[3]
v2 of the Argo test unikernel for XTF:
https://lists.xenproject.org/archives/html/xen-devel/2021-01/msg02234.html

[4]
Argo HMX Transport for VirtIO meeting minutes:
https://lists.xenproject.org/archives/html/xen-devel/2021-02/msg01422.html

VirtIO-Argo Development wiki page:
https://openxt.atlassian.net/wiki/spaces/DC/pages/1696169985/VirtIO-Argo+De=
velopment+Phase+1


> On Thu, Aug 26, 2021 at 5:11 AM Wei Chen <Wei.Chen@arm.com> wrote:
>
>> Hi Akashi,
>>
>> > -----Original Message-----
>> > From: AKASHI Takahiro <takahiro.akashi@linaro.org>
>> > Sent: 2021=E5=B9=B48=E6=9C=8826=E6=97=A5 17:41
>> > To: Wei Chen <Wei.Chen@arm.com>
>> > Cc: Oleksandr Tyshchenko <olekstysh@gmail.com>; Stefano Stabellini
>> > <sstabellini@kernel.org>; Alex Benn??e <alex.bennee@linaro.org>; Kaly
>> Xin
>> > <Kaly.Xin@arm.com>; Stratos Mailing List <
>> stratos-dev@op-lists.linaro.org>;
>> > virtio-dev@lists.oasis-open.org; Arnd Bergmann <
>> arnd.bergmann@linaro.org>;
>> > Viresh Kumar <viresh.kumar@linaro.org>; Stefano Stabellini
>> > <stefano.stabellini@xilinx.com>; stefanha@redhat.com; Jan Kiszka
>> > <jan.kiszka@siemens.com>; Carl van Schaik <cvanscha@qti.qualcomm.com>;
>> > pratikp@quicinc.com; Srivatsa Vaddagiri <vatsa@codeaurora.org>; Jean-
>> > Philippe Brucker <jean-philippe@linaro.org>; Mathieu Poirier
>> > <mathieu.poirier@linaro.org>; Oleksandr Tyshchenko
>> > <Oleksandr_Tyshchenko@epam.com>; Bertrand Marquis
>> > <Bertrand.Marquis@arm.com>; Artem Mygaiev <Artem_Mygaiev@epam.com>;
>> Julien
>> > Grall <julien@xen.org>; Juergen Gross <jgross@suse.com>; Paul Durrant
>> > <paul@xen.org>; Xen Devel <xen-devel@lists.xen.org>
>> > Subject: Re: Enabling hypervisor agnosticism for VirtIO backends
>> >
>> > Hi Wei,
>> >
>> > On Fri, Aug 20, 2021 at 03:41:50PM +0900, AKASHI Takahiro wrote:
>> > > On Wed, Aug 18, 2021 at 08:35:51AM +0000, Wei Chen wrote:
>> > > > Hi Akashi=EF=BC=8C
>> > > >
>> > > > > -----Original Message-----
>> > > > > From: AKASHI Takahiro <takahiro.akashi@linaro.org>
>> > > > > Sent: 2021=E5=B9=B48=E6=9C=8818=E6=97=A5 13:39
>> > > > > To: Wei Chen <Wei.Chen@arm.com>
>> > > > > Cc: Oleksandr Tyshchenko <olekstysh@gmail.com>; Stefano
>> Stabellini
>> > > > > <sstabellini@kernel.org>; Alex Benn??e <alex.bennee@linaro.org>;
>> > Stratos
>> > > > > Mailing List <stratos-dev@op-lists.linaro.org>; virtio-
>> > dev@lists.oasis-
>> > > > > open.org; Arnd Bergmann <arnd.bergmann@linaro.org>; Viresh Kumar
>> > > > > <viresh.kumar@linaro.org>; Stefano Stabellini
>> > > > > <stefano.stabellini@xilinx.com>; stefanha@redhat.com; Jan Kiszka
>> > > > > <jan.kiszka@siemens.com>; Carl van Schaik
>> > <cvanscha@qti.qualcomm.com>;
>> > > > > pratikp@quicinc.com; Srivatsa Vaddagiri <vatsa@codeaurora.org>;
>> > Jean-
>> > > > > Philippe Brucker <jean-philippe@linaro.org>; Mathieu Poirier
>> > > > > <mathieu.poirier@linaro.org>; Oleksandr Tyshchenko
>> > > > > <Oleksandr_Tyshchenko@epam.com>; Bertrand Marquis
>> > > > > <Bertrand.Marquis@arm.com>; Artem Mygaiev <Artem_Mygaiev@epam.co=
m
>> >;
>> > Julien
>> > > > > Grall <julien@xen.org>; Juergen Gross <jgross@suse.com>; Paul
>> > Durrant
>> > > > > <paul@xen.org>; Xen Devel <xen-devel@lists.xen.org>
>> > > > > Subject: Re: Enabling hypervisor agnosticism for VirtIO backends
>> > > > >
>> > > > > On Tue, Aug 17, 2021 at 08:39:09AM +0000, Wei Chen wrote:
>> > > > > > Hi Akashi,
>> > > > > >
>> > > > > > > -----Original Message-----
>> > > > > > > From: AKASHI Takahiro <takahiro.akashi@linaro.org>
>> > > > > > > Sent: 2021=E5=B9=B48=E6=9C=8817=E6=97=A5 16:08
>> > > > > > > To: Wei Chen <Wei.Chen@arm.com>
>> > > > > > > Cc: Oleksandr Tyshchenko <olekstysh@gmail.com>; Stefano
>> > Stabellini
>> > > > > > > <sstabellini@kernel.org>; Alex Benn??e <
>> alex.bennee@linaro.org>;
>> > > > > Stratos
>> > > > > > > Mailing List <stratos-dev@op-lists.linaro.org>; virtio-
>> > > > > dev@lists.oasis-
>> > > > > > > open.org; Arnd Bergmann <arnd.bergmann@linaro.org>; Viresh
>> Kumar
>> > > > > > > <viresh.kumar@linaro.org>; Stefano Stabellini
>> > > > > > > <stefano.stabellini@xilinx.com>; stefanha@redhat.com; Jan
>> Kiszka
>> > > > > > > <jan.kiszka@siemens.com>; Carl van Schaik
>> > <cvanscha@qti.qualcomm.com>;
>> > > > > > > pratikp@quicinc.com; Srivatsa Vaddagiri <vatsa@codeaurora.or=
g
>> >;
>> > Jean-
>> > > > > > > Philippe Brucker <jean-philippe@linaro.org>; Mathieu Poirier
>> > > > > > > <mathieu.poirier@linaro.org>; Oleksandr Tyshchenko
>> > > > > > > <Oleksandr_Tyshchenko@epam.com>; Bertrand Marquis
>> > > > > > > <Bertrand.Marquis@arm.com>; Artem Mygaiev
>> > <Artem_Mygaiev@epam.com>;
>> > > > > Julien
>> > > > > > > Grall <julien@xen.org>; Juergen Gross <jgross@suse.com>; Pau=
l
>> > Durrant
>> > > > > > > <paul@xen.org>; Xen Devel <xen-devel@lists.xen.org>
>> > > > > > > Subject: Re: Enabling hypervisor agnosticism for VirtIO
>> backends
>> > > > > > >
>> > > > > > > Hi Wei, Oleksandr,
>> > > > > > >
>> > > > > > > On Mon, Aug 16, 2021 at 10:04:03AM +0000, Wei Chen wrote:
>> > > > > > > > Hi All,
>> > > > > > > >
>> > > > > > > > Thanks for Stefano to link my kvmtool for Xen proposal her=
e.
>> > > > > > > > This proposal is still discussing in Xen and KVM
>> communities.
>> > > > > > > > The main work is to decouple the kvmtool from KVM and make
>> > > > > > > > other hypervisors can reuse the virtual device
>> implementations.
>> > > > > > > >
>> > > > > > > > In this case, we need to introduce an intermediate
>> hypervisor
>> > > > > > > > layer for VMM abstraction, Which is, I think it's very clo=
se
>> > > > > > > > to stratos' virtio hypervisor agnosticism work.
>> > > > > > >
>> > > > > > > # My proposal[1] comes from my own idea and doesn't always
>> > represent
>> > > > > > > # Linaro's view on this subject nor reflect Alex's concerns.
>> > > > > Nevertheless,
>> > > > > > >
>> > > > > > > Your idea and my proposal seem to share the same background.
>> > > > > > > Both have the similar goal and currently start with, at firs=
t,
>> > Xen
>> > > > > > > and are based on kvm-tool. (Actually, my work is derived fro=
m
>> > > > > > > EPAM's virtio-disk, which is also based on kvm-tool.)
>> > > > > > >
>> > > > > > > In particular, the abstraction of hypervisor interfaces has =
a
>> > same
>> > > > > > > set of interfaces (for your "struct vmm_impl" and my "RPC
>> > interfaces").
>> > > > > > > This is not co-incident as we both share the same origin as =
I
>> > said
>> > > > > above.
>> > > > > > > And so we will also share the same issues. One of them is a
>> way
>> > of
>> > > > > > > "sharing/mapping FE's memory". There is some trade-off betwe=
en
>> > > > > > > the portability and the performance impact.
>> > > > > > > So we can discuss the topic here in this ML, too.
>> > > > > > > (See Alex's original email, too).
>> > > > > > >
>> > > > > > Yes, I agree.
>> > > > > >
>> > > > > > > On the other hand, my approach aims to create a
>> "single-binary"
>> > > > > solution
>> > > > > > > in which the same binary of BE vm could run on any
>> hypervisors.
>> > > > > > > Somehow similar to your "proposal-#2" in [2], but in my
>> solution,
>> > all
>> > > > > > > the hypervisor-specific code would be put into another entit=
y
>> > (VM),
>> > > > > > > named "virtio-proxy" and the abstracted operations are serve=
d
>> > via RPC.
>> > > > > > > (In this sense, BE is hypervisor-agnostic but might have OS
>> > > > > dependency.)
>> > > > > > > But I know that we need discuss if this is a requirement eve=
n
>> > > > > > > in Stratos project or not. (Maybe not)
>> > > > > > >
>> > > > > >
>> > > > > > Sorry, I haven't had time to finish reading your virtio-proxy
>> > completely
>> > > > > > (I will do it ASAP). But from your description, it seems we
>> need a
>> > > > > > 3rd VM between FE and BE? My concern is that, if my assumption
>> is
>> > right,
>> > > > > > will it increase the latency in data transport path? Even if
>> we're
>> > > > > > using some lightweight guest like RTOS or Unikernel,
>> > > > >
>> > > > > Yes, you're right. But I'm afraid that it is a matter of degree.
>> > > > > As far as we execute 'mapping' operations at every fetch of
>> payload,
>> > > > > we will see latency issue (even in your case) and if we have som=
e
>> > solution
>> > > > > for it, we won't see it neither in my proposal :)
>> > > > >
>> > > >
>> > > > Oleksandr has sent a proposal to Xen mailing list to reduce this
>> kind
>> > > > of "mapping/unmapping" operations. So the latency caused by this
>> > behavior
>> > > > on Xen may eventually be eliminated, and Linux-KVM doesn't have th=
at
>> > problem.
>> > >
>> > > Obviously, I have not yet caught up there in the discussion.
>> > > Which patch specifically?
>> >
>> > Can you give me the link to the discussion or patch, please?
>> >
>>
>> It's a RFC discussion. We have tested this RFC patch internally.
>> https://lists.xenproject.org/archives/html/xen-devel/2021-07/msg01532.ht=
ml
>>
>> > Thanks,
>> > -Takahiro Akashi
>> >
>> > > -Takahiro Akashi
>> > >
>> > > > > > > Specifically speaking about kvm-tool, I have a concern about
>> its
>> > > > > > > license term; Targeting different hypervisors and different
>> OSs
>> > > > > > > (which I assume includes RTOS's), the resultant library shou=
ld
>> > be
>> > > > > > > license permissive and GPL for kvm-tool might be an issue.
>> > > > > > > Any thoughts?
>> > > > > > >
>> > > > > >
>> > > > > > Yes. If user want to implement a FreeBSD device model, but the
>> > virtio
>> > > > > > library is GPL. Then GPL would be a problem. If we have anothe=
r
>> > good
>> > > > > > candidate, I am open to it.
>> > > > >
>> > > > > I have some candidates, particularly for vq/vring, in my mind:
>> > > > > * Open-AMP, or
>> > > > > * corresponding Free-BSD code
>> > > > >
>> > > >
>> > > > Interesting, I will look into them : )
>> > > >
>> > > > Cheers,
>> > > > Wei Chen
>> > > >
>> > > > > -Takahiro Akashi
>> > > > >
>> > > > >
>> > > > > > > -Takahiro Akashi
>> > > > > > >
>> > > > > > >
>> > > > > > > [1] https://op-lists.linaro.org/pipermail/stratos-dev/2021-
>> > > > > > > August/000548.html
>> > > > > > > [2] https://marc.info/?l=3Dxen-devel&m=3D162373754705233&w=
=3D2
>> > > > > > >
>> > > > > > > >
>> > > > > > > > > From: Oleksandr Tyshchenko <olekstysh@gmail.com>
>> > > > > > > > > Sent: 2021=E5=B9=B48=E6=9C=8814=E6=97=A5 23:38
>> > > > > > > > > To: AKASHI Takahiro <takahiro.akashi@linaro.org>; Stefan=
o
>> > > > > Stabellini
>> > > > > > > <sstabellini@kernel.org>
>> > > > > > > > > Cc: Alex Benn??e <alex.bennee@linaro.org>; Stratos
>> Mailing
>> > List
>> > > > > > > <stratos-dev@op-lists.linaro.org>; virtio-dev@lists.oasis-
>> > open.org;
>> > > > > Arnd
>> > > > > > > Bergmann <arnd.bergmann@linaro.org>; Viresh Kumar
>> > > > > > > <viresh.kumar@linaro.org>; Stefano Stabellini
>> > > > > > > <stefano.stabellini@xilinx.com>; stefanha@redhat.com; Jan
>> Kiszka
>> > > > > > > <jan.kiszka@siemens.com>; Carl van Schaik
>> > <cvanscha@qti.qualcomm.com>;
>> > > > > > > pratikp@quicinc.com; Srivatsa Vaddagiri <vatsa@codeaurora.or=
g
>> >;
>> > Jean-
>> > > > > > > Philippe Brucker <jean-philippe@linaro.org>; Mathieu Poirier
>> > > > > > > <mathieu.poirier@linaro.org>; Wei Chen <Wei.Chen@arm.com>;
>> > Oleksandr
>> > > > > > > Tyshchenko <Oleksandr_Tyshchenko@epam.com>; Bertrand Marquis
>> > > > > > > <Bertrand.Marquis@arm.com>; Artem Mygaiev
>> > <Artem_Mygaiev@epam.com>;
>> > > > > Julien
>> > > > > > > Grall <julien@xen.org>; Juergen Gross <jgross@suse.com>; Pau=
l
>> > Durrant
>> > > > > > > <paul@xen.org>; Xen Devel <xen-devel@lists.xen.org>
>> > > > > > > > > Subject: Re: Enabling hypervisor agnosticism for VirtIO
>> > backends
>> > > > > > > > >
>> > > > > > > > > Hello, all.
>> > > > > > > > >
>> > > > > > > > > Please see some comments below. And sorry for the possib=
le
>> > format
>> > > > > > > issues.
>> > > > > > > > >
>> > > > > > > > > > On Wed, Aug 11, 2021 at 9:27 AM AKASHI Takahiro
>> > > > > > > <mailto:takahiro.akashi@linaro.org> wrote:
>> > > > > > > > > > On Wed, Aug 04, 2021 at 12:20:01PM -0700, Stefano
>> > Stabellini
>> > > > > wrote:
>> > > > > > > > > > > CCing people working on Xen+VirtIO and IOREQs. Not
>> > trimming
>> > > > > the
>> > > > > > > original
>> > > > > > > > > > > email to let them read the full context.
>> > > > > > > > > > >
>> > > > > > > > > > > My comments below are related to a potential Xen
>> > > > > implementation,
>> > > > > > > not
>> > > > > > > > > > > because it is the only implementation that matters,
>> but
>> > > > > because it
>> > > > > > > is
>> > > > > > > > > > > the one I know best.
>> > > > > > > > > >
>> > > > > > > > > > Please note that my proposal (and hence the working
>> > prototype)[1]
>> > > > > > > > > > is based on Xen's virtio implementation (i.e. IOREQ) a=
nd
>> > > > > > > particularly
>> > > > > > > > > > EPAM's virtio-disk application (backend server).
>> > > > > > > > > > It has been, I believe, well generalized but is still =
a
>> > bit
>> > > > > biased
>> > > > > > > > > > toward this original design.
>> > > > > > > > > >
>> > > > > > > > > > So I hope you like my approach :)
>> > > > > > > > > >
>> > > > > > > > > > [1] https://op-lists.linaro.org/pipermail/stratos-
>> > dev/2021-
>> > > > > > > August/000546.html
>> > > > > > > > > >
>> > > > > > > > > > Let me take this opportunity to explain a bit more abo=
ut
>> > my
>> > > > > approach
>> > > > > > > below.
>> > > > > > > > > >
>> > > > > > > > > > > Also, please see this relevant email thread:
>> > > > > > > > > > > https://marc.info/?l=3Dxen-devel&m=3D162373754705233=
&w=3D2
>> > > > > > > > > > >
>> > > > > > > > > > >
>> > > > > > > > > > > On Wed, 4 Aug 2021, Alex Benn=C3=A9e wrote:
>> > > > > > > > > > > > Hi,
>> > > > > > > > > > > >
>> > > > > > > > > > > > One of the goals of Project Stratos is to enable
>> > hypervisor
>> > > > > > > agnostic
>> > > > > > > > > > > > backends so we can enable as much re-use of code a=
s
>> > possible
>> > > > > and
>> > > > > > > avoid
>> > > > > > > > > > > > repeating ourselves. This is the flip side of the
>> > front end
>> > > > > > > where
>> > > > > > > > > > > > multiple front-end implementations are required -
>> one
>> > per OS,
>> > > > > > > assuming
>> > > > > > > > > > > > you don't just want Linux guests. The resultant
>> guests
>> > are
>> > > > > > > trivially
>> > > > > > > > > > > > movable between hypervisors modulo any abstracted
>> > paravirt
>> > > > > type
>> > > > > > > > > > > > interfaces.
>> > > > > > > > > > > >
>> > > > > > > > > > > > In my original thumb nail sketch of a solution I
>> > envisioned
>> > > > > > > vhost-user
>> > > > > > > > > > > > daemons running in a broadly POSIX like environmen=
t.
>> > The
>> > > > > > > interface to
>> > > > > > > > > > > > the daemon is fairly simple requiring only some
>> mapped
>> > > > > memory
>> > > > > > > and some
>> > > > > > > > > > > > sort of signalling for events (on Linux this is
>> > eventfd).
>> > > > > The
>> > > > > > > idea was a
>> > > > > > > > > > > > stub binary would be responsible for any hyperviso=
r
>> > specific
>> > > > > > > setup and
>> > > > > > > > > > > > then launch a common binary to deal with the actua=
l
>> > > > > virtqueue
>> > > > > > > requests
>> > > > > > > > > > > > themselves.
>> > > > > > > > > > > >
>> > > > > > > > > > > > Since that original sketch we've seen an expansion
>> in
>> > the
>> > > > > sort
>> > > > > > > of ways
>> > > > > > > > > > > > backends could be created. There is interest in
>> > > > > encapsulating
>> > > > > > > backends
>> > > > > > > > > > > > in RTOSes or unikernels for solutions like SCMI.
>> There
>> > > > > interest
>> > > > > > > in Rust
>> > > > > > > > > > > > has prompted ideas of using the trait interface to
>> > abstract
>> > > > > > > differences
>> > > > > > > > > > > > away as well as the idea of bare-metal Rust
>> backends.
>> > > > > > > > > > > >
>> > > > > > > > > > > > We have a card (STR-12) called "Hypercall
>> > Standardisation"
>> > > > > which
>> > > > > > > > > > > > calls for a description of the APIs needed from th=
e
>> > > > > hypervisor
>> > > > > > > side to
>> > > > > > > > > > > > support VirtIO guests and their backends. However =
we
>> > are
>> > > > > some
>> > > > > > > way off
>> > > > > > > > > > > > from that at the moment as I think we need to at
>> least
>> > > > > > > demonstrate one
>> > > > > > > > > > > > portable backend before we start codifying
>> > requirements. To
>> > > > > that
>> > > > > > > end I
>> > > > > > > > > > > > want to think about what we need for a backend to
>> > function.
>> > > > > > > > > > > >
>> > > > > > > > > > > > Configuration
>> > > > > > > > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>> > > > > > > > > > > >
>> > > > > > > > > > > > In the type-2 setup this is typically fairly simpl=
e
>> > because
>> > > > > the
>> > > > > > > host
>> > > > > > > > > > > > system can orchestrate the various modules that ma=
ke
>> > up the
>> > > > > > > complete
>> > > > > > > > > > > > system. In the type-1 case (or even type-2 with
>> > delegated
>> > > > > > > service VMs)
>> > > > > > > > > > > > we need some sort of mechanism to inform the backe=
nd
>> > VM
>> > > > > about
>> > > > > > > key
>> > > > > > > > > > > > details about the system:
>> > > > > > > > > > > >
>> > > > > > > > > > > >   - where virt queue memory is in it's address spa=
ce
>> > > > > > > > > > > >   - how it's going to receive (interrupt) and
>> trigger
>> > (kick)
>> > > > > > > events
>> > > > > > > > > > > >   - what (if any) resources the backend needs to
>> > connect to
>> > > > > > > > > > > >
>> > > > > > > > > > > > Obviously you can elide over configuration issues =
by
>> > having
>> > > > > > > static
>> > > > > > > > > > > > configurations and baking the assumptions into you=
r
>> > guest
>> > > > > images
>> > > > > > > however
>> > > > > > > > > > > > this isn't scalable in the long term. The obvious
>> > solution
>> > > > > seems
>> > > > > > > to be
>> > > > > > > > > > > > extending a subset of Device Tree data to user spa=
ce
>> > but
>> > > > > perhaps
>> > > > > > > there
>> > > > > > > > > > > > are other approaches?
>> > > > > > > > > > > >
>> > > > > > > > > > > > Before any virtio transactions can take place the
>> > > > > appropriate
>> > > > > > > memory
>> > > > > > > > > > > > mappings need to be made between the FE guest and
>> the
>> > BE
>> > > > > guest.
>> > > > > > > > > > >
>> > > > > > > > > > > > Currently the whole of the FE guests address space
>> > needs to
>> > > > > be
>> > > > > > > visible
>> > > > > > > > > > > > to whatever is serving the virtio requests. I can
>> > envision 3
>> > > > > > > approaches:
>> > > > > > > > > > > >
>> > > > > > > > > > > >  * BE guest boots with memory already mapped
>> > > > > > > > > > > >
>> > > > > > > > > > > >  This would entail the guest OS knowing where in
>> it's
>> > Guest
>> > > > > > > Physical
>> > > > > > > > > > > >  Address space is already taken up and avoiding
>> > clashing. I
>> > > > > > > would assume
>> > > > > > > > > > > >  in this case you would want a standard interface =
to
>> > > > > userspace
>> > > > > > > to then
>> > > > > > > > > > > >  make that address space visible to the backend
>> daemon.
>> > > > > > > > > >
>> > > > > > > > > > Yet another way here is that we would have well known
>> > "shared
>> > > > > > > memory" between
>> > > > > > > > > > VMs. I think that Jailhouse's ivshmem gives us good
>> > insights on
>> > > > > this
>> > > > > > > matter
>> > > > > > > > > > and that it can even be an alternative for hypervisor-
>> > agnostic
>> > > > > > > solution.
>> > > > > > > > > >
>> > > > > > > > > > (Please note memory regions in ivshmem appear as a PCI
>> > device
>> > > > > and
>> > > > > > > can be
>> > > > > > > > > > mapped locally.)
>> > > > > > > > > >
>> > > > > > > > > > I want to add this shared memory aspect to my
>> virtio-proxy,
>> > but
>> > > > > > > > > > the resultant solution would eventually look similar t=
o
>> > ivshmem.
>> > > > > > > > > >
>> > > > > > > > > > > >  * BE guests boots with a hypervisor handle to
>> memory
>> > > > > > > > > > > >
>> > > > > > > > > > > >  The BE guest is then free to map the FE's memory =
to
>> > where
>> > > > > it
>> > > > > > > wants in
>> > > > > > > > > > > >  the BE's guest physical address space.
>> > > > > > > > > > >
>> > > > > > > > > > > I cannot see how this could work for Xen. There is n=
o
>> > "handle"
>> > > > > to
>> > > > > > > give
>> > > > > > > > > > > to the backend if the backend is not running in dom0=
.
>> So
>> > for
>> > > > > Xen I
>> > > > > > > think
>> > > > > > > > > > > the memory has to be already mapped
>> > > > > > > > > >
>> > > > > > > > > > In Xen's IOREQ solution (virtio-blk), the following
>> > information
>> > > > > is
>> > > > > > > expected
>> > > > > > > > > > to be exposed to BE via Xenstore:
>> > > > > > > > > > (I know that this is a tentative approach though.)
>> > > > > > > > > >    - the start address of configuration space
>> > > > > > > > > >    - interrupt number
>> > > > > > > > > >    - file path for backing storage
>> > > > > > > > > >    - read-only flag
>> > > > > > > > > > And the BE server have to call a particular hypervisor
>> > interface
>> > > > > to
>> > > > > > > > > > map the configuration space.
>> > > > > > > > >
>> > > > > > > > > Yes, Xenstore was chosen as a simple way to pass
>> > configuration
>> > > > > info to
>> > > > > > > the backend running in a non-toolstack domain.
>> > > > > > > > > I remember, there was a wish to avoid using Xenstore in
>> > Virtio
>> > > > > backend
>> > > > > > > itself if possible, so for non-toolstack domain, this could
>> done
>> > with
>> > > > > > > adjusting devd (daemon that listens for devices and launches
>> > backends)
>> > > > > > > > > to read backend configuration from the Xenstore anyway a=
nd
>> > pass it
>> > > > > to
>> > > > > > > the backend via command line arguments.
>> > > > > > > > >
>> > > > > > > >
>> > > > > > > > Yes, in current PoC code we're using xenstore to pass devi=
ce
>> > > > > > > configuration.
>> > > > > > > > We also designed a static device configuration parse metho=
d
>> > for
>> > > > > Dom0less
>> > > > > > > or
>> > > > > > > > other scenarios don't have xentool. yes, it's from device
>> > model
>> > > > > command
>> > > > > > > line
>> > > > > > > > or a config file.
>> > > > > > > >
>> > > > > > > > > But, if ...
>> > > > > > > > >
>> > > > > > > > > >
>> > > > > > > > > > In my approach (virtio-proxy), all those Xen (or
>> > hypervisor)-
>> > > > > > > specific
>> > > > > > > > > > stuffs are contained in virtio-proxy, yet another VM, =
to
>> > hide
>> > > > > all
>> > > > > > > details.
>> > > > > > > > >
>> > > > > > > > > ... the solution how to overcome that is already found a=
nd
>> > proven
>> > > > > to
>> > > > > > > work then even better.
>> > > > > > > > >
>> > > > > > > > >
>> > > > > > > > >
>> > > > > > > > > > # My point is that a "handle" is not mandatory for
>> > executing
>> > > > > mapping.
>> > > > > > > > > >
>> > > > > > > > > > > and the mapping probably done by the
>> > > > > > > > > > > toolstack (also see below.) Or we would have to
>> invent a
>> > new
>> > > > > Xen
>> > > > > > > > > > > hypervisor interface and Xen virtual machine
>> privileges
>> > to
>> > > > > allow
>> > > > > > > this
>> > > > > > > > > > > kind of mapping.
>> > > > > > > > > >
>> > > > > > > > > > > If we run the backend in Dom0 that we have no proble=
ms
>> > of
>> > > > > course.
>> > > > > > > > > >
>> > > > > > > > > > One of difficulties on Xen that I found in my approach
>> is
>> > that
>> > > > > > > calling
>> > > > > > > > > > such hypervisor intefaces (registering IOREQ, mapping
>> > memory) is
>> > > > > > > only
>> > > > > > > > > > allowed on BE servers themselvies and so we will have =
to
>> > extend
>> > > > > > > those
>> > > > > > > > > > interfaces.
>> > > > > > > > > > This, however, will raise some concern on security and
>> > privilege
>> > > > > > > distribution
>> > > > > > > > > > as Stefan suggested.
>> > > > > > > > >
>> > > > > > > > > We also faced policy related issues with Virtio backend
>> > running in
>> > > > > > > other than Dom0 domain in a "dummy" xsm mode. In our target
>> > system we
>> > > > > run
>> > > > > > > the backend in a driver
>> > > > > > > > > domain (we call it DomD) where the underlying H/W reside=
s.
>> > We
>> > > > > trust it,
>> > > > > > > so we wrote policy rules (to be used in "flask" xsm mode) to
>> > provide
>> > > > > it
>> > > > > > > with a little bit more privileges than a simple DomU had.
>> > > > > > > > > Now it is permitted to issue device-model, resource and
>> > memory
>> > > > > > > mappings, etc calls.
>> > > > > > > > >
>> > > > > > > > > > >
>> > > > > > > > > > >
>> > > > > > > > > > > > To activate the mapping will
>> > > > > > > > > > > >  require some sort of hypercall to the hypervisor.=
 I
>> > can see
>> > > > > two
>> > > > > > > options
>> > > > > > > > > > > >  at this point:
>> > > > > > > > > > > >
>> > > > > > > > > > > >   - expose the handle to userspace for daemon/help=
er
>> > to
>> > > > > trigger
>> > > > > > > the
>> > > > > > > > > > > >     mapping via existing hypercall interfaces. If
>> > using a
>> > > > > helper
>> > > > > > > you
>> > > > > > > > > > > >     would have a hypervisor specific one to avoid
>> the
>> > daemon
>> > > > > > > having to
>> > > > > > > > > > > >     care too much about the details or push that
>> > complexity
>> > > > > into
>> > > > > > > a
>> > > > > > > > > > > >     compile time option for the daemon which would
>> > result in
>> > > > > > > different
>> > > > > > > > > > > >     binaries although a common source base.
>> > > > > > > > > > > >
>> > > > > > > > > > > >   - expose a new kernel ABI to abstract the
>> hypercall
>> > > > > > > differences away
>> > > > > > > > > > > >     in the guest kernel. In this case the userspac=
e
>> > would
>> > > > > > > essentially
>> > > > > > > > > > > >     ask for an abstract "map guest N memory to
>> > userspace
>> > > > > ptr"
>> > > > > > > and let
>> > > > > > > > > > > >     the kernel deal with the different hypercall
>> > interfaces.
>> > > > > > > This of
>> > > > > > > > > > > >     course assumes the majority of BE guests would
>> be
>> > Linux
>> > > > > > > kernels and
>> > > > > > > > > > > >     leaves the bare-metal/unikernel approaches to
>> > their own
>> > > > > > > devices.
>> > > > > > > > > > > >
>> > > > > > > > > > > > Operation
>> > > > > > > > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D
>> > > > > > > > > > > >
>> > > > > > > > > > > > The core of the operation of VirtIO is fairly
>> simple.
>> > Once
>> > > > > the
>> > > > > > > > > > > > vhost-user feature negotiation is done it's a case
>> of
>> > > > > receiving
>> > > > > > > update
>> > > > > > > > > > > > events and parsing the resultant virt queue for
>> data.
>> > The
>> > > > > vhost-
>> > > > > > > user
>> > > > > > > > > > > > specification handles a bunch of setup before that
>> > point,
>> > > > > mostly
>> > > > > > > to
>> > > > > > > > > > > > detail where the virt queues are set up FD's for
>> > memory and
>> > > > > > > event
>> > > > > > > > > > > > communication. This is where the envisioned stub
>> > process
>> > > > > would
>> > > > > > > be
>> > > > > > > > > > > > responsible for getting the daemon up and ready to
>> run.
>> > This
>> > > > > is
>> > > > > > > > > > > > currently done inside a big VMM like QEMU but I
>> > suspect a
>> > > > > modern
>> > > > > > > > > > > > approach would be to use the rust-vmm vhost crate.
>> It
>> > would
>> > > > > then
>> > > > > > > either
>> > > > > > > > > > > > communicate with the kernel's abstracted ABI or be
>> re-
>> > > > > targeted
>> > > > > > > as a
>> > > > > > > > > > > > build option for the various hypervisors.
>> > > > > > > > > > >
>> > > > > > > > > > > One thing I mentioned before to Alex is that Xen
>> doesn't
>> > have
>> > > > > VMMs
>> > > > > > > the
>> > > > > > > > > > > way they are typically envisioned and described in
>> other
>> > > > > > > environments.
>> > > > > > > > > > > Instead, Xen has IOREQ servers. Each of them connect=
s
>> > > > > > > independently to
>> > > > > > > > > > > Xen via the IOREQ interface. E.g. today multiple QEM=
Us
>> > could
>> > > > > be
>> > > > > > > used as
>> > > > > > > > > > > emulators for a single Xen VM, each of them connecti=
ng
>> > to Xen
>> > > > > > > > > > > independently via the IOREQ interface.
>> > > > > > > > > > >
>> > > > > > > > > > > The component responsible for starting a daemon and/=
or
>> > setting
>> > > > > up
>> > > > > > > shared
>> > > > > > > > > > > interfaces is the toolstack: the xl command and the
>> > > > > libxl/libxc
>> > > > > > > > > > > libraries.
>> > > > > > > > > >
>> > > > > > > > > > I think that VM configuration management (or
>> orchestration
>> > in
>> > > > > > > Startos
>> > > > > > > > > > jargon?) is a subject to debate in parallel.
>> > > > > > > > > > Otherwise, is there any good assumption to avoid it
>> right
>> > now?
>> > > > > > > > > >
>> > > > > > > > > > > Oleksandr and others I CCed have been working on way=
s
>> > for the
>> > > > > > > toolstack
>> > > > > > > > > > > to create virtio backends and setup memory mappings.
>> > They
>> > > > > might be
>> > > > > > > able
>> > > > > > > > > > > to provide more info on the subject. I do think we
>> miss
>> > a way
>> > > > > to
>> > > > > > > provide
>> > > > > > > > > > > the configuration to the backend and anything else
>> that
>> > the
>> > > > > > > backend
>> > > > > > > > > > > might require to start doing its job.
>> > > > > > > > >
>> > > > > > > > > Yes, some work has been done for the toolstack to handle
>> > Virtio
>> > > > > MMIO
>> > > > > > > devices in
>> > > > > > > > > general and Virtio block devices in particular. However,
>> it
>> > has
>> > > > > not
>> > > > > > > been upstreaned yet.
>> > > > > > > > > Updated patches on review now:
>> > > > > > > > > https://lore.kernel.org/xen-devel/1621626361-29076-1-git=
-
>> > send-
>> > > > > email-
>> > > > > > > olekstysh@gmail.com/
>> > > > > > > > >
>> > > > > > > > > There is an additional (also important) activity to
>> > improve/fix
>> > > > > > > foreign memory mapping on Arm which I am also involved in.
>> > > > > > > > > The foreign memory mapping is proposed to be used for
>> Virtio
>> > > > > backends
>> > > > > > > (device emulators) if there is a need to run guest OS
>> completely
>> > > > > > > unmodified.
>> > > > > > > > > Of course, the more secure way would be to use grant
>> memory
>> > > > > mapping.
>> > > > > > > Brietly, the main difference between them is that with forei=
gn
>> > mapping
>> > > > > the
>> > > > > > > backend
>> > > > > > > > > can map any guest memory it wants to map, but with grant
>> > mapping
>> > > > > it is
>> > > > > > > allowed to map only what was previously granted by the
>> frontend.
>> > > > > > > > >
>> > > > > > > > > So, there might be a problem if we want to pre-map some
>> > guest
>> > > > > memory
>> > > > > > > in advance or to cache mappings in the backend in order to
>> > improve
>> > > > > > > performance (because the mapping/unmapping guest pages every
>> > request
>> > > > > > > requires a lot of back and forth to Xen + P2M updates). In a
>> > nutshell,
>> > > > > > > currently, in order to map a guest page into the backend
>> address
>> > space
>> > > > > we
>> > > > > > > need to steal a real physical page from the backend domain.
>> So,
>> > with
>> > > > > the
>> > > > > > > said optimizations we might end up with no free memory in th=
e
>> > backend
>> > > > > > > domain (see XSA-300). And what we try to achieve is to not
>> waste
>> > a
>> > > > > real
>> > > > > > > domain memory at all by providing safe non-allocated-yet (so
>> > unused)
>> > > > > > > address space for the foreign (and grant) pages to be mapped
>> > into,
>> > > > > this
>> > > > > > > enabling work implies Xen and Linux (and likely DTB bindings=
)
>> > changes.
>> > > > > > > However, as it turned out, for this to work in a proper and
>> safe
>> > way
>> > > > > some
>> > > > > > > prereq work needs to be done.
>> > > > > > > > > You can find the related Xen discussion at:
>> > > > > > > > > https://lore.kernel.org/xen-devel/1627489110-25633-1-git=
-
>> > send-
>> > > > > email-
>> > > > > > > olekstysh@gmail.com/
>> > > > > > > > >
>> > > > > > > > >
>> > > > > > > > > > >
>> > > > > > > > > > >
>> > > > > > > > > > > > One question is how to best handle notification an=
d
>> > kicks.
>> > > > > The
>> > > > > > > existing
>> > > > > > > > > > > > vhost-user framework uses eventfd to signal the
>> daemon
>> > > > > (although
>> > > > > > > QEMU
>> > > > > > > > > > > > is quite capable of simulating them when you use
>> TCG).
>> > Xen
>> > > > > has
>> > > > > > > it's own
>> > > > > > > > > > > > IOREQ mechanism. However latency is an important
>> > factor and
>> > > > > > > having
>> > > > > > > > > > > > events go through the stub would add quite a lot.
>> > > > > > > > > > >
>> > > > > > > > > > > Yeah I think, regardless of anything else, we want t=
he
>> > > > > backends to
>> > > > > > > > > > > connect directly to the Xen hypervisor.
>> > > > > > > > > >
>> > > > > > > > > > In my approach,
>> > > > > > > > > >  a) BE -> FE: interrupts triggered by BE calling a
>> > hypervisor
>> > > > > > > interface
>> > > > > > > > > >               via virtio-proxy
>> > > > > > > > > >  b) FE -> BE: MMIO to config raises events (in event
>> > channels),
>> > > > > > > which is
>> > > > > > > > > >               converted to a callback to BE via virtio=
-
>> > proxy
>> > > > > > > > > >               (Xen's event channel is internnally
>> > implemented by
>> > > > > > > interrupts.)
>> > > > > > > > > >
>> > > > > > > > > > I don't know what "connect directly" means here, but
>> > sending
>> > > > > > > interrupts
>> > > > > > > > > > to the opposite side would be best efficient.
>> > > > > > > > > > Ivshmem, I suppose, takes this approach by utilizing
>> PCI's
>> > msi-x
>> > > > > > > mechanism.
>> > > > > > > > >
>> > > > > > > > > Agree that MSI would be more efficient than SPI...
>> > > > > > > > > At the moment, in order to notify the frontend, the
>> backend
>> > issues
>> > > > > a
>> > > > > > > specific device-model call to query Xen to inject a
>> > corresponding SPI
>> > > > > to
>> > > > > > > the guest.
>> > > > > > > > >
>> > > > > > > > >
>> > > > > > > > >
>> > > > > > > > > > >
>> > > > > > > > > > > > Could we consider the kernel internally converting
>> > IOREQ
>> > > > > > > messages from
>> > > > > > > > > > > > the Xen hypervisor to eventfd events? Would this
>> scale
>> > with
>> > > > > > > other kernel
>> > > > > > > > > > > > hypercall interfaces?
>> > > > > > > > > > > >
>> > > > > > > > > > > > So any thoughts on what directions are worth
>> > experimenting
>> > > > > with?
>> > > > > > > > > > >
>> > > > > > > > > > > One option we should consider is for each backend to
>> > connect
>> > > > > to
>> > > > > > > Xen via
>> > > > > > > > > > > the IOREQ interface. We could generalize the IOREQ
>> > interface
>> > > > > and
>> > > > > > > make it
>> > > > > > > > > > > hypervisor agnostic. The interface is really trivial
>> and
>> > easy
>> > > > > to
>> > > > > > > add.
>> > > > > > > > > >
>> > > > > > > > > > As I said above, my proposal does the same thing that
>> you
>> > > > > mentioned
>> > > > > > > here :)
>> > > > > > > > > > The difference is that I do call hypervisor interfaces
>> via
>> > > > > virtio-
>> > > > > > > proxy.
>> > > > > > > > > >
>> > > > > > > > > > > The only Xen-specific part is the notification
>> mechanism,
>> > > > > which is
>> > > > > > > an
>> > > > > > > > > > > event channel. If we replaced the event channel with
>> > something
>> > > > > > > else the
>> > > > > > > > > > > interface would be generic. See:
>> > > > > > > > > > > https://gitlab.com/xen-project/xen/-
>> > > > > > > /blob/staging/xen/include/public/hvm/ioreq.h#L52
>> > > > > > > > > > >
>> > > > > > > > > > > I don't think that translating IOREQs to eventfd in
>> the
>> > kernel
>> > > > > is
>> > > > > > > a
>> > > > > > > > > > > good idea: if feels like it would be extra complexit=
y
>> > and that
>> > > > > the
>> > > > > > > > > > > kernel shouldn't be involved as this is a backend-
>> > hypervisor
>> > > > > > > interface.
>> > > > > > > > > >
>> > > > > > > > > > Given that we may want to implement BE as a bare-metal
>> > > > > application
>> > > > > > > > > > as I did on Zephyr, I don't think that the translation
>> > would not
>> > > > > be
>> > > > > > > > > > a big issue, especially on RTOS's.
>> > > > > > > > > > It will be some kind of abstraction layer of interrupt
>> > handling
>> > > > > > > > > > (or nothing but a callback mechanism).
>> > > > > > > > > >
>> > > > > > > > > > > Also, eventfd is very Linux-centric and we are tryin=
g
>> to
>> > > > > design an
>> > > > > > > > > > > interface that could work well for RTOSes too. If we
>> > want to
>> > > > > do
>> > > > > > > > > > > something different, both OS-agnostic and hypervisor=
-
>> > agnostic,
>> > > > > > > perhaps
>> > > > > > > > > > > we could design a new interface. One that could be
>> > > > > implementable
>> > > > > > > in the
>> > > > > > > > > > > Xen hypervisor itself (like IOREQ) and of course any
>> > other
>> > > > > > > hypervisor
>> > > > > > > > > > > too.
>> > > > > > > > > > >
>> > > > > > > > > > >
>> > > > > > > > > > > There is also another problem. IOREQ is probably not
>> be
>> > the
>> > > > > only
>> > > > > > > > > > > interface needed. Have a look at
>> > > > > > > > > > > https://marc.info/?l=3Dxen-devel&m=3D162373754705233=
&w=3D2.
>> > Don't we
>> > > > > > > also need
>> > > > > > > > > > > an interface for the backend to inject interrupts in=
to
>> > the
>> > > > > > > frontend? And
>> > > > > > > > > > > if the backend requires dynamic memory mappings of
>> > frontend
>> > > > > pages,
>> > > > > > > then
>> > > > > > > > > > > we would also need an interface to map/unmap domU
>> pages.
>> > > > > > > > > >
>> > > > > > > > > > My proposal document might help here; All the interfac=
es
>> > > > > required
>> > > > > > > for
>> > > > > > > > > > virtio-proxy (or hypervisor-related interfaces) are
>> listed
>> > as
>> > > > > > > > > > RPC protocols :)
>> > > > > > > > > >
>> > > > > > > > > > > These interfaces are a lot more problematic than
>> IOREQ:
>> > IOREQ
>> > > > > is
>> > > > > > > tiny
>> > > > > > > > > > > and self-contained. It is easy to add anywhere. A ne=
w
>> > > > > interface to
>> > > > > > > > > > > inject interrupts or map pages is more difficult to
>> > manage
>> > > > > because
>> > > > > > > it
>> > > > > > > > > > > would require changes scattered across the various
>> > emulators.
>> > > > > > > > > >
>> > > > > > > > > > Exactly. I have no confident yet that my approach will
>> > also
>> > > > > apply
>> > > > > > > > > > to other hypervisors than Xen.
>> > > > > > > > > > Technically, yes, but whether people can accept it or
>> not
>> > is a
>> > > > > > > different
>> > > > > > > > > > matter.
>> > > > > > > > > >
>> > > > > > > > > > Thanks,
>> > > > > > > > > > -Takahiro Akashi
>> > > > > > > > >
>> > > > > > > > >
>> > > > > > > > >
>> > > > > > > > > --
>> > > > > > > > > Regards,
>> > > > > > > > >
>> > > > > > > > > Oleksandr Tyshchenko
>> > > > > > > > IMPORTANT NOTICE: The contents of this email and any
>> > attachments are
>> > > > > > > confidential and may also be privileged. If you are not the
>> > intended
>> > > > > > > recipient, please notify the sender immediately and do not
>> > disclose
>> > > > > the
>> > > > > > > contents to any other person, use it for any purpose, or sto=
re
>> > or copy
>> > > > > the
>> > > > > > > information in any medium. Thank you.
>> > > > > > IMPORTANT NOTICE: The contents of this email and any attachmen=
ts
>> > are
>> > > > > confidential and may also be privileged. If you are not the
>> intended
>> > > > > recipient, please notify the sender immediately and do not
>> disclose
>> > the
>> > > > > contents to any other person, use it for any purpose, or store o=
r
>> > copy the
>> > > > > information in any medium. Thank you.
>> > > > IMPORTANT NOTICE: The contents of this email and any attachments a=
re
>> > confidential and may also be privileged. If you are not the intended
>> > recipient, please notify the sender immediately and do not disclose th=
e
>> > contents to any other person, use it for any purpose, or store or copy
>> the
>> > information in any medium. Thank you.
>> IMPORTANT NOTICE: The contents of this email and any attachments are
>> confidential and may also be privileged. If you are not the intended
>> recipient, please notify the sender immediately and do not disclose the
>> contents to any other person, use it for any purpose, or store or copy t=
he
>> information in any medium. Thank you.
>>
>

--0000000000009be10505cacc2ff7
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>[ resending message to ensure delivery to the CCd mai=
ling lists post-subscription ]</div><div><br></div><div dir=3D"ltr">Apologi=
es for being late to this thread, but I hope to be able to contribute to<br=
>this discussion in a meaningful way. I am grateful for the level of intere=
st in<br>this topic. I would like to draw your attention to Argo as a suita=
ble<br>technology for development of VirtIO&#39;s hypervisor-agnostic inter=
faces.<br><br>* Argo is an interdomain communication mechanism in Xen (on x=
86 and Arm) that<br>=C2=A0 can send and receive hypervisor-mediated notific=
ations and messages between<br>=C2=A0 domains (VMs). [1] The hypervisor can=
 enforce Mandatory Access Control over<br>=C2=A0 all communication between =
domains. It is derived from the earlier v4v, which<br>=C2=A0 has been deplo=
yed on millions of machines with the HP/Bromium uXen hypervisor<br>=C2=A0 a=
nd with OpenXT.<br>=C2=A0<br>* Argo has a simple interface with a small num=
ber of operations that was<br>=C2=A0 designed for ease of integration into =
OS primitives on both Linux (sockets)<br>=C2=A0 and Windows (ReadFile/Write=
File) [2].<br>=C2=A0 =C2=A0 - A unikernel example of using it has also been=
 developed for XTF. [3]<br><br>* There has been recent discussion and suppo=
rt in the Xen community for making<br>=C2=A0 revisions to the Argo interfac=
e to make it hypervisor-agnostic, and support<br>=C2=A0 implementations of =
Argo on other hypervisors. This will enable a single<br>=C2=A0 interface fo=
r an OS kernel binary to use for inter-VM communication that will<br>=C2=A0=
 work on multiple hypervisors -- this applies equally to both backends and<=
br>=C2=A0 frontend implementations. [4]<br><br>* Here are the design docume=
nts for building VirtIO-over-Argo, to support a<br>=C2=A0 hypervisor-agnost=
ic frontend VirtIO transport driver using Argo.<br><br>The Development Plan=
 to build VirtIO virtual device support over Argo transport:<br><a href=3D"=
https://openxt.atlassian.net/wiki/spaces/DC/pages/1696169985/VirtIO-Argo+De=
velopment+Phase+1">https://openxt.atlassian.net/wiki/spaces/DC/pages/169616=
9985/VirtIO-Argo+Development+Phase+1</a><br><br>A design for using VirtIO o=
ver Argo, describing how VirtIO data structures<br>and communication is han=
dled over the Argo transport:<br><a href=3D"https://openxt.atlassian.net/wi=
ki/spaces/DC/pages/1348763698/VirtIO+Argo">https://openxt.atlassian.net/wik=
i/spaces/DC/pages/1348763698/VirtIO+Argo</a><br><br>Diagram (from the above=
 document) showing how VirtIO rings are synchronized<br>between domains wit=
hout using shared memory:<br><a href=3D"https://openxt.atlassian.net/46e1c9=
3b-2b87-4cb2-951e-abd4377a1194#media-blob-url=3Dtrue&amp;id=3D01f7d0e1-7686=
-4f0b-88e1-457c1d30df40&amp;collection=3DcontentId-1348763698&amp;contextId=
=3D1348763698&amp;mimeType=3Dimage%2Fpng&amp;name=3Ddevice-buffer-access-vi=
rtio-argo.png&amp;size=3D243175&amp;width=3D1106&amp;height=3D1241">https:/=
/openxt.atlassian.net/46e1c93b-2b87-4cb2-951e-abd4377a1194#media-blob-url=
=3Dtrue&amp;id=3D01f7d0e1-7686-4f0b-88e1-457c1d30df40&amp;collection=3Dcont=
entId-1348763698&amp;contextId=3D1348763698&amp;mimeType=3Dimage%2Fpng&amp;=
name=3Ddevice-buffer-access-virtio-argo.png&amp;size=3D243175&amp;width=3D1=
106&amp;height=3D1241</a><br><br>Please note that the above design document=
s show that the existing VirtIO<br>device drivers, and both vring and virtq=
ueue data structures can be preserved<br>while interdomain communication ca=
n be performed with no shared memory required<br>for most drivers; (the exc=
eptions where further design is required are those<br>such as virtual frame=
buffer devices where shared memory regions are intentionally<br>added to th=
e communication structure beyond the vrings and virtqueues).<br><br>An anal=
ysis of VirtIO and Argo, informing the design:<br><a href=3D"https://openxt=
.atlassian.net/wiki/spaces/DC/pages/1333428225/Analysis+of+Argo+as+a+transp=
ort+medium+for+VirtIO">https://openxt.atlassian.net/wiki/spaces/DC/pages/13=
33428225/Analysis+of+Argo+as+a+transport+medium+for+VirtIO</a><br><br>* Arg=
o can be used for a communication path for configuration between the backen=
d<br>=C2=A0 and the toolstack, avoiding the need for a dependency on XenSto=
re, which is an<br>=C2=A0 advantage for any hypervisor-agnostic design. It =
is also amenable to a notification<br>=C2=A0 mechanism that is not based on=
 Xen event channels.<br><br>* Argo does not use or require shared memory be=
tween VMs and provides an alternative<br>=C2=A0 to the use of foreign share=
d memory mappings. It avoids some of the complexities<br>=C2=A0 involved wi=
th using grants (eg. XSA-300).<br><br>* Argo supports Mandatory Access Cont=
rol by the hypervisor, satisfying a common<br>=C2=A0 certification requirem=
ent.<br><br>* The Argo headers are BSD-licensed and the Xen hypervisor impl=
ementation is GPLv2 but<br>=C2=A0 accessible via the hypercall interface. T=
he licensing should not present an obstacle<br>=C2=A0 to adoption of Argo i=
n guest software or implementation by other hypervisors.<br><br>* Since the=
 interface that Argo presents to a guest VM is similar to DMA, a VirtIO-Arg=
o<br>=C2=A0 frontend transport driver should be able to operate with a phys=
ical VirtIO-enabled<br>=C2=A0 smart-NIC if the toolstack and an Argo-aware =
backend provide support.<br><br>The next Xen Community Call is next week an=
d I would be happy to answer questions<br>about Argo and on this topic. I w=
ill also be following this thread.<br><br>Christopher<br>(Argo maintainer, =
Xen Community)<br><br>-----------------------------------------------------=
---------------------------<br>[1]<br>An introduction to Argo:<br><a href=
=3D"https://static.sched.com/hosted_files/xensummit19/92/Argo%20and%20HMX%2=
0-%20OpenXT%20-%20Christopher%20Clark%20-%20Xen%20Summit%202019.pdf">https:=
//static.sched.com/hosted_files/xensummit19/92/Argo%20and%20HMX%20-%20OpenX=
T%20-%20Christopher%20Clark%20-%20Xen%20Summit%202019.pdf</a><br><a href=3D=
"https://www.youtube.com/watch?v=3DcnC0Tg3jqJQ">https://www.youtube.com/wat=
ch?v=3DcnC0Tg3jqJQ</a><br>Xen Wiki page for Argo:<br><a href=3D"https://wik=
i.xenproject.org/wiki/Argo:_Hypervisor-Mediated_Exchange_(HMX)_for_Xen">htt=
ps://wiki.xenproject.org/wiki/Argo:_Hypervisor-Mediated_Exchange_(HMX)_for_=
Xen</a><br><br>[2]<br>OpenXT Linux Argo driver and userspace library:<br><a=
 href=3D"https://github.com/openxt/linux-xen-argo">https://github.com/openx=
t/linux-xen-argo</a><br><br>Windows V4V at OpenXT wiki:<br><a href=3D"https=
://openxt.atlassian.net/wiki/spaces/DC/pages/14844007/V4V">https://openxt.a=
tlassian.net/wiki/spaces/DC/pages/14844007/V4V</a><br>Windows v4v driver so=
urce:<br><a href=3D"https://github.com/OpenXT/xc-windows/tree/master/xenv4v=
">https://github.com/OpenXT/xc-windows/tree/master/xenv4v</a><br><br>HP/Bro=
mium uXen V4V driver:<br><a href=3D"https://github.com/uxen-virt/uxen/tree/=
ascara/windows/uxenv4vlib">https://github.com/uxen-virt/uxen/tree/ascara/wi=
ndows/uxenv4vlib</a><br><br>[3]<br>v2 of the Argo test unikernel for XTF:<b=
r><a href=3D"https://lists.xenproject.org/archives/html/xen-devel/2021-01/m=
sg02234.html">https://lists.xenproject.org/archives/html/xen-devel/2021-01/=
msg02234.html</a><br><br>[4]<br>Argo HMX Transport for VirtIO meeting minut=
es:<br><a href=3D"https://lists.xenproject.org/archives/html/xen-devel/2021=
-02/msg01422.html">https://lists.xenproject.org/archives/html/xen-devel/202=
1-02/msg01422.html</a><br><br>VirtIO-Argo Development wiki page:<br><a href=
=3D"https://openxt.atlassian.net/wiki/spaces/DC/pages/1696169985/VirtIO-Arg=
o+Development+Phase+1">https://openxt.atlassian.net/wiki/spaces/DC/pages/16=
96169985/VirtIO-Argo+Development+Phase+1</a><br></div><div dir=3D"ltr"><br>=
</div><div class=3D"gmail_quote"><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"><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr=
">On Thu, Aug 26, 2021 at 5:11 AM Wei Chen &lt;<a href=3D"mailto:Wei.Chen@a=
rm.com" target=3D"_blank">Wei.Chen@arm.com</a>&gt; wrote:<br></div><blockqu=
ote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px=
 solid rgb(204,204,204);padding-left:1ex">Hi Akashi,<br>
<br>
&gt; -----Original Message-----<br>
&gt; From: AKASHI Takahiro &lt;<a href=3D"mailto:takahiro.akashi@linaro.org=
" target=3D"_blank">takahiro.akashi@linaro.org</a>&gt;<br>
&gt; Sent: 2021=E5=B9=B48=E6=9C=8826=E6=97=A5 17:41<br>
&gt; To: Wei Chen &lt;<a href=3D"mailto:Wei.Chen@arm.com" target=3D"_blank"=
>Wei.Chen@arm.com</a>&gt;<br>
&gt; Cc: Oleksandr Tyshchenko &lt;<a href=3D"mailto:olekstysh@gmail.com" ta=
rget=3D"_blank">olekstysh@gmail.com</a>&gt;; Stefano Stabellini<br>
&gt; &lt;<a href=3D"mailto:sstabellini@kernel.org" target=3D"_blank">sstabe=
llini@kernel.org</a>&gt;; Alex Benn??e &lt;<a href=3D"mailto:alex.bennee@li=
naro.org" target=3D"_blank">alex.bennee@linaro.org</a>&gt;; Kaly Xin<br>
&gt; &lt;<a href=3D"mailto:Kaly.Xin@arm.com" target=3D"_blank">Kaly.Xin@arm=
.com</a>&gt;; Stratos Mailing List &lt;<a href=3D"mailto:stratos-dev@op-lis=
ts.linaro.org" target=3D"_blank">stratos-dev@op-lists.linaro.org</a>&gt;;<b=
r>
&gt; <a href=3D"mailto:virtio-dev@lists.oasis-open.org" target=3D"_blank">v=
irtio-dev@lists.oasis-open.org</a>; Arnd Bergmann &lt;<a href=3D"mailto:arn=
d.bergmann@linaro.org" target=3D"_blank">arnd.bergmann@linaro.org</a>&gt;;<=
br>
&gt; Viresh Kumar &lt;<a href=3D"mailto:viresh.kumar@linaro.org" target=3D"=
_blank">viresh.kumar@linaro.org</a>&gt;; Stefano Stabellini<br>
&gt; &lt;<a href=3D"mailto:stefano.stabellini@xilinx.com" target=3D"_blank"=
>stefano.stabellini@xilinx.com</a>&gt;; <a href=3D"mailto:stefanha@redhat.c=
om" target=3D"_blank">stefanha@redhat.com</a>; Jan Kiszka<br>
&gt; &lt;<a href=3D"mailto:jan.kiszka@siemens.com" target=3D"_blank">jan.ki=
szka@siemens.com</a>&gt;; Carl van Schaik &lt;<a href=3D"mailto:cvanscha@qt=
i.qualcomm.com" target=3D"_blank">cvanscha@qti.qualcomm.com</a>&gt;;<br>
&gt; <a href=3D"mailto:pratikp@quicinc.com" target=3D"_blank">pratikp@quici=
nc.com</a>; Srivatsa Vaddagiri &lt;<a href=3D"mailto:vatsa@codeaurora.org" =
target=3D"_blank">vatsa@codeaurora.org</a>&gt;; Jean-<br>
&gt; Philippe Brucker &lt;<a href=3D"mailto:jean-philippe@linaro.org" targe=
t=3D"_blank">jean-philippe@linaro.org</a>&gt;; Mathieu Poirier<br>
&gt; &lt;<a href=3D"mailto:mathieu.poirier@linaro.org" target=3D"_blank">ma=
thieu.poirier@linaro.org</a>&gt;; Oleksandr Tyshchenko<br>
&gt; &lt;<a href=3D"mailto:Oleksandr_Tyshchenko@epam.com" target=3D"_blank"=
>Oleksandr_Tyshchenko@epam.com</a>&gt;; Bertrand Marquis<br>
&gt; &lt;<a href=3D"mailto:Bertrand.Marquis@arm.com" target=3D"_blank">Bert=
rand.Marquis@arm.com</a>&gt;; Artem Mygaiev &lt;<a href=3D"mailto:Artem_Myg=
aiev@epam.com" target=3D"_blank">Artem_Mygaiev@epam.com</a>&gt;; Julien<br>
&gt; Grall &lt;<a href=3D"mailto:julien@xen.org" target=3D"_blank">julien@x=
en.org</a>&gt;; Juergen Gross &lt;<a href=3D"mailto:jgross@suse.com" target=
=3D"_blank">jgross@suse.com</a>&gt;; Paul Durrant<br>
&gt; &lt;<a href=3D"mailto:paul@xen.org" target=3D"_blank">paul@xen.org</a>=
&gt;; Xen Devel &lt;<a href=3D"mailto:xen-devel@lists.xen.org" target=3D"_b=
lank">xen-devel@lists.xen.org</a>&gt;<br>
&gt; Subject: Re: Enabling hypervisor agnosticism for VirtIO backends<br>
&gt;<br>
&gt; Hi Wei,<br>
&gt;<br>
&gt; On Fri, Aug 20, 2021 at 03:41:50PM +0900, AKASHI Takahiro wrote:<br>
&gt; &gt; On Wed, Aug 18, 2021 at 08:35:51AM +0000, Wei Chen wrote:<br>
&gt; &gt; &gt; Hi Akashi=EF=BC=8C<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; -----Original Message-----<br>
&gt; &gt; &gt; &gt; From: AKASHI Takahiro &lt;<a href=3D"mailto:takahiro.ak=
ashi@linaro.org" target=3D"_blank">takahiro.akashi@linaro.org</a>&gt;<br>
&gt; &gt; &gt; &gt; Sent: 2021=E5=B9=B48=E6=9C=8818=E6=97=A5 13:39<br>
&gt; &gt; &gt; &gt; To: Wei Chen &lt;<a href=3D"mailto:Wei.Chen@arm.com" ta=
rget=3D"_blank">Wei.Chen@arm.com</a>&gt;<br>
&gt; &gt; &gt; &gt; Cc: Oleksandr Tyshchenko &lt;<a href=3D"mailto:olekstys=
h@gmail.com" target=3D"_blank">olekstysh@gmail.com</a>&gt;; Stefano Stabell=
ini<br>
&gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:sstabellini@kernel.org" target=3D=
"_blank">sstabellini@kernel.org</a>&gt;; Alex Benn??e &lt;<a href=3D"mailto=
:alex.bennee@linaro.org" target=3D"_blank">alex.bennee@linaro.org</a>&gt;;<=
br>
&gt; Stratos<br>
&gt; &gt; &gt; &gt; Mailing List &lt;<a href=3D"mailto:stratos-dev@op-lists=
.linaro.org" target=3D"_blank">stratos-dev@op-lists.linaro.org</a>&gt;; vir=
tio-<br>
&gt; dev@lists.oasis-<br>
&gt; &gt; &gt; &gt; <a href=3D"http://open.org" rel=3D"noreferrer" target=
=3D"_blank">open.org</a>; Arnd Bergmann &lt;<a href=3D"mailto:arnd.bergmann=
@linaro.org" target=3D"_blank">arnd.bergmann@linaro.org</a>&gt;; Viresh Kum=
ar<br>
&gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:viresh.kumar@linaro.org" target=
=3D"_blank">viresh.kumar@linaro.org</a>&gt;; Stefano Stabellini<br>
&gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:stefano.stabellini@xilinx.com" ta=
rget=3D"_blank">stefano.stabellini@xilinx.com</a>&gt;; <a href=3D"mailto:st=
efanha@redhat.com" target=3D"_blank">stefanha@redhat.com</a>; Jan Kiszka<br=
>
&gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:jan.kiszka@siemens.com" target=3D=
"_blank">jan.kiszka@siemens.com</a>&gt;; Carl van Schaik<br>
&gt; &lt;<a href=3D"mailto:cvanscha@qti.qualcomm.com" target=3D"_blank">cva=
nscha@qti.qualcomm.com</a>&gt;;<br>
&gt; &gt; &gt; &gt; <a href=3D"mailto:pratikp@quicinc.com" target=3D"_blank=
">pratikp@quicinc.com</a>; Srivatsa Vaddagiri &lt;<a href=3D"mailto:vatsa@c=
odeaurora.org" target=3D"_blank">vatsa@codeaurora.org</a>&gt;;<br>
&gt; Jean-<br>
&gt; &gt; &gt; &gt; Philippe Brucker &lt;<a href=3D"mailto:jean-philippe@li=
naro.org" target=3D"_blank">jean-philippe@linaro.org</a>&gt;; Mathieu Poiri=
er<br>
&gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:mathieu.poirier@linaro.org" targe=
t=3D"_blank">mathieu.poirier@linaro.org</a>&gt;; Oleksandr Tyshchenko<br>
&gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:Oleksandr_Tyshchenko@epam.com" ta=
rget=3D"_blank">Oleksandr_Tyshchenko@epam.com</a>&gt;; Bertrand Marquis<br>
&gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:Bertrand.Marquis@arm.com" target=
=3D"_blank">Bertrand.Marquis@arm.com</a>&gt;; Artem Mygaiev &lt;<a href=3D"=
mailto:Artem_Mygaiev@epam.com" target=3D"_blank">Artem_Mygaiev@epam.com</a>=
&gt;;<br>
&gt; Julien<br>
&gt; &gt; &gt; &gt; Grall &lt;<a href=3D"mailto:julien@xen.org" target=3D"_=
blank">julien@xen.org</a>&gt;; Juergen Gross &lt;<a href=3D"mailto:jgross@s=
use.com" target=3D"_blank">jgross@suse.com</a>&gt;; Paul<br>
&gt; Durrant<br>
&gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:paul@xen.org" target=3D"_blank">p=
aul@xen.org</a>&gt;; Xen Devel &lt;<a href=3D"mailto:xen-devel@lists.xen.or=
g" target=3D"_blank">xen-devel@lists.xen.org</a>&gt;<br>
&gt; &gt; &gt; &gt; Subject: Re: Enabling hypervisor agnosticism for VirtIO=
 backends<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; On Tue, Aug 17, 2021 at 08:39:09AM +0000, Wei Chen wrot=
e:<br>
&gt; &gt; &gt; &gt; &gt; Hi Akashi,<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; -----Original Message-----<br>
&gt; &gt; &gt; &gt; &gt; &gt; From: AKASHI Takahiro &lt;<a href=3D"mailto:t=
akahiro.akashi@linaro.org" target=3D"_blank">takahiro.akashi@linaro.org</a>=
&gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; Sent: 2021=E5=B9=B48=E6=9C=8817=E6=97=A5 16:0=
8<br>
&gt; &gt; &gt; &gt; &gt; &gt; To: Wei Chen &lt;<a href=3D"mailto:Wei.Chen@a=
rm.com" target=3D"_blank">Wei.Chen@arm.com</a>&gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; Cc: Oleksandr Tyshchenko &lt;<a href=3D"mailt=
o:olekstysh@gmail.com" target=3D"_blank">olekstysh@gmail.com</a>&gt;; Stefa=
no<br>
&gt; Stabellini<br>
&gt; &gt; &gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:sstabellini@kernel.org"=
 target=3D"_blank">sstabellini@kernel.org</a>&gt;; Alex Benn??e &lt;<a href=
=3D"mailto:alex.bennee@linaro.org" target=3D"_blank">alex.bennee@linaro.org=
</a>&gt;;<br>
&gt; &gt; &gt; &gt; Stratos<br>
&gt; &gt; &gt; &gt; &gt; &gt; Mailing List &lt;<a href=3D"mailto:stratos-de=
v@op-lists.linaro.org" target=3D"_blank">stratos-dev@op-lists.linaro.org</a=
>&gt;; virtio-<br>
&gt; &gt; &gt; &gt; dev@lists.oasis-<br>
&gt; &gt; &gt; &gt; &gt; &gt; <a href=3D"http://open.org" rel=3D"noreferrer=
" target=3D"_blank">open.org</a>; Arnd Bergmann &lt;<a href=3D"mailto:arnd.=
bergmann@linaro.org" target=3D"_blank">arnd.bergmann@linaro.org</a>&gt;; Vi=
resh Kumar<br>
&gt; &gt; &gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:viresh.kumar@linaro.org=
" target=3D"_blank">viresh.kumar@linaro.org</a>&gt;; Stefano Stabellini<br>
&gt; &gt; &gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:stefano.stabellini@xili=
nx.com" target=3D"_blank">stefano.stabellini@xilinx.com</a>&gt;; <a href=3D=
"mailto:stefanha@redhat.com" target=3D"_blank">stefanha@redhat.com</a>; Jan=
 Kiszka<br>
&gt; &gt; &gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:jan.kiszka@siemens.com"=
 target=3D"_blank">jan.kiszka@siemens.com</a>&gt;; Carl van Schaik<br>
&gt; &lt;<a href=3D"mailto:cvanscha@qti.qualcomm.com" target=3D"_blank">cva=
nscha@qti.qualcomm.com</a>&gt;;<br>
&gt; &gt; &gt; &gt; &gt; &gt; <a href=3D"mailto:pratikp@quicinc.com" target=
=3D"_blank">pratikp@quicinc.com</a>; Srivatsa Vaddagiri &lt;<a href=3D"mail=
to:vatsa@codeaurora.org" target=3D"_blank">vatsa@codeaurora.org</a>&gt;;<br=
>
&gt; Jean-<br>
&gt; &gt; &gt; &gt; &gt; &gt; Philippe Brucker &lt;<a href=3D"mailto:jean-p=
hilippe@linaro.org" target=3D"_blank">jean-philippe@linaro.org</a>&gt;; Mat=
hieu Poirier<br>
&gt; &gt; &gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:mathieu.poirier@linaro.=
org" target=3D"_blank">mathieu.poirier@linaro.org</a>&gt;; Oleksandr Tyshch=
enko<br>
&gt; &gt; &gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:Oleksandr_Tyshchenko@ep=
am.com" target=3D"_blank">Oleksandr_Tyshchenko@epam.com</a>&gt;; Bertrand M=
arquis<br>
&gt; &gt; &gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:Bertrand.Marquis@arm.co=
m" target=3D"_blank">Bertrand.Marquis@arm.com</a>&gt;; Artem Mygaiev<br>
&gt; &lt;<a href=3D"mailto:Artem_Mygaiev@epam.com" target=3D"_blank">Artem_=
Mygaiev@epam.com</a>&gt;;<br>
&gt; &gt; &gt; &gt; Julien<br>
&gt; &gt; &gt; &gt; &gt; &gt; Grall &lt;<a href=3D"mailto:julien@xen.org" t=
arget=3D"_blank">julien@xen.org</a>&gt;; Juergen Gross &lt;<a href=3D"mailt=
o:jgross@suse.com" target=3D"_blank">jgross@suse.com</a>&gt;; Paul<br>
&gt; Durrant<br>
&gt; &gt; &gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:paul@xen.org" target=3D=
"_blank">paul@xen.org</a>&gt;; Xen Devel &lt;<a href=3D"mailto:xen-devel@li=
sts.xen.org" target=3D"_blank">xen-devel@lists.xen.org</a>&gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; Subject: Re: Enabling hypervisor agnosticism =
for VirtIO backends<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; Hi Wei, Oleksandr,<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; On Mon, Aug 16, 2021 at 10:04:03AM +0000, Wei=
 Chen wrote:<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Hi All,<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Thanks for Stefano to link my kvmtool fo=
r Xen proposal here.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; This proposal is still discussing in Xen=
 and KVM communities.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; The main work is to decouple the kvmtool=
 from KVM and make<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; other hypervisors can reuse the virtual =
device implementations.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; In this case, we need to introduce an in=
termediate hypervisor<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; layer for VMM abstraction, Which is, I t=
hink it&#39;s very close<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; to stratos&#39; virtio hypervisor agnost=
icism work.<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; # My proposal[1] comes from my own idea and d=
oesn&#39;t always<br>
&gt; represent<br>
&gt; &gt; &gt; &gt; &gt; &gt; # Linaro&#39;s view on this subject nor refle=
ct Alex&#39;s concerns.<br>
&gt; &gt; &gt; &gt; Nevertheless,<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; Your idea and my proposal seem to share the s=
ame background.<br>
&gt; &gt; &gt; &gt; &gt; &gt; Both have the similar goal and currently star=
t with, at first,<br>
&gt; Xen<br>
&gt; &gt; &gt; &gt; &gt; &gt; and are based on kvm-tool. (Actually, my work=
 is derived from<br>
&gt; &gt; &gt; &gt; &gt; &gt; EPAM&#39;s virtio-disk, which is also based o=
n kvm-tool.)<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; In particular, the abstraction of hypervisor =
interfaces has a<br>
&gt; same<br>
&gt; &gt; &gt; &gt; &gt; &gt; set of interfaces (for your &quot;struct vmm_=
impl&quot; and my &quot;RPC<br>
&gt; interfaces&quot;).<br>
&gt; &gt; &gt; &gt; &gt; &gt; This is not co-incident as we both share the =
same origin as I<br>
&gt; said<br>
&gt; &gt; &gt; &gt; above.<br>
&gt; &gt; &gt; &gt; &gt; &gt; And so we will also share the same issues. On=
e of them is a way<br>
&gt; of<br>
&gt; &gt; &gt; &gt; &gt; &gt; &quot;sharing/mapping FE&#39;s memory&quot;. =
There is some trade-off between<br>
&gt; &gt; &gt; &gt; &gt; &gt; the portability and the performance impact.<b=
r>
&gt; &gt; &gt; &gt; &gt; &gt; So we can discuss the topic here in this ML, =
too.<br>
&gt; &gt; &gt; &gt; &gt; &gt; (See Alex&#39;s original email, too).<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; Yes, I agree.<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; On the other hand, my approach aims to create=
 a &quot;single-binary&quot;<br>
&gt; &gt; &gt; &gt; solution<br>
&gt; &gt; &gt; &gt; &gt; &gt; in which the same binary of BE vm could run o=
n any hypervisors.<br>
&gt; &gt; &gt; &gt; &gt; &gt; Somehow similar to your &quot;proposal-#2&quo=
t; in [2], but in my solution,<br>
&gt; all<br>
&gt; &gt; &gt; &gt; &gt; &gt; the hypervisor-specific code would be put int=
o another entity<br>
&gt; (VM),<br>
&gt; &gt; &gt; &gt; &gt; &gt; named &quot;virtio-proxy&quot; and the abstra=
cted operations are served<br>
&gt; via RPC.<br>
&gt; &gt; &gt; &gt; &gt; &gt; (In this sense, BE is hypervisor-agnostic but=
 might have OS<br>
&gt; &gt; &gt; &gt; dependency.)<br>
&gt; &gt; &gt; &gt; &gt; &gt; But I know that we need discuss if this is a =
requirement even<br>
&gt; &gt; &gt; &gt; &gt; &gt; in Stratos project or not. (Maybe not)<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; Sorry, I haven&#39;t had time to finish reading yo=
ur virtio-proxy<br>
&gt; completely<br>
&gt; &gt; &gt; &gt; &gt; (I will do it ASAP). But from your description, it=
 seems we need a<br>
&gt; &gt; &gt; &gt; &gt; 3rd VM between FE and BE? My concern is that, if m=
y assumption is<br>
&gt; right,<br>
&gt; &gt; &gt; &gt; &gt; will it increase the latency in data transport pat=
h? Even if we&#39;re<br>
&gt; &gt; &gt; &gt; &gt; using some lightweight guest like RTOS or Unikerne=
l,<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Yes, you&#39;re right. But I&#39;m afraid that it is a =
matter of degree.<br>
&gt; &gt; &gt; &gt; As far as we execute &#39;mapping&#39; operations at ev=
ery fetch of payload,<br>
&gt; &gt; &gt; &gt; we will see latency issue (even in your case) and if we=
 have some<br>
&gt; solution<br>
&gt; &gt; &gt; &gt; for it, we won&#39;t see it neither in my proposal :)<b=
r>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Oleksandr has sent a proposal to Xen mailing list to reduce =
this kind<br>
&gt; &gt; &gt; of &quot;mapping/unmapping&quot; operations. So the latency =
caused by this<br>
&gt; behavior<br>
&gt; &gt; &gt; on Xen may eventually be eliminated, and Linux-KVM doesn&#39=
;t have that<br>
&gt; problem.<br>
&gt; &gt;<br>
&gt; &gt; Obviously, I have not yet caught up there in the discussion.<br>
&gt; &gt; Which patch specifically?<br>
&gt;<br>
&gt; Can you give me the link to the discussion or patch, please?<br>
&gt;<br>
<br>
It&#39;s a RFC discussion. We have tested this RFC patch internally.<br>
<a href=3D"https://lists.xenproject.org/archives/html/xen-devel/2021-07/msg=
01532.html" rel=3D"noreferrer" target=3D"_blank">https://lists.xenproject.o=
rg/archives/html/xen-devel/2021-07/msg01532.html</a><br>
<br>
&gt; Thanks,<br>
&gt; -Takahiro Akashi<br>
&gt;<br>
&gt; &gt; -Takahiro Akashi<br>
&gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; Specifically speaking about kvm-tool, I have =
a concern about its<br>
&gt; &gt; &gt; &gt; &gt; &gt; license term; Targeting different hypervisors=
 and different OSs<br>
&gt; &gt; &gt; &gt; &gt; &gt; (which I assume includes RTOS&#39;s), the res=
ultant library should<br>
&gt; be<br>
&gt; &gt; &gt; &gt; &gt; &gt; license permissive and GPL for kvm-tool might=
 be an issue.<br>
&gt; &gt; &gt; &gt; &gt; &gt; Any thoughts?<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; Yes. If user want to implement a FreeBSD device mo=
del, but the<br>
&gt; virtio<br>
&gt; &gt; &gt; &gt; &gt; library is GPL. Then GPL would be a problem. If we=
 have another<br>
&gt; good<br>
&gt; &gt; &gt; &gt; &gt; candidate, I am open to it.<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; I have some candidates, particularly for vq/vring, in m=
y mind:<br>
&gt; &gt; &gt; &gt; * Open-AMP, or<br>
&gt; &gt; &gt; &gt; * corresponding Free-BSD code<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Interesting, I will look into them : )<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Cheers,<br>
&gt; &gt; &gt; Wei Chen<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; -Takahiro Akashi<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; -Takahiro Akashi<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; [1] <a href=3D"https://op-lists.linaro.org/pi=
permail/stratos-dev/2021-" rel=3D"noreferrer" target=3D"_blank">https://op-=
lists.linaro.org/pipermail/stratos-dev/2021-</a><br>
&gt; &gt; &gt; &gt; &gt; &gt; August/000548.html<br>
&gt; &gt; &gt; &gt; &gt; &gt; [2] <a href=3D"https://marc.info/?l=3Dxen-dev=
el&amp;m=3D162373754705233&amp;w=3D2" rel=3D"noreferrer" target=3D"_blank">=
https://marc.info/?l=3Dxen-devel&amp;m=3D162373754705233&amp;w=3D2</a><br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; From: Oleksandr Tyshchenko &lt;<a h=
ref=3D"mailto:olekstysh@gmail.com" target=3D"_blank">olekstysh@gmail.com</a=
>&gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Sent: 2021=E5=B9=B48=E6=9C=8814=E6=
=97=A5 23:38<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; To: AKASHI Takahiro &lt;<a href=3D"=
mailto:takahiro.akashi@linaro.org" target=3D"_blank">takahiro.akashi@linaro=
.org</a>&gt;; Stefano<br>
&gt; &gt; &gt; &gt; Stabellini<br>
&gt; &gt; &gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:sstabellini@kernel.org"=
 target=3D"_blank">sstabellini@kernel.org</a>&gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Cc: Alex Benn??e &lt;<a href=3D"mai=
lto:alex.bennee@linaro.org" target=3D"_blank">alex.bennee@linaro.org</a>&gt=
;; Stratos Mailing<br>
&gt; List<br>
&gt; &gt; &gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:stratos-dev@op-lists.li=
naro.org" target=3D"_blank">stratos-dev@op-lists.linaro.org</a>&gt;; virtio=
-dev@lists.oasis-<br>
&gt; <a href=3D"http://open.org" rel=3D"noreferrer" target=3D"_blank">open.=
org</a>;<br>
&gt; &gt; &gt; &gt; Arnd<br>
&gt; &gt; &gt; &gt; &gt; &gt; Bergmann &lt;<a href=3D"mailto:arnd.bergmann@=
linaro.org" target=3D"_blank">arnd.bergmann@linaro.org</a>&gt;; Viresh Kuma=
r<br>
&gt; &gt; &gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:viresh.kumar@linaro.org=
" target=3D"_blank">viresh.kumar@linaro.org</a>&gt;; Stefano Stabellini<br>
&gt; &gt; &gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:stefano.stabellini@xili=
nx.com" target=3D"_blank">stefano.stabellini@xilinx.com</a>&gt;; <a href=3D=
"mailto:stefanha@redhat.com" target=3D"_blank">stefanha@redhat.com</a>; Jan=
 Kiszka<br>
&gt; &gt; &gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:jan.kiszka@siemens.com"=
 target=3D"_blank">jan.kiszka@siemens.com</a>&gt;; Carl van Schaik<br>
&gt; &lt;<a href=3D"mailto:cvanscha@qti.qualcomm.com" target=3D"_blank">cva=
nscha@qti.qualcomm.com</a>&gt;;<br>
&gt; &gt; &gt; &gt; &gt; &gt; <a href=3D"mailto:pratikp@quicinc.com" target=
=3D"_blank">pratikp@quicinc.com</a>; Srivatsa Vaddagiri &lt;<a href=3D"mail=
to:vatsa@codeaurora.org" target=3D"_blank">vatsa@codeaurora.org</a>&gt;;<br=
>
&gt; Jean-<br>
&gt; &gt; &gt; &gt; &gt; &gt; Philippe Brucker &lt;<a href=3D"mailto:jean-p=
hilippe@linaro.org" target=3D"_blank">jean-philippe@linaro.org</a>&gt;; Mat=
hieu Poirier<br>
&gt; &gt; &gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:mathieu.poirier@linaro.=
org" target=3D"_blank">mathieu.poirier@linaro.org</a>&gt;; Wei Chen &lt;<a =
href=3D"mailto:Wei.Chen@arm.com" target=3D"_blank">Wei.Chen@arm.com</a>&gt;=
;<br>
&gt; Oleksandr<br>
&gt; &gt; &gt; &gt; &gt; &gt; Tyshchenko &lt;<a href=3D"mailto:Oleksandr_Ty=
shchenko@epam.com" target=3D"_blank">Oleksandr_Tyshchenko@epam.com</a>&gt;;=
 Bertrand Marquis<br>
&gt; &gt; &gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:Bertrand.Marquis@arm.co=
m" target=3D"_blank">Bertrand.Marquis@arm.com</a>&gt;; Artem Mygaiev<br>
&gt; &lt;<a href=3D"mailto:Artem_Mygaiev@epam.com" target=3D"_blank">Artem_=
Mygaiev@epam.com</a>&gt;;<br>
&gt; &gt; &gt; &gt; Julien<br>
&gt; &gt; &gt; &gt; &gt; &gt; Grall &lt;<a href=3D"mailto:julien@xen.org" t=
arget=3D"_blank">julien@xen.org</a>&gt;; Juergen Gross &lt;<a href=3D"mailt=
o:jgross@suse.com" target=3D"_blank">jgross@suse.com</a>&gt;; Paul<br>
&gt; Durrant<br>
&gt; &gt; &gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:paul@xen.org" target=3D=
"_blank">paul@xen.org</a>&gt;; Xen Devel &lt;<a href=3D"mailto:xen-devel@li=
sts.xen.org" target=3D"_blank">xen-devel@lists.xen.org</a>&gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Subject: Re: Enabling hypervisor ag=
nosticism for VirtIO<br>
&gt; backends<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Hello, all.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Please see some comments below. And=
 sorry for the possible<br>
&gt; format<br>
&gt; &gt; &gt; &gt; &gt; &gt; issues.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; On Wed, Aug 11, 2021 at 9:27 A=
M AKASHI Takahiro<br>
&gt; &gt; &gt; &gt; &gt; &gt; &lt;mailto:<a href=3D"mailto:takahiro.akashi@=
linaro.org" target=3D"_blank">takahiro.akashi@linaro.org</a>&gt; wrote:<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; On Wed, Aug 04, 2021 at 12:20:=
01PM -0700, Stefano<br>
&gt; Stabellini<br>
&gt; &gt; &gt; &gt; wrote:<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; CCing people working on X=
en+VirtIO and IOREQs. Not<br>
&gt; trimming<br>
&gt; &gt; &gt; &gt; the<br>
&gt; &gt; &gt; &gt; &gt; &gt; original<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; email to let them read th=
e full context.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; My comments below are rel=
ated to a potential Xen<br>
&gt; &gt; &gt; &gt; implementation,<br>
&gt; &gt; &gt; &gt; &gt; &gt; not<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; because it is the only im=
plementation that matters, but<br>
&gt; &gt; &gt; &gt; because it<br>
&gt; &gt; &gt; &gt; &gt; &gt; is<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; the one I know best.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Please note that my proposal (=
and hence the working<br>
&gt; prototype)[1]<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; is based on Xen&#39;s virtio i=
mplementation (i.e. IOREQ) and<br>
&gt; &gt; &gt; &gt; &gt; &gt; particularly<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; EPAM&#39;s virtio-disk applica=
tion (backend server).<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; It has been, I believe, well g=
eneralized but is still a<br>
&gt; bit<br>
&gt; &gt; &gt; &gt; biased<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; toward this original design.<b=
r>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; So I hope you like my approach=
 :)<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; [1] <a href=3D"https://op-list=
s.linaro.org/pipermail/stratos-" rel=3D"noreferrer" target=3D"_blank">https=
://op-lists.linaro.org/pipermail/stratos-</a><br>
&gt; dev/2021-<br>
&gt; &gt; &gt; &gt; &gt; &gt; August/000546.html<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Let me take this opportunity t=
o explain a bit more about<br>
&gt; my<br>
&gt; &gt; &gt; &gt; approach<br>
&gt; &gt; &gt; &gt; &gt; &gt; below.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Also, please see this rel=
evant email thread:<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; <a href=3D"https://marc.i=
nfo/?l=3Dxen-devel&amp;m=3D162373754705233&amp;w=3D2" rel=3D"noreferrer" ta=
rget=3D"_blank">https://marc.info/?l=3Dxen-devel&amp;m=3D162373754705233&am=
p;w=3D2</a><br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; On Wed, 4 Aug 2021, Alex =
Benn=C3=A9e wrote:<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Hi,<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; One of the goals of =
Project Stratos is to enable<br>
&gt; hypervisor<br>
&gt; &gt; &gt; &gt; &gt; &gt; agnostic<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; backends so we can e=
nable as much re-use of code as<br>
&gt; possible<br>
&gt; &gt; &gt; &gt; and<br>
&gt; &gt; &gt; &gt; &gt; &gt; avoid<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; repeating ourselves.=
 This is the flip side of the<br>
&gt; front end<br>
&gt; &gt; &gt; &gt; &gt; &gt; where<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; multiple front-end i=
mplementations are required - one<br>
&gt; per OS,<br>
&gt; &gt; &gt; &gt; &gt; &gt; assuming<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; you don&#39;t just w=
ant Linux guests. The resultant guests<br>
&gt; are<br>
&gt; &gt; &gt; &gt; &gt; &gt; trivially<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; movable between hype=
rvisors modulo any abstracted<br>
&gt; paravirt<br>
&gt; &gt; &gt; &gt; type<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; interfaces.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; In my original thumb=
 nail sketch of a solution I<br>
&gt; envisioned<br>
&gt; &gt; &gt; &gt; &gt; &gt; vhost-user<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; daemons running in a=
 broadly POSIX like environment.<br>
&gt; The<br>
&gt; &gt; &gt; &gt; &gt; &gt; interface to<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; the daemon is fairly=
 simple requiring only some mapped<br>
&gt; &gt; &gt; &gt; memory<br>
&gt; &gt; &gt; &gt; &gt; &gt; and some<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; sort of signalling f=
or events (on Linux this is<br>
&gt; eventfd).<br>
&gt; &gt; &gt; &gt; The<br>
&gt; &gt; &gt; &gt; &gt; &gt; idea was a<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; stub binary would be=
 responsible for any hypervisor<br>
&gt; specific<br>
&gt; &gt; &gt; &gt; &gt; &gt; setup and<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; then launch a common=
 binary to deal with the actual<br>
&gt; &gt; &gt; &gt; virtqueue<br>
&gt; &gt; &gt; &gt; &gt; &gt; requests<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; themselves.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Since that original =
sketch we&#39;ve seen an expansion in<br>
&gt; the<br>
&gt; &gt; &gt; &gt; sort<br>
&gt; &gt; &gt; &gt; &gt; &gt; of ways<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; backends could be cr=
eated. There is interest in<br>
&gt; &gt; &gt; &gt; encapsulating<br>
&gt; &gt; &gt; &gt; &gt; &gt; backends<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; in RTOSes or unikern=
els for solutions like SCMI. There<br>
&gt; &gt; &gt; &gt; interest<br>
&gt; &gt; &gt; &gt; &gt; &gt; in Rust<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; has prompted ideas o=
f using the trait interface to<br>
&gt; abstract<br>
&gt; &gt; &gt; &gt; &gt; &gt; differences<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; away as well as the =
idea of bare-metal Rust backends.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; We have a card (STR-=
12) called &quot;Hypercall<br>
&gt; Standardisation&quot;<br>
&gt; &gt; &gt; &gt; which<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; calls for a descript=
ion of the APIs needed from the<br>
&gt; &gt; &gt; &gt; hypervisor<br>
&gt; &gt; &gt; &gt; &gt; &gt; side to<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; support VirtIO guest=
s and their backends. However we<br>
&gt; are<br>
&gt; &gt; &gt; &gt; some<br>
&gt; &gt; &gt; &gt; &gt; &gt; way off<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; from that at the mom=
ent as I think we need to at least<br>
&gt; &gt; &gt; &gt; &gt; &gt; demonstrate one<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; portable backend bef=
ore we start codifying<br>
&gt; requirements. To<br>
&gt; &gt; &gt; &gt; that<br>
&gt; &gt; &gt; &gt; &gt; &gt; end I<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; want to think about =
what we need for a backend to<br>
&gt; function.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Configuration<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; =3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; In the type-2 setup =
this is typically fairly simple<br>
&gt; because<br>
&gt; &gt; &gt; &gt; the<br>
&gt; &gt; &gt; &gt; &gt; &gt; host<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; system can orchestra=
te the various modules that make<br>
&gt; up the<br>
&gt; &gt; &gt; &gt; &gt; &gt; complete<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; system. In the type-=
1 case (or even type-2 with<br>
&gt; delegated<br>
&gt; &gt; &gt; &gt; &gt; &gt; service VMs)<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; we need some sort of=
 mechanism to inform the backend<br>
&gt; VM<br>
&gt; &gt; &gt; &gt; about<br>
&gt; &gt; &gt; &gt; &gt; &gt; key<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; details about the sy=
stem:<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0- where =
virt queue memory is in it&#39;s address space<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0- how it=
&#39;s going to receive (interrupt) and trigger<br>
&gt; (kick)<br>
&gt; &gt; &gt; &gt; &gt; &gt; events<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0- what (=
if any) resources the backend needs to<br>
&gt; connect to<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Obviously you can el=
ide over configuration issues by<br>
&gt; having<br>
&gt; &gt; &gt; &gt; &gt; &gt; static<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; configurations and b=
aking the assumptions into your<br>
&gt; guest<br>
&gt; &gt; &gt; &gt; images<br>
&gt; &gt; &gt; &gt; &gt; &gt; however<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; this isn&#39;t scala=
ble in the long term. The obvious<br>
&gt; solution<br>
&gt; &gt; &gt; &gt; seems<br>
&gt; &gt; &gt; &gt; &gt; &gt; to be<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; extending a subset o=
f Device Tree data to user space<br>
&gt; but<br>
&gt; &gt; &gt; &gt; perhaps<br>
&gt; &gt; &gt; &gt; &gt; &gt; there<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; are other approaches=
?<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Before any virtio tr=
ansactions can take place the<br>
&gt; &gt; &gt; &gt; appropriate<br>
&gt; &gt; &gt; &gt; &gt; &gt; memory<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; mappings need to be =
made between the FE guest and the<br>
&gt; BE<br>
&gt; &gt; &gt; &gt; guest.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Currently the whole =
of the FE guests address space<br>
&gt; needs to<br>
&gt; &gt; &gt; &gt; be<br>
&gt; &gt; &gt; &gt; &gt; &gt; visible<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; to whatever is servi=
ng the virtio requests. I can<br>
&gt; envision 3<br>
&gt; &gt; &gt; &gt; &gt; &gt; approaches:<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 * BE guest boo=
ts with memory already mapped<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 This would ent=
ail the guest OS knowing where in it&#39;s<br>
&gt; Guest<br>
&gt; &gt; &gt; &gt; &gt; &gt; Physical<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 Address space =
is already taken up and avoiding<br>
&gt; clashing. I<br>
&gt; &gt; &gt; &gt; &gt; &gt; would assume<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 in this case y=
ou would want a standard interface to<br>
&gt; &gt; &gt; &gt; userspace<br>
&gt; &gt; &gt; &gt; &gt; &gt; to then<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 make that addr=
ess space visible to the backend daemon.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Yet another way here is that w=
e would have well known<br>
&gt; &quot;shared<br>
&gt; &gt; &gt; &gt; &gt; &gt; memory&quot; between<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; VMs. I think that Jailhouse&#3=
9;s ivshmem gives us good<br>
&gt; insights on<br>
&gt; &gt; &gt; &gt; this<br>
&gt; &gt; &gt; &gt; &gt; &gt; matter<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; and that it can even be an alt=
ernative for hypervisor-<br>
&gt; agnostic<br>
&gt; &gt; &gt; &gt; &gt; &gt; solution.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; (Please note memory regions in=
 ivshmem appear as a PCI<br>
&gt; device<br>
&gt; &gt; &gt; &gt; and<br>
&gt; &gt; &gt; &gt; &gt; &gt; can be<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; mapped locally.)<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; I want to add this shared memo=
ry aspect to my virtio-proxy,<br>
&gt; but<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; the resultant solution would e=
ventually look similar to<br>
&gt; ivshmem.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 * BE guests bo=
ots with a hypervisor handle to memory<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 The BE guest i=
s then free to map the FE&#39;s memory to<br>
&gt; where<br>
&gt; &gt; &gt; &gt; it<br>
&gt; &gt; &gt; &gt; &gt; &gt; wants in<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 the BE&#39;s g=
uest physical address space.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; I cannot see how this cou=
ld work for Xen. There is no<br>
&gt; &quot;handle&quot;<br>
&gt; &gt; &gt; &gt; to<br>
&gt; &gt; &gt; &gt; &gt; &gt; give<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; to the backend if the bac=
kend is not running in dom0. So<br>
&gt; for<br>
&gt; &gt; &gt; &gt; Xen I<br>
&gt; &gt; &gt; &gt; &gt; &gt; think<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; the memory has to be alre=
ady mapped<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; In Xen&#39;s IOREQ solution (v=
irtio-blk), the following<br>
&gt; information<br>
&gt; &gt; &gt; &gt; is<br>
&gt; &gt; &gt; &gt; &gt; &gt; expected<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; to be exposed to BE via Xensto=
re:<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; (I know that this is a tentati=
ve approach though.)<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 - the start addre=
ss of configuration space<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 - interrupt numbe=
r<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 - file path for b=
acking storage<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 - read-only flag<=
br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; And the BE server have to call=
 a particular hypervisor<br>
&gt; interface<br>
&gt; &gt; &gt; &gt; to<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; map the configuration space.<b=
r>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Yes, Xenstore was chosen as a simpl=
e way to pass<br>
&gt; configuration<br>
&gt; &gt; &gt; &gt; info to<br>
&gt; &gt; &gt; &gt; &gt; &gt; the backend running in a non-toolstack domain=
.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; I remember, there was a wish to avo=
id using Xenstore in<br>
&gt; Virtio<br>
&gt; &gt; &gt; &gt; backend<br>
&gt; &gt; &gt; &gt; &gt; &gt; itself if possible, so for non-toolstack doma=
in, this could done<br>
&gt; with<br>
&gt; &gt; &gt; &gt; &gt; &gt; adjusting devd (daemon that listens for devic=
es and launches<br>
&gt; backends)<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; to read backend configuration from =
the Xenstore anyway and<br>
&gt; pass it<br>
&gt; &gt; &gt; &gt; to<br>
&gt; &gt; &gt; &gt; &gt; &gt; the backend via command line arguments.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Yes, in current PoC code we&#39;re using=
 xenstore to pass device<br>
&gt; &gt; &gt; &gt; &gt; &gt; configuration.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; We also designed a static device configu=
ration parse method<br>
&gt; for<br>
&gt; &gt; &gt; &gt; Dom0less<br>
&gt; &gt; &gt; &gt; &gt; &gt; or<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; other scenarios don&#39;t have xentool. =
yes, it&#39;s from device<br>
&gt; model<br>
&gt; &gt; &gt; &gt; command<br>
&gt; &gt; &gt; &gt; &gt; &gt; line<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; or a config file.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; But, if ...<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; In my approach (virtio-proxy),=
 all those Xen (or<br>
&gt; hypervisor)-<br>
&gt; &gt; &gt; &gt; &gt; &gt; specific<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; stuffs are contained in virtio=
-proxy, yet another VM, to<br>
&gt; hide<br>
&gt; &gt; &gt; &gt; all<br>
&gt; &gt; &gt; &gt; &gt; &gt; details.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; ... the solution how to overcome th=
at is already found and<br>
&gt; proven<br>
&gt; &gt; &gt; &gt; to<br>
&gt; &gt; &gt; &gt; &gt; &gt; work then even better.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; # My point is that a &quot;han=
dle&quot; is not mandatory for<br>
&gt; executing<br>
&gt; &gt; &gt; &gt; mapping.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; and the mapping probably =
done by the<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; toolstack (also see below=
.) Or we would have to invent a<br>
&gt; new<br>
&gt; &gt; &gt; &gt; Xen<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; hypervisor interface and =
Xen virtual machine privileges<br>
&gt; to<br>
&gt; &gt; &gt; &gt; allow<br>
&gt; &gt; &gt; &gt; &gt; &gt; this<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; kind of mapping.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; If we run the backend in =
Dom0 that we have no problems<br>
&gt; of<br>
&gt; &gt; &gt; &gt; course.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; One of difficulties on Xen tha=
t I found in my approach is<br>
&gt; that<br>
&gt; &gt; &gt; &gt; &gt; &gt; calling<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; such hypervisor intefaces (reg=
istering IOREQ, mapping<br>
&gt; memory) is<br>
&gt; &gt; &gt; &gt; &gt; &gt; only<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; allowed on BE servers themselv=
ies and so we will have to<br>
&gt; extend<br>
&gt; &gt; &gt; &gt; &gt; &gt; those<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; interfaces.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; This, however, will raise some=
 concern on security and<br>
&gt; privilege<br>
&gt; &gt; &gt; &gt; &gt; &gt; distribution<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; as Stefan suggested.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; We also faced policy related issues=
 with Virtio backend<br>
&gt; running in<br>
&gt; &gt; &gt; &gt; &gt; &gt; other than Dom0 domain in a &quot;dummy&quot;=
 xsm mode. In our target<br>
&gt; system we<br>
&gt; &gt; &gt; &gt; run<br>
&gt; &gt; &gt; &gt; &gt; &gt; the backend in a driver<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; domain (we call it DomD) where the =
underlying H/W resides.<br>
&gt; We<br>
&gt; &gt; &gt; &gt; trust it,<br>
&gt; &gt; &gt; &gt; &gt; &gt; so we wrote policy rules (to be used in &quot=
;flask&quot; xsm mode) to<br>
&gt; provide<br>
&gt; &gt; &gt; &gt; it<br>
&gt; &gt; &gt; &gt; &gt; &gt; with a little bit more privileges than a simp=
le DomU had.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Now it is permitted to issue device=
-model, resource and<br>
&gt; memory<br>
&gt; &gt; &gt; &gt; &gt; &gt; mappings, etc calls.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; To activate the mapp=
ing will<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 require some s=
ort of hypercall to the hypervisor. I<br>
&gt; can see<br>
&gt; &gt; &gt; &gt; two<br>
&gt; &gt; &gt; &gt; &gt; &gt; options<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 at this point:=
<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0- expose=
 the handle to userspace for daemon/helper<br>
&gt; to<br>
&gt; &gt; &gt; &gt; trigger<br>
&gt; &gt; &gt; &gt; &gt; &gt; the<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0m=
apping via existing hypercall interfaces. If<br>
&gt; using a<br>
&gt; &gt; &gt; &gt; helper<br>
&gt; &gt; &gt; &gt; &gt; &gt; you<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0w=
ould have a hypervisor specific one to avoid the<br>
&gt; daemon<br>
&gt; &gt; &gt; &gt; &gt; &gt; having to<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0c=
are too much about the details or push that<br>
&gt; complexity<br>
&gt; &gt; &gt; &gt; into<br>
&gt; &gt; &gt; &gt; &gt; &gt; a<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0c=
ompile time option for the daemon which would<br>
&gt; result in<br>
&gt; &gt; &gt; &gt; &gt; &gt; different<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0b=
inaries although a common source base.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0- expose=
 a new kernel ABI to abstract the hypercall<br>
&gt; &gt; &gt; &gt; &gt; &gt; differences away<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0i=
n the guest kernel. In this case the userspace<br>
&gt; would<br>
&gt; &gt; &gt; &gt; &gt; &gt; essentially<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0a=
sk for an abstract &quot;map guest N memory to<br>
&gt; userspace<br>
&gt; &gt; &gt; &gt; ptr&quot;<br>
&gt; &gt; &gt; &gt; &gt; &gt; and let<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0t=
he kernel deal with the different hypercall<br>
&gt; interfaces.<br>
&gt; &gt; &gt; &gt; &gt; &gt; This of<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0c=
ourse assumes the majority of BE guests would be<br>
&gt; Linux<br>
&gt; &gt; &gt; &gt; &gt; &gt; kernels and<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0l=
eaves the bare-metal/unikernel approaches to<br>
&gt; their own<br>
&gt; &gt; &gt; &gt; &gt; &gt; devices.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Operation<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; =3D=3D=3D=3D=3D=3D=
=3D=3D=3D<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; The core of the oper=
ation of VirtIO is fairly simple.<br>
&gt; Once<br>
&gt; &gt; &gt; &gt; the<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; vhost-user feature n=
egotiation is done it&#39;s a case of<br>
&gt; &gt; &gt; &gt; receiving<br>
&gt; &gt; &gt; &gt; &gt; &gt; update<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; events and parsing t=
he resultant virt queue for data.<br>
&gt; The<br>
&gt; &gt; &gt; &gt; vhost-<br>
&gt; &gt; &gt; &gt; &gt; &gt; user<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; specification handle=
s a bunch of setup before that<br>
&gt; point,<br>
&gt; &gt; &gt; &gt; mostly<br>
&gt; &gt; &gt; &gt; &gt; &gt; to<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; detail where the vir=
t queues are set up FD&#39;s for<br>
&gt; memory and<br>
&gt; &gt; &gt; &gt; &gt; &gt; event<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; communication. This =
is where the envisioned stub<br>
&gt; process<br>
&gt; &gt; &gt; &gt; would<br>
&gt; &gt; &gt; &gt; &gt; &gt; be<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; responsible for gett=
ing the daemon up and ready to run.<br>
&gt; This<br>
&gt; &gt; &gt; &gt; is<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; currently done insid=
e a big VMM like QEMU but I<br>
&gt; suspect a<br>
&gt; &gt; &gt; &gt; modern<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; approach would be to=
 use the rust-vmm vhost crate. It<br>
&gt; would<br>
&gt; &gt; &gt; &gt; then<br>
&gt; &gt; &gt; &gt; &gt; &gt; either<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; communicate with the=
 kernel&#39;s abstracted ABI or be re-<br>
&gt; &gt; &gt; &gt; targeted<br>
&gt; &gt; &gt; &gt; &gt; &gt; as a<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; build option for the=
 various hypervisors.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; One thing I mentioned bef=
ore to Alex is that Xen doesn&#39;t<br>
&gt; have<br>
&gt; &gt; &gt; &gt; VMMs<br>
&gt; &gt; &gt; &gt; &gt; &gt; the<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; way they are typically en=
visioned and described in other<br>
&gt; &gt; &gt; &gt; &gt; &gt; environments.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Instead, Xen has IOREQ se=
rvers. Each of them connects<br>
&gt; &gt; &gt; &gt; &gt; &gt; independently to<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Xen via the IOREQ interfa=
ce. E.g. today multiple QEMUs<br>
&gt; could<br>
&gt; &gt; &gt; &gt; be<br>
&gt; &gt; &gt; &gt; &gt; &gt; used as<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; emulators for a single Xe=
n VM, each of them connecting<br>
&gt; to Xen<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; independently via the IOR=
EQ interface.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; The component responsible=
 for starting a daemon and/or<br>
&gt; setting<br>
&gt; &gt; &gt; &gt; up<br>
&gt; &gt; &gt; &gt; &gt; &gt; shared<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; interfaces is the toolsta=
ck: the xl command and the<br>
&gt; &gt; &gt; &gt; libxl/libxc<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; libraries.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; I think that VM configuration =
management (or orchestration<br>
&gt; in<br>
&gt; &gt; &gt; &gt; &gt; &gt; Startos<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; jargon?) is a subject to debat=
e in parallel.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Otherwise, is there any good a=
ssumption to avoid it right<br>
&gt; now?<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Oleksandr and others I CC=
ed have been working on ways<br>
&gt; for the<br>
&gt; &gt; &gt; &gt; &gt; &gt; toolstack<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; to create virtio backends=
 and setup memory mappings.<br>
&gt; They<br>
&gt; &gt; &gt; &gt; might be<br>
&gt; &gt; &gt; &gt; &gt; &gt; able<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; to provide more info on t=
he subject. I do think we miss<br>
&gt; a way<br>
&gt; &gt; &gt; &gt; to<br>
&gt; &gt; &gt; &gt; &gt; &gt; provide<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; the configuration to the =
backend and anything else that<br>
&gt; the<br>
&gt; &gt; &gt; &gt; &gt; &gt; backend<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; might require to start do=
ing its job.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Yes, some work has been done for th=
e toolstack to handle<br>
&gt; Virtio<br>
&gt; &gt; &gt; &gt; MMIO<br>
&gt; &gt; &gt; &gt; &gt; &gt; devices in<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; general and Virtio block devices in=
 particular. However, it<br>
&gt; has<br>
&gt; &gt; &gt; &gt; not<br>
&gt; &gt; &gt; &gt; &gt; &gt; been upstreaned yet.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Updated patches on review now:<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; <a href=3D"https://lore.kernel.org/=
xen-devel/1621626361-29076-1-git-" rel=3D"noreferrer" target=3D"_blank">htt=
ps://lore.kernel.org/xen-devel/1621626361-29076-1-git-</a><br>
&gt; send-<br>
&gt; &gt; &gt; &gt; email-<br>
&gt; &gt; &gt; &gt; &gt; &gt; <a href=3D"http://olekstysh@gmail.com/" rel=
=3D"noreferrer" target=3D"_blank">olekstysh@gmail.com/</a><br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; There is an additional (also import=
ant) activity to<br>
&gt; improve/fix<br>
&gt; &gt; &gt; &gt; &gt; &gt; foreign memory mapping on Arm which I am also=
 involved in.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; The foreign memory mapping is propo=
sed to be used for Virtio<br>
&gt; &gt; &gt; &gt; backends<br>
&gt; &gt; &gt; &gt; &gt; &gt; (device emulators) if there is a need to run =
guest OS completely<br>
&gt; &gt; &gt; &gt; &gt; &gt; unmodified.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Of course, the more secure way woul=
d be to use grant memory<br>
&gt; &gt; &gt; &gt; mapping.<br>
&gt; &gt; &gt; &gt; &gt; &gt; Brietly, the main difference between them is =
that with foreign<br>
&gt; mapping<br>
&gt; &gt; &gt; &gt; the<br>
&gt; &gt; &gt; &gt; &gt; &gt; backend<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; can map any guest memory it wants t=
o map, but with grant<br>
&gt; mapping<br>
&gt; &gt; &gt; &gt; it is<br>
&gt; &gt; &gt; &gt; &gt; &gt; allowed to map only what was previously grant=
ed by the frontend.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; So, there might be a problem if we =
want to pre-map some<br>
&gt; guest<br>
&gt; &gt; &gt; &gt; memory<br>
&gt; &gt; &gt; &gt; &gt; &gt; in advance or to cache mappings in the backen=
d in order to<br>
&gt; improve<br>
&gt; &gt; &gt; &gt; &gt; &gt; performance (because the mapping/unmapping gu=
est pages every<br>
&gt; request<br>
&gt; &gt; &gt; &gt; &gt; &gt; requires a lot of back and forth to Xen + P2M=
 updates). In a<br>
&gt; nutshell,<br>
&gt; &gt; &gt; &gt; &gt; &gt; currently, in order to map a guest page into =
the backend address<br>
&gt; space<br>
&gt; &gt; &gt; &gt; we<br>
&gt; &gt; &gt; &gt; &gt; &gt; need to steal a real physical page from the b=
ackend domain. So,<br>
&gt; with<br>
&gt; &gt; &gt; &gt; the<br>
&gt; &gt; &gt; &gt; &gt; &gt; said optimizations we might end up with no fr=
ee memory in the<br>
&gt; backend<br>
&gt; &gt; &gt; &gt; &gt; &gt; domain (see XSA-300). And what we try to achi=
eve is to not waste<br>
&gt; a<br>
&gt; &gt; &gt; &gt; real<br>
&gt; &gt; &gt; &gt; &gt; &gt; domain memory at all by providing safe non-al=
located-yet (so<br>
&gt; unused)<br>
&gt; &gt; &gt; &gt; &gt; &gt; address space for the foreign (and grant) pag=
es to be mapped<br>
&gt; into,<br>
&gt; &gt; &gt; &gt; this<br>
&gt; &gt; &gt; &gt; &gt; &gt; enabling work implies Xen and Linux (and like=
ly DTB bindings)<br>
&gt; changes.<br>
&gt; &gt; &gt; &gt; &gt; &gt; However, as it turned out, for this to work i=
n a proper and safe<br>
&gt; way<br>
&gt; &gt; &gt; &gt; some<br>
&gt; &gt; &gt; &gt; &gt; &gt; prereq work needs to be done.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; You can find the related Xen discus=
sion at:<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; <a href=3D"https://lore.kernel.org/=
xen-devel/1627489110-25633-1-git-" rel=3D"noreferrer" target=3D"_blank">htt=
ps://lore.kernel.org/xen-devel/1627489110-25633-1-git-</a><br>
&gt; send-<br>
&gt; &gt; &gt; &gt; email-<br>
&gt; &gt; &gt; &gt; &gt; &gt; <a href=3D"http://olekstysh@gmail.com/" rel=
=3D"noreferrer" target=3D"_blank">olekstysh@gmail.com/</a><br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; One question is how =
to best handle notification and<br>
&gt; kicks.<br>
&gt; &gt; &gt; &gt; The<br>
&gt; &gt; &gt; &gt; &gt; &gt; existing<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; vhost-user framework=
 uses eventfd to signal the daemon<br>
&gt; &gt; &gt; &gt; (although<br>
&gt; &gt; &gt; &gt; &gt; &gt; QEMU<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; is quite capable of =
simulating them when you use TCG).<br>
&gt; Xen<br>
&gt; &gt; &gt; &gt; has<br>
&gt; &gt; &gt; &gt; &gt; &gt; it&#39;s own<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; IOREQ mechanism. How=
ever latency is an important<br>
&gt; factor and<br>
&gt; &gt; &gt; &gt; &gt; &gt; having<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; events go through th=
e stub would add quite a lot.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Yeah I think, regardless =
of anything else, we want the<br>
&gt; &gt; &gt; &gt; backends to<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; connect directly to the X=
en hypervisor.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; In my approach,<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 a) BE -&gt; FE: interrup=
ts triggered by BE calling a<br>
&gt; hypervisor<br>
&gt; &gt; &gt; &gt; &gt; &gt; interface<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0via virtio-proxy<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 b) FE -&gt; BE: MMIO to =
config raises events (in event<br>
&gt; channels),<br>
&gt; &gt; &gt; &gt; &gt; &gt; which is<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0converted to a callback to BE via virtio-<br>
&gt; proxy<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0(Xen&#39;s event channel is internnally<br>
&gt; implemented by<br>
&gt; &gt; &gt; &gt; &gt; &gt; interrupts.)<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; I don&#39;t know what &quot;co=
nnect directly&quot; means here, but<br>
&gt; sending<br>
&gt; &gt; &gt; &gt; &gt; &gt; interrupts<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; to the opposite side would be =
best efficient.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Ivshmem, I suppose, takes this=
 approach by utilizing PCI&#39;s<br>
&gt; msi-x<br>
&gt; &gt; &gt; &gt; &gt; &gt; mechanism.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Agree that MSI would be more effici=
ent than SPI...<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; At the moment, in order to notify t=
he frontend, the backend<br>
&gt; issues<br>
&gt; &gt; &gt; &gt; a<br>
&gt; &gt; &gt; &gt; &gt; &gt; specific device-model call to query Xen to in=
ject a<br>
&gt; corresponding SPI<br>
&gt; &gt; &gt; &gt; to<br>
&gt; &gt; &gt; &gt; &gt; &gt; the guest.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Could we consider th=
e kernel internally converting<br>
&gt; IOREQ<br>
&gt; &gt; &gt; &gt; &gt; &gt; messages from<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; the Xen hypervisor t=
o eventfd events? Would this scale<br>
&gt; with<br>
&gt; &gt; &gt; &gt; &gt; &gt; other kernel<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; hypercall interfaces=
?<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; So any thoughts on w=
hat directions are worth<br>
&gt; experimenting<br>
&gt; &gt; &gt; &gt; with?<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; One option we should cons=
ider is for each backend to<br>
&gt; connect<br>
&gt; &gt; &gt; &gt; to<br>
&gt; &gt; &gt; &gt; &gt; &gt; Xen via<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; the IOREQ interface. We c=
ould generalize the IOREQ<br>
&gt; interface<br>
&gt; &gt; &gt; &gt; and<br>
&gt; &gt; &gt; &gt; &gt; &gt; make it<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; hypervisor agnostic. The =
interface is really trivial and<br>
&gt; easy<br>
&gt; &gt; &gt; &gt; to<br>
&gt; &gt; &gt; &gt; &gt; &gt; add.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; As I said above, my proposal d=
oes the same thing that you<br>
&gt; &gt; &gt; &gt; mentioned<br>
&gt; &gt; &gt; &gt; &gt; &gt; here :)<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; The difference is that I do ca=
ll hypervisor interfaces via<br>
&gt; &gt; &gt; &gt; virtio-<br>
&gt; &gt; &gt; &gt; &gt; &gt; proxy.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; The only Xen-specific par=
t is the notification mechanism,<br>
&gt; &gt; &gt; &gt; which is<br>
&gt; &gt; &gt; &gt; &gt; &gt; an<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; event channel. If we repl=
aced the event channel with<br>
&gt; something<br>
&gt; &gt; &gt; &gt; &gt; &gt; else the<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; interface would be generi=
c. See:<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; <a href=3D"https://gitlab=
.com/xen-project/xen/-" rel=3D"noreferrer" target=3D"_blank">https://gitlab=
.com/xen-project/xen/-</a><br>
&gt; &gt; &gt; &gt; &gt; &gt; /blob/staging/xen/include/public/hvm/ioreq.h#=
L52<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; I don&#39;t think that tr=
anslating IOREQs to eventfd in the<br>
&gt; kernel<br>
&gt; &gt; &gt; &gt; is<br>
&gt; &gt; &gt; &gt; &gt; &gt; a<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; good idea: if feels like =
it would be extra complexity<br>
&gt; and that<br>
&gt; &gt; &gt; &gt; the<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; kernel shouldn&#39;t be i=
nvolved as this is a backend-<br>
&gt; hypervisor<br>
&gt; &gt; &gt; &gt; &gt; &gt; interface.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Given that we may want to impl=
ement BE as a bare-metal<br>
&gt; &gt; &gt; &gt; application<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; as I did on Zephyr, I don&#39;=
t think that the translation<br>
&gt; would not<br>
&gt; &gt; &gt; &gt; be<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; a big issue, especially on RTO=
S&#39;s.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; It will be some kind of abstra=
ction layer of interrupt<br>
&gt; handling<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; (or nothing but a callback mec=
hanism).<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Also, eventfd is very Lin=
ux-centric and we are trying to<br>
&gt; &gt; &gt; &gt; design an<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; interface that could work=
 well for RTOSes too. If we<br>
&gt; want to<br>
&gt; &gt; &gt; &gt; do<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; something different, both=
 OS-agnostic and hypervisor-<br>
&gt; agnostic,<br>
&gt; &gt; &gt; &gt; &gt; &gt; perhaps<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; we could design a new int=
erface. One that could be<br>
&gt; &gt; &gt; &gt; implementable<br>
&gt; &gt; &gt; &gt; &gt; &gt; in the<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Xen hypervisor itself (li=
ke IOREQ) and of course any<br>
&gt; other<br>
&gt; &gt; &gt; &gt; &gt; &gt; hypervisor<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; too.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; There is also another pro=
blem. IOREQ is probably not be<br>
&gt; the<br>
&gt; &gt; &gt; &gt; only<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; interface needed. Have a =
look at<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; <a href=3D"https://marc.i=
nfo/?l=3Dxen-devel&amp;m=3D162373754705233&amp;w=3D2" rel=3D"noreferrer" ta=
rget=3D"_blank">https://marc.info/?l=3Dxen-devel&amp;m=3D162373754705233&am=
p;w=3D2</a>.<br>
&gt; Don&#39;t we<br>
&gt; &gt; &gt; &gt; &gt; &gt; also need<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; an interface for the back=
end to inject interrupts into<br>
&gt; the<br>
&gt; &gt; &gt; &gt; &gt; &gt; frontend? And<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; if the backend requires d=
ynamic memory mappings of<br>
&gt; frontend<br>
&gt; &gt; &gt; &gt; pages,<br>
&gt; &gt; &gt; &gt; &gt; &gt; then<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; we would also need an int=
erface to map/unmap domU pages.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; My proposal document might hel=
p here; All the interfaces<br>
&gt; &gt; &gt; &gt; required<br>
&gt; &gt; &gt; &gt; &gt; &gt; for<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; virtio-proxy (or hypervisor-re=
lated interfaces) are listed<br>
&gt; as<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; RPC protocols :)<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; These interfaces are a lo=
t more problematic than IOREQ:<br>
&gt; IOREQ<br>
&gt; &gt; &gt; &gt; is<br>
&gt; &gt; &gt; &gt; &gt; &gt; tiny<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; and self-contained. It is=
 easy to add anywhere. A new<br>
&gt; &gt; &gt; &gt; interface to<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; inject interrupts or map =
pages is more difficult to<br>
&gt; manage<br>
&gt; &gt; &gt; &gt; because<br>
&gt; &gt; &gt; &gt; &gt; &gt; it<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; would require changes sca=
ttered across the various<br>
&gt; emulators.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Exactly. I have no confident y=
et that my approach will<br>
&gt; also<br>
&gt; &gt; &gt; &gt; apply<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; to other hypervisors than Xen.=
<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Technically, yes, but whether =
people can accept it or not<br>
&gt; is a<br>
&gt; &gt; &gt; &gt; &gt; &gt; different<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; matter.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Thanks,<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; -Takahiro Akashi<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; --<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Regards,<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Oleksandr Tyshchenko<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; IMPORTANT NOTICE: The contents of this e=
mail and any<br>
&gt; attachments are<br>
&gt; &gt; &gt; &gt; &gt; &gt; confidential and may also be privileged. If y=
ou are not the<br>
&gt; intended<br>
&gt; &gt; &gt; &gt; &gt; &gt; recipient, please notify the sender immediate=
ly and do not<br>
&gt; disclose<br>
&gt; &gt; &gt; &gt; the<br>
&gt; &gt; &gt; &gt; &gt; &gt; contents to any other person, use it for any =
purpose, or store<br>
&gt; or copy<br>
&gt; &gt; &gt; &gt; the<br>
&gt; &gt; &gt; &gt; &gt; &gt; information in any medium. Thank you.<br>
&gt; &gt; &gt; &gt; &gt; IMPORTANT NOTICE: The contents of this email and a=
ny attachments<br>
&gt; are<br>
&gt; &gt; &gt; &gt; confidential and may also be privileged. If you are not=
 the intended<br>
&gt; &gt; &gt; &gt; recipient, please notify the sender immediately and do =
not disclose<br>
&gt; the<br>
&gt; &gt; &gt; &gt; contents to any other person, use it for any purpose, o=
r store or<br>
&gt; copy the<br>
&gt; &gt; &gt; &gt; information in any medium. Thank you.<br>
&gt; &gt; &gt; IMPORTANT NOTICE: The contents of this email and any attachm=
ents are<br>
&gt; confidential and may also be privileged. If you are not the intended<b=
r>
&gt; recipient, please notify the sender immediately and do not disclose th=
e<br>
&gt; contents to any other person, use it for any purpose, or store or copy=
 the<br>
&gt; information in any medium. Thank you.<br>
IMPORTANT NOTICE: The contents of this email and any attachments are confid=
ential and may also be privileged. If you are not the intended recipient, p=
lease notify the sender immediately and do not disclose the contents to any=
 other person, use it for any purpose, or store or copy the information in =
any medium. Thank you.<br>
</blockquote></div>
</blockquote></div></div>

--0000000000009be10505cacc2ff7--


From xen-devel-bounces@lists.xenproject.org Mon Aug 30 21:09:17 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 21:09:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175290.319405 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKoWj-0007wk-5O; Mon, 30 Aug 2021 21:09:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175290.319405; Mon, 30 Aug 2021 21: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 1mKoWj-0007wd-14; Mon, 30 Aug 2021 21:09:09 +0000
Received: by outflank-mailman (input) for mailman id 175290;
 Mon, 30 Aug 2021 21:09:08 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rU8s=NV=infradead.org=mcgrof@srs-us1.protection.inumbo.net>)
 id 1mKoWh-0007wX-4x
 for xen-devel@lists.xenproject.org; Mon, 30 Aug 2021 21:09:07 +0000
Received: from bombadil.infradead.org (unknown [2607:7c80:54:e::133])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ef5ee8cc-a35d-4b6d-b75c-d9613d9b1e06;
 Mon, 30 Aug 2021 21:09:05 +0000 (UTC)
Received: from mcgrof by bombadil.infradead.org with local (Exim 4.94.2 #2
 (Red Hat Linux)) id 1mKoWS-000bKI-22; Mon, 30 Aug 2021 21: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
X-Inumbo-ID: ef5ee8cc-a35d-4b6d-b75c-d9613d9b1e06
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=xFWTIefdsBbNHRGePjMVKB25ot+nXFfcxkVreKDH86Y=; b=FgSmTd/fRmS0xbTiIlIubbvcQF
	l8NXkScGBRAvafpu0rVHoH9iy35oqe0ZVhZrGw9F+vPsXmVAXAHRi9bLTOz/vVwm017PysQxzjdwR
	2Z7yKblSpY23X+mBYcbPR7HSt5+du9vMR0yd4OGtU//TsQa3L9dQPWUzn+aBwsb7TTLrFsa5Z1yBC
	cHAjsVtZF1FFvy5cgIFuUbxSa/UXcDJEnINnwNpFBMc/dx4nsSKskeqvJF2m/6ZEJ/y+wT83/RDx5
	Pxwk7umAbXCBGozfp+iGo+sUQFP9mBj3TSyahaTBMA85l5Ypzlz3qTA3rqa10UKRTSgpCacUNkUG2
	tjolFDlQ==;
Date: Mon, 30 Aug 2021 14:08:52 -0700
From: Luis Chamberlain <mcgrof@kernel.org>
To: Keith Busch <kbusch@kernel.org>
Cc: axboe@kernel.dk, colyli@suse.de, kent.overstreet@gmail.com,
	sagi@grimberg.me, vishal.l.verma@intel.com,
	dan.j.williams@intel.com, dave.jiang@intel.com, ira.weiny@intel.com,
	konrad.wilk@oracle.com, roger.pau@citrix.com,
	boris.ostrovsky@oracle.com, jgross@suse.com, sstabellini@kernel.org,
	minchan@kernel.org, ngupta@vflare.org, senozhatsky@chromium.org,
	xen-devel@lists.xenproject.org, nvdimm@lists.linux.dev,
	linux-nvme@lists.infradead.org, linux-bcache@vger.kernel.org,
	linux-block@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 03/10] nvme-multipath: add error handling support for
 add_disk()
Message-ID: <YS1I5DuGr0q7/uow@bombadil.infradead.org>
References: <20210827191809.3118103-1-mcgrof@kernel.org>
 <20210827191809.3118103-4-mcgrof@kernel.org>
 <20210827202932.GA82376@dhcp-10-100-145-180.wdc.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20210827202932.GA82376@dhcp-10-100-145-180.wdc.com>
Sender: Luis Chamberlain <mcgrof@infradead.org>

On Fri, Aug 27, 2021 at 01:29:32PM -0700, Keith Busch wrote:
> On Fri, Aug 27, 2021 at 12:18:02PM -0700, Luis Chamberlain wrote:
> > @@ -479,13 +479,17 @@ int nvme_mpath_alloc_disk(struct nvme_ctrl *ctrl, struct nvme_ns_head *head)
> >  static void nvme_mpath_set_live(struct nvme_ns *ns)
> >  {
> >  	struct nvme_ns_head *head = ns->head;
> > +	int rc;
> >  
> >  	if (!head->disk)
> >  		return;
> >  
> > -	if (!test_and_set_bit(NVME_NSHEAD_DISK_LIVE, &head->flags)) {
> > -		device_add_disk(&head->subsys->dev, head->disk,
> > -				nvme_ns_id_attr_groups);
> > +	if (!test_bit(NVME_NSHEAD_DISK_LIVE, &head->flags)) {
> 
> This should still be test_and_set_bit() because it is protecting against
> two nvme paths simultaneously calling device_add_disk() on the same
> namespace head.

Interesting, I'll add a comment as well, as this was not clear with the drive
by effort.

  Luis


From xen-devel-bounces@lists.xenproject.org Mon Aug 30 22:11:48 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 22:11:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175300.319428 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKpV8-0006z0-Nx; Mon, 30 Aug 2021 22:11:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175300.319428; Mon, 30 Aug 2021 22: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 1mKpV8-0006yt-KE; Mon, 30 Aug 2021 22:11:34 +0000
Received: by outflank-mailman (input) for mailman id 175300;
 Mon, 30 Aug 2021 22: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 1mKpV7-0006yj-7S; Mon, 30 Aug 2021 22: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 1mKpV6-0007qg-Tx; Mon, 30 Aug 2021 22:11: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 1mKpV6-00052F-Kc; Mon, 30 Aug 2021 22:11:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mKpV6-0005iy-K6; Mon, 30 Aug 2021 22: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=/qMxJ08/6xdEPRfeOHLp8T/vLSrQvychJ0J/rX7gA98=; b=iWrb4iufFKCcLOY7LbSGUQOOP6
	RJYAH/eNDZwSNIYKFWNjDrjRgjyOmUceBmbPdLwYyef/VY+v2vvdD1e9487w1hw3FjV60AQc7L66M
	aOiCXRoLp0K+Gk4PB80cqHmIFGvm3GgX2WmdkGHa4GWsQwHLodxPZF1+AHuizX1iA+MQ=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164614-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 164614: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-dom0pvh-xl-amd:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-dom0pvh-xl-intel:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-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-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1: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-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=8064488062641ae505b2a7369611c38057a7788b
X-Osstest-Versions-That:
    xen=a931e8e64af07bd333a31f3b71a3f8f3e7910857
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 30 Aug 2021 22:11:32 +0000

flight 164614 xen-unstable real [real]
flight 164663 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/164614/
http://logs.test-lab.xenproject.org/osstest/logs/164663/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-dom0pvh-xl-amd  8 xen-boot              fail REGR. vs. 164477
 test-amd64-amd64-dom0pvh-xl-intel  8 xen-boot            fail REGR. vs. 164477

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 164477
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 164477
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164477
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 164477
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 164477
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 164477
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 164477
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 164477
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 164477
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 164477
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 164477
 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-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-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-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 xen                  8064488062641ae505b2a7369611c38057a7788b
baseline version:
 xen                  a931e8e64af07bd333a31f3b71a3f8f3e7910857

Last test of basis   164477  2021-08-25 09:09:48 Z    5 days
Failing since        164499  2021-08-26 10:21:51 Z    4 days    3 attempts
Testing same since   164528  2021-08-28 00:45:56 Z    2 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Stefano Stabellini <sstabellini@kernel.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 504 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Aug 30 23:51:37 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Aug 2021 23:51:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175336.319483 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKr3n-0001lz-Jt; Mon, 30 Aug 2021 23:51:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175336.319483; Mon, 30 Aug 2021 23: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 1mKr3n-0001ls-Gy; Mon, 30 Aug 2021 23:51:27 +0000
Received: by outflank-mailman (input) for mailman id 175336;
 Mon, 30 Aug 2021 23:51:26 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mKr3m-0001li-AM; Mon, 30 Aug 2021 23:51:26 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mKr3m-00014h-40; Mon, 30 Aug 2021 23:51:26 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mKr3l-00033s-Qw; Mon, 30 Aug 2021 23:51:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mKr3l-0000Zm-QQ; Mon, 30 Aug 2021 23:51:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Zn+/PAb/GmD/pn0oJcGJpIXCFBDSdB+b9LGEtDE1tsY=; b=kkMnociKVgZeYdvLed+Hm4wuTP
	84N3b9p1hO920Iu25krhw+vdTtEKFucoR+L4uondwYl50qyTw/dJwv3/ALfPJuAgv78gL2ccgDBpV
	MkNse4q3SKOkFkbyI9ZFHPGBZnn1IveE8tPRURdbDtCfCnevt6jeRn9eA9NCLky+39ek=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164623-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 164623: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-i386-qemut-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-intel:xen-install:fail:regression
    linux-linus:test-amd64-i386-examine:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-ws16-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-coresched-i386-xl:xen-install:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    linux-linus:test-amd64-i386-xl-raw:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-pvshim:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemuu-win7-amd64:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-shadow:xen-install:fail:regression
    linux-linus:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    linux-linus:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:debian-fixup:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-qemuu-freebsd12-amd64:guest-start/freebsd.repeat: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-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=3f5ad13cb012939e1797ec9cdf43941c169216d2
X-Osstest-Versions-That:
    linux=deacdb3e3979979016fcd0ffd518c320a62ad166
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 30 Aug 2021 23:51:25 +0000

flight 164623 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164623/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-xl-xsm        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-intel  7 xen-install      fail REGR. vs. 152332
 test-amd64-i386-examine       6 xen-install              fail REGR. vs. 152332
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install  fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-ws16-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 152332
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 152332
 test-amd64-coresched-i386-xl  7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 152332
 test-amd64-i386-xl-raw        7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 152332
 test-amd64-i386-xl-pvshim     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-qemuu-win7-amd64  7 xen-install       fail REGR. vs. 152332
 test-amd64-i386-xl-shadow     7 xen-install              fail REGR. vs. 152332
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 152332
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host     fail REGR. vs. 152332
 test-arm64-arm64-xl-credit1  14 guest-start              fail REGR. vs. 152332
 test-arm64-arm64-xl-thunderx 13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-credit2  13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl          13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-xl-xsm      13 debian-fixup             fail REGR. vs. 152332
 test-arm64-arm64-libvirt-xsm 13 debian-fixup             fail REGR. vs. 152332
 test-amd64-amd64-qemuu-freebsd12-amd64 21 guest-start/freebsd.repeat fail REGR. vs. 152332
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 18 guest-start/debianhvm.repeat fail REGR. vs. 152332

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 152332
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 152332
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 152332
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 152332
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 152332
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 152332
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 152332
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                3f5ad13cb012939e1797ec9cdf43941c169216d2
baseline version:
 linux                deacdb3e3979979016fcd0ffd518c320a62ad166

Last test of basis   152332  2020-07-31 19:41:23 Z  395 days
Failing since        152366  2020-08-01 20:49:34 Z  394 days  682 attempts
Testing same since   164623  2021-08-29 19:02:07 Z    1 days    1 attempts

------------------------------------------------------------
6828 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 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                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                           fail    
 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                              fail    
 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                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2020133 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 00:34:38 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 00:34:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175348.319504 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKrjU-00077o-Sn; Tue, 31 Aug 2021 00:34:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175348.319504; Tue, 31 Aug 2021 00: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 1mKrjU-00077h-Pm; Tue, 31 Aug 2021 00:34:32 +0000
Received: by outflank-mailman (input) for mailman id 175348;
 Tue, 31 Aug 2021 00:34: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 1mKrjS-00077V-TD; Tue, 31 Aug 2021 00:34: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 1mKrjS-0002NO-OL; Tue, 31 Aug 2021 00:34: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 1mKrjS-0005uR-I1; Tue, 31 Aug 2021 00:34:30 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mKrjS-0002VC-HY; Tue, 31 Aug 2021 00: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>
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=x0CHozbnLEwRchM/4dL+K31MWRn+gegi9oVCFPfvrqI=; b=eq++ays5qkcJi0BoZl653Ld1iQ
	CAqrZVwJVlG4gCJTmn3ejqFVEgwaU0nAR0fKFR74v/4L+/jCMfDlu3Uecy2Vuk9MOzP7VRE2k07Wf
	9Udr9GlE0fz1ua7tPxpqk/F3yQdBkGLn1LbzCTdqM7+MkWkT7roMzEjjuVP1Rq+o0/+c=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Subject: [xen-unstable bisection] complete test-amd64-amd64-dom0pvh-xl-intel
Message-Id: <E1mKrjS-0002VC-HY@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 31 Aug 2021 00:34:30 +0000

branch xen-unstable
xenbranch xen-unstable
job test-amd64-amd64-dom0pvh-xl-intel
testid xen-boot

Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  753cb68e653002e89fdcd1c80e52905fdbfb78cb
  Bug not present: 0bf755e2c856628e11e93c76c3e12974e9964638
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164671/


  commit 753cb68e653002e89fdcd1c80e52905fdbfb78cb
  Author: Jan Beulich <jbeulich@suse.com>
  Date:   Wed Aug 25 14:17:32 2021 +0200
  
      x86/p2m: guard (in particular) identity mapping entries
      
      Such entries, created by set_identity_p2m_entry(), should only be
      destroyed by clear_identity_p2m_entry(). However, similarly, entries
      created by set_mmio_p2m_entry() should only be torn down by
      clear_mmio_p2m_entry(), so the logic gets based upon p2m_mmio_direct as
      the entry type (separation between "ordinary" and 1:1 mappings would
      require a further indicator to tell apart the two).
      
      As to the guest_remove_page() change, commit 48dfb297a20a ("x86/PVH:
      allow guest_remove_page to remove p2m_mmio_direct pages"), which
      introduced the call to clear_mmio_p2m_entry(), claimed this was done for
      hwdom only without this actually having been the case. However, this
      code shouldn't be there in the first place, as MMIO entries shouldn't be
      dropped this way. Avoid triggering the warning again that 48dfb297a20a
      silenced by an adjustment to xenmem_add_to_physmap_one() instead.
      
      Note that guest_physmap_mark_populate_on_demand() gets tightened beyond
      the immediate purpose of this change.
      
      Note also that I didn't inspect code which isn't security supported,
      e.g. sharing, paging, or altp2m.
      
      This is CVE-2021-28694 / part of XSA-378.
      
      Signed-off-by: Jan Beulich <jbeulich@suse.com>
      Reviewed-by: Paul Durrant <paul@xen.org>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-unstable/test-amd64-amd64-dom0pvh-xl-intel.xen-boot.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/test-amd64-amd64-dom0pvh-xl-intel.xen-boot --summary-out=tmp/164671.bisection-summary --basis-template=164477 --blessings=real,real-bisect,real-retry xen-unstable test-amd64-amd64-dom0pvh-xl-intel xen-boot
Searching for failure / basis pass:
 164614 fail [host=albana1] / 164477 [host=godello0] 164405 [host=godello1] 164309 [host=godello0] 164264 [host=elbling0] 164248 [host=elbling1] 164237 [host=fiano0] 164230 [host=godello0] 164171 ok.
Failure / basis pass flights: 164614 / 164171
(tree with no url: minios)
(tree with no url: ovmf)
(tree with no url: seabios)
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: xen git://xenbits.xen.org/xen.git
Latest c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 8064488062641ae505b2a7369611c38057a7788b
Basis pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 5a88d524857e5bf78b077d30ea515fcaac061bfc
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/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c7437ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#136c34c9bc4179dc64b15b2bb5f0c54\
 ca4ddf823-136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 git://xenbits.xen.org/xen.git#5a88d524857e5bf78b077d30ea515fcaac061bfc-8064488062641ae505b2a7369611c38057a7788b
Loaded 5001 nodes in revision graph
Searching for test results:
 164171 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 5a88d524857e5bf78b077d30ea515fcaac061bfc
 164230 [host=godello0]
 164237 [host=fiano0]
 164248 [host=elbling1]
 164264 [host=elbling0]
 164309 [host=godello0]
 164405 [host=godello1]
 164477 [host=godello0]
 164499 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 c08d68cd2aacbc7cb56e73ada241bfe4639bbc68
 164528 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 8064488062641ae505b2a7369611c38057a7788b
 164622 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 5a88d524857e5bf78b077d30ea515fcaac061bfc
 164614 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 8064488062641ae505b2a7369611c38057a7788b
 164646 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 8064488062641ae505b2a7369611c38057a7788b
 164647 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 9ee27aa7a2bab460769a6621895898ba3a7fb445
 164650 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 d1bb6c97c31ef754fb29b29eb307c090414e8022
 164653 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 753cb68e653002e89fdcd1c80e52905fdbfb78cb
 164655 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 899272539cbe1acda736a850015416fff653a1b6
 164657 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 8ea80530cd0dbb8ffa7ac92606a3ee29663fdc93
 164658 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 0bf755e2c856628e11e93c76c3e12974e9964638
 164660 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 753cb68e653002e89fdcd1c80e52905fdbfb78cb
 164662 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 0bf755e2c856628e11e93c76c3e12974e9964638
 164664 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 753cb68e653002e89fdcd1c80e52905fdbfb78cb
 164669 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 0bf755e2c856628e11e93c76c3e12974e9964638
 164671 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 753cb68e653002e89fdcd1c80e52905fdbfb78cb
Searching for interesting versions
 Result found: flight 164171 (pass), for basis pass
 For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 0bf755e2c856628e11e93c76c3e12974e9964638, results HASH(0x56027e8aac68) HASH(0x56027e80c720) HASH(0x56027e826868) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9b\
 c4179dc64b15b2bb5f0c54ca4ddf823 8ea80530cd0dbb8ffa7ac92606a3ee29663fdc93, results HASH(0x56027e815bd8) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 899272539cbe1acda736a850015416fff653a1b6, results HASH(0x56027e827a90) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f\
 0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 d1bb6c97c31ef754fb29b29eb307c090414e8022, results HASH(0x56027e8269e8) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 9ee27aa7a2bab460769a6621895898ba3a7fb445, results HASH(0x56027e8135d0) For basis failure, parent search stopping at c3038e718a19\
 fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 5a88d524857e5bf78b077d30ea515fcaac061bfc, results HASH(0x56027e81a510) HASH(0x56027e80ef98) Result found: flight 164499 (fail), for basis failure (at ancestor ~708)
 Repro found: flight 164622 (pass), for basis pass
 Repro found: flight 164646 (fail), for basis failure
 0 revisions at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 136c34c9bc4179dc64b15b2bb5f0c54ca4ddf823 0bf755e2c856628e11e93c76c3e12974e9964638
No revisions left to test, checking graph state.
 Result found: flight 164658 (pass), for last pass
 Result found: flight 164660 (fail), for first failure
 Repro found: flight 164662 (pass), for last pass
 Repro found: flight 164664 (fail), for first failure
 Repro found: flight 164669 (pass), for last pass
 Repro found: flight 164671 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  753cb68e653002e89fdcd1c80e52905fdbfb78cb
  Bug not present: 0bf755e2c856628e11e93c76c3e12974e9964638
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164671/


  commit 753cb68e653002e89fdcd1c80e52905fdbfb78cb
  Author: Jan Beulich <jbeulich@suse.com>
  Date:   Wed Aug 25 14:17:32 2021 +0200
  
      x86/p2m: guard (in particular) identity mapping entries
      
      Such entries, created by set_identity_p2m_entry(), should only be
      destroyed by clear_identity_p2m_entry(). However, similarly, entries
      created by set_mmio_p2m_entry() should only be torn down by
      clear_mmio_p2m_entry(), so the logic gets based upon p2m_mmio_direct as
      the entry type (separation between "ordinary" and 1:1 mappings would
      require a further indicator to tell apart the two).
      
      As to the guest_remove_page() change, commit 48dfb297a20a ("x86/PVH:
      allow guest_remove_page to remove p2m_mmio_direct pages"), which
      introduced the call to clear_mmio_p2m_entry(), claimed this was done for
      hwdom only without this actually having been the case. However, this
      code shouldn't be there in the first place, as MMIO entries shouldn't be
      dropped this way. Avoid triggering the warning again that 48dfb297a20a
      silenced by an adjustment to xenmem_add_to_physmap_one() instead.
      
      Note that guest_physmap_mark_populate_on_demand() gets tightened beyond
      the immediate purpose of this change.
      
      Note also that I didn't inspect code which isn't security supported,
      e.g. sharing, paging, or altp2m.
      
      This is CVE-2021-28694 / part of XSA-378.
      
      Signed-off-by: Jan Beulich <jbeulich@suse.com>
      Reviewed-by: Paul Durrant <paul@xen.org>

Revision graph left in /home/logs/results/bisect/xen-unstable/test-amd64-amd64-dom0pvh-xl-intel.xen-boot.{dot,ps,png,html,svg}.
----------------------------------------
164671: tolerable ALL FAIL

flight 164671 xen-unstable real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/164671/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-amd64-dom0pvh-xl-intel  8 xen-boot           fail baseline untested


jobs:
 test-amd64-amd64-dom0pvh-xl-intel                            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 Tue Aug 31 00:48:43 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 00:48:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175354.319517 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKrx1-0000L8-66; Tue, 31 Aug 2021 00:48:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175354.319517; Tue, 31 Aug 2021 00:48: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 1mKrx1-0000L1-3A; Tue, 31 Aug 2021 00:48:31 +0000
Received: by outflank-mailman (input) for mailman id 175354;
 Tue, 31 Aug 2021 00:48:30 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QH02=NW=kernel.org=sstabellini@srs-us1.protection.inumbo.net>)
 id 1mKrx0-0000Kv-9P
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 00:48:30 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 413dc68a-b9c8-48d8-b762-ccd5ca69ac26;
 Tue, 31 Aug 2021 00:48:29 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id 2700F600AA;
 Tue, 31 Aug 2021 00:48: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: 413dc68a-b9c8-48d8-b762-ccd5ca69ac26
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1630370908;
	bh=If2g6gvLVaIRjJVL76Tu4sVZuWVIkgyVgQVdB5EiF6M=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=JnCTwWnE9tVvHCE3fIkr7wEA7WfnAir66bu5fISq122Ejfsj108Jm6MMPmLV87GNS
	 iRw/bnUr4iuk6HzBj+SbcSVW47M/WWHNjBTiFp9PUs6NJs5DPFHCAAChItD9rze7pb
	 anV88LKyLZrJjb0+oWTll+s1He1AbDdwD5GOpm+PLwJpWNHn74zWTu6rL8OEsGmQYg
	 mtrSm7m9oC5PFkzavaiW1a6M8d7aKpdthAf/ycWMhLTDzAse/XAK+e1ADSQ+DdOp+l
	 MnuMr3UmUCjFOIIjLiAuE3LHmPL3DuYbI424DP3zIdzXTrHNtDc9fbDnHjq+hv1FKs
	 vzrPUGrrQLuTA==
Date: Mon, 30 Aug 2021 17:48:27 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@sstabellini-ThinkPad-T480s
To: Wei Chen <wei.chen@arm.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, julien@xen.org, 
    jbeulich@suse.com, Bertrand.Marquis@arm.com
Subject: Re: [XEN RFC PATCH 24/40] xen/arm: introduce a helper to parse device
 tree NUMA distance map
In-Reply-To: <20210811102423.28908-25-wei.chen@arm.com>
Message-ID: <alpine.DEB.2.21.2108301740500.17851@sstabellini-ThinkPad-T480s>
References: <20210811102423.28908-1-wei.chen@arm.com> <20210811102423.28908-25-wei.chen@arm.com>
User-Agent: Alpine 2.21 (DEB 202 2017-01-01)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 11 Aug 2021, Wei Chen wrote:
> A NUMA aware device tree will provide a "distance-map" node to
> describe distance between any two nodes. This patch introduce a
> new helper to parse this distance map.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>  xen/arch/arm/numa_device_tree.c | 67 +++++++++++++++++++++++++++++++++
>  1 file changed, 67 insertions(+)
> 
> diff --git a/xen/arch/arm/numa_device_tree.c b/xen/arch/arm/numa_device_tree.c
> index bbe081dcd1..6e0d1d3d9f 100644
> --- a/xen/arch/arm/numa_device_tree.c
> +++ b/xen/arch/arm/numa_device_tree.c
> @@ -200,3 +200,70 @@ device_tree_parse_numa_memory_node(const void *fdt, int node,
>  
>      return 0;
>  }
> +
> +/* Parse NUMA distance map v1 */
> +int __init
> +device_tree_parse_numa_distance_map_v1(const void *fdt, int node)
> +{
> +    const struct fdt_property *prop;
> +    const __be32 *matrix;
> +    int entry_count, len, i;
> +
> +    printk(XENLOG_INFO "NUMA: parsing numa-distance-map\n");
> +
> +    prop = fdt_get_property(fdt, node, "distance-matrix", &len);
> +    if ( !prop )
> +    {
> +        printk(XENLOG_WARNING
> +               "NUMA: No distance-matrix property in distance-map\n");
> +
> +        return -EINVAL;
> +    }
> +
> +    if ( len % sizeof(uint32_t) != 0 )
> +    {
> +        printk(XENLOG_WARNING
> +               "distance-matrix in node is not a multiple of u32\n");
> +        return -EINVAL;
> +    }
> +
> +    entry_count = len / sizeof(uint32_t);
> +    if ( entry_count <= 0 )
> +    {
> +        printk(XENLOG_WARNING "NUMA: Invalid distance-matrix\n");
> +
> +        return -EINVAL;
> +    }
> +
> +    matrix = (const __be32 *)prop->data;
> +    for ( i = 0; i + 2 < entry_count; i += 3 )
> +    {
> +        uint32_t from, to, distance;
> +
> +        from = dt_read_number(matrix, 1);
> +        matrix++;
> +        to = dt_read_number(matrix, 1);
> +        matrix++;
> +        distance = dt_read_number(matrix, 1);
> +        matrix++;
> +
> +        if ( (from == to && distance != NUMA_LOCAL_DISTANCE) ||
> +            (from != to && distance <= NUMA_LOCAL_DISTANCE) )
> +        {
> +            printk(XENLOG_WARNING
> +                   "Invalid nodes' distance from node#%d to node#%d = %d\n",
> +                   from, to, distance);
> +            return -EINVAL;
> +        }
> +
> +        printk(XENLOG_INFO "NUMA: distance from node#%d to node#%d = %d\n",
> +               from, to, distance);
> +        numa_set_distance(from, to, distance);
> +
> +        /* Set default distance of node B->A same as A->B */
> +        if (to > from)
> +             numa_set_distance(to, from, distance);

I am a bit unsure about this last 2 lines: why calling numa_set_distance
in the opposite direction only when to > from? Wouldn't it be OK to
always do both:

numa_set_distance(from, to, distance);
numa_set_distance(to, from, distance);

?


But in any case, I have a different suggestion. The binding states that
"distances are equal in either direction". Also it has an example where
only one direction is expressed unfortunately (at the end of the
document).

So my suggestion is to parse it as follows:

- call numa_set_distance just once from
  device_tree_parse_numa_distance_map_v1

- in numa_set_distance:
    - set node_distance_map[from][to] = distance;
    - check node_distance_map[to][from]
          - if unset, node_distance_map[to][from] = distance;
          - if already set to the same value, return success;
          - if already set to a different value, return error;


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 00:54:15 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 00:54:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175359.319528 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKs2T-0001rw-SJ; Tue, 31 Aug 2021 00:54:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175359.319528; Tue, 31 Aug 2021 00:54:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKs2T-0001rp-P4; Tue, 31 Aug 2021 00:54:09 +0000
Received: by outflank-mailman (input) for mailman id 175359;
 Tue, 31 Aug 2021 00:54:08 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QH02=NW=kernel.org=sstabellini@srs-us1.protection.inumbo.net>)
 id 1mKs2S-0001rj-Oc
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 00:54:08 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 5178a044-3df4-42d6-b8d3-3bfc83250c7b;
 Tue, 31 Aug 2021 00:54:07 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id CCE9860FE8;
 Tue, 31 Aug 2021 00:54: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: 5178a044-3df4-42d6-b8d3-3bfc83250c7b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1630371247;
	bh=FaKuwKqQUcsjUnrI1i/0e0tvTWt6JI37L5ai0bE4JAo=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=DevcFLNxq6xZqOWsQh/AAkgdg7TQiENZniFUbZrWShQwDU+A/z4RD0zA+HTnUmgTa
	 yKxN03uM+TZZwzAQPSNQ41OAZifxBsk7r9SID0+NbL7FhXYeyz2ylUIRJl4G6NxIBo
	 gzJjl1K/85BgXn0RKrs5vylkULjzgR8vnNkHUjqPMuiRKlzl4ZzMVAOP5RgDz89BqY
	 nSkNhuqa7BAdLcNSYechHUWZqY8hALAktwrGirpdiLk2J4+DVcjUlwdRg96uBI4UW6
	 cvaDosDEPyMQTlskK/Xd4o4kjyL/2DMFwtKBW5voKDFcyKSRXo/hXKx79h86sL8kyV
	 ib+/59W6s/54A==
Date: Mon, 30 Aug 2021 17:54:06 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@sstabellini-ThinkPad-T480s
To: Wei Chen <wei.chen@arm.com>, julien@xen.org
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, jbeulich@suse.com, 
    Bertrand.Marquis@arm.com
Subject: Re: [XEN RFC PATCH 25/40] xen/arm: unified entry to parse all NUMA
 data from device tree
In-Reply-To: <20210811102423.28908-26-wei.chen@arm.com>
Message-ID: <alpine.DEB.2.21.2108301752501.17851@sstabellini-ThinkPad-T480s>
References: <20210811102423.28908-1-wei.chen@arm.com> <20210811102423.28908-26-wei.chen@arm.com>
User-Agent: Alpine 2.21 (DEB 202 2017-01-01)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 11 Aug 2021, Wei Chen wrote:
> In this API, we scan whole device tree to parse CPU node id, memory
> node id and distance-map. Though early_scan_node will invoke has a
> handler to process memory nodes. If we want to parse memory node id
> in this handler, we have to embeded NUMA parse code in this handler.
> But we still need to scan whole device tree to find CPU NUMA id and
> distance-map. In this case, we include memory NUMA id parse in this
> API too. Another benefit is that we have a unique entry for device
> tree NUMA data parse.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>  xen/arch/arm/numa_device_tree.c | 31 ++++++++++++++++++++++++++++---
>  xen/include/asm-arm/numa.h      |  1 +
>  2 files changed, 29 insertions(+), 3 deletions(-)
> 
> diff --git a/xen/arch/arm/numa_device_tree.c b/xen/arch/arm/numa_device_tree.c
> index 6e0d1d3d9f..27ffb72f7b 100644
> --- a/xen/arch/arm/numa_device_tree.c
> +++ b/xen/arch/arm/numa_device_tree.c
> @@ -131,7 +131,8 @@ save_memblk:
>  }
>  
>  /* Parse CPU NUMA node info */
> -int __init device_tree_parse_numa_cpu_node(const void *fdt, int node)
> +static int __init
> +device_tree_parse_numa_cpu_node(const void *fdt, int node)
>  {
>      uint32_t nid;
>  
> @@ -147,7 +148,7 @@ int __init device_tree_parse_numa_cpu_node(const void *fdt, int node)
>  }
>  
>  /* Parse memory node NUMA info */
> -int __init
> +static int __init
>  device_tree_parse_numa_memory_node(const void *fdt, int node,
>      const char *name, uint32_t addr_cells, uint32_t size_cells)
>  {
> @@ -202,7 +203,7 @@ device_tree_parse_numa_memory_node(const void *fdt, int node,
>  }
>  
>  /* Parse NUMA distance map v1 */
> -int __init
> +static int __init
>  device_tree_parse_numa_distance_map_v1(const void *fdt, int node)
>  {
>      const struct fdt_property *prop;
> @@ -267,3 +268,27 @@ device_tree_parse_numa_distance_map_v1(const void *fdt, int node)
>  
>      return 0;
>  }
> +
> +static int __init fdt_scan_numa_nodes(const void *fdt,
> +                int node, const char *uname, int depth,
> +                u32 address_cells, u32 size_cells, void *data)
> +{
> +    int ret = 0;
> +
> +    if ( fdt_node_check_type(fdt, node, "cpu") == 0 )
> +        ret = device_tree_parse_numa_cpu_node(fdt, node);
> +    else if ( fdt_node_check_type(fdt, node, "memory") == 0 )
> +        ret = device_tree_parse_numa_memory_node(fdt, node, uname,
> +                                address_cells, size_cells);
> +    else if ( fdt_node_check_compatible(fdt, node,
> +                                "numa-distance-map-v1") == 0 )
> +        ret = device_tree_parse_numa_distance_map_v1(fdt, node);
> +
> +    return ret;
> +}

Julien, do you have an opinion on whether it might be worth reusing the
existing early_scan_node function for this to avoiding another full FDT
scan (to avoid another call to device_tree_for_each_node)?


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 00:55:18 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 00:55:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175365.319540 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKs3a-0002RK-5p; Tue, 31 Aug 2021 00:55:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175365.319540; Tue, 31 Aug 2021 00:55:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKs3a-0002RD-2d; Tue, 31 Aug 2021 00:55:18 +0000
Received: by outflank-mailman (input) for mailman id 175365;
 Tue, 31 Aug 2021 00:55: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 1mKs3Y-0002R1-86; Tue, 31 Aug 2021 00:55:16 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mKs3Y-0002lB-1t; Tue, 31 Aug 2021 00:55:16 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mKs3X-00072O-Ru; Tue, 31 Aug 2021 00:55:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mKs3X-0008GT-RT; Tue, 31 Aug 2021 00: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>
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=BbiHFWACpXmuTZQyZ093lIYBNHycAWepkbLFaxCIR3M=; b=CmiXRHu0CE/ZkuOVW1lecuaNjo
	NkutHho5ta70UnSlfcesPLzSFvG0KifB2bvuion6d3VEN8ipKnhwFo/C8rF+lX+QUDNMHXtoeB0RX
	B0ajuz6VGkbG0UPJ5NxGzgGxhOmhZVoAPd8foPHW4hPSHzsGNG/4MxtX+q8S0YQqmQuA=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Subject: [xen-4.13-testing bisection] complete test-amd64-amd64-dom0pvh-xl-intel
Message-Id: <E1mKs3X-0008GT-RT@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 31 Aug 2021 00:55:15 +0000

branch xen-4.13-testing
xenbranch xen-4.13-testing
job test-amd64-amd64-dom0pvh-xl-intel
testid xen-boot

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 git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  89d40f0682f9ad37091cc53685f3ecf63a44bb72
  Bug not present: f762403ed349df1b04468100dbffd0a6b6fe3303
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164672/


  commit 89d40f0682f9ad37091cc53685f3ecf63a44bb72
  Author: Jan Beulich <jbeulich@suse.com>
  Date:   Wed Aug 25 15:24:37 2021 +0200
  
      x86/p2m: guard (in particular) identity mapping entries
      
      Such entries, created by set_identity_p2m_entry(), should only be
      destroyed by clear_identity_p2m_entry(). However, similarly, entries
      created by set_mmio_p2m_entry() should only be torn down by
      clear_mmio_p2m_entry(), so the logic gets based upon p2m_mmio_direct as
      the entry type (separation between "ordinary" and 1:1 mappings would
      require a further indicator to tell apart the two).
      
      As to the guest_remove_page() change, commit 48dfb297a20a ("x86/PVH:
      allow guest_remove_page to remove p2m_mmio_direct pages"), which
      introduced the call to clear_mmio_p2m_entry(), claimed this was done for
      hwdom only without this actually having been the case. However, this
      code shouldn't be there in the first place, as MMIO entries shouldn't be
      dropped this way. Avoid triggering the warning again that 48dfb297a20a
      silenced by an adjustment to xenmem_add_to_physmap_one() instead.
      
      Note that guest_physmap_mark_populate_on_demand() gets tightened beyond
      the immediate purpose of this change.
      
      Note also that I didn't inspect code which isn't security supported,
      e.g. sharing, paging, or altp2m.
      
      This is CVE-2021-28694 / part of XSA-378.
      
      Signed-off-by: Jan Beulich <jbeulich@suse.com>
      Reviewed-by: Paul Durrant <paul@xen.org>
      master commit: 753cb68e653002e89fdcd1c80e52905fdbfb78cb
      master date: 2021-08-25 14:17:32 +0200


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-4.13-testing/test-amd64-amd64-dom0pvh-xl-intel.xen-boot.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/xen-4.13-testing/test-amd64-amd64-dom0pvh-xl-intel.xen-boot --summary-out=tmp/164672.bisection-summary --basis-template=163761 --blessings=real,real-bisect,real-retry xen-4.13-testing test-amd64-amd64-dom0pvh-xl-intel xen-boot
Searching for failure / basis pass:
 164577 fail [host=chardonnay0] / 164454 [host=fiano1] 164371 [host=godello1] 164301 [host=godello0] 164260 [host=huxelrebe1] 163761 [host=godello1] 163730 [host=godello0] 163711 [host=elbling0] 162550 [host=huxelrebe0] 162367 [host=godello1] 161770 [host=huxelrebe0] 161323 [host=elbling0] 160326 [host=fiano1] 160154 [host=godello1] 160142 [host=chardonnay1] 160129 [host=albana0] 159839 [host=godello1] 159448 [host=chardonnay1] 159419 [host=huxelrebe1] 158557 [host=elbling1] 157733 [host=huxelre\
 be1] 157716 [host=huxelrebe0] 157664 [host=godello1] 157629 ok.
Failure / basis pass flights: 164577 / 157629
(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 git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git
Latest c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 82f7e315d612399f65a3bedd3b2c0364b43b6929 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 dd29f4f4961d5c99660874c7ff090bd3c2ef6e5b
Basis pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f95e80d832e923046c92cd6f0b8208cec147138e d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 748d619be3282fba35f99446098ac2d0579f6063 10c7c213bef26274684798deb3e351a6756046d2
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#f95e80d832e923046c92cd6f0b8208cec147138e-82f7e315d612399f65a3bedd3b2c0364b43b6929 git://xenbits.xen.org/qemu-xen-traditional.git#d0d8ad39ecb51cd7497cd524484\
 fe09f50876798-d0d8ad39ecb51cd7497cd524484fe09f50876798 git://xenbits.xen.org/qemu-xen.git#7269466a5b0c0e89b36dc9a7db0554ae404aa230-7269466a5b0c0e89b36dc9a7db0554ae404aa230 git://xenbits.xen.org/osstest/seabios.git#748d619be3282fba35f99446098ac2d0579f6063-54082c81d96028ba8c76fbe6784085cf1df76b20 git://xenbits.xen.org/xen.git#10c7c213bef26274684798deb3e351a6756046d2-dd29f4f4961d5c99660874c7ff090bd3c2ef6e5b
Loaded 12607 nodes in revision graph
Searching for test results:
 163711 [host=elbling0]
 163730 [host=godello0]
 163761 [host=godello1]
 157563 [host=albana1]
 157597 [host=godello0]
 157629 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f95e80d832e923046c92cd6f0b8208cec147138e d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 748d619be3282fba35f99446098ac2d0579f6063 10c7c213bef26274684798deb3e351a6756046d2
 157664 [host=godello1]
 157716 [host=huxelrebe0]
 157733 [host=huxelrebe1]
 158557 [host=elbling1]
 164260 [host=huxelrebe1]
 164301 [host=godello0]
 164371 [host=godello1]
 164454 [host=fiano1]
 159419 [host=huxelrebe1]
 159448 [host=chardonnay1]
 164496 fail irrelevant
 164518 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 dd29f4f4961d5c99660874c7ff090bd3c2ef6e5b
 159839 [host=godello1]
 164577 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 82f7e315d612399f65a3bedd3b2c0364b43b6929 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 dd29f4f4961d5c99660874c7ff090bd3c2ef6e5b
 164635 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 dd29f4f4961d5c99660874c7ff090bd3c2ef6e5b
 164615 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f95e80d832e923046c92cd6f0b8208cec147138e d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 748d619be3282fba35f99446098ac2d0579f6063 10c7c213bef26274684798deb3e351a6756046d2
 164638 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d4ab7201f29a182f31facc093b674d475e518f32 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 b0d61ecef66eb05bd7a4eb7ada88ec5dab06dfee 57a60c1f2779ce6d6ab5c2f677c4d0c66b09b08b
 160129 [host=albana0]
 160142 [host=chardonnay1]
 164640 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 558d83ab1a5179e146a56dd5f3cb16e1ca44ff46 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 7292e4a0a8f58333ccbd2d0d47242f9865083c9c f7993297b3469f4396af8ed14ba376982cabd64b
 164642 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 be282b14938846960cce30825a9fe762e14ca8c9 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 2c9da5f73c3a2378036c982bf0b189b34befc403
 164643 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 19107590b6ca31d855885845a1f5615bac141b35 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 32d580902b959000d79d51dff03a3560653c4fcb
 164645 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 82f7e315d612399f65a3bedd3b2c0364b43b6929 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 dd29f4f4961d5c99660874c7ff090bd3c2ef6e5b
 164648 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ca1773878d2626ee70823d52d594910c4b95dfe9 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 32d580902b959000d79d51dff03a3560653c4fcb
 164651 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 18fe877620e428c1d12b3ec4b3385dace07f686f
 164652 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 985b3e50cda925fb2755b49b3c4a1c7a339d8ae4
 164654 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 89d40f0682f9ad37091cc53685f3ecf63a44bb72
 160154 [host=godello1]
 164656 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 ebeb9ec0ad4dd63ec3b5d5d092ea56bc6fe0170f
 164659 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 f762403ed349df1b04468100dbffd0a6b6fe3303
 164661 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 89d40f0682f9ad37091cc53685f3ecf63a44bb72
 164666 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 f762403ed349df1b04468100dbffd0a6b6fe3303
 164668 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 89d40f0682f9ad37091cc53685f3ecf63a44bb72
 164670 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 f762403ed349df1b04468100dbffd0a6b6fe3303
 164672 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 89d40f0682f9ad37091cc53685f3ecf63a44bb72
 160326 [host=fiano1]
 161323 [host=elbling0]
 161770 [host=huxelrebe0]
 162367 [host=godello1]
 162550 [host=huxelrebe0]
Searching for interesting versions
 Result found: flight 157629 (pass), for basis pass
 Result found: flight 164518 (fail), for basis failure (at ancestor ~1)
 Repro found: flight 164615 (pass), for basis pass
 Repro found: flight 164645 (fail), for basis failure
 0 revisions at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 d0d8ad39ecb51cd7497cd524484fe09f50876798 7269466a5b0c0e89b36dc9a7db0554ae404aa230 54082c81d96028ba8c76fbe6784085cf1df76b20 f762403ed349df1b04468100dbffd0a6b6fe3303
No revisions left to test, checking graph state.
 Result found: flight 164659 (pass), for last pass
 Result found: flight 164661 (fail), for first failure
 Repro found: flight 164666 (pass), for last pass
 Repro found: flight 164668 (fail), for first failure
 Repro found: flight 164670 (pass), for last pass
 Repro found: flight 164672 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  89d40f0682f9ad37091cc53685f3ecf63a44bb72
  Bug not present: f762403ed349df1b04468100dbffd0a6b6fe3303
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/164672/


  commit 89d40f0682f9ad37091cc53685f3ecf63a44bb72
  Author: Jan Beulich <jbeulich@suse.com>
  Date:   Wed Aug 25 15:24:37 2021 +0200
  
      x86/p2m: guard (in particular) identity mapping entries
      
      Such entries, created by set_identity_p2m_entry(), should only be
      destroyed by clear_identity_p2m_entry(). However, similarly, entries
      created by set_mmio_p2m_entry() should only be torn down by
      clear_mmio_p2m_entry(), so the logic gets based upon p2m_mmio_direct as
      the entry type (separation between "ordinary" and 1:1 mappings would
      require a further indicator to tell apart the two).
      
      As to the guest_remove_page() change, commit 48dfb297a20a ("x86/PVH:
      allow guest_remove_page to remove p2m_mmio_direct pages"), which
      introduced the call to clear_mmio_p2m_entry(), claimed this was done for
      hwdom only without this actually having been the case. However, this
      code shouldn't be there in the first place, as MMIO entries shouldn't be
      dropped this way. Avoid triggering the warning again that 48dfb297a20a
      silenced by an adjustment to xenmem_add_to_physmap_one() instead.
      
      Note that guest_physmap_mark_populate_on_demand() gets tightened beyond
      the immediate purpose of this change.
      
      Note also that I didn't inspect code which isn't security supported,
      e.g. sharing, paging, or altp2m.
      
      This is CVE-2021-28694 / part of XSA-378.
      
      Signed-off-by: Jan Beulich <jbeulich@suse.com>
      Reviewed-by: Paul Durrant <paul@xen.org>
      master commit: 753cb68e653002e89fdcd1c80e52905fdbfb78cb
      master date: 2021-08-25 14:17:32 +0200

neato: graph is too large for cairo-renderer bitmaps. Scaling by 0.556023 to fit
pnmtopng: 71 colors found
Revision graph left in /home/logs/results/bisect/xen-4.13-testing/test-amd64-amd64-dom0pvh-xl-intel.xen-boot.{dot,ps,png,html,svg}.
----------------------------------------
164672: tolerable ALL FAIL

flight 164672 xen-4.13-testing real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/164672/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-amd64-dom0pvh-xl-intel  8 xen-boot           fail baseline untested


jobs:
 test-amd64-amd64-dom0pvh-xl-intel                            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 Tue Aug 31 01:00:39 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 01:00:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175373.319554 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKs8h-0006yG-33; Tue, 31 Aug 2021 01:00:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175373.319554; Tue, 31 Aug 2021 01: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 1mKs8g-0006xO-W4; Tue, 31 Aug 2021 01:00:34 +0000
Received: by outflank-mailman (input) for mailman id 175373;
 Tue, 31 Aug 2021 01:00:34 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=E0Op=NW=intel.com=kevin.tian@srs-us1.protection.inumbo.net>)
 id 1mKs8f-0006aR-VJ
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 01:00:34 +0000
Received: from mga11.intel.com (unknown [192.55.52.93])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id d2bca2c6-9902-4bbc-b847-352bcd15dae9;
 Tue, 31 Aug 2021 01:00:30 +0000 (UTC)
Received: from orsmga004.jf.intel.com ([10.7.209.38])
 by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Aug 2021 18:00:29 -0700
Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16])
 by orsmga004.jf.intel.com with ESMTP; 30 Aug 2021 18:00:29 -0700
Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by
 ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2242.10; Mon, 30 Aug 2021 18:00:29 -0700
Received: from orsmsx609.amr.corp.intel.com (10.22.229.22) by
 ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2242.10; Mon, 30 Aug 2021 18:00:28 -0700
Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by
 orsmsx609.amr.corp.intel.com (10.22.229.22) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2242.10 via Frontend Transport; Mon, 30 Aug 2021 18:00:28 -0700
Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.42) by
 edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2242.10; Mon, 30 Aug 2021 18:00:28 -0700
Received: from BN9PR11MB5433.namprd11.prod.outlook.com (2603:10b6:408:11e::13)
 by BN9PR11MB5529.namprd11.prod.outlook.com (2603:10b6:408:102::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23; Tue, 31 Aug
 2021 01:00:28 +0000
Received: from BN9PR11MB5433.namprd11.prod.outlook.com
 ([fe80::ddb7:fa7f:2cc:45df]) by BN9PR11MB5433.namprd11.prod.outlook.com
 ([fe80::ddb7:fa7f:2cc:45df%7]) with mapi id 15.20.4457.024; Tue, 31 Aug 2021
 01:00:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d2bca2c6-9902-4bbc-b847-352bcd15dae9
X-IronPort-AV: E=McAfee;i="6200,9189,10092"; a="215251221"
X-IronPort-AV: E=Sophos;i="5.84,364,1620716400"; 
   d="scan'208";a="215251221"
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.84,365,1620716400"; 
   d="scan'208";a="576956978"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BGfejvDrKqrhr86UwL5srymMUyxUI6pxk71woginHJGXtYRITQW2RRVBSGX8nppwhSN3PN5i7lGEMelY5GjKBGdEGWW3WIYdaZFKosYb9avMCumbNG5DaA5drqYZEiy0X82qNqB+OxcROSBGPBze6b/0d0jJ/AF0NBIPtjADVjOjpwIHYpeYdZ/V18PTMSJQRB8NSnc7QgRDpHU9RBxbPrxP63kiNB6k5ZNc/2q4U6c8EcCA7wMaNll8aXXbGWBYn6ZlNIHf4w1LQrXSwCIfMuyIRyStH8Ib1ZjBPBuQ05mQ8CbDGFhvpmGwnLr3ijij3FT3LDPy7RiFFvPKBqGQdA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Zp55JUaMS6yw0JgWnAsXUVMp0CyOF5IQ41DEMTcVP7I=;
 b=L3UW8aXeDGjGN2LFQ4kgofr9LT0y7I+wZ9kqLGoC/NwLc4FU6ZKyl9idrFRwdUr8deqi2KmTyfZrkDkhxKs7rO6LP99QfFv0du0yvOBJ3Lt0Us2HkFt2wTj9Yvg+X5LPdxg8t11zDgt2Bm1xJwIKVhokpGBTx2uhhf8YVS7F8qlxp9cvq3Df3GTl6B4dqGq+MH5aySdwsiFhEwJ6MlkKhiWPeldncllJTPFss/EvGT8PYNrAf4e8oGg3JMN6ZB4SgbDTDxyuWj5rPh3GI4g0bBrp6cHm84jpdqPs0I2d2TCykbaM2Vysq6qmXR4y+veYwcuvK96Pw1qm+49OL2I79w==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com;
 s=selector2-intel-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Zp55JUaMS6yw0JgWnAsXUVMp0CyOF5IQ41DEMTcVP7I=;
 b=d3OQQp+VguwCX78XEjyhaezuLDzlVtNffuVmKfCYpd+tEWdkfswjcOwb9h9LVJ6i3BnWdyaX1ydynLw7QsNHAEY+H6aR8xbPEIiwkz83gESEXtJfC+K0u1YPm/zNbxXtTAcFTnWPAoTDc9KB4rEagU5UcjLQakzXkL9HfDILEzg=
From: "Tian, Kevin" <kevin.tian@intel.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: "Nakajima, Jun" <jun.nakajima@intel.com>
Subject: RE: [PATCH] x86/EPT: drop "tm" field of EPT entry
Thread-Topic: [PATCH] x86/EPT: drop "tm" field of EPT entry
Thread-Index: AQHXnapmw5pEM+l2WEeL0iRylnOjequMy7ww
Date: Tue, 31 Aug 2021 01:00:27 +0000
Message-ID: <BN9PR11MB5433628C2E0E4482F9F1EBBA8CCC9@BN9PR11MB5433.namprd11.prod.outlook.com>
References: <4e4363ce-fb8a-b2ed-3a01-75efebb3ba3e@suse.com>
In-Reply-To: <4e4363ce-fb8a-b2ed-3a01-75efebb3ba3e@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
dlp-version: 11.5.1.3
dlp-product: dlpe-windows
dlp-reaction: no-action
authentication-results: suse.com; dkim=none (message not signed)
 header.d=none;suse.com; dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: e42777a6-bedc-4a85-e227-08d96c1ab91c
x-ms-traffictypediagnostic: BN9PR11MB5529:
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <BN9PR11MB55299F6EEE9947BF0CCEA4C48CCC9@BN9PR11MB5529.namprd11.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:4125;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 26DQ79LjEd4DfM2zo2JPcDigSsZlSCEP8IikvbDSOVebFfSzPMrxMzzoHGmhitzaRouv0J+kTGii5PxCjTATx9k2QOrSs08B/rB0eBbs9t3BqJQknr2Q8FldJbLJmnjhJQgc3Lkth5eqjM6Oxj/YFA47VUGEMSLCDbxGlixmwNn2DU4/97HJvEosw5Bn8Lt2ECWpirB2InxZXQ7ijiYFGW6oEXN84xmvgb/7vsZqhEvYqIuXgHNrlD0yiFVf80rPjAqGv8Rk+kdoOk9BahNqP901TzgRVuuGB4a62G0V9VsVpRmOdnD15m1tBBbuLuFaMFMooHdo/ffEgnpHR8oUKqw/uuODMIhRQe0MTJeShqYqGGHLPTr/fIXzowAovoCBlQV4gr81MghlvxlsqF3Wi2Xp5YTtxPX7DHR7JJN4oO1jLo1HzxW4/gYVx6freaInv+bSgPRAgA/aRYmQ8EJAkITppmrwXptQZMeEcRcoyMNhhwY6oTWgbT/B/9R+ByYw48dkVphdaejFR2XaJUaRYoCL7/B4cDn3SFfUb4v93hjtl8t0bqG7O1f2YKsc+SJYxEQGC/BPNhUpJWinUDEo+GiIUAkwyxocYhdxg0kj6hTUyAsy+O+MHhDFKdirA0yzQqmQpkCXmvCWLTcdaZBY/4znSq6dO7KmTedGfVEN5Re0i2VV/8WgwZP8z2dsn7Kd4lr7PiyXuQec5juwJt7JMQ==
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR11MB5433.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(366004)(136003)(39860400002)(346002)(376002)(8676002)(2906002)(478600001)(122000001)(38100700002)(8936002)(83380400001)(4744005)(38070700005)(4326008)(52536014)(5660300002)(7696005)(26005)(71200400001)(66946007)(9686003)(107886003)(55016002)(66556008)(33656002)(316002)(6506007)(110136005)(86362001)(64756008)(66446008)(66476007)(186003)(76116006);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RXVDSVVWaDVhT210dWFUSG9yTm1DV1MzZUU4aTJDN2h1NHQ4UzI2MkthR0Ex?=
 =?utf-8?B?QVhHQnV5L0JVbEFzREtEa0dmaXcwRnNSZUVRblBNV2xwaTFuUzRScWx6N1V4?=
 =?utf-8?B?SHJCYktjaFc1eWNmRWFUbG5tVHZrd0pIakZXdXE5LytzTzFMVGNnckRkd01Z?=
 =?utf-8?B?b1pHYjRQYkFuR3ZCUUJ3VTBDblpPbDhLNERwNStwOGF3OEhTOGc4bjhHaGpo?=
 =?utf-8?B?VmdQczFJeUpPbHpyTlBJYWxlWTZWRURhMURzUGt6cVBSZFNyNW9xcTBaUC82?=
 =?utf-8?B?NUloNnFsWFBVazNEa3dmTDNYelE5UTRGeXZNazRkUGhkU2QvVWtMb29aYzlX?=
 =?utf-8?B?bHhXUkRaZ2pLVjkxVHlmK2FQaUV2S3RYeDY1aFVNUVdCd1RSWEZVSmwrSVdw?=
 =?utf-8?B?cG92ZlpqLzRkQ0JqL1ZvOEJwUnN4YmNHaVBEdWJ2cGprZDZncWdWRnAvN1M1?=
 =?utf-8?B?Wlg5R2VNVXh4Y2pWd1ZkV2VpaXM4bFlQSzh2V2p1QzVURXlLNnNBa01ZMGli?=
 =?utf-8?B?SzR2ZjlDWnhhY3FsSUs5aUJVb0N2VCtNaEh5UGlQSVozc0h3Tll1QVpOS2dZ?=
 =?utf-8?B?MHBlN0FTM3gyMUF5SW5ScDRMZmZWcFBsTWlQZ05icW91QktSRktoMmVaZzdD?=
 =?utf-8?B?UEhPdkRZNit0U21Nd2lKVEZ0UmR3TmNrWGc3akY4VGtVb3hhbUlPT1dFcEUv?=
 =?utf-8?B?UXlmTVJHTy9xWlFmcXVJaWhqb3U4a1UwM3hvelIrbU9yYkZJL3BGeGJIZTV6?=
 =?utf-8?B?TU1iOXZXSURiTGRmYWo2STdRWUlPbXQ2STA3bTFJT2pUU0lqUzNEaXZRSDkz?=
 =?utf-8?B?cFpxbGljb3JOQ2Z6Ynd5Tnp3VnNMdkJkL0wwZllUVUNXSHdpZjJsT1N4Y1Y0?=
 =?utf-8?B?eHJsYWVPRVRtYkZzaURmZTYybFlRbCtnek41eW4vc0JCR1BtR2NEVllFeUpN?=
 =?utf-8?B?aVp0Z0FuWkNxeGNNOVF4Qnowd29QR3JtOVVtN2dRMnp6N2ZML3U3aWJRdTVt?=
 =?utf-8?B?OGRtQk9wTEtJSW9JN29ZNXBZUE5Ia0hSeFpOZzZQYmpqZG9FU1d6U3BLeTVN?=
 =?utf-8?B?K1Vsb0EvcXJpejJDMk5RVEYxY05yTVJ2a3FnTndLWkdHRTVDQm1rUVRWMWEz?=
 =?utf-8?B?MnR6SnEwVWFzTEtJekNUWHhrblVyOXVCU0ZqYkp5cnYzYTkvR25mNXRJRUlk?=
 =?utf-8?B?T0RxbFV5UmNFR1pBUUZnT200Q1NFU1kxekZOZ0FxZS96MisvOFpnME1Bc2RW?=
 =?utf-8?B?RU1TRFlEWWRZeUVPSjJFTnc2YmxXaC9vKzdUazdjQjBVNHgzR21aL092WmZa?=
 =?utf-8?B?YUZwd0tlb3dZdzBhSjRHMy9vMkpRVFhOQjdOTmFiVEVGODdWWGJ0NDdNbEQv?=
 =?utf-8?B?RTJjZ3ViUGVKby9KS1Jvd1MvdHFrYmxSZ3BBem8zQmxadFl2WDBFTUQ0cm9Q?=
 =?utf-8?B?T2g1WTF3YVFYL2dIdG5zaGcxWjdReUdVK2trNGJ5NGFLTmpTTktMMHFqbUJq?=
 =?utf-8?B?b3ZRVHRvenVKbEhvanFQeklSZlVncHhDd01wek5JZHJGdndCenFFcTAxSnoy?=
 =?utf-8?B?T3NwUjUrSWxXczRiMjN6UEN4SzVjVHY1WE10cE81UmlnWk1BOGpUaWNQb0Fm?=
 =?utf-8?B?cllodWozZisxQzJOWm1DWUdmUXdOUHlOVVQyM251TS9teElubVd6dG1ibXdY?=
 =?utf-8?B?cVFnUUx1MHFoZ1AzdmRMelkyODFheVVOblZKSHZMTXJTWE15dktlZlA2dG9H?=
 =?utf-8?Q?I+ijq+U19ZUPLYZCGza6QNmD21W4GBcAz4j3Sp+?=
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: BN9PR11MB5433.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e42777a6-bedc-4a85-e227-08d96c1ab91c
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Aug 2021 01:00:27.9377
 (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: Kapp9hNry0wezexC9/IjaMaJsKDRkEE0fWUr5YST6s967pShZSMrxsD6x/T5E1kLbFoAVyGCPeC1p1Hrq4I6qg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR11MB5529
X-OriginatorOrg: intel.com

PiBGcm9tOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+IFNlbnQ6IE1vbmRheSwg
QXVndXN0IDMwLCAyMDIxIDEwOjIyIFBNDQo+IA0KPiBWVC1kIHNwZWMgMy4yIGNvbnZlcnRlZCB0
aGlzIGJpdCAoYmFjaykgdG8gcmVzZXJ2ZWQuIFNpbmNlIHRoZXJlJ3Mgbm8NCj4gdXNlIG9mIGl0
IGFueXdoZXJlIGluIHRoZSB0cmVlLCBzaW1wbHkgcmVuYW1lIGl0IGFuZCBhZGp1c3QgaXRzIGNv
bW1lbnQuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5j
b20+DQoNClJldmlld2VkLWJ5OiBLZXZpbiBUaWFuIDxrZXZpbi50aWFuQGludGVsLmNvbT4NCg0K
PiANCj4gLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdm14L3ZteC5oDQo+ICsrKyBiL3hl
bi9pbmNsdWRlL2FzbS14ODYvaHZtL3ZteC92bXguaA0KPiBAQCAtNDYsOCArNDYsNyBAQCB0eXBl
ZGVmIHVuaW9uIHsNCj4gICAgICAgICAgbWZuICAgICAgICAgOiAgIDQwLCAvKiBiaXRzIDUxOjEy
IC0gTWFjaGluZSBwaHlzaWNhbCBmcmFtZSBudW1iZXIgKi8NCj4gICAgICAgICAgc2FfcDJtdCAg
ICAgOiAgIDYsICAvKiBiaXRzIDU3OjUyIC0gU29mdHdhcmUgYXZhaWxhYmxlIDIgKi8NCj4gICAg
ICAgICAgYWNjZXNzICAgICAgOiAgIDQsICAvKiBiaXRzIDYxOjU4IC0gcDJtX2FjY2Vzc190ICov
DQo+IC0gICAgICAgIHRtICAgICAgICAgIDogICAxLCAgLyogYml0IDYyIC0gVlQtZCB0cmFuc2ll
bnQtbWFwcGluZyBoaW50IGluDQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hh
cmVkIEVQVC9WVC1kIHVzYWdlICovDQo+ICsgICAgICAgIF9yc3ZkICAgICAgIDogICAxLCAgLyog
Yml0IDYyIC0gcmVzZXJ2ZWQgKi8NCj4gICAgICAgICAgc3VwcHJlc3NfdmUgOiAgIDE7ICAvKiBi
aXQgNjMgLSBzdXBwcmVzcyAjVkUgKi8NCj4gICAgICB9Ow0KPiAgICAgIHU2NCBlcHRlOw0KDQo=


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 01:07:47 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 01:07:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175393.319564 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKsFc-00035D-RQ; Tue, 31 Aug 2021 01:07:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175393.319564; Tue, 31 Aug 2021 01:07:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKsFc-000356-OW; Tue, 31 Aug 2021 01:07:44 +0000
Received: by outflank-mailman (input) for mailman id 175393;
 Tue, 31 Aug 2021 01:07:43 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QH02=NW=kernel.org=sstabellini@srs-us1.protection.inumbo.net>)
 id 1mKsFb-000350-Ob
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 01:07:43 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 3f91cd22-b6fa-4e89-9df1-ccc327575b76;
 Tue, 31 Aug 2021 01:07:42 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id E780460FF2;
 Tue, 31 Aug 2021 01:07: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: 3f91cd22-b6fa-4e89-9df1-ccc327575b76
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1630372062;
	bh=dj3LXRUeaLfQqrDYcn6jdtmyWGlRMe7c/lnewJRaE2k=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=WxfZ2T3XujqRq6vtZt+16ICN8yfmpDKW5Sdvuem2KLjGsu0OULrLTgeC+2oM8Y/sS
	 avm4r5PDBrx5YAfswXpTELwlzq0HuCIOMg9OoGN/LIpEWX4nOx2mHOh+SzNKPWAwSg
	 2ayjJYAbXB5ZQpikLar51ZA1h1Cr8e86m00IwaRwgK6kp7vT4Is5LIKM+lWqEBYgTn
	 ZdOxirkQENhtUE0BbNpdXV1SOcOZ0Y3v89xG+404cmL+wXduPVSw/W0vqriby9lN6g
	 UY5I3JGjZTiP2CD9nNvIOHybIvi4cOXSpuFDx2JpNolOXfaM23TPTWIsm+ectPG6Lg
	 sUqgekfdoxQEQ==
Date: Mon, 30 Aug 2021 18:07:41 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@sstabellini-ThinkPad-T480s
To: Wei Chen <wei.chen@arm.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, julien@xen.org, 
    jbeulich@suse.com, Bertrand.Marquis@arm.com
Subject: Re: [XEN RFC PATCH 28/40] xen/x86: decouple nodes_cover_memory with
 E820 map
In-Reply-To: <20210811102423.28908-29-wei.chen@arm.com>
Message-ID: <alpine.DEB.2.21.2108301807020.17851@sstabellini-ThinkPad-T480s>
References: <20210811102423.28908-1-wei.chen@arm.com> <20210811102423.28908-29-wei.chen@arm.com>
User-Agent: Alpine 2.21 (DEB 202 2017-01-01)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 11 Aug 2021, Wei Chen wrote:
> We will reuse nodes_cover_memory for Arm to check its bootmem
> info. So we introduce two arch helpers to get memory map's
> entry number and specified entry's range:
>     arch_get_memory_bank_number
>     arch_get_memory_bank_range
> 
> Depends above two helpers, we make nodes_cover_memory become
> architecture independent.

You might want to note that the only change from an x86 perspective is
the additional checks:

  !start || !end


> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>  xen/arch/x86/numa.c    | 18 ++++++++++++++++++
>  xen/arch/x86/srat.c    |  8 +++-----
>  xen/include/xen/numa.h |  4 ++++
>  3 files changed, 25 insertions(+), 5 deletions(-)
> 
> diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c
> index 6908738305..8b43be4aa7 100644
> --- a/xen/arch/x86/numa.c
> +++ b/xen/arch/x86/numa.c
> @@ -128,6 +128,24 @@ unsigned int __init arch_get_dma_bitsize(void)
>                   + PAGE_SHIFT, 32);
>  }
>  
> +uint32_t __init arch_meminfo_get_nr_bank(void)
> +{
> +	return e820.nr_map;
> +}
> +
> +int __init arch_meminfo_get_ram_bank_range(int bank,
> +	unsigned long long *start, unsigned long long *end)
> +{
> +	if (e820.map[bank].type != E820_RAM || !start || !end) {
> +		return -1;
> +	}
> +
> +	*start = e820.map[bank].addr;
> +	*end = e820.map[bank].addr + e820.map[bank].size;
> +
> +	return 0;
> +}
> +
>  static void dump_numa(unsigned char key)
>  {
>      s_time_t now = NOW();
> diff --git a/xen/arch/x86/srat.c b/xen/arch/x86/srat.c
> index 6d68b8a614..2298353846 100644
> --- a/xen/arch/x86/srat.c
> +++ b/xen/arch/x86/srat.c
> @@ -316,18 +316,16 @@ acpi_numa_memory_affinity_init(const struct acpi_srat_mem_affinity *ma)
>  static int __init nodes_cover_memory(void)
>  {
>  	int i;
> +	uint32_t nr_banks = arch_meminfo_get_nr_bank();
>  
> -	for (i = 0; i < e820.nr_map; i++) {
> +	for (i = 0; i < nr_banks; i++) {
>  		int j, found;
>  		unsigned long long start, end;
>  
> -		if (e820.map[i].type != E820_RAM) {
> +		if (arch_meminfo_get_ram_bank_range(i, &start, &end)) {
>  			continue;
>  		}
>  
> -		start = e820.map[i].addr;
> -		end = e820.map[i].addr + e820.map[i].size;
> -
>  		do {
>  			found = 0;
>  			for_each_node_mask(j, memory_nodes_parsed)
> diff --git a/xen/include/xen/numa.h b/xen/include/xen/numa.h
> index 0475823b13..6d18059bcd 100644
> --- a/xen/include/xen/numa.h
> +++ b/xen/include/xen/numa.h
> @@ -89,6 +89,10 @@ static inline void clear_node_cpumask(int cpu)
>  	cpumask_clear_cpu(cpu, &node_to_cpumask[cpu_to_node(cpu)]);
>  }
>  
> +extern uint32_t arch_meminfo_get_nr_bank(void);
> +extern int arch_meminfo_get_ram_bank_range(int bank,
> +    unsigned long long *start, unsigned long long *end);
> +
>  #endif /* CONFIG_NUMA */
>  
>  #endif /* _XEN_NUMA_H */
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 01:16:56 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 01:16:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175402.319576 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKsOO-0004ed-O2; Tue, 31 Aug 2021 01:16:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175402.319576; Tue, 31 Aug 2021 01:16: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 1mKsOO-0004eW-L7; Tue, 31 Aug 2021 01:16:48 +0000
Received: by outflank-mailman (input) for mailman id 175402;
 Tue, 31 Aug 2021 01:16:47 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QH02=NW=kernel.org=sstabellini@srs-us1.protection.inumbo.net>)
 id 1mKsON-0004eO-Be
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 01:16:47 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 7c9638ad-8006-4cba-9ab4-f12118b8f5a8;
 Tue, 31 Aug 2021 01:16:46 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id 5539661027;
 Tue, 31 Aug 2021 01:16: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: 7c9638ad-8006-4cba-9ab4-f12118b8f5a8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1630372605;
	bh=EMMkERme4bpHAO3lHAWCo82aopT/ZGILAKLGIOpu4RA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=HbxXq7GUQ3gZJmL85C+bo+sXtnxYi1y9Dscchk6CQ2JvsM1oaKBNLg4pLLhUQ98VS
	 ztmRBAgOKsJM/pflQumJkMKqWMy9NBFotzh/S0sjRdGaXUmUvbI4qpv3A1NT08doFv
	 KZHmtmuKU5iM4Y0D69cipz0iPrM3ViybmQ7blELqh5Ci1fLbUHpliPWapl/w5/C8cG
	 k2d98e+KNh90Ke6nxIFMmuNjJJuFc9VPtARBo2M9R3JrCrnodn7iLvTcWsfowRA8fc
	 JxMS6WEZJLA1SgY3Ocl8doSQ7G843P+WBue5wxTivTJFqf3/odUM09MZoFuAdrZKau
	 jPD0ba5Ujjs+A==
Date: Mon, 30 Aug 2021 18:16:44 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@sstabellini-ThinkPad-T480s
To: Wei Chen <wei.chen@arm.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, julien@xen.org, 
    jbeulich@suse.com, Bertrand.Marquis@arm.com
Subject: Re: [XEN RFC PATCH 31/40] xen/x86: move nodes_cover_memory to
 common
In-Reply-To: <20210811102423.28908-32-wei.chen@arm.com>
Message-ID: <alpine.DEB.2.21.2108301813320.17851@sstabellini-ThinkPad-T480s>
References: <20210811102423.28908-1-wei.chen@arm.com> <20210811102423.28908-32-wei.chen@arm.com>
User-Agent: Alpine 2.21 (DEB 202 2017-01-01)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 11 Aug 2021, Wei Chen wrote:
> Not only ACPU NUMA, but also Arm device tree based NUMA
> will use nodes_cover_memory to do sanity check. So we move
> this function from arch/x86 to common.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>  xen/arch/x86/srat.c    | 40 ----------------------------------------
>  xen/common/numa.c      | 40 ++++++++++++++++++++++++++++++++++++++++
>  xen/include/xen/numa.h |  1 +
>  3 files changed, 41 insertions(+), 40 deletions(-)
> 
> diff --git a/xen/arch/x86/srat.c b/xen/arch/x86/srat.c
> index dd3aa30843..dcebc7adec 100644
> --- a/xen/arch/x86/srat.c
> +++ b/xen/arch/x86/srat.c
> @@ -308,46 +308,6 @@ acpi_numa_memory_affinity_init(const struct acpi_srat_mem_affinity *ma)
>  	num_node_memblks++;
>  }
>  
> -/* Sanity check to catch more bad SRATs (they are amazingly common).
> -   Make sure the PXMs cover all memory. */
> -static int __init nodes_cover_memory(void)
> -{
> -	int i;
> -	uint32_t nr_banks = arch_meminfo_get_nr_bank();
> -
> -	for (i = 0; i < nr_banks; i++) {
> -		int j, found;
> -		unsigned long long start, end;
> -
> -		if (arch_meminfo_get_ram_bank_range(i, &start, &end)) {
> -			continue;
> -		}
> -
> -		do {
> -			found = 0;
> -			for_each_node_mask(j, memory_nodes_parsed)
> -				if (start < nodes[j].end
> -				    && end > nodes[j].start) {
> -					if (start >= nodes[j].start) {
> -						start = nodes[j].end;
> -						found = 1;
> -					}
> -					if (end <= nodes[j].end) {
> -						end = nodes[j].start;
> -						found = 1;
> -					}
> -				}
> -		} while (found && start < end);
> -
> -		if (start < end) {
> -			printk(KERN_ERR "SRAT: No PXM for e820 range: "
> -				"%016Lx - %016Lx\n", start, end);
> -			return 0;
> -		}
> -	}
> -	return 1;
> -}
> -
>  void __init acpi_numa_arch_fixup(void) {}
>  
>  static uint64_t __initdata srat_region_mask;
> diff --git a/xen/common/numa.c b/xen/common/numa.c
> index 79ab250543..74960885a6 100644
> --- a/xen/common/numa.c
> +++ b/xen/common/numa.c
> @@ -193,6 +193,46 @@ void __init cutoff_node(int i, u64 start, u64 end)
>  	}
>  }
>  
> +/* Sanity check to catch more bad SRATs (they are amazingly common).
> +   Make sure the PXMs cover all memory. */
> +int __init nodes_cover_memory(void)
> +{
> +	int i;
> +	uint32_t nr_banks = arch_meminfo_get_nr_bank();
> +
> +	for (i = 0; i < nr_banks; i++) {
> +		int j, found;
> +		unsigned long long start, end;
> +
> +		if (arch_meminfo_get_ram_bank_range(i, &start, &end)) {
> +			continue;
> +		}
> +
> +		do {
> +			found = 0;
> +			for_each_node_mask(j, memory_nodes_parsed)
> +				if (start < nodes[j].end
> +				    && end > nodes[j].start) {
> +					if (start >= nodes[j].start) {
> +						start = nodes[j].end;
> +						found = 1;
> +					}
> +					if (end <= nodes[j].end) {
> +						end = nodes[j].start;
> +						found = 1;
> +					}
> +				}
> +		} while (found && start < end);
> +
> +		if (start < end) {
> +			printk(KERN_ERR "SRAT: No PXM for e820 range: "
> +				"%016Lx - %016Lx\n", start, end);

I don't know if you are already doing this in a later patch but the
message shouldn't say e820 as it doesn't exist on all architecture.
Maybe "for address range" or "for memory range" would suffice.

Normally we don't do change together with code movement but in this case
I think it would be OK.


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 01:27:03 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 01:27:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175411.319586 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKsYE-0006GQ-NX; Tue, 31 Aug 2021 01:26:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175411.319586; Tue, 31 Aug 2021 01:26:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKsYE-0006GJ-Ka; Tue, 31 Aug 2021 01:26:58 +0000
Received: by outflank-mailman (input) for mailman id 175411;
 Tue, 31 Aug 2021 01:26:57 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QH02=NW=kernel.org=sstabellini@srs-us1.protection.inumbo.net>)
 id 1mKsYD-0006GD-AW
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 01:26:57 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id cd9e16a5-b63e-471c-a7fa-802b143fbfbb;
 Tue, 31 Aug 2021 01:26:56 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id 5984760F6C;
 Tue, 31 Aug 2021 01:26: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: cd9e16a5-b63e-471c-a7fa-802b143fbfbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1630373215;
	bh=zBk4MwTfyJ0COOTIT4pyCMnEC13YJPUf2VKMtsbILOU=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=EUwhS0C3NJUud9iA3ZCQkJZabZDa3caf70HQ4erh2alo7H+a5cn3n9iPMt+eF8M5n
	 Qq+d2xL1qBtl39UwAUSVBCwhoxNV3+VB+SLvFWY834I+rRiHpGuOmdj6iXF7WE2vf4
	 sx8TBsQluu46k0oN1WzCTtA0MDe0SGVAZguR8QFgaa6/R53AdFti6sVaBqBg187Ast
	 WeYRZuodbiL4ld1b0enyyP4y2KShm2S2mFsjsxRqL3F6WvZWKKTCYQRpklxuZiFWb/
	 JDw6aje/T5a/lmIBjLuGoD+wjpJ9GOZrJA2e1cTRvfU+gRyvDcWvSp/eWkbimtsfQh
	 PfE6SwcmP0eoA==
Date: Mon, 30 Aug 2021 18:26:54 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@sstabellini-ThinkPad-T480s
To: Wei Chen <wei.chen@arm.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, julien@xen.org, 
    jbeulich@suse.com, Bertrand.Marquis@arm.com
Subject: Re: [XEN RFC PATCH 34/40] xen: move numa_scan_nodes from x86 to
 common
In-Reply-To: <20210811102423.28908-35-wei.chen@arm.com>
Message-ID: <alpine.DEB.2.21.2108301825200.17851@sstabellini-ThinkPad-T480s>
References: <20210811102423.28908-1-wei.chen@arm.com> <20210811102423.28908-35-wei.chen@arm.com>
User-Agent: Alpine 2.21 (DEB 202 2017-01-01)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 11 Aug 2021, Wei Chen wrote:
> After the previous patches preparations, numa_scan_nodes can be
> used by Arm and x86. So we move this function from x86 to common.
> As node_cover_memory will not be used cross files, we restore its
> static attribute in this patch.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>  xen/arch/x86/srat.c        | 52 ------------------------------------
>  xen/common/numa.c          | 54 +++++++++++++++++++++++++++++++++++++-
>  xen/include/asm-x86/acpi.h |  3 ---
>  xen/include/xen/numa.h     |  3 ++-
>  4 files changed, 55 insertions(+), 57 deletions(-)
> 
> diff --git a/xen/arch/x86/srat.c b/xen/arch/x86/srat.c
> index c979939fdd..c9f019c307 100644
> --- a/xen/arch/x86/srat.c
> +++ b/xen/arch/x86/srat.c
> @@ -361,58 +361,6 @@ void __init srat_parse_regions(u64 addr)
>  	pfn_pdx_hole_setup(mask >> PAGE_SHIFT);
>  }
>  
> -/* Use the information discovered above to actually set up the nodes. */
> -int __init numa_scan_nodes(u64 start, u64 end)
> -{
> -	int i;
> -	nodemask_t all_nodes_parsed;
> -
> -	/* First clean up the node list */
> -	for (i = 0; i < MAX_NUMNODES; i++)
> -		cutoff_node(i, start, end);
> -
> -#ifdef CONFIG_ACPI_NUMA
> -	if (acpi_numa <= 0)
> -		return -1;
> -#endif
> -
> -	if (!nodes_cover_memory()) {
> -		bad_srat();
> -		return -1;
> -	}
> -
> -	memnode_shift = compute_hash_shift(node_memblk_range, num_node_memblks,
> -				memblk_nodeid);
> -
> -	if (memnode_shift < 0) {
> -		printk(KERN_ERR
> -		     "SRAT: No NUMA node hash function found. Contact maintainer\n");
> -		bad_srat();
> -		return -1;
> -	}
> -
> -	nodes_or(all_nodes_parsed, memory_nodes_parsed, processor_nodes_parsed);
> -
> -	/* Finally register nodes */
> -	for_each_node_mask(i, all_nodes_parsed)
> -	{
> -		u64 size = nodes[i].end - nodes[i].start;
> -		if ( size == 0 )
> -			printk(KERN_WARNING "SRAT: Node %u has no memory. "
> -			       "BIOS Bug or mis-configured hardware?\n", i);
> -
> -		setup_node_bootmem(i, nodes[i].start, nodes[i].end);
> -	}
> -	for (i = 0; i < nr_cpu_ids; i++) {
> -		if (cpu_to_node[i] == NUMA_NO_NODE)
> -			continue;
> -		if (!nodemask_test(cpu_to_node[i], &processor_nodes_parsed))
> -			numa_set_node(i, NUMA_NO_NODE);
> -	}
> -	numa_init_array();
> -	return 0;
> -}
> -
>  static unsigned node_to_pxm(nodeid_t n)
>  {
>  	unsigned i;
> diff --git a/xen/common/numa.c b/xen/common/numa.c
> index 4152bbe83b..8ca13e27d1 100644
> --- a/xen/common/numa.c
> +++ b/xen/common/numa.c
> @@ -195,7 +195,7 @@ void __init cutoff_node(int i, u64 start, u64 end)
>  
>  /* Sanity check to catch more bad SRATs (they are amazingly common).
>     Make sure the PXMs cover all memory. */
> -int __init nodes_cover_memory(void)
> +static int __init nodes_cover_memory(void)
>  {
>  	int i;
>  	uint32_t nr_banks = arch_meminfo_get_nr_bank();
> @@ -271,6 +271,58 @@ void __init numa_init_array(void)
>      }
>  }
>  
> +/* Use the information discovered above to actually set up the nodes. */
> +int __init numa_scan_nodes(u64 start, u64 end)
> +{
> +	int i;
> +	nodemask_t all_nodes_parsed;
> +
> +	/* First clean up the node list */
> +	for (i = 0; i < MAX_NUMNODES; i++)
> +		cutoff_node(i, start, end);
> +
> +#ifdef CONFIG_ACPI_NUMA
> +	if (acpi_numa <= 0)
> +		return -1;
> +#endif
> +
> +	if (!nodes_cover_memory()) {
> +		bad_srat();
> +		return -1;
> +	}
> +
> +	memnode_shift = compute_hash_shift(node_memblk_range, num_node_memblks,
> +				memblk_nodeid);
> +
> +	if (memnode_shift < 0) {
> +		printk(KERN_ERR
> +		     "SRAT: No NUMA node hash function found. Contact maintainer\n");
> +		bad_srat();
> +		return -1;
> +	}
> +
> +	nodes_or(all_nodes_parsed, memory_nodes_parsed, processor_nodes_parsed);
> +
> +	/* Finally register nodes */
> +	for_each_node_mask(i, all_nodes_parsed)
> +	{
> +		u64 size = nodes[i].end - nodes[i].start;
> +		if ( size == 0 )
> +			printk(KERN_WARNING "SRAT: Node %u has no memory. "
> +			       "BIOS Bug or mis-configured hardware?\n", i);

Not all archs have a BIOS so I'd say "firmware bug". Like last time, we
usually don't do code changes together with code movement, but in this
case it might be OK. I am also happy with a separate patch to adjust the
two comments (this one and the one in the previous patch).


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 01:50:50 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 01:50:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175417.319598 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKsv6-0001By-Gh; Tue, 31 Aug 2021 01:50:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175417.319598; Tue, 31 Aug 2021 01: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 1mKsv6-0001Br-CZ; Tue, 31 Aug 2021 01:50:36 +0000
Received: by outflank-mailman (input) for mailman id 175417;
 Tue, 31 Aug 2021 01:50:35 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QH02=NW=kernel.org=sstabellini@srs-us1.protection.inumbo.net>)
 id 1mKsv4-0001Bl-UY
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 01:50:34 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id b3c4101c-4f87-4137-a061-3209b7006f58;
 Tue, 31 Aug 2021 01:50:33 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id D03E560232;
 Tue, 31 Aug 2021 01:50:32 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b3c4101c-4f87-4137-a061-3209b7006f58
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1630374633;
	bh=fwAYCYhhlMGWtPB+4CoWte3RqbpW+k64wLUbbGR6GDM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=oXtFje7wo6lMjm7sJDtrmO3YnMGDwBurY74XD6NmXFEX71CGL3ZGNQtEv6lOau+8q
	 0M6E/DUJtuMueguNRB7h+ZrgFWpmxBdWBz8KVDsrOXIwQvSDJOMPOEVN7Mgk1haHIt
	 wpf9DOAx5vLDc2xs+pNFj7UFSTn9KSW3frty50IYYYaS6kWq0nZdnFx20Xgr+6aB7W
	 sb/I3EjPgEzTSQnkwI012KLcv0n5NrYTnr8f+Rrxa4t+RlDQN6LYWhK+k6NYBITtyJ
	 ywK5Sxtbwt3E5aZQ8jAVIcuDPibfvpxePi+6jy6B0N4B+YQxaSD8c7c9tTjVw+cwFa
	 PApjOQUxZbOFw==
Date: Mon, 30 Aug 2021 18:50:32 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@sstabellini-ThinkPad-T480s
To: Wei Chen <wei.chen@arm.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, julien@xen.org, 
    jbeulich@suse.com, Bertrand.Marquis@arm.com
Subject: Re: [XEN RFC PATCH 38/40] xen/arm: enable device tree based NUMA in
 system init
In-Reply-To: <20210811102423.28908-39-wei.chen@arm.com>
Message-ID: <alpine.DEB.2.21.2108301848140.17851@sstabellini-ThinkPad-T480s>
References: <20210811102423.28908-1-wei.chen@arm.com> <20210811102423.28908-39-wei.chen@arm.com>
User-Agent: Alpine 2.21 (DEB 202 2017-01-01)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 11 Aug 2021, Wei Chen wrote:
> Everything is ready, we can remove the fake NUMA node and
> depends on device tree to create NUMA system.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>  xen/arch/arm/numa.c        | 45 ++++++++++++++++++++++----------------
>  xen/include/asm-arm/numa.h |  7 ------
>  2 files changed, 26 insertions(+), 26 deletions(-)
> 
> diff --git a/xen/arch/arm/numa.c b/xen/arch/arm/numa.c
> index 2a18c97470..3b04220e60 100644
> --- a/xen/arch/arm/numa.c
> +++ b/xen/arch/arm/numa.c
> @@ -18,6 +18,7 @@
>   *
>   */
>  #include <xen/init.h>
> +#include <xen/device_tree.h>
>  #include <xen/nodemask.h>
>  #include <xen/numa.h>
>  #include <xen/pfn.h>
> @@ -83,28 +84,34 @@ void __init numa_init(bool acpi_off)
>      paddr_t ram_size = 0;
>      paddr_t ram_end = 0;
>  
> -    printk(XENLOG_WARNING
> -        "NUMA has not been supported yet, NUMA off!\n");
> -    /* Arm NUMA has not been implemented until this patch */
> -    numa_off = true;
> +    /* NUMA has been turned off through Xen parameters */
> +    if ( numa_off )
> +        goto mem_init;
>  
> -    /*
> -     * Set all cpu_to_node mapping to 0, this will make cpu_to_node
> -     * function return 0 as previous fake cpu_to_node API.
> -     */
> -    for ( idx = 0; idx < NR_CPUS; idx++ )
> -        cpu_to_node[idx] = 0;
> -
> -    /*
> -     * Make node_to_cpumask, node_spanned_pages and node_start_pfn
> -     * return as previous fake APIs.
> -     */
> -    for ( idx = 0; idx < MAX_NUMNODES; idx++ ) {
> -        node_to_cpumask[idx] = cpu_online_map;
> -        node_spanned_pages(idx) = (max_page - mfn_x(first_valid_mfn));
> -        node_start_pfn(idx) = (mfn_x(first_valid_mfn));
> +    /* Initialize NUMA from device tree when system is not ACPI booted */
> +    if ( acpi_off )
> +    {
> +#ifdef CONFIG_DEVICE_TREE_NUMA
> +        int ret = numa_device_tree_init(device_tree_flattened);
> +        if ( !ret )
> +            goto mem_init;
> +        printk(XENLOG_WARNING
> +               "Init NUMA from device tree failed, ret=%d\n", ret);
> +#else
> +        printk(XENLOG_WARNING
> +               "CONFIG_DEVICE_TREE_NUMA is not set, NUMA off!\n");

I don't think we want to see this warning every time at boot when
CONFIG_DEVICE_TREE_NUMA is off. I'd set it to XENLOG_DEBUG or remove it.

Also given that we have many stub functions in
xen/include/asm-arm/numa.h already, maybe we could also have a stub
function for numa_device_tree_init so that we won'd need an #ifdef
CONFIG_DEVICE_TREE_NUMA here.


> +#endif
> +        numa_off = true;
> +    }
> +    else
> +    {
> +        /* We don't support NUMA for ACPI boot currently */
> +        printk(XENLOG_WARNING
> +               "ACPI NUMA has not been supported yet, NUMA off!\n");
> +        numa_off = true;
>      }
>  
> +mem_init:
>      /*
>       * Find the minimal and maximum address of RAM, NUMA will
>       * build a memory to node mapping table for the whole range.
> diff --git a/xen/include/asm-arm/numa.h b/xen/include/asm-arm/numa.h
> index a3982a94b6..425eb9aede 100644
> --- a/xen/include/asm-arm/numa.h
> +++ b/xen/include/asm-arm/numa.h
> @@ -30,13 +30,6 @@ extern int numa_device_tree_init(const void *fdt);
>  extern void numa_set_distance(nodeid_t from, nodeid_t to, uint32_t distance);
>  extern void arch_numa_init_failed_fallback(void);
>  
> -/*
> - * Temporary for fake NUMA node, when CPU, memory and distance
> - * matrix will be read from DTB or ACPI SRAT. The following
> - * symbols will be removed.
> - */
> -extern mfn_t first_valid_mfn;
> -
>  #else
>  
>  /* Fake one node for now. See also node_online_map. */
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 01:53:23 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 01:53:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175424.319608 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKsxn-00022n-0B; Tue, 31 Aug 2021 01:53:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175424.319608; Tue, 31 Aug 2021 01:53: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 1mKsxm-00022g-TR; Tue, 31 Aug 2021 01:53:22 +0000
Received: by outflank-mailman (input) for mailman id 175424;
 Tue, 31 Aug 2021 01:53:22 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QH02=NW=kernel.org=sstabellini@srs-us1.protection.inumbo.net>)
 id 1mKsxm-00022Y-5o
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 01:53:22 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 3816d568-09fe-11ec-acb4-12813bfff9fa;
 Tue, 31 Aug 2021 01:53:21 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id 58F2460724;
 Tue, 31 Aug 2021 01:53: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: 3816d568-09fe-11ec-acb4-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1630374800;
	bh=m2Q/n6eTrNbY+hQWA8G97Hw942APQq9RCmw+JK0zAV4=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=L4UJvU4bZA5BPfeSxPaUbgRkkFjiKONlPB1jg2656mPbBYOTOX0sVO74gemWVwuQz
	 Gmrt0aH/yrhP23e3Z8HVCwlDonbLnEDjagKUIztfHF3omQNC+m1Qrhxvrp5MoT3TNJ
	 qoK2zA8GoaBvyDzAZukEMR9fhyY0xcvMkQ8szP+8ba/pYugofkfMpR4tmgYNwHrrI8
	 7QB1UDLF1nTMhQUE/o93pdb/aDmfnxO0QJIQjrmaM+n5oi3NsIm1tAHjtB5/MxHIo0
	 4yX+2St4DkPsy9Ectuk1VrGdTdJyswc84UhZMpExNywjklFNUpe4fZeFdkvleG4KNe
	 1BWWkgDS4wQlA==
Date: Mon, 30 Aug 2021 18:53:19 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@sstabellini-ThinkPad-T480s
To: Wei Chen <wei.chen@arm.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, julien@xen.org, 
    jbeulich@suse.com, Bertrand.Marquis@arm.com
Subject: Re: [XEN RFC PATCH 39/40] xen/x86: move numa_setup to common to
 support NUMA switch in command line
In-Reply-To: <20210811102423.28908-40-wei.chen@arm.com>
Message-ID: <alpine.DEB.2.21.2108301852380.17851@sstabellini-ThinkPad-T480s>
References: <20210811102423.28908-1-wei.chen@arm.com> <20210811102423.28908-40-wei.chen@arm.com>
User-Agent: Alpine 2.21 (DEB 202 2017-01-01)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 11 Aug 2021, Wei Chen wrote:
> Xen x86 has created a command line parameter "numa" as NUMA switch for
> user to turn on/off NUMA. As device tree based NUMA has been enabled
> for Arm, this parameter can be reused by Arm. So in this patch, we move
> this parameter to common.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>  xen/arch/x86/numa.c    | 34 ----------------------------------
>  xen/common/numa.c      | 35 ++++++++++++++++++++++++++++++++++-
>  xen/include/xen/numa.h |  1 -
>  3 files changed, 34 insertions(+), 36 deletions(-)
> 
> diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c
> index 8b43be4aa7..380d8ed6fd 100644
> --- a/xen/arch/x86/numa.c
> +++ b/xen/arch/x86/numa.c
> @@ -11,7 +11,6 @@
>  #include <xen/nodemask.h>
>  #include <xen/numa.h>
>  #include <xen/keyhandler.h>
> -#include <xen/param.h>
>  #include <xen/time.h>
>  #include <xen/smp.h>
>  #include <xen/pfn.h>
> @@ -19,9 +18,6 @@
>  #include <xen/sched.h>
>  #include <xen/softirq.h>
>  
> -static int numa_setup(const char *s);
> -custom_param("numa", numa_setup);
> -
>  #ifndef Dprintk
>  #define Dprintk(x...)
>  #endif
> @@ -50,35 +46,6 @@ void numa_set_node(int cpu, nodeid_t node)
>      cpu_to_node[cpu] = node;
>  }
>  
> -/* [numa=off] */
> -static __init int numa_setup(const char *opt)
> -{
> -    if ( !strncmp(opt,"off",3) )
> -        numa_off = true;
> -    else if ( !strncmp(opt,"on",2) )
> -        numa_off = false;
> -#ifdef CONFIG_NUMA_EMU
> -    else if ( !strncmp(opt, "fake=", 5) )
> -    {
> -        numa_off = false;
> -        numa_fake = simple_strtoul(opt+5,NULL,0);
> -        if ( numa_fake >= MAX_NUMNODES )
> -            numa_fake = MAX_NUMNODES;
> -    }
> -#endif
> -#ifdef CONFIG_ACPI_NUMA
> -    else if ( !strncmp(opt,"noacpi",6) )
> -    {
> -        numa_off = false;
> -        acpi_numa = -1;
> -    }
> -#endif
> -    else
> -        return -EINVAL;
> -
> -    return 0;
> -} 
> -
>  /*
>   * Setup early cpu_to_node.
>   *
> @@ -287,4 +254,3 @@ static __init int register_numa_trigger(void)
>      return 0;
>  }
>  __initcall(register_numa_trigger);
> -

spurious change


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 02:55:26 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 02:55:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175431.319620 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKtvb-0000Yp-Lv; Tue, 31 Aug 2021 02:55:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175431.319620; Tue, 31 Aug 2021 02: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 1mKtvb-0000Yi-Ij; Tue, 31 Aug 2021 02:55:11 +0000
Received: by outflank-mailman (input) for mailman id 175431;
 Tue, 31 Aug 2021 02: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 1mKtva-0000YY-HT; Tue, 31 Aug 2021 02: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 1mKtva-000351-B2; Tue, 31 Aug 2021 02: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 1mKtva-0003e9-14; Tue, 31 Aug 2021 02:55:10 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mKtvZ-000772-UZ; Tue, 31 Aug 2021 02:55:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=lv8eWUCqXXL+qR1v4lHmOlmlsOw8lBSpuEPI74g1KfY=; b=gJM+VZiv0032f/Wme+lI5u2E6c
	YwbPkwsR++yckBvC79RLITfYV294KQpNQ2CHDQx34/qq2gm+RTVBrNRYjdElpSV2sf85kDS92YzLs
	pcjw8gKOQH4SbT9OvQjgP6h/fFCBbZszDWjBbPgBY65Q2nAPLLzgHBbxWuJ2gmYf8Ivg=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164630-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 164630: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=77d5fa80246e8784f89e109ff9dadfeb7089ff85
X-Osstest-Versions-That:
    ovmf=a82bad9730178a1e3a67c9bfc83412b87a8ad734
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 31 Aug 2021 02:55:09 +0000

flight 164630 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164630/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 77d5fa80246e8784f89e109ff9dadfeb7089ff85
baseline version:
 ovmf                 a82bad9730178a1e3a67c9bfc83412b87a8ad734

Last test of basis   164556  2021-08-28 19:27:14 Z    2 days
Testing same since   164630  2021-08-30 01:10:45 Z    1 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
   a82bad9730..77d5fa8024  77d5fa80246e8784f89e109ff9dadfeb7089ff85 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 04:31:27 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 04:31:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175441.319633 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKvPs-0002er-NV; Tue, 31 Aug 2021 04:30:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175441.319633; Tue, 31 Aug 2021 04:30:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKvPs-0002ek-KR; Tue, 31 Aug 2021 04:30:32 +0000
Received: by outflank-mailman (input) for mailman id 175441;
 Tue, 31 Aug 2021 04:30: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 1mKvPr-0002ea-88; Tue, 31 Aug 2021 04:30: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 1mKvPr-0004r0-1z; Tue, 31 Aug 2021 04:30: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 1mKvPq-0007gk-Nh; Tue, 31 Aug 2021 04:30:30 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mKvPq-000750-Mr; Tue, 31 Aug 2021 04:30:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=DXQeRBgQFaT9DsftzV118zggfJGI9U0R2OpfScNwSNs=; b=04MQHRp4p37yb3A6I5Lkh8z5PD
	uTP0iaYw3TFDEW8Y1GtUKPzT33Q4jkKijgdwIz8p0yhi4ODly4Z/nMnCllP6cxdeB7TOFqggqZ4uq
	4/yA77yZExn9zhHI0OfHKYRedUG/QFwkCTkd1hqvHS6ydSFEBjyZ3wpT9wewdUFbZXT0=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164625-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.11-testing test] 164625: regressions - FAIL
X-Osstest-Failures:
    xen-4.11-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    xen-4.11-testing:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    xen-4.11-testing:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:nonblocking
    xen-4.11-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.11-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.11-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.11-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.11-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=ec4654ce64d87f14567008cfb42568fd434f1bed
X-Osstest-Versions-That:
    xen=ef32c7afa2731b758226d6e10a1e489b1a15fc41
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 31 Aug 2021 04:30:30 +0000

flight 164625 xen-4.11-testing real [real]
flight 164675 xen-4.11-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/164625/
http://logs.test-lab.xenproject.org/osstest/logs/164675/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 162548
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 162548

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail like 162548
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail like 162548
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 162548
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 162548
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 162548
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 162548
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 162548
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 162548
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 162548
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 162548
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 162548
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 162548
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 162548
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-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-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-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass

version targeted for testing:
 xen                  ec4654ce64d87f14567008cfb42568fd434f1bed
baseline version:
 xen                  ef32c7afa2731b758226d6e10a1e489b1a15fc41

Last test of basis   162548  2021-06-08 18:37:00 Z   83 days
Testing same since   164486  2021-08-25 14:05:55 Z    5 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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-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                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         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-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 450 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 05:35:57 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 05:35:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175450.319647 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKwQy-0001Kz-Ki; Tue, 31 Aug 2021 05:35:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175450.319647; Tue, 31 Aug 2021 05:35:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKwQy-0001Ks-Hi; Tue, 31 Aug 2021 05:35:44 +0000
Received: by outflank-mailman (input) for mailman id 175450;
 Tue, 31 Aug 2021 05:35:43 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Vpuq=NW=gmail.com=andr2000@srs-us1.protection.inumbo.net>)
 id 1mKwQx-0001Km-Rp
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 05:35:43 +0000
Received: from mail-lf1-x12a.google.com (unknown [2a00:1450:4864:20::12a])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 7354372a-b20f-4b0f-9e53-a3092e6f0150;
 Tue, 31 Aug 2021 05:35:42 +0000 (UTC)
Received: by mail-lf1-x12a.google.com with SMTP id b4so35938471lfo.13
 for <xen-devel@lists.xenproject.org>; Mon, 30 Aug 2021 22:35:42 -0700 (PDT)
Received: from [192.168.10.179] ([185.199.97.5])
 by smtp.gmail.com with ESMTPSA id d19sm1609255lfv.74.2021.08.30.22.35.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Aug 2021 22:35:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7354372a-b20f-4b0f-9e53-a3092e6f0150
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-transfer-encoding:content-language;
        bh=Dm9ggMxSL84OUszU8TbC/LMMHezUksWnYJCytvMXjkU=;
        b=ctJUllAExlg6zYIMRRBjEUXc6kj/W0ndQrENIcjbD8hfUq4rL7EUkTR18cB2foWmgI
         Ji7B6iAhU/TsiWSO6cHhOMvQ3ZzC6isQuzwNJ9dV6HA6oJosRfvzOpJbKuuuGjC1Zz2M
         qLBzS8Vptz5rjql/BZ43aUsuXgy7CmVGiQOoDfRTSYZd+ODuNOCo36L5XcCZE/3u2Gdh
         yxppsL8lVEB/871GimEAWJ9R98chUfYJ9oOJTDx2uNFxUD2Pbkg3QSotoEH0P7ulr6Bv
         bNAJSsFf4wQXiRplqM8DgF3tBulnsQxf4HlCzev8MbCT/YLQGxTvSuvufjBy/ICY9mjo
         nWmg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-transfer-encoding
         :content-language;
        bh=Dm9ggMxSL84OUszU8TbC/LMMHezUksWnYJCytvMXjkU=;
        b=R6EcQOQWQgIzc3SpQJqvHFEqYELK7POTskk3Yurgj6qNtNSNTjRR9n2GDGv3TenA/g
         w5/y2RHaSrNzqos56njSc04Cd1U8/uiQtLTOm8VO6DlKkTUq/ldL277sYgRNwVIH8EYy
         fr43DBs+neWqhGPAfXIwXiqwDdpf5iDOWCvmbmmOeuSq0qdNuU2wihyrdJF9SPPvqk+S
         s5m5+16j4s2r8l2WCKl4bQhEqvkZE2MczAlOoWCeNqRT3A1UwnoLmI4uHsYiigSh8H7O
         I2qU2WCZYj3oto0a+f84Pf0DU1cmSh0m2pb6szJicqw2z6NKP0ZapyikN7tOK/+CcoHk
         wKfA==
X-Gm-Message-State: AOAM533x3eCIj4GIfLtzSGsIG8AHuUQW+MKcQULhjtM8loBaf9EZEzDh
	ttOkE3KKVhW9q+4uNeIynXM=
X-Google-Smtp-Source: ABdhPJxHAVbMyKWA+FhJBiii47IvsOr5BbGhg/79aBAMj+PvWl0N+BQn0WpU6QOOuZDREdhBb8TSTA==
X-Received: by 2002:ac2:498e:: with SMTP id f14mr1794934lfl.115.1630388141196;
        Mon, 30 Aug 2021 22:35:41 -0700 (PDT)
Subject: Re: [PATCH RFC] vPCI: account for hidden devices in modify_bars()
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <6285981f-683f-a043-7025-993613eaea7c@suse.com>
From: Oleksandr Andrushchenko <andr2000@gmail.com>
Message-ID: <b2e8863d-217a-fc0e-3176-a20ef5ad0872@gmail.com>
Date: Tue, 31 Aug 2021 08:35:38 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <6285981f-683f-a043-7025-993613eaea7c@suse.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Content-Language: en-US

Hello, Jan!

On 30.08.21 16:04, Jan Beulich wrote:
> Hidden devices (e.g. an add-in PCI serial card used for Xen's serial
> console) are associated with DomXEN, not Dom0. This means that while
> looking for overlapping BARs such devices cannot be found on Dom0's
> list of devices; DomXEN's list also needs to be scanned.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> RFC: Patch intentionally mis-formatted, as the necessary re-indentation
>       would make the diff difficult to read. At this point I'd merely
>       like to gather input towards possible better approaches to solve
>       the issue (not the least because quite possibly there are further
>       places needing changing).
>
> --- a/xen/drivers/vpci/header.c
> +++ b/xen/drivers/vpci/header.c
> @@ -206,6 +206,7 @@ static int modify_bars(const struct pci_
>       struct vpci_header *header = &pdev->vpci->header;
>       struct rangeset *mem = rangeset_new(NULL, NULL, 0);
>       struct pci_dev *tmp, *dev = NULL;
> +    const struct domain *d;
>       const struct vpci_msix *msix = pdev->vpci->msix;
>       unsigned int i;
>       int rc;
> @@ -265,7 +266,8 @@ static int modify_bars(const struct pci_
>        * Check for overlaps with other BARs. Note that only BARs that are
>        * currently mapped (enabled) are checked for overlaps.
>        */
> -    for_each_pdev ( pdev->domain, tmp )
> +for ( d = pdev->domain; ; d = dom_xen ) {//todo

I am not quite sure this will be correct for the cases where pdev->domain != dom0,

e.g. in the series for PCI passthrough for Arm this can be any guest. For such cases

we'll force running the loop for dom_xen which I am not sure is desirable.

Another question is why such a hidden device has its pdev->domain not set correctly,

so we need to work this around?

Thank you,

Oleksandr

> +    for_each_pdev ( d, tmp )
>       {
>           if ( tmp == pdev )
>           {
> @@ -282,6 +284,7 @@ static int modify_bars(const struct pci_
>                    */
>                   continue;
>           }
> +if ( !tmp->vpci ) { ASSERT(d == dom_xen && system_state < SYS_STATE_active); continue; }//todo
>   
>           for ( i = 0; i < ARRAY_SIZE(tmp->vpci->header.bars); i++ )
>           {
> @@ -308,6 +311,7 @@ static int modify_bars(const struct pci_
>               }
>           }
>       }
> +if ( !is_hardware_domain(d) ) break; }//todo
>   
>       ASSERT(dev);
>   
>
>


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 06:18:31 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 06:18:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175459.319659 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKx6G-00067q-64; Tue, 31 Aug 2021 06:18:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175459.319659; Tue, 31 Aug 2021 06:18: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 1mKx6G-00067j-2G; Tue, 31 Aug 2021 06:18:24 +0000
Received: by outflank-mailman (input) for mailman id 175459;
 Tue, 31 Aug 2021 06:18:22 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qtPJ=NW=linaro.org=takahiro.akashi@srs-us1.protection.inumbo.net>)
 id 1mKx6E-00067d-K4
 for xen-devel@lists.xen.org; Tue, 31 Aug 2021 06:18:22 +0000
Received: from mail-pf1-x435.google.com (unknown [2607:f8b0:4864:20::435])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 423d182d-221e-4386-966d-27f3be3e5a36;
 Tue, 31 Aug 2021 06:18:15 +0000 (UTC)
Received: by mail-pf1-x435.google.com with SMTP id 18so14092213pfh.9
 for <xen-devel@lists.xen.org>; Mon, 30 Aug 2021 23:18:15 -0700 (PDT)
Received: from laputa (p784a44f4.tkyea130.ap.so-net.ne.jp. [120.74.68.244])
 by smtp.gmail.com with ESMTPSA id n79sm15753066pfd.167.2021.08.30.23.18.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 30 Aug 2021 23: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: 423d182d-221e-4386-966d-27f3be3e5a36
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=date:from:to:cc:subject:message-id:references:mime-version
         :content-disposition:content-transfer-encoding:in-reply-to;
        bh=Og9x5FbT3oJJoI8oX8xJDfVtLJO0mlzg/+yIuB5O9wk=;
        b=PCO/y4L3ZjbGu3Gj5vzJf9T8PGvobblTszZ5ZLEKiBkRteIzwFTNZIYiPpA6ffib7Q
         qrgbK8uXnqZnhPuWm9H/ujfyWF2qhtHGXuFbk0PW8arlVjD8j8KvE0ifW2U9l+AU9W81
         8kRBXXmoulKTJu/44tkuQDGsJrjsvoRx2IMcar6cuDjxTsJb0yCTmy8g1hMILUrHs5Of
         Zb4UMoqrU+y/7dyke1kEuRvH6yi7lw58LGOI5ZlwNBP1/4/wJ/Yd4FSlsG8wbLGwk0RV
         Y0VoWXINzfIbAMq6byfwH4AculY95ihvVAuLUG2FKgXvgiQPR7GhTwZdraa/lUzinX1b
         WoLg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:date:from:to:cc:subject:message-id:references
         :mime-version:content-disposition:content-transfer-encoding
         :in-reply-to;
        bh=Og9x5FbT3oJJoI8oX8xJDfVtLJO0mlzg/+yIuB5O9wk=;
        b=kWe+aCUcSTpp/hKEkXOpvBGIjvkpwuCBvHoGcjKYCwBPKhtpMZy4EZKY6r8YyruSN1
         Jz6hGuLzaK3wMjpFDXrAgEfEbW8widYTleU8qyUFrhb+aPBHeB8NmgkQtfbXmHj8MIEM
         HS0Wu7hhEH1kv+vorpTnUo0G4ZxM5JkdMMwjpLEajzjmTkZCk5bxDs0jCQvbcVw86cRy
         zw9MbxVmqrlVi79dh0rRtHbjFXGWceGbXMmTI+UdNxpjDlWhMmfGn3Snl+xjYtWv5Xq7
         zUYunjzmrf9PdnGYs8t/Yn0eqTEZfVuoPYkD0nVcYlMhnl8s+hI13TQU0R7hk6bm+7BU
         11ZQ==
X-Gm-Message-State: AOAM531OpqD1YUSG/T2qEpKTOLf8YcQMEXsRg2k/0q2R8kWA4gqS4tG2
	fZwjzWjJZfU3s/vh0NjXlhj1sA==
X-Google-Smtp-Source: ABdhPJxXhHysmf4+Z6EBulxSCJl2pFEVheX5Dq35F/EVu/jH9ddvYvPx4m4aIHbBcgzap6JYe14dfw==
X-Received: by 2002:a63:393:: with SMTP id 141mr25180181pgd.433.1630390694510;
        Mon, 30 Aug 2021 23:18:14 -0700 (PDT)
Date: Tue, 31 Aug 2021 15:18:05 +0900
From: AKASHI Takahiro <takahiro.akashi@linaro.org>
To: Wei Chen <Wei.Chen@arm.com>
Cc: Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Alex Benn??e <alex.bennee@linaro.org>, Kaly Xin <Kaly.Xin@arm.com>,
	Stratos Mailing List <stratos-dev@op-lists.linaro.org>,
	"virtio-dev@lists.oasis-open.org" <virtio-dev@lists.oasis-open.org>,
	Arnd Bergmann <arnd.bergmann@linaro.org>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	"stefanha@redhat.com" <stefanha@redhat.com>,
	Jan Kiszka <jan.kiszka@siemens.com>,
	Carl van Schaik <cvanscha@qti.qualcomm.com>,
	"pratikp@quicinc.com" <pratikp@quicinc.com>,
	Srivatsa Vaddagiri <vatsa@codeaurora.org>,
	Jean-Philippe Brucker <jean-philippe@linaro.org>,
	Mathieu Poirier <mathieu.poirier@linaro.org>,
	Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Artem Mygaiev <Artem_Mygaiev@epam.com>,
	Julien Grall <julien@xen.org>, Juergen Gross <jgross@suse.com>,
	Paul Durrant <paul@xen.org>, Xen Devel <xen-devel@lists.xen.org>
Subject: Re: Enabling hypervisor agnosticism for VirtIO backends
Message-ID: <20210831061805.GB69817@laputa>
References: <20210811062748.GB54169@laputa>
 <CAPD2p-mMeY=MDbAdLGrmmioSkJo147aMDrK=Qzr=PCa4jztGGg@mail.gmail.com>
 <DB9PR08MB685767CFAA4A8BCE7D2225A89EFD9@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <20210817080757.GC43203@laputa>
 <DB9PR08MB6857C656472153A42FB438C49EFE9@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <20210818053840.GE39588@laputa>
 <DB9PR08MB6857D1BE810B1D1DAF7B12AE9EFF9@DB9PR08MB6857.eurprd08.prod.outlook.com>
 <20210820064150.GC13452@laputa>
 <20210826094047.GA55218@laputa>
 <DB9PR08MB68578198FF352EDC473D619E9EC79@DB9PR08MB6857.eurprd08.prod.outlook.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <DB9PR08MB68578198FF352EDC473D619E9EC79@DB9PR08MB6857.eurprd08.prod.outlook.com>

Wei,

On Thu, Aug 26, 2021 at 12:10:19PM +0000, Wei Chen wrote:
> Hi Akashi,
> 
> > -----Original Message-----
> > From: AKASHI Takahiro <takahiro.akashi@linaro.org>
> > Sent: 2021年8月26日 17:41
> > To: Wei Chen <Wei.Chen@arm.com>
> > Cc: Oleksandr Tyshchenko <olekstysh@gmail.com>; Stefano Stabellini
> > <sstabellini@kernel.org>; Alex Benn??e <alex.bennee@linaro.org>; Kaly Xin
> > <Kaly.Xin@arm.com>; Stratos Mailing List <stratos-dev@op-lists.linaro.org>;
> > virtio-dev@lists.oasis-open.org; Arnd Bergmann <arnd.bergmann@linaro.org>;
> > Viresh Kumar <viresh.kumar@linaro.org>; Stefano Stabellini
> > <stefano.stabellini@xilinx.com>; stefanha@redhat.com; Jan Kiszka
> > <jan.kiszka@siemens.com>; Carl van Schaik <cvanscha@qti.qualcomm.com>;
> > pratikp@quicinc.com; Srivatsa Vaddagiri <vatsa@codeaurora.org>; Jean-
> > Philippe Brucker <jean-philippe@linaro.org>; Mathieu Poirier
> > <mathieu.poirier@linaro.org>; Oleksandr Tyshchenko
> > <Oleksandr_Tyshchenko@epam.com>; Bertrand Marquis
> > <Bertrand.Marquis@arm.com>; Artem Mygaiev <Artem_Mygaiev@epam.com>; Julien
> > Grall <julien@xen.org>; Juergen Gross <jgross@suse.com>; Paul Durrant
> > <paul@xen.org>; Xen Devel <xen-devel@lists.xen.org>
> > Subject: Re: Enabling hypervisor agnosticism for VirtIO backends
> >
> > Hi Wei,
> >
> > On Fri, Aug 20, 2021 at 03:41:50PM +0900, AKASHI Takahiro wrote:
> > > On Wed, Aug 18, 2021 at 08:35:51AM +0000, Wei Chen wrote:
> > > > Hi Akashi，
> > > >
> > > > > -----Original Message-----
> > > > > From: AKASHI Takahiro <takahiro.akashi@linaro.org>
> > > > > Sent: 2021年8月18日 13:39
> > > > > To: Wei Chen <Wei.Chen@arm.com>
> > > > > Cc: Oleksandr Tyshchenko <olekstysh@gmail.com>; Stefano Stabellini
> > > > > <sstabellini@kernel.org>; Alex Benn??e <alex.bennee@linaro.org>;
> > Stratos
> > > > > Mailing List <stratos-dev@op-lists.linaro.org>; virtio-
> > dev@lists.oasis-
> > > > > open.org; Arnd Bergmann <arnd.bergmann@linaro.org>; Viresh Kumar
> > > > > <viresh.kumar@linaro.org>; Stefano Stabellini
> > > > > <stefano.stabellini@xilinx.com>; stefanha@redhat.com; Jan Kiszka
> > > > > <jan.kiszka@siemens.com>; Carl van Schaik
> > <cvanscha@qti.qualcomm.com>;
> > > > > pratikp@quicinc.com; Srivatsa Vaddagiri <vatsa@codeaurora.org>;
> > Jean-
> > > > > Philippe Brucker <jean-philippe@linaro.org>; Mathieu Poirier
> > > > > <mathieu.poirier@linaro.org>; Oleksandr Tyshchenko
> > > > > <Oleksandr_Tyshchenko@epam.com>; Bertrand Marquis
> > > > > <Bertrand.Marquis@arm.com>; Artem Mygaiev <Artem_Mygaiev@epam.com>;
> > Julien
> > > > > Grall <julien@xen.org>; Juergen Gross <jgross@suse.com>; Paul
> > Durrant
> > > > > <paul@xen.org>; Xen Devel <xen-devel@lists.xen.org>
> > > > > Subject: Re: Enabling hypervisor agnosticism for VirtIO backends
> > > > >
> > > > > On Tue, Aug 17, 2021 at 08:39:09AM +0000, Wei Chen wrote:
> > > > > > Hi Akashi,
> > > > > >
> > > > > > > -----Original Message-----
> > > > > > > From: AKASHI Takahiro <takahiro.akashi@linaro.org>
> > > > > > > Sent: 2021年8月17日 16:08
> > > > > > > To: Wei Chen <Wei.Chen@arm.com>
> > > > > > > Cc: Oleksandr Tyshchenko <olekstysh@gmail.com>; Stefano
> > Stabellini
> > > > > > > <sstabellini@kernel.org>; Alex Benn??e <alex.bennee@linaro.org>;
> > > > > Stratos
> > > > > > > Mailing List <stratos-dev@op-lists.linaro.org>; virtio-
> > > > > dev@lists.oasis-
> > > > > > > open.org; Arnd Bergmann <arnd.bergmann@linaro.org>; Viresh Kumar
> > > > > > > <viresh.kumar@linaro.org>; Stefano Stabellini
> > > > > > > <stefano.stabellini@xilinx.com>; stefanha@redhat.com; Jan Kiszka
> > > > > > > <jan.kiszka@siemens.com>; Carl van Schaik
> > <cvanscha@qti.qualcomm.com>;
> > > > > > > pratikp@quicinc.com; Srivatsa Vaddagiri <vatsa@codeaurora.org>;
> > Jean-
> > > > > > > Philippe Brucker <jean-philippe@linaro.org>; Mathieu Poirier
> > > > > > > <mathieu.poirier@linaro.org>; Oleksandr Tyshchenko
> > > > > > > <Oleksandr_Tyshchenko@epam.com>; Bertrand Marquis
> > > > > > > <Bertrand.Marquis@arm.com>; Artem Mygaiev
> > <Artem_Mygaiev@epam.com>;
> > > > > Julien
> > > > > > > Grall <julien@xen.org>; Juergen Gross <jgross@suse.com>; Paul
> > Durrant
> > > > > > > <paul@xen.org>; Xen Devel <xen-devel@lists.xen.org>
> > > > > > > Subject: Re: Enabling hypervisor agnosticism for VirtIO backends
> > > > > > >
> > > > > > > Hi Wei, Oleksandr,
> > > > > > >
> > > > > > > On Mon, Aug 16, 2021 at 10:04:03AM +0000, Wei Chen wrote:
> > > > > > > > Hi All,
> > > > > > > >
> > > > > > > > Thanks for Stefano to link my kvmtool for Xen proposal here.
> > > > > > > > This proposal is still discussing in Xen and KVM communities.
> > > > > > > > The main work is to decouple the kvmtool from KVM and make
> > > > > > > > other hypervisors can reuse the virtual device implementations.
> > > > > > > >
> > > > > > > > In this case, we need to introduce an intermediate hypervisor
> > > > > > > > layer for VMM abstraction, Which is, I think it's very close
> > > > > > > > to stratos' virtio hypervisor agnosticism work.
> > > > > > >
> > > > > > > # My proposal[1] comes from my own idea and doesn't always
> > represent
> > > > > > > # Linaro's view on this subject nor reflect Alex's concerns.
> > > > > Nevertheless,
> > > > > > >
> > > > > > > Your idea and my proposal seem to share the same background.
> > > > > > > Both have the similar goal and currently start with, at first,
> > Xen
> > > > > > > and are based on kvm-tool. (Actually, my work is derived from
> > > > > > > EPAM's virtio-disk, which is also based on kvm-tool.)
> > > > > > >
> > > > > > > In particular, the abstraction of hypervisor interfaces has a
> > same
> > > > > > > set of interfaces (for your "struct vmm_impl" and my "RPC
> > interfaces").
> > > > > > > This is not co-incident as we both share the same origin as I
> > said
> > > > > above.
> > > > > > > And so we will also share the same issues. One of them is a way
> > of
> > > > > > > "sharing/mapping FE's memory". There is some trade-off between
> > > > > > > the portability and the performance impact.
> > > > > > > So we can discuss the topic here in this ML, too.
> > > > > > > (See Alex's original email, too).
> > > > > > >
> > > > > > Yes, I agree.
> > > > > >
> > > > > > > On the other hand, my approach aims to create a "single-binary"
> > > > > solution
> > > > > > > in which the same binary of BE vm could run on any hypervisors.
> > > > > > > Somehow similar to your "proposal-#2" in [2], but in my solution,
> > all
> > > > > > > the hypervisor-specific code would be put into another entity
> > (VM),
> > > > > > > named "virtio-proxy" and the abstracted operations are served
> > via RPC.
> > > > > > > (In this sense, BE is hypervisor-agnostic but might have OS
> > > > > dependency.)
> > > > > > > But I know that we need discuss if this is a requirement even
> > > > > > > in Stratos project or not. (Maybe not)
> > > > > > >
> > > > > >
> > > > > > Sorry, I haven't had time to finish reading your virtio-proxy
> > completely
> > > > > > (I will do it ASAP). But from your description, it seems we need a
> > > > > > 3rd VM between FE and BE? My concern is that, if my assumption is
> > right,
> > > > > > will it increase the latency in data transport path? Even if we're
> > > > > > using some lightweight guest like RTOS or Unikernel,
> > > > >
> > > > > Yes, you're right. But I'm afraid that it is a matter of degree.
> > > > > As far as we execute 'mapping' operations at every fetch of payload,
> > > > > we will see latency issue (even in your case) and if we have some
> > solution
> > > > > for it, we won't see it neither in my proposal :)
> > > > >
> > > >
> > > > Oleksandr has sent a proposal to Xen mailing list to reduce this kind
> > > > of "mapping/unmapping" operations. So the latency caused by this
> > behavior
> > > > on Xen may eventually be eliminated, and Linux-KVM doesn't have that
> > problem.
> > >
> > > Obviously, I have not yet caught up there in the discussion.
> > > Which patch specifically?
> >
> > Can you give me the link to the discussion or patch, please?
> >
> 
> It's a RFC discussion. We have tested this RFC patch internally.
> https://lists.xenproject.org/archives/html/xen-devel/2021-07/msg01532.html

I'm afraid that I miss something here, but I don't know
why this proposed API will lead to eliminating 'mmap' in accessing
the queued payload at every request?

-Takahiro Akashi


> > Thanks,
> > -Takahiro Akashi
> >
> > > -Takahiro Akashi
> > >
> > > > > > > Specifically speaking about kvm-tool, I have a concern about its
> > > > > > > license term; Targeting different hypervisors and different OSs
> > > > > > > (which I assume includes RTOS's), the resultant library should
> > be
> > > > > > > license permissive and GPL for kvm-tool might be an issue.
> > > > > > > Any thoughts?
> > > > > > >
> > > > > >
> > > > > > Yes. If user want to implement a FreeBSD device model, but the
> > virtio
> > > > > > library is GPL. Then GPL would be a problem. If we have another
> > good
> > > > > > candidate, I am open to it.
> > > > >
> > > > > I have some candidates, particularly for vq/vring, in my mind:
> > > > > * Open-AMP, or
> > > > > * corresponding Free-BSD code
> > > > >
> > > >
> > > > Interesting, I will look into them : )
> > > >
> > > > Cheers,
> > > > Wei Chen
> > > >
> > > > > -Takahiro Akashi
> > > > >
> > > > >
> > > > > > > -Takahiro Akashi
> > > > > > >
> > > > > > >
> > > > > > > [1] https://op-lists.linaro.org/pipermail/stratos-dev/2021-
> > > > > > > August/000548.html
> > > > > > > [2] https://marc.info/?l=xen-devel&m=162373754705233&w=2
> > > > > > >
> > > > > > > >
> > > > > > > > > From: Oleksandr Tyshchenko <olekstysh@gmail.com>
> > > > > > > > > Sent: 2021年8月14日 23:38
> > > > > > > > > To: AKASHI Takahiro <takahiro.akashi@linaro.org>; Stefano
> > > > > Stabellini
> > > > > > > <sstabellini@kernel.org>
> > > > > > > > > Cc: Alex Benn??e <alex.bennee@linaro.org>; Stratos Mailing
> > List
> > > > > > > <stratos-dev@op-lists.linaro.org>; virtio-dev@lists.oasis-
> > open.org;
> > > > > Arnd
> > > > > > > Bergmann <arnd.bergmann@linaro.org>; Viresh Kumar
> > > > > > > <viresh.kumar@linaro.org>; Stefano Stabellini
> > > > > > > <stefano.stabellini@xilinx.com>; stefanha@redhat.com; Jan Kiszka
> > > > > > > <jan.kiszka@siemens.com>; Carl van Schaik
> > <cvanscha@qti.qualcomm.com>;
> > > > > > > pratikp@quicinc.com; Srivatsa Vaddagiri <vatsa@codeaurora.org>;
> > Jean-
> > > > > > > Philippe Brucker <jean-philippe@linaro.org>; Mathieu Poirier
> > > > > > > <mathieu.poirier@linaro.org>; Wei Chen <Wei.Chen@arm.com>;
> > Oleksandr
> > > > > > > Tyshchenko <Oleksandr_Tyshchenko@epam.com>; Bertrand Marquis
> > > > > > > <Bertrand.Marquis@arm.com>; Artem Mygaiev
> > <Artem_Mygaiev@epam.com>;
> > > > > Julien
> > > > > > > Grall <julien@xen.org>; Juergen Gross <jgross@suse.com>; Paul
> > Durrant
> > > > > > > <paul@xen.org>; Xen Devel <xen-devel@lists.xen.org>
> > > > > > > > > Subject: Re: Enabling hypervisor agnosticism for VirtIO
> > backends
> > > > > > > > >
> > > > > > > > > Hello, all.
> > > > > > > > >
> > > > > > > > > Please see some comments below. And sorry for the possible
> > format
> > > > > > > issues.
> > > > > > > > >
> > > > > > > > > > On Wed, Aug 11, 2021 at 9:27 AM AKASHI Takahiro
> > > > > > > <mailto:takahiro.akashi@linaro.org> wrote:
> > > > > > > > > > On Wed, Aug 04, 2021 at 12:20:01PM -0700, Stefano
> > Stabellini
> > > > > wrote:
> > > > > > > > > > > CCing people working on Xen+VirtIO and IOREQs. Not
> > trimming
> > > > > the
> > > > > > > original
> > > > > > > > > > > email to let them read the full context.
> > > > > > > > > > >
> > > > > > > > > > > My comments below are related to a potential Xen
> > > > > implementation,
> > > > > > > not
> > > > > > > > > > > because it is the only implementation that matters, but
> > > > > because it
> > > > > > > is
> > > > > > > > > > > the one I know best.
> > > > > > > > > >
> > > > > > > > > > Please note that my proposal (and hence the working
> > prototype)[1]
> > > > > > > > > > is based on Xen's virtio implementation (i.e. IOREQ) and
> > > > > > > particularly
> > > > > > > > > > EPAM's virtio-disk application (backend server).
> > > > > > > > > > It has been, I believe, well generalized but is still a
> > bit
> > > > > biased
> > > > > > > > > > toward this original design.
> > > > > > > > > >
> > > > > > > > > > So I hope you like my approach :)
> > > > > > > > > >
> > > > > > > > > > [1] https://op-lists.linaro.org/pipermail/stratos-
> > dev/2021-
> > > > > > > August/000546.html
> > > > > > > > > >
> > > > > > > > > > Let me take this opportunity to explain a bit more about
> > my
> > > > > approach
> > > > > > > below.
> > > > > > > > > >
> > > > > > > > > > > Also, please see this relevant email thread:
> > > > > > > > > > > https://marc.info/?l=xen-devel&m=162373754705233&w=2
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > On Wed, 4 Aug 2021, Alex Bennée wrote:
> > > > > > > > > > > > Hi,
> > > > > > > > > > > >
> > > > > > > > > > > > One of the goals of Project Stratos is to enable
> > hypervisor
> > > > > > > agnostic
> > > > > > > > > > > > backends so we can enable as much re-use of code as
> > possible
> > > > > and
> > > > > > > avoid
> > > > > > > > > > > > repeating ourselves. This is the flip side of the
> > front end
> > > > > > > where
> > > > > > > > > > > > multiple front-end implementations are required - one
> > per OS,
> > > > > > > assuming
> > > > > > > > > > > > you don't just want Linux guests. The resultant guests
> > are
> > > > > > > trivially
> > > > > > > > > > > > movable between hypervisors modulo any abstracted
> > paravirt
> > > > > type
> > > > > > > > > > > > interfaces.
> > > > > > > > > > > >
> > > > > > > > > > > > In my original thumb nail sketch of a solution I
> > envisioned
> > > > > > > vhost-user
> > > > > > > > > > > > daemons running in a broadly POSIX like environment.
> > The
> > > > > > > interface to
> > > > > > > > > > > > the daemon is fairly simple requiring only some mapped
> > > > > memory
> > > > > > > and some
> > > > > > > > > > > > sort of signalling for events (on Linux this is
> > eventfd).
> > > > > The
> > > > > > > idea was a
> > > > > > > > > > > > stub binary would be responsible for any hypervisor
> > specific
> > > > > > > setup and
> > > > > > > > > > > > then launch a common binary to deal with the actual
> > > > > virtqueue
> > > > > > > requests
> > > > > > > > > > > > themselves.
> > > > > > > > > > > >
> > > > > > > > > > > > Since that original sketch we've seen an expansion in
> > the
> > > > > sort
> > > > > > > of ways
> > > > > > > > > > > > backends could be created. There is interest in
> > > > > encapsulating
> > > > > > > backends
> > > > > > > > > > > > in RTOSes or unikernels for solutions like SCMI. There
> > > > > interest
> > > > > > > in Rust
> > > > > > > > > > > > has prompted ideas of using the trait interface to
> > abstract
> > > > > > > differences
> > > > > > > > > > > > away as well as the idea of bare-metal Rust backends.
> > > > > > > > > > > >
> > > > > > > > > > > > We have a card (STR-12) called "Hypercall
> > Standardisation"
> > > > > which
> > > > > > > > > > > > calls for a description of the APIs needed from the
> > > > > hypervisor
> > > > > > > side to
> > > > > > > > > > > > support VirtIO guests and their backends. However we
> > are
> > > > > some
> > > > > > > way off
> > > > > > > > > > > > from that at the moment as I think we need to at least
> > > > > > > demonstrate one
> > > > > > > > > > > > portable backend before we start codifying
> > requirements. To
> > > > > that
> > > > > > > end I
> > > > > > > > > > > > want to think about what we need for a backend to
> > function.
> > > > > > > > > > > >
> > > > > > > > > > > > Configuration
> > > > > > > > > > > > =============
> > > > > > > > > > > >
> > > > > > > > > > > > In the type-2 setup this is typically fairly simple
> > because
> > > > > the
> > > > > > > host
> > > > > > > > > > > > system can orchestrate the various modules that make
> > up the
> > > > > > > complete
> > > > > > > > > > > > system. In the type-1 case (or even type-2 with
> > delegated
> > > > > > > service VMs)
> > > > > > > > > > > > we need some sort of mechanism to inform the backend
> > VM
> > > > > about
> > > > > > > key
> > > > > > > > > > > > details about the system:
> > > > > > > > > > > >
> > > > > > > > > > > >   - where virt queue memory is in it's address space
> > > > > > > > > > > >   - how it's going to receive (interrupt) and trigger
> > (kick)
> > > > > > > events
> > > > > > > > > > > >   - what (if any) resources the backend needs to
> > connect to
> > > > > > > > > > > >
> > > > > > > > > > > > Obviously you can elide over configuration issues by
> > having
> > > > > > > static
> > > > > > > > > > > > configurations and baking the assumptions into your
> > guest
> > > > > images
> > > > > > > however
> > > > > > > > > > > > this isn't scalable in the long term. The obvious
> > solution
> > > > > seems
> > > > > > > to be
> > > > > > > > > > > > extending a subset of Device Tree data to user space
> > but
> > > > > perhaps
> > > > > > > there
> > > > > > > > > > > > are other approaches?
> > > > > > > > > > > >
> > > > > > > > > > > > Before any virtio transactions can take place the
> > > > > appropriate
> > > > > > > memory
> > > > > > > > > > > > mappings need to be made between the FE guest and the
> > BE
> > > > > guest.
> > > > > > > > > > >
> > > > > > > > > > > > Currently the whole of the FE guests address space
> > needs to
> > > > > be
> > > > > > > visible
> > > > > > > > > > > > to whatever is serving the virtio requests. I can
> > envision 3
> > > > > > > approaches:
> > > > > > > > > > > >
> > > > > > > > > > > >  * BE guest boots with memory already mapped
> > > > > > > > > > > >
> > > > > > > > > > > >  This would entail the guest OS knowing where in it's
> > Guest
> > > > > > > Physical
> > > > > > > > > > > >  Address space is already taken up and avoiding
> > clashing. I
> > > > > > > would assume
> > > > > > > > > > > >  in this case you would want a standard interface to
> > > > > userspace
> > > > > > > to then
> > > > > > > > > > > >  make that address space visible to the backend daemon.
> > > > > > > > > >
> > > > > > > > > > Yet another way here is that we would have well known
> > "shared
> > > > > > > memory" between
> > > > > > > > > > VMs. I think that Jailhouse's ivshmem gives us good
> > insights on
> > > > > this
> > > > > > > matter
> > > > > > > > > > and that it can even be an alternative for hypervisor-
> > agnostic
> > > > > > > solution.
> > > > > > > > > >
> > > > > > > > > > (Please note memory regions in ivshmem appear as a PCI
> > device
> > > > > and
> > > > > > > can be
> > > > > > > > > > mapped locally.)
> > > > > > > > > >
> > > > > > > > > > I want to add this shared memory aspect to my virtio-proxy,
> > but
> > > > > > > > > > the resultant solution would eventually look similar to
> > ivshmem.
> > > > > > > > > >
> > > > > > > > > > > >  * BE guests boots with a hypervisor handle to memory
> > > > > > > > > > > >
> > > > > > > > > > > >  The BE guest is then free to map the FE's memory to
> > where
> > > > > it
> > > > > > > wants in
> > > > > > > > > > > >  the BE's guest physical address space.
> > > > > > > > > > >
> > > > > > > > > > > I cannot see how this could work for Xen. There is no
> > "handle"
> > > > > to
> > > > > > > give
> > > > > > > > > > > to the backend if the backend is not running in dom0. So
> > for
> > > > > Xen I
> > > > > > > think
> > > > > > > > > > > the memory has to be already mapped
> > > > > > > > > >
> > > > > > > > > > In Xen's IOREQ solution (virtio-blk), the following
> > information
> > > > > is
> > > > > > > expected
> > > > > > > > > > to be exposed to BE via Xenstore:
> > > > > > > > > > (I know that this is a tentative approach though.)
> > > > > > > > > >    - the start address of configuration space
> > > > > > > > > >    - interrupt number
> > > > > > > > > >    - file path for backing storage
> > > > > > > > > >    - read-only flag
> > > > > > > > > > And the BE server have to call a particular hypervisor
> > interface
> > > > > to
> > > > > > > > > > map the configuration space.
> > > > > > > > >
> > > > > > > > > Yes, Xenstore was chosen as a simple way to pass
> > configuration
> > > > > info to
> > > > > > > the backend running in a non-toolstack domain.
> > > > > > > > > I remember, there was a wish to avoid using Xenstore in
> > Virtio
> > > > > backend
> > > > > > > itself if possible, so for non-toolstack domain, this could done
> > with
> > > > > > > adjusting devd (daemon that listens for devices and launches
> > backends)
> > > > > > > > > to read backend configuration from the Xenstore anyway and
> > pass it
> > > > > to
> > > > > > > the backend via command line arguments.
> > > > > > > > >
> > > > > > > >
> > > > > > > > Yes, in current PoC code we're using xenstore to pass device
> > > > > > > configuration.
> > > > > > > > We also designed a static device configuration parse method
> > for
> > > > > Dom0less
> > > > > > > or
> > > > > > > > other scenarios don't have xentool. yes, it's from device
> > model
> > > > > command
> > > > > > > line
> > > > > > > > or a config file.
> > > > > > > >
> > > > > > > > > But, if ...
> > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > In my approach (virtio-proxy), all those Xen (or
> > hypervisor)-
> > > > > > > specific
> > > > > > > > > > stuffs are contained in virtio-proxy, yet another VM, to
> > hide
> > > > > all
> > > > > > > details.
> > > > > > > > >
> > > > > > > > > ... the solution how to overcome that is already found and
> > proven
> > > > > to
> > > > > > > work then even better.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > > # My point is that a "handle" is not mandatory for
> > executing
> > > > > mapping.
> > > > > > > > > >
> > > > > > > > > > > and the mapping probably done by the
> > > > > > > > > > > toolstack (also see below.) Or we would have to invent a
> > new
> > > > > Xen
> > > > > > > > > > > hypervisor interface and Xen virtual machine privileges
> > to
> > > > > allow
> > > > > > > this
> > > > > > > > > > > kind of mapping.
> > > > > > > > > >
> > > > > > > > > > > If we run the backend in Dom0 that we have no problems
> > of
> > > > > course.
> > > > > > > > > >
> > > > > > > > > > One of difficulties on Xen that I found in my approach is
> > that
> > > > > > > calling
> > > > > > > > > > such hypervisor intefaces (registering IOREQ, mapping
> > memory) is
> > > > > > > only
> > > > > > > > > > allowed on BE servers themselvies and so we will have to
> > extend
> > > > > > > those
> > > > > > > > > > interfaces.
> > > > > > > > > > This, however, will raise some concern on security and
> > privilege
> > > > > > > distribution
> > > > > > > > > > as Stefan suggested.
> > > > > > > > >
> > > > > > > > > We also faced policy related issues with Virtio backend
> > running in
> > > > > > > other than Dom0 domain in a "dummy" xsm mode. In our target
> > system we
> > > > > run
> > > > > > > the backend in a driver
> > > > > > > > > domain (we call it DomD) where the underlying H/W resides.
> > We
> > > > > trust it,
> > > > > > > so we wrote policy rules (to be used in "flask" xsm mode) to
> > provide
> > > > > it
> > > > > > > with a little bit more privileges than a simple DomU had.
> > > > > > > > > Now it is permitted to issue device-model, resource and
> > memory
> > > > > > > mappings, etc calls.
> > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > > To activate the mapping will
> > > > > > > > > > > >  require some sort of hypercall to the hypervisor. I
> > can see
> > > > > two
> > > > > > > options
> > > > > > > > > > > >  at this point:
> > > > > > > > > > > >
> > > > > > > > > > > >   - expose the handle to userspace for daemon/helper
> > to
> > > > > trigger
> > > > > > > the
> > > > > > > > > > > >     mapping via existing hypercall interfaces. If
> > using a
> > > > > helper
> > > > > > > you
> > > > > > > > > > > >     would have a hypervisor specific one to avoid the
> > daemon
> > > > > > > having to
> > > > > > > > > > > >     care too much about the details or push that
> > complexity
> > > > > into
> > > > > > > a
> > > > > > > > > > > >     compile time option for the daemon which would
> > result in
> > > > > > > different
> > > > > > > > > > > >     binaries although a common source base.
> > > > > > > > > > > >
> > > > > > > > > > > >   - expose a new kernel ABI to abstract the hypercall
> > > > > > > differences away
> > > > > > > > > > > >     in the guest kernel. In this case the userspace
> > would
> > > > > > > essentially
> > > > > > > > > > > >     ask for an abstract "map guest N memory to
> > userspace
> > > > > ptr"
> > > > > > > and let
> > > > > > > > > > > >     the kernel deal with the different hypercall
> > interfaces.
> > > > > > > This of
> > > > > > > > > > > >     course assumes the majority of BE guests would be
> > Linux
> > > > > > > kernels and
> > > > > > > > > > > >     leaves the bare-metal/unikernel approaches to
> > their own
> > > > > > > devices.
> > > > > > > > > > > >
> > > > > > > > > > > > Operation
> > > > > > > > > > > > =========
> > > > > > > > > > > >
> > > > > > > > > > > > The core of the operation of VirtIO is fairly simple.
> > Once
> > > > > the
> > > > > > > > > > > > vhost-user feature negotiation is done it's a case of
> > > > > receiving
> > > > > > > update
> > > > > > > > > > > > events and parsing the resultant virt queue for data.
> > The
> > > > > vhost-
> > > > > > > user
> > > > > > > > > > > > specification handles a bunch of setup before that
> > point,
> > > > > mostly
> > > > > > > to
> > > > > > > > > > > > detail where the virt queues are set up FD's for
> > memory and
> > > > > > > event
> > > > > > > > > > > > communication. This is where the envisioned stub
> > process
> > > > > would
> > > > > > > be
> > > > > > > > > > > > responsible for getting the daemon up and ready to run.
> > This
> > > > > is
> > > > > > > > > > > > currently done inside a big VMM like QEMU but I
> > suspect a
> > > > > modern
> > > > > > > > > > > > approach would be to use the rust-vmm vhost crate. It
> > would
> > > > > then
> > > > > > > either
> > > > > > > > > > > > communicate with the kernel's abstracted ABI or be re-
> > > > > targeted
> > > > > > > as a
> > > > > > > > > > > > build option for the various hypervisors.
> > > > > > > > > > >
> > > > > > > > > > > One thing I mentioned before to Alex is that Xen doesn't
> > have
> > > > > VMMs
> > > > > > > the
> > > > > > > > > > > way they are typically envisioned and described in other
> > > > > > > environments.
> > > > > > > > > > > Instead, Xen has IOREQ servers. Each of them connects
> > > > > > > independently to
> > > > > > > > > > > Xen via the IOREQ interface. E.g. today multiple QEMUs
> > could
> > > > > be
> > > > > > > used as
> > > > > > > > > > > emulators for a single Xen VM, each of them connecting
> > to Xen
> > > > > > > > > > > independently via the IOREQ interface.
> > > > > > > > > > >
> > > > > > > > > > > The component responsible for starting a daemon and/or
> > setting
> > > > > up
> > > > > > > shared
> > > > > > > > > > > interfaces is the toolstack: the xl command and the
> > > > > libxl/libxc
> > > > > > > > > > > libraries.
> > > > > > > > > >
> > > > > > > > > > I think that VM configuration management (or orchestration
> > in
> > > > > > > Startos
> > > > > > > > > > jargon?) is a subject to debate in parallel.
> > > > > > > > > > Otherwise, is there any good assumption to avoid it right
> > now?
> > > > > > > > > >
> > > > > > > > > > > Oleksandr and others I CCed have been working on ways
> > for the
> > > > > > > toolstack
> > > > > > > > > > > to create virtio backends and setup memory mappings.
> > They
> > > > > might be
> > > > > > > able
> > > > > > > > > > > to provide more info on the subject. I do think we miss
> > a way
> > > > > to
> > > > > > > provide
> > > > > > > > > > > the configuration to the backend and anything else that
> > the
> > > > > > > backend
> > > > > > > > > > > might require to start doing its job.
> > > > > > > > >
> > > > > > > > > Yes, some work has been done for the toolstack to handle
> > Virtio
> > > > > MMIO
> > > > > > > devices in
> > > > > > > > > general and Virtio block devices in particular. However, it
> > has
> > > > > not
> > > > > > > been upstreaned yet.
> > > > > > > > > Updated patches on review now:
> > > > > > > > > https://lore.kernel.org/xen-devel/1621626361-29076-1-git-
> > send-
> > > > > email-
> > > > > > > olekstysh@gmail.com/
> > > > > > > > >
> > > > > > > > > There is an additional (also important) activity to
> > improve/fix
> > > > > > > foreign memory mapping on Arm which I am also involved in.
> > > > > > > > > The foreign memory mapping is proposed to be used for Virtio
> > > > > backends
> > > > > > > (device emulators) if there is a need to run guest OS completely
> > > > > > > unmodified.
> > > > > > > > > Of course, the more secure way would be to use grant memory
> > > > > mapping.
> > > > > > > Brietly, the main difference between them is that with foreign
> > mapping
> > > > > the
> > > > > > > backend
> > > > > > > > > can map any guest memory it wants to map, but with grant
> > mapping
> > > > > it is
> > > > > > > allowed to map only what was previously granted by the frontend.
> > > > > > > > >
> > > > > > > > > So, there might be a problem if we want to pre-map some
> > guest
> > > > > memory
> > > > > > > in advance or to cache mappings in the backend in order to
> > improve
> > > > > > > performance (because the mapping/unmapping guest pages every
> > request
> > > > > > > requires a lot of back and forth to Xen + P2M updates). In a
> > nutshell,
> > > > > > > currently, in order to map a guest page into the backend address
> > space
> > > > > we
> > > > > > > need to steal a real physical page from the backend domain. So,
> > with
> > > > > the
> > > > > > > said optimizations we might end up with no free memory in the
> > backend
> > > > > > > domain (see XSA-300). And what we try to achieve is to not waste
> > a
> > > > > real
> > > > > > > domain memory at all by providing safe non-allocated-yet (so
> > unused)
> > > > > > > address space for the foreign (and grant) pages to be mapped
> > into,
> > > > > this
> > > > > > > enabling work implies Xen and Linux (and likely DTB bindings)
> > changes.
> > > > > > > However, as it turned out, for this to work in a proper and safe
> > way
> > > > > some
> > > > > > > prereq work needs to be done.
> > > > > > > > > You can find the related Xen discussion at:
> > > > > > > > > https://lore.kernel.org/xen-devel/1627489110-25633-1-git-
> > send-
> > > > > email-
> > > > > > > olekstysh@gmail.com/
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > > One question is how to best handle notification and
> > kicks.
> > > > > The
> > > > > > > existing
> > > > > > > > > > > > vhost-user framework uses eventfd to signal the daemon
> > > > > (although
> > > > > > > QEMU
> > > > > > > > > > > > is quite capable of simulating them when you use TCG).
> > Xen
> > > > > has
> > > > > > > it's own
> > > > > > > > > > > > IOREQ mechanism. However latency is an important
> > factor and
> > > > > > > having
> > > > > > > > > > > > events go through the stub would add quite a lot.
> > > > > > > > > > >
> > > > > > > > > > > Yeah I think, regardless of anything else, we want the
> > > > > backends to
> > > > > > > > > > > connect directly to the Xen hypervisor.
> > > > > > > > > >
> > > > > > > > > > In my approach,
> > > > > > > > > >  a) BE -> FE: interrupts triggered by BE calling a
> > hypervisor
> > > > > > > interface
> > > > > > > > > >               via virtio-proxy
> > > > > > > > > >  b) FE -> BE: MMIO to config raises events (in event
> > channels),
> > > > > > > which is
> > > > > > > > > >               converted to a callback to BE via virtio-
> > proxy
> > > > > > > > > >               (Xen's event channel is internnally
> > implemented by
> > > > > > > interrupts.)
> > > > > > > > > >
> > > > > > > > > > I don't know what "connect directly" means here, but
> > sending
> > > > > > > interrupts
> > > > > > > > > > to the opposite side would be best efficient.
> > > > > > > > > > Ivshmem, I suppose, takes this approach by utilizing PCI's
> > msi-x
> > > > > > > mechanism.
> > > > > > > > >
> > > > > > > > > Agree that MSI would be more efficient than SPI...
> > > > > > > > > At the moment, in order to notify the frontend, the backend
> > issues
> > > > > a
> > > > > > > specific device-model call to query Xen to inject a
> > corresponding SPI
> > > > > to
> > > > > > > the guest.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > > Could we consider the kernel internally converting
> > IOREQ
> > > > > > > messages from
> > > > > > > > > > > > the Xen hypervisor to eventfd events? Would this scale
> > with
> > > > > > > other kernel
> > > > > > > > > > > > hypercall interfaces?
> > > > > > > > > > > >
> > > > > > > > > > > > So any thoughts on what directions are worth
> > experimenting
> > > > > with?
> > > > > > > > > > >
> > > > > > > > > > > One option we should consider is for each backend to
> > connect
> > > > > to
> > > > > > > Xen via
> > > > > > > > > > > the IOREQ interface. We could generalize the IOREQ
> > interface
> > > > > and
> > > > > > > make it
> > > > > > > > > > > hypervisor agnostic. The interface is really trivial and
> > easy
> > > > > to
> > > > > > > add.
> > > > > > > > > >
> > > > > > > > > > As I said above, my proposal does the same thing that you
> > > > > mentioned
> > > > > > > here :)
> > > > > > > > > > The difference is that I do call hypervisor interfaces via
> > > > > virtio-
> > > > > > > proxy.
> > > > > > > > > >
> > > > > > > > > > > The only Xen-specific part is the notification mechanism,
> > > > > which is
> > > > > > > an
> > > > > > > > > > > event channel. If we replaced the event channel with
> > something
> > > > > > > else the
> > > > > > > > > > > interface would be generic. See:
> > > > > > > > > > > https://gitlab.com/xen-project/xen/-
> > > > > > > /blob/staging/xen/include/public/hvm/ioreq.h#L52
> > > > > > > > > > >
> > > > > > > > > > > I don't think that translating IOREQs to eventfd in the
> > kernel
> > > > > is
> > > > > > > a
> > > > > > > > > > > good idea: if feels like it would be extra complexity
> > and that
> > > > > the
> > > > > > > > > > > kernel shouldn't be involved as this is a backend-
> > hypervisor
> > > > > > > interface.
> > > > > > > > > >
> > > > > > > > > > Given that we may want to implement BE as a bare-metal
> > > > > application
> > > > > > > > > > as I did on Zephyr, I don't think that the translation
> > would not
> > > > > be
> > > > > > > > > > a big issue, especially on RTOS's.
> > > > > > > > > > It will be some kind of abstraction layer of interrupt
> > handling
> > > > > > > > > > (or nothing but a callback mechanism).
> > > > > > > > > >
> > > > > > > > > > > Also, eventfd is very Linux-centric and we are trying to
> > > > > design an
> > > > > > > > > > > interface that could work well for RTOSes too. If we
> > want to
> > > > > do
> > > > > > > > > > > something different, both OS-agnostic and hypervisor-
> > agnostic,
> > > > > > > perhaps
> > > > > > > > > > > we could design a new interface. One that could be
> > > > > implementable
> > > > > > > in the
> > > > > > > > > > > Xen hypervisor itself (like IOREQ) and of course any
> > other
> > > > > > > hypervisor
> > > > > > > > > > > too.
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > There is also another problem. IOREQ is probably not be
> > the
> > > > > only
> > > > > > > > > > > interface needed. Have a look at
> > > > > > > > > > > https://marc.info/?l=xen-devel&m=162373754705233&w=2.
> > Don't we
> > > > > > > also need
> > > > > > > > > > > an interface for the backend to inject interrupts into
> > the
> > > > > > > frontend? And
> > > > > > > > > > > if the backend requires dynamic memory mappings of
> > frontend
> > > > > pages,
> > > > > > > then
> > > > > > > > > > > we would also need an interface to map/unmap domU pages.
> > > > > > > > > >
> > > > > > > > > > My proposal document might help here; All the interfaces
> > > > > required
> > > > > > > for
> > > > > > > > > > virtio-proxy (or hypervisor-related interfaces) are listed
> > as
> > > > > > > > > > RPC protocols :)
> > > > > > > > > >
> > > > > > > > > > > These interfaces are a lot more problematic than IOREQ:
> > IOREQ
> > > > > is
> > > > > > > tiny
> > > > > > > > > > > and self-contained. It is easy to add anywhere. A new
> > > > > interface to
> > > > > > > > > > > inject interrupts or map pages is more difficult to
> > manage
> > > > > because
> > > > > > > it
> > > > > > > > > > > would require changes scattered across the various
> > emulators.
> > > > > > > > > >
> > > > > > > > > > Exactly. I have no confident yet that my approach will
> > also
> > > > > apply
> > > > > > > > > > to other hypervisors than Xen.
> > > > > > > > > > Technically, yes, but whether people can accept it or not
> > is a
> > > > > > > different
> > > > > > > > > > matter.
> > > > > > > > > >
> > > > > > > > > > Thanks,
> > > > > > > > > > -Takahiro Akashi
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > --
> > > > > > > > > Regards,
> > > > > > > > >
> > > > > > > > > Oleksandr Tyshchenko
> > > > > > > > IMPORTANT NOTICE: The contents of this email and any
> > attachments are
> > > > > > > confidential and may also be privileged. If you are not the
> > intended
> > > > > > > recipient, please notify the sender immediately and do not
> > disclose
> > > > > the
> > > > > > > contents to any other person, use it for any purpose, or store
> > or copy
> > > > > the
> > > > > > > information in any medium. Thank you.
> > > > > > IMPORTANT NOTICE: The contents of this email and any attachments
> > are
> > > > > confidential and may also be privileged. If you are not the intended
> > > > > recipient, please notify the sender immediately and do not disclose
> > the
> > > > > contents to any other person, use it for any purpose, or store or
> > copy the
> > > > > information in any medium. Thank you.
> > > > IMPORTANT NOTICE: The contents of this email and any attachments are
> > confidential and may also be privileged. If you are not the intended
> > recipient, please notify the sender immediately and do not disclose the
> > contents to any other person, use it for any purpose, or store or copy the
> > information in any medium. Thank you.
> IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 06:48:21 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 06:48:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175469.319670 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKxZ1-0001LG-KE; Tue, 31 Aug 2021 06:48:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175469.319670; Tue, 31 Aug 2021 06:48: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 1mKxZ1-0001L9-HC; Tue, 31 Aug 2021 06:48:07 +0000
Received: by outflank-mailman (input) for mailman id 175469;
 Tue, 31 Aug 2021 06:48: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 1mKxZ0-0001Kz-Ha; Tue, 31 Aug 2021 06:48: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 1mKxZ0-0007S5-3L; Tue, 31 Aug 2021 06:48: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 1mKxYz-0007mB-NF; Tue, 31 Aug 2021 06:48:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mKxYz-0003VJ-Mi; Tue, 31 Aug 2021 06:48: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=gw8JjbQaBritCJovVf7h7PjspE+eaH4JCkIJ0SZExBI=; b=WSJY0xhQyh3kEF6y20DifXJ3F9
	yCerF38qDWfAFO1oUnbvsiMjVcgWhN2EC+DxXOQ+WPhr+Sh+H00ADdI4Q78Eob4p+ePV2+Vt2djsh
	mr7Aa3RoR3AiKaWsvi/r5yzlLmP1GlG+WwSVSWc0Rlsw5+1EOh2+asUxr21bBvB4Y1ZE=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164641-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 164641: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=50809fcc86fcbf9e0bb0bc1154780c7556f43031
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 31 Aug 2021 06:48:05 +0000

flight 164641 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164641/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              50809fcc86fcbf9e0bb0bc1154780c7556f43031
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  417 days
Failing since        151818  2020-07-11 04:18:52 Z  416 days  406 attempts
Testing same since   164539  2021-08-28 11:46:04 Z    2 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Cole Robinson <crobinso@redhat.com>
  Collin Walling <walling@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  Cédric Bosdonnat <cbosdonnat@suse.com>
  Côme Borsoi <fedora@borsoi.fr>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Letai <dani@letai.org.il>
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Didik Supriadi <didiksupriadi41@gmail.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Eric Farman <farman@linux.ibm.com>
  Erik Skultety <eskultet@redhat.com>
  Fabian Affolter <mail@fabian-affolter.ch>
  Fabian Freyer <fabian.freyer@physik.tu-berlin.de>
  Fabiano Fidêncio <fabiano@fidencio.org>
  Fangge Jin <fjin@redhat.com>
  Farhan Ali <alifm@linux.ibm.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Ian Wienand <iwienand@redhat.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  John Ferlan <jferlan@redhat.com>
  Jonathan Watt <jwatt@jwatt.org>
  Jonathon Jongsma <jjongsma@redhat.com>
  Julio Faracco <jcfaracco@gmail.com>
  Justin Gatzen <justin.gatzen@gmail.com>
  Ján Tomko <jtomko@redhat.com>
  Kashyap Chamarthy <kchamart@redhat.com>
  Kevin Locke <kevin@kevinlocke.name>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Liao Pingfang <liao.pingfang@zte.com.cn>
  Lin Ma <lma@suse.com>
  Lin Ma <lma@suse.de>
  Lin Ma <morecache@gmail.com>
  Liu Yiding <liuyd.fnst@fujitsu.com>
  Luke Yue <lukedyue@gmail.com>
  Luyao Zhong <luyao.zhong@intel.com>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Markus Schade <markus.schade@hetzner.com>
  Martin Kletzander <mkletzan@redhat.com>
  Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
  Matej Cepl <mcepl@cepl.eu>
  Matt Coleman <matt@datto.com>
  Matt Coleman <mcoleman@datto.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Meina Li <meili@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Michał Smyk <fedora@smyk.it>
  Milo Casagrande <milo@milo.name>
  Moshe Levi <moshele@nvidia.com>
  Muha Aliss <muhaaliss@gmail.com>
  Nathan <nathan95@live.it>
  Neal Gompa <ngompa13@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  Patrick Magauran <patmagauran.j@gmail.com>
  Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peter Krempa <pkrempa@redhat.com>
  Pino Toscano <ptoscano@redhat.com>
  Pino Toscano <toscano.pino@tiscali.it>
  Piotr Drąg <piotrdrag@gmail.com>
  Prathamesh Chavan <pc44800@gmail.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott Shambarger <scott-libvirt@shambarger.net>
  Sebastian Mitterle <smitterl@redhat.com>
  SeongHyun Jo <caelus9536@gmail.com>
  Shalini Chellathurai Saroja <shalini@linux.ibm.com>
  Shaojun Yang <yangshaojun@phytium.com.cn>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Szymon Scholz <szymonscholz@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>
  Tomáš Golembiovský <tgolembi@redhat.com>
  Tomáš Janoušek <tomi@nomi.cz>
  Tuguoyi <tu.guoyi@h3c.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  William Douglas <william.douglas@intel.com>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 71383 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 06:52:02 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 06:52:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175476.319684 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKxcn-0002r3-5G; Tue, 31 Aug 2021 06:52:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175476.319684; Tue, 31 Aug 2021 06: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 1mKxcn-0002qw-1z; Tue, 31 Aug 2021 06:52:01 +0000
Received: by outflank-mailman (input) for mailman id 175476;
 Tue, 31 Aug 2021 06:51:59 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Zqic=NW=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mKxcl-0002qq-K8
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 06:51:59 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 7a8859d6-f9fc-443e-a369-313c9cfc3927;
 Tue, 31 Aug 2021 06:51:58 +0000 (UTC)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2058.outbound.protection.outlook.com [104.47.12.58]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-37-fFXVSXQ_OuSFIC6S5ZS_qg-1; Tue, 31 Aug 2021 08:51:56 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM0PR04MB5906.eurprd04.prod.outlook.com (2603:10a6:208:130::31)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23; Tue, 31 Aug
 2021 06:51:54 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4457.024; Tue, 31 Aug 2021
 06:51:53 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR03CA0051.eurprd03.prod.outlook.com (2603:10a6:208::28) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.20 via Frontend Transport; Tue, 31 Aug 2021 06:51: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: 7a8859d6-f9fc-443e-a369-313c9cfc3927
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630392717;
	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=drZQEylNyNYxAugnIzX//tucIIlmODCRfuPm+RbOEvI=;
	b=X2s6kzEt/e2giJCKQjcSH26DKGRj9kZ+FDVnszxg9RhHkr0InFlBSx+s04cMYL4bkrbPcB
	m4mNrkRC9sMGRWp301GxlAdcykH4cmoKydas2ssaA0vxNvoka8rbJICQKtzr7rP81lCLU+
	J82cf0keRCwR52OwhEgo9O+7B4XxdXs=
X-MC-Unique: fFXVSXQ_OuSFIC6S5ZS_qg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IeVXbPy3guK1BXys3o5UHQNYe6r16N7NpU6JFt6s5MYvuV4s0KB09wjFUn1OUieH3ZEyLzeyqr+zN8tQtIi5GU2MY5Gr2yf6hhbzSineEFeQznWl7ezXjt5meIUy864WTPVLXdjrXXe+88EgbFsaqoyEBGznYO+8+rd5613ZyO1EoBs8vCa07OvsILvRgjZyQePA1n42f0jno0YzwF8QfDo0Seht2qOkyVZJSVXDqlBwpYEBZVhgbVhqZ7H/doBTKuPfjwxovCmPFbKf6nFxMaW5K0W6SGbUoWyfsKP7o42EnY4DAAKc23T4PMFEZDqSCInLQy1hQAZXOBkyUOA1Iw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=drZQEylNyNYxAugnIzX//tucIIlmODCRfuPm+RbOEvI=;
 b=VJeB7DR6+89U7qRZleOYhAdZ4WSQ+WVn0gkJu6XOKJ4j/jP9uqBXORLjpFcYgupgg39NWP/HU1MH6ru3b3uWeewM/26jqGHiYjSSfLE9r8tuxlWBCGbOv9SU3cC4QLaGs3sRQHOChxS2qfk6e0Tzohncz8Zlr30Hspa2EmAz7dwWI8e9veI+ytijuvW5T/O8Z1gcuv7NxnD22iz3dHzWTqAFFb6yFv54NjoePociW3bn4C22YiBDGcV8naQK1FRKu/ilHvHrhFQfl+pH28ixgrknFxSPzgACfueANKbYCGf74xnb8myWl+BeGUep6gO5Ywfk79biwIJybrtDJQuPoQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH RFC] vPCI: account for hidden devices in modify_bars()
To: Oleksandr Andrushchenko <andr2000@gmail.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <6285981f-683f-a043-7025-993613eaea7c@suse.com>
 <b2e8863d-217a-fc0e-3176-a20ef5ad0872@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <e87ad2a2-7ee0-a2e7-7bab-0c332aca7aec@suse.com>
Date: Tue, 31 Aug 2021 08:51:52 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <b2e8863d-217a-fc0e-3176-a20ef5ad0872@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM0PR03CA0051.eurprd03.prod.outlook.com (2603:10a6:208::28)
 To AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 83c160b3-c584-43c3-10b6-08d96c4bd126
X-MS-TrafficTypeDiagnostic: AM0PR04MB5906:
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB5906485EC3BFE30E8047D020B3CC9@AM0PR04MB5906.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	B4NlnKVgQkV/vNV8wU1cdrtfdmxKJkrmgPwoQ3MNQN5/KCmfDeI4JJVgR1HUqZHLXJOymYOW3f25bSiHKQNk/CTfrVD9k7SCfSYOZSx44U8C/jFUk+PIjtki8C0byCp/mfW12luxDyYnKfn2bUR9mJvzUR+D5XT7WziRXhsx+/sdZghIVM4IBwNIY5XZc0CtLKasK6x7zQC7QVgXVWSva//K1kLbyu0cKnI1jkEBneUQWvwkpfYXbuupn5Mf7zPLsc7owogxfTtU9YbalP4b7PDUQwX0YwvfaCnwSZugODCls8E9w2X+FFR4H0wTdI6lg255e+rZdGHGW3rMcXlbRwY+un8UP5ILv3fUs7A1uVXX/Xe2lap20XCZAlw3L36lyKpR5teijz2w+WTes/C9zb/9vfSQT/fU0+EZUA1pViRywUL2ngSwTyOAhz2vBnZbL0TDbP6tmMkjPsw9Rm+w9qO+F7cCnCMw0Of+5cM+bLsEcFc7SceqamvuOQu60hiuB9GeWEtqaP+EzDlfJ4qR/cppdviGEZ0sNCX/SiOfVvECe1sAEiAbNnHh5fLuCX9YmNQAc6c5RjUfCRAZB9g98yvWBOzX1Xye9McCI6DEQHBt+RcfjdaHOPVB8pTGjxr9RJLDdi7rBBqAV5qgKr82DtFwuCEXIloZkANSNx0hWLd96a5p3/WdTU6bHYKfmyD89XqDXgquMiLvKWKlDVQfXol43hd9SkGoQyqIeILuGi8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(8676002)(53546011)(5660300002)(31696002)(36756003)(6486002)(2616005)(66556008)(31686004)(956004)(4326008)(2906002)(83380400001)(66946007)(316002)(8936002)(26005)(54906003)(186003)(38100700002)(16576012)(508600001)(66476007)(15650500001)(86362001)(6916009)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OWRhU3lsbE1yaytvVnprbjJlUzZ1djhGaFdmb2ovNmZzVXRWaUlUQUJrV0E5?=
 =?utf-8?B?Y0hrT3AxTDQvNXFLZmgrUDN4K01hS1hzSm4ybGxmWkNGTUlSNnRXM2NwZnQv?=
 =?utf-8?B?dWcxazFKbkRMSjd3N0dYS1RqQUxiOTcyWWJqRjd0dURZZWtzWDB4R0FwMHNt?=
 =?utf-8?B?R2xiQ1g1SW91WmhnVjM1alF5NEN4dEZQV1JQREdnamtKUmZsZ1FJSDNTWjlS?=
 =?utf-8?B?Zi9ZYlZLMkQ0REsyTDNNMXJZZ3I2Ym1COGkvUTJmYlFMVjFVdVhGTXpyTi9T?=
 =?utf-8?B?aDZ2eWNVQVhKR0E0S0hncVZMbTZOSFdJa2ExK2JjL0lVS2JUd1doQzdXdG1M?=
 =?utf-8?B?M2JFZThlQU5RM0FIUVBDb2dLRGlSNjg0NTNPTVFJZ25nNkN4L1R2VGtNd1A2?=
 =?utf-8?B?VTIvOXI4TVg0UVY0Q1l2STJ2OXd0cTZkUTBycDdJM0ZtbWwxRDlrakZZTGY5?=
 =?utf-8?B?MXRuYWVmTVgweTVqbXdaWnpvbDEwb1k5b2E1TGpETExsRjNTWDBobzRDZjN3?=
 =?utf-8?B?SDdGMVBTYVcrK3p0VVRsblpadElQS0FYYXp5b3hZZENPZVdvNk4veTAyMlJk?=
 =?utf-8?B?NmtlcGFIVjFBRkRxMmlGR3IyUlErOGorTlAyNHJFRG5XLzJ4Wi9HNVNXT01G?=
 =?utf-8?B?dWo4RFo5Umd0RTloMEM2T1Baa2h5bVlpOVBicStiUFRXY3NSNFpnTUlUTGNh?=
 =?utf-8?B?N1dSQkpKempIM2V6VWRiUXZUczZIN3graktKaTRFdlFEVlQ5SlkyamNtV21k?=
 =?utf-8?B?QjlRc0tEZE91YUQvMFI5WW1ocmZpdXIzRjgxMWV1MTM5b2F6SktuNGp3Rklu?=
 =?utf-8?B?OGV2WFJKMGxTTEFrRk5HU1JIM1hrMlkxbHZEOXZqamZkMFM1cmFHQXlESlRs?=
 =?utf-8?B?MkwzZm42VjZBR3BPYklTSVNLUS9pVzd4LzNtbjEwdFo0aDdzY09KcjZJbzYy?=
 =?utf-8?B?c0xYdlBobjBROXNzaGVSbDdrbmd0WHg1LzIwTDA2MlZnMkZwa1dzdmVFRVZp?=
 =?utf-8?B?OVVEdEtISU9jSzh4T25zSWFUcTlVUi9lM0NyM1ZJbTV4VWtHUmlySkZqMHd1?=
 =?utf-8?B?Uzg5ZlJyNWlqWUNrMjhTRElXTXd2ejlVL2xTeUFBZFJCTnRxR0x2di9MT01k?=
 =?utf-8?B?NUZDcVV3MTNoNndsTGVWYWNnekxvZXFzaWdWaWtKN3VYejFGbWVVTGpHS1pn?=
 =?utf-8?B?VUF3d1VVRk4wbkRsMmVYWFVsb2czd0paQm42cWRVd3ZSV3RycGk3NDJzWnQx?=
 =?utf-8?B?MHg1d2l6MG9XQWlsOTJQS1MzeHExQVU0bXFURWloTys1alRienhhZkVIazFX?=
 =?utf-8?B?Z00vQ1BNK2J3YjF6U3RoNGtieVMxUWs2NVp3ZERscE40QXVHcmJuRERUQzBX?=
 =?utf-8?B?Skh6b0JEeVZqU2Zad1NmNWV0dUVyVEdGM0FITHdacUc0U2lJa1ZORHFpWllQ?=
 =?utf-8?B?MElNNUdxY2lkOHpBYXRhSWlPT1pkeVUza1c1WkJrek1KcEsrZ1FPQ2V5d0lu?=
 =?utf-8?B?ei9Ua1hRdE55cDNjbDVmWE5GVEF2Rko2V1JlTFVmdjRHOTlBcTJEVTk3SDNP?=
 =?utf-8?B?YkUzUnJzNDl1TXM0Y29vYWRjV3BKeUNtT204aGpYR1JOQlhUS1hheGlnemd0?=
 =?utf-8?B?a3BCSnJXejl5VDhxUFM0ZHVVbldOL215ODYxRXFvTTQ2bjZpdXNSYXFCVnBo?=
 =?utf-8?B?SFFJRlo2RTZMTWUzK0hjWnRXdWV5dWp1TnVTSU5wbHNpWDBQOG1wTWU2cWdw?=
 =?utf-8?Q?6hdkajaiCXxANO0v104fQkZKIRokhrWzPeSvj1m?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 83c160b3-c584-43c3-10b6-08d96c4bd126
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2021 06:51:53.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: PjVUciTgj29O5r0RNb7WKxy3XisGh3uEvxrKOFSpSosQbwNYr89cjERejE78b9U8XMgC90bdbhzs0z/0RAz8uw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB5906

On 31.08.2021 07:35, Oleksandr Andrushchenko wrote:
> Hello, Jan!
> 
> On 30.08.21 16:04, Jan Beulich wrote:
>> Hidden devices (e.g. an add-in PCI serial card used for Xen's serial
>> console) are associated with DomXEN, not Dom0. This means that while
>> looking for overlapping BARs such devices cannot be found on Dom0's
>> list of devices; DomXEN's list also needs to be scanned.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> RFC: Patch intentionally mis-formatted, as the necessary re-indentation
>>       would make the diff difficult to read. At this point I'd merely
>>       like to gather input towards possible better approaches to solve
>>       the issue (not the least because quite possibly there are further
>>       places needing changing).
>>
>> --- a/xen/drivers/vpci/header.c
>> +++ b/xen/drivers/vpci/header.c
>> @@ -206,6 +206,7 @@ static int modify_bars(const struct pci_
>>       struct vpci_header *header = &pdev->vpci->header;
>>       struct rangeset *mem = rangeset_new(NULL, NULL, 0);
>>       struct pci_dev *tmp, *dev = NULL;
>> +    const struct domain *d;
>>       const struct vpci_msix *msix = pdev->vpci->msix;
>>       unsigned int i;
>>       int rc;
>> @@ -265,7 +266,8 @@ static int modify_bars(const struct pci_
>>        * Check for overlaps with other BARs. Note that only BARs that are
>>        * currently mapped (enabled) are checked for overlaps.
>>        */
>> -    for_each_pdev ( pdev->domain, tmp )
>> +for ( d = pdev->domain; ; d = dom_xen ) {//todo
> 
> I am not quite sure this will be correct for the cases where pdev->domain != dom0,
> e.g. in the series for PCI passthrough for Arm this can be any guest. For such cases
> we'll force running the loop for dom_xen which I am not sure is desirable.

It is surely not desirable, but it also doesn't happen - see the
is_hardware_domain() check further down (keeping context below).

> Another question is why such a hidden device has its pdev->domain not set correctly,
> so we need to work this around?

Please see _setup_hwdom_pci_devices() and commit e46ea4d44dc0
("PCI: don't allow guest assignment of devices used by Xen")
introducing that temporary override. To permit limited
visibility to Dom0, these devices still need setting up in the
IOMMU for Dom0. Consequently BAR overlap detection also needs
to take these into account (i.e. the goal here is not just to
prevent triggering the ASSERT() in question).

Jan

>> @@ -308,6 +311,7 @@ static int modify_bars(const struct pci_
>>               }
>>           }
>>       }
>> +if ( !is_hardware_domain(d) ) break; }//todo
>>   
>>       ASSERT(dev);
>>   
>>
>>
> 



From xen-devel-bounces@lists.xenproject.org Tue Aug 31 07:06:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 07:06:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175486.319695 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKxr9-0004ev-AO; Tue, 31 Aug 2021 07:06:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175486.319695; Tue, 31 Aug 2021 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 1mKxr9-0004eo-6e; Tue, 31 Aug 2021 07:06:51 +0000
Received: by outflank-mailman (input) for mailman id 175486;
 Tue, 31 Aug 2021 07:06:49 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Vpuq=NW=gmail.com=andr2000@srs-us1.protection.inumbo.net>)
 id 1mKxr7-0004eg-Kw
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 07:06:49 +0000
Received: from mail-lf1-x133.google.com (unknown [2a00:1450:4864:20::133])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ed79fbfe-1562-4a09-8586-91660880c568;
 Tue, 31 Aug 2021 07:06:48 +0000 (UTC)
Received: by mail-lf1-x133.google.com with SMTP id c8so23871748lfi.3
 for <xen-devel@lists.xenproject.org>; Tue, 31 Aug 2021 00:06:48 -0700 (PDT)
Received: from [192.168.10.179] ([185.199.97.5])
 by smtp.gmail.com with ESMTPSA id m1sm975099lfc.144.2021.08.31.00.06.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 31 Aug 2021 00:06: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: ed79fbfe-1562-4a09-8586-91660880c568
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-transfer-encoding:content-language;
        bh=+ifqEG0dqToNH+VM7lR9NzAT93Xb/qNc6QFPNtEMEs8=;
        b=r0V7+BfRqZ3HT+mck3Hb+UqPMsK4HKipU6bAhlfKLf7g4f/1iwVVHkygHpkL/8A3S8
         U7lPZNMPMM5psGrj1d+Mggz4zQQa6WFO6R6+dwgOWW9yeXnI9NYgIjTEOYLntUyXuLvW
         pXm4qGpJMXDEAwBshXHVNvEQLYE98RONQahsjoDG915jxmeXTJKG8TTNKA8txVjUW/2w
         GDJ+74ENmqoftzZHWZErV1QaNhWKuoZip3w9XdqO4zRQsVI+cbvfO7Al+KBDIdeEkERV
         Xd1whQhG2IDdLM0TlIiL4NeSp1zUA48780JDogzwWYgBJDn5nxiWVAQ/B84CF87LdVOd
         emLQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-transfer-encoding
         :content-language;
        bh=+ifqEG0dqToNH+VM7lR9NzAT93Xb/qNc6QFPNtEMEs8=;
        b=FcOxyTh9MbM0xd2EL6an9/ceAKsO1O1ZSNfZEDzS4q+SnWVT+jw8IIGu04dxZ4vtFX
         aPB4D9xQrYgY8SYQH7wrzn7mLxa7LpVd2XTRUourkf3Msh+c+6uHEl8O+v7s3LnmDCN0
         x3YiaVBVak1AnsKGt37URkCn4X4nFJkw3dpC5C8av9zmjXLaxUfeHmAaXmSpCsyZqEXk
         cc9obtV3V/yecpefxPG8ZwNpLl3Z2JlGtLVrvPR4OOpBzBgZ6zZNpRs8rYT7d8ma89yJ
         1+OKnmOBifWTvG9MCNzpp0ynQgj3baAgBmNh0IJsPGOinpxg3hU8HmSiy2R4XP9bn9r3
         hXrA==
X-Gm-Message-State: AOAM53092opiFFjvYYPPmTwdCvozKYnNjt2tItzCx0bV4BBTEDP3f5OH
	qTSpQt/WoJsByO9RMGtBlyajlEaWHJ66Fw==
X-Google-Smtp-Source: ABdhPJwDsYEipFqgau7U2F64s0+TRToj3KLxUwaqZC6tbUxtAAXIk3kl0HrPpl6a2sDEbCU3vh565A==
X-Received: by 2002:a05:6512:3767:: with SMTP id z7mr20559840lft.128.1630393606991;
        Tue, 31 Aug 2021 00:06:46 -0700 (PDT)
Subject: Re: [PATCH RFC] vPCI: account for hidden devices in modify_bars()
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <6285981f-683f-a043-7025-993613eaea7c@suse.com>
 <b2e8863d-217a-fc0e-3176-a20ef5ad0872@gmail.com>
 <e87ad2a2-7ee0-a2e7-7bab-0c332aca7aec@suse.com>
From: Oleksandr Andrushchenko <andr2000@gmail.com>
Message-ID: <3a6ca3ac-8771-2a80-285e-701c5c1b8343@gmail.com>
Date: Tue, 31 Aug 2021 10:06:45 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <e87ad2a2-7ee0-a2e7-7bab-0c332aca7aec@suse.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Content-Language: en-US


On 31.08.21 09:51, Jan Beulich wrote:
> On 31.08.2021 07:35, Oleksandr Andrushchenko wrote:
>> Hello, Jan!
>>
>> On 30.08.21 16:04, Jan Beulich wrote:
>>> Hidden devices (e.g. an add-in PCI serial card used for Xen's serial
>>> console) are associated with DomXEN, not Dom0. This means that while
>>> looking for overlapping BARs such devices cannot be found on Dom0's
>>> list of devices; DomXEN's list also needs to be scanned.
>>>
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>> ---
>>> RFC: Patch intentionally mis-formatted, as the necessary re-indentation
>>>        would make the diff difficult to read. At this point I'd merely
>>>        like to gather input towards possible better approaches to solve
>>>        the issue (not the least because quite possibly there are further
>>>        places needing changing).
>>>
>>> --- a/xen/drivers/vpci/header.c
>>> +++ b/xen/drivers/vpci/header.c
>>> @@ -206,6 +206,7 @@ static int modify_bars(const struct pci_
>>>        struct vpci_header *header = &pdev->vpci->header;
>>>        struct rangeset *mem = rangeset_new(NULL, NULL, 0);
>>>        struct pci_dev *tmp, *dev = NULL;
>>> +    const struct domain *d;
>>>        const struct vpci_msix *msix = pdev->vpci->msix;
>>>        unsigned int i;
>>>        int rc;
>>> @@ -265,7 +266,8 @@ static int modify_bars(const struct pci_
>>>         * Check for overlaps with other BARs. Note that only BARs that are
>>>         * currently mapped (enabled) are checked for overlaps.
>>>         */
>>> -    for_each_pdev ( pdev->domain, tmp )
>>> +for ( d = pdev->domain; ; d = dom_xen ) {//todo
>> I am not quite sure this will be correct for the cases where pdev->domain != dom0,
>> e.g. in the series for PCI passthrough for Arm this can be any guest. For such cases
>> we'll force running the loop for dom_xen which I am not sure is desirable.
> It is surely not desirable, but it also doesn't happen - see the
> is_hardware_domain() check further down (keeping context below).
Right
>
>> Another question is why such a hidden device has its pdev->domain not set correctly,
>> so we need to work this around?
> Please see _setup_hwdom_pci_devices() and commit e46ea4d44dc0
> ("PCI: don't allow guest assignment of devices used by Xen")
> introducing that temporary override. To permit limited
> visibility to Dom0, these devices still need setting up in the
> IOMMU for Dom0. Consequently BAR overlap detection also needs
> to take these into account (i.e. the goal here is not just to
> prevent triggering the ASSERT() in question).

So, why don't we set pdev->domain = dom_xen for such devices and call

modify_bars or something from pci_hide_device for instance (I didn't get too

much into implementation details though)? If pci_hide_device already handles

such exceptions, so it should also take care of the correct BAR overlaps etc.

Otherwise it looks like we put some unrelated logic into vpci which is for hiding

the devices (on x86).

Thank you,

Oleksandr

>
> Jan
>
>>> @@ -308,6 +311,7 @@ static int modify_bars(const struct pci_
>>>                }
>>>            }
>>>        }
>>> +if ( !is_hardware_domain(d) ) break; }//todo
>>>    
>>>        ASSERT(dev);
>>>    
>>>
>>>


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 07:30:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 07:30:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175510.319714 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKyEN-0008Hj-GD; Tue, 31 Aug 2021 07:30:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175510.319714; Tue, 31 Aug 2021 07:30:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKyEN-0008Hc-D0; Tue, 31 Aug 2021 07:30:51 +0000
Received: by outflank-mailman (input) for mailman id 175510;
 Tue, 31 Aug 2021 07:30:51 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=DmOZ=NW=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mKyEN-0008HW-0o
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 07:30:51 +0000
Received: from smtp-out2.suse.de (unknown [195.135.220.29])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 5cf28380-0a2d-11ec-ad0e-12813bfff9fa;
 Tue, 31 Aug 2021 07:30:49 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 B739920111;
 Tue, 31 Aug 2021 07:30:48 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 6B8E6136DF;
 Tue, 31 Aug 2021 07:30:48 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id YYguGKjaLWFQTAAAGKfGzw
 (envelope-from <jgross@suse.com>); Tue, 31 Aug 2021 07:30:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5cf28380-0a2d-11ec-ad0e-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1630395048; 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=QDw6hWNKn1OSxqSn8LcKWeOLr5F/R547IKlLdYiyFwI=;
	b=ZrQ+vpdq6YJ/MVjJe0kWgXlWjwIifEJzUqz2vtTGCmwYAwdvLmgqdvzLPoretEBWRWWPGc
	2vvAKRQy682fahKtv0FDIfCb4Yf/TlDkjLEh70WVhpHRGUdAeH0rEAlSh8ZRxEh7mo9btJ
	L33ugijrxBSXiUnKGwoC1Wz1vyUPfpU=
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>,
	Ian Jackson <iwj@xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH] Config: use Mini-OS master for xen-unstable
Date: Tue, 31 Aug 2021 09:30:38 +0200
Message-Id: <20210831073039.7101-1-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In order to get Mini-OS master branch tested by OSStest, use it for
xen-unstable.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
There are some Mini-OS patches pending, of which at least the Mini-OS
netfront fix should be committed as it will be required for qemu-stubdom
to work.
---
 Config.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Config.mk b/Config.mk
index 4d723eec1d..d4e8ced104 100644
--- a/Config.mk
+++ b/Config.mk
@@ -246,7 +246,7 @@ MINIOS_UPSTREAM_URL ?= git://xenbits.xen.org/mini-os.git
 endif
 OVMF_UPSTREAM_REVISION ?= b37cfdd2807181aed2fee1e17bd7ec1190db266a
 QEMU_UPSTREAM_REVISION ?= master
-MINIOS_UPSTREAM_REVISION ?= 051b87bb9c19609976fb038f386920e1ce5454c5
+MINIOS_UPSTREAM_REVISION ?= master
 
 SEABIOS_UPSTREAM_REVISION ?= rel-1.14.0
 
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Aug 31 07:48:07 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 07:48:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175519.319725 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKyUx-0001jj-07; Tue, 31 Aug 2021 07:47:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175519.319725; Tue, 31 Aug 2021 07: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 1mKyUw-0001jc-TM; Tue, 31 Aug 2021 07:47:58 +0000
Received: by outflank-mailman (input) for mailman id 175519;
 Tue, 31 Aug 2021 07:47:57 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Zqic=NW=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mKyUv-0001jW-Fw
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 07:47:57 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id c0d1607c-0a2f-11ec-ad0e-12813bfff9fa;
 Tue, 31 Aug 2021 07:47:56 +0000 (UTC)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2106.outbound.protection.outlook.com [104.47.18.106])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-21-dIa9zdZhMMCpmqKIOMYRNQ-1; Tue, 31 Aug 2021 09:47:54 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB7040.eurprd04.prod.outlook.com (2603:10a6:800:121::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.20; Tue, 31 Aug
 2021 07:47:53 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4478.017; Tue, 31 Aug 2021
 07:47:53 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P193CA0030.EURP193.PROD.OUTLOOK.COM (2603:10a6:102:50::35) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.18 via Frontend Transport; Tue, 31 Aug 2021 07:47: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: c0d1607c-0a2f-11ec-ad0e-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630396075;
	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=/ixhy65TcmV92v6tAGmnzUlvQpUNsgVOc7kPEGPPR7s=;
	b=WjvJvN2VWecv7oUyGR/BEfT88flz6TuFcGAzkkSb4hszVNNX0/ScVaUBJ8uDmfdYk98CVS
	KI1wcMy32JpelibHP3uSWMpzEUNmMD43bYBQrOGC1AcTLp6E8hvsYcEs60LkADjZn+StsP
	X747zNtd4ox1DA9zkAIxzeVA8Il4kbo=
X-MC-Unique: dIa9zdZhMMCpmqKIOMYRNQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YHn1N/b1cXfOW5aNlkDgsfi0DIVI/+FllvJbm+PX6ZyWRPgXrmxNqL3Y0DcbjxjdBhAUb3ugXYUBr8Qfses548iA6ugvzKfzczwNEctRkqwcGvVpCQTLn7WgqVRGJYtErwgGLcHQxHMGAbfHpAdmywcS8C4ztLYX3q4krqkSuDLXJw83EAZdBH9Pf98ZPoN5jv7pycoSd/U5sKygB2M6cXbZzTtaMsPEahogbn3mMiDeBZaFMJazuh5MnA8PurRGYgZR7KiM4TkrK8m/ABNyHYPeEYGA3qE3vtF1X0hWMMuJoLUWrSLjROTVpZUi3DMtUeKoYeEXIzWC3ANA7cpE5A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/ixhy65TcmV92v6tAGmnzUlvQpUNsgVOc7kPEGPPR7s=;
 b=PvwUmCDggMICxjHxCAJ8qFKdS69vSABsbhb78cRDEX83EQgjiOdW1OcYSyapjrMrsh/fCoUULnicaKNJilyzg5rrvL8wLbxCgVRF5imfOHFt5WCgYr44fa0hbaOISYnv5XfPOgcblqJyNBZebtpICiQwe9U9YjwOx2bmLI5UKdLddFho86Ybz1mqoP+P6AY2JONy9TS+LJqh3EIu+0Uk3FMw+tjMKIin3f39OC/Kp5rlQgBOJM4CrtH897I3yvfKjVsoxAi/MGHAkMKL03z1BL9+b5laMuL9KeurEqrAAHQoJ8WY0KfVOyjfEVJn2RLFMy9xWw845bmaobc69vNVtg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH RFC] vPCI: account for hidden devices in modify_bars()
To: Oleksandr Andrushchenko <andr2000@gmail.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <6285981f-683f-a043-7025-993613eaea7c@suse.com>
 <b2e8863d-217a-fc0e-3176-a20ef5ad0872@gmail.com>
 <e87ad2a2-7ee0-a2e7-7bab-0c332aca7aec@suse.com>
 <3a6ca3ac-8771-2a80-285e-701c5c1b8343@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <956dd02c-553e-6aa2-eedf-28703a6ded32@suse.com>
Date: Tue, 31 Aug 2021 09:47:50 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <3a6ca3ac-8771-2a80-285e-701c5c1b8343@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P193CA0030.EURP193.PROD.OUTLOOK.COM
 (2603:10a6:102:50::35) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 59e17fd4-43f3-4cdc-7497-08d96c53a34e
X-MS-TrafficTypeDiagnostic: VI1PR04MB7040:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB7040C5123F25E4BAB4A7B1D5B3CC9@VI1PR04MB7040.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	I9cHRS7MZ7kkLvsf/Iw0aFnj211fu5DP/3x6TkP75j4fPsGp9KPxYI3BOLerDHnorZZNItFSpHLAfP9GuJy6X+JIICCjz/mRnHN81wzjU4YXZN1TZTZGuSZcyNkKyU5WeDfUErnvJbI/gqpS2dqmHQ+zT2UT3wj7kr0Y/8qduQ/tMGtY/yy1v44qxgyoVR/5MxmaIKyyZiiYZ/pFRDGZk7qn+nmxxdXpolhgV5NHvLCoFXQzbZJmm6fTqYc8JgN444kFJrQPZainVL/txMdl7BrgfU2qPl0CZYsKp2eVhZC/OBIGkneBExfdfh0QMU2c2NGiFqkWTf3LQWAoL0QDk+A5rcddnbm4zMtzEf7ogi1gK0Di0yoXNamHxJ6rMGuyp/QQDHuSbwIyXCSoGoXSuqTxGzZKSlgMyGdJiD6pNLafSdjzl5jbJrDe6G9rWpaLlu3BrB/XXJab2Ua6o1yOTyuDRJ8LqdT1622wituDx1e7TyRaPPlETaB9wZdrklPNGQsHYovIuC/1Rq6MvRLAg09OVV7Ngi0te6/i3Ak7t88UztL1yHyT+sySu98CcSRashosmyQjpDiJWLvjC6y8rUVZcG1nN11zfJ+AJI9ZKjxKpwdXjye8/V2IA/qog41dvDZ/pDdSgMF7NO+DuIoR+v930tIiTd2+A+z+WPJPPn5EPwDHiHW7XCoq/mwTaB/7hGuehI5iRCZuNvZExZQU2NMZRuBcMGwut2jdcZI6JfA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(39860400002)(366004)(346002)(376002)(396003)(66556008)(15650500001)(36756003)(31686004)(8676002)(83380400001)(16576012)(5660300002)(956004)(6486002)(54906003)(31696002)(26005)(8936002)(66946007)(86362001)(6916009)(316002)(4326008)(2616005)(38100700002)(186003)(2906002)(53546011)(66476007)(478600001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?S05DVGhuOE84aDJ0SzQxZFJFSi9jK2hJSUh1WEsxdkkxbW5HenV2QVJVOFg3?=
 =?utf-8?B?Zk9yckZ4UHh1UHZnZkpwcWRNdk8rS1ZNenFOeWhoaVp3c09xUXU5TXpRWGdh?=
 =?utf-8?B?VmpSWWpGR2tvcXk2aFBSakFTTTkwYU9VaSs5M0h2L3RLajNhbEFFbFlTd1hp?=
 =?utf-8?B?aDVHQ25UalVQZkwvdFJFWTZoLzdZT2Zta2RhTVFZNzYrcU9YODhNYTdPTm9i?=
 =?utf-8?B?djNSRmRSelVnUzNoZnYyVUxHV1NQUDdmWkhnQ2x0ZGJ5YXRmb1lGQ09FQ1cy?=
 =?utf-8?B?T0NVZmZGS1h3T3psaHQrYUJtbTVRY25yUUxlSEpCT1YyL3ZxV1gwTGlyQWEr?=
 =?utf-8?B?Sit2c2plVlJWbFJtWlFhM1FxTVlaczYvVkN0WjEzR3Y5OVJhc2l2WXpJRW13?=
 =?utf-8?B?WlJ5ZFdIRXZQdnJ2dkRPSDJLcnRDbkFXZldMRGgzKzNLQlEyYUZOS3BrbVov?=
 =?utf-8?B?bGl0L2VTSCtaTUt6Tk54S2JBZVdQM0JJaHVQc0ptQzdTQ2I2RmJqNFBpbnhH?=
 =?utf-8?B?YlppejdROFZqNk85a2ViRDRLL0hpdkppMkxheDliR1R6MGxjSEJTRThCSmhr?=
 =?utf-8?B?WFV0RzFvUXJScGZuWkhaaVBPOWpvakxQTGZERllTZHE2K1RQM1ZoTE5IU0FJ?=
 =?utf-8?B?cW1oa0loU0gvTmk3Q2Fvdk1vOXpaOS8zbVBRUzFEWjJ6anhFa1NDWjdNTmJo?=
 =?utf-8?B?YnA4R0ZOR3FYK3VGeWN3U01HU3drb2ZMMjFEYWJNeHNPWnlxaCtXdkNFb0Jp?=
 =?utf-8?B?ZzZLZ2NaS0ljdGEwbTFFcXpsaE90eXVpUWRBbWtFbEFvUkZadk5ydUtZZUh6?=
 =?utf-8?B?SmFLTEtvVGtDZ0RCc1VHY2RvbUpjN2RTUnE3cmdPeTQ1OThXbE5LNlVzRlBW?=
 =?utf-8?B?V1JpSXNRbkplSDM0TWZTQWwwbWovdTJqM01QMHI4SGdmLzNMeHo2R1J0YWZF?=
 =?utf-8?B?bFBmeWxZdDByNnovSTZxMCt3M3pzMFo1eHcwclo1WkQzTURTL3M4WFlaV1dm?=
 =?utf-8?B?T3hiaW5iblJrbGRIRDVBdGVwV2NwWDNvSTVvNVBqMWNpdnFuSGc2djRBSjIy?=
 =?utf-8?B?cEgyVnVEbXhqNWJtSzdlSTZpQmIwTjVjUEFiVnV6alBJYkIxSUU3czBmWFMx?=
 =?utf-8?B?Q2ZpRXpPUUdmRmk4TVJkYkxXOWRHVStWV21VVVU5b2Z6dmp4dE9udFBScDlC?=
 =?utf-8?B?Zjk2U3FKbC9RckR5dElUTVhDRWczUEhLaDVMTkI1Mmw0R3cyRkJkcW5qSURW?=
 =?utf-8?B?b0JQYmdlV090OXlkN1lodjgxQ0pmT1dEdFVyd2pmZTI2Y2lNMkJiTWJxUWZm?=
 =?utf-8?B?RG5pdEJCRjc5bEE1ck96WnpGKzB4MEc0U1BUT1ZvNGlVek9FS0JKSmVOeDI4?=
 =?utf-8?B?U3h5TU5ZTG1kUEh2cFc5N2ZUN2Q5N1JIbHJsakdHTkNhVVppMzVUNit0SGUz?=
 =?utf-8?B?OWFtNkZaUUJ3ZkNjUklRdmpXbHAwY2ZYc2VqTmhsbUsvaFlQb2hYcVhFR1RU?=
 =?utf-8?B?VXdnRk1YUnF2cUU3bitveFdWUHEraytxNTNGOFU1V3E5UlA4RWhKTmRsUmxo?=
 =?utf-8?B?WHlJQ2lMSUI2Y2NJdzZGTHU3R1R2djZFcDZyQ0lGejY5N2x2NWVyMjlvcEZT?=
 =?utf-8?B?M09ZRWxOdDNjT2UvV0Y1bm9JSVZuWndjVzdEWU1obmtMYlllK1NhZjU1YzVX?=
 =?utf-8?B?UFdVT1RjM3pZamRocnNFTUZJUDdHTzVzVk41QnN5L043U0FZM2hObi84WlFn?=
 =?utf-8?Q?TsXNCKf4kaBbdaDZSVL70UbsnOJIw1uzHbQJHUI?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 59e17fd4-43f3-4cdc-7497-08d96c53a34e
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2021 07:47:53.0327
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: PMF02uV+rKWTioKTxtYfuaqKLFUn6zMJVQ8yB5DmW4hJlAvaOFTj5bAsrmi6UOA5mBeaXrmimFN8LqqdLaqzoQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7040

On 31.08.2021 09:06, Oleksandr Andrushchenko wrote:
> 
> On 31.08.21 09:51, Jan Beulich wrote:
>> On 31.08.2021 07:35, Oleksandr Andrushchenko wrote:
>>> Hello, Jan!
>>>
>>> On 30.08.21 16:04, Jan Beulich wrote:
>>>> Hidden devices (e.g. an add-in PCI serial card used for Xen's serial
>>>> console) are associated with DomXEN, not Dom0. This means that while
>>>> looking for overlapping BARs such devices cannot be found on Dom0's
>>>> list of devices; DomXEN's list also needs to be scanned.
>>>>
>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>> ---
>>>> RFC: Patch intentionally mis-formatted, as the necessary re-indentation
>>>>        would make the diff difficult to read. At this point I'd merely
>>>>        like to gather input towards possible better approaches to solve
>>>>        the issue (not the least because quite possibly there are further
>>>>        places needing changing).
>>>>
>>>> --- a/xen/drivers/vpci/header.c
>>>> +++ b/xen/drivers/vpci/header.c
>>>> @@ -206,6 +206,7 @@ static int modify_bars(const struct pci_
>>>>        struct vpci_header *header = &pdev->vpci->header;
>>>>        struct rangeset *mem = rangeset_new(NULL, NULL, 0);
>>>>        struct pci_dev *tmp, *dev = NULL;
>>>> +    const struct domain *d;
>>>>        const struct vpci_msix *msix = pdev->vpci->msix;
>>>>        unsigned int i;
>>>>        int rc;
>>>> @@ -265,7 +266,8 @@ static int modify_bars(const struct pci_
>>>>         * Check for overlaps with other BARs. Note that only BARs that are
>>>>         * currently mapped (enabled) are checked for overlaps.
>>>>         */
>>>> -    for_each_pdev ( pdev->domain, tmp )
>>>> +for ( d = pdev->domain; ; d = dom_xen ) {//todo
>>> I am not quite sure this will be correct for the cases where pdev->domain != dom0,
>>> e.g. in the series for PCI passthrough for Arm this can be any guest. For such cases
>>> we'll force running the loop for dom_xen which I am not sure is desirable.
>> It is surely not desirable, but it also doesn't happen - see the
>> is_hardware_domain() check further down (keeping context below).
> Right
>>
>>> Another question is why such a hidden device has its pdev->domain not set correctly,
>>> so we need to work this around?
>> Please see _setup_hwdom_pci_devices() and commit e46ea4d44dc0
>> ("PCI: don't allow guest assignment of devices used by Xen")
>> introducing that temporary override. To permit limited
>> visibility to Dom0, these devices still need setting up in the
>> IOMMU for Dom0. Consequently BAR overlap detection also needs
>> to take these into account (i.e. the goal here is not just to
>> prevent triggering the ASSERT() in question).
> 
> So, why don't we set pdev->domain = dom_xen for such devices and call
> modify_bars or something from pci_hide_device for instance (I didn't get too
> much into implementation details though)? If pci_hide_device already handles
> such exceptions, so it should also take care of the correct BAR overlaps etc.

How would it? It runs long before Dom0 gets created, let alone when
Dom0 may make adjustments to the BAR arrangement.

The temporary overriding of pdev->domain is because other IOMMU code
takes the domain to act upon from that field. This could have been
solved without override, but then much heavier code churn would have
resulted.

> Otherwise it looks like we put some unrelated logic into vpci which is for hiding
> the devices (on x86).

Hiding devices is in no way x86-specific.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 31 07:56:19 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 07:56:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175528.319736 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKyco-0003JG-Rb; Tue, 31 Aug 2021 07:56:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175528.319736; Tue, 31 Aug 2021 07:56: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 1mKyco-0003J9-Nr; Tue, 31 Aug 2021 07:56:06 +0000
Received: by outflank-mailman (input) for mailman id 175528;
 Tue, 31 Aug 2021 07:56:06 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Vpuq=NW=gmail.com=andr2000@srs-us1.protection.inumbo.net>)
 id 1mKycn-0003J3-Vo
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 07:56:06 +0000
Received: from mail-lj1-x22a.google.com (unknown [2a00:1450:4864:20::22a])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 55488d5f-ef47-483a-9d92-65d10a4e0242;
 Tue, 31 Aug 2021 07:56:04 +0000 (UTC)
Received: by mail-lj1-x22a.google.com with SMTP id w4so30179622ljh.13
 for <xen-devel@lists.xenproject.org>; Tue, 31 Aug 2021 00:56:04 -0700 (PDT)
Received: from [192.168.10.179] ([185.199.97.5])
 by smtp.gmail.com with ESMTPSA id z4sm485339lfd.298.2021.08.31.00.56.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 31 Aug 2021 00:56: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: 55488d5f-ef47-483a-9d92-65d10a4e0242
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-transfer-encoding:content-language;
        bh=3Y/7gSTPuhBhu3D8sxfp9aK/kQPJJ5nMl2xt1VIBTCU=;
        b=YZ5B9DO04WHX7rCCjmH0wuRdjwMiMG5W+MKzXusaJrKVnoJAeizabifFxkIU1bnF9j
         QmWfgpK30sa0bQh/2LeRyT7p7ws1+OdtE05oKG+HvbKqN9I0KqBWoq0Wc/RvEkUhPjeu
         tlgIl0fQFs0tYJKk35U3GrU9vOxJ5hitFJg40/OjymqlgwSpcPccPoXdER6hV1pGATKO
         StdanPTSVutCgEd9XMM94pw8EaujMKlRJYxpAzkR/ebmsXF76ZqsW2rmFw6DVckiAm9B
         5bOBHdLiGUTKV6OnRed5ft4xq1wI3gx4tHTxdKDXFjn2PqHc0Kdr+Ith5pXQVh2cj1sh
         YHlw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-transfer-encoding
         :content-language;
        bh=3Y/7gSTPuhBhu3D8sxfp9aK/kQPJJ5nMl2xt1VIBTCU=;
        b=MS4TuvcJhgrttjbdiqJCbZ472c1pxV7Q6H3TrEPDEUpIcz7Q9vIYrgh1tmb0W85qQj
         PGzRUIGNXL+4L8tO1PqYkULdYiRz+DMm5dFBaBsCPXzJ0gXlk+mDC3dUWnYymKYdMTBx
         LZa/niG4WwsTUIB7yruhJTfpZKqyylDPBHjouyFi59Q/gZ7mEwhb03j+axomqDscH58N
         gWqmxiIR+j44nBAtN4RePwuFjmbdMZkbrbYMv/O5tAMuStok86XI1c3k5nBv/D+dUXH5
         sXul7RZzo7IjW2lSfB//xKzKdCfLYf7lQvfFFZ6rIHKkGI85sajAnTHEvy3T0f2jfRXm
         YRpA==
X-Gm-Message-State: AOAM531lpm98JavBF6TpZCBiCImxOVKvygywm70docg/EN9KNOYJ/0bl
	uHeix7R4OzctlzLqbBJyWqFN69t+yCvxzg==
X-Google-Smtp-Source: ABdhPJzwQhL/d8Y43WOH8pHJDqlN4ZOaLMsh/ntwZXZ6Cf0g1wp10dhZQjiq0bp3r+oAJxaArjXeqA==
X-Received: by 2002:a2e:9e04:: with SMTP id e4mr23384146ljk.431.1630396563323;
        Tue, 31 Aug 2021 00:56:03 -0700 (PDT)
Subject: Re: [PATCH RFC] vPCI: account for hidden devices in modify_bars()
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <6285981f-683f-a043-7025-993613eaea7c@suse.com>
 <b2e8863d-217a-fc0e-3176-a20ef5ad0872@gmail.com>
 <e87ad2a2-7ee0-a2e7-7bab-0c332aca7aec@suse.com>
 <3a6ca3ac-8771-2a80-285e-701c5c1b8343@gmail.com>
 <956dd02c-553e-6aa2-eedf-28703a6ded32@suse.com>
From: Oleksandr Andrushchenko <andr2000@gmail.com>
Message-ID: <13eb638e-c3c5-6794-c828-04c66bb2bd2f@gmail.com>
Date: Tue, 31 Aug 2021 10:56:01 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <956dd02c-553e-6aa2-eedf-28703a6ded32@suse.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Content-Language: en-US


On 31.08.21 10:47, Jan Beulich wrote:
> On 31.08.2021 09:06, Oleksandr Andrushchenko wrote:
>> On 31.08.21 09:51, Jan Beulich wrote:
>>> On 31.08.2021 07:35, Oleksandr Andrushchenko wrote:
>>>> Hello, Jan!
>>>>
>>>> On 30.08.21 16:04, Jan Beulich wrote:
>>>>> Hidden devices (e.g. an add-in PCI serial card used for Xen's serial
>>>>> console) are associated with DomXEN, not Dom0. This means that while
>>>>> looking for overlapping BARs such devices cannot be found on Dom0's
>>>>> list of devices; DomXEN's list also needs to be scanned.
>>>>>
>>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>>> ---
>>>>> RFC: Patch intentionally mis-formatted, as the necessary re-indentation
>>>>>         would make the diff difficult to read. At this point I'd merely
>>>>>         like to gather input towards possible better approaches to solve
>>>>>         the issue (not the least because quite possibly there are further
>>>>>         places needing changing).
>>>>>
>>>>> --- a/xen/drivers/vpci/header.c
>>>>> +++ b/xen/drivers/vpci/header.c
>>>>> @@ -206,6 +206,7 @@ static int modify_bars(const struct pci_
>>>>>         struct vpci_header *header = &pdev->vpci->header;
>>>>>         struct rangeset *mem = rangeset_new(NULL, NULL, 0);
>>>>>         struct pci_dev *tmp, *dev = NULL;
>>>>> +    const struct domain *d;
>>>>>         const struct vpci_msix *msix = pdev->vpci->msix;
>>>>>         unsigned int i;
>>>>>         int rc;
>>>>> @@ -265,7 +266,8 @@ static int modify_bars(const struct pci_
>>>>>          * Check for overlaps with other BARs. Note that only BARs that are
>>>>>          * currently mapped (enabled) are checked for overlaps.
>>>>>          */
>>>>> -    for_each_pdev ( pdev->domain, tmp )
>>>>> +for ( d = pdev->domain; ; d = dom_xen ) {//todo
>>>> I am not quite sure this will be correct for the cases where pdev->domain != dom0,
>>>> e.g. in the series for PCI passthrough for Arm this can be any guest. For such cases
>>>> we'll force running the loop for dom_xen which I am not sure is desirable.
>>> It is surely not desirable, but it also doesn't happen - see the
>>> is_hardware_domain() check further down (keeping context below).
>> Right
>>>> Another question is why such a hidden device has its pdev->domain not set correctly,
>>>> so we need to work this around?
>>> Please see _setup_hwdom_pci_devices() and commit e46ea4d44dc0
>>> ("PCI: don't allow guest assignment of devices used by Xen")
>>> introducing that temporary override. To permit limited
>>> visibility to Dom0, these devices still need setting up in the
>>> IOMMU for Dom0. Consequently BAR overlap detection also needs
>>> to take these into account (i.e. the goal here is not just to
>>> prevent triggering the ASSERT() in question).
>> So, why don't we set pdev->domain = dom_xen for such devices and call
>> modify_bars or something from pci_hide_device for instance (I didn't get too
>> much into implementation details though)? If pci_hide_device already handles
>> such exceptions, so it should also take care of the correct BAR overlaps etc.
> How would it? It runs long before Dom0 gets created, let alone when
> Dom0 may make adjustments to the BAR arrangement.

So, why don't we call "yet another hide function" while creating Dom0 for that

exactly reason, e.g. BAR overlap handling? E.g. make it 2-stage hide for special

devices such as console etc.

>
> The temporary overriding of pdev->domain is because other IOMMU code
> takes the domain to act upon from that field.

So, you mean pdev->domain in that case is pointing to what?


>   This could have been
> solved without override, but then much heavier code churn would have
> resulted.
>
>> Otherwise it looks like we put some unrelated logic into vpci which is for hiding
>> the devices (on x86).
> Hiding devices is in no way x86-specific.

I mean that the use-case you have, e.g. a *PCI* console you want to hide,

is definitely not something used on Arm at least.

>
> Jan
>


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 08:05:44 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 08:05:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175539.319746 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKym3-0005SL-00; Tue, 31 Aug 2021 08:05:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175539.319746; Tue, 31 Aug 2021 08:05:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKym2-0005SE-TN; Tue, 31 Aug 2021 08:05:38 +0000
Received: by outflank-mailman (input) for mailman id 175539;
 Tue, 31 Aug 2021 08:05:37 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Zqic=NW=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mKym0-0005S8-Vi
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 08:05:37 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 383ae6a4-0a32-11ec-ad0e-12813bfff9fa;
 Tue, 31 Aug 2021 08:05:35 +0000 (UTC)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2050.outbound.protection.outlook.com [104.47.14.50]) (Using
 TLS) by relay.mimecast.com with ESMTP id de-mta-1-rG_1XT-QOtuWfyipiNrmzw-1;
 Tue, 31 Aug 2021 10:05:33 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB7152.eurprd04.prod.outlook.com (2603:10a6:800:12b::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.20; Tue, 31 Aug
 2021 08:05:31 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4478.017; Tue, 31 Aug 2021
 08:05:31 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM8P190CA0016.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:219::21) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.21 via Frontend Transport; Tue, 31 Aug 2021 08:05: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: 383ae6a4-0a32-11ec-ad0e-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630397134;
	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=HHyKNRHrVqHQC89wG7c9UAgYsny5vZEPLvOD3FDeKss=;
	b=dLIjT+Vs8kx5rq6L83iVcx1gIY1C24dk/p+nOwmVyWuVW/9ZoXFuHfSKSDIlbTwfgFgjQn
	WR/v6dPS4yBYoMxXTc7cE1KMphjPkNR+xDs+MyRjpVNn76uR2sCfqzbOVGzRalMTCinQtp
	h7kkJqPsxocw2jxgrVjWlFAhRVN2OSI=
X-MC-Unique: rG_1XT-QOtuWfyipiNrmzw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Nb69lLPkjWAGBas+Q/7tlBTmaaVktMtwSl4nt1DZCqMzveQG1Vd/BZAf9bVcVJA2MSMEAwxb4Z9S8bcg326LSniws/wyh7Nbghq/UYhJn1C63AdXewGHVDW5CIPXF1xnqxE60HAEqs+Y6xlv584RXupvGWlgYbZnQyIcEDq1C2F+CKHKCOMQjITznlahMxNKFingbc78ZFp3x4lqH7UoLgcBzFLRa8DAaKjtlhmtRRh4iUC4to3cA51bJZjLdAgt84vCIBF+kdbgBvX9onGpbFk1xsiVvQd+RB3T0zpnmhbXcEXtlk+3FvUMiOTeE0SHR6FqGyE9Tys0xT+7mmgzmA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HHyKNRHrVqHQC89wG7c9UAgYsny5vZEPLvOD3FDeKss=;
 b=SJmgCOZc4zWh2X253lcZOtVdYHO/xWTG+u4djKZuQv6KVoXCvStxjkkOm5OcrokfeOot13qgJ2OJ2St3kHNxZD9TFRVotLW0ifMJfOi8fQZYkTITRFyAaiQPVIRno8LG/1d6RAInDCTCJNJmvULXE3QM2tQgQuG2C2v7aWVPXTPklnqKs74J9ahgUlrAvsAaHwXHSPEu1JyYppXNGgdmDhFQN2WjhsyTpFd5pWK3LAck8ydke0KsFy+gQgccrzHGMUXNKwERCOjYC9QQQu3U/JUpG8VhJPm+w4r7vK8eRySdMWJtluFOTKo8F0IZrvUzywhbulOjxQ8oJZcyNRazsQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH RFC] vPCI: account for hidden devices in modify_bars()
To: Oleksandr Andrushchenko <andr2000@gmail.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <6285981f-683f-a043-7025-993613eaea7c@suse.com>
 <b2e8863d-217a-fc0e-3176-a20ef5ad0872@gmail.com>
 <e87ad2a2-7ee0-a2e7-7bab-0c332aca7aec@suse.com>
 <3a6ca3ac-8771-2a80-285e-701c5c1b8343@gmail.com>
 <956dd02c-553e-6aa2-eedf-28703a6ded32@suse.com>
 <13eb638e-c3c5-6794-c828-04c66bb2bd2f@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <8295cd88-4e4e-4189-cf27-ce83823357df@suse.com>
Date: Tue, 31 Aug 2021 10:05:29 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <13eb638e-c3c5-6794-c828-04c66bb2bd2f@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM8P190CA0016.EURP190.PROD.OUTLOOK.COM
 (2603:10a6:20b:219::21) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 12521698-21a2-4cb7-3868-08d96c561a67
X-MS-TrafficTypeDiagnostic: VI1PR04MB7152:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB7152486EE094CE6486BCFDA5B3CC9@VI1PR04MB7152.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	L0QfodrpSeVxbTfNiHQAcWAHLL5B39ifqUqVcEVZKVEbrXI4ySK6KMrtMntvli8VtBQfydDyV83zZsjZ3TuKWxws8vDQYNBRR6vubHqHGTjK4HDiotXP7AvdRXPPEUJfAgUTii+v/G181GHGbk3dTgrLM+ggQbEQRBcX/lE5OM6tRYKbV3jWyod9jsHe7kNpBN3T/xRaR7E8Dhvyz3lqH2uk2uDnS+ETMokHJUcYMiRRWmyLbWhT0fhwTZG1R1ZbxTYHBPUcBnUFKH4rKxUztnjc7+1niUPKnkE0bta2OJhE/Z6Qnf/RN+4eiYV3hThZQ1C1LnxTclpafrN8A0o8bHl1NeSDG2QIZOFwPGki0a2XMqF0ZV8vygXa+jtTdwotp7WaNeZIgS1A/kS0ivSXQgWuq4aP11rfClc9cgP9HOqL19ikudycrm4z+2FErzPKWXSubJ7WiSb0VRfE7c3FSBrcnNjc+2GR/JH8ijV0BJsiqiivNPBo/FcsJv4ccXLEnwrHexqp65R90vPQ4G9kDjrjJ6/djimG5ZpnZnziDgiO1MP/TF1P5AoLpQ3GjAvEyLqjtYXAGx1sAiY2VG1feDOCJftBidf09hHgEQIqZ8/Rxa3Td66GUwCF3zHgA8f3FRW1yyz2RRQBd8vwaBgNe1c54n3S0a7FzDXQQKvK/5B7Q2kJYfd49R6Zci4/wQ8+27qX5NrmzM8FSPFLzP5g1MTH1zq0QNSiJd3BxGhCroc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(39860400002)(346002)(366004)(376002)(136003)(396003)(36756003)(31696002)(31686004)(38100700002)(86362001)(6486002)(83380400001)(316002)(478600001)(186003)(66476007)(15650500001)(53546011)(26005)(66556008)(2906002)(8676002)(6916009)(2616005)(16576012)(54906003)(8936002)(66946007)(5660300002)(956004)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?azhVUFJETGN6RGg1WUsxNVpZNlJWVFR4Wm1VR3hVRHJQLytCeldhZnY0OWts?=
 =?utf-8?B?SHpaYXZhNzQxeCt2VmpUdHdIZ0pjZWZnRkdUSnpDdTR5ZGduMGZDWWh3WENV?=
 =?utf-8?B?djNGNjJSOGpXTkVpQ2d4Z2ZvUzBKbU5ZdGdUcmhxVGs1ZUxNelFVUVV5cjdY?=
 =?utf-8?B?dm90czEvekYxKzlzZ09OeEthdmdzZHYzZUxYL0FKUHR0MHhPVWlRWjQ3MUFX?=
 =?utf-8?B?WE5oUysyYmhodE5IZGpQZDloOC9iVUhrbnpEV2srNEtZT1A4SXR4MnFMM0xI?=
 =?utf-8?B?dUU4UW9yd21oSWxZZ1Arc1FlcG9NZGdYNnhlOHFOeDBHeWVLR3lrWXJpb01D?=
 =?utf-8?B?SEgxcTFVMUdwMmJ3Sm91bmdGUmM1d2toOGd1bWE4S0RhQmZ5V3VMbTdoNXNB?=
 =?utf-8?B?dWhlUStkRWVvelpEUlRnM0NHK1dvRXhzUW4xdUxLNzJCcnlDYmtNdGdIWS9E?=
 =?utf-8?B?UUdpNWhoUEpkcE45WTU4T0xoZ1dhTFdZamQvUndtUUFibUwwWnU0RTQrTG9k?=
 =?utf-8?B?OFluMlV4NXJmRW1MYW9NVzhpNk1kRGpPeFBsUmZtcUcvb2d4cFcyY0JYN2dQ?=
 =?utf-8?B?NWl3Wlh4TndpaWlPV2pncWxyejFVbUF3cCtSbHh5dGdKRmZhaWIwb3FSdTRy?=
 =?utf-8?B?WXNkUG9qQ1NjakphWGlqSHFjbW5ZNnVkOVd3NWJ5RENBT2xEbEFBZ05nRld6?=
 =?utf-8?B?WHd5VTlKazRhMW5GcEJGRTN1dGVJM0MrbnpJdmQ2S3RCNmJDVGticTBiRG5y?=
 =?utf-8?B?eC9ndlU2NHEwbkhjT2pWRnlydXR1bkt5N1ozSzVWL0x0NktFVDg0cGh1amNh?=
 =?utf-8?B?Wk9CVFo1aGxyaTMrMWI5Mk95SkdOZk1KQ3BQS2V3Sk0xdFhoZFFKVTFEMjRk?=
 =?utf-8?B?QWlQc1YzbjNsR1Nsdkt4bEcwMVA4Ry9JMGNJb0hMZzJaSmdMcW5pdk44dmI5?=
 =?utf-8?B?M0tJSXpURHFpc1J3NFYyWG1KSkt5SHBRQnp0M2lOeUQvTE5yOVdaNEV6Rk14?=
 =?utf-8?B?WXVadlE5R0JoRkh3TjBsTnBMQVJJWEpKejA2RWRnSnkraVNIUDNHa1IzZlBv?=
 =?utf-8?B?T09Bd0lLYzJ5SlpzQmxySGh5Ump3eEsyQUJJdUtWamRZd25FSGRPcGRFU2o3?=
 =?utf-8?B?R3dodjhnTnI0ZjNXM0xWR1ErZWJQTXhEbmk5dDhUVG5tN2xnOWQ0U2FwUFlC?=
 =?utf-8?B?bmwwbmFObW9xVzZYTVlSYTc5SnorYmZ4ZGxFMTZTcFZZSGxybERkaDk3QjFq?=
 =?utf-8?B?Y2tsdkYxc1VtbFFQVzM1eitDL0ZyeUw2VkxiaFZxdUFuQWJpaDMvTnJOVXpY?=
 =?utf-8?B?ZXZERW82Q25zdWVncGErYWl3NkQ2VUFlK3FtYnp1SllOaFpCS2RBZHhKZ1RV?=
 =?utf-8?B?NDRJbmpsS3dZMVZ5dGpUVzRwcEZzRkNtWnVyZ1RrYTVzSjZvbURCd3N6Mm1Q?=
 =?utf-8?B?eFN4WTBXTW5lMW1DeSs5MmM5dEV4MWhQRVVJc3FQWmppS0pXdnExSkpucFpN?=
 =?utf-8?B?TUQ0YSt0M3dyOFlTMkxsM2hzMlRGSnlSZDRQL0pPaUIyZzd6M0Z3dFR5VGZw?=
 =?utf-8?B?WjZFMS9FL2w3WHlZU2p3V1luTFNiWHU3aXRLdGZYZjVBcXBROWoyMDdqWm9z?=
 =?utf-8?B?NDdvMmFHOVM3UDg0QzNhNkVZTEUvS0hjRDdnKzZSWEs0enBETC9rWWdsZ3hn?=
 =?utf-8?B?SVZ3T2lkUXV4dUNpRjExZG8rVHFzdWlVbXdsSTAreDN6aE96bllCWW5XNmNx?=
 =?utf-8?Q?Ahm5p+ZI5VOTrdZ9tqZFxCvonGjwqsH+WwEDlYV?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 12521698-21a2-4cb7-3868-08d96c561a67
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2021 08:05:31.6324
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xQTIVYrljH18y5RdGPA2IthUQ2hJhft8UcJj0VmAY4E5PtEMXEFlYvHRcOLHORFl60G4MUJBBsdX3EwHz1Xepg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7152

On 31.08.2021 09:56, Oleksandr Andrushchenko wrote:
> On 31.08.21 10:47, Jan Beulich wrote:
>> On 31.08.2021 09:06, Oleksandr Andrushchenko wrote:
>>> On 31.08.21 09:51, Jan Beulich wrote:
>>>> On 31.08.2021 07:35, Oleksandr Andrushchenko wrote:
>>>>> On 30.08.21 16:04, Jan Beulich wrote:
>>>>>> @@ -265,7 +266,8 @@ static int modify_bars(const struct pci_
>>>>>>          * Check for overlaps with other BARs. Note that only BARs that are
>>>>>>          * currently mapped (enabled) are checked for overlaps.
>>>>>>          */
>>>>>> -    for_each_pdev ( pdev->domain, tmp )
>>>>>> +for ( d = pdev->domain; ; d = dom_xen ) {//todo
>>>>> I am not quite sure this will be correct for the cases where pdev->domain != dom0,
>>>>> e.g. in the series for PCI passthrough for Arm this can be any guest. For such cases
>>>>> we'll force running the loop for dom_xen which I am not sure is desirable.
>>>> It is surely not desirable, but it also doesn't happen - see the
>>>> is_hardware_domain() check further down (keeping context below).
>>> Right
>>>>> Another question is why such a hidden device has its pdev->domain not set correctly,
>>>>> so we need to work this around?
>>>> Please see _setup_hwdom_pci_devices() and commit e46ea4d44dc0
>>>> ("PCI: don't allow guest assignment of devices used by Xen")
>>>> introducing that temporary override. To permit limited
>>>> visibility to Dom0, these devices still need setting up in the
>>>> IOMMU for Dom0. Consequently BAR overlap detection also needs
>>>> to take these into account (i.e. the goal here is not just to
>>>> prevent triggering the ASSERT() in question).
>>> So, why don't we set pdev->domain = dom_xen for such devices and call
>>> modify_bars or something from pci_hide_device for instance (I didn't get too
>>> much into implementation details though)? If pci_hide_device already handles
>>> such exceptions, so it should also take care of the correct BAR overlaps etc.
>> How would it? It runs long before Dom0 gets created, let alone when
>> Dom0 may make adjustments to the BAR arrangement.
> 
> So, why don't we call "yet another hide function" while creating Dom0 for that
> exactly reason, e.g. BAR overlap handling? E.g. make it 2-stage hide for special
> devices such as console etc.

This might be an option, but is imo going to result not only in more
code churn, but also in redundant code. After all what modify_bars()
needs is the union of BARs from Dom0's and DomXEN's devices.

>> The temporary overriding of pdev->domain is because other IOMMU code
>> takes the domain to act upon from that field.
> 
> So, you mean pdev->domain in that case is pointing to what?

Did you look at the function I've pointed you at? DomXEN there gets
temporarily overridden to Dom0.

>>   This could have been
>> solved without override, but then much heavier code churn would have
>> resulted.
>>
>>> Otherwise it looks like we put some unrelated logic into vpci which is for hiding
>>> the devices (on x86).
>> Hiding devices is in no way x86-specific.
> 
> I mean that the use-case you have, e.g. a *PCI* console you want to hide,
> is definitely not something used on Arm at least.

Not yet, that is? Why would - in the long run - somebody not want to
put in a PCI serial card in a system that supports PCI and has no
(available) other serial port? And if you have looked at the commit
I did point you at, you will also have found that it's more than just
the serial device that we hide.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 31 08:14:21 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 08:14:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175548.319758 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKyuP-00076w-18; Tue, 31 Aug 2021 08:14:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175548.319758; Tue, 31 Aug 2021 08:14: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 1mKyuO-00076p-TZ; Tue, 31 Aug 2021 08:14:16 +0000
Received: by outflank-mailman (input) for mailman id 175548;
 Tue, 31 Aug 2021 08:14:16 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Vpuq=NW=gmail.com=andr2000@srs-us1.protection.inumbo.net>)
 id 1mKyuO-00076j-63
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 08:14:16 +0000
Received: from mail-lf1-x12d.google.com (unknown [2a00:1450:4864:20::12d])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 344a5e61-40cd-4d31-8413-5511fc36e22a;
 Tue, 31 Aug 2021 08:14:15 +0000 (UTC)
Received: by mail-lf1-x12d.google.com with SMTP id b4so36720537lfo.13
 for <xen-devel@lists.xenproject.org>; Tue, 31 Aug 2021 01:14:14 -0700 (PDT)
Received: from [192.168.10.179] ([185.199.97.5])
 by smtp.gmail.com with ESMTPSA id y5sm2091547ljd.38.2021.08.31.01.14.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 31 Aug 2021 01:14: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: 344a5e61-40cd-4d31-8413-5511fc36e22a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-transfer-encoding:content-language;
        bh=kwICElKfsHEoEJbxVvlIdSVEF8VKH7JIroTurxB76OU=;
        b=LW1McmcPJgNmBPA6i6zuaWLJ2Td3vbxPQZRb02pxcr9JEVFxsrxh6Q+Nu0L8A5DJ5k
         Onc9vr2zxM2Fbm6dObDkWNtxiH5oa5uKkgM2OT1x6NHKOElyk8f3PReO0p7irjOtSPQq
         Awn6HLmTSNRgk6Cf5abR7y7KhITS39rA19yDz6ne2oQRSvqdyIkGrRTht4d09rJI38ui
         bxH8lnbITSm0EsNPBDPLZsuXXSz+gtQfBRbCpFo/I+2Z1hH8s1NZd3mhjwFpZ8zx08GV
         qs7twzNA0Q/vTrLjmIWEoS2wyHIKEirgTK8U2n5RRNZ99Ivft1+ygKuDI/AGCDV/wf1O
         +3QQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-transfer-encoding
         :content-language;
        bh=kwICElKfsHEoEJbxVvlIdSVEF8VKH7JIroTurxB76OU=;
        b=VOlllwxGxQuX85/bG6FHTmmoCZz9vH8ECPssNaxWRD+x4LkfXd401wcex91Zt72y+l
         Qpyhep3Pz6MzDTA5ZFNYdDU/682tzq6olyzMTjy9/bkbGluOJmegRolHyYTrB0FX+RMo
         5LLh2QcunFWd+d9VkzCCoTYGbgsluqfzsOB9V8geXGE9Rz/FdkqDiL9JFdVbu5JLfXKv
         KPMrTuJwkbFxM/S5o9JoWeMhsosim+UH2ZS9MWRHEBTNBkxkO2akWh4ErkfUuYdYYMKo
         pYYg6Hzz2VFd+w20Os3HD1BHe0l7i0pbK+XzNrSn1UIZv+iXdKCvTqnDRnrKqAhuR/wi
         GESA==
X-Gm-Message-State: AOAM531g6EHWREGnbu4gE7wSmBTivtOlZS/aYF/y8yV9Qt2ayicZx+or
	n3T6Ls6nCHnf6a6gbIPvLm5QtQ7GRonhrg==
X-Google-Smtp-Source: ABdhPJyWHc+S45V7x/EfZA5ariz/JgqDb3a4SuSoZ8ws4kFLYa/QHOLgwN7MA7S5S6CoqVLeeB2K3Q==
X-Received: by 2002:a05:6512:1043:: with SMTP id c3mr17857914lfb.358.1630397653546;
        Tue, 31 Aug 2021 01:14:13 -0700 (PDT)
Subject: Re: [PATCH RFC] vPCI: account for hidden devices in modify_bars()
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <6285981f-683f-a043-7025-993613eaea7c@suse.com>
 <b2e8863d-217a-fc0e-3176-a20ef5ad0872@gmail.com>
 <e87ad2a2-7ee0-a2e7-7bab-0c332aca7aec@suse.com>
 <3a6ca3ac-8771-2a80-285e-701c5c1b8343@gmail.com>
 <956dd02c-553e-6aa2-eedf-28703a6ded32@suse.com>
 <13eb638e-c3c5-6794-c828-04c66bb2bd2f@gmail.com>
 <8295cd88-4e4e-4189-cf27-ce83823357df@suse.com>
From: Oleksandr Andrushchenko <andr2000@gmail.com>
Message-ID: <1f571749-5d41-7c4d-8ca0-afc91d2f83fe@gmail.com>
Date: Tue, 31 Aug 2021 11:14:12 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <8295cd88-4e4e-4189-cf27-ce83823357df@suse.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Content-Language: en-US


On 31.08.21 11:05, Jan Beulich wrote:
> On 31.08.2021 09:56, Oleksandr Andrushchenko wrote:
>> On 31.08.21 10:47, Jan Beulich wrote:
>>> On 31.08.2021 09:06, Oleksandr Andrushchenko wrote:
>>>> On 31.08.21 09:51, Jan Beulich wrote:
>>>>> On 31.08.2021 07:35, Oleksandr Andrushchenko wrote:
>>>>>> On 30.08.21 16:04, Jan Beulich wrote:
>>>>>>> @@ -265,7 +266,8 @@ static int modify_bars(const struct pci_
>>>>>>>           * Check for overlaps with other BARs. Note that only BARs that are
>>>>>>>           * currently mapped (enabled) are checked for overlaps.
>>>>>>>           */
>>>>>>> -    for_each_pdev ( pdev->domain, tmp )
>>>>>>> +for ( d = pdev->domain; ; d = dom_xen ) {//todo
>>>>>> I am not quite sure this will be correct for the cases where pdev->domain != dom0,
>>>>>> e.g. in the series for PCI passthrough for Arm this can be any guest. For such cases
>>>>>> we'll force running the loop for dom_xen which I am not sure is desirable.
>>>>> It is surely not desirable, but it also doesn't happen - see the
>>>>> is_hardware_domain() check further down (keeping context below).
>>>> Right
>>>>>> Another question is why such a hidden device has its pdev->domain not set correctly,
>>>>>> so we need to work this around?
>>>>> Please see _setup_hwdom_pci_devices() and commit e46ea4d44dc0
>>>>> ("PCI: don't allow guest assignment of devices used by Xen")
>>>>> introducing that temporary override. To permit limited
>>>>> visibility to Dom0, these devices still need setting up in the
>>>>> IOMMU for Dom0. Consequently BAR overlap detection also needs
>>>>> to take these into account (i.e. the goal here is not just to
>>>>> prevent triggering the ASSERT() in question).
>>>> So, why don't we set pdev->domain = dom_xen for such devices and call
>>>> modify_bars or something from pci_hide_device for instance (I didn't get too
>>>> much into implementation details though)? If pci_hide_device already handles
>>>> such exceptions, so it should also take care of the correct BAR overlaps etc.
>>> How would it? It runs long before Dom0 gets created, let alone when
>>> Dom0 may make adjustments to the BAR arrangement.
>> So, why don't we call "yet another hide function" while creating Dom0 for that
>> exactly reason, e.g. BAR overlap handling? E.g. make it 2-stage hide for special
>> devices such as console etc.
> This might be an option, but is imo going to result not only in more
> code churn, but also in redundant code. After all what modify_bars()
> needs is the union of BARs from Dom0's and DomXEN's devices.

To me DomXEN here is yet another workaround as strictly speaking

vpci code didn't need and doesn't(?) need it at the moment. Yes, at least on Arm.

So, I do understand why you want it there, but this then does need a very

good description of what is happening and why...

>
>>> The temporary overriding of pdev->domain is because other IOMMU code
>>> takes the domain to act upon from that field.
>> So, you mean pdev->domain in that case is pointing to what?
> Did you look at the function I've pointed you at? DomXEN there gets
> temporarily overridden to Dom0.

This looks like yet another workaround to me which is not cute.

So, the overall solution is spread over multiple subsystems, each

introducing something which is hard to follow

>
>>>    This could have been
>>> solved without override, but then much heavier code churn would have
>>> resulted.
>>>
>>>> Otherwise it looks like we put some unrelated logic into vpci which is for hiding
>>>> the devices (on x86).
>>> Hiding devices is in no way x86-specific.
>> I mean that the use-case you have, e.g. a *PCI* console you want to hide,
>> is definitely not something used on Arm at least.
> Not yet, that is? Why would - in the long run - somebody not want to
> put in a PCI serial card in a system that supports PCI and has no
> (available) other serial port? And if you have looked at the commit
> I did point you at
I did
> , you will also have found that it's more than just
> the serial device that we hide.
Serial was just an example from the list
>
> Jan
>


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 08:22:04 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 08:22:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175554.319769 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKz1n-0000EM-Pq; Tue, 31 Aug 2021 08:21:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175554.319769; Tue, 31 Aug 2021 08: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 1mKz1n-0000EF-Mf; Tue, 31 Aug 2021 08:21:55 +0000
Received: by outflank-mailman (input) for mailman id 175554;
 Tue, 31 Aug 2021 08:21: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 1mKz1m-0000E5-VN; Tue, 31 Aug 2021 08:21: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 1mKz1m-0001A7-L7; Tue, 31 Aug 2021 08:21: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 1mKz1m-00052f-Ao; Tue, 31 Aug 2021 08:21:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mKz1m-0002CT-AJ; Tue, 31 Aug 2021 08: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=v1rCPBzIX0EqpEoSazDq54zfq9XNMXIBqwxYvM5Bwbc=; b=me/OhonHTMflPkMpdfmi4GCGNa
	o3HbcZr2y2k9DVOcROHCId4jU78QEk7PCrlLuIQ+glQLvQErHqirR6w7WND/TkIMNSFver0/irTmv
	2VGyLBNTJigCPGMAHYRbjiIloQCwDJeWMwizSkjLOycfo/ZcK5J2l/1CBDVJpO1s2YKQ=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164631-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.14-testing test] 164631: regressions - FAIL
X-Osstest-Failures:
    xen-4.14-testing:test-amd64-amd64-dom0pvh-xl-amd:xen-boot:fail:regression
    xen-4.14-testing:test-amd64-amd64-dom0pvh-xl-intel:xen-boot:fail:regression
    xen-4.14-testing:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-4.14-testing:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:heisenbug
    xen-4.14-testing:test-amd64-i386-xl:guest-localmigrate/x10:fail:heisenbug
    xen-4.14-testing:test-amd64-i386-xl-qemuu-ws16-amd64:windows-install:fail:heisenbug
    xen-4.14-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-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-credit1:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-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-i386-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-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=74e93071826fe3aaab32e469280a3253a39147f6
X-Osstest-Versions-That:
    xen=49299c4813b7847d29df07bf790f5489060f2a9c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 31 Aug 2021 08:21:54 +0000

flight 164631 xen-4.14-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164631/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-dom0pvh-xl-amd  8 xen-boot              fail REGR. vs. 163750
 test-amd64-amd64-dom0pvh-xl-intel  8 xen-boot            fail REGR. vs. 163750

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail in 164507 pass in 164631
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat  fail pass in 164507
 test-amd64-i386-xl           20 guest-localmigrate/x10     fail pass in 164547
 test-amd64-i386-xl-qemuu-ws16-amd64 12 windows-install     fail pass in 164547

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop   fail in 164547 like 163750
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 163750
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 163750
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 163750
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 163750
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 163750
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 163750
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 163750
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 163750
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 163750
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 163750
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-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-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-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-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-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  74e93071826fe3aaab32e469280a3253a39147f6
baseline version:
 xen                  49299c4813b7847d29df07bf790f5489060f2a9c

Last test of basis   163750  2021-07-16 21:07:40 Z   45 days
Failing since        164261  2021-08-19 17:07:29 Z   11 days    8 attempts
Testing same since   164493  2021-08-25 22:08:55 Z    5 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Dario Faggioli <dfaggioli@suse.com>
  Ian Jackson <iwj@xenproject.org>
  Jan Beulich <jbeulich@suse.com>
  Jane Malalane <jane.malalane@citrix.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Stefano Stabellini <sstabellini@kernel.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           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                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 607 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 08:35:23 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 08:35:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175562.319783 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKzEf-0001u6-0e; Tue, 31 Aug 2021 08:35:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175562.319783; Tue, 31 Aug 2021 08: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 1mKzEe-0001tz-TW; Tue, 31 Aug 2021 08:35:12 +0000
Received: by outflank-mailman (input) for mailman id 175562;
 Tue, 31 Aug 2021 08:35:11 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Zqic=NW=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mKzEd-0001tt-SV
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 08:35:11 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 1d26c9ae-57ed-487b-bde3-22577ab40d87;
 Tue, 31 Aug 2021 08:35:10 +0000 (UTC)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2109.outbound.protection.outlook.com [104.47.18.109])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-15-ls3fbCuLNVKVD7N4CgjEjg-1; Tue, 31 Aug 2021 10:35:08 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0402MB3389.eurprd04.prod.outlook.com (2603:10a6:803:b::27)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.18; Tue, 31 Aug
 2021 08:35:06 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4478.017; Tue, 31 Aug 2021
 08:35:05 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P191CA0060.EURP191.PROD.OUTLOOK.COM (2603:10a6:102:55::35) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4415.19 via Frontend Transport; Tue, 31 Aug 2021 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: 1d26c9ae-57ed-487b-bde3-22577ab40d87
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630398909;
	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=UDD8iCT0ur9si+zDyGYDe/Nu7kW3jpmLE6Gqgg2++Yk=;
	b=koPAWPtzylSQquUDZDS8mBzVI22C/GwNI6z7ZGwxLJgBu8r41azgKTOw7C39oVNvcVA/hp
	/iyrd2yNUelImespfW/EkmLUB1QAbfW86jEumniPJsjlOPRyCjmcVE7ihksm8UE1qFwyJE
	qlnUUney473OCOFnKLlqBJoKSrWpaaY=
X-MC-Unique: ls3fbCuLNVKVD7N4CgjEjg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=d6073pccS/mTkVIenM0f6n79zI4JjyfWT/X1mVGbsDQ0WymO2P5cfiircRW9QkGCdS8jg5s8jicqZiS39kU1nKoMolKe4ri7cE3VcnJhsVzxpUFZXnTsctOKPKrM5HfzjPh5WTvRCfSo+YFj2R5HaezDItam+QA21aByEPAhfiUjfhsxfDy+xQLrk1Tuc7fyyjfTgC9c2sw/6F7VLNtfn6dInyElewDcB4X6K3+5Iet50I7QXBUA2aQ5JNYslonrZXbo2kpAPnkO0kfS9xyOlwMcQEZ5Cw9Fn905sQXiAY/9+uQuWfcT5hD0FVpOp2qJ7dhBBPMz/Xpuwg4yCVnF6g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UDD8iCT0ur9si+zDyGYDe/Nu7kW3jpmLE6Gqgg2++Yk=;
 b=FIUsUnHWp89x2GKN8X8C6Qoxi4HRtTMaifn4UMxLbcpADSF2zI9SUFhvM+3qthW4JuBDTm89rii1Pj8PI/O0zNHDj75OPkJj71ki+QNfOA1ibd+tDEn+Be67mJp1t9iP9/pJLEF2w22nXD90MmIGTbQ8hI4wUvdruJRLIb9LUiIwIxzGoY4KtZ9AZZNqZ8GIKmUGCYwHSE5A0j8mre+LtQ7mpCS1EKzHXhsZ8nAJVagmFexjNYYdPcE9i8YdGs8J8bgz7rPLPPTfow0CSU8mhBRHv8MYdiHEfzPc8lIfPYIYhwGmO++V7WY51UpvfOvO84I3tzZqTtbdnGFnK8a3yA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH RFC] vPCI: account for hidden devices in modify_bars()
To: Oleksandr Andrushchenko <andr2000@gmail.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <6285981f-683f-a043-7025-993613eaea7c@suse.com>
 <b2e8863d-217a-fc0e-3176-a20ef5ad0872@gmail.com>
 <e87ad2a2-7ee0-a2e7-7bab-0c332aca7aec@suse.com>
 <3a6ca3ac-8771-2a80-285e-701c5c1b8343@gmail.com>
 <956dd02c-553e-6aa2-eedf-28703a6ded32@suse.com>
 <13eb638e-c3c5-6794-c828-04c66bb2bd2f@gmail.com>
 <8295cd88-4e4e-4189-cf27-ce83823357df@suse.com>
 <1f571749-5d41-7c4d-8ca0-afc91d2f83fe@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <2f81bc05-69e0-f3e7-4a50-67b40352efa6@suse.com>
Date: Tue, 31 Aug 2021 10:35:04 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <1f571749-5d41-7c4d-8ca0-afc91d2f83fe@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P191CA0060.EURP191.PROD.OUTLOOK.COM
 (2603:10a6:102:55::35) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 1395264d-2c10-437c-c920-08d96c5a3bef
X-MS-TrafficTypeDiagnostic: VI1PR0402MB3389:
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB3389854761283B3EE801EE0FB3CC9@VI1PR0402MB3389.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dRRCAAUoBLdDYtvdTxIY81z3mWH3+pddmxPZIcnpoLrmWAfop4j2+z3zsAZaUHmbhdf45efXSLFcllMzzI5CWfdPTzsclJFBPLIL17Tl2N4ApJKUfxCamHO2yG01XzEoOZ49aSf4kqheP8TKttUkcx7MecF5KzJY5eILGt+IfOgiX8eMjhWAVyisykaPsaGNgITs41JbGLS+naUrUL8RoXf6M0FAYgy8kpdeEMviIyq7NpbYkzRWC4Qy0qmUz6RkLJs0BkQ7MjcXg0oPGENjytLDdzNt5hdCo+C50TMQaazs4LaIAyVK1qKLCE5G+6CY9YnryPJP+S93mtW5xiL8vRjIj+vZxycRcte2r3a771xVp/I/N42KBP8ABtKF+hfsfjM+j1QitUpi4ImjT14kpDVt3o0zMz82cTEmnXaogVQq8f+MErPNhRe21uAJ/eYtp9FRdFs2D9tjuCc56Bx1blupQxrSYvZGp3ZceMUBJDNLmzVz6+H1SeLBlh+dcstyQufpGTQ5mFQNRCXfO6xLOUfMcW8EJ5RHx/dqhFrGEfBeRxZI59scZvTa8lGs734ygYBsPypOqheA9F7OV/jxpuw+XuTaQ5WeFEyP0b3XpyX4FQd9sIMsJMqDHkVkFh0hnKzHyiP1VYVoWsyck0BrZ6zSFpWM6QULx3SG1OIa+E2pGEolGygrIMCPhYFKS1OOI/LcZEx5MegW/tC8uXtepgPUZ4/gsYxHxrzHz/13brM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(508600001)(66476007)(53546011)(6486002)(36756003)(316002)(16576012)(8936002)(8676002)(26005)(86362001)(15650500001)(31696002)(83380400001)(2906002)(54906003)(31686004)(4326008)(186003)(2616005)(956004)(5660300002)(66556008)(6916009)(66946007)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QzRkM1ZnRm96WHc3eHg5eWxYajFQVXU1RWpvN1hzeFFUZGgwZFVYbGc2Qkxi?=
 =?utf-8?B?UnRsT1VPNUszR1FVS09KNDYydzVBSHFOa2VDZDFoekxBVERyRkR2YUQ1V0lK?=
 =?utf-8?B?UjdrWnRBNmtXeVRYMGJNN3dEVC9OWmNMdnRISE90bG5xN3V2TGhTNzVLNXVR?=
 =?utf-8?B?OHJ5MzZoVGRLSTdGbUIrUmdOTFBlMENUakh1ZTF3WVdUYVVBOWFxSjJsaUd4?=
 =?utf-8?B?dnkyWTlsaHZtckJ3TTdqOGFNYUhoV3pMSkhJNUQrOVd0TW9QeWVZSXNBdFpa?=
 =?utf-8?B?M1BqY0RmTERYNW5sdVRvZEdvSjNEeC9WcERITkQxSDNRMHp6bVdSU1g5UHZN?=
 =?utf-8?B?SC85ZVhDQVhERGJScVFXd2tGNWtSdHR2NlBXc2poK29FQUZ1czl2bWlBSFFu?=
 =?utf-8?B?aEc2ODZjNnlYV05aWkhSWExoeDlOS1dLZzdJR3RpOGVwdmJrSnJCWXhxVllt?=
 =?utf-8?B?b1BITitsZ1lFbjluSzFnbmFBODlwajRJWEVqUkFHdzEreDBnT21ibkhjS1ZN?=
 =?utf-8?B?L0ZKeWxabS9ta1hOMVZ2RFVyeFlEZVBlWDNadDRpZWNVOFh6SXM4T1pLWitH?=
 =?utf-8?B?K3I0Q3Z0R3k1bU95OGhiYWtKWGtkOHBQSExxZVZROFBLOThSOU1UTjFCZHVx?=
 =?utf-8?B?Q3ZHWUd5QkR2dEZ3TXRjRXhqWGIzbmxjb1NYcmtxOVowVHFvWXZITzV3dE5v?=
 =?utf-8?B?bC9TK1dPa3JQZ1hBVysvdlBBbkpvbS95VTdiempOT2tYaWtnZGsrQ1B0bG4z?=
 =?utf-8?B?U2pGemp4SEM1dGZYUXIzL0VoVzhaMWdwYzFndVV0czhEbTBtWnVqMUZzMlJk?=
 =?utf-8?B?MzNRSmM0aHRpZW1JNThtcklkME5oSWpKZXVaQzRQR1MvWjByT1pDVkJqQkpm?=
 =?utf-8?B?Nm9lSnZvUEhrNXE5SndCMmJHdG1lS2pwalJKcy9LMm1SNWg3RDdIT2VmcUxV?=
 =?utf-8?B?dlRGeEx4dURiK0k1SjBPZzVGV3RFbEdsVzEzWkQyNGJnd2NVaUxNUzZrL0RX?=
 =?utf-8?B?NkVFQmd6RDJVOUY0SWdOaktZdmNPS08rUGNCUnlVSmJtVGY3Ulo5Ly9FbUZF?=
 =?utf-8?B?MWhGOVJLNnBaN1dPVHU1ODIyK2o3d1NQUmQ1ZFpzTjVzS1dpc1lPMnFRbndL?=
 =?utf-8?B?VExGL0hyd01RMlFSNGxMekdGUjdTaGp3TUJIOGtwQnNCcThJNlhOQXRtbDFm?=
 =?utf-8?B?TTVzZVRWQ2R6RS9OTU00b2RPTlVxR2RPeW8rOURxRmJ5VXlXYndaaC85Ni93?=
 =?utf-8?B?STZwTE9SMGxzZ1hGNE5FV2w4eHJLc0JwUDFjYkk2SGdzUy84WXZEdmViOC92?=
 =?utf-8?B?WG9EMGdRc2NUVFZYbnNlSlVOakRuV3BCUWg2SmRMbEk0UnFFeWdJOG1WWE9r?=
 =?utf-8?B?WHNydDB2Z0VFWkZKS2lTQjl1Tnd2UHJnLzUvK29RUldkV0JBUW4ybzJBWU1U?=
 =?utf-8?B?UGZUWUpnZmVFcFo5ZnQzams5TEhjLytPRTU5RUtoL0FuQXdYVmdxMkJ5Vkp4?=
 =?utf-8?B?YVlHY2M4SE03YXBzaDA3b2JaVy96VWZWbmFhWXA0ZVFHS3B5ZnFoeDVicmVL?=
 =?utf-8?B?NW5HOG5JWlRlYmpVcEV2MGl4SE9mOHlvQmk5S2x6YXIvSWpwZGZuOGRwNGVZ?=
 =?utf-8?B?b3dGcWVSbUZzMzJYaklMUzRlOURoUnIzbDV3Y1FZNkdsZHFPMXRrVVRsNlZL?=
 =?utf-8?B?ditkQ0V1Y0w2T0d5bktEUDd1dXAxR2QzV3RvSEFtMFY2NU42R00vbyszK2Fq?=
 =?utf-8?Q?nDWtenZonmal2ozf7zZsI5nas99kP44Gg2LkKFC?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1395264d-2c10-437c-c920-08d96c5a3bef
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2021 08:35:05.8782
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5rpZaGghqhQGK8bRv20u9ZzZcNglrKxTx9nZlZuu9xaVPWgQ17EAQXy9QuIVJ3vBGo4mhZ3xmEoPPzOX5ELgWw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3389

On 31.08.2021 10:14, Oleksandr Andrushchenko wrote:
> On 31.08.21 11:05, Jan Beulich wrote:
>> On 31.08.2021 09:56, Oleksandr Andrushchenko wrote:
>>> On 31.08.21 10:47, Jan Beulich wrote:
>>>> On 31.08.2021 09:06, Oleksandr Andrushchenko wrote:
>>>>> On 31.08.21 09:51, Jan Beulich wrote:
>>>>>> On 31.08.2021 07:35, Oleksandr Andrushchenko wrote:
>>>>>>> On 30.08.21 16:04, Jan Beulich wrote:
>>>>>>>> @@ -265,7 +266,8 @@ static int modify_bars(const struct pci_
>>>>>>>>           * Check for overlaps with other BARs. Note that only BARs that are
>>>>>>>>           * currently mapped (enabled) are checked for overlaps.
>>>>>>>>           */
>>>>>>>> -    for_each_pdev ( pdev->domain, tmp )
>>>>>>>> +for ( d = pdev->domain; ; d = dom_xen ) {//todo
>>>>>>> I am not quite sure this will be correct for the cases where pdev->domain != dom0,
>>>>>>> e.g. in the series for PCI passthrough for Arm this can be any guest. For such cases
>>>>>>> we'll force running the loop for dom_xen which I am not sure is desirable.
>>>>>> It is surely not desirable, but it also doesn't happen - see the
>>>>>> is_hardware_domain() check further down (keeping context below).
>>>>> Right
>>>>>>> Another question is why such a hidden device has its pdev->domain not set correctly,
>>>>>>> so we need to work this around?
>>>>>> Please see _setup_hwdom_pci_devices() and commit e46ea4d44dc0
>>>>>> ("PCI: don't allow guest assignment of devices used by Xen")
>>>>>> introducing that temporary override. To permit limited
>>>>>> visibility to Dom0, these devices still need setting up in the
>>>>>> IOMMU for Dom0. Consequently BAR overlap detection also needs
>>>>>> to take these into account (i.e. the goal here is not just to
>>>>>> prevent triggering the ASSERT() in question).
>>>>> So, why don't we set pdev->domain = dom_xen for such devices and call
>>>>> modify_bars or something from pci_hide_device for instance (I didn't get too
>>>>> much into implementation details though)? If pci_hide_device already handles
>>>>> such exceptions, so it should also take care of the correct BAR overlaps etc.
>>>> How would it? It runs long before Dom0 gets created, let alone when
>>>> Dom0 may make adjustments to the BAR arrangement.
>>> So, why don't we call "yet another hide function" while creating Dom0 for that
>>> exactly reason, e.g. BAR overlap handling? E.g. make it 2-stage hide for special
>>> devices such as console etc.
>> This might be an option, but is imo going to result not only in more
>> code churn, but also in redundant code. After all what modify_bars()
>> needs is the union of BARs from Dom0's and DomXEN's devices.
> 
> To me DomXEN here is yet another workaround as strictly speaking
> vpci code didn't need and doesn't(?) need it at the moment. Yes, at least on Arm.
> So, I do understand why you want it there, but this then does need a very
> good description of what is happening and why...
> 
>>
>>>> The temporary overriding of pdev->domain is because other IOMMU code
>>>> takes the domain to act upon from that field.
>>> So, you mean pdev->domain in that case is pointing to what?
>> Did you look at the function I've pointed you at? DomXEN there gets
>> temporarily overridden to Dom0.
> 
> This looks like yet another workaround to me which is not cute.
> So, the overall solution is spread over multiple subsystems, each
> introducing something which is hard to follow

If you have any better suggestions, I'm all ears. Or feel free to send
patches.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 31 08:54:14 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 08:54:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175571.319794 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKzWy-0004Zw-Nx; Tue, 31 Aug 2021 08:54:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175571.319794; Tue, 31 Aug 2021 08:54:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKzWy-0004Zp-Km; Tue, 31 Aug 2021 08:54:08 +0000
Received: by outflank-mailman (input) for mailman id 175571;
 Tue, 31 Aug 2021 08:54:06 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Zqic=NW=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mKzWw-0004Zj-F1
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 08:54:06 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 4916e1e7-92ee-46f6-a630-72da02217f8a;
 Tue, 31 Aug 2021 08:54:05 +0000 (UTC)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2054.outbound.protection.outlook.com [104.47.14.54]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-35-YjnYAkTTNje2bA5jj75SGA-1; Tue, 31 Aug 2021 10:54:02 +0200
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4607.eurprd04.prod.outlook.com (2603:10a6:803:71::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23; Tue, 31 Aug
 2021 08:54:01 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4478.017; Tue, 31 Aug 2021
 08:54:01 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0210.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1f::30) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.22 via Frontend Transport; Tue, 31 Aug 2021 08:54:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4916e1e7-92ee-46f6-a630-72da02217f8a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630400044;
	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=cgeuQQ7IIPihzG5U9FIyFNYN33pFkrsOJM5NqFbgJ/g=;
	b=B3V/HhMfxO4V0nJsjW0mFW+K/o/zNVLy93EFV7AcuYYdCGWOxL42Ftgkr5h1qUSQQ9RJyQ
	oZWksn1QQqozEoYLnP7aCkDsbS+gJtgPOCSW2zK1MX/pByMSicxROOJV47/sdQ3wuR2mgT
	Z481v0MgnNbB2r8OP2uEB7ghVXAuzg8=
X-MC-Unique: YjnYAkTTNje2bA5jj75SGA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RPi8jQOmty7KQ+1Pf86nF4Q+b1+9VsIUvnCtlt+W0BZwYq28wmiyarvqV5RlomqbcsDAR1+nEN5tZkvgI0WPMoOd0nIc1bfnFS4QWfHPrnlbd8Rrt0CO1ioKqT22QGtMo4mLB1CBv01YOyiIriGtyrf2D5IAL4VXcgdy18yBf79y0z8ECGWmfp1PY4dGttHu1uanmgemvhZIDXtlaGO1ULolGgHCJpOh6rPeHRhCD4o5noYoTkQeU6vyVzbHdMhHVTNn1TGnm4M0cSLLrzgwrGTnP59thVzrpWbn83FNO6BjqAoDv6aMFAAFvq0fNUAsV6PXmRmVEBP/rlW2xZHjRQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cgeuQQ7IIPihzG5U9FIyFNYN33pFkrsOJM5NqFbgJ/g=;
 b=DG7ShmEsJjfd8Aav9apFNjFV+RdtfDyUIcDk2Rmg3ZlnQ2+DobUDN76qCZnG8y4WTVToCL9B2Fi6/hBN65Gp9ioPZ1e+fWpS9X/6UQyihWmguYrRwGpzjwFpNX7RxDKGJUXAcMj2jAVA19DKcLuhPUA/udDzTd8eG1aADJ1bDo1qzZvpRhRXyfrO/iOje6oy9KAu+8Dahp6WrGLeRvuxpir5BioEZyN3JJ8IH7EZ8rDJ20ReaG88pztP1OjeN1ZJaY7jBCbC4rDK8ywtDBqxEmUDfnA1rV0ynsbR1Ue2m+QKLyL+9YrWczySz0nNJJ+7OkD5QPSXJH01yxl3ErPNOQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: citrix.com; dkim=none (message not signed)
 header.d=none;citrix.com; dmarc=none action=none header.from=suse.com;
Subject: Re: [PATCH 0/4] x86/PVH: Dom0 building adjustments
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <aae19abb-e88b-8bf8-6f1d-502ac6645d6b@suse.com>
Message-ID: <a2b8421d-e608-2abe-b78c-924ab0bf529b@suse.com>
Date: Tue, 31 Aug 2021 10:53:59 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <aae19abb-e88b-8bf8-6f1d-502ac6645d6b@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0210.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1f::30) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 34a6739d-c336-4da2-1edc-08d96c5ce0e7
X-MS-TrafficTypeDiagnostic: VI1PR04MB4607:
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4607EA7A49124490CFAAE83AB3CC9@VI1PR04MB4607.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:7691;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Xe5KyYxgE9BVj+PwF41fOXI5gAYBkywjV2qWAlY9fKeUm/TIZPeX/ew2TNDyaYUDJkg52uB0RqECLeVUczw7fLNOvKnBqgzt69coGu4QOMrzrCpSuvUfgUI9huT3YFlXesfy4SLAmz3lbMLMGAu+bQ7MZvrw+tedhOYBd69JMEpF4iKoMUqmlLeMHFsD69efS4Qk3tGvZGKclj/usbds0HSGRjd/0ETryCqGEC1y+lPqXNDdbBr9NS7cfPxwsRl5/YptmBRCBIck43BipjhS6BBbdCRjMku2lD5paZHDEosH/WnHWt4t9Dii4HBupaTldQI26+VzZLCA6jMDZuA+39db8TV9gRJKNwgklV//toDG/E+1CA0n0/cx53q9DccCIZLvmxspTAS/+oY3vDnAs96PXzkJ3sKxfoo50R4F8JyVX3nl69ddHRAx52e9NIvUoBmtKmSH7ZW0dhy0WZlpHHK4oUMjiZ+fnP4bnHPicOxCUnBhcr8n+ywKr7JfwMRQHveAj7ZzeNPBY03ZNoXgxdpzFJ6K8SpcKFAky5LU6lLsrI2d5NIae7ZTTGlzkiRrip8f17mNVZZBEMVrTtN04NNG1P3prMJthrG1GRFoWYeUpRiPCAsHtSrjPhy5G+v3OvAbo5O3jBLfrCvq7IoGwMy0e15I20u426z1nwa1RJXfFBVoMRYWozOXMf2RAg2+ZczSMTR4ysh3bmyYplp0bG9bU4UXr5hAQyg272UlQGQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(39860400002)(376002)(346002)(366004)(396003)(136003)(4326008)(2616005)(5660300002)(186003)(478600001)(86362001)(38100700002)(31696002)(26005)(53546011)(66946007)(83380400001)(956004)(66556008)(36756003)(16576012)(8676002)(54906003)(6486002)(2906002)(66476007)(6916009)(31686004)(8936002)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z0JSZkQ0ZnVQdXI1Q1BuNnoxaWlhWEl4Ynk2YVUyS3k2SFNXaXZFYUhRbGl5?=
 =?utf-8?B?V3Uyb0JicjRuWFo1MzljQ241UWtydlplMmdvUXNVTmNlVUltcUJkNElvR3VL?=
 =?utf-8?B?OUg1UGY2Tkp5cUdBd1p4VHUxVHJjcTRMaFNTODBBWFhGZWNVUFl0STdiR1Qy?=
 =?utf-8?B?TmtMa1NNclhSK0FxdFFnbVVmdlgzckpzWS83MlMrNUUySGdRNXJPeEJSK1Bi?=
 =?utf-8?B?VGMvTUd3WWtiT2xFL09kY0dBUFNVQVlPcWZzd3FhTFBNR0tKUE55a1hoYWMx?=
 =?utf-8?B?SXBZcm1zSWZENUk3Sm9ia0R5N0RoMUlwZlA0MzQzaFpPdkVMMXNQZlIrQlN0?=
 =?utf-8?B?LzJDRnpRVmE1Z0ZWTS9tTDI4VUFhS3NiZmtLVU5kM3A0MDNTcG0vUEJSZFpP?=
 =?utf-8?B?d2N0M1UzUjRPVmxUeDMvSGowSzNUQWZSelZvUytaZGk1c0hxQnBlMDNqeWow?=
 =?utf-8?B?b2NHTU5SOG9LVUhXWkRnN0F2TnUxaUpLZitzYWU5REErdGJBdCs2ZjBLZTVF?=
 =?utf-8?B?R0FlaDkyMDVBdDRieDJLN2lMV2Z0U1VwWmlmVjc0OXlnejBiM09SZXBERmhN?=
 =?utf-8?B?THVLWm0wT0VZNGhYVXRnRTBGWWJLa3pFclJwem1rWm1aR0NwSkRRUmFBRjh4?=
 =?utf-8?B?REozSThaRW9FSithSEhZNWZSdmdTbE9OMm1wdVhTejIzeFBmc2gyTUQvQXRP?=
 =?utf-8?B?dnBBK2xMNkRFekJQbk81aFVOYzBQTHVqZ2JJY1NZbEhDVlY2L3ZZQ003aVB1?=
 =?utf-8?B?YnFGRUxYUHg4S0FHWTM1Y3h5S08vRjJZS0ZWbWlQUUpxMG1IaHNEcU9aK09w?=
 =?utf-8?B?NWJmb2NWMHNIQk53S1hpVEs1SHk0OVREK3c4YkpoSWRKV2dTaVlBV2xXYlVP?=
 =?utf-8?B?QnpOT2dNanRhOEpnWEZTT0lxN3Z4S3ZTYUJrN0ZlUmJGb09iNThkWVJjeDcy?=
 =?utf-8?B?Yi91WDFReHZ5YmtnWFZUSjFFRW1Md2ltSnlrNHFDTTFBQ1gxaFF6M0YzZmhw?=
 =?utf-8?B?NWhnd2UvR29vaGRmdXJtSTNUZlVQNWlHNU5NV2twV2VUNU4xUXpVdzJpS3li?=
 =?utf-8?B?c0lQMEovWHB0akJENjNJY3BWWGJYM21TKzVSdWIvTkt2YWFERkNIQWR4MnNX?=
 =?utf-8?B?UHVESzRDK244M3RUWndvR3ZUSTViUTNVQ25qVGhoUlRScE5QTERidlJ5UWVP?=
 =?utf-8?B?Q0JRcGRHbndrbUI0NlpmTVJJZU5tNG1yYmdaRmw4d1NCdzZ4cmc2WDU2N0VC?=
 =?utf-8?B?NHZSQ0FJZ3l5aDFwWTVJWlRxanQ1K1V1NDhrWnJaSFVZODZSbW1rNU5xeVdp?=
 =?utf-8?B?NC81ekpjbUhhZzhTZERnKy91OVc5TG83OTBvU0wwUkVKbXIxck40d0RmaGlk?=
 =?utf-8?B?NTdhQ2ZnUHRSS21xUG1rVlhjR3hvbkdhNU9GVlRLU20veVc2bnh2UGdNUGRZ?=
 =?utf-8?B?c1crV0Y5dDM3YVkzQzNmeFB6UjRRNEdmN3o4ZnI5c1FQV0Ywd0RQYndHS1cw?=
 =?utf-8?B?REY4UmJNNHdpeHNaZ2ZtSGpSUlJQNGFpUmZyU3BjcVRWSGZId1VzSzNxMmMr?=
 =?utf-8?B?dHpxL0x0RnlrejZ1MjlsWE56VWdjNlc3WmFDbFFDTWJaTU9SMGlTQXFhZnVo?=
 =?utf-8?B?OGVMRWpYVTRmTU5wVEpmZXRRbXczNE5XcmFXZ2tFZnNIeU90TTU1R2ZsaE9V?=
 =?utf-8?B?R2xXdDZKUWpBU1Y3TVdYMzdoOCszTUJWVkZWVXg2djlXMStlRE1xRGRlZG5k?=
 =?utf-8?Q?hS5X+/JWrRAGSP8IBEcWHyGu+PY9+1Fc3Xlxvlj?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 34a6739d-c336-4da2-1edc-08d96c5ce0e7
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2021 08:54:01.7119
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9mHtd0Y6W8VT3aAA7+rjIMZvUJRLkCCyXCAPISUk669lDSHby4x4yQ6XISumkvwRTYdjOHFFQYRhJfQBYp2cJQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4607

On 30.08.2021 15:01, Jan Beulich wrote:
> The code building PVH Dom0 made use of sequences of P2M changes
> which are disallowed as of XSA-378. First of all population of the
> first Mb of memory needs to be redone. Then, largely as a
> workaround, checking introduced by XSA-378 needs to be slightly
> relaxed.
> 
> Note that with these adjustments I get Dom0 to start booting on my
> development system, but the Dom0 kernel then gets stuck. Since it
> was the first time for me to try PVH Dom0 in this context (see
> below for why I was hesitant), I cannot tell yet whether this is
> due further fallout from the XSA, or some further unrelated
> problem. Dom0's BSP is in VPF_blocked state while all APs are
> still in VPF_down. The 'd' debug key, unhelpfully, doesn't produce
> any output, so it's non-trivial to check whether (like PV likes to
> do) Dom0 has panic()ed without leaving any (visible) output.

Correction: I did mean '0' here, producing merely

(XEN) '0' pressed -> dumping Dom0's registers
(XEN) *** Dumping Dom0 vcpu#0 state: ***
(XEN) *** Dumping Dom0 vcpu#1 state: ***
(XEN) *** Dumping Dom0 vcpu#2 state: ***
(XEN) *** Dumping Dom0 vcpu#3 state: ***

'd' output supports the "system is idle" that was also visible from
'q' output.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 31 08:54:23 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 08:54:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175572.319805 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mKzXD-0004uI-0D; Tue, 31 Aug 2021 08:54:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175572.319805; Tue, 31 Aug 2021 08: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 1mKzXC-0004u9-TF; Tue, 31 Aug 2021 08:54:22 +0000
Received: by outflank-mailman (input) for mailman id 175572;
 Tue, 31 Aug 2021 08:54:21 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Zqic=NW=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mKzXB-0004tY-LT
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 08:54:21 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id bb0c099b-7c2c-4e05-addc-99a648fdac32;
 Tue, 31 Aug 2021 08:54:20 +0000 (UTC)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2112.outbound.protection.outlook.com [104.47.17.112])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-34-EIIfp41lMXScMBLC_15Oqw-1; Tue, 31 Aug 2021 10:54:18 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM0PR04MB5585.eurprd04.prod.outlook.com (2603:10a6:208:133::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.20; Tue, 31 Aug
 2021 08:54:17 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4457.024; Tue, 31 Aug 2021
 08:54:16 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0210.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1f::30) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.22 via Frontend Transport; Tue, 31 Aug 2021 08:54:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bb0c099b-7c2c-4e05-addc-99a648fdac32
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630400059;
	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=cgeuQQ7IIPihzG5U9FIyFNYN33pFkrsOJM5NqFbgJ/g=;
	b=OadSjTijD8UK8DNHcq9xgf03RCg0iL973xm/HOs7Mi+GHU8fvZiRwEDSIvCBlRW6a3qFej
	h9ij8mOjs4sHWvl7+Syc9SDt9l27tQxiQEK0GdXUvCOoVF+aXglFUpugcYRtfLSASXsnUx
	LWMl7VrTAVwOm59P9/DRTpQk2foB/44=
X-MC-Unique: EIIfp41lMXScMBLC_15Oqw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RPi8jQOmty7KQ+1Pf86nF4Q+b1+9VsIUvnCtlt+W0BZwYq28wmiyarvqV5RlomqbcsDAR1+nEN5tZkvgI0WPMoOd0nIc1bfnFS4QWfHPrnlbd8Rrt0CO1ioKqT22QGtMo4mLB1CBv01YOyiIriGtyrf2D5IAL4VXcgdy18yBf79y0z8ECGWmfp1PY4dGttHu1uanmgemvhZIDXtlaGO1ULolGgHCJpOh6rPeHRhCD4o5noYoTkQeU6vyVzbHdMhHVTNn1TGnm4M0cSLLrzgwrGTnP59thVzrpWbn83FNO6BjqAoDv6aMFAAFvq0fNUAsV6PXmRmVEBP/rlW2xZHjRQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cgeuQQ7IIPihzG5U9FIyFNYN33pFkrsOJM5NqFbgJ/g=;
 b=DG7ShmEsJjfd8Aav9apFNjFV+RdtfDyUIcDk2Rmg3ZlnQ2+DobUDN76qCZnG8y4WTVToCL9B2Fi6/hBN65Gp9ioPZ1e+fWpS9X/6UQyihWmguYrRwGpzjwFpNX7RxDKGJUXAcMj2jAVA19DKcLuhPUA/udDzTd8eG1aADJ1bDo1qzZvpRhRXyfrO/iOje6oy9KAu+8Dahp6WrGLeRvuxpir5BioEZyN3JJ8IH7EZ8rDJ20ReaG88pztP1OjeN1ZJaY7jBCbC4rDK8ywtDBqxEmUDfnA1rV0ynsbR1Ue2m+QKLyL+9YrWczySz0nNJJ+7OkD5QPSXJH01yxl3ErPNOQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: citrix.com; dkim=none (message not signed)
 header.d=none;citrix.com; dmarc=none action=none header.from=suse.com;
Subject: Re: [PATCH 0/4] x86/PVH: Dom0 building adjustments
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <aae19abb-e88b-8bf8-6f1d-502ac6645d6b@suse.com>
Message-ID: <a2b8421d-e608-2abe-b78c-924ab0bf529b@suse.com>
Date: Tue, 31 Aug 2021 10:53:59 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <aae19abb-e88b-8bf8-6f1d-502ac6645d6b@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0210.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1f::30) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 34a6739d-c336-4da2-1edc-08d96c5ce0e7
X-MS-TrafficTypeDiagnostic: AM0PR04MB5585:
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB558537728E6B711120AAAB20B3CC9@AM0PR04MB5585.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:7691;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	HVwoGkR8ydd09qL7FOsYJbqWrrElh5hhsR+dSmGiXC9mp2BKbHupYpiYXJdseDQMI+b8VgxiGiicO+fB01OcIYhWQju373fvC2l+3rCe3UkNHSBu+NiwlgsPlopr1SaO8GXlYZ1FKSsq4xE7CIG703olZUde7y8mRiMxmqODvueKJ/6rfQo0gVwpIRY4tDXl7YyG5f208mS/YML7Ix7f8lMeqrj58ZaYU7/5MXXtOm0Kpx76iOKzN8zOEKOxBExeIx49c3gmIQIEx6FjVTmTkpnDLmvIvKPmC3mqSTyaHLuhQ8DHJm3IJyb8Wzhqtf8O7Hpk41TqOpge/a0D6sEktTwVigY6EXl+H5nSerftLGN6sd5NTocHBeK0GVzqBsi7wdKJsnGnuIjgRrkdJW18wdwBzvtLOtZzgiTp/7PUMxh6n8N7Uk9jwtui5AnKRwC0IGsExgx22zZrfB0Jp+zIskdI4VDojaDhyTo2msxAAHFRtaXA3ja2BFcQwrv3Da8sUmrQXyn0uCy0S6IubjwV5vwRLzSGOCwzsGLCfiVKwKlNFe5RLLd9UDI9bMTX/tUVZJsOLNlZt2U8s+0wG21y/UsqvSuL6ENcqJ6oWBqSegd8MqZbA6POZtDH46gjru3h+4vY2wffo3TNefv5YN5xY9HBSC8pMh8RyzOk6PaGVFTM8FMRSdhhD1+xVVIHm48dlg2zJdE/NU10CAiuXxMOHvgTSOgQrNk60VeSHOhTKGY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(39860400002)(396003)(366004)(346002)(136003)(31696002)(16576012)(83380400001)(478600001)(66556008)(66476007)(38100700002)(31686004)(2616005)(316002)(8936002)(956004)(66946007)(53546011)(54906003)(86362001)(36756003)(2906002)(5660300002)(186003)(6916009)(8676002)(26005)(6486002)(4326008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YmxsKzVRWkd1WFlNQytWQ0c5dFA1dnpVMXJDZkMrMmZudFZLdGFGUTJnMHJj?=
 =?utf-8?B?MjFtcU1XeHdVTHlKbEgwZW9sTk90YmNna1BaN3ZjSTBia3R5QnU1QUhqUkto?=
 =?utf-8?B?cDBtOVNqbzdCR3kzUXJhbHZ0ME9WcDdyYmVoSm5WZXJ5ME01ME1CM0FQN2Fj?=
 =?utf-8?B?WEhNNjIwTnJ4NFAwcW5vbGxROWxIM1NvcUl3bTBKOUtBVEgxRFRKcHk4bWRw?=
 =?utf-8?B?cHVVVTJ6Q3dsS0lCQWE0S2N1clNLZlJNelhseHdUWmlkLzNQRURpVFcyRWwv?=
 =?utf-8?B?VlJMbXFFK0RMMVdWV3NWTkw0bnM4dFl3dDlEMk05UTQwU056MDJVSU01dTlq?=
 =?utf-8?B?TUxFS2RSaFRNNEVrbVByYmZHL2w5YmNTQ251cnY3cGVrWWxFd0J6R0lpSWJX?=
 =?utf-8?B?U0xpY21ZVGxFQUlBYnFnL0VJbm9acU9KaUVmUG5PQUlQZlN4WmxTaFdyK2J2?=
 =?utf-8?B?QS84SkNoT2lPd2l2WVVldXUvNitHWjBTdjZ6cGZ5b3V3N3RaWEEzeUtMelQw?=
 =?utf-8?B?M0FVejJDalpiWVgrYlpQRkFkR3BtVE5TU0lVRkxpK29FaUR1NjhtcXh4WDdF?=
 =?utf-8?B?di9kM1BVbG80Q2JhVE1ydHN6L2N4ZkVMbnlxTFM5cW9lN3M3bnJjakxLODBC?=
 =?utf-8?B?bGpTSERzN3kxVERpTUE2QjNZSFBBTjE4K2EwZ2tvM1RSMmRQT1pBM2wxbnN5?=
 =?utf-8?B?UFFPYmZvK01URU9YSzV1a0FVK0VNRzNmRlNOcTFNdHRxdkpHQlBXdmU0bjdw?=
 =?utf-8?B?cVRoTW83Q3FIdGhWQXRZRTdWTlorbVJONW9hMERvVk9YaDFlU051TUh3dHdK?=
 =?utf-8?B?T1M4a21BeDZxakVITldnM2F0NUl0SnhvOVQvYnp6eGU4VVJhRzdPNWxvNUdN?=
 =?utf-8?B?RWJwMnJwc2pCMEowUWQ3Ulhib29lQ0k2Z25HNGxwcjVqTUNhdVJITktvbE1t?=
 =?utf-8?B?YVNKTkFUNXppTmNsdEFnMURuVlpjRUZYSTEyQlRpNFM5cGNMSEJGQUZnMXdl?=
 =?utf-8?B?cUwxT25RMjBmZ2lsVUNiL0htRlUwcEVGdmQ0dHJ0OWlnOERLMkVET0pLYW5y?=
 =?utf-8?B?VitsUnFyNTRUREpSOWhiaXhmUENCT2lDNnBoQXNSQXFOSHJEUXFmK2VjMFht?=
 =?utf-8?B?MjZyUU5PaGlJRUFMb093UnpUdjJNdWNPNDlHa1NLWnZEOCtuMEsxWHlScG1N?=
 =?utf-8?B?WVY2UFFNT2U3V1JSN2trK3RZdjg0djNEemRaNldNc21XeUM3TlVKS3JjVFFD?=
 =?utf-8?B?cHdSMXRhck1IRkNIcXRZbHhWWjNzYkxUZGJKUDFvQUtiaGg2dGFqemVSZkcr?=
 =?utf-8?B?bDFVWFZNeUpBY2ZHQnJNRnY1VkdGelZreEtOOUY1UHY3K1E3ZDVNVW5PVGFr?=
 =?utf-8?B?eWwxUkVkWTZSMVRUNGJ1WXRWWnpuTldYdFVPTnpiT1dWeW9xTjNIeUs5Ti9a?=
 =?utf-8?B?SE1ZcER5d2tTL1JaWlRuajJuQUVYZ2JnelV0WXpnbUpSNkYxV2EvZGZ0M200?=
 =?utf-8?B?dVArOWZkekJhbVEvRGFxZ3I1VkRrNjBrYklvQ0NPWnk4VGE0UFljQk94a0xB?=
 =?utf-8?B?V2RmZlovZHFBS0hGUW5ua0xnT3gxVGw1ZG5NcjhQeGd3YUY2ZitqcitzOWR2?=
 =?utf-8?B?aW14Q0tjcTYxR2h2c3lzWUdCd0o3SDJWWWNkc2NrcnhoamJkVHg3MHdKblgz?=
 =?utf-8?B?V2FKREdnRWtGaWl4c2ppb3FZWDNwSXNMSDhBZWhpNHdUMDNMalBnY2w3S0RJ?=
 =?utf-8?Q?q3pOSvF06qgacZZxcq7TNQvPcxacifSQmmtJajW?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 34a6739d-c336-4da2-1edc-08d96c5ce0e7
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2021 08:54:01.7119
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: pXhmzQgT1RIH53Yak3DYNyGzIdsLfnAf6oGRM8+YoMYBsnMFC5d6WHyDo1ap2BkW72WoBZKvHwEj1UUrAS5ecQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB5585

On 30.08.2021 15:01, Jan Beulich wrote:
> The code building PVH Dom0 made use of sequences of P2M changes
> which are disallowed as of XSA-378. First of all population of the
> first Mb of memory needs to be redone. Then, largely as a
> workaround, checking introduced by XSA-378 needs to be slightly
> relaxed.
> 
> Note that with these adjustments I get Dom0 to start booting on my
> development system, but the Dom0 kernel then gets stuck. Since it
> was the first time for me to try PVH Dom0 in this context (see
> below for why I was hesitant), I cannot tell yet whether this is
> due further fallout from the XSA, or some further unrelated
> problem. Dom0's BSP is in VPF_blocked state while all APs are
> still in VPF_down. The 'd' debug key, unhelpfully, doesn't produce
> any output, so it's non-trivial to check whether (like PV likes to
> do) Dom0 has panic()ed without leaving any (visible) output.

Correction: I did mean '0' here, producing merely

(XEN) '0' pressed -> dumping Dom0's registers
(XEN) *** Dumping Dom0 vcpu#0 state: ***
(XEN) *** Dumping Dom0 vcpu#1 state: ***
(XEN) *** Dumping Dom0 vcpu#2 state: ***
(XEN) *** Dumping Dom0 vcpu#3 state: ***

'd' output supports the "system is idle" that was also visible from
'q' output.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 31 10:18:14 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 10:18:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175594.319820 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL0qA-0005cR-2S; Tue, 31 Aug 2021 10:18:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175594.319820; Tue, 31 Aug 2021 10:18: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 1mL0q9-0005cK-VQ; Tue, 31 Aug 2021 10:18:01 +0000
Received: by outflank-mailman (input) for mailman id 175594;
 Tue, 31 Aug 2021 10:18:00 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=06Zp=NW=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mL0q8-0005cE-G5
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 10:18:00 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com (unknown
 [40.107.15.55]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id b63aa442-0a44-11ec-ad1c-12813bfff9fa;
 Tue, 31 Aug 2021 10:17:57 +0000 (UTC)
Received: from DB6P191CA0019.EURP191.PROD.OUTLOOK.COM (2603:10a6:6:28::29) by
 VE1PR08MB4861.eurprd08.prod.outlook.com (2603:10a6:802:a5::21) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.23; Tue, 31 Aug 2021 10:17:55 +0000
Received: from DB5EUR03FT023.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:6:28:cafe::ff) by DB6P191CA0019.outlook.office365.com
 (2603:10a6:6:28::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.20 via Frontend
 Transport; Tue, 31 Aug 2021 10:17:55 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT023.mail.protection.outlook.com (10.152.20.68) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Tue, 31 Aug 2021 10:17:55 +0000
Received: ("Tessian outbound 5918cb94a4b5:v103");
 Tue, 31 Aug 2021 10:17:55 +0000
Received: from 92a735763174.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F34D07A7-4D84-4EEB-B46D-5C7B0D842605.1; 
 Tue, 31 Aug 2021 10:17:45 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 92a735763174.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 31 Aug 2021 10:17:45 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB6PR0802MB2471.eurprd08.prod.outlook.com (2603:10a6:4:9f::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.20; Tue, 31 Aug
 2021 10:17:42 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::2c28:50cf:49fd:da32]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::2c28:50cf:49fd:da32%7]) with mapi id 15.20.4457.024; Tue, 31 Aug 2021
 10: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: b63aa442-0a44-11ec-ad1c-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ChvK8eh6N8Jznao0sSo5cdE+GhA+89y747RPv317MKY=;
 b=0n9u4NNvjz/7m1oqBYmKPyCjQw0USCAvj4R5x81mGnvzu4ioJaAiGlx5bDb6HqCBsI8RfHyaHSzErFTGF4FC8H2dLcM1P86+924PgSr3VQ9rf82EEdENT5vVDolF28DMcQV3h9jOSQBGSL/8OAQ+cKCeQUoJbpAVJ7/RjsOIJYE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=J45eo//joJxv9MPdtdDPXwLFTKW17SEJcSECSTOLyi7u3f8YBdl/EpREP7beoDExwEatzgPSRuL8EF65HMP0Mel+zDTq6P64g7Od5Yo2GwpaZchv5T88PcCGrBGvP7FmyCxPZbpxy/5ehg0xqYtKukhZCHy9HTUGzcgyQT19Ruyvz2b9MGZWhw/nA8eN7sQT6FY7s5UlOomEdfOLUDEHwknYSw0gH4Vnx+kFdOLIBfz0O5Wqs/xVSU8uBGRRfuyhJcDvgQLSWmGkCuHlJIUD6B5wNSxG8bx9X+dbKI+IEMdUVS2b9Rc1/iBWBYtU6ID979OwSG2Ab/qPWOBxtxmLjQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ChvK8eh6N8Jznao0sSo5cdE+GhA+89y747RPv317MKY=;
 b=C/SIZl8s8lzo42NqsXX6OnTe8bbHu6uI/dSjajk9m0wM77vGqGqXJgn2OfAOkuOuXwBgJnstN91fuD9x+hYxowKf9S8CffT3ijXOjf6OiIcvNRxhEVbF+jlIVnQsCOIqRhczcyEOtQoUnAPqo/ZwuhAjvjDmDLAPRbzsvvcw4+00w4cZxPuM45Zz1KZLemYFcrVcb/8ddzMr9OJZ93mazZ7mEBr2rxuoq5a99J/O6qMGNfXUB04vXThl23E8orhR8zNZXUB83ysmKXLLioau5JDyfOqJGkpKqOj2PbEuEnem5rAUz+FyVyP3Ali56v8xxggKtPSdh+dFQPiYWPkJJg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ChvK8eh6N8Jznao0sSo5cdE+GhA+89y747RPv317MKY=;
 b=0n9u4NNvjz/7m1oqBYmKPyCjQw0USCAvj4R5x81mGnvzu4ioJaAiGlx5bDb6HqCBsI8RfHyaHSzErFTGF4FC8H2dLcM1P86+924PgSr3VQ9rf82EEdENT5vVDolF28DMcQV3h9jOSQBGSL/8OAQ+cKCeQUoJbpAVJ7/RjsOIJYE=
From: Wei Chen <Wei.Chen@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"julien@xen.org" <julien@xen.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 24/40] xen/arm: introduce a helper to parse device
 tree NUMA distance map
Thread-Topic: [XEN RFC PATCH 24/40] xen/arm: introduce a helper to parse
 device tree NUMA distance map
Thread-Index: AQHXjps+iLbrOQu8n06b5z+EtCRt06uM5puAgABnI4A=
Date: Tue, 31 Aug 2021 10:17:42 +0000
Message-ID:
 <DB9PR08MB685715E39333597911BAB6FD9ECC9@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-25-wei.chen@arm.com>
 <alpine.DEB.2.21.2108301740500.17851@sstabellini-ThinkPad-T480s>
In-Reply-To: <alpine.DEB.2.21.2108301740500.17851@sstabellini-ThinkPad-T480s>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 19F7B02A6CB9264ABDE0AEDDED624B42.0
x-checkrecipientchecked: true
Authentication-Results-Original: kernel.org; dkim=none (message not signed)
 header.d=none;kernel.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 014e0165-e267-45df-f9a0-08d96c689954
x-ms-traffictypediagnostic: DB6PR0802MB2471:|VE1PR08MB4861:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<VE1PR08MB4861D4324CBAB06739506DCA9ECC9@VE1PR08MB4861.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 uhu0jchX9fwLQfhbt0AH8j5BhhvWltmeCS9JGQVO6rYwqDJpcmA/uGNEKh5Zv4r4nrWyYAXN50uDxQT2qBWobb/tU4CD+h9apqs0ACVODdrEUG3kKragU3KgwFV5ILEOtyFCASByU2fnem93zAXckrTZBydyXR4d02YP28C5093tRVwolOB2t/Zy9E+fc1qU7xmfg6/JLPq2gYffv+k7SBfp7ngpxYm48HzGdYiBjrN9JaT4DLSVT3ncm7cpmfj86ZCg1O22t55Trez+BR8VXRoLFvukd6AaSks1lMQK2inrCPKYiTLX8PP3fktKs2sTJX+6Mfcq0Xo5+rDpnD4u6bAG+2qSOj0sthPTTIlHVx1zCiWi5A7FxLyPp45CMicv0TFHTRpvMyhOmt5MTxnnrEJjqy30uN821Xgvdga3YEl49UwpoCf7V2Pphw3c6RN6Ko9PJ/52l0fkDuABFcJ4Gwr5zyyz6RcQHQIy1R05M6hUty9R5mluFLvUolym3gBzc4NmLgOJfS2czwCf4Oucbp3/nUiTHjlOqSsKmz0OsyoBJlU/So5rDZ0Cgk4rn1KyRK48bpVFFplOb5QNGG19om+bmdVz2SA+b9UYPn9rJHRHGV6POwczeJpsAJvyX1eZKUgA4Tzn+K4PMN5BBKXsSn2xJKpqw6rpxvohY7Y+LwrSzW2Wd+h3LQEAshBKIAfv9N/xLlPzc7pRDv5CLVdolw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(376002)(366004)(39860400002)(396003)(136003)(346002)(54906003)(55016002)(76116006)(6916009)(186003)(8676002)(66946007)(38100700002)(38070700005)(33656002)(9686003)(86362001)(7696005)(83380400001)(26005)(122000001)(66476007)(66446008)(66556008)(64756008)(2906002)(53546011)(71200400001)(6506007)(4326008)(478600001)(8936002)(52536014)(5660300002)(316002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?gb2312?B?Mkt0RzF3ekg1elNHekoxcjNBUjBkM3ZDWXczMzVtVm1vMGloTk83M1FaNHlJ?=
 =?gb2312?B?TUpML1F6V1dyR3BQN2luVVFMem5SQXphYzV5bXhFbXBuU0IvR1ZnZ2hGMUxC?=
 =?gb2312?B?VFZjampEOG1WRHpxR24vK0tOL21OVGNiVUxmZDVJclVpRnBrQUsyTExMMm1w?=
 =?gb2312?B?TXEyRUsvRG1pNjM4NHFpaWRPZHBzdWdHYUVONHFsbXZNMHZqYnhwUnhiMzRM?=
 =?gb2312?B?Nzl2L3UzUG1tRDNjcit6N2xvZmM4RzEyZVl6TGxCZTB1SWM2M0xIN2tHcTBj?=
 =?gb2312?B?bnc3TUNkdEg0bGF3NmdBL0t1V0JUMk02U2lGQWNqYjF1a2hoUEM0Y2RFclI1?=
 =?gb2312?B?Z2U2VFZqTExjY1p6VWZydGt6RnA5emVacE53NDBQQ0VvNG92bnB0Z2FFMzhq?=
 =?gb2312?B?YkFmNlp1YWppSy92WnAyZlhEYTdQT0UzUlduU0ZFQjBJcHp5YXlKdmJjTVFh?=
 =?gb2312?B?L0JERVNMN1dEMFAvbjJNUnVEMkJTcEQ2WlZpbU9jZitoTWMzU052anVtT25S?=
 =?gb2312?B?S3JZam05VGxiaG5GS25US2NtcGJXT2Mzc05sWlJONlFpUmlNY1dHczhTZ2d1?=
 =?gb2312?B?OFNMemd4OGpVNkdaelZ6SkQ5Z1RKSmVKdmM5NXU5TFlObHRvZG12RU5ySERH?=
 =?gb2312?B?MjNNRk1QREhiMWJrZWtudlVsaDhtWi9xY0w5Z0VIYVlMUjdHL0VIUkFpcXlo?=
 =?gb2312?B?cVVFY3dUa3dZbTBkWDlJaVVxMGpKaDBTNE9jWEFIS0NHd0NmbW5icmZ5ZkdC?=
 =?gb2312?B?aXlFTTdXazA3eGtsaXdxTjEvc2Eyb0luQkpybWZDd0tXODFMRnBQTjhkMkdk?=
 =?gb2312?B?YVdLaFdGN3hEU2daK29pSTRoVmZhYjd3cVZKTUZqeURZazVISXNUdGVXa1pS?=
 =?gb2312?B?QkZrQThkaVIvcWFmZnlJQWJ3bHpNUlRQQ1pKRGVMdEphUEx2TmNjUzdVdGRL?=
 =?gb2312?B?L0ZoLzY3SmZTeVE0Wk1lZEU5ekNWL1BvQlJkS2o3TFF0MlNDZDljWWIyc3Bv?=
 =?gb2312?B?S25XOGRHbHRNa25hRU42OWpnZVZucEVjWDY1NVM1eDJrbmlTZG5Ud1cyRnpN?=
 =?gb2312?B?b00veXBkTWdrNHFzT0xnOHhHSTF6M1V0OEN5ZU1EL0R5S21iUUJSSEQreHBR?=
 =?gb2312?B?TVlEUXY5ZDVIT1ZuZ01Hc0picFpnZHdXYmlCWWtMcW5NUzd4eWpqeXZKV3R6?=
 =?gb2312?B?MXcwdTJUZTB2b1hqS2wvM0RweTZ5eGZHY2F0R0FralRCd2FiT3BBS2JQMEJF?=
 =?gb2312?B?MlpWdkdBWjVLZnRUTDlwazZ0cFM2ZkI4Uk5zWUVZUzhXa2szZG1UdnNVejF1?=
 =?gb2312?B?VWs1dVlaMXEwQ0EwWXZUNEk2dEJmVHJ3Z1dobEFScVV3TEVrbGlQVTc3TzNO?=
 =?gb2312?B?cmhESDQ1eVo3dE9weEo1cXQxbFgxSGJWZzlwQm1vbXNJRjg5RG94dmxLQTBD?=
 =?gb2312?B?amI2U242MDJDbWdYM0d6SXJkSTI1enU1RWx6eE1mRmN0cGRmT1RXUmI0V1A3?=
 =?gb2312?B?MmpZREVlb3RnUG0raUNMSkFLbWVzMGp0cnJUWU4rbXBkR2VHYms2amRnVjBT?=
 =?gb2312?B?alZ3WnJDeFZtSHpOOTVpMnlNV3pEZTRMOG42QWV4ZkNnam5TYlg3c2ZuNS9W?=
 =?gb2312?B?SFR4UFNaSlBlK0Q3bTFGQVgvSXVqMjRDNkhQTjdvcEpaWE9jWGxFcEVPTUtk?=
 =?gb2312?B?a3pMb0R2UmJJTk0wV0JlVEZPdCs2eUovY0kyNWgwSGVhOENuMWNyZy83WWx1?=
 =?gb2312?Q?faC/N/3bJDSZoxtmaPBvvbHd5uLLY5Dp/Zvq4dA?=
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2471
Original-Authentication-Results: kernel.org; dkim=none (message not signed)
 header.d=none;kernel.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT023.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	be7479a3-26da-4ce6-2613-08d96c689181
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	WgL4EB40zSFwmP0KUUEQWLT5Joia695fS9jO+z8ItkBcTxIDC/msfcui7RorvDdipABTumbu+qSw0xUTd8Ur9YGAMtMbI1xfwFGPg4qjpPtT7OM04wVJ07PQ4svONGEy1CGQc2/3Dap9onpPebOVkgqMzIbx+i5BXp9e4QbsPdAShXKhAeo4PEATUB/i5uJ1IPPgfSMrhVaBIIy+jrUZ/VfkfO+GGQmpgsCvSSufFZlnTGk77qBZaj/YH119TnPsblAjZnYF96yma7HDyF2T7+79A1srvTrX6c3ae5uIC/oFGj9Z+EY/0o3Wb9EmJwAT/dtE1UoJCWtEtHdHJWoWVdrEiIZCRbvEMsBRoRb7+1dRiV1jHbrDLSepnAhKopOm9LFLoIdVV/J7CnY5yIEyWv4Dq+Yl6Fdbl0Y7/GAoVydPgVBrzw03JU/CvltdYFlfyy4NmJ7G7gS24tBlKya5Z/9c8xvaF7R1CFOLBLvwdaHACUH2Xix5D350As2OI3qvcrVkVX8J5VAwSoxgi5fOn/wqHyMywy9/sO5Z5Iermzj6EIC/Xic6tSN7axcQO+uJkfKvkaNtwmvPxPMdRfGU0qFgLZS3E9iapcUqwjgP9K9SnDY6o4DXvj7NZ8QFnpbcY3Z1/4frH2g1EOUKkSBeIG/gMff6RaFccGuZiEwcXv/+Qa6X4THLLsDUO4LpBt34pcn9tMZV6c4xjSji0XjEbQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(396003)(346002)(136003)(376002)(39860400002)(46966006)(36840700001)(4326008)(7696005)(54906003)(316002)(86362001)(55016002)(83380400001)(70586007)(356005)(47076005)(36860700001)(6862004)(70206006)(9686003)(82740400003)(82310400003)(53546011)(186003)(336012)(6506007)(8936002)(33656002)(5660300002)(478600001)(2906002)(52536014)(26005)(8676002)(81166007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2021 10:17:55.4427
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 014e0165-e267-45df-f9a0-08d96c689954
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT023.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB4861

SGkgU3RlZmFubywNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBTdGVm
YW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+DQo+IFNlbnQ6IDIwMjHE6jjU
wjMxyNUgODo0OA0KPiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiB4ZW4t
ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmc7IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc7IGp1bGll
bkB4ZW4ub3JnOw0KPiBqYmV1bGljaEBzdXNlLmNvbTsgQmVydHJhbmQgTWFycXVpcyA8QmVydHJh
bmQuTWFycXVpc0Bhcm0uY29tPg0KPiBTdWJqZWN0OiBSZTogW1hFTiBSRkMgUEFUQ0ggMjQvNDBd
IHhlbi9hcm06IGludHJvZHVjZSBhIGhlbHBlciB0byBwYXJzZQ0KPiBkZXZpY2UgdHJlZSBOVU1B
IGRpc3RhbmNlIG1hcA0KPiANCj4gT24gV2VkLCAxMSBBdWcgMjAyMSwgV2VpIENoZW4gd3JvdGU6
DQo+ID4gQSBOVU1BIGF3YXJlIGRldmljZSB0cmVlIHdpbGwgcHJvdmlkZSBhICJkaXN0YW5jZS1t
YXAiIG5vZGUgdG8NCj4gPiBkZXNjcmliZSBkaXN0YW5jZSBiZXR3ZWVuIGFueSB0d28gbm9kZXMu
IFRoaXMgcGF0Y2ggaW50cm9kdWNlIGENCj4gPiBuZXcgaGVscGVyIHRvIHBhcnNlIHRoaXMgZGlz
dGFuY2UgbWFwLg0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogV2VpIENoZW4gPHdlaS5jaGVuQGFy
bS5jb20+DQo+ID4gLS0tDQo+ID4gIHhlbi9hcmNoL2FybS9udW1hX2RldmljZV90cmVlLmMgfCA2
NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gPiAgMSBmaWxlIGNoYW5nZWQs
IDY3IGluc2VydGlvbnMoKykNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vbnVt
YV9kZXZpY2VfdHJlZS5jDQo+IGIveGVuL2FyY2gvYXJtL251bWFfZGV2aWNlX3RyZWUuYw0KPiA+
IGluZGV4IGJiZTA4MWRjZDEuLjZlMGQxZDNkOWYgMTAwNjQ0DQo+ID4gLS0tIGEveGVuL2FyY2gv
YXJtL251bWFfZGV2aWNlX3RyZWUuYw0KPiA+ICsrKyBiL3hlbi9hcmNoL2FybS9udW1hX2Rldmlj
ZV90cmVlLmMNCj4gPiBAQCAtMjAwLDMgKzIwMCw3MCBAQCBkZXZpY2VfdHJlZV9wYXJzZV9udW1h
X21lbW9yeV9ub2RlKGNvbnN0IHZvaWQgKmZkdCwNCj4gaW50IG5vZGUsDQo+ID4NCj4gPiAgICAg
IHJldHVybiAwOw0KPiA+ICB9DQo+ID4gKw0KPiA+ICsvKiBQYXJzZSBOVU1BIGRpc3RhbmNlIG1h
cCB2MSAqLw0KPiA+ICtpbnQgX19pbml0DQo+ID4gK2RldmljZV90cmVlX3BhcnNlX251bWFfZGlz
dGFuY2VfbWFwX3YxKGNvbnN0IHZvaWQgKmZkdCwgaW50IG5vZGUpDQo+ID4gK3sNCj4gPiArICAg
IGNvbnN0IHN0cnVjdCBmZHRfcHJvcGVydHkgKnByb3A7DQo+ID4gKyAgICBjb25zdCBfX2JlMzIg
Km1hdHJpeDsNCj4gPiArICAgIGludCBlbnRyeV9jb3VudCwgbGVuLCBpOw0KPiA+ICsNCj4gPiAr
ICAgIHByaW50ayhYRU5MT0dfSU5GTyAiTlVNQTogcGFyc2luZyBudW1hLWRpc3RhbmNlLW1hcFxu
Iik7DQo+ID4gKw0KPiA+ICsgICAgcHJvcCA9IGZkdF9nZXRfcHJvcGVydHkoZmR0LCBub2RlLCAi
ZGlzdGFuY2UtbWF0cml4IiwgJmxlbik7DQo+ID4gKyAgICBpZiAoICFwcm9wICkNCj4gPiArICAg
IHsNCj4gPiArICAgICAgICBwcmludGsoWEVOTE9HX1dBUk5JTkcNCj4gPiArICAgICAgICAgICAg
ICAgIk5VTUE6IE5vIGRpc3RhbmNlLW1hdHJpeCBwcm9wZXJ0eSBpbiBkaXN0YW5jZS1tYXBcbiIp
Ow0KPiA+ICsNCj4gPiArICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4gPiArICAgIH0NCj4gPiAr
DQo+ID4gKyAgICBpZiAoIGxlbiAlIHNpemVvZih1aW50MzJfdCkgIT0gMCApDQo+ID4gKyAgICB7
DQo+ID4gKyAgICAgICAgcHJpbnRrKFhFTkxPR19XQVJOSU5HDQo+ID4gKyAgICAgICAgICAgICAg
ICJkaXN0YW5jZS1tYXRyaXggaW4gbm9kZSBpcyBub3QgYSBtdWx0aXBsZSBvZiB1MzJcbiIpOw0K
PiA+ICsgICAgICAgIHJldHVybiAtRUlOVkFMOw0KPiA+ICsgICAgfQ0KPiA+ICsNCj4gPiArICAg
IGVudHJ5X2NvdW50ID0gbGVuIC8gc2l6ZW9mKHVpbnQzMl90KTsNCj4gPiArICAgIGlmICggZW50
cnlfY291bnQgPD0gMCApDQo+ID4gKyAgICB7DQo+ID4gKyAgICAgICAgcHJpbnRrKFhFTkxPR19X
QVJOSU5HICJOVU1BOiBJbnZhbGlkIGRpc3RhbmNlLW1hdHJpeFxuIik7DQo+ID4gKw0KPiA+ICsg
ICAgICAgIHJldHVybiAtRUlOVkFMOw0KPiA+ICsgICAgfQ0KPiA+ICsNCj4gPiArICAgIG1hdHJp
eCA9IChjb25zdCBfX2JlMzIgKilwcm9wLT5kYXRhOw0KPiA+ICsgICAgZm9yICggaSA9IDA7IGkg
KyAyIDwgZW50cnlfY291bnQ7IGkgKz0gMyApDQo+ID4gKyAgICB7DQo+ID4gKyAgICAgICAgdWlu
dDMyX3QgZnJvbSwgdG8sIGRpc3RhbmNlOw0KPiA+ICsNCj4gPiArICAgICAgICBmcm9tID0gZHRf
cmVhZF9udW1iZXIobWF0cml4LCAxKTsNCj4gPiArICAgICAgICBtYXRyaXgrKzsNCj4gPiArICAg
ICAgICB0byA9IGR0X3JlYWRfbnVtYmVyKG1hdHJpeCwgMSk7DQo+ID4gKyAgICAgICAgbWF0cml4
Kys7DQo+ID4gKyAgICAgICAgZGlzdGFuY2UgPSBkdF9yZWFkX251bWJlcihtYXRyaXgsIDEpOw0K
PiA+ICsgICAgICAgIG1hdHJpeCsrOw0KPiA+ICsNCj4gPiArICAgICAgICBpZiAoIChmcm9tID09
IHRvICYmIGRpc3RhbmNlICE9IE5VTUFfTE9DQUxfRElTVEFOQ0UpIHx8DQo+ID4gKyAgICAgICAg
ICAgIChmcm9tICE9IHRvICYmIGRpc3RhbmNlIDw9IE5VTUFfTE9DQUxfRElTVEFOQ0UpICkNCj4g
PiArICAgICAgICB7DQo+ID4gKyAgICAgICAgICAgIHByaW50ayhYRU5MT0dfV0FSTklORw0KPiA+
ICsgICAgICAgICAgICAgICAgICAgIkludmFsaWQgbm9kZXMnIGRpc3RhbmNlIGZyb20gbm9kZSMl
ZCB0byBub2RlIyVkDQo+ID0gJWRcbiIsDQo+ID4gKyAgICAgICAgICAgICAgICAgICBmcm9tLCB0
bywgZGlzdGFuY2UpOw0KPiA+ICsgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4gPiArICAg
ICAgICB9DQo+ID4gKw0KPiA+ICsgICAgICAgIHByaW50ayhYRU5MT0dfSU5GTyAiTlVNQTogZGlz
dGFuY2UgZnJvbSBub2RlIyVkIHRvIG5vZGUjJWQNCj4gPSAlZFxuIiwNCj4gPiArICAgICAgICAg
ICAgICAgZnJvbSwgdG8sIGRpc3RhbmNlKTsNCj4gPiArICAgICAgICBudW1hX3NldF9kaXN0YW5j
ZShmcm9tLCB0bywgZGlzdGFuY2UpOw0KPiA+ICsNCj4gPiArICAgICAgICAvKiBTZXQgZGVmYXVs
dCBkaXN0YW5jZSBvZiBub2RlIEItPkEgc2FtZSBhcyBBLT5CICovDQo+ID4gKyAgICAgICAgaWYg
KHRvID4gZnJvbSkNCj4gPiArICAgICAgICAgICAgIG51bWFfc2V0X2Rpc3RhbmNlKHRvLCBmcm9t
LCBkaXN0YW5jZSk7DQo+IA0KPiBJIGFtIGEgYml0IHVuc3VyZSBhYm91dCB0aGlzIGxhc3QgMiBs
aW5lczogd2h5IGNhbGxpbmcgbnVtYV9zZXRfZGlzdGFuY2UNCj4gaW4gdGhlIG9wcG9zaXRlIGRp
cmVjdGlvbiBvbmx5IHdoZW4gdG8gPiBmcm9tPyBXb3VsZG4ndCBpdCBiZSBPSyB0bw0KPiBhbHdh
eXMgZG8gYm90aDoNCj4gDQo+IG51bWFfc2V0X2Rpc3RhbmNlKGZyb20sIHRvLCBkaXN0YW5jZSk7
DQo+IG51bWFfc2V0X2Rpc3RhbmNlKHRvLCBmcm9tLCBkaXN0YW5jZSk7DQo+IA0KPiA/DQo+IA0K
SSBib3Jyb3dlZCB0aGlzIGNvZGUgZnJvbSBMaW51eCwgYnV0IGhlcmUgaXMgbXkgdW5kZXJzdGFu
ZGluZzoNCg0KRmlyc3QsIEkgcmVhZCBzb21lIG5vdGVzIGluIERvY3VtZW50YXRpb24vZGV2aWNl
dHJlZS9iaW5kaW5ncy9udW1hLnR4dA0KMS4gRWFjaCBlbnRyeSByZXByZXNlbnRzIGRpc3RhbmNl
IGZyb20gZmlyc3Qgbm9kZSB0byBzZWNvbmQgbm9kZS4NClRoZSBkaXN0YW5jZXMgYXJlIGVxdWFs
IGluIGVpdGhlciBkaXJlY3Rpb24uDQoyLiBkaXN0YW5jZS1tYXRyaXggc2hvdWxkIGhhdmUgZW50
cmllcyBpbiBsZXhpY29ncmFwaGljYWwgYXNjZW5kaW5nDQpvcmRlciBvZiBub2Rlcy4NCg0KSGVy
ZSBpcyBhbiBleGFtcGxlIG9mIGRpc3RhbmNlLW1hcCBub2RlIGluIERUQjoNClNhbXBsZSMxLCBm
dWxsIGxpc3Q6DQoJCWRpc3RhbmNlLW1hcCB7DQoJCQkgY29tcGF0aWJsZSA9ICJudW1hLWRpc3Rh
bmNlLW1hcC12MSI7DQoJCQkgZGlzdGFuY2UtbWF0cml4ID0gPDAgMCAgMTA+LA0KCQkJCQkgICA8
MCAxICAyMD4sDQoJCQkJCSAgIDwwIDIgIDQwPiwNCgkJCQkJICAgPDAgMyAgMjA+LA0KCQkJCQkg
ICA8MSAwICAyMD4sDQoJCQkJCSAgIDwxIDEgIDEwPiwNCgkJCQkJICAgPDEgMiAgMjA+LA0KCQkJ
CQkgICA8MSAzICA0MD4sDQoJCQkJCSAgIDwyIDAgIDQwPiwNCgkJCQkJICAgPDIgMSAgMjA+LA0K
CQkJCQkgICA8MiAyICAxMD4sDQoJCQkJCSAgIDwyIDMgIDIwPiwNCgkJCQkJICAgPDMgMCAgMjA+
LA0KCQkJCQkgICA8MyAxICA0MD4sDQoJCQkJCSAgIDwzIDIgIDIwPiwNCgkJCQkJICAgPDMgMyAg
MTA+Ow0KCQl9Ow0KDQpDYWxsIG51bWFfc2V0X2Rpc3RhbmNlIHdoZW4gInRvID4gZnJvbSIgd2ls
bCBwcmV2ZW50IFhlbiB0byBjYWxsDQpudW1hX3NldF9kaXN0YW5jZSgwLCAxLCAyMCkgYWdhaW4g
d2hlbiBpdCdzIHNldHRpbmcgZGlzdGFuY2UgZm9yIDwxIDAgMjA+Lg0KQnV0LCBudW1hX3NldF9k
aXN0YW5jZSgxLCAwLCAyMCkgd2lsbCBiZSBjYWxsIHR3aWNlLg0KDQpOb3JtYWxseSwgZGlzdGFu
Y2UtbWFwIG5vZGUgd2lsbCBiZSBvcHRpbWl6ZWQgaW4gZm9sbG93aW5nIHNhbXBsZSMyLA0KYWxs
IHJlZHVuZGFudCBlbnRyaWVzIGFyZSByZW1vdmVkOg0KU2FtcGxlIzIsIHBhcnRpYWwgbGlzdDoN
CgkJZGlzdGFuY2UtbWFwIHsNCgkJCSBjb21wYXRpYmxlID0gIm51bWEtZGlzdGFuY2UtbWFwLXYx
IjsNCgkJCSBkaXN0YW5jZS1tYXRyaXggPSA8MCAwICAxMD4sDQoJCQkJCSAgIDwwIDEgIDIwPiwN
CgkJCQkJICAgPDAgMiAgNDA+LA0KCQkJCQkgICA8MCAzICAyMD4sDQoJCQkJCSAgIDwxIDEgIDEw
PiwNCgkJCQkJICAgPDEgMiAgMjA+LA0KCQkJCQkgICA8MSAzICA0MD4sDQoJCQkJCSAgIDwyIDIg
IDEwPiwNCgkJCQkJICAgPDIgMyAgMjA+LA0KCQkJCQkgICA8MyAzICAxMD47DQoJCX07DQoNClRo
ZXJlIGlzIG5vdCBhbnkgImZyb20gPiB0byIgZW50cnkgaW4gdGhlIG1hcC4gQnV0IHVzaW5nIHRo
aXMgcGFydGlhbCBtYXANCnN0aWxsIGNhbiBzZXQgYWxsIGRpc3RhbmNlcyBmb3IgYWxsIHBhaXJz
LiBBbmQgbnVtYV9zZXRfZGlzdGFuY2UoMSwgMCwgMjApDQp3aWxsIGJlIG9ubHkgb25jZS4NCg0K
DQo+IEJ1dCBpbiBhbnkgY2FzZSwgSSBoYXZlIGEgZGlmZmVyZW50IHN1Z2dlc3Rpb24uIFRoZSBi
aW5kaW5nIHN0YXRlcyB0aGF0DQo+ICJkaXN0YW5jZXMgYXJlIGVxdWFsIGluIGVpdGhlciBkaXJl
Y3Rpb24iLiBBbHNvIGl0IGhhcyBhbiBleGFtcGxlIHdoZXJlDQo+IG9ubHkgb25lIGRpcmVjdGlv
biBpcyBleHByZXNzZWQgdW5mb3J0dW5hdGVseSAoYXQgdGhlIGVuZCBvZiB0aGUNCj4gZG9jdW1l
bnQpLg0KPiANCg0KT2gsIEkgc2hvdWxkIHNlZSB0aGlzIGNvbW1lbnQgZmlyc3QsIHRoZW4gSSB3
aWxsIG5vdCBwb3N0IGFib3ZlDQpjb21tZW50IDogKQ0KDQo+IFNvIG15IHN1Z2dlc3Rpb24gaXMg
dG8gcGFyc2UgaXQgYXMgZm9sbG93czoNCj4gDQo+IC0gY2FsbCBudW1hX3NldF9kaXN0YW5jZSBq
dXN0IG9uY2UgZnJvbQ0KPiAgIGRldmljZV90cmVlX3BhcnNlX251bWFfZGlzdGFuY2VfbWFwX3Yx
DQo+IA0KPiAtIGluIG51bWFfc2V0X2Rpc3RhbmNlOg0KPiAgICAgLSBzZXQgbm9kZV9kaXN0YW5j
ZV9tYXBbZnJvbV1bdG9dID0gZGlzdGFuY2U7DQo+ICAgICAtIGNoZWNrIG5vZGVfZGlzdGFuY2Vf
bWFwW3RvXVtmcm9tXQ0KPiAgICAgICAgICAgLSBpZiB1bnNldCwgbm9kZV9kaXN0YW5jZV9tYXBb
dG9dW2Zyb21dID0gZGlzdGFuY2U7DQo+ICAgICAgICAgICAtIGlmIGFscmVhZHkgc2V0IHRvIHRo
ZSBzYW1lIHZhbHVlLCByZXR1cm4gc3VjY2VzczsNCj4gICAgICAgICAgIC0gaWYgYWxyZWFkeSBz
ZXQgdG8gYSBkaWZmZXJlbnQgdmFsdWUsIHJldHVybiBlcnJvcjsNCg0KSSBkb24ndCByZWFsbHkg
bGlrZSB0aGlzIGltcGxlbWVudGF0aW9uLiBJIHdhbnQgdGhlIGJlaGF2aW9yIG9mDQpudW1hX3Nl
dF9kaXN0YW5jZSBqdXN0IGxpa2UgdGhlIGZ1bmN0aW9uIG5hbWUsIGRvIG5vdCBpbmNsdWRlDQpp
bXBsaWNpdCBvcGVyYXRpb25zLiBPdGhlcndpc2UsIGV4Y2VwdCB0aGUgdXNlciByZWFkIHRoaXMg
ZnVuY3Rpb24NCmltcGxlbWVudGF0aW9uIGJlZm9yZSBoZSB1c2UgaXQsIGhlIHByb2JhYmx5IGRv
ZXNuJ3Qga25vdyB0aGlzDQpmdW5jdGlvbiBoYXMgZG9uZSBzbyBtYW55IHRoaW5ncy4NCg0KQ2hl
ZXJzLA0KV2VpIENoZW4NCg0K


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 10:19:49 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 10:19:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175601.319831 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL0rs-0006GL-Kx; Tue, 31 Aug 2021 10:19:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175601.319831; Tue, 31 Aug 2021 10: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 1mL0rs-0006GE-GZ; Tue, 31 Aug 2021 10:19:48 +0000
Received: by outflank-mailman (input) for mailman id 175601;
 Tue, 31 Aug 2021 10:19:47 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=06Zp=NW=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mL0rr-0006G5-2o
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 10:19:47 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com (unknown
 [40.107.13.45]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id f67529e2-0a44-11ec-ad1c-12813bfff9fa;
 Tue, 31 Aug 2021 10:19:45 +0000 (UTC)
Received: from AM6PR10CA0089.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:209:8c::30)
 by VI1PR08MB3168.eurprd08.prod.outlook.com (2603:10a6:803:49::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23; Tue, 31 Aug
 2021 10:19:43 +0000
Received: from AM5EUR03FT035.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:8c:cafe::9) by AM6PR10CA0089.outlook.office365.com
 (2603:10a6:209:8c::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.20 via Frontend
 Transport; Tue, 31 Aug 2021 10:19:43 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT035.mail.protection.outlook.com (10.152.16.119) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Tue, 31 Aug 2021 10:19:42 +0000
Received: ("Tessian outbound 19a632698c93:v103");
 Tue, 31 Aug 2021 10:19:41 +0000
Received: from eb310b875e6b.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F7CB31EB-6A89-4F47-B14B-6C276B208DE8.1; 
 Tue, 31 Aug 2021 10:19:36 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id eb310b875e6b.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 31 Aug 2021 10:19:36 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB7PR08MB3740.eurprd08.prod.outlook.com (2603:10a6:10:31::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23; Tue, 31 Aug
 2021 10:19:34 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::2c28:50cf:49fd:da32]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::2c28:50cf:49fd:da32%7]) with mapi id 15.20.4457.024; Tue, 31 Aug 2021
 10:19: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: f67529e2-0a44-11ec-ad1c-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4IKDhjHP13ikJp4Gm+eQQ6AijbsnKgH1sgcEPVXV8R4=;
 b=FhIPUnO/TkF2c/J+RCMC9cs1ZMOywRCcaM7fjVKxvVZkZ8xzduLJ3n+tKKYDZDsm/ExuJKD0abJDTnideAUY0lR0qI+rTQBE90SykJxT2fQcROqXz5wfmXyB81Lgn3aI+6oOJ/vDOFIzFAUwKmJM0Ra/EsZHXr1lXPFM3Mb7q4U=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XHfEspqa+rMsKGfAkgGjF3FQwJ+5xgY+LYjLwD0KTkjzGE/oWhfXy33AwhNDyQsN/Jy9lBVQ2UCfJML7bUiUwcVZddq79kAWxxU7U126I5IJD9rp9dp1Iqtx2CCAlIZ1r0Ut64mO+2/RRa0rCdbJzClychy9J8KG3tkknGk2ooN6CrsY1K8V9ZOH766jqsWlmb+jeAtSXmaWelxfz7nQAuD86vbwZFj4CXEpmh5oLYI/5wmEnJm3zwVWKgRdXGczQpra0e1f/7b5QyV4LdAxwyxXsf/VsUCStFPGK0uFQd8nLdip1V4wWIaQamHxO8mEFcFWI0tTrU4WKLOVgQR5Xw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4IKDhjHP13ikJp4Gm+eQQ6AijbsnKgH1sgcEPVXV8R4=;
 b=jlcADDo2uJI6TaZ7wn1+Xl/Fx7RknmCnypGsphD0r7E+Vgqu1FRWCisbx3t51LEEcSIPAm9+rZMMnE1qBG0gGKI5my93i+JXnCuUjaR52yX4M8/IuOynREpShrdjGnbTollW9gPrfWMWNYpRhV6ooao1p/2W8TsOLqgMqNB7hPG+ZXCY1Q2S8GPH2hQ0/j9cnfOFH2wzY6VBsiz3YLOcNrXOapwwjqQtnQiRLRGXOMNSr0ZGCfFQano0Cih3SjAdArzDkPl/3kZRqhcPlSiHU/4Y3BV6My4rWfN4pbgq81npRHrtdoMizlEd6ChlztbXz4Z6+3/9bpToJPAmKlu9hA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4IKDhjHP13ikJp4Gm+eQQ6AijbsnKgH1sgcEPVXV8R4=;
 b=FhIPUnO/TkF2c/J+RCMC9cs1ZMOywRCcaM7fjVKxvVZkZ8xzduLJ3n+tKKYDZDsm/ExuJKD0abJDTnideAUY0lR0qI+rTQBE90SykJxT2fQcROqXz5wfmXyB81Lgn3aI+6oOJ/vDOFIzFAUwKmJM0Ra/EsZHXr1lXPFM3Mb7q4U=
From: Wei Chen <Wei.Chen@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"julien@xen.org" <julien@xen.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 28/40] xen/x86: decouple nodes_cover_memory with
 E820 map
Thread-Topic: [XEN RFC PATCH 28/40] xen/x86: decouple nodes_cover_memory with
 E820 map
Thread-Index: AQHXjptHSBshcE01bUa1mLwvQ77KFKuM6/qAgACaDsA=
Date: Tue, 31 Aug 2021 10:19:33 +0000
Message-ID:
 <DB9PR08MB6857BACB4E29FA0894903B749ECC9@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-29-wei.chen@arm.com>
 <alpine.DEB.2.21.2108301807020.17851@sstabellini-ThinkPad-T480s>
In-Reply-To: <alpine.DEB.2.21.2108301807020.17851@sstabellini-ThinkPad-T480s>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 1D087D1CABBDE24F94434825956B2F93.0
x-checkrecipientchecked: true
Authentication-Results-Original: kernel.org; dkim=none (message not signed)
 header.d=none;kernel.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 2b706e4e-abfe-4c32-8d68-08d96c68d926
x-ms-traffictypediagnostic: DB7PR08MB3740:|VI1PR08MB3168:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<VI1PR08MB3168B317164E5A5F270676779ECC9@VI1PR08MB3168.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:6430;OLM:6430;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 MrcoHNb/fkT18fCaMkLeCKoDdC4ZxJMQP4zn6/JHAv4bPoiYBPjOzJfN1/DL26sd5EK12SCcMrnbVIfM/5MdVtyyOdDNqKlQo9lNfjRgsMVXGOO6sgdLoo5fwAif6MjWWZ9Uesa1u8q7+5DNpUshz/kJ6WvcxvG/MRPYBPWveQne+jgP37VC1pHv7jnkBmxoR/cdCgDRKwuWeiPZGINtvuRLx/zOcexA+C/gXVer7ZSR+w5dbehrH6gh9p7L+/Ent6ulHXq7XIhvJNamIngZeQ9BBwmzDjDw3o/4qqOwcOvL8qDFHGx0budtflzHoenTqGJ6zpvLXQTBbS+OzL7DakDj1W8+vGJTmNdvtY2Q5sT6DI6TrlYLazLjSNUp9YZa7qsohxK1piZV6Q4wvPGy7reD6pkXdwaUMMJC6R97KTxzOWgn5A5Xm3GqbEpMnuOOciXUtq3WOJBwjZdtZz3umTwB/MJ0vjvWw1HxB0z/DOL6roY95zmIU/nl/blWvYXb9e4BsDKsU7aP3vLKI6Ljg4BQGTM7UF3GSECKGboif73YU7pacfcvbCsxZ0gz+zLtzzt0nc7QirrGpCtlYsSK9XiV62SvwVpg08ZtG0VtJSquEilbVh5lrW6iNdysvtoroKBd/VE2j7QHDktriOz1aNkLIGIjNGnxU6+HN4L7/6yZiIwnJFqqhOIkHRrBLVTQlE4zNYSCUwRMdGkrG6NbRw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(136003)(39860400002)(346002)(376002)(366004)(396003)(52536014)(8676002)(2906002)(66556008)(7696005)(4326008)(66446008)(122000001)(64756008)(9686003)(478600001)(76116006)(8936002)(71200400001)(26005)(38070700005)(316002)(66946007)(55016002)(186003)(33656002)(38100700002)(54906003)(53546011)(86362001)(6506007)(66476007)(5660300002)(6916009)(83380400001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?gb2312?B?UC9hdGx2NWpTcFhNdzFONHJ0ZkU3T3YzYTViVTBhMFhabWEyTFZNdi9uTjZC?=
 =?gb2312?B?eFcvaFczdTFjbDEzZXpRUURoK3hIZVJHM1FXOVFxaGhDWHFRWm5tVkxZc0xl?=
 =?gb2312?B?ZzVMZFhtanVHeld0S2JjdkRaQjE3QTV3eWR2K1hMTmk1ZnJyblFRZmprSWR1?=
 =?gb2312?B?SG5LT0IzMmRlQ3ZYYVJxK3JtZ0l1RTRHUVFHL1hFUXMraDZmazhESmE0VGJn?=
 =?gb2312?B?ZUdxR0VtL3lwMWJWWHJzKzdHZkhiSGVoRE9sdWNHQWc2TVBLTWlyTEEvb3Rk?=
 =?gb2312?B?UG9WM3J0eEYzM3dXT3Y0OHR6Qk5id0l4MkJCd0grL1F2RDJnTFVBaXV1UEUv?=
 =?gb2312?B?OEJPdXA4UGJteEtLR1BnYjJCcnYxZGsxUjdmZUhrOEFkUUxjc0lRMGQrWXlE?=
 =?gb2312?B?c2x0dUxoYXB0bXNjN3BWaitTbjRpaUY1TmhmTGhNMVhrTVZuQlpDUlhuRUE1?=
 =?gb2312?B?eU5OZG0wQ3ozNnhkenBZdDJES3FvV053MTdMSm1jQmZ4VThscXVTMm9DOEtt?=
 =?gb2312?B?Zlp1bmJmc0tZdFlxU2RKYXFnZzBrMkIwdGRlNERXdW0vR0JPQzBDWWVaSWEw?=
 =?gb2312?B?ZW0yR3htMHdiYm9OZkI1SjJ5TEpScVVZd2phcHNtWlJwV1liWll6aHNqeHNH?=
 =?gb2312?B?Z1FKSDJvWXpzUkhiWkxWbUd6RkRHMitic1FNNGJNbFVJcHVSY2M0NFNESzMy?=
 =?gb2312?B?c3ZjOXBmcDlCWjIzbjVSK0JJQ01pNHBDTHphOEFyZEMxRis2SktrQ2ZQdWxS?=
 =?gb2312?B?c21RK1pvcDNDUUQ4V1ZpcEhWOGZlcGxVR0NJQWJPY2IzWXBSMDhUaFZHVlFm?=
 =?gb2312?B?Y0tteGVqWjVZMVQzVzIvMDlqUW1pQThZMHFETTUvcFhqeWJKYUwwbzUxLzBO?=
 =?gb2312?B?cXlUbUgwKzJUc1NSc1RWZFFoa0dhOXFyRUJ2dUNySjBMTkpvWEY5UUd0ZTFG?=
 =?gb2312?B?MlNwOEM2SXFOMkg0WEw4amwvNnJva2VITlMvck1mKzhmTi9EZi9Ka2REWjVF?=
 =?gb2312?B?ZTZSdWUxbUtJZElHVEFpbFhHdnNpMVM2OVErU2JnSzBLQWxxRGZYMy9hS0VD?=
 =?gb2312?B?bkw4MktRVjN0eU5Bb2pFN1MwZ0FzbDVwclY2ZUxmSm5hcmVvaFM4VHk0d1Jx?=
 =?gb2312?B?dHFoeUNRZnhjM2NzU1ZqaERmNnpyYmNYOXEzaS9sbWsrMjFCb0tFZjUvQ1JI?=
 =?gb2312?B?REpDNXBQa1pKR0pCNzhzcHl3NlFabjdOYnp5aCt6eXpva3YyekRkQWw0am5t?=
 =?gb2312?B?YkVSMXhJdVU2RVB2cEdrS29mQXZkcUV5cDNFMXlOQWJnLyt6dzlwM0MzNFVM?=
 =?gb2312?B?TGFFSWJRbDk3MS9TbmplNzY1Z1ZkQ1BYcjRjOCs1OHR1eEJRUG1zZ1FTK2lv?=
 =?gb2312?B?ZnovMUUzMTZmL1U1Rk5BbHZwS3V2MDFxK1I0QlM3Si84T3YrREZnYlgrVE1W?=
 =?gb2312?B?N0JSNUtSVDgxT1Q2cE4wenVydHFQNnhyRXlwUEhXaCsxNlhFeHNJS2x2bFJl?=
 =?gb2312?B?eW1VaXlsWmxYVFJycFoyTTZyaUg2QzF6bDhUYThzYXQ1RDNaU0pPMWlKYWdM?=
 =?gb2312?B?dVNyaXJjOFVBaVQ4WmFuaFBxcG9pUUdCUTROdzJiN3d2b25acHFYamR1SW5F?=
 =?gb2312?B?MjRMMmM3TXphdHdraGJDN1ZSSjN0eGoxTk9iQ2xkTnhmT2dCWjNHY29yb0Fy?=
 =?gb2312?B?NjlpQzlZTGhnS29jeW9zSk0wYkZvV1VIbHFnL1RtbzA2YUFWNGRBVlVZbDRK?=
 =?gb2312?Q?piSpDJpB6mZ2AwJfOvCEoZhxakTIGUA6+BTdJyY?=
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3740
Original-Authentication-Results: kernel.org; dkim=none (message not signed)
 header.d=none;kernel.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT035.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	ac37b085-9cd0-4bdb-9821-08d96c68d41a
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	pazrgdHVHtz6Ci7HfGfaDpfpUm37kDBxAnhwPRp5KPbKSlrrgs/zPxlcnvmwAmN3hpmIqN6GYf7ESSxxCVqjMWpdSm4AofM0UwTR8Te2/TBlwCnv4LKZqlyhckgIcp8461DBlq6wwvRfzrYkrev1KuTebxX57VD7ywnv5nQqWwifH2uZJPizDIc6X5YGxRjJAMJowJU2CKEB/sdBEA6ZiVwq+AvFZ1izzur6BRClOjoaZ9zYUzWOro8gyJDbyU3ZRfskRDNrHEh1aij9HIQBBg94ohAy7xHoP3sUI592osj8fTenQ10/u2PiawQfOrF85CrovJVL/E2T0C7GYPt5tqY9OaXqbnkGVjH5BBSO6j7Ol+gvNtLkaprmYURQUpx8rr4/IR57PiWa3QFvgqsNps9fQfy9kKJ5EwdWkORN4/uFo5O/fVDnjtnbq9H8y2gcrYkCR4Si0s0F8dHbeD6/pPP/zxxCXuYOyoYVCOQ8yG+UMT3Bq15aYrIbaygkbyxdWNjz5SwemXAWO/it/Cr1AX1i+gTyhUpn89JEuFHreB0/dlskpxgudlIB5v5jtgeIX3O+4Bd0MJ9VY7VCw/rUYFb93bfjNe/aMOQ9v4l938y/FykINsibzG+rGDMsNlZOwiUWkW9KPkAaqKTg3jqn2k0RvsK226pcVK5RCQfmvLnyIZMTdg/c4QMALplZx8dgPRgEiS76VF3q6E1eYxQkPA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(376002)(396003)(346002)(136003)(39860400002)(36840700001)(46966006)(6506007)(81166007)(55016002)(33656002)(8676002)(52536014)(7696005)(478600001)(54906003)(8936002)(53546011)(9686003)(70206006)(336012)(26005)(6862004)(82740400003)(186003)(356005)(47076005)(36860700001)(4326008)(82310400003)(316002)(2906002)(70586007)(86362001)(5660300002)(83380400001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2021 10:19:42.4637
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2b706e4e-abfe-4c32-8d68-08d96c68d926
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT035.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3168

SGkgU3RlZmFubywNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBTdGVm
YW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+DQo+IFNlbnQ6IDIwMjHE6jjU
wjMxyNUgOTowOA0KPiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiB4ZW4t
ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmc7IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc7IGp1bGll
bkB4ZW4ub3JnOw0KPiBqYmV1bGljaEBzdXNlLmNvbTsgQmVydHJhbmQgTWFycXVpcyA8QmVydHJh
bmQuTWFycXVpc0Bhcm0uY29tPg0KPiBTdWJqZWN0OiBSZTogW1hFTiBSRkMgUEFUQ0ggMjgvNDBd
IHhlbi94ODY6IGRlY291cGxlIG5vZGVzX2NvdmVyX21lbW9yeQ0KPiB3aXRoIEU4MjAgbWFwDQo+
IA0KPiBPbiBXZWQsIDExIEF1ZyAyMDIxLCBXZWkgQ2hlbiB3cm90ZToNCj4gPiBXZSB3aWxsIHJl
dXNlIG5vZGVzX2NvdmVyX21lbW9yeSBmb3IgQXJtIHRvIGNoZWNrIGl0cyBib290bWVtDQo+ID4g
aW5mby4gU28gd2UgaW50cm9kdWNlIHR3byBhcmNoIGhlbHBlcnMgdG8gZ2V0IG1lbW9yeSBtYXAn
cw0KPiA+IGVudHJ5IG51bWJlciBhbmQgc3BlY2lmaWVkIGVudHJ5J3MgcmFuZ2U6DQo+ID4gICAg
IGFyY2hfZ2V0X21lbW9yeV9iYW5rX251bWJlcg0KPiA+ICAgICBhcmNoX2dldF9tZW1vcnlfYmFu
a19yYW5nZQ0KPiA+DQo+ID4gRGVwZW5kcyBhYm92ZSB0d28gaGVscGVycywgd2UgbWFrZSBub2Rl
c19jb3Zlcl9tZW1vcnkgYmVjb21lDQo+ID4gYXJjaGl0ZWN0dXJlIGluZGVwZW5kZW50Lg0KPiAN
Cj4gWW91IG1pZ2h0IHdhbnQgdG8gbm90ZSB0aGF0IHRoZSBvbmx5IGNoYW5nZSBmcm9tIGFuIHg4
NiBwZXJzcGVjdGl2ZSBpcw0KPiB0aGUgYWRkaXRpb25hbCBjaGVja3M6DQo+IA0KPiAgICFzdGFy
dCB8fCAhZW5kDQo+IA0KDQpUaGFua3MsIEkgd2lsbCBhZGQgaXQuDQoNCj4gDQo+ID4gU2lnbmVk
LW9mZi1ieTogV2VpIENoZW4gPHdlaS5jaGVuQGFybS5jb20+DQo+ID4gLS0tDQo+ID4gIHhlbi9h
cmNoL3g4Ni9udW1hLmMgICAgfCAxOCArKysrKysrKysrKysrKysrKysNCj4gPiAgeGVuL2FyY2gv
eDg2L3NyYXQuYyAgICB8ICA4ICsrKy0tLS0tDQo+ID4gIHhlbi9pbmNsdWRlL3hlbi9udW1hLmgg
fCAgNCArKysrDQo+ID4gIDMgZmlsZXMgY2hhbmdlZCwgMjUgaW5zZXJ0aW9ucygrKSwgNSBkZWxl
dGlvbnMoLSkNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbnVtYS5jIGIveGVu
L2FyY2gveDg2L251bWEuYw0KPiA+IGluZGV4IDY5MDg3MzgzMDUuLjhiNDNiZTRhYTcgMTAwNjQ0
DQo+ID4gLS0tIGEveGVuL2FyY2gveDg2L251bWEuYw0KPiA+ICsrKyBiL3hlbi9hcmNoL3g4Ni9u
dW1hLmMNCj4gPiBAQCAtMTI4LDYgKzEyOCwyNCBAQCB1bnNpZ25lZCBpbnQgX19pbml0IGFyY2hf
Z2V0X2RtYV9iaXRzaXplKHZvaWQpDQo+ID4gICAgICAgICAgICAgICAgICAgKyBQQUdFX1NISUZU
LCAzMik7DQo+ID4gIH0NCj4gPg0KPiA+ICt1aW50MzJfdCBfX2luaXQgYXJjaF9tZW1pbmZvX2dl
dF9ucl9iYW5rKHZvaWQpDQo+ID4gK3sNCj4gPiArCXJldHVybiBlODIwLm5yX21hcDsNCj4gPiAr
fQ0KPiA+ICsNCj4gPiAraW50IF9faW5pdCBhcmNoX21lbWluZm9fZ2V0X3JhbV9iYW5rX3Jhbmdl
KGludCBiYW5rLA0KPiA+ICsJdW5zaWduZWQgbG9uZyBsb25nICpzdGFydCwgdW5zaWduZWQgbG9u
ZyBsb25nICplbmQpDQo+ID4gK3sNCj4gPiArCWlmIChlODIwLm1hcFtiYW5rXS50eXBlICE9IEU4
MjBfUkFNIHx8ICFzdGFydCB8fCAhZW5kKSB7DQo+ID4gKwkJcmV0dXJuIC0xOw0KPiA+ICsJfQ0K
PiA+ICsNCj4gPiArCSpzdGFydCA9IGU4MjAubWFwW2JhbmtdLmFkZHI7DQo+ID4gKwkqZW5kID0g
ZTgyMC5tYXBbYmFua10uYWRkciArIGU4MjAubWFwW2JhbmtdLnNpemU7DQo+ID4gKw0KPiA+ICsJ
cmV0dXJuIDA7DQo+ID4gK30NCj4gPiArDQo+ID4gIHN0YXRpYyB2b2lkIGR1bXBfbnVtYSh1bnNp
Z25lZCBjaGFyIGtleSkNCj4gPiAgew0KPiA+ICAgICAgc190aW1lX3Qgbm93ID0gTk9XKCk7DQo+
ID4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9zcmF0LmMgYi94ZW4vYXJjaC94ODYvc3JhdC5j
DQo+ID4gaW5kZXggNmQ2OGI4YTYxNC4uMjI5ODM1Mzg0NiAxMDA2NDQNCj4gPiAtLS0gYS94ZW4v
YXJjaC94ODYvc3JhdC5jDQo+ID4gKysrIGIveGVuL2FyY2gveDg2L3NyYXQuYw0KPiA+IEBAIC0z
MTYsMTggKzMxNiwxNiBAQCBhY3BpX251bWFfbWVtb3J5X2FmZmluaXR5X2luaXQoY29uc3Qgc3Ry
dWN0DQo+IGFjcGlfc3JhdF9tZW1fYWZmaW5pdHkgKm1hKQ0KPiA+ICBzdGF0aWMgaW50IF9faW5p
dCBub2Rlc19jb3Zlcl9tZW1vcnkodm9pZCkNCj4gPiAgew0KPiA+ICAJaW50IGk7DQo+ID4gKwl1
aW50MzJfdCBucl9iYW5rcyA9IGFyY2hfbWVtaW5mb19nZXRfbnJfYmFuaygpOw0KPiA+DQo+ID4g
LQlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgew0KPiA+ICsJZm9yIChpID0gMDsg
aSA8IG5yX2JhbmtzOyBpKyspIHsNCj4gPiAgCQlpbnQgaiwgZm91bmQ7DQo+ID4gIAkJdW5zaWdu
ZWQgbG9uZyBsb25nIHN0YXJ0LCBlbmQ7DQo+ID4NCj4gPiAtCQlpZiAoZTgyMC5tYXBbaV0udHlw
ZSAhPSBFODIwX1JBTSkgew0KPiA+ICsJCWlmIChhcmNoX21lbWluZm9fZ2V0X3JhbV9iYW5rX3Jh
bmdlKGksICZzdGFydCwgJmVuZCkpIHsNCj4gPiAgCQkJY29udGludWU7DQo+ID4gIAkJfQ0KPiA+
DQo+ID4gLQkJc3RhcnQgPSBlODIwLm1hcFtpXS5hZGRyOw0KPiA+IC0JCWVuZCA9IGU4MjAubWFw
W2ldLmFkZHIgKyBlODIwLm1hcFtpXS5zaXplOw0KPiA+IC0NCj4gPiAgCQlkbyB7DQo+ID4gIAkJ
CWZvdW5kID0gMDsNCj4gPiAgCQkJZm9yX2VhY2hfbm9kZV9tYXNrKGosIG1lbW9yeV9ub2Rlc19w
YXJzZWQpDQo+ID4gZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9udW1hLmggYi94ZW4vaW5j
bHVkZS94ZW4vbnVtYS5oDQo+ID4gaW5kZXggMDQ3NTgyM2IxMy4uNmQxODA1OWJjZCAxMDA2NDQN
Cj4gPiAtLS0gYS94ZW4vaW5jbHVkZS94ZW4vbnVtYS5oDQo+ID4gKysrIGIveGVuL2luY2x1ZGUv
eGVuL251bWEuaA0KPiA+IEBAIC04OSw2ICs4OSwxMCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgY2xl
YXJfbm9kZV9jcHVtYXNrKGludCBjcHUpDQo+ID4gIAljcHVtYXNrX2NsZWFyX2NwdShjcHUsICZu
b2RlX3RvX2NwdW1hc2tbY3B1X3RvX25vZGUoY3B1KV0pOw0KPiA+ICB9DQo+ID4NCj4gPiArZXh0
ZXJuIHVpbnQzMl90IGFyY2hfbWVtaW5mb19nZXRfbnJfYmFuayh2b2lkKTsNCj4gPiArZXh0ZXJu
IGludCBhcmNoX21lbWluZm9fZ2V0X3JhbV9iYW5rX3JhbmdlKGludCBiYW5rLA0KPiA+ICsgICAg
dW5zaWduZWQgbG9uZyBsb25nICpzdGFydCwgdW5zaWduZWQgbG9uZyBsb25nICplbmQpOw0KPiA+
ICsNCj4gPiAgI2VuZGlmIC8qIENPTkZJR19OVU1BICovDQo+ID4NCj4gPiAgI2VuZGlmIC8qIF9Y
RU5fTlVNQV9IICovDQo+ID4gLS0NCj4gPiAyLjI1LjENCj4gPg0K


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 10:29:12 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 10:29:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175607.319841 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL10u-0007t7-Ge; Tue, 31 Aug 2021 10:29:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175607.319841; Tue, 31 Aug 2021 10: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 1mL10u-0007t0-Dh; Tue, 31 Aug 2021 10:29:08 +0000
Received: by outflank-mailman (input) for mailman id 175607;
 Tue, 31 Aug 2021 10:29:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mL10s-0007su-NW
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 10:29:06 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mL10s-0003Qk-Kb
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 10:29:06 +0000
Received: from iwj (helo=mariner.uk.xensource.com)
 by xenbits.xenproject.org with local-bsmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mL10s-0007yP-JQ
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 10:29:06 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.89)
 (envelope-from <iwj@xenproject.org>)
 id 1mL10n-0004yj-LN; Tue, 31 Aug 2021 11:29:01 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Subject:CC:To:Date:Message-ID:
	Content-Transfer-Encoding:Content-Type:MIME-Version:From;
	bh=37UsOb1XHoPxYG9ArdJjELr2xXmueuwsjfJ3tYrYWlI=; b=pLg/kmYmvZQ0n69eBHuh3CpbSw
	f/Ybqaote7sqN6/20YVZFQfJgChm18d9x2himTFcZ3GyDIQwlYo5E6+fuHllJ6us6pIJkHXqCmT7C
	KIF59mzorVXXAH1R2DN5OIjMYPLjgal6Gnkca2IvZXWBHgLwljH1AU3yHVlehU242sVs=;
From: Ian Jackson <iwj@xenproject.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <24878.1133.402035.705283@mariner.uk.xensource.com>
Date: Tue, 31 Aug 2021 11:29:01 +0100
To: Jan Beulich <jbeulich@suse.com>
CC: security@xenproject.org,
    xen-devel@lists.xenproject.org
Subject: 4.13..4.15 testing suspended pending XSA-378 fixes
X-Mailer: VM 8.2.0b under 24.5.1 (i686-pc-linux-gnu)

I had the following irc conversation with Jan.  I wanted to make a record
(in particular, to refer to from the stop files in osstest):

09:36 <jbeulich> Diziet: To give osstest some relief, and to also have fixes 
                 for the XSA-378 fallout have a faster path to an eventual push 
                 (provided they get reviewed / agreed upon), could you please
09:37 <jbeulich> - put the OVMF backport also on 4.11 (which ought to allow 
                 that branch to get a push)
09:37 <jbeulich> - suspend testing on 4.13-4.15 for the time being?
10:46 <@Diziet> jbeulich: I pushed the ovmf fix.  Let me look at the current 
                flights
10:50 <@Diziet> Your point about the XSA fallout fixes is that you would like 
                to have osstest testing putative fixes promptly ?
11:01 <jbeulich> Yes. With all the other branches also getting continuously 
                 tested, the latency for unstable flights to complete is quite 
                 high.
11:02 <jbeulich> And an initial set of fixes has been posted.
11:27 <@Diziet> Done.  I've cancelled one not-yet-started but doomed 4.14 
                flight too


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 10:29:26 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 10:29:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175608.319853 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL11B-0008HG-QY; Tue, 31 Aug 2021 10:29:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175608.319853; Tue, 31 Aug 2021 10:29:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL11B-0008H9-Mk; Tue, 31 Aug 2021 10:29:25 +0000
Received: by outflank-mailman (input) for mailman id 175608;
 Tue, 31 Aug 2021 10:29: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 1mL11A-0008Gl-QN; Tue, 31 Aug 2021 10:29: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 1mL11A-0003Qz-Kj; Tue, 31 Aug 2021 10:29: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 1mL11A-0002ok-A0; Tue, 31 Aug 2021 10:29:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mL11A-0002qF-9V; Tue, 31 Aug 2021 10: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=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=tbxEBu4LYho21zJtZSH1vYLP2VsS+c+7lwfW6bAtk58=; b=GBxt48j/Zwy+IaAzETIYNnOD/w
	7kZnoGxqNnrNSpSsbXoW7Bt6W9gq1C/a/B3uhoWKL/bGWGSiA8NyDzW/PuycV5rs3dA8RWp18sd+u
	haAVW5GuPZtRLOPyIZlijkybghYqhxQGFtxj/Aj5xCzh15PGsK/ZAuAWXqpK+XWOWbjw=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164678-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.14-testing test] 164678: trouble: pass/preparing/queued/running
X-Osstest-Failures:
    xen-4.14-testing:test-amd64-i386-xl-pvshim:<none executed>:queued:regression
    xen-4.14-testing:test-amd64-i386-xl-qemut-debianhvm-amd64:<none executed>:queued:regression
    xen-4.14-testing:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:<none executed>:queued:regression
    xen-4.14-testing:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:<none executed>:queued:regression
    xen-4.14-testing:test-amd64-i386-xl-qemut-win7-amd64:<none executed>:queued:regression
    xen-4.14-testing:test-amd64-i386-xl-qemut-ws16-amd64:<none executed>:queued:regression
    xen-4.14-testing:test-amd64-i386-xl-qemuu-debianhvm-amd64:<none executed>:queued:regression
    xen-4.14-testing:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:<none executed>:queued:regression
    xen-4.14-testing:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:<none executed>:queued:regression
    xen-4.14-testing:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:<none executed>:queued:regression
    xen-4.14-testing:test-amd64-i386-xl-qemuu-ovmf-amd64:<none executed>:queued:regression
    xen-4.14-testing:test-amd64-i386-xl-raw:<none executed>:queued:regression
    xen-4.14-testing:test-amd64-i386-xl-shadow:<none executed>:queued:regression
    xen-4.14-testing:test-amd64-i386-xl-xsm:<none executed>:queued:regression
    xen-4.14-testing:test-armhf-armhf-libvirt:<none executed>:queued:regression
    xen-4.14-testing:test-armhf-armhf-libvirt-raw:<none executed>:queued:regression
    xen-4.14-testing:test-armhf-armhf-xl:<none executed>:queued:regression
    xen-4.14-testing:test-armhf-armhf-xl-arndale:<none executed>:queued:regression
    xen-4.14-testing:test-armhf-armhf-xl-credit1:<none executed>:queued:regression
    xen-4.14-testing:test-armhf-armhf-xl-credit2:<none executed>:queued:regression
    xen-4.14-testing:test-armhf-armhf-xl-cubietruck:<none executed>:queued:regression
    xen-4.14-testing:test-armhf-armhf-xl-multivcpu:<none executed>:queued:regression
    xen-4.14-testing:test-armhf-armhf-xl-rtds:<none executed>:queued:regression
    xen-4.14-testing:build-armhf-libvirt:<none executed>:queued:regression
    xen-4.14-testing:build-i386-libvirt:<none executed>:queued:regression
    xen-4.14-testing:test-amd64-i386-xl-qemuu-win7-amd64:<none executed>:queued:regression
    xen-4.14-testing:test-amd64-i386-xl-qemuu-ws16-amd64:<none executed>:queued:regression
    xen-4.14-testing:test-amd64-coresched-i386-xl:<none executed>:queued:regression
    xen-4.14-testing:test-amd64-i386-freebsd10-amd64:<none executed>:queued:regression
    xen-4.14-testing:test-amd64-i386-freebsd10-i386:<none executed>:queued:regression
    xen-4.14-testing:test-amd64-i386-libvirt:<none executed>:queued:regression
    xen-4.14-testing:test-amd64-i386-libvirt-pair:<none executed>:queued:regression
    xen-4.14-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:<none executed>:queued:regression
    xen-4.14-testing:test-amd64-i386-libvirt-xsm:<none executed>:queued:regression
    xen-4.14-testing:test-amd64-i386-livepatch:<none executed>:queued:regression
    xen-4.14-testing:test-amd64-i386-migrupgrade:<none executed>:queued:regression
    xen-4.14-testing:test-amd64-i386-pair:<none executed>:queued:regression
    xen-4.14-testing:test-amd64-i386-qemut-rhel6hvm-amd:<none executed>:queued:regression
    xen-4.14-testing:test-amd64-i386-qemut-rhel6hvm-intel:<none executed>:queued:regression
    xen-4.14-testing:test-amd64-i386-qemuu-rhel6hvm-amd:<none executed>:queued:regression
    xen-4.14-testing:test-amd64-i386-qemuu-rhel6hvm-intel:<none executed>:queued:regression
    xen-4.14-testing:test-amd64-i386-xl:<none executed>:queued:regression
    xen-4.14-testing:test-armhf-armhf-xl-vhd:<none executed>:queued:regression
    xen-4.14-testing:test-amd64-amd64-dom0pvh-xl-amd:hosts-allocate:running:regression
    xen-4.14-testing:test-amd64-amd64-dom0pvh-xl-intel:hosts-allocate:running:regression
    xen-4.14-testing:test-amd64-amd64-libvirt:hosts-allocate:running:regression
    xen-4.14-testing:build-i386:hosts-allocate:running:regression
    xen-4.14-testing:build-i386-xsm:hosts-allocate:running:regression
    xen-4.14-testing:test-xtf-amd64-amd64-3:hosts-allocate:running:regression
    xen-4.14-testing:build-i386-prev:hosts-allocate:running:regression
    xen-4.14-testing:test-arm64-arm64-xl-xsm:hosts-allocate:running:regression
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:hosts-allocate:running:regression
    xen-4.14-testing:test-amd64-amd64-libvirt-vhd:hosts-allocate:running:regression
    xen-4.14-testing:test-amd64-amd64-libvirt-xsm:hosts-allocate:running:regression
    xen-4.14-testing:test-xtf-amd64-amd64-2:hosts-allocate:running:regression
    xen-4.14-testing:test-xtf-amd64-amd64-5:hosts-allocate:running:regression
    xen-4.14-testing:test-amd64-coresched-amd64-xl:hosts-allocate:running:regression
    xen-4.14-testing:test-amd64-amd64-xl-xsm:hosts-allocate:running:regression
    xen-4.14-testing:test-amd64-amd64-xl-rtds:hosts-allocate:running:regression
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-win7-amd64:hosts-allocate:running:regression
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:hosts-allocate:running:regression
    xen-4.14-testing:test-amd64-amd64-xl:hosts-allocate:running:regression
    xen-4.14-testing:test-amd64-amd64-qemuu-nested-intel:hosts-allocate:running:regression
    xen-4.14-testing:test-amd64-amd64-pygrub:hosts-allocate:running:regression
    xen-4.14-testing:test-xtf-amd64-amd64-1:hosts-allocate:running:regression
    xen-4.14-testing:test-amd64-amd64-xl-shadow:hosts-allocate:running:regression
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:hosts-allocate:running:regression
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:hosts-allocate:running:regression
    xen-4.14-testing:test-amd64-amd64-xl-qemut-win7-amd64:hosts-allocate:running:regression
    xen-4.14-testing:test-amd64-amd64-xl-pvshim:hosts-allocate:running:regression
    xen-4.14-testing:test-amd64-amd64-xl-pvhv2-amd:hosts-allocate:running:regression
    xen-4.14-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:hosts-allocate:running:regression
    xen-4.14-testing:test-amd64-amd64-livepatch:hosts-allocate:running:regression
    xen-4.14-testing:test-amd64-amd64-libvirt-pair:hosts-allocate:running:regression
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64:hosts-allocate:running:regression
    xen-4.14-testing:test-amd64-amd64-xl-qemut-ws16-amd64:hosts-allocate:running:regression
    xen-4.14-testing:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:hosts-allocate:running:regression
    xen-4.14-testing:test-amd64-amd64-xl-qemut-debianhvm-amd64:hosts-allocate:running:regression
    xen-4.14-testing:test-amd64-amd64-qemuu-freebsd11-amd64:hosts-allocate:running:regression
    xen-4.14-testing:test-amd64-amd64-migrupgrade:hosts-allocate:running:regression
    xen-4.14-testing:test-amd64-amd64-pair:hosts-allocate:running:regression
    xen-4.14-testing:build-i386-pvops:hosts-allocate:running:regression
    xen-4.14-testing:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:hosts-allocate:running:regression
    xen-4.14-testing:test-amd64-amd64-qemuu-nested-amd:hosts-allocate:running:regression
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:hosts-allocate:running:regression
    xen-4.14-testing:test-amd64-amd64-xl-qcow2:hosts-allocate:running:regression
    xen-4.14-testing:test-amd64-amd64-xl-pvhv2-intel:hosts-allocate:running:regression
    xen-4.14-testing:test-amd64-amd64-xl-multivcpu:hosts-allocate:running:regression
    xen-4.14-testing:test-amd64-amd64-xl-credit2:hosts-allocate:running:regression
    xen-4.14-testing:test-amd64-amd64-xl-credit1:hosts-allocate:running:regression
    xen-4.14-testing:test-amd64-amd64-qemuu-freebsd12-amd64:hosts-allocate:running:regression
    xen-4.14-testing:test-xtf-amd64-amd64-4:hosts-allocate:running:regression
    xen-4.14-testing:test-arm64-arm64-xl-credit2:guest-start/debian.repeat:running:regression
    xen-4.14-testing:test-arm64-arm64-xl:syslog-server:running:regression
    xen-4.14-testing:test-arm64-arm64-xl:capture-logs(22):running:regression
    xen-4.14-testing:test-arm64-arm64-xl-credit2:syslog-server:running:regression
    xen-4.14-testing:build-armhf:syslog-server:running:regression
    xen-4.14-testing:build-armhf:xen-build:running:regression
    xen-4.14-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=74e93071826fe3aaab32e469280a3253a39147f6
X-Osstest-Versions-That:
    xen=49299c4813b7847d29df07bf790f5489060f2a9c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 31 Aug 2021 10:29:24 +0000

flight 164678 xen-4.14-testing running [real]
http://logs.test-lab.xenproject.org/osstest/logs/164678/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-pvshim       <none executed>              queued
 test-amd64-i386-xl-qemut-debianhvm-amd64    <none executed>             queued
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm    <none executed>          queued
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm    <none executed> queued
 test-amd64-i386-xl-qemut-win7-amd64    <none executed>              queued
 test-amd64-i386-xl-qemut-ws16-amd64    <none executed>              queued
 test-amd64-i386-xl-qemuu-debianhvm-amd64    <none executed>             queued
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow    <none executed>      queued
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm    <none executed>          queued
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict    <none executed> queued
 test-amd64-i386-xl-qemuu-ovmf-amd64    <none executed>              queued
 test-amd64-i386-xl-raw          <none executed>              queued
 test-amd64-i386-xl-shadow       <none executed>              queued
 test-amd64-i386-xl-xsm          <none executed>              queued
 test-armhf-armhf-libvirt        <none executed>              queued
 test-armhf-armhf-libvirt-raw    <none executed>              queued
 test-armhf-armhf-xl             <none executed>              queued
 test-armhf-armhf-xl-arndale     <none executed>              queued
 test-armhf-armhf-xl-credit1     <none executed>              queued
 test-armhf-armhf-xl-credit2     <none executed>              queued
 test-armhf-armhf-xl-cubietruck    <none executed>              queued
 test-armhf-armhf-xl-multivcpu    <none executed>              queued
 test-armhf-armhf-xl-rtds        <none executed>              queued
 build-armhf-libvirt             <none executed>              queued
 build-i386-libvirt              <none executed>              queued
 test-amd64-i386-xl-qemuu-win7-amd64    <none executed>              queued
 test-amd64-i386-xl-qemuu-ws16-amd64    <none executed>              queued
 test-amd64-coresched-i386-xl    <none executed>              queued
 test-amd64-i386-freebsd10-amd64    <none executed>              queued
 test-amd64-i386-freebsd10-i386    <none executed>              queued
 test-amd64-i386-libvirt         <none executed>              queued
 test-amd64-i386-libvirt-pair    <none executed>              queued
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm    <none executed>    queued
 test-amd64-i386-libvirt-xsm     <none executed>              queued
 test-amd64-i386-livepatch       <none executed>              queued
 test-amd64-i386-migrupgrade     <none executed>              queued
 test-amd64-i386-pair            <none executed>              queued
 test-amd64-i386-qemut-rhel6hvm-amd    <none executed>              queued
 test-amd64-i386-qemut-rhel6hvm-intel    <none executed>              queued
 test-amd64-i386-qemuu-rhel6hvm-amd    <none executed>              queued
 test-amd64-i386-qemuu-rhel6hvm-intel    <none executed>              queued
 test-amd64-i386-xl              <none executed>              queued
 test-armhf-armhf-xl-vhd         <none executed>              queued
 test-amd64-amd64-dom0pvh-xl-amd  3 hosts-allocate               running
 test-amd64-amd64-dom0pvh-xl-intel  3 hosts-allocate               running
 test-amd64-amd64-libvirt      3 hosts-allocate               running
 build-i386                    2 hosts-allocate               running
 build-i386-xsm                2 hosts-allocate               running
 test-xtf-amd64-amd64-3        3 hosts-allocate               running
 build-i386-prev               2 hosts-allocate               running
 test-arm64-arm64-xl-xsm       3 hosts-allocate               running
 test-amd64-amd64-xl-qemuu-ws16-amd64  3 hosts-allocate               running
 test-amd64-amd64-libvirt-vhd  3 hosts-allocate               running
 test-amd64-amd64-libvirt-xsm  3 hosts-allocate               running
 test-xtf-amd64-amd64-2        3 hosts-allocate               running
 test-xtf-amd64-amd64-5        3 hosts-allocate               running
 test-amd64-coresched-amd64-xl  3 hosts-allocate               running
 test-amd64-amd64-xl-xsm       3 hosts-allocate               running
 test-amd64-amd64-xl-rtds      3 hosts-allocate               running
 test-amd64-amd64-xl-qemuu-win7-amd64  3 hosts-allocate               running
 test-amd64-amd64-xl-qemuu-ovmf-amd64  3 hosts-allocate               running
 test-amd64-amd64-xl           3 hosts-allocate               running
 test-amd64-amd64-qemuu-nested-intel  3 hosts-allocate               running
 test-amd64-amd64-pygrub       3 hosts-allocate               running
 test-xtf-amd64-amd64-1        3 hosts-allocate               running
 test-amd64-amd64-xl-shadow    3 hosts-allocate               running
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 3 hosts-allocate running
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  3 hosts-allocate         running
 test-amd64-amd64-xl-qemut-win7-amd64  3 hosts-allocate               running
 test-amd64-amd64-xl-pvshim    3 hosts-allocate               running
 test-amd64-amd64-xl-pvhv2-amd  3 hosts-allocate               running
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm  3 hosts-allocate   running
 test-amd64-amd64-livepatch    3 hosts-allocate               running
 test-amd64-amd64-libvirt-pair  4 hosts-allocate               running
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  3 hosts-allocate            running
 test-amd64-amd64-xl-qemut-ws16-amd64  3 hosts-allocate               running
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  3 hosts-allocate         running
 test-amd64-amd64-xl-qemut-debianhvm-amd64  3 hosts-allocate            running
 test-amd64-amd64-qemuu-freebsd11-amd64  3 hosts-allocate               running
 test-amd64-amd64-migrupgrade  4 hosts-allocate               running
 test-amd64-amd64-pair         4 hosts-allocate               running
 build-i386-pvops              2 hosts-allocate               running
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 3 hosts-allocate running
 test-amd64-amd64-qemuu-nested-amd  3 hosts-allocate               running
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow  3 hosts-allocate     running
 test-amd64-amd64-xl-qcow2     3 hosts-allocate               running
 test-amd64-amd64-xl-pvhv2-intel  3 hosts-allocate               running
 test-amd64-amd64-xl-multivcpu  3 hosts-allocate               running
 test-amd64-amd64-xl-credit2   3 hosts-allocate               running
 test-amd64-amd64-xl-credit1   3 hosts-allocate               running
 test-amd64-amd64-qemuu-freebsd12-amd64  3 hosts-allocate               running
 test-xtf-amd64-amd64-4        3 hosts-allocate               running
 test-arm64-arm64-xl-credit2  18 guest-start/debian.repeat    running
 test-arm64-arm64-xl           4 syslog-server                running
 test-arm64-arm64-xl          22 capture-logs(22)             running
 test-arm64-arm64-xl-credit2   4 syslog-server                running
 build-armhf                   3 syslog-server                running
 build-armhf                   6 xen-build                    running

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-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

version targeted for testing:
 xen                  74e93071826fe3aaab32e469280a3253a39147f6
baseline version:
 xen                  49299c4813b7847d29df07bf790f5489060f2a9c

Last test of basis   163750  2021-07-16 21:07:40 Z   45 days
Failing since        164261  2021-08-19 17:07:29 Z   11 days    8 attempts
Testing same since   164493  2021-08-25 22:08:55 Z    5 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Dario Faggioli <dfaggioli@suse.com>
  Ian Jackson <iwj@xenproject.org>
  Jan Beulich <jbeulich@suse.com>
  Jane Malalane <jane.malalane@citrix.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Stefano Stabellini <sstabellini@kernel.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               preparing
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  running 
 build-i386                                                   preparing
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          queued  
 build-i386-libvirt                                           queued  
 build-amd64-prev                                             pass    
 build-i386-prev                                              preparing
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             preparing
 test-xtf-amd64-amd64-1                                       preparing
 test-xtf-amd64-amd64-2                                       preparing
 test-xtf-amd64-amd64-3                                       preparing
 test-xtf-amd64-amd64-4                                       preparing
 test-xtf-amd64-amd64-5                                       preparing
 test-amd64-amd64-xl                                          preparing
 test-amd64-coresched-amd64-xl                                preparing
 test-arm64-arm64-xl                                          running 
 test-armhf-armhf-xl                                          queued  
 test-amd64-i386-xl                                           queued  
 test-amd64-coresched-i386-xl                                 queued  
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           preparing
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            queued  
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        preparing
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         queued  
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 preparing
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  queued  
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 preparing
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  queued  
 test-amd64-amd64-libvirt-xsm                                 preparing
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  queued  
 test-amd64-amd64-xl-xsm                                      preparing
 test-arm64-arm64-xl-xsm                                      preparing
 test-amd64-i386-xl-xsm                                       queued  
 test-amd64-amd64-qemuu-nested-amd                            preparing
 test-amd64-amd64-xl-pvhv2-amd                                preparing
 test-amd64-i386-qemut-rhel6hvm-amd                           queued  
 test-amd64-i386-qemuu-rhel6hvm-amd                           queued  
 test-amd64-amd64-dom0pvh-xl-amd                              preparing
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    preparing
 test-amd64-i386-xl-qemut-debianhvm-amd64                     queued  
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    preparing
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     queued  
 test-amd64-i386-freebsd10-amd64                              queued  
 test-amd64-amd64-qemuu-freebsd11-amd64                       preparing
 test-amd64-amd64-qemuu-freebsd12-amd64                       preparing
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         preparing
 test-amd64-i386-xl-qemuu-ovmf-amd64                          queued  
 test-amd64-amd64-xl-qemut-win7-amd64                         preparing
 test-amd64-i386-xl-qemut-win7-amd64                          queued  
 test-amd64-amd64-xl-qemuu-win7-amd64                         preparing
 test-amd64-i386-xl-qemuu-win7-amd64                          queued  
 test-amd64-amd64-xl-qemut-ws16-amd64                         preparing
 test-amd64-i386-xl-qemut-ws16-amd64                          queued  
 test-amd64-amd64-xl-qemuu-ws16-amd64                         preparing
 test-amd64-i386-xl-qemuu-ws16-amd64                          queued  
 test-armhf-armhf-xl-arndale                                  queued  
 test-amd64-amd64-xl-credit1                                  preparing
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  queued  
 test-amd64-amd64-xl-credit2                                  preparing
 test-arm64-arm64-xl-credit2                                  running 
 test-armhf-armhf-xl-credit2                                  queued  
 test-armhf-armhf-xl-cubietruck                               queued  
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        preparing
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         queued  
 test-amd64-i386-freebsd10-i386                               queued  
 test-amd64-amd64-qemuu-nested-intel                          preparing
 test-amd64-amd64-xl-pvhv2-intel                              preparing
 test-amd64-i386-qemut-rhel6hvm-intel                         queued  
 test-amd64-i386-qemuu-rhel6hvm-intel                         queued  
 test-amd64-amd64-dom0pvh-xl-intel                            preparing
 test-amd64-amd64-libvirt                                     preparing
 test-armhf-armhf-libvirt                                     queued  
 test-amd64-i386-libvirt                                      queued  
 test-amd64-amd64-livepatch                                   preparing
 test-amd64-i386-livepatch                                    queued  
 test-amd64-amd64-migrupgrade                                 preparing
 test-amd64-i386-migrupgrade                                  queued  
 test-amd64-amd64-xl-multivcpu                                preparing
 test-armhf-armhf-xl-multivcpu                                queued  
 test-amd64-amd64-pair                                        preparing
 test-amd64-i386-pair                                         queued  
 test-amd64-amd64-libvirt-pair                                preparing
 test-amd64-i386-libvirt-pair                                 queued  
 test-amd64-amd64-xl-pvshim                                   preparing
 test-amd64-i386-xl-pvshim                                    queued  
 test-amd64-amd64-pygrub                                      preparing
 test-amd64-amd64-xl-qcow2                                    preparing
 test-armhf-armhf-libvirt-raw                                 queued  
 test-amd64-i386-xl-raw                                       queued  
 test-amd64-amd64-xl-rtds                                     preparing
 test-armhf-armhf-xl-rtds                                     queued  
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             preparing
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              queued  
 test-amd64-amd64-xl-shadow                                   preparing
 test-amd64-i386-xl-shadow                                    queued  
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 preparing
 test-armhf-armhf-xl-vhd                                      queued  


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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-xl-pvshim queued
broken-job test-amd64-i386-xl-qemut-debianhvm-amd64 queued
broken-job test-amd64-i386-xl-qemut-debianhvm-i386-xsm queued
broken-job test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm queued
broken-job test-amd64-i386-xl-qemut-win7-amd64 queued
broken-job test-amd64-i386-xl-qemut-ws16-amd64 queued
broken-job test-amd64-i386-xl-qemuu-debianhvm-amd64 queued
broken-job test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow queued
broken-job test-amd64-i386-xl-qemuu-debianhvm-i386-xsm queued
broken-job test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict queued
broken-job test-amd64-i386-xl-qemuu-ovmf-amd64 queued
broken-job test-amd64-i386-xl-raw queued
broken-job test-amd64-i386-xl-shadow queued
broken-job test-amd64-i386-xl-xsm queued
broken-job test-armhf-armhf-libvirt queued
broken-job test-armhf-armhf-libvirt-raw queued
broken-job test-armhf-armhf-xl queued
broken-job test-armhf-armhf-xl-arndale queued
broken-job test-armhf-armhf-xl-credit1 queued
broken-job test-armhf-armhf-xl-credit2 queued
broken-job test-armhf-armhf-xl-cubietruck queued
broken-job test-armhf-armhf-xl-multivcpu queued
broken-job test-armhf-armhf-xl-rtds queued
broken-job build-armhf-libvirt queued
broken-job build-i386-libvirt queued
broken-job test-amd64-i386-xl-qemuu-win7-amd64 queued
broken-job test-amd64-i386-xl-qemuu-ws16-amd64 queued
broken-job test-amd64-coresched-i386-xl queued
broken-job test-amd64-i386-freebsd10-amd64 queued
broken-job test-amd64-i386-freebsd10-i386 queued
broken-job test-amd64-i386-libvirt queued
broken-job test-amd64-i386-libvirt-pair queued
broken-job test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm queued
broken-job test-amd64-i386-libvirt-xsm queued
broken-job test-amd64-i386-livepatch queued
broken-job test-amd64-i386-migrupgrade queued
broken-job test-amd64-i386-pair queued
broken-job test-amd64-i386-qemut-rhel6hvm-amd queued
broken-job test-amd64-i386-qemut-rhel6hvm-intel queued
broken-job test-amd64-i386-qemuu-rhel6hvm-amd queued
broken-job test-amd64-i386-qemuu-rhel6hvm-intel queued
broken-job test-amd64-i386-xl queued
broken-job test-armhf-armhf-xl-vhd queued

Not pushing.

(No revision log; it would be 607 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 12:11:56 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 12:11:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175639.319875 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL2c5-0003XS-Pw; Tue, 31 Aug 2021 12:11:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175639.319875; Tue, 31 Aug 2021 12: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 1mL2c5-0003XL-Mh; Tue, 31 Aug 2021 12:11:37 +0000
Received: by outflank-mailman (input) for mailman id 175639;
 Tue, 31 Aug 2021 12:11:36 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=DmOZ=NW=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mL2c4-0003XF-FS
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 12:11:36 +0000
Received: from smtp-out1.suse.de (unknown [195.135.220.28])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c86eaa3e-8cd0-482b-8a58-408e923d5425;
 Tue, 31 Aug 2021 12:11:35 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 7669422207;
 Tue, 31 Aug 2021 12:11:34 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 4E92813A92;
 Tue, 31 Aug 2021 12:11:34 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id 62qoEXYcLmFHFwAAGKfGzw
 (envelope-from <jgross@suse.com>); Tue, 31 Aug 2021 12:11: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: c86eaa3e-8cd0-482b-8a58-408e923d5425
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1630411894; 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=R+CH6Q3ND6PnPKtJqyoCLsgEWNqDQCQZu02+HKiuObI=;
	b=WrP46RQLJXSnAQS99xfrrq+4QJAMK2oHhijL9iWQ+oEBQJ+b/phdXyGlAbIICMFLM7YHNx
	K2EgN6XpGG5kwwk0n1VEjspoCm+JQaJGzexxnZDTEVZPIUj5Mf6nhw48RObkA+dOarXgQT
	d+GVUug3/dzICo/oBdlyNtpaYCGqWv4=
Subject: Re: [PATCH v3 2/2] tools/xenstore: set open file descriptor limit for
 xenstored
To: Julien Grall <julien@xen.org>, Ian Jackson <iwj@xenproject.org>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>
References: <20210730122643.2043-1-jgross@suse.com>
 <20210730122643.2043-3-jgross@suse.com>
 <24836.28.655841.510063@mariner.uk.xensource.com>
 <81a39ab5-5588-65ad-f1a1-7bfe0379b394@xen.org>
From: Juergen Gross <jgross@suse.com>
Message-ID: <6ced9858-d425-887c-0045-1aad8521b826@suse.com>
Date: Tue, 31 Aug 2021 14:11:33 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <81a39ab5-5588-65ad-f1a1-7bfe0379b394@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="HVkL9xdgQoawHeG8fcamFbiAjz0OGcnu6"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--HVkL9xdgQoawHeG8fcamFbiAjz0OGcnu6
Content-Type: multipart/mixed; boundary="GRQLmLJrPYqpxtHlOdGF8zNvesGDcTjUd";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, Ian Jackson <iwj@xenproject.org>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>
Message-ID: <6ced9858-d425-887c-0045-1aad8521b826@suse.com>
Subject: Re: [PATCH v3 2/2] tools/xenstore: set open file descriptor limit for
 xenstored
References: <20210730122643.2043-1-jgross@suse.com>
 <20210730122643.2043-3-jgross@suse.com>
 <24836.28.655841.510063@mariner.uk.xensource.com>
 <81a39ab5-5588-65ad-f1a1-7bfe0379b394@xen.org>
In-Reply-To: <81a39ab5-5588-65ad-f1a1-7bfe0379b394@xen.org>

--GRQLmLJrPYqpxtHlOdGF8zNvesGDcTjUd
Content-Type: multipart/mixed;
 boundary="------------724E9162CF2512FDF0DA8D0A"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------724E9162CF2512FDF0DA8D0A
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 30.07.21 19:14, Julien Grall wrote:
> Hi Ian,
>=20
> On 30/07/2021 14:35, Ian Jackson wrote:
>> Juergen Gross writes ("[PATCH v3 2/2] tools/xenstore: set open file=20
>> descriptor limit for xenstored"):
>>> Add a configuration item for the maximum number of domains xenstored
>>> should support and set the limit of open file descriptors accordingly=
=2E
>>>
>>> For HVM domains there are up to 5 socket connections per domain (2 by=

>>> the xl daemon process, and 3 by qemu). So set the ulimit for xenstore=
d
>>> to 5 * XENSTORED_MAX_DOMAINS + 100 (the "+ 100" is for some headroom,=

>>> like logging, event channel device, etc.).
>> ...
>>> +## Type: integer
>>> +## Default: 32768
>>> +#
>>> +# Select maximum number of domains supported by xenstored.
>>> +# Only evaluated if XENSTORETYPE is "daemon".
>>> +#XENSTORED_MAX_N_DOMAINS=3D32768
>>
>> I approve of doing something about the fd limit.=C2=A0 I have some qua=
lms
>> about the documentation.
>>
>> The documentation doesn't say what happens if this limit is exceeded.
>> Also the default of 32758 suggests that we actually support that many
>> domains.=C2=A0 I don't think we do...
>>
>> I didn't find anything in SUPPORT.md about how many guests we support
>> but I wouldn't want this setting here to imply full support for 32768
>> domains.
>>
>> If you don't want to tackle this can of works, maybe add this:
>>
>> =C2=A0=C2=A0 # This just controls some resource limits for xenstored; =
if the
>> =C2=A0=C2=A0 # limit is exceeded, xenstored will stop being able to fu=
nction
>> =C2=A0=C2=A0 # properly for additional guests.=C2=A0 The default value=
 is so large
>> =C2=A0=C2=A0 # that it won't be exceeded in a supported configuration,=
 but
>> =C2=A0=C2=A0 # should not be taken to mean that the whole Xen system i=
s
>> =C2=A0=C2=A0 # guaranteed to work properly with that many guests.
>>
>> Julien, did you ask for this to be made configurable ?=C2=A0 Having wr=
itten
>> the text above, I wonder if it wouldn't just be better to
>> unconditionally set it to "unlimited" rather than offering footgun
>> dressed up like a tuneable...
>=20
> So in v1 (see [1]), Juergen wanted to raise the limit. I assumed this=20
> meant that the default limit (configured by the system may not be enoug=
h).
>=20
> I felt this was wrong to impose an higher limit on everyone when an=20
> admin may know the maximum number of domains.
>=20
> By "unlimited", do you mean the calling "ulimit" (or whatever is used=20
> for configuring FDs) with unlimited?
>=20
> If so, I would be OK with that. My main was was to move the raising the=
=20
> limit outside Xenstored because:
>  =C2=A01) This is easier for an admin to tweak it (in particular the OO=
M)
>  =C2=A02) It feels wrong to me that the daemon chose the limits
>  =C2=A03) An admin can enforce it

Coming back to this series, I'm puzzled now.

Julien, you didn't want me to raise the limit to a specific number
covering the maximum possible number of domains, because you thought
this might result in xenstored hogging huge numbers of file descriptors
in case of a bug. Why is unlimited better then? This will make the
possible number even larger.

I'd really like to know how to come to an acceptable end result soon.
Right now the max number of domains supported by xenstored is just
limited by an arbitrary system wide limit.


Juergen

--------------724E9162CF2512FDF0DA8D0A
Content-Type: application/pgp-keys;
 name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Transfer-Encoding: quoted-printable
Content-Description: OpenPGP public key
Content-Disposition: attachment;
 filename="OpenPGP_0xB0DE9DD628BF132F.asc"

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOBy=
cWx
w3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJvedYm8O=
f8Z
d621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y=
9bf
IhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xq=
G7/
377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR=
3Jv
c3MgPGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsEFgIDA=
QIe
AQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4FUGNQH2lvWAUy+dnyT=
hpw
dtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3TyevpB0CA3dbBQp0OW0fgCetToGIQrg0=
MbD
1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbv=
oPH
Z8SlM4KWm8rG+lIkGurqqu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v=
5QL
+qHI3EIPtyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVyZ=
2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJCAcDAgEGFQgCC=
QoL
BBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4RF7HoZhPVPogNVbC4YA6lW7Dr=
Wf0
teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz78X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC=
/nu
AFVGy+67q2DH8As3KPu0344TBDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0Lh=
ITT
d9jLzdDad1pQSToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLm=
XBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkMnQfvUewRz=
80h
SnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMBAgAjBQJTjHDXAhsDBwsJC=
AcD
AgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJn=
FOX
gMLdBQgBlVPO3/D9R8LtF9DBAFPNhlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1=
jnD
kfJZr6jrbjgyoZHiw/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0=
N51
N5JfVRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwPOoE+l=
otu
fe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK/1xMI3/+8jbO0tsn1=
tqS
EUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuZGU+wsB5BBMBAgAjBQJTjHDrA=
hsD
BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3=
g3O
ZUEBmDHVVbqMtzwlmNC4k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5=
dM7
wRqzgJpJwK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu5=
D+j
LRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzBTNh30FVKK1Evm=
V2x
AKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37IoN1EblHI//x/e2AaIHpzK5h88N=
Eaw
QsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpW=
nHI
s98ndPUDpnoxWQugJ6MpMncr0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZR=
wgn
BC5mVM6JjQ5xDk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNV=
bVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mmwe0icXKLk=
pEd
IXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0Iv3OOImwTEe4co3c1mwARA=
QAB
wsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMvQ/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEw=
Tbe
8YFsw2V/Buv6Z4Mysln3nQK5ZadD534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1=
vJz
Q1fOU8lYFpZXTXIHb+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8=
VGi
wXvTyJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqcsuylW=
svi
uGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5BjR/i1DG86lem3iBDX=
zXs
ZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------724E9162CF2512FDF0DA8D0A--

--GRQLmLJrPYqpxtHlOdGF8zNvesGDcTjUd--

--HVkL9xdgQoawHeG8fcamFbiAjz0OGcnu6
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmEuHHUFAwAAAAAACgkQsN6d1ii/Ey+B
vQf/QTwsV43jbPgT4eOgw4/pnpeGe8/s0JvEHhhXAuSRyqlKnxPRXv2FU+U/sQgfejvaEpU6gC+y
dRSQQyD3768RRaOdmxom1TvZ1pRjLGT/uKXwXkQMeo+P0MBGNou5TFSp3BTQCseagdTwhAdDj6z2
L370sgRaxO0raQoHD0eiPavVoRmOlGzqMNowlyagydpBKX4ADXU6cJv0KZiQJpsvaSxKIT3gANOr
V1UutLoOktsy2pY+nMLNyxQ2Y8YwCR/KgGnJ5xSIezmhGgVjKQSHkCjuAT/7lWtMsJfCtwJNZToI
whghYNbY4PHt0K7ZUcoNcY4/oGISPdST7WKUNPgpNQ==
=jTK0
-----END PGP SIGNATURE-----

--HVkL9xdgQoawHeG8fcamFbiAjz0OGcnu6--


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 12:20:28 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 12:20:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175645.319885 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL2ka-0004xA-Lc; Tue, 31 Aug 2021 12:20:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175645.319885; Tue, 31 Aug 2021 12: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 1mL2ka-0004x3-Ib; Tue, 31 Aug 2021 12:20:24 +0000
Received: by outflank-mailman (input) for mailman id 175645;
 Tue, 31 Aug 2021 12:20:23 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=DmOZ=NW=suse.com=jgross@srs-us1.protection.inumbo.net>)
 id 1mL2kZ-0004wx-Qi
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 12:20:23 +0000
Received: from smtp-out2.suse.de (unknown [195.135.220.29])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id d001f40a-0a55-11ec-ad2c-12813bfff9fa;
 Tue, 31 Aug 2021 12:20:22 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_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 BAC631FE79;
 Tue, 31 Aug 2021 12:20:21 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 8982213A96;
 Tue, 31 Aug 2021 12:20:21 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id FdI8H4UeLmF7GQAAGKfGzw
 (envelope-from <jgross@suse.com>); Tue, 31 Aug 2021 12:20: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: d001f40a-0a55-11ec-ad2c-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1630412421; 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=GJs/zWQ9xPKijKeT8UtJYEkZ5wLgdjRLUVhJTh9XaIk=;
	b=oz/OTo1TdzCWV3QYnjoDHoyGlysmZb23xBluIpB/lXiqFJCUze5Cto9j2oi2gLzCy4emGa
	LvFIjCEtTnfBA4nqUndiWXxrJxFNI/zqspC5ns2zekDy18+12LYlCwA8YmDZmSKqkSB9ES
	Z1opkg3t06Q+VbXnERwUOh0lK49NAn8=
To: Ian Jackson <iwj@xenproject.org>
Cc: xen-devel@lists.xenproject.org, julien@xen.org, Wei Liu <wl@xen.org>
References: <20210730122643.2043-1-jgross@suse.com>
 <20210730122643.2043-2-jgross@suse.com>
 <24835.65010.870849.479582@mariner.uk.xensource.com>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH v3 1/2] tools/xenstore: set oom score for xenstore daemon
 on Linux
Message-ID: <1f079107-4685-aa68-bed1-867b23e1fd32@suse.com>
Date: Tue, 31 Aug 2021 14:20:20 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <24835.65010.870849.479582@mariner.uk.xensource.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="fvsErY0wAxUfSlGzRYWxfpeK7IApnSaZW"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--fvsErY0wAxUfSlGzRYWxfpeK7IApnSaZW
Content-Type: multipart/mixed; boundary="T36jqQuDzOEpdHI4fu3TGzflwZU3P3hJB";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Ian Jackson <iwj@xenproject.org>
Cc: xen-devel@lists.xenproject.org, julien@xen.org, Wei Liu <wl@xen.org>
Message-ID: <1f079107-4685-aa68-bed1-867b23e1fd32@suse.com>
Subject: Re: [PATCH v3 1/2] tools/xenstore: set oom score for xenstore daemon
 on Linux
References: <20210730122643.2043-1-jgross@suse.com>
 <20210730122643.2043-2-jgross@suse.com>
 <24835.65010.870849.479582@mariner.uk.xensource.com>
In-Reply-To: <24835.65010.870849.479582@mariner.uk.xensource.com>

--T36jqQuDzOEpdHI4fu3TGzflwZU3P3hJB
Content-Type: multipart/mixed;
 boundary="------------24FC35AE9B9A532AC1371638"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------24FC35AE9B9A532AC1371638
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 30.07.21 15:26, Ian Jackson wrote:
> Juergen Gross writes ("[PATCH v3 1/2] tools/xenstore: set oom score for=
 xenstore daemon on Linux"):
>> Xenstored is absolutely mandatory for a Xen host and it can't be
>> restarted, so being killed by OOM-killer in case of memory shortage is=

>> to be avoided.
>>
>> Set /proc/$pid/oom_score_adj (if available) per default to -500 (this
>> translates to 50% of dom0 memory size) in order to allow xenstored to
>> use large amounts of memory without being killed.
> ...
>> +## Type: integer
>> +## Default: 50
>> +#
>> +# Percentage of dom0 memory size the xenstore daemon can use before t=
he
>> +# OOM killer is allowed to kill it.
>> +#XENSTORED_OOM_MEM_THRESHOLD=3D50
>> +
>>   ## Type: string
>>   ## Default: @LIBEXEC@/boot/xenstore-stubdom.gz
>=20
> Thanks for working on this.  I approve of the principle.
>=20
> I have one question about detail:
>=20
>>   	}
>> +	[ -z "$XENSTORED_OOM_MEM_THRESHOLD" ] || XENSTORED_OOM_MEM_THRESHOLD=
=3D50
>> +	XS_OOM_SCORE=3D-$(($XENSTORED_OOM_MEM_THRESHOLD * 10))
>> +
>> +	rm -f @XEN_RUN_DIR@/xenstored.pid
> ...
>> +	XS_PID=3D`cat @XEN_RUN_DIR@/xenstored.pid`
>> +	echo $XS_OOM_SCORE >/proc/$XS_PID/oom_score_adj
>=20
> The effect of all this is that the value specified in
> XENSTORED_OOM_MEM_THRESHOLD is transformed before being echoed into
> /proc, by being multiplied by -10.

Yes.

> Of course an alternative would be to ask the user to specify the
> tuneable directly but given its rather more obscure semantics I think
> it is reasonable to have this done by the script.

Correct. Otherwise the user would need to know about the oom_score_adj
ABI.

> But maybe we could add something to the doc comment ?
>=20
> Eg
>    # (The specified value is multiplied by -10 and echoed into
>    # /proc/PID/oom_score_adj.)
>=20
> ?

Why? This is an internal implementation detail. I don't see why the
user needs to know how this is accomplished. What is unclear with the
XENSTORED_OOM_MEM_THRESHOLD semantics as described?

There is no other parameter with an explanation how it's semantics are
being accomplished.


Juergen

--------------24FC35AE9B9A532AC1371638
Content-Type: application/pgp-keys;
 name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Transfer-Encoding: quoted-printable
Content-Description: OpenPGP public key
Content-Disposition: attachment;
 filename="OpenPGP_0xB0DE9DD628BF132F.asc"

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOBy=
cWx
w3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJvedYm8O=
f8Z
d621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y=
9bf
IhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xq=
G7/
377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR=
3Jv
c3MgPGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsEFgIDA=
QIe
AQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4FUGNQH2lvWAUy+dnyT=
hpw
dtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3TyevpB0CA3dbBQp0OW0fgCetToGIQrg0=
MbD
1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbv=
oPH
Z8SlM4KWm8rG+lIkGurqqu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v=
5QL
+qHI3EIPtyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVyZ=
2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJCAcDAgEGFQgCC=
QoL
BBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4RF7HoZhPVPogNVbC4YA6lW7Dr=
Wf0
teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz78X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC=
/nu
AFVGy+67q2DH8As3KPu0344TBDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0Lh=
ITT
d9jLzdDad1pQSToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLm=
XBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkMnQfvUewRz=
80h
SnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMBAgAjBQJTjHDXAhsDBwsJC=
AcD
AgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJn=
FOX
gMLdBQgBlVPO3/D9R8LtF9DBAFPNhlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1=
jnD
kfJZr6jrbjgyoZHiw/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0=
N51
N5JfVRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwPOoE+l=
otu
fe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK/1xMI3/+8jbO0tsn1=
tqS
EUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuZGU+wsB5BBMBAgAjBQJTjHDrA=
hsD
BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3=
g3O
ZUEBmDHVVbqMtzwlmNC4k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5=
dM7
wRqzgJpJwK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu5=
D+j
LRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzBTNh30FVKK1Evm=
V2x
AKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37IoN1EblHI//x/e2AaIHpzK5h88N=
Eaw
QsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpW=
nHI
s98ndPUDpnoxWQugJ6MpMncr0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZR=
wgn
BC5mVM6JjQ5xDk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNV=
bVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mmwe0icXKLk=
pEd
IXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0Iv3OOImwTEe4co3c1mwARA=
QAB
wsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMvQ/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEw=
Tbe
8YFsw2V/Buv6Z4Mysln3nQK5ZadD534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1=
vJz
Q1fOU8lYFpZXTXIHb+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8=
VGi
wXvTyJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqcsuylW=
svi
uGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5BjR/i1DG86lem3iBDX=
zXs
ZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------24FC35AE9B9A532AC1371638--

--T36jqQuDzOEpdHI4fu3TGzflwZU3P3hJB--

--fvsErY0wAxUfSlGzRYWxfpeK7IApnSaZW
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmEuHoQFAwAAAAAACgkQsN6d1ii/Ey9d
cwgAlvxnfgiezxaf2G9TuSTYY4fEPUClI/PvAEFcSqc0+mCmgvt+1W77NcgRfdIZlwY9VpNagQva
0mNC8WMxWsXnXudZPB51pIY1doGKd7osLB9VF6qMtAgxfy4HDpWhOMvpZJU2Pv0h4sj76Z6rOmX/
41nTb6kVk1WNW9nVX+NRcT0Ro/H9XzeC2BoCCW9MqGdsVjGvj9ak59AcoNzCmWyDyftL7ipVgXRl
cBbLSUYhrEBJuNmgW6p7yhuY+DXegUF8VmYc1SAi8tv3R9ExQNU2gEcCR3Uws5rhFViOsa1XJiVn
PBMpsO1JzwhTWJL3hI2FQ6hwi2jGAsDKn9z6TZS/3A==
=q+YB
-----END PGP SIGNATURE-----

--fvsErY0wAxUfSlGzRYWxfpeK7IApnSaZW--


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 12:30:30 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 12:30:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175651.319897 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL2uE-0006YO-Mi; Tue, 31 Aug 2021 12:30:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175651.319897; Tue, 31 Aug 2021 12:30:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL2uE-0006YH-Hc; Tue, 31 Aug 2021 12:30:22 +0000
Received: by outflank-mailman (input) for mailman id 175651;
 Tue, 31 Aug 2021 12:30: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 1mL2uD-0006YB-Jf
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 12:30: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 1mL2uC-0005W0-BU; Tue, 31 Aug 2021 12:30:20 +0000
Received: from [54.239.6.185] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mL2uC-0002ji-52; Tue, 31 Aug 2021 12:30: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:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=PivWykOJJJsuu+hCcF3sLO5j2kRFAoB7VaiJJ90v7fA=; b=SCiN8TUIFdH/7DjbUozTE/Iwa5
	NxBmk2SPuQJPspJV+ysnk87ASKnVR/dH/9phPEZz4QwrJRjnKGSK0UIXmMuLo9/6DKA0JfsB2cJuM
	Py9o2/unr0MKhXoSxCjHfYUFQI1zKxDX2Kvg026r0V5rc7Hu2jrpCC4u5XdcvZoCjlVQ=;
Subject: Re: [PATCH v3 2/2] tools/xenstore: set open file descriptor limit for
 xenstored
To: Juergen Gross <jgross@suse.com>, Ian Jackson <iwj@xenproject.org>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>
References: <20210730122643.2043-1-jgross@suse.com>
 <20210730122643.2043-3-jgross@suse.com>
 <24836.28.655841.510063@mariner.uk.xensource.com>
 <81a39ab5-5588-65ad-f1a1-7bfe0379b394@xen.org>
 <6ced9858-d425-887c-0045-1aad8521b826@suse.com>
From: Julien Grall <julien@xen.org>
Message-ID: <c0a6bb5a-3bd8-b1cf-9973-7a95b347befc@xen.org>
Date: Tue, 31 Aug 2021 13:30:18 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <6ced9858-d425-887c-0045-1aad8521b826@suse.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit

Hi Juergen,

On 31/08/2021 13:11, Juergen Gross wrote:
> On 30.07.21 19:14, Julien Grall wrote:
>> Hi Ian,
>>
>> On 30/07/2021 14:35, Ian Jackson wrote:
>>> Juergen Gross writes ("[PATCH v3 2/2] tools/xenstore: set open file 
>>> descriptor limit for xenstored"):
>>>> Add a configuration item for the maximum number of domains xenstored
>>>> should support and set the limit of open file descriptors accordingly.
>>>>
>>>> For HVM domains there are up to 5 socket connections per domain (2 by
>>>> the xl daemon process, and 3 by qemu). So set the ulimit for xenstored
>>>> to 5 * XENSTORED_MAX_DOMAINS + 100 (the "+ 100" is for some headroom,
>>>> like logging, event channel device, etc.).
>>> ...
>>>> +## Type: integer
>>>> +## Default: 32768
>>>> +#
>>>> +# Select maximum number of domains supported by xenstored.
>>>> +# Only evaluated if XENSTORETYPE is "daemon".
>>>> +#XENSTORED_MAX_N_DOMAINS=32768
>>>
>>> I approve of doing something about the fd limit.  I have some qualms
>>> about the documentation.
>>>
>>> The documentation doesn't say what happens if this limit is exceeded.
>>> Also the default of 32758 suggests that we actually support that many
>>> domains.  I don't think we do...
>>>
>>> I didn't find anything in SUPPORT.md about how many guests we support
>>> but I wouldn't want this setting here to imply full support for 32768
>>> domains.
>>>
>>> If you don't want to tackle this can of works, maybe add this:
>>>
>>>    # This just controls some resource limits for xenstored; if the
>>>    # limit is exceeded, xenstored will stop being able to function
>>>    # properly for additional guests.  The default value is so large
>>>    # that it won't be exceeded in a supported configuration, but
>>>    # should not be taken to mean that the whole Xen system is
>>>    # guaranteed to work properly with that many guests.
>>>
>>> Julien, did you ask for this to be made configurable ?  Having written
>>> the text above, I wonder if it wouldn't just be better to
>>> unconditionally set it to "unlimited" rather than offering footgun
>>> dressed up like a tuneable...
>>
>> So in v1 (see [1]), Juergen wanted to raise the limit. I assumed this 
>> meant that the default limit (configured by the system may not be 
>> enough).
>>
>> I felt this was wrong to impose an higher limit on everyone when an 
>> admin may know the maximum number of domains.
>>
>> By "unlimited", do you mean the calling "ulimit" (or whatever is used 
>> for configuring FDs) with unlimited?
>>
>> If so, I would be OK with that. My main was was to move the raising 
>> the limit outside Xenstored because:
>>   1) This is easier for an admin to tweak it (in particular the OOM)
>>   2) It feels wrong to me that the daemon chose the limits
>>   3) An admin can enforce it
> 
> Coming back to this series, I'm puzzled now.
> 
> Julien, you didn't want me to raise the limit to a specific number
> covering the maximum possible number of domains, because you thought
> this might result in xenstored hogging huge numbers of file descriptors
> in case of a bug. Why is unlimited better then? This will make the
> possible number even larger.

I don't think I suggested the unlimited number is better... My main 
objection in your original approach is you set an arbitrary limit you in 
Xenstored (which may not apply at all) and don't offer a way to the 
admin to tweak it.

If the limit is set outside of Xenstored, then it becomes much easier 
for someone to just tweak the init script. I don't have a strong opinion 
on whether the default limit should be "unlimited" or a fixed number.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 12:31:42 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 12:31:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175657.319907 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL2vV-0007IO-Vx; Tue, 31 Aug 2021 12:31:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175657.319907; Tue, 31 Aug 2021 12: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 1mL2vV-0007IF-Sy; Tue, 31 Aug 2021 12:31:41 +0000
Received: by outflank-mailman (input) for mailman id 175657;
 Tue, 31 Aug 2021 12:31:40 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ybvi=NW=arm.com=Rahul.Singh@srs-us1.protection.inumbo.net>)
 id 1mL2vU-0007I2-Fz
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 12:31:40 +0000
Received: from EUR03-DB5-obe.outbound.protection.outlook.com (unknown
 [2a01:111:f400:fe0a::60f])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 630be33d-5c3f-4b11-aeb0-b0a9c11019b0;
 Tue, 31 Aug 2021 12:31:37 +0000 (UTC)
Received: from AS9PR06CA0068.eurprd06.prod.outlook.com (2603:10a6:20b:464::32)
 by AM0PR08MB4226.eurprd08.prod.outlook.com (2603:10a6:208:147::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23; Tue, 31 Aug
 2021 12:31:25 +0000
Received: from AM5EUR03FT046.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:464:cafe::c4) by AS9PR06CA0068.outlook.office365.com
 (2603:10a6:20b:464::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.24 via Frontend
 Transport; Tue, 31 Aug 2021 12:31:25 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT046.mail.protection.outlook.com (10.152.16.164) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Tue, 31 Aug 2021 12:31:24 +0000
Received: ("Tessian outbound 6ba9ec11d42b:v103");
 Tue, 31 Aug 2021 12:31:24 +0000
Received: from de16bf6d608f.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 0B83CF38-44B1-4DBE-9BE6-396285FF0CE5.1; 
 Tue, 31 Aug 2021 12:31:13 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id de16bf6d608f.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 31 Aug 2021 12:31:13 +0000
Received: from AS8PR08MB6919.eurprd08.prod.outlook.com (2603:10a6:20b:39e::10)
 by AM6PR08MB4358.eurprd08.prod.outlook.com (2603:10a6:20b:b6::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23; Tue, 31 Aug
 2021 12:31:12 +0000
Received: from AS8PR08MB6919.eurprd08.prod.outlook.com
 ([fe80::c8de:afad:1d5a:efd0]) by AS8PR08MB6919.eurprd08.prod.outlook.com
 ([fe80::c8de:afad:1d5a:efd0%5]) with mapi id 15.20.4457.024; Tue, 31 Aug 2021
 12: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: 630be33d-5c3f-4b11-aeb0-b0a9c11019b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=doXlI1H/seSBWDipksJOj6lV8HxeKRiPDmx1/UDGOvI=;
 b=ii8JCvoGg9MCoxJs5iK+mVgKkxFez30W+E2W0ot1l//1shO2FCz2DR0bpi+Awi/t01d1WFHSq2jXhQA6RnHXkapJ0WXbRo2DKrL9gGmfKQOoIgmMi81OqlOAiOH7BErclQSM92fYWCO8yaeUjjXtzuoVae/H12tbqyfxhccFxk8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 7301560e4c0ed7fb
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MaSBTIt39P/cosk3qsSywjjyyyceo/VYVBHSIv8fuBeKYQ4bfk693zvRdsqWn+70DUy3v7My6Tj7xDm8C4wBBaV8tECbOOIru/g/kEPBGCH0EHF3sh+S9YvU9nfRK1UYMFaRjVMCymQ+2Y/S0GHjlSE9UPK0UFhsKHdbRHWeW9jUH2unuRh5nUybwQUWjXxNP6P7S7vHmaaT9GxeQMfySeu4fi+9k048IHaV8jdQG+bXIQgm1N8si/JGCfOMYUvpKVDRGOEjFB9jUR5RjzFak42rWGnFOpY9PD1L914wBcdHSfGBQ6xRLv/+AHgV1pfcEgo8yesHyRISoEQblM3I9w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=doXlI1H/seSBWDipksJOj6lV8HxeKRiPDmx1/UDGOvI=;
 b=BTJkaLdbigafpJwc7WhjJpgLD5wF8S+Rk2mFTuJeycn8Osgur+Xt3C2qFxSS8DaqZbPQ7JBnAfRRgIbIwSZAJ4mtQeKXY7qDxUBABBf7hLlNHOllSbPF+tkJF2C9kXPubdnmc/PyuCv8B7+OVwd5WOH/xBUMWfn/F944ePf1pJHsgZfJifXvR5Jcna0pRN5FooWt+lmODhclSSbnUhS8Y43H4IWsn5/Cs8wRbyGj/BiNqyidxj6tBOzGFvhLRvPubbEWX4gChUniEF4EZL74mc7w3CSHFx4TMXrNpXG5AbQfSV6mqk9Z30WITMgSjXbYRBbMXN5swR3mGmKS2F0KGg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=doXlI1H/seSBWDipksJOj6lV8HxeKRiPDmx1/UDGOvI=;
 b=ii8JCvoGg9MCoxJs5iK+mVgKkxFez30W+E2W0ot1l//1shO2FCz2DR0bpi+Awi/t01d1WFHSq2jXhQA6RnHXkapJ0WXbRo2DKrL9gGmfKQOoIgmMi81OqlOAiOH7BErclQSM92fYWCO8yaeUjjXtzuoVae/H12tbqyfxhccFxk8=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, George Dunlap
	<george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Paul Durrant
	<paul@xen.org>, Daniel De Graaf <dgdegra@tycho.nsa.gov>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v1 01/14] xen/pci: Refactor MSI code that implements MSI
 functionality within XEN
Thread-Topic: [PATCH v1 01/14] xen/pci: Refactor MSI code that implements MSI
 functionality within XEN
Thread-Index: AQHXlPJtf5AaTUXmz0eDPPo+F/e1VKuC1pUAgArHsAA=
Date: Tue, 31 Aug 2021 12:31:12 +0000
Message-ID: <8A59CEFF-6910-43F8-9F4B-EC923ADA80F9@arm.com>
References: <cover.1629366665.git.rahul.singh@arm.com>
 <d0b7b457762d481b19c8da6c2d55ff4acb4d6291.1629366665.git.rahul.singh@arm.com>
 <0d787e5d-9232-20ba-bb9f-6b14a15d9e64@suse.com>
In-Reply-To: <0d787e5d-9232-20ba-bb9f-6b14a15d9e64@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: suse.com; dkim=none (message not signed)
 header.d=none;suse.com; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: e4ce4f18-c9d7-48b6-c828-08d96c7b3f6c
x-ms-traffictypediagnostic: AM6PR08MB4358:|AM0PR08MB4226:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM0PR08MB4226804CFA9831AB3EE88E21FCCC9@AM0PR08MB4226.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 g1a3SSygHpiDniWAzEEatlrQF/fVooWNNZoox0Nn9sYqnNe4z+ZpCzYeV/nE51/3hBfzgRaW5+rSGKCUetRcAl/EF6NQXjTJ7F2WEv9vWrwYFAhwOnOKJ7dnim+m7gVHTY5pWcy4cG4lFVFd1lebnnLk6YkwWo8gp4UjxdW9rO9Eeg62vIJwBWgCCagLA9wsPwWo3ska93M2NzNvDthK8LLU/lFdiE98iwycXHU55gWOsYN/wk0FHdyGQVItUyMAZHWtrdIdgIjF/4UYOkaR/l14zf7FNM9eC7EeUrwOstx7+J97qGbpcTRO8/CBKgWZdTGqFvq5kUvo0aW7Af8xwRO7d/s8LerCDI0wL//d+IrcywzPykQsF/Wkzb3OyekWt6oHIiuOJR4hsi0ZSv+J2NEUxIQB6P90VAJ89IyanQPNq7wwtKJSuDxSx7uEoSD3dsjZ9ZVqB5wJDKpit1DCUMzKbsvmdHjcczgVIASF/u02S3TFzzjyE/M9y+kJI8P720IbHjRHyJ43V7RzXhIzgdRDS9J4n7BM2ghujGhbKsrzDeDtRIWqcL4vtIi8RL90DaZea8AOZmrk1YzmDMsL02Nyfov+oy3FhzrG+vweral4czu80imaY8qDsf63EXv95+u5OaATpAfpgfLxxcFUyse8xlFEzvB55rqSzmQgwrZz+QWM1H5nJZiS267e5EGAvNSCSeqZNXpSsbQBQIVN9L4l+YLZJO7zJ/V6pDz6a/X9FlZ60rN79H2MpKBgpDMPCYQK73REsC3ldDEVOa06I9OBqx5RdtlVt40R06YSYVpNER4bO1ztun2cDvTOkt4+MpvKZWIFHwXB/rbO6R992g==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB6919.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(39860400002)(346002)(376002)(366004)(396003)(136003)(2616005)(76116006)(6916009)(478600001)(66556008)(64756008)(6512007)(91956017)(71200400001)(8676002)(66446008)(66946007)(5660300002)(6486002)(26005)(186003)(2906002)(38100700002)(7416002)(33656002)(38070700005)(4326008)(66476007)(54906003)(316002)(86362001)(8936002)(53546011)(36756003)(122000001)(83380400001)(6506007)(2004002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?QlFpaEF1VGF2SXJiUmRLdTdtSDFreUtYak5rdGhYREZMT1dRSDFEblpaZ1Qy?=
 =?utf-8?B?MmNhWlo4S0dTRExhRHROUGhnWGdxa01pOW1Ram1FOXJKOUNseEpxSjdoMWgv?=
 =?utf-8?B?eVY1VnhUaUpscmhTM05hK1J0dnE4dlViOTcyS25rdzVSN2JjdVBTNUNEa2Ev?=
 =?utf-8?B?VEhlZXBWK1Zua3ZiNHB1T0FKTW9uVUVxeWJuL2UyK1VSaXErdy9PbVZEOTJT?=
 =?utf-8?B?SkZSQkJXNUJqelVaWG8vNXg1bENwdklKaXZEMUNPOGZ4dnh5dHdUM2dYbjBX?=
 =?utf-8?B?S1RZcHZGTTllcGxwdjZybTNBdXhVdnM1SllmRjRsRFV2MmJ5M09lS3E2Rzg3?=
 =?utf-8?B?VGd3YVlFb0ZFSTJlNFVaSDd3ejlGT2I2dzd4SXlEWW1JZVJaeXpmM2F3dmho?=
 =?utf-8?B?aTd3MndvV0RQVGFGTnYwL3pjMndrZVBWeGFTWURuZnVkNjQxZ05TZHcwcHBE?=
 =?utf-8?B?bmIvTm5pa2lUa3gyRVhQS2Q0MTM2dmJnNGFTSGp3MStuWWlUTlJ2cm9EQmJP?=
 =?utf-8?B?QVFEOCtyMkRhZzlsQTlUQnN1S3doOThvS0YzTDRpQUZJUExtVzNKY2lFSzBP?=
 =?utf-8?B?RS81bzM3SFptRUhYa2xaME9PRUdnSTN4N3U5TDhlS3poSlJiOHoxSlkzMHVZ?=
 =?utf-8?B?bzhKMEJHeDFDZVcydUNKZ1RtY1lLYUQ5alFrbW10MEdNZmsxSFZuNXdLdGl3?=
 =?utf-8?B?NVVtR2x2blJNNWZCbW5WS3FxT2FVUUpNb1pTVjBFT1h6NmxPRTQ0N2lZQ1J1?=
 =?utf-8?B?d3EvcXFWb29TbjlvcS9Bd2c2WmJEd1VyMTliUUdwU1RHMWR4UzFTeEQvd2xZ?=
 =?utf-8?B?dDY4NFJGR05uVWRYQjJSc3hqeTczMUJEaWFKUlNKR2lzbndpbjl1K2ZMMkp6?=
 =?utf-8?B?VEM4S0dISmpmZTB1aEVLZDdQS3FwejRINytlRDhBS0FYRUFNM1U1NFNiUURh?=
 =?utf-8?B?dS8xdSt5TkVaY29MZWJXUmMvUElxejkwOGtFbi9iTGxWdkhwY1dzOUhpR3Q4?=
 =?utf-8?B?UVkzN1lJUWlHSkROS1JONThMeUt6SklvcUIxQlBzQXlvOVQyNWxGQ1pucFBk?=
 =?utf-8?B?aVFNQkdPV1lXOHBWUDVrT1JiYmFIOWVCRlpLTmY4TDZZNjRWSWx1RjQrOGlw?=
 =?utf-8?B?ZzhtU2FldSs0RElpekJ1ams2RUcvNi9qNWxKUWNXMVJwNndJRmM2cWR5S1NY?=
 =?utf-8?B?OWFFdzZ6SEFsam5GdGNzSlE0SWQ0V2JwRzhDUDBRcGcrNE1tN0ZERmlHMnJ6?=
 =?utf-8?B?aEdDelR6YUg0S2lPdmRPY0tXQ2FldG50NXRLZUV1TkxiQWNEY3JtN3REOHpv?=
 =?utf-8?B?bXA5R2FXVEhoVThyTllxTkI0T08yR2VXekRIWGpMbkNLOGgvM1gxNGJpU2o0?=
 =?utf-8?B?UzBGM3ptYlZhanZIWlBVY1RGU2dwYk9FclNGWk9ta000VHFiUTNGRjVsa2Zw?=
 =?utf-8?B?QThqcGJva3JnZzhPeUpWQVJ1d29URW9HZm1rZ1hsMDM5d2ZSMlJMNjJqcXJm?=
 =?utf-8?B?dUgyaVBTUkpaQ1YyS0VQZjhCMHdGYjRFSmJaeXlRS0dNSFRGUzJiaHdubVp1?=
 =?utf-8?B?WXQ0dlpObkpqSllVd0RESFRoampIR2NMQ20yazdrQXR0WnRYeVVEdWRrclI2?=
 =?utf-8?B?M3VrdjU5WXo1MmtOUGwvZUZOSlVSR0tVV1lTd1JxdnVNL3drbmw2Qk51YVlk?=
 =?utf-8?B?MEh1QmxrU1pRU1FOMjVTZUVkV25zbUtRQ1laNkxxS2w4WWkyc085dnV2SDcy?=
 =?utf-8?Q?RZFRAbwuj91VLq5gqpNlEZoU/y16ADcava6UPHM?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <F4710E253899DA49AAA44E5763167069@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4358
Original-Authentication-Results: suse.com; dkim=none (message not signed)
 header.d=none;suse.com; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT046.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	7edcc682-70ac-4bb0-ba8e-08d96c7b3821
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	t28/URmH3scxqDQyecQyclJQjCjvmC0FYg2ACMRWxQw5p/HcWJT7Bnka98brTFUEX6EdRFiEoe6r7OL5KCFr7ZvQ3euQtb/pOAcThgZs9hpMliDUlETewnFap0rKQtKeYDz17yL44jcPF/4XTMZQYDbsoxvvla/oY0MRnmooGA98LWDD8igmgmHIzG5iXUQuaW1OBWTjyn0if0Uk3CKiFSmew9Gp5DRkmvKhaYeicVrpAUCEYrhS6759OjKl6kyjJPGGuPtKIko4O/MqwAFBbjRO/y0S0Wpi9WeVVir86PzSELYpuzLpf2KcH/fyB+lU9a2uuJtutKIaxFjzpxPAg6m95cj3L1ua86OwonDsyh+dFVVvDSJz0yF6rcUt2hxpEgFeLKmnNM6YNCqqOuwN1qw5BGT3lIIpGiYoXe8xf4phxOz90QrK0cNr+q2xbIC03zV5hIXY30NW1S8gaVvwPgngB3qPcTnQrcky1gzBNg8a2oDS5KKISzW3l+/8p2Phpj2E1Tp9crwcO8d9a88Y2fQzAELnxW0F9LYJ9/rmc3zRltyASbZYewtYCuHwrOO/gV86flQp46iqUbVyQKenkBhmX706WFEszdX+oa3v0NRo4hNHAw394zQsbQbYWwfB9buY0FBDog77gHWOoqi4jUYp5HTFxN9SYJgi6MjaNzR2220PUHRvqwiGtpLhiYZbTUzF2DV+Hx2XE7MJdiXnRj2h8WNUAC8RKugyhuUMSRfe/sW6eBaUFUYhI1pLJQoUEIFhGjbwLRKBQpw7gdeTuIhxjowIW9uD4LR+6GkNhMV4wRQ+HehsNsHAzWh4fsJy
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(396003)(39860400002)(376002)(346002)(136003)(36840700001)(46966006)(2906002)(82310400003)(316002)(70586007)(86362001)(83380400001)(5660300002)(36860700001)(36756003)(4326008)(2616005)(6512007)(8676002)(6486002)(336012)(81166007)(53546011)(478600001)(6506007)(8936002)(26005)(82740400003)(6862004)(186003)(47076005)(54906003)(356005)(70206006)(33656002)(2004002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2021 12:31:24.8100
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e4ce4f18-c9d7-48b6-c828-08d96c7b3f6c
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT046.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB4226

SGkgSmFuLA0KDQo+IE9uIDI0IEF1ZyAyMDIxLCBhdCA0OjUzIHBtLCBKYW4gQmV1bGljaCA8amJl
dWxpY2hAc3VzZS5jb20+IHdyb3RlOg0KPiANCj4gT24gMTkuMDguMjAyMSAxNDowMiwgUmFodWwg
U2luZ2ggd3JvdGU6DQo+PiAtLS0gL2Rldi9udWxsDQo+PiArKysgYi94ZW4vZHJpdmVycy9wYXNz
dGhyb3VnaC9tc2kuYw0KPj4gQEAgLTAsMCArMSw5NiBAQA0KPj4gKy8qDQo+PiArICogQ29weXJp
Z2h0IChDKSAyMDA4LCAgTmV0cm9ub21lIFN5c3RlbXMsIEluYy4NCj4gDQo+IFdoaWxlIGdlbmVy
YWxseSBjb3B5aW5nIGNvcHlyaWdodCBzdGF0ZW1lbnRzIHdoZW4gc3BsaXR0aW5nIHNvdXJjZQ0K
PiBmaWxlcyBpcyBwcm9iYWJseSB3YW50ZWQgKG9yIGV2ZW4gbmVjZXNzYXJ5KSBJIGRvdWJ0IHRo
aXMgaXMNCj4gc3VpdGFibGUgaGVyZTogTm9uZSBvZiB0aGUgTVNJIGNvZGUgdGhhdCB5b3UgbW92
ZSB3YXMgY29udHJpYnV0ZWQNCj4gYnkgdGhlbSBhZmFpY3QuDQoNCkxldCBtZSByZW1vdmUgdGhl
ICJDb3B5cmlnaHQgQ29weXJpZ2h0IChDKSAyMDA4LCAgTmV0cm9ub21lIFN5c3RlbXMsIEluYy7i
gJ0gLiANCkNhbiB5b3UgcGxlYXNlIGhlbHAgbWUgd2hhdCBjb3B5cmlnaHQgSSB3aWxsIGFkZCBm
b3IgdGhlIG5leHQgcGF0Y2ggPw0KPiANCj4+ICsgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdA0KPj4gKyAqIHVu
ZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UsDQo+PiArICogdmVyc2lvbiAyLCBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbi4NCj4+ICsgKg0KPj4gKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQNCj4+ICsgKiBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFC
SUxJVFkgb3INCj4+ICsgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0
aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yDQo+PiArICogbW9yZSBkZXRhaWxzLg0K
Pj4gKyAqDQo+PiArICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcgd2l0aA0KPj4gKyAqIHRoaXMgcHJvZ3JhbTsg
SWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+Lg0KPj4gKyAqLw0KPj4g
Kw0KPj4gKyNpbmNsdWRlIDx4ZW4vaW5pdC5oPg0KPj4gKyNpbmNsdWRlIDx4ZW4vcGNpLmg+DQo+
PiArI2luY2x1ZGUgPGFzbS9tc2kuaD4NCj4gDQo+IFlvdSBzdXJlbHkgbWVhbiB4ZW4vbXNpLmgg
aGVyZTogSGVhZGVycyBsaWtlIHRoaXMgb25lIHNob3VsZCBhbHdheXMNCj4gYmUgaW5jbHVkZWQg
YnkgdGhlIHByb2R1Y2VyLCBubyBtYXR0ZXIgdGhhdCBpdCBidWlsZHMgZmluZSB3aXRob3V0Lg0K
PiBFbHNlIHlvdSByaXNrIGRlY2xhcmF0aW9ucyBhbmQgZGVmaW5pdGlvbnMgdG8gZ28gb3V0IG9m
IHN5bmMuDQpPayAuIExldCBtZSBpbmNsdWRlIGhlcmUg4oCceGVuL21zaS5o4oCdIGFuZCBtb3Zl
IG90aGVyIHJlcXVpcmVkIGluY2x1ZGVzIHRvIOKAnHhlbi9tc2kuaCINCj4gDQo+PiArI2luY2x1
ZGUgPGFzbS9odm0vaW8uaD4NCj4+ICsNCj4+ICtpbnQgcGRldl9tc2l4X2Fzc2lnbihzdHJ1Y3Qg
ZG9tYWluICpkLCBzdHJ1Y3QgcGNpX2RldiAqcGRldikNCj4+ICt7DQo+PiArICAgIGludCByYzsN
Cj4+ICsNCj4+ICsgICAgaWYgKCBwZGV2LT5tc2l4ICkNCj4+ICsgICAgew0KPj4gKyAgICAgICAg
cmMgPSBwY2lfcmVzZXRfbXNpeF9zdGF0ZShwZGV2KTsNCj4+ICsgICAgICAgIGlmICggcmMgKQ0K
Pj4gKyAgICAgICAgICAgIHJldHVybiByYzsNCj4+ICsgICAgICAgIG1zaXh0YmxfaW5pdChkKTsN
Cj4+ICsgICAgfQ0KPj4gKw0KPj4gKyAgICByZXR1cm4gMDsNCj4+ICt9DQo+PiArDQo+PiAraW50
IHBkZXZfbXNpX2luaXQoc3RydWN0IHBjaV9kZXYgKnBkZXYpDQo+PiArew0KPj4gKyAgICB1bnNp
Z25lZCBpbnQgcG9zOw0KPj4gKw0KPj4gKyAgICBJTklUX0xJU1RfSEVBRCgmcGRldi0+bXNpX2xp
c3QpOw0KPj4gKw0KPj4gKyAgICBwb3MgPSBwY2lfZmluZF9jYXBfb2Zmc2V0KHBkZXYtPnNlZywg
cGRldi0+YnVzLCBQQ0lfU0xPVChwZGV2LT5kZXZmbiksDQo+PiArICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgUENJX0ZVTkMocGRldi0+ZGV2Zm4pLCBQQ0lfQ0FQX0lEX01TSSk7DQo+PiAr
ICAgIGlmICggcG9zICkNCj4+ICsgICAgew0KPj4gKyAgICAgICAgdWludDE2X3QgY3RybCA9IHBj
aV9jb25mX3JlYWQxNihwZGV2LT5zYmRmLCBtc2lfY29udHJvbF9yZWcocG9zKSk7DQo+PiArDQo+
PiArICAgICAgICBwZGV2LT5tc2lfbWF4dmVjID0gbXVsdGlfbXNpX2NhcGFibGUoY3RybCk7DQo+
PiArICAgIH0NCj4+ICsNCj4+ICsgICAgcG9zID0gcGNpX2ZpbmRfY2FwX29mZnNldChwZGV2LT5z
ZWcsIHBkZXYtPmJ1cywgUENJX1NMT1QocGRldi0+ZGV2Zm4pLA0KPj4gKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFBDSV9GVU5DKHBkZXYtPmRldmZuKSwgUENJX0NBUF9JRF9NU0lYKTsN
Cj4+ICsgICAgaWYgKCBwb3MgKQ0KPj4gKyAgICB7DQo+PiArICAgICAgICBzdHJ1Y3QgYXJjaF9t
c2l4ICptc2l4ID0geHphbGxvYyhzdHJ1Y3QgYXJjaF9tc2l4KTsNCj4+ICsgICAgICAgIHVpbnQx
Nl90IGN0cmw7DQo+PiArDQo+PiArICAgICAgICBpZiAoICFtc2l4ICkNCj4+ICsgICAgICAgICAg
ICByZXR1cm4gLUVOT01FTTsNCj4+ICsNCj4+ICsgICAgICAgIHNwaW5fbG9ja19pbml0KCZtc2l4
LT50YWJsZV9sb2NrKTsNCj4+ICsNCj4+ICsgICAgICAgIGN0cmwgPSBwY2lfY29uZl9yZWFkMTYo
cGRldi0+c2JkZiwgbXNpeF9jb250cm9sX3JlZyhwb3MpKTsNCj4+ICsgICAgICAgIG1zaXgtPm5y
X2VudHJpZXMgPSBtc2l4X3RhYmxlX3NpemUoY3RybCk7DQo+PiArDQo+PiArICAgICAgICBwZGV2
LT5tc2l4ID0gbXNpeDsNCj4+ICsgICAgfQ0KPj4gKw0KPj4gKyAgICByZXR1cm4gMDsNCj4+ICt9
DQo+PiArDQo+PiArdm9pZCBwZGV2X21zaV9kZWluaXQoc3RydWN0IHBjaV9kZXYgKnBkZXYpDQo+
PiArew0KPj4gKyAgICBYRlJFRShwZGV2LT5tc2l4KTsNCj4+ICt9DQo+PiArDQo+PiArdm9pZCBw
ZGV2X2R1bXBfbXNpKGNvbnN0IHN0cnVjdCBwY2lfZGV2ICpwZGV2KQ0KPj4gK3sNCj4+ICsgICAg
Y29uc3Qgc3RydWN0IG1zaV9kZXNjICptc2k7DQo+PiArDQo+PiArICAgIHByaW50aygiLSBNU0lz
IDwgIik7DQo+PiArICAgIGxpc3RfZm9yX2VhY2hfZW50cnkgKCBtc2ksICZwZGV2LT5tc2lfbGlz
dCwgbGlzdCApDQo+PiArICAgICAgICBwcmludGsoIiVkICIsIG1zaS0+aXJxKTsNCj4+ICsgICAg
cHJpbnRrKCI+Iik7DQo+IA0KPiBXaGlsZSBub3QgYW4gZXhhY3QgZXF1aXZhbGVudCBvZiB0aGUg
b3JpZ2luYWwgY29kZSB0aGVuLCBjb3VsZCBJDQo+IHRhbGsgeW91IGludG8gYWRkaW5nIGFuIGVh
cmx5IGxpc3RfZW1wdHkoKSBjaGVjaywgc3VwcHJlc3NpbmcgYW55DQo+IG91dHB1dCBmcm9tIHRo
aXMgZnVuY3Rpb24gaWYgdGhhdCBvbmUgcmV0dXJuZWQgInRydWXigJ0/DQpPay4NCj4gDQo+PiBA
QCAtMTI3MSwxOCArMTI0OSwxNiBAQCBib29sX3QgcGNpZV9hZXJfZ2V0X2Zpcm13YXJlX2ZpcnN0
KGNvbnN0IHN0cnVjdCBwY2lfZGV2ICpwZGV2KQ0KPj4gc3RhdGljIGludCBfZHVtcF9wY2lfZGV2
aWNlcyhzdHJ1Y3QgcGNpX3NlZyAqcHNlZywgdm9pZCAqYXJnKQ0KPj4gew0KPj4gICAgIHN0cnVj
dCBwY2lfZGV2ICpwZGV2Ow0KPj4gLSAgICBzdHJ1Y3QgbXNpX2Rlc2MgKm1zaTsNCj4+IA0KPj4g
ICAgIHByaW50aygiPT09PSBzZWdtZW50ICUwNHggPT09PVxuIiwgcHNlZy0+bnIpOw0KPj4gDQo+
PiAgICAgbGlzdF9mb3JfZWFjaF9lbnRyeSAoIHBkZXYsICZwc2VnLT5hbGxkZXZzX2xpc3QsIGFs
bGRldnNfbGlzdCApDQo+PiAgICAgew0KPj4gLSAgICAgICAgcHJpbnRrKCIlcHAgLSAlcGQgLSBu
b2RlICUtM2QgLSBNU0lzIDwgIiwNCj4+ICsgICAgICAgIHByaW50aygiJXBwIC0gJXBkIC0gbm9k
ZSAlLTNkICIsDQo+IA0KPiBUb2dldGhlciB3aXRoIHRoZSByZXF1ZXN0IGFib3ZlIHRoZSB0cmFp
bGluIGJsYW5rIGhlcmUgYWxzbyB3YW50cyB0bw0KPiBiZWNvbWUgYSBsZWFkaW5nIGJsYW5rIGlu
IHBkZXZfZHVtcF9tc2koKQ0KT2suDQo+PiAtLS0gL2Rldi9udWxsDQo+PiArKysgYi94ZW4vaW5j
bHVkZS94ZW4vbXNpLmgNCj4+IEBAIC0wLDAgKzEsNTYgQEANCj4+ICsvKg0KPj4gKyAqIENvcHly
aWdodCAoQykgMjAwOCwgIE5ldHJvbm9tZSBTeXN0ZW1zLCBJbmMuDQo+PiArICoNCj4+ICsgKiBU
aGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yIG1vZGlmeSBpdA0KPj4gKyAqIHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0
aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsDQo+PiArICogdmVyc2lvbiAyLCBhcyBwdWJs
aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4NCj4+ICsgKg0KPj4gKyAqIFRo
aXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSBpdCB3aWxsIGJlIHVzZWZ1bCwg
YnV0IFdJVEhPVVQNCj4+ICsgKiBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3INCj4+ICsgKiBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
DQo+PiArICogbW9yZSBkZXRhaWxzLg0KPj4gKyAqDQo+PiArICogWW91IHNob3VsZCBoYXZlIHJl
Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcgd2l0
aA0KPj4gKyAqIHRoaXMgcHJvZ3JhbTsgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9s
aWNlbnNlcy8+Lg0KPj4gKyAqLw0KPj4gKw0KPj4gKyNpZm5kZWYgX19YRU5fTVNJX0hfDQo+PiAr
I2RlZmluZSBfX1hFTl9NU0lfSF8NCj4+ICsNCj4+ICsjaWZkZWYgQ09ORklHX0hBU19QQ0lfTVNJ
DQo+PiArDQo+PiArI2luY2x1ZGUgPGFzbS9tc2kuaD4NCj4+ICsNCj4+ICtpbnQgcGRldl9tc2l4
X2Fzc2lnbihzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgcGNpX2RldiAqcGRldik7DQo+PiAraW50
IHBkZXZfbXNpX2luaXQoc3RydWN0IHBjaV9kZXYgKnBkZXYpOw0KPj4gK3ZvaWQgcGRldl9tc2lf
ZGVpbml0KHN0cnVjdCBwY2lfZGV2ICpwZGV2KTsNCj4+ICt2b2lkIHBkZXZfZHVtcF9tc2koY29u
c3Qgc3RydWN0IHBjaV9kZXYgKnBkZXYpOw0KPj4gKw0KPj4gKyNlbHNlIC8qICFDT05GSUdfSEFT
X1BDSV9NU0kgKi8NCj4+ICtzdGF0aWMgaW5saW5lIGludCBwZGV2X21zaXhfYXNzaWduKHN0cnVj
dCBkb21haW4gKmQsIHN0cnVjdCBwY2lfZGV2ICpwZGV2KQ0KPiANCj4gUGxlYXNlIGJlIGNvbnNp
c3RlbnQgd2l0aCBibGFuayBsaW5lcyB5b3UgYWRkOyBoZXJlIHlvdSBhbHNvIHdhbnQgb25lDQo+
IGFmdGVyIHRoZSAjZWxzZS4NCg0KT2suDQoNCj4gDQo+PiArew0KPj4gKyAgICByZXR1cm4gMDsN
Cj4+ICt9DQo+PiArDQo+PiArc3RhdGljIGlubGluZSBpbnQgcGRldl9tc2lfaW5pdChzdHJ1Y3Qg
cGNpX2RldiAqcGRldikNCj4+ICt7DQo+PiArICAgIHJldHVybiAwOw0KPj4gK30NCj4+ICsNCj4+
ICtzdGF0aWMgaW5saW5lIHZvaWQgcGRldl9tc2lfZGVpbml0KHN0cnVjdCBwY2lfZGV2ICpwZGV2
KSB7fQ0KPj4gK3N0YXRpYyBpbmxpbmUgdm9pZCBwY2lfY2xlYW51cF9tc2koc3RydWN0IHBjaV9k
ZXYgKnBkZXYpIHt9DQo+PiArc3RhdGljIGlubGluZSB2b2lkIHBkZXZfZHVtcF9tc2koY29uc3Qg
c3RydWN0IHBjaV9kZXYgKnBkZXYpIHt9DQo+IA0KPiBFc3BlY2lhbGx5IGZvciAoYnV0IHBlcmhh
cHMgbm90IGxpbWl0ZWQgdG8pIHRoaXMgIUhBU19QQ0lfTVNJIGNhc2UNCj4gKHdoZXJlIHlvdSBk
b24ndCBpbmNsdWRlIGFzbS9tc2kuaCBhbmQgaXRzIHBvc3NpYmxlIGRlcGVuZGVudHMpDQo+IHBs
ZWFzZSBmb3J3YXJkLWRlY2xhcmUgc3RydWN0LXMgeW91IHVzZSBpbiBwcm90b3R5cGVzIG9yIGlu
bGluZQ0KPiBzdHVicyAob3V0c2lkZSB0aGUgI2lmZGVmLCB0aGF0IGlzKS4gVGhpcyB3aWxsIGFs
bG93IGluY2x1ZGluZw0KPiB0aGlzIGhlYWRlciB3aXRob3V0IGhhdmluZyB0byBjYXJlIGFib3V0
IHByZXJlcSBoZWFkZXJzLg0KDQpPay4gTGV0IG1lIGRvIG1vZGlmaWNhdGlvbiBpbiBuZXh0IHZl
cnNpb24uDQoNClJlZ2FyZHMsDQpSYWh1bA0KPiANCj4gSWYgeW91IGFncmVlIHdpdGggYW5kIG1h
a2UgYWxsIHRoZSBzdWdnZXN0ZWQgb3IgcmVxdWVzdGVkIGNoYW5nZXMsDQo+IGZlZWwgZnJlZSB0
byBhZGQNCj4gUmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4g
DQo+IEphbg0KPiANCg0K


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 12:36:57 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 12:36:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175664.319919 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL30X-00083C-Ma; Tue, 31 Aug 2021 12:36:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175664.319919; Tue, 31 Aug 2021 12:36: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 1mL30X-000835-Jc; Tue, 31 Aug 2021 12:36:53 +0000
Received: by outflank-mailman (input) for mailman id 175664;
 Tue, 31 Aug 2021 12:36:53 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MdRD=NW=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mL30W-00082z-Ru
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 12:36:52 +0000
Received: from esa6.hc3370-68.iphmx.com (unknown [216.71.155.175])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 1d842eef-0a58-11ec-ad2e-12813bfff9fa;
 Tue, 31 Aug 2021 12:36: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: 1d842eef-0a58-11ec-ad2e-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1630413411;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=0Jpm+deE3nMBIKEvtN14lq7Lr8c6Hv61ym4Tfhly6XI=;
  b=KlYcDGe6Jn5VT4WPlZa9KGPxFopoDRimqb8azifg+8WiiY0AQVtiwmL6
   tYSUraX5mY6XoTTz06fK8KoRkRBLr54zok1rXwj/FqSOfr0P4zV2/yXFE
   6KrNKTnYTO0dqsR7mbiYLL7wvU8fURLt3VF9ApgJ0fZPSqFbF5g/iSThg
   A=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: cUVhvcjlxuJ6YqAhUuwzLCiE/lIVjAJelXGBuvQoJufjvEfqoCjzs3opLPVufDccB15OeicG21
 DVVrQu96OIQlg4wfV/ptFLcqOXUTwIct9wHh0HBpzcOD2J1EGgopg+FtKmFQ1DHlQSidbtmH1h
 fUEEulVe4nM5zz8BDpIQG5GG2N0eclwSL3SDRiJgnJJyLHe6QZm3FuLSZ6538INZ0m0jXlObRJ
 BmaPrgrqHBwyyixYV4lzIcbL2HQqhiKy60xMuzjAIbHRYogLOHKjHyTZJ13WhnIem1Tqr673V/
 aqii1HSdIHt7Y78id4fBnO1g
X-SBRS: 5.1
X-MesageID: 51684542
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:YySUSKDC3ET+bQ/lHemm55DYdb4zR+YMi2TC1yhKJiC9Ffbo8v
 xG/c5rsiMc5wxxZJhNo7290cq7MBHhHPxOgbX5VI3KNGKNhILBFvAH0WKI+VPd8kPFmtK1rZ
 0QEJRDNA==
X-IronPort-AV: E=Sophos;i="5.84,366,1620705600"; 
   d="scan'208";a="51684542"
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>, "Ian
 Jackson" <iwj@xenproject.org>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>
Subject: [XEN PATCH] Config.mk: update OVMF to edk2-stable202108
Date: Tue, 31 Aug 2021 13:36:37 +0100
Message-ID: <20210831123637.22647-1-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.33.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Update to the latest stable tag.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 Config.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Config.mk b/Config.mk
index 4d723eec1d0d..82b0c7c22743 100644
--- a/Config.mk
+++ b/Config.mk
@@ -244,7 +244,7 @@ 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_REVISION ?= b37cfdd2807181aed2fee1e17bd7ec1190db266a
+OVMF_UPSTREAM_REVISION ?= 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5
 QEMU_UPSTREAM_REVISION ?= master
 MINIOS_UPSTREAM_REVISION ?= 051b87bb9c19609976fb038f386920e1ce5454c5
 
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Aug 31 12:37:56 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 12:37:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175670.319930 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL31Y-0000D1-0C; Tue, 31 Aug 2021 12:37:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175670.319930; Tue, 31 Aug 2021 12: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 1mL31X-0000Cu-TM; Tue, 31 Aug 2021 12:37:55 +0000
Received: by outflank-mailman (input) for mailman id 175670;
 Tue, 31 Aug 2021 12:37:54 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kH2E=NW=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mL31W-0000Ci-Js
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 12:37:54 +0000
Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id de993101-e59b-4786-9836-ffcead1c7f3d;
 Tue, 31 Aug 2021 12:37: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: de993101-e59b-4786-9836-ffcead1c7f3d
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1630413472;
  h=to:cc:references:from:subject:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=MBvN3aq+SJvErWD4ddk0gs1AEeQaeueGWymeNsTX3CI=;
  b=diGj6XE7K1FpTLYbV+cnfTKO9SmxTMMsluJNXGg7vaVr0OcvuqDkynec
   4g+zR1tHSiQO4fkAcrocNJ+SqMVs55evn1qrX/K7xoKQZIy9OWVdoWvfI
   8NJ8BsocZDt1PTvZiWGvjJCdl9HKXEftbc+Dh8FCRxy1k8Z4pb8RHWQIQ
   Y=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: e6fnvc10pe5PxK+00A0BUpl1yxSIz4Oy1E/bPUeMhpd5tvWqWwVbHyzBqJB5Y1spN/8INIHKYm
 4mddnNKszO4x5VANdkTdWE6359EMYMoLQZhaq8WueEdPzU1alfOq11PI01AMwEGK5taDPIGcvZ
 VGwWfqoL+dUTJaBfz0ZmNV63Zkq028yVbfVR2jPTRAnUm5wEJmyfDj1/WAqjqb/QXXZVBovzVS
 cAABvtgIu8lCQKXPn460sxLtC/cOudLGqEsu4B/MAy8fs7dH9ht3w+2eiEi5glvKdKRIpahG3i
 TPj0d/5eb/5gdlzD1LyreU7G
X-SBRS: 5.1
X-MesageID: 51661406
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:jByUTaAzJYSiytDlHela55DYdb4zR+YMi2TDt3oddfUzSL3/qy
 nOpoV96faQslwssR4b9uxoVJPvfZqYz+8X3WBzB8bHYOCFgguVxehZhOOP/9SjIVydygc078
 xdmsNFebjN5DZB7PoT4GODYqkdKNvsytHXuQ8JpU0dPD2DaMtbnndE4h7wKDwOeOHfb6BJaa
 Z14KB81kKdUEVSVOuXLF8fUdPOotXa/aiWHSLvV3YcmXKzZSrD0s+BLySl
X-IronPort-AV: E=Sophos;i="5.84,366,1620705600"; 
   d="scan'208";a="51661406"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=G6yJp30lnT3gUfY0oT/aQiwDPFgBD6nFiX47n8OsEYRj+HDZ1uUI3+JzLnRz5m59AWSl2kr4v32I3S7i1qCkCNjEMfB7c3IGvVxhEk5WBEMtJ7812cTfJLXSb3CkJlxY4q7RVBMBhK9bAKUEyTaGW1fm7+vQCqDYSMJKBY3wYtw/YGm8o7IP7HMeWgLDB7k+smfQs4dDmSkSQxTUefXCWQWCcIeoQRuJUtBfw9uiYNNcq4n60AnWn2T6HiK7qY5CsUaDby+0bM+dkoyeS1npxUQe88Edgo7oHDGgrEwLjnXWqJKhOzPkBjqBAQOG9ZbQTEVM7XjnWm+4JK30MJc2Xg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version;
 bh=MBvN3aq+SJvErWD4ddk0gs1AEeQaeueGWymeNsTX3CI=;
 b=kyJPSjLnvxg9CkwVN4kwN23XmpIdrTLxauDUNbpoT0TRtBZcSrCGOe7ikIJwiheHLg9kkv8b2Sgj/C+BcFPLg6p1/F68MGugO8Cc9DtTyFOxgPcUj5UYcwGj+hn1jwDZpZ3oRH05qMo1UKuzXwIcrqEq+6Dxb+8eb7YKaY0G4FwkQiJtb9W+LVTlOKXBBfvbN++HY1z/EpI0yttmjlSRovlwGaBHQmNe+JCadQaCymzAIliTc22cRKf/sFJVy+BCgIWfQzQ65ac5J06JKYbVjX2lFj22hw8jlQKJ2iJeDzqQJeYNofbDodEBcE/68QEXcS5u7k5PSWjhJZTx3kZRzg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MBvN3aq+SJvErWD4ddk0gs1AEeQaeueGWymeNsTX3CI=;
 b=mTRw6KJsIVxExD2WUkukII6155+3ZcMLLbmFTfE2RaCzEwCmosVGem9VAQDMancAABuchveJoixSDPZrYOZwe38feeGo18rV2MWbF5t643POwGN6z2rGxG/CbgjY2GeQ9D/EtqVcDQew4Ylk8oStJkzIipXifd7wuB8VDyUM17o=
To: Julien Grall <julien@xen.org>, Juergen Gross <jgross@suse.com>, Ian
 Jackson <iwj@xenproject.org>
CC: <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>
References: <20210730122643.2043-1-jgross@suse.com>
 <20210730122643.2043-3-jgross@suse.com>
 <24836.28.655841.510063@mariner.uk.xensource.com>
 <81a39ab5-5588-65ad-f1a1-7bfe0379b394@xen.org>
 <6ced9858-d425-887c-0045-1aad8521b826@suse.com>
 <c0a6bb5a-3bd8-b1cf-9973-7a95b347befc@xen.org>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v3 2/2] tools/xenstore: set open file descriptor limit for
 xenstored
Message-ID: <9352f82a-1b43-4bf6-8b0a-5916627b7537@citrix.com>
Date: Tue, 31 Aug 2021 13:37:41 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <c0a6bb5a-3bd8-b1cf-9973-7a95b347befc@xen.org>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-GB
X-ClientProxiedBy: LNXP265CA0074.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:76::14) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 82a25def-1474-42f7-ca4c-08d96c7c2353
X-MS-TrafficTypeDiagnostic: SJ0PR03MB5597:
X-Microsoft-Antispam-PRVS: <SJ0PR03MB55977BC53811D24A8750CC87BACC9@SJ0PR03MB5597.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 7o5Gc5Z6598lTLD74trc96gUX8Zk0l8zmIWqGLV23LEDeQR9huP0AsDhb492KfDUYJNkD4apBrA87WHMDbYsEpBkSuVGKL1SA7O8gE4mq5KFK6V54Fw2NQFBnes84LanIslzH7YpGkXKk9fpm1IP6TJpPbeyLTHbhnPn+nTt+cC8eFRiar0O9VZn0sx5ChXPKPC49xzVIpHy5cG7ct8eqMgoPCVZLlZ6Z/c1dhMFRHPC5RTOmYrvcGaLNyGDUMvSl/vqxeoU50Z8Czuruh2FZXN+24MVpfDBXgvgspZL+TEaZ/VkDv4dhms9uxSeVHDtPyIfRYwDhyp0aC3kQE3aoyaJsTxTQwaLK6yH8ZFonMbea6tnvKlueySHeWfKaaur6gompbTvxVxrFRMnkyid1KNT3GZq9MIq7XVN22AglHhdGkGPwpk6ImNum/tQ/8QgCOBVeejJTSn0tqGGq/9iMPah9nfpIrHMhswIrSC8oSS9FMMn4cVRAYi7ZwhCFHMbrcRzzHTjGWoomukj75uGq3Z62TP64P7o8RhirkUqQhj/MM0g+JFJ1Hn093wKO24md+wAnmzTLUfpHUPERQ1Ja2vjTxdt/UF1rMJ9EKLquNvOk8CZqFBX2Dt0Uf4cRekiGvDo9KCwK4jMQCDqKsiYdFPZpJ4JDHYkc7ZeC5gwxKeixtK6cPsSnFrDmbJHjg4xr9Pr3cKk18tZZw3V1boIFczXE+nqdxGAoZwRWM+4ZnE=
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:(4636009)(376002)(396003)(39860400002)(136003)(346002)(366004)(110136005)(86362001)(16576012)(31696002)(316002)(478600001)(4326008)(8676002)(2616005)(956004)(2906002)(8936002)(36756003)(31686004)(83380400001)(6486002)(55236004)(53546011)(26005)(66946007)(5660300002)(66556008)(186003)(6666004)(66476007)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?OW50M2tPNjUvVGlOOEFwN2owWHB2bVQ2MG1qZW10M1hBN2FhN3JPTDh1NGZ4?=
 =?utf-8?B?ZmVJL3B1ZWxmb3VaN2d6Q1lpQjVvMXU4ZnBDaWNTRVNKNGlFVHNJL2NSTFZl?=
 =?utf-8?B?Q0xFZjJXN0F3UkYvT2xzSVNzODdUMnd3KzlxU2R2a2liejN6ZW02Sm93QUFY?=
 =?utf-8?B?MHBsRWVtR2p6Y2EweUhoekNablhwaHFaTmdXQ3VnL3dKVXI2UURrOXBPQ0xY?=
 =?utf-8?B?Wm40ODNBWDRTbnFXZU5Kdzk0S1NCTEkwWktRZGRDK05PRVlPZCtHdnpqWEI4?=
 =?utf-8?B?YlNLT3ZFYVlwVm9ZZWUzWDFZejRQT1BiY3l4OHAveTFKK096dDVDKzRGYklQ?=
 =?utf-8?B?S3A1Q2dlRkdyVUQ0SkNFNjJJSE14TlQrd2dWbTNFZTRpbUZCcnFDMU5jT2pn?=
 =?utf-8?B?S2p0dWRoNTJxY3pFNHpScDRYRDd2RXRoWGJkbE5DV3pxckJkK0IyMkJFL3Iv?=
 =?utf-8?B?a1p2Uzh0Z3pYTTcvV3JEcEpVUTdnU29OempiSjIyT3dYdE5PV1pXbWZhYUxi?=
 =?utf-8?B?VG40NEhFRFVhaEdSV2RRNm9UWUM1VWQ2K1FJcG84dzM2TitTMWtoSC9ybE44?=
 =?utf-8?B?Wm1ndmZTakdmcU4zODBZbC92dzRnc2dFSDN4Y2MrQUptQTgwVCsrdElITzQv?=
 =?utf-8?B?VlF6R0RsdnFvVkJqOGQ5V3FubE16QVh5Tnoyb0RENzI3Qk5FOVNCejhYR2F6?=
 =?utf-8?B?OStGQkdQNTlscVNOTk9VYUNKNnk5Z2NYajM2V1JEZ3FmNy9SZWVURjQrUzcy?=
 =?utf-8?B?ejRVYmlia0d2WHJOSzJmaTZOaWlWQXo1N0x1UVVtaEhKZzhFTjdXb21zVTdZ?=
 =?utf-8?B?S2ZGaHM5RWlrOUxVWS9hRFlpMFJwQUhOMVdnckl3cHFpb29mSDNrcHlMdHhC?=
 =?utf-8?B?ejhJL1F0TlNBWkFSU0I0MDJRMXNXL0hvTHJmTzkzN3BOSzZKcGgxbXlHbGFC?=
 =?utf-8?B?d0VucWJiWmloQjkvSm5Vc242OVpkdTZ6VmRpd21xOTl3Z3NHaWIxZUpXU0w1?=
 =?utf-8?B?OUtTUjVYU0NkN2xoZ1A4YVFQWk5LM1ZTdVkxRVh0UUplR1ZrVHUzTlRyT2RM?=
 =?utf-8?B?VlBJM25tZHpFbXhtZ0x0aDdkRjdGeVR1UDk4SmpDV3pONTA5UHlWMkI5R0Ns?=
 =?utf-8?B?aG9VMnZ3ZTR4K3pUQ0ZFdVNYOXJQVmZDdEVIQ2tCcWx3Z2o5RHBjUEsxbllW?=
 =?utf-8?B?WmpFNENEZmNzMU1LZ0ZwS1VwQkdsNEpKY3NQZlc0WWtCT0dXWHhhSWRGRC9t?=
 =?utf-8?B?N1BxYnM4cDZyOVdjbW1VZGlBdWVPQWtzQ2plUS90VCtHdXhsTkwzVVlNckwz?=
 =?utf-8?B?RlQ2b29SVnFhVDFkUjBlQUE4SjJtTmlWVGNtUExCMHViVGZ0eW9YUnpOYmdj?=
 =?utf-8?B?TERFamRGdkF0UjRTK281bjJmR1llYVRCL3hCSmJTckZNT0U1ZnhIdGhvNmJF?=
 =?utf-8?B?MllBeW0xTXlRVUVTb3RYVkFQS1BjRTk4dGhqL0ZueUlhQXlYY1VSWTkzWjgz?=
 =?utf-8?B?LzNITXExcEJiQ0VIR1Azd0FJNnhRTGpaUkNaRlhPVVd4c2cxVmlVTU1pdzRw?=
 =?utf-8?B?Mm9MTG5uSG1qMm9Dc1RtVll6SzB0RTBSTE5mdVNEc3pwWGM0OXJsSUl3eU1T?=
 =?utf-8?B?MDVxcEhwdW4vVUFzYnU3T3FqcUwyZG1XTSthbmM3akU1dE9jQlRJZXhvdEpl?=
 =?utf-8?B?eU1UbzVaMm1oZktHc0tLUzlHQjNRcld6ekxUWExKdFVNSzBuaTBXZ0hySlE4?=
 =?utf-8?Q?j0uJ5xic6sURxvbqy3VVNSKbyb0AmuhQVCOyy1W?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 82a25def-1474-42f7-ca4c-08d96c7c2353
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2021 12:37:47.6292
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: KDDwHG9VjEeD4YBNGAnElsb5T1/gLXwGK41Y/Xwc9yyBGRt6OLQzUibMV8f7BjXKdIuqui5QfKYdTy0LzlPuaPxXYIMHsDkgignsVcT3XN4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5597
X-OriginatorOrg: citrix.com

On 31/08/2021 13:30, Julien Grall wrote:
> Hi Juergen,
>
> On 31/08/2021 13:11, Juergen Gross wrote:
>> On 30.07.21 19:14, Julien Grall wrote:
>>> Hi Ian,
>>>
>>> On 30/07/2021 14:35, Ian Jackson wrote:
>>>> Juergen Gross writes ("[PATCH v3 2/2] tools/xenstore: set open file
>>>> descriptor limit for xenstored"):
>>>>> Add a configuration item for the maximum number of domains xenstored
>>>>> should support and set the limit of open file descriptors
>>>>> accordingly.
>>>>>
>>>>> For HVM domains there are up to 5 socket connections per domain (2 by
>>>>> the xl daemon process, and 3 by qemu). So set the ulimit for
>>>>> xenstored
>>>>> to 5 * XENSTORED_MAX_DOMAINS + 100 (the "+ 100" is for some headroom,
>>>>> like logging, event channel device, etc.).
>>>> ...
>>>>> +## Type: integer
>>>>> +## Default: 32768
>>>>> +#
>>>>> +# Select maximum number of domains supported by xenstored.
>>>>> +# Only evaluated if XENSTORETYPE is "daemon".
>>>>> +#XENSTORED_MAX_N_DOMAINS=3D32768
>>>>
>>>> I approve of doing something about the fd limit.=C2=A0 I have some qua=
lms
>>>> about the documentation.
>>>>
>>>> The documentation doesn't say what happens if this limit is exceeded.
>>>> Also the default of 32758 suggests that we actually support that many
>>>> domains.=C2=A0 I don't think we do...
>>>>
>>>> I didn't find anything in SUPPORT.md about how many guests we support
>>>> but I wouldn't want this setting here to imply full support for 32768
>>>> domains.
>>>>
>>>> If you don't want to tackle this can of works, maybe add this:
>>>>
>>>> =C2=A0=C2=A0 # This just controls some resource limits for xenstored; =
if the
>>>> =C2=A0=C2=A0 # limit is exceeded, xenstored will stop being able to fu=
nction
>>>> =C2=A0=C2=A0 # properly for additional guests.=C2=A0 The default value=
 is so large
>>>> =C2=A0=C2=A0 # that it won't be exceeded in a supported configuration,=
 but
>>>> =C2=A0=C2=A0 # should not be taken to mean that the whole Xen system i=
s
>>>> =C2=A0=C2=A0 # guaranteed to work properly with that many guests.
>>>>
>>>> Julien, did you ask for this to be made configurable ?=C2=A0 Having wr=
itten
>>>> the text above, I wonder if it wouldn't just be better to
>>>> unconditionally set it to "unlimited" rather than offering footgun
>>>> dressed up like a tuneable...
>>>
>>> So in v1 (see [1]), Juergen wanted to raise the limit. I assumed
>>> this meant that the default limit (configured by the system may not
>>> be enough).
>>>
>>> I felt this was wrong to impose an higher limit on everyone when an
>>> admin may know the maximum number of domains.
>>>
>>> By "unlimited", do you mean the calling "ulimit" (or whatever is
>>> used for configuring FDs) with unlimited?
>>>
>>> If so, I would be OK with that. My main was was to move the raising
>>> the limit outside Xenstored because:
>>> =C2=A0=C2=A01) This is easier for an admin to tweak it (in particular t=
he OOM)
>>> =C2=A0=C2=A02) It feels wrong to me that the daemon chose the limits
>>> =C2=A0=C2=A03) An admin can enforce it
>>
>> Coming back to this series, I'm puzzled now.
>>
>> Julien, you didn't want me to raise the limit to a specific number
>> covering the maximum possible number of domains, because you thought
>> this might result in xenstored hogging huge numbers of file descriptors
>> in case of a bug. Why is unlimited better then? This will make the
>> possible number even larger.
>
> I don't think I suggested the unlimited number is better... My main
> objection in your original approach is you set an arbitrary limit you
> in Xenstored (which may not apply at all) and don't offer a way to the
> admin to tweak it.
>
> If the limit is set outside of Xenstored, then it becomes much easier
> for someone to just tweak the init script. I don't have a strong
> opinion on whether the default limit should be "unlimited" or a fixed
> number.

xenstored is TCB.=C2=A0 It needs a large number of FDs, and can be trusted
with unlimited.

Also, like xenconsoled, we can calculate an upper bound, which is
derived from the ABI limit of 32k domids.

All you're haggling over is the error semantics in the case of:
1) the upper bound calculation is wrong, or
2) there is an fd leak

Personally, I think a fixed calculation is right, so fd leaks can be
spotted more obviously.

An admin knob is not helpful - higher than the upper bound is just
wasteful, while lower will cause malfunctions.

~Andrew



From xen-devel-bounces@lists.xenproject.org Tue Aug 31 13:00:26 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 13:00:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175679.319941 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL3NE-0003cP-RW; Tue, 31 Aug 2021 13:00:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175679.319941; Tue, 31 Aug 2021 13: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 1mL3NE-0003cI-OU; Tue, 31 Aug 2021 13:00:20 +0000
Received: by outflank-mailman (input) for mailman id 175679;
 Tue, 31 Aug 2021 13:00:20 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Zqic=NW=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mL3ND-0003cC-Va
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 13:00:20 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 643a2fe8-0a5b-11ec-ad31-12813bfff9fa;
 Tue, 31 Aug 2021 13:00:18 +0000 (UTC)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2168.outbound.protection.outlook.com [104.47.17.168])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-13-GgCU3FXzNfqh-CwksFTeAg-1; Tue, 31 Aug 2021 15:00:16 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM8PR04MB7969.eurprd04.prod.outlook.com (2603:10a6:20b:24c::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.17; Tue, 31 Aug
 2021 13:00:15 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4457.024; Tue, 31 Aug 2021
 13:00:15 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR02CA0180.eurprd02.prod.outlook.com (2603:10a6:20b:28e::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.21 via Frontend
 Transport; Tue, 31 Aug 2021 13:00: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: 643a2fe8-0a5b-11ec-ad31-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630414818;
	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=Xau+888nki9nF4MdxiGoeb39e6wjiY4uHlMMMGW+7I4=;
	b=MzynJ8DUAdIRDHmd3GufKpqT99ahugPZ1ofSCT256v/kBFrFpUa1TCSawBEfReydjTNanp
	vMWAfacj9oHppBq9LJcMmt9aMvcwk3Edp7F1B/qCwfWDMvm87a/fUl/zgeA4bJ/oUwsgpJ
	JQyfiEDHK4oDHNccySYhIqe9nveHYtg=
X-MC-Unique: GgCU3FXzNfqh-CwksFTeAg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=naTwdCq6OIWjs5jIAJo88XwWN+0QYMVqVZXgtu7BYwUEczrs+i/M77widpv5MwWtkMD7XmvMtM7JstH6Q0HxORIm1+I6jjMfWYC1VEs6RuE3R3H0bFiNq6hPUgrNb6E4Y9hqDXX2GhemfLL2lGEpEm7J5UzOriMs0ArEeS855bgeoA59M/y3jvNRNUQggMOj0ARF/AYHgg8pML9uOdZ51sB56a+884ZzNe/r7yYbSQ5pr/ABB1316VCr4VmhuFNydvYFcFgTxWy1ULFDOSaX1+sIjoILOC4gQpiFR8Fs9sTmYZuFl4DCoJxlh4AnH6XJa8xriQj8C/u6ONIHLUe0cQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version;
 bh=gBxnBGOD3fmp31ohyDZhmilBVF3HrbgIjJ+gG/L4Eyk=;
 b=RbVzuq7+akYMhphVAyX1xM3EqQqUZGgBGqe5L8f5oGwaSoANhNZt5O5Oi4UrkWqC+BEyPntysYNi/4C+iWvMT79ai//HEUiLZcQ5DorJxN67WIUq1l/JnPAJKTsB16vKVeDfCq/noke7mvLwYy1vShxxE2sdXETlHipxaczCCTCsT4FDer/RPCRNSaNyVo8R2H8EzY4fuzHGu50X22NbFVoCpZP/EW4Paq/0Hynqh3NKjw7q0MHlQ8L0FJrZPxjj2cN9P3WVUM5JvYZFei1qpACm6kATysgRTxtSzp2wQMByip/Gdx2t+G+Ew4DKDXJTA/Om+eW8bbz0B20iM7lVkg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH v1 01/14] xen/pci: Refactor MSI code that implements MSI
 functionality within XEN
To: Rahul Singh <Rahul.Singh@arm.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 Ian Jackson <iwj@xenproject.org>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Paul Durrant <paul@xen.org>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <cover.1629366665.git.rahul.singh@arm.com>
 <d0b7b457762d481b19c8da6c2d55ff4acb4d6291.1629366665.git.rahul.singh@arm.com>
 <0d787e5d-9232-20ba-bb9f-6b14a15d9e64@suse.com>
 <8A59CEFF-6910-43F8-9F4B-EC923ADA80F9@arm.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <fd8334af-afc1-9207-3b17-b0f271a6bb36@suse.com>
Date: Tue, 31 Aug 2021 15:00:13 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <8A59CEFF-6910-43F8-9F4B-EC923ADA80F9@arm.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM0PR02CA0180.eurprd02.prod.outlook.com
 (2603:10a6:20b:28e::17) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 9fc78f3d-fd09-4896-a2ba-08d96c7f4670
X-MS-TrafficTypeDiagnostic: AM8PR04MB7969:
X-Microsoft-Antispam-PRVS:
	<AM8PR04MB7969BB3688F44CE04CB1904EB3CC9@AM8PR04MB7969.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	oi0qnj7cdRZS8OBsBjKK5e7chRLe708D4nBmwuTZA91KVygbMQKm++wm3nxrtwkJWKkcvJ6gJpL9TuGBDhtDCj/g4MyX3GZfZ7WusmZL5Gl+5BGD1EFRX6JP0XFSCwAHqtPcD5Rn6goGYRkb7VWFVDZ2mstKLD92lOg1dYomrJ+/JvWqqSwOIMg5KJ2IYV1to2BLJW/O/n5r+M4/kFIytmh/7CObUXRue8NbewKjixuC97vQQbxBMBeWGDYJWIEeXpjF1A+HWp3jxM0/vdpXxN1NIF6tkJUJyM5CGJnU0Ee3i7wijo4TzaH3+TRYFEcs9ijrlWSXHg6qW3IrryBadxuKsDL00q7tCVy5byMTHvf8cUpJmU1Jc7w2haYfXaZh1WAphdhKy3CwqRk/LESl0A/lPr1Cq3qf6GcMNxtWlCQ4bkrnN2yXPQ5nuishx/bksX/LqGLqCPg3JdQrByfyQhQHxKYSEQAJzNEuPTU7oWih9QO9B3jXoGjuKl7a79bLrU+B3bUaV7P96HiRd9uxm0yHSDT9utbxLwfbx2RFzHZc2U7wSKZhE3cA/ODF9AnbZPeHc9faquJJW5JRWjhidFwyXnxv+LxLlZzwxCHltrfyNFtf8B1JkVwWsAsz7GR/xn9obNGZzJQFwEtwoDdgOKrEDqVDedJdrFJxV4xasmpQ53BxrugNjnB2LNeR+UwANflwbTOFmOPaTEOzdGWmCly3igLD4S/mr6Z5Mg6ZxRGiHjLgLZEGSChldozou3J/DPKHCFiAAMfZxdvp0DB4QsvYlJng9rLnywVR2cSCtUq/cefC89ynM2z8kl8OjsRaNWjtINYNa6+GzHapV5EuJg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(346002)(396003)(366004)(376002)(39860400002)(7416002)(8676002)(83380400001)(86362001)(31696002)(5660300002)(8936002)(2906002)(316002)(16576012)(54906003)(6486002)(4326008)(6916009)(2616005)(956004)(66946007)(66556008)(36756003)(31686004)(186003)(53546011)(66476007)(478600001)(26005)(38100700002)(2004002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?X3FtBSrB6khV2okqR6AJFmEwh7VK2QcbCiEN4ZA0eo+N600+G52fuyisKYQd?=
 =?us-ascii?Q?8ePA1WXfTZ+5bcnfhkOUM9aWtJP1fN0zN270Bpa8x8XwvoMsI6udbXcCbOzm?=
 =?us-ascii?Q?Mfc8L2Zt4VV1EG+Fg1mMLPLaX2xoqh5GCmVTZIYctYBQ7k2cah3kZQEQpLNr?=
 =?us-ascii?Q?n13LzV6Qm2xCtf21KaSkaO94N+a9nPL8+2qdqODRMncZa+VErAKM2lNzLiOI?=
 =?us-ascii?Q?eXSwyq3WeD3QbPYGPr/QvdJwJakhePpectoRVDJnezRRvsV7HkS0vyva3Q8x?=
 =?us-ascii?Q?8bDyAZy14Wp23FqYt2DunnR+g8fv2RObeqSL3LXvzp59YQFU/xP47sJ+Ii+v?=
 =?us-ascii?Q?6J916FsCF8GZv9+42pZq2tuHZhyHiEJVOpSj4Nhffi2yIAfTxbWkh0bMuMD7?=
 =?us-ascii?Q?au22nd5IUlIKjsxEnMJzDEoUl4OvYI9xaU87usRxLpQnmKlmSaf76tl/MvQo?=
 =?us-ascii?Q?6eBB3RrN+7/de7kgzZxUVGxLxNDIwalBGmK9ROrP7iC77jMKjE8EOg6Ad99E?=
 =?us-ascii?Q?gTpP0hDRllrMZaQde+WXm3U2RvGgxUUK2KmUVLMyXZ6WPW5dp6E903PjQHPh?=
 =?us-ascii?Q?EHrlPX1B8SulFeiuxSV+ZN6mw4vTejDM8mrshD3OClhjeurcOwwjEewqAYPt?=
 =?us-ascii?Q?rbf5bpuooIADjX4bodBUgmH4uNmcZ2XGkdRnyMHg06We0nOcELzpCoVC/JRL?=
 =?us-ascii?Q?IwIO5DJTknR9nN20rIpyLvkkiplAzaoQnJKQ8v0Urgs3BqlUquadKmcQ05YS?=
 =?us-ascii?Q?mNzF2YGrdlJO7rE2+qO9lVjxEoN+juU1SJFvAEapa92dJ3thFjDxmS6OF/q2?=
 =?us-ascii?Q?94VCAuip1ZHWQmJRI+Cknb8rDGKPtJJxpNtr3uUQtN5lPLVVY44HQt2qbjrs?=
 =?us-ascii?Q?TGqGMpotwZJfXkwiFH++yDlVeRxyrxsKd4oT04BrdxGWu4CJ6U2xrNlJ2yEK?=
 =?us-ascii?Q?SkuQxZcBx+9pSulDp2hBYi+6QPWtRYKLAG9B4Ag+nusTzzmC4cKadH4HUJ2w?=
 =?us-ascii?Q?4M20FRbgyPGMqFKdftt3OV/Ka051IexME1mG5bdldk1gimLWa9c47UNzIIRs?=
 =?us-ascii?Q?oqc3I8rq00w5SzvSdsCjNHX/XQpjnH7cGgKLFfjEQh29mx6zBaRO97Pt47GS?=
 =?us-ascii?Q?tupdwrP1WxEWlSZBegfXz/jfqIw4iOXDwZz0t1T7JdUUh6I4+ZIYaNX2ptO7?=
 =?us-ascii?Q?TbtvtEPgCWCTSB1KW+L/uYykv/C1DUnBNZ6q/5vfnLa9LMFPb4zKIBeo5+Cs?=
 =?us-ascii?Q?bXwXOIQWd+G4Fjim2zX0QdyWDMFoXVx7GPtfx8KBaqLLiIfOGaI7ds9AjaOT?=
 =?us-ascii?Q?c0XMwv1zMH5HtWQ9uHNAD6GF?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9fc78f3d-fd09-4896-a2ba-08d96c7f4670
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2021 13:00:15.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: ZNhsH+o/nk+odpTNgAeLTBbSMPnNmMYHL6h1zVeqPt6m1LzVTUhyhAgvad1R+Mshsko8LeMlgwwRqYziFuZXZA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7969

On 31.08.2021 14:31, Rahul Singh wrote:
>> On 24 Aug 2021, at 4:53 pm, Jan Beulich <jbeulich@suse.com> wrote:
>> On 19.08.2021 14:02, Rahul Singh wrote:
>>> --- /dev/null
>>> +++ b/xen/drivers/passthrough/msi.c
>>> @@ -0,0 +1,96 @@
>>> +/*
>>> + * Copyright (C) 2008,  Netronome Systems, Inc.
>>
>> While generally copying copyright statements when splitting source
>> files is probably wanted (or even necessary) I doubt this is
>> suitable here: None of the MSI code that you move was contributed
>> by them afaict.
>=20
> Let me remove the "Copyright Copyright (C) 2008,  Netronome Systems, Inc.=
=E2=80=9D .=20
> Can you please help me what copyright I will add for the next patch ?

None? If you look around, you will find that far from all source files
have such a line (or multiple of them).

>>> + * This program is free software; you can redistribute it and/or modif=
y 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 WITH=
OUT
>>> + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY =
or
>>> + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public Licen=
se for
>>> + * more details.
>>> + *
>>> + * You should have received a copy of the GNU General Public License a=
long with
>>> + * this program; If not, see <http://www.gnu.org/licenses/>.
>>> + */
>>> +
>>> +#include <xen/init.h>
>>> +#include <xen/pci.h>
>>> +#include <asm/msi.h>
>>
>> You surely mean xen/msi.h here: Headers like this one should always
>> be included by the producer, no matter that it builds fine without.
>> Else you risk declarations and definitions to go out of sync.
> Ok . Let me include here =E2=80=9Cxen/msi.h=E2=80=9D and move other requi=
red includes to =E2=80=9Cxen/msi.h"

Why move stuff? xen/msi.h is fins to include asm/msi.h. It's just that
including asm/msi.h here is not enough.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 31 13:02:04 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 13:02:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175686.319952 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL3Ou-0004Mz-8j; Tue, 31 Aug 2021 13:02:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175686.319952; Tue, 31 Aug 2021 13:02:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL3Ou-0004Ms-4s; Tue, 31 Aug 2021 13:02:04 +0000
Received: by outflank-mailman (input) for mailman id 175686;
 Tue, 31 Aug 2021 13:02:02 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Zqic=NW=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mL3Os-0004Mi-C2
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 13:02:02 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 980eec64-c7b3-401f-8b51-465d8b0250c8;
 Tue, 31 Aug 2021 13:02:01 +0000 (UTC)
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur02lp2050.outbound.protection.outlook.com [104.47.6.50]) (Using
 TLS) by relay.mimecast.com with ESMTP id de-mta-6-XYTYqxVaPASoOshk258ZLw-1;
 Tue, 31 Aug 2021 15:01:59 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM8PR04MB7732.eurprd04.prod.outlook.com (2603:10a6:20b:237::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23; Tue, 31 Aug
 2021 13:01:57 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4457.024; Tue, 31 Aug 2021
 13:01:57 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0187.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1c::31) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.19 via Frontend Transport; Tue, 31 Aug 2021 13:01:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 980eec64-c7b3-401f-8b51-465d8b0250c8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630414920;
	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=wplOdHMMxpXKDLAmVddJ3OanERZTDkm1khE6jb+nzh4=;
	b=fqBJCeqdYnNJg9BuCxjJlABIX2enNynXftcbmKNCN5ozS+pDxXoClhtI/mXCcKYHA3gEwb
	1D/LF6bIoxFdypd1yfPdlYbDP5zocSoqadtJN+McozGp6gDo9ZwRIwxzLdOX5uFDd/WYEf
	Vhsbde634Hig8XCqgt7xRuYGcWDdI28=
X-MC-Unique: XYTYqxVaPASoOshk258ZLw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ac5wB/nac5h6NgkIVNFGRlXyyw9XpLoDdGdEejuPVYCm1DQA5XJqJ7vwxEVwgzenzfhxlMQYar3h0TZgyvLGO0wfhQXfiu/KfrV0DI/r/M0LYdoXOy9aEYpV5NsZAUXMd7Ctj2Zs1VrSSAgBuByTvZ/BUUmDIadOD4qMn5HVLQJqKfLWxF8ECOZjGPiq4dT8nk2B0UbnT1TcqeGwV5FJBTgdJzrWe/OXq3eV5k4HAmAUCVaDdPYnmdrfSN6HhRlauy7vn1xIZ/SOxe81+jMgslrz8cH/KXYaPC0E5jB2HfqYPl8CZielUoaysAoY2rhf/JEYsXCKJGPNmWYJAyVMPA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wplOdHMMxpXKDLAmVddJ3OanERZTDkm1khE6jb+nzh4=;
 b=Yz/8OPN3suz7iSgLCSOO4KPd1EUU9nC0YEDzgOt9XySl/A7GNjAWyKDOuu5CJHjqK+W8iTbJ5mJqtu8YggBHCvC3MbeLJHgebS+LltQJ9yBnu2Xuc3jCCIFlvA79y9OSgm42SiNuJjtmwcXSiB5sChfThWcKVSs73YDAt6jGB2yA92BmtYixwBV3Onr1vzanzWwsTTqm0TnRn7H4Ht1p5ie+9np35w0LkIXr0NmC+gNrbuomtGHYHT7TtkLU+wzRUaBp78Gmva/DlXWlUAsluXUgF+w10vraAffj+O8pnwavt20TJAXN46RnNAwVs8TrNi/7ytgf1jmPLg3ezrMibw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [XEN PATCH] Config.mk: update OVMF to edk2-stable202108
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <20210831123637.22647-1-anthony.perard@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <b19def29-7287-0aa8-6bf6-1ca022de1355@suse.com>
Date: Tue, 31 Aug 2021 15:01:54 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <20210831123637.22647-1-anthony.perard@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0187.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1c::31) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 9a04b7ae-eb21-4cb7-ee33-08d96c7f83ad
X-MS-TrafficTypeDiagnostic: AM8PR04MB7732:
X-Microsoft-Antispam-PRVS:
	<AM8PR04MB7732B81A76274383E627B92DB3CC9@AM8PR04MB7732.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:5516;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2JXracwCuNX6m4XRfsomnXhEsNyTTStW7PSwgrzjEr3zCWMr2epcPfId6tlf9Fm8PwmMoyx8BLcMrlWbu1Mr10I5TgySJm5+oUBcyCf5jKhTvHqlGIwMPZLyqq3vplJsIIaz33zQQrsAGgQXdWBldV78+hpKQlcRfYZbV7DhE/Yo6+MOy2DQhIg2tGVUBZroKvpousvS5wHCgd37VSw/1jHPQDmVHF7SU2x57rMJpV4DuR68LWAojfTe+R8Orkcg6/a9F2K8oOBsM7RLUBZ/KiMnU5lbyrFr+hS+FRk4o+SEiDy5h6ZlQO0XpuZt9pyZW8YcIlrQgffTAd8dJoD5XJz/XiM/Dzhd2o6JDY9cc1TEN2kfw0Ynb5TPqHl96CfjILDHsch8LfEhUz7CmzmRoo5tTShHlTbDTPAM3ib4Iiu/QSo9uw7W5xfW/WM/d9FyvXs/RfcBrC6VZuYg83alGESyQJoj0g7o9QpdYfAMPRGfcDOMagOmsvC8znSDLjMlt98SnstRCZNGip8qOwzZvT7QB/yphnPnQlp0g4Go4jxF12K+bzLhixCiVdGel+08cc4AWBF/V+kEs4srMgv8JnIrFPfCVIoZHfjLil7fTSIPbmQscM292GAKO8bqQsOkquNDecyBb3qSaehv2S42T/qnAps8+wcdZ9k8XikN/GWMtGFVY6igzNI1j5ED239DPkgcrKKwAr+DJOcF5fqB7AQQyIBi9fggFlAIDNOyfPo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(86362001)(16576012)(53546011)(4326008)(31696002)(36756003)(54906003)(66476007)(956004)(5660300002)(2616005)(66946007)(38100700002)(4744005)(66556008)(8936002)(8676002)(316002)(83380400001)(508600001)(6666004)(31686004)(6486002)(15650500001)(26005)(186003)(6916009)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Q0hTc21PRWtqWGtMc1gxY3M3TDBvend2QXFzQkNLQkxscmpNdFVtMGtwMmcv?=
 =?utf-8?B?d2xvL2lia1kyMGdUQ2Y5VFBERXgwdDdvN3draDl6UTZrVEtrdGZkRCtjamdU?=
 =?utf-8?B?VXJqaUNBTHIrZDFNUUozUnZnaU9SalNNYU9JQWVFdUdYdGltaVhyKzNxUzFz?=
 =?utf-8?B?R2xmUm5LNm45VHM3ZENUVFd1ZlBOOHdRUW1DanMzYnRicUo2N0REUU9qaGNX?=
 =?utf-8?B?NVB3Sml2NUNoSEw1Skg4VzRZOUhHLzN5Q28xdkpTVlh1WGlNSStVVTZrcFI1?=
 =?utf-8?B?ZXlkNUJPV3VwWno1VzY0VEcvOHZvNURHQWNwdStEc3JYK0pqMi9QQWtXWFdO?=
 =?utf-8?B?TVo1OFNqVCszK2lpZDRtQ29BMGE1ZmlycGorTkxOV2taM2tFTjFjODRuSUt0?=
 =?utf-8?B?dGpDM0tEZUpxVEw5MlFMTmxEblMyN3VxQktFc0VqLzJVeWYyWkFuUGlVYkVo?=
 =?utf-8?B?Y1NobmdYRWFzWXRjbk9CQlI5KzdQL2VXRkJLK0dtNWNHcUYvV1RPc0tEZjlK?=
 =?utf-8?B?ZVVPMkN5cW04dnEzTzdXU1JzZFFaVGMwK1VTcURoU1ROUlZFQUhTeTNOTzAx?=
 =?utf-8?B?SFNrTWVweUpNMFdzQVl5TG9TMjlDRlkzYUoxbXErY2dxQXJXM3NKZloyTjJ5?=
 =?utf-8?B?RHJ6WGxJTnNnZHVyZnZyaVVZVC95SDZWcUZYa0NlVkVuMDBVNVpHVXF1MmVm?=
 =?utf-8?B?elZlRjYwSno0ZmloeTQvQk1NYUlHajhYTTJYZWFUS21yeExhRkNnY2J5d3Z6?=
 =?utf-8?B?RCszN3R4Y0djSUZsSzkwYWNNV0oxUTVnczc5LzhLZ0EzY1VHUzVlSmIyVjJl?=
 =?utf-8?B?dXlybDM5Ty9LbWU2MXYzZkVWcU83WnJvd2FWMlpyZ21maGc5M0l1RkFsUzds?=
 =?utf-8?B?Q2pLTnV2UE5QM3FLRFd4a21yTTljRENpWEw2NTRRK05GZmJKV0Y2MEpZK1B5?=
 =?utf-8?B?c3ZuT2MwNkJOV3EyenpKRjZMWnVGNklSU2w5UE9HTjNPWHkwMC9RUmExck9K?=
 =?utf-8?B?YmVIRzRxT01adjhwRFVPTmJXaHl1K25wN1h1Y2NTOTc5ZG85UlhIQWo1Q0FH?=
 =?utf-8?B?ZHFhYUdZS1JTRjN4Z0JwclVaY0JjV2t5V2R2RExhRTJGNVViSVBWeHNINTZP?=
 =?utf-8?B?RWNsOTlyazVzY0xTUjVTRTVDajg0Z3B3Zk55S21OQWF3ckh0ek04TE5TNXd0?=
 =?utf-8?B?Ymk5Z3RRdmZENjNQZWp3RFkwZHRXUXNZeGVVdW9sMEh2Tm5nWFllSkwxRVhK?=
 =?utf-8?B?NHhnMUNFK3o3VEkxbkhlUWxOWWlLK2hmVXlaZkxaRjNBVGErbzJEZ0lodGRH?=
 =?utf-8?B?SDVRdFQ3RFBuTDd6bzVXZVE2MXlScGZkNXd5S1paNXk2Q0dsM1RWbFVqcFRQ?=
 =?utf-8?B?aGRRMVpFSE5ZRHVuM2lTV1doY1d0ZkpyTU1ITU5KRWdEL2F0Q0hlc0RiTVM0?=
 =?utf-8?B?RkxOc0oyQWdMM3hIdnZEK2ZJblErVS9YWlBmbVpQTUN6cElaYklwYnhWZUor?=
 =?utf-8?B?RjlZUldSK2pEMG03ZWlRWW41RFJycTk0YjVyZmlMYWQrOFAvR1F6eDJVQ0pC?=
 =?utf-8?B?TEE2MUxOWW5zZWVFWlBKVHRtR2N4c3dMT0ljelRVN0xMTkFpM21KWCtnMlkz?=
 =?utf-8?B?NExuM21rQk1mbG82YzdBaTcvT3FTSWZsYURKQ20wNXR4VnlqZUp2Tm9TREVl?=
 =?utf-8?B?RkdnNVNLOExTSDRHdk5oMy9iTUtqUkVOWXJwd1c2czZuTjJvRDhqbEdneEJJ?=
 =?utf-8?Q?EwmW09iCXOxL9TQ/623JRgB2yHlE4FHN8h0RBqD?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9a04b7ae-eb21-4cb7-ee33-08d96c7f83ad
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2021 13:01:57.6625
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: r9djRscNz3ZBDdUTURX22p0NwtGBYDPrqt7R7Mrsb5vCu+muhruLJbpysIqAu77tKfKAIDmuVav6AQ6KJFLkVw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7732

On 31.08.2021 14:36, Anthony PERARD wrote:
> Update to the latest stable tag.

Largely out of curiosity - if that's truly a tag, ...

> --- a/Config.mk
> +++ b/Config.mk
> @@ -244,7 +244,7 @@ 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_REVISION ?= b37cfdd2807181aed2fee1e17bd7ec1190db266a
> +OVMF_UPSTREAM_REVISION ?= 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5

... why not refer to it here and instead spell out a hash?

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 31 13:02:05 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 13:02:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175687.319963 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL3Ov-0004do-LZ; Tue, 31 Aug 2021 13:02:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175687.319963; Tue, 31 Aug 2021 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 1mL3Ov-0004df-HD; Tue, 31 Aug 2021 13:02:05 +0000
Received: by outflank-mailman (input) for mailman id 175687;
 Tue, 31 Aug 2021 13:02:04 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mL3Ou-0004YG-SR; Tue, 31 Aug 2021 13:02:04 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mL3Ou-00064d-NQ; Tue, 31 Aug 2021 13:02:04 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1mL3Ou-0001TI-D8; Tue, 31 Aug 2021 13:02:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mL3Ou-0004KB-CS; Tue, 31 Aug 2021 13: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=goWj/6XLHPXJM24vCU3o/gJKqskRkpALvj6rw3R6ENI=; b=5hg13kD1rJfU2h54dmMHlEV/5e
	4cBuXSFgD0O6HUyPf9JPu9VB/Nf6uw97Jv4trGnrtaFnFJZ8R1BoRm0LWly0I1bLegofhZgyIJlvO
	WbCq39vHvX/q/HOpJjWRCbtMTCwk1bpM8+7DuQxtBO5hXU8roJHK/65cMXFmaCNtO3FI=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164636-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.15-testing test] 164636: regressions - FAIL
X-Osstest-Failures:
    xen-4.15-testing:test-amd64-amd64-dom0pvh-xl-amd:xen-boot:fail:regression
    xen-4.15-testing:test-amd64-amd64-dom0pvh-xl-intel:xen-boot:fail:regression
    xen-4.15-testing:test-amd64-amd64-libvirt:guest-start/debian.repeat:fail:heisenbug
    xen-4.15-testing:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:heisenbug
    xen-4.15-testing:test-armhf-armhf-xl-rtds: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-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-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-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:migrate-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-thunderx:saverestore-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-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-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-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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=91bb9e9b0c0e2af926ab08958f3d65f07a105cb6
X-Osstest-Versions-That:
    xen=dba774896f7dd74773c14d537643b7d7477fefcd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 31 Aug 2021 13:02:04 +0000

flight 164636 xen-4.15-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164636/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-dom0pvh-xl-amd  8 xen-boot              fail REGR. vs. 163759
 test-amd64-amd64-dom0pvh-xl-intel  8 xen-boot            fail REGR. vs. 163759

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-libvirt 20 guest-start/debian.repeat fail in 164564 pass in 164636
 test-amd64-amd64-xl-rtds     20 guest-localmigrate/x10     fail pass in 164564
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat  fail pass in 164564

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 163759
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 163759
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 163759
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 163759
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 163759
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 163759
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 163759
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 163759
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 163759
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 163759
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 163759
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-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      15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  91bb9e9b0c0e2af926ab08958f3d65f07a105cb6
baseline version:
 xen                  dba774896f7dd74773c14d537643b7d7477fefcd

Last test of basis   163759  2021-07-17 04:12:25 Z   45 days
Failing since        164262  2021-08-19 17:07:29 Z   11 days    8 attempts
Testing same since   164495  2021-08-25 23:22:14 Z    5 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Dario Faggioli <dfaggioli@suse.com>
  Ian Jackson <iwj@xenproject.org>
  Jan Beulich <jbeulich@suse.com>
  Jane Malalane <jane.malalane@citrix.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Stefano Stabellini <sstabellini@kernel.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 983 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 13:03:01 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 13:03:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175700.319977 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL3Pp-0005bm-0v; Tue, 31 Aug 2021 13:03:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175700.319977; Tue, 31 Aug 2021 13: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 1mL3Po-0005bf-TK; Tue, 31 Aug 2021 13:03:00 +0000
Received: by outflank-mailman (input) for mailman id 175700;
 Tue, 31 Aug 2021 13:03:00 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kH2E=NW=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mL3Po-0005bZ-4o
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 13:03:00 +0000
Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c75f87c5-f6a6-4152-8d4c-193d7b7631ae;
 Tue, 31 Aug 2021 13:02: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: c75f87c5-f6a6-4152-8d4c-193d7b7631ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1630414978;
  h=to:cc:references:from:subject:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=9ShPgg7UJdgU1k98y5gKFCsaZjWlXFc+sBPhvZIzyok=;
  b=XRf9I9QtYxnD9YT0MAF+IGvgAcGxdRbeuAcssYWe6TCdeco1a0uaR96R
   qTRPHNAfz25oIDoxbPLDaO77t3DU3esiT7oleev2u1mtX1YwPrG6PdsA3
   n/CxIIE45v0zOx9ICxM+OxxiYBLXDVjhvuwdq25L248uxRR8mM+13ZI7s
   M=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: ypViPJkEV8AWID0kPNAw1xV91BFgasGQA4yJ/mZh1mmpIwpsNbsOZ5cjtOs/z+B7jXADhi3ov7
 Z59yxkyEbr/wIo+u4GsXedCDxrY8RFrcoxmpnUcEUOhHAMGHhZ2kRZAnthaadcm2ub+7XgZycP
 BkdPQN/hFjBiqOG46ezbhC3uHId+YZVhzrBgpNtpoWHofdTwcM9DlOCtYLQeRgMBS1uQkW6YG9
 yMqBRxgtElzdOhY+5VTG6ODfHhcMs2HviHVTM4DecT1LNkTNdTZJBuEvL3AtYVz2NuLO19/qz6
 BHspB5hH0bmBRlIHgm/j90Hu
X-SBRS: 5.1
X-MesageID: 53427840
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:csAAJKG8/P/+A/QSpLqFZpHXdLJyesId70hD6qkvc3Nom52j+/
 xGws536faVslcssHFJo6HkBEDyewKiyXcT2/hsAV7CZniahILMFu9fBOTZskXd8kHFh4lgPO
 JbAtJD4b7LfChHZKTBkXCF+r8bqbHtmsDY5pat854ud3APV0gJ1XYJNu/xKDwReOApP+taKH
 PR3Ls9m9L2Ek5nEPhTS0N1ENTrlpnurtbLcBQGDxko5E2nii6p0qfzF1y90g0FWz1C7L8++S
 yd+jaJp5mLgrWe8FvxxmXT55NZlJ/IzcZCPtWFjowwJi/3ggilSYx9U/mpvSwzosuo9FE2+e
 O87SsIDoBW0Tf8b2u1qRzi103J1ysv0WbrzRuijX7qsaXCNXgHIvsEobgcXgrS6kImst05+r
 lMxXilu51eCg6FtDjh5vDTPisa1HackD4Hq6o+nnZfWYwRZPt6tooE5n5YF58GAWbT9J0nKu
 9zF8vRjcwmMm9yV0qp+lWH/ebcGUjaRny9Mw4/U42uonhrdUlCvg4lLJd1pAZYyHpVIKM0lN
 gtMcxT5fpzp4EtHPpA7Epoe7rANoX3e2O5DIulGyWuKEg2AQO5l3fJ2sRD2AiLQu1E8HJgou
 WMbLtn3VRCMn4GT/f+h6F2zg==
X-IronPort-AV: E=Sophos;i="5.84,366,1620705600"; 
   d="scan'208";a="53427840"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Af+/RZt9JWibd+A4agowti3JGF3LqKhKSS/6hwh9Yov1sM00YCESTA4lJPEWpHNl5oSh6cP8T2/CgtIc3ZVLa2pJrqaFV/4CyPl8QfjvbH/L9gnjSnnUY48XKJWNxXLes+rwbsT4NWgnfWo40cPKXRuXMJHVdS8ZUV52kHfqhrbiYqIoh4zGK5nOTiT36/V27caUKwMgpjYbP1vf8dCgC5Z3wJH2Y7iYy6/4CMR5Zi/N5dYsmLPDCXlBeJKkB8eZ9fB1JZ/sh9/KPgXKfYgZNaGhFop+MDoGr4Z/iBzAUrgzvJeLgFiucbyI+n4MzG+35eFMSW0Bd1Goj1xSpiHIqw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sC6FxcV4fWhBGy+WBcSzHx34FejOsk/gvQo5l1SaVX0=;
 b=eBHhQB3N3l6brkDNbJB4YpGaJBsULS0fMDCDJpWL1TQ+KcN4n+pk+K8L/WAZ1QGzD8ZRCDmmPtp1YJOX0P/tnrnwiiZvdgvx9tPCISI9g6LsA1hrSiYN3ZopDXh7sVhVJ/QveQXx/FYuLtVF4NOuAikhhTEYXttTZYXlgDzK1pMTkibyeJSNXes5CRxeGFnpzeHeZBrr2ynpWw0AYql66qM02bq4zNnabKkqeDw5rMtvpQBWw33i7g4vj29BpY2UFKWeYZf61rX38MeMLqWjsaCXTiHm9CMJ11PBg8TfKSBU1JgUfrNQEIhuL2THkztC9RqyqnBBPEls+C4LiSRAyg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sC6FxcV4fWhBGy+WBcSzHx34FejOsk/gvQo5l1SaVX0=;
 b=G6fNzM5ygZ8hO6mIr+sHSuCrCCwJRDx8wdZSgBbD7YNTKxg+gfjMIVCKYuakyxzWfxsl+k5XAMAcjAtOcnBfAmDE42G4gif04F7cMfOvba/sVpNox6F4WGluQ28ILxpm+wGjb3gRhnnRsqvS1CqbcY8VucHswIs4Omn7Ohd5OMc=
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: <aae19abb-e88b-8bf8-6f1d-502ac6645d6b@suse.com>
 <013c49f5-7a14-9d9e-4d25-75934bf6349f@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 1/4] x86/PVH: de-duplicate mappings for first Mb of Dom0
 memory
Message-ID: <9cfc122f-dc4e-9dc0-0b57-48abf941025a@citrix.com>
Date: Tue, 31 Aug 2021 14:02:49 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <013c49f5-7a14-9d9e-4d25-75934bf6349f@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-GB
X-ClientProxiedBy: LO4P123CA0156.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:188::17) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4784cef8-dd17-45a7-9dbc-08d96c7fa661
X-MS-TrafficTypeDiagnostic: BYAPR03MB4870:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <BYAPR03MB4870725B252EE8D91A5B870FBACC9@BYAPR03MB4870.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:6790;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: Ayw52NBEwq/dxpgmorQCJX87uREeUD5kKlcVkgxJ0k2zDIeKQqQ2jx59t+NzD6IK3zUrdT4QnggPnh0JDYiQQ5SXaEI6kqCklt/2zWcbFuF7htxcYD981haznGbCIsATm+jPj8CfUQzMF1s2lYZ+uA81nt7CM8DfhR6PlhqIAH8calIaGDrbWwhAY9SWVL9wVVz7rVio2Z5Kc6h/z6TsWLExIatdRt1IvFWmuBzTC1jwY55+RTj1Wo3SE6LySmmk4UnN6YTJwe6fITsnXszv3Q0dEYWeXvXtDsCa5CLuJTCC5PqerhjDVnVMmbAKcO1Htpb0l5treklkfsNl+GK/KwHQKOULuRyZuZ9Bs2xxGNezVu+SY+YJokApTcqHsLdNNaS4srZw/UujUo0RRH/ItW4asBQnjm3IK3i5yzbhth9nnms5fYPBIIGRQAVF9wItNtWJxT73u8KrtbBTaNTtKbcOzguRnMSUWOEZ5YNOBwPzLTEA8z2LbrLiyhshByCrdgKGP7gxpGXD0WnSoqwCfTabezh19wM11gguP8Uxnj2LGqY9xFfG+8DF9hpwHBbIUu50IA3bAE0FcZpypod+yYMEb/xeIeVS0G+nN9v/uXEea5LFVa6qhQiRUqxTjy6TU0v2coMsgzVYJQSRynVGUTNZm4ltrxsYkN/P7qNFa/dwTxLFtqID2T88bZ0wVIrzmgsOaRUCzYCSNAbG+hR4ZPql9YrxCsTZREuusRhw+uE=
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:(4636009)(346002)(136003)(366004)(376002)(39860400002)(396003)(478600001)(2616005)(110136005)(107886003)(36756003)(31696002)(66946007)(956004)(316002)(66556008)(31686004)(55236004)(53546011)(186003)(16576012)(26005)(86362001)(66476007)(38100700002)(6486002)(8936002)(8676002)(2906002)(4326008)(54906003)(6666004)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZGNnNXUrYnA5N1k1Q3dmWWhGS3pqdmRwNjV5QTE1MVBQSHJNMmxGcXB2dG0v?=
 =?utf-8?B?M1RCUjIrUWFucUkyTnFmZFc0KzBxZHdSNlcwaThYQ2QrS3d2STdmeUl6cG9a?=
 =?utf-8?B?dG00QTF0M2huOWh5SE1JdUVseUFuREtXb0tSaXcrMVZBNnZKZHNZdXNTbFFr?=
 =?utf-8?B?UHFYSXgrRy9kZFNCYWNRQmpGV2pFc3NvVHNpcW9UNU5qejEzdUZhcTM3NElm?=
 =?utf-8?B?OW5jTkRaektLOHBQYmpuVXR2dW81UVFBQitTZXZaSTNMNmE0VDNmZTNyN2VY?=
 =?utf-8?B?UTBuWXdtY1N4VDFKNzlzRGpaKzA1b3lSOTVMNmtSa1FrbVUydnBFWEhzeWd5?=
 =?utf-8?B?aUFjL3hjQ1RYdy91dUc4TzNDQ2Fpd1AyOUxpc3EyTWtoVjhicEhJMFNTR0lH?=
 =?utf-8?B?dVN2cHNlK3ZzaUtwclQvbWdGcW9ueUpZYkIxaUl3cHRHelZTWTdvQytyM0R0?=
 =?utf-8?B?L1lybjdEbFdmd0toUnRDMTg1Tk13by9HREczdjZzWDNheUpzV2VpOEpDUFBz?=
 =?utf-8?B?Y1pxNjB1Vks2UmhkcGxQQTN3VlpMc3BYUFRLckZrUlJzdmhMZU5ZZmpXSS9B?=
 =?utf-8?B?bGVoVElJL1Frb1cwaGd2QTBVMndBZGd5WjRBZCtISTUxSlZ3N05mOUo1Z1pk?=
 =?utf-8?B?UXpZcU1nL3pYdnlKNEs5WmpWQ0lIZkNCUTNFMjNYbGdNM2lBdS9FMmxCZEhK?=
 =?utf-8?B?dVlGTnEzVE9ZUk5CQmhublhwb0h2K3dLZ0pJMno2V3MwMTREYUl6SGtzOUxu?=
 =?utf-8?B?a3BmMmxnRTZ5WUMwdWR6SXJUNmREN2cva3V2SFBKOFRkVythTHhNTzFvdCtD?=
 =?utf-8?B?UUZoSndmcFNWelFUOHQrOW1PdTRsTFdMS1hCaFQ1bXpqdGpRTGd2RlIydXZv?=
 =?utf-8?B?V25xek5ONGxFMElWVkxaN1ZiSU1POGxNZjEwM3A2Vk1TNlhtc1hKUEcxTEk2?=
 =?utf-8?B?bzJQVEVOUlZKbVpDVWVFZEttMTh0T041ZFNCRnBWWlc5ZFhMbncrS2I0Uyt4?=
 =?utf-8?B?eUJKSzA3K0NDZWFPeDFQZUIzMDA3SUpONjZtWjNMbkRUVU1jYXVKOGg0aklO?=
 =?utf-8?B?eGZrNlprSEZPTmQ3bjJpa045L3pMMGFOei82Ym4zZU8yRGNRUVhoQnhJbmU1?=
 =?utf-8?B?bTR3Y1RaaldmZUtNZGl3Szk3SDE3WFRUSmlxNTZGNXJKSzBRb1JHWWVWRmhi?=
 =?utf-8?B?L0pLYnZKdEdXNTh2cXpPSW5qOHJTWWZKS0NMTHRVd1g4T09MeDU1UzBuVklU?=
 =?utf-8?B?MEszTVNTV253MmRZSDByUmtTR3JFR3VSaUt0V09xczh4ZkRKZXFYUy9zSGVZ?=
 =?utf-8?B?cy9Gd3lCY0ZYTTVYQzA4Rk8wRUFzWGhrR05kQVpNUll0TTFqTTNTcXR4UVBR?=
 =?utf-8?B?eG9aS2VadXE1UEM4UFJGN1lOK1grenk5NjZkVlBUbTBubWZzREtNbmdOYmtj?=
 =?utf-8?B?REc0K2U5NTdrVmFHVEN5SVFwT2hDU3I2QUFnRWN0OUxpOXRQb0gwUDhxUVRR?=
 =?utf-8?B?R1FkTDVvZ0xUWlMwaENiNExISkJTUndsNjgrWEJ5TDU5Qlp0SC9zb3lDZlBG?=
 =?utf-8?B?NENzcE55RFRPc2VMM1Q4WEFJZEhlN0llYkswdEFIcTF0Rm5DcEh6SHFRNmxF?=
 =?utf-8?B?Vm9vSm90WGlvRUhUdU9IOUROTVUvMXNVWmZNaWZ2a1JsSEpnVHBObmhxQi9U?=
 =?utf-8?B?dVRaS25GVnFmTmdRRFZsSVN3UG1tVHJvVGp5cUpWd2JEeU8zZlZlYThXdkxx?=
 =?utf-8?Q?pjMlskZ9qkNIATeDTzw9HjkHrseZoheOjy7IQpy?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 4784cef8-dd17-45a7-9dbc-08d96c7fa661
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2021 13:02:55.8976
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 73nDR05w0tpJfiFCd/H/+4aR9FOPjLQLpTEr+8OgRByNfOsJu8QUOZLzorvUwJvMp9Gi4wFQ6umdlgwq83OHaf2l52/kyO1Es7/ncEO8uqU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB4870
X-OriginatorOrg: citrix.com

On 30/08/2021 14:02, Jan Beulich wrote:
> One of the changes comprising the fixes for XSA-378 disallows replacing
> MMIO mappings by unintended (for this purpose) code paths.

I'd drop the brackets.=C2=A0 All it does is confuse the sentence.

>  This means we
> need to be more careful about the mappings put in place in this range -
> mappings should be created exactly once:
> - iommu_hwdom_init() comes first; it should avoid the first Mb,
> - pvh_populate_p2m() should insert identity mappings only into ranges
>   not populated as RAM,
> - pvh_setup_acpi() should again avoid the first Mb, which was already
>   dealt with at that point.

This really is a mess.=C2=A0 It also seems very fragile.

Why is iommu_hwdom_init() separate in the first place?=C2=A0 It only does
mappings up to 4G in the first place, and with this change, it is now
[1M-4G)

All IOMMU modifications should be as a side effect of regular p2m/guest
physmap operations.=C2=A0 I suppose this is another breakage from the PV si=
de
of things.

> @@ -1095,6 +1101,17 @@ static int __init pvh_setup_acpi(struct
>          nr_pages =3D PFN_UP((d->arch.e820[i].addr & ~PAGE_MASK) +
>                            d->arch.e820[i].size);
> =20
> +        /* Memory below 1MB has been dealt with by pvh_populate_p2m(). *=
/
> +        if ( pfn < PFN_DOWN(MB(1)) )
> +        {
> +            if ( pfn + nr_pages <=3D PFN_DOWN(MB(1)) )
> +                continue;
> +
> +            /* This shouldn't happen, but is easy to deal with. */

I'm not sure this comment is helpful.

Under PVH, there is nothing special about the 1M boundary, and we can
reasonably have something else here or crossing the boundary.


Preferably with this removed, Acked-by: Andrew Cooper
<andrew.cooper3@citrix.com>, but only because this is an emergency fix.=C2=
=A0
I really don't think it is an improvement to the logic.

~Andrew



From xen-devel-bounces@lists.xenproject.org Tue Aug 31 13:14:27 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 13:14:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175708.319988 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL3ah-0007OH-5I; Tue, 31 Aug 2021 13:14:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175708.319988; Tue, 31 Aug 2021 13: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 1mL3ah-0007OA-24; Tue, 31 Aug 2021 13:14:15 +0000
Received: by outflank-mailman (input) for mailman id 175708;
 Tue, 31 Aug 2021 13:14:13 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Zqic=NW=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mL3af-0007O4-FO
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 13:14:13 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 54cf1ec2-0a5d-11ec-ad35-12813bfff9fa;
 Tue, 31 Aug 2021 13:14:12 +0000 (UTC)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2177.outbound.protection.outlook.com [104.47.17.177])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-2-HFaPn74_OjKTVBOWam4gHQ-1; Tue, 31 Aug 2021 15:14:09 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM0PR04MB4786.eurprd04.prod.outlook.com (2603:10a6:208:cf::25)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.20; Tue, 31 Aug
 2021 13:14:08 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4457.024; Tue, 31 Aug 2021
 13:14:08 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 FR3P281CA0069.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4b::16) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4478.9 via Frontend Transport; Tue, 31 Aug 2021 13:14:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 54cf1ec2-0a5d-11ec-ad35-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630415651;
	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=vLjecU7GYaAmb3YL7pJM2KztGqTG8vAzo2yXK0EOZjg=;
	b=TqY8WDELgzwTwmNic44LETTpGbWIYsCF9lZwBlWzlEX0QhT2oWFkrMcBO8us8CJWJTG4K0
	89KSUVJ5YsFN7xONTDtmmJbY4ZodvSWxnrEmJcUu8UFYAhUqQ1idgfPXgzXeZbYlNfRmE7
	GAWPJdXQYdanXIgelpsK41WIsoVkMlE=
X-MC-Unique: HFaPn74_OjKTVBOWam4gHQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=a2ePx6cxZVxQSj1YxzSCZDEUTINh5yDh1WJ10oM4cC9PXKGnEcaO9RvZgXSxG1fs3WtqlxEWKAhEJIQDnNOAC9flp3h8R2U2FxK38uy9UPZijpMvVB2YzkVnO1khaWsWf4UEHLwqh1I169FLjpxME5qEN0NK2itOBiYYTBaXc1B/iVan+7EL6Pn5WJpEKmwVQa6in9iKPgAsGU5m+npX/9vF9nuG82EOehUi+PH3o9/SwTPQixxMEQqIhTZKNFNqtjWfjsHhEHWBk7jPLPBalfucv3t3M/7JjORl/BuBi++vPZ5oR5/Cdb/nqFmIvT1qy4YqhAhz9xlwMnxt1HkW/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-SenderADCheck;
 bh=UFF4fJKbHp6YIArCTDYlMsJMmLDJ5i1iQ7p6he4/FCI=;
 b=b105gyk1hgUds2kEKdgu3ThnSpEN8SU51CngqJDVOHGe169zYz2SB/bxXGmg9XvsdCw17y1H0/uhQVimp1tn8flzynaUs94q73vkDaFw2bJXfVdO7pwnZLStG8KYMPJSh/B5nkRoQ6gVH3G041AqxaR52QkVgRZEPjY/6ElSPd49Bd6y3LN/JKvCToEVNuueHXXdD94eumj52z+yhdz0+3UA0whlyLtCdjqSchz45uAy8XDKxjKUAFW+1dx90cIgcn/doHJOuoN2mr77yzECmOzLLCs15cRbKsWSh1uHxvmx5hJAyCsnATIP6+dKeneAbU1XChqBlf1SNgrDQyntVA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH 1/4] x86/PVH: de-duplicate mappings for first Mb of Dom0
 memory
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: <aae19abb-e88b-8bf8-6f1d-502ac6645d6b@suse.com>
 <013c49f5-7a14-9d9e-4d25-75934bf6349f@suse.com>
 <9cfc122f-dc4e-9dc0-0b57-48abf941025a@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <866a3677-1f1a-e0e5-7ab0-10c210e25610@suse.com>
Date: Tue, 31 Aug 2021 15:14:06 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <9cfc122f-dc4e-9dc0-0b57-48abf941025a@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: FR3P281CA0069.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::16) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a59fd604-4a61-4e3f-a7b8-08d96c813737
X-MS-TrafficTypeDiagnostic: AM0PR04MB4786:
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB47869DD341ACAAB9A6DF3E5AB3CC9@AM0PR04MB4786.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Hk1eX7c/5p35kmqPoaFn2jT2FFG8aG/LCgR/tVWpQeAXYVFa+2VlPK+D55w9veqtluGIr8b5Jw7Zg1ieya+QVD3hjoUeXao16mBx+agj72/NC/W4CJ1YgzQypq/QftOt7HjEEjz5KFAgq+a/VDoqSpt4r7uK+FE3aoeNZyhvzAoTqfKlyYsUEvEueHWWUnvx2q/TD0wfUeeq6p6KF/G/QGQ+OiovRt76JAgmoL3I96TvrnS92a02vzbH/1oP+PR4RvPyQl+16jggkdXq2sxfEUBu8uSmA58m43SCK9poGQS+fIyU+l9DoC7rmpuaKfH4f1//Qnjz9AAQjWRJO2clboAJmCQ2/WSeyAY09qRcEIUZykuk9E6G7HH8wxuPqaqOIMiAco4sDwUoX5+cHU5JGpwc0FzZZxK6jMc7p4Vanj1OvcJ3E4u5ulDCDA4htonbidDBrvY+eyibcXqlS5OHpozUl7m27fTXTf4+GbOKJCE8lVyOtnOtvm9GXJ08WnCjPHVIz4EgmkkRIO/yfKn7S8cElDRVXCNbnZmX2BWjjd2iPduG/MrIKjX7Hse4piHkQOH6OsucGpkB/+HtxaREJCNw2IxwSOrxcaAqDa/kObDhYZlpEA6bVsISTrRERKZDJKmgM9MjJ2B7pE+B8WbFtw9JjnVGsfzNWDjtq5ozv+ddUkjkXOt3nX7ILOBUqdA/wWlB0rWWnop8QP5TH0H4KDyIdt2wnkr4jlxWwlB7UNw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(54906003)(2906002)(6916009)(186003)(5660300002)(26005)(2616005)(53546011)(8676002)(36756003)(6486002)(86362001)(4326008)(83380400001)(31696002)(16576012)(316002)(66476007)(66556008)(31686004)(8936002)(956004)(508600001)(66946007)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?m1RHutMArytQZHvSi1Of2gMg+dL/4iLn8cPshC2YpWM7mZR2iPKEw+PKBPe1?=
 =?us-ascii?Q?bjtQ9QXsbJYm1hPLCtiE25bSxYBhngYJz8LUt5kH69LBNCB3fsaIyNw5wQt+?=
 =?us-ascii?Q?aWrgolA+UipJYgVa0rRdrdTeL+ULEuSpzf+pNcBRbrcRTZqafAI+8DKvc4MI?=
 =?us-ascii?Q?FnZYg3U97Wsx/rW8A2PmToOqoEhXZ4DhMfcH7hxfUAWe3RsdZ7f4FjKQQwRz?=
 =?us-ascii?Q?v8tS9jbFCRiEVgNCEk6JyuMfCGN1GXL+4HoBsHmT7IXK/yas8sBNTDaxDmby?=
 =?us-ascii?Q?pdWLOD4iDgqTVcKs053a7Tn6H0Sc0gpfypxhU0kGOM6e+ENYVT03bXzuhYhQ?=
 =?us-ascii?Q?obxEpAYgcjiJpopPCMYnkbI72ogO8pDvldthB4TxUnsCx/fgWaNkR7YW0AbD?=
 =?us-ascii?Q?faBmjo8X89yzRLjjM4rwVV8eo9QkAsIl9IT8KLUMNYX5d2UxS1m+B1IMfYn/?=
 =?us-ascii?Q?gYzWPbeMY5oqRmPBu36uwawF5fNYlkI5l4dY2eZmajybWbIgIKO1oSc7iZZe?=
 =?us-ascii?Q?/XjwqPtQ3HcDrqGUST2dlotY0kgFgL4E8tMPMF66JC/jhfc5/vvwN/XZ2xnJ?=
 =?us-ascii?Q?J1kwJv8wMPBcvzf+kGH01ybSY4FKr/jMNoaCphLX9k9lbqExaWzOAuR5z9e3?=
 =?us-ascii?Q?15CHV1iNBfsvJGP8E4ADS+I7rqpSF062Lv2obgijVAIYO/5PDc7cKedEkYWt?=
 =?us-ascii?Q?8e8bOxzwi1bLb+iAGgpD3Ulkexh9wfyjXpW5gWEJxT/tfUuyQvztx7oZbtuG?=
 =?us-ascii?Q?SNrY2L+B9zUGwQMii98FqjqoU0k9/kL4RtnVZiO3PhHBUo9M1s5AGE2UUWG2?=
 =?us-ascii?Q?BdpE+B71fYjOh1hx4HSxZl7duzf95fcUZ9nPpJrSvXR5L6q8wyjv31KxJhmr?=
 =?us-ascii?Q?1QiOLYbX/zU0pePG2je6KtuoQxl6Jt+4hCICti8Ebr4qCxi90yfrxSVKRlHD?=
 =?us-ascii?Q?0DQx/f3AlQmftSXu/dVd3D65U2Xrzo8rWWeObWQuutrbwKgmkWyCSXQobseA?=
 =?us-ascii?Q?whGkNqciLzENMOOGWzDKiex1RZyVOe7MRi6C25wMTleRhRyHHkYY2vVYyDVE?=
 =?us-ascii?Q?6bWa1P1fhKXxfi271ginexq4To5qEnqSBvB72uK7tX/WQxILQuR1vFdayt6N?=
 =?us-ascii?Q?NK3Ik0gCQyLW+A4Xp0pLB+yvSzN6CKcCpgWpScNUOOep5PCX5Gzw+fJ4KXxP?=
 =?us-ascii?Q?tf6Yo1m+x62KmwCU0pSnG9XMMSaNdlHvXKJm3VmUXifHvzcmTGs1BIGwIbs8?=
 =?us-ascii?Q?ISDtmQrjfIqlaGEhy1XlNSGkMMVQTW6dubIsu5T6Exxxpm0RC/wiyxVwvgBY?=
 =?us-ascii?Q?iiYlkJr6PnjuhqKXlduaW1hC?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a59fd604-4a61-4e3f-a7b8-08d96c813737
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2021 13:14:08.3770
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: NCYeZ10HPS1lkNPzDpQdwwnCCfhBTFKYEviLrf19P4T0JoalcemRYNhJPavzC7tTqA0Nn7fqIJgLNMpLieqC6A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4786

On 31.08.2021 15:02, Andrew Cooper wrote:
> On 30/08/2021 14:02, Jan Beulich wrote:
>> One of the changes comprising the fixes for XSA-378 disallows replacing
>> MMIO mappings by unintended (for this purpose) code paths.
>=20
> I'd drop the brackets.=C2=A0 All it does is confuse the sentence.
>=20
>>  This means we
>> need to be more careful about the mappings put in place in this range -
>> mappings should be created exactly once:
>> - iommu_hwdom_init() comes first; it should avoid the first Mb,
>> - pvh_populate_p2m() should insert identity mappings only into ranges
>>   not populated as RAM,
>> - pvh_setup_acpi() should again avoid the first Mb, which was already
>>   dealt with at that point.
>=20
> This really is a mess.=C2=A0 It also seems very fragile.

So it seems to me.

> Why is iommu_hwdom_init() separate in the first place?=C2=A0 It only does
> mappings up to 4G in the first place, and with this change, it is now
> [1M-4G)

I guess we'll want to wait for Roger to return to shed some light on
this.

>> @@ -1095,6 +1101,17 @@ static int __init pvh_setup_acpi(struct
>>          nr_pages =3D PFN_UP((d->arch.e820[i].addr & ~PAGE_MASK) +
>>                            d->arch.e820[i].size);
>> =20
>> +        /* Memory below 1MB has been dealt with by pvh_populate_p2m(). =
*/
>> +        if ( pfn < PFN_DOWN(MB(1)) )
>> +        {
>> +            if ( pfn + nr_pages <=3D PFN_DOWN(MB(1)) )
>> +                continue;
>> +
>> +            /* This shouldn't happen, but is easy to deal with. */
>=20
> I'm not sure this comment is helpful.
>=20
> Under PVH, there is nothing special about the 1M boundary, and we can
> reasonably have something else here or crossing the boundary.

As long as we have this special treatment of the low Mb, the boundary
is meaningful imo. I'd see the comment go away when the handling in
general gets streamlined.

> Preferably with this removed, Acked-by: Andrew Cooper
> <andrew.cooper3@citrix.com>, but only because this is an emergency fix.

Thanks. I see. You'll like patch 2 even less; at least I do. And I'm
not really certain that change is enough to cover all possible
systems.

> I really don't think it is an improvement to the logic.

Yet I suppose you also have no immediate suggestions towards doing
better? Of course right here a full rework is out of scope. But if
there were smaller bits that - if adjusted - would make you feel
better about the change as a whole, I'd be happy to consider making
adjustments.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 31 13:16:31 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 13:16:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175714.319999 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL3cs-0007zO-JW; Tue, 31 Aug 2021 13:16:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175714.319999; Tue, 31 Aug 2021 13:16: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 1mL3cs-0007zF-FR; Tue, 31 Aug 2021 13:16:30 +0000
Received: by outflank-mailman (input) for mailman id 175714;
 Tue, 31 Aug 2021 13:16:29 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Zqic=NW=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mL3cr-0007z9-3q
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 13:16:29 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id a60d8b66-0a5d-11ec-ad36-12813bfff9fa;
 Tue, 31 Aug 2021 13:16:28 +0000 (UTC)
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur02lp2052.outbound.protection.outlook.com [104.47.5.52]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-23-nJv2LhRlPiKAe46VFFzEyQ-1; Tue, 31 Aug 2021 15:16:26 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 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.4457.24; Tue, 31 Aug
 2021 13:16:23 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4457.024; Tue, 31 Aug 2021
 13:16:23 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0195.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1f::15) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Tue, 31 Aug 2021 13:16: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: a60d8b66-0a5d-11ec-ad36-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630415787;
	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=VOCakBQ237jmym/DcN2vwm4c7ns3zoEHzkpfEm1onUM=;
	b=OOR4JQx/o6SXVTjZw0tRAPHVb6a7JHaoNDT5GiCzH7cflSRJzeFOagJ04xJdoGpNb0mOG7
	l6hNlmY2l0CXHPxZ6uikDXaGyARQdf37cVAyapJyC9JoD1m/mowLa6bTE30KUbkfwBwFFl
	0HNY260DDLJbCKXCxykjaRQ9M1Hquwc=
X-MC-Unique: nJv2LhRlPiKAe46VFFzEyQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EQacvW45w35QYBs88Uur7vYxf52jknnHGA+PAJVhmA4PMTolejLEkm91MbfhNc0KBfSrhn5N7BF4/Hl2d/JclEDuAEHMgqjB9Qkq0Tz9ci8Omaz3ufSPbIzeDN3lQJuC9jbL2OyucTzRlJPF9RfieJncqExboGcCOWr9dJsHT/G3Cl3paUo1r1DoyeVhvcys8LXbN6BDRJGTty1fI3wiOn0QE1r4aTjSacFWf1GGULAUjkmpUTnI20AQoI+nHQVBQHRrAXCZ277HHh5mQ9umBHk83Q6/rX8watG30yMIcKGwE6wuO0xn39vg83NzcGpZzxqLuS9Gwe9XSxMFucXABg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VOCakBQ237jmym/DcN2vwm4c7ns3zoEHzkpfEm1onUM=;
 b=VauR62PaVwQqqMFzXikJYAeqW6y4PAt0tNeYl6p9uTcJlR+nigP/+QWfHox+VjQZM8u9XvA7Sg7r6vzePmvC1d1oIW7hsRWqigt19uE3nT9fsmk1IzwMUv4igZELesjB7nOwxjrbYz9E9RBr0snFiMbwvfuO7rhUXpWK8yOG/I/rlm92V4RO4sBIWsxibZjgR+1Recw1dosn8ZSLuik4TdX7OZAMca7+YTB4jRUOZaekrWji4kRW4WohTp31aK4T/Qh2fYXzAnz9RpoLloDbShy+EBTHdEd0TMLjlJoezVqjgqHR/07qfKYdx4ODg4z8VxtkW7lgKxnQCmk9Ar0TAQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: citrix.com; dkim=none (message not signed)
 header.d=none;citrix.com; dmarc=none action=none header.from=suse.com;
Subject: Re: [PATCH 2/4] x86/P2M: relax guarding of MMIO entries
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <aae19abb-e88b-8bf8-6f1d-502ac6645d6b@suse.com>
 <93ecc397-1293-69b1-e70d-3c5f9317229a@suse.com>
Message-ID: <212ac248-1249-3e4c-9800-27c0e8e4c77a@suse.com>
Date: Tue, 31 Aug 2021 15:16:22 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <93ecc397-1293-69b1-e70d-3c5f9317229a@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR0P264CA0195.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1f::15) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ebb145c6-95a9-4cdb-f8b7-08d96c8187eb
X-MS-TrafficTypeDiagnostic: AM0PR04MB6914:
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB6914ABFDD18A03E170B322DAB3CC9@AM0PR04MB6914.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LA38Rnr0i1Wuo4zIjj7T8V4ycuYCJ+4WM574zH3eMsTvInXzyH0dcaAUFV2PKUJTp+wxg35LD0D5sfv4EggSIFtS8I80iaIK1UnKjnBNqbQg9BsVgOBNAEWubais0BzlFNM6Xm6LNlUcVidKngrI0lbsFnmbuzN11TCiv18jih+LfgO+A02Jjl/nra905COJ8gT44VHbip728fgC6B/xnQOcoYx1vl5bSDKzcLLaOoPkGRaN51pBO/ysvY52YVKbUdJBVPL0AOGWfuugjwC+wuAPf8FX2BybhwZUNpa2m1x/Jz9rL7H34KQjKdJbDFRlIT0qAsqr2tundKZ/ChzoIU7ILMxXksYiRs60woR+gIOL4614zLjKkHKPGlmLZFvPrEycWXb3ei7i64ONhh6LtdsFwzKUywxscKp13i+UdehHEmK8yODT2j6+sCIakCqGcpXtHPKByAwZ3fjmEw372Jcw+bufeGFF1mTXlkEyOh2cSt7ZXEkwO//ltkP8piGqbqUrx5d58OSo6SC71cKNmf/PNpHgiYljttCaFDgJUIEjQWJVrQnLuEehGJkhRU31jmDviCLwvWqXvPD5BE0zg79XZzwYbGteinPvHh+Vdd3N5EgZtjvvKIZD5HM6wZmMmDBiWywJaorHE5ED802ZG2Ks5s2i+OL+bm2WXEpP1/Zm/CuBl9fUu1/qvSJfXLwwJoiT32WVW/jBMk9LuFnzU3IJvrGSbqSpvqQgXuKhBeI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(376002)(39850400004)(346002)(366004)(136003)(6916009)(956004)(66476007)(316002)(83380400001)(2616005)(16576012)(8676002)(54906003)(5660300002)(8936002)(66556008)(66946007)(478600001)(4326008)(36756003)(186003)(2906002)(26005)(53546011)(86362001)(31696002)(31686004)(38100700002)(6486002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eTVBNmVMdDczb29Wc1VacG5pbC9KanM3eVRBZDBSNEh6Z3RJUnFwRVVNVmFJ?=
 =?utf-8?B?bmtaTnZxeGQxbkpRc0dsaWFpQ09kMjNUUnp1VTNYMlR3NFd2MjZXY2hvWjA5?=
 =?utf-8?B?ZjVvaU1OY0VoVTNDbUVWSEpOYnBKNy9VdnY4bFBjYzNML2lTRU81VTAwVitI?=
 =?utf-8?B?YTU4cHpIS2N3UXFWbmJ4K0xUeXFZaUtnVE1tUGd3MDY1c0kyVjdpQk85Mmhy?=
 =?utf-8?B?L2l3L1FBZU5HdkJBMHZsSHdlY0g2S2ErYzA3clgzSWpyYVc1ZHVVdVI3Sk5B?=
 =?utf-8?B?VW1xSGFlRTVuSGlrazZjZ3Q5NnlKeDJwcE5mbDZCMmtjWUw1WjNzSHVlaG9t?=
 =?utf-8?B?eW1IM0tvbW5odXY2NHUzNXRUS01YSUU5SUZrdnRmQVZNamZZMmFPRnphWWRL?=
 =?utf-8?B?NE1MdTdnTmEyRjhNcXl2bFZvcXMvVmxDQjl4QUdRV3Z4YUJIdlVjaURJSXVN?=
 =?utf-8?B?bmdraUo4OVpRKzcyZXVGeUVtNHk0MXJuQWpUT1I0SnlyUnRuQkJ2MWtqaUF5?=
 =?utf-8?B?NERDeUl4ek9FalJROEVLWmpPa3R1WHRqanc2VFZwdElUYW93T0l0ZmQ0N1Ns?=
 =?utf-8?B?MXJBSGhsRGx2VkFlMEJZMS9TSnJ6WnU5T1pOMkRKMnd6eFhTWW1ZR0lvRTVv?=
 =?utf-8?B?VnF6ZzdsR1FUWWVvMGdZSHVaTFVDY2FBNnZwQUxCbngvcjdEcDBGWVMxbU0w?=
 =?utf-8?B?Qm9kOFArazU0b3FDeHA3bDVhZWJTQTdlMmRpUWRBdTJRdm5ROFFoMHdNKzI5?=
 =?utf-8?B?RFErTm8rYll4Q3JzR00wRmg4VFJmaWFmSUpLSS82anRnTGNZOEZBMmloWUtN?=
 =?utf-8?B?WUtGeVplck81VnkwQ2M0Mk9SSytKNkFmTUZxNjk5TnRpb0xWb0JWYWR0NExI?=
 =?utf-8?B?bWdRSUJpaEpybFFpTHdXWEIvR0ZMV0IrVzloSXFub1VRZkVreFByWmlFUTFW?=
 =?utf-8?B?R0NtWllnTm9DYXZDdFhqNzY5enBRckJyNFV0WEhIR0VIcjRwK0ZQUjVhajdt?=
 =?utf-8?B?eEJqUTdCNU1WZkpQdjVEdHBLTVZobG15TFcvV3lRb3FuYnlWMmJOd2VjcDV5?=
 =?utf-8?B?VXorc2ZjVFJUbk5sNnZWM21pUXEvV1ZidS94dGtWWlYwY0JjUjh2N0JUYndR?=
 =?utf-8?B?TXkxTU9nd2k4eEFjMVI0WTZJcnBTd2g2MmdSS2NDN1BTUVZ4WjlOekp2UWJz?=
 =?utf-8?B?MGpSZ0M5Z2Z0VXMwcUgrdWJZNzJaZjJDdEJ6SzJSQjI0bzUvMGVGOFYxTy9i?=
 =?utf-8?B?a0ozbFlCUkhXdmdyTXpid2M2OFdtYXhscEVBVjlpYkJLRXNLdjViQ0ZzdG9U?=
 =?utf-8?B?WnNXYlpidjdHTWxCV2EzSmpQaHFEZDRRdEEyTHFDaFV0WW0ybWljM3VHTSts?=
 =?utf-8?B?TWRDNkhQRDJUSjljdGRvK0Q1TlhONFV6WWlXd1Y0MExIQ1FtSVhXa253TjBn?=
 =?utf-8?B?S3lXNU5TZ0RoZm9WZ0NzTG4zNUU0dHFtMlJTemRQeU9JaXIyRDhGZVAwN3pZ?=
 =?utf-8?B?cldOVjA5blhHNGlodWdxcm9rQU9ZR2VTcCswVkZSQVJoVkRIZWdOV1Q0RWJF?=
 =?utf-8?B?TE9WOTBPT2ZjcU4vaTdnTTAzOUFQdVpaTHRFNnVqcEE0ZUlzQk14cHhuc1Jl?=
 =?utf-8?B?V2VaczZOVDE5c3dWTk9iTEtHYnQ5ZW15UDdaZFk1dWtmbkdpNy9EUFhEeEtC?=
 =?utf-8?B?ejRtcU01QnFVMlRUK09XU3J0a2pDQnFFVWRxajhWNmIwaUNUMGlGKzNRd003?=
 =?utf-8?Q?2KFWnNzSdGqcn9NQO/JV4Fpo5y6Hy0jGjG5x/9u?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ebb145c6-95a9-4cdb-f8b7-08d96c8187eb
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2021 13:16:23.8074
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: AYzVZ1zm4nWMVW1QbTSFCd+MzOc0nJ/YAJ/TihD2Pt8Hsl6YJp8NX1L7u8mc2NtAVh5vFcLQG6xbFEbRlFwf+Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6914

On 30.08.2021 15:02, Jan Beulich wrote:
> One of the changes comprising the fixes for XSA-378 disallows replacing
> MMIO mappings by unintended (for this purpose) code paths. At least in
> the case of PVH Dom0 hitting an RMRR covered by an E820 ACPI region,
> this is too strict. Generally short-circuit requests establishing the
> same kind of mapping that's already in place.
> 
> Further permit "access" to differ in the "executable" attribute. While
> ideally only ROM regions would get mapped with X set, getting there is
> quite a bit of work. Therefore, as a temporary measure, permit X to
> vary. For Dom0 the more permissive of the types will be used, while for
> DomU it'll be the more restrictive one.
> 
> While there, also add a log message to the other domain_crash()
> invocation that did prevent PVH Dom0 from coming up after the XSA-378
> changes.
> 
> Fixes: 753cb68e6530 ("x86/p2m: guard (in particular) identity mapping entries")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Btw, I had meant to have this post-commit-message remark here:

TBD: This could be generalized to all of R, W, and X. Dealing with just X
     is merely the minimum I found is immediately necessary.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 31 13:16:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 13:16:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175717.320009 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL3dK-0008UX-Rt; Tue, 31 Aug 2021 13:16:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175717.320009; Tue, 31 Aug 2021 13:16:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL3dK-0008UQ-Oj; Tue, 31 Aug 2021 13:16:58 +0000
Received: by outflank-mailman (input) for mailman id 175717;
 Tue, 31 Aug 2021 13:16:58 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kH2E=NW=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mL3dJ-0008UG-VM
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 13:16:57 +0000
Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 61597f24-8153-44fb-b66a-6e09a09475dd;
 Tue, 31 Aug 2021 13:16:56 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 61597f24-8153-44fb-b66a-6e09a09475dd
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1630415816;
  h=to:cc:references:from:subject:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=UbPKapcWuIXRvEUH/d+C+gmKCBte+a6bibrzVc9rrGg=;
  b=BR7SPeQbSv1da+U0/Ugq0pkCUuaDHUwxnOxVVpmmU6qEaUADHXpch8wL
   vwlo6NpEJrJZAFHbeFySywe1XYEw9Q/r+GXxrnc4p/rcLH7O0Cl0S4VSt
   X5s9wLjfwwZbMOTrq1MDRT+EO/9XjghlUpcVB0PEYp5d1qAn12VuSeRmf
   Y=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: Ef7OwBayHxTriIFYmw9qDdyw6zabZz2aiJ7CO2YcP/KSgSDpRATBLu7glF10HzZxqC4ANwi0bZ
 ieBN4zVZWm9i2Vdvjxl6l5h/PepQkrMJ/m+YBEXzDUinEV9nOfx7RQMUpKAGsQd/i5+Jdsjks0
 v/3+vB1SDCMalbIixCSgI0Z2BNn8QV9UFcFHpVS2ibVeHVwmpp4SVfq7t1M61aKmDcM/iMtm1F
 74YXxXsnireiQDo3cW6Ids512VpIxNPHbLf0fp4eAOPINqwQcX5z4QH7Tm4OgtDutXwu0BQPcj
 PoIJ3X1mibDY10vfwxRiuaJk
X-SBRS: 5.1
X-MesageID: 51295728
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:upaQKKg3Hv62lNCt6c0ieo5MvXBQX1R13DAbv31ZSRFFG/FwyP
 rAoB1L73PJYWgqNU3I+ergBEGBKUmskKKdkrNhQotKOzOWxFdATbsSkLcKpgePJ8SQzJ8k6U
 4NSdkYNDS0NykBsS+Y2njJLz9D+qj/zEnAv463pB0MPGIaGZ2IrT0JbjpzencGNTWubqBJcq
 Z0iPA3xQZINU5nFfhSURI+Lpb+TpDw5d3bSC9DIyRixBiFjDuu5rK/Ox+E3i0GWzcK5bs562
 DKnyHw+63m6piAu17h/l6Wy64TtMrqy9NFCsDJos8JKg/0ggLtQIh6QbWNsB08venqwlc3l9
 vnpQsmIq1Imj3sV1DwhSGo9xjr0T4o5XOn4ViEgUH7qci8fz4+A9opv/MSTjLpr24b+P1s2q
 NC2GyU87BNCwnboSj779/UEzl3i0uduxMZ4Kwupk0adbFbRK5arIQZ8k8QOowHBjjG5IcuF/
 QrJN3A5cxRbUiRYxnizypSKeSXLzAO9yq9Mw8/UpT/6UkRoJk59TpZ+CUnpAZEyHpnIKM0vt
 gtW89T5cJzpsx/V9M3OA5Oe7ruNoRhKSi8Rl56Gm6XYJ3vDUi946If0I9Fkd1CR6Z4u6fauK
 6xHW+w5lRCN34HN6W1rdR2G1b2MT6AYQg=
X-IronPort-AV: E=Sophos;i="5.84,366,1620705600"; 
   d="scan'208";a="51295728"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=b+grZUlv+KKA8BC1xFJAitlmVbw4aDs9t38js2/OqsFFEhsDlvFtPrGfu9YASqmwIEFSu76PEeDupUDMOQR0OAKULRIXiNJ6W/KG3ddWLeeyDxSCbZFHRuMXJTMOJ/OgATNE2lc9njOmCWm8TOhm58Vcatnt8kGBE+4wS1B9YuZ42G1olEB6gLXopAbPRt1ub4s1fAS5E3QuJ4vKv967xM6vS1FnUnj3Hapjdmv6ApqjIbRjdMPKKqe91qgYw6bbq9ydQFlTCIrxc45B0bWWy/1NKJtWIZBBr8PJSbevE8APbH0klTm7FUuxrSNyYL4AkROgymrRDboyGRnGtFywNw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qbmiHIXfPxn0P76W+oaSNoaoF/UoozDovukYELV472o=;
 b=UhPUGSaZ3nPiB4cJBAMc99++pyMxARRLWNR49+hpOYN9kkLZbS+31mRPQ9LfgyYw/ZAkBt5mJEIE7aR3tAFz0gKVje24UvfsdEKD9/JF6cbMvsZbUoRC7maID4BUUxhFWrXuFfPj8t5wFKUj7yPnmk50iU8auOsKC5aQsknsOoDcCBbHG+6GqrmrYogtNgat5UneQXbzDNvPkowQr5lT6hlQuS6cH6UHhAcPpmVjLBV8dlIpF4esVycG+Rffyxb6Ogp6t4byE7kWS/eRExByUw2wPI8cpYw+VnlXTTmZL63W07b/erxdCfrLI3T0Rphv8pXKd8769a/3dG4nqUPRaA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qbmiHIXfPxn0P76W+oaSNoaoF/UoozDovukYELV472o=;
 b=bB1ue5P+58D15mKsz18FmbDn/6lFKYXT8AYwW1LjRwbKBU18YRLr+arPkmWWoIJILjJ0fC80C5crg/ogDidNEg//KMawAK+IuAlijFQ4NmfNBIr49MlHWTtqftAw56TH6mNjxOMPl8umc+K3RNbNGEpn5CE3YBncWZHa+Ji0kkc=
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: <aae19abb-e88b-8bf8-6f1d-502ac6645d6b@suse.com>
 <93ecc397-1293-69b1-e70d-3c5f9317229a@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 2/4] x86/P2M: relax guarding of MMIO entries
Message-ID: <ad1e33b5-d729-2680-7f9f-aa875c2d9cfa@citrix.com>
Date: Tue, 31 Aug 2021 14:16:43 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <93ecc397-1293-69b1-e70d-3c5f9317229a@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-GB
X-ClientProxiedBy: LO2P265CA0414.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:a0::18) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 6e5cd347-66d0-4efe-19c2-08d96c8197b2
X-MS-TrafficTypeDiagnostic: BYAPR03MB4485:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <BYAPR03MB4485A94128115887F0894DBDBACC9@BYAPR03MB4485.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:5516;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: w501oDA8Up9dFeMcJekmRERNsXAwIFjXu20x8ewClOrA33kqW5Tu4+nRKhDdRUXWGS+2lQ0ARrfroKnB25R2xvyzQYKPpG9fNavtydnR4i30OOXoX7hPhZDkkv8jZOApy5VamqPkf5JRftr0RLPgymIPM4pJN8yywZnHryzwI08aHX8rnUcmFf4MlqqhLx8VuuKxviAVBFqFZ+KEwtfSSTBXZUpdaM/GwDBSUbg1BtG5onwGyoZ88jT5c2KjKoveTx9idueCta7vc70DPZb+/g3No1kyx10iwKp2cRuiKFJpccQ9O1QoIsdzubf3rxQ0WsK6UhSRaJ4IQ5QQJTSzwcfOrFmNBL4LhglT3ScTBrrNO+oCHdsC4J1cUwagIuDHxr0weNg5nlYn7Y3VhE9F2f7hI6O2il7JOHKkvi9gJKiWRw0t/9W3M3sAdtCD6zwFZxRaUeJ7ZHSctL0KhB6p8SI9QzP2/bZZNQsOLtlDaZsvzpr8zqg2gae8W+jZlu64DbdTwKbLLCu18gIdsbjt0Uqyp816UmBzYtA1J4xiFbucvCkjeghg70RoLNdGiZqaclRpkqgGlwKOdwL2hgcMq6ypT7Frpk97QfPWZB5bUvwnqqTxtfUt5nV4ArJxMgiO+TVs840oumw6nzlogur4QlXf4OYlu74r8uk6crKqmk3S27siANoBUcu0FAL8Q6jYbwFv21HsGB5CmDb7k3U2oi+IAOSJDC/poYoL6mUEp34=
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:(4636009)(396003)(136003)(39860400002)(346002)(376002)(366004)(6666004)(2616005)(26005)(4326008)(66476007)(36756003)(186003)(66946007)(956004)(86362001)(66556008)(83380400001)(53546011)(54906003)(31686004)(478600001)(55236004)(31696002)(316002)(16576012)(107886003)(8676002)(2906002)(110136005)(38100700002)(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?eTIyWHQyWUdaeTgvbjNBVm5qdGh5NU9YQnlaZEZ2K0NXRjRuT05FZGN2RUV2?=
 =?utf-8?B?V1YyVVdNVHZhRSs3Wmx3ZUhqTE9vZGt2RFQzR1ZBcXFEUEZ4YlNVRk9OU3k1?=
 =?utf-8?B?WHMyMzBleDlTTGwzYkhWOUZmMTR4cVZibkUwa0l0b0FXZ0U1Q3o4VVN3M25X?=
 =?utf-8?B?TnB2VFNTd1ZqYjRtQUt0Q3diSWtjSmwzQXo1SE1CMkJTT1o3dldhdThWRHlP?=
 =?utf-8?B?TjgrVmk1bWcyM0pQTUVqNFFkb0Nwc29NcW1MdzNxMk4rR2xucDZFdnozN3Fn?=
 =?utf-8?B?dWRSNzB3ZGRkd0NUeElndURLNUljWVcrU3ZuTm9hQ3NiWUtWcU9PV2dhQ3VH?=
 =?utf-8?B?eTlzZTNWMmNtYTRXdlR6eVhQalB4a1FWS1dYSEoyM3l2bHFNR09mcFMvWXBU?=
 =?utf-8?B?dGJkc0k1a3ZzRTZZaXNmdEdBR3cyQ1o4SWhOOTEwY0k4RU8zeDdPdllhWDFW?=
 =?utf-8?B?Nlc0dSt1cVZoZVFZRWtpcFpyOEp2STd6U0k4U2kvaHJKR2NJMkhCRFRZaGJn?=
 =?utf-8?B?QXNqU2FKNXFvWVBTN29SbjJqK050RnZuYnF3UGEyZ25zNTYvMEhkb1dJZEVO?=
 =?utf-8?B?UDJ0dnB1MXNIUVh4aEpLWHdlR3c4MjE3MHZOc0c4c3ZNMXZBSXM5bkI5a2tL?=
 =?utf-8?B?YW94M3QxTjJINzZEczg1Y1JHQmxYMVVOSzI1b1ZlRVJXeEcxVU56MWcreDRk?=
 =?utf-8?B?ZEZKOWJPazNYL0NsWWs3anJTeHluMVVwenFmUkt2NzJadk0vUitSOXQxR2gz?=
 =?utf-8?B?T2ZRbUFkQUZwbXk4Qm5XRDRqeEtZcHZaYm8wSnVWbE4ySXVNQXFtVGxaQ1pJ?=
 =?utf-8?B?aEFoSTM3R1RHcmhCV2h4Rnl5bFFEM3E2UmxLSzRRZFQ1L0VPbTFnTThYSTIz?=
 =?utf-8?B?VEo3Y3hVT3loUW5tV2owd0hqcGwxaE9jcUZBMTN2YUtEbmdsalIrR1BPZFNO?=
 =?utf-8?B?cDRyQzNzVDE2NXVEdGJ3SXJpVmhxU2IxY1U3SEtJUkoyeTNGMHRvcFQ2VXNp?=
 =?utf-8?B?OGNXRVlFQ1cvblZXNEFZc1I3MUFSQjh5T0x2dFNQb3VLa2pISzcwZElER2Ja?=
 =?utf-8?B?WUQrNTl4TVQ0dHBpR2pQcnovRHE3V0t4RmxzWEVqNHQvRVgxbGk1ampVUnZ3?=
 =?utf-8?B?WnBXV2hQaklnNFBvajJqZ2xheVJlanFwTW9KTS9JMWtOUGF4dDZodkxEZGpm?=
 =?utf-8?B?bGh1MENVdDl0U1hONkdNOEFSOEhQWUJmTkZqOWI5K0wyYXFxN0xHWTZ5bHU2?=
 =?utf-8?B?R20xWEVNZjd6S3pJckIvYVcyT2FIZDJVd1R6cGY0bkVOaUdSRkh1M2RRaUlM?=
 =?utf-8?B?em1RNXl1L2VFN1ZnMnFnME0rZktwWnIwUlhMRmYraFFOYXIzN040UDZCT3B0?=
 =?utf-8?B?YjhrVkYreXNLTE90eXdyNEY3b1JpZURtejJSdVNCRjI3VzJ0M24rMitqOVhr?=
 =?utf-8?B?RkN4YmFRMGdHeThwRHhRSG5XZnNWOFRVMUZTbUJEWUI0bjBQNEk4TzVRY1Vl?=
 =?utf-8?B?L2R4Q0NLNUxzb3hadTJlN3RSZTNvQzE2WmU2UHlpOE12dm4vVXlPK2NUWC9L?=
 =?utf-8?B?bGJsa3ZLRFd1S2RmREUxQWhSRDRDbFoxamRsUUpzdTFNNk1CekhDTkdUcTNy?=
 =?utf-8?B?bkxIa2FHREhtZXg4ejIxUWlwK1BIMjZHTGNpSlVUWUh1ZWpJVzU5eVlxWnBm?=
 =?utf-8?B?Y1dJN3R4YTNEQllqVTZLSFhFbnJnbTJRSGtkN2pwT1Q3Wk9LR2FFRjlkUlRU?=
 =?utf-8?Q?cnHuYwVqeh8UCHu4hSfAF4qmEjERBAcpc/lPd6J?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 6e5cd347-66d0-4efe-19c2-08d96c8197b2
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2021 13:16:50.2487
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: LZ5NxmqZrWDleftG5tNvnoChR4a1dNUN0L26zNpGmUZ00yIg2hs1vIJyKo1jCZQxcOJs4iUA6Yjl8nuOwG1sBN6UZZsWJOR0xkufzUc6euo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB4485
X-OriginatorOrg: citrix.com

On 30/08/2021 14:02, Jan Beulich wrote:
> One of the changes comprising the fixes for XSA-378 disallows replacing
> MMIO mappings by unintended (for this purpose) code paths.

Drop the brackets.

> At least in
> the case of PVH Dom0 hitting an RMRR covered by an E820 ACPI region,
> this is too strict. Generally short-circuit requests establishing the
> same kind of mapping that's already in place.
>
> Further permit "access" to differ in the "executable" attribute. While
> ideally only ROM regions would get mapped with X set, getting there is
> quite a bit of work. Therefore, as a temporary measure, permit X to
> vary. For Dom0 the more permissive of the types will be used, while for
> DomU it'll be the more restrictive one.

Split behaviour between dom0 and domU based on types alone cannot
possibly be correct.

DomU's need to execute ROMs too, and this looks like will malfunction if
a ROM ends up in the region that HVMLoader relocated RAM from.

As this is a temporary bodge emergency bugfix, don't try to be clever -
just take the latest access.

> While there, also add a log message to the other domain_crash()
> invocation that did prevent PVH Dom0 from coming up after the XSA-378
> changes.
>
> Fixes: 753cb68e6530 ("x86/p2m: guard (in particular) identity mapping ent=
ries")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>
> --- a/xen/arch/x86/mm/p2m.c
> +++ b/xen/arch/x86/mm/p2m.c
> @@ -958,9 +958,13 @@ guest_physmap_add_entry(struct domain *d
>          if ( p2m_is_special(ot) )
>          {
>              /* Don't permit unmapping grant/foreign/direct-MMIO this way=
. */
> -            domain_crash(d);
>              p2m_unlock(p2m);
> -           =20
> +            printk(XENLOG_G_ERR
> +                   "%pd: GFN %lx (%lx:%u:%u) -> (%lx:%u:%u) not permitte=
d\n",

type and access need to be rendered in hex, or you need to use 0x
prefixes to distinguish the two bases.

Also, use commas rather than colons.=C2=A0 Visually, this is ambiguous with
PCI BDFs, and commas match tuple notation in most programming languages
which is the construct you're trying to represent.

Same below.

> +                   d, gfn_x(gfn) + i,
> +                   mfn_x(omfn), ot, a,
> +                   mfn_x(mfn) + i, t, p2m->default_access);
> +            domain_crash(d);
>              return -EPERM;
>          }
>          else if ( p2m_is_ram(ot) && !p2m_is_paged(ot) )
> @@ -1302,9 +1306,50 @@ static int set_typed_p2m_entry(struct do
>      }
>      if ( p2m_is_special(ot) )
>      {
> -        gfn_unlock(p2m, gfn, order);
> -        domain_crash(d);
> -        return -EPERM;
> +        bool done =3D false, bad =3D true;
> +
> +        /* Special-case (almost) identical mappings. */
> +        if ( mfn_eq(mfn, omfn) && gfn_p2mt =3D=3D ot )
> +        {
> +            /*
> +             * For MMIO allow X to differ in the requests (to cover for
> +             * set_identity_p2m_entry() and set_mmio_p2m_entry() differi=
ng in
> +             * the way they specify "access"). For the hardware domain p=
ut (or
> +             * leave) in place the more permissive of the two possibilit=
ies,
> +             * while for DomU-s go with the more restrictive variant.

This comment needs to identify clearly that it is a temporary bodge
intended to be removed.

~Andrew

> +             */
> +            if ( gfn_p2mt =3D=3D p2m_mmio_direct &&
> +                 access <=3D p2m_access_rwx &&
> +                 (access ^ a) =3D=3D p2m_access_x )
> +            {
> +                if ( is_hardware_domain(d) )
> +                    access |=3D p2m_access_x;
> +                else
> +                    access &=3D ~p2m_access_x;
> +                bad =3D access =3D=3D p2m_access_n;
> +            }
> +
> +            if ( access =3D=3D a )
> +                done =3D true;
> +        }
> +
> +        if ( done )
> +        {
> +            gfn_unlock(p2m, gfn, order);
> +            return 0;
> +        }
> +
> +        if ( bad )
> +        {
> +            gfn_unlock(p2m, gfn, order);
> +            printk(XENLOG_G_ERR
> +                   "%pd: GFN %lx (%lx:%u:%u:%u) -> (%lx:%u:%u:%u) not pe=
rmitted\n",
> +                   d, gfn_l,
> +                   mfn_x(omfn), cur_order, ot, a,
> +                   mfn_x(mfn), order, gfn_p2mt, access);
> +            domain_crash(d);
> +            return -EPERM;
> +        }
>      }
>      else if ( p2m_is_ram(ot) )
>      {
>




From xen-devel-bounces@lists.xenproject.org Tue Aug 31 13:18:12 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 13:18:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175727.320021 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL3eV-0000ps-Al; Tue, 31 Aug 2021 13:18:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175727.320021; Tue, 31 Aug 2021 13: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 1mL3eV-0000pl-7l; Tue, 31 Aug 2021 13:18:11 +0000
Received: by outflank-mailman (input) for mailman id 175727;
 Tue, 31 Aug 2021 13:18:09 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=T8Jn=NW=arm.com=Bertrand.Marquis@srs-us1.protection.inumbo.net>)
 id 1mL3eT-0000pZ-Q7
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 13:18:09 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com (unknown
 [40.107.2.80]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 242f924e-baed-4512-a994-af5f24ec2294;
 Tue, 31 Aug 2021 13:18:08 +0000 (UTC)
Received: from AM0PR03CA0059.eurprd03.prod.outlook.com (2603:10a6:208::36) by
 AM0PR08MB5138.eurprd08.prod.outlook.com (2603:10a6:208:15a::32) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23; Tue, 31 Aug
 2021 13:18:05 +0000
Received: from VE1EUR03FT027.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:208:0:cafe::f6) by AM0PR03CA0059.outlook.office365.com
 (2603:10a6:208::36) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17 via Frontend
 Transport; Tue, 31 Aug 2021 13:18:05 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT027.mail.protection.outlook.com (10.152.18.154) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Tue, 31 Aug 2021 13:18:05 +0000
Received: ("Tessian outbound 56612e04f172:v103");
 Tue, 31 Aug 2021 13:18:04 +0000
Received: from 95c6dc1034a1.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 03682626-798F-4ECD-A86D-436F4CDB4646.1; 
 Tue, 31 Aug 2021 13:17:52 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 95c6dc1034a1.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 31 Aug 2021 13:17:52 +0000
Received: from PAXPR08MB6446.eurprd08.prod.outlook.com (2603:10a6:102:12d::10)
 by PA4PR08MB6143.eurprd08.prod.outlook.com (2603:10a6:102:ed::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23; Tue, 31 Aug
 2021 13:17:50 +0000
Received: from PAXPR08MB6446.eurprd08.prod.outlook.com
 ([fe80::c029:ed0:82e7:3c2f]) by PAXPR08MB6446.eurprd08.prod.outlook.com
 ([fe80::c029:ed0:82e7:3c2f%6]) with mapi id 15.20.4457.024; Tue, 31 Aug 2021
 13:17:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 242f924e-baed-4512-a994-af5f24ec2294
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fvKj8qF5j2Ch0kHSYDrep2/Q1Uu6CXTfBzfmWorlcms=;
 b=7qTA9OB8XOz546i7hEq+EythxOMPLji+0+UDSjc8gQGfmP0QfjeHFFaFuximGp7QJlaefl1ztCvwGIi+EOxpdRu33Nedfenoz/WuaYdOnYzQ9mLi3iBeUKfj5ZgPD1032+UHcIZLMYipRLsVVEI6/5QL92+SX5ILh/PSf3jJjF4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: d5818ab58b1b6b89
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VLAv/AnYRsovzhZi86dt8WOxRQSQsPnRkV6TXuxiC4R4ZGn8lP7Hv6pADSAXkGQumdzltWFwO/PtFb6fn4uZw1ad/u06q7hFsn1zs29Qhe8sUTDTIQxJB5StL9Vo22m82pCH5VpcrBdVUQeqBUsAmL92V03x9HABjoxdNmYW3IenMXrEqzaHtqCdS0K8II2DuHH/U5okGcyjZsca5ao43JnBZKF61GmsE8R9yPJJnOR8bOtjz+Sai6oRy33eXdn9rGT4FpLDFEJkPTM8xqrb4uWQWSbAuxFPDkSeo+ALdL4d7tmwQ9vETRIUGXP6jmfUw3uGMNnao+Lb1vpzvSkSKQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fvKj8qF5j2Ch0kHSYDrep2/Q1Uu6CXTfBzfmWorlcms=;
 b=UA0Y/WvD3IRwsf3NnSlr0rrEUJFgzapK57JPCm9ODJ4uicDkWcoDBrWqCtq5iEzm0jut5ANlDe+1hSkouKgkY3MGHO/ZSV+2rbDAY08s214sAJxer8p74FjbRaO5OSVEv6X/TRZ2600mgaihaiKJ7hx+CW5+dpe0zyhtFPkwjrGDKoOFfpse/nAfk/tuvXipHHu8PgWJeRgIwygiMWyo6/t6/uLL5Ts6ya9bH3/3OwbIRYADBj+1YLernsrBW0MbYNi/j8vNUJX128fxTWzXhOoSyQw+0oPD9jxPnJtt/xIFsIcAP51xTI2ow4JqOQ30EPNGBQUvB61+o6pmUesH4Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fvKj8qF5j2Ch0kHSYDrep2/Q1Uu6CXTfBzfmWorlcms=;
 b=7qTA9OB8XOz546i7hEq+EythxOMPLji+0+UDSjc8gQGfmP0QfjeHFFaFuximGp7QJlaefl1ztCvwGIi+EOxpdRu33Nedfenoz/WuaYdOnYzQ9mLi3iBeUKfj5ZgPD1032+UHcIZLMYipRLsVVEI6/5QL92+SX5ILh/PSf3jJjF4=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v3 7/7] xen/arm: Sanitize CTR_EL0 and emulate it if needed
Thread-Topic: [PATCH v3 7/7] xen/arm: Sanitize CTR_EL0 and emulate it if
 needed
Thread-Index: AQHXmbPyaqNt71/0B0WMx26sIln5R6uHdm2AgAYrXAA=
Date: Tue, 31 Aug 2021 13:17:50 +0000
Message-ID: <98E8FB9D-3372-47D2-92F7-8AD401AC1092@arm.com>
References: <cover.1629897306.git.bertrand.marquis@arm.com>
 <a7482653a0c29d68854846f25553f4938a6279b9.1629897306.git.bertrand.marquis@arm.com>
 <14b1639e-c9e4-f8fb-e921-73d7f28681ac@xen.org>
In-Reply-To: <14b1639e-c9e4-f8fb-e921-73d7f28681ac@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.3654.120.0.1.13)
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 1d996a16-5204-402e-3709-08d96c81c46d
x-ms-traffictypediagnostic: PA4PR08MB6143:|AM0PR08MB5138:
X-Microsoft-Antispam-PRVS:
	<AM0PR08MB5138E51F5FD3F216659889339DCC9@AM0PR08MB5138.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:8882;OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 7sSzko1pVMmeXNALoUKo+HD3LGWRZl/tAfMITaLSLJMAGjBsoLD1uAtEIYocioSOvnzunR6iHYyvF/lbb59CdsWon02T3k9TM1VOpYh9i+9Ac4i9cf2y4EAVp2hGpYU4KIPwmH/DpHZstg5Jb94TsDqizq4/I5lUdrO7LlZFLM0JdslKfFSfYi7kA0/flsX/HaOVVsNog9gD/eCHCvPtunmuwPbdu9/JVjIgofyEyuo+d74gyxkaYHpxWm4RBpEttNA5j+aaQSeoAYQzialZTAx7kAaSYPJ1Zd6a9O0AFJPrplsODeAIP0JNxf9Cni41WFtUGKy4Z3ALMX4K/whPfaLrpa1me9PPTVV/AsPqORBwZMlvMI9+K8UvW+JqxKcWz9TlCM7CJPxKM98nhDFhVnwMMDOTxr2+qMZlImj1HtxkqR4NWxbY/UW+WlUc3FxFz6Xu2RtTwSXOl7edQmYdBmOCDMwgXUfKXKcuKIKqDzYpfNlT1ii8YpNpjYbdWqvD3bc6M4jG0whblcvOeO3Meju5duYwu4rXY82JoE1RaYEcRsE0Sjk6SwDCFMhPUGKsuurpvPM/PQhqkC/QHFnlnmzs6jkpiHOO7YSBIQ9JBiANH5pt1pKfkhSVPlAjXicSJjdUpszHVZXHds8vCv81DMz2U1Jh1jVBbSjudDasxeZF64ibowAt3qhvD+ppz92sPEqbfhslafCK5sy07DkDiOAPEhYSKRMbZiCLQu27L7fU6o0eOoxu0QQkObzYrwsVXrqy8oYl/aeTakmYlGGJhg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB6446.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(39860400002)(366004)(376002)(346002)(136003)(396003)(86362001)(316002)(38070700005)(6512007)(26005)(6916009)(4326008)(36756003)(76116006)(53546011)(186003)(54906003)(83380400001)(6506007)(2616005)(122000001)(6486002)(91956017)(2906002)(66446008)(66556008)(71200400001)(66946007)(478600001)(8676002)(64756008)(5660300002)(66476007)(8936002)(33656002)(38100700002)(30864003)(21314003)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?NjBDbDc3OFMyV0NZUVZBQ2xlVkhwT0FvV0doVVRrbm5PcnZwRUh2SExxN0Iv?=
 =?utf-8?B?ZEZPeDZVMzFoWVQ4SURoSnU3VkRqQUxvVE5oWkJTaGF5Sk1BM2l5b3dqUmwz?=
 =?utf-8?B?dDFjRnh0dE9oT3l4WmZGMFVXZnVPSGd6b2JpblFDZ2VpVS9ncDltbU9SWTdv?=
 =?utf-8?B?YlY5bDZsQ004MTkyVFl3SFY3L3l3b2wyQStDcExsZGpvNGdyN1VoZXZ6NCto?=
 =?utf-8?B?bDZTUjBhaUV2VndTOHlvdFNNRlgraEJUSTdwdW5JKzdlNktvOC82SThxekZj?=
 =?utf-8?B?WHNOc3haL1FPWGlhZDRJTmY1N1J5SmlPeDRsOGMvaG14QnhXQW4renBvWkE5?=
 =?utf-8?B?Zk1OcUJRR2lmVzloSitwN2d4alg3enR4amFlYmlqbG9IZXJUd3QxZytaVXds?=
 =?utf-8?B?Z2dmQURBUnJPOXR6QitJSnRtL3Y1UHlhVE9ycTFPdzNCb0FwenFqRVVUeFpw?=
 =?utf-8?B?ZnkyMmV4S3ZsSW54NEJNeStMUEFzL29iRXdpNXZOWFh3clFkUmNIYUNKRTdQ?=
 =?utf-8?B?L0d0anVOM2FnL2wwdGVxUjFERlNkU3VhaFMzSHlMQ1NUakR2Lzd1cVI2VVpP?=
 =?utf-8?B?TGw1QUpIQW16ZWZQdEtyUjFzVGJlQVIvNys3ODBUNm9kZTMwY052U3h3Wjdu?=
 =?utf-8?B?Vk9JYTFSY3o1MG0zYTJLQzJEZ2RBY2M2aGt6OHNDbHo0TE5zVTdaMStVbUVp?=
 =?utf-8?B?cGpya0VXVFJjbGpjdGpOTWVLbWJHVXZyUGJ3VkxEQTltelE5d0Fmb2Y2WjJN?=
 =?utf-8?B?U2Q2ek9scWVUTFJYQll3UXh4MmRHSWkrY3hKem5CZkNSa05JMTltQktkWTdO?=
 =?utf-8?B?QTAzRkVYMzQ0OFo2TXFSaHd0STVQU013by90TnJQV2dHRk9Jck1YME1ncHYw?=
 =?utf-8?B?RmxwUWVvYlNjUWlJQWtUSlBuTjlLejlKOXlNc2FjcXFZL1RiRWNrRkhkSnFw?=
 =?utf-8?B?dWNJVWZLS3kvVEIzYVNqZ2xzKzZPZkpVZE9BZGplejRnQWh1WHk1b2VveEM3?=
 =?utf-8?B?OGUwd2x1V05ZbDBBOS9HWEowMEtGZDdCSk4xUk9rRE5oYmhkZEE1OGxJQjNB?=
 =?utf-8?B?Z3FrV3ZRN1phMFRxS0MydXVvd2dwOUhxeG9rTTd2aVJwYlpYaDBrckVvVFMw?=
 =?utf-8?B?Q2hWcU5BYVpsRXkxamo5OUU0aWVrRlBxNEdhZGdGWkFLaFU1N0pwMkJxNCtw?=
 =?utf-8?B?RGNsUU9Kb1htR0xFN3dmdE11T0ZuVUp3VG9XZXJGWWVxQ2JlaTkzMmQwUEZG?=
 =?utf-8?B?L3NzRmpxZk02Rnp6S2t4MXR4REZrSW10SmpseGFlWHhrOHkwaXNtQ2hmWEpl?=
 =?utf-8?B?NUVVOVlhTGwwdFlFZGRndGY3SEZRSHpUOHhGd0NOZ0VOS1l1dXg3UG1pQmt0?=
 =?utf-8?B?M1RjMnpwVFRZbytQVmFLc0U2T2REbDJuRkcxb3IxdWpRZDdRamVZMHpnajhQ?=
 =?utf-8?B?VHZoclUxVm9QV1FaZExsSDhpUUhVckNLZGEyNTJnU2xUaHhrM05vYlZlanJL?=
 =?utf-8?B?VWQ2ZHJVNVZ4Y0YxRU9GaXBLMDZaWCtxd0tNT0ZjVFJaV2NZdlgxcCt5TDha?=
 =?utf-8?B?eDgzNVc2amdrK1NyclREdTVQU3pRbGwvRGtIN0tPV2JMUXc4L29pTEpGdW1t?=
 =?utf-8?B?SEdvUkFYbnpUalRuQi9sOG0rMkMxMnc2cWUvWUVSK2h2M2RISlFlbEpFQk5U?=
 =?utf-8?B?blhSVzZqeVhleXI1QzdCTFNQalU1Rm9pRzlOS29zZGNFN0JnRkVwUHZqL1Ir?=
 =?utf-8?Q?ak7T+b43rbD2B9H7TRcXzsqbHzBYdYLIHPHOKck?=
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-ID: <642A7DC3BD23AB41992D4CE1A25181A4@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6143
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT027.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	604872c3-542a-4355-611f-08d96c81bbc1
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	imy2JMzOwFpsNT57XqnSuj7F3+WDOSze7Eg4hgSWAy1oRsxWs/0KdhszkkERP2i359mMGBjMQNc84TZOGUAuBDV85DtgHYbX1ROqsn6Y3KCuAGJv8w6nOjf7/kWj3rk31bZ8LhIapsb0TahV/qhshruaGmuJ3oxrhaTMAwfFUCSzwrbAA3ayya8NtcECYnd7rMXwg4fqF3HnN5WzAe3jirOceVd6T3tacxRFGuIbUY0IJaEafk64d5aUdVFxfF21oJyO6HMVI7Zg7dS4RS6HfS56tM209hobsUxD/KJBOK/xmSg5U20Bm53h4vziZr+mAjGOfY4Hp3Nn2Fjz3dVALfzd6DkZhcpm0rgg8Htlnq7jCVFs3D8BMpafDnJ9rjj0+1K4G1DEb2ULOVwfZhlF98BHGC9R2E2XcMXXvJcDIVHeT+32V6oZiQwR5SVVgXQ4d5MIculkfjfXmy2TWSE/QwUs7bNHumJdXCJNZdfW1FS8E0n9KmaUsHmqgNsNVpH1eC0gOqUQvE7kq8biRbx3PcL9uoAwI32O1yXjCogo6kYm9dzQtfMmM/I5GfzVDvM3ciYDp4vsHw8al7Oo7T8mvat3cKZVIGEB5GQvviqv7fH3Or7E5SAcNCJF4kSyEmaC/+A5Ha6HuBmBePC2xrqudZpEWqtOyplTnQpT5ti4al/hzav06a5+FkIvQYZz5UBeelmHA7jigd7wt0rRBrNYzhlCI/zku04caEMewOz40Wc=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(376002)(346002)(39850400004)(396003)(136003)(36840700001)(46966006)(33656002)(36756003)(53546011)(8936002)(70206006)(336012)(70586007)(30864003)(26005)(186003)(5660300002)(6512007)(6506007)(8676002)(316002)(6486002)(4326008)(478600001)(47076005)(83380400001)(82740400003)(86362001)(36860700001)(6862004)(2616005)(54906003)(107886003)(2906002)(82310400003)(356005)(81166007)(21314003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2021 13:18:05.0279
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1d996a16-5204-402e-3709-08d96c81c46d
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT027.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5138

SGkgSnVsaWVuLA0KDQo+IE9uIDI3IEF1ZyAyMDIxLCBhdCAxNjowNSwgSnVsaWVuIEdyYWxsIDxq
dWxpZW5AeGVuLm9yZz4gd3JvdGU6DQo+IA0KPiBIaSBCZXJ0cmFuZCwNCj4gDQo+IE9uIDI1LzA4
LzIwMjEgMTQ6MTgsIEJlcnRyYW5kIE1hcnF1aXMgd3JvdGU6DQo+PiBTYW5pdGl6ZSBDVFJfRUww
IHZhbHVlIGJldHdlZW4gY29yZXMuDQo+PiBJbiBtb3N0IGNhc2VzIGRpZmZlcmVudCB2YWx1ZXMg
d2lsbCB0YWludCBYZW4gYnV0IGlmIGRpZmZlcmVudA0KPj4gaS1jYWNoZSBwb2xpY2llcyBhcmUg
Zm91bmQsIHdlIGNob29zZSB0aGUgb25lIHdoaWNoIHdpbGwgYmUgY29tcGF0aWJsZQ0KPj4gYmV0
d2VlbiBhbGwgY29yZXMgaW4gdGVybXMgb2YgaW52YWxpZGF0aW9uL2RhdGEgY2FjaGUgZmx1c2hp
bmcgc3RyYXRlZ3kuDQo+IA0KPiBJIHVuZGVyc3RhbmQgdGhhdCBhbGwgdGhlIENQVXMgaW4gWGVu
IG5lZWRzIHRvIGFncmVlIG9uIHRoZSBjYWNoZSBmbHVzaCBzdHJhdGVneS4gSG93ZXZlci4uLg0K
PiANCj4+IEluIHRoaXMgY2FzZSB3ZSBuZWVkIHRvIGFjdGl2YXRlIHRoZSBUSUQyIGJpdCBpbiBI
Q1IgdG8gZW11bGF0ZSB0aGUNCj4+IFRDUl9FTDAgcmVnaXN0ZXIgZm9yIGd1ZXN0cy4gVGhpcyBw
YXRjaCBpcyBub3QgYWN0aXZhdGluZyBUSUQyIGJpdCBhbGwNCj4+IHRoZSB0aW1lIHRvIGxpbWl0
IHRoZSBvdmVyaGVhZCB3aGVuIHBvc3NpYmxlLg0KPiANCj4gYXMgd2UgZGlzY3Vzc2VkIGluIGFu
IGVhcmxpZXIgdmVyc2lvbiwgYSB2Q1BVIGlzIHVubGlrZWx5IChhdCBsZWFzdCBpbiBzaG9ydC9t
ZWRpdW0pIHRvIGJlIGFibGUgbW92ZSBhY3Jvc3MgcENQVSBvZiBkaWZmZXJlbnQgdHlwZS4gU28g
dGhlIHZDUFUgd291bGQgYmUgcGlubmVkIHRvIGEgc2V0IG9mIHBDUFVzLiBJT1csIHRoZSBndWVz
dCB3b3VsZCBoYXZlIHRvIGJlIGJpZy5MSVRUTEUgYXdhcmUgYW5kIHRoZXJlZm9yZSB3b3VsZCBi
ZSBhYmxlIHRvIGRvIGl0cyBvd24gc3RyYXRlZ3kgZGVjaXNpb24uDQo+IA0KPiBTbyBJIHRoaW5r
IHdlIHNob3VsZCBiZSBhYmxlIHRvIGdldCBhd2F5IGZyb20gdHJhcHBpbmdzIHRoZSByZWdpc3Rl
cnMuDQoNCkkgZG8gYWdyZWUgdGhhdCB3ZSBzaG91bGQgYmUgYWJsZSB0byBnZXQgYXdheSBmcm9t
IHRoYXQgaW4gdGhlIGxvbmcgdGVybSBvbmNlDQp3ZSBoYXZlIGNwdXBvb2xzIHByb3Blcmx5IHNl
dCBidXQgcmlnaHQgbm93IHRoaXMgaXMgdGhlIG9ubHkgd2F5IHRvIGhhdmUNCnNvbWV0aGluZyB1
c2VhYmxlIChJIHdpbGwgbm90IHNheSByaWdodCkuDQpJIHdpbGwgd29yayBvbiBmaW5kaW5nIGEg
d2F5IHRvIHNldHVwIHByb3Blcmx5IGNwdXBvb2xzIChvciBzb21ldGhpbmcgZWxzZSBhcw0Kd2Ug
ZGlzY3Vzc2VkIGVhcmxpZXIpIGJ1dCBpbiB0aGUgc2hvcnQgdGVybSBJIHRoaW5rIHRoaXMgaXMg
dGhlIGJlc3Qgd2UgY2FuIGRvLg0KDQpBbiBvdGhlciBzb2x1dGlvbiB3b3VsZCBiZSB0byBkaXNj
YXJkIHRoaXMgcGF0Y2ggZnJvbSB0aGUgc2VyaWUgZm9yIG5vdyB1bnRpbA0KSSBoYXZlIHdvcmtl
ZCBhIHByb3BlciBzb2x1dGlvbiBmb3IgdGhpcyBjYXNlLg0KDQpTaG91bGQgd2UgZGlzY2FyZCBv
ciBtZXJnZSBvciBkbyB5b3UgaGF2ZSBhbiBvdGhlciBpZGVhID8NCg0KDQo+IA0KPj4gV2hlbiBU
SUQyIGlzIGFjdGl2YXRlIHdlIGFsc28gbmVlZCB0byBlbXVsYXRlIHRoZSBDQ1NJRFIsIENTU0VM
UiBhbmQNCj4+IENMSURSIHJlZ2lzdGVycyB3aGljaCBpcyBkb25lIGhlcmUgZm9yIGJvdGggMzIg
YW5kIDY0Yml0IHZlcnNpb25zIG9mIHRoZQ0KPj4gcmVnaXN0ZXJzLg0KPj4gQWRkIENUUiByZWdp
c3RlciBmaWVsZCBkZWZpbml0aW9ucyB1c2luZyBMaW51eCB2YWx1ZSBhbmQgZGVmaW5lIG5hbWVz
DQo+PiBhbmQgdXNlIHRoZSBvcHBvcnR1bml0eSB0byByZW5hbWUgQ1RSX0wxSXAgdG8gdXNlIGFu
IHVwcGVyIGNhc2UgbmFtZQ0KPj4gaW5zdGVhZC4gVGhlIHBhdGNoIGlzIGFsc28gZGVmaW5pbmcg
SUNBQ0hFX1BPTElDWV94eHggaW5zdGVhZCBvZiBvbmx5DQo+PiBoYXZpbmcgQ1RSX0wxSVBfeHh4
LiBDb2RlIHVzaW5nIHRob3NlIGRlZmluZXMgaXMgYWxzbyB1cGRhdGVkIGJ5IHRoaXMNCj4+IHBh
dGNoIChhcm0zMiBzZXR1cCkuDQo+PiBPbiBtb3N0IGJpZy9MSVRUTEUgcGxhdGZvcm1zIHRoaXMg
cGF0Y2ggd2lsbCBhY3RpdmF0ZSBUSUQyIGFuZCBlbXVsYXRlDQo+PiBWSVBUIHR5cGUgb2YgaS1j
YWNoZSBmb3IgYWxsIGNvcmVzIChhcyBtb3N0IExJVFRMRSBjb3JlcyBhcmUgVklQVCB3aGVyZQ0K
Pj4gYmlnIG9uZXMgYXJlIFBJUFQpLiBUaGlzIGlzIHRoZSBjYXNlIGZvciBleGFtcGxlIG9uIEp1
bm8gYm9hcmRzLg0KPj4gT24gcGxhdGZvcm1zIHdpdGggb25seSB0aGUgc2FtZSB0eXBlIG9mIGNv
cmVzLCB0aGlzIHBhdGNoIHNob3VsZCBub3QNCj4+IG1vZGlmeSB0aGUgYmVoYXZpb3VyLg0KPj4g
U2lnbmVkLW9mZi1ieTogQmVydHJhbmQgTWFycXVpcyA8YmVydHJhbmQubWFycXVpc0Bhcm0uY29t
Pg0KPj4gLS0tDQo+PiBDaGFuZ2VzIGluIHYzOiBub25lDQo+PiBDaGFuZ2UgaW4gdjI6IFBhdGNo
IGludHJvZHVjZWQgaW4gdjINCj4+IC0tLQ0KPj4gIHhlbi9hcmNoL2FybS9hcm02NC9jcHVmZWF0
dXJlLmMgIHwgMTkgKysrKysrKysrKystLS0NCj4+ICB4ZW4vYXJjaC9hcm0vYXJtNjQvdnN5c3Jl
Zy5jICAgICB8IDQwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4+ICB4ZW4vYXJjaC9h
cm0vY3B1ZmVhdHVyZS5jICAgICAgICB8ICAyICsrDQo+PiAgeGVuL2FyY2gvYXJtL2RvbWFpbi5j
ICAgICAgICAgICAgfCAgOCArKysrKysNCj4+ICB4ZW4vYXJjaC9hcm0vc2V0dXAuYyAgICAgICAg
ICAgICB8ICAyICstDQo+PiAgeGVuL2FyY2gvYXJtL3ZjcHJlZy5jICAgICAgICAgICAgfCA0NSAr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPj4gIHhlbi9pbmNsdWRlL2FzbS1hcm0v
YXJtNjQvaHNyLmggIHwgIDYgKysrKysNCj4+ICB4ZW4vaW5jbHVkZS9hc20tYXJtL2NwdWZlYXR1
cmUuaCB8IDExICsrKysrKysrDQo+PiAgeGVuL2luY2x1ZGUvYXNtLWFybS9wcm9jZXNzb3IuaCAg
fCAxOCArKysrKysrKysrLS0tDQo+PiAgOSBmaWxlcyBjaGFuZ2VkLCAxNDMgaW5zZXJ0aW9ucygr
KSwgOCBkZWxldGlvbnMoLSkNCj4+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vYXJtNjQvY3B1
ZmVhdHVyZS5jIGIveGVuL2FyY2gvYXJtL2FybTY0L2NwdWZlYXR1cmUuYw0KPj4gaW5kZXggYjE5
MzZlZjFkNi4uMzM0ZDU5MGJhMCAxMDA2NDQNCj4+IC0tLSBhL3hlbi9hcmNoL2FybS9hcm02NC9j
cHVmZWF0dXJlLmMNCj4+ICsrKyBiL3hlbi9hcmNoL2FybS9hcm02NC9jcHVmZWF0dXJlLmMNCj4+
IEBAIC0yNzUsOSArMjc1LDYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBhcm02NF9mdHJfYml0cyBm
dHJfaWRfYWE2NG1tZnIyW10gPSB7DQo+PiAgCUFSTTY0X0ZUUl9FTkQsDQo+PiAgfTsNCj4+ICAt
I2lmIDANCj4+IC0vKiBUT0RPOiB1c2UgdGhpcyB0byBzYW5pdGl6ZSB0aGUgY2FjaGUgbGluZSBz
aXplIGFtb25nIGNvcmVzICovDQo+PiAtDQo+PiAgc3RhdGljIGNvbnN0IHN0cnVjdCBhcm02NF9m
dHJfYml0cyBmdHJfY3RyW10gPSB7DQo+PiAgCUFSTTY0X0ZUUl9CSVRTKEZUUl9WSVNJQkxFLCBG
VFJfU1RSSUNULCBGVFJfRVhBQ1QsIDMxLCAxLCAxKSwgLyogUkVTMSAqLw0KPj4gIAlBUk02NF9G
VFJfQklUUyhGVFJfVklTSUJMRSwgRlRSX1NUUklDVCwgRlRSX0xPV0VSX1NBRkUsIENUUl9ESUNf
U0hJRlQsIDEsIDEpLA0KPj4gQEAgLTI5NCw3ICsyOTEsNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0
IGFybTY0X2Z0cl9iaXRzIGZ0cl9jdHJbXSA9IHsNCj4+ICAJQVJNNjRfRlRSX0JJVFMoRlRSX1ZJ
U0lCTEUsIEZUUl9TVFJJQ1QsIEZUUl9MT1dFUl9TQUZFLCBDVFJfSU1JTkxJTkVfU0hJRlQsIDQs
IDApLA0KPj4gIAlBUk02NF9GVFJfRU5ELA0KPj4gIH07DQo+PiAtI2VuZGlmDQo+PiAgICBzdGF0
aWMgY29uc3Qgc3RydWN0IGFybTY0X2Z0cl9iaXRzIGZ0cl9pZF9tbWZyMFtdID0gew0KPj4gIAlT
X0FSTTY0X0ZUUl9CSVRTKEZUUl9ISURERU4sIEZUUl9TVFJJQ1QsIEZUUl9MT1dFUl9TQUZFLCBJ
RF9NTUZSMF9JTk5FUlNIUl9TSElGVCwgNCwgMHhmKSwNCj4+IEBAIC01MTAsNiArNTA2LDEyIEBA
IHN0YXRpYyBzNjQgYXJtNjRfZnRyX3NhZmVfdmFsdWUoY29uc3Qgc3RydWN0IGFybTY0X2Z0cl9i
aXRzICpmdHJwLCBzNjQgbmV3LA0KPj4gICAqIEVuZCBvZiBpbXBvcnRlZCBsaW51eCBzdHJ1Y3R1
cmVzIGFuZCBjb2RlDQo+PiAgICovDQo+PiAgKy8qDQo+PiArICogVGhpcyBpcyBzZXQgdG8gdHJ1
ZSBpZiB3ZSBoYXZlIGRpZmZlcmVudCB0eXBlIG9mIGktY2FjaGVzIG9uIGNvcmVzDQo+PiArICog
YW5kIHVzZWQgdG8gYWN0aXZhdGUgVElEMiBiaXQgdG8gZW11bGF0ZSBDVFJfRUwwIHJlZ2lzdGVy
IGZvciBndWVzdHMNCj4+ICsgKi8NCj4+ICtib29sIG1pc21hdGNoX2NhY2hlX3R5cGUgPSBmYWxz
ZTsNCj4gDQo+IElmIHdlIGFyZSBzdGlsbCBwbGFubmluZyB0byB0cmFwIGFuZCBlbXVsYXRlIHRo
ZSByZWdpc3RlcnMsIHRoZW4gdGhpcyBuZWVkcyB0byBiZSBhbiBIVyBjYXBhYmlsaXR5IChzZWUg
Y3B1c19zZXRfY2FwKCkpLg0KDQpPaw0KDQo+IA0KPj4gKw0KPj4gIHN0YXRpYyB2b2lkIHNhbml0
aXplX3JlZyh1NjQgKmN1cl9yZWcsIHU2NCBuZXdfcmVnLCBjb25zdCBjaGFyICpyZWdfbmFtZSwN
Cj4+ICAJCQkJCQljb25zdCBzdHJ1Y3QgYXJtNjRfZnRyX2JpdHMgKmZ0cnApDQo+PiAgew0KPj4g
QEAgLTYwMCw2ICs2MDIsMTUgQEAgdm9pZCB1cGRhdGVfc3lzdGVtX2ZlYXR1cmVzKGNvbnN0IHN0
cnVjdCBjcHVpbmZvX2FybSAqbmV3KQ0KPj4gIAkgKi8NCj4+ICAJU0FOSVRJWkVfUkVHKGRjemlk
LCAwLCBkY3ppZCk7DQo+PiAgKwlTQU5JVElaRV9SRUcoY3RyLCAwLCBjdHIpOw0KPj4gKw0KPj4g
KwkvKg0KPj4gKwkgKiBJZiBDVFIgaXMgZGlmZmVyZW50IGFtb25nIGNvcmVzLCBzZXQgbWlzbWF0
Y2hfY2FjaGVfdHlwZSB0byBhY3RpdmF0ZQ0KPj4gKwkgKiBUSUQyIGJpdCBpbiBIQ1IgYW5kIGVt
dWxhdGUgQ1RSIHJlZ2lzdGVyIGFjY2VzcyBmb3IgZ3Vlc3RzLg0KPj4gKwkgKi8NCj4+ICsJaWYg
KCBzeXN0ZW1fY3B1aW5mby5jdHIuYml0c1swXSAhPSBuZXctPmN0ci5iaXRzWzBdICkNCj4+ICsJ
CW1pc21hdGNoX2NhY2hlX3R5cGUgPSB0cnVlOw0KPj4gKw0KPj4gIAlpZiAoIGNwdV9mZWF0dXJl
NjRfaGFzX2VsMF8zMigmc3lzdGVtX2NwdWluZm8pICkNCj4+ICAJew0KPj4gIAkJU0FOSVRJWkVf
SURfUkVHKHBmcjMyLCAwLCBwZnIwKTsNCj4+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vYXJt
NjQvdnN5c3JlZy5jIGIveGVuL2FyY2gvYXJtL2FybTY0L3ZzeXNyZWcuYw0KPj4gaW5kZXggODg3
MjY2ZGQ0Ni4uMTcyMTJiZDdhZSAxMDA2NDQNCj4+IC0tLSBhL3hlbi9hcmNoL2FybS9hcm02NC92
c3lzcmVnLmMNCj4+ICsrKyBiL3hlbi9hcmNoL2FybS9hcm02NC92c3lzcmVnLmMNCj4+IEBAIC0z
NDEsNiArMzQxLDQ2IEBAIHZvaWQgZG9fc3lzcmVnKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdz
LA0KPj4gICAgICBjYXNlIEhTUl9TWVNSRUcoMywwLGMwLGM3LDcpOg0KPj4gICAgICAgICAgcmV0
dXJuIGhhbmRsZV9yb19yYXoocmVncywgcmVnaWR4LCBoc3Iuc3lzcmVnLnJlYWQsIGhzciwgMSk7
DQo+PiAgKyAgICAvKg0KPj4gKyAgICAgKiBIQ1JfRUwyLlRJRDINCj4+ICsgICAgICoNCj4+ICsg
ICAgICogcmVnaXN0ZXJzIHJlbGF0ZWQgdG8gY2FjaGUgZGV0ZWN0aW9uDQo+PiArICAgICAqLw0K
Pj4gKyAgICBjYXNlIEhTUl9TWVNSRUdfQ1RSX0VMMDoNCj4+ICsgICAgICAgIHJldHVybiBoYW5k
bGVfcm9fcmVhZF92YWwocmVncywgcmVnaWR4LCBoc3Iuc3lzcmVnLnJlYWQsIGhzciwgMSwNCj4+
ICsgICAgICAgICAgICAgICAgc3lzdGVtX2NwdWluZm8uY3RyLmJpdHNbMF0pOw0KPiANCj4gQ29k
aW5nIHN0eWxlOiBUaGlzIG5lZWRzIHRvIGJlIGFsaWduZWQgd2l0aCB0aGUgZmlyc3QgYXJndW1l
bnQuDQoNClN1cmUgSSB3aWxsIGZpeCB0aGF0DQoNCj4gDQo+PiArDQo+PiArICAgIGNhc2UgSFNS
X1NZU1JFR19DTElEUl9FTDE6DQo+PiArICAgICAgICByZXR1cm4gaGFuZGxlX3JvX3JlYWRfdmFs
KHJlZ3MsIHJlZ2lkeCwgaHNyLnN5c3JlZy5yZWFkLCBoc3IsIDEsDQo+PiArICAgICAgICAgICAg
ICAgIFJFQURfU1lTUkVHKENMSURSX0VMMSkpOw0KPiANCj4gU2FtZS4NCg0KT2sNCg0KPiANCj4+
ICsNCj4+ICsgICAgY2FzZSBIU1JfU1lTUkVHX0NTU0VMUl9FTDE6DQo+PiArICAgICAgICBpZiAo
IHBzcl9tb2RlX2lzX3VzZXIocmVncykgKQ0KPj4gKyAgICAgICAgICAgIHJldHVybiBpbmplY3Rf
dW5kZWZfZXhjZXB0aW9uKHJlZ3MsIGhzcik7DQo+PiArICAgICAgICBpZiAoIGhzci5zeXNyZWcu
cmVhZCApDQo+PiArICAgICAgICAgICAgc2V0X3VzZXJfcmVnKHJlZ3MsIHJlZ2lkeCwgdi0+YXJj
aC5jc3NlbHIpOw0KPj4gKyAgICAgICAgZWxzZQ0KPj4gKyAgICAgICAgICAgIHYtPmFyY2guY3Nz
ZWxyID0gZ2V0X3VzZXJfcmVnKHJlZ3MsIHJlZ2lkeCk7DQo+PiArICAgICAgICBicmVhazsNCj4+
ICsNCj4+ICsgICAgY2FzZSBIU1JfU1lTUkVHX0NDU0lEUl9FTDE6DQo+PiArICAgICAgICBpZiAo
IHBzcl9tb2RlX2lzX3VzZXIocmVncykgKQ0KPj4gKyAgICAgICAgICAgIHJldHVybiBpbmplY3Rf
dW5kZWZfZXhjZXB0aW9uKHJlZ3MsIGhzcik7DQo+PiArICAgICAgICBpZiAoIGhzci5zeXNyZWcu
cmVhZCApDQo+PiArICAgICAgICB7DQo+PiArICAgICAgICAgICAgLyogd2UgbmVlZCB0byBzZXQg
Q1NTRUxSIGFuZCBkbyB0aGUgcmVhZCBvZiBDQ1NJRFIgYXRvbWljYWxseSAqLw0KPiANCj4gSSBj
b3VsZG4ndCBmaW5kIHRoaXMgcmVxdWlyZW1lbnQgaW4gdGhlIEFybSBBcm0uIERvIHlvdSBoYXZl
IHRoZSBzZWN0aW9uIGF0IGhhbmQ/DQoNCklmIHdlIGdldCBpbnRlcnJ1cHRlZCwgc29tZW9uZSBj
b3VsZCBwcm9ncmFtIENTU0VMUiBkaWZmZXJlbnRseSBhbmQgdGhlIG5leHQgcmVhZA0Kd2lsbCBu
b3QgYmUgcmVmbGVjdGluZyB3aGF0IHRoZSBndWVzdCBhY3R1YWxseSB3YW50cyB0byBkby4NCg0K
VGhlIGNvZGUgaXMgbm90IHByZWVtcHRpYmxlIHJpZ2h0IG5vdyBzbyB0aGlzIGNhbm5vdCBiZSBh
biBpc3N1ZSBidXQgSSBhZGRlZCB0aGUNCiBjb21tZW50IG1vcmUgYXMgYSB3YXJuaW5nLg0KDQpU
aGlzIGlzIG5vdCBzb21ldGhpbmcgZnJvbSB0aGUgZG9jdW1lbnRhdGlvbiwgdGhpcyBpcyBiZWNh
dXNlIHZhbHVlIHdyaXR0ZW4NCmluIENTU0VMUiBpcyBkZWZpbmluZyB3aGF0IGlzIHJlYWQgZnJv
bSBDQ1NJRFINCg0KPiANCj4+ICsgICAgICAgICAgICBXUklURV9TWVNSRUcodi0+YXJjaC5jc3Nl
bHIsIENTU0VMUl9FTDEpOw0KPj4gKyAgICAgICAgICAgIHNldF91c2VyX3JlZyhyZWdzLCByZWdp
ZHgsIFJFQURfU1lTUkVHKENDU0lEUl9FTDEpKTsNCj4+ICsgICAgICAgIH0NCj4gDQo+IEZyb20g
dGhlIEFybSBBcm0gKEQxMy4yLjI1IGluIEFSTSBEREkgMDQ4N0YuYyk6DQo+IA0KPiAiDQo+IElm
IENTU0VMUl9FTDEuTGV2ZWwgaXMgcHJvZ3JhbW1lZCB0byBhIGNhY2hlIGxldmVsIHRoYXQgaXMg
bm90IGltcGxlbWVudGVkLCB0aGVuIG9uIGEgcmVhZCBvZiB0aGUgQ0NTSURSX0VMMQ0KPiB0aGUg
YmVoYXZpb3IgaXMgQ09OU1RSQUlORUQgVU5QUkVESUNUQUJMRSwgYW5kIGNhbiBiZSBvbmUgb2Yg
dGhlIGZvbGxvd2luZzoNCj4g4oCiIFRoZSBDQ1NJRFJfRUwxIHJlYWQgaXMgdHJlYXRlZCBhcyBO
T1AuDQo+IOKAoiBUaGUgQ0NTSURSX0VMMSByZWFkIGlzIFVOREVGSU5FRC4NCj4g4oCiIFRoZSBD
Q1NJRFJfRUwxIHJlYWQgcmV0dXJucyBhbiBVTktOT1dOIHZhbHVlLg0KPiAiDQo+IA0KPiBXZSBj
YW4ndCB0cnVzdCB0aGUgZ3Vlc3QgaGVyZSwgc28gd2UgbmVlZCB0byBwcmV2ZW50IGFueSBvZiB0
aGlzIGJlaGF2aW9yIChpbiBwYXJ0aWN1bGFyIDEgYW5kIDIpIHRvIGhhcHBlbi4gVGhlIG9wdGlv
bnMgYXJlOg0KPiAxKSBTYW5pdGl6ZSB0aGUgdmFsdWVzIGZyb20gdGhlIGd1ZXN0DQo+IDIpIE1h
a2Ugc3VyZSB0aGUgcmVnaXN0ZXIgaXMgMCBiZWZvcmUgcmVhZGluZyAoZm9yIHRoZSBOT1AgY2Fz
ZSB0byBhdm9pZCBsZWFraW5nIGEgdmFsdWUgZnJvbSBYZW4pIGFuZCBjYXRjaCB0aGUgdW5kZWZp
bmVkIChzb21lIHNpbWlsYXIgdG8gdGhlIGV4dGFibGUgb24geDg2KS4NCg0KR29vZCBjYXRjaCBJ
IHNob3VsZCBoYXZlIHRob3VnaHQgb2YgdGhhdC4NCkkgd2lsbCBjaGVjayB0aGlzIGJ1dCBteSBw
cmVmZXJlbmNlIHdvdWxkIGdvIHRvIG9wdGlvbiAxIGlmIGZlYXNpYmxlLg0KDQo+IA0KPj4gKyAg
ICAgICAgYnJlYWs7DQo+PiArDQo+PiArICAgIGNhc2UgSFNSX1NZU1JFR19DQ1NJRFIyX0VMMToN
Cj4+ICsgICAgICAgIC8qDQo+PiArICAgICAgICAgKiBUaGlzIHdvdWxkIG5lZWQgdG8gcmV0dXJu
IGEgcHJvcGVybHkgZGVmaW5lZCB2YWx1ZSBpZiBDQ0lEWCBpcw0KPj4gKyAgICAgICAgICogaW1w
bGVtZW50ZWQgaW4gdGhlIHByb2Nlc3Nvcg0KPj4gKyAgICAgICAgICovDQo+PiArICAgICAgICBy
ZXR1cm4gaW5qZWN0X3VuZGVmX2V4Y2VwdGlvbihyZWdzLCBoc3IpOw0KPj4gKw0KPj4gICAgICAv
Kg0KPj4gICAgICAgKiBIQ1JfRUwyLlRJRENQDQo+PiAgICAgICAqDQo+PiBkaWZmIC0tZ2l0IGEv
eGVuL2FyY2gvYXJtL2NwdWZlYXR1cmUuYyBiL3hlbi9hcmNoL2FybS9jcHVmZWF0dXJlLmMNCj4+
IGluZGV4IDExM2YyMGY2MDEuLjZlNTFmNTMwYTggMTAwNjQ0DQo+PiAtLS0gYS94ZW4vYXJjaC9h
cm0vY3B1ZmVhdHVyZS5jDQo+PiArKysgYi94ZW4vYXJjaC9hcm0vY3B1ZmVhdHVyZS5jDQo+PiBA
QCAtMTI3LDYgKzEyNyw4IEBAIHZvaWQgaWRlbnRpZnlfY3B1KHN0cnVjdCBjcHVpbmZvX2FybSAq
YykNCj4+ICAgICAgICBjLT5kY3ppZC5iaXRzWzBdID0gUkVBRF9TWVNSRUcoRENaSURfRUwwKTsN
Cj4+ICArICAgIGMtPmN0ci5iaXRzWzBdID0gUkVBRF9TWVNSRUcoQ1RSX0VMMCk7DQo+PiArDQo+
PiAgICAgIGFhcmNoMzJfZWwwID0gY3B1X2ZlYXR1cmU2NF9oYXNfZWwwXzMyKGMpOw0KPj4gICNl
bmRpZg0KPj4gIGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vZG9tYWluLmMgYi94ZW4vYXJjaC9h
cm0vZG9tYWluLmMNCj4+IGluZGV4IDE5Yzc1NmFjM2QuLjdhOTdmZGUzZTcgMTAwNjQ0DQo+PiAt
LS0gYS94ZW4vYXJjaC9hcm0vZG9tYWluLmMNCj4+ICsrKyBiL3hlbi9hcmNoL2FybS9kb21haW4u
Yw0KPj4gQEAgLTU4NSw2ICs1ODUsMTQgQEAgaW50IGFyY2hfdmNwdV9jcmVhdGUoc3RydWN0IHZj
cHUgKnYpDQo+PiAgICAgIHYtPmFyY2gudm1waWRyID0gTVBJRFJfU01QIHwgdmNwdWlkX3RvX3Zh
ZmZpbml0eSh2LT52Y3B1X2lkKTsNCj4+ICAgICAgICB2LT5hcmNoLmhjcl9lbDIgPSBnZXRfZGVm
YXVsdF9oY3JfZmxhZ3MoKTsNCj4+ICsjaWZkZWYgQ09ORklHX0FSTTY0DQo+IA0KPiBUaGlzICNp
ZmRlZiBjb3VsZCBiZSBkcm9wcHBlZCBpZiB3ZSB1c2UgYW4gSFcgY2Fwcy4NCg0KQWNrLg0KDQo+
IA0KPj4gKyAgICAvKg0KPj4gKyAgICAgKiBPbmx5IGFjdGl2YXRlZCBUSUQyIHRvIGNhdGNoIGFj
Y2VzcyB0byBDVFJfRUwwIGlmIHRoZSBwbGF0Zm9ybSBoYXMgc29tZQ0KPj4gKyAgICAgKiBtaXNt
YXRjaGluZyBpLWNhY2hlIHR5cGVzIGFtb25nIGNvcmVzDQo+PiArICAgICAqLw0KPj4gKyAgICBp
ZiAoIG1pc21hdGNoX2NhY2hlX3R5cGUgKQ0KPj4gKyAgICAgICAgdi0+YXJjaC5oY3JfZWwyIHw9
IEhDUl9USUQyOw0KPj4gKyNlbmRpZg0KPj4gICAgICAgIGlmICggKHJjID0gdmNwdV92Z2ljX2lu
aXQodikpICE9IDAgKQ0KPj4gICAgICAgICAgZ290byBmYWlsOw0KPj4gZGlmZiAtLWdpdCBhL3hl
bi9hcmNoL2FybS9zZXR1cC5jIGIveGVuL2FyY2gvYXJtL3NldHVwLmMNCj4+IGluZGV4IDM3OThj
NWFkZTAuLjMzYjdiZmI1OWMgMTAwNjQ0DQo+PiAtLS0gYS94ZW4vYXJjaC9hcm0vc2V0dXAuYw0K
Pj4gKysrIGIveGVuL2FyY2gvYXJtL3NldHVwLmMNCj4+IEBAIC02MjcsNyArNjI3LDcgQEAgc3Rh
dGljIHZvaWQgX19pbml0IHNldHVwX21tKHZvaWQpDQo+PiAgICAgICAgICBwYW5pYygiTm8gbWVt
b3J5IGJhbmtcbiIpOw0KPj4gICAgICAgIC8qIFdlIG9ubHkgc3VwcG9ydHMgaW5zdHJ1Y3Rpb24g
Y2FjaGVzIGltcGxlbWVudGluZyB0aGUgSVZJUFQgZXh0ZW5zaW9uLiAqLw0KPj4gLSAgICBpZiAo
ICgoY3RyID4+IENUUl9MMUlwX1NISUZUKSAmIENUUl9MMUlwX01BU0spID09IENUUl9MMUlwX0FJ
VklWVCApDQo+PiArICAgIGlmICggKChjdHIgPj4gQ1RSX0wxSVBfU0hJRlQpICYgQ1RSX0wxSVBf
TUFTSykgPT0gSUNBQ0hFX1BPTElDWV9BSVZJVlQgKQ0KPj4gICAgICAgICAgcGFuaWMoIkFJVklW
VCBpbnN0cnVjdGlvbiBjYWNoZSBub3Qgc3VwcG9ydGVkXG4iKTsNCj4+ICAgICAgICBpbml0X3Bk
eCgpOw0KPj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS92Y3ByZWcuYyBiL3hlbi9hcmNoL2Fy
bS92Y3ByZWcuYw0KPj4gaW5kZXggMzMyNTljNDE5NC4uNWZmZWQ5NmRlZCAxMDA2NDQNCj4+IC0t
LSBhL3hlbi9hcmNoL2FybS92Y3ByZWcuYw0KPj4gKysrIGIveGVuL2FyY2gvYXJtL3ZjcHJlZy5j
DQo+PiBAQCAtMzYxLDYgKzM2MSw1MSBAQCB2b2lkIGRvX2NwMTVfMzIoc3RydWN0IGNwdV91c2Vy
X3JlZ3MgKnJlZ3MsIGNvbnN0IHVuaW9uIGhzciBoc3IpDQo+PiAgICAgIEhTUl9DUFJFRzMyX1RJ
RDNfQ0FTRVMoYzcpOg0KPj4gICAgICAgICAgcmV0dXJuIGhhbmRsZV9yb19yYXoocmVncywgcmVn
aWR4LCBjcDMyLnJlYWQsIGhzciwgMSk7DQo+PiAgKyNpZmRlZiBDT05GSUdfQVJNNjQNCj4+ICsg
ICAgLyoNCj4+ICsgICAgICogSENSX0VMMi5USUQyDQo+PiArICAgICAqDQo+PiArICAgICAqIHJl
Z2lzdGVycyByZWxhdGVkIHRvIGNhY2hlIGRldGVjdGlvbg0KPj4gKyAgICAgKiBPbmx5IHN1cHBv
cnRlZCBvbiBhcm02NCBhcyB3ZSBkbyBub3Qgc2FuaXRpemUgY3B1aW5mbyBvbiBhcm0zMiBzbyB3
ZQ0KPj4gKyAgICAgKiBkbyBub3QgbmVlZCB0byBlbXVsYXRlIHRob3NlLg0KPj4gKyAgICAgKi8N
Cj4+ICsgICAgY2FzZSBIU1JfQ1BSRUczMihDVFIpOg0KPj4gKyAgICAgICAgcmV0dXJuIGhhbmRs
ZV9yb19yZWFkX3ZhbChyZWdzLCByZWdpZHgsIGNwMzIucmVhZCwgaHNyLCAxLA0KPj4gKyAgICAg
ICAgICAgICAgICBzeXN0ZW1fY3B1aW5mby5jdHIuYml0c1swXSk7DQo+PiArDQo+PiArICAgIGNh
c2UgSFNSX0NQUkVHMzIoQ0xJRFIpOg0KPj4gKyAgICAgICAgcmV0dXJuIGhhbmRsZV9yb19yZWFk
X3ZhbChyZWdzLCByZWdpZHgsIGNwMzIucmVhZCwgaHNyLCAxLA0KPj4gKyAgICAgICAgICAgICAg
ICBSRUFEX1NZU1JFRyhDTElEUl9FTDEpKTsNCj4+ICsNCj4+ICsgICAgY2FzZSBIU1JfQ1BSRUcz
MihDU1NFTFIpOg0KPj4gKyAgICAgICAgaWYgKCBwc3JfbW9kZV9pc191c2VyKHJlZ3MpICkNCj4+
ICsgICAgICAgICAgICByZXR1cm4gaW5qZWN0X3VuZGVmX2V4Y2VwdGlvbihyZWdzLCBoc3IpOw0K
Pj4gKyAgICAgICAgaWYgKCBjcDMyLnJlYWQgKQ0KPj4gKyAgICAgICAgICAgIHNldF91c2VyX3Jl
ZyhyZWdzLCByZWdpZHgsIHYtPmFyY2guY3NzZWxyKTsNCj4+ICsgICAgICAgIGVsc2UNCj4+ICsg
ICAgICAgICAgICB2LT5hcmNoLmNzc2VsciA9IGdldF91c2VyX3JlZyhyZWdzLCByZWdpZHgpOw0K
Pj4gKyAgICAgICAgYnJlYWs7DQo+PiArDQo+PiArICAgIGNhc2UgSFNSX0NQUkVHMzIoQ0NTSURS
KToNCj4+ICsgICAgICAgIGlmICggcHNyX21vZGVfaXNfdXNlcihyZWdzKSApDQo+PiArICAgICAg
ICAgICAgcmV0dXJuIGluamVjdF91bmRlZl9leGNlcHRpb24ocmVncywgaHNyKTsNCj4+ICsgICAg
ICAgIGlmICggY3AzMi5yZWFkICkNCj4+ICsgICAgICAgIHsNCj4+ICsgICAgICAgICAgICAvKiB3
ZSBuZWVkIHRvIHNldCBDU1NFTFIgYW5kIGRvIHRoZSByZWFkIG9mIENDU0lEUiBhdG9taWNhbGx5
ICovDQo+PiArICAgICAgICAgICAgV1JJVEVfU1lTUkVHKHYtPmFyY2guY3NzZWxyLCBDU1NFTFJf
RUwxKTsNCj4+ICsgICAgICAgICAgICBzZXRfdXNlcl9yZWcocmVncywgcmVnaWR4LCBSRUFEX1NZ
U1JFRyhDQ1NJRFJfRUwxKSk7DQo+PiArICAgICAgICB9DQo+PiArICAgICAgICBicmVhazsNCj4+
ICsNCj4+ICsgICAgY2FzZSBIU1JfQ1BSRUczMihDQ1NJRFIyKToNCj4+ICsgICAgICAgIC8qDQo+
PiArICAgICAgICAgKiBUaGlzIHdvdWxkIG5lZWQgdG8gcmV0dXJuIGEgcHJvcGVybHkgZGVmaW5l
ZCB2YWx1ZSBpZiBDQ0lEWCBpcw0KPj4gKyAgICAgICAgICogaW1wbGVtZW50ZWQgaW4gdGhlIHBy
b2Nlc3Nvcg0KPj4gKyAgICAgICAgICovDQo+PiArICAgICAgICByZXR1cm4gaW5qZWN0X3VuZGVm
X2V4Y2VwdGlvbihyZWdzLCBoc3IpOw0KPj4gKw0KPj4gKyNlbmRpZg0KPj4gKw0KPj4gICAgICAv
Kg0KPj4gICAgICAgKiBIQ1JfRUwyLlRJRENQDQo+PiAgICAgICAqDQo+PiBkaWZmIC0tZ2l0IGEv
eGVuL2luY2x1ZGUvYXNtLWFybS9hcm02NC9oc3IuaCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vYXJt
NjQvaHNyLmgNCj4+IGluZGV4IGU2OTFkNDFjMTcuLmMzMzk4MGU0ZTUgMTAwNjQ0DQo+PiAtLS0g
YS94ZW4vaW5jbHVkZS9hc20tYXJtL2FybTY0L2hzci5oDQo+PiArKysgYi94ZW4vaW5jbHVkZS9h
c20tYXJtL2FybTY0L2hzci5oDQo+PiBAQCAtMTQ3LDYgKzE0NywxMiBAQA0KPj4gICNkZWZpbmUg
SFNSX1NZU1JFR19JRF9BQTY0QUZSMV9FTDEgICBIU1JfU1lTUkVHKDMsMCxjMCxjNSw1KQ0KPj4g
ICNkZWZpbmUgSFNSX1NZU1JFR19JRF9BQTY0WkZSMF9FTDEgICBIU1JfU1lTUkVHKDMsMCxjMCxj
NCw0KQ0KPj4gICsjZGVmaW5lIEhTUl9TWVNSRUdfQ1RSX0VMMCAgICAgIEhTUl9TWVNSRUcoMywz
LGMwLGMwLDEpDQo+PiArI2RlZmluZSBIU1JfU1lTUkVHX0NMSURSX0VMMSAgICBIU1JfU1lTUkVH
KDMsMSxjMCxjMCwxKQ0KPj4gKyNkZWZpbmUgSFNSX1NZU1JFR19DU1NFTFJfRUwxICAgSFNSX1NZ
U1JFRygzLDIsYzAsYzAsMCkNCj4+ICsjZGVmaW5lIEhTUl9TWVNSRUdfQ0NTSURSX0VMMSAgIEhT
Ul9TWVNSRUcoMywxLGMwLGMwLDApDQo+PiArI2RlZmluZSBIU1JfU1lTUkVHX0NDU0lEUjJfRUwx
ICBIU1JfU1lTUkVHKDMsMSxjMCxjMCwyKQ0KPj4gKw0KPj4gICNlbmRpZiAvKiBfX0FTTV9BUk1f
QVJNNjRfSFNSX0ggKi8NCj4+ICAgIC8qDQo+PiBkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNt
LWFybS9jcHVmZWF0dXJlLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL2NwdWZlYXR1cmUuaA0KPj4g
aW5kZXggNTIxOWZkM2JhYi4uY2E2ZTgyN2ZjYiAxMDA2NDQNCj4+IC0tLSBhL3hlbi9pbmNsdWRl
L2FzbS1hcm0vY3B1ZmVhdHVyZS5oDQo+PiArKysgYi94ZW4vaW5jbHVkZS9hc20tYXJtL2NwdWZl
YXR1cmUuaA0KPj4gQEAgLTI2Nyw2ICsyNjcsMTQgQEAgc3RydWN0IGNwdWluZm9fYXJtIHsNCj4+
ICAgICAgICAgIHJlZ2lzdGVyX3QgYml0c1sxXTsNCj4+ICAgICAgfSBkY3ppZDsNCj4+ICArICAg
IC8qDQo+PiArICAgICAqIENUUiBpcyBvbmx5IHVzZWQgdG8gY2hlY2sgZm9yIGRpZmZlcmVudCBj
YWNoZSB0eXBlcyBvciBwb2xpY2llcyBhbmQNCj4+ICsgICAgICogdGFpbnQgWGVuIGluIHRoaXMg
Y2FzZQ0KPj4gKyAgICAgKi8NCj4+ICsgICAgc3RydWN0IHsNCj4+ICsgICAgICAgIHJlZ2lzdGVy
X3QgYml0c1sxXTsNCj4+ICsgICAgfSBjdHI7DQo+PiArDQo+PiAgI2VuZGlmDQo+PiAgICAgICAg
LyoNCj4+IEBAIC0zMzksNiArMzQ3LDkgQEAgZXh0ZXJuIHN0cnVjdCBjcHVpbmZvX2FybSBzeXN0
ZW1fY3B1aW5mbzsNCj4+ICBleHRlcm4gdm9pZCBpZGVudGlmeV9jcHUoc3RydWN0IGNwdWluZm9f
YXJtICopOw0KPj4gICAgI2lmZGVmIENPTkZJR19BUk1fNjQNCj4+ICsNCj4+ICtleHRlcm4gYm9v
bCBtaXNtYXRjaGVkX2NhY2hlX3R5cGU7DQo+PiArDQo+PiAgZXh0ZXJuIHZvaWQgdXBkYXRlX3N5
c3RlbV9mZWF0dXJlcyhjb25zdCBzdHJ1Y3QgY3B1aW5mb19hcm0gKik7DQo+PiAgI2Vsc2UNCj4+
ICBzdGF0aWMgaW5saW5lIHZvaWQgdXBkYXRlX3N5c3RlbV9mZWF0dXJlcyhjb25zdCBzdHJ1Y3Qg
Y3B1aW5mb19hcm0gKmNwdWluZm8pDQo+PiBkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLWFy
bS9wcm9jZXNzb3IuaCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vcHJvY2Vzc29yLmgNCj4+IGluZGV4
IDI1NzdlOWEyNDQuLjhjOTg0M2UxMmIgMTAwNjQ0DQo+PiAtLS0gYS94ZW4vaW5jbHVkZS9hc20t
YXJtL3Byb2Nlc3Nvci5oDQo+PiArKysgYi94ZW4vaW5jbHVkZS9hc20tYXJtL3Byb2Nlc3Nvci5o
DQo+PiBAQCAtNyw5ICs3LDIxIEBADQo+PiAgI2luY2x1ZGUgPHB1YmxpYy9hcmNoLWFybS5oPg0K
Pj4gICAgLyogQ1RSIENhY2hlIFR5cGUgUmVnaXN0ZXIgKi8NCj4+IC0jZGVmaW5lIENUUl9MMUlw
X01BU0sgICAgICAgMHgzDQo+PiAtI2RlZmluZSBDVFJfTDFJcF9TSElGVCAgICAgIDE0DQo+PiAt
I2RlZmluZSBDVFJfTDFJcF9BSVZJVlQgICAgIDB4MQ0KPj4gKyNkZWZpbmUgQ1RSX0wxSVBfTUFT
SyAgICAgICAweDMNCj4+ICsjZGVmaW5lIENUUl9MMUlQX1NISUZUICAgICAgMTQNCj4+ICsjZGVm
aW5lIENUUl9ETUlOTElORV9TSElGVCAgMTYNCj4+ICsjZGVmaW5lIENUUl9JTUlOTElORV9TSElG
VCAgMA0KPj4gKyNkZWZpbmUgQ1RSX0lNSU5MSU5FX01BU0sgICAweGYNCj4+ICsjZGVmaW5lIENU
Ul9FUkdfU0hJRlQgICAgICAgMjANCj4+ICsjZGVmaW5lIENUUl9DV0dfU0hJRlQgICAgICAgMjQN
Cj4+ICsjZGVmaW5lIENUUl9DV0dfTUFTSyAgICAgICAgMTUNCj4+ICsjZGVmaW5lIENUUl9JRENf
U0hJRlQgICAgICAgMjgNCj4+ICsjZGVmaW5lIENUUl9ESUNfU0hJRlQgICAgICAgMjkNCj4+ICsN
Cj4+ICsjZGVmaW5lIElDQUNIRV9QT0xJQ1lfVlBJUFQgIDANCj4+ICsjZGVmaW5lIElDQUNIRV9Q
T0xJQ1lfQUlWSVZUIDENCj4+ICsjZGVmaW5lIElDQUNIRV9QT0xJQ1lfVklQVCAgIDINCj4+ICsj
ZGVmaW5lIElDQUNIRV9QT0xJQ1lfUElQVCAgIDMNCj4+ICAgIC8qIE1JRFIgTWFpbiBJRCBSZWdp
c3RlciAqLw0KPj4gICNkZWZpbmUgTUlEUl9SRVZJU0lPTl9NQVNLICAgICAgMHhmDQo+IA0KPiBD
aGVlcnMsDQoNClRoYW5rcyBmb3IgdGhlIHJldmlldw0KDQpDaGVlcnMNCkJlcnRyYW5kDQoNCj4g
DQo+IC0tIA0KPiBKdWxpZW4gR3JhbGwNCg0K


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 13:20:07 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 13:20:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175734.320032 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL3gI-0001mY-UA; Tue, 31 Aug 2021 13:20:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175734.320032; Tue, 31 Aug 2021 13:20:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL3gI-0001mG-PU; Tue, 31 Aug 2021 13:20:02 +0000
Received: by outflank-mailman (input) for mailman id 175734;
 Tue, 31 Aug 2021 13:20:00 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Zqic=NW=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mL3gG-0001XN-Sp
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 13:20:00 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 4b704680-5954-4ec9-8076-f4dfcdc86456;
 Tue, 31 Aug 2021 13:20:00 +0000 (UTC)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2051.outbound.protection.outlook.com [104.47.13.51]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-20-ubiRxiTHMUiZ6nkR_QlOpw-1; Tue, 31 Aug 2021 15:19:57 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM8PR04MB7380.eurprd04.prod.outlook.com (2603:10a6:20b:1d5::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23; Tue, 31 Aug
 2021 13:19:56 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4457.024; Tue, 31 Aug 2021
 13:19:56 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0181.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1c::25) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.20 via Frontend Transport; Tue, 31 Aug 2021 13: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: 4b704680-5954-4ec9-8076-f4dfcdc86456
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630415999;
	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=6V6uuT0G947Mwmi6dQgwHC5zdbhrt9/01qST5DIQKM0=;
	b=ZQ84TNwz5TIn/tVo5inY6afoUBWapNW+Mji4UVQhHbNVXnDcE2qtXIqu7OWoDEvqfHkHsF
	2qWC1rlJXrqYGZjHZa566z00gGm+2EQrbwXdQqtIefn3eYLBJykCVbmwW9Tjux8kcsSAOH
	KZ9LuP4KollDv9zkstu0bHx2pSiKQw4=
X-MC-Unique: ubiRxiTHMUiZ6nkR_QlOpw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QiFYqZKtNbDEWhsbZLzbyzGreY6+tAWamaqytBa+VdKvs9Y6Su+jr2DAb9MP74oANP73CHTbX0jvYJzHWZGHZ4H+cocgnWb11YdxZGwnTnXVHj9iFaE6JqfHBipqA8MuLTrbF1W2KUt9xGC19qLNiuODqB9rrSjWGWprT7imIp98aKYabBeigG6xuvKIA4U5pqfn7g7YlmeGNjlqq9YwEDFQijvNY1Q+k5ZG1DFM4OVHDM5TnJ9pJSg+4823tkKRwoM4jCTq4rPGpv3IvDE7c8tsFHCxJB4Et2GhliPac3QoicgTy2m3Sg09iQY73Aiqskn/Mdr/rng7pynYQjbXsg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tUpDt3mfBHYyFfaBCdlU8s+kZ/hw79jnuiPV/6S+4w8=;
 b=OJelU9t0TanIfonVQ7oZkp0I9ElfTuz019ZbsNLKkfF/yr3wOVCwHIGdF5rBmoMMZd+G59T1gXb984lxeKkTKu7/C69/+LsZkH9LcLaSIqObXzFHorRAsbLYx5VQsiyrxJqhyK3eXTctsmNS/VP4rc1mbrTr8ljxQxgiW87aDFUH6baFM4LWJmb9p50jmsLCLlIWxJzqTZ9s80IIDmANpj/L/mnz13J+jK8iYatXX1iIWG0jqRZN+TCX9Eg59HZc/ddA9VbVAkbkD1aQQtO0fhLnJjukGKI4Q/FHD5oDbxt+kaZCSFxgqlsdXX6jBblRjhiGugFWP7SgqCoKKz7qkw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH 1/4] x86/PVH: de-duplicate mappings for first Mb of Dom0
 memory
From: Jan Beulich <jbeulich@suse.com>
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: <aae19abb-e88b-8bf8-6f1d-502ac6645d6b@suse.com>
 <013c49f5-7a14-9d9e-4d25-75934bf6349f@suse.com>
 <9cfc122f-dc4e-9dc0-0b57-48abf941025a@citrix.com>
 <866a3677-1f1a-e0e5-7ab0-10c210e25610@suse.com>
Message-ID: <2265ca67-2a30-a858-38ba-a6343782929e@suse.com>
Date: Tue, 31 Aug 2021 15:19:54 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <866a3677-1f1a-e0e5-7ab0-10c210e25610@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: PR0P264CA0181.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1c::25) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ab662744-e9a7-46c4-3136-08d96c8206d7
X-MS-TrafficTypeDiagnostic: AM8PR04MB7380:
X-Microsoft-Antispam-PRVS:
	<AM8PR04MB738062175BA101B9385B5DA4B3CC9@AM8PR04MB7380.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:7219;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9rSqqb6szJMDVGdJt8VtBiIh6dygFqbZ6+UPh4qAF906CFbaoQPk0r3b68ddI9SRvqVLJiAJ+9Nne/LPsDUXNJkmpzIvqev53q7DFzDudpAsa5+JBT8rEDxcbwFj91B1KLfXMlFHA5QtUD21O//IhsHCJv51au0tyBD5mE7XPz0x0Ray95GCTsPApP8uDsUFtcsex4CjzViYSEHHnNHGKSGfvJpTOgAlUQBDfUtaBFszYU3Fh+dEzUMtCno+0uUZ0fAEUL7wwbXV7In0qIeYmJn2Eh7E12Apikr8Ei9FOEQ9+hwlZKo4oBgFLgnJSae5w5hwGFUPbzcZjzyj05aQJtzLXhFPUEv4JWZqUS4w0xK/ppds3l3b5d9QuiNKDgrPyHC6xuOTV0pqisbPiZPK5qOs5xO7Bj94/REi2pR6bytFLD0+3SBsSsRqiQYtdnu4I3S9MH1QbvvyoT61ajy8ptxdOYIUnwikW1+0uck9JwqYpShiZnPWrJWDQiKi+6gYW9VmbbS1DvELzi/C3+iXwBUmoKII3DI+8+mtL1xkxxZYTJQnAO4Fcj1DQvqBv5nWl15Qgxsd/wBmT8qaqcspg6MrsBmq57mcUcsJOpZiVLOngWOSJ2Jd/u8p2WJlGBpT9xmhwEQ1Y+7uZaQFMzRUGhOLpFwqsxelUZvFNss2WsAtTIuq0ZgoreQD2Rx7rckFaHFmeHtV6R7elcStdr+zrGX++RgubBS0T+rrsSK9afk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(346002)(376002)(39860400002)(396003)(366004)(66946007)(478600001)(8676002)(6916009)(36756003)(186003)(31696002)(26005)(66476007)(66556008)(54906003)(4326008)(5660300002)(53546011)(38100700002)(16576012)(86362001)(956004)(2906002)(8936002)(6486002)(316002)(31686004)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?iD6QEv542NAp3dNWdXbSCwXpDr8DROcE+TmOdFJIg3XYwmel5E0j8Dg9zE3I?=
 =?us-ascii?Q?K1ARiq5Xs0eueoM8HlGQdNdYh1IZLusBCMfa4tTbLxiTPJx4tBQDs4em04Cw?=
 =?us-ascii?Q?FJc2o4t/8DmQBJ4stadPRNPbyA49RL6VCSMvSa9h8Zg0jvz4fOdEeRXrwP0c?=
 =?us-ascii?Q?wN3mhzkiolJHW5s2jrQQdKlQpr3liy4bZ75Rg3n5LMQA6DfJbP8xBIZ8iChm?=
 =?us-ascii?Q?xpRNbOpyNWa65gF22JpafvmloUqzwMLNpgK4/8F1pnnMAmY+4cfzrDdgd/87?=
 =?us-ascii?Q?TsyTEZTwkmXzh0emms96Kf81i2r1XKXZ+9z/1u09MChDEkKIPC/+9ntVDrQY?=
 =?us-ascii?Q?ANWiKX7gI5Zwu3e2KRdtvNuK1fHpETx80qrYPFrl65wRlGf9SEjA6ztZkOGc?=
 =?us-ascii?Q?Qec/pVPIH1OQYMEGHfsmjgJmB9SAQuijyEG5Oy0K3L99pfF7hM/A3/igfQUc?=
 =?us-ascii?Q?oaPFe7DhQ0hVGJJjFquoB7zsiee5VRYABVqB7U1F5rG/0TvMLZ53ulB+hNwQ?=
 =?us-ascii?Q?GIvH6fyguUDwG2tzoKHM90BDyf/3dygXptd/9XTrlini9YGAAHXvnC1sO8fe?=
 =?us-ascii?Q?R1d71IhxzIDZ+4qc9hVZwIPx3Iwv6zIoYJFwYcUwsVz8Sm5FLvYzW26yczaW?=
 =?us-ascii?Q?biTbYH7Fd1eHboNE2tHWwrDufR1s4W8XAU6RYaX7B5lcyh6M2NvP44S0soAQ?=
 =?us-ascii?Q?5iuaSnFYtu5RVGjYOXhlzBw9RgpiJwZwTVDe+ponIFwoB4HS88UYl8v8i1Rv?=
 =?us-ascii?Q?yCzrihP0OuGR2ag5jBNxlqRc6UQbtqwYrDZNiWWCLhWekZbShwmoxfGibpm6?=
 =?us-ascii?Q?mfBiZsSNQ90dX0WcBVGRjDnzWNdntOvUVJeHfBuehQLRreiqhUtAKcX4ELgN?=
 =?us-ascii?Q?XgVQzUkYzlaDF/trvt0Xxft1lF0IDWuk7HHF6f+/hyXJKAwU5ZKyYU4AjV1q?=
 =?us-ascii?Q?bYP48xYEo91TmZhaCJW02WMOrj+51MOnlxk1YhdvVkaA3QOiihctWBV5AGHX?=
 =?us-ascii?Q?1fi5L203sHRFrA7KEeulaHBgHxCKXKuBPJoX7Thxx5m/4oQykeL1KETP+GGz?=
 =?us-ascii?Q?Ed8ELhw7cIYYaIqNF1f/mqMIe3ZfUlPD5gkyv0ZmGQzAZdfK750LpAxmwHU4?=
 =?us-ascii?Q?E0YbgLTa8+7xJM7QP5rqVQOM7pFCisQSwQFtsvuuMNkmDNoV4OaDYno+LNTF?=
 =?us-ascii?Q?6WgYleT5JG4W1/dcYMugkkFNOvji07mHKvO41ofJVHuXCkRa5DK+fCUk29b/?=
 =?us-ascii?Q?gpBbgWwtDaJAsqrJr47rYvX7jnKZmNrLUjHFjuPsrlk0JMl7fLTiUA8fllIK?=
 =?us-ascii?Q?X2xAnFBwa67YDmj2OidIzCl8?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ab662744-e9a7-46c4-3136-08d96c8206d7
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2021 13:19:56.7139
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: EYrh2nzhtHgHkKAoh0bVokEdqQGM0u39HZFHzNP2YzX1odUqUOxqgXVb2JdVz3WSQC/qENtTs/QroRj1KPzrrA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7380

On 31.08.2021 15:14, Jan Beulich wrote:
> On 31.08.2021 15:02, Andrew Cooper wrote:
>> On 30/08/2021 14:02, Jan Beulich wrote:
>>> One of the changes comprising the fixes for XSA-378 disallows replacing
>>> MMIO mappings by unintended (for this purpose) code paths.
>>
>> I'd drop the brackets.=C2=A0 All it does is confuse the sentence.
>>
>>>  This means we
>>> need to be more careful about the mappings put in place in this range -
>>> mappings should be created exactly once:
>>> - iommu_hwdom_init() comes first; it should avoid the first Mb,
>>> - pvh_populate_p2m() should insert identity mappings only into ranges
>>>   not populated as RAM,
>>> - pvh_setup_acpi() should again avoid the first Mb, which was already
>>>   dealt with at that point.
>>
>> This really is a mess.=C2=A0 It also seems very fragile.
>=20
> So it seems to me.
>=20
>> Why is iommu_hwdom_init() separate in the first place?=C2=A0 It only doe=
s
>> mappings up to 4G in the first place, and with this change, it is now
>> [1M-4G)
>=20
> I guess we'll want to wait for Roger to return to shed some light on
> this.
>=20
>>> @@ -1095,6 +1101,17 @@ static int __init pvh_setup_acpi(struct
>>>          nr_pages =3D PFN_UP((d->arch.e820[i].addr & ~PAGE_MASK) +
>>>                            d->arch.e820[i].size);
>>> =20
>>> +        /* Memory below 1MB has been dealt with by pvh_populate_p2m().=
 */
>>> +        if ( pfn < PFN_DOWN(MB(1)) )
>>> +        {
>>> +            if ( pfn + nr_pages <=3D PFN_DOWN(MB(1)) )
>>> +                continue;
>>> +
>>> +            /* This shouldn't happen, but is easy to deal with. */
>>
>> I'm not sure this comment is helpful.
>>
>> Under PVH, there is nothing special about the 1M boundary, and we can
>> reasonably have something else here or crossing the boundary.
>=20
> As long as we have this special treatment of the low Mb, the boundary
> is meaningful imo. I'd see the comment go away when the handling in
> general gets streamlined.

I should have added: And as long as Dom0's E820 map gets cloned from
the host's, which will necessarily consider the 1Mb boundary special.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 31 13:26:14 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 13:26:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175740.320043 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL3mE-00036e-Jq; Tue, 31 Aug 2021 13:26:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175740.320043; Tue, 31 Aug 2021 13:26:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL3mE-00036X-Fo; Tue, 31 Aug 2021 13:26:10 +0000
Received: by outflank-mailman (input) for mailman id 175740;
 Tue, 31 Aug 2021 13:26:08 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Zqic=NW=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mL3mC-00036R-Pu
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 13:26:08 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id ff5b7b50-0a5e-11ec-ad3d-12813bfff9fa;
 Tue, 31 Aug 2021 13:26:07 +0000 (UTC)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2051.outbound.protection.outlook.com [104.47.12.51]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-17-0PNSsjq2PUu1iw3Tg0-5Vw-1; Tue, 31 Aug 2021 15:26:05 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM0PR04MB6916.eurprd04.prod.outlook.com (2603:10a6:208:185::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.24; Tue, 31 Aug
 2021 13:26:04 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4457.024; Tue, 31 Aug 2021
 13:26:04 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM0PR03CA0024.eurprd03.prod.outlook.com (2603:10a6:208:14::37) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.20 via Frontend Transport; Tue, 31 Aug 2021 13:26:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ff5b7b50-0a5e-11ec-ad3d-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630416366;
	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=FZFQ39lMUMCFjB9FhqaWZgFhIhVmMfr866wHFbv7FQE=;
	b=C6Dxhbc8058vx09CsjsJi82krC3mP9o7Rrcz5amzWa52Y897YU9VPFDh0CoWJfYX/uuTdd
	dsliF7yTMsZRlsMQujrsRVD8sYXLA98Vgx4hLpDBcjNPPHhfaPKoclgVlEimC1PJNV86+z
	7AdetOsjPfYP2lGFzz71aRH9DN6NmlQ=
X-MC-Unique: 0PNSsjq2PUu1iw3Tg0-5Vw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fJaoFEfvzQVG9L8MJI4SnMD5bNVnTER/MexaXQqfY/JO4QoUC1ROKP4iI79z/nIuHCm7NJFQMjVL9bxHc1cArfzY/3Tb+h4LjLR46VoGcKqFvi0wBKDDdWnltyuIc70ieFX1lHhsMaDbWR7/R616iMvyvc0blws+epjR9+kct/W8Vr/0TlmuS0HJdfw3xc03Z7MZ3NJS7TkqSdI/PdMmQ0yO6DgtLJ3PQg2V/7PQVMg3sCpPc4naTIsSZcTiy5QZ/1hNr1hPkYM8UIoDgQlkAxEC6BPGkzA/QFjagsqoz2WtU1R47GXfzZ2fB2JGE7rjpiHnMPv6tuugphQoydpxig==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dJmTzGet/2fMt8nRVo4V2KWla+vZk/pOpQRUr07NXZU=;
 b=RCA7ud8mKOYQqt+jfe+b1QOJUca+ZDblwLir2fDcmVFRRJcv8es8Eebb7ijepOUXn43bABSlUg1GgidCvUsVbHUmlU+0lYBG+GPxe3fcZZH49jbTWyL2a4gaqGu09iGNfZxSMqXSgu67yC4pb7nxIxG6CFfzU6DH0vQcL9+ylj4eRLorxdMBqn6U1PQL9YnNGaEu7K7fuOjWQsp03nTO77YqwS/aLMNKhZ/kZqGFWHjtb5hf5lRefM07B5MpAHB+ykE0ZrLEu/uHRFtehxTRA56vRZE/hnk1Tv+8jhSOKgoJJrPDFKNlI62tMal0WEiUigrC0tGeLsRRNsOiOl64hg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH 2/4] x86/P2M: relax guarding of MMIO entries
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: <aae19abb-e88b-8bf8-6f1d-502ac6645d6b@suse.com>
 <93ecc397-1293-69b1-e70d-3c5f9317229a@suse.com>
 <ad1e33b5-d729-2680-7f9f-aa875c2d9cfa@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <f684e203-9967-8653-d59f-ad11f5070aef@suse.com>
Date: Tue, 31 Aug 2021 15:26:03 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <ad1e33b5-d729-2680-7f9f-aa875c2d9cfa@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM0PR03CA0024.eurprd03.prod.outlook.com
 (2603:10a6:208:14::37) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d48136a5-010d-4bf8-0172-08d96c82e222
X-MS-TrafficTypeDiagnostic: AM0PR04MB6916:
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB69169B7F36F1C1480FBE878CB3CC9@AM0PR04MB6916.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8273;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	91a014WWb8MGi53HaO63rFYM2UoNM9QaAUTNByGxzYwj8Az/1/pwJAQaMkVYpgEr76hj7acCVnwzxVOeNT/1xcwOs/z4MgENmUlwUFx1ziyUWi9URl+DjFCYHZe9MHshraSLGZZwS3FKtk7i1y1e/MiDCw6ZLeP2vhylMcyEtQ0eitwzY4iAZnERdNRmOR0uk0qiIRzXG/qV3GqCvSaVFXhev3fKhhTciy9YibiC7HdbV40inZv3lwwqJSHe07bkt8Z+xCFTUGtm0CAFt5JcZLbir/jvOctd8HeO1fFc2AvFvtDyA3vL4jauUIEzTKHX+Qo2o8aj8p/dhhIuTSJuPwkaU2Go/bsgiMOb515vcubr2QSA2e7kHUC9hqCrHP+Fw+nZVC70RJ9qXPcIgM2gZRadAFZ1angvD2hGY0bEPXnjNA/JlGvTmUXb1Tig9rW9p4GOp/0ICAodiiwq+s1dWQsjDRLNfBfB6Y8jwYbSowMuIE7fZsKaoHPEcYBWRv5y4j59g/lxdJ7ZF+5+1r1dpsEhAf05l8Mh2MU7JV1JZr1dJisiVGHiwT6S/AVzLYygAgszuvhuY4QRbihUWDyc3eZ51+oof2LIPxFnQXAr6LdsnNn0FgnZ+12mHYg8DhFup7gQqED6NI4ckJWpegBg/gz7CUStD1VwhoZd+hgBH1AwpfD4CwxlJdQWSBQPLXaZrxMa1nj2tlm3iHGvg/Hsy2vDLeVtZ0PZLjiC5Cz2h8o=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(376002)(39850400004)(136003)(366004)(346002)(83380400001)(5660300002)(4326008)(2906002)(26005)(6916009)(66946007)(316002)(86362001)(186003)(6486002)(16576012)(8676002)(66476007)(2616005)(31686004)(66556008)(478600001)(956004)(38100700002)(8936002)(53546011)(36756003)(31696002)(54906003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?TBCrpqgLKewA2i9/KZGRboHa0K4s1+QMZm/WIOGYsTda5VVvjgcTYLePosR+?=
 =?us-ascii?Q?Cq0x6QpYTEMyvo9A3n0ACLr1JwN2vcj1ei+GfG2FdgNDkR9bG7wB5O/jk1Nm?=
 =?us-ascii?Q?sctHY/8QuDBnXaA1t31Nlj5nyzdjderT5hvF9s+gBLm4pM7BY7EsXJTP570e?=
 =?us-ascii?Q?fLannAACh6i/SEKi+OtL/ZpPmUETl8zF24TmIhxZpUegWihDLGgwIViW/x2f?=
 =?us-ascii?Q?uW8uwlPQPMYQ84VclyZGab6vXJ7SKQD0gCsOXJe6nExCExfhsTjFUxtcAefE?=
 =?us-ascii?Q?Gct5fiC7tXhc2wfe4pvdvdXZfkN1t+5PIz5zeEa3oNyGBr5cmeeiiIc9tOS8?=
 =?us-ascii?Q?Qm0WB4IXeIy3/W1zYVmyFefnp+EzREynoH12pNQp/h59XPgMA7FTPansV8yD?=
 =?us-ascii?Q?yES8b53hLIso1TmIIYZiBGLj4562gpXPNNRcD33AN/3v57a3fndr8OUdl8Du?=
 =?us-ascii?Q?QY6zV8cbg4R/JBWYu0KqrQz3phXMEdZewJdzdZ6MAwfwzFgyWXzPde1NnSP7?=
 =?us-ascii?Q?4tBdnZn9hrx9hBX4RuKI6/C1cEwct8iHGaGKz7uXSnbd/pgizPyMJDaYSMWB?=
 =?us-ascii?Q?Yh8hXPuqW25CwDIkSAHT7x9UZ+YwxovHjFJ1miWYmuEfE6TckSBjA/ARPm2m?=
 =?us-ascii?Q?cxAzpfD8FQn1nPUD1sRwfOElVB5NXAxIyLa4mrwuk6lsI7GDMknEsu9bRzE1?=
 =?us-ascii?Q?hiwazuWjySe+y5bOvJkKIrB3vv9Bp15vj5OLmyQjY5+atI8uSDroPRvaxVD6?=
 =?us-ascii?Q?HtPfGCRPe72ortpknulc8uoLmJi5MAH++DIOi0TFn2HBT85t4kU8Qo63lVla?=
 =?us-ascii?Q?3jlodDx2zqaqvmXH4fqvNTxJYDvNJJdfYDsjaUYu0vXGyC65T9Q3/RJq2mIT?=
 =?us-ascii?Q?A6wpAnBzeU+nMk3efNY8QJr7stp1SAUHylUtY9D8mVois84cWmxJpxaBKq6d?=
 =?us-ascii?Q?45wuiuD8Mzm6Nlhfv+ogNtT2C+jAfQumEJGi7KnYhqXtV2CRNIZ3EEhvH6aU?=
 =?us-ascii?Q?KKvgAGgSEdxLKuuPD6UOTotv+6UuyYQkkbcp9lUEWY4ubkq4Pf+wkGPw6mm1?=
 =?us-ascii?Q?tgQpoq8ZOtAAxwNLISydqb71JbOmdX29yJE9WWkiSVDp88dd8yZ8Fpk/iXXU?=
 =?us-ascii?Q?sLCBPAcsuU9/Ui3Uj2T32UJwHUZOhXqZCi2l9dLRhWQLR81aukVxhpyqLJO4?=
 =?us-ascii?Q?61cQ3/YMuOT8Ud+6M4ZRTfkBGz1529n81MflVE9hD8iGpIGwoXpsSogRwKah?=
 =?us-ascii?Q?oN3hVLC54Nwmev0KMmP9Kb0qfKIj2BI/Vq4YqeRiCp8SBXc0REMxIvspYNxG?=
 =?us-ascii?Q?LDaOpVOP9L81ZiljddSkdZRl?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d48136a5-010d-4bf8-0172-08d96c82e222
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2021 13:26:04.6212
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: c0B6OHZOtUdFFKw1jJhXwz3c9YfQy9GVsQwUTeOOofeIJTJ8jA72HTYhu3MPLzqroXSHqemPqK8upxUY7U3qpA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6916

On 31.08.2021 15:16, Andrew Cooper wrote:
> On 30/08/2021 14:02, Jan Beulich wrote:
>> Further permit "access" to differ in the "executable" attribute. While
>> ideally only ROM regions would get mapped with X set, getting there is
>> quite a bit of work. Therefore, as a temporary measure, permit X to
>> vary. For Dom0 the more permissive of the types will be used, while for
>> DomU it'll be the more restrictive one.
>=20
> Split behaviour between dom0 and domU based on types alone cannot
> possibly be correct.

True, but what do you do.

> DomU's need to execute ROMs too, and this looks like will malfunction if
> a ROM ends up in the region that HVMLoader relocated RAM from.
>=20
> As this is a temporary bodge emergency bugfix, don't try to be clever -
> just take the latest access.

And how do we know that that's what is going to work? We should
strictly accumulate for Dom0. And what we do for DomU is moot for
the moment, until PCI passthrough becomes a thing for PVH. Hence
I've opted to be restrictive there - I'd rather see things break
(and getting adjusted) when this future work actually gets carried
out, than leave things permissive for no-one to notice that it's
too permissive, leading to an XSA.

>> --- a/xen/arch/x86/mm/p2m.c
>> +++ b/xen/arch/x86/mm/p2m.c
>> @@ -958,9 +958,13 @@ guest_physmap_add_entry(struct domain *d
>>          if ( p2m_is_special(ot) )
>>          {
>>              /* Don't permit unmapping grant/foreign/direct-MMIO this wa=
y. */
>> -            domain_crash(d);
>>              p2m_unlock(p2m);
>> -           =20
>> +            printk(XENLOG_G_ERR
>> +                   "%pd: GFN %lx (%lx:%u:%u) -> (%lx:%u:%u) not permitt=
ed\n",
>=20
> type and access need to be rendered in hex, or you need to use 0x
> prefixes to distinguish the two bases.

Will use %#lx then.

> Also, use commas rather than colons.=C2=A0 Visually, this is ambiguous wi=
th
> PCI BDFs, and commas match tuple notation in most programming languages
> which is the construct you're trying to represent.
>=20
> Same below.

Sure, will do.

>> @@ -1302,9 +1306,50 @@ static int set_typed_p2m_entry(struct do
>>      }
>>      if ( p2m_is_special(ot) )
>>      {
>> -        gfn_unlock(p2m, gfn, order);
>> -        domain_crash(d);
>> -        return -EPERM;
>> +        bool done =3D false, bad =3D true;
>> +
>> +        /* Special-case (almost) identical mappings. */
>> +        if ( mfn_eq(mfn, omfn) && gfn_p2mt =3D=3D ot )
>> +        {
>> +            /*
>> +             * For MMIO allow X to differ in the requests (to cover for
>> +             * set_identity_p2m_entry() and set_mmio_p2m_entry() differ=
ing in
>> +             * the way they specify "access"). For the hardware domain =
put (or
>> +             * leave) in place the more permissive of the two possibili=
ties,
>> +             * while for DomU-s go with the more restrictive variant.
>=20
> This comment needs to identify clearly that it is a temporary bodge
> intended to be removed.

Okay.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 31 13:28:03 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 13:28:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175746.320054 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL3o1-0003k8-Vx; Tue, 31 Aug 2021 13:28:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175746.320054; Tue, 31 Aug 2021 13: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 1mL3o1-0003k1-Sg; Tue, 31 Aug 2021 13:28:01 +0000
Received: by outflank-mailman (input) for mailman id 175746;
 Tue, 31 Aug 2021 13:28:01 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kH2E=NW=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mL3o1-0003jv-DU
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 13:28:01 +0000
Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 42438355-0a5f-11ec-ad3d-12813bfff9fa;
 Tue, 31 Aug 2021 13:28: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: 42438355-0a5f-11ec-ad3d-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1630416480;
  h=subject:to:cc:references:from:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=9UjyaBSsu4YPA52L+tWSmglh1o92FHJkd9WeFpo9ENg=;
  b=IigPse4JpshggWMVtoxpaCDCGBR/mo8+A1RhrGeMVZz1dJgQGDBjWkZi
   99GbpUOtqaxqpX2DpHLRcmX9LBAackbEw0cmaejO4Sa9cDn14fpsL7+JL
   ucsRhfcBACRm+BLQnZynxzXKkjqInQxHUnrCUgrdW7oAlIWG45ZeQ8Fne
   4=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: MwIa6lkkHwHt+hBFLgabAp+wWEZowpD1gk3/IynmNbXKg5e/KhRkarV4yR9AgkpHouCOgdasiM
 LEigp60vft4pyG1GF47e4332nwe74Wn6NEx+6+v76G5uxpFfAsM4lPct6n4RWbpqR95pg1CJMj
 cP0WoeagQEHHIjStoA50Dckr8bcxB+DlTr+A1Rx4ufm4VUfAHsZp8FTqkfAbcSF3IQnxTC/hR6
 Y/fuBrRjOU4SuGIBDFajUufsgKo26XVxhhU0/F9kpxNK5eUsK74wstNK9KV2tIUrq3ncbsn9de
 r6F8TF+p6vHLturd9c3/68XQ
X-SBRS: 5.1
X-MesageID: 51690677
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:z3tvuqr5+Qto7gtgs0kUAZoaV5ulL9V00zEX/kB9WHVpm5Oj+P
 xGzc526farslsssREb+OxpOMG7MBbhHO1OkPYs1NCZLXXbUQqTXfxfBO7ZrQEIdBeOjtK1uZ
 0QFJSWTeeAd2SS7vyKkDVQcexQueVvmZrA7Yy1rwYPPHNXguNbnmNE426gYzxLrWJ9dPwE/f
 Snl6h6TnabCA8qhpPRPAh6YwGPnayFqLvWJTo9QzI34giHij2lrJb8Dhijxx8bFxdC260r/2
 TpmxHwovzLiYD79jbsk0voq7hGktrozdVOQOSKl8guMz3pziKlfp5oVbGutC085Muv9FEput
 /RpApIBbU811rhOkWO5Tf90Qjp1zgjr1fk1F+jmHPm5ff0QTorYvAxz75xQ1/80Q4Nrdt82K
 VE0yayrJxMFy7Nmyz7+pzhSwxqvlDcmwthrccjy1hkFacOYr5YqoISuGlPFo0bIS784Ic7VM
 FzEcDn4upMe1/yVQGbgoBW+q3pYp0PJGbAfqBb0fbllQS+3UoJj3fw/fZv20vpr/kGOsB5D4
 2uCNUaqFlMJvVmJp6VSt1xGfdepwT2MGTx2VmpUCDa/Zc8SjrwQq7MkcAIDd6RCes1JbsJ6d
 n8uQBjxCIPk3yHM7zG4HQMyGGXfFmA
X-IronPort-AV: E=Sophos;i="5.84,366,1620705600"; 
   d="scan'208";a="51690677"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PvSrDu75WliPtqyh2g3GAmDJx3HTqLu90ZmoKBDZdjpaugV9mGykOQLJpusCv2U1KD/SB4jIKKC5xLtDmYNQe6z9qSYwcF99nBBU+709Gfh8mXY8TBJpgzPpjmuY5cbdGBjurvUyUihIMmOFzVjLKIhdbqki6xJwrN6QQfETPtRk514wWeUxOodpiBwrUL8j5vAknhR3+fdEK+4T/9KnIiBmUEGaXVWl/n8wIgLbZ+7VZAU4u+fDjX/oBQb9cYtcWvF29TDzR/Clc00iQn1jhEytH/LerrdU2+q2ir2zPzulqjdljP6kwDcYBGTv0xvdaOhSGL7EW7N80dng5HWx/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;
 bh=Ia1kB0C85GHc1LlulK+3kx3ilzfPvMweUNMVqRuPZ9w=;
 b=c5+JkuRYcbEvfniyDhTBwreQ4eIZ0tqxVrtYqlBOZM3zFnA5XYVJKLT/lg1Axs4KodcZOeWea8iSAHPhVndcqWfGKVNnoMQLXSOzl6fY4JeGpuAXBeBcXZHHdXCgwM+ezSjcnaF1Mp2f7w/8JAOUAEBStI1/aGPZNIklM3acK9bw4/G5s8KRd0oL5K2Qm6BnHiwafVtipYiVxSm05S5YeaIVrRbGDgemzt/4PoN062+ZXbB5mTuqYFu36Y+wLNdZwi1PuhFvgHZwwApO8IjxmvD3pKzuKhQ3oudlesFwqI3MHmf2ikO4BuFLDOgz8fit8dSPe2t6cOi089Qd8kR7hA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ia1kB0C85GHc1LlulK+3kx3ilzfPvMweUNMVqRuPZ9w=;
 b=PS/lYVWY1SneTaChXQuvC0NZNJE8kubIeqC+oc8TCVQgvO4QL22iwb7wctJU60W760czC+YP7mP7XhgbDheIP0JGFYlTiYS2lo0e0UtHfncJ5YdygMINm7T9AJVpTh4BKutrBOP8s/OPQEvw5C3ychBF9AfV2Mz7Rjia0m/myHo=
Subject: Re: [PATCH 1/4] x86/PVH: de-duplicate mappings for first Mb of Dom0
 memory
To: Jan Beulich <jbeulich@suse.com>
CC: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
	<roger.pau@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
References: <aae19abb-e88b-8bf8-6f1d-502ac6645d6b@suse.com>
 <013c49f5-7a14-9d9e-4d25-75934bf6349f@suse.com>
 <9cfc122f-dc4e-9dc0-0b57-48abf941025a@citrix.com>
 <866a3677-1f1a-e0e5-7ab0-10c210e25610@suse.com>
 <2265ca67-2a30-a858-38ba-a6343782929e@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Message-ID: <2ef761cf-e609-e0df-e360-9e904f5ad9a2@citrix.com>
Date: Tue, 31 Aug 2021 14:27:50 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <2265ca67-2a30-a858-38ba-a6343782929e@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Content-Language: en-GB
X-ClientProxiedBy: LO2P265CA0040.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:61::28) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 64fc5d37-e797-405b-6298-08d96c832524
X-MS-TrafficTypeDiagnostic: BYAPR03MB3495:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <BYAPR03MB349551846528EE3753A994F0BACC9@BYAPR03MB3495.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:3044;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 0XTPDUdfP57oSEX0mLZdwQ9vEwD8Vd+3NAW9oeS4nvdOzT6GH9c86SRmGoF2EkkGo7NSJxx2w/ZcL/FhXBE2+OAtfHwj7sBIVG3A3Md+rsCy4DNLErog1nuRdg2KejA5qauHL2+lESiX2JjQSmEidiNKlZG5MCBvTQx1uf01fXBHnsjQV05UlidAbQjguAQJ5R1Yi76SomNKUXkyT/bSdhYnG9D/Tr6F8z+jR/Vsnd6+jKn+3yKBSC1H8iGFVWcYCgip15FzJ5DDYQI7rSQWoOHvOXohOeAV98HDkA5mDiqUfc3+/vGWFN3JSBoMm7nN2e0MtKcRGhrkG2nSMRFd4j7f1u/irZdcDkPCxjK1gOIrg1Q64qd9oAY8KJboqh82E9s1lD1lSSbdpvohyutF2CT7OUCGwzHw4xmnotM+7eGRwCeyi2p3bAJZLMZ61jXntiAu0AXfaxztdP6ytqE27WDUGOXQLjPKGCLutJ0rWCJj6ANqVNXPP68RZP18Q53shq1Qr/fetmlVwQAXfwB07FJazOrZ+Lw7hQBL9kEj73sSujrITnVpnH02UerUjQa3SxFh76A58Y3nBF7pV179FxBLbuHTBsox5zarmUMTQqKBySnUUtuPaTxa4sd/QANK6GSgvsztCUU1lKVDGnoNwV2A8x9dgxiO2gUakOq42p4toFHNwtF9i/tARoEY90Ep52264EplceSUl68WGoHofBm0hiWd5nxsMw9TiowvqZs=
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:(4636009)(366004)(36756003)(31696002)(8936002)(86362001)(8676002)(6666004)(53546011)(55236004)(6916009)(2616005)(956004)(508600001)(38100700002)(316002)(16576012)(186003)(2906002)(31686004)(26005)(66946007)(5660300002)(4326008)(66556008)(66476007)(6486002)(54906003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?U2FKSHFoVytHcTdwdUVHY1VPR1FrQnYvd1hreFBlZFVybEgzNlNuOEVOL0Uy?=
 =?utf-8?B?c2RVMU1VYnVZUUJJdUpSQXdpd1p4T1ZyT1JNSXh6ci9qclhTYUxzdUQvMEtN?=
 =?utf-8?B?akN4dG5wdzZTR2kxUzdPVmZHZGV0dWV3RC84eDNtMEVSbHNEdEszZmpsZWFk?=
 =?utf-8?B?a21JYkVhR3Z5VGRMWXBRdlJlR1h3SWtVQk84ZnR1VFFVeVU0LytzMzBZNFJo?=
 =?utf-8?B?RUhGZGc4Smx0VjFIVGZJT3VxN01TL0FiR1lQZ0FIL2Y1UlcvcVpwRi9qeFVM?=
 =?utf-8?B?b0txaklwZzdUbU45cG9uekJVZEhCMHJ2bFluVjFYWm1jZHJ4WlFWUC9HeEt6?=
 =?utf-8?B?dTV2R0cwcWx1K2dkbk5GdkhNd1NqRjIzd3RpR1dvRVYzZFE2S002UUY2M0Rm?=
 =?utf-8?B?TElucEFQRHBDUkhHSHdkV2VIWkVkQzFoOHpwYnpRaVFuZ1ZOeVhMWGdXQThM?=
 =?utf-8?B?WFVnOXR6Q3hwUGdwQlB3SHh3QlQ0QjczcWFVSE1FaVB3ZU5BU21uelFvMVp1?=
 =?utf-8?B?eDlzdUdzWWU4YWFjcmJibHc1M2RZSlM5Qm8yM0tKamRETlFYQmhCU09YcjYr?=
 =?utf-8?B?QjR2OGVOZnNZQ0JNRWc4NmtGZHJ1WkN0aFh5aDIvWjVoektvVllUMWFnWlYr?=
 =?utf-8?B?T1FjRzVkWWRiM0p3OWQ0RURyRFpzRGtFSXNLYnVFTy9OTzg5SlllTEhQOE80?=
 =?utf-8?B?Z2Y3YmpCSEhoQ01PdzU5RVluTXZYUGlraWdZVTA4YVhPeE91S2drcDdCaUtr?=
 =?utf-8?B?U2FJRkVWaDVKZno1dFpSRnMydFdSREdZUFhZT0J1dk1SYkZHajlKREhNSmor?=
 =?utf-8?B?eUNHVFVpUXFOKzVaRGU1LytwMFFPeHArTXVhSnM5SXV2ZGgzelBSYm9OYUNO?=
 =?utf-8?B?U3RjaU5VcWxaeHZIWitJNGtGcTlJc3ppSUJrUjRxeksyK1JsWUlyaXJNTng2?=
 =?utf-8?B?YUJWMDlFalZyOXpwWHl6RVBJZmx0Uy9PVjRUaUEzaWxCNjVLVmltUXdPeHJX?=
 =?utf-8?B?RFlYc2EyT0l4dC9LVjIyWkkrQlAxeWdQMUQ5THZqVUtzNU95RnFzcWRkUnlm?=
 =?utf-8?B?ZTBka3hZK0hTNlJJNHhqWENtVmlWOVM5eDNYblBHZkROQ1JRUWdyTVB5U1dk?=
 =?utf-8?B?Q2FuRWE2TnNpSFl1UTFUaXpFVXB2OWdMOThRN2RkY1BzTjFzODZvbFBZT09m?=
 =?utf-8?B?N09semQxczlDaFhTdmxGb20vVkdYd2NSK1I1UU8xbGNqRWIzQjNRM0hHUUxL?=
 =?utf-8?B?ZElaYWhsbjNDdnJMQlgyN1pVOXVBeWJMK1cyaG5YSW9YaWgva2xLOEtsTWxx?=
 =?utf-8?B?S3ZCdXQvUVY0Ym5wc0phOVpuYmd3cDFZZlRDdUo3VGNPOFZnVmswRUFQUy84?=
 =?utf-8?B?Zis4bytMQ0t3Slh0NU0zTTZXQzkzKzJDeFZ2aEZhN240cVZuTy9kOGwwZ3c1?=
 =?utf-8?B?MGFXdDd6a2FoT2pybzVNVEszNjk5NjU0enlCWDJoYXBNYlAzZVdZS0cyenZj?=
 =?utf-8?B?cElweXRPa0t1MWJtaTFkQmUvQjR3VGVmNDFQUzFCVklBM2Y0YVBjRDczajhm?=
 =?utf-8?B?Y1g1RFk2SE10d3dWVUxpRGtMY3JwZG5XNTdBSEswZUZianlyZnI5YjJhZW9y?=
 =?utf-8?B?ZURwa2lMZ1dBRGtBc284ZVJ3S3VRUENlMUVscXZJdUtuV0szaG90ekZ1NG1H?=
 =?utf-8?B?RXM3MWU5cVg1Qk5ZL0xqNUZ1eXVvODBFWFltZ0prUXlHQnpUSTROQlFDRlh1?=
 =?utf-8?Q?SXdi+9Np1PuEaQBrUSKvmbii8H+m9fQcuTHvCNo?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 64fc5d37-e797-405b-6298-08d96c832524
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2021 13:27:57.0492
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /TMBd8KILGdqm9krhMf4hMXU/5vXbrO0Jcmc/5tmZk9ccQhgsFaFTGr6rVc7RGsX+QMeldd3xOucjAwH5YRX4HqqR5JCI6UF7LddfEH9W4c=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB3495
X-OriginatorOrg: citrix.com

On 31/08/2021 14:19, Jan Beulich wrote:
>>>> @@ -1095,6 +1101,17 @@ static int __init pvh_setup_acpi(struct
>>>>          nr_pages = PFN_UP((d->arch.e820[i].addr & ~PAGE_MASK) +
>>>>                            d->arch.e820[i].size);
>>>>  
>>>> +        /* Memory below 1MB has been dealt with by pvh_populate_p2m(). */
>>>> +        if ( pfn < PFN_DOWN(MB(1)) )
>>>> +        {
>>>> +            if ( pfn + nr_pages <= PFN_DOWN(MB(1)) )
>>>> +                continue;
>>>> +
>>>> +            /* This shouldn't happen, but is easy to deal with. */
>>> I'm not sure this comment is helpful.
>>>
>>> Under PVH, there is nothing special about the 1M boundary, and we can
>>> reasonably have something else here or crossing the boundary.
>> As long as we have this special treatment of the low Mb, the boundary
>> is meaningful imo. I'd see the comment go away when the handling in
>> general gets streamlined.
> I should have added: And as long as Dom0's E820 map gets cloned from
> the host's, which will necessarily consider the 1Mb boundary special.

Not when you're booting virtualised in the first place.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 13:37:04 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 13:37:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175754.320064 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL3wh-0005O9-0I; Tue, 31 Aug 2021 13:36:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175754.320064; Tue, 31 Aug 2021 13:36:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL3wg-0005O2-Th; Tue, 31 Aug 2021 13:36:58 +0000
Received: by outflank-mailman (input) for mailman id 175754;
 Tue, 31 Aug 2021 13:36:57 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Zqic=NW=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mL3wf-0005Nw-72
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 13:36:57 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 81ea1a6c-0a60-11ec-ad3f-12813bfff9fa;
 Tue, 31 Aug 2021 13:36:56 +0000 (UTC)
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur03lp2059.outbound.protection.outlook.com [104.47.8.59]) (Using
 TLS) by relay.mimecast.com with ESMTP id
 de-mta-10-wXKInLVbMgWC8ERZkVSN1A-1; Tue, 31 Aug 2021 15:36:54 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM8PR04MB7441.eurprd04.prod.outlook.com (2603:10a6:20b:1c4::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.17; Tue, 31 Aug
 2021 13:36:53 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4457.024; Tue, 31 Aug 2021
 13:36:53 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR3P192CA0029.EURP192.PROD.OUTLOOK.COM (2603:10a6:102:56::34) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.20 via Frontend Transport; Tue, 31 Aug 2021 13:36:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 81ea1a6c-0a60-11ec-ad3f-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630417015;
	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=aO4UVlAR/M4YcZaeu8MNVB0ARjt/arruUKju+BatGoo=;
	b=CXkM9DUEyXxmx3ZG4SEMjZataUqcxjKOidA2mOyHvZ4/ZZqpdGDC/f6qlta501X4zm5zd9
	BcUQOpcvvS4sxWY8XGAFVNWzq8e3JlnRn8f8D1flfzBNldx7u806SJ/48gZ4+RsozQH5Mo
	noZonprxEZWHkc/e31LKmDBoUTgBOho=
X-MC-Unique: wXKInLVbMgWC8ERZkVSN1A-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SA8opWEaqHuJhjhbQrOWqnOnC5PZxpS4D4xaWPSDoCnzzK9TbtlYs37UA51kU5ucWYdAUW8itjO9vX/bwi4cAG88ptvo8pdzWpn/IHyLe1ORrTukVDXdAJSf5gD2U07KFKZ7cMB/SXA0PVcJpSo6W/XD9A6S3j5QSQhGpspoLonj6cbOqPk7L95hnNhy8wZqLyOZEQoRrUGpE6w+9ujk8yq/68hA4dtIKtyuqkvFf13o1kImrDt+me1l81xJwKfBqbFFMzUJFHTRLHPWujjMQX9otKUB6UB/iPmaQbnU/wws4nijQe5dXGzmhESl2tWN1n5qM7vU1uIuM5HNWPOQYA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version;
 bh=aO4UVlAR/M4YcZaeu8MNVB0ARjt/arruUKju+BatGoo=;
 b=GItI8JdXjoG0HQdybaJ5kIc17geEQPEnEHyKZ0QKLsV6RIjE8OJCQ8REhIOmGn1yRZD9fGUaFmHzwaxHuQRR37x0MbAfJLL+ySB5l1xRvrsYN/3XzxjCNvccU9DhQ0DH432LGlFBBFCYFYmAKybTGDcUIlWwWkmiown3FHnPWOfYJFeJmZ1PWbhivvfecw/GLwXXRQIqJNTGiK1TQ/X5a7kPeu5tIHPzB1khVenxSt4AlwYBYm9a5FUnaLYqbNvTvtboxnpIEbXp9Ck1hazRJhxcIlb9rcPUkp/IGEOdX0k6WBpAQgx2LUVCovFMBK4NZkrpsfHoGLUxs6Kp2mR1aA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH 1/4] x86/PVH: de-duplicate mappings for first Mb of Dom0
 memory
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: <aae19abb-e88b-8bf8-6f1d-502ac6645d6b@suse.com>
 <013c49f5-7a14-9d9e-4d25-75934bf6349f@suse.com>
 <9cfc122f-dc4e-9dc0-0b57-48abf941025a@citrix.com>
 <866a3677-1f1a-e0e5-7ab0-10c210e25610@suse.com>
 <2265ca67-2a30-a858-38ba-a6343782929e@suse.com>
 <2ef761cf-e609-e0df-e360-9e904f5ad9a2@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <a64e4a10-6792-2900-128c-ece7ba6d6919@suse.com>
Date: Tue, 31 Aug 2021 15:36:51 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <2ef761cf-e609-e0df-e360-9e904f5ad9a2@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PR3P192CA0029.EURP192.PROD.OUTLOOK.COM
 (2603:10a6:102:56::34) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b9473b6e-d751-4c77-8da5-08d96c8464d4
X-MS-TrafficTypeDiagnostic: AM8PR04MB7441:
X-Microsoft-Antispam-PRVS:
	<AM8PR04MB74414365532B2A695996C3D9B3CC9@AM8PR04MB7441.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:1388;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	HASMptVe2aFvl3jD2d6VRkjmtkle/LiBbvAKENNb1AjfwBiFJFDLWI9qLdQTUFme+8FW2yRia19au/QPVxVKFa9OEuCtInHO7oFKBJQtpYH/zclkZ6XeC3GrY1ITSNArrs2FnqPxvUBaJLu5Pr3HEbqCQbbIzr5CPm99aTiESIaXD3+JOgYVE3257+hIXQ0AxeXynyyKFuNNte5W9O7AFS6YBwg9Ei+eJtrVROabgAsf7T2kwBFMwq8CXpF2b50DzPLf+p9uZuk7zCfWeJXVdK/Trt343zI9MbqbkHK85uYLLmP3rmrbxd3Bj7xVEKMMUa5I9ru0Vxim94mi1djt7ahfYUwKbNNZhDZstakXf2VD/4672F6uAviMSvwM+TE1nIh2DkxYDJa3xJZK0ZMgOeimCusqTtpUvj69AWalBm/VEeopnlIveB0ZBJep380I2c9yPAXANl4MuUBkrmYIHnMpRkG6k4unQucUfzuKsDlVKidv4VbApcn8qyG9aN7ipFzMriHORQlk/gLqtDhUGIgG4e9U80TbcIXD5Q/clZ/ueND7ua1onM/7Lsi+CqGEF1neLcPUQWJjgOaVbkwvI2zBJVXAFIdQWeV2MaKc5o0h3mLFt2SJ5yjyVAEOlw8i6dcPASI2BPOO6WlNL3gjfUJaTJxepW6C9D1c2+pDEjmIGhPDB9CJk6vaJ/4lre1TO5Z5JXKzYSC1/m8K/8Aa+lcEDn+/wHVRL2xzUYhAxNM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(36756003)(31696002)(8936002)(86362001)(8676002)(53546011)(38100700002)(6916009)(2616005)(956004)(508600001)(2906002)(316002)(16576012)(186003)(31686004)(26005)(66946007)(5660300002)(4326008)(66556008)(6486002)(66476007)(54906003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RHpoTlFuM0IvUnRiMFRTQktMMWJuSGVHcHBIRjB5TUpjUGZOakI4b2RyOHpS?=
 =?utf-8?B?ZVY1VEtuak83R2w2N0JsV3gxdk5GdjJSTjEzYzYreEdnM1A1bnpNL1ozeFhU?=
 =?utf-8?B?T0RDUTVjZ0tmMkNJdEZya2VTTHlUUmZGYk0vYVhHT21sRVFZQk9Hak5oRDRU?=
 =?utf-8?B?L2I2a3BqMTdidjlIZ3N5VmRqOExlVlcyWkJxemxQUi9zQVQwY1FMbXQ5K01x?=
 =?utf-8?B?dFhOemtZK1JwV3lpN0doTGlmRjEvclZCWHF5d0p4Y2txaVk4azF3T29DRy90?=
 =?utf-8?B?V0NLR2x3SVVlUVB1cGM2Qjh0a1B2QS9hd29xc1VYT080TGxpT1lWN2RHU0VU?=
 =?utf-8?B?WlIxZVA5Y2VlejZnM1hYQW9kRVN0VW5sb2pqeXkwbGY3WnNoSUQrWmZ1UnpJ?=
 =?utf-8?B?RFZZalFTbFhpWEJFaDFlOTFqTFFlenVFQmRMcGdGVGhyUWlyODVOVGVhdXRH?=
 =?utf-8?B?T21VSDlnc01uYkZac2tBWEhraEw4WnhINCtibmpjOXNMRG9jQTJpS04xUGxB?=
 =?utf-8?B?VEhSMUlYNGZ2bGpFa1U0M2VNR0hzdWU2LytacjlxK1FYdzZSSnVnOVRzYkpW?=
 =?utf-8?B?M0hIWjNNbmNhRUgrcHA1S2JyeFZmZEMvOXJMRjNKbTNmeDAzVFRKcmR6SjEy?=
 =?utf-8?B?TlJLY3FCSVlhb25hM1A0RTU2Znc1aU16WDQrcGVSQVg2SjZJekE5M2JUWVJJ?=
 =?utf-8?B?K3A2YUFDemdrT3Q5Lys0bWVUcHJmWU53SW5QUEdPSjUzcDUxRkJTbzEwNjQr?=
 =?utf-8?B?UkFvZEp2ZWJWQmZ6cHlZaE9BMkdFd3lERzR6aWtJRlYvU3NnQ2puRHdPaWVj?=
 =?utf-8?B?bFkzWWM2ZHVJWVRFM09Sak1Ec1BqUzB0Qms0WGJmWXczYXA2aWRSRnNEcVlI?=
 =?utf-8?B?NU8xemZKampJRTFWak83a0hhNGNDVDF6bkxSKytEVk93SCtVQ25DTk1CWEVZ?=
 =?utf-8?B?QlpBTTBRVHZKWXdxNkxpeXA4WFdtS0tjVkdCWDAvUThoWWZ4VFJubFh2ZUV5?=
 =?utf-8?B?MmhaMTNjNGoxV1RiU09YSmVkd3JFSkJESEhRSGcvOFp5MjNaeTRzeWsvT29V?=
 =?utf-8?B?U3kvSENWK2UxVndsNlM2SVJGay9qaG03TkhLUmUvaGFZVkNNaCtwMmxpVVZH?=
 =?utf-8?B?ck1XRU5tV1poRkJ5bnQyeUFsN2cwa3N1bTYwRFBaei95czBEb1BxZysxUFBY?=
 =?utf-8?B?MU1rMFA0Tkd5UUhDNEt2TVB1TmJ3N3QxNlZucGpaQ0hudk5COVdOQTZuNVh2?=
 =?utf-8?B?SjVFdzhJaFgxY1ZEOUxxSzhMeVF0R0VqWS8wSHpKTm00aldPS3lPN0hqVVlE?=
 =?utf-8?B?RjE4QkYvME1LWDVydU5CMmIzTTYxaFp5SHhsTG9QcHc4RkUwcmZpWUEwQUkx?=
 =?utf-8?B?M2tqQU53SXVBUXRNT2FBUisxTjdsU2ttdEk2V0FzbXVscTlBZlRQV3NVRzh5?=
 =?utf-8?B?TTcvOFEwa2laUm9JQWdRTGkvZlVnNWh5eVJ6eFU4dmVHdmh0VDdaWVByUFdl?=
 =?utf-8?B?ZEZFZ2toUzVrWHkxeno1VWFwNWJtRUNwQVFFV1Via3BHM3pKSStMSEptWmtq?=
 =?utf-8?B?L2FkV2VUNFZKRGRnejBuWUp3b2daNWk3aW9pL24zVmlkNVNyZGNQOXFrc1Zj?=
 =?utf-8?B?VFBVZ0d6UHNhWDgraXQzOEx6aUtydlpXbkN5Wi8wSzR6c293TjFjTTZJaHIr?=
 =?utf-8?B?em5RWWZyRXhyL3NtUGZPMlBYUTVIZWhhTzU0V2RBTnV3eG1sYXJLbHdiREtO?=
 =?utf-8?Q?4JOVo3StYSKILcOPawYbNQIlooY5vRjKd9uWZ3d?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b9473b6e-d751-4c77-8da5-08d96c8464d4
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2021 13:36:53.3999
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ab8aVX/M3cpx9xWfp3DE/dXqSpGE/uivQkL8G80QqxX9RhTHvYE+BF0jX6SyEWow/8swCdrhZh8iZrcs0ETDfg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7441

On 31.08.2021 15:27, Andrew Cooper wrote:
> On 31/08/2021 14:19, Jan Beulich wrote:
>>>>> @@ -1095,6 +1101,17 @@ static int __init pvh_setup_acpi(struct
>>>>>          nr_pages = PFN_UP((d->arch.e820[i].addr & ~PAGE_MASK) +
>>>>>                            d->arch.e820[i].size);
>>>>>  
>>>>> +        /* Memory below 1MB has been dealt with by pvh_populate_p2m(). */
>>>>> +        if ( pfn < PFN_DOWN(MB(1)) )
>>>>> +        {
>>>>> +            if ( pfn + nr_pages <= PFN_DOWN(MB(1)) )
>>>>> +                continue;
>>>>> +
>>>>> +            /* This shouldn't happen, but is easy to deal with. */
>>>> I'm not sure this comment is helpful.
>>>>
>>>> Under PVH, there is nothing special about the 1M boundary, and we can
>>>> reasonably have something else here or crossing the boundary.
>>> As long as we have this special treatment of the low Mb, the boundary
>>> is meaningful imo. I'd see the comment go away when the handling in
>>> general gets streamlined.
>> I should have added: And as long as Dom0's E820 map gets cloned from
>> the host's, which will necessarily consider the 1Mb boundary special.
> 
> Not when you're booting virtualised in the first place.

You mean when Xen itself runs in PVH (not HVM) mode, and then in turn
has a PVH Dom0? And if the underlying Xen has not in turn cloned
the E820 from the host's? That's surely too exotic a case to warrant
removing this comment. If you insist, I can mention that case as a
possible exception.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 31 13:43:53 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 13:43:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175761.320087 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL43N-0007Ff-2M; Tue, 31 Aug 2021 13:43:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175761.320087; Tue, 31 Aug 2021 13: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 1mL43M-0007FU-Un; Tue, 31 Aug 2021 13:43:52 +0000
Received: by outflank-mailman (input) for mailman id 175761;
 Tue, 31 Aug 2021 13:43:52 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=06Zp=NW=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mL43M-0007Ez-1T
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 13:43:52 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com (unknown
 [40.107.6.81]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id cd76d8a7-62e3-4ab8-b264-3aebd292a2e6;
 Tue, 31 Aug 2021 13:43:49 +0000 (UTC)
Received: from AM3PR07CA0120.eurprd07.prod.outlook.com (2603:10a6:207:7::30)
 by PAXPR08MB7186.eurprd08.prod.outlook.com (2603:10a6:102:208::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.24; Tue, 31 Aug
 2021 13:43:48 +0000
Received: from VE1EUR03FT014.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:207:7:cafe::34) by AM3PR07CA0120.outlook.office365.com
 (2603:10a6:207:7::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.10 via Frontend
 Transport; Tue, 31 Aug 2021 13:43:48 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT014.mail.protection.outlook.com (10.152.19.38) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Tue, 31 Aug 2021 13:43:47 +0000
Received: ("Tessian outbound 19a632698c93:v103");
 Tue, 31 Aug 2021 13:43:46 +0000
Received: from 1c3792a699fd.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 A8098B35-EC50-40F5-A04C-63BBD9BBEE88.1; 
 Tue, 31 Aug 2021 13:43:36 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 1c3792a699fd.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 31 Aug 2021 13:43:36 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB9PR08MB6958.eurprd08.prod.outlook.com (2603:10a6:10:2be::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.19; Tue, 31 Aug
 2021 13:43:34 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::2c28:50cf:49fd:da32]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::2c28:50cf:49fd:da32%7]) with mapi id 15.20.4457.024; Tue, 31 Aug 2021
 13:43:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cd76d8a7-62e3-4ab8-b264-3aebd292a2e6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=o6JI+XoCuqizIbWiV1JwMYP2XldF4xpfwbjY5+nQ+gQ=;
 b=t6Ir5tgDasEwKzy9EYivkCBNBbVnpFO/OWcV9jZIstVnVQwYwfJXshbe0YktzFoGicqL/MjNyt29EiBYlTwQm1Ozc0iDEX0sBBz2WCEoGScBOEqULdUv+A0AoMuO9SLjEMtk6w9jEoVVvv8S1MVgAYb5USNMXLECaLNCjmqeSHs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DUXNDmdkMDZn/J41tkxZa3CVmSm5qaTR+xp4oix9+DFUpheX4WNMTfc+NXy+MC99sAzok+mC4ETSvEs0oWJUFidbT04nW4A1lwlX7aMWfG/Zz0N8cmstlbj48ch428qU17O+cF8eRz/hMTust9Of/A0sZrf80e/SOVwWGBs4yirnhDKjTeN4Z5WHibSkkBCpo2a3E5gUCm5iOsNQYqGEp4CfmURoth24iD3FS6oHhDDDuukOJL1e1pFC5doPHCcgz6JkTFyyVl2r/4mjG+GZ2X9zhzKLvQyo0CGKsllRn/c8UowYuvxB5HIOWt9nduEMifG9MBBWeIaLa83+IAupLw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=o6JI+XoCuqizIbWiV1JwMYP2XldF4xpfwbjY5+nQ+gQ=;
 b=ZW0eA+E1VokFPT037TUIB/s229INKp1DfBWGRxFVM7n79VEQi9zWzAH4Z5QlLXlVXY5vCM8s/j669hk92YrNLK+ebOyNf4sfDiXJ3uWYGgLB6xfSJMrxzbe6bu0u4oNpTXVIQHDfr5Rb6SNdFSRYiPe14qwLsY8gQ4IufKN+WLgKtAshHRD4W1ur8QVyafsmzmaUXZ0UMrKszwyN1ng/iDFO0vHwx71knsNVatPgv7bC4wM7QiDOaS0rs+jS9cqdvuIcVYbzmKbyLAn6rKbiOE2jWAshNG5uQdeDD17VB4iYw6aOrxajtekEnrv9TlKnhbHTR+orM8JA7vd7dIWKQw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=o6JI+XoCuqizIbWiV1JwMYP2XldF4xpfwbjY5+nQ+gQ=;
 b=t6Ir5tgDasEwKzy9EYivkCBNBbVnpFO/OWcV9jZIstVnVQwYwfJXshbe0YktzFoGicqL/MjNyt29EiBYlTwQm1Ozc0iDEX0sBBz2WCEoGScBOEqULdUv+A0AoMuO9SLjEMtk6w9jEoVVvv8S1MVgAYb5USNMXLECaLNCjmqeSHs=
From: Wei Chen <Wei.Chen@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"julien@xen.org" <julien@xen.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 34/40] xen: move numa_scan_nodes from x86 to
 common
Thread-Topic: [XEN RFC PATCH 34/40] xen: move numa_scan_nodes from x86 to
 common
Thread-Index: AQHXjptUu77aQcXH00SSr7Sat0uCZquM8VkAgADG79A=
Date: Tue, 31 Aug 2021 13:43:34 +0000
Message-ID:
 <DB9PR08MB68573C8F7F40339893ABA64F9ECC9@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-35-wei.chen@arm.com>
 <alpine.DEB.2.21.2108301825200.17851@sstabellini-ThinkPad-T480s>
In-Reply-To: <alpine.DEB.2.21.2108301825200.17851@sstabellini-ThinkPad-T480s>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: C8264248AEF3E041BC18B630DDD58638.0
x-checkrecipientchecked: true
Authentication-Results-Original: kernel.org; dkim=none (message not signed)
 header.d=none;kernel.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: d2e286f4-033c-4ede-0fb0-08d96c855bbf
x-ms-traffictypediagnostic: DB9PR08MB6958:|PAXPR08MB7186:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<PAXPR08MB71865C22F071A12E00CD3D3A9ECC9@PAXPR08MB7186.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:6790;OLM:6790;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 yssB9WI7BVLpCTDwoptnV3vDS0SPg+uD5YModtWQc3k9HrkKGvCwWGMYZThVWLmZITx7LBkT9bKWMeDf+zzDUk/o7LrkcH6pXIczp2L0d/IfWt9+hPrxLsOvOYKQGDR911xVbaDkmdT33ZTgJtjLV8g88tDDhlV/5FgSImQm0U1qedwy2PrDKmdiyxejMwkralkGtGud8raifx9fRF1c2NtpjtVOlYZuRew7o7Zk+cyWCtw0IFBiYGDg7hSQJozWjkDrzvHFnNgJyFQfSwbxhtkAlyZWbAfz7xNJsNcKnlycFzYcKxamQ/QuMIFPPIFlcTG85Ez4CaIwu1mZgb9wLWp9BI1hB6y106V5LUeoAteTW3Ww8GflDVs2e5454txZMt0RaGyI9DB+XMvn5FtZ8W2QvshDaiDDH8wYKQHVNBtHo2R93+c3me52ZMBjgx4Crer6ftB7P2FOeBpq4CRtAgNTll+wkeswhvhAbA0HfoDHJL8xUaSS7k+MrlydsBjpRYESS0Uhrgy1EBp4Ez5LRPp/RK5LJp511Ff5k8yXimEaRVk6K7/x4JVpQDjpPW2euYZhw56l9Yv1fFTHak5v777WyKRRdD1k+tfWt6h6RHp6sTvUa+5Bz43QKtQfgtrxH4o0eF5Itr5eg7K1qH/IIiYlEGAvaJ2u1cs/Z4hfGnrUnstOqn6T+0TTQN2aBHj2jTs6F2svIigf+tbVviB8Hw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(366004)(136003)(376002)(346002)(39850400004)(55016002)(478600001)(86362001)(122000001)(53546011)(8676002)(9686003)(38100700002)(4326008)(6916009)(66946007)(76116006)(66446008)(66476007)(66556008)(64756008)(5660300002)(33656002)(38070700005)(54906003)(52536014)(26005)(7696005)(83380400001)(2906002)(186003)(71200400001)(6506007)(8936002)(316002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?gb2312?B?QTlYMTVGQ015Und5b0swdWRQMHpZSXJPekNFekNGbkJLbkx0SXlYTXFqc1I0?=
 =?gb2312?B?NzlDei9iaTJoZ2FvQ0lCcGdUbkRPRTdoYVE3MllWWUc3YnVURi8rMlZOM2hq?=
 =?gb2312?B?NE1XT0dLekU3eEg3R3o2OEliaTd4eUtyTjlVY3I0MTZhWHU3VkZ4NEV3K3VV?=
 =?gb2312?B?ellsTy9veFduTEJtejZEQXpVRWo2U3VJQTVJeWd5cGQzS3lZR0Fid0p3eXBP?=
 =?gb2312?B?aDBEc1ZWSHJnbE9xdFAxUjk5bU5Rc0t3TG1ybmJiQWRSelJHYXdWTEpZUlU5?=
 =?gb2312?B?UEptUDhXSE1PdXlkVlMrc2kxRkFJMnVZRGVKQ2FmbTJJSzMyNVFzVkFEODZZ?=
 =?gb2312?B?TWttaERCVUc4UGFrSk1uTVprNDBFUmE1NFRxbEdNZFpYOEQyMFhUTHA5VzVV?=
 =?gb2312?B?SmlyZkR6TTFmTDJWTkw2b3J0Z0MvNlNBSDBmVzFaUjZRZG5pTmFHSlB5TkRk?=
 =?gb2312?B?cDRXWmNPMzJYS1RUZ2RpRU1jaGliLzFCc0RRSHA4a00xaUNDWWU3N0NVQ1ov?=
 =?gb2312?B?STVyZ0orWFhxamNOSWZPZ3pWenBzL01YY3lPdjMzT2kzaXg5bjVpQ2NQa29M?=
 =?gb2312?B?VGpNOFc1Q2Q5RmxQU2lTa0xrTXdPZmpCeVhBbXBXN01neVVXZlo0bmlQWWdH?=
 =?gb2312?B?d1VLRFVJbjM3ajFEcjAwODM2RlB3ZThDdjhZMEFkcWlIMVk3RldUQjk1VWJq?=
 =?gb2312?B?VjNQUHBsU1hpQkl4c0YySk8vakVMME5XalYrbEFvcDhhOG10b1IzUEVUVmpF?=
 =?gb2312?B?Q2MwVGhNRUxyS0xvS0EzQ3cvd2hZYnF4Y2dvc2hnYy8zUmZjV081ZU40YUR2?=
 =?gb2312?B?K1BkZWhRQXExUStOQXJqOUc1WGY0TmdHazVXVkJ3a2t1WThCN0oxVDZKZFpm?=
 =?gb2312?B?WlNmYVF3OVZzbXRUNVFoMjFXelRTVmJxZ25MSzF0aUNpNUxzalcrQk04UUJP?=
 =?gb2312?B?Ulc3TUYzVXVNQ0pISWxxSDRRdUZJNE5SR0JmZ05WelB1OU9idXdiaFd2YWFw?=
 =?gb2312?B?NzZVeU1zZGxYQjFFeUZldGpXekY0M2ZBUTY3RnR6b3IwZGNEWWVqV1hrc0VT?=
 =?gb2312?B?V2JxVnRWTU9FbjdRTG9DYVJ4eWNwNkFiRitkSllPSnhDdG4zOUkwZnU1RDJO?=
 =?gb2312?B?ZkFXNk0yUzN4U0JBb1hhcjh4enNuY1IrbzVZYXlLTUtsUmlzQ0JOMExtY3dD?=
 =?gb2312?B?Yy9QOVoxYUZnNnV4OUJsVFI4MWszQkp3TWlhS1JBY1RLZ0doZ0YxNndtMmFp?=
 =?gb2312?B?RkFrN1JMWnJJTm5GUUxwYlMvd2MvYVE4L1NNUUpmWXhiRU1nOGxSSmtaeWFG?=
 =?gb2312?B?Tm5YTi8zb0pwN3NWR2pUNnhLYngrSjBVNmNDRGpsMWdhNmtWVXQ5M05PSWNp?=
 =?gb2312?B?YlhoNk8xNGszUzZkN0ZWT0xsTUFNWkV0S2RybUl0NXA3L3V3Z3hvTGdWSjZp?=
 =?gb2312?B?bE41MmFvMEI4dDBaV3ppSW96OGlGUytQbFNGZzZjbUdNd2FTZS9ETC9iNDZv?=
 =?gb2312?B?ajNaeFBVUGFkOU52M1RGSm1OSk0rMGlRSjRvUmtWYTA4elo4N3pqSC8yR1gv?=
 =?gb2312?B?U0dOc1llbzRLQ2lUM0pWd0tXTDF0MEtReDlaT3JLOVpUaDFXOUpuZGJteHI4?=
 =?gb2312?B?SnFjWTZyTnJld1BOME0vdk9wR3pqeU1FUUxBRkhtSjNEc3hCK1J0Rmc4dkRB?=
 =?gb2312?B?cmpqdm5vWmFFSEp3VGw3cVA3d1BFNXRPd09SOGltWW83L1FsTlZZdVBhaEo3?=
 =?gb2312?Q?tOemZgaNTPacvWUQ5BiIXOtooTuTj42ALzq+xlP?=
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6958
Original-Authentication-Results: kernel.org; dkim=none (message not signed)
 header.d=none;kernel.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT014.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	c84ee7f0-049e-4e76-4768-08d96c8553ca
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	z1YT6vcPTJiei5AW/vbuKovY+5ata3zSBoIuKtUTDRJM/o7PZcPpLQkbcMNNObm2OdE08tV4VMZ+xtmA1ZGh4liNjCpf8oypy7dzifvvTXQJUjlTZxnQkKVNFjFr8wtgsAxgyz1SWF1Z/vOSKicVWz1aEoYRqq7gQB3mk2JoGK+mVIaaD/YZIhe3/aXoGkTrAjH+KL7HhgTDhQVl297pvQrVL0wm8M9sSRPI8sgnaLCZt0YFr7xl8OFIm0hszp0KMp6FuX1YVKIm4r5aSRYs8DOBCMdr5mEHZaghpYMV10+6pmCgb51kuq/ULTqSiFlk8T0NTZZwdgZH5qMf3AmRmhwd7LEwHBPFiReJ+sDWI+vVr3Crqh84pVRQy5QysXJHdL1cOdgyyPBUt5QMBa2Zaw1fDceP9FBkjSt8geYo6NFpEFUC1Pyv5OLAUErzgghyXGIYkhWW0JJkQ/D5/qFvk5miWKPGcw5MhA03BQ+P6s0rAxgL+V8EE6Ofpdjx0aokcNLlEX6F7RACMhJmYDNN+enabd3YE2T5Pa6zrQN/7NNown4QZwgNejbllrM9qmLHdLhg64AJGEeJMR/Nkvi8bM03jaaokGIqk+EswOXPUCaAFBmzdbG0ONGXuOfyA5IfMdIvSlGAXBuZziJU24XgaHPDQQlEf+g0j0t8f8eAkvEkLyqyEhc9iFE0P6gAszCtUyGQJO9S0ed4+FHi6TE3aA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(46966006)(36840700001)(8936002)(33656002)(186003)(4326008)(55016002)(2906002)(6862004)(52536014)(26005)(36860700001)(54906003)(5660300002)(9686003)(316002)(47076005)(7696005)(83380400001)(8676002)(70586007)(70206006)(508600001)(81166007)(86362001)(6506007)(336012)(53546011)(82310400003)(356005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2021 13:43:47.3864
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d2e286f4-033c-4ede-0fb0-08d96c855bbf
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT014.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB7186

SGkgU3RlZmFubywNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBTdGVm
YW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+DQo+IFNlbnQ6IDIwMjHE6jjU
wjMxyNUgOToyNw0KPiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiB4ZW4t
ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmc7IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc7IGp1bGll
bkB4ZW4ub3JnOw0KPiBqYmV1bGljaEBzdXNlLmNvbTsgQmVydHJhbmQgTWFycXVpcyA8QmVydHJh
bmQuTWFycXVpc0Bhcm0uY29tPg0KPiBTdWJqZWN0OiBSZTogW1hFTiBSRkMgUEFUQ0ggMzQvNDBd
IHhlbjogbW92ZSBudW1hX3NjYW5fbm9kZXMgZnJvbSB4ODYgdG8NCj4gY29tbW9uDQo+IA0KPiBP
biBXZWQsIDExIEF1ZyAyMDIxLCBXZWkgQ2hlbiB3cm90ZToNCj4gPiBBZnRlciB0aGUgcHJldmlv
dXMgcGF0Y2hlcyBwcmVwYXJhdGlvbnMsIG51bWFfc2Nhbl9ub2RlcyBjYW4gYmUNCj4gPiB1c2Vk
IGJ5IEFybSBhbmQgeDg2LiBTbyB3ZSBtb3ZlIHRoaXMgZnVuY3Rpb24gZnJvbSB4ODYgdG8gY29t
bW9uLg0KPiA+IEFzIG5vZGVfY292ZXJfbWVtb3J5IHdpbGwgbm90IGJlIHVzZWQgY3Jvc3MgZmls
ZXMsIHdlIHJlc3RvcmUgaXRzDQo+ID4gc3RhdGljIGF0dHJpYnV0ZSBpbiB0aGlzIHBhdGNoLg0K
PiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogV2VpIENoZW4gPHdlaS5jaGVuQGFybS5jb20+DQo+ID4g
LS0tDQo+ID4gIHhlbi9hcmNoL3g4Ni9zcmF0LmMgICAgICAgIHwgNTIgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gIHhlbi9jb21tb24vbnVtYS5jICAgICAgICAgIHwg
NTQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0NCj4gPiAgeGVuL2luY2x1
ZGUvYXNtLXg4Ni9hY3BpLmggfCAgMyAtLS0NCj4gPiAgeGVuL2luY2x1ZGUveGVuL251bWEuaCAg
ICAgfCAgMyArKy0NCj4gPiAgNCBmaWxlcyBjaGFuZ2VkLCA1NSBpbnNlcnRpb25zKCspLCA1NyBk
ZWxldGlvbnMoLSkNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvc3JhdC5jIGIv
eGVuL2FyY2gveDg2L3NyYXQuYw0KPiA+IGluZGV4IGM5Nzk5MzlmZGQuLmM5ZjAxOWMzMDcgMTAw
NjQ0DQo+ID4gLS0tIGEveGVuL2FyY2gveDg2L3NyYXQuYw0KPiA+ICsrKyBiL3hlbi9hcmNoL3g4
Ni9zcmF0LmMNCj4gPiBAQCAtMzYxLDU4ICszNjEsNiBAQCB2b2lkIF9faW5pdCBzcmF0X3BhcnNl
X3JlZ2lvbnModTY0IGFkZHIpDQo+ID4gIAlwZm5fcGR4X2hvbGVfc2V0dXAobWFzayA+PiBQQUdF
X1NISUZUKTsNCj4gPiAgfQ0KPiA+DQo+ID4gLS8qIFVzZSB0aGUgaW5mb3JtYXRpb24gZGlzY292
ZXJlZCBhYm92ZSB0byBhY3R1YWxseSBzZXQgdXAgdGhlIG5vZGVzLg0KPiAqLw0KPiA+IC1pbnQg
X19pbml0IG51bWFfc2Nhbl9ub2Rlcyh1NjQgc3RhcnQsIHU2NCBlbmQpDQo+ID4gLXsNCj4gPiAt
CWludCBpOw0KPiA+IC0Jbm9kZW1hc2tfdCBhbGxfbm9kZXNfcGFyc2VkOw0KPiA+IC0NCj4gPiAt
CS8qIEZpcnN0IGNsZWFuIHVwIHRoZSBub2RlIGxpc3QgKi8NCj4gPiAtCWZvciAoaSA9IDA7IGkg
PCBNQVhfTlVNTk9ERVM7IGkrKykNCj4gPiAtCQljdXRvZmZfbm9kZShpLCBzdGFydCwgZW5kKTsN
Cj4gPiAtDQo+ID4gLSNpZmRlZiBDT05GSUdfQUNQSV9OVU1BDQo+ID4gLQlpZiAoYWNwaV9udW1h
IDw9IDApDQo+ID4gLQkJcmV0dXJuIC0xOw0KPiA+IC0jZW5kaWYNCj4gPiAtDQo+ID4gLQlpZiAo
IW5vZGVzX2NvdmVyX21lbW9yeSgpKSB7DQo+ID4gLQkJYmFkX3NyYXQoKTsNCj4gPiAtCQlyZXR1
cm4gLTE7DQo+ID4gLQl9DQo+ID4gLQ0KPiA+IC0JbWVtbm9kZV9zaGlmdCA9IGNvbXB1dGVfaGFz
aF9zaGlmdChub2RlX21lbWJsa19yYW5nZSwNCj4gbnVtX25vZGVfbWVtYmxrcywNCj4gPiAtCQkJ
CW1lbWJsa19ub2RlaWQpOw0KPiA+IC0NCj4gPiAtCWlmIChtZW1ub2RlX3NoaWZ0IDwgMCkgew0K
PiA+IC0JCXByaW50ayhLRVJOX0VSUg0KPiA+IC0JCSAgICAgIlNSQVQ6IE5vIE5VTUEgbm9kZSBo
YXNoIGZ1bmN0aW9uIGZvdW5kLiBDb250YWN0DQo+IG1haW50YWluZXJcbiIpOw0KPiA+IC0JCWJh
ZF9zcmF0KCk7DQo+ID4gLQkJcmV0dXJuIC0xOw0KPiA+IC0JfQ0KPiA+IC0NCj4gPiAtCW5vZGVz
X29yKGFsbF9ub2Rlc19wYXJzZWQsIG1lbW9yeV9ub2Rlc19wYXJzZWQsDQo+IHByb2Nlc3Nvcl9u
b2Rlc19wYXJzZWQpOw0KPiA+IC0NCj4gPiAtCS8qIEZpbmFsbHkgcmVnaXN0ZXIgbm9kZXMgKi8N
Cj4gPiAtCWZvcl9lYWNoX25vZGVfbWFzayhpLCBhbGxfbm9kZXNfcGFyc2VkKQ0KPiA+IC0Jew0K
PiA+IC0JCXU2NCBzaXplID0gbm9kZXNbaV0uZW5kIC0gbm9kZXNbaV0uc3RhcnQ7DQo+ID4gLQkJ
aWYgKCBzaXplID09IDAgKQ0KPiA+IC0JCQlwcmludGsoS0VSTl9XQVJOSU5HICJTUkFUOiBOb2Rl
ICV1IGhhcyBubyBtZW1vcnkuICINCj4gPiAtCQkJICAgICAgICJCSU9TIEJ1ZyBvciBtaXMtY29u
ZmlndXJlZCBoYXJkd2FyZT9cbiIsIGkpOw0KPiA+IC0NCj4gPiAtCQlzZXR1cF9ub2RlX2Jvb3Rt
ZW0oaSwgbm9kZXNbaV0uc3RhcnQsIG5vZGVzW2ldLmVuZCk7DQo+ID4gLQl9DQo+ID4gLQlmb3Ig
KGkgPSAwOyBpIDwgbnJfY3B1X2lkczsgaSsrKSB7DQo+ID4gLQkJaWYgKGNwdV90b19ub2RlW2ld
ID09IE5VTUFfTk9fTk9ERSkNCj4gPiAtCQkJY29udGludWU7DQo+ID4gLQkJaWYgKCFub2RlbWFz
a190ZXN0KGNwdV90b19ub2RlW2ldLCAmcHJvY2Vzc29yX25vZGVzX3BhcnNlZCkpDQo+ID4gLQkJ
CW51bWFfc2V0X25vZGUoaSwgTlVNQV9OT19OT0RFKTsNCj4gPiAtCX0NCj4gPiAtCW51bWFfaW5p
dF9hcnJheSgpOw0KPiA+IC0JcmV0dXJuIDA7DQo+ID4gLX0NCj4gPiAtDQo+ID4gIHN0YXRpYyB1
bnNpZ25lZCBub2RlX3RvX3B4bShub2RlaWRfdCBuKQ0KPiA+ICB7DQo+ID4gIAl1bnNpZ25lZCBp
Ow0KPiA+IGRpZmYgLS1naXQgYS94ZW4vY29tbW9uL251bWEuYyBiL3hlbi9jb21tb24vbnVtYS5j
DQo+ID4gaW5kZXggNDE1MmJiZTgzYi4uOGNhMTNlMjdkMSAxMDA2NDQNCj4gPiAtLS0gYS94ZW4v
Y29tbW9uL251bWEuYw0KPiA+ICsrKyBiL3hlbi9jb21tb24vbnVtYS5jDQo+ID4gQEAgLTE5NSw3
ICsxOTUsNyBAQCB2b2lkIF9faW5pdCBjdXRvZmZfbm9kZShpbnQgaSwgdTY0IHN0YXJ0LCB1NjQg
ZW5kKQ0KPiA+DQo+ID4gIC8qIFNhbml0eSBjaGVjayB0byBjYXRjaCBtb3JlIGJhZCBTUkFUcyAo
dGhleSBhcmUgYW1hemluZ2x5IGNvbW1vbikuDQo+ID4gICAgIE1ha2Ugc3VyZSB0aGUgUFhNcyBj
b3ZlciBhbGwgbWVtb3J5LiAqLw0KPiA+IC1pbnQgX19pbml0IG5vZGVzX2NvdmVyX21lbW9yeSh2
b2lkKQ0KPiA+ICtzdGF0aWMgaW50IF9faW5pdCBub2Rlc19jb3Zlcl9tZW1vcnkodm9pZCkNCj4g
PiAgew0KPiA+ICAJaW50IGk7DQo+ID4gIAl1aW50MzJfdCBucl9iYW5rcyA9IGFyY2hfbWVtaW5m
b19nZXRfbnJfYmFuaygpOw0KPiA+IEBAIC0yNzEsNiArMjcxLDU4IEBAIHZvaWQgX19pbml0IG51
bWFfaW5pdF9hcnJheSh2b2lkKQ0KPiA+ICAgICAgfQ0KPiA+ICB9DQo+ID4NCj4gPiArLyogVXNl
IHRoZSBpbmZvcm1hdGlvbiBkaXNjb3ZlcmVkIGFib3ZlIHRvIGFjdHVhbGx5IHNldCB1cCB0aGUg
bm9kZXMuDQo+ICovDQo+ID4gK2ludCBfX2luaXQgbnVtYV9zY2FuX25vZGVzKHU2NCBzdGFydCwg
dTY0IGVuZCkNCj4gPiArew0KPiA+ICsJaW50IGk7DQo+ID4gKwlub2RlbWFza190IGFsbF9ub2Rl
c19wYXJzZWQ7DQo+ID4gKw0KPiA+ICsJLyogRmlyc3QgY2xlYW4gdXAgdGhlIG5vZGUgbGlzdCAq
Lw0KPiA+ICsJZm9yIChpID0gMDsgaSA8IE1BWF9OVU1OT0RFUzsgaSsrKQ0KPiA+ICsJCWN1dG9m
Zl9ub2RlKGksIHN0YXJ0LCBlbmQpOw0KPiA+ICsNCj4gPiArI2lmZGVmIENPTkZJR19BQ1BJX05V
TUENCj4gPiArCWlmIChhY3BpX251bWEgPD0gMCkNCj4gPiArCQlyZXR1cm4gLTE7DQo+ID4gKyNl
bmRpZg0KPiA+ICsNCj4gPiArCWlmICghbm9kZXNfY292ZXJfbWVtb3J5KCkpIHsNCj4gPiArCQli
YWRfc3JhdCgpOw0KPiA+ICsJCXJldHVybiAtMTsNCj4gPiArCX0NCj4gPiArDQo+ID4gKwltZW1u
b2RlX3NoaWZ0ID0gY29tcHV0ZV9oYXNoX3NoaWZ0KG5vZGVfbWVtYmxrX3JhbmdlLA0KPiBudW1f
bm9kZV9tZW1ibGtzLA0KPiA+ICsJCQkJbWVtYmxrX25vZGVpZCk7DQo+ID4gKw0KPiA+ICsJaWYg
KG1lbW5vZGVfc2hpZnQgPCAwKSB7DQo+ID4gKwkJcHJpbnRrKEtFUk5fRVJSDQo+ID4gKwkJICAg
ICAiU1JBVDogTm8gTlVNQSBub2RlIGhhc2ggZnVuY3Rpb24gZm91bmQuIENvbnRhY3QNCj4gbWFp
bnRhaW5lclxuIik7DQo+ID4gKwkJYmFkX3NyYXQoKTsNCj4gPiArCQlyZXR1cm4gLTE7DQo+ID4g
Kwl9DQo+ID4gKw0KPiA+ICsJbm9kZXNfb3IoYWxsX25vZGVzX3BhcnNlZCwgbWVtb3J5X25vZGVz
X3BhcnNlZCwNCj4gcHJvY2Vzc29yX25vZGVzX3BhcnNlZCk7DQo+ID4gKw0KPiA+ICsJLyogRmlu
YWxseSByZWdpc3RlciBub2RlcyAqLw0KPiA+ICsJZm9yX2VhY2hfbm9kZV9tYXNrKGksIGFsbF9u
b2Rlc19wYXJzZWQpDQo+ID4gKwl7DQo+ID4gKwkJdTY0IHNpemUgPSBub2Rlc1tpXS5lbmQgLSBu
b2Rlc1tpXS5zdGFydDsNCj4gPiArCQlpZiAoIHNpemUgPT0gMCApDQo+ID4gKwkJCXByaW50ayhL
RVJOX1dBUk5JTkcgIlNSQVQ6IE5vZGUgJXUgaGFzIG5vIG1lbW9yeS4gIg0KPiA+ICsJCQkgICAg
ICAgIkJJT1MgQnVnIG9yIG1pcy1jb25maWd1cmVkIGhhcmR3YXJlP1xuIiwgaSk7DQo+IA0KPiBO
b3QgYWxsIGFyY2hzIGhhdmUgYSBCSU9TIHNvIEknZCBzYXkgImZpcm13YXJlIGJ1ZyIuIExpa2Ug
bGFzdCB0aW1lLCB3ZQ0KPiB1c3VhbGx5IGRvbid0IGRvIGNvZGUgY2hhbmdlcyB0b2dldGhlciB3
aXRoIGNvZGUgbW92ZW1lbnQsIGJ1dCBpbiB0aGlzDQo+IGNhc2UgaXQgbWlnaHQgYmUgT0suIEkg
YW0gYWxzbyBoYXBweSB3aXRoIGEgc2VwYXJhdGUgcGF0Y2ggdG8gYWRqdXN0IHRoZQ0KPiB0d28g
Y29tbWVudHMgKHRoaXMgb25lIGFuZCB0aGUgb25lIGluIHRoZSBwcmV2aW91cyBwYXRjaCkuDQoN
Ck9LLCBJIHdpbGwgZG8gaXQuDQo=


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 13:43:54 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 13:43:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175760.320076 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL43K-0006z3-On; Tue, 31 Aug 2021 13:43:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175760.320076; Tue, 31 Aug 2021 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 1mL43K-0006yw-LH; Tue, 31 Aug 2021 13:43:50 +0000
Received: by outflank-mailman (input) for mailman id 175760;
 Tue, 31 Aug 2021 13:43:49 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=06Zp=NW=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mL43J-0006yq-8v
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 13:43:49 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com (unknown
 [40.107.8.53]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 77270d14-0a61-11ec-ad40-12813bfff9fa;
 Tue, 31 Aug 2021 13:43:47 +0000 (UTC)
Received: from AS9PR06CA0096.eurprd06.prod.outlook.com (2603:10a6:20b:465::25)
 by AM5PR0802MB2500.eurprd08.prod.outlook.com (2603:10a6:203:a0::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17; Tue, 31 Aug
 2021 13:43:45 +0000
Received: from AM5EUR03FT048.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:465:cafe::5f) by AS9PR06CA0096.outlook.office365.com
 (2603:10a6:20b:465::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.24 via Frontend
 Transport; Tue, 31 Aug 2021 13:43:45 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT048.mail.protection.outlook.com (10.152.17.177) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Tue, 31 Aug 2021 13:43:44 +0000
Received: ("Tessian outbound 19a632698c93:v103");
 Tue, 31 Aug 2021 13:43:43 +0000
Received: from d8760ee41da6.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 DD7036A5-AFC0-45C5-894E-83B799B401EE.1; 
 Tue, 31 Aug 2021 13:43:33 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d8760ee41da6.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 31 Aug 2021 13:43:33 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB9PR08MB6958.eurprd08.prod.outlook.com (2603:10a6:10:2be::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.19; Tue, 31 Aug
 2021 13:43:29 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::2c28:50cf:49fd:da32]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::2c28:50cf:49fd:da32%7]) with mapi id 15.20.4457.024; Tue, 31 Aug 2021
 13: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: 77270d14-0a61-11ec-ad40-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uDc6XDhcgwqufSrt4vRDMbNAi7QmKZkRLPZ4JuvlPIE=;
 b=5Xoz32GFvTzfaURDpBFckjt4mJpVSA1AlO8u5ZUuKHhL5zutUjVJoTPmv6JQy6BCXc8ncPdZLl2M5RVS1/n1bMQPORHMzP4SlSbOM68WGKYSMDeGq1U4K2hYS3hQmuktuu0SHnc94GTu+SYjd0rDtza/Hj1/mdrPZY2CNXlLot8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nnmS/xsga11TsBz+qtX0ZDB23FkfZ9A4ZXnsPlmgU8HAMrjPw3IjA2fANXyeXUojqI8/qwDHHuTA5IYzUNevD86nXOFJdB8Z7MkPWQ1S2qv6kfkeaRROlIHgUsbXyqv7yWWHXVMsU1gz/h2KJ3YpEyxNndYs/FIIevvZ35P2ZdRORbISIDNZ0J0twPI9w3ktBbD0Yazf01Bey/M8KR2ZaCAva3KlQ69XsfrAVNJ/jIdvt/j8HmuZnRUhhH37tBlzjYi/VfXZUsOyZyPx9ZjAuIrQA2qXuohxM1dXegBXi/e3V1sZXb5+X3mXgfhXZ/N1wttKcsRqbF0568IH6c/tEw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uDc6XDhcgwqufSrt4vRDMbNAi7QmKZkRLPZ4JuvlPIE=;
 b=gdthfebzuUt5vKSXY44lAGUA8M0zu147/fWqURQ4AFo+UL95MkueccYtSjMgJsnOY29OawrNn7OH6N5JG5b4R1H0/umTTEKnd0znFwTH8Re0I5zguC3hvqRUBfcWcKBuIFY8xtzBkw/dRh4YSHxu84G/pUA9Dh+qw1noe/M5A1au5qi6Pm2sv5Pz60Q8metQIASqQ4foDR2xLZjmNj7Hr75wdbBuDSwOokufGbk0fCnZ0sVfZQKIZaSAK6ZSKdfaLxblTnXBkny1wIyrRwb72lQ95SewJNgL6luyA8fI/Jal4a8VbI/pfjmb09xLaogkLuqCm9Ks8XjowE1Fs3pOZg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uDc6XDhcgwqufSrt4vRDMbNAi7QmKZkRLPZ4JuvlPIE=;
 b=5Xoz32GFvTzfaURDpBFckjt4mJpVSA1AlO8u5ZUuKHhL5zutUjVJoTPmv6JQy6BCXc8ncPdZLl2M5RVS1/n1bMQPORHMzP4SlSbOM68WGKYSMDeGq1U4K2hYS3hQmuktuu0SHnc94GTu+SYjd0rDtza/Hj1/mdrPZY2CNXlLot8=
From: Wei Chen <Wei.Chen@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"julien@xen.org" <julien@xen.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 31/40] xen/x86: move nodes_cover_memory to common
Thread-Topic: [XEN RFC PATCH 31/40] xen/x86: move nodes_cover_memory to common
Thread-Index: AQHXjptKZECAg9VCjEW42dN79DG/FauM7oIAgADJbwA=
Date: Tue, 31 Aug 2021 13:43:29 +0000
Message-ID:
 <DB9PR08MB6857E2B07418C47668211F369ECC9@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-32-wei.chen@arm.com>
 <alpine.DEB.2.21.2108301813320.17851@sstabellini-ThinkPad-T480s>
In-Reply-To: <alpine.DEB.2.21.2108301813320.17851@sstabellini-ThinkPad-T480s>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 7739CF973BBB8946892DA1D47914E157.0
x-checkrecipientchecked: true
Authentication-Results-Original: kernel.org; dkim=none (message not signed)
 header.d=none;kernel.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 53caca9e-eefe-45c4-b257-08d96c855a0a
x-ms-traffictypediagnostic: DB9PR08MB6958:|AM5PR0802MB2500:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM5PR0802MB250038BBF540279AAD97E8009ECC9@AM5PR0802MB2500.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:8882;OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 2hgW1nMjisNFW5qFwOyT7LNR4tGEBdCN8ym9KQVrQ24itXiigXyZ0ygY3A6uMhznnsHBxrkJ7EsdgxtrSoarP9CgSEPaFUsgVQQpiA0B8gOt6h0BHxnb5MFpsKbuMWYdmKNZIKk+ynSNXlgeHD3AcAusG/nFN/SZmEnyOt7ZDJQZUl3s+ToL7w6RifoxOZiX3/LTM1+JS5MKICwMJ6XVns2ggHJoLltjuJ6OEweNCwP/yzhlIgtwOr/GUGB9PvAAbVmybSfPmfLs4wxf6z1T23iSTgwsIh++xb5vlXyC5vhyV2bzPGex2iLDu+FtebpvHXqhuxWRukRZZu5cvnHfCFU5Ddj8T4j/ozlUBAcbbHzsghUY8yyfw1QlVjfr5X+Sqe6SbSfQWjGUkqXy2c4mK/C7UV5XZb2opSJJ2vlW0j3bhgepdCC05iTdCJOoDjCeI2KEqcw5As5CTD6SVLXlWm3/SeV1tn+98tc7fJ3sRNdujO9jCa/7euobOqYfPpKo/qD4iVZsXUP6Rayyg2LXCFFgG4/KPzpngP0h5rqH7J7xq/gzUMtJp+UbBk2EtfrsBeR2O6QQ4dbB1A108W6Lea1PnvvALDIgwrfXgwZLLT3sgPiicJoFKiFtO5Vjr1Jrm+XwQg4/xiOUFYV0vpQ4i2aZ9Fl9QUXPFM5wfJkYehDnsMkTXTq5LgpvxGCXR+sBvYb+9oYGjI5qDvQF1ntYmQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(366004)(136003)(376002)(346002)(39850400004)(55016002)(478600001)(86362001)(122000001)(53546011)(8676002)(9686003)(38100700002)(4326008)(6916009)(66946007)(76116006)(66446008)(66476007)(66556008)(64756008)(5660300002)(33656002)(38070700005)(54906003)(52536014)(26005)(7696005)(83380400001)(2906002)(186003)(71200400001)(6506007)(8936002)(316002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?gb2312?B?a21TSlI0MTRWNXRxdy9oY1lwL0lrbm9LRERZdUpucThyWVNzZ25yT2k5bU16?=
 =?gb2312?B?TXhFcjlHWitJV0k0REJ3YzZtMHU1MjJlSjhMKzB4bU51aDZsaUdCcHZOUzJu?=
 =?gb2312?B?TWNxOWRDOXlvRjNCaG05cmhtQzN4Qk5OVEovS1h3MktsWHZGVkFNVExKWmt3?=
 =?gb2312?B?eHJxSFkrVkJpQ0NUNE93VFprcDBWRHJnUGVnOEJMOEh5TmVPcGFTQ2FNOHMw?=
 =?gb2312?B?aG5UbEV0bkxCVDJNaGZ1L2pjS1NUMkRrSTBIKzdBZXZiVWN1dFBWTUZQaWd4?=
 =?gb2312?B?TmJRcTBqUURQMERmMXdYN3o3ZUg2ak53a3FJSTVUVVZINWtnN1BpVCs0OEdJ?=
 =?gb2312?B?R1RFN3R3QkVUTDlaODZnNmRXam05Z2FKV2NWclIzT2JpOHhUVUlRN25hOUtz?=
 =?gb2312?B?Q25xaWVLOXhKbnhNMDdSYUNFejdLYUhjcVo2QTh1L1V3VmhCcy9LT1Nod0Fr?=
 =?gb2312?B?ZmxKamZjbTc4djhGbVZpdWcrYmZ3UkVkam9hWktOZ0dmaUFDSG5CSnJEajNs?=
 =?gb2312?B?UFNxckpUZ3FOT1lWM3drcDBHL0JPcnlGWHhiSmlWYXZoSm5ycGlRcW16cFFI?=
 =?gb2312?B?akNRZnhjaURjWjJ1V3BRc2N4NVRWeFhZcnV4VFFGZU5Ea1ozTTJDZ3N6Uzdj?=
 =?gb2312?B?Zi9scVg4d3pGWmVwalhvNkR1OE9wMWpmL3NQbm51cHF4Q1luQTI5TDFtZy9N?=
 =?gb2312?B?bE4xSUxsTE8xSGlrY01qVENFTzlVSlpHM21GTzczWkdOdDVncE1JdjNNWUZq?=
 =?gb2312?B?RGptcERRUm1reDlxbTR5aEhCQ2hocXNCK1JuMUNVMmxMUVBpbDRIdGtIQkEr?=
 =?gb2312?B?OGpYdGx0RzBabFI5ZStPelhVOWZjQU0xN1BuaHBpcm81SVMyV0RwUDZKWlZp?=
 =?gb2312?B?WHJXZ3Jvby9UQVJacHhTOHJFcnIvbWZyUjFVd2xPNHF2eDVpTUV4djBJQ3BN?=
 =?gb2312?B?TFpUMWJ1eDdTS2NYUTcrT2xUTlZIa2RBdW13RmRtMW5sYmt1dFczZG9pVVRX?=
 =?gb2312?B?NEVzdWVLamMrMmpnOVNubzFacGNGaEIzTkl6ZnFvUUg3MVYyWnZtN0UrUFoz?=
 =?gb2312?B?V2VpblpZTUdaK29pNzd6STM4RXdkb1ZVb1krays3RTBlTkpMOWd0c2s5aGRj?=
 =?gb2312?B?RzRubXRNS21DZTVjNE1DenY1TVJFWkZ4cVBUYkdOOThaN0l4NzhMZEFHMStL?=
 =?gb2312?B?VzJveEV5Qjkrd2VDWDh0eURrT0RDYktaK2VqZnlSRlVWL3hhdXRNQmFxbFMx?=
 =?gb2312?B?Y1dyMThFVTlCcEJOTzkwQkk0ci9rUnNmbnkrd1dmbnpVcytJaXRPV3A0Tmc0?=
 =?gb2312?B?djlaQW1nN2lVNjh0RjVKR0J2RitMaG9mK0hRRU9vTWlPSzRlM2Rwa2p5anRr?=
 =?gb2312?B?YnBOeWQvTU5aeG16M3ZDZDZPUVdRb0NiOUpBS1dCdUZVTXNLdzZjbEhDVnpU?=
 =?gb2312?B?b0hHTEpya2RwVVJNbjI4SmhnMWdjS1FCR1lpZWtBM2JDWHg0NFU5cTNNNkVk?=
 =?gb2312?B?Rmw0SDhSUGk2TVNqMWpsR2VwNUxBYVAyTnRIWUQyOU9BbEwrZ29CMXZXUVlG?=
 =?gb2312?B?bU5keTRUa3RpQWpzaE1XOHV5NHNmZEN2NFVVNTVJY3dsSHp3N2trOGZsQlVQ?=
 =?gb2312?B?dUhYTXJnTktYNnBadmJaQjNjYzRydXhOWUs1ZHZHUGp1Y3cwMFdKVS9nekVh?=
 =?gb2312?B?RjYwcmQ2NW1iWk1xODdqY1NzNWVJZlQvR3lQZnl3NHJIYWlWTjBVSUNQNXhr?=
 =?gb2312?Q?kh2EjWxIIQYPWuj3VCwbSAO6JlMLU/nlZGeK/vP?=
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6958
Original-Authentication-Results: kernel.org; dkim=none (message not signed)
 header.d=none;kernel.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT048.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	e7e9645d-3f98-4ecd-6049-08d96c855145
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MVp1U9WPCR3is/899NJ9I0uIo8TjHZ4H62X9O+qjsvfLa8JMxOC0s6jAPzAYHr5sPupEkUygz6RI2FyrtKQQmEbuZI8GylCmiT+SZpWYEeDz4shsQ65KshTgIF9jbAqkDLuhm7tFFLefv1rN1CnPb72WHkfuxxGXcAMlx913EUIJUL2fYY19RL/zeK/CznhvMqZvgUFzP5EgwWq1rs9ahU/0sVjtCNyReJeVjoLPRMKP8pwdeEazggWCsHBa9uKtWZ0MfHqvCkm1mp/Lh6rSpZzQiLJKxlBdJ2Ho1oPHcdw7mVgf+1thdg6b43wJgukCoZjQiAY8pI8vX0CgaXuU2dLT62B9B/QZoJdBw7E/z7p0zsCxAZF6CbTMunAEkKycuOjBl1ZvEn2O3SG56soNqCPYQVjyzMbPls3nRKVUxplNVMIrHhqASm5yI6Ble+GFkYbxCxtp7452rcvxBa+QHTOWpx8k13vXqYTk8mg6b2M4lBv/irvoKSCR27BxRCN7FCPQ9mnZwmXlcpW48L7CxEphDRyKfcDFJE/7us/2MF6Y6jWCevIjuN6EzY0/mKxZFJHUCyXWDhJhB8PUiibzwEsB7xjIuqHHz0cclu2t2Ba0THYp1AOIewotAtsF28Kq7/m868zB4b9sy3pRJSKJ58dTkOdc0G3g+k2+7LLntOS6Z971pD70XsyjrwoUVlnbIhbqJTSoThvNvNzhmiilBw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(36840700001)(46966006)(8676002)(54906003)(2906002)(47076005)(356005)(70206006)(6862004)(86362001)(70586007)(186003)(33656002)(9686003)(55016002)(82310400003)(7696005)(83380400001)(8936002)(6506007)(53546011)(52536014)(336012)(508600001)(5660300002)(81166007)(4326008)(316002)(26005)(36860700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2021 13:43:44.6026
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 53caca9e-eefe-45c4-b257-08d96c855a0a
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT048.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0802MB2500

SGkgU3RlZmFubywNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBTdGVm
YW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+DQo+IFNlbnQ6IDIwMjHE6jjU
wjMxyNUgOToxNw0KPiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiB4ZW4t
ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmc7IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc7IGp1bGll
bkB4ZW4ub3JnOw0KPiBqYmV1bGljaEBzdXNlLmNvbTsgQmVydHJhbmQgTWFycXVpcyA8QmVydHJh
bmQuTWFycXVpc0Bhcm0uY29tPg0KPiBTdWJqZWN0OiBSZTogW1hFTiBSRkMgUEFUQ0ggMzEvNDBd
IHhlbi94ODY6IG1vdmUgbm9kZXNfY292ZXJfbWVtb3J5IHRvDQo+IGNvbW1vbg0KPiANCj4gT24g
V2VkLCAxMSBBdWcgMjAyMSwgV2VpIENoZW4gd3JvdGU6DQo+ID4gTm90IG9ubHkgQUNQVSBOVU1B
LCBidXQgYWxzbyBBcm0gZGV2aWNlIHRyZWUgYmFzZWQgTlVNQQ0KPiA+IHdpbGwgdXNlIG5vZGVz
X2NvdmVyX21lbW9yeSB0byBkbyBzYW5pdHkgY2hlY2suIFNvIHdlIG1vdmUNCj4gPiB0aGlzIGZ1
bmN0aW9uIGZyb20gYXJjaC94ODYgdG8gY29tbW9uLg0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTog
V2VpIENoZW4gPHdlaS5jaGVuQGFybS5jb20+DQo+ID4gLS0tDQo+ID4gIHhlbi9hcmNoL3g4Ni9z
cmF0LmMgICAgfCA0MCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+
ID4gIHhlbi9jb21tb24vbnVtYS5jICAgICAgfCA0MCArKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrDQo+ID4gIHhlbi9pbmNsdWRlL3hlbi9udW1hLmggfCAgMSArDQo+ID4g
IDMgZmlsZXMgY2hhbmdlZCwgNDEgaW5zZXJ0aW9ucygrKSwgNDAgZGVsZXRpb25zKC0pDQo+ID4N
Cj4gPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3NyYXQuYyBiL3hlbi9hcmNoL3g4Ni9zcmF0
LmMNCj4gPiBpbmRleCBkZDNhYTMwODQzLi5kY2ViYzdhZGVjIDEwMDY0NA0KPiA+IC0tLSBhL3hl
bi9hcmNoL3g4Ni9zcmF0LmMNCj4gPiArKysgYi94ZW4vYXJjaC94ODYvc3JhdC5jDQo+ID4gQEAg
LTMwOCw0NiArMzA4LDYgQEAgYWNwaV9udW1hX21lbW9yeV9hZmZpbml0eV9pbml0KGNvbnN0IHN0
cnVjdA0KPiBhY3BpX3NyYXRfbWVtX2FmZmluaXR5ICptYSkNCj4gPiAgCW51bV9ub2RlX21lbWJs
a3MrKzsNCj4gPiAgfQ0KPiA+DQo+ID4gLS8qIFNhbml0eSBjaGVjayB0byBjYXRjaCBtb3JlIGJh
ZCBTUkFUcyAodGhleSBhcmUgYW1hemluZ2x5IGNvbW1vbikuDQo+ID4gLSAgIE1ha2Ugc3VyZSB0
aGUgUFhNcyBjb3ZlciBhbGwgbWVtb3J5LiAqLw0KPiA+IC1zdGF0aWMgaW50IF9faW5pdCBub2Rl
c19jb3Zlcl9tZW1vcnkodm9pZCkNCj4gPiAtew0KPiA+IC0JaW50IGk7DQo+ID4gLQl1aW50MzJf
dCBucl9iYW5rcyA9IGFyY2hfbWVtaW5mb19nZXRfbnJfYmFuaygpOw0KPiA+IC0NCj4gPiAtCWZv
ciAoaSA9IDA7IGkgPCBucl9iYW5rczsgaSsrKSB7DQo+ID4gLQkJaW50IGosIGZvdW5kOw0KPiA+
IC0JCXVuc2lnbmVkIGxvbmcgbG9uZyBzdGFydCwgZW5kOw0KPiA+IC0NCj4gPiAtCQlpZiAoYXJj
aF9tZW1pbmZvX2dldF9yYW1fYmFua19yYW5nZShpLCAmc3RhcnQsICZlbmQpKSB7DQo+ID4gLQkJ
CWNvbnRpbnVlOw0KPiA+IC0JCX0NCj4gPiAtDQo+ID4gLQkJZG8gew0KPiA+IC0JCQlmb3VuZCA9
IDA7DQo+ID4gLQkJCWZvcl9lYWNoX25vZGVfbWFzayhqLCBtZW1vcnlfbm9kZXNfcGFyc2VkKQ0K
PiA+IC0JCQkJaWYgKHN0YXJ0IDwgbm9kZXNbal0uZW5kDQo+ID4gLQkJCQkgICAgJiYgZW5kID4g
bm9kZXNbal0uc3RhcnQpIHsNCj4gPiAtCQkJCQlpZiAoc3RhcnQgPj0gbm9kZXNbal0uc3RhcnQp
IHsNCj4gPiAtCQkJCQkJc3RhcnQgPSBub2Rlc1tqXS5lbmQ7DQo+ID4gLQkJCQkJCWZvdW5kID0g
MTsNCj4gPiAtCQkJCQl9DQo+ID4gLQkJCQkJaWYgKGVuZCA8PSBub2Rlc1tqXS5lbmQpIHsNCj4g
PiAtCQkJCQkJZW5kID0gbm9kZXNbal0uc3RhcnQ7DQo+ID4gLQkJCQkJCWZvdW5kID0gMTsNCj4g
PiAtCQkJCQl9DQo+ID4gLQkJCQl9DQo+ID4gLQkJfSB3aGlsZSAoZm91bmQgJiYgc3RhcnQgPCBl
bmQpOw0KPiA+IC0NCj4gPiAtCQlpZiAoc3RhcnQgPCBlbmQpIHsNCj4gPiAtCQkJcHJpbnRrKEtF
Uk5fRVJSICJTUkFUOiBObyBQWE0gZm9yIGU4MjAgcmFuZ2U6ICINCj4gPiAtCQkJCSIlMDE2THgg
LSAlMDE2THhcbiIsIHN0YXJ0LCBlbmQpOw0KPiA+IC0JCQlyZXR1cm4gMDsNCj4gPiAtCQl9DQo+
ID4gLQl9DQo+ID4gLQlyZXR1cm4gMTsNCj4gPiAtfQ0KPiA+IC0NCj4gPiAgdm9pZCBfX2luaXQg
YWNwaV9udW1hX2FyY2hfZml4dXAodm9pZCkge30NCj4gPg0KPiA+ICBzdGF0aWMgdWludDY0X3Qg
X19pbml0ZGF0YSBzcmF0X3JlZ2lvbl9tYXNrOw0KPiA+IGRpZmYgLS1naXQgYS94ZW4vY29tbW9u
L251bWEuYyBiL3hlbi9jb21tb24vbnVtYS5jDQo+ID4gaW5kZXggNzlhYjI1MDU0My4uNzQ5NjA4
ODVhNiAxMDA2NDQNCj4gPiAtLS0gYS94ZW4vY29tbW9uL251bWEuYw0KPiA+ICsrKyBiL3hlbi9j
b21tb24vbnVtYS5jDQo+ID4gQEAgLTE5Myw2ICsxOTMsNDYgQEAgdm9pZCBfX2luaXQgY3V0b2Zm
X25vZGUoaW50IGksIHU2NCBzdGFydCwgdTY0IGVuZCkNCj4gPiAgCX0NCj4gPiAgfQ0KPiA+DQo+
ID4gKy8qIFNhbml0eSBjaGVjayB0byBjYXRjaCBtb3JlIGJhZCBTUkFUcyAodGhleSBhcmUgYW1h
emluZ2x5IGNvbW1vbikuDQo+ID4gKyAgIE1ha2Ugc3VyZSB0aGUgUFhNcyBjb3ZlciBhbGwgbWVt
b3J5LiAqLw0KPiA+ICtpbnQgX19pbml0IG5vZGVzX2NvdmVyX21lbW9yeSh2b2lkKQ0KPiA+ICt7
DQo+ID4gKwlpbnQgaTsNCj4gPiArCXVpbnQzMl90IG5yX2JhbmtzID0gYXJjaF9tZW1pbmZvX2dl
dF9ucl9iYW5rKCk7DQo+ID4gKw0KPiA+ICsJZm9yIChpID0gMDsgaSA8IG5yX2JhbmtzOyBpKysp
IHsNCj4gPiArCQlpbnQgaiwgZm91bmQ7DQo+ID4gKwkJdW5zaWduZWQgbG9uZyBsb25nIHN0YXJ0
LCBlbmQ7DQo+ID4gKw0KPiA+ICsJCWlmIChhcmNoX21lbWluZm9fZ2V0X3JhbV9iYW5rX3Jhbmdl
KGksICZzdGFydCwgJmVuZCkpIHsNCj4gPiArCQkJY29udGludWU7DQo+ID4gKwkJfQ0KPiA+ICsN
Cj4gPiArCQlkbyB7DQo+ID4gKwkJCWZvdW5kID0gMDsNCj4gPiArCQkJZm9yX2VhY2hfbm9kZV9t
YXNrKGosIG1lbW9yeV9ub2Rlc19wYXJzZWQpDQo+ID4gKwkJCQlpZiAoc3RhcnQgPCBub2Rlc1tq
XS5lbmQNCj4gPiArCQkJCSAgICAmJiBlbmQgPiBub2Rlc1tqXS5zdGFydCkgew0KPiA+ICsJCQkJ
CWlmIChzdGFydCA+PSBub2Rlc1tqXS5zdGFydCkgew0KPiA+ICsJCQkJCQlzdGFydCA9IG5vZGVz
W2pdLmVuZDsNCj4gPiArCQkJCQkJZm91bmQgPSAxOw0KPiA+ICsJCQkJCX0NCj4gPiArCQkJCQlp
ZiAoZW5kIDw9IG5vZGVzW2pdLmVuZCkgew0KPiA+ICsJCQkJCQllbmQgPSBub2Rlc1tqXS5zdGFy
dDsNCj4gPiArCQkJCQkJZm91bmQgPSAxOw0KPiA+ICsJCQkJCX0NCj4gPiArCQkJCX0NCj4gPiAr
CQl9IHdoaWxlIChmb3VuZCAmJiBzdGFydCA8IGVuZCk7DQo+ID4gKw0KPiA+ICsJCWlmIChzdGFy
dCA8IGVuZCkgew0KPiA+ICsJCQlwcmludGsoS0VSTl9FUlIgIlNSQVQ6IE5vIFBYTSBmb3IgZTgy
MCByYW5nZTogIg0KPiA+ICsJCQkJIiUwMTZMeCAtICUwMTZMeFxuIiwgc3RhcnQsIGVuZCk7DQo+
IA0KPiBJIGRvbid0IGtub3cgaWYgeW91IGFyZSBhbHJlYWR5IGRvaW5nIHRoaXMgaW4gYSBsYXRl
ciBwYXRjaCBidXQgdGhlDQo+IG1lc3NhZ2Ugc2hvdWxkbid0IHNheSBlODIwIGFzIGl0IGRvZXNu
J3QgZXhpc3Qgb24gYWxsIGFyY2hpdGVjdHVyZS4NCj4gTWF5YmUgImZvciBhZGRyZXNzIHJhbmdl
IiBvciAiZm9yIG1lbW9yeSByYW5nZSIgd291bGQgc3VmZmljZS4NCj4gDQo+IE5vcm1hbGx5IHdl
IGRvbid0IGRvIGNoYW5nZSB0b2dldGhlciB3aXRoIGNvZGUgbW92ZW1lbnQgYnV0IGluIHRoaXMg
Y2FzZQ0KPiBJIHRoaW5rIGl0IHdvdWxkIGJlIE9LLg0KDQpPSywgSSB3aWxsIGRvIGl0IGluIG5l
eHQgdmVyc2lvbi4NCg==


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 13:44:10 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 13:44:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175765.320098 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL43e-0007uh-Fy; Tue, 31 Aug 2021 13:44:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175765.320098; Tue, 31 Aug 2021 13:44: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 1mL43e-0007uV-Bi; Tue, 31 Aug 2021 13:44:10 +0000
Received: by outflank-mailman (input) for mailman id 175765;
 Tue, 31 Aug 2021 13:44:08 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=06Zp=NW=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mL43c-0007om-Np
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 13:44:08 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com (unknown
 [2a01:111:f400:7d00::621])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ad64f4af-6298-46c9-9349-b59e7a867d39;
 Tue, 31 Aug 2021 13:44:06 +0000 (UTC)
Received: from AS9PR06CA0054.eurprd06.prod.outlook.com (2603:10a6:20b:463::14)
 by PAXPR08MB6799.eurprd08.prod.outlook.com (2603:10a6:102:13b::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.20; Tue, 31 Aug
 2021 13:44:04 +0000
Received: from VE1EUR03FT042.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:463:cafe::a2) by AS9PR06CA0054.outlook.office365.com
 (2603:10a6:20b:463::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.24 via Frontend
 Transport; Tue, 31 Aug 2021 13:44:03 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT042.mail.protection.outlook.com (10.152.19.62) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Tue, 31 Aug 2021 13:44:02 +0000
Received: ("Tessian outbound 56612e04f172:v103");
 Tue, 31 Aug 2021 13:43:59 +0000
Received: from 7338cbcdcc9b.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 D6501F1B-D52D-49E4-B5BD-F1C1C0248F5F.1; 
 Tue, 31 Aug 2021 13:43:49 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 7338cbcdcc9b.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 31 Aug 2021 13:43:49 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB9PR08MB6957.eurprd08.prod.outlook.com (2603:10a6:10:2bc::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.20; Tue, 31 Aug
 2021 13:43:48 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::2c28:50cf:49fd:da32]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::2c28:50cf:49fd:da32%7]) with mapi id 15.20.4457.024; Tue, 31 Aug 2021
 13: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>
X-Inumbo-ID: ad64f4af-6298-46c9-9349-b59e7a867d39
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Y0leoXdtt7Cfe38f6pquOEy6M9w12Ev4ld5FUMBC4SM=;
 b=AE41UtW2BCvAU6Y0RjxPf6iJxGGAAvLr7ztFQileZB8XvE8j5sENbRDKtGjGXV5rslmQcFQmGOtgvpbJukvwKXlbB5sB8W6wB7zJKbby+mQFARG384MoETk8dqKQhWA9/Pe5jq+ZV2cRSIEGJSrSvZaZ80vTcJGP9yPYa5fQOPU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IRWZPUNahqCWKPI0xL8jzkgxFcpBMt0/ar3aY/MoqjbAPV+hXItJ7gBF1bD3ekUDrzFWxsSizZyn5FVor08co+mx7cKnEFzq061HNWwCRS7gq+gQwOlufsl0oBtV+GjzGSfpCktNLXV/aIRtteFspTb0WN+mtIr3Ishw4v7J/ZtnG4p/qLNl6lo1u2Ira+2XmGwl8Gyh0W8FUY6DEJF/cWW2xa3e614Ch75z9dCWR640TVkt0yEtlToSg21hYCSknMG9w0LCay5tLTGnHLPfN/ZJEjdrFncGVp/yQQ0ix/riQayk0mZfCfWDrNkk51Pn94imRNuHVUczrxLYD896sg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Y0leoXdtt7Cfe38f6pquOEy6M9w12Ev4ld5FUMBC4SM=;
 b=lEwgm57GDpZ2Pi/P4B2pG9ZKWbU7ZbmKashKTaCAgXyUnOpYohBNpg3VY89n1UJ9H+8INABHCvm0Hq3mVax/qg6zp2lSLN0fLyUmJEiATTmUyZDcguIuVCeG99ExIatuIz3AD438CrjaB+1TL3gv7/7nWQ8G4kql/eDCAT8jBZ6ngpDbGcpLHPZrM7uJ+ViCfafZW0xFkN5WXx91X3YzY1plVAUfALFXqST/gZlmO9CVECNiA6yM9uwImZHZvp4ZjhR1+zTtwbQdwb5JKzkXmH4zDSLUXVSx9OUvWpa/DZN4GwXRZbc1afXUAEiU7Md27+IQxBO/XDxGWq0JPXvnfw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Y0leoXdtt7Cfe38f6pquOEy6M9w12Ev4ld5FUMBC4SM=;
 b=AE41UtW2BCvAU6Y0RjxPf6iJxGGAAvLr7ztFQileZB8XvE8j5sENbRDKtGjGXV5rslmQcFQmGOtgvpbJukvwKXlbB5sB8W6wB7zJKbby+mQFARG384MoETk8dqKQhWA9/Pe5jq+ZV2cRSIEGJSrSvZaZ80vTcJGP9yPYa5fQOPU=
From: Wei Chen <Wei.Chen@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"julien@xen.org" <julien@xen.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 38/40] xen/arm: enable device tree based NUMA in
 system init
Thread-Topic: [XEN RFC PATCH 38/40] xen/arm: enable device tree based NUMA in
 system init
Thread-Index: AQHXjptQCVAwokAljU6uEdAOvxt6uKuM9/MAgADAnZA=
Date: Tue, 31 Aug 2021 13:43:48 +0000
Message-ID:
 <DB9PR08MB6857F983ECA9D783C37B920E9ECC9@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-39-wei.chen@arm.com>
 <alpine.DEB.2.21.2108301848140.17851@sstabellini-ThinkPad-T480s>
In-Reply-To: <alpine.DEB.2.21.2108301848140.17851@sstabellini-ThinkPad-T480s>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: EFEE00173B0DE94C9A48D878433B7A16.0
x-checkrecipientchecked: true
Authentication-Results-Original: kernel.org; dkim=none (message not signed)
 header.d=none;kernel.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 03869209-ee1b-4bc0-b20c-08d96c8564f0
x-ms-traffictypediagnostic: DB9PR08MB6957:|PAXPR08MB6799:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<PAXPR08MB6799C5EB2EB2C603217EE9A79ECC9@PAXPR08MB6799.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:8273;OLM:8273;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 zyx8S9zeDFJZclpoR8tDKjsOaLwY8acN2lU/TcuGDgP+Vmm+Q+mvjLQuZmMmG8/oYM2hLdT8BYrc0b1RCSVyoU9WlYqznz17DvoHbiFz4ghmN1xqQ/MMUOgNBmGQEfbkxgk3qK0BwMYA5fwR8NvEFe5hYm/lD0TMFIIIYG518XRNYr0C8qYR/62vAlycJriRdaLlrxA84ETWqrojLvcuaHH1mbE/1BjFHlja8WHy/zR3KvDe95awaKN1p4S8mCPr/54ESgKRfcHPvongPvw0lyG4bJEP2iVwbNA6e4080MC49vfxJwfQi2ESNM55zMvSCfDcdtKZutEgT4OgN91isoTqMI+8SmbJkafr5Z/inJe1ECagPQuFABW8Ym/iqxtGsLlIQeGCEGsHV2qD0Dg4jar4bSnzd3g4SIw/aBmua5tM9NPHOYWEPa/I3sOsfXaAGgPinaHcCs9rRgducmuQRUiRpuraiObx1w/QwJtsuIvdKHMCMJnfFRl2JAx6ujo9hzMwSVI5p1LEZs6149wulLOvLgC7SAwDc9DoLoXrTb5KLKJRM5z37RN5alm4xfBt8j96SlZc2uRk8WIKpkPZvmebFTEoAF8YNEdxJvsjeRalCPV9ZGKk+Gzh5DIRs6kzpOW9TfrA4WAuAdhwV+0W7EOe5SBlW+L6tPOxXC4U4PUQYslSScNpVAl4q2ZY8pA4on8N0zJHeZQpphVcTBq+Iw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(136003)(39850400004)(376002)(366004)(396003)(346002)(53546011)(2906002)(4326008)(6506007)(9686003)(71200400001)(55016002)(8936002)(38070700005)(66556008)(66446008)(26005)(66476007)(64756008)(76116006)(7696005)(186003)(122000001)(316002)(478600001)(6916009)(83380400001)(86362001)(33656002)(66946007)(54906003)(8676002)(38100700002)(5660300002)(52536014);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?gb2312?B?SktnWmw4Y3VnMW83ZGFLQURWaXlZMU1IaUFWNnc2SnpuZW1PYk1sTW9lT20w?=
 =?gb2312?B?MEdWZDc1QXFyb21qYW1hOWFrbHNCS3dZRHhKWTNyMWdKdlJneW5JL29BYUZI?=
 =?gb2312?B?RGdjVjdyaVRES01YMkRKUXlURHQ4RDN6Tmh5S1FHcjE1eGozVThEWXVxOXNq?=
 =?gb2312?B?YXlGTlZSQU83WVZkb2xmWU1DeFdEcnZ5NU5iZUdBY0VyOVdWR00yc2xIYWd6?=
 =?gb2312?B?UGU2N2h3ci9kbjF4TitORGZXcUc5NzlwN2U0aHBRcEVJY2YyZjQ0cTVCeXZG?=
 =?gb2312?B?dGlmSmtxWWtzOE4xV25jRGlEa1RHR3RFTUFPVW1LRHNVeXBXbkJVNnNVWDA4?=
 =?gb2312?B?Q3NxVXBQcEpLTzdmSkZRUXczVVZZUys2c3pMUVgrNnE5ZnlWbXlVc3dOSldz?=
 =?gb2312?B?NG1oZG5TUDdncEExMG9ma1BtcmF3ZXlKOFBDZ3JBdHM5ZGlndFRxQzE4czUw?=
 =?gb2312?B?ZzdJMWpTNWlXTWxHRGJNNngrcnVBcHJXbjFsWW5UTHJKUkIxOFRPVUw0QXNG?=
 =?gb2312?B?bnRlVjcxbnZuZzRMdzd1cWVqMGFnN1Yrci85TkxBRldsYm9BVy9KeUhjK1Zw?=
 =?gb2312?B?YXBIOG53aEpQeHFQUVV2aXg4Rk5lRjhDbHJ4bmp5SUdkYkp3end3c1dvSzVx?=
 =?gb2312?B?T0RxTTJXNmhkZG5WT3NkajFmaFQ1WTN5RU1FSGZHNitFbWNyazRmN3Vad0Jj?=
 =?gb2312?B?UmFnRHhKM0V0UG9kMSt3a3NRMFB4T0tDUUhDOU5iMkFyeUlqczRTWjVDUzFO?=
 =?gb2312?B?a0thR1VDT1l5U2k2Z2dENGJqcUxFaS9sbE9lZEVyVlhlT1pVNHk2V3hGdFFk?=
 =?gb2312?B?c1pKd1BBNFo1Zk82L3ZkTGdxSjhBcVBteGRtSFRFYWZvTnVGd0RCMEtWamNi?=
 =?gb2312?B?NGc3NHhSRTF0KzFXd2svRFRMcmNmN21DRXNjNzNWVk4wSC9iR0xZOW1mTXFu?=
 =?gb2312?B?Z3I4eDVkRFV5cVZPYWpiOGhYNXJvVXVmQ2d2VXl5ZEFnaWgxSURmZDZ0N1Zo?=
 =?gb2312?B?dzJsT2JMVlo4T1laNkp5MFNPTThmVWNFZWQxZUdwYkFwTHQ4UTI0OUtIMzRP?=
 =?gb2312?B?K01qMnM5UVpDc0ZZYlRIQWNYSzNWOWcyRjBIK3RMSkJuSE1HMnNZbzFtaDNK?=
 =?gb2312?B?T0h1U1ZyK1I0c3lMTjNUTzlnem9NbGNkZ09LV0QvcHVsRXVBb09nZnVZUE9p?=
 =?gb2312?B?OEcrcmpTWkszSEYvMzYyZ29uMC9HZGpsWERnck4yU1RabmNDNlBTU2RuK1JR?=
 =?gb2312?B?T1I3K1JrQmpmYTNpcU9DMi9Ba3RINStFMFVOTFQwVmpOR09Yb1oyZ00rZjdQ?=
 =?gb2312?B?VjZSa0JFb0F0M2ZjaE1wcjVqOFU2VldWRlkzeXE1Y2REYktHUHBuQmpmV0xy?=
 =?gb2312?B?ZkNwbCtIcTErMkptY0VnNjZsbTVOcW1ycGRIV20yUU4vL3FlaDFLeEhpSXRN?=
 =?gb2312?B?eXkxU0E1ZThCcHRnUC9RNTA4UWpqU2pnUmxiaGVzUHdaMm9KangwVkszZ0gx?=
 =?gb2312?B?WE9rcXhVNG9QdTVJOGgxRkpEOU11VDF3dHpyRFBBaW5qTkl1dXJFL24zMmtG?=
 =?gb2312?B?YVJkeXBBVW9GT0UyOWl2bkNlM3FQY1U2MDVPcm5sRGMweW9GREJkTG1jSlZX?=
 =?gb2312?B?TDVDNk4wQi9Tdm8xSU1RQk9aRUhhNTVXbjAzRVhHbTh5dExLd2lEZWVyTHhE?=
 =?gb2312?B?ZWFSWGQ2Nzd1dXF0a1BWNGw1TGZoUExZdCtWMmJyRHNBdFhkRGJnSUdPYnhu?=
 =?gb2312?Q?EmwATzlQJemP+OwuHfhfUwQbTenkB20HBIo2RGm?=
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6957
Original-Authentication-Results: kernel.org; dkim=none (message not signed)
 header.d=none;kernel.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT042.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	aa51f54c-1a0b-43b1-26f8-08d96c855c63
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Rh7gt3lIJRCO5QE7iJZBQSUt6YvOyMsVli2JkCHYV8O1M6h+w9JBXnIuj8dsAzeRo/ZnB9Ob+OenTKNMzKQD1D/oxAYWsauggVdjjrqSqHJfOEiX701gz/Z2Mew7AlL+AJ+0TPr8t3eZjWPUs1b/oTMn5ulMz17YXdx7Q77qSgt6oWNQuINUwp4zXs8FIES+oXoAbRTnDURh46+cR7GLFf94ZnTHbIXaEGtTsM0Sdm7L4r/lDaGzRUjjHEgcLNSQdBDIJbiY6cW4ZGbLPgm/fMdw7eOY/ipcaOYPjCIIlOjjcDv1FdVB5mUP+Lv+hopT7Ce4YFyU+7d+w7+rJZFrqNdTWVYW3jTmi3e5UufIZyo18NVMv7Ogct+OOcud2HaUVeDwEhTvHZ4a+ov/dtDJL/mBO2UbENv4OO/Jl1hjoaX0F41DMQ33uJ9/CZj8pf7Oy4iStf3p4J9GCcba6oQoWgVQ4HsPOmfrQ6QtVoMEFK5aVlJgZAFx1ne4xkBoA5K6ruOT57PP8v9ibiVXN5MgUSL1A8FL3XEPja1j+PJI/u1q+aWSUvVtWUi8zsnwt4HWPG70ipxWxs5f2UGShBR28aj3s3cegenAu2ymkBCbP+/Yskn8WwN/wxzs0/KCcxJvSU+o8mtwmH18K42TBOHKUVC4KeaDlMe6T1p1V/mcbIH2aaudQs+CQrBztOoXSfJIyL79wJZRcL8Ybuz+yaQMlA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(39850400004)(346002)(136003)(376002)(396003)(46966006)(36840700001)(8936002)(53546011)(47076005)(9686003)(82310400003)(86362001)(36860700001)(33656002)(5660300002)(83380400001)(70206006)(2906002)(81166007)(4326008)(55016002)(26005)(186003)(478600001)(70586007)(336012)(8676002)(356005)(6862004)(82740400003)(7696005)(52536014)(6506007)(316002)(54906003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2021 13:44:02.8162
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 03869209-ee1b-4bc0-b20c-08d96c8564f0
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT042.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6799

SGkgU3RlZmFubywNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBTdGVm
YW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+DQo+IFNlbnQ6IDIwMjHE6jjU
wjMxyNUgOTo1MQ0KPiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiB4ZW4t
ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmc7IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc7IGp1bGll
bkB4ZW4ub3JnOw0KPiBqYmV1bGljaEBzdXNlLmNvbTsgQmVydHJhbmQgTWFycXVpcyA8QmVydHJh
bmQuTWFycXVpc0Bhcm0uY29tPg0KPiBTdWJqZWN0OiBSZTogW1hFTiBSRkMgUEFUQ0ggMzgvNDBd
IHhlbi9hcm06IGVuYWJsZSBkZXZpY2UgdHJlZSBiYXNlZCBOVU1BDQo+IGluIHN5c3RlbSBpbml0
DQo+IA0KPiBPbiBXZWQsIDExIEF1ZyAyMDIxLCBXZWkgQ2hlbiB3cm90ZToNCj4gPiBFdmVyeXRo
aW5nIGlzIHJlYWR5LCB3ZSBjYW4gcmVtb3ZlIHRoZSBmYWtlIE5VTUEgbm9kZSBhbmQNCj4gPiBk
ZXBlbmRzIG9uIGRldmljZSB0cmVlIHRvIGNyZWF0ZSBOVU1BIHN5c3RlbS4NCj4gPg0KPiA+IFNp
Z25lZC1vZmYtYnk6IFdlaSBDaGVuIDx3ZWkuY2hlbkBhcm0uY29tPg0KPiA+IC0tLQ0KPiA+ICB4
ZW4vYXJjaC9hcm0vbnVtYS5jICAgICAgICB8IDQ1ICsrKysrKysrKysrKysrKysrKysrKystLS0t
LS0tLS0tLS0tLS0tDQo+ID4gIHhlbi9pbmNsdWRlL2FzbS1hcm0vbnVtYS5oIHwgIDcgLS0tLS0t
DQo+ID4gIDIgZmlsZXMgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKSwgMjYgZGVsZXRpb25zKC0p
DQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL251bWEuYyBiL3hlbi9hcmNoL2Fy
bS9udW1hLmMNCj4gPiBpbmRleCAyYTE4Yzk3NDcwLi4zYjA0MjIwZTYwIDEwMDY0NA0KPiA+IC0t
LSBhL3hlbi9hcmNoL2FybS9udW1hLmMNCj4gPiArKysgYi94ZW4vYXJjaC9hcm0vbnVtYS5jDQo+
ID4gQEAgLTE4LDYgKzE4LDcgQEANCj4gPiAgICoNCj4gPiAgICovDQo+ID4gICNpbmNsdWRlIDx4
ZW4vaW5pdC5oPg0KPiA+ICsjaW5jbHVkZSA8eGVuL2RldmljZV90cmVlLmg+DQo+ID4gICNpbmNs
dWRlIDx4ZW4vbm9kZW1hc2suaD4NCj4gPiAgI2luY2x1ZGUgPHhlbi9udW1hLmg+DQo+ID4gICNp
bmNsdWRlIDx4ZW4vcGZuLmg+DQo+ID4gQEAgLTgzLDI4ICs4NCwzNCBAQCB2b2lkIF9faW5pdCBu
dW1hX2luaXQoYm9vbCBhY3BpX29mZikNCj4gPiAgICAgIHBhZGRyX3QgcmFtX3NpemUgPSAwOw0K
PiA+ICAgICAgcGFkZHJfdCByYW1fZW5kID0gMDsNCj4gPg0KPiA+IC0gICAgcHJpbnRrKFhFTkxP
R19XQVJOSU5HDQo+ID4gLSAgICAgICAgIk5VTUEgaGFzIG5vdCBiZWVuIHN1cHBvcnRlZCB5ZXQs
IE5VTUEgb2ZmIVxuIik7DQo+ID4gLSAgICAvKiBBcm0gTlVNQSBoYXMgbm90IGJlZW4gaW1wbGVt
ZW50ZWQgdW50aWwgdGhpcyBwYXRjaCAqLw0KPiA+IC0gICAgbnVtYV9vZmYgPSB0cnVlOw0KPiA+
ICsgICAgLyogTlVNQSBoYXMgYmVlbiB0dXJuZWQgb2ZmIHRocm91Z2ggWGVuIHBhcmFtZXRlcnMg
Ki8NCj4gPiArICAgIGlmICggbnVtYV9vZmYgKQ0KPiA+ICsgICAgICAgIGdvdG8gbWVtX2luaXQ7
DQo+ID4NCj4gPiAtICAgIC8qDQo+ID4gLSAgICAgKiBTZXQgYWxsIGNwdV90b19ub2RlIG1hcHBp
bmcgdG8gMCwgdGhpcyB3aWxsIG1ha2UgY3B1X3RvX25vZGUNCj4gPiAtICAgICAqIGZ1bmN0aW9u
IHJldHVybiAwIGFzIHByZXZpb3VzIGZha2UgY3B1X3RvX25vZGUgQVBJLg0KPiA+IC0gICAgICov
DQo+ID4gLSAgICBmb3IgKCBpZHggPSAwOyBpZHggPCBOUl9DUFVTOyBpZHgrKyApDQo+ID4gLSAg
ICAgICAgY3B1X3RvX25vZGVbaWR4XSA9IDA7DQo+ID4gLQ0KPiA+IC0gICAgLyoNCj4gPiAtICAg
ICAqIE1ha2Ugbm9kZV90b19jcHVtYXNrLCBub2RlX3NwYW5uZWRfcGFnZXMgYW5kIG5vZGVfc3Rh
cnRfcGZuDQo+ID4gLSAgICAgKiByZXR1cm4gYXMgcHJldmlvdXMgZmFrZSBBUElzLg0KPiA+IC0g
ICAgICovDQo+ID4gLSAgICBmb3IgKCBpZHggPSAwOyBpZHggPCBNQVhfTlVNTk9ERVM7IGlkeCsr
ICkgew0KPiA+IC0gICAgICAgIG5vZGVfdG9fY3B1bWFza1tpZHhdID0gY3B1X29ubGluZV9tYXA7
DQo+ID4gLSAgICAgICAgbm9kZV9zcGFubmVkX3BhZ2VzKGlkeCkgPSAobWF4X3BhZ2UgLSBtZm5f
eChmaXJzdF92YWxpZF9tZm4pKTsNCj4gPiAtICAgICAgICBub2RlX3N0YXJ0X3BmbihpZHgpID0g
KG1mbl94KGZpcnN0X3ZhbGlkX21mbikpOw0KPiA+ICsgICAgLyogSW5pdGlhbGl6ZSBOVU1BIGZy
b20gZGV2aWNlIHRyZWUgd2hlbiBzeXN0ZW0gaXMgbm90IEFDUEkgYm9vdGVkDQo+ICovDQo+ID4g
KyAgICBpZiAoIGFjcGlfb2ZmICkNCj4gPiArICAgIHsNCj4gPiArI2lmZGVmIENPTkZJR19ERVZJ
Q0VfVFJFRV9OVU1BDQo+ID4gKyAgICAgICAgaW50IHJldCA9IG51bWFfZGV2aWNlX3RyZWVfaW5p
dChkZXZpY2VfdHJlZV9mbGF0dGVuZWQpOw0KPiA+ICsgICAgICAgIGlmICggIXJldCApDQo+ID4g
KyAgICAgICAgICAgIGdvdG8gbWVtX2luaXQ7DQo+ID4gKyAgICAgICAgcHJpbnRrKFhFTkxPR19X
QVJOSU5HDQo+ID4gKyAgICAgICAgICAgICAgICJJbml0IE5VTUEgZnJvbSBkZXZpY2UgdHJlZSBm
YWlsZWQsIHJldD0lZFxuIiwgcmV0KTsNCj4gPiArI2Vsc2UNCj4gPiArICAgICAgICBwcmludGso
WEVOTE9HX1dBUk5JTkcNCj4gPiArICAgICAgICAgICAgICAgIkNPTkZJR19ERVZJQ0VfVFJFRV9O
VU1BIGlzIG5vdCBzZXQsIE5VTUEgb2ZmIVxuIik7DQo+IA0KPiBJIGRvbid0IHRoaW5rIHdlIHdh
bnQgdG8gc2VlIHRoaXMgd2FybmluZyBldmVyeSB0aW1lIGF0IGJvb3Qgd2hlbg0KPiBDT05GSUdf
REVWSUNFX1RSRUVfTlVNQSBpcyBvZmYuIEknZCBzZXQgaXQgdG8gWEVOTE9HX0RFQlVHIG9yIHJl
bW92ZSBpdC4NCj4gDQoNCk9LDQoNCj4gQWxzbyBnaXZlbiB0aGF0IHdlIGhhdmUgbWFueSBzdHVi
IGZ1bmN0aW9ucyBpbg0KPiB4ZW4vaW5jbHVkZS9hc20tYXJtL251bWEuaCBhbHJlYWR5LCBtYXli
ZSB3ZSBjb3VsZCBhbHNvIGhhdmUgYSBzdHViDQo+IGZ1bmN0aW9uIGZvciBudW1hX2RldmljZV90
cmVlX2luaXQgc28gdGhhdCB3ZSB3b24nZCBuZWVkIGFuICNpZmRlZg0KPiBDT05GSUdfREVWSUNF
X1RSRUVfTlVNQSBoZXJlLg0KPiANCg0KWWVzLCBpdCdzIGEgZ29vZCBpZGVhLiBJIHdpbGwgZG8g
aXQuDQoNCj4gDQo+ID4gKyNlbmRpZg0KPiA+ICsgICAgICAgIG51bWFfb2ZmID0gdHJ1ZTsNCj4g
PiArICAgIH0NCj4gPiArICAgIGVsc2UNCj4gPiArICAgIHsNCj4gPiArICAgICAgICAvKiBXZSBk
b24ndCBzdXBwb3J0IE5VTUEgZm9yIEFDUEkgYm9vdCBjdXJyZW50bHkgKi8NCj4gPiArICAgICAg
ICBwcmludGsoWEVOTE9HX1dBUk5JTkcNCj4gPiArICAgICAgICAgICAgICAgIkFDUEkgTlVNQSBo
YXMgbm90IGJlZW4gc3VwcG9ydGVkIHlldCwgTlVNQSBvZmYhXG4iKTsNCj4gPiArICAgICAgICBu
dW1hX29mZiA9IHRydWU7DQo+ID4gICAgICB9DQo+ID4NCj4gPiArbWVtX2luaXQ6DQo+ID4gICAg
ICAvKg0KPiA+ICAgICAgICogRmluZCB0aGUgbWluaW1hbCBhbmQgbWF4aW11bSBhZGRyZXNzIG9m
IFJBTSwgTlVNQSB3aWxsDQo+ID4gICAgICAgKiBidWlsZCBhIG1lbW9yeSB0byBub2RlIG1hcHBp
bmcgdGFibGUgZm9yIHRoZSB3aG9sZSByYW5nZS4NCj4gPiBkaWZmIC0tZ2l0IGEveGVuL2luY2x1
ZGUvYXNtLWFybS9udW1hLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL251bWEuaA0KPiA+IGluZGV4
IGEzOTgyYTk0YjYuLjQyNWViOWFlZGUgMTAwNjQ0DQo+ID4gLS0tIGEveGVuL2luY2x1ZGUvYXNt
LWFybS9udW1hLmgNCj4gPiArKysgYi94ZW4vaW5jbHVkZS9hc20tYXJtL251bWEuaA0KPiA+IEBA
IC0zMCwxMyArMzAsNiBAQCBleHRlcm4gaW50IG51bWFfZGV2aWNlX3RyZWVfaW5pdChjb25zdCB2
b2lkICpmZHQpOw0KPiA+ICBleHRlcm4gdm9pZCBudW1hX3NldF9kaXN0YW5jZShub2RlaWRfdCBm
cm9tLCBub2RlaWRfdCB0bywgdWludDMyX3QNCj4gZGlzdGFuY2UpOw0KPiA+ICBleHRlcm4gdm9p
ZCBhcmNoX251bWFfaW5pdF9mYWlsZWRfZmFsbGJhY2sodm9pZCk7DQo+ID4NCj4gPiAtLyoNCj4g
PiAtICogVGVtcG9yYXJ5IGZvciBmYWtlIE5VTUEgbm9kZSwgd2hlbiBDUFUsIG1lbW9yeSBhbmQg
ZGlzdGFuY2UNCj4gPiAtICogbWF0cml4IHdpbGwgYmUgcmVhZCBmcm9tIERUQiBvciBBQ1BJIFNS
QVQuIFRoZSBmb2xsb3dpbmcNCj4gPiAtICogc3ltYm9scyB3aWxsIGJlIHJlbW92ZWQuDQo+ID4g
LSAqLw0KPiA+IC1leHRlcm4gbWZuX3QgZmlyc3RfdmFsaWRfbWZuOw0KPiA+IC0NCj4gPiAgI2Vs
c2UNCj4gPg0KPiA+ICAvKiBGYWtlIG9uZSBub2RlIGZvciBub3cuIFNlZSBhbHNvIG5vZGVfb25s
aW5lX21hcC4gKi8NCj4gPiAtLQ0KPiA+IDIuMjUuMQ0KPiA+DQo=


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 13:44:15 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 13:44:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175768.320109 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL43j-0008Js-PU; Tue, 31 Aug 2021 13:44:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175768.320109; Tue, 31 Aug 2021 13: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 1mL43j-0008Ji-Ly; Tue, 31 Aug 2021 13:44:15 +0000
Received: by outflank-mailman (input) for mailman id 175768;
 Tue, 31 Aug 2021 13:44:14 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=06Zp=NW=arm.com=Wei.Chen@srs-us1.protection.inumbo.net>)
 id 1mL43i-0008IS-1G
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 13:44:14 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com (unknown
 [40.107.7.75]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 3423c8e1-37b6-4885-870a-bf8d8e9f100c;
 Tue, 31 Aug 2021 13:44:12 +0000 (UTC)
Received: from PR0P264CA0148.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1b::16)
 by AM4PR0802MB2178.eurprd08.prod.outlook.com (2603:10a6:200:5a::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23; Tue, 31 Aug
 2021 13:44:10 +0000
Received: from VE1EUR03FT026.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:100:1b:cafe::ae) by PR0P264CA0148.outlook.office365.com
 (2603:10a6:100:1b::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.18 via Frontend
 Transport; Tue, 31 Aug 2021 13:44:10 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT026.mail.protection.outlook.com (10.152.18.148) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Tue, 31 Aug 2021 13:44:09 +0000
Received: ("Tessian outbound f11f34576ce3:v103");
 Tue, 31 Aug 2021 13:44:08 +0000
Received: from 75c49e412a17.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 5BD1E456-6538-460A-9CCA-A217897E0247.1; 
 Tue, 31 Aug 2021 13:44:02 +0000
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 75c49e412a17.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 31 Aug 2021 13:44:02 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com (2603:10a6:10:2a2::7)
 by DB8PR08MB5337.eurprd08.prod.outlook.com (2603:10a6:10:11e::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23; Tue, 31 Aug
 2021 13:44:01 +0000
Received: from DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::2c28:50cf:49fd:da32]) by DB9PR08MB6857.eurprd08.prod.outlook.com
 ([fe80::2c28:50cf:49fd:da32%7]) with mapi id 15.20.4457.024; Tue, 31 Aug 2021
 13:44: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: 3423c8e1-37b6-4885-870a-bf8d8e9f100c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KAb7vEZQADkHgIoesvFIBFZlYv5WAe5H1iBu4IqQCYA=;
 b=QDgTZX8uAlB30/r1OnIhObg8GOb0vixFCN4yX6gfijiRh/k+GmICUhYGQ2Uos0AlZiK5E24yuk+BpgwmC02ej+HlkXMSuS6em0BltabREavhdgAss4GC2KLYssmn4OKYBSAycHEUvcOj9Whdd4MR2voL1fVjapkBdJHPYn0wLRQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fByrg1QmjyrREVx5DIbgLyyua3NDWthQF+6y8CDnBDWE6YhNOHH2GhjtNLsVvYQttr8zhqFLCBznHoCw5GFht64A59PXaf/vxDgLSNybEPjenaLgjvNlbPIQSqChSj9txEamaQMQUgdZiggnfhyWtGTfmJa1Ela4Sfmqq3Gh8Nti6ZJ4lqX4wr2TOgMCW0z5qFzD+qcrmuCEEB11xsWLv5fbKbhCpjmlhMfuD5Xh4Etosy/uthM0tx0e1G7m5q279LAvgkEy6H0Y9FNj8Fl5H5N+zlqXZU698jIUGhMjZvOjq4C3KGidG19LBg+ZioX0hBTJusDqngsRDfuv1JB0Sw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KAb7vEZQADkHgIoesvFIBFZlYv5WAe5H1iBu4IqQCYA=;
 b=nKdQmrS1Tnz4JdKskZcjzFMLGlQtLoCyHNpkfwHgnOnnU849G8y//JvpktqNxlbOg8h5WUjRm9sEjDc5m696rliM+hvD55z0iVuJGICQb2JoVmQLUIUfc76bTBSegs0YIpQKJSDvyoUECAXdRumIWNugfOts6cDzxzti2gJt1zNWHuwakzKu3dfxSuNcPGBrxAjt0Y5Nxr5/s/HownjyrJlLmmNH4WWUq5hQhwrvIsUbFb5P9v8RQwyLl9Jwhve8exoc+CJfQFq+3h4RKcGmd7fmJyHgph52mzlZISbTCCUYzn7J8CpxN+uptdb8jMOZC1L5OOu4CUWK00t/XERAqg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KAb7vEZQADkHgIoesvFIBFZlYv5WAe5H1iBu4IqQCYA=;
 b=QDgTZX8uAlB30/r1OnIhObg8GOb0vixFCN4yX6gfijiRh/k+GmICUhYGQ2Uos0AlZiK5E24yuk+BpgwmC02ej+HlkXMSuS6em0BltabREavhdgAss4GC2KLYssmn4OKYBSAycHEUvcOj9Whdd4MR2voL1fVjapkBdJHPYn0wLRQ=
From: Wei Chen <Wei.Chen@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"julien@xen.org" <julien@xen.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 39/40] xen/x86: move numa_setup to common to
 support NUMA switch in command line
Thread-Topic: [XEN RFC PATCH 39/40] xen/x86: move numa_setup to common to
 support NUMA switch in command line
Thread-Index: AQHXjptVFJvPelB8mUqFa8hfwTS7pauM+LqAgADCsPA=
Date: Tue, 31 Aug 2021 13:44:00 +0000
Message-ID:
 <DB9PR08MB6857A867F19FA0AAD62B93169ECC9@DB9PR08MB6857.eurprd08.prod.outlook.com>
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-40-wei.chen@arm.com>
 <alpine.DEB.2.21.2108301852380.17851@sstabellini-ThinkPad-T480s>
In-Reply-To: <alpine.DEB.2.21.2108301852380.17851@sstabellini-ThinkPad-T480s>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 1E8F73CEF9BC4C4AB63E95693C926DA2.0
x-checkrecipientchecked: true
Authentication-Results-Original: kernel.org; dkim=none (message not signed)
 header.d=none;kernel.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 46010cff-6494-47d3-5008-08d96c8568dd
x-ms-traffictypediagnostic: DB8PR08MB5337:|AM4PR0802MB2178:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS:
	<AM4PR0802MB21785B4AEA725E2B348CD4569ECC9@AM4PR0802MB2178.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:4303;OLM:4303;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 Dp4UsTZHf2UA/1qiCZpg8fcbtc3FLLl4y+YsMYWghbFJyltSPLEZs9wDL6Rds3pGrg79XfbSq3rI3hrGXuIlG4hpoE37E4SpQMALuscc2A26Ur+kO1NAoaMpqSJLiwFPT2PgkyUbUe6ONeMCIaxm/fQPrX+rE3zCw87Mm8zS3JoWVSb6oeSczt28ynEMGGIL87OaDA2x2JyO32tqkZS+cbcc30pc5deG6vDFXHBxJFmSTfgEv182xtx1QmOEMttWOdw5RGsB6Sgj245nXZOFMxo3g7PpXFt9VF0LLuBsAZOcABz4vMRB9cBU4Xy5KvXwp6DsFMeFfsDjv3ixRP/JpA8Vv8uB3+qZ5IpFX2RaJ+qRKujUuBG42jrwOUXpAB2cLvq+LF2LhnHpv9+C6tUV4OoVAJ1/2NfRrDomImqCwIo3XPBwr1nYyLUwbJsCoGZD6+l7vZawRTGP39oisvX4BZdVpAPaOxUCh91VKCegcoPMN96MkD8uYY8A+C32BV1LUaU6VJ7cr0RWu7dV35cWLUDWlqwQpK7Cf0Y/XniUWAfS1UbotWkGxjDv9pbFqFBYBr1Uty6jet8Y12Et/DTBr/nJzlT1idz9SKngz+L92J3AKrBMUyWcSv08KOFzWsD76SqIy94KguJV7CeJhaQ8maxFTBPpCJcE5B7XWBNZvEQKfT/QcdG/m4Uz4m9dAKY6YCso0CzUWyHrLlSR+0puhw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6857.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(346002)(376002)(39850400004)(366004)(136003)(396003)(86362001)(4326008)(5660300002)(54906003)(66446008)(53546011)(66946007)(7696005)(38100700002)(66476007)(33656002)(71200400001)(66556008)(76116006)(64756008)(26005)(55016002)(8936002)(9686003)(8676002)(6506007)(186003)(6916009)(478600001)(52536014)(2906002)(122000001)(316002)(83380400001)(38070700005);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?gb2312?B?WEFrcWVWTlV3M1cvS0toVGtDNEJ6TWFwZzNuOHlSYnI1bWZLMHo3Ui9yV3M2?=
 =?gb2312?B?bFlmMzdjVGpYellNU3h1YlNOMm0wc0ovU2pyNy9tenNVTWJTNXliRTlVVHVh?=
 =?gb2312?B?YnpSYmI1bnQ0ZGVpTHU3Ny9xQk9MRFZodUFNYkFEOEtiendjMzhWTkdwZis1?=
 =?gb2312?B?QkhRZXJFRzkvWVB1eEZGeUhzOFZVdXRQR3VwNEFnZjRzby9MZVByU0lIS0FY?=
 =?gb2312?B?ZUtPZTFxREsrQTZvMHRsNm5WZUlIWGFnN3R6bWRNRVRYWXhadjdna1Bad3Vv?=
 =?gb2312?B?ZlQzNkFPeTczQ3FDTDdoNDJRZGlHQUZXZU1RTUc1bGg1czBCRUhFN0k4cldQ?=
 =?gb2312?B?VklWdG10eDFid1RBejJDNjRORnExdHVMbnh2Y2Z3RG1YVTdyemp4Q0hITFJ2?=
 =?gb2312?B?ODFaaHhJSzJGMUEyM2NQMnR0cjBzeFQ0VWRJUkMzNXUxVXdZc0YxMlVoSUd1?=
 =?gb2312?B?bDVGTWVLZDZuaTk4TFRiTkJXcTBqN0llOWw1ZncyV1JuV3lQc25jMThkT3dw?=
 =?gb2312?B?MGxWWTJ2czNWT2o5dWNVTldldUNIVWxMS2RRSXNTRlQvQ3IrVjZ5cVpmS0g3?=
 =?gb2312?B?RUdWUDE5Z3R0ZlQ4TElNTDRYK1ZuZnV6Z2J0QUszWnhsbE81UWZqSXRwSitS?=
 =?gb2312?B?bS9BRVpFZFlEVFhoVUNOS1M0eXFuS2ZqQ2ZialhhdWhKTkljd2FxK1VHTWM3?=
 =?gb2312?B?VE1WcUVySnhsTWZhZkFyUGw4bTdIb2hNSyt2OW1WbkpzRmR2amNhNGhwRXB2?=
 =?gb2312?B?K0cwUktnT04zeE93QUJyRFI2bWxtS2s3cGh5YjJWOTFiMVBxTHVUVFVaNEpP?=
 =?gb2312?B?T2NEdXo3Y1FaRU0weU5ES1VNWDJmMjB1Qkovd0ZwYUlZVHkvMURlblJGSXJX?=
 =?gb2312?B?THpGc1pKOS9pVHh1UGhFYUlGTUNDM2tsZVhKdHNocExwbXZMTHBGTG1lejh0?=
 =?gb2312?B?WUVXUlE3UGYyVnVZWkl1NWhpdnNCdEFGTkZXM3Yxekt5UGVFQ2FUalY2NWFL?=
 =?gb2312?B?bzFJY2l5SFcxNjFNRjV5QVVvcnhpOFlBL2t5MTJCRmw2QXBCYU9ZSGN4NWZV?=
 =?gb2312?B?Z2JON2ZoeGtTM2Q1aU9mOGJBY1FYMVUrbWJxTVhhZmZ5TExlditBUTNRNWV2?=
 =?gb2312?B?MDJTd2JMYldzbzZJZHFXNFRrdFhMSWNYaFJBeWVhMmhsL0Iwa1k1eFFkaktP?=
 =?gb2312?B?cEFhaGk5WmE3bFFxU1QwNEZmWjE4bENmWDBQV0FZL2NtUzJtaFJLM0NrdVFz?=
 =?gb2312?B?empvdlN6S3Z4K2t0SjZaSlUzYTJMaU5MYVVvR2U2bFFuTlEzV3J0a0VVM2oz?=
 =?gb2312?B?VkFSSy9adzYrbzJFenJneDRTU3VzWUxxZi9GU2pNeTZNNnJRNGJ5NkF5K3BO?=
 =?gb2312?B?SUFrUHZiaTVlRFkveW0yT0ZXckFQUlhLZnRxblBsSkd4aXRoNFhXcjZpR2lS?=
 =?gb2312?B?S1VPbHRxalJQVTNLQllzQjRkNTNkK1FFaXg5M3FiZnB0NWh5OVhtM2JkTTh4?=
 =?gb2312?B?OEZkSXNaUVZKL0M1SnNCdUZXa2pxRDJsOEpNK0dPNUxvMHlaRUJFL0tUanBy?=
 =?gb2312?B?MFljQUxKWkxLbDJzV1FNUHJrbS9HaUVBTytTYnJiVmUwUE8yeWxyOE9qNlBy?=
 =?gb2312?B?NS9ZUTlZLzJvU1JSNXVwYjl5U29udFI0aWFsa2ZUVFJvd0NhN3V1Z1ZIQXIx?=
 =?gb2312?B?MU5ab3ZtQ1NuVERxQ3A3cFBqN1kvWENKMnUraWo4N3labG9aS3l6QWNwOFBK?=
 =?gb2312?Q?4PhuIoQXwxOnDEWuqTAurtHFWZPZ1lDjQZ7UZbS?=
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB5337
Original-Authentication-Results: kernel.org; dkim=none (message not signed)
 header.d=none;kernel.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT026.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	0b4c1bd3-7c8c-4aee-e464-08d96c8563c4
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	hPoNLdvvfpgHnkafjJ/MLNuWMya9A3D58GA5/87mxXPBC46TXgjDz0iZ/ho11ERSyORVGEMzfXYl2tSYrRDfUMP63PAoHSLavjY3aY9c2wd/71mX29V0EgzjUO4QXH5nhUWa9g2owjmT4/uOpfeMI0Pu2OZEyyCP13Nc3RwwcXIqZj6PIyUb2YwaaudlunlME0HjAiANdCK7/loPigIeKbiEhu1kltwhOU4LbQZWFBl4eMqyfteWxeHi5RGJS31HLX0j++ROrOBAkqLfwAQEVakD5UwOxgHjP9cpJTz6fyZ/0Bu7mwHRBbKBfj6dq4ozGQbzcxpHKKJ1x6N63dXrqgAOBLBbifbKjxF0ZWY5Mmlo8ZSHaDSv9ykcr1GnYTv+wHZSgYyHJOnyUjsCUO05/4y/gp7/a9GI/a3KefEHzVkHe4M0aUzceuYHj9jIBKMJ+Q2STml8b49muriF8G2IxgEZwdvpM34e69lsn766WDZVq8I2QKFiYkiynYO6TE3fWOXm0rlmQKvn/zhzC8fMBHuLmuA3y/3aNAq42vVEaWJnxd2eg/bGfkHhp2vX6qHXqzLWvFiffT3VzbAOYm/UfB2Bizg9dsrZl0tR4ihiN/XoKW+oncoKLiSxKCBPOv2dwjRdlNSKmlEZVneSCLkbY+wcqKttGoMWQSK4PlkbrwhySPjS5LGynDBN2fqTnu3GpGXBcNbjM+QurqUIh4gP7A==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(376002)(39860400002)(136003)(346002)(396003)(36840700001)(46966006)(54906003)(356005)(82310400003)(36860700001)(316002)(47076005)(33656002)(26005)(5660300002)(7696005)(83380400001)(4326008)(8676002)(52536014)(6862004)(6506007)(81166007)(55016002)(336012)(70586007)(86362001)(53546011)(70206006)(2906002)(9686003)(8936002)(478600001)(82740400003)(186003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2021 13:44:09.4342
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 46010cff-6494-47d3-5008-08d96c8568dd
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT026.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0802MB2178

SGkgU3RlZmFubywNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBTdGVm
YW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+DQo+IFNlbnQ6IDIwMjHE6jjU
wjMxyNUgOTo1Mw0KPiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiB4ZW4t
ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmc7IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc7IGp1bGll
bkB4ZW4ub3JnOw0KPiBqYmV1bGljaEBzdXNlLmNvbTsgQmVydHJhbmQgTWFycXVpcyA8QmVydHJh
bmQuTWFycXVpc0Bhcm0uY29tPg0KPiBTdWJqZWN0OiBSZTogW1hFTiBSRkMgUEFUQ0ggMzkvNDBd
IHhlbi94ODY6IG1vdmUgbnVtYV9zZXR1cCB0byBjb21tb24gdG8NCj4gc3VwcG9ydCBOVU1BIHN3
aXRjaCBpbiBjb21tYW5kIGxpbmUNCj4gDQo+IE9uIFdlZCwgMTEgQXVnIDIwMjEsIFdlaSBDaGVu
IHdyb3RlOg0KPiA+IFhlbiB4ODYgaGFzIGNyZWF0ZWQgYSBjb21tYW5kIGxpbmUgcGFyYW1ldGVy
ICJudW1hIiBhcyBOVU1BIHN3aXRjaCBmb3INCj4gPiB1c2VyIHRvIHR1cm4gb24vb2ZmIE5VTUEu
IEFzIGRldmljZSB0cmVlIGJhc2VkIE5VTUEgaGFzIGJlZW4gZW5hYmxlZA0KPiA+IGZvciBBcm0s
IHRoaXMgcGFyYW1ldGVyIGNhbiBiZSByZXVzZWQgYnkgQXJtLiBTbyBpbiB0aGlzIHBhdGNoLCB3
ZSBtb3ZlDQo+ID4gdGhpcyBwYXJhbWV0ZXIgdG8gY29tbW9uLg0KPiA+DQo+ID4gU2lnbmVkLW9m
Zi1ieTogV2VpIENoZW4gPHdlaS5jaGVuQGFybS5jb20+DQo+ID4gLS0tDQo+ID4gIHhlbi9hcmNo
L3g4Ni9udW1hLmMgICAgfCAzNCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+
ID4gIHhlbi9jb21tb24vbnVtYS5jICAgICAgfCAzNSArKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrLQ0KPiA+ICB4ZW4vaW5jbHVkZS94ZW4vbnVtYS5oIHwgIDEgLQ0KPiA+ICAzIGZp
bGVzIGNoYW5nZWQsIDM0IGluc2VydGlvbnMoKyksIDM2IGRlbGV0aW9ucygtKQ0KPiA+DQo+ID4g
ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9udW1hLmMgYi94ZW4vYXJjaC94ODYvbnVtYS5jDQo+
ID4gaW5kZXggOGI0M2JlNGFhNy4uMzgwZDhlZDZmZCAxMDA2NDQNCj4gPiAtLS0gYS94ZW4vYXJj
aC94ODYvbnVtYS5jDQo+ID4gKysrIGIveGVuL2FyY2gveDg2L251bWEuYw0KPiA+IEBAIC0xMSw3
ICsxMSw2IEBADQo+ID4gICNpbmNsdWRlIDx4ZW4vbm9kZW1hc2suaD4NCj4gPiAgI2luY2x1ZGUg
PHhlbi9udW1hLmg+DQo+ID4gICNpbmNsdWRlIDx4ZW4va2V5aGFuZGxlci5oPg0KPiA+IC0jaW5j
bHVkZSA8eGVuL3BhcmFtLmg+DQo+ID4gICNpbmNsdWRlIDx4ZW4vdGltZS5oPg0KPiA+ICAjaW5j
bHVkZSA8eGVuL3NtcC5oPg0KPiA+ICAjaW5jbHVkZSA8eGVuL3Bmbi5oPg0KPiA+IEBAIC0xOSw5
ICsxOCw2IEBADQo+ID4gICNpbmNsdWRlIDx4ZW4vc2NoZWQuaD4NCj4gPiAgI2luY2x1ZGUgPHhl
bi9zb2Z0aXJxLmg+DQo+ID4NCj4gPiAtc3RhdGljIGludCBudW1hX3NldHVwKGNvbnN0IGNoYXIg
KnMpOw0KPiA+IC1jdXN0b21fcGFyYW0oIm51bWEiLCBudW1hX3NldHVwKTsNCj4gPiAtDQo+ID4g
ICNpZm5kZWYgRHByaW50aw0KPiA+ICAjZGVmaW5lIERwcmludGsoeC4uLikNCj4gPiAgI2VuZGlm
DQo+ID4gQEAgLTUwLDM1ICs0Niw2IEBAIHZvaWQgbnVtYV9zZXRfbm9kZShpbnQgY3B1LCBub2Rl
aWRfdCBub2RlKQ0KPiA+ICAgICAgY3B1X3RvX25vZGVbY3B1XSA9IG5vZGU7DQo+ID4gIH0NCj4g
Pg0KPiA+IC0vKiBbbnVtYT1vZmZdICovDQo+ID4gLXN0YXRpYyBfX2luaXQgaW50IG51bWFfc2V0
dXAoY29uc3QgY2hhciAqb3B0KQ0KPiA+IC17DQo+ID4gLSAgICBpZiAoICFzdHJuY21wKG9wdCwi
b2ZmIiwzKSApDQo+ID4gLSAgICAgICAgbnVtYV9vZmYgPSB0cnVlOw0KPiA+IC0gICAgZWxzZSBp
ZiAoICFzdHJuY21wKG9wdCwib24iLDIpICkNCj4gPiAtICAgICAgICBudW1hX29mZiA9IGZhbHNl
Ow0KPiA+IC0jaWZkZWYgQ09ORklHX05VTUFfRU1VDQo+ID4gLSAgICBlbHNlIGlmICggIXN0cm5j
bXAob3B0LCAiZmFrZT0iLCA1KSApDQo+ID4gLSAgICB7DQo+ID4gLSAgICAgICAgbnVtYV9vZmYg
PSBmYWxzZTsNCj4gPiAtICAgICAgICBudW1hX2Zha2UgPSBzaW1wbGVfc3RydG91bChvcHQrNSxO
VUxMLDApOw0KPiA+IC0gICAgICAgIGlmICggbnVtYV9mYWtlID49IE1BWF9OVU1OT0RFUyApDQo+
ID4gLSAgICAgICAgICAgIG51bWFfZmFrZSA9IE1BWF9OVU1OT0RFUzsNCj4gPiAtICAgIH0NCj4g
PiAtI2VuZGlmDQo+ID4gLSNpZmRlZiBDT05GSUdfQUNQSV9OVU1BDQo+ID4gLSAgICBlbHNlIGlm
ICggIXN0cm5jbXAob3B0LCJub2FjcGkiLDYpICkNCj4gPiAtICAgIHsNCj4gPiAtICAgICAgICBu
dW1hX29mZiA9IGZhbHNlOw0KPiA+IC0gICAgICAgIGFjcGlfbnVtYSA9IC0xOw0KPiA+IC0gICAg
fQ0KPiA+IC0jZW5kaWYNCj4gPiAtICAgIGVsc2UNCj4gPiAtICAgICAgICByZXR1cm4gLUVJTlZB
TDsNCj4gPiAtDQo+ID4gLSAgICByZXR1cm4gMDsNCj4gPiAtfQ0KPiA+IC0NCj4gPiAgLyoNCj4g
PiAgICogU2V0dXAgZWFybHkgY3B1X3RvX25vZGUuDQo+ID4gICAqDQo+ID4gQEAgLTI4Nyw0ICsy
NTQsMyBAQCBzdGF0aWMgX19pbml0IGludCByZWdpc3Rlcl9udW1hX3RyaWdnZXIodm9pZCkNCj4g
PiAgICAgIHJldHVybiAwOw0KPiA+ICB9DQo+ID4gIF9faW5pdGNhbGwocmVnaXN0ZXJfbnVtYV90
cmlnZ2VyKTsNCj4gPiAtDQo+IA0KPiBzcHVyaW91cyBjaGFuZ2UNCg0KZ290IGl0Lg0K


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 13:48:10 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 13:48:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175786.320120 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL47V-00018u-Hu; Tue, 31 Aug 2021 13:48:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175786.320120; Tue, 31 Aug 2021 13:48: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 1mL47V-00018n-Dp; Tue, 31 Aug 2021 13:48:09 +0000
Received: by outflank-mailman (input) for mailman id 175786;
 Tue, 31 Aug 2021 13:48:08 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kH2E=NW=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mL47U-00018h-LL
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 13:48:08 +0000
Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 8cbb083d-16fa-443d-9aa1-4a903e73ab7b;
 Tue, 31 Aug 2021 13:48: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: 8cbb083d-16fa-443d-9aa1-4a903e73ab7b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1630417687;
  h=to:cc:references:from:subject:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=24phHelAWTxwR43GIVyTNRF1ligxzWiVLDhhWPmcE6Q=;
  b=Jgi8W92hld87fPm95nrsUARdmyNsoc1Wy22hmX+gUKxEqe3/wvb63Rrh
   TY0kqfau2swKOfPzLxo6ISVnLg02Y4VhVAx+Q6g+i9AXaP5lvTJ+7iZlw
   hqb1L48+VCA+YSfz8D2B1qqaFitvUOJTIiSvMUXZ3QsY4/mROdd5nNRFT
   I=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: lKPNTWGDp/4zRPzvj/3EHckDt8k4i1UWAz0D0g40tDvWgDWblaoEHrAx5iPfU02vt4XgHUTXbI
 xJZnMVSLAw4lKw1z1fAzLquu97sMkYNgVSCBK/LaMnp68jM6TBPy/zQrbYyiax0rszzwudcnEg
 eU0EqvvYOdJGw/VFHZ5GPklt3ILEZehddde1goZZotEgAcyQgmsUGO7HuuwNefJEoDHqiwG5zp
 6o0ijnJrOj7BVXivmyBl+ezHZSpY04SLBY9WqGUnKLEAdaK7l4Fv+EiLGML6IMKBbvDLovbPWZ
 lR4Eb8+JJlEwarGkoZPa+q6E
X-SBRS: 5.1
X-MesageID: 52083418
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:gskrDK7uVq8rQTn5sQPXwU+BI+orL9Y04lQ7vn2ZFiY6TiXIra
 +TdaoguSMc6AxwZJkh8erwXJVoMkmsi6KdhrNhQotKPTOWxFdASbsC0WKM+UyaJ8STzJ866U
 4kSdkCNDSSNykIsS+Z2njBLz9I+rDum8rE9ISurQYZcegpUdAG0+4QMHfqLqQcfng+OXNWLu
 v42iMKnUvbRZxBBf7Ld0XtEtKz5uEi0/ndEFc7Li9izDPLoSKj6bb8HRTd9hACUwlXybNn1W
 TeiQT26oiqrvn+k3bnpizuxqUTvOGk5spIBcSKhMRQAjLwijywbIAkf7GZpjg6rMym9V5vut
 jRpBULOdh19hrqDyGIiCqo/zOl/Ccl6nfkx1PdqXz/ofbhTDZ/MMZFjZIxSGqU12MQ+PVHlI
 5b1WOQsJRaSTnamj7m2tTOXxZ20mKpvHsLi4co/jhieLpbTIUUgZ0U/UtTHptFNjn98pobHO
 5nC9yZzOpKcGmdc2vSsgBUsZmRt0wIb1G7q3U5y5WoO2A8pgEg86JY/r1cop44zuN7d3EejN
 60aZiB/dp1P70rhaEUPpZNfSL4MB2WffpgWFjiaWgPL5t3TE4lnaSHqond1NvaDKDg86FC7q
 gpcGko+lLaKHieR/Fn4vVwg1vwqSOGLGnQ9v0=
X-IronPort-AV: E=Sophos;i="5.84,366,1620705600"; 
   d="scan'208";a="52083418"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Dbd8bmQfbeuJa+/MqrifrbdW7R993va4u/VEKhg2PFkLZjrzR8RxzZlM6rYgSDddMdJtUsIvfXyBsnwFfnRAPnnEAXHkpC1kmo7tcYjfUsFc/K89FYvJiXRx0qoaG5jQyRfiZ+7Dd6aBgl1Bw2fgc/NucVsb+eB+CRbm/MFG9sugW0NvfL43L9Q5Wq1wnVHIS4RrOvZv0kkXoXuI4eyUM5p6IzigSOK6wuuNkt9IlDzYgLKsGg6PWmKaBzpMxoPcJObwTZ6jm9Eb1V3VS/Zry9txgVrKahKVEaDhFh0uBq11WZ3qSHjQG0P0TJBqZ222Tzdyf8hyA9oUoheXU/9phw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DrKz2jbG+mT5dOp9dPkuwq1ucx1hJ1Abwlehka9EUmI=;
 b=SKUGtXqb8j8S6ZENf4J0UmYscHhi4h41Pei4h21HX00mqRpPDtRjwWxc7BH65X7s9s29ubB7AhV6yhAastt6VN7uv2qTAi4uVh7CZTopFEN51MNgfYYwtkzRTJlxQ9u/ROyok0y/0duPFg8dRQyd3WL3falPBgDTMVJzpGtWAl94QZaiYCJxapo2Jo/+NOoJHsXQtRXSmlKHUvaIqz+djtz0LZ7m2vHKIRghWAYZzQB2SGgLsQsK9WnAFJ2ZT9FURbd1X4PZmkUf80RjGdti6iv2rtlNPBQj18+r724JSNYG4+aPwH+YUy5bT+SxbDqW+CQ7uBg6WGfRn2M1GwUn3A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DrKz2jbG+mT5dOp9dPkuwq1ucx1hJ1Abwlehka9EUmI=;
 b=mjBsQeQkPh+38ydIPAdGuKH79xV8A097bBw7OiEgR9pgm7zWvyH5ocAp8F6vZY7rL3IgP10lLSKXLHuC66WQrOoltB7TqV4MNe+mjEt294boLoSd+acEUnZhaQYAUXZw0gJO3P++Gfo2fN4CjW4qEAqKisUj8rap/sbKqPG3sD0=
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>, Tim Deegan <tim@xen.org>
References: <aae19abb-e88b-8bf8-6f1d-502ac6645d6b@suse.com>
 <35864b86-ae6c-f8ee-99df-cf78751d275d@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 4/4] x86/PV: properly set shadow allocation for Dom0
Message-ID: <0f00a4fd-47c2-8ba0-13b2-2210d8b4e0e2@citrix.com>
Date: Tue, 31 Aug 2021 14:47:59 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <35864b86-ae6c-f8ee-99df-cf78751d275d@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-GB
X-ClientProxiedBy: LO4P123CA0483.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1a8::20) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: fdacb457-45f8-4bbf-4d74-08d96c85f4e9
X-MS-TrafficTypeDiagnostic: BY5PR03MB4998:
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <BY5PR03MB4998AB3119C495EA6E2E5C8DBACC9@BY5PR03MB4998.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:6430;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: SkRrl3BkOn8kTWP5aTfz5QHijWWEsMUYOwqSAqGJFsnRPMIgtcYGsDh+Tzq3F3XNVth1vdy9KAyfKPbj0vynlgrBIFDt7inv+9JWO+kvEgTTrKtEEZ4VSZtNHB3j15PAgTsnZn5liVh/mYqUddS+EoADIw+W7/WzgLDUg6iin4FaEGgecBRq3Wpq6o+3nqnl39TeniN6zJTeCN0a/csVfy+IJ1TimNppUuBqGQv0MEQ5IMKK3D14D3yNDhTCHaWi0rA/fguSQOZNX6AwqpnDwdOM485qt5lb8h74v45RauzFe5w82Pq3GFz1vGG9aat904sjlSLj+XwwgFmBq46g6mYngTsDAUDBveF8V1arjHJKat1ib/+/eCpxdYPPK1FVfkGCuM8LiIJC/HQ/wc5FHzCxyYTFFJ7186QzqOKCPleTfhI8sUHK0l53ycHAaJ3kd/vE4zq18qo9zu0K6fbue+lsrzjZH1Npfh3+Mpp4HRpPLc/xnIpUStmsYWSkC5LBmf3ZsFZG+4/VC8UVMb55Lwd2uoHocVjjzq7Hf0uHtT79DxAjbznQqq7LkcGS2h6bVaZ118el3VisGdGy1Bu4DVfjFfHgEhOwptXkvZjrUMa6/dQ4FYSDYU7H3FbE87VTSP/HRafSkc15+eAmnpiOFRARDs+0rRAzRxLFvEdu+OvlVz0Q08z75IR4VE2yH8F0wSiwF52rOy5tRMiucnLpcUIZl4TY47Va4aHidPWn0l0=
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:(4636009)(366004)(376002)(396003)(346002)(136003)(39860400002)(6666004)(38100700002)(8676002)(6486002)(16576012)(478600001)(66556008)(186003)(5660300002)(2906002)(8936002)(54906003)(26005)(4744005)(31686004)(316002)(53546011)(86362001)(2616005)(55236004)(83380400001)(36756003)(31696002)(956004)(66476007)(4326008)(66946007)(110136005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Qk1ia0RHZUV4OXVod2d6enF3RmxqTWZnYURQblNmWXQ0d01xL1hHNnpRQmZx?=
 =?utf-8?B?S2tpQTBGM2d3M3cxcm1pRVNZOTFUQmVidi9mVzc0VTdWc2lWVDl0ZkthQWp2?=
 =?utf-8?B?ckluVjkyMTFFMlo3SHo1azZhRWF0Nm83QmlqY0FRUCtobjNNNDBPQmxqTEU3?=
 =?utf-8?B?RjFGNnMvd21nQk9jKy9BSGV5bWxNY0RxNHNGMlNKWjN3MWdRQkwvSjRzSVd4?=
 =?utf-8?B?aGNURHRMMCtEMnd6N3FYeFJhbnNEdHNyNjg1eDNabWVxNTVoZ002eTI3TG0w?=
 =?utf-8?B?OVA4QzRmUWI1RThGYkwraWpLdis0blhOcG5iNEovZ0pNSmx1TG9DeUpPenp2?=
 =?utf-8?B?M3BmK3lQaFI4cXdLZlJxaDV4V0FoZTlUTHlvNnNReFJZMGZZaEtOa3dnMXRp?=
 =?utf-8?B?UXF6QVRETTU5RWdTdDB0c2kyL0U2RGRKbUhCTVc3Vm5CdmNkT0h4N1h5cXJy?=
 =?utf-8?B?THpicE42OEZBMzZYbHFXcldrRXNyOG8rWGJCQlI2K2pxL3VBYmJtb2MwbHpN?=
 =?utf-8?B?S2cveXdBNndKaXJwS2dYUzFkVTJaVFNXWjlOeEVuMUdFUjduYkxCc0piNHJk?=
 =?utf-8?B?bnk3WXc2UWNPV2VtTTN3NDFtd2Q2em5LN1NXL1VjNmtNSUNNaUNpUTA0VkI3?=
 =?utf-8?B?TFRTai81NTdoSUwzYVBtNDdPRFBxaVB5MTZ6V1B4Z29yQ1hrRnpCYTVoUWU5?=
 =?utf-8?B?VTJOSnNCV1pJeEw3SlRLVU1TdnJpZGtqbDFjK2RmWWRjS0FVc3VHY3dZVldX?=
 =?utf-8?B?SGlyaVVaK0ZLWVBvRWhGcGs5WndaellNV1BRVUVDNXNVRlduSEhuUVFaNklX?=
 =?utf-8?B?emgySDVmeXlYR1JxZmdQd2dyNDlyWFlveVg1WitCQmlyYi9waVRXUVZELytJ?=
 =?utf-8?B?UzduOFo0UXI1UlpwOFg2VVFrWUpMZlkyd3IvRHozV2VyUWZtOVV3QVJ2T2wr?=
 =?utf-8?B?UXVneXlvOUsrbHFRYnlYUEIydlIvR2NUaUJIQlBLTGk4Z2s5L2x4NXBxcGFQ?=
 =?utf-8?B?UUlCdnBrODBBdS9IYldrQVRVSzhnQUdjblNka3pMbUxsdEduZ1dia1pQa1la?=
 =?utf-8?B?bjJGSFRPS1lzNzFxcEZEZHJIdEQyZS90YUpueDM4Z3hEY0NIbXRLMkl1M2J3?=
 =?utf-8?B?MUZVRllXTFc4TDRhWTcrc21FQnhlazBTTllGKzRBSUlYM25uL01ZM2puZU9q?=
 =?utf-8?B?a3hFc1M4L3BUN3lwTE40MUVlSzJJdk1TaVh1NFdNbWJvVXE2OWtoQkc0ZE9k?=
 =?utf-8?B?QWtKZHFFS2FkbXlsNXQ2NlBuNytzeXFkMW1Gak5QMHN6UkNlSjV2VXlzR3d6?=
 =?utf-8?B?bEl5YjdoVlZhZjRpeXZvQ2poQnFUMjdWMFhMZTVvT3c2UzlNQm40Mm5pOFpn?=
 =?utf-8?B?dEN5S3Myc0NERjNyTDczZ2JYM3U2cWp6YkJ1MVZrMzl2VlF1T085Zmt2cWtP?=
 =?utf-8?B?ajZHaXJCWi9Od2Q1NFE5WnR0QitBRVpOWHZUNDI3cjUxVC9IN09ac1FlVE9o?=
 =?utf-8?B?cFcyOW5RZy9XTjd2SEZGU1VJa3UvZDhBRmhQTmdIMmRCR0Izd3JyQmcwYVl0?=
 =?utf-8?B?UHIzV3ovdGVxV0NSMEl1Z0o5NTRldFFRSFhpNis4b1NaV1VMVzB6M1lRUXZR?=
 =?utf-8?B?cTFIbFBoMmE5RE9FMzlNQkFMZ04zQmV0dkRLZ2Y5TWtTbUNzYUEwSDR2WDh4?=
 =?utf-8?B?Q0tmSWxsTFRTS04vc0RYVkkwbnFjeFNVV2dqRnl3UngrOXpxVk1jdGcxSkJV?=
 =?utf-8?Q?r5lJUDtZTkjsXI3f8ieInD//fXBQ6p639xr9n7d?=
X-MS-Exchange-CrossTenant-Network-Message-Id: fdacb457-45f8-4bbf-4d74-08d96c85f4e9
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2021 13:48:04.7584
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Cj/T6lGB54uzYcjlwBrCAF5axNeT1sQOND+BglrDBnCiltrpGNSqtMxiNuL7VghC998Aj5ACQpgyTXnNi96YqC9aRzZxmXcViMZg2iGXRzQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB4998
X-OriginatorOrg: citrix.com

On 30/08/2021 14:03, Jan Beulich wrote:
> @@ -933,7 +934,17 @@ int __init dom0_construct_pv(struct doma
>  #ifdef CONFIG_SHADOW_PAGING
>      if ( opt_dom0_shadow )
>      {
> +        bool preempted;
> +
>          printk("Switching dom0 to using shadow paging\n");
> +
> +        do {
> +            preempted =3D false;
> +            shadow_set_allocation(d, dom0_paging_pages(d, nr_pages),
> +                                  &preempted);
> +            process_pending_softirqs();
> +        } while ( preempted );

This isn't correct.=C2=A0 The shadow pool is needed even without
opt_dom0_shadow, because some downstreams have elected not to retain
upstream's security vulnerability in default setting of opt_pv_l1tf_hwdom.

Also, dom0_paging_pages() isn't a trivial calculation, so should be
called once and cached.

~Andrew



From xen-devel-bounces@lists.xenproject.org Tue Aug 31 13:48:51 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 13:48:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175792.320131 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL48A-0001gy-Q5; Tue, 31 Aug 2021 13:48:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175792.320131; Tue, 31 Aug 2021 13: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 1mL48A-0001gr-N3; Tue, 31 Aug 2021 13:48:50 +0000
Received: by outflank-mailman (input) for mailman id 175792;
 Tue, 31 Aug 2021 13:48:49 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MdRD=NW=citrix.com=anthony.perard@srs-us1.protection.inumbo.net>)
 id 1mL489-0001gh-7S
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 13:48:49 +0000
Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 2a6a3626-0a62-11ec-ad41-12813bfff9fa;
 Tue, 31 Aug 2021 13:48: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: 2a6a3626-0a62-11ec-ad41-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1630417727;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=cbU78/nRNx/NGgEo3pTpa/uxI7RqMuOd4uNF6jCUtm8=;
  b=VFhS9GlMH8zVYnhQbVobl9JA/na9j9frCLh660pMqbnYjHrWAgCZlkvy
   5SlvpOgnHMWJkniJaQwv8MM65NzKOr6CYQGbCQqPFwF3ntcO97e6uSNTC
   m3ECDJHVb+W2TfDkAkfuJ6l3zrQuaOmwNSvJ9TtkZc/tRHBwDfJRoguoW
   U=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: CsA46knl4ihWLtmpbAo1w/UrFFht9yYeMbR3867SndvkbNgotY7djxqpWKf1OSLjiLUBFpxr4O
 yy9idu1NyxT+usXmENJMlFxJVvEAv7wUyf2pc+exaGgPbKVEvgyWnG35B3p0gPWsbzDDnAbCLJ
 dml9v+auIyDZJ3FxtMLJeBOrnkoCT4nD+eqy/c7CiYZV2wWzPHM5xpRP3tLed1GZMvYq1qMYUa
 HefyqZnWdn/gEUeE9ili7RS1BTm8laq60wgC7WB71JFoJXl/AILZsFT8n4LDxx2YjETR2IrNCx
 AYTSniJDwW4Y6BXGQglQyn56
X-SBRS: 5.1
X-MesageID: 51693120
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:ahb7Aagrz21n1Oh60cipnHj0LHBQX1113DAbv31ZSRFFG/FwyP
 rBoB1L73DJYWgqNE3I+erhBEGBKUmskaKdkrNhQ4tKOzOWx1dATbsSkbcKpgeAJ8SQzJ8n6U
 4NSdkZNDS0NykGsS+Y2njKLz9D+qj+zEnAv463pB0BPGIaCdAU0+46MHf9LqQffng3OXNTLu
 vk2iMonUvERZ1aVLXAOpFTNNKz1uEj2aiWICLvQHUcmUCzpALtzIS/PwmT3x8YXT8K6bA+8V
 Ldmwi8wqm4qfm0xjLVymeWtv1t6Zjc4+oGIPbJptkeKz3qhArtTIN9W4eatDRwhO208l4lnP
 TFvh9lFcVu7HH6eH2zvHLWqknd+Qdrz0Wn5U6TgHPlr8C8bDUmC/BZjYYcSRfd41pIhqAx7I
 t7m0ai87ZHBxLJmyrwo/LSUQtxq0ayqX0+1cYOkn12S+IlGftshL1a2HkQPIYLHSr85oxiOv
 JpFtvg6PFfdk7fR2zFv1No3MenUh0Ib1K7q3A5y4qoOgVt7SlEJxNy/r1Gop5AzuN+d3B83Z
 WCDkwy/4s+FfP/BMlGdZU8qcjeMB2BffuDChPJHbxLfJt3c04lkKSHl4nd0tvaMqDg/KFC7K
 gpb2kow1LaW3ieRvFmj6c7vCwkfg2GLH/QI4dllsVEhoE=
X-IronPort-AV: E=Sophos;i="5.84,366,1620705600"; 
   d="scan'208";a="51693120"
Date: Tue, 31 Aug 2021 14:48:43 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>, <xen-devel@lists.xenproject.org>
Subject: Re: [XEN PATCH] Config.mk: update OVMF to edk2-stable202108
Message-ID: <YS4zO5P4TcUBLDe7@perard>
References: <20210831123637.22647-1-anthony.perard@citrix.com>
 <b19def29-7287-0aa8-6bf6-1ca022de1355@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <b19def29-7287-0aa8-6bf6-1ca022de1355@suse.com>

On Tue, Aug 31, 2021 at 03:01:54PM +0200, Jan Beulich wrote:
> On 31.08.2021 14:36, Anthony PERARD wrote:
> > Update to the latest stable tag.
> 
> Largely out of curiosity - if that's truly a tag, ...

Well, it's a git tag, but it's not signed by upstream :-(.

Upstream started to do a release for OVMF every 3 months somewhat
recently. They will stop taking new feature and only take fixes for a
couple of weeks, then tag the tree.

> > --- a/Config.mk
> > +++ b/Config.mk
> > @@ -244,7 +244,7 @@ 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_REVISION ?= b37cfdd2807181aed2fee1e17bd7ec1190db266a
> > +OVMF_UPSTREAM_REVISION ?= 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5
> 
> ... why not refer to it here and instead spell out a hash?

Since the tag isn't signed, it's probably better to keep using a hash.

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 13:58:46 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 13:58:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175800.320141 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL4Hh-0003Mr-Oa; Tue, 31 Aug 2021 13:58:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175800.320141; Tue, 31 Aug 2021 13: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 1mL4Hh-0003Mk-Lg; Tue, 31 Aug 2021 13:58:41 +0000
Received: by outflank-mailman (input) for mailman id 175800;
 Tue, 31 Aug 2021 13:58:40 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mL4Hg-0003Me-I1
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 13:58:40 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mL4Hg-00076I-FU
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 13:58:40 +0000
Received: from iwj (helo=mariner.uk.xensource.com)
 by xenbits.xenproject.org with local-bsmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mL4Hg-0003lV-ED
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 13:58:40 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.89)
 (envelope-from <iwj@xenproject.org>)
 id 1mL4Hd-0005P3-4U; Tue, 31 Aug 2021 14:58:37 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=References:In-Reply-To:Subject:Cc:To:Date
	:Message-ID:Content-Transfer-Encoding:Content-Type:MIME-Version:From;
	bh=sy6Veb1ZYI9g8dOersGmVdHHB08yWWdL10o1SduQ7rw=; b=GgE9l99DRa6wqBHo5JhHpctQB/
	d7I5jEHOe1nybGTqoOpg3ZzgtB5Nvbe+dGxivPJSBcVl38e4pJ5QF7uCXttuJFgeoIGieQ/19CHjE
	xbGX4vDCoWIUwXlwYfHfiXAJnyWHGa1+FN6V4yaWBgOHdEr6JroUbkmOt6+m66Pdnoec=;
From: Ian Jackson <iwj@xenproject.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <24878.13708.826632.607786@mariner.uk.xensource.com>
Date: Tue, 31 Aug 2021 14:58:36 +0100
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: <xen-devel@lists.xenproject.org>,
    Andrew Cooper <andrew.cooper3@citrix.com>,
    George Dunlap <george.dunlap@citrix.com>,
    Jan Beulich <jbeulich@suse.com>,
    Julien Grall <julien@xen.org>,
    Stefano Stabellini <sstabellini@kernel.org>,
    Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH] Config.mk: update OVMF to edk2-stable202108
In-Reply-To: <20210831123637.22647-1-anthony.perard@citrix.com>
References: <20210831123637.22647-1-anthony.perard@citrix.com>
X-Mailer: VM 8.2.0b under 24.5.1 (i686-pc-linux-gnu)

Anthony PERARD writes ("[XEN PATCH] Config.mk: update OVMF to edk2-stable202108"):
> Update to the latest stable tag.

Thanks.  I am OK with this but I think we should hold off committing
it until the XSA fallout has been sorted.

Ian.


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 14:08:14 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 14:08:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175806.320152 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL4Qs-000543-Jl; Tue, 31 Aug 2021 14:08:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175806.320152; Tue, 31 Aug 2021 14:08:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL4Qs-00053w-Gl; Tue, 31 Aug 2021 14:08:10 +0000
Received: by outflank-mailman (input) for mailman id 175806;
 Tue, 31 Aug 2021 14:08:09 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kH2E=NW=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mL4Qq-00053q-VW
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 14:08:09 +0000
Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 3778c3b4-6506-4989-a03c-5c3e720a796b;
 Tue, 31 Aug 2021 14:08: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: 3778c3b4-6506-4989-a03c-5c3e720a796b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1630418887;
  h=to:cc:references:from:subject:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=2gMcTVZtoMEo2qljJXV+CoDpGA6YMQCTivgTU4Qox5M=;
  b=fdwKJbNllk5dHanVjD1uggqizAN8nJBYjW0Gh9KeV0xcgLkIF/p1B3K3
   oUjyNq3Wy9JjJUW2kENb2/lDRFLoJH/KG4U2IPtaF0pJGVAcTtWl7pY/4
   0p/n0nHwOedvR9UAX7uCVAox41dd26e0Kl271uBJXR1GB3I0zxiLur1Md
   Q=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: ENLt0WLIFuMjcYXBySPZsSuPILhu+wGJQbVN8Czjl2c1Zvc0Tu6IHcCQYt4aPfbKoEmAOJAvfU
 /P87ojQO4jVWU4twiRNEV6BiwP53qSvi2AIhPe7q7o4d/lza/EwmEjnvmdhaMOGWNku2c6egRL
 9git0nIZx0Bm4KzHkHDvMAwTTQaZa36EatJk/rM0Rlvq4Ni7JVF8rveyPVthjIeAETlbwD7m0U
 BHmZC30/X48HkZW+Ko2TbBgY49Z+Q+2bh084EQCr8+TI9HVUi2qsuza+3OK6Ywn71jji+l4Nzi
 TKcF/CFE9SSEE6Vi9q4Xn2m7
X-SBRS: 5.1
X-MesageID: 52086493
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:5lgTK6+GyUBAwgB4fJluk+Fddb1zdoMgy1knxilNoENuH/Bwxv
 rFoB1E73TJYW4qKQkdcKO7SdK9qBLnhNRICOwqUYtKMzOW3FdAQLsC0WKm+UyYJ8SczJ8R6U
 4DSdkYNDSYNzET4qjHCUuDYrAdKbK8gcOVbJLlvhJQpHZRGsNdBmlCajqzIwlTfk1rFJA5HJ
 2T6o5svDy7Y0kaacy9Gz0sQ/XDj8ejruOoXTc2QzocrCWehzKh77D3VzKC2A0Fbj9JybA+tU
 DYjg3C4Lm5uf3T8G6T64aT1eUWpDLS8KoBOCW+sLlWFtwqsHfsWG1VYczDgNnympDq1L9lqq
 iKn/5qBbUI15qYRBDJnfKq4Xit7N9m0Q6f9XaIxXTkusD3XzQ8Fo5Igp9YaALQ7w46sMh7y7
 8j5RPui3N7N2K1oM3G3am+a/iqrDvFnVMy1eoIy3BPW4oXb7Fc6YQZ4UNOCZ8FWCb38pouHu
 ViBNzVoK8+SyLTU1nJ+m10hNC8VHU6GRmLBkAEp8yOyjBT2HR01VERysATlmoJsJg9V55H7e
 LZNbkArsAGcuYGKaZmQOsRS8q+DWLABRrKLWKJOFziULoKPnrcwqSHlYndJNvaCqDg6aFC06
 gpfGkoy1LaSnieevFmhqc7jSwlaF/NLAjQ9g==
X-IronPort-AV: E=Sophos;i="5.84,366,1620705600"; 
   d="scan'208";a="52086493"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JQzLTrOUFISskDTtkieFSE6Nexi8DWsZjTVnv7ESCrsgd/4h1Cn9nvIts0XNVW4jXZQ3furitsra3FbhrbOUK1JoYxhvBCsLA5jrpSRtZqlmQGLfxHbV7YpJn42aHPw9Nl6bIqpKgoOQSymP9Zcr6qPTBmKf4dwX8V9hP6irPJFWA4s+oEhW9gRXp2T8lhTM8sph4zrwggpfsKLwYrZdaqE06GcWUgrWxo/0XkdxNFuZU9u3R8Nc1YImGMjMxUjv7hUyrKkmOQxyY/M7pDBlSdULp/61V4MAynlMffD+/vGtGAWdwguYBCSxC4Azpf8dOQ9alt1PjHJIdIxRlVrhKw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version;
 bh=oMakH3yRVtDpnZ756uJoJ2MWewMYGLo0j3MwOPAPQdM=;
 b=ChQXK+TSUVPFSKUnlw00rLp1TWtjJTYWedF9Af0MclzVvQRkDWzyWjxyWW+6ODuzqCxHKpzOJ7Dx62JfHPWM4YcuINb/nE5rkdTenR3BedEPBTwepQUJN/ouBOKvHyTmntRcWG5XdK4uHDdNuT6bSf9rZrdjufUTfRl9c47Kz3CpulSzumve45reYkLZqEVfYZk+7DZl3ZMb6fac4UcVcWA0Mf/BXfV5MVnBgyrbGwxB2mbelnKkTDoBuXYNauzF8JFl5eWLctmBc5WG/7M1mSDOt9/w6bGrEO1jbnlxa8SkG7z7wYsCD9HSOiRis1fOUIPdjkC5xohUDwb+RZ95lg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=oMakH3yRVtDpnZ756uJoJ2MWewMYGLo0j3MwOPAPQdM=;
 b=jzALmm/IPxyufvNgztMm1d6kEs0KKqj4ccNuQ0V5B6pksLKBYaJIK7rQMofQuxl/I28Y0jHuCH+/S97olJ2iYTy5LLun2qRciLRlk76yZEkyFIfD86D6TPrre7GGD//mmVlllbPnYwHL1CbAjHUmNf6bJYhNRjNGvCR0C4f4ZHY=
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: <aae19abb-e88b-8bf8-6f1d-502ac6645d6b@suse.com>
 <a1c71c0a-8bc7-3f6f-ef5c-a0ef854fab33@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 3/4] x86/PVH: improve Dom0 memory size calculation
Message-ID: <abb0e218-d02f-a1f4-2d48-3d3d3c681b06@citrix.com>
Date: Tue, 31 Aug 2021 15:07:56 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <a1c71c0a-8bc7-3f6f-ef5c-a0ef854fab33@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-GB
X-ClientProxiedBy: LO2P265CA0206.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:9e::26) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 57cba1f6-0145-4040-4ebd-08d96c88bef5
X-MS-TrafficTypeDiagnostic: BY5PR03MB5029:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <BY5PR03MB5029466ABC513D7A0F6F0D41BACC9@BY5PR03MB5029.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:3276;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 2eerG2yeYwa5zqwZvDqZwGrq3ZOW4Q3797uuZ1iz2F1iWgGj4gsrViwWjy1R5d6DiyXY8wAEH/4ofn3DDMC1lBWNBH0GSkPjyBSyFAzGJBK1Hu60TQl7v7idw0nv5MVjo5a6KxJv3WX+I1JaI/d/EIGA1HmafCMmoHZBcjiqa896Z0+NcWvKCSV7QP/IWKLPuw7Tj+H2njKa5Uj+JMAK2ctCoBoiiTCAtHOnk3xeMONkF/bTqVWEb5XwO921I74BEwoFzwItsQcbN4PRpELFpwd0xB8RWTHqHwIy6nxV6a4TlPlgexGkZ9b/K9FqfVxGV5qbU/+z8mPcGfdlpa0mE/YPtIXYQQx2N3gKGSiXysw/5vN/Rs3LQfLnzgH1dQnCwxICClngduMwM2MmH6JfPJ7zrPyQUJNgrPJRWsZF/7r4sIfGnl46jByOZoJ94lEPpLLjJbuhE6kblc6dtImWude/YiywHEDtTZOSzpY6aflke4g5zpaQ3nLGiY+LininX0bpZPOHddOEFtO374SFlOnfNAH7SyOLEnH2GgiRXg7vxDSGvgUxa22hWfk/Pwg7gSKFuiIKLhKPfuV3bQToT8Xd/FUNcb3q1zPyprEQNQyMDhXP8lZvFve5WXfc6vKk84fbAEIEk1AR3sKg/Z+yn+mdYhx8ZEAMvLUqdqvVVjbZ6H2Q//vG4YyCLBj/IU6MJCITIoCNkj0Ih6ynqXRdIkPwdo9ZxqqioJaTmLkQk6q3rxMPk7+6qjdyW4nSYUEN
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:(4636009)(396003)(376002)(39860400002)(136003)(346002)(366004)(83380400001)(36756003)(31696002)(8936002)(86362001)(8676002)(6666004)(38100700002)(53546011)(55236004)(2616005)(956004)(478600001)(316002)(107886003)(16576012)(186003)(2906002)(31686004)(26005)(66946007)(5660300002)(4326008)(66556008)(6486002)(66476007)(54906003)(110136005)(25903002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?V1loR084SzdHT3BoK0hwODJQdzMwTEtWYmFYbjUxS2RVQU9FZEdSWVlVeUEy?=
 =?utf-8?B?UzQ1RkIvVitCRUM5V1dCRHNXNzg0ZTE0c0ZMZ1U1VHNxVGVpMGpDczYzSWZX?=
 =?utf-8?B?eFBQdlBtbGlyOE5pRUkrREg0Y1N2UGVubk51SCt0SFoxQnBOVTdJa2VnTGJt?=
 =?utf-8?B?cDRDRHBOVjRVamt3RmlhbE5EMi9YTkRxT1pWYVhyUzBLVkgwOHZuMTl0ZDlO?=
 =?utf-8?B?OXJNVnUvc3FZMi9CTlBsQ3lnRWVpU2RWRXo1ZWw1OG1VVUVOT0FzbWVOeFZW?=
 =?utf-8?B?SlI3Sys2QlU0bVNyc0dldmFNOWVQa3VETlNxOWVZaW1mb0ZmaWpMcklzS3ZS?=
 =?utf-8?B?TnFmVXBhUlA5S2t1bm1meEtZYjhSSGpTUlpRdlVhNWpOT1F0dFBpM1l2QVJE?=
 =?utf-8?B?WUgyZmdUWkZZa3c2V3BXd0lZYm9xMnB4clRnQUNEbnIyZWEwMVNHcGYzc3da?=
 =?utf-8?B?cnM5NjdDNkJzV0lxTnF4Z1ZsUk9VelAwamxsTFFGRENzMWtuTzRzRW8yY1lm?=
 =?utf-8?B?Qk1qVDVrVzFiSk1nOWRIRVVvaDVXcnRvckZ6dmtRWlpZNFJGN0g3aXlKSExt?=
 =?utf-8?B?aWpYSkNQS3VTU2grcUduNVFNTk15S0R4ZXR1a0xNT2QzdCtUbUVObUcvMVNp?=
 =?utf-8?B?eHhjaDRobU00SFdMNEk3REFJZzl5TW8xVURuN2VIK1FQL2tQbGhHUjVGdEZs?=
 =?utf-8?B?YllSMlhMQ2hwc083YlV0cGc4TEprVXQzc2Z2ZFhFM3FEaGxQWjEzdWVSNVRZ?=
 =?utf-8?B?UWdtcEcxd2NCemgvYi9neXc3NHJTR3dmZGlpc2ZIR0s4TFc5QmhZOFJjT3JI?=
 =?utf-8?B?MFdzTVh6N1NnYmJhZnpqbEk2RHRUNUczOUJqTTZ3eCt6TVVvcTZQSW1PY1Rr?=
 =?utf-8?B?MmNaU21FZmNCUHN5R0EvOFBLditiZDJLK1NaaEo1ZnJQNU93cTNuM3pacjYy?=
 =?utf-8?B?djFHeWhGUmVzcVJxUnVLdmFxWjdaSTRWb3FIVERyMnN2Y1FpTnp0bitpOUxT?=
 =?utf-8?B?Szg4NGVSS2dXb1NndENsM1NBT3dSbjl2OEhwN1BNN2lROU0rQjBlVmcvUTEv?=
 =?utf-8?B?ZitkWUF4L1J5TWhCNEYrL0dQTmV3dVVUdGg2TThPd0dyK1l3Q0tZanpRT1N5?=
 =?utf-8?B?THVNQjFwSmFmYWc2RThsRk1EeXdHKzJIOUU5NXVLYnh0UTFvaEJkSFJTT2xs?=
 =?utf-8?B?VGVWQkVEczJ0NmZWejZNU0dERUJXODJHY0MzS096SnVFNFpjeGdsY3o2Q1Jt?=
 =?utf-8?B?THl2QkFTdHRHUFBLcjkvN1psNjI2QkVSL3kvSk56S0hHRk1tOXd1ekVnVnJr?=
 =?utf-8?B?Y0NLSkhrQkQxa2R6aWhUZnovQ09pbjNKc3Ayb3IwSy9wSm05OSsvUUxDb0p1?=
 =?utf-8?B?OVFqcVBBTUdQZkpaZUNEZ0R2SXNBMW1LaE1nTUhxOTFSSUhYZ29rTGZiNTRs?=
 =?utf-8?B?UUZoYXVZZE9PSzc2OCtJaWplSEFvNUVyZlUyajA1MUx4VWFJODhjSUt1ek55?=
 =?utf-8?B?UFBFclRsVVltNTVvUHNJdW1zTFI1dVoyZFBjU21BcDNjUDhvT1hJN3lmNEdW?=
 =?utf-8?B?c3ExZU1KSnd1MnhSYjFTNmh6L0twZDBwbm5GdklRSHUwclRCdm55bTJXTTRw?=
 =?utf-8?B?d1dLT1paeVJjeFJZbXZnVmV4SVp0SUdPbis0Y2dhRW10SGExQ2NDUkhZSndB?=
 =?utf-8?B?dUNlLzZjY1BsczJWeW5tZzZKQ0VtbWYxK01UZkxDa1MyWG0rTWExRG5zSVc0?=
 =?utf-8?Q?W0sIwXefnUqTXhrDYajENZdb+IeLKGK9FvyJY3n?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 57cba1f6-0145-4040-4ebd-08d96c88bef5
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2021 14:08:02.5734
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: c0bcK9c5mBR1qLrs5u/reL+dBArJOKdXAQKdNRwX8CUUn7uMcMFhCFIe+lBRIw7g3+W/szMmaqxES3RgoL9lhaVaQO+8tpL3UD5nRV9AQck=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5029
X-OriginatorOrg: citrix.com

On 30/08/2021 14:03, Jan Beulich wrote:
> Assuming that the accounting for IOMMU page tables will also take care
> of the P2M needs was wrong: dom0_paging_pages() can determine a far
> higher value, high enough for the system to run out of memory while
> setting up Dom0. Hence in the case of shared page tables the larger of
> the two values needs to be used (without shared page tables the sum of
> both continues to be applicable).

I'm afraid that I can't follow this at all.

What causes the system to run out of RAM while constructing dom0?

>
> While there also account for two further aspects in the PV case: With
> "iommu=3Ddom0-passthrough" no IOMMU page tables would get allocated, so
> none need accounting for. And if shadow mode is to be enabled, setting
> aside a suitable amount for the P2M pool to get populated is also
> necessary (i.e. similar to the non-shared-page-tables case of PVH).
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>
> --- a/xen/arch/x86/dom0_build.c
> +++ b/xen/arch/x86/dom0_build.c
> @@ -318,7 +318,7 @@ unsigned long __init dom0_compute_nr_pag
>      struct domain *d, struct elf_dom_parms *parms, unsigned long initrd_=
len)
>  {
>      nodeid_t node;
> -    unsigned long avail =3D 0, nr_pages, min_pages, max_pages;
> +    unsigned long avail =3D 0, nr_pages, min_pages, max_pages, iommu_pag=
es =3D 0;
>      bool need_paging;
> =20
>      /* The ordering of operands is to work around a clang5 issue. */
> @@ -337,18 +337,23 @@ unsigned long __init dom0_compute_nr_pag
>          avail -=3D d->max_vcpus - 1;
> =20
>      /* Reserve memory for iommu_dom0_init() (rough estimate). */
> -    if ( is_iommu_enabled(d) )
> +    if ( is_iommu_enabled(d) && !iommu_hwdom_passthrough )
>      {
>          unsigned int s;
> =20
>          for ( s =3D 9; s < BITS_PER_LONG; s +=3D 9 )
> -            avail -=3D max_pdx >> s;
> +            iommu_pages +=3D max_pdx >> s;
> +
> +        avail -=3D iommu_pages;
>      }
> =20
> -    need_paging =3D is_hvm_domain(d) &&
> -        (!iommu_use_hap_pt(d) || !paging_mode_hap(d));
> +    need_paging =3D is_hvm_domain(d)
> +                  ? !iommu_use_hap_pt(d) || !paging_mode_hap(d)
> +                  : opt_dom0_shadow;

As per patch 4, this condition needs adjusting.

~Andrew

>      for ( ; ; need_paging =3D false )
>      {
> +        unsigned long paging_pages;
> +
>          nr_pages =3D get_memsize(&dom0_size, avail);
>          min_pages =3D get_memsize(&dom0_min_size, avail);
>          max_pages =3D get_memsize(&dom0_max_size, avail);
> @@ -377,11 +382,20 @@ unsigned long __init dom0_compute_nr_pag
>          nr_pages =3D min(nr_pages, max_pages);
>          nr_pages =3D min(nr_pages, avail);
> =20
> -        if ( !need_paging )
> -            break;
> +        paging_pages =3D paging_mode_enabled(d) || need_paging
> +                       ? dom0_paging_pages(d, nr_pages) : 0;
> =20
>          /* Reserve memory for shadow or HAP. */
> -        avail -=3D dom0_paging_pages(d, nr_pages);
> +        if ( !need_paging )
> +        {
> +            if ( paging_pages <=3D iommu_pages )
> +                break;
> +
> +            avail -=3D paging_pages - iommu_pages;
> +        }
> +        else
> +            avail -=3D paging_pages;
> +        iommu_pages =3D paging_pages;
>      }
> =20
>      if ( is_pv_domain(d) &&
>




From xen-devel-bounces@lists.xenproject.org Tue Aug 31 14:22:28 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 14:22:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175821.320164 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL4eT-0007iP-Uc; Tue, 31 Aug 2021 14:22:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175821.320164; Tue, 31 Aug 2021 14: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 1mL4eT-0007iG-RH; Tue, 31 Aug 2021 14:22:13 +0000
Received: by outflank-mailman (input) for mailman id 175821;
 Tue, 31 Aug 2021 14:22:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mL4eS-0007i7-8Y
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 14:22:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mL4eR-0007cQ-0F; Tue, 31 Aug 2021 14:22:11 +0000
Received: from [54.239.6.185] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mL4eQ-0006YH-Pp; Tue, 31 Aug 2021 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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=cjWChKirsE3TYa+rSgRxzBmKo+/5idooLlOG7GRU6A4=; b=Kc0qJUIseGtT4Glku6OON4spz+
	lJST1LoOyamRVab1cHxlXJPM57uIRgqTK9wR4VAUPgnyBxqQ/bY3/cgfdKRzCXEmhhZjNC9f3qjBd
	J/1bX4swdPYSNGHx3sbN/CINhqHS6l9QwCujLF9P4VMuJJ2rYMTkudKOGuf8qTCuQAn4=;
Subject: Re: [PATCH v3 2/2] tools/xenstore: set open file descriptor limit for
 xenstored
To: Andrew Cooper <andrew.cooper3@citrix.com>, Juergen Gross
 <jgross@suse.com>, Ian Jackson <iwj@xenproject.org>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>
References: <20210730122643.2043-1-jgross@suse.com>
 <20210730122643.2043-3-jgross@suse.com>
 <24836.28.655841.510063@mariner.uk.xensource.com>
 <81a39ab5-5588-65ad-f1a1-7bfe0379b394@xen.org>
 <6ced9858-d425-887c-0045-1aad8521b826@suse.com>
 <c0a6bb5a-3bd8-b1cf-9973-7a95b347befc@xen.org>
 <9352f82a-1b43-4bf6-8b0a-5916627b7537@citrix.com>
From: Julien Grall <julien@xen.org>
Message-ID: <36bd5a9f-629b-f245-d625-3cb725a53d46@xen.org>
Date: Tue, 31 Aug 2021 15:22:08 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <9352f82a-1b43-4bf6-8b0a-5916627b7537@citrix.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit

Hi Andrew,

On 31/08/2021 13:37, Andrew Cooper wrote:
> On 31/08/2021 13:30, Julien Grall wrote:
>> Hi Juergen,
>>
>> On 31/08/2021 13:11, Juergen Gross wrote:
>>> On 30.07.21 19:14, Julien Grall wrote:
>>>> Hi Ian,
>>>>
>>>> On 30/07/2021 14:35, Ian Jackson wrote:
>>>>> Juergen Gross writes ("[PATCH v3 2/2] tools/xenstore: set open file
>>>>> descriptor limit for xenstored"):
>>>>>> Add a configuration item for the maximum number of domains xenstored
>>>>>> should support and set the limit of open file descriptors
>>>>>> accordingly.
>>>>>>
>>>>>> For HVM domains there are up to 5 socket connections per domain (2 by
>>>>>> the xl daemon process, and 3 by qemu). So set the ulimit for
>>>>>> xenstored
>>>>>> to 5 * XENSTORED_MAX_DOMAINS + 100 (the "+ 100" is for some headroom,
>>>>>> like logging, event channel device, etc.).
>>>>> ...
>>>>>> +## Type: integer
>>>>>> +## Default: 32768
>>>>>> +#
>>>>>> +# Select maximum number of domains supported by xenstored.
>>>>>> +# Only evaluated if XENSTORETYPE is "daemon".
>>>>>> +#XENSTORED_MAX_N_DOMAINS=32768
>>>>>
>>>>> I approve of doing something about the fd limit.  I have some qualms
>>>>> about the documentation.
>>>>>
>>>>> The documentation doesn't say what happens if this limit is exceeded.
>>>>> Also the default of 32758 suggests that we actually support that many
>>>>> domains.  I don't think we do...
>>>>>
>>>>> I didn't find anything in SUPPORT.md about how many guests we support
>>>>> but I wouldn't want this setting here to imply full support for 32768
>>>>> domains.
>>>>>
>>>>> If you don't want to tackle this can of works, maybe add this:
>>>>>
>>>>>     # This just controls some resource limits for xenstored; if the
>>>>>     # limit is exceeded, xenstored will stop being able to function
>>>>>     # properly for additional guests.  The default value is so large
>>>>>     # that it won't be exceeded in a supported configuration, but
>>>>>     # should not be taken to mean that the whole Xen system is
>>>>>     # guaranteed to work properly with that many guests.
>>>>>
>>>>> Julien, did you ask for this to be made configurable ?  Having written
>>>>> the text above, I wonder if it wouldn't just be better to
>>>>> unconditionally set it to "unlimited" rather than offering footgun
>>>>> dressed up like a tuneable...
>>>>
>>>> So in v1 (see [1]), Juergen wanted to raise the limit. I assumed
>>>> this meant that the default limit (configured by the system may not
>>>> be enough).
>>>>
>>>> I felt this was wrong to impose an higher limit on everyone when an
>>>> admin may know the maximum number of domains.
>>>>
>>>> By "unlimited", do you mean the calling "ulimit" (or whatever is
>>>> used for configuring FDs) with unlimited?
>>>>
>>>> If so, I would be OK with that. My main was was to move the raising
>>>> the limit outside Xenstored because:
>>>>    1) This is easier for an admin to tweak it (in particular the OOM)
>>>>    2) It feels wrong to me that the daemon chose the limits
>>>>    3) An admin can enforce it
>>>
>>> Coming back to this series, I'm puzzled now.
>>>
>>> Julien, you didn't want me to raise the limit to a specific number
>>> covering the maximum possible number of domains, because you thought
>>> this might result in xenstored hogging huge numbers of file descriptors
>>> in case of a bug. Why is unlimited better then? This will make the
>>> possible number even larger.
>>
>> I don't think I suggested the unlimited number is better... My main
>> objection in your original approach is you set an arbitrary limit you
>> in Xenstored (which may not apply at all) and don't offer a way to the
>> admin to tweak it.
>>
>> If the limit is set outside of Xenstored, then it becomes much easier
>> for someone to just tweak the init script. I don't have a strong
>> opinion on whether the default limit should be "unlimited" or a fixed
>> number.
> 
> xenstored is TCB.  It needs a large number of FDs, and can be trusted
> with unlimited.
> 
> Also, like xenconsoled, we can calculate an upper bound, which is
> derived from the ABI limit of 32k domids.
> 
> All you're haggling over is the error semantics in the case of:
> 1) the upper bound calculation is wrong, or
> 2) there is an fd leak
> 
> Personally, I think a fixed calculation is right, so fd leaks can be
> spotted more obviously. >
> An admin knob is not helpful - higher than the upper bound is just
> wasteful, while lower will cause malfunctions.

A lot of users will never run more than a few handful (maybe hundreds?) 
number of domains... So setting the limit to allow 32K of domains sound 
really wasteful and wouldn't really help to spot FD leaks.

I don't really see the problem to allow an admin to say "I will never 
run more than N domains". So the limit can be lower and would still 
function normally. Do you mind explaining why you think otherwise?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 14:23:04 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 14:23:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175827.320174 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL4fI-0008Gc-7T; Tue, 31 Aug 2021 14:23:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175827.320174; Tue, 31 Aug 2021 14: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 1mL4fI-0008GV-4O; Tue, 31 Aug 2021 14:23:04 +0000
Received: by outflank-mailman (input) for mailman id 175827;
 Tue, 31 Aug 2021 14:23:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mL4fH-0008GN-Ml
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 14:23:03 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mL4fH-0007dN-M4
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 14:23:03 +0000
Received: from iwj (helo=mariner.uk.xensource.com)
 by xenbits.xenproject.org with local-bsmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mL4fH-0006fJ-K8
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 14:23:03 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.89)
 (envelope-from <iwj@xenproject.org>)
 id 1mL4fB-0005UC-82; Tue, 31 Aug 2021 15:22: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=References:In-Reply-To:Subject:Cc:To:Date
	:Message-ID:Content-Transfer-Encoding:Content-Type:MIME-Version:From;
	bh=CG/7Y2lTvQyp/HOiyvzDrrJP0UEvnQuhxgt4gdeQuWo=; b=rGFYQ82uLXeKzrTpOvMEq6NdQp
	VzSrld35Pu8g7uDgPnGUIjBvo0hurGxhYFaUiE1luLI41Ycfqhf943uf1eZEXt9cQ+QKxjdH5htVX
	LxFwSxVt00jhAr1M2KdfSm3ZjAFjoccYuITK6zfYevU9O4zrITrj2sy9MEuVMxiv9hrs=;
From: Ian Jackson <iwj@xenproject.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
Message-ID: <24878.15168.981558.748531@mariner.uk.xensource.com>
Date: Tue, 31 Aug 2021 15:22:56 +0100
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Julien Grall <julien@xen.org>,
    Juergen Gross <jgross@suse.com>,
    <xen-devel@lists.xenproject.org>,
    Wei Liu <wl@xen.org>
Subject: Re: [PATCH v3 2/2] tools/xenstore: set open file descriptor limit for
 xenstored
In-Reply-To: <9352f82a-1b43-4bf6-8b0a-5916627b7537@citrix.com>
References: <20210730122643.2043-1-jgross@suse.com>
	<20210730122643.2043-3-jgross@suse.com>
	<24836.28.655841.510063@mariner.uk.xensource.com>
	<81a39ab5-5588-65ad-f1a1-7bfe0379b394@xen.org>
	<6ced9858-d425-887c-0045-1aad8521b826@suse.com>
	<c0a6bb5a-3bd8-b1cf-9973-7a95b347befc@xen.org>
	<9352f82a-1b43-4bf6-8b0a-5916627b7537@citrix.com>
X-Mailer: VM 8.2.0b under 24.5.1 (i686-pc-linux-gnu)

Andrew Cooper writes ("Re: [PATCH v3 2/2] tools/xenstore: set open file descriptor limit for xenstored"):
> xenstored is TCB. It needs a large number of FDs, and can be trusted
> with unlimited.

I baseically agree with this.

> Also, like xenconsoled, we can calculate an upper bound, which is
> derived from the ABI limit of 32k domids.

IMO the default should support at leaat this much.

However, I don't think you are right, because xenstored offers console
connections to (possibly arbitrarily many) local socket connections.

> All you're haggling over is the error semantics in the case of:
> 1) the upper bound calculation is wrong, or
> 2) there is an fd leak
> 
> Personally, I think a fixed calculation is right, so fd leaks can be
> spotted more obviously.
> 
> An admin knob is not helpful - higher than the upper bound is just
> wasteful, while lower will cause malfunctions.

I don't agree.  Firstly, on a technical level, your statement is true
only if the admin does not know they will be running a much smaller
number of domains.  Secondly, we have had several people saying they
want this to be configurable.  I think if several people say they want
something to be configurable, we should respect that, even if we think
the use cases for it are marginal.  If there are hazards in bad
settings of such a know, that can be dealt with in the docs.

Julien's point about not having the limit set by xenstored itself is
very well taken.

ISTM that the following scheme is in the intersection of everyone's
requirements:

 * The limit will be adjusted/imposed in the startup script.
 * An /etc/{default,sysconfig} parameter will be provided to
   adjust the setting.
 * The default should be `unlimtied` since we cannot calculate
   a safe upper bound for all configurations.
 * Systems like Citrix Hypervisor (XenServer) which can calculate
   a safe upper bound can do so, and adjust the default, enabling
   them to spot fd leaks.

Ian.


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 14:25:57 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 14:25:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175833.320186 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL4i4-0000XW-M6; Tue, 31 Aug 2021 14:25:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175833.320186; Tue, 31 Aug 2021 14: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 1mL4i4-0000XP-J1; Tue, 31 Aug 2021 14:25:56 +0000
Received: by outflank-mailman (input) for mailman id 175833;
 Tue, 31 Aug 2021 14:25:55 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Zqic=NW=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mL4i3-0000XJ-QS
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 14:25:55 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 58f4f0b5-0a67-11ec-ad44-12813bfff9fa;
 Tue, 31 Aug 2021 14:25:54 +0000 (UTC)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2112.outbound.protection.outlook.com [104.47.18.112])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-29-jjs8IFFyMcqy4hUZs2Mjhg-1; Tue, 31 Aug 2021 16:25:52 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM0PR04MB5905.eurprd04.prod.outlook.com (2603:10a6:208:125::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.24; Tue, 31 Aug
 2021 14:25:51 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4457.024; Tue, 31 Aug 2021
 14:25:51 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0271.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1::19) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Tue, 31 Aug 2021 14:25: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: 58f4f0b5-0a67-11ec-ad44-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630419953;
	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=pRtawFD5AaVLaT6Vrfr1hq9HW+U79Jj78hal9efopIY=;
	b=i8PULXUYmBik5bbkDdQrg0drnCpkkMH9VEZ6dpZYRL+11mZDoQBFENHzIUwsOna9+yR/Ng
	E9nj+phMGtFAr4YKAkf/CBeBPiNZMUNAKL3h+qd4ve7IeBDMBLBZDrwQaqRuFyS7+rGrs0
	Ch+ce2kvvGDsOSHdG40xJn+Q7S9TPuY=
X-MC-Unique: jjs8IFFyMcqy4hUZs2Mjhg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FHSNmLMqdcv/jHFIfteYaW+quY/OuIYRdw+HeirZOboF9y8shV4fRByoFkGXOB8tD1Taxu4Rs4McoGEipIjNq3BXXqFrc3u4bnFxa9H8GViHu5JJE2P6gywGEuUjNxLOXZYqZxCf6JDDeIZw7V8Ng9SVtHKin1nAks/F7YQWGq1cFUDl4wK/n89JJZ9XKecOpUd3PvUcs1lW1uoCZA/gXhZvQH59lCeppHcs4G1qzUsaXLE5a/h96Y0o4ZDT7+24FzJRgGUgNMCbFkZu/JWmxUun+zqpInils6UAVX1/qj402EXWYiOho18Yo1z0n0+P+XKPSnEPElqM7/qZDzcRQw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=W/4PAPFzahX5ZZq/XpFDgg9zbHBTXaNrXsQGd7kupnw=;
 b=Or8Pv+0lunS0XX3fvFJ9vXqSXJ6pTYaAfxOEW4uN5/kJxBY90nf1P/iqh/H30mgIF/gpxAqqe4EKLAL8kzz3m2MgNAsC3XqdATFXqONL7CHzDt06Fb62KtThiHIASzfCO8/cE5ZFZchkuM0Hn2EvSvrf5f8ZrGKWIfS2Ca+ubDiMrIAoWwnnBwPI8KUUQPFYE6Uz/rbfN9+2huu/q537SUH5TRNmC0YgVYLlhpF1119l1pLduaPeWZF55ubhMwf28VOfQZORVKfPHmdLwur4hbiTyUTRCLNVNgFIF07uhkE2NE8dK8mMqhNnsVi3SzD/UhYrW7fTSqQT0aF8Wxgzfg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH 4/4] x86/PV: properly set shadow allocation for Dom0
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>, Tim Deegan <tim@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <aae19abb-e88b-8bf8-6f1d-502ac6645d6b@suse.com>
 <35864b86-ae6c-f8ee-99df-cf78751d275d@suse.com>
 <0f00a4fd-47c2-8ba0-13b2-2210d8b4e0e2@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <b07f0c48-67f5-edf7-eb60-a99d95a9854c@suse.com>
Date: Tue, 31 Aug 2021 16:25:49 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <0f00a4fd-47c2-8ba0-13b2-2210d8b4e0e2@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: PR0P264CA0271.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1::19) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: fff59bc3-a903-4439-3a70-08d96c8b3c32
X-MS-TrafficTypeDiagnostic: AM0PR04MB5905:
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB5905240ED5A099385D632868B3CC9@AM0PR04MB5905.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jUysPymAeMz+sKxkLlYs5KfXxmeJaMzr5xZf8v+OShIwJINR/HOByNSa7eZG4SozzQMXKXrlrCjzb6e4TW+POQcNCASSRwaxokX9UeS70uPqzd2UP02YfIS2Gqg+XFApLtQFRPI/jjFm0uZUOrpyVaAbU+UU8DqG/in/opTLCxaQDrkWRun9hXpJ0xKAWoe46hxBJ4byFPy4IgyurxmZePtjo2zHPt9JlccFZ+qnwk0Fs+YCXqA9s3S5hmRhqLIvoHFWPWuw+a+GiyeNenECHeJhCtyIsQ2XdYeMIf4uwAe5S9nyF7cw0CWMHeZICUT42kNEzkTIH4C5BWj6J0cWpGXsnSi+5cdQqfk7uf6Sj4u7luN2SQ98gWNsNwDvU9btu3+RZlDF/k7wy+gFnNW8WhGtJmCXQTyuWo3tyjQ8ssxsjUy7m0NY0GkzfEQvPzpmVtq5V46q/2ycv3SFlvZ+rl4HMYxvSh6Y21EhVw5YFefFuxhnyVETGCpxQpiMkSTUr8kgdPgyUszFpzzUcf12ZthAllWhsj5VjU91H906FU2pQZmG99/wst+868Yu0j11bHnAEmJwC7n9SL/kGl8PKEAAIuv50crcclrTHtc46sd+VkFeTk0RA2seUckJQEoecp4PqHSD5qH/dHU/Mk9+0IHEWSfauSO0hrrT/WyN1lIiz9EYiTmWL6iOOS4dXHkXhXNZuVKBe3TDXhG66/wqV2BxiEXx6P7JryAVMeuOghw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(346002)(396003)(376002)(136003)(39860400002)(26005)(38100700002)(2616005)(31686004)(53546011)(316002)(478600001)(186003)(956004)(16576012)(8676002)(31696002)(5660300002)(66556008)(66946007)(83380400001)(36756003)(66476007)(4326008)(8936002)(54906003)(6916009)(86362001)(6486002)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?zXW+xoZkXPFzLJ+JHcmvrif2P5Ac4BRur9fqoWCkd2bvsVLnXncqH8wf/XMj?=
 =?us-ascii?Q?SsQTe7nFxc9PaKB5TgUHlzF+lAh/EQoX3+6q6ekyGsIUKN93dPPtNmSp/EWr?=
 =?us-ascii?Q?cOXSNLpY+ms3GSp7jU6KuH5dV7OS0WNkNGJa9hg7TV0Veyl6wjM7rZvar8qM?=
 =?us-ascii?Q?KuuVLAzqJLj+1jHjJHd5k4dHIQqLj50DPEzAyJ0+mqFHdjfjGAu02i6qDoEM?=
 =?us-ascii?Q?Sj2PKVFnJvp6qmxJ0KHBDlbICoPpnec7rcMI3WdGfGtOMmCPvf+PgqFXfLg2?=
 =?us-ascii?Q?bbkLM4ZfYH3O69gFssikPQvEogjyICWWj4cqR6v2kijE8fMB3DMxHsMicdwm?=
 =?us-ascii?Q?wPE2I2+pXHCdqIvmG0zxHWzhPmtrndsPPdxFUPmOzKqMxQRpw3ArWFZSw+VN?=
 =?us-ascii?Q?WCgsf5+8FOR6ROuKBdI2WqJkUS3soAEeM6W4sQOzD5I8RDQIQAfLFYTihOva?=
 =?us-ascii?Q?V4moxDmZ1aPUCF4jJiieaM67bx6d/wfA76ewzYyxP7I7/lhForbcAq60yBjj?=
 =?us-ascii?Q?LjSbZTBbhTaLD4m+53RY4d0DWtrXlK1g7d3kh55qClBgczmWO7P5HvdIDxho?=
 =?us-ascii?Q?iZ8S+KIhLsMCY2RcVKf4g1wS6Hr8K5DkPKzKrCWr5gjjuc12Xj00LeB17dh/?=
 =?us-ascii?Q?ZNXdeHcX8MlDcxu1nJvxAMquobvmZ1+0jTkgQVHLa60Oy+UId6vhZwbcbR1W?=
 =?us-ascii?Q?F5UQevpdAgdjVHreXDM7DivyluA3A9fSuWh5o4lf8+9nGqxCmOBIktkOsUmX?=
 =?us-ascii?Q?G8J+yK0BTvC5zWXE9833Mv5lEvCRHUPgzq4Hngx3ACQLWrZd8Shg/WFwt8Dv?=
 =?us-ascii?Q?AqHniFZy/nfKsxkdExv2xdRQ0FZIzErfpbd6ruo4/V/MgsYKXRp0InB2HzTF?=
 =?us-ascii?Q?OEN3hNPY+RLHFQfQ0CPR0fG7IFDwXi4L1W7BWcvaV2t8Ar3H0n1whv4OnkS7?=
 =?us-ascii?Q?QS1j5xUEQRS7XNofUAjS8gjPwOi9aaIa4YhfvkjAH+hY8gX5t1MzIWPligkA?=
 =?us-ascii?Q?dG3y5YDHhpDMDGNwIGIIC5VR/Dq4fX5byGDqpmZZHnk2Be2m6x1/vGwM7WUY?=
 =?us-ascii?Q?yo/Ach1y0a0AKcXvWQrudr64FfpTU0VB7+7zQNKFsBz3HGxz8n9p6UJl76B9?=
 =?us-ascii?Q?gU/nHCHF1xluck7vq7yC3n9MXd7hCkArubcqPt/Nw4Q2g8cxlDfvyhanMDvj?=
 =?us-ascii?Q?GjCniYMlBCbY20gXDlvk6eSmQAaNGqPqN47DAGdN/nrpYRR+l/0mi50Y77oj?=
 =?us-ascii?Q?mrEMSv4eoDJ/X9WLLygCNsZdwSKeXvJPGdjIy0Bu5PvRnvmJCPzOodSqbqnk?=
 =?us-ascii?Q?wCij7kUQDIXr4QP5HIy+Fpsp?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fff59bc3-a903-4439-3a70-08d96c8b3c32
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2021 14:25:51.7003
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: gN/XNpc2ywecPqpvCmQkVbS0qK3XrAQN2xlCcZddYhsuUspvgtlN/yUwETt9RNWUT6j+Lc7YbwO13TDvRsgEwQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB5905

On 31.08.2021 15:47, Andrew Cooper wrote:
> On 30/08/2021 14:03, Jan Beulich wrote:
>> @@ -933,7 +934,17 @@ int __init dom0_construct_pv(struct doma
>>  #ifdef CONFIG_SHADOW_PAGING
>>      if ( opt_dom0_shadow )
>>      {
>> +        bool preempted;
>> +
>>          printk("Switching dom0 to using shadow paging\n");
>> +
>> +        do {
>> +            preempted =3D false;
>> +            shadow_set_allocation(d, dom0_paging_pages(d, nr_pages),
>> +                                  &preempted);
>> +            process_pending_softirqs();
>> +        } while ( preempted );
>=20
> This isn't correct.=C2=A0 The shadow pool is needed even without
> opt_dom0_shadow, because some downstreams have elected not to retain
> upstream's security vulnerability in default setting of opt_pv_l1tf_hwdom=
.

Are you suggesting to set up a (perhaps large) shadow pool just in
case we need to enable shadow mode on Dom0? And all of this memory
to then remain unused in the majority of cases?

Plus even if so, I'd view this as a 2nd, independent step, largely
orthogonal to the handling of "dom0=3Dshadow". If somebody really
wanted that, I think this should be driven by an explicit setting
of the shadow pool size, indicating the admin is willing to waste
the memory.

I'm further puzzled by "not to retain upstream's security
vulnerability" - are you saying upstream is vulnerable in some way,
while perhaps you (XenServer) are not? In general I don't think I
view downstream decisions as a driving factor for what upstream
does, when the result is deliberately different behavior from
upstream.

> Also, dom0_paging_pages() isn't a trivial calculation, so should be
> called once and cached.

Sure, can do that. You did notice though that all I did is take
PVH's similar code?

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 31 14:48:03 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 14:48:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175844.320197 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL53M-0003PO-EW; Tue, 31 Aug 2021 14:47:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175844.320197; Tue, 31 Aug 2021 14:47:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL53M-0003PH-BO; Tue, 31 Aug 2021 14:47:56 +0000
Received: by outflank-mailman (input) for mailman id 175844;
 Tue, 31 Aug 2021 14:47:55 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mL53K-0003PB-UL
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 14:47:54 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mL53K-00088I-01; Tue, 31 Aug 2021 14:47:54 +0000
Received: from [54.239.6.185] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mL53J-0000g2-PB; Tue, 31 Aug 2021 14:47:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=FdVoFEkdwMQVC3eulYe1SY6fAm/PI7+4L8jW8fXIUzs=; b=k693X1q+AP56k31qcCMKOGxtRg
	CPbgV69YxtlV3w66GMmkIeNcc7ap+u7LUxujgEqKcqQJiU3OaR8oCcUj3sUJL7ABKpMgntEaFyVVs
	snGi/1Mu08vPwpUM0360cq0rAulUsrLuirpbrJXdcw28h3QFgoGnSj95gNkdl/9oaquE=;
Subject: Re: [PATCH v3 7/7] xen/arm: Sanitize CTR_EL0 and emulate it if needed
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1629897306.git.bertrand.marquis@arm.com>
 <a7482653a0c29d68854846f25553f4938a6279b9.1629897306.git.bertrand.marquis@arm.com>
 <14b1639e-c9e4-f8fb-e921-73d7f28681ac@xen.org>
 <98E8FB9D-3372-47D2-92F7-8AD401AC1092@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <6705127a-bde2-36cd-0fed-900eb1eace03@xen.org>
Date: Tue, 31 Aug 2021 15:47:52 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <98E8FB9D-3372-47D2-92F7-8AD401AC1092@arm.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit



On 31/08/2021 14:17, Bertrand Marquis wrote:
> Hi Julien,

Hi Bertrand,

> 
>> On 27 Aug 2021, at 16:05, Julien Grall <julien@xen.org> wrote:
>>
>> Hi Bertrand,
>>
>> On 25/08/2021 14:18, Bertrand Marquis wrote:
>>> Sanitize CTR_EL0 value between cores.
>>> In most cases different values will taint Xen but if different
>>> i-cache policies are found, we choose the one which will be compatible
>>> between all cores in terms of invalidation/data cache flushing strategy.
>>
>> I understand that all the CPUs in Xen needs to agree on the cache flush strategy. However...
>>
>>> In this case we need to activate the TID2 bit in HCR to emulate the
>>> TCR_EL0 register for guests. This patch is not activating TID2 bit all
>>> the time to limit the overhead when possible.
>>
>> as we discussed in an earlier version, a vCPU is unlikely (at least in short/medium) to be able move across pCPU of different type. So the vCPU would be pinned to a set of pCPUs. IOW, the guest would have to be big.LITTLE aware and therefore would be able to do its own strategy decision.
>>
>> So I think we should be able to get away from trappings the registers.
> 
> I do agree that we should be able to get away from that in the long term once
> we have cpupools properly set but right now this is the only way to have
> something useable (I will not say right).
> I will work on finding a way to setup properly cpupools (or something else as
> we discussed earlier) but in the short term I think this is the best we can do.

My concern is you are making look like Xen will be able to deal nicely 
with big.LITTLE when in fact there are a lot more potential issue by 
allow a vCPU moving accross pCPU of different type (the errata is one 
example).

> 
> An other solution would be to discard this patch from the serie for now until
> I have worked a proper solution for this case.
> 
> Should we discard or merge or do you have an other idea ?
Please correct me if I am wrong, at the moment, it doesn't look like 
this patch will be part of the longer plan. If so, then I think it 
should be parked for now.

This would also have the advantage to avoid spending too much time on 
resolving the emulation issue I mentioned in my previous answer.

No need to resend a new version of this series yet. You can wait until 
the rest of the series get more feedback.

[...]

> If we get interrupted, someone could program CSSELR differently and the next read
> will not be reflecting what the guest actually wants to do

AFAICT, CSSELR is preserved during the context switch of vCPU. So that 
someone would have to be Xen, right?

If so, what you describe would also be an issue even if we didn't trap 
the register. Therefore, if Xen would ever use CSSELR, then that code 
would need to save the value, use the register and then restore the 
value with preemption disabled.

> 
> The code is not preemptible right now so this cannot be an issue but I added the
>   comment more as a warning.
> 
> This is not something from the documentation, this is because value written
> in CSSELR is defining what is read from CCSIDR
> 
>>
>>> +            WRITE_SYSREG(v->arch.csselr, CSSELR_EL1);
>>> +            set_user_reg(regs, regidx, READ_SYSREG(CCSIDR_EL1));
>>> +        }

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 15:20:30 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 15:20:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175855.320208 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL5Yn-0007wo-0v; Tue, 31 Aug 2021 15:20:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175855.320208; Tue, 31 Aug 2021 15: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 1mL5Ym-0007wh-Tc; Tue, 31 Aug 2021 15:20:24 +0000
Received: by outflank-mailman (input) for mailman id 175855;
 Tue, 31 Aug 2021 15:20:23 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/iqM=NW=gmail.com=ltykernel@srs-us1.protection.inumbo.net>)
 id 1mL5Yl-0007wb-84
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 15:20:23 +0000
Received: from mail-pg1-x535.google.com (unknown [2607:f8b0:4864:20::535])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 28a68d0c-5416-431d-b1fa-4e374ed92493;
 Tue, 31 Aug 2021 15:20:22 +0000 (UTC)
Received: by mail-pg1-x535.google.com with SMTP id k24so17034483pgh.8
 for <xen-devel@lists.xenproject.org>; Tue, 31 Aug 2021 08:20:22 -0700 (PDT)
Received: from ?IPv6:2404:f801:0:5:8000::50b? ([2404:f801:9000:1a:efea::50b])
 by smtp.gmail.com with ESMTPSA id
 x8sm7986672pfj.128.2021.08.31.08.20.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 31 Aug 2021 08:20: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: 28a68d0c-5416-431d-b1fa-4e374ed92493
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=bHjdW+TFSdvqPfi7vbsYmlySYD0qeWma8ZlepyZ1pyA=;
        b=vKMmKg2JfTEH2r2TLKjdeGLs50EV+1jZUgn5bOxg36v536g3yxVJyUm07AJrRe5zpl
         tBmmevtBUhZm2otLHjO+t6XZXSqKFmlgJCMuDJmWa/GXj0SoH6IO4AASbNQrCa0nh7qM
         B7KI7XsRMY0RH1QUZ2VUGE8whdNH2gKq9Z8kV8Ym5rAqaokVsDSlFZJi22dmYwhDgQhT
         USid/NU4WRGPSTarkDcXxdUTAx9LYuGrR6Nv4PIqqo7PphtFsJN7VG6hLWhI5/qBs3Di
         +x+drrXZWdPlOXc87KdUarIUyVQNpVlgBbEDUDQ2DCD3gwGIwD/mm2RVJSZt7qbmg0qd
         mMeg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:subject:to:cc:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=bHjdW+TFSdvqPfi7vbsYmlySYD0qeWma8ZlepyZ1pyA=;
        b=FZl2SYYD9MHO/l3XVFT+2ay3Q8IX/JpXqH+WgHfvKg5JXnq/NRDVC9hCGFz8eNWbn3
         TtBzGDXwjBqQEz4vhPJGQUqWldq59LnBSec9ssW+HCf4PLeubfqstBZ06jGlc6gzHQyi
         Sd42H2gNF0jextZDfZk5Pydqe6AcbvhM8WcZaw6RMnXFAhlnc3KnUtG92E6i+W/xt05I
         wz+Y/tWka/cxoB8g8x7XOWgGKaSNETRx1fZZgY8h56dMdOceLCB+cvZdvr0VJ6aj78MF
         /69jOCZV+8kQYNInfP0CYcudU7LVjCg1MSkwHGHqoDnQNVRf9sNBOgHxy0TXlRDRS0Sf
         8qcA==
X-Gm-Message-State: AOAM532cI8tR6Mwo4+nR0/hkNYmWtrZ/krd1rH4h+15ZzH2vox5YoItO
	IhxJkJd8vTRdPdDl1acnKgQ=
X-Google-Smtp-Source: ABdhPJzSdF8ZTtYVUbdAWtHig1Ob457a20faxiqqeItSlT8AzOFj7ZlOHpfBE0oc7/WJzromHshTYw==
X-Received: by 2002:a62:8144:0:b0:3af:7e99:f48f with SMTP id t65-20020a628144000000b003af7e99f48fmr28970407pfd.2.1630423221259;
        Tue, 31 Aug 2021 08:20:21 -0700 (PDT)
Subject: Re: [PATCH V4 00/13] x86/Hyper-V: Add Hyper-V Isolation VM support
To: Christoph Hellwig <hch@lst.de>
Cc: kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com,
 wei.liu@kernel.org, decui@microsoft.com, catalin.marinas@arm.com,
 will@kernel.org, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
 x86@kernel.org, hpa@zytor.com, dave.hansen@linux.intel.com, luto@kernel.org,
 peterz@infradead.org, konrad.wilk@oracle.com, boris.ostrovsky@oracle.com,
 jgross@suse.com, sstabellini@kernel.org, joro@8bytes.org,
 davem@davemloft.net, kuba@kernel.org, jejb@linux.ibm.com,
 martin.petersen@oracle.com, gregkh@linuxfoundation.org, arnd@arndb.de,
 m.szyprowski@samsung.com, robin.murphy@arm.com, brijesh.singh@amd.com,
 thomas.lendacky@amd.com, Tianyu.Lan@microsoft.com, pgonda@google.com,
 martin.b.radev@gmail.com, akpm@linux-foundation.org,
 kirill.shutemov@linux.intel.com, rppt@kernel.org, hannes@cmpxchg.org,
 aneesh.kumar@linux.ibm.com, krish.sadhukhan@oracle.com, saravanand@fb.com,
 linux-arm-kernel@lists.infradead.org, xen-devel@lists.xenproject.org,
 rientjes@google.com, ardb@kernel.org, michael.h.kelley@microsoft.com,
 iommu@lists.linux-foundation.org, linux-arch@vger.kernel.org,
 linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
 linux-scsi@vger.kernel.org, netdev@vger.kernel.org, vkuznets@redhat.com,
 parri.andrea@gmail.com, dave.hansen@intel.com
References: <20210827172114.414281-1-ltykernel@gmail.com>
 <20210830120036.GA22005@lst.de>
From: Tianyu Lan <ltykernel@gmail.com>
Message-ID: <91b5e997-8d44-77f0-6519-f574b541ba9f@gmail.com>
Date: Tue, 31 Aug 2021 23:20:06 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <20210830120036.GA22005@lst.de>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit

Hi Christoph:

On 8/30/2021 8:00 PM, Christoph Hellwig wrote:
> Sorry for the delayed answer, but I look at the vmap_pfn usage in the
> previous version and tried to come up with a better version.  This
> mostly untested branch:
> 
> http://git.infradead.org/users/hch/misc.git/shortlog/refs/heads/hyperv-vmap

No problem. Thank you very much for your suggestion patches and they are 
very helpful.


> 
> get us there for swiotlb and the channel infrastructure  I've started
> looking at the network driver and didn't get anywhere due to other work.
> 
> As far as I can tell the network driver does gigantic multi-megabyte
> vmalloc allocation for the send and receive buffers, which are then
> passed to the hardware, but always copied to/from when interacting
> with the networking stack.  Did I see that right?  Are these big
> buffers actually required unlike the normal buffer management schemes
> in other Linux network drivers?


For send packet, netvsc tries batching packet in send buffer if 
possible. It passes the original skb pages directly to
hypervisor when send buffer is not enough or packet length is larger 
than section size. These packets are sent via 
vmbus_sendpacket_pagebuffer() finally. Please see netvsc_send() for 
detail. The following code is to check whether the packet could be 
copied into send buffer. If not, the packet will be sent with original 
skb pages.

1239        /* batch packets in send buffer if possible */
1240        msdp = &nvchan->msd;
1241        if (msdp->pkt)
1242                msd_len = msdp->pkt->total_data_buflen;
1243
1244        try_batch =  msd_len > 0 && msdp->count < net_device->max_pkt;
1245        if (try_batch && msd_len + pktlen + net_device->pkt_align <
1246            net_device->send_section_size) {
1247                section_index = msdp->pkt->send_buf_index;
1248
1249        } else if (try_batch && msd_len + packet->rmsg_size <
1250                   net_device->send_section_size) {
1251                section_index = msdp->pkt->send_buf_index;
1252                packet->cp_partial = true;
1253
1254        } else if (pktlen + net_device->pkt_align <
1255                   net_device->send_section_size) {
1256                section_index = 
netvsc_get_next_send_section(net_device);
1257                if (unlikely(section_index == NETVSC_INVALID_INDEX)) {
1258                        ++ndev_ctx->eth_stats.tx_send_full;
1259                } else {
1260                        move_pkt_msd(&msd_send, &msd_skb, msdp);
1261                        msd_len = 0;
1262                }
1263        }
1264



For receive packet, the data is always copied from recv buffer.

> 
> If so I suspect the best way to allocate them is by not using vmalloc
> but just discontiguous pages, and then use kmap_local_pfn where the
> PFN includes the share_gpa offset when actually copying from/to the
> skbs.
> 
When netvsc needs to copy packet data to send buffer, it needs to 
caculate position with section_index and send_section_size.
Please seee netvsc_copy_to_send_buf() detail. So the contiguous virtual 
address of send buffer is necessary to copy data and batch packets.


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 15:26:02 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 15:26:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175862.320219 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL5e0-0000QI-Ph; Tue, 31 Aug 2021 15:25:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175862.320219; Tue, 31 Aug 2021 15:25:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL5e0-0000QB-MD; Tue, 31 Aug 2021 15:25:48 +0000
Received: by outflank-mailman (input) for mailman id 175862;
 Tue, 31 Aug 2021 15:25:48 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kH2E=NW=citrix.com=Andrew.Cooper3@srs-us1.protection.inumbo.net>)
 id 1mL5dz-0000Q5-WE
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 15:25:48 +0000
Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 48f821ee-c3d6-4473-a068-cd025a63ee19;
 Tue, 31 Aug 2021 15:25: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: 48f821ee-c3d6-4473-a068-cd025a63ee19
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1630423546;
  h=to:cc:references:from:subject:message-id:date:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=jsvOLy2sUdYGE84OkOnPk3tNPIqNmrfXB+EjrMaBW2E=;
  b=BWgsw4Q1nQrfbVUp5yXD51TmlsMlkSaPAkATQjdM9qVJIl4P4Q9paFec
   CrDfPyc+0r65f36xX4Fzh1GfL+zPs2RbBnv2Tz6Ndr3E4fp9i8AW44vVi
   lBQWHE5FuIwfiKN73jUWdm/olgaXuF5up6/GgixUIINb3vrU1zn2QbgMO
   4=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: EpYIAtrJwCnoDuZXE0//T+szq3jFwZJ+XCMYvLs8bM75VBrzbvHrk2bKA4TAr3zZab8J0e2+wK
 wikQaMJUaKHm7V9oSoEKoHu68S+DITZGTs7kAPbLCj7fOgRTf1PfTnpMCzugoPRRiv+hgqm0Si
 lJP0K+s0pwkN/lEWyOmsd5Ra9Crn7W5d+piIJNl3VxPxBOMamKeZPJehJzi+QZpiH9ypJmc+kR
 1wB7NXcgVla+I6pDwi2qhNiz7TnKWEScoHrlrOKSDDi82xc4vLmwp++/mJ4Ev0K9SPEMywRK17
 iji9N/Sri7zGqJOXySi9GWph
X-SBRS: 5.1
X-MesageID: 51312164
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:jMSjNKpuEEsCU3JlWDT91IcaV5oveYIsimQD101hICG9E/b1qy
 nKpp8mPHDP5wr5NEtPpTnjAsm9qALnlKKdiLN5Vd3OYOCMghrKEGgN1/qH/xTQXwH46+5Bxe
 NBXsFFebrN5IFB/KTHCd+DYrMd/OU=
X-IronPort-AV: E=Sophos;i="5.84,366,1620705600"; 
   d="scan'208";a="51312164"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FIBgfedRZfyqgChTS4bpVODtuyV4nuvOFoH+MmFOo6vHRyCEVPbDqqSx7Gwtnbq4op8YeS22vhM3ORecdt0zR/b8kv1OL3oKZggOaQWcIj1NPc5Cw9MaPXw1S3osd8T7SW6a/euPhgJenWNstlKKFkAJZOXYPB9WF4D4/Acz7bK5IUb51SU+Axht6XXi/fhssfcJMrntetUJ8uskNGagmTQK3t+bqt5qbuxNIAaWn+KvLlaI4V8XnMsLabqJZ+YXfcTmhPzdIunCPTzie4qG6y+UF0MmZLG4Bn6ErEvAHeHTr7FZG1B5iY9SnCkPo+6GFhDcXZRV5Po2Vfg2cRIoZw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version;
 bh=CnQbHdPGCNJy4/jJuVsKzbrpwgrQe9EcFfe6kRh7Q/o=;
 b=lNIkLVScZGBp/GPKVGxQ3qb6V04XvB4jq33sXrbdt8B7Mfo6e6z4z0H+hZ3MPOuyDO6dd1rP55cT5M5Ic1aAfdv7pNjxMPNobC6Ec5jL8zmwQKYWc8wPHeH2uQ/pdRI7Cdu0j0m/XX6nmt42TORDjmLU+uujaDQfkmpfAbcadnfkBBgeDryGprU6rINzZM0GfSTr8izgGTndIoSleU26IqnWYEshi8VkABs1sv/KdqlskXGldE7Nd013qkp7KblrUN4BYqtyiXxNqTHqtuqDoz8uF+fu8lyCC5eGE+yFY8k2u7B9owGmQYLOJnzIIIZLGBSquYFBEbtxTm2HOMD+uQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CnQbHdPGCNJy4/jJuVsKzbrpwgrQe9EcFfe6kRh7Q/o=;
 b=rWmYDMJLcsyzBJ4gg3/ejz10OacPeAXWl7gePdle0LsDe2UydadMwuwMmzDxrf3eegf3uHZwmJl/kUrhlSZGJATewtiL7/SY0e0p/AokLfNypvro/TGu2GSE43mF+yrNns1eU39g8Vnyn9T8yTfxNQQeP75ktdV+jtL40sQ+uO4=
To: Jan Beulich <jbeulich@suse.com>
CC: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
	<roger.pau@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
References: <aae19abb-e88b-8bf8-6f1d-502ac6645d6b@suse.com>
 <93ecc397-1293-69b1-e70d-3c5f9317229a@suse.com>
 <ad1e33b5-d729-2680-7f9f-aa875c2d9cfa@citrix.com>
 <f684e203-9967-8653-d59f-ad11f5070aef@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 2/4] x86/P2M: relax guarding of MMIO entries
Message-ID: <7f56c625-eee6-31c4-2d6f-bd7334867d83@citrix.com>
Date: Tue, 31 Aug 2021 16:25:35 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <f684e203-9967-8653-d59f-ad11f5070aef@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-GB
X-ClientProxiedBy: LNXP123CA0009.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:d2::21) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 9f5e146f-5b81-41e1-eae6-08d96c939813
X-MS-TrafficTypeDiagnostic: BYAPR03MB4360:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <BYAPR03MB436022E14F1650D6C4E06E40BACC9@BYAPR03MB4360.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: xlZZqJNBElih29FrQgCrAeXH4ognTXywdCzlceIEHc17UQn/ps0xDfiWZ+AsRdjUNJWV+AoavWXuNFUPgt1sE948ZLfSvNZgyczSB3SaHLCesLTdcUo3EiuVRpspFRssJlOYpeYoxxJgmEc2hhCH2rhl3KnezK+QPZJjpKNRFpC5echbe5wArGN9CAwSefxmDJ5pcdaiNeMfWUAIrjLXvLXKZXJeuUbtSQ+uXLUu9Jidm9rOwSYLuwRtgw6WqnV/y8InlInMZ0X8FYkRIJ5oQ0hfOpr9kqscygy4kdija6JDzsoVvwgQSYr3OYgbcZmTI6hXK9+/cKFpD6elVT9ka+YPzadrI/6Qmho+h3mgeeXfVsdffjE1b7442SSEnzMEybyuC+Q9JfccFIQni48OiHpvSKChiAD7fGRdaxruQGaCaL2Moqn97oBVOilkLZmspUntJvjiYmVAh6zSBElIHFIcIqVpvLy3BYzmk25UoWksAOvJZ1NxEso3M30h0TQPRnzSN8ACISoA3Xh25Spco/L8G8LAXjySBnzZAva7+Ot+JVwgVzlA2S7Oe7FwlY6GTjPcsGRaUe9+3Y0OA2h4eAYkDshuxqh3F7x5dHiNbDSQFIx9Y9tSsnguqdL0eJNu2ihzj9K7xGm/KLyrVBbNwejX0X+9wV141o36mgEH6rHOWurMEgQshvbllz+TiETE+BUxFo9ehh86JZ+zKb0+8IlK7VnTdvhI/0hr8B05oo4=
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:(4636009)(396003)(366004)(376002)(346002)(39860400002)(136003)(2906002)(16576012)(53546011)(55236004)(31686004)(6486002)(83380400001)(186003)(316002)(5660300002)(36756003)(478600001)(956004)(66946007)(2616005)(66476007)(86362001)(31696002)(4326008)(6666004)(38100700002)(8676002)(8936002)(66556008)(54906003)(26005)(6916009)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RjJVRGR3c2J6clRXcmxRdkFSNVh4UEVlUndURWhTay9NZEluSXlsOE1PWVdM?=
 =?utf-8?B?OFoxYTFNUkR0YzgrdzlmR01wamRRVllGK0VSSEtSYkFXR2Z3cEFPb0orbG5r?=
 =?utf-8?B?THBNcUs2Qnh2YUVjQ3VqNDB2ODJZK3I5TlBESXBDdUdxenhvb3dxZFJmakZN?=
 =?utf-8?B?TmtMZllTQWN0WFZWSkdHRGpkSlJIUCszSnNNbzRJZjdFdEpzemV6MGQxQ2Zh?=
 =?utf-8?B?RnY5TFRwWTkrZ2NSbzVMSzdCb2VVOTYxM2xYbzlUam93VlFsc0dOK1FvQ0R4?=
 =?utf-8?B?TFZGQnVRd3NuRWY1eGlURS9LYVQ3WUJ2S01HaXdRd0xyaGJ2U1pJZXBscHJM?=
 =?utf-8?B?d3ZDQ0NSUDc2M0Vyd21yanZKWWpUNTlzZU5NOVQvMEhqZm1XWnpZVGxob0N1?=
 =?utf-8?B?R3R2cHlCSE92YzQzWmFyM0NlKzBzWHB4eHlUU3BSWVdBVDIwOG5oOENHOVly?=
 =?utf-8?B?YmFReEZTQnRyWFB6ZTd0clZvWEU3U0tLT2w3bGtSU0c2V3ZXc2hOUVV0VUxk?=
 =?utf-8?B?QTBqT2V1OTlKL3RWenRXRWhVWDFvYnAwTTE2azQ2N3ltaDlTNHVuSDc3alVi?=
 =?utf-8?B?eWxMQTVQSnNYWkN0Mkovd1pGSnYrOXg0RWllbW9taWFuTUk0MC8wM2tjV0h6?=
 =?utf-8?B?a0JjSCtkQ2J3MS9PRnErRVhrM1V2QkZGdnJFUmxvSkFSd3RkK3VVQ0xxdnFN?=
 =?utf-8?B?RUdaVk5veW9TZGtaUTU1aktMSU1wdWQ0aEpETnJHdFdOK0FTd3RxQnRma3Rq?=
 =?utf-8?B?UTM3UU5ib2M1MzJVaG9pU1BXNzdvTHpiSFIwVHNjMGRsTmVkMlRjbzJhL3ZR?=
 =?utf-8?B?dlNzaC9qY1drMGwremd6YWt2R2NnYVQrdjBLb1huWVFZV2Zaa0Z4REpGZ21S?=
 =?utf-8?B?TVB6aW5GZ2hDbmZMbFh6c0RMMVVKWG1oYk10aDBUMlR1TTNZajdpR0MwWW9O?=
 =?utf-8?B?NDJob0luaGRDUmQzNk11VWg5VWhtSmVFTk1PNU1wT2pFd1g3VDQ3S24wb2Jz?=
 =?utf-8?B?aTMzV0FFYlcyNEdac1M2Ym1vc3VXdVJEc05kd1oveXIrU0NQdFg1Skl3VmVD?=
 =?utf-8?B?aWRQNjJZdjFkelRvWmhIRWdaeXRxQUFGZG5yOXl1aE9oTlRHWFVBMjFwMnkv?=
 =?utf-8?B?ZVpNdGFNU2VXQURDM0NoZlVhZ0FlWVVTQ0ROTkJHaUx0eDhhT3pTTkNLMDZL?=
 =?utf-8?B?SVZIeHlaeDN0RE0welpobmp0QzVSejVLTFdTN1VEc0txOHAyUDVFRkZUaHE0?=
 =?utf-8?B?UTFjdGVuWE9mT2FBM1c4RXNaVHdhbUxTVWhtdVcxb3ZnTk5oRHhNdFpicXUr?=
 =?utf-8?B?K3Jvd3hXNDZoZkFObUZveDcvS0o2eUdsWVlIc05kREtNSmJPNzU2Wlgrc2hK?=
 =?utf-8?B?VENpZ0F5UUIzZ01ZeG1vWVhlYWZzQ3ZjM0xWVGk3Z093ZkRCRkhMTEx1a3hu?=
 =?utf-8?B?VmZHRVB5NDNCUU53UWhOb3B3Y2g5dnpyZ3Z6T2gvakNjY1YvYlg1ZldyTHNo?=
 =?utf-8?B?b3hLVytkM1VtWTFWeFUxd2xOaDdudkNoUXZXeFFvd1NyQ1BjYXZkRXFJL2V3?=
 =?utf-8?B?c1lDcy9XTjRVeXV5SnlFQWVmN2R2RHlpeHI2c3VUZHBNS0svUUlVK3ZTMTlr?=
 =?utf-8?B?cVh4eG5QKzd6UnpUN2RPRUY4a09pWkJ1RUw4WG1qV0FQNGJ4VVByRjZOQ3Ri?=
 =?utf-8?B?OFdtTFlCZVR4OEdiVmhqK3F4dFlJOVJrUndlM2YzK0xwemdiZXhHajVnN3Vq?=
 =?utf-8?Q?0mLS09mBr2ffjDpp9Du1rLprewYg+8vpSkTGAbN?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 9f5e146f-5b81-41e1-eae6-08d96c939813
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2021 15:25:41.9388
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1ij5z2TT3fTLNVMd3g1uk0/hKWluR1kUzGDFhhCT1yVD6lLsgot/XLmRTssALiP4RNn5FJFKSzBop/gHH08NgOXkdZlUbvGpSIqg1HhON+Q=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB4360
X-OriginatorOrg: citrix.com

On 31/08/2021 14:26, Jan Beulich wrote:
> On 31.08.2021 15:16, Andrew Cooper wrote:
>> On 30/08/2021 14:02, Jan Beulich wrote:
>>> Further permit "access" to differ in the "executable" attribute. While
>>> ideally only ROM regions would get mapped with X set, getting there is
>>> quite a bit of work. Therefore, as a temporary measure, permit X to
>>> vary. For Dom0 the more permissive of the types will be used, while for
>>> DomU it'll be the more restrictive one.
>> Split behaviour between dom0 and domU based on types alone cannot
>> possibly be correct.
> True, but what do you do.
>
>> DomU's need to execute ROMs too, and this looks like will malfunction if
>> a ROM ends up in the region that HVMLoader relocated RAM from.
>>
>> As this is a temporary bodge emergency bugfix, don't try to be clever -
>> just take the latest access.
> And how do we know that that's what is going to work?

Because it's the pre-existing behaviour.

>  We should
> strictly accumulate for Dom0. And what we do for DomU is moot for
> the moment, until PCI passthrough becomes a thing for PVH. Hence
> I've opted to be restrictive there - I'd rather see things break
> (and getting adjusted) when this future work actually gets carried
> out, than leave things permissive for no-one to notice that it's
> too permissive, leading to an XSA.

Restricting execute permissions is something unique to virt.=C2=A0 It doesn=
't
exist in a non-virtualised system, as I and D side reads are
indistinguishable outside of the core.

Furthermore, it is inexpressible on some systems/configurations.

Introspection is the only technology which should be restricting execute
permissions in the p2m, and only when it takes responsibility for
dealing with the fallout.

~Andrew



From xen-devel-bounces@lists.xenproject.org Tue Aug 31 15:30:15 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 15:30:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175868.320230 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL5iI-0001n3-Cv; Tue, 31 Aug 2021 15:30:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175868.320230; Tue, 31 Aug 2021 15:30: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 1mL5iI-0001mw-8o; Tue, 31 Aug 2021 15:30:14 +0000
Received: by outflank-mailman (input) for mailman id 175868;
 Tue, 31 Aug 2021 15:30:12 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Zqic=NW=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mL5iG-0001mq-Rs
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 15:30:12 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 5450fd68-0a70-11ec-ad4c-12813bfff9fa;
 Tue, 31 Aug 2021 15:30:11 +0000 (UTC)
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur02lp2050.outbound.protection.outlook.com [104.47.4.50]) (Using
 TLS) by relay.mimecast.com with ESMTP id de-mta-9-uVGxvCHpMVi-NANfzYssBw-1;
 Tue, 31 Aug 2021 17:30:09 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM8PR04MB7476.eurprd04.prod.outlook.com (2603:10a6:20b:1d1::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23; Tue, 31 Aug
 2021 15:30:08 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4457.024; Tue, 31 Aug 2021
 15:30:08 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 AM9P195CA0014.EURP195.PROD.OUTLOOK.COM (2603:10a6:20b:21f::19) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.19 via Frontend Transport; Tue, 31 Aug 2021 15: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: 5450fd68-0a70-11ec-ad4c-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630423810;
	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=YrHhJgw6JNniaTdTN/dAOYdsAIUG+a9r5VPgstCwwkc=;
	b=kLR2r0J8yoiIyQTXRVcK0FmbM/Boit/NvNglN3VN/XIvSl5dvZfcKS53cR75t2g4ULryys
	X8bHes2GapEs+ozbWCrTlfrv2aCWNAiFAXkc7kAv2vlfX6CjRgGt/c9T7DxxN/zmTdAeSM
	mRd8lbVJl5xDoKjbGDk90KUwR5SIT2I=
X-MC-Unique: uVGxvCHpMVi-NANfzYssBw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QjVoBzouN051jMJBD3Msed5ooT8Va+2Ysr87mUwltwxOp7DhQk/LzFXxU0/hza1BGyTXSw3CZo21gsLtWgOi0Aj7s7kCx8AVF+KJ9QLhBoUY3gFkfYq3RlPSOMouyQJ1G4y84oztCO6EK9g2p3hCBnmy7HuYKI5h/xra4sRFTCAUdk+Jqs7chVrJWj6UI93+AK7hpCDTmIQbO5ikzKQEGGNckoRGbED+FvniwRIZ0lN40MOOlSj9nmjqUmvc/l/cpPTIEpm8sbnH/hvfDutrvqjFc47hNtA/5YN2+EBSMdQKioz1wJcmp3JzjxDCiKfO0V97g0WTjvwEGwLMJyA5ZA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YrHhJgw6JNniaTdTN/dAOYdsAIUG+a9r5VPgstCwwkc=;
 b=Yka1cRprlzXEq08IOdZrMaeq8lT9uQNwTg9M6IpU4G/iQ2TchkO9G0bx4pjnnt/vO7JdZya4ftP64fVrUqldQ6ndxf7VRU6oN2zPsl3x4WC4Oi0ub0y7W6jx1vXvfKUmXwLyLsuiBoQA4zKI5qsCMVER8E1LVC082p4JCuPdn4AYlsNnoEfxwOwefFwXCEP67z26+sFKjPk3ro3USkn6vzxwrgQo2CCiVBkgR0IkXRySS9JlLkFi/cz7mCZAQd8W9LgAJvP0CjPfrr5sksfQF2Znp06UhMUzQcgR0zlRGqRSFPVyFWmmU0uePvUXiwr8IVBZB9MSWueNPFJoGUv5bg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH 3/4] x86/PVH: improve Dom0 memory size calculation
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: <aae19abb-e88b-8bf8-6f1d-502ac6645d6b@suse.com>
 <a1c71c0a-8bc7-3f6f-ef5c-a0ef854fab33@suse.com>
 <abb0e218-d02f-a1f4-2d48-3d3d3c681b06@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <67c30a53-b0cd-44b8-c446-6b6cdf0e740f@suse.com>
Date: Tue, 31 Aug 2021 17:30:07 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <abb0e218-d02f-a1f4-2d48-3d3d3c681b06@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM9P195CA0014.EURP195.PROD.OUTLOOK.COM
 (2603:10a6:20b:21f::19) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f80ded41-8f80-4e62-1503-08d96c943703
X-MS-TrafficTypeDiagnostic: AM8PR04MB7476:
X-Microsoft-Antispam-PRVS:
	<AM8PR04MB747649718DCE6F8356257D83B3CC9@AM8PR04MB7476.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	m/6SMu7lAI4c6Qt2UxjAj/tDHwOo6UI8Xvhbt/FPkZZwUWDmuPG9laStqEioq0yGC8cTLxBFYw5RSlVbM8v44y0/RFTkj4I82L6zi0RizdohtXPNoBSJ4B1kE4TgwpFVza3JLn9MFgTXCjtrjyGo2el/tagpi9gNnGv0pVpgnrU9rE/szaFdFzH16aixFnh1hrU7alKVMqSU1oLZGsdAn372UN7yEZ+bxnDD6/uQmreMPPVvGC2DbbY5s7QVUJMWISV465z6isMjJZO8BAyFMrF01NXXO3qceSXvgaez/QA+BH/mQdcL1qzOeU4CvmdTuPJbSKjmtdm3sI2M2D2FVRSUbjPDH3z2sZxOp/6jm+s72EWjSVH0epC6u8w45KUtirYrDetrwamEN3MLDaWqsnCeA3UoS2ykbawnz/tu2RODx/Un50/0YfaBKfwjBQFMhLzV0fPKwPOoXSLamqD8wFict6L+NX3NFtq7RjqEv7UU5knCLhOIu2nFXC6HGZfLcehJfn5l4dPBjQE+FYtyOrAhallqYpv9e1sICXA4UZqHdqrPzy58wJs0a5qSWrWtOl8p8XYW7cl5I32D+rjqpnr8fMg2F9V4W+ykfIPtwofKfBVgHnriaT/OvUKJqbBxDYTUsjMWgBWsBfWCXTg+T82AALoKpicaM1dxsoChPC5YC/GDyVTmHs2shpTdQnsoVFdxuAoDGGLG18ztXyjMTjQKF2Y5SffzhcnpVXMZRFmIrH2C/nFMCPzazQ01OzT+gxMdbtnyhK40Kc79PMWC/g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(136003)(346002)(376002)(39860400002)(396003)(186003)(956004)(86362001)(2616005)(6486002)(478600001)(53546011)(54906003)(66476007)(8936002)(316002)(31686004)(16576012)(31696002)(6916009)(8676002)(26005)(83380400001)(66556008)(38100700002)(66946007)(36756003)(2906002)(5660300002)(4326008)(25903002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cDN4d3pwWVBvY2lMRHdJSGFONGZWbnB3aWJQQXBTT0RpcHo0ZjB5RHJBTk5V?=
 =?utf-8?B?cnk2YXdWU0tHSnJFdHdFVm9pSWVJVnhkUWtCVkRUaW5MMnZDMFNaSFZDaDU4?=
 =?utf-8?B?Qk9OSXNlSGZMNkF0L1RyV3RPM3YvR0c5Z282dm9YVS80UWwreG1aNk40UTlB?=
 =?utf-8?B?d3FEaTdqcHhvWFR4VkNrWHNxUGxmUE9hU3hoWlVzdWF5U25PalI5WllXdkxF?=
 =?utf-8?B?YzhxYVgvbll2cE9sK0lzQ1lkNUE3OWNZUlVpTm9OU25Dd1ZTUDF2ME8vTHJW?=
 =?utf-8?B?S2Mvd1I4MTc5TmwveGk4eWpiVnNIbG04ZlNjUnc4MElieWU4TlhyYVIvV0Ir?=
 =?utf-8?B?d21rZFRvWlAzZmRFUXArLzVSbkNzVEhxTUxNOXprTllnQTFuQjF1cTV6WVdM?=
 =?utf-8?B?SmNCbkdyTkdwOElnaUZuN0doNHlOT01tZ3RES0owdTg4eVpCclYwcUpVUTVy?=
 =?utf-8?B?YmowRHU1czJhT205OU9KaHd1SFAyZDI5OU9TSUY3WDZXVytybW42N3FqYjl1?=
 =?utf-8?B?eCs0NS9iRmpvOGdHN2pjT0k5cWJrVUhnVUhUUjFQV3BuSGhEQW10Q2JyK25a?=
 =?utf-8?B?KzJTd3huRU1FL3Nkc1RhMnI3REVzT2ZSdkRPRWtKaEg0Qlp4dnVqU2JmL3lQ?=
 =?utf-8?B?OUxDdUozQUg4aXZRNW9lbXY5YTRKbVpkVnNKYTdPYjJESExuNFdnc0hqNEdr?=
 =?utf-8?B?Nk4xekNmY0wrbmpMdHRWVGluNmhVdkpJajd0b0JCMWxMeWZUbGFXU3NQYW9Q?=
 =?utf-8?B?dmVHYjBwckFQdW41RkhiVTBkZGxMTEVWTTg3STlmQm4wSjN0MlRENnVNalFM?=
 =?utf-8?B?ckxsU2pXMFBDUE5PaUNWREtsWU5PMzNxS1FzTUh3UCtQZ2dwQXNRRHYycjQ5?=
 =?utf-8?B?RTRranA3M3Y0elVoNThicm9BZEVNNzVvOGRraEZKWmgzSzZ4aHF6M1pTZmJn?=
 =?utf-8?B?ZGVLMklGcnhSQjBTTmIzRXNoNUN6Sm5TRW5udkZ4Sk56cnZIQzdmNVNwUkI1?=
 =?utf-8?B?UWt0ZVpHUlAwLzlxY3FDM2N1bnBlQWVwditwcGtRbFF2Y2VVUS91M1F3enY0?=
 =?utf-8?B?cVpOMkZJMHNVWTJ3b0tRZHo2ZDE5bGtBUG5RTlpnNFlrdlluR1RTQXJWQmxZ?=
 =?utf-8?B?bXgyK0RYYzB3NFJNaDRuYmJYTk55VkpzbzMwNTd2Wm1SaDdIa3lMQlJsUzla?=
 =?utf-8?B?VUZBUlNKdXB6aWd5TE5NZWRMZ3NDSlVuRGUxSjFCUDB5WHVxZ0xKbUU0cGdD?=
 =?utf-8?B?UjB5SFgrMnY3czUxbWhRMHZsMkVNRHc4M013aFlZZndCM2ZjcGNKSXM0SnFV?=
 =?utf-8?B?eGRubzNsbFFGelBENmRpeVZtQm1RUzVjUFFCR3o4Mlp1M0hnNmdBWkYweXBG?=
 =?utf-8?B?ZG1XRUNrc05CdHhNUlJnSE5UQ3RieVZCNldRVU5lMHh2V0M3WE4vSTN0WUt0?=
 =?utf-8?B?ZGJ0TzZONTZxNVp1TnRLbDQ1TUgvZzRIU08rZjVWM3gzRmcyeWN6cUFlQnBS?=
 =?utf-8?B?amwwNFQ5Ry9WK2JpQ2xHeGk0VDl5clBscnU2eUNGYlFCbENQajhpWlJoWjVS?=
 =?utf-8?B?S3g1dWFqZHdBa1ArR2IyL21HL1UzVHlFalJKUTRjMW5PN2NZa0U3V1pCNFhS?=
 =?utf-8?B?enlxSURMVk1IMHhrUzJHaW1ieGlaSDVtcnpIeTYzaWVjSzZGaTlsV1NWSldR?=
 =?utf-8?B?cHRwdWRyeUpYSnQ1eDVCS1J6V0REa1hYUHNjeG80R3p3RE93S0VWQVN0YlBC?=
 =?utf-8?Q?CSUr+BHZWLTs90cLYnzSpOSlHlhjbAF8BVABvB1?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f80ded41-8f80-4e62-1503-08d96c943703
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2021 15:30:08.4573
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: SBg97oDGzn4n2dxTEf29pNkL8Ra6mMg30vnypFLF80mwla27iQaf8wMYWp77e38Z1p2BlPB+zNy3u0aPtrgsBQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7476

On 31.08.2021 16:07, Andrew Cooper wrote:
> On 30/08/2021 14:03, Jan Beulich wrote:
>> Assuming that the accounting for IOMMU page tables will also take care
>> of the P2M needs was wrong: dom0_paging_pages() can determine a far
>> higher value, high enough for the system to run out of memory while
>> setting up Dom0. Hence in the case of shared page tables the larger of
>> the two values needs to be used (without shared page tables the sum of
>> both continues to be applicable).
> 
> I'm afraid that I can't follow this at all.
> 
> What causes the system to run out of RAM while constructing dom0?

Without any "dom0_mem=" we set aside 128Mb. In my .config that was in
use I default to "dom0_mem=-255". Yet this was still far from enough to
cover the gap between the original IOMMU page table accounting and the
value returned from dom0_paging_pages(). Since this is what also gets
used to actually populate Dom0's P2M pool, with the P2M pool populated
there wasn't enough RAM anymore to reach the Dom0 size which
dom0_compute_nr_pages() did establish.

Putting it in a simplified formula, what we did so far when sharing
page tables was

RAM = total - IOMMU

but what we need is

RAM = total - max(IOMMU, P2M)

In the non-shared case we already correctly did

RAM = total - (IOMMU + P2M)

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 31 15:39:03 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 15:39:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175875.320240 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL5qj-0002g0-6m; Tue, 31 Aug 2021 15:38:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175875.320240; Tue, 31 Aug 2021 15: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 1mL5qj-0002ft-3u; Tue, 31 Aug 2021 15:38:57 +0000
Received: by outflank-mailman (input) for mailman id 175875;
 Tue, 31 Aug 2021 15:38:56 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Zqic=NW=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1mL5qi-0002fn-56
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 15:38:56 +0000
Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 8c4cf360-0a71-11ec-ad4c-12813bfff9fa;
 Tue, 31 Aug 2021 15:38:55 +0000 (UTC)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2108.outbound.protection.outlook.com [104.47.17.108])
 (Using TLS) by relay.mimecast.com with ESMTP id
 de-mta-36-0lD_aUQrObaI7nUAb4knoA-1; Tue, 31 Aug 2021 17:38:53 +0200
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM0PR04MB4788.eurprd04.prod.outlook.com (2603:10a6:208:cd::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.24; Tue, 31 Aug
 2021 15:38:51 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::4822:460f:7561:33bf%5]) with mapi id 15.20.4457.024; Tue, 31 Aug 2021
 15:38:51 +0000
Received: from [10.156.60.236] (37.24.206.209) by
 PR0P264CA0052.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1d::16) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.18 via Frontend Transport; Tue, 31 Aug 2021 15: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: 8c4cf360-0a71-11ec-ad4c-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1630424334;
	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=weFmtKcaLCkLS7OGxiSr9ClE4ivMCic3CTo08QCGRUU=;
	b=BIezu0Tvmd1UilEVfcEztV0azBcIdWQdKRVwxFmKr/HKrULdAo51x9XlVe+9owhuLI8gHa
	KfmuCwFZR8mqbbIMgerNfDi1YQLDc40LqqlOu+mTBYwPVM3VvettGnwRNbrAGZYPBWZne1
	NCVBXpsBo2fWy/0oHRh4+BlVwxG80n8=
X-MC-Unique: 0lD_aUQrObaI7nUAb4knoA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hBt+w+z8/Cx57HPnOhe75Btjo4YEM1WbVNSdQvcQUuMUn7kZF8HYu8ZUBWPmBicK7YdA+wqsrzbWbwMCTOBtzNyruT+evpoda1sBlBuYfU3sli4wL05taH8bNF/Vx8OkcbFcaTQU+/DndUx+lBKoask3awBHm2py0xK+hcWGksvGSH3+38dNm9MJEfjgx4U0mSJ6sNdUzI90eGlXb8CpjKeaNAKG0Z9396CFPXnQKco13tBFyoict9Vu69c2SWjmcvymwrqT5RtVhVKXOBdE2iLnoyFsvusQi0ts6XjIxqHs+Lok4/SRfrgyC1DrWFwg8CkgH+vVGCIH8CgXXh6tFQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pn1CBAarCnQzDCn4EGTb+dJnk2FgPr7ghDshwpy5KHw=;
 b=lt3+raH9SXgWcdPXBZ40QS2uS86UBqQKz/4kIjrSMzAmQBTxfuFFdW2VVPle/FLW6Hk69y2LknbKY4CxG4g9qWSCbrNtcgJ9dC2iWjQ3Huev6EMP1p10SsKD88fPPG8v0O9nDviIlPFJWllWwJVbaVQCxTspbW0JQNe2JI8/GayF1mFYx3GYUw1UDPo5wUKfZ/tkezSgYrt/9nSwBWxRHHPT92iPJJjMBtBerKfYaa5YW91pWrIUBM4/lzbPvQBRBOErrt8npKYBIUzxvroiy8ovfcmuPWYSv1An0bf1MuE8AqQaZS4IMsSle99z3Mu7PqsWt9Ht95JpTQRLmyOwfg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=none action=none
 header.from=suse.com;
Subject: Re: [PATCH 2/4] x86/P2M: relax guarding of MMIO entries
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: <aae19abb-e88b-8bf8-6f1d-502ac6645d6b@suse.com>
 <93ecc397-1293-69b1-e70d-3c5f9317229a@suse.com>
 <ad1e33b5-d729-2680-7f9f-aa875c2d9cfa@citrix.com>
 <f684e203-9967-8653-d59f-ad11f5070aef@suse.com>
 <7f56c625-eee6-31c4-2d6f-bd7334867d83@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <5d69d4c0-7a04-c3da-f971-616363c6d63d@suse.com>
Date: Tue, 31 Aug 2021 17:38:49 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
In-Reply-To: <7f56c625-eee6-31c4-2d6f-bd7334867d83@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: PR0P264CA0052.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1d::16) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 1a53fc18-4a96-4acb-b6aa-08d96c956ec4
X-MS-TrafficTypeDiagnostic: AM0PR04MB4788:
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB478817FF76367183D33C4872B3CC9@AM0PR04MB4788.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rIKGZqs8pokH86iuhSY7M/4izRi28j/yGrjK9LQgw6a/RmsHdYa+dZ4HYR8RY77LjeFaTjifLWtXrbGxnWOUpscNTbjEa5uOzLnFnQZYgX1XsNlOoaorYB286w40kieE8QI9W+yuEfTkdfJ2iWdj/7LgOxJizL65jYSCfPxeoO9N5OaVvFWwPLXXYUrIo2PLRuOn6rZt2jMX7u3Zt0dPEkVgHW7d8GbCJq2EcEhnlwJDy1UHXxC/oxp6muVqCGuH3M27zjbkpTblVRNKJBirWYw12249bagknrwnF0AMTAr1gT3Xrls4legDeXYez16Tyswip/EtRtWIPhkR05gwNDqANZGUYDEYsi8cHyKttCTiNkqKYx+FcNMB/3Ya6QZGGgmeSszIJzyBcP+361E4efzFDKpDhAKIb/s2k8faFy7Ijlpqub3dcKXaZKyoCuWQi3HF2kroGamr66u4ZozAnnEyXVfGOrG/PQ6FNCu/SvwqIC+rjtFOJDdYT47thndSu1UwzbOeYX/ZY4BWsjxIXSD+HigLyHI4MfVRPir3NnuKoZLu1HrxAGMXK8uZ/hyND1nBbztBENIq0BjKIDgZbjLzH91GO3+7TLQ+KdE3Q8WNALCQUh9GyY8utWSrWbiOOcFU2nvvNS+Q6+QeB/fgt0sjYOm8rK0YNwY6b7SmQbmd0Q+tqafidPQ77AnPmLHJM3hOrfXm+BHIVFdg576ttpgbyL8AfGuRocrxHepIVK4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5587.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(366004)(346002)(136003)(396003)(39860400002)(8936002)(31686004)(4326008)(8676002)(83380400001)(66476007)(66946007)(31696002)(86362001)(66556008)(26005)(5660300002)(36756003)(186003)(956004)(2616005)(53546011)(6916009)(16576012)(38100700002)(316002)(478600001)(2906002)(54906003)(6486002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?o/sZ5ROOnjyFG4etQqeaBM93QU0vmXMlvWDjb/jK8gKG5swGc5Dr+b0j5THl?=
 =?us-ascii?Q?ozU51qRu7mx/w48pEVyhEb6Zayuz3Kc4PifwvpD275SYi2L82EmNeIdgCwzZ?=
 =?us-ascii?Q?waWimf+zGxCm8oFI0KRWz7r445+rvoE3eMA+LFuJmt1yGhf/wX58rAH+6ZMi?=
 =?us-ascii?Q?fKSVd3ModNAK1nMnzzWa3cpCoq11+0Ned4PoSebbCnevriKl8KTGcNn+UaCg?=
 =?us-ascii?Q?jIUV6rqDdtAVrcXiyOV+aOkgstvO8h8HWV+GcqlxXC10VY4EzpJjeUyFiPaF?=
 =?us-ascii?Q?/QzcU4DpOtaY4NQkF7rxXBsDlXtYyjNsZozLOeh/Xtf4AdNz1Cwc/Dr1iZZM?=
 =?us-ascii?Q?ktxGJIpDroBuGtsRRNpR2e1vMIC/HTheabOODzGKnZguM1BjcFqPCYQ0t6xp?=
 =?us-ascii?Q?Bj2shfPVqUO/KIIS2mFi2L6J+TxU87+WO6nWgxcgH6o3phWsNmr0b/13VxIh?=
 =?us-ascii?Q?QVBMSz4drW6mQrUbh6MrQq8iVlxAt6lCvRkIOkHQrmczU0NUhNWmZ+aIdOnN?=
 =?us-ascii?Q?7JnWs3WyVOlVvJsQeXQTfy8rVelCQ/Uto9G/Gs1DMShW5qkxKBE5+B1VT9uK?=
 =?us-ascii?Q?QyqNwWsdHpXt6V027sa5D1Coaj4ckEWLPLOVYauEaIATb5nQ7vvJKjYoo4+0?=
 =?us-ascii?Q?pvQ9EfJ90tB4qTPfJkJ+PMtthRUc8GQG2ZmR/G+4W/IZJqtwMnwWFLSyMo1M?=
 =?us-ascii?Q?5iNG0qBXp6OCH+RGqj2A+ilWOSOc2K42OapuVYclUDKxswItrjzkfrAkTBRR?=
 =?us-ascii?Q?byfWRUKRjfb0XM6/NhFeU/MY5PPt6ZSgMqynNAJL3EETf1hZxevucDYHtyKR?=
 =?us-ascii?Q?yFMbR9Oyfydb8iUvP84zvOJ2tSaZXp/ZJESyfm0lWCA3x4xibvd5rLvyn2p8?=
 =?us-ascii?Q?h+9D9sOuGk92A49T/+lffpE6UgRjYX7Kgt8RY9dYo2Mclm09J79Usej8wodc?=
 =?us-ascii?Q?IU8QhgfFB8jGGNoIx4JFgEd7CVqY/8izUxWpo9o6XTgVgsCEEYli/GLCAMsJ?=
 =?us-ascii?Q?PiKPYOuKh2yBWvSyv2LwLHNb3L1wrqHZ/kZzwtHKWk2/dUoeAdmXxFWwsN3p?=
 =?us-ascii?Q?G+7CXQfvMr1x2E49tcdNrTMAzrQ/OuDTK4WocPwVAaB6xFXFD7Hp9gqPFM/d?=
 =?us-ascii?Q?XUYQhi2cqnpm1s3PfB/HDxugbuBcgRxRplrLIfw6rf23bvRLq374l4mtCLOc?=
 =?us-ascii?Q?0Al69Q4A3OWe1x6rVlPrOafAUAhqka5XZDAZQsHt66zze61+I4sd+d95Cfp8?=
 =?us-ascii?Q?cqXH15k1VC0CVZ+OWW8f9Qg/h6dZMH7GJG6qtzhyd+Acjtu4STX/dHHHL4vS?=
 =?us-ascii?Q?coUmhMahGLTHp+9w/2hsa4AK?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1a53fc18-4a96-4acb-b6aa-08d96c956ec4
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2021 15:38:51.4917
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Wt3nKMG5Rv4hnvrJpoHVNxxBMe+OrvG9PQ4CZCDR0184E6YDiosWjEbGEFyRAz1gAC3yOSbuTXgenhcaiSvQvw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4788

On 31.08.2021 17:25, Andrew Cooper wrote:
> On 31/08/2021 14:26, Jan Beulich wrote:
>> On 31.08.2021 15:16, Andrew Cooper wrote:
>>> On 30/08/2021 14:02, Jan Beulich wrote:
>>>> Further permit "access" to differ in the "executable" attribute. While
>>>> ideally only ROM regions would get mapped with X set, getting there is
>>>> quite a bit of work. Therefore, as a temporary measure, permit X to
>>>> vary. For Dom0 the more permissive of the types will be used, while fo=
r
>>>> DomU it'll be the more restrictive one.
>>> Split behaviour between dom0 and domU based on types alone cannot
>>> possibly be correct.
>> True, but what do you do.
>>
>>> DomU's need to execute ROMs too, and this looks like will malfunction i=
f
>>> a ROM ends up in the region that HVMLoader relocated RAM from.
>>>
>>> As this is a temporary bodge emergency bugfix, don't try to be clever -
>>> just take the latest access.
>> And how do we know that that's what is going to work?
>=20
> Because it's the pre-existing behaviour.

Valid point. But for the DomU case there simply has not been any
pre-existing behavior. Hence my desire to be restrictive initially
there.

>>  We should
>> strictly accumulate for Dom0. And what we do for DomU is moot for
>> the moment, until PCI passthrough becomes a thing for PVH. Hence
>> I've opted to be restrictive there - I'd rather see things break
>> (and getting adjusted) when this future work actually gets carried
>> out, than leave things permissive for no-one to notice that it's
>> too permissive, leading to an XSA.
>=20
> Restricting execute permissions is something unique to virt.=C2=A0 It doe=
sn't
> exist in a non-virtualised system, as I and D side reads are
> indistinguishable outside of the core.
>=20
> Furthermore, it is inexpressible on some systems/configurations.
>=20
> Introspection is the only technology which should be restricting execute
> permissions in the p2m, and only when it takes responsibility for
> dealing with the fallout.

IOW are you saying that the calls to set_identity_p2m_entry()
(pre-dating XSA-378) were wrong to use p2m_access_rw? Because that's
what's getting the way here.

Plus, as a side note, then we don't even have e.g. IOMMUF_executable.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Aug 31 16:15:45 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 16:15:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175884.320260 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL6QB-0007yF-8K; Tue, 31 Aug 2021 16:15:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175884.320260; Tue, 31 Aug 2021 16:15:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL6QB-0007y8-4F; Tue, 31 Aug 2021 16:15:35 +0000
Received: by outflank-mailman (input) for mailman id 175884;
 Tue, 31 Aug 2021 16:15:33 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=T8Jn=NW=arm.com=Bertrand.Marquis@srs-us1.protection.inumbo.net>)
 id 1mL6Q9-0007y2-8L
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 16:15:33 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com (unknown
 [40.107.20.59]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id a9e0a976-0a76-11ec-ad55-12813bfff9fa;
 Tue, 31 Aug 2021 16:15:31 +0000 (UTC)
Received: from AS8PR04CA0058.eurprd04.prod.outlook.com (2603:10a6:20b:312::33)
 by DBBPR08MB6282.eurprd08.prod.outlook.com (2603:10a6:10:20c::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.24; Tue, 31 Aug
 2021 16:15:30 +0000
Received: from AM5EUR03FT021.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:312:cafe::21) by AS8PR04CA0058.outlook.office365.com
 (2603:10a6:20b:312::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.18 via Frontend
 Transport; Tue, 31 Aug 2021 16:15:30 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT021.mail.protection.outlook.com (10.152.16.105) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4457.17 via Frontend Transport; Tue, 31 Aug 2021 16:15:30 +0000
Received: ("Tessian outbound 32695b2df2f8:v103");
 Tue, 31 Aug 2021 16:15:30 +0000
Received: from 146e42c06228.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 4174234B-60D1-4D4D-AED4-AB413B7D6030.1; 
 Tue, 31 Aug 2021 16:15:22 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 146e42c06228.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 31 Aug 2021 16:15:22 +0000
Received: from PAXPR08MB6446.eurprd08.prod.outlook.com (2603:10a6:102:12d::10)
 by PA4PR08MB5886.eurprd08.prod.outlook.com (2603:10a6:102:e2::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23; Tue, 31 Aug
 2021 16:15:21 +0000
Received: from PAXPR08MB6446.eurprd08.prod.outlook.com
 ([fe80::c029:ed0:82e7:3c2f]) by PAXPR08MB6446.eurprd08.prod.outlook.com
 ([fe80::c029:ed0:82e7:3c2f%6]) with mapi id 15.20.4457.024; Tue, 31 Aug 2021
 16:15:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a9e0a976-0a76-11ec-ad55-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=i8Wl3UuMRC2nlOUxwD1uv9KtvlUtqhpl7emd3rUdLLE=;
 b=dcOAvFQKh9Us72rorLrUBftxkjuHxFY2CW0RlJE2aKy9QSqL2hos1p/nZCxdj+aycZA7rilGFV52CdcvFgjrWyNlQ/Amnw9DPps9/sBswRXvLbr3SAafGYk05IOEphafZh6iIt4Ti4F7HQ98f/KMKQ2LxIrgBiz57j8zg0Ob0GA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org; dmarc=pass
 action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
X-CheckRecipientChecked: true
X-CR-MTA-CID: 22d4123a4bcb3286
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cQziuc6Cvx4XP2fc7mOlzmCrxp3pZwyTiqhSSBDXyi861S714qzS1geRjjUEpdJr+mvTBgG8wRp10gpM4P6/Atg/1/scXkW6kaCar9MED/cucIC7aJTXp8OF+6k4WP0nMWXmwJ/mHQvzi9kxs0gn3hVNlPSrr+8LbVC6kLVcBGogDwQ6iIEVFBzwH6SFiilhKTImtBe/ruRUgsW7XBThvowEmHq80s0PC52pYVZX12tnAnmvflwFknLe9bbh/nzQakKSIy+62fMJ5Au0v7xLuN5VwT7NHG6x0f21JkSmU9hrS9UcPdg1UkYXwt/bBJxs2e04dAUp+2hPOvfW3S6DOw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=i8Wl3UuMRC2nlOUxwD1uv9KtvlUtqhpl7emd3rUdLLE=;
 b=dcOq0UyGrm1OZP55rAX63M7u4JGSTfzsfdqQo/BIVvgGmfByUvThfawDXoGQGihpMuBslfa9tkzKTktNRxoj8RvxgFhOipRKRbtJFhdw/R8Ts5OLslglCt+x0U/CEF7ce1FxNiL4bS0fJlEciMNc1WzZfeTNnKvl4vlFDGuUFiX1/D+ACJOQ514Pjyo7ekSOmJ74+G0FHvqr4myGSekk4QVnDQPb2FaD4nRBofrT2mAMsyDT7IG6uz8LASk9TBmY2MQ92Vov1u1byNyx6GVvbR1W6FAv/LPdeITDja9bgjA/xWkoXnT2bu0TYExZCBVC+o49Tg60vD2k6JtvVu0GeA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=i8Wl3UuMRC2nlOUxwD1uv9KtvlUtqhpl7emd3rUdLLE=;
 b=dcOAvFQKh9Us72rorLrUBftxkjuHxFY2CW0RlJE2aKy9QSqL2hos1p/nZCxdj+aycZA7rilGFV52CdcvFgjrWyNlQ/Amnw9DPps9/sBswRXvLbr3SAafGYk05IOEphafZh6iIt4Ti4F7HQ98f/KMKQ2LxIrgBiz57j8zg0Ob0GA=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v3 7/7] xen/arm: Sanitize CTR_EL0 and emulate it if needed
Thread-Topic: [PATCH v3 7/7] xen/arm: Sanitize CTR_EL0 and emulate it if
 needed
Thread-Index: AQHXmbPyaqNt71/0B0WMx26sIln5R6uHdm2AgAYrXACAABkoAIAAGG+A
Date: Tue, 31 Aug 2021 16:15:20 +0000
Message-ID: <CA9E8DFA-E0D8-4C33-A277-E19EFFCAFDC4@arm.com>
References: <cover.1629897306.git.bertrand.marquis@arm.com>
 <a7482653a0c29d68854846f25553f4938a6279b9.1629897306.git.bertrand.marquis@arm.com>
 <14b1639e-c9e4-f8fb-e921-73d7f28681ac@xen.org>
 <98E8FB9D-3372-47D2-92F7-8AD401AC1092@arm.com>
 <6705127a-bde2-36cd-0fed-900eb1eace03@xen.org>
In-Reply-To: <6705127a-bde2-36cd-0fed-900eb1eace03@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.3654.120.0.1.13)
Authentication-Results-Original: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: a9b70e50-a540-4898-3b1f-08d96c9a8d4e
x-ms-traffictypediagnostic: PA4PR08MB5886:|DBBPR08MB6282:
X-Microsoft-Antispam-PRVS:
	<DBBPR08MB62824B2833B694BBE7A10D479DCC9@DBBPR08MB6282.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 DI2WbU0FEClSvqGxhn6dnPvjdrY4ZA/jAXPu4SVBpSTQuEQIxMSvpseHUT6GC2afV3DM2eqc/MZjxruObfrRKrim3BOPJt/DdGI4vjTso7xdYOVpMWu11NgX2ep/Aa+g+FLV52StMoyMbqEez9DmSPSUohW7rWDcmxsCRNK/S3y0XD2z7j2rd68XzJKm7jZlJ+fh+RacArLMhVNiFgVbh9H1bJa9HIrUzI3HSS7KnO0MNItpx7qqC7cXnYAtgYli/FWWoRDNBZ1s4BhTot5MbKmwr+BtKZrwJZhMciFK5s5fha16StEe4IRZFi/de68uYypssKm1dH+Bfl/1Ro2azsq0mFdtYcnkMtdUuXnmtOZfkc4RplctB/bu3iOXPvZU6wIDRYOzKBi+Qsr0VbkPXGcHSVBkZ2EgZh1cnVnrNhqyA+wFMpymtTOCRSTRNlLVqxWzLwz4xgfE70SnIp+fR/hQExqhLdGRrIwsD+FoDpPOs3pWc8G2wbm9KWT03365LVDHqad9Pu00RPrI9V25eUqlRyTDyVYgLQd7HG+YGpOqV2CYFTVTTF1ixiN7KttF10ubnSPvHrTfzVLW1l/5KGsB3nttxJ6+rNDwViYp5aZqxM8DDOGZuef3GB2BCOKV24Ms54nrxWWaisV7XKUVWOh7/Jr1G3apiuk2/TPpJaxCkdnQFlWx321Y+NHNsoHn8Sv+aoGQz49UKytvBqqoyIg6mtLLW868DhIg/E9KJrnDqA/rL5avD596afGpAjBy
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB6446.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(39860400002)(396003)(346002)(376002)(136003)(366004)(66476007)(83380400001)(76116006)(91956017)(316002)(2906002)(5660300002)(66556008)(66946007)(86362001)(36756003)(66446008)(2616005)(64756008)(478600001)(8676002)(71200400001)(122000001)(8936002)(6916009)(6506007)(38100700002)(53546011)(26005)(186003)(38070700005)(6486002)(4326008)(33656002)(6512007)(54906003)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?DNk0rIC5Zx0iROWQR5rv74XcTkiQhw1SZUB1KpH/gioQRJmTIZpEf8btiab9?=
 =?us-ascii?Q?8jo53IfcdSA0/tvaq7jZFpGygmbT/uyhSUTZ6e17z5N9yOSsuv+zwrXh2b69?=
 =?us-ascii?Q?Xa5bKK6Jajblr74tkQjFGMrXSOWp793S5rTISAqVClBqiFGyf9E0kk6p60b7?=
 =?us-ascii?Q?wXzNldu5HXrzUgsJntYOEUIdtuBIlj1JHe5+9j5s1Lt/nivqdaADuACDLLls?=
 =?us-ascii?Q?m58C2QaeMAPfqu60urWzXLPexAcuEgekQUi+3QjzXQM7E0ex+9otB93VA14V?=
 =?us-ascii?Q?+gXhu7X/TZFhkohovqV6SOfMF5uTuICPSD7E5N8kRVvioYkFgYerKgyxgQI4?=
 =?us-ascii?Q?3K+F81CjnC1sYtgz6YVVc45dk6nR95wAQYfASYGZz8h1bnzJxlmibU9geLfI?=
 =?us-ascii?Q?lx3FDd5USiISZKPep4F5tuKm0Or1KdL1KKt3pVx7n5GOMwrLN7yXg1phWoMV?=
 =?us-ascii?Q?kYn4FRDYLUhpeOqZl3ehxPVTRjEKBE19/V24Ti16QZbhEWHj1jE/f1XRS6c8?=
 =?us-ascii?Q?2Zw7jQ0Kn1ag7o/8/XLc7G79xP2lEkUCFLlsLvHG+AQ20hIXdRc7vRcsaC+Y?=
 =?us-ascii?Q?KTm4aEuHlZ5j6At5cJD2WBnbqMpa+/nxl0/TSWggVZ9fvQ/r4a02yVzhAGvU?=
 =?us-ascii?Q?9747XT3gPXAP7OvymXq0HZOzlRnBAFW7cPhjRxIwaEdVI7IjgzBAOj4KE0EM?=
 =?us-ascii?Q?U89EfZdWM0qKN2stpxP3vy6A6g9BiezJIKbmSLzP3JjkGhKEwTOcFKNARYlf?=
 =?us-ascii?Q?qWVlekVJsYOmis086JpZc4hKTX2pbXHNNFudO/bXHQgJCOiWqYrN1pVGoGZ2?=
 =?us-ascii?Q?CTL3uyau4IwfpDOwb9llB7wHH+J6jtQfYMtt+/swERdG8JvovCOmIK7dtUKC?=
 =?us-ascii?Q?iBHF4qFa/dbaBp3tm0prAmgPQSSLrztBg2dUDcDx7XepEsPwOSQc5PYIYR2w?=
 =?us-ascii?Q?hXmROcaFL6Ir2KcgIwoA2lZVKgf4hEfRbEEsVzDcd4RbTaZ1Jao/dC/bxmzv?=
 =?us-ascii?Q?B5Fh8YZAQ8IUCq+bpAWkeVic94h3+HfWuKqeb7W44PlUXW+/tOBpanc+ECLg?=
 =?us-ascii?Q?c2GstNjobhOucyfQ06F1Vq99CdeE3knKYQINOHf2rcAl2kZV9f7wx79ljk7m?=
 =?us-ascii?Q?vbesRA8bOA/F2uxnThBaF2DRMG8tVlPN9Cf92QR4wCU3AhchEQSDe2XLx5Kz?=
 =?us-ascii?Q?J7J327Yyhog5QxsSvPowUDULXxQzzGCOe68R9+0LxDdKUdMBao7+FtJYQvlN?=
 =?us-ascii?Q?X73Sn78zLu3fiOaA3RFabGKEQl1M2/xKqi0M58aOScwIFiJZOazp7yC9lLCK?=
 =?us-ascii?Q?HBEP1faLq69zz/Wn4BLBr5b3?=
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="us-ascii"
Content-ID: <2AD171B30DD80941A05EFEF5E3715AFC@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB5886
Original-Authentication-Results: xen.org; dkim=none (message not signed)
 header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT021.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	3086b224-a9fb-4232-6b7b-08d96c9a8798
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ujolIWmM3pDrH0KohPlR2LxqcrCh09zeuXr5wlsLKCUFD5Y4Mn/DcdasT9zAHi/nXkjR67eTs1LlcKJDSLsHhXQY8AFn9NTi7M095ULJdusbaF0ZxtGSb/dsoVguXJ27e1CHgVF0ZtUfvkVz04GC7VTJWhzElm6pMkRSWjDIIU0Pwi+kph5/qelnbcNke0jkwBnu4WYGfIIEaVydJl8kMXxVnCUTbeBC0pa7ZQAGiv+5P3lDS9Iz4MNTlpzufehs0t2Kysa3MTGSTJllrhA0I+JbFWxADDA49EeZkKBRlNFylZknw3zUmPT8Cw5dvfxLLIsfPjPQzmy4rZK2KIV2lB93BU/cyf84sZ7FnK7EzhybRPfLmjNnIR6s8CRJR2qVTU2FG8kxPlfXGSwOy+2y/KS1A+UiFl4oQcQwZUXTcSqwa0zkN1EAvTxSPxcTDJhsbMlKk2pylhAFTMCVTgX4zy0U0f2PW5FmV/vjvz6yea42JcN4GMRhKxUa44sGsYK32tx+fVBdgtMrj7Ow4XDhbFMe9PAgR7A2m6ZoidCdFtBg7/O+Lx99QJtDB1IMnKLVJkNouoIpXoWKsakbLDTe1QXCPC/0qpiGyQkGuXGf6lftOOHVkC90H9C5Mr79Zscka2dfzwECeZdXjOo/3i8H/Eap5c7kG3euwNxDkG9ko+qOYe7OPB5JZrnfyPKXcaHw0UCmlQ/7IHBFC1pq5fQLig==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(396003)(346002)(376002)(136003)(39860400002)(46966006)(36840700001)(4326008)(47076005)(36860700001)(5660300002)(478600001)(54906003)(82310400003)(81166007)(70206006)(6506007)(70586007)(356005)(82740400003)(36756003)(107886003)(86362001)(336012)(83380400001)(316002)(6862004)(8676002)(53546011)(186003)(6512007)(2906002)(33656002)(2616005)(26005)(6486002)(8936002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2021 16:15:30.0533
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a9b70e50-a540-4898-3b1f-08d96c9a8d4e
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT021.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB6282

Hi Julien,

> On 31 Aug 2021, at 15:47, Julien Grall <julien@xen.org> wrote:
>=20
>=20
>=20
> On 31/08/2021 14:17, Bertrand Marquis wrote:
>> Hi Julien,
>=20
> Hi Bertrand,
>=20
>>> On 27 Aug 2021, at 16:05, Julien Grall <julien@xen.org> wrote:
>>>=20
>>> Hi Bertrand,
>>>=20
>>> On 25/08/2021 14:18, Bertrand Marquis wrote:
>>>> Sanitize CTR_EL0 value between cores.
>>>> In most cases different values will taint Xen but if different
>>>> i-cache policies are found, we choose the one which will be compatible
>>>> between all cores in terms of invalidation/data cache flushing strateg=
y.
>>>=20
>>> I understand that all the CPUs in Xen needs to agree on the cache flush=
 strategy. However...
>>>=20
>>>> In this case we need to activate the TID2 bit in HCR to emulate the
>>>> TCR_EL0 register for guests. This patch is not activating TID2 bit all
>>>> the time to limit the overhead when possible.
>>>=20
>>> as we discussed in an earlier version, a vCPU is unlikely (at least in =
short/medium) to be able move across pCPU of different type. So the vCPU wo=
uld be pinned to a set of pCPUs. IOW, the guest would have to be big.LITTLE=
 aware and therefore would be able to do its own strategy decision.
>>>=20
>>> So I think we should be able to get away from trappings the registers.
>> I do agree that we should be able to get away from that in the long term=
 once
>> we have cpupools properly set but right now this is the only way to have
>> something useable (I will not say right).
>> I will work on finding a way to setup properly cpupools (or something el=
se as
>> we discussed earlier) but in the short term I think this is the best we =
can do.
>=20
> My concern is you are making look like Xen will be able to deal nicely wi=
th big.LITTLE when in fact there are a lot more potential issue by allow a =
vCPU moving accross pCPU of different type (the errata is one example).

I agree and this is why Xen is tainted.

>=20
>> An other solution would be to discard this patch from the serie for now =
until
>> I have worked a proper solution for this case.
>> Should we discard or merge or do you have an other idea ?
> Please correct me if I am wrong, at the moment, it doesn't look like this=
 patch will be part of the longer plan. If so, then I think it should be pa=
rked for now.

Not sure it depends on what the final solution would be but this is highly =
possible I agree.

>=20
> This would also have the advantage to avoid spending too much time on res=
olving the emulation issue I mentioned in my previous answer.
>=20
> No need to resend a new version of this series yet. You can wait until th=
e rest of the series get more feedback.

Ok, I will wait for feedback and next serie will not include this patch any=
more.

>=20
> [...]
>=20
>> If we get interrupted, someone could program CSSELR differently and the =
next read
>> will not be reflecting what the guest actually wants to do
>=20
> AFAICT, CSSELR is preserved during the context switch of vCPU. So that so=
meone would have to be Xen, right?
>=20
> If so, what you describe would also be an issue even if we didn't trap th=
e register. Therefore, if Xen would ever use CSSELR, then that code would n=
eed to save the value, use the register and then restore the value with pre=
emption disabled.

I could just remove the comment, I added it as information, but if you thin=
k it is misleading no problem.

Anyway as we will park this for now no need to discuss that further.

Cheers
Bertrand

>=20
>> The code is not preemptible right now so this cannot be an issue but I a=
dded the
>>  comment more as a warning.
>> This is not something from the documentation, this is because value writ=
ten
>> in CSSELR is defining what is read from CCSIDR
>>>=20
>>>> +            WRITE_SYSREG(v->arch.csselr, CSSELR_EL1);
>>>> +            set_user_reg(regs, regidx, READ_SYSREG(CCSIDR_EL1));
>>>> +        }
>=20
> Cheers,
>=20
> --=20
> Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Aug 31 17:14:35 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 17:14:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175895.320287 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL7L2-0006P2-Rr; Tue, 31 Aug 2021 17:14:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175895.320287; Tue, 31 Aug 2021 17:14: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 1mL7L2-0006Ov-Nx; Tue, 31 Aug 2021 17:14:20 +0000
Received: by outflank-mailman (input) for mailman id 175895;
 Tue, 31 Aug 2021 17:14:19 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mL7L1-0006Op-OJ
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 17:14:19 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mL7L1-0002nr-LR
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 17:14:19 +0000
Received: from iwj (helo=mariner.uk.xensource.com)
 by xenbits.xenproject.org with local-bsmtp (Exim 4.92)
 (envelope-from <iwj@xenproject.org>) id 1mL7L1-0002bC-KQ
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 17:14:19 +0000
Received: from iwj by mariner.uk.xensource.com with local (Exim 4.89)
 (envelope-from <iwj@xenproject.org>)
 id 1mL7Kw-0005qz-Lj; Tue, 31 Aug 2021 18:14: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=References:In-Reply-To:Subject:Cc:To:Date
	:Message-ID:Content-Transfer-Encoding:Content-Type:MIME-Version:From;
	bh=hVL4Yr1q7Baj65HxY9oJ7FAGznnAzNfgTWQFajBKHOY=; b=TIqYZHlm8CGzpLvKDnFnJv7xgo
	OUZZH6468Kz4tCM3phNVSGtcHu0e0WdbAanurzS1NU1/GYonsxkbTD47+v1I1pgWlbcVQwlRDLH2U
	Jj1sVgVXf7DCOlTA0B/jez3gAa4wyk/UCU4cfAGpRKtD8zrq5lxk/Yhez5b2zNrep3eA=;
From: Ian Jackson <iwj@xenproject.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
Message-ID: <24878.25446.392734.901516@mariner.uk.xensource.com>
Date: Tue, 31 Aug 2021 18:14:14 +0100
To: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Cc: Juergen Gross <jgross@suse.com>,
    xen-devel@lists.xenproject.org,
    Wei Liu <wl@xen.org>,
    Anthony PERARD <anthony.perard@citrix.com>
Subject: Re: [PATCH] libs/light: fix tv_sec fprintf format
In-Reply-To: <CAPi7W80gf+gcd0fczTLN7DgnxiwdzhMFxNVTyRvfGRm3PmQYZQ@mail.gmail.com>
References: <20210828090709.738512-1-fontaine.fabrice@gmail.com>
	<48e33bf0-67f6-4259-ac9e-71da16621c5f@suse.com>
	<CAPi7W80gf+gcd0fczTLN7DgnxiwdzhMFxNVTyRvfGRm3PmQYZQ@mail.gmail.com>
X-Mailer: VM 8.2.0b under 24.5.1 (i686-pc-linux-gnu)

Fabrice Fontaine writes ("Re: [PATCH] libs/light: fix tv_sec fprintf format"):
> Le lun. 30 aot 2021  10:31, Juergen Gross <jgross@suse.com> a crit :
> >
> > On 28.08.21 11:07, Fabrice Fontaine wrote:
> > > Don't assume tv_sec is a unsigned long, it is 64 bits on NetBSD 32 bits.
> > > Use %jd and cast to (intmax_t) instead
> > >
> > > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> > > ---
> > >   tools/libs/light/libxl_domain.c | 2 +-
> > >   1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/tools/libs/light/libxl_domain.c b/tools/libs/light/libxl_domain.c
> > > index c00c36c928..51a6127552 100644
> > > --- a/tools/libs/light/libxl_domain.c
> > > +++ b/tools/libs/light/libxl_domain.c
> > > @@ -1444,7 +1444,7 @@ static int libxl__mark_domid_recent(libxl__gc *gc, uint32_t domid)
> > >           }
> > >       }
> > >
> > > -    r = fprintf(nf, "%lu %u\n", ctxt.ts.tv_sec, domid);
> > > +    r = fprintf(nf, "%jd %u\n", (intmax_t)ctxt.ts.tv_sec, domid);
> >
> > Any reason not to keep the unsigned attribute?
> Yes, for consistency, I applied the same fix that was merged seven
> months ago to libs/light/libxl_create.c:
> https://gitlab.com/xen-project/xen/-/commit/a8ac01aa3e3ea5e6a9a1620aa8fa7e9da3458120

Thanks,

Reviewed-by: Ian Jackson <iwj@xenproject.org>

and pushed.

Ian.


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 17:16:38 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 17:16:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175901.320298 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL7NF-0006zf-8w; Tue, 31 Aug 2021 17:16:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175901.320298; Tue, 31 Aug 2021 17:16:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL7NF-0006zY-51; Tue, 31 Aug 2021 17:16:37 +0000
Received: by outflank-mailman (input) for mailman id 175901;
 Tue, 31 Aug 2021 17:16:36 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=oqE8=NW=microsoft.com=mikelley@srs-us1.protection.inumbo.net>)
 id 1mL7ND-0006zS-SH
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 17:16:36 +0000
Received: from outbound.mail.eo.outlook.com (unknown [40.93.3.6])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 91b20ed9-ae69-4cfb-9b0b-2bd67560404e;
 Tue, 31 Aug 2021 17:16:33 +0000 (UTC)
Received: from MWHPR21MB1593.namprd21.prod.outlook.com (2603:10b6:301:7c::11)
 by MWHPR21MB0767.namprd21.prod.outlook.com (2603:10b6:300:76::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.0; Tue, 31 Aug
 2021 17:16:19 +0000
Received: from MWHPR21MB1593.namprd21.prod.outlook.com
 ([fe80::3c8b:6387:cd5:7d86]) by MWHPR21MB1593.namprd21.prod.outlook.com
 ([fe80::3c8b:6387:cd5:7d86%8]) with mapi id 15.20.4478.014; Tue, 31 Aug 2021
 17:16:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 91b20ed9-ae69-4cfb-9b0b-2bd67560404e
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dOSiWaZOWP4FK2hV8gLe4admcsHU8TJBlLySdUxXlVZWT4TLw0qRe6GoS91QYK/H09GhSlylFox6l9SmjmXlMisnigRb1iDSvXsroDr/qDLBINAKqi9IFtSLEZNOqLUvnE28B93dv2OfU2fcKae7y6es0hf1vmW5Z4G1sW6I+idqCEvMi/BWz9caQpvqAG96ro/iVXN+kdZ2EvitlVv1ZzVAP1GtND0A1ySArO6BUAjZEjMKPO36+4XBgmCQE1g0vXuUYvv18mJSkeYwj/qTg1KFzFt5/sYfxq4KmMOSSK1rfWqrdjPHP3+hL4ghy4fcKEI3vrh+/X3hAN+4b64GLA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version;
 bh=/H29txM3OUaYa3KVICUvUz79p+FL+z9mvEvXiBfoyP0=;
 b=IbeUU6WJbRKXOoaZQN24eT4HePd4vZxgKS225h21rkeiDCLIEP3q7XKfyv2F+zjlpS1n5lprBvwzhsZ0oYykF5KF+AVhcPiX9Af2bGFXh8FnqvOJds972yXiaj2MziTW6zBH1WbkxeehrirnYeMPThmKU8wwTUEwJ6ATZ6arn9iOO/ZSdGEEvXXxJGcyDdIOlHVn90y8cOk0rPrA/spBBlTLk/pBUrU6cih6IYwmF4lMuKk7HvsLamHlE2A/a+F++ZsUsTM1JMVPudc19zUYTogf1EoBDc7TnQL50u8Q3Bu/p/+ICdBUnQtyEAYqTkdVbrTN1bLgPrKGkY/QiosASQ==
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=/H29txM3OUaYa3KVICUvUz79p+FL+z9mvEvXiBfoyP0=;
 b=DN9ww0J5Xu0crtSkTcc9Z60FeTciwbs6YIBkRnK7QwVKNsBmkvn+bJ5O4kNGtaKf5mbL+loDgarv94cwSq7V5FMzePDtUil2bhg6krpyWr/k4iHypcwwtXH/Fxz9rZeG6fVn+bPYBuC3LoiQjcZiJ6bAs3hGxtLICz9QjqII6Kk=
From: Michael Kelley <mikelley@microsoft.com>
To: Christoph Hellwig <hch@lst.de>, Tianyu Lan <ltykernel@gmail.com>
CC: KY Srinivasan <kys@microsoft.com>, Haiyang Zhang <haiyangz@microsoft.com>,
	Stephen Hemminger <sthemmin@microsoft.com>, "wei.liu@kernel.org"
	<wei.liu@kernel.org>, Dexuan Cui <decui@microsoft.com>,
	"catalin.marinas@arm.com" <catalin.marinas@arm.com>, "will@kernel.org"
	<will@kernel.org>, "tglx@linutronix.de" <tglx@linutronix.de>,
	"mingo@redhat.com" <mingo@redhat.com>, "bp@alien8.de" <bp@alien8.de>,
	"x86@kernel.org" <x86@kernel.org>, "hpa@zytor.com" <hpa@zytor.com>,
	"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
	"luto@kernel.org" <luto@kernel.org>, "peterz@infradead.org"
	<peterz@infradead.org>, "konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	"boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>, "jgross@suse.com"
	<jgross@suse.com>, "sstabellini@kernel.org" <sstabellini@kernel.org>,
	"joro@8bytes.org" <joro@8bytes.org>, "davem@davemloft.net"
	<davem@davemloft.net>, "kuba@kernel.org" <kuba@kernel.org>,
	"jejb@linux.ibm.com" <jejb@linux.ibm.com>, "martin.petersen@oracle.com"
	<martin.petersen@oracle.com>, "gregkh@linuxfoundation.org"
	<gregkh@linuxfoundation.org>, "arnd@arndb.de" <arnd@arndb.de>,
	"m.szyprowski@samsung.com" <m.szyprowski@samsung.com>, "robin.murphy@arm.com"
	<robin.murphy@arm.com>, "brijesh.singh@amd.com" <brijesh.singh@amd.com>,
	"thomas.lendacky@amd.com" <thomas.lendacky@amd.com>, Tianyu Lan
	<Tianyu.Lan@microsoft.com>, "pgonda@google.com" <pgonda@google.com>,
	"martin.b.radev@gmail.com" <martin.b.radev@gmail.com>,
	"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
	"kirill.shutemov@linux.intel.com" <kirill.shutemov@linux.intel.com>,
	"rppt@kernel.org" <rppt@kernel.org>, "hannes@cmpxchg.org"
	<hannes@cmpxchg.org>, "aneesh.kumar@linux.ibm.com"
	<aneesh.kumar@linux.ibm.com>, "krish.sadhukhan@oracle.com"
	<krish.sadhukhan@oracle.com>, "saravanand@fb.com" <saravanand@fb.com>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "rientjes@google.com"
	<rientjes@google.com>, "ardb@kernel.org" <ardb@kernel.org>,
	"iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org>,
	"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
	"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>, vkuznets
	<vkuznets@redhat.com>, "parri.andrea@gmail.com" <parri.andrea@gmail.com>,
	"dave.hansen@intel.com" <dave.hansen@intel.com>
Subject: RE: [PATCH V4 00/13] x86/Hyper-V: Add Hyper-V Isolation VM support
Thread-Topic: [PATCH V4 00/13] x86/Hyper-V: Add Hyper-V Isolation VM support
Thread-Index: AQHXm2f20hs45o24pkmChnbOnB/NPKuL9ngAgAHkV3A=
Date: Tue, 31 Aug 2021 17:16:19 +0000
Message-ID:
 <MWHPR21MB15933503E7C324167CB4132CD7CC9@MWHPR21MB1593.namprd21.prod.outlook.com>
References: <20210827172114.414281-1-ltykernel@gmail.com>
 <20210830120036.GA22005@lst.de>
In-Reply-To: <20210830120036.GA22005@lst.de>
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=b539bc2a-713a-4fd8-8949-a5b70949183d;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=2021-08-31T16:54:06Z;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-office365-filtering-correlation-id: 36505fc4-57f0-4a11-2915-08d96ca30c91
x-ms-traffictypediagnostic: MWHPR21MB0767:
x-ms-exchange-transport-forked: True
x-ld-processed: 72f988bf-86f1-41af-91ab-2d7cd011db47,ExtAddr
x-microsoft-antispam-prvs:
 <MWHPR21MB0767C8EF1F7C09EA1E1F15B5D7CC9@MWHPR21MB0767.namprd21.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:8273;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 CF0vfIO1LdlXJlTTx9oLalyT0yTN7SiKnZT/4zUI+q0WW4VMi6QCh2Gb0hFVZAcyFn6bWaDyHALxhwPiuCgoNe7dy/qET8dSt+2RPwQ4QXkg/0A9e5oYCkXQ17yrDlkCnkUxu/6JdzuBBKoyPvhvy339/VGYQNb62Y+Vvv5gM7ZMQ97eJOsveQB6Diy+vvtU1jvJbpKoEkN3DyKonEgtyWLu7diXKSStoHJXOGmYG8sRA5Cb/z2w7kprhKN7wu9O79JK00A/COdpwxHS1orgE70BR/CUCJAy8bCw9W5tAGqEQRb7GeZuJeWHHnbDz8dcwb9Lkrb7TvLNKBJ7RLt6NokPQ+gWSO2I5xik/XeeFlJGR0M/aDShqWOsgZ9TO67g5vtIvoIA3LrIPFXbmrJ7budthg88JZfMSBRLDmYHwPlFD3LwDlSCMHIj4S1vB/kNts+wXf+VdeTbIaltjqWtuc+MT4POC4JUhBe30Rb2QkmBeX7aEsRdwPBTRZ+NN8TClWPI9fkgtvbyHw6U3DzpkCIelLryFPpxSDjgFokzMRZLqhovP96HG/EVYNE5JZrHXPyfxuM119QWNo6jbKc08BIZE8KoH/nKN+mfuRd7t3lm4OWdudRj+1D7FTXL+6eTLnOSdn5qXp+4jtOQTR7ji8v8tjYEqOqRtO85zSm52Jp1dpBEyyScBZhIYUwhPijMDZgcl9QrZItcTzxqRDM66XPH20mCphBLjbGo3kIBRpWBQEHc/7nfA3anyyi5NmOopLtjmx3MBsea+Dy28seo3jcrH2kn3nd3sUtsBLMu65Y=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR21MB1593.namprd21.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(82950400001)(7366002)(38100700002)(66946007)(316002)(83380400001)(66476007)(71200400001)(7406005)(966005)(86362001)(64756008)(33656002)(76116006)(4326008)(7416002)(66446008)(10290500003)(9686003)(66556008)(5660300002)(2906002)(6506007)(7696005)(186003)(508600001)(26005)(54906003)(38070700005)(82960400001)(52536014)(122000001)(8936002)(8990500004)(8676002)(55016002)(110136005);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?jWFSDTs8NlkZWK0mHh4BFrwtbTX52OBhWdP78KAZa5Dnr/wYNJjr1ZvFADeM?=
 =?us-ascii?Q?kPmnHg6gGnRxwZ2O1fTucywtVROm/IXZgqp8cG+RikcFWM2KRD9gYaokGJwk?=
 =?us-ascii?Q?UmoBn/SGt2I+1wShRfRUU/P+UPLPShu8ngsazxf8tVqEMdBNB0e1ZFICtbMd?=
 =?us-ascii?Q?WrEuv/jB7iGfuYSbP8vPRHiAGPLMSjTtpjcEAKOCKfjcxJ94P2fp13S0VNf5?=
 =?us-ascii?Q?E73hxHTxfE3hTnmr1DRTZ9a1UjlW5Lf1fLww8EhuQ3NRuuetdJsgQZdcLhVR?=
 =?us-ascii?Q?fquwYNmj8aMzNGq+lM0xfPFNC8742bEJVQRftjGLOzWn/yU9hM6chl0RbMQd?=
 =?us-ascii?Q?CnptGGJsSCHWEJ/i6QA1Uiifz9WwcxRlTM4p6XLxmFl6Gg6RrztROXfjkO44?=
 =?us-ascii?Q?Xj5SFlBC0T9d+3Yz5WHTPXMosN8Fk+yR5of3bf+YZ/lOUkc1vLD7hOPVZmHa?=
 =?us-ascii?Q?zXXUBuFabsU1IxXavFtXTsnUP+Z0+mJtkIF7e2bgHwGqaTt1mIxmt3CFfLy+?=
 =?us-ascii?Q?lr9rhEalbmSmoMvUaw0nAm99eDqSpwylFCdi4nshZdgqbfIr++67wOUIiMgh?=
 =?us-ascii?Q?5dV971i/pyEVaZiDjbmpFREN4YR36LXuAXdSz/txUuPV4jCaw0CNzE5lKTYh?=
 =?us-ascii?Q?IJovgCJ7g7UMHzvtuGbH58Gqc6iSq/mVqou6fJLBXxo9o7aN1+IDtm5t50cc?=
 =?us-ascii?Q?rv0g8uVpMqIwJrBw4ZXJG6GKpVijyLEZIjT8nEqmd7fC1Tq1o4yGzjrm6LUM?=
 =?us-ascii?Q?wWpe90xIy8Fr4fKDsRDoAM3yQKd7qWN/iVyo1GWoBVJaZ7+hzVxyxDrAX8gW?=
 =?us-ascii?Q?81h6XSbNNzSEMqVZTYxSu0Nlgx1lVU5Cgnhnr7IicqOYrFklY/02DNiSBa1X?=
 =?us-ascii?Q?w3LR1ZUOmlOVn/+rGCgykN+NlGtzU+nfp7l2dXxgk8UmLcZZoVhRZdCRYkwV?=
 =?us-ascii?Q?S2bC/Jbw6CoBD4NRS3SvRGlOFZNJitiOuiXZOToV/+VONKgmX4TIwDclcChY?=
 =?us-ascii?Q?eimSIgAe6WQplJbyqpJNLchuJmzS0Gi6hGlONek54Md0puTtApmLt94WrHRx?=
 =?us-ascii?Q?asenluq/1fIip4Vo8PGgPeO7bcNm2yeoRR3RwX4YtzR9WG8Z5d0PSxL94sSX?=
 =?us-ascii?Q?nYr/5oTiawmbSI2aOwvJJjMkm5eH9HFG1nYONOJDYXi7JQFGxBhtG74rdASG?=
 =?us-ascii?Q?4z+6iDdLmb7/z11oGRk/Qj3OlJKwLvQtCUXrtuzA3+6UabfyyBRUZy91p5HS?=
 =?us-ascii?Q?tJVaBJK0nehasQa9enxvVdUo223R+I1UEyo56uSW0YqMbHG3bFn2IX9g1hD9?=
 =?us-ascii?Q?0t2cpZyG0hmS52/KWeMW6VD+?=
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: MWHPR21MB1593.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 36505fc4-57f0-4a11-2915-08d96ca30c91
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Aug 2021 17:16:19.3066
 (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: 3+xw4R8Ls05R1OBdw8FBnjyT990VeZRkopAnjFNL+0efE77ujKdVwcy7RpqGc1jiO5l9Iyjj48O2ZRQDQ/u0e1QsirZ64AlvSf6r6qfemFI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR21MB0767

From: Christoph Hellwig <hch@lst.de> Sent: Monday, August 30, 2021 5:01 AM
>=20
> Sorry for the delayed answer, but I look at the vmap_pfn usage in the
> previous version and tried to come up with a better version.  This
> mostly untested branch:
>=20
> http://git.infradead.org/users/hch/misc.git/shortlog/refs/heads/hyperv-vm=
ap
>=20
> get us there for swiotlb and the channel infrastructure  I've started
> looking at the network driver and didn't get anywhere due to other work.
>=20
> As far as I can tell the network driver does gigantic multi-megabyte
> vmalloc allocation for the send and receive buffers, which are then
> passed to the hardware, but always copied to/from when interacting
> with the networking stack.  Did I see that right?  Are these big
> buffers actually required unlike the normal buffer management schemes
> in other Linux network drivers?
>=20
> If so I suspect the best way to allocate them is by not using vmalloc
> but just discontiguous pages, and then use kmap_local_pfn where the
> PFN includes the share_gpa offset when actually copying from/to the
> skbs.

As a quick overview, I think there are four places where the
shared_gpa_boundary must be applied to adjust the guest physical
address that is used.  Each requires mapping a corresponding
virtual address range.  Here are the four places:

1)  The so-called "monitor pages" that are a core communication
mechanism between the guest and Hyper-V.  These are two single
pages, and the mapping is handled by calling memremap() for
each of the two pages.  See Patch 7 of Tianyu's series.

2)  The VMbus channel ring buffers.  You have proposed using
your new  vmap_phys_range() helper, but I don't think that works
here.  More details below.

3)  The network driver send and receive buffers.  vmap_phys_range()
should work here.

4) The swiotlb memory used for bounce buffers.  vmap_phys_range()
should work here as well.

Case #2 above does unusual mapping.  The ring buffer consists of a ring
buffer header page, followed by one or more pages that are the actual
ring buffer.  The pages making up the actual ring buffer are mapped
twice in succession.  For example, if the ring buffer has 4 pages
(one header page and three ring buffer pages), the contiguous
virtual mapping must cover these seven pages:  0, 1, 2, 3, 1, 2, 3.
The duplicate contiguous mapping allows the code that is reading
or writing the actual ring buffer to not be concerned about wrap-around
because writing off the end of the ring buffer is automatically
wrapped-around by the mapping.  The amount of data read or
written in one batch never exceeds the size of the ring buffer, and
after a batch is read or written, the read or write indices are adjusted
to put them back into the range of the first mapping of the actual
ring buffer pages.  So there's method to the madness, and the
technique works pretty well.  But this kind of mapping is not
amenable to using vmap_phys_range().

Michael




From xen-devel-bounces@lists.xenproject.org Tue Aug 31 17:47:59 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 17:47:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175928.320312 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL7rU-0002Ok-TA; Tue, 31 Aug 2021 17:47:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175928.320312; Tue, 31 Aug 2021 17:47:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL7rU-0002Od-QD; Tue, 31 Aug 2021 17:47:52 +0000
Received: by outflank-mailman (input) for mailman id 175928;
 Tue, 31 Aug 2021 17:47:51 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1mL7rT-0002OX-QI
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 17:47:51 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mL7rT-0003N4-GT; Tue, 31 Aug 2021 17:47:51 +0000
Received: from [54.239.6.185] (helo=a483e7b01a66.ant.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1mL7rT-0006JA-9Z; Tue, 31 Aug 2021 17:47:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	MIME-Version:Date:Message-ID:From:References:Cc:To:Subject;
	bh=zUpjQpGYvmjFqqaAEZxW8q94P148I9bTUhhObHYqBaQ=; b=tjvLnNAy3UluN5KBQB4ASYlXPt
	dWl9RKs71bW00qr0k1MeV8SJ6K6m/wHhJqgaMOe1ZBz2F2Gw9BmMgXKdhbU0EKFZ03KUZuDl4CEHE
	3JNcKbty2OmHzwW17tEBYhrqrMlTt4I1o5n0nVJlVFO2DnnY+jdn8S+CU1WUPdE9mEQA=;
Subject: Re: [XEN RFC PATCH 25/40] xen/arm: unified entry to parse all NUMA
 data from device tree
To: Stefano Stabellini <sstabellini@kernel.org>, Wei Chen <wei.chen@arm.com>
Cc: xen-devel@lists.xenproject.org, jbeulich@suse.com,
 Bertrand.Marquis@arm.com
References: <20210811102423.28908-1-wei.chen@arm.com>
 <20210811102423.28908-26-wei.chen@arm.com>
 <alpine.DEB.2.21.2108301752501.17851@sstabellini-ThinkPad-T480s>
From: Julien Grall <julien@xen.org>
Message-ID: <088e4b16-afea-8248-55f1-a081bba7f80c@xen.org>
Date: Tue, 31 Aug 2021 18:47:49 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0)
 Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <alpine.DEB.2.21.2108301752501.17851@sstabellini-ThinkPad-T480s>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 31/08/2021 01:54, Stefano Stabellini wrote:
> On Wed, 11 Aug 2021, Wei Chen wrote:
>> In this API, we scan whole device tree to parse CPU node id, memory
>> node id and distance-map. Though early_scan_node will invoke has a
>> handler to process memory nodes. If we want to parse memory node id
>> in this handler, we have to embeded NUMA parse code in this handler.
>> But we still need to scan whole device tree to find CPU NUMA id and
>> distance-map. In this case, we include memory NUMA id parse in this
>> API too. Another benefit is that we have a unique entry for device
>> tree NUMA data parse.
>>
>> Signed-off-by: Wei Chen <wei.chen@arm.com>
>> ---
>>   xen/arch/arm/numa_device_tree.c | 31 ++++++++++++++++++++++++++++---
>>   xen/include/asm-arm/numa.h      |  1 +
>>   2 files changed, 29 insertions(+), 3 deletions(-)
>>
>> diff --git a/xen/arch/arm/numa_device_tree.c b/xen/arch/arm/numa_device_tree.c
>> index 6e0d1d3d9f..27ffb72f7b 100644
>> --- a/xen/arch/arm/numa_device_tree.c
>> +++ b/xen/arch/arm/numa_device_tree.c
>> @@ -131,7 +131,8 @@ save_memblk:
>>   }
>>   
>>   /* Parse CPU NUMA node info */
>> -int __init device_tree_parse_numa_cpu_node(const void *fdt, int node)
>> +static int __init
>> +device_tree_parse_numa_cpu_node(const void *fdt, int node)
>>   {
>>       uint32_t nid;
>>   
>> @@ -147,7 +148,7 @@ int __init device_tree_parse_numa_cpu_node(const void *fdt, int node)
>>   }
>>   
>>   /* Parse memory node NUMA info */
>> -int __init
>> +static int __init
>>   device_tree_parse_numa_memory_node(const void *fdt, int node,
>>       const char *name, uint32_t addr_cells, uint32_t size_cells)
>>   {
>> @@ -202,7 +203,7 @@ device_tree_parse_numa_memory_node(const void *fdt, int node,
>>   }
>>   
>>   /* Parse NUMA distance map v1 */
>> -int __init
>> +static int __init
>>   device_tree_parse_numa_distance_map_v1(const void *fdt, int node)
>>   {
>>       const struct fdt_property *prop;
>> @@ -267,3 +268,27 @@ device_tree_parse_numa_distance_map_v1(const void *fdt, int node)
>>   
>>       return 0;
>>   }
>> +
>> +static int __init fdt_scan_numa_nodes(const void *fdt,
>> +                int node, const char *uname, int depth,
>> +                u32 address_cells, u32 size_cells, void *data)
>> +{
>> +    int ret = 0;
>> +
>> +    if ( fdt_node_check_type(fdt, node, "cpu") == 0 )
>> +        ret = device_tree_parse_numa_cpu_node(fdt, node);
>> +    else if ( fdt_node_check_type(fdt, node, "memory") == 0 )
>> +        ret = device_tree_parse_numa_memory_node(fdt, node, uname,
>> +                                address_cells, size_cells);
>> +    else if ( fdt_node_check_compatible(fdt, node,
>> +                                "numa-distance-map-v1") == 0 )
>> +        ret = device_tree_parse_numa_distance_map_v1(fdt, node);
>> +
>> +    return ret;
>> +}
> 
> Julien, do you have an opinion on whether it might be worth reusing the
> existing early_scan_node function for this to avoiding another full FDT
> scan (to avoid another call to device_tree_for_each_node)?

I don't like the full FDT scan and actually drafted an e-mail in 
reply-to [1] to suggest parse all the NUMA information from 
early_scan_node().

However, we don't know whether ACPI or DT will be used at the time 
early_scan_node() is called. So we will need to revert any change which 
can make the code a little more awkward.

So I decided to drop my e-mail because I prefer the full DT scan for 
now. We can look at optimizing later if this becomes a pain point.

Cheers,

[1] 
https://lore.kernel.org/xen-devel/DB9PR08MB6857604B3D4B690F2B8832BD9EC79@DB9PR08MB6857.eurprd08.prod.outlook.com/

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 19:41:31 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 19:41:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175938.320323 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL9dD-0006dz-7S; Tue, 31 Aug 2021 19:41:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175938.320323; Tue, 31 Aug 2021 19: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 1mL9dD-0006ds-4W; Tue, 31 Aug 2021 19:41:15 +0000
Received: by outflank-mailman (input) for mailman id 175938;
 Tue, 31 Aug 2021 19:41: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 1mL9dB-0006Ux-8F; Tue, 31 Aug 2021 19:41: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 1mL9dB-0005In-3n; Tue, 31 Aug 2021 19:41: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 1mL9dA-0001Vl-QO; Tue, 31 Aug 2021 19:41:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mL9dA-0007SK-Pr; Tue, 31 Aug 2021 19: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ZrqxB5txL//LN3pTfCs/K4PgjTYXlL9V3dA/9xFcwc8=; b=P1GvnMyA76oAOYl0M446Ril+CI
	x+WTm56MCZioxGIk3JAqaGl+E7G7so4D8WtA5BP2Kg/U/uPW13VQaRYvOk8LI8bYNKMBtt/9ZZv/W
	UsDVAwyr+fQJeP3EN1jg9oC3DigyuDnsNrB6eANUCrM4HdnPnsNToNTchjhw5JkzryRA=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164682-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 164682: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=6b4f6a31ace125d658a581e8d10809e4fccdc272
X-Osstest-Versions-That:
    xen=daaf007eb3467f900a2e20fadbc4c6f3bfcaa356
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 31 Aug 2021 19:41:12 +0000

flight 164682 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164682/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  6b4f6a31ace125d658a581e8d10809e4fccdc272
baseline version:
 xen                  daaf007eb3467f900a2e20fadbc4c6f3bfcaa356

Last test of basis   164649  2021-08-30 14:00:34 Z    1 days
Testing same since   164682  2021-08-31 16:02:54 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   daaf007eb3..6b4f6a31ac  6b4f6a31ace125d658a581e8d10809e4fccdc272 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 19:54:31 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 19:54:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175945.320338 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mL9px-0008JF-Dz; Tue, 31 Aug 2021 19:54:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175945.320338; Tue, 31 Aug 2021 19:54: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 1mL9px-0008J8-Ak; Tue, 31 Aug 2021 19:54:25 +0000
Received: by outflank-mailman (input) for mailman id 175945;
 Tue, 31 Aug 2021 19:54:24 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IVWi=NW=epam.com=prvs=9877576b21=roman_skakun@srs-us1.protection.inumbo.net>)
 id 1mL9pw-0008J2-3m
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 19:54:24 +0000
Received: from mx0a-0039f301.pphosted.com (unknown [148.163.133.242])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 3c3214cc-0a95-11ec-ad83-12813bfff9fa;
 Tue, 31 Aug 2021 19:54:22 +0000 (UTC)
Received: from pps.filterd (m0174679.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 17VIuZkP025660; 
 Tue, 31 Aug 2021 19:54:19 GMT
Received: from eur04-he1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2050.outbound.protection.outlook.com [104.47.13.50])
 by mx0a-0039f301.pphosted.com with ESMTP id 3asnvh10d1-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 31 Aug 2021 19:54:19 +0000
Received: from AM7PR03MB6593.eurprd03.prod.outlook.com (2603:10a6:20b:1b4::10)
 by AS8PR03MB7127.eurprd03.prod.outlook.com (2603:10a6:20b:29d::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.17; Tue, 31 Aug
 2021 19:54:15 +0000
Received: from AM7PR03MB6593.eurprd03.prod.outlook.com
 ([fe80::7cb2:a2bc:d477:683d]) by AM7PR03MB6593.eurprd03.prod.outlook.com
 ([fe80::7cb2:a2bc:d477:683d%9]) with mapi id 15.20.4457.024; Tue, 31 Aug 2021
 19: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: 3c3214cc-0a95-11ec-ad83-12813bfff9fa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DlJlAJBINhEkjaZ2HoesFo6PtA1LV1zcQmePsaGr3Tn+mfRx20BAfz4tDlTeb5avMPGsUQOLdpCzoDWqP+voFaR981u+/t4dXDncZ4j7vZJCxfuHyB/RUUrpXg8kF1WjNrNYGJ1Eha6e8hTMebCkHk0GMg9ibN10TzxxMZdFCORONHVuPfGi6M1wqMbRsGCklm82wmQpXjXgfs3RiWVQ/LAfOlVKBPuTiiV6q8nd6dIosF/G8uYyw0oSXrIundkpxsob6xnvcmAy8SNGxcaqUz7EgzbXnkCYNfXkH4cNSCycDfJ/VYZGfowf3Jvd5TNeiPZS7i3B49FF2C8AcePpqQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version;
 bh=nDLNefUNb4PsIQ89YPEUs7LFlJsYZuT9SUaTQZvUryY=;
 b=L5sPeqdLXDTDMvb+E3oV/AnQzPYvEl9fSPAi2Q3Dtl/4/W6gq3bG/AhftDe3kfw6GyNWBgrJ/CSnbtZldvh14naR+kAApQ16NlaJy4UQxF5NdgSXTiDpFAnI91Ko/Y/NjLOn3gtcOJ75C5bdimjZ4NdiDMUb+Mcb8Rsx3DU1cMN/rE3kPLrc2FyU3XPK/+6iNjsyaxHUnKLHXOjz0eMeso5xh6OmHYf2F2amIxX7ki5Vph1bAWfhTrIgvntnEl7NEAGslZocmlU1F65AuvTkZWLq0jcBV85IkktVDwKKgJFnNdOu53GqO/WRbzBA5QlXkty364pwJYcuWDXbSqGYmQ==
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=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nDLNefUNb4PsIQ89YPEUs7LFlJsYZuT9SUaTQZvUryY=;
 b=VvJyA0aVpXQIBfoHCO/s0UXbsr+abVyGNlh+W+/rP//QzmOxZlhPyHyXbW+EufrmLtubGPkwPomxEdPf/Stlcc7W53VRtZ8jhVcubjnlkM3Tw5/NNCcVOzmKo3g/vIH0nEBL3SV5ql1TxTHeDNYpuUgVQtsS4nXbT28PjmYTOmDux2enME7i5FCxT5L2Z13oh8SyXd/gLY2thtUIegPEXIdor5gmyljRJhzrDVx09ZsbahVo+leb6U6eRKiSOIsYZzEhk7vBGJTP/nCjo9Gy6ljN39k+bime6errhwsCIXsz6IalMJbpey4mUZF9DKTzNoOhf5RswMXDKlCk9t7X1Q==
From: Roman Skakun <Roman_Skakun@epam.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>,
        "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Andrii Anisov <Andrii_Anisov@epam.com>,
        Roman
 Skakun <rm.skakun@gmail.com>,
        Roman Skakun <Roman_Skakun@epam.com>
Subject: Disable IOMMU in Dom0
Thread-Topic: Disable IOMMU in Dom0
Thread-Index: AQHXnnd7IVjUu+L6S0mPq9naNxJ1FQ==
Date: Tue, 31 Aug 2021 19:54:15 +0000
Message-ID: 
 <AM7PR03MB65936E5D0B25567D1B2FAECA85CC9@AM7PR03MB6593.eurprd03.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
authentication-results: kernel.org; dkim=none (message not signed)
 header.d=none;kernel.org; dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 2e946b38-8d2c-4edd-c561-08d96cb91cb6
x-ms-traffictypediagnostic: AS8PR03MB7127:
x-ms-exchange-transport-forked: True
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <AS8PR03MB71272CFE1932A50CF27030A685CC9@AS8PR03MB7127.eurprd03.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:5797;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 aConv2Jd1mvZlqGg9rE58WkeSOtK3D73wOXwUvBDdP9CghiLRB4SAuyW1b0V4eVEOL4TP8/V9yBXp6PnHU8UZmcWTfx7ahOSZRPKPEgiaRmYVsBgAhupRDBW8zu2muY9HC+SGN5bKED2cdcb/Xsxj37uTudBW8pNa/ANJx1vidEkqJ/Z+Xa/ystXeN0dd+wAxqsHy8p1JPvBYaOuxROJ/OKWsrp2RD0SWWa692x4SWsuR+Na3KXK3rejDqQ/gvByE+bc8ZG2MFmxpBRkePiPa4Y5xedXGVhM5GseAgq4GfMoKTiWkPsQmreDc4IdQs8VRQo5rWv7MgjHX2/dq1scpFxVaFWtJeYS7Wqcb+dBdmY0QTuTTwqnODTUkNrnRI//ew7y/ILRwPKIPDIEhasJokIb/Z5I/AzMppLvTgbUsWfTeJ/zxkTxIdWItvNG7Od2NjVEuPXOU9jH1664lAbX91bhNyVao4+HboRu+7bFUoZhxp8VNNsPM+RBLl/gttQRorChYULPJPsVaSd/7Q9kfIi6E32yS0aTtNmyosaHMKW4akBz+ORjn8frT+ydH+/3T7QAJ2I/ajuKeZiQeVQbfr89T0aV9vhFmxasjRVYW9t+EOUqmSYA7RQO80bumvAg2UGo9dQqtIqU3SDapMTf3w/u31DL/J57lBRazgmodRp7mM7dNikLqOcA+TeTBPdP0jTBmzhOOY+PkJHOCNy0QqgLbns0ehhiulb69fFIjHTc+MIsbnxSF2+Ruap/a0LgbJE+1x3gBkVFJnYftbd4I/dt8VnF3GAELbJCcNeYbLU=
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM7PR03MB6593.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(136003)(396003)(376002)(39860400002)(346002)(366004)(9686003)(54906003)(55016002)(38100700002)(107886003)(6916009)(33656002)(86362001)(83380400001)(66476007)(316002)(8936002)(8676002)(38070700005)(2906002)(66446008)(122000001)(478600001)(6506007)(26005)(71200400001)(966005)(66946007)(186003)(76116006)(4744005)(4326008)(66556008)(64756008)(7696005)(52536014)(5660300002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?GioNeT5WIZbwMQ9nZpzfSWPhW2JEgg/yFx84A4xzKfBpDge7NomaMIUqDS?=
 =?iso-8859-1?Q?daOPgcFpA26dhJICFLT9rEjugb5j7uwnQitrZD9SltKgDVvik2neE1SqsK?=
 =?iso-8859-1?Q?jaF8hUw2rOjjGgflkyt/tkAfhdcGC/1rlKHMzOmmm7YdauDbQCtP1H1+ow?=
 =?iso-8859-1?Q?ECKu3m59AGCLja4Rw8gHyJ2nqtBX8XV9ibEliS1k/XZBlsXy+MEuABohfF?=
 =?iso-8859-1?Q?yg2BB2zmGZ2ypdD2akQA+zhERubBnnk0NhECq5Zo6H+C6BAWDfWOvkg1u/?=
 =?iso-8859-1?Q?4qcMFKiL2s4JNSwJrgiLRKZNHFmtyGdmqBlsqSqcH4ilOWVMETLXXUOgSn?=
 =?iso-8859-1?Q?fkfFSh8xRmtgF5Wi+hSToo17G6eJ+XUMTMgQSTroGrFTwSNTshi4bMkBuM?=
 =?iso-8859-1?Q?S4//sMKQJuNjaWq/y3wyomKlLpx9y6DJEKOHTcOtO5HsQTD8nZO/uIzzBu?=
 =?iso-8859-1?Q?fW369jDLiY2kgz3kKTNm/sQRvLJCI3agNJU6PVRy9H6ldIljygZpWsn9Ba?=
 =?iso-8859-1?Q?jGyL4opFHCRAXKGFtXpcY9NI1jMH4oza9csENa2nysMhiD3o36ZTWW2m4C?=
 =?iso-8859-1?Q?4mEA4GB6KBjYnqb4YAhU5BKTPr+VnpoKDLzGDC2Dhb2NncRiSpyeOerqqO?=
 =?iso-8859-1?Q?Ujzp3LAB/B/SEMu9BYLOTGZRl07ZoOarj2t8eKrXEr0wWAbhCTsphclcn9?=
 =?iso-8859-1?Q?MghLUsjgl64RS+0o0zyAe4YZqcBevO8XfEE4YV8krPIxqC+lnnjHbZlxO+?=
 =?iso-8859-1?Q?k2zap6Mt/HW63Iu/uzFZSXh+ZU/T7BBUp8IIV3oXUFobHi66z71uS7Gbql?=
 =?iso-8859-1?Q?Er/ak7H9hULWI2DXdi84LVOvygp3rQtdtXAKLu7IrY+WvjuLIm/lxFsLo1?=
 =?iso-8859-1?Q?4QSZPjy/kOpxeINUNtFWF5WSvBZ/DT65k8KAME/6M4mJtM1RaHGKkB5ySj?=
 =?iso-8859-1?Q?LbkrcpLtyxnc50Q3n8s1lnIJmO/cavP62LBI7EJ7YvCI5nQTFmVWFJnpX6?=
 =?iso-8859-1?Q?bNYN6V5MJYcmpYVASoLgCJaco7O1+HoY0AMiMSGOnBUU8xoqs8Dl2o6bvf?=
 =?iso-8859-1?Q?t2ZqsD84gWGSB+qb9F6Kjr8Dg8DrLHqURR63VT3Q+TDwpFPiOCP0Np1oRT?=
 =?iso-8859-1?Q?QAxdjuHt+GFeoVlVXsIPJCM2nziIZ1vtJxSg7+vnBomHd/VxWJ6Ys2MraG?=
 =?iso-8859-1?Q?S0i+sA8OI5+7E4z66fsjLcbD814qbFyw1MWSgPIG+J6x+q9vG0F7y9WIxH?=
 =?iso-8859-1?Q?ZI48WSgrVnJZYJkzyKoiLB3X7CfiVRc77ppK622aME8Emi+3+C2XlrI+iH?=
 =?iso-8859-1?Q?i5YZQtAosmPQaZTXV0In9e+MJ+ZscMrXZr3FgnHtB/B9FDkURmAPOeVats?=
 =?iso-8859-1?Q?ADdGZg+pD3?=
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: AM7PR03MB6593.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2e946b38-8d2c-4edd-c561-08d96cb91cb6
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Aug 2021 19:54:15.5030
 (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: MMzjwB3hzjMvjaoSHe2x2a7et8bZhiLShBoUnLYXIATTK+t6majNiqDV0SgvX69xph4HwrEb2qx74AbDPxeHyQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB7127
X-Proofpoint-GUID: KQfq1wwSwjRwdGRgYUnKmuhUHRM53wOY
X-Proofpoint-ORIG-GUID: KQfq1wwSwjRwdGRgYUnKmuhUHRM53wOY
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.182.1,Aquarius:18.0.790,Hydra:6.0.391,FMLib:17.0.607.475
 definitions=2021-08-31_09,2021-08-31_01,2020-04-07_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 suspectscore=0
 mlxlogscore=582 mlxscore=0 lowpriorityscore=0 clxscore=1015
 priorityscore=1501 impostorscore=0 adultscore=0 bulkscore=0 spamscore=0
 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2107140000 definitions=main-2108310107

Hi, Stefano!=0A=
=0A=
I have seen your negotiation of disabling xen-swiotlb for devices which are=
 controlled by IOMMU in Dom0:=0A=
https://patchwork.kernel.org/project/xen-devel/patch/alpine.DEB.2.21.210216=
1333090.3234@sstabellini-ThinkPad-T480s/=0A=
=0A=
As I was thinking to create a common implementation because I have the issu=
e=0A=
when device controlled by IOMMU using xen-swiotlb fops and bounce buffer as=
 the result.=0A=
https://lore.kernel.org/xen-devel/060b5741-922c-115c-7e8c-97d8aa5f46f4@xen.=
org/T/=0A=
=0A=
Do you have any future plans to finish implementation for upstream?=0A=
=0A=
Cheers!=


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 21:02:58 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 21:02:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175964.320348 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mLAu5-0007e7-9l; Tue, 31 Aug 2021 21:02:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175964.320348; Tue, 31 Aug 2021 21: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 1mLAu5-0007e0-6n; Tue, 31 Aug 2021 21:02:45 +0000
Received: by outflank-mailman (input) for mailman id 175964;
 Tue, 31 Aug 2021 21:02: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 1mLAu3-0007dq-TS; Tue, 31 Aug 2021 21:02: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 1mLAu3-0006jp-Lv; Tue, 31 Aug 2021 21:02: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 1mLAu3-00064j-Aw; Tue, 31 Aug 2021 21:02:43 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mLAu3-0004MK-AU; Tue, 31 Aug 2021 21:02:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Mp2y+nu99TIBth3S3Lj6xFbCzaKEYZd/C048Z3S/F8Y=; b=leAidn9mJ5nDXYBysr+sMND2iY
	IO+kJZdYyLL8nLcKS4e5BbuzV6egqdjG76TsSGfLNOwWIyH1iwJg3A+CYAHNN2ZLtMkr0yztdMuWs
	lwpj/O6QtOWgLH/YrAqLzxgzmDS+yng+mLB5QzTLgsOlTg1SLY9HsCDhPMC7IVi+B7Ow=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164644-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.13-testing test] 164644: regressions - FAIL
X-Osstest-Failures:
    xen-4.13-testing:test-amd64-amd64-dom0pvh-xl-amd:xen-boot:fail:regression
    xen-4.13-testing:test-amd64-amd64-dom0pvh-xl-intel:xen-boot:fail:regression
    xen-4.13-testing:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:heisenbug
    xen-4.13-testing:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:heisenbug
    xen-4.13-testing:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=dd29f4f4961d5c99660874c7ff090bd3c2ef6e5b
X-Osstest-Versions-That:
    xen=32d580902b959000d79d51dff03a3560653c4fcb
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 31 Aug 2021 21:02:43 +0000

flight 164644 xen-4.13-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164644/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-dom0pvh-xl-amd  8 xen-boot              fail REGR. vs. 163761
 test-amd64-amd64-dom0pvh-xl-intel  8 xen-boot            fail REGR. vs. 163761

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-rtds 20 guest-localmigrate/x10 fail in 164577 pass in 164644
 test-armhf-armhf-xl-rtds 18 guest-start/debian.repeat fail in 164577 pass in 164644
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 164577

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 163761
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 163761
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 163761
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 163761
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 163761
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 163761
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 163761
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 163761
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 163761
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 163761
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 163761
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  dd29f4f4961d5c99660874c7ff090bd3c2ef6e5b
baseline version:
 xen                  32d580902b959000d79d51dff03a3560653c4fcb

Last test of basis   163761  2021-07-17 07:57:22 Z   45 days
Failing since        164260  2021-08-19 17:07:29 Z   12 days    8 attempts
Testing same since   164496  2021-08-26 00:10:44 Z    5 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Dario Faggioli <dfaggioli@suse.com>
  Ian Jackson <iwj@xenproject.org>
  Jan Beulich <jbeulich@suse.com>
  Jane Malalane <jane.malalane@citrix.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Stefano Stabellini <sstabellini@kernel.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  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                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 631 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 21:08:56 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 21:08:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175972.320362 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mLB01-0008Nq-62; Tue, 31 Aug 2021 21:08:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175972.320362; Tue, 31 Aug 2021 21: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 1mLB01-0008Nj-3E; Tue, 31 Aug 2021 21:08:53 +0000
Received: by outflank-mailman (input) for mailman id 175972;
 Tue, 31 Aug 2021 21:08:51 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=yIyP=NW=xen.org=tim@srs-us1.protection.inumbo.net>)
 id 1mLAzz-0008Nc-Q9
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 21:08:51 +0000
Received: from deinos.phlegethon.org (unknown [2001:41d0:8:b1d7::1])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 831a9ba9-c65e-4cb9-a0df-b6f30bcc9670;
 Tue, 31 Aug 2021 21:08:50 +0000 (UTC)
Received: from tjd by deinos.phlegethon.org with local (Exim 4.94.2 (FreeBSD))
 (envelope-from <tim@xen.org>)
 id 1mLAzw-0008aq-D0; Tue, 31 Aug 2021 21:08: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: 831a9ba9-c65e-4cb9-a0df-b6f30bcc9670
Date: Tue, 31 Aug 2021 22:08:48 +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>
Subject: Re: [PATCH 4/4] x86/PV: properly set shadow allocation for Dom0
Message-ID: <YS6aYKmrNfqIOKLY@deinos.phlegethon.org>
References: <aae19abb-e88b-8bf8-6f1d-502ac6645d6b@suse.com>
 <35864b86-ae6c-f8ee-99df-cf78751d275d@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
In-Reply-To: <35864b86-ae6c-f8ee-99df-cf78751d275d@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 15:03 +0200 on 30 Aug (1630335824), Jan Beulich wrote:
> Leaving shadow setup just to the L1TF tasklet means running Dom0 on a
> minimally acceptable shadow memory pool, rather than what normally
> would be used (also, for example, for PVH). Populate the pool before
> triggering the tasklet, on a best effort basis (again like done for
> PVH).
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Tim Deegan <tim@xen.org>


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 21:36:37 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 21:36:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175978.320373 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mLBQl-0003Zj-Ek; Tue, 31 Aug 2021 21:36:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175978.320373; Tue, 31 Aug 2021 21:36: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 1mLBQl-0003Zc-Bi; Tue, 31 Aug 2021 21:36:31 +0000
Received: by outflank-mailman (input) for mailman id 175978;
 Tue, 31 Aug 2021 21:36:30 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QH02=NW=kernel.org=sstabellini@srs-us1.protection.inumbo.net>)
 id 1mLBQk-0003ZW-Qq
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 21:36:30 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 8061bb80-0aa3-11ec-ad88-12813bfff9fa;
 Tue, 31 Aug 2021 21:36:29 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id 9818461026;
 Tue, 31 Aug 2021 21:36: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: 8061bb80-0aa3-11ec-ad88-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1630445788;
	bh=wqf3xJvk0ssYCXZr0BcldRoSfnUiqOW3pEXYkgj90eI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=XfmjwgfNq8P97qK/20bCnUkALMLufybawihLgMvAFIk2Ys8EzEp0ECzg4vyL6xNS8
	 X7iXimnCFcJsSnH8EmzrjjpHZePgL7yJeQKlymRuCgudKQgCCEKZPqhHCGagrj4ap1
	 SGm0yIhpxirCvf0J17/BKhi1KnQjhhPCTD6D+DvDDhctjszuNnlhsKgZGcmmld8CkL
	 zo5HYxqOjXyY2Qu7uyK8JQ/DAQ2oaUyGZoZvw/4CQwKOQcTBoC6+oQ5WnMn0pckqCb
	 YlzGnRv4SGIQz3ZneN26aacynczExon09JgNWePqNRjrSlHLmzL2fO5ooOdWly/foS
	 HRDCI69HYiMRA==
Date: Tue, 31 Aug 2021 14:36:28 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@sstabellini-ThinkPad-T480s
To: Wei Chen <Wei.Chen@arm.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    "julien@xen.org" <julien@xen.org>, 
    Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: RE: [XEN RFC PATCH 24/40] xen/arm: introduce a helper to parse device
 tree NUMA distance map
In-Reply-To: <DB9PR08MB685715E39333597911BAB6FD9ECC9@DB9PR08MB6857.eurprd08.prod.outlook.com>
Message-ID: <alpine.DEB.2.21.2108311428040.18862@sstabellini-ThinkPad-T480s>
References: <20210811102423.28908-1-wei.chen@arm.com> <20210811102423.28908-25-wei.chen@arm.com> <alpine.DEB.2.21.2108301740500.17851@sstabellini-ThinkPad-T480s> <DB9PR08MB685715E39333597911BAB6FD9ECC9@DB9PR08MB6857.eurprd08.prod.outlook.com>
User-Agent: Alpine 2.21 (DEB 202 2017-01-01)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1515141139-1630445788=:18862"

  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-1515141139-1630445788=:18862
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Tue, 31 Aug 2021, Wei Chen wrote:
> Hi Stefano,
> 
> > -----Original Message-----
> > From: Stefano Stabellini <sstabellini@kernel.org>
> > Sent: 2021年8月31日 8:48
> > To: Wei Chen <Wei.Chen@arm.com>
> > Cc: xen-devel@lists.xenproject.org; sstabellini@kernel.org; julien@xen.org;
> > jbeulich@suse.com; Bertrand Marquis <Bertrand.Marquis@arm.com>
> > Subject: Re: [XEN RFC PATCH 24/40] xen/arm: introduce a helper to parse
> > device tree NUMA distance map
> > 
> > On Wed, 11 Aug 2021, Wei Chen wrote:
> > > A NUMA aware device tree will provide a "distance-map" node to
> > > describe distance between any two nodes. This patch introduce a
> > > new helper to parse this distance map.
> > >
> > > Signed-off-by: Wei Chen <wei.chen@arm.com>
> > > ---
> > >  xen/arch/arm/numa_device_tree.c | 67 +++++++++++++++++++++++++++++++++
> > >  1 file changed, 67 insertions(+)
> > >
> > > diff --git a/xen/arch/arm/numa_device_tree.c
> > b/xen/arch/arm/numa_device_tree.c
> > > index bbe081dcd1..6e0d1d3d9f 100644
> > > --- a/xen/arch/arm/numa_device_tree.c
> > > +++ b/xen/arch/arm/numa_device_tree.c
> > > @@ -200,3 +200,70 @@ device_tree_parse_numa_memory_node(const void *fdt,
> > int node,
> > >
> > >      return 0;
> > >  }
> > > +
> > > +/* Parse NUMA distance map v1 */
> > > +int __init
> > > +device_tree_parse_numa_distance_map_v1(const void *fdt, int node)
> > > +{
> > > +    const struct fdt_property *prop;
> > > +    const __be32 *matrix;
> > > +    int entry_count, len, i;
> > > +
> > > +    printk(XENLOG_INFO "NUMA: parsing numa-distance-map\n");
> > > +
> > > +    prop = fdt_get_property(fdt, node, "distance-matrix", &len);
> > > +    if ( !prop )
> > > +    {
> > > +        printk(XENLOG_WARNING
> > > +               "NUMA: No distance-matrix property in distance-map\n");
> > > +
> > > +        return -EINVAL;
> > > +    }
> > > +
> > > +    if ( len % sizeof(uint32_t) != 0 )
> > > +    {
> > > +        printk(XENLOG_WARNING
> > > +               "distance-matrix in node is not a multiple of u32\n");
> > > +        return -EINVAL;
> > > +    }
> > > +
> > > +    entry_count = len / sizeof(uint32_t);
> > > +    if ( entry_count <= 0 )
> > > +    {
> > > +        printk(XENLOG_WARNING "NUMA: Invalid distance-matrix\n");
> > > +
> > > +        return -EINVAL;
> > > +    }
> > > +
> > > +    matrix = (const __be32 *)prop->data;
> > > +    for ( i = 0; i + 2 < entry_count; i += 3 )
> > > +    {
> > > +        uint32_t from, to, distance;
> > > +
> > > +        from = dt_read_number(matrix, 1);
> > > +        matrix++;
> > > +        to = dt_read_number(matrix, 1);
> > > +        matrix++;
> > > +        distance = dt_read_number(matrix, 1);
> > > +        matrix++;
> > > +
> > > +        if ( (from == to && distance != NUMA_LOCAL_DISTANCE) ||
> > > +            (from != to && distance <= NUMA_LOCAL_DISTANCE) )
> > > +        {
> > > +            printk(XENLOG_WARNING
> > > +                   "Invalid nodes' distance from node#%d to node#%d
> > = %d\n",
> > > +                   from, to, distance);
> > > +            return -EINVAL;
> > > +        }
> > > +
> > > +        printk(XENLOG_INFO "NUMA: distance from node#%d to node#%d
> > = %d\n",
> > > +               from, to, distance);
> > > +        numa_set_distance(from, to, distance);
> > > +
> > > +        /* Set default distance of node B->A same as A->B */
> > > +        if (to > from)
> > > +             numa_set_distance(to, from, distance);
> > 
> > I am a bit unsure about this last 2 lines: why calling numa_set_distance
> > in the opposite direction only when to > from? Wouldn't it be OK to
> > always do both:
> > 
> > numa_set_distance(from, to, distance);
> > numa_set_distance(to, from, distance);
> > 
> > ?
> > 
> I borrowed this code from Linux, but here is my understanding:
> 
> First, I read some notes in Documentation/devicetree/bindings/numa.txt
> 1. Each entry represents distance from first node to second node.
> The distances are equal in either direction.
> 2. distance-matrix should have entries in lexicographical ascending
> order of nodes.
> 
> Here is an example of distance-map node in DTB:
> Sample#1, full list:
> 		distance-map {
> 			 compatible = "numa-distance-map-v1";
> 			 distance-matrix = <0 0  10>,
> 					   <0 1  20>,
> 					   <0 2  40>,
> 					   <0 3  20>,
> 					   <1 0  20>,
> 					   <1 1  10>,
> 					   <1 2  20>,
> 					   <1 3  40>,
> 					   <2 0  40>,
> 					   <2 1  20>,
> 					   <2 2  10>,
> 					   <2 3  20>,
> 					   <3 0  20>,
> 					   <3 1  40>,
> 					   <3 2  20>,
> 					   <3 3  10>;
> 		};
>
> Call numa_set_distance when "to > from" will prevent Xen to call
> numa_set_distance(0, 1, 20) again when it's setting distance for <1 0 20>.
> But, numa_set_distance(1, 0, 20) will be call twice.
> 
> Normally, distance-map node will be optimized in following sample#2,
> all redundant entries are removed:
> Sample#2, partial list:
> 		distance-map {
> 			 compatible = "numa-distance-map-v1";
> 			 distance-matrix = <0 0  10>,
> 					   <0 1  20>,
> 					   <0 2  40>,
> 					   <0 3  20>,
> 					   <1 1  10>,
> 					   <1 2  20>,
> 					   <1 3  40>,
> 					   <2 2  10>,
> 					   <2 3  20>,
> 					   <3 3  10>;
> 		};
> 
> There is not any "from > to" entry in the map. But using this partial map
> still can set all distances for all pairs. And numa_set_distance(1, 0, 20)
> will be only once.
 
I see. I can't find in Documentation/devicetree/bindings/numa.txt where
it says that "from > to" nodes can be omitted. If it is not written
down, then somebody could easily optimize it the opposite way:

 			 distance-matrix = <0 0  10>,
 					   <1 0  20>,
 					   <2 0  40>,
 					   <3 0  20>,
 					   <1 1  10>,
 					   <2 1  20>,
 					   <3 1  40>,
 					   <2 2  10>,
 					   <3 2  20>,
 					   <3 3  10>;

I think the code in Xen should be resilient and able to cope with a
device tree like the one you wrote or the one I wrote. From a code
perspective, it should be very easy to do. If nothing else it would make
Xen more resilient against buggy firmware.

 
> > But in any case, I have a different suggestion. The binding states that
> > "distances are equal in either direction". Also it has an example where
> > only one direction is expressed unfortunately (at the end of the
> > document).
> > 
> 
> Oh, I should see this comment first, then I will not post above
> comment : )
> 
> > So my suggestion is to parse it as follows:
> > 
> > - call numa_set_distance just once from
> >   device_tree_parse_numa_distance_map_v1
> > 
> > - in numa_set_distance:
> >     - set node_distance_map[from][to] = distance;
> >     - check node_distance_map[to][from]
> >           - if unset, node_distance_map[to][from] = distance;
> >           - if already set to the same value, return success;
> >           - if already set to a different value, return error;
> 
> I don't really like this implementation. I want the behavior of
> numa_set_distance just like the function name, do not include
> implicit operations. Otherwise, except the user read this function
> implementation before he use it, he probably doesn't know this
> function has done so many things.

You can leave numa_set_distance as-is without any implicit operations.

In that case, just call numa_set_distance twice from numa_set_distance
for both from/to and to/from. numa_set_distance could return error is
the entry was already set to a different value or success otherwise
(also in the case it was already set to the same value). This would
allow Xen to cope with both scenarios above.
--8323329-1515141139-1630445788=:18862--


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 21:50:30 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 21:50:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175984.320385 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mLBeD-0005xB-N1; Tue, 31 Aug 2021 21:50:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175984.320385; Tue, 31 Aug 2021 21:50:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mLBeD-0005x4-Je; Tue, 31 Aug 2021 21:50:25 +0000
Received: by outflank-mailman (input) for mailman id 175984;
 Tue, 31 Aug 2021 21:50:24 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QH02=NW=kernel.org=sstabellini@srs-us1.protection.inumbo.net>)
 id 1mLBeC-0005wy-Tg
 for xen-devel@lists.xenproject.org; Tue, 31 Aug 2021 21:50:24 +0000
Received: from mail.kernel.org (unknown [198.145.29.99])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 71e39252-0aa5-11ec-ad88-12813bfff9fa;
 Tue, 31 Aug 2021 21:50:24 +0000 (UTC)
Received: by mail.kernel.org (Postfix) with ESMTPSA id 4826360200;
 Tue, 31 Aug 2021 21:50: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: 71e39252-0aa5-11ec-ad88-12813bfff9fa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1630446623;
	bh=LLs5/U3xoDrfZP6xHjj4M1l0zoAdilk2UEoctdzkmkw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=DDRJeT+egUxWhkd+MEil9XwX27Ga7B1ME7bCKNFx9o0lgJwUAB7gOtVUGKbyr61lX
	 UnPpy/jF7auzNcm+iCPd3R/TmOWC7y9EiJ67EL2FXMpLgbIdHqxbpbP0CLFaWdYDZh
	 d2Ask9gqCGGStg0uoFNVZlKuzeoGyw/53WyxpbK38RRp3x9UieAjotTl5MCliBrNlQ
	 RuYU86FakFf0qf4Nrq9vNptcqJ+v3IoZP5pSQuyCE+ck+ub6SksMfDeDG6wV7J/x8h
	 HuNWfrg7ZKtbA5Ej4eLM0TWBH/jZ9RIE0d8R0kYhj0vEpss/DHp1Ht3Mutq+7advs7
	 KrW1qs706HjyA==
Date: Tue, 31 Aug 2021 14:50:22 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@sstabellini-ThinkPad-T480s
To: Roman Skakun <Roman_Skakun@epam.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Andrii Anisov <Andrii_Anisov@epam.com>, Roman Skakun <rm.skakun@gmail.com>
Subject: Re: Disable IOMMU in Dom0
In-Reply-To: <AM7PR03MB65936E5D0B25567D1B2FAECA85CC9@AM7PR03MB6593.eurprd03.prod.outlook.com>
Message-ID: <alpine.DEB.2.21.2108311444310.18862@sstabellini-ThinkPad-T480s>
References: <AM7PR03MB65936E5D0B25567D1B2FAECA85CC9@AM7PR03MB6593.eurprd03.prod.outlook.com>
User-Agent: Alpine 2.21 (DEB 202 2017-01-01)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 31 Aug 2021, Roman Skakun wrote:
> Hi, Stefano!
> 
> I have seen your negotiation of disabling xen-swiotlb for devices which are controlled by IOMMU in Dom0:
> https://patchwork.kernel.org/project/xen-devel/patch/alpine.DEB.2.21.2102161333090.3234@sstabellini-ThinkPad-T480s/
> 
> As I was thinking to create a common implementation because I have the issue
> when device controlled by IOMMU using xen-swiotlb fops and bounce buffer as the result.
> https://lore.kernel.org/xen-devel/060b5741-922c-115c-7e8c-97d8aa5f46f4@xen.org/T/
> 
> Do you have any future plans to finish implementation for upstream?

Hi Roman,

The feature is already upstream in Linux as f5079a9a2, and the new
feature flags are XENFEAT_direct_mapped and XENFEAT_not_direct_mapped.

If you have a setup where Dom0 is not 1:1 mapped (which is not currently
possible with upstream Xen but it is possible with cache coloring) and
uses the IOMMU to make device DMA work like regular DomUs, then passing
XENFEAT_not_direct_mapped to Linux would make it work. Without
XENFEAT_not_direct_mapped, Linux would try to use swiotlb-xen which has
code that relies on Linux being 1:1 mapped to work properly.

Is that the same problem that you have, or is dom0 1:1 mapped in your
case? If dom0 is 1:1 mapped then swiotlb-xen should work regardless of
whether the IOMMU is enabled or disabled.

I hope this helps.

Cheers,

Stefano


From xen-devel-bounces@lists.xenproject.org Tue Aug 31 23:33:08 2021
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 31 Aug 2021 23:33:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.175992.320396 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mLDFL-0008W7-89; Tue, 31 Aug 2021 23:32:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 175992.320396; Tue, 31 Aug 2021 23:32:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1mLDFL-0008W0-5F; Tue, 31 Aug 2021 23:32:51 +0000
Received: by outflank-mailman (input) for mailman id 175992;
 Tue, 31 Aug 2021 23:32: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 1mLDFK-0008Vq-0K; Tue, 31 Aug 2021 23:32: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 1mLDFJ-0000nS-3y; Tue, 31 Aug 2021 23:32: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 1mLDFI-0006fM-QJ; Tue, 31 Aug 2021 23:32:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1mLDFI-0006V3-Po; Tue, 31 Aug 2021 23:32:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=rwkiF0wl7NBGZE+FPUZ3kqHqIAusSplzQDQbrZIXozE=; b=uy2lPQ4L/3aUdEoLZvY6biSoq+
	7MtJ+4vEP3eD0/Xvgcr7rd9tNswoCoUOWSJdTkEhX2ggpmCzv1ajdoJB+/tB3Z1f05hEt5f7wSVz1
	lZigwDHBVP+VpLpch0GI7hdOODDJsm3uK8n4nWCuKF/eUtCGJiLv1UAbf1zl2GTga6Oc=;
To: xen-devel@lists.xenproject.org,
    osstest-admin@xenproject.org
Message-ID: <osstest-164684-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 164684: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=96607a8e680e7f965ca868d11f8b0636317d2618
X-Osstest-Versions-That:
    xen=6b4f6a31ace125d658a581e8d10809e4fccdc272
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 31 Aug 2021 23:32:48 +0000

flight 164684 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/164684/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  96607a8e680e7f965ca868d11f8b0636317d2618
baseline version:
 xen                  6b4f6a31ace125d658a581e8d10809e4fccdc272

Last test of basis   164682  2021-08-31 16:02:54 Z    0 days
Testing same since   164684  2021-08-31 20:01:34 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Fabrice Fontaine <fontaine.fabrice@gmail.com>
  Ian Jackson <iwj@xenproject.org>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   6b4f6a31ac..96607a8e68  96607a8e680e7f965ca868d11f8b0636317d2618 -> smoke


